summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuc Verhaegen <libv@skynet.be>2010-03-08 07:39:43 +0100
committerLuc Verhaegen <libv@skynet.be>2010-03-08 07:39:43 +0100
commitc670a69782e6391910331c32cfe33059bb7f4d83 (patch)
treea04baa81b4032b7494fb4cd42cd53d6b149505f9
parentf0e99179bcf95f39ce7c4d2c2270e8a4357eaf19 (diff)
Import debian's mesa-7.7-4 release.debian-7.7-4
-rw-r--r--ChangeLog202653
-rw-r--r--debian/README.source39
-rw-r--r--debian/changelog1538
-rw-r--r--debian/compat1
-rw-r--r--debian/control355
-rw-r--r--debian/copyright193
-rw-r--r--debian/glxdemo.115
-rw-r--r--debian/glxgears.129
-rw-r--r--debian/glxheads.130
-rw-r--r--debian/glxinfo.141
-rw-r--r--debian/libgl1-mesa-dev.install2
-rw-r--r--debian/libgl1-mesa-dri-i686.install1
-rw-r--r--debian/libgl1-mesa-dri.install1
-rw-r--r--debian/libgl1-mesa-glx-i686.install1
-rw-r--r--debian/libgl1-mesa-glx.install1
-rw-r--r--debian/libgl1-mesa-glx.lintian-overrides1
-rw-r--r--debian/libgl1-mesa-glx.shlibs1
-rw-r--r--debian/libgl1-mesa-swx11-dev.install2
-rw-r--r--debian/libgl1-mesa-swx11-i686.install1
-rw-r--r--debian/libgl1-mesa-swx11-i686.shlibs1
-rw-r--r--debian/libgl1-mesa-swx11.install1
-rw-r--r--debian/libgl1-mesa-swx11.lintian-overrides1
-rw-r--r--debian/libgl1-mesa-swx11.shlibs1
-rw-r--r--debian/libglu1-mesa-dev.install5
-rw-r--r--debian/libglu1-mesa.install1
-rw-r--r--debian/libglu1-mesa.lintian-overrides1
-rw-r--r--debian/libglu1-mesa.shlibs1
-rw-r--r--debian/libglw1-mesa-dev.install4
-rw-r--r--debian/libglw1-mesa.install1
-rw-r--r--debian/libglw1-mesa.lintian-overrides1
-rw-r--r--debian/libglw1-mesa.shlibs1
-rw-r--r--debian/libosmesa6-dev.install8
-rw-r--r--debian/libosmesa6.install3
-rw-r--r--debian/libosmesa6.shlibs3
-rw-r--r--debian/mesa-common-dev.docs8
-rw-r--r--debian/mesa-common-dev.install8
-rw-r--r--debian/mesa-utils.install4
-rw-r--r--debian/mesa-utils.manpages4
-rw-r--r--debian/patches/02_use-ieee-fp-on-s390-and-m68k.patch19
-rw-r--r--debian/patches/03_optional-progs-and-install.patch55
-rw-r--r--debian/patches/04_osmesa_version.diff13
-rw-r--r--debian/patches/05_hurd-ftbfs.diff58
-rw-r--r--debian/patches/06_kfreebsd-ftbfs.diff23
-rw-r--r--debian/patches/series5
-rwxr-xr-xdebian/rules247
-rw-r--r--debian/scripts/choose-configs58
-rw-r--r--debian/watch6
-rw-r--r--docs/OLD/MESA_packed_depth_stencil.spec230
-rw-r--r--docs/OLD/MESA_program_debug.spec356
-rw-r--r--docs/OLD/MESA_sprite_point.spec190
-rw-r--r--docs/OLD/MESA_trace.spec359
-rw-r--r--docs/gears.pngbin1608 -> 0 bytes
-rw-r--r--doxygen/.gitignore21
-rw-r--r--doxygen/Makefile33
-rw-r--r--doxygen/README10
-rw-r--r--doxygen/common.doxy1153
-rw-r--r--doxygen/core_subset.doxy226
-rw-r--r--doxygen/doxy.bat19
-rw-r--r--doxygen/gallium.doc322
-rw-r--r--doxygen/gallium.doxy1303
-rw-r--r--doxygen/glapi.doxy49
-rw-r--r--doxygen/header.html17
-rw-r--r--doxygen/header_subset.html11
-rw-r--r--doxygen/main.doxy50
-rw-r--r--doxygen/math.doxy49
-rw-r--r--doxygen/math_subset.doxy177
-rw-r--r--doxygen/miniglx.doxy179
-rw-r--r--doxygen/radeon_subset.doxy203
-rw-r--r--doxygen/shader.doxy49
-rw-r--r--doxygen/swrast.doxy48
-rw-r--r--doxygen/swrast_setup.doxy49
-rw-r--r--doxygen/tnl.doxy50
-rw-r--r--doxygen/tnl_dd.doxy49
-rw-r--r--doxygen/vbo.doxy50
-rw-r--r--include/GL/glut.h668
-rw-r--r--include/GL/glut_h.dja340
-rw-r--r--include/GL/glutf90.h81
-rw-r--r--include/VG/openvg.h686
-rw-r--r--include/VG/vgext.h233
-rw-r--r--include/VG/vgplatform.h106
-rw-r--r--include/VG/vgu.h130
-rw-r--r--progs/demos/Windows/all.dsp101
-rw-r--r--progs/demos/Windows/bounce.dsp112
-rw-r--r--progs/demos/Windows/clearspd.dsp112
-rw-r--r--progs/demos/Windows/cubemap.dsp112
-rw-r--r--progs/demos/Windows/demos.dsw782
-rw-r--r--progs/demos/Windows/drawpix.dsp112
-rw-r--r--progs/demos/Windows/fire.dsp112
-rw-r--r--progs/demos/Windows/gears.dsp112
-rw-r--r--progs/demos/Windows/geartrain.dsp112
-rw-r--r--progs/demos/Windows/glinfo.dsp112
-rw-r--r--progs/demos/Windows/gloss.dsp112
-rw-r--r--progs/demos/Windows/gltestperf.dsp112
-rw-r--r--progs/demos/Windows/glutfx.dsp112
-rw-r--r--progs/demos/Windows/ipers.dsp112
-rw-r--r--progs/demos/Windows/isosurf.dsp112
-rw-r--r--progs/demos/Windows/loadbias.dsp112
-rw-r--r--progs/demos/Windows/morph3d.dsp112
-rw-r--r--progs/demos/Windows/multiarb.dsp112
-rw-r--r--progs/demos/Windows/occlude.dsp112
-rw-r--r--progs/demos/Windows/osdemo.dsp112
-rw-r--r--progs/demos/Windows/paltex.dsp112
-rw-r--r--progs/demos/Windows/pixeltex.dsp112
-rw-r--r--progs/demos/Windows/pointblast.dsp112
-rw-r--r--progs/demos/Windows/rain.dsp112
-rw-r--r--progs/demos/Windows/ray.dsp112
-rw-r--r--progs/demos/Windows/readpix.dsp112
-rw-r--r--progs/demos/Windows/reflect.dsp112
-rw-r--r--progs/demos/Windows/renormal.dsp112
-rw-r--r--progs/demos/Windows/shadowtex.dsp112
-rw-r--r--progs/demos/Windows/spectex.dsp112
-rw-r--r--progs/demos/Windows/spriteblast.dsp112
-rw-r--r--progs/demos/Windows/stex3d.dsp112
-rw-r--r--progs/demos/Windows/teapot.dsp112
-rw-r--r--progs/demos/Windows/terrain.dsp112
-rw-r--r--progs/demos/Windows/tessdemo.dsp112
-rw-r--r--progs/demos/Windows/texcyl.dsp112
-rw-r--r--progs/demos/Windows/texdown.dsp112
-rw-r--r--progs/demos/Windows/texenv.dsp112
-rw-r--r--progs/demos/Windows/texobj.dsp112
-rw-r--r--progs/demos/Windows/trispd.dsp112
-rw-r--r--progs/demos/Windows/tunnel.dsp112
-rw-r--r--progs/demos/Windows/tunnel2.dsp112
-rw-r--r--progs/demos/Windows/winpos.dsp112
-rw-r--r--progs/directfb/Makefile38
-rw-r--r--progs/directfb/df_gears.c480
-rw-r--r--progs/directfb/df_morph3d.c1013
-rw-r--r--progs/directfb/df_reflect.c489
-rw-r--r--progs/directfb/multi_window.c240
-rw-r--r--progs/egl/.gitignore12
-rw-r--r--progs/egl/Makefile74
-rw-r--r--progs/egl/demo1.c146
-rw-r--r--progs/egl/demo2.c212
-rw-r--r--progs/egl/demo3.c642
-rw-r--r--progs/egl/eglgears.c481
-rw-r--r--progs/egl/eglinfo.c173
-rw-r--r--progs/egl/eglscreen.c120
-rw-r--r--progs/egl/egltri.c263
-rw-r--r--progs/egl/peglgears.c451
-rw-r--r--progs/egl/xegl_tri.c359
-rw-r--r--progs/egl/xeglbindtex.c474
-rw-r--r--progs/egl/xeglgears.c787
-rw-r--r--progs/egl/xeglthreads.c773
-rw-r--r--progs/fp/.gitignore43
-rwxr-xr-xprogs/fp/Makefile98
-rw-r--r--progs/fp/SConscript29
-rw-r--r--progs/fp/abs.txt5
-rw-r--r--progs/fp/add-sat.txt6
-rw-r--r--progs/fp/add-swz.txt5
-rw-r--r--progs/fp/add.txt5
-rw-r--r--progs/fp/cmp.txt5
-rw-r--r--progs/fp/cos.txt8
-rw-r--r--progs/fp/dp3.txt4
-rw-r--r--progs/fp/dp4.txt4
-rw-r--r--progs/fp/dph.txt4
-rw-r--r--progs/fp/dst.txt3
-rw-r--r--progs/fp/ex2.txt5
-rw-r--r--progs/fp/flr.txt5
-rw-r--r--progs/fp/fp-tri.c256
-rw-r--r--progs/fp/frc.txt5
-rw-r--r--progs/fp/kil-pos.txt9
-rw-r--r--progs/fp/kil-texcoord-sgt.txt8
-rw-r--r--progs/fp/kil.txt6
-rw-r--r--progs/fp/lg2.txt5
-rw-r--r--progs/fp/lit.txt5
-rw-r--r--progs/fp/local.txt11
-rw-r--r--progs/fp/lrp.txt4
-rw-r--r--progs/fp/mad.txt4
-rw-r--r--progs/fp/max.txt3
-rw-r--r--progs/fp/min.txt3
-rw-r--r--progs/fp/mov-alias.txt6
-rw-r--r--progs/fp/mov.txt3
-rw-r--r--progs/fp/mul-alias.txt6
-rw-r--r--progs/fp/mul-swz.txt3
-rw-r--r--progs/fp/mul.txt3
-rw-r--r--progs/fp/negate.txt6
-rw-r--r--progs/fp/point-position.c120
-rw-r--r--progs/fp/position.txt4
-rw-r--r--progs/fp/pow.txt4
-rw-r--r--progs/fp/rcp.txt5
-rw-r--r--progs/fp/rsq.txt5
-rwxr-xr-xprogs/fp/run.sh7
-rw-r--r--progs/fp/scs.txt5
-rw-r--r--progs/fp/sge.txt3
-rw-r--r--progs/fp/sge2.txt8
-rw-r--r--progs/fp/sin.txt8
-rw-r--r--progs/fp/slt.txt3
-rw-r--r--progs/fp/sub.txt3
-rw-r--r--progs/fp/swz.txt3
-rw-r--r--progs/fp/swz2.txt4
-rw-r--r--progs/fp/swz3.txt5
-rw-r--r--progs/fp/tex-pos-kil-1.txt7
-rw-r--r--progs/fp/tex-pos-kil.txt8
-rw-r--r--progs/fp/tex-pos.txt6
-rw-r--r--progs/fp/tex.txt3
-rw-r--r--progs/fp/tri-depth.c110
-rw-r--r--progs/fp/tri-depth2.c117
-rw-r--r--progs/fp/tri-depthwrite.c109
-rw-r--r--progs/fp/tri-depthwrite2.c109
-rw-r--r--progs/fp/tri-param.c116
-rw-r--r--progs/fp/tri-tex.c132
-rw-r--r--progs/fp/xpd.txt3
-rw-r--r--progs/glsl/SConscript55
-rw-r--r--progs/miniglx/Makefile61
-rw-r--r--progs/miniglx/glfbdevtest.c477
-rw-r--r--progs/miniglx/manytex.c381
-rw-r--r--progs/miniglx/miniglxsample.c128
-rw-r--r--progs/miniglx/miniglxtest.c272
-rw-r--r--progs/miniglx/sample_server.c111
-rw-r--r--progs/miniglx/sample_server2.c228
-rw-r--r--progs/miniglx/texline.c267
-rw-r--r--progs/openvg/demos/Makefile39
-rw-r--r--progs/openvg/demos/eglcommon.c288
-rw-r--r--progs/openvg/demos/eglcommon.h20
-rw-r--r--progs/openvg/demos/lion-render.c1573
-rw-r--r--progs/openvg/demos/lion-render.h16
-rw-r--r--progs/openvg/demos/lion.c288
-rw-r--r--progs/openvg/demos/sp.c537
-rw-r--r--progs/openvg/trivial/Makefile127
-rw-r--r--progs/openvg/trivial/arc.c139
-rw-r--r--progs/openvg/trivial/cap.c75
-rw-r--r--progs/openvg/trivial/clear.c42
-rw-r--r--progs/openvg/trivial/coord.c66
-rw-r--r--progs/openvg/trivial/dash.c95
-rw-r--r--progs/openvg/trivial/eglcommon.c288
-rw-r--r--progs/openvg/trivial/eglcommon.h20
-rw-r--r--progs/openvg/trivial/ellipse.c84
-rw-r--r--progs/openvg/trivial/filter.c107
-rw-r--r--progs/openvg/trivial/gradorigin.c98
-rw-r--r--progs/openvg/trivial/lineto.c56
-rw-r--r--progs/openvg/trivial/lingrad.c87
-rw-r--r--progs/openvg/trivial/lookup.c71
-rw-r--r--progs/openvg/trivial/mask.c58
-rw-r--r--progs/openvg/trivial/mask4.c132
-rw-r--r--progs/openvg/trivial/path3.c77
-rw-r--r--progs/openvg/trivial/radialgrad.c99
-rw-r--r--progs/openvg/trivial/readpixels.c75
-rw-r--r--progs/openvg/trivial/roundedrect.c67
-rw-r--r--progs/openvg/trivial/star-nonzero.c55
-rw-r--r--progs/openvg/trivial/star-oddeven.c102
-rw-r--r--progs/openvg/trivial/stroke.c116
-rw-r--r--progs/openvg/trivial/stroke2.c207
-rw-r--r--progs/openvg/trivial/vguarc.c74
-rw-r--r--progs/perf/.gitignore10
-rw-r--r--progs/perf/Makefile55
-rw-r--r--progs/perf/SConscript32
-rw-r--r--progs/perf/common.c137
-rw-r--r--progs/perf/common.h44
-rw-r--r--progs/perf/copytex.c214
-rw-r--r--progs/perf/drawoverhead.c137
-rw-r--r--progs/perf/fbobind.c153
-rw-r--r--progs/perf/fill.c248
-rw-r--r--progs/perf/genmipmap.c142
-rw-r--r--progs/perf/glmain.c268
-rw-r--r--progs/perf/glmain.h68
-rw-r--r--progs/perf/readpixels.c169
-rw-r--r--progs/perf/swapbuffers.c161
-rw-r--r--progs/perf/teximage.c331
-rw-r--r--progs/perf/vbo.c246
-rw-r--r--progs/perf/vertexrate.c276
-rw-r--r--progs/rbug/.gitignore12
-rw-r--r--progs/rbug/Makefile48
-rw-r--r--progs/rbug/README39
-rw-r--r--progs/rbug/bin_to_bmp.c110
-rw-r--r--progs/rbug/ctx_info.c80
-rw-r--r--progs/rbug/ctx_rule.c86
-rw-r--r--progs/rbug/shdr_disable.c82
-rw-r--r--progs/rbug/shdr_dump.c115
-rw-r--r--progs/rbug/shdr_info.c98
-rw-r--r--progs/rbug/simple_client.c64
-rw-r--r--progs/rbug/simple_server.c62
-rw-r--r--progs/rbug/tex_dump.c127
-rw-r--r--progs/rbug/tex_info.c78
-rw-r--r--progs/redbook/.gitignore64
-rw-r--r--progs/redbook/Windows/redbook.dsw29
-rw-r--r--progs/redbook/Windows/teapots.dsp112
-rw-r--r--progs/slang/.gitignore3
-rw-r--r--progs/slang/Makefile57
-rw-r--r--progs/slang/README7
-rw-r--r--progs/slang/cltest.c253
-rw-r--r--progs/slang/cltest.txt1615
-rw-r--r--progs/slang/framework.c145
-rw-r--r--progs/slang/framework.h82
-rw-r--r--progs/slang/sotest.c439
-rw-r--r--progs/slang/vstest.c346
-rw-r--r--progs/slang/vstest.txt68
-rw-r--r--progs/slang/windows/vc60/cltest.dsp94
-rw-r--r--progs/slang/windows/vc60/framework.dsp92
-rw-r--r--progs/slang/windows/vc60/slang.dsw74
-rw-r--r--progs/slang/windows/vc60/sotest.dsp90
-rw-r--r--progs/slang/windows/vc60/vstest.dsp93
-rw-r--r--progs/tests/.gitignore106
-rw-r--r--progs/tests/Makefile257
-rw-r--r--progs/tests/Makefile.win43
-rw-r--r--progs/tests/SConscript144
-rw-r--r--progs/tests/afsmultiarb.c470
-rw-r--r--progs/tests/antialias.c238
-rw-r--r--progs/tests/api_speed.c145
-rwxr-xr-xprogs/tests/api_speed.py143
-rw-r--r--progs/tests/arbfpspec.c193
-rw-r--r--progs/tests/arbfptest1.c211
-rw-r--r--progs/tests/arbfptexture.c154
-rw-r--r--progs/tests/arbfptrig.c157
-rw-r--r--progs/tests/arbgpuprog.c234
-rw-r--r--progs/tests/arbnpot-mipmap.c186
-rw-r--r--progs/tests/arbnpot.c199
-rw-r--r--progs/tests/arbvptest1.c165
-rw-r--r--progs/tests/arbvptest3.c128
-rw-r--r--progs/tests/arbvptorus.c187
-rw-r--r--progs/tests/arbvpwarpmesh.c247
-rw-r--r--progs/tests/arraytexture.c330
-rw-r--r--progs/tests/auxbuffer.c499
-rw-r--r--progs/tests/blendminmax.c211
-rw-r--r--progs/tests/blendsquare.c180
-rw-r--r--progs/tests/blendxor.c197
-rw-r--r--progs/tests/blitfb.c259
-rw-r--r--progs/tests/bufferobj.c511
-rw-r--r--progs/tests/bug_3050.c164
-rw-r--r--progs/tests/bug_3101.c130
-rw-r--r--progs/tests/bug_3195.c277
-rw-r--r--progs/tests/bug_texstore_i8.c196
-rw-r--r--progs/tests/bumpmap.c208
-rw-r--r--progs/tests/calibrate_rast.c397
-rw-r--r--progs/tests/copypixrate.c275
-rw-r--r--progs/tests/crossbar.c237
-rw-r--r--progs/tests/cva.c161
-rw-r--r--progs/tests/debugger.c735
-rw-r--r--progs/tests/drawbuffers.c311
-rw-r--r--progs/tests/exactrast.c202
-rw-r--r--progs/tests/ext422square.c259
-rw-r--r--progs/tests/fbotest1.c212
-rw-r--r--progs/tests/fbotest2.c203
-rw-r--r--progs/tests/fillrate.c204
-rw-r--r--progs/tests/floattex.c238
-rw-r--r--progs/tests/fog.c200
-rw-r--r--progs/tests/fogcoord.c103
-rw-r--r--progs/tests/fptest1.c228
-rw-r--r--progs/tests/fptexture.c152
-rw-r--r--progs/tests/getprocaddress.c3734
-rw-r--r--progs/tests/getprocaddress.py92
-rw-r--r--progs/tests/getteximage.c273
-rw-r--r--progs/tests/glutfx.c189
-rw-r--r--progs/tests/interleave.c408
-rw-r--r--progs/tests/invert.c197
-rw-r--r--progs/tests/jkrahntest.c180
-rw-r--r--progs/tests/lineclip.c177
-rw-r--r--progs/tests/manytex.c395
-rw-r--r--progs/tests/mapbufrange.c205
-rw-r--r--progs/tests/mapvbo.c139
-rw-r--r--progs/tests/minmag.c199
-rw-r--r--progs/tests/mipgen.c207
-rw-r--r--progs/tests/mipmap_comp.c301
-rw-r--r--progs/tests/mipmap_comp_tests.c318
-rw-r--r--progs/tests/mipmap_limits.c352
-rw-r--r--progs/tests/mipmap_view.c435
-rw-r--r--progs/tests/multipal.c374
-rw-r--r--progs/tests/multitexarray.c240
-rw-r--r--progs/tests/multiwindow.c170
-rw-r--r--progs/tests/no_s3tc.c99
-rw-r--r--progs/tests/occlude.c234
-rw-r--r--progs/tests/packedpixels.c377
-rw-r--r--progs/tests/pbo.c297
-rw-r--r--progs/tests/persp_hint.c149
-rw-r--r--progs/tests/prim.c559
-rw-r--r--progs/tests/prog_parameter.c292
-rw-r--r--progs/tests/quads.c262
-rw-r--r--progs/tests/random.c458
-rw-r--r--progs/tests/readrate.c286
-rw-r--r--progs/tests/rubberband.c246
-rw-r--r--progs/tests/scissor-viewport.c138
-rw-r--r--progs/tests/scissor.c168
-rw-r--r--progs/tests/seccolor.c146
-rw-r--r--progs/tests/shader_api.c350
-rw-r--r--progs/tests/sharedtex.c439
-rw-r--r--progs/tests/stencil_twoside.c299
-rw-r--r--progs/tests/stencil_wrap.c259
-rw-r--r--progs/tests/stencilwrap.c283
-rw-r--r--progs/tests/streaming_rect.c327
-rw-r--r--progs/tests/subtex.c225
-rw-r--r--progs/tests/subtexrate.c351
-rw-r--r--progs/tests/tex1d.c143
-rw-r--r--progs/tests/texcmp.c438
-rw-r--r--progs/tests/texcomp_image.h4100
-rw-r--r--progs/tests/texcompress2.c292
-rw-r--r--progs/tests/texcompsub.c183
-rw-r--r--progs/tests/texdown.c478
-rw-r--r--progs/tests/texfilt.c400
-rw-r--r--progs/tests/texgenmix.c642
-rw-r--r--progs/tests/texline.c280
-rw-r--r--progs/tests/texobj.c284
-rw-r--r--progs/tests/texobjshare.c219
-rw-r--r--progs/tests/texrect.c360
-rw-r--r--progs/tests/texwrap.c322
-rw-r--r--progs/tests/tkmap.c71
-rw-r--r--progs/tests/unfilledclip.c209
-rw-r--r--progs/tests/vao-01.c179
-rw-r--r--progs/tests/vao-02.c207
-rw-r--r--progs/tests/vparray.c297
-rw-r--r--progs/tests/vpeval.c232
-rw-r--r--progs/tests/vptest1.c171
-rw-r--r--progs/tests/vptest2.c152
-rw-r--r--progs/tests/vptest3.c121
-rw-r--r--progs/tests/vptorus.c175
-rw-r--r--progs/tests/vpwarpmesh.c237
-rw-r--r--progs/tests/yuvrect.c194
-rw-r--r--progs/tests/yuvsquare.c233
-rw-r--r--progs/tests/zcomp.c224
-rw-r--r--progs/tests/zdrawpix.c193
-rw-r--r--progs/tests/zreaddraw.c179
-rw-r--r--progs/tools/trace/.gitignore1
-rw-r--r--progs/tools/trace/Makefile30
-rw-r--r--progs/tools/trace/README23
-rwxr-xr-xprogs/tools/trace/gltrace82
-rw-r--r--progs/tools/trace/gltrace.py189
-rw-r--r--progs/tools/trace/gltrace_support.cc193
-rw-r--r--progs/tools/trace/gltrace_support.h65
-rw-r--r--progs/trivial/.gitignore162
-rw-r--r--progs/trivial/Makefile245
-rw-r--r--progs/trivial/SConscript177
-rw-r--r--progs/trivial/clear-fbo-tex.c223
-rw-r--r--progs/trivial/clear-fbo.c208
-rw-r--r--progs/trivial/clear-random.c133
-rw-r--r--progs/trivial/clear-repeat.c130
-rw-r--r--progs/trivial/clear-scissor.c119
-rw-r--r--progs/trivial/clear-undefined.c138
-rw-r--r--progs/trivial/clear.c128
-rw-r--r--progs/trivial/createwin.c121
-rw-r--r--progs/trivial/dlist-begin-call-end.c159
-rw-r--r--progs/trivial/dlist-dangling.c150
-rw-r--r--progs/trivial/dlist-degenerate.c153
-rw-r--r--progs/trivial/dlist-edgeflag-dangling.c155
-rw-r--r--progs/trivial/dlist-edgeflag.c159
-rw-r--r--progs/trivial/dlist-flat-tri.c171
-rw-r--r--progs/trivial/dlist-mat-tri.c182
-rw-r--r--progs/trivial/dlist-recursive-call.c190
-rw-r--r--progs/trivial/dlist-tri-flat-tri.c171
-rw-r--r--progs/trivial/dlist-tri-mat-tri.c174
-rw-r--r--progs/trivial/draw2arrays.c117
-rw-r--r--progs/trivial/drawarrays.c128
-rw-r--r--progs/trivial/drawelements.c121
-rw-r--r--progs/trivial/drawrange.c119
-rw-r--r--progs/trivial/flat-clip.c151
-rw-r--r--progs/trivial/fs-tri.c209
-rw-r--r--progs/trivial/line-clip.c141
-rw-r--r--progs/trivial/line-cull.c137
-rw-r--r--progs/trivial/line-flat.c147
-rw-r--r--progs/trivial/line-smooth.c174
-rw-r--r--progs/trivial/line-stipple-wide.c149
-rw-r--r--progs/trivial/line-userclip-clip.c143
-rw-r--r--progs/trivial/line-userclip-nop-clip.c143
-rw-r--r--progs/trivial/line-userclip-nop.c143
-rw-r--r--progs/trivial/line-userclip.c143
-rw-r--r--progs/trivial/line-wide.c148
-rw-r--r--progs/trivial/line.c146
-rw-r--r--progs/trivial/lineloop-clip.c137
-rw-r--r--progs/trivial/lineloop-elts.c121
-rw-r--r--progs/trivial/lineloop.c137
-rw-r--r--progs/trivial/linestrip-clip.c142
-rw-r--r--progs/trivial/linestrip-flat-stipple.c143
-rw-r--r--progs/trivial/linestrip-stipple-wide.c143
-rw-r--r--progs/trivial/linestrip-stipple.c142
-rw-r--r--progs/trivial/linestrip.c139
-rw-r--r--progs/trivial/long-fixed-func.c153
-rw-r--r--progs/trivial/pgon-mode.c136
-rw-r--r--progs/trivial/point-clip.c139
-rw-r--r--progs/trivial/point-param.c159
-rw-r--r--progs/trivial/point-sprite.c175
-rw-r--r--progs/trivial/point-wide-smooth.c146
-rw-r--r--progs/trivial/point-wide.c143
-rw-r--r--progs/trivial/point.c139
-rw-r--r--progs/trivial/poly-flat-clip.c141
-rw-r--r--progs/trivial/poly-flat-unfilled-clip.c145
-rw-r--r--progs/trivial/poly-flat.c141
-rw-r--r--progs/trivial/poly-unfilled.c140
-rw-r--r--progs/trivial/poly.c139
-rw-r--r--progs/trivial/quad-clip-all-vertices.c139
-rw-r--r--progs/trivial/quad-clip-nearplane.c152
-rw-r--r--progs/trivial/quad-clip.c139
-rw-r--r--progs/trivial/quad-degenerate.c144
-rw-r--r--progs/trivial/quad-flat.c149
-rw-r--r--progs/trivial/quad-offset-factor.c157
-rw-r--r--progs/trivial/quad-offset-unfilled.c170
-rw-r--r--progs/trivial/quad-offset-units.c158
-rw-r--r--progs/trivial/quad-tex-2d.c189
-rw-r--r--progs/trivial/quad-tex-3d.c181
-rw-r--r--progs/trivial/quad-tex-alpha.c171
-rw-r--r--progs/trivial/quad-tex-pbo.c184
-rw-r--r--progs/trivial/quad-tex-sub.c204
-rw-r--r--progs/trivial/quad-unfilled-clip.c140
-rw-r--r--progs/trivial/quad-unfilled-stipple.c143
-rw-r--r--progs/trivial/quad-unfilled.c140
-rw-r--r--progs/trivial/quad.c139
-rw-r--r--progs/trivial/quads.c157
-rw-r--r--progs/trivial/quadstrip-clip.c138
-rw-r--r--progs/trivial/quadstrip-cont.c163
-rw-r--r--progs/trivial/quadstrip-flat.c151
-rw-r--r--progs/trivial/quadstrip.c145
-rw-r--r--progs/trivial/readpixels.c104
-rw-r--r--progs/trivial/tri-alpha-tex.c180
-rw-r--r--progs/trivial/tri-alpha.c142
-rw-r--r--progs/trivial/tri-array-interleaved.c120
-rw-r--r--progs/trivial/tri-blend-color.c145
-rw-r--r--progs/trivial/tri-blend-max.c147
-rw-r--r--progs/trivial/tri-blend-min.c147
-rw-r--r--progs/trivial/tri-blend-revsub.c147
-rw-r--r--progs/trivial/tri-blend-sub.c147
-rw-r--r--progs/trivial/tri-blend.c144
-rw-r--r--progs/trivial/tri-clear.c144
-rw-r--r--progs/trivial/tri-clip.c159
-rw-r--r--progs/trivial/tri-cull-both.c142
-rw-r--r--progs/trivial/tri-cull.c173
-rw-r--r--progs/trivial/tri-dlist.c151
-rw-r--r--progs/trivial/tri-edgeflag.c138
-rw-r--r--progs/trivial/tri-fbo-tex-mip.c259
-rw-r--r--progs/trivial/tri-fbo-tex.c255
-rw-r--r--progs/trivial/tri-fbo.c203
-rw-r--r--progs/trivial/tri-flat-clip.c138
-rw-r--r--progs/trivial/tri-flat.c138
-rw-r--r--progs/trivial/tri-fog.c162
-rw-r--r--progs/trivial/tri-fp-const-imm.c172
-rw-r--r--progs/trivial/tri-fp.c170
-rw-r--r--progs/trivial/tri-lit-material.c149
-rw-r--r--progs/trivial/tri-lit.c140
-rw-r--r--progs/trivial/tri-logicop-none.c179
-rw-r--r--progs/trivial/tri-logicop-xor.c187
-rw-r--r--progs/trivial/tri-mask-tri.c154
-rw-r--r--progs/trivial/tri-multitex-vbo.c261
-rw-r--r--progs/trivial/tri-orig.c137
-rw-r--r--progs/trivial/tri-query.c166
-rw-r--r--progs/trivial/tri-repeat.c119
-rw-r--r--progs/trivial/tri-scissor-tri.c152
-rw-r--r--progs/trivial/tri-square.c137
-rw-r--r--progs/trivial/tri-stencil.c158
-rw-r--r--progs/trivial/tri-stipple.c152
-rw-r--r--progs/trivial/tri-tex-3d.c174
-rw-r--r--progs/trivial/tri-tex.c169
-rw-r--r--progs/trivial/tri-tri.c146
-rw-r--r--progs/trivial/tri-unfilled-clip.c138
-rw-r--r--progs/trivial/tri-unfilled-edgeflag.c142
-rw-r--r--progs/trivial/tri-unfilled-fog.c153
-rw-r--r--progs/trivial/tri-unfilled-point.c139
-rw-r--r--progs/trivial/tri-unfilled-smooth.c151
-rw-r--r--progs/trivial/tri-unfilled-tri-lit.c179
-rw-r--r--progs/trivial/tri-unfilled-tri.c176
-rw-r--r--progs/trivial/tri-unfilled-userclip-stip.c148
-rw-r--r--progs/trivial/tri-unfilled-userclip.c142
-rw-r--r--progs/trivial/tri-unfilled.c139
-rw-r--r--progs/trivial/tri-userclip.c141
-rw-r--r--progs/trivial/tri-viewport.c327
-rw-r--r--progs/trivial/tri-z-9.c140
-rw-r--r--progs/trivial/tri-z-eq.c140
-rw-r--r--progs/trivial/tri-z.c204
-rw-r--r--progs/trivial/tri.c136
-rw-r--r--progs/trivial/trifan-flat-clip.c141
-rw-r--r--progs/trivial/trifan-flat-unfilled-clip.c145
-rw-r--r--progs/trivial/trifan-flat.c141
-rw-r--r--progs/trivial/trifan-unfilled.c140
-rw-r--r--progs/trivial/trifan.c139
-rw-r--r--progs/trivial/tristrip-clip.c139
-rw-r--r--progs/trivial/tristrip-flat.c149
-rw-r--r--progs/trivial/tristrip.c139
-rw-r--r--progs/trivial/vbo-drawarrays.c134
-rw-r--r--progs/trivial/vbo-drawelements.c138
-rw-r--r--progs/trivial/vbo-drawrange.c146
-rw-r--r--progs/trivial/vbo-noninterleaved.c139
-rw-r--r--progs/trivial/vp-array-int.c118
-rw-r--r--progs/trivial/vp-array.c118
-rw-r--r--progs/trivial/vp-clip.c103
-rw-r--r--progs/trivial/vp-line-clip.c117
-rw-r--r--progs/trivial/vp-tri-cb-pos.c158
-rw-r--r--progs/trivial/vp-tri-cb-tex.c191
-rw-r--r--progs/trivial/vp-tri-cb.c108
-rw-r--r--progs/trivial/vp-tri-imm.c102
-rw-r--r--progs/trivial/vp-tri-invariant.c147
-rw-r--r--progs/trivial/vp-tri-swap.c104
-rw-r--r--progs/trivial/vp-tri-tex.c138
-rw-r--r--progs/trivial/vp-tri.c105
-rw-r--r--progs/trivial/vp-unfilled.c105
-rw-r--r--progs/vp/.gitignore1
-rw-r--r--progs/vp/Makefile53
-rw-r--r--progs/vp/SConscript13
-rw-r--r--progs/vp/abs.txt7
-rw-r--r--progs/vp/add.txt6
-rw-r--r--progs/vp/addimm.txt5
-rw-r--r--progs/vp/arl-static.txt7
-rw-r--r--progs/vp/arl-unused.txt7
-rw-r--r--progs/vp/arl.txt9
-rw-r--r--progs/vp/dp3.txt5
-rw-r--r--progs/vp/dp4.txt5
-rw-r--r--progs/vp/dph.txt5
-rw-r--r--progs/vp/dst.txt5
-rw-r--r--progs/vp/ex2.txt6
-rw-r--r--progs/vp/exp-no-w.txt6
-rw-r--r--progs/vp/exp.txt6
-rw-r--r--progs/vp/flr.txt6
-rw-r--r--progs/vp/frc.txt6
-rw-r--r--progs/vp/lg2.txt6
-rw-r--r--progs/vp/lit.txt6
-rw-r--r--progs/vp/log.txt7
-rw-r--r--progs/vp/mad.txt5
-rw-r--r--progs/vp/max.txt5
-rw-r--r--progs/vp/min.txt5
-rw-r--r--progs/vp/mov.txt5
-rw-r--r--progs/vp/msk.txt7
-rw-r--r--progs/vp/mul.txt5
-rw-r--r--progs/vp/pow.txt5
-rw-r--r--progs/vp/psiz-imm.txt5
-rw-r--r--progs/vp/psiz-mul-clamp.txt9
-rw-r--r--progs/vp/psiz-mul.txt6
-rw-r--r--progs/vp/psiz-param-clamp.txt10
-rw-r--r--progs/vp/rcp.txt7
-rw-r--r--progs/vp/rsq.txt7
-rwxr-xr-xprogs/vp/run.sh7
-rw-r--r--progs/vp/sge.txt5
-rw-r--r--progs/vp/slt.txt5
-rw-r--r--progs/vp/sub.txt5
-rw-r--r--progs/vp/swz.txt5
-rw-r--r--progs/vp/swz2.txt5
-rw-r--r--progs/vp/vp-tris.c333
-rw-r--r--progs/vp/windows/vp2003.sln21
-rw-r--r--progs/vp/windows/vp2003.vcproj121
-rw-r--r--progs/vp/xform.txt11
-rw-r--r--progs/vp/xpd.txt5
-rw-r--r--progs/vpglsl/.gitignore1
-rw-r--r--progs/vpglsl/Makefile52
-rw-r--r--progs/vpglsl/SConscript13
-rw-r--r--progs/vpglsl/for.glsl7
-rw-r--r--progs/vpglsl/if.glsl7
-rw-r--r--progs/vpglsl/ifelse.glsl8
-rw-r--r--progs/vpglsl/mov.glsl5
-rw-r--r--progs/vpglsl/nestedifs.glsl13
-rw-r--r--progs/vpglsl/nestedswizzle.glsl9
-rw-r--r--progs/vpglsl/off2f.glsl18
-rw-r--r--progs/vpglsl/psiz-imm.glsl6
-rw-r--r--progs/vpglsl/psiz-mul.glsl6
-rw-r--r--progs/vpglsl/varfor1f.glsl22
-rw-r--r--progs/vpglsl/varfor2f.glsl24
-rw-r--r--progs/vpglsl/varfor4f.glsl19
-rw-r--r--progs/vpglsl/vp-tris.c363
-rw-r--r--progs/wgl/SConscript25
-rw-r--r--progs/wgl/sharedtex_mt/sharedtex_mt.c565
-rw-r--r--progs/wgl/wglinfo.c736
-rw-r--r--progs/wgl/wglthreads/wglthreads.c636
-rw-r--r--scons/crossmingw.py186
-rw-r--r--scons/dxsdk.py73
-rw-r--r--scons/fixes.py27
-rw-r--r--scons/gallium.py553
-rw-r--r--scons/generic.py590
-rw-r--r--scons/llvm.py121
-rw-r--r--scons/mslib_sa.py133
-rw-r--r--scons/mslink_sa.py211
-rw-r--r--scons/msvc_sa.py173
-rw-r--r--scons/python.py72
-rw-r--r--scons/udis86.py42
-rw-r--r--scons/wcesdk.py176
-rw-r--r--scons/winddk.py148
-rw-r--r--scons/winsdk.py131
-rw-r--r--src/driclient/include/driclient.h97
-rw-r--r--src/driclient/include/xf86dri.h119
-rw-r--r--src/driclient/src/Makefile19
-rw-r--r--src/driclient/src/XF86dri.c619
-rw-r--r--src/driclient/src/driclient.c310
-rw-r--r--src/driclient/src/xf86dristr.h342
-rw-r--r--src/gallium/auxiliary/pipebuffer/pb_bufmgr_fenced.c152
-rw-r--r--src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-abs.sh13
-rw-r--r--src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-add.sh8
-rw-r--r--src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-dp3.sh8
-rw-r--r--src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-dp4.sh8
-rw-r--r--src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-dst.sh8
-rw-r--r--src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-ex2.sh11
-rw-r--r--src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-flr.sh15
-rw-r--r--src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-frc.sh13
-rw-r--r--src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-lg2.sh15
-rw-r--r--src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-lit.sh8
-rw-r--r--src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-lrp.sh11
-rw-r--r--src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-mad.sh11
-rw-r--r--src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-max.sh10
-rw-r--r--src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-min.sh10
-rw-r--r--src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-mov.sh8
-rw-r--r--src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-mul.sh10
-rw-r--r--src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-rcp.sh15
-rw-r--r--src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-rsq.sh15
-rw-r--r--src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-sge.sh13
-rw-r--r--src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-slt.sh13
-rw-r--r--src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-srcmod-abs.sh13
-rw-r--r--src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-srcmod-absneg.sh15
-rw-r--r--src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-srcmod-neg.sh11
-rw-r--r--src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-srcmod-swz.sh8
-rw-r--r--src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-sub.sh8
-rw-r--r--src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-xpd.sh8
-rw-r--r--src/gallium/state_trackers/python/tests/regress/fragment-shader/fragment-shader.py218
-rw-r--r--src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-abs.sh15
-rw-r--r--src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-add.sh13
-rw-r--r--src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-arl.sh23
-rw-r--r--src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-arr.sh23
-rw-r--r--src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-dp3.sh16
-rw-r--r--src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-dp4.sh16
-rw-r--r--src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-dst.sh11
-rw-r--r--src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-ex2.sh18
-rw-r--r--src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-flr.sh23
-rw-r--r--src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-frc.sh15
-rw-r--r--src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-lg2.sh18
-rw-r--r--src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-lit.sh11
-rw-r--r--src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-lrp.sh14
-rw-r--r--src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-mad.sh14
-rw-r--r--src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-max.sh13
-rw-r--r--src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-min.sh13
-rw-r--r--src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-mov.sh11
-rw-r--r--src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-mul.sh13
-rw-r--r--src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-rcp.sh18
-rw-r--r--src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-rsq.sh18
-rw-r--r--src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-sge.sh16
-rw-r--r--src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-slt.sh16
-rw-r--r--src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-srcmod-abs.sh15
-rw-r--r--src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-srcmod-absneg.sh16
-rw-r--r--src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-srcmod-neg.sh12
-rw-r--r--src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-srcmod-swz.sh11
-rw-r--r--src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-sub.sh13
-rw-r--r--src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-xpd.sh11
-rw-r--r--src/gallium/state_trackers/python/tests/regress/vertex-shader/vertex-shader.py247
-rw-r--r--src/glu/mesa/Makefile56
-rw-r--r--src/glu/mesa/Makefile.m3263
-rw-r--r--src/glu/mesa/Makefile.ugl96
-rw-r--r--src/glu/mesa/MesaGLU.def62
-rw-r--r--src/glu/mesa/README1195
-rw-r--r--src/glu/mesa/README243
-rw-r--r--src/glu/mesa/all.h54
-rw-r--r--src/glu/mesa/glu.c416
-rw-r--r--src/glu/mesa/gluP.h97
-rw-r--r--src/glu/mesa/mipmap.c824
-rw-r--r--src/glu/mesa/nurbs.c628
-rw-r--r--src/glu/mesa/nurbs.h252
-rw-r--r--src/glu/mesa/nurbscrv.c444
-rw-r--r--src/glu/mesa/nurbssrf.c1317
-rw-r--r--src/glu/mesa/nurbsutl.c1309
-rw-r--r--src/glu/mesa/polytest.c937
-rw-r--r--src/glu/mesa/project.c403
-rw-r--r--src/glu/mesa/quadric.c819
-rw-r--r--src/glu/mesa/tess.c327
-rw-r--r--src/glu/mesa/tess.h107
-rw-r--r--src/glu/mesa/tesselat.c406
-rw-r--r--src/glu/mini/all.h54
-rw-r--r--src/glu/mini/glu.c416
-rw-r--r--src/glu/mini/gluP.h141
-rw-r--r--src/glu/mini/mipmap.c763
-rw-r--r--src/glu/mini/nurbs.c157
-rw-r--r--src/glu/mini/nurbs.h252
-rw-r--r--src/glu/mini/nurbscrv.c132
-rw-r--r--src/glu/mini/polytest.c937
-rw-r--r--src/glu/mini/project.c403
-rw-r--r--src/glu/mini/quadric.c773
-rw-r--r--src/glu/mini/tess.c327
-rw-r--r--src/glu/mini/tess.h107
-rw-r--r--src/glu/mini/tesselat.c406
-rw-r--r--src/glut/beos/Makefile99
-rw-r--r--src/glut/beos/beos_x11.cpp180
-rw-r--r--src/glut/beos/beos_x11.h33
-rw-r--r--src/glut/beos/glutBlocker.cpp69
-rw-r--r--src/glut/beos/glutBlocker.h47
-rw-r--r--src/glut/beos/glutCallback.cpp171
-rw-r--r--src/glut/beos/glutColor.cpp32
-rw-r--r--src/glut/beos/glutCursor.cpp90
-rw-r--r--src/glut/beos/glutCursors.h3083
-rw-r--r--src/glut/beos/glutDstr.cpp83
-rw-r--r--src/glut/beos/glutEvent.cpp695
-rw-r--r--src/glut/beos/glutGet.cpp211
-rw-r--r--src/glut/beos/glutInit.cpp263
-rw-r--r--src/glut/beos/glutMenu.cpp326
-rw-r--r--src/glut/beos/glutMenu.h84
-rw-r--r--src/glut/beos/glutOverlay.cpp47
-rw-r--r--src/glut/beos/glutState.h71
-rw-r--r--src/glut/beos/glutWindow.cpp633
-rw-r--r--src/glut/beos/glutWindow.h119
-rw-r--r--src/glut/beos/glut_8x13.c2073
-rw-r--r--src/glut/beos/glut_9x15.c2075
-rw-r--r--src/glut/beos/glut_bitmap.c57
-rw-r--r--src/glut/beos/glut_bwidth.c58
-rw-r--r--src/glut/beos/glut_ext.c201
-rw-r--r--src/glut/beos/glut_hel10.c1778
-rw-r--r--src/glut/beos/glut_hel12.c1788
-rw-r--r--src/glut/beos/glut_hel18.c1897
-rw-r--r--src/glut/beos/glut_mroman.c2451
-rw-r--r--src/glut/beos/glut_roman.c2451
-rw-r--r--src/glut/beos/glut_shapes.c596
-rw-r--r--src/glut/beos/glut_stroke.c42
-rw-r--r--src/glut/beos/glut_swidth.c58
-rw-r--r--src/glut/beos/glut_teapot.c210
-rw-r--r--src/glut/beos/glut_tr10.c1777
-rw-r--r--src/glut/beos/glut_tr24.c2060
-rw-r--r--src/glut/beos/glut_util.c81
-rw-r--r--src/glut/beos/glut_vidresize.c230
-rw-r--r--src/glut/beos/glutbitmap.h30
-rw-r--r--src/glut/beos/glutint.h814
-rw-r--r--src/glut/beos/glutstroke.h42
-rw-r--r--src/glut/directfb/Makefile87
-rw-r--r--src/glut/directfb/NOTES9
-rw-r--r--src/glut/directfb/callback.c300
-rw-r--r--src/glut/directfb/color.c39
-rw-r--r--src/glut/directfb/cursor.c175
-rw-r--r--src/glut/directfb/cursors.h306
-rw-r--r--src/glut/directfb/events.c492
-rw-r--r--src/glut/directfb/ext.c202
-rw-r--r--src/glut/directfb/font.c213
-rw-r--r--src/glut/directfb/font.h58
-rw-r--r--src/glut/directfb/game.c153
-rw-r--r--src/glut/directfb/globals.c63
-rw-r--r--src/glut/directfb/init.c128
-rw-r--r--src/glut/directfb/internal.h188
-rw-r--r--src/glut/directfb/menu.c87
-rw-r--r--src/glut/directfb/models.c599
-rw-r--r--src/glut/directfb/overlay.c62
-rw-r--r--src/glut/directfb/state.c219
-rw-r--r--src/glut/directfb/teapot.c212
-rw-r--r--src/glut/directfb/window.c597
-rw-r--r--src/glut/dos/PC_HW/pc_hw.c163
-rw-r--r--src/glut/dos/PC_HW/pc_hw.h229
-rw-r--r--src/glut/dos/PC_HW/pc_irq.S182
-rw-r--r--src/glut/dos/PC_HW/pc_keyb.c540
-rw-r--r--src/glut/dos/PC_HW/pc_mouse.c293
-rw-r--r--src/glut/dos/PC_HW/pc_timer.c327
-rw-r--r--src/glut/dos/bitmap.c115
-rw-r--r--src/glut/dos/callback.c204
-rw-r--r--src/glut/dos/color.c53
-rw-r--r--src/glut/dos/extens.c70
-rw-r--r--src/glut/dos/f8x13.c1183
-rw-r--r--src/glut/dos/f9x15.c1407
-rw-r--r--src/glut/dos/hel10.c1019
-rw-r--r--src/glut/dos/hel12.c1029
-rw-r--r--src/glut/dos/hel18.c1138
-rw-r--r--src/glut/dos/init.c223
-rw-r--r--src/glut/dos/internal.h197
-rw-r--r--src/glut/dos/loop.c245
-rw-r--r--src/glut/dos/menu.c130
-rw-r--r--src/glut/dos/mouse.c55
-rw-r--r--src/glut/dos/mroman.c2779
-rw-r--r--src/glut/dos/overlay.c93
-rw-r--r--src/glut/dos/roman.c2779
-rw-r--r--src/glut/dos/shapes.c1143
-rw-r--r--src/glut/dos/state.c238
-rw-r--r--src/glut/dos/stroke.c118
-rw-r--r--src/glut/dos/teapot.c201
-rw-r--r--src/glut/dos/tr10.c1018
-rw-r--r--src/glut/dos/tr24.c1301
-rw-r--r--src/glut/dos/util.c74
-rw-r--r--src/glut/dos/window.c329
-rw-r--r--src/glut/fbdev/Makefile94
-rw-r--r--src/glut/fbdev/bitmap.c78
-rw-r--r--src/glut/fbdev/callback.c171
-rw-r--r--src/glut/fbdev/colormap.c177
-rw-r--r--src/glut/fbdev/cursor.c272
-rw-r--r--src/glut/fbdev/cursors.h7099
-rw-r--r--src/glut/fbdev/ext.c154
-rw-r--r--src/glut/fbdev/fbdev.c940
-rw-r--r--src/glut/fbdev/gamemode.c306
-rw-r--r--src/glut/fbdev/input.c828
-rw-r--r--src/glut/fbdev/internal.h177
-rw-r--r--src/glut/fbdev/menu.c309
-rw-r--r--src/glut/fbdev/overlay.c57
-rw-r--r--src/glut/fbdev/state.c197
-rw-r--r--src/glut/fbdev/stroke.c81
-rw-r--r--src/glut/fbdev/vidresize.c55
-rw-r--r--src/glut/ggi/Makefile53
-rw-r--r--src/glut/ggi/debug.h259
-rw-r--r--src/glut/ggi/ggiglut.c959
-rw-r--r--src/glut/glx/Makefile140
-rw-r--r--src/glut/glx/Makefile.cygnus110
-rw-r--r--src/glut/glx/Makefile.mgw191
-rw-r--r--src/glut/glx/Makefile.sgi189
-rw-r--r--src/glut/glx/Makefile.win99
-rw-r--r--src/glut/glx/SConscript87
-rw-r--r--src/glut/glx/capturexfont.c356
-rw-r--r--src/glut/glx/fxglut.def103
-rw-r--r--src/glut/glx/glut.def125
-rw-r--r--src/glut/glx/glut.pc.in13
-rw-r--r--src/glut/glx/glut_8x13.c2073
-rw-r--r--src/glut/glx/glut_9x15.c2075
-rw-r--r--src/glut/glx/glut_bitmap.c57
-rw-r--r--src/glut/glx/glut_bwidth.c58
-rw-r--r--src/glut/glx/glut_cindex.c252
-rw-r--r--src/glut/glx/glut_cmap.c419
-rw-r--r--src/glut/glx/glut_cursor.c201
-rw-r--r--src/glut/glx/glut_dials.c26
-rw-r--r--src/glut/glx/glut_dstr.c1624
-rw-r--r--src/glut/glx/glut_event.c1389
-rw-r--r--src/glut/glx/glut_ext.c201
-rw-r--r--src/glut/glx/glut_fcb.c164
-rw-r--r--src/glut/glx/glut_fullscrn.c56
-rw-r--r--src/glut/glx/glut_gamemode.c678
-rw-r--r--src/glut/glx/glut_get.c220
-rw-r--r--src/glut/glx/glut_glxext.c255
-rw-r--r--src/glut/glx/glut_hel10.c1778
-rw-r--r--src/glut/glx/glut_hel12.c1788
-rw-r--r--src/glut/glx/glut_hel18.c1897
-rw-r--r--src/glut/glx/glut_init.c394
-rw-r--r--src/glut/glx/glut_input.c644
-rw-r--r--src/glut/glx/glut_joy.c85
-rw-r--r--src/glut/glx/glut_key.c29
-rw-r--r--src/glut/glx/glut_keyctrl.c29
-rw-r--r--src/glut/glx/glut_keyup.c29
-rw-r--r--src/glut/glx/glut_menu.c1023
-rw-r--r--src/glut/glx/glut_menu2.c189
-rw-r--r--src/glut/glx/glut_mesa.c57
-rw-r--r--src/glut/glx/glut_modifier.c31
-rw-r--r--src/glut/glx/glut_mroman.c2451
-rw-r--r--src/glut/glx/glut_overlay.c607
-rw-r--r--src/glut/glx/glut_ppm.c80
-rw-r--r--src/glut/glx/glut_roman.c2451
-rw-r--r--src/glut/glx/glut_shapes.c596
-rw-r--r--src/glut/glx/glut_space.c35
-rw-r--r--src/glut/glx/glut_stroke.c42
-rw-r--r--src/glut/glx/glut_swap.c71
-rw-r--r--src/glut/glx/glut_swidth.c58
-rw-r--r--src/glut/glx/glut_tablet.c33
-rw-r--r--src/glut/glx/glut_teapot.c210
-rw-r--r--src/glut/glx/glut_tr10.c1777
-rw-r--r--src/glut/glx/glut_tr24.c2060
-rw-r--r--src/glut/glx/glut_util.c86
-rw-r--r--src/glut/glx/glut_vidresize.c231
-rw-r--r--src/glut/glx/glut_warp.c23
-rw-r--r--src/glut/glx/glut_win.c1035
-rw-r--r--src/glut/glx/glut_winmisc.c124
-rw-r--r--src/glut/glx/glutbitmap.h32
-rw-r--r--src/glut/glx/glutint.h798
-rw-r--r--src/glut/glx/glutstroke.h42
-rw-r--r--src/glut/glx/glutwin32.h97
-rw-r--r--src/glut/glx/layerutil.c204
-rw-r--r--src/glut/glx/layerutil.h59
-rw-r--r--src/glut/glx/stroke.h133
-rw-r--r--src/glut/glx/win32_glx.c256
-rw-r--r--src/glut/glx/win32_glx.h58
-rw-r--r--src/glut/glx/win32_menu.c531
-rw-r--r--src/glut/glx/win32_util.c121
-rw-r--r--src/glut/glx/win32_winproc.c792
-rw-r--r--src/glut/glx/win32_x11.c399
-rw-r--r--src/glut/glx/win32_x11.h324
-rw-r--r--src/glut/mini/Makefile103
-rw-r--r--src/glut/mini/bitmap.c56
-rw-r--r--src/glut/mini/callback.c152
-rw-r--r--src/glut/mini/color.c46
-rw-r--r--src/glut/mini/globals.c61
-rw-r--r--src/glut/mini/glut.pc.in13
-rw-r--r--src/glut/mini/init.c59
-rw-r--r--src/glut/mini/internal.h78
-rw-r--r--src/glut/mini/menu.c86
-rw-r--r--src/glut/mini/models.c598
-rw-r--r--src/glut/mini/overlay.c60
-rw-r--r--src/glut/mini/state.c70
-rw-r--r--src/glut/mini/teapot.c212
-rw-r--r--src/glut/mini/window.c273
-rw-r--r--src/glut/os2/Makefile420
-rw-r--r--src/glut/os2/WarpWin.cpp419
-rw-r--r--src/glut/os2/glutOverlay.cpp133
-rw-r--r--src/glut/os2/glut_8x13.cpp2076
-rw-r--r--src/glut/os2/glut_9x15.cpp2077
-rw-r--r--src/glut/os2/glut_bitmap.cpp57
-rw-r--r--src/glut/os2/glut_cindex.cpp258
-rw-r--r--src/glut/os2/glut_cmap.cpp399
-rw-r--r--src/glut/os2/glut_cursor.cpp210
-rw-r--r--src/glut/os2/glut_event.cpp1399
-rw-r--r--src/glut/os2/glut_ext.cpp204
-rw-r--r--src/glut/os2/glut_fullscrn.cpp38
-rw-r--r--src/glut/os2/glut_gamemode.cpp679
-rw-r--r--src/glut/os2/glut_get.cpp232
-rw-r--r--src/glut/os2/glut_hel10.cpp1781
-rw-r--r--src/glut/os2/glut_hel12.cpp1791
-rw-r--r--src/glut/os2/glut_hel18.cpp1900
-rw-r--r--src/glut/os2/glut_init.cpp451
-rw-r--r--src/glut/os2/glut_input.cpp628
-rw-r--r--src/glut/os2/glut_key.cpp29
-rw-r--r--src/glut/os2/glut_keyctrl.cpp29
-rw-r--r--src/glut/os2/glut_keyup.cpp29
-rw-r--r--src/glut/os2/glut_mesa.cpp57
-rw-r--r--src/glut/os2/glut_modifier.cpp31
-rw-r--r--src/glut/os2/glut_roman.cpp2451
-rw-r--r--src/glut/os2/glut_shapes.cpp595
-rw-r--r--src/glut/os2/glut_stroke.cpp42
-rw-r--r--src/glut/os2/glut_swap.cpp67
-rw-r--r--src/glut/os2/glut_teapot.cpp210
-rw-r--r--src/glut/os2/glut_tr24.cpp2063
-rw-r--r--src/glut/os2/glut_util.cpp90
-rw-r--r--src/glut/os2/glut_vidresize.cpp232
-rw-r--r--src/glut/os2/glut_warp.cpp29
-rw-r--r--src/glut/os2/glut_win.cpp1220
-rw-r--r--src/glut/os2/glut_winmisc.cpp126
-rw-r--r--src/glut/os2/glutbitmap.h32
-rw-r--r--src/glut/os2/glutos2.h36
-rw-r--r--src/glut/os2/glutstroke.h42
-rw-r--r--src/glut/os2/layerutil.h59
-rw-r--r--src/glut/os2/libGlut.DEF94
-rw-r--r--src/glut/os2/os2_glx.cpp145
-rw-r--r--src/glut/os2/os2_menu.cpp532
-rw-r--r--src/glut/os2/os2_winproc.cpp1296
-rw-r--r--src/glut/os2/src-glut_os2pm.zipbin141239 -> 0 bytes
-rw-r--r--src/glx/mini/Makefile89
-rw-r--r--src/glx/mini/NOTES115
-rw-r--r--src/glx/mini/dispatch.c64
-rw-r--r--src/glx/mini/driver.h168
-rw-r--r--src/glx/mini/example.miniglx.conf36
-rw-r--r--src/glx/mini/miniglx.c2580
-rw-r--r--src/glx/mini/miniglxP.h205
-rw-r--r--src/glx/mini/miniglx_events.c983
-rw-r--r--src/mesa/drivers/allegro/amesa.c414
-rw-r--r--src/mesa/drivers/allegro/amesa.h65
-rw-r--r--src/mesa/drivers/allegro/direct.h189
-rw-r--r--src/mesa/drivers/allegro/generic.h234
-rw-r--r--src/mesa/drivers/d3d/D3DCAPS.CPP250
-rw-r--r--src/mesa/drivers/d3d/D3DHAL.H68
-rw-r--r--src/mesa/drivers/d3d/D3DInit.cpp891
-rw-r--r--src/mesa/drivers/d3d/D3DMESA.H84
-rw-r--r--src/mesa/drivers/d3d/D3DRaster.cpp213
-rw-r--r--src/mesa/drivers/d3d/D3DShared.h154
-rw-r--r--src/mesa/drivers/d3d/D3DTEXT.CPP576
-rw-r--r--src/mesa/drivers/d3d/D3DTextureMgr.cpp947
-rw-r--r--src/mesa/drivers/d3d/D3DTextureMgr.h62
-rw-r--r--src/mesa/drivers/d3d/D3DUTILS.CPP638
-rw-r--r--src/mesa/drivers/d3d/D3Dvbrender.c2149
-rw-r--r--src/mesa/drivers/d3d/DDrawPROCS.c399
-rw-r--r--src/mesa/drivers/d3d/DEBUG.C143
-rw-r--r--src/mesa/drivers/d3d/DEBUG.H90
-rw-r--r--src/mesa/drivers/d3d/DbgEnv.bat25
-rw-r--r--src/mesa/drivers/d3d/MAKEFILE101
-rw-r--r--src/mesa/drivers/d3d/NULLProcs.h49
-rw-r--r--src/mesa/drivers/d3d/NullProcs.c49
-rw-r--r--src/mesa/drivers/d3d/OPENGL32.DEF442
-rw-r--r--src/mesa/drivers/d3d/WGL.C1262
-rw-r--r--src/mesa/drivers/d3d/d3dText.h53
-rw-r--r--src/mesa/drivers/dri/common/drirenderbuffer.c8
-rw-r--r--[-rwxr-xr-x]src/mesa/drivers/dri/r300/Lindent0
-rw-r--r--[-rwxr-xr-x]src/mesa/drivers/dri/r300/compiler/SConscript0
-rw-r--r--[-rwxr-xr-x]src/mesa/drivers/dri/r600/Lindent0
-rw-r--r--src/mesa/drivers/dri/radeon/radeon_lighting.c681
-rw-r--r--src/mesa/drivers/windows/gldirect/dx7/gld_driver_dx7.c1196
-rw-r--r--src/mesa/drivers/windows/gldirect/dx7/gld_dx7.h292
-rw-r--r--src/mesa/drivers/windows/gldirect/dx7/gld_dxerr7.h77
-rw-r--r--src/mesa/drivers/windows/gldirect/dx7/gld_ext_dx7.c346
-rw-r--r--src/mesa/drivers/windows/gldirect/dx7/gld_pipeline_dx7.c77
-rw-r--r--src/mesa/drivers/windows/gldirect/dx7/gld_primitive_dx7.c1448
-rw-r--r--src/mesa/drivers/windows/gldirect/dx7/gld_texture_dx7.c2196
-rw-r--r--src/mesa/drivers/windows/gldirect/dx7/gld_vb_d3d_render_dx7.c257
-rw-r--r--src/mesa/drivers/windows/gldirect/dx7/gld_vb_mesa_render_dx7.c422
-rw-r--r--src/mesa/drivers/windows/gldirect/dx7/gld_wgl_dx7.c1613
-rw-r--r--src/mesa/drivers/windows/gldirect/dx8/gld_driver_dx8.c1176
-rw-r--r--src/mesa/drivers/windows/gldirect/dx8/gld_dx8.h324
-rw-r--r--src/mesa/drivers/windows/gldirect/dx8/gld_dxerr8.h77
-rw-r--r--src/mesa/drivers/windows/gldirect/dx8/gld_ext_dx8.c344
-rw-r--r--src/mesa/drivers/windows/gldirect/dx8/gld_pipeline_dx8.c77
-rw-r--r--src/mesa/drivers/windows/gldirect/dx8/gld_primitive_dx8.c1446
-rw-r--r--src/mesa/drivers/windows/gldirect/dx8/gld_texture_dx8.c2046
-rw-r--r--src/mesa/drivers/windows/gldirect/dx8/gld_vb_d3d_render_dx8.c249
-rw-r--r--src/mesa/drivers/windows/gldirect/dx8/gld_vb_mesa_render_dx8.c448
-rw-r--r--src/mesa/drivers/windows/gldirect/dx8/gld_wgl_dx8.c1336
-rw-r--r--src/mesa/drivers/windows/gldirect/dx9/gld_driver_dx9.c1206
-rw-r--r--src/mesa/drivers/windows/gldirect/dx9/gld_dx9.h327
-rw-r--r--src/mesa/drivers/windows/gldirect/dx9/gld_dxerr9.h77
-rw-r--r--src/mesa/drivers/windows/gldirect/dx9/gld_ext_dx9.c344
-rw-r--r--src/mesa/drivers/windows/gldirect/dx9/gld_pipeline_dx9.c77
-rw-r--r--src/mesa/drivers/windows/gldirect/dx9/gld_primitive_dx9.c1446
-rw-r--r--src/mesa/drivers/windows/gldirect/dx9/gld_texture_dx9.c2104
-rw-r--r--src/mesa/drivers/windows/gldirect/dx9/gld_vb_d3d_render_dx9.c263
-rw-r--r--src/mesa/drivers/windows/gldirect/dx9/gld_vb_mesa_render_dx9.c443
-rw-r--r--src/mesa/drivers/windows/gldirect/dx9/gld_wgl_dx9.c1346
-rw-r--r--src/mesa/drivers/windows/gldirect/mesasw/colors.h520
-rw-r--r--src/mesa/drivers/windows/gldirect/mesasw/gld_wgl_mesasw.c1698
-rw-r--r--[-rwxr-xr-x]src/mesa/glapi/next_available_offset.sh0
-rw-r--r--src/mesa/vf/vf.c372
-rw-r--r--src/mesa/vf/vf.h234
-rw-r--r--src/mesa/vf/vf_generic.c981
-rw-r--r--src/mesa/vf/vf_sse.c662
-rw-r--r--windows/VC7/mesa/gdi/gdi.vcproj195
-rw-r--r--windows/VC7/mesa/glu/glu.vcproj766
-rw-r--r--windows/VC7/mesa/mesa.sln47
-rw-r--r--windows/VC7/mesa/mesa/mesa.vcproj1233
-rw-r--r--windows/VC7/mesa/osmesa/osmesa.vcproj182
-rw-r--r--windows/VC7/progs/glut/glut.vcproj322
-rw-r--r--windows/VC7/progs/wgl/sharedtex_mt.vcproj132
-rw-r--r--windows/VC7/progs/wgl/wglthreads.vcproj132
1076 files changed, 206279 insertions, 289021 deletions
diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 0000000000..477ae66f7f
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,202653 @@
+commit 293f4d51b473783d5c5ab773a1c438e0a2fe46f2
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Feb 24 14:04:26 2010 -0700
+
+ dri: remove old assertion (see bug 26734)
+
+commit f0e99179bcf95f39ce7c4d2c2270e8a4357eaf19
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Feb 24 12:00:28 2010 -0500
+
+ r600: update state count for CB_COLOR0_FRAG & CB_COLOR0_TILE relocs
+
+commit 69a94e14528854e6902e79ff63c4a4a894ce451e
+Author: Jerome Glisse <jglisse@redhat.com>
+Date: Mon Jan 18 11:05:50 2010 +0100
+
+ r6xx/r7xx: emit relocation for FRAG & TILE buffer
+
+ FRAG & TILE buffer are unused but still they need
+ to be associated with a valid relocation so that
+ userspace can't try to abuse them to overwritte
+ GART and then try to write anywhere in system
+ memory.
+
+commit bc7e12e5e3c063b8f29fecad43d85b09fa6b205d
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Feb 24 17:19:09 2010 +1000
+
+ radeon/r200: fix bad state emission causes kernel to do bad depth clear
+
+ The kernel lets you clear depth without getting a depth offset
+ from userspace, mesa used to emit state before clear, but that got
+ lost in the refactoring, which made the kernel bug show up. Fix
+ mesa driver to emit the state properly now.
+
+ cherry-pick + squash master commits.
+
+ Signed-off-by: Dave Airlie <airlied@redhat.com>
+
+commit 7accf8ced6f939d227e3b06fed99d00e73b36833
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Mon Feb 22 20:06:23 2010 +0100
+
+ vmware/xorg: Bump to match vmware driver
+
+commit 52d83efdbc4735d721e6fc9b44f29bdd432d4d73
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Mon Feb 22 19:15:52 2010 +0100
+
+ Revert "mesa/st: Make ST_SURFACE_DEPTH index consistent with mesa's BUFFER_DEPTH."
+
+ This reverts commit 9d17ad2891b58de9e33e943ff918a678c6a3c2bd.
+
+ Fun stuff so fixing exposes another bug which I'm having trouble
+ tracking down. So for now I'm just going to revert this untill
+ I can fix the real bug. Sorry about this.
+
+commit 1702db3a35e0be1934a78bea80bb0691eb0b773a
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Mon Feb 22 14:47:15 2010 +0100
+
+ st/xorg: Make resize fail gracefully
+
+commit fa6eee135e2bc055c0a2b9a37b7e2dcdda316c03
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Mon Feb 22 14:46:10 2010 +0100
+
+ st/xorg: Obey max {width|height} from kernel and Gallium
+
+commit b5fa76097223ba1d07e4c3feb6d266a2e9b81b7f
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Feb 22 19:24:18 2010 +0000
+
+ svga: Upload user buffers only once.
+
+commit 69cf45cdae25c5676394d014fff904b466279a28
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Feb 22 19:20:25 2010 +0000
+
+ svga: Fix the guest offset of piecewise buffer DMAs.
+
+ It was being erroneously set equal to the host offset, but it should be
+ zero.
+
+commit f5ffbe0bc3850d9e8574ebda641b223ddac27cc7
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Feb 22 18:57:09 2010 +0000
+
+ svga: Emit a scalar rcp in shadow maps.
+
+ Small improvement in Lightsmark 2008.
+
+commit 46d8ca023d546612c3a7d775a194ac099f5a716f
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Feb 22 18:01:32 2010 +0000
+
+ svga: Don't emit zero writemasks.
+
+ This fixes a regression with Lightsmark, where more compact TGSI from Mesa
+ was causing a zero mask MOV to be emitted for shadow map compare, causing
+ problems in some backends.
+
+ Add a few more assertions to catch cases like this.
+
+commit 9bef69782d90c21dc014aa85fa353de80e6932ed
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Feb 22 17:57:59 2010 +0000
+
+ tgsi: Report an error when a destination has an empty writemask.
+
+commit b0e5dcb859692707fec8752dd21fc61fc4c3dbcc
+Author: Xavier Chantry <chantry.xavier@gmail.com>
+Date: Mon Feb 22 08:53:03 2010 -0700
+
+ glxinfo: Fix User error in glGetProgramivARB
+
+ glxinfo needed fixing after commit 4bccd69.
+
+ Move fragment program only parameters into their own list
+ so that they are not queried for a vertex program.
+
+ Signed-off-by: Xavier Chantry <chantry.xavier@gmail.com>
+ Signed-off-by: Brian Paul <brianp@vmware.com>
+
+commit bcd561c66777e58dbb29a573c4d2279772bac6c5
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Feb 22 08:01:26 2010 -0700
+
+ st/mesa: change viewport Z scale/bias for glBitmap/glDrawPixels
+
+ This fixes incorrect Z position of glBitmap, glDraw/CopyPixels for the
+ svga driver. Now we use 0.5, 0.5 as is typical for ordinary 3D rendering.
+
+commit c98eced9aebf4a3661e5141af4a711e95d7cc602
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Feb 14 15:34:39 2010 +0000
+
+ scons: Control caching via new SCONS_CACHE_DIR environment variable.
+
+ This serves several purposes:
+ - disable caching in situations were is it useless or undesired
+ - share caches among all trees
+ - simplify purging the cache (when it's a single location)
+ - move the cache out of the tree, since that slows downs IDEs considerably
+
+ To retain previous behavior just define do
+
+ export SCONS_CACHE_DIR=$PWD/build/cache
+
+ before invoking scons.
+
+commit 13cbb5fff68ef8831230638e9f0b29a217750e9d
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Feb 21 12:38:46 2010 +0100
+
+ st/mesa: Add checks for ST_SURFACE_x vs MESA_BUFFER_x
+
+ The ST_SURFACE_x values should match the Mesa BUFFER_x values.
+ Added some assertions to prevent future mix-ups.
+
+commit dd8d78c908cae26ebefa01e16f82a1ec45bcc609
+Author: Thomas Hellstrom <thellstrom@vmware.com>
+Date: Mon Feb 15 14:10:19 2010 +0100
+
+ st/xorg: Encapsulate all customizable stuff in a separate class.
+
+ This avoids exposing the ms driver structure to the winsys,
+ and nicely encapsulates driver customizable stuff.
+ In the future more things might be customizable by the winsys, like
+ throttling, 3D readback etc.
+
+ Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
+
+commit 9d17ad2891b58de9e33e943ff918a678c6a3c2bd
+Author: Thomas Hellstrom <thellstrom@vmware.com>
+Date: Sun Feb 21 10:39:38 2010 +0100
+
+ mesa/st: Make ST_SURFACE_DEPTH index consistent with mesa's BUFFER_DEPTH.
+
+ Some st functions assume that they are identical.
+
+commit d437d905e6924ebc05ec9efe87e1e2c48d75bc13
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Feb 18 16:47:27 2010 -0700
+
+ softpipe: fix depth testing problems
+
+ The optimized Z-test functions assumed that the array of incoming quads
+ are adjacent, but that's not always true. The fragment shader can cull
+ intermediate quads, for example.
+
+ Now these Z-test functions can cope with non-adjacent quads. A little bit
+ of performance is probably lost, but it's probably not worth worring about.
+
+ This fixes broken glBitmap() Z testing, among other things.
+
+commit 551c96979e643b409535afe868c42cac0d2285ad
+Author: Jon TURNEY <jon.turney@dronecode.org.uk>
+Date: Thu Feb 18 15:13:41 2010 +0000
+
+ mklib: Teach mklib to fail build if link fails on cygwin
+
+ Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
+ Signed-off-by: Brian Paul <brianp@vmware.com>
+
+commit c1a4f249f18a766488da0832fbf6700de93af2f8
+Author: Jon TURNEY <jon.turney@dronecode.org.uk>
+Date: Tue Jun 23 00:16:19 2009 +0100
+
+ configure: PTHREADS should be defined on cygwin, as well
+
+ Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
+ Signed-off-by: Brian Paul <brianp@vmware.com>
+
+commit 18ff85e91d75570342cac787eb2d30112d182e32
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Feb 18 17:21:53 2010 +0000
+
+ svga: Upload the dirty ranges instead of the whole buffer.
+
+commit 12617c7e3072fbbc65b66adb9cd8e32927b70d8b
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Feb 18 16:40:14 2010 +0000
+
+ svga: Break uploads of big buffers into smaller pieces.
+
+ Fixes crash in Homeworld2 which tries to create a 14MB buffer, because we
+ now avoid creating GMR buffers larger than 8MB to ensure progress given
+ we have only a 16MB pool.
+
+commit 5dbf44953c4766ebc54811847f485dd6eb88b238
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Feb 18 14:12:31 2010 +0000
+
+ svga: Note ranges even when there is no hardware buffer around.
+
+ Not having a hardware buffer around doesn't change the fact that the
+ range is dirty and needs to be uploaded eventually.
+
+commit a51d638ff305915e882aa5a3bf9e9942196679c2
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Feb 18 14:05:57 2010 +0000
+
+ svga: Further cleanup/comment svga buffer code.
+
+ Just cosmetic changes -- no behavior change.
+
+commit 770945cff48bef2d0552aba39ee0fd7b8740dc14
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Feb 18 18:11:50 2010 +0000
+
+ svga: Temporarily create a sw vertex buf when failed to create a hw buf.
+
+ Many apps don't check the return of map buffer so it is better not to
+ fail.
+
+commit eaa4066bfc4b6f5c1cbfb2f894ec0d6525695035
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Thu Feb 18 16:02:03 2010 +0100
+
+ vmware/xorg: Export modinfo just as the other vmware X drivers does
+
+commit 46cf606cd35d6740b28fd26bd32dbdfdde2c7833
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Thu Feb 18 16:42:06 2010 +0100
+
+ st/xorg: Fixup configure
+
+ Make sure we always test for XEXT version.
+ Make sure that the user has a recent version of libkms and libdrm installed.
+
+ Not that the st/xorg code requires so new versions to work but these are
+ needed to make a proper vmwgfx_drv.so driver which is the only real user.
+
+commit a69a7b9688f14142a7e3dd424e6bd8614a4b7b56
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Thu Feb 18 15:53:42 2010 +0100
+
+ st/xorg: A bit more debugging info
+
+commit eb7590a0d95005ab3d9650afd8feca1aef49688a
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Thu Feb 18 15:51:59 2010 +0100
+
+ st/xorg: Make default of debugging fallbacks smart
+
+ Set it to the same as 2d acceleration
+
+commit 86870a691ca807c3fd31ab30cad31cae55b2ffa8
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Thu Feb 11 14:41:40 2010 +0100
+
+ drm/vmware: Latest interface changes are backwards incopatible
+
+ Since the execbuffer change actually changed size off the ioctl
+ struct and not just a reuse of padded bits, we can't support
+ old kernels as easily as the scanout change was.
+
+commit 7c34c237a2f6732b2c013543523617e375c1f534
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Feb 18 09:37:55 2010 -0700
+
+ swrast: fix left side clipping
+
+ Fixes bug 26623. Original patch was submitted by Mathias Frohlich
+ and modified by Brian.
+
+commit 13cd4298fb8fd447f86ca92d7571e5c13b5ff9f6
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Feb 17 20:02:32 2010 +0000
+
+ mesa: Take back some assertions.
+
+ It seems there are still some places where draw can happen with mapped
+ buffers... Remove the assertions since there is not much more than can
+ be done at this moment.
+
+ This partially reverts commit af2023e31cde5ad2cf8ce740e20a98c4cbab37ce.
+
+commit 3b724f91c5312888b7fe86a957cbd511cd808c34
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Feb 16 16:43:53 2010 +0000
+
+ svga: Remove unused buffer download code.
+
+ Unnecessary now that we never destroy buffer storage.
+
+commit 2077f375c7e3a45044b62ae45e779d9201ca39f7
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Feb 16 15:51:34 2010 +0000
+
+ pipebuffer: Don't synchronize when checking for buffer overflows.
+
+ To avoid masking synchronization issues in debug builds.
+
+commit 055265b0a3e704ffca97976ff8e5f336a2d6286e
+Author: Michal Krol <michal@vmware.com>
+Date: Tue Feb 16 19:53:13 2010 +0100
+
+ svga: Translate point_sprite rasterizer state.
+
+commit 3094adb3caeb90124359db2356df3bf8ee94800a
+Author: Mike Stroyan <mike@LunarG.com>
+Date: Tue Feb 16 08:18:12 2010 -0700
+
+ mesa: Lock mutex around _mesa_HashLookup linked list chase.
+
+ Remove const qualifier from _mesa_HashLookup() table parameter to
+ avoid LOCK/UNLOCK warnings in the function body.
+
+ Signed-off-by: Brian Paul <brianp@vmware.com>
+
+commit 7c7247ddbf6e3f7f93e44c1cb52490044f1a2215
+Author: Mike Stroyan <mike@LunarG.com>
+Date: Mon Feb 15 17:43:33 2010 -0700
+
+ mesa: Test for failed malloc in _mesa_HashInsert.
+
+ Signed-off-by: Brian Paul <brianp@vmware.com>
+
+commit af2023e31cde5ad2cf8ce740e20a98c4cbab37ce
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Feb 16 12:21:55 2010 +0000
+
+ vbo: Ensure vertices are always unmapped before the context is flushed.
+
+ Purpose is two fold:
+
+ - when doing user-space memory management mapping a buffer stored in the
+ graphics aperture effectively pins it there, increasing the likelyhood
+ of failure of validating other buffers when flushing
+
+ - certain hardware/platform combinations do not allow a buffer to be
+ simultaneously mapped and validated
+
+ This fixes assertion failures in HL Uplink with the svga driver, where
+ vbo was holding a map to a buffer which was also referred in the command
+ stream.
+
+ Note: this a non-invasive fix and shouldn't be just cherry-picked into
+ master as-is -- a cleaner fix for this problem should be searched.
+
+commit 2eedbc94c22bc13575e7639620f0d1957f205b34
+Author: Michal Krol <michal@vmware.com>
+Date: Tue Feb 16 10:34:07 2010 +0100
+
+ slang: Fix handling of if/elif/else cases.
+
+ Once if/elif evalutes to true, all subsequent conditions are always false.
+
+commit 672f6bb5455bb473ee5daf24d737c861f26a9325
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Feb 15 19:34:38 2010 +0000
+
+ wgl: Be lenient when sharing contexts.
+
+ My first reading of MS docs was wrong. It says:
+
+ All rendering contexts of a shared display list must use an identical
+ pixel format. Otherwise the results depend on the implementation of
+ OpenGL used.
+
+ That is, it is OK to share contexts with different pixel formats.
+
+ Adobe Premiere Pro tries to do that: share lists between a rgbx8 and a
+ rgba8 pixel format.
+
+commit ab6bcef99a53217db752659ace105ddfd9b25ebb
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Feb 15 08:56:39 2010 -0700
+
+ docs: document glMultiDrawElements() fix
+
+commit c5a4cfb03ff17955c049f16ac805f5837ea4b633
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Feb 15 08:52:45 2010 -0700
+
+ vbo: fix broken glMultiDrawElements()
+
+ Seems to be a regression from commit 60b08eb1fdf287d28ec66b9282513ab35a61aee0.
+
+commit df944efdbf28d35eecf802bc114d520eefde3b1c
+Author: Thomas Hellstrom <thellstrom@vmware.com>
+Date: Mon Feb 15 14:24:51 2010 +0100
+
+ st/xorg, vmware/xorg: Fix xnfcalloc arguments.
+
+ Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
+
+commit 1ff9cd5079b095d7050edb8dc6a7e5b8cad36e1e
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Feb 13 17:34:55 2010 -0700
+
+ softpipe: fix broken cubemap / mipmap selection code
+
+ This is a quick-fix for the time being...
+
+ The per-face mipmap LOD computation was invalid at cube edges. In
+ mip_filter_nearest/linear() we were trying to compute LOD using
+ texcoords that were sometimes indexes into different cube faces.
+ The subtraction used to compute the partial derivatives basically
+ gave random values, so the LOD was unpredictable. This fix simply
+ uses the same cube face for all four pixels in the quad. The per-
+ face texcoords all reference the same cube face so the partial
+ deriviates are computed properly.
+
+ A more elaborate fix would involve computing the LOD at the same
+ time as we choose the cube faces. But for now, this solution works
+ well and allows the piglit/cubemap test to pass.
+
+commit 4a2b54cbdb21666f442b83024c61dafbbdd98aa7
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Feb 13 15:10:24 2010 +0000
+
+ mesa: Export GL_EXT_texture_cube_map.
+
+ Still used by some applications.
+
+commit 6bd6a15ab3b4a5975f21194b7da621ff6b3c45e6
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Feb 13 15:09:46 2010 +0000
+
+ wgl: Implement wglSwapMultipleBuffers.
+
+commit c1a5c9bb4c3c68bea483a0a5bd77b26b150434d2
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Feb 13 09:16:57 2010 +0000
+
+ svga: Fix texture border color.
+
+ Also opposite ordering.
+
+commit b3c7dc6ff232eb4c5ff6b0ddcfa90bcb56f78df1
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 12 17:16:10 2010 -0700
+
+ st/mesa: restore draw rasterization stage after rasterpos
+
+ This fixes invalid calls to rastpos_point/line/tri() that can occur
+ when glRasterPos() is called while in feedback or selection mode.
+
+commit a1025ec041ff2700a0a58ee3586df6333caee593
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Feb 12 23:17:04 2010 +0000
+
+ svga: A few more tweaks to blend color state emission.
+
+commit 3a4068474c25d91b52c6f3eb160cf8e6640df6d8
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Feb 12 21:30:33 2010 +0000
+
+ svga: Clamp max cube texture levels to supported max 2d levels.
+
+commit 1ae976be4aacdc27c229b07cb14101d7c3de65de
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Feb 12 17:01:48 2010 +0000
+
+ svga: Report the 2d/3d texture sizes supported by the host.
+
+commit b685927156cdaec73fbd3639d710f095a05fbca3
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Fri Feb 12 22:12:10 2010 +0100
+
+ svga: emit blend color
+
+commit df0c8d029d4285ca6edacf6712dcf3a672455254
+Author: Zack Rusin <zackr@vmware.com>
+Date: Wed Feb 10 22:15:24 2010 -0500
+
+ st/dri: don't expose visuals we'll have trouble supporting
+
+ without getBuffersWithFormat some visuals will just cause headaches (crashes),
+ so if we're running on an older system simply don't advertise them.
+
+commit 3477dc4c48fe7b82ba4a8464233c2733f400c4e1
+Author: Zack Rusin <zackr@vmware.com>
+Date: Wed Feb 10 19:00:35 2010 -0500
+
+ st/dri, st/xorg: fix buffers that have attachements of different depth
+
+ we actually need to specify the formats for different attachements, otherwise
+ if the color buffer is 24bpp and the app asks for 16bpp depth buffer than
+ we end up fetching the depth from the drawable which is 24bpp and end up
+ creating the wrong depth buffer. use the new getBuffersWithFormat extension
+ to pass the depth correctly.
+
+commit 0426bccaddf973f2a0b9c9bb8bac7dd07ce18e0a
+Author: Andre Maasikas <amaasikas@gmail.com>
+Date: Fri Feb 12 16:20:50 2010 +0200
+
+ r600: be more exact in vb size calculation
+
+ to make kernel cs checker happier, last attribs don't need full stride of
+ space. Calculate as count-1*stride + size of attrib
+
+commit 841333cd21864369317cf16698cd0a61772ff875
+Author: Andre Maasikas <amaasikas@gmail.com>
+Date: Fri Feb 12 16:16:56 2010 +0200
+
+ r600: support GL_SHORT attributes
+
+ normalized seems to work with this setting.
+
+commit e541dceb67897dae1fed59fd6aeed4a320b1f03f
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Feb 12 13:59:16 2010 +0000
+
+ wgl: Go into dormant state when DLL is unloaded unclealy.
+
+ When our DLL is unloaded, even if we leave the data structures in memory
+ for sake of future calls, the MS CRT will destroy the heap. Instead we
+ make all calls no-ops by setting stw_dev to NULL.
+
+commit fea7a70a1a7cc7e5d2f6343451c48291a70dc94d
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Feb 12 13:22:59 2010 +0000
+
+ scons: Target Windows7.
+
+commit 426f607aaa28710b131d0be223ab6e9ae49cefd6
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Feb 12 11:00:22 2010 +0000
+
+ wgl: Do not reach out and destroy contexts on cleanup.
+
+ Simply skip cleanup when contexts are still active.
+
+ This addresses two issues:
+
+ - in some situations the ICD DLL may be unloaded before the DLL that is
+ using GL contexts is, so we may receive GL calls after stw_cleanup.
+
+ - when aborting (exception, or control-c) the contexts may have been left
+ in an inconsistent state and attempting to destroy can cause
+ unpredictable results.
+
+commit 408f32dc165b36eb5ec0e2bbc7dcecd28f3a62d3
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Feb 11 16:44:56 2010 -0700
+
+ svga: check min_index, max_index before assertions
+
+ It's possible for min_index and max_index to be ~0 if the min/max
+ values were not actually set or computed in the state tracker.
+ Skip some assertions in that case.
+
+ This only effects the debug build error checking.
+
+commit 94028edfc51b44ebaab274a61b938fdcfcf3b96c
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Feb 11 16:34:43 2010 +0000
+
+ gdi: Never fail at DLL load time.
+
+ Windows doesn't really expect things to fail at this point -- it
+ will try many times until it finally gives up, worse, something bad
+ happens.
+
+ The WGL state tracker will gracefully decline to do work even when it
+ is loaded.
+
+commit 7fec5f88a50ffa95a818f730c4ff91a6adf4a79e
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Feb 11 16:32:23 2010 +0000
+
+ wgl: Fail gracefully whenever 3D could not be enabled for some reason.
+
+commit 67007670bb0fec76ea9a69839c4caf337fb8bf1e
+Author: Michal Krol <michal@vmware.com>
+Date: Tue Feb 9 14:25:41 2010 +0100
+
+ mesa: Enable true refcounting for NullBufferObj.
+
+ This object can be shared with another context, so we cannot just
+ delete it when the owning context is being destroyed.
+
+ Ensuring that buffer objects are properly refcounted guarantees
+ NullBufferObj is destroyed when all references to it are removed.
+
+commit e8865f199d611458b765cc3efc8fb205dfe271eb
+Author: Michal Krol <michal@vmware.com>
+Date: Mon Feb 8 19:43:42 2010 +0100
+
+ mesa: Protect buffer objects reference counting with a mutex.
+
+commit 2d3262d47d57d71a55e5c61d4910c1f38cb0bb8c
+Author: Zack Rusin <zackr@vmware.com>
+Date: Tue Feb 9 21:12:57 2010 -0500
+
+ st/xorg: fix a silly offset bug in xv
+
+ we were multiplying the difference in the wrong direction.
+
+commit 3470d821baf5ffb9ab2e01edba5efe71e23088f1
+Author: Thomas Hellstrom <thellstrom@vmware.com>
+Date: Tue Feb 9 22:54:15 2010 +0100
+
+ vmware: Update vmwgfx_drm.h to kernel version.
+
+ Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
+
+commit 0371956d66cdc8a1629753fca9cb3cdc49b0d145
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Feb 9 11:21:15 2010 -0700
+
+ docs: fix typo: s/osdemo/osdemos/
+
+commit 45c4addea7f01939cd825ca205ef3fdf903236d9
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sat Feb 6 01:30:29 2010 +0100
+
+ vmware/core: Support drm interface version 1.0.0
+
+commit 1eba0eb37d430a3053eeed312cf19041e907daec
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sat Feb 6 01:29:47 2010 +0100
+
+ vmware/core: Use correct flags in scanout code
+
+commit d87fb5e0031be4cd33d79cba9b702176390347d9
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Feb 8 17:17:34 2010 +1000
+
+ radeon: fix UMS since stp addition.
+
+ UMS doesn't need the STP atom.
+
+ Signed-off-by: Dave Airlie <airlied@redhat.com>
+
+commit 4be7922a8e40aebaea5948927b29b94363a208b5
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Mon Feb 8 11:49:10 2010 +0200
+
+ r200: Fix UMS notto emit stp.
+
+ Polgon stipples are handled by kernel in UMS. Mark the
+ state as never to be emited for UMS.
+
+commit a1cac0732b53df8b08aa0ef1b440ea4398a467cc
+Author: Eric Anholt <eric@anholt.net>
+Date: Sat Feb 6 17:20:24 2010 +0100
+
+ intel: Check aperture size when doing a blit glClear.
+
+ Fixes failure in cairo-gl firefox-planet-gnome.
+ (cherry picked from commit 67e5fd73973eaedf5ec6e0b5139b61f6196fb35c)
+
+ Conflicts:
+
+ src/mesa/drivers/dri/intel/intel_blit.c
+
+commit fb32e0fcc551c335c358f3b14009714cfcfa872f
+Author: Eric Anholt <eric@anholt.net>
+Date: Sat Jan 30 15:11:09 2010 -0800
+
+ intel: Respect texture tiling when doing a PBO blit teximage upload.
+
+ Bug #26008. Fixes piglit pbo-teximage-tiling-2.
+ (cherry picked from commit 22bbc979944084ddffbb2c42a8178e172beaece0)
+
+commit 9564a6fa13b712d20003dde0d5f91ec026f4afc9
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jan 28 10:53:04 2010 -0800
+
+ intel: Set the region's tiling to none when attaching a PBO to a region.
+
+ Note that when detaching the PBO from the region and making a new BO
+ for the region, we don't make it tiled even if the region originally
+ was.
+
+ Fixes piglit pbo-teximage-tiling.
+ (cherry picked from commit f20e83210e81a33712f52eaa8d944d116b56b46c)
+
+commit 0b9990b2fdc42e3ee582f5e03ef640f296a63087
+Author: Eric Anholt <eric@anholt.net>
+Date: Sat Feb 6 17:16:18 2010 +0100
+
+ intel: Fix PBO blit ReadPixels from an FBO.
+
+ Bug #25921 -- clutter PBO usage gave unreliable results.
+ (cherry picked from commit 63b10e8fe71c1de5b0ee9aac72fd7303551f59a0)
+
+ Conflicts:
+
+ src/mesa/drivers/dri/intel/intel_pixel_read.c
+
+commit 8ce99c85e7cf2a3c3e8aec2df090abee7ee270ca
+Author: Eric Anholt <eric@anholt.net>
+Date: Sat Jan 9 02:03:13 2010 -0800
+
+ i965: Fix loads of non-relative-addr constants after a reladdr load.
+
+ Fixes piglit vp-arl-constant-array-huge-overwritten.
+ (cherry picked from commit d5b964234c37673ec6b444d0a8fa3b823f03fd05)
+
+commit a2c402ba53305190858aee6d03345b5e2084f904
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sat Feb 6 01:21:36 2010 +0100
+
+ vmware/core: Handle new scanout field
+
+commit 1ceb906c12bfd7b34ed08fef1873b9a73d3f3a10
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sat Feb 6 00:56:24 2010 +0100
+
+ vmware/core: Update header to latest version
+
+commit fb1fe8e76f133b8c9e3713cc7c263a8e63fab40c
+Author: Zack Rusin <zackr@vmware.com>
+Date: Fri Feb 5 19:22:45 2010 -0500
+
+ gallium/tgsi: fix soa dependencies in mul and cmp instructions
+
+ master has this done in a lot nicer way, this is a simple patch to
+ stop the bleeding in a minimally intrusive manner.
+
+commit f8b05566aacbcd0a0e1afa932a85921ed2568afc
+Author: Zack Rusin <zackr@vmware.com>
+Date: Fri Feb 5 19:04:11 2010 -0500
+
+ gallium/python: support two more formats in retrace dumps
+
+ dump PIPE_FORMAT_R8G8B8A8_UNORM and PIPE_FORMAT_R16G16B16_SNORM formats.
+
+commit a6148b8eba35a0d4efec4dcca5e3ac6d86708a58
+Author: Zack Rusin <zackr@vmware.com>
+Date: Fri Feb 5 18:57:10 2010 -0500
+
+ gallium/draw: fix overflowing element indices
+
+ we piggy back flags in the top four bits of the element indices, so if
+ the maximum index stored in any of the elements is greater than
+ sizeof(ushort) - sizeof(flags we piggy back) then we overflow. fix it by
+ simply falling back to the slow path if we notice the overflow.
+
+commit 64be837b0b171c44f47a3c0b83f566d292ffff50
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 5 14:53:58 2010 -0700
+
+ st/mesa: allow negative index for PROGRAM_STATE_VAR
+
+ The piglit vp-address-01 test uses negative address-relative
+ offsets. In this test we're indexing into PROGRAM_STATE_VAR
+ which, in turn, contains references to ENV vars.
+
+ We previously fixed this issue for PROGRAM_CONSTANT.
+
+ piglit/vp-address-01 (the version from Feb 5) passes now.
+
+commit e070c1d183b4dd45aa09e620b2bfe494a37b74bc
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 5 14:48:40 2010 -0700
+
+ tgsi: disable inf/nan checking
+
+ Inf/NaN can happen normally. Only check for those values
+ when we need to debug something.
+
+commit e6ee4b49c48ec7c2e7df2cff7b253b01e88e7101
+Author: Tom Fogal <tfogal@alumni.unh.edu>
+Date: Fri Feb 5 13:11:25 2010 -0700
+
+ docs: Fix a typo in mesa3d.org HTML.
+
+ Signed-off-by: Brian Paul <brianp@vmware.com>
+
+commit e65029e9b32ddabea0ec583c04484345b40f1557
+Author: Tom Fogal <tfogal@alumni.unh.edu>
+Date: Fri Feb 5 13:15:33 2010 -0700
+
+ osmesa: Add OSMesaColorClamp and OSMesaGetProcAddress to symbol defs.
+
+ Without this patch, the two symbols get an underscore prepended
+ and an "@4" appended when compiling with VC8.
+
+ Signed-off-by: Brian Paul <brianp@vmware.com>
+
+commit 3ca6cb3440705ffec470beb601cdc0c22089e3f1
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 5 12:48:37 2010 -0700
+
+ softpipe: fix bug in perspective corrected interpolants for lines
+
+ Thanks to Michal for finding this.
+
+ This will get fixed on the gallium-cylindrical-wrap branch and
+ then merged to master.
+
+commit 34b36277b70aaef733f59725b6784b129e180a2a
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Thu Feb 4 23:53:22 2010 +0200
+
+ r100: Add the polygon stipple state to the state list.
+
+ This fixes glean paths test case.
+
+commit c8ea0212fec0551d7101c92ae76809b29eb51e57
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Thu Feb 4 23:53:22 2010 +0200
+
+ r200: Add the polygon stipple state to the state list.
+
+ This fixes glean paths test case.
+
+commit 7d6cbcdd9a08b9417f476fa86b8b25a4afadce8e
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Tue Feb 2 20:50:22 2010 +0200
+
+ swrast/sse: Fix _mesa_sse_transform_pointsX_3d_no_rot
+
+ PXOR user in code were causing the lowest SP float register to have NaN
+ values which made all math operations in that slot fail. Correct istruction
+ to clear float registers is XORPS which handles single precission floats
+ correctly.
+
+ Fixes progs/tests/fog in swrast SSE mode.
+
+ Now the correct commit instead of 9d9c1f17dc6bcc7a2 which is not even close
+ of correct fix for the bug.
+
+commit 9d9c1f17dc6bcc7a240a8e2f6f53472f6124a8d7
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Tue Feb 2 08:10:04 2010 +0200
+
+ Revert "mesa: fix transform_points_3d_no_rot using undefined values in %xmm0"
+
+ This reverts commit 4c31632817a0bde28ad6c9ee8032d838ce4b7bfb.
+
+commit f1afb352daf0e74751c99254592eef863c64392a
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Feb 3 11:46:36 2010 -0700
+
+ scons: add another prefix for mingw32 on Fedora
+
+commit e4c3abbf55749b2094c7a306e1b261e6e33e645d
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Feb 3 08:17:34 2010 -0700
+
+ tgsi: fix XPD when dst reg is a src reg
+
+ Store XPD results in temporaries before writing to the dest register.
+ This issue has already been fixed in Mesa/master for XPD (and all
+ other instructions?).
+
+ Fixes progs/demos/bump.c when using TGSI interpreter (GALLIUM_NOSSE=1).
+
+ A new glean/glsl1 test has been added to test this case.
+
+commit 141b5775c0b12e156009743279f0239185e01d9c
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Feb 2 18:01:52 2010 +0000
+
+ svga: fix TXD and TXL opcode translation
+
+commit c0d5f1d3ad9a3f5a0993177af47720a4b1f85579
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Feb 2 17:45:32 2010 +0000
+
+ svga: deriv insns not valid in dynamic flow control either
+
+commit 70947e531e278b2e51e10b3805af66288a6b1f5d
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Feb 2 15:34:01 2010 +0000
+
+ svga: texture from lod zero inside dynamic branching
+
+ Texture derivatives are potentially undefined inside dynamic branches,
+ so hardwire lod zero in this case. Treating all if/endif and loop
+ constructs as dynamic branches.
+
+commit 7b92cb45b2f7076476b6a2f50ed044979b1eebe1
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Tue Feb 2 05:39:28 2010 +0200
+
+ r200: Fix EXT_fogcoord rendering.
+
+ The fogcoord calue was not pushed to GPU because of implicit float to int conversion.
+ Fix is to use float pointer to buffer object so no conversion is done in assigment.
+
+commit 43e4b584227534e30e487e7fb7e99d6501cbcd85
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Feb 1 18:45:36 2010 -0700
+
+ st/mesa: fix texture deallocation bug
+
+ This fixes a bug reported by Christoph Bumiller on mesa3d-dev.
+
+ When a texture is first created as RGBA, then re-defined with
+ glTexImage(internalFormat=GL_DEPTH_COMPONENT) we failed to deallocate
+ the original texture. When this texture was bound as a FBO surface,
+ the depth/Z surface format was RGBA instead of Z. Depending on the
+ driver this led to a failed assertion or FBO validation failure.
+
+ This patch does three things:
+
+ 1. Remove ancient code that mysteriously tested if we were replacing
+ the smallest mipmap level and tested if the texture was not a cube map
+ texture. I can't see any reason for those tests.
+
+ 2. Move the width=height=depth=0 test to after the code which frees
+ texture data. Calling glTexImage with width=height=depth=0 and data=NULL
+ is a way to free a single mipmap level.
+
+ 3. Update the code comments.
+
+ There are no apparent conform, glean or piglit regressions from this change.
+
+commit e0d01c9d7f46ccd531f8dd1a04c5ac067200ef1e
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Feb 1 17:31:12 2010 -0700
+
+ mesa: change _mesa_find_free_register() to find multiple free regs
+
+ Before, _mesa_find_free_register() would scan the given shader to
+ find a free/unused register of the given type. But subsequent calls
+ would return the same register again. This caused a failure in the
+ _mesa_remove_output_reads() function which sometimes needs several
+ free temps.
+
+ Now use a new function which build a vector of 'used' flags and another
+ function which searches that vector for an unused register starting at
+ a position that's incremented for each call.
+
+ Fixes fd.o bug 26317. Note that a regression test for this has been
+ added to the glean/glsl1 test.
+
+commit b90b3667a10f64a39e866dd528b0885511fc719e
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Feb 1 21:33:04 2010 +0000
+
+ mesa: Ensure object refcount is null when destroying the buffer.
+
+ Lets see if this is not too pedantic. Obj pointers are never exposed to
+ GL apps so it should be possible to get this right.
+
+ Furthermore apps with GL widgets and test suits create and destroy many
+ contexts and objects, so bad reference counting is not really an option.
+
+commit 0123a2d042236eb444ef79d5b2df91c15d0e6992
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Feb 1 21:30:50 2010 +0000
+
+ mesa: Fix null buffer object reference counting.
+
+ Always use _mesa_reference_buffer_object, and never call
+ ctx->Driver.DeleteBuffer() directly to prevent dangling pointers to the
+ null buffer object.
+
+ This fixes crash/assertions in sharedtex_mt and Autodesk Mudbox.
+
+commit 51a2cc54991f188e705c7348b5dedf16dadecf87
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Feb 1 21:22:10 2010 +0000
+
+ mesa: Always do proper ref counting of shared state.
+
+commit f5145a6ec3e9086988ab8ec004276f845fecc3d9
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Jan 29 17:11:36 2010 +0100
+
+ vmware/core: Remove old ioctl structs not used
+
+ Leftover that was never used in this driver
+
+commit ddedfe12d41808c3caa77649e3a9a6c4c6253d69
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jan 28 20:51:52 2010 +0000
+
+ svga: Actually call fence_reference in texture downloads.
+
+commit cb5447f79ca03d29407e8db84166f5bddd8d4c59
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 29 08:26:23 2010 -0700
+
+ glsl: fix preprocessor bug involving //-style comments in macro definitions
+
+ See comments for details.
+
+commit 9fd3c74724e557bc6ecc851d8552615ab3becfe2
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 28 13:05:36 2010 -0700
+
+ tnl: check that state is validated before drawing
+
+commit 4d1234e22242529c8d85f5ef0cf826af41a91570
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 28 13:05:23 2010 -0700
+
+ st/mesa: check that state is validated before drawing
+
+commit 3cba779e16935f7c3a0bfd8af48bd5e015068e96
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 28 13:04:16 2010 -0700
+
+ vbo: fix missing state validation bugs
+
+ Commit 2708ddfb06a36d8568e2aa130bf1f7d551fcd309 caused a few regressions.
+ We need to check/validate state after calling bind_arrays() because
+ it might set the _NEW_ARRAYS flag if the varying VP inputs change.
+
+ The symptom of this problem was some attribute arrays being ignored
+ (or interpreted as constant-valued) in glDrawRangeElements or
+ glMultiDrawElements.
+
+ A follow-on patch will add some additional asserts to try to catch
+ this kind of thing in the future.
+
+commit 23eda89ec89e2bd5bc26077bd56e8d6b5d4040d4
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 28 13:02:40 2010 -0700
+
+ mesa: do state validation in _mesa_valid_to_render()
+
+ ...rather than checking/validating before all the calls to
+ _mesa_valid_to_render() and valid_to_render().
+
+ The next patch will actually fix some bugs...
+
+commit 6e68898b05dc957dc6cb92d2ff060589e5936650
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Dec 26 21:05:31 2009 +0000
+
+ softpipe: Flush draw module when fragment pipeline state changes.
+
+commit 1befcd5a2ae8588f8d17d2ecea19dd4daccddb00
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Dec 26 11:01:05 2009 +0000
+
+ softpipe: Flush draw module before switching framebuffer.
+
+ Otherwise geometry might end up in the wrong rendertarget.
+
+commit 12ba3559785fa276b3b4b6fa06cfe551b87aecc3
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Nov 23 11:21:11 2009 +0000
+
+ llvmpipe: Use assert instead of abort. Only verify functions on debug builds.
+
+commit a0907a645f7d832e7c53d14c2ed88080b456a1a5
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Nov 15 06:46:48 2009 -0800
+
+ llvmpipe: Fix memory leak.
+
+commit 1acf7a09e762e6d8a26c8f0d919f5efa6df6e71f
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Nov 10 17:52:53 2009 -0800
+
+ llvmpipe: Use the generic conversion routine for depths.
+
+ This allows for z32f depth format to work correctly.
+
+commit 14dc02a1b2c52cf02b7f89885b61f42575834958
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Nov 10 17:51:06 2009 -0800
+
+ llvmpipe: Be more conservative with the supported formats.
+
+ We'll likely support much more formats, but doing this allows to run
+ more testsuites without immediately hit assertion failures.
+
+commit 88cf87bd5633c0e8155e4226fc49ab36f1abc335
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Dec 28 22:52:41 2009 +0000
+
+ llvmpipe: Unmapping vertex/index buffers does NOT flush draw module anymore.
+
+ Not since 6094e79f4e3350d123c7532b1c73faa60834a62d.
+
+ Drivers now need to flush draw module explicitely (which explains why
+ all those previous commits adding draw_flushes calls were necessary).
+
+ This is a good thing, but it's tricky to get this right in face of user buffers
+ (it's not even clear who has the responsibility to flush when a user buffer
+ is seen -- statetracker or pipe driver), so just force flush (temporarily)
+ since it's not a bottleneck now.
+
+commit 31b3420688dbf7fc2282f0d1fe13e51fe9e1f9b6
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Dec 26 15:21:16 2009 +0000
+
+ llvmpipe: Treat state changes systematically.
+
+ That is:
+ - check for no op
+ - update/flush draw module
+ - update bound state and mark it as dirty
+
+ In particular flushing the draw module is important since it may contain
+ unflushed primitives which would otherwise be draw with wrong state.
+
+commit 4e95983fa832cf0808ccab64e9fbfb0fcdde8049
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Dec 26 11:00:42 2009 +0000
+
+ llvmpipe: Flush draw module before switching framebuffer.
+
+ Otherwise geometry will end up in the wrong rendertarget.
+
+commit 4e506eac8f11a23249a46265b796c4764d9d045e
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Dec 16 15:06:02 2009 +0000
+
+ llvmpipe: add LP_DEBUG env var
+
+ Cherry-picked from dec35d04aeb398eef159aaf8cde5e0d04622b811.
+
+commit 46167149ceac96cf91f2031d2c58346b80f0834d
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Dec 14 15:27:35 2009 -0700
+
+ llvmpipe: fix broken TGSI_OPCODE_FRC codegen
+
+commit 96ec4eb755d0296c807ca5c89383a3b9f9fc1dbe
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Dec 14 15:24:31 2009 -0700
+
+ llvmpipe: fix broken lp_build_abs()
+
+commit e20547042c03e22234c9580f005286552bd4ae18
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Dec 15 14:46:43 2009 +0000
+
+ llvmpipe: Fix yet another copynpaste typo in lp_build_log2_approx.
+
+ Now fslight looks perfect.
+
+commit 0451d0fd01bdd4ee6a2497a3a1c749446739602e
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Dec 15 14:15:52 2009 +0000
+
+ llvmpipe: Fix lp_build_polynomial comment.
+
+commit aa8b23e077f8c4f4c517e58533a72db0fb861091
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Dec 15 13:58:53 2009 +0000
+
+ llvmpipe: Fix typo in lp_build_log constant.
+
+commit 4eb48a3af78beda4ee1628d0ecd6a437a0721a72
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Dec 15 12:13:43 2009 +0000
+
+ llvmpipe: Fix bad SI -> FP conversion into lp_build_log2_approx.
+
+ It should be a bitcast as the integer value is actually an encoded FP
+ already.
+
+commit 8db8adfd01a1ff1e2a160ae3b0199bd3daa4191a
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Thu Jan 28 17:59:26 2010 +0100
+
+ st/xorg: Update to new libkms interface but be backwards compatible
+
+commit 8e240d7e0eb640cc954f6d81119136e2d546d618
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Aug 10 18:45:07 2009 +0100
+
+ svga: remove sleep in DEBUG_FLUSH path
+
+commit 40298bf272c7fbb289b442b4424c2c17402ae322
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jan 28 17:11:02 2010 +0000
+
+ python/retrace: Dump all vertices for verbosity level 3.
+
+commit a0518e66b2960d3bab386985e24ccbc9c51abf97
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 27 17:08:03 2010 -0700
+
+ docs: Fixed Windows build for 7.7.1
+
+commit 82c76cd16f35f4d903f49761af7eb28a755ad299
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 27 16:25:59 2010 -0700
+
+ windows: assorted build fixes
+
+ These changes were originally submitted by Karl Schultz for Mesa 7.7-rc2
+ but weren't applied.
+
+commit 50e890bc51cfc278378f25cb70be79f1bad0b6b6
+Author: Rodolfo Ribeiro Gomes <rodolforg@gmail.com>
+Date: Tue Jan 26 14:20:06 2010 -0700
+
+ glx: fix possible memory leaks in dri2CreateScreen()
+
+ Original patch fixed up by Brian Paul.
+
+commit bba95570196dad29880426152a1b7fb77619296d
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Jan 27 12:18:02 2010 -0500
+
+ r600: fix warning
+
+commit 2041d3e4b76009687bb2a7752c3ee94e5c160357
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Jan 27 12:16:50 2010 -0500
+
+ r600: rv670 support 8 tex instructions just like other r6xx
+
+ also clarify some other const values.
+
+commit 77b7b3a1ab36f1dafa905dbe709d0d72dbc9d54d
+Author: Andre Maasikas <amaasikas@gmail.com>
+Date: Wed Jan 27 11:22:56 2010 +0200
+
+ r600: increase max texture units to 16
+
+commit 0dab80fbfb5703bfbeed691051c353aeca3aaa7a
+Author: Andre Maasikas <amaasikas@gmail.com>
+Date: Wed Jan 27 10:20:15 2010 +0200
+
+ r600: fix XPD with writemask
+
+ same variable used for 2 different temp registers
+ fixes e.g. glsl/bump
+
+commit e3257912e006120f6ab611e77005eed1a464030a
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Jan 27 16:25:31 2010 +0000
+
+ mesa: Warn when indices are out of bounds, but do not skip the draw in debug builds.
+
+ The driver (or preferably the hardware) should handle out of bounds
+ indices.
+
+ If there are problems then it's better to detect those in the debug
+ builds.
+
+commit 15fe4918223f04fa89d523220609abea0cac34e2
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Jan 27 15:41:25 2010 +0000
+
+ svga: Prevent buffer overflow in buffer ranges.
+
+ Do this by extending the nearest range to cover the new range.
+
+ This fixes an access fault in Call of Duty which was doing many disjoint
+ glBufferSubData calls.
+
+commit ac597f5acc8886a0c44aaa4f2484f9d569ae5d6d
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Jan 27 14:45:56 2010 +0000
+
+ svga: Fix PIPE_LOGICOP_INVERT.
+
+ Actually the current XOR implementation is an INVERT.
+
+ This fixes rectangle selection in Maya.
+
+commit 5cb255f0d7ab048355b454d69e44ab9735c8921e
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Jan 27 13:48:21 2010 +0000
+
+ svga: better path for generating white pixels for xor logicop workaround
+
+commit 2f28ca0a27cb0c539affb22c487c4bb44b6d54b4
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Jan 27 11:46:26 2010 +1000
+
+ radeon/r200/r300: don't clean non-emitted state.
+
+ So if we don't actually emit an atom to the hw because we don't
+ need it in the current state (e.g. lighting related atoms when
+ lighting is off) then don't mark it as clean, because when
+ lighting gets switched on we won't emit it at all.
+
+ This fixes funky gears colors.
+
+ Signed-off-by: Dave Airlie <airlied@redhat.com>
+
+commit 0580e488daba592d442ab8a45aa8441064dd2705
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Jan 27 11:02:32 2010 +1000
+
+ radeon: remove unused file
+
+commit 5435f790fd91fb7ca42693eb7b987e09a8c8c875
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Jan 25 19:46:40 2010 +0000
+
+ python: Add missing library on debug builds.
+
+commit 68ca19afd7299fa9c686f95d53b7e14df37aba4c
+Author: Erik Wien <wien@start.no>
+Date: Tue Jan 26 13:19:30 2010 -0700
+
+ mesa: Don't bind DRAW/READ_FRAMEBUFFER separately without FBO blit support
+
+ If GL_EXT_framebuffer_blit was not supported _mesa_DeleteFramebuffersEXT
+ would raise an error when deleting the currently bound framebuffer. This
+ because it tried to bind the default DRAW- and READ_FRAMEBUFFER separately.
+ This patch binds the default FRAMEBUFFER instead in that case.
+
+ Encountered in the fbo/fbo-copyteximage piglit test on R600.
+
+ Patch cleaned up a bit by Brian Paul.
+
+commit cbecb8fc8e85cfafed7fd8fd0e2dd1143efcf62b
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 26 12:49:44 2010 -0700
+
+ vbo: if 'end' is out of bounds, clamp it
+
+ If we determine that the 'end' parameter to glDrawElements() is out of
+ bounds, clamp it to the max legal index value.
+
+commit 645e297a0019eb2f7513bd801ffdaac03187f29f
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 26 12:47:51 2010 -0700
+
+ vbo: clamp DrawElements start/end to max possible values
+
+ Some apps are sloppy with their start/end values. Clamp them to
+ max possible values to prevent problems later.
+
+commit af1e9403e732651fe2cedde230ac7010f2f1a649
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 26 10:53:34 2010 -0700
+
+ mesa: remove redundant _MaxElement computation
+
+ Eric added some new code to check if offset < obj_size before computing
+ _MaxElement but my original code was still present afterward and it
+ clobbered the _MaxElement value.
+
+ Not sure if this came from a bad merge or what.
+
+commit 1d8b308cbf6e17f2703807152deaa1ee075882e2
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 26 09:12:32 2010 -0700
+
+ docs: document Intel, R300 env vars
+
+commit 6749310d3f60df70ad8f82db986871ab9496793b
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Mon Jan 25 20:07:43 2010 +0100
+
+ st/xorg: Fix crash on resize with libkms
+
+commit 0d051af6127d206d165a1034ca0795ce8fdcd389
+Author: Igor Oliveira <igor.oliveira@openbossa.org>
+Date: Mon Jan 25 09:53:53 2010 -0700
+
+ vega: fix incorrect samplers, textures indexes in blend_bind_samplers()
+
+ Fixes fd.o bug 25863.
+
+ Signed-off-by: Brian Paul <brianp@vmware.com>
+
+commit 6877c5de3c3ff39da514a74928ea270138cddff9
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Mon Jan 25 12:27:47 2010 +0100
+
+ vmware/xorg: Do buffer round-robin logic differently
+
+commit 0b482c4fbe69a807bb69bf92f37e362f818c664d
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Jan 22 18:28:40 2010 +0100
+
+ st/xorg: Improve options and print them to log
+
+ Set 2D acceleration to off by default
+ Get fallback debugging from the Xorg config
+ Also print if 3D acceleration is enabled
+
+commit a3b783ea294f348bf3424eeb4170dd7f0741519a
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Thu Jan 21 21:32:28 2010 +0100
+
+ vmware/xorg: Export pci_probe function for ugly chain-loading
+
+commit 36fd55f9f03b00263ee1ccf22bbb50e5ba048e80
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Thu Jan 21 21:23:22 2010 +0100
+
+ st/xorg: Export helper function for detecting modesetting
+
+commit 16cf7e14a6dee85fadc0ab4e7c066288c3362352
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Thu Jan 21 21:28:14 2010 +0100
+
+ st/xorg: Fix warning
+
+commit 47d30b0c2c36f952cc14deefb9f937f1b0a9b531
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Jan 24 18:18:17 2010 -0700
+
+ st/mesa: fix int->uint conversion for negative scissor bound values
+
+ Based on a patch by Xavier Chantry <chantry.xavier@gmail.com>:
+
+ If x+width or y+height is negative, then maxx or maxy will get a bogus value
+ when converting that to unsigned. Fix this by setting 0 as minimal value.
+
+ This was also triggered by teeworlds, but only with some combination of
+ resolution and map section. For example upper part of dm2 at 1280x1024.
+
+commit e88d6fe299cb43eedfae7f0fa3bb14c8086a8cd4
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Jan 24 17:54:44 2010 -0700
+
+ mesa: move _mesa_debug() call earlier in _mesa_Scissor
+
+ Part of a patch from Xavier Chantry <chantry.xavier@gmail.com>
+
+commit fdfa4c85297d5d25e7256bf73e35309b358af86c
+Author: Xavier Chantry <chantry.xavier@gmail.com>
+Date: Sat Jan 23 17:27:21 2010 +0100
+
+ st/mesa: fix unsigned/signed breakage in scissor
+
+ commit 53174afeeb introduced a portability change that converted GLint x,y
+ to GLuint. That breaks when x and y are negative, which seems to be allowed,
+ and which at least one game uses : teeworlds.
+
+ Rather than simply reverting the change, it seems possible to convert the
+ 16bit unsigned to GLint so that comparisons are made between signed integers
+ instead. This hopefully does not break anything while keeping MSVC happy.
+
+ Signed-off-by: Xavier Chantry <chantry.xavier@gmail.com>
+ Signed-off-by: Brian Paul <brianp@vmware.com>
+
+commit e85cb98a169f83e1a1ad7f17cbbedaee0ea47fe1
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Jan 24 00:17:00 2010 -0800
+
+ r200: Silence fprintf format warning.
+
+commit e02dc139520fab9f7189e0ae390f72ed674bb7d7
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Jan 23 23:18:33 2010 -0800
+
+ x86: Do not build read_rgba_span_x86.S on Mac OS X.
+
+ read_rgba_span_x86.S uses the pseudo-ops .hidden and .type which are
+ not recognized on Mac OS X.
+
+commit f429b80fffc57a6165b76e9345cf5b9383edd650
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Jan 23 23:12:34 2010 -0800
+
+ x86: Do not use .hidden pseudo-op on Mac OS X.
+
+ The .hidden directive is an unknown pseudo-op on Mac OS X.
+
+commit bc75ec0f3824176f3fd7182846b3ec36051945b3
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Jan 23 22:59:31 2010 -0800
+
+ glapi: Do not use .type pseudo-op on Mac OS X.
+
+ The .type directive is an unknown pseudo-op on Mac OS X.
+
+commit 6b55aacccbbc2c86f03eafab23d5d74bc165c9ed
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Jan 23 21:43:26 2010 -0800
+
+ scons: Do not use ld options start-group and end-group on Darwin.
+
+ Mac OS X ld does not support these options.
+
+commit d57ba16ae3943a93071ef1bbab4a13725b8ea20c
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Jan 23 21:05:58 2010 -0800
+
+ scons: Define _DARWIN_C_SOURCE on Darwin builds.
+
+commit 7f2f42dd8093e585a6edff2b1173cc39fc6391df
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Jan 23 20:56:49 2010 -0800
+
+ progs/demos: Remove unnecessary header from shadowtex.c.
+
+commit b62b524fee5f1b9ec9b53cc8f550a0c9a3d769c2
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Jan 23 20:43:27 2010 -0800
+
+ r300: Remove unnecessary headers.
+
+commit fb6bff3712d71cfe131fbf70154d326cdf39e7c8
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Jan 23 14:33:29 2010 -0800
+
+ intel: Remove unnecessary headers.
+
+commit 146a77af3f68d3a935fad5b143123280049e6c60
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Jan 23 02:14:56 2010 -0800
+
+ radeon: Remove unused variable.
+
+commit 4bad0aef40b87cf1a2ef8ecb5cd560d8a162d0ec
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Jan 23 01:54:53 2010 -0800
+
+ tdfx: Remove unnecessary headers.
+
+commit 283d9565bf18b828e1bc6ed8ef2692132b4e359e
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Jan 23 01:40:44 2010 -0800
+
+ sis: Remove unnecessary headers.
+
+commit 09a142e5db8dc72407ffb16a1a4e02d6540f6095
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Jan 23 00:38:14 2010 -0800
+
+ savage: Remove unnecessary headers.
+
+commit ca54a5b92043ba9564aca5af47f8c57a53cc48bc
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Jan 23 00:19:29 2010 -0800
+
+ mga: Remove unnecessary headers.
+
+commit 634ec5c2abf05a9a8c27d9199ded5d1ad91e538a
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Jan 22 23:53:39 2010 -0800
+
+ i965: Remove unnecessary headers.
+
+commit 329c1b59106cf4ada27eaa4694600dc281d8c0de
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Jan 22 23:22:16 2010 -0800
+
+ i915: Remove unnecessary headers.
+
+commit 5e78903952961fc207b8da1f7b2d0c6ddfd49881
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 22 17:17:01 2010 -0700
+
+ gallium/util: fix incorrect shift in a4r4g4b4_put_tile_rgba()
+
+ Fixes fd.o bug 23313.
+
+commit 099e8ec54d4f7b9cd9ae3a481d6a6ae60f4590be
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 22 15:41:08 2010 -0700
+
+ mesa: re-implement _mesa_ProgramEnvParameter4fvARB() with memcpy()
+
+ This is faster and ensures that NaN floats get stored properly.
+ Before, NaN values (which might be used with UP2H, UP2US, UP4B and
+ UP4UB) weren't getting stored properly with gcc -O3.
+
+ This is the second part of the fix for the piglit fp-unpack-01 failure
+ (bug 25973).
+
+commit 8d1a01d37039a76ecbb8fdb4c10ff8d11aa02dfb
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 22 15:36:28 2010 -0700
+
+ mesa: use new fetch_vector1ui() function for 'unpack' GPU instructions
+
+ The UP2H, UP2US, UP4B and UP4UB instructions interpret the float
+ registers as integers. With gcc -O3 some bits were getting mixed up
+ somewhere. This is part of the fix for the piglit fp-unpack-01 test
+ failure (bug 25973).
+
+commit efde2df114c2c15212198cb196b50cd29bd75f70
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 22 13:07:04 2010 -0700
+
+ xlib/softpipe: more buffer free fixes
+
+ The previous memory leak fix didn't always work properly.
+ Now check the xm_buffer::smh field (now documented!) to
+ see if the buffer points to shared memory.
+
+commit 64871747bb7b611ffe429fbf1724bd98ee25dd84
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 22 11:45:40 2010 -0700
+
+ gallium/draw: apply DRAW_PIPE_FLAG_MASK to all vertex elements
+
+ Depending on first/last provoking vertex either the first or last
+ element/index may have the extra DRAW_PIPE_x flags. Mask off those
+ bits for all vertex elements to be safe (esp. for the quad case).
+ This may be overly cautious, but it's a cheap operation.
+
+ Fixes a segfault caused by large/bogus vertex indexes otherwise.
+
+commit 5ab0d49a07fb81b7545463310c91ada596e26e72
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 22 11:39:19 2010 -0700
+
+ gallium/draw: added comments, whitespace fixes
+
+commit 96280c2a41e5fda570ba37ff5fca87f2cde59234
+Author: Ruediger Oertel <ro@suse.de>
+Date: Fri Jan 22 06:53:27 2010 -0800
+
+ Fix PowerPC related typo in spantmp2.h
+
+ Signed-off-by: Matthias Hopf <mhopf@suse.de>
+ Signed-off-by: Brian Paul <brianp@vmware.com>
+
+commit 383f460cf7472af4a526668c2412ab08ea30c0ec
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jan 21 21:18:25 2010 -0800
+
+ vmware/core: Update for pipebuffer changes.
+
+ In particular, delay patching GMR relocations until the buffers are
+ validated, since the buffers relative offset can only be established then.
+
+commit 3f6d732bfbe36b87f735d4f2287b21ad2ddd7535
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Jan 21 23:41:57 2010 -0800
+
+ st/mesa: Remove unnecessary header from st_cb_viewport.c.
+
+commit 8bc3c06d86b9c4b440402f1ca419da3045d2ed25
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Jan 21 23:24:40 2010 -0800
+
+ progs/trivial: Remove unnecessary header from tri-fbo-tex-mip.c.
+
+commit a1c5d8f61df9d9e22bcb0fc37a602ab712958151
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Jan 21 23:09:06 2010 -0800
+
+ i915g: Remove unnecessary header.
+
+commit cea9250ff0fc8bfa0408b635ae2ef36bc0616e2e
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Jan 21 23:07:29 2010 -0800
+
+ pipebuffer: Remove unnecessary header.
+
+commit dc544ad9c6e6e24fd2f19dfe83aa294d218f7310
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Jan 21 22:57:12 2010 -0800
+
+ draw: Remove unnecessary headers.
+
+commit e8b5203fbb7657980a4ba421e14d656b42d2a35f
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Jan 21 17:24:07 2010 -0800
+
+ svga: Remove unused variable.
+
+commit a626565178fb810f439fbdfdaf6cc28a973a6a81
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jan 21 15:51:37 2010 -0800
+
+ vmware/core: Flush preemptively the FIFO commands to keep the GMR working set within reasonable bounds.
+
+commit beb8e8f2f2de0c1221090554159129665a79a292
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jan 21 15:47:52 2010 -0800
+
+ vmware/core: Put GMR pool size in a define.
+
+commit e45579e50ba3b9736465f68377b3f5d0afb7c1da
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jan 21 15:27:26 2010 -0800
+
+ vmw/wgl: Update for pipebuffer changes.
+
+ This is a minimum change to keep things building and running minimally -- it
+ might cause applications to fail to allocate buffers due to out of
+ GMR memory.
+
+ A proper update will be commited later.
+
+commit 31e49dc54ee2d8b2c50ed1d19ab973f72a60f8d8
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jan 21 12:12:47 2010 -0800
+
+ svga: Remove duplicate code.
+
+commit 50edefec2dd5ec2990ab2cd699478139173d5fd2
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jan 21 14:24:53 2010 -0800
+
+ svga: Remove unused code.
+
+commit 9782d7cdf39c141d816efc48333d6a70ed3f2ac6
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Jan 20 03:45:17 2010 -0800
+
+ svga: Don't swap buffers to system memory -- winsys' responsibility.
+
+commit c4ceba114161c029ecd2812eb075654b4411b59c
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jan 21 12:43:40 2010 -0800
+
+ pipebuffer: Release the lock during map wait. Cleanups.
+
+commit 3498616b03f4b1da7a2a74ed83e95aee77204a2f
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Jan 20 03:43:53 2010 -0800
+
+ pipebuffer: Swap buffers out to system memory when running out of memory.
+
+commit 0bc885188464446dd94542e0af15f3985dcdf684
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jan 21 12:13:27 2010 -0800
+
+ svga: Avoid synchronization issues when doing SW TNL.
+
+commit 8410f7cde30cc1170ae266cf3a0eb7e0e37c454a
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jan 21 09:42:05 2010 -0800
+
+ mesa: Use pipe_buffer_write_nooverlap where appropriate.
+
+commit 37246f854b49101b5a112cd5a0bd93bab1b78f7a
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jan 21 09:38:47 2010 -0800
+
+ util: Set DISCARD & UNSYNCHRONIZED when uploading vertices sequentially.
+
+commit 17974949464b75f25f635443067b4495bb451248
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jan 21 09:32:17 2010 -0800
+
+ util: Use pipe_buffer_write_nooverlap in blits / mipmap generation.
+
+commit a8477fb00c1a7b8bfefb5779bc05c51cdb29cdb5
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jan 21 09:30:22 2010 -0800
+
+ gallium: New inline to write buffers which avoids synchronization.
+
+commit 707b28136f7b7dea49bce23b0fcd0a757646ff7a
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jan 21 09:19:25 2010 -0800
+
+ gallium: Set PIPE_BUFFER_USAGE_DISCARD flag in pipe_buffer_write.
+
+commit 13c2475339d502644464041fcaac3890770d3abd
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jan 21 09:13:15 2010 -0800
+
+ gallium: Remove temporary hack for the absence of a discard flag.
+
+ PIPE_BUFFER_USAGE_DISCARD flag now exists.
+
+commit 0ae076bf40782c48b1b26ca63ed2c349532dd81e
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jan 21 12:12:33 2010 -0800
+
+ svga: Follow buffer usage semantics properly.
+
+ It's necessary to download buffers from the host always, except if the
+ buffer is undefined, because:
+ - just PIPE_BUFFER_USAGE_CPU_WRITE doesn't guarantee all data is written
+ -- old contents may still pierce through
+ - PIPE_BUFFER_USAGE_DISCARD refers to a range, not the whole buffer, so
+ unless we track which parts have been modified and not we still need
+ to download the data.
+
+commit efc08bddb7622e4acfa795b58e1264b64b78ab4f
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Jan 21 15:05:21 2010 -0800
+
+ st/xorg: Remove unnecessary headers.
+
+commit 2cf8164065b8704e2f32d77af14cde9e7979435c
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Thu Jan 21 17:30:16 2010 -0500
+
+ r200: fix CS section size mismatch
+
+ Partial fix for fdo bug 25544
+
+ The tex handling will still need CS drm changes,
+ see bug 25544 for more.
+
+commit 4222bf3d3c7c85112f2e21bd3ea29b1f496ed8bb
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Jan 21 14:31:15 2010 -0800
+
+ llvmpipe: Remove unnecessary headers.
+
+commit c50fe2c55cfe9c858b7b7859da79edb0693ee8bd
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Jan 21 12:12:11 2010 -0800
+
+ svga: Remove unnecessary headers.
+
+commit e19b3c01f4442e2c85c6df19847368ecb7b2451f
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Jan 20 22:52:49 2010 -0800
+
+ mach64: Remove unnecessary headers.
+
+commit 7c66211b7dcf302685b8cc3f80a4d90b73d7d62d
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Jan 20 22:02:51 2010 -0800
+
+ i810: Remove unnecessary headers.
+
+commit 0bc2cbf82a20c0fa5b160605eb7e8118791f5fdd
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Jan 20 16:27:44 2010 -0800
+
+ ffb: Remove unnecessary headers.
+
+commit a416123f5b0f05d95eb334473473f660c22b439e
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 20 10:32:13 2010 -0700
+
+ xlib/softpipe: fix buffer memory leak
+
+ Fixes leak caused by window resize.
+
+commit 65d2a266375cf32fd90c7fb77fb87993d3a652ea
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 20 08:03:46 2010 -0700
+
+ st/mesa: fix format logic in compatible_src_dst_formats()
+
+ We need to consider the user-requested formats, not the actual device-
+ chosen formats. See code comments for more details.
+
+commit 4e34c5d0b5ef36d4a107e93653937f7715ce2c5a
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 19 16:42:43 2010 -0700
+
+ docs: updated Mesa mailing list info
+
+commit 9f728ed1c9c7255554109299508a78b9fbb1cdb6
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Jan 20 14:53:38 2010 +0000
+
+ st/xorg: Fic bug and close drm_api at proper place
+
+commit e3cb614f932ac417d446c84bd54f86d01b1cdcd9
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Jan 20 00:08:54 2010 -0800
+
+ softpipe: Remove unnecessary headers.
+
+commit ac2a665fd75249e02838ec63ef4a5b3db093ceb1
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Jan 19 22:47:03 2010 -0800
+
+ i915g: Remove unnecessary headers.
+
+commit bea9ed4dc6abbcf2b95f5f55554800d4f41da47a
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Jan 19 22:26:01 2010 +0100
+
+ svga: Do a more propper creation of textures from handles
+
+commit c78fe6e050c311a3d53ccb091686a65ee6933a90
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Jan 19 23:29:56 2010 +0100
+
+ st/xorg: Don't leak BusID buffer
+
+commit 65354a7e3d8fd094837b7a999e8975dcfbd9d9c9
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Jan 19 17:14:19 2010 +0000
+
+ st/xorg: Pass kernel driver name to drmOpen
+
+commit a5fb5d6a54195d19942482873d0738eaade9e986
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Jan 19 16:46:28 2010 +0000
+
+ st/drm: Expose kernel driver name
+
+ Based on patch by Chia-I Wu <olvaffe@gmail.com>
+
+ Expose the name of the kernel driver as accepted by drmOpenByName.
+
+commit 116a02be2264807dafb5fdfd4e3c913bb728c11f
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Mon Jan 11 11:41:47 2010 +1000
+
+ st/dri: update dri2 drawables when viewport is changed
+
+ Fixes gnome-shell on nouveau, as well as window resize with various
+ other applications.
+
+ Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
+
+commit e88294328cb71dc32941556da5bd4ed40e8b95f1
+Author: Luca Barbieri <luca@luca-barbieri.com>
+Date: Sat Jan 16 23:19:19 2010 -0800
+
+ glx: Set GL context to null in __glXSetCurrentContextNull
+
+ __glXSetCurrentContextNull currently does not set the GL context to null
+ in the direct rendering case.
+
+ This can result in a segfault trying to flush an invalid old context
+ in glXMakeCurrent.
+
+ This fixes a crash starting the Unigine demos (they still don't work due
+ to missing extensions though).
+
+ Signed-off-by: Brian Paul <brianp@vmware.com>
+
+commit 7a39a5c1cb5087a1b8247f9bed59bf9374717cb3
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Jan 19 06:13:44 2010 -0800
+
+ wgl: Check for PIPE_TEXTURE_USAGE_DISPLAY_TARGET support in exported color pixel formats.
+
+ Since all formats we export have PFD_DRAW_TO_WINDOW flag.
+
+commit 5e870f4fe9e71b7f467f2a0b03934352f90846cc
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Jan 19 06:12:10 2010 -0800
+
+ wgl: Don't export pure-stencil pixel formats.
+
+ They cause DCT's conform to always fail.
+
+commit e5da7b8548842500e751b133b96b28113fbe0d76
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Jan 19 05:39:18 2010 -0800
+
+ softpipe: Fix vertex buffer memory leak.
+
+commit faa99dd31de7dad4e9851b12f7f788adb6fce0fc
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Jan 19 00:45:16 2010 -0800
+
+ unichrome: Remove unnecessary headers.
+
+commit 45a27eacd6301078c6f62682193dda3141088fe2
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Jan 18 22:50:08 2010 -0800
+
+ mesa: Remove unnecessary header from attrib.c.
+
+commit 2613fa815abd7d794ec7144f0ad19ef4f65da991
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Jan 18 22:45:23 2010 -0800
+
+ mesa: Remove unnecessary header from blend.c.
+
+commit c4ad036ce145ab04677b6e40c18315906b897a31
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Jan 18 22:17:03 2010 -0800
+
+ mesa: Remove unnecessary headers from buffers.c.
+
+commit 7366d8e7d20efc673702d7c6c9603d507edcf06d
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Jan 18 21:56:58 2010 -0800
+
+ mesa: Remove unnecessary header from convolve.c.
+
+commit 08063ba4499c47c9b55c80878a668050c6272c30
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Jan 18 21:41:31 2010 -0800
+
+ mesa: Fix typo of 'unknown' in debug.c.
+
+commit b36b85f9d0c721188582e6daa3328ab9766f85c0
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Jan 18 21:37:18 2010 -0800
+
+ mesa: Remove unnecessary headers from debug.c.
+
+commit 6deb8c9831c60ed5ae93966b5a37d1215b8682a4
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Jan 18 21:34:25 2010 -0800
+
+ mesa: Remove unnecessary header from depthstencil.c.
+
+commit 2660511ea94c2d3abe8495258f7ea693cae3759e
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Jan 18 21:31:02 2010 -0800
+
+ mesa: Remove unnecessary headers from dlist.c.
+
+commit 7395ab042aedb3ef29d3c5d974138bc4430cb772
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Jan 18 21:22:47 2010 -0800
+
+ mesa: Remove unnecessary header from drawpix.c.
+
+commit 0b3109aa053539b2e07ec16da980615f16dd8c2b
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Jan 18 21:17:45 2010 -0800
+
+ mesa: Remove unnecessary header from enable.c.
+
+commit 536e3c9168c315651210ca853eb8cb4423f9f71c
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Jan 18 21:14:04 2010 -0800
+
+ mesa: Remove unnecessary headers from fbobject.c.
+
+commit b6dce54214c804e46aab05acd03a64c35a9baa63
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Jan 18 21:07:53 2010 -0800
+
+ mesa: Remove unnecessary header from formats.c.
+
+commit 2cbc3e0a206b701780c893cf96507778ab1fb5a1
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Jan 18 21:02:19 2010 -0800
+
+ mesa: Remove unnecessary header from image.c.
+
+commit 65fa11959f118a75a82d1e432df0b635d316889f
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Jan 18 19:33:13 2010 -0800
+
+ softpipe: Skip depth testing for PIPE_S8_UNORM.
+
+commit 8fb92e96e90a8cb57da78444fd3395aba424cb0a
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Jan 18 19:32:36 2010 -0800
+
+ mesa: Handle PIPE_FORMAT_B8G8R8X8_UNORM.
+
+commit bcadde2068563b818a280e40e6189191e10fd371
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jan 14 15:07:20 2010 +0000
+
+ pipebuffer: Ensure buffer size/alignment is not zero.
+
+commit dc298559c6c838d8ad744e07c134a1c8846c9b33
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jan 14 15:06:48 2010 +0000
+
+ svga: Ensure buffer size/alignment is not zero.
+
+commit ebd10755984d582fa65c71b58bc20015e2ea9caf
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Jan 18 19:32:51 2010 -0800
+
+ mesa: Remove unnecessary headers from lines.c.
+
+commit d0125e3c29942ae7a81a66748ea53b402114993d
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Jan 18 19:23:47 2010 -0800
+
+ mesa: Remove unnecessary header from mipmap.c.
+
+commit ed5a116eb411aed2a2f1986a1effbb8a426b0065
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Jan 18 19:20:56 2010 -0800
+
+ mesa: Remove unnecessary header from pixel.c.
+
+commit 2f83948370c686d1f5f0b1e0d23b5286169e850d
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Jan 18 19:14:23 2010 -0800
+
+ mesa: Remove unnecessary headers from pixelstore.c.
+
+commit 419ae5a48339795d369a41d66312246b2e19f201
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Jan 18 19:10:05 2010 -0800
+
+ mesa: Remove unnecessary header from points.c.
+
+commit 80ea879cfa63354ec1312a107f63934c1e6c7824
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Jan 18 19:03:54 2010 -0800
+
+ mesa: Remove unnecessary header from polygon.c.
+
+commit 66035503532a17110e36d1d1053e98a1595d03d9
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Jan 18 18:54:54 2010 -0800
+
+ mesa: Remove unnecessary header from state.c.
+
+commit ec29ba12a687c8a08ecba002216bbd9f56facef0
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Jan 18 18:52:24 2010 -0800
+
+ mesa: Remove unnecessary headers from texcompress.c.
+
+commit f8db32acbd03079d4ef30daa1db1339aa35b5cfb
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Jan 18 18:14:03 2010 -0800
+
+ st/dri: Add comment for intentional fallthrough in case statement.
+
+commit 28576c9ac5a3b6459d94822f333d2e3fbefe5003
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jan 18 11:26:55 2010 -0700
+
+ st/mesa: change instruction count assertion to > 0
+
+ Shaders should at least have an END instruction.
+
+commit e978b24c87be6d7572ed3272e6b186d5c54fb414
+Author: Marcin Slusarz <marcin.slusarz@gmail.com>
+Date: Mon Jan 18 10:48:06 2010 -0700
+
+ st/dri: fix optionCache memory leaks
+
+ Signed-off-by: Brian Paul <brianp@vmware.com>
+
+commit 23ae31820042f2bc4694f7c48696a697d674b802
+Author: Marcin Slusarz <marcin.slusarz@gmail.com>
+Date: Sun Jan 17 14:49:34 2010 -0800
+
+ glxgears: unbind current context before "destroying" it
+
+ glXDestroyContext does not destroy the context if it's still
+ connected to some window. Unbind context from window to test it.
+
+ Signed-off-by: Brian Paul <brianp@vmware.com>
+
+commit ccc888c39ee8a7c460dca5b1b659d28dbbc4c689
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Jan 15 01:29:13 2010 +0000
+
+ st/xorg: If dri2 version is 2 support version 1 as well
+
+ Thanks to X server commit 2e2c5b216cc1c7a9bc26bd2c68226aaed5fc52ca
+ it is possible to be ABI compatible in version 2 with version 1 of
+ the DRI2 interface.
+
+commit 3e1241d4f872cca96616edcbdcaea5b59d37e78f
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Jan 15 01:14:55 2010 +0000
+
+ st/xorg: Set enforce version to 1 if not defined
+
+commit ae97520e37ee70c813a198c805c7338aefbd8156
+Author: Thomas Hellstrom <thellstrom@vmware.com>
+Date: Mon Jan 18 15:55:17 2010 +0100
+
+ ws/vmware: Check DRM version also when bootstrapping in dri2 mode.
+
+ Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
+
+commit 5f2d60a7154f896bb418231662663465269ce9b8
+Author: Thomas Hellstrom <thellstrom@vmware.com>
+Date: Mon Jan 18 13:33:08 2010 +0100
+
+ st/dri: Don't request a fake front if the server adds one automatically.
+
+ We use the presence of the getBuffersWithFormat extension function to
+ detect whether the server automatically adds a front.
+
+ Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
+
+commit d773f28ff29a0abbb9f856cb4a3c60fcaeea1d3b
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Jan 18 00:47:56 2010 -0800
+
+ mesa: Remove unnecessary headers from texformat.c.
+
+commit 39824945fa738666b4bb804382904b0537322878
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Jan 18 00:14:51 2010 -0800
+
+ mesa: Remove unnecessary headers from texgetimage.c.
+
+commit 6938dccf1ac0955026ac68794a03f49bc370fd44
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Jan 17 22:31:53 2010 -0800
+
+ mesa: Remove unnecessary header from teximage.c.
+
+commit c847e7d07b3f43d5c05a920cf6326b89b31ed92b
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Jan 17 20:50:15 2010 -0800
+
+ mesa: Remove unnecessary header from texobj.c.
+
+commit 59eed7a2015cf301ea20392febc0de6b8d1ee0b1
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Jan 17 16:21:11 2010 -0800
+
+ mesa: Remove unnecessary header from texparam.c.
+
+commit 3e876431d01c50b5672d0ad28f7f8dbd20670616
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Jan 17 16:08:59 2010 -0800
+
+ mesa: Remove unnecessary headers from texstate.c.
+
+commit 6b6ac9aca08603fb0e3f91bf53fd6d49a1701e2a
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Jan 17 15:48:39 2010 -0800
+
+ mesa: Use preprocessor to comment out code.
+
+commit ae943f8e202fc3791bd56ac863e5493cd17bb44c
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Jan 17 01:49:16 2010 -0800
+
+ mesa: Remove unnecessary headers from vtxfmt.c.
+
+commit 97e44cde17ce508fd3708d391f7701e1919352fb
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Jan 16 23:41:05 2010 -0800
+
+ mesa: Remove unnecessary headers from arbprogparse.c.
+
+commit 97fc7ae69f4e620a5b14a3dbe574c4810741293c
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Jan 16 16:15:37 2010 -0800
+
+ mesa: Remove unnecessary header from nvvertparse.c.
+
+commit 5a4d5b694c0fa92b613bd73138d32f68b966a56c
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Jan 16 16:06:58 2010 -0800
+
+ glsl: Remove unnecessary header from prog_execute.c.
+
+commit 148498d8cc897d70c54e9ddc09e957a855a597d4
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Jan 16 15:51:52 2010 -0800
+
+ glsl: Remove unnecessary header from prog_statevars.c.
+
+commit 0d622420826ccbf35eed80b663994ffb918dc9a1
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Jan 16 15:35:56 2010 -0800
+
+ glsl: Remove unnecessary headers from shader_api.c.
+
+commit 1f7762f62bb082fceb579434a4ca78f13d78da49
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Jan 16 15:00:29 2010 -0800
+
+ glsl: Remove unnecessary header from slang_emit.c.
+
+commit 89950fbe24a351fbb10330b6695d653c9f2d6887
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Jan 16 13:29:15 2010 -0800
+
+ st/mesa: Remove unnecessary header from st_cb_drawpixels.c.
+
+commit 59db91e2eec1e755de71deba87227a647845b1c9
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Jan 16 02:20:51 2010 -0800
+
+ glsl: Remove unnecessary header from slang_builtin.c.
+
+commit 535084996b050a75f230dc10c15bd6239e2aa08a
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Jan 16 02:16:24 2010 -0800
+
+ glsl: Remove unnecessary headers from slang_compile.c.
+
+commit 1d3bdc20908f860316e0bfeaa54dc8fa6d344d0c
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Jan 16 02:02:49 2010 -0800
+
+ glsl: Remove unnecessary header from slang_link.c.
+
+commit 10bd931949d8dd3c63fe8bcc00899875d7dde105
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Jan 16 01:50:08 2010 -0800
+
+ glsl: Remove unnecessary header from slang_log.c.
+
+commit 533b6e8deb3443719bd82c57c79ec106e5473589
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Jan 16 01:39:04 2010 -0800
+
+ st/mesa: Remove unnecessary header from st_atom_framebuffer.c.
+
+commit 3eb85bf7d941aff1c72e0e0e2d8af18b8b7e496a
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Jan 16 00:52:34 2010 -0800
+
+ st/mesa: Remove unnecessary header from st_atom_pixeltransfer.c.
+
+commit bc639f291bd6127730845f9e6208e48e51cb83ff
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Jan 16 00:45:36 2010 -0800
+
+ st/mesa: Remove unnecessary header from st_atom_sampler.c.
+
+commit 227fc5a3083290bf8c494f1f08e911eed6e4cfcc
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Jan 16 00:36:31 2010 -0800
+
+ st/mesa: Remove unnecessary header from st_atom_shader.c.
+
+commit cc2f2268f5fcfbc7d942fab82a1bb00ac496fc23
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Jan 16 00:30:25 2010 -0800
+
+ st/mesa: Remove unnecessary headers from st_cb_accum.c.
+
+commit e1d4781cd49cd6df2fed171ad6e034f576f219a8
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Jan 16 00:08:54 2010 -0800
+
+ st/mesa: Remove unnecessary headers from st_cb_bitmap.c.
+
+commit cc770c8409b31dd2dff7dd80cf441f90f191a048
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Jan 15 23:17:00 2010 -0800
+
+ st/mesa: Remove unnecessary headers from st_cb_blit.c.
+
+commit 6906bf08cc0ca43cd4fd1a2c6f841ad87c232ece
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Jan 15 23:02:07 2010 -0800
+
+ st/mesa: Remove unnecessary headers from st_cb_clear.c.
+
+commit 668d871d95e74862953c90e04e4f04ed02526421
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Jan 15 22:55:47 2010 -0800
+
+ st/mesa: Remove unnecessary headers from st_cb_drawpixels.c.
+
+commit adcde22952bb94dd73785bf5971a317e929fbec9
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri Jan 15 22:23:40 2010 -0500
+
+ r600: fill in some missing XRGB tex formats
+
+commit 81eed59a2c6add1d1514574bf7c3b29b1bf6e8c0
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri Jan 15 20:54:12 2010 -0500
+
+ r600: set tiling correctly for texturing from depth buffer
+
+commit 114ab07aee9cc3f007a22ae4642e5c4302900d2f
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri Jan 15 20:53:53 2010 -0500
+
+ r600: fix typo in SQ setup
+
+commit 56cd5806e89fea9598e296ce656dfe550bf2b96e
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Jan 15 18:24:12 2010 -0800
+
+ st/mesa: Remove unnecessary header from st_cb_fbo.c.
+
+commit a9f625543169e0919c507966889d82ecf9db4c5f
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Jan 15 18:20:56 2010 -0800
+
+ st/mesa: Remove unnecessary headers from st_cb_feedback.c.
+
+commit 2d2d8900485ac9f462fccdb0a817f7fc598b95f8
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Jan 15 16:28:56 2010 -0800
+
+ st/mesa: Remove unnecessary header from st_cb_program.c.
+
+commit fbda223893301cc10182fb12c91493c959e3fe8b
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Jan 15 16:27:28 2010 -0800
+
+ st/mesa: Remove unnecessary header from st_cb_queryobj.c.
+
+commit f595e72337f4cdc2ec6b0378f747e31666e70d5c
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 15 14:57:55 2010 -0700
+
+ tgsi: fix detection of front-facing attribute
+
+ This code was not updated when we added TGSI_SEMANTIC_FACE a while ago.
+
+commit 2c5aa02e2086f5e79630cdffec804a3e9de0d966
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 15 14:25:30 2010 -0700
+
+ swrast: add missing call to _swrast_depth_bounds_test()
+
+ We were calling this from the CI span function, but not the RGBA
+ span function.
+
+ I don't know of a test program for the GL_EXT_depth_bounds_test
+ extension...
+
+commit 73856817973caab283427c52152672f524c49a07
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 15 14:19:23 2010 -0700
+
+ swrast: fix broken _swrast_depth_clamp_span()
+
+ The integer Z clamping range depends on the number of bits
+ in the Z buffer because that's the scale factor used when we
+ transform NDC coords by the viewport/depth range.
+
+ Fixes fd.o bug #25972 but only for Z buffers up to a depth
+ of 30 bits. Beyond that we get into messy integer overflow
+ issues and things fall apart.
+
+commit 79a5a2839029eef23f4c238fec6878b5f87ceec3
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Jan 14 23:05:42 2010 -0800
+
+ st/mesa: Remove unnecessary header from st_cb_rasterpos.c.
+
+commit 9c2ef74a76fc3707ca428dca2ca401da790cb915
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Jan 14 23:03:37 2010 -0800
+
+ st/mesa: Remove unnecessary headers from st_cb_readpixels.c.
+
+commit cde041cd1320849be70dc8571da1460b8b913f14
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Jan 14 22:30:00 2010 -0800
+
+ st/mesa: Remove unnecessary header from st_cb_strings.c.
+
+commit 644572a3723bc5167fb71f15e0bbfec3f999be9b
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Jan 14 22:27:13 2010 -0800
+
+ st/mesa: Remove unnecessary headers from st_cb_texture.c.
+
+commit 4f8baf7dce47b1295292bf3d153d1e93ea83e6a1
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Jan 14 19:00:27 2010 -0800
+
+ st/mesa: Remove unnecessary headers from st_cb_viewport.c.
+
+commit 53c6c384125726ad4e528d57272be95f197fb630
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Jan 14 18:53:51 2010 -0800
+
+ st/mesa: Remove unnecessary headers from st_context.c.
+
+commit 604e9ec2c436b8bc595faf97db1a4f57fe5368f2
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Jan 14 18:46:51 2010 -0800
+
+ st/mesa: Remove unnecessary header from st_draw_feedback.c.
+
+commit 9e7778d7aa9bd079a4a5d3d1656d75d6e4978a1d
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Jan 14 18:34:59 2010 -0800
+
+ st/mesa: Remove unnecessary header from st_extensions.c.
+
+commit 8a8a27b01a60ba80608f736c46da82747c215586
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Jan 14 18:19:39 2010 -0800
+
+ st/mesa: Remove unnecessary header from st_format.c.
+
+commit eaedc1bb3e651884a184f520bd81aa12c569c29b
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Jan 14 18:10:06 2010 -0800
+
+ st/mesa: Remove unnecessary headers from st_framebuffer.c.
+
+commit 6890b0698254051f366e0083eee40ed42613c58c
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Jan 14 17:54:47 2010 -0800
+
+ st/mesa: Remove unnecessary headers from st_gen_mipmap.c.
+
+commit 252812bf15c3479d921157b9a432c7e42d3b9446
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Jan 13 23:28:00 2010 -0800
+
+ st/mesa: Remove unnecessary header from st_program.c.
+
+commit c109ca9c492c8956ee32f17c16aa69b0ac0a855d
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Jan 13 23:16:05 2010 -0800
+
+ st/mesa: Remove unnecessary header from st_texture.c.
+
+commit 6b39e8aeb033085c2685f541eca721a6c5639c91
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Jan 13 23:01:03 2010 -0800
+
+ swrast: Remove unnecessary header from s_accum.c.
+
+commit 78411881d344b4e2d7243b6f9bebc2d692e3d943
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Jan 13 22:58:07 2010 -0800
+
+ swrast: Remove unnecessary header from s_atifragshader.c.
+
+commit 0a708681310d03f3456b6f89bf7915b376f75fd1
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Jan 13 22:45:54 2010 -0800
+
+ swrast: Remove unnecessary header from s_bitmap.c.
+
+commit 886cffb44e92dcdaeb5396a01745e78598e86a3f
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Jan 13 22:43:16 2010 -0800
+
+ swrast: Remove unnecessary headers from s_copypix.c.
+
+commit cf061c24e041878368946fbcffa2906cfffd8b08
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Jan 13 22:36:01 2010 -0800
+
+ swrast: Remove unnecessary header from s_depth.c.
+
+commit d1631f734a6f7d052e347e0f5eb878e156d1afa6
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Jan 13 22:30:04 2010 -0800
+
+ swrast: Remove unnecessary header from s_drawpix.c.
+
+commit f649870c9bc0f7e0660af7131bf418830f6a34ae
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Jan 13 22:20:44 2010 -0800
+
+ swrast: Remove unnecessary header from s_feedback.c.
+
+commit a9086f2d17a58bd2597d34a6cc886dc111997e4e
+Author: Thomas Hellstrom <thellstrom@vmware.com>
+Date: Wed Jan 13 17:40:41 2010 +0100
+
+ st/dri: Make sure we always request a fake front.
+
+ This should be the correct, but sub-optimal way to handle things on
+ pre-1.7 servers. For servers that automatically adds a fake front
+ we should never request the fake front and handle the reply differently.
+
+ Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
+
+commit 1b333453e4998d5db76952aed6caa34d98dfdc7c
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Jan 13 13:40:09 2010 +0000
+
+ svga: Fix compile_vs error code.
+
+ It could erroneously return PIPE_OK in some circumstances.
+
+ Make compile_fs code identical.
+
+commit 831764fa75b9a2ea5b42c2df35c6dcfcedcd9611
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Jan 12 23:54:15 2010 -0800
+
+ swrast: Remove unnecessary header from s_fragprog.c.
+
+commit d6588a937293c88674e8c83ba5c34114d12180b1
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Jan 12 21:59:58 2010 -0800
+
+ swrast: Remove unnecessary header in s_lines.c.
+
+commit 7debc532d50cacc83fb63b7bd36a80bbe432e792
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Jan 12 21:51:19 2010 -0800
+
+ swrast: Remove unnecessary header from s_points.c.
+
+commit 11034bfa97d5991a2d8cd973ddfbb21935b53924
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Jan 12 21:41:09 2010 -0800
+
+ swrast: Remove unnecessary header from s_readpix.c.
+
+commit a01b9eac0458eabf07b68bb52afe7026dd8bdfb2
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Jan 12 20:36:33 2010 -0800
+
+ swrast: Remove unnecessary header from s_texcombine.c.
+
+commit c239f387091da9f81bbd315234a19d9b3e3ac694
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Jan 12 20:14:36 2010 -0800
+
+ tnl: Remove unnecessary header from t_context.c.
+
+commit 2c7cf3f9c95098ef08966d19cd1990d3825fd9eb
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Jan 12 20:02:44 2010 -0800
+
+ tnl: Remove unnecessary headers from t_draw.c.
+
+commit dffcbee8e72398e1492a1c957de788e1e87850ac
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Jan 12 19:55:24 2010 -0800
+
+ tnl: Remove unnecessary header from t_pipeline.c.
+
+commit a24d852630a39be1b9a062f17976e8ff8db1df8b
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Jan 12 19:49:19 2010 -0800
+
+ tnl: Remove unnecessary header from t_rasterpos.c.
+
+commit 264f4101cd52ad5b22a85f8f4709bd7b38b8d8e2
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Jan 12 19:45:25 2010 -0800
+
+ tnl: Remove unnecessary header from t_vb_program.c.
+
+commit c63150100301ef524223df430271760b606784c3
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Jan 12 17:07:24 2010 -0800
+
+ vbo: Remove unnecessary headers from vbo_exec.c.
+
+commit 94d238e7571413cb0be8a4fe6e231b739644d588
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Jan 12 16:55:36 2010 -0800
+
+ vbo: Remove unnecessary header from vbo_exec_array.c.
+
+commit 37d326503dcd6c779e90c3f8f4626beba28dc449
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Jan 12 16:37:30 2010 -0800
+
+ vbo: Remove unnecessary header from vbo_exec_draw.c.
+
+commit aee9a6f4e1bc4893f09c1f2b8d723c179c47b34a
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Jan 12 00:50:05 2010 -0800
+
+ vbo: Remove unnecessary headers from vbo_save.c.
+
+commit d2271d8a3940be30521cdebd6b711c6d9cfcd4e2
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Jan 11 23:53:13 2010 -0800
+
+ vbo: Remove unnecessary header from vbo_save_loopback.c.
+
+commit 083dae14bd2d456515374449019afb164ae26655
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Jan 11 22:46:30 2010 -0800
+
+ vbo: Remove unnecessary header from vbo_split_copy.c.
+
+commit 0d65a68f516ac38f5dad87041423f0891350b83a
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Jan 11 21:04:16 2010 -0800
+
+ x86: Remove unnecessary header from x86_xform.c.
+
+commit 8e9ceb8309f2527ab94c9e09a6c3f0013419b17f
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Jan 11 20:24:57 2010 -0800
+
+ progs/xdemos: Remove unnecessary header from corender.c.
+
+commit 477d51537f8be431cf7158010c1dd2451884dc7f
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Jan 11 20:21:50 2010 -0800
+
+ progs/trivial: Remove unnecessary headers from tri-fbo-tex.c.
+
+commit 7241f5140fc5eef6e315d48f1b9a1155ecfe3166
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Jan 11 20:15:59 2010 -0800
+
+ progs/trivial: Remove unnecessary header from tri-fbo-tex-mip.c.
+
+commit ae8ed89f2468373a158e74e6cc692d5519429f2f
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Jan 11 19:57:46 2010 -0800
+
+ progs/tests: Remove duplicate included header in vparray.c.
+
+commit 6ed607cce69b54e87fcf71d2ac8fa2f6841a7b30
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Jan 11 19:56:04 2010 -0800
+
+ progs/tests: Add newline to end of printf in vparray.c.
+
+commit 7bfa54c6a4fab41c37a593438cc5644c1483ce78
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Jan 11 19:52:22 2010 -0800
+
+ progs/redbook: Remove unnecessary header from aapoly.c.
+
+commit 2178abfba344cf5a928418dc192519b3780eb854
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Jan 11 19:42:55 2010 -0800
+
+ progs/glsl: Remove duplicate included header from shtest.c.
+
+commit 78ddce9fdada4b09a008b65d91e3e43cfe011459
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Jan 11 19:29:26 2010 -0800
+
+ progs/demos: Remove unnecessary header from morph3d.c.
+
+commit 3fce8ad2de9500add86ca1e75c0c79361ee1b524
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jan 11 20:18:50 2010 -0700
+
+ Revert "util: Build u_bitmask.o when using make."
+
+ This reverts commit 01eff0e6d23f90650de7c563f74a1aec3de112a6.
+
+ u_bitmask.c was already in the C_SOURCES list.
+
+commit f07e87ffba38524a87613d14d01344a3343ec6fb
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Jan 11 19:15:54 2010 -0800
+
+ progs/tests: Silence fprintf format warning.
+
+commit b4bc20852921f42f0499a174602e87bc3d4495f3
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Jan 11 19:03:18 2010 -0800
+
+ progs/demos: Remove unnecessary header from isosurf.c.
+
+commit d880b64423d9eab7e6cbe3ad93dfefd6a9613cce
+Author: Zack Rusin <zackr@vmware.com>
+Date: Mon Jan 11 18:27:59 2010 -0500
+
+ st/xorg: move exaMoveInPixmap before trying to fetch it
+
+ as Michel suggested, this is a cleaner way of fixing crashes caused
+ by exaGetPixmapDriverPrivate returning null since the data hasn't
+ been moved yet.
+
+commit 3447d545d99c450c6a13d8a37e9cb9f5463a40eb
+Author: Zack Rusin <zackr@vmware.com>
+Date: Mon Jan 11 18:03:49 2010 -0500
+
+ st/xorg: fix a rare video crash
+
+ sometimes dst isn't present if a window is in a middle of a resize, stop
+ crashing in those cases and just ignore a frame.
+
+commit 61f7252448af24942ba9fffe6d792abc1f7d9f84
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Jan 6 17:31:46 2010 +0100
+
+ Revert "pipebuffer: Multi-threading fixes for fencing."
+
+ This reverts commit 5b64d94390e4805e1634f0c8b5e3156e12b8b872.
+
+commit cb51f0267853dad419d169587aecbecf1800e8c3
+Author: Thomas Hellstrom <thellstrom@vmware.com>
+Date: Mon Jan 11 21:32:13 2010 +0100
+
+ Revert "st/dri: no need to request fake front buffer, only handle it being returned"
+
+ This reverts commit 1336989ec60fff7bd590fefd28945a0e5dc536e3.
+
+ The commit breaks frontbuffer rendering and the possibility to do
+ on-demand frontbuffer requests on all Xservers prior to 1.7.
+
+ The commit should be conditioned on a dri2 version check.
+ I've submitted a patch to Xserver to bump dri2 minor, and it's acked by Ian.
+
+ To be able to check the version from within the state tracker, we will
+ probably need another dri2 extension function that returns the server
+ version. The protocol has support for it.
+
+ Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
+
+commit 01eff0e6d23f90650de7c563f74a1aec3de112a6
+Author: Thomas Hellstrom <thellstrom@vmware.com>
+Date: Mon Jan 11 21:00:59 2010 +0100
+
+ util: Build u_bitmask.o when using make.
+
+ Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
+
+commit 6d6c9c668894c393f7b6086fe0a4234939656865
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Jan 11 00:24:39 2010 -0800
+
+ progs/demos: Remove unnecessary header from fbotexture.c.
+
+commit efaba97eaaf47ffecf1577777df1e8a700ada8de
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Jan 11 13:21:47 2010 +1000
+
+ radeon: fix prediction for r100 inline vert/elt emits.
+
+ On r100 we emit the indices inline so we need to account
+ for that in the emission size.
+
+commit 1294df9ca4ec39f00de3f9d923316f6641c1fb4a
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Jan 11 13:21:02 2010 +1000
+
+ radeon: fix bug in realloc code.
+
+ This bug was fixed in libdrm ages ago, port to non-kms
+
+commit 4fe51c7447fb260c32754df95a54b62f513cdd6b
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Jan 10 16:09:41 2010 -0800
+
+ glu/sgi: Initialize members of class Mesher.
+
+commit 1111b38a1b903e9d99aace14a675a684a3f4732a
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Jan 10 15:55:52 2010 -0800
+
+ glu/sgi: Initialize members of class Slicer.
+
+commit b9bd96608c88c0b3decddc80f0d49f670fc90466
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Jan 10 03:03:14 2010 -0800
+
+ glu/sgi: Include missing header file.
+
+commit 199dedd6dd06e7f647dc6741611c06954aca3c77
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Jan 10 01:57:13 2010 -0800
+
+ progs/demos: Check upper bounds of input in manywin.c.
+
+commit 0c7814fe238fe0e2bbeff448c32f79146f9ae923
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Jan 10 00:40:46 2010 -0800
+
+ progs/demos: Bounds check input to fire.c.
+
+commit 9e98c1fbf6fef97e017c7b308d0772604ea7a614
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Jan 10 00:14:33 2010 -0800
+
+ glu/sgi: Initialize members of class Renderhints.
+
+commit a5815c36f77d150e4a9915a8b289df2aa942c23c
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Jan 9 23:55:05 2010 -0800
+
+ glu/sgi: Initialize members of class StoredVertex.
+
+commit 61afd1158fb7d0577effd817a8f9cba7fb2a2bbd
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Jan 9 23:53:54 2010 -0800
+
+ glu/sgi: Include missing header file.
+
+commit f8737bda37510672415269f205ca5b0c69454edf
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Jan 9 23:25:49 2010 -0800
+
+ glu/sgi: Initialize member of class O_pwlcurve.
+
+commit 683e3cb8db5a57db2ebd364986a399e2b1009e00
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Jan 8 23:08:57 2010 -0800
+
+ progs/tests: Silence 'missing initializer' warnings.
+
+commit 223c8482ca16d3ed31266ea8cc63b816aece6a81
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Jan 8 22:10:52 2010 -0800
+
+ progs/glsl: Silence uninitialized variable warning.
+
+commit 3b82de92a0f3a1a810ae1521d2f72795f9d65157
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Jan 8 22:02:21 2010 -0800
+
+ progs/demos: Add missing initializers in engine.c.
+
+commit 4775723d2f641dcd82e8c9cd39ba52f8d86158c7
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Jan 8 21:43:54 2010 -0800
+
+ r300g: Silence unused variable warnings.
+
+commit 20d6360db7ca8610e5958cd7f851e664d77684fc
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Jan 8 20:22:17 2010 -0800
+
+ tgsi: Silence uninitialized variable warnings.
+
+commit de37a00d271fc4ab919c3c715322018c0b76369f
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Jan 5 17:51:02 2010 +0100
+
+ util: Add u_bitmask to make build
+
+commit 674c76310fe93dd3d7a15af0f72bb9f04351d09f
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Fri Jan 8 05:59:55 2010 -0800
+
+ mesa: Ensure libmesagallium.a is finished building before descending
+
+ Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
+
+commit 3c42e403de9da2abd46cd0d15de107250866859d
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Jan 8 01:13:46 2010 -0800
+
+ r300: Move initial declaration outside for loop.
+
+commit 5dd9e23d6204e6ec36468d4ae99e630c782c1cc9
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 7 14:55:27 2010 -0700
+
+ docs: document Gallium SSE codegen for XPD bug fix
+
+commit 8647aa1d8d8ffce7ae3b00e7e277be635124acad
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 7 14:49:12 2010 -0700
+
+ tgsi: fix SSE code emit for XPD
+
+ Rearrange things so that the writes to the dest registers happen
+ after we've fetched/used all src registers.
+
+ The problematic instruction was: XPD TEMP[2].xyz, TEMP[0], TEMP[2];
+ Note that the dst reg is also a src reg.
+
+ This fixes bad shading with progs/glsl/bump.c since Eric's changes to the
+ Mesa program optimizer in commit d6690ce15fb8c7c6abf1bc0d847c1d2da2c33904.
+ The optimizer rearranges some registers so we occasionally wind up with
+ something like the above.
+
+commit 2b7a4b2c0e9b18ed985b0eda34723d53bc2a305b
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 7 08:22:37 2010 -0700
+
+ progs/fp: remove invalid tri-inv.c test
+
+ INV is not a valid instruction.
+
+commit d42467687e9de756aa3e4bca5e55f69391af3065
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Jan 6 21:39:44 2010 -0800
+
+ progs/demos: Assert that input to malloc is valid.
+
+commit 45ac10fe6a9c01aec9b7245f9a5621402842f466
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Jan 6 18:18:49 2010 -0800
+
+ progs/xdemos: Check for string overflow.
+
+commit 25ffd7627828d5a6d1858e0fd5f2a4b796c72be8
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Jan 6 18:08:17 2010 -0800
+
+ progs/xdemos: Check for string overflow.
+
+commit 468f270f3fc0efc136d03d0b6022916ddd8ea893
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Jan 6 17:51:08 2010 -0800
+
+ svga: Silence uninitialized variable warning.
+
+commit ef7eb62423077becf2f896f771d6d76e9671f114
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 6 18:22:05 2010 -0700
+
+ meta: remove F suffix from _mesa_Ortho() params
+
+ _mesa_Ortho() takes GLdoubles.
+
+commit 73bd4000160663db8c0c1d5918984a5b9268e9a0
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 6 18:19:42 2010 -0700
+
+ docs: document a mipmap generation bug fix
+
+commit cb3cb96fbd3279bf3dd50439444c4c064ed6f748
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 6 18:18:04 2010 -0700
+
+ meta: move destination vertex/projection setup out of _mesa_meta_GenerateMipmap
+
+ Based on a patch submitted by Pierre Willenbrock <pierre@pirsoft.de>
+
+commit 06970b2ccb6add0696710f01a07ebf9ec3922c80
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 6 18:12:42 2010 -0700
+
+ meta: set viewport and projection matrix in _mesa_meta_GenerateMipmap
+
+ This fixes mipmap levels being clipped to the last viewport.
+
+ Based on a patch submitted by Pierre Willenbrock <pierre@pirsoft.de>
+
+commit 49653c01e8288018d8a1d8e935ef64645f088402
+Author: Andre Maasikas <amaasikas@gmail.com>
+Date: Tue Dec 22 14:50:10 2009 +0200
+
+ r600: adjust after radeon mipmap changes in 7118db8700
+
+ R600_OUT_BATCH_RELOC doesn't really use offset so set it
+ in TEX_RESOURCE2
+ + typo fix
+
+commit 8485811f10142f54756d876ebe91193bfc8f8a0e
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 6 17:42:53 2010 -0700
+
+ tnl: set FOGC result to (f,0,0,1)
+
+ Fixed FDO bug 23397.
+
+commit 4c45810d575c53f3e829809cb4d27e35739a2a69
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Jan 6 15:35:18 2010 -0800
+
+ progs/xdemos: Remove comma at end of enumerator list.
+
+commit 96a4e4552dab2dc0e741de40be0184a1e94515ef
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Jan 6 15:33:13 2010 -0800
+
+ progs/xdemos: Use temporary variables.
+
+ This was missed from the previous commit to glxheads.c.
+
+commit c1dad22d7159569b978fdfcb87e4a718041b7d07
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Jan 6 15:25:42 2010 -0800
+
+ progs/glsl: Prevent possible string overflow.
+
+commit f4952f040bf61ea856cdcb9cdf8dbb02ff3a6f1e
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Jan 6 14:55:02 2010 -0800
+
+ progs/xdemos: Prevent possible string overflow.
+
+commit c9befda13a000f7ad2221e957615c909bff279f8
+Author: Pierre Ossman <pierre@ossman.eu>
+Date: Wed Jan 6 12:42:49 2010 -0500
+
+ r600: float texture component ordering
+
+ The ordering of texture components was
+ backwards for the floating point textures.
+
+ Signed-off-by: Pierre Ossman <pierre@ossman.eu>
+
+commit 324568f79d6e014900c981bd9a0e1dffedc326c8
+Author: Roel Kluin <roel.kluin@gmail.com>
+Date: Wed Jan 6 08:27:42 2010 -0800
+
+ mesa: test index bounds before array element
+
+ Check whether the index is within bounds before accessing the array.
+
+ Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
+ Signed-off-by: Brian Paul <brianp@vmware.com>
+
+commit 5db710a8231fe50d2faad8e9adb2a07616cc6130
+Author: Roel Kluin <roel.kluin@gmail.com>
+Date: Wed Jan 6 08:20:28 2010 -0800
+
+ win32_menu: add missing parentheses in mapMenu()
+
+ `|' has higher precedence than `?'.
+
+ Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
+ Signed-off-by: Brian Paul <brianp@vmware.com>
+
+commit 2b4acd26b1680eda9622205bbc1879da30d085bc
+Author: Roel Kluin <roel.kluin@gmail.com>
+Date: Wed Jan 6 08:07:00 2010 -0800
+
+ nv50: add missing parentheses in nv50_query_result()
+
+ NOUVEAU_BO_RD is defined (1 << 2), and `|' has higher precedence than `?'
+ so the second argument of nouveau_bo_map was always 0.
+
+ Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
+ Signed-off-by: Brian Paul <brianp@vmware.com>
+
+commit e4b7d9ea35a399c008a879e943374e9654001d01
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 6 07:17:13 2010 -0700
+
+ i965: fix invalid assertion in emit_xpd(), again
+
+commit 5b64d94390e4805e1634f0c8b5e3156e12b8b872
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Jan 5 20:41:29 2010 +0000
+
+ pipebuffer: Multi-threading fixes for fencing.
+
+ I had this patch on my hard drive for long time. It doesn't fully
+ address SVGA multi-threading issues, but causes no regressions, so decided
+ to commit while it still applies cleanly.
+
+ Attention: merging this into master will cause issues due to recent
+ changes in reference counting to fix strict aliasing rules violation.
+
+commit e555146fa35c897554a1af2d010187a6acccdd59
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 5 15:53:01 2010 -0700
+
+ i965: fix invalid assertion in emit_xpd()
+
+ Invalid assertion found by Roel Kluin <roel.kluin@gmail.com>
+
+commit 766f3ccbda7def1a81a3d07002e500e8bb1a898e
+Author: Roel Kluin <roel.kluin@gmail.com>
+Date: Tue Jan 5 13:40:40 2010 -0800
+
+ tdfx: condition always evaluates to false in SetupDoubleTexEnvVoodoo3()
+
+ This can never be true.
+
+ Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
+
+commit 9f544394c1d059ce09c8bb2b5e11f5e871c7915f
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 5 11:40:24 2010 -0700
+
+ st/mesa: fix broken translation of negative register indexes
+
+ A src register's index can be negative if we're doing indirect
+ addressing into the constant buffer. Ex: MOV OUT[1], CONST[ADDR[0].x-3]
+
+ This fixes the piglit vp-arl-neg-array.vpfp test.
+
+ Before this change we were going out of bounds of the t->constants[]
+ array and getting garbage that later triggered an assertion.
+
+commit 487a14b476d5e01bd03f50bc45fd3dfc59aa609c
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 5 10:56:57 2010 -0700
+
+ ARB prog parser: regenerated parser file
+
+commit f0f68b1e4c3d3d23fc9a7d624a465537b2e74d6c
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 5 10:53:44 2010 -0700
+
+ ARB prog parser: fix parameter binding type
+
+ References to program local and enviroment parameters are put into the
+ unified program parameters list as PROGRAM_STATE_VAR entries which point
+ into the local or environment arrays. So the param_binding_type field
+ should be PROGRAM_STATE_VAR.
+
+ This fixes the piglit vpfp-generic vp-arl-env-array.vpfp and
+ vp-arl-local-array.vpfp test failures.
+
+commit e3514b73388c9df36941c370837a04d90ca44ddd
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 5 10:03:16 2010 -0700
+
+ ARB prog parser: regenerated parser files
+
+commit 7c6ae4c6c87edd02671a3857d1f774835b923e59
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 5 10:01:20 2010 -0700
+
+ ARB prog parser: add allowSwizzle param to initialize_symbol_from_const()
+
+ We need to disable constant consolidation when building an array of
+ constants which might be indexed indirectly.
+
+ Fixes regression in piglit vpfp-generic vp-arl-constant-array.vpfp
+ test caused by earlier constant consolidation patch.
+
+commit 37f6929d29c9d3fbec873c0576a343d342ffdedf
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 5 09:59:39 2010 -0700
+
+ mesa: whitespace changes and comments
+
+commit f27e39aa4ec267fd2074a73da14bf1b4d2f8fb13
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 5 09:57:41 2010 -0700
+
+ mesa: change constant search behaviour in _mesa_add_unnamed_constant()
+
+ Only search for an existing, matching constant if swizzleOut is non-null.
+ We need to be able to disable constant consolidation when building an
+ array of constants which will be indexed indirectly.
+
+commit 38d8b180038eef692cbc75731d340c9fcc721784
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Jan 5 17:56:26 2010 +0000
+
+ svga: Remove stale references to delete shader results.
+
+ To ensure that a new result that happens to have the same address
+ of the old one will be detected as a change.
+
+commit 8ebef37c7ba67c4449367b95821293176a0a370b
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Jan 5 17:32:19 2010 +0000
+
+ svga: Rebind shaders when tokens change.
+
+ Even shader ID doesn't change. Otherwise the token change is not
+ effective.
+
+ This reverts regression from commit
+ cdb445f3a9285e2d8f042a07021ade78b94e0156. Regression could be seen in
+ Quake3's loading screen -- the upper right corner of the screen would
+ be black.
+
+commit ef1b9426918a29b7ddd28601b0e53ed683abb89a
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 5 09:14:48 2010 -0700
+
+ st/mesa: added PROGRAM_LOCAL_PARAM case in src_register()
+
+ Fixes piglit vpfp-generic arl.vpfp failure when using gallium.
+
+commit bd96b51303512bef301c4cee5c7a65ebb3371913
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jan 4 14:31:08 2010 -0700
+
+ mesa: bump version to 7.7.1-DEVEL
+
+commit 6d845808589b9df84f23551b122533a55dce6bd5
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jan 4 19:05:31 2010 -0700
+
+ mesa: add missing _mesa_lock_texture() call
+
+commit b434a816d7a4b298e16a8b51b54e5a2d5ea28da8
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Dec 29 15:55:34 2009 -0800
+
+ i915: Use _MaxLevel on principle in texture setup.
+
+ It was OK before because we proceed to clamp the value to hardware
+ limits, but given that other use of MaxLevel has been a trap, let's
+ avoid it.
+
+commit 19a26dfc474618ecfe881846a8c9dac221332d44
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Jan 4 09:39:07 2010 -0800
+
+ intel: Fix CopyTexImage from tiled mipmap levels > 0.
+
+ Fixes piglit fbo-copyteximage.
+
+commit 63610fae4f46361f2500577a83bf5ac6f9e8b0ac
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Jan 4 08:47:01 2010 -0800
+
+ i965: Fix the surface offset calculation for tiled buffers.
+
+ If we ever had a non-tile-aligned tiled renderbuffer, the math was all
+ off. Use the existing x,y coordinates instead of trying to
+ reconstruct them from an incorrectly-calculated offset value.
+
+commit a160d1c27de8afcf072b4fd438d6a37f16742e75
+Author: Andre Maasikas <amaasikas@gmail.com>
+Date: Tue Dec 29 14:47:01 2009 +0200
+
+ r600: support vertex_array_bgra
+
+ Use vertex program key mechanism and swizzle during vertex fetch - is there
+ a better way?
+
+commit 82421c549f782cee0d377a064852813117ff6850
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jan 4 13:59:43 2010 -0700
+
+ mesa: added GL_DU8DV8_ATI in extract_float_rgba()
+
+ Fixes warning seen with Shadowgrounds. See bug 24016.
+
+commit 01bf004d8bef298298621dc9e13b4119e3ced572
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jan 4 12:47:37 2010 -0700
+
+ docs: initial release notes for 7.7.1
+
+commit 6130bb13913090f7477d3dab5662c7e80c7b9293
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Jan 4 12:06:04 2010 -0800
+
+ mesa: Prevent possible array out-of-bounds access by _mesa_light.
+
+commit e661bf50183bf5481ee0d6c8e6be0809da991913
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jan 4 11:29:38 2010 -0700
+
+ mesa: regenerated enums.c file
+
+commit 707faf65c89dbe64e2cb01196b913b354221e26e
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jan 4 11:29:09 2010 -0700
+
+ glapi: comment-out TIMEOUT_IGNORED
+
+ This is not really a GLenum value.
+
+commit f52dd2ab333b0bdfa1df15bffb8156350c93f892
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Dec 29 10:26:28 2009 -0700
+
+ glsl: use varName variable in _slang_gen_assignment()
+
+commit 1e414df894fc70b7024eb38c812e582336014974
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Mon Jan 4 16:54:29 2010 +0100
+
+ st/mesa: Only call st_texture_image_unmap() if texImage->Data is non-NULL.
+
+ This was already done in st_TexImage() but was missed between incremental
+ changes to st_TexSubimage().
+
+commit acd1451393068762a46a06aee3af9e94bc09e147
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Mon Jan 4 13:05:43 2010 +0100
+
+ svga: Fix debug build crash when rendering to depth/stencil renderbuffer only.
+
+commit c114f000df269787afb449d73cd8aae202be2550
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Mon Jan 4 13:04:05 2010 +0100
+
+ st/xorg: Proper calculation of screen pitch.
+
+commit 8282185752a93acca54a67a8e97e0066ee233709
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Mon Jan 4 13:02:40 2010 +0100
+
+ vmware/xorg: Fix SCons build.
+
+commit d1e2fc19cc1b8e4c23f5ad82ec68779c41101b41
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Jan 3 23:33:32 2010 -0800
+
+ r300: Use C-style comments.
+
+commit 8a29e3f8e8e1f05e54959063928a93d7a5eef0f0
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Jan 3 21:39:20 2010 -0800
+
+ progs/egl: Silence uninitialized variable warnings.
+
+commit 3ea5a95078bddaed66e3c9412b4b0c4685bc9ec7
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Jan 3 21:29:33 2010 -0800
+
+ progs/samples: Silence compiler warnings.
+
+commit b14cbfaebc135351a72d86128ae987611ef8c31f
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Jan 3 20:51:23 2010 -0800
+
+ r300: Silence 'mixed declarations and code' warnings.
+
+commit 0214b7b3c1eae5573b03b485b18e4c10729831ee
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Jan 3 20:16:59 2010 -0800
+
+ r300: Silence 'mixed declarations and code' warning.
+
+commit 58531029e6eba11c374d996ea031f1bbe4386c54
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Jan 3 18:32:07 2010 -0800
+
+ r300: Silence 'mixed declarations and code' warning.
+
+commit 3e196f433dc02654f1c0f7989e2e7e7a5c4b425d
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Jan 3 18:05:12 2010 -0800
+
+ r300g: Silence 'mixed declarations and code' warning.
+
+commit fe3ea299bf8abcf27c8a168138c8fd3f4e43cefa
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Jan 3 15:07:35 2010 -0800
+
+ r300g: Remove comma at end of enumerator list.
+
+commit 0bfc579bd435b4d0c258258440866840c473f681
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Jan 3 14:42:36 2010 -0800
+
+ llvmpipe: Remove comma at end of enumerator list.
+
+commit eb5d9e6f70037d4dc12430302f82a116cb1e00ca
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Jan 3 19:58:54 2010 +0000
+
+ mesa: Cope with the degenerate case of zero length ranges.
+
+ Fixes assertion failures on glean's bufferObject test.
+
+commit f3739bdb60edc051348526d469d5222bb6934917
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Jan 1 21:54:01 2010 +0000
+
+ gdi: Don't generate import libraries for opengl32.dll.
+
+ Both MinGW and MSVC include opengl32 import libraries, and its safer to
+ always use those.
+
+commit 287cbba9b7ebf95391f77b58f519dd76c415d355
+Author: Jeremy Huddleston <jeremyhu@freedesktop.org>
+Date: Thu Dec 24 08:47:29 2009 -0800
+
+ apple: Purge existing (not working) GLX_USE_APPLEGL from dated libGL on OSX
+
+ Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
+
+commit 32305e3a9f9408922c34f06174aaa0d34cf72459
+Author: Jeremy Huddleston <jeremyhu@freedesktop.org>
+Date: Thu Dec 24 09:20:33 2009 -0800
+
+ glxcmds: Fix comment about __DRI_ALLOCATE
+
+ Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
+
+commit 1d95544446f3b862620fe5bb33b37705a2ad8681
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Jan 3 03:06:33 2010 -0800
+
+ trace: Remove comma at end of enumerator list.
+
+commit 66c1de77ed58ea8856c5bc72c8e4c69e23aa04f2
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Jan 3 11:02:12 2010 +0000
+
+ rtasm: Play nicely with Windows's Data Execution Prevention.
+
+commit 1da47ac20e676e05c1b0b66c2c07265836f4c7eb
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Jan 3 02:38:22 2010 -0800
+
+ progs/vp: Ensure null-terminated byte string.
+
+commit c9c6e9a39e3d38cfc05772667c759b82df8f0fff
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Jan 2 21:58:40 2010 -0800
+
+ progs/tests: Silence uninitialized variable warning.
+
+commit 32d18924dff424eb2e06454193c6c2024f1b2795
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Jan 2 21:52:51 2010 -0800
+
+ progs/tests: Silence warn_unused_result warning.
+
+commit d27effbfd88463fc395c364c4e6fc59636074bda
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Jan 2 21:05:06 2010 -0800
+
+ i810: Fix include recursion.
+
+commit 94c5faad26eae7bb4b95d6c95548860ff52354ba
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Jan 2 20:47:15 2010 -0800
+
+ sis: ifdef out unused variable.
+
+ Silences GCC warning.
+
+commit d2758f3b74838f4d4f1ae691fddca7dc9f4e8c0e
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Jan 2 20:39:04 2010 -0800
+
+ st/xorg: Ensure null-terminated byte string.
+
+commit be6fb5c08350138ac85c1bf727553aaa9f4583e6
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Jan 2 20:17:43 2010 -0800
+
+ r300g: Use C-style comments.
+
+commit fe27b07b0fe7b63755add9bf522d7efcbf1ffb9b
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Jan 2 20:04:00 2010 -0800
+
+ glu/sgi: Initialize members of struct O_curve.
+
+commit cdb445f3a9285e2d8f042a07021ade78b94e0156
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Jan 3 00:47:30 2010 +0000
+
+ svga: Use a shader id as low as possible.
+
+commit 904917dcc67e15830a4fe106a243eb57dde985ea
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Jan 3 00:41:01 2010 +0000
+
+ util: Minor enhancements/corrections to the bitmask logic.
+
+commit da6a80301b2cfdc6902198e3fef5ec78e86e39cf
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Jan 2 21:46:42 2010 +0000
+
+ svga: Rename error labels.
+
+ Make it easier to insert/remove error branches.
+
+commit 386f91eec3f96cb8e28dfc6545a11e1d7dedc22b
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Jan 2 15:46:11 2010 -0800
+
+ glu/sgi: Initialize members of struct O_surface.
+
+commit ba9dc26eec0ee65ea3aa1d8f8f31731157f86fa0
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Jan 2 15:29:25 2010 -0800
+
+ glu/sgi: Initialize member of struct O_trim.
+
+commit 37e5626111ea99409d41af9581a3bc32a5d1519f
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Jan 1 23:01:03 2010 -0800
+
+ glu/sgi: Initialize member of struct Property.
+
+commit 646c8ce03217dbda87fd1f5aedddd3f75a477754
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Jan 1 17:54:11 2010 -0800
+
+ progs/samples: 'Silence no previous prototype' warnings.
+
+commit 2c64e4c50eaf7c3dd0cc95edbca1d31316baac3a
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Jan 1 17:25:16 2010 -0800
+
+ glu/sgi: Initialize member of struct Dlnode.
+
+commit 64a19610112efdbde9daa81b742a081832d186e9
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Jan 1 17:19:27 2010 -0800
+
+ glu/sgi: Initialize members of struct O_nurbscurve.
+
+commit fab161f28739c397200e1ad3b6ad2a26409c95bf
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Jan 1 17:06:16 2010 -0800
+
+ x86: Silence printf format warnings.
+
+commit ad9defdd9c5c7a18c833cdacebe012604190f167
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Jan 1 16:25:37 2010 -0800
+
+ progs/rbug: s/wait/rbug_wait/
+
+ wait conflicts with wait in /usr/include/sys/wait.h.
+
+commit 3ae37da6116d7a703b2752fd7978caad79ecfcf2
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Jan 1 16:03:53 2010 -0800
+
+ llvmpipe: Silence uninitialized variable warning.
+
+commit fd237a879fdc70cb070aa8be0f01a7b31d8207c6
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Jan 1 15:38:19 2010 -0800
+
+ llvmpipe: Use C-style comment.
+
+commit dac82c378a94f0f42bef3f7e33e11e4eafb9872b
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Jan 1 15:32:52 2010 -0800
+
+ gallium/util: Silence format warnings.
+
+commit 88bd32383a06224c742f6af59fcd95cd11284d5b
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Jan 1 15:12:58 2010 -0800
+
+ ARB prog parser: Silence unused variable warnings.
+
+commit 7df06e7e9d5d5ac0a5a2fa0af11afa7f5241c5a4
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Jan 1 15:01:22 2010 -0800
+
+ gallium/util: Replace h_addr with h_addr_list[0].
+
+ Fixes compilation error on Mac OS.
+
+commit a349687d499a76496dc9433d5437398f774f0bd4
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Jan 1 14:46:11 2010 -0800
+
+ glu/sgi: Initialize members of class Knotvector.
+
+commit 5d3d202ac991bd1a67ba40f4be145621b35620fe
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Jan 1 14:39:16 2010 -0800
+
+ glu/sgi: Initialize member of struct Property.
+
+commit 195e7657e2f15f7ad8b22042b86bcf33c5bba76b
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Dec 31 08:44:24 2009 -0700
+
+ swrast: use different temp array in _swrast_get_dest_rgba()
+
+ When using multiple color drawbuffers with blending/logicop/masking we
+ were overwriting color values which we still needed.
+
+commit 6e0584932b3e556a0aecd2ca36f5ae41dc40a919
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Dec 31 00:07:47 2009 -0800
+
+ mesa: Silence unused variable warning.
+
+commit 5b2713c92a89fc6c47c3546d36eeb549e126ebc0
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Dec 30 12:38:21 2009 -0800
+
+ progs/glsl: Provide a better fix for fgets warning.
+
+commit f00bf0598cfcd9ab9b923d80b7ce2cec14a74da5
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Dec 29 23:24:04 2009 -0700
+
+ st/mesa: add PIPE_FORMAT_Z24S8_UNORM in st_get_format_info()
+
+ Fixes progs/demos/fbotexture on Nouveau.
+ Patch submitted by Luca Barbieri <luca@luca-barbieri.com>.
+
+commit de95e5768bf5186a29c75981350042581b760684
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Dec 29 22:29:53 2009 -0800
+
+ glu/sgi: Initialize members of struct O_nurbssurface.
+
+commit ac21edff1c11639dcd02ae6e8ffa50beb3a82ae7
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Dec 29 21:34:06 2009 -0800
+
+ tdfx: Silence uninitialized variable warning.
+
+commit 0ab29d2b35bff913818f34d1979295a98cbe2b71
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Dec 29 21:11:37 2009 -0800
+
+ progs/glsl: Silence compiler warnings.
+
+commit 70bbe2236668bdee9131dc2e6f71e53f9bc78863
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Dec 29 21:03:23 2009 -0800
+
+ glu/sgi: Silence warn_unused_result warnings.
+
+commit 31263f41a0aa2ac4514992cb3b5678116153939f
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Dec 29 20:56:47 2009 -0800
+
+ st/xorg: Use C-style comments.
+
+commit 97b899374cf6f2f3926863ca70c5561ef6c189a9
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Dec 29 20:45:24 2009 -0800
+
+ glu/sgi: Initialize member of struct GridVertex.
+
+commit 5169775345fc6b17b1f984e8bc3b5c3708733a7f
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Dec 30 05:08:09 2009 +0100
+
+ st/xorg: Fix warning and add a TODO comment
+
+commit d34fdf149d250275e819ca58554a41a8bff82785
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Dec 30 04:46:12 2009 +0100
+
+ st/xorg: On close wait on fences and then destroy the screen
+
+commit 5fdc4f732f6fb50dc324b60b0cff05b6eca46946
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Dec 30 04:58:25 2009 +0100
+
+ st/xorg: Be proper with pipe pointers on close in exa
+
+commit 53e314cb8057797ae75187d91836a50f61170dd7
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Dec 30 04:22:12 2009 +0100
+
+ st/xorg: Make sure we don't overrun the fence array in block handler
+
+commit 3bcf7d7d7be074246d815fdf4a486e08f5db46a3
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Dec 29 17:46:42 2009 -0800
+
+ glu/sgi: Initialize member variables in class Varray.
+
+commit a7db305c2f9fd4ee43b12ed0ef19efc1532cc30d
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Dec 29 17:35:22 2009 -0800
+
+ glu/sgi: Initialize member of class monoChain.
+
+commit 5060fb428d841154013a49af7d4efc3144792260
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Dec 29 17:22:11 2009 -0800
+
+ glu/sgi: Initialize members of class sampledLine.
+
+commit 495b8f8f7a58616d7b75a84d828e3ea356b9a1d4
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Dec 29 14:28:33 2009 -0800
+
+ glu/sgi: Initialize members of class directedLine.
+
+commit 62a0d4ef7fdf4788de84e6645f6f329482033c42
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Dec 29 13:38:02 2009 -0800
+
+ mesa: Initialize variable in get_tex_color_index.
+
+commit 4f481cb87ae948852effde2fa4d997c007afd99c
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Dec 29 10:11:26 2009 -0700
+
+ glsl: added uniform initializer check
+
+ GLSL 1.10 disallows initializers for uniforms but GLSL 1.20 and later
+ allows them. This patch uses the #version directive to allow/disallow
+ uniform initializers.
+
+ This addresses bug 25807, but piglit also needs to be fixed to specify
+ the GLSL version in the shader.
+
+commit 639e7a140e430aa8839c652459eddc9a4b79f9c6
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Dec 29 09:06:00 2009 -0700
+
+ ARB prog parser: use _mesa_add_unnamed_constant() to use fewer constant slots
+
+ This function will search the constant parameters in an effort to re-use
+ constant slots. For example, {1,2,3,4} and {4,1,1,2} can be stored in
+ one constant slot and accessed with different swizzles. The swizzle info
+ must be propogated though the parsing code in a few places.
+
+ Fixes Piglit "vpfp-generic tests/shaders/generic/big-param.vpfp" failure.
+
+commit b4658dbf04003418a1aadc7647ce8c7211f58413
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Dec 28 19:09:33 2009 -0800
+
+ st/egl: Move declaration before code.
+
+commit c67bb15d4e3da430d511444bd7d159ccb0c84b73
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Dec 28 18:46:15 2009 -0800
+
+ intel: Silence compiler warnings.
+
+commit 46c2196de3ed0c2745afb3a2e5180947576f07ea
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Dec 28 18:07:09 2009 -0800
+
+ llvmpipe: Fix assert.
+
+commit e049ddb7549a45adde521d6f2899c2b74b4ff972
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Dec 28 18:05:30 2009 -0800
+
+ llvmpipe: Silence compiler warnings.
+
+commit f0ba7d897d1c22202531acb70f134f2edc30557d
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Dec 28 11:05:06 2009 +0000
+
+ util: better fix for unused variable warnings with asserts
+
+ Modify the non-debug (ie disabled) version of assert to expose the
+ value in the expression to the compiler (avoiding the unused variable
+ messages) while still expanding to a noop.
+
+commit 31d1822473bf9d4105bb82b67572cfeea53aaf94
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Dec 28 00:44:30 2009 -0800
+
+ llvmpipe: Silence compiler warnings.
+
+commit c441386b0c5c70fc4ae5b3c1eff3fb7f09812a30
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Dec 27 23:02:55 2009 -0800
+
+ st/xorg: Silence unused variable warnings.
+
+commit aa0437532edf155ee6e65e2e6890fdd58dfec0a4
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Dec 27 22:49:49 2009 -0800
+
+ g3dvl: Silence compiler warnings.
+
+commit bf63b9d7a942bfbeef0b2b765bfc346c93de6fb7
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Dec 27 22:39:31 2009 -0800
+
+ st/vega: Silence compiler warnings.
+
+commit 9d3092d1344cac0dafaa4b39d09d987812751e40
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Dec 27 22:18:18 2009 -0800
+
+ gallium/xlib: Silence unused variable warning.
+
+commit d1f64fa72f7e2362fa68f9cc8dc76be06fc846b4
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Dec 27 18:12:58 2009 -0800
+
+ trace: Silence unused variable warnings.
+
+commit f31f9cf485ba3e735c9e10acc715897e0151492c
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Dec 27 18:09:58 2009 -0800
+
+ i915g: Silence unused variable warning.
+
+commit 3a2f96f18aab60ed061339f74792307964c284a2
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Dec 27 18:06:02 2009 -0800
+
+ softpipe: Silence unintialized variable warnings.
+
+commit 180ccffe550698d860e06d3cf5e16e4d9c3e7ddd
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Dec 27 17:52:47 2009 -0800
+
+ softpipe: Silence unused variable warning.
+
+commit 0463ee64e39951257d0bb7c5a9b6c894fe761dd1
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Dec 27 17:40:48 2009 -0800
+
+ tgsi/ureg: Silence uninitialized variable warnings.
+
+commit b0d5e44f243f64caecec66fae3b8dfc1c0107032
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Dec 27 15:33:25 2009 -0700
+
+ docs: insert 7.7 release date
+
+commit d0b7ff551ab25153e3023871af3daa65b394a828
+Merge: 7831515 da876fa
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Dec 27 15:31:08 2009 -0700
+
+ Merge branch 'mesa_7_6_branch' into mesa_7_7_branch
+
+ Conflicts:
+ src/gallium/auxiliary/util/u_network.c
+ src/gallium/auxiliary/util/u_network.h
+ src/gallium/drivers/i915/i915_state.c
+ src/gallium/drivers/trace/tr_rbug.c
+ src/gallium/state_trackers/vega/bezier.c
+ src/gallium/state_trackers/vega/vg_context.c
+ src/gallium/state_trackers/xorg/xorg_crtc.c
+ src/gallium/state_trackers/xorg/xorg_driver.c
+ src/gallium/winsys/xlib/xlib_brw_context.c
+ src/mesa/main/mtypes.h
+
+commit da876fa3a5df77763fe106b5e0a17b2e672a506c
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Dec 27 15:14:25 2009 -0700
+
+ docs: insert 7.6.1 release date
+
+commit 7831515e69ac875b1ac0b1b248ab10c6cf37bf52
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Dec 27 10:09:24 2009 -0700
+
+ st/mesa: add missing case for PIPE_FORMAT_B8G8R8A8_UNORM
+
+commit 331e910b5c4b2d2c940991e11027fa8f7dee0e8b
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Dec 26 16:22:25 2009 -0800
+
+ gallium/util: Remove comma at end of enumerator list.
+
+commit 3c2fd1bae0009ea8231cd77001595f27d6171f7b
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Dec 26 16:18:47 2009 -0800
+
+ rbug: Remove comma at end of enumerator list.
+
+commit f8ca25e02faa094218e741af041464728347574f
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Dec 26 16:14:39 2009 -0800
+
+ rbug: Remove comma at end of enumerator list.
+
+commit fc11424bcded0b1cea0acf45936c4af1f1a4b85b
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Dec 26 16:09:41 2009 -0800
+
+ mesa: Remove comma at end of enumerator list.
+
+commit 309c156bae59124be17137d0f559d2c054231f7c
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Dec 26 15:55:38 2009 -0800
+
+ i915: Fix assert.
+
+commit e81fe088f447b959b354fadf0d73fcc7ac7c468d
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Dec 26 01:08:26 2009 -0800
+
+ progs/demos: Silence warn_unused_result warnings.
+
+commit cdc69e34694a16e9f762aba45d7eba05e9dc8514
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Dec 25 23:13:50 2009 -0800
+
+ progs/util: Silence warn_unused_result warnings.
+
+commit cd59e6f553ed0585f9d1a361adab007ede9aa0f6
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Dec 25 22:34:35 2009 -0800
+
+ intel: Silence implicit function declaration warning.
+
+commit 67a4abcc3b9daabdf873d750e689893fcc94e4d5
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Dec 25 14:23:10 2009 -0800
+
+ glu/sgi: Fix include recursion.
+
+ arcsorter.h should not include itself.
+
+commit 2447786ed00a19466c9cc9b9efbfa084e88114eb
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Dec 24 22:58:05 2009 -0800
+
+ i965: Fix assert.
+
+commit f5ad1d0d02cae06bff3ee120c75ad4ab458d2c7d
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Dec 24 16:26:09 2009 -0800
+
+ i965: Add missing va_end.
+
+commit 098f10c2709a33bb5f35d52a42818ce7cbcaadb5
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Dec 23 18:00:06 2009 -0800
+
+ glsl: Initialize member a_obj of struct slang_operation.
+
+commit 261c3cd530437362f906ef78459ffda7ab2b2077
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Dec 23 17:50:02 2009 -0800
+
+ glu/sgi: Initialize variable in directedLine.
+
+commit 520955a0cd16d29ddae194ff7efc262b0d5a4fc4
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Dec 23 16:22:03 2009 -0800
+
+ gallium/util: Initialize variable in util_clear.
+
+commit 6138145b350d9e58725b43162680b43904497ec8
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Dec 23 16:11:10 2009 -0800
+
+ glu/sgi: Silence compiler warnings.
+
+commit 51dcea2aac08ed68b713de0a741c782d51a5b916
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Dec 23 15:19:45 2009 -0800
+
+ util: Ensure debug_dump_flags generates a null-terminated string.
+
+commit 2ea061509ddab9054514ad87f28de950fb30dba1
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Dec 23 14:52:06 2009 -0800
+
+ st/xorg: Use C-style comments.
+
+commit 15ecd0337e4e4d9d33449bdff014a634e368c7d6
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Dec 23 14:43:53 2009 -0800
+
+ st/vega: Move declaration outside for loop.
+
+commit 1b0ab3e3c9bd1a57069657bf5126ade2d8d44d30
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Dec 23 14:18:11 2009 -0800
+
+ st/egl: Use C-style comments.
+
+commit 6c8c1ce78b59f76c4a4e0c354f74e6dfb5615e8a
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Dec 23 14:09:36 2009 -0800
+
+ glx: Add XF86DRI[Open|Close]FullScreen prototypes to xf86dri.h.
+
+commit cf3bb0cf315a761210a0b3bf426aa6f30024fac3
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Dec 23 12:42:38 2009 -0800
+
+ glx: Move declaration outside for loop.
+
+commit f42c861f029ae6ae469ae4685c6d5b25b7b34b68
+Author: Tom Fogal <tfogal@alumni.unh.edu>
+Date: Wed Dec 23 11:24:52 2009 -0700
+
+ Regenerate gl_mangle.h.
+
+ Signed-off-by: Brian Paul <brianp@vmware.com>
+
+commit 8e8502bc6352227afda370cfeeb1a49b128df752
+Author: Maarten Maathuis <madman2003@gmail.com>
+Date: Sun Dec 20 05:03:03 2009 -0800
+
+ gallium: only create pipe buffer when size is nonzero
+
+ - This fixes a crash upon starting spring (a rts engine/game).
+
+ Signed-off-by: Maarten Maathuis <madman2003@gmail.com>
+
+commit 57b5ca5d11044d06f8969d54ff01c27ff44585ac
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Dec 22 23:07:00 2009 -0800
+
+ glu/sgi: Silence uninitialized variable warnings.
+
+commit 19a40524d3d6f8d4a2371d8335667b57e6fb0c22
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Dec 22 18:21:41 2009 -0800
+
+ Add gallium to darwin config.
+
+commit aae32df718cbbe5bb561d3e0589b26c8b9306563
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Dec 22 17:51:58 2009 -0800
+
+ xlib: Use C-style comments.
+
+commit b20382d477b7454922af56c455b555d9e904cdc4
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Dec 22 17:34:39 2009 -0800
+
+ trace: Silence uninitialized variable warnings.
+
+commit f6ca26e5a7ad0dddf7990aa2a3420ff0f1cc93aa
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Dec 22 17:17:28 2009 -0800
+
+ trace: Add PIPE_OS_APPLE.
+
+commit 6ce28a755c3d9d2da55eb764bae4205cbd659a03
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Dec 22 16:23:00 2009 -0800
+
+ gallium/util: Add PIPE_OS_APPLE to u_stream_stdc.c.
+
+commit 5e73bcb396a313c7a1a0f8852e9e7adddefea8a1
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Dec 22 15:59:50 2009 -0800
+
+ gallium/util: Add PIPE_OS_APPLE to u_network.
+
+commit fb8bff341e6ceae25327f152d197f74d11432f22
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Dec 22 15:19:48 2009 -0800
+
+ i915g: Use C-style comment.
+
+commit cf02484fb668ca20afb8e426b44dc01397d83f87
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Dec 22 14:51:12 2009 -0800
+
+ glx: Compile dri2.c only if GLX_DIRECT_RENDERING is defined.
+
+commit c1033299e836e6a52bcd7211edb263900576e6af
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Dec 22 14:28:40 2009 -0800
+
+ ffb: Silence compiler warnings.
+
+commit b5ddc7821a334177ff3f6c0ea3a5c24245ad194c
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Dec 22 13:28:39 2009 -0700
+
+ mesa: fix binary() function, printf format string
+
+ Need to use the constant 1ULL and 0xllx format string. This fixes incorrect
+ results and a NULL pointer/parameter bug.
+
+commit 1bf2d78b11ac9ac71f4be285963db1af9f09fe73
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Dec 22 00:54:34 2009 -0800
+
+ progs/tests: Fix build.
+
+commit 82184970d3aee822d945af7d4902359f28f7057f
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Dec 21 18:32:32 2009 -0800
+
+ Add MD5 checksums for 7.6.1 release
+
+commit e9b5ed1c13e64f1da0770bce08456ed44d6bb53a
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Dec 21 18:32:32 2009 -0800
+
+ Add MD5 checksums for 7.6.1 release
+
+commit 6ffed19993ab622e0d63776420bd8c6fc6c646f3
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Dec 21 18:30:35 2009 -0800
+
+ Add MD5 checksums for 7.7 release
+
+commit 7e210b93376ab6fef63995c48d7b1766c4335ad8
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Dec 21 18:28:32 2009 -0800
+
+ mesa: set version string to 7.7
+
+commit 164b5838521bc7ab4af83bb6de8c8711ff40901c
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Dec 21 18:27:50 2009 -0800
+
+ intel: Bump driver date to reflect status as final Q4 driver RC
+
+commit 48302e9b309c7ce218de2e522c91bdc87e61cdbc
+Merge: b57abd3 75ad099
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Dec 21 18:27:24 2009 -0800
+
+ Merge branch 'mesa_7_6_branch' into mesa_7_7_branch
+
+ Conflicts:
+ scons/gallium.py
+ scons/generic.py
+ src/mesa/main/version.h
+
+commit 75ad099d3cecc64fe04477ca84bf58b7720edf28
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Dec 21 18:25:30 2009 -0800
+
+ mesa: set version string to 7.6.1
+
+commit 982acbddab536ab16b340243d2034abfb30dfe59
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Oct 10 10:45:16 2009 -0600
+
+ progs/perf: Fix MSVC build.
+ (cherry picked from commit cbf46ed670ef5a5c8a641730234dd7ae964c3170)
+
+commit 09415ca234d18d4daf257afc0ced52687fdf43a8
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Sep 24 12:36:11 2009 +0100
+
+ mesa: Fix missing finite symbol error on Windows.
+
+ Caused by some weird logic regarding the __WIN32__ define which made
+ the finite definition dependent on the header include order.
+ (cherry picked from commit 622bdecabd73167d2f2f3aff0e223a8c64433f99)
+
+commit de7021b71c1920eeb181d430f2ae2463f964d7cf
+Author: Michal Krol <michal@vmware.com>
+Date: Mon Sep 7 09:31:17 2009 +0200
+
+ mesa: Include <unistd.h> only when one is available.
+ (cherry picked from commit 970823978c2f7d2cf0757aa6ddbd6289b34c476f)
+
+commit 2b7b2b90e3fb52306c10f62e2a56f5199028d862
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Dec 21 17:25:03 2009 -0800
+
+ scons: Define _USE_MATH_DEFINES on MSVC.
+
+commit b57abd3bea29e95e5dee2524c3f1be4b26017c0f
+Merge: bf064ce e46ad40
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Dec 21 18:23:53 2009 -0700
+
+ Merge branch 'mesa_7_6_branch' into mesa_7_7_branch
+
+ Conflicts:
+ configure.ac
+ progs/demos/morph3d.c
+ progs/demos/textures.c
+ progs/glsl/shtest.c
+ progs/glsl/texaaline.c
+ progs/tests/packedpixels.c
+ progs/xdemos/corender.c
+ src/mesa/main/version.h
+
+commit bf064ce0c31abb036fc035c59fdc1134705a5e3f
+Author: Fabio Pedretti <fabio.ped@libero.it>
+Date: Tue Dec 22 10:43:35 2009 +1000
+
+ configure.ac: fix for libdrm_radeon API changes.
+
+commit e46ad402f1fecf0fc8d2538eb5abbdde97484799
+Author: Fabio Pedretti <fabio.ped@libero.it>
+Date: Tue Dec 22 10:43:35 2009 +1000
+
+ configure.ac: fix for libdrm_radeon API changes.
+
+commit bd9e0ebaffeffac09307d5e807b00fef4f551d79
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Dec 17 14:29:04 2009 +1000
+
+ radeon/r600: use new libdrm_radeon api
+
+commit bce03f71741e1b3694e5525014d847467ae6cde1
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Dec 17 14:19:27 2009 +1000
+
+ radeon: drop assert accessing cref which is meant to be hidden
+
+commit 34671efa29297d769fa73541c7c96f397cc926ed
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Dec 17 14:18:54 2009 +1000
+
+ radeon: drop unused members of radeon_state.
+
+commit e77bfc436d896378acc55a0a3a8c3117ddab4efc
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Dec 17 14:23:08 2009 +1000
+
+ r600: move structs for legacy cmdbuf into cmdbuf C file.
+
+ these really shouldn't be exposed here
+
+commit 9373287a1b6ddb7b96ee10220d282a0f11ae24a2
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Dec 17 14:29:04 2009 +1000
+
+ radeon/r600: use new libdrm_radeon api
+
+commit 9d2910ee0fd2d8ef95c6948598f702bf5a9e0d44
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Dec 17 14:19:27 2009 +1000
+
+ radeon: drop assert accessing cref which is meant to be hidden
+
+commit 43d872730172aa44139c031555e792958865b905
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Dec 17 14:18:54 2009 +1000
+
+ radeon: drop unused members of radeon_state.
+
+commit 1703628011242a9f1c664e67eabe8d4370a39b31
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Dec 17 14:23:08 2009 +1000
+
+ r600: move structs for legacy cmdbuf into cmdbuf C file.
+
+ these really shouldn't be exposed here
+
+commit 07b54fe35b93ccfd9eebd2cebe637c20044200f2
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Dec 21 15:20:01 2009 -0800
+
+ progs/redbook: Silence compiler warnings.
+
+commit fdae39c28908801709d081fbb7319e70d0ba89ba
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Dec 21 13:48:58 2009 -0700
+
+ progs/perf: added check for GL_ARB_framebuffer_object
+
+commit 79e74cda7347170f1015829ceafb0f5f18dd9236
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Dec 11 15:22:17 2009 -0700
+
+ progs/demos: report pixel rate in million pixels / sec
+
+commit 753f0a1dea6c304eb3cc5a3db5f24a5801e37a55
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Dec 21 10:21:28 2009 +1000
+
+ r600: fix glFrontFace(GL_CW)
+
+ fd.o bug #25290
+
+ Suggested fix from Rafael Monica
+
+commit ace937f1651c64d7fb22917489e29761130aaa0d
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sun Dec 20 20:11:55 2009 -0500
+
+ st/mesa: Check for single level mipmap trees.
+
+ The assert in util_gen_mipmap() caught it, although
+ it does the right thing anyway.
+
+commit b96a5df5141390b5cb31c0eac6449239c6cb750e
+Author: Jeremy Huddleston <jeremy@vincent.local>
+Date: Sun Dec 20 21:34:27 2009 -0800
+
+ darwin: mklib: Use lipo rather than file to figure out architectures of object files
+ (cherry picked from commit ad7f9d71e22fb7667c90dbbc0558939b89a45154)
+
+commit f926eff263739183b2f0dd8aca32015625eb4b4c
+Author: Jeremy Huddleston <jeremy@vincent.local>
+Date: Sun Dec 20 21:32:35 2009 -0800
+
+ darwin: Cleanup CPPFLAGS a bit
+ (cherry picked from commit 4a1e103858a1db0fb037891b8d4a9426eff32b98)
+
+commit 0dd951387405fc67b93c675d6a462ce020504719
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Dec 20 01:01:00 2009 -0800
+
+ progs/tests: Silence compiler warnings.
+
+commit d87d71036cf546488981d3bd174fde967533bad2
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Dec 19 00:28:01 2009 -0800
+
+ progs/trivial: Use C-style comments.
+
+commit 3340fd65fba8bbd426c5e0b74b1d8f1592b36499
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Dec 19 00:00:56 2009 -0800
+
+ progs/xdemos: Use C-style comment.
+
+commit 695adf41e24a16599e004fe539928ab04a9fa62e
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Dec 18 23:46:14 2009 -0800
+
+ progs/demos: Silence compiler warning in morph3d.c.
+
+commit 121ff55d81f3bff1c298ed84b2dc2d82fd572b0e
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Dec 18 23:38:15 2009 -0800
+
+ progs/glsl: Use C-style comments.
+
+commit 41377942d321c6ff858a81241f01f9c15f9ca347
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Dec 18 23:34:28 2009 -0800
+
+ progs/demos: Use C-style comment.
+
+commit 0478b745fe72360ce91988636b54f6e4834c1fae
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Dec 18 11:57:15 2009 -0700
+
+ glsl: clear out shader code before compiling
+
+ When we start compiling a shader, first free the existing gl_program.
+ This (mostly) fixes the piglit glsl-reload-source test.
+ Without this change, we were actually appending the new GPU code
+ onto the previous program.
+
+commit 20ee275974a58cd221031d522ad58a9548af2a31
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Dec 16 16:18:22 2009 -0500
+
+ r600: Invert front face winding when rendering to FBO
+
+ fixes fdo bug 25679
+
+ Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
+
+commit aeea8a07b8a3d126f62395c7f7de4fcab741846a
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Wed Dec 16 09:01:58 2009 -0800
+
+ mesa: set version string to 7.6.1-rc4
+
+commit 8a09e6e2ad9676c69cc4bb33459ebd4cbc9c982b
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Dec 16 10:39:17 2009 -0700
+
+ mesa: add missing semicolon
+
+ See bug 25663.
+
+commit 35ff190a9c80988ffeb0fbe4e2b5d732f8130feb
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Dec 16 08:17:43 2009 -0700
+
+ docs: document 7.6.1 BlueGene fixes
+
+commit 138d639ec9d4454c646d94701365e25630d9f3da
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Dec 16 08:04:23 2009 -0700
+
+ mesa: test for __blrts for CPU_TO_LE32()
+
+ See bug 25663.
+
+commit a43fc39585c0d712244bbac5461e62f3a261d930
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Dec 16 08:02:52 2009 -0700
+
+ mesa: no dlopen on BlueGene
+
+ See bug 25663.
+
+commit 6f202b53b049a3d6478fee6edb0a272cd779987e
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Dec 16 07:58:42 2009 -0700
+
+ mesa: remove //-style comments
+
+commit ddfc2e74390d0c1df10da39112a6913ea518d349
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Dec 16 07:58:31 2009 -0700
+
+ st/mesa: remove //-style comments
+
+commit dc0a1ebc7369da62c2dfbd5ea8dec3273e099725
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Dec 15 17:39:30 2009 -0800
+
+ unichrome: Silence compiler warnings.
+
+commit a60457b03b4549808de63457485fe9eb00b9fee5
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Dec 15 17:06:01 2009 -0800
+
+ sis: Silence compiler warnings.
+
+commit 7e3825abdb53c791633ee85ed544ac1cbe1a65e6
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Dec 15 16:32:51 2009 -0800
+
+ savage: Silence compiler warnings.
+
+commit ca02109e91ce7aab76eaea93d41ca98dfea22a36
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Dec 15 13:12:12 2009 -0800
+
+ r128: Silence uninitialized variable warnings in r128_tris.c.
+
+commit 7430c3ac35ed47227c47f8f5ed184e6e754ea5e7
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Dec 15 13:04:25 2009 -0800
+
+ dri: Initialize variable in driBindContext.
+
+commit f23d01e726a57cd6b8e31f1049ee5853773df7ea
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Tue Dec 15 12:14:04 2009 -0800
+
+ intel: Fallback to software if drawable size is > MaxRenderbufferSize
+
+ This prevents the mystery blank window if, for example, glxgears is
+ resized larger than 2048 wide on 915. Since the Intel drivers in Mesa
+ 7.6 lack GTT mapped fallbacks, the performance is a slideshow at
+ best. On Mesa 7.7 and later the performance is much better.
+
+commit 987e9188d25e7c49eb7e6fe64dbe63dd2cfc25ef
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Dec 15 12:32:48 2009 -0800
+
+ x86: ifdef out unused function cptr.
+
+commit 22d2547ad1cac1f91e839f646918ef7df6293ae9
+Author: Matthew Bell <matthew@bells23.org.uk>
+Date: Mon Dec 14 21:58:19 2009 -0700
+
+ mesa: Add missing $(DESTDIR) support to src/gallium/winsys/xlib/Makefile
+
+commit 0a8d508854c6dd354e611b046e375b8633059a40
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Dec 14 18:11:57 2009 -0800
+
+ progs/trivial: Silence compiler warnings.
+
+commit 6e5fe39f5051bb758b98ed4b9a2b9d550b588edf
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Dec 14 17:30:15 2009 -0800
+
+ mga: Silence uninitialized variable warnings.
+
+commit b18fa9f44810cde45519368170a505cdd0ebb936
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Dec 14 17:20:34 2009 -0800
+
+ mach64: Silence uninitialized variable warnings.
+
+commit 6c9870b54c1aad42ead5b2655c19c42343b8bf84
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Dec 13 00:14:31 2009 -0800
+
+ i810: Silence uninitialized variable warnings in i180tris.c
+
+commit 555dc25c4c5a0991fb6846ccc263a195717512de
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Dec 12 23:47:32 2009 -0800
+
+ swrast: Silence uninitialized variable warnings in s_triangle.c
+
+commit aa44efb04504fb6f8a1a2ff9d99388d173f7181a
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Dec 12 22:17:16 2009 -0800
+
+ st/mesa: Silence uninitialized variables warnings in st_draw.c.
+
+commit 0aef54ba627c748a43f601228c725f5ba79be002
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Dec 12 22:00:19 2009 -0800
+
+ swrast: Silence uninitialized variable warnings in ss_tritmp.h.
+
+commit 89d85e8170e38e04790a2c10541dec01fee9afd2
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Dec 12 21:46:13 2009 -0800
+
+ glut: Prevent potential double free in menuVisualSetup.
+
+commit 20590b97336c4ebe5d2bcee51d66820e1e5d26c8
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Dec 12 20:20:02 2009 -0800
+
+ t_dd_dmatmp.h: Silence unused value warning in render_poly_elts.
+
+commit cd1a09e3bbdb907e3b806e68400804310dc168ce
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Dec 12 18:42:18 2009 -0800
+
+ glsl: Initialize member label of struct slang_operation to NULL.
+
+commit f8d4ac56f7596613730fa4961d9b7b2e8d042055
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Dec 12 18:34:15 2009 -0800
+
+ softpipe: Initialize source in blend_quad.
+
+commit 7ea452dd35ba8ae063c70cc7fc916975c823ecd6
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Dec 12 16:56:07 2009 -0800
+
+ t_dd_dmatmp2.h: Silence unused value warnings.
+
+commit 75e8dbb2351c6bdbda0e5eaefdf434a7a5518c75
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Dec 12 16:24:25 2009 -0800
+
+ i915g: Silence unused value warning in intel_drm_get_device_id.
+
+commit 9dc018618d024cfbf1f342b0141bb6aab21f41b1
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Dec 12 16:18:08 2009 -0800
+
+ t_dd_dmatmp.h: Silence unused value warnings in render_line_loop_elts.
+
+commit af4e4a73f78cb5ccb5b0295a4683b2eae5325d8f
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Dec 12 16:02:09 2009 -0800
+
+ t_dd_dmatmp.h: Silence unused value warning in render_tri_fan_elts.
+
+commit 588e9f69c4994d4e5bccdc8257a5aeb1e0b740d8
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Dec 12 15:47:17 2009 -0800
+
+ progs/trivial: Silence compiler warnings in tri-blend-min.c.
+
+commit de9132f2740d3959af548e36e9b280e9853e59b6
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Dec 12 15:27:30 2009 -0800
+
+ t_dd_dmatmp.h: Silence unused value warning in render_poly_verts.
+
+commit 1e444c9960b18bcee5216a49db997b1c5ec14eca
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Dec 12 15:08:01 2009 -0800
+
+ swrast: Initialize tex_coords in handle_sample_op.
+
+commit c1d361bd0b3570811ca4e49d09d3282aaa5cbe01
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Dec 12 14:41:35 2009 -0800
+
+ t_dd_dmatmp.h: Silence unused value warning in render_quads_verts.
+
+commit 786899f1532046526bcc94683112d79a5f59a660
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Dec 12 14:20:17 2009 -0800
+
+ progs/trivial: Silence compiler warnings in tri-blend-max.c
+
+commit 7d529736b9a07ddd5d8127c56cc25e5f6f5f2c12
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Dec 12 13:39:39 2009 -0800
+
+ t_dd_dmatmp.h: Silence unused value warning in render_tri_fan_verts.
+
+commit c2cee7741e877bb78480eae8b8b5bfb55b42158c
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Dec 12 12:52:02 2009 -0800
+
+ t_dd_dmatmp.h: Silence unused value warning in render_line_loop_verts.
+
+commit 15c6558a2e6b613a6a058bb7f23b678a32e01846
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Dec 12 02:06:51 2009 -0800
+
+ progs/xdemos: Silence compiler warnings in glxinfo.c.
+
+commit d5be33477e4a5cb73a5ccc24c2ad6518adddeb40
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Dec 12 01:34:33 2009 -0800
+
+ progs/tests: Silence compiler warnings in vpeval.c.
+
+commit 44d6ab6de5d5c02c38146086d3f03523968df49e
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Dec 12 01:11:56 2009 -0800
+
+ progs/tests: Silence compiler warnings in cva.c.
+
+commit 9e2eee4ab203773fa4b420d3782f0074f5b3bf32
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Dec 12 01:02:16 2009 -0800
+
+ progs/redbook: Silence compiler warnings in aaindex.c.
+
+commit 81dcf8bdf23250dc04dd60994aaede0eb5c2dda7
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Dec 12 00:33:42 2009 -0800
+
+ t_dd_dmatmp.h: Silence unused value warning in render_line_loop_verts.
+
+commit 7d41b4248bee1d926646ef5fdff07da4f9026589
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Dec 11 09:41:34 2009 -0700
+
+ docs: updated 7.6.1 relnotes with GLSL fixes
+
+commit d8f8eca9efaf2f537cf9218e4dd1d742e19ffc76
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Dec 11 09:40:33 2009 -0700
+
+ mesa: remove unnecessary loop in _mesa_remove_output_reads()
+
+commit 5076a4f53a2f34cc9116b45951037f639885c7a1
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Dec 11 09:16:25 2009 -0700
+
+ mesa: check dst reg in _mesa_find_free_register()
+
+ If a register was only being used as a destination (as will happen when
+ generated condition-codes) we missed its use. So we'd errantly return
+ a register index that was really in-use, not free.
+
+ Fixes bug 25579.
+
+commit f7f1211b9b0a8fa0e5f5427b74b4eee4dabf65af
+Author: Aurelien Jarno <aurel32@debian.org>
+Date: Fri Dec 11 08:46:54 2009 -0700
+
+ sparc: additional preprocessor test for SPARC 64-bit
+
+commit 94fba49be97008565c0225bc46894bfd9453bb5e
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Dec 10 18:51:51 2009 -0800
+
+ mesa: Initialize variable in MatchInstruction.
+
+commit e31df54754e2305b7cc7072053bf5a4e0b477fd6
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Dec 10 18:32:33 2009 -0800
+
+ mesa: Assign _mesa_lookup_parameter_index return value to GLint.
+
+commit cb1dcb55f9884431a5e2b90e9208b42558a95611
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Dec 10 18:21:59 2009 -0800
+
+ i915: Add missing break statement in i915_debug_packet.
+
+commit d38ffed5236adf3ee83c0bc5bdee0233ce566e01
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Dec 10 17:50:35 2009 -0800
+
+ glsl: Increase size of array in_slang_lookup_constant from 4 to 16.
+
+ For some cases, _mesa_GetIntegerv reads up to params[15].
+
+commit 1cf60c981091d7a46cb404fd607f85553c427761
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Dec 10 15:41:13 2009 -0800
+
+ progs/samples: Byte swap individual members of struct _rawImageRec.
+
+commit bc0509bba8cc962a4ee2dafd684e153b3060262d
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Dec 10 13:24:15 2009 -0800
+
+ progs/util: Byte swap individual members of struct _rawImageRec.
+
+commit 51f52edaf186a927a2c8c29ba9dba56d18928a7e
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Dec 10 12:37:10 2009 -0800
+
+ glsl: Fix array out-of-bounds access by _slang_lookup_constant.
+
+commit dcb4a37fc89924192d923ed6906d2922371b8cb1
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Dec 10 12:11:09 2009 -0800
+
+ mesa: Fix array out-of-bounds access by _mesa_TexParameteriv.
+
+commit b82757880545f8bce471ba8f13c16998888cd4b5
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Dec 9 17:59:23 2009 -0800
+
+ mesa: Fix array out-of-bounds access by _mesa_TexGend.
+
+ _mesa_TexGend calls _mesa_TexGenfv, which uses the params argument
+ as an array.
+
+commit 444d1f39108ab4419843f19f76c968cef3398bab
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Dec 9 17:34:50 2009 -0800
+
+ mesa: Fix array out-of-bounds access by _mesa_Lighti.
+
+ _mesa_Lighti calls _mesa_Lightiv, which uses the params argument
+ as an array.
+
+commit 34528a34c446afea4442f479713e7f926220f128
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Dec 9 17:11:30 2009 -0800
+
+ mesa: Fix array out-of-bounds access by _mesa_Lightf.
+
+commit 348883076bd213ec733a1ba2a4768788e4669c97
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Dec 9 13:15:05 2009 -0800
+
+ mesa: Fix array out-of-bounds access by _mesa_PointParameteri.
+
+ _mesa_PointParameteri calls _mesa_PointParameterfv, which uses the
+ params argument as an array.
+
+commit 6f2d51b81ff907af9727e90153a46e79e246fc66
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Dec 9 13:00:22 2009 -0800
+
+ mesa: Fix array out-of-bounds access by _mesa_PointParameterf.
+
+ _mesa_PointParameterf calls _mesa_PointParameterfv, which uses the
+ params argument as an array.
+
+commit 637970aefdcdd1ee50e3759de384b82e6109a45c
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Dec 9 12:43:28 2009 -0800
+
+ mesa: Fix array out-of-bounds access by _mesa_LightModelf.
+
+ _mesa_LightModelf calls _mesa_LightModelfv, which uses the
+ params argument as an array.
+
+commit a082d965de228d5035e59245df528af62761652a
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Dec 9 11:26:24 2009 -0800
+
+ glsl: Remove unused member x from struct slang_operation.
+
+commit 3de8fff45d04fd7e702cd656ba97cafd348c3981
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Dec 9 08:30:01 2009 -0700
+
+ mesa: fix baseLevel >= MAX_TEXTURE_LEVELS test
+
+ This fixes invalid array indexing when baseLevel == MAX_TEXTURE_LEVELS.
+ See bug 25528.
+
+commit 33a120e4761a661736ea64a3efc2e3831ac5600a
+Author: Andre Maasikas <amaasikas@gmail.com>
+Date: Wed Dec 9 10:51:52 2009 +0200
+
+ r600: fix state size prediction after dc0777d3
+
+commit af16c822a5af8ce0aa7582e8ea44315b62b7356b
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Dec 8 18:26:05 2009 -0800
+
+ mesa: Fix array out-of-bounds access by _mesa_LightModeli.
+
+ _mesa_LightModeli calls _mesa_LightModeliv, which uses the
+ params argument as an array.
+
+commit d33bf38d63d233f6a09115acfff230c464d3ee29
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Dec 8 17:51:07 2009 -0800
+
+ mesa: Fix array out-of-bounds access by _mesa_Fogf.
+
+ _mesa_Fogf calls _mesa_Fogfv, which uses the params argument
+ as an array.
+
+commit 3f7c2ac2798b385bed97b6931a1568a7e0223a0a
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Dec 8 17:25:05 2009 -0800
+
+ mesa: Fix array out-of-bounds access by _mesa_TexParameteri.
+
+ _mesa_TexParameteri calls set_tex_parameteri, which uses the
+ params argument as an array.
+
+commit 7f146b38240e1c4efa6d8d0a4e5a0c8346706de5
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Dec 8 16:04:33 2009 -0800
+
+ mesa: Fix array out-of-bounds access by _mesa_Fogi.
+
+ _mesa_Fogi calls _mesa_Fogfv, which uses the params argument
+ as an array.
+
+commit a1d46fbea0b40d7edc668ea5993ea4318f37c9f9
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Dec 8 15:42:13 2009 -0800
+
+ mesa: Fix array out-of-bounds access by _mesa_TexParameteri.
+
+ _mesa_TexParameteri calls set_tex_parameterf, which uses the
+ params argument as an array.
+
+commit d88f3b946804f9a3e8cad4f8896e6be488fec2b5
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Dec 8 14:31:38 2009 -0800
+
+ mesa: Fix array out-of-bounds access by _mesa_TexParameterfv.
+
+ _mesa_TexParameterfv calls set_tex_parameteri, which uses the
+ params argument as an array.
+
+commit 54b0ed8360019fc6e0234c2c3413be40fe4d3b59
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Dec 8 15:03:15 2009 -0700
+
+ vbo: fix array index out of bounds error, and fix evaluator priorities
+
+ Fixes bug 25525.
+ Plus, the GL_NV_vertex_program evaluators alias and override the
+ convential evaluator maps, so set their state after the conventional
+ maps.
+
+commit f44f6473e60fdcde24b0d8b166fce8a2ffe366b7
+Author: Thomas Hellstrom <thellstrom@vmware.com>
+Date: Tue Dec 8 12:48:56 2009 +0100
+
+ st/xorg Fail early if we don't intend to accelerate.
+
+ Saves a number of unneeded computations and log noise.
+
+ Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
+
+commit 189ee75abb9c7b9c4a8bc0e678feaf8a6513a483
+Author: Jeremy Huddleston <jeremy@vincent.local>
+Date: Sun Dec 20 21:34:27 2009 -0800
+
+ darwin: mklib: Use lipo rather than file to figure out architectures of object files
+ (cherry picked from commit ad7f9d71e22fb7667c90dbbc0558939b89a45154)
+
+commit da5741cf533ff5a3f0ee38e7d790b26e5e77ee21
+Author: Jeremy Huddleston <jeremy@vincent.local>
+Date: Sun Dec 20 21:32:35 2009 -0800
+
+ darwin: Cleanup CPPFLAGS a bit
+ (cherry picked from commit 4a1e103858a1db0fb037891b8d4a9426eff32b98)
+
+commit 6785d6741db987469293d737e9b18f94d189b62e
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Dec 18 16:57:23 2009 -0800
+
+ i915: Fix GL_TEXTURE_MAX_LEVEL support (piglit levelclamp test).
+
+commit b51e0fafdf6a39df1b0d1208595c92d5fa9ceba6
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Dec 18 16:49:32 2009 -0800
+
+ i915: Clean up some unnecessary x/y miptree code.
+
+ The base of the texture is always the base of the miptree. If it wasn't,
+ we'd have issues with this code due to miptrees not walking the same
+ direction for all LODs.
+
+commit f06c8bd8dd961c9b722759b5d1f8fca78023aba8
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Dec 15 14:32:47 2009 -0800
+
+ i965: Add support for OPCODE_CMP in the VS to fix GLSL sqrt()
+
+ Bug #25628. Fixes piglit case glsl-vs-sqrt-zero.
+
+commit 325f045c04121b989bddfca02711e3d03f7f9c3f
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Dec 18 18:39:44 2009 +0000
+
+ st/mesa: move assert on nr vs insns until after pos_invarient expansion
+
+ It is possible to have a 1-instruction vertex shader before expanding
+ pos_invarient. Not sure what this assert achieved, but at least move
+ it where it is correct.
+
+commit 1de1deffce9c7120a167af8553b606eec82e60a3
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Dec 8 00:43:38 2009 -0800
+
+ i915g: Fix memory leak when pci id is unknown.
+
+commit 7e93e06781d2f3e0c737c7654c3fb0d83e31e45a
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Dec 8 00:37:35 2009 -0800
+
+ i915g: Add missing break statement in i915_debug_packet.
+
+commit 7f8e22aa29b7340d51b1f2e16d55a035c0f9b851
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Dec 8 00:26:37 2009 -0800
+
+ rbug: Initialize variable in rbug_get_message.
+
+ Silences uninitialized variable warning.
+
+commit 369669ff9a7ff7636cadef8e2b13f2f28face98f
+Author: Andre Maasikas <amaasikas@gmail.com>
+Date: Thu Dec 3 12:26:44 2009 +0200
+
+ r600: add support for TXB instruction
+
+ makes testing other things easier - does not hang the card
+ TODO: enable TEX dependency tracking in vertex programs
+
+commit dc0777d3e3b760d7faa5fb99a189919bde07ca0b
+Author: Andre Maasikas <amaasikas@gmail.com>
+Date: Wed Nov 4 10:00:47 2009 +0200
+
+ r600: reorder state for render_target and blend
+
+ First time around render targets are not enabled yet (done in
+ r700SendRenderTargetState) so blend state is not emitted for any targets.
+ Affects first glClear in some mesa tests.
+ As a quick fix reorder state emit so that target is set first
+
+commit add6dfbba64260c9b314b4a95c8def084e05bd3b
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Dec 7 19:04:07 2009 -0800
+
+ llvmpipe: Initialize variables in emit_instruction.
+
+commit 3e8b2fda215689b9a77c73020a1efc523995931e
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Dec 7 18:40:37 2009 -0800
+
+ progs/test: Initialize variable in prog_parameter.
+
+ Silences uninitialized variable compiler warning.
+
+commit 9dbd47fc6b1cf9ddfb318f2e05df0886cd5fe0df
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Dec 7 16:59:59 2009 -0800
+
+ mesa: set version string to 7.6.1-rc3
+
+commit 7d84169865f5907a02ff2283ca7bd45a3bb2f3c9
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Dec 7 12:31:08 2009 -0800
+
+ progs/demos: Fix memory leak in projtex.c.
+
+commit 7005f7cd1a9947e75bf772897d9055e3fe467c3d
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Nov 20 16:33:25 2009 -0800
+
+ st/egl: Fix memory leak in egl_tracker.c.
+ (cherry picked from commit 052b127842af3372fd768eae8e29b240a696a12a)
+
+commit c994f08eb1ec2a4bbaa44fbd6d35e7ff033d5c3c
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Nov 28 23:22:31 2009 -0500
+
+ dri: Fix potential null pointer dereference in driBindContext.
+ (cherry picked from commit 919898e92fa23ff71a59d86a46ff0886a6f34e4d)
+
+commit f622b649fb0c55b1640997f9d32ea327743519a1
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Nov 24 00:57:55 2009 -0500
+
+ dri: Fix potential null pointer deference in dri_put_drawable.
+ (cherry picked from commit 364070b1f2b08d43fb205ec198894a35bec6b2f3)
+
+commit 76b3523d752968bc552d4350a39b9b9b1a023cf0
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Nov 23 01:30:32 2009 -0500
+
+ glx: Prevent potential null pointer deference in driCreateContext.
+ (cherry picked from commit 4b0b250aae6ae7d48cd24f9d91d05ab58086c4b2)
+
+commit 978b80c8e35b465273921a28540ed15f07d1afbf
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Oct 9 07:24:04 2009 -0600
+
+ progs/tests: Add tests to Makefile.
+ (cherry picked from commit 76d2ec3a0a047a65ffca70f53848241a3225dad3)
+
+commit 3cd745515e72c42efcd0c9f7d30e58f46f821b98
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Nov 20 16:03:48 2009 -0800
+
+ draw: Initialize variable in draw_pt.c.
+ (cherry picked from commit ea98e9820d7117f7a187f355445796b1ef5d9e0c)
+
+commit b2953ee1a655a010f36b5fc1b47f8bd8b06ce368
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Nov 29 00:50:48 2009 -0500
+
+ mesa: Fix array out-of-bounds access by _mesa_TexGenf.
+
+ _mesa_TexGenf calls _mesa_TexGenfv, which uses the params argument
+ as an array.
+ (cherry picked from commit ca5a7aadb4361e7d053aea8687372cd44cbd8795)
+
+commit d74cd04e6190ebb3a9c53d45cbb2452d92e24ad5
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Nov 28 23:47:23 2009 -0500
+
+ mesa: Fix array out-of-bounds access by _mesa_TexGeni.
+
+ _mesa_TexGeni calls _mesa_TexGeniv, which uses the params argument
+ as an array.
+ (cherry picked from commit d55fb7c835b56951f05a058083e7eda264ba192e)
+
+commit ca8a2150c79899bad0f80e132656863822db045e
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Nov 29 21:17:44 2009 -0500
+
+ mesa: Fix array out-of-bounds access by _mesa_TexParameterf.
+
+ _mesa_TexParameterf calls set_tex_parameterf, which uses the params
+ argument as an array.
+ (cherry picked from commit 270d36da146b899d39e08f830fe34b63833a3731)
+
+commit 4071d065c2c32a872bb148d108252a2380c42da4
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Nov 29 18:18:23 2009 -0500
+
+ mesa: Fix array out-of-bounds access by _mesa_TexParameterf.
+
+ _mesa_TexParameterf calls set_tex_parameteri, which uses the params
+ argument as an array.
+ (cherry picked from commit a201dfb6bf28b89d6f511c2ec9ae0d81ef18511d)
+
+commit 1446f30875bfb3b633942bc710b061019472f788
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Dec 5 01:43:29 2009 -0800
+
+ progs/samples: Fix memory leak if malloc fails in rgbtoppm.c.
+
+commit 412aeeed1c392ab5796c85287fc6ebdccd74880c
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Dec 5 01:38:14 2009 -0800
+
+ progs/samples: Fix memory leak if fopen fails in rgbtoppm.c.
+
+commit 6212c8103a5011e08003c8946732edad39fa74c3
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Dec 5 01:28:47 2009 -0800
+
+ progs/samples: Add rgbtoppm to Makefile.
+
+commit 2cd2341ce88a3d485f81d920290a9c1d0ab988da
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Dec 5 01:22:34 2009 -0800
+
+ progs/tests: Removed unused variable from texdown.c.
+
+commit d642edd2d10e93c32077a729b13a7c7b0d37d25b
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Dec 5 01:11:26 2009 -0800
+
+ progs/vpglsl: Assign glGetUniformLocationARB return value to GLint.
+
+ The return type of glGetUniformLocationARB is GLint, not GLuint.
+
+commit 8d2f3434c5904e28b5e1bccceba7e89a94502ac1
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Dec 4 23:31:39 2009 -0800
+
+ progs/fp: Redraw upon keypress.
+
+commit fe8e18bcd41a19282ba92350a04a34866fda1d7b
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Nov 28 22:04:06 2009 -0500
+
+ mesa: Fix array out-of-bounds access in _mesa_TexEnvf.
+
+ _mesa_TexEnvf calls _mesa_TexEnvfv, which uses the param argument
+ as an array.
+ (cherry picked from commit a11d60d14caf8efc07f70af63b57b33273f8cf9b)
+
+commit 4fb5ae7233e5c358e579ced6155f32461f6edf2d
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Nov 17 12:00:22 2009 -0800
+
+ progs/util: Fix memory leak if fread returns 0 in CompileShaderFile.
+ (cherry picked from commit 11905da8836822f7dd60c84b5eefc72e46c94b50)
+
+commit 5683d7d43fd5a02b72f30a2a6d6a9bfeaf2fa781
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Nov 3 14:41:08 2009 -0700
+
+ progs/util: Fix memory leak if fail to load/compile shader
+
+ Signed-off-by: Brian Paul <brianp@vmware.com>
+ (cherry picked from commit c475079ef2d901ba4506ebd53e19419cd46793ab)
+
+commit e5bc2a19bdaeeda2aa60562f6a580e27c74e9569
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Dec 4 17:29:53 2009 -0800
+
+ progs/fp: Add tri-inv.c to Makefile.
+
+commit 225bc70b77fcf107dd8abc93be27a15c27743071
+Author: Coleman Kane <Coleman Kane>
+Date: Fri Dec 4 08:44:57 2009 -0700
+
+ r300g: use $(MAKE) variable
+
+ Fixes bug 24501
+
+commit ca7cd3ade0f27f8f1d9532ad6281659e2522f0cf
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Dec 4 08:09:55 2009 -0700
+
+ progs/xdemos: fix some visual/fbconfig logic in glxinfo.c
+
+ The fbAttribSingle/Double arrays had wrong GLX_DOUBLEBUFFER values.
+ We only need to use the glXChooseFBConfig() code when glXChooseVisual()
+ fails (but I don't know when that would happen).
+ Other recent commits errantly removed some code in this area too.
+
+commit fb83fa26c47a49db1673834fd5f013bbcacadf58
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Dec 4 08:09:07 2009 -0700
+
+ docs: a few more fixes for 7.6.1
+
+commit 8d8fd9776e23a34e0d22e489ce1f85eb5e383121
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri Dec 4 09:52:37 2009 -0500
+
+ radeon: fix polygon stipple
+
+ fixes fdo bug 25354
+
+ Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
+
+commit c74afe0c46dbd0f90361c06526f70885a9061e8e
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Nov 26 00:35:31 2009 -0500
+
+ glu/sgi: Fix memory leak in gluBuild2DMipmapLevelsCore.
+ (cherry picked from commit 808f0376607b0e2d31dfebc888fd8f1e737fed09)
+
+commit 8df551c46bc15a4b1ce1dc11e083498442018418
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Nov 25 00:39:37 2009 -0500
+
+ glu/sgi: Fix memory leak in gluBuild1DMipmapLevelsCore.
+ (cherry picked from commit 94bcb9f1a43f2ab3bdff09156e3ab5b1c115cbd8)
+
+commit ea487c6d0b261bf90e898f51bc9f872de8166ddb
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Nov 25 00:28:56 2009 -0500
+
+ glu/sgi: Fix memory leak in gluBuild2DMipmapLevelsCore.
+ (cherry picked from commit 0d89f3dc7ff3f89ba8d5d664253730485bca35e2)
+
+commit 7b5eba453e08dfad151d09ba4d308cbdf4fc83af
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Nov 25 00:18:49 2009 -0500
+
+ glu/sgi: Fix memory leak in gluBuild3DMipmapLevelsCore.
+ (cherry picked from commit f895abbd9777c4985aa40cf660c68f6d7333f0ec)
+
+commit 7ed749c062c2bc2b048a34f8e4c6b0a5198e32bb
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Nov 24 01:23:12 2009 -0500
+
+ glu/sgi: Fix memory leak in gluBuild3DMipmapLevelsCore.
+ (cherry picked from commit 326b66d724754ca97012501db1c7c62d7d41a457)
+
+commit 80a3944a4d6a07793872d283633546d482cf61b7
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Nov 23 01:09:06 2009 -0500
+
+ glu/sgi: Fix memory leak in bitmapBuild2DMipmaps.
+ (cherry picked from commit 5b925b7daa566d799c4f50911a7fcca114131503)
+
+commit 6c1fc2b2a5c80697dff304562e79dae25d9f2cb1
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Nov 23 00:57:37 2009 -0500
+
+ glu/sgi: Fix memory leak in gluScaleImage3D.
+ (cherry picked from commit b611f639b4bffdcca376293f7ce71af9f6bdbff3)
+
+commit fe38c16021694145b2c96818e0c0fb095e42c03b
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Nov 22 01:57:35 2009 -0500
+
+ glu/sgi: Fix memory leak in gluScaleImage.
+ (cherry picked from commit a9c540f5dedbf593f8038fdbc95eecb60826ab26)
+
+commit d23bb22f6258a4b55af42fdb3f29fec2e694df72
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Nov 22 01:45:53 2009 -0500
+
+ glu: Fix memory leak in __gl_meshMakeEdge.
+ (cherry picked from commit d3b4c99c703f70a9d0e715a97e52672f7f8fc980)
+
+commit 12a440abfb5a9cb786ed93d9041a6ae0752b9a18
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Nov 20 13:09:42 2009 -0800
+
+ progs/xdemos: Silence unused value warnings in sharedtex_mt.c.
+ (cherry picked from commit 8556fad75124e1ade9af095e112ebb6ac5cbff61)
+
+commit 4bf96ebdaeac780a5f28c0413b4e2fc5848f923c
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Nov 20 15:48:29 2009 -0800
+
+ progs/xdemos: Fix memory leak in pbdemo.c.
+ (cherry picked from commit e0857962b911ef317238498305651515d83029ae)
+
+commit ba3fedf24610a3db2db0b49b8b84ac3af99a87cb
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Nov 19 14:20:26 2009 -0800
+
+ progs/xdemos: Add missing break statement in offset.c.
+ (cherry picked from commit 4ab8dbe5935d5c946cbc9af6982461073a784d07)
+
+commit 83506484010d38dd6d3e17aa4e0d06dc8467992f
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Nov 20 15:06:56 2009 -0800
+
+ progs/xdemos: Remove duplicate code in glxinfo.c.
+ (cherry picked from commit a4720a1a3206dd2edecf47a21fce547a79b67610)
+
+commit 7324c22024297d1307f511ee320ebdfd47926228
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Nov 20 13:01:22 2009 -0800
+
+ progs/xdemos: Fix memory leak in glxinfo.c.
+ (cherry picked from commit f080567f4c4018c4885c105a154cb0eb39e6234f)
+
+commit 68d206fafa4398826cb26da1c66f1bbc4dc66f0c
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Nov 20 15:03:16 2009 -0800
+
+ progs/xdemos: Add assert in corender.c.
+ (cherry picked from commit 66a4ec14c38d407256545e0cf31c98974d621fe4)
+
+commit 69ed1147a8a576fb28ba1dc2b030d903ae094eda
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Nov 19 22:59:01 2009 -0800
+
+ progs/vp: Fix memory leak in vp-tris.c.
+ (cherry picked from commit 760cf71572a071ce43da576ebfeff4a8099150bc)
+
+commit efb582fde7d1375b21ecb28d8ba5690181a02a93
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Nov 18 17:30:50 2009 -0800
+
+ progs/tests: Fix memory leak in texdown.c if malloc fails.
+ (cherry picked from commit e3cfd78969cd4a94fc83a5d6fb2f33730cc4e70f)
+
+commit b210739aad1233ece4c12e93700768f331f3cac5
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Nov 17 14:10:35 2009 -0800
+
+ progs/redbook: Fix memory leak in quadric.c.
+ (cherry picked from commit 47b5f584a68ceab7c9c1d5279efbc9fe30ff2fcc)
+
+commit b1a87a3e0b8a4008be0e544f1b55f6facb01547d
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Nov 17 09:53:19 2009 -0800
+
+ progs/glsl: Fix memory leak in deriv.c.
+ (cherry picked from commit 0e783c7d03128aade3ca50b28a56e254fef6b6ab)
+
+commit 25fd168f03162d4cb25b50ea9bd5ff56283f6854
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Nov 17 11:37:48 2009 -0800
+
+ progs/glsl: Change tangentAttrib from GLuint to GLint in bump.c.
+
+ tangentAtrrib is assigned the result of glGetAttribLocation.
+ The assertion 'assert(tangentAtrrib >= 0)' would be a no-op if
+ tangentAttrib is a GLuint.
+ (cherry picked from commit b8dcb79c53796f37234bd2b0f5e2845f817fc218)
+
+commit b803abbaad3135047b931c322300b2d12ff255e1
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Nov 16 18:06:40 2009 -0800
+
+ progs/demos: Fix memory leak in ray.c.
+ (cherry picked from commit 6b480dc21dd489d48685b2268e495218aea74293)
+
+commit 5820dae4ecad11097ddc024441ea45aa9fefa290
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Nov 16 16:31:34 2009 -0800
+
+ progs/demos: Fix memory leak in projtex.c.
+ (cherry picked from commit ee555e3d69c8820f27e71e5ebc028a768cef7d0b)
+
+commit fc5f07de1aabddaf2c9d599a85ec74cde674275e
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Nov 16 15:44:52 2009 -0800
+
+ progs/demos: Fix memory leak in ipers.c.
+ (cherry picked from commit a1afe303deda320aadacdaf5b1c72631ca3f734f)
+
+commit d245a951f39fe480c6268dbcc1fa06d59c40109e
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Nov 16 14:56:07 2009 -0800
+
+ progs/demos: Fix memory leak in fslight.c.
+ (cherry picked from commit aef3218f0bb48fdb286d2008ee07e507ea8aa98e)
+
+commit 905e12f3cce7f1bd8cfa990e4d6d7c0b14610f84
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Nov 20 14:20:15 2009 -0800
+
+ gallium/util: Initialize variables in u_pack_color.h.
+ (cherry picked from commit 36e2074b63e3e5bc489eb74cad0cd97eafcedb40)
+
+commit 56de7e222ee0f5e44b87ce05dc94733fdd41e4ed
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Nov 19 22:52:05 2009 -0800
+
+ progs/trivial: Redraw upon keypress.
+ (cherry picked from commit 9553a42f638bd98eb90e5b7fb37d6b82758b6363)
+
+commit 34a0b22a741a136687e4feb7216595bf0f8445cb
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Nov 19 13:03:12 2009 -0800
+
+ progs/trivial: Redraw upon keypress.
+ (cherry picked from commit 3790c6a13b86dfe0afd4bb0bf9a4d9f4b429cfd8)
+
+commit 9e29242331335796c8eeb3d669111844161067f8
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Nov 19 22:46:19 2009 -0800
+
+ progs/glsl: Redraw upon keypress.
+ (cherry picked from commit 881f55236ad85f95745e70f8363726fa3c201f80)
+
+commit a0ac8fc7d8d946183ba0506a8134a6e55819e151
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Nov 20 12:11:55 2009 -0800
+
+ progs/util: Exit RawImageGetData early if malloc fails.
+
+ Prevents a null pointer deference later on.
+ (cherry picked from commit e26135a744f740430e3dc341fa692544ba99c11e)
+
+commit 0a6acecb35aa5701ee82cf17c2561c172612cb6e
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Nov 20 11:22:13 2009 -0800
+
+ progs/util: Fix memory leak if malloc fails in RawImageOpen.
+ (cherry picked from commit d36cb2396c942f05ba56c5b899792a507bb0f0fd)
+
+commit 305d4f147ea86d87706dbaf2caad6a131c59fe80
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Nov 17 13:49:31 2009 -0800
+
+ progs/util: Fix memory leak if fopen fails in RawImageOpen.
+ (cherry picked from commit d9508e8df9da4aa13bc223194c406081738bac91)
+
+commit 772e00478124074c7b954fad52974057f0669a9b
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Nov 17 11:04:24 2009 -0800
+
+ progs/util: Fix memory leak if malloc fails in tkRGBImageLoad.
+ (cherry picked from commit 786d539511eb3c5a4101b11b7f8e90d60123ac46)
+
+commit f1172c4030dd0952dfdecda059beb39b1224a8ae
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Nov 17 10:11:50 2009 -0800
+
+ progs/util: Fix memory leak if LoadRGBImage fails.
+ (cherry picked from commit 041cd0e110d41b543a0fe9cc484ae8373642912b)
+
+commit 84de1672d3efbfc3b2ae51633b0e503f15e5d62d
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Nov 17 08:29:36 2009 -0800
+
+ progs/util: Fix memory if LoadRGBMipmaps2 fails.
+ (cherry picked from commit 28b8e4bcd76cc072b062e4c8575327c05ecb9a55)
+
+commit 4ca8e1680ed2e8437653c6f16f39438e51ce24ae
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Nov 16 18:22:26 2009 -0800
+
+ progs/util: Fix memory leak if LoadYUVImage fails.
+ (cherry picked from commit 0e790ac35327a0b53a4a595a6429135317302269)
+
+commit d6a993135f151fca892609f7cf6f471416192217
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Nov 18 14:41:40 2009 -0800
+
+ progs/fp: Redraw upon keypress.
+ (cherry picked from commit cde66437247feb8b14b6d8f3ec3a8b4665fefa08)
+
+commit 005242f1664afdd6f4b832863d569e9e3c583454
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Oct 30 15:02:21 2009 -0600
+
+ prog/tests: Fix MSVC build.
+
+ Signed-off-by: Brian Paul <brianp@vmware.com>
+ (cherry picked from commit 9c3197ef0abc3bf521358ea0c7af0fc6979c82b3)
+
+commit d3208678c2ea0e50be7b8eb68106f7650b37dfc6
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Oct 30 09:39:51 2009 -0600
+
+ progs/tests: fix MSVC build.
+
+ Signed-off-by: Brian Paul <brianp@vmware.com>
+ (cherry picked from commit a8ed066858f12290239ddc9165b7c0734ccc0247)
+
+commit 97cbf4943a5926dc1bbec213ff8c919ece66555e
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Oct 26 15:03:31 2009 -0600
+
+ progs/tests: Fix MSVC build.
+ (cherry picked from commit 50e113e375b4ecfdf5b60ccce7bbcdb1c5f2ca11)
+
+commit a99bf51bc845617c2086468a814685672b5de224
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Oct 23 13:49:02 2009 -0600
+
+ progs/tests: Fix MSVC build.
+ (cherry picked from commit 952bf63e2cf442504ef89b0b1d276da0d52b21d4)
+
+commit 28474e1225866e6b73928f79722f14cc5d6b35c7
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Oct 16 11:39:29 2009 +0100
+
+ progs/tests: Use rand() instead of random().
+
+ Forgot these on previous commit.
+ (cherry picked from commit 166957abebea6aa203eba7e6348e89d53cf0e13e)
+
+commit bb6e3af93920ca15d19fbb9685e5b6f612cc502c
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Oct 16 11:39:29 2009 +0100
+
+ progs/tests: Use rand() instead of random().
+
+ More portable. Same implementation on Linux.
+ (cherry picked from commit 699260b19535abaa3af0a5d33eb039e3d6a30ce9)
+
+commit a38776419b1e18a43e8bab1371dfe802af44d14a
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Oct 8 08:08:11 2009 -0600
+
+ progs/tests: Fix MSVC build.
+ (cherry picked from commit f7455ad7af09b5ef31ccc454b79422a13c59af9a)
+
+commit 791b7546876e72dcbcc012a855df7f610d777297
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Oct 16 11:36:09 2009 +0100
+
+ prog/tests: Fix MSVC build.
+ (cherry picked from commit 60b6c7458319ff01ecdd9d1650d526ac8f75e194)
+
+commit 89e747920f35f28d651ad89380f58250aab7c2d4
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Oct 12 18:05:05 2009 -0600
+
+ prog/tests: Fix MSVC build.
+ (cherry picked from commit 96fd13c1a024e3b6c0b1c44394c67c772e52b9c9)
+
+commit 5a25adb646faa970dacec0dbfa2e2bd905e87eba
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Oct 6 16:02:47 2009 -0600
+
+ progs/tests: fix MSVC build.
+ (cherry picked from commit 9c778a90ea24f25437b68bb67856c81add61e261)
+
+commit 3910e88ebf636cb34ae75bc4a7916fc8c2f1a9e1
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Oct 14 07:43:18 2009 -0600
+
+ prog/tests: Fix MSVC build.
+ (cherry picked from commit ea862ec8ff4a52b30b822e737d93a49330be9e31)
+
+commit 2b5618fc5bdcbee3434f8b5aa3a31eb06fb479c0
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Thu Dec 3 11:20:40 2009 -0500
+
+ r200: fix polygon stipple
+
+ fixes fdo bug 25354
+
+ Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
+
+commit c3b7f93e0284bf3337f32f3ec77fde4dbcc9c283
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Sep 8 12:31:42 2009 +0100
+
+ scons: Add Mac OS to target platform list.
+ (cherry picked from commit 2c307c775018e5b9680de8022ddf0ce3b6f560be)
+
+commit 235c0c81346c44e24909b6e48394ea62b136a36b
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Nov 19 23:56:07 2009 -0800
+
+ progs/vpglsl: Fix psiz-mul.glsl compilation error on Mac OS.
+ (cherry picked from commit b98db7bf697c3ed6e6df303e9dd66f7ac31eb3e2)
+
+commit 0a107d36c2f290cd42e29008dec5194df55b7690
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Nov 18 14:02:20 2009 -0800
+
+ progs/glsl: Fix trirast GLSL compilation errors on Mac OS.
+ (cherry picked from commit 4b3ec2acf2cc2830b0907e4fb4db8bd1ff4a18e3)
+
+commit b094683e7c2f14f61cf3511f286b4cea450609c8
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Nov 18 13:50:49 2009 -0800
+
+ progs/glsl: Fix noise GLSL compilation error on Mac OS.
+ (cherry picked from commit 0d31990b4742eccdf6ae6a3b3e16c81cc863085d)
+
+commit 592c8522a280898ba7a797923c0e054ac6df038f
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Nov 11 17:39:58 2009 -0800
+
+ demos/glsl: Add missing break statement to noise test.
+ (cherry picked from commit 7dfea5c0722e9da101805c15b9dd26352816bca9)
+
+commit 8f4d3613daa5684ff8aba75158ef7585a8005ed0
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Nov 18 12:49:31 2009 -0800
+
+ progs/glsl: Fix multinoise GLSL compilation errors on Mac OS.
+ (cherry picked from commit d4dc2e30dada1be425e95ba270920db6eb210982)
+
+commit 9ed77d12b10c2ed830647bfcadfb3478b2e418d1
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Nov 12 16:20:23 2009 -0800
+
+ progs/glsl: Add missing break statement in multinoise.c.
+ (cherry picked from commit 43080e40aa0d34423e10f1d50aad15289b2b9aec)
+
+commit 832593772dac9b83db1ed44c8654352978e756eb
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Nov 17 23:15:25 2009 -0800
+
+ progs/glsl: Fix mandelbrot GLSL compilation error on Mac OS.
+ (cherry picked from commit 04442841fb7e9138eb50ff692952ad7e8c3877d8)
+
+commit 2a5cd95e243a0e8db25a8c7614c9b9fe5f116044
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Sep 21 08:44:53 2009 -0600
+
+ progs/glsl: Include local headers before installed headers during compilation.
+
+ Fixes compilation errors on platforms with insufficient older installed
+ GL headers.
+ (cherry picked from commit d17af7d1e19e637e29db47bd8f6e3e579760c530)
+
+commit ccea09cd3a3f18c28ebdc07c7fe879a59cd72f60
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 16 15:49:33 2009 -0600
+
+ progs/glsl: minor Makefile clean-ups
+ (cherry picked from commit 4df2f7af5e9b2c00ead92fe0ae49ed8491aef1d0)
+
+commit 67a0628ab2830371fc0a80b58aa4757c099471dc
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Nov 14 21:36:18 2009 -0800
+
+ progs: Ignore Mac OS dSYM directories.
+ (cherry picked from commit a420056750908f7c2f9a7c18b3ab20f04e49711d)
+
+commit 908a3e56ccf2e6266ebf081e2947e2d6b24f2585
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Dec 2 09:31:26 2009 -0700
+
+ cell: added tex_usage param to xm_surface_buffer_create()
+
+commit ba97b98842ebe0178406258f29c93ca9fa415ff7
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Nov 30 09:54:27 2009 -0700
+
+ progs/demos: remove unused glFogCoordPointer_ext var
+
+commit b9f4a0bd2b0104ce5f15dcd7d1698db710330418
+Author: Tom Fogal <tfogal@alumni.unh.edu>
+Date: Tue Nov 24 16:46:31 2009 -0700
+
+ Simplify hackery added to fix AIX build.
+
+ Borrow an idiom from the GNU build system which can handle `for'
+ loops over empty lists.
+
+commit d8da270a2be18849eee8a168d1c1528e96677b41
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Tue Nov 24 11:59:23 2009 -0800
+
+ intel: Remove GL_NV_point_sprite from extension list
+
+ i830 does not (and cannot!) support the any of the non-default
+ GL_POINT_SPRITE_R_MODE_NV settings. i915 and i965 could, but
+ currently do not. In both cases it would require mucking about with
+ the fragment shader.
+
+commit 910aaed4daad319b584b68ae2468432c8f6bac21
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Nov 30 17:55:21 2009 -0800
+
+ mesa: set version string to 7.6.1-rc2
+
+commit 587a52e95bbe96788e8b96b63f091bb3022fc048
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Nov 30 12:43:12 2009 -0800
+
+ i915: Actually put i915PointParameterfv in the driver function table. Duh.
+
+commit 533b7660073f2c1cd1a19105d4989ec11bfdcd87
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Sun Nov 29 17:49:55 2009 -0800
+
+ i915: Fallback bit define missed on previous commit
+
+commit 718f31b830b2c4edad8b7e04804ff23e1db93e5a
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Sun Nov 29 17:43:38 2009 -0800
+
+ i915: Round point sizes instead of truncate.
+
+commit d8d49716cf5d5cabebadc32d7717eec787c75ff1
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Sun Nov 29 17:40:02 2009 -0800
+
+ i915: Enable point sprite coordinate generation
+
+ Support still isn't completely correct, but it's better. piglit
+ point-sprite now passes. However, glean's pointSprite test fails. In
+ that test the texture on the sprite is somehow inverted as though
+ GL_POINT_SPRITE_COORD_ORIGIN were set to GL_LOWER_LEFT. i915 hardware
+ shouldn't be able to do that!
+
+ I believe there are also problems when not all texture units have
+ GL_COORD_REPLACE set. The hardware enable seems to be all or nothing.
+
+ Fixes bug #25313.
+
+commit 0528f40e3b8ca3e59d3a641c4504d34cf9364578
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Wed Nov 25 16:31:28 2009 -0800
+
+ Improve implementation of GL_POINT_SPRITE_COORD_ORIGIN errors
+
+ This enum is only supported for OpenGL 2.0. If a driver supports
+ OpenGL 1.4 and GL_ARB_point_sprite, using this enum should generate an
+ error. This is important because, for example, i915 and i830 can
+ support GL_ARB_point_sprite, but they cannot support
+ GL_POINT_SPRITE_COORD_ORIGIN.
+
+ This commit just removes the check for NV_point_sprite, which is
+ completely wrong, and add some comments describing what the code
+ should do. I don't see an easy way to check for version >= 2.0 from
+ inside Mesa. Perhaps we should add an extension
+ GL_MESA_point_sprite_20 (like Intel's old GL_EXT_packed_pixels_12) to
+ indicate that this added bit of functionality is available.
+
+ Also note that glean's pointSprite test only checks for
+ GL_ARB_point_sprite before trying to use
+ GL_POINT_SPRITE_COORD_ORIGIN. Naturally, that fails on
+ non-2.0 implementations (i.e., Mac OS X on GMA 950).
+
+commit e4c5fe52c99bdf651aafa1569d9cf901891004d8
+Author: Dave Airlie <airlied@linux.ie>
+Date: Wed Nov 25 20:23:22 2009 +1000
+
+ radeon: fix context destroy needing lock for flushing.
+
+ Thanks to Intel code which I've just stolen pretty much as usual.
+
+ This fixes fdo bug 22851 which is a dri1 regression since rewrite.
+
+ Tested by: fpiobaf (Fabio) on #radeon
+ Signed-off-by: Dave Airlie <airlied@redhat.com>
+
+commit b12ca6b87b55e3359e81d5a3be380c860478e353
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Nov 23 23:14:49 2009 -0800
+
+ i915: Initialize Length and Offset fields when mapping a buffer object
+
+ This fixes an assertion failure in _mesa_MapBufferARB.
+
+ Fixes bugzilla #25253.
+
+commit da0883114b1dceceff8a38deea1bb870fda40464
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Nov 23 18:32:27 2009 -0800
+
+ shaderutil: Fix detection of shaders
+
+ Check for versions >= 2.0 (because some drivers return 3.0), and return
+ GL_FALSE if shaders are not detected.
+
+commit a11750218fa43dcf0d45b960d52497f7700db2a7
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Thu Oct 15 01:24:53 2009 +0100
+
+ autoconf: Fix case for not having package
+ (cherry picked from commit 5c4bdbd825934fe01330890d360b61caa06fdc8d)
+
+commit 601edbef172f3106b9e4c0b96b24d8b5eea8d2a5
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Mon Nov 23 19:33:59 2009 +0100
+
+ Fix the DRI swrast driver for big endian platforms.
+
+ Too bad I didn't realize earlier how easy this could be...
+
+ Fixes http://bugs.freedesktop.org/show_bug.cgi?id=22767 .
+
+commit 3128d65fd7da9dc9b7a6823fae9d9b2ca33afca6
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Nov 19 09:35:01 2009 -0700
+
+ docs: document fixes for AIX
+
+commit 7593bcb6ec1362722bcf7c7323d7dce221c4b09b
+Author: Tom Fogal <tfogal@alumni.unh.edu>
+Date: Thu Nov 19 09:33:21 2009 -0700
+
+ gl: added mangled glXGetProcAddressARB define
+
+ Signed-off-by: Brian Paul <brianp@vmware.com>
+
+commit 8f24e863c3745b59e00978fbba306077629b5684
+Author: Tom Fogal <tfogal@alumni.unh.edu>
+Date: Wed Nov 18 20:19:29 2009 -0700
+
+ progs: Fix quoting issue with empty set of PROGRAM_DIRS.
+
+ Quotes are important to make sure the argument to test -n really
+ is the empty string, but that requires stringifying PROGRAM_DIRS.
+
+ Signed-off-by: Brian Paul <brianp@vmware.com>
+
+commit 4e6e2462ea1fb5b7fc24bb0e707a9cf6507c47c9
+Author: Tom Fogal <tfogal@alumni.unh.edu>
+Date: Thu Nov 19 09:18:48 2009 -0700
+
+ mesa: define 32bit byteswap for AIX.
+
+ Fixes `xlib' driver build on AIX.
+
+ Signed-off-by: Brian Paul <brianp@vmware.com>
+
+commit 5117725fd0eee7dbd5708bdbbd066bc89c2d35a9
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Nov 19 09:07:34 2009 -0700
+
+ docs: removed VC6/7 project files
+
+commit e16b59df42131452633742a03694bd5132a8895e
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Nov 19 09:07:17 2009 -0700
+
+ docs: update news file for 7.6.1 release
+
+commit 2a1505b42e30eeae20624bd24386198a8d867357
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Nov 19 09:01:48 2009 -0700
+
+ docs: remove VC6/7 project file info
+
+commit cba614bd88a9fa54d5d0d7d4dc80e86eac79347e
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Nov 19 09:00:14 2009 -0700
+
+ mesa: omit VC6, VC7 project files from tarballs
+
+ Only VC8 project file is known to work.
+
+commit 3bcf2d49f3ce734820bf2f599345ac33a79aa735
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Nov 19 08:57:39 2009 -0700
+
+ windows: remove old VC6 project files directory
+
+ Very out of date, according to Karl Schultz.
+
+commit fe5c46546e740a16a13fe9e8aaa4b071bc13d70b
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Nov 18 11:51:20 2009 -0500
+
+ r600: disable compressed texture support
+
+ It's not implemented yet. fixes fdo bug 24047
+
+commit c5add6a46899b87b3f338288cf9744160cf7c464
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Nov 18 11:32:55 2009 -0500
+
+ docs: Add note about r600
+
+commit 13b5a624b1899c457279907d58046dfb3c95addc
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Nov 18 11:27:36 2009 -0500
+
+ Revert "radeon: Fix legacy bo not to reuse dma buffers before refcount is 1."
+
+ This reverts commit 284a7af274bc148f112bd0ebb40583923ee26b49.
+
+ This breaks kde desktop effects. See fdo bug 24131
+
+commit 027abddf4f47163276f55c2fa8f81408b652f072
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Nov 18 08:08:25 2009 -0700
+
+ mesa: set version string to 7.6.1-rc1
+
+commit d449c07b8bfd1789b4f643b0eb0b1fac5314ebbe
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Nov 18 08:07:56 2009 -0700
+
+ xorg/st: fixup builds against later dpms headers.
+
+ (cherry picked from master, commit e9d6ab72be065becf7a077c33919d37faa8db92e)
+
+commit 2b3ea2be906fbe0bf08f08f23ec39c0feb7a8f39
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Nov 17 15:53:27 2009 -0700
+
+ docs: i965 clipping fix
+
+commit 514544f373b6e6fae11b7b4426949b8ad64c441b
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Nov 12 09:08:50 2009 -0800
+
+ i965: Fix Ironlake shadow comparisons.
+
+ The cube map array index arg is always present.
+
+commit 5f305b1db925c819ddeb29a75f6fbad6500a2d11
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Nov 11 14:49:03 2009 -0800
+
+ i965: Fix VBO last-valid-offset setup on Ironlake.
+
+ Instead of doing math based on the (broken for VBO && offset != 0)
+ input->count number, just use the BO size. Fixes assertion failure in ETQW.
+
+commit ab12e764ba3f57ad9f0d7252262cfc6e07839928
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Wed Nov 11 17:57:56 2009 -0800
+
+ i965: fix EXT_provoking_vertex support
+
+ This didn't work for quad/quadstrips at all, and for all other primitive types
+ it only worked when they were unclipped.
+ Fix up the former in gs stage (could probably do without these changes and
+ instead set QuadsFollowProvokingVertexConvention to false), and the rest in
+ clip stage.
+
+commit 1220aba99bc78290bb89ade649719508e3031e4b
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Nov 10 14:11:46 2009 -0800
+
+ i965: Fix VS constant buffer value loading.
+
+ Previously, we'd load linearly from ParameterValues[0] for the constants,
+ though ParameterValues[1] may not equal ParameterValues[0] + 4. Additionally,
+ the STATE_VAL type paramters didn't get updated.
+
+ Fixes piglit vp-constant-array-huge.vpfp and ET:QW object locations.
+
+ Bug #23226.
+
+commit e5ffb9f5ea03c2acd148222259a334cde0f3afc9
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Nov 10 10:54:15 2009 -0800
+
+ i965: Unalias src/dst registers for SGE and friends.
+
+ Fixes piglit vp-sge-alias test, and the googleearth ground shader. \o/
+
+ Bug #22228
+ (cherry picked from commit 56ab92bad8f1d05bc22b8a8471d5aeb663f220de)
+
+commit 23a4a6727efb5c8b2bf84f88f638c15e7255b363
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Nov 10 10:43:19 2009 -0800
+
+ i965: Allow use of PROGRAM_LOCAL constants in ARB_vp.
+
+ Fixes piglit arl.vp.
+ (cherry picked from commit d52d78b4bcd6d4c0578f972c0b8ebac09e632196)
+
+commit 74ef3207d8bd97a529e7b0ab8d99e44c805f3af0
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Mon Nov 9 11:36:10 2009 -0500
+
+ r600: don't emit htile regs
+
+ These are needed for HiZ which is not currently used and
+ the _BASE reg requires a reloc which is not currently supported
+ in the drm.
+
+commit 2cda507fa170c040e207190dee44d1be5e8572f7
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Nov 2 14:10:38 2009 -0800
+
+ prog parse: Handle GL_VERTEX_PROGRAM_ARB in glLoadProgramNV
+
+commit 6d2ceda780967848b6147061287095c35bc9d92f
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Nov 2 14:08:51 2009 -0800
+
+ prog parse: Handle GL_VERTEX_PROGRAM_NV in glProgramStringARB
+
+ Handle both NV vertex programs and NV vertex state programs passed to
+ glProgramStringARB.
+
+commit 289db82b2d42b0d79fd0c01781612bd4e69a9474
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Nov 2 13:38:15 2009 -0800
+
+ prog parse: Handle GL_FRAGMENT_PROGRAM_ARB in glLoadProgramNV
+
+commit 7452877cf64b48c58f70f73f3eda9bf2692bb9a6
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Nov 2 13:37:47 2009 -0800
+
+ prog parse: Handle GL_FRAGMENT_PROGRAM_NV in glProgramStringARB
+
+commit 26d2ce0a09f1aac628519cf3473fcabd3f149446
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Fri Nov 6 14:52:49 2009 -0800
+
+ GLX: Change GLX client vendor string to "Mesa Project and SGI"
+
+ This change allows a certain closed-source browser plug-in to work
+ with open-source drivers.
+
+commit 9348ac03ce23392013ba22c22a182eea4453027a
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Thu Nov 5 14:20:16 2009 -0800
+
+ ARB prog parser: Regenerate parser from previous commits.
+
+commit d8e256f9236d3e9dfd433c3a59718f0fdf1ca79a
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Thu Nov 5 14:17:07 2009 -0800
+
+ ARB prog parser: Release old program string in _mesa_parse_arb_{fragment,vertex}_program
+
+ The program structure passed to _mesa_parse_arb_program is just a
+ place holder. The stings that actually need to be released are only
+ known to the functions calling _mesa_parse_arb_program, so they should
+ be freed there.
+
+commit 301a9b7e28f7404b8f6d8c34649f0035b49a8249
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Thu Nov 5 14:15:56 2009 -0800
+
+ ARB prog parser: Release strings returned from the lexer that don't need to be kept
+
+commit 1c7337d46eab0cfd36ebc0ad22c5a66ec9b91d39
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Wed Nov 4 12:03:44 2009 -0800
+
+ Revert "ARB prog parser: Fix epic memory leak in lexer / parser interface"
+
+ This reverts commit 93dae6761bc90bbd43b450d2673620ec189b2c7a.
+
+ This change was completely broken when the parser uses multiple
+ strings in a single production. It would be nice if bug fixes could
+ initially land somewhere other than the stable branch.
+
+commit 63191bd244f18fd78bebb9586d2b85ab9d5b38e2
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Nov 5 16:48:50 2009 -0700
+
+ xmesa: pass pixmap to clip_for_xgetimage()
+
+ The code was assuming ctx->DrawBuffer == ctx->ReadBuffer.
+ Passing the pixmap is simpler and better.
+ Fixes a potential segfault.
+
+commit 7c623905bc032480a0765093825f3bd105345121
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Nov 4 17:58:43 2009 -0700
+
+ mesa: added cast to silence warning
+
+commit 1c3f7ab74ce492d6c92f2e3a0f29957fa9a71d96
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Nov 4 17:51:21 2009 -0700
+
+ vbo: fix out-of-bounds array access
+
+ The exec->vtx.inputs[] array was being written past its end. This was
+ clobbering the following vbo_exec_context::eval state. Probably not noticed
+ since evaluators and immediate mode rendering don't happen at the same time.
+
+ Fixed the loop in vbo_exec_vtx_init().
+ Changed the size of the vbo_exec_context::vtx.arrays[] array.
+ Added a bunch of debug-build assertions.
+
+ Issue found by Vinson Lee.
+
+commit bc4ad7c2ae069a7d361f2210d39dbb91777cce76
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Nov 4 17:42:30 2009 -0700
+
+ mesa: fix broken pack_histogram() case for GLhalf
+
+commit 76aa0c0fd3d972000cb6707a3834128cea2f9738
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Nov 4 17:42:01 2009 -0700
+
+ mesa: silence warning from gcc 4.4.1
+
+commit 60c328db2d5f269267dac7cd64335ba005890fca
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Nov 4 15:55:39 2009 -0700
+
+ progs/tests: Fix MSVC build.
+
+ Signed-off-by: Brian Paul <brianp@vmware.com>
+
+commit f1b91ccc0839f5088b86c3fe81eed957c1f91293
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Wed Nov 4 14:48:25 2009 +0000
+
+ Fix YTILE spantmp functions
+
+commit 51f7763c00ca47d522ea62457fdce5df5c89d5b2
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Nov 4 07:14:55 2009 -0700
+
+ glslcompiler: Fix Mac OS build.
+
+ Signed-off-by: Brian Paul <brianp@vmware.com>
+
+commit 6eb71519f7d08344b7f9819db22980f9c6fade3c
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Nov 3 16:13:22 2009 -0700
+
+ mesa: (GLint64) casts in get.c to silence Visual Studio warnings
+
+ Revised version of a patch from Karl Schultz.
+
+commit c5106339d38dfac6652be9788ae8c78efab7667c
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Nov 3 16:12:02 2009 -0700
+
+ docs: fix 7.6 build with Visual Studio
+
+commit 804d367a473f7c969ac1e1f598697686a40b11cd
+Author: Karl Schultz <karl.w.schultz@gmail.com>
+Date: Tue Nov 3 16:09:26 2009 -0700
+
+ windows: updated VC8 project file
+
+ Signed-off-by: Brian Paul <brianp@vmware.com>
+
+commit 077eb0d81ca88a8f2b9182b3a274b11a81bab974
+Author: Karl Schultz <karl.w.schultz@gmail.com>
+Date: Tue Nov 3 16:07:01 2009 -0700
+
+ windows: remove old entrypoints from mesa.def file
+
+ Signed-off-by: Brian Paul <brianp@vmware.com>
+
+commit e713a95c96e4af9d3b97ab8383fff3ccf98b012d
+Author: Karl Schultz <karl.w.schultz@gmail.com>
+Date: Tue Nov 3 16:05:12 2009 -0700
+
+ mesa: added GLAPIENTRY keywords for sync object functions
+
+ Signed-off-by: Brian Paul <brianp@vmware.com>
+
+commit a0cd2b7029e1ac6699b807baa255e7fd2abe7f54
+Author: Marek Olšák <maraeo@gmail.com>
+Date: Tue Nov 3 16:16:05 2009 +0100
+
+ st/mesa: clip pixels in draw_stencil_pixels to avoid crash
+
+ Signed-off-by: Brian Paul <brianp@vmware.com>
+
+commit e60ebebb392d1d4c47541766737b5a79685a24d5
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Nov 3 09:30:20 2009 -0700
+
+ st/mesa: don't use util_blit_pixels_writemask() for depth or depth/stencil
+
+ util_blit_pixels_writemask() only works for color formats at this time.
+ Also, it might never work for depth/stencil surfaces since we can't get
+ handle stencil values in a fragment shader.
+
+ Fixes glCopyTexSubImage(GL_DEPTH_COMPONENT).
+
+commit 0197348641614188c400d7c616573bb7f1eea781
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Nov 3 09:26:32 2009 -0700
+
+ st/mesa: fix tests for depth and depth/stencil texture formats
+
+commit e0556657526a7fe53d6e17cf70ffa6a8ee35e0a9
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Nov 2 12:35:47 2009 -0700
+
+ glx: Fix memory leak if XF86DRICreateDrawable() fails
+
+ Signed-off-by: Brian Paul <brianp@vmware.com>
+
+commit 35506dec6734a1ae777dc16981cb19e514f41897
+Author: Chow Loong Jin <hyperair@gmail.com>
+Date: Wed Oct 28 14:34:14 2009 +0800
+
+ Add --with-dri-searchpath argument
+
+ * Add an extra argument to configure which allows for specifying
+ different DRI driver search paths to libGL (FDO #24766)
+
+ Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
+
+commit 02b9fb9c80ae9079cd2eab945d58551f9d9cbd7c
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 29 14:46:02 2009 -0600
+
+ progs/tests: fixes for drawbuffers.c
+
+ Disable GL_DEPTH_TEST before glDrawPixels.
+ Show color buffer 0 on left, color buffer 1 on right.
+
+commit 635ea8737488cc2fdcf0fcacb4ca39c8bc3b028a
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Oct 10 11:52:38 2009 -0600
+
+ progs/tests: added test for GL_EXT_texture_compression_s3tc support
+
+commit 96128fdf2f959e2b59eca8f234dc6f3adf7a553f
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Oct 28 17:59:49 2009 -0600
+
+ mesa: Fix memory leak if we run out of memory
+
+ Signed-off-by: Brian Paul <brianp@vmware.com>
+
+commit c0a61c8442af3cfa810098d34bf6a21d11a5d720
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Oct 28 13:09:44 2009 -0600
+
+ intel: Fix memory leak in case of renderbuffer bad format
+
+ Signed-off-by: Brian Paul <brianp@vmware.com>
+
+commit 0219cd0961e6b47761fe6984dc6c0a8bfa6057d8
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 28 11:13:21 2009 -0600
+
+ mesa: remove unneeded #includes
+
+commit 5e3b2baae74e6cde494b2fe5c6b32e3e8ef0ce87
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 28 11:11:30 2009 -0600
+
+ mesa: include imports.h to silence warning
+
+commit a7d0665c00053839065592c339bfb298187a82be
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Oct 28 11:09:50 2009 -0600
+
+ intel: Fix memory leak in event of mip tree allocation failure
+
+ Signed-off-by: Brian Paul <brianp@vmware.com>
+
+commit 93dae6761bc90bbd43b450d2673620ec189b2c7a
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Tue Oct 27 13:40:18 2009 -0700
+
+ ARB prog parser: Fix epic memory leak in lexer / parser interface
+
+ Anything that matched IDENTIFIER was strdup'ed and returned to the
+ parser. However, almost every case of IDENTIFIER in the parser just
+ dropped the returned string on the floor. Every swizzle string, every
+ option string, every use of a variable, etc. leaked memory.
+
+ Create a temporary buffer in the parser state (string_dumpster and
+ dumpster_size). Return strings from the lexer to the parser in the
+ buffer. Grow the buffer as needed. When the parser needs to keep a
+ string (i.e., delcaring a new variable), let it make a copy then.
+
+ The only leak that valgrind now detects is /occasionally/ the copy of
+ the program string in gl_program::String is leaked. I'm not seeing
+ how. :(
+
+commit 8df9587d68752f3369cc1eda1606d3b7c1041ec6
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Tue Oct 27 11:46:29 2009 -0700
+
+ ARB prog parser: Don't leak program string
+
+ The program string is kept in the program object. On the second call
+ into glProgramStringARB the previous kept string would be leaked.
+
+commit 0f255d195651f104a0c0bed84039b656d94ac4cc
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Tue Oct 27 11:44:56 2009 -0700
+
+ ARB prog parser: Don't leak symbol table header structures
+
+commit 2643a7ba2972ab8284aa911cc92ab0be163cb92f
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Oct 20 14:51:53 2009 -0700
+
+ intel: Fix flipped condition in ARB_sync GetSYnciv(GL_SYNC_STATUS).
+
+ Bug #24435
+ (cherry picked from commit d56125a298106d81e10674f1c4b3b43b51a5139d)
+
+commit b7eea8c616092f5473a323fba585b04c47ae2010
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Oct 27 17:34:29 2009 -0600
+
+ intel: added region draw_x/y offsets in x/y_tile_swizzle() funcs
+
+ This fixes the second part of bug 23552.
+
+commit 498fcfd315325365a7c58520ea956f298d6bc94c
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Oct 27 16:46:07 2009 -0600
+
+ progs/tests: added new blitfb.c test
+
+ Tests glBlitFramebuffer() between two texture/renderbuffer surfaces.
+ In particular, blit from level[1] of a cube map face to a 2D texture.
+
+ Used to find/fix bug in intel do_copy_texsubimage().
+ See commit aef1ab1073f3e30d699b99dae17518ed48b57c72
+
+commit 22575abdec73312e010e016e381f7cf8761ad652
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Oct 27 16:39:01 2009 -0600
+
+ intel: fix src offset bug in do_copy_texsubimage()
+
+ Use src->draw_offset intead of zero. Zero usually worked, except when
+ the src renderbuffer is actually a texture mipmap level higher than zero.
+ Fixes progs/test/blitfb.c test.
+
+commit 517ae7a3b65bca6770e8738464aa0ef526cc88b4
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Oct 27 16:28:39 2009 -0600
+
+ glsl: fix memory leak
+
+ A slightly modified version of a patch from Vinson Lee.
+
+commit 70b17db918a2784296434877a43b4c4036be792a
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Oct 27 10:26:09 2009 -0700
+
+ i915: Fix driver for the miptree x/y offset changes.
+
+ Bug #24734.
+
+commit 43dc91f8bbb69499a6a0326a78e434b313f73c2c
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Oct 27 09:31:31 2009 -0600
+
+ i965: be clear that the Fallback field is a boolean, not a bitfield
+
+commit f9e334cb32152fd342ac6b1dd4776215af6e1d49
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Oct 27 09:27:44 2009 -0600
+
+ Revert "i965: fix hacked Fallback usage in brw_prepare_vertices()"
+
+ This reverts commit 8810b8f67135185d1044746bb861fe2ff997626c.
+
+ It turns out the i965 driver uses the intel->Fallback field as a boolean,
+ not as a bitmask. The intelFallback() function is a no-op in the i965
+ driver. It would have been nice if there were some comments about this.
+ I'll fix that next...
+
+commit 42732611d3bd3c428b376089a58c40537bbfe180
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Oct 27 09:13:27 2009 -0600
+
+ draw: Fix memory leak.
+
+ This would only be hit if we got and invalid index_size.
+
+commit 0a4763184971662b23980b533b78d34600ecf06d
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Oct 26 10:58:47 2009 -0600
+
+ docs: document Intel glBitmap fixes
+
+commit 48dad9c93fd6fb46bf33a58a87de79eb5ffd6e67
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Oct 26 10:42:45 2009 -0600
+
+ intel: fix GL state bugs in intel_texture_bitmap()
+
+ Need to push texture state and polygon state too.
+ Fixes rendering glitches seen in progs/demos/engine when changing
+ the rendering mode (wireframe, texture modes).
+ This makes bitmap rendering a little slower, unfortunately.
+
+commit dc8b139aa23899b00baa919fd7f46c74bf4ef205
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Oct 23 18:21:59 2009 -0600
+
+ mesa: remove FBO texture depth/stencil test
+
+ The texture format should not be checked until validation time since
+ the format might be changed by a subsequent glTexImage() call.
+
+commit 0acb057ad16264b976b00aa7c6ecf285ca8c19e7
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Oct 23 16:36:15 2009 -0600
+
+ mesa: fix broken _mesa_str_checksum()
+
+commit 2d17dbfb5346b6d75e87c839148cbe125bf5cd6d
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jul 9 09:32:21 2009 -0700
+
+ intel: Keep track of x,y offsets in miptrees and use them for blitting.
+
+ By just using offsets, we confused the hardware's tiling calculations,
+ resulting in failures in miptree validation and blit clears.
+
+ Fixes piglit fbo-clearmipmap.
+
+ Bug #23552. (automatic mipmap generation)
+
+commit b01937a3c967ed23315c7543f97228be06942b7d
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Oct 23 14:52:10 2009 -0600
+
+ progs/tests: print requested/internal format info
+
+commit 96d7d66dff5b6dbca1ff6fe48e5449a8107d7781
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Oct 23 14:49:47 2009 -0600
+
+ docs: document updated GL extension header files
+
+commit 5c0dc902e738adb6d2e84b907adafb3006d40296
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Oct 23 14:48:49 2009 -0600
+
+ gl: updated wglext.h to version 17
+
+commit 559da98c2be577d918a847080b78033947a1767a
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Oct 23 14:48:39 2009 -0600
+
+ gl: updated glxext.h to version 25
+
+commit 9df9696f6d372bb285be8e01ae1828ec993079eb
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Oct 23 14:48:30 2009 -0600
+
+ gl: updated glext.h to version 56
+
+commit ff3f09a7feb302daa8ceb01bd7ee6ee8a174fd5b
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Oct 23 14:42:32 2009 -0600
+
+ docs: document cell, glGetTexLevelParameter() fixes
+
+commit cd62b4f00a11e9c548bd61652f88ab772d8421b8
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Oct 23 14:40:40 2009 -0600
+
+ mesa: fix GL_TEXTURE_INTERNAL_FORMAT query for compressed formats
+
+ Need to return the actual compressed format when the user originally
+ requested a generic compressed format.
+
+commit 9528dc6ed8d09eba0dc3be17dc5e9ef4add8083c
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Oct 23 14:37:41 2009 -0600
+
+ mesa: added _mesa_compressed_format_to_glenum()
+
+ Maps a compressed MESA_FORMAT_x to correspding GLenum. Needed for
+ querying a texture's actual format when a generic format was originally
+ requested.
+
+commit 5e4f5e41a487e9baa8a63842327d83cee659622e
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Oct 23 14:37:14 2009 -0600
+
+ mesa: change s3tc vs. fxt1 priority when choosing compressed formats
+
+commit dd245016657c599ecf24c4abe999319f9c870c47
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Tue Oct 20 10:58:14 2009 -0700
+
+ ARB prog parser: Fix parameter array size comparison
+
+ Array indexes are invalid when >= the maximum, but array sizes are
+ only in valid when > the maximum. This prevented programs from
+ declaring a single maximum size array.
+
+ See the piglit vp-max-array test.
+
+commit 55058652b886b95bfc24109a9edb04d274c01c1a
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 22 18:32:48 2009 -0600
+
+ intel: flush old context before binding new context
+
+ Per the GLX spec, when changing rendering contexts, the old context
+ should first be flushed.
+
+commit 5e6a6a2719c695996490bde491dac267e52f78af
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 22 18:19:01 2009 -0600
+
+ glx: don't destroy context immediately if it's currently bound
+
+ According to the GLXDestroyContext() man page, the context should not
+ immediately be destroyed if it's bound to some thread. Wait until it's
+ unbound to really delete it. The code for doing the later part is
+ already present in MakeContextCurrent() so no change was needed there.
+
+commit 4837e01bcd3d011a38d75cc9f1eff629c3de6fd6
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 22 18:16:10 2009 -0600
+
+ mesa: code refactoring- new _mesa_finish(), _mesa_flush()
+
+commit 61a96a2ac72b3f071151de436a48c6ec985e3653
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 22 17:11:59 2009 -0600
+
+ progs/xdemos: fix command line flag typo
+
+commit 8810b8f67135185d1044746bb861fe2ff997626c
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 22 16:45:50 2009 -0600
+
+ i965: fix hacked Fallback usage in brw_prepare_vertices()
+
+ Setting intel->Fallback = 1 clobbered any fallback state that was already
+ set. Not sure where this hack originated (the git history is a little
+ convoluted). Define and use a new BRW_FALLBACK_DRAW bit instead. This
+ shouldn't break anything and could potentially fix some bugs (but no
+ specific ones are known).
+
+commit c24466c34e7aeb8aeda2455f6a688b99c44b10e2
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 22 16:45:03 2009 -0600
+
+ intel: define INTEL_FALLBACK_DRIVER for drivers
+
+commit ea659f891740fab1943eca219ffbdd5ed3d1906c
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 22 16:33:36 2009 -0600
+
+ intel: Fallback field is a bitmask, use GLbitfield
+
+commit f9bbbe5803a72eceb8ed6ddc73bb48c8bcdc0179
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 22 16:32:08 2009 -0600
+
+ i965: remove unused brw_context::tmp_fallback field
+
+commit 2f7abf5c042a1bcf97d77d6dad4a17bda37e0567
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 22 16:26:54 2009 -0600
+
+ i965: remove unused BRW_FALLBACK_TEXTURE bit
+
+ The value was probably wrong too.
+ It was the same as INTEL_FALLBACK_DRAW_BUFFER.
+
+commit 869e20bcb7db9c6540eb6b538104303df738d302
+Author: Andre Maasikas <amaasikas@gmail.com>
+Date: Wed Oct 21 19:04:21 2009 +0300
+
+ r600: set barrier for tex inst if dst is used earlier, might overwrite it otherwise
+
+commit a88c9296cb079ff42ef901113d0fe772228e6feb
+Author: Andre Maasikas <amaasikas@gmail.com>
+Date: Wed Oct 21 12:23:27 2009 +0300
+
+ r600: need to export something from PS
+
+ Also avoids empty shader for "END" - seems to be somewhat valid fp
+ Maybe this can be done differently in the future (fake FRAG_RESULT_COLOR
+ already in Map_Fragment_Program() or is there a way to program the chip
+ to not hang in case of no exports.
+
+commit b86302283b48654682e0580c53ece01bf095fa95
+Author: Andre Maasikas <amaasikas@gmail.com>
+Date: Tue Oct 20 11:45:39 2009 +0300
+
+ r600: add beginnings of ARL instruction
+
+commit 5283a3fb25b2667501eb782fb461c981200a65ef
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Oct 20 16:22:03 2009 -0600
+
+ progs/trivial: check if GL_ARB_occlusion_query is supported
+
+commit 4b2cf92ad9caa384869371534c1f2154625a755a
+Author: Marc Dietrich <marvin24@gmx.de>
+Date: Sun Oct 18 08:28:34 2009 -0700
+
+ cell: fix compilation on cell
+
+ s/LERP/LRP/
+
+commit ca940a73a72c68c461344d27f9d1fac31cd73819
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Oct 20 10:43:46 2009 -0600
+
+ mesa: Fix Mac OS build.
+
+ strtod_l needs the xlocale.h header on Mac OS. It's possible other
+ non-Linux OSes would need this header too.
+
+commit 16e21191e26084848c7e6e3ffd9e15ef670855c5
+Author: Mathias Fröhlich <Mathias.Froehlich@web.de>
+Date: Mon Oct 19 11:47:21 2009 -0400
+
+ r300: fix texture size handling with size > 2048
+
+ The in kernel texture check fails because of both
+ bit11 flags being set on 16x16 textures. It tuns out
+ that these bits are still set and not cleared in the
+ pp_txpitch field of the texture. The attached patch
+ at least helps for this case on my machine. It clears
+ the bit 11 from the pitch field if the texture is smaller
+ and masks out that hight bits on the conventional width
+ and height field.
+
+ Fixes bug 24584
+
+commit 8123180ea649540fb7319bc79ad77dca0d5d68cd
+Author: Robert Noland <rnoland@2hip.net>
+Date: Mon Oct 19 09:47:39 2009 -0500
+
+ r600: Fix size calculation for 24 bit depth
+
+ size was being calculated based on 3 bytes per pixel with 24 bit depth
+ instead of 4 bytes. This caused corruption in the bottom 25% of objects.
+ This finishes fixing the menu/text corruption in compiz/kde4.
+
+ Signed-off-by: Robert Noland <rnoland@2hip.net>
+
+commit 3594b53c0173ac810106f667604bf94b5cfc4a1e
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Fri Oct 16 20:21:17 2009 +0200
+
+ r300: fix vertex program parameters limits
+
+commit 946bc9aa42600caa400eb6926dcc5cbd558f2280
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Oct 16 07:38:39 2009 -0600
+
+ docs: document GLSL float parsing bug fix
+
+commit 89b31c9619449d5c9b8ebe4e245c2a926e3583e6
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 14 14:19:03 2009 -0600
+
+ mesa: use C locale for _mesa_strtod()
+
+ _mesa_strtod() is used for shader/program parsing where the decimal
+ point character is always '.' Use strtod_l() with a "C" locale to
+ ensure correct string->double conversion when the actual locale uses
+ another character such as ',' for the decimal point.
+
+ Fixes bug 24531.
+
+commit 3f30b0709b5a71915df336194f9f805e4c306cef
+Author: Owen Taylor <otaylor@snell.localdomain>
+Date: Wed Oct 14 16:20:07 2009 -0400
+
+ Use the right pitch when rendering to a texture
+
+ We need to get the pitch from the texture level we are rendering to,
+ rather than just using the base texel width.
+
+commit 16c6a3b71e6be04b6bb3d08fcb658194c5251fc7
+Author: Robert Noland <rnoland@2hip.net>
+Date: Wed Oct 14 14:04:24 2009 -0500
+
+ r600: FRAG_ATTRIB_WPOS and FRAG_ATTRIB_FOGC appear to be supported.
+
+ Report unsupported attributes while I'm here.
+
+ Signed-off-by: Robert Noland <rnoland@2hip.net>
+
+commit a176b1c5d8b14601ec7e6ca9599c55fcc4797a7d
+Author: Robert Noland <rnoland@2hip.net>
+Date: Wed Oct 14 14:02:12 2009 -0500
+
+ r600: cleanup in r600_cs_process_relocs().
+
+ Signed-off-by: Robert Noland <rnoland@2hip.net>
+
+commit e5d6450c2c85cc7d645cb0736194f41e5393802d
+Author: Robert Noland <rnoland@2hip.net>
+Date: Wed Oct 14 13:58:56 2009 -0500
+
+ radeon: return EINVAL for 0 length buffers.
+
+ Signed-off-by: Robert Noland <rnoland@2hip.net>
+
+commit 22a0029a68cf6a17e5d799c7d8eb8a699ccdeabb
+Author: Andre Maasikas <amaasikas@gmail.com>
+Date: Thu Oct 15 11:24:49 2009 -0400
+
+ r600: fix tfp1 bo size
+
+ Setting the wrong bo size resulting in an incomplete
+ read cache flush when reading the texture. This fixes the
+ compiz text corruption.
+
+ [agd5f: take hw pitch alignment into account]
+
+commit a3fec141017a39916d07000a3aa00eef3c9ac8a7
+Author: Andre Maasikas <amaasikas@gmail.com>
+Date: Mon Oct 12 14:57:45 2009 +0300
+
+ r600: implement ProgramStringNotify
+
+ need this to properly test with piglit/glean vert/fragprog tests
+ copied mostly from r300, many thanks to osiris, nha, airlied, others...
+
+commit 606becc7f3513354548f587d84db731046616401
+Author: Andre Maasikas <amaasikas@gmail.com>
+Date: Mon Oct 12 12:58:40 2009 +0300
+
+ r600: LIT dst.y gets value from src.x
+
+ seems I overlooked this when removing hardcoded swizzles for this
+ one previously
+
+commit 74c31e5d05f7ed342fb143cb6f637b54e8961973
+Author: Andre Maasikas <amaasikas@gmail.com>
+Date: Mon Oct 12 12:20:26 2009 +0300
+
+ r600: DPH adds w comp of second operand, so set first one to 1 instead
+
+commit 95851d8cb232cbd1312d2b8de471ba2aeb276911
+Author: Andre Maasikas <amaasikas@gmail.com>
+Date: Fri Oct 9 10:46:12 2009 +0300
+
+ r600: fixup KIL instruction a bit
+
+ - KILLGT takes 2 arguments
+ - arb KIL has no dst register
+ - add TODO about clause ending but currently piglit fp-kil passes and
+ does not hang the card
+
+commit bf68e54a4d69bdd9a01656919d3cd752c96157b3
+Author: Andre Maasikas <amaasikas@gmail.com>
+Date: Mon Sep 28 11:23:49 2009 +0300
+
+ r600: use CB_TARGET_MASK instead of CB_SHADER_MASK for setting color mask
+
+ makes blend functions work better
+
+ Signed-off-by: Dave Airlie <airlied@linux.ie>
+
+commit 5101215a64a69a212241eadba7f097cef33a0b5c
+Author: Andre Maasikas <amaasikas@gmail.com>
+Date: Mon Sep 28 10:42:35 2009 +0300
+
+ r600: user correct alpha blend factor
+
+ Signed-off-by: Dave Airlie <airlied@linux.ie>
+
+commit f7285bdffcd8cca1c7d3066d38907a5987e844ea
+Author: Andre Maasikas <amaasikas@gmail.com>
+Date: Tue Sep 29 09:46:29 2009 +0300
+
+ r600: clear position enable bit when when wpos is not used by FP
+
+ Makes doom3 alot nicer..
+
+commit 6f8b4d9e3625c7de83247596fd6822227da04336
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 15 08:59:13 2009 -0600
+
+ mesa: regenerated lex.yy.c w/ _mesa_strtod()
+
+commit 269f16cd96fdbee5d178130171b4ef40258f61cf
+Author: Neil Roberts <neil@linux.intel.com>
+Date: Wed Oct 14 23:25:04 2009 +0100
+
+ mesa: Use _mesa_strtod in the lexer for assembly shaders
+
+ See bug 24531.
+
+commit 31f7e8efb25a77e3bdfb6e9850cf31e339060976
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 14 09:37:40 2009 -0600
+
+ progs/Makefile: remove extra quoting
+
+ This reverts part of commit 115edf24a9128b79dfa5f30482c990e2cb898357 and
+ fixes the error: "/bin/sh: line 0: test: too many arguments".
+
+commit 115edf24a9128b79dfa5f30482c990e2cb898357
+Author: Tom Fogal <tfogal@alumni.unh.edu>
+Date: Tue Oct 13 10:55:34 2009 -0700
+
+ Fix build when PROGRAM_DIRS is empty.
+
+ SUBDIRS just takes PROGRAM_DIRS value. If PROGRAM_DIRS gets set
+ to the empty string (as can happen when building only OSMesa), a
+ 'for' loop will lack anything to iterate over, causing a parse
+ error.
+
+ This fixes the issue by making sure SUBDIRS is the null string
+ when PROGRAM_DIRS is, and wrapping the for loops in if's, causing
+ them only to execute if there are directories to iterate over.
+
+commit 9282edfaa0ad24be16f5e395f346ca477050cdf6
+Author: Tom Fogal <tfogal@alumni.unh.edu>
+Date: Tue Oct 13 10:55:33 2009 -0700
+
+ ac: Fix AIX shared library builds.
+
+ AIX uses ".a" for both static and shared library extensions.
+
+commit f3be27c0cf8a4c47230f31d9d66bde7340ffb204
+Author: Eric Anholt <eric@anholt.net>
+Date: Sun Oct 11 11:16:03 2009 -0700
+
+ i965: Fix the last valid address setting for the index buffer.
+
+ Again, last valid address, not first invalid address. Fixes regression
+ in 255e5be265133280293bbfd8b2f9b74b2dec50bb that the kernel now catches
+ and caused piglit draw_elements_base_vertex to fail.
+
+commit a82da7fa263c7fb6b902285994136890e6dc3278
+Author: Eric Anholt <eric@anholt.net>
+Date: Sun Oct 11 11:04:09 2009 -0700
+
+ i965: Fix the bounds emitted in the vertex buffer packets.
+
+ It's the address of the last valid byte, not the address of the first
+ invalid byte.
+
+ This should also fix problems with rendering with the new sanity checks in
+ the kernel.
+
+commit 768481ed40cb7530fdbadbf4d6dc00b74209adf1
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Oct 10 09:18:14 2009 -0600
+
+ softpipe: revert 564df9dc5f6335eb8dc68f3c69cf054d2142663c
+
+ This change silenced valgrind warnings but broke progs/tests/drawbuffers.
+ The problem is we don't know the surface's state when we start caching it
+ (it may or may not be initialized/cleared/etc). So "clearing" it here was
+ presumptuous. Leaving the code in place (but disabled) for reference and
+ when using valgrind.
+
+ Fixes bug 24401
+
+commit 194ede4bf97547ce8a61587ede0b0a5054955783
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri Oct 9 15:44:32 2009 -0400
+
+ radeon: fix scissor regression
+
+ fixes fdo bug 24248
+
+commit 2738681e847ec257e275f3575d010ac13a147f1b
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Oct 9 13:23:07 2009 -0600
+
+ docs: fix aux buffer bug 24426
+
+commit 6164f1fe790def9f3ca4f1f555ef59bbaa82db90
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Oct 9 13:20:28 2009 -0600
+
+ st/mesa: create aux buffers according to visual
+
+ Fixes bug 24426 for gallium.
+
+commit ce64e063a8b32d842a3b5dfe62178e9e4cd89f9c
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Oct 9 13:22:00 2009 -0600
+
+ mesa: fix incorrect assertion in _mesa_add_aux_renderbuffers()
+
+ Fixes bug 24426.
+
+commit f7fb30f03badf7f3ac5d66e87acb8cbb1c5aee0b
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 8 09:17:13 2009 -0600
+
+ mesa: regenerated gl_mangle.h file
+
+commit ee3fbe70672f32ae598a0005e027a6883a130e7b
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 7 14:43:27 2009 -0600
+
+ gallium/xlib: call XQueryExtension() in glXQueryExtension()
+
+ See bug 24321.
+
+commit 9f002e4aaa2d7ea085cd0a3c66ff0fa533905382
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 7 14:42:14 2009 -0600
+
+ mesa/xlib: call XQueryExtension() in glXQueryExtension()
+
+ See bug 24321.
+
+commit 7dd2c0afd68a90bb6b1f5f030c8d60bf6a562071
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 7 14:07:49 2009 -0600
+
+ mesa: don't need to free textures, VBOs, etc. in _mesa_meta_free()
+
+ They're freed by the normal context deallocation code.
+ Fixes Blender crash, bug 24185.
+
+commit 9fde81bb20bbfd2f8da80749cb84d890843a7bc2
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sat Oct 3 16:30:16 2009 +0200
+
+ shader_api: Fix bounds checking of glUniform and glUniformMatrix
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+ Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
+
+commit ae351599f144b9e0cb1691870dd4c305fbaab97c
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sat Oct 3 16:18:57 2009 +0200
+
+ prog_parameter: Document the fact that Size may be > 4
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit cdcd9da48077f4d4de810cc4c9e5c2bdf3d429d3
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 7 09:41:00 2009 -0600
+
+ docs: fix glXQueryDrawable() bugs
+
+commit c3eef6021a06d728aa4c8b882264f554f2d4b801
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 7 09:40:22 2009 -0600
+
+ mesa/xlib: fix glXQueryDrawable() bugs, see bug 24320
+
+commit 0526100a5cbd928fa28d38abdafd6beb024b0828
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 7 09:40:04 2009 -0600
+
+ gallium/xlib: fix glXQueryDrawable() bugs, see bug 24320
+
+commit f36425b569953de862ecd8f42ecd54831ad9c4a6
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 7 09:11:23 2009 -0600
+
+ progs/xdemos: test glXQueryDrawable()
+
+commit 846a6b069589d5f7b7a8a65f99a0f43cb8fed20b
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 7 09:10:48 2009 -0600
+
+ progs/xdemos: fix swapped parameters to CreatePbuffer()
+
+commit edbaa717b49f679572805d535ed7c77518257781
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 7 08:07:53 2009 -0600
+
+ swrast: s/GLfloat/GLuint/ in bzero()
+
+commit 14f21c785087f86d291243400e59ebfc8721c4f6
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Oct 6 19:05:23 2009 -0600
+
+ swrast: add missing returns
+
+commit 4b3cbecb3a87374a292a7e454cd959e8c1eac322
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Oct 7 07:54:31 2009 -0600
+
+ progs/test: Fix MSVC build.
+
+commit e3fff3daf031a997a1d4316e1a0e5c831573221d
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 7 07:45:15 2009 -0600
+
+ mesa/xlib: return 0 for errorBase, eventBase in glXQueryExtension()
+
+ A little better than leaving the values undefined, I think.
+ See bug 24321.
+
+commit f9904edf53e1f8be22991c80b4f9a5cb510674df
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 7 07:43:12 2009 -0600
+
+ gallium/xlib: return 0 for errorBase, eventBase in glXQueryExtension()
+
+ A little better than leaving the values undefined, I think.
+ See bug 24321.
+
+commit 79892e7976fbb91ae426f5868d5f453e977c1f17
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Oct 5 14:26:16 2009 -0600
+
+ intel: use driReadDrawable in do_copy_texsubimage()
+
+commit 3b7ec94c0db4140f72682f70262baf77be683816
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Oct 5 14:25:36 2009 -0600
+
+ intel: use driReadDrawable, not driDrawable in do_blit_readpixels()
+
+commit 3b29dcbb5e1f0641cdfab22b5e578d933e9dbf35
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Oct 5 14:07:29 2009 -0600
+
+ intel: remove a buffer equality test in _mesa_make_current()
+
+ Before, if we called glXMakeCurrent() to change a context's window binding
+ while an FBO was bound, we weren't updating the intel->driDrawable and
+ intel->driReadDrawable fields. This could cause us to dereference a null
+ pointer elsewhere.
+
+commit a8768bbc9de1441384cecc147d51c9ee6431b924
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Oct 5 11:10:31 2009 -0600
+
+ mesa: fix return value when clipping {Read,Draw}Pixels height <= 0
+
+ Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
+
+ (cherry picked from master, commit 7aeaca33c331f70d507fc83583b13b8d9fc3e847)
+
+commit a15d9ca9ccfeebfcea148fc61ead3a70541e2a76
+Author: Jon TURNEY <jon.turney@dronecode.org.uk>
+Date: Fri Jul 24 20:33:25 2009 +0100
+
+ Fix building of GLSL demos which use M_PI
+
+ Some <math.h> files do not define M_PI, in which case, provide our own definition
+
+ Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
+
+commit 43750f1575e366e2a92b71bffceee90d7f1a2b3e
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Mon Oct 5 12:31:51 2009 +0200
+
+ Use _mesa_select_tex_image() rather than hardcoding face 0.
+
+ Fixes crash loading a map in sauerbraten with
+
+ hwmipmap 1
+
+ in ~/.sauerbraten/config.cfg.
+
+commit 3856c3cc46813ad96ae6f02dec19460193d986ac
+Author: Frederic Crozat <fcrozat@mandriva.com>
+Date: Sun Oct 4 17:46:40 2009 -0400
+
+ r200: remove subpixel offset from viewport
+
+ Fixes bug fdo 20340 for r200.
+
+commit bbe384c86afeaf5995cddd286a76e1fd789e18f1
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sat Oct 3 01:26:38 2009 +0200
+
+ r300: Workaround problem on R500 with very large fragment programs
+
+ The non-KMS interface is to blame here. In theory, a proper fix
+ could be produced that works for the KMS interface only, but it
+ require cleaning a lot of mess. Easier to just do it right in r300g.
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit c01a77d304776153e968d68617a2c84e3af35555
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Oct 2 09:58:16 2009 -0600
+
+ docs: document default texture binding fix
+
+commit e1bddd159f364fa04ddec22f568fbfeb775d3b47
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Oct 2 09:55:07 2009 -0600
+
+ mesa: fix incorrect default texture binding in unbind_texobj_from_texunits()
+
+ If we deleted a currently bound texture, we were always reverting the texture
+ binding to the default 1D texture rather than the proper default texture.
+
+commit 85ee0ef9a72e4ffd6ed0a2442b1272a43508d257
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Oct 2 07:52:27 2009 -0600
+
+ gallium/xlib: use bitwise-and to test GLX_RGBA_BIT in choose_visual()
+
+ The parameter is a bitmask.
+
+commit 584b0879ac2ec2420ea6866e47eb90e1a980e758
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Oct 2 07:51:15 2009 -0600
+
+ xlib: use bitwise-and to test GLX_RGBA_BIT in choose_visual()
+
+ The parameter is a bitmask.
+
+commit abc12d0636a5f7fb938c0305cb1b642d5ec0afce
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Oct 2 07:47:49 2009 -0600
+
+ gallium/xlib: return GLX_RGBA_BIT or GLX_COLOR_INDEX_BIT in get_config()
+
+ This reverts part of commit a6b84aef4ad3a7bac40704146a98977c62bfb6e8
+
+commit 389021220d27c376b81a6221a31d0ee33c24e67f
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Oct 2 07:31:42 2009 -0600
+
+ gallium: replace // comments with /* */
+
+commit 337480e1f85844b7bd4a4d47cef93a217e3ad464
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Oct 2 07:26:28 2009 -0600
+
+ gallium: remove // comment and extra whitespace
+
+commit 167ffa9e035befd12143db909af424e5de8f64e4
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 1 14:55:13 2009 -0600
+
+ mesa: fix memory leak when generating mipmaps for compressed textures
+
+commit 05749542384abc4d4776bfe2a386b6396002e0df
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 1 14:52:28 2009 -0600
+
+ mesa: fix mem leaks
+
+commit 0f291f2efebe6cbdc4ca61e9f05ad6949aede3b9
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 1 14:52:10 2009 -0600
+
+ gallium/util: silence uninitialized var warning
+
+commit 63064cf7c3437e3ebb7ab36524f21472af7e47e9
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 1 14:51:43 2009 -0600
+
+ mesa: add missing return when out of memory
+
+commit 7b568614a28cb0b0fec375e79aebf51a6f210b44
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 1 14:51:26 2009 -0600
+
+ mesa: fix potential uninitialized memory reads
+
+commit 9b27a0d063402e709ebc588aa3d927d461b96755
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 1 14:50:45 2009 -0600
+
+ glsl: fix mem leak
+
+commit b3e41e0d5e03b040768547293e05e6540d3c8e4d
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 1 14:49:34 2009 -0600
+
+ st/mesa: check for null before asserts, fix possible mem leak
+
+commit b154497bef386e5ed0d9a2f6e25a4141759c6846
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 1 14:49:04 2009 -0600
+
+ st/mesa: silence hidden parameter warning
+
+commit 495628bc5c3879ee759f9a1bc7e2abc720df75a9
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 1 13:34:49 2009 -0600
+
+ st/mesa: fix non-mipmap lastLevel calculation.
+
+ reviewed by Brian Paul.
+ (cherry picked from master, commit ae2daacbac7242938cffe0e2409071e030e00863)
+
+commit 18883cdf2334511005973155fc517eb678dc0043
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Oct 1 13:33:20 2009 -0600
+
+ mesa: Return -FLT_MAX instead of 0 for LG2(0).
+
+ lim x->0 log(x) = -inf so -FLT_MAX is a better approximation than 0
+ for LG2(0).
+
+commit 521e4b9b7e3c79e7362f7cbd594a2e8cf74cdfe4
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 29 10:24:27 2009 -0600
+
+ glx: fix glXQueryContext(GLX_RENDER_TYPE)
+
+ The renderType parameter to CreateContext() was never used. Also, it
+ was often passed as zero. Now when it's zero we check if the context
+ is RGBA or CI mode and set it accordingly.
+
+ Fixes bug 24211.
+
+commit 49fbdd18ed738feaf73b7faba4d3577cd9cc3e59
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Feb 12 03:54:58 2009 -0800
+
+ i965: Fix massive memory allocation for streaming texture usage.
+
+ Once we've freed a miptree, we won't see any more state cache requests
+ that would hit the things that pointed at it until we've let the miptree
+ get released back into the BO cache to be reused. By leaving those
+ surface state and binding table pointers that pointed at it around, we
+ would end up with up to (500 * texture size) in memory uselessly consumed
+ by the state cache.
+
+ Bug #20057
+ Bug #23530
+
+commit b77469871a57240b33b61f12cde0da078470237b
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 29 19:05:04 2009 -0600
+
+ docs: document GLSL sqrt(0) fix
+
+commit 322bc403bc7aacb58c39527f5f7a324e0c63c73d
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 29 18:59:37 2009 -0600
+
+ glsl: regenerated file
+
+commit 65765c9f2c5d3568608bde57db0bf44d6b724755
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 29 18:57:13 2009 -0600
+
+ glsl: rewrite sqrt(x) intrinsic to handle x=0
+
+ Since sqrt() is basically implemented in terms of RSQ/RCP we'll do a
+ divide by zero if x=0 and wind up with unpredictable results.
+ Now use CMP instruction to test for x<=0 and return zero in that case.
+
+commit 3c794e45b02c66ce3f52fe359f733e4d7d2ce315
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 29 18:51:49 2009 -0600
+
+ glsl: add support for CMP instruction
+
+commit 5f1faf4a21c2af693208c9b46ff93eda899d839d
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 29 12:18:41 2009 -0600
+
+ docs: fixed glXQueryContext(GLX_RENDER_TYPE)
+
+commit a6b84aef4ad3a7bac40704146a98977c62bfb6e8
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 29 12:17:11 2009 -0600
+
+ gallium/xlib: fix GLX_RENDER_TYPE query
+
+ Return GLX_RGBA_TYPE or GLX_COLOR_INDEX_TYPE.
+
+commit 86ee448047e4f7be722b69da5296ccafc2307145
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 29 12:16:12 2009 -0600
+
+ mesa/xlib: fix GLX_RENDER_TYPE query
+
+ Return GLX_RGBA_TYPE or GLX_COLOR_INDEX_TYPE.
+
+commit ef9cd84521cbbc622c3c37af04b8d10934903ae8
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 29 09:58:47 2009 -0600
+
+ glx: indentation fixes
+
+commit 69a3043f4109463f35e87102e509e0a4599cd09a
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 29 09:36:06 2009 -0600
+
+ mesa: bump version to 7.6.1
+
+commit 2d400d43bfbe5ea6f8c85acbd12c9376a3ab1114
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 29 09:34:47 2009 -0600
+
+ docs: initial 7.6.1 release notes
+
+commit 9b5541617fd16d4b1de474a766717edf72112d21
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 29 09:32:37 2009 -0600
+
+ mesa: work-around glXCopyContext() bug in _mesa_copy_texture_state()
+
+ See bug 24217.
+
+commit 564df9dc5f6335eb8dc68f3c69cf054d2142663c
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 29 08:50:56 2009 -0600
+
+ softpipe: initialize the clear_flags bitvector in sp_create_tile_cache()
+
+ This silences tons of valgrind warnings in programs that don't call
+ glClear(), such as progs/demos/gamma.
+
+commit fbddc75aa2f6542117783b8024f9ebd2f0309e1f
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 29 08:21:54 2009 -0600
+
+ softpipe: Grab a ref when the fb is set.
+
+ Nasty bug when the surface is freed and another is allocated right on
+ top of it. The next time we set the fb state SP thinks it's the same
+ surface and doesn't flush, and when the flush eventually happens the
+ surface belongs to a completely different texture.
+
+ (cherry picked from commit a77226071f6814a53358a5d6caff685889d0e4ec)
+
+ Conflicts:
+ src/gallium/drivers/softpipe/sp_context.c
+
+commit 6829ef74607fa6af602fa1539b1f084a8c0d356c
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Sep 28 13:19:57 2009 -0600
+
+ docs: update news.html file with 7.5.2 and 7.6 release
+
+commit d39fd9f641df7da77ff6158c5aa249dd90bf420d
+Merge: 86cd188 18f3afb
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Sep 28 12:02:39 2009 -0700
+
+ Merge branch 'mesa_7_5_branch' into mesa_7_6_branch
+
+ Conflicts:
+ src/mesa/main/version.h
+
+commit 18f3afbe889357c5d3a0e257c4caba21f23945bb
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Sep 28 11:41:23 2009 -0700
+
+ docs: 7.5.2 md5 sums
+
+commit b807d49f1878ba5b1cb63823f07d8ab3076539c3
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Sep 28 11:33:52 2009 -0700
+
+ Prep for 7.5.2 release
+
+commit 86cd188f94c80767b81908e4ae9b6002f1396196
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Sep 28 11:29:25 2009 -0700
+
+ docs: 7.6 md5 sums
+
+commit f0dc37870577378b51c1f8f223932a24909c5db1
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Sep 28 11:22:54 2009 -0700
+
+ Prep for 7.6 release
+
+commit eeb7e04da64fdae3a40b1afdcde71dcded2481f3
+Merge: 151e0c0 d09941c
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Sep 28 09:59:59 2009 -0600
+
+ Merge branch 'mesa_7_5_branch' into mesa_7_6_branch
+
+commit d09941c8cc2d4620eb774744c8878921b9dc3bcc
+Author: Robert Noland <rnoland@2hip.net>
+Date: Tue Sep 22 11:49:57 2009 -0700
+
+ Fix build on non GLIBC platforms (FreeBSD at least)
+
+ Build was broken by commit 9666529b5a5be1fcde82caadc2fe2efa5ea81e49
+
+ I'm not certain that this is entirely the correct fix since the demo
+ from bug #23774 seemed to work before the commit that broke the build.
+
+ Signed-off-by: Robert Noland <rnoland@2hip.net>
+ Signed-off-by: Brian Paul <brianp@vmware.com>
+
+commit fc613848e6f8f1c5405a7612b00a02ac2a794b80
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Sep 28 09:43:42 2009 -0600
+
+ docs: list additional 7.5.2 bug fixes
+
+commit c7d0f0b46c16de1ae575446f2471cf297acacb29
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Sep 28 09:38:50 2009 -0600
+
+ docs: document gallium mipmap generation fix
+
+commit c7fddaf6122da489f4430f6bc2211bcb4740f416
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Sep 25 17:24:27 2009 -0600
+
+ st/mesa: fix st_generate_mipmap() issues
+
+ The main issue is we didn't always have a gallium texture object with
+ enough space to store the to-be-generated mipmap levels. When that's
+ the case, allocate a new gallium texture and use st_texure_finalize()
+ to copy images from the old texture to the new one.
+
+ We also had the baseLevel parameter to st_render_mipmap() wrong.
+
+commit e3a6f57ad6c0e7bda5d45eb146194ed39f45abdd
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Sep 28 09:28:50 2009 -0600
+
+ st/mesa: fix/simplify st_texture_object::lastLevel calculation
+
+ Don't compute the st_texture_object::lastLevel field based on the texture
+ filters. Use the _MaxLevel value that core Mesa computes for us.
+ When called from the GenerateMipmap path, we'll use the lastLevel field
+ as-is.
+
+commit 41d0606b7f4666c31db31bec3c54934ef6cd16e7
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Sep 25 17:19:25 2009 -0600
+
+ gallium/util: add sanity check assertions
+
+commit 151e0c0aeaa78f4eb6a87d2b3dd86b4807db1523
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Fri Sep 25 20:59:44 2009 +0200
+
+ intel: Handle GL_RGB8 for glCopyTex(Sub)Image.
+
+ Avoids an unnecessary fallback.
+
+commit 46da1f2c9b67e3b4c3659f2d029140b639571407
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Sep 25 08:51:57 2009 -0600
+
+ mesa: move declaration before code
+
+commit 126d62edd18f22ff9e744efea81e0383cd0a19c5
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Sep 24 20:03:21 2009 -0700
+
+ i915: Fix GetBufferSubData in the case of a system-memory BO.
+
+ Bug #23760 (crashes in wine)
+
+commit cc8084932cc552587e3036dbbf62c77db3b4a08e
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Sep 24 16:15:52 2009 -0700
+
+ intel: Flush the batch when we're about to subdata into a VBO.
+
+ This fixes the clears in openarena with the new metaops clear code, and
+ the new piglit vbo-subdata-sync test.
+
+ Bug #23857.
+
+commit 54107a097904129ff794534542acd09ed152ea2e
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Sep 24 14:53:49 2009 -0700
+
+ i965: Clean up some mess with the batch cache.
+
+ Its flagging of extra state that's already flagged by the vtbl new_batch
+ when appropriate was confusing my tracking down of the OA clear bug.
+
+commit 940ca2e837efe45caae1cf1d9665f6736347705d
+Merge: 726a04a 1730b8d
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 24 16:01:26 2009 -0600
+
+ Merge branch 'mesa_7_5_branch' into mesa_7_6_branch
+
+commit 1730b8db1237485778abdc4ae37e122414b5423b
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Sep 24 15:59:57 2009 -0600
+
+ softpipe: Increase GL_MAX_3D_TEXTURE_SIZE to 256.
+
+commit 726a04a2cd1bf159a6c40584b4b2b9bc5948a82e
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Sep 24 11:58:33 2009 -0700
+
+ i965: Emit zero initialization for NV VP temporaries as required.
+
+ This is similar to what r300 does inside the driver, but I've added it as
+ a generic option since it seems most hardware will want it.
+
+ Fixes piglit nv-init-zero-reg.vpfp and nv-init-zero-addr.vpfp.
+
+commit a9a47afe7e87075432ce2d393b55409fcb7149ac
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Sep 23 16:50:59 2009 -0700
+
+ i965: Remove assert about NV_vp now that it somewhat works.
+
+commit 9018a7dd175caa9a0fbf940b7e66aa9411d2d965
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Sep 24 10:40:32 2009 -0700
+
+ i965: Load NV program matrices when required.
+
+commit 601769a2c0071e23ade32de4e8911d75d7f324d2
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Sep 23 16:49:52 2009 -0700
+
+ mesa: Initialize NV_vertex_program fields for the parameter lists and such.
+
+ This helps let drivers treat NV_vp like ARB_vp.
+
+commit 60b152a1b366b1c9b9326dda1d91ab600fbb0d86
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 24 14:24:14 2009 -0600
+
+ mesa: remove glEnable(GL_DEPTH_BOUNDS_TEST_EXT) check/warning
+
+ At the time of the enable there may not be a Z buffer, but one
+ may be attached to the FBO later.
+
+commit adfa778c8ea436d6e62c37327b44f6ff359ed63f
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 24 14:19:06 2009 -0600
+
+ mesa: remove rgbMode check in enable_texture()
+
+ If the currently bound FBO isn't yet validated it's possible for
+ rgbMode to be zero so we'll lose the texture enable.
+ This could fix some FBO rendering glitches, but I don't know of
+ any specific instances.
+
+commit b849c6f1b3b38a68fae32d4dea16dd7431e41b6e
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 24 12:41:14 2009 -0600
+
+ intel: use default array/element buffers in intel_generate_mipmap()
+
+ If there happened to be a bound VBO when intel_generate_mipmap() was
+ called we blew up because of a bad vertex array pointer.
+
+ Fixes regnumonline, bug 23859.
+
+commit f0339f502cf96499bc5cac8c0611f76f3fd39461
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 24 12:37:34 2009 -0600
+
+ mesa: replace assertion with no-op function assignment
+
+commit 964792b0250ece9fe585a4a02544f0e9c4d453a0
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 24 12:37:06 2009 -0600
+
+ mesa: added comment
+
+commit 1a816117258e594a073f6925edfcd2387071904d
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 24 12:35:51 2009 -0600
+
+ vbo: limit number of warnings to 10
+
+ Otherwise some apps will emit tons of warnings.
+
+commit 1d2dca194cebe6e25735b6820f85b8d1231aae63
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Thu Sep 24 19:58:09 2009 +0300
+
+ radeon: Fix scissors for r600 KMS.
+
+ Radeon generic scissors code had problem that some of code was using exclusive
+ and some inclusive bottom right corner. Only r600 driver is using exclusive
+ coordinate so changed generic code to pass inclusive coordinate and r600 driver
+ changes BR coordinate to be exclusive.
+
+commit 7549a8397b310acf672f97a08c8e7d866cdf492c
+Merge: a64d451 2acd5de
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 24 10:52:15 2009 -0600
+
+ Merge branch 'mesa_7_5_branch' into mesa_7_6_branch
+
+commit a64d4516a0d6219dec0b5b0622215918469faecc
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 24 10:26:56 2009 -0600
+
+ tgsi/sse: Pass the lodbias, not zero. More comments.
+
+ This fixes the glean/glsl1 "texture2D(), with bias" test when using SSE.
+
+commit a491e25b1fa8683f538ed0d67a6389f2cdf7e4bc
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 23 15:44:37 2009 -0600
+
+ mesa: added default case return to silence warning
+
+commit 00ddd4f9e9680132872f98f2d18b52dfc30c6f2f
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 23 15:44:18 2009 -0600
+
+ glsl: init var to silence warning
+
+commit e44c084be536c021985a8908db4300c764c63bbc
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 23 15:44:02 2009 -0600
+
+ glsl: fix missing initializers warning
+
+commit 2058dfaa47704abc62aa5aa9719013624f26764d
+Author: Andre Maasikas <amaasikas@gmail.com>
+Date: Wed Sep 23 14:20:59 2009 +0300
+
+ r600: add support for CUBE textures, also TXP
+
+ seems to work here ...
+
+commit 639fb1472d09281a8df3792c9bcbc59cd4424688
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Mon Sep 21 16:48:55 2009 -0400
+
+ r600: fix typo in the last commit
+
+ 128 gprs, 256 reg-based consts
+
+commit 28308c92605229129a12a2273dda47c6a2ca4790
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Mon Sep 21 16:30:14 2009 -0400
+
+ r600: various cleanups
+
+ - max texture size is 8k, but mesa doesn't support
+ that at the moment.
+ - attempt to set shader limits to what the hw actually
+ supports
+ - clean up some old r300 cruft
+ - no need to explicitly disable irqs. This is fixed
+ in the drm now.
+
+ Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
+
+commit ed91d103477d563f73be3555d1022ec9af073467
+Author: Andre Maasikas <amaasikas@gmail.com>
+Date: Mon Sep 21 10:14:25 2009 -0400
+
+ r600: fix some issues with LIT instruction
+
+ - MUL_LIT is ALU.Trans instruction
+ - some Trans instructions can take 3 arguments
+ - don't clobber dst.x, use dst.z as temp, it'll get written correct
+ value in last insn
+ - respect source swizzles
+
+commit 48559c76056e09ca4f9e4f39e9008f6d32ecd5b0
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Sat Sep 19 15:18:42 2009 -0400
+
+ r600: fix point sizes
+
+ registers takes radius
+
+commit 095db818c6c7ed5706b5f31d17d0cb19c03cb67a
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Sat Sep 19 14:46:06 2009 -0400
+
+ r600: fix polygon offset
+
+commit ec14d59afa952b4e53ad268971098584686a6fca
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue Sep 15 17:12:03 2009 -0400
+
+ radeon: don't build non-r600 span code on r600
+
+commit dbec27be856584bc5205c7eeeca2b7e98299d4cb
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue Sep 15 16:58:37 2009 -0400
+
+ r600: minor span cleanups
+
+commit 2cd2dc34ac93dd929ec8f01cf1f7f8dfa6b34d0d
+Author: Andre Maasikas <amaasikas@gmail.com>
+Date: Tue Sep 15 11:27:51 2009 -0400
+
+ r600: support position_invariant programs
+
+commit 9437ac9bccd294bd5a8b838e7ca7597e5dc6d5b0
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Mon Sep 14 18:05:15 2009 -0400
+
+ r600: add span support for 1D tiles
+
+ 1D tile span support for depth/stencil/color/textures
+
+ Z and stencil buffers are always tiled, so this fixes
+ sw access to Z and stencil buffers. color and textures
+ are currently linear, but this adds span support when we
+ implement 1D tiling.
+
+ This fixes the text in progs/demos/engine and progs/tests/z*
+
+commit 93a7ea6ba0d5700e18b28c23da226e055f7c2fa1
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Mon Sep 14 17:08:26 2009 -0400
+
+ r600: fix warning
+
+ Noticed by rnoland on IRC.
+
+commit 7f5a958c80f0fcd7681d515fd1c1b8bc00524a7a
+Author: Andre Maasikas <amaasikas@gmail.com>
+Date: Fri Sep 11 15:59:55 2009 -0400
+
+ r600: fix texcoords from constants
+
+ with some minor updates from Richard.
+
+commit 9edd1a441c3c0c3f018ae561cd5711398ca56f95
+Author: Andre Maasikas <amaasikas@gmail.com>
+Date: Fri Sep 11 10:59:05 2009 -0400
+
+ r600: enable caching of vertex programs
+
+commit 6552a103f903a2b767464cd2d267f706a6baf7d5
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Sep 9 11:14:17 2009 -0400
+
+ r600: check if textures are actually enabled before submission
+
+ noticed by taiu on IRC.
+
+commit 65b01d449cc594e1c7e1a44c5d87fdc698300e9a
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Sep 9 01:41:46 2009 -0400
+
+ r600: fix ftp for dri1
+
+ We use t->bo for dri1 since r600 uses CS for dri1.
+
+commit b1e417413f2da8aad1872fa009949da101156431
+Author: Dave Airlie <airlied@linux.ie>
+Date: Wed Sep 9 15:02:16 2009 +1000
+
+ r600: don't setup hardware state if TFP
+
+ if we have a BO here it means TFP and we should have set it
+ up already.
+
+ tested by b0le on #radeon
+
+commit cbab3d7f2a77f187fb688593c17396d4967c75b5
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue Sep 8 16:03:25 2009 -0400
+
+ r600: fix dri2 clipping
+
+commit 84c7afd9e0f2df72d90dd82d38384c4f2f45173e
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Sep 19 18:45:59 2009 +0200
+
+ r300: fallback to software rendering if we are out of free texcoords
+
+ Fixes #22741
+
+commit 2acd5de22651a3461c0576107c8e8fab1f01469a
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 23 13:35:03 2009 -0600
+
+ swrast: add lod bias when texture sampling
+
+ Mostly fixes progs/demos/lodbias when MESA_TEX_PROG=1. But the LOD still
+ seems off by -1 or so.
+ May be an issue with the params passed to _swrast_compute_lambda()
+
+commit 890f37d4d96471a5c3d8ae286dfc13ad18ff78e5
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 23 13:34:30 2009 -0600
+
+ mesa: don't bias LOD in shader interpreter; do it in swrast
+
+commit ad935c3f4708417641dd3c257912ccce11485acc
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 23 12:54:14 2009 -0600
+
+ swrast: fix typo in partial derivatives parameter passing
+
+commit be66ff51ec98cf583044b3e53a49c41edd803134
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Sep 23 14:40:45 2009 +0100
+
+ st/mesa: trim calculated userbuffer size
+
+ In get_array_bounds we were previously defining a user buffer sized as
+ (nr_vertices * stride). The trouble is that if the vertex data
+ occupies less than stride bytes, the extra tailing (stride - size)
+ bytes may extend outside the memory actually allocated by the app and
+ caused a segfault.
+
+ To fix this, define a the buffer bounds to be:
+
+ ptr .. ptr + (nr-1)*stride + element_size
+
+commit e41707becaffd604fedc885719e5b061a4a5b363
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 23 10:50:38 2009 -0600
+
+ softpipe: added max texture/surface size sanity check
+
+commit 84b956c29be7eb547130974df9ceb3d2f3354526
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 22 15:35:05 2009 -0600
+
+ softpipe: increase MAX_WIDTH/HEIGTH 4096 to match max texture size
+
+commit 926b965ed53efc06a9d7cc6e07eff853b263960a
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 22 15:58:12 2009 -0600
+
+ mesa: don't re-use the meta glDrawPixels VBO; create a new one each time
+
+ This should help to work around bugs 24083 and 23670.
+
+commit f338de4018f2cfcb462f98c7d76bf6cc36ab6f47
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 22 13:47:49 2009 -0600
+
+ mesa: fix more buffer object error messages
+
+commit ba002eb1965ccdb09d7c3657d32e22e71ed4096a
+Merge: 8cc12ff bc75464
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 22 13:44:43 2009 -0600
+
+ Merge branch 'mesa_7_5_branch' into mesa_7_6_branch
+
+ Conflicts:
+
+ src/mesa/main/bufferobj.c
+
+commit bc7546476078dd520af4853f6f0d3f577ec670ec
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 22 13:19:05 2009 -0600
+
+ glx: include string.h to silence missing memset() prototype warning
+
+commit 52cadf7592c980eb9cebb1e2b50b552bb61d9f21
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 22 13:14:55 2009 -0600
+
+ mesa: fix error message text
+
+commit 8cc12ffb34769a84050be034d19921af811a3406
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Tue Sep 22 20:57:05 2009 +0200
+
+ r300: Fix crash reported in bug #24066
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit e8573033058a13bd39a0b85f48b6db64b04c65e0
+Author: Tormod Volden <debian.tormod@gmail.com>
+Date: Sun Sep 20 20:20:01 2009 +0200
+
+ GLX: Warn only once about applications calling GLX 1.3 functions
+
+ The warnings introduced in 1f309c40b8065b8729fce631540c66e4b50b84df
+ would pour out generously from some applications. This patch adds a
+ "warn once" wrapper macro, heavily inspired by
+ src/mesa/drivers/dri/r600/radeon_debug.h
+
+ Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
+ Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
+
+commit 6559eaef59526a7f4b2c22927637091018535c0c
+Merge: 2655d43 2b83483
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Sep 21 14:49:46 2009 -0600
+
+ Merge branch 'mesa_7_5_branch' into mesa_7_6_branch
+
+commit 2655d437569c5bce7c56782792cbd4460b9f758b
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Sep 21 14:23:07 2009 -0600
+
+ mesa: refine the error checking vbo_exec_DrawRangeElements()
+
+ If the 'end' index is out of bounds issue a warning as before. But instead
+ of just no-op'ing the draw call, examine the actual array indices to see
+ if they're OK. If the max array index is out of bounds, issue another
+ warning and no-op the draw call. Otherwise, draw normally. This is a
+ debug build-only feature since it could impact performance.
+
+ This "fixes" the missing torus in the OGL Distilled / Picking demo.
+
+commit 44d260329efaea2bc844afa42fb1b4f882ab74fd
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Sep 21 14:07:35 2009 -0600
+
+ mesa: make max_buffer_index() a non-static function
+
+commit ff5535c5219047fc56f89c55ee44899d218dc234
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sun Sep 20 13:54:59 2009 +0200
+
+ radeon: update buffer map/unmap code for changes introduced in 92033a9516942d7272ce4bf36ecd422009bbaf60 and 822c7964819ca1fcc270880d4ca8b3de8a4276d0
+
+commit db928a5e9155001fd441a32aa5af7d59af02ca5d
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Sep 19 18:47:36 2009 +0200
+
+ mesa: add some debug info to teximage.c
+
+commit ab4ec85f6c04fdb5fabb0c74593643c31f630ac3
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Sep 19 18:46:51 2009 +0200
+
+ r300: fix a typo
+
+commit 2b83483fb43386bd4b8d199d371a3e513828695f
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed May 20 14:05:03 2009 -0700
+
+ intel: Mark the FBO as incomplete if there's no intel_renderbuffer for it.
+
+ This happens to rendering with textures with a border, which had resulted
+ in a segfault on dereferencing the irb.
+
+ (cherry-picked from commit 8bba183b9eeb162661a287bf2e118c6dd419dd24)
+
+commit 5a0b29050f22b4475426a6f05a0338a7cdf546a0
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Sep 21 08:34:00 2009 -0600
+
+ softpipe: Fix cube face selection.
+
+ If arx and ary are equal, we still want to choose from one of them,
+ and not arz.
+
+ (cherry picked from commit de685b37a91bc95dd4093a44a49b7b47385b1f7c)
+
+commit 077e3de98977ca0046d4f09eb7936f6006719739
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Sep 21 08:32:43 2009 -0600
+
+ swrast: fix cube face selection
+
+ If arx and ary are equal, we still want to choose from one of them,
+ and not arz.
+
+ This is the same as Michal's softpipe fix.
+
+commit 526430ade1d7ec0e1b3743d69e1ee9fb89cbaa2a
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Mon Sep 21 12:50:33 2009 +0200
+
+ r300: Zero-initialize register for NV_vertex_program
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 736e1ae42fd61f2b9f982b0491ca7daea7e615ed
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Wed Sep 9 19:56:57 2009 +0200
+
+ r300: Fix handling of NV_vertex_program parameters
+
+ The handling is a bit inefficient, unfortunately, but I don't want to make
+ any intrusive changes for Mesa 7.6.
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 1d4dbd8d9b00cdba8c4aef4a3994d8763fea0dff
+Merge: 284a7af 9995927
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Mon Sep 21 10:39:20 2009 +0200
+
+ Merge branch 'mesa_7_5_branch' into mesa_7_6_branch
+
+commit 999592745f40a96a7307da374cab4d68254acf75
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Mon Sep 21 10:08:11 2009 +0200
+
+ intel: Fix crash in intel_flush().
+
+ Since commit 2921a2555d0a76fa649b23c31e3264bbc78b2ff5 ('intel: Deassociated
+ drawables from private context struct in intelUnbindContext'),
+ intel->driDrawable may be NULL in intel_flush().
+
+commit 284a7af274bc148f112bd0ebb40583923ee26b49
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Sun Sep 20 22:24:35 2009 +0300
+
+ radeon: Fix legacy bo not to reuse dma buffers before refcount is 1.
+
+ This should help detecting possible memory leaks with dma buffers and prevent
+ possible visual corruption if data would be overwriten too early.
+
+commit 7e3b8b0d8fdfd7cffbb57afce67a3fe54827d90a
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sun Sep 20 20:40:03 2009 +0200
+
+ r300/compiler: Fix trig instructions in R300 fp
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 3640e4acde2fb050b1659271d1687a8a5f90365d
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Sun Sep 20 21:08:42 2009 +0300
+
+ radeon: Fix typo in variable name.
+
+commit 5fa9a7a9a9cb87c8a86402981cc1b4affde95777
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Sun Sep 20 20:07:35 2009 +0300
+
+ radeon: Improve WARN_ONCE macro to appear as single statement.
+
+ Do-while makes macro safe to be used with if and for constructions.
+
+ Also remove __LINE__ macro from variable name because scope is local to macro anyway.
+
+commit 94a3c5979fdfa7e5da97523456ee89848528aab0
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sun Sep 20 18:45:32 2009 +0200
+
+ radeon: Fix "verts" debugging enable
+
+ Copy'n'paste apparently prevented the RADEON_VERTS flag from being enabled.
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 82c2f7756af19f0a19aeda7ea1f627262e4561c0
+Merge: e617dd1 c4ce6f6
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sun Sep 20 16:59:03 2009 +0200
+
+ Merge branch 'mesa_7_5_branch' into mesa_7_6_branch
+
+commit e617dd14ab4863921c02612ab76faa94b02a155c
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sat Sep 12 16:49:31 2009 +0200
+
+ mesa/st: Create front renderbuffer on the fly when supplied with a surface
+
+ Normally, the mesa/st would create a fake front buffer out of a
+ client-allocated surface.
+
+ In the DRI setting, however, st/dri provides a front buffer surface which is
+ created and maintained by the X server. Prefer to use this surface instead,
+ so that front buffer rendering and reading works correctly.
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit c4ce6f6a7c124c62a8ee9bd9fba28fc69a38e18c
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sat Sep 12 12:13:35 2009 +0200
+
+ mesa/st: Initialize format bits of framebuffer renderbuffers
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit c8c5de9e9a310633a2d046e63a7277820e0577ef
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sun Sep 20 16:46:58 2009 +0200
+
+ docs: Document new features in radeon/r200/r300 drivers
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 6c323a2473cbfcdf41a8b3c395fcd277e16b963c
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sun Sep 20 16:33:59 2009 +0200
+
+ r300/compiler: Fix R300 fragment program regression introduced by 0723cd1...
+
+ We obviously need to move the code addr register backwards because their may
+ be overlap.
+
+ This bug affected in particular the Compiz water plugin.
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 1e4c3535111dc431e4fe51da6892259a5ebe2ae6
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Fri Sep 18 16:04:41 2009 +0800
+
+ [i965] add a missing header file
+
+commit a66bab0e379c3add034667ed394bcead386d8c10
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Fri Sep 18 13:29:28 2009 +0800
+
+ [i965] use intel_batchbuffer_flush to flush the clear
+
+commit fac38e8c8f1814ae54703b872db8c6dd21c34a3b
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 16 21:21:42 2009 -0600
+
+ mesa: fix clip plane, fog issues
+
+commit 9666529b5a5be1fcde82caadc2fe2efa5ea81e49
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Wed Sep 16 16:43:50 2009 -0700
+
+ glx: Use initstate_r / random_r instead of corrupting global random number state
+
+ Previously srandom and random were used. This cause the global random
+ number generator state to be modified. This caused problems for
+ applications that called srandom before calling into GLX. By using
+ local state the global state is left unmodified.
+
+ This should fix bug #23774.
+
+commit 08d39251a79a964e4a3ac0d7d8a397c2b66a0808
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 16 13:07:12 2009 -0600
+
+ st/mesa: fix some incorrect branching/clean-up code in TexImage functions
+
+ We need to be sure to call the _mesa_unmap_teximage_pbo() function if we
+ called _mesa_validate_pbo_teximage().
+
+commit cfa1a0a609daefffc6f8c4087ed0bc34c2665ef4
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 16 12:57:26 2009 -0600
+
+ st/mesa: fix texture memory allocation bug
+
+ The following example caused an incorrect GL_OUT_OF_MEMORY error to be
+ raised in glTexSubImage2D:
+
+ glTexImage2D(level=0, width=32, height=32, pixels=NULL);
+ glTexImage2D(level=0, width=64, height=64, pixels=NULL);
+ glTexSubImage2D(level=0, pixels!=NULL);
+
+ The second glTexImage2D() call needs to cause the first image to be
+ deallocated then reallocated at the new size. This was not happening
+ because we were testing for pixels==NULL too early.
+
+commit 88e3a5760559e6ced00a57b7157abe156c22be2e
+Merge: 76e836a 2921a25
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Wed Sep 16 07:57:19 2009 -0700
+
+ Merge branch 'mesa_7_5_branch' into mesa_7_6_branch
+
+ Conflicts:
+ src/mesa/main/dlist.c
+
+commit 2921a2555d0a76fa649b23c31e3264bbc78b2ff5
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Wed Sep 16 07:39:58 2009 -0700
+
+ intel: Deassociated drawables from private context struct in intelUnbindContext
+
+ The generic DRI infrastructure makes sure that __DRIcontextRec::driDrawablePriv
+ and __DRIcontextRec::driReadablePriv are set to NULL after unbinding a
+ context. However, the intel_context structure keeps cached copies of
+ these pointers. If these cached pointers are not NULLed and the
+ drawable is actually destroyed after unbinding the context (typically
+ by way of glXDestroyWindow), freed memory will be dereferenced in
+ intelDestroyContext.
+
+ This should fix bug #23418.
+
+commit 76e836a41ad47237f80195c5dacb8bc57a7f2b69
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Wed Sep 16 13:25:46 2009 +0800
+
+ i965: do a flush in clear, fix openarena render issue,
+ fd.o bug# 23857
+
+commit d9ddbc3f4762d05ef2c4e651f3164ead92e85cd5
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 15 15:12:29 2009 -0600
+
+ docs: glUniform functions are now compiled into display lists
+
+commit 41fff1b9a1b43f25739f41ffc7697405ccb9cccc
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 15 15:10:29 2009 -0600
+
+ mesa: compile glUniformMatrix() functions into display lists
+
+ I believe this is the last of the shader-related functions that needed
+ display list treatment.
+
+commit 6681981fe1c135a7d239a382091d77e952f8d523
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 15 14:56:55 2009 -0600
+
+ mesa: implement more glUniform display list functions
+
+commit 3ad108b77fbab2aa2cfda53f71ff9c6794842876
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 15 14:38:52 2009 -0600
+
+ docs: document glUseProgram display list fix
+
+commit f42c66c138c4bf96fe9d9d007797c63d9f326e22
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 15 14:31:10 2009 -0600
+
+ mesa: compile glUniform4f() into display lists
+
+ Note: there are more glUniform functions to compile...
+
+commit 81de9d68f7299d7b053914b6c886cd2ea4958a85
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 15 14:25:44 2009 -0600
+
+ mesa: compile glUseProgram/glUseProgramObjectARB into display lists
+
+ Fixes bug 23746
+
+commit 6c6fe0a7040cb7355abefcd6621b67d0458311ae
+Merge: 5d526ed 1f309c4
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Tue Sep 15 13:13:35 2009 -0700
+
+ Merge commit 'origin/mesa_7_5_branch' into mesa_7_6_branch
+
+commit 1f309c40b8065b8729fce631540c66e4b50b84df
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Tue Sep 15 13:12:22 2009 -0700
+
+ GLX: Complain when buggy applications call GLX 1.3 functions.
+
+commit 5d526ed21ac9f1ec9220c2adb4c905893eb9d990
+Merge: 2b992dc 799631a
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 15 09:45:18 2009 -0600
+
+ Merge branch 'mesa_7_5_branch' into mesa_7_6_branch
+
+commit 2b992dc327e02a412c0cc8c5d015ac534114848c
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 15 09:36:31 2009 -0600
+
+ gl: restore some PFNGL typedefs
+
+ Commit d33c315d9e32584dea12cea683795b498a9f5eca removed a few too many
+ typedefs. We need the typedefs in glext.h which are protected by #ifdef
+ GL_VERSION_1_2 but we can exclude the ones protected by
+ GL_VERSION_1_2_DEPRECATED.
+
+commit 799631acb18be93afab29e27241cde3780672e98
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Sep 14 17:48:17 2009 -0600
+
+ progs/vp: print program and error info when program does not compile
+
+commit ac3c8e3b53564b659e2ccaf8274b888f1e254511
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Sep 14 17:32:03 2009 -0600
+
+ glsl: added some link debug code (disabled)
+
+commit 3129b2403e8430304c054611eebe709ed8b2ed97
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Sep 14 17:27:47 2009 -0600
+
+ docs: document linker/preprocessor bug fix
+
+commit b8b774c775b672c89f1f4007c7b9575052d85739
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Sep 14 17:24:25 2009 -0600
+
+ glsl: remove extra #version directives from concatenated shader sources
+
+ When we concatenate shaders to do our form of poor-man linking, if there's
+ multiple #version directives, preprocessing fails. This change disables
+ the extra #version directives by changing the first two chars to //.
+
+ This should help with some Wine issues such as bug 23946.
+
+commit 2729db89763743b4266520355b24c34d3e332a80
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Sep 14 11:50:48 2009 -0600
+
+ gallium: Add Mac OS to pipe/p_thread.h.
+
+ Mac OS also has POSIX threads.
+
+commit 1402ea8f3984e5d8659ff2d923d438ecbf79042e
+Author: Thierry Vignaud <tvignaud@mandriva.com>
+Date: Mon Sep 14 11:48:51 2009 -0600
+
+ configure: fix comment
+
+commit 9c8b69302c2509d9ec8d6f87b7d1c34b6e215227
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Sat Sep 12 09:27:01 2009 -0700
+
+ Use CFLAGS as HOST_CFLAGS by default
+
+ Unless we're cross compiling, the HOST_CFLAGS should be the same as the
+ normal CFLAGS. This allows the x86 and x86_64 asm to be built correctly
+ with a native compiler using -m32/-m64.
+
+ Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
+
+commit 280933f793d45a5d6a72d56c422ca045abbdb1c2
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Sep 11 13:43:51 2009 -0600
+
+ docs: mention the new Gallium llvmpipe driver
+
+commit d81086a86bd7c82eae5a8f0d1092a30c23626257
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Sep 11 13:39:14 2009 -0600
+
+ llvmpipe: asst fixes for 'make linux-llvmpipe'
+
+commit 0fa1692f14f4a64b045bc3f26a5ab401d682b118
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Sep 11 08:04:37 2009 -0600
+
+ mesa: raise GL_INVALID_ENUM not GL_INVALID_VALUE for glTexParamter errors
+
+ Signed-off-by: Brian Paul <brianp@vmware.com>
+
+commit 796c96de808790826d9c9077d159390ebee62888
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Fri Sep 11 01:28:34 2009 +0300
+
+ radeon: Remove structure allocation from iterator variable.
+
+ dma_bo varaible is only used for iterating so allocating memory for it only
+ causes memory leaks.
+
+commit 4b1cbfcbe66161a7b56d56cd9e2c35ce49b3a91d
+Merge: 9e6ae75 4d9bbab
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 10 15:40:26 2009 -0600
+
+ Merge branch 'mesa_7_5_branch' into mesa_7_6_branch
+
+commit 9e6ae75cc8d6bff139aa21bda0aa682755ab7a7c
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 10 15:34:34 2009 -0600
+
+ intel: disable intel_stencil_drawpixels() for now
+
+ It doesn't work reliably even when all the prerequisite checks are made.
+
+commit 4d9bbabb8360a3de5b8659946c7c903356fd176c
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 10 14:15:07 2009 -0600
+
+ docs: document Gallium glDrawPixels(GL_STENCIL_INDEX) fix
+
+commit 3f4d776199562f94edb99045e0dad3e26dfddac0
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 10 14:14:18 2009 -0600
+
+ softpipe: minor indentation fix
+
+commit 988db641195819c948249a1bb2d59f13577a482f
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 10 14:11:36 2009 -0600
+
+ softpipe: set dirty_render_cache in softpipe_clear()
+
+ This fixes a bug seen when doing a glDrawPixels(GL_STENCIL_INDEX) right
+ after a glClear(). The check-for-flush test was failing because we
+ didn't set the dirty_render_cache flag in softpipe_clear(). So we saw
+ stale data when we mapped the stencil buffer.
+
+commit 79a3e298c5396df416f655e44a7cad2de6b40aef
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 10 12:50:08 2009 -0600
+
+ docs: initial 7.5.2 release notes page
+
+commit 8fd4e4dfc32e4fd44dc41948d0c35ece078d44b3
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Thu Sep 10 11:44:53 2009 -0700
+
+ Fix merge fail
+
+ One of the conflicst from this merge was missed:
+
+ commit 0c309bb494b6ee1c403442d1207743f749f95b6e
+ Merge: c6c44bf d27d659
+ Author: Brian Paul <brianp@vmware.com>
+ Date: Wed Sep 9 08:33:39 2009 -0600
+
+commit d78a19612173eda51b93818a16a947201a785f3f
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 10 12:44:28 2009 -0600
+
+ tgsi: use new tgsi_call_record to handle execution mask stacks
+
+ This fixes some issues when "return"ing from nested loops/conditionals.
+
+commit c5f8594aebac4b8ba972d09ab18dabd9cc47c8e9
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 10 10:17:07 2009 -0600
+
+ mesa: need to set all stencil bits to 0 before setting the 1 bits
+
+ Plus, check for pixel transfer stencil index/offset.
+
+commit 8398535331dae39ff5f52e94a69abdbf7507a343
+Merge: acfea5c 2dd3da3
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Thu Sep 10 11:24:56 2009 -0700
+
+ Merge branch 'mesa_7_5_branch' into mesa_7_6_branch
+
+ Conflicts:
+ src/mesa/drivers/dri/intel/intel_context.c
+
+commit acfea5c705f383692e661d37c5cd7da2f3db559b
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Sep 9 12:35:30 2009 -0700
+
+ i965: Fix relocation delta for WM surfaces.
+
+ This was a regression in 0f328c90dbc893e15005f2ab441d309c1c176245.
+
+ Bug #23688
+ Bug #23254
+ (cherry picked from commit 5604b27b9326ac542069a49ed9650c4b0d3e939a)
+
+commit 2dd3da3a4a2233332219f9da60d18fec79b4b6c7
+Author: Zhenyu Wang <zhenyuw@linux.intel.com>
+Date: Mon Sep 7 16:18:57 2009 +0800
+
+ intel: add B43 chipset support
+
+ Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
+ Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
+
+ Hopefully this will be one of the last cherry-picks.
+
+ (cherry picked from commit ca246dd186f9590f6d67038832faceb522138c20)
+
+commit e9ba9ffc9aa5dcc2de02dc3e58279ffda2318c79
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 10 08:41:12 2009 -0600
+
+ mesa: in texenvprogram code, only do saturation when really needed.
+
+ For some env modes (like modulate or replace) we don't have to clamp
+ because we know the results will be in [0,1].
+
+commit 23fefa031f8c6c87a7894247829131293449cb17
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Sep 10 08:39:26 2009 -0600
+
+ gallium: Add PIPE_OS_APPLE back to auxiliary/util/u_time.h.
+
+ Fixes typo from commit c6c44bf48124dd5b4661014a8d58482c5a54557f.
+
+commit 3d1324a66a3b8927a400d167ba92f851b464c57a
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Thu Sep 10 16:41:59 2009 +0300
+
+ radeon: Change debugging code to use macros instead of inline functions.
+
+ Variadic functions can't be inlined which makes debugging to have quite large
+ function overead. Only aleternative method is to use variadic macros which are
+ inlined so compiler can optimize debugging to minimize overhead.
+
+commit 2b692cd6d6f42d4e7a7f8100383759d49a907f1d
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 9 12:01:28 2009 -0600
+
+ mesa: include new u_format.csv file in tarballs
+
+commit e0f99b8268496576b017f4d0eb0ed09507c2f30d
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Wed Sep 9 18:31:52 2009 +0300
+
+ radeon: Add more verbose error message for failed command buffer.
+
+commit 0c309bb494b6ee1c403442d1207743f749f95b6e
+Merge: c6c44bf d27d659
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 9 08:33:39 2009 -0600
+
+ Merge branch 'mesa_7_5_branch' into mesa_7_6_branch
+
+ Conflicts:
+
+ Makefile
+ configs/default
+ progs/glsl/Makefile
+ src/gallium/auxiliary/util/u_simple_shaders.c
+ src/gallium/state_trackers/glx/xlib/xm_api.c
+ src/mesa/drivers/dri/i965/brw_draw_upload.c
+ src/mesa/drivers/dri/i965/brw_vs_emit.c
+ src/mesa/drivers/dri/intel/intel_context.h
+ src/mesa/drivers/dri/intel/intel_pixel.c
+ src/mesa/drivers/dri/intel/intel_pixel_read.c
+ src/mesa/main/texenvprogram.c
+ src/mesa/main/version.h
+
+commit c6c44bf48124dd5b4661014a8d58482c5a54557f
+Author: aljen <harakash@gmail.com>
+Date: Sat Sep 5 23:06:53 2009 +0200
+
+ gallium: Added HaikuOS platform
+
+commit 89a765e92b4847f80848c8be89efbce2d021434b
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 9 08:23:11 2009 -0600
+
+ mesa: disable GL_LUMINANCE case in _mesa_meta_draw_pixels()
+
+ Works around a bug found on i965. See bug 23670.
+
+commit d27d659043bd7f2bd9a2636209f299cda0664230
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Sep 9 08:21:05 2009 -0600
+
+ scons: Set default_dri to no for Mac OS.
+
+ Mac OS does not have libdrm.
+
+commit 42943a4cf90d66ade212feea29a29a3702eec6c1
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 8 14:45:24 2009 -0600
+
+ mesa: bump version to 7.5.2
+
+ I'm not 100% sure there'll be a 7.5.2 release, but just in case.
+
+commit 8de625c7cf639c583e8bf43acb1214010989bb64
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 8 12:21:42 2009 -0600
+
+ i965: fix incorrect test for vertex position attribute
+
+commit 18bdb6e712d43632dcd2e73cea68e0b2953fe62e
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 8 09:20:39 2009 -0600
+
+ egl: also use X types for building on Apple/MacOS X
+
+ See bug 20413.
+
+commit bf19638a003f0915d3d5419b737c2006a8f24a31
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Mon Sep 7 10:49:31 2009 +1000
+
+ prog/glsl: fix Makefile for samplers_array.
+
+ The rule added in 488b3c4d1bc3d830477180759a42dbaf8f5801b0 does not use the
+ right INCDIR, breaking the build when GL isn't installed in the default include
+ paths.
+
+ 7.5 branch only fix, already fixed in master by rewriting the Makefile
+ (ceb9459ed5e63207defa5d715958c2757933272f)
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit b2cba25f9eecf2063c3b98d66ade59cd9e50990e
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Jun 22 08:52:52 2009 -0700
+
+ i965: Fix warnings in intel_pixel_read.c.
+ (cherry picked from commit c80ce5ac90b1e0ac7a72cd41c314aa2000bfecf5)
+
+commit cf820a045f0626718ec147ebb26e31f82ec0b4fb
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Jun 19 22:12:52 2009 -0700
+
+ intel: Also get the DRI2 front buffer when doing front buffer reading.
+ (cherry picked from commit df70d3049a396af3601d2a1747770635a74120bb)
+
+commit 2855ee82c6d74066e8d9e44b17b2ce3b5782110e
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Jun 19 22:03:37 2009 -0700
+
+ intel: Update Mesa state before span setup in glReadPixels.
+
+ We could have mapped the wrong set of draw buffers. Noticed while looking
+ into a DRI2 glean ReadPixels issue.
+ (cherry picked from commit afc981ee46791838f3cb83e11eb33938aa3efc83)
+
+commit 04081a164ca6160404d87dccbfc641bfd46428e0
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Jun 19 21:43:22 2009 -0700
+
+ intel: Move intel_pixel_read.c to shared for use with i965.
+ (cherry picked from commit dcfe0d66bfff9a55741aee298b7ffb051a48f0d3)
+
+commit 1d1dfc96c48681c455e1174a60bd325b33a2784f
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jul 16 15:57:22 2009 -0700
+
+ i965: Add missing state dependency of sf_unit on _NEW_BUFFERS.
+ (cherry picked from commit 99174e7630676307f618c252755a20ba61ad9158)
+
+commit a9504edee344936ef496341174d4c2d76ee0c44d
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Aug 18 18:48:54 2009 -0700
+
+ intel: Align cubemap texture height to its padding requirements.
+ (cherry picked from commit a70e1315846cd5e8d6f2b622821ff8262fe7179d)
+ (cherry picked from commit 29e51c3872531366570d032147abad50f8a3c1af)
+
+commit 945d34e88ab7413299227fea56acc746010bb2e9
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Aug 7 18:09:31 2009 -0700
+
+ intel: Align untiled region height to 2 according to 965 docs.
+
+ This may or may not be required pre-965, but it doesn't seem unlikely, and
+ I'd rather be safe.
+ (cherry picked from commit b053474378633249be0e9f24010650ffb816229a)
+
+commit 94d3b832cc5c73544c478804531e16644483d8be
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Aug 5 20:12:15 2009 -0700
+
+ i965: Fix source depth reg setting for FSes reading and writing to depth.
+
+ For some IZ setups, we'd forget to account for the source depth register
+ being present, so we'd both read the wrong reg, and write output depth to
+ the wrong reg.
+
+ Bug #22603.
+ (cherry picked from commit f44916414ecd2b888c8a680d56b7467ccdff6886)
+
+commit 8c764d5c34548d56e912cdc5990adffb0e8fd9f7
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Aug 4 18:02:31 2009 -0700
+
+ i965: Respect CondSwizzle in OPCODE_IF.
+
+ Fixes piglit glsl-vs-if-bool and progs/glsl/twoside, and will likely be
+ useful for the looping code.
+
+ Bug #18992
+ (cherry picked from commit 78c022acd0b37bf8b32f04313d76255255e769c1)
+ (cherry picked from commit 63d7a2f53fb38e170f4e55f2b599e918edf2c512)
+
+commit a0b7850f1da6e367ed3380fbf0a59fa5af992546
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jun 18 09:23:58 2009 -0600
+
+ i965: asst clean-ups, etc in brw_vs_emit()
+ (cherry picked from commit fd7d764514c540987549c3ea88a2d669b0f0ea58)
+
+commit 3d6c73513c5918a3f833ebf402803946b78828b8
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Aug 4 14:13:27 2009 -0700
+
+ i965: Emit conditional code updates as required for GLSL VS if statements.
+
+ Previously, we'd be branching based on whatever condition code happened to be
+ laying around.
+ (cherry picked from commit 7007f8b352763af89805f287153cb7972bff0523)
+
+commit 83e6c67363d77d89ab4b6e2e202c8634d582c907
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Aug 4 13:42:30 2009 -0700
+
+ i965: Spell "conditional" correctly.
+
+commit f396263651b867be39800bfd274b1be3d78ef60f
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Aug 4 12:39:22 2009 -0700
+
+ i965: Fix RECT shadow sampling by not losing the other texcoords.
+
+ Bug #20821
+ (cherry picked from commit 191e028de20b2f954621b652aa77b06d0e93652a)
+
+commit 63b3fa2bcecc75a116ce651da435d205ccd43584
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Aug 3 17:55:14 2009 -0700
+
+ i965: Assert that the offset in the VBO is below the VBO size.
+
+ This avoids sending a bad buffer address to the GPU due to programmer error,
+ and is permitted by the ARB_vbo spec. Note that we still have the opportunity
+ to dereference past the end of the GPU, because we aren't clipping to a
+ correct _MaxElement, but that appears to be harder than it should be. This
+ gets us the 90% solution.
+
+ Bug #19911.
+ (cherry picked from commit d7430d942f6c7950a92367aeb13b80cf76ccad78)
+
+commit 217af32c2d6afab5e1907cc16fb4b6feb982abe7
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Aug 3 17:12:43 2009 -0700
+
+ i965: Even if no VS inputs are set, still load some amount of URB as required.
+
+ See comment on Vertex URB Entry Read Length for VS_STATE.
+
+ This, combined with the previous three commits, fixes #22945.
+ (cherry picked from commit e340d4f9866db4bae391288e83a630a310b0dd2b)
+
+commit 456a16491bc757af6ba9a98e5706a78f748e9a79
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Aug 3 15:24:02 2009 -0700
+
+ i965: Make sure the VS URB size is big enough to fit a VF VUE.
+
+ This fix is just from code and docs inspection, but it may fix hangs on
+ some applications.
+
+ (cherry picked from commit e93848e595176ae0bad3bfe64e0ca63fd089bb72)
+
+commit 9eca0e5350377148976e0d1200f98bd20ac28197
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jul 30 13:40:29 2009 -0700
+
+ i965: Don't emit bad packets when no VBs are referenced.
+
+ It appears that sometimes Mesa (and I suppose a VS could as well) emits
+ a program which references no vertex data, and thus we end up with
+ nr_enabled == 0 even though some VBs are enabled. We'd end up emitting
+ VB/VE packet headers of 0xffffffff in that case, leading to GPU hangs.
+
+ Bug #22945 (wine with an uncompiled VS)
+ (cherry picked from commit d1fbfd0f962347e4153db3852292d44de5aea863)
+
+commit 7e26bdb849b75f4aeb69cf8b1fdffbc461265490
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Aug 3 14:46:18 2009 -0700
+
+ i965: Calculate enabled[] and nr_enabled once and re-use the values.
+
+ The code duplication bothered me.
+ (cherry picked from commit 9b9cb30d128fc5f1ba77287696ecd508e640efde)
+
+commit 213ac4bb5de1cef601e0677ef2e5ca1779851e28
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jun 23 19:30:25 2009 -0700
+
+ i965: Set the max index buffer address correctly according to the docs.
+
+ It's the last addressable byte, not the byte after the end of the buffer.
+ (cherry picked from commit b72dea5441e8e9226dabf1826fa3bc129c7bc281)
+
+commit cab307ce6b32d2ffdb0eb3bb5bae93c6fb9305fb
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 15 09:14:24 2009 -0600
+
+ i965: rename var: s/tmp/vs_inputs/
+ (cherry picked from commit 840c09fc71542fdfc71edd2a2802925d467567bb)
+
+commit 9216b4e7be942fed432ceb42a4337d7298d0bc6c
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Sep 4 19:38:35 2009 +0100
+
+ scons: Used wrong exception class.
+
+commit b9f56078cd8b68e3f473d23232c1aa2f0f664a19
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Sep 4 19:33:41 2009 +0100
+
+ scons: Don't use scons internal functions.
+
+commit b13a553dd419cc6997725d4bce956daa7eb64806
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri Sep 4 14:03:51 2009 -0400
+
+ r600: fix Elts handling
+
+ Patch from taiu on IRC. fixes bug 23585
+
+commit 592a6642fc5c9f697bcc6521c99fe00b2de827c8
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Sep 4 09:15:35 2009 -0600
+
+ ARB prog: replace 'unsigned' with 'gl_state_index'
+
+ Fixes compilation warnings with MSVC.
+
+commit 3fedd08779c2bc4a5f02c035e7ca4cab5da649dd
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Sep 4 09:06:40 2009 -0600
+
+ ARB prog: rename POINT, SIZE to POINT_TOK, SIZE_TOK
+
+ Fixes symbol collisions with typedefs in Microsoft headers.
+ Perhaps we should prefix/suffix all the lexer tokens to avoid this.
+
+commit 40636fe6f2763e6be4141516a9eba5004b371915
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 3 17:16:19 2009 -0600
+
+ gallium/xlib: minor clean-ups
+
+commit 65c79c9cbd58b164a61b72f7ffe13031c33485cf
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Fri Sep 4 10:27:17 2009 +0100
+
+ i915g: Fix warnings in scons build by using byte pointers
+
+ scons build complained about void pointer math
+
+commit ce39cd6696efbc72c13187217ca5d74ab00ab37f
+Author: Michal Krol <michal@vmware.com>
+Date: Fri Sep 4 09:31:22 2009 +0200
+
+ tgsi: Document differencies between vs_1_1 and vs_2_0 for EXPP and LOGP.
+
+commit f6dff92c9b6dd478d6486865bdc57dd284531f57
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 3 15:49:10 2009 -0600
+
+ docs: 7.5.1 md5 sums
+
+commit 5d56e31e1d0bbb595a797548c67f1b567ca6441c
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 3 15:44:49 2009 -0600
+
+ docs: point to fd.o for downloads instead of SourceForge
+
+commit 7ec865202e6b054c3afaba6180d42a29f30f8964
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 3 15:44:22 2009 -0600
+
+ gallium/xlib: silence unitialized var warning
+
+commit 9e711b6865fdd2842d1dbfa15ab03488dfd2e86f
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 3 15:23:15 2009 -0600
+
+ gallium/xlib: silence uninitialized var warning
+
+commit 5a8e1ddf193bb25c5cf05b70088c64ede772d7e9
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 3 15:04:49 2009 -0600
+
+ st/mesa: silence uninitialized var warnings
+
+commit f1ae72e9f2cb5e444a45a066f700d71cea4640e5
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 3 14:57:30 2009 -0600
+
+ docs: prep for 7.5.1 release
+
+commit a04e83ba156c193514db4ddacf85926fa8fad237
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 3 14:57:16 2009 -0600
+
+ docs: added news entry for 7.5.1
+
+commit 4aee0dbf81b273cde57a58b44d613044dc4fdaf4
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 3 14:57:04 2009 -0600
+
+ docs: update precompiled libs info
+
+commit 7e2f01e0f18d909a1743fe10d7eca10f277baee9
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 3 14:56:50 2009 -0600
+
+ docs: move SGI GLU link
+
+commit beb05393c8d92d71ccb0f4af0bcdbe58ae8a9cdd
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 3 14:39:53 2009 -0600
+
+ st/mesa: fix glCopyPixels(GL_STENCIL_INDEX) inverted position
+
+ If the renderbuffer orientation is Y=0=TOP we need to invert the dstY
+ position.
+
+commit 8fc945cd847aa5d343a5f76eb2f9f2c9075cccdd
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Sep 2 18:30:11 2009 +0100
+
+ st/mesa: Do GL_RGBA->GL_RGB texsubimage on hardware
+
+ State tracker currently backs GL_RGB textures with RGBA almost always.
+ This means we need to maintain A==1 in these textures to give correct GL_RGB
+ sampling results.
+
+ This change offloads the RGBA->RGB copy to hardware using the new writemask
+ version of u_blit_pixels.
+
+ More src/dstLogical/dstActual triples could be shifted to hardware by
+ this technique in future patches.
+
+commit 862724d3c2761fe148d985e9205ebb1cc36f3011
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Sep 2 17:58:52 2009 +0100
+
+ util: add version of u_blit_pixels which takes a writemask
+
+ Values outside the writemask are set in the destination to {0,0,0,1}
+
+commit 375a6b4c4a68fff0567b304fc24de78ea8250124
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 1 08:53:31 2009 -0600
+
+ progs/tests: re-enable exit() call
+
+ See bug 21267.
+
+commit 3b96db337d1ffd51f514dd7099ea04c515dc0e45
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 31 10:31:45 2009 -0600
+
+ docs/: document cross-compile fix
+
+commit 6a97cca0817b743e0633ff76630a5bef24469d1b
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Thu Sep 3 18:02:54 2009 -0400
+
+ r600: rework cb/db setup
+
+ Setup the regs when we emit rather than during state setup.
+ In certain cases a proper CB target was never emitted.
+ This fixes bug 23658.
+
+commit 1960da2e099e3899af3f668e5914162f9293cd6c
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 3 15:49:10 2009 -0600
+
+ docs: 7.5.1 md5 sums
+
+commit 7d3af894d692e1b4c39eb6b24210bd53993723d7
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 3 15:44:49 2009 -0600
+
+ docs: point to fd.o for downloads instead of SourceForge
+
+commit 32156f3a1165624cd4e2d0d337809fb046bd9285
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 3 15:44:22 2009 -0600
+
+ gallium/xlib: silence unitialized var warning
+
+commit 1c32caf075ce4015ba50d0aa9f0a2ff924c21970
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 3 15:23:15 2009 -0600
+
+ gallium/xlib: silence uninitialized var warning
+
+commit 67c286d20e6f1256950d81aab3f6b54cd4926602
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 3 15:04:49 2009 -0600
+
+ st/mesa: silence uninitialized var warnings
+
+commit 0b4e835b13fb240f9c8f9fdc994cb80b99265845
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 3 14:57:30 2009 -0600
+
+ docs: prep for 7.5.1 release
+
+commit 08575509e4d3ac152ebf18a6dc944f233d9a62b0
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 3 14:57:16 2009 -0600
+
+ docs: added news entry for 7.5.1
+
+commit ccb081414ba46a6e2d29bcc3c675e875717a8165
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 3 14:57:04 2009 -0600
+
+ docs: update precompiled libs info
+
+commit 47df7900fd37f71bca0f3c4ae19d98866023a6c3
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 3 14:56:50 2009 -0600
+
+ docs: move SGI GLU link
+
+commit 323440b3e204a6de8faa8009eea9bb05c3b11991
+Author: Zack Rusin <zackr@vmware.com>
+Date: Thu Sep 3 16:51:31 2009 -0400
+
+ st/xorg: add linear and radial gradient acceleration
+
+commit 007a843991cd2c03369590fa15cbb60a9b261c65
+Author: Zack Rusin <zackr@vmware.com>
+Date: Thu Sep 3 15:33:31 2009 -0400
+
+ st/xorg: radial gradient shader
+
+commit 5571c4fe3650d062d9c469b774ff4930f43c4354
+Author: Zack Rusin <zackr@vmware.com>
+Date: Thu Sep 3 14:18:05 2009 -0400
+
+ st/xorg: linear gradient shader
+
+commit c3a0624ef01c3b347ed8a9fd3bab578b52bd9130
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 3 14:39:53 2009 -0600
+
+ st/mesa: fix glCopyPixels(GL_STENCIL_INDEX) inverted position
+
+ If the renderbuffer orientation is Y=0=TOP we need to invert the dstY
+ position.
+
+commit 8c1d85cebe2a7f9aa9adf46deb698ee062cc33b7
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Thu Sep 3 15:22:16 2009 -0400
+
+ r600: make sure the active vertex shader bo is re-added to persistent list.
+
+commit dc60d0db5253e3b3f0813394f666d32378723353
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 3 13:02:41 2009 -0600
+
+ glapi: fix incorrect/missing return types for glFenceSync(), glClientWaitSync()
+
+commit e059885ce357dee8b847f10e8e8c515a4a20042e
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 3 12:47:25 2009 -0600
+
+ mesa: rename gl_sync_object::Status to StatusFlag
+
+ There's a symbol collision with X11/Xlib.h #define Status int
+ in the Mesa xlib code. This seems the simpliest way to work around this.
+
+commit 446a71d1f81bc802b5b796d114a4bfa5cc44eaca
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Thu Sep 3 11:22:05 2009 -0700
+
+ docs: Document new extension support for 7.6 release.
+
+commit 5e448a8d4d1d6e8ad6430378c21c1332bc9b7588
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Sep 1 14:26:22 2009 -0700
+
+ Add ARB_sync to the xorg sw dri driver.
+
+commit d5ea2dce93e6fa2782889d088b91c9c1f1d3be14
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Sep 1 12:37:51 2009 -0700
+
+ savage: Fix driver build post-ARB_sync.
+
+ Like s3v, clean up absurd use of Xlib in the driver, avoiding namespace
+ pollution.
+
+commit 19420f02d4540654731840e345bdcd367389ed40
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Sep 1 12:31:24 2009 -0700
+
+ s3v: Fix driver build for ARB_sync.
+
+ This driver was including Xlibint.h to get the CARD32 typedef to use for
+ 32-bit unsigned integers, which #defined Status to something. CARD32 isn't
+ actually a 32-bit unsigned integer, so replacing with uint32_t usage should
+ fix bugs on 64-bit along with the build.
+
+commit afd6141934a0fb52fc1739a2a9992db3ac34682b
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Sep 1 12:20:10 2009 -0700
+
+ intel: Add support for ARB_sync.
+
+ We currently weasel out of supporting the timeout parameter, but otherwise
+ this extension looks ready, and should make the common case happy.
+
+commit aee282faa74ea862064b91d847ddc279d2191b01
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Tue Sep 1 12:15:51 2009 -0700
+
+ ARB sync / swrast: Use GL_ARB_sync_functions instead of GL_ARB_sync. Oops.
+
+commit 0342dce226fe79d7a6c0e7cd735c596fad3e8aac
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Tue Sep 1 11:58:36 2009 -0700
+
+ Don't dereference function pointers in calls.
+
+ I'm apparently alone in prefering this calling convention, so I'll be
+ a team player. :p Based on review comments by Brian Paul and Eric
+ Anholt.
+
+commit 18d3409571eaf78a93430d6d107c54cf79807213
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Tue Sep 1 11:57:40 2009 -0700
+
+ Add syncobj.c to SConscript
+
+commit 6af24b6b03a2ce8300c7ae78fd06c6b1edd02017
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Tue Sep 1 11:56:34 2009 -0700
+
+ Whitespace and include file clean-up.
+
+ Based on review comments by Brian Paul.
+
+commit 0f8fdd81989de5026c8e415f1525931b74dd8647
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Tue Sep 1 11:24:54 2009 -0700
+
+ Use MIN2 instead of open-coded version
+
+ Based on review comments by Brian Paul.
+
+commit 16b393d05990b6e917e144f9de87d0103b4c3e6d
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Aug 31 14:57:50 2009 -0700
+
+ ARB sync: Fix delete behavior and context destruction behavior
+
+ I believe this resolves the outstanding issues WRT sync object
+ deletetion. I have also added a large comment at the top of syncobj.c
+ describing the expected memory management behavior. I'm still a
+ little uncertain about the locking on ctx->Shared.
+
+commit f5a22721c5731c7a4c20f86d9925d9e58324c7a5
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Aug 31 14:49:33 2009 -0700
+
+ Add dummy list node type 'struct simple_node'
+
+commit f37070bab6af350caec905ea7658e9241042b6cc
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Fri Aug 28 20:10:05 2009 -0700
+
+ ARB sync: Add support for GL_ARB_sync to swrast
+
+ This isn't quite right yet. The delete behavior and the context
+ clean-up needs some work.
+
+commit 96bdd993ec2e02da676b2f7c6a15017e022e7185
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Fri Aug 28 15:53:00 2009 -0700
+
+ Eliminate trailing whitespace in extension_helper.c
+
+commit 064913430dd288c40351b41ab9e4040d3e92f0df
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Fri Aug 28 15:50:28 2009 -0700
+
+ ARB sync: Regenerate files from previous commit
+
+commit 10a09e49fc57fb4fee432a9f41ee4cf07e55fa74
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Fri Aug 28 15:49:27 2009 -0700
+
+ ARB sync: Add base infrastructure for GL_ARB_sync
+
+commit 10067e464132e6d484c34dd277da5eb5e21cf491
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Fri Aug 28 15:37:25 2009 -0700
+
+ ARB sync: Add infrastructure for glGetInteger64v
+
+commit d75a99edd6386ab26d69a3f0cbbed4c79fe5fad4
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 3 12:10:53 2009 -0600
+
+ mesa: fix typos in separable filter functions
+
+commit 7a7d5879e28607c151132a8b6a07cf4be36b5b3e
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 2 15:39:13 2009 -0600
+
+ mesa: compute tex env program key size based on nr_enabled_units
+
+ When no textures are enabled, the key size is 4 bytes. If unit[0] is
+ enabled, the key size is 16 bytes.
+
+ Inspired by a patch from Chris Wilson.
+
+commit 5cd7042088bdd0b5d9a92f4fc927029a46a23734
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 3 11:46:28 2009 -0600
+
+ swrast: wrap comment to 80 columns, remove dead code
+
+commit 2db37ef659a43267dcb4c7a3c69b410a60a2a5d6
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 3 11:41:29 2009 -0600
+
+ mesa: use new combined PBO validate/map helpers in convolution/filter funcs
+
+commit 95027a00870bc1d12ea24dfb092a0cad6cbd5035
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 3 11:23:05 2009 -0600
+
+ mesa: use new combined PBO validate/map helpers
+
+commit dc947c8f92732fab75f89015e2d506e964a41ace
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 3 11:22:27 2009 -0600
+
+ mesa: combined PBO validate/map helpers
+
+commit 203f395aaf717a6faf21a76979cc24d544ae148b
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 3 10:41:14 2009 -0600
+
+ mesa: use new _mesa_map_pbo_source/dest() functions in more places
+
+ This trims down the code a bit. The next step would be to combine
+ the validate and map operations into one helper...
+
+commit 1b448c7a5cafa68eeead2a4c45f4362a9883383b
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 3 11:29:18 2009 -0600
+
+ mesa: consolidate PBO map/unmap helpers
+
+ Instead of _mesa_map_readpix_pbo() use _mesa_map_pbo_source().
+
+ Instead of _mesa_map_drawpix_pbo() and _mesa_map_bitmap_pbo() use
+ _mesa_map_pbo_dest().
+
+commit e0ec405a9fa6fbc1cf2ac531ed5efd1a64e01f18
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 3 10:36:49 2009 -0600
+
+ intel: helper to debug bufmgr (disabled)
+
+commit 3070b13f4c418359ca11f6cf44b39dcf630b29fb
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Thu Sep 3 19:30:54 2009 +0100
+
+ i915g: Up the number of relocs
+
+commit 8303c722cbfd75bc181b5d281ab3be836104b088
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Thu Sep 3 19:30:36 2009 +0100
+
+ i915g: Don't run in sync with HW
+
+commit 87a4fa56ae473946b84233fda59d40dd479a4d64
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Thu Sep 3 19:28:38 2009 +0100
+
+ i915g: Don't send flush flags to HW
+
+commit 5643942517f05c7a986d208be4402927a111555e
+Author: Zack Rusin <zackr@vmware.com>
+Date: Thu Sep 3 12:44:15 2009 -0400
+
+ st/xorg: cleanup and adjust to the changes in the ureg code
+
+commit 07f9ad5c322ce409fdd4b86e3913f7cc085520b5
+Author: Zack Rusin <zackr@vmware.com>
+Date: Thu Sep 3 12:38:10 2009 -0400
+
+ st/xorg: adjust enums in preperation for gradients
+
+commit 2f6d2a9e27f8582591dc60655f7d7b14d7552bbc
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 3 09:41:41 2009 -0600
+
+ mesa: change ctx->Driver.BufferData() to return GLboolean for success/failure
+
+ Return GL_FALSE if we failed to allocate the buffer. Then raise
+ GL_OUT_OF_MEMORY in core Mesa.
+
+commit 848ab8be8c34b00b2afe6120882f8c29f047ced5
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Sep 3 15:16:25 2009 +0100
+
+ aux/tgsi: pull back ureg work from 0.1 branch
+
+ Manual merge of ureg changes on the branch. Too much unrelated stuff
+ for a proper merge.
+
+commit 8b1ef3fa357f5bbd6d3f73714a86ce380b867a71
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Thu Sep 3 12:54:41 2009 +0200
+
+ nv50: move centroid, flat bits when making interp long
+
+ Before this, just the perspective divide bit was moved in
+ convert_to_long of the load interpolant instruction.
+
+commit ffee352726750849b1e1efd00c52ddae813805f3
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Thu Sep 3 12:39:46 2009 +0200
+
+ nv50: fix vbo_static_attrib method size error
+
+ The VTX_ATTR_3/2/1F methods also had size 4 ...
+ a stupid copy/paste error.
+
+commit c8258b95d63dd002d532309abdc95b51c57e6b45
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Thu Sep 3 12:37:05 2009 +0200
+
+ nv50: fix draw_elements_inline_u08/16
+
+ We've been emitting the same two indices over and over
+ without incrementing map.
+
+commit e938d4a0535a6dc18c170ac40585424754961cc4
+Author: Cooper Yuan <cooperyuan@gmail.com>
+Date: Thu Sep 3 17:06:18 2009 +0800
+
+ r300g: specify point/line/triangle have stuffed texture coord
+
+commit c19b52f10fe11282f0a3466eda2eeb1d422b7aa3
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Sep 3 14:14:47 2009 +1000
+
+ r600: visual depth has no meaning here.
+
+ fbos get angry when this happens.
+
+commit a25d0dc9ec66e5de932e6e154f6bef9ffa6ab653
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Sep 3 14:14:31 2009 +1000
+
+ r600: make sure the active shader bo is re-added to persistent list.
+
+commit 5f7c532b1e5414f65e126948b35cf9e1ef10c3a1
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Sep 3 12:01:52 2009 +1000
+
+ radeon: pass internal format into the miptree.
+
+ We need to figure out if the compression format changes.
+
+ without this texcmp segfaults if you change format
+ enough times.
+
+commit e5b93e116180d7ae360af1fd3e7b05f14ebce656
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Sep 3 12:01:27 2009 +1000
+
+ radeon/dri2: add gl20 bits for r300/r600 just like dri1 does
+
+commit ea26f28c8fd68593a1f47053e04e9d6e110a23b9
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Sep 3 11:33:53 2009 +1000
+
+ tests/texcmp: glewInit in wrong place
+
+commit 206eb504930e5c5f8c947949bcaf20b11627fac7
+Author: Zack Rusin <zackr@vmware.com>
+Date: Wed Sep 2 18:39:21 2009 -0400
+
+ st/xorg: fix warnings
+
+commit d6b58a97c2f94ca54852414103c4ac2832279f2f
+Author: Zack Rusin <zackr@vmware.com>
+Date: Wed Sep 2 18:38:23 2009 -0400
+
+ st/xorg: handle xrender repeat modes
+
+commit dc9de8064f52b12d29d9ecd51b765973ac293fac
+Author: Zack Rusin <zackr@vmware.com>
+Date: Wed Sep 2 17:21:28 2009 -0400
+
+ st/xorg: flip the coordinate system
+
+commit d918896a754460bfcc5a9ba1e2844255f21ecab7
+Author: Zack Rusin <zackr@vmware.com>
+Date: Wed Sep 2 17:16:03 2009 -0400
+
+ st/xorg: handle solid fills in the fragment shader
+
+commit cbde2765804a4fc62bcf092230a01376aedbf2cd
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Sep 2 12:17:28 2009 -0700
+
+ Revert "i965: Use VBOs in the VBO module on 965, now that we have ARB_map_buffer_range."
+
+ This reverts commit 00413d87426f14df47d90ba3c995e1889e9f88ca. Even with
+ fixes, using ARB_map_buffer_range in the VBO module isn't showing up as a
+ significant win, and some cases apparently regressed.
+
+ Bug #23624.
+
+commit ec32ef12b3a496008cc982acfefca570a88e92eb
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Sep 2 12:07:37 2009 -0700
+
+ intel: Add support for FlushMappedBufferRange for ARB_map_buffer_range.
+
+ This should help for the usage by the VBO module, where we would upload
+ the whole remaining chunk of the buffer for a series of range maps that should
+ cover just a segment of it.
+
+commit 82313eed01b191320721dab63d353a1634f89231
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Sep 2 11:33:08 2009 -0700
+
+ intel: Sync a synchronized READ_BIT map buffer range with GL drawing to it.
+
+ It's probably uncommon, but would obviously have gone wrong.
+
+commit aecba6b1c8c6a82018183460450f5a4bf53d02ce
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Sep 1 22:07:37 2009 -0700
+
+ intel: Move MapBufferRange mesa state setting up to cover the 915 case.
+
+commit 7d8f33590f656e406b35cebc7144e958e829ca3e
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Sep 2 19:48:49 2009 +0200
+
+ st/xorg: Guard against realy old versions of Xorg
+
+commit e79054cc4090a2be346236236c9e18ae85cad43d
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Sep 2 18:30:11 2009 +0100
+
+ st/mesa: Do GL_RGBA->GL_RGB texsubimage on hardware
+
+ State tracker currently backs GL_RGB textures with RGBA almost always.
+ This means we need to maintain A==1 in these textures to give correct GL_RGB
+ sampling results.
+
+ This change offloads the RGBA->RGB copy to hardware using the new writemask
+ version of u_blit_pixels.
+
+ More src/dstLogical/dstActual triples could be shifted to hardware by
+ this technique in future patches.
+
+commit de343680a3e6b2a588f8b3c844828b8d9e6cb6a5
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Sep 2 17:58:52 2009 +0100
+
+ util: add version of u_blit_pixels which takes a writemask
+
+ Values outside the writemask are set in the destination to {0,0,0,1}
+
+commit 1d7a989b104f02042fadfeec5bd20654bbb6fea6
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Sep 1 11:11:28 2009 +0100
+
+ draw: remove unused variable
+
+commit 5e809216a8d2e7ad093a1d25f3f6495f29e57572
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 2 10:38:46 2009 -0600
+
+ Revert "mesa: fix the non-GNU C bit-field case"
+
+ This reverts commit 4b08e7498230eac30eea1721f33994b30999acd4.
+
+ Don't know what I was thinking there.
+
+commit 4b08e7498230eac30eea1721f33994b30999acd4
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 2 10:12:15 2009 -0600
+
+ mesa: fix the non-GNU C bit-field case
+
+commit d98b9f4edbbee1654b66c8df7b1deeb401b3dc5f
+Author: Gary Wong <gtw@gnu.org>
+Date: Wed Sep 2 10:11:15 2009 -0600
+
+ mesa: silence gcc bit-field warning
+
+commit a7a3d3c27144595b2134f4271996cba901938d12
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 2 09:43:00 2009 -0600
+
+ mesa: replace 8 with NUM_UNITS
+
+commit 8cb651578de8dc4c956eaa8c0e5f1d442a3d4a92
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 2 09:25:28 2009 -0600
+
+ mesa: remove accidentally committed printf
+
+commit 83e4470d9a3367883b3fe699629f1d8648459a89
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 2 08:45:34 2009 -0600
+
+ mesa: added #ifdef __GNUC__ around GLubyte bitfield usage
+
+ It would be nice if there were a #pragma or something to disable the warnings:
+
+ main/texenvprogram.c:87: warning: type of bit-field ‘Source’ is a GCC extension
+ main/texenvprogram.c:88: warning: type of bit-field ‘Operand’ is a GCC extension
+
+ but there doesn't appear to be a way to do that.
+
+commit a46e32787d98192d35bf2834011cfa5537e0e703
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Wed Sep 2 05:11:25 2009 -0700
+
+ mesa: Compact state key for TexEnv program cache
+
+ By rearranging the bitfields within the key we can reduce the size
+ of the key from 644 to 196 bytes, reducing the cost of both the
+ hashing and equality tests.
+
+commit c0cf0fd163397d68acfb2e226a6b9a569ded54cd
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Wed Sep 2 16:01:21 2009 +0200
+
+ st/xorg: Remove code no longer support by xserver Git master.
+
+ Shouldn't be necessary with older versions either.
+
+commit ea55f8ed8fc18245d74e04c0ae8e1a4911a37f26
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Wed Sep 2 16:00:30 2009 +0200
+
+ st/xorg: Add support for xserver Git master DRI2 interface.
+
+ Reorganize to handle both interfaces with common code.
+
+commit 0b26d97f4d48e5f7e5a4230a411e3a1d91928bb4
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Wed Sep 2 15:41:41 2009 +0200
+
+ st/dri: Slight consolidation of DRI2 buffer handling.
+
+ Always use / assume a combined depth/stencil buffer.
+
+ Also update drawable formats from surfaces returned by the driver.
+
+commit 385620e5ebcbd5ee1fb4eaf75083ea540ac53955
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Wed Sep 2 15:41:40 2009 +0200
+
+ st/xorg: Add EXA UploadToScreen and DownloadFromScreen hooks.
+
+commit 98a8744e02c5c1aa0c97c0265680f09f92a68818
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Wed Sep 2 13:27:25 2009 +0800
+
+ i965: CS FENCE in URB_FENCE is 11-bits wide
+
+commit f5539b6991e336aa1cf302dbdb1a29b3e85cff36
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Thu Aug 20 18:19:36 2009 +0800
+
+ i965: validate sf state
+
+commit 60b08eb1fdf287d28ec66b9282513ab35a61aee0
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Aug 31 10:13:22 2009 -0700
+
+ mesa: Make MultiDrawElements submit multiple primitives at once.
+
+ Previously, MultiDrawElements just called DrawElements a bunch of times.
+ By sending several primitives down the pipeline at once, we avoid a bunch
+ of validation. On my GL demo, this improves fps by 2.5% (+/- .41%) and
+ reduces CPU usage by 70.5% (+/- 2.9%) (n=3).
+
+ Reviewed by: Ian Romanick <ian.d.romanick@intel.com>
+
+commit a82cd55a5cb1ad617960551560b107edffad1e9a
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Wed Sep 2 12:03:42 2009 +1000
+
+ nv50: SWZ is the same as MOV from our perspective
+
+commit 282f578dbd790d7e5d7f371c51b72f116cda3934
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 1 17:40:07 2009 -0600
+
+ mesa: skip bitmap drawing code if width==0 or height==0
+
+commit 29e22059a927a6279d035cdb149b053f8a3e0bf4
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 1 17:12:47 2009 -0600
+
+ intel: use _mesa_expand_bitmap() to skip an intermediate buffer
+
+commit d5b6dd0001c90b896400e69067d21297d7601f32
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 1 17:11:59 2009 -0600
+
+ st/mesa: use new _mesa_expand_bitmap() function
+
+commit 278e76832fc26678592368b7b89bfddc137e0e93
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 1 17:11:35 2009 -0600
+
+ mesa: new _mesa_expand_bitmap() function
+
+commit 921bbfc94278d6897d44d1b6ae230315e2ab6e8c
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 1 16:26:03 2009 -0600
+
+ mesa: remove redundant assignments
+
+commit 457e427e32324884acb064b756e327dc131ff135
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 1 16:22:02 2009 -0600
+
+ mesa: more clean-ups
+
+commit 84d6bed4d6844110af23a995e2fad0280a92d46c
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 1 16:10:57 2009 -0600
+
+ mesa: change conditional to match the previous one
+
+commit 25e5a6f279cec0863dcc341805aa7ca71189b626
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 1 16:05:07 2009 -0600
+
+ mesa: updated #includes
+
+commit 95136694ab28829f75c0a9f955a79836a0c433c7
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 1 16:03:28 2009 -0600
+
+ mesa: remove unused texenv_fragment_program::ctx field
+
+commit 1480bcacfec8f215c5827278a5f984c6bf68ba69
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 1 16:01:12 2009 -0600
+
+ mesa: remove unused ureg::abs field
+
+commit c7ba2b8622d8a924b3ac4c7d94a3c19d12e88e03
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 1 15:58:49 2009 -0600
+
+ mesa: remove unused ureg:negateabs field
+
+commit 9ed0315271c38f5fe9cdd65020a54cbb7f61ed2b
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 1 15:57:36 2009 -0600
+
+ mesa: more comments, clean-ups
+
+commit b5ec0a68589c5d8f0d4be2556ea6d6b01fd4e37d
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 1 15:51:23 2009 -0600
+
+ mesa: simplify translate_tex_src_bit()
+
+commit f337e2c4954b4779dcf2c2b4e0e068cb3ed7b841
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 1 15:49:55 2009 -0600
+
+ mesa: minor code clean-ups, comments
+
+commit d55a28e3dc712342e4a2f25aa9b661add7461e82
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 1 15:34:16 2009 -0600
+
+ mesa: replace 8 with MAX_TEXTURE_UNITS
+
+commit 51334d840112557d7351b53be1208cb228add2cf
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 1 12:43:23 2009 -0600
+
+ dri: remove unused meta_clear_tris()
+
+commit c2542cdaffbd9b77ce0a710553d78834c04c4820
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 1 12:41:32 2009 -0600
+
+ intel: use BUFFER_BITS_COLOR
+
+commit 5353961344dd75f839cfee50f226497171725cce
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 1 12:39:30 2009 -0600
+
+ intel: fix incorrect parameter type for intel_bufferobj_map_range()
+
+commit 85d35623859135fa6c6875be52b5c13a8d3263ba
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 1 12:32:01 2009 -0600
+
+ radeon: trim down #includes
+
+commit 18916986b4a7155e3cba2efb5dfd79dc561cfa41
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 1 12:28:48 2009 -0600
+
+ radeon: use _mesa_meta_clear()
+
+commit 92d63931e2c42ececaec33f68e1bc388764dd62e
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 1 12:24:30 2009 -0600
+
+ mesa: obey stencil write mask in _mesa_meta_draw_pixels()
+
+commit a1e869b417745175e82377934619231363b1caba
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 1 12:23:52 2009 -0600
+
+ intel: set Length/Offset fields in intel_bufferobj_map()
+
+commit 15e6d08670eeaf843ae3d6e557d595da750a5e99
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 1 12:23:01 2009 -0600
+
+ intel: use _mesa_meta_copy_pixels() when do_blit_copypixels() fails
+
+ Also, trim down #includes.
+
+commit be229d24c4902b42b22e4533ad58c92a4fb11b05
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 1 12:18:55 2009 -0600
+
+ intel: trim down #includes
+
+commit 886a0a715076213266b4f96118d15de5be2bff27
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 1 12:16:13 2009 -0600
+
+ intel: use _mesa_meta_draw_pixels()
+
+ The textured quad path is slightly faster and will work with POT textures
+ on i945.
+
+commit 90cba4a8398bd0eacf4d17573732bec760cbd7c3
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 1 12:07:52 2009 -0600
+
+ intel: trim down #includes
+
+commit 50d8b295f6c950da3b8783ff6e1803bdfbb5c7cc
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 1 12:05:41 2009 -0600
+
+ intel: use _mesa_meta_clear(), it's a bit faster
+
+commit 06bf6628aabd6744ebf4268319eba4a1d377ffe2
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Wed Sep 2 02:03:13 2009 +0300
+
+ radeon: Fix OQ to set ful lstate as dirty too.
+
+commit 9f650e19dda3809e87c838b50b39669ea844a3b1
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Wed Sep 2 01:28:46 2009 +0300
+
+ radeon: Fix debug output to filter out less critical messages instead of more critical.
+
+commit 7e4487ad5c1dcaa77df980bd6ef598ee880dc1c4
+Author: Zack Rusin <zackr@vmware.com>
+Date: Tue Sep 1 19:01:05 2009 -0400
+
+ st/xorg: getting indexes right tends to be helpful
+
+commit 5c746d9214b72c181aa80f09aa527542e5b2f213
+Author: Zack Rusin <zackr@vmware.com>
+Date: Tue Sep 1 18:59:01 2009 -0400
+
+ st/xorg: redo the vertex shader
+
+commit a8cbb1563213086f58d3b82b6d0755a59eb43c79
+Author: Zack Rusin <zackr@vmware.com>
+Date: Tue Sep 1 17:49:32 2009 -0400
+
+ st/xorg: setup solid fills
+
+commit 811aa02c7a0f4804189a8978395f07d27fb726ec
+Author: Zack Rusin <zackr@vmware.com>
+Date: Tue Sep 1 14:43:59 2009 -0400
+
+ st/xorg: fold back the helper function into core
+
+commit 91c366359ce0bf5f450fd1d774b771c95ed2f651
+Author: Zack Rusin <zackr@vmware.com>
+Date: Tue Sep 1 14:43:04 2009 -0400
+
+ st/xorg: start rendering and compositing pictures
+
+commit 847bc5c852214a344b6b39c619d182cb1058ecbc
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Tue Sep 1 11:10:05 2009 -0700
+
+ ARB prog parser: Fix handling of stateOptModMatNum
+
+ The optional array index should clearly be enclosed in square
+ brackets. This helps the oglconform test vp_binding.c get a bit
+ farther, but it still fails.
+
+commit b3f4b56a3b7f979c631358caefed635c6ec56453
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Sep 1 17:29:24 2009 +0100
+
+ tgsi: remove redundant CND0 opcode
+
+ Can be implemented with CMP src2, src1, src0
+
+commit d9b7d7875b0c114d2fa4956b2bffbe809e5b5a44
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 1 08:53:31 2009 -0600
+
+ progs/tests: re-enable exit() call
+
+ See bug 21267.
+
+commit 836a9f0ae6e03d2f92dc024703015c25a5b3c353
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Sep 1 12:22:52 2009 +0100
+
+ scons: Tool for LLVM. Gracefully disable llvmpipe if LLVM not found.
+
+commit 8c3f622a34fd9ecebbe3562aa803780bf1c82c9f
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Sep 1 11:56:14 2009 +0200
+
+ trace: Don't set surface_[fill|copy] if not set on pipe
+
+commit 165e87c49180380b67b096211b4c5f9670e3020a
+Author: Cooper Yuan <cooperyuan@gmail.com>
+Date: Tue Sep 1 17:59:03 2009 +0800
+
+ r300g: Fix clear issue on r300
+
+commit 7d361537661b93a501c9533271458a41b965ea79
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Sep 1 16:04:39 2009 +1000
+
+ radeon: fix r100/r200 polygon stipple under kms
+
+ There really need to use state emits under kms, otherwise
+ we end up with some dwords in the command buffer before we've
+ ever emitted any useful state.
+
+ Signed-off-by: Dave Airlie <airlied@redhat.com>
+
+commit a2bd13fec9ac2bd77ee21cb85a636fde80ce0368
+Author: Dave Airlie <airlied@itt42.(none)>
+Date: Tue Sep 1 15:18:17 2009 +1000
+
+ r100: fixup cubemap domains
+
+commit ae5d78198f35941046b238712d70091cb94be44e
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 31 21:14:50 2009 -0600
+
+ xlib: plug in more meta functions, if TEST_META_FUNCS is set
+
+commit 056612241ae8f8bc836ab78705a154a6d6477e0f
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 31 21:13:41 2009 -0600
+
+ mesa: implement GL_DEPTH_BUFFER_BIT for _mesa_meta_blit_framebuffer()
+
+commit 7a78e6e8af50f1254a6d9d1d8746a7b10add9668
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 31 20:25:10 2009 -0600
+
+ mesa: disable another debug test
+
+commit 5b0f7c6c3bbef1354725b0231c80509d880a40fe
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 31 19:49:40 2009 -0600
+
+ mesa: make verts[] arrays local vars
+
+commit 97aa3d553f73d955a5c3eced33384348158307a7
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Sep 1 12:15:32 2009 +1000
+
+ r200: emit cube for kms correctly + fix tex emit reset
+
+ CS checker found some issues.
+
+commit 8126dfa9c24c972794193bf652d6d09a1d01b376
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 31 19:29:24 2009 -0600
+
+ xlib: option to enable/test meta functions (disabled)
+
+commit 1fc713a1e78278e7b62bd5d8e11ac5c0093677bf
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 31 19:28:11 2009 -0600
+
+ mesa: implement depth/stencil formats for meta glDrawPixels
+
+commit 9c41931c0fbfc108eeba0af18db29a24b394d091
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 31 19:27:42 2009 -0600
+
+ mesa: remove accidentally commited debug/disabled code
+
+commit 10d81f466794c61c11225c94b2125bf2dd23748e
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 31 19:26:00 2009 -0600
+
+ mesa: added _mesa_is_stencil_format()
+
+commit d762b5459be63b46b280a11847c9b1f2a7015e52
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 31 17:56:41 2009 -0600
+
+ progs/samples: added test/debug code for culling
+
+commit a1d3855fb0c3969a32825d0b899076917d5ccce6
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 31 17:54:46 2009 -0600
+
+ swrast: fix selection/feedback regression
+
+ This fixes a conform selection/feedback regression introduced by commit
+ 8f4d66c5f893b49eb3973aa3b31a856314c045c7
+
+commit c0633ddabbcc91dcf06fd4452eb7516c624752c0
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 31 14:57:59 2009 -0600
+
+ mesa: debug printf for KIL
+
+commit b3232e9280ff7104d68b7e4f229604f574a4e37a
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 31 14:56:34 2009 -0600
+
+ progs/tests: disable depth test for second glDrawPixels
+
+ We don't want to z-test that glDrawPixels. Also, set the raster color to
+ red when drawing GL_DEPTH_COMPONENT image to aid in debugging.
+
+commit 18656201ef62da1892d66e0899001ae82e2555c2
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 31 13:28:31 2009 -0600
+
+ swrast: can't use deferred texture/shading if using KIL instruction
+
+ If the fragment program uses KIL, we have to execute it before z/stencil
+ testing. Otherwise, deferred texture/shading lets us skip shading for
+ pixels that fail z/stencil testing.
+
+commit 31a5a9e9cc943ae38077658302e43c05b80983d7
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Sep 1 10:50:40 2009 +1000
+
+ r300/compiler: fix warning due to no newline
+
+commit e3a17904ddf5af6425efaa926a17813e59e7ce83
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Sep 1 10:12:20 2009 +1000
+
+ r200: emit max vtx info for index buffer.
+
+ We need this for the CS bounds checking.
+
+commit 3f785080db33d437893564dded325452770699be
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 31 17:54:46 2009 -0600
+
+ swrast: fix selection/feedback regression
+
+ This fixes a conform selection/feedback regression introduced by commit
+ 8f4d66c5f893b49eb3973aa3b31a856314c045c7
+
+commit 935e4c56e5b10a0a702d95f78e9f4e6660c452dc
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Tue Sep 1 00:42:39 2009 +0100
+
+ i915g: Implement new winsys
+
+commit d2110064c2075a8537d4b7f87ba894ebaa6ccb33
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Sun Aug 30 20:49:01 2009 +0100
+
+ i915g: Switch from pipe_winsys to intel_winsys
+
+ Also includes moving lots of functions from i915_batch.h
+ into intel_batchbuffer.h
+
+commit dd040753d7703ac5edbf1aeb336c0093862a2486
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Sun Aug 30 18:30:35 2009 +0100
+
+ i915g: Add header file for new winsys interface
+
+commit 105e4b093e28d6cd9e8ec2db9dbc23980d265796
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Sun Aug 30 16:26:01 2009 +0100
+
+ i915g: Add new buffer code not yet hocked up
+
+commit 7b32da0b11a769be057cdd3e619d582b433bbb0e
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Tue Sep 1 00:24:53 2009 +0100
+
+ st/xorg: Fix crash in MPH
+
+commit c4a3e036ed1c755a291018251c4f55c45ac17079
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Tue Sep 1 00:39:20 2009 +0300
+
+ radeon: Fix null pointer reference in debug system if no context is bind.
+
+commit fcf0804c05faefd196ed5525c068ee4cd30c5312
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 31 13:28:31 2009 -0600
+
+ swrast: can't use deferred texture/shading if using KIL instruction
+
+ If the fragment program uses KIL, we have to execute it before z/stencil
+ testing. Otherwise, deferred texture/shading lets us skip shading for
+ pixels that fail z/stencil testing.
+
+commit d028cf9313aa0d2c43566acec4bbf4f6167f060e
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Mon Aug 31 20:44:11 2009 +0300
+
+ r600: Add more trace debug output to rendering pipeline.
+
+commit fde929c4fdee2e998542f071ff7165d87f572593
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Mon Aug 31 20:25:33 2009 +0300
+
+ radeon: Add support for indenting debug output.
+
+ Indetion can be used to make it easier to read debug code when sections of debug output are indented.
+
+commit 7870edc778338556a65a4d4167d20ad01d6a1995
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Sun Aug 30 23:58:45 2009 +0300
+
+ radeon: Add comment warning about not choosing critical debug level.
+
+commit 6c963fbdd1c9a8a2c2efe87598bfbf0485c036fb
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Sun Aug 30 23:46:58 2009 +0300
+
+ radeon: Change default debug level to verbose.
+
+ Verbose is a lot better for developement but we should considre changing it to normal in stable branch.
+
+commit 012e990160edcd0f233b43a39f6efdd34a6ca194
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Sun Aug 30 23:39:15 2009 +0300
+
+ r300: Convert to shared debug code.
+
+commit 239105c6c87da0b0c5c15ae54b19fe39492b0f29
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Sun Aug 30 23:06:05 2009 +0300
+
+ r200: Convert r200 to use new style debug code.
+
+ Only very few places where realy converted so there isa lot of to do.
+
+commit aabb36fdd58ff891e3a0946e2326d458f5a4d832
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Sun Aug 30 22:08:38 2009 +0300
+
+ r600: Convert to shared debug code and add a few new debug messages.
+
+ There is only a few functions that have debugging enabled now.
+
+commit fe62e4c3ff13888a85274c23b88354777760401e
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Sun Aug 30 22:07:49 2009 +0300
+
+ radeon: Make OQ to use new style debugging.
+
+commit b6ebcf8156c4735c2e96e5aad26c3a8dc29f50a6
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Sun Aug 30 22:07:13 2009 +0300
+
+ radeon: Add gcc attribute to enable pritnf format warnings.
+
+commit 4e0d99a63588c67a955f797733da32d04e6f4ee6
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Sun Aug 30 19:44:16 2009 +0300
+
+ r100: Use shared debug code.
+
+ Converted r100 to use shared debug code with sed and fast compile check. New
+ code has compability layer so old debugging code doesn't have to be changed
+ all immidiatly.
+
+commit f9a4a0a9710c23a2041673eec290ff2f9260cbd0
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Sun Aug 30 16:48:33 2009 +0300
+
+ radeon: Add common debugging functions.
+
+ These function are aiming to make it very simple to add and keep large amount
+ of debugging code without having runtime impact in relase builds. Basic idea
+ is to expose simple printf style debugging functions that are inlined.
+
+ Level parameter will be evalueted in compile time so compiler can optimise
+ some of debugging functions out if compile time request for debug level is too
+ tight.
+
+commit a5e7003565a021ceb82a8b16f4a0ecc7cc6c02e0
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 31 11:17:59 2009 -0600
+
+ mesa: added const qualifiers, move local var
+
+commit 956e6c3978abe918348377cf05e5c92971e50d3f
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 31 11:14:16 2009 -0600
+
+ mesa: fix saturation logic in emit_texenv()
+
+ We need to clamp/saturate after each texenv stage, not just the last one.
+ Fixes glean texEnv failure for softpipe (and probably other fragment program-
+ based drivers).
+
+commit aca8dbcaa692c5903ae73aacd6fe7272d23f0f03
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 31 10:32:56 2009 -0600
+
+ docs: fixed glXCreateGLXPixmap() for direct rendering
+
+commit 1d64a4ceb309949a4ce71f93f86a37ef2d2943c6
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 31 10:31:45 2009 -0600
+
+ docs/: document cross-compile fix
+
+commit c705e7238292d6c534d18dddcc03ecc6a24a5d66
+Author: Marc Dietrich <marvin24@gmx.de>
+Date: Mon Aug 31 08:56:33 2009 -0700
+
+ mesa: fix 32bit cross compilation on a 64bit machine
+
+ When cross compiling on a 64bit machine, gen_matypes.c is build
+ for the host machine (64bit) but must generates code for the target
+ machine (32bit). This causes wrong offsets all over the place and
+ crashes googleearth on my machine. Solution is to add -m32 when
+ cross compiling.
+
+ Attached patch is compatible with linux-x86-32 and autoconf based
+ builds.
+
+commit f315c0128b5f6317f910f6c54119fea97256254c
+Author: Zack Rusin <zackr@vmware.com>
+Date: Fri Aug 28 17:19:23 2009 -0400
+
+ st/xorg: add code to render textured quads for composite acceleration
+
+commit 9ccbadb22d74c649a634c515cd1123fe96781357
+Author: Zack Rusin <zackr@vmware.com>
+Date: Fri Aug 28 16:43:21 2009 -0400
+
+ st/xorg: setup constant buffers for vertex and fragment shaders
+
+commit 9f36473a8ecc9c3358ae99651f511725344f22cc
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 31 11:17:59 2009 -0600
+
+ mesa: added const qualifiers, move local var
+
+commit 2241665dc6d77a992edfc49a9d9d9ed8d1b52e60
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 31 11:14:16 2009 -0600
+
+ mesa: fix saturation logic in emit_texenv()
+
+ We need to clamp/saturate after each texenv stage, not just the last one.
+ Fixes glean texEnv failure for softpipe (and probably other fragment program-
+ based drivers).
+
+commit 3c3ad915d831a962b284da42659ad15bcadcffa1
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Mon Aug 31 18:41:54 2009 +0200
+
+ st/xorg: Re-organize the EXA ModifyPixmapHeader hook a bit.
+
+ This should also handle the case where the pixmap is backed by a (different)
+ texture before and afterwards.
+
+commit 40e3148a81f93f590c7400b00a6c2d536a2258b0
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Mon Aug 31 18:41:54 2009 +0200
+
+ st/xorg: Simplify EXA ModifyPixmapHeader hook for pPixmap != NULL.
+
+ Just let the upper layers handle it.
+
+commit 366efd8c4b69e8ec1b6f4ec5ba5df54e6574f8f1
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Mon Aug 31 18:41:53 2009 +0200
+
+ st/xorg: Don't always fall back for solid fills.
+
+commit 6bf86681f5903a06f98cc32ddf5715706de97c4a
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 31 10:32:56 2009 -0600
+
+ docs: fixed glXCreateGLXPixmap() for direct rendering
+
+commit f7654faf16431d9749fa9f3a8720b4b7fc5c8445
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 31 10:31:45 2009 -0600
+
+ docs/: document cross-compile fix
+
+commit a48ee529a256611676884262ced218ad6c05f961
+Author: Marc Dietrich <marvin24@gmx.de>
+Date: Mon Aug 31 08:56:33 2009 -0700
+
+ mesa: fix 32bit cross compilation on a 64bit machine
+
+ When cross compiling on a 64bit machine, gen_matypes.c is build
+ for the host machine (64bit) but must generates code for the target
+ machine (32bit). This causes wrong offsets all over the place and
+ crashes googleearth on my machine. Solution is to add -m32 when
+ cross compiling.
+
+ Attached patch is compatible with linux-x86-32 and autoconf based
+ builds.
+
+commit 1b1673fa63b1ac66cf188711ab8421a73dde1724
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Mon Aug 31 12:18:44 2009 -0400
+
+ r600: add missing r7xx pci id
+
+commit 5f7b46ae5fc7854ec68f7003c2a69672c19b3464
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Sun Aug 30 20:25:17 2009 +0100
+
+ i915g: Reorg texture layout code
+
+commit 761c8c7076f23e044fcbc9987c95d5178482e846
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Sun Aug 30 19:31:14 2009 +0100
+
+ i915g: Move transfer functions into i915_texture.c
+
+commit 5374aff56f1ebd161f11b5469f7427ea73c09a41
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Sun Aug 30 19:20:45 2009 +0100
+
+ i915g: Reorg texture code a bit
+
+commit f26065215317b1d320d11f636c65d4903788b431
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Sun Aug 30 17:45:47 2009 +0100
+
+ i915g: Don't use winsys directly in the driver
+
+commit bd0c51874f6dc7610b87d55c182b696517358dbe
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Mon Aug 31 00:36:24 2009 +0100
+
+ i915g: Cleanup i915_prim_vbuf.c
+
+commit 1bb3a2c648e0d6feea12bfff7f739159339f034a
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Sun Aug 30 21:10:36 2009 +0100
+
+ i915g: Cleanup i915_screen.[c|h]
+
+commit 1b5f46a3b8d1d1ffa7cbb60b557deb8c2c448a3a
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Sun Aug 30 21:03:43 2009 +0100
+
+ i915g: Cleanup i915_context.c
+
+commit 7864b0e717755a26688891195e85a62714d50baa
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Sun Aug 30 20:41:00 2009 +0100
+
+ i915g: Cleanup i915_blit.[c|h]
+
+commit 5d929366aac54e815e1ecacd7349700989d76b03
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Sun Aug 30 15:42:10 2009 +0100
+
+ i915g: Cleanup i915_state_emit.c
+
+commit 00b07280948fc7608fdede4be73c504499247f17
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Sun Aug 30 13:57:37 2009 +0100
+
+ i915g: Cleanup i915_texture.c
+
+commit 4224bda684aaee92d27e09c5545a7094cda0ae76
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Sat Aug 29 22:02:49 2009 +0100
+
+ i915g: Cleanup texture init functions a bit
+
+commit e1741dbe45ef1f43432457fab088275ecf953d17
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Sat Aug 29 11:46:46 2009 +0100
+
+ i915g: Rename pipe field on context to base
+
+commit ad25d450ec2a0f04f628c58f89fe9f2c7b4d3bf3
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Sat Aug 29 11:32:32 2009 +0100
+
+ i915g: Rename screen field on screen to base
+
+commit 2b6ab615a42bd162b4a870218a5951ca32416c20
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 31 09:12:04 2009 -0600
+
+ mesa: set additional fields in _mesa_buffer_map_range()
+
+commit d1da8acd82190542cef7ffea41517974c0c9cc25
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 31 09:05:28 2009 -0600
+
+ mesa: set Length/Offset fields in _mesa_buffer_map()
+
+commit 822c7964819ca1fcc270880d4ca8b3de8a4276d0
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 31 08:59:38 2009 -0600
+
+ mesa: additional assertions for ctx->Driver.UnmapBuffer()
+
+ The Pointer, Offset and Lenght fields should be cleared by the driver function
+ since ctx->Driver.Unmap() may be called from VBO code, etc.
+
+commit 28c159d61461dab0963860725b77fc56566838fa
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 31 09:01:21 2009 -0600
+
+ intel: clear buffer fields in intel_bufferobj_unmap()
+
+commit 92033a9516942d7272ce4bf36ecd422009bbaf60
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 31 08:50:15 2009 -0600
+
+ mesa: new assertions, comments about buffer mapping
+
+ Since ctx->Driver.MapBuffer() and ctx->Driver.MapBufferRange() may be called
+ from other places in Mesa (such as VBO) it's important that the driver
+ callbacks set all the buffer object fields properly (Pointer, Offset, Length,
+ etc). Add assertions to make sure that the driver does that.
+
+commit c69a4dce75d5282fc88f76da5ac0d27e65012727
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 31 08:49:22 2009 -0600
+
+ st/mesa: fix obj->Pointer offset in st_bufferobj_map_range()
+
+ This fixes a bunch of gallium regressions since
+ commit 8096aa521369c3bcf5226c060efa6dd06e48ddc8
+
+commit 241c3a1d8001fc5a30e2af4b4636b48e6f99690a
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Aug 31 10:22:36 2009 +0100
+
+ llvmpipe: Fallback to element-wise comparisons when no comparison intrinsic is available.
+
+ Although selection of vector elements is valid LLVM IR, no machine target
+ supports it yet.
+
+ This is a last-resort option, but it allows llvmpipe to be used on any
+ target supported by LLVM without modifications. Obviously better
+ performance is attainable by emitting SIMD intrinsics where otherwise
+ LLVM doesn't.
+
+commit 45fb66ab7bc1cbb150e055826dc61b542739cc35
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Aug 31 10:00:38 2009 +0100
+
+ llvmpipe: In the abcense of a min/max intrinsic, use the comparison intrinsics.
+
+commit b995af25d073df7101ec6caba207ad3131281725
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Aug 31 09:33:41 2009 +0100
+
+ llvmpipe: Actually commit lp_buffer.[ch].
+
+ Thanks Michel.
+
+commit 9f0495aa765ae53b877b1e7fdffba70f4ee1a056
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Mon Aug 31 10:22:19 2009 +0200
+
+ Gallium xlib: Add support for BGRA visuals.
+
+commit 1ea114958baba14ff3bcac1d92bb6acf93289e59
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Mon Aug 31 13:14:23 2009 +1000
+
+ nouveau: fix for dri state tracker changes
+
+commit 02f32454487f2caba00931590254260d871ae795
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Mon Aug 31 13:00:34 2009 +1000
+
+ nouveau: introduce nouveau_miptree common to all nouveau pipe drivers
+
+ The winsys once again has to know about textures it seems, so we need a
+ common representation between all our pipe drivers to store some
+ information the winsys will need.
+
+ Only the nv50 driver has been fixed so far.
+
+commit 500b2604947cfe99f38119d9e3860fcf5ba8d499
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Mon Aug 31 12:55:56 2009 +1000
+
+ nouveau: hack winsys to compile again, it's broken still however
+
+commit a192da37ed2b8e7c9cc1525687233ad59611a3f8
+Author: Marc Dietrich <marvin24@gmx.de>
+Date: Sun Aug 30 09:24:27 2009 -0600
+
+ cell: fix compilation
+
+commit d6b8664e3cd37c081cb1dd3d6cd5ffdac1813dac
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Aug 30 09:21:20 2009 -0600
+
+ swrast: minor code consolidation
+
+commit 04f8193aadaf3f70b2ab37a26546b9cef1047887
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Aug 30 09:15:24 2009 -0600
+
+ mesa: consolidate texture-related code in meta.c
+
+ Also, allow using texture rectangles, NPOT textures or regular POT textures
+ (preferred in that order).
+
+commit 7dd6fa12e12a0588026da4d7f4d11ba6056fc5c2
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 28 08:55:20 2009 -0600
+
+ progs/util: minor updates to glutskel.c
+
+commit a068e098e275fc5d2aba309165263834f429143e
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 27 14:34:21 2009 -0600
+
+ intel: use more efficient loop over buffers
+
+commit 0243f79eac707cb2209346b0be2f7b67ce6efdf8
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 27 14:47:24 2009 -0600
+
+ mesa: avoid redundant viewport changes in meta code
+
+commit c28f253ac26e2d5a8cc7befa35e754515d4510dd
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Aug 30 12:36:03 2009 +0100
+
+ llvmpipe: Texture cache in 4 ubytes instead of 4 floats.
+
+ This is more a short term experiment than a long term commitment, as we'll
+ need to support higher precision textures too, as this will all be
+ be replaced by runtime generated code.
+
+ With this change most Mesa demos fps increased around 10%. Not a huge
+ improvement, but not a negligible one either.
+
+commit 62b586fce43ac117dcb553baa1fe884053fdef12
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Aug 30 12:10:24 2009 +0100
+
+ llvmpipe: Use util_format_read_4f to read texture tiles.
+
+commit ffe1b7bad82726da44bf91bd61ca62e5cf6645de
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Aug 30 12:03:49 2009 +0100
+
+ llvmpipe: Texture cache is read-only. No need to flush.
+
+commit 3d305243938980af520c6d3e0ce02f4ee3a6126c
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Aug 30 12:02:36 2009 +0100
+
+ util: Auto generate pixel format accessor functions from
+
+ This has several advantages over the u_
+ - not hand written
+ - no intermediate memcpy of raw pixels
+ - supports 4 ubytes in addition to floats
+ - no need to pass a pipe_transfer
+
+ It also has (hopefully temporary) limitations:
+ - no support for YUV
+ - no support for SRGB
+
+commit 379304a72cf332e2d570b13663bb447ec7a12940
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Aug 29 20:34:01 2009 +0100
+
+ llvmpipe: Eliminate internal pipe_buffer_map/unmap usage.
+
+commit d336ef410afddfdfb665dae7001c2995e2d2a70d
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Aug 29 20:33:28 2009 +0100
+
+ xlib: Implement lp_winsys::destroy.
+
+commit 9053bb0d405db0b1a2a917317c7ec41e63b54f09
+Merge: 3c1172f edb1178
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Sun Aug 30 13:06:18 2009 +0200
+
+ Merge branch 'mesa_7_5_branch'
+
+ Conflicts:
+ src/glx/x11/glxcmds.c
+
+commit edb117879846155632aaeb66483a3085c7a78815
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Sun Aug 30 12:43:37 2009 +0200
+
+ glx/x11: Fix glXCreateGLXPixmap for direct rendering.
+
+ Fixes progs/xdemos/glxpixmap modified to use direct rendering.
+
+commit 3c1172f06636ff4aec24a6c68df937844da73a53
+Author: Eric Anholt <eric@anholt.net>
+Date: Sat Aug 29 13:23:58 2009 -0700
+
+ i965: Fix segfault with ARB_oq CheckQuery when results are already fetched.
+
+commit 09549704c6579aae2506891d4e9d1c258eab95db
+Author: Eric Anholt <eric@anholt.net>
+Date: Sat Aug 29 13:21:07 2009 -0700
+
+ i965: Support PROGRAM_ENV_PARAMs in brw_vs_emit.c
+
+commit c9adb4c9cb7a750134fea3ab096fe8c5bd2ac09f
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Aug 29 20:07:53 2009 +0100
+
+ llvmpipe: List lp_buffer.c in the Makefile.
+
+commit 85a0a4b2965560f279a6d7bd96c2b56dc54130bc
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Aug 29 20:02:47 2009 +0100
+
+ xlib: Implement llvmpipe lp_winsys interface.
+
+commit e173a9bbd64dc38dba6b881ed7a9faea02861042
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Aug 29 20:02:25 2009 +0100
+
+ llvmpipe: Define an winsys for LLVM. Drop pipe_winsys
+
+ lp_winsys will eventually be unified with softpipe's eventually, but we
+ are free to move quicker since we don't have the myriad of users yet.
+
+ Will provide a pipe_winsys adaptor from Keith's softpipe-private-winsys
+ soon.
+
+commit e48dc9c5edb0f001bf7252ee2294d36707aa066c
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Sat Aug 29 21:04:40 2009 +0300
+
+ r300: Disable threshold register for KMS.
+
+ Kernel side doesn't have required register in safe list so can't send it kernel.
+
+commit 9c0ab1fa850fdbc8a64a29c1e996579dabc84bdc
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Sat Aug 29 21:00:21 2009 +0300
+
+ r300: Swtcl prediction was still missing scissors.
+
+ All that state stuff should really be in state atoms :/
+
+commit 32df8922a9eebf64f6bace532a21b305eacc4938
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Sat Aug 29 18:38:30 2009 +0300
+
+ r300: Add missing pre_emit_count to swtcl state size prediction.
+
+commit 8313801911426a9a7b0bdbf2d6a4b2232428cc5b
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Sat Aug 29 17:22:12 2009 +0200
+
+ nv50: set provoking vertex state
+
+commit da1248bee5471f8da2277118a23b53d308721fca
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Aug 29 09:18:19 2009 +0100
+
+ xlib: Update llvmpipe integration for changes in master.
+
+commit f04ce6276b64f24cf26ca522f012a1e1a28937fe
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Aug 29 09:17:51 2009 +0100
+
+ llvmpipe: Update for changes in master.
+
+commit 6818eb9b90a07a357c0399b646bf641404969e2c
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Aug 29 09:16:02 2009 +0100
+
+ mesa: Update sconscript for new ARB/FP assembler.
+
+commit fdb3e75f7e796d88c8e3cd478e2830754116baf0
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Aug 29 09:15:10 2009 +0100
+
+ util: Add util_unsigned_logbase2.
+
+ Cherry picked from Keith's commit f911c3b9897b90132c8621a72bfeb824eb3b01e5.
+
+commit c40eddd294abfe8af3619d08ccd7e9c8f1660fcb
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Aug 25 08:05:31 2009 +0100
+
+ llvmpipe: Isolate sampling from TGSI translation.
+
+commit d4806c64a23b8dfc58313b54e607f6c3cd8ae5ff
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Aug 25 06:40:22 2009 +0100
+
+ llvmpipe: Better structure dereference naming.
+
+commit 8aa62cead71b4d06e49fccf02405c1ce649186fd
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Aug 24 15:55:15 2009 +0100
+
+ llvmpipe: Fix shader variant key construction.
+
+ Fixes the blank screen on non-64bit mode.
+
+commit 1e6cc1cf3728f715eb9c63c942b09fe42570cfc2
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Aug 24 14:56:51 2009 +0100
+
+ llvmpipe: Fix build.
+
+commit f311bacebd167651e5be3bb3cef14fdfb6e1d925
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Aug 23 14:25:31 2009 +0100
+
+ llvmpipe: Merge all pixel format related files.
+
+commit f85c5f8621382ba1c8baa1582d87b46b388258d2
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Aug 23 12:28:34 2009 +0100
+
+ llvmpipe: Factor out and optimize the input interpolation.
+
+ Special attention is given to the interpolation of side by side quads.
+ Multiplications are made only for the first quad. Interpolation of
+ inputs for posterior quads are done exclusively with additions, and
+ perspective divide if necessary.
+
+commit 03180dca7a3b5d57100158eb06d00419e55d9dc8
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Aug 23 07:55:29 2009 +0100
+
+ llvmpipe: Pre-declare fetch_texel.
+
+commit 635c37e118bbf51fc8c93a2c999281ee817a93e1
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Aug 23 07:38:41 2009 +0100
+
+ llvmpipe: Pass the alpha ref value and blend color in the jit context.
+
+commit c022e15d1e56ba3a9c6b74eef6556d6063e2e322
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Aug 23 06:35:09 2009 +0100
+
+ llvmpipe: Pass fragment context to generated function in a single structure.
+
+commit 8c7c108d712f17a5f307b9c8914b4abc4d5f148e
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Aug 23 06:18:28 2009 +0100
+
+ llvmpipe: Structure manipulation helpers.
+
+commit 08dd41fd6899bd6b3289d30dc31f8b2998406889
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Aug 23 05:52:20 2009 +0100
+
+ llvmpipe: Centralize the C <-> JIT interfaces in one place.
+
+commit 97b4681d7e1ccf40d1584436ade7c70fc1893e27
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Aug 22 23:30:28 2009 +0100
+
+ llvmpipe: Drop blend derived state.
+
+ Already included in the fragment shader.
+
+commit 04de13b9cd0bd43c5cdcb3afab8e2c1c5a42aa33
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Sun Aug 23 12:07:36 2009 +0100
+
+ llvmpipe: keep texture stride 16byte aligned
+
+ Fixes crash when resizing gears window.
+
+commit 4d2b0eb19e432f83845a55d552b5d1d61f040459
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Aug 22 23:01:58 2009 +0100
+
+ llvmpipe: Squash the quad pipeline.
+
+ It had been reduced to one fixed stage.
+
+commit 77b35dc179473afbbd8c709c9f32c0f537c90776
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Aug 22 22:30:03 2009 +0100
+
+ llvmpipe: s/uni/scalar/.
+
+ More obvious name.
+
+commit 5811ed87d732101ab8cfbd087bc99d8c6c963f30
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Aug 22 22:26:55 2009 +0100
+
+ llvmpipe: Add a bunch of comments.
+
+ Description/rationale/to-do items, while I still remember them...
+
+commit 3f36f4b0519f7a568d6de9919de1001880ab5c8a
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Aug 22 19:07:56 2009 +0100
+
+ llvmpipe: Split off vs stuff from lp_state_fs.c.
+
+ lp_state_fs.c is already too big without it.
+
+commit c3b7406667c4bda68026a652aca54224e8f80da3
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Aug 22 16:04:21 2009 +0100
+
+ llvmpipe: Avoid duplicate clamping when converting between types.
+
+commit 98971802798354cdba45c421cc340ec938143e03
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Aug 22 12:39:44 2009 +0100
+
+ llvmpipe: Generate the fragment pipeline into a single function.
+
+ Still hackish. Will document and optimize later.
+
+commit 64cc71167f986f6cd29abb228295cf6441b07832
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Aug 22 12:37:12 2009 +0100
+
+ llvmpipe: Get conversions working correctly for all integer types.
+
+commit 53f9a1180ef5a24cd8ffe235e716a9061a129bb3
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Aug 21 19:11:50 2009 +0100
+
+ llvmpipe: Delete the quad polygon stipple stage.
+
+ Not used now -- stipple done by the draw module. May code generate later.
+
+commit 3d7a88674f9eb3320eeff511968f041426e25023
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Aug 21 13:49:10 2009 +0100
+
+ llvmpipe: Early depth testing.
+
+commit 90b5df8d1bbba9b11372d57e524586f28119c06f
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Aug 21 13:42:19 2009 +0100
+
+ llvmpipe: Disassemble beyond referred code beyond the RET instruction.
+
+commit c5531f575b85e39a63578cd48f70193a4888cfb5
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Aug 21 10:57:48 2009 +0100
+
+ llvmpipe: Split control flow function declarations and notes.
+
+commit 1e4376a68fae2156018d2e3423df521c6db70013
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Aug 21 10:27:46 2009 +0100
+
+ llvmpipe: Back port recent softpipe-opt improvements from Keith.
+
+commit f10ee9a0a1f75dfbf4f2ed1407b55a2511b61a48
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Aug 21 09:51:44 2009 +0100
+
+ llvmpipe: Don't limit the number of tiles in the cache.
+
+commit 87c383a2e5cbd026966e29c4a869617d4d4da255
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Aug 21 09:00:47 2009 +0100
+
+ llvmpipe: Clean dead tile cache code.
+
+commit e3baeb3f14bd8b393baa142e6cd9cfe0931a2f3d
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Aug 21 08:55:50 2009 +0100
+
+ llvmpipe: Simplify tile clears. Use pipe_fill_rect instead of scratch tile.
+
+commit d94fbb4a488986185836464ea28629f8d519f6f5
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Aug 21 08:19:00 2009 +0100
+
+ llvmpipe: Start hiding llvmpipe_cached_tile.
+
+commit 1cb9ce0d2721be7098f1dad39348f8cb65f9a6fc
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Aug 21 07:58:56 2009 +0100
+
+ llvmpipe: Drop depth/stencil support from tile cache.
+
+commit e3b38e5ec1ba93e3f1a1b3d5039c70ff7aa3ebe6
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Aug 21 07:48:04 2009 +0100
+
+ llvmpipe: Code generate the depth test, and include in the shader.
+
+ Only 32bit depth/stencil surfaces supported for now. Stencil ops not
+ implemented yet.
+
+commit db35ac36d92545392b76785bf7fca47151f1469c
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Aug 21 07:45:32 2009 +0100
+
+ llvmpipe: Update texture block from format.
+
+commit 343ccc8dd0d3578aeeb9b635f0933c9f323c7fda
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Aug 21 07:43:49 2009 +0100
+
+ llvmpipe: Depth test to LLVM IR translation.
+
+commit c0472f9c34da78bccecb2c790b54b9dd9712a0b9
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Aug 21 07:42:29 2009 +0100
+
+ llvmpipe: Centralize mask update logic.
+
+commit 3dbf00f9ab0d2e771c72a74d9db32c048ce7df4e
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Aug 21 07:35:49 2009 +0100
+
+ llvmpipe: Clamped float to unsigned norm via mantissa manipulation.
+
+commit 33ce51bc0d52dcfbfa481211dd1fe73a5ecb948f
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Aug 21 07:34:15 2009 +0100
+
+ llvmpipe: Several fixes of the conversion test.
+
+commit d07b0383660cd318ba43abad11bb80de4a124951
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Aug 20 20:17:55 2009 +0100
+
+ llvmpipe: Generate instrinsics for integer comparisons.
+
+ It is a little messy, given the available instrucions form SIMD
+ integer comparisons is rather limited.
+
+commit 89146cd48d37aed0e710d7d935be90b342309f0e
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Aug 20 10:21:49 2009 +0100
+
+ llvmpipe: Mention the ability to get microbenchmarks from the unit tests.
+
+ Even better would be to have a -h/--help option to the tests...
+
+commit 9ae47069b4a2b67e381b02d805f1ca74f31ea7b8
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Aug 19 20:42:50 2009 +0100
+
+ llvmpipe: Code generate alpha testing and append to generated fragment shader.
+
+commit b5e397c3693fbae6b2c91c602454d9a70651c9c4
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Aug 19 20:39:51 2009 +0100
+
+ util: Dump PIPE_FUNC_x value names.
+
+commit d6d4f8b66e401e29c4f91fc4b1a7c8da23dc0286
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 19 13:23:02 2009 -0600
+
+ llvmpipe: use the udis86 lib to print the x86 assembly code
+
+commit 03b388e1c9b4ffbfe849477df2c98ddd8c7eac18
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 19 13:14:59 2009 -0600
+
+ llvmpipe: frag shader comments
+
+commit 0f6c621aeeb171b5c30c2875b4cea383a19ac8b5
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 19 13:14:40 2009 -0600
+
+ llvmpipe: blend comments
+
+commit 8329e599587bb7e474688d0569fe7fb4a45ac962
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 19 13:14:15 2009 -0600
+
+ llvmpipe: comments about blend generator
+
+commit f586d9546b57a7558ab497d709dfcb182218e29f
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 19 13:13:49 2009 -0600
+
+ llvmpipe: basic comments
+
+commit b9f2f01315646c3af92e64152f51a593b65a5ac7
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Aug 19 18:47:58 2009 +0100
+
+ llvmpipe: Hack to force the line/point rasterization also fit the blend function expectations.
+
+commit 7643da88a31e64d637303d4c57176b6e23137582
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Aug 19 18:47:12 2009 +0100
+
+ llvmpipe: Refer my udis86 branch which decodes more opcodes.
+
+commit 7c2dc3faa8e8ba99e29fcc09e7db39fc49d73200
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Aug 19 17:58:04 2009 +0100
+
+ llvmpipe: Code generate the position interpolation.
+
+commit 6f5cd15f80d612e165078dfe2126cf44cf509d91
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Aug 19 17:57:07 2009 +0100
+
+ llvmpipe: Simpler variant of lp_build_broadcast_scalar.
+
+commit 17baa01bfbebf71c68aebea5196ebcb313612038
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Aug 19 15:32:45 2009 +0100
+
+ llvmpipe: Put the position coefficients together with the inputs.
+
+ The automatic search'n'replace leaves lp_setup.c a bit ugly, but this code
+ will be eventually code generated as well.
+
+commit 7926b42d41058e5d2b99ba0e8810f93bc7c12d36
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Aug 19 09:34:53 2009 +0100
+
+ llvmpipe: Implement saturation.
+
+commit 39352b34438affc36ce22852bb55359d304a522c
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Aug 19 09:24:20 2009 +0100
+
+ llvmpipe: Put color/depth directly into the quad structure.
+
+commit 4c6fd574b1432b91c3645a3db586d3efbd9617bc
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 18 16:58:12 2009 -0600
+
+ llvmpipe: re-enable other gallium drivers
+
+ No more symbol collisions between drivers, AFAICT.
+
+commit 908d8d7a1b01214116e358d7641cc097212aeb50
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 18 16:55:24 2009 -0600
+
+ llvmpipe: prefix point/line/tri_setup() functions with llvmpipe_
+
+ Avoid symbol collisions with softpipe.
+
+commit 1ea1cd8468e51a45b1d3c3cac5e4fc6fefa183ba
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 18 16:28:23 2009 -0600
+
+ llvmpipe: repurpose linux-llvm config to build the llvmpipe driver
+
+ The gallivm module is no longer built. If/when gallivm is resuscitated we
+ can revisit this.
+
+commit 137afe6a550bef675daa00fb3092a521dabe3a3d
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 18 15:18:50 2009 -0600
+
+ llvmpipe: updated Makefile C_SOURCES
+
+commit aa2514d12d17189b2b6e9ffc51c7092fe35b309d
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 18 15:18:33 2009 -0600
+
+ llvmpipe: add missing break in xlib _init()
+
+commit 556eecea67354068f6e328da6564bef6cb74cb4e
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Aug 18 21:08:38 2009 +0100
+
+ llvmpipe: Allow to build without udis86.
+
+commit 2fef9b3369d1b017a5360d53a75286234ace2c9d
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Aug 18 20:58:30 2009 +0100
+
+ llvmpipe: Drop the FETCH/STORE macros.
+
+commit 5999ebfb69a47fa12d1f534871ea01a3f889f62f
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Aug 18 20:23:35 2009 +0100
+
+ llvmpipe: Debug helper function to name llvm intermediate values.
+
+commit a22f87c99462fd83dc398f4c06fc6d9997e15dba
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Aug 18 20:25:37 2009 +0100
+
+ llvmpipe: use align_malloc for all structs containing ALIGN16 members
+
+ Unless the struct is allocated aligned, aligning the members isn't very
+ helpful.
+
+commit 49d83fdc4599256da9a33ed943009038859c34c5
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Aug 18 19:20:48 2009 +0100
+
+ llvmpipe: Document that llvm 2.5 is expected.
+
+commit 8df64bb2fe1aba19dce1010f5129e34123b19036
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Aug 18 17:36:13 2009 +0100
+
+ llvmpipe: Briefly describe current status.
+
+commit bb867b0ae43deb73eca8cd04eda2a7a12620cdcf
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Aug 18 14:18:54 2009 +0100
+
+ llvmpipe: Blend in place.
+
+commit 4a414d8f876031ffd299e8e0417da1ea7bf9b96b
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Aug 18 13:30:04 2009 +0100
+
+ llvmpipe: Code generate logic ops.
+
+commit 3014919211b361817c5365f7cbb8d2ef8ca61234
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Aug 18 12:57:16 2009 +0100
+
+ llvmpipe: Rasterize the quads according to what the blend function expects.
+
+commit efab431684bb17459073f6a2e96044cb2ebd2524
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Aug 18 11:41:01 2009 +0100
+
+ llvmpipe: Tile in SoA format identical to the blender function output.
+
+commit ee066eaf6d0dd3c771dc3e37390f3665e747af2a
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Aug 18 10:28:37 2009 +0100
+
+ llvmpipe: Allow to dump the disassembly byte code.
+
+ Useful as dis86 doesn't disassemble some SSE4 opcodes yet.
+
+commit c5abcac7ef7ebd0167093285b5fc9cf3829c1feb
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Aug 17 08:10:38 2009 +0100
+
+ llvmpipe: Implement LIT.
+
+commit 09a7b011acb3957725bb7e1bc4125f0939a295e7
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Aug 17 07:57:28 2009 +0100
+
+ llvmpipe: Move lp_build_select to lp_bld_logic.[ch].
+
+commit 1aae039ee279f8ad300919d8af0fc4691ca2f514
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Aug 17 07:51:54 2009 +0100
+
+ llvmpipe: Implement comparison opcodes.
+
+commit aede39efd86d200ffbace8fc012104e31f673973
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Aug 17 07:51:16 2009 +0100
+
+ llvmpipe: Fix translation of KIL with repeated swizzles.
+
+commit 81e7ec485d5288bbce8b8e40af57fe4c0392c69f
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Aug 17 07:50:45 2009 +0100
+
+ llvmpipe: Handle floating point selection.
+
+commit 4d7a8194c5763f70ba559f32f58dfda36237b666
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Aug 16 21:07:15 2009 +0100
+
+ llvmpipe: Silence compiler warnings.
+
+commit 7821664b15501b173b2304bbada758c33c5ff972
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Aug 16 21:01:57 2009 +0100
+
+ llvmpipe: Implement KIL.
+
+commit 2c90652ed9e119f09af6757c59d10273894ba590
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Aug 16 21:01:12 2009 +0100
+
+ llvmpipe: More verbose error message when failed to translate opcodes.
+
+commit 58f20b2b65ec0237202dad2be5db6b29d3cf6e93
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Aug 16 21:00:16 2009 +0100
+
+ llvmpipe: Detect typos in LLVM intrinsics early.
+
+commit 1aede69d3a8d288af11c2ef620b51e71c2ce89b2
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Aug 16 20:59:38 2009 +0100
+
+ llvmpipe: Comparisons translation.
+
+commit 818d444e12bb57568fbf3bf5f06ee24c6c73a61a
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Aug 16 11:50:17 2009 +0100
+
+ llvmpipe: Disassemble generated x86 code.
+
+commit a7f9b915aeade96d8ca58d70a1f1d42cd6a16e3d
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Aug 16 10:02:17 2009 +0100
+
+ llvmpipe: Shader function arguments don't alias.
+
+commit 539c55da16ca97bb2280edcb8cbbb9514e4c49cb
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Aug 14 12:02:38 2009 +0100
+
+ llvmpipe: Test only present functionality to allow regression testing.
+
+commit c67570ba85e315d5e3b8a6271232e8975eae0171
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Aug 14 12:02:06 2009 +0100
+
+ llvmpipe: Clamp into range when writing integers.
+
+commit 17aec9304ca86feac7ca29e17dda73a10cdd08a5
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Aug 14 11:33:26 2009 +0100
+
+ llvmpipe: Compute interpolation coeffs directly into SoA layout.
+
+commit b6f43b445b43188b10cb57e4cff0190ae2cee789
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Aug 14 10:56:40 2009 +0100
+
+ llvmpipe: Pass the interpolation factors as scalars.
+
+commit 1a004142bbfdaeb0697077b3976e47ac179bb11b
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Aug 14 10:48:06 2009 +0100
+
+ llvmpipe: Eliminate dependency on tgsi_exec_machine.
+
+commit 73af91e938eb27b001404f11195fb06ff9b08903
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Aug 14 10:27:32 2009 +0100
+
+ llvmpipe: Eliminate non-LLVM fs execution paths.
+
+commit 95f38dd67c7dfeb3172ef9723c6f8e4c33de0754
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Aug 14 10:03:46 2009 +0100
+
+ llvmpipe: Code generate interpolators.
+
+commit af608e56ca246232ef11a561040b84801ae3a552
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Aug 14 10:03:12 2009 +0100
+
+ llvmpipe: Factor out lp_build_select from lp_build_select_aos.
+
+commit 57907e7fd9fc63b9023d0e2b08934c2d0acf2953
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Aug 12 12:42:06 2009 +0100
+
+ llvmpipe: Translate approximate log2/exp2.
+
+commit ef1fddb36a91a3b272a3c74d104033cd99556cfa
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Aug 12 10:37:24 2009 +0100
+
+ llvmpipe: Handle a few more TGSI opcodes.
+
+commit 844f802a7052d814f84602a6684f510a199d7d95
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Aug 12 10:35:50 2009 +0100
+
+ llvmpipe: Efficient implementations of pow/exp/log/exp2/log2
+
+commit 90e9a4d4f99e722d8f0f2050e134a3c69863541b
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Aug 12 02:36:35 2009 +0100
+
+ llvmpipe: Migrate more SSE2 codegen to LLVM IR.
+
+commit 1b3c83d699f83972a42595860c6e71643fb6f03c
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Aug 12 02:35:53 2009 +0100
+
+ llvmpipe: Don't assume/enforce fs values are in [0,1] range.
+
+commit 1709ace359a2d513cf09de28bf372248f6103f6a
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Aug 12 02:34:55 2009 +0100
+
+ llvmpipe: Implement more arithmetic functions.
+
+commit 1929057eac0c3351e0810612bdae56331a235736
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Aug 11 13:30:23 2009 +0100
+
+ llvmpipe: Reuse coord/texel store.
+
+commit 0b6a9b2dbe7bedbc6c34370cd07dcaa93b4c5fda
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Aug 11 13:19:16 2009 +0100
+
+ llvmpipe: Replace lp_fs_llvm.c.
+
+ Based on lp_fs_exec.c/lp_fs_sse.c and tgsi_exec.c.
+
+commit 63b07618b3e4034e11968f1c5323445dc4a0377f
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Aug 11 13:17:24 2009 +0100
+
+ llvmpipe: TGSI -> LLVM SoA IR converstion.
+
+ Based on tgsi_sse2.c.
+
+commit 9033c44a62e27ba3095792c3578750a843733e00
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Aug 11 13:10:15 2009 +0100
+
+ llvmpipe: Dump only the generated function.
+
+commit 4393ca7956bd03e07b4d7a019705fc62d4ac7155
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Aug 11 13:09:54 2009 +0100
+
+ llvmpipe: Scalar -> vector broadcasting.
+
+commit 8422f293ab7bf1ff1adf105ed3240b1627538d34
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Aug 11 13:09:35 2009 +0100
+
+ llvmpipe: More arithmetic ops.
+
+ Mostly untested.
+
+commit 36249348ed6dfae63ef2b81e6db88c975a801f2a
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Aug 10 23:22:40 2009 +0100
+
+ llvmpipe: More intrinsic helpers.
+
+commit 50d77141e8fc884396a1a143d40b4be7a1513a2f
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Aug 10 16:12:51 2009 +0100
+
+ llvmpipe: Fix typo.
+
+commit 81644f63159da8a8b010c891cfa5eba9c074b4b2
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Aug 10 16:12:41 2009 +0100
+
+ util: Fix SCons build.
+
+commit 19b31d0ac87a29f971d3399abc9c204fee8fc0e5
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Aug 10 15:43:04 2009 +0100
+
+ llvmpipe: Document the typo in llvm-c/Core.h.
+
+commit fb56786f602d5becea6aea50c5c1dbb1945d12cf
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Aug 10 15:23:35 2009 +0100
+
+ util: Auto-generate u_format_table.c from SConscript.
+
+commit 9285f159e0136da0e4e2381ea5340faee2a043e0
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Aug 10 12:35:16 2009 +0100
+
+ llvmpipe: Simple description/instructions.
+
+commit 8edcc8abe3feab88c5370e96bf6403ca9ff16a53
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Aug 10 11:37:55 2009 +0100
+
+ llvmpipe: Add missing include.
+
+commit 2101c2941c1ff3ae7f3f587e6e9921ed336ce17c
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Aug 10 08:16:31 2009 +0100
+
+ llvmpipe: Tiles in rgba8 format.
+
+commit 3ce1abf950b7175d65a32fb9d182561a9d3d57f7
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Aug 9 23:58:06 2009 +0100
+
+ llvmpipe: Store tile color in SoA.
+
+commit 29d94a9cbb7858cc8b0cfb05c0bb66f56a6acfa5
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Aug 9 23:34:01 2009 +0100
+
+ llvmpipe: Code generate color masking.
+
+commit 2d6b39f05edcd575b1e10d53f96a38bec848fa67
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Aug 9 23:10:19 2009 +0100
+
+ llvmpipe: Use the generated SoA blending code.
+
+commit e7fc21434d2c5a9177a427950be5029ff4db43ee
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Aug 9 22:59:52 2009 +0100
+
+ llvmpipe: Handle disabled blending too.
+
+commit 62c91998efad508fe5323f25a7435aa93e718fdc
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Aug 9 22:59:12 2009 +0100
+
+ xlib: Ensure one screen instance.
+
+commit 0318f3e53eed88f0feea6e7a4fd8a8d9becc9774
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Aug 9 17:22:01 2009 +0100
+
+ llvmpipe: Split the texture cache from the color/depth/stencil cache.
+
+commit b836b2593c0450125bef6b88b02c7d6c20e9eff8
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Aug 9 17:15:17 2009 +0100
+
+ xlib: Complete llvmpipe integration.
+
+commit 2529ed5616b1b152766a3355444260b88184cd6e
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Aug 9 12:39:38 2009 +0100
+
+ llvmpipe: SoA blending.
+
+ Throughput seems to be 4x higher.
+
+commit 20f50b845b375c2fde9910c51b46cec23c95dd45
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Aug 9 12:32:37 2009 +0100
+
+ util: Fix blend factor dumping.
+
+commit 3130b9921cac4a8674b59c6d63bc2d248a4bdc4a
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Aug 8 23:15:05 2009 +0100
+
+ llvmpipe: Update blending test.
+
+commit 60584affcfd444e7733b01612bc72f43c83b5e06
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Aug 8 23:10:59 2009 +0100
+
+ llvmpipe: Handle more conversions.
+
+ Not all successfully yet though..
+
+commit 145de19548157ad1ba0c314e38a44168e462bb4c
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Aug 8 22:57:03 2009 +0100
+
+ llvmpipe: Use full set of sse4 min/max intrinsics.
+
+commit a9771d2b7580ae1273c4edeb9eebcafab39a72bb
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Aug 8 22:56:22 2009 +0100
+
+ llvmpipe: Fix one const generation for some signed integers.
+
+commit 8244d6e5adfcc668676e3783ac6ce53e8dcc2a88
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Aug 8 22:51:11 2009 +0100
+
+ llvmpipe: Allow floating types without sign.
+
+ With the meaning that all values are assumed to be positive.
+
+commit 9493260fdcef4a8238b9d9a9dc3e753dd89810fe
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Aug 8 22:49:23 2009 +0100
+
+ llvmpipe: Centralize lp_build_context initialization.
+
+commit b07d19a8859efb930d837c3b324be94cf412d819
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Aug 8 20:38:01 2009 +0100
+
+ llvmpipe: Normalize the cycles with the number of channel.
+
+ So that we have a comparable number for different formats.
+
+commit b874a7b80729ba3de1b202598e5e82be3754f86f
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Aug 7 14:34:13 2009 +0100
+
+ llvmpipe: Handle ubyte -> float conversion too.
+
+commit b441a0b658ac00a38bb41eec8b6f0e22cc3de018
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Aug 7 14:33:07 2009 +0100
+
+ llvmpipe: Make lp_const_offset visible.
+
+commit 684a47f0f6a16f9a76844bcd60d8f5fb7e3d1be5
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Aug 7 14:20:57 2009 +0100
+
+ llvmpipe: Only get the preprocessor flags from llvm-config.
+
+ Otherwise we get -O2 optimization flag, preventing proper debugging.
+
+commit 8988424ee8de7948e55279fe622ffdacdb6e5f8a
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Aug 7 09:51:48 2009 +0100
+
+ llvmpipe: Bootstrap type conversions.
+
+commit b19cb0080cbc9877993e76f6cbd6bc170d3d2851
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Aug 7 09:51:04 2009 +0100
+
+ llvmpipe: Use same type for reference vectors.
+
+commit d52dce0ffbb165146d7b6812ff5152cbeff29a3a
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Aug 7 09:28:58 2009 +0100
+
+ llvmpipe: Fix floating point const scale factor.
+
+commit e6ebebc4853c98aa387b2c39a886a0c1173e93fb
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Aug 7 01:20:01 2009 +0100
+
+ llvmpipe: Factor out shared test code into a separate module.
+
+commit 138428badea350a20f5afc652a4fa1850e1ec653
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Aug 7 01:18:49 2009 +0100
+
+ llvmpipe: Cleanup constant helpers.
+
+commit 627d6a6b044b3916996cb9f50ce7f911f2196565
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Aug 7 01:16:59 2009 +0100
+
+ llvmpipe: Move intrinsic helpers to a separate module.
+
+commit 1165c30dc2960c0488c21d542fd78485244cae2c
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Aug 4 13:39:28 2009 +0100
+
+ llvmpipe: Collect richer blend data.
+
+commit 28e46458bca3065baf0424b20e5b72cb672069e6
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Aug 4 12:32:24 2009 +0100
+
+ llvmpipe: Some notes about PSHUF.
+
+commit 1dd7bb17c7331f9ecd0bc830b61ada235a56fe6d
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Aug 4 12:09:52 2009 +0100
+
+ llvmpipe: Optimize blend swizzles by using bitmasks instead of shuffles for ubytes.
+
+commit a77084ea4b5801dc3ba52f33533176da926aed16
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Aug 4 11:52:54 2009 +0100
+
+ llvmpipe: Write data to a tsv file for posterior analysis.
+
+commit f081bacc25fa62888f0983e8e9658325dc835e95
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Aug 4 11:51:13 2009 +0100
+
+ llvmpipe: Move p_build_context to lp_bld_type.h
+
+ As it will be shared with more modules.
+
+commit 696f7f2be51672da41a947a7028e01e82e44a09f
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Aug 4 11:50:13 2009 +0100
+
+ util: New file dedicated to dump state in human/machine readable format.
+
+commit 5940ba26f78f482442644f52468d65c1e5662d10
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Aug 4 02:10:35 2009 +0100
+
+ llvmpipe: Don't use llvm.readcyclecounter.
+
+ LLVM during optimization reorders the rdtsc instructions next to each
+ other, which makes it pretty useless.
+
+commit 64611e086dbefa2003773ab541c0381b5713e18d
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Aug 3 22:31:08 2009 +0100
+
+ llvmpipe: Separate constant building.
+
+commit c87fab0008453567b45dd5e5eb7dd5d026990071
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Aug 3 22:24:01 2009 +0100
+
+ llvmpipe: Move type support functions into a separate file.
+
+commit b94e22e4be3b5a3a66eb9f595423f7ece66750b2
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Aug 3 19:35:28 2009 +0100
+
+ llvmpipe: Measure the number of cycles taken for blending.
+
+commit 5778970f15af253ce9d279516287602f28153548
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Aug 3 19:32:57 2009 +0100
+
+ llvmpipe: Minor comments / debug mnemonics.
+
+commit 02eaa32d83637d6f60685afe5d29aeb06345e60e
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Aug 3 19:31:56 2009 +0100
+
+ llvmpipe: Optimize away min/max with equal operands.
+
+commit 9e922444403d704f9ed0cf50e510fba53c736b57
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Aug 3 02:06:42 2009 +0100
+
+ llvmpipe: Improve generated 8bit blending code.
+
+commit ede73258a7604109b257bddb029b5f4dad5eb09d
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Aug 3 00:01:27 2009 +0100
+
+ llvmpipe: Get blending of normalized 8bit unsigned integers working.
+
+commit a6622e6c544d3530a463d6a274a15bfae58f7ccc
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Aug 2 17:54:53 2009 +0100
+
+ llvmpipe: Specialize arithmetic operations.
+
+commit 272dadbe4ebeaeb4f942c0f3c2fd140285b0457c
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Aug 2 13:52:40 2009 +0100
+
+ llvmpipe: Introduce a custom typing system.
+
+ Straightforward representation of floating-point/fixed-point/integer,
+ normalized/scaled, signed/unsigned SIMD vector types.
+
+commit f478b6fe76452ee910fa9d13ea4b78637a04e747
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Aug 2 13:48:16 2009 +0100
+
+ llvmpipe: Avoid C99-isms.
+
+commit fe90e46dc9b6508a31f577f05735f877032fb9d8
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Aug 2 09:59:12 2009 +0100
+
+ llvmpipe: Factor out intrisic calling code into a reusable function.
+
+commit 7ace0b1f4ac48caaa8c477d0641cfc7c4d9518c0
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Aug 1 18:35:04 2009 +0100
+
+ llvmpipe: Cleanup test programs.
+
+commit 7d043162c5d9150947d9341cfa22192bd4c70fde
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Aug 1 17:59:19 2009 +0100
+
+ llvmpipe: Blending.
+
+ The code
+
+commit d2cf3e8dfd37d6225d5f6911fc53a07706cd07f7
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Aug 1 17:27:05 2009 +0100
+
+ llvmpipe: Arithmetic helpers.
+
+commit fa3514a57eeb093f38f163af7d3c03e182fc554e
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Jul 27 12:11:16 2009 +0100
+
+ llvmpipe: fastpath for interpolated z16 less depthtesting
+
+ Because this is interpolated (ie. early) depth, we can build in an
+ assumption about the quads emitted by triangle setup, ie that they
+ are actually linear spans. Interpolate z over those spans in z16
+ format to save on math & conversion.
+
+commit 38a1479fe137b9bed3bdd1078b24f844c3af4863
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Jul 27 11:23:51 2009 +0100
+
+ llvmpipe: cope with nr_cbufs == 0
+
+ Disable blend code when no color buffer
+
+commit 4639f8aad5db08cf9386a910c02a4dc205740d8b
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Jul 29 08:29:13 2009 +0100
+
+ llvmpipe: Translate logicops.
+
+commit 833323b8d02a08b4f53847a521e14c707efd8beb
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Jul 29 07:58:27 2009 +0100
+
+ llvmpipe: Separate pixel packing/unpacking from loading/storing.
+
+commit c4903ee27f29b39a493701d35b38941249117a54
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Jul 28 08:49:40 2009 +0100
+
+ xlib: Integrate with llvmpipe.
+
+ Actually, the makefile/sconscript changes were already commit by mistake.
+
+commit b060771612343e60ea61ed4503cad9f38c76912b
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Jul 28 08:47:35 2009 +0100
+
+ llvmpipe: Adjust for pixel layout changes.
+
+commit 42b15b26fd946c9511bd4bd5f23ec7e76e15507c
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Jul 28 08:47:13 2009 +0100
+
+ util: Make pixel format layout more meaningful.
+
+ Namelly, explicitly distinguish formats coded by arithmetic manipulation,
+ from formats layed out in array.
+
+commit a910c7d8202d42d2637aeeac3f3e9f2cd77ffc07
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Jul 28 08:42:27 2009 +0100
+
+ util: Don't commit u_format_table.c
+
+ At least not until stabilizes, to reduce noise.
+
+commit 9a519ec4d1c5512047bb65febefd15b978b035fc
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Jul 28 08:14:10 2009 +0100
+
+ llvmpipe: Fix typo in copyright.
+
+commit 3ef44746fefe59ede37ee2f4cb8194a85cb92a20
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Jul 27 23:18:44 2009 +0100
+
+ llvmpipe: Add test cases for pixels.
+
+ Actually some of this test cases need more testing...
+
+commit 899bee27883f771fb2d891fc94483d3d658b5ba3
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Jul 27 23:16:32 2009 +0100
+
+ util: Fix r5g6b5 description.
+
+commit 3ace63c00fe85079599fe088e90ee23e006bada4
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Jul 27 11:45:50 2009 +0100
+
+ llvmpipe: Update SConscript.
+
+commit b023c1dc68819e59d0d7ef6c0d86be4f21054ba4
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Jul 27 11:45:36 2009 +0100
+
+ llvmpipe: Simple shell script to aid port softpipe changes to llvmpipe.
+
+commit 05bfd93c3f02d229f5408db1b440425cce99a142
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Jul 27 08:17:45 2009 +0100
+
+ llvmpipe: move all depth/stencil/alpha pixel processing into one stage
+
+commit b8c437f20f130768e7709eb06112c955619aa2f0
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Sat Jul 25 11:01:48 2009 +0100
+
+ llvmpipe: fix error in scissor state dependencies
+
+commit c5375da1dc058311f4d1b2f78c83eccefff5c732
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Sat Jul 25 10:01:06 2009 +0100
+
+ llvmpipe: cleanup framebuffer state routine slightly
+
+commit 90caf1a3f39204a1a4b6207e0746ba694668c144
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Jul 24 20:19:18 2009 +0100
+
+ llvmpipe: move all color-combine code into lp_quad_blend.c
+
+ Consolidate the read-modify-write color combining code from
+ the blend, colormask and output stages.
+
+commit 54c6ef144fff08899e943cd2f700b501ecc6b61c
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Jul 24 20:18:52 2009 +0100
+
+ llvmpipe: fix typo
+
+commit 3c71a190160e30ddf59f64fd3abd8a637281f435
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Jul 24 18:46:17 2009 +0100
+
+ llvmpipe: example fastpaths in blending
+
+commit 80eb276630a194632d9eba1e2b107d678d0f0a4d
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Jul 24 18:17:05 2009 +0100
+
+ llvmpipe: actually pass >1 quad from triangle routine
+
+ First attempt
+
+commit bdbb4beb21876010b14785569a920fa65a67d1ad
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Jul 24 16:49:35 2009 +0100
+
+ llvmpipe: expand quad pipeline to process >1 quad at a time
+
+ This is part one -- we still only pass a single quad down, but
+ the code can now cope with more. The quads must all be from the same
+ tile.
+
+commit 4486012245c5f526059d3872ac3561f53705d1cf
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Jul 24 16:12:48 2009 +0100
+
+ llvmpipe: rip out old mulithread support
+
+commit 2a7c39a21102f1c373f7415985ee8f31be4da40a
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Jul 23 11:14:39 2009 +0100
+
+ llvmpipe: avoid flushing depth buffer cache on swapbuffers
+
+ There's no need to push out depth buffer contents on swapbuffers.
+
+ Note that this change doesn't throw away depth buffer changes, it simply
+ holds them in the cache over calls to swapbuffers. The hope is
+ that swapbuffers will be followed by a clear() which means in that case
+ we won't have to write the changes out.
+
+commit 3adca9611479936eb0b719b276ac94889a7c6bf3
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Jul 22 15:36:25 2009 +0100
+
+ llvmpipe: also shortcircuit non-texture tile lookups
+
+commit 2301314e7ccd37faae80353d35109bb029dc9335
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Jul 22 15:08:42 2009 +0100
+
+ llvmpipe: shortcircuit repeated lookups of the same tile
+
+ The lp_tile_cache is often called repeatedly to look up the same
+ tile. Add a cache (to the cache) of the single tile most recently
+ retreived and make a quick inline check to see if this matches the
+ subsequent request.
+
+ Add a tile_address bitfield struct to make this check easier.
+
+commit df1823ec5b2c64a9d1a5fc13be0e0f37741c3ffa
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Jul 17 12:12:04 2009 +0100
+
+ llvmpipe: remove unused vars in lp_setup.c
+
+commit 08811032c2dd8f38d2ef65d7fd8794112e029b63
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Jul 17 12:03:51 2009 +0100
+
+ llvmpipe: use bitwise logic to setup quad masks in lp_setup
+
+commit 0aa24fa36f7aea8e25c392eeeef6f9c108f09aba
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Jul 17 10:47:32 2009 +0100
+
+ llvmpipe: simplify flush_spans
+
+ No loss of performance, but simpler code.
+
+commit 0f55a95b2faa16cc008143c53a8b82b19c5d750a
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Jul 17 10:44:22 2009 +0100
+
+ llvmpipe: make some small steps to flush texture cache less frequently
+
+ No performance gain yet, but the code is a bit cleaner.
+
+commit 3121484a8bde7af053fb627bd716be957fcef18c
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Jul 16 14:14:32 2009 +0100
+
+ llvmpipe: remove backwards dependency from tilecache to llvmpipe
+
+ The tile cache is a utility, it shouldn't know anything about the
+ entity which is making use of it (ie llvmpipe).
+
+ Remove llvmpipe parameter to all the tilecache function calls, and
+ also remove the need to keep a llvmpipe pointer in the sampler structs.
+
+commit c9a5930fe45a0a0299769bd2b672ca516d1bf39e
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Jul 27 11:36:24 2009 +0100
+
+ llvmpipe: Rename preprocessor symbols too.
+
+commit 8783732c4d2b9162d996f678eb41e3eae3ac86c7
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Jul 27 01:23:15 2009 +0100
+
+ llvmpipe: Pixel packing/unpacking and loop code generators.
+
+ Just a small proof of concept plus a standalone test app. Not integrated
+ with the rest of the driver yet.
+
+commit 15422b2d99be074e1d6ac064b6f791245975da83
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Jul 26 23:50:00 2009 +0100
+
+ util: Pixel format database.
+
+ There are some inconsistencies in pipe_format, but above all, there
+ simply aren't enough bits in an enum to conveniently store all
+ information about a pixel format we need to be able to dynamically
+ generate pixel packing/unpacking code.
+
+commit 946f432a08112148d743eb9faf6b27bb8cc7fa76
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Jul 26 23:44:38 2009 +0100
+
+ llvmpipe: Fork softpipe for experimentation with llvm.
+
+commit 1814d6b49c8144180231c3e43ff6b5dc9c32e12b
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Fri Aug 28 20:12:36 2009 -0700
+
+ Put 'extern' first on the line to silence GCC warnings.
+
+commit 00413d87426f14df47d90ba3c995e1889e9f88ca
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Aug 28 15:01:56 2009 -0700
+
+ i965: Use VBOs in the VBO module on 965, now that we have ARB_map_buffer_range.
+
+ This looks like it's a small win on blender.
+
+commit 8096aa521369c3bcf5226c060efa6dd06e48ddc8
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Aug 28 14:44:55 2009 -0700
+
+ vbo: Fix array pointer calculation for MapBufferRange-mapped vertex data.
+
+ We would end up with the offset from the start of the mapping rather than
+ the offset from the start of the buffer.
+
+commit 2d5c74fac3cc0f9d45a9e11b2fcdea1bc67928c4
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Aug 26 18:08:52 2009 -0700
+
+ intel: Add support for GL_ARB_map_buffer_range.
+
+ Passes glean's bufferObject test, and should provide good performance in the
+ cases applications are expected to use.
+
+commit 446a226f9fb958678dcee892847f1e6ad35151e9
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Aug 27 18:34:11 2009 -0700
+
+ i965: Implement ARB_oq CheckQuery in the intended way.
+
+ Previously we blocked because I hadn't added the libdrm function. Now it's
+ there, so update your libdrm.
+
+commit 0926a5f4a110926711d0f8a4eb297dc772b09aa2
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Sat Aug 29 00:46:08 2009 +0300
+
+ radeon: Fix swtcl emit pediction.
+
+ Problem was to find the correct place to run prediction. Only place that is
+ called for every primitive is ALLOC_VERTS so we have to do prediction there
+ before allocation.
+
+commit 55e7abf81f3c515919ef8ff69125c7aafd274716
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Aug 28 22:39:29 2009 +0100
+
+ i915g: Add cursor case for scanout layout
+
+commit 644060c0252d8d377e2be35067b30305b0569653
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Aug 28 22:33:42 2009 +0100
+
+ i915g: Don't forget to init buffer ptrs
+
+commit aaedd035ca90d20efdc75a4123c99baaf8d20dc9
+Author: Zack Rusin <zackr@vmware.com>
+Date: Fri Aug 28 16:19:53 2009 -0400
+
+ st/xorg: disable composite accelration for now
+
+commit 0a2681128622b0c0a22b68c95309cc70a237cc5c
+Author: Zack Rusin <zackr@vmware.com>
+Date: Fri Aug 28 15:43:46 2009 -0400
+
+ st/xorg: bind samplers before composition
+
+commit f1c0a4b2f4b0054a3371fcaf5121bf53ef29b756
+Author: Zack Rusin <zackr@vmware.com>
+Date: Fri Aug 28 15:36:05 2009 -0400
+
+ st/xorg: normalize coords for the src operands in the vertex shader
+
+commit 4f644e58d455cbc70fe856576321f868e36b6346
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Fri Aug 28 20:41:15 2009 +0300
+
+ radeon: Fix scissors for dri1.
+
+ DRI1 has to set scissors in framebuffer coordinates.
+
+commit dbe58d7f9f48ba57d5c56265bc5a6dce0dfa11b0
+Author: Joakim Sindholt <opensource@zhasha.com>
+Date: Fri Aug 28 20:05:52 2009 +0200
+
+ r300g: pretty up the new drm code a bit
+
+ As it turns out, I made some boners. This corrects them (I hope)
+
+commit 1e9eb69f835e35116b8ada0fc2f05561fd8956d1
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Aug 28 16:56:59 2009 +0200
+
+ st/xorg: If migrating from a sw pixmap to a hw pixmap upload old contents
+
+commit d80242c2546f795e37ce88955c823c054fdfe217
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Aug 28 16:56:02 2009 +0200
+
+ st/xorg: Null devPrivate.ptr when unmapping
+
+commit fdc8ec60eb93de56f20c96376755e76bb41bfd58
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Fri Aug 28 17:42:07 2009 +0200
+
+ st/xorg: Fix scons build.
+
+commit 6bfec14d6dbe7877e59fdb048bbbdd9871156a71
+Author: Joakim Sindholt <opensource@zhasha.com>
+Date: Fri Aug 28 17:13:49 2009 +0200
+
+ r300g: support new drm_api
+
+commit 1e5014f7dfabcaf1f4b5608eb08e97179446eb09
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Thu Aug 27 18:57:29 2009 +0100
+
+ drm_api: Operate on textures instead of buffers
+
+ Most use cases just got the buffer from the texture
+ and then called into one of the get_handle functions.
+
+ Also with this patch it would be easier to move to a
+ generic function for getting handles from textures
+ and textures from handles, that is exposed via the screen.
+
+commit 9399b9a0e27915dd5a388ff42ad99a9024c79b33
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Aug 28 12:52:16 2009 +0100
+
+ util: Reset size to zero when failed to allocate buffer.
+
+commit 7d9af52bc59bfeb19d9bdb55258f4a830a1b0d04
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Thu Aug 27 17:56:30 2009 +0100
+
+ st/xorg: Fix some warnings
+
+commit b26aee0ffed3f3baee9d65365812e40598a26138
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Thu Aug 27 17:38:33 2009 +0100
+
+ st/dri: Fix some warnings
+
+commit 6f0a1a842685a2b172187ece08113352c3765ce6
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Aug 28 12:32:04 2009 +0200
+
+ st/xorg: Pass dri driver name as driverName on screen
+
+commit 205d344e2a2f0c9ea982b037ab68feab06cbebb1
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Aug 28 11:43:19 2009 +0200
+
+ Revert "st/xorg/dri: Pass texture formats via the DRI2 protocol flags."
+
+ This reverts commit a33e9ea3b9b7ac98d6e9bc385bbbe7eac2eb73d0.
+
+ As this change breaks both radeon and nouveau
+
+commit 4322181e6a07ecb8891c2d1ada74fd48c996a8fc
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Fri Aug 28 05:42:41 2009 +0300
+
+ r100/r200: Bring back old PolygonStripple for DRI1.
+
+ DRI1 didn't have support for command buffer emit for stripple.
+
+commit bfbad4fbb7420d3b5e8761c08d197574bfcd44b2
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Fri Aug 28 04:58:50 2009 +0300
+
+ r100/r200: Share PolygonStripple code.
+
+commit e541845959761e9f47d14ade6b58a32db04ef7e4
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Fri Aug 28 04:12:17 2009 +0300
+
+ r200: Fix piglit paths test.
+
+ Polygon stipple has to go to command buffer because special ioctl is disabled.
+ Piglit doesn't like HyperZ warning so disable it for kms.
+
+commit a7f8b329aa75f9a34d31d01b5bf6094b764bd8a9
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Aug 28 11:05:29 2009 +1000
+
+ r600: fix scissor also.
+
+ I forgot about r600 being here.
+
+commit d0cb1036aa98d35ae5233d326fbb0ba592a26e26
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Aug 28 11:01:38 2009 +1000
+
+ radeon: fix scissors harder.
+
+ this makes gnome-shell work on r300 for me
+
+commit 60b072d49fd2a1b2bf59442ae7209379152b1500
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Aug 27 16:53:50 2009 -0700
+
+ intel: Add support for ARB_copy_buffer.
+
+ Passes glean's bufferObject test for this extension.
+
+commit 812ccacabcc6af300cf476d7f82ecb75d4982cd6
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Fri Aug 28 02:04:00 2009 +0300
+
+ r300: Fix emit prediction to account scissor emitting correctly.
+
+commit e363ec1d08858735c6f2b1454c43f39c96d5bab6
+Merge: c2ef108 0d7bed9
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 27 16:54:32 2009 -0600
+
+ Merge branch 'mesa_7_5_branch'
+
+commit 0d7bed9f8973547b675c35c0083996e946d7cecb
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 27 16:50:44 2009 -0600
+
+ docs: fix selection/feedback culling bug
+
+commit 8f4d66c5f893b49eb3973aa3b31a856314c045c7
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 27 16:50:03 2009 -0600
+
+ swrast: fix incorrect tri culling in selection/feedback mode.
+
+ See bug 16866.
+
+commit c2ef10803d6c30e13f8f762cc874e3bccc8a2881
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Aug 27 15:33:33 2009 -0700
+
+ i915: Fix undefined symbol as of eabe12df44a41e97fb5736959e8864ddbd01be14
+
+commit 8bdce0c3a7b3e3798de736ef4ce72431d777901c
+Author: Zack Rusin <zackr@vmware.com>
+Date: Thu Aug 27 18:17:54 2009 -0400
+
+ st/xorg: set vertex and fragment shader for the current op
+
+commit c7e103d2388ea53348c9537adf40c643f80e76dc
+Author: Zack Rusin <zackr@vmware.com>
+Date: Thu Aug 27 18:08:58 2009 -0400
+
+ st/xorg: bind rasterizer state
+
+commit 2048182e868a759c3198b3cbaf2dd1d366fe0a21
+Author: Zack Rusin <zackr@vmware.com>
+Date: Thu Aug 27 18:06:15 2009 -0400
+
+ st/xorg: set blend state for exa
+
+commit f9a3fce09044fbfe9a9b973d33b31cfe826d1386
+Author: Zack Rusin <zackr@vmware.com>
+Date: Thu Aug 27 17:39:20 2009 -0400
+
+ st/xorg: bind framebuffer and viewport for exa
+
+commit 3f15ea866fbd82d873943f80b09124a618692a7c
+Author: Zack Rusin <zackr@vmware.com>
+Date: Wed Aug 26 18:32:36 2009 -0400
+
+ st/xorg: create and destroy shader cache
+
+commit 416ee3c53eeb1664784f224a42e293e5fed783bc
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Thu Aug 27 20:29:32 2009 +0200
+
+ st/xorg: Set shared usage of pixmaps for use via DRI2.
+
+ Also allow pixmaps to have both the shared and displayed usage flags, as is
+ the case for the screen pixmap now.
+
+commit bfbfcdd7036add7121eb728daad6131fd77304d0
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Thu Aug 27 20:27:28 2009 +0200
+
+ st/dri: Make sure the front left renderbuffer is there for texture-from-pixmap.
+
+commit d73d4cfcf1ed1fbd6bccfd231953cf4e6b5df3ae
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Thu Aug 27 20:27:28 2009 +0200
+
+ st/xorg: Don't hardcode ExaPrepareCopy to fall back to software.
+
+commit 05aa56a8275cc6f78e85b1fdf731500d1a5e5b08
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Thu Aug 27 20:27:28 2009 +0200
+
+ st/xorg: Flush context if necessary in ExaPrepareAccess.
+
+commit f3a540f6d7fce1465c16647b209e14694a5291df
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Thu Aug 27 20:17:53 2009 +0200
+
+ st/dri: Only ask for fake front buffer for single buffer visuals by default.
+
+commit a33e9ea3b9b7ac98d6e9bc385bbbe7eac2eb73d0
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Thu Aug 27 20:17:53 2009 +0200
+
+ st/xorg/dri: Pass texture formats via the DRI2 protocol flags.
+
+ No need to guess.
+
+commit 1160bf7c65313f66dac0ba4011c8bfe31fee01e5
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Thu Aug 27 17:51:12 2009 +0200
+
+ r300: Cleanup reported native program limits
+
+ The fragment program native limits are actually higher on R4xx
+ as reported by Alex Deucher, but using those requires some
+ bit-twiddling changes to program handling.
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit eb6e281966f603fff4ec525250b4b22c9f90f98b
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Thu Aug 27 17:12:22 2009 +0200
+
+ r300: Debug messages are written to stderr, so fflush that
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 570d4e375a327787441c2c7c4ae698e8993a5d6b
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Thu Aug 27 14:21:13 2009 +0300
+
+ radeon/r200/r300: Fix swtcl prediction to work after primitie change.
+
+ Swtcl calls flush everytime primitive changes so prediction has to made again
+ after flushing.
+
+commit 43a064e06dd0d3f7ff7ae23f19248e312c0b03b1
+Author: marvin24 <marvin24@gmx.de>
+Date: Thu Aug 27 09:22:51 2009 -0600
+
+ mesa: direct program debug output to stderr instead of stdout
+
+commit 44e86dde6dfe934acc0d50aad10e0f2cb390e47b
+Merge: 8d0bdfa 32f95f8
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 27 09:14:09 2009 -0600
+
+ Merge branch 'mesa_7_5_branch'
+
+commit 32f95f8c173155ca30e77c345a68b0d3336ddbed
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 27 09:10:34 2009 -0600
+
+ gallium/util: added support for SRGB formats
+
+ Fixes glean/texture_srgb failure, bug #23449.
+
+commit f8ae968d2898352cd4ac649fff0ea19ac42f56b4
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 27 09:09:56 2009 -0600
+
+ gallium/util: added cases for SRGB formats
+
+commit 8d0bdfa4335ea07a747f53635a57414d15c234b7
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Wed Aug 26 12:44:02 2009 +0800
+
+ progs: EGL/X progs should link to libX11.
+
+ Since 5a459d58fca2b71cb77c39f98df8a81ce6298421, libEGL no longer links
+ to libX11. Add the dependency to affected progs and cleanup
+ prog/egl/Makefile.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 0dd08a9e15192dec7fd97febdbb39ce25a08a525
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Aug 27 07:40:37 2009 -0600
+
+ mesa: move decls before code
+
+commit ba87cbf2be04d9d14d7e0b6d40508edadd4705e9
+Author: Cooper Yuan <cooperyuan@gmail.com>
+Date: Thu Aug 27 17:46:59 2009 +0800
+
+ r300g: Correct scissor setting, subtract 1 from window's width and height
+
+commit 82ff3190de3cd6cf4a514bac00ae02597abfb963
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Aug 27 15:36:35 2009 +1000
+
+ radeon: fix scissor calcs.
+
+ For non-FBOs we need to invert, for FBOs the scissors are non-inverted.
+
+ no matter what we need to clamp them to the buffer sizes.
+
+commit 09c73c74376ed6b12e343c89b4eac94285439860
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Wed Aug 26 22:04:23 2009 -0700
+
+ i965: Increase assmebly shader program parameter limits
+
+ Increase the number of native program parameters to the same values
+ exposed by GLSL.
+
+commit eabe12df44a41e97fb5736959e8864ddbd01be14
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Aug 24 12:54:48 2009 -0700
+
+ ARB prog: Change handling of program parameter limits
+
+ Several changes are made to program parameter limits. Several of the
+ non-NATIVE limits are set higher. All of the NATIVE limits are set to
+ zero in the core Mesa code. Each driver must set the actual value in
+ its context creation routine. If the NATIVE value remains zero, this
+ indicates that hardware shaders may not be supported.
+
+ Each of the preceeding changes matches the bahavior of Apple's shader
+ assembler, so it seems safe.
+
+ Finally, we limit the value of MaxEnvParams to be no greater than
+ MaxNativeAttribs. At least one case has been found where an
+ application does the wrong thing if MaxNativeAttribs < MaxEnvParams.
+
+ See also bugzilla #23490.
+
+commit 20d9204fbd71aebf870834b612579419d2c278b5
+Author: Dave Airlie <airlied@itt42.(none)>
+Date: Fri Jul 24 11:46:20 2009 +1000
+
+ radeon: fix max indx/vertex emission due to state checker
+
+commit cefe9c4f394ff7007d33d932191e2fcaf9d08e87
+Author: Younes Manton <younes.m@gmail.com>
+Date: Wed Aug 26 20:13:11 2009 -0400
+
+ mesa: gitignore
+
+commit 7d3b8231e1bc6f2754b4168dcae21007649d7e35
+Author: Younes Manton <younes.m@gmail.com>
+Date: Wed Aug 26 20:07:51 2009 -0400
+
+ nv04: Handle more Z formats.
+
+ Based on the patch from Luo Jinghua.
+
+commit c024f1047ff8f14fd6deaaffbb1a9aa567988549
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Wed Aug 26 23:31:37 2009 +0200
+
+ r300/compiler: Fix vertex program MAD emit
+
+ Only use the macro variant of MAD when absolutely necessary.
+ Apparently it cannot deal with relative addressing.
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 2114acb044b1d8860350a9f14890fce1e2f315f0
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Wed Aug 26 22:53:24 2009 +0200
+
+ r300/compiler: Fix bug in rc_find_free_temporary
+
+ Find used temporaries even if they are only written to in dead code.
+ This fixes a bug in the NQSSADCE stage.
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit e1d978775f982a450bd84588a4f9567d6bbccebd
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Wed Aug 26 16:06:39 2009 +0800
+
+ egl: Remove Xdpy from EGLDisplay.
+
+ It is not used anymore.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit f5a06fad62cd43d7854bafa60bbe6f48e8cf90af
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Wed Aug 26 14:45:17 2009 +0800
+
+ egl_glx: Make fbconfigs and visuals per display.
+
+ This is to allow a driver to drive multiple displays. Remove the use of
+ _EGL_PLATFORM_X and obsolete code along the way.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit c06699dd121a3f3820f6f9e3bf7829fd574cf8d2
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Wed Aug 26 15:42:35 2009 +0800
+
+ egl_softpipe: Make winsys and pipe screen per display.
+
+ This is to allow a driver to drive multiple displays. Remove the use of
+ _EGL_PLATFORM_X along the way.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 49f245ea6bc2f9b7ee0345ff42cb00aa969cd316
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Wed Aug 26 16:39:29 2009 +0800
+
+ EGL_i915: Make struct drm_device per display.
+
+ This is to allow a driver to drive multiple displays.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 74b55970dc25d6b2a65f385fd298f141176cd4d3
+Merge: 38f5641 47d4b9f
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Thu Aug 27 00:08:30 2009 +0300
+
+ Merge branch 'fix_r300_swtcl' into push_master
+
+commit 47d4b9ff70c82956a77e8ea7a6abccaa0a9f9083
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Thu Aug 27 00:07:05 2009 +0300
+
+ radeon: Fix loop en condition so debug output doesn't flood meaningless values.
+
+commit e0e76edf97d391f0c4be58b9d8b91bed0be56734
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Thu Aug 27 00:05:57 2009 +0300
+
+ radeon: Make RADEON_CMDBUF more fine grained.
+
+commit 97029c1860e8a99448ac157408e71bea3aa2559f
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Wed Aug 26 22:24:25 2009 +0300
+
+ radeon/r200/r300: Fix swtcl flushing not to invalidate dma region.
+
+ We were check command buffer sizes too alte so allocated dma regions
+ were freed before relocations so space checking failed.
+
+commit 38f56411067d51ad0de0ea73498964baaacea90b
+Merge: b2b220e babb5ba
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 26 14:49:15 2009 -0600
+
+ Merge branch 'mesa_7_5_branch'
+
+commit b2b220e6225fdd673ea7b9fdda00e98423263fc3
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 26 14:47:50 2009 -0600
+
+ i965: init the tex_units_used field
+
+commit a9a6399cd32ffe47b98d5171225fe7143552ca27
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 26 14:46:58 2009 -0600
+
+ i965: fix incorrect tex unit in emit_tex() and emit_txb()
+
+ The instructions we're translating already went through the brw_wm_pass_fp()
+ function which does the sampler->texture unit mapping. We were applying
+ the sample->unit mapping a second time in the GLSL texture emitters.
+ Often, this made no difference but other times it could lead to accessing
+ an invalid texture and could cause a GPU lockup.
+
+commit 81a101b5be0b3b98b745af33b2b0a72125e3137c
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 26 14:43:45 2009 -0600
+
+ i965: clean-up tex target switches
+
+commit 6df38e6f5a6d8f0b86928cb2b52c09d1fbe6bbff
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 26 14:35:45 2009 -0600
+
+ glsl: asst. clean-ups in set_program_uniform()
+
+ Remove redunant type check for samplers (assert instead).
+ Move some local vars. Update comments.
+
+commit babb5ba9a977d23ddae828521401eae312bdb619
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 26 14:29:50 2009 -0600
+
+ glsl: signal that the program needs to be re-translated when samplers change
+
+commit 72052210516b4cb0e082e0c56822cd33b1562630
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 26 12:16:07 2009 -0600
+
+ progs/glsl: asst. changes in shtest.c
+
+commit af7315e58b8bfe230f7b4c5a8d5b669d67aab9f0
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 26 12:07:52 2009 -0600
+
+ i965: added texture unit sanity check
+
+ Check that all the textures needed by the current fragment program
+ actually exist and are valid.
+
+commit 34da6024e3097684110cd1fd4da0f25adc415cd6
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 26 12:07:03 2009 -0600
+
+ i965: keep track of which texture units the fragment shader accesses
+
+ We'll use this for debug/sanity checking.
+
+commit d09d03aa42586dd3332863b9b159c497b0cb529b
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 26 12:04:35 2009 -0600
+
+ docs: document sampler array bug fix
+
+commit f8b344114f4475ba267cbba320ab1c1d755d30a6
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 26 11:05:04 2009 -0600
+
+ i965: clean up texture target switches
+
+commit f05344fcea329c6dee04356a71323f0b7ac71566
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 26 10:58:06 2009 -0600
+
+ mesa: var renaming, new assertion
+
+commit dd528f0ec18cfbd6f0a5b23b8cb46a97b96ab965
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 26 10:57:18 2009 -0600
+
+ mesa: additional instruction field size assertions
+
+commit 476290946e7bd3b7fe5688622127d8c6a9c7f367
+Merge: 2bcf787 488b3c4
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 26 12:01:23 2009 -0600
+
+ Merge branch 'mesa_7_5_branch'
+
+commit 2bcf787de1884dff34749d308eb245da457ef649
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 26 11:56:19 2009 -0600
+
+ progs/glsl: handle window resizes in texaaline.c
+
+commit 488b3c4d1bc3d830477180759a42dbaf8f5801b0
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 26 11:55:15 2009 -0600
+
+ progs/glsl: add special Makefile rule for samplers_array
+
+commit f6d34c20585ae9b4fb07ec2f2850f04dc9a9bc29
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 26 11:53:25 2009 -0600
+
+ progs/glsl: change samplers.c to better test sampler/texture indexing
+
+ Now the left half is yellow and the right half is red, with the gradients
+ going in opposite directions.
+
+commit 04d170794a22d93d58afeb5d0930e06f85964f9a
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 26 11:39:24 2009 -0600
+
+ glsl: fix bug in sampler array indexing
+
+ Need to add the 'offset' parameter when indexing the parameter array.
+ Before, if we were setting arrays of samplers, we were actually only
+ setting the 0th sampler's value.
+
+ Because of how progs/glsl/samplers.c is constructed, this wasn't showing
+ up as a failure in the samplers_array output.
+
+commit 7ffbe487069575d5b5077cb631a1fc9494920fbd
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Aug 26 13:33:06 2009 -0400
+
+ r600: fix two sided stencil
+
+commit f988c750a9d3baa2c71f9fd1c0493daef93afc86
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Aug 26 13:08:49 2009 -0400
+
+ r600: add missing radeon_cs_space_set_flush call
+
+ fixes crash in etracer reported by kdekorte on IRC
+
+commit a0966c41a913666f0a6b04bde63162a30b1a1879
+Author: Zack Rusin <zackr@vmware.com>
+Date: Wed Aug 26 12:50:14 2009 -0400
+
+ st/xorg: create basic vertex shader
+
+commit b324aacf139bc88fa268057158af88f725c50c63
+Author: Zack Rusin <zackr@vmware.com>
+Date: Wed Aug 26 12:14:27 2009 -0400
+
+ st/xorg: create basic fragment shader
+
+commit 490f640cd58d215281076ae6e0e70649db6b0ed5
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Aug 26 12:17:44 2009 -0400
+
+ r600: make reloc_chunk size dynamic
+
+commit f33853e56d841472f41db9c3c83276c3028a7375
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Aug 26 11:09:59 2009 -0400
+
+ r600: fix memory leak
+
+commit 18e0fea55bbc41ce81397f22aa2c91e4feefee55
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Aug 26 10:53:30 2009 -0400
+
+ r300: r4xx and rs4xx also have lte discard regs
+
+commit 53b3cdaee2654895dc90a25376ba29b64d166c54
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Aug 26 14:30:54 2009 +0200
+
+ st/dri: Add some debug code
+
+commit 57230d96ed3dc231c47ed8765f30e0e34e988d31
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Aug 26 14:27:50 2009 +0200
+
+ st/xorg: Temporary fix for none stencil visuals
+
+ Should be replaced with something looking at the proper
+ glx visual for the buffers.
+
+commit 23fe960be0d0d27fcd676534c692ab164f854acb
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Aug 26 13:45:31 2009 +0200
+
+ st/xorg: Find out correct type for depth stencil buffers
+
+commit aab0bedb8c791531256b9cf4ef165080ccc75e9b
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Aug 26 12:26:14 2009 +0200
+
+ st/dri: Redo config generation
+
+commit b2e1b258812167ce8d33f5978f877439e280a1e4
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Wed Aug 26 13:18:37 2009 +0200
+
+ st/xorg: Add support for dirty framebuffer region reporting.
+
+ Add a BlockHandler which flushes the context and reports the dirty region
+ gathered using the X server damage layer.
+
+ In the interim, with dirty region reporting only allocate textures for the
+ framebuffer and shared pixmaps (e.g. DRI2 buffers) and fall back to software
+ for other pixmaps. This will be improved in the future.
+
+commit dadf138ddbaecd7fff239df7961aac25e74f14f6
+Author: Cooper Yuan <cooperyuan@gmail.com>
+Date: Wed Aug 26 16:21:10 2009 +0800
+
+ r600: Update vertex fetch shader if necessary
+
+commit 1664bc1a37ab85c5d1b14d90c4674201c9154382
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Wed Aug 26 16:17:37 2009 +1000
+
+ st/dri: make the GL_ARB_map_buffer_range entrypoints available
+
+commit 674835f184b37ad378ce2e35f1a8326af0facc77
+Author: Dave Airlie <airlied@linux.ie>
+Date: Wed Aug 26 14:16:54 2009 +1000
+
+ radeon/r100/r200: actually init the OQ support properly
+
+commit b6df23d8b3e70d86433ba9fc4d87338e1063fe39
+Author: Dave Airlie <airlied@linux.ie>
+Date: Wed Aug 26 14:03:48 2009 +1000
+
+ radeon/r200: OQ support for r200 in theory.
+
+ this is an untested port of the r100 OQ code
+
+commit 5484428d7267388fde868e64531dcdf98b55fafc
+Author: Dave Airlie <airlied@linux.ie>
+Date: Wed Aug 26 13:56:45 2009 +1000
+
+ radeon: add r100 OQ support with kms.
+
+ This adds OQ support for the r100 chipsets, it requires
+ KMS unless someone wants to make a kernel patch to add support
+ for OQ regs.
+
+commit 42675ff0e3e2a0403a6e614b3c84287f2f412661
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 25 17:45:50 2009 -0600
+
+ progs/glsl: call ValidateShaderProgram()
+
+commit a088e5631d21fa41e8218feead2933ab3d2ddba0
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 25 17:43:54 2009 -0600
+
+ mesa: validate shader before drawing (for debugging, disabled)
+
+commit d8b4f8c84884acdda40e01cfd9fd3c10aaab836e
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 25 17:43:16 2009 -0600
+
+ glsl: update a texture/sampler comment
+
+commit c90fca3da41785dc19948637aeaec8b61e535b1a
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 25 17:42:47 2009 -0600
+
+ glsl: implement shader sampler validation
+
+ Shader validation should fail if there are two samplers of different types
+ which reference the same texture unit. For example, if a cubemap sampler
+ and a 2D sampler both reference texture unit 0, that's invalid.
+
+commit 2050baba9692600da7038dd18cbfee794caf4bf4
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 25 17:37:38 2009 -0600
+
+ mesa: use gl_texture_index type for gl_program::SamplerTargets
+
+commit fa6299cb31b62ff2418138cbb789b900d19a0bca
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 25 17:36:28 2009 -0600
+
+ progs/util: added ValidateShaderProgram() to shaderutil.c
+
+commit b7d2023cf99319c71a929c35478dff07d35df392
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 25 16:12:46 2009 -0600
+
+ i965: add some texture unit/target assertions
+
+commit f9ce0a91dccdfc8b4fcb3020965cb6b2d0d2f6d0
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 25 16:11:39 2009 -0600
+
+ mesa: print some program fields in binary too
+
+commit dbf59de6d2f8be526e97af6c768622e6ca3cf6b1
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Wed Aug 26 01:43:27 2009 +0300
+
+ r200: Add scissor to state atom list.
+
+ Scissors are jsut one of states that we have to emit so it should be in state list
+
+commit 5d10890795d9bddc8cafc4afb19cacf164d6e667
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Tue Aug 25 21:46:32 2009 +0300
+
+ radeon/r600: Fix remaining warnings when building 64 bit binary.
+
+commit 87f83e193a21d7e4703664504734edd1e71920a4
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Tue Aug 25 21:39:39 2009 +0300
+
+ r200: Addd missing parameter to debug output.
+
+commit 75df73838a0b75d7ee9a67369dabc08d92a59d57
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Tue Aug 25 21:36:19 2009 +0300
+
+ r200: Fix commit size prediction.
+
+ Scissor are emited for every primitive so fix that in prediction.
+
+commit 7bc4744026fadd3859097bf076e9b345f4e310f4
+Author: Zack Rusin <zackr@vmware.com>
+Date: Tue Aug 25 14:22:26 2009 -0400
+
+ xorg: insert shaders into the cache
+
+commit 23b59d3b4029ea89b5a8e85ea3cc10bea1ab01d0
+Author: Zack Rusin <zackr@vmware.com>
+Date: Tue Aug 25 14:01:58 2009 -0400
+
+ exa: add basic code to cache vertex and fragment shaders
+
+commit c7653a83330e5ea63ad3a566da15155e216c6cb4
+Author: Zack Rusin <zackr@vmware.com>
+Date: Tue Aug 25 13:22:20 2009 -0400
+
+ exa: check whether the op is accelerated
+
+commit c3374bf97ecd82b915fb29c7c04951e2b75d4dbc
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Tue Aug 25 19:28:00 2009 +0300
+
+ radeon: Fix all compiler warnings.
+
+commit 42ecb1287ebb8b6f29d300e8dcb0e9487504dabc
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 25 09:42:25 2009 -0600
+
+ mesa: remove -I$(TOP)/src/gallium/drivers from sources.mak
+
+ Core Mesa and the state tracker do not depend on any gallium drivers.
+
+commit a94d66e85748a6ac2b2d4700b6504cc89d1e1945
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 25 09:37:43 2009 -0600
+
+ Revert "glapi: Fix a possible race in getting current context/dispatch."
+
+ This reverts commit 17090cf3efb0db8fa01b502a9c0df27cbd1a67da.
+
+ We're reverting this because it causes ABI breakage with the X server.
+ Maybe re-attempt with another patch.
+
+commit 65f9d10342881f8a6bc32ebc7976017cb4625a94
+Author: Zack Rusin <zackr@vmware.com>
+Date: Tue Aug 25 09:55:42 2009 -0400
+
+ xorg: revert bad merge
+
+commit d22bd1421cdfa1900df5b76e6f862596bdd11074
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Tue Aug 25 15:39:05 2009 +0200
+
+ Add support for building the Xorg state tracker with scons.
+
+ scons ... statetrackers=xorg
+
+commit 418cdc66ec10c1f3005320ab46404b907c30e37d
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Tue Aug 25 05:03:58 2009 +0300
+
+ Revert "glx: Make drawables persistent untill they are changed by glXMakeCurrent"
+
+ This commit was not mean to end in to master yet. It is still queston if this
+ right design to fix the problem.
+
+ This reverts commit 45e3be3c07f543f3f2869ba7750ba4695cd25122.
+
+commit ce7ed63f0c2f5cb1c030f73a5d8f6544eaac0f81
+Merge: 4297f32 1d5a06a
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Tue Aug 25 02:36:13 2009 +0300
+
+ Merge branch 'master' of ssh://git.freedesktop.org/git/mesa/mesa into r600_state_predict
+
+commit 1d5a06a1f7812c055db1d724e40d21a0e3686dd1
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Tue Aug 25 01:27:40 2009 +0200
+
+ r300: fix condition logic
+
+ The s3tc extensions are properly enabled now, when force_s3tc_enable option is set in driconf.
+
+commit ff235c8ccbca77c6591aa327f1e0530584a1629e
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Tue Aug 25 01:26:28 2009 +0200
+
+ r300: set proper CS section size
+
+commit 4297f32c246cc5b726d02745456c06952322958d
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Tue Aug 25 02:23:52 2009 +0300
+
+ radeon/r200/r300/r600: Warn if we emit more than prediction was.
+
+ Prediction code making too small prediction may cause space check aserttion
+ failure later in rendering. So warning about any failure to predict correctly
+ should be fixed.
+
+commit ffe8cc6cef9df796500a30acf88ffeac7588c28a
+Author: Zack Rusin <zackr@vmware.com>
+Date: Mon Aug 24 18:42:16 2009 -0400
+
+ xorg: fix compilation
+
+commit 17076d700c94402f82c22b2e1d99a1753e4a0834
+Author: Zack Rusin <zackr@vmware.com>
+Date: Mon Aug 24 18:38:46 2009 -0400
+
+ xorg: start on code accelerating render
+
+commit 3023328ea721d2b87112e37e119345a9662d7e5e
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Thu Aug 20 10:56:35 2009 -0400
+
+ r300: add support for getting Z pipe info from drm
+
+ Needed for occulsion queries on rv530 chips
+
+ Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
+
+commit 8dd151b947c36100f38cf83eca674bd427b23e47
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Mon Aug 24 17:41:01 2009 -0400
+
+ r600: code cleanup
+
+commit dea10381864269bd6251a8b0af7a88de88296b32
+Author: Dave Airlie <airlied@linux.ie>
+Date: Tue Aug 25 07:20:37 2009 +1000
+
+ radeon: fix fbo size calculation to after pitch
+
+commit cd5c7bfd93bf207d28610a484b732b8d3eca6059
+Merge: 534c133 4bccd69
+Author: Zack Rusin <zackr@vmware.com>
+Date: Mon Aug 24 16:39:25 2009 -0400
+
+ Merge branch 'master' of ssh://zack@git.freedesktop.org/git/mesa/mesa
+
+commit 534c13302291c07a44afd528f4c758ced4296db5
+Author: Zack Rusin <zackr@vmware.com>
+Date: Mon Aug 24 16:38:43 2009 -0400
+
+ openvg: fix vgTransformPath with relative coords
+
+commit bf7e4b10cbed496a12c8be17531c9cb7da1be177
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 24 13:56:01 2009 -0600
+
+ ARB prog: Set error instead of falling through with incorrect value
+
+ If a fragment program only parameter was queried of a vertex program
+ (e.g., GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB) no error would be set and
+ a random value would be returned. This caused 'glxinfo -l' to show
+ the same values for GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB,
+ GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB, GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB,
+ GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB,
+ GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB,
+ GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB as for
+ GL_MAX_PROGRAM_ENV_PARAMETERS_ARB. This is confusing and incorrect.
+
+ (cherry picked from master, commit 4bccd693a72a0b42dffc849034263a68e779ca91)
+
+commit 4bccd693a72a0b42dffc849034263a68e779ca91
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Aug 24 12:48:01 2009 -0700
+
+ ARB prog: Set error instead of falling through with incorrect value
+
+ If a fragment program only parameter was queried of a vertex program
+ (e.g., GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB) no error would be set and
+ a random value would be returned. This caused 'glxinfo -l' to show
+ the same values for GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB,
+ GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB, GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB,
+ GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB,
+ GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB,
+ GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB as for
+ GL_MAX_PROGRAM_ENV_PARAMETERS_ARB. This is confusing and incorrect.
+
+commit 1e2a71c5c25f63c804b60d88b09f946ff9e3a628
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 24 13:12:04 2009 -0600
+
+ mesa: add new program parser sources to tarball
+
+ The end user doesn't need the .y or .l or Makefile but include them anyway
+ in case someone wants to patch or debug things.
+
+commit b879316d4d4b9cea9760ac90882597ba0e2609ab
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 24 13:02:33 2009 -0600
+
+ docs: recent 7.5.1 bug fixes
+
+commit 69170a4aae5aeb765e8ab9c61a3adfddcc5830ad
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 24 12:58:47 2009 -0600
+
+ xlib: fix single buffer window resize bug
+
+ When a single-buffered window was resized the new window size was never
+ detected. This fix that, but there's still a bug which causes window
+ contents corruption for certain window sizes...
+
+commit 93aa0fd81c44c7a5f29f30e8f730e060597b06ad
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 24 12:43:57 2009 -0600
+
+ vbo: fix divide by zero exception
+
+ Fixes bug 23489.
+
+commit 0a24e5011171d71ae88ef0a43b4625ea8d37a917
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Aug 24 11:43:02 2009 -0600
+
+ glsl: Silence gcc uninitialized variable warning.
+
+commit 4eb72568541803fe45d04d9e230212f4f0928ec9
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 21 10:24:50 2009 -0600
+
+ st/mesa: flush bitmap cache if Z value changes
+
+ When adding a new bitmap to the cache we have to check if the Z value is
+ changing and flush first if it is.
+
+ This is a modified version of a patch from Justin Dou <justin.dou@intel.com>
+
+commit 96f7b422426f8f13f4cedbe280e5dede6b358f2a
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 24 13:02:33 2009 -0600
+
+ docs: recent 7.5.1 bug fixes
+
+commit d8a3ada7fb0f50ce9241c452364d9dcc94eef5de
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Aug 24 11:59:58 2009 -0700
+
+ ARB prog parser: Regenerate parser from previous commit
+
+commit 4cf27608bc069225bf91d47585e344a2c122e940
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 24 11:05:11 2009 -0600
+
+ ARB prog parser: use correct context limits
+
+commit b5ecbbe636dd0d2094921c5401e4268694c405ce
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 24 12:58:47 2009 -0600
+
+ xlib: fix single buffer window resize bug
+
+ When a single-buffered window was resized the new window size was never
+ detected. This fix that, but there's still a bug which causes window
+ contents corruption for certain window sizes...
+
+commit b9b04872d526ed7955f647542399e110ace0325c
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 24 12:43:57 2009 -0600
+
+ vbo: fix divide by zero exception
+
+ Fixes bug 23489.
+
+commit 29473d25a34d24ce20564af93514a8d3b096966c
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Mon Aug 24 14:39:25 2009 -0400
+
+ r600: fix state emit sizes
+
+commit 58ac57c2b7b40b64df2a867d4b9d4e5c5bc13c47
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Sun Aug 16 08:51:58 2009 +0800
+
+ egl_xdri: Revive the driver.
+
+ egl_xdri does not compile for some time. This commit revives the
+ driver. It no longer depends on libGL.so for GLX related functions.
+ Instead, it uses code from src/glx/ directly. Both DRI and DRI2 are
+ supported.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 17090cf3efb0db8fa01b502a9c0df27cbd1a67da
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Fri Jul 10 15:28:55 2009 +0800
+
+ glapi: Fix a possible race in getting current context/dispatch.
+
+ There is a possbile race that _glapi_Context is reset by another thread
+ after it is tested in GET_CURRENT_CONTEXT but before it is returned. We
+ definitely do not want a lock here to solve the race. To have correct
+ results even under a race, no other threads should reset _glapi_Context
+ (or _glapi_Dispatch).
+
+ This patch adds a new global variable _glapi_SingleThreaded. Since
+ _glapi_Context or _glapi_Dispatch are no longer reset,
+ _glapi_SingleThreaded is tested instead, before accessing them.
+
+ DRI drivers compiled with this patch applied will not work with existing
+ libGL.so because of the missing new symbol. If this turns out to be a
+ real problem, this patch should be reverted.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 3076d1617db67d49ff773096123c1fa47af58272
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Tue Jul 14 13:17:25 2009 +0800
+
+ glapi: Static mutex does not work on WIN32_THREADS.
+
+ This re-introduces the race in _glapi_check_multithread, but avoids a
+ crash on windows.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit fc2feea685d86c520fb01199caa5a46eae20c7aa
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Fri Jul 10 17:35:11 2009 +0800
+
+ glapi: Fix a race in accessing context/dispatch TSD.
+
+ If multiple threads set/get a TSD at roughly same time for the first
+ time, glthread might (wrongly) initialize it more than once. This patch
+ solves the race by initializing context/dispatch TSDs early.
+
+ Acked-by: Ian Romanick <ian.d.romanick@intel.com>
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 99939982ec76cb1fee84da9027375c55888dca20
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Fri Jul 10 15:21:42 2009 +0800
+
+ glapi: Protect _glapi_check_multithread by a mutex.
+
+ Multiple threads might call _glapi_check_multithread at roughly the same
+ time. It is possbile that all of them are wrongly regarded as firstCall
+ if there is no mutex. This bug causes xeglthreads to crash sometimes.
+
+ Acked-by: Ian Romanick <ian.d.romanick@intel.com>
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit f785b35b47926e052571386227eff58db7c084e2
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Aug 24 11:43:02 2009 -0600
+
+ glsl: Silence gcc uninitialized variable warning.
+
+commit 53db19b57d41a5e6beea5cb5dff4f7f638ca7b50
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 24 10:50:07 2009 -0600
+
+ mesa: _mesa_layout_parameters() returns a boolean value
+
+commit 55c0457fe9574452b3c2558ada160c42a3e1fbdc
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Mon Aug 24 18:44:53 2009 +0300
+
+ radeon: Add debug output to radeonCountStateEmitSize.
+
+commit ec61f677c322c30771c351c5f0b79c917caf2a49
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Mon Aug 24 18:06:25 2009 +0300
+
+ r600: Fix indetion and add useful debug output.
+
+commit 75da0a6a561e9cd0ab64494d10e6645c35d31e82
+Merge: fe42b4b ed14a4c
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Mon Aug 24 17:09:27 2009 +0300
+
+ Merge branch 'master' of ssh://git.freedesktop.org/git/mesa/mesa into r600_state_predict
+
+commit ed14a4cb7bbcef45668a3ab6fe8efb267b7c4efd
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Mon Aug 24 14:52:33 2009 +0200
+
+ r300: add support for EXT_framebuffer_blit
+
+commit a88678d3eebf40107bb2ac46da30c4afe3d2531d
+Author: Cooper Yuan <cooperyuan@gmail.com>
+Date: Mon Aug 24 19:50:38 2009 +0800
+
+ tgsi: Fix build error due to commit acc7da90
+
+commit 02c523dfbb1b6854eeab9619afe4efbd59a5c8fc
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Aug 24 11:40:56 2009 +0100
+
+ tgsi: Only free temp uregs.
+
+ Shorthand.
+ (cherry picked from commit de911220bbbe74cff0c79b260456ff36122b7b5b)
+
+commit acc7da90356a96efb93bb3a6a53e0b5f67ce993a
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Aug 24 11:40:29 2009 +0100
+
+ tgsi: Pass pipe_context as a parameter to ureg_create_shader.
+
+ Simplifies migration to tgsi_ureg.
+ (cherry picked from commit f574398c07c41cb8d31249a7186fc178ef7d552a)
+
+commit b570a7e6b6ebd05e94fd91f2df53de7d2e2e05d2
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Aug 24 11:32:06 2009 +0100
+
+ tgsi: add generic instruction builder
+
+ When translating an incoming shader (rather than building one from scratch)
+ it's preferable to be able to call a single, generic instruction emitter
+ rather than figuring out which of the opcode-specific functions to call.
+
+commit 7ee4f32dcdd4cc935ed48ffb46ecc6678047958e
+Author: Cooper Yuan <cooperyuan@gmail.com>
+Date: Mon Aug 24 13:56:23 2009 +0800
+
+ r300g: Set the vector address in the input memory for bypass_vs_clip_and_viewport case
+
+commit 2b29d210188f760a6a90d3a3a35dd185e4b28d8b
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Aug 24 00:56:40 2009 -0400
+
+ r600: scissor updates for dri2
+
+ Pulled from Dave's WIP patch.
+
+commit f758a8bf2e155725507bfe75add1fa81ccb569ae
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Aug 24 00:47:34 2009 -0400
+
+ r600: switch to common cs functions
+
+ needed for dri2. Pulled from Dave's WIP patch.
+
+commit 436fb34369f29f4036c5403dcef68353c5ca10e1
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Mon Aug 24 00:33:33 2009 -0400
+
+ r600: map 16 VS outputs
+
+ Should cover everything exported from the VS
+
+commit d6f7ebd60352c9bb44549329e9ab61b727c7179e
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Sun Aug 23 23:56:45 2009 -0400
+
+ r600: fix logic copy paste error
+
+ Spotted by airlied.
+
+commit fe42b4b7577feb5a0f10be2faf34da191e34c135
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Mon Aug 24 02:44:27 2009 +0300
+
+ r600: Improve emit prediction.
+
+commit 885906840d1b60650fe49d282046fc775bbcdcf1
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Mon Aug 24 02:01:15 2009 +0300
+
+ r600: Predict emit size for next rendering.
+
+commit ccde2768380efbdde467cc37e1a248c447f46d20
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Mon Aug 24 01:54:01 2009 +0300
+
+ radeon: Fix dri1 ctx emit size.
+
+commit 7bb0f880dbdee0c57693c3a1f331d7c0894e71e1
+Merge: effda2e 4484ce9
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Mon Aug 24 00:57:05 2009 +0300
+
+ Merge branch 'master' of ssh://git.freedesktop.org/git/mesa/mesa into r600_state_predict
+
+ Conflicts:
+ src/mesa/drivers/dri/r300/r300_cmdbuf.c
+ src/mesa/drivers/dri/radeon/radeon_cmdbuf.h
+
+commit 4484ce9c7b196a686a3928f7e29dc8d9b6f3cae3
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Sun Aug 23 16:22:01 2009 -0400
+
+ radeon: add radeon_cs_write_table to the legacy path
+
+commit becb50f84dc94f643dc480d6a2256518f1a5a854
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Sun Aug 23 16:06:31 2009 -0400
+
+ r600: bump reloc_chunk size
+
+ This fixes openarena reloc errors. This needs to be
+ made more dynamic.
+
+commit 670bd47df9f76b8e78c266b71d26a2a3968080ec
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Sun Aug 23 15:32:42 2009 -0400
+
+ r600: fix count for CB/DB target state
+
+commit e1801d861a4654b98fe67b5ee69d6732d80b06e2
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sun Aug 23 21:11:55 2009 +0200
+
+ r300: fix a typo
+
+commit bcbe27d0ca304bb40c150a4fe5b846e8a987980e
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sun Aug 23 21:11:13 2009 +0200
+
+ radeon: use proper macro
+
+commit 7e7f0f61bf41bccfdd0f68afc03ccc6b1d3c0c91
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sun Aug 23 21:02:12 2009 +0200
+
+ radeon: use bo_is_idle interface for checking if OQ result is available
+
+commit 4aadda5f66adda1b7814ec1dec39b5e8f4f71cc5
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Wed Aug 19 23:35:00 2009 +0200
+
+ r300: minor optimization
+
+ use properly implemented OUT_BATCH_TABLE where possible
+
+commit 9b70c33e735ff060ddad7d0b501d19c670f41618
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Sat Aug 22 19:19:40 2009 -0700
+
+ ARB prog lexer: Fix lexer to eat both DOS and Unix line endings
+
+commit 7a05a4c65cdb109ed43ee4587492f4637d3707b3
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Sun Aug 23 13:41:43 2009 -0400
+
+ r600: use persistent bos for shaders
+
+commit 41934be2544ac47a308719c08ee1bba344fed78d
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Sun Aug 23 12:59:09 2009 -0400
+
+ r600: always emit CB base
+
+ Not doing so seems to cause lock-ups or rendering problems
+ on some chips. I think there is an logic issue related to
+ CB and VGT on some chips. We ran into similar issues in
+ r600_demo IIRC.
+
+commit b34695375ea6dcf78a113041ed8beb20cea15c71
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Sun Aug 23 14:02:46 2009 +0300
+
+ radeon: Fix compilation with legacy memory manager.
+
+commit 66bbafb6f9d44da3baddac6d948ba361182dde2a
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Thu Aug 20 17:57:37 2009 +0300
+
+ radeon: Check from kernel if dma buffer is idle.
+
+ This makes sure that objects are leaving wait list only when they are processed by gpu.
+
+ Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
+
+commit bf6d0ae5980a48b24ace49030eca221dcbec163f
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Sat Aug 22 18:02:03 2009 -0400
+
+ r600: make state emit more fine grained
+
+ Gives a nice speed boost in most apps since
+ we only emit what state we need.
+
+commit 08e91e0315622d1f54ffc1bfb34024a2bf510aec
+Author: Renato Caldas <seventhguardian@gmail.com>
+Date: Sat Aug 22 20:22:03 2009 +0100
+
+ shader: fix compilation warnings
+
+ This patch fixes some "implicit declaration of function" compilation
+ errors/warnings on the new shader code.
+
+ Signed-off-by: Renato Caldas <seventhguardian@gmail.com>
+
+commit 523cb80d0f28d8dbb7b53b4d798e63baacc0ca35
+Author: Luo Jinghua <sunmoon1997@gmail.com>
+Date: Sat Aug 22 13:52:46 2009 +0800
+
+ ARB prog parser: include imports.h to kill some compiler warnings
+
+commit 180c304943537210b2f6459ea21e9bff85f9827e
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Sat Aug 22 15:03:41 2009 -0400
+
+ r600: move full state to radeon state atoms
+
+commit 17813931db4cc114262d306f4c1484cd353a13f9
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Sat Aug 22 11:44:05 2009 -0400
+
+ r600: add support for RS880
+
+commit c87ef0870a84af44dac6cf9bd49679822a1c4c24
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Sat Aug 22 01:35:12 2009 -0700
+
+ i965: Implement frag prog DPH like DP4
+
+ DPH can output to any component, not just to X. This allows fpalu.c
+ to run without hitting the assertion in emit_dph.
+
+commit effda2e2a7f8ef7406d698c6b31dbbff408ed112
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Sat Aug 22 04:37:24 2009 +0300
+
+ r300: Fix debug output.
+
+commit 54fb71b863c6a4d4cda61c69d842f7ee91d062f9
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sat Aug 22 01:35:10 2009 +0100
+
+ st/dri: Remove some debug prints
+
+commit a3e59b9d06bcad6b1ab741ee659a4db0d119d5ef
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sat Aug 22 02:12:21 2009 +0100
+
+ st/dri: Find out if the drawable is a pixmap
+
+ Part of this code is disabled since no performance gains
+ where detected with it enabled.
+
+ This code only detects if it is a pixmap that it is
+ rendering to on the st/xorg DDX since it sets the fake
+ front to the same handle as front.
+
+commit 6237ac2412b08a3b6239203be69ce542335ae47e
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sat Aug 22 02:11:58 2009 +0100
+
+ st/dri: Fix frontbuffer rendering with DRI2
+
+commit 29165a2fcc308321c926f125d5b3b45779de6f1e
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Aug 21 23:20:46 2009 +0100
+
+ st/xorg: Handle fake fronts correctly for pixmaps
+
+commit a469b4c459765445eb581e94643c75e9f651aabd
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sat Aug 22 02:06:29 2009 +0100
+
+ i915g: Remove bad assert on fence
+
+commit 6c5c46f842c80d4397d7971bea1a439fcd5e57d1
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Sat Aug 22 02:43:41 2009 +0300
+
+ r300: Fix dri1 not to emit state that is not supported in old drm.
+
+commit c0f4063703265fc4009e6cadc2de79f553f99b1c
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Sat Aug 22 02:43:00 2009 +0300
+
+ radeon/r300: Code clean up and logic fix.
+
+commit 029e643b24f7deea51e90b9101323e7bcce43681
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Sat Aug 22 01:33:37 2009 +0200
+
+ glx/dri2: Always use X drawable ID for DRI2 protocol.
+
+ Fixes protocol errors in cases where the GLX ID is different.
+
+commit 6b1f144d9b75ffed88e7d1ae3e05943c34db7905
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Sat Aug 22 01:24:39 2009 +0200
+
+ Fix r300 VBO support build on big endian.
+
+commit bf5d6cf455c02d752cfea320f14765b997dc7266
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri Aug 21 17:41:43 2009 -0400
+
+ r600: better default state size.
+
+ Hopefully suokko's emit size impovements will
+ land soon.
+
+commit bb43c5d1cb0d3030f6bd7d72be000f980ced5bbb
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Fri Aug 21 23:48:39 2009 +0300
+
+ r300: Remove calls to rcommonEnsureCmdBufSpace.
+
+ All rendering is checked in r300PredictTryDrawPrimsSize which mamde these calls useless.
+
+commit 90647ff5585ffb1417190e28f88bf1aeed681793
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Fri Aug 21 21:21:16 2009 +0300
+
+ radeon: protect against buffer overflow in state atom debug code.
+
+commit 4cfb1b880b52d6bba32f4ebec78040ff6bf6737f
+Merge: ef98eed ac5551f
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Fri Aug 21 11:34:30 2009 -0700
+
+ Merge branch 'asm-shader-rework-1'
+
+commit b7ec2ebe33608f9107ff7cae6b974edc8097cecd
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Fri Aug 21 20:44:54 2009 +0300
+
+ radeon: Improve state emit code.
+
+ Trying to make understanding code easier with small refactoring and renaming.
+
+commit 0bf4308580a88ac672f84472cb76e0236d7f8902
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Fri Aug 21 20:10:30 2009 +0300
+
+ r300: Add debug output to show how much was emited in TryDrawPrims.
+
+commit ef98eed0a94f3b76399b19f9f65ca6977cd11b5d
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 21 11:04:01 2009 -0600
+
+ radeon: fix incorrect loop limit (warned by -O3)
+
+commit 49c0825655bad3afde57faab84001641bd5340b8
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 21 11:03:30 2009 -0600
+
+ glx: initialize some local vars to silence warnings with -O3
+
+commit 1aba1baa622116759bfedca87f37e527c0111d16
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 21 10:24:50 2009 -0600
+
+ st/mesa: flush bitmap cache if Z value changes
+
+ When adding a new bitmap to the cache we have to check if the Z value is
+ changing and flush first if it is.
+
+ This is a modified version of a patch from Justin Dou <justin.dou@intel.com>
+
+commit d6b5464aaa93585376610ce8cace66ea3798723d
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Fri Aug 21 18:55:34 2009 +0300
+
+ r300: Predict emit size for next rendering operation.
+
+ We do flush for cmd buffer in case there isn't enough space left for whole
+ rendering operation. This protects dma regions from getting released in middle
+ of state emit.
+
+ Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
+
+commit 12fe319c53187e9a316f8c26441040a84ae4efca
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Fri Aug 21 18:29:06 2009 +0300
+
+ r300: Handle possible fall back if space check fails.
+
+commit 11d3ec1f93fe49e6299c2ccae4d3bf0f5f39372e
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Fri Aug 21 12:37:49 2009 +0300
+
+ r300: Delay allocation of dma regions in TryDrawprims.
+
+ This makes it easier to predict size of next rendering operation so we
+ can do early flush.
+
+commit 66513ba884350c45226c3820d43bfa0b834b93c1
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Thu Aug 20 23:02:37 2009 +0300
+
+ r300: Clean emit code.
+
+ This fixes some state atom check functions from returing wrong emit size.
+
+ There is emit code cleanup so that emit function selection is done in init
+ time instead of runtime.
+
+ Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
+
+commit d1a0ece9077b3de49c293a04c220b995424cef28
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Wed Aug 12 20:28:54 2009 +0300
+
+ radeon: Port flush preventation code from r200 to r100.
+
+ - emit prediction
+ - fixes to emit_sizes for data
+ - clean up of excesive use of radeonEnsureCmdBufferSpace
+
+ Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
+
+commit 60d156f68864c48e18dfc2691eca5e11c4000fa8
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Wed Aug 12 01:40:17 2009 +0300
+
+ r200: Make swtcl use state size prediction for flush.
+
+ Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
+
+commit e083f53ce4a8115df9d56b99d5dcfc249c7f90e7
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Wed Aug 12 01:12:23 2009 +0300
+
+ r200: Remove unnecessery Elts from r200 context.
+
+ Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
+
+commit 9f7676c7182c0ae3d191b2e6e923b3196fc9e376
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Wed Aug 12 00:13:00 2009 +0300
+
+ r200: Remove unnecessary calls to rcommonEnsureCmdBufSpace.
+
+ Calling EnsureCmdBufSpace is not required because rendering pipeline has to quarentee free space.
+
+ Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
+
+commit 0f41259eff62e341e9bfe6ec39f2a7fb8f1c7656
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Wed Aug 12 00:05:24 2009 +0300
+
+ r200: Fix atom->check call to return emit size for atom.
+
+ This patch makes render emit size prediction count the corect maximum emit size
+ for state.
+
+ Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
+
+commit fb1d0bfd47fb8790e0b350a0fad7bc0af39e70f4
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Tue Aug 11 23:43:35 2009 +0300
+
+ r200: Prevent flush in middle of rendering.
+
+ Patch adds prediction functionthat tries to predict emit size to the smallest
+ possible values that is quarenteed to be higher than worst case scenario in
+ rendering pipeline.
+
+ State emit size prediction code is in place but fix for emit sizes is included
+ in next patch.
+
+ Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
+
+commit 7f8f486b36dc42a3818546c704321320fcdbc94b
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Fri Aug 7 19:35:55 2009 +0300
+
+ radeon/r200: Add -Wall to default build flags like it is in r300/r600
+
+ Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
+
+commit 45e3be3c07f543f3f2869ba7750ba4695cd25122
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Tue Aug 4 01:39:37 2009 +0300
+
+ glx: Make drawables persistent untill they are changed by glXMakeCurrent
+
+ This fixes bug that xdemos/manywin would segfault if it was run with command
+ ./manywin 2. Demo is tring to call glXSwapBuffers while another context was
+ bind using glXMakeCurrent.
+
+ Fix is simple makes drawable and readable persistent untill they change or
+ context is destroyed.
+
+ I found a logic error when same dri context is used for multiple drawables
+ which caused readable and drawable to fall out of sync in special case. Fix
+ is simple just updating drawables more often than in original patch.
+
+ Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
+
+commit b1f156f0ecc93e456757fa95497b2af9b045d4de
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Fri Aug 21 13:55:30 2009 +0800
+
+ egl: Make _eglChooseDriver return the filename of the driver.
+
+ The real difference is that the driver suffix is now appended. This
+ also fixes an annoying bug that EGL_DRIVER could not specify the path to
+ a driver because a suffix was always appended.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 5a459d58fca2b71cb77c39f98df8a81ce6298421
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Fri Aug 21 13:53:36 2009 +0800
+
+ egl: Remove dependency on libX11.
+
+ libX11 is used to determine the screen number, which is in turned used
+ to determine the DRI driver. However, the sysfs interface for
+ determining the DRI driver is gone, and no working driver depends on
+ this mechanism.
+
+ Display string parsing is moved to a new function,
+ _eglSplitDisplayString.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 1f871a4d1536a7124d82d4503d1167bd668f84da
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Thu Aug 20 19:35:28 2009 +0800
+
+ egl_softpipe: Do not flush unlinked context.
+
+ An unlinked context is destroyed after _eglMakeCurrent. Flushing such
+ context would cause segfault.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 408db29792a2d57409f2604974e4398a3545a38f
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Wed Aug 19 13:00:25 2009 +0800
+
+ egl: Check for null display in handle checking.
+
+ The display may be NULL when checking a handle.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 9b3e5df900db465319ed4b5d4c4721e1986fb5a3
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Aug 21 15:02:48 2009 +0200
+
+ st/egl: Add support for drmModeDirtyFB command if found
+
+commit 0c0cea250d6615bbd500ac0b61b5d34bc61711cf
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Thu Aug 20 18:57:35 2009 +0300
+
+ radeon: Add comment to explain logic for freeing dma buffers.
+
+commit ac5551fbb97dd668f0c96c334d23b1fc48d16e18
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Thu Aug 20 18:29:41 2009 -0700
+
+ ARB prog parser: Revert part of previous change to constant parsing
+
+ The commit "ARP prog parser: Implement the spec, not what makes sense"
+ broke the parsing of scalar constants. This commit reverts that part
+ of that commit. Now vp_swizzle.c passes.
+
+commit ba48e78b1f7cf307d505583f758c65b158f5aae0
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Thu Aug 20 18:55:41 2009 -0400
+
+ r600: convert to using common radeon state atoms
+
+ switches more state handling to common code. We need
+ should be more fine grained with the state atoms
+ eventually.
+
+commit a47bb56d45af07b8cf1461c4c00620ec0b6aca41
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Thu Aug 20 17:20:27 2009 -0400
+
+ r600: improve state emission
+
+ Slowing migrating to atom based system like
+ the other radeon drivers.
+
+commit ad36058e21630bcb13244ff5939cb7ced44eb715
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Thu Aug 20 16:07:07 2009 -0400
+
+ r600: split state emit into block specific functions
+
+ We probably want to go finer grained eventually, but
+ this is a good start.
+
+commit a215da5e9c752e58d8cdd7e05c0f374dae5e72c0
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 20 14:30:08 2009 -0600
+
+ progs/glsl: report compile/link times in shtest.c
+
+commit f300db379e49c39418c4f05cc377ee7733d90163
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 20 14:29:26 2009 -0600
+
+ progs/util: added GetShaderCompile/LinkTime() to get compilation/link times
+
+commit 8a883d165783d016923ea4b29a9e1e198b578a7a
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 20 14:19:35 2009 -0600
+
+ progs/glsl: update multitex.shtest for new texture syntax
+
+commit 0062bd68b3279936fa67e2429cc94a845fe8c27c
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 20 14:19:01 2009 -0600
+
+ progs/glsl: update shtest.c to handle 1D/3D/CUBE/RECT textures
+
+commit 174054c973eca95b9640c44f08da3da6e74de68e
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 20 10:58:05 2009 -0600
+
+ progs/glsl: tweaks to shtest.c
+
+ 1. Larger sphere to match cube size
+ 2. Allow -geometry option to override window size
+ 3. Cube samplers
+
+commit d7c55555ac6b6bf60cf7fd54dfea0e62ce57542c
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Thu Aug 20 21:39:02 2009 +0200
+
+ nv50: use VTX_ATTR_nF for constant vtxelts
+
+commit 6d1f63f52029d8c3ba8849feb2cb0ca87427b8ac
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Thu Aug 20 21:30:49 2009 +0200
+
+ nv50: set vertex buffer limits
+
+commit 80c5ab1586c03b06683d843842c052e2ff099e2e
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Thu Aug 20 21:28:28 2009 +0200
+
+ nv50: modify vbo format to hw translation, add BGRA swizzle
+
+commit ce723d8d8b011f2efaea6588c42b6d11ee2e7115
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 20 10:34:45 2009 -0600
+
+ tgsi: check for SOA dependencies in SSE and PPC code generators
+
+ Fall back to interpreter for now. This doesn't happen very often.
+
+commit 4c7c294ffff2a66f4585faa41ea9810527ea1e92
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 20 10:28:22 2009 -0600
+
+ tgsi: handle SOA dependencies for MOV/SWZ
+
+ SOA dependencies can happen when a register is used both as a source and
+ destination and the source is swizzled. For example:
+
+ MOV T, T.yxwz; would expand into:
+
+ MOV t0, t1;
+ MOV t1, t0;
+ MOV t2, t3;
+ MOV t3, t2;
+
+ The second instruction will produce the wrong result since we wrote to t0
+ in the first instruction. We need to use an intermediate temporary to fix
+ this.
+
+ This will take more work to fix for all TGSI instructions. This seems to
+ happen with MOV instructions more than anything else so fix that case now
+ and warn on others.
+
+ Fixes piglit glsl-vs-loop test (when not using SSE). See bug 23317.
+
+commit 5e6d21afa4efe033e27b980cc26266c3db6d9021
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 20 10:25:42 2009 -0600
+
+ tgsi: added tgsi_full_instruction::Flags field
+
+ Users of the parser can make use of this.
+
+commit e93d41d24f15491415538c82959f0d511bb40813
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Thu Aug 20 17:33:56 2009 +0200
+
+ st/egl: Open the first drm node
+
+ At least its better then hardcoded to i915
+
+commit 94d14f6cd223a2c90f2a177f5b1dfc55fb8d659a
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 20 10:44:32 2009 -0600
+
+ progs/glsl: more comments in shtest.c
+
+commit 45cd9d80dbc7298240b5dfaf929ecebeb5c6c6af
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 20 10:43:48 2009 -0600
+
+ tgsi: when printing/dumping programs indent loops and conditionals
+
+commit 1645adc55155747708f1f5b1c629ac03cc5126df
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 20 10:34:45 2009 -0600
+
+ tgsi: check for SOA dependencies in SSE and PPC code generators
+
+ Fall back to interpreter for now. This doesn't happen very often.
+
+commit 013bd4da1a4c112334c0b658f2506446df3666a6
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 20 10:28:22 2009 -0600
+
+ tgsi: handle SOA dependencies for MOV/SWZ
+
+ SOA dependencies can happen when a register is used both as a source and
+ destination and the source is swizzled. For example:
+
+ MOV T, T.yxwz; would expand into:
+
+ MOV t0, t1;
+ MOV t1, t0;
+ MOV t2, t3;
+ MOV t3, t2;
+
+ The second instruction will produce the wrong result since we wrote to t0
+ in the first instruction. We need to use an intermediate temporary to fix
+ this.
+
+ This will take more work to fix for all TGSI instructions. This seems to
+ happen with MOV instructions more than anything else so fix that case now
+ and warn on others.
+
+ Fixes piglit glsl-vs-loop test (when not using SSE). See bug 23317.
+
+commit fffcecc4d93253b077479d5f550a8fc5c20e54cd
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 20 10:25:42 2009 -0600
+
+ tgsi: added tgsi_full_instruction::Flags field
+
+ Users of the parser can make use of this.
+
+commit 0f0a9e3ee752f1746d6dba748522fb3e15e4af1a
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Thu Aug 20 12:10:42 2009 -0400
+
+ r600: try and get everything in the draw in one IB
+
+ fixes corruption issues with apps like teapot and
+ geartrain.
+
+commit 1b1d59137301b9f8bccba8e61fb2d93f824616bd
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Thu Aug 20 11:33:41 2009 -0400
+
+ r600: move misc regs from general state
+
+ These regs don't use the SET_CONTEXT_REG packet,
+ so they weren't getting set correctly.
+
+commit 39ec4a9253197c4507d53ce9a3c1d8963d8f5cea
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 20 08:10:14 2009 -0600
+
+ mesa: add GL_DEPTH_STENCIL to glCopyPixels error check
+
+ Plus, add a comment about 'type' error checking.
+ See bug 19087.
+
+commit 525ddb1f56aceee74a08764315dc6420f198ccc2
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Thu Aug 20 03:19:58 2009 -0400
+
+ r600: rework emit code
+
+ make sure we allocate enough space for relocs
+
+commit ec1540052b8f2f4340bb2c8624e667df7a9a23db
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Wed Aug 19 23:11:14 2009 +0300
+
+ radeon: Update regulary cs processing info from kernel.
+
+ This fixes problem that dma buffers were leaking in dri1 mode.
+
+ Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
+
+commit 8604a896a60a5f3f81d6ebecf827aeaddf8c640c
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 19 13:17:03 2009 -0600
+
+ gallium: rename copy/fill_rect utility functions
+
+commit 4522cdbfdd1ec8c56f40b1f876e51c3dc8e7042a
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 19 13:16:41 2009 -0600
+
+ gallium: fix tags target in Makefile.template
+
+commit 174aeabc0f00440e3d18813f0b461470448929fc
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Aug 19 13:06:53 2009 -0400
+
+ radeon: fix typo in last dma patch
+
+commit 29e51c3872531366570d032147abad50f8a3c1af
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Aug 19 09:30:47 2009 -0700
+
+ intel: Fix failure to commit -a --amend before last push.
+
+commit a70e1315846cd5e8d6f2b622821ff8262fe7179d
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Aug 18 18:48:54 2009 -0700
+
+ intel: Align cubemap texture height to its padding requirements.
+
+commit b053474378633249be0e9f24010650ffb816229a
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Aug 12 19:40:27 2009 -0700
+
+ intel: Align untiled region height to 2 according to 965 docs.
+
+ This may or may not be required pre-965, but it doesn't seem unlikely, and
+ I'd rather be safe.
+
+commit 947df2e5a8e4e701db67219179fb9953df8ff6e6
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Wed Aug 19 15:20:15 2009 +0300
+
+ radeon: Add debug output for dma buffer object numbers.
+
+ Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
+
+commit 66e019c6c91e6ae3fb9e26a12d7b7782a0095a8d
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Wed Aug 19 14:47:25 2009 +0300
+
+ radeon: Fix dma buffer object pool to scale object sizes.
+
+ This fixes problems when application is using large vertex arrays for drawing.
+
+ Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
+
+commit d551b3ac88bffae7e0170ca3f0993c8dcd491c32
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Aug 19 10:31:17 2009 -0400
+
+ r600: minor cleanup
+
+commit 0259a2ad695d60d5293147d37b8f6d482146becb
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 19 08:58:38 2009 -0600
+
+ progs/xdemos: add multictx to .gitignore
+
+commit c69d9296fbf02ed2a50e37456a733bef885995ca
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Aug 17 17:48:34 2009 +0100
+
+ tgsi: Add missing include.
+ (cherry picked from commit d2787c02c130b1fe20d0c032d468622f2fdaef79)
+
+commit b2f3f7dd12eeab31c7edbc7c5ff52230bc8c4296
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Aug 18 15:25:33 2009 +0100
+
+ tgsi: Fix typo in ureg constant creation.
+ (cherry picked from commit aa40c9abc7787fdf46cb661a4d0bb8bec513fc63)
+
+commit dd5ac3cafc024a02900786c1b9e28c319250f3e3
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Aug 14 18:12:08 2009 +0100
+
+ st/xlib: remove a couple more 'fake' references
+
+commit 515a820021c208c87deac20deea41ef5621e74ea
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Aug 14 18:00:49 2009 +0100
+
+ st/xlib: remove dead ungrab helper
+
+commit 65079afcde1be96d980b56e86bdd023d8e5a338b
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Aug 19 12:00:24 2009 +0100
+
+ tgsi: silence compiler warning
+
+commit 7dc55275922aa52f281b7d8d4a5d776a3799b762
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Aug 19 12:00:03 2009 +0100
+
+ tgsi: remove unused function argument
+
+commit 265e210edb2fdf0f6ae777635676f05613b38eb7
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Aug 19 11:54:06 2009 +0100
+
+ tgsi: add missing functionality to support instructions with labels
+
+ Could previously emit opcodes with label arguments, but was no way to
+ patch them with the actual destinations of those labels.
+
+ Adds two functions:
+
+ ureg_get_instruction_number - to get the id of the next instruction
+ to be emitted
+
+ ureg_fixup_label - to patch an emitted label to point to a given
+ instruction number.
+
+ Need some more complex examples than u_simple_shader, so far this has
+ only been compile-tested.
+
+commit e327845e2b72936c60a143d46a52dbbe81afdd72
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Aug 18 21:22:30 2009 -0700
+
+ r300g: Force off ZTOP optimizations for now.
+
+commit 0086a84e2df92d48d3fb3361daaa1359d920fb31
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Aug 18 18:14:22 2009 -0700
+
+ r300g: Utilize DONTBLOCK.
+
+ Also ALGYRHYTHMS.
+
+commit c0bc070ff5334db173df6f774257ae4c5c6e394e
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Aug 18 18:11:46 2009 -0700
+
+ radeon-gallium: Oh, look, we *do* already support DONTBLOCK.
+
+ Well, okay, the kernel doesn't, but that's no excuse for us! :3
+
+commit a381ee82663f10ff3cdcfad331258d03d4188894
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Aug 18 17:52:03 2009 -0700
+
+ r300g: Massively cleanup OQ.
+
+ Still broken, but compiles cleaner, behaves better, etc.
+
+commit 4092f318db440532f78a39c0444b987039c8f7f7
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Aug 18 17:49:58 2009 -0700
+
+ r300g: Add high_second_pipe cap for R3xx chipsets.
+
+ This name is totally subject to change if ever I need to separate R3xx
+ for some other reason.
+
+commit 14378cbd2df79d7695757b4fcb7a3ca2b1d964fe
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Aug 18 17:47:06 2009 -0700
+
+ radeon-gallium: Stop using outdated ioctls.
+
+commit c63bd15f81cecfb421ff798a3e2d0f82b90331db
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Aug 18 11:44:53 2009 -0700
+
+ Revert "r300-gallium, radeon-gallium: Nuke gb_pipes from orbit."
+
+ This reverts commit 6a40d1e9d96f8e8c57bc3bbd6f567cacd4471f59.
+
+ Turns out that we *do* need these for OQ after all. Go figure.
+
+ Conflicts:
+
+ src/gallium/winsys/drm/radeon/core/radeon_r300.h
+
+commit 73fc09a7bf5c63b595251dc10997891c72ecb119
+Merge: e4aa62a 3097d7d
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 18 17:55:27 2009 -0600
+
+ Merge branch 'mesa_7_5_branch'
+
+commit e4aa62a6ce7067269c0befb984bcb8136420cb2c
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 18 17:54:44 2009 -0600
+
+ egl/xlib: move call to create_configs() after we set the Xdpy field
+
+commit 3097d7dbf8b6acd2e5f4fd2adf45c5fb85f73952
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 18 17:50:43 2009 -0600
+
+ tgsi/ppc: we don't implement saturation modes yet
+
+commit fab17c1216e9ae03eaa035dd36dc773d442b345d
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 18 17:49:57 2009 -0600
+
+ tgsi/sse: we don't implement saturation modes yet
+
+ Fixes piglit fp-generic tests/shaders/generic/lrp_sat.fp, bug 23316.
+
+commit ee0984e299f7a48fbd3a0172ec9c471e0e8cbb92
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 18 17:39:55 2009 -0600
+
+ mesa: when emitting vertex program fog, set yzw=0,0,1
+
+ Fixes piglit fp-fog failure with gallium.
+
+commit b062a119ff5fa06fe7b2e40262829f93cde63a96
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 18 09:42:38 2009 -0600
+
+ mesa: call FLUSH_CURRENT() for GL_CURRENT_TEXTURE_COORDS query
+
+commit a512985fd81c1ed4ccc5e69aaa05015cf7ff844d
+Merge: 0b5af41 c80bc3a
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Tue Aug 18 12:20:36 2009 -0700
+
+ Merge branch 'master' into asm-shader-rework-1
+
+ Conflicts:
+ src/mesa/shader/arbprogparse.c
+
+commit 0b5af41c6fae2809f4567a7cecbd207e5e4f3ab5
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Thu Jul 30 11:19:56 2009 -0700
+
+ ARB prog parser: Delete the old parser
+
+commit ea8db5c3329bdee6ea0ca9b347730ec348d7c0af
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Thu Jul 30 11:05:07 2009 -0700
+
+ ARB prog: Revert some changes to debug output
+
+commit f9b8562f32b77a27c872d4c70a86995032541107
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Tue Aug 18 14:30:51 2009 -0400
+
+ radeon: balance dma buffer mapping
+
+ In radeonRefillCurrentDmaRegion() make sure we
+ unmap the previous buffer.
+
+commit 657109bbc659c77b41d929a1585fc251fb1caba3
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Aug 18 19:54:41 2009 +0100
+
+ egl: Create the front texture the properly
+
+commit caae3f1e8d6e49567c2e26ac2eef1bdd535f4e19
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Fri Aug 14 14:55:24 2009 +0300
+
+ r300: Movde debug output from stdout to stderr in copiler.
+
+ Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
+
+commit 1279cdcb1f3e37a91bb5252826386205dc3e579d
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Jun 26 15:05:02 2009 +1000
+
+ r200: make use of DMA buffers for Elts a lot better.
+
+ This allows us to return the unused portion of the dma buffer
+ to the allocator instead of wasting nearly 16k a pop.
+
+ Cherry picked and ported to new code by Pauli.
+
+commit ae290fd93e41d3f33546d0376ea7ff93bb8fcf31
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Sat Aug 15 01:56:21 2009 +0300
+
+ r200: Fix missing offset from elt buffer pointer.
+
+ Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
+
+commit bbf2b5c4ffcb6755d34a5b698445aecf604e45fb
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Fri Aug 14 22:10:24 2009 +0300
+
+ radeon: Optimize memory handling for dma operations.
+
+ We keep dma buffer objects in list untill they have been unused for many
+ draw operations. Current limit of having 100 flushes is just guess for
+ good performance/memory trade off.
+
+ Moving WARN_ONCE macro to common context because it is used in multiple drivers.
+
+ Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
+
+commit c745c87b3ecd6d9b734c48b0afa3d60e1a44d638
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue Aug 18 11:38:54 2009 -0400
+
+ r300: fix the build on big endian
+
+commit 1c1ee1176d889ff5ff0a41af9ad385c4532322a3
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 18 09:31:22 2009 -0600
+
+ gallium: improved comments, minor whitespace changes
+
+commit 34d8c13bff05de200dbad70d0798519108e186f2
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Fri Aug 14 18:26:26 2009 +0800
+
+ egl: Remove eglhash.c and eglhash.h.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit e484a929289e859d9f8ef8028af3b0d8dc77b6d6
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Fri Aug 14 18:02:38 2009 +0800
+
+ egl: Add back handle checking.
+
+ Handle checking was done using hash tables. Now that they are gone, we
+ have to loop over the lists.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit e3734e46850c3cf9a80df32bacae92593a416c14
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Fri Aug 14 18:05:19 2009 +0800
+
+ egl: Make lookup functions static inline.
+
+ progs/egl/demo3.c is also changed since it uses an internal function.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 38feefdc4eb4a3c7530b9cddea4c55e9ef39aec8
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Fri Aug 14 17:47:00 2009 +0800
+
+ egl: Remove hash table for displays.
+
+ The hash table was used to map a display to a handle. It is simpler to
+ cast directly.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 7a9f52800932c02f5b425158b4978d0c1d2f4fd3
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Fri Aug 14 17:29:23 2009 +0800
+
+ egl: Remove hash table for surfaces.
+
+ The hash table was used to map a surface to a handle. It is simpler to
+ cast directly.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit ccc2b0bc65b02d4582d52d133290c8cb046bce8f
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Thu Aug 13 13:39:51 2009 +0800
+
+ egl: _eglCloseDriver should be no-op.
+
+ Move drv->API.Terminate call to eglTerminate. Remove
+ _eglReleaseDisplayResource as drivers are doing it.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 5a2c9372a0d9fa1efd924f9386a4e3df47c17d0e
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Thu Aug 13 13:38:24 2009 +0800
+
+ egl: Some per-driver data should be per-display.
+
+ Move some fields of _EGLDriver to _EGLDisplay. It also becomes
+ unnecessary to pass _EGLDisplay to drivers when _eglMain is called.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 0eaa02c836821556c1e8d0141f49f57e23f2548d
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Thu Aug 13 13:01:48 2009 +0800
+
+ egl: Change the way drivers are loaded.
+
+ Driver is chosen and preloaded when eglGetDisplay is called. Later when
+ eglInitialize is called, the same driver is matched to initialize the
+ display. Also, add new, but unused, hooks to EGLDriver to allow a
+ driver to probe a display or unload itself.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 2f2cf461c57974abd89e4917945cc8ae6a67a72e
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Tue Aug 11 17:09:39 2009 +0800
+
+ egl: Overhaul driver API.
+
+ The motivation is so that drivers do not need to look up and check for
+ bad display, context, and etc. It also becomes unnecessary for drivers
+ to call the link functions.
+
+ This commit makes eglapi.[ch] do the lookup and check. As a result, the
+ driver API is overhauled, and almost all sources and drivers need
+ update. The updates are mainly find and replace with human brains.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 521dea21d46b4012653a4998d92ac0f6c0d1a8d4
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Aug 18 20:38:49 2009 +1000
+
+ r600: fix build
+
+commit 771e19a8619fa6cd27eec3beb747f53cf786a024
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Aug 18 20:30:15 2009 +1000
+
+ r300: remove warning introduced with OQ
+
+commit f74e00f4d1cafb5555aefec124edb47cc2891f92
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Aug 18 20:29:02 2009 +1000
+
+ radeon/r200: fix build after OQ commits
+
+commit 9ad76e9479c9c3cb8b2947d5144de33bb31197b8
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sun Aug 16 18:42:24 2009 +1000
+
+ r300: OQ rework
+
+ Move to common code base so radeon/r200 can add support for this.
+ Make OQ start a state emitted like all normal state, and make no-tcl
+ flushing work in proper places.
+
+ Really need a generic post emit space reservation mechanism like max_state
+ so we can reserve some space for the emit
+
+ this code passes demos/arbocclude, piglit occlusion query and
+ glean occlusion query with TCL and NO-TCL on my rv530.
+
+commit 0e705c0dd397fe3c607551f988614178dacb9fa4
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sun Aug 16 18:41:23 2009 +1000
+
+ r300: fix missing BEGIN/END batches
+
+commit c80bc3abcd3939e5e2d45aea4b01ff22bfec244b
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Aug 18 13:55:12 2009 +1000
+
+ r300: fix big endian build
+
+commit 3aafd22f6aef5ffd63349c3d515b5ce681e828dc
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 17 17:11:54 2009 -0600
+
+ gallium: memset() tgsi_exec_machine to all zeros in tgsi_exec_machine_create()
+
+ This fixes invalid values for CondStackTop, LoopStackTop, etc.
+
+commit 680df529a323714013006aae9b3ad5298913a7b3
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 17 12:57:37 2009 -0600
+
+ demos/glsl: remove glutInitWindowPosition() calls
+
+commit af1dc225c2af6fd188cee8b0e2447d6b769518b3
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Mon Aug 17 18:16:38 2009 -0400
+
+ r600: fix counting error after the last commit
+
+commit 66c632b5a1fe165718cc1fe3f2f9030ed05e4d01
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Mon Aug 17 17:47:27 2009 -0400
+
+ r600: make sure the number of indices is valid
+
+ make sure the number of indices is valid for the
+ requested prim type. glxgears sends invalid
+ quad strips with only 2 indices for example.
+
+commit c3380ded10200f2df0cfba4abbe9a9eb892f7cbb
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Mon Aug 17 15:42:19 2009 -0400
+
+ radeon: remove RADEON_DEBUG_BO stuff
+
+ This stuff was a vestige of the r600 bring up and
+ now mostly serves to periodically break the build.
+
+commit caf40d5d145185d6a4c3ce8ff7c30ec93c040abd
+Author: Maarten Maathuis <madman2003@gmail.com>
+Date: Mon Aug 17 14:45:50 2009 +0200
+
+ nv50: remove a few cases of directly casting struct pipe_context
+
+commit 97cc526eb7ae17c6ec3509a129863ea85f4e8900
+Author: Maarten Maathuis <madman2003@gmail.com>
+Date: Sun Aug 16 04:06:44 2009 +0200
+
+ nv50: borrow some flushing code from the ddx
+
+ - This fixes neverball corruption.
+ - I'm unsure about what we're actually flushing here.
+
+commit f199dbdb76892ec31d19f114f042bc6ec82d9e46
+Author: Maarten Maathuis <madman2003@gmail.com>
+Date: Sun Aug 16 03:20:09 2009 +0200
+
+ gallium: Make PIPE_TRANSFER_{READ,WRITE,READ_WRITE} bitmask friendly.
+
+commit 93ce4c99d4c4515b8f8c4e999af53c8196b5f9eb
+Author: Maarten Maathuis <madman2003@gmail.com>
+Date: Sun Aug 16 01:29:06 2009 +0200
+
+ nv50: whitespace fixes and deobfuscation
+
+commit 7c4223876b4f8a78335687c7fcd7448b5a83ad10
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 17 08:27:52 2009 -0600
+
+ cell: fix incorrect pipe_transfer tests
+
+ The value is an enum, not a bitmask.
+
+commit c952c1f109960a50aebf5a6d6bf3cf1e005e0729
+Author: Jerome Glisse <jglisse@redhat.com>
+Date: Mon Aug 17 12:46:34 2009 +0200
+
+ r300: split vbo rendering with big drawarray case
+
+ Split vbo rendering when the number of elements requested
+ by drawarrays is bigger than 65536.
+
+commit 0204c7d8d712c1023b6d75f2f50b0e89d7777de8
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Mon Aug 17 12:26:54 2009 +0200
+
+ nv50: fix stencil state
+
+ It's the front stencil methods that have contiguous offsets,
+ not the back ones.
+ Unfortunately the names in the header still have FRONT/BACK
+ reversed, so I'm using hex values until it gets updated.
+
+commit 743c4af5cdc4c8634d1a26055a8d70f933c88024
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Aug 17 19:09:15 2009 +1000
+
+ radeon: turn off bo debugging
+
+commit fd97f2f8b836bf4370d2a57988de3fe88bd50489
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sun Aug 16 02:04:29 2009 +0200
+
+ r300: disable ZTOP only when occlusion queries are used
+
+commit 30e9c753b8434778a167f708550983688677b232
+Merge: 57f55af 6058718
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sun Aug 16 01:56:29 2009 +0200
+
+ Merge branch 'oq'
+
+commit 57f55af21995f8ec8629503752864fc6c3f38a32
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Sat Aug 15 13:30:15 2009 -0600
+
+ mesa: Add 2 new demos to .gitignore.
+
+commit a7adb858278ee2311e014ca2d7bb56656cbd7aa7
+Author: Maarten Maathuis <madman2003@gmail.com>
+Date: Fri Aug 14 22:25:04 2009 +0200
+
+ nv50: avoid a NULL-ptr dereference when the pipe context changes
+
+ - We cannot assume all state objects are present when the pipe context changes.
+
+commit a2af40b846e0b510887aaf15c2777387a3caae62
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Sat Aug 15 16:22:27 2009 +0200
+
+ nv50: align registers used with TEX to 4
+
+ The TEX instruction is passed the first index of a contiguous
+ range of 4 TEMP registers that contain coordinates / LOD and,
+ after execution, the texel values.
+ It seems the first index is required to be a multiple of 4 on
+ some (older ?) cards.
+
+commit 60587182d4ade36df75ee13edf8df6b529fbb0f1
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Thu Jun 11 16:11:47 2009 +0200
+
+ r300: enable ARB_occlusion_query
+
+ Supported only on HW with TCL block and with proper radeon drm.
+ Required minimum radeon drm version is 1.30 or KMS.
+
+commit d2b1b9e8d5407e87fc2a6276568088115c28029f
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Aug 15 15:10:29 2009 +0200
+
+ radeon: add flag for drm OQ support
+
+commit f3e1d7d6f81f1b84e5cf83a1c7118067ba670f79
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Thu Jun 11 16:10:20 2009 +0200
+
+ r300: temporary occlusion query hack
+
+commit 8d60c0b7514dad075e5d46448614e8e8c5c230a7
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Thu Jun 11 16:00:03 2009 +0200
+
+ r300: clear not_flushed OQ list after flush
+
+commit c903834d4d533e3095fa520afef65d185362cf5d
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Aug 15 14:35:28 2009 +0200
+
+ r300/oq: add some debugging info
+
+commit 0d0f01e2e0b37ed5152614ceeff34da8e46b5e37
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Thu Jun 11 16:13:23 2009 +0200
+
+ r300: add occlusion queries support
+
+ TODO:
+ - use proper interface for checking if bo is idle when it's available
+ - disable ZTOP only when needed
+ - make it work under KMS
+
+commit f2daded8123c0d82e4cd29710a5b2dfcc99068a1
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sat Aug 15 21:34:17 2009 +1000
+
+ radeon space: realign with drm space check code
+
+commit a6cc45e135fbcf2360950c59ddef94e1f5574f2a
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sat Aug 15 21:18:30 2009 +1000
+
+ r300: fixup space checks since VBO code
+
+ Hopefully this gets the ordering correct so the space checks don't fail.
+
+commit 3cc9a28b9b493d2426e2f182fc26b9da847e0c7f
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sat Aug 15 20:30:45 2009 +1000
+
+ r300: add just in case warn I don't think this can actually happen
+
+commit 5e4e8effecb1914b31b869e2aa91f2299e57229d
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sat Aug 15 20:19:09 2009 +1000
+
+ radeon: enable vertex splitting for IBs
+
+ Based on Maciej's code, just fixed up the alignments for INDX_BUFFER
+
+ ut2004 runs AS-Convoy
+
+commit b9789948e0b5c5fad7952ea5b731c675d50a4f58
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Sat Aug 15 03:44:02 2009 +0200
+
+ i965: disable bounds checking on arrays with stride 0
+
+ if stride is 0 we cannot use count as max index for bounds checking,
+ since the hardware will simply return 0 as data for indices failing
+ bounds check. If stride is 0 any index should be valid hence simply
+ disable bounds checking in this case.
+ This fixes bugs introduced with e643bc5fc7afb563028f5a089ca5e38172af41a8.
+
+commit e8957f4800e8257ec6cdff88b87a69bbceb7d0c6
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 14 14:15:18 2009 -0600
+
+ progs/demos: print more info in fbotexture.c
+
+commit e304c65a2b9c1005d6216e91d90a99001549a63d
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Fri Aug 14 16:27:33 2009 -0700
+
+ i965: Add support for GL_ARB_seamless_cube_map
+
+commit 8b0b33530cfc6e623db1d9d97e6127e14cf065ee
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Fri Aug 14 16:26:59 2009 -0700
+
+ demos/cubemap: Add support for GL_ARB_seamless_cube_map
+
+commit 06ae1db4a987fd22a56b6d8a640baffe73599a36
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Fri Aug 14 01:25:05 2009 -0700
+
+ Regenerate files for GL_ARB_seamless_cube_map
+
+commit 9d5bb3c6f820a5a99e1f55b2fd14d250761fcddc
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Fri Aug 14 01:20:56 2009 -0700
+
+ Infrastructure for GL_ARB_seamless_cube_map
+
+commit 970f76866617bc084847ce112c925b456d3deacc
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Thu Aug 13 23:57:03 2009 -0700
+
+ Regenerate files for GL_APPLE_flush_buffer_range
+
+commit a89963cec1b5872d620c73ed8a5e54b10e3bf28b
+Merge: 71b1610 7fe0dd2
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Aug 15 00:52:44 2009 +0200
+
+ Merge branch 'vbo_clean'
+
+ Conflicts:
+ src/mesa/drivers/dri/r300/r300_draw.c
+
+commit 7fe0dd2e6e927e4ec3e532e08aa0551ebaec4cc1
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Fri Aug 14 22:32:57 2009 +0200
+
+ r300: mark VBO buffer objects as persistent
+
+commit cd703049db2adaeecc6149dfa224cc17d4613142
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Fri Aug 14 22:48:03 2009 +0200
+
+ r300: unmap buffer objects after usage
+
+commit e3bc1fb6bcd3141df8ab9123c4f6c276f30f6649
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Aug 14 20:05:33 2009 +0100
+
+ gallium: Always map for READ flag when DISCARD is not set.
+
+ This prevents the driver from discarding a buffer when the whole buffer
+ is mapped for writing, but only a portion is effectively written.
+
+ This is a temporary fix, because WRITE shouldn't imply DISCARD.
+
+ The full fix implies using PIPE_BUFFER_USAGE_DISCARD, throughout
+ the code, and will go only into master.
+
+commit 10430f47a49884ec59eca5942fdaee80119684af
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Aug 14 18:47:56 2009 +0100
+
+ trace: Remove space next to the class attribute of the trace.
+
+commit cdf56eb68d2718b5702f3d09928da404d745b8e1
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun May 31 12:53:22 2009 -0700
+
+ python/retrace: Open bz2 files correctly.
+
+commit 71b1610941f9bfefa01d827fd19cc2368e6cdae3
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 14 12:58:21 2009 -0600
+
+ mesa: append uniform values to the log file the first time we use a shader
+
+ This info is essential to using/debugging a shader outside of its normal
+ application.
+
+commit 12199ed96ca0dd2307e9893c58300623cfa6c0ee
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 14 12:57:39 2009 -0600
+
+ mesa: also pass the GPU program to _mesa_append_uniforms_to_file()
+
+ We want the post-link program at this points.
+
+commit e3d47515f9b376b00743137529b4ca35a8436c92
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 14 11:31:00 2009 -0600
+
+ vbo: call _mesa_valid_to_render()
+
+commit d09a19bf6e09eb0c8908e9b5378962ac17bcbc4c
+Merge: db598b8 1574b05
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 14 11:27:51 2009 -0600
+
+ Merge branch 'mesa_7_5_branch'
+
+commit db598b899868ba6db8f3f525a22a45331589592e
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 14 11:26:20 2009 -0600
+
+ mesa: new _mesa_append_uniforms_to_file() debug/logging function
+
+commit b6e5600bd460245afef605dbfbcf6650ff677dcb
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 14 10:48:31 2009 -0600
+
+ mesa: call _mesa_valid_to_render()
+
+commit d03dde16ebb5ab7f109c8ff6d710d54d50d4fa8f
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 14 10:46:04 2009 -0600
+
+ vbo: call _mesa_valid_to_render()
+
+commit 56c4226fcc54158eb7fe54eeb13539a979ec155c
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 14 10:45:17 2009 -0600
+
+ mesa: new _mesa_valid_to_render() function
+
+ Tests if the current shader/program is valid and that the framebuffer is
+ complete. To be called by glBegin, glDrawArrays, etc.
+
+commit a48b0a5ce7fc17eab4daa375fb95768fa2f50825
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 14 10:41:03 2009 -0600
+
+ mesa: minor error string changes
+
+commit 1574b05189fee1b5802024b505ba93fff345e95c
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 14 11:24:20 2009 -0600
+
+ docs: docs: document new --with-max-width/height config options
+
+commit a7ca80ff6af8d3b28b981b518ca39baba20a2d89
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 14 11:23:18 2009 -0600
+
+ Add a FAQ about internal buffer sizes.
+
+ (cherry picked from master, commit 9a8781bd24730374e14568f67f7db8a9cc444bb4)
+
+commit 467b3d9a6f32b38c36a4be145b07c8f7b719215a
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 14 11:23:00 2009 -0600
+
+ Add configure options for MAX_WIDTH/HEIGHT.
+
+ This adds two --with configure options for setting defines for
+ MAX_WIDTH and MAX_HEIGHT. It's conceivably just as easy to define
+ these in CFLAGS manually, but this way users don't need to know
+ about internal Mesa details.
+
+ Patch updated by BrianP to set DEFINES, not CFLAGS.
+
+ (cherry picked from master, commit 7085dce750f478312a47f474330d63cc900a8448)
+
+commit e691b0e533c552dc5884192a9a2b9347f704479d
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 14 11:22:37 2009 -0600
+
+ Allow external settings of MAX_WIDTH/HEIGHT.
+
+ Conditionalize MAX_WIDTH / MAX_HEIGHT defines so that users can
+ set them via CFLAGS.
+
+ (cherry picked from master, commit 66bc17e80e22d8f205cc02171b1c266feab6631f)
+
+commit 51c47383f9ec68d2ac851e0abd447311ebce2d7f
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Aug 14 17:56:33 2009 +0100
+
+ st/xlib: reduce the proliferation of GLX context types
+
+ Now there is just a single, struct __GLXcontextRec, which is the
+ GLXContext typedef has already been defined as a pointer to. I
+ believe this is the intended usage, that GLX implementations should
+ define that struct as they require.
+
+ Merge the two previous structs into one and get rid of the
+ no-longer-necessary type casts and sub-classing.
+
+commit 9616e4ad1c055d8ff9ab671914f97e402d0aa4b0
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Aug 14 13:41:57 2009 +0100
+
+ st/dri: remove unused dummyContext value
+
+commit 3ffaa11f888ced2ae5da7e794a57f20dcc7a3dfc
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 14 10:30:10 2009 -0600
+
+ mesa: move assertions in test_attachment_completeness()
+
+ Put the assertions after the error checks.
+
+commit 442a5e434381987a426192e2b7d34847de50a0ed
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Fri Aug 14 18:23:55 2009 +0200
+
+ nv50: fix mipmap offsets and tiling
+
+ The hardware expects a texture's tile mode to change with
+ the mipmap level.
+ Also, only multiply by block size once to obtain size.
+
+commit 3506d7d3e2b5ed57cb3f0653421226a863555ae1
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Fri Aug 14 18:16:46 2009 +0200
+
+ nv50: make sure we don't re-emit outdated scissor state
+
+ Since we don't turn off scissors, we need to update the
+ stateobj when the framebuffer size changes.
+
+commit 74e8b1a30b82c89c70048cfcc1f12e1ceebfd628
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Fri Aug 14 18:06:24 2009 +0200
+
+ nv50: make use of the y-origin switch
+
+ Now that we know how to make the hardware have y-coordinate origin
+ top, we can get rid of all the inversion introduced earlier.
+
+commit cdaf63d0eac3787c2e153c91925ced5237ed7941
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Fri Aug 14 17:04:08 2009 +0200
+
+ r300: remove broken vertex splitting
+
+ Revert to previous behaviour of dropping to big render operations.
+
+commit 9e018d822523e559fa8d92c3b5a83dd5554a0676
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Fri Aug 14 16:59:26 2009 +0200
+
+ r300: rework index buffer setup
+
+ Copy elements directly to DMA bo to get rid of one memcpy, and prepare for using VBOs for index buffer.
+
+commit 7c060bff13c4e0ac9ea0644a0fe0fc98f46f9b5d
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Fri Aug 14 16:39:01 2009 +0200
+
+ r300: remove unused software TNL path
+
+ This doesn't remove software TCL path - so RS480 and RS690 work as before.
+
+commit 5fb5ea97f4439184f03075f57fa1fda56caf51b4
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Jul 11 20:40:51 2009 +0200
+
+ r300: use VBOs for vertex attributes
+
+commit c3f9c2eb75f6f07f8b2b98a96b0ddac24a6fa612
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 14 09:00:15 2009 -0600
+
+ docs: document new --with-max-width/height config options
+
+commit 9a8781bd24730374e14568f67f7db8a9cc444bb4
+Author: Tom Fogal <tfogal@alumni.unh.edu>
+Date: Thu Aug 13 19:51:57 2009 -0600
+
+ Add a FAQ about internal buffer sizes.
+
+commit 7085dce750f478312a47f474330d63cc900a8448
+Author: Tom Fogal <tfogal@alumni.unh.edu>
+Date: Thu Aug 13 19:40:30 2009 -0600
+
+ Add configure options for MAX_WIDTH/HEIGHT.
+
+ This adds two --with configure options for setting defines for
+ MAX_WIDTH and MAX_HEIGHT. It's conceivably just as easy to define
+ these in CFLAGS manually, but this way users don't need to know
+ about internal Mesa details.
+
+ Patch updated by BrianP to set DEFINES, not CFLAGS.
+
+commit 66bc17e80e22d8f205cc02171b1c266feab6631f
+Author: Tom Fogal <tfogal@alumni.unh.edu>
+Date: Thu Aug 13 19:23:54 2009 -0600
+
+ Allow external settings of MAX_WIDTH/HEIGHT.
+
+ Conditionalize MAX_WIDTH / MAX_HEIGHT defines so that users can
+ set them via CFLAGS.
+
+commit 87946d206f64946af564f2086299e190883ef6ad
+Author: Tobias Doerffel <tobias.doerffel@gmail.com>
+Date: Fri Aug 14 08:50:43 2009 -0600
+
+ intel: in intel_context struct use typedef for sarea struct
+
+ Using drm_i915_sarea_t instead of struct drm_i915_sarea seems to be
+ a common standard now, therefore fix it also in intel_context
+ structure. Additionally this silences a compiler warning:
+
+ intel_swapbuffers.c: In function `intelFixupVblank':
+ intel_swapbuffers.c:48: warning: initialization from incompatible pointer type
+
+ Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
+
+commit 2674d1ba5005151f2509e79f9f43020508e3525d
+Author: Thierry Vignaud <tvignaud@mandriva.com>
+Date: Fri Aug 14 08:16:35 2009 -0600
+
+ mesa: make sure r300/compiler/ sources are included in tarball
+
+commit 67b639c7ab3355cc24d38af165c9775fcc1af3cf
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Fri Aug 14 13:33:48 2009 +0800
+
+ st/vega: Add more symbols defined by mesa/st.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 895f7c33d4459da80cb41f566b2036d86e1898f5
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Wed Jul 29 19:29:59 2009 +0200
+
+ r300: add required symlinks
+
+ Reported by adamk on #radeon
+
+commit e029c91fd32f934161dad05ffc46a949c70c79db
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Aug 1 12:00:35 2009 +0200
+
+ radeon: handle debug versions of radeon_bo_open
+
+commit f1aa2a43b7588aaca3ef175c8cc5366414cac2f8
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Fri Aug 14 15:26:58 2009 +0200
+
+ nv50: fix typo in REALLOC's 2nd argument in ctor_immd
+
+commit 6bcbeb02d61442919a2ae4dfd642547e5f7b1439
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Jul 11 15:00:52 2009 +0200
+
+ radeon: add VBO support (not enabled yet)
+
+commit 2233ac61e1a690f47a7d4a9d0894c1c20c9c330f
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Aug 1 15:11:57 2009 +0200
+
+ radeon: export emitvec* functions
+
+commit d534648d904da71e604babcf408c00eae7922d16
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sun Jul 26 12:57:41 2009 +0200
+
+ radeon: constify some parameters
+
+commit 7069a7548f17bec2b6525775a496f1afb6364c38
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri Aug 14 01:33:45 2009 -0400
+
+ r600: emit SURFACE_BASE_UPDATE on depth base updates on rv6xx
+
+commit ceb9459ed5e63207defa5d715958c2757933272f
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Aug 14 10:03:51 2009 +1000
+
+ glsl: re-write Makefile after I called it bad.
+
+commit 0c717bcd5dd1fdceb7038a2e2788ca1136a0fa3a
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 13 16:03:01 2009 -0600
+
+ progs/glsl: added multitex.shtest config file
+
+commit 08ecd863ee12601ea95818e02889a9807fd7a62d
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 13 16:02:24 2009 -0600
+
+ progs/glsl: set generic vertex attribute values
+
+commit 62d113216090cd093c7cc6373c9115e31f921e7c
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 13 15:53:49 2009 -0600
+
+ progs/glsl: add type field to shtest config files
+
+ Plus, texture loading.
+
+commit 823703418edd4a65f88b892567dc904664d4e3f8
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 13 15:06:28 2009 -0600
+
+ mesa: added *.shtest files to demo tarball
+
+commit 25cd4dc1d6d82d480719ef9a8bf93813c27740a2
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Aug 14 08:35:49 2009 +1000
+
+ glsl/tests: skinning.o
+
+ worst Makefile ever. not sure what is going on here, hopefully
+ this fixes tinderbox
+
+commit 9d96095c1e40a2ffe988443eb2cb36b4b0a7ca1f
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Thu Aug 13 17:55:42 2009 -0400
+
+ r600: move non-surface related cb state to general state
+
+commit 083b04e809c8d4db9033d18416f2cf761d1207bb
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Thu Aug 13 17:29:24 2009 -0400
+
+ r600: move non-surface related depth state to general state
+
+commit 0896268b97674d009d609476acfa1eed5dfea350
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Wed Aug 12 12:41:22 2009 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs
+
+ Some manual intervention applied since XEXT_* and other macro magic
+ fooled indent. Auto generated files were also skipped.
+
+commit 1e0f621b500db9b3ad3135426e621ffa10727d3b
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 13 14:38:27 2009 -0600
+
+ mesa: fix some invalid memory reads
+
+ We were passing the address of a float to functions that would deref the
+ pointer as an array.
+
+commit 6d55fd705da829286ea45a7438526c2bede2059a
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 13 14:07:25 2009 -0600
+
+ progs/tests: hack a PBO/dlist test
+
+commit ecb177eaea20f3464b08dfc4d94a3194482cf73d
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 13 14:05:52 2009 -0600
+
+ mesa: fix warnings about locals hiding function params
+
+commit 36df6a6e91988590900a879b88eac7c7acc0a86d
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 13 14:00:21 2009 -0600
+
+ mesa: add missing PBO mapping code in unpack_image()
+
+commit ad8a6937ae9933ab92f2b775410c27ec7a9afe42
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 13 13:48:36 2009 -0600
+
+ main: fix some potential memory leaks
+
+ Allocate dlist images after error checking.
+ Record GL_OUT_OF_MEMORY when we can't make a copy of an image.
+
+commit f418d18ea6059c761f45f055c05fbd0bb50f7a80
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 13 13:44:31 2009 -0600
+
+ mesa: fix some potential uninitialized memory references
+
+commit a531a5cf940a55d4438521fe394ae5395977bf3f
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 13 13:44:01 2009 -0600
+
+ glsl: fix some uninitialized pointers
+
+commit 741869d73aa8c9d0d9ae8f1c4ca2df32e235960a
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 13 12:53:20 2009 -0600
+
+ progs/util: ignore pre-defined uniforms in SetUniformValues()
+
+commit ae99e4c67ebc3adb0b71e427723f34085801c3ac
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 13 12:52:13 2009 -0600
+
+ progs/glsl: new shtest program, a simple shader test harness app
+
+ This commit includes some sample config files (*.shtest)
+
+commit 03ba461c1956a466f1c6cb885d208b7a7ac4b4fe
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 13 12:43:09 2009 -0600
+
+ glsl: fix incorrect attribute size
+
+commit 53dfd5d87074cefb9258fbe4dbc916fd18597116
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 13 12:42:52 2009 -0600
+
+ tnl: if NAN_CHECK is enabled, also assert that pos.x != 0
+
+commit c10002361c3bc175ec12d667e762e51a2cc79b47
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 13 10:29:15 2009 -0600
+
+ mesa: s/assert/ASSERT/ in _mesa_reference_texobj()
+
+ We want the no-op ASSERT for non-debug builds.
+
+commit 8a9795e5c6ca353aa831148cd1c262fe1013af48
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 13 10:18:50 2009 -0600
+
+ mesa: rework error check in glGetTexLevelParameter(), remove tex_image_dimensions()
+
+commit 423a53f635f82233e9a570bfc132edc51f7548bb
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 13 10:16:59 2009 -0600
+
+ mesa: if maxLevels==0, target is invalid
+
+commit fe988d786c4076bfbf410b84085d8c1115baa489
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 13 10:14:13 2009 -0600
+
+ mesa: add extension checks in _mesa_max_texture_levels()
+
+commit 47a385b43be9cf2ef0d0b24b1d588dc26940dfe6
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 13 10:01:38 2009 -0600
+
+ mesa: minor clean-ups in bumpmap functions
+
+commit 6aa7a03d856f4cfdbed493c976387b2164a0c922
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 13 09:55:34 2009 -0600
+
+ mesa: use _mesa_get_current_tex_unit() in more places
+
+commit 73b150c816c46a88e3e5d97f9b73ab0095f2bc60
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 13 09:46:42 2009 -0600
+
+ mesa: refactor: move _mesa_is_color/depth/stencil_format() helpers to image.c
+
+commit ba2a55ccd61d9fa5565640faefb64fd6fb0e70ab
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 13 09:38:39 2009 -0600
+
+ mesa: move _mesa_Get[Compressed]TexImage() to texgetimage.c
+
+ All the glGetTexImage code is in one file now.
+
+commit b9f67df6e72e3a33b91c7d942aaa99622efd688c
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 11 15:46:46 2009 -0600
+
+ mesa: short-circuit no-change in _mesa_DepthRange()
+
+commit ace98f09e6e77bba33dd1789506676059bba8e9b
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Thu Aug 13 20:24:09 2009 +0200
+
+ st/dri: Add support for GLX_EXT_texture_from_pixmap with direct rendering.
+
+commit 7c08614b325a409890b44c9b6375cda26d09867d
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Thu Aug 13 18:46:53 2009 +0200
+
+ gallium/drm: Handle circular dependencies in the auxiliary libraries with make.
+
+commit 7ef8c79a8c69d62eecbd4301b0e15d44d0797072
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Thu Aug 13 18:46:53 2009 +0200
+
+ st/xorg: Fix DRI2 CopyRegion hook.
+
+ Use GC CopyArea op for proper translation and clipping, and throttle full
+ buffer swaps / frontbuffer flushes.
+
+commit f2fcd5822a0b308e8b9410061996377c0b4a0a91
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Aug 13 17:22:16 2009 +0100
+
+ tgsi: add simple facility for releasing and reusing temporaries
+
+commit b56d2ba7b2e685e8c551788577b382480e77025a
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Aug 13 17:20:04 2009 +0100
+
+ tgsi: rename ureg src/dest converters
+
+ Also fix a typo in ureg_src().
+
+commit 5c5364a0f6ebcc0ff30baffdb6195be9f4ad7f83
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Aug 13 16:33:50 2009 +0100
+
+ draw: Remove unused variable.
+
+commit 7b39194e2dbad6191b86c232d305dd910000753c
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Aug 13 16:32:51 2009 +0100
+
+ scons: Handle Circular dependencies in the libraries.
+
+commit bf57eda0ecf1996bc2d188ef0b51a8f3ec993412
+Merge: 78918c8 1ce3f5a
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Aug 13 15:57:23 2009 +0100
+
+ Merge branch 'mesa_7_5_branch'
+
+commit 1ce3f5a806f6efb29c231157987e3495c7b41022
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Aug 13 15:54:10 2009 +0100
+
+ draw: cope with more primitives in draw_pipeline_run
+
+ This previously was used only for decomposed (POINT/LINE/TRI) primitives,
+ but for some time a full range of primitives could end up in here.
+
+ Fixes trivial/lineloop-clip on softpipe, among others.
+ (cherry picked from commit 87cd8a3b8a2407b30916be418ff2f95dfea5d2ad)
+
+commit 78918c876054fc428e6f78c02526c0323d134a6c
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Aug 13 14:28:01 2009 +0100
+
+ tgsi: turn off debugging
+
+commit 749e52049dee6717023309f6446efb2c89ed720c
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Aug 13 14:27:42 2009 +0100
+
+ tgsi: use REALLOC for growing token pool
+
+commit 120e76866b4b0d136ae4ed377c6ff96454e39b95
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Aug 13 14:26:50 2009 +0100
+
+ util: silence warnings for third REALLOC argument
+
+ Our fallback realloc path requires an old_size argument, but the posix
+ varient doesn't need this. Add some code to avoid gcc unused variable
+ warnings for this extra argument.
+
+commit b1d82f1f19b9556e9f4491f60b6ef17d7f0b471d
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Aug 13 13:42:42 2009 +0100
+
+ util: remove unneeded includes
+
+commit 002c76cfefe8c1ab12fb7031a649a30fb349a3e3
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Aug 13 12:46:32 2009 +0100
+
+ util: convert u_simple_shaders to use tgsi_ureg
+
+ Much nicer now.
+
+commit 8a7d1e7b7681a4f0be9cee9e62477317dcd09caf
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Aug 13 12:38:58 2009 +0100
+
+ tgsi: add tgsi_ureg, a simplified tgsi shader builder
+
+ This is modelled on the nice & easy-to-use facilities we had
+ for building shaders in mesa, eg. in texenvprogram.c and friends.
+
+ Key points include pass-by-value register structs that can be manipulated
+ in a functional style, eg:
+
+ negate(swizzle(reg, X,X,X,X))
+
+ and per-opcode instruction functions, eg:
+
+ emit_MOV( p, writemask(dst, 0x1), negate(src));
+
+ and similar.
+
+ Additionally, the interface allows mixed emit of instructions and decls,
+ which are sorted out internally to obey TGSI ordering.
+
+ Immediates may be emitted at any time and are scanned against existing
+ immediates to try and reduce redundancy.
+
+ Not all TGSI functionality is accessible through this interface, but
+ most or all of what mesa uses should be.
+
+commit 1f40ffca634b8d6699c9b5d153c231e79527317a
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Thu Aug 13 18:42:52 2009 +0800
+
+ i965: fix cube map on IGDNG
+
+commit 4ce73ad92c723b4e65fbdc1d144b2017f9bcd438
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 12 20:37:34 2009 -0600
+
+ glsl: remove duplicate frag input entry
+
+commit f3b215cba2bca92d6582cc0c34702b73289f909c
+Merge: fdfb0d4 f7618f4
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 12 20:32:41 2009 -0600
+
+ Merge branch 'new-frag-attribs'
+
+ This branch introduces new FRAG_ATTRIB_FACE and FRAG_ATTRIB_PNTC fragment
+ program inputs for GLSL gl_FrontFacing and gl_PointCoord. Before, these
+ attributes were packed with the FOG attribute. That made things
+ complicated elsewhere.
+
+commit fdfb0d4b0e04bff2f3dbae2d1f8e3765fb4b0dce
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 12 17:25:49 2009 -0600
+
+ progs/glsl: change uniform_info::type field to use GLSL vector types
+
+commit af3d7f68894b00a750fa2be72935ab95b5b50d28
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 12 16:17:18 2009 -0600
+
+ demos: call SetUniformValues()
+
+commit f95b82b4861c14e01ec6af81a8de65c2143952b2
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 12 15:43:50 2009 -0600
+
+ mesa: const qualifiers
+
+commit bd4c6a2e503db43e81ef41f77d876308badd93eb
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 12 15:42:51 2009 -0600
+
+ vbo: use _mesa_is_bufferobj()
+
+commit 684049d97d423a5a873aefc5313d0c4b22528b95
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 12 13:53:56 2009 -0600
+
+ demos: rename InitUniforms() to SetUniformValues()
+
+ And call new PrintUniforms() in demos.
+
+commit 378bff0eddf004d131a4c83194fb3e83492c4c37
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 12 13:50:26 2009 -0600
+
+ progs/util: added more shader utility functions
+
+commit 434ec3ada841915a00ffc23f699401eb3e7b37ee
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 12 13:46:16 2009 -0600
+
+ mesa: use _mesa_is_bufferobj()
+
+commit 604031563c92cf632f99cb4f42983faae9b509ef
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 12 13:46:03 2009 -0600
+
+ mesa: use _mesa_is_bufferobj()
+
+commit abbf83551f2ec1d168c3f8449eeed8dad7b394b8
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 12 13:44:43 2009 -0600
+
+ mesa: new _mesa_is_bufferobj() function
+
+ Tests if the given buffer object is a user-created, non-default buffer object.
+ Use this instead of testing bufferobj->Name != 0.
+
+commit d64649a316858a390bafe2aa619be3cf2c98ffde
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Aug 12 13:49:06 2009 -0700
+
+ i965: Make the cube mapping RCP use a writemask.
+
+ Fixes cube mapping since the scalar changes.
+
+commit 5faa0dc591527683e32306456cbfe6d93afa04da
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Aug 12 13:17:15 2009 -0700
+
+ i965: Allocate destination registers for GLSL TEX instructions contiguously.
+
+ This matches brw_wm_pass*.c behavior, and fixes the norsetto shadow demo.
+
+ Bug #19489
+
+commit 63fa5fd319c0d0114085f47f028a36f63c1f7295
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Aug 12 13:00:23 2009 -0700
+
+ i965: drop dead scalar handling in GLSL.
+
+commit 08687c8b402f42eda5e0061112382528836b0fe9
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Aug 12 12:54:43 2009 -0700
+
+ i965: Correct brw_wm_nr_args for WM_DELTAXY and WM_PIXELXY.
+
+commit 863ae3a527947e43136e20a784455738d3221bf3
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Aug 11 18:13:57 2009 -0700
+
+ i965: Drop GLSL ABS code, which is translated away in brw_wm_fp.
+
+commit 4de8b8902f66843a99f5fb703658fecd5a117133
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Aug 11 16:40:20 2009 -0700
+
+ i965: Drop code for emitting OPCODE_SUB, since brw_wm_fp.c makes it an ADD.
+
+commit 0eb819a2d175cab139f8c672b6d44148b2c99a4e
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Aug 11 16:02:54 2009 -0700
+
+ i965: Store the dispatch width in the WM compile struct.
+
+ I'll be using this in merging brw_wm_emit.c and brw_wm_glsl.c
+
+commit 536476f2432168fb15ac06b52c953a594ad851ad
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Aug 12 12:26:19 2009 -0700
+
+ i965: Handle scalar result swizzling in shared GLSL/non-GLSL code.
+
+ This is preparation for merging of brw_wm_glsl.c and
+ brw_wm_emit.c, and glsl.c doesn't swizzle channel results around.
+
+commit 792c49968efa20437edb8ca79d75b09e18e57af4
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Aug 12 11:36:07 2009 -0700
+
+ i965: Flag ARL-using programs as requiring brw_wm_glsl.c
+
+ This doesn't fix the glean testcase, but I guess it provides hope.
+
+commit 4e477aa1ba3bff89c9602c70536401567a538d7a
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Aug 12 11:33:11 2009 -0700
+
+ i965: Remove some unused WM opcode args.
+
+commit 255e5be265133280293bbfd8b2f9b74b2dec50bb
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Aug 11 14:48:03 2009 -0700
+
+ i965: Avoid re-uploading the index buffer when we don't need to.
+
+ No performance difference proven at 95% confidence with my GLSL demo (n=10).
+
+commit a245c05dd3a1ca48204dd84252e6964aba91d4df
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Aug 12 15:38:45 2009 -0400
+
+ r600: fix warning
+
+commit b0c191acaf0fbbfa743781908187344f5081a083
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Aug 12 15:34:24 2009 -0400
+
+ r600: state cleanups
+
+commit 2f6675b8160c5fa2e6e9b5642c133fd2843a7508
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Aug 12 14:49:07 2009 -0400
+
+ r600: clean up Create/DestroyContext
+
+commit b6a4f5f1d3f0a79b4502d0b30d8b259e8189b70f
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Tue Aug 4 14:42:20 2009 +0300
+
+ r200: Prevent TexGenMatrix from leaking when destroying r200 context.
+
+ Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
+
+commit 855374a76a6e83cc0ad4af143b74e655e7b77d5e
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 12 13:16:41 2009 -0600
+
+ vbo: fix incorrect pointer
+
+commit 8f9ee069250fe65bc19c5859963ee85db96e24e1
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 12 12:31:57 2009 -0600
+
+ glsl: add gl_Vertex, gl_Normal, etc to list of active attributes
+
+ If a vertex shader uses gl_Vertex, gl_Normal, etc, we need to include them
+ when the user queries the list of active attributes. Before this we were
+ just including the user-defined attributes.
+
+commit fd5eda1423dff38ea1af589f7abd47b002a4f5ed
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 12 12:27:35 2009 -0600
+
+ glsl: move predefined shader input/output info/code to slang_builtin.c
+
+ This is a more logical place for this code.
+ Also add some functions for querying vertex shader input names, types, etc.
+
+commit 2708ddfb06a36d8568e2aa130bf1f7d551fcd309
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Aug 11 12:31:01 2009 -0700
+
+ vbo: Avoid extra validation of DrawElements.
+
+ This saves mapping the index buffer to get a bounds on the indices that
+ drivers just drop on the floor in the VBO case (cache win), saves a bonus
+ walk of the indices in the CheckArrayBounds case, and other miscellaneous
+ validation. On intel it's a particularly a large win (50-100% in my app)
+ because even though we let the indices stay in both CPU and GPU caches, we
+ still end up waiting for the GPU to be done with the buffer before reading
+ from it.
+
+ Drivers that want the min/max_index fields must now check index_bounds_valid
+ and use vbo_get_minmax_index before using them.
+
+commit ef3ad412c746203727324edbd4cbe04079332d7c
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Aug 12 11:12:46 2009 -0700
+
+ radeon: Minor warnings cleanup.
+
+commit e643bc5fc7afb563028f5a089ca5e38172af41a8
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Aug 11 12:59:09 2009 -0700
+
+ i965: Use _MaxElement instead of index-calculated min/max for VBO bounds.
+
+commit 29173d3d5cf02d58e720b5c7fe48a0630c7d5d5f
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Thu Jul 30 20:17:29 2009 +0300
+
+ radeon: Add protection against recursive DRM locking.
+
+ Reference counting protects DRM lock call from recursive locking that would
+ cause hang. Code also adds optional debugging output for recursive call that
+ is compiled only if NDEBUG is not defined.
+
+ This code is not 100% thread safe because mesa doesn't include increment and
+ test atomic operation. There is built-in gcc functions but they are only
+ available from gcc 4.2.
+
+commit 5eeb44f3983dfda2f2707783be12806da795cbcd
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Wed Aug 12 19:11:11 2009 +0200
+
+ st/xorg: Acquire/drop DRM master in order to work with multiple servers.
+
+commit f21b0e9a048150569ad469ab021a62fdc986e0ae
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 12 10:30:40 2009 -0600
+
+ gallium/glx/xlib: main/ prefix on Mesa includes, remove -I$(TOP)/src/mesa/main/
+
+commit 10eb2ca9540dc4d96933fa1d7c1a92d3e040a5bd
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 12 10:24:44 2009 -0600
+
+ gallium/glx/xlib: updated comments
+
+commit 80b8fbcaba1a52accfe21d13b0ce43afe5b4a098
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 12 10:22:23 2009 -0600
+
+ gallium/glx/xlib: delete fakeglx.h
+
+commit 275d0e7e9282bfc8befe6d1427610a26c27e97d2
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 12 10:22:13 2009 -0600
+
+ gallium/glx/xlib: rename fakeglx.c to glx_api.c
+
+commit 622d53129639b2c7302d71f9affb1876c7e3df8b
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 12 10:20:53 2009 -0600
+
+ gallium/glx/xlib: delete glxapi.h
+
+commit f5dd1cff9405d561192414284e648862bb6d56b2
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 12 10:19:59 2009 -0600
+
+ gallium/glx/xlib: rename fakeglx_fonts.c to glx_usefont.c
+
+commit 0528d6c70497a85ead1e17a3758f1b86617d9a05
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 12 09:57:18 2009 -0600
+
+ gallium/glx/xlib: rename glxapi.c to glx_getproc.c
+
+commit f546fa00aa95980cdbcc4dbcacd239a49b972a21
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 12 09:56:45 2009 -0600
+
+ gallium/glx/xlib: don't include fakeglx.h
+
+commit 4a4039e1996a65ebced473fa03a3a970825746ff
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 12 09:51:56 2009 -0600
+
+ gallium/glx/xlib: overhaul and simplification of the Gallium Xlib-based GLX
+
+ The old GLX dispatch table stuff isn't needed (same story for the Mesa/Xlib
+ driver). The intention of that code was being able to switch on the fly
+ between the real GLX library and the fake/Xlib-based emulation. That hasn't
+ been used in a long time.
+
+ Next up: some file renaming.
+
+commit 1e52b8b4e02c887cb493e5e2bde902b54e9c72fd
+Author: Cooper Yuan <cooperyuan@gmail.com>
+Date: Wed Aug 12 17:39:18 2009 +0800
+
+ r600: A shader is bound that exports Z as a float into Red channel
+
+commit 64e7bb326207df559b5cebdb278f62df83cf1425
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Mon Aug 10 16:45:12 2009 +0800
+
+ egl: Use _eglAddAtExitCall to free thread infos and displays.
+
+ Thread infos and displays are usually not freed by applications. This
+ commit add atexit calls to free them.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 435c7ac24d8d6f8ddae59f4b66983d7642250d1e
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Mon Aug 10 17:35:20 2009 +0800
+
+ egl: Add _eglAddAtExitCall.
+
+ Add a convenient wrapper to register atexit calls. Add mutex to
+ _eglGlobal along the way.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 0e3687e33dd482115c1a0e39c50b424936cb05a6
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Mon Aug 10 16:37:28 2009 +0800
+
+ egl: Make _eglGlobal initialize statically.
+
+ Now that display and surface hash tables are moved out, _eglGlobal can
+ be initialized statically.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 413969a92052c019bcf3c5bf48cf564613eba598
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Mon Aug 10 15:13:42 2009 +0800
+
+ egl: Implement _eglFiniDisplay.
+
+ _eglFiniDisplay is called at exit time to free allocated displays. It
+ is, however, not used right now.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 621801abd287238f9a3209554bc84fec5d2e9ccd
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Mon Aug 10 14:16:32 2009 +0800
+
+ egl: Make display and surface hash tables local.
+
+ Move display and surface hash tables to egldisplay.c, and have them
+ initialized on demand.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 56d2119280a202b7714821bc324b07df4b36d559
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Mon Aug 10 12:46:08 2009 +0800
+
+ egl: Initialize current thread management on demand.
+
+ Current thread management was initialized in _eglInitGlobals, which is
+ called only in eglGetDisplay. Since EGL does not require eglGetDisplay
+ to be called first, the initialization is better to be done on demand.
+
+ _eglFiniCurrent is removed, as it is not called at all.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit f6c2f5e37925abe3ea7036b7a3bd6ca1721e4f73
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Mon Aug 10 12:20:31 2009 +0800
+
+ egl: Destroy eglThreadInfo on thread exit.
+
+ This is done through pthread TSD destructor. It destroys all thread
+ infos except for main thread's. The thread info of the main thread is
+ destroyed by _eglFiniCurrent.
+
+ TLS case is not supported yet.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit e79d21ca1f11e5b584db0930eb0cf49869b0e77d
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Mon Aug 10 11:35:06 2009 +0800
+
+ egl: Add eglmutex.h.
+
+ The implementation uses pthread mutex when available. Otherwise, it is
+ no-op.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 50f8ca23449af62955dc37695adea2e65696a87b
+Author: RALOVICH, Kristóf <kristof.ralovich@gmail.com>
+Date: Tue Aug 11 13:42:47 2009 -0700
+
+ glx: fix signedness warning
+
+commit fd90d8000c163498646857b19ef715de3a585f9c
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 11 19:30:05 2009 -0600
+
+ mesa: handle glDrawPixels images which are larger than max rect texture size
+
+commit dba6d52ba060246fbe04e4aa0875eb1efc53b1ab
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 11 18:56:26 2009 -0600
+
+ mesa: added _mesa_meta_draw_pixels()
+
+commit f8218663609f857f7ec5d43285dc918622e16392
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 11 18:54:57 2009 -0600
+
+ mesa: added META_FOG and optimize some meta_begin/end() code
+
+commit 9ba19b892c90c98907833e854d305a6255fd0272
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 11 18:52:24 2009 -0600
+
+ gallium/trace: remove stray semicolons
+
+commit b681f396e6bb4775e1724bf45819c394365588a2
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 11 18:47:35 2009 -0600
+
+ gallium/xlib: add missing tex_usage parameter
+
+commit 6deaa6d4b17c98643bea0dfcb71ecec0b221efc8
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 11 18:47:20 2009 -0600
+
+ gallium/egl: add missing tex_usage parameter
+
+commit 2e8be3ab7979bc03596dc5ed305fdbdcbff6c5ff
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 11 18:45:20 2009 -0600
+
+ gallium/xlib: add missing tex_usage parameter
+
+commit 26a762c2f66f20546730f874a159ab8bab8dc027
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 11 18:40:50 2009 -0600
+
+ gallium/identity: remove stray semicolons
+
+commit c2b29b5df506d747e9a53bbcf5a45dc7cfe65643
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue Aug 11 22:15:18 2009 -0400
+
+ r600: use the drm ioctls for swap and texture upload
+
+ NOTE: THIS REQUIRES AN UPDATED DRM!
+
+commit 164d8e87010f245efbc8eced9625db5c22928742
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Sat Aug 8 17:20:46 2009 +0200
+
+ i915g: Reduce max relocs
+
+commit df9f27822e90dec6b31e6c9b4c3478fd06ed9cc0
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Sat Aug 8 17:19:43 2009 +0200
+
+ i915g: Check relocs as well
+
+commit 7a60ed20158bff84da6eed8aca511602d95fd5b5
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Aug 11 18:37:09 2009 +0100
+
+ i915g: Implement surface_buffer_create for softpipe
+
+ In order to run softpipe on st/xorg we need this function
+
+commit a41a253ce3b667fc8ad1bfbafce9e3e633667383
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Aug 11 18:33:58 2009 +0100
+
+ gallium: Add texture usage information to surface_buffer_create
+
+ We need aditional meta data about the usage of the surface
+ in softpipe because we need to be able tell the diffrence
+ between PRIMARY and DISPLAY_TARGET surfaces.
+
+commit 7013a4dfb84ce730f093600326fa158cdb1563ff
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 11 10:00:02 2009 -0600
+
+ mesa/glapi: regenerated files from gl_API.xml
+
+commit bb45e6f07bdb26df2e4d6ecddaae9b9c5ba0809e
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 11 09:30:12 2009 -0600
+
+ gallium: fix debug_printf() format string
+
+commit a9d37f68377df851350d773cf53ca6d873e92aa1
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 11 08:54:25 2009 -0600
+
+ glut: fix incorrect Vista maximisation size due to WM_GETMINMAXINFO handling
+
+ See bug 23182.
+
+commit 20e4421fe3e938f5904d53661ce8d47163db491b
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 11 08:37:22 2009 -0600
+
+ mesa: remove _mesa_set_vp_override() from _mesa_Bitmap()
+
+ This reverts part of commit 2c9812e3d346eb07180da520909b142e8afc1c59.
+ The calls to _mesa_set_vp_override() were causing extra state validation
+ and caused the gallium state tracker's bitmap cache to get flushed on
+ every call.
+
+commit e93be5132c24becf4f7f3d30de4b76300af0b6a4
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Tue Aug 11 09:16:48 2009 +0200
+
+ r300g: Fix up remaining VAP_CNTL_STATUS writes for big endian.
+
+commit bb913680031f8ed3fc7e293c9874dea3571510b1
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Tue Aug 11 09:13:12 2009 +0200
+
+ r300g: Emit relocations for pitch registers.
+
+ Fixes CS failures with tiling enabled kernels.
+
+commit 2cbd3fce8f6e97f85423f1b185f72e7fbc946e94
+Author: Cooper Yuan <cooperyuan@gmail.com>
+Date: Tue Aug 11 14:39:58 2009 +0800
+
+ r300g: a typo of debug message
+
+commit 2ccd66d8a049fc183a3598adf01ac5cc7fa5a92e
+Author: Cooper Yuan <cooperyuan@gmail.com>
+Date: Tue Aug 11 14:36:01 2009 +0800
+
+ r600: update num of interp if posizition is used
+
+commit 74504c48ade0fdf2b2c6a932f2608bb51f88a29a
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Aug 10 15:50:22 2009 -0700
+
+ demos: Fix the VBO usage in glsl/multitex.
+
+ The fix for 965 to be noisy when apps sent pointers instead of VBO offsets
+ caught this app in the act of doing exactly that.
+
+ Bug #23203
+
+commit 16a1f68c391688a631d1d8d47cd1ac78800bcffc
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 10 15:48:02 2009 -0600
+
+ intel: use new _mesa_meta_copy_pixels() function
+
+ glCopyPixels() no longer hits a software fallback when zooming, blending, etc.
+
+commit edb991b7bcb1ed6c3ad352750c6613672039a901
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 10 15:44:05 2009 -0600
+
+ mesa: save/restore texture matrix in meta code
+
+ Also, save/restore viewport and texture state in _mesa_meta_copy_pixels()
+
+commit 2ad10c966c87b2efc956bcc58aaedc60f0a5c6a4
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 10 15:05:53 2009 -0600
+
+ mesa: for meta blit, check max texture size, use glCopyTexSubImage2D() when possible
+
+commit c16fa388d3f1b941fbee2909a92b6fea10ef4bfe
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 10 14:43:15 2009 -0600
+
+ mesa: initial meta implementation of glCopyPixels()
+
+commit 36a222cf04da18c96d2335fcae2f22f14ab013f4
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 10 14:15:56 2009 -0600
+
+ mesa: remove debug flush call
+
+commit 0109e1b9f37fa33c9a24ae42799e51e28a60e4b9
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 10 13:58:56 2009 -0600
+
+ intel: add missing \n to fprintf()
+
+commit 8cb389ce354944a69418ca1d402791eef8fbf239
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 10 13:43:00 2009 -0600
+
+ intel: use new _mesa_meta_blit_framebuffer() function
+
+ The previous version of framebuffer blit was a quick hack. The new meta
+ version works pretty well.
+
+commit 33a838beb913c011b5ee8158c2717b7c8c351b17
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 10 13:35:58 2009 -0600
+
+ mesa: new driver meta-ops module
+
+ Implement glClear() in terms of quad rendering, implement glBlitFramebuffer()
+ in terms of glCopyTexImage2D + textured quad, etc.
+
+ There have been several places in the drivers where we've implemented
+ meta rendering similar to this. This is an effort to do it in a more
+ portable and more efficient form.
+
+ The _mesa_meta_begin/end() functions act like glPush/PopAttrib() but are
+ lighter-weight. Plus, _mesa_meta_begin() resets GL state back to default
+ values (texturing off, identity vertex transform, etc) so the meta drawing
+ functions don't have to worry about it.
+
+ For now only _mesa_mesa_blit_framebuffer() and _mesa_meta_clear() are
+ implemented. glDrawPixels() and glCopyPixels() would be the next candidates.
+
+commit e9d9dab0cd8614898ecc2aceb49d8faf354cdbdf
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 10 13:43:50 2009 -0600
+
+ mesa: added GLcontext::Meta field for meta rendering state
+
+commit b4c95697150b8eb0bb60bb996f04be323bb56332
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sat Aug 8 20:05:11 2009 +1000
+
+ radeon_fbo: switch short to byte for 565
+
+commit e0c9157671e0f3868c2c53125f885fb9be1e3a62
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Aug 10 10:10:13 2009 +1000
+
+ radeon: fix cut-n-paste in alphabits in fbo code
+
+commit 11038989c197e92454ec0dd14e32acec6030e6b7
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Sun Aug 9 15:22:34 2009 +0300
+
+ egl: Add depend and depend.bak to clean target
+
+ Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
+
+commit 728da99737d6618388ea724d211819227654608a
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sun Aug 9 20:46:12 2009 +1000
+
+ r600: looks like a typo
+
+commit b2927a620409e49f26592e8f4bde6911e29de3f3
+Author: Cooper Yuan <cooperyuan@gmail.com>
+Date: Sun Aug 9 12:18:40 2009 +0800
+
+ r600: load per-pixel position into PS in order to use fragment.position.
+
+ This patch can fix /progs/fp/tri-depth, tri-depth2, tri-depthwrite,
+ tri-depthwrite2 and point-position.
+
+commit 483a7916d1c93d1edf125dc671dcfbff42a9fc5e
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 7 14:51:59 2009 -0600
+
+ mesa: update framebuffer status as needed in _mesa_source/dest_buffer_exists()
+
+commit 101c2f907e71b7c5e14dcd899389155ea802b2af
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 7 13:39:03 2009 -0600
+
+ mesa: simplify glPushAttrib() list building code
+
+commit 924ba484990a57266b433b59b554124df4924fb4
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 7 13:07:59 2009 -0600
+
+ mesa: remove old, prototype code
+
+commit b15334035177fbb031f000583ef7cb31f68b248c
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 7 12:04:09 2009 -0600
+
+ swrast: replace GLenum, GLint with GLbitfield for buffer vars
+
+commit 4482f96c59d7d0f0b19329e997fb59dba3e84119
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 7 10:51:03 2009 -0600
+
+ mesa: use _mesa_bufferobj_mapped()
+
+commit 10b9d9f89528971475138b50487e0c4735987a24
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Aug 7 20:29:50 2009 -0700
+
+ r300g: Knock out another fragment of invariant state.
+
+ Colorbuffer setup will always happen.
+
+commit 847fcb645c1d0c69617f0cafe8e6410e13f08fa6
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Aug 7 20:16:39 2009 -0700
+
+ gallium: Move minify() to u_math.
+
+ minify() is usually used in mipmap size calculation. Strangely enough,
+ we all defined it as MAX2(1, d >> 1); imagine that. :3
+
+commit c58133b81ab7c9ee12cac05c4671a87e34708a66
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Aug 7 19:46:52 2009 -0700
+
+ r300g: Remove r300_constant_buffer::user_count.
+
+ Not needed with new compiler.
+
+commit a962c07cc3e5fba3be5c08071bc7abc5d840f138
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Aug 7 18:29:56 2009 -0700
+
+ Revert "i965: Disable texture tiling by default."
+
+ This reverts commit b8e638d4895d2d342306bb6443a455f73903ce20.
+
+ Now that the known hangs and misrendering issues are fixed, I'm ready to
+ start encouraging it by default again.
+
+commit ceb8afcca5b0a52b005a782ea54b301beaee1a15
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Aug 7 18:09:31 2009 -0700
+
+ intel: Align region height as required for tiled regions.
+
+ Otherwise, we would address beyond the end of our buffers. Fixes reliable
+ GPU segfault with texture_tiling=true and oglconform shadow.c.
+
+ Bug #22406.
+
+commit 12c6973c6e32e5ee29242cb037830c1ca081f479
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Aug 7 18:08:20 2009 -0700
+
+ i965: Add a note justifying domain choice for the SF VP.
+
+commit b82abaabee3a0d0d8ec3418e8299cad1985a2776
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Aug 7 17:06:41 2009 -0700
+
+ intel: Add some more safety asserts in the blit code.
+
+commit 9f981ec27dffa562cf743b4690293569477b4553
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Aug 7 14:20:56 2009 -0700
+
+ i965: Replace the subroutine-skipping jump in VS with a NOP if it's a NOP.
+
+ This showed a 1.9% (+/-.3%, n=3) improvement in OA performance with high
+ geometry settings.
+
+commit 7de5e60c18898715765d610313f9d33b1d1e89fb
+Author: Jakob Bornecrantz <jakob@aurora.walkyrie.se>
+Date: Sat Aug 8 03:20:24 2009 +0200
+
+ i915g: Don't forget x/y coords in transfers
+
+ Fixes demos/ray.
+
+commit 738e02c3c813ca290ec5e7596c5870adde3a3808
+Author: Jakob Bornecrantz <jakob@aurora.walkyrie.se>
+Date: Sat Aug 8 03:19:01 2009 +0200
+
+ i915g: Don't try to free a mapped buffer at shutdown
+
+commit f7474a577d54765d893b78fbf0d6a969c2dc60cd
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri Aug 7 17:35:12 2009 -0400
+
+ radeon: correct fix for tiling with the legacy build
+
+commit a2a3d8d7f056a9c3c613da62ddc2618bf5227ce6
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Aug 6 13:55:09 2009 -0700
+
+ intel: Fix googleearth by avoiding GL_VIEWPORT_BIT in meta clear push/pop
+
+ I have no idea why this fixes things, but being more efficient sounds good
+ anyway. Fixes regression in 99d07d0f91ddd37926d08f4e7f10d55cac28d9a7
+ where most of the lit half of the world was not drawn.
+
+commit caf4f0ede78b4f6b1e340e33b96f21ce8a6ac344
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri Aug 7 16:20:26 2009 -0400
+
+ radeon: fix the build with older drm headers
+
+commit 0d7fafa0ed706a2053944e9b25068dfed6339a0c
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Fri Aug 7 10:02:22 2009 -0700
+
+ dri: Fix problems with unitialized values in dri screen object.
+
+ This fixes crash in r200 KMS driver when pSAREA was set to 1 randomly because of memory wasn't cleared.
+
+ Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
+
+commit 9de26ccbcc2123b658c1b01c079b010473bc6da6
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 6 14:58:01 2009 -0600
+
+ util: fix incorrect assertion
+
+ Check that the dest surface/format is renderable.
+
+commit f36d0121915ca724fd0843b978e7ff224980d929
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 6 14:54:25 2009 -0600
+
+ util: include u_surface.h, added comment
+
+commit 513a82cb1bf3bdaaff8f1f3759f509bdd9b5f7d3
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 6 09:02:36 2009 -0600
+
+ util: use util_same_surface() to compare surface pointers
+
+commit abb120fe5b191be087421a4af03a404c6e24f08b
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 6 09:02:05 2009 -0600
+
+ util: added util_same_surface() helper function
+
+commit 2caec748ad2361a55d53f98b1d332548e6baf65e
+Author: Robert Ellison <papillo@tungstengraphics.com>
+Date: Fri Aug 7 12:23:19 2009 -0600
+
+ tests: have getprocaddress return a return code
+
+ These minor changes allow getprocaddress to return an error code
+ in the case of test failure. This allows the program to be integrated
+ into the piglit test suite.
+
+commit 99d5139078654f2728aa42aca31811308e29a589
+Author: Robert Ellison <papillo@tungstengraphics.com>
+Date: Fri Aug 7 12:06:17 2009 -0600
+
+ mesa: improve getprocaddress test
+
+ - Allow the getprocaddress test to test extensions not supported by
+ Mesa. The original getprocaddress.py script only included OpenGL
+ extension functions that were in Mesa dispatch tables. Now all
+ known extension functions (as detailed in gl_API.xml) are included.
+ As the test does not link against any extension function symbols
+ (i.e. it uses glXGetProcAddress() for all extension functions),
+ it still compiles and links against Mesa; but now the same
+ binary can be used to test extensions not yet supported by Mesa.
+
+ - Extend the list of tested extension functions. The last revision
+ of this test exercised 16 extension functions; this revision adds
+ support for 95 more.
+
+commit d80b36f64f0a8224f2c73f3bab9b33d95c392158
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Fri Aug 7 10:02:22 2009 -0700
+
+ dri: Fix problems with unitialized values in dri screen object.
+
+ This fixes crash in r200 KMS driver when pSAREA was set to 1 randomly because of memory wasn't cleared.
+
+ Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
+
+commit 1359d69f11f2d81ad3a1d44b7f729ee243d7f53d
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 7 10:49:38 2009 -0600
+
+ st/mesa: remove redundant calls to _mesa_set_vp_override()
+
+ Called from core Mesa now.
+
+commit c02b38d169617a23e918d5155936851f0ad5b599
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 6 16:04:03 2009 -0600
+
+ progs/xdemos: added multictx.c (multi-context rendering demo)
+
+ Create one window and render into it with two GLX contexts. Setup the
+ rendering state differently for each context to be sure there's no state
+ "bleeding" between contexts.
+
+commit 2c9812e3d346eb07180da520909b142e8afc1c59
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 7 09:50:25 2009 -0600
+
+ mesa: use _mesa_set_vp_override() in glDraw/CopyPixels and glBitmap
+
+ We don't use the vertex program in these functions and the driver may
+ install its own. This fixes the broken glCopyPixels swrast fallback in
+ i965 and possibly other drivers. In particular, glCopyPixels sometimes
+ didn't work because the fixed-function fragment program was replacing all
+ fragment colors with the current raster color.
+
+commit 6807d96f8efeecd9d71e1e1bff856e7e04f5f364
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 7 09:42:28 2009 -0600
+
+ mesa: reformat code to allow setting breakpoints on the true-statement
+
+commit 84e67330e1f20e407857b1dbc309b1abb533f195
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 7 09:41:32 2009 -0600
+
+ glxgears: make functions static, update comments
+
+commit 7bf6efe78066b33c4ddd278d78ea44cfd12154cc
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 7 09:40:37 2009 -0600
+
+ mesa: use _mesa_bufferobj_mapped()
+
+commit 67153a4518ad23e31205a44119b1d63951ff1fb9
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 7 09:40:02 2009 -0600
+
+ mesa: new _mesa_bufferobj_mapped() helper function
+
+commit f738b913e6b3aa4e3e9bea41d37e634c6952536f
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 7 09:30:53 2009 -0600
+
+ mesa: use valid_fragment_program() helper
+
+commit 94504be63a9a70263a0eb2872295867c989be2b1
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 7 09:24:00 2009 -0600
+
+ mesa: test DrawBuffer, not ReadBuffer in _mesa_dest_buffer_exists()
+
+ Also, update comments.
+
+commit 2dec62405f9e2e46997046a32211f25ba83d2600
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 7 09:18:04 2009 -0600
+
+ mesa: fix some incorrect error checks in _mesa_error_check_format_type()
+
+ Plus, simplify the code a bit.
+
+commit 3335b847bf1e1ee9e77600bd7122eb56ffbc8c07
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 7 09:03:49 2009 -0600
+
+ mesa: do error checking on glCopyPixels() type parameter
+
+ Plus, move some other error checks before state validation and update
+ some comments.
+
+commit 28cfd37bb3c5dfa70715d91bd523e93dfedd3981
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 7 08:53:53 2009 -0600
+
+ mesa: use a more logical flag in _mesa_set_vp_override()
+
+commit b28854088bb6a6fa1a12f47056d9aee2fbdefc70
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 6 13:53:06 2009 -0600
+
+ mesa: new _mesa_copy_client_array() function
+
+commit 692c50b38806b81cb576d11b6d79dd0a917e58f9
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 6 11:40:15 2009 -0600
+
+ i965: minor context comments
+
+commit 922ef4a119ca9c7a8220843b47b890c277c29fc8
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 6 11:40:06 2009 -0600
+
+ intel: minor context comments
+
+commit 6e0be1cc343bc8eee5069d7f2f53b12b1a29c216
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 5 16:31:08 2009 -0600
+
+ intel: move blit call out of assert()
+
+commit 4d24feddfff7787dd9271839951326a3710b268f
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 5 15:31:51 2009 -0600
+
+ intel: fix typo: s/softare/software/
+
+commit 3105fd760b8a6fc34438d51d36b65670810626a2
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 4 17:02:12 2009 -0600
+
+ mesa: fix comment
+
+commit 239c8bfb10d3cd61547ccc460f0b89062f3520bc
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Aug 7 19:40:05 2009 +1000
+
+ radeon: enable tiling fallbacks in 3D driver.
+
+ Only really got good testing on r500 so far, need to enable in
+ DDX and play some more.
+
+commit 2dc3fb7803cd31b20a06bcad23949be5b3a1dbb2
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Aug 7 16:16:08 2009 +1000
+
+ radeon span: add r200 depth/stencil span read/writing
+
+ this should only really affect DRI2 since we mostly have a surface in DRI1.
+
+ I don't think this is perfect yet, but it is a better start than nothing.
+
+commit eaf87e84c3e29f8473cc04f681e965fbef38916b
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Aug 7 14:12:09 2009 +1000
+
+ r200: fix scissor emission for r200 under kms
+
+commit 9676ed27fe1f59956779ca4a612929e0cf61e3a3
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 6 14:58:01 2009 -0600
+
+ util: fix incorrect assertion
+
+ Check that the dest surface/format is renderable.
+
+commit 98f00e8eb90b2b46fe72ffb0aea6cd516cf47497
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 6 14:54:25 2009 -0600
+
+ util: include u_surface.h, added comment
+
+commit 3cb6f3bf21adc5ced428521746746fb85c6ae47c
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Thu Aug 6 15:21:23 2009 -0500
+
+ GL_ARB_vertex_array_bgra is (basically) a synonym for the EXT version
+
+commit 24fdf8aadb6cd1f98d0ce54a1e4f28cb964b99e0
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 6 09:02:36 2009 -0600
+
+ util: use util_same_surface() to compare surface pointers
+
+commit ffb1f9bded52aa9f53ed179f91186c9e8c59b8c8
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Aug 6 09:02:05 2009 -0600
+
+ util: added util_same_surface() helper function
+
+commit 8c223e8eb6359d5df918e23ae5c036fa134cc40d
+Author: Alan Hourihane <alanh@jetpack.(none)>
+Date: Thu Aug 6 15:54:49 2009 +0100
+
+ Ensure GL_EXT_blend_equation_separate is enabled when 2.0 is enabled.
+
+commit 45b12edcbe2c112a87993f810f832a9141085b17
+Author: Alan Hourihane <alanh@jetpack.(none)>
+Date: Thu Aug 6 15:54:49 2009 +0100
+
+ Ensure GL_EXT_blend_equation_separate is enabled when 2.0 is enabled.
+
+commit e179ab2815f4de7a704f057204e692b136e7a0b3
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Thu Aug 6 08:39:25 2009 -0600
+
+ progs/egl: Add xeglbindtex, really.
+
+ Missed this file in the earlier commit.
+
+commit 8fdda95162fede0970989119cc77bbdc787a661a
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Thu Aug 6 13:59:05 2009 +0100
+
+ mesa: Ignores
+
+ Got tired of seeing these files in git status all the time
+
+commit 8662f2c5421a809e7ed93f793c358116f0cacf0f
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Thu Aug 6 13:50:46 2009 +0100
+
+ i915g: Compile with scons
+
+commit c818efd0b30efbdb077a4a2497ad8de7f015c8d5
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Thu Aug 6 13:20:49 2009 +0100
+
+ identity: Use the correct texture
+
+commit f44916414ecd2b888c8a680d56b7467ccdff6886
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Aug 5 20:12:15 2009 -0700
+
+ i965: Fix source depth reg setting for FSes reading and writing to depth.
+
+ For some IZ setups, we'd forget to account for the source depth register
+ being present, so we'd both read the wrong reg, and write output depth to
+ the wrong reg.
+
+ Bug #22603.
+
+commit b6c65516865aa331b066a6516d553c9fca314670
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Thu Aug 6 00:01:18 2009 +0100
+
+ st/xorg: If we have DRI2 we should also have some sort of hw support
+
+commit b6c9401f138720adaebde90ec7b1805eae441fc7
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Thu Aug 6 00:28:15 2009 +0100
+
+ i915g: Always run in sync with the HW
+
+commit 901b87547e50fae25722fdf5dee216d809a0d453
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Thu Aug 6 00:00:24 2009 +0100
+
+ i915g: The i915 seems more happier with sampler domain so lets use that
+
+commit 7a20f50c602b31af0adc50c23bf310cbdb5bcc94
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Aug 5 23:59:37 2009 +0100
+
+ i915g: Dirty fix for VBO module double flush assert
+
+commit 66b00380a251b14b7622edadb5e7c9344d0f1d5b
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Aug 5 23:56:08 2009 +0100
+
+ i915g: Switch to mapping the batch buffer instead of using subdata
+
+commit 246f58d922272a778454a466abd50106317e16ac
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Wed Aug 5 16:08:48 2009 -0600
+
+ progs/egl: Add xeglbindtex.
+
+ This is a simple demo for eglBindTexImage. It uses a OpenGL context,
+ instead of the required OpenGL ES one. But it still suffices the demo
+ and test purpose.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 6f97a41964b38aa065649d4b65660042ceb32871
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Wed Aug 5 16:08:07 2009 -0600
+
+ egl_softpipe: Add support for pbuffer binding.
+
+ This adds support for eglBindTexImage and eglReleaseTexImage. They rely
+ on the state tracker to do the real work.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 0153614cb0ce52e5b2321de73ad6cd73e106bb34
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Wed Aug 5 16:07:39 2009 -0600
+
+ egl_softpipe: Flush when switching current context.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 54a7115fc27c640e2b3f1a362e8e07aac220556d
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Wed Aug 5 16:07:19 2009 -0600
+
+ mesa/st: Add support for binding pipe surface to texture.
+
+ This commit adds functions to bind a pipe surface to a texture. This
+ allows texturing directly from the surface.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 42b6b067ac68ac1309d0570613bea4a88f745559
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Wed Aug 5 16:06:50 2009 -0600
+
+ mesa/main: Add functions to clear and dirty texture objects.
+
+ This commit adds a function to clear a texture object such that there is
+ no image data associated with it, and a function to dirty it so that it
+ will be re-tested for completeness.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 1f713059934c2365a42aadfdca49213b36a7de90
+Merge: 3905119 5b3428d
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 5 14:13:48 2009 -0600
+
+ Merge branch 'mesa_7_5_branch'
+
+ Conflicts:
+
+ src/mesa/main/state.c
+
+commit 5b3428d7453eec8e8a5344e22113774dea1dc456
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 5 13:50:21 2009 -0600
+
+ docs:fix glBlitFramebuffer() for Gallium
+
+commit a59579c983df651373435791f8f4fd249293b344
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 5 13:46:47 2009 -0600
+
+ st/mesa: implement BlitFramebuffer() for depth/stencil (incomplete)
+
+ We now handle the case of blitting Z+stencil to/from combined Z/stencil
+ surfaces. But Z-only or stencil-only and separate depth/stencil surfaces
+ are not yet implemented.
+
+commit dcebe220f430221821a10944fbdb639a9252bfef
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 5 13:44:59 2009 -0600
+
+ mesa: generate GL_INVALID_OPERATION for missing z/stencil when blitting
+
+ If glBlitFramebuffer() is called with GL_DEPTH_BUFFER_BIT or
+ GL_STENCIL_BUFFER_BIT and the src/dst depth/stencil buffers are absent,
+ report an error.
+
+commit f792137593b16b850a8a95dbb4859d49effb9f7c
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 5 13:26:19 2009 -0600
+
+ st/mesa: fix Y inversion and optimize st_BlitFramebuffer()
+
+ Need to check for Y inversion separately for src/dest buffers.
+
+ If both the src and dest regions are upside down, make them right-side
+ up for a better chance at a fast path.
+
+ progs/tests/copypixrate -blit is much faster now.
+
+commit 2cd33afa0081661b68dd25289f8d904125a9923a
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 5 13:22:26 2009 -0600
+
+ util: added comment/question about blit clipping
+
+commit 727b2d747e13fed78bf62cfbf4a31427eed0ef29
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 5 13:21:59 2009 -0600
+
+ mesa: make _mesa_clip_blit() a shared function
+
+commit 4f36164024824271eda70348646b1ad1be53e281
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 5 13:19:01 2009 -0600
+
+ util: added util_blit_pixels() overlap test
+
+ A comment alluded to this. Now it's checked.
+
+commit 05d393f59fdacbbe181f007efd3054966734b3b7
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 5 13:09:15 2009 -0600
+
+ util: fix util_blit_pixels() test for surface_copy() path
+
+ For the surface_copy() path require same format, no flipping and no stretching.
+
+ Fixes progs/tests/copypixrate -blit
+
+commit 854ea483d4debcbff56c5a5a8e90c3dcce51f350
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Aug 5 12:40:50 2009 -0600
+
+ util: reformatting and comments
+
+commit 3905119b4743eb5d284236cc237ee2c19ae3c5c8
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Aug 5 19:26:21 2009 +0100
+
+ st/xorg: Make it work again
+
+commit 8ccec83e63932d78bb67638e013b9645e609da42
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Aug 5 19:15:21 2009 +0100
+
+ st/egl: Create primary texture not display target
+
+commit 0500404cdff44c6a278c2738d32b9e45cb9a5572
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Aug 5 19:22:34 2009 +0100
+
+ i915g: Treat primary textures as scanout buffers
+
+commit ec269c198a8e9d6ba7f88110d3aeb9541fa9ce6f
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Aug 5 19:12:53 2009 +0100
+
+ i915g: Link with trace on EGL and Xorg
+
+commit 1f9ee623d185aea24195ffaefd77b953eefea107
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Aug 5 18:55:57 2009 +0100
+
+ trace: Use correct texture in drm_api wrapper
+
+commit 6160c8be5748455574ddde8ac373e14d86c4f3a9
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Aug 5 19:13:55 2009 +0100
+
+ softpipe: Also defere primary textures to backend
+
+commit ac3de85eb6af680f2884194b40ada7b3e1edda8a
+Author: Dave Airlie <airlied@linux.ie>
+Date: Wed Aug 5 11:26:29 2009 +1000
+
+ r200: emit colorpitch
+
+commit 63d7a2f53fb38e170f4e55f2b599e918edf2c512
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Aug 4 18:07:01 2009 -0700
+
+ i965: Fix dangerous warning I let slip in.
+
+commit 78c022acd0b37bf8b32f04313d76255255e769c1
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Aug 4 18:02:31 2009 -0700
+
+ i965: Respect CondSwizzle in OPCODE_IF.
+
+ Fixes piglit glsl-vs-if-bool and progs/glsl/twoside, and will likely be
+ useful for the looping code.
+
+ Bug #18992
+
+commit 7007f8b352763af89805f287153cb7972bff0523
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Aug 4 14:13:27 2009 -0700
+
+ i965: Emit conditional code updates as required for GLSL VS if statements.
+
+ Previously, we'd be branching based on whatever condition code happened to be
+ laying around.
+
+commit 011244853b538a1a5adf602c8ed2de5c0f047548
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Aug 4 16:09:30 2009 -0700
+
+ i965: Don't set pop_count in the reserved MBZ area of IF statements.
+
+commit 8288ab4518241746be9989e008b48345c7394d10
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Aug 4 16:26:37 2009 -0700
+
+ i965: Print out ELSE and ENDIF src1 arguments like IF does.
+
+commit 8b9a5cfce0065d6e32d3a882b6ee9f94bf2634ff
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Wed Aug 5 02:32:09 2009 +0200
+
+ r200: fix off-by-one errors causing 6th texture unit to not work
+
+ both for normal and cube textures, this fixes demos/multiarb
+ (with 6 enabled texture units) and fixes #23142.
+
+commit 7c0fb3a1bea99ff3da6c2679b109f17b26823926
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Wed Aug 5 02:25:40 2009 +0200
+
+ r200: fix compiler warning (unused var)
+
+commit 15f5f839b1a52a49bb60e73625b8c6b2f73a75e8
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Wed Aug 5 01:12:16 2009 +0200
+
+ radeon: fix miptree comparison breakage
+
+ another case of image never matching miptree in case of compressed textures
+
+commit 80cab49481b0c832f161bd61e9889d7bcd9f542a
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Wed Aug 5 01:10:45 2009 +0200
+
+ intel: implement intelCompressedTexSubImage2D
+
+ similar to the radeon code.
+ passes tests/texcompsub
+
+commit 0abc9e7565bfa0f1f32e6999f93ca14b718c7974
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Wed Aug 5 00:57:08 2009 +0200
+
+ tests: also test xoffset in texcompsub test
+
+ use glCompressedTexSubImage2DARB also with xoffset by splitting into 3 calls
+ in total. Dunno if the top/bottom reversal is intentional but leave as is.
+
+commit de80eeea0eebf00ee678b1a0fbd5fe67b00a8636
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Aug 4 11:28:26 2009 -0700
+
+ intel: Add support for EXT_provoking_vertex.
+
+commit b010814e9c7ed30cbdd60a49d81a6ea774c8c3a3
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Aug 4 13:42:30 2009 -0700
+
+ i965: Spell "conditional" correctly.
+
+commit 1d4bace9fca64c61ccd9f4205262417fa0ae3883
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Aug 4 15:27:40 2009 -0700
+
+ i965: Hook up the disassembler for INTEL_DEBUG={wm,vs}.
+
+ I was getting tired of doing the dance of INTEL_DEBUG=batch, copying it out,
+ and running intel-gen4disasm on it.
+
+commit ce63e9929cf3515e4ad4ea54fa5227d71ae48b93
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Aug 4 15:00:36 2009 -0700
+
+ i965: Initial import of disasm code from intel-gen4asm.
+
+ There's a bunch of stuff from gen4asm and gpu-tools that we probably want
+ to make into a library instead of cargo-culting it around.
+
+commit def85826a013ac61e3125db2c33d0ddf0ca5b45c
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Aug 4 15:29:00 2009 -0700
+
+ i965: warning fix
+
+commit cd7a8225e80ee76a3210c78778e67a89a5dba430
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 4 16:17:09 2009 -0600
+
+ tests/getteximage: test more texture sizes, including npot
+
+commit a746ef28df9e6e594be7eb292d2dcad3546f739a
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 4 15:36:13 2009 -0600
+
+ mesa: log the shader checksum
+
+commit f7783badb55bd2ff9bc544b2f8cc0c4ad7b86ea7
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 4 15:35:48 2009 -0600
+
+ mesa: compute, print shader checksum
+
+commit b501263bf5965aa89c408cb8f0db3688847a8384
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 4 15:34:59 2009 -0600
+
+ mesa: added gl_shader::SourceChecksum field (for debug purposes)
+
+commit 9f8110adcc5a6f47b5db0915bb9265925d520856
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 4 15:33:53 2009 -0600
+
+ mesa: added _mesa_str_checksum()
+
+commit 84c8315ae66f34466d0f7b9db8a825c15e0594a8
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 4 15:29:00 2009 -0600
+
+ mesa: clean-up error debug/count code
+
+commit def77160d69dbb0a333ea3f9263e661f8557a7ec
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 4 15:28:29 2009 -0600
+
+ mesa: reset ErrorDebugCount to zero in glGetString()
+
+commit b98f0f2d51494d3f766bc53941fff754fce8bd0f
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 4 15:04:37 2009 -0600
+
+ mesa: better texture dump/debug code
+
+commit 2b82bc93e2a0bfdd48147dfa5525dee732a50ea4
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 4 14:53:24 2009 -0600
+
+ mesa: more error message info for vertex pointer functions
+
+commit 2465c4fa9cabe8c40e526b9e081de3b70c851455
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 4 10:55:29 2009 -0600
+
+ mesa: more glGetTexImage() error checking consolidation, new assertion
+
+commit 191e028de20b2f954621b652aa77b06d0e93652a
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Aug 4 12:39:22 2009 -0700
+
+ i965: Fix RECT shadow sampling by not losing the other texcoords.
+
+ Bug #20821
+
+commit 3a221a9018f5166f249671ba41e8d44fe6b3301f
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 4 09:27:49 2009 -0600
+
+ docs: 7.5.1 bug fixes
+
+commit 61673aebb0c92bf187189c496e6c3a856825eceb
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 4 09:23:17 2009 -0600
+
+ intel: Fix inverted test for disabling flushing of front buffer output.
+
+ The comment disagreed with the code, and nicely drew my eyes to what was
+ going wrong.
+
+ Bug #21774 (blender)
+ Bug #21788 (readpix)
+
+ (cherry picked from master, commit fd65418f600874b05f902b622078b40bc1abb24a)
+
+commit f5f8be8bb2dae91e0eb748b6f062eeb345605063
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 4 09:22:15 2009 -0600
+
+ intel: Wait on the last swapbuffers to complete before queuing a new one.
+
+ This fixes jerkiness in doom3 and other apps since the kernel change to
+ throttle less absurdly, which led to a thundering herd of frames.
+
+ Because this is a rather minimal fix, there is at least one downside: If
+ the whole scene completes in one batchbuffer, we'll end up stalling the GPU.
+
+ Thanks to Michel Dänzer for suggesting using glFlush to signal frame end
+ instead of going to all the effort of adding a new DRI2 extension.
+
+ (cherry picked from master, commit 0828579a658af01a64b5e699175dc9bbbedcd685)
+
+commit 2bec909c69c127b4a29eedfcafed9f5f2e23c51e
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 4 09:15:33 2009 -0600
+
+ texenv: Use VP->Current, since _Current isn't updated at this point.
+
+ (cherry picked from master, commit a9ba1bfeb3a2852c6eda718e73c46c972a286648)
+
+commit f0df08abbec173be183d3d6ecf3d4ba5206df179
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 4 09:15:09 2009 -0600
+
+ texenv: Match state.c in deciding whether we'll be using a vertex shader.
+
+ (cherry picked from master, commit 40990d9dfb20b69585859b2a45596aa46c20140a)
+
+commit 9d3929b60c9d4dd4403bcc63cb65d2673cf98b0e
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Aug 4 09:14:33 2009 -0600
+
+ texenv: Add missing dependency on VP changes.
+
+ Funny thing is I annotated this dependency in
+ e5f63c403b767f9974e8eb5d412c012b8a69287f, but didn't actually use it.
+
+ (cherry picked from master, commit 03187571b63d97e3d1406d329c5e760e16ef3181)
+
+ Conflicts:
+ src/mesa/main/state.c
+
+commit 9185a61c8a549e26e83d73e6e1fe9c65e5b88707
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Mon Aug 3 08:35:43 2009 -0700
+
+ mklib: Ensure target directory exists for library
+
+ Instead of relying on the Makefile to always generate $(TOP)/$(LIB_DIR),
+ just have mklib handle creating the directory. This should fix any races
+ when using parallel make.
+
+ Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
+ (cherry picked from commit 23671e5358ffc0abfec83aeea9a515b09a6b35f3)
+
+commit 0ce73f84e9f4d992c1108ce2c84718bc0fcada96
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Mon Jul 20 16:11:26 2009 +1000
+
+ Add missing X11_INCLUDES to egl/drivers/demo and egl/main.
+
+ Compiling mesa on a system with no X headers installed in the default
+ include paths fails due to missing X11 includes. The header includes are
+ picked up by configure but not applied.
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Signed-off-by: Dave Airlie <airlied@redhat.com>
+ (cherry picked from commit 5358e54d1ae64ccfa81199b343a2931b415fcc0a)
+
+commit 23671e5358ffc0abfec83aeea9a515b09a6b35f3
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Mon Aug 3 08:35:43 2009 -0700
+
+ mklib: Ensure target directory exists for library
+
+ Instead of relying on the Makefile to always generate $(TOP)/$(LIB_DIR),
+ just have mklib handle creating the directory. This should fix any races
+ when using parallel make.
+
+ Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
+
+commit 048f988aeb06fa360c6c41eaa50cb96b4b86e34e
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Tue Aug 4 10:57:47 2009 +0200
+
+ r300g: Slightly saner initialization of some texture / transfer fields.
+
+commit d7430d942f6c7950a92367aeb13b80cf76ccad78
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Aug 3 17:55:14 2009 -0700
+
+ i965: Assert that the offset in the VBO is below the VBO size.
+
+ This avoids sending a bad buffer address to the GPU due to programmer error,
+ and is permitted by the ARB_vbo spec. Note that we still have the opportunity
+ to dereference past the end of the GPU, because we aren't clipping to a
+ correct _MaxElement, but that appears to be harder than it should be. This
+ gets us the 90% solution.
+
+ Bug #19911.
+
+commit e340d4f9866db4bae391288e83a630a310b0dd2b
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Aug 3 17:12:43 2009 -0700
+
+ i965: Even if no VS inputs are set, still load some amount of URB as required.
+
+ See comment on Vertex URB Entry Read Length for VS_STATE.
+
+ This, combined with the previous three commits, fixes #22945.
+
+commit e93848e595176ae0bad3bfe64e0ca63fd089bb72
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Aug 3 15:24:02 2009 -0700
+
+ i965: Make sure the VS URB size is big enough to fit a VF VUE.
+
+ This fix is just from code and docs inspection, but it may fix hangs on
+ some applications.
+
+commit d1fbfd0f962347e4153db3852292d44de5aea863
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jul 30 13:40:29 2009 -0700
+
+ i965: Don't emit bad packets when no VBs are referenced.
+
+ It appears that sometimes Mesa (and I suppose a VS could as well) emits
+ a program which references no vertex data, and thus we end up with
+ nr_enabled == 0 even though some VBs are enabled. We'd end up emitting
+ VB/VE packet headers of 0xffffffff in that case, leading to GPU hangs.
+
+ Bug #22945 (wine with an uncompiled VS)
+
+commit 9b9cb30d128fc5f1ba77287696ecd508e640efde
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Aug 3 14:46:18 2009 -0700
+
+ i965: Calculate enabled[] and nr_enabled once and re-use the values.
+
+ The code duplication bothered me.
+
+commit 1f1ead9947aaa66346d3f33f024700d2fce90b53
+Author: Robert Ellison <papillo@tungstengraphics.com>
+Date: Mon Aug 3 17:09:14 2009 -0600
+
+ typo fix
+
+ somehow, this change was missed on the last checkin
+
+commit 0d18e9259ed2d2e706c6f248a0a35d372d789544
+Author: Robert Ellison <papillo@tungstengraphics.com>
+Date: Mon Aug 3 17:04:50 2009 -0600
+
+ mesa: fix up some GLAPI XML
+
+ - Added specifications for the extensions GL_APPLE_flush_buffer_range and
+ GL_APPLE_texture_range
+
+ - EXT_framebuffer_object.xml strangely held specifications for both
+ the GL_EXT_framebuffer_object extension and the GL_EXT_texture_array
+ extension. Split out the GL_EXT_texture_array data into its own
+ file.
+
+commit 50c736589ee0edbedf9ac434e883483b82b3030a
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Tue Aug 4 00:21:07 2009 +0200
+
+ radeon: more fixes for compressed textures
+
+ - fix not respecting required hardware stride with compressedTexImage -
+ this fixes #22615.
+ - make sure correct stride is used in various places
+ - fix stored miptree never matching with a TexImage call with compressed
+ texture
+ - don't always store data with compressedtexsubimage at offset 0,
+ and actually use the supplied pixel data... (untested)
+ - make sure rows for compressed texture handling are rounded up not down
+
+ Note that trying to access stored compressed textures in hardware miptrees
+ from core mesa (get_compressed_teximage, swrast fallbacks) can't work correctly,
+ since RowStride isn't really set to anything useful, plus some places (at least
+ get_compressed_teximage) assume this data has native stride and no padding.
+
+commit 4221e81b2489c4c91092ef49bba181a1bed216c8
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Aug 3 14:38:16 2009 -0700
+
+ radeon: Fix inverted test for disabling flushing of front buffer output.
+
+ (corresponding fix to the intel driver one)
+
+commit fd65418f600874b05f902b622078b40bc1abb24a
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Aug 3 14:27:41 2009 -0700
+
+ intel: Fix inverted test for disabling flushing of front buffer output.
+
+ The comment disagreed with the code, and nicely drew my eyes to what was
+ going wrong.
+
+ Bug #21774 (blender)
+ Bug #21788 (readpix)
+
+commit 0828579a658af01a64b5e699175dc9bbbedcd685
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jul 21 11:23:18 2009 -0700
+
+ intel: Wait on the last swapbuffers to complete before queuing a new one.
+
+ This fixes jerkiness in doom3 and other apps since the kernel change to
+ throttle less absurdly, which led to a thundering herd of frames.
+
+ Because this is a rather minimal fix, there is at least one downside: If
+ the whole scene completes in one batchbuffer, we'll end up stalling the GPU.
+
+ Thanks to Michel Dänzer for suggesting using glFlush to signal frame end
+ instead of going to all the effort of adding a new DRI2 extension.
+
+commit e0d61fd696b3561d575a9ee5055a1484a5ac6926
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Mon Aug 3 16:10:32 2009 -0400
+
+ r600: add some new r7xx pci ids
+
+commit a9ba1bfeb3a2852c6eda718e73c46c972a286648
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Aug 3 12:38:56 2009 -0700
+
+ texenv: Use VP->Current, since _Current isn't updated at this point.
+
+commit 40990d9dfb20b69585859b2a45596aa46c20140a
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Aug 3 12:36:52 2009 -0700
+
+ texenv: Match state.c in deciding whether we'll be using a vertex shader.
+
+commit 03187571b63d97e3d1406d329c5e760e16ef3181
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Aug 3 12:21:03 2009 -0700
+
+ texenv: Add missing dependency on VP changes.
+
+ Funny thing is I annotated this dependency in
+ e5f63c403b767f9974e8eb5d412c012b8a69287f, but didn't actually use it.
+
+commit fb7cf731f9028c1c53addb6c10c68bd4c1794ae6
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Mon Aug 3 12:05:33 2009 -0700
+
+ xdemo/glxswapcontrol: Move get_framge_usage after the swap.
+
+ This fixes the problem that first frame would report bogus usage values.
+ Problem was caused because get_frame_usage returned data from previous buffer
+ swap.
+
+ Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
+
+commit b59eb3b8b14a8973dd133cbc73949a0993d07fb6
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Mon Aug 3 10:43:38 2009 -0700
+
+ xdemos/glxcontexts: Don't leak visual info when choosing visual again.
+
+ Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
+
+commit 7420e33848bfe6d53ee28cc06e53856d542ae2c7
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Mon Aug 3 11:36:08 2009 -0600
+
+ egl_softpipe: Add support for pbuffer surface.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 8a130a65aa7b0695c7d220f4ad6317ba1f64c6a6
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Mon Aug 3 11:35:44 2009 -0600
+
+ egl: Correct the default values of surface attributes.
+
+ EGL_TEXTURE_FORMAT and EGL_TEXTURE_TARGET should default to
+ EGL_NO_TEXTURE.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 8cdc6c66f9d8ede00d02108070d269d3aca8b130
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Mon Aug 3 11:35:14 2009 -0600
+
+ egl: Make eglMakeCurrent more robust.
+
+ Now that a current surface points back to its binding context, and a
+ current context points back to its binding thread, make sure there is no
+ dangling pointers. This commit reworks eglMakeCurrent, adds more checks
+ to avoid stealing context or surfaces from another thread, and correctly
+ destroys unlinked context and surfaces.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 07ee01365a8bddf6f50821ecd585784498a25ff0
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Mon Aug 3 11:34:37 2009 -0600
+
+ egl: Replace IsBound by a pointer to the binding.
+
+ IsBound tells if a context or surface is current. What it does not tell
+ is, to which thread a context is current, or to which context a surface
+ is current. This commit replaces IsBound by a pointer to the binding
+ thread or context.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 27148ccaba9ceee44a3d9fb4649f4a953b3062a7
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 3 11:22:39 2009 -0600
+
+ gl: upgrade wglext.h to version 15
+
+commit 39bf48f281a81fc24a6de00cec243672df2be653
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 3 11:21:57 2009 -0600
+
+ gl: upgrade glxext.h to version 23
+
+commit 2d725dac40de71d3d65d34a77ab39f90ee726373
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 3 11:20:40 2009 -0600
+
+ gl: upgrade glext.h to version 54
+
+commit 4f61bc135ab5ba6ce590418058ed04f63f150b0b
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jul 31 10:23:52 2009 -0600
+
+ tgsi: report opcode name in addition to the number when translation fails
+
+commit c3c90c2dd95ba4f714c6d5fdf5793e1db1a191ca
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jul 31 10:23:09 2009 -0600
+
+ tgsi: added tgsi_get_opcode_name()
+
+commit 2e9bf100143c45ed169cc2d9875dc1b528a94ba5
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jul 31 09:30:56 2009 -0600
+
+ gallium: comments, reformatting
+
+commit ed6125fe9b2a806103cc58a60027aa2aba64dd2f
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Aug 3 11:16:23 2009 -0600
+
+ st/mesa: we don't support GL_NV_point_sprite (see comment)
+
+commit f538d0275398276b8f9634a0b1857a01641ae927
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Mon Aug 3 11:21:10 2009 -0400
+
+ r600: add some missing pci ids
+
+commit 583ed4aae54c308009346c083a1a0d49d4361631
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Mon Aug 3 03:12:56 2009 -0400
+
+ r600: fix the build when RADEON_DEBUG_BO is set
+
+commit 282c0c411cc1d9c10adc75cb066e8af819073975
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Mon Aug 3 02:28:22 2009 -0400
+
+ r600: fix r600SetTexOffset
+
+ We need to properly set up a fake bo for the texture override,
+ so add a new function to radeon_bo_legacy.c. This could probably
+ be used on radeon/r200/r300 to unify the bo handling for
+ texture override.
+
+ compiz now works :)
+
+commit 30bca7a4e6ad4e5a9fc74aba2eb854bb1341cca7
+Merge: d07bf2b d0c398a
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun Aug 2 16:56:52 2009 -0700
+
+ Merge commit 'nha/r300-compiler-gallium'
+
+commit d07bf2b35c1419bdef824092e509c70ffb11fd67
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Sun Aug 2 18:26:12 2009 -0400
+
+ r600: handle state emit better
+
+ - move shader-related state with the rest of the shader setup/emit
+ - start to track dirty state better
+
+commit 562ca4961186954d3abf216bcfb1e835b562b234
+Author: vehemens <vehemens@verizon.net>
+Date: Sun Aug 2 18:03:58 2009 -0400
+
+ r600: Logic Operations Fix
+
+ fixes bug 23087
+
+commit 5e5190360641ad9b328b14097d912aff3496f618
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Sun Aug 2 13:28:18 2009 -0400
+
+ r600: fix regression in texenv
+
+ Emit shader consts with the shader program itself
+
+commit b1700b03af44bc1e069fa7078b47c13ab19702b3
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sun Aug 2 14:38:44 2009 +0200
+
+ r300: Fix a regression on non-KMS
+
+ The regression was introduced by 9a1c336253579d8b58b31910325227b22b4af395
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 86ac0ae0b09566d0cd66dcfc17192780f7e2df03
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Sat Aug 1 20:55:43 2009 -0400
+
+ r600: fix rectangle textures
+
+ It might be better to add an instruction to normalize the
+ coordinates for rectanglular textures as there are some limitations
+ to wrap modes on unnormalized tex coords.
+
+ fixes texrect
+
+commit 9a1c336253579d8b58b31910325227b22b4af395
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sat Aug 1 18:58:47 2009 +0200
+
+ r300: Fix corner-case of KIL on R300
+
+ R300 hardware (but _not_ R500) hardware requires an enabled texture unit
+ if KIL is used in fragment programs. We now work around the CS checker
+ correctly when enabling such a fake texture unit.
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 3d21e3d3a2785022c9a7af5b6a9db33cf6a3164e
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sat Aug 1 16:50:21 2009 +0200
+
+ r300: Fix Z buffer re-emit after window resize
+
+ We used to not always correctly re-emit the Z buffer size in all cases,
+ in particular the clear path, and invalidated state was not always picked
+ up correctly.
+
+ This fixes a bug where the kernel CS checker correctly complains about
+ a Z buffer that is too small.
+
+ Note that this bug was probably only visible with ridiculously high
+ framerates, i.e. glxgears.
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit fc3d564daeacdbd76b97de2ffc10e15931a18c7a
+Author: Patrice Mandin <patmandin@gmail.com>
+Date: Sat Aug 1 11:15:18 2009 +0200
+
+ mesa st: Use POT texture for draw pixels operations if NPOT texture is not supported
+
+commit c1785c19ca0716a7e85777242949a0c33e28988f
+Author: Patrice Mandin <patmandin@gmail.com>
+Date: Sat Aug 1 11:03:30 2009 +0200
+
+ mesa st: Move logbase2 function to util/u_math.h
+
+commit 801c3fcbca69a17f0696522b91cbfc378094974b
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Fri Jul 31 23:24:44 2009 +0200
+
+ radeon: fix r100/r200 compressed texture stride
+
+ This almost fixes compressed mipmapped textures on r200, though some small
+ mip levels are still broken.
+ Leave r300 compressed texture stride as is though afaik it's different
+ to pre-radeon-rewrite too. Also do the fixup for rs600 uncompressed row stride
+ at same place.
+
+commit 2730ee75c73e79f4196d6df5540da7063a96c25e
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Fri Jul 31 23:20:22 2009 +0200
+
+ radeon: s/r300/radeon in shared code error message
+
+commit f7618f4f37d42461b1a6feaa392935d1ae703873
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jul 31 13:57:03 2009 -0600
+
+ swrast: fix incorrect texcoord attribute test
+
+commit 23c0e812bc27e6735f8e7dc48616d90a4b375b28
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jul 31 13:56:17 2009 -0600
+
+ draw: fix-ups for point coord attribute
+
+ progs/glsl/pointcoord.c works again
+
+commit 55bc8b139067f2596da654075a4fc6e5940e22dd
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Wed Jul 29 01:28:33 2009 +0300
+
+ radeon: Cliprects has to be updated before doing anything with clip rectangles
+
+ Reported to fix corruption while dragging an active window by John Bridgman.
+
+ Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 1fcb321e2fa1903b815b099e59bd85aac823850a
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Fri Jul 31 14:03:36 2009 +0300
+
+ radeon: Remove unused variable from context.
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 95b64c0ed20725db2722314d527d63aace6b7f7a
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri Jul 31 15:11:41 2009 -0400
+
+ r600: make sure bos are valid before usign that
+
+commit 80d80d23b6078b8a5c79675ebbdeda665251f13b
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri Jul 31 14:48:46 2009 -0400
+
+ r600: fix reloc setup
+
+ re-use the same reloc index for bos that are referenced
+ multiple times.
+
+ Fixes rain demo.
+
+commit 177c33c481d84058f57e761b25cba735b9c7e6ea
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri Jul 31 12:06:26 2009 -0400
+
+ r600: remove unused offset_mod stuff
+
+ this is a step in migrating to the common cs code
+
+commit 19ce428c8a08565b06795f4b8020dc6399694789
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri Jul 31 11:33:16 2009 -0400
+
+ r600: ensure we have enough room for full state emit
+
+ full state is roughly 4000 dwords, but will vary depending
+ on the rendering.
+ Also fix some warnings.
+
+commit 54a16419235d298e4b7c1761d6abe8066e6cf393
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri Jul 31 11:12:10 2009 -0400
+
+ r600: unify state emit into one function
+
+commit be1687a89271a58d7e4e6f613affa609589f5048
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri Jul 31 10:53:06 2009 -0400
+
+ r600: re-arrange state setup and emit so they are not mixed
+
+commit cb90c43676c258419e4b617c908570891d3674cb
+Author: Michal Krol <michal@vmware.com>
+Date: Fri Jul 31 18:12:53 2009 +0200
+
+ Rename TGSI LOOP instruction to better match theri usage.
+
+ The LOOP/ENDLOOP pair is renamed to BGNFOR/ENDFOR as its behaviour
+ is similar to a C language for-loop.
+
+ The BGNLOOP2/ENDLOOP2 pair is renamed to BGNLOOP/ENDLOOP as now
+ there is no name collision.
+
+commit dc516d6e2afe7f157dbe5aad1288e5624b27e093
+Author: Chia-Wu <olvaffe@gmail.com>
+Date: Fri Jul 31 07:28:56 2009 -0600
+
+ egl: Silence warnings on x86-64.
+
+ Casting an unsigned int to or from a pointer directly gives warnings on
+ x86-64. Add wrappers to silence the warnings.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 826f1f9c6fd976ff36594e272c0a391187ca0bd8
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri Jul 31 02:13:43 2009 -0400
+
+ r600: get updated pending age from cs ioctl
+
+ REQUIRES AN UPDATED DRM
+
+commit 643d52a39443a81bbc7e9b234450754375052b20
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Thu Jul 30 21:27:05 2009 -0400
+
+ r600: warning fixes
+
+commit e0e51ab1eab52735f23d12c3f1a2217abc51a04e
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Thu Jul 30 14:59:48 2009 -0400
+
+ r600: split primitive draw into a separate function
+
+commit d0c398a8e2985b855f923aec3470cef8734a622a
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Thu Jul 30 23:45:34 2009 +0200
+
+ r300g: Use radeon compiler for fragment programs
+
+ This is entirely untested on R500, and needs more testing on R300.
+
+commit fbc88a7334c9567b623572b60267c747a9baa0fb
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Wed Jul 29 19:22:56 2009 +0200
+
+ r300g: Remove extraneous printf
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 188f8c679254f193cdcfcd4ef338f3c8c5e1146d
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Mon Jul 27 20:23:49 2009 +0200
+
+ r300g: Use r300compiler for vertex shaders
+
+commit cab62aa28f5ccdf7ca185ac965b852e2318816f3
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Thu Jul 30 22:26:02 2009 +0200
+
+ r300/compiler: Remove inst_offset from r500_fragment_program_code
+
+ The field is not used, and in any case it would be more interesting to
+ manipulate from *outside* the compiler if we ever wanted to load several
+ fragment programs at the same time or something.
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 9f26f801dc34b1705fe724aab8a6c3189596149b
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Thu Jul 30 14:08:53 2009 -0700
+
+ progs/vp: Correct the PARAM array sizes in arl-*.txt
+
+commit 565a2a8f38f1407e2122b2dbfa4a0bc5bb881dd3
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Thu Jul 30 10:51:43 2009 -0700
+
+ ARB prog parser: Add support for RGBA components to SWZ instruction in fp
+
+commit 27fb3ff858f1c5db82fe94fa1ec9f296808c7b27
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Thu Jul 30 10:42:41 2009 -0600
+
+ softpipe: Mark texture dirty when unmapped.
+
+ When a texutre transfer is mapped for writing, mark the texture dirty
+ when unmapped. This was done in surface creation, and this commit moves
+ it to happen in texture unmapping.
+
+ This fixes subtex test in progs/tests/.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 17534ab88ce29119f79de8abfcc4170471e8f5a4
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Thu Jul 30 09:41:35 2009 -0700
+
+ ARB prog parser: Prevent NULL ptr deref for KIL instruction
+
+ The KIL instruction doesn't have a destination register, so
+ dereferencing dst in asm_instruction_ctor would cause a segfault.
+
+commit 9c936403de1aa868de1218deb2b93344b0d8d95d
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jul 30 10:04:38 2009 -0600
+
+ mesa: re-enable _mesa_source_buffer_exists() call
+
+ Somehow this code wound up inside a comment a while back.
+
+commit 4406f79402e8f986913c20c3138d12d0af670bd4
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jul 30 09:59:52 2009 -0600
+
+ mesa: get_current_tex_unit() helper function
+
+commit 25be043940b25a5fe6eb8058070b3e8f12e92039
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jul 30 09:50:36 2009 -0600
+
+ mesa: refactor glGetTexImage error checking code
+
+commit 783a93a2c310f3fd8a4c0595bb6c60702cd2823e
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jul 30 09:46:57 2009 -0600
+
+ tests: glGetTexImage() test
+
+commit c156eeb682d673e571c1798ff21e183ad4114fea
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jul 30 09:24:01 2009 -0600
+
+ mesa: simplify _mesa_select_tex_image()
+
+commit 9c9a9abd7b953ec9b6cfc52c2f6981c5d38b1691
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jul 30 09:10:26 2009 -0600
+
+ mesa: simplify _mesa_set_tex_image()
+
+commit 1e355a0cb36f206e681d1098b425ac541bc80840
+Merge: 288299a 35e3449
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jul 30 09:03:43 2009 -0600
+
+ Merge branch 'mesa_7_5_branch'
+
+commit 35e3449ad7a01c63219249b37886d59e93cbf7ac
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jul 30 09:02:27 2009 -0600
+
+ mesa: move misplaced return statement
+
+ Fixes regression from commit 7d93f817c9c5222e2bdbaa9fa9f03fc502bfe878
+
+commit 288299ae12603cf7ab0388db426d764c3f31304e
+Merge: e87320b 7d93f81
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jul 30 08:24:10 2009 -0600
+
+ Merge branch 'mesa_7_5_branch'
+
+commit 7d93f817c9c5222e2bdbaa9fa9f03fc502bfe878
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jul 30 08:20:01 2009 -0600
+
+ mesa: add missing return after catching program error
+
+commit e87320b5e033a911d4ced2d516e479cdf1bc9228
+Merge: aefaeba 6842829
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jul 30 08:22:57 2009 -0600
+
+ Merge branch 'mesa_7_5_branch'
+
+commit aefaeba54a3ad7104a83ffdaf81ad9d654b990ee
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jul 30 08:22:26 2009 -0600
+
+ docs: document new i915/945 extensions
+
+commit 98ba6cfb4cc7440f0fb4f101ff714143720e175e
+Author: Thomas Hellstrom <thellstrom@vmware.com>
+Date: Thu Jul 30 12:39:26 2009 +0200
+
+ mesa st: Change the preferred internal format for some RGB formats.
+
+ For GL_RGB5, GL_RGB4 and GL_R3_G3_B2, prefer
+ PIPE_FORMAT_R5G6B5_UNORM over PIPE_FORMAT_A1R5G5B5_UNORM, since hardware
+ is more likely to support the previous format for rendering.
+
+ Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
+
+commit f583745519b2b99ca637cdfa6201fd653c848fd6
+Author: Thomas Hellstrom <thellstrom@vmware.com>
+Date: Thu Jul 30 12:34:02 2009 +0200
+
+ mesa st: Report unsupported render-to-texture formats.
+
+ If a texture image is bound to a framebuffer for render-to-texture, but
+ the hardware doesn't support rendering to its internal format,
+ report the framebuffer as incomplete with FRAMEBUFFER_UNSUPPORTED.
+
+ Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
+
+commit 6c70285e330bd19db78b7d45e43a01b0255ca15f
+Author: Michal Krol <michal@vmware.com>
+Date: Thu Jul 30 11:39:06 2009 +0200
+
+ tgsi: Add proper constraints to sanity.
+
+commit cf8907018e449580b397f09c267219a612ba5db4
+Author: Michal Krol <michal@vmware.com>
+Date: Thu Jul 30 10:34:06 2009 +0200
+
+ tgsi: Declare a LOOP register.
+
+ The only valid usage for LOOP/ENDLOOP instructions
+ is LOOP[0] as a destination register.
+ The only valid usage for the remaining instructions
+ is LOOP[0].x as an indirect register.
+
+commit 65fb2c52f9e86627652cac0d4139b40bef102596
+Author: Michal Krol <michal@vmware.com>
+Date: Thu Jul 30 10:33:18 2009 +0200
+
+ tgsi: Fix number operands for LOOP/ENDLOOP.
+
+commit 1e9d3ad4e1d987e1130e4bcd2ffc35f0e18064c3
+Author: Michal Krol <michal@vmware.com>
+Date: Thu Jul 30 10:31:57 2009 +0200
+
+ vbo: Fix build on windows.
+
+commit b724dd28e24ec1c38af1082f5e16cd9a12d1653d
+Author: Michal Krol <michal@vmware.com>
+Date: Thu Jul 30 10:12:09 2009 +0200
+
+ tgsi: Document LOOP/ENDLOOP instruction operation.
+
+commit 3e2b6a204966b962c9881e90fe3f0b74cf84d8c4
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Thu Jul 30 14:45:11 2009 +0800
+
+ i965: Postpone ff_sync message in CLIP kernel on IGDNG
+
+ In addition, it guarantees ff_sync message is issued
+
+commit 0fdac3529c8a7f7ce41420b79e817407d19a12a2
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Thu Jul 30 03:30:46 2009 -0400
+
+ r600: fix mipmaps
+
+ redbook mipmap works
+
+commit 246729162ccc7e2672aa6cc957053ce3a8975a2c
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jul 29 14:06:05 2009 -0700
+
+ i915: Add support for EXT_stencil_two_side and ATI_separate_stencil.
+
+ Passes tests/stencil_twoside and glean/stencil2.
+
+commit 600710907c5b72cf33e0b3ca6dc7e0d2a1a8ab25
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Wed Jul 29 21:07:41 2009 -0700
+
+ ARP prog parser: Implement the spec, not what makes sense
+
+commit 92b9aa1646daa7d9e6470e9d1dbb3460eeae8941
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jul 29 13:37:41 2009 -0700
+
+ i915: Add ARB_point_sprite since we already expose NV_point_sprite.
+
+ It's all fallbacks anyway due to the DD_POINT_ATTEN fallback.
+
+commit 48183ca8b6adfbb9555428cb8414b821fdd15717
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Wed Jul 29 20:51:38 2009 -0700
+
+ ARB prog parser: Get program limits from the context
+
+ Some debug code from the older stand-alone version of the assembler
+ was hanging around and needed to go.
+
+commit cbe4133109c95fa6b90d8a601c78f043db456809
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Wed Jul 29 20:42:28 2009 -0700
+
+ ARB prog lexer: attenuation is not just for vp
+
+commit 333bb4f291b224ed82d87ade7ac157fb93fc5d12
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Wed Jul 29 20:41:48 2009 -0700
+
+ ARB prog parser: Finish implementing fp state.depth.range
+
+commit e511633985ebdb423d1addefa1267a03a76da33b
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Wed Jul 29 20:07:59 2009 -0700
+
+ ARB prog: Fix the order of swizzle application
+
+ The swizzle used to generate the "original" value from the value
+ stored in the parameter array happens before the swizzle specified in
+ the instruction. This fixes problems seen in progs/vp/vp-tris with arl-*.txt.
+
+commit 9d0b8d72d8d704ff4d8e10448b60cbb42f07eecb
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jul 29 20:07:41 2009 -0600
+
+ mesa: add new FRAG_ATTRIB_FACE and FRAG_ATTRIB_PNTC fragment program inputs
+
+ Previously, the FOGC attribute contained the fragment fog coord, front/back-
+ face flag and the gl_PointCoord.xy values. Now each of those things are
+ separate fragment program attributes. This simplifies quite a few things in
+ Mesa and gallium.
+
+ Need to test i965 driver and fix up point coord handling in the gallium/draw
+ module...
+
+commit b9889517f5e7eceb14bd103bbdff9ff47ce6ed25
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jul 29 16:27:03 2009 -0600
+
+ gallium: fix SSE shadow texture instructions
+
+ When sampling a 2D shadow map we need 3 texcoord components, not 2.
+ The third component (distance from light source) is compared against
+ the texture sample to return the result (visible vs. occluded).
+
+ Also, enable proper handling of TGSI_TEXTURE_SHADOW targets in Mesa->TGSI
+ translation. There's a possibility for breakage in gallium drivers if
+ they fail to handle the TGSI_TEXTURE_SHADOW1D / TGSI_TEXTURE_SHADOW2D /
+ TGSI_TEXTURE_SHADOWRECT texture targets for TGSI_OPCODE_TEX/TXP instructions,
+ but that should be easy to fix.
+
+ With these changes, progs/demos/shadowtex.c renders properly again with
+ softpipe.
+
+commit 9c4c9f2837e08c5f69bc0d12bce7a656b2291837
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Jul 29 18:12:33 2009 -0400
+
+ r600: remove extraneous semicolon
+
+commit b116f57bacb79205a1f80c7055964c60b402a19d
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Jul 29 18:06:20 2009 -0400
+
+ r600: fix texture pitch alignment
+
+ fixes texwrap
+
+commit 1e207ba9c127d12feff3e1c2e8e29da26182e0bb
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Jul 29 15:15:36 2009 -0400
+
+ r600: minor fixes
+
+ - set MAX_LOD properly
+ - min texel pitch is 8 texels
+ - emit old command buffer when re-initing base state
+
+commit 0723cd1b0a8a76808844a2216d709f56fbad88e2
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Wed Jul 29 20:59:56 2009 +0200
+
+ r300: Cleanup r300_fragment_program_code
+
+ Configuration register values are now stored directly in that structure.
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit d3a1fc62f47f1a7f4422585c8c60bf8dcb0dfe4b
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Wed Jul 29 19:41:07 2009 +0200
+
+ r300/compiler: Adapt AllocateHwInputs interface to common usage pattern
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 88ebf514a41ae460dad08a4585a61541864a4432
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jul 28 13:51:29 2009 -0700
+
+ swrast: enable ARB_vertex_array_object.
+
+ It was getting enabled anyway but without the entrypoints installed. Whoops.
+
+commit 8a430dd4dad8520a7a37573e03d85cfb6316cb56
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Wed Jul 29 09:50:06 2009 -0700
+
+ Indentation fixes.
+
+commit 4c5879ff3185e03b3baf0ed2765e06a951b35e9e
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Wed Jul 29 09:47:14 2009 -0700
+
+ ARB prog parser: Set NumAttributes based on the number of attribs read
+
+commit 684282953937a37541f26c6e51ceec4134c62dfb
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Jul 29 12:47:23 2009 +0100
+
+ mesa/st: short-circuit glFinish calls on WIN32 only
+
+ Windows opengl32.dll calls glFinish prior to every swapbuffers, which
+ makes it pretty hard to get decent performance...
+
+ Work around by mapping finish to flush on PIPE_OS_WINDOWS. This is
+ conformant, though it might confuse poorly-written benchmarks which
+ attempt to measure a single event rather than figuring out the rate of
+ continuous processing.
+
+commit 2420b283b783751d4def3a3a2a0ed8bf7bb7b6a8
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Jul 28 18:45:22 2009 +0100
+
+ mesa/st: recognize no-op scissor state when checking clear_with_quads
+
+ Some apps enable scissor but set the rectangle to the dimensions of
+ the window. Don't let this force us onto a slower clear path.
+
+commit 4d99e1453552847c2a67f723adc2764443c995d7
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Jul 16 17:51:02 2009 +0100
+
+ util: _debug_printf should print even when DEBUG is not defined
+
+ The leading underscore is meaningful... This function is used by
+ _warning and _error functions as well as the more common
+ debug_printf().
+
+ debug_printf (without underscore) gets turned off when DEBUG is
+ disabled, but warning/error messages still use this function to get
+ their message out.
+ (cherry picked from commit 0ac879dca797360570543d5bd0fd64f8fb8e566e)
+
+commit 03607708b0499816291f0fb0d1c331fbf034f0ba
+Author: Cooper Yuan <cooperyuan@gmail.com>
+Date: Wed Jul 29 15:31:41 2009 +0800
+
+ r600: emit fog color in PS input map, fix fog related applications
+
+commit 0f6d3aece7b193dcacbd94f87ac734ee3a44b366
+Author: Cooper Yuan <cooperyuan@gmail.com>
+Date: Wed Jul 29 15:23:56 2009 +0800
+
+ R6xx/r7xx: VS export fog color as parameter
+
+commit 648dac4251de69d2949026af3dec0b0befee734b
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Tue Jul 28 21:57:28 2009 -0700
+
+ ARB prog parser: Set component negation mask for SWZ instruction
+
+commit 86b33b5649710f351d241ce6890200ac1f38f724
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Tue Jul 28 21:56:42 2009 -0700
+
+ ARB prog parser: Set correct register file for OUTPUT variables
+
+commit 693f900b163f89952ed9b4c30d093f8ead461657
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Wed Jul 29 11:19:52 2009 +1000
+
+ nv50: support non-blocking query_result()
+
+commit 625bc0cfa2ffb67b797672f7fb3c083a863199d3
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Wed Jul 29 10:58:05 2009 +1000
+
+ nouveau: map_range returning -EBUSY isn't necessarily an error
+
+commit 84166a021fe7b4a05f03d0119d2954998f7f12c6
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Wed Jul 29 01:07:52 2009 +0200
+
+ nv50: correct zeta formats
+
+ What was Z24S8 before is actually S8Z24, and what we had for Z16
+ is actually X8Z24. Now, we also have the REAL Z24S8 and I added
+ Z32_FLOAT as well; most of the formats need different tile_flags.
+
+commit 987c59c486500780a9315d2a850e6121319f4e93
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Tue Jul 28 17:38:28 2009 +0200
+
+ nv50: use new 2D surface format names
+
+commit 1f17b8ff5903b72117caaa49ac786f2f6dfbe401
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Tue Jul 28 17:34:07 2009 +0200
+
+ nv50: support more vtxelt formats
+
+ NOTE: we must not try to emit buffer relocations when
+ vtxbuf_nr is 0 but vtxelt_nr is not
+
+commit 72813ba5b6ac60519957a96afbefb62e3be91c19
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Tue Jul 28 17:21:31 2009 +0200
+
+ nv50: should use uint32_t ptr in draw_elements_inline_u32
+
+commit df189c9efc0fbcdce816af483f0147ab635280d1
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Wed Jul 29 00:55:03 2009 +0200
+
+ nv50: TIC/TSC fixes and additions
+
+ Red and blue were interchanged in TIC.
+ Add border color and some formats.
+
+commit f498ccd654bf04d401eafc3690635fcbf707e1f0
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Wed Jul 29 00:51:35 2009 +0200
+
+ nv50: fix sx/dx typo in transfer_rect_m2mf
+
+commit d1b9183e64e819d389688074c3db338bd0d2d80e
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Wed Jul 29 01:21:41 2009 +0200
+
+ nv50: fix viewport transform
+
+ The translation also needs to be inverted, and in bypass mode
+ the state tracker incorrectly assumes that Y = 0 = TOP, so we
+ need inversion there to; NDC clipping has to be deactivated
+ explicitly.
+
+commit b0341f994feb3ea724bdbbfde5d79ec2c88c34a1
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Wed Jul 29 00:35:12 2009 +0200
+
+ nv50: use correct scissor reg
+
+commit 8c56029b1eb71de56b676b91ddfce06c8d3881f0
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue Jul 28 18:09:38 2009 -0400
+
+ r600: fix tex clamp modes
+
+ This makes texwrap look better.
+
+commit e629c50e2be03144e8aeef3c51624ae8db9957b8
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue Jul 28 17:59:54 2009 -0400
+
+ r600: implement texture border color
+
+commit 719abd7fc088c5ebc567e9ea20bdd6fc9fe1af3b
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue Jul 28 16:58:41 2009 -0400
+
+ r600: fix flat shading
+
+ Set the flat shading bit on the appropriate PS input
+ depending on the type of attribute it is. The VS output
+ and PS input routing should probably be made more dynamic
+ at some point. We may want to use semantic ids to make
+ it easier.
+
+commit dbdb3952c16e13117891a3c52db4e05c472e96b8
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue Jul 28 15:58:01 2009 -0400
+
+ r600: don't call r700UpdateShaders twice for each render
+
+commit b1f7c844a38418cbf3fbcef6c2fb0606a1dd6b7e
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue Jul 28 15:53:45 2009 -0400
+
+ r600: move r700TranslateFragmentShader into r700UpdateShaders
+
+commit 45f4e8842e3dae9d8be2a38769a57a524fdc335f
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Thu Jul 23 17:05:59 2009 +0200
+
+ glx: assign per screen driver configs (DRISW)
+
+commit d090ba9e00c7c7893109ae763385c2e0a66eb16f
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Thu Jul 23 17:05:50 2009 +0200
+
+ glx: assign per screen driver configs (DRI)
+
+commit 82f4dc21cc5bce9e64fd53d158f7162770e9b652
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Thu Jul 23 17:05:43 2009 +0200
+
+ glx: assign per screen driver configs (DRI2)
+
+commit e32b601e7d79e8fa67b3e9f636125eebc01f3884
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Thu Jul 23 17:04:52 2009 +0200
+
+ glx: properly release DRI configs
+
+ Release per screen DRI driver configs during screen destruction.
+
+commit ce0ad53281f236424a72ae021f293a3a5ca69217
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Thu Jul 23 17:03:54 2009 +0200
+
+ glx: cache DRI configs in __GLXscreenConfigsRec
+
+commit 4d648523aa01af3c9111f5d6394866396ebfb7a2
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue Jul 28 11:10:38 2009 -0400
+
+ r600: disable flat shade fix in 506bacb8e40b0a170a4b620113506925d2333735
+
+ This breaks textures. We need to only set this bit for
+ attributes that that need flat shading.
+
+commit d2f6d6ce49699d35d6b6a234fe17a27d99f4b267
+Merge: 94726bc bc60b88
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jul 28 08:58:25 2009 -0600
+
+ Merge branch 'mesa_7_5_branch'
+
+ Conflicts:
+
+ Makefile
+ configs/default
+ docs/relnotes.html
+ src/mesa/main/version.h
+
+commit 94726bc69e5f9dbefb34a38695f2f51d81ff433f
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jul 27 17:18:05 2009 -0600
+
+ gallium: minor code/comments clean-up
+
+commit a744a496d5280ebcd3225debdb2f82589486f89a
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Mon Jul 27 16:57:36 2009 -0600
+
+ egl: Comment out unused tables in_eglFillInConfigs
+
+ This silences a compiler warning.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit bc60b884110b9e41ee3082075717587cc38380b5
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Jul 28 08:54:14 2009 -0600
+
+ progs/trivial: add missing files to Makefile, .gitignore
+
+commit 506bacb8e40b0a170a4b620113506925d2333735
+Author: Cooper Yuan <cooperyuan@gmail.com>
+Date: Tue Jul 28 13:57:07 2009 +0800
+
+ R6xx/r7xx: enable flat shading, this can fix quadric/accanti/accpersp
+
+commit aafd5762593aa01f2d612f4d769d1af383422c1c
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Jul 27 17:22:21 2009 -0700
+
+ ARB prog parser: Add support for GL_MESA_texture_array
+
+ This isn't really tested yet as no drivers actually support this extension.
+
+commit 41d5696628a5eef62cd671711b33edea9344977d
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Jul 27 16:33:16 2009 -0700
+
+ ARB prog parser: More robust error message for bad OPTION string
+
+commit 1edd13bf23c7a9dad00420f519a35f75b27e853b
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Jul 27 16:24:49 2009 -0700
+
+ ARB prog parser: Add support for GL_ARB_fragment_program_shadow
+
+ Passes the piglit asmparsertest shadow-0[123].txt tests and
+ progs/demos/shadowtex.
+
+commit 88018e2e073909ae807f16707f2701e068900926
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Jul 27 15:47:52 2009 -0700
+
+ ARB prog parser: Fix handling of RECT
+
+ Require that GL_{ARB,EXT,NV}_texture_rectangle be supported before
+ allowing use of RECT texture target.
+
+commit 4821099429ec059dc00a28f448bc3c537296ab55
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Jul 27 15:46:07 2009 -0700
+
+ ARB prog: Fix parameters to _mesa_calloc
+
+ So totally awesome that _mesa_calloc has a different parameter
+ signature than calloc. Why do these libc wrappers still exist?!?
+
+commit fcf317ac16e72cff754640cb6c7490531d5de667
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Mon Jul 27 18:12:30 2009 -0400
+
+ r600: fix _REV texture format component swizzles
+
+commit 6c03563af70e924854da2c0a06099616de08a610
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jul 27 15:42:29 2009 -0600
+
+ mesa: regenerated file
+
+commit 8363dff251fc38b044447bcb173d960b03073974
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Thu Jul 23 17:58:08 2009 +0200
+
+ glx: remove XTHREADS support
+
+commit 27e55588e0f6c8fb570d3ae601319ed001b7e02a
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Thu Jul 23 17:57:48 2009 +0200
+
+ docs: do not mentions xthreads any more
+
+commit bdb8ee51867b88806ec0e17a637b3ef99258e8c6
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Thu Jul 23 17:57:22 2009 +0200
+
+ glapi: regenerated GL API assembly files
+
+commit 8f397bffa840d9a14ee2e089728119b65d88bb38
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Thu Jul 23 17:56:52 2009 +0200
+
+ glapi: remove XTHREADS support
+
+commit 3dbaf68bdc1f7427a60bdcc8da635ae7a27aa3cd
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jul 27 15:32:50 2009 -0600
+
+ intel: Fix leak of DRI option info due to using the wrong free routine.
+
+ (cherry picked from commit 6d66f23c50ebe8f973757b6fd1b81c9b7920c447)
+
+commit 722d136f7bd3390c72bca175831647d93393e92d
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jul 27 15:28:49 2009 -0600
+
+ intel: Clean up leak of driver context structure on context destroy.
+
+ (cherry picked from commit ddef7dc87b2001fbe117ee5f24a0c645ee95a03c)
+
+commit 054ab5a50a324b1d64fe403a65a2a392ba0c09fd
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Jul 27 14:11:38 2009 -0700
+
+ ARB prog parser: Correct handling of some extensions that interact w/ARB_vp
+
+commit a7427b0f7b2325b8dcc560d57cb894df25ebef93
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jul 27 15:10:28 2009 -0600
+
+ st/mesa: silence warning
+
+commit 0ad9eba333bd80cf83f728390c8cd6c573ed446d
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jul 27 15:09:56 2009 -0600
+
+ mesa: separate some finite/pragma Watcom stuff
+
+commit 7e2f26cbbf1142951ae0c0c1b732e8799f8cdbc1
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jul 27 15:08:44 2009 -0600
+
+ softpipe: include sp_winsys.h to silence function prototype warning
+
+commit 3ccf89d58479d48b8643b1c67c4b9c34b6b97e4a
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Mon Jul 27 20:16:17 2009 +0200
+
+ r300/compiler: Make calculate_inputs_outputs available to external users
+
+ In the long run, it's probably better to just get rid of InputsRead and
+ OutputsWritten.
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 59fff53492fb385f8567c163aed014fdd9c0f8fa
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Mon Jul 27 19:29:21 2009 +0200
+
+ r300/compiler: Add vertex program code dumper from Gallium driver
+
+commit 6bc0e1054a212ec80408f685237b0e0c1e4929f0
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Mon Jul 27 19:34:08 2009 +0200
+
+ r300/compiler: Prepare for hookup to Gallium
+
+commit e82a50a6a1abd39aa7153846be07b7c5e9172485
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sun Jul 26 13:50:56 2009 +0200
+
+ r300/fragprog: Move wpos_attr and fog_attr where they belong
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 790334883a80ee1d19cb1bba018ed7dc32299dac
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sun Jul 26 12:05:57 2009 +0200
+
+ r300/fragprog: Remove hardcoded FRAG_ATTRIB_xxx constants
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit e034683eda7ab694de400f9803f765b22393cb7d
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sun Jul 26 11:52:17 2009 +0200
+
+ r300/fragprog: No longer rely on hardcoded FRAG_RESULT_xxx constants
+
+ Also, this makes radeon_program_pair depend on the r300 fragment program
+ compiler. Since we now know that r600+ no longer use the same pairing
+ style in their ALU, we can stop pretending that program_pair is useful
+ for anything but r300-r500 fragment programs.
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 836050ba5eb9690e4a64499249eb71af14961deb
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sat Jul 25 01:19:04 2009 +0200
+
+ r300/fragprog: Move some of the attribute handling out of the compiler
+
+ Attribute indices will probably be different in Gallium, so make the compiler
+ independent of magic values.
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 1348a7ebc0524276f2bd53086f13d2c263134db7
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sat Jul 25 01:08:37 2009 +0200
+
+ r300/fragprog: Finally get rid of the duplicate program copy
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 3f7838168781b69aea04514a57058d0aa0cc2cbb
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sat Jul 25 00:59:31 2009 +0200
+
+ r300/vertprog: Move Mesa-dependent input/output handling out of compiler
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit d6a304800b2385740f3b90efab45564e1e6203b2
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sat Jul 25 00:50:53 2009 +0200
+
+ r300: Remove ugly PSIZ hack
+
+ Instead of setting Sourced, we simply force writemasks to begin with.
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 05a51f4b3dfa32c73b85b26254bf9ee270eb6be2
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sat Jul 25 00:49:25 2009 +0200
+
+ r300/vertprog: Refactor wpos rewrite using rc_program
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit ce0c32e3d23641214dae9b3fed863dc163b26ea4
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sat Jul 25 00:41:05 2009 +0200
+
+ r300/vertprog: Refactor fog_as_texcoord to use rc_program
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit a1e8992ffa4e7bddb4aaeb567f9e2023ae08540e
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sat Jul 25 00:07:46 2009 +0200
+
+ r300/vertprog: Refactor addArtificialOutputs to use rc_program
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 273af6857084f3a047a781a6c1a163464bdb3da0
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Fri Jul 24 23:28:08 2009 +0200
+
+ r300/fragprog: Refactor wpos rewrite to use rc_program
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 9dc1be415828962f62d942bf9c362410347d1e75
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Fri Jul 24 23:06:54 2009 +0200
+
+ r300/compiler: Refactor fragment program fog rewrite to use rc_program
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit aab949cb9d62343303ab0836a84fe034244d1584
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Fri Jul 24 22:50:35 2009 +0200
+
+ r300/compiler: Refactor rewrite_depth_out to use rc_program
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 6f4608f53c7ba28b5640974fc1daf6ad860df2f6
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Fri Jul 24 22:34:44 2009 +0200
+
+ r300/compiler: Refactor local transforms to use rc_program
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit d2f56fe687afb2c259338542971e432dd448671b
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jul 27 14:35:18 2009 -0600
+
+ intel: Use _mesa_warning() to report GEM warnings
+
+commit be32fb779beecf4bbd61c42c7eb0f8ca988a9831
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Jul 27 12:48:44 2009 -0700
+
+ ARB prog: Update generated files missed on previous two commits
+
+ The changes are, as it turns out, purely cosmetic.
+
+commit 6d3ccaf3665ce4c137cdeb614a518e58d4cd8aef
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Jul 27 12:38:52 2009 -0700
+
+ ARB prog: Delete comment about possibly needing to free a buffer
+
+ Valgrind doesn't complain about a leak here, so delete the comment
+ about possibly needing to free the state returned by yy_scan_bytes.
+
+commit 09ef339b691036a5db6258aed0d9b91ee9c5b1b0
+Author: Karl Schultz <Karl.W.Schultz@gmail.com>
+Date: Mon Jul 27 13:38:35 2009 -0600
+
+ windows: updated VC8 project files
+
+ See bug 22882.
+
+commit 25e371fb7bd68ca9aba258a89d0d339b5901e1d3
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jul 17 16:58:27 2009 -0600
+
+ docs: 7.5 tarball md5sums
+
+commit 94b45567047fd681666f261f1ad0164049f0491a
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Jul 27 12:21:26 2009 -0700
+
+ ARB prog: Clean up several memory leaks
+
+ As far as I am able to determine via code inspection and using
+ Valgrind, that should be all of the leaks in the parser.
+
+commit 946ea82bff530ac7aa8f5ebe56704fde62e14e86
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Jul 27 12:19:14 2009 -0700
+
+ Add destructor for symbol_table
+
+commit 0044d3ba94f9041492ea90cf8961fd8b55daefda
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Jul 27 12:17:06 2009 -0700
+
+ Add destructor for hash_table
+
+commit 800f48258623f8caf25d013f44784edb7caa3f93
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Fri Jul 24 22:41:14 2009 +0200
+
+ r300: Allow compiler to add constants in a cleaner way
+
+ Adding constants is used in a number of non-native instruction
+ rewrites, and it required us to keep copies of modified gl_programs
+ around. This is a first step towards ending this.
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 92f7a599c7e94b0687d02efef1890e1a8ed2f9f3
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Thu Jul 23 22:49:31 2009 +0200
+
+ r300/compiler: Refactor nqssadce to use rc_program
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit a898e7d66c834be6b6e964e85cbbdf73e93300e0
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Thu Jul 23 22:09:48 2009 +0200
+
+ r300/compiler: Refactor for rc_program usage
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 2237d136cd8f964048a4ccdc87e0ffb48af0f73d
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Thu Jul 23 22:09:11 2009 +0200
+
+ r300/compiler: Add rc_print_program
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 8bcb6ef786dc41049b56e6efeca0f5788cfefe5a
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Thu Jul 23 21:38:28 2009 +0200
+
+ r300/compiler: Lay groundwork for better error handling
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit c5cb9a337881229f1db462632fa1d64e2677f316
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Thu Jul 23 21:10:37 2009 +0200
+
+ r300: Remove dependency on GLcontext from compiler
+
+ Unfortunately, this does cause some code duplication (which we can hopefully
+ eliminate eventually).
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit d65404225d8ba2c16eaffac833cb7dcfd2722a38
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Thu Jul 23 20:24:22 2009 +0200
+
+ r300/vertprog: Cleanup source conflict handling
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 86e3334333d1de7fd723221155de9c8c1d0ce1c6
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Thu Jul 23 19:52:00 2009 +0200
+
+ r300/vertprog: Massively reduce code duplication
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 127ca61fa34497e69149360201ae97f87cb9f38e
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Thu Jul 23 19:25:06 2009 +0200
+
+ r300/vertprog: Use generic transforms and throw away unneeded code
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 84445273ed554ea6fa65c894bbe098eb3f3d1230
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Thu Jul 23 18:40:41 2009 +0200
+
+ r300: Move vertex program compilation to compiler
+
+ This is just the first step of refactoring. The separation is not yet
+ clean enough with this commit.
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 11cd795940723e79f99e7887a2e2dd8410352572
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Fri Jul 24 00:32:41 2009 +0200
+
+ r300: Cleanup vertex_program structure
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 927f5f16826a95cf665219c4b0039eeafb936057
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Wed Jul 22 22:47:31 2009 +0200
+
+ r300: Remove faux lazy translation of vertex programs
+
+ De facto, vertex programs were translated immediately in all situations,
+ so let's just stop pretending that we do lazy translation.
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit a808b10ce82692ff91ab69a1afda24dda56cba6b
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Wed Jul 22 22:13:06 2009 +0200
+
+ r300: Reduce include dependencies
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 9198ab8bfca465a327ea1f2429b6ddfeb0a2b258
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Wed Jul 22 22:10:13 2009 +0200
+
+ r300: Introduce rc_program and use it in radeon_pair
+
+ The goal is to convert both Mesa and TGSI programs into an intermediate format
+ that happens to be convenient for us.
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 9cd5e3e13a1ed2415aa116e35bc9f550b07281c9
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Wed Jul 22 21:29:35 2009 +0200
+
+ r300: Add radeon_compiler as a base for compilation-related tasks
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 647766494f657965c4ac7129d498918e89c9e912
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Tue Jul 21 20:25:33 2009 +0200
+
+ r300: Remove some unnecessary includes
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 77a6ae64b6287c0f6ed3b03e908ab3ce397ff02f
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Thu Jul 16 23:56:15 2009 +0200
+
+ r300/compiler: Compile the compiler seperately into an archive
+
+ This is all part of untangling the compiler from the classic driver, so that
+ it may be used in Gallium without depending on Mesa stuff if possible
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit d6275ccf79667094de496d06aba35222be9935fc
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Tue Jul 21 18:28:30 2009 +0200
+
+ r300: Further reduce dependency between compiler and classic driver
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit f70d3ee3710a3453289aabf637f6818e198c67a5
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Thu Jul 16 22:58:13 2009 +0200
+
+ r300: Remove some dependencies on additional fragment program copies
+
+ The copy is still needed because some program transforms add state variables
+ or constants.
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit b54e0832012e6793b9c381d64aafbb8185b7144d
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Thu Jul 16 22:40:53 2009 +0200
+
+ r300: Remove GLcontext from r300_fragment_program_compiler
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit e93d70e3e93df956e89c46678020de1a352f9ecf
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Thu Jul 16 22:39:16 2009 +0200
+
+ r300: Remove GLcontext requirement from radeonLocalTransform
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 9ceee4d3e45ab65d9d0b9d0eb1d062883f241669
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Thu Jul 16 22:36:54 2009 +0200
+
+ r300: Remove unused enums
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit b4b286b9804203568f71a010ce1c1f163f0f8d6f
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Thu Jul 16 22:32:46 2009 +0200
+
+ r300: Remove GLcontext requirement from radeon_nqssadce
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit d29cdde569cc685beb791a6693f8ae28e2ef5115
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Thu Jul 16 22:23:48 2009 +0200
+
+ r300: Remove GLcontext requirement from radeon_program_pair
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit cb8c694adb8e0a9e1d357cac9cf7a7ce263df3ae
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Thu Jul 16 19:57:43 2009 +0200
+
+ r300/program_pair: Introduce driver-specific texture instruction structure
+
+ This is to prepare more experimentation and possible internal changes in the
+ compiler.
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 78f88d8b8799f013e4ab3abc87666b25071ed917
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Wed Jul 15 22:25:28 2009 +0200
+
+ r300/program_pair: Dynamically allocate instructions temporarily
+
+ In preparation of using TGSI, where we cannot easily predict the number
+ of instructions.
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit e5bed439be4fd7c3a349aedc4bff7eec4e4d363e
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Wed Jul 15 17:36:42 2009 +0200
+
+ r300: Detangle fragment program compiler from driver-specific structure
+
+ This is in preparation of sharing the fragment program compiler with Gallium:
+ Compiler code is moved into its own directory and modified so that it no
+ longer depends on driver structures.
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 6b142866abb3097a84cf4b6dae69423154ab40a6
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Mon Jul 27 17:13:48 2009 +0300
+
+ radeon: Add r6xx/r7xx chip family to get_chip_family_name
+
+ This fixes problem that glxinfo was reporting r600+ cards as unknown.
+
+ Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
+
+commit 1ee3bcfff08599961c69549a1ad699c02df49bec
+Author: Patrice Mandin <patmandin@gmail.com>
+Date: Mon Jul 27 10:57:53 2009 +0200
+
+ nouveau: swizzle a single row or column, doing it one pixel at a time
+
+commit 7d3190a85b17e747981d0aafe13d1ab1946f1649
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Mon Jul 27 03:52:37 2009 -0400
+
+ r600: fix textures
+
+ We weren't allocating enough gprs for the fragment shader
+ in some cases. There are likely other issues that still need
+ to be sorted out for textures, but at least they now work.
+
+commit 7e6819f8430e77012d6cd9278cabaf1d4238117a
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Mon Jul 27 02:25:24 2009 -0400
+
+ r600: don't draw when num indices is 0
+
+ fixes engine demo
+
+commit 48b2fea142af93317e095461fc1f7ef6531268c2
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Mon Jul 27 02:07:59 2009 -0400
+
+ r600: set VGT NUM_INSTANCES as part of the draw command
+
+ set VGT NUM_INSTANCES as part of the draw command rather
+ than as state as recommended by the pm4 guide. Also,
+ use the NUM_INSTANCES packet.
+
+commit 600a53a32edea7d03efa21103ad7122670c4ed4a
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Mon Jul 27 01:57:25 2009 -0400
+
+ r600: Use R600_SCRATCH_REG_OFFSET rather than RADEON_SCRATCH_REG_OFFSET
+
+ noticed by vehemens on IRC.
+
+commit 0b3d51ee3118a7f12a44650d1c14e1bfcf50ed58
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri Jul 24 12:39:51 2009 -0400
+
+ r600: switch vtx resource setup to use SETfield macros
+
+ For consistency
+
+commit 2c5e55d91992c5954e1d220a7ae497c7138595f5
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri Jul 24 10:58:47 2009 -0400
+
+ r600: switch tex code to use SETfield macros
+
+ for consistency with the rest of the code.
+
+commit 7a10472f095ef0f9f6109ca17d8be16836e56509
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun Jul 26 22:48:20 2009 -0700
+
+ r300g: Fix two trivial texture size issues.
+
+ Next thing to fix: progs/tests/mipgen.
+
+commit 725c1f004c9ec2f7b99146eecf0a35f1b3e54dca
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun Jul 26 22:35:26 2009 -0700
+
+ radeon-gallium: If BO allocation fails, return NULL.
+
+commit 2cbd5ecfb666a757c4abef85dbe40fb53d647ec9
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Jul 24 14:37:07 2009 -0700
+
+ r300g: Add some debugging, correct little bits of math in texture setup.
+
+ Simple stuff still works, but not sure about some of the more complex things.
+
+commit 8df35b7b57ff12721556fa7d00b4e337134da374
+Author: Patrice Mandin <patmandin@gmail.com>
+Date: Sun Jul 26 22:30:35 2009 +0200
+
+ nouveau: only swizzle square textures for copy
+
+commit 5276b049b46fd030d7b198a1ecb97248eb73299b
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Jul 26 20:31:11 2009 +0100
+
+ util: fix typo.
+
+commit 2b8a8f75f33931622a46287a2bf633879f23285e
+Author: Patrice Mandin <patmandin@gmail.com>
+Date: Sun Jul 26 16:18:06 2009 +0200
+
+ nouveau: Take into account destination position for copy_swizzle, need to split copy a bit more
+
+commit 77a8a650e61047582794512ef61c8e6525aea059
+Author: Patrice Mandin <patmandin@gmail.com>
+Date: Sun Jul 26 12:30:12 2009 +0200
+
+ nouveau: Recursively swizzle an NPOT sized copy
+
+commit 258f640edab9ca9e71ee255ebe5ddae4b9d0d871
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Fri Jul 24 18:14:47 2009 -0700
+
+ ARB prog: Layout parameters from parameter type, not src type
+
+ Use the type stored in the Parameters array to determine the layout
+ instead of the type in the instruction register field. Also, update
+ the instruction register field based on the parameter type.
+
+ This makes Google Earth work exactly like with Mesa master.
+
+commit a7400e736467b7b032ee0d8a8bad25a0a65e782b
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Fri Jul 24 18:03:02 2009 -0700
+
+ ARB prog: _mesa_print_program output should go to same place as _mesa_printf
+
+commit f3cba9d66a5b45f4afeda3763f9ec1fb53e2ec89
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Fri Jul 24 18:01:59 2009 -0700
+
+ ARB prog parse: Fix cut-and-paste error for constant vectors
+
+commit 6f8214cae613bc3bead215214e092c07793975e7
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Fri Jul 24 17:33:30 2009 -0700
+
+ ARB prog: get frag prog texture info from the right place
+
+ This gets basic texturing working. w00t!
+
+commit 8c30292a6e48448318d84582df876f35c490f968
+Author: Patrice Mandin <patmandin@gmail.com>
+Date: Fri Jul 24 23:37:46 2009 +0200
+
+ nouveau: use nv04_surface_copy_swizzle only for POT sizes
+
+commit 12b183d2506e49774aad23543f5bb477904cb1c7
+Author: Joakim Sindholt <opensource@zhasha.com>
+Date: Fri Jul 24 14:54:00 2009 +0200
+
+ radeon-gallium: remove old getparam ioctl
+
+commit c57d81ddc9ba3052ff7f6b72091accab2c2db0ae
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jul 23 20:20:39 2009 -0600
+
+ mesa: include glew headers in MesaDemos tarballs
+
+commit 3b4235d4eb5818d0e57b768c66a28249ac5d853c
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Thu Jul 23 18:23:18 2009 -0400
+
+ r600: fix segfault in morph3d
+
+ These attributes still need work, but it shouldn't hurt to
+ enable them.
+
+commit aa99a765c15392d06e3a33d4eda377c58bc6afec
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Jul 23 18:48:04 2009 +0100
+
+ draw: correct address for machine struct in llvm path
+
+ This changed after a recent commit.
+
+commit adc6f8cdfc8ca25d7480a50cfe0f85fdeddbfcfc
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Jul 23 17:56:41 2009 +0100
+
+ gallivm: updates for TGSI changes
+
+ make linux-llvm succeeds, but doesn't seem to be working, at least with
+ llvm 2.5
+
+commit ca83d5a8db510756eb95423a52b19ff52a2d6dc1
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Jul 23 07:14:07 2009 -0700
+
+ r300g, radeon-gallium: Fix API, cleanup.
+
+ Something called "validate" should return FALSE on failure, not TRUE.
+
+commit 27b3c435ba0b9da6ab25cbffac9f975e0adaa66e
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Thu Jul 23 07:05:21 2009 -0700
+
+ radeon-gallium: Build fixes wrt changed libdrm_radeon space check API
+
+ Had to be hacked up a bit to apply to master. Sorry 'bout that. :3
+
+commit 256eacbde44829b6f3874743e8df6102ce7a6ef0
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Jul 23 01:04:26 2009 -0700
+
+ r300g: PIPE_CAP_BLEND_EQUATION_SEPARATE.
+
+commit d0d98f3ecfed7d7e0c4426185c13ec4f7c1761f9
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Jul 22 11:31:41 2009 +0100
+
+ gallium: clean up opcode definitions
+
+ Remove commented-out opcodes. Remove information about API mappings
+ to opcodes, but add a reference to tgsi-instruction-set.txt where
+ that information is better presented.
+
+commit 78379abcbf853b2cff8d832b45ecf0eeb54b2c58
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Jul 22 11:25:26 2009 +0100
+
+ gallium: remove deprecated TGSI opcodes
+
+ Various opcodes which can be implemented trivially with other TGSI opcodes,
+ such as matrix multiplication and negation. These were not used by any
+ state tracker or implemented by any of the drivers.
+
+commit 8b78294d21ffb2cba41328341457bf193087d969
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jul 23 14:11:10 2009 +0100
+
+ r600: Remove CRLF line endings.
+
+commit af1163cc415265e125b5aa5041ce5c75b978bb1a
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Jul 23 14:07:31 2009 +0100
+
+ util: Add support for Mac OS.
+
+commit 07961bb05e5ba05205b9f53834863664f1023870
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Jul 22 23:58:35 2009 -0700
+
+ r300g: Actually mark shaders as translated/untranslated.
+
+ Also trust that Gallium will not give us TGSI that miscounts shader consts.
+
+ This creates a 20x speedup on glxgears, from 8 FPS to 160 FPS.
+
+commit 895c435defa83f49b2145f316a7d8d203b2fe374
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jul 22 21:04:07 2009 -0600
+
+ cell: update TGSI_OPCODE_ cases
+
+commit ef80c2012dff343eb5ff571cea8377ff6a87c0c5
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Wed Jul 22 17:13:08 2009 -0700
+
+ parser: Clean up a bunch of silly compiler warnings
+
+commit 0db5ef074169589bc4d665094147aa284a5496d7
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Wed Jul 22 16:21:54 2009 -0700
+
+ parser: Track a few more frag prog related values
+
+commit 28b13038d84db1c4e1e56e15d310b30ddffcb7bd
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Wed Jul 22 16:03:32 2009 -0700
+
+ parser: Ensure that param_binding_type is set correctly
+
+commit d602966f89d78725f96d63f69b9f8691c1da04f4
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Thu Jul 23 00:47:32 2009 +0200
+
+ gallium: Fix PPC build.
+
+commit 5f090bb0740c424f74f21abf4b657b9b292418c5
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Wed Jul 22 15:28:31 2009 -0700
+
+ GIT ignore program_parse.output
+
+commit c2ee82d6931ad180334b2fcb0028050d65cdd40d
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Wed Jul 22 15:27:31 2009 -0700
+
+ parser: Set NumParameters
+
+commit 44843c753301db0e8f8343745777479465f34ccc
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Wed Jul 22 15:06:49 2009 -0700
+
+ parser: Clean up generation of error strings during assembly
+
+commit b7042399fd0a1cf66f99340486c03374d15af36c
+Author: Patrice Mandin <patmandin@gmail.com>
+Date: Wed Jul 22 22:25:36 2009 +0200
+
+ nouveau: nv30: wrong variable for format
+
+commit b129c55f428b37325094a3f0da55c337ee94e515
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Wed Jul 22 22:10:22 2009 +0200
+
+ r300: fix address register handling in NQSSADCE
+
+ For address register we always use X component
+
+commit aec429170681567414de70814f69244758323e75
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Wed Jul 22 12:29:48 2009 -0700
+
+ parser: Initialize unused instruction source registers
+
+ The 965 driver expects unused source registers (e.g., SrcReg[2] of a
+ DP3 instruction) to have a register file of PROGRAM_UNDEFINED.
+ Initializing these source registers ensures that this happens.
+
+commit db40bb028726b10e86cd9d683dc9db18181b638d
+Author: Patrice Mandin <patmandin@gmail.com>
+Date: Wed Jul 22 21:10:20 2009 +0200
+
+ nouveau: Take into account sx,sy parameters to read from source surface
+
+commit b4ba6a66b70b89e9c049f6ce9b65c1edda118651
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jul 22 12:49:34 2009 -0600
+
+ docs: initial release notes for 7.5.1
+
+commit 9c4b877519f73f46eac35885d3b8801753168e14
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jul 22 12:46:53 2009 -0600
+
+ mesa: bump version to 7.5.1
+
+commit b9e2e32daf5505896a662dc8df60104c0f51b4b9
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jul 22 12:34:07 2009 -0600
+
+ mesa: include GLEW sources in MesaDemos tarball
+
+commit 69d3d19b54c46cb7b0e05c04a5304830a1ee2691
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Wed Jul 22 10:51:18 2009 -0700
+
+ parser: Anonymous constants come from the PROGRAM_CONSTANT file
+
+commit ede9f3b52ecb27ada81fee06a943bb595c60eaee
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Jun 12 11:59:01 2009 +0100
+
+ gallium: remove multiple aliases for TGSI opcodes
+
+ This is a source of ongoing confusion. TGSI has multiple names for
+ opcodes where the same semantics originate in multiple shader APIs.
+
+ For instance, TGSI includes both Mesa/GLSL and DX/SM30 names for
+ opcodes with the same semantics, but aliases those names to the same
+ underlying opcode number.
+
+ This makes it very difficult to visually inspect two sets of opcodes
+ (eg in state tracker & driver) and check if they implement the same
+ functionality.
+
+ This patch arbitarily rips out the versions of the opcodes not currently
+ favoured by the mesa state tracker and leaves us with a single name
+ for each distinct operation.
+
+commit fd31f92cea0ce8613a22d8f4b3c75b340bcc5689
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Jul 22 00:39:00 2009 +0100
+
+ gallium: simplify tgsi_full_immediate struct
+
+ Remove the need to have a pointer in this struct by just including
+ the immediate data inline. Having a pointer in the struct introduces
+ complications like needing to alloc/free the data pointed to, uncertainty
+ about who owns the data, etc. There doesn't seem to be a need for it,
+ and it is unlikely to make much difference plus or minus to performance.
+
+ Added some asserts as we now will trip up on immediates with more
+ than four elements. There were actually already quite a few such asserts,
+ but the >4 case could be used in the future to specify indexable immediate
+ ranges, such as lookup tables.
+
+commit 5e3c62b550407111cf5f7a700abb18f947bd6903
+Author: Richard Li <richardradeon@gmail.com>
+Date: Tue Jul 21 17:56:06 2009 -0400
+
+ r600: fix dst reg indexing for real
+
+ This fixes segfaults in apps like teapot and tunnel
+
+commit 7edb2a9eef698c386042e6cead68ac516ec15616
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue Jul 21 17:44:36 2009 -0400
+
+ Revert "r600: fix dst reg indexing"
+
+ This reverts commit cc893d9a98255d3c26df7123ba5cc02e478c9328.
+
+ Richard has the proper fix.
+
+commit 72a3d8845f55b4a82f7e3734c8b3aa51b65e220d
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue Jul 21 17:07:17 2009 -0400
+
+ r600: add stencil support
+
+commit db0160bb9d80843c28965890814f0e957e8bf975
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue Jul 21 14:06:47 2009 -0400
+
+ r600: use state functions to set default state
+
+commit bd62cd735f8ccf1c983d57440e41a6959260cf9f
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue Jul 21 13:46:15 2009 -0400
+
+ r600: fill in point functions
+
+commit 5a615e7e653c1aeab280c6ddfdba3ecb763302ec
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue Jul 21 13:28:12 2009 -0400
+
+ r600: set provoking vertex to last vertex for OGL
+
+commit 60787df1e549436557393bbeae5951d8f27c1976
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue Jul 21 13:19:46 2009 -0400
+
+ r600: fill in r700UpdateViewportOffset
+
+commit 549b8e6f1a372b6cce4a9013854b3c97ba95af2b
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue Jul 21 13:10:26 2009 -0400
+
+ r600: first pass at polyoffset support
+
+ not working yet
+
+commit 7247446ba81b6bafede9ead750e5b5e81f3f1a10
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Tue Jul 21 21:12:40 2009 +0200
+
+ radeon: fix colorbuffer pitch emission regarding tiling in KMS/CS case
+
+ We need to emit a relocation for pitch register so that kernel can
+ check and properly setup tiling on the color buffer.
+
+commit ecead301112ad24f5ddb1616c99cde67930751a3
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue Jul 21 11:09:05 2009 -0400
+
+ R600: fix up some build problems
+
+commit 9e6d38f8a2cc89e3d45ef2bb169b72c3c41fc27b
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue Jul 21 01:58:05 2009 -0400
+
+ r600: add alpha test support
+
+commit cf24119d38360bfb25fa2683fe86a139826084f0
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Tue Jul 21 10:46:29 2009 +0200
+
+ Track Radeon driver symlinks in Git.
+
+commit a6b314150c141f4c73e408b114181e57237540d9
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jul 2 19:21:22 2009 -0700
+
+ intel: Fall back on glBitmap with fog enabled.
+
+ We would have to build the program with the appropriate fog mode, and
+ also supply the fog coordinate if appropriate.
+
+ Bug #19413.
+ (cherry picked from commit 8ae02a3919bf31bd33f86208472e100eedb58497)
+
+commit 1b445f96737cf5a1a28e81ff94a2e07b2cac3a96
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Jul 20 17:58:12 2009 -0700
+
+ i965: Don't clip everything if FRONT_AND_BACK culling while culling disabled.
+
+ Fixes everything-black with meta_clear_tris on quake4-mpdemo and doom3-demo.
+
+ Bug #18844, 22077.
+ (cherry picked from commit 81d555068408d4343d7627c8bedda5675f09bd21)
+
+commit 5358e54d1ae64ccfa81199b343a2931b415fcc0a
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Mon Jul 20 16:11:26 2009 +1000
+
+ Add missing X11_INCLUDES to egl/drivers/demo and egl/main.
+
+ Compiling mesa on a system with no X headers installed in the default
+ include paths fails due to missing X11 includes. The header includes are
+ picked up by configure but not applied.
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Signed-off-by: Dave Airlie <airlied@redhat.com>
+
+commit 81d555068408d4343d7627c8bedda5675f09bd21
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Jul 20 17:58:12 2009 -0700
+
+ i965: Don't clip everything if FRONT_AND_BACK culling while culling disabled.
+
+ Fixes everything-black with meta_clear_tris on quake4-mpdemo and doom3-demo.
+
+ Bug #18844, 22077.
+
+commit 770cebbc29863ae944a31463ee4bdeb789105aba
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Jul 20 17:44:36 2009 -0700
+
+ ARB_fp/vp: Initial import of new ARB vp/fp assembler
+
+ This still needs quite a bit of work, but a bunch of the programs in progs/vp
+ produce correct results.
+
+commit 6617fa6fab2df5d3d8085affac019f90101bb7a8
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Mon Jul 20 19:33:05 2009 -0400
+
+ r600: fix typo in blend code
+
+commit cc893d9a98255d3c26df7123ba5cc02e478c9328
+Author: Kevin DeKorte <kdekorte@gmail.com>
+Date: Mon Jul 20 18:56:47 2009 -0400
+
+ r600: fix dst reg indexing
+
+ This fixes segfaults in apps like teapot and tunnel
+
+commit 265d5eba658f38f5a9d12d57b701e4ffe49100eb
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Mon Jul 20 18:50:59 2009 -0400
+
+ r600: add blending support
+
+commit a369963b18fc7ef75f6f5354e0d685cef9ecb70d
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Mon Jul 20 17:22:59 2009 -0400
+
+ r600: add user clip plane support
+
+commit ce9c5a1a27b4e59dbf49b066baaae6ef371b04bc
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Mon Jul 20 15:27:28 2009 -0400
+
+ r600: add logicop support
+
+commit 480567d5c451511a72744b0c849960c2b712e093
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Wed Jul 8 11:39:13 2009 -0700
+
+ Add new _mesa_new_parameter_list_sized to pre-allocate a parameter list
+
+commit cad82cd0636b4b74597ae2c6bab83a3e94006bf8
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Jul 20 19:45:24 2009 +0100
+
+ tgsi: get texturing working in vertex shader sse2 path
+
+ Missing file from previous commit.
+
+commit cd63e35603568c168e8aebbc47ca6ea308f2ccfa
+Merge: 442101d 5ed4404
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Mon Jul 20 20:41:11 2009 +0200
+
+ Merge branch 'mesa_7_5_branch'
+
+commit 5ed440400573631f540701f3efd479d8c1592007
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Mon Jul 20 20:26:28 2009 +0200
+
+ radeon: With DRI1, if we have HW stencil, only expose fbconfigs with stencil.
+
+ Otherwise simple apps like glxgears pick up a DirectColor visual since the X
+ server mixes the depth 32 visual in with the other GLX visuals, and this seems
+ to result in a (mostly) black screen due to a bad ColorMap for a lot of people.
+
+ The bad ColorMap may be a bug in the apps, the X server or X driver, and
+ regardless of that I think the X server should ideally make the depth 32 GLX
+ visual separate from the rest again, but in the meantime this makes us cope.
+
+ (depth_bits is either 16 or 24, never 0)
+
+commit 442101dad72373bcbd576bce3cbf77c49280e04b
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Jul 20 19:29:22 2009 +0100
+
+ tgsi: get texturing working in vertex shader sse2 path
+
+commit 27a19be8d1c59c64240198261af348b868b101e4
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Jul 20 19:28:34 2009 +0100
+
+ tgsi: fix regression in indexed const lookups
+
+ This function was calling get_input_base() and get_output_base() to
+ get the names of a couple of register to use as temps. Those
+ functions no longer return registers, so adjust it to get the
+ registers elsewhere.
+
+ This change doesn't address the issue that it's a fairly poor way to
+ grab a register name by calling a function with an apparently
+ unrelated meaning.
+
+commit 91512fa019f920f08bd428c00aba24681f9d65ab
+Author: Kevin DeKorte <kdekorte@gmail.com>
+Date: Mon Jul 20 09:27:17 2009 -0400
+
+ r600: Fix compilation
+
+commit 19249a1ae762c90ab9141fe81da465f13d3376ef
+Author: Cooper Yuan <cooperyuan@gmail.com>
+Date: Mon Jul 20 17:42:47 2009 +0800
+
+ R6xx/r7xx: Fix line stipple and width issue
+
+commit cf721c8137a0335016d0ec36449819ba80578b7d
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Mon Jul 20 02:11:17 2009 +0200
+
+ Add common_ppc.c to MESA_GALLIUM_SOURCES.
+
+commit 3d0009ce457c78390ba1ffa0e8a991d65a99c448
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Mon Jul 20 02:06:37 2009 +0200
+
+ r300g: Fix SCons build.
+
+commit 0b7a907f396e6de8b28316aeb7e7c9495a2fede9
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Mon Jul 20 02:05:38 2009 +0200
+
+ gallium/trace: Fix SCons build.
+
+commit 3326be6c0a008c42e19a039cbfbf2fac3f6e2212
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Mon Jul 20 01:53:15 2009 +0200
+
+ r300g: Guard R500 register writes by is_r500 check.
+
+ Flagged by the DRM command stream checker. This allows the driver to work on
+ non-R500 cards.
+
+commit 5e6fff7ac4a4e0d06d394391f6e2dd2eb6ff8aee
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sun Jul 19 09:22:31 2009 +0200
+
+ svga: Do the gallium intel configure trick for svga as well
+
+ Since the drivers we produce on systems where we use
+ configure depend on none stable kernel API the driver
+ deliverables should not be built by default in the
+ mesa 7.7 release.
+
+ People wishing to shoot them self in the foot have to
+ pull the trigger themself, we just hand them the gun.
+
+commit bf75ee9ccc6bb00ee0251997afcb522ead68f170
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Wed Dec 16 09:15:09 2009 -0800
+
+ mesa: set version string to 7.7-rc3
+
+commit 006a526edb0f5a67679309a867a1af22d94e1687
+Merge: 11522b7 42d9409
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Wed Dec 16 09:09:51 2009 -0800
+
+ Merge branch 'mesa_7_6_branch' into mesa_7_7_branch
+
+ Conflicts:
+ src/mesa/drivers/dri/unichrome/via_ioctl.c
+ src/mesa/drivers/dri/unichrome/via_screen.c
+ src/mesa/main/version.h
+ src/mesa/state_tracker/st_atom.c
+
+commit 42d94098737bbd52ce9bdcdec36dad32e6b7a0ed
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Wed Dec 16 09:01:58 2009 -0800
+
+ mesa: set version string to 7.6.1-rc4
+
+commit 11522b74b318db9d099466ff226124c23595e8e2
+Merge: b90f7f3 f23d01e
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Tue Dec 15 12:38:01 2009 -0800
+
+ Merge branch 'mesa_7_6_branch' into mesa_7_7_branch
+
+ Conflicts:
+ src/gallium/drivers/softpipe/sp_quad_blend.c
+
+commit b90f7f3ad324b1e4c39e334cdeb9556c3eb808ab
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Dec 14 16:16:26 2009 -0800
+
+ i965: Use current draw buffer instead of drawable visual to get alpha bits
+
+ Use the currently bound draw buffer instead of the visual from the
+ drawable used to create the context. This cause problems generating
+ mipmaps for an RGBA texture in an RGB context.
+
+ This fixes the failure in piglit's glsl-lod-bias test reported in bug #25614.
+
+commit f4de0b176d282a75ee3f47547667feea31e0d3f3
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Mon Dec 14 22:27:08 2009 +0100
+
+ vmwgfx: Update vmwgfx_drm.h to the on upstream
+
+commit fb06d8f0977b19068d65daca88f58da09ed13b5c
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Mon Dec 14 22:11:17 2009 +0100
+
+ vmware/xorg: Use new stream ioctl
+
+commit 69346c56a17ba9a74b7f2226c0b4d5ce0bbb1f15
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Dec 14 13:35:56 2009 -0700
+
+ mesa/meta: move BindTexture() call in _mesa_meta_GenerateMipmap()
+
+ This is a follow-up to commit e3fa700c178e11e6735430119232919176ab7b42.
+
+ The call to _mesa_BindTexture() must be before we set any other texture
+ object state, namely the _mesa_TexParameteri() calls.
+
+ This fixes bug 25601 (piglit gen-nonzero-unit failure).
+
+commit 48888b918b9c09a14056f925c2af60ea16dcc88d
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sat Dec 12 20:02:34 2009 +0100
+
+ vmware/xorg: Fix failure paths and add some debug printing
+
+commit 49e4b624e5f4a68d51eb9681dbd2218aea0645fa
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sat Dec 12 18:30:56 2009 +0100
+
+ vmwgfx/core: Check for 3D via the get param ioctl
+
+commit 8413a3aefaf4968f8b17263826b34baa99c2a907
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Dec 12 02:02:53 2009 +0100
+
+ radeon: fix #25463
+
+ This is just a workaroung until we properly fix texture mapping in radeonSpanRenderStart
+
+commit f1900323ea1e387afc487737f9930ba0d014fd0d
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Fri Dec 11 23:56:47 2009 +0100
+
+ r300: fix depth textures
+
+commit e128cc205e30540597ecd57849060a6bf4714d9f
+Merge: b605f4f 7d41b42
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Dec 11 09:51:27 2009 -0700
+
+ Merge branch 'mesa_7_6_branch' into mesa_7_7_branch
+
+commit b605f4ff11c894500f2d0273c5d4653ff413448d
+Merge: da3bc49 5076a4f
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Dec 11 09:22:00 2009 -0700
+
+ Merge branch 'mesa_7_6_branch' into mesa_7_7_branch
+
+commit da3bc492d2438ac915e720c17b54d0d12ffd8a97
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Dec 11 15:16:22 2009 +0000
+
+ scons: Tweak MSVC release options.
+
+ Enable whole program optimizations and fast math.
+
+commit ffae1f938d61165fce620bfd76ea7ae74dc63289
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Dec 11 14:14:03 2009 +0000
+
+ svga: Add a missing dependency from the prescale state.
+
+ Thanks for Keith to finding this.
+
+ Fixes Jedi Knight 2 menus.
+
+commit 8469baf41bd4775eab2403ecf08ed013343943a5
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Dec 11 13:15:12 2009 +0000
+
+ svga: Always pass SVGA3D_SURFACE_HINT_DYNAMIC.
+
+ Since we're reusing buffers we're effectively transforming all
+ of them into dynamic buffers.
+
+ It would be nice to not cache long lived static buffers. But there
+ is no way to detect the long lived from short lived ones yet. A
+ good heuristic would be buffer size.
+
+commit 16876b8328059446b6fa0951f7848e5d500244ab
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Dec 11 12:29:02 2009 +0000
+
+ svga: Keep tight control of texture handle ownership.
+
+ The texture owns the surface handle. All derivatives need to keep
+ a reference to texture.
+
+ This fixes several assertions failures starting up Jedi Knight 2.
+
+ Should cause no change for DRM surface sharing -- reference count still
+ done as before there.
+
+commit 770323e33e62169827454af74e9f90f09997f962
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Dec 11 12:09:02 2009 +0000
+
+ svga: Fix mixed signed comparisons.
+
+commit a2937a2f4ecf22a5a4242cd0a350f20228f50232
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Dec 11 12:08:32 2009 +0000
+
+ scons: Pass -fno-strict-aliasing to gcc.
+
+ Strict aliasing tule violations were fixed on master, but
+ they're still causing problem in this branch, so disable this assumptions.
+
+ Do not apply this fix to master (revert when you merge).
+
+commit 8c981b94dc0ff30fe2b2786b1d5671be7d1610b7
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Nov 25 18:06:12 2009 +0000
+
+ scons: Make it work with MinGW build of LLVM 2.6.
+
+ LLVM 2.5 is no longer supported on windows.
+
+commit e624b77eb2d594cde053c73a530836e05227126a
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Tue Dec 8 23:25:26 2009 -0800
+
+ intel: Remove ARGB internal_format == GL_RGB hacks
+
+ Now that XRGB is supported, we don't need to hack around cases of an RGBA
+ format buffer with an internal format of GL_RGB.
+
+commit b4a6169412819cc3a027c6a118f0537911145a30
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Tue Dec 8 23:24:58 2009 -0800
+
+ intel: Make RGB textures use XRGB8888
+
+commit cbdeb33209e782f011984a4b93cc0d36f567462e
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Tue Dec 8 21:15:36 2009 -0800
+
+ intel: Make RGB renderbuffers use XRGB8888 like we do for RGB system buffers.
+
+commit eadd9b8e16e3b1ad35fec54f780a0f94ac43988f
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Tue Dec 8 21:13:05 2009 -0800
+
+ i965: Fix handling of drawing to MESA_FORMAT_XRGB8888
+
+ It turns out that 965 and friends cannot actually render to an xRGB
+ surfaces. Instead, the surface has to be RGBA with writes to alpha
+ disabled and the blend function modified to always use 1.0 for
+ destination alpha.
+
+commit 4f2b2032f46939b6056f837a086e73f0417183fc
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Tue Dec 8 21:12:18 2009 -0800
+
+ intel: Use spantmp2 GL_BGR / GL_UNSIGNED_INT_8_8_8_8_REV for XRGB8888
+
+commit ffc1f299e9eaa6eaa4b5586b9fb13132564bd3ae
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Tue Dec 8 21:10:45 2009 -0800
+
+ spantmp2: Add support for GL_BGR / GL_UNSIGNED_INT_8_8_8_8_REV
+
+ This is really for MESA_FORMAT_XRGB8888. Clearly spantmp2.h needs some
+ re-work. Any volunteers?
+
+commit 430876cd3a70d3b701d136b825518140888f96c8
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Tue Dec 8 17:03:20 2009 -0800
+
+ intel: name in intel_create_renderbuffer was always 0, remove
+
+commit 0f01674a584ea6df96acf91d7cd3b8a9b48ee65e
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Tue Dec 8 16:06:13 2009 -0800
+
+ intel: Use texformat accessor to get bytes-per-pixel
+
+commit 4eee46efcb7e1f737b7115caf48ddb3b77408626
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Tue Dec 8 15:51:18 2009 -0800
+
+ intel: softwareBuffer in intel_alloc_renderbuffer_storage was always false, remove
+
+commit 3078bd136d6ee1d9ad16b4c834cad23b005304a4
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Tue Dec 8 09:57:27 2009 -0800
+
+ intel: Axe intel_renderbuffer::texformat
+
+ Since the texformat branch merge, the value of intel_renderbuffer::texformat
+ is just a copy of gl_renderbuffer::Format.
+
+commit 539a14a1dd5a0d277b193d9cd2d06423ed98dc8a
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Dec 9 11:36:45 2009 -0800
+
+ intel: Flush the render/texture cache when finishing render to texture.
+
+ Back when we were flushing the entire batch at BindFramebuffer, the kernel
+ would notice the domain transition when someone went to texture from it and
+ flush for us. We no longer do the batch flushing every time, so we get to
+ do aggressive flushing until we move batchbuffer handling to libdrm.
+
+ Fixes piglit fbo-flushing. Bug #25377. No noticeable performance loss
+ on cairo-gl (so this is better than batch flushing).
+
+commit 967e6e20099ebd3a7f68f49233e6cf3c99ce3317
+Author: Zack Rusin <zackr@vmware.com>
+Date: Thu Dec 10 13:01:53 2009 -0500
+
+ st/xorg: fix yv12 plus some cleanups in the upload code
+
+commit 690d888416909f0449e6ebbfa46f18079b68b1bd
+Author: Zack Rusin <zackr@vmware.com>
+Date: Wed Nov 18 12:06:32 2009 -0500
+
+ st/xorg: enable yv12 for xv
+
+commit 05b62960929b78a53465ffcb0739454519ed157a
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Dec 9 22:34:07 2009 -0800
+
+ mesa: Fix SCons build.
+
+ Commit cd6b8dd9e82fedc55d033131fbc0f8ee950567c8 deleted
+ src/mesa/state_tracker/st_cb_get.c.
+
+commit 5e2a86cb1be935f1c54efcf5b4e6a1b7371ff5e7
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Dec 8 21:05:30 2009 +0100
+
+ vmware/xorg: Properly detect overlay support
+
+commit b7cf8a1f93ef3a81f2e8c44adca9a3990da4466d
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Dec 8 21:03:29 2009 +0100
+
+ vmware/core: Update vmwgfx_drm.h
+
+commit e3fa700c178e11e6735430119232919176ab7b42
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Wed Dec 9 11:03:49 2009 -0800
+
+ meta: Bind texture to unit 0 for mipmap generation
+
+ If the active texture unit on entry to mipmap generation is not zero, bind the
+ texture to unit zero.
+
+ Fixes bug #24219.
+
+commit cd6b8dd9e82fedc55d033131fbc0f8ee950567c8
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Dec 9 10:08:07 2009 -0800
+
+ mesa: Move OES_read_format support from drivers into the core.
+
+ The assertion is that the correct read type to be using is the native
+ type of the underlying read renderbuffer. For some fallback paths, this
+ may be worse than GL_RGBA/GL_UNSIGNED_BYTE for reads today, but it gets
+ all drivers the expected GL_BGRA/GL_UNSIGNED_BYTE for ARGB8888 or
+ GL_BGR//GL_UNSIGNED_SHORT_5_6_5_REV for rgb565 with no work.
+
+ This fixes the intel (and other) DRI drivers to report read formats that
+ should hit blit PBO readpixels paths.
+
+commit dd9eb8774ad7918187afebf8cd3be6f4b80f0f3b
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Dec 8 16:15:07 2009 -0800
+
+ i965: Enable the accelerated ReadPixels path on gen4 along with pre-gen4.
+
+ Passes piglit pbo-read-argb8888, and doesn't otherwise regress quick.tests.
+
+commit 6f1db18f148b9014af80abe0524827f1cb3ec013
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Dec 4 16:44:18 2009 +0100
+
+ vmware/xorg: Also stop ports on close
+
+commit 124f4bc97712acfe7d08807b013a101a4d6276e1
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Dec 4 16:25:59 2009 +0100
+
+ vmware/xorg: Stop video ports on leave vt
+
+commit f2e3fc18141d29ede2b711d7ddbb225145be35e3
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Dec 4 16:22:48 2009 +0100
+
+ st/xorg: Add enter/leave vt hooks for winsys
+
+commit c33520b360780bce496b00516384e25a0908e43c
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Dec 4 16:05:03 2009 +0100
+
+ st/xorg: Fix leave enter vt cycle in crtc code
+
+commit d5b94b49f602386b75630e73db775a68c72fdf46
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Dec 4 16:13:57 2009 +0100
+
+ st/xorg: New libkms destroy api
+
+commit 32ccc9b0bbfad46d2f4ce3b9ac4cdd182d7b64e4
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Tue Dec 8 11:45:19 2009 +0100
+
+ vmware/xorg: Fix SCons build.
+
+ Not sure how vmw_screen.c could build at all though...
+
+commit 9e42683fb3ecd453267a5885a138b425a2b79236
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Tue Dec 8 11:43:22 2009 +0100
+
+ vmware/xorg: Avoid warning about HAVE_STDINT_H being redefined.
+
+commit 0d4a05445c6b47b93269a3829afbe509ffec4817
+Merge: ba167f8 369669f
+Author: Andre Maasikas <amaasikas@gmail.com>
+Date: Tue Dec 8 10:16:14 2009 +0200
+
+ Merge branch 'mesa_7_6_branch' into mesa_7_7_branch
+
+commit ba167f812c44c4bb8c8f844c3d5fbff60bfc93eb
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Dec 7 17:18:56 2009 -0800
+
+ mesa: set version string to 7.7-rc1
+
+ Also modify the Makefile to use the correct version for the tarballs.
+
+commit 8fc433fa0f8c5364454858f9be919387feda440c
+Merge: bb64c9b 9dbd47f
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Dec 7 17:16:10 2009 -0800
+
+ Merge branch 'mesa_7_6_branch' into mesa_7_7_branch
+
+ Conflicts:
+ progs/demos/projtex.c
+ progs/xdemos/glxinfo.c
+ src/mesa/main/version.h
+
+ To fix the confilicts in projtex.c and glxinfo.c I just took the code from
+ mesa_7_6_branch. The conflicts seem to have occured from cherry-picks from
+ mesa_7_7_branch to mesa_7_6_branch followed by commmits just to
+ mesa_7_6_branch.
+
+commit bb64c9bcdf9962c4f74d71f49307de1da4c3392b
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Dec 7 17:06:07 2009 -0800
+
+ Revert "intel: Make RGB renderbuffers use XRGB8888 like we do for RGB system buffers."
+
+ This reverts commit 4598942b1b88a2a7d5af7febae7e79eedf00e385.
+
+ XRGB8888 doesn't work as intended. Revert this for now, and we'll revisit it
+ for 7.8 or something.
+
+commit 9921b3048e611398460ef774355b7515bc901240
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Mon Dec 7 22:24:41 2009 +0100
+
+ radeon: fix cases when only first image where put directly into miptree.
+
+ Make sure that minimal width, height and depth of texture image is 1.
+
+commit 013cf1d63deb9c33089777afbdea85013fd46b49
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Mon Dec 7 22:22:57 2009 +0100
+
+ radeon: fix image migration for small compressed textures
+
+ memcpy would give incorrect results if src rowstride != dst rowstride
+
+commit 1ef8c493b25cdb4bb006f9198c00acacd19e2c75
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Dec 4 10:31:51 2009 +0100
+
+ vmware/xorg: Use Write instead of WriteRead for cursor bypass
+
+commit cd4d806a47d2cbb706a9f1cd49d990fcb803efb6
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Dec 4 09:53:00 2009 +0100
+
+ vmware/xorg: Give kernel infromation about cursor bypass
+
+commit 12fdef20b02595c10cec91aad75abe6ca59f5513
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Dec 4 09:40:52 2009 +0100
+
+ vmware/xorg: Handle no init of video in vmw_video_close
+
+commit 47e128331a26fa61506920c48bc82eaf5bd0460a
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Dec 4 09:42:10 2009 +0100
+
+ vmware/core: Update vmwgfx_drm.h to include cursor bypass
+
+commit bc0532b0ed3c6dca3a198c64384636d96b2056ef
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Dec 4 18:50:29 2009 +0000
+
+ gallium: DRI drivers enabled by default, Xorg drivers auto by default.
+
+ This change enabled gallium dri drivers by default under the
+ configure build system. Xorg drivers are built automaticaly
+ if a Xorg dev enviroment is installed and the Xorg version
+ is higher then 1.6.0.
+
+commit 8ac2503397c0618db9caec1c702622830e1268ff
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Dec 4 16:01:41 2009 +0000
+
+ i915g: Do not build winsys and binaries by default
+
+ Using a hack in the configure script the gallium intel
+ drivers have 3 options. Off, nothing is built. On, the
+ driver and binaries are built. Auto, only the driver but
+ not the binaries and winsys is built.
+
+ Since the i915g driver builds everywhere its can enable
+ the driver per default, so we can get build coverage.
+ But building the binaries per default is a pain for
+ distributions and testers since they conflict on the
+ install target with the old mesa drivers. Which are more
+ stable/faster/better.
+
+ So this change gives us the best of both worlds.
+
+commit 6c41bb25a2e260dbce2c2d72ec64d1beb74527de
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Thu Dec 3 20:21:16 2009 +0100
+
+ radeon: workaround an FBO issue
+
+ Fixes #21501
+
+commit 8cde43eb19c4dcceb74166e1da123d316a429c21
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Wed Dec 2 23:03:51 2009 +0100
+
+ radeon: properly check if image should be placed in the miptree
+
+ Fixes #25355
+
+commit 0c75854cc1650dc870e042aa66a053e70b3d4556
+Merge: 4598942 2b5618f
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Dec 2 14:52:51 2009 +0100
+
+ Merge commit 'mesa_7_6_branch' into mesa_7_7_branch
+
+ Conflicts:
+ src/mesa/main/version.h
+
+commit 4598942b1b88a2a7d5af7febae7e79eedf00e385
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Dec 2 13:00:15 2009 -0800
+
+ intel: Make RGB renderbuffers use XRGB8888 like we do for RGB system buffers.
+
+commit db352f58fab419c475b89418cd27b35f5f5d3822
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Dec 2 12:42:36 2009 -0800
+
+ mesa: Fix bad conversion in AL1616_REV texstore.
+
+commit b47f7316dab5eb81bc7e60dc93bb5dbe824c43d4
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Dec 2 12:15:46 2009 -0800
+
+ mesa: Fix copy'n'paste problem in al1616 texel fetch.
+
+commit 77ff3a5619721cfd917f9fd45e4b3a1c866c578f
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Dec 1 17:13:41 2009 +0100
+
+ vmware/xorg: Add video support
+
+ By using the hooks st/xorg provides us we can create a driver
+ specific implementation that uses the svga overlay engines.
+
+commit 64102a56256c95f17f59456a78d9ff2b05889bfb
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Nov 24 23:51:05 2009 +0100
+
+ vmware/xorg: Create a small driver that sits ontop of st/xorg
+
+commit bb80a93c9eabb430914011513852b18c943c8cfa
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Nov 24 22:55:24 2009 +0100
+
+ st/xorg: Create winsys hooks that we call into
+
+commit 232e59ca6fe678ac370ee5a45bc31e6f7f3e6bcf
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Dec 1 17:00:43 2009 +0100
+
+ vmware/core: Update vmwgfx_drm.h to latest version
+
+commit 9077ddaa2557e1e76c8a052c8d079ef3d443186b
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Nov 25 00:33:43 2009 +0100
+
+ svga: Add header files for overlay support
+
+commit a7e4a311e971005f7b23572ff3ca93f6d3c17edf
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Dec 2 11:56:18 2009 -0800
+
+ intel: Fix more front-buffer rendering after Brian's less flushing patch.
+
+ bcbfda71b03303d3f008a6f3cf8cb7d9667bf8d2 left out many blit paths.
+ This fixes up more of them to get Blender to work again.
+
+ Bug #25030.
+
+commit b2581dcab41c142c38f2e065c4348cb892931c48
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Dec 2 17:05:20 2009 +0000
+
+ wgl: Call st_swapbuffers instead of st_notify_swapbuffers.
+
+ This will get single buffer, double buffer, and
+ joint single/double buffer (typical in CAD applications) done right,
+ at least as far as the frambuffer is concerned.
+
+ There are still problems with multiple contexts using the same
+ framebuffer because st_framebuffer_* calls assume the framebuffer
+ is bound to a single context.
+
+commit e84dddde9b6eb7727760814ae211c95218bb28a3
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Dec 2 11:01:19 2009 +1000
+
+ Revert "radeon/r300: no need to flush the cmdbuf when changing scissors state in KMM mode"
+
+ This reverts commit 286bf89e5a1fc931dbf523ded861b809859485e2.
+
+ This doesn't appear to be correct, regression so revert it.
+ http://bugs.freedesktop.org/show_bug.cgi?id=25193
+
+commit c8cdce665790263bb2142d894a81c87abc4da9fb
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Dec 1 13:26:15 2009 -0700
+
+ vbo: make flush recursion check code per-context
+
+ This fixes invalid failed assertions when running multi-threaded apps.
+
+commit 8c26cefec7ad52c4fa52fd1a89e18f463b85257b
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Nov 30 08:41:37 2009 -0700
+
+ st/mesa: updated emit_swz() comment
+
+commit f17dbe256bb38c35d885260be7e5856f1561de97
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Nov 30 17:56:07 2009 -0800
+
+ mesa: set version string to 7.7-rc1
+
+commit 650e02003fbb5511ec758d993b7ec0a302ee2235
+Merge: 270d36d 587a52e
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Nov 30 17:47:07 2009 -0800
+
+ Merge branch 'mesa_7_6_branch' into mesa_7_7_branch
+
+ Conflicts:
+ progs/util/shaderutil.c
+ src/mesa/drivers/dri/r600/r600_context.c
+ src/mesa/main/version.h
+
+commit 270d36da146b899d39e08f830fe34b63833a3731
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Nov 29 21:17:44 2009 -0500
+
+ mesa: Fix array out-of-bounds access by _mesa_TexParameterf.
+
+ _mesa_TexParameterf calls set_tex_parameterf, which uses the params
+ argument as an array.
+
+commit a201dfb6bf28b89d6f511c2ec9ae0d81ef18511d
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Nov 29 18:18:23 2009 -0500
+
+ mesa: Fix array out-of-bounds access by _mesa_TexParameterf.
+
+ _mesa_TexParameterf calls set_tex_parameteri, which uses the params
+ argument as an array.
+
+commit 63c00c53a3019b801c5eee8a12f7862422f79f10
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sun Nov 29 15:40:13 2009 +0100
+
+ radeon: update miptree code a little
+
+ Simplify gl image level <-> miptree level mapping (are equal now).
+ Don't allocate miptree for images that won't fit in it (fixes #25230).
+
+commit 2773556d55fe6043bee3d4c86f7b78906e5d60e0
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sun Nov 29 12:36:09 2009 +0100
+
+ radeon: don't check the same miptree many times when looking for matching miptrees
+
+commit e8f0c8ab9d3509dc399ea58c320056ed90895792
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sun Nov 29 12:27:29 2009 +0100
+
+ radeon: add some debugging info
+
+commit ca5a7aadb4361e7d053aea8687372cd44cbd8795
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Nov 29 00:50:48 2009 -0500
+
+ mesa: Fix array out-of-bounds access by _mesa_TexGenf.
+
+ _mesa_TexGenf calls _mesa_TexGenfv, which uses the params argument
+ as an array.
+
+commit d55fb7c835b56951f05a058083e7eda264ba192e
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Nov 28 23:47:23 2009 -0500
+
+ mesa: Fix array out-of-bounds access by _mesa_TexGeni.
+
+ _mesa_TexGeni calls _mesa_TexGeniv, which uses the params argument
+ as an array.
+
+commit 919898e92fa23ff71a59d86a46ff0886a6f34e4d
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Nov 28 23:22:31 2009 -0500
+
+ dri: Fix potential null pointer dereference in driBindContext.
+
+commit a11d60d14caf8efc07f70af63b57b33273f8cf9b
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Nov 28 22:04:06 2009 -0500
+
+ mesa: Fix array out-of-bounds access in _mesa_TexEnvf.
+
+ _mesa_TexEnvf calls _mesa_TexEnvfv, which uses the param argument
+ as an array.
+
+commit e5159996a43d64f71d44dd2bd477d10e37ec9a27
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Nov 28 21:31:24 2009 +0100
+
+ radeon: need to flush cs when moving images between mipmap trees
+
+commit 2348f6d490a200b464013dfe68c61525aee86feb
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Nov 27 16:01:36 2009 +0000
+
+ scons: Promote pointer arithmetic to error.
+
+ All code covered by scons is being built on multiple OSes, so pointer
+ arithmetic must really be addressed when spotted.
+
+commit 5976d8e6f1b12e9ac13a8d09aa9723f971f38a92
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Nov 27 16:01:11 2009 +0000
+
+ configs: Warn about pointer arithmetic.
+
+ It's not portable. Warn to help catching it early.
+
+commit f62f976e3ff9ff83d760e706c615e098d131e103
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Nov 27 15:58:02 2009 +0000
+
+ mesa: Avoid void pointer arithmetic.
+
+commit 4236493899b9ccfcc8df3dcf81697776621fa1f8
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Nov 27 15:28:46 2009 +0000
+
+ st/xorg: proper fix for compositing after rounding up
+
+ Basically don't round up shared textures. This fixes compiz,
+ but I'm afraid that rounding up texture sizes here in the driver
+ is doomed, as it will inevitably break texture wrap modes.
+
+commit 1310811469e7a1e27669ad1513b5bd4a60207c4f
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Nov 27 14:55:20 2009 +0000
+
+ rbug: Mention where the GUI can be found.
+
+commit 6dd9676a8fc43062a7017f2951e0f032889fac9e
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Nov 27 13:59:37 2009 +0000
+
+ svga: Re-add shader dumping.
+
+commit 6810ce005a067f20c04f0b3abd1e422adec71d28
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Nov 27 14:03:10 2009 +0000
+
+ Revert "st/xorg: fix composite after texture size changes"
+
+ This reverts commit 124ae596806f1a77af46f1f0e446d448da6e953a.
+
+ Pushed by mistake
+
+commit 124ae596806f1a77af46f1f0e446d448da6e953a
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Nov 27 13:59:00 2009 +0000
+
+ st/xorg: fix composite after texture size changes
+
+commit dc86f4a20b6ffe0340ca178dc303271a8a112bb9
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Nov 10 16:56:43 2009 -0800
+
+ wgl: Fix copy'n'paste typo in comment.
+
+commit 135d7e12991312d7aff637565fbe67f666e4e39f
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Nov 15 12:14:03 2009 -0800
+
+ svga: Handle comment tokens when dumping.
+
+commit d3f26a84204d589e69e82627395771ed7273315d
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Nov 24 14:43:30 2009 +0000
+
+ svga: Use consistent names for public symbol names of shader dumping facilities.
+
+commit 178407f33c413cbe7434597b2129abde90041b6b
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Nov 24 14:37:45 2009 +0000
+
+ svga: Use consistent file names for dumping facilities.
+
+commit cf3cdda5cc413093126c7ba42248c3b175a2d126
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Nov 27 12:24:42 2009 +0000
+
+ st/xorg: speculatively round textures up to nearest POT
+
+ I'm not sure if this is a great change, but helps with caching.
+ Probably we want to turn this on/off on a driver-by-driver basis.
+
+commit e595dd4c179efe06183b8efb430ec6c8845dfd0b
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Nov 27 12:22:43 2009 +0000
+
+ st/xorg: free last fence
+
+commit b84b7f19dfdc0ac02175847065b39110db7ad98f
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Nov 27 12:19:28 2009 +0000
+
+ svga: flush our command buffer after the 8th distinct render target
+
+ This helps improve the surface cache behaviour in the face of the
+ large number of single-use render targets generated by EXA and the xorg
+ state tracker. Without this we can reference hundreds of individual
+ render targets from a command buffer, which leaves little scope for
+ sharing or reuse of those targets.
+
+ Flushing early means we can start reusing textures much sooner.
+
+ This shouldn't have much effect on normal 3d rendering as it's pretty
+ rare to have a command buffer with >8 different render targets in that
+ world.
+
+commit b911688b87a011eacf2034bd61562e633952a66b
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Nov 27 12:18:22 2009 +0000
+
+ svga: add DEBUG_CACHE option
+
+commit 69671df74c8b45f08149c248a7ee905912aec2b0
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Nov 26 23:02:49 2009 -0500
+
+ svga: Prevent potential null pointer dereference in vmw_surface.c.
+
+commit 949d95e88a18e5047a6a7ceb1e28a8d80a30fb17
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Nov 24 22:54:00 2009 +0100
+
+ vmware/xorg: Remove gem include
+
+commit 42db8c8cdb28bd5f83dd57f5d9a70fb5b94dd14e
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Thu Nov 26 16:46:13 2009 +0100
+
+ st/xorg: Use pipe clear hook for solid fills of whole pixmaps.
+
+ Can give a little boost e.g. for anti-aliased text rendering.
+
+commit b96218c65622a7814ff8154a91874a5e5a9dc773
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Nov 26 15:25:09 2009 +0000
+
+ svga: hash the whole key, not just the first four bytes
+
+commit 3eb3bfb7c761ed41a09c4d1c7eff38f2d92ba3ba
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Thu Nov 26 16:00:06 2009 +0100
+
+ st/xorg: Make sure DRI2 blits use GPU copy contents even for software fallback.
+
+ Fixes 3D apps not updating with a non-GL compositing manager and Option
+ "2DAccel" "off".
+
+ Also clean up a little pixmap vs. drawable mess.
+
+commit ecfe1352ccce802c9299c76d600c4d2f33352701
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Nov 26 14:23:24 2009 +0000
+
+ st/xorg: fix refcounting bugs introduced in earlier commit
+
+commit dfb871d4032f37b872c975269c5d666491f1056b
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Nov 26 14:23:07 2009 +0000
+
+ st/xorg: formatting
+
+ This directory needs indent run over it.
+
+commit 41423c01b257395b08a5e7a53093bc87aa85739b
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Nov 26 12:52:45 2009 +0000
+
+ st/xorg: remove debugging flush
+
+ Accidentally committed in 7fbdbad5c02e3d5bfbf0e641e2aec224e39fa974
+ ('st/xorg: consolidate some dest surface state setting')
+
+commit c783f5cfd891e6b8e9dc622ad0950e5859b5a0c0
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Nov 26 12:02:14 2009 +0000
+
+ svga: Remove spurious argument to SVGA_DBG.
+
+commit 7b0e4adaf21d4c788657eff41cb51d5c89647309
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Nov 26 11:55:47 2009 +0000
+
+ st/xorg: render throttling in block handler
+
+ Similar to the classic swapbuffer throttling in GL drivers, put an
+ upper bound on the number of outstanding chunks of rendering the state
+ tracker can generate -- where calling the block handler denotes a
+ chunk.
+
+ Currently that number is set at around 4 "chunks", but could be
+ tweaked up or down. If a better measure for the amount of outstanding
+ rendering is found, that would be fine too.
+
+ As it stands, this improves interactivity by preventing the X server
+ from queueing up arbitary amounts of rendering.
+
+commit 8544c309d0a296449d11cf2cf52ca306662dc41d
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Nov 26 11:17:06 2009 +0000
+
+ st/xorg: split copy operation into prepare/copy/done phases
+
+ Any high-overhead one-off tasks are moved into the prepare hook.
+
+commit 91a5131e6b4b9d55c7123d3a8334826a443abcf6
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Nov 26 10:40:40 2009 +0000
+
+ st/xorg: don't set up constant buffer for non-xv fragment shaders
+
+ These currently don't reference any constants. Can add this back
+ if newer shaders need them, but in the meantime don't create
+ a new constant buffer every time we do a blit.
+
+commit fa799f81dec1b72e59008b7029d94a00bcf821bb
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Nov 26 10:34:28 2009 +0000
+
+ st/xorg: split up shared Done call
+
+ The two users of composite (Composite and Solid) now call a new
+ xorg_composite_done() from their Done functions, while CopyDone
+ is directly implemented on top of xorg_renderer.c.
+
+commit b4ea1eb871ec0e5fffd70bf4da6cdec5d25b5c50
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Nov 26 10:15:01 2009 +0000
+
+ st/xorg: set up rasterizer state in init
+
+commit 86ba5139a8078f05fa9e1a4b562854d5f3b783f3
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Nov 25 18:45:20 2009 +0000
+
+ st/xorg: remove redundant clipping code
+
+commit 899d20cfaa003913b38ae9e095ca87b8725a19c1
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Nov 25 18:42:54 2009 +0000
+
+ st/xorg: don't bother with cso save and restore in copy func
+
+commit 7fbdbad5c02e3d5bfbf0e641e2aec224e39fa974
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Nov 25 18:41:11 2009 +0000
+
+ st/xorg: consolidate some dest surface state setting
+
+commit 808f0376607b0e2d31dfebc888fd8f1e737fed09
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Nov 26 00:35:31 2009 -0500
+
+ glu/sgi: Fix memory leak in gluBuild2DMipmapLevelsCore.
+
+commit 45d9ea361981520a7c5df3ef1e10b76fac14bf02
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Nov 24 19:20:59 2009 +0100
+
+ vmware/xorg: Link against libkms
+
+ If the system doesn't have libkms installed it wont try to link against it.
+
+commit 77529a2cf296b611fa49ab4fe711d8bbb2177d85
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Nov 24 19:16:37 2009 +0100
+
+ vmware/xorg: Clean Makefile a bit
+
+commit 522e840a91ef9fe35e5830626b9ce388169e5d22
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Nov 24 18:47:15 2009 +0100
+
+ vmware/xorg: Don't link against libdrm_intel
+
+commit eca5d6944aa20e33d1c2c2653f827f5707f8274a
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Nov 24 18:44:39 2009 +0100
+
+ vmware/xorg: Stage driver in lib/gallium
+
+commit 7fac8ce73bb26147f36acc60870a7e816b2f5b4f
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Nov 24 14:53:03 2009 +0100
+
+ st/xorg: Pass mode types from the kernel to X
+
+commit ee40b20e7aff5dc9d11230e991355c338a64da00
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Nov 24 12:47:38 2009 +0100
+
+ st/xorg: Add libkms integration
+
+commit 1a19b9dbc268973a725a43f4764a2189a705bb88
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Nov 24 02:49:57 2009 +0100
+
+ st/xorg: Touch up xorg_crtc.c
+
+commit def9b0e586e52a0fbdcce15613d96933e9690f38
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Nov 24 04:19:07 2009 +0100
+
+ st/xorg: Rename driver functions
+
+commit 431e85f894705ee8747555ff01f317953a11222b
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Nov 24 02:54:24 2009 +0100
+
+ st/xorg: Rename output functions
+
+commit 6713a83bb8f836f3cb7ba4419a62ec286d5b88fd
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Nov 24 02:28:09 2009 +0100
+
+ st/xorg: Rename dri2 functions
+
+commit 26f9eeddf4cf783d7e5d5ac030a7ac5c1e67e60c
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Nov 24 02:21:16 2009 +0100
+
+ st/xorg: Standardise all function names defined in xorg_tracker.h
+
+commit 2946aea110beda9c2e0382507b0dba7c508ff5eb
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Nov 25 17:13:04 2009 +0000
+
+ svga: try harder to make the cachable flag work
+
+ It doesn't though.
+
+commit c712f3374626d96f9c08c3571a5572bcee60a5f2
+Author: Zack Rusin <zackr@vmware.com>
+Date: Mon Nov 23 01:00:34 2009 -0500
+
+ st/xorg: accelerate src luminance
+
+commit d228e3cc8e7b6a3d4c6d554c5d9aed5e26be7ff0
+Author: Zack Rusin <zackr@vmware.com>
+Date: Sun Nov 22 15:21:14 2009 -0500
+
+ util: also print out memory statistics
+
+commit 55b0157860af0eb957262cb0d22ab47eccd85940
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Nov 25 11:44:41 2009 +0000
+
+ svga: revert packing of surface key
+
+ Over-ambitious packing of values broke my cursor.
+
+commit 92c6a26a8a0f6ce540fe7c9681fb9a30b0da9e5f
+Author: Dave Airlie <airlied@linux.ie>
+Date: Wed Nov 25 20:23:22 2009 +1000
+
+ radeon: fix context destroy needing lock for flushing.
+
+ Thanks to Intel code which I've just stolen pretty much as usual.
+
+ This fixes fdo bug 22851 which is a dri1 regression since rewrite.
+
+ Tested by: fpiobaf (Fabio) on #radeon
+ Signed-off-by: Dave Airlie <airlied@redhat.com>
+
+commit 94bcb9f1a43f2ab3bdff09156e3ab5b1c115cbd8
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Nov 25 00:39:37 2009 -0500
+
+ glu/sgi: Fix memory leak in gluBuild1DMipmapLevelsCore.
+
+commit 0d89f3dc7ff3f89ba8d5d664253730485bca35e2
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Nov 25 00:28:56 2009 -0500
+
+ glu/sgi: Fix memory leak in gluBuild2DMipmapLevelsCore.
+
+commit f895abbd9777c4985aa40cf660c68f6d7333f0ec
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Nov 25 00:18:49 2009 -0500
+
+ glu/sgi: Fix memory leak in gluBuild3DMipmapLevelsCore.
+
+commit f1ce37f74aff4854071fe5740b055718b2c0c789
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Nov 24 21:13:18 2009 +0000
+
+ svga: cache textures as well as buffers
+
+commit 4509f3cbad2972b6fe4a722ed07904666122a759
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Nov 24 20:48:12 2009 +0000
+
+ st/xorg: use surface_copy for blits if available
+
+ Even if its not available, we really want to be coalescing blit
+ operations better.
+
+commit acc51ac0ace11bb375241467ba35e1014f5fb997
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Nov 24 01:14:03 2009 +0100
+
+ svga: Filter out pendantic and ansi flags
+
+ Rather have the driver compile without the flags then
+ having to disable them.
+
+commit 326b66d724754ca97012501db1c7c62d7d41a457
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Nov 24 01:23:12 2009 -0500
+
+ glu/sgi: Fix memory leak in gluBuild3DMipmapLevelsCore.
+
+commit 364070b1f2b08d43fb205ec198894a35bec6b2f3
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Nov 24 00:57:55 2009 -0500
+
+ dri: Fix potential null pointer deference in dri_put_drawable.
+
+commit 960464e42dce138fde11c379ce7744bc4be14aa2
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Mon Nov 23 21:59:08 2009 +0100
+
+ radeon: fix errors in miptree related function
+
+ - typo
+ - memory leak
+ - off by one (spotted by airlied)
+
+commit 635823d267c709f37c7a01844e03ebd7074bf4e2
+Merge: d20b791 86710c3
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Mon Nov 23 21:28:22 2009 +0100
+
+ Merge branch 'mesa_7_7_branch' of http://anongit.freedesktop.org/git/mesa/mesa into mesa_7_7_branch
+
+commit 86710c3334850eeaeffcac6d538e01fd5c203167
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Mon Nov 23 19:59:02 2009 +0100
+
+ svga: Scrub Makefiles a bit
+
+ Remove x86 specific hacks. Not that they will ever be used on
+ none x86 arches, but they are built by default. And the way the
+ flags where added was a hack.
+
+commit 67125c7f9aa141a7948ebb915ece9d991bb6ff19
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Nov 23 01:52:59 2009 -0500
+
+ mesa: Initialize variable in _mesa_get_texel_fetch_func.
+
+commit 4b0b250aae6ae7d48cd24f9d91d05ab58086c4b2
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Nov 23 01:30:32 2009 -0500
+
+ glx: Prevent potential null pointer deference in driCreateContext.
+
+commit 5b925b7daa566d799c4f50911a7fcca114131503
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Nov 23 01:09:06 2009 -0500
+
+ glu/sgi: Fix memory leak in bitmapBuild2DMipmaps.
+
+commit b611f639b4bffdcca376293f7ce71af9f6bdbff3
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Nov 23 00:57:37 2009 -0500
+
+ glu/sgi: Fix memory leak in gluScaleImage3D.
+
+commit e0fda040135490fdd54e57000c7995e27dc70657
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sun Nov 22 15:08:46 2009 +0100
+
+ r300: fix VP source conflict resolution on 64-bit machines
+
+ On 32bit machines we were lucky because the sizeof(reg) == sizeof(rc_src_register).
+ On 64bit machines pointers are 8 bytes long, so we were overwriting other data.
+
+commit dfe440c856826450195e3fc5100a3b97d7c0b173
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sun Nov 22 14:13:18 2009 +0100
+
+ r300: fix SIN/COS/SCS instructions for R300 fp
+
+commit a9c540f5dedbf593f8038fdbc95eecb60826ab26
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Nov 22 01:57:35 2009 -0500
+
+ glu/sgi: Fix memory leak in gluScaleImage.
+
+commit d3b4c99c703f70a9d0e715a97e52672f7f8fc980
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Nov 22 01:45:53 2009 -0500
+
+ glu: Fix memory leak in __gl_meshMakeEdge.
+
+commit 57d389aab5ea4462475756c0e262f3cb543f889d
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Nov 22 01:26:32 2009 -0500
+
+ svga: Prevent potential null pointer deference in vmw_surface.c.
+
+commit b62a74d3b94024bc08b31394f827761d354d2516
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Nov 22 01:20:07 2009 -0500
+
+ svga: Fix memory leak in vmw_screen_ioctl.c
+
+commit 88aab56a26dd33a2d3177a41420f00473d7270af
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Nov 22 01:10:38 2009 -0500
+
+ st/xorg: Prevent potential null pointer deference in xorg_xv.c.
+
+commit 46feb7db71b05ec67a7c78f6bc608adec0734dec
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sun Nov 22 00:55:52 2009 -0500
+
+ st/xorg: Reorder cases in switch statement.
+
+ Silences missing break statement warning.
+
+commit 563fe6e8f6c021ea45120cb1f201a1950b8d6057
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Nov 21 15:56:23 2009 +0100
+
+ radeon: fix compressed mipmapped textures
+
+ Tested on r300 only, other cards may require adjusting texture_compressed_row_align.
+
+commit 1d1f81af93058541992bd0795b86500509edea56
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Nov 21 15:56:02 2009 +0100
+
+ radeon: fix glCompressedTexSubImage
+
+commit d20b79172df18b27c8b4e428119814ffef2c8494
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Nov 21 15:56:23 2009 +0100
+
+ radeon: fix compressed mipmapped textures
+
+ Tested on r300 only, other cards may require adjusting texture_compressed_row_align.
+
+commit df8787763602f8e27e2b81385d397fb4a86c107b
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Nov 21 15:56:02 2009 +0100
+
+ radeon: fix glCompressedTexSubImage
+
+commit 465fee75ee8991349da742e5a1a5be3cd179bb62
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Sat Nov 21 04:39:30 2009 -0800
+
+ intel: make CopyTex[Sub]Image fallback debug messages more consistent
+
+commit c367f4d46ee70c1d5879031235824e59e13f6677
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Sat Nov 21 04:22:50 2009 -0800
+
+ mesa: handle different RowStride in _mesa_get_compressed_teximage
+
+ drivers storing compressed textures with non-native stride but relying on
+ _mesa_get_compressed_teximage for GetCompressedTexImage otherwise won't
+ work correctly (for instance i965 compressed mipmaps).
+
+commit 8451b29d9628f09b65962385bfbd95cd7f26427f
+Author: Eric Anholt <eric@anholt.net>
+Date: Sat Nov 21 13:33:21 2009 +0100
+
+ i965: Fix several memory leaks on exit.
+
+ Bug #25194.
+
+commit 052b127842af3372fd768eae8e29b240a696a12a
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Nov 20 16:33:25 2009 -0800
+
+ st/egl: Fix memory leak in egl_tracker.c.
+
+commit ea98e9820d7117f7a187f355445796b1ef5d9e0c
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Nov 20 16:03:48 2009 -0800
+
+ draw: Initialize variable in draw_pt.c.
+
+commit e19195c1855ca0a12697ed3196f3d9a763d1363d
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Nov 20 15:52:53 2009 -0800
+
+ progs/xdemos: Fix memory leak in pbinfo.c.
+
+commit e0857962b911ef317238498305651515d83029ae
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Nov 20 15:48:29 2009 -0800
+
+ progs/xdemos: Fix memory leak in pbdemo.c.
+
+commit 538a8df65238994f70617a79ec1a0dbcd381001d
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Nov 20 15:18:19 2009 -0800
+
+ progs/xdemos: Fix memory leak in glxpbdemo.c.
+
+commit a4720a1a3206dd2edecf47a21fce547a79b67610
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Nov 20 15:06:56 2009 -0800
+
+ progs/xdemos: Remove duplicate code in glxinfo.c.
+
+commit 66a4ec14c38d407256545e0cf31c98974d621fe4
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Nov 20 15:03:16 2009 -0800
+
+ progs/xdemos: Add assert in corender.c.
+
+commit f6541773c4661247879995637207dcc5803bbf00
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Nov 20 14:31:42 2009 -0800
+
+ i915g: Add missing break statement in i915_debug.c.
+
+commit 36e2074b63e3e5bc489eb74cad0cd97eafcedb40
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Nov 20 14:20:15 2009 -0800
+
+ gallium/util: Initialize variables in u_pack_color.h.
+
+commit 5109484bd9cd79ed88af59280bd0be5a4150f37c
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Nov 18 17:45:39 2009 +0100
+
+ st/xorg: Flush any pending operations on upload
+
+commit 8d6da811d4fff50dc42e71c6149759908a458f7f
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Nov 18 17:38:49 2009 +0100
+
+ st/xorg: Unbind any textures in solid
+
+ Helps debuging with rbug
+
+commit 910b58039a3980d9857380cf367bdbe2395d791f
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Fri Nov 20 18:09:10 2009 +0000
+
+ Fix vega compilation.
+
+commit 1dbf3642b9c1c37f72e2212ce78056cf8959a957
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Fri Nov 20 18:08:29 2009 +0000
+
+ Fix memory leak.
+
+commit 8556fad75124e1ade9af095e112ebb6ac5cbff61
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Nov 20 13:09:42 2009 -0800
+
+ progs/xdemos: Silence unused value warnings in sharedtex_mt.c.
+
+commit f080567f4c4018c4885c105a154cb0eb39e6234f
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Nov 20 13:01:22 2009 -0800
+
+ progs/xdemos: Fix memory leak in glxinfo.c.
+
+commit 02c3e0b82da6877a7e170bb3fafd591bc2d76115
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Nov 20 12:48:44 2009 -0800
+
+ progs/tests: Silence unused value warnings in sharedtex.c.
+
+commit c4e8918cd248189d43cdc8df9f9f0450040261c5
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Nov 20 21:42:06 2009 +0100
+
+ mesa: Fix NULL deref in optimizer when NumInstructions == 0.
+
+ Bug #24984.
+
+commit 48deddaa6f81e58f0ad6ab1c6cbd31c0184a0a3b
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Nov 20 12:34:21 2009 -0800
+
+ progs/tests: Initialize variable in getprocaddress.c.
+
+commit e26135a744f740430e3dc341fa692544ba99c11e
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Nov 20 12:11:55 2009 -0800
+
+ progs/util: Exit RawImageGetData early if malloc fails.
+
+ Prevents a null pointer deference later on.
+
+commit c88b18a4df753205321ce1f7ddcd99244b670a1e
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Nov 20 11:34:21 2009 -0800
+
+ progs/slang: Check for ftell failure in vstest.c.
+
+commit d36cb2396c942f05ba56c5b899792a507bb0f0fd
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Nov 20 11:22:13 2009 -0800
+
+ progs/util: Fix memory leak if malloc fails in RawImageOpen.
+
+commit 08cb1d0ce4765536f1cb6a9253a2245c31fb8ea9
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Nov 20 00:03:10 2009 -0800
+
+ st/xorg: Fix type of 'unknown'.
+
+commit b98db7bf697c3ed6e6df303e9dd66f7ac31eb3e2
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Nov 19 23:56:07 2009 -0800
+
+ progs/vpglsl: Fix psiz-mul.glsl compilation error on Mac OS.
+
+commit 760cf71572a071ce43da576ebfeff4a8099150bc
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Nov 19 22:59:01 2009 -0800
+
+ progs/vp: Fix memory leak in vp-tris.c.
+
+commit 9553a42f638bd98eb90e5b7fb37d6b82758b6363
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Nov 19 22:52:05 2009 -0800
+
+ progs/trivial: Redraw upon keypress.
+
+commit 881f55236ad85f95745e70f8363726fa3c201f80
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Nov 19 22:46:19 2009 -0800
+
+ progs/glsl: Redraw upon keypress.
+
+commit f8ea5318200c1ed839fc387b16a57c8d9969974b
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Nov 20 11:45:43 2009 +1000
+
+ r100: fix texture_from_pixmap and compiz.
+
+ r100 state emission has separate rect and non-rect states,
+ if we are doing TFP for a TEXTURE_2D we shouldn't use the rect
+ states as they won't get emitted properly.
+
+ Signed-off-by: Dave Airlie <airlied@redhat.com>
+
+commit 8b808d50e2f4be57c3a245afea462540dab1484e
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Nov 19 14:38:39 2009 -0800
+
+ st/xorg: Fix infinite loop in copy_packed_data.
+
+commit 4ab8dbe5935d5c946cbc9af6982461073a784d07
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Nov 19 14:20:26 2009 -0800
+
+ progs/xdemos: Add missing break statement in offset.c.
+
+commit 4e6c79ac166b71414f09e671aaad0e1d0d406e42
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Nov 19 15:18:17 2009 -0700
+
+ st/mesa: replace st_flush() with pipe->flush()
+
+ We only need to flush the gallium driver in this case.
+ Fixes a recursive state validation bug.
+
+commit 2198497203ec427f836978098028abf3350e5e57
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Nov 19 15:17:56 2009 -0700
+
+ vbo: added recursion check in vbo_exec_FlushVertices()
+
+commit dc41d62250ce51f28e94f1d365836ac9f2ff8907
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Nov 19 14:35:38 2009 -0700
+
+ st/mesa: get rid of compressed_num_bytes() code
+
+commit 92863109af05acdb4ee5e42141c83ab0f18b7f88
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Nov 19 14:17:09 2009 -0700
+
+ st/mesa: remove is_compressed_mesa_format()
+
+commit 273f4d6b5fe125bf0cba44c5ee8b25c76d3396c0
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Nov 19 14:10:57 2009 -0700
+
+ st/mesa: remove pointless assertion
+
+commit 3f4016650099642f900fc169c078b1d78128899a
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Nov 19 14:02:06 2009 -0700
+
+ softpipe: whitespace/indentation fixes
+
+commit 3790c6a13b86dfe0afd4bb0bf9a4d9f4b429cfd8
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Nov 19 13:03:12 2009 -0800
+
+ progs/trivial: Redraw upon keypress.
+
+commit 367cfca808e74101689dd0acb247f3ec38fc4c7f
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Nov 19 11:37:50 2009 -0700
+
+ softpipe: add missing check in softpipe_is_texture_referenced()
+
+ Check if the named texture is referenced by the texture cache.
+
+commit 31ea323b4d432b557d7664187f17ccefc6d3947b
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Thu Nov 19 17:52:55 2009 +0100
+
+ st/xorg: Replace compile-time acceleration switch with Option "2DAccel".
+
+ This option can be used to disable 2D acceleration. DRI2 and XVideo blits will
+ still be accelerated, at least to some degree even with compositing.
+
+commit 10c67f938194a3b99ce2717318c77d86abc54933
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Thu Nov 19 17:47:21 2009 +0100
+
+ st/xorg: Miscellaneous XVideo fixes.
+
+ * Make sure the destination pixmap has a texture to render into.
+ * Fix damage reporting so the EXA migration code can do the right thing.
+ * Fix destination coordinates for redirected windows.
+
+commit 34145fc3b739d21387e7df483ca902c8373ce319
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Thu Nov 19 17:30:32 2009 +0100
+
+ st/xorg: Try harder to ensure a shared texture has valid contents right away.
+
+commit 012d0193cc9ad6fdc9829db0a6884a5a590dd4c5
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Thu Nov 19 17:25:05 2009 +0100
+
+ st/xorg: Don't complain about convolution filter being 'unknown'.
+
+ Also add a newline to the complaint so it'll be a little less annoying if we
+ actually encounter an unknown filter value again.
+
+commit 10dbdee05694489edd03b353dfe133a17e65b469
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Thu Nov 19 10:54:49 2009 +0100
+
+ st/xorg: Remove superfluous flushes from the EXA WaitMarker hook.
+
+ Thanks to Thomas Hellström for pointing this out.
+
+commit ea114345a6f19331628910745650cb64750b2bda
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Thu Nov 19 10:38:08 2009 +0100
+
+ st/xorg: Don't initialize non-existing fields.
+
+commit e3cfd78969cd4a94fc83a5d6fb2f33730cc4e70f
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Nov 18 17:30:50 2009 -0800
+
+ progs/tests: Fix memory leak in texdown.c if malloc fails.
+
+commit e12c9a6f3af6ec10cbd2e5cd2a6b90056652a2c0
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Nov 18 22:50:26 2009 +0000
+
+ st/xorg: Init all functions and fix spelling
+
+commit cde66437247feb8b14b6d8f3ec3a8b4665fefa08
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Nov 18 14:41:40 2009 -0800
+
+ progs/fp: Redraw upon keypress.
+
+commit 9ab3c70f6568d980c3910d7ea8a3032445eaf49f
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Nov 18 19:56:50 2009 +0000
+
+ st/xorg: Make the #if more easier to read
+
+commit e73553bff74a41f08cba9d52b5fec19f15ab3d48
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Nov 18 19:51:57 2009 +0000
+
+ st/xorg: Use the correct DRI2BufferPtr struct on 1.6.4 servers
+
+commit 4b3ec2acf2cc2830b0907e4fb4db8bd1ff4a18e3
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Nov 18 14:02:20 2009 -0800
+
+ progs/glsl: Fix trirast GLSL compilation errors on Mac OS.
+
+commit 0d31990b4742eccdf6ae6a3b3e16c81cc863085d
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Nov 18 13:50:49 2009 -0800
+
+ progs/glsl: Fix noise GLSL compilation error on Mac OS.
+
+commit 3bf12c8bea667f5fff0b6f495820a27141f595a2
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Wed Nov 18 22:19:25 2009 +0100
+
+ r300: allow disabling s3tc support if libtxc_dxtn is available
+
+commit cefee4e327c92daa2f01b6de650a43eddd348063
+Merge: d4dc2e3 7118db8
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Wed Nov 18 22:09:33 2009 +0100
+
+ Merge branch 'radeon-texrewrite-clean' into mesa_7_7_branch
+
+commit 7118db870091d4c9c2465e79f361ff0ed36d1f90
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Wed Nov 18 22:02:48 2009 +0100
+
+ r600: align for mipmap tree changes
+
+commit d4dc2e30dada1be425e95ba270920db6eb210982
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Nov 18 12:49:31 2009 -0800
+
+ progs/glsl: Fix multinoise GLSL compilation errors on Mac OS.
+
+commit 04442841fb7e9138eb50ff692952ad7e8c3877d8
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Nov 17 23:15:25 2009 -0800
+
+ progs/glsl: Fix mandelbrot GLSL compilation error on Mac OS.
+
+commit 70dca0c273d681d004b014dd8d4434be664cb202
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Tue Nov 17 22:53:06 2009 -0800
+
+ AL1616: Fix cut-and-paste bug
+
+ One of the PACK_COLOR_88 cases was left over from copying
+ _mesa_texstore_al88 to _mesa_texstore_al1616.
+
+commit 89e20ab3aeff37f0eff79ab0c5e73be3d3185ce8
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Nov 17 19:22:29 2009 -0700
+
+ progs/glsl: use ShadersSupported()
+
+commit 6acb82dab0056f0d5f3522c7b063db8024ef81d8
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Nov 17 19:22:11 2009 -0700
+
+ progs/util: warn when GLSL not supported
+
+commit 5606dfb572bf4b89b4882265924705bacc8c182b
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Tue Nov 17 16:10:24 2009 -0800
+
+ Merge branch 'outputswritten64'
+
+ Add a GLbitfield64 type and several macros to operate on 64-bit
+ fields. The OutputsWritten field of gl_program is changed to use that
+ type. This results in a fair amount of fallout in drivers that use
+ programs.
+
+ No changes are strictly necessary at this point as all bits used are
+ below the 32-bit boundary. Fairly soon several bits will be added for
+ clip distances written by a vertex shader. This will cause several
+ bits used for varyings to be pushed above the 32-bit boundary. This
+ will affect any drivers that support GLSL.
+
+ At this point, only the i965 driver has been modified to support this
+ eventuality.
+
+ I did this as a "squash" merge. There were several places through the
+ outputswritten64 branch where things were broken. I foresee this
+ causing difficulties later for bisecting. The history is still
+ available in the branch.
+
+ Conflicts:
+ src/mesa/drivers/dri/i965/brw_wm.h
+
+commit b43887cf7e64cc44cf1409f910d1324549b265d2
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Thu Nov 12 13:28:12 2009 -0800
+
+ ARB_fbo: Enable extensions related to GL_ARB_framebuffer_object for GLX
+
+commit 4e7476f601e15cf4c52d7de44f0f775aaaedd094
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Thu Nov 12 13:22:12 2009 -0800
+
+ ARB_fbo: Add missing GLX render opcode for glFramebufferTextureLayerEXT
+
+ Also regenerate the GLX protocol files from this change.
+
+commit 5fbfd883386a8ff78bd6ca10ab761aff1b38e46d
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Thu Nov 12 11:59:35 2009 -0800
+
+ Add missing XML files to API_XML
+
+ When the files missing from the list were modified, the generated files
+ weren't regenerated.
+
+commit 4d6ec214396461c0cf3ad8ede449b299ff06c1aa
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Wed Nov 11 15:33:23 2009 -0800
+
+ ARB_fbo: Enable GL_EXT_framebuffer_multisample
+
+ All of this functionality is already included in ARB_fbo. This just
+ enables the string.
+
+ I was a bit lazy in using FEATURE_ARB_framebuffer_object for this
+ feature as well. I don't think it makes much difference in the long run.
+
+commit 7fd44005ae67d598c0070bb6ad82a26bc0944284
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Thu Nov 12 11:50:28 2009 -0800
+
+ ARB_fbo: Regenerate files from previous commits.
+
+commit 50b05e7c1f64437a12afb56e38bb588b8b85bd5e
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Wed Nov 11 15:18:22 2009 -0800
+
+ ARB_fbo: Move EXT_fb_blit to EXT_framebuffer_object.xml
+
+ This extension is layered on GL_EXT_framebuffer_object, so it should
+ live in the same XML file.
+
+commit afab8d9958a4deedca16fb9856bc7f372c21debd
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Wed Nov 11 15:15:35 2009 -0800
+
+ ARB_fbo: Add GL_EXT_framebuffer_multisample
+
+ Add GL_EXT_framebuffer_multisample. Make
+ glRenderbufferStorageMultisampleEXT in GL_EXT_framebuffer_object alias
+ glRenderbufferStorageMultisample. Also add the missing GLX render
+ opcode to glRenderbufferStorageMultisample.
+
+ Since this extension is layered on GL_EXT_framebuffer_object, I put it
+ in EXT_framebuffer_object.xml.
+
+commit daad31d52732b5a954360a0baacdeff89d3c153a
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Wed Nov 11 15:09:44 2009 -0800
+
+ EXT_pds: Alias GL_NV_packed_depth_stencil to GL_EXT_packed_depth_stencil
+
+ GL_EXT_packed_depth_stencil is a functional superset of
+ GL_NV_packed_depth_stencil. If a driver enables EXT_pds, make NV_pds
+ available as well.
+
+commit b244b702b3a7bed08250e20b54192ea73892b552
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Wed Nov 11 15:08:49 2009 -0800
+
+ EXT_pds: Add GL_EXT_packed_depth_stencil
+
+commit 92b38bc3050d8f1ee8c64ff976584ec3c0b77f0c
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Wed Nov 11 15:01:25 2009 -0800
+
+ EXT_fbo_blit: Add missing GLX protocol render opcode
+
+commit 30f09573ed4b3b2a5460143b366aa9fb8b91e6a4
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Wed Nov 11 14:51:29 2009 -0800
+
+ ARB_fbo: Add missing protocol "Get" information
+
+commit c185ff96c98b397d494eec5125c668df4db45cf3
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Wed Nov 11 14:44:43 2009 -0800
+
+ ARB_fbo: Remove _EXT from enum names
+
+commit 4440d8adb6f94c9a5c4bc1a913433d88a9ef5324
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Nov 17 16:32:05 2009 -0700
+
+ docs: libGL documentation, from the xorg-docs tree
+
+ This is pretty old and needs some updating but might be useful or
+ interesting to some people.
+
+commit 773de83d3c942186f7e8ab87b5a0180d9a2d9f58
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Nov 17 15:24:40 2009 -0800
+
+ progs/tests: Fix memory leak in arbgpuprog.c.
+
+commit a54033bedb1d3ac7f7a0c1365c25c638e58de566
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Nov 17 16:18:29 2009 -0700
+
+ mesa: remove old comment
+
+commit 133501bef2933395f14b2ebdfeda84279be93c60
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Nov 17 16:16:16 2009 -0700
+
+ mesa: fix assorted compiler warnings
+
+commit bc8fb028c6c9e7c9bd4f6aaf094a606c447e3711
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Nov 17 16:15:56 2009 -0700
+
+ mesa: fix incorrect type in store_texel_al1616()
+
+commit 7e3955d8e80c364d9b4c9eee1ec9758ff3ab8a1d
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Nov 17 16:15:29 2009 -0700
+
+ i915g: replace //-style comments
+
+commit c4c11eb456b773480d37ac34f98b9b44ae7c514a
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Nov 17 16:15:21 2009 -0700
+
+ gallium/util: replace //-style comments
+
+commit 845ddbc9aa62d1c9142822608370d96b2d68cec0
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Nov 17 16:14:54 2009 -0700
+
+ i915g: remove trailing commas in enum lists to silence warnings
+
+commit fc3c5ffcc83904b41ec8bde4006c5d5a66a0aac3
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Nov 17 16:14:20 2009 -0700
+
+ progs/xdemos: change //-style comments
+
+commit b08f44754762c50456c2cb9d2106e1b6db43ff01
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Nov 17 16:14:09 2009 -0700
+
+ progs/glsl: change //-style comments
+
+commit 1888a7276538a3adfe268e235e56b9931d608243
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Nov 17 16:13:12 2009 -0700
+
+ progs/demos: silence warnings
+
+commit 0422053eca12b4fb912e0229c96a9d12453e31c4
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Nov 17 16:05:59 2009 -0700
+
+ mesa: remove trailing comment to silence warning
+
+commit e36751ec81736a8466b1a6a722c1b2cf578d713b
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Nov 17 16:05:24 2009 -0700
+
+ mesa: remove a bit of old code
+
+commit e8eec9385497053a4172deeff9c0ff2726a10f3b
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Nov 17 14:22:35 2009 -0800
+
+ progs/slang: Fix potential null pointer dereference in cltest.c.
+
+commit 47b5f584a68ceab7c9c1d5279efbc9fe30ff2fcc
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Nov 17 14:10:35 2009 -0800
+
+ progs/redbook: Fix memory leak in quadric.c.
+
+commit afe84fa698eae3e035e967589f0a8d55f6a83698
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Tue Nov 17 19:46:59 2009 +0100
+
+ r200: align for mipmap tree changes
+
+commit 93eb2ab8c395f81e40fa298d78805bb2c777f891
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Tue Nov 17 19:46:37 2009 +0100
+
+ radeon: align for mipmap tree changes
+
+commit 46492f11f6f771e12ab2d13f9d7e9eb9e032c2dc
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Nov 17 12:04:17 2009 +0100
+
+ svga: More -Werror removal
+
+commit d9508e8df9da4aa13bc223194c406081738bac91
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Nov 17 13:49:31 2009 -0800
+
+ progs/util: Fix memory leak if fopen fails in RawImageOpen.
+
+commit 8c5a108dc321c4760e6d70b1104493b5bd54e6de
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Nov 17 09:07:15 2009 +0100
+
+ svga: Remove -Werror for now as GCC 4.4.x raises a bunch of warnings
+
+commit aef769207d3e554db8cc452d6ea3f678e5549cfb
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Tue Nov 17 21:27:31 2009 +0100
+
+ r300: fix reads and writes for MESA_FORMAT_S8Z24 buffer
+
+ Regression was introduced by texformat-rework branch merge.
+
+commit d888bbc45a84946cafb4f4d2c89681a580cd89bc
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Nov 17 13:39:13 2009 -0700
+
+ progs/xdemos: added -lX11 -lpthread for GNU gold linker
+
+commit 11905da8836822f7dd60c84b5eefc72e46c94b50
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Nov 17 12:00:22 2009 -0800
+
+ progs/util: Fix memory leak if fread returns 0 in CompileShaderFile.
+
+commit 6418ce7df6e9f12cb1ad4ae39580e175a20a02fb
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Nov 17 12:47:12 2009 -0700
+
+ mesa: move -ansi -pedantic to CFLAGS
+
+commit b8dcb79c53796f37234bd2b0f5e2845f817fc218
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Nov 17 11:37:48 2009 -0800
+
+ progs/glsl: Change tangentAttrib from GLuint to GLint in bump.c.
+
+ tangentAtrrib is assigned the result of glGetAttribLocation.
+ The assertion 'assert(tangentAtrrib >= 0)' would be a no-op if
+ tangentAttrib is a GLuint.
+
+commit 786d539511eb3c5a4101b11b7f8e90d60123ac46
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Nov 17 11:04:24 2009 -0800
+
+ progs/util: Fix memory leak if malloc fails in tkRGBImageLoad.
+
+commit b353106467d386b48877d6ae1048cca3feaf99ff
+Author: Patrice Mandin <patmandin@gmail.com>
+Date: Tue Nov 17 19:50:37 2009 +0100
+
+ nouveau: nv30: Check for NULL front (happens with DRI2)
+
+commit 49289f1d25d42a6b3eb5da5f85b2dd6a14cda8e7
+Author: Patrice Mandin <patmandin@gmail.com>
+Date: Tue Nov 17 19:49:56 2009 +0100
+
+ nouveau: nv30: Add missing include to fix warning
+
+commit 52be96b7feb23d9d502c74c4de52dadfb546dc82
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Tue Nov 17 19:41:29 2009 +0100
+
+ Remove unconditional use of glibc specific bswap_16() macro.
+
+ Fixes unresolved symbol bswap_16 on non-glibc or little endian glibc platforms.
+
+commit 63bc736f90e044bdd681d56300e8342582c5a93a
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Nov 17 11:23:03 2009 -0700
+
+ docs: list the new VMware SVGA Gallium driver in release notes
+
+commit cf65d81cf1eb031384f7e8bfe849ce59c458f27e
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Mon Nov 9 05:51:23 2009 -0800
+
+ dri: Ensure subdirs have finished before linking driver
+
+ Recursive make is hard. If there are subdirectories in the DRI drivers,
+ it's pretty certain we want to finish building in them before linking
+ the driver. Add a new target to serialize the rules.
+
+ Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
+
+commit 041cd0e110d41b543a0fe9cc484ae8373642912b
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Nov 17 10:11:50 2009 -0800
+
+ progs/util: Fix memory leak if LoadRGBImage fails.
+
+commit 33e93f42770e344edf1cd693a6c8115acd505a08
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Tue Nov 17 19:02:03 2009 +0100
+
+ r600: More span breakage fixes.
+
+ At least now the compiler doesn't complain about implicitly declared functions
+ anymore...
+
+commit 0e783c7d03128aade3ca50b28a56e254fef6b6ab
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Nov 17 09:53:19 2009 -0800
+
+ progs/glsl: Fix memory leak in deriv.c.
+
+commit 29f3e7e1d1e8cdff3596b88990ed84d7eeff6f80
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Tue Nov 17 18:47:24 2009 +0100
+
+ r600: Attempt to fix span breakage introduced by big endian fixes.
+
+ Only compile tested; I happened to notice people on IRC reporting
+
+ .../r600_dri.so: undefined symbol: radeon_ptr_2byte_8x2
+
+commit 28b8e4bcd76cc072b062e4c8575327c05ecb9a55
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Nov 17 08:29:36 2009 -0800
+
+ progs/util: Fix memory if LoadRGBMipmaps2 fails.
+
+commit 081bf9563fca3f64aed8676f20d17af3eb115016
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Tue Nov 17 08:05:24 2009 +0100
+
+ radeon: Depth/stencil span code fixes for big endian.
+
+ Fixes e.g. text in progs/demos/arbocclude.
+
+commit 592ce48ce9eecfdd74f59e52c8d51bdb62059e3d
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Tue Nov 17 08:05:24 2009 +0100
+
+ radeon: Fix occlusion queries on big endian.
+
+commit 22627654256ee09bfd659624568865a79eb725b6
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Tue Nov 17 08:05:23 2009 +0100
+
+ radeon: Fix software fallbacks with KMS on big endian.
+
+commit f2651264d385fb31f89859fc1287ca0e41835cf4
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Tue Nov 17 08:05:22 2009 +0100
+
+ radeon: FBO fixes for big endian.
+
+commit 2d0c2952566810ef1b277b49b064f4874a973112
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Tue Nov 17 08:05:22 2009 +0100
+
+ Add MESA_FORMAT_XRGB8888_REV.
+
+commit e015a4c29bf61077a50780cc99381510671b20ec
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Nov 17 16:06:26 2009 +1000
+
+ radeon: rn50's have no 3D engine so don't try and init 3D driver.
+
+commit 0e790ac35327a0b53a4a595a6429135317302269
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Nov 16 18:22:26 2009 -0800
+
+ progs/util: Fix memory leak if LoadYUVImage fails.
+
+commit 60769b232c8eedddc24f25ab91f35bcb6973dded
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Thu Nov 12 01:28:26 2009 +0100
+
+ svga: Build svga driver
+
+commit f7109aaf6c6020da89a0683cf5548181f2db36fb
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Nov 17 02:56:04 2009 +0100
+
+ svga: Add vmwgfx_drm.h file from vmwgfx kernel driver
+
+ Add the vmwgfx_drm.h header for now, this allows the svga driver
+ to be enabled by default without forcing people to install the
+ vmwgfx_drm.h header on their system.
+
+ To be removed once vmwgfx_drm.h is in libdrm.
+
+commit 3192633d4abe262d413e41feb871fe8deed409d8
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Mon Nov 16 19:56:18 2009 +0100
+
+ svga: Add svga driver
+
+commit 6b480dc21dd489d48685b2268e495218aea74293
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Nov 16 18:06:40 2009 -0800
+
+ progs/demos: Fix memory leak in ray.c.
+
+commit 648e8b4c46e9ab0374fdbe655321157125b7efe5
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Nov 17 00:39:09 2009 +0100
+
+ st/xorg: Fix copy-pasto
+
+ Thanks Alan.
+
+commit ee555e3d69c8820f27e71e5ebc028a768cef7d0b
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Nov 16 16:31:34 2009 -0800
+
+ progs/demos: Fix memory leak in projtex.c.
+
+commit a1afe303deda320aadacdaf5b1c72631ca3f734f
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Nov 16 15:44:52 2009 -0800
+
+ progs/demos: Fix memory leak in ipers.c.
+
+commit fdfbae3381553fc93202560abe3b41b4d543f0bf
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Nov 16 15:09:24 2009 -0800
+
+ i965: Use MESA_FORMAT_AL1616 when appropriate
+
+commit b1616b2a811b9a161d1ee2a8251e0efe32a8c192
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Nov 16 14:56:17 2009 -0800
+
+ Move 'static' to start of declaration to silence compiler warning
+
+commit 12982e381d3474c5c00f89cc442d442df097339b
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Nov 16 14:53:36 2009 -0800
+
+ AL1616: Enable MESA_FORMAT_AL1616 for software paths
+
+commit 3325dc91be2534079ebf7997700b6e5f17a75283
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Nov 16 14:53:12 2009 -0800
+
+ AL1616: Add TexImage storage path
+
+commit 975871b4d5e25ddcd350f4e1600c00d37f65fea1
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Nov 16 14:52:43 2009 -0800
+
+ AL1616: Add texel fetch / store routines
+
+commit eb437fabe017611e1f855fffa45f59cd38709be8
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Nov 16 14:49:40 2009 -0800
+
+ AL1616: Add formats for GL_LUMINANCE16_ALPHA16 textures
+
+commit 5fb07a4046a7f00f060bbc6dae92213e635d55f5
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Nov 16 14:30:47 2009 -0800
+
+ AL1616: Add macros to pack two GLushorts into a texel
+
+commit aef3218f0bb48fdb286d2008ee07e507ea8aa98e
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Nov 16 14:56:07 2009 -0800
+
+ progs/demos: Fix memory leak in fslight.c.
+
+commit cb060f3b987c9fa07ebe06cf2e7e54d1eaded1e1
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Mon Nov 16 22:57:43 2009 +0100
+
+ st/xorg: Fix comp alpha code and deal with luminance masks
+
+ There are two fixes in here one is a one liner that fixes
+ component alpha logic. The other deals better with luminance
+ formats used for masks, sources not yet implemented.
+
+ Fixes component alpha text and icons in gnome. There are a one
+ or two cases that this code misses. Like if src_luminance is set
+ but no mask image is given.
+
+commit 5438ee3ecfe5c25102d196fd6d7258201e27e6ca
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Thu Nov 12 11:16:30 2009 +0100
+
+ st/xorg: Incase of format missmatch swizzle channels and set alpha
+
+ This path is only hit for icons in gnome so far
+
+commit d683acb101a65d0688bfd0818a0ddb4be16e376d
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Mon Nov 16 15:03:48 2009 -0500
+
+ r600: don't force Z order
+
+ Let the hw decide (early vs late Z)
+ fixes fdo bug 25092
+
+ Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
+
+commit 0f060250fc95e63e00ebf9eeb603eed470693221
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Nov 16 10:46:20 2009 -0800
+
+ docs: Update r300g status.
+
+commit 664b7303c2e8ae2c6c5a44d5b30254ddab4eb266
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Nov 12 23:17:14 2009 -0700
+
+ docs: fixes, changes for Mesa 7.7
+
+commit fcf8dea36ce2bbeabeacc7a062f0c36326825ffa
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Nov 12 23:06:54 2009 -0700
+
+ progs/tests: silence warning
+
+commit f549f4c4b6012178df3706b26539ca672399260f
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Nov 12 23:04:26 2009 -0700
+
+ mesa: remove unused vertex array driver hooks
+
+commit 652828ec0efd1a7d7a8b497e0324a7bd9f66fd17
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Nov 16 08:25:17 2009 -0700
+
+ mesa: check BaseLevel, MaxLevel in _mesa_GenerateMipmapEXT()
+
+commit a719395b458ef59efe4e8746e390b006a0b8792b
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Nov 16 08:21:28 2009 -0700
+
+ mesa: use _mesa_get_current_tex_object()
+
+commit ecb03d75a2961b28ab3d90fdd5df768608fc9447
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Nov 16 08:14:23 2009 -0700
+
+ mesa: added another check in check_gen_mipmap()
+
+ We don't need to call ctx->Driver.GenerateMipmap() if we're updating
+ a texture level >= MAX_LEVEL.
+
+commit d3a37d93aba86ebca697169a31d88c3ef0ce34b9
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Mon Nov 16 11:59:39 2009 +0100
+
+ st/xorg: Only reference new picture formats when they're defined.
+
+ Fixes http://bugs.freedesktop.org/show_bug.cgi/?id=25094 .
+
+commit afae49cc152d05e6795ccaba4d818df946248584
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Nov 12 20:59:26 2009 -0700
+
+ st/mesa: comments for st_draw.c
+
+commit 4581f7057809314c78e17f846890a2d64c22d575
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Nov 12 17:53:54 2009 -0700
+
+ st/egl: add some basic comments
+
+commit abefd7dcdf28c90454b59faaf9401fa6e6c6f526
+Author: Francisco Jerez <currojerez@riseup.net>
+Date: Sun Nov 15 14:49:02 2009 +0100
+
+ nv20: Fix build for the last nouveau_class.h changes.
+
+ Signed-off-by: Francisco Jerez <currojerez@riseup.net>
+ Signed-off-by: Pekka Paalanen <pq@iki.fi>
+
+commit ed9c4933af6fb58269f1efc7c826cb6a5fd81d38
+Author: Francisco Jerez <currojerez@riseup.net>
+Date: Thu Nov 5 19:07:19 2009 +0100
+
+ nv10: Fix build for the last nouveau_class.h changes.
+
+ Signed-off-by: Francisco Jerez <currojerez@riseup.net>
+ Signed-off-by: Pekka Paalanen <pq@iki.fi>
+
+commit a420056750908f7c2f9a7c18b3ab20f04e49711d
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Nov 14 21:36:18 2009 -0800
+
+ progs: Ignore Mac OS dSYM directories.
+
+commit ad83aeccdc54beecf25f217e2dd24c8edf6d6767
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Nov 14 18:11:16 2009 +0100
+
+ radeon: return false on texture validation if texture isn't complete
+
+commit 23ec7c457483aae1e0d399e9b570f1860c27c780
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Nov 14 16:55:39 2009 +0100
+
+ radeon: rework mipmap tree
+
+commit 8f88cf3938f0156d4df6fcc5fde2711d40b85d03
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Nov 14 15:15:42 2009 +0100
+
+ radeon: more texture code refactoring
+
+commit 9d0af686b27b82dce8ad1ee4c951098660807be6
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Nov 14 15:03:31 2009 +0100
+
+ radeon: minor refactoring of texture code
+
+ Also properly set dstImageOffsets for TexSubImage case.
+
+commit 7628b06ba32e42f57a4fdb322bc32e3b411c1f18
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Nov 14 14:55:13 2009 +0100
+
+ radeon: rework mipmap tree reference counting
+
+commit 6e5d473cc16ca2d001df213fc1d907f2943a95bb
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Wed Nov 11 18:55:49 2009 +0100
+
+ r300: fix regression introduced in 1d5a06a1f7812c055db1d724e40d21a0e3686dd1
+
+ Spotted by Dave Airlie
+
+commit aa195611586cdfb21bb1707b12b16e461a92d42e
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Wed Nov 11 14:00:15 2009 +0100
+
+ radeon: use radeon_bo_is_referenced_by_cs for query objects
+
+commit d3fa67c9b83b5736724ca57a0487857631e6c415
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Wed Nov 11 13:50:06 2009 +0100
+
+ radeon/r300: don't flush cmdbuf if not necessary
+
+commit 286bf89e5a1fc931dbf523ded861b809859485e2
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Wed Nov 11 13:06:19 2009 +0100
+
+ radeon/r300: no need to flush the cmdbuf when changing scissors state in KMM mode
+
+commit f6d0993212fac0eb67827716be1ab4a292c8b4e5
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Wed Nov 11 13:00:10 2009 +0100
+
+ radeon: fix glBufferSubData
+
+commit 084f43c1502db1988ca53494ea590cf1351180ec
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Wed Nov 11 12:53:06 2009 +0100
+
+ radeon: add radeon_bo_is_referenced_by_cs function
+
+commit 49876ab6a7f2b06177d7ac9651bd7a07956cbb25
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Mon Nov 9 23:11:29 2009 +0100
+
+ radeon: remove unnecessary call to radeonEmitState
+
+ fixes bo space accounting errors
+
+commit 0aad2aee66392989777ee74078efda197f292ee7
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sun Nov 8 16:58:07 2009 +0100
+
+ r300: add missing texformat
+
+commit e92492295ba6a716b69adcd14e80adf6b5900132
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Nov 7 22:03:32 2009 +0100
+
+ r300: remove unneeded includes
+
+commit 57f40b18377f87c434f17d5670a13838d58065c9
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Aug 19 13:44:13 2009 -0700
+
+ i965: Share OPCODE_TXB between brw_wm_emit.c and brw_wm_glsl.c
+
+ This should fix TXB on G45 and older in the GLSL case.
+
+commit 1be0efcbdc74f9a84136c9d1f953755c1560e52e
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Aug 19 14:48:11 2009 -0700
+
+ i965: Share OPCODE_TEX between brw_wm_emit.c and brw_wm_glsl.c.
+
+ New comments should explain some of the confusion about how this message
+ works.
+
+commit a0fd49b33455317466a75ec77eb292f41d6021d7
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Nov 13 15:16:17 2009 -0800
+
+ i965: Clean up emit_tex a bit.
+
+commit 3d36d6b4cf735e93a6ae5eadf28e671252fb5303
+Merge: 99077e7 514544f
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Nov 13 14:45:29 2009 -0800
+
+ Merge remote branch 'origin/mesa_7_6_branch'
+
+commit 99077e77927ec26edf85bfef81a6d433171c3a1e
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Nov 12 20:08:44 2009 -0800
+
+ i965: Flag BRW_NEW_CONTEXT on some context state.
+
+ Fixing this is a prereq for avoiding flagging all state at new
+ batch time. Eliminating that still causes problems, though (notably
+ glean logicOp fails on my GM965).
+
+commit 1ffd0a77896d4921677f0717e6fa8708f6586eea
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Nov 12 19:12:11 2009 -0800
+
+ intel: Remove some dead context structure fields.
+
+commit 3727858ceb324c955b00ae29b8c1e12f47060fce
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Nov 12 18:27:12 2009 -0800
+
+ i965: Remove an unused cache_item field.
+
+commit b54f8eeae8e7f5c5b43cb17255fee70227713c9c
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Nov 12 17:48:55 2009 -0800
+
+ i965: Remove long dead structures for ffvertex_prog.c.
+
+commit ded0ec1ea5db8e08b0bec8ac0d9d30f98e360003
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Nov 12 14:57:30 2009 -0800
+
+ i965: Use bo_map instead of subdata to upload the bits of constant buffer.
+
+ Saves CPU time, resulting in a 2.5% FPS win on ETQW.
+
+commit 8e8586e62671e8337c08b086bf7f3c54cc46191d
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Nov 12 14:05:18 2009 -0800
+
+ i965: Validate the number of URB entries selected for the VS.
+
+commit 3c05c1eb6326dc28e8ab073d179eb669e5699f4b
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Nov 12 10:45:05 2009 -0800
+
+ intel: When subdataing a busy buffer, use a temporary and blit in.
+
+ This cuts a massive number of waits in ET:QW, which uses a VBO ringbuffer.
+ Unfortunately it doesn't BufferData when wrapping back to 0, so we can't
+ be clever with tracking what's been initialized.
+
+commit 4e50ce35ee1376062de2c6fa69da144be30a61e2
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Nov 11 15:29:34 2009 -0800
+
+ i965: Clean up Ironlake sampler type definitions.
+
+ They're the same regardless of execution width for 8, 4x2, and 16.
+
+commit 91bd593109c71310fb7e101c5f73a14f1bbd5f93
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Nov 11 11:58:12 2009 -0800
+
+ i965: Avoid moving the current value back into the accumulator for MAD.
+
+ This is a 2.9% (+/-.3%) performance win for my GL demo, which hits MAD
+ sequences for matrix transforms.
+
+commit d6690ce15fb8c7c6abf1bc0d847c1d2da2c33904
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Nov 11 13:26:26 2009 -0800
+
+ mesa: Improve the eliminate-move-use to work across multiple instructions.
+
+ This shaves more instructions off of the VS of my GL demo, but no
+ performance difference this time at n=6. This also fixes a regression
+ that was in this path, which is now piglit's glsl-vs-mov-after-deref.
+
+commit 654122ba7b813683a893d60d10ca201258deface
+Author: Zack Rusin <zackr@vmware.com>
+Date: Thu Nov 12 16:21:00 2009 -0500
+
+ st/xorg: try to fix non-uniform transforms
+
+commit 43080e40aa0d34423e10f1d50aad15289b2b9aec
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Nov 12 16:20:23 2009 -0800
+
+ progs/glsl: Add missing break statement in multinoise.c.
+
+commit b6b753f72728b734fc9886f4ec513ae09e6b269d
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Thu Nov 12 15:39:59 2009 -0800
+
+ intel: Don't check for context pointer to be NULL during extension init
+
+ Thanks to Chia-I Wu's changes to the extension function
+ infrastructure, we no longer have to tell the loader which extensions
+ the driver might enable. This means that intelInitExtensions will
+ never be called with a NULL context pointer. Remove all the NULL checks.
+
+ Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
+ Reviewed-by: Eric Anholt <eric@anholt.net>
+
+commit a736d3f4399a99b54d6af140f2227253f2ee262b
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Thu Nov 12 15:36:02 2009 -0800
+
+ intel: Remove unused enable_imaging parameter to intelInitExtensions
+
+commit 4d72f8f520e02366d695e35aa8ef09fc36f36804
+Author: Zack Rusin <zackr@vmware.com>
+Date: Wed Nov 11 21:46:43 2009 -0500
+
+ st/xorg: use an immediate instead of a full blown const
+
+commit 72b4a7d67f90a20d774dddccbc6eed30d01a7f38
+Author: Zack Rusin <zackr@vmware.com>
+Date: Wed Nov 11 21:40:14 2009 -0500
+
+ st/xorg: don't use flow control
+
+commit 0a39620d6de27ae471c181046480d274a2327476
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Nov 11 19:37:53 2009 -0700
+
+ swrast: handle additional Z24 formats in read_depth_pixels()
+
+commit 7dfea5c0722e9da101805c15b9dd26352816bca9
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Nov 11 17:39:58 2009 -0800
+
+ demos/glsl: Add missing break statement to noise test.
+
+commit 2cfbbc76e445d88bdac7dd4dd22aaf36bbc8e4cc
+Author: Zack Rusin <zackr@vmware.com>
+Date: Wed Nov 11 19:52:08 2009 -0500
+
+ st/xorg: implement repeatnone and make some code smell less like ass
+
+commit 493d599af4f617d52323e0368e65da29ba4638aa
+Author: Zack Rusin <zackr@vmware.com>
+Date: Wed Nov 11 18:06:26 2009 -0500
+
+ st/xorg: fallback until daddy can implement you properly
+
+commit 2ff4f5a7fe9b1ab9d46348768cc08e808f045822
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Nov 11 12:19:20 2009 -0700
+
+ progs/tests: add alpha/blend testing to packedpixels.c
+
+commit cbee31a1f84a4d28d126356aaca317e2cdd003dc
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Nov 11 03:05:16 2009 -0800
+
+ r300, r300g: Add missing registers.
+
+commit d030ce6a843f3a374356edfbe8e04924277197db
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Nov 11 03:04:27 2009 -0800
+
+ dri-st: Add some required GL 2.0 extensions.
+
+ Two-sided stencil and NPOT textures.
+
+commit e4a19ffb13746ae4f62adca412d086d9461ff432
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Nov 10 10:05:40 2009 +0100
+
+ st/xorg: Fallback if picture format doesn't match texture format
+
+commit 3201c655e4c393d5ae794e6373de8ef705b979a4
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Nov 10 08:55:26 2009 +0100
+
+ st/xorg: Don't segfault when debug printing
+
+commit fca8b2c3ae53695f8ff6e823cc316aab910490e5
+Author: Zack Rusin <zackr@vmware.com>
+Date: Tue Nov 10 20:28:54 2009 -0500
+
+ st/xorg: wrap to border color
+
+commit b81f213157538ab050dbdfc22d6be0d2418c634b
+Author: brian <brian@cvp965.(none)>
+Date: Tue Nov 10 18:23:59 2009 -0700
+
+ swrast: update renderbuffer format assertions
+
+commit a65b84d9554815af891d793012eba17de80cbfa3
+Author: brian <brian@cvp965.(none)>
+Date: Tue Nov 10 18:02:03 2009 -0700
+
+ mesa: fix some begin/end render-to-texture logic
+
+ Before, we weren't aggressive enough in checking for the start or end
+ of render-to-texture. In particular, if only the ctx->ReadBuffer had
+ texture attachments, we were treating that as a render-to-texture case.
+
+ This fixes a regression from commit 75bdbdd90b15c8704d87ca195a364ff6a42edbb1
+ "intel: Don't validate in a texture image used as a render target."
+
+commit bc569cd6bee0550c7f83412476b6b39e89c51ac3
+Author: brian <brian@cvp965.(none)>
+Date: Tue Nov 10 16:00:35 2009 -0700
+
+ mesa: move check_begin/end_texture_render() calls
+
+commit d96e55fa7bbbc033f47dbeb942b872c6d21eb42d
+Author: brian <brian@cvp965.(none)>
+Date: Tue Nov 10 15:50:22 2009 -0700
+
+ mesa: new vars: oldDrawFb, oldReadFb in _mesa_BindFramebufferEXT()
+
+commit e6f60d30375c637c0823a9aade8098a45f70d6a7
+Author: brian <brian@cvp965.(none)>
+Date: Tue Nov 10 15:47:34 2009 -0700
+
+ mesa: rename vars in _mesa_BindFramebufferEXT()
+
+commit a492ab765a9e36c5f224f0d58e172ca6ecf25a1c
+Author: brian <brian@cvp965.(none)>
+Date: Tue Nov 10 15:33:31 2009 -0700
+
+ mesa: added comment for check_begin_texture_render()
+
+commit 4c54f8e9aa0aae570c21c57427fb51c70517e0a9
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Nov 10 07:00:21 2009 +0100
+
+ st/egl: Probe hardware for depth stencil format
+
+commit d2c886c8caf52c1e3581af350fd23ecf839a2491
+Author: Zack Rusin <zackr@vmware.com>
+Date: Tue Nov 10 13:51:49 2009 -0500
+
+ st/xorg: cleanup the naming
+
+commit e08512f3d4e318d0776f58296d7f7dae4c5524ad
+Author: Zack Rusin <zackr@vmware.com>
+Date: Tue Nov 10 13:46:16 2009 -0500
+
+ st/xorg: print ouf the picture formats when compositing
+
+commit e42b156fac6deed21328b89192faca6f4fe904f1
+Merge: c541383 1220aba
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Nov 10 16:01:28 2009 -0800
+
+ Merge remote branch 'origin/mesa_7_6_branch'
+
+commit c5413839b3e99c7b162f1260142f3c175502b0ce
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Nov 10 15:51:29 2009 -0800
+
+ i965: avoid memsetting all the BRW_WM_MAX_INSN arrays for every compile.
+
+ For an app that's blowing out the state cache, like sauerbraten, the
+ memset of the giant arrays ended up taking 11% of the CPU even when only a
+ "few" of the entries got used. With this, the WM program compile drops back
+ down to 1% of CPU time.
+
+ Bug #24981 (bisected to BRW_WM_MAX_INSN increase).
+
+commit eb6a1f8a00596156cd7164838ef9e9a5b39e7254
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Nov 10 13:57:29 2009 -0800
+
+ i965: Add a note explaining the data cache domain.
+
+commit 520b6abdecdaba856e5ca04938e18eb83b33dfaa
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Nov 6 12:00:14 2009 -0800
+
+ i915g: Fix memory leak when pci id is unknown.
+
+commit 56ab92bad8f1d05bc22b8a8471d5aeb663f220de
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Nov 10 10:54:15 2009 -0800
+
+ i965: Unalias src/dst registers for SGE and friends.
+
+ Fixes piglit vp-sge-alias test, and the googleearth ground shader. \o/
+
+ Bug #22228
+
+commit d52d78b4bcd6d4c0578f972c0b8ebac09e632196
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Nov 10 10:43:19 2009 -0800
+
+ i965: Allow use of PROGRAM_LOCAL constants in ARB_vp.
+
+ Fixes piglit arl.vp.
+
+commit 28039ffdc8a7eb7d8578534a46b78ae43d16112c
+Author: Michal Krol <michal@vmware.com>
+Date: Tue Nov 10 19:25:17 2009 +0100
+
+ slang: Fix return value check.
+
+commit 5e17c89eadd1a1a5555caa235cf7696e335d25f5
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Tue Nov 10 10:09:56 2009 -0800
+
+ st/xorg: Fix SCons build.
+
+ Check for new DPMS header and add xorg_renderer.c source file.
+
+commit 413e933fd57c53e6d6659cfcf21aba42249f43ca
+Author: Michal Krol <michal@vmware.com>
+Date: Tue Nov 10 18:27:20 2009 +0100
+
+ slang: Check OOM conditions for alloc_node_storage().
+
+commit eef5a0b3a3e03abd1c69649763efc79575df650f
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Nov 10 05:22:15 2009 -0800
+
+ llvmpipe: Fix derived blend color state.
+
+commit cc470bf0ca65592b834c31c662fc795fb7acc58c
+Author: Michal Krol <michal@vmware.com>
+Date: Tue Nov 10 04:03:55 2009 +0100
+
+ slang: Check return value from new_instruction().
+
+commit b2a29ad3092c17f9a7d75ab123ec5c4619c87ec3
+Author: Michal Krol <michal@vmware.com>
+Date: Tue Nov 10 03:25:06 2009 +0100
+
+ slang: Fix signed/unsigned int handling in _slang_free_temp().
+
+commit b5d8a7b6dc1b48c2a11131803e1f37c05fe0bd03
+Author: Michal Krol <michal@vmware.com>
+Date: Tue Nov 10 03:12:02 2009 +0100
+
+ tgsi/exec: Exit early on error.
+
+commit e44c77028c2964891943e4235e44d93c559de088
+Author: Michal Krol <michal@vmware.com>
+Date: Tue Nov 10 03:08:21 2009 +0100
+
+ tgsi/ureg: Simplify logic in tokens_expand().
+
+commit 83760d961fbaeaca8ab82ae497b26e90691f7654
+Author: Michal Krol <michal@vmware.com>
+Date: Tue Nov 10 02:46:24 2009 +0100
+
+ slang: Handle OOM condition in new_instruction().
+
+commit 031fbb9681d6ddc3b515768a914496b2b550cfce
+Author: Zack Rusin <zackr@vmware.com>
+Date: Mon Nov 9 18:03:18 2009 -0500
+
+ st/xorg: remove deprecated rendering code
+
+commit a6d527d7b82579feae9db20657d47a3f86115bb4
+Author: Zack Rusin <zackr@vmware.com>
+Date: Mon Nov 9 18:01:55 2009 -0500
+
+ st/xorg: fix composite batching
+
+ quite a large performance optimization (text demo from 1.6fps to 9fps)
+
+commit 216319fc0fe5dc3f298dd602812afa0f28a4ee60
+Author: Jerome Glisse <jglisse@redhat.com>
+Date: Mon Nov 9 22:37:41 2009 +0100
+
+ r600/r700: typo, fix mask of DB_ALPHA_TO_MASK
+
+commit 66d6f9e860143c3d705f1d78c324159cadd258cc
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Mon Nov 9 12:20:47 2009 -0500
+
+ r600: rework DB render setup
+
+ - consolidate DB render setup
+ - only enable perfect ZPASS counts and cull disable
+ when OQ is active
+ - enable early Z
+
+commit 37676b396a8416ad35253412d3a2e06482859a4d
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Mon Nov 9 11:36:10 2009 -0500
+
+ r600: don't emit htile regs
+
+ These are needed for HiZ which is not currently used and
+ the _BASE reg requires a reloc which is not currently supported
+ in the drm.
+
+commit a9035f3dc313d047ce3af191d6d7ac8ada8167df
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Mon Nov 9 11:34:13 2009 -0500
+
+ r600: add missing ZPASS setup bits for r7xx+
+
+commit bc9d51bb0eab90c47e7b07756e9eba9575f80ffc
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Nov 9 06:59:03 2009 -0800
+
+ llvmpipe: Ensure stack variables in unit tests are properly aligned.
+
+commit 7204b92101ecf4e2fbc78cf91f387996396deec8
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Mon Nov 9 14:29:00 2009 +0100
+
+ nv50: clarify data for method 0x121c
+
+commit c9167d868cfb2ba821f01e0217e3880c5df4c97b
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun Nov 8 14:51:52 2009 -0800
+
+ r300g: Fix up SW TCL rendering functions.
+
+ They don't work, but at least they're clean now.
+
+commit fe898638086370ed86a9ce76b21fa8ebb88c4b08
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun Nov 8 14:07:01 2009 -0800
+
+ r300g: Protect against possibly missing Draw pointer.
+
+ Part of the SW TCL revival.
+
+commit 11d9edf4c9c75d5a41fb0a1757441ad315330bea
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun Nov 8 11:45:57 2009 -0800
+
+ r300g: Unify context names for counts.
+
+ From the SW TCL fixups.
+
+commit b6f93e2607f1bbc5b2f478f0a57d7786dd7d73a5
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun Nov 8 11:32:32 2009 -0800
+
+ r300g: Enable PSC/RS dump with new debugging flags.
+
+commit 0525cb1273a51343fba0a94d01d115e4256d1db2
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun Nov 8 09:56:02 2009 -0800
+
+ r300g: Fix is_buffer_referenced.
+
+commit ee28a69188d5054f996d0f5fc12820b024ef96a6
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun Nov 8 09:35:07 2009 -0800
+
+ r300g: Fix build error on old compilers.
+
+ This dead code was still getting compiled, causing a bad ref in the lib.
+
+commit a12fc1a9c4d544b015b40ff0266b8c8726d16f75
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Nov 7 14:32:31 2009 -0800
+
+ r300g: Organize inlined state.
+
+commit 547e939afb980c2fcc3edbbb07dba0f44be785c1
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Nov 7 14:14:19 2009 -0800
+
+ r300g: DCE.
+
+ This must never have been called before; it's completely wrong.
+
+commit 9f49db6f843885620a52a06721d5972afb29f21a
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Nov 7 13:37:07 2009 -0800
+
+ r300g: Minor code cleanup to avoid confusion.
+
+commit fa6916cfef6a75eacdbf927a02f64a5a37c3b0d9
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Nov 7 13:12:15 2009 -0800
+
+ r300g: Remove do-nothing functions.
+
+commit c4fa0e4caa0aeb5cce9bd871f9156da25a9ec404
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Nov 7 13:07:52 2009 -0800
+
+ r300g: Remove faulty assert.
+
+commit b7322fd874b99ca16d209c783c0b3db7c5f9a366
+Merge: 57d77c6 0fe5f0c
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Nov 7 12:01:48 2009 -0800
+
+ Merge branch 'r300g-vbo'
+
+ This is an experimental HW TCL fastpath for r300g. It should run alright.
+
+ Thanks to osiris for making this possible.
+
+commit 0fe5f0c09abce9d540d51942eab08b2248243943
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Nov 7 11:49:39 2009 -0800
+
+ r300g: Be more verbose in what's killing us WRT vert formats.
+
+commit cd5b2a93d5c9c60dbe72ebc963dcddf0db0b665c
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Nov 7 10:52:06 2009 -0800
+
+ r300g: Comments.
+
+commit ef513776b5bdd11968d2ca03862e9d1ac48e099f
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Nov 7 10:39:42 2009 -0800
+
+ r300g: Don't assert on oversized VBOs, just return FALSE.
+
+commit 746c01b3b2f77d8d8ba14fc517d04dbaf080d77d
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Nov 7 10:34:00 2009 -0800
+
+ r300g: Moar vbo cleanup.
+
+commit b6c3954138ef70ea7d2cbd3ba9519f404ef616d7
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Nov 7 10:26:57 2009 -0800
+
+ r300g: s/false/FALSE/
+
+ Also s/true/TRUE/
+
+commit 7da3cc4241b8550ccc1ec5ba3c93334094f5fb11
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Nov 7 10:14:07 2009 -0800
+
+ r300g: Clean up indexbuf render, switch to RELOC macro.
+
+commit 7518d9b1b7369f6e5ca1fdaf6a34e39a4acace9a
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Nov 7 10:05:31 2009 -0800
+
+ r300g: Clean up r300_setup_vertex_buffers.
+
+commit 96b729f926fafeca6479eed0933bc4275fb7843b
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Nov 7 09:47:01 2009 -0800
+
+ r300g: Don't pass hw_prim around in the context.
+
+ And some other fixes.
+
+commit 24c6fdbd32a84314c81897d0d1567121ed1c6118
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Nov 6 20:21:38 2009 -0800
+
+ r300g: Use common state funcs for translating vert formats.
+
+commit 1ef0341ea7ee08284ebafe4f347643e1190d5777
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sun Oct 25 13:51:45 2009 +0100
+
+ r300g: don't hang GPU on misbehaving apps
+
+commit 3445f476977ae403cef9ca15661fa0f96ff50eca
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sun Oct 25 13:53:25 2009 +0100
+
+ r300g: VBOs WIP
+
+commit d8592d1724d8c8fd0b36eb21f4007b52f809e062
+Author: Maciej Cencora <maciej@osiris.(none)>
+Date: Sun Nov 1 17:04:32 2009 +0100
+
+ r300g: add missing flush
+
+commit c7dfffc5d5078e3cf1c28c230177cbbb43b91131
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sun Oct 25 12:08:02 2009 +0100
+
+ r300g: enable CS dumping
+
+commit 6acb26eadfcb3c21fd09d0b22804b49de9a82cf7
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sun Oct 25 13:22:22 2009 +0100
+
+ r300g: move vborender context function to seperate file
+
+ r300g: Un-migrate r300_draw_render.
+
+ It'll make maintaining the SW TCL path easier.
+
+commit 57d77c6a4474beecdd22b97a8f5af6e4d2833d97
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Sat Nov 7 19:31:18 2009 +0000
+
+ i915g: Fix comment in is buffer referenced
+
+commit 18768393d19dedee7d4282e84905bb396dd30960
+Author: brian <brian@cvp965.(none)>
+Date: Sat Nov 7 08:18:03 2009 -0700
+
+ mesa: move code after decl
+
+ Fixes bug 24967.
+
+commit 44cb5b5c663da4d218448cfd2386b431de35c8d2
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Sat Nov 7 10:46:47 2009 +0100
+
+ nv50: enable all 32 threads of a warp
+
+ This should be the default setting.
+ See also 7d967b9b7c08aea2a471c5bf6aced8bfafdae874.
+
+commit 8baee3d25beb616f6d5ba575684e889d60e38740
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Nov 6 17:45:13 2009 -0800
+
+ i965: Use Compr4 instruction compression mode on G4X and newer.
+
+ No statistically significant performance difference at n=3 with either
+ openarena or my GL demo, but cutting program size seems like a good
+ thing to be doing for the hypothetical app that has a working set near
+ icache size.
+
+commit ec66644ed0af976cacb069ca7c7f0d6731666359
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Aug 19 11:57:32 2009 -0700
+
+ i965: Share min/max between brw_wm_emit.c and brw_wm_glsl.c
+
+commit cfa927766ab610a9a76730d337d77008d876ebbd
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Aug 19 11:48:09 2009 -0700
+
+ i965: Share emit_fb_write() between brw_wm_emit.c and brw_wm_glsl.c
+
+ This should fix issues with antialiased lines in GLSL.
+
+commit 2b58c31257f8900067276b6d6537bb2ce54b1b10
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Aug 12 10:19:31 2009 -0700
+
+ i965: Share most of the WM functions between brw_wm_glsl.c and brw_wm_emit.c
+
+ The PINTERP code should be faster for brw_wm_glsl.c now since brw_wm_emit.c's
+ had been improved, and pixel_w should no longer stomp on a neighbor to dst.
+
+commit 1e5400c575b72fbde16ef0d55fd3ba577fc1b6a5
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Aug 12 09:52:44 2009 -0700
+
+ i965: Share math functions between brw_wm_glsl.c and brw_wm_emit.c.
+
+commit 7059aa0eff9ff6ec361e584b413f63b25762a89c
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Aug 11 21:17:14 2009 -0700
+
+ i965: Share the sop opcodes between brw_wm_glsl.c and brw_wm_emit.c.
+
+commit 726ad1560660a1fc769c87e0ea16f8b3334df0d2
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Aug 11 19:17:31 2009 -0700
+
+ i965: Share OPCODE_MAD between brw_wm_glsl.c and brw_wm_emit.c
+
+commit bad5b120be8de37cf8481d865790298fd9651381
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Aug 11 19:13:52 2009 -0700
+
+ i965: Share the DP3, DP4, and DPH between brw_wm_glsl.c and brw_wm_emit.c
+
+commit 06c1bc8a2222f00e5a51fa977130a719bdcd8f0b
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Aug 11 17:52:44 2009 -0700
+
+ i965: Add generic GLSL code for unaliasing a 3-arg opcode, and share LRP code.
+
+commit 90629704ef51de4018055ee4b8ff68531f6712ae
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Aug 11 16:47:15 2009 -0700
+
+ i965: Use a normal alu1 emit for OPCODE_TRUNC.
+
+commit 71af5080722afcbbb8a935138d95214ef7afe219
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Aug 11 16:31:19 2009 -0700
+
+ i965: Share basic ALU ops between brw_wm_glsl and brw_wm_emit.c
+
+ This drops support for get_src_reg_imm in these, but the prospect of getting
+ brw_wm_pass*.c onto our GLSL path is well worth some temporary pain.
+
+commit 0f34cdf6210b748db77c5eba2993637f4af6faeb
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Aug 12 12:56:35 2009 -0700
+
+ i965: Collect GLSL src/dst regs up in generic code.
+
+ This matches brw_wm_emit.c, which we'll be using shortly. There's a
+ possible penalty here in that we'll allocate registers for unused channels,
+ since we aren't doing ref tracking like brw_wm_pass*.c does. However, my
+ measurements on GM965 don't show any for either OA or UT2004 with the GLSL
+ path forced.
+
+commit e521bf7706a5527ad5750baef78feaa961f73ecc
+Author: Zack Rusin <zackr@vmware.com>
+Date: Fri Nov 6 08:31:16 2009 -0500
+
+ st/xorg: implement batching for the composite op
+
+ something is broken so disabled for now
+
+commit 4322346f3fd03788a79d056ca7bce2db25bc9d88
+Author: Zack Rusin <zackr@vmware.com>
+Date: Fri Nov 6 07:36:47 2009 -0500
+
+ st/xorg: batch solid fill requests
+
+ instead of lots of very small transfers, one larger is a lot better
+ for performance
+
+commit e1730632aa5ca1dbb0edd484e2357246ec537abb
+Author: Zack Rusin <zackr@vmware.com>
+Date: Fri Nov 6 05:30:53 2009 -0500
+
+ st/xorg: start accumulating vertices in a common buffer
+
+commit 3f7df23ff50fc7cd86db9a27c11cca9c10bd63eb
+Author: Zack Rusin <zackr@vmware.com>
+Date: Fri Nov 6 04:23:33 2009 -0500
+
+ st/xorg: use quads instead of triangle fans
+
+ easier to split, accumulate and batch those
+
+commit 6c44d399bd23e734f2302897ee74e4869ff33816
+Author: Zack Rusin <zackr@vmware.com>
+Date: Fri Nov 6 00:37:37 2009 -0500
+
+ st/xorg: make the buffer size global
+
+commit 6b0bcfafab7b380ee71da1a7754f4c09614811d6
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Nov 6 14:06:08 2009 -0800
+
+ mesa: Reduce the source channels considered in optimization passes.
+
+ Depending on the writemask or the opcode, we can often trim the source
+ channels considered used for dead code elimination. This saves actual
+ instructions on 965 in the non-GLSL path for glean glsl1, and cleans up
+ the writemasks of programs even further.
+
+commit f3cacfe216fb58b913bbc23de49d696a33da69e1
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Nov 6 13:04:54 2009 -0800
+
+ mesa: Fix remove_instructions to successfully remove when removeFlags[0].
+
+ This fixes the dead code elimination to work on the particular code
+ mentioned in the previous commit.
+
+commit e4e312d493847e07ced026b93d2b588b8036ae02
+Author: Eric Anholt <eric@anholt.net>
+Date: Sat May 16 01:47:44 2009 -0700
+
+ mesa: Add an optimization path to remove use of pointless MOVs.
+
+ GLSL code such as:
+ vec4 result = {0, 1, 0, 0};
+ gl_FragColor = result;
+
+ emits code like:
+ 0: MOV TEMP[0], CONST[0];
+ 1: MOV OUTPUT[1], TEMP[0];
+
+ and this replaces it with:
+ 0: MOV TEMP[0], CONST[0];
+ 1: MOV OUTPUT[1], CONST[0];
+
+ Even when the dead code eliminator fails to clean up a now-useless MOV
+ instruction (since it doesn't do live/dead ranges), this should at reduce
+ dependencies.
+
+commit ee0a9e6e10060287747d9dd4afead3cbbb168e09
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Jun 12 12:37:25 2009 -0700
+
+ mesa: Fix up the remove_dead_code pass to operate on a channel basis.
+
+ This cleans up a bunch of instructions in GLSL programs to have limited
+ writemasks, which would translate to wins in shaders that hit the i965
+ brw_wm_glsl.c path by depending less on in-driver optimizations. It will
+ also help hit other optimization passes I'm looking at.
+
+commit 3105f3aa88e4b59eed3c7f175af77fbdb4af5924
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Nov 6 13:52:48 2009 -0700
+
+ intel: better front color buffer test in intelClear()
+
+commit 8395da2e8af40367714c70afe299568272f36cc8
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Nov 5 10:25:34 2009 -0800
+
+ i965: Always pass the size argument to brw_cache_data.
+
+ This keeps the individual state files from having to export their
+ structures for brw_state_cache initialization.
+
+commit 1166294d1dd253da63620235100a11f1981aa86d
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Nov 4 17:31:01 2009 -0800
+
+ intel: Finish removing the fallback code for bug #16697.
+
+ I fixed it properly as of 7216679c1998b49ff5b08e6b43f8d5779415bf54.
+
+commit 75bdbdd90b15c8704d87ca195a364ff6a42edbb1
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Nov 4 14:54:09 2009 -0800
+
+ intel: Don't validate in a texture image used as a render target.
+
+ Otherwise, we could lose track of rendering to that image, which could
+ easily happen during mipmap generation.
+
+commit 6b68482e6869bdc03339ef5380d7273e14a61a56
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Nov 4 14:31:30 2009 -0800
+
+ mesa: Attempt to pair up Driver.RenderTexture and FinishRenderTexture()
+
+ This is probably not 100% complete (bind vs unbind may still not pair up
+ exactly), but it should help out drivers which are relying on
+ FinishRenderTexture to be called when we're done rendering to a particular
+ texture level, not just when we're done rendering to the object at all.
+ This is the case for the one consumer of FinishRenderTexture() so far: the
+ gallium state tracker. Noticed when trying to make use of FRT() in the intel
+ driver.
+
+commit 8df81bca1704aef2f5cdc4052ef313d8f84f5d06
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Nov 4 15:11:02 2009 -0800
+
+ intel: Clean up some extra struct indirection in finalize.
+
+commit ee7dfbbd6cc85f221b371bf512bd1571744158e8
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Nov 4 16:49:05 2009 -0800
+
+ intel: Use _mesa_get_current_tex_object() to clean up TFP path.
+
+commit 8f30ceaaefc33401b08739a16ce1c5638d6432fa
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Nov 4 13:41:48 2009 -0800
+
+ intel: Remove duplicated arguments from intel_miptree_match_image().
+
+commit 2bc8bcdcd334db715f8916f80ef4f4bc5f9a170d
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Nov 3 17:40:13 2009 -0800
+
+ i965: Remove an XXX comment for testing some code that seems to work.
+
+commit bb2dd50be00000b66218bc6a9e6be8de70b31493
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Nov 3 17:30:46 2009 -0800
+
+ intel: Remove obsolete comment about GEM in the spans code.
+
+commit 8e0f40d28777f1ae599a95312788fe29a0515a0d
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Nov 3 17:18:36 2009 -0800
+
+ intel: Use PIPE_CONTROL on gen4 hardware for doing pipeline flushing.
+
+ This should do all the things that MI_FLUSH did, but it can be pipelined
+ so that further rendering isn't blocked on the flush completion unless
+ necessary.
+
+commit caf3038123d6d29afd7d1f0cd6db98a2282c3ca1
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Oct 26 09:28:32 2009 -0700
+
+ Make a convenient int for what chipset generation we're on.
+
+ gen2/3/4 are easier to say than "8xx, 915-945/g33/pineview, 965/g45/misc",
+ and compares on generation are often easier than stringing together a bunch
+ of chipset checks.
+
+commit 4e4c2ee1fd574d1d651c559f46afb6ca5487156d
+Merge: 96e938f 9348ac0
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Fri Nov 6 11:17:00 2009 -0800
+
+ Merge branch 'mesa_7_6_branch'
+
+ This should fix the memory leaks in the assembly parser without the
+ regressions.
+
+ The conflicts in program_lexer.l were related to changes in returning
+ strings between the branches (always return IDENTIFIER vs. returing
+ either IDENTIFIER or USED_IDENTIFIER).
+
+ The conflicts in program_parse.y were related to two changes in master
+ One change prints a variable name in an error message. The other
+ change adds outputVarSize to the OUTPUT_statement rule. The cause the
+ position of the IDENTIFIER to change from $2 to $3.
+
+ Conflicts:
+ src/mesa/shader/lex.yy.c
+ src/mesa/shader/program_lexer.l
+ src/mesa/shader/program_parse.tab.c
+ src/mesa/shader/program_parse.y
+
+commit 96e938f62c729fab74601627d54c9c4cf499ebdf
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Nov 6 15:08:05 2009 +0000
+
+ llvmpipe: Fix build with llvm 2.6.
+
+ Fixes bug 24949.
+
+commit 38d3c156dc64679e5602816070a0bac4f1f39302
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Nov 6 07:59:18 2009 -0700
+
+ intel: call intel_check_front_buffer_rendering() in intelClear()
+
+ fixes bug 24953.
+
+commit 577a598dc905d435a31422bb6135ee9d4352f6b6
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Nov 6 12:05:43 2009 +0000
+
+ mesa: Export S3_s3tc as well.
+
+ Used in Quake3.
+
+commit f611425101eab5c4b41407c38966f4deca542f56
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Nov 6 12:04:49 2009 +0000
+
+ mesa: Translate MAP_UNSYNCHRONIZED_BIT.
+
+commit 244591ae7b2582a1d1f5d2fdc2d3812643104eb9
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Nov 6 12:04:20 2009 +0000
+
+ gallium: Add UNSYNCHRONIZED cpu access flag. Document others.
+
+commit 25728860fcb65b53cf7212d54d39a01a3dc90a49
+Author: Zack Rusin <zackr@vmware.com>
+Date: Fri Nov 6 00:17:43 2009 -0500
+
+ st/xorg: unify vertex buffer handling
+
+ first step on our way to batching
+
+commit d971069fc6f5dcec64b1f1a60a8a2e7063aaf018
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Nov 5 13:16:19 2009 -0700
+
+ mesa: fix infinite loop bug in _mesa_drawbuffers()
+
+ Fixes bug 24946.
+ This regression came from 8df699b3bb1aa05b633f05b121d09d812c86a22d.
+
+commit 67034b9efce43a7b83f79e44beb6d4e8f6dff22a
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Nov 5 17:05:20 2009 +0000
+
+ softpipe: Implement PIPE_BLENDFACTOR_SRC_ALPHA_SATURATE for destination.
+
+ It is a valid and tested combination on D3D9.
+
+commit e0590159ce68e0fc9bac21bcfddc9193f4ccdac5
+Author: Cooper Yuan <cooperyuan@gmail.com>
+Date: Thu Nov 5 16:06:01 2009 +0800
+
+ g3dvl: remove a debug line
+
+commit c621c100b25c83ee9790ed39b27bd95a13a69377
+Author: Cooper Yuan <cooperyuan@gmail.com>
+Date: Thu Nov 5 15:59:27 2009 +0800
+
+ g3dvl: add scissor setting
+
+commit c2e47191d72e16aaa1fae4f47bbed7639c2ff201
+Author: Marek Olšák <maraeo@gmail.com>
+Date: Wed Nov 4 10:56:44 2009 +0100
+
+ r300g: add polygon mode
+
+ Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
+
+commit 4671005a4317fa37aea8786740470a40906fbfa7
+Author: Marek Olšák <maraeo@gmail.com>
+Date: Tue Nov 3 16:58:39 2009 +0100
+
+ r300g: fix the size of CS when emitting the fragprog constant buffer
+
+ Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
+
+commit 07190888bdc41f53bf8ea30c9e2ee4a61b42d802
+Author: Marek Olšák <maraeo@gmail.com>
+Date: Tue Nov 3 16:50:09 2009 +0100
+
+ r300g: set the correct offset in a colorbuffer surface
+
+ Suggested by Joakim Sindholt.
+
+ Also, put flushing of colorbuffers _before_ the framebuffer state setup,
+ suggested by docs.
+
+ Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
+
+commit ad96c0d851f6c3696fa6ae0c1f6ad56e849bc739
+Author: Marek Olšák <maraeo@gmail.com>
+Date: Tue Nov 3 16:48:48 2009 +0100
+
+ r300g: add color channel masking
+
+ Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
+
+commit 898de4a9d5e47ed32c600e5907476fd9338aa7e9
+Merge: fe86f8d 1c3f7ab
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Nov 4 17:57:20 2009 -0700
+
+ Merge branch 'mesa_7_6_branch'
+
+ Conflicts:
+
+ src/mesa/drivers/windows/gdi/mesa.def
+
+commit fe86f8d73268785b31bc8d5a278a233bff42034d
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Nov 4 17:26:48 2009 -0700
+
+ ARB prog parser: include variable name in error text
+
+commit 4c5a758d064d1a8fca245d4ffeb2f80ba8c781e3
+Author: Zack Rusin <zackr@vmware.com>
+Date: Wed Nov 4 18:08:44 2009 -0500
+
+ st/xorg: these flushes shouldn't be necessary
+
+ performance optimization
+
+commit 9fce12b894c3af33d7a0732332446893682a48d5
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Nov 4 16:59:13 2009 -0500
+
+ r600: rework draw functions
+
+ Seems INDX_OFFSET doesn't work properly on some cards,
+ so change back to immediate mode indices. Seems to only
+ affect DRI1. Needs more investigation.
+
+ Rework and clean up the draw functions.
+
+ Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
+
+commit 70dade8afeadf83c6c993b39d3322e7c9353eea7
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Nov 4 14:43:24 2009 -0500
+
+ r600: fix count prediction for IB case
+
+ Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
+
+commit 3040b2ee9dcb5fcf7660ae8ee2cd3f7d86e7da47
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Wed Nov 4 14:48:25 2009 +0000
+
+ Fix YTILE spantmp functions
+
+commit 0b4ea45e8aded79557da3a51bb88c9bbacfa07dc
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Nov 3 19:47:51 2009 +0000
+
+ util: Remove homegrown Windows KM profiler.
+
+ It's not sampling based so its results are biased towards functions called
+ many times.
+
+commit 767bc8eb5a0bbaf9fde9d760e8460d34c51d2991
+Author: Michal Krol <michal@vmware.com>
+Date: Wed Nov 4 11:47:10 2009 +0000
+
+ tgsi/ureg: Allow for multiple extended instruction tokens.
+
+ For example, we would like to have a predicate and texture token
+ in one instruction to do predicated texture sampling.
+
+commit 618e3b89f6ecdf422132ecea19315b326dd348ec
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Tue Nov 3 23:30:18 2009 +0100
+
+ nv50: fix shader emit_tex for cube textures
+
+commit 317ccfe0dfbfda13f58a26f661324d883b25a316
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Tue Nov 3 22:09:32 2009 +0100
+
+ nv50: add abs-modifier for emit_minmax
+
+commit 040e1d008f8f8258f1b0ee0fcdf4906e0979fb66
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Tue Nov 3 23:19:56 2009 +0100
+
+ nv50: add 3d texture tiling and mip-mapping
+
+ Mip-mapped 3D textures are not arrays of 2D layers
+ with a mip-map layout like 2D textures, therefore we
+ cannot use image_nr == depth for them.
+
+ Making use of "volume tiling" modes now, the allowed
+ modes are 0xZY where Z <= 5 and y <= 5.
+
+commit c475079ef2d901ba4506ebd53e19419cd46793ab
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Nov 3 14:41:08 2009 -0700
+
+ progs/util: Fix memory leak if fail to load/compile shader
+
+ Signed-off-by: Brian Paul <brianp@vmware.com>
+
+commit ceb6728725a1eefe35a4d8371b2ff0abe212b5ad
+Author: Michal Krol <michal@vmware.com>
+Date: Fri Oct 30 08:27:17 2009 +0000
+
+ llvmpipe: Sanitise shader semantic and interpolator handling.
+
+ Handle the remaining semantic names and indices.
+ Respect color interpolator when not flatshading.
+
+ Based on Michal's softpipe commit
+ eb699d64ec7057032139baccedcb0694ca41d706.
+
+commit 026cf84bbbd939f0ae573a9841bb49aaa1d9ae75
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Sun Aug 23 11:22:41 2009 +0100
+
+ llvmpipe: remove old prim_setup draw stage
+
+ Everything now goes through the draw_vbuf handler, the same as
+ regular drivers.
+
+ Based on Keith's commit 4fe0fc3eba1f79beda890a5016359d549bab6ad4.
+
+commit 677a055fa0cf7b6476c716be187513c41060d417
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Nov 3 13:10:58 2009 +0000
+
+ llvmpipe: Respect gl_rasterization_rules in primitive setup.
+
+ Based on Michal's identical commit for softpipe
+ (ca9c413647bf9efb5ed770e3a655bc758075aec7).
+
+commit 3e8f665c1eae5c93c1349e04476950dcd7a42073
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Nov 2 09:47:47 2009 +0000
+
+ python/retrace: Cope with null constant buffers.
+
+commit a2e868b977dfbd170b8016c0386a773f2cdd0b73
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Nov 2 09:47:24 2009 +0000
+
+ python/retrace: Add missing colon.
+
+commit a017ad2861e8df0cfea7808cf9c094b9c4bcac48
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Nov 3 10:01:10 2009 -0700
+
+ progs/tests: debug code for getting texture component sizes
+
+commit 7ccf60ae40b2a201d446400bc8329df51e83cb6c
+Author: Michal Krol <michal@vmware.com>
+Date: Tue Nov 3 09:55:28 2009 +0000
+
+ tgsi: Up tgsi_exec's control flow nesting to 32.
+
+commit 4bced42341d13303ae023957d3001a640cf7ea2d
+Merge: 800e553 a0cd2b7
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Nov 3 09:54:09 2009 -0700
+
+ Merge branch 'mesa_7_6_branch'
+
+commit 800e553e7a1703e33e54f45d0638b67001665fc5
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Nov 2 15:39:39 2009 -0700
+
+ mesa: clean-up, remove some flushing in FBO functions
+
+ Remove some unneeded flushes.
+ Replace FLUSH_CURRENT w/ FLUSH_VERTICES in other places.
+
+commit 4de18fb093e700ee33ed49035ab77f4a9453329a
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Nov 2 15:30:51 2009 -0700
+
+ mesa: fix indentation
+
+commit 5698d7cd7557659440f8417716839ba07cffc5a5
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Nov 2 15:29:54 2009 -0700
+
+ mesa: clean-up formatting
+
+commit 18af75e5011cc31b52d62befba2cacfd353ce638
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Nov 2 15:29:03 2009 -0700
+
+ mesa: avoid extraneous _NEW_BUFFER changes in _mesa_BindFramebufferEXT()
+
+commit c7048f9d9f91ef8c3ef35e31976adbf686349c41
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Nov 2 15:27:57 2009 -0700
+
+ mesa: use FLUSH_VERTICES() in _mesa_drawbuffers()
+
+commit 8df699b3bb1aa05b633f05b121d09d812c86a22d
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Nov 2 14:41:17 2009 -0700
+
+ mesa: avoid extraneous _NEW_BUFFER state in _mesa_drawbuffers()
+
+commit b28c637382cd3c3fcd54cd77062dab3df78230a9
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Nov 2 13:20:19 2009 -0700
+
+ mesa: use ffs() to shorten loop in _mesa_drawbuffers()
+
+commit 2d11c48223adb78353ca32f0cc07941957310389
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Nov 2 12:58:51 2009 -0700
+
+ mesa: added assertion, another comment
+
+commit bcbfda71b03303d3f008a6f3cf8cb7d9667bf8d2
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Nov 2 12:40:04 2009 -0700
+
+ intel: avoid unnecessary front buffer flushing/updating
+
+ Before, if we just called glXMakeCurrent() and didn't render anything we'd
+ still trigger a flushFrontBuffer() call.
+
+ Now only set the intel->front_buffer_dirty field at state validation time
+ just before we draw something.
+
+ NOTE: additional calls to intel_check_front_buffer_rendering() might be
+ needed if I missed some rendering paths.
+
+commit 644d8fd363ca7d8f40f4fa319919985cc002df9e
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Oct 31 08:08:19 2009 -0600
+
+ mesa: added comment
+
+commit 7157479b253b3051f1ec454a39b2aff825bab047
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Oct 31 08:08:05 2009 -0600
+
+ mesa: use _mesa_get_current_tex_object()
+
+commit 1afe60e802e22318a7a10a8ab2fa4f8222f98e31
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Oct 31 08:07:46 2009 -0600
+
+ mesa: use _mesa_get_current_tex_object()
+
+commit b8fdb900fb9b1c8b1e9ec88509624237307a869a
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Oct 31 08:07:23 2009 -0600
+
+ mesa: make _mesa_get_current_tex_objec() public
+
+commit 731810f8546174e45c717b0a9aa289a26593dfa0
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Nov 2 12:44:14 2009 -0800
+
+ ARB prog parser: Fix a couple issues with previous merge from mesa_7_6_branch
+
+ Since the addition of support for Nvidia condition codes, the lexer internally
+ uses handle_ident to select between returning IDENTIFIER and USED_IDENTIFIER.
+ Also, use return_string instead of strdup.
+
+ Fixes bug #24809.
+
+commit 213ec8251cb3e859b41306eae4092d89592c33db
+Author: Pierre Ossman <pierre@ossman.eu>
+Date: Sun Nov 1 22:28:02 2009 +0100
+
+ r600: implement LOG op in compiler
+
+commit d00cbba403640c82683a876fa795cd638f1bbc24
+Author: Pierre Ossman <pierre@ossman.eu>
+Date: Sun Nov 1 21:38:48 2009 +0100
+
+ r600: implement EXP op in compiler
+
+commit c379fbbe244bf6778c5bd66c1f2118f83b08f90d
+Author: Michal Krol <michal@vmware.com>
+Date: Mon Nov 2 14:59:52 2009 +0000
+
+ tgsi/ureg: Add negate and swizzle for predicates.
+
+commit c02cd82b463661def7842f910dc561313559df80
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Nov 2 06:52:05 2009 -0700
+
+ mesa: fix incorrect approx bits/channel for fxt1 formats
+
+ See bug 24806.
+
+commit a40055f4b608a8f3c07218172ed169214db19236
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Nov 2 06:51:47 2009 -0700
+
+ gallium/util: add casts to silence warnings
+
+commit 962ece954068646f8e2c0e9ea81395ab7eaf5ee8
+Author: Michal Krol <michal@vmware.com>
+Date: Mon Nov 2 09:42:28 2009 +0000
+
+ tgsi/ureg: Update for gallium interface changes.
+
+commit aa2b2e5d7d53ddd08425536edddec509a8834bfc
+Author: Michal Krol <michal@vmware.com>
+Date: Mon Nov 2 09:41:40 2009 +0000
+
+ tgsi: Update for gallium interface changes.
+
+commit 0a7d50ed7e7608eaccba8e9648685e740065c384
+Author: Michal Krol <michal@vmware.com>
+Date: Sat Oct 31 09:09:26 2009 +0000
+
+ gallium: Cleanup predicate and condition code TGSI tokens.
+
+ There is little point in having a special TGSI token just to handle
+ predicate register updates. Remove tgsi_dst_register_ext_predicate token
+ and instead use a new PREDICATE register file to update predicates.
+ Actually, the contents of the obsolete token are being moved
+ to tgsi_instruction_ext_predicate, where they should be
+ from the very beginning.
+
+ Remove the NVIDIA-specific condition code tokens -- nobody uses them
+ and they can be emulated with predicates if needed.
+
+ Introduce PIPE_CAP_SM3 that indicates whether a driver supports
+ SM3-level instructions, and in particular predicates.
+
+ Add PIPE_CAP_MAX_PREDICATE_REGISTERS that can be used to query the driver
+ how many predicate registers it supports (currently it would be 1).
+
+commit eb699d64ec7057032139baccedcb0694ca41d706
+Author: Michal Krol <michal@vmware.com>
+Date: Fri Oct 30 08:27:17 2009 +0000
+
+ softpipe: Sanitise shader semantic and interpolator handling.
+
+ Handle the remaining semantic names and indices.
+ Respect color interpolator when not flatshading.
+
+commit 87d7c1aa15a944d64e43b217e18553256f9fb681
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sun Nov 1 18:25:59 2009 -0500
+
+ nouveau: Assume all texture blankets are linear for now.
+
+commit 1f630fa0167ed799556a764178772c096a3ddeba
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun Nov 1 11:54:52 2009 -0800
+
+ r300g: Miscellania. Avoid draw segfaults, s/true/TRUE/, etc.
+
+ Cleared out my git stash.
+
+commit 3d73852121f13832f6bc87918798ff96589d0349
+Author: Maciej Cencora <maciej@osiris.(none)>
+Date: Sun Nov 1 18:50:52 2009 +0100
+
+ r300g: fix geometry corruptions
+
+ PVS flush is needed before changing the vertex shader or vertex shader constants.
+
+commit 2db46af8758bf77a2748460f617d0ead5b08a454
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Wed Oct 21 21:17:43 2009 +0200
+
+ r300g: split constant buffer and shader emittion
+
+commit cab749a1d0046f59ca10f96d2e6343404e5f2616
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun Nov 1 09:24:02 2009 -0800
+
+ r300g: Adopt osiris' PSC data and swizzle.
+
+ A fair amount more flexible and easier to maintain.
+
+commit 5de8f9744015d3645a12dac244ad47daf8481dd2
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Sun Nov 1 14:15:30 2009 +0100
+
+ nv50: handle TGSI_SEMANTIC_FACE
+
+commit 496c9eaacfabc4df4e6fb5ba230e60dc660554c8
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Sun Nov 1 14:04:54 2009 +0100
+
+ nv50: make IF condition safe
+
+ Don't assume that a SET that writes to IF's argument
+ directly precedes the IF.
+
+commit 99e308a0e0479971fe3a8a0aba586e19456e4b88
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Sun Nov 1 14:27:35 2009 +0100
+
+ nv50: implement TGSI_OPCODE_AND/OR/XOR
+
+ Will use AND for gl_FrontFacing, the face input
+ is either 0 or 0xffffffff.
+
+commit 1cc16e1b831cef8e1573cc998cee3e55179bb830
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Sat Oct 31 20:46:59 2009 +0100
+
+ nv50: fix textures with block size != cpp
+
+ First, using width * block size as pitch is evidently
+ wrong if a block contains more than 1 texel.
+
+ For tiled textures, since a block occupies a contiguous
+ area of memory, y addressing in m2mf has to be done by
+ block index, not the y coordinate itself.
+
+ This should fix compressed textures.
+
+commit 91232b7004d7a9fbf4f99bb9ec4e5eea8e1c6eef
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sat Oct 24 17:36:48 2009 -0400
+
+ nouveau: Support X8R8G8B8 textures on nv30, nv40 and RTs on nv10-nv40.
+
+commit 9831e1f76cd020e1cde2b13e03149415319a8135
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Sat Oct 31 13:38:22 2009 +0100
+
+ nv50: use SIFC also for shader upload
+
+ Adds a more generic SIFC transfer function.
+
+commit 525f529d138168386224136dc45abb858677bac7
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Sat Oct 31 11:25:48 2009 +0100
+
+ nv50: make MRTs work
+
+ We have to indicate to the hw whether the FP exports
+ multiple colour results.
+ Method 0x121c is used to specify the number of RTs.
+ Also deactivate zeta explicitly if there's no zsbuf.
+
+commit 73b45b06690c95cf24cb6f9a81d61269ad51f9dd
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sat Oct 31 21:23:37 2009 +1000
+
+ radeon: add missing include
+
+commit c9928ac3ee5dc0d10127388f9312779a6c59da7c
+Author: Marek Olšák <maraeo@gmail.com>
+Date: Sat Oct 31 07:23:00 2009 +0100
+
+ r300g: correct the pitch calculation for smaller mipmaps
+
+commit 3f60130b87a4a75f1b7cb6e0b854001bbe8f7ec8
+Author: Marek Olšák <maraeo@gmail.com>
+Date: Sat Oct 31 05:38:25 2009 +0100
+
+ r300g: pretend NPOT support
+
+ It's requires to get GL2.1, therefore, much more piglit tests can be used
+ for testing. Figure out later how to emulate this.
+
+commit a8f85dceb5e721437ba30ec540cd0bf8ee454325
+Author: Marek Olšák <maraeo@gmail.com>
+Date: Sat Oct 31 05:34:46 2009 +0100
+
+ r300g: fix reading from the destination buffer in blending
+
+commit 63c9450ae776ff4207422442dd8c3d9d13a05e7a
+Author: Marek Olšák <maraeo@gmail.com>
+Date: Fri Oct 30 18:19:25 2009 +0100
+
+ r300g: add precalculating of pixel pitch, add a new NPOT flag
+
+commit 11180b44717943d767b64f0b658f31b6c2594aa4
+Author: Marek Olšák <maraeo@gmail.com>
+Date: Fri Oct 30 13:08:37 2009 +0100
+
+ r300g: remove unnecessary assertions
+
+ Also, correct typos in comments.
+
+commit ace78d90ded52d8fe4b3b077abf9a4db381dce16
+Author: Marek Olšák <maraeo@gmail.com>
+Date: Thu Oct 29 23:48:59 2009 +0100
+
+ r300g: fix crash in r300_is_texture_referenced
+
+ Also, a subtle fix in emitting a texture state
+
+commit 5cf7c8e2d58a877bfc786f866d4e0d363ddd22aa
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sat Oct 31 15:48:59 2009 +1000
+
+ radeon: use _mesa_get_current_tex_unit
+
+commit 5e9f97f0eae5519b7273f0e17000b9d5152f3274
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Oct 30 19:06:56 2009 -0600
+
+ ARB prog parser: regenerated files
+
+commit df5615de1f1bfc68417eb2a6381fe3d8ab9ac035
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Oct 30 19:05:50 2009 -0600
+
+ ARB prog parser: new set_src_reg(), set_dst_reg() helpers
+
+ These functions do sanity checks on the register file and index.
+
+commit a71edc9455ef81a8dd5ec284e88061a585e63580
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Oct 30 19:03:44 2009 -0600
+
+ mesa: better error message
+
+commit 7c8bed62e0165a0be3363f7abf81bf9e30341e00
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Oct 30 15:33:11 2009 -0700
+
+ intel: Use GTT mapping when available for swrast.
+
+ This improves piglit quick.tests runtime from 19:33 minutes to 6:06 on
+ my GM45. It should also hide most of the A17 swizzling issues, though
+ they'll still exist when swapping occurs (which is the kernel's problem
+ either way).
+
+commit d63c29ef20b26aa90fb310216011d03253e4f09b
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Oct 30 17:22:58 2009 -0700
+
+ x86: Fix the test for negative pixel count in optimized rgb565 spans.
+
+ There's a bunch of bogus looking stuff the count handling in this code, but
+ this fixes the testcases we have.
+
+commit 21a3a79371c34b20fb3de2af0f031856468bdfed
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Oct 30 15:36:10 2009 -0700
+
+ intel: Fix up z24_x8 depth spans since the texformat merge.
+
+commit 9c3197ef0abc3bf521358ea0c7af0fc6979c82b3
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Oct 30 15:02:21 2009 -0600
+
+ prog/tests: Fix MSVC build.
+
+ Signed-off-by: Brian Paul <brianp@vmware.com>
+
+commit cb132406ded760a622513cd1ab86bf83bb945671
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Oct 30 13:28:44 2009 -0700
+
+ i965: Add an index assert on get_fp_inst array like other compiler arrays.
+
+commit 2c30ee9bd69ed606b984c051748a7cdb34905eeb
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Oct 30 13:20:13 2009 -0700
+
+ i965: Fix BRW_WM_MAX_INSN to reflect current limits.
+
+ Part of fixing bug #24355.
+
+commit 2073006c9566b08888b4338748a843c645bd0db1
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Oct 30 12:26:54 2009 -0700
+
+ intel: Set the texture format in the TFP path.
+
+ This fixes a regression in piglit's tfp test as of
+ 11caea687e3f10ae12d33e44edf84635f73047dd. Additionally, set the texture
+ format for the RGB textures to MESA_FORMAT_XRGB8888 and support it in the
+ hw paths so that hopefully sw fallbacks involving TFP get better alpha
+ behavior.
+
+ The radeon drivers appear to need the same fix.
+
+ Bug #24803
+
+commit b568a2c808cc2258c354bf14f640bb1f6eaba4ba
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri Oct 30 15:08:09 2009 -0400
+
+ r600: remove duplicate line
+
+commit 703a836d4075b0e95633020765000430192986bb
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri Oct 30 15:02:34 2009 -0400
+
+ r600: fill in some missing tex formats
+
+ This improves shadowtex since the component ordering
+ is at least correct now, but I'm not sure how to
+ deal with texturing from a depth surface yet due to
+ differences in depth and color tile layouts.
+
+ Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
+
+commit 57864f6e0450c589059e07534e2af152bbefa75f
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri Oct 30 11:51:24 2009 -0400
+
+ r600: fix a warning, update comments
+
+commit a8ed066858f12290239ddc9165b7c0734ccc0247
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Oct 30 09:39:51 2009 -0600
+
+ progs/tests: fix MSVC build.
+
+ Signed-off-by: Brian Paul <brianp@vmware.com>
+
+commit 5f7d5d3ea3932ef6028b21bb22d8d28dbdd9fa9f
+Author: Andre Maasikas <amaasikas@gmail.com>
+Date: Wed Oct 28 18:02:22 2009 +0200
+
+ r600: use AUTO_INDEX for draw - saves cmd buffer space
+
+ also seems we can use INDX_OFFSET if start != 0
+
+commit 409469fb70682cd819ab405e0f92a4659381cfbe
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Oct 30 09:12:11 2009 -0600
+
+ intel: fix up some XRGB breakage
+
+ We weren't choosing the right XRGB span functions for reading the
+ framebuffer. XRGB formats still aren't turned on yet though.
+
+commit 730a3de9f9774710ad5bbea2f32dc3af3c764732
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Oct 30 08:30:59 2009 -0600
+
+ mesa: fix inverted buffer object test
+
+ Fixes bug 24799.
+
+commit 71cd40bccf8dcbf628a7d7d3f7c877d547338c5a
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Oct 30 08:19:50 2009 -0600
+
+ mesa: fix incorrect format info for MESA_FORMAT_SL8
+
+ Fixes bugs 24798 and 24801.
+
+commit ca9c413647bf9efb5ed770e3a655bc758075aec7
+Author: Michal Krol <michal@vmware.com>
+Date: Fri Oct 30 08:03:10 2009 +0000
+
+ softpipe: Respect gl_rasterization_rules in primitive setup.
+
+commit 4a253431abf43a0638afb43605b44a8742b72a60
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 29 19:12:50 2009 -0600
+
+ intel: update intel_create_renderbuffer(format), add XRGB support
+
+ Pass a gl_format to intel_create_renderbuffer() instead of GLenum.
+ Add cases for MESA_FORMAT_XRGB8888 textures and renderbuffers.
+ However, we don't yet create any renderbuffers or textures with that
+ format. It seems the default alpha value is zero instead of one.
+ Need to investigate that first.
+
+commit f920d496e1b5b01a3ba9bcd7dcff5c19bc109da2
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 29 17:49:50 2009 -0600
+
+ mesa: fix _mesa_texstore_argb8888() for MESA_FORMAT_XRGB8888
+
+ If we hit the general path and call _mesa_make_temp_chan_image() we
+ always want to get a GL_RGBA texture. We were getting a 3-channel
+ GL_RGB texture before and that messed up the memory layout.
+
+commit c243e8dd23e8827afe926ec6314ffdfa15b3f7ab
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Thu Oct 29 19:44:35 2009 -0400
+
+ r600: remove the no rrb messages
+
+commit b924579bd4afaf5daa9df8d4f120f42fa20cafc6
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Thu Oct 29 19:42:12 2009 -0400
+
+ r600: Add support for ARB_depth_clamp
+
+commit d0b6147291fe42d7d733b3d0e5b10c4f4f08030f
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 29 16:30:36 2009 -0600
+
+ intel: remove memcpy_get_tex_image() code
+
+ This has been lifted into core Mesa where it can be used for all drivers
+ that use the _mesa_get_teximage() fallback for ctx->Driver.GetTexImage().
+
+commit fcbf66364032743abeb41a82a5ceaf68a15d900f
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 29 16:29:31 2009 -0600
+
+ mesa: lift memcpy_get_tex_image() code from intel driver into core Mesa
+
+ The code should work for any driver.
+
+commit bde7874317bfbab284397bc611fc71263cbc0975
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 29 16:26:09 2009 -0600
+
+ mesa: refactor _mesa_get_teximage() code
+
+ Break different formats into different functions to make it easier to read.
+
+commit 217a40d8d92d377e73ed1ab5a326703fab779dd1
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 29 16:06:30 2009 -0600
+
+ i965: indentation fix
+
+commit 26d22b094bb7b2f37d4bc8edfeb1b2a9a1c96d88
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 29 16:02:35 2009 -0600
+
+ i965: make brw_sf_prog_key::sprite_origin_lower_left one bit
+
+ Shrinks size of key to 8 bytes from 12.
+ Note that progs/demos/spriteblast.c is still broken.
+
+commit 035b21f365f563cba9bf9b8cb4fef613ceb9d3ac
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 29 15:57:22 2009 -0600
+
+ i965: make brw_wm_prog_key a little smaller
+
+ GLushort is big enough for the swizzle and origin fields.
+ The key could probably be made smaller still by re-ordering things.
+ I'll hold off on that until after the outputswritten64 branch is merged.
+ The key will get a little larger again with the GLbitfield64 fields.
+
+commit 8a9afe71b8d89a2a967cb37f5b5b00d86de387bc
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Oct 29 14:38:44 2009 -0700
+
+ i915: Fix 1D texture mapping in the t coordinate.
+
+ Fixes piglit tex1d-2dborder test.
+
+commit 4b377ae292f75645ef356bd3bfac407230faf73a
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Oct 29 13:35:03 2009 -0700
+
+ i915: Correct and make use of the defines for 32-bit depth texture modes.
+
+ Previously, S8_Z24 depth textures would always be treated as intensity.
+ Fixes piglit depth-tex-modes.
+
+commit 861fec163c1ae7e431956db0a08989d841e2b74e
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 29 15:29:41 2009 -0600
+
+ i965: avoid shader translation on window resize
+
+ If the fragment shader doesn't use FRAG_ATTRIB_WPOS (gl_FragCoord) we
+ don't need to worry about the window size and origin in
+ brw_wm_populate_key().
+
+ This avoids re-generating the i965 shader code when a window is resized.
+
+ Issue spotted by Keith Whitwell.
+
+commit 198ec96d364dabd82952a451eeda7937db383f0d
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 29 15:01:02 2009 -0600
+
+ i965: define, use BRW_MAX_DRAW_BUFFERS
+
+ i965 might support more than 4 color draw buffers. But if not, this protects
+ from breakage if the Mesa limit is raised.
+
+commit 7648c80ac8dd0631c5a0f86ad03347675a48eee6
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 29 15:00:18 2009 -0600
+
+ i965: remove unused var
+
+commit 9ef33b86855c4d000271774030bd1b19b6d79687
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 29 14:53:53 2009 -0600
+
+ i965: don't use context state in emit_fb_write()
+
+ Put the state that we care about in the hash key.
+ Issue spotted by Keith Whitwell.
+
+commit a8d233e509a2c1aada7cd4e83b126ba06cb90565
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 29 14:29:55 2009 -0600
+
+ i965: use macros to get/set prog_instruction::Aux field
+
+ This makes things a bit easier to remember/understand.
+
+commit a0959bcee5df4272db40a56c468f8c7cc299d5ef
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 29 14:16:18 2009 -0600
+
+ i965: minor code reformatting
+
+commit c6164ff155189007c02aabb31549f5f4dc767d1b
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Oct 29 20:03:51 2009 +0000
+
+ mesa: Add MESA_FORMAT_Z24_X8.
+
+commit a7fa56a64b8963e74e93f3bac8ac80813f4a9778
+Author: Zack Rusin <zackr@vmware.com>
+Date: Mon Oct 26 07:43:49 2009 -0400
+
+ st/xorg: fix scaling ov xv data, plus some cleanups
+
+commit f8f40b53a6a4551630e25bfd7f6e12334bb0f3f8
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Oct 29 11:52:28 2009 -0700
+
+ i915: Implement min/max LOD clamping with the hardware.
+
+ This gets us expected behavior for clamping between mipmap levels, and
+ avoids relayout of textures for doing clamping.
+
+ Fixes piglit lodclamp-between.
+
+commit 374447244165b3b79892cb6840a76ea4c2f21f1e
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Oct 29 10:36:22 2009 -0700
+
+ i965: Replace a MIN(MAX()) with CLAMP().
+
+commit ea414e331802e49d59eb2ddd2466d58a383bc931
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 29 11:04:11 2009 -0600
+
+ intel: check for single memcpy() in memcpy_get_tex_image()
+
+commit 92e7c6a2581b5f612a84587500399bb00318c6f0
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Oct 28 16:36:35 2009 -0700
+
+ i965: Fix fallout from ARB_depth_clamp enablement that broke glDepthRange.
+
+ If a backwards glDepthRange was supplied (as with the old Quake no-z-clearing
+ hack), the hardware would have always clamped because we weren't clamping to
+ the min of near/far and the max of near/far. Also, we shouldn't be clamping
+ to near/far at all when not in depth clamp mode (this usually didn't matter
+ since near/far are usually the same as the 0.0, 1.0 clamping you do for
+ fixed-point depth).
+
+ This should fix funny depth issues in PlaneShift, and fixes piglit
+ depth-clamp-range
+
+commit 32ec3f26731ac998b6fda7ce596ec568d6f76eeb
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Oct 28 16:35:16 2009 -0700
+
+ mesa: Mostly fix swrast's ARB_depth_clamp support.
+
+ I'd written a testcase for the hard part of the extension enablement, so
+ naturally the easy stuff was completely broken. There are still issues,
+ as I'm seeing FLOAT_TO_UINT(max_f) == 0x0 when max_f == 1.0, but it gets
+ piglit depth-clamp-range closer to success.
+
+commit 6eb6a0e9cbed6ba5543d54e277f7ac11a0612070
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Oct 26 09:37:53 2009 -0700
+
+ intel: Don't bother MI_FLUSHing on glFlush in the DRI2 case.
+
+ We only need it when drawing to the front buffer, which we never do for
+ DRI2. No significant performance difference, but the flush is definitely
+ gone from the end of every batchbuffer.
+
+commit fb0084e69e3326b49aca8ca004e19acb7f8c8555
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Oct 26 09:15:42 2009 -0700
+
+ intel: Clean up merge leftover from the DRI2 swap throttling.
+
+commit 1596f714d2377036152bd126949c6526fdb06fbf
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 29 10:56:13 2009 -0600
+
+ intel: remove debug code
+
+commit 2b628d43c0a2f9a14ea1e87dbdcac512fca7198a
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 29 10:53:26 2009 -0600
+
+ mesa: consolidate some code in _mesa_GetCompressedTexImageARB()
+
+commit dcb4716802878690908a101b1c196737851d4151
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 29 10:50:10 2009 -0600
+
+ intel: added fast memcpy path for glGetTexImage()
+
+commit 1e2c51702675ad8093b77c3a37ed630e311cceb2
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 29 10:49:38 2009 -0600
+
+ progs/tests: also test GL_BGRA format in getteximage.c
+
+commit 01ee5c63d3a8334f20e3fcaf6d19ba00bddf8268
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 29 10:44:46 2009 -0600
+
+ mesa: move pixels==NULL check in glGetTexImage()
+
+commit 99bbf4b4f55b3b0038cbaadefb92ea4a73af6e0a
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 29 10:05:06 2009 -0600
+
+ mesa: consolidate some code in _mesa_GetTexImage()
+
+commit 67df4fb56bcb72eddcfc187454d95b663cc43578
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 29 09:25:16 2009 -0600
+
+ mesa: move, clean-up _mesa_print_texture()
+
+commit d580c0c8f7cad69b808118ef2aa6161f62f160d8
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 29 09:19:24 2009 -0600
+
+ mesa: fix some tests in subtexture_error_check2()
+
+ Don't use hard-coded compressed block sizes.
+ Update comments and error strings.
+
+commit cf7040594e7987c021903f022784e2c6dae2db36
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 29 09:31:29 2009 -0600
+
+ mesa: remove unneedded is_srgb_teximage() function
+
+ Use _mesa_get_format_color_encoding() function instead.
+
+commit c89f5b6ac86d46af4f0311fa76db6186825fbf1e
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 29 08:28:52 2009 -0600
+
+ glsl: make shader substitution a little better
+
+commit 41892e9b17e4e252ce1e73bc2dbc9d24eb13001b
+Author: David Heidelberger <d.okias@gmail.com>
+Date: Thu Oct 29 10:14:39 2009 -0600
+
+ st/mesa: fix PIPE_FORMAT_X8Z24 <> MESA_FORMAT_X8_Z24 conversion
+
+ Signed-off-by: David Heidelberger <d.okias@gmail.com>
+ Signed-off-by: Brian Paul <brianp@vmware.com>
+
+commit 10a509564fa13f036b1b177fafae4337928a39a9
+Author: David Heidelberger <d.okias@gmail.com>
+Date: Thu Oct 29 09:56:12 2009 -0600
+
+ st/mesa: Add conversion from PIPE_FORMAT_X8Z24_UNORM to MESA_FORMAT_S8_Z24.
+
+ Fix glxgears and openarena for Nouveau (no more asserts and crash).
+
+ Signed-off-by: David Heidelberger <d.okias@gmail.com
+ Signed-off-by: Brian Paul <brianp@vmware.com>
+
+commit c2f5eb71485e0d4d717bad7ab94fdb4a75f7e38f
+Author: David Heidelberger <d.okias@gmail.com>
+Date: Thu Oct 29 09:54:31 2009 -0600
+
+ st/mesa: Fix nouveau glxinfo after merging texformat-rework.
+
+ Signed-off-by: David Heidelberger <d.okias@gmail.com>
+ Signed-off-by: Brian Paul <brianp@vmware.com>
+
+commit 1f1bfe8cb5c74ee8708fb717a19d8389c9fadb80
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 29 07:54:44 2009 -0600
+
+ mesa: move declaration to prevent unused var warning
+
+commit 9927d7f31c5c46c7b061cf8e13324ac4a837c4b7
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Fri Oct 2 15:32:04 2009 +0800
+
+ mesa: Fix compilation errors and warnings when features are disabled.
+
+ Some of the fixes are cherry-picked from opengl-es branch.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 59798cd8864b601e035cf2414517cd90d24ed786
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Thu Oct 29 14:59:42 2009 +0800
+
+ mesa/main: Make FEATURE_texture_s3tc follow feature conventions.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 20e20fc5afa7525e247fd607e04d9adfffe730b4
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Thu Oct 29 14:14:04 2009 +0800
+
+ mesa/main: Make FEATURE_texture_fxt1 follow feature conventions.
+
+ Also remove the unused initialization and GLchan fetch functions.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 920f023e8b3a5c2af0877530dc1707d2e50c5d4b
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Thu Oct 29 15:19:59 2009 +0800
+
+ mesa/main: Never return NULL in _mesa_get_texstore_func.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit e2131e017184a595a735e7ea1eced1552b8a7d22
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 29 07:47:34 2009 -0600
+
+ radeon: fix incorrect Z format in radeon_alloc_renderbuffer_storage()
+
+ And update error message.
+
+commit da1fb3be8293df9f89aaec726f32d73e03d57fb6
+Author: Cooper Yuan <cooperyuan@gmail.com>
+Date: Thu Oct 29 20:20:59 2009 +0800
+
+ r300g: Fix bytes_per_line calculation error while displaying surface
+
+commit 59b29516af2d4d8f83723559921a3709eb77a7d2
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Wed Oct 28 22:14:01 2009 -0600
+
+ swrast: added braces
+
+commit c6bd5fae0c2af1256ad552d583d9659712807214
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 28 21:52:37 2009 -0600
+
+ mesa: remove old, unused #define
+
+commit bd36ca9b76bf7cba96fdef71b2ea73d3fa8dfd26
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 28 21:46:37 2009 -0600
+
+ mesa: re-remove s3v and trident driver files
+
+ These were removed from master but a few files came back from the
+ texformat-rework branch.
+
+commit 960d49b387ff4b64f802097c5013beee4de3649d
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 28 21:43:50 2009 -0600
+
+ mesa: move some gl_texture_image and gl_renderbuffer fields around
+
+commit bc143b1a9ffc16af27b2e7183ca3ec59ad5a7c89
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 28 21:25:56 2009 -0600
+
+ mesa: minor code movement
+
+commit 1f196b786d6bd0c6a5dbdc638574ff716cc3d4de
+Merge: 0ea575d 086f9fc
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 28 21:24:11 2009 -0600
+
+ Merge branch 'texformat-rework'
+
+ Conflicts:
+ src/mesa/drivers/dri/radeon/radeon_fbo.c
+ src/mesa/drivers/dri/s3v/s3v_tex.c
+ src/mesa/drivers/dri/s3v/s3v_xmesa.c
+ src/mesa/drivers/dri/trident/trident_context.c
+ src/mesa/main/debug.c
+ src/mesa/main/mipmap.c
+ src/mesa/main/texformat.c
+ src/mesa/main/texgetimage.c
+
+commit 086f9fc0e2aef27f54eda87c733685500555bf20
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 28 19:46:26 2009 -0600
+
+ swrast: fix RGB, RGBA texturing code
+
+ Fix backward component ordering for RGB textures.
+ Only optimize RGBA texture case if running little endian. This restriction
+ could be lifted with a little work.
+
+commit 88bb4b593576a2977b2fe36794bd4d3dbc72063e
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 28 19:41:24 2009 -0600
+
+ swrast: check for single texture unit in _swrast_choose_triangle()
+
+commit 0103d7a47a6f42d8bb7199b5bd55097e3b0b92a4
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 28 19:40:56 2009 -0600
+
+ swrast: clean up and remove dead code in triangle functions
+
+commit 1e7517f059b1f3601502a199b05453eabfe56cdb
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 28 19:38:12 2009 -0600
+
+ swrast: fix texel decoding in opt_sample_rgba_2d()
+
+commit 7ac233ec15743763996e59c8b283f7c2e78a7210
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 28 19:33:48 2009 -0600
+
+ mesa: choose texture format in _mesa_get_fallback_texture()
+
+commit 0ea575d721821262a862ceef010db9b1a8b4a6d9
+Merge: 24c61c8 96128fd
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 28 18:27:25 2009 -0600
+
+ Merge branch 'mesa_7_6_branch'
+
+commit 24c61c8c2e2747f73b963a7019485eb5105b853c
+Author: Zack Rusin <zackr@vmware.com>
+Date: Sun Oct 25 19:47:41 2009 -0400
+
+ st/xorg: fix src coordinates in the video acceleration paths
+
+commit 660acd60d00366c97fbe7caf3995a75ce935a19b
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Oct 28 15:36:53 2009 -0400
+
+ r600: add occlusion query support
+
+ Based on initial patch from Stephan Schmid <stephan_2303@gmx.de>.
+
+ Basic idea is to dump the zpass count at the start and end of the query
+ and subtract to get the total number of visible fragments. HW writes
+ alternating qwords for up to 4 DBs. On the first pass, we start at
+ buffer address + 0; on the second pass, we start at buffer address + 8
+ (bytes). The resulting buffer at the end of the query looks like:
+
+ qw[0]: db0 start
+ qw[1]: db0 end
+ ...
+ qw[6]: db3 start
+ qw[7]: db3 end
+
+ The MSB of each qword is the valid bit and the lower 63 bits are
+ the zpass count for that DB.
+
+ OQ on RV740 is disabled at the moment as it only seems to report
+ results for half of its DBs. This needs further investigation.
+
+ Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
+
+commit f3d8d534e6f1d102d71338d58fbaa98c382f1858
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Oct 28 12:11:52 2009 -0700
+
+ r300g: Use u_trim_pipe_prim to prevent lockups from incorrect vert counts.
+
+ Adapted from osiris' version on his tree.
+
+commit 23d8d15bedb7178bedde9b994be3925a160c193d
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Oct 28 11:58:13 2009 -0700
+
+ r300g: Keep texture formats organized.
+
+commit e7c8a2763855c35af1d141b67551b364e6579051
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sun Oct 18 18:06:51 2009 +0200
+
+ r300g: add some texture formats
+
+commit 6007e2e0085d9131b22dc8a98d7500a66a0e4c97
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Oct 28 11:47:24 2009 -0700
+
+ r300g: Clear up a bit of the buffer reference stuff.
+
+ Still need to actually get reference info from winsys somehow. Doing added
+ buffers is easy, but knowing whether a flush has happened is a bit tricky.
+
+commit 81c51bb67f97c60e21a5e7cf87e154bb46ee481b
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Oct 28 10:02:23 2009 -0700
+
+ r300g: Fix XXX.
+
+ Nothing strange here.
+
+commit bcfde429139476c2d04baddaf671651cfc860145
+Author: Marek Olšák <maraeo@gmail.com>
+Date: Wed Oct 28 02:43:51 2009 +0100
+
+ r300g: fix emitting the stencil-ref and alpha-ref values
+
+ Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
+
+ DSA really needs its head examined someday. ~ C.
+
+commit a1d726aae8fcacfa1eb1d76ce9c46adaafeaf4a4
+Author: Marek Olšák <maraeo@gmail.com>
+Date: Wed Oct 28 02:21:49 2009 +0100
+
+ r300g: fix the WRAP_T mode when using 1D textures
+
+ Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
+
+commit 0e44884aada4e4bd6384245d9ae065da5aca7f3d
+Author: Marek Olšák <maraeo@gmail.com>
+Date: Wed Oct 28 02:19:52 2009 +0100
+
+ r300g: fix blending and do some optimizations
+
+ Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
+
+commit c451011d99a33350d70766f902ad09a0b606f7c2
+Author: Marek Olšák <maraeo@gmail.com>
+Date: Wed Oct 28 01:38:40 2009 +0100
+
+ mesa/st: fix crash in st_texture_image_copy
+
+ Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
+
+commit 7d56caabe45e91a67096804c7e341d04d01db7aa
+Merge: 182ff3e 0219cd0
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 28 11:33:51 2009 -0600
+
+ Merge branch 'mesa_7_6_branch'
+
+ Conflicts:
+
+ src/mesa/shader/lex.yy.c
+ src/mesa/shader/program_lexer.l
+
+commit 182ff3e47a2d18917cdf3344c2ce95bd0a460784
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Oct 28 11:05:32 2009 +0000
+
+ llvmpipe: Make sure the JIT engine and X86 target are linked on MSVC build.
+
+ Basically mimic the llvm 2.6 way of linking execution engines and
+ targets.
+
+commit 5eba607db6c50181bb12be5aee3735aafb40372e
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Oct 27 20:45:53 2009 +0000
+
+ util: Drop return value from cpuid().
+
+commit 0426227b68be9ad4ab7ed3591e77f31f3e21fbec
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Oct 27 20:29:19 2009 +0000
+
+ util: Fix cpuid on MSVC.
+
+commit 095e66f695ce1d869a824d9e22f63b54c95ca0ac
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Oct 27 20:09:53 2009 +0000
+
+ llvmpipe: Implement round() for MSVC.
+
+commit 6bc1e9fd6989483fbc1c94730a8014b4c62b242c
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Oct 27 21:39:44 2009 -0600
+
+ mesa: consolidate _mesa_CompressedTexSubImage[123]DARB() functions
+
+commit f3c29bd74f01370a6bbff1329966ca9d1864315f
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Oct 27 21:03:44 2009 -0600
+
+ mesa: consolidate CompressedTexSubImage1/2/3DARB() error checking
+
+commit 9519603f7405a1043ea39bf1dfaf4c88529ce2d1
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Oct 27 21:15:36 2009 -0600
+
+ mesa: simplify teximage code with get_current_tex_object()
+
+commit dd5691e8020df30c47e6d0e43a68b4f301ea4ea9
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Oct 27 20:10:30 2009 -0600
+
+ mesa: code refactoring to eliminate a switch stmt in bind_buffer_object()
+
+commit b44304efdee562b294e542ea0e47d6c758816ee8
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Oct 27 20:09:33 2009 -0600
+
+ glsl: avoid redundant state changes in _mesa_use_program()
+
+commit 2947d1420270476730711892909c3683bb6c5bff
+Author: Zack Rusin <zackr@vmware.com>
+Date: Sun Oct 25 12:19:38 2009 -0400
+
+ st/xorg: fix xv
+
+commit 52374d7e4cc183fb783a7012b026d4254ca43b14
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Oct 27 17:05:08 2009 -0600
+
+ radeon: add case for MESA_FORMAT_X8_Z24 in radeon_create_renderbuffer()
+
+commit f8155ef51f10bd7f084ea676f7b70af8ef429caa
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Oct 27 17:01:26 2009 -0600
+
+ intel: silence warning
+
+commit 21f8d31cfd9612fdf2bd39901472a6f3f11ddfda
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Oct 27 16:59:23 2009 -0600
+
+ mesa: debug code for glBlitFramebuffer()
+
+commit 507cf530b951b5a65999dd4ed7529824bd035087
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Oct 27 16:55:31 2009 -0600
+
+ via: silence unused var warnings
+
+commit 3c716669211c00d106ded2df342b4a2525f4795b
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Oct 27 16:37:25 2009 -0600
+
+ intel: minor clean-up, comments
+
+commit 7fd8c6ca2a6e94d60c02e9c271b00c565c2464cb
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Oct 27 16:37:00 2009 -0600
+
+ intel: use _mesa_get_current_tex_unit() helper
+
+commit 05ec586851290698730990cd810e1fe4d74d2749
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Oct 27 14:16:59 2009 -0600
+
+ mesa: s/Bilt/Blit
+
+commit 403181b91355c733883d0a6d7f48440212226d45
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Oct 27 13:59:32 2009 -0600
+
+ mesa: more texture debug code changes, improvements
+
+commit 58a4328e96160ad6c529edb321cdc5ea929a3f02
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Oct 27 13:52:37 2009 -0600
+
+ mesa: minor code clean-up in client_state()
+
+commit 72cb441c2feb7e5f11fc84a2d9f551da94ce2f16
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Oct 27 13:51:51 2009 -0600
+
+ mesa: avoid redundant state setting in glClientActiveTexture
+
+ Plus add code for verbose/debugging.
+
+commit 33531614de94d396d10a3bed4a020abe2e2a40b5
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Oct 26 17:00:48 2009 -0600
+
+ intel: fix comment, formatting
+
+commit 3bee7610bef4c201a93e0ad8f670acc1b324e71d
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Oct 27 16:46:07 2009 -0600
+
+ progs/tests: added new blitfb.c test
+
+ Tests glBlitFramebuffer() between two texture/renderbuffer surfaces.
+ In particular, blit from level[1] of a cube map face to a 2D texture.
+
+ Used to find/fix bug in intel do_copy_texsubimage().
+ See commit aef1ab1073f3e30d699b99dae17518ed48b57c72
+
+commit 3e45788d5dd7af4635988d8fd9f1bfaa77d1dd9c
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Oct 27 16:39:01 2009 -0600
+
+ intel: fix src offset bug in do_copy_texsubimage()
+
+ Use src->draw_offset intead of zero. Zero usually worked, except when
+ the src renderbuffer is actually a texture mipmap level higher than zero.
+ Fixes progs/test/blitfb.c test.
+
+commit 4c2a7bc4380017bec53a88cd9a8385cad73a9f0d
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Oct 27 16:28:39 2009 -0600
+
+ glsl: fix memory leak
+
+ A slightly modified version of a patch from Vinson Lee.
+
+commit 4f9f5a78408dbd86b2f9c25ee8a15581b9122fcc
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Oct 27 10:26:09 2009 -0700
+
+ i915: Fix driver for the miptree x/y offset changes.
+
+ Bug #24734.
+
+commit e9b17d6477f99838fc7f261ea1b8d47eea12f42f
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Oct 27 09:31:31 2009 -0600
+
+ i965: be clear that the Fallback field is a boolean, not a bitfield
+
+commit 755161b88843f3cfead9a02e076d1a04687d9082
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Oct 27 09:27:44 2009 -0600
+
+ Revert "i965: fix hacked Fallback usage in brw_prepare_vertices()"
+
+ This reverts commit 8810b8f67135185d1044746bb861fe2ff997626c.
+
+ It turns out the i965 driver uses the intel->Fallback field as a boolean,
+ not as a bitmask. The intelFallback() function is a no-op in the i965
+ driver. It would have been nice if there were some comments about this.
+ I'll fix that next...
+
+commit b7ab7d362764bfc646e7d801fdba5c7c79c7c04f
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Oct 27 09:13:27 2009 -0600
+
+ draw: Fix memory leak.
+
+ This would only be hit if we got and invalid index_size.
+
+commit b73c4ad98b74000b7e286ecbd26110dfb40d8bcc
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Oct 26 10:58:47 2009 -0600
+
+ docs: document Intel glBitmap fixes
+
+commit fe818ea797033d77b814ee88c5b4e220226556ab
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Oct 26 10:42:45 2009 -0600
+
+ intel: fix GL state bugs in intel_texture_bitmap()
+
+ Need to push texture state and polygon state too.
+ Fixes rendering glitches seen in progs/demos/engine when changing
+ the rendering mode (wireframe, texture modes).
+ This makes bitmap rendering a little slower, unfortunately.
+
+commit 7d967b9b7c08aea2a471c5bf6aced8bfafdae874
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Wed Oct 28 00:30:45 2009 +0100
+
+ nv50: activate more lanes in a warp
+
+ Some cards have crippling defaults set and use only 4
+ of 32 lanes. This should activate 16 on these.
+ Those that allow 32 by default should still do so.
+
+ Found out by Marcin Kościelnicki.
+
+commit 8a1f239ca9ccb61cd6713d1138e24492c84163c5
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Oct 27 17:35:06 2009 +0100
+
+ st/xorg: Adopt to new dirty clip rect type
+
+commit 50e113e375b4ecfdf5b60ccce7bbcdb1c5f2ca11
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Oct 26 15:03:31 2009 -0600
+
+ progs/tests: Fix MSVC build.
+
+commit ad0975f7011222f8da4fda5cc4a6d45468445ab1
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Oct 26 15:11:11 2009 +0000
+
+ scons: Define _USE_MATH_DEFINES on MSVC.
+
+commit 87127c83dc1def817c767abbb96e891ff2314ac2
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Oct 26 09:05:58 2009 -0600
+
+ windows: added remap.[ch] to project files
+
+ Untested. Other updates may be needed to reflect the current source files.
+
+commit c9d715da3936149b0d4ca9fef2f8b235bf9389b7
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Sun Oct 25 20:20:45 2009 -0700
+
+ mesa: Add remap.c to SConscript.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit b5fb60041edfa62c16e918829df22c4a52c09da9
+Author: Zack Rusin <zackr@vmware.com>
+Date: Sat Oct 24 01:43:47 2009 -0400
+
+ st/xorg: initialize indexes before reswizzling for yuv
+
+commit 0b069d648b787636cc57149f47a06fb16f7629ab
+Author: Zack Rusin <zackr@vmware.com>
+Date: Sat Oct 24 01:29:27 2009 -0400
+
+ st/xorg: stop overflowing yuv buffers
+
+commit a9f8baf00b264a9b370ecb611334af3063674ce5
+Author: Zack Rusin <zackr@vmware.com>
+Date: Sat Oct 24 01:05:40 2009 -0400
+
+ st/xorg: add yuv vertex shader
+
+ plus some general fixes
+
+commit 6b8ce4cc4f9acdd9227e26a812dd911f45b623a5
+Author: Zack Rusin <zackr@vmware.com>
+Date: Fri Oct 23 16:18:10 2009 -0400
+
+ st/xorg: add yuv shaders
+
+commit 5241b9568c1f97eb9aca8be5eb7a3ef659d9917f
+Author: Marek Olšák <maraeo@gmail.com>
+Date: Mon Oct 26 01:47:55 2009 +0100
+
+ r300g: read occlusion query results from both Z pipes on RV530
+
+commit 827002f5ff990f8676385583275d6b8090abfb7a
+Author: Marek Olšák <maraeo@gmail.com>
+Date: Mon Oct 26 01:46:21 2009 +0100
+
+ r300g: add cubemap support
+
+ Also, set a pitch for rectangles only.
+
+commit d8ded352ec45696e88efe6d52a375bbf541354e9
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Oct 25 18:10:45 2009 -0600
+
+ progs/tests: disable blending while drawing text
+
+commit 11caea687e3f10ae12d33e44edf84635f73047dd
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Oct 25 18:06:18 2009 -0600
+
+ mesa: choose texture format in core mesa, not drivers
+
+ Call the ctx->Driver.ChooseTextureFormat() function from core Mesa's
+ _mesa_[Copy]TexImage functions instead of in the driver functions.
+ One less thing for drivers to do.
+
+commit 355b5bde5056297f4f1636850449b91626958408
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Oct 25 17:32:56 2009 -0600
+
+ mesa: remove _mesa_compressed_texture_size_glenum() stub
+
+commit 20c6c5853261b31ecd50d58e0aae9b92f25e41db
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Oct 25 17:25:46 2009 -0600
+
+ mesa: remove _mesa_compressed_row_stride()
+
+commit e3f2efc4f14d6f0d06560d2acfac73628f5a74a6
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Oct 25 17:23:37 2009 -0600
+
+ mesa: remove calls to _mesa_compressed_row_stride()
+
+commit c83b7587608e1791e092739cc9753ad0e895f25d
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Oct 25 17:21:25 2009 -0600
+
+ glide: remove _mesa_compressed_row_stride() calls
+
+ And fix incorrect first parameter.
+
+commit 253e7fee5dc7f0872987b214a6fa162db5e2aa19
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Oct 25 17:21:11 2009 -0600
+
+ mesa: remove _mesa_compressed_row_stride() calls
+
+commit 2594168e9f3cdc4ac53c925486491167837cda30
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Oct 25 17:20:13 2009 -0600
+
+ mesa: begin removing _mesa_compressed_row_stride() calls
+
+ Use equivalent _mesa_format_row_stride() function instead.
+
+commit 82bcc1c5d27b825db7f002c3c183bd1dc7833438
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Oct 25 17:15:02 2009 -0600
+
+ mesa: simplify texture_row_stride() helper
+
+commit 07ad6393cb31d8f1f086f9c46705334ef9cf25f6
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Oct 25 17:07:06 2009 -0600
+
+ mesa: fix-up error checking related to compressed texture block size
+
+commit 54bb414e00a4daedbe530b9933bc11bac4ae7149
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Oct 25 16:59:08 2009 -0600
+
+ mesa: clean-up, simplify compressed texture size checking
+
+commit 3a49497f102f2b64a8755d3cf65b7c0386e95aac
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Oct 25 21:11:54 2009 +0000
+
+ gallium: Move enum pipe_error into p_defines.h.
+
+ It's really just another define. No need for its own header.
+
+commit 88e08d7c6de89279c737dbf5139492b39f96dc43
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Oct 25 12:27:14 2009 +0000
+
+ llvmpipe: Human friendlier sampler state dump.
+
+commit 47f0529806cff6be84ce4d3637aad4f2e3e0693a
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Oct 25 12:26:39 2009 +0000
+
+ util: Human readable output of texture states.
+
+commit 5fcb75758c50bd10e8bd730e55bcbf73614eeb60
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Oct 25 11:49:01 2009 +0000
+
+ llvmpipe: Dump the sampler state of the shader key.
+
+commit e4c5e01c109e51baaad23e90d08e8543b0fd6c07
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Oct 25 11:48:17 2009 +0000
+
+ llvmpipe: Immediate multiplication.
+
+commit e1342f871b2ec1ed0293f564540d03aaa11b1720
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Oct 25 09:51:57 2009 +0000
+
+ llvmpipe: Fast path for sampling rgba8 textures with linear filtering.
+
+ Implement Keith's suggestion of doing most of the sampling with 16x8
+ and 8x16 AoS, and only doing the conversion to floating point SoA at
+ the very last step.
+
+ Improves gloss performance by 10%.
+
+commit f3893ca9c8bfdba9323ef2fc179ac203e85eda70
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Oct 25 09:16:38 2009 +0000
+
+ llvmpipe: Make lerping work for 8.8 fixed point values.
+
+commit bfd7a9ca967e5521fb3847db8615127c3ee7b9b3
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Oct 25 09:09:59 2009 +0000
+
+ llvmpipe: New module to help make assertions about formats.
+
+commit 47d241be9ff89b65b978dd4fe4ea7473e07fa2c4
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Oct 25 09:09:23 2009 +0000
+
+ llvmpipe: New function to unpack rgba8 formats into 4 x u8n AoS.
+
+commit abff4214ef870f26d5c64adac1235b9e9438a51e
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Oct 25 09:06:05 2009 +0000
+
+ llvmpipe: Split the format swizzling step from the unpacking.
+
+commit 8d80fd3f554cab2db962a903ce4eaba7c8fed7ac
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Oct 25 09:03:50 2009 +0000
+
+ llvmpipe: Allow different signs when unpacking.
+
+commit b544ab72994a7eda1e8c17fa217213ff3713dd99
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Oct 25 09:03:18 2009 +0000
+
+ llvmpipe: Add inlines to quickly generate types matching the native SIMD register bitwidth.
+
+commit a55b305c5b3be3fed8112d44878e712cf09303ce
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Oct 22 22:44:32 2009 +0100
+
+ llvmpipe: Merge lp_build_load_rgba_soa into lp_build_sample_texel.
+
+commit bc93e9181cf179a797679d30cd1a3a563e1756c0
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Oct 22 22:37:06 2009 +0100
+
+ llvmpipe: Factor our pixel offset computation.
+
+commit fedd054d534206a5ebd6fed204aa97cbb5053b3a
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Oct 22 21:16:26 2009 +0100
+
+ llvmpipe: Share testing infrastructure with lp_test_format.
+
+commit 17afb6dd6959a3df692a6a49e6370e81ebe00038
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Oct 22 21:06:03 2009 +0100
+
+ llvmpipe: Eliminate lp_build_store_rgba_aos.
+
+commit 232b5864647d4c8d6cebb0845c046f1612e6054d
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Oct 22 20:58:35 2009 +0100
+
+ llvmpipe: Eliminate lp_build_load_rgba_aos.
+
+commit b4f6907b8d8a966df56c06155049c52dadea105f
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Oct 22 20:42:16 2009 +0100
+
+ llvmpipe: Move a few format/sampling functions into better space.
+
+commit c2df759cd73e281c4698c717e0ab89757a7affd5
+Author: Marek Olšák <maraeo@gmail.com>
+Date: Sun Oct 25 09:57:53 2009 +0100
+
+ r300g: fix redefining mipmaps and fetching from them
+
+commit 118dfe16887d1ec4d3b96d49b76fffa0d2924132
+Author: Marek Olšák <maraeo@gmail.com>
+Date: Sun Oct 25 05:05:27 2009 +0100
+
+ r300g: added support for 3D textures
+
+ Mipmaps not tested. Also, I am not sure why piglit/texturing/tex3d needs
+ to have color tolerance +-1 to pass. The classic Mesa driver doesn't
+ need that.
+
+commit d6ee86c77a8e1543557fd64c1f1c354baa0a8ad8
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Oct 24 16:49:57 2009 -0600
+
+ mesa: remove _mesa_compressed_texture_size()
+
+ Use _mesa_format_image_size() instead.
+
+commit 4c00981b22b28141af1442e5a679d0923b4358ae
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Oct 24 16:34:18 2009 -0600
+
+ mesa: remove ctx->Driver.CompressedTextureSize() hook
+
+ It always just called _mesa_compressed_texture_size() anyway.
+
+commit 35efc6a1b3e3dada2cf9bd3a503c1b84f4bcb7f5
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Oct 24 16:28:24 2009 -0600
+
+ mesa: change compressed texture size calls
+
+ Replace calls to ctx->Driver.CompressedTextureSize with calls to
+ _mesa_format_image_size. The former always called the later.
+
+commit bea245ac2fecc312caec8f4af53174e4fb180103
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Oct 24 12:04:09 2009 -0600
+
+ mesa: minor clean-ups in _mesa_store_compressed_texsubimage2d()
+
+commit 5c8282769601ba30c00f04dac15d1dad6d67db6e
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Oct 24 11:52:31 2009 -0600
+
+ mesa: simplify _mesa_compressed_row_stride(), _mesa_compressed_image_address()
+
+ _mesa_compressed_row_stride() can go away soon.
+ _mesa_compressed_image_address() can be generalized and moved to formats.c
+
+commit 1ad9671db7bd60fa84266f30f46555b4e45bcb08
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Oct 24 11:41:25 2009 -0600
+
+ mesa: s/GLuint/gl_format/
+
+commit 2c3787f5130f79c3adbb9e8e1ace8935c919876f
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Oct 24 11:34:27 2009 -0600
+
+ mesa: move assertion after declaration
+
+commit d255aaf54f9a4398247698408bd45698b1cefe58
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Oct 24 11:33:58 2009 -0600
+
+ mesa: remove hard-coded block sizes
+
+commit 7b16c43e436715bef9118fdb28ca8a9ad91b1e66
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Oct 24 11:33:10 2009 -0600
+
+ mesa: added _mesa_get_format_block_size()
+
+commit 51bc12d62338ad1874c437d692e1182c0bf3d4cd
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Oct 24 11:08:01 2009 -0600
+
+ progs/tests: fix sub texture offsets
+
+commit bee6794eb126bc8af87726a2456d0ebc36eb721d
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Oct 24 08:43:16 2009 -0600
+
+ mesa: added _mesa_get_format_name()
+
+commit eb732b1bbb4e4bdd018ee9a1653a62fd8dce2d55
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Oct 24 08:41:08 2009 -0600
+
+ mesa: additional comments in format code
+
+commit 94a63dccdd79268cf37587c93e3dec0d02dad457
+Author: Joakim Sindholt <opensource@zhasha.com>
+Date: Sat Oct 24 02:38:28 2009 +0200
+
+ r300g: fix scons build yet again
+
+commit 46a784b7fd2dcab97c26d5ca02fb8f74945ba157
+Merge: 26f1ad6 dc8b139
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Oct 23 18:38:43 2009 -0600
+
+ Merge branch 'mesa_7_6_branch'
+
+commit 26f1ad65b988fe55ae12a99994e4c63aaab899a0
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Oct 23 18:15:55 2009 -0600
+
+ mesa: simplify att->CubeMapFace assignment
+
+commit 346250b190b023b6fbd2bde5ce3ad94a8d544e20
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Oct 23 16:31:48 2009 -0600
+
+ mesa: refactor, new print_shader_info()
+
+commit 81a4d34f07d95e6a4bf6ab105efbee4fed116e55
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Oct 23 13:20:03 2009 -0600
+
+ mesa: rework error checking code for glGetCompressedTexImage()
+
+ Do all error checking in new getcompressedteximage_error_check() func.
+ Move some additional PBO checks out of the driver fallbacks into the
+ error checking functions.
+
+commit d66965c9a1e932444c2538b4221df07fea4c557f
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Oct 23 13:06:13 2009 -0600
+
+ mesa: remove misplaced VERBOSE_TEXTURE tests
+
+commit 9b50ceac03975e75940713313363df1bdd5c19dc
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Oct 23 11:34:14 2009 -0600
+
+ mesa: more detailed error messages in fbo code
+
+commit b17c885a8aa88ef06f384330d59aeb23b73350bb
+Author: Zack Rusin <zackr@vmware.com>
+Date: Fri Oct 23 09:35:36 2009 -0400
+
+ st/xorg: fix text with component alpha rendering
+
+commit 49d402e275cdaf46de8db5a475dfe00509141195
+Merge: bfd51dc 2d17dbf
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Oct 23 14:19:52 2009 -0700
+
+ Merge remote branch 'origin/mesa_7_6_branch'
+
+ Conflicts:
+ src/mesa/drivers/dri/intel/intel_fbo.c
+ src/mesa/drivers/dri/intel/intel_mipmap_tree.c
+ src/mesa/drivers/dri/intel/intel_mipmap_tree.h
+ src/mesa/drivers/dri/intel/intel_tex_copy.c
+ src/mesa/drivers/dri/intel/intel_tex_image.c
+
+commit bfd51dc34d45ba584683c70b1f854a513d9104d3
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jul 7 19:33:55 2009 -0700
+
+ i965: Annotate _NEW_COLOR dependency for brw_update_renderbuffer_surface().
+
+commit 683722740c85fb6b8c0a930e8a4dce51e1709464
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Fri Oct 23 22:00:06 2009 +0200
+
+ nv50: do SIGN_SET as one instruction
+
+commit 99e728a13ea8518efc7e27242093b43470f102d6
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Fri Oct 23 21:57:42 2009 +0200
+
+ nv50: fix saturation outside of tx_insn case
+
+commit ad67326f12c0d6298cffc0fc4e421ddc02b3cb07
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Fri Oct 23 21:38:37 2009 +0200
+
+ nv50: allow all 127 TEMP regs
+
+ We should really learn to not waste so many though.
+
+commit c738c9ab67859f3d4412417333d0f023dd18dc19
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Fri Oct 23 22:17:44 2009 +0200
+
+ nv50: fix address reg code
+
+ Contained some rather obvious thinking errors before,
+ and didn't consider offsets from TGSI ADDRESS regs.
+
+commit 255a90a7bd829904554889dd19a16d86fc7f9274
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Fri Oct 23 20:05:31 2009 +0200
+
+ nv50: add depth texture formats, and a few others, too
+
+commit 952bf63e2cf442504ef89b0b1d276da0d52b21d4
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Oct 23 13:49:02 2009 -0600
+
+ progs/tests: Fix MSVC build.
+
+commit d9014a13e72b6682a959217d38050f3252628edb
+Author: Patrice Mandin <patmandin@gmail.com>
+Date: Fri Oct 23 18:42:21 2009 +0200
+
+ nouveau: nv30: Relax some limits. We can render to z24s8 buffer even if color buffer is 16 bits.
+
+commit c84a05676497ff7263f3ea8203b868071c4f678f
+Author: Patrice Mandin <patmandin@gmail.com>
+Date: Fri Oct 23 18:40:13 2009 +0200
+
+ nouveau: nv30: use r5g6b5 as z16 format
+
+commit 6e99e6ddbf488f6955e34ef0bc438fdcb4d90f74
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Fri Oct 16 16:04:06 2009 +0800
+
+ glapi: Always build libglapi.a.
+
+ This is made possible by making glapioffsets.h and glapidispatch.h
+ internal headers of glapi. They should only be included indirectly
+ through dispatch.h by mesa.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 22884db174b9fb0736cec1c6a192f8b9a97500c1
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Fri Oct 16 16:01:57 2009 +0800
+
+ glapi: Move dispatch marcos to glapidispatch.h.
+
+ dispatch.h is kept as a wrapper to glapidispatch.h.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 3d16088ff0b369c877e2aae87ddc7322d70ecc7d
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Thu Oct 8 11:52:11 2009 +0800
+
+ mesa/dri: Remove extension_helper.h.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 17ef1f6074d6107c167f1956a5c60993904c0b72
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Thu Oct 8 10:33:57 2009 +0800
+
+ mesa: Enable remap table in core.
+
+ This enables the remap table in core. driInitExtensions is adapted to
+ use the remap table. All uses of extension_helper.h are replaced by
+ remap_helper.h. The chicken-egg problem of the DRI drivers is also
+ solved.
+
+ It is now also possible to pass NULL extensions to driInitExtensions.
+ It will cause driInitExtensions to map all known functions. This
+ functionality is used by software drivers and EGL_i915.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit d7d3fb925b6993740d0126d0d7e678c27f5f1850
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Thu Oct 8 10:33:32 2009 +0800
+
+ mesa/main: Add support for remap table.
+
+ This commit only adds the source files. It is supposed to replace the
+ remap table in DRI drivers.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit bec5230a1ff3998d0f184fc2b7437b51082c329f
+Author: Zack Rusin <zackr@vmware.com>
+Date: Fri Oct 23 01:05:23 2009 -0400
+
+ st/xorg: lots of fixes related to compositing
+
+ fixes transformations, rendering with multiple bound textures, xrender
+ matrix conversions plus some cleanups
+
+commit d4d4733e6c312f2a8e9977b06fc554904407c456
+Author: Andre Maasikas <amaasikas@gmail.com>
+Date: Fri Oct 23 16:44:31 2009 +0300
+
+ r600: remove duplicate stride setting
+
+ Stride is set already in r700SetVertexFormat and there it works
+ correctly for 0 also
+
+commit 738b394769bb95036635f7a00a1ef08890c5be63
+Author: Andre Maasikas <amaasikas@gmail.com>
+Date: Fri Oct 23 14:25:09 2009 +0300
+
+ r600: for position invariant programs reading vert_pos is not always known at this point
+
+commit da253319f9e5d37d9c55b975ef9328545a3ac9b4
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Oct 23 14:50:02 2009 +0100
+
+ gallium: remove extended negate also, and also the ExtSwz token
+
+ Likewise, the extended negate functionality hasn't been
+ used since mesa switched to using tgsi_ureg to build programs,
+ and has been translating the SWZ opcode internally to a single MAD.
+
+commit 8a571b809accce1c36907ea616a893b920b752e5
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Oct 23 14:38:30 2009 +0100
+
+ cell: typo from ExtSwizzle commit
+
+commit b9cb74c7f826dfd320f5e5b54aa933898f7ddd3d
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Oct 23 14:31:24 2009 +0100
+
+ gallium: remove the swizzling parts of ExtSwizzle
+
+ These haven't been used by the mesa state tracker since the
+ conversion to tgsi_ureg, and it seems that none of the
+ other state trackers are using it either.
+
+ This helps simplify one of the biggest suprises when starting off with
+ TGSI shaders.
+
+commit 4e1d51786e0657c7430d731ac464f2a73e32eddf
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Oct 23 13:49:04 2009 +0100
+
+ gallium: remove noise opcodes
+
+ Provide a dummy implementation in the GL state tracker (move 0.5 to
+ the destination regs).
+
+ At some point, a motivated person could add a better
+ implementation of noise. Currently not even the nvidia
+ binary drivers do anything more than this. In any case, the
+ place to do this is in the GL state tracker, not the poor
+ driver.
+
+commit 19403935aa4782227a1199cb0355f4bc6c0d02db
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Sat Sep 26 08:39:57 2009 +0100
+
+ progs/demos: add fps to multiarb
+
+commit 9b6c86b8be092b40f8a84506bc929ee939937a16
+Author: Cooper Yuan <cooperyuan@gmail.com>
+Date: Fri Oct 23 16:40:31 2009 +0800
+
+ r300g: last changes's typo, miss a include file
+
+commit 6df12aad2fcdc30b200142a86c762b5e60e4b05e
+Author: Cooper Yuan <cooperyuan@gmail.com>
+Date: Fri Oct 23 14:46:29 2009 +0800
+
+ r300g: add flush_frontbuffer function to display video surface
+
+commit 0072a26662994653e07b0bb14cb1f12817540566
+Author: Cooper Yuan <cooperyuan@gmail.com>
+Date: Fri Oct 23 14:44:27 2009 +0800
+
+ g3dvl: pass display and screen to g3dvl when creating video private context
+
+commit 45eb9d2f6dced7654291cabb4b8dd02a695db694
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri Oct 23 01:00:23 2009 -0400
+
+ r600: remove remains of old tnl pipeline
+
+commit fc38a3cfe84e4e79af43f29d236748120789a286
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri Oct 23 00:40:41 2009 -0400
+
+ r600: fix render size prediction
+
+commit 614e8f220332d5876c787ea07300c6c8508219d5
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Thu Oct 22 17:41:31 2009 -0400
+
+ r600: remove old tnl pipeline
+
+commit 95328c7cf91322813de846a72f157aefff9417a6
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Thu Oct 22 17:18:01 2009 -0400
+
+ r600: clean up context creation
+
+ Make it more consistent with other radeon drivers.
+
+commit 286611d99060c38c4cc12f18fde5448213e2a44b
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Thu Oct 22 19:21:21 2009 -0700
+
+ Revert "Store clipping distance for user clip planes as part of vertex processing"
+
+ This reverts commit f058b25881e08c9d89a33345e5c84e1357396932.
+
+ This change is completely wrong in so many ways. When clip distances
+ are generated as part of vertex processing, they must be interpolated
+ to perform clipping. Geometric clipping goes right out the window.
+
+commit 1160acbfea986a821761d18f5f14d5d2cb0dea8c
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 22 19:49:21 2009 -0600
+
+ dri/drivers: update driNewRenderbuffer() to take a gl_format
+
+ Now pass a specific MESA_FORMAT_x token to indicate the renderbuffer's
+ format. This is better than passing a GLenum and having to guess the
+ specific format.
+
+ I'm unable to test all the drivers, but any issues should be easy to fix.
+
+commit cf0e25d4c89b62f37ff8d1f11c50efcab6557c7f
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 22 19:20:38 2009 -0600
+
+ radeon: simplify radeon_create_renderbuffer()
+
+commit ab9d1011f5549502a4b960c2067cde69856a2719
+Merge: 347fb37 5505865
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 22 18:38:19 2009 -0600
+
+ Merge branch 'mesa_7_6_branch'
+
+commit 347fb3737be03488827d25610bec59cfb05bcab0
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 22 09:38:39 2009 -0600
+
+ docs: document 'useprog' debug option
+
+commit fdce832437537f8e89f7ea57d15e73a481bd240e
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 22 09:37:56 2009 -0600
+
+ mesa: fix up vbo comments
+
+commit 488e67bab267dd687dbe83e52974ad4519906fcc
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 22 09:37:22 2009 -0600
+
+ mesa: added _mesa_dump_texture()
+
+commit fb22e801699ef69e40d8e9dfda758be824d86b96
+Author: Zack Rusin <zackr@vmware.com>
+Date: Thu Oct 22 19:31:44 2009 -0400
+
+ st/xorg: fix the makefile when used with new xextproto
+
+commit 04ec113e09f6287f2c6b39bf0247e06839eaf7a8
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Oct 22 14:28:47 2009 -0700
+
+ r300g: Enable more stuff in r300_screen, cleanup comments.
+
+ Also enable 24-bit depth buffers without stencil.
+
+commit ff9e1c01989fc80f07cdc69e3e373bdfe1a384ef
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Oct 22 13:42:03 2009 -0700
+
+ r300g: Cleanup PSC setup math a bit and stop using Draw formats.
+
+commit 198925caa18526e5aa908ab50482aff814207dc2
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Thu Oct 22 22:57:30 2009 +0200
+
+ nv50: handle PIPE_TEX_FILTER_ANISO case
+
+ Set the same bits as for linear filtering (in addition
+ to max anisotropy), and 2 unknown bits I've seen set.
+
+commit 4b8de9bd7c6f77fcf3f1f2b939bab980e074e8bf
+Author: Patrice Mandin <patmandin@gmail.com>
+Date: Thu Oct 22 22:01:53 2009 +0200
+
+ nouveau: nv30: rewrite so we can render only in depth buffer
+
+commit f9a69c0f040171cffa63c9c68264c1cf847aa1cd
+Author: Patrice Mandin <patmandin@gmail.com>
+Date: Thu Oct 22 21:55:09 2009 +0200
+
+ nouveau: nv30: use a8r8g8b8 as depth texture format for z24s8
+
+commit fd7ee2bcb74edf8c4412a244c33fd4749509b912
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Oct 22 12:57:13 2009 -0700
+
+ Kill off trident.
+
+ Hm. I could have said "chew trident and spit it out," or perhaps
+ "spear trident," instead. Dohoho.
+
+commit 8e4657a9d4cbb899d388068cff0f8c267071fa50
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Oct 22 12:29:30 2009 -0700
+
+ Nuke s3v.
+
+ As per FDO #17889.
+
+commit 06e464c2d57552d5ccde2b98885aeef953d8b2a1
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Oct 22 11:45:36 2009 -0700
+
+ r300g: Clean up duplicate code in r300_render.
+
+commit 1f7f9bab8139681e1dcbc6c10fb42965059d1395
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Oct 22 11:39:59 2009 -0700
+
+ r300g: Move render functions to r300_render.
+
+ Part of the fastpath cleanup.
+
+commit dd36006a4eb1cb08dc49af3075c215e6eea46e75
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Thu Oct 22 14:48:45 2009 -0400
+
+ r600: fix depth span macros for format changes
+
+commit eb1b8ed1484f0cc792c5237114b54d5fa53164cc
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 22 12:26:17 2009 -0600
+
+ radeon: fix some renderbuffer format bugs
+
+commit bf48447cafc8069839ad41c9c11078c794f4b307
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Oct 22 19:11:48 2009 +0100
+
+ scons: Hack LLVM support on Windows.
+
+ Doesn't quite work yet though, as small differences in the compilation flags
+ used when building LLVM and Mesa cause link failures for STL symbols.
+
+commit 719984afca3864cfe86ca734f3e2bd6eb5834bd1
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Oct 22 19:03:04 2009 +0100
+
+ llvmpipe: Avoid yet another variable size array.
+
+commit ba8c11923a13bdec53128988ffc26ceb5c4f7310
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Oct 22 19:02:42 2009 +0100
+
+ llvmpipe: Define rdtsc for MSVC.
+
+commit 9aafa1fbd247cd6d1bb0ab47bc5b318bd0d67bc5
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Oct 22 19:02:04 2009 +0100
+
+ llvmpipe: Avoid variable size arrays.
+
+ Not really variable size, but MSVC still doesn't like them.
+
+commit 01b85e292352d710586344348fff5a81459e5486
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Oct 22 18:28:57 2009 +0100
+
+ llvmpipe: Use the pack/unpack functions for 8bit unsigned norm multiplication.
+
+commit 4458695bdafb13eba639d986e2f20953f0f7445c
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Oct 22 18:28:37 2009 +0100
+
+ llvmpipe: Utility function to double the bit width of a type.
+
+commit 421507de06bd42a322c5864d887e67e385eb458c
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Oct 22 18:28:17 2009 +0100
+
+ llvmpipe: Factor vector packing/unpacking to a separate source file.
+
+ These functions will be needed to implement many of the 8bit operations,
+ and they are quite complex on its own.
+
+commit a07437f8a6a863654487c5586cbd02bfc20f0a3b
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Oct 22 18:10:19 2009 +0100
+
+ llvmpipe: Call util_cpu_detect() from the unit tests.
+
+commit 4797ce0d194720369b46d51733536d02b4a14473
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Oct 22 18:09:37 2009 +0100
+
+ util: Set cpu endianness too.
+
+commit 1acd891ed31b14ac6c81fd869a681c4b89c7d901
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Oct 21 17:03:52 2009 +0100
+
+ scons: Disable more MSVC pedantic security warnings.
+
+commit f8bee0e412ef1e8d5aed884561999fd1bd182494
+Merge: 5e77b61 1f5b568
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Thu Oct 22 12:29:36 2009 -0400
+
+ Merge branch 'master' of git+ssh://agd5f@git.freedesktop.org/git/mesa/mesa
+
+commit 1f5b568fbeda9e48f0ea6473cf8193e9502bb21a
+Author: Zack Rusin <zackr@vmware.com>
+Date: Thu Oct 22 12:13:02 2009 -0400
+
+ st/xorg: cleanup the checks for whether the op is accelerated
+
+commit 5e77b61e393144e76fe0a280c3c5da2d36703bbb
+Merge: c4af8ce 869e20b
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Thu Oct 22 12:02:31 2009 -0400
+
+ Merge branch 'mesa_7_6_branch' of git+ssh://agd5f@git.freedesktop.org/git/mesa/mesa
+
+commit c4af8ce69e1a7105b0178da8a085b73ab984e432
+Author: Zack Rusin <zackr@vmware.com>
+Date: Thu Oct 22 11:49:19 2009 -0400
+
+ st/xorg: lots of render fixes
+
+ fixes all the blend modes, fixes flushing/finishing semantics, adds
+ acceleration for the component alpha modes that we can support, fixes
+ src in mask shader and general cleanups
+
+commit 4e2bdd66352cf9a2e951bb21151edee25c8c0a8c
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Sun Oct 18 13:15:30 2009 +0800
+
+ progs/egl: Add support for pixmap and pbuffer surface to xeglgears.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 60cf250d4705d5005399a53ab334fbc10b4bf9c4
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Fri Oct 2 10:38:14 2009 +0800
+
+ egl_glx: Add support for eglWaitClient and eglWaitNative.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 7ffe64a7ae912974f9c2da43dd362cd832e2ba99
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Thu Oct 1 18:23:58 2009 +0800
+
+ egl_glx: Clean up eglGetProcAddress.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit a20643657723094197620976402aeec2f40a84a0
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Thu Oct 1 18:23:41 2009 +0800
+
+ egl_glx: Clean up context functions.
+
+ This lifts the requirement that a context must be direct.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit c407c7024495b19eec5ce978b611c7359c247f81
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Thu Oct 1 18:22:33 2009 +0800
+
+ egl_glx: Clean up surface functions.
+
+ Separete Drawable and GLXDrawable. Add support for pbuffer and pixmap
+ surfaces on GLX <= 1.3. Remove surface binding code that will never
+ work.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 78c3a351bc91eed49a07108682013a323d87540e
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Thu Oct 1 18:16:10 2009 +0800
+
+ egl_glx: Clean up the initialization code.
+
+ Proper detection of GLX extensions. Convert fbconfigs or visuals in a
+ more unified way and validate the resulting configs.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 326baecd757747a52b028e1f590437597776d7e6
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Fri Oct 16 12:18:25 2009 +0800
+
+ egl: Correct conversion of native visual type.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit eebf4b5299a880f4cdf8a916b4e1ca0bd79a6f07
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Thu Oct 22 21:55:22 2009 +1000
+
+ nv50: support 3D class 0x8597, remove redundant unknown chipset detection
+
+commit 511bd5f32b67f903b590f00f7ccf8132127ef2e4
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Oct 22 00:21:08 2009 -0700
+
+ r300g: Check for NULL Draw during flush.
+
+ Split from the fastpath WIP.
+
+commit 0a8cd4862c4f04308ab818077bab94417ffbf50b
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Oct 21 23:26:02 2009 -0700
+
+ r300g: Update comments, function names in r300_state_inlines.
+
+commit 034db65f08b943ee9940947db69e4e190f751061
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Oct 21 23:23:37 2009 -0700
+
+ r300g: Update comments, asserts, indents in r300_texture.
+
+ I wish I knew enough about textures to really really REALLY fix that file.
+
+commit 5a653ada4143c24b00b0ca12b4898064afd59c29
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Oct 21 22:54:52 2009 -0700
+
+ r300g: Remove unused debug flag.
+
+commit 40247d87d215d0f1b6370b2888548544eedf0d89
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Oct 21 22:53:37 2009 -0700
+
+ r300g: Cleanup old static shader state.
+
+commit 82ffc5884c29a8d4eb70fde15f27cace4732a4bb
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 21 21:51:06 2009 -0600
+
+ progs/tests: draw Z values as luminance, no pixel zoom
+
+commit 3c685608664900562919136fbc33ac16060a27c3
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 21 21:47:58 2009 -0600
+
+ i915: replace MESA_FORMAT_Z24_S8 with MESA_FORMAT_S8_Z24
+
+ And change parameter type.
+
+commit 6e1ddd34c6b6f9773ef87198503f5f61f9a6c23a
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 21 21:20:05 2009 -0600
+
+ radeon: get rid of z24s8 <-> s8z24 conversions in span code
+
+ Can just use s8z24 everywhere.
+ Note: the WRITE_DEPTH macro for R600 may need to be fixed.
+
+commit c18b022d0d1dc07c37c0bd981d4fc6fac27e5a45
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 21 21:12:23 2009 -0600
+
+ radeon: replace MESA_FORMAT_Z24_S8 with MESA_FORMAT_S8_Z24
+
+ Core Mesa deals with MESA_FORMAT_S8_Z24 everywhere it should so
+ we shouldn't have to use MESA_FORMAT_Z24_S8 anymore.
+
+commit 68d94a608a6d46156a567b8f0e011ac58054975e
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 21 20:02:33 2009 -0600
+
+ intel: use MESA_FORMAT_S8_Z24 format and avoid z24s8/s8z24 conversions
+
+commit 4bd70b5cff13039a4b0e0c554156fec06e3c3906
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 21 20:00:43 2009 -0600
+
+ i965: change parameter type to gl_format
+
+commit c55b355fd460453a459e073ac4119c69e06e7531
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 21 19:58:00 2009 -0600
+
+ mesa: use MESA_FORMAT_X8_Z24
+
+commit 832f29770d91c7d98c9b8438922247fff8f0f8bd
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 21 19:56:18 2009 -0600
+
+ mesa: use MESA_FORMAT_X8_Z24 format
+
+commit e4c700dbbf2a802f32bf62256c801105998c3729
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 21 19:55:44 2009 -0600
+
+ mesa: added MESA_FORMAT_X8_Z24 format
+
+ 24-bit Z in 32-bit pixel. We could probably use the MESA_FORMAT_S8_Z24
+ format but this there's a few places where we explicitly don't want stencil.
+ This format may go away at some point in the future.
+
+commit b2b239691dfe593676aaee0cd990fa76354ac96f
+Author: Marc Dietrich <marvin24@gmx.de>
+Date: Sun Oct 18 08:28:33 2009 -0700
+
+ gallium/util: fix cpu detection on ppc
+
+ As we are compiling with -D_BSD_SOURCE, sigjmp_buf and siglongjmp
+ should be replaced by the non-sig functions (see man 3 setjmp).
+ Tested on linux/cell.
+
+commit 2cc5a0e6bb8fe2aa0733d70fec65df934b1093f6
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Oct 20 16:13:08 2009 -0600
+
+ mesa: added _mesa_dump_renderbuffers() debug code
+
+commit d364f662c685ba0f28aa865fbd7e1f0acc3c469e
+Author: Patrice Mandin <patmandin@gmail.com>
+Date: Wed Oct 21 22:01:03 2009 +0200
+
+ nouveau: nv30: Do not use assert to return NULL
+
+commit cb351bdd6e09b40fe719c548c48ea40c6c4c3d11
+Author: Patrice Mandin <patmandin@gmail.com>
+Date: Wed Oct 21 21:56:09 2009 +0200
+
+ nouveau: nv30: check number of colour buffers to bind
+
+commit ce98860012b10cc6cc124fd1ed6fa3a5e28712bb
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Oct 20 10:54:21 2009 +0100
+
+ llvmpipe: Remove extraneous name in lp_type pre-declaration.
+
+commit 3b8dad47f816667aa4166d6e27361d274fc2cf4d
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Oct 21 06:49:16 2009 -0700
+
+ r300g: No debug in r300_state.
+
+commit 6a448a525baf81173f92ee8c3074b98baa54397b
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Oct 21 06:31:36 2009 -0700
+
+ r300g: Cleanup header includes.
+
+commit babadb8bb9d68f3687a9c9cb80f98c732b1120c7
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Oct 21 05:54:49 2009 -0700
+
+ r300g: Don't use getenv; use debug_get_*_option instead.
+
+commit 5a0598f23569314a4ad72eda59e250ab9c43b46d
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Oct 21 05:48:45 2009 -0700
+
+ r300g: Don't use the hashtable internally.
+
+ As osiris pointed out, glxgears slowly gets slower for some reason
+ when it's enabled, and it's not helping at the moment, so just turn
+ it off.
+
+commit b589e39809fa9d0b24a708d792b70ae5b120ffb8
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Oct 21 05:45:05 2009 -0700
+
+ r300g: Examine vertex attribute type on HW TCL too.
+
+commit b21df2620ef970daa306e06c6ca69a9b66280cd6
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Oct 21 06:47:05 2009 -0700
+
+ r300g: Also kill r300_shader_inlines with fire.
+
+commit 58abfebaad80b72c4a4bedad2d96a3959651eea3
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Oct 21 06:44:16 2009 -0700
+
+ r300g: Kill r300_surface with fire.
+
+ If you really want to see it again, check the history.
+
+commit d56125a298106d81e10674f1c4b3b43b51a5139d
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Oct 20 14:51:53 2009 -0700
+
+ intel: Fix flipped condition in ARB_sync GetSYnciv(GL_SYNC_STATUS).
+
+ Bug #24435
+
+commit cbd20e18a0f82a653513d165694ed7bbb336e765
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Oct 19 17:54:42 2009 -0700
+
+ meta: Fix the BufferSubData in meta clear to be BufferData.
+
+ Fixes a 3.4% +/- 1.3% performance regression in my GL demo (n=3). The
+ other meta code could probably also use the same treatment.
+
+commit 478332b0c1f0198bc7063300d203c21e42796045
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Oct 20 17:52:33 2009 +0200
+
+ st/xorg: Move drm init to own function
+
+commit fc07ca004aaa338217c49e95f51b072b32c4f8c6
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Oct 20 17:17:41 2009 +0200
+
+ trace: Check for destroy before calling it
+
+commit a9f71b3bba86771be56ff1def716beb370decd22
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Oct 20 17:18:25 2009 +0200
+
+ st/xorg: Cleanly shutdown
+
+commit 5f8f14e5ca994461c54ba547f6371c2f71474425
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Mon Oct 19 07:49:40 2009 +0200
+
+ st/xorg: Remove output functions not used
+
+commit b7fbcfdb3bf220ceae5c994d49bcd806a51e177a
+Author: Zack Rusin <zackr@vmware.com>
+Date: Mon Oct 19 23:48:38 2009 -0400
+
+ st/xorg: makefile garbage
+
+commit a39a3cc14e816cc91a81028a27c4dbd4816cdc9d
+Author: Zack Rusin <zackr@vmware.com>
+Date: Tue Oct 13 13:06:39 2009 -0400
+
+ st/xorg: implement basic src/mask transformations
+
+ plus fix filters
+
+commit e5f1f6a0bece3d035bf5ac1685b5335af4862cea
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Oct 19 13:51:28 2009 -0700
+
+ r300g: Demonstratory kludge to unbreak glxgears.
+
+ We *must* recalculate something in vformat every rebind; let's see
+ if we can't narrow it down a bit.
+
+commit 973aab1a528f0a42e8b5e979b4730649ea366363
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Oct 19 13:06:45 2009 -0700
+
+ dri-st: Add EXT_provoking_vertex.
+
+ Hm, I could have sworn I did this before?
+
+commit e1b39c673d885e3dc990a29445360830b0a603aa
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sun Oct 18 11:49:44 2009 +0200
+
+ st/xorg: Switch to set_mode_major
+
+commit 846da0bfdae971cba84cd2ad9217c74c62e6bce9
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sun Oct 18 15:42:25 2009 +0200
+
+ st/xorg: Massivly redo root pixmap creation
+
+commit e9e6152cb38ca5f1ea6d65cf9bf32150bf9d2b7b
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sun Oct 18 11:46:19 2009 +0200
+
+ st/xorg: Clean up cursor functions a bit
+
+commit b8843c60565094be311e3b31c0826a3035627a3e
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sun Oct 18 15:25:30 2009 +0200
+
+ st/xorg: Support more then one output of a given type
+
+commit 68b5dc9634a39b5aa84fe963676b4fd0249363cf
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sun Oct 18 07:50:14 2009 +0200
+
+ st/xorg: Change how disable accel is handled
+
+commit ec5c23551cdb4c369d8f8f392208f4d4bf29911b
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Mon Oct 19 18:17:45 2009 +0200
+
+ nv50: add support for address regs
+
+ Allow indirect uniform access and increase the
+ limit on parameters from 128 to 512.
+
+commit eb7ea97e7fff1ee39921ad81294c4963b5b3ded8
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Mon Oct 19 17:53:31 2009 +0200
+
+ nv50: cleanup emit_kil
+
+commit 2eef2017acbbb617c559555648c7745141f3aedb
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Mon Oct 19 17:47:29 2009 +0200
+
+ nv50: implement TGSI_OPCODE_CMP
+
+commit f204eb184237b387432413212a3a20d83c87594b
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Tue Oct 13 15:09:13 2009 +0200
+
+ nv50: quick fix for insn src negation
+
+ We only have a per nv50_reg negation flag, if an
+ nv50_reg is used more than once in a TGSI op with
+ different sign modes, we'd generate wrong code.
+
+ We probably can't do much better without more
+ invasive changes.
+
+commit 1635e8d6f4b96e691746e8c8c5a273089bae6843
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Wed Oct 14 21:27:35 2009 +0200
+
+ nv50: add support for DDX and DDY opcodes
+
+commit c0e80cf0e97cec526bb2ff0f94d9142e33374c20
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Wed Oct 14 21:23:29 2009 +0200
+
+ nv50: submit user vbo data through the fifo
+
+ Requesting a new real buffer from the kernel and
+ copying all the data is wasteful e.g. if only a
+ few (but widely spread) vertices are accessed.
+
+commit fba2eabe13b8a3f8c1396c5949db3daab0192156
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Sat Oct 10 13:13:16 2009 +0200
+
+ nv50: use SIFC for TIC, TSC upload
+
+ Add proper flushes for TIC and TSC and remove
+ the costly 2D.0110 flush in nv50_flush.
+
+ Correct TIC and TSC bo sizes.
+
+commit 6ab2fcca9d40ed65ab8d88c0253969c5311b7320
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Sat Oct 10 13:18:07 2009 +0200
+
+ nv50: nicer texture format switch
+
+ Similar to nv40.
+
+commit 620270c76e7241fe4c391e31e3706468d708fe69
+Merge: 35b98e2 16e2119
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Mon Oct 19 12:10:59 2009 -0400
+
+ Merge branch 'mesa_7_6_branch' of git+ssh://agd5f@git.freedesktop.org/git/mesa/mesa
+
+ regenerated lex.yy.c
+
+commit 35b98e2884bd7c76c43fa08d5bb0a8f1396d3298
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Mon Oct 19 09:28:59 2009 +1000
+
+ nouveau: implement is_{texture,buffer}_referenced properly
+
+commit 869d3eea37ee060d62cd5b7f6031ef5a93e328a1
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Wed Oct 7 16:07:34 2009 +1000
+
+ drm/nv50: write tic/tsc setup to correct slots when skipping units
+
+commit 16a06fea73b1e6e8857f7568762bfc56dcfe2940
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun Oct 18 15:54:39 2009 -0700
+
+ r300g: Fix up a bunch of warnings.
+
+commit d2e29b502e5f777551ff057f08e54d82542863cf
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun Oct 18 10:30:18 2009 -0700
+
+ r300g: Add another ZTOP condition.
+
+ I don't even know if texkill works right now.
+
+commit 838da1d4ae11aa8b5eab4f35713709714e337cbe
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Oct 18 14:31:58 2009 +0100
+
+ llvmpipe: Allocate texture storage for whole quads.
+
+commit bb567357bc1366df7115e0daa68c2470e3bf6ba6
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Oct 17 21:32:56 2009 -0700
+
+ gallium: Permit surface_copy and surface_fill to be NULL.
+
+ Uf. Lots of files touched. Would people with working vega, xorg, dri1, etc.
+ please make sure you are not broken, and fix yourself up if you are.
+
+ There were only two or three places where the code did not have painful
+ fallbacks, so I would advise st maintainers to find less painful workarounds,
+ or consider overhauling util_surface_copy and util_surface_fill.
+
+ Per ymanton, darktama, and Dr_Jakob's suggestions, clear has been left as-is.
+
+ I will not add PIPE_CAP_BLITTER unless it is deemed necessary.
+
+commit bfd877e4705002d97ee8dba6fe0c1f8676582ab3
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Oct 17 20:53:19 2009 -0700
+
+ r300g: Squash format warning.
+
+ Won't ever be supported.
+
+commit 11056ca86fce64209b7d21c87070c419a1968d28
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Oct 17 20:47:45 2009 -0700
+
+ r300g: Use a dirty test to bring framerate back up.
+
+ This is just split out from the next commit, that's all.
+
+commit 51173e4e53a64465d1498ffd6454687b7629eb59
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Oct 17 20:29:27 2009 -0700
+
+ r300g: Also have rs_block keyed to the current shader combo.
+
+ Eliminates part of the glxgears corruption here. Need to clean up PSC more,
+ to get rid of the rest of it.
+
+commit ce9ae4a483e7c85a9046a87005232aa09de782aa
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Oct 17 20:05:23 2009 -0700
+
+ r300g: Fix u_hash_table rename.
+
+commit 4a98d19d1b93651acd8f7f428151667e411ad718
+Merge: 3e56bef 114417a
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Oct 17 19:58:23 2009 -0700
+
+ Merge branch 'master' of ssh://git.freedesktop.org/git/mesa/mesa
+
+commit 114417a2f52ab463f37fcabb5e9b0636574623dc
+Author: Patrice Mandin <patmandin@gmail.com>
+Date: Sat Oct 17 20:49:18 2009 +0200
+
+ nouveau: nv40: Use same workaround as i915 for segfault related to vbo
+
+commit 66aab9a1f6de241687a14f7aed45226061c1b84b
+Author: Patrice Mandin <patmandin@gmail.com>
+Date: Sat Oct 17 20:46:19 2009 +0200
+
+ nouveau: nv30: Remove duplicate case. Was a typo for X8R8G8B8, but that will never be use for front buffer.
+
+commit 67356ae04743da3137e950503ffd4a1f8fa36400
+Author: Patrice Mandin <patmandin@gmail.com>
+Date: Sat Oct 17 20:27:24 2009 +0200
+
+ nouveau: nv30: Use same workaround as i915 for segfault related to vbo
+
+commit 5d42e3988de8b3e1b37d8c21d18db240bc8b4096
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Oct 17 11:45:04 2009 +0100
+
+ util: Rename from u_* to util_* while we're at it.
+
+ To be consistent with the rest.
+
+commit 60a39b6799c72430851d92f93758e2f25487a0f4
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Sat Oct 17 08:25:48 2009 +0100
+
+ intel: Disallow relocations to the byte beyond the end of the buffer
+
+commit a335d334d45701a42c283257fa44f2f7148e186d
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Oct 16 09:42:30 2009 -0600
+
+ mesa: fix/update some comments
+
+commit f094b86bb5ab93aedc03df5cf5bdf51ab9d37045
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Oct 16 09:33:11 2009 -0600
+
+ mesa: lift default symlinks target into Makefile.template
+
+ Driver Makefiles can still add symlink dependencies/rules if needed.
+
+commit db2046580f3b5be0e9fe30337f3bf412c4556ed9
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Oct 16 09:25:05 2009 -0600
+
+ mesa: use EXTRA_MODULES and SUBDIRS to build r300 compiler
+
+ This is a bit cleaner and avoids rebuilding the r300_dri.so library all
+ the time.
+
+commit d9fd207133ba2ff8cd0bbcab6963c70d71628b1b
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Oct 16 09:21:45 2009 -0600
+
+ mesa: added SUBDIRS support in dri/Makefile.template
+
+commit f0503726bf8113919e4b00fbca504d7cbdcd0151
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Oct 16 08:12:47 2009 -0600
+
+ mesa: move a comma
+
+commit 2ee7fd8d584abf051c552f455aeb588e2936b0ea
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 15 15:25:52 2009 -0600
+
+ mesa: added MESA_GLSL=useprog debug flag
+
+ This logs glUseProgram() calls to stderr.
+
+commit 3e56bef5a5f56feb65ae94a51e5db9cf943ce0ce
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Oct 16 09:45:07 2009 -0700
+
+ radeon-gallium: Use debug_get_bool_option instead of getenv.
+
+commit fc8a156cfc539b9c04dc3527e4fc61cb4b0b688e
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Oct 16 08:39:59 2009 -0700
+
+ r300g: Use a hash table to look up vertex info.
+
+ Need to move rs_block to this, too.
+
+ Also, I'm getting massive amounts of flicker for some reason; I bet we've gotta
+ re-re-examine PSC and friends. :C
+
+commit 3924d8611513eea74446d655b554596ab66381ff
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Oct 16 08:27:56 2009 -0700
+
+ util: Change function names to begin with u_.
+
+ Avoids link-time clashes with Mesa's internal hash table.
+
+commit 166957abebea6aa203eba7e6348e89d53cf0e13e
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Oct 16 11:39:29 2009 +0100
+
+ progs/tests: Use rand() instead of random().
+
+ Forgot these on previous commit.
+
+commit 699260b19535abaa3af0a5d33eb039e3d6a30ce9
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Oct 16 11:39:29 2009 +0100
+
+ progs/tests: Use rand() instead of random().
+
+ More portable. Same implementation on Linux.
+
+commit 60b6c7458319ff01ecdd9d1650d526ac8f75e194
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Oct 16 11:36:09 2009 +0100
+
+ prog/tests: Fix MSVC build.
+
+commit e4f21be13ac14edd89e865138a9e36b266425b39
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Oct 15 16:58:26 2009 -0700
+
+ r300g: Set logical ID for each emitted texture/sampler.
+
+ multitexarray works on my r300, but texrect doesn't.
+
+commit fa3046431a0da5990043fd4856602b0ba57ff9af
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 15 14:57:45 2009 -0600
+
+ dri/common: updated #includes
+
+commit a37c9ac8eee8c0d5b49f198f490828a794dc93c4
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 15 14:54:32 2009 -0600
+
+ dri/common: use _mesa_little_endian() and update comments
+
+commit 9bf2aa33298db5af9128ad8f625321be47ab65c3
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 15 14:49:53 2009 -0600
+
+ dri/common: fix broken _dri_texformat_* initializations
+
+commit a5a05fd782bf7bc3843e475df7b12fe6784c1b9e
+Author: Patrice Mandin <patmandin@gmail.com>
+Date: Thu Oct 15 22:41:09 2009 +0200
+
+ nouveau: nv30: Hack to enforce same number of bits as front buffer, for render targets
+
+commit 13580aa3d142b17f936e517daf949ae228f9f14e
+Author: Patrice Mandin <patmandin@gmail.com>
+Date: Thu Oct 15 21:58:44 2009 +0200
+
+ nouveau: nv30: refuse binding a colour buffer with a zeta buffer with different bits, till the backend can tell Mesa not to do that.
+
+commit 108273c5ed43b2c54a58900b7bb4528f912e2b1f
+Author: Zack Rusin <zackr@vmware.com>
+Date: Sun Oct 11 12:54:11 2009 -0400
+
+ st/xorg: refix source over
+
+commit 5b7d9053a08d5042206781a664ecd74efac0eb86
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 15 13:00:03 2009 -0600
+
+ progs/egl: put declarations before code
+
+commit 6c21c8862bc6edc9cddf3b6eb6f276961099a7a8
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Mon Sep 28 14:12:39 2009 +0800
+
+ egl: Rework the synchronization primitives.
+
+ This adds error checking to the synchronization primitives. And
+ eglWaitGL is now implemented by eglWaitClient.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 57da499d7ba074128e8c97b8076805e403a2b9c4
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Thu Oct 15 11:08:48 2009 +0800
+
+ egl: Rework eglSwapInterval.
+
+ This adds error checking to eglSwapInterval and clamps the swap
+ interval.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit bbfd0e26151bef567c152c8018ecc15f04c70914
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Thu Oct 15 11:08:33 2009 +0800
+
+ egl: Rework error checking in eglSwapBuffers.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit aaa1253b09a6a38e7fcd695aa36e89b9d4bd8dfe
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Wed Sep 30 15:08:34 2009 +0800
+
+ egl: Update comments about eglapi.c.
+
+ Mention that opaque handles are looked up and checked.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 61906631202af855d0742586956ff9f34522a525
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Wed Sep 30 15:34:45 2009 +0800
+
+ egl: Rework error checking in eglGetCurrentSurface.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 8bb2485ed0e4764b8ad1f1a7f0bfe1c3f66d71bc
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Thu Oct 1 18:32:19 2009 +0800
+
+ egl: Include GL header in eglconfigutil.h.
+
+ This is just a cosmetic change.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 29d115092e7b9e1436df3ce1fb7ffe183f8a9302
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Sat Oct 10 14:39:43 2009 +0800
+
+ egl: Fix GLX_USE_TLS build.
+
+ Remove an extraneous semicolon.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 2fc1614e7a56ab16df1b6ebbc159c58e8212d96d
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Thu Oct 1 16:40:09 2009 +0800
+
+ egl: Fix eglCheckConfigHandle.
+
+ A stupid bug by me made the check void.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit c47b03ebebd4db30bf5ed17b44c0f8757306b197
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 14 13:14:22 2009 -0600
+
+ radeon: initialize renderbuffer Format field in radeon_create_renderbuffer()
+
+ Plus, use MESA_FORMAT_S8_Z24 everywhere.
+
+commit 72fd1cf292937565a182b400595816c6ad88836a
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Oct 14 11:44:09 2009 +0200
+
+ trace: Handle transfer returning null
+
+commit 074e069910c7082620be4211fe5496365f828886
+Author: Zack Rusin <zackr@vmware.com>
+Date: Sun Oct 11 06:08:42 2009 -0400
+
+ st/xorg: fix most of the composition modes
+
+commit a82fc97c643c4309a10cfefb108c4c0f11a2e55a
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Oct 14 20:06:38 2009 -0700
+
+ r300g: Move ZTOP to its own state atom.
+
+ It may seem pointless, but this avoids a fair amount of predicted CSO pain.
+
+commit 91bd87c06ee5427887e1284bd52424387e54397f
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 14 19:13:32 2009 -0600
+
+ progs/demos: try different depth formats in fbo_firecube.c
+
+commit 85fb3e402744bbfd67ca9c79c98f54dd8ad169f5
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 14 11:28:28 2009 -0600
+
+ docs: document more MESA_GLSL env var options
+
+commit 24e2f61469a4915ca4aba431cbe4634293cbe92e
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 14 10:56:29 2009 -0600
+
+ mesa: assorted top-level Makefile clean-ups
+
+commit 2fd5cb713338e91999a036399a4bea4406687ca0
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 14 16:24:35 2009 -0600
+
+ mesa: added VERBOSE_SWAPBUFFERS
+
+commit f9784072fee016e14e0319c705420becb2490bf9
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 14 16:23:52 2009 -0600
+
+ vbo: clean-ups, reformatting
+
+commit ade1cc992410c8696fdfe0f84fb613fd0dc8099f
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 14 16:23:22 2009 -0600
+
+ mesa: added MESA_VERBOSE option 'draw' to debug glDrawArrays/Elements, etc.
+
+commit d9099f8602eb6d15e9fc2e0b0987e7a58fb98b68
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 14 15:46:25 2009 -0600
+
+ mesa: rename VERBOSE_IMMEDIATE->VERBOSE_MATERIAL to reflect what it does
+
+commit 73fc0ca4c36f258c4d0d7707dd3313a685c211bf
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 14 15:11:12 2009 -0600
+
+ mesa: remove unused ctx->Driver.PrioritizeTextures() hook
+
+commit 0187e042b681663938a1a12e9ae03c6f0ab48af5
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 14 15:00:50 2009 -0600
+
+ mesa: remove unused ctx->Driver.TextureMatrix() hook
+
+commit ef067b5f01eb7ea7a08a64d897e0e70e139c618d
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Oct 13 11:56:35 2009 +0200
+
+ st/xorg: Fix dpms include problems
+
+commit 5c4bdbd825934fe01330890d360b61caa06fdc8d
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Thu Oct 15 01:24:53 2009 +0100
+
+ autoconf: Fix case for not having package
+
+commit 59cf40059a7c451b1d1bc0c90f674e8e4baa5ab8
+Author: Zack Rusin <zackr@vmware.com>
+Date: Sun Oct 11 01:07:26 2009 -0400
+
+ st/xorg: get transparency on fills working (fixes Qt/KDE apps)
+
+commit 96c9b39a6a9553573fcbdb5fd6db0e9d59768442
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Oct 13 15:32:04 2009 +0100
+
+ i915g: Fix warnings
+
+commit f22c427bd685f55e6f7e29dcd72cdb1aa42f04d9
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Oct 14 14:18:36 2009 -0400
+
+ r600: enable EXT_vertex_array_bgra extensions
+
+commit 3ce3c03257bccc5f9e8a6caf0f39565a87856eaf
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Oct 14 17:27:06 2009 +0100
+
+ util: Fix cpu detection on Windows. Cleanup.
+
+commit 4046c3bab4dde95d4096f26637adaa6ce6d310a9
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Oct 14 17:11:30 2009 +0100
+
+ llvmpipe: Use ALIGN_STACK.
+
+commit 68edb4eac55457796ed5c5e4f1c702af749fd543
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Oct 14 17:11:08 2009 +0100
+
+ gallium: New ALIGN_STACK macro to tell gcc to align stack pointer.
+
+commit 5ba645f0fbcb16ac97064c3d25d5966645410a44
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Oct 14 16:16:40 2009 +0100
+
+ scons: Disable SSE intrinsics on MinGW.
+
+ -mstackrealign causes stack corruption on MinGW. And without it the ability
+ to use SSE instrinsics goes down the drain. Even if we use
+ __attribute__((force_align_arg_pointer)) for the functions we explicitly
+ use SSE instrinsics, the SSE code automatically generated by gcc will
+ cause assertion failures. What a nightmare.
+
+ Thankfully LLVM gets this right, so all runtime generated SSE code just
+ works. rtasm code doesn't assume 16byte alignment. Therefore the bulk of
+ our performance sensitive code is not affected by this.
+
+ Still, intrinsics can be convenient, and it would be nice
+ to get this working again some day, sp will try to get a reduced test
+ case.
+
+commit 9fd7e9ef05955834e3c4de8a1dfa7ea1a868d762
+Merge: ce3801a 31f7e8e
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 14 09:40:05 2009 -0600
+
+ Merge branch 'mesa_7_6_branch'
+
+commit ce3801ab87ef6eb29e5b81c2acfdd102f7b9c0ae
+Merge: 98eb7a1 115edf2
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 14 09:22:30 2009 -0600
+
+ Merge branch 'mesa_7_6_branch'
+
+commit 98eb7a14a44f8e5c3c2d2f1418d7d4e4ed0fe5e8
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 14 07:52:26 2009 -0600
+
+ mesa: remove left-over debug printf
+
+commit ea862ec8ff4a52b30b822e737d93a49330be9e31
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Oct 14 07:43:18 2009 -0600
+
+ prog/tests: Fix MSVC build.
+
+commit fd63f89e95342d7d5921d6369346e356b505b584
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Oct 14 03:09:41 2009 -0700
+
+ r300g: Move ztop to derived state.
+
+ Need to get it into its own atom instead of piggybacking on DSA.
+
+commit f13e507798cdbbe2fad5df33dcd581d49d6fa7ab
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Oct 14 01:58:18 2009 -0700
+
+ r300g: Compiler warning cleanup.
+
+commit 88b697fb0aaaab8479716763510f56b1053ddb37
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Oct 14 18:24:34 2009 +1000
+
+ r300g: remove buffer add that should be unnecessary.
+
+ This should be handled in the emit fine
+
+commit fa581580b18d530b849299c38604ab0804290e49
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Oct 14 18:24:05 2009 +1000
+
+ r300g: add QUERY to KITCHEN_SINK
+
+ I missed this, thanks to Corbin for pointing it out.
+
+commit ce5cba040c34a1a70186c29a5055e9be3c85a54a
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Oct 14 18:05:14 2009 +1000
+
+ r300g: add one more ZTOP disable bit.
+
+ Still missing the frag uses kill support, hopefully nha can point that out.
+
+commit 51d1cf55da6f8b8a215814589a189b6e5e537fe5
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Oct 14 17:44:19 2009 +1000
+
+ r300g: port over last parts of oq support.
+
+ Add support for begin/end in each CS so we don't get any other
+ processes rendering in between.
+
+ TODO:
+ blame other parts of driver for this not working like Z.
+
+commit 47791697ab6eb6965f0ba8ba3f20373b3753ca2a
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Oct 14 17:14:43 2009 +1000
+
+ r300g: convert query to a state for emitting.
+
+ This means we don't emit in the begin query but when we have
+ to flush. Similiar to classic.
+
+ TODO:
+ make query object actually work.
+
+commit c1bee7bdea470b6b5dcebef9aacc8fe4feca687c
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Oct 14 16:53:12 2009 +1000
+
+ r300g: fixup arb occulsion query support.
+
+ 1: add rv530 support
+ - num z pipes cap
+ - add proper start/finish query options for rv530
+
+ 2: convert to use linked list properly.
+
+ 3: add flushing required check.
+
+ 4: initial Z top disabling support.
+
+ TODO:
+ make it actually work on my rv530.
+
+commit 210481ae16e966865dcf9f1fd5f5dfabf4dc28bc
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Oct 14 15:13:25 2009 +1000
+
+ r300g: attempt to make bo space check sane.
+
+ This attempts to make r300g do proper bo space checking as opposed
+ to whatever it was doing now.
+
+ Signed-off-by: Dave Airlie <airlied@redhat.com>
+
+commit 23c0c820e2767324546d450d2a7aa7bf1f70c36f
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Oct 14 11:42:05 2009 +1000
+
+ r300g: fix case where texture unit 0 is disabled but unit 1 is enabled.
+
+ to reproduce, start texrect, disable 0 texture in menu.
+
+ Signed-off-by: Dave Airlie <airlied@redhat.com>
+
+commit 220f72a8d04728efbbc097d27be43590b0fe1ceb
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Oct 13 16:33:17 2009 -0600
+
+ mesa: minor tweak to printf string
+
+commit 435623b3f0b2d2db5b107ef177693ccafc591a29
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Oct 13 16:32:15 2009 -0600
+
+ mesa: rework _mesa_read_shader() debug hook
+
+ Look for shaders named "newshader_<CHECKSUM>" to replace the incoming
+ shader text. For debug purposes.
+
+commit dfefde38c7dfe70a3531cb85215e55eeb6407180
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Oct 13 16:18:06 2009 -0600
+
+ mesa: don't print pointer in _mesa_fprint_parameter_list()
+
+commit f058b25881e08c9d89a33345e5c84e1357396932
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Thu Oct 8 17:28:02 2009 -0700
+
+ Store clipping distance for user clip planes as part of vertex processing
+
+ Once the clipping distance is calculated and stored per vertex, the
+ distances can be re-used when clipping is actually performed. This
+ doesn't have any immediate benefit, but it paves the way for
+ implementing gl_ClipDistance in vertex shaders and result.clip[] in
+ vertex programs.
+
+ This has not produces any oglconform regressions on my G31 system
+ which uses software TNL.
+
+ Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
+ Reviewed-by: Brian Paul <brianp@vmware.com>
+
+commit cf33aaf8fe2b1d22e394f431735b76f3ab04b854
+Author: Patrice Mandin <patmandin@gmail.com>
+Date: Tue Oct 13 22:53:32 2009 +0200
+
+ nouveau: nv30: use texture width,height for render target dimensions
+
+commit f1c5cab5525dfcb8edffa275e7c8c3e753c7536f
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Tue Sep 29 16:11:06 2009 +0800
+
+ egl: Improve logging facility.
+
+ Add _eglSetLogger and _eglSetLogLevel to allow drivers to change the
+ message logger or report level.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 310c76812e5a2013dad36fc9d1686f57e7b1e626
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Mon Aug 17 15:53:54 2009 +0800
+
+ egl: Allow binding to any client API.
+
+ As a result, EGL_NONE is no longer a valid client API. And it is
+ possible that no config supports the current bound API.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit e787ffcd02cac9085ac69f631cce235d1cad59c9
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Mon Sep 28 17:39:07 2009 +0800
+
+ egl: Preload a driver if eglGetProcAddress is called early.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 9061d733d3f31293c145cf3b7a0f71c1bfd31989
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Sat Aug 15 22:44:46 2009 +0800
+
+ egl: Remove core functions from eglGetProcAddress.
+
+ eglGetProcAddress may not be used to query core (non-extension)
+ functions.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 5541988578054345ca70b7ed7972710396e61b44
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Mon Sep 28 17:25:48 2009 +0800
+
+ egl: Add support for driver built-in.
+
+ This allows an EGL driver to be compiled together with libEGL.so. It
+ eliminates the need to specify a driver, or support module loading on
+ new platforms.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 1cc1c3a0336d74e518417e2e93e141171a50542b
+Author: Zack Rusin <zackr@vmware.com>
+Date: Sat Oct 10 05:24:32 2009 -0400
+
+ st/xorg: solid fills with masks are supported
+
+ gradients are supported, but not enabled by default due to little
+ testing they got
+
+commit 83f4e72009e2ee03ec1175bd3e6e309e605c2bd1
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Oct 13 10:37:39 2009 -0600
+
+ intel: fix broken sw generate mipmap path
+
+ Need to restore code that fixed up the intel_texture_image state.
+
+commit 89bb33fb20e69d9fa5325da10abf31d61d51d371
+Author: Zack Rusin <zackr@vmware.com>
+Date: Sat Oct 10 04:45:41 2009 -0400
+
+ st/xorg: fix and enable by default xrender acceleration
+
+ src in mask was broken
+
+commit eefecf5d2a5bf9fc0f0f7919faf1747b0add8d6f
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Oct 13 09:04:54 2009 -0600
+
+ mesa: whitespace fixes
+
+commit c8413351c33d5758da057b56a140c9ee622a5e4a
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Oct 13 09:04:14 2009 -0600
+
+ mesa: do RTT check in _mesa_meta_check_generate_mipmap_fallback()
+
+ We need to check that we can actually render to the texture's format
+ before doing mipmap generation.
+
+ This may fix bug 24219.
+
+commit ca8cafda0b996167647d724ea3da3ec568a9e42f
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Oct 12 21:26:46 2009 -0700
+
+ r300g: More debug flags.
+
+commit a4a4f7abc2137754646a811007696321c7714f1b
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Oct 12 20:55:57 2009 -0700
+
+ r300g: Surface debug.
+
+ It gets really annoying watching r300g tell me how it's filling surfaces.
+ Or falling back during filling surfaces.
+
+commit 95a05621eb750c07e5c7a5eb64b8458d202192b3
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Oct 12 20:47:00 2009 -0700
+
+ r300g: Fallback on surfaces we can't render to or from.
+
+ Still not sure why st keeps handing down things we can't render to.
+
+commit 36ccdf09b8483305c7fa1366de9df2dea2fd6985
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Oct 6 16:00:27 2009 -0700
+
+ r300g: Prevent multiple-use textures from getting incorrectly approved.
+
+commit 05fc9cdfdfceaf7ca1db64bf1feccf649fe4c907
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Oct 6 15:30:39 2009 -0700
+
+ r300g: Clean up texture formats.
+
+commit 3f928b355275c0e76ead6febe471a552ece8b0a8
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Oct 12 18:11:31 2009 -0600
+
+ mesa: save/set/restore texture base/wrap state in blitframebuffer_texture()
+
+commit b5d6a8e88fb970bce596adc10a8b22f6758591f0
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Oct 12 18:09:32 2009 -0600
+
+ mesa: minor clean up in check_begin_texture_render()
+
+commit 47a7535f413d6467082de224f64eecc046227406
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Oct 12 18:08:42 2009 -0600
+
+ intel: whitespace/formatting clean-up
+
+commit 3732d0a77d2cbae50874f5a4ebdb3d8f06021a57
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Oct 12 17:41:47 2009 -0600
+
+ intel: replace extern decl with #include
+
+commit b9c28979576a566055e44cb31f3e5c0cd82754e0
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Oct 12 17:41:14 2009 -0600
+
+ intel: added INLINE keyword to minify()
+
+ This is mainly just to silence some warnings.
+
+commit c932e21fa848562325f666dce5db3b09bc61bffa
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Oct 12 17:40:33 2009 -0600
+
+ intel: code clean-ups
+
+commit e6594a22f298833eeb6881795b24d03d2fd8e898
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Oct 12 17:37:06 2009 -0600
+
+ intel: pass zslice to intel_miptree_image_offset()
+
+ This lets us get rid of intel_miptree_depth_offsets() and simplify all
+ of the calling code.
+
+commit 15d2ef602461ca75e7160af46a2b5040742a91c9
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Oct 12 17:32:16 2009 -0600
+
+ i965: remove unused var
+
+commit 96fd13c1a024e3b6c0b1c44394c67c772e52b9c9
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Oct 12 18:05:05 2009 -0600
+
+ prog/tests: Fix MSVC build.
+
+commit 6c1cd4c55856dc7d36406de21a0fb5f567fcd36f
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Oct 9 08:29:28 2009 -0600
+
+ mesa: print program Id when printing
+
+commit a5348d435da7d06478adc003a07e388915a8b346
+Author: Patrice Mandin <patmandin@gmail.com>
+Date: Mon Oct 12 21:03:26 2009 +0200
+
+ Add support for more 8 and 16 bits formats
+
+commit 7a32c0a19e77e2e735f8d5cbc5b3bb9fda9606e5
+Author: Andre Maasikas <amaasikas@gmail.com>
+Date: Mon Oct 12 14:57:45 2009 +0300
+
+ r600: implement ProgramStringNotify
+
+ need this to properly test with piglit/glean vert/fragprog tests
+ copied mostly from r300, many thanks to osiris, nha, airlied, others...
+
+commit da66d9e12d339c5c6df08ea0bd11a550c9c57b36
+Author: Andre Maasikas <amaasikas@gmail.com>
+Date: Mon Oct 12 12:58:40 2009 +0300
+
+ r600: LIT dst.y gets value from src.x
+
+ seems I overlooked this when removing hardcoded swizzles for this
+ one previously
+
+commit 97dd35bd6f2e2654b96923fd06bf9761e7b2269d
+Author: Andre Maasikas <amaasikas@gmail.com>
+Date: Mon Oct 12 12:20:26 2009 +0300
+
+ r600: DPH adds w comp of second operand, so set first one to 1 instead
+
+commit 150d4968e31e4600f9479c53f83d810b92b59cf7
+Author: Zack Rusin <zackr@vmware.com>
+Date: Sun Oct 11 21:52:10 2009 -0400
+
+ st/xorg: initialize pipe in the renderer
+
+commit 319a588238b4c0c58f8f8807e1143ad79cd8f698
+Author: Zack Rusin <zackr@vmware.com>
+Date: Fri Oct 9 09:52:17 2009 -0400
+
+ st/xorg: lots of rendering and xv changes
+
+ extract all the rendering code to xorg_rendedrer, make both exa and xv
+ share that code. in the process cleanup the rendering code and implement
+ a lot more of the xv infrastructure.
+
+commit 59ae3d51556229631f558f56268df89c885de664
+Author: Zack Rusin <zackr@vmware.com>
+Date: Tue Oct 6 12:38:47 2009 -0400
+
+ configs: fix some remains of the i915simple driver
+
+commit 4969d014e5d55985119874c8db7cb98154185802
+Author: Zack Rusin <zackr@vmware.com>
+Date: Wed Sep 30 21:22:48 2009 -0400
+
+ st/xorg: implement basics of xv
+
+commit f096cc7dc1cdae1698eb7a340cd8c7f5ea0b1166
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sun Oct 11 12:40:07 2009 +0200
+
+ r300g: Fix fragment program constants upload on R300
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 3611d01a44d5d3cd2c132e685836b1ea9c8b9922
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sun Oct 11 19:12:24 2009 +1000
+
+ r300g: fix blending default state + alpha separate.
+
+ this makes the default state same as r300
+
+commit cbf46ed670ef5a5c8a641730234dd7ae964c3170
+Author: Vinson Lee <vlee@vmware.com>
+Date: Sat Oct 10 10:45:16 2009 -0600
+
+ progs/perf: Fix MSVC build.
+
+commit 57e3eb1b178e861dee7695c9a5e1c71a4333192d
+Merge: 39daa76 768481e
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Oct 10 09:25:34 2009 -0600
+
+ Merge branch 'mesa_7_6_branch'
+
+commit 39daa763b59cc80d862709e99ee3619bd0f7a14d
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Oct 10 09:12:00 2009 -0600
+
+ softpipe: fix multi-drawbuffers regression
+
+ This is part of the fix for bug 24401.
+
+commit a74e53ddba246b1f6604c6120b63a923fd9c60d5
+Author: Cooper Yuan <cooperyuan@gmail.com>
+Date: Sat Oct 10 14:41:44 2009 +0800
+
+ r300g: add video surface create and destroy functions
+
+commit 45e76d2665b38ba3787548310efc59e969124c01
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 8 20:27:27 2009 -0600
+
+ mesa: remove a bunch of gl_renderbuffer fields
+
+ _ActualFormat is replaced by Format (MESA_FORMAT_x).
+ ColorEncoding, ComponentType, RedBits, GreenBits, BlueBits, etc. are
+ all replaced by MESA_FORMAT_x queries.
+
+commit db828ed7589d0a5687386c4b4268b4e7ff78c866
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Thu Oct 8 14:43:22 2009 +0200
+
+ st/xorg: Old X servers don't deal well with failing accesses
+
+commit 6d629d4aa211d098fe9541d0b644cf67ee1d7019
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Thu Oct 8 14:40:19 2009 +0200
+
+ st/xorg: More fallback debugging
+
+ Change the fallback debugging around a bit and do the old commit correctly
+
+commit 992b143b2551b0fe1871bc90aed984f63d04d7b5
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Thu Oct 8 14:41:06 2009 +0200
+
+ Revert "st/xorg: Debug fallbacks for composite as well"
+
+ This commit included a change that should have been in
+ its own commit, and turns out that you can do what was
+ suposed to go in it in much better way as well.
+
+ This reverts commit 5080e8bea6ae5cdb116023a5e2d8dbbb762bd69d.
+
+commit 5080e8bea6ae5cdb116023a5e2d8dbbb762bd69d
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Thu Oct 8 13:38:34 2009 +0200
+
+ st/xorg: Debug fallbacks for composite as well
+
+commit 552efdae06eae578da6d0c6d6bad4b662bce9735
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Thu Oct 8 13:13:36 2009 +0200
+
+ st/xorg: Use A8 textures for depth 8 pixmaps
+
+ There is no hardware out there that can render to I8 textures.
+
+commit a31d16cbfa5a74299f6b6acd4814d6393f46d66b
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Thu Oct 8 13:05:55 2009 +0200
+
+ st/xorg: Fix depth stencil buffers on old X servers
+
+ Sanity checking is for the weak.
+
+commit 76d2ec3a0a047a65ffca70f53848241a3225dad3
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Oct 9 07:24:04 2009 -0600
+
+ progs/tests: Add tests to Makefile.
+
+commit f36123323c9d696fec6e54882242cab15247ab0d
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 8 13:00:37 2009 -0600
+
+ softpipe: restore/fix print_vertex() debug helper
+
+commit 023bab675ad0c77f7afd23a0fd64c2a8833f6678
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Oct 9 13:57:23 2009 +0100
+
+ progs/perf: Ignores!
+
+commit c595dea23c6e77dc5d44a7f4b86916b72e09f970
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Oct 9 13:22:42 2009 +0100
+
+ util: Force ESI register for cpuid's ebx result.
+
+ Fixes a segfault and better code. Unfortunately using an arbitrary
+ register ("=r") causes the gcc to abort when the code is optimized saying
+ it can't satisfy the constraint. Setting seems to do the trick.
+
+commit 69588d7ed59a019a5272a9cc391e30c47d006aee
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Oct 9 11:29:33 2009 +0100
+
+ llvmpipe: Eliminate constant mapping/unmapping.
+
+commit d54e9f54d0d62f5a4d40cdf0530156566b84bed0
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Oct 6 16:59:07 2009 +0100
+
+ progs: Remove unused empty file.
+
+commit b858257ca698e2f7dd3004299ae91d3687ae1f1b
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Oct 5 18:32:36 2009 +0100
+
+ gdi: Fix the build when llvmpipe is requested (the default) but llvm is not present.
+
+commit 44c6c20b69839ea130a255496f5f692186b68793
+Author: Andre Maasikas <amaasikas@gmail.com>
+Date: Fri Oct 9 10:46:12 2009 +0300
+
+ r600: fixup KIL instruction a bit
+
+ - KILLGT takes 2 arguments
+ - arb KIL has no dst register
+ - add TODO about clause ending but currently piglit fp-kil passes and
+ does not hang the card
+
+commit 90692486aa79452c6421041b4b7e7f34857e3278
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 8 20:49:32 2009 -0600
+
+ docs: bump libdrm version requirement
+
+ Probably need to bump other version requirements too...
+
+commit 859828cc4fb989bc5b67d26991a090a9f37e7c05
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Oct 8 17:18:12 2009 -0700
+
+ mesa: Bump the required libdrm version to reflect reality.
+
+ Not all drivers require the latest version, but distros are good at
+ tracking it since we've got a good record as far as not regressing, and
+ it sure beats having a weird compile failure in someone else's driver
+ later on.
+
+commit 9b8d2e76c395d6e1fcd09a61cd319cdc2d70c466
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Oct 1 18:16:52 2009 -0700
+
+ i965: Use bo_references for the state cache delete function.
+
+ This appears to shave about 3% off the CPU usage in cairo-gl for firefox.
+
+commit 193dddb04e26d4e6ccefef03ce7a620606d6de5f
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Oct 1 17:53:12 2009 -0700
+
+ intel: Use new drm_intel_bo_references() to avoid flushing.
+
+commit f49d53594c8ba501c39f9a43148ce02a0ec8bfc2
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 8 12:50:42 2009 -0600
+
+ mesa: free display list state after freeing shared state
+
+ Fixes bug 24402.
+
+commit f67bc2e87255298ac22e8ccd98f482cc62d0ec26
+Merge: f7455ad f7fb30f
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 8 09:28:07 2009 -0600
+
+ Merge branch 'mesa_7_6_branch'
+
+ Conflicts:
+
+ src/mesa/drivers/common/meta.c
+
+commit f7455ad7af09b5ef31ccc454b79422a13c59af9a
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Oct 8 08:08:11 2009 -0600
+
+ progs/tests: Fix MSVC build.
+
+commit f001cc09811214f0fa9083b799ad4232f8aee836
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 7 16:51:26 2009 -0600
+
+ mesa: clean up extended opcode code
+
+commit 33e9ac20e3b399c6ec6ec2f586a9402b68590992
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 7 16:41:18 2009 -0600
+
+ mesa: move gl_list_instruction and gl_list_extensions to dlist.c
+
+commit 15f05e97aac46ffcf8a7765b0072535718833622
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 7 16:32:25 2009 -0600
+
+ mesa: added _mesa_free_display_list_data()
+
+commit fc995c72982b5f971741986fea7aa63bb5fcbd81
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 7 16:21:34 2009 -0600
+
+ mesa: clean-up display list mem allocation, fix NULL handling
+
+ The -1 term in alloc_instruction() foiled later NULL pointer checks.
+
+commit 77be195cf691bc7ba249f350e13c7ac06a78e9de
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 7 16:12:26 2009 -0600
+
+ main: replace ALLOC_INSTRUCTION macro with regular function
+
+commit 6e1697bee72a95f7d605e42ce60e2cb4a545106f
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 7 16:03:04 2009 -0600
+
+ mesa: rename display list functions
+
+ _mesa_alloc_instruction() sounded like it was related to vertex/fragment
+ program instructions, but it wasn't.
+
+commit 0083d2e40a8b0aa9ea36f98d4b6b7981d5dca0e3
+Author: Vinson Lee <vlee@vmware.com>
+Date: Wed Oct 7 14:29:23 2009 -0600
+
+ i915g: Fix MSVC build.
+
+commit 2b9418b2785b3f25fc44daf90436f24b4de35980
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 7 13:30:48 2009 -0600
+
+ softpipe: new comments
+
+commit 0fb71be2179ebf140b086682f050399809ef57b8
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 7 13:21:57 2009 -0600
+
+ softpipe: whitespace and comment fixes
+
+commit 9a0ff33ad60cb63d430c4f93f6531f7aa2ec2ba8
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 7 13:17:20 2009 -0600
+
+ softpipe: prefix non-static functions with sp_
+
+commit cf6209b274c83f3018c9f0855de769285325b98f
+Author: Joakim Sindholt <opensource@zhasha.com>
+Date: Wed Oct 7 21:02:18 2009 +0200
+
+ r300compiler: fix scons build again
+
+commit 7ca7220ea1d31dbdbf1fe7e6f3e6cc4ff8b0abde
+Merge: 57abb76 5b4c0b8
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Wed Oct 7 20:45:08 2009 +0200
+
+ Merge branch 'master' into r300g-glsl
+
+ Conflicts:
+ src/gallium/drivers/r300/r300_tgsi_to_rc.c
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 5b4c0b864a25fa193e7ba828cf5ce483ca05bd4e
+Merge: 3f5a316 9fde81b
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Wed Oct 7 20:39:22 2009 +0200
+
+ Merge branch 'mesa_7_6_branch'
+
+commit 3f5a316f36e2d376104640033c8bcefef3810ef4
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Oct 7 17:50:03 2009 +0100
+
+ util: do some more util_blit_pixels cases without temporaries
+
+ When the source surface is pointing at a 2d texture with only one
+ mipmap level, use that directly rather than creating a temporary.
+ Probably want to cover more cases, but this is a start.
+
+commit c0de2ed5055b951ff523c3b25eecfc82d1f307ef
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Oct 7 17:48:45 2009 +0100
+
+ mesa/st: add missing mesa constant file name
+
+ There are many different names for constants in mesa, we were missing
+ one since the ureg rewrite.
+
+commit 2ef1aae1633db98fc52f440ca33b8f2a6f153d45
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Oct 7 09:58:03 2009 -0600
+
+ st/mesa: pass pipe_screen, not pipe_context to st_choose_format() functions
+
+ These don't depend on context state, but use a screen pointer.
+
+commit de81b2cf0a465e2c6c43c7f9f864129728b3a080
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Wed Oct 7 16:36:39 2009 +0200
+
+ st/dri: Add missing front buffer case in dri_get_buffers().
+
+ This seems to help for compiz at least with some drivers.
+
+ Also add an assert(0) to catch unhandled cases in the future.
+
+commit 0f0127f6f9ee6c976c707cd406bf392aea978976
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Wed Oct 7 03:28:04 2009 +0100
+
+ i915g: Use buffer write instead of map for lit vertices
+
+commit f8ba93aefdf23b88a945d6037cd2e672c99b314c
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Wed Oct 7 03:26:03 2009 +0100
+
+ i915g: Change order of buffer_write arguments
+
+ They now follow the pipe_buffer_write style,
+ its the gallium driver that sets the interface not
+ the winsys.
+
+commit 030723fc5d3faa919cac245fc7b13430ca201826
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Wed Oct 7 01:40:37 2009 +0100
+
+ i915g: Disable vbuf fifo and minor commenting of vbuf code
+
+ The vbuf fifo doesn't appear to help once the libdrm
+ reuse flag has been set.
+
+commit 74d61d03b54d72217d463c248468cdcd09320efc
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Oct 6 22:30:01 2009 -0600
+
+ mesa: added MESA_FORMAT_XRGB8888
+
+commit aec2c010f6dc2febcd5f3a10a0dc92738db68e1a
+Author: Younes Manton <younes.m@gmail.com>
+Date: Tue Oct 6 22:07:47 2009 -0400
+
+ nv04-nv40: Fix swizzle transfers for NPOT sizes.
+
+ Workarounds not necessary, SIFM can handle NPOT, we just weren't setting
+ dst dimensions properly. SIFM can't handle odd w,h though, that still
+ needs fixing.
+
+commit c5b725489243e6a94ca5e31306cdfa93619bd200
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Oct 6 19:01:43 2009 -0600
+
+ mesa: added case for MESA_FORMAT_SIGNED_RGBA_16
+
+commit c13b9a141d77845517bf7cab20cff6115c31e67d
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Oct 6 19:00:09 2009 -0600
+
+ mesa: added MESA_FORMAT_SIGNED_RGBA_16 for accum buffers
+
+commit f7b5e616e07b5caa27e91bb5733a8a849d5963f6
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Oct 6 18:56:29 2009 -0600
+
+ mesa: added _mesa_get_format_color_encoding()
+
+commit edfd2f7c4f942ed0c1aa1238ab0684ee7dd889a2
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Oct 6 18:54:13 2009 -0600
+
+ mesa: accept more pnames in _mesa_get_format_bits()
+
+commit 9c778a90ea24f25437b68bb67856c81add61e261
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Oct 6 16:02:47 2009 -0600
+
+ progs/tests: fix MSVC build.
+
+commit 57abb76e1095d14f54ea8b8d0d2220e209b8656f
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Tue Oct 6 21:24:44 2009 +0200
+
+ r300/compiler: Fix R300 vertex program dumps
+
+ The source register field has 8 bits.
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit bcfba138cc7ffbf8163b29dc4a89520369a00f96
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Tue Oct 6 21:13:27 2009 +0200
+
+ r300/compiler: Fix yet another regression in register allocation
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit a09bd685daa9f2eebf7c7b428dc0da4595dd6459
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Tue Oct 6 20:24:46 2009 +0200
+
+ r300/compiler: Fix a really stupid logic inversion in the generic dataflow code
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 9e42f0ebc7e538e0bff7c8c8539532ff2fc3c475
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Tue Oct 6 20:07:38 2009 +0200
+
+ r300/compiler: Fix regression in pair scheduling
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 017fae04ec75818bb6ace3a0dcda67d29947a1bd
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Oct 5 18:42:58 2009 -0700
+
+ progs/perf: Fix MSVC build.
+
+commit ec58dac86d3068b47c5a4e0187ef56985dcbf75c
+Author: Andre Maasikas <amaasikas@gmail.com>
+Date: Mon Oct 5 09:38:52 2009 +0300
+
+ r600: r700PredictRenderSize can flush, so move index buffer setup after it
+
+commit 340436d8d2f5f6360c2920de3a7547af95deb8f6
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Tue Oct 6 13:55:48 2009 +1000
+
+ nv50: fix segfault when there's gaps in enabled texture units
+
+ Tested with progs/demos/multiarb.
+
+commit 4911443d364e38bf93915cf9587f5cf8791cb30d
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Tue Oct 6 13:18:09 2009 +1000
+
+ nouveau: fix buffer object leak
+
+ Very apparent with resizing windows on DRI2.
+
+commit db8b363eb9fd03a377f8d1f1bab5b29c64a3caa7
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Mon Oct 5 18:30:43 2009 -0700
+
+ i915g: Add more defines to tweek batchbuffer
+
+commit ce3c2b51a23c1f674b7a6e862d238c3935d72ca3
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Mon Oct 5 18:11:25 2009 -0700
+
+ i915g: Tweek vertexbuffer size
+
+commit 3e34a2a2b97e7c93955deedb7c12b73bccd6662d
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Oct 5 18:11:35 2009 -0600
+
+ drivers: don't include texformat.h
+
+ And remove other unneeded #includes while we're at it.
+
+commit 90cd968300b8490f6efd75ef751fd3b6554f16d3
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Oct 5 17:56:31 2009 -0600
+
+ mesa: don't include texformat.h
+
+commit 019bc97bd900a84f5f999afdb42928e92d33814b
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Oct 5 17:54:20 2009 -0600
+
+ mesa: move _mesa_format_to_type_and_comps() to formats.c
+
+commit be0765cd6ec47cf068775197f312a1123e044566
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Oct 5 17:50:33 2009 -0600
+
+ mesa: move gl_format_info struct to formats.c
+
+ This is a private datatype.
+
+commit 7e7f38a67d82191076b95f6faa0d419df68610da
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Oct 5 17:48:22 2009 -0600
+
+ mesa: remove feature tests
+
+commit 6ec3db6cab95c1025d4afa0e7951246b5aa51b48
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Oct 5 17:28:39 2009 -0600
+
+ mesa: use FetchTexelf() instead of FetchTexelc()
+
+commit 41bee4cff54c6a4c3ee193c80164a4b81863774b
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Oct 5 17:27:50 2009 -0600
+
+ mesa: add parenthesis
+
+commit 1a2bb37264b4448d33f2948fe1702c9dc936395d
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Oct 5 17:12:36 2009 -0600
+
+ mesa: lift _mesa_set_fetch_functions() calls out of drivers
+
+ Call it from in the main Mesa glTexImage functions.
+
+commit bbbf55fa8419549debbba9ac6dc011b2c18ef24c
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Oct 5 16:52:26 2009 -0600
+
+ mesa: make _mesa_get_texel_fetch_func() static
+
+commit 722ae91722342ae8d32244a0e0c3a8ad1fdae4e2
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Oct 5 14:43:38 2009 -0600
+
+ i965g: remove 965/brw files from XLIB_WINSYS_SOURCES
+
+commit 55770d09c18c4d33403abb97dfef4f897efbbe2a
+Merge: f00da2a 79892e7
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Oct 5 14:42:08 2009 -0600
+
+ Merge branch 'mesa_7_6_branch'
+
+ Conflicts:
+
+ src/gallium/auxiliary/util/u_cpu_detect.c
+
+commit f00da2a3ff59c1a7104ac25a1c6eba5a6050ad68
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Sep 29 16:07:11 2009 -0700
+
+ i915g: Drop the simple sufix
+
+ None of the other driver have a silly sufix,
+ so just drop it. Nothing new added in this commit
+ or any other commit but this is better marketing.
+
+commit c4b821a4c64d75d944653d665bede946763ed95b
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Sep 29 10:22:15 2009 -0700
+
+ i965g: Drop i965simple
+
+ The driver never work with real hardware and has
+ bitrotted for quite some time now, might as well
+ drop it. If somebody wants to look at it just use git.
+
+commit 1f39d59a2996e2acf6893a8dd1a0293bd8790cc2
+Author: Joakim Sindholt <opensource@zhasha.com>
+Date: Mon Oct 5 19:25:04 2009 +0200
+
+ r300g: fix scons build
+
+ So I didn't touch r300compiler, but r300g now compiles after having
+ declarations and code untangled. As nha so gently points out, we shouldn't
+ have to do this just to comply with MSVC compilers.
+
+commit 6971be783b970f882e873fa40e2dccde4137201f
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Oct 5 16:45:38 2009 +0100
+
+ util: Improve the cpuid assembly.
+
+ No need to save ebx on 64bit. Use just xchgl. Refer to gcc's cpuid.h header.
+
+ Thanks to Uros Bizjak for pointing this out.
+
+commit 75e0a376cd32b127f3168c0af12992b5c8576e92
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Oct 5 11:05:34 2009 +0100
+
+ mesa: Copy textures' base format into wrapper renderbuffer.
+
+ Otherwise st_copy_texsubimage will fallback to software blit due to
+ inconsistent base formats.
+
+commit b02ef740b90029bc40629e5b81270a8cf77101d3
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Oct 5 15:50:11 2009 +0100
+
+ mesa/st: add ST_DEBUG environment variable
+
+ At last it's possible to turn on tgsi dumps and other debugging in the
+ state tracker without modifying sources...
+
+commit 6a085184ebf251f145181796e317ffa179a38bae
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Oct 5 15:46:47 2009 +0100
+
+ util: add lost code to util_make_fragment_tex_shader_writemask()
+
+ This got ported to ureg at some point, but lost the code that
+ distinguishes it from regular util_make_fragment_tex_shader().
+
+commit 0b032eabc77d0e28fc0746cbd8ffb94859fd130d
+Author: Andre Maasikas <amaasikas@gmail.com>
+Date: Mon Oct 5 12:53:40 2009 +0300
+
+ r600: update vertex program selection for draw path
+
+commit d47de5054091a5d1fa9b19687ac80bcdc39a5f8f
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Mon Oct 5 15:51:47 2009 +1000
+
+ st/dri: avoid segfault if we can't get a pixmap's buffers
+
+ Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
+
+commit 7bfc3172e88cc7ad8be9ab81de56f7e263c15824
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Mon Oct 5 13:41:33 2009 +1000
+
+ nv50: support PIPE_FORMAT_X8R8G8B8_UNORM
+
+ Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
+
+commit 5313f1be11568b21f2e5fa5e8607bcbb422c3cab
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Mon Oct 5 13:39:34 2009 +1000
+
+ nouveau: return pitch value from local_handle_from_texture()
+
+ Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
+
+commit 7aeaca33c331f70d507fc83583b13b8d9fc3e847
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Mon Oct 5 14:42:45 2009 +1000
+
+ mesa: fix return value when clipping {Read,Draw}Pixels height <= 0
+
+ Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
+
+commit 1336989ec60fff7bd590fefd28945a0e5dc536e3
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Mon Oct 5 15:32:55 2009 +1000
+
+ st/dri: no need to request fake front buffer, only handle it being returned
+
+ The previous behaviour was incorrect, and resulted in EXT_tfp being broken
+ for DDX drivers that implement the correct behaviour (intel/radeon/nouveau).
+
+ In the cases where a fake front buffer is required, the X server will
+ return one when requesting __DRI_BUFFER_FRONT_LEFT.
+
+ The Xorg state tracker (aka modesetting_drv) is likely broken now until
+ it's modified to match the other drivers.
+
+ Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
+
+commit 7a2271c65963c86ec1e5d9523b2eecf9ee59fe9d
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Oct 4 21:59:24 2009 +0100
+
+ util: Make assert a no-op on non-debug builds.
+
+ This ensures that an assertion like
+
+ assert(expensive_test());
+
+ won't have any penalty on release builds. It also implies that no vital
+ code should be in assert expressions.
+
+commit 77ef7050587bba43c219e9d22170237898b2bb23
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Oct 4 13:25:24 2009 +0100
+
+ llvmpipe: Ensure tile cache transfers are mapped before flushing it.
+
+commit 589ec337f0080893baba996201cf65bb6e1a2fec
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Oct 4 13:04:08 2009 +0100
+
+ llvmpipe: Autogenerate lp_tile_soa.c from u_format.csv.
+
+ This is just a temporary change until we code generate the tile read/write
+ functions in runtime. The new code avoids an extra memcpy that exists in
+ u_tile.c functions, from which lp_tile_soa.c was originally based.
+
+ This achieves up to 5% improvement, particularly in frames with
+ little geometry overlap.
+
+commit 7a7dfb09aadf0509db4c1e2752fff5b75c59406b
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Oct 4 12:49:31 2009 +0100
+
+ util: Fix cpuid invocation for x86_64.
+
+commit eb2e41f0c636eb77634ec7ada93b869a43f11e9f
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Oct 4 11:36:42 2009 +0100
+
+ llvmpipe: Remove loop testing from format testing.
+
+ Loop building will be rewritten.
+
+commit 10981c0a767f146ca649e50af9871cd499b0617e
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Oct 4 11:35:50 2009 +0100
+
+ llvmpipe: Match header's protection macro with filename.
+
+commit cd0a39681377644b7d4574c9a33acbc9c844bb59
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Oct 3 22:15:17 2009 +0100
+
+ llvmpipe: Adjust format assertion.
+
+ We support array layout too -- if it has a single channel.
+
+commit a6b300ac98427eece73c312e6fc73f4127c6ab65
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sun Oct 4 18:26:15 2009 +0200
+
+ r300/compiler Add support for more of the Sxx set instructions
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 12e89e0e511d996db8e6eb11253dad4cdfab2083
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sun Oct 4 17:53:08 2009 +0200
+
+ r300/compiler: Emit flow control instructions and ALU result writes on R500
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 2a929a08ab4fa4501dca88cc988cbf469b7deeb5
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Sep 30 19:44:38 2009 -0700
+
+ r300g: xRGB and RGBx formats.
+
+ We now have 48 GLX visuals. Pretty soon, we'll have 90+ visuals,
+ only five of which ever get tested. :3
+
+commit a30560e6f0fc8e3056f48a140c9c6b582f5e2e77
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sun Oct 4 16:49:53 2009 +0200
+
+ r300/compiler: Refactor the radeon_pair code to support control flow instructions
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 995135479d5662d1b1970c0f233c3c3d944d8b4d
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sun Oct 4 11:25:48 2009 +0200
+
+ r300/compiler: Refactor to allow different instruction types
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit e6b137dcce58ca074458b184304573613917553f
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sun Oct 4 11:13:09 2009 +0200
+
+ r300/compiler: Introduce aluresult register for branch operation support
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit f194d2737b059cf6b99caa18f8ec2d46a55ada88
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Sat Oct 3 23:08:39 2009 +0100
+
+ intel: Suppress a compiler warning for an pointer->int cast
+
+ intel_pixel_read.c: In function ‘do_blit_readpixels’:
+ intel_pixel_read.c:221: warning: cast from pointer to integer of
+ different size
+
+ Cast via an intermediate (GLintptr) instead and hope the result fits
+ within GLuint... [It should as we simply do not support textures *that*
+ large!]
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 470ec8d42e1941c0ad773084693323f96a83e64d
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Fri Oct 2 19:46:03 2009 +0100
+
+ intel: Assert that relocation offsets are within the target
+
+ This should catch the common programming error where we attempt to
+ emit a relocation to beyond the end of the target buffer.
+
+ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit b7cf887ca74561469c144f1d12227e1bcf277e7e
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sat Oct 3 21:28:59 2009 +0200
+
+ r300/compiler: Introduce control flow instructions and refactor dataflow
+
+ Note that control flow instruction support isn't actually fully functional yet.
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit cbb57bf726619a34a244acaebf0dcd77750cba54
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Oct 3 19:42:22 2009 +0100
+
+ llvmpipe: Fetch tile only if a color buffer is bound.
+
+commit 6d25b9125ec1e66e0e255b0ee20fe18dfe1076fa
+Merge: 81c7561 7d2699a
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sat Oct 3 19:30:48 2009 +0200
+
+ Merge branch 'master' into r300-compiler
+
+commit 7d2699aedc084d9cb9c2bd2f8bdb5f038271ac1e
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sat Oct 3 16:18:57 2009 +0200
+
+ prog_parameter: Document the fact that Size may be > 4
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 81e5188f66248424d54fcf1d85a81510694bd472
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sat Oct 3 19:20:31 2009 +0200
+
+ r300g: Do not abort on fragment program compiler error
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 59b20b760d63dad15d4d62a43bae8b7e26085c79
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sat Oct 3 17:56:51 2009 +0200
+
+ r300g: Fix memory leak in radeon_texture_from_shared_handle
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit aa6aa77a1be91022933975dbccf8f2aabc584baa
+Author: Sedat Dilek <sedat.dilek@gmail.com>
+Date: Sat Oct 3 18:01:58 2009 +0200
+
+ r300g: Build in the trace and softpipe driver for xorg state tracker
+
+ Same as in src/gallium/winsys/drm/intel/xorg/Makefile
+
+ Thanks MrCooper for explanations on IRC
+
+ [ Summary amended by Michel Dänzer to clarify that this is related to the xorg
+ state tracker ]
+
+commit b330cebe01c5574e203fa6b9d49fee4c01e1adb6
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Sat Oct 3 18:01:58 2009 +0200
+
+ radeon: Cope better with texture images with no miptrees.
+
+ Fixes crash with compiz magnifier plugin.
+
+commit f741c1eed4559329a89fbf8da569889bbcdace26
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Sat Oct 3 18:01:58 2009 +0200
+
+ swrast: Move up state validation in _swrast_ReadPixels.
+
+ This ensures the driver won't map the wrong set of textures.
+
+commit 4a6759b7789dc703a8ee9f1cf08af22c6e8101fb
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Sat Oct 3 18:01:57 2009 +0200
+
+ meta: Make sure texImage->TexFormat is valid for CopyTex(Sub)Image.
+
+commit 26df8af4fe4173eb52132dc63ee789b80a7a4db2
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sat Oct 3 17:49:16 2009 +0200
+
+ r300g: Remove an unnecessarily created pipe buffer (and thus fix a leak)
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit fce2095a90440d1c129583fb8b6c26a93d4bde13
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sat Oct 3 17:39:32 2009 +0200
+
+ st/dri: Install APPLE_vertex_array_object functions
+
+ Besides from being necessary to use that extension, it also fixes a crash
+ when deleting the currently bound vertex array object.
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 751aa58e01bd2b4f35aa0e1477d77a0dc5490f39
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sat Oct 3 17:24:04 2009 +0200
+
+ r300g: Reset vbo_offset after allocation of a new buffer
+
+ This fixes the glxgears bug, among other things.
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit ebbd65eb0658adcb797e0788a3472a7b69b3bfc2
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sat Oct 3 02:11:02 2009 +0200
+
+ st/dri: Install ARB_vertex_array_object functions
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit be16acaafa2f28bb7d4551ed93d2e290c928006c
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Oct 2 13:59:41 2009 -0600
+
+ mesa: optimized _mesa_meta_BlitFramebuffer() for src=texture case
+
+ If the src renderbuffer is actually a texture, we can directly use that
+ texture as the src and avoid a copy.
+
+commit 4182b58169c1c37833c590d00d0a6a52b2b55326
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Oct 2 10:53:56 2009 -0700
+
+ i965: Use a little stack space to avoid a malloc in wm_get_binding_table.
+
+commit 6d0fc3cfde3dd730de17e925c5594a8b317ba200
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Oct 1 17:59:05 2009 -0700
+
+ mesa: Remove another unexplained Flush call, this time from BindFramebuffer.
+
+ Combined with the previous fix, it takes cairo-gl firefox-talos-gfx time
+ from 120 seconds to 90 seconds on my GM45.
+
+commit f019577f0c2ff83e20bd198a467ddb03579ddae3
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Oct 1 16:53:12 2009 -0700
+
+ Revert "Flush driver, not just tnl module."
+
+ This reverts commit df058298e1570eea8712f9bb051f674fab2eaf24. It didn't
+ explain why it was required, doesnt appear to be required, and is a
+ significant performance penalty for cairo-gl firefox.
+
+ Conflicts:
+
+ src/mesa/main/fbobject.c
+
+commit 3d78a86cd777aecce544d14b85177a71e9c142ce
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Oct 1 18:07:57 2009 -0700
+
+ intel: Remove an unexplained flush from intelClearWithBlit.
+
+commit 3f623cfffee8db83ba8e0302fc5e3d1f40d1b0b5
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri Oct 2 14:25:52 2009 -0400
+
+ r600: remove support for host-based ibs
+
+ no longer used now that the hw supports this natively.
+
+ Also, clean up some formatting.
+
+commit 918199fb0f5d84121e0ac5821168cd0e886b22e9
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Oct 2 15:36:47 2009 +0100
+
+ mesa/st: don't reuse vertex buffers for bitmap, clear quads
+
+ Currently using max_slots > 1 will cause synchronous rendering
+ if the driver flushes its command buffers between one bitmap and the
+ next.
+
+ Need to improve buffer_write to allow NO_WAIT (as well as no_flush)
+ updates to buffers where we know there is no conflict with previous
+ data.
+
+commit 316b4ddcf770e453b888ff7fbf96cb0aec1ce106
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Fri Oct 2 18:13:26 2009 +0200
+
+ st/xorg: Use PIPE_TRANSFER_MAP_DIRECTLY flag in EXA PrepareAccess hook.
+
+ Propagate NULL return value.
+
+ This also allows removing the DRM_MODE_FEATURE_DIRTYFB specific pixmap
+ management hacks.
+
+commit 9db647bb7ac5b8e560c49222b4e0c98a3acc4672
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Fri Oct 2 18:13:26 2009 +0200
+
+ gallium: Add PIPE_TRANSFER_MAP_DIRECTLY usage flag.
+
+ Asks the driver to map the texture storage directly or return NULL if that's
+ not possible.
+
+commit 47e41b024e325f69ed514e551a6824afa58f1db6
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Fri Oct 2 18:13:26 2009 +0200
+
+ gallium: Preparations for adding more PIPE_TRANSFER_* usage flags.
+
+ Always test for PIPE_TRANSFER_READ/WRITE using the bit-wise and operator, and
+ add a pipe_transfer_buffer_flags() helper for getting the buffer usage flags
+ corresponding to them.
+
+commit 7d4b348c67dbc2eff1d7dd0c043a76bc0eae57ab
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Oct 2 08:55:25 2009 -0600
+
+ intel: wrap _mesa_meta_GenerateMipmap()
+
+ Need to check if we'll take the software path so which requires mapping the
+ src texture image.
+
+ Fixes crash in piglit gen-compressed-teximage, bug 24219. However, the
+ test still does not pass (it may never have).
+
+commit f1cab802b8e78906413f219ad354f5d5500b4d3f
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Oct 2 08:54:55 2009 -0600
+
+ mesa: added _mesa_meta_check_generate_mipmap_fallback()
+
+commit 32aa40eee46fd0b15f3873069f2440ea2dd75408
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 1 21:13:25 2009 -0600
+
+ mesa: removed gl_texture_image::CompressedSize field
+
+ Just call ctx->Driver.CompressedTextureSize() when we need to get
+ the compressed image size.
+
+commit f9f7646fe64364f74cc8dd1a6d5ca3a6700f142f
+Author: Younes Manton <younes.m@gmail.com>
+Date: Thu Oct 1 22:25:46 2009 -0400
+
+ g3dvl: Formatting.
+
+commit 577f12fbba0b30925f43832ffd15214ca2218dca
+Author: Younes Manton <younes.m@gmail.com>
+Date: Thu Oct 1 22:17:47 2009 -0400
+
+ g3dvl: Delete state_trackers/g3dvl, other unused files.
+
+commit fcb595c04f9ee275eae49b7bb7c61246671f5ce2
+Author: Younes Manton <younes.m@gmail.com>
+Date: Thu Oct 1 22:16:10 2009 -0400
+
+ g3dvl: Copyright blocks.
+
+commit 62db9b21da6ccad6301feae9b90d53d46224c854
+Author: Younes Manton <younes.m@gmail.com>
+Date: Thu Oct 1 22:01:18 2009 -0400
+
+ st/xvmc: Set default CSC matrix to BT.601, no ProcAmp, full range RGB.
+
+commit e00da1476fcdf8e5877fc1e62118080f5c4193f0
+Author: Younes Manton <younes.m@gmail.com>
+Date: Thu Oct 1 21:53:17 2009 -0400
+
+ g3dvl: Color space conv interface & vl impl.
+
+ Interface is pipe_video_context::set_csc_matrix().
+
+ vl_csc.h defines some helpers to generate CSC matrices based on one of
+ the color standard and a user defined ProcAmp (brightness, contrast,
+ saturation, hue).
+
+commit 8c92a531fb7e0d2de2a06610b2dff98eeb19c985
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 1 19:01:02 2009 -0600
+
+ mesa: reformatting
+
+commit bb659f6e53095d4eeef85a3d586721306a0c3e80
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 1 16:43:22 2009 -0600
+
+ progs/tests: additional debug code
+
+commit 4ca9ba254462b9be55b78df1d50519e10b2f4d73
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 1 16:42:37 2009 -0600
+
+ mesa: move mesa_set_fetch_functions()
+
+commit 073d55f5849c6338a6381e8bc51c074524b5687b
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 1 16:41:47 2009 -0600
+
+ radeon: fix tx_table[] entry
+
+ XXX need to still verify that the table entries are in correct order.
+
+commit 4208a8c02615841702619eb5891c0a61f96a5a00
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 1 16:41:24 2009 -0600
+
+ savage: s/Xfree/_mesa_free/
+
+commit 354d66e2f58bb19efcd9a0f8b2398d3f1dc4248d
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 1 16:30:47 2009 -0600
+
+ mesa: simplify _mesa_compressed_texture_size()
+
+commit b6bdafdf2cf1110b4a5ca7cf9e1c3dcb124b800f
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 1 16:29:44 2009 -0600
+
+ mesa: remove gl_texture_image::IsCompressed field
+
+ Use _mesa_is_format_compressed() instead.
+
+commit 040fd7ed44c21a1faaa6475888e9365e8f0de42b
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 1 16:27:23 2009 -0600
+
+ mesa: added _mesa_format_row_stride()
+
+commit 1c7ec97ec47f294dcfc0c6a87ee26bb3565f95d4
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 1 15:59:13 2009 -0600
+
+ mesa: added _mesa_format_image_size()
+
+commit 81aa5d717bd0098608e9cc292b316293800c7e11
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jul 29 13:07:49 2009 -0700
+
+ i915: Add stub ARB_occlusion_query support under a driconf debug option.
+
+ This is useful for enabling our GLSL testcases using the 2.0 entrypoints
+ even though we don't have full GL 2.0.
+
+commit 862a2a55b35d1dec9224b025a6e7a0cf8593a6a7
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jul 29 13:00:09 2009 -0700
+
+ i915: Add optional support for ARB_fragment_shader under a driconf option.
+
+ Other vendors have enabled ARB_fragment_shader as part of OpenGL 2.0
+ enablement even on hardware like the 915 with no dynamic branching or
+ dFdx/dFdy support. But for now we'll leave it disabled because we don't
+ do any flattening of ifs or loops, which is rather restrictive.
+
+ This support is not complete, and may be unstable depending on your shaders.
+ It passes 10/15 of the piglit glsl tests, but hangs on glean glsl1.
+
+commit 67f4d626d39f2c340fa1632d3e4344c547301508
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jul 29 20:44:39 2009 -0700
+
+ i915: Add support or fallbacks for GLSL fragment shader opcodes.
+
+commit f9f31b25740887373806cb489e5480dc9b261805
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Oct 1 14:00:28 2009 -0700
+
+ i915: Add support for varying inputs.
+
+commit 7d4b7460b0e565d0574c00d1d40c426cfebc290d
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jul 29 12:15:14 2009 -0700
+
+ i915: Enable ARB_vertex_shader for both i915 and i830.
+
+ Since the TNL is all done in software anyway, it should be the same to
+ the user who's probably using ARB_vertex_program otherwise, but gives them
+ a nicer programming environment.
+
+commit 96a3c69d48bb7c021181e061d010cca08198ae4c
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jul 30 00:03:21 2009 -0700
+
+ i915: Increase maximum program size to the hardware limits.
+
+ This fixes potential heap trashing if the program of choice exceeds limits,
+ and fixes the native instructions limit being lower than what can be
+ used by valid programs.
+
+commit 61b512c47c9888f3ff117faf3aceccfb52d59c3a
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jul 29 23:37:04 2009 -0700
+
+ i915: Update and translate the fragment program along with state updates.
+
+ Previously, we were doing it in the midst of the pipeline run, which gave
+ an opportunity to enable/disable fallbacks, which is certainly the wrong
+ time to be doing so. This manifested itself in a NULL dereference for PutRow
+ after transitioning out of a fallback during a run_pipeline in glean glsl1.
+
+commit d6fbf87575a59e24c5d47b8b6b8700ee4583709b
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jul 29 22:46:14 2009 -0700
+
+ Revert "i915: don't validate PS program when falling back to software"
+
+ This reverts commit e7044d552c6d16389447880b8744a51de1cf0199. It
+ prevented the driver from ever recovering from a software fallback due
+ to a program error. The original bug it claimed to fix doesn't appear to
+ exist post-revert.
+
+commit 4ff816751f74b0645c198372937eec589c458a60
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jul 29 22:39:15 2009 -0700
+
+ i915: Bail when the fragment program has too many total instructions.
+
+ Previously, we'd go trashing the heap.
+
+commit 994d1db079b4947e6f10ab22a4b366a676382345
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jul 30 12:32:40 2009 -0700
+
+ i915: Let i915_program_error take a format string, and don't use _mesa_problem.
+
+ It's misleading to report things like the program having too many native
+ instructions as a Mesa implementation error, when the program may just be
+ too big for the hardware.
+
+commit 5d2413fca4c252ec5c7880fa7f983b5df3d762ba
+Merge: 15c5764 18883cd
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 1 13:35:42 2009 -0600
+
+ Merge branch 'mesa_7_6_branch'
+
+commit 15c57648cd87d344777e3aafa79a9be970b83979
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 1 13:14:16 2009 -0600
+
+ objviewer: remove disabled code
+
+commit 9745e26adbb6529c39b1f4625761bf7dfa096888
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 1 13:13:28 2009 -0600
+
+ objviewer: mouse/keyboard info in README file
+
+commit d622c4ddba074ce6057cafa63f63ea595bbc212e
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 1 13:11:38 2009 -0600
+
+ docs: added objviewer to release notes
+
+commit 24f31ab861ead205d7414b7a6997f1024839f1ef
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 1 13:11:25 2009 -0600
+
+ mesa: add objviewer to PROGRAM_DIRS
+
+commit 0b1de63ad88657192aa06164a903aa348692ce56
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 1 13:11:13 2009 -0600
+
+ mesa: add progs/objviewer to tarball list
+
+commit 8d93a4c6398129a80a6e049aea88ab7a82f3d110
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 1 13:07:01 2009 -0600
+
+ objview: clean up drawing VBO code
+
+commit c7c62521fbb0d525f89225d9bd42a5443503c967
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 1 13:05:25 2009 -0600
+
+ objview: set skybox texture filter
+
+commit 336994e54cdc105f60ea37a541caed32da4615f1
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 1 13:05:13 2009 -0600
+
+ objview: check GL version/extension
+
+commit ca1bda552d1cd1a6ddc911e535681a10b9c2d846
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Oct 1 12:58:36 2009 -0600
+
+ progs/objviewer: Wavefront .obj file loader/viewer demo
+
+ Adapted from code written by Nate Robins. See README.txt.
+
+commit e32a341be66391e0ea1cc6ce19bbd57997f46b6b
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Thu Oct 1 16:45:11 2009 +0200
+
+ st/xorg: Check that ms->api->destroy is not NULL before calling it.
+
+ Fixes potential crash on X server shutdown.
+
+commit 0b466c8705c9000c347760b5daafdf31c291736d
+Author: Robert Noland <rnoland@2hip.net>
+Date: Wed Sep 30 10:14:38 2009 -0700
+
+ util: Enable sockets on BSD
+
+ I think this should be safe for all of the BSDs.
+
+ Signed-off-by: Robert Noland <rnoland@2hip.net>
+ Signed-off-by: Brian Paul <brianp@vmware.com>
+
+commit 908ecb3faa6345392307a1d21b3bef9d5c513f12
+Author: Robert Noland <rnoland@2hip.net>
+Date: Wed Sep 30 09:36:18 2009 -0700
+
+ util: define PIPE_OS_FREEBSD to correct u_cpu_detect on FreeBSD.
+
+ Since the various BSDs use some different features here,
+ define PIPE_OS_OPENBSD and PIPE_OS_NETBSD as well
+
+ Signed-off-by: Robert Noland <rnoland@2hip.net>
+
+commit f8d8f4527884d018a51daf8cc6281b52ce083b9e
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 30 09:30:27 2009 -0600
+
+ mesa: better debug message
+
+commit 4456006ba626890172289111403e469f49106e18
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Oct 1 14:34:23 2009 +0100
+
+ gallium: remove depth.occlusion_count flag
+
+ This was redundant as drivers can just keep track of whether they are
+ inside a begin/end query pair. We want to add more query types later
+ and also support nested queries, none of which map well onto a flag like
+ this. No driver appeared to be using the flag.
+
+commit ae2daacbac7242938cffe0e2409071e030e00863
+Author: Cooper Yuan <cooperyuan@gmail.com>
+Date: Thu Oct 1 17:54:27 2009 +0800
+
+ st/mesa: fix non-mipmap lastLevel calculation.
+
+ reviewed by Brian Paul.
+
+commit 8c36ca707ca8879d6f888de7733ffb6b04ddc48a
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 30 22:50:05 2009 -0600
+
+ swrast: fix some texformat regressions
+
+ Need to be careful with component ordering for MESA_FORMAT_RGB888
+ and MESA_FORMAT_RGBA8888.
+
+commit 3d6a20e5b6c7567ed64fceed7744cf39eea34400
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 30 21:08:06 2009 -0600
+
+ mesa: rename texformat_tmp.h to texfetch_tmp.h
+
+commit 60843e3ee59b00cee4ec1048823d1dd24756d849
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 30 21:04:14 2009 -0600
+
+ mesa: remove MESA_FORMAT_RGBA4444
+
+ Not used by any hardware driver. ARGB4444 and ARGB4444_REV remain.
+
+commit 3fa7dbf368bb060220e9f78e666b00d6827166a6
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 30 21:00:16 2009 -0600
+
+ mesa: remove GLchan-based formats; use hw 8-bit/channel formats instead
+
+ Removed: MESA_FORMAT_RGBA, RGB, ALPHA, LUMINANCE, LUMINANCE_ALPHA, INTENSITY.
+
+commit 74ae14a2bde4f87a554c3d96e6f4a9a02591308d
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 30 20:47:54 2009 -0600
+
+ mesa: move texel fetch/store into new texfetch.[ch] files
+
+commit 884d1abb2ac1a2ce872a5b09fd4228159defcf26
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 30 20:36:25 2009 -0600
+
+ st/mesa: update comment
+
+commit bdc761b0f9c8856193de6e8617c566851d010783
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 30 20:35:32 2009 -0600
+
+ mesa: remove gl_texture_format
+
+commit 1f7c914ad0beea8a29c1a171c7cd1a12f2efe0fa
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 30 20:28:45 2009 -0600
+
+ mesa: replace gl_texture_format with gl_format
+
+ Now gl_texture_image::TexFormat is a simple MESA_FORMAT_x enum.
+ ctx->Driver.ChooseTexture format also returns a MESA_FORMAT_x.
+ gl_texture_format will go away next.
+
+commit 81a62edc088278e97288db7b17f6b485af8976b0
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Wed Sep 30 18:01:46 2009 +0200
+
+ st/xorg: Fix debug option function call typo.
+
+commit cef97267d696d37f4dccb22951499ca25d5d87ad
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Sat Sep 12 18:59:13 2009 +0800
+
+ mesa/main: New feature FEATURE_beginend.
+
+ This feature corresponds to the Begin/End paradigm. Disabling this
+ feature also eliminates the use of GLvertexformat completely.
+
+commit a73ba2d31b87e974f6846a8aaced704634f6f657
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Wed Sep 9 15:00:08 2009 +0800
+
+ mesa/main: Make FEATURE_dlist follow feature conventions.
+
+ As shown in mfeatures.h, this allows users of dlist.h to work without
+ knowing if the feature is available.
+
+commit aefa1f6ab1d9267b223b06ae205ab34c8e0d7c02
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Tue Sep 8 10:25:22 2009 +0800
+
+ mesa/main: Make FEATURE_evaluators follow feature conventions.
+
+ As shown in mfeatures.h, this allows users of eval.h to work without
+ knowing if the feature is available.
+
+commit 42fac11d437d6bf2cb27f9487dedf7fb396616d4
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Tue Sep 8 17:45:59 2009 +0800
+
+ mesa/main: New feature FEATURE_queryobj.
+
+ It merges FEATURE_ARB_occlusion_query and FEATURE_EXT_timer_query, and
+ follows the feature conventions.
+
+commit 80630d1fed6cd32e75f5e97e2cd27509be21d093
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Tue Sep 8 14:32:08 2009 +0800
+
+ mesa/main: New feature FEATURE_arrayelt.
+
+ This allows the removal of AEcontext.
+
+commit cc95de82e5939586771d478e662cb458bbc42c20
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Tue Sep 8 11:01:19 2009 +0800
+
+ mesa/main: Make FEATURE_texgen follow feature conventions.
+
+ As shown in mfeatures.h, this allows users of texgen.h to work without
+ knowing if the feature is available.
+
+commit 301a510092859d2e214d64f4ac2ebe03d591c64b
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Tue Sep 8 10:52:01 2009 +0800
+
+ mesa/main: Make FEATURE_feedback follow feature conventions.
+
+ As shown in mfeatures.h, this allows users of feedback.h to work without
+ knowing if the feature is available.
+
+commit 67a2a4e901367418a5c28e7b0963bf9c0c4762ba
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Tue Sep 8 10:15:06 2009 +0800
+
+ mesa/main: Make FEATURE_drawpix follow feature conventions.
+
+ As shown in mfeatures.h, this allows users of drawpix.h to work
+ without knowing if the feature is available.
+
+commit d25080074f2da1ebc47cdfb5c3491740a57ec03f
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Tue Sep 8 10:05:36 2009 +0800
+
+ mesa/main: New feature FEATURE_rastpos.
+
+ It is separated from FEATURE_drawpix and made to follow the feature
+ conventions.
+
+commit cab7ea03688ec73dd71c0b969f2db30cabeb713c
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Mon Sep 7 18:06:00 2009 +0800
+
+ mesa/main: Make FEATURE_histogram follow feature conventions.
+
+ As shown in mfeatures.h, this allows users of histogram.h to work without
+ knowing if the feature is available.
+
+commit 2b36db496d34c60a3f987fa88d52bf5684713240
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Mon Sep 7 18:20:10 2009 +0800
+
+ mesa/main: Make FEATURE_attrib_stack follow feature conventions.
+
+ As shown in mfeatures.h, this allows users of attrib.h to work without
+ knowing if the feature is available.
+
+commit a833ff0f53da6e365d917bb0081d909a809b6ec1
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Mon Sep 7 17:51:42 2009 +0800
+
+ mesa/main: Make FEATURE_accum follow feature conventions.
+
+ As shown in mfeatures.h, this allows users of accum.h to work without
+ knowing if the feature is available.
+
+commit e82b02c7e839189bcafe6c81ae8972fe6a88dd01
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Wed Sep 30 12:32:22 2009 +0800
+
+ progs/egl: Make demo3 work again.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 28c2190336aec5b0b1d0f74d08e32dc604bcc4c1
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Wed Sep 30 12:13:34 2009 +0800
+
+ progs/egl: Check EGL_MESA_screen_surface is supported in demo2.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit e0b2848f4fadc832f68c3c1a059546684935969d
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Wed Sep 30 12:28:01 2009 +0800
+
+ progs/egl: Fix a crash in demo1.
+
+ The variable "configs" in main() is used without initialization.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 4b95481e951424e24c9ab817998ae50b54ab9f84
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Wed Sep 30 11:36:01 2009 +0800
+
+ st/egl: Fix a double free in drm_destroy_context.
+
+ st_destroy_context has destroyed the pipe context for us.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit dd81cc885c3d0619921a7de7e00618e412c05697
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Wed Sep 30 11:32:36 2009 +0800
+
+ st/egl: Fix a crash when unbinding current context.
+
+ This fixes a NULL-pointer dereference when
+ eglMakeCurrent(dpy, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT)
+ is called.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit fa8df0c40d44c2f1fe982a07619b1cbf1bfed271
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Wed Sep 30 11:13:16 2009 +0800
+
+ progs/egl: Replace EGL_i915 by EGL_DEFAULT_DISPLAY.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit cb0de06301cd086a02ca709917819119dc1a8fd9
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 29 10:22:32 2009 -0600
+
+ mesa: added nopfrag/nopvert options for MESA_GLSL
+
+ These options can be used to force vertex/fragment shaders to be no-op
+ shaders (actually, simple pass-through shaders). For debug/test purposes.
+
+commit c7aee65bb96df3f8e8421b5125dca84c028e9073
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Sep 28 15:26:12 2009 -0600
+
+ mesa: added _mesa_nop_vertex/fragment_program()
+
+ For debug/test purposes.
+
+commit baddcbc5225e12052b3bc8c07a8b65243d76574d
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Sep 29 17:26:20 2009 +0100
+
+ llvmpipe: Workaround for bug in llvm 2.5.
+
+ The combination of fptosi
+ and sitofp (necessary for trunc/floor/ceil/round implementation)
+ somehow becomes invalid code.
+
+ Skip the instruction combining pass when SSE4.1 is not available.
+
+commit a02ecdf8c2fc5783a4bc82e8cd9d36f0dec7ccec
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Sep 29 17:22:39 2009 +0100
+
+ llvmpipe: First verify LLVM IR, only then run optimizing passes.
+
+commit 754f48871c3be671031d9a495fc96a42b71da349
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Sep 29 17:21:34 2009 +0100
+
+ llvmpipe: Runtime cpu checks for lp_build_min_simple too.
+
+commit 741c40a232637c933c9273bbdef905397e54bc94
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Sep 29 16:59:13 2009 +0100
+
+ llvmpipe: Implement non SSE4.1 versions of floor and round.
+
+commit 124f5875eae0b914d5c679fec6b25633907ad843
+Merge: 170bd0c 69a3043
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 29 09:46:49 2009 -0600
+
+ Merge branch 'mesa_7_6_branch'
+
+ Conflicts:
+
+ Makefile
+ configs/default
+ docs/relnotes.html
+ src/gallium/drivers/softpipe/sp_context.c
+ src/gallium/drivers/softpipe/sp_tile_cache.c
+ src/mesa/main/version.h
+
+commit 170bd0c8827f6f65c7bfa5a7fb68ba0678ed57ba
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Sun Sep 27 16:40:43 2009 +0800
+
+ egl_xdri: Report full list of supported configs.
+
+ Call _eglConfigFromContextModesRec to convert __GLcontextModes to
+ _EGLConfig. Single-buffered configs are no longer skipped.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit d845f2754bb8c0677323a5922cb90f9ea42bdb1f
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Sun Sep 27 17:00:51 2009 +0800
+
+ egl: Add support for querying render buffer.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 55893b9439754c5213a9c182ee84f6c2554a0281
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Sun Sep 27 16:14:36 2009 +0800
+
+ egl: Add a function to convert __GLcontextModes to _EGLConfig.
+
+ _eglConfigFromContextModesRec is used to convert a __GLcontextModes to a
+ _EGLConfig. Note that the config is not validated. An invalid mode
+ is likely to give an invalid config.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 56822b0812cd500bd54bb7c4b573c54547efb657
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Fri Sep 25 23:43:49 2009 +0800
+
+ egl: Rework config lookup.
+
+ Make it similiar to how contexts and surfaces are looked up. It should
+ be slightly faster, and work better with multiple displays.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 95cdd697e7e72cec1d0fe79c59a8ba7b8cef8571
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Fri Sep 25 23:24:03 2009 +0800
+
+ egl: Rework configuration management.
+
+ This mainly implements the algorithms for configuration selection and
+ sorting, described in the spec. User errors should also be correctly
+ detected and reported.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 358c5a8fd1d518930c3e87316a2c743a661ac553
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Fri Sep 25 22:54:34 2009 +0800
+
+ egl: Introduce config keys.
+
+ Config keys are almost config attributes. A valid config attribute is a
+ valid config key, but a valid config key may not be a valid config
+ attribute.
+
+ This commit does not distinguish the differences.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 7cda8ea44c2b65265cefa79bd29a4990ac81cee6
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Sep 29 13:58:58 2009 +0100
+
+ llvmpipe: Emit SSE intrinsics based on runtime cpu capability check.
+
+ Note that llvmpipe still doesn't run on any processor yet: if you don't
+ have a recent processor with SSE4.1 you will still likely end up
+ hitting a code path for which a generic non-sse4 version is not
+ implemented yet.
+
+commit a81fb2a0d2c9a94fa362705edd1281fa7699d093
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Sep 29 13:25:08 2009 +0100
+
+ util: Cleanup u_cpu_detect, build. Support X86_64 and detect SSE4.1 too.
+
+ I was waiting for the need to use this code to arise, and it finally came.
+
+ I've tested building this on Linux and Windows, both x86 and x64_64. But
+ it might break other platforms. Please bear with me and help me fix it.
+
+ Many thanks to Dennis Smit who submitted this, and Eric Anholt whose
+ work this was based on.
+
+commit 8210abb113462c781a8f3ffee3406493c108a2f0
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Sep 29 13:17:36 2009 +0100
+
+ gallium: New PIPE_OS_UNIX to simplify code that is portable to all unices.
+
+commit 60f3f22a52422b11cc71149a28e24a14a9251205
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Sep 29 10:38:47 2009 +0100
+
+ i915: Fix MSVC build.
+
+commit 57d0fcba67f637b89b020371b91a3c7cd7b048c2
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Sep 28 19:44:30 2009 +0100
+
+ python: Update for surface_buffer_create change.
+
+commit bd2e36a38fe1e0b61a97338c342aa0e7aee334db
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Sep 28 19:02:34 2009 +0100
+
+ g3dvl: assert.h -> util/u_debug.h
+
+commit 7db33440a800f134204a1ee7d2d595da1771c3ed
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Sep 28 19:01:49 2009 +0100
+
+ g3dvl: Define PIPE_VIDEO_CODEC_UNKNOWN for failures.
+
+ gcc 4.4 seems particularly picky with int -> enum conversions.
+
+commit ac9c8b6359be770f1ed3e97100c497bd91338874
+Author: Andre Maasikas <amaasikas@gmail.com>
+Date: Mon Sep 28 11:23:49 2009 +0300
+
+ r600: use CB_TARGET_MASK instead of CB_SHADER_MASK for setting color mask
+
+ makes blend functions work better
+
+ Signed-off-by: Dave Airlie <airlied@linux.ie>
+
+commit 7c5f3c3d8a63b0feee154092153e958fa4f24abd
+Author: Andre Maasikas <amaasikas@gmail.com>
+Date: Mon Sep 28 10:42:35 2009 +0300
+
+ r600: user correct alpha blend factor
+
+ Signed-off-by: Dave Airlie <airlied@linux.ie>
+
+commit a230ad2bc440e9d332482ea453e7ab7f4a5b8bd2
+Author: Andre Maasikas <amaasikas@gmail.com>
+Date: Tue Sep 29 09:46:29 2009 +0300
+
+ r600: clear position enable bit when when wpos is not used by FP
+
+ Makes doom3 alot nicer..
+
+commit 3a8d525373c50c6cdc9ae5dd00e7298ab58df8c6
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Mon Sep 28 11:19:26 2009 -0700
+
+ st/xorg: Add debug for fallbacks
+
+commit e226bf8a5d1e916b6c99397987eea4f31ee5de3b
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Sun Sep 27 14:03:24 2009 -0700
+
+ st/xorg: Make debug printing optional
+
+commit e2e7bd6c1f979179e6840cf0e8db72fc72751650
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Sep 28 21:55:47 2009 -0600
+
+ mesa: move StoreTexImageFunc typedef to .c file
+
+commit 0a306daf71588fc4ccfdc14450f8cd4ce00f9833
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Sep 28 21:52:43 2009 -0600
+
+ mesa: use _mesa_texstore()
+
+commit 6480210b89dc8ae0990c450d27870c7b7930f251
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Sep 28 21:52:23 2009 -0600
+
+ st/mesa: use _mesa_texstore()
+
+commit 49263e08561e3380115f9e09056190f67fcb1890
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Sep 28 21:49:38 2009 -0600
+
+ mesa: make individual texstore functions static
+
+commit cb0ef0cbf8116ebb8317b5711e1f119369bdf8f7
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Sep 28 21:49:10 2009 -0600
+
+ glide: use _mesa_texstore()
+
+commit b436d729d1a2aacc13e274883b4dbdd104bdd1ad
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Sep 28 21:46:34 2009 -0600
+
+ drivers: use _mesa_texstore
+
+commit 0b1f4dc0fa62c46030b39a0f7027dd1b0ef966fd
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Sep 28 21:41:11 2009 -0600
+
+ drivers: use new _mesa_texstore() function
+
+commit 660ca9c5a23240abca084089a626d4a94ef0799f
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Sep 28 21:40:50 2009 -0600
+
+ mesa: new _mesa_texstore() function
+
+commit d492e7b017178c03b4979cf4ff266162d83c4f37
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Sep 28 14:03:40 2009 -0700
+
+ meta: Fix invalid PBO access from DrawPixels when trying to just alloc.
+
+ This whole reuse of buffers (TexSubImage instead of TexImage, SubData
+ instead of Data) is bad for hardware drivers, but it's even worse when
+ we accidentally try to access the 2x2 PBO to fill the new 16x16 texture
+ we're creating, producing GL errors.
+
+ Fixes piglit pbo-drawpixels. Bug #14163.
+
+commit e885cb48a0b9292b3df9204f1c2783bf1fe29a28
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Sep 28 11:42:31 2009 -0700
+
+ intel: Drop my generatemipmap code in favor of the new shared code.
+
+commit 8b23755ce978247a92c00e390de2e459c0a9d5ad
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Sep 21 17:13:31 2009 -0700
+
+ intel: Remove some dead metaops code.
+
+commit 41865d991f5703b6a9faa33ee6ac1d256af5c2a2
+Merge: 05bad19 d39fd9f
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Sep 28 12:03:23 2009 -0700
+
+ Merge branch 'mesa_7_6_branch'
+
+ Conflicts:
+ Makefile
+ src/mesa/main/version.h
+
+commit 05bad193f56d48384097e37e47fae3fdda85f144
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Sep 28 10:03:58 2009 -0600
+
+ st/mesa: check gl_texture_object::GenerateMipmap field when allocating texmem
+
+ In guess_and_alloc_texture() use the gl_texture_object::GenerateMipmap
+ field as another hint as to whether to allocate space for a whole mipmap.
+
+commit 8fda97afb8b7a03415dbca6d83691d2d6461126c
+Merge: eb82373 eeb7e04
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Sep 28 10:02:20 2009 -0600
+
+ Merge branch 'mesa_7_6_branch'
+
+commit eb82373abb08171d7fcb15b5f4f229fc9ca9aa91
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Sep 28 09:22:33 2009 -0600
+
+ mesa: use _mesa_get_current_tex_unit() helper
+
+commit 6920a355c1fafb243efc8693d845cd8b524b6b0a
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Sep 28 09:03:26 2009 -0600
+
+ progs/perf: Include local headers before installed headers.
+
+ Fixes compilation errors on platforms with older installed GL headers.
+
+commit 653ae04bea557085778c599c3b8f32a6f1479686
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Sep 25 16:38:14 2009 -0600
+
+ progs/tests: print usage info upon SPACE/u
+
+commit c8de476189de4df8de5148354b2f99cbb6dfd54b
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Sep 25 16:37:15 2009 -0600
+
+ progs/tests: re-indent mipmap_limits.c
+
+commit 9871521b302117682afbefa7316a41a1a00485b2
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sun Sep 27 10:56:42 2009 -0400
+
+ llvmpipe: Grab a ref when the fb is set.
+
+ Based on softpipe commit a77226071f6814a53358a5d6caff685889d0e4ec.
+
+commit 56870534803982a73019ddd77dab300d146f77c6
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Sep 28 13:03:03 2009 +0100
+
+ softpipe: Fix MSVC build.
+
+commit 22658c165077c8449d52ea9c3ab7b3bbb5e38468
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Sep 28 13:02:42 2009 +0100
+
+ g3dvl: Fix MSVC build.
+
+ pipe/p_compiler for integer types. No declarations out of scope.
+
+commit 99e1745af9a6a1fe1ebc65b17afb5f1a975348d2
+Author: Cooper Yuan <cooperyuan@gmail.com>
+Date: Mon Sep 28 17:55:38 2009 +0800
+
+ r300g: fix r300g cause GPU hang issue.
+
+ why there are two input position semantic tags is that ureg doesn't
+ set vs input semantic due to commit: 6d8dbd3d1ec888
+
+ so use vs input index instead of semantic name.
+
+commit 70c44073ad3f333ed40c5c297a934a359c839e94
+Author: Younes Manton <younes.m@gmail.com>
+Date: Mon Sep 28 00:17:33 2009 -0400
+
+ xvmc: Fail on unsupported formats, operations.
+
+commit c0745670d830a644c1b398fb0c6bda165c1095fa
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sun Sep 27 23:54:36 2009 -0400
+
+ g3dvl: Missing semicolon.
+
+commit 729ff875f4c951798d2372940608201a6b195ca6
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 27 21:32:12 2009 -0600
+
+ mesa: change _mesa_format_to_type_and_comps() format parameter type
+
+commit bd00a7fa4bb4bb71cd2eaf7ebb6749a709b5fdb9
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 27 21:22:57 2009 -0600
+
+ mesa: sort texstore_funcs[] array, remove search loop
+
+commit d52d51ab8ae1240f77b6c18c3e99be4bf4868037
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sun Sep 27 23:14:52 2009 -0400
+
+ g3dvl: Formatting and cleanups.
+
+commit 749e50442a2a4e6a15434dfed47a9b87df353fa6
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 27 21:14:43 2009 -0600
+
+ mesa: fix render buffer _BaseFormat assignment
+
+commit ef089604a9cdcb4efa0850de393e04aa8d002fae
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 27 21:14:12 2009 -0600
+
+ mesa: use texture format functions
+
+commit 4fc344790d0fefa3c38c63cadc4ee6a52633b006
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 27 21:13:46 2009 -0600
+
+ mesa: update comments
+
+commit e987ea9d2181acec2fc70538ffbb92d7ab15d918
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 27 21:07:57 2009 -0600
+
+ mesa: use more mesa format functions
+
+commit 5767a677a0129015dcc568b6f5d2d323fae8a63f
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 27 20:59:28 2009 -0600
+
+ mesa: fix GL_TEXTURE_LUMINANCE_SIZE query
+
+commit a2b663fe38a6e42786092412402aacf8f6d071f8
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 27 20:58:05 2009 -0600
+
+ mesa: use more mesa format functions
+
+commit af0adb585223f6227f4c5c8564df8d7f6622d30f
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 27 20:56:04 2009 -0600
+
+ mesa: use more mesa format functions
+
+commit 5cf5d4be21bdac203dc244e9b773a852ddb1baf1
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 27 20:51:18 2009 -0600
+
+ mesa: use more format helper functions
+
+commit 5978cbdf7728df7952c9c04165ece23394a5fb95
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 27 20:40:53 2009 -0600
+
+ mesa: code movement
+
+commit ddffe4546a81216cde4376ee49cbaa021f4d04bb
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 27 20:40:35 2009 -0600
+
+ drivers: use more mesa format functions
+
+commit 9fbb8884f034e0d691fed0e099d4d796f3b42848
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 27 20:24:59 2009 -0600
+
+ mesa/drivers: use _mesa_get_format_bytes()
+
+commit e0bc4533ebccbfb844522e2b6ddd171b97d693e8
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 27 20:07:41 2009 -0600
+
+ mesa/drivers: use _mesa_get_format_bytes()
+
+commit b58bc12ed4a3de6c828bd26c4820d7ddbb1eabd6
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 27 19:58:18 2009 -0600
+
+ via: use mesa texture format helper functions
+
+commit 97c28bb63a4e1029eaf36d23b780f4d3396118a0
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sun Sep 27 21:54:20 2009 -0400
+
+ g3dvl: Move XvMC under the Xorg state tracker.
+
+commit 21db8959c1134b43c9fe6d6179ee8fd9cde0b911
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 27 19:53:54 2009 -0600
+
+ glide: use _mesa_get_format_bytes()
+
+commit 2de768328067fa42501bdd4b753490e7a00167a4
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 27 19:51:45 2009 -0600
+
+ mesa: use _mesa_get_format_base_format()
+
+commit db8aca3a398e16f7dc23d3321787274d07d13138
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 27 19:49:51 2009 -0600
+
+ mesa: use _mesa_get_format_bytes()
+
+commit 5ab5f16919f6aaa19f5c92fd562e43dee18e30bc
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 27 19:42:36 2009 -0600
+
+ mesa: added _mesa_get_format_datatype()
+
+commit b64d478a5bd4af4128938782d787abe02a0896ee
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 27 19:38:21 2009 -0600
+
+ mesa: use _mesa_get_format_bits()
+
+commit c28d78f8324cfc17936af63c258a1cc55d590d60
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 27 19:07:44 2009 -0600
+
+ mesa: added _mesa_get_format_bits()
+
+commit a608257a02d2ba4e8119be462bbd40ed238b184a
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 27 18:57:02 2009 -0600
+
+ mesa: remove unused gl_texture_format fields
+
+commit e8eed5003b01fe8a4349711382411ac80b1c0aa3
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 27 18:53:22 2009 -0600
+
+ mesa: added MESA_FORMAT_NONE
+
+commit cccdc43fa9a8c49cdbdb545de8ff91c528b1ed47
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 27 18:50:04 2009 -0600
+
+ mesa: move StoreTexImageFunc to texstore.h
+
+commit 27e201e9c4dd66bbf8fd2bc3ac3292550b94a14a
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 27 18:49:14 2009 -0600
+
+ mesa: rework null texel fetch/store funcs
+
+commit 05e73cc8e23e348ea8243dd2584a44ee5d3a4dd2
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 27 18:39:48 2009 -0600
+
+ mesa: replace function pointer types with void *
+
+ These fields are no longer used and will be removed soon.
+
+commit adce34e23b431e184c4a511464f5cb0281c74db5
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 27 18:39:17 2009 -0600
+
+ st/mesa: use _mesa_get_texstore_func()
+
+commit f782f90c45fc9a483483ebd36c1971ecd0c7988d
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 27 18:38:50 2009 -0600
+
+ mesa: use _mesa_get_texstore_func()
+
+commit d73cd703161dab3f2a6890bbe62d92fd548c1ed6
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 27 18:34:12 2009 -0600
+
+ glide: use _mesa_get_texstore_func()
+
+commit 9525b92efbe0d2b44b3b5518464ca28575188bf7
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 27 18:28:48 2009 -0600
+
+ mesa: NULL-out unused texformat field initializers
+
+commit f76cbac04abf26617bd65b50e923db8728a4f33f
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 27 18:28:22 2009 -0600
+
+ mesa: use _mesa_get_texstore_func()
+
+commit e07862d2c949bcae7c71e9fc8e90e4694ed25bb3
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 27 18:27:59 2009 -0600
+
+ st/mesa: use _mesa_get_texstore_func()
+
+commit 8abb984dc93235e00b5006187bf177da5db257e1
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 27 18:19:24 2009 -0600
+
+ mesa: null-out StoreTexImageFunc fields
+
+commit e44c85637a3298918e292e9ddba812856cf92924
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sun Sep 27 20:18:02 2009 -0400
+
+ g3dvl: Implement XvMC using pipe_video_context.
+
+commit 431ba64222ad5365dfcdac1f06d80f0e7a26dbfd
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 27 18:17:32 2009 -0600
+
+ mesa: use _mesa_get_texel_store_func()
+
+commit da5722bea6e2f613933d3e3da214da8cd0047d2e
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 27 18:09:23 2009 -0600
+
+ mesa: use new look-up table to get texel fetch/store funcs
+
+commit 7116ae857c6ef3809c712e96b28bd69d92b3cd33
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 27 18:08:49 2009 -0600
+
+ mesa: make some s3tc/fxt1 functions public
+
+commit 6c6896bd25034fb4c457110f45fe73277a9ce463
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 27 18:02:02 2009 -0600
+
+ progs/tests: disable texturing before printing text
+
+commit f547472bfa0a797adacc2a7688b4c1ba65381a80
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sun Sep 27 19:49:06 2009 -0400
+
+ g3dvl: pipe_video_context interface, softpipe impl, auxiliary libs
+
+commit da793b743462e84e3bca7a0ed7f24b4c942e0834
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sun Sep 27 14:40:14 2009 -0400
+
+ util: Add util_next_power_of_two() for rounding a uint up to a POT.
+
+commit 0f91e4461fb3a7410c948acde270d97caa851ed6
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 27 17:07:22 2009 -0600
+
+ mesa: minor clean-up in _mesa_texstore_srgb8()
+
+commit 722b76156486bbb03f8504e8f7a5db05b9257da5
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 27 17:01:41 2009 -0600
+
+ mesa: use _mesa_get_texstore_func() to get texture image store func
+
+commit 540039887ac19b5fdd099ccaad6b44b5db973c25
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sun Sep 27 22:30:45 2009 +0200
+
+ r300g: fix erroneous condition
+
+commit 98f6bea1685957fe9261e50f8a56f7dcb34f9b38
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sun Sep 27 22:28:46 2009 +0200
+
+ r300g: don't force vertex position for HW TCL path
+
+ It could be generated by vertex shader.
+
+commit bedc6b7bdff40156b66cb2473c47512e5c95bdab
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sun Sep 27 22:20:41 2009 +0200
+
+ r300g: add some assertions
+
+ Not sure why we are getting a shader with two inputs with position semantic, but we don't know how to handle it correctly so it's better to stop the app than lock the machine.
+
+commit 8c8b77a5f3ec1dac0bddc98da3ccbb64f58f22e0
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sun Sep 27 22:18:49 2009 +0200
+
+ r300g: plug memory leak
+
+commit a6eb593072298d60286f49a09e6d3a849b684dfb
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sun Sep 27 22:15:15 2009 +0200
+
+ r300g: add some debugging info
+
+commit d85fe842b86aef522e0e749d9360d85052a6e8cc
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Sep 28 06:42:25 2009 +1000
+
+ r300g: fix r300 rs path
+
+commit b1252c7a342e24571ccf5fe94938bbabbdf9aa11
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sun Sep 27 20:34:13 2009 +1000
+
+ r300g: rewrite RS state setup.
+
+ Not 100% sure this is correct, but its more correct than what was here previous
+ however it may require changes in the input routing for the frag shader.
+
+commit 225c3375fdfc4a3744c3a7a777664ef94923a2ce
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sun Sep 27 20:31:55 2009 +1000
+
+ r300g: silence compiler warning
+
+commit 48c45959ee106727fe9dd2d57bc0ca278710aab8
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Sun Sep 27 13:12:11 2009 -0700
+
+ i915g: Submit direct vertex buffers
+
+commit 2d71b541d7de818f4cb47a61d3a86c0ffbb6163c
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Sun Sep 27 13:11:49 2009 -0700
+
+ i915g: Fix warning
+
+commit 973e9a774a176be3a8f0849892b568888d41e932
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Wed Sep 23 11:57:18 2009 -0700
+
+ i915g: Tile shared buffers as well
+
+commit 5aecddc1532d6c7f5095145a50eed0405ea2bda4
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Wed Sep 23 11:54:22 2009 -0700
+
+ i915g: Make sure to map tiled buffers via the gtt
+
+commit 60d72d9e45b08c14ea4195950302f93e52e03603
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Wed Sep 23 11:53:50 2009 -0700
+
+ i915g: Use boolean
+
+commit c3663bdc35d393194da9fb3b4d5120ea70eb1bbe
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Tue Sep 22 17:00:46 2009 -0700
+
+ i915g: Enable reuse of buffers
+
+commit dd586078bef433d0830df0b60c768c617a8ae8cd
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Tue Sep 22 20:22:13 2009 -0700
+
+ st/egl: Remove buffer from screen
+
+ It is no longer needed since the new drm api code,
+ and it incorrectly checked if the buffer where there
+ for testing completeness when it should have checked
+ the texture instead.
+
+commit eea30906de37ea3b2f8a594c2b33b643d3dde987
+Author: Richard Li <richardradeon@gmail.com>
+Date: Sun Sep 27 14:47:12 2009 -0400
+
+ r600 : Enable draw_prim.
+
+commit a77226071f6814a53358a5d6caff685889d0e4ec
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sun Sep 27 10:56:42 2009 -0400
+
+ softpipe: Grab a ref when the fb is set.
+
+ Nasty bug when the surface is freed and another is allocated right on
+ top of it. The next time we set the fb state SP thinks it's the same
+ surface and doesn't flush, and when the flush eventually happens the
+ surface belongs to a completely different texture.
+
+commit bcca927562c1e2e38e649f2e70a695ddafa4ef2c
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Sat Sep 26 12:35:19 2009 -0700
+
+ progs/rbug: Link to math
+
+commit 485105ed182e2e997b084f047e72d5a2c3460057
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Sep 26 12:32:13 2009 -0600
+
+ mesa: move _mesa_get_texstore_func() to texstore.c
+
+commit 22108bb571808542b89677752d62d3901698265f
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Sep 26 12:26:18 2009 -0600
+
+ mesa: begin removing dependencies on gl_texture_format in texstore code
+
+commit a7455f9fc64f0e2e09e65c0b7d76b539bce8a79b
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Sep 26 12:25:02 2009 -0600
+
+ mesa: added formats.c to build
+
+commit 9e7b56c98006033daa206c51b320b1b6cbc2f281
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Sep 26 12:24:17 2009 -0600
+
+ mesa: include formats.h
+
+commit 813870fd9588de101f68728507cff726d7513695
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Sep 26 12:21:03 2009 -0600
+
+ mesa: initial check-in of new formats.[ch] files
+
+commit eb5dd947fbed35478784e777fe2e59564fee051b
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sat Sep 26 19:32:46 2009 +1000
+
+ r300g: add tx depth support in register.
+
+ also enable cube/3d bits in txformat reg
+
+commit 9bf85f6b95cb684d16b6035381b1f8a9c44f473f
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sat Sep 26 18:38:39 2009 +1000
+
+ r300g: only pass complete texture state to hw setup function
+
+ No point passing things twice here, also allows more state
+ to be setup properly.
+
+commit ec9c02187e698c26d7df3e408c1173acca9ccdd0
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sat Sep 26 18:38:07 2009 +1000
+
+ r300g: add missing break in OQ emit
+
+commit 1df539ce87ab38ebae67d63a353b01f4cf5edc79
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Sep 26 09:33:32 2009 +0100
+
+ llvmpipe: Allow building with LLVM 2.6 too.
+
+commit 28f531e3fe95c9fad2bf2f09aef0343ab079bff2
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sat Sep 26 18:25:00 2009 +1000
+
+ r300g: report GL1.5, enable cap bits for OQ and shadow.
+
+ Its not like it works well on 1.3 so may as well reach for greater
+ heights.
+
+ Signed-off-by: Dave Airlie <airlied@redhat.com>
+
+commit 20d3c85128192b2d3f75b68f47ab9aadc2719c5a
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sat Sep 26 18:24:34 2009 +1000
+
+ r300g: add z16 unorm texture format
+
+commit 07183b73ebafe2d1083f1c572978317768725b99
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sat Sep 26 16:39:13 2009 +1000
+
+ r300g: fix texture pitch to correct value.
+
+ pitch is pixels - 1, not bytes.
+
+commit 8130375e775bd5ba6a47412b0ea8ec9f23dc5972
+Merge: c19482b 09af58d
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Fri Sep 25 16:57:38 2009 -0700
+
+ Merge branch 'asm-shader-rework-2'
+
+ Conflicts:
+ src/mesa/shader/program_parse.tab.c
+
+commit c19482b16f164ce1b6625d18950a4644e5834373
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Fri Sep 25 20:49:53 2009 +0200
+
+ st/xorg: Re-enable accelerated fills and copies.
+
+ These seem to work well enough now with the new code. Composite acceleration
+ isn't quite there yet and thus remains disabled in xorg_composite_bind_state()
+ for now.
+
+commit 07e2d6edfac618729bc2321fd64e15f34360d5fa
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Fri Sep 25 20:49:53 2009 +0200
+
+ st/xorg: Flush render cache if but only if a source has pending write operations.
+
+commit 626553f327394b835cecaf4795692028c2378efa
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Fri Sep 25 20:49:53 2009 +0200
+
+ st/xorg: Reject Composite acceleration for some cases not working yet.
+
+commit 9c449502a2a92bc71bc438f366138ae82404c066
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Fri Sep 25 20:49:00 2009 +0200
+
+ st/xorg: Make sure struct is fully initialized.
+
+ gcc complained about a missing initializer.
+
+commit b0ddfe8a3dc3dfee87dd382a4aa7cbd03a395f37
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Fri Sep 25 20:38:49 2009 +0200
+
+ st/xorg: Use generic semantic for Composite mask coordinates.
+
+commit ac2e0ddcd8f33505aee20e94dd64a804812f07fb
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Fri Sep 25 20:38:49 2009 +0200
+
+ st/xorg: Flesh out EXA PrepareComposite hook a little.
+
+ Check that the formats are supported, and don't crash with source-only
+ pictures.
+
+commit b97547027e0f049d1ceef7863815d53e471fb18c
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Fri Sep 25 20:38:49 2009 +0200
+
+ st/xorg: Use I8 format instead of A8 for depth 8 pixmaps.
+
+ Seems to work better for Composite acceleration.
+
+commit 67fb13ba682951d3aa61efca25614cdde6bb70f2
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Fri Sep 25 20:38:49 2009 +0200
+
+ st/xorg: Bind rasterizer state for copies.
+
+commit 7edda9350acbf84b63ad67af8053fb07785637cb
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Fri Sep 25 20:38:49 2009 +0200
+
+ st/xorg: Source-only pictures always have format PICT_a8r8g8b8.
+
+ See xserver/render/picture.c:createSourcePicture(). This both simplifies the
+ code and avoids a crash because pFormat is NULL.
+
+commit 07f107467ed1e301b1362298c350ff3758a1f22f
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Fri Sep 25 20:38:49 2009 +0200
+
+ st/xorg: Better checks for unsupported component alpha pictures.
+
+commit 69c7fc128c59bf72df461dbd583bf9794d9ed34d
+Author: Michal Krol <michal@vmware.com>
+Date: Fri Sep 25 10:57:33 2009 +0200
+
+ softpipe: Grab fs output z from the correct file.
+
+commit a0fbc01ceaef08b33f97936d8840a6f48ec1654d
+Author: Michal Krol <michal@vmware.com>
+Date: Fri Sep 25 10:48:19 2009 +0200
+
+ softpipe: Do not advertise support for L16 and YCBCR formats.
+
+commit 02b81187dcf606ebf064ac23888e5c57d0528edf
+Author: Michal Krol <michal@vmware.com>
+Date: Fri Sep 25 18:51:55 2009 +0200
+
+ radeon: Fix newlines.
+
+commit ecf3091cc78638919f1977ccc0307c51b6731385
+Merge: 5f4f7ad 46da1f2
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Sep 25 09:00:19 2009 -0600
+
+ Merge branch 'mesa_7_6_branch'
+
+ Conflicts:
+
+ src/mesa/drivers/dri/intel/intel_clear.c
+
+commit 5f4f7ad965c40327f16297606ed4f425598bfc2c
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Fri Sep 25 10:53:01 2009 +0200
+
+ nv50: fix TEX for WriteMask not equal 0xf
+
+ If you e.g. only need alpha, it ends up in the first reg,
+ not the last, as it would when reading rgb too.
+
+commit 513cadf5afad18516f7299ade246f59d520753d0
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Thu Sep 24 17:37:08 2009 +0200
+
+ nv50: actually enable view volume clipping
+
+ Until now, only primitives wholly outside the view volume
+ were not drawn.
+ This was only visibile when using a viewport smaller than
+ the window size, naturally.
+
+commit 001daf78c87b2d194b51bc650bf9f917d4224e31
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Thu Sep 24 17:24:48 2009 +0200
+
+ nv50: RCP and RSQ cannot load from VP inputs
+
+commit ef6805710d5c1b139695704051754f39654c8a2e
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Fri Sep 25 10:33:02 2009 +0200
+
+ nv50: fix CEIL and TRUNC
+
+ Separated the integer rounding mode flag for cvt.
+
+commit e2b8dc3e38d1efddf2ded2e47a9e3092455d0f8a
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Fri Sep 25 10:24:40 2009 +0200
+
+ nv50: implement BGNLOOP, BRK, ENDLOOP
+
+ There's a good chance a loop won't execute correctly
+ though since our TEMP allocation assumes programs to
+ be executed linearly. Will fix later.
+
+commit 1196f9fbd68d9f3d1acd3d097711b382d7489f41
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Thu Sep 24 16:39:56 2009 +0200
+
+ nv50: implement IF, ELSE, ENDIF opcodes
+
+commit 16a6ca9b2bd4f91aad69d4a5d36402e70a46bd37
+Author: Cooper Yuan <cooperyuan@gmail.com>
+Date: Fri Sep 25 15:15:20 2009 +0800
+
+ r300g: add texture format for xvmc
+
+commit 5a1e25afac8eac5df1c0c9d3165b9812f54909a6
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Wed Sep 23 16:56:20 2009 +0800
+
+ mesa/main: Make FEATURE_convolve follow feature conventions.
+
+ As shown in mfeatures.h, this allows users of convolve.h to work without
+ knowing if the feature is available.
+
+commit cb4f24e51d0f4f4b867b2c01ed26d2a5ce73aeab
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Mon Sep 7 17:17:11 2009 +0800
+
+ mesa/main: Make FEATURE_colortable follow feature conventions.
+
+ As shown in mfeatures.h, this allows users of colortab.h to work
+ without knowing if the feature is available.
+
+commit dbb8fb8de9a9deca0ae22015e4680f4e631d6d32
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Mon Sep 7 16:59:27 2009 +0800
+
+ mesa/main: Make FEATURE_pixel_transfer follow feature conventions.
+
+ As shown in mfeatures.h, this allows users of pixel.h to work without
+ knowing if the feature is available.
+
+commit 17099f5e19dc0ce65cb4e4110d9d22de803c4e52
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Mon Sep 7 17:51:33 2009 +0800
+
+ mesa/main: Add comments to mfeatures.h.
+
+ The comments document the conventions that a feature may follow.
+
+commit c9ddd6f810ce016cabf232c53ffca186ef885140
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 24 19:36:37 2009 -0600
+
+ progs/perf: glGenerateMipmap() test
+
+commit 0876618a8d118b39b80963cc0d5e7a118961aa83
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 24 19:33:22 2009 -0600
+
+ mesa: _mesa_meta_GenerateMipmap() now working
+
+ Handles GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP.
+ But GL_TEXTURE_3D and texture borders not supported yet.
+
+commit e33ea11c143596d511331aceabbf60016869c304
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 24 13:38:27 2009 -0600
+
+ mesa: remove: unused gl_vertex_program::TnlData field
+
+commit 09af58d7ed7dfa8f2ce2b881bb849064e136c830
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Thu Sep 24 18:27:20 2009 -0700
+
+ NV fp lexer: Add UP4B and UP4UB instructions that were previously missing
+
+commit 228aa45fcbb65205937f74853801643d676db675
+Author: Zack Rusin <zackr@vmware.com>
+Date: Thu Sep 24 19:20:08 2009 -0400
+
+ st/xorg: start working on the Xv acceleration code
+
+commit 80965fca743c3101af731080cb81dec705cd931b
+Author: Zack Rusin <zackr@vmware.com>
+Date: Wed Sep 23 12:06:13 2009 -0400
+
+ st/xorg: fills are supported plussome minor clenups
+
+commit 53d2fa46e7fa19d0cb7dec74efcd407ab6163c80
+Author: Zack Rusin <zackr@vmware.com>
+Date: Wed Sep 23 09:00:58 2009 -0400
+
+ st/xorg: add easier way of disabling/enabling acceleration
+
+commit 01249c6d5653a0e66027202f44de2457be5942a5
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 24 16:08:47 2009 -0600
+
+ llvmpipe: add missing __FUNCTION__ parameter to debug_printf() calls
+
+commit a665a3416e5a99dc84691c7f113a11190375f340
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 24 16:07:45 2009 -0600
+
+ llvmpipe: increase max 3D texture size to 256
+
+commit 29d27229a95837d085db785a2b4abb654457dafa
+Merge: fd56bee 940ca2e
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 24 16:06:21 2009 -0600
+
+ Merge branch 'mesa_7_6_branch'
+
+ Conflicts:
+
+ src/mesa/vbo/vbo_exec_array.c
+
+commit fd56bee6c4de28da194333f93b52c40f1deb6163
+Merge: c9f7a23 1d2dca1
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Thu Sep 24 20:39:01 2009 +0300
+
+ Merge branch 'mesa_7_6_branch'
+
+commit c9f7a23ef05adfd2ebae56ee9f1b19897a589831
+Merge: 6be2bc5 7549a83
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 24 11:03:16 2009 -0600
+
+ Merge branch 'mesa_7_6_branch'
+
+ Conflicts:
+
+ src/mesa/drivers/dri/r600/r700_assembler.c
+ src/mesa/drivers/dri/r600/r700_chip.c
+ src/mesa/drivers/dri/r600/r700_render.c
+ src/mesa/drivers/dri/r600/r700_vertprog.c
+ src/mesa/drivers/dri/r600/r700_vertprog.h
+ src/mesa/drivers/dri/radeon/radeon_span.c
+
+commit 6be2bc56af5c0d281d07e427863789e949904db1
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 24 10:47:42 2009 -0600
+
+ gallium/trace: casts to silence warnings
+
+commit f85816354c9538e3b1082f019c4c65c56a8bd77f
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 24 09:54:36 2009 -0600
+
+ tgsi/sse: remove old comments
+
+commit 35cd0bbfb171d200b8100e9f79a55c9981c946aa
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 24 09:51:05 2009 -0600
+
+ tgsi/sse: implement SEQ, SGT, SLE, SNE
+
+commit 09a23ac3c104e9d7e3e46cc1e54511874601ca7f
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Sep 24 16:52:14 2009 +0100
+
+ progs/perf: fix warnings in readpixels test
+
+commit d93f022936c9986323f69b61d788e08196e2a58a
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Sep 24 16:50:27 2009 +0100
+
+ progs/perf: fix typo in sconscript
+
+commit 90dcfb3b47c13044d671b8a1ab0c96ab2d21ea4d
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Sep 24 16:49:40 2009 +0100
+
+ trace: fix printf warnings
+
+commit d3beaf2f32044b36e2ffaf27679ddd1e5115df3f
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Sep 24 16:49:27 2009 +0100
+
+ softpipe: fix compiler warnings
+
+commit fca7f384418fa6e353d41b2e05117e0553526053
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Sep 24 16:49:05 2009 +0100
+
+ pipebuffer: fix printf warnings
+
+commit 0c55dd8094cad716c4b30316b5c8f0d9a0b72905
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Sep 24 16:48:49 2009 +0100
+
+ pipebuffer: fix warnings
+
+commit cd362334adfee077faa3b7cb4e0d7994d5a5cf56
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Sep 24 16:44:58 2009 +0100
+
+ draw: fix warning
+
+commit 6e0b56edf89dcfbff0b007d27eb09dee2160ec28
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Sep 23 19:03:07 2009 +0100
+
+ progs/perf: accept GL3.x also
+
+commit 5f06064b616099712dbb2854351d0740c1dbfc60
+Author: Richard Li <richardradeon@gmail.com>
+Date: Thu Sep 24 11:26:15 2009 -0400
+
+ r600 : fix draw_prim bug: vertex fetcher setting.
+
+commit 9659aa6482291d1530c74450612bcd952f542e01
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Sep 24 15:27:19 2009 +0100
+
+ softpipe: Use portable INLINE macro.
+
+commit e8e6d8853df19f7a32fb0e4f670259ee65e88b29
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Sep 24 15:27:03 2009 +0100
+
+ softpipe: Update SConscript.
+
+commit 41c5f113b5d41649db2027c3f32deaf4d38035ce
+Author: Richard Li <richardradeon@gmail.com>
+Date: Thu Sep 24 10:12:40 2009 -0400
+
+ r600 : disable draw_prim for now.
+
+commit 86962d6f6eb74cc426f57b760cc0cdcb9fec3eef
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Sep 24 13:09:40 2009 +0100
+
+ gdi: Update for WGL state tracker interface changes.
+
+commit 4e5ed05b025b9b6a1a6dabba72fce3d918e77044
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Sep 24 13:08:34 2009 +0100
+
+ wgl: DWM integration.
+
+commit 9ea277ba7aac23c66c8879f71ff885d11c034aae
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Sep 24 13:05:27 2009 +0100
+
+ scons: Don't require -liberty on MinGW.
+
+ Not always present.
+
+commit 622bdecabd73167d2f2f3aff0e223a8c64433f99
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Sep 24 12:36:11 2009 +0100
+
+ mesa: Fix missing finite symbol error on Windows.
+
+ Caused by some weird logic regarding the __WIN32__ define which made
+ the finite definition dependent on the header include order.
+
+commit 1bf0651d9b58a5c150fcf37016ae1bda425bb05a
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Sep 23 19:42:07 2009 -0400
+
+ r600: fix up ordering of functions in draw prims path
+
+ Shaders and IB need to be updated and allocated before
+ calling validatebuffers.
+
+commit 20e77382935b24e9e2be89cd2b686fa2f1f67635
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Sep 23 16:54:12 2009 -0400
+
+ r600: fix r700PredictRenderSize for draw prims path
+
+commit 8a2b0f6415654c03cd399e59b0946ab90dc44331
+Author: Richard Li <richardradeon@gmail.com>
+Date: Wed Sep 23 16:10:20 2009 -0400
+
+ r600 : add hw index buffer draw support.
+
+commit fa0816b17cffed1b72f81ad6dd8e87d9800e6d45
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 23 14:04:38 2009 -0600
+
+ progs/perf: added glReadPixels benchmark
+
+commit 489f8bc86feea1af51d2e6c4d308f28d25141862
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 23 14:04:25 2009 -0600
+
+ progs/perf: also request a stencil buffer
+
+commit 8abe77a75a681637cb00017711f5009601bcd348
+Author: Adam Jackson <ajax@redhat.com>
+Date: Wed Sep 23 15:22:19 2009 -0400
+
+ Finish removing glcore
+
+commit 53051b8cb5b4804e3eab21262c91ea59f1ea24b8
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Sep 23 15:02:19 2009 -0400
+
+ r600: fix copy/paste typo
+
+commit ec205bbd577a2619e4b1910527e5e5d1d7426ddb
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Sep 23 14:56:56 2009 -0400
+
+ r600: fix some warnings
+
+commit 2d2f49c91952e18f3362346e19b45c72b1f6db32
+Author: Andre Maasikas <amaasikas@gmail.com>
+Date: Wed Sep 23 14:20:59 2009 +0300
+
+ r600: add support for CUBE textures, also TXP
+
+ seems to work here ...
+
+commit a0549f6634c3573bad5544ad28a208f25c7e4644
+Author: Michal Krol <michal@vmware.com>
+Date: Wed Sep 23 20:24:35 2009 +0200
+
+ progs/perf: Actually bind the newly created vbo.
+
+commit 35af3f94a36d1850c8fbab3d1d0a23a904466429
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 23 11:08:12 2009 -0600
+
+ llvmpipe: move tile cache datatypes into .c file since they're private
+
+commit b4a40d10524a4be6a59805589ee4209ebdb1de4f
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 23 11:51:52 2009 -0600
+
+ softpipe: replace macros with inline functions
+
+ And update comments.
+
+commit e2329f2795d48d11131e9ac105e7aa3fd2c229c1
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 23 11:35:33 2009 -0600
+
+ softpipe: white-space/formatting fixes and updated comments
+
+commit 5244ce786a3e115fac1675450c3df8ee11e20030
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 23 11:04:57 2009 -0600
+
+ llvmpipe: added max texture/surface size sanity check
+
+ Carried over from softpipe driver.
+
+commit b26f1df920a712da66c72f801e3292bf44ea9a83
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 23 11:04:07 2009 -0600
+
+ llvmpipe: increase MAX_WIDTH/HEIGHT to match max texture size
+
+commit de25f82067bca5231fb968190f6c12cb517d62ff
+Merge: 890679d e41707b
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 23 11:00:04 2009 -0600
+
+ Merge branch 'mesa_7_6_branch'
+
+ Conflicts:
+
+ src/gallium/drivers/softpipe/sp_tile_cache.c
+
+commit 890679d4322e7ba4f12f32532a3fdd277edff886
+Merge: a1fa770 75276ea
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Sep 23 17:37:28 2009 +0100
+
+ Merge branch 'softpipe-opt'
+
+ Conflicts:
+ progs/demos/cubemap.c
+ src/gallium/drivers/softpipe/sp_tex_sample.c
+ src/gallium/drivers/softpipe/sp_texture.c
+
+commit a1fa770c01d913658900de1c267fb4c41bc6300d
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Sep 17 19:18:39 2009 +0100
+
+ gallium/include: update some comments
+
+commit 1ddb217d8ed976da7049255ad3c346d961b96901
+Author: Zack Rusin <zackr@vmware.com>
+Date: Wed Sep 23 12:05:13 2009 -0400
+
+ st/xorg: fix a typo
+
+ it'd be too easy, eh
+
+commit 5a7f7085303c1337466e231f8fb12b9c4113f4ad
+Author: Zack Rusin <zackr@vmware.com>
+Date: Tue Sep 22 17:49:53 2009 -0400
+
+ st/xorg: keep the user buffer contents around
+
+ Michel noticed that they were getting out of scope
+
+commit aae77319c00062dc756c3ff5293b2e76b36d893d
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 23 08:06:29 2009 -0600
+
+ progs/perf: set TexSubImage4=FALSE
+
+commit 31f1571d1f6e325c16833afbb6e15b61561e5f1f
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Sep 22 18:51:41 2009 +0100
+
+ wgl: Eliminate the shared layer; implement WGL API on top of the ICD callbacks.
+
+ While the WGL API has been stale for decades now, the ICD interface has
+ been updated with new Windows versions, so it is much easier to define
+ everything in terms of the ICD interfaces, which is pretty much what
+ Microsoft's opengl32.dll does anyway.
+
+commit f8c11526c0034faca7b7e3ab01ab85206847f441
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Sep 22 17:42:47 2009 +0100
+
+ gdi: Update for WGL statetracker source reorg.
+
+commit f724036f0045bd28f323af3666c43b3ef03b6886
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Sep 22 17:40:20 2009 +0100
+
+ wgl: Flatten the source tree.
+
+ It is easier to have the WGL API on top of the ICD callbacks as
+ Microsoft's own implementation does, than to have a seperate shared
+ entity. This source reorganization is in antecipation of that.
+
+commit 8d1af5991d739e33962e8ca52c6a5ce1c9204ce6
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Sep 22 17:25:22 2009 +0100
+
+ wgl: Fix debug_printf format specifiers.
+
+commit 21a949365d1de2f1fea6cb87c6f389e30156566f
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Sep 22 17:16:35 2009 +0100
+
+ gallium: Update vendor string.
+
+commit 75276ea316610a5737f2115326482024aa09d02a
+Author: root <root@nostromo.localnet.net>
+Date: Tue Sep 22 20:14:05 2009 -0600
+
+ softpipe: fix bugs in POT texture sampling when texture is not square
+
+ Before, if level was greater than the logbase2(base size) we were
+ doing a negative bit shift and winding up with garbage values.
+
+commit 5dbedf3d7e99efe35fad308d382670e44cd60e25
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 22 16:59:28 2009 -0600
+
+ softpipe: additional assertions
+
+commit 0670df5cb20c0b6630ab29511d9b2cbe18b47f65
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 22 16:42:15 2009 -0600
+
+ softpipe: disable a _debug_printf()
+
+commit 02f2bcdf1d28f2bd6382fb6048c497ef76ba86b2
+Merge: d04fa73 926b965
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 22 16:06:18 2009 -0600
+
+ Merge branch 'mesa_7_6_branch'
+
+commit d04fa73cec675f02261a69b02187f1df1e9ede5b
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 22 15:28:34 2009 -0600
+
+ progs/perf: added glCopyTex[Sub]Image2D test
+
+commit 98d5ec10d0918f6619e7b2285278b83e9de6d86f
+Author: Richard Li <richardradeon@gmail.com>
+Date: Tue Sep 22 17:26:23 2009 -0400
+
+ r600 : add draw_prim support, make up one lost change.
+
+commit 81283b0bf0a8f7b31517adc224c20531e27fab42
+Author: Richard Li <richardradeon@gmail.com>
+Date: Tue Sep 22 16:39:11 2009 -0400
+
+ r600 : add draw_prim support.
+
+commit fe9ca0f718cbc467e5cee99a2c20a5f257ed2fe1
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Sep 22 20:47:37 2009 +0100
+
+ softpipe: need to write depth/stencil values even when stencil fails
+
+commit 207764894b6d565568bc46722e4c239d839a62fc
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Sep 22 20:47:07 2009 +0100
+
+ softpipe: set quad->facing value
+
+commit b1139e9ad827d86886772a9c9d83dbb0071c702c
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Sep 22 19:38:34 2009 +0100
+
+ softpipe: fix polygon stipple
+
+commit da0e4e557b85761e3eb03f9cbce2c3ef140fd5ef
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 22 12:25:32 2009 -0600
+
+ progs/perf: test glGetTexImage() also
+
+commit b626176f0613852df908b4b0552b9b67d5830b4e
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Sep 22 19:26:08 2009 +0100
+
+ softpipe: fix occlusion counting
+
+commit bade906ed131e35ed1782f4687760dcdca233299
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Tue Sep 22 10:59:26 2009 -0700
+
+ st/xorg: Fix two leeks
+
+ We where leaking both surfaces in the composit code
+ and textures from pixmaps.
+
+commit 19798e17feb3616ec301ada306a6fa3765077f56
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Tue Sep 22 11:00:58 2009 -0700
+
+ i915g: Activate trace
+
+commit e369294f760efd89754f4f66a1080bcf384ba4c6
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Tue Sep 22 10:55:41 2009 -0700
+
+ i915g: Do propper references of surfaces in context
+
+commit 67d7021ae06e1c3559f3c0c35162768fcd1402d4
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 22 11:14:58 2009 -0600
+
+ progs/perf: add missing texture enable in fbobind.c
+
+commit ed113da12e4fdc77b477d44113dfa450e19b80d0
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 22 11:03:43 2009 -0600
+
+ progs/perf: added fbobind.c test to test FBO binding speed
+
+commit cfb0f2489dabd07e905969484edb9317395b2f6a
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 22 11:02:04 2009 -0600
+
+ progs/perf: added PerfExtensionSupported() helper
+
+commit 0ec26cce366f935c093fbf2819ee7fac2af48111
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Sep 22 17:59:24 2009 +0100
+
+ teximage: add more tests, image formats
+
+ Add a test which creates a new texture from scratch before uploading.
+ Add more image formats.
+ Don't run all tests on all image formats.
+
+commit bae2d5882781f798001be6f7841c32a1f12046fe
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 22 09:53:35 2009 -0600
+
+ progs/perf: add another VBO test for Create/Draw/Destroy pattern
+
+ Report both MB/sec and draw/sec.
+
+commit 7e5004b298f7e6f87d659d314cac991bff7980cf
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 22 09:43:08 2009 -0600
+
+ progs/perf: simplify the code
+
+commit aa80851e166ccee79daf6b00db70c55831bfc4b8
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 22 09:29:27 2009 -0600
+
+ progs/perf: fix comment
+
+commit 32979ae15fce5afb35f26d93bf8f832836f96e49
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 22 07:50:12 2009 -0600
+
+ progs/perf: updated comments
+
+commit 6a09c9d2d891a7118bc7c07d03900d69154116ba
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Sep 22 12:35:56 2009 +0100
+
+ progs/perf: make teximage results easier to read, more reproducible
+
+ Always run the same tests on different drivers, give zero results
+ where test image is too big for driver.
+
+ Add a newline between groups of tests.
+
+commit 89f2799daca94ffb46d7b305df92d0c1876ad83d
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Sep 22 11:58:09 2009 +0100
+
+ progs/perf: reset row_length after subimage test
+
+ Also test fewer sizes in teximage generally.
+
+commit bf014d03fe56394c8fd11862fe60c92464ae5b8b
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Sep 22 11:27:18 2009 +0100
+
+ progs/perf: clean up swapbuffers test a bit
+
+commit ac6a5107e2c005a7f57249d1836c43d0e1f8f496
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Sep 22 11:01:53 2009 +0100
+
+ progs/perf: break up long runs of fullscreen quads
+
+ Not all drivers cope gracefully with command-buffers with zillions of
+ fullscreen quads.
+
+commit a7b2659f02c503bd2110b9fd9799efc113807ad9
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Sep 21 16:55:12 2009 +0100
+
+ progs/perf: add first attempt at a swapbuffers rate test
+
+ This is pretty ugly as the original framework assumed you'd set
+ a single window size at startup and keep it throughout, but for
+ swapbuffers you want to test the rate at various window sizes.
+
+ With luck a nicer solution can be found, but this at least lays out
+ a marker.
+
+commit 94a020cfe6cb1da04695897eed38b530af31f524
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Sep 21 16:54:35 2009 -0600
+
+ vbo: added comment about max array index
+
+commit 9a3333f43600ed4b9a17e49f79004f0c8d289378
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Sep 21 16:51:34 2009 -0600
+
+ vbo: restore some lost warning output
+
+commit 972e995b148c220d32f2bf8c0a17c138deec6506
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Sep 21 16:07:14 2009 -0600
+
+ vbo: disable the GL_ARB_draw_elements_base_vertex rebase path
+
+ This was introduced with commit 92d7ed8a20d4a018ce5324e6537ae7b478b9e5bf.
+ It causes rendering of stray polygons (with sw rendering at least) when
+ running the OGL Distilled / Picking demo (click on an object).
+
+ This needs additional debugging to fix/restore.
+
+ Found one suspect thing: in _tnl_draw_prims() there's some mixed signed/
+ unsigned arithmetic/comparing at line 422 that may be incorrect.
+
+commit 83019ffc0708708af7ee1ddbf3cbf949bcf076bd
+Author: Adam Jackson <ajax@redhat.com>
+Date: Mon Sep 21 17:03:58 2009 -0400
+
+ selinux: Fix mmap() return value check
+
+commit 40603526f478a59b89a4c0a07c75a97dfe56b8c3
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Sep 21 14:23:07 2009 -0600
+
+ mesa: refine the error checking vbo_exec_DrawRangeElements()
+
+ If the 'end' index is out of bounds issue a warning as before. But instead
+ of just no-op'ing the draw call, examine the actual array indices to see
+ if they're OK. If the max array index is out of bounds, issue another
+ warning and no-op the draw call. Otherwise, draw normally. This is a
+ debug build-only feature since it could impact performance.
+
+ This "fixes" the missing torus in the OGL Distilled / Picking demo.
+
+commit e5d29ebb5e5dd923c9c60972170d072120007aab
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Sep 21 14:07:35 2009 -0600
+
+ mesa: make max_buffer_index() a non-static function
+
+commit 4916a5a2e72b05c176809dd0db5066a966a45b80
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sun Sep 20 13:54:59 2009 +0200
+
+ radeon: update buffer map/unmap code for changes introduced in 92033a9516942d7272ce4bf36ecd422009bbaf60 and 822c7964819ca1fcc270880d4ca8b3de8a4276d0
+
+commit d100cbf721010f4eacc87507cc87c5314150d493
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Sep 19 18:47:36 2009 +0200
+
+ mesa: add some debug info to teximage.c
+
+commit b1c9c5a800a485e3e066312f5736c93ef2774c9b
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Sep 19 18:46:51 2009 +0200
+
+ r300: fix a typo
+
+commit d504a7669d7b71229c2d15503a095d71ee1584e6
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Sep 21 08:32:43 2009 -0600
+
+ swrast: fix cube face selection
+
+ If arx and ary are equal, we still want to choose from one of them,
+ and not arz.
+
+ This is the same as Michal's softpipe fix.
+
+commit c63e78b3e583e39ef296f1c2c9a34c90eb221503
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Mon Sep 21 16:48:55 2009 -0400
+
+ r600: fix typo in the last commit
+
+ 128 gprs, 256 reg-based consts
+
+commit 1869bdabbac0926c7da8bfd9e22616cab9457126
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Mon Sep 21 16:30:14 2009 -0400
+
+ r600: various cleanups
+
+ - max texture size is 8k, but mesa doesn't support
+ that at the moment.
+ - attempt to set shader limits to what the hw actually
+ supports
+ - clean up some old r300 cruft
+ - no need to explicitly disable irqs. This is fixed
+ in the drm now.
+
+ Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
+
+commit 734a498ed47b35c9e8e7172d19465aca640fa323
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Sep 21 19:57:57 2009 +0100
+
+ mesa: Ensure TGSI tokens are freed with gallium's free.
+
+ To avoid breaking the gallium's builtin malloc debugging.
+
+commit 9297e6968ae16564f3d6a6e78b42da72f9c88e91
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Sep 21 12:17:49 2009 -0600
+
+ progs/perf: added fill-rate test
+
+ Many more fill modes could be tested, but this hits the basics including
+ blending, texturing and shaders.
+
+commit 05bce0898087b135cb18bc4f2f2896da034928dc
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Sep 21 11:58:03 2009 -0600
+
+ progs/perf: added helpers for creating simple textures and shader programs
+
+commit 83fbee6e0be46efab4b60ba50fceb103f8937ac1
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Sep 21 11:09:00 2009 -0600
+
+ progs/perf: offsetof() should be defined in stddef.h, include it
+
+ If this breaks mingw, feel free to revert this.
+
+commit 9ca94f91a3b48350b02a8fec5ecf60a819a24de5
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Mon Sep 21 17:35:10 2009 +0200
+
+ r300g: Fix bad formatting parameters in calls to debug_printf
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 496137d8eb85e78fab748f184b392f99b17059ea
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Mon Sep 21 17:28:37 2009 +0200
+
+ gallium debug: Add gcc printf hint to debug_printf
+
+ This causes gcc to issue warnings when format parameters do not match up
+ with the format string in calls to debug_printf.
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 7ce0421fb712fd4e595f6c2ecede91c16fb3e133
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Sep 21 15:56:17 2009 +0100
+
+ progs/perf: a few more vbo upload modes
+
+ Some tests, eg small SubData are probably overwhelmed by the cost of
+ performing the draw after each upload. Add a varient which does a lot
+ of subdata uploads and then a single draw.
+
+ Also try to avoid cache-artifacts in the upload timings.
+
+commit 25a580c8416c7fdf6ddbf25b8121ee8774a2acd8
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Sep 21 15:54:28 2009 +0100
+
+ progs/perf: human-readable drawoverhead output
+
+commit 6ab7c127f77432262a5ca55100e767f1ba4f99a8
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Sep 21 15:52:17 2009 +0100
+
+ progs/perf: human-format vertexrate output
+
+commit ed63bd62d85c92555c1d310ae46064ad3c7d47ee
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Sep 21 15:51:26 2009 +0100
+
+ progs/perf: add human-readable float formatter
+
+commit d17af7d1e19e637e29db47bd8f6e3e579760c530
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Sep 21 08:44:53 2009 -0600
+
+ progs/glsl: Include local headers before installed headers during compilation.
+
+ Fixes compilation errors on platforms with insufficient older installed
+ GL headers.
+
+commit 2d729e6e3bcb0af84790cafb9824a3937954e078
+Author: Andre Maasikas <amaasikas@gmail.com>
+Date: Mon Sep 21 10:14:25 2009 -0400
+
+ r600: fix some issues with LIT instruction
+
+ - MUL_LIT is ALU.Trans instruction
+ - some Trans instructions can take 3 arguments
+ - don't clobber dst.x, use dst.z as temp, it'll get written correct
+ value in last insn
+ - respect source swizzles
+
+commit 81c7561d9d3faf70ac22c6a5f3fbea18f53eed92
+Merge: f02f639 3083ba3
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Mon Sep 21 13:26:50 2009 +0200
+
+ Merge branch 'master' into r300-compiler
+
+ There were additional non-textual conflicts.
+
+ Conflicts:
+ src/gallium/drivers/r300/r300_tgsi_to_rc.c
+ src/mesa/drivers/dri/r300/compiler/r3xx_vertprog.c
+ src/mesa/drivers/dri/r300/compiler/radeon_program.c
+ src/mesa/drivers/dri/r300/compiler/radeon_program_alu.c
+
+commit 3083ba38f4c884b32cd0460607b5064b6b7008d2
+Merge: c67bb22 526430a
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Mon Sep 21 13:08:34 2009 +0200
+
+ Merge branch 'mesa_7_6_branch'
+
+commit c67bb22fe7b4a7176efd9177d8de413d7c1a9192
+Merge: 774db70 1d4dbd8
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Mon Sep 21 10:48:32 2009 +0200
+
+ Merge branch 'mesa_7_6_branch'
+
+commit 774db70506670b4f4121b6697ac39abd184a56d9
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Mon Sep 21 14:51:25 2009 +1000
+
+ nouveau: allow building modesetting_drv.so
+
+commit 344e2fd1f2aa580e13faf398b5d0179479cd5e76
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Mon Sep 21 14:46:50 2009 +1000
+
+ nouveau: drm_api create_screen()'s 'arg' argument can be NULL
+
+commit e3384a0d533fe69c1b26f1b03e98beac0b42ccfb
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 20 22:19:28 2009 -0600
+
+ windows: call _mesa_meta_init/free()
+
+commit 2c1937480a68b066a1a0b8ee3770e675bfad859b
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 20 22:19:06 2009 -0600
+
+ xlib: always call _mesa_meta_init/free()
+
+commit 4a4914e4146b78e99277ab494226136a4e68cdb4
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 20 22:13:28 2009 -0600
+
+ dri/swrast: call _mesa_meta_init/free()
+
+commit 1741bc1a79b6a243e841bca704f1a720b028124a
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 20 22:13:09 2009 -0600
+
+ osmesa: call _mesa_meta_init/free()
+
+commit a1cf9b6abe0250f1496cea2cf49e29430ceab028
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 20 22:08:30 2009 -0600
+
+ Revert "st/mesa: Compile in meta.c."
+
+ This reverts commit 6c5726cd39ab12b86fae391d075fa74bc24b615c.
+
+commit 1eda10d073b17e1d2ba1089eae378b6e257614be
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 20 22:08:21 2009 -0600
+
+ Revert "scons: add meta.c to sources"
+
+ This reverts commit 41fefe88c50376a57876b498c8619c8c9f535de6.
+
+commit da9d8f192431b0142e65bceb5ca8a2e52e21ac90
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 20 22:06:03 2009 -0600
+
+ Revert "mesa: move _mesa_meta_init/free() calls to core Mesa"
+
+ This reverts commit 651cffd626a82d9bf539437ca4bdf8ea4b396fab.
+
+ The commit inadvertantly introduced a new gallium dependency on the meta code.
+
+commit 41fefe88c50376a57876b498c8619c8c9f535de6
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 20 21:31:38 2009 -0600
+
+ scons: add meta.c to sources
+
+commit 6c5726cd39ab12b86fae391d075fa74bc24b615c
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Mon Sep 21 10:57:14 2009 +0800
+
+ st/mesa: Compile in meta.c.
+
+ meta was moved to core Mesa since
+ 651cffd626a82d9bf539437ca4bdf8ea4b396fab.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 81bac6e2a811ee537c38070f19e70e730ea1169f
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Mon Sep 21 10:52:07 2009 +0800
+
+ intel: meta clear has a new name.
+
+ It was renamed to _mesa_meta_Clear.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit e9d6ab72be065becf7a077c33919d37faa8db92e
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Sep 21 13:26:48 2009 +1000
+
+ xorg/st: fixup builds against later dpms headers.
+
+commit 1a9eec84bd363409b884fbf468dbec6ca595b593
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Sep 20 18:07:16 2009 +0100
+
+ scons: Drop gprof support for profile builds; tweak optimization flags instead.
+
+ gprof is useful for shared libraries, hence our drivers. Nevertheless
+ profilers like oprofile can benefit from disabling some relatively
+ minor optimizations for more accurate / complete results.
+
+commit 911a7a82cd44e89dd7c24a256a0a172f01eadde3
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Sep 20 18:04:00 2009 +0100
+
+ llvmpipe: Fix lp_get_cached_tile.
+
+ Align coordinates to tile boundaries.
+
+commit 76c2e34b22836c3a71a096be5620ded97a2ae636
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Sep 20 12:28:07 2009 +0100
+
+ llvmpipe: Update tile status on flush.
+
+commit ebf2710b2fd21ae9a6604c015ca7a948589f5a8c
+Merge: ed4076b 82c2f77
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 20 10:36:45 2009 -0600
+
+ Merge branch 'mesa_7_6_branch'
+
+ Conflicts:
+ src/mesa/drivers/dri/intel/intel_clear.c
+
+commit ed4076b5b8c5d3c024e291f42a8730b4f71226c9
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Sep 19 17:26:14 2009 -0600
+
+ mesa: remove redundant readbuffer check
+
+commit 4de8e2123ebeb50db252b2bb57fb167058fa4683
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Sep 19 17:06:15 2009 -0600
+
+ mesa: rename functions to be more consistant with rest of mesa
+
+commit 232fc7d333fff6895d892929e438b7a808f774b0
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Sep 19 16:42:36 2009 -0600
+
+ swrast: remove obsolete s_imaging.c file
+
+commit 7e0f2ce9410506277a9f17e2713006a2b510c319
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Sep 19 16:41:37 2009 -0600
+
+ swrast: remove prototypes for obsolete functions
+
+commit 58e843dda05e2addfe6584c5480fb2181b0aff53
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Sep 19 16:40:09 2009 -0600
+
+ mesa: remove s_imaging.c from build
+
+commit 32e4b6c6073b71cac195ca011c4a0eaad8b0851c
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Sep 19 16:36:15 2009 -0600
+
+ windows: replace old ColorTable, Convolution functions with new
+
+commit bc1c8d4af768be12ae96bc080e7e52b0c4cbfbdb
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Sep 19 16:33:09 2009 -0600
+
+ mesa: use new meta functions
+
+commit 3e5a35269b201d25e2a63743d8d4b1b4311b6fb0
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Sep 19 16:32:42 2009 -0600
+
+ mesa: meta functions for glCopyColorTable, glCopyConvolutionFilter, etc
+
+commit dc3839ef3dc032627b7bb10b2c24786efc3ef5ec
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Sep 19 16:27:59 2009 -0600
+
+ mesa: move readbuffer tests
+
+commit 883dd9d770f0d25fb8474dc381faa99ee38de0e6
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Sep 19 16:16:48 2009 -0600
+
+ mesa: use _mesa_get_current_tex_unit() helper
+
+commit 3ed9dab19cfb2576f2a0fef92107f9246db7bdc1
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Sep 19 16:13:01 2009 -0600
+
+ mesa: use _mesa_get_current_tex_unit() helper
+
+commit b0e9ea60840b5161634767e391c601ad0cc935b2
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Sep 19 13:37:28 2009 -0600
+
+ mesa: fix some glCopyTex[Sub]Image regressions related to convolution
+
+commit 651cffd626a82d9bf539437ca4bdf8ea4b396fab
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Sep 19 12:58:55 2009 -0600
+
+ mesa: move _mesa_meta_init/free() calls to core Mesa
+
+commit b8477f079bd72d15b2d4e9c1453374d744da5ce7
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Sat Sep 19 15:18:42 2009 -0400
+
+ r600: fix point sizes
+
+ registers takes radius
+
+commit 368fb578f86c53d888324f9bb25369216b3187b1
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Sat Sep 19 14:46:06 2009 -0400
+
+ r600: fix polygon offset
+
+commit 67cad78e08f1a0770c5a7f67ecaf8145b2fdbdc4
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Sep 19 11:09:25 2009 -0600
+
+ swrast: remove obsolete s_texstore.c
+
+ Replaced by new, simpler meta functions.
+
+commit 2f89044e6f2ed92ec4ea7a4f98efcac8c1ce3aab
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Sep 19 11:08:49 2009 -0600
+
+ swrast: remove prototypes for obsolete functions
+
+commit 14869c09847f7d2f638acb13064fb1bb8bce620c
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Sep 19 11:08:20 2009 -0600
+
+ mesa: remove s_texstore.c from makefile/project files
+
+commit a9c64daf02b7a7715abc3912e2f7db4ab481ce79
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Sep 19 11:05:54 2009 -0600
+
+ glapi: replace old TexCopy functions w/ new
+
+commit 41a171b7148abbc5b3aeec61b8d6e5f38a146541
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Sep 19 11:03:33 2009 -0600
+
+ windows: replace old TexCopy functions w/ new
+
+commit e2e0735e0e3d8ffe560ae9a9176c9aaf0a7e27a5
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Sep 19 11:01:07 2009 -0600
+
+ gldirect: remove refs to soon-to-be-obsolete functions
+
+ I don't know if this driver is anywhere near build-able, but anyway.
+
+commit 6f9dbe773953b024075910b3bec11ebc96c2e8e0
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Sep 19 10:55:09 2009 -0600
+
+ mesa: use new _mesa_meta_CopyTex[Sub]Image() functions
+
+commit af693464466aab161fe24700a0c2865c774ccf80
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Sep 19 10:58:07 2009 -0600
+
+ intel: use new _mesa_meta_CopyTex[Sub]Image() functions
+
+commit 22f02509f27a5cab967d42a317e58a73c7d26e0b
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Sep 19 10:00:55 2009 -0600
+
+ glapi: regenerated files
+
+commit c9a87ff441857a8af405f3df16d8c2f590e5b10e
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Sep 19 10:00:19 2009 -0600
+
+ glapi: added tokens, function for GL_ARB_provoking_vertex
+
+commit 18d0f9a7a38674367eca25e87f67ddf423d8c4f7
+Author: Michal Krol <michal@vmware.com>
+Date: Thu Sep 17 16:05:08 2009 +0100
+
+ llvmpipe: Respect input interpolators for the shader.
+
+ Cherry-picked from fb2c7b6743ba6e89f24843890fb7fcd6a09c3dbb
+
+commit fdd605e446ed174bae13171d116f498704259057
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Sep 19 14:33:35 2009 +0100
+
+ mesa: Allow BlitFramebuffer from a texture.
+
+ Although GL_EXT_framebuffer_blit does not mention textures, it doesn't
+ forbid them either, and some thirdparty driver appear to support this.
+
+commit de685b37a91bc95dd4093a44a49b7b47385b1f7c
+Author: Michal Krol <michal@vmware.com>
+Date: Fri Sep 18 14:36:59 2009 +0100
+
+ softpipe: Fix cube face selection.
+
+ If arx and ary are equal, we still want to choose from one of them,
+ and not arz.
+
+commit fb2c7b6743ba6e89f24843890fb7fcd6a09c3dbb
+Author: Michal Krol <michal@vmware.com>
+Date: Thu Sep 17 16:05:08 2009 +0100
+
+ softpipe: Respect input interpolators for the shader.
+
+commit 5f0b49e7a956291842c7ad3a597570cf0db50cb6
+Author: Michal Krol <michal@vmware.com>
+Date: Thu Sep 17 16:04:35 2009 +0100
+
+ tgsi: Scan input interpolators, too.
+
+commit 2884c31d9494d1b219da6191526e8f297ab7bbae
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Sep 17 12:09:16 2009 +0100
+
+ progs/perf: convert some DOS line-endings
+
+ It seems like some of these files were committed with CRLF initially.
+
+commit e95a3a23dca9fc7aaa89237059d841f624b438db
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Sep 17 12:08:04 2009 +0100
+
+ progs/perf: add scons support, get working under mingw
+
+commit 21caa29fbd332a2ee05a58df91e1664fbbc4e61f
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 16 21:49:55 2009 -0600
+
+ mesa: begin some texstore code refactoring
+
+ Next step will be to move the calls to ctx->Driver.ChooseTextureFormat()
+ into the teximage.c functions so drivers don't have to do it.
+
+commit 1d8fbef4f2b1bccb49b40375891b66caf5395b15
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 16 20:09:05 2009 -0600
+
+ mesa: meta driver functions for glCopyTex[Sub]Image()
+
+ Implement in terms of glReadPixels + glTex[Sub]Image().
+ This will allow us to get rid of some swrast texture code.
+
+commit 9abbedad09c2501285d2edb00cba7e8e6549c5ba
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 16 19:33:01 2009 -0600
+
+ progs/perf: initial set of simple performance test programs
+
+ Initial tests include:
+ drawoverhead - measure overhead of state changes w.r.t drawing commands
+ teximage - measure glTexImage2D() and glTexSubImage2D() speed
+ vbo - measure glBufferData() and glBufferSubData() speed
+ vertexrate - measure vertex rate for immediate mode, glDrawArrays, VBOs, etc.
+
+commit 4df2f7af5e9b2c00ead92fe0ae49ed8491aef1d0
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 16 15:49:33 2009 -0600
+
+ progs/glsl: minor Makefile clean-ups
+
+commit 8d47b4906bcfb9c73816df5892673c4694410d2f
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 16 15:48:52 2009 -0600
+
+ swrast: remove mipmap generation checks (done in core Mesa now)
+
+commit 4e84b96d9237f83aa1eb5613afeba4f687504174
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 15 19:53:50 2009 -0600
+
+ s3v: remove unneeded initializations
+
+commit 1b1125c23951b23e253537b58210c76955784380
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 15 19:47:06 2009 -0600
+
+ ffb: remove disabled code
+
+commit f911d196cf7bdf2d922e11de8ab35649eb6a748c
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Sep 16 16:12:22 2009 +0100
+
+ llvmpipe: Don't assert due to unsupported texture wrap modes.
+
+ Issue a warning and fallback to clamping.
+
+commit 5ce72c559c027ea03513ed9c0038706733b0586e
+Merge: aabcc6c 88e3a57
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Wed Sep 16 08:05:36 2009 -0700
+
+ Merge branch 'mesa_7_6_branch'
+
+commit aabcc6cb23d7f7cb0d0dec418f6d3ade8962ba24
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 16 08:59:32 2009 -0600
+
+ gallium: remove incorrect 'return' stmt
+
+commit c29905aa318cf9ed782935552fa983b048646984
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Sep 16 14:31:14 2009 +0100
+
+ gallium: Deprecate PIPE_CAP_S3TC.
+
+ No longer used. S3TC support is queried via
+ pipe_screen::is_format_supported.
+
+commit ec48396e0fefb86a549b02b760f669f74c15d715
+Author: Michal Krol <michal@vmware.com>
+Date: Wed Sep 16 13:56:58 2009 +0100
+
+ softpipe: Do not advertise Z32_UNORM as a supported format.
+
+commit b60e1d7630fb35017b07df51493e1df46715fa53
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Sep 16 10:39:29 2009 +0100
+
+ gdi: Integrate with llvmpipe where available.
+
+commit 459ea0095c31eff835b25dd3eef48a4c073d05f9
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Sep 16 10:39:06 2009 +0100
+
+ llvmpipe: Make the code portable for MinGW.
+
+commit 858a2a2ac7b1c8f1a7f7c4b3c66b3919989798d4
+Author: Dave Airlie <airlied@linux.ie>
+Date: Wed Sep 16 13:48:45 2009 +1000
+
+ radeon: cleanup compile defines mess.
+
+ I inherited this and really it stayed around far too long,
+ make it nice and simple.
+
+commit a6a21eb00dbd262b2835456bef8172b36df5c1ea
+Author: Dave Airlie <airlied@linux.ie>
+Date: Wed Sep 16 13:25:02 2009 +1000
+
+ radeon: oops remove debugging left on in previous patch
+
+commit 2fdb0e5d3b6633e0dcf3fc648736e05ca0b66cdc
+Author: Dave Airlie <airlied@linux.ie>
+Date: Wed Sep 16 13:07:02 2009 +1000
+
+ radeon: use txformat to decide to emit rect tex state.
+
+ This is more logical, and fixes a TFP issue.
+
+commit 2914f2b7fd9bd1082f8cce724d234208b900c3d4
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 15 18:16:59 2009 -0600
+
+ mesa: move generate mipmap calls
+
+ Per the suggestion in the Intel driver, move the calls to
+ ctx->Driver.GenerateMipmap() into core Mesa so that drivers don't
+ have to worry about it.
+
+commit ef6ee07fc7b356109897fdc311be74d5c6640bf9
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 15 18:09:03 2009 -0600
+
+ mesa: minor clean-up
+
+commit a31ac84d743e33dabdcbbb4998fb6b7ceccf27d4
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 15 17:41:40 2009 -0600
+
+ mesa: remove last of gotos
+
+commit c352566933b932ef09cea3f144df21147a7f6bc1
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 15 17:36:35 2009 -0600
+
+ mesa: more goto removal
+
+commit ecf6f37fc201d7c88f8214b04ca1f61071c460a1
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 15 17:32:01 2009 -0600
+
+ mesa: remove some gotos
+
+ This will make some subsequent changes easier...
+
+commit c26c2006df6035fccd6103961524fd15bf000840
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 15 17:20:32 2009 -0600
+
+ mesa: clean-up fbo debug code
+
+commit 0b0fc4072f9d7fa72cbe842a2e1cabfe0d9eb3b4
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 15 17:13:49 2009 -0600
+
+ progs/demos: use non-default texobj in cubemap.c
+
+commit 7f86da6c609191dbad1887fe5683dfee087fa909
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 15 17:08:33 2009 -0600
+
+ progs/demos: create a texture object in lodbias.c
+
+ Before, we were using the default texture object (name=0). This caused
+ the intel_generate_mipmap() path to fail since passing texture=0 to
+ glFramebufferTexture2DEXT() causes us to _unbind_ the texture if present.
+
+commit a016043386045d7cc35d70e42d963704fcae3731
+Author: Zack Rusin <zackr@vmware.com>
+Date: Tue Sep 15 11:01:21 2009 -0400
+
+ st/xorg: fixing copies and composite shaders
+
+ copies were busted when src == dst. also the composite shaders
+ were incorrectly using the fragments instead of the texture coordinate.
+
+commit 8adcad0c703a9d339b6630ceaba5f96981c524d9
+Author: Zack Rusin <zackr@vmware.com>
+Date: Tue Sep 15 09:02:20 2009 -0400
+
+ st/xorg: lots of fixes
+
+ fixes blending binding and copy coordinates
+
+commit f9574e05c22a643499d3c589d681fd0e1faef1a5
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 15 16:01:33 2009 -0600
+
+ docs: GL_ARB_provoking_vertex
+
+commit 2e7a1dd8caa8b5fa83a306f6bb506a48b23616a2
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 15 16:01:22 2009 -0600
+
+ mesa: added GL_ARB_provoking_vertex (same as EXT version)
+
+commit 87d40a95bfd99141215b6d952080135f7605d7d0
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue Sep 15 17:12:03 2009 -0400
+
+ radeon: don't build non-r600 span code on r600
+
+commit 49fc41eeede4adb9867ab10718d121b017ede496
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue Sep 15 16:58:37 2009 -0400
+
+ r600: minor span cleanups
+
+commit ac4e23d78415cfdd601a4e8d733075e946a70be9
+Merge: f1ce6b0 6c6fe0a
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Tue Sep 15 13:14:38 2009 -0700
+
+ Merge branch 'mesa_7_6_branch'
+
+commit f1ce6b09cdb21d9217d6ad6057f7fb97375df8be
+Author: Zack Rusin <zackr@vmware.com>
+Date: Tue Sep 15 06:00:52 2009 -0400
+
+ st/xorg: Brian suggested that those could be mad's
+
+ optimizes the common paths
+
+commit b0c52e491d4f1ad4d16352d1aae77bc879b8da0a
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 15 12:35:41 2009 -0600
+
+ mesa: remove incorrect texture state check
+
+ Fixes incorrectly textured bitmap text in engine demo.
+ It's incorrect to test the texture enable bits here since they may have
+ been changed by disabling the shader above. Optimization is still possible
+ but will have to be reexamined.
+
+commit 26860a6e2f2a30072594d4f68fbf7db6356bb674
+Author: Maarten Maathuis <madman2003@gmail.com>
+Date: Mon Sep 14 20:21:56 2009 +0200
+
+ nv50: avoid excessive FIRE_RING
+
+ - And reduce RING_SPACE to 2, instead of 3.
+
+commit db37279e0b3620c6be9de6dd96f0f4dac63bb48c
+Author: Maarten Maathuis <madman2003@gmail.com>
+Date: Mon Sep 14 19:42:53 2009 +0200
+
+ nv50: use flush_notify to reduce number of relocs
+
+commit 0469465c31371177d85ab7af103359500323c1f8
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Tue Sep 15 18:31:07 2009 +0200
+
+ st/xorg: Only unreference texture on pixmap destruction, don't destroy it.
+
+ Fixes memory corruption if e.g. the driver still has references to the texture.
+
+commit 45cf2696ca2ad5f2ef77a3c35ee1d0ab1709b1da
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Tue Sep 15 18:30:58 2009 +0200
+
+ st/xorg: Explicitly check whether the driver supports the pixmap formats.
+
+ Rather than arbitrarily checking for pixmap depth < 15.
+
+commit be94a1d3bc147320ac7bfd98235783359bfada5c
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Tue Sep 15 18:23:00 2009 +0200
+
+ st/xorg: Use A8 format for depth 8 pixmaps.
+
+ The inconsistent bpp caused issues with UploadTo/DownloadFromScreen.
+
+commit be0cdd77eaee3de4d3fcd6f5832f4796990247f3
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 15 09:52:27 2009 -0600
+
+ st/mesa: disable accidentally committed _mesa_print_program() call
+
+commit 41bbc8395111c6ef37e08a63ee58876d10a09e77
+Merge: c0cf9dc 5d526ed
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 15 09:47:35 2009 -0600
+
+ Merge branch 'mesa_7_6_branch'
+
+commit c0cf9dc05e2d887ce6419e6cae1b3606a1779b3f
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Sep 14 17:34:40 2009 -0600
+
+ ARB prog parser: regenerated file
+
+commit 2aad3a855b8422124f9c903fa2096ea1fe0a607f
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Sep 14 17:34:09 2009 -0600
+
+ ARB prog parser: more detailed error message for out of bounds ADDR offsets
+
+commit 5ef40337ab9f0cf5d9184ac541157e5ef4209897
+Author: Andre Maasikas <amaasikas@gmail.com>
+Date: Tue Sep 15 11:27:51 2009 -0400
+
+ r600: support position_invariant programs
+
+commit a18301790cf2b6f494284cdda6eea8bb1ceacd8e
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Sep 15 16:02:20 2009 +0100
+
+ gallium: Use the enum for pipe_transfer::usage.
+
+commit cb5f1bce23f3d5c7ac4f0a18476aefa21b4c1265
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Sep 15 16:02:00 2009 +0100
+
+ gallium: pipe_transfer_destroy helper inline.
+
+commit d3a9cf54c0a95fb60ac8921e100d51b53c44541b
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Tue Sep 15 15:24:32 2009 +0200
+
+ nv50: fix stupid thinko in emit_set
+
+ When swapping sources 0 and 1, EQ of course does *not*
+ become NE, etc.
+
+ Introduced in 2b963f5c723401aa2646bd48eefe065cd335e280.
+
+commit 7aee53002c25369364f5d26aeb63d6c467f77c49
+Author: Michal Krol <michal@vmware.com>
+Date: Tue Sep 15 12:00:27 2009 +0100
+
+ gallium: Fix pointer type casts.
+
+commit 750c6cae3d6f5b24c0c51537a5717894675645c6
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Tue Sep 15 11:56:58 2009 +0200
+
+ nv50: let programs use the whole param buffer
+
+ Allocation is unnecessary since all uniforms are
+ uploaded on every constant buffer change anyway.
+
+commit 01670ca8073b57029625873b5c8374fb8716e1eb
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Mon Sep 14 21:03:19 2009 +0200
+
+ nv50: add preliminary support for point sprites
+
+commit 06dac41cc50303fe767041dcb4b2192763dd9c16
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Tue Sep 15 11:49:41 2009 +0200
+
+ nv50: add support for point size per vertex
+
+commit 4d7b4781c82c60d646ee5e766824a0f894e4c292
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Mon Sep 14 20:52:52 2009 +0200
+
+ nv50: add support for light-twoside
+
+commit 6516594c8eec1088ee59e7c3254b2fdced2ff04b
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Mon Sep 14 20:23:39 2009 +0200
+
+ nv50: proper linkage between VP and FP
+
+ This moves construction of the mapping between VP outputs
+ and FP inputs into validation.
+
+ The map also contains slots for special outputs like clip
+ distance and point size, so we need to at least merge the
+ VP related and FP related parts on validation if we want
+ to support those.
+
+ Now we match every single FP input component with results
+ from the VP and leave those not read out of the map, or
+ replace those not written by 0 (xyz) or 1 (w).
+ The bitmap indicating linear interpolants is also filled,
+ and flat FP inputs are mapped in only after non-flat ones,
+ as is required.
+
+ Furthermore, we can save some space by only fetching VP
+ attrs we actually use, and avoid wasting any output regs
+ because of TGSI using less than 4 components.
+
+commit 38849c529e76b99f56f522be183a5935d617bcab
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Tue Sep 15 11:47:00 2009 +0200
+
+ nv50: move allocation of pc regs
+
+ Make use of tgsi_shader_info to determine how many nv50_regs we
+ need to allocate, whether program uses KIL, or writes DEPR.
+
+commit e0951797cb2b356e64494e121e46fa3e00e25cf6
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Tue Sep 15 11:45:40 2009 +0200
+
+ nv50: nicer initialization of nv50_regs
+
+commit 849885c7a6f44d96d74d9c5cd178a7bd2dd164ce
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Thu Sep 10 22:42:57 2009 +0200
+
+ nv50: handle CEIL and TRUNC opcodes
+
+commit 2b963f5c723401aa2646bd48eefe065cd335e280
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Thu Sep 10 22:38:09 2009 +0200
+
+ nv50: handle SEQ, SGT, SLE, SNE opcodes
+
+commit e774b3c0f24c2dd5cd33c09fc7be7601371317cc
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Tue Sep 15 11:44:59 2009 +0200
+
+ nv50: SIN and COS use src0.w for dst.w
+
+commit 81de711fc864247419221d700bd045addf22cb52
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Thu Sep 10 16:33:54 2009 +0200
+
+ nv50: use broadcast TEMP reg in tx_insn
+
+ Makes some opcode cases nicer and might reduce the total
+ nr of TEMPs required, or save some MOVs.
+
+commit 234d82ed632f8b53eec805383874de4fd00eff2a
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Tue Sep 15 11:44:19 2009 +0200
+
+ nv50: add nv50_tgsi_insn to handle swizzles safely
+
+commit 2da8608ad795d29fe7a908eaee3d6dd33e829f3e
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Thu Sep 10 13:48:24 2009 +0200
+
+ nv50: add functions for swizzle resolution
+
+ We're going to try to reorder the scalar ops of a vector instr
+ to accomodate swizzles that would otherwise require us to emit
+ to an additional TEMP first (like MOV R0.xy, R0.zx).
+
+commit 5d141b3e3e4a6874a58c893b3039f5c276cd26da
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Thu Sep 10 12:00:37 2009 +0200
+
+ nv50: extend insn src mask function
+
+ Extend its usage to avoiding e.g. emission of negation
+ instructions in tx_insn for sources we don't need.
+
+commit 287f0072d2bb8b74500076685830c397c580e4a2
+Author: Cooper Yuan <cooperyuan@gmail.com>
+Date: Tue Sep 15 15:25:47 2009 +0800
+
+ st/g3dvl: pass color values to softpipe clear function
+
+commit 2ef8c60e558938686196bf8ff4d22fd57903bf4c
+Author: Cooper Yuan <cooperyuan@gmail.com>
+Date: Tue Sep 15 13:16:56 2009 +0800
+
+ xvmc: Generate new resource ID in _XIDHandler, otherwise it's invalid.
+
+commit ef7746217176ba251dc6a5deb90c308c9964ed7b
+Author: Zack Rusin <zackr@vmware.com>
+Date: Mon Sep 14 19:01:21 2009 -0400
+
+ st/xorg: add some debugging helpers
+
+commit 364ca57aff733e8ee5f417b3f8719514f443315f
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Mon Sep 14 18:05:15 2009 -0400
+
+ r600: add span support for 1D tiles
+
+ 1D tile span support for depth/stencil/color/textures
+
+ Z and stencil buffers are always tiled, so this fixes
+ sw access to Z and stencil buffers. color and textures
+ are currently linear, but this adds span support when we
+ implement 1D tiling.
+
+ This fixes the text in progs/demos/engine and progs/tests/z*
+
+commit f662cedae446b124ff3f370c21cc7bb2e08244a0
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Mon Sep 14 17:08:26 2009 -0400
+
+ r600: fix warning
+
+ Noticed by rnoland on IRC.
+
+commit 909ab3377f7c61049c1fb29b8898e7d84489ce21
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Sep 14 16:01:27 2009 -0600
+
+ st/mesa: minor whitespace, comment clean-ups
+
+commit 5a87a25a65012122dd91256a8d2f3d1c3ffe5de0
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Sep 14 15:47:07 2009 -0600
+
+ st/xorg: fix ureg_DECL_constant() parameters
+
+ This fixes the compilation errors reported in bug 23945 but someone more
+ familiar with the code should review for correctness and close the bug
+ report.
+
+commit d3f5a2e5ab413ec0dab1efa8135705e5312d361d
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Sep 1 10:17:39 2009 +0100
+
+ scons: Allow to use only the WINDDK headers.
+
+commit a4a4553a80e62f0d339d18a91c0ce699b0e196d4
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Sep 1 10:11:08 2009 +0100
+
+ scons: Allow to use MS's DXSDK headers with MinGW.
+
+commit c51bd94a14c133d44115d52e4773cb7b313c3ce7
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Jun 1 09:20:29 2009 -0700
+
+ gallium: Add pipe_transfer_map/unmap inlines.
+
+commit 88b88bba68af2f5d3243ebc77f32e47aa747d5f7
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Jun 1 08:58:34 2009 -0700
+
+ util: Add _BitScanForward intrinsic's declaration.
+
+ It is missing in some Microsoft DDKs.
+
+commit aa522e6cc434fbe37203152de2d5d513ab640c67
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Sep 14 12:42:07 2009 -0600
+
+ intel: minor code clean-ups
+
+commit 8ec456c68cc69349c2506ce64047d06c7113780c
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Sep 14 12:40:53 2009 -0600
+
+ intel: fix renderbuffer map/unmap regression
+
+ Commit 36dd53a3cded9d003ec418732b7fc93c1476aa9b caused a few regressions
+ because the glReadBuffer() buffer wasn't getting mapped when GL_READ_BUFFER
+ != GL_DRAW_BUFFER.
+
+commit 3c3104943946904d0e205166bc4baf28ff2bf81b
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Sep 11 14:49:00 2009 -0600
+
+ intel: remove unneeded driver function assignments
+
+ These default swrast functions are already installed by
+ _mesa_init_driver_functions().
+
+commit 284d3b2d9cf0bb6a112e74bb19cf38f5d3a5001d
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Sep 11 11:14:12 2009 -0600
+
+ progs/tests: exercise display lists and pixelstore
+
+commit d7512521fd73aea3c6f19c427a877fc74e3fa557
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Sep 14 17:11:09 2009 +0100
+
+ mesa/st: remove dead comment
+
+commit 4295b34d25f40f38b8cfd3ebdc64aef29d0666db
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Sat Sep 12 14:22:48 2009 -0700
+
+ st/mesa: convert to new tgsi_ureg mechanism for shader emit
+
+ Should be easier to read and work with than the older ways of emitting
+ TGSI tokens.
+
+ Also, emit simpler TGSI than previously:
+ - translate away source and dest extended modifiers
+ - translate away the SWZ opcode
+
+commit d8a191e314922735bfe0e7cf1906eb556a659f59
+Author: Marcin Kościelnicki <koriakin@0x04.net>
+Date: Mon Sep 14 09:56:55 2009 +0000
+
+ nv50: Fix m2mf positions.
+
+commit b4835ea03d64261da5a892f9590c9977b06920e8
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Sep 14 11:05:06 2009 +0100
+
+ llvmpipe: Make lp_type a regular union.
+
+ Union not worth the hassle of violating C99 or adding a name to
+ the structure.
+
+commit fa150debf040488291ebd2222ad82f773d93c654
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Sep 14 11:01:27 2009 +0100
+
+ util: Fix a1r5g5b5's format description.
+
+commit aad0deee4b2d347bdfc536fe98938ed825bf0f6b
+Author: Cooper Yuan <cooperyuan@gmail.com>
+Date: Mon Sep 14 16:23:03 2009 +0800
+
+ g3dvl: update tgsi_opcode in order to build g3dvl library
+
+commit 66a7eedaa2f66e5e941cea0303c5ec348e9cc641
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Sun Sep 13 11:59:24 2009 -0700
+
+ tgsi: handle some src/dst aliasing in tgsi_sse2.c
+
+ Src/Dst aliasing (aka SOA dependencies) requires some care to ensure
+ intermediate results do not overwrite yet-to-be read source registers.
+
+ This change ensures that MOV/SWZ handle this correctly, which is poor but
+ no worse than the current tgsi_exec.c path. Remove the fallback as there
+ is nothing to be gained correctness-wise between the two implementations now.
+
+ Fixing this properly looks like a bit of work in this code, but might be
+ easily achieved by sending destination writes to temporary storage.
+
+commit 86226d5ea186d3fc6013bc40a341e0c0a891de39
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Sep 13 16:22:27 2009 +0100
+
+ llvmpipe: Compute derivatives.
+
+commit 4b32dd30072b5889ca1efcd5ac8bdbf14b1e2bb5
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Sep 13 16:13:12 2009 +0100
+
+ llvmpipe: Remove dead references to pipe_winsys.
+
+commit 5e13e987da6ce656b08f6c25f8d373c80949e3b0
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Sep 13 16:12:48 2009 +0100
+
+ llvmpipe: Use const keyword for input array arguments.
+
+commit faec23387e035bcdd413b7364933d36a8ec22dba
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Sep 13 14:42:52 2009 +0100
+
+ llvmpipe: Delay storing into the dst register to prevent clobbering the src registers.
+
+ How I'm thankful for regular expressions -- just a couple of them were
+ all that was needed to do this otherwise tiresome and bug prone change.
+
+commit 873773ee2b034e8df72ddfacc764915b8a76ebe2
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Sep 13 13:55:08 2009 +0100
+
+ llvmpipe: Translate more TGSI opcodes.
+
+ Basically cover all low hanging fruit, and mark the still missing opcodes
+ as "fixme" or deprecated.
+
+commit 00dd0156e08d2801aa2bc5454f94692bf65a33a6
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Sep 13 13:50:19 2009 +0100
+
+ llvmpipe: Add a few more common arithmetic functions.
+
+ We are relying on SSE4.1 for round/trunc/ceil/floor. We'll need to
+ eventually find alternatives for the rest of the world.
+
+commit d7aa114e166c5f5330ecbe321adad65ad2cd54aa
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Sep 13 13:45:48 2009 +0100
+
+ llvmpipe: Rename function to free up lp_build_trunc to the usual arithmetic meaning.
+
+commit 18e5f1cee4cadc6306ebc2e2ba047172ff42556a
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Sat Sep 12 18:33:46 2009 -0700
+
+ tgsi: implement saturation
+
+ Fix recent performance regression.
+
+commit 055fe5768c6e455b3466be47e1771711c495f1c6
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Sat Sep 12 15:58:34 2009 -0700
+
+ tgsi: add missing implementation of constant decl change
+
+commit bffa18624de4a509f63d679c0c48f2c3f0c27cea
+Author: Cooper Yuan <cooperyuan@gmail.com>
+Date: Sun Sep 13 07:10:34 2009 -0400
+
+ r300g: delete unused flag due to commit: 09b566e1610
+
+commit 11f41f54cf4ce1cdc19c4b5c45ed8d2083d96831
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Sat Sep 12 14:18:50 2009 -0700
+
+ ureg: add a mechanism to get the built tokens rather than a full shader
+
+ Previously ureg would always call the driver's create-shader function. This
+ allows the caller the opportunity to hold onto the tokens if it needs to
+ reuse them, eg. to create an internal draw shader.
+
+commit c23894295b593b9a8561e9775199e1c78ea4435d
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Sat Sep 12 14:18:00 2009 -0700
+
+ ureg: add generic emitters for tex and branch instructions
+
+ Couldn't previously emit these except by calling the opcode-specific helper.
+
+commit ae4704eabc237e13c9b06df9c44f31c9baca6208
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Sat Sep 12 14:16:00 2009 -0700
+
+ tgsi/ureg: give ureg_DECL_constant an explicit index parameter
+
+ Avoid the need to emit all constant declarations in order. Makes
+ referring to a specific constant in the constant buffer much easier.
+
+commit 09b566e1610ec699490dc01bcea0b8c5cc44a78d
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Sat Sep 12 14:13:44 2009 -0700
+
+ mesa: remove unused SATURATE_PLUS_MINUS_ONE flag
+
+ Never set in mesa. Remove from tgsi translation as well.
+
+commit 6d8dbd3d1ec888300fb0e9ac3cf61808ba8ecc2b
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Sat Sep 12 14:12:35 2009 -0700
+
+ tgsi/ureg: VS inputs don't have any semantic tags, just an index
+
+ Fix ureg_DECL_vs_input to reflect this and fix up all callers.
+
+commit 149945c432115ef27788216063dd453624caa9e9
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Sat Sep 12 14:07:48 2009 -0700
+
+ tgsi: free tokens on error
+
+commit e90fb86ac3f3a000c91d2cd9fab2bf27d4ede0e7
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Sat Sep 12 14:05:37 2009 -0700
+
+ tgsi: sanity check ureg programs
+
+commit 983b261e6d85020ae19418428d25f2e70f43d7dd
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Sat Sep 12 14:04:36 2009 -0700
+
+ tgsi: add const qualifier
+
+commit 3cb30e55e48d86aa5f660e670e055d6b258ea54a
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sat Sep 12 16:34:55 2009 +0200
+
+ r300g: There is no such thing as "texture stride"
+
+ Individual texture images have a stride, but textures as a whole do not.
+
+ There are still pieces of code which are confused about this, but the core of
+ the confusion is hopefully gone.
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 57d16c4cc37689710f951cb13981e2efc160cd23
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Sep 11 14:09:03 2009 -0700
+
+ i965: Move OPCODE_DDX/DDY to brw_wm_emit.c and make it actually work.
+
+ Previously, it was trying to mess around with the varying's
+ WM setup data to produce a result. Along with not actually working when
+ passed a varying, this wouldn't work if you did dFd[xy]() on a temporary.
+ Instead, just calculate the derivative using the neighbors in the subspan.
+
+commit a79eecb9139169fa8c99c0f9cf26db95f3983a36
+Author: Andre Maasikas <amaasikas@gmail.com>
+Date: Fri Sep 11 15:59:55 2009 -0400
+
+ r600: fix texcoords from constants
+
+ with some minor updates from Richard.
+
+commit 08b7d32140a09a35bdfe93327dd7ee2333315bc1
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri Sep 11 12:10:15 2009 -0400
+
+ Revert "r600: support tex coords from constants"
+
+ This reverts commit 4099bb76148007f9ccb6c86838b2bf37ea42de56.
+
+ Tex coord src has to be a GPR.
+
+commit 622b31925b6a68b496cd65c627b8a1ed7e811cc3
+Author: Cooper Yuan <cooperyuan@gmail.com>
+Date: Fri Sep 11 23:21:28 2009 +0800
+
+ r300g: only allocate one BO for vertex buffers, default size is 64*1024
+
+ it can fix redbook/sceneflat, scene, scenebamb, surface, nurbs and so on
+
+commit 4099bb76148007f9ccb6c86838b2bf37ea42de56
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri Sep 11 11:07:58 2009 -0400
+
+ r600: support tex coords from constants
+
+ Fixes neverball among other things.
+
+commit 4108ed7e806e4ad1b2706a107a10f4eebd255ddc
+Author: Andre Maasikas <amaasikas@gmail.com>
+Date: Fri Sep 11 10:59:05 2009 -0400
+
+ r600: enable caching of vertex programs
+
+commit 672c5f52d1f97ed20d9f382b33c13919ec811684
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Sep 11 11:29:24 2009 +0100
+
+ llvmpipe: set dirty_render_cache in llvmpipe_clear()
+
+ Based on Brian's softpipe change on
+ commit 988db641195819c948249a1bb2d59f13577a482f. We don't use the tile
+ cache for zsbuf though, only for color buffers.
+
+commit 1fc41002252419f4688c24ea8c3814553b3d76ad
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Sep 11 11:24:00 2009 +0100
+
+ llvmpipe: Update status in README and TODO/FIXME comments throughout the code.
+
+commit 7c0152fbaeb21ab423a9de339b85c54d1713432b
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Sep 10 09:44:30 2009 -0700
+
+ i965: Enable loops in the VS.
+
+ Passes piglit glsl-vs-loop testcase.
+
+ Bug #20171
+
+commit 0ef5b627871eb893309fe784bc47d0d8d69f4c57
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 10 19:56:35 2009 -0600
+
+ mesa: nicer vertex setup
+
+commit 4781c1f45925031a9e4a5f8ebf80cfd821312e3c
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 10 19:40:53 2009 -0600
+
+ st/mesa: use st_context() helper
+
+commit 6bc36f29c7e9cb4e5acc65acab27e9b6ec83ab94
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 10 16:51:52 2009 -0600
+
+ softpipe: remove no-op softpipe_init_texture_funcs() function
+
+commit 209031701a5e1180e6fdfeee8f8db164dd98a29e
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 10 16:50:18 2009 -0600
+
+ softpipe: remove unused #includes, move comment
+
+commit de059d35c3a99ab1eafd9dfece5ce0c83facee5b
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 10 16:45:25 2009 -0600
+
+ util: remove unneeded #includes
+
+commit afcaa45a94af95e62b56fb795ba573b719fa6daf
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 10 16:42:47 2009 -0600
+
+ softpipe: reformatting, clean-ups, comments
+
+commit 759696defb1d70aa7861259f16e2f08cbcb89d5b
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 10 16:39:13 2009 -0600
+
+ util: minor clean-ups, reformatting
+
+commit 71b3ccc4b0e006de3a70c05c41a706ac9929cd5d
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 10 16:38:51 2009 -0600
+
+ softpipe: remove unneeded #includes
+
+commit b8e1e8d2d8ae6ffbf8f271b46ee89788a926b3b0
+Merge: 81722c5 d9dc4cb
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Thu Sep 10 15:33:45 2009 -0700
+
+ Merge branch 'master' into asm-shader-rework-2
+
+ Conflicts:
+ src/mesa/shader/lex.yy.c
+ src/mesa/shader/program_parse.tab.c
+ src/mesa/shader/program_parse.tab.h
+
+commit 81722c5d7e8e93d837510b9e6e5d014ec64cf4b3
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Thu Sep 10 15:04:24 2009 -0700
+
+ NV fp parser: Add support for condition codes
+
+ Conditional write masks and the condition-code based KIL instruction
+ are all supported. The specific behavior of KIL in the following
+ shader may or may not match the behavior of other implementations:
+
+ !!ARBfp1.0
+ TEMP GT;
+ MOVC GT, fragment.texcoord[0];
+ KIL GT.x;
+ END
+
+ Should be it interpreted as 'KIL srcReg' or as 'KIL ccTest'? The
+ current parser will interpret it as 'KIL srcReg'.
+
+commit cdb719399438194c5e9d5bc1bae3458398fe4e54
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Thu Sep 10 14:55:36 2009 -0700
+
+ ARB prog lexer: Add missing #include to silence compile warning
+
+commit d9dc4cb0e4f578da9e50c9d1ba6fd9c22ea2fca6
+Merge: 8c37a4c 4b1cbfc
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 10 15:41:52 2009 -0600
+
+ Merge branch 'mesa_7_6_branch'
+
+commit 8c37a4c8fd133f3cddc6798a0834038730acc213
+Author: Zack Rusin <zackr@vmware.com>
+Date: Wed Sep 9 17:38:13 2009 -0400
+
+ st/xorg: rename ctx to pipe to match every other gallium state tracker
+
+ plus it avoids the "ctx->ctx->" syntax
+
+commit 0e7953366f2a8ab1b0e885d94f6635c7640b3cc7
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Thu Sep 10 14:35:33 2009 -0700
+
+ ARB prog parser: Differentiate between used and unused names in the lexer
+
+ The lexer will return IDENTIFIER only when the name does not have an
+ associated symbol. Otherwise USED_IDENTIFIER is returned.
+
+commit 85a716bf627080c5b57653ddfca199e752f6906e
+Author: Zack Rusin <zackr@vmware.com>
+Date: Wed Sep 9 17:16:02 2009 -0400
+
+ st/xorg: temporarily disablie copies
+
+commit feb74e7753f56c0fa3ec943a45bbf48f2183e04c
+Author: Zack Rusin <zackr@vmware.com>
+Date: Wed Sep 9 17:14:21 2009 -0400
+
+ st/xorg: implement pipelines surface/texture copies
+
+commit 57d0934bc562c7a0de0c79fb0263ab3569eed002
+Author: Zack Rusin <zackr@vmware.com>
+Date: Wed Sep 9 16:08:00 2009 -0400
+
+ st/xorg: unite finalization and stub out pipelined copies
+
+commit 974dec2e7b86474af75708dd2cc8236416f25662
+Author: Zack Rusin <zackr@vmware.com>
+Date: Wed Sep 9 15:43:09 2009 -0400
+
+ st/xorg: abstract flushing and syncing for the exa code
+
+commit 16886c8be34fd17ed34c83ed2e83af2c825c989d
+Author: Zack Rusin <zackr@vmware.com>
+Date: Wed Sep 9 11:35:34 2009 -0400
+
+ st/xorg: disable solid fills until copies are accelerated as well
+
+commit 6be1a98ab9d64584c3852b97e2f1d63697f7bf76
+Author: Zack Rusin <zackr@vmware.com>
+Date: Wed Sep 9 11:33:33 2009 -0400
+
+ st/xorg: implement exasolids with full pipelining
+
+ plus fix some small issues with the shaders
+
+commit 3167c2e8a0a248c290ae8bfff23c88db8f39cd11
+Author: Zack Rusin <zackr@vmware.com>
+Date: Wed Sep 9 05:34:56 2009 -0400
+
+ st/xorg: start adding support for surface fills
+
+commit 18882f4d30afcc849dca33ff93dbcd5ca45664b8
+Author: Marcin Kościelnicki <koriakin@0x04.net>
+Date: Thu Sep 10 18:26:42 2009 +0000
+
+ nv50: Fix tiling mode for lower mipmap levels.
+
+commit 36dd53a3cded9d003ec418732b7fc93c1476aa9b
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Sep 10 09:26:38 2009 -0700
+
+ intel: Don't forget to map the depth read buffer in spans.
+
+ This broke BlitFramebufferEXT(GL_DEPTH_BUFFER_BIT).
+
+commit e669dc2b0dcebb49cfef3ccd54c95ad33b63e02d
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Thu Sep 10 12:04:38 2009 -0400
+
+ r300: enable rb3d_discard_src_pixel_lte_threshold for more chips on dri2
+
+commit 7dfe54a60e63fa6ac1846ca8ac125d19e2734cd1
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Thu Sep 10 12:01:19 2009 -0400
+
+ r300: add full support for two sided stencil on r5xx for dri2
+
+commit f89751e71928770472d61e3b7069a5d0e2125f0e
+Author: Mathias Frohlich <M.Froehlich@science-computing.de>
+Date: Thu Sep 10 08:50:01 2009 -0600
+
+ mesa: fix cut&paste typos
+
+commit c7291f69a0f64ceda02d39d58e22ca20ecbabde7
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Sep 10 15:33:57 2009 +0100
+
+ util: Add PIPE_OS_APPLE back to auxiliary/util/u_time.h.
+
+ Fixes typo from commit c6c44bf48124dd5b4661014a8d58482c5a54557f.
+
+commit 6a405b4a21ac1fa45a93da37ce6b95d98d17f0e2
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Sep 10 13:35:39 2009 +0100
+
+ llvmpipe: Fix alpha test.
+
+commit 4c3a48ad0cb36e6d8601535b91f83caed0d07570
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Sep 10 12:37:44 2009 +0100
+
+ llvmpipe: Mask out color channels not present in the color buffer.
+
+commit 48f19c0bcdc56d33ef2873eeabe635380764e968
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Sep 10 12:14:53 2009 +0100
+
+ llvmpipe: Fix sampling from depth textures. Respect texture compare func.
+
+ Fixes Mesa shadowtex sample.
+
+commit c3c80c5c22f9ce7fabba90daa5d5142e5fb1c012
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Sep 10 12:01:42 2009 +0100
+
+ llvmpipe: Skip blending when mask is zero.
+
+ This increases quake3 timedemo fps another 10%.
+
+commit 8e6b925d2a963a2d5a403e106d7d25e3dcca0775
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Sep 10 11:44:03 2009 +0100
+
+ llvmpipe: Proper control flow builders.
+
+ New control flow helper functions which keep track of all variables
+ and generate the correct Phi functions.
+
+ This re-enables skipping the fs execution of quads masked out by
+ the rasterizer, early z testing, and kill opcode.
+
+ This yields a performance improvement of around 20%.
+
+commit bd3b59da632d85a062accab267e18b66274b857a
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Sep 10 09:19:51 2009 +0100
+
+ llvmpipe: Copy the texture target into the sampler static state.
+
+ Hunk forgotten in previous commit.
+
+commit 4139bc8f4375c1f8961b281b6303bccaab24367a
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Sep 9 21:46:18 2009 +0100
+
+ llvmpipe: Quick hack for 1D textures.
+
+commit b0b131b023ed3d31fa77cfcd5f9b82f2997c78c7
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Sep 9 21:45:08 2009 +0100
+
+ scons: Pass -mstackrealign option to gcc.
+
+ It is impossible to have gcc generate SSE code without it, as thirdparty
+ applications often call us with an unaligned stack pointer.
+
+commit abc160b664c3fbd4c18a2cd3402c9a84f5f2d00f
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Sep 9 21:17:20 2009 +0100
+
+ llvmpipe: Fix depth mask computation.
+
+ Fixes depth test for 24bit depth formats.
+
+commit cdbbcdf3bdb114d79cf7b9474436c3d26b135592
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Sep 9 21:16:06 2009 +0100
+
+ llvmpipe: Include zsbuf's format in the fragment shader key.
+
+commit da912a7a16de546d74a22a98e47a3b191bddf3e7
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Sep 9 21:13:52 2009 +0100
+
+ util: Fix depth/stencil format description.
+
+ Inverse channel order.
+
+commit 01c831576eb77ec87bff667ed5591a93cbbef97d
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Sep 9 19:21:22 2009 +0100
+
+ llvmpipe: Debug function to check stack alignment.
+
+ Doing alignment check in locus is redundant, as gcc alignment assumptions
+ will optimize away the check.
+
+commit 5604b27b9326ac542069a49ed9650c4b0d3e939a
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Sep 9 12:35:30 2009 -0700
+
+ i965: Fix relocation delta for WM surfaces.
+
+ This was a regression in 0f328c90dbc893e15005f2ab441d309c1c176245.
+
+ Bug #23688
+ Bug #23254
+
+commit 4d85a6b393503c8e859ff9bcd5011ec5e65ba2b9
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 9 09:24:38 2009 -0600
+
+ i965: fix an overlooked merge conflict
+
+commit 49c230709cfc588deea19f9ec21763ee00b81e6a
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Sep 9 11:14:17 2009 -0400
+
+ r600: check if textures are actually enabled before submission
+
+ noticed by taiu on IRC.
+
+commit 7bf63473623e01933adc0e8f4464eda8f2860564
+Merge: 94a8157 0c309bb
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 9 09:00:58 2009 -0600
+
+ Merge branch 'mesa_7_6_branch'
+
+commit 94a8157ef6bf6695cdc66325c9a7698e64f3e37e
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 9 08:55:32 2009 -0600
+
+ mesa: regenerate get.c form get_gen.py
+
+commit 3fed69eb168774d2303e4efb9149f34e55d91b58
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Sep 9 08:54:38 2009 -0600
+
+ mesa: move call to init_c_cliptest() from enable.c to tnl module.
+
+ Fixed gallium build breakage.
+
+commit da9ed257a3b47c97ac557da17c32cf271190a407
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Sep 9 01:41:46 2009 -0400
+
+ r600: fix ftp for dri1
+
+ We use t->bo for dri1 since r600 uses CS for dri1.
+
+commit ca246dd186f9590f6d67038832faceb522138c20
+Author: Zhenyu Wang <zhenyuw@linux.intel.com>
+Date: Mon Sep 7 16:18:57 2009 +0800
+
+ intel: add B43 chipset support
+
+ Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
+
+commit 5aaa45de4c367dd6ec5daa6f4a54504b0aff1aca
+Author: Dave Airlie <airlied@linux.ie>
+Date: Wed Sep 9 15:02:16 2009 +1000
+
+ r600: don't setup hardware state if TFP
+
+ if we have a BO here it means TFP and we should have set it
+ up already.
+
+ tested by b0le on #radeon
+
+commit 8947cf67288ab9a8bf87e9029d3fc1d4073cc88b
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 8 16:47:30 2009 -0600
+
+ progs/tests: added Z invert option
+
+commit f78eafcacb67de3f2cd035335c4ecd98e21a8209
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 8 16:46:06 2009 -0600
+
+ mesa: bump version to 7.7
+
+commit 97cbaab541e08460cab5bbaa64c873111ff40c0d
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 8 16:45:34 2009 -0600
+
+ gallium: added r8g8b8_get/put_tile_rgba()
+
+commit 079ae4c38cf8155f7aa039f6f4374fe5d351ef4f
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 8 16:45:07 2009 -0600
+
+ progs/demos: added RGB invert option
+
+commit 126696caf7c2ab66420ab60a2c363613b88bacb4
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 8 16:44:49 2009 -0600
+
+ mesa: fix viewport_z_clip breakage
+
+commit e589a37f7b72da4f5eb8cbb46443d7baf710b37c
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Wed Sep 9 00:38:04 2009 +0100
+
+ i915g: Add buffer write callback
+
+commit d1121328402dc2e9480ca69bcfd9e3aac5f024a4
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Tue Sep 8 21:50:32 2009 +0100
+
+ i915g: Reorg vbuf code a bit
+
+commit 547b726484766b644c40587a5b41a44dbe80f3be
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Tue Sep 8 21:30:48 2009 +0100
+
+ i915g: pwrite batchbuffer instead of map
+
+commit d585616f5bb950b3ed0b1142498e06f4dca98559
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Tue Sep 8 20:40:37 2009 +0100
+
+ i915g: Keep vertex buffers in a fifo
+
+commit 6e61d062093a71e267aed02870607fc5a0d7d8f4
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Tue Sep 8 20:39:56 2009 +0100
+
+ util: Add super simple fifo
+
+commit 3833587818cc40a3d0f09b430e5a0a475d5a7167
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Tue Sep 8 20:51:02 2009 +0100
+
+ i915g: Map vertex buffers via gtt
+
+commit 530fbd314e9d04db7f4e2a8f7d3a705393a6f9aa
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Fri Sep 4 23:46:22 2009 +0100
+
+ i915g: Remove lib prefix from driver
+
+commit 9fff4b46d3c042db65ad3511a0437d5ceef217c7
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Sep 8 15:00:41 2009 -0700
+
+ docs: Add basic 7.7 relnotes.
+
+commit f959ccdfa6c8accd74b6e33040b716645f0a7057
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Aug 27 14:59:19 2009 -0700
+
+ intel: Add support for ARB_draw_elements_base_vertex.
+
+ On the 965, we just drop the value into the primitive packet. On non-945,
+ we rely on the sw tnl code handling it.
+
+commit 92d7ed8a20d4a018ce5324e6537ae7b478b9e5bf
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Aug 27 10:09:24 2009 -0700
+
+ mesa: Add support for ARB_draw_elements_base_vertex.
+
+commit ec9e7295800aff0f04815de736127101f770033f
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Aug 27 09:36:34 2009 -0700
+
+ glapi: Add ARB_draw_elements_base_vertex
+
+commit b11a8ea863612827fe04b636f1c2eae9e1536fbd
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Sep 8 12:32:05 2009 -0700
+
+ mesa: Expose NV_depth_clamp if ARB_depth_clamp is supported.
+
+ The wording of these two is exactly the same, except for the issue
+ "Can fragments with wc<=0 be generated when this extension is supported?",
+ which idr thinks is a non-issue for us.
+
+commit 0310aafd9ea502e07a86b355cfca902102b9117c
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Aug 26 11:04:13 2009 -0700
+
+ i965: Add support for ARB_depth_clamp.
+
+commit 0e5c2598ec8cd9e20cb02e2b120d5b43103b7b05
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Aug 26 10:34:31 2009 -0700
+
+ Regenerate files for GL_ARB_depth_clamp.
+
+commit b4922b533155cc139ebafb111502bb55d2ad2ccf
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Aug 26 09:51:15 2009 -0700
+
+ mesa: Add support for ARB_depth_clamp.
+
+ This currently doesn't include fixing up the cliptests in the assembly
+ paths to support ARB_depth_clamp, so enabling depth_clamp forces the C path.
+
+commit 3e4539a471da48066a83eda8e14301dbc4dbf6db
+Author: Eric Anholt <eric@anholt.net>
+Date: Sun Sep 6 15:46:17 2009 -0700
+
+ i965: Respect spec requirement for pixel shader computed depth with no zbuffer.
+
+commit 15c0cc5cf4b75d60fa9a8469df34b487a8c0e376
+Author: Eric Anholt <eric@anholt.net>
+Date: Sun Sep 6 15:39:52 2009 -0700
+
+ i965: Set NULL WM surfaces as tiled according to requirement by specs.
+
+commit ea6dab2537998d6910c04cd7bb68a79bee8fda68
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Sep 4 17:59:08 2009 -0700
+
+ i965: Use the renderbuffer surface size instead of region size for WM surfaces.
+
+ For drawing to lower mipmap levels, the region size makes the renderbuffer
+ be the size of the lowest level, instead of the current level. On DRI1,
+ Brian previously found that the RB size was incorrect, so leave this broken
+ there.
+
+commit 58a57e3fc48b4ba081caa6ffaec24dfad9ed002a
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Sep 4 14:30:30 2009 -0700
+
+ Revert "intel: helper to debug bufmgr (disabled)"
+
+ This reverts commit e0ec405a9fa6fbc1cf2ac531ed5efd1a64e01f18.
+
+ This is already available in INTEL_DEBUG=bufmgr in the environment.
+
+commit b2de02852381dccea6cb9bdca049d5629cca80ef
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 8 14:32:56 2009 -0600
+
+ i965: #include clean-ups
+
+commit e61215242b977f8422b3284b4b2b0c853daf50ca
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 8 14:32:41 2009 -0600
+
+ intel: #include clean-ups
+
+commit 8e8d3470be3b1aae4ede7ccca097a28b0978dd1b
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 8 14:28:19 2009 -0600
+
+ i965: use _mesa_is_bufferobj()
+
+ Also, remove unneeded call to _mesa_validate_pbo_access(). It's done by
+ core Mesa as the comment suggested.
+
+commit ced699b37a048ea32434c222fcf83235048918bc
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 8 14:27:35 2009 -0600
+
+ i965: use _mesa_is_bufferobj()
+
+commit abdf2e14bc174ecd510b580756efa42f43ca4419
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 8 14:27:15 2009 -0600
+
+ i965: use _mesa_is_bufferobj()
+
+commit 00aac1d29a7ca06d1f1ac429371d9a6774873389
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Sep 8 14:27:00 2009 -0600
+
+ i965: use _mesa_is_bufferobj()
+
+commit e6ad286a80eadd3f38105bf3643e13db83c5b40e
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue Sep 8 16:03:25 2009 -0400
+
+ r600: fix dri2 clipping
+
+commit e34ea368d9fccaf84b7e4aec4ba3f633eeaefec6
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Tue Sep 8 18:08:24 2009 +0200
+
+ st/xorg: Add support for EXA_MIXED_PIXMAPS and EXA_SUPPORTS_PREPARE_AUX.
+
+ Also make sure not to leak malloced memory when switching pixmaps to texture
+ based.
+
+commit 2c307c775018e5b9680de8022ddf0ce3b6f560be
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Sep 8 12:31:42 2009 +0100
+
+ scons: Add Mac OS to target platform list.
+
+commit fcb94f6e3e81abe9fbfe8dac3925c6c210b5cf42
+Author: Michal Krol <michal@vmware.com>
+Date: Tue Sep 8 10:22:07 2009 +0200
+
+ gdi: Fix prototype of gdi_softpipe_surface_buffer_create().
+
+commit 79f48c9f9e739a1f6b0810072e41bc826f2b789d
+Author: Vinson Lee <vlee@vmware.com>
+Date: Mon Sep 7 15:16:25 2009 +0100
+
+ scons: Don't set LLVM_VERSION if one of the llvm-config calls fails.
+
+ Ubuntu 8.10 has llvm-config version 2.2, which doesn't have
+ nativecodegen. This triggers an exception.
+
+commit b481fb2c6d8a8def0956acb0bf9083f5441edd07
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Sep 7 14:53:26 2009 +0100
+
+ llvmpipe: Silent debug statement.
+
+commit 11272010887ce26b0f4162dd311376798c1d3fc3
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Sep 7 14:53:15 2009 +0100
+
+ llvmpipe: Better abs for floating points.
+
+commit e4c76c02f77ed6e86537b546f4200f8f8132d114
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Sep 7 14:52:39 2009 +0100
+
+ llvmpipe: Code generate the texture sampling inside the shader.
+
+ Finally a substantial performance improvement: framerates of apps using
+ texturing tripled, and furthermore, enabling/disabling texturing only
+ affects around 15% of the framerate, which means the bottleneck is now
+ somewhere else.
+
+ Generated texture sampling code is not complete though -- we always
+ sample from the base level -- so final figures will be different.
+
+commit de8376e2f22a59a0bc18bb7ddab88ee3153678b8
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Sep 7 14:43:51 2009 +0100
+
+ llvmpipe: Texture sampling code generation primitives.
+
+ Only supports single level 2d textures, with neareast and bilinear
+ filtering for now.
+
+commit 0c2ea2433833d5eda8a4fefe1412bf0ea40b14bf
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Sep 7 14:42:57 2009 +0100
+
+ llvmpipe: Convenience function to obtain the integer type with same bitdepth of an arbitrary type.
+
+commit fa0f4b35be17f68667edd6a2757b89086a11a833
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Sep 7 14:27:06 2009 +0100
+
+ llvmpipe: Utility functions for linear and bilinear interpolation.
+
+commit 4da20234f3ea9b1606522fd0a9f4ef5c4b903906
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Sep 7 14:26:30 2009 +0100
+
+ llvmpipe: Correct implementation of floor.
+
+commit b1eff018c7a07502c673032ef6426f49364146be
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Sep 7 14:25:02 2009 +0100
+
+ llvmpipe: Utility function to get the pointer to a structure member.
+
+commit 866fbacf2bf93282f622f1f455250491d0b3b63f
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Sep 7 14:24:31 2009 +0100
+
+ llvmpipe: SoA pixel unpacking specialization.
+
+commit 6b129a82223c674d3e11472aa8abe07fd741764a
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Sep 7 14:21:51 2009 +0100
+
+ util: Utility function to check if a number is a power of two.
+
+commit 8be72bb7646d430e66cb36e09c13c13bee030d53
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Sep 6 11:20:14 2009 +0100
+
+ llvmpipe: Further abstract the texture sampling generation from TGSI translation.
+
+commit 970823978c2f7d2cf0757aa6ddbd6289b34c476f
+Author: Michal Krol <michal@vmware.com>
+Date: Mon Sep 7 09:31:17 2009 +0200
+
+ mesa: Include <unistd.h> only when one is available.
+
+commit 826d441cdfa16a16d165297beb3013f4ff8b4816
+Author: Michal Krol <michal@vmware.com>
+Date: Mon Sep 7 09:16:35 2009 +0200
+
+ mesa: Fix calling conventions of sync object api callbacks.
+
+commit 617202b5783b227be4f082b0da51b84d48500b3c
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Sun Sep 6 18:12:14 2009 +0200
+
+ r300g: Fix some issues pointed out by compiler warnings.
+
+commit 7b8ec0d8e72b4dd0c60db9c9454acd1f1ec75a7e
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Sun Sep 6 18:12:14 2009 +0200
+
+ r300g: Handle PIPE_BUFFER_USAGE_DONTBLOCK as intended.
+
+ Return NULL if the BO is busy, otherwise just map it.
+
+commit 23663ae9148b9a976b8a95e48af8404cbda046fe
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Sep 6 09:39:47 2009 -0600
+
+ mesa: initial version of _mesa_meta_generate_mipmap()
+
+ Incomplete and totally untested. Based on intel_generate_mipmap().
+
+commit 4d63c626d0f436f0def817333230415794b73f3c
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 3 22:10:55 2009 -0600
+
+ xlib: test _mesa_meta_bitmap()
+
+commit 886e7b318dc2add8cd51abb7ba4fdc33af741586
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 3 22:03:02 2009 -0600
+
+ mesa: use separate temp texture for bitmaps
+
+commit b2951ffe962f56cb88cc2e4eabe4aa4eb7232170
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 3 21:47:30 2009 -0600
+
+ mesa: temp_texture changes
+
+commit f477fa7a85b76256aea910bd03ee83a26fedae4f
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 3 21:36:59 2009 -0600
+
+ mesa: free meta bitmap buffers
+
+commit 0e5293a24019a777c46734f9b5f6e8d764c11672
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 3 21:30:06 2009 -0600
+
+ mesa: use _mesa_set_enable()
+
+commit bcb62ae78a9d2f4d08001e9f207b6f1291443968
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 3 21:27:06 2009 -0600
+
+ mesa: _mesa_meta_bitmap() function
+
+commit 4fdc96db1d7c897863be0d55455a09e896206260
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Sep 3 21:19:23 2009 -0600
+
+ xlib: move misplaced brace
+
+commit 1ddb22675c123fc955ad3ab46bba45d3330d2ec4
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sun Sep 6 15:10:59 2009 +0200
+
+ r300g: Fix a number of warnings
+
+ Seriously guys....
+
+commit 4b01e6f614052e48971f2b2ff474fb66afc4f752
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sun Sep 6 15:03:51 2009 +0200
+
+ r300g: Debug flags infrastructure
+
+ So that debugging is no longer a full-spam-or-nothing approach, you are now
+ supposed to set the RADEON_DEBUG environment flag just like for classic Mesa.
+
+ The available debug flags are different, however. Just running an OpenGL
+ application with RADEON_DEBUG set to an arbitrary string will print out
+ helpful information.
+
+ Everything must be compiled with -DDEBUG for any of this to work
+
+commit f02f63997ce65530788a6dfcb28f11790a14d938
+Merge: e95e76e 9778731
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sun Sep 6 13:15:04 2009 +0200
+
+ Merge branch 'master' into r300-compiler
+
+ Conflicts:
+ src/gallium/drivers/r300/r300_tgsi_to_rc.c
+
+commit e95e76e1255a3ad0ce604271301d090337b2e82b
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sun Sep 6 11:47:40 2009 +0200
+
+ r300/compiler: New dataflow structures and passes
+
+ This replaces the old NQSSADCE code with the same functionality, but quite
+ different design. Instead of doing a single integerated pass, we now build
+ explicit data structures representing the dataflow.
+
+ This will enable analysis of flow control instruction, and could potentially
+ open an avenue for several dataflow based optimizations, such as peephole
+ optimization, fusing MUL+ADD to MAD, and so on.
+
+commit 9778731732b4753e79a1b786c65325a52392411d
+Author: Cooper Yuan <cooperyuan@gmail.com>
+Date: Sat Sep 5 20:58:32 2009 +0800
+
+ r300g: update the value of register VAP_VF_MAX_VTX_INDX
+ according to actual vertex index count.
+
+commit 80ea03bd174ab7824c754faa9944d7736bf513f2
+Author: Cooper Yuan <cooperyuan@gmail.com>
+Date: Sat Sep 5 14:26:39 2009 +0800
+
+ r300g: update rs_block state after changing rasterizer
+
+commit 8f990f928b1d6cb395ea4f3d4c1d7e3a670f1ad6
+Author: Cooper Yuan <cooperyuan@gmail.com>
+Date: Sat Sep 5 10:26:39 2009 +0800
+
+ r300g: need to validate scissor and viewport state if bind new rasterizer
+
+commit d0adebb8d5ef680590b0f281a20516318c0b8b62
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Fri Sep 4 17:27:27 2009 -0700
+
+ NV fp parser: Support instruction and TEMP / OUTPUT sizes
+
+ Adds support for declaring TEMP and OUTPUT variables as 'LONG' or
+ 'SHORT' precision. The precision specifiers are parsed, but they are
+ currently ignored. Some support for this may be added in the future,
+ but neither Intel hardware nor, as far as I'm aware, Radeon hardware
+ support multiple precisions.
+
+ Also adds support for instruction precision ('X', 'H', and 'R')
+ suffixes and instruction condition code output ('C') suffix. This
+ results in a fairly major change to the lexer. Instructions are
+ matched with all the possible suffix strings. The suffix string are
+ then carved off by a context (i.e., which program mode and options are
+ set) aware parser that converts the suffixes to bits in
+ prog_instruction.
+
+ This could have been handled in the same way _SAT was originally
+ handled in the lexer, but it would have resulted in a very large lexer
+ with lots of opportunity for cut-and-paste errors.
+
+commit 9ea4319744fb7474635cb1994e1babe1552d4d4f
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Fri Sep 4 16:35:50 2009 -0700
+
+ ARB prog parser: Add new constructor for asm_instruction
+
+ The new constructor copies fields from the prog_instruction that the
+ parser expects the lexer to set.
+
+commit 9ab19a39001ab5b6afa71a4d1f16714e6907b67c
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri Sep 4 18:45:09 2009 -0400
+
+ r600: add support for EXT_texture_sRGB
+
+commit 60ca65c0165874bb18f1f89951da0281ee235cb3
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri Sep 4 18:21:34 2009 -0400
+
+ r300: Add support for GL_EXT_provoking_vertex
+
+commit 8fd7586bcccc49a627c9dfe23653be6620b95320
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri Sep 4 18:08:31 2009 -0400
+
+ r600: Add support for GL_EXT_provoking_vertex
+
+commit 0612ad4f19ecde4963e55551bc316610f97282ae
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Aug 4 00:26:42 2009 -0700
+
+ i965: Don't set the complete field when there is more VUE yet to come.
+
+ This should help with things like lightsmark, but I don't have a testcase
+ for this commit.
+
+commit a47858e45efd95d798468cfff34616c0de200032
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Sep 3 09:19:43 2009 -0700
+
+ i965: Add support for 2 threads in the GS.
+
+ This brings noop vertex shader throughput from 6.8M verts/sec to 10.4M
+ verts/sec using GL_QUADs on my GM45.
+
+commit 8f7f22ca1d1594f9a4c6bdef181e24cbdd2c921c
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Sep 3 09:11:44 2009 -0700
+
+ i965: Add support for KIL_NV in brw_wm_emit.c
+
+ I ran into this lack of support when writing a shader that always discarded
+ the fragments.
+
+commit eeb1402c0514248773e66f2077b0fb52f7245d56
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Thu Sep 3 14:32:48 2009 -0700
+
+ NV fp parser: Add support for absolute value operator on instruction operands
+
+commit 5db8ebb8f534907614247afaf1dd8621b2d0462e
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Thu Sep 3 14:06:42 2009 -0700
+
+ Enable GL_NV_fragment_program_option for software rendering
+
+ At this point the extension is not fully implemented.
+
+commit b8e389bb0315287b72087b93a089ab944d77ab80
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Thu Sep 3 14:05:18 2009 -0700
+
+ NV fp parser: Support new scalar constant behavior
+
+ ARBfp requires scalar constants have a '.x' suffix, but NVfp_option
+ does not. This shows up with instructions that require a scalar
+ parameter (e.g., COS).
+
+commit 8ca6fd8a83412e3a76746f0ee61027b796516f95
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Tue Sep 1 14:16:03 2009 -0700
+
+ NV fp parser: Parse TXD instruction
+
+commit ede0cd4d8c8eb8c6c443c84905138091944d69af
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Aug 31 17:00:31 2009 -0700
+
+ NV fp lexer: Add new opcodes
+
+commit dc8ec05ace3d2a0284dbe47ec2d88168b1efb517
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Aug 31 16:57:49 2009 -0700
+
+ NV fp: Parse 'OPTION NV_fragment_program' in ARB assembly shaders
+
+commit efff7aa980e78dc3ee1782308f0c9f3861c9992a
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Aug 31 16:43:39 2009 -0700
+
+ NV fp: Add tracking for NV_fragment_program_option
+
+commit d1b4351e603522be11061522cb6b685da9ef1fee
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sun Aug 30 18:51:29 2009 +0200
+
+ r300: Remove all Mesa dependencies from the shader compiler
+
+ In particular, this removes the dependency on prog_instruction, which
+ unfortunately creates some code duplication, but also opens a path towards
+ adding some hardware-specific things in there.
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit d6d71e5bf4a720a1ee84c96231aec539ec17a7c6
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sun Aug 30 12:49:53 2009 +0200
+
+ r300: Move Mesa -> RC program conversion to classic Mesa driver
+
+ This really doesn't belong into the compiler itself, since the compiler
+ should eventually be independent of Mesa's program representation.
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 67d4a5b15cfd8583c19a5776b0ec1564b60239eb
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Sun Aug 23 23:50:27 2009 +0100
+
+ mesa/swrast: use one fewer divide in swrast's choose_cube_face also
+
+ Same change as for softpipe
+
+commit fd19e8adcd82e88d0fc8d187360b528100fed244
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Sun Aug 23 19:28:34 2009 +0100
+
+ softpipe: use one fewer divide in sample_cube
+
+ GCC won't do this for us. Makes a bigger difference to cubemap fps
+ than previous set of compilcated rearrangements.
+
+commit 60adc15ba5633190fc8a68e7c182f06dc7909df4
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Sun Aug 23 19:17:35 2009 +0100
+
+ softpipe: separate out 2d and cube img filter functions
+
+commit 81601d85ef6b82297b046d5aab1b70e75168c2fa
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Sun Aug 23 19:14:09 2009 +0100
+
+ softpipe: make the various get_texel routines more similar
+
+ Remove arguments, return const float * by default. Add specialized 3d
+ versions and remove 3d texture support from the others.
+
+commit 75312b655567695359063dcf3c28aa48433c575b
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Sun Aug 23 19:02:17 2009 +0100
+
+ progs/demos: add fps output to cubemap
+
+commit 153e474d22d1b440bb6bd7b04dabf244d7455582
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Sun Aug 23 13:38:10 2009 +0100
+
+ softpipe: lift tex_address construction up to img_filter
+
+ For fastpaths at least, can avoid recalculating this sometimes.
+
+commit 4fe0fc3eba1f79beda890a5016359d549bab6ad4
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Sun Aug 23 11:22:41 2009 +0100
+
+ softpipe: remove old prim_setup draw stage
+
+ Everything now goes through the draw_vbuf handler, the same as
+ regular drivers.
+
+commit 47800c572f199e7857e02e0f999b410c727a275d
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Sun Aug 23 11:13:20 2009 +0100
+
+ softpipe: add missing header
+
+commit 7670102468a55de50cf0cfa0b938d36aaf212f1f
+Merge: 0f24886 c84abe3
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Sun Aug 23 10:23:46 2009 +0100
+
+ Merge branch 'tex-tilecache' into softpipe-opt
+
+ Conflicts:
+ src/gallium/drivers/softpipe/sp_state_derived.c
+ src/gallium/drivers/softpipe/sp_state_sampler.c
+ src/gallium/drivers/softpipe/sp_tex_sample.c
+ src/gallium/drivers/softpipe/sp_tex_sample.h
+ src/gallium/drivers/softpipe/sp_tile_cache.c
+
+commit 0f24886f922df3e00094a53b5b37b1588ea84bc0
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 21 14:07:37 2009 -0600
+
+ softpipe: remove duplicate #include, move another
+
+commit d204659c8c725c02212ad4a49275c7447f2d02a6
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 21 14:04:47 2009 -0600
+
+ softpipe: remove tex sample dependencies on softpipe
+
+ The texture sampling code doesn't really have any dependencies on the
+ rest of softpipe, just the tile cache.
+
+commit 3adc8c3779895c483ba8a1004939e7dd7d76fa9a
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 21 14:01:58 2009 -0600
+
+ softpipe: minor code refactoring to remove softpipe/tile cache dependencies
+
+ The tile cache code now has no hard dependencies on softpipe.
+
+commit 4256c5829f8c23f8bd5c7c29491210f0f7813bf9
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 21 13:47:50 2009 -0600
+
+ softpipe: remove unused #includes, white-space clean-up
+
+commit 46fbc872881081ffcf0b526f8c4a909fd915ad78
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 21 13:45:16 2009 -0600
+
+ softpipe: remove unneeded const qualifier
+
+commit a29447c33d44b3427e0c40a761067c0cc6e71c39
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 21 12:11:44 2009 -0600
+
+ softpipe: per-unit sampler varients
+
+ Can't share sampler varients across multiple tex units because the texture
+ pointer is in the sampler varient. That prevents different textures per unit.
+
+ Fixes progs/demos/multiarb, progs/glsl/samplers, etc.
+
+commit 87ec83afd58536c31bf02c307f1d5488abc84861
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 21 11:47:27 2009 -0600
+
+ softpipe: add missing PIPE_TEXTURE_CUBE case in get_lambda_func()
+
+ Fixes progs/demos/cubemap
+
+commit ecfa8be150ed276af816467b467e76e026f5b541
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Aug 21 18:44:27 2009 +0100
+
+ softpipe: add missing sp_sampler_varient_destroy
+
+commit cf102b031e7ef33c8e3ffce2f9dcd064f44e8190
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 21 11:43:48 2009 -0600
+
+ softpipe: remove redundant comparison, make test easier to understand
+
+commit 41483627f0fd3dc9df2cc55dfd5f3e5987fcfd22
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 21 11:41:29 2009 -0600
+
+ softpipe: fix min/mag filter typo
+
+commit 4e5c385d2183e7006c9d7ac0823919156bd4b8e6
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Aug 21 11:40:33 2009 -0600
+
+ softpipe: fix s/t/p typos
+
+commit 4fc7d0345a18042a79686940fb7cc4e698cc9192
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Aug 21 17:13:11 2009 +0100
+
+ softpipe: rework texture sampling code
+
+ Split into component pieces, stitch together at runtime using function
+ pointers. Make it possible to utilize the existing fastpaths as image-level
+ filters for generic mip-filtering routines.
+
+ Remove special case for rectangle filtering, as it can now be handled by
+ the 2d path.
+
+ As most of the mesa demo texturing was already covered by fast paths, its
+ harder to find examples of speedups, but tunnel gets a boost as mip-nearest
+ filtering is now able to access the img_2d_linear_wrap_POT functions
+ for sampling within a mipmap level.
+
+commit b1cc196e6d18494348c2974aad5d85d1b8281ce0
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Aug 21 18:07:35 2009 +0100
+
+ util: add util_is_power_of_two function
+
+commit 00c835918259f8d41c3f74eca679a972713b11b2
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Aug 20 18:36:57 2009 +0100
+
+ softpipe: allow the existing sampler routines to be hooked up directly
+
+ Let eg. sp_get_samples_rect be hooked directly in as the tgsi sampler
+ routine.
+
+ Add a field to determine whether this is a vertex or fragment sampling
+ call, and massage parameters to match the tgsi call.
+
+commit 0d9979d9ec5b931856d29c4ec44edb1f4931d1ac
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Aug 20 18:13:25 2009 +0100
+
+ softpipe: fix xpot calculation typo in sp_get_samples_2d_nearest_clamp_POT
+
+commit 1fd40e506c2207664f0c3f435e4614472ea4c540
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Aug 20 18:12:44 2009 +0100
+
+ softpipe: slightly optimized tiling calculation
+
+commit 79a7ddb57a04cde5a4a0c27eb4a9b6889d12622a
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Aug 20 15:46:51 2009 +0100
+
+ softpipe: fix glitch in texel lookups on fastpaths
+
+ Fixes two issues - firstly for mipmap levels with one or more
+ dimensions smaller than tilesize, the code was sampling off the edge
+ of the texture (but still within the tile).
+
+ Secondly, in the linear_mipmap_linear case, both the default code and
+ new fastpath were incorrect. This change fixes the fastpath and adds
+ a comment to the default path, which still needs to be fixed.
+ Basically the issue is that the coordinates in the smaller texture
+ level are/were being computed by just dividing thecoordinates from the
+ larger texture level by two, as in:
+
+ x0[j] /= 2;
+ y0[j] /= 2;
+ x1[j] /= 2;
+ y1[j] /= 2;
+
+ The issues with this are signficant. Initially x1 is most often equal
+ to x0+1, but after this, it will likely be equal to x0, so we will not
+ actually be performing the linear blend within the smaller mipmap.
+
+ The fastpath code avoided this (recalculated x1), but was still using
+ the weighting factors from the larger mipmap level (xw, yw), which
+ were incorrect.
+
+ Change the fastpath code to do two full, independent linear samples of
+ the two mipmap levels before blending. The default code needs to do
+ the same thing.
+
+commit 4f409da3456070946eda2d8ff5153b3b4306bb46
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Aug 20 11:25:20 2009 +0100
+
+ softpipe: optimized path for simple mipmap sampling
+
+ linear-mip-linear-repeat-POT sampling faspath, provides a very nice
+ speedup to apps that do this common type of texturing.
+
+ Test case: demos/terrain, turn fog off, turn texturing on.
+ Without patch: 12 fps
+ With patch: 20 fps.
+
+commit c84abe36a93312cfa061ce1bd005e43eb9f6a6df
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Jul 29 23:06:22 2009 +0100
+
+ softpipe: fix typo in clear_tile
+
+commit 80c78472ad43f4288c9ef5076074ba9d31a39885
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Jul 29 07:40:50 2009 +0100
+
+ softpipe: split texture and surface tile caches
+
+ These do similar jobs but with largely disjoint code. Will want
+ to evolve them separately going forward.
+
+commit d12bae9368e0c44a9943d9b37ab848ea307d70c7
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Aug 18 16:21:12 2009 +0100
+
+ softpipe: move flatshade-first check out of loop
+
+commit 99ec78d9462d2a553982d0ea15d538b36b1c123b
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Aug 11 18:23:28 2009 +0100
+
+ Revert "softpipe: rearrange blend fastpaths"
+
+ This reverts commit 1295cf423e21dad04a947960782ffa8db2739709.
+
+ The original formulation was easier to understand & work with. Will
+ revisit this later.
+
+commit da319095f2ca8869657ebda0db54eb9b2f7393ce
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Aug 11 18:06:16 2009 +0100
+
+ softpipe: reduce textual differences between exec and sse shader paths
+
+ Unshare one function (setup_pos_vector) as we want to push this code
+ into the generated shader in the SSE case.
+
+commit b5c389721aec09c260789e6371910937f15ef1a0
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Aug 11 18:03:01 2009 +0100
+
+ softpipe: remove gallivm fragment shaders
+
+ However we do llvm integration, it will be different & more comprehensive
+ than this.
+
+commit 95f7ed4638d4e379783abdd5b250e203b6b1b435
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Jul 30 11:59:32 2009 +0100
+
+ softpipe: setup quad outputs from with fs->run
+
+commit 1295cf423e21dad04a947960782ffa8db2739709
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Jul 30 11:35:50 2009 +0100
+
+ softpipe: rearrange blend fastpaths
+
+commit 73a6178a73a4cc34195348a537d3f94aab6a43e1
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Jul 30 11:35:08 2009 +0100
+
+ softpipe: add depth-lequal z16 path
+
+commit 572c2fb5bb6cec71ef42e93416251a6a6c183de0
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Jul 30 11:34:36 2009 +0100
+
+ softpipe: remove unused variable in shade_quad
+
+commit 5fdac2dcea09c654725666b3cab5f59dfc9e31a5
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Jul 27 15:51:15 2009 +0100
+
+ softpipe: fix off-by-one in nearest texcoord routines
+
+ Stray '- 0.5' copied from linear versions.
+
+commit 6142de393fe34ff0866f8489f1292eb473276f11
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Jul 27 12:44:58 2009 +0100
+
+ softpipe: example fast paths for simple samplers
+
+ All these fastpaths are examples of the types of things we'd code-generate
+ in a more sophisticated version of softpipe.
+
+commit c61145820556833dccd728eb6df3397bec7f70da
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Jul 27 12:11:16 2009 +0100
+
+ softpipe: fastpath for interpolated z16 less depthtesting
+
+ Because this is interpolated (ie. early) depth, we can build in an
+ assumption about the quads emitted by triangle setup, ie that they
+ are actually linear spans. Interpolate z over those spans in z16
+ format to save on math & conversion.
+
+commit 1078844d18367b4259cd3b6a3a73e3cd72ea019f
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Jul 27 11:23:51 2009 +0100
+
+ softpipe: cope with nr_cbufs == 0
+
+ Disable blend code when no color buffer
+
+commit bac8e34c9e4077d370923773d67fe565ce154849
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Jul 27 08:17:45 2009 +0100
+
+ softpipe: move all depth/stencil/alpha pixel processing into one stage
+
+commit 85613cc4f14de968ddd503610c5b8fcc77234c81
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Sat Jul 25 11:01:48 2009 +0100
+
+ softpipe: fix error in scissor state dependencies
+
+commit ade8984f5023b05412f2467add4a59d14af53185
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Sat Jul 25 10:01:06 2009 +0100
+
+ softpipe: cleanup framebuffer state routine slightly
+
+commit a2f7ab1d155da52c689f7c6390c233e4eae44643
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Jul 24 20:19:18 2009 +0100
+
+ softpipe: move all color-combine code into sp_quad_blend.c
+
+ Consolidate the read-modify-write color combining code from
+ the blend, colormask and output stages.
+
+commit 42f1757189ba965e6d917d1124d0d6cf78b19a70
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Jul 24 20:18:52 2009 +0100
+
+ softpipe: fix typo
+
+commit 333ec94380af502b1c492f61dcc1897bcf43a96c
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Jul 24 18:46:17 2009 +0100
+
+ softpipe: example fastpaths in blending
+
+commit a1dbd7aa159e266592a1e52504680992327ca9e0
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Jul 24 18:17:05 2009 +0100
+
+ softpipe: actually pass >1 quad from triangle routine
+
+ First attempt
+
+commit ab9fb5167023a26566b53e98f206dd73a18000f3
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Jul 24 16:49:35 2009 +0100
+
+ softpipe: expand quad pipeline to process >1 quad at a time
+
+ This is part one -- we still only pass a single quad down, but
+ the code can now cope with more. The quads must all be from the same
+ tile.
+
+commit 6153a1c28f118be1a74ffee0e19c16fb83b5cab7
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Jul 24 16:12:48 2009 +0100
+
+ softpipe: rip out old mulithread support
+
+commit 93a026d4baf90266f4c9cc48d039b4d65ce1ab6d
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Jul 23 11:14:39 2009 +0100
+
+ softpipe: avoid flushing depth buffer cache on swapbuffers
+
+ There's no need to push out depth buffer contents on swapbuffers.
+
+ Note that this change doesn't throw away depth buffer changes, it simply
+ holds them in the cache over calls to swapbuffers. The hope is
+ that swapbuffers will be followed by a clear() which means in that case
+ we won't have to write the changes out.
+
+commit 19097907ef042b97bbbda39b34bf3212f4cf154a
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Jul 22 15:36:25 2009 +0100
+
+ softpipe: also shortcircuit non-texture tile lookups
+
+commit f911c3b9897b90132c8621a72bfeb824eb3b01e5
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Jul 22 15:08:42 2009 +0100
+
+ softpipe: shortcircuit repeated lookups of the same tile
+
+ The sp_tile_cache is often called repeatedly to look up the same
+ tile. Add a cache (to the cache) of the single tile most recently
+ retreived and make a quick inline check to see if this matches the
+ subsequent request.
+
+ Add a tile_address bitfield struct to make this check easier.
+
+commit 13e2d35764e0c8de3356ee663885568fc00424f0
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Jul 17 12:12:04 2009 +0100
+
+ softpipe: remove unused vars in sp_setup.c
+
+commit 0ed99f45529178c77e47838f226231ea1bc9b918
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Jul 17 12:03:51 2009 +0100
+
+ softpipe: use bitwise logic to setup quad masks in sp_setup
+
+commit 73e7356385a703c214b35fbb29aaf3108764f033
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Jul 17 10:47:32 2009 +0100
+
+ softpipe: simplify flush_spans
+
+ No loss of performance, but simpler code.
+
+commit b5d583efeff5f195bff48c95125a225c273189e2
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Jul 17 10:44:22 2009 +0100
+
+ softpipe: make some small steps to flush texture cache less frequently
+
+ No performance gain yet, but the code is a bit cleaner.
+
+commit 07bb026900a6c01226217ceee1d4d1426c040d6e
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Jul 16 17:57:00 2009 +0100
+
+ gallium/xlib: use XSHM for swapbuffers
+
+ Makes some difference, but suprisingly little. Barely worth the effort.
+
+commit 0ac879dca797360570543d5bd0fd64f8fb8e566e
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Jul 16 17:51:02 2009 +0100
+
+ util: _debug_printf should print even when DEBUG is not defined
+
+ The leading underscore is meaningful... This function is used by
+ _warning and _error functions as well as the more common
+ debug_printf().
+
+ debug_printf (without underscore) gets turned off when DEBUG is
+ disabled, but warning/error messages still use this function to get
+ their message out.
+
+commit aa5db684382bd8662a83ca09ed000e4a5a1013f9
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Jul 16 14:14:32 2009 +0100
+
+ softpipe: remove backwards dependency from tilecache to softpipe
+
+ The tile cache is a utility, it shouldn't know anything about the
+ entity which is making use of it (ie softpipe).
+
+ Remove softpipe parameter to all the tilecache function calls, and
+ also remove the need to keep a softpipe pointer in the sampler structs.
+
+commit a8921d0b52f04bbd62c66278e7421e6b99bfd7c3
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sat Jul 18 17:44:44 2009 +1000
+
+ gallium: make g3dvl build again
+
+commit b96ae1b2c463d6d99ee0418083ef68f4027b7cd7
+Merge: f81f57e cd10996
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jul 17 22:00:47 2009 -0600
+
+ Merge branch 'mesa_7_5_branch'
+
+ Conflicts:
+
+ Makefile
+ progs/glsl/multitex.c
+ src/mesa/main/enums.c
+ src/mesa/main/state.c
+ src/mesa/main/texenvprogram.c
+ src/mesa/main/version.h
+
+commit f81f57e25db18b1c69f2f8076380603340fa2cda
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri Jul 17 19:04:19 2009 -0400
+
+ R6xx/R7xx: add fine grained syncing support
+
+commit b192b9dac628665d6dc37fc98b5f635fc7a45159
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri Jul 17 17:08:40 2009 -0400
+
+ R6xx/r7xx: send depth state in it's own function
+
+commit 2a6f58460a645d7bc558b4e3e58e638797aaca7f
+Author: Andrew Randrianasulu <randrik_a@yahoo.com>
+Date: Sat Jul 18 00:55:12 2009 +0200
+
+ st/egl: Fix broken build after EGL thread changes
+
+commit 5008269cfeb91bd5e763e48c26f02b78568c4cff
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri Jul 17 18:10:48 2009 -0400
+
+ R200: fix build when RADEON_DEBUG_BO is set
+
+commit a046beaffee6233e178ba7184df10f3eacd0bce4
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sat Jul 18 08:00:23 2009 +1000
+
+ radeon: disable BO debug
+
+commit cd10996d4f517c69e306eaf6dfb0654432651b3a
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jul 17 14:43:29 2009 -0600
+
+ progs/util: remove extfuncs.h (we use GLEW instead)
+
+commit 40fd1019195681e3b94f5878b57190f3ae7d8e0e
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jul 17 13:36:06 2009 -0600
+
+ egl: commit missing eglcurrent.[ch] files
+
+ Not sure how these got left out from earlier commit.
+
+commit ee0b1bc7d3fe659e0ed2f34a61b322f2bd2b8843
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jul 17 13:23:11 2009 -0600
+
+ progs/glsl: finish conversion to GLEW
+
+ This is a follow-on to b799af91d5ffbee1481161fec29eb4c92b161272.
+ Remove _func function suffix and unneeded #includes.
+
+commit e910f6831b4e7033a0d5cbd83bdab191d622bad0
+Merge: 79a1701 30bccf8
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri Jul 17 14:46:40 2009 -0400
+
+ Merge branch 'master' of git+ssh://agd5f@git.freedesktop.org/git/mesa/mesa into r6xx-rewrite
+
+commit 79a170108f1d9cad949cd2a34e4de597beae72db
+Author: Kevin DeKorte <kdekorte@gmail.com>
+Date: Fri Jul 17 14:43:42 2009 -0400
+
+ R6xx/r7xx: warning fixes
+
+ patch from Kevin DeKorte with some minor fixes from me.
+
+commit a77b455af05c9987bd0d94084dadb61fe69b17d0
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jul 17 12:40:48 2009 -0600
+
+ mesa: set version to 7.5
+
+commit 71b9e102913753bc5af23c774641d6a6dda184d9
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jul 17 12:40:44 2009 -0600
+
+ mesa: set version to 7.5
+
+commit 7fd367467273382aeca5952b12111932766279fb
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jul 17 12:40:24 2009 -0600
+
+ docs: set date for 7.5 release
+
+commit 30bccf8ea9cd84d1a52a31b6f86b783dfb919374
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Thu Jul 16 21:21:59 2009 -0700
+
+ xeglthreads: Check current context for EGL per-thread support.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 15fdbc8361d0b865aea5e2f374b471081ed4214a
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Fri Jul 17 11:56:00 2009 -0600
+
+ egl: Remove redundant DeletePending flag.
+
+ A context or surface that is neither linked to a display nor current to
+ a thread should be destroyed. Therefore, an unlinked context or surface
+ implies a pending delete automatically.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 3f7e0d5302ed0fadd794a41af6e476d2c408adc7
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Thu Jul 16 21:21:57 2009 -0700
+
+ egl: Destroy display's resources upon termination.
+
+ eglTerminate should destroy the contexts and surfaces of the display.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit be9d1ab171b1b29108c781af84dd500707a12925
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Thu Jul 16 21:21:56 2009 -0700
+
+ egl: Return the same EGL Display for the same native display.
+
+ The latest revision of the spec explicitly requires the same handle to
+ be returned for the same native display.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit cca31340b5a9c0b941946753a31236c7201ca87c
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Fri Jul 17 11:53:03 2009 -0600
+
+ egl: Use the link functions to manage resources.
+
+ This commit uses the newly introduced link functions to manage EGL
+ contexts and surfaces. As a result of this, the API for drivers are
+ changed. All drivers are updated for the change.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 18457cb263e3e062e12314e7b3d5c81a7f2ba048
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Fri Jul 17 11:48:27 2009 -0600
+
+ egl: Add funtions to link contexts and surfaces to displays.
+
+ EGL contexts and surfaces are resources of displays. They should be
+ managed by displays. This commit adds a bunch of functions to
+ egldisplay.c to help establish the links between contexts/surfaces and
+ displays. How links are established is considered opaque outside
+ display. Functions like _eglGetSurfaceHandle or _eglLookupSurface are
+ therefore moved to egldisplay.c, with some small modifications.
+
+ The idea is also extended to display. That is, displays need to link to
+ themselves to be looked up.
+
+ This commit only adds the functions. A commit to use them should
+ follow.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 21b635ffa8b59049a95d50d4c7b7a8ff6413b730
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Fri Jul 17 11:42:04 2009 -0600
+
+ egl: Extend per-thread info for multiple current contexts.
+
+ EGL allows multiple current contexts, as long as they are bound to
+ different client APIs.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 75da80b29556e6dbbba21e5297ca440e475f65cb
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Fri Jul 17 11:41:02 2009 -0600
+
+ egl: Support per-thread info.
+
+ This commit introduces a "current" system to manage per-thread info. It
+ uses TLS, if GLX_USE_TLS is defined, or pthread, if PTHREADS is defined.
+ If none of them are defined, it uses a dummy implementation that is just
+ like before.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 8e92ec9fdd58bdfcdef65a995988974d3266b9ad
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Thu Jul 16 21:21:51 2009 -0700
+
+ egl: Add eglcompiler.h for compiler features.
+
+ Only INLINE (from mesa/main/compiler.h) is defined now. It may be used
+ to deal with symbol visibility and int/pointer conversion in the future.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+ Signed-off-by: Brian Paul <brianp@vmware.com>
+
+commit c4ab08a0cdddd05f53810490f4ded5838acd1217
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri Jul 17 12:21:33 2009 -0400
+
+ R6xx/r7xx: disable depth/stencil compression for now
+
+commit 60d681f3675de37673e05ae7fd5780860dda0920
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri Jul 17 12:07:15 2009 -0400
+
+ R6xx/r7xx: add some missing state regs
+
+commit 27587f46e5377dcc7718e80b5bcbedb03e6d7ee3
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jul 17 09:40:45 2009 -0600
+
+ docs: news entry for 7.5 release
+
+commit 8c6e81f97dba8c4a108f63a2236915443db6c3cd
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jul 17 09:40:28 2009 -0600
+
+ docs: update links to Gallium wiki page on freedesktop.org
+
+commit 9cea84b6b5f96bf3bb42546e49b76024d7126e30
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jul 16 18:41:03 2009 -0700
+
+ texenv: Calculate whether we need to do secondary color on our own.
+
+ The _TriangleCaps bit is deprecated, not updated when we require, and
+ is set based on state that hasn't been updated at that point in
+ _mesa_update_state_locked().
+
+ Fixes incorrect clear color in glsl/twoside.c with meta_clear_tris.
+
+commit 99174e7630676307f618c252755a20ba61ad9158
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jul 16 15:57:22 2009 -0700
+
+ i965: Add missing state dependency of sf_unit on _NEW_BUFFERS.
+
+commit 6f63698d2678790bef4d4b84d52c9a15cdb2de1c
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Thu Jul 16 17:35:44 2009 -0400
+
+ R6xx: fix rendering on r6xx/rs780 chips
+
+ You always need to emit a fetch shader (fs) even if you
+ aren't using it. For now, just emit the fs with the
+ vs address to make the kernel happy.
+
+commit 2ba98efdf6653a4cb885d576d2e6f349c69679d4
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jul 16 19:34:44 2009 +0100
+
+ python/retrace: Process the call no passed to --to option inclusively.
+
+commit cf7e8fbc2ea2739f1955d83751b631c5444a3c91
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jul 16 19:32:40 2009 +0100
+
+ python/retrace: Dump the surface copy contents.
+
+commit 5807ccb41b14890a1cdab4cc06806a9cf6c11ecc
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jul 16 19:31:36 2009 +0100
+
+ python/retrace: Flush stdout before calling the pipe driver.
+
+ So that messages are in sync with stderr.
+
+commit d4e6df9ab6e7b707278e3739abee776418c6f527
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jul 16 19:20:25 2009 +0100
+
+ mesa: Fix logbase2.
+
+ It was providing 1 too many for non power two values.
+
+commit 04dd8b71b48f69fdcef9ad559b57e1e665695b64
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Jul 16 18:45:10 2009 +0100
+
+ draw: fix ppc build regression
+
+ Found by x.org tinderbox, reported by Chris Ball.
+
+commit c42a6163144aa5441262235818b59b3108833a61
+Author: Kevin DeKorte <kdekorte@gmail.com>
+Date: Thu Jul 16 11:57:14 2009 -0400
+
+ Warning fixes
+
+commit 0850776f1afa69d9db62c3991a36fbc343f75d66
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Thu Jul 16 11:50:43 2009 -0400
+
+ R6xx/r7xx: remove unused function
+
+ Spotted by kdekorte on IRC
+
+commit 3e8832d24b116b14cf24b81c16e27162a38ffa9e
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jul 16 08:44:51 2009 -0600
+
+ st/mesa: add some array index bounds assertions
+
+commit 721f80b82ac1f1535f55367d921a2a292eb4898f
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Thu Jul 16 08:29:19 2009 -0600
+
+ egl: Add xeglthreads
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+
+commit 00a216fd1e4ea284df9df71128b0e496816cab4d
+Author: Richard Li <richardradeon@gmail.com>
+Date: Thu Jul 16 10:28:58 2009 -0400
+
+ Restore vp input mapping, fix vtx stream missing problem.
+
+commit caf5d52d48aaed63f916ecd050c959eca401a75a
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Jul 16 12:49:27 2009 +0100
+
+ tgsi: simplify and fix sse KIL implementation
+
+ Use sse_movmskps to extract the correct bits of the comparison result
+ for use in updating the killmask. Simplify some logic around
+ identifying the set of necessary comparisons to make.
+
+commit e1ad38ad8e0243878ad1cf25f579a0a57e80a3ad
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Jul 16 12:47:11 2009 +0100
+
+ rtasm: export sse_movmskps
+
+commit 3858f47994dd39b725533cf3cf1a495fbc0ee6e3
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Jul 16 11:01:19 2009 +0100
+
+ tgsi: initial texturing support on sse path
+
+ Most obvious problem is drawpixels comes out blocky, but this may be
+ an existing issue of KIL on the sse path.
+
+commit 0c4350790ac0639996cbefcf2556ca5748d39454
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jul 16 11:21:12 2009 +0100
+
+ python: Hack to prevent segmentation faults when python exits.
+
+commit 4e1e18a772061fe3573f2ee2bf6afe447ee66fd6
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jul 16 11:20:12 2009 +0100
+
+ wgl: Expose pipe_screen/pipe_context via an extension.
+
+commit 3ab3209a1f1af7bfd8e09598fbc3586f35169fb2
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jul 16 11:19:06 2009 +0100
+
+ python: Obtain pipe_screen/pipe_context from the system's OpenGL driver.
+
+commit a01383ff6ac87295a2c2bda45ddfac35530b0055
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Jul 16 10:11:46 2009 +0100
+
+ tgsi: make sse function callout mechanism more generic
+
+ Take a list of arguments rather than hardcoding TEMP_R0.
+
+commit ebc4a9bf2eff7d2c0d89785e865a1df23733e64b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jul 16 07:50:34 2009 +0100
+
+ tgsi: reduce x86 reg usage in tgsi_sse generated programs
+
+ Pass the tgsi_exec_machine struct in directly and just hold a single
+ pointer to this struct, rather than keeping one for each of its
+ internal members.
+
+commit 4e3002b50fcedf3a6db1ac7394077bc3337ccda1
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jul 16 00:23:33 2009 +0100
+
+ tgsi: no need to separately malloc input and output arrays
+
+ Can now guarantee alignment in the initial allocation of the tgsi exec machine.
+
+commit c202fe187cf7a08d60e23ce617a5820a8bc510fd
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jul 16 00:21:17 2009 +0100
+
+ gallium: reduce recursive include of tgsi_exec.h
+
+ A lot of draw code no longer needs to see this header.
+
+commit 7fb702705a77df46074b9e09e9c5e5903036c732
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jul 15 23:59:55 2009 +0100
+
+ tgsi: make function call code in tgsi_sse.c less opaque
+
+ Explictly pass src and dst arguments (previously dst argument was also
+ being used as a src). Separate argument handling from the rest of
+ the function call emit.
+
+commit 6175653d0bceedba1f599d27111bab14f312f134
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jul 15 23:44:53 2009 +0100
+
+ gallium: proper constructor and destructor for tgsi_exec_machine
+
+ Centralize the creation, initialization and destruction of this struct.
+ Use align_malloc instead of home-brew alternatives.
+
+commit 11606e873d38a320195ab4e23181579f766ae45c
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Thu Jul 16 02:59:36 2009 -0400
+
+ Fix more merge fallout
+
+commit 92a2f0164aece1584e7c4ea8c5c44af43a1de8c3
+Author: Kevin DeKorte <kdekorte@gmail.com>
+Date: Wed Jul 15 17:13:09 2009 -0400
+
+ R6xx/r7xx: warning fixes
+
+commit 01b793ec7d1ecba53fb0620f07a928872b0ce033
+Author: Richard Li <richardradeon@gmail.com>
+Date: Wed Jul 15 17:00:42 2009 -0400
+
+ R6xx/r7xx: fix missing vertex stream
+
+ Somehow context->radeon.tcl.aos[j].bo is not null sometimes,
+ but it is safe for now because it is only a pointer to
+ dma.current so overwriting it would not hurt anything.
+
+commit 1e8a6068ee8b914bc601613c5e1655184c1cc05b
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Jul 15 15:59:04 2009 -0400
+
+ radeon bo: Fix merge fall out
+
+commit 582838a6669c54712ee837b53a99882d86164d75
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Jul 15 15:40:35 2009 -0400
+
+ R6xx/r7xx: more Makefile fixes
+
+commit 2ab328e5e44aae75365613a95208798f15fbb16e
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Jul 15 15:23:11 2009 -0400
+
+ Fix r600 makefile for lastest CS changes
+
+commit c5c19919ce627b98d8aab4284da1694573bcccd4
+Merge: a0d4a12 3a3b83e
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Jul 15 14:17:07 2009 -0400
+
+ Merge branch 'master' of git+ssh://agd5f@git.freedesktop.org/git/mesa/mesa into r6xx-rewrite
+
+ This builds, but I get an assertion in radeonGetLock() due to
+ the drawable being null.
+
+commit 6b7b13b5ebcebdca38264d165a95fd22887b90c7
+Author: Luca Barbieri <luca@luca-barbieri.com>
+Date: Wed Jul 15 11:34:36 2009 -0600
+
+ softpipe: limit blend results to [0,1]
+
+commit d970313b66b3aab3e3d12c65882febcc7c9091a8
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jul 15 11:12:05 2009 -0600
+
+ Fix state flag dependencies for fixed function fragment program updates.
+
+ I started looking into why _NEW_ARRAY punishes us, and while annotating
+ dependencies noticed that a bunch of dependencies were missing.
+
+ (cherry picked from master, commit e5f63c403b767f9974e8eb5d412c012b8a69287f)
+
+commit a0d4a12614fce072fa1eb5516e626909171c95e1
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Jul 15 11:31:24 2009 -0400
+
+ make sure ctx->Driver.Flush is valid before calling it
+
+commit efe7ad233ca8fa1b7e1aabf706c433955c5c51e8
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Jul 15 11:16:41 2009 -0400
+
+ Use memcpy directly in the common code
+
+ This alleviates the need for an additional symbol.
+
+commit 0474b5cb2ac4cefa12e7080aba397013325fb9a6
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Jul 15 15:37:27 2009 +0100
+
+ python/retrace: Interpret surface_copy.
+
+commit c68f659be3850c5e099311be7c58f8930954631d
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Jul 15 15:37:04 2009 +0100
+
+ python/samples: Use PIPE_FORMAT_Z16_UNORM instead of PIPE_FORMAT_Z32_UNORM.
+
+ More common. True fix would be to use whatever the screen supports though.
+
+commit fdeb77899052302053459b8a840a747346e30468
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Jul 15 13:29:58 2009 +0100
+
+ mesa: recognize and eliminate repeated error messages
+
+commit 59de430de70c38a2fbe30208190f725a2901613c
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Jul 14 16:28:08 2009 +0100
+
+ mesa: split out errorstring switch from _mesa_error
+
+ Move a chunk of code out of _mesa_error()
+
+commit df5f7a676182dc9d1d8c9c995a009b49bac971e8
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Jul 14 16:25:59 2009 +0100
+
+ mesa: remove dead code in _mesa_error
+
+ Remove early and unused snprintf and where[] string.
+
+commit 6c9d8a6f24db3c947928d72521d5fd544841366e
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Jul 14 16:23:04 2009 +0100
+
+ mesa: don't call getenv every time _mesa_error is called
+
+ Buggy apps can generate thousands of mesa_error calls. Don't need
+ to keep calling getenv to retreive the same MESA_DEBUG string each
+ time.
+
+commit 3a3b83e5112b725e22f05b32a273a2351b820944
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Jul 15 13:25:32 2009 +1000
+
+ radeon: update span reading micro tile code
+
+ tested on r500 with zreaddraw with Z buffer in all 3 modes
+
+commit bd4ed25222987f80b720325204e300fd79f573cf
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Jul 15 13:24:30 2009 +1000
+
+ r300: emit z depth pitch reloc in preparation for tiling
+
+commit 94d2a809f9cabf3821be9b0d2b11b26151ed3084
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Jul 15 12:03:34 2009 +1000
+
+ radeon: r300 fix span reading for macro tiled buffers.
+
+ this uses the correct formula for macro tiled buffers for readback
+
+commit 9b17f041d12cfe9a34df43da93fc16e275a5c751
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Jul 8 11:16:56 2009 +1000
+
+ radeon: for tiling you really need to use GET/PUT VALUE not PTR.
+
+ since the surfaces aren't linear you can't just use GET_PTR
+
+commit 868aa160745ed0b3f1a83353ef2f3a8fcb5d235e
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Wed Jul 15 10:40:16 2009 +0800
+
+ i965: the offset of any branch/jump instruction is in unit of 64bits on IGDNG
+
+commit 10b3e64bcada2e68144cc6ed40f7d760aff873e2
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue Jul 14 21:19:32 2009 -0400
+
+ R6xx/r7xx: implement memcpy buffer swaps
+
+ This allows double buffered apps to run, but perfomance
+ will be awful until we implement something faster.
+
+ You must update to the latest kernel modules.
+
+commit f6f0e117a45a64464e49290ebc9f75b9a976070a
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Jul 15 09:35:09 2009 +1000
+
+ intel/radeon: add common metaops code.
+
+ Move all the metaops to a dri_metaops file and port radeon/intel
+ to use the new common meta ops code.
+
+commit 9385e4e1ff343c135532ddde04c0febf297003d7
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue Jul 14 20:08:27 2009 -0400
+
+ r6xx/r7xx: fix buffer aging bug
+
+ We were using sparse indexing for aos, while the common
+ code expected packed indexing.
+
+commit 9ae78dc0bc948d56198c344d077a1513e531c4d4
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue Jul 14 20:06:29 2009 -0400
+
+ R6xx/R7xx: no irqs yet.
+
+commit 681ede8836746735fbb904edf89b076343507a8b
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Jul 15 07:10:45 2009 +1000
+
+ radeon: fix unsigned vs signed comparison in stencil code.
+
+ This function takes a GLint not a GLuint, passing in -1
+ breaks internally.
+
+commit 99d07d0f91ddd37926d08f4e7f10d55cac28d9a7
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jul 14 14:49:03 2009 -0700
+
+ intel: Fix ClearDepth to not be affected by DepthRange.
+
+ Fixes new piglit depthrange-clear.c test.
+
+commit b677c40abbed358984491b8ad3fcecf4742b2823
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jul 14 14:30:12 2009 -0700
+
+ intel: Set DepthRange in the metaops using RasterPos[2].
+
+ RasterPos[2] is already sent through the window transform, which includes
+ DepthRange handling. So make DepthRange for the metaops a noop.
+
+ Fixes a failure in oglconform depthrange.c
+
+commit e5f63c403b767f9974e8eb5d412c012b8a69287f
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jun 2 07:47:20 2009 -0700
+
+ Fix state flag dependencies for fixed function fragment program updates.
+
+ I started looking into why _NEW_ARRAY punishes us, and while annotating
+ dependencies noticed that a bunch of dependencies were missing.
+
+commit 374110bc9876365e8517175ecdb319be35e23016
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jul 14 11:51:17 2009 -0700
+
+ intel: Flag _NEW_ARRAY state when doing array object binding in clears.
+
+ This is just following bind_vertex_array()'s behavior.
+
+commit a1ecbb235687589bafaeb84312c312228d9f447d
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue Jul 14 18:01:29 2009 -0400
+
+ Disable shader dumps
+
+commit 9aca6769dfb934e15e848f938b7fb31345a8b3b2
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jul 14 14:26:42 2009 -0600
+
+ mesa: fix texture border color code for glPopAttrib()
+
+ The texture object's border color used to be stored as GLchan but it's
+ been GLfloat for a while now.
+
+commit 26e58a42b0faa8f4eb2794a1ddee6b66d0ce0efe
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sat Jul 4 16:01:45 2009 +0200
+
+ progs/tests: Use compressed texture in mipmap_comp_tests
+
+commit b0a17581e20c6993e1ec3ef85801f351366f949b
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sat Jul 4 07:40:34 2009 +0200
+
+ progs/tests: Tests more views in mipmap_comp_tests
+
+commit a36b9987cd0e6930e8db91322801854206cc1800
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sun Jun 14 01:04:00 2009 +0200
+
+ progs/tests: Add yet another mipmap test
+
+commit 6ec955efafda961bc7789c22dbde9d3430fc270f
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jul 14 07:58:22 2009 -0600
+
+ mesa: regenerated enums.c file
+
+commit e786ecbfb5ff6953d61d62099c8af445a6d99fb9
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jul 14 07:47:19 2009 -0600
+
+ mesa: regenerated enums.c file
+
+commit 7325c1ebc8cf88249d0adeadc0f52600e727c762
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Jul 14 11:09:23 2009 +0100
+
+ scons: Monkey patch os.spawnve on Windows to become thread safe.
+
+ See also:
+ - http://bugs.python.org/issue6476
+ - http://scons.tigris.org/issues/show_bug.cgi?id=2449
+
+commit 4ed1de8b84b587d2be0c0e4ecb6b5f421195f562
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Jul 7 17:56:12 2009 +0100
+
+ mesa: Report the true face number when flushing.
+
+commit b727150b1473d8cac7a8e6ad0b5112c486d93341
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Jul 14 01:16:25 2009 -0700
+
+ dri-st: Unbreak GL_EXT_blend_equation_separate.
+
+ Since it has a dispatch table entry (for BlendEquationSeparateEXT,)
+ can't omit it from this list. It'll still get disabled if the cap
+ (PIPE_CAP_BLEND_EQUATION_SEPARATE) isn't set.
+
+ Somebody that doesn't suck at GL (read: not me) should probably add
+ this into progs/samples/blendeq or similar so we can test it.
+
+commit 54cf63278ff28eb03503f649c46bf24437a1cbf8
+Author: Patrice Mandin <patmandin@gmail.com>
+Date: Tue Jul 14 09:44:49 2009 +0200
+
+ gallium: Define PIPE_CAP_BLEND_EQUATION_SEPARATE, remove extension from default extension list
+
+commit 33f56b4612e506999a2be8391ba82c0174afa1b3
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Tue Jul 14 08:25:27 2009 +0200
+
+ radeon: Differentiate 16 bpp destination formats.
+
+ Fixes those formats in fbo_firecube.
+
+ Only tested with r300, radeon and r200 compile tested only.
+
+commit 60e60bb3026a269fefe1cfd3312fdf3a7e4c595f
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Tue Jul 14 08:00:49 2009 +0200
+
+ radeon: Invert front face winding when rendering to FBO.
+
+ Fixes fgl_glxgears and progs/demos/fbotexture after pressing 'c'.
+
+ Tested with r300, radeon and r200 compile tested only.
+
+commit f4646f3247b721d08a2e01da4b2c8a808663d765
+Author: Cooper Yuan <cooperyuan@gmail.com>
+Date: Tue Jul 14 10:39:07 2009 +0800
+
+ R6xx/r7xx: Fix specular lighting issue
+
+commit 59155f70e701bc0b4fb816da991d6921f53b3bc7
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Mon Jul 13 15:01:51 2009 -0700
+
+ r300g: Small compile warning fixes.
+
+ Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
+
+commit b3f1d370a2eeb5ae69a9d59300820d3a2e86724c
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Mon Jul 13 14:58:45 2009 -0700
+
+ r300g, radeon: Whitespace fixes.
+
+ Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
+
+commit ca28e591f2cf62b2c20558bf4f310093067b6209
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Jul 13 14:47:36 2009 -0700
+
+ r300g: Use align() instead of inline maths.
+
+commit 9226e3d6a68e5e079456c5e7ba2a79e00a33bb89
+Merge: 0dc7008 582bd34
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Mon Jul 13 20:29:11 2009 +0200
+
+ Merge branch 'shaders_cleanup'
+
+commit 0dc700850acb81c7088ab740959441521f8d38d9
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jul 9 18:02:42 2009 -0700
+
+ intel: Partially fix fallback detection for glCopyTexSubImage.
+
+ Really, we should be checking that the MesaTexFormat for the read buffer
+ and the texture match, but the previous code wasn't even doing that, so
+ matching the cpp should be an improvement (and potentially fix some hangs!).
+ The previous code also rejected GL_RGB even though blitting the alpha
+ channel to the ignored channel of an x8r8g8b8 texture should be fine, which
+ tripped up compiz's blur plugin.
+
+commit 582bd3466514b9fe24f18d99af2945f02709aacd
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sun Jul 12 15:09:15 2009 +0200
+
+ r300: always assume all components are read by fragment program
+
+ Components of input attributes that are used by fragment program aren't part of vertex program key, and that may lead to situations when vertex program writes only TEX1.xy and fragment program reads TEX1.xyz, resulting in rendering errors.
+
+ Reported-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit f06910f6c34f199dc187bd69ff1f6889ba498217
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sun Jul 12 02:03:25 2009 +0000
+
+ r300: Fix fogcoord rewriting
+
+ We only care about the actual fogcoord itself now, reducing the rewriting
+ done for the vertex program.
+
+ The rewriting of source operand swizzles in the fragment program takes
+ care that fogcoord.yzw = 001.
+
+ This should fix fogcoord rewriting entirely, which had been horribly
+ broken in the face of dot-product instructions, and just broken (though
+ not horribly so) in the face of almost every other instruction (the W
+ component would be incorrect for most arithmetic instructions).
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 3f5382819e31071c2af6cb39c1ca09bf3243f83f
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Jul 11 19:10:58 2009 +0200
+
+ r300: fix swizzle masking in getUsedComponents
+
+commit acd33600411102872af579edc4206b61eb51bb65
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Jul 11 16:41:52 2009 +0200
+
+ r300: minor fix
+
+ Split initializations becase the vars are of different type.
+
+ Reported-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 1a5520fcd3842cc3198bff143d2af5c169eebc26
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Jul 11 16:37:11 2009 +0200
+
+ r300: move variables declarations
+
+commit b3716eeb61b75dc661a1485f9bea9275a88a1d81
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Jul 11 16:34:04 2009 +0200
+
+ r300: document r300_vertex_program_cont structure
+
+ Reported-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit a0204ce456435f6ee38d8c14d25ae251940bf55f
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Jul 11 16:26:23 2009 +0200
+
+ r300: document r300_fragment_program_cont struct
+
+commit ec854729d12a533ed00b9a9e6a5942aede2f5d1e
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Jul 11 16:16:11 2009 +0200
+
+ r300: fix indentation
+
+ Reported-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 48cc352a71c728e0ce092dd7d7ec0945db304907
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Jul 11 15:53:01 2009 +0200
+
+ r300: fix StrideB == 0 case when converting data format
+
+ Reported-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 4eff323731b0d65e1f2817e96435807418d833cc
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Jul 11 15:09:20 2009 +0200
+
+ r300: hw can handle per component negations in vertex shaders
+
+ Reported-by: Nicolai Haehnle <nhaehnle@gmail.com>
+
+commit 4efb9f053c84fbdced373cc62fe06b3158b59015
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sun Jul 5 03:17:32 2009 +0200
+
+ r300: fix WPOS for SWTCL
+
+commit bdc8a95fc906dcc617995479fbffbf8fdd1f4e34
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Jul 4 23:38:59 2009 +0200
+
+ r300: removed unnecessary params
+
+ We don't have check which attributes are used by fragment program - it's already done by NQSSADCE.
+
+commit 65d9f23c7c3e99dfe038b1306f96930e1228de11
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sun Jul 5 02:34:48 2009 +0200
+
+ r300: use NQSSADCE for vertex programs
+
+commit 70448b9f95b4ca56526458d207a28727f71e8d3c
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Jul 4 16:52:48 2009 +0200
+
+ r300: operate on copy of a program when pairing instructions
+
+ We need to keep unpaired program for vertex program NQSSADCE.
+
+commit 12a6d73c7590c37ec8ae3f2c8c737791e4461d77
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Mon Jul 13 19:23:18 2009 +0200
+
+ r300: handle relative addressing in NQSSADCE
+
+commit 96b2eb18c5059d441873bfa562bd2ff9dec46a51
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Jul 4 15:22:22 2009 +0200
+
+ r300: handle ARB_vertex_program specific instructions in NQSSADCE
+
+commit e43cc28c1b6face903f3c977d6eb887335bec886
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Jul 4 16:50:25 2009 +0200
+
+ r300: move depth output rewrite out of NQSSADCE
+
+commit f79ef95df4f19124c24e59583bf9fb1e347d8f2b
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sun Jul 5 02:32:51 2009 +0200
+
+ r300: rewrite FOGC and HPOS attribs handling
+
+ Rewrite vertex and fragment programs so that we don't have to do any hacks on lower level.
+
+commit df5fe747fa08f63b949ba0fd6628060831b562ec
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sun Jul 5 02:03:32 2009 +0200
+
+ r300: bind vertex program to fragment program
+
+commit d1e4caa6e2b6a1e20feb97ae51703d5b4b18f70b
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Jul 4 14:57:42 2009 +0200
+
+ r300: recalculate used inputs and outputs after dead code removal
+
+commit 7360f83364b407e949529eeca9f8c421d2da3ded
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Jul 4 13:17:35 2009 +0200
+
+ r300: move fragment program selection before vertex program selection
+
+ Prepare for wpos and fogc handling rewrite.
+
+commit 37c319f62f59d7750dd172034e43dfd489f572cc
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Fri Jul 3 20:14:24 2009 +0200
+
+ r300: implement proper IsProgramNative check for vertex programs
+
+commit bce224c1f108e6c8131dfc953ef607689b83ae7e
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Fri Jul 3 20:06:23 2009 +0200
+
+ r300: don't modify original vertex program
+
+ Keep the original vertex program untouched because it may be needed after some state change for generating new r300 specific vertex program.
+
+commit 7829b7a1b85dd8e6c31189e7f3dec91d71d134c3
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Jul 4 13:26:49 2009 +0200
+
+ r300: cache translated fragment programs
+
+commit 28066ed012b51f2171866669a2972bc7ee293565
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Jul 4 12:56:31 2009 +0200
+
+ r300: update state parameters only once per rendering operation
+
+commit 21db37d43245f97032fa21030279c3b47c901639
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Wed Jul 1 18:43:14 2009 +0200
+
+ r300: translate non native insts earlier for easier debugging
+
+commit 0b411a72f3cc3be7ecf9f4676d9860b2b56f084e
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Mon Jun 29 21:52:39 2009 +0200
+
+ r300: print vertex program after adding artificial output insts
+
+commit 4a6899e080bbdb556926031345ef6a9fbe6d9ff2
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Mon Jun 29 21:48:35 2009 +0200
+
+ r300: use mesa provided function for adding MVP code
+
+commit 9b781ca2ce9cdf6c21eb5dda4709366b2581d17a
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Mon Jun 29 21:39:59 2009 +0200
+
+ r300: simplify insert_wpos a little
+
+commit 9615daa9324341f6a56932dc46b807f402d18283
+Merge: bb4c703 680f7d0
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jul 13 08:47:37 2009 -0600
+
+ Merge branch 'mesa_7_5_branch'
+
+commit bb4c70358778f28f644ae493b5d8163e76e9fddb
+Author: Dave Airlie <airlied@linux.ie>
+Date: Tue Jul 14 01:22:17 2009 +1000
+
+ radeon: port more front fixes from intel.
+
+ Port fixes to read buffer from front.
+
+commit 504d01b275169f019d375b4a8b5e935b9fd108d3
+Author: Dave Airlie <airlied@linux.ie>
+Date: Mon Jul 13 23:41:32 2009 +1000
+
+ radeon/r200: fix color masking under dri2
+
+ Need to retrieve the bits from the rrb not from screen struct
+
+commit a79aefb1775ce6eaf0fd0cf9a1f72150f631c90f
+Author: Dave Airlie <airlied@linux.ie>
+Date: Mon Jul 13 23:09:17 2009 +1000
+
+ radeon: Use Stencil.Enabled instead of Stencil._Enabled in DrawBuffers.
+
+ The _Enabled field isn't updated at the point that DrawBuffers is called,
+ and the Driver.Enable() function does the testing for stencil buffer
+ presence anyway.
+
+commit d9913d7c095487ebec6ce074d1ac4edbd96d260d
+Author: Dave Airlie <airlied@linux.ie>
+Date: Mon Jul 13 23:02:54 2009 +1000
+
+ radeon/fbo: stencil bits fix from Michel in intel fbo code
+
+commit 680f7d09b00fdec0dbe5e357639d6b445bb9266e
+Author: Peteri Andras <whysogreen@gmail.com>
+Date: Mon Jul 13 08:03:16 2009 -0600
+
+ r128: fix two-sided lighting segfault seen in GLUT's olight demo
+
+commit 022e8e582ee408845bc622d56487b220b27df9a6
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Sun Jul 12 21:07:38 2009 -0700
+
+ intel: Bump driver data, add RC3 tag
+
+commit 2995bf0d68f1b28ba68b81e9dc79e3ab52bc2795
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Mon Jul 13 10:48:43 2009 +0800
+
+ i965: add support for new chipsets
+
+ 1. new PCI ids
+ 2. fix some 3D commands on new chipset
+ 3. fix send instruction on new chipset
+ 4. new VUE vertex header
+ 5. ff_sync message (added by Zou Nan Hai <nanhai.zou@intel.com>)
+ 6. the offset in JMPI is in unit of 64bits on new chipset
+ 7. new cube map layout
+
+commit f030e2ba17a3b859d30017cfd990552d3af4bad3
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sun Jul 12 21:35:59 2009 +1000
+
+ r300: move fallback warnings inside fallback debugging
+
+ random output is bad
+
+commit dfecf217fa0d7677bdd3445e32a7bb0d022a599b
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sun Jul 12 21:35:24 2009 +1000
+
+ r300: fix clear mask to not use sw if not necessary
+
+commit b484c71036e0d0b30ac7685ba50a9008d09f5047
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sun Jul 12 11:18:43 2009 +0200
+
+ radeon: Fix crash when rendering to incomplete texture and other formats
+
+ It is possible to bind texture images of an incomplete mipmapped texture.
+ Software fallbacks in this case incorrectly tried to mmap the entire texture.
+
+ Additionally, add span functions for 1555 and 4444 formats.
+
+ This fixes crashes in piglit's fbo-readpixels test; unfortunately, the test
+ itself still fails - this needs to be investigated.
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit a10244453c24d62cd87f8c4d85cbe103b62db311
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sun Jul 12 17:28:14 2009 +1000
+
+ radeon: update clear code from Intel codebase.
+
+ This updates some of the clear code from Intel gives a 5x clearspd perf
+ for me here. played openarena also, not sure if the viewport changes
+ broke anything,
+
+commit b06cb372bf59f06f51af40572917d4cd94346f90
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sun Jul 12 12:13:40 2009 +1000
+
+ radeon: fbo fix firecube crashes
+
+ it might still be misrendering not sure
+
+commit 65059606e9a0039fc962869857c5f00a11d6b7cc
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Sat Jul 11 20:25:09 2009 +0200
+
+ radeon: Fix scissor rectangle calculation when rendering to FBO.
+
+ fgl_glxgears -fbo runs, though the gears don't look right yet.
+
+commit 1c1307e7c55844f63f7bd7ac02c64f4b936f3c66
+Author: Zack Rusin <zackr@vmware.com>
+Date: Sat Jul 11 13:48:41 2009 -0400
+
+ gallium: compare the actual register, not all the inputs
+
+ otherwise we decrement indexes for all registers
+
+commit cff2126f522bb511216f64427b3060467e266f8a
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jul 10 16:26:09 2009 -0600
+
+ tgsi: update some assertions
+
+commit a79586ce180a77beb15f6a9b6a72d490ad6e6afd
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jul 10 15:44:48 2009 -0600
+
+ tgsi: tgsi: add semantic_names[] string for TGSI_SEMANTIC_FACE
+
+ Same story as in the tgsi_dump.c code (see prev commit).
+
+commit f01af4dbd26bec433cde08d011a5101edd7d83be
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jul 10 15:41:26 2009 -0600
+
+ tgsi: add semantic_names[] string for TGSI_SEMANTIC_FACE
+
+ Fixes TGSI dump output when front/back-face register is declared.
+
+ Also, add some assertions to make sure the semantic/interpolate string
+ arrays have as many elements as there are tokens in the p_shader_tokens.h
+ file. That should catch problems like this in the future.
+
+commit 762c1d11ffbb5179e44117397559e7cc2dfe9cef
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jul 10 13:07:45 2009 -0600
+
+ st/mesa: implement indirect addressing for destination registers
+
+commit baa7ff47d548cdcc1ea68657ee1b0500f78041be
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jul 10 13:07:16 2009 -0600
+
+ tgis: implement indirect addressing for destination registers
+
+ Includes the TGSI interpreter, but not the SSE/PPC/etc code generators.
+
+commit ca1b71b78d9c31e9ea7ceed2542ec67f32e6e5c5
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jul 10 12:55:30 2009 -0600
+
+ vbo: fix vbo/dlist memory leak
+
+ Based on a patch by kristof.ralovich@gmail.com
+
+commit 6ff1a5385ee2a2f3c612254254bf5c1e4f4e593a
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jul 9 13:59:03 2009 -0600
+
+ demos: set 4th component of texcoord to 1.0
+
+ Avoid potential randomness in resulting texcoords.
+
+commit db618427abab44939189c688e58ea7eca52f1795
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sat Jul 11 03:15:58 2009 +1000
+
+ radeon: enable GL_NV_texture_rectangle under dri2.
+
+commit 85957cb512e74c8ddeb5ba2e06df091943ab8400
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sat Jul 11 03:01:52 2009 +1000
+
+ radeon: set texture in state properly.
+
+ make sure to turn off when no texture is used in hw
+
+commit a6a11e1dc019ad54e0c4c9d1de46ca6ca48528c3
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sat Jul 11 03:01:04 2009 +1000
+
+ radeon: make swtcl emit size bigger
+
+commit 37c0cde80aa99435c7b58b36e5e186782cff4e77
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri Jul 10 12:04:56 2009 -0400
+
+ R6xx/r7xx: use packet 3 for scratch emit
+
+ no need to allow packet 0 scratch regs in the drm
+
+commit cade071d525f71069f635fd0b705e64d897b32c4
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Fri Jul 10 14:49:46 2009 +0200
+
+ Remove stale reference to non-Gallium nouveau driver from configure.ac.
+
+commit fcd3572edf5eed47d87774150c2097e0d6245bd2
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Jun 22 18:22:51 2009 -0700
+
+ mesa: From float type modifier from values to large for singles
+
+ The values 2147483648.0 and 4294967294.0 are too larget to be stored in single
+ precision floats. Forcing these to be singles causes bits to be lost, which
+ results in errors in some pixel transfer tests.
+
+ This fixes bug #22344.
+ (cherry picked from commit 70e72070fce6aa1e0918dcc62c1949465cee69f7)
+
+commit 0de26dba2edf1c9d9b77b42ea1ad35604c009e32
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Thu Jul 9 17:15:23 2009 -0400
+
+ R6xx/r7xx: disable CS dump
+
+ Don't fprintf to a xterm with the lock held.
+
+commit 8987410ab6575048a7f7cbf27bb047d76ae46514
+Merge: 7ccb00b 78af70b
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jul 9 08:05:56 2009 -0600
+
+ Merge branch 'mesa_7_5_branch'
+
+commit 78af70be3727945d2d81a07b99d5a794f1114c05
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jul 9 08:04:07 2009 -0600
+
+ docs: document gl_TextureMatrix[i][j] array indexing bug fix
+
+commit c86b0766681f986951e53ea852858eb8d6ce9e32
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jul 9 07:58:50 2009 -0600
+
+ glsl: do const parameter optimization for array element actual parameters
+
+ When a function parameter is const-qualified we can avoid making a copy
+ of the actual parameter (we basically do a search/replace when inlining).
+ This is now done for array element params too, resulting in better code
+ (fewer MOV instructions).
+
+ We should allow some other types of function arguments here but let's be
+ conservative for the moment.
+
+commit abdb0fdcc05eb9ec87b3d5a3226c3c190e1fbbcd
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jul 9 07:57:29 2009 -0600
+
+ glsl: fix incorrect indexing for gl_TextureMatrix[i][j]
+
+ The two indexes were mixed up when accessing a row of a matrix in an array
+ of matrices.
+
+commit 36e906aad6d0520db00cc5112fd015497465bc87
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jul 8 14:14:03 2009 -0600
+
+ docs: document glMaterial/glShadeModel display list optimization
+
+commit 93ab69a0eff8e0b264ec8888cfd0ac11ea0e274f
+Author: Richard Li <richardradeon@gmail.com>
+Date: Wed Jul 8 14:49:48 2009 -0400
+
+ Fix buffer age implementaion bug.
+
+commit 4adc9b4a5be72e34d464ce341b011c42517d969a
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue May 5 16:21:20 2009 -0600
+
+ mesa: only use fallback texture when using shaders, not fixed-function (take two)
+
+ The semantics are a little different for shaders vs. fixed-function when
+ trying to use an incomplete texture. The fallback texture returning
+ (0,0,0,1) should only be used with shaders. For fixed function, the texture
+ unit is truly disabled/ignored.
+
+ Fixes glean fbo test regression.
+ (cherry picked from commit 01e16befd4809e3e93ee7855a4a5d7df9fe010d9)
+ (cherry picked from commit 51325f44d1e7e62b47795a79f8038d10dc5bc30b)
+ [anholt: squashed these two together from master, skipping the mess in between]
+
+commit 7b861b9b9efdb3ac0dfc3806afcd494cd0ea006c
+Author: Zack Rusin <zackr@vmware.com>
+Date: Tue Jul 7 12:48:50 2009 -0700
+
+ gallium: fixup register indexes for fog/frontface/point coord
+
+commit f9db04878bc08931766bd827417012c30887bb7c
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue Jul 7 15:44:44 2009 -0400
+
+ R6xx/r7xx: remove some left over debugging
+
+commit 0396795689dd82be31d22be83307511d223ebcf2
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue Jul 7 15:40:28 2009 -0400
+
+ R6xx/R7xx: fix texture reloc emit
+
+ Textures don't look right yet, but tex demos run.
+
+commit 71633abafc935c25da9731bab48c228ceb9b4097
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Tue Jul 7 14:49:52 2009 +0200
+
+ gallium: Fixes for clobbering stencil values in combined depth/stencil textures.
+
+ Also fix one case where a 32 bit depth value was incorrectly converted to a
+ combined depth/stencil value.
+
+commit 25b492b976632269dfa3de164545d50a53c090ce
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Tue Jul 7 13:52:35 2009 +0200
+
+ GLX/DRI1: Mark GLX visuals with depth != screen depth non-conformant.
+
+ Such visuals are subject to automatic compositing in the X server, so DRI1
+ can't render to them properly.
+
+commit 96601ec8e0e35d540c1819a48df7f08ec5874ab7
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Tue Jul 7 12:17:04 2009 +0200
+
+ gallium: Only set FRONT_STATUS_COPY_OF_BACK if there is a back buffer.
+
+ Fixes potential crash when SwapBuffers is called but there's no back buffer.
+
+commit f74d1c26acaacf688545ecc1ddb996a02e991ccb
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue Jul 7 02:12:38 2009 -0400
+
+ r6xx/r7xx: add sw blit for tex upload
+
+ Can be used for buffer swap as well.
+
+commit 6799bc0b6ba1c1052a247cbae0ef660ad5aba84c
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue Jul 7 01:02:08 2009 -0400
+
+ tex wip
+
+commit a4d952358d8fd0f9d135c91c37969acdcf394f0a
+Author: Zack Rusin <zackr@vmware.com>
+Date: Mon Jul 6 21:33:56 2009 -0400
+
+ gallium: more fog extraction fixes
+
+ fix the cases when fog coord/front face/point coord are used in the same
+ shader.
+
+commit 7fb4becf986872268af4ba3f62c0a85b41ef7e5d
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Jul 6 11:36:17 2009 -0700
+
+ demos: Fix vsync checking in glxgears
+
+ Of course glXGetVideoSyncSGI doesn't return the swap interval. The feature
+ only exists in the Mesa extension... which is the whole reason I created the
+ Mesa extension! Note that the Mesa extension allows drivers to default to a
+ swap interval of 0. If the Mesa extension exists, use its value. Only
+ consider the SGI extension when the Mesa extension is not available.
+
+ Fixes bug #22604.
+
+commit 1068c15c61a6c76a2da04ed3ca136f0d49abed1d
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Jul 6 18:23:37 2009 +0100
+
+ wgl: Make the stw_framebuffer destructions threadsafe.
+
+ Ensure no other thread is accessing a framebuffer when it is being destroyed by
+ acquiring both the global and per-framebuffer mutexes. Normal access only
+ needs the global lock to walk the linked list and acquire the per-framebuffer
+ mutex.
+
+commit 6f4167c8a215b561e5ad6eb58a8d875a5b8d8d6a
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Jul 6 17:40:08 2009 +0100
+
+ wgl: Check for multiple threads before GET_CURRENT_CONTEXT.
+
+ Fixes wglthreads -- the 2nd thread MakeCurrent call was trying to flush
+ the first thread context while still in use.
+
+commit 5470a67335dfd9afffb92ff6521a77519cda40d8
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Jul 6 17:08:37 2009 +0100
+
+ wgl: Listen to WM_WINDOWPOSCHANGED instead of WM_SIZE messages.
+
+ According to
+ http://blogs.msdn.com/oldnewthing/archive/2008/01/15/7113860.aspx
+ WM_SIZE is generated from WM_WINDOWPOSCHANGED by DefWindowProc so it
+ can be masked out by the application.
+
+ Also there were some weird bogus WM_SIZE 0x0 messages when starting
+ sharedtex_mt which we don't get like this.
+
+commit 1bad691a177240e8281592fa66c9e6ab0869f618
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Mon Jul 6 00:00:10 2009 -0400
+
+ R6xx/r7xx: first pass at texture support
+
+ texture bo setup isn't quite working yet
+
+commit c6b0b46d6d087de59a36f1340cea54a11df78e37
+Author: Cooper Yuan <cooperyuan@gmail.com>
+Date: Mon Jul 6 16:30:43 2009 +0800
+
+ R6xx/r7xx: DEPTH_CONTROL will be reset by this function
+
+commit 7ccb00b1acacb57cefca1ae789246983ef4831d9
+Merge: f742f2c 4adc9b4
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sun Jul 5 04:14:41 2009 +0200
+
+ Merge branch 'mesa_7_5_branch'
+
+commit f742f2c0b308430da38f8eeddfed889f883615e9
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jul 8 13:59:03 2009 -0600
+
+ demos: indentation fix
+
+commit 820436f97821b5e1774fda8daf86ea0dcc379186
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jul 8 13:58:30 2009 -0600
+
+ demos: use glEnable/DisableClientState() for vertex arrays
+
+commit bf71ece171305f80972f6e401442372618265fcb
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Sun Jul 5 16:29:44 2009 +0200
+
+ glx: death to RCS tag
+
+commit 67a43b2cfcc5ca4ce56fce0a2239048535add0f2
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Jul 8 11:59:56 2009 -0700
+
+ r300g: Remove VAP_CNTL_STATUS from invariant state.
+
+ Seriously.
+
+commit c737e57357ff002b5e3f8a981fed06b22853f568
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Jul 8 11:55:27 2009 -0700
+
+ r300g: Disable MSPOS registers for glisse's CS security checker.
+
+ These will come back in someday, when we can properly use them.
+
+commit 746140e215b86ec6eb9f10be45babe700f8e2e62
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon May 18 17:06:42 2009 -0700
+
+ r300-gallium: Unify sampler and texture emit.
+
+ They have to cross into each other's registers.
+
+commit 1aa38b2c2d80b67fe2eefe468f90aeb44bc20259
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Jul 8 11:30:59 2009 -0700
+
+ r300-gallium: Mipmap setup.
+ (cherry picked from commit 88c01a15da5639dd68a6a0133724994cb66f1316)
+
+commit e46d12d39498199e18be70826a2d36028c7b93f3
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Jul 8 11:27:26 2009 -0700
+
+ r300g: Add endian fix to vertex fetcher setup.
+
+ As reported and initially tested by MrCooper.
+
+commit ce0f7954f883c94c793bf1b93699351defae34c5
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Jul 8 11:26:52 2009 -0700
+
+ gallium: Add endian detection to p_config.
+
+commit 186d187ff7eebad58a18721878c5b23799e3f3d6
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Jul 4 11:33:47 2009 +0200
+
+ r300: fix regression introduced by ca13937ef97c7779f639dcfc95b3798a11de01bd
+
+ Stride == 0 means that we value for first vertex should be copied to every other vertices (e.g. constant color).
+
+ This fixes glean/vertProg1 and sauerbraten with enabled shaders.
+
+commit 95df7bfc03fc63152b241e65bce1f7c73bbf007b
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sun Jul 5 16:17:12 2009 +0200
+
+ radeon: fix copy and paste typo
+
+commit afd687b0dcf9ac842b4c4832247c6ffe5cc844b1
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sun Jul 5 15:00:42 2009 +0200
+
+ mesa/vbo: always recalculate min_index and max_index when splitting vertices
+
+commit eb33c0ab8b3594f0b1d58534a13a26e3fb050cff
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sat Jul 4 16:01:45 2009 +0200
+
+ progs/tests: Use compressed texture in mipmap_comp_tests
+
+commit be64e66e5aeed83ebcd11ccfd5ff461e8145a850
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jul 7 15:10:21 2009 -0700
+
+ intel: Fix flipped Y for glDrawPixels(GL_STENCIL_INDEX) to window system.
+
+ Even after fixing bugs in this code, it doesn't make me feel any cleaner.
+ Fixes piglit stencil-drawpixels.
+
+commit bdd7506f10d13018a9c71270eed5d3d295978081
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jul 7 13:39:29 2009 -0700
+
+ intel: Fall back on glCopyPixels(GL_DEPTH) or GL_STENCIL.
+
+commit 510c3bd7a1a8f6e350ca7b05ced1f0323098b2eb
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Jul 6 16:47:57 2009 -0700
+
+ i965: Remove BRW_NEW_INPUT_VARYING
+
+ This state flag has been unused since the ffvertex_prog move to core.
+
+commit 058e96916b1ee661dfc16052b79b3aa9fcb47690
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Feb 25 11:57:44 2009 -0800
+
+ Cap array elements at 0 when passed an invalid pointer for an array object.
+
+ Otherwise, a pointer greater than the size would underflow and give a large
+ maximum element.
+
+ Reviewed-by: Brian Paul <brianp@vmware.com> (previous version)
+
+commit fc6e02ce6210d6615af0058f1b57e7ee37a6527f
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Fri Jun 26 20:38:07 2009 +0200
+
+ i965: fix fetching constants from constant buffer in glsl path
+
+ the driver used to overwrite grf0 then use implicit move by send instruction
+ to move contents of grf0 to mrf1. However, we must not overwrite grf0 since
+ it's still used later for fb write.
+ Instead, do the move directly do mrf1 (we could use implicit move from another
+ grf reg to mrf1 but since we need a mov to encode the data anyway it doesn't
+ seem to make sense).
+ I think the dp_READ/WRITE_16 functions may suffer from the same issue.
+ While here also remove unnecessary msg_reg_nr parameter from the dataport
+ functions since always message register 1 is used.
+
+commit c30f23c1231e8443e0880efa5326ccecf6eec034
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed May 6 21:44:13 2009 -0700
+
+ i965: Remove bad constant buffer constant-reg-already-loaded optimization.
+
+ Thanks to branching, the state of c->current_const[i].index at the point
+ of emitting constant loads for this instruction may not match the actual
+ constant currently loaded in the reg at runtime. Fixes a regression in my
+ GLSL program for idr's class since b58b3a786aa38dcc9d72144c2cc691151e46e3d5.
+
+commit 28471cfa970702128d822c2ecbb1703eedbca245
+Merge: 9982821 71633ab
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sat Jul 4 07:43:01 2009 +0200
+
+ Merge branch 'mesa_7_5_branch'
+
+commit 9982821cdaf2205443c6297368eaab4115bf92f6
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sat Jul 4 07:40:34 2009 +0200
+
+ progs/tests: Tests more views in mipmap_comp_tests
+
+commit edb02671704aeb60e3eeaa7f58c73f4845c5b7e2
+Merge: 124a6b1 54324d9
+Author: Zack Rusin <zackr@vmware.com>
+Date: Mon Jul 6 21:43:26 2009 -0400
+
+ Merge commit 'origin/openvg-1.0'
+
+commit 124a6b1958c630ea049025e2b72547096fdc8f2c
+Author: Zack Rusin <zack@kde.org>
+Date: Tue Jun 23 19:12:46 2009 -0400
+
+ gallium: rearrange some members to avoid memory holes/padding
+
+ plus it saves us a cacheline in the cso
+
+commit 5920b6b67988fc3977f43b39d8546cc20247bf31
+Author: Zack Rusin <zack@kde.org>
+Date: Sat Jun 20 21:36:40 2009 -0400
+
+ pipebuffer: handle possible null pointer dereference
+
+ reported by clang static analyzer
+
+commit f311893bf4cd4e20e5b43fa404c4a2f656791943
+Author: Zack Rusin <zack@kde.org>
+Date: Sat Jun 20 21:25:47 2009 -0400
+
+ cso: possible null pointer dereference
+
+ reported by clang static analyzer
+
+commit 4873031e29e0e8f654f78307e6ec885e68a54d86
+Author: Zack Rusin <zack@kde.org>
+Date: Sat Jun 20 21:19:57 2009 -0400
+
+ util: fix possible null pointer usage
+
+ found by the clang static analyzer
+
+commit 21cce6afb03bf9b9adfc6d8a1a446bb3ef22c7a8
+Author: Zack Rusin <zack@kde.org>
+Date: Mon Jun 8 00:07:04 2009 -0400
+
+ exa: some infrastucture work for accelerating composite
+
+commit d66de6c341a859a30ef010c527f9a0c5865b5d65
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Jul 6 20:35:15 2009 +1000
+
+ radeon: ensure cmdbuf space for state + AOS is available
+
+ The problem is if we find out later we don't have any cmdbuf space but
+ we've already written the arrays to the DMA buffer object, we end up
+ emitting the current cmdbuf which has references to the current DMA object
+ we then send that to the hw and we can't reference the arrays we just emitted
+ to the old DMA buffer. things go bad, crash boom.
+
+ This can probably be tuned further + swtcl probably needs some fixes
+
+commit 7266e33abd9723fcec47933ed9ff4132abbd6eba
+Author: Dave Airlie <airlied@linux.ie>
+Date: Mon Jul 6 17:46:36 2009 +1000
+
+ r200: fix makefile
+
+commit f110c5fd6e762a0166c44d7446c4c3fdc434f42a
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Jul 6 15:50:24 2009 +1000
+
+ radeon: fixup FBO depth 24 allocations to avoid assert
+
+commit c27f21f92d2cf9d23a9edb15d144eceb9ff383bc
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Jul 6 14:15:00 2009 +1000
+
+ radeon/r200/r300: port to new space checking code in libdrm
+
+ This moves a big chunk of the space checking code into libdrm so
+ it can be shared by the DDX.
+
+commit 645bfa32c9b330f7f4dba1126604b7ddb28f9dce
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun Jul 5 11:56:40 2009 -0700
+
+ radeon-gallium: Compile warning fix.
+
+ Fixes flush during validation, in case a buffer is double-validated.
+
+commit c8e0d55ac6e7fcb778a8e884e27b84dba10fa5db
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun Jul 5 11:55:47 2009 -0700
+
+ radeon-gallium: Use FLINK to do proper global buffers.
+
+commit df04e72d25cfcc5aaa574949b8634bc564df0644
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun Jul 5 11:29:13 2009 -0700
+
+ radeon-gallium: Wait for BOs before mapping them.
+
+commit 6fff62ee3fdbfe7d8ba15d3ad001f9afd120c307
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Mon Jun 29 19:50:39 2009 +0200
+
+ r300: fix vertex limits
+
+ - don't limit vertex count if we are using indices
+ - max indices count is 65535 not 65536
+ - remove some comments that don't apply anymore
+ - remove unreachable code
+
+commit 862488075c5537b0613753b0d14c267527fc6199
+Merge: 060c7f2 94e1117
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Jul 3 18:53:58 2009 +0200
+
+ Merge branch 'mesa_7_5_branch'
+
+ Conflicts:
+ src/mesa/main/dlist.c
+ src/mesa/vbo/vbo_save_api.c
+
+commit 94e1117c9ba259665cd8e790369dcd4c789a2f93
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Fri Jul 3 17:50:15 2009 +0200
+
+ intel: Also update stencil bits in intel_update_wrapper().
+
+ Fixes assertion failure when binding depth/stencil texture to FBO stencil
+ attachment.
+
+commit f580494bef54bb53a34f2798de15f0227f512b76
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Jul 3 16:40:03 2009 +0100
+
+ progs: revert damage to progs/SConscript from recent compressed texture commit
+
+commit b928d18398330d862ab162f687e224b93932824c
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Jul 3 14:26:26 2009 +0100
+
+ mesa/shaders: fix gl_NormalMatrix state parameters
+
+ gl_NormalMatrix is the inverse transpose of the modelview matrix, but
+ as every matrix here needs to be transposed, we end up with
+ {MODELVIEW_MATRIX, INVERSE}.
+
+commit aa98575ebb97bc38cf40acd3d78b72ee49f7b86b
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Jul 3 10:37:14 2009 +0100
+
+ st/wgl: don't advertise WGL_EXT_swap_interval string
+
+ This is a tweak to a previous fix -- it's not necessary to actually
+ advertise this extension to prevent these games from crashing -- they
+ ignore the extension string anyway. It's sufficient to just have
+ GetProcAddress return some dummy function addresses for SwapInterval.
+
+ Given we don't really implement this funcitonality, this is a better
+ fix.
+
+commit cffe7c8bd0397f8d54e2da16a21c7db4345766b8
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Jul 3 14:21:55 2009 +0100
+
+ wgl: Lookup framebuffers by HWND whenever possible.
+
+ Some applications create several HDCs for the same window, so spite the WGL
+ API is geared towards HDCs it is not reliable searching by HDC.
+
+commit 060c7f2321f72503c14f9f3f7bb27d59d8a90224
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Fri Jul 3 12:44:19 2009 +0200
+
+ radeon: Wait for BO idle if necessary before mapping it.
+
+ Fixes fighting between GPU and software rendering with TTM.
+
+commit 6b2461fec905b7dc25ad051d602b440503f544ea
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Fri Jul 3 12:44:02 2009 +0200
+
+ r300: Guard debugging output.
+
+commit 8ae02a3919bf31bd33f86208472e100eedb58497
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jul 2 19:21:22 2009 -0700
+
+ intel: Fall back on glBitmap with fog enabled.
+
+ We would have to build the program with the appropriate fog mode, and
+ also supply the fog coordinate if appropriate.
+
+ Bug #19413.
+
+commit ae1bfb6427cc10a851c80e020cbdc210fe238d85
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jul 2 18:02:44 2009 -0700
+
+ intel: Flush when mapping buffer objects so writes don't get reordered.
+
+ While GEM covers this for execution it knows about, it doesn't know about
+ the batchbuffer we're preparing. Fixes piglit vbo-map-remap.c testcase.
+
+commit 9a0b570ab64169cee66f848d97d65f22c43d13ec
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Jul 2 16:31:24 2009 -0700
+
+ vbo: If MapBufferRange fails, try MapBuffer instead.
+
+ Fixes segfaults with radeon winsys.
+ (Probably libdrm_radeon doing something that it shouldn't.)
+
+commit aa5b9c050f13a7ca57a7a059eb2b7ed78cc6b636
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Jul 2 09:21:56 2009 -0700
+
+ Nuke old trace-drm integration.
+
+ AFAICT nobody will miss it.
+
+commit 6d66f23c50ebe8f973757b6fd1b81c9b7920c447
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jul 2 13:30:20 2009 -0700
+
+ intel: Fix leak of DRI option info due to using the wrong free routine.
+
+commit ddef7dc87b2001fbe117ee5f24a0c645ee95a03c
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jul 2 13:19:11 2009 -0700
+
+ intel: Clean up leak of driver context structure on context destroy.
+
+commit cb4ef34214d61fb48bdff689a85ea107060e061b
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jul 1 17:08:16 2009 -0700
+
+ intel: Init num_fences to clean up valgrind warning.
+
+ Valgrind doesn't know that a successful getparam sets the target of the
+ pointer, so just set the value beforehand.
+
+commit 2a2236606fd6ae473a2f4db6ef6d3d5030261316
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jul 2 17:24:25 2009 +0100
+
+ mesa: Assume depth textures have a single level unless told otherwise.
+
+commit bb429803e08231f5ee5fab25383be62b1952bd45
+Author: Richard Li <RichardZ.Li@amd.com>
+Date: Thu Jul 2 12:08:57 2009 -0400
+
+ r6xx/r7xx: Better fix for fragment temps
+
+ This doesn't waste as many in generic cases.
+
+commit 588c8625714c744047dd1d710d87b1dfcec48db7
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Jul 2 14:43:16 2009 +0100
+
+ mesa: s/TRUE/GL_TRUE
+
+ Fix compile breakage on Linux.
+
+commit d1c8a0a30860ab6cd4a50582972fb185766595bd
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Thu Jul 2 15:05:51 2009 +0200
+
+ r300g: Readd trace driver support
+
+commit 59abfa8e42599a8c6c11db841ec527826cdcb717
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Thu Jul 2 15:05:17 2009 +0200
+
+ i915g: Readd trace driver support
+
+commit c0d7502a2cf994e635f1383f523653b92f4bd709
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Thu Jul 2 14:57:55 2009 +0200
+
+ trace: Add drm api integration
+
+ This is okay since drm_api.h doesn't have any external
+ dependancies, one could make it only compile on platforms
+ that support drm.
+
+commit 798cd2a98d66a1b841930e121676ae1a8f9fb244
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Jul 2 13:28:20 2009 +0100
+
+ glapi: ensure _mesa_lookup_prim_by_nr() is not clobbered on regeneration
+
+ Propogate changes to enums.c back up to the python source.
+
+commit 1668a679c4aadb37f5af0d6126c414fb9fbbf748
+Merge: b3e8e1c 1fa4cde
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Jul 2 13:29:46 2009 +0100
+
+ Merge commit 'origin/dlist-statechange-shortcircuit' into mesa_7_5_branch
+
+ Conflicts:
+ progs/trivial/Makefile
+
+ Pull in a minimal version of statechange shortcircuiting in display
+ list compilation. This affects only glMaterial and glShadeModel state,
+ and includes quite a few tests to exercise various tricky cases.
+
+ If this goes well, will consider extending to all state in the future.
+
+commit 54ee188a00e31d239cbd256e7ba5ffd2c1259650
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Jul 2 20:57:45 2009 +1000
+
+ radeon/r200/r300: drop radeon renderbuffer private width/height
+
+ half stealing the code without taking the intel regions
+
+commit 2ed3eddf9a828f2ff6c74b0913ca37fb60672950
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Jul 2 20:44:30 2009 +1000
+
+ radeon/r300: use base width/height.
+
+ I suspect this might break TFP in some way but it makes firecube run here
+
+commit b3e8e1cd4c1584f735e35914861ae2e8ae5b6b2b
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Jul 2 11:28:56 2009 +0100
+
+ mesa: ensure UsesFogFragCoord value is set for non-glsl shaders
+
+ With recent changes to support frontfacing in glsl, it is necessary
+ to ensure that the UsesFogFragCoord value is accurate in all shaders.
+ We were previously not setting it for fixed-function and ARB_fs shaders.
+
+commit c571395e5d768b46bef511d89af641d55cd2ad98
+Author: Cooper Yuan <cooperyuan@gmail.com>
+Date: Thu Jul 2 16:52:11 2009 +0800
+
+ R6xx/r7xx: Fix line width issue, ROUND_MODE and QUANT_MODE aren't bits of LINE_CNTL
+
+commit da88333671b35851bd713d0de464887e00d70593
+Author: Cooper Yuan <cooperyuan@gmail.com>
+Date: Thu Jul 2 16:49:19 2009 +0800
+
+ R6xx/r7xx: Correct the indeices of DRAW_INDEX_IMMD
+
+commit 73137997e23ff6c1145d036315d1a9ad96651281
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Thu Jul 2 16:32:19 2009 +0800
+
+ i965: fixes for JMPI
+
+ 1. the data type of <src1> (JMPI offset) must be D
+ 2. execution size must be 1
+ 3. NoMask
+ 4. instruction compression isn't allowed.
+
+commit 96ef7aae1d58db2cbc2e46347aa87c34126983ef
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Jul 1 23:25:47 2009 -0700
+
+ r300g: Fix recursive Draw flush.
+
+ Also just noticed that demos/copypix walks around the overlapping blit rules.
+
+ Bad, bad Mesa. :3
+
+commit 8799a9d24d3d409bb2b587f2c10f2ddae200c114
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Jul 1 23:09:18 2009 -0700
+
+ r300g: Use floats for surface_copy texcoords, use correct src and dest.
+
+ This makes demos/copypix better-looking. Horizontal dimensions are right now.
+
+commit 338db0af61910be9c9990ef1cda2166c3de17b78
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Jul 1 22:33:17 2009 -0700
+
+ radeon-gallium: Adapt to drm_api changes.
+
+ Note that trace debugging is temporarily gone. I'll rework it later.
+
+commit 8bda0f1f4feec3bc4625c505feed48c49afaf0b6
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Jul 1 14:41:57 2009 -0400
+
+ r6xx/r7xx: rework aos setup
+
+ In theory this should fix the stride = 0 case,
+ but I can't seem to reproduce that anymore
+ with mesa master.
+
+commit 65cdf9c561c518a7e2c6b6584382fb2fb902ea40
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Jul 1 11:10:10 2009 -0400
+
+ R6xx/R7xx: Fix number of temps used in fragment program
+
+ Spotted by Cooper. This gets hello, aargb, smooth, etc.
+ working.
+
+commit 5e6b593d35156a0068dc0eb3e55dec086f1cadd3
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jun 30 22:57:56 2009 -0700
+
+ intel: Avoid pointer arithmetic on void *.
+
+ Bug #22000.
+
+commit c3499f6c66bf93d7752ea70a13bbbab3d2b2c288
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jun 30 14:26:06 2009 -0700
+
+ i965: Increase G4X default VS URB allocation to actually allow 32 threads.
+
+ This improves the performance of my GLSL demo by 30%. It also fixes the
+ VS deadlock that ut2004 had, for reasons I can't explain. Bug #21330.
+
+commit f359165a8295a2f3bff7c80a8e45d91ca98392a9
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Tue Jun 30 17:29:14 2009 -0700
+
+ demos: Set the depth mask correctly to get the desired blending
+
+commit 18a1c36c2d32f8c571f98d7e6857a44bb2dc8942
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Wed Jul 1 09:15:51 2009 +1000
+
+ nouveau: return some supported zeta formats
+
+commit 55e5ac17c15d9243c34633f3f4d4850394a8163d
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Wed Jul 1 08:56:46 2009 +1000
+
+ nouveau: deal with PIPE_CAP_TGSI_CONT_SUPPORTED
+
+commit 55fc63cd7d2b1358dad151f228ca4eed9e1624e8
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Wed Jul 1 08:50:24 2009 +1000
+
+ nouveau: fix build...
+
+commit 64849d1236e33b3325e00167c97119af52990ad8
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Jul 1 01:16:56 2009 +0200
+
+ drm/st: Remove drm_api struct from drivers
+
+ Remove the drm_api from the functions in the softpipe and
+ i915simple drivers. Create wrapper functions in the
+ backends instead.
+
+commit 119eb4094256742013224afb7c5704b6254b6296
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 30 17:12:34 2009 -0600
+
+ i965: first attempt at handling URB overflow when there's too many vs outputs
+
+ If we can't fit all the VS outputs into the MRF, we need to overflow into
+ temporary GRF registers, then use some MOVs and a second brw_urb_WRITE()
+ instruction to place the overflow vertex results into the URB.
+
+ This is hit when a vertex/fragment shader pair has a large number of varying
+ variables (12 or more).
+
+ There's still something broken here, but it seems close...
+
+commit 1b6ae2e004b7a7a76508e0da3c45eb0d851ed10c
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 30 17:08:40 2009 -0600
+
+ i965: use BRW_MAX_MRF
+
+commit 76a5a5dace715aa629ee98a37acb3075a7de153c
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 30 16:36:11 2009 -0600
+
+ i965: use BRW_MAX_GRF, BRW_MAX_MRF
+
+commit 0fe19bc91d89dd83b9a7bab28a6009a30e1bc856
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 30 16:35:23 2009 -0600
+
+ i965: move BRW_MAX_GRF, define BRW_MAX_MRF
+
+commit 0b7b8c8ddfb17f40a69ca716d05ff90f9178f10a
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 30 16:33:09 2009 -0600
+
+ i965: defined BRW_MAX_MRF
+
+commit 6eb2ca500db940263bfcb9b3ca83f2b5c5431513
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 30 15:36:42 2009 -0600
+
+ i965: comments and a new assertion
+
+commit d10006e67fb070f846213ef38e07df21699df5a1
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue Jun 30 18:40:48 2009 -0400
+
+ R6xx/r7xx: fix locking for clear
+
+ this allows redbook hello to render correctly mostly.
+
+commit 1fa4cde757cc94c0afa40d855309911247974e98
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Jun 30 19:52:44 2009 +0100
+
+ mesa/vbo: fix compile and replay of nodes ending in a FALLBACK
+
+ Where vbo save nodes are terminated with a call to DO_FALLBACK(), as in
+ the case of a recursive CallList which is itself within a Begin/End pair,
+ there two problems:
+ 1) The display list node's primitive information was incorrect, stating
+ the cut-off prim had zero vertices
+ 2) On replay, we would get confused by a primitive that started in a
+ node, but was terminated by individual opcodes.
+
+ This change fixes the first problem by correctly terminating the last
+ primitive on fallback, and the second by forcing the display list to
+ use the Loopback path, converting all nodes into immediate-mode rendering.
+
+ The loopback fix is a performance hit, but avoiding this would require
+ a fairly large rework of this code.
+
+commit 57a06d3a48c9af1067ec05e3ad96c58f4b9b99be
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Jun 29 18:48:27 2009 -0700
+
+ i915: Fix assertion failure on remapping a non-BO-backed VBO.
+
+ Failure to set the obj->Pointer back to null tripped up the assertion.
+ Bug #22428.
+
+commit 70ae7ba818e9d8a5485653b258e76f06c988654c
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Jun 30 18:40:20 2009 +0100
+
+ mesa/dlist: fixes and improvements for material caching
+
+ Only short-circuit material call if *all* statechanges from this call
+ are cached. Some material calls (eg with FRONT_AND_BACK) change more
+ than one piece of state -- need to check all of them before returning.
+
+ Also, Material calls are legal inside begin/end pairs, so don't need
+ to be as careful about begin/end state as with regular statechanges
+ (like ShadeModel) when caching. Take advantage of this and do better
+ caching.
+
+commit c48c01c9e7d6d0a43883b7b3333ad42208ea9d44
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Jun 30 18:35:17 2009 +0100
+
+ progs/trivial: add dlist-mat-tri.c
+
+commit 1ca836f0de7ac23a3d66e109eeda3c2e29b9b17c
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Jun 30 18:17:39 2009 +0100
+
+ progs/trivial: add test case for short-circuiting material changes
+
+ Similar to dlist-tri-flat-tri, but using glMaterial calls, which
+ have the extra property of being legal within Begin/End calls.
+
+commit d6c2347d79c50ac18eab96378d79d989f3ffd0b7
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Jun 30 17:10:56 2009 +0100
+
+ mesa/dlist: don't cache state which may not be replayed on CallList
+
+ Statechanges which occur before the first End in a display list may
+ not be replayed when the list is called, in particular if it is called
+ from within a begin/end pair.
+
+ Recognize vulnerable statechanges and do not use them to fill in the
+ state cache.
+
+commit 09a3a28fc8f1ed931304bf27a56fe72768d7861e
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Jun 30 17:06:50 2009 +0100
+
+ progs/trivial: add dlist-flat-tri.c
+
+ State-change functions which precede the first call to glEnd() in
+ a compiled list are vulnerable to not being executed when that list
+ is called.
+
+ In particular this can happen if a list is invoked from within a
+ begin/end pair, as in this example.
+
+commit 7e91d035b9ef65adda39c8b164afa363477d7893
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Jun 30 17:04:11 2009 +0100
+
+ mesa/dlist: invalidate cached dlist compile state after CallList
+
+ When compiling a display list containing a CallList, it is necessary to
+ invalidate any assumption about the GL state after the recursive call
+ completes.
+
+commit 2e570be85211f603b820dd2c5e9aa2f29a51fc66
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Jun 30 17:02:16 2009 +0100
+
+ progs/trivial: add dlist-recursive-call
+
+ When one display list calls another display list, it is possible
+ that the calling display list makes state-changes or other actions which
+ invalidate any attempt at caching or state-change elimination in the
+ calling list.
+
+ This test exercises one such case, where the called list consists of just
+ a single glShadeModel() call.
+
+commit 1730eaa2a2454018b4907df2f2bda3c4455137ca
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Jun 30 16:57:21 2009 +0100
+
+ dlist-tri-flat-tri: make tri render differently if flatshade not enabled
+
+ When testing flat-shading, it helps to specify per-vertex colors so
+ that you can distinguish between flat & smooth shading.
+
+commit 4147bb24d49a10498e00039fc1dc9aa5f1316777
+Merge: 53f8dcc 6af783b
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Jun 30 16:28:37 2009 +0100
+
+ Merge branch 'mesa_7_5_branch' into dlist-statechange-shortcircuit
+
+ Need this to pick up fixes for per-vertex materials.
+
+commit 6af783bea0e171582f86c8456ca521ac242abc39
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Jun 30 16:19:23 2009 +0100
+
+ progs/trivial: add test case for lighting plus per-vertex materials
+
+ Exercise material-within-begin/end case.
+
+commit a9ae89d104161c1052beda7e3dcb21b8b7af5ba3
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Sun May 31 19:07:21 2009 -0700
+
+ progs/isosurf: add materials mode for glVertex + TRISTRIP
+
+commit 6dfb89e4a09a269cbd5c4dc725881fbd42eaa18a
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Sun May 31 19:04:06 2009 -0700
+
+ mesa: remove whitespace
+
+commit cea259f0392766e8a2e4749c6d5277d866abbc3b
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Sun May 31 19:03:46 2009 -0700
+
+ mesa: remove dead constant pointsize code from ffvertex_prog.c
+
+commit 79047cc1ddf0332e5b64c9f05a19885cc36c76ae
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Sun May 31 19:03:02 2009 -0700
+
+ mesa: remove dead vertex fog code from ffvertex_prog.c
+
+commit f6c8ca06f649ae1367f61eca6fb7635862bd5584
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Sun May 31 19:01:55 2009 -0700
+
+ mesa: fix material inputs in ffvertex_prog.c
+
+ Varying material inputs were not being picked up from the same slots
+ where the VBO code is currently placing them (GENERIC0 and above).
+ Most often they were just being ignored.
+
+commit b40dc7e7fcafc30ebaa3778ee847c8983987de83
+Merge: b750b9f 4c31632
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 30 08:56:53 2009 -0600
+
+ Merge branch 'mesa_7_5_branch'
+
+ Conflicts:
+
+ src/mesa/vbo/vbo_exec_draw.c
+
+commit b750b9fc3d12e4c23ef74181a6252e0e054a3985
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 30 08:51:32 2009 -0600
+
+ gallium: remove the pipe_sampler_state::shadow_ambient field
+
+ This was only present for the sake of GL_ARB_shadow_ambient which we
+ never implemented in Gallium. If we someday want GL_ARB_shadow_ambient
+ we can implement it in the state tracker by adding a MAD after the
+ relevant TEX instructions.
+
+commit 4c31632817a0bde28ad6c9ee8032d838ce4b7bfb
+Author: Arthur HUILLET <arthur.huillet@free.fr>
+Date: Tue Jun 30 12:46:27 2009 +0200
+
+ mesa: fix transform_points_3d_no_rot using undefined values in %xmm0
+
+ Signed-off-by: Arthur HUILLET <arthur.huillet@free.fr>
+
+commit fa5b0364f90be19bb0e1915f1eea691d06fb8929
+Author: Kristof Ralovich <kristof.ralovich@gmail.com>
+Date: Tue Jun 30 08:31:18 2009 -0600
+
+ glx: plug a leak
+
+ Swrast was missing a free for the culmination of driConcatConfigs.
+
+ Use free(), not _mesa_free() since we shouldn't be calling any Mesa
+ functions from the GLX code. driConcatConfigs() should probably use
+ regular malloc/free to be consistant but the Mesa functions just wrap
+ the libc functions anyway.
+
+commit 52f895df518608321873f53d6f8549bdbaf0059a
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 30 08:27:28 2009 -0600
+
+ glx: fix null pointer dereference segfault (bug 22546)
+
+commit 14a2b5445a653e9a8258873300df8f04ac099e60
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Jun 29 16:07:14 2009 +0100
+
+ progs/util: make sure function pointers are initialized
+
+ Call Init() from CompileShaderFile, was previously only called for the
+ Text version of this function.
+
+commit 6e09c1fd085361212c5bfccf6b2810f3f8052231
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Jun 30 15:09:34 2009 +0100
+
+ mesa: Set FLUSH_EXPLICIT_BIT flags when calling FlushMappedBufferRange.
+
+ As prescribed by ARB_map_buffer_range.
+
+commit 18a6f0f1a7fd509cebdc364d67b9476df1d33917
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Jun 30 15:07:54 2009 +0100
+
+ util: Set PIPE_BUFFER_USAGE_FLUSH_EXPLICIT when calling buffer_flush_mapped_range.
+
+commit 4ffe2844a46bcd69c0f2c95f04da97e83899e831
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Jun 30 15:07:10 2009 +0100
+
+ gallium: New PIPE_BUFFER_USAGE_FLUSH_EXPLICIT flag for buffer_flush_mapped_range.
+
+ When a buffer was mapped for write and no explicit flush range was provided
+ the existing semantics were that the whole buffer would be flushed, mostly
+ for backwards compatability with non map-buffer-range aware code.
+
+ However if the buffer was mapped/unmapped with nothing really written --
+ something that often happens with the vbo -- we were unnecessarily assuming
+ that the whole buffer was written.
+
+ The new PIPE_BUFFER_USAGE_FLUSH_EXPLICIT flag (based from ARB_map_buffer_range
+ 's GL_MAP_FLUSH_EXPLICIT_BIT flag) allows to clearly distinguish the
+ legacy usage from the nothing written usage.
+
+commit 578230dbbffbf5317d6002d1023dcd62b57186f5
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Jun 30 13:59:45 2009 +0200
+
+ st/gl: Add stubs for CompressedTexSubImage[1D|3D]
+
+commit a4fd94a54a75a3418462c30f1240ab50b5f24090
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Jun 30 07:33:54 2009 +0200
+
+ st/gl: Add support for glCompressedTexSubImage
+
+commit ba7f45ac0ca3debb2a250d5e945a2d70b2b72d08
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Jun 30 13:34:55 2009 +0200
+
+ progs/tests: Add tests for glCompressedTexSubImage
+
+commit f2de2d5f376a868f68a053257f7d6dfcdee6c8ae
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Jul 1 19:09:44 2009 +0100
+
+ util: Increase OutputDebugStringA to 4k.
+
+ According to http://unixwiz.net/techtips/outputdebugstring.html that's
+ how big the buffer is.
+
+ The 512bytes limitation is in kernel mode.
+
+commit e2a8ef4430e153589a9d1a284c8f2005a4a98410
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Jul 1 19:06:54 2009 +0100
+
+ mesa: Unbind depth/stencil surface from pipe_framebuffer when none is attached.
+
+commit 6c913411d39fd68eee1c1eeee7b6e81db9785fd1
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Jul 1 17:34:38 2009 +0100
+
+ st/wgl: dummy implementation of wgl swapinterval extension
+
+ Required as some applications
+ retrieve and call these functions regardless of the fact that we
+ don't advertise the extension and further more the results of
+ wglGetProcAddress are NULL.
+
+commit 1c04731b8721850b6abb12a43a3eec616b850e86
+Author: Zack Rusin <zack@kde.org>
+Date: Wed Jul 1 10:42:58 2009 -0400
+
+ gallium: fix the front face semantics
+
+ mesa allocates both frontface and pointcoord registers within the fog
+ coordinate register, by using swizzling. to make it cleaner and easier
+ for drivers we want each of them in its own register. so when doing
+ compilation from the mesa IR to tgsi allocate new registers for both
+ and add new semantics to the respective declarations.
+
+commit e8c4663c11cfbb80ed23b1581cf1f3ccaef28bce
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Jul 1 10:03:59 2009 +0100
+
+ wgl: Optimize wglGetProcAddress.
+
+ Do linear search only if prefix matches.
+
+commit c72261f2a886e1f53025c2cf4b38b33ccfd62857
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Jun 29 18:48:27 2009 -0700
+
+ i915: Fix assertion failure on remapping a non-BO-backed VBO.
+
+ Failure to set the obj->Pointer back to null tripped up the assertion.
+ Bug #22428.
+ (cherry picked from commit 57a06d3a48c9af1067ec05e3ad96c58f4b9b99be)
+
+commit 57955451f80c64f70e369508705ae95a515d18d8
+Author: Jon TURNEY <jon.turney@dronecode.org.uk>
+Date: Sun Jun 21 11:58:25 2009 +0100
+
+ xdemos: Fix xdemos which default to using display :0.0 to default to $DISPLAY
+
+ Fix xdemos which default to using display :0.0 to default to $DISPLAY,
+ this is kind of irritating when testing on a display other than :0.0
+
+ Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
+
+commit e5cb11addad31f698dc8261e7f96d5e3af4a85d6
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Jun 30 19:52:44 2009 +0100
+
+ mesa/vbo: fix compile and replay of nodes ending in a FALLBACK
+
+ Where vbo save nodes are terminated with a call to DO_FALLBACK(), as in
+ the case of a recursive CallList which is itself within a Begin/End pair,
+ there two problems:
+ 1) The display list node's primitive information was incorrect, stating
+ the cut-off prim had zero vertices
+ 2) On replay, we would get confused by a primitive that started in a
+ node, but was terminated by individual opcodes.
+
+ This change fixes the first problem by correctly terminating the last
+ primitive on fallback, and the second by forcing the display list to
+ use the Loopback path, converting all nodes into immediate-mode rendering.
+
+ The loopback fix is a performance hit, but avoiding this would require
+ a fairly large rework of this code.
+
+commit 53f8dccd0c9ab0b55e24dd5d624bbaaf0c8c284b
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Jun 30 12:20:24 2009 +0100
+
+ progs/trivial: test case for dlist statechange elimination
+
+ Creates a display list with redundant call to glShadeModel.
+
+ View dlist contents with MESA_VERBOSE=list
+
+commit 00438bb94a9ee03f8a4d5472d7ae598fcbdb1572
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Jun 30 12:19:11 2009 +0100
+
+ mesa/dlist: restore missing SAVE_FLUSH_VERTICES in save_ShadeModel
+
+ Reorganization of ShadeModel to avoid flushing vertices too often
+ ended up never flushing vertices due to omitted line of code.
+
+commit 0846c88ec3a63ac5e4096aedcdc107cbe71f306b
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Jun 30 12:16:41 2009 +0100
+
+ mesa/vbo: use _lookup_prim_by_nr for debugging
+
+ Switch over to specialized enum lookup for primitives
+
+commit aa688d1579776494640475f4a5b93f3d7fae4fcd
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Jun 30 12:13:50 2009 +0100
+
+ mesa: add debug printer for primitive name
+
+ Add a simple version of _mesa_lookup_enum_by_nr() which expects a primitive
+ enum (GL_POINTS..GL_POLYGON). This avoids some annoying duplicates
+ when looking up primitives, such as the GL_FALSE/GL_POINTS clash.
+
+commit 8d24160a404b946e5eb21329117c7f128d93a4e2
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 29 10:32:04 2009 -0600
+
+ progs/glsl: link with GLEW library
+ (cherry picked from commit b1f2f92d9b2d190d39fb1b5c919c59c9539a025a)
+
+commit f7cbaae13d67c55abe81ac230de37f564365099f
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Jun 30 11:57:29 2009 +0200
+
+ identity: Create a drm_api wrapper
+
+commit 303cbb45b558a2b94e6922252cf57d115ba60b82
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Jun 30 11:49:43 2009 +0200
+
+ drm/st: Return drm_api struct from a function
+
+commit 47173cf67f0ed55012b0820397f6d620d8ad4473
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Jun 30 09:55:33 2009 +0100
+
+ mesa/dlist: shortcircuit some redundant statechanges at compile time
+
+ Currently, state-changes in mesa display lists are more or less
+ a verbatim recording of the GL calls made during compilation.
+
+ This change introduces a minor optimization to recognize and eliminate
+ cases where the application emits redundant state changes, eg:
+
+ glShadeModel( GL_FLAT );
+ glBegin( prim )
+ ...
+ glEnd()
+ glShadeModel( GL_FLAT );
+ glBegin( prim )
+ ...
+ glEnd()
+
+ The big win is when we can eliminate all the statechanges between two
+ primitive blocks and combine them into a single VBO node.
+
+ This commit implements state-change elimination for Material and ShadeModel
+ only. This is enough to make a start on debugging, etc.
+
+commit efe9faf0612778db2423a4f8835b318b95d9efd7
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 29 16:45:02 2009 -0600
+
+ softpipe: use shadow_compare4() to compare texcoord to four texture samples
+
+commit 005ee9f4e05b487d455e87c6843d1d1a3c1536ff
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 29 15:47:11 2009 -0600
+
+ softpipe: pass sampler state to shadow_compare()
+
+commit 0eb1b3fac1e9ef738d121364968ab09540c360f7
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sat Jun 27 11:43:01 2009 -0400
+
+ nouveau: Expect right params to tex_transfer_destroy().
+
+ Never crashed on x86, ptx is in the same stack slot in either case.
+ Thanks to Bob Gleitsmann for catching this.
+
+commit 78aaf2a4f16bafd8f3880e63982dea7219125ff0
+Author: Younes Manton <younes.m@gmail.com>
+Date: Wed Jun 24 19:38:52 2009 -0400
+
+ nouveau: Turn off debug cannon.
+
+commit 1f070125e365dadf97797785fdeef1ccb1431f21
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Jun 29 15:13:25 2009 -0700
+
+ intel: Enable EXT_gpu_program_parameters.
+
+ There doesn't appear to be any driver impact for enabling this, and
+ tests/prog_parameter passes.
+
+commit b8c479d4b0519bde0e395ea669b017b6a6188146
+Merge: 423f45d 4e43126
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 29 15:27:49 2009 -0600
+
+ Merge branch 'mesa_7_5_branch'
+
+commit 423f45d18a665423e319dcea08c11ff9f5646a80
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 29 15:24:42 2009 -0600
+
+ gallium/draw: sketch out some missing pointcoord code
+
+ The gl_PointCoord attribute is currently expected to be in the fog coord
+ register's z/w components. This was never totally fleshed out though.
+ This is just some placeholder code.
+
+commit 5c06c52116890342c3988325760a73fd84e2be30
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 29 15:13:02 2009 -0600
+
+ st/mesa: enable GL_ARB_framebuffer_object
+
+ All gallium drivers should be able to support mixed-size color/depth/stencil
+ buffers. If not, we'll need a new PIPE_CAP_ query.
+
+commit f44638fa613b48e8d6551ebcb127336b932ba6c8
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 29 15:12:36 2009 -0600
+
+ mesa: check for ARB_framebuffer_object for GL_TEXTURE_STENCIL_SIZE_EXT query
+
+commit cb0ea416bda30a7f7bced78e1edde806fbcb7577
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 29 14:58:25 2009 -0600
+
+ mesa: alphabetize lines
+
+commit 4e43126a5915b1233c89c61400c8270d23d48ea3
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 29 15:26:26 2009 -0600
+
+ intel: added null ptr check
+
+ This fixes a segfault seen with piglit's fdo20701 test.
+
+commit a96f86831e666dd3942828abd156805c242e44f6
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Jun 29 11:37:21 2009 -0700
+
+ Revert "intel: Remove unneded pthread mutex in LOCK_HARDWARE."
+
+ This reverts commit de447afff26706e3bf8bdcd5cfb8b1daf49b4b21 but
+ puts the lock under DRI1-only.
+
+ From keithw:
+ > It's there because the DRI1 code doesn't actually achieve the mutexing
+ > which it looks as if it should. For multi-threaded applications it was
+ > always possible to get two threads inside locked regions -- I have no
+ > idea how, but it certainly was and presumably still is possible.
+
+commit 94008088c1e6758a44a2f48c5a94db1f072d255a
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Jun 29 09:55:17 2009 -0700
+
+ intel: Move note_unlock() implementation to the one place it's needed.
+
+commit de447afff26706e3bf8bdcd5cfb8b1daf49b4b21
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Jun 29 09:48:28 2009 -0700
+
+ intel: Remove unneded pthread mutex in LOCK_HARDWARE.
+
+ This would cause LOCK_HARDWARE to mutex all contexts in this process on
+ both DRI1 and DRI2. On DRI1, LOCK_HARDWARE already does it for all
+ processes on the system. On DRI2, LOCK_HARDWARE doesn't, but there shouldn't
+ be any state outside the context that needs any additional protection.
+ Notably, the bufmgr is protected by its own mutex and not
+ LOCK_HARDWARE.
+
+ This code was originally introduced with the i915tex code dump, so it's not
+ clear what it was there for.
+
+commit 3927874d9c7fafb61651d0fc69547c8e010181f5
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Jun 29 09:45:06 2009 -0700
+
+ intel: Make LOCK_HARDWARE recursive to avoid hand-rolling recursiveness.
+
+commit 7b5373c4345687b3af89f97a4c3998b8ca5debd5
+Merge: 2fe65e8 b1f2f92
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 29 11:20:07 2009 -0600
+
+ Merge branch 'mesa_7_5_branch'
+
+commit b1f2f92d9b2d190d39fb1b5c919c59c9539a025a
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 29 10:32:04 2009 -0600
+
+ progs/glsl: link with GLEW library
+
+commit 9014f475ff6720b694ba28906ebfe7e77795b173
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Jun 29 16:07:14 2009 +0100
+
+ progs/util: make sure function pointers are initialized
+
+ Call Init() from CompileShaderFile, was previously only called for the
+ Text version of this function.
+
+commit b799af91d5ffbee1481161fec29eb4c92b161272
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Jun 29 14:13:58 2009 +0100
+
+ progs/glsl: compile with scons and glew
+
+ Get most of these working with scons.
+
+commit 9a5ee124347d3f75be2e957142143338dd96abe3
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Jun 29 12:56:47 2009 +0100
+
+ scons: Don't raise an exception when DXSDK is not found.
+
+ Unfortunately scons does not check if a tool exists before it invokes
+ its generate function.
+
+commit bb8f3090ba37aa3f24943fdb43c4120776289658
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Jun 28 11:12:22 2009 +0100
+
+ scons: Disable optimizations only for gcc-4.2
+
+ gcc-4.2's optimizer has a strange bug where it looses code from inner
+ loops in certain situations. For example, if the appearently innocent
+ looking code below is compiled with gcc-4.2 -S -O1, the inner loop's
+ code is missing from the outputed assembly.
+
+ struct Size {
+ unsigned width;
+ };
+
+ struct Command {
+ unsigned length;
+ struct Size sizes[32];
+ };
+
+ extern void emit_command(void *command, unsigned length);
+
+ void
+ create_surface( struct Size size, unsigned faces, unsigned levels)
+ {
+ struct Command cmd;
+ unsigned face;
+ unsigned level;
+
+ cmd.length = faces*levels*sizeof(cmd.sizes[0]);
+
+ for(face = 0; face < faces; ++face) {
+ for(level = 0; level < levels; ++level) {
+ cmd.sizes[face*levels + level] = size;
+ // This should generate a shrl statement, but the whole for body
+ // disappears in gcc-4.2 -O1/-O2/-O3!
+ size.width >>= 1;
+ }
+ }
+
+ emit(&cmd, sizeof cmd.length + cmd.length);
+ }
+
+ Note that this is not specific to MinGW's gcc-4.2 crosscompiler (the
+ version typically found in debian/ubuntu's mingw32 packages). gcc-4.2 on
+ Linux also displays the same error. gcc-4.3 and above gets this
+ correctly though.
+
+ Updated MinGW debian packages with gcc-4.3 are available from
+ http://people.freedesktop.org/~jrfonseca/debian/pool/main/m/
+
+commit 72ad039d19e033baff774b184ece9ffbfef4a2ff
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Jun 28 10:54:23 2009 +0100
+
+ scons: Use -Bsymbolic linker option.
+
+ This prevents the error
+
+ relocation R_X86_64_PC32 against symbol `_gl_DispatchTSD' can not be used when making a shared object; recompile with -fPIC
+
+ when building on x86_64 architecture.
+
+commit 418987ff05f892d3c33ed4ddbe856c496b05ea14
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jun 26 16:54:44 2009 -0600
+
+ docs: detect when too many varying vars are used
+
+commit 21320b24c5350943da9ed4cb0f1e8b05a09d4ef2
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jun 26 16:53:46 2009 -0600
+
+ glsl: check number of varying variables against the limit
+
+ Link fails if too many varying vars.
+
+ (cherry picked from master, commit cc58fbcf2c5c88f406818db60910f537e03610d6)
+
+commit 4181a107cba1dfcb362084fc98be0c5e7e2aedde
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jun 26 16:47:57 2009 -0600
+
+ docs: fix typos, remove old text from relnotes file
+
+commit 2a41df86a3580f4d3e8379955492b886056c8b36
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jun 26 16:46:21 2009 -0600
+
+ docs: bring over news updates from 7.4 branch
+
+commit 318122b60a2af704086f719d1d9d36bede6f4e69
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jun 26 16:45:54 2009 -0600
+
+ docs: bring in 7.4.3 and 7.4.4 release notes, news
+
+commit dd585db687f700de465fe78f9937eb785805e756
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jun 26 16:41:54 2009 -0600
+
+ docs: increase max varying vars to 16
+
+commit f08bebfe246d786c39731871d8c4aa00a10b29ab
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jun 26 16:33:46 2009 -0600
+
+ mesa: raise MAX_VARYING (number of shader varying vars) to 16
+
+ 16 is the limit for now because of various 32-bit bitfields.
+
+ (cherry picked from master, commit 4e762395ef7e8c332c16fd0c11025cfa52763a45)
+
+commit 2d86503471cb8691ce266342810237fc1b15a7b2
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Fri Jun 26 13:30:16 2009 -0700
+
+ intel / DRI2: Additional flush of fake front-buffer to real front-buffer
+
+ To maintain correctness, the server will copy the real front-buffer to
+ a newly allocated fake front-buffer in DRI2GetBuffersWithFormat.
+ However, if the DRI2GetBuffersWithFormat is triggered by glViewport,
+ this will copy stale data into the new buffer. Fix this by flushing
+ the current fake front-buffer to the real front-buffer in
+ intel_viewport.
+
+ Fixes bug #22288.
+
+commit 077a06c140001849dafbedc4175f9aa703bbba69
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jun 26 13:16:08 2009 -0600
+
+ mesa: bump version to 7.5-rc4
+
+commit 62ad606065312cecb1e2dcad0ad2cadf402f0b5c
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jun 26 13:15:17 2009 -0600
+
+ docs: document for/continue bug fix
+
+commit 928e1ce47ffa54dd73b141eb2e4c272378cdda7f
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jun 26 12:51:05 2009 -0600
+
+ cell: PIPE_CAP_TGSI_CONT_SUPPORTED query
+
+commit af7fb892d8f1eff1f0e787bf8c7d65165e3aa51e
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jun 26 12:50:58 2009 -0600
+
+ softpipe: PIPE_CAP_TGSI_CONT_SUPPORTED query
+
+commit f5dc352e5fbf9cd84638922e8dfdc4b5fb49538c
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jun 26 12:50:45 2009 -0600
+
+ gallium: added PIPE_CAP_TGSI_CONT_SUPPORTED
+
+commit e80ecdf6596eb1f570ab6ae3dbcbd30660cd5b3a
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jun 26 12:34:03 2009 -0600
+
+ glsl: move/simplify error checking for 'return' statements
+
+commit 8e6dd8bf7991d8fc4938af692e5ce880ef139b4d
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jun 26 11:33:05 2009 -0600
+
+ glsl: overhaul 'return' statement handling
+
+ A new node type (SLANG_OPER_RETURN_INLINED) is used to denote 'return'
+ statements inside inlined functions which need special handling.
+
+ All glean glsl1 tests pass for EmitContReturn=FALSE and TRUE.
+
+commit aa48becb829932f410ef93cf1bbf02e0386ea646
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jun 25 14:01:43 2009 -0600
+
+ glsl: predicate assignments according to __returnFlag
+
+ Fixes glean "function with early return (3)" case (when EmitContReturn=FALSE).
+
+commit 16787c513b677d850ecce9697d81814a2a48fc7f
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jun 25 14:02:41 2009 -0600
+
+ glsl: added slang_variable::is_global field
+
+commit ac05996b812657bdc04e0ec0d09bd638826f52d6
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jun 25 11:52:37 2009 -0600
+
+ glsl: silence a problem warning
+
+commit 0efd25b502cfd84e401bd29c58baf00ea2f41e96
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jun 25 11:32:37 2009 -0600
+
+ glsl: code refactoring for return statements
+
+commit 2ae297c318faf29219ae00778d6bd115735a2f27
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jun 25 11:12:26 2009 -0600
+
+ glsl: fix assorted regressions related to early-return-removal
+
+commit ddf64be2587024e5cc36cf623c544f7ef926755a
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jun 25 10:20:21 2009 -0600
+
+ glsl: comments, field reordering
+
+commit f652f15e6dad86bfc7a027978a9b67d00202259c
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jun 25 09:50:37 2009 -0600
+
+ glsl: rework loop nesting code
+
+commit dd453fa37c243a98ca2e2c76d3b396e2d294350e
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jun 25 09:30:53 2009 -0600
+
+ glsl: remove test for loop unrolling when we hit conditional cont/break
+
+ This is no longer needed since we added the new
+ _slang_loop_contains_continue_or_break() function/test.
+
+commit 2f1c5c58b33dc616a3744cd40fcae20971309b3c
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 24 17:02:34 2009 -0600
+
+ glsl: checkpoint: predicate __retVal = expr with __returnFlag
+
+ The glean "function with early return (1)" test passes now.
+
+commit 65eaafee250bdcc8e82104e45dcc152735cf8b85
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 24 16:37:01 2009 -0600
+
+ glsl: use new helper functions in _slang_gen_logical_and/or()
+
+commit e139434d4477c2c8fb5f59ebf3b3b9a97238684c
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 24 16:36:24 2009 -0600
+
+ glsl: add comments
+
+commit b04605d544c0d423aa8482e3c29c9daded60b266
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 24 16:28:32 2009 -0600
+
+ glsl: checkpoint: replace 'return' with __returnFlag=true;
+
+ Needed for "remove early returns" transformation.
+
+commit 515513b40925ebd94502cf0511a414d8d4f52078
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 24 16:25:00 2009 -0600
+
+ glsl: fix up scoping for parent/children in slang_operation_copy()
+
+ This will need more testing, but no regressions seen so far.
+
+commit 09313043e7d5b91465846c9064b95871f9f03cc3
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 24 16:12:20 2009 -0600
+
+ glsl: fix uninitialized var in _slang_gen_for_without_continue()
+
+commit 5951ab311db1e716cada3ada87187e50d4434ee4
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 24 16:04:33 2009 -0600
+
+ glsl: added slang_operation_free_children()
+
+commit e5b53c071bf664931f7553e2a9f5ccd96b2c09cb
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 24 13:16:49 2009 -0600
+
+ glsl: added slang_oper_num_children() helper
+
+commit 3c6480ea42298ae46413ebfacca13100cfefaed2
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 24 08:40:56 2009 -0600
+
+ glsl: check-point: declare _returnFlag
+
+commit fc0896b50b8458a503eac8945dbb1f3e29b08990
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 23 17:07:12 2009 -0600
+
+ glsl: added slang_operation_insert_child()
+
+commit f4b1a69b7d53d88e12d9baac419b48bbf8e32989
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 23 16:55:10 2009 -0600
+
+ glsl: use slang_generate_declaration() to consolidate some code
+
+commit 454a717d94f51504664b6b2e6463dd14ef2c4f7c
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 23 16:17:06 2009 -0600
+
+ glsl: remove obsolete comment
+
+commit 02edc8da36d6e01635bcfbb5073f0f718de96c37
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 23 14:28:43 2009 -0600
+
+ st/mesa: query PIPE_CAP_TGSI_CONT_SUPPORTED
+
+commit 08025cd4a551569c821ccb94904b9ccbbd94b632
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 23 14:05:11 2009 -0600
+
+ glsl: implement _slang_gen_while_without_continue()
+
+commit 2102e301a7f218c26878deaed2d94c15cd53f292
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 23 13:33:28 2009 -0600
+
+ glsl: fix a bug involving 'continue' in 'for' loops
+
+ Need to execute the for loop's increment code before we continue.
+ Add a slang_assemble_ctx::CurLoopOper field to keep track of the containing
+ loop and avoid the "cont if true" path in this situation.
+
+ Plus, assorted clean-ups.
+
+commit 541594b04432710b5dba74277443420c9aa97e04
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 23 12:46:11 2009 -0600
+
+ glsl: added slang_oper_child_const()
+
+commit 38ddbc5588a9922854e9191cda42d37cb01e70aa
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 23 10:57:59 2009 -0600
+
+ glsl: use _slang_loop_contains_continue_or_break() to check for unrolling
+
+ The previous test failed for nested loops.
+
+commit 4dafac2b2f850caba8e1a5982aca60a7d509fde6
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jun 18 17:25:47 2009 -0600
+
+ glsl: use new _slang_loop_contains_continue() helper function
+
+commit aba93643be09589318cfde33556d872b1cd9ea75
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jun 18 17:08:10 2009 -0600
+
+ glsl: implement continue->break translation for do-while loops
+
+commit 7e0eaca201c0a5678752e9d3de6f699ff8281f75
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jun 18 16:57:53 2009 -0600
+
+ glsl: added slang_operation_literal_int/bool() helper functions
+
+commit c1f74a6734494d0531eb7dc844bb83e7d9c9f1fa
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jun 18 16:57:23 2009 -0600
+
+ glsl: don't allocate 0-length children array in slang_operation_copy()
+
+commit f38872473cc035487dbe265a520cb4c6eb3cc81c
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jun 18 14:24:30 2009 -0600
+
+ glsl: remove debug code, misc clean-up
+
+commit f66733bbeeeed767b86a14caec61a87f14d8135a
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jun 18 14:14:53 2009 -0600
+
+ glsl: implement continue->break transformation for for-loops
+
+commit c4fd947beedbd1e2f8fdaf4ead3b2a8249bd239e
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jun 18 14:11:59 2009 -0600
+
+ glsl: added slang_operation_add_children() and slang_oper_child() helpers
+
+commit c20bb48d3a897fd616bf4c7d4eb67ea34475985d
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jun 18 14:11:38 2009 -0600
+
+ glsl: added slang_assemble_ctx::EmitContReturn field, init
+
+commit eb1eee03a6796e0d7651ca77fea0ea705b41d70a
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jun 18 12:43:43 2009 -0600
+
+ demos: improve argv parsing in fslight.c
+
+commit 4bc74a07561eeaa97dbde55c384998ea6aa5968c
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 17 13:51:35 2009 -0600
+
+ glsl: don't unroll loops containing continue/break
+
+ Just search the AST in _slang_can_unroll_for_loop().
+
+commit 625b0fe2684de462d1e7ea7fc8fcdfc8e3283949
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 17 13:48:52 2009 -0600
+
+ Revert "slang: if/else/break & if/else/continue work for unrolled loops"
+
+ We should just check if the loop contains a continue/break in the
+ _slang_can_unroll_for_loop() test function...
+
+ This reverts commit 989856bde47d699d7e18798df4013fbf962e1d4b.
+
+ Conflicts:
+
+ src/mesa/shader/slang/slang_codegen.h
+
+commit 4031ea1520f582fa36a6b964de7d565fe33a538d
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 17 11:57:39 2009 -0600
+
+ glsl: Added gl_shader_state::EmitContReturn field
+
+ This is the start of a glsl-continue-return feature branch to support
+ a GLSL code generator option for 'continue' and 'return' statements.
+ Some targets don't support CONT or RET statements so we'll need to
+ try to generate code that does not use them...
+
+commit 84c5e4805b9e4d2f87137af64de8418b29c7a8f6
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 23 19:21:04 2009 -0600
+
+ docs: updated Mesa release instructions
+
+commit 72aed16aee3149fa1740641435a528ce1510dabb
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Jun 26 19:51:57 2009 +0100
+
+ scons: Tool to build with DirectX SDK.
+
+ Also works with MinGW, as long as the path to the DirectX SDK top
+ directory is set in the DXSDK_DIR environment variable.
+
+commit 25f6c936fea899dd2989c76275f3f25d3a9a7d77
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Jun 26 19:50:12 2009 +0100
+
+ scons: Don't use C specific options with g++
+
+commit 3e94521912ca75bb14093053bf1cd1001e79cd1b
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Jun 26 13:43:10 2009 +0100
+
+ tgsi: correct handling of return value from util_vsnprintf
+
+ We were failing to deal with:
+ - vsnprintf returns negative value on error.
+ - vsnprintf returns the number of chars that *would* have been
+ written on truncation.
+
+commit c9f8c400ab23ce86448d6b3f8e292e5d5a170a67
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Jun 26 13:44:20 2009 +0100
+
+ aux/indices: don't use 'prim' value once it is known to be bad
+
+ Theoretical bugfix only - no known case where this might happen.
+
+commit d1bc9a29b9fe9400681221b38639e12536dd6dbf
+Author: Cooper Yuan <cooperyuan@gmail.com>
+Date: Fri Jun 26 17:04:53 2009 +0800
+
+ Fix viewport issue
+
+commit eaadba6eee05cd725295821e0c1f5e1a01e99e89
+Author: Cooper Yuan <cooperyuan@gmail.com>
+Date: Thu Jun 25 19:48:43 2009 +0800
+
+ Fix color data can't be fetched issue
+
+commit c25534f30d326c15dff845775d9bd55ba6064049
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Jun 24 14:46:07 2009 +0100
+
+ wgl: Handle flush after a window is destroyed.
+
+ Fixes assertion failure with conform.
+
+commit b79e6a59d89119953e3d11576b5fb221a671e472
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 23 09:31:27 2009 -0600
+
+ demos: fix issues in glxcontexts.c
+
+ The reshape() function was called when there was no GLX context so
+ the viewport/modelview/projection setup wasn't doing anything. Move
+ the call to reshape() into draw().
+
+ Also, remove -stereo, -fullscreen options and do some general clean-up.
+
+commit 5e1534f532330a19fd61cb3d28d48f51a7eafc4e
+Author: Cooper Yuan <cooperyuan@gmail.com>
+Date: Tue Jun 23 11:11:19 2009 +0800
+
+ correct scissor and cliprect setting
+
+commit 2f184d0d9f4600a20022887674b77f45ee6b728e
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Tue Jun 16 21:38:58 2009 +0200
+
+ i965: handle OPCODE_SWZ in the glsl path
+
+ glsl compiler will not generate OPCODE_SWZ, and as a first step it would
+ be translated away to a MOV anyway (why?), but later internally this opcode is
+ generated (for EXT_texture_swizzling).
+ (cherry picked from commit 4ef1f8e3b52a06fcf58f78c9c36738531b91dbac)
+
+commit 9d367d43b2fddb9a27d4be6302da172ab773ca91
+Author: Owen W. Taylor <otaylor@fishsoup.net>
+Date: Sat Jun 6 14:46:22 2009 -0400
+
+ Disable SGI_swap_control extension for DRI2
+
+ We currently don't have support for SGI_swap_control for direct
+ contexts with DRI2, so disable reporting the extension. Reporting
+ the extension, and then having glXSwapIntervalSGI() "succeed"
+ but do nothing can confuse applications.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=22123
+ (cherry picked from commit 279143c6e808b37c333321b696d80df77f709a04)
+
+commit 0584b6e433753dd01101c6824f6f6336c40d0f1f
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Thu Jun 11 12:09:10 2009 +0200
+
+ intel: intel_texture_drawpixels() can't handle GL_DEPTH_STENCIL.
+
+ Fixes glean depthStencil test.
+ (cherry picked from commit 3885b708fdbb7bbd5dd3a247c41fb9a75ee7c057)
+
+commit 19218fe71269d03e1a2e9fcfd0c06a9adb5cb21d
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 9 15:07:39 2009 -0600
+
+ i965: added intelFlush() call in intel_get_tex_image()
+
+ Fixes the render-to-texture test in progs/tests/getteximage.c
+ (cherry picked from commit a03b349153660e449daf4f56d750f1caef23b1a5)
+
+commit a5b7e0c7d73949e24d4edb1ab09b0aff367132a5
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 22 07:19:27 2009 -0600
+
+ mesa: s/MAX_VERTEX_PROGRAM_ATTRIBS/MAX_NV_VERTEX_PROGRAM_INPUTS/ in NV funcs
+ (cherry picked from commit 4dc426c01627a240bd5b148c1804c45b0d5ecd6c)
+
+commit 54f425b5cefd1e40f315a4f8747b9a3db29ab9d4
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 22 07:26:08 2009 -0600
+
+ mesa: rename MAX_VERTEX_ATTRIBS to MAX_VERTEX_GENERIC_ATTRIBS
+
+ Be clearer that this is the number of generic vertex program/shader
+ attributes, not counting the legacy attributes (pos, normal, color, etc).
+ (cherry picked from commit 4a95185c9f30c2de7a03bb1a0653f51b53b1111d)
+
+commit 810df8317dfe30c573cfb8296e569f73d23b74a7
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 21 17:03:21 2009 -0600
+
+ mesa: s/MAX_VERTEX_PROGRAM_ATTRIBS/MAX_NV_VERTEX_PROGRAM_INPUTS
+ (cherry picked from commit d2a74d76c96957cf0294dcf40d29526621ada95e)
+
+commit 19ca5ee1db002db48fd3d2ff665670a9bc8d699b
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 21 10:05:04 2009 -0600
+
+ mesa: fix some potential state-restore issues in pop_texture_group()
+
+ Call the _mesa_set_enable() functions instead of driver functions, etc.
+
+ Also, add missing code for 1D/2D texture arrays.
+ (cherry picked from commit aac19609bfd7c950b2577489b06886c8a8097bb2)
+
+commit ad0514b24df196e40d5ba7bb41f3bacce0b86a31
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 21 09:52:33 2009 -0600
+
+ vbo: return VP_NONE from get_program_mode() if running fixed-func vertex program
+
+ If we're running a vertex program to emulated fixed-function, we still need
+ to treat vertex arrays/attributes as if we're in fixed-function mode.
+
+ This should probably be back-ported to Mesa 7.5 after a bit more testing.
+ (cherry picked from commit dda82137d28aba846dda73da230871c115e30aaf)
+
+commit 00e203fe17cbf2127abc422c785cf9fad3232adb
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 1 09:30:32 2009 -0600
+
+ mesa: create/use a fallback texture when bound texture is incomplete
+
+ When a GLSL sampler reads from an incomplete texture it should
+ return (0,0,0,1). Instead of jumping through hoops in all the drivers
+ to make this happen, just create/install a fallback texture with those
+ texel values.
+
+ Fixes piglit/fp-incomplete-tex on i965 and more importantly, fixes some
+ GPU lockups when trying to sample from missing surfaces. If a binding
+ table entry is NULL, it seems that sampling sometimes works, but not
+ always (lockup).
+
+ Todo: create a fallback texture for each type of texture target?
+ (cherry picked from commit 3f25219c7bf0f090502489928f0f018e62c4f6cf)
+
+commit 3a3c7fd52e7ab846686fbbb2b572894134b2f9b6
+Author: Cooper Yuan <cooperyuan@gmail.com>
+Date: Mon Jun 22 15:10:57 2009 +0800
+
+ functions declaration with 'extern'
+
+commit 2f6451042d6c6e69fe1ea4f87814ebf2f982b034
+Author: Cooper Yuan <cooperyuan@gmail.com>
+Date: Mon Jun 22 14:33:18 2009 +0800
+
+ Pass viewport id to r700SendViewportState function, otherwise the radom value may beyond R700_MAX_VIEWPORTS
+
+commit 46ca8e5782ebb71d6e5f8a29c1c66b4891bf4916
+Author: Cooper Yuan <cooperyuan@gmail.com>
+Date: Mon Jun 22 10:16:01 2009 +0800
+
+ add LINK_STATES for SPI_PS and SEMANTIC
+
+commit abfd56c24c821e0dec233348ef01aef5b57f2763
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Jun 19 15:57:03 2009 -0700
+
+ intel: Fix other metaops versus GL_COMPILE_AND_EXECUTE dlists.
+
+ Fixes oglconform zbfunc.c and pxtrans-cidraw.c, at least.
+
+ (cherry picked from commit 405300bb190f516e16b704050abe3389b366ed27)
+
+commit daacac1c24ce5551e074c07f64e14f5c5057d188
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Jun 19 15:49:24 2009 -0700
+
+ intel: Fix glClear behavior versus display lists.
+
+ The CALL_DrawArrays was leaking the clear's primitives into the display
+ list with GL_COMPILE_AND_EXECUTE. Use _mesa_DrawArrays instead, which
+ doesn't appear to leak. Fixes piglit dlist-clear test.
+ (cherry picked from commit 64edde1004f7a69e77877bba24d315a92bcd47c8)
+
+commit 43bb78f2bb6c851d989903e7eb996e87113d878c
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Fri Jun 19 20:00:55 2009 +0200
+
+ radeons: use dp4 for position invariant vertex programs
+
+ Fixes #22181. R200 requires this since DP4 is used in hw tnl mode.
+ R300 prefers it (should be faster due to no instruction dependencies), but
+ both methods should be correct (when sw tcl is used though, MUL/MAD might
+ be faster). Probably doesn't make much difference for R100 since vertex progs
+ are executed in software anyway, but let's just keep it the same there too.
+
+commit 9dfce365c7f35ddea6d81b7f595ddcd6d35382a5
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Fri Jun 19 11:19:07 2009 +0200
+
+ Also release direct rendering resources in glXDestroyGLXPixmap.
+
+ Fixes leak running compiz with direct rendering.
+
+commit a120778c72324bc56c63cd0f1873c6f2772228ea
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Fri Jun 19 11:19:08 2009 +0200
+
+ Always free image offsets memory when re-initializing texture image fields.
+
+ Fixes leak running compiz with direct rendering.
+
+commit 3cf92e936afbef91b856f064742f1bc2ad9e601a
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Jun 19 15:39:59 2009 +0100
+
+ scons: Output the friendly "Linking ..." message when creating DLLs with MinGW.
+
+commit 048765624598e6c60b9fe4dc82a72b7110f16715
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jun 19 08:40:43 2009 -0600
+
+ softpipe: return alpha=1 in shadow_compare() function
+
+ The alpha value wasn't set at all before so we got unpredictable results.
+
+ Note that we don't currently obey GL_DEPTH_TEXTURE_MODE in the state
+ tracker. For now, we return the result in the default mode (r,r,r,1).
+
+commit 8f382fd3f396e182255fe084bc32648b98ca1d94
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jun 18 14:47:30 2009 +0100
+
+ util: Add cast.
+
+ It is expected to loose precision here.
+
+commit 21bfd0f4bdd4222346c7f2db956e7fc1645d2130
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jun 18 14:46:45 2009 +0100
+
+ draw: Replace pointer arithmetic with cast.
+
+ Using uintptr_t as intermediate type for pointer -> integer conversions is
+ easier to understand and does not cause any size mismatch warnings.
+ uintptr_t is part of C99, and we already provide a suitable replacement
+ definition for all platforms we care about.
+
+commit d609df1daec552113a8385330b680b293ef862eb
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jun 18 12:52:10 2009 +0100
+
+ trace: Use size_t consistently.
+
+commit 2af0173e9e4eefe910c6011038e7346091a9b2a4
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jun 18 12:51:00 2009 +0100
+
+ pipebuffer: Use a type consistently for sizes/offsets.
+
+ Avoids warnings on 64bit builds.
+
+ Use regular unsigned since that's what gallium expects, but use a
+ typedef to facilitate possible changes in the future.
+
+commit 42882897c67f6c74e67e120e946a95929e6c2065
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Jun 17 21:28:18 2009 +0100
+
+ wgl: Fix window resizing in multithread applications.
+
+ In multithreading stw_call_window_proc can be called by a thread other
+ than the thread where the context is bound.
+
+commit 4b4855c717e839a9ee6353604558543473c020c9
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Jun 17 19:24:51 2009 +0100
+
+ wgl: Move all thread related code together.
+
+ Not only for cosmetic reasons, but also because we need to set the
+ SetWindowsHookEx hook for threads created before the DllMain is called
+ (threads for each we don't get the DLL_THREAD_ATTACH notification).
+
+commit 1b05b5b4fecd9ac8ef34abdda6c085868016ad84
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Jun 18 10:13:55 2009 +0100
+
+ glew: correct misspelling of glFramebufferTextureLayer
+
+ This was misspelt as glFramebufferTexturLayer (missing e), causing
+ conflicts with the correctly spelt version in glext.h and extfuncs.h.
+
+commit 0491142152dcc61ebe0b46b05c94957e54c44bd9
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Jun 11 10:52:37 2009 +0100
+
+ mesa: protect Elements against multiple definitions
+
+ Mesa and gallium both have a definition of this macro
+
+commit 39366ed995310c95d95e0c7a33fb0bec637a00b6
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 8 14:41:54 2009 -0600
+
+ intel: remove extra \n from warning string
+ (cherry picked from commit 42e9bde0fa2276b8f5bb434328eea7665794b127)
+
+commit d446d3acacdffa7c0f744764214b2bea5e191678
+Author: Robert Ellison <papillo@vmware.com>
+Date: Wed May 13 20:40:23 2009 -0600
+
+ i965: fix 1D texture borders with GL_CLAMP_TO_BORDER
+
+ With 1D textures, GL_TEXTURE_WRAP_T should be ignored (only
+ GL_TEXTURE_WRAP_S should be respected). But the i965 hardware
+ seems to follow the value of GL_TEXTURE_WRAP_T even when sampling
+ 1D textures.
+
+ This fix forces GL_TEXTURE_WRAP_T to be GL_REPEAT whenever 1D
+ textures are used; this allows the texture to be sampled
+ correctly, avoiding "imaginary" border elements in the T direction.
+
+ This bug was demonstrated in the Piglit tex1d-2dborder test.
+ With this fix, that test passes.
+ (cherry picked from commit ab6c4fa582972e25f8800c77b5dd5b3a83afc996)
+
+commit 56235ae5049bee929c83f6932db077afaa5930f8
+Author: Robert Ellison <papillo@vmware.com>
+Date: Wed May 13 20:38:33 2009 -0600
+
+ i965: send all warnings through _mesa_warning()
+
+ One warning message:
+ drm_i915_getparam: -22
+
+ was still being sent to fprintf(). This causes all Piglit tests to fail,
+ even with MESA_DEBUG=0.
+
+ Using _mesa_warning() to emit the message allows the general Mesa controls
+ for messages like this to be applied.
+ (cherry picked from commit bc3270e99f5c39544aaf831742db14796ab83a6a)
+
+commit e15aebe10e20aacce63175b68ec8daa5c1dc4e0c
+Author: Robert Ellison <papillo@vmware.com>
+Date: Fri May 8 14:40:38 2009 -0600
+
+ i965: fix segfault on low memory conditions
+
+ When out of memory (in at least one case, triggered by a longrunning
+ memory leak), this code will segfault and crash. By checking for the
+ out-of-memory condition, the system can continue, and will report
+ the out-of-memory error later, a much preferable outcome.
+ (cherry picked from commit 44a4abfd4f8695809eaec07df8eeb191d6e017d7)
+
+commit a70c45bdabd8a172de6c50167b3e9d99649db1fa
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Wed Jun 3 17:49:05 2009 +0100
+
+ Fast path when rebinding the same texture in single context environment
+
+ If there is no shared context, there is no purpose in rebinding the same
+ texture. In some artificial tests this improves performance 10% - 30%.
+ (cherry picked from commit 7f8000db8bd45bb95bda4a4f8535c49b8ef74254)
+
+commit ff3da0966fc91cd5bcfed994e5edadbf25903c47
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jun 2 06:53:40 2009 -0700
+
+ i915: Don't put VBOs in graphics memory unless required for an operation.
+
+ This saves doing swtnl from uncached memory, which is painful. Improves
+ clutter test-text performance by 10% since it started using VBOs.
+ (cherry picked from commit a945e203d4fe254593bc0c5c5d6caca45e65f9f7)
+
+commit 1b8e4dd2c8343af391a33be2aff7978366c450df
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue May 26 20:45:29 2009 -0700
+
+ i915: Fall back on NPOT textured metaops on 830-class.
+ (cherry picked from commit 8ec6e036792decf5149a209e51cb5e93ccc5c754)
+
+commit cee73ffdaf3a73f54593010dc1cbc77610ba3224
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue May 26 19:48:08 2009 -0700
+
+ i915: Restore the Viewport and DepthRange functions on 8xx.
+
+ Fixes failed viewport updates on glxgears (and other apps) resize since
+ e41780fedc2c1f22b43118da30a0103fa68b769f.
+
+ Bug #20473.
+ (cherry picked from commit 0e83e8f51af07a3066519f169f07d9afbf23252e)
+
+commit 7805c3b57b558dac7a92d97b6a2210e037aea792
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed May 20 15:59:07 2009 -0700
+
+ i956: Make state dependency of SF on drawbuffer bounds match Mesa's.
+
+ Noticed while debugging a weird 1D FBO testcase that left its existing
+ viewport and projection matrix in place when switching drawbuffers. Didn't
+ fix the testcase, though.
+ (cherry picked from commit 3a521d84ecc646fcc65fa3fe7c5f1fdbdebe8bc2)
+
+commit 97974b7e5198eb480c0e86474ee177821c462d45
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri May 15 17:32:21 2009 -0700
+
+ intel: Don't complain on falling back from PBO fastpaths.
+
+ Instead, stash the debug info under the handy debug flag.
+
+ Bug #20053
+ (cherry picked from commit 22690482e692cb5ed2f84d3e69545c09292e3484)
+
+commit 957f3c8c3d3b6a48bbcc24e9db2c110a7fde177b
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri May 15 16:24:59 2009 -0700
+
+ mesa: Mark FBOs with compressed color attachments as FBO-incomplete.
+
+ Both EXT_fbo and ARB_fbo agree on this. Fixes a segfault in the metaops
+ mipmap generation in Intel for SGIS_generate_mipmap of S3TC textures in
+ Regnum Online.
+
+ Bug #21654.
+ (cherry picked from commit 0307e609aa3e707eeb40051bd664d36f2340ba9b)
+
+commit 66bfd025c84ca6d4fb73f394adcdd41418ab6b25
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri May 15 12:32:51 2009 -0700
+
+ i915: Use Stencil.Enabled instead of Stencil._Enabled in DrawBuffers.
+
+ The _Enabled field isn't updated at the point that DrawBuffers is called,
+ and the Driver.Enable() function does the testing for stencil buffer
+ presence anyway.
+
+ bug #21608 for Radeon
+ (cherry picked from commit 4c6f82989983eecc0b3b724716cb3bcb675664c5)
+
+commit fbd554d07456cf393a20cb86d1c0e81c416843aa
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri May 15 11:41:42 2009 -0700
+
+ i915: Only use the new 945 cube layout for compressed textures.
+
+ The docs actually explain this, but not in a terribly clear manner.
+ This nearly fixes the piglit cubemap testcase, except that something's
+ going wrong with the nearest filtering at 2x2 sizes in the testcase.
+ Looks good by visual inspection, though.
+
+ Bug #21692
+ (cherry picked from commit 5c5a46884899ea25cdf25545d6ab3d9a74eafa3a)
+
+commit 6e0df938d4504acc97012dc51002459d1d9f309a
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu May 14 10:56:32 2009 -0700
+
+ i965: Fix varying payload reg assignment for the non-GLSL-instructions path.
+
+ I don't have a testcase for this, but it seems clearly wrong.
+ (cherry picked from commit dc657f3929fbe03275b3fae4ef84f02e74b51114)
+
+commit 988b61be2743de6850c8042516db28d14ee3002f
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu May 14 09:49:45 2009 -0700
+
+ i965: Fix register allocation of GLSL fp inputs.
+
+ Before, if the VP output something that is in the attributes coming into
+ the WM but which isn't used by the WM, then WM would end up reading subsequent
+ varyings from the wrong places. This was visible with a GLSL demo
+ using gl_PointSize in the VS and a varying in the WM, as point size is in
+ the VUE but not used by the WM. There is now a regression test in piglit,
+ glsl-unused-varying.
+
+ (cherry picked from commit 0f5113deed91611ecdda6596542530b1849bb161)
+
+commit 320a303be0805b5746f357653cf09ad9d7f0e8bc
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed May 13 19:08:17 2009 -0700
+
+ intel: Use FRONT_AND_BACK for StencilOp as well.
+ (cherry picked from commit 64980125c76b05501a6fe7fe20fe52438f459129)
+
+commit d9e35d51fd9bb5d67865a451d16cf61c66f16a11
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed May 13 18:18:29 2009 -0700
+
+ intel: Use GL_FRONT_AND_BACK for stencil clearing.
+
+ This comes from a radeon-rewrite fallback fix, but may also fix stencil
+ clear failure when the polygon winding mode is flipped.
+ (cherry picked from commit d866abeffc7e4a29736fa35fb8ac09c3a28a44d6)
+
+commit 61a2c9668fd59dc301c2b61d46b48c974d0f0109
+Author: Eric Anholt <eric@anholt.net>
+Date: Sun May 10 10:08:32 2009 -0700
+
+ intel: Skip the DRI2 renderbuffer update when doing Viewport on an FBO.
+ (cherry picked from commit d4a42b0ce6455d03be70aa56aacd779be193aca4)
+
+commit 2770107d87ccfd558480c44cd90a75524bdea738
+Author: Eric Anholt <eric@anholt.net>
+Date: Sun May 10 09:45:43 2009 -0700
+
+ intel: Map write-only buffer objects through the GTT when possible.
+
+ This looks to be a win of a few percent in cairogears with new vbo code,
+ thanks to not polluting caches.
+ (cherry picked from commit aa422b262509bc0763a50f63a51a1730139ea52f)
+
+commit 3f856c6b6b7fa95ef97a8712876de88d7d57932e
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 17 08:35:55 2009 -0600
+
+ mesa: rework viewport/scissor initialization code
+
+ The first time a context is bound to a drawable, the viewport and scissor
+ bounds are initialized to the buffer's size. This is actually a bit tricky.
+
+ A new _mesa_check_init_viewport() function is called in several places
+ to check if the viewport has been initialized. We also use a new
+ ctx->ViewportInitialized flag instead of the overloaded
+ ctx->FirstTimeCurrent flag.
+
+commit d18c57aaeac37cde0cb551191ecd3c3a56a0ffba
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 17 08:34:24 2009 -0600
+
+ mesa: added null ptr check in Fake_glXCreatePixmap()
+
+ Fixes segfault in progs/xdemos/glxgears_pixmap.c
+
+commit 3705f48688d7d2c8d4ff5f108ff6b56e289d1967
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 17 08:33:39 2009 -0600
+
+ st/glx: added null ptr check in Fake_glXCreatePixmap()
+
+ Fixes segfault in progs/xdemos/glxgears_pixmap.c
+
+commit c6f71eabd877e14583725a29790872e96ff4dbb2
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Jun 17 15:24:06 2009 +0100
+
+ Revert "scons: Debug build by default."
+
+ Per Brian's request.
+
+ This reverts commit 25f0c33bb3509958a532bdd72b3945c1d5d1cad5.
+
+commit 1bee650ef3fd167b560986b14b3780ab07741da2
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Jun 17 15:22:47 2009 +0100
+
+ progs/wgl: Fix shreadtex_mt too.
+
+commit 6e24fdeae5038b63b6b0f94b05d4529a5f62d6ae
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Jun 17 15:22:32 2009 +0100
+
+ progs/wgl: Tweak the initialization wait in wglthreads.
+
+ There was still a non-zero probability for wglShareLists of failing.
+
+commit 557421b6de9d8cba7e71828ec3a60a344fff9e88
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Jun 17 14:48:25 2009 +0100
+
+ progs/wgl: Get wglShareLists working in wglthreads.
+
+ wglShareLists is a little picky -- it seems to check if it has exclusive
+ access to a lock, and fails if it doesn't.
+
+ This allows the texture to be shared with all windows.
+
+commit 25f0c33bb3509958a532bdd72b3945c1d5d1cad5
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Jun 17 10:14:32 2009 +0100
+
+ scons: Debug build by default.
+
+ Match what autotools and other build systems do by default.
+
+commit c53705ed7b89e5a2586b534508182de9c72452ea
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 17 07:58:35 2009 -0600
+
+ GLX: attempt to fix glean makeCurrent test cases.
+
+ Two parts to this:
+
+ One we don't keep pointers to possibly freed memory anymore once we unbind the
+ drawables from the context. Brian I need to figure out what the comment
+ you made there, can we get a glean/piglit test so we can fix it properly?
+
+ If the new gc is the same as the oldGC, we call the unbind even though
+ we just bound it in that function. doh.
+
+ (cherry picked from master, commit 77506dac8e81e9548a7e9680ce367175fe5747af)
+
+commit ebe0796ba2d314202c30a1c9291a7e725c64b16a
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Jun 17 10:12:11 2009 +0100
+
+ docs: Document building with SCons.
+
+commit d22828f716fba0c63522101bd18f9660db17b364
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Jun 16 21:30:59 2009 +0100
+
+ wgl: Factor out some repetitive code into inline functions.
+
+commit 992000cce7388eb864fec8c625ba8ff0d177daf6
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Jun 16 19:49:38 2009 +0100
+
+ progs/wgl: Allow resizing wglthreads' windows.
+
+commit 6b917d0b1787280f976c2f0d1ead0e5d7587a3e9
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 16 18:19:45 2009 -0600
+
+ i965: fix bugs in projective texture coordinates
+
+ For the TXP instruction we check if the texcoord is really a 4-component
+ atttibute which requires the divide by W step. This check involved the
+ projtex_mask field. However, the projtex_mask field was being miscalculated
+ because of some confusion between vertex program outputs and fragment
+ program inputs.
+
+ 1. Rework the size_masks calculation so we correctly set bits corresponding
+ to fragment program input attributes.
+
+ 2. Rename projtex_mask to proj_attrib_mask since we're interested in more
+ than just texcoords (generic varying vars too).
+
+ 3. Simply the indexing of the size_masks and proj_attrib_mask fields.
+
+ 4. The tracker::active[] array was mis-dimensioned. Use MAX_PROGRAM_TEMPS
+ instead of a magic number.
+
+ 5. Update comments, add new assertions.
+
+ With these changes the Lightsmark demo/benchmark renders correctly, until
+ we eventually hit a GPU lockup...
+
+commit 742ba084068b6856e94283a9c5fe3b39d48f64cb
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 16 15:41:49 2009 -0600
+
+ softpipe: fix out of bounds quad rasterization bug
+
+ For some triangles we can generate quads which lie just outside the
+ surface bounds. Just check the quad's mask before trying to emit/process
+ the quad.
+
+ Fixes failed assertion in Lightsmark.
+
+commit 3e48dd04456aaf2d42dfa7f3a3c99a95a5986eb6
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 16 09:34:35 2009 -0600
+
+ mesa: fix incorrect viewport clamping in _mesa_set_viewport()
+
+ A 0 by 0 viewport size is legal. Don't clamp against lower bound of one.
+ The error checking earlier in the function prevents negative values.
+
+commit ed7f4b42307bff4633689d6781cd3643f10041e5
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 16 08:45:06 2009 -0600
+
+ mesa: fix REMAINDER() macro
+
+ The results were incorrect for some negative values of A.
+ See bug 21872.
+
+commit 3463b1479d1c70e3b23189c72132e9ad5f710ff9
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Jun 16 13:05:25 2009 +0100
+
+ gallium: Avoid atomic ops / locking when src is dst.
+
+commit 077c5e62d8800e66e958af7663b1a5d6f50670cf
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Jun 16 12:34:29 2009 +0100
+
+ progs/wgl: Quit after displaying usage for -h option.
+
+commit 06075711af7ae143c362a6d989121d8fdb4fd6ca
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Jun 16 12:29:14 2009 +0100
+
+ progs/wgl: Use appropriate types to silence msvc warnings.
+
+commit 566bdbe67db04a9f94c1303bf41d1f453f7e72b2
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Jun 16 12:28:26 2009 +0100
+
+ progs/wgl: Fix assertion failure in wglthreads' texture creation.
+
+commit d027e8feff7d38cccadc6aaccc0454b21ce4dca0
+Author: Shuang He <shuang.he@intel.com>
+Date: Mon Jun 15 16:19:30 2009 -0600
+
+ intel: Release fb backing regions in intelDestroyBuffer()
+
+ Fixes memory leak when destroying framebuffers.
+
+commit 227d233cffea9908e72c700441ad206635305077
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Jun 15 19:22:35 2009 +0100
+
+ python/tests: Add is_depth_stencil_format utility function.
+
+commit 7585cbffe0ec8873a1e8d966f870aa1052943899
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Jun 15 19:21:58 2009 +0100
+
+ python/tests: Cleanup texture_sample.
+
+commit c6af9b29476e4e445623e7a2f737ba95003bbe13
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Jun 15 19:20:25 2009 +0100
+
+ mesa: Always return a value.
+
+commit 053d8eb8914cae274ccd19abb0a492e7ca220660
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Jun 15 19:20:05 2009 +0100
+
+ mesa: Use appropriate float/integer types.
+
+commit 6214c7262fe2d31553a4974022e08a7715693014
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Jun 15 19:19:29 2009 +0100
+
+ mesa: Use type modifier for float constants.
+
+commit 37f2117cd132527ebf89f9294b2f35db87326460
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Jun 15 19:17:07 2009 +0100
+
+ mesa: Use integer type with appropriate sign.
+
+commit c33ef1f7c6d93a82c77a6c11fd108bb6d4f8c6af
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Jun 15 19:04:04 2009 +0100
+
+ rtasm: Use 32bit constant.
+
+ As we're only using 32bit bitmasks.
+
+commit 940cb7ce163664778f7055953392fb43d5fc31fc
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Jun 15 18:57:45 2009 +0100
+
+ gallium: Ensure assert macro is defined before being used in p_thread.h
+
+commit 5d0cf9ebb41c05b0c6fa6914ccbb1e1871e27099
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Jun 15 18:42:13 2009 +0100
+
+ softpipe: Fix softpipe_is_texture_referenced.
+
+ Render results are only visible when the render cache is flushed.
+ softpipe_is_texture_referenced must reflect that or transfers to/from the
+ textures bound in the framebuffer won't be proceeded of the necessary
+ flush, causing transfer data to be outdated/clobbered.
+
+ This fixes conform drawpix test with softpipe.
+
+commit 0e1abced56131c56717c4f317c33ac6e3fab4ff7
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Jun 15 15:40:10 2009 +0100
+
+ progs/tests: Use opaque colors.
+
+ Transparency is not relevant for this example, and leads to distraction
+ due to different results in alpha visuals, when capturing images to disk.
+
+commit db22b35d213d58d188252f45d94fa353e638acee
+Author: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+Date: Thu Jun 11 00:54:06 2009 +0200
+
+ dri st: Don't require the PIPE_TEXTURE_USAGE_RENDER_TARGET property for depth- and stencil renderbuffers.
+
+ Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+
+commit cbe5af766eb52516e50d38c379bbde3391f6c0c2
+Author: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+Date: Mon Jun 15 11:20:31 2009 +0200
+
+ gallium: Fix segfault and valgrind error introduced with commit 3f2e006b759705abd7c409d30f9aeb1f2a75b83f
+
+ Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+
+commit 2fe65e8f149e961afb8ccd9b1e57c5c7e96ecfd6
+Merge: 6791576 b799af9
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sun Jun 14 16:56:34 2009 +0200
+
+ Merge branch 'mesa_7_5_branch'
+
+commit 6791576f6cc90018bd65c263fa6c16ad2b19cdae
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Jun 29 20:15:47 2009 +1000
+
+ Revert "r200: make use of DMA buffers for Elts a lot better."
+
+ This reverts commit 0952645fe04a27968565ea4d913500c23b1b11e3.
+
+ Need to revisit where this is going wrong
+
+commit 928a5684177fdb6cd013949348aee6078dd305c0
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Jun 27 11:58:00 2009 -0700
+
+ r300g: YCbCr and sRGB textures.
+
+commit f150e05afcbce73ff8422ffef2ce02536f691f2c
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Jun 27 10:57:03 2009 -0700
+
+ r300g: Fix EXT_packed_depth_stencil functionality.
+
+ Allow Z24S8 to be a true texture.
+
+commit 1ac72aedb24c56c7158f770f4297516b3bf1899d
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sat Jun 27 19:55:37 2009 +0200
+
+ st/dri: Fix last depth bits logic
+
+commit dbb56687c83845cc20aee7243e437a32e5c79a70
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Mon Jun 1 22:17:07 2009 +0200
+
+ radeon: Always initialize front and back renderbuffers if present
+
+ This fixes an assertion in glReadPixels from the front buffer.
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 9fa0d25c547a940fa275f786a63de85f6bc39870
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sat Jun 27 18:08:44 2009 +0200
+
+ radeon: Update .gitignore
+
+ Add all source files that are symlink'ed from common radeon code to the
+ ignore list.
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 3f15acb7e8575faeacc50dcede6d68b1e583727d
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Jun 26 21:48:09 2009 -0700
+
+ r300g: EXT_provoking_vertex.
+
+commit 6ebcdc754914bac7db005594a1495cceb6c3d85d
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Jun 26 21:13:57 2009 -0700
+
+ r300g: S3TC.
+
+ tests/texcompress2 doesn't work, but tests/texcmp does (more or less.)
+
+commit aac6648cd8b27cb6653ac4a9722a49868b221447
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Jun 26 20:37:06 2009 -0700
+
+ r300g: Use real texture formats.
+
+ What bugs me is that the YUV444 format somehow worked properly. :3
+
+commit 7a3224c334a9a159f16e37672e4d8d833bc9bb52
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Jun 26 19:39:24 2009 -0700
+
+ r300g: Definitively forbid unusable Z buffer/stencil formats.
+
+commit 9e7d195fdc739847a3cc1b9a375a6ea2ce460ef8
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Jun 26 17:42:52 2009 -0700
+
+ r300g: Comment out assert for now.
+
+ Will fix with better constant refactoring later.
+
+commit 00ffc90dd25270d84002232f9929cc30abc1e7e2
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Jun 26 17:39:34 2009 -0700
+
+ r300g: Be more specific on surface_copy fallbacks.
+
+commit 6a926f9997964df10cf77953b92d585b287c58a4
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Jun 26 16:32:53 2009 -0700
+
+ r300g: PIPE_CAP_TGSI_CONT_SUPPORTED.
+
+commit f80b7f46835f42065d2489f2e1f501187ee026b6
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Jun 8 23:52:43 2009 -0700
+
+ r300-gallium: Ensure that no dirty state goes unemitted.
+
+commit f57280cc7360d0eee40df6d34befbfad2288d297
+Merge: a18e209 b2a1ca4
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jun 26 17:49:14 2009 -0600
+
+ Merge branch 'arb_vertex_array_object'
+
+commit a18e209edb5348eb167e9d7184597031bbbbe622
+Merge: 4fdc6ad 418987f
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jun 26 17:07:07 2009 -0600
+
+ Merge branch 'mesa_7_5_branch'
+
+ Conflicts:
+
+ Makefile
+ src/gallium/drivers/softpipe/sp_screen.c
+ src/mesa/main/version.h
+
+commit 4fdc6ad41b843109febbe9596dde87f676a8b0e9
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Fri Jun 26 20:38:07 2009 +0200
+
+ i965: fix fetching constants from constant buffer in glsl path
+
+ the driver used to overwrite grf0 then use implicit move by send instruction
+ to move contents of grf0 to mrf1. However, we must not overwrite grf0 since
+ it's still used later for fb write.
+ Instead, do the move directly do mrf1 (we could use implicit move from another
+ grf reg to mrf1 but since we need a mov to encode the data anyway it doesn't
+ seem to make sense).
+ I think the dp_READ/WRITE_16 functions may suffer from the same issue.
+ While here also remove unnecessary msg_reg_nr parameter from the dataport
+ functions since always message register 1 is used.
+
+commit d3b46fc77f2ca8c5a11cb1f34a25a63f16349d92
+Author: Vinson Lee <vlee@vmware.com>
+Date: Fri Jun 26 12:36:32 2009 -0600
+
+ configs/darwin: Set CXX to g++.
+
+commit b2a1ca4fcf1cd16f85404fc582cec14e28b79e07
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 22 17:54:16 2009 -0600
+
+ docs: document GL_ARB_vertex_array_object
+
+commit 8affcd364bd99b7da44e565db91c6c0afbf9ce77
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 22 17:54:00 2009 -0600
+
+ intel: enable GL_ARB_vertex_array_object extension
+
+commit cfb815805839ecb5eb8636b1a7f643de44e04ca9
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 22 17:52:08 2009 -0600
+
+ mesa: plug in glBindVertexArray, glGenVertexArrays functions
+
+commit 31618f1a88877e54643718d27d70ec8a287e2f7b
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 22 17:51:30 2009 -0600
+
+ tests: update bufferobj.c to test GL_ARB_vertex_array_object
+
+commit 2a795ad5227f7b311c2b32afb77ba11068733283
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 22 17:01:44 2009 -0600
+
+ st/mesa: alphabetize lines
+
+commit 32220c48ad8da199ed6a3d419183fd12bb4fc83e
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 22 17:01:00 2009 -0600
+
+ st/mesa: enable GL_ARB_vertex_array_object
+
+commit e2b72495550980198dcc0580af8de1fe9dfd8c67
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 22 16:56:35 2009 -0600
+
+ mesa: enforce the rule that arrays live in VBOs for GL_ARB_vertex_array_object
+
+commit 7ebadecd8758f2a4d965bc57068eccd05f9b1470
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 22 16:47:45 2009 -0600
+
+ mesa: added extension flag for ARB_vertex_array_object
+
+commit 9342e6f5a94d3b884dcb98b4741295f1aa23e282
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jun 19 18:17:25 2009 -0600
+
+ mesa: implement _mesa_GenVertexArrays() for GL_ARB_vertex_array_object
+
+ This also involves adding a gl_array_object::VBOonly field. For the
+ ARB extension, all arrays in the object must reside in a VBO. This flag
+ keeps track of that requirement.
+
+commit b8000c874ecb33b1554407c5e568afbb471dda3a
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jun 19 18:07:49 2009 -0600
+
+ mesa: implement _mesa_BindVertexArray()
+
+commit 12cf98f5fc5eaa4743134387ce3f8e584aa20bc4
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jun 19 17:58:47 2009 -0600
+
+ mesa: move vertex array objects from shared state to per-context
+
+ The ARB version requires VAOs to be per-context while the Apple extension
+ was ambiguous.
+
+commit bda551898a09e4a07491dcf394bb2981dced0012
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jun 19 18:11:29 2009 -0600
+
+ mesa: regenerated files related to GL_ARB_vertex_array_object
+
+commit 54b03948e0a4b84405227fe61a3114b0155caaa1
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jun 19 18:11:18 2009 -0600
+
+ glapi: add new information for GL_ARB_vertex_array_object
+
+commit dd26899ca39111e0866afed9df94bfb1618dd363
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Fri Jun 19 23:55:55 2009 +0200
+
+ intel: Fixups for 'mesa: create/destroy buffer objects via driver functions'.
+
+ Initialize all driver function hooks before calling _mesa_initialize_context(),
+ and handle all buffer objects in intel_buffer_object().
+
+ Fixes assertion failure when running glxinfo.
+
+commit 4d2b392a0ac597f8b7f88006746660e8f0fe09ea
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Fri Jun 19 22:55:34 2009 +0200
+
+ radeon: fix cube maps for non-mm path
+
+ drm cmd checker would refuse cube emits
+ also fix an issue in the cs path which would calculate the register
+ offset off by one dword.
+ Only same testing done as original code (none except compile tested).
+
+commit fa5b81ea8bb3ff163543fe3a8907e7be69e99419
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jun 19 14:42:37 2009 -0600
+
+ st/mesa: restore some parameter checking buffer object functions
+
+ These functions may be called from the VBO code (not just user GL calls)
+ so do some parameter sanity checking.
+
+commit ffae82da4cf5a969d699c7f5bdcd4dae6c27a1ca
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Fri Jun 19 22:32:06 2009 +0200
+
+ r200: fix cube maps for non-mm path
+
+ drm cmd checker rightfully fell over any cube emit
+
+commit e90d6a3cbfdf26b67ccb000265eb529b82c03eb4
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jun 18 09:26:18 2009 -0600
+
+ i965: initial code for loops in vertex programs
+
+commit fd7d764514c540987549c3ea88a2d669b0f0ea58
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jun 18 09:23:58 2009 -0600
+
+ i965: asst clean-ups, etc in brw_vs_emit()
+
+commit 752204d3624cdaa7be9dea058676190d3893a55e
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jun 18 09:20:55 2009 -0600
+
+ i965: asst clean-ups, var renaming in brw_wm_emit_glsl()
+
+commit 9d029e0e200eb97993c1b9fb8ab9046172e703e8
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jun 19 12:19:15 2009 -0600
+
+ st/mesa: remove redundant st_buffer_object::size field and error checks
+
+ Just use the gl_buffer_object::Size field. Remove unnecessary size/offset
+ error checks. Core Mesa will have already done these checks before these
+ functions are called.
+
+commit 1ffd074436949f3958127cc5ae7c7c9e9e9e0bf8
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jun 19 12:12:54 2009 -0600
+
+ st/mesa: no longer special-case buffer object 0 in st_buffer_object() cast wrapper
+
+ Since commit 6629a35559ff7e3b993966f697f7c7f68e5a38d9 "mesa: create/destroy
+ buffer objects via driver functions" this is no longer needed, and actually
+ was causing a crash during context tear-down.
+
+commit 7ce814b25f8c216c7897904cbce7f570112e60ef
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Fri Jun 19 20:00:55 2009 +0200
+
+ radeons: use dp4 for position invariant vertex programs
+
+ Fixes #22181. R200 requires this since DP4 is used in hw tnl mode.
+ R300 prefers it (should be faster due to no instruction dependencies), but
+ both methods should be correct (when sw tcl is used though, MUL/MAD might
+ be faster). Probably doesn't make much difference for R100 since vertex progs
+ are executed in software anyway, but let's just keep it the same there too.
+
+commit a8da1feb231115205f3a19b0bb0a9317157ba167
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jun 19 10:05:08 2009 -0600
+
+ mesa: make query-related driver fallback functions static
+
+ Plug them in via _mesa_init_query_object_functions().
+
+commit 331eb58f68db26b54f706a908a3e1424a461b709
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jun 19 10:00:03 2009 -0600
+
+ mesa: make buffer object-related driver fallback functions static
+
+ Plug them in via _mesa_init_buffer_object_functions().
+
+commit 6629a35559ff7e3b993966f697f7c7f68e5a38d9
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jun 19 09:58:51 2009 -0600
+
+ mesa: create/destroy buffer objects via driver functions
+
+commit e164210f6511f4f1e5b2227e38b24b994e1a5ffc
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jun 19 09:48:43 2009 -0600
+
+ i965simple: use u_reduced_prim() function
+
+commit d2e4643767ce2a1f30e6ef1c86c2aa225c025c32
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jun 19 09:45:23 2009 -0600
+
+ draw: use u_reduced_prim() function
+
+commit 09da78c235cdfa736cd5ea8ee62757f58b7d9f96
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jun 19 09:42:37 2009 -0600
+
+ softpipe: use u_reduced_prim()
+
+commit 157d52143a2b541ca9552de2e3323261fc0238cb
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jun 19 09:39:56 2009 -0600
+
+ gallium/util: s/boolean/unsigned/
+
+commit b0b8832e6f7db287f7251d626d6ae8fb134f0906
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jun 19 09:38:12 2009 -0600
+
+ softpipe: whitespace, reformatting
+
+commit 9038b6c8bbda49c544d777c7cf7b107887421c77
+Merge: 0342229 0ddc4db
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jun 19 09:15:34 2009 -0600
+
+ Merge branch 'ext-provoking-vertex'
+
+ Conflicts:
+
+ docs/relnotes-7.6.html
+ progs/tests/Makefile
+ src/gallium/drivers/softpipe/sp_prim_vbuf.c
+ src/glx/x11/indirect.c
+ src/mesa/glapi/Makefile
+ src/mesa/glapi/dispatch.h
+ src/mesa/glapi/glapioffsets.h
+ src/mesa/glapi/glapitable.h
+ src/mesa/glapi/glapitemp.h
+ src/mesa/glapi/glprocs.h
+ src/mesa/main/dlist.c
+ src/mesa/main/enums.c
+ src/mesa/sparc/glapi_sparc.S
+ src/mesa/x86-64/glapi_x86-64.S
+ src/mesa/x86/glapi_x86.S
+
+commit 0ddc4dbe43422211e6f3fb3278e7b2f55a25976b
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jun 18 23:00:37 2009 -0600
+
+ draw: use flatfirst variable
+
+commit 9205a871e75f66de3501519018e76b6f49d2cce8
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jun 18 22:51:41 2009 -0600
+
+ draw: remove debug code
+
+commit af5fff9c232d30a54b7a15c4a4c128f30afde751
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jun 18 22:48:51 2009 -0600
+
+ draw: fix first provoking vertex mode for quads, quad strips and polygons
+
+commit 950171be3c8032d590fde3247bf12992aa9139c8
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jun 18 22:47:46 2009 -0600
+
+ draw: fix first provoking vertex mode for unfilled quads
+
+commit 601065f15389b52c084cdc46c339e15fd3b5eb25
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jun 18 22:45:57 2009 -0600
+
+ mesa: fix first provoking vertex mode for unfilled tri strips
+
+commit c70a529d7c8dfbb7fbb194261c60aeeb75f5ee35
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jun 18 18:33:29 2009 -0600
+
+ draw: clean up indentation
+
+commit 0342229289c3bd5ed7bc595db4fc88003430209e
+Author: Thomas Hellstrom <thellstrom@vmware.com>
+Date: Wed Jun 17 01:08:25 2009 +0200
+
+ gallium dri st: Probe the driver for supported surface formats.
+
+ This is done when constructing the fbconfigs, and the result is saved
+ for window system framebuffer creation.
+
+ Note: For dri2 the server needs to have an identical format selection
+ logic. Otherwise the dri state-tracker and the xorg driver (state-tracker)
+ will disagree on which format to use for the attachments. Some more work
+ is needed in this area.
+
+ Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
+
+commit c9f19571da2673a934f6f97aeea92c5414c28925
+Author: Thomas Hellstrom <thellstrom@vmware.com>
+Date: Tue Jun 16 17:52:05 2009 +0200
+
+ mesa driconf: Add macro to specify an option with a quoted default value.
+
+ The default values true and false will expand to "1" and "0" when
+ gcc -std=c99, causing bool option defaults to generate runtime failures.
+
+ One solution is to specify bool option defaults quoted as "true" and "false".
+ Add a macro to assist this.
+
+ Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
+
+commit edbec6b112468cf8fa5546aaecb2832c91352127
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Wed Jun 17 14:45:52 2009 +0100
+
+ progs/rbug: Add small program to add block rules
+
+commit 3addc4e3078b99db07598ac0b2473f7612b83a09
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jun 17 20:46:12 2009 -0700
+
+ i965: Add decode for the G4X x,y offset in surface state.
+
+commit 6c3f6968911e0bb3256e91b070166d3da78a4775
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jun 17 20:53:27 2009 -0700
+
+ i965: Fix up texture layout for small things with wide pitches (tiled)
+
+ We were packing according to the pitch, while the hardware appears to base
+ it on the base level width.
+
+ With this and the previous commit, fbo-cubemap now matches untiled behavior.
+
+commit 0f328c90dbc893e15005f2ab441d309c1c176245
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Jun 5 23:16:44 2009 +0000
+
+ i965: Fall back or appropriately adjust offsets of drawing to tiled regions.
+
+ 3D rendering to tiled textures was being done with non-tile-aligned offsets.
+ The G4X hardware has fields to let us support it easily and correctly, while
+ the pre-G4X hardware requires a path full of suffering, so we just fall back.
+
+commit 46000cecc32104702fcb0de5a842d11b18c41c6b
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Jun 18 13:20:32 2009 +1000
+
+ r300: use vbo_split_prims to split up large vertex buffers.
+
+ This lets ut2004 avoid hitting the elt warning.
+
+commit bd10f0e84f1491363d76d92dcbd410ab5cc43dbe
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Jun 12 08:44:40 2009 -0700
+
+ i965: Fix tiling for FBO depth attachments by making DEPTH_COMPONENT Y tiled.
+
+ This may hurt if miptree relayout occurs, since we can't blit Y tiled
+ objects. But it corrects depth tests on FBOs using textures.
+
+commit b165fa7d45e230f9e61fcf3a09babf0c61c67319
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Jun 18 13:12:21 2009 +1000
+
+ radeon: don't re-add BOs to validate list
+
+ if its on the list its on the list don't go readding it.
+
+ multitexturing from the same texture could cause this.
+
+commit 3817a54912a6c51fa0a7ec64787a69007bda44fa
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 17 07:44:04 2009 -0600
+
+ glsl: call _mesa_postprocess_program(), disabled
+
+commit 516d20fd2688fce833b764ca21f1f1772bed0a03
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 17 07:43:44 2009 -0600
+
+ mesa: silence warning
+
+commit ec6ad7ba3ce4fa71620642ddde06cf843d1c8d54
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 17 07:42:49 2009 -0600
+
+ mesa: added _mesa_postprocess_program() to aid shader debugging
+
+commit f806a0336153ec211441a23da0eb8e763e001b02
+Author: Jerome Glisse <jglisse@redhat.com>
+Date: Wed Jun 17 16:33:14 2009 +0200
+
+ radeon: Flush command buffer on viewport change
+
+ We flush the command buffer so we don't emit mixed
+ state (with new and previous buffer size) command
+ buffer, this is especialy affecting zbuffer states.
+
+commit 2506c4e8b142b933668db2b478333ebdfcfd0d96
+Author: Jerome Glisse <jglisse@redhat.com>
+Date: Wed Jun 17 13:51:33 2009 +0200
+
+ r300: don't emit vap index offset on r5xx hw when using cs
+
+ vap index offset is programmed to 0 by the kernel, it
+ would add work to kernel checker to allow userspace
+ programming of this so it's now disallowed with CS
+ on KMS.
+
+commit 77506dac8e81e9548a7e9680ce367175fe5747af
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Jun 11 10:50:32 2009 +1000
+
+ GLX: attempt to fix glean makeCurrent test cases.
+
+ Two parts to this:
+
+ One we don't keep pointers to possibly freed memory anymore once we unbind the
+ drawables from the context. Brian I need to figure out what the comment
+ you made there, can we get a glean/piglit test so we can fix it properly?
+
+ If the new gc is the same as the oldGC, we call the unbind even though
+ we just bound it in that function. doh.
+
+commit 856221d6995a7754cde60748d7c229b5278f043e
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Jun 17 11:12:57 2009 +1000
+
+ radeon: fix warnings in wrapper with libdrm
+
+commit 8d482227915552c414e13743652e6794c4313ae2
+Merge: 4ef1f8e 6b917d0
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 16 18:25:52 2009 -0600
+
+ Merge branch 'mesa_7_5_branch'
+
+ Conflicts:
+
+ src/mesa/main/api_validate.c
+
+commit 4ef1f8e3b52a06fcf58f78c9c36738531b91dbac
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Tue Jun 16 21:38:58 2009 +0200
+
+ i965: handle OPCODE_SWZ in the glsl path
+
+ glsl compiler will not generate OPCODE_SWZ, and as a first step it would
+ be translated away to a MOV anyway (why?), but later internally this opcode is
+ generated (for EXT_texture_swizzling).
+
+commit 1510c3cae1d840a065a22c891ad6db794dfe7a00
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 15 16:44:26 2009 -0600
+
+ docs: minor relnotes clean-up
+
+commit 70d247c69bcef4f40b640ae61e9fb9ebc5887bb6
+Merge: 01f7bda 8d0f72e
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 15 16:42:42 2009 -0600
+
+ Merge branch 'arb_map_buffer_range'
+
+ Conflicts:
+
+ docs/relnotes-7.6.html
+ src/mesa/main/mtypes.h
+
+commit 01f7bda44c92268fa288bbd8f53af3a3620bd315
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 15 10:58:04 2009 -0600
+
+ mesa: revert some recent VBO buffer object refcounting changes
+
+ Reverts part of commit d7ea9ddf5824556e47decac7ba200f37cf1e552f.
+ We were calling _mesa_reference_buffer_object() on some heap-allocated
+ memory that was uninitialized and could trigger an assertion.
+ We can actually go back to "looser" ref counting of the Null/default
+ buffer object in these cases.
+
+commit b0d874bfbec8a323d7a69d98fad875162222a1cb
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 15 10:47:07 2009 -0600
+
+ mesa: regenerated gl_mange.h file
+
+commit 63c407db3ef28862588660478a94102860480731
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Fri Jun 12 20:09:07 2009 +0200
+
+ enable ARB_half_float_pixel for intel drivers
+
+commit 4ed2c0dddc5813cbbe08b73f96043b1c4b07d0bf
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Sun May 24 01:18:31 2009 +0200
+
+ intel: fix (cosmetic) typo flag used twice
+
+commit f5888d9ca56ba68c01a4c9f111174650fac943aa
+Merge: e0eafde cbe5af7
+Author: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+Date: Mon Jun 15 11:43:48 2009 +0200
+
+ Merge branch 'mesa_7_5_branch'
+
+ Conflicts:
+
+ progs/util/extfuncs.h
+
+commit e0eafde746fee546b16205e4a605e28f78e120f9
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Mon Jun 15 01:06:40 2009 +0200
+
+ r300: fix 3D textures
+
+commit 6530fabb93d8e1664f16059fd31f540352a866a5
+Merge: 210ad58 3e94521
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sun Jun 14 06:32:47 2009 +0200
+
+ Merge branch 'mesa_7_5_branch'
+
+commit 210ad58ee3c136fd302edac6888e96f34c491387
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sun Jun 14 06:01:24 2009 +0200
+
+ trace: Don't write state objects to file if dumping is not set
+
+commit 0cce6d7e337ac3de515c48d6077c823c32e22613
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Jun 26 13:43:10 2009 +0100
+
+ tgsi: correct handling of return value from util_vsnprintf
+
+ We were failing to deal with:
+ - vsnprintf returns negative value on error.
+ - vsnprintf returns the number of chars that *would* have been
+ written on truncation.
+
+commit 0952645fe04a27968565ea4d913500c23b1b11e3
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Jun 26 15:05:02 2009 +1000
+
+ r200: make use of DMA buffers for Elts a lot better.
+
+ This allows us to return the unused portion of the dma buffer
+ to the allocator instead of wasting nearly 16k a pop.
+
+commit db545796289abe4b771b3ee23a4559674bebe37a
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Jun 26 15:04:30 2009 +1000
+
+ r200: only emit unitneeded textures
+
+commit 622858884fc5923c9e7a0c1bb0e80b53f0acb5a7
+Author: Joakim Sindholt <opensource@zhasha.com>
+Date: Fri Jun 26 01:08:13 2009 +0200
+
+ r300-gallium: organize fragment/vertex shaders
+
+ Appart from separating r3xx/r5xx fragment shaders, a more consistent
+ naming scheme has been applied. From now on:
+ r300 = all chips
+ r3xx = R300/R400 only
+ r5xx = R500 only
+ This way r300_fragment_shader is the master struct, and the structs
+ r3xx_fragment_shader and r5xx_fragment_shader inherits it.
+
+commit 450b20d1ef8e816fd1ee86a6373e81838bbce0a1
+Author: Vinson Lee <vlee@vmware.com>
+Date: Thu Jun 25 09:52:50 2009 -0600
+
+ gallium: Add PIPE_OS_APPLE token.
+
+commit e99d13bbc65641321ab755cd7144f773d1862070
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sun Jun 14 01:04:00 2009 +0200
+
+ progs/tests: Add yet another mipmap test
+
+commit 43b3b745e4d893b64d6331cb6183f8615e613f66
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Thu Jun 25 15:57:33 2009 +0200
+
+ radeon: fix hw texture limits
+
+ still always enable max, but the right values this time.
+ More work should probably be done for saner limits without mm, and/or
+ dri conf option allow_large_textures (which is ignored) removed.
+ 3D limit on r100 is pretty arbitrary as still handled by swrast anyway.
+ Also fix r300 limits (except 3d I've no idea what the max is anyway so
+ keep using mesa default).
+
+commit cdbcb051d93836861bc4d4e1027156111ac249d2
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Jun 25 13:26:52 2009 +1000
+
+ radeon/r200: add some hw texture limits
+
+commit 69fd0cbaa2ac259101f647ad0934b626f382674f
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Jun 25 12:13:17 2009 +1000
+
+ radeon: fix stupidity in cs space check code.
+
+ This was already correct in the GEM code
+
+commit bc5c40d7d99a51f5b6080bf85080e4984e528dfd
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 24 08:57:48 2009 -0600
+
+ intel: fix additional merge conflicts missed in previous commit
+
+commit a04af335a42ce3b28e59ff9b85b2bd433a9d7b12
+Merge: d60b2c6 c25534f
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 24 08:54:37 2009 -0600
+
+ Merge branch 'mesa_7_5_branch'
+
+ Conflicts:
+
+ src/mesa/drivers/dri/i915/i915_tex_layout.c
+ src/mesa/drivers/dri/i965/brw_wm_glsl.c
+ src/mesa/drivers/dri/intel/intel_buffer_objects.c
+ src/mesa/drivers/dri/intel/intel_pixel_bitmap.c
+ src/mesa/drivers/dri/intel/intel_pixel_draw.c
+ src/mesa/main/enums.c
+ src/mesa/main/texstate.c
+ src/mesa/vbo/vbo_exec_array.c
+
+commit d60b2c68552a2729dfdb33c2bac4822453cf8ae2
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Jun 24 02:42:41 2009 +0200
+
+ identity: Add new identity driver
+
+ This driver does no transformation of the gallium calls
+ going to the real driver, like the identity matrix. It is
+ intended to be the basis for transforming and/or debug
+ drivers like trace and rbug.
+
+ Authors of this patch are:
+ Michal Krol, orignal heavy lifting.
+ José Fonesca, object wrapping code stolen from trace.
+ Jakob Bornecrantz, put it all toghether and renamed a stuff.
+
+commit b8e638d4895d2d342306bb6443a455f73903ce20
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jun 23 19:31:43 2009 -0700
+
+ i965: Disable texture tiling by default.
+
+ I haven't fixed all the regressions yet, and it'll be easy to re-enable when
+ the known problems are fixed.
+
+commit b72dea5441e8e9226dabf1826fa3bc129c7bc281
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jun 23 19:30:25 2009 -0700
+
+ i965: Set the max index buffer address correctly according to the docs.
+
+ It's the last addressable byte, not the byte after the end of the buffer.
+
+commit d43599afef046a36ae75a29eaea941eb04929abf
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jun 23 19:29:35 2009 -0700
+
+ i965: Don't set a reserved bit in MI_FLUSH.
+
+ I noticed this when this MI_FLUSH showed up in IPEHR for the ut2004 hang.
+ Not setting the reserved bit didn't help, though.
+
+commit 5ca800e1006555ea1c5dcbbc56c35838c9f04994
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Jun 22 16:33:29 2009 -0700
+
+ dri2: Refresh the fake front contents after glXSwapBuffers().
+
+ Bug #19177.
+
+ Reviewed by: Ian Romanick <ian.d.romanick@intel.com>
+
+commit 9c0ba017c8ff7caafc3ff94da3c035e687231596
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Jun 22 16:23:56 2009 -0700
+
+ i965: Fix depth-texture Y-tiling detection for sized internal formats.
+
+ Fixes assertion failure on norsetto shadow mapping demo.
+
+commit e0a4e25f938953201fef2bf702e2e709451200f4
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Jun 22 15:39:37 2009 -0700
+
+ i965: Fix packed depth/stencil textures to be Y-tiled as well.
+
+ Fixes shadowtex.c. And an assert is added to catch this sooner next time.
+
+commit 1593a1bb3435728806f66fff72a90e72a9616083
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Jun 22 15:23:38 2009 -0700
+
+ intel: Bail on blits with non-tile-aligned offsets.
+
+commit 8f81a6468fdbc7320800ea497791e3e1b8f782ca
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Jun 22 11:00:11 2009 -0700
+
+ intel: Avoid trying to do blits to Y tiled regions.
+
+ This is somewhat nasty, but we need to do Y-tiled depth for FBO support.
+ May help with corruption and hangs since enabling texture tiling, and
+ since switching depth textures to Y tiled.
+
+ Fixes piglit depthtex.c on 965.
+
+commit 246d59c29e3e5a57dcf2f60ad429eb1606193ef0
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Jun 22 11:20:18 2009 -0700
+
+ intel: Fix some potential writes to zero-copy PBOs when used as regions.
+
+ I was in the midst of fixing some blitting-with-Y-tiled issues when I
+ noticed this. Hopefully PBO usage will be a little more robust, as a
+ result.
+
+commit 6a49473ab5797b1e6ce021e396902f9cb77674ef
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Jun 22 10:54:50 2009 -0700
+
+ intel: Remove long-unused intel_region_fill and intelEmitFillBlit.
+
+commit a9b03aaebf7ada116d0c63a0f00b50e7b5b2f1eb
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Jun 22 11:54:02 2009 -0700
+
+ intel: Refuse to do texture tiling if we don't have the kernel support.
+
+commit 4f1e141c116a1c230db7adfd1b70f09d484aa19b
+Author: Pauli Nieminen <suokkos@gmail.com>
+Date: Tue Jun 23 16:43:00 2009 +0200
+
+ Fix crash when debug output is enabled and sarea is notset in r200Clear
+
+commit 70e72070fce6aa1e0918dcc62c1949465cee69f7
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Jun 22 18:22:51 2009 -0700
+
+ mesa: From float type modifier from values to large for singles
+
+ The values 2147483648.0 and 4294967294.0 are too larget to be stored in single
+ precision floats. Forcing these to be singles causes bits to be lost, which
+ results in errors in some pixel transfer tests.
+
+ This fixes bug #22344.
+
+commit a31118c25a0e2b95008683ca4be2ca635f0dbfa4
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 22 17:49:22 2009 -0600
+
+ st/mesa: fix setup_edgeflags() regression
+
+ stobj is now non-null for the default/null buffer object. Update the
+ test to check the buffer ID to see if it's a real buffer object.
+
+commit 7a879500ac465104e330d431c7d8a0b640153100
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Mon Jun 22 23:15:21 2009 +0200
+
+ gallium-intel: Improve Xorg Makefile a bit
+
+ The real solution is to create a Makefile.template for xorg
+ drivers and use that here.
+
+commit 23170ab236f2ab95f1b35dc3619096352104a998
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Mon Jun 22 23:09:56 2009 +0200
+
+ st/xorg: Convert to template makefile
+
+commit 5d0a1d4241ccfe40fcf593edf1f5bac970db35c0
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Mon Jun 22 23:05:33 2009 +0200
+
+ st/dri: Fix typo when checking for depth formats
+
+commit c80ce5ac90b1e0ac7a72cd41c314aa2000bfecf5
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Jun 22 08:52:52 2009 -0700
+
+ i965: Fix warnings in intel_pixel_read.c.
+
+commit 2c36ed90672720966c26a8c27e222ec14b23aae6
+Author: Michel Dänzer <michel@daenzer.net>
+Date: Mon Jun 22 14:40:51 2009 +0200
+
+ intel: Fix glReadPixels regression since changing context init order.
+
+ Fixes regression in dd26899ca39111e0866afed9df94bfb1618dd363 that also
+ affected some PBO operations.
+
+commit df70d3049a396af3601d2a1747770635a74120bb
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Jun 19 22:12:52 2009 -0700
+
+ intel: Also get the DRI2 front buffer when doing front buffer reading.
+
+commit afc981ee46791838f3cb83e11eb33938aa3efc83
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Jun 19 22:03:37 2009 -0700
+
+ intel: Update Mesa state before span setup in glReadPixels.
+
+ We could have mapped the wrong set of draw buffers. Noticed while looking
+ into a DRI2 glean ReadPixels issue.
+
+commit dcfe0d66bfff9a55741aee298b7ffb051a48f0d3
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Jun 19 21:43:22 2009 -0700
+
+ intel: Move intel_pixel_read.c to shared for use with i965.
+
+commit 3b08a43f32d04a0522596d3d37b1c1874e04d5c3
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Jun 19 17:14:27 2009 -0700
+
+ intel: Don't map regions with drm_intel_gem_bo_map_gtt() unless they're tiled.
+
+ This fixes a regression in region read performance that came in with the
+ texture tiling changes. Ideally we'd have an access flag coming in so we
+ could also use bo_map_gtt for writing, like we do for buffer objects.
+
+ Bug #22190
+
+commit 405300bb190f516e16b704050abe3389b366ed27
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Jun 19 15:57:03 2009 -0700
+
+ intel: Fix other metaops versus GL_COMPILE_AND_EXECUTE dlists.
+
+ Fixes oglconform zbfunc.c and pxtrans-cidraw.c, at least.
+
+commit 64edde1004f7a69e77877bba24d315a92bcd47c8
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Jun 19 15:49:24 2009 -0700
+
+ intel: Fix glClear behavior versus display lists.
+
+ The CALL_DrawArrays was leaking the clear's primitives into the display
+ list with GL_COMPILE_AND_EXECUTE. Use _mesa_DrawArrays instead, which
+ doesn't appear to leak. Fixes piglit dlist-clear test.
+
+commit 396b4043f085ec09a074447bbbb835c53aa82b7b
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Jun 19 15:36:50 2009 -0700
+
+ mesa: Make VBO dlist printing use the same path as other dlist printing.
+
+ I was rather confused when mesa_print_display_list didn't show any of
+ my glBegin()..glEnd(). Nothing but print_list appears to call
+ this function, so matching its behavior seems like a good idea.
+
+commit cca30245bd6a5a713f0dc3278c37d9bd1f726e72
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Thu Jun 18 13:42:24 2009 +0800
+
+ intel: Do not access pbo's buffer directly when attaching.
+
+ pbo might be system buffer based or attached to another region. Call
+ intel_bufferobj_buffer to make sure pbo has a buffer of its own.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+ Signed-off-by: Eric Anholt <eric@anholt.net>
+
+commit ed91389618d05a3f660b34e0bac4be08134af6b7
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Thu Jun 18 13:42:23 2009 +0800
+
+ intel: Data are copied in the wrong direction when breaking COW tie.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+ Signed-off-by: Eric Anholt <eric@anholt.net>
+
+commit 1a7ec317efb2570db3fc5123a2e9b74b54df8147
+Author: Chia-I Wu <olvaffe@gmail.com>
+Date: Thu Jun 18 13:42:22 2009 +0800
+
+ intel: Fix migration from sys_buffer in intel_bufferobj_buffer.
+
+ intel_bufferobj_subdata is called to migrate data from sys_buffer, and
+ it expects only one of buffer or sys_buffer is non-NULL.
+
+ Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
+ Signed-off-by: Eric Anholt <eric@anholt.net>
+
+commit 402df41c1c7655439d22efead08153dc29fe2afd
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Sat Jun 20 00:27:36 2009 +0200
+
+ radeon: make cubemap mipmap generation work
+
+ need to pass target parameter to radeon_teximage/radeon_subteximage functions
+ otherwise mipmap generation for cube maps can't work (assert/segfault in
+ _mesa_generate_mipmap)
+
+commit 7a5c5b9af3699f55b5c5be170a791f1ac2e05457
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Sat Jun 20 00:24:03 2009 +0200
+
+ demos: make cubemap work without EXT_fbo support
+
+ use SGIS_generate_mipmap if EXT_fbo support (for manual mipmap generation)
+ is not available.
+
+commit 18af7c384cf663533f210d95d074c244d4214f29
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jun 12 16:21:20 2009 -0600
+
+ i965: interpolate colors with perspective correction by default
+
+ ...rather than with linear interpolation. Modern hardware should use
+ perspective-corrected interpolation for colors (as for texcoords).
+ glHint(GL_PERSPECTIVE_CORRECTION_HINT, mode) can be used to get
+ linear interpolation if mode = GL_FASTEST.
+
+commit 05f0d90962147ad61050bbcde42775a3422e68a5
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 10 13:46:04 2009 -0600
+
+ mesa: use larger initial refcount for NullBufferObj
+
+ Refcounting of the null/default buffer object isn't perfect yet so be
+ extra safe.
+
+commit 0854b7e972eaea1986aa956d4dffa2d6ad541b62
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 10 13:45:01 2009 -0600
+
+ mesa: use _mesa_reference_buffer_object() in a few places
+
+commit d7ea9ddf5824556e47decac7ba200f37cf1e552f
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 10 13:44:35 2009 -0600
+
+ mesa: use _mesa_reference_buffer_object() in a few places
+
+commit 193177b732175970c2ebec1faf88dc2efee57693
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jun 12 15:58:34 2009 -0600
+
+ tests: added persp_hint.c test
+
+ Test the effect of GL_PERSPECTIVE_CORRECTION_HINT on color interpolation.
+
+commit c4a5754a8c88c3777313e4aeb678966fb67b375b
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sat Jun 13 07:43:04 2009 +1000
+
+ add some info to relnotes on radeon
+
+commit 41091087396f935d4acf70b018ba54889fcf55a1
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Fri Jun 12 19:08:44 2009 +0200
+
+ r300: add support for EXT_texture_sRGB
+
+ Tested with glean/texture_srgb and wine/d3d9 tests on RV535
+
+commit d0b0df380ac6a9b421dc63531a180b3fd3017621
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jun 12 10:18:15 2009 -0600
+
+ set/mesa: enable GL_NV_texture_env_combine4
+
+ This is handled entirely in core Mesa where the combiner state is converted
+ into a fragment program.
+
+commit 1036ef2bf468611d37b5df06fc4424f2002e3837
+Merge: 917f8bc 1cd0aff
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri Jun 12 12:09:34 2009 -0400
+
+ Merge master and fix conflicts
+
+commit 5379f35a15d5c13bb0dbdab3957ad527d666d97b
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jun 11 12:10:00 2009 -0600
+
+ tests: added arbgpuprog, for compile-testing ARB vertex/fragment programs
+
+commit 509d9eb686411254b24139012b7594e10a760b6c
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jun 11 09:48:38 2009 -0600
+
+ st/mesa: additional debug code (disabled)
+
+commit fb64365642be82ac0dc0d43452afc4650d309b53
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jun 11 15:50:47 2009 -0600
+
+ demos: update fbotexture.c to use EXT or ARB functions exclusively
+
+ When the -arb option is specified we use GL_ARB_framebuffer_object intead
+ of GL_EXT_framebuffer_object.
+
+ For some vendors' OpenGL it's important to call the ARB entrypoints
+ instead of the EXT entrypoints to get correct behaviour. Use some
+ function pointer tricks to do this (instead of GLEW).
+
+commit 476685c63c15badd6c79a2794ae5cfb23a0a7ad4
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jun 11 15:50:32 2009 -0600
+
+ util: additional function pointers
+
+commit 1cd0afffc9edbcac690f8ab436aecfced26b0aba
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Jun 12 14:55:04 2009 +0100
+
+ progs/rbug: Add binary to bmp converter program
+
+commit 3fff84a999e7d564c16846340bb2b7dac75fb8b3
+Merge: 279143c c6de08f
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Jun 12 12:31:04 2009 +0100
+
+ Merge branch 'mesa_7_5_branch'
+
+commit c6de08fff483911953692693c501bc200c235dce
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Thu Jun 11 19:26:55 2009 +0100
+
+ mesa: Enable uploads of only depth to z24s8 textures
+
+commit 279143c6e808b37c333321b696d80df77f709a04
+Author: Owen W. Taylor <otaylor@fishsoup.net>
+Date: Sat Jun 6 14:46:22 2009 -0400
+
+ Disable SGI_swap_control extension for DRI2
+
+ We currently don't have support for SGI_swap_control for direct
+ contexts with DRI2, so disable reporting the extension. Reporting
+ the extension, and then having glXSwapIntervalSGI() "succeed"
+ but do nothing can confuse applications.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=22123
+
+commit d0fab94842b18dbd4027f5565804ca6884646240
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Jun 12 11:37:13 2009 +1000
+
+ radeon: fix size of mipmap texture array
+
+commit a5d92d7ed208d20c788889640503fa61b2d38851
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Jun 12 11:35:10 2009 +1000
+
+ radeon/r200/r300: fix max texture levels assert
+
+ use the actual value set in the context
+
+commit 7f223ff89172069dbad987f592aea2a8ba16355f
+Merge: 8770611 67bbfb9
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Jun 12 11:17:32 2009 +1000
+
+ Merge remote branch 'main/radeon-rewrite'
+
+commit 917f8bc1a85e61311cef6478127b387df70fba14
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Thu Jun 11 18:24:41 2009 -0400
+
+ Add RV740 support
+
+commit 67bbfb9c68d0bf459f706a4cb50caf8245a37a34
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Wed Jun 10 17:05:38 2009 +0200
+
+ r300: fix VAP setup
+
+ If GL context had e.g. tex0, tex2 and fog the VAPOutputCntl1 returned 0x104 instead of 0x124 - that meaned we're sending only 8 texcoords (instead of 12) which ended up in GPU hang.
+
+commit 234797564dea00c1463faa7a7791df466f52a91b
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Wed Jun 10 16:58:15 2009 +0200
+
+ r300: fix for SW TCL path
+
+ We shouldn't use i variable for SWTCL_OVM_TEX because textures doesn't have to be enabled in "packed" order.
+ We could have tex1,tex3 and fog which would receive 7,9,8 OVM locations instead of 6,7,8.
+
+commit 8d728b8fe73d935308275ad0a21c67e2e22029c4
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Wed Jun 10 16:56:51 2009 +0200
+
+ r300: don't send unused attributes for SW TCL path
+
+commit b5d49cb195eef4c0bf8288c3d675513244b46dbb
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Wed Jun 10 16:04:35 2009 +0200
+
+ r300: send only RS_IP_* regs that we are going to use
+
+commit 2b5f8d2b5514cf6239e822b8fd24a752e35cf7eb
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Thu Jun 11 00:43:55 2009 +0200
+
+ r300: fix RS setup when no colors and textures are sent to FP
+
+ RS_COL_FMT field is part of RS_IP_* reg not RS_INST_*
+
+commit 34cb4b6be36ccb03b4c0c76ecc3587984dd284dc
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Wed Jun 10 04:09:33 2009 +0200
+
+ r300: r500 fragment program fixes
+
+ - when rewriting per component negate swizzle, first instruction should get not negated source
+ - KIL instruction ignores swizzles
+
+ TODO:
+ - tex instructions does not support saturation
+ - tex instructions cannot read from consant memory
+
+commit e21e82f42549aa78214f3339a13b79791406dde0
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sun Jun 7 21:27:52 2009 +0200
+
+ radeon: increase max bo count
+
+commit 9abc72d1fc0aada59a76bd602ebc36db9a729b5b
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sun Jun 7 21:34:44 2009 +0200
+
+ r300: fix a GPU lock up
+
+ Sending from VAP more texture coordinates than RS expects results in GPU hang.
+
+ Fixes BumpSelfShadow from DirectX8 SDK.
+
+commit de19eb0b0dba08b2ad3829b7ced94931139af843
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Fri Jun 5 18:32:05 2009 +0200
+
+ r300: fix vertex program bug
+
+ If the vertex program didn't write position attribute, the position invariant function would add necessary instructions, but the vertex position would be overwritten by artificial outputs insts added to satisfy fragment program requirements.
+
+ Fixes "whole screen is gray" problem for HW TCL path in sauerbraten when shaders are enabled, and whole slew of wine d3d9 tests.
+
+commit 2611e92da59ed3aedb0627889e185b63d4e5a532
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Fri Jun 5 18:27:00 2009 +0200
+
+ r300: move some code for easier debugging
+
+commit 52645c46475bf959f43adb2a8244568b2f607f98
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Fri Jun 5 18:23:55 2009 +0200
+
+ r300: print vertex program when debugging is enabled
+
+commit 28724b575d2c003d7f10f55dcb03ac969df94389
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Fri Jun 5 18:14:15 2009 +0200
+
+ r300: fix output register allocation for vertex shaders
+
+ If the vertex program wrote secondary color without primary color, the secondary color output register index would be 0 which resulted in overwriting vertex position in some cases.
+
+commit b4ebd1c191e6760b334c35fa1df025ad129cc449
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Fri Jun 5 18:00:58 2009 +0200
+
+ r300: hw doesn't support saturation for tex instructions
+
+commit 3754c4135cb29e23bd81d573af458742e9a624b2
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jun 11 14:55:25 2009 -0600
+
+ mesa: rework vertex shader output / fragment shader input attribute matching
+
+ Before, if a vertex shader's outputs didn't exactly match a fragment
+ shader's inputs we could wind up with invalid TGSI shader declarations.
+ For example:
+
+ Before patch:
+ DCL OUT[0], POSITION
+ DCL OUT[1], COLOR[1]
+ DCL OUT[2], GENERIC[0]
+ DCL OUT[3], GENERIC[0] <- note duplicate [0]
+ DCL OUT[4], GENERIC[2]
+
+ After patch:
+ DCL OUT[0], POSITION
+ DCL OUT[1], COLOR[1]
+ DCL OUT[2], GENERIC[0]
+ DCL OUT[3], GENERIC[1]
+ DCL OUT[4], GENERIC[2]
+
+commit 322e8556b91ceb80d4a53129cbb5db99087085f1
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jun 11 14:55:14 2009 -0600
+
+ mesa: add default function for ctx->Driver.CheckQuery() hook
+
+commit 0ddc38309a4ecbe7db4a9e6055d7855d00e6ab7b
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jun 11 20:46:07 2009 +0100
+
+ python/retrace: Show the contents of the depth/stencil and surfaces before/after transfers.
+
+commit e1700009b7cfc5f9a136649d7fd6e0f13ae4e7ad
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jun 11 19:24:48 2009 +0100
+
+ python/retrace: Interpret is_texture_referenced/is_buffer_referenced.
+
+commit d5ba39ad08f098f377fd258edb904aa7d64ab434
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jun 11 19:05:46 2009 +0100
+
+ wgl: Fix prototype.
+
+commit 877061141ae263128eac8ec1f1077f34e52651fa
+Merge: bf89ecb de413b1
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jun 11 19:03:54 2009 +0100
+
+ Merge branch 'mesa_7_5_branch'
+
+commit de413b1ba9f30771bceacdbc160192d964a1ca63
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jun 11 18:53:47 2009 +0100
+
+ mesa: Use new pf_is_depth_and_stencil inline.
+
+commit 3f2e006b759705abd7c409d30f9aeb1f2a75b83f
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jun 11 18:53:23 2009 +0100
+
+ gallium: New pf_is_depth_and_stencil / pf_is_depth_or_stencil inlines.
+
+commit 7cafd49c936ba9727c3077af8c84afe81b6fa0b4
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jun 11 18:52:17 2009 +0100
+
+ mesa: Use PIPE_TEXTURE_USAGE_DEPTH_STENCIL for any depth or stencil format.
+
+commit 862c7b8cd34ff5606465b97b09fd5fafda50c33b
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jun 11 18:50:36 2009 +0100
+
+ mesa: Remove dead code.
+
+commit bb0b954f1265bd6e50ef1fdade7917863477fa8c
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jun 11 10:40:19 2009 -0600
+
+ st/mesa: fix typo s/BFC0/BFC1/
+
+commit 9d5479eeeb84a0a8d909e329b1e8e9888d424900
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 10 13:00:35 2009 -0600
+
+ vbo: fix assertion, #define IMM_BUFFER_NAME
+
+ This was sometimes seen when Glean exited upon test failure when using
+ Gallium.
+
+commit bf89ecb6c92aaaeccd7b6f093cb8bae9fd56aaf6
+Merge: 0d2ac7a cc09724
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jun 11 16:34:56 2009 +0100
+
+ Merge branch 'mesa_7_5_branch'
+
+ Conflicts:
+ src/mesa/state_tracker/st_cb_fbo.c
+ src/mesa/state_tracker/st_framebuffer.c
+
+commit cc09724a50a4cabb68b7c5f5b8d3812d38f65391
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jun 11 16:21:00 2009 +0100
+
+ python/tests: Test sampling from a depth texture.
+
+commit 41cf68153568d4e75ff3cda627293d101f8a8003
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Thu Jun 11 15:37:53 2009 +0100
+
+ mesa: Only do read write when we don't have a depth value to write
+
+commit e3f14f2f3bdd66400d02f0f9076593db609874a8
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jun 11 13:19:34 2009 +0100
+
+ progs: Port fp programs to GLEW.
+
+commit 48d816b8fff5d01b8c35bd2f933220e41d976e4c
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jun 11 12:23:09 2009 +0100
+
+ mesa: Take the format from the right structure.
+
+commit 96aca15c9d5b6f03fc9b407f02d6966fffeb4f5d
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jun 11 11:47:20 2009 +0100
+
+ meas: Use a read/write transfer when writing stencil component, but not touching the depth component.
+
+commit b445e5486804581ba4a7d1fce80c3ad2ed773325
+Author: Jerome Glisse <jglisse@redhat.com>
+Date: Thu Jun 11 11:06:14 2009 +0200
+
+ r300: fix indexed primitive rendering when using memory manager
+
+commit 1d8d4cad6a30b994f5bea6873525966a965c5997
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Thu Jun 11 01:54:40 2009 -0400
+
+ Properly set aos_count
+
+ This is used by radeonReleaseArrays to free AOS.
+
+commit 0d2ac7a10b2904eda70794534a9a73b3f4b654cf
+Author: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+Date: Thu Jun 11 00:54:06 2009 +0200
+
+ dri st: Don't require the PIPE_TEXTURE_USAGE_RENDER_TARGET property for depth- and stencil renderbuffers.
+
+ Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+
+commit 550a2fe1b70ae8bd3126c19cc41629296936d211
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Thu Jun 11 12:11:37 2009 +0200
+
+ scons: Indent abbreviated command line strings, so command messages stand out.
+
+ Also add ASPPCOMSTR.
+
+commit 3885b708fdbb7bbd5dd3a247c41fb9a75ee7c057
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Thu Jun 11 12:09:10 2009 +0200
+
+ intel: intel_texture_drawpixels() can't handle GL_DEPTH_STENCIL.
+
+ Fixes glean depthStencil test.
+
+commit 7ac2f655f845a7a100939a9b1b2251535055ab84
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Jun 10 18:02:20 2009 -0400
+
+ move radeon_set_screen_flags() up so CHIP_FAMILY is set before using it
+
+ fixes last commit.
+
+commit 51507b0e94ffb375a040ef751a435c2e196ee748
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Jun 10 17:56:05 2009 -0400
+
+ Use correct scratch reg offset for r6xx/r7xx
+
+commit 337f559cd2d98a858719cb963450fef2256e83f7
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Jun 10 21:29:25 2009 +0100
+
+ mesa: Reverse s8z24 into z24s8 as required by EXT_packed_depth_stencil.
+
+ Actually, after spotting this problem, I realized this is unreachable
+ code. However don't bother to enable this fast path now, given the normal
+ path is working just fine.
+
+commit 8fa8669aeba45d1b57f3cc41429578d55cad378a
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Jun 10 21:25:54 2009 +0100
+
+ mesa: Fix typo in bitmask.
+
+commit 0a4fcabe4451af6472245e2630f8c8834aa9d351
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Jun 10 19:58:54 2009 +0100
+
+ mesa: Fix draw_stencil_pixels for PIPE_FORMAT_Z24S8_UNORM.
+
+ Reversed component order.
+
+ This fixes glean depthStencil test failures for PIPE_FORMAT_Z24S8_UNORM
+ visuals.
+
+commit dbab657fe7842c9ea5315189f31fb3c7238c0158
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 10 12:22:36 2009 -0600
+
+ glsl: fix warnings, update comments, s/TRUE/GL_TRUE/
+
+ (cherry picked from master, commit 7fdd64ab29576e607434fb8c82ddfa61e8ea6aa8)
+
+commit 9225b67383ee5c5b511b84838fd248b85403bd92
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 10 12:21:56 2009 -0600
+
+ glsl: Handle continuation characters in preprocessor.
+
+ (cherry picked from master, commit cc22620e4b11425997f3bc1fc70f4c88cec22d2e)
+
+commit 7fdd64ab29576e607434fb8c82ddfa61e8ea6aa8
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 10 12:16:15 2009 -0600
+
+ glsl: fix warnings, update comments, s/TRUE/GL_TRUE/
+
+commit cc22620e4b11425997f3bc1fc70f4c88cec22d2e
+Author: Michal Krol <michal@vmware.com>
+Date: Wed Jun 10 19:45:00 2009 +0200
+
+ glsl: Handle continuation characters in preprocessor.
+
+commit 88527220e44fd36c317f73e667bc6abebb0af112
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 10 09:18:22 2009 -0600
+
+ swrast: fix state validation bug for changing program constants
+
+ Add _NEW_PROGRAM_CONSTANTS to _SWRAST_NEW_DERIVED.
+ This makes sure that we update the fragment shader's constants when state
+ vars (such as point size) changes.
+ Fixes the progs/glsl/points.c demo.
+
+commit 506989b20e18be0d2b849ad17710108832040207
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 10 08:39:58 2009 -0600
+
+ glsl: Fix symbol replacement handling in preprocessor.
+
+ (cherry picked from master, commit d9617deb008b75f4a605a30408aeb1948139c33e)
+
+commit 6f50c9865d96a704cf47f59c3c21b4686bddf1f8
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 10 08:39:10 2009 -0600
+
+ mesa: disable texture unit error check in _mesa_MatrixMode()
+
+ See comments for details.
+
+commit 5450281ff75eab0cccdf7a926aed7e04132d3c95
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 9 11:56:12 2009 -0600
+
+ docs: document GLSL preprocessor fixes
+
+commit 4d16eb5e180734638fac38a8ce88541926f75c21
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Jun 10 15:39:47 2009 +0100
+
+ util: Single precision constants.
+
+commit 978bca8b2a7869e875fc205f29751d31178d2281
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Jun 10 15:39:34 2009 +0100
+
+ mesa: Single precision constants.
+
+commit 52411a1951da10bebc439a30c02c7ca99bc27c9c
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Jun 10 15:39:02 2009 +0100
+
+ mesa: Pure software accum buffer.
+
+ The existing implementation was already implemented on software, but relied
+ on the pipe driver to always support the R16G16B16A16_SNORM format. This
+ patch eliminates that, without prejudice against a future hardware-only
+ implementation.
+
+ It also avoids some of the short <-> float conversions, and only does a read
+ transfer of the color buffer on GL_RETURN if absolutely necessary.
+
+commit 8bfbb7ec8b978d4b56ad6be7dca0290a96e91e6a
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Jun 10 15:31:12 2009 +0100
+
+ gallium: Shorthand functions for computing stride and sizes for a rect.
+
+commit aebc08b5ccc6ac2a7c6673e93c63b097c7734e6d
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 9 11:10:09 2009 -0600
+
+ gallium: updated PIPE_CAP_x comments
+
+commit 316598b96f07a38752c0c0f534feb025ee2a3235
+Author: Jerome Glisse <jglisse@redhat.com>
+Date: Wed Jun 10 14:59:33 2009 +0200
+
+ r300: make sure indexed rendering doesn't try to use more than the num of vertices
+
+ When with memory manager we need to make sure the GPU won't try to access
+ beyond vertex buffer size, do so by enforcing that the maximun index is the
+ last vertex of the buffer.
+
+commit ded8eb25ef149cf7d2cde4169d36f528cf74d22d
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 9 22:01:55 2009 -0600
+
+ st/mesa: enable EXT_provoking_vertex
+
+commit 0195cc1c0d45cd85e6abf3fcb6ff304b80e8ba05
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 9 22:00:22 2009 -0600
+
+ tests: prim.c demo, modified for GL_EXT_provoking_vertex
+
+commit 39fd18014c166ba9788ed0abf82d69fb9d83eb7d
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 9 21:59:36 2009 -0600
+
+ tests: need tkmap.c for prim.c
+
+commit 8b45c9ce6e17f9b74f49d308eda3da1c768bc726
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 9 21:53:34 2009 -0600
+
+ draw: implement flatshade_first for drawing pipeline
+
+commit 5aec03aaf45ce83cb203849bb3f13c336b232822
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 9 21:52:37 2009 -0600
+
+ softpipe: implement flatshade_first for triangles
+
+commit 6f26f8c750d087211e266e9a228d4c4db473c31f
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 9 21:51:29 2009 -0600
+
+ softpipe: implement flatshade_first for line setup
+
+commit 530e3e389dfb3957b872d08906dcea830407b0c2
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue Jun 9 18:20:57 2009 -0400
+
+ Pull in additional state setup from the DDX
+
+commit 76a1017e978f8e51114d765c8c98ff25da13042b
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Jun 9 18:32:18 2009 +0100
+
+ mesa/st: fix tracking of mapped buffer ranges
+
+ In st_bufferobj_map_range(), set obj->Offset consistently with its
+ usage elsewhere.
+
+commit 9192347443bc3db9ebeb4b5cc090133b63396b04
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Jun 9 16:35:55 2009 +0100
+
+ stw: ignore swapbuffer requests on singlebuffer
+
+ Return TRUE in this case. Returning FALSE seems to result in
+ mis-rendering -- possibly opengl32.dll is trying to compensate by
+ doing a software blit??
+
+commit cb549775a577cc5c86fefdc7e208b9d5e1d25217
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 9 09:14:38 2009 -0600
+
+ glsl: Expand nested preprocessor macros.
+
+ (cherry picked from master, commit ef8caec29ae73bb2bbeb48f0578d839ef29348cd)
+
+commit ee98ae5a29ca870149c4a0d2a8f25f55e0fd333a
+Merge: d9617de 76a1017
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Jun 9 07:53:25 2009 +0200
+
+ Merge branch 'mesa_7_5_branch'
+
+ Conflicts:
+
+ Makefile
+ src/mesa/main/version.h
+ src/mesa/shader/slang/slang_preprocess.c
+ src/mesa/state_tracker/st_cb_bufferobjects.c
+
+commit d9617deb008b75f4a605a30408aeb1948139c33e
+Author: Michal Krol <michal@vmware.com>
+Date: Wed Jun 10 12:15:13 2009 +0200
+
+ glsl: Fix symbol replacement handling in preprocessor.
+
+commit 03760a3903028759032efe9806ea39804db7fba0
+Author: Michal Krol <michal@vmware.com>
+Date: Wed Jun 10 12:01:13 2009 +0200
+
+ winsys/gdi: Link to ws2_32 library.
+
+commit 1b334587e998ea84fd0fa9276e3373e3ecef1e5b
+Author: Michal Krol <michal@vmware.com>
+Date: Wed Jun 10 11:56:38 2009 +0200
+
+ trace: __func__ --> __FUNCTION__.
+
+commit b30dc2c66aeaad6661eef515a08a3da89aa07cb2
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jun 9 16:12:43 2009 -0700
+
+ i915: Add an option for testing the effect of early Z in classic mode.
+
+ The early Z stuff is supposed to be unsafe without some more work in the
+ enable/disable path (in particular, how do we want to get it disabled on
+ the way out to the X Server?), but at the moment is 6% in OA.
+
+commit 38eddf04ed04966db09b67de4cdabef681dc2696
+Author: Eric Anholt <eric@anholt.net>
+Date: Sat Jun 6 07:22:00 2009 +0000
+
+ intel: Remove an unneeded hunk that slipped in with texture tiling.
+
+ intel_miptree_pitch_align does this later on.
+
+commit 13624848401679f7ee904aa731d520792a5e523e
+Author: Eric Anholt <eric@anholt.net>
+Date: Sat Jun 6 00:52:21 2009 +0000
+
+ intel: Base tri clearing depth on Y tiling, not IS_I965().
+
+ Y tiling is why the 965 check was there, but I wanted to experiment with Y
+ on pre-965 as well.
+
+commit 2d57e9640819c7889304d1de9dd5500a1a0f66de
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Jun 5 15:14:15 2009 +0000
+
+ intel: Fix intel_region_unmap to do unmap, not map.
+
+ Thanks to Shuang He for catching this.
+
+commit a03b349153660e449daf4f56d750f1caef23b1a5
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 9 15:07:39 2009 -0600
+
+ i965: added intelFlush() call in intel_get_tex_image()
+
+ Fixes the render-to-texture test in progs/tests/getteximage.c
+
+commit 29c79a03a42365b4bf828c81ab8676e3e42cfbaf
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 9 15:06:41 2009 -0600
+
+ tests: check for GL_EXT/ARB_framebuffer_object
+
+commit 073c20befa28177cf1276bfb8c75f6638d588580
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 9 15:05:36 2009 -0600
+
+ tests: also test glGetTexImage with render to texture
+
+ Also, adjust texture dims for the original test.
+ And use GLEW.
+
+commit 139f2ddde4fcfdaa7d8bbb86e946274be3733e71
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 9 14:03:25 2009 -0600
+
+ tests: quick and dirty glGetTexImage() test program
+
+commit b38dbc51793b9007de147eff452d535410ef7c55
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 9 13:28:20 2009 -0600
+
+ intel: use GLboolean, not int, for compressed parameter
+
+commit 89205a8760b8a4651962b1ff0206699cbcd78d75
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 9 13:21:22 2009 -0600
+
+ intel: make a bunch of glTexImage-related functions static
+
+commit 4eb9e58bbb3b2b9db4c795134b2daa2ecf29fd20
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 9 13:09:05 2009 -0600
+
+ intel: whitespace clean-ups
+
+commit c55f1a6c9917a87cc6b29808b4132b83cf516e05
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 9 12:17:19 2009 -0600
+
+ vbo: more glDrawElements debug code (disabled)
+
+commit 4a7fd6323afde7cbe22097ba71a149876a75bc58
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 9 11:53:19 2009 -0600
+
+ mesa: added a simple bounds checker to glMap/UnmapBuffer() (disabled)
+
+commit 41482a6461fadc0113f39f0e81f9fb91248faa8a
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Jun 9 19:24:06 2009 +0100
+
+ trace/rbug: Add support for draw block rule
+
+commit f3cf3d2fc2c0cb09cb1c18c08a135009904166b7
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Jun 9 19:22:40 2009 +0100
+
+ rbug: Change block protocol around a bit
+
+commit b71a254f057269f8eca162a729830dde5981e138
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Jun 9 15:59:29 2009 +0100
+
+ trace/rbug: Return textures currently bound to context
+
+commit f0c21c02945f8379decfa3b2f294651d6b5af8ef
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Jun 9 15:58:14 2009 +0100
+
+ rbug: Extend context info and block ops
+
+commit 42e9bde0fa2276b8f5bb434328eea7665794b127
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 8 14:41:54 2009 -0600
+
+ intel: remove extra \n from warning string
+
+commit a81097c545f089610326d528296d8f1f25ac06a7
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 8 15:27:10 2009 -0600
+
+ mesa: reorder fields, update comments for gl_buffer_object
+
+commit ef8caec29ae73bb2bbeb48f0578d839ef29348cd
+Author: Michal Krol <michal@vmware.com>
+Date: Tue Jun 9 12:14:40 2009 +0200
+
+ glsl: Expand nested preprocessor macros.
+
+commit 18b3cbcede292ce7b90b818b6abb064869072ff3
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Jun 9 13:52:58 2009 +1000
+
+ radeon: fix mipmap_limits crasher.
+
+ This gets the correct srclvl image map when uploading images to the new mipmap.
+
+commit c534604800e2ea14991acb83fe4c68ffcdb7b661
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Jun 8 20:23:34 2009 -0700
+
+ r300-gallium: HW TCL glxgears. (Read the rest of the log.)
+
+ Um. So, yeah. Two massive WTF moments here. The first one is that, somehow,
+ I never actually hooked up vertex shader emission, so the only time that the
+ VAP gets set up is during surface_copy/surface_fill. That's why acidgears
+ was happening.
+
+ The second one is that, somehow, once I actually hooked it up, glxgears just
+ magically worked. Without any actual, real testing, I somehow accidentally
+ made the shader compiler work. Go figure.
+
+commit cb3b91f2d633ded4fb3e0c595a2c34ee139e9b10
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Jun 8 20:01:57 2009 -0700
+
+ r300-gallium: Make UCP and clip work again for SW TCL.
+
+ SW TCL: tri-clip works, tri-userclip works
+ HW TCL: tri-clip fails, tri-userclip works
+
+ That is a 200% improvement over the previous situation. Woot.
+
+commit ffa1972efb2100fd9a58e3add856852321c3c8ca
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Jun 8 19:55:33 2009 -0700
+
+ r300-gallium: Don't emit UCP planes for SW TCL.
+
+commit 8d0f72e8f901e12841408b95963d43684fb6ce48
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 8 17:07:21 2009 -0600
+
+ st/mesa: enable GL_ARB_map_buffer_range
+
+commit e297569d653a69b2636581fbc5ab568849efc090
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 8 17:06:13 2009 -0600
+
+ docs: new feature: GL_ARB_map_buffer_range
+
+commit e75b283b45add351dbe5a09289fe85546df8a79a
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 8 17:02:36 2009 -0600
+
+ mesa: implement GL_ARB_map_buffer_range
+
+ Only enabled for software drivers at this point.
+
+ Note that the gl_buffer_object::Access enum field has been replaced by
+ a gl_buffer_object::AccessFlags bitfield. The new field is a mask of
+ the GL_MAP_x_BIT flags which is a superset of the old GL_READ_ONLY,
+ GL_WRITE_ONLY and GL_READ_WRITE modes. When we query GL_BUFFER_ACCESS_ARB
+ we translate the bitfield into the conventional enum values.
+
+commit 75cb3c3b7a9db75ec4df63158bf268bb49b62bf4
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 8 17:00:12 2009 -0600
+
+ mesa: regenerated files for GL_ARB_map_buffer_range
+
+commit 9c4ab6f4cc040ac99f69ed6896f0e22e411a731d
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 8 16:59:53 2009 -0600
+
+ glapi: hook in ARB_map_buffer_range.xml
+
+commit b6bc5f37a5575ae4a21c3141e910907e0d5f2e27
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 8 16:58:45 2009 -0600
+
+ glapi: spec/xml file for GL_ARB_map_buffer_range
+
+commit 34bb024cf2d02d5d5cb672ead05fa131bdff6dd8
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 8 16:11:17 2009 -0600
+
+ st/mesa: fix incorrect bufObj Length assignment, remove unneeded assertion
+
+commit 462a9525c78d5757afd2a8d4dc60afc68a69579b
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 8 15:27:10 2009 -0600
+
+ mesa: reorder fields, update comments for gl_buffer_object
+
+commit 7eed6ab5b525b75f690d05042c90d05827253114
+Author: Jon TURNEY <jon.turney@dronecode.org.uk>
+Date: Mon Jun 8 16:02:18 2009 +0100
+
+ Cygwin build fixes
+
+ Fix mklib to deal with NOPREFIX and use --enable-auto-image-base for cygwin
+ Teach configure.ac some basic facts about cygwin
+
+ Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
+
+commit 304ba4bba44057aa21f0ae434e49b1e09ab7d039
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 8 13:53:33 2009 -0600
+
+ glsl: Fix preprocessor define argument parsing for dead sections.
+
+ (cherry picked from master, commit 19a54d9f1055c366fd77026dd67007a8d5921f58)
+
+commit 19a54d9f1055c366fd77026dd67007a8d5921f58
+Author: Michal Krol <michal@vmware.com>
+Date: Mon Jun 8 20:52:47 2009 +0200
+
+ glsl: Fix preprocessor define argument parsing for dead sections.
+
+commit 77c329a2773820c57e7b286858e80a596f89ef94
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Mon Jun 8 16:46:06 2009 +0200
+
+ pipebuffer: Silence out of heap space debug print
+
+commit 854151ba62e4b1cb6a755f6c131ee2e0f680f39b
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 8 10:58:04 2009 -0600
+
+ glsl: preprocessor debug code (disabled)
+
+commit cc26e2774615d5e18a0e19270a40b7dd1e4e99df
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 8 10:56:51 2009 -0600
+
+ docs: document MESA_EXTENSION_OVERRIDE env var
+
+commit f9c0ce0e073cd60f632de3a0588a111b92a602dd
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 8 10:55:34 2009 -0600
+
+ softpipe: advertise PIPE_CAP_MAX_TEXTURE_ANISOTROPY as 16.0
+
+ Note that this doesn't have any real significance since
+ PIPE_CAP_ANISOTROPIC_FILTER still returns 0.
+
+commit a6f266361693c6b9a5639ba7176925feb26f64c9
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 8 10:52:16 2009 -0600
+
+ mesa: new MESA_EXTENSION_OVERRIDE env var
+
+ Can be used to enable/disable extensions as reported by
+ glGetString(GL_EXTENSIONS).
+
+ If a name is preceeded by '-' it's disabled. Otherwise, the named
+ extension is enabled.
+
+ Intended for debug/test purposes.
+
+commit b6753adbc71a2d13e8ec095251f62cb267429de7
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 8 10:44:48 2009 -0600
+
+ st/mesa: remove invalid assertion
+
+ It's legal for ARB_vertex_program programs to not write to result.position.
+ The results are undefined in that case. This assertion was causing us to
+ abort/exit though.
+
+commit e09f78d8dc7f20bb11f84206b6f1d71418332d8a
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Jun 8 16:29:46 2009 +0100
+
+ mesa: Use matching signedness for the counter as upper bound.
+
+commit 42678dba941b5a734e6aa03b530653d9c5341a70
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Jun 8 16:27:59 2009 +0100
+
+ mesa: Allocate tokens from the heap.
+
+ The recent increase ST_MAX_SHADER_TOKENS to 8K causes stack overflows on
+ windows.
+
+ Failure to allocate is not being propagated to the caller. This is not
+ a regression since the previous _mesa_malloc result wasn't being
+ checked as well. Unfortunately it is not easy to fix, as the callers of
+ these functions do not have failure propagation mechanism either, and
+ so on. So leaving a just fixme note for now.
+
+commit 33d63277706aede31559a24c0db76b37609e76ef
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 8 09:52:31 2009 -0600
+
+ mesa: better error message for invalid texture unit index
+
+commit 0bced6a326e3520d2b280b4f6cdaadf843ce1d2d
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 8 09:42:04 2009 -0600
+
+ mesa: bump MAX_PROGRAM_ENV_PARAMS from 128 to 256
+
+ Also, MAX_NV_VERTEX_PROGRAM_PARAMS should be 96, not 128 (or 256).
+
+commit 0d3c8fbf12289a8cc081c2d68e810c4bf29d1f8d
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Jun 8 16:11:29 2009 +0100
+
+ mesa/vbo: drop all references to vbo on destroy
+
+ We were adding references to the input arrays, but failing to drop
+ them on destruction. This could lead to a 64kb buffer being leaked
+ each context destruction.
+
+commit fce4ee12a620de4ece35cef62a4562bbd4895557
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 8 07:25:24 2009 -0600
+
+ mesa: EXT_vertex_array_bgra fixes
+
+ 1) Pass the correct format when calling update_array in
+ _mesa_VertexAttribPointerARB.
+ 2) glVertexAttribPointerNV accepts GL_BGRA format too.
+ 3) raise INVALID_VALUE error when format is BGRA and normalized is
+ false in glVertexAttribPointerARB
+
+ (cherry picked from commit 4adb190a162c5ed0684a8616331344caadba4010)
+
+commit 4adb190a162c5ed0684a8616331344caadba4010
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Mon Jun 8 07:23:56 2009 -0600
+
+ mesa: EXT_vertex_array_bgra fixes
+
+ 1) Pass the correct format when calling update_array in
+ _mesa_VertexAttribPointerARB.
+ 2) glVertexAttribPointerNV accepts GL_BGRA format too.
+ 3) raise INVALID_VALUE error when format is BGRA and normalized is
+ false in glVertexAttribPointerARB
+
+commit 8d2324d355e243b350a03b6d1a9b47f8986e496b
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Mon Jun 8 14:33:55 2009 +0200
+
+ trace/rbug: Sleep on windows when blocked
+
+commit 4d9d0e62306ce1a046ff724936016a4f080cf21a
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Mon Jun 8 14:34:16 2009 +0200
+
+ stw: If stfb not set don't call into mesa
+
+commit 283e84bfb3066a3e3d778d4065b448ddd288fbb4
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Jun 3 16:33:56 2009 +0200
+
+ progs/tests: Add some scissor tests
+
+commit 78dad275646b720511dac31ca6ba0535568af81f
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jun 4 10:34:02 2009 -0700
+
+ Revert "scons: Less aggressive optimizations for MSVC 64bit compiler."
+
+ This reverts commit fc7f92478286041a018ac4e72d2ccedeea7c0eca.
+
+commit 8064a517b24169fa2b03f27bf70e3d62f54c830d
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Jun 8 18:17:21 2009 +1000
+
+ llvm: fix compile on gcc 4.4
+
+commit db63f638974f90557a52c66b0f2e9d5a92e697d0
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sun Jun 7 22:51:46 2009 +0200
+
+ r300: fix regression caused by 056bc77547c304021a0faf204897ed238a5cf424
+
+ Fixes GPU hangs in software TCL path
+
+commit 1a7739ae26fba54608c0eeaade8888aabbf34d9c
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Sun Jun 7 19:29:29 2009 +1000
+
+ nouveau: forgotten makefile...
+
+commit 545e574cd9a2a659cd9a93879dff8884bd247558
+Merge: e2aedfa f1edfa0
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sun Jun 7 16:51:32 2009 +1000
+
+ Merge remote branch 'origin/master' into radeon-rewrite
+
+commit e2aedfa62079ff1a333e1f4e56faea303cc36edb
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Thu Jun 4 08:42:29 2009 +0200
+
+ r300: Endianness fixes for recent vertex path changes.
+
+ Signed-off-by: Maciej Cencora <m.cencora@gmail.com>
+
+commit 58982f8af1496c4860fb7bf3e815977ed4a753ff
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Fri Jun 5 17:58:04 2009 +0200
+
+ r300: vertex array stride = 0 means that data are tightly packed in the array
+
+commit ca13937ef97c7779f639dcfc95b3798a11de01bd
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sun May 31 23:00:57 2009 +0200
+
+ r300: GL_(U)SHORT and GL_(U)BYTE with < 4 components can also be HW accelerated
+
+ Also when index format is GL_UBYTE, convert it to GL_USHORT not GL_UINT.
+ Fix license header too.
+
+ Reported by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit a8c7c96be717fb65d23aea7a21f9f3969c4de53f
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat May 30 16:12:53 2009 +0200
+
+ r300: remove unused code
+
+commit 72c78b99926aab6af38248b5aa6b0fb1f9d42005
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat May 30 13:50:50 2009 +0200
+
+ r300: rewrite vertex setup for software T&L path using functions from software TCL path
+
+commit 6cd0628f9f35cc4529b94310e5356d15080a9d04
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat May 30 15:09:19 2009 +0200
+
+ r300: prepare for some code duplication removal
+
+commit 365799caea2fce684ac9c10ff14211b5d13cc46f
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat May 30 13:19:07 2009 +0200
+
+ r300: enable EXT_vertex_array_bgra extensions
+
+commit fd80128e15c6393fa85088577ab2ca320c6cb8ae
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat May 30 20:38:29 2009 +0200
+
+ r300: add hw accelerated support for different vertex data formats
+
+commit e98082997c8cfe3bf9c1c1cdc40c23ee897d1007
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat May 30 13:28:47 2009 +0200
+
+ r300: prepare for different vertex data type support
+
+commit a27b689d08d88f99ebccf58bbba64d3cfc668866
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Wed May 27 22:17:31 2009 +0200
+
+ r300: fixup vertex attributes ordering
+
+ Always allocate the vertex program input registers in the same order as the vertex attributes are passed in vertex arrays.
+
+commit ab60a44331462b659f491dfb11e125daeb556973
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Wed May 27 22:12:56 2009 +0200
+
+ r300: always pass 4 color components to RS unit
+
+ Even if we don't pass all 4 color components to vertex shader unit, the vertex program can generate the missing components.
+
+commit f1edfa09ea50e8833ddbf241da4d36fd38685e9d
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Sat Jun 6 14:00:45 2009 +1000
+
+ nv50: fix multi-texturing
+
+commit 6c1627a51c237428a79613fcda1412c4660780de
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Sat Jun 6 10:57:19 2009 +1000
+
+ nv50: support non-normalized texture coords
+
+commit cfff2a6189b38f1ee8c8ca204e223574a5abf760
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jun 5 17:16:47 2009 -0600
+
+ mesa: bump version to 7.5-rc3
+
+commit b7aa5b1d10cbe2fd0b796538426f1f2910a4832c
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Jun 5 13:46:59 2009 -0700
+
+ r300-gallium: Use VAP_CLIP_CNTL.
+
+ Makes tri-userclip work with HW TCL.
+
+commit 1a359d983512b39783ce9f4eb842d3ea4ec012a6
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Jun 5 11:21:09 2009 -0700
+
+ r300-gallium: Emit UCP.
+
+commit 9e4590dff72b8739e787da7f0d86c7066f179186
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Jun 5 10:18:20 2009 -0700
+
+ r300-gallium: Improve vs emit.
+
+commit 4c034441a8f12e4bf60b8c5f58202d5ae00ff31d
+Author: Michal Krol <michal@vmware.com>
+Date: Fri Jun 5 15:00:15 2009 +0200
+
+ mesa: Fix wglext.h prototypes.
+
+commit d06e380e022d938a61800cbbec0004ec9f1fecfd
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Fri Jun 5 22:04:07 2009 +1000
+
+ nv50: use larger tile sizes
+
+commit a471497345bcd3aaaa52d3dc73f68367cb4af6a0
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Fri Jun 5 20:45:58 2009 +1000
+
+ nv50: use nouveau_bo for query buffers
+
+commit 1a92c71a66dd9d785906cdb78c107e63dcf48672
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Fri Jun 5 20:32:32 2009 +1000
+
+ nv50: create textures with nouveau_bo, for flexibility with tiling later
+
+commit b04470b0bce6a24a74a0ec8cf16d9d3f03aff5f2
+Author: Michal Krol <michal@vmware.com>
+Date: Fri Jun 5 14:32:31 2009 +0200
+
+ util: Fix winsock include.
+
+commit 90bfff0a295ce28143ecde98ed91eb6d8cfba23c
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Jun 5 00:12:26 2009 -0700
+
+ r300-gallium: Mute some debug info.
+
+ Most of it is no longer interesting.
+
+commit 4c66c5bf921357c94611e583d1a64f653e957765
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Jun 4 23:56:32 2009 -0700
+
+ r300-gallium: vs: Fix negation calculation.
+
+ Still doesn't draw right, but at least it's the right numbers now.
+ Thanks to taiu in #dri-devel.
+
+commit 571b36831bed3c8dd5691cad5b544667d07c60b0
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Jun 4 23:56:08 2009 -0700
+
+ r300-gallium: Fix pasta.
+
+ Trivial but annoying.
+
+commit 8652ad68992a63a275bdc3816540c39776b143b2
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Jun 4 23:25:46 2009 -0700
+
+ r300-gallium: Improve vs debug more.
+
+ Still not showing me why my stuff's failing, but getting there.
+
+commit 31609acbe9d80daea49e98f026196023a20258a0
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Jun 4 22:41:33 2009 -0700
+
+ r300-gallium: vs: Add negation, SUB.
+
+ Doesn't work. WTF.
+
+commit fb7d1fb0f0ce4137b6cb84198997241d190d13a8
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Jun 4 21:38:33 2009 -0700
+
+ r300: Moar vs debug.
+
+commit 36705ee044681da9899d0950c22ae7baa10c3d33
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Fri Jun 5 14:48:45 2009 +1000
+
+ nouveau: plug in our map_buffer_range and friends
+
+commit 40ed44991851a526f0e2cafd5dab6149cb7a3342
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Fri Jun 5 12:27:42 2009 +1000
+
+ nouveau: fix build with libdrm_nouveau 0.6
+
+commit 6b3ca672eb85d30d6c28e91000e2cc2231a41bef
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Fri Jun 5 11:21:08 2009 +1000
+
+ nouveau: remove unneeded code from ws, use pipe_buffer_ instead of ws->
+
+commit 80e9e1ee8172d1e5a81d702681897dddd9d815f1
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Fri Jun 5 10:28:13 2009 +1000
+
+ nouveau: move channel creation into pipe drivers
+
+commit 1b207d9bb81ae3385e5658a81c71fbf2fe15c18f
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Fri Jun 5 08:47:42 2009 +1000
+
+ nouveau: call notifier/grobj etc funcs directly
+
+ libdrm_nouveau is linked with the winsys, there's no good reason to do all
+ this through yet another layer.
+
+commit d4d584b16e21b24a473d3a31d361432b8fa0b945
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Thu Jun 4 21:57:53 2009 +1000
+
+ nv04: remove u_simple_screen usage
+
+commit 251c47117b6268e03f7dd033b3f98033272916f3
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Thu Jun 4 21:53:57 2009 +1000
+
+ nv10: remove u_simple_screen usage
+
+commit 74c45add474862e9c4e5063d2c5173546366bfe6
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Thu Jun 4 21:44:20 2009 +1000
+
+ nv20: remove u_simple_screen usage
+
+commit 901d7c3057d7ca3d12d5e417e376cb25ded0070c
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Thu Jun 4 21:37:59 2009 +1000
+
+ nv30: remove u_simple_screen usage
+
+commit 74adb150d595a7bc3f769bd2520c98a07bbc8531
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Thu Jun 4 21:30:41 2009 +1000
+
+ nv40: remove u_simple_screen usage
+
+commit bc466be695913cd504cefddd857ac1cefda87a04
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Thu Jun 4 10:19:04 2009 +1000
+
+ nouveau: add pipe_buffer/fence code to pipe drivers, move nv50 over
+
+commit 072fdc1fd325256d87b182d4f55c8a5838119cf0
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Thu Jun 4 16:13:56 2009 +1000
+
+ nouveau: pass nouveau_bo instead of pipe_buffer to so_ calls
+
+commit 04cef8a03799aa88ebfa1c391e29f8d2ea020d95
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Thu Jun 4 15:26:07 2009 +1000
+
+ nouveau: call nouveau_pushbuf directly rather than going through nvws
+
+commit 6453605785a3036c7e633400e4bd35bf2297b000
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Thu Jun 4 19:42:08 2009 -0700
+
+ osmesa: Link with -ldl for dlopen code
+
+ Now that the dlopen wrappers are built into libmesa.a, we need to link
+ standalone libOSMesa with libdl to resolve dlopen and friends on
+ platforms that need it.
+ (cherry picked from commit 4795dd5950d4dcd7c8d421c8fb4851c193297ba1)
+
+commit 5df64685892aea4dabee377352888d8eb58e9446
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Thu Jun 4 06:21:10 2009 -0700
+
+ osmesa: Allow building standalone in all three channel widths
+
+ autoconf had been designating the 8 bit libOSMesa as the default
+ standalone osmesa, but the Makefile expected it to be linked to libGL.
+ Fix up the osmesa Makefile so that it allows any of the combinations of
+ standalone and channel width to be built.
+
+ Fixes bug #21980.
+ (cherry picked from commit 7441dcd90b01df8351026af8bbb50e11bb86071a)
+
+commit 4795dd5950d4dcd7c8d421c8fb4851c193297ba1
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Thu Jun 4 19:42:08 2009 -0700
+
+ osmesa: Link with -ldl for dlopen code
+
+ Now that the dlopen wrappers are built into libmesa.a, we need to link
+ standalone libOSMesa with libdl to resolve dlopen and friends on
+ platforms that need it.
+
+commit 7441dcd90b01df8351026af8bbb50e11bb86071a
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Thu Jun 4 06:21:10 2009 -0700
+
+ osmesa: Allow building standalone in all three channel widths
+
+ autoconf had been designating the 8 bit libOSMesa as the default
+ standalone osmesa, but the Makefile expected it to be linked to libGL.
+ Fix up the osmesa Makefile so that it allows any of the combinations of
+ standalone and channel width to be built.
+
+ Fixes bug #21980.
+
+commit 61ffba44fd70abefd22366aa296b7afb04c6767a
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Jun 5 03:01:34 2009 +0100
+
+ trace/rbug: Use condvar on system that has it for blocking
+
+commit d4c578ae415623bdbc12885f93405b43141cc09a
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Jun 5 02:57:19 2009 +0100
+
+ gallium: Make pipe thread say if it has condvars or not
+
+commit 8c27d99eb84709013f420a7500ddfdef71ac7391
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Thu Jun 4 20:22:14 2009 -0400
+
+ re-arrange state structure
+
+ - split out renderbuffers
+ - split out shaders
+ - split our viewports
+
+ Only send the state needed.
+
+commit 76b3072e9b7b8f98e926d531c0d63a0cb294e56d
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Thu Jun 4 23:40:10 2009 +0100
+
+ trace/rbug: Add new contexts functions to trace rbug
+
+commit 384bbe278d7e634cf1af5f786bfbde651c14df62
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Thu Jun 4 14:36:10 2009 +0100
+
+ rbug: Update rbug protocol with new context calls
+
+commit b5914362300d7671ed5b5a86b51acacac6fb1abf
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Thu Jun 4 16:57:20 2009 -0400
+
+ Don't program VGT_OUT_DEALLOC_CNTL/VGT_VERTEX_REUSE_BLOCK_CNTL
+
+ These are chip specific and are programmed by the drm.
+ This should fix hangs on some chips.
+
+commit 185fbcce3644ff861c60cd73923ef7187c623564
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jun 4 14:26:51 2009 -0600
+
+ mesa: call _mesa_ funcs, not gl funcs for debugging
+
+commit 4782bebe4495fb880c42bc1414aeed08c0ebf75d
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Thu Jun 4 15:30:37 2009 -0400
+
+ use the float interface for viewport updates
+
+commit 9d58724c51c387c360d2423e29b80ddc0bfa66b7
+Merge: 81a0ef3 9424d81
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jun 4 13:16:13 2009 -0600
+
+ Merge branch 'mesa_7_5_branch'
+
+ Conflicts:
+
+ src/mesa/main/context.c
+
+commit 9424d81d18770f0c436f0876dffe07cf7c094db4
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jun 4 13:13:14 2009 -0600
+
+ softpipe: separate case for PIPE_PRIM_POLYGON in sp_vbuf_draw()
+
+ Because of flat shading, we can't use same code as PIPE_PRIM_TRIANGLE_FAN.
+ This is a follow-on to commit a59575d8fbe8b0ca053cc8366ce7a42bc660158a.
+
+ (cherry picked from commit 086ecea179ed572c89aa77c5f465671a5cef87a7)
+
+commit 6907650211d136ee7cb5a8914c32196d35a75bf3
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jun 4 13:12:13 2009 -0600
+
+ softpipe: fix incorrect tri vertex order for PIPE_PRIM_POLYGON rendering
+
+ This fixes incorrect front/back-face orientation.
+
+ (cherry picked from commit a64bbdaa3e0b036a880d6db65ceb4a66205062f1)
+
+commit d37795c45334010c70b2e1c23fca0e49ff607a6e
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jun 4 13:10:19 2009 -0600
+
+ st/mesa: increase ST_MAX_SHADER_TOKENS to 8k
+
+commit 45e744dddc8a8f3b42610bfa512bc296bd5264bc
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jun 4 13:08:52 2009 -0600
+
+ tgsi: increase MAX_LABELS to 4096
+
+commit 81a0ef3f2068448a8b544826eaa7d3382b9c769b
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jun 4 10:30:25 2009 -0600
+
+ mesa: update wglext.h to latest version
+
+commit d33c315d9e32584dea12cea683795b498a9f5eca
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jun 4 10:29:44 2009 -0600
+
+ mesa: remove PFNGL typedefs that are in glext.h
+
+commit 73a48a8af3c7fa820ba6850e6bfc51dac4ef9488
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jun 4 10:27:47 2009 -0600
+
+ mesa: upgrade glext.h to version 52
+
+ A number of the PFNGL* function typedefs are now in glext.h and must be
+ omitted from the gl.h file. gl.h will be pruned in the next commit.
+
+commit 1ba96651e12b3c74fb9c8f5a61b183ef36a27b1e
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jun 3 16:40:20 2009 +0000
+
+ intel: Add support for tiled textures.
+
+ This is about a 30% performance win in OA with high settings on my GM45,
+ and experiments with 915GM indicate that it'll be around a 20% win there.
+ Currently, 915-class hardware is seriously hurt by the fact that we use
+ fence regs to control the tiling even for 3D instructions that could live
+ without them, so we spend a bunch of time waiting on previous rendering in
+ order to pull fences off. Thus, the texture_tiling driconf option defaults
+ off there for now.
+
+commit 165ae5e2fb57bdb64b4cf01271b4effeb811f675
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jun 4 10:21:29 2009 +0000
+
+ i915: Don't rely on fence regs when we don't have to.
+
+ We're on the way to telling the kernel about when we need fence regs on our
+ objects or not, and this will cut the number of places needing them.
+
+commit 1b6f7fb7d5a9756c97e2ac2f5390b0d2333acf55
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jun 4 09:40:44 2009 +0000
+
+ i915: Remove some long-dead i830 code.
+
+commit 091fcf3a27b2588640e543342e681cad85fec615
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 3 19:53:53 2009 -0600
+
+ Revert "softpipe: fix flat shading provoking vertex for PIPE_PRIM_POLYGON"
+
+ This reverts commit 5d75124db480b37977c353511b4e228905b7cc95.
+
+commit ab6508e3993afa35de1472fe8a847427c1749efe
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 3 19:52:32 2009 -0600
+
+ mesa: fix parity error for tri strips with 1st provoking vertex
+
+commit 8b875b732fef0f2e60c53ee7aa60b5988ca37cc5
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 3 19:03:27 2009 -0600
+
+ tnl: fix first provoking vertex case for unfilled triangles
+
+commit 086ecea179ed572c89aa77c5f465671a5cef87a7
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 3 18:33:07 2009 -0600
+
+ softpipe: separate case for PIPE_PRIM_POLYGON in sp_vbuf_draw()
+
+ Because of flat shading, we can't use same code as PIPE_PRIM_TRIANGLE_FAN.
+ This is a follow-on to commit a59575d8fbe8b0ca053cc8366ce7a42bc660158a.
+
+commit a64bbdaa3e0b036a880d6db65ceb4a66205062f1
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 3 18:31:55 2009 -0600
+
+ softpipe: fix incorrect tri vertex order for PIPE_PRIM_POLYGON rendering
+
+ This fixes incorrect front/back-face orientation.
+
+commit 1f1aa0c20cb7dd0ae14b01f89aaa99cc6eebf919
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 3 17:28:31 2009 -0600
+
+ tnl: fix first provoking vertex bug for line loops
+
+commit f25e1007c2da21dc529811e9e1f4b4da6bda8be4
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 3 17:09:03 2009 -0600
+
+ swrast: always do span clipping in _swrast_write_rgba_span()
+
+ It's possible for mis-behaving vertex programs to produce vertex data
+ with very large/NaN values. This doesn't get handled reliably by the
+ clipper code so we may try to rasterize triangles that extend beyond
+ the viewport/window. Always clip spans to avoid invalid memory accesses
+ later.
+
+commit 0b6a0b367fdb575048b69d80ad4202d164a61f1e
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 3 17:05:37 2009 -0600
+
+ vbo: minor reformatting
+
+commit aa18e54ac9a70883a98f803c097d45f8ee84e717
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 3 17:03:11 2009 -0600
+
+ vbo: move/refactor debug code
+
+commit 13f6d07521119afc4b6d9e6daa94d5091f4b9c65
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 3 16:59:44 2009 -0600
+
+ vbo: added debug code to check array data validity (disabled)
+
+commit e446ef50eb8bbc2e3505c4d52e971d24c37785d6
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 3 15:46:56 2009 -0600
+
+ vbo: new debug/dump code (disabled)
+
+commit 92009543705918760df92abb0cbb8cad68875e72
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 3 15:43:53 2009 -0600
+
+ mesa: added NaN checking code (disabled)
+
+commit 035de6a82b6c911a81ca9c678aac59772eaff8d3
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 3 15:42:52 2009 -0600
+
+ mesa: check/prevent NaN for EX2/LG2
+
+commit 87b2db988e25506ecf476386a8b9792d459a2fde
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 3 15:40:05 2009 -0600
+
+ tnl: updated clip debug code (disabled)
+
+commit e7927626c13b8cd3743ba52a407b8f3736eae8a1
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 3 15:38:57 2009 -0600
+
+ mesa: added buffer object debug code (disabled)
+
+commit 4f4280b4356210e503aa5756db0a13dfb8253661
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jun 3 15:36:24 2009 -0600
+
+ tnl: add some floating point sanity checks (disabled)
+
+commit ab4fd185843033cde0c58e8e0da932dbac7b8df2
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 2 09:16:33 2009 -0600
+
+ vbo: tweak out-of-bounds VBO access error message
+
+ Subtract 1 from _MaxElement to be clearer.
+
+commit e355f1d64216fc999e2b18bd8c6ffdea29e8a36a
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Jun 3 15:52:09 2009 -0400
+
+ fill in r700ColorMask, cleanup
+
+commit ac274b68d724bac8c31bc62163a4b0ba59a6fe4d
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Jun 3 15:14:44 2009 -0400
+
+ start to fill in ShadeModel()
+
+commit ada26c40593d1bce972c445aa22f26811f6e6223
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Jun 3 14:29:06 2009 -0400
+
+ dump command buffer
+
+commit f5d479d7f50abf5d88a388ee80af3222c8bb7e6f
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Jun 3 14:19:26 2009 -0400
+
+ Clean up scissor and viewport code
+
+ Switch to common functions where applicable
+
+commit 1ad15768365617e6795155723843fc440593d7c4
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Wed Jun 3 17:55:42 2009 +0100
+
+ Thank you git for doing the right thing.
+
+commit c428f467b65f1b79f77103db249936273d645fec
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Tue Jun 2 18:33:55 2009 +0100
+
+ Fix compiling indirect.c when GLX_DIRECT_RENDERING is not defined
+
+ DO NOT HAND-EDIT GLX PROTOCOL FILES. Seriously. How can you miss the giant
+ comment at the top of the file?
+
+commit 7f8000db8bd45bb95bda4a4f8535c49b8ef74254
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Wed Jun 3 17:49:05 2009 +0100
+
+ Fast path when rebinding the same texture in single context environment
+
+ If there is no shared context, there is no purpose in rebinding the same
+ texture. In some artificial tests this improves performance 10% - 30%.
+
+commit 54576130a88fe93a64367f882cd680e37f0ec0ac
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 2 21:46:17 2009 -0600
+
+ st/mesa: minor clean-ups, reformatting, etc
+
+commit 5cd47e0361ed0fc8ddd6c4cee12a274173c9b25b
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 2 21:41:03 2009 -0600
+
+ docs: remove version info carried over from 7.5
+
+commit 8086352fef94c52c4174257e91e5d45b68410fae
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 2 21:30:22 2009 -0600
+
+ docs: clarify GL_ARB_copy_buffer driver support
+
+commit dd174ea2155ded567494448ffc5de7e022eabc5a
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 2 21:24:28 2009 -0600
+
+ st/mesa: implement/enable GL_ARB_copy_buffer extension
+
+commit 2813c08b35aa1b4fafa47f4421c9822ff8f6f85c
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 2 21:23:28 2009 -0600
+
+ mesa: fix error test mistake in _mesa_CopyBufferSubData()
+
+commit 2e708fa9094a2eb54f7399060183118652ef1825
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 2 20:33:09 2009 -0600
+
+ docs: added GL_ARB_copy_buffer extension
+
+commit 3a7399e2c4a5fc46f871ad030d6198a16e52d356
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 2 20:32:34 2009 -0600
+
+ mesa: enable GL_ARB_copy_buffer for software drivers
+
+commit 08e43ebfb216284818925e899419af03e28d2360
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 2 20:32:15 2009 -0600
+
+ mesa: plug in new _mesa_CopyBufferSubData() functions
+
+commit dc0b71f00d2fc8ba9b2f1966510bcca942d35e15
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 2 20:29:57 2009 -0600
+
+ mesa: _mesa_CopyBufferSubData() function, and driver fall-back
+
+commit 96a30b06dbc60ff63392cf8ae9dcb3d245b41c27
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 2 20:31:41 2009 -0600
+
+ mesa: new state for GL_ARB_copy_buffer
+
+commit 76b438878e4ab504d68efb8800111e4c41ddeadc
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 2 20:31:02 2009 -0600
+
+ mesa: new CopyBufferSubData() driver hook
+
+commit 751977075f30076bd5e53f9ed9b19d9b36b5da69
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 2 20:29:11 2009 -0600
+
+ glapi: regenerated files for GL_ARB_copy_buffer
+
+commit 68892872ef0e94b96ed1ff2bc41f17cfbbcf4a40
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 2 20:28:04 2009 -0600
+
+ glapi: include ARB_copy_buffer.xml
+
+commit 4a1e4f9881c30977bbce3f0844712539b7ef6b18
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 2 20:27:08 2009 -0600
+
+ glapi: GL_ARB_copy_buffer xml info
+
+commit fc7f92478286041a018ac4e72d2ccedeea7c0eca
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Jun 2 18:41:12 2009 -0700
+
+ scons: Less aggressive optimizations for MSVC 64bit compiler.
+
+ MSVC 64bit compiler takes forever on some of the files.
+
+ Might want to revisit this again later.
+
+commit 0f50c4fab8acfe291ddd426f331eea5eec66ba13
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Jun 2 18:23:12 2009 -0700
+
+ scons: Output nice summary messages instead of long command lines.
+
+ You can still get the old behavior by passing the option quiet=no to scons.
+
+commit 273117ceed47bff58a0f475dd36b37721e997f91
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Jun 2 16:41:45 2009 -0700
+
+ util: Unsaved change missing from last commit.
+
+commit 116f40a1c4544242040afc7c6cf8621667a058c7
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue Jun 2 19:23:16 2009 -0400
+
+ Disable clear code for now
+
+commit b55d0dd3baa16bebcbbb5629951098943f55fe74
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue Jun 2 19:20:24 2009 -0400
+
+ fix an overflow in SPI_VS_OUT_CONFIG
+
+ VS must always export at least 1 param.
+
+commit 45b77830eb6fa1b712b0416a27990ad8b6eaf78b
+Author: Joakim Sindholt <opensource@zhasha.com>
+Date: Tue Jun 2 22:23:17 2009 +0200
+
+ r300-gallium: strip swtcl to the bare minimum
+
+ This was originally taken from i915 and it shows.
+ Basically most the stuff in r300_render.c was never needed and
+ shouldn't have worked in the first place
+
+commit 840af5fd62edc01769cc3818702ea399a0c68c40
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Jun 2 11:46:53 2009 -0700
+
+ util: Support Z24S8/Z24X8 -> unsigned conversion.
+
+commit c91df4c1534e2db2274b6d08e90470bf21a49e2a
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Jun 2 11:46:06 2009 -0700
+
+ util: Fix 24 to 32 bit expansion binary arithmetic expression.
+
+ When approaching y = x * 0xffffffff / 0xffffff with bit arithmetic, the
+ 8 least significant bits of y should come from the
+ 8 most significant bits of x.
+
+commit 12e94d892e3322be5c8a1594702d69e7a02d5274
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 2 10:27:05 2009 -0600
+
+ mesa: release VBO and PBO references upon context destruction
+
+commit cb3a9f984de6b1a167c60c345d51d55b8c0ca80b
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jun 2 10:26:50 2009 -0600
+
+ mesa: add #define FEATURE_ARB_pixel_buffer_object
+
+commit 16fbd391291de8eddcd01a1a10e6801da299209b
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon May 18 13:26:16 2009 -0700
+
+ intel: Clip to window after calling Driver.TexImage2D
+
+ This prevents the width / height from being clipped to the window size before
+ the texture is allocated. This matches intelCopyTexImage1D.
+
+ This should fix bug #21227
+
+ Signed-off-by: Ian Romanick <ian.romanick@intel.com>
+ (cherry picked from commit 129f311673c99eb912d659023e50bc5f0ef53249)
+
+commit 129f311673c99eb912d659023e50bc5f0ef53249
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon May 18 13:26:16 2009 -0700
+
+ intel: Clip to window after calling Driver.TexImage2D
+
+ This prevents the width / height from being clipped to the window size before
+ the texture is allocated. This matches intelCopyTexImage1D.
+
+ This should fix bug #21227
+
+ Signed-off-by: Ian Romanick <ian.romanick@intel.com>
+
+commit a945e203d4fe254593bc0c5c5d6caca45e65f9f7
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jun 2 06:53:40 2009 -0700
+
+ i915: Don't put VBOs in graphics memory unless required for an operation.
+
+ This saves doing swtnl from uncached memory, which is painful. Improves
+ clutter test-text performance by 10% since it started using VBOs.
+
+commit 0ab8e2622e932593f39e5a634808567322bd669b
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu May 28 10:34:08 2009 -0700
+
+ i965: Support OPCODE_TRUNC in the brw_wm_fp.c code.
+
+ This gets two more glean glsl1 tests using the non-GLSL path.
+
+commit 1aef032d438aaa40ec28bf279ad5c089370773f0
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Jun 1 20:16:20 2009 -0700
+
+ gallium/draw: Free specialized versions of driver shaders
+
+ The pstipple, aaline and aapoint code would create specialized versions
+ of shaders and upload them to the driver -- but never free them.
+
+commit 003cfd4dd2491675058c53a8f59553f2443be349
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Jun 1 20:15:28 2009 -0700
+
+ draw: free more token arrays
+
+ The AA line and point code also needs to free token arrays after
+ building driver shaders.
+
+commit 69a765df1c3bf6acc549a5a6a047bbde16988721
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Jun 1 19:48:40 2009 -0700
+
+ draw: avoid leaking tokens when building pstipple fragment shader
+
+ Add missing FREE() after MALLOC().
+
+commit 503632557e8904b775e1b6f3f84eb41bda3af122
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu May 14 10:26:56 2009 +0100
+
+ mesa/st: restore flush to copy_texsubimage (was previously finish)
+
+ Need a flush here even though the original finish was overkill.
+
+commit 557d2bb42397bb5511c32b4a2b39c7978e69dc8e
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Jun 1 20:20:48 2009 -0700
+
+ wgl: Destroy the framebuffer when the window is destroyed.
+
+commit 2ecc2ece9c2740958f303e0426fdc9037c40eb3a
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 1 20:45:08 2009 -0600
+
+ docs: implemented GL_EXT_provoking_vertex
+
+commit a444d245e5098a85c7b1c0f1923300a8ef9a31d6
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 1 20:43:57 2009 -0600
+
+ mesa: enable GL_EXT_provoking_vertex for sw drivers
+
+commit 82bc6e5ae351c8486386cfb1080d0ad30a77e924
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 1 20:43:09 2009 -0600
+
+ tnl: implement GL_EXT_provoking_vertex
+
+commit 97f5953ced6938ca8e92cde62e8717ff505cc4e2
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu May 14 15:57:27 2009 +0100
+
+ progs/vpglsl: add similar support for point rendering as progs/vp
+
+commit f989390af6f827d1ea36560381340148811836f3
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed May 13 22:35:06 2009 +0200
+
+ st/gl: Fix mip gen for compressed textures
+
+commit 00e7a600776ceb589bd5939ccd8aad937527db81
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed May 13 13:47:38 2009 +0100
+
+ trivial/tri-z: add controls for depthrange min/max
+
+ Also add key to set up quake-1 style ztrick rendering with clear depth
+ 1.0, deptrange(1.0, 0.0) and depthfunc GL_GREATER.
+
+commit 3c756ed39f93bd26bc81f6e3be0440429ad58c40
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu May 14 15:32:10 2009 +0100
+
+ progs/wgl: Small cleanup to wglinfo.
+
+commit 76ad2b4a5a38389ed733d1bf31a6cbba1881dc10
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu May 14 13:28:09 2009 +0100
+
+ progs/wgl: Use an invisible window in wglinfo.
+
+commit 9f6ec50f8c79283583eeebdebd16bf7dcd134816
+Merge: 1fa023a 0e8a5a8
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 1 15:01:33 2009 -0600
+
+ Merge branch 'mesa_7_5_branch'
+
+commit 0e8a5a84742adf6e99236f246c77325fad174204
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 1 14:59:11 2009 -0600
+
+ st/mesa: fix incorrect sprite origin when drawing to FBO/texture
+
+ Need to take the draw buffer's up/down orientation into consideration
+ when setting the sprite_coord_mode field.
+
+ Fixes inverted sprites when drawing into an FBO.
+
+commit 427554211b5b8ab2c6afcd5bd574ac97fb3457da
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 1 14:28:57 2009 -0600
+
+ draw: reset extra_vp_outputs.slot to zero in widepoint_flush()
+
+ Fixes a crash when clearing the window with a quad after drawing large
+ points. We were asking the draw module how many vertex shader outputs
+ there were and got 3 instead of 2. This led to creating vertices with
+ too many attributes and trying to read invalid memory.
+
+ We reset extra_vp_outputs.slot to zero in the aaline/aapoint stage's
+ flush functions already.
+ This omission was just an oversight in the wide_point stage.
+
+commit 1fa023ae48c31176434f5ad4691eae347e7a395f
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Jun 1 12:04:29 2009 -0700
+
+ r300-gallium: Slightly hacky fix for glxgears-style TCL.
+
+commit a5d033e89bab6c5e913cd2ca17df02e56b5fe31d
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jun 1 11:23:39 2009 -0600
+
+ demos: add missing dependencies for util files
+
+commit c1ccc7d5394c23a371540e1b2c3d35b0da3b30d6
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sun May 31 16:32:58 2009 +0200
+
+ radeon: Provide a more detailled GL_RENDERER string.
+
+ Display the chip family and PCI ID. This can be parsed easily,
+ and essentially all information that the driver has about the chip can be
+ deduced from it.
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit bc302b2a33ceffe454bcf443daa0ac1edc118e9b
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Fri May 22 09:39:02 2009 -0700
+
+ Use separate $(MINSTALL) for installing libraries
+
+ The special feature of bin/minstall to copy symlinks is only ever needed
+ when installing libraries which may have .so symlinks. All the headers
+ and directories can use a normal install program.
+
+ These two modes are separated as $(INSTALL) and $(MINSTALL) to allow the
+ user (or autoconf) to override installing normal files as they please.
+ An autoconf check for the install program has been added and will be
+ used in preference to minstall when available.
+
+ Fixes bug 16053.
+
+commit 85e0572756b85b7025740fbbefb673cf75a46cea
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Mon Jun 1 11:20:05 2009 +0100
+
+ progs/rbug: Add small remote debugging cli applications
+
+commit 01fa34cb98d9ea6008c7108b6112348e278864f4
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Mon Jun 1 11:19:55 2009 +0100
+
+ trace/rbug: Add rbug integration for remote debugging
+
+commit dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5e
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri May 15 01:07:05 2009 +0200
+
+ rbug: Add Gallium Remote Debugger Protocol code
+
+ This is the (de)marshalling and connection managment code
+
+commit aee1a6f70413235c0c4c2c2adfca97d5128a155e
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sun Mar 22 04:22:33 2009 +0100
+
+ util: Add simple network functions
+
+commit ea3ee4791eb8b9eefdd40b6ce9bbfc2dc86542bf
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun May 31 17:16:26 2009 -0700
+
+ wgl: Cleanup framebuffer destruction logic.
+
+commit 0ea519f931a14e4dff6ef391803baba8bec84160
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun May 31 11:10:22 2009 -0700
+
+ wgl: Ensure we only create framebuffers for HDC associated with a window.
+
+commit 8e28d64e9c7cdc4d07ffe4a79c9ef9fff4a27df6
+Author: Cooper Yuan <cooperyuan@gmail.com>
+Date: Sun May 31 16:51:07 2009 +0800
+
+ R6xx/r7xx: Fix blinn's lighting shader
+
+commit 377d8b3673571eae4b23798a13e03929e1e47957
+Author: Cooper Yuan <cooperyuan@gmail.com>
+Date: Sun May 31 16:41:19 2009 +0800
+
+ R6xx/r7xx: Fix texture perspective gradients issue
+
+commit fe69b6bdc7bbde2cefec856ff338788d7be20f4e
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat May 30 19:58:50 2009 -0700
+
+ wgl: Use the right pixel format.
+
+ There is no current pixel format. Each HDC has its pixelformat which is
+ kept by gdi and set/get via the SetPixelFormat/GetPixelFormat functions.
+
+ Now the HDC's pixelformat is kept in the stw_framebuffer, which is
+ created during the SetPixelFormat.
+
+commit be7c56be06183239008b168181aa6f1c78591579
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat May 30 19:51:33 2009 -0700
+
+ wgl: Fix debugging output.
+
+commit 76f2bacb07b1b55a50018a1ccee42943d5e8a477
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat May 30 18:00:18 2009 -0700
+
+ wgl: Rename function.
+
+commit 1124f786c1a839036cc1b17f9398eead9f16b1c9
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat May 30 14:33:11 2009 -0700
+
+ wgl: Remove unused field.
+
+commit 5bb2074798a752557a1eaa8f2d2b8b45282f9f7e
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat May 30 12:42:55 2009 -0700
+
+ mesa: Output warnings to debugger on Windows.
+
+ Stderr of Windows applications without console is not usually
+ visible.
+
+commit 8aef306c342a973f31b384a71d7a22ade9153a99
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat May 30 12:41:14 2009 -0700
+
+ mesa: Check/propagate return value on st_make_current.
+
+ Prevents segmentation fault when trying to set the viewport/scissor
+ after a context/drawable visual mismatch.
+
+commit 29c6c8eb18ace95b9af6dcf34e02c2b8db0ffda8
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat May 30 12:38:45 2009 -0700
+
+ mesa: Add success/failures return value to _mesa_make_current.
+
+commit bedf7fa49f549541fde2e19d2fbb6b8fe57ec124
+Merge: 6c3cefd a59575d
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat May 30 20:10:04 2009 -0600
+
+ Merge branch 'mesa_7_5_branch'
+
+commit 6c3cefdda6c98d5f0df874c7f1d8c5421cc8468b
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat May 30 20:09:19 2009 -0600
+
+ Revert "softpipe: fix flat shading provoking vertex for PIPE_PRIM_POLYGON"
+
+ This reverts commit 5d75124db480b37977c353511b4e228905b7cc95.
+
+ This fixed unclipped polygons, but broke clipped polygons.
+ A better fix from the mesa 7.5 branch will be merged next...
+
+commit a59575d8fbe8b0ca053cc8366ce7a42bc660158a
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat May 30 20:07:18 2009 -0600
+
+ softpipe: fix incorrect provoking vertex color for PIPE_PRIM_POLYGON
+
+ This fixes the incorrect colors seen when rendering flat-shaded polygons.
+ Note that clipped polygons were correct, but unclipped polygons were wrong.
+
+ See the glean/clipFlat test for regression testing.
+
+commit d8694cd3f69dfc40509544293aa35f297571e878
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri May 29 15:37:04 2009 -0400
+
+ get rid of chip_object struct
+
+commit cb393772530fca46ba699cf33cb213fb28713213
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri May 29 15:04:44 2009 -0400
+
+ more cleanup
+
+commit 5a8b67f3638485fc1536ab7d2cfeccc854b5e8fc
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri May 29 14:55:12 2009 -0400
+
+ more cleanup
+
+commit e6eb0ce6ef61e16c5d986b370a13c7b62364ad4e
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri May 29 14:45:07 2009 -0400
+
+ more cleanup
+
+commit 949c489f592d5227843a06a5ae3851102cd46333
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri May 29 14:23:04 2009 -0400
+
+ more cleanup
+
+commit 97ed5cffcb051da21c7bfdbbf11b97da657c015c
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri May 29 13:56:58 2009 -0400
+
+ remove more old r300 bits
+
+commit 616692cac5e094c01b6d85741592b4ed59bafeef
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri May 29 13:53:57 2009 -0400
+
+ more cleanup
+
+commit 70a0301c5bd683646b08d32ad2fca4160295cd18
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri May 29 13:41:00 2009 -0400
+
+ Remove unused functions
+
+commit 37c3731819f72e4ba688f3abc612c1ac6b3be663
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri May 29 13:21:28 2009 -0400
+
+ Fix spelling in function name
+
+commit 9bcc421e68e041f44a554f710788c5042169cd1a
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri May 29 13:16:23 2009 -0400
+
+ R6xx/r7xx: remove old sw tcl bits
+
+commit 41a44ff8919f8e16ffb61fd3a76a82864b86f50a
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri May 29 13:07:05 2009 -0400
+
+ R6xx/R7xx: switch to common clear with draw code
+
+commit 846b24ea82cfb8a4867b6da1345584379f4aaa04
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri May 29 12:49:45 2009 -0400
+
+ r6xx/r7xx: switch to common dma functions for vecs
+
+commit fa0ca31586f2523ac65dbf9c1fdca99dfbca7456
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 29 08:22:21 2009 -0600
+
+ softpipe: update comments for max texture size
+
+commit 9b10d19d4a3820958c4bd7d5c8fb7eaf1ef3fce0
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri May 29 10:04:03 2009 -0400
+
+ Remove subpixel offset from viewport
+
+ remove subpixel offset inherited from r100 code.
+ based on 038f0bf5916df5bae1145d234589e5fd528bb7fa
+
+commit 425c39058b54ebbde4130e4eebb1c302005ba6ac
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 29 00:55:54 2009 -0600
+
+ softpipe: increase max 2D/cube texture size to 4K x 4K
+
+commit 7f022fb5cd282826dac37b7ac0c02f551b6f5f98
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Thu May 28 17:18:17 2009 -0400
+
+ Argh. fix last commit. clears are still broken
+
+commit 3f1474594697fd77211851d699710299721b4618
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Thu May 28 17:09:19 2009 -0400
+
+ R6xx/r7xx: re-enable clears
+
+ flush cache and wait for idle after drawing. Probably
+ just need the cache flush. This gets redbook hello working
+ properly.
+
+commit 5ff3368c1f33bfb39d21c774ad71e4be7cbb9b21
+Author: Cooper Yuan <cooperyuan@gmail.com>
+Date: Thu May 28 16:51:49 2009 -0400
+
+ R6xx, add edge rules for triangles
+
+commit b631d5fbf45f4df44d1c445a9defb8c8f05599e2
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 28 12:33:30 2009 -0600
+
+ st: set pipe_rasterizer_state::flatshade_first according to provoking vertex state
+
+commit f2f89b01d2179775e240145ce62923854c1c8936
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 28 12:31:56 2009 -0600
+
+ mesa: glGet queries for GL_EXT_provoking_vertex
+
+commit fe86e508967bd7b63902928033247e145103f60c
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 28 12:31:18 2009 -0600
+
+ mesa: exec/dlist functions for glProvokingVertexEXT()
+
+commit 89966cdb1b5974059c32308d74b5bb09943a6fa1
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 28 12:30:25 2009 -0600
+
+ mesa: data structure updates for GL_EXT_provoking_vertex
+
+commit bd6c44458f132830d40f7c4d44ae249d8725b132
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 28 12:29:23 2009 -0600
+
+ mesa: regenerated enums for GL_EXT_provoking_vertex
+
+commit b9c245238cf4373452293c7d5735faeee9a4bf1a
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 28 12:28:18 2009 -0600
+
+ mesa: regenerated API files for GL_EXT_provoking_vertex
+
+commit 8c12c9bf76a14b522c9ac45b6e4745f5778b8cdb
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 28 12:26:19 2009 -0600
+
+ mesa: GL API changes for GL_EXT_provoking_vertex
+
+ This creates the new glProvokingVertexEXT() entrypoint.
+
+commit b70fcd620d69850c6e19213d84ae4584e77ab689
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu May 28 07:46:34 2009 -0700
+
+ r300-gallium, radeon-gallium: Make add_buffer indicate when a flush is needed.
+
+ On a side note, why is RADEON_MAX_BOS 24? Should ask airlied about that.
+
+commit 5dcbcbfca4f3c00de1fdab28d1cc8d691f67edce
+Author: Jerome Glisse <jglisse@redhat.com>
+Date: Thu May 28 13:48:38 2009 +0200
+
+ r300: when using cs path emit scissor in the cmdbuffer
+
+commit 2f9189d538ac56bd241ccc8f8f82bc4fdd779aa6
+Author: Jerome Glisse <jglisse@redhat.com>
+Date: Thu May 28 11:40:58 2009 +0200
+
+ r300: rework texture offset emission.
+
+commit 534f1e8f022ea7408c2ad49013e8f2446aa16364
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Thu May 28 15:47:54 2009 +1000
+
+ nv50: some mipmapping fixes
+
+commit c11c107f7d8f289f0cb83968c265fb78a274024a
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Thu May 28 00:17:14 2009 +0200
+
+ nv50: negate sources directly where supported
+
+commit 87eea6e2b2df57bddb7155df794f02143e1ece40
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Sat May 23 16:14:37 2009 +0200
+
+ nv50: introduce emit_cvt and use it
+
+ This makes some code cleaner, and we can now easily
+ do CEIL and TRUNC.
+
+commit 3accd7ebe971624bed5624f73ed3522c9de4c193
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Sat May 23 16:14:06 2009 +0200
+
+ nv50: fix TXP
+
+ For TXP we need to divide texture coords by their w component, or
+ use the coords' 1/w in the perspective interpolation instruction.
+
+ This also tries to support 1D, 3D and CUBE textures, and lets the
+ instruction only load the components that are used.
+
+commit 94ba165dffa4d364a1335d3cd7c15558bf35fe3e
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Sat May 23 16:13:24 2009 +0200
+
+ nv50: use multiple constant buffers
+
+ Use different buffers for immds, FP params, and VP params.
+ One has to map constant buffer indices in shader code to buffers
+ defined via CB_DEF. In principle, we could use more buffers so
+ we'd have to change the shader code less frequently.
+
+commit f9268ccd7f2ef2476db48f0aaca739bfb4ee9eab
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Sat May 23 15:17:03 2009 +0200
+
+ nv50: don't look for unfreed temps in free_nv50_pc
+
+ Since we stopped using alloc_temp to get hw indices for FP attrs
+ there shouldn't be any non-deallocated temps left.
+
+commit 7ab96f4f733437de693b9578c3649b56069e6f24
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Sat May 23 15:15:20 2009 +0200
+
+ nv50: release hw TEMPs early
+
+ Since we know when we don't use a TEMP or FP ATTR register anymore,
+ we can release their hw resources early.
+
+commit 708c711f8361ea82c1217e2614914ae047bc5bdf
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Sat May 23 15:12:04 2009 +0200
+
+ nv50: allow immediates for MOV, ADD and MUL
+
+ Immediates are inlined now where possible, so we need to set
+ pc->allow32 to FALSE in LIT where we have the conditional MOV,
+ since immediates swallow the predicate bits.
+
+commit d015cba88f1ef217f6ef9d116ba6abb32e043baa
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Sat May 23 15:10:56 2009 +0200
+
+ nv50: enable half insns for MOV and MUL
+
+commit 44b3bfaa7599add72d76b3802ddea05b5b5c6316
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Sat May 23 15:10:01 2009 +0200
+
+ nv50: make sure half-long insns are paired
+
+ I chose to just convert unpaired 32 bit length instructions
+ after parsing all instructions, although it might be possible
+ to determine beforehand whether there would be any lone ones,
+ and then even do some swapping to bring them together ...
+
+commit de651a228f9bbe5ab0e3b749b3dfda9aa5497097
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Sat May 23 15:05:55 2009 +0200
+
+ nv50: enable KIL in register 19a8
+
+commit dac709d0cf3258ad8e131964e513c2eabe1d554e
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Sat May 23 15:04:53 2009 +0200
+
+ nv50: don't overwrite sources before they're used
+
+ This would have happened in p.e. ADD TEMP[0], TEMP[0].xyxy, TEMP[1]
+ or RCP/RSQ TEMP[i], TEMP[i].
+
+commit f579a99cc608eaba6f617c11ab0aec7f3e9ef953
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Sat May 23 15:01:36 2009 +0200
+
+ nv50: put FP outputs where they belong
+
+ Depth output in fragment programs should end up in the first
+ register after the color outputs.
+
+commit dd9ded42b9ff75aa0bbabef30d385a9f77851dce
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Sat May 23 14:56:48 2009 +0200
+
+ nv50: modified FP attribute loading
+
+ VP outputs that should be loadable in the FP are mapped to
+ interpolant indices by HPOS, COL0 etc.; of course HPOS is
+ always written, so the highest byte of 1988 is a bitmask that
+ selects which components of HPOS are used for interpolants,
+ i.e. the FP inputs in COL0 start at index POPCNT(1988[24:28]).
+
+commit e88ec312df000ac335d9bba6b75d836dfa1a1043
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Sat May 23 13:38:03 2009 +0200
+
+ nv50: inspect decl semantic and interpolation mode
+
+ Record interpolation mode for attributes while parsing declarations,
+ and also remember the indices of FP color inputs and FP depth output,
+ which has to end up in the highest output register.
+
+commit bcecb8ff66d2c002ac1273c0a9e9b2b9f9d3d43e
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Sat May 23 13:32:51 2009 +0200
+
+ nv50: record last access to temp and attr regs
+
+ We now inspect the TGSI instructions in tx_prep to determine where
+ temps and FP attrs are last accessed.
+ This will enable us to reclaim some temporaries early and we also
+ use it to omit pre-loading FP attributes that aren't used.
+
+commit 7e7d3a87ec60f8e412d724c6586461501d420ec0
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Sat May 23 12:25:32 2009 +0200
+
+ nv50: save some space in immediate buffer
+
+ We could do even better (like just allocating 1 value in alloc_immd),
+ but that's fine for now I guess.
+
+commit aad31d69ce9e2278d93e514b97e1a92a25f89826
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Sat May 23 12:24:33 2009 +0200
+
+ nv50: fix SIGN_SET case in tgsi_src
+
+commit 4a7cf8f66ff5d7e15ae7f8f5542f27bc72c68709
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Sat May 23 12:22:30 2009 +0200
+
+ nv50: set dst.z,w to 0,1 in SCS and XPD
+
+ According to tgsi-instruction-set.txt, if they are written, z and w
+ should be set to 0 and 1 respectively in SCS, and w to 1.0 in XPD.
+
+commit 229992d2812581ffae24d69a5a983d2c8441f720
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Sat May 23 12:21:54 2009 +0200
+
+ nv50: make LRP instruction nicer
+
+commit 9417582f39788476e1039df3f1bdf681686fb7b4
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Sat May 23 12:21:27 2009 +0200
+
+ nv50: fix some memory leaks in shader assembler
+
+commit 65e3fb7b46cc9fc02ad12fe41e0c023c65ffe1e8
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Thu May 28 10:25:44 2009 +1000
+
+ nouveau: explicitly request mappable buffers for the moment
+
+commit 713b636a0e0356266b714548886b66864b830fff
+Author: Mike Kaplinksiy <mike.kaplinskiy@gmail.com>
+Date: Thu May 28 01:20:37 2009 -0400
+
+ draw: Fix assertion failure at fetch_emit_prepare
+
+commit 5be48307d55120311b13433eaa9af09d07e233e0
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed May 27 19:37:32 2009 -0600
+
+ demos: remove some old debug/test code
+
+commit b86067c61072ef0e6804e7cf0f19a7ea43fc6aec
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed May 27 19:36:59 2009 -0600
+
+ softpipe: comments
+
+commit 31deacb8d38e2090dc4ba3ee4f6587792860e8c9
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed May 27 19:30:07 2009 -0600
+
+ softpipe: include sp_winsys.h to silence warning (unprototyped function)
+
+commit 5d75124db480b37977c353511b4e228905b7cc95
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed May 27 19:27:31 2009 -0600
+
+ softpipe: fix flat shading provoking vertex for PIPE_PRIM_POLYGON
+
+ Use the first vertex, not the last.
+
+commit c13bd7488593263f2c45c136b63114ce8b4602fb
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed May 27 19:24:09 2009 -0600
+
+ st/mesa: init Format field of vertex arrays for feedback mode
+
+ Fixes segfault in glRasterPos()
+
+commit 3a6dd3ebb33a35779b0d5be2c8cab581a56f245a
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Wed May 27 21:50:03 2009 +0200
+
+ radeon: emit scissor before emiting vertices
+
+commit 6141c9ba71df68c44fb4f8c9409f23b557009ca0
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Wed May 27 09:36:07 2009 +0200
+
+ radeon: emit scissor when using cs submission style.
+
+commit 8ec6e036792decf5149a209e51cb5e93ccc5c754
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue May 26 20:45:29 2009 -0700
+
+ i915: Fall back on NPOT textured metaops on 830-class.
+
+commit 0e83e8f51af07a3066519f169f07d9afbf23252e
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue May 26 19:48:08 2009 -0700
+
+ i915: Restore the Viewport and DepthRange functions on 8xx.
+
+ Fixes failed viewport updates on glxgears (and other apps) resize since
+ e41780fedc2c1f22b43118da30a0103fa68b769f.
+
+ Bug #20473.
+
+commit 9178b31546e9817a0c9712f702b21f8c54efbd84
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Fri May 22 21:53:26 2009 +0100
+
+ intel: Override MaxRenderbufferSize with hardware constraints
+
+ Limit the maximum renderbuffer size to 8192 on i965 and to 2048 on
+ earlier hardware.
+
+commit 98bc31171770456e245c157d19433f7d5ea28438
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue May 26 14:30:26 2009 -0400
+
+ enable surface sync function
+
+ - needs to be more fine-grained
+
+commit f3eaba017c77f4dcf6cdecba7c19c9ea4fd3ce63
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue May 26 12:21:54 2009 -0400
+
+ r6xx: fix more r6xx specific cases
+
+commit 930b42693eb2e875d2447897dd1379d7bd273a95
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue May 26 11:36:55 2009 -0400
+
+ R6xx: select proper shader format
+
+commit 17417fc8eeaf5f88452fa3d37a763cee3c92a28c
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue May 26 11:13:44 2009 -0400
+
+ fix segfault when running glxinfo
+
+commit 4a28974cf59e12f1296526802a4ed3e7160671e4
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue May 26 10:44:44 2009 -0400
+
+ add missing RS780 pci id
+
+commit ced2f1b94c2bac8344f44e9474b1e363f65f4d3f
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue May 26 10:33:23 2009 -0400
+
+ fix build when HAVE_LIBDRM_RADEON is defined
+
+commit 9dee2f20a204f375eb4321092cf5dea6476c1c24
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Mon May 25 16:05:45 2009 +0200
+
+ radeon: on update drawable don't firevertices as it might be call from GetLock
+
+ To avoid locking bug we shouldn't not call firevertices from this path
+ as it's call from radeon get lock.
+
+commit 714f5e689fb1a69142995260e3c8908c12407b47
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Mon May 25 15:47:39 2009 +0200
+
+ r200: emit scissor when dri2 is enabled
+
+ In DRI1 kernel emit scissor but in dri2 cs path we have to
+ explicitly program them.
+
+commit 39ef33708c1a048863a1956cd99782013791ca92
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Mon May 25 13:17:22 2009 +0200
+
+ r200: fix multitexturing in dri2 path
+
+commit 80f1ac87f2cb42ae8370174a75d1271950e59657
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Mon May 25 11:29:32 2009 +0200
+
+ r200: emit cliprect with indexed primitive
+
+commit 9b1efcb87c794ded9306f01336d48a80aaad3261
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Sat May 23 21:57:25 2009 +0200
+
+ radeon: realloc dma if needed after revalidate
+
+ Revalidate can trigger flushing and dma buffer deallocation,
+ so retry allocation on such case.
+
+commit 7dd184dc4da37233471875df6f40cce0560cb7bc
+Author: Nicolai Hähnle <nhaehnle@gmail.com>
+Date: Sun May 24 14:55:51 2009 +0200
+
+ radeon: Remove drawable & readable from radeon_dri_mirror
+
+ The duplication of state data caused a crash due to double-free on destruction
+ of context, because a variable wasn't correctly null'ed out.
+
+ Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
+
+commit 2d30dafaddc2e50697bd1b55235fd45fd08d09fd
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 22 15:49:38 2009 -0600
+
+ mesa: fix warning message in vbo_exec_DrawRangeElements()
+
+commit 434f9200422a9e937277ca592ef14a63781dec16
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Fri May 22 23:44:44 2009 +0200
+
+ radeon: reading back to scratch reg through status map doesn't work
+
+ For some unknown reasons the scratch reg value doesn't endup in the status
+ map at the scratch reg offset, this is a temporary work around until we
+ figure out why it doesn't work.
+
+commit 68d412f31cbf028b1faa1c7fd95b849a95bb762c
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 22 15:35:49 2009 -0600
+
+ mesa: add missing update_min() call in update_arrays()
+
+commit 2ead49f98bcc18ab0ebc7942de78e280ec56d77a
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 22 14:57:51 2009 -0600
+
+ mesa: reduce gl_array_object::VertexAttrib[] array from 32 to 16 elements
+
+ This array was mistakenly dimensioned with VERT_ATTRIB_MAX (32) but it
+ should really be MAX_VERTEX_GENERIC_ATTRIBS (16).
+
+ The generic vertex attributes are in addition to the conventional arrays
+ (except in NV vertex program mode- they alias/overlay in that case) so
+ the total of all conventional attributes plus generic attributes should
+ total 32 (not 48).
+
+commit 8e3f6c0f96eb22198ec436990acc85d44aca7d8e
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 22 14:42:26 2009 -0600
+
+ mesa: use Elements() for loop limit
+
+commit 842b4cd3cdb313751647e229a9aa3f0001e03d15
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 22 14:32:45 2009 -0600
+
+ mesa: use Elements() for loop limit
+
+commit ce7a049191c14be1d3dd456cdc72463b01ccf34c
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 22 14:32:37 2009 -0600
+
+ mesa: use Elements() for loop limit
+
+commit 8091aa86337b5541e70f0a83bc9b13c55faec559
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 22 14:28:24 2009 -0600
+
+ mesa: use Elements() for loop limit
+
+commit 2a3d118a8e4c048e5d850a29301c02f886ba09d4
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 22 14:27:42 2009 -0600
+
+ mesa: use Elements() for loop limit
+
+commit 180df4d328166a21fa9bb847b52ec1ba8f95dfcc
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 22 14:27:26 2009 -0600
+
+ mesa: simplify adjust_buffer_object_ref_counts()
+
+commit bf4dfd6563e1ce5cabea415d1e3600ab4abefe81
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 22 14:24:21 2009 -0600
+
+ mesa: minor code clean-up
+
+commit d30163ad4201dcd5a594694ab87be9e59db47edd
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 22 14:23:02 2009 -0600
+
+ mesa: use Elements() for loop limit
+
+commit b625fbaef2564236357f94eca803a15187e2636d
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 22 14:22:40 2009 -0600
+
+ vbo: s/32/VERT_ATTRIB_MAX/
+
+commit ebb991ca0d7de103dc068397ed91744bf40ee58f
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 22 14:16:00 2009 -0600
+
+ mesa: use Elements() for loop bound
+
+commit a65f385b8deec6ac1f2ed7a52f7d76ec89e167b9
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 22 14:14:53 2009 -0600
+
+ mesa: minor code simplification
+
+commit fac334e6d33b0c9ffa2c5147079d728b647d0d2a
+Merge: 4b55e36 1045481
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 22 14:09:35 2009 -0600
+
+ Merge branch 'mesa_7_5_branch'
+
+commit 1045481dd96dec6e37f4b623b1dbae8af381de75
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 22 13:50:31 2009 -0600
+
+ mesa: fix loop over generic attribs in update_arrays()
+
+commit 4b55e3695279daef221669ff063631cf3675da0c
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 22 13:44:59 2009 -0600
+
+ vbo: asst. reformatting, clean-ups
+
+commit 9be72f54acf920815d1bd7851d234e6043635bca
+Merge: 891a2bd c353896
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 22 13:21:23 2009 -0600
+
+ Merge branch 'mesa_7_5_branch'
+
+commit c3538969e1ae3e626a618934aa8f35a7a22ddb39
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 22 13:15:41 2009 -0600
+
+ vbo: fix crash in vbo_exec_bind_arrays()
+
+ When a vertex shader uses generic vertex attribute 0, but not gl_Vertex,
+ we need to set attribute[16] to point to attribute[0]. We were setting the
+ attribute size, but not the pointer.
+
+ Fixes crash in glsl/multitex.c when using the VertCoord attribute instead
+ of gl_Vertex.
+
+commit 891a2bdd7d11086712500cf916efbc1b733f094b
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 22 13:12:28 2009 -0600
+
+ demos: extend glsl/multitex.c to use a vertex buffer object
+
+commit 96370113f1a3580ed2a8ef2fb427f37afd7432f8
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 22 13:12:01 2009 -0600
+
+ demos/util: add funcs for GL_ARB_buffer_object
+
+commit 58fadc624281b3f0bbe084e3e8af28a61036ca94
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 22 13:00:49 2009 -0600
+
+ demos: fix multitex.c VertCoord attribute mapping
+
+ If the multitex.vert shader uses the VertCoord generic vertex attribute
+ instead of the pre-defined gl_Vertex attribute, we need to make sure that
+ VertCoord gets bound to generic vertex attribute zero.
+
+ That's because we need to call glVertexAttrib2fv(0, xy) after all the other
+ vertex attributes have been set since setting generic attribute 0 triggers
+ vertex submission. Before, we wound up issuing the vertex attributes in
+ the order 0, 1, 2 which caused the first vertex to be submitted before all
+ the attributes were set. Now, the attributes are set in 1, 2, 0 order.
+
+commit 1b3f5df1e0e9ff956315262196e4947913c7f172
+Merge: a545f1a 995456f
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 22 09:40:50 2009 -0600
+
+ Merge branch 'mesa_7_5_branch'
+
+commit 995456f9305593005f8466520314ee087f3d422a
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 22 09:35:02 2009 -0600
+
+ mesa: allow GL_BITMAP type in _mesa_image_image_stride()
+
+ It's possible to hand a GL_COLOR_INDEX/GL_BITMAP image to glTexImage3D()
+ which gets converted to RGBA via the glPixelMap tables.
+
+ This fixes a failure with piglit/fdo10370 with Gallium.
+
+commit a545f1ab6d50e044c6e0b2d952af28e6d9059f80
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 22 07:51:35 2009 -0600
+
+ mesa: added some assertions
+
+commit 42ae2a8648923b6fa11e29ad0f6ff7555534e390
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 22 07:51:13 2009 -0600
+
+ mesa: use Elements() macro to limit loops instead of constants
+
+commit 882cd6c839e56a3eceb8edf62f83893f6b531d35
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 22 07:30:05 2009 -0600
+
+ mesa: remove MAX_VERTEX_PROGRAM_ATTRIBS
+
+ Use MAX_VERTEX_GENERIC_ATTRIBS instead. No need for two #defines for
+ the same quantity.
+
+commit 4a95185c9f30c2de7a03bb1a0653f51b53b1111d
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 22 07:26:08 2009 -0600
+
+ mesa: rename MAX_VERTEX_ATTRIBS to MAX_VERTEX_GENERIC_ATTRIBS
+
+ Be clearer that this is the number of generic vertex program/shader
+ attributes, not counting the legacy attributes (pos, normal, color, etc).
+
+commit 4dc426c01627a240bd5b148c1804c45b0d5ecd6c
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 22 07:19:27 2009 -0600
+
+ mesa: s/MAX_VERTEX_PROGRAM_ATTRIBS/MAX_NV_VERTEX_PROGRAM_INPUTS/ in NV funcs
+
+commit 42b747e57d4487ee4f0049ab6835b56f22890e97
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 22 07:14:16 2009 -0600
+
+ mesa: added comment
+
+commit 70c4b81e88e18e354e8dfaf47e5455e463b207d8
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 21 21:49:57 2009 -0600
+
+ mesa: add missing glGet*() case for GL_VERTEX_ARRAY_BINDING_APPLE
+
+commit 8b91778f46bf7f48efacf5f14d3cc9023a1986ae
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 21 17:07:33 2009 -0600
+
+ vbo: fix build breakage...oops
+
+commit 3bfe312d0136c95b2a8518d65fa32c89ed474987
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 21 17:03:52 2009 -0600
+
+ vbo: comments, whitespace clean-ups
+
+commit d2a74d76c96957cf0294dcf40d29526621ada95e
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 21 17:03:21 2009 -0600
+
+ mesa: s/MAX_VERTEX_PROGRAM_ATTRIBS/MAX_NV_VERTEX_PROGRAM_INPUTS
+
+commit 7e2fb129816df48a103da3e4e6937530bd86cac8
+Merge: 54a5ffb 8da09e6
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 21 16:57:28 2009 -0600
+
+ Merge branch 'mesa_7_5_branch'
+
+commit 8da09e6924ca22ba7951d5a7673dfab2a711a997
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 21 16:54:35 2009 -0600
+
+ vbo: fix incorrect loop limit in bind_array_obj()
+
+ The generic_array[] is 16 elements in size, but the loop was doing 32
+ iterations. The out of bounds array write was clobbering the following
+ inputs[] array but as luck would have it, that didn't matter.
+
+commit d4fb7615b5a9c514d48fc78a01c52cb721b889c6
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 21 16:52:45 2009 -0600
+
+ mesa: use MAX_ values instead of literals
+
+commit 54a5ffbfa1f935c46642a9835f08983cc1fdfeed
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 21 16:05:11 2009 -0600
+
+ mesa: freshen comments for update_array()
+
+commit 667a4037fac4fd154ebfa7513b3bbba935077241
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 21 16:03:18 2009 -0600
+
+ mesa: minor code simplification in _mesa_GetVertexAttrib*NV()
+
+commit 024de60348c5f463b9611f2d28270ce514da55c9
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 21 16:02:50 2009 -0600
+
+ mesa: comment for _mesa_GetVertexAttribfvARB()
+
+commit 254845fad064eabd92c7a72322e647137ec719e9
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 21 15:57:29 2009 -0600
+
+ mesa: minor code simplification in _mesa_GetVertexAttribfvARB()
+
+commit 6a2211f00077f49af42e6f087e3120abfb1be5ae
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 21 15:55:50 2009 -0600
+
+ mesa: remove const qualifier
+
+commit a554d7c4d87902833382cb67bd8a282d5c500c6d
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 21 15:55:33 2009 -0600
+
+ mesa: VertexAttribPointer comments
+
+commit 8fe3134622eed34159ff6f72a33558a659e8d299
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 21 15:36:25 2009 -0600
+
+ mesa: call _mesa_update_array_object_max_element() before printing array info
+
+commit 8fa0cb2b422abaeee1b69f82ca7e9f02dc8393b9
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 21 10:15:18 2009 -0600
+
+ mesa: added gl_array_object::Weight array field
+
+ We don't really implement vertex weights but in the VBO code this
+ fixes and odd case for the legacy_array[] setup. Before, the
+ vbo->draw_prims() call was always indicating that the vertex weight
+ array was present/enabled when it really wasn't.
+
+commit 1889890c88c3c10287ca4f84369190cc7029884f
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 21 10:11:13 2009 -0600
+
+ mesa: check FEATURE_point_size_array for PointSize array
+
+commit aac19609bfd7c950b2577489b06886c8a8097bb2
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 21 10:05:04 2009 -0600
+
+ mesa: fix some potential state-restore issues in pop_texture_group()
+
+ Call the _mesa_set_enable() functions instead of driver functions, etc.
+
+ Also, add missing code for 1D/2D texture arrays.
+
+commit de1cfc5e8a8e9d0b0b397671575ae448a554a002
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 21 09:56:41 2009 -0600
+
+ mesa: new _mesa_update_array_object_max_element() function
+
+ This will replace the code in state.c
+
+commit dda82137d28aba846dda73da230871c115e30aaf
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 21 09:52:33 2009 -0600
+
+ vbo: return VP_NONE from get_program_mode() if running fixed-func vertex program
+
+ If we're running a vertex program to emulated fixed-function, we still need
+ to treat vertex arrays/attributes as if we're in fixed-function mode.
+
+ This should probably be back-ported to Mesa 7.5 after a bit more testing.
+
+commit a1f6f82e829d14a9b730f1761ebfc11b4409cb51
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 21 09:50:55 2009 -0600
+
+ vbo: move vp_mode enum to vbo_exec.h, use enum instead of GLuint
+
+commit b52cdb81e2a0f7109e754daa4a02aced22aa995f
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Thu May 21 17:40:27 2009 -0400
+
+ r6xx/r7xx: fix segfault in vertex shader setup
+
+commit 1b84d228d5a3c15530567ce193455af4932839bf
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Thu May 21 17:38:14 2009 -0400
+
+ r6xx: fix count on START_3D packet
+
+commit bd0861e2742c22e4bce83bce40dfdbfd713835df
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed May 20 21:15:46 2009 -0700
+
+ i965: fix whitespace in brw_tex_layout.c
+
+ The broken indentation was driving me crazy, so fix other stuff while
+ I'm here.
+
+commit 3a521d84ecc646fcc65fa3fe7c5f1fdbdebe8bc2
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed May 20 15:59:07 2009 -0700
+
+ i956: Make state dependency of SF on drawbuffer bounds match Mesa's.
+
+ Noticed while debugging a weird 1D FBO testcase that left its existing
+ viewport and projection matrix in place when switching drawbuffers. Didn't
+ fix the testcase, though.
+
+commit e78a6aa2b94683faa8d43a39aa68d806b14f8833
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed May 20 14:16:34 2009 -0700
+
+ intel: Fall back on any rendering to texture with no miptree.
+
+ Fixes segfault on an fbo.c negative test for FBO with texture width/height
+ of 0. Previously we just tested for border != 0 to work around this
+ segfault.
+
+commit 8bba183b9eeb162661a287bf2e118c6dd419dd24
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed May 20 14:05:03 2009 -0700
+
+ intel: Mark the FBO as incomplete if there's no intel_renderbuffer for it.
+
+ This happens to rendering with textures with a border, which had resulted
+ in a segfault on dereferencing the irb.
+
+commit 467f18f7a5375af9a31031063536c927df3ea70c
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed May 20 14:00:32 2009 -0700
+
+ intel: Don't segfault on glGenerateMipmaps of a cube map with one face defined.
+
+ This presumably applies to SGIS_generate_mipmaps as well.
+
+commit 4da58bbab034fb2ef955495445fe377dbce1f411
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed May 20 13:09:04 2009 -0700
+
+ intel: Use _mesa_CheckFramebufferStatusEXT insteaad of glCheck...
+
+ Fixes a segfault in our oglconform fbo test.
+
+commit 02f73c43b4060b58fa0d9b3da4753cbbccde3c84
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 21 09:12:35 2009 -0600
+
+ mesa: added debug functions for dumping color/depth/stencil buffers
+
+commit 840c09fc71542fdfc71edd2a2802925d467567bb
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 15 09:14:24 2009 -0600
+
+ i965: rename var: s/tmp/vs_inputs/
+
+commit f7ca97f85e73c0b0a0e056ae86e4aa5a68ec39f1
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 14 16:51:10 2009 -0600
+
+ mesa: remove pointless null ptr check, improved some error messages
+
+commit 39d7524f7b176d4375e230ac60963d197be539f2
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 14 16:25:32 2009 -0600
+
+ mesa: added _mesa_print_arrays() for debugging
+
+commit 15f21bf357980284d4aea6270f68bb9b83d26fbd
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 14 16:23:34 2009 -0600
+
+ mesa: updated comment for _MaxElement field
+
+ It's the largest array index, plus one.
+
+commit a185bcbdec856cc98c26098e4e447a683eed14d1
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 14 13:24:24 2009 -0600
+
+ mesa: move gl_array_attrib::_MaxElement to gl_array_object::_MaxElement
+
+ This value is per array object.
+
+commit 899c524a49fe5dc7413656380ebd65bbd061c042
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 14 08:22:29 2009 -0600
+
+ vbo: s/8/MAX_TEXTURE_COORD_UNITS/
+
+commit 2c007517b541ab470ad251365bd95c83002dfb16
+Author: Jonathan Adamczewski <jadamcze@utas.edu.au>
+Date: Thu May 21 08:19:00 2009 -0600
+
+ cell: perform triangle cull a little earlier
+
+ In spu_tri.c:setup_sort_vertices() triangles are culled after the
+ vertices are sorted. This patch moves the check a little earlier
+ and performs the actual check a little faster through intrinsics and
+ a little trickery.
+
+ Reduced code size and less work is done before a triangle is deemed
+ OK to skip.
+
+commit b4824520ecf453cd8de90e57e839cb11a698d9c0
+Author: Jonathan Adamczewski <jadamcze@utas.edu.au>
+Date: Thu May 21 08:18:03 2009 -0600
+
+ cell: unroll inner loop of spu_render.c:cmd_render()
+
+ It was taking approximately 50 cycles to extract the vertex indices,
+ calculate the vertex_header pointers and call tri_draw() for each
+ three vertices - .
+
+ Unrolled, it takes less than 100 cycles to extract, unpack,
+ calculate pointers and call tri_draw() eight times. It does have a
+ nasty jump-tabled switch. I'm sure that there's a better way...
+
+ Code size of spu_render.o gets larger due to the extra constants and
+ work in the inner loop, there are extra stack saves and loads
+ because there are more registers in use, and an assert. spu_tri.o
+ gets a little smaller.
+
+commit 5b27b4ad37bd992d2d3a6fd9d407277113544f30
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 21 08:15:22 2009 -0600
+
+ st: add support for GL_EXT_vertex_array_bgra
+
+commit d2f4c2b6327832ce59dde5d7741a656b5ff5c46d
+Author: Carl Worth <cworth@cworth.org>
+Date: Thu May 21 07:52:13 2009 -0600
+
+ minstall: Don't copy over an identical file
+
+ The rationale here is to avoid updating a timestamp for a file that
+ hasn't changed. Needless updates of the timestamp can ripple into
+ other projects, (xserver, etc.), useless recompiling due to a
+ 'make install' in mesa that didn't actually change anything.
+
+commit d7cc0eb47930d6c8ebfd18fefbe48fe8eec696a0
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Thu May 21 13:49:15 2009 +0200
+
+ radeon: maxbuffer size is in bytes
+
+commit 3af0952bc9bade8d5a5c60349c045b28762f8815
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed May 20 23:22:16 2009 -0700
+
+ r300-gallium: r500-fs: POW.
+
+ I feel so unclean.
+
+commit cfd241e8a68bc04f0f82960eae9ff1ec01384b67
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed May 20 21:52:11 2009 -0700
+
+ r300-gallium: r500-fs: LRP.
+
+ Goddammit. This cannot be the "easy way." :C
+
+commit f1f0893eba6a3785d309f60ce4027980237fb8a6
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed May 20 16:53:45 2009 -0700
+
+ r300-gallium: r500-fs: Combine function.
+
+commit d67fb5ea1d93db3f64720994017c312a04867eea
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed May 20 15:02:45 2009 -0700
+
+ r300-gallium: Prevent assert when fogcoords are present.
+
+ Seems like this file is the source of all bad logic. (Pun intended.)
+
+commit d04c85d01bf37d480df8b9a21d9a79194d2e67f3
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed May 20 14:55:03 2009 -0700
+
+ r300-gallium: Another constantbuf shader recompile test.
+
+ Less briefly... Shaders need to be recompiled if their constantbuf
+ offsets have changed. However, since we only change them from shaders if
+ immediates need to be emitted, we shouldn't bother if the shader doesn't
+ use immediates.
+
+commit 4151c0ea91212ac5ec73fa6d1936df9254978672
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed May 20 14:38:22 2009 -0700
+
+ r300-gallium: Raise constantbuf limits.
+
+ Still not correct, but really I don't care.
+
+commit 364a4a829341b3691b4d1e559d5cc3c178147b97
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed May 20 14:17:27 2009 -0700
+
+ r300-gallium: fs: Remove cruft from way back when.
+
+commit 0ba7f762339cbc8be31fe98421b0c9b44c7402fa
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed May 20 13:21:17 2009 -0700
+
+ radeon-gallium: Add surface_buffer_create callback.
+
+commit a13e96359baaa0331561f86ef6487feba6540464
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Wed May 20 22:18:31 2009 +0200
+
+ r200: fix vbo array rendering
+
+commit 9e8de1b91136d056ee29e1a448196b5648ac2b3f
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed May 20 12:22:24 2009 -0700
+
+ r300-gallium: Make surface_copy actually load the texture in shader.
+
+commit b22b6f074381f3a0cfb9b6c3f45eaa533c1a0426
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed May 20 12:08:00 2009 -0700
+
+ r300-gallium: Add missing R481 PCI ID.
+
+ Per 74cb2aba on xf86-video-ati.
+
+commit 65946ef0813e00944763ae959698e281871ee642
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed May 20 11:46:26 2009 -0700
+
+ r300-gallium: Make surface_copy work, and refactor buffer validation.
+
+commit 01daeadf8cd8c56820585c3da88cc626dcdc33d0
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Wed May 20 16:39:33 2009 +0200
+
+ radeon: Increase reference count of current renderbuffers.
+
+ Fixes
+
+ glxinfo: main/renderbuffer.c:2159: _mesa_reference_renderbuffer: Assertion
+ `oldRb->Magic == 0xaabbccdd' failed.
+
+commit b9bd1abf2664a75642ee5e1999697bbe480b9172
+Merge: c696dd0 0c75cb5
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Wed May 20 17:00:48 2009 +0200
+
+ Merge branch 'master' into radeon-rewrite
+
+ Conflicts:
+ src/mesa/drivers/dri/r300/r300_context.c
+ src/mesa/drivers/dri/r300/r300_texstate.c
+
+commit c696dd0f62c195d71cf7ecbdd04d9b156dd0da0b
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Wed May 20 16:34:06 2009 +0200
+
+ radeon: set max texture size
+
+ This still need some work to actually report somethings reasonable
+ if no memory manager is available.
+
+commit 4550423211063010a2fa482037d8233bb80e3773
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed May 20 07:18:08 2009 -0700
+
+ radeon-gallium: Don't permit reading and writing a BO in one CS.
+
+ This fixes some silent problems in current libdrm_radeon.
+
+ surface_copy still locks up hard.
+
+commit c28e0e7d97aba40968b0b9ca96cb7d3b4b7b1fef
+Author: root <root@richard-desktop.(none)>
+Date: Wed May 20 09:16:21 2009 -0400
+
+ Add missing file from local.
+
+commit 8308bf9ee155b405ad42e6621daf33a108330418
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Wed May 20 13:21:24 2009 +0200
+
+ r200: fix indexed draw color order and cs missmatch
+
+commit 0c75cb5afe81b0de9d006f9f9b75fdc9a15038d0
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue May 12 19:51:44 2009 -0600
+
+ st: reformatting, comments, var renaming
+
+commit 3149b87ac43a5f10983c6682dff7a00cf1d99c7c
+Author: root <root@richard-desktop.(none)>
+Date: Tue May 19 16:47:39 2009 -0400
+
+ Makeup checkin for radeon code change paired with r6/7 code.
+
+commit d0eccc41878ba9f51a885a69c4ba79fb127aeb18
+Merge: 43d8ace 042d9a5
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue May 19 10:07:45 2009 -0600
+
+ Merge branch 'mesa_7_5_branch'
+
+commit 042d9a513213b1fa356c0d80abc62b9327e0bcc2
+Author: Mathias Fröhlich <frohlich8@users.sourceforge.net>
+Date: Tue May 19 09:59:01 2009 -0600
+
+ mesa: allow depth/stencil textures to be attached to GL_STENCIL_ATTACHMENT
+
+ See sourceforge bug #2793846.
+
+commit c99a60c40d4ece363d37a5af895124f08a645c6b
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue May 19 09:57:01 2009 -0600
+
+ mesa: assign trb->Base.StencilBits in update_wrapper().
+
+ When we render to a depth/stencil texture there are stencil bits.
+
+commit 43d8ace88da80848035827c7bb4bbf5530b59a7c
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue May 19 09:21:27 2009 -0600
+
+ mesa: print more info when valid_texture_object() fails
+
+commit 465588cd0e6451c758a12108787331d03ed52780
+Author: Richard Li <richardradeon@gmail.com>
+Date: Tue May 19 10:28:40 2009 -0400
+
+ Fix nop insertion bug. redbook hello can run.
+
+commit bd59dd69ba0f11f96e627c663c67cc15d1083776
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sat May 16 03:13:15 2009 +0100
+
+ trace: Improve shader wrapping
+
+commit 7d11a392d780ef7f0374f8da87e3ba416d880cf2
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Mon May 18 02:50:15 2009 +0100
+
+ st/dri: Only create new textures if drawable has changed
+
+commit d0639d067e9b95875b1d395eaa66388884996296
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon May 18 09:50:30 2009 -0700
+
+ r300-gallium: Fix (another) wrong value in MSPOS.
+
+ Again, thanks to agd5f.
+
+commit 026f4c97dc4cf29c93461857afa76b07086ede42
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon May 18 09:47:37 2009 -0700
+
+ radeon-gallium: Remove BO validation debug.
+
+ It appears that that area of code "just works" much like classic Mesa's
+ version, so might as well not waste scrollback on it.
+
+commit 5236ea39006fd0b475ff1658a1418abc71ec998c
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon May 18 09:41:21 2009 -0700
+
+ r300-gallium: Cleanup viewport state setup.
+
+commit 301d238c1adf3d451b412333a77c81af14feed6f
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon May 18 09:40:13 2009 -0700
+
+ r300-gallium: Always do VTE, never software viewport.
+
+ This makes glxgears draw properly with SW TCL.
+
+commit edfbf7dccb1d90ebedfa08fe06e1db7fff9f94d4
+Merge: 27206ad 7ce105d
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon May 18 10:36:50 2009 -0600
+
+ Merge branch 'mesa_7_5_branch'
+
+ Conflicts:
+
+ Makefile
+ src/mesa/main/version.h
+
+commit 7ce105d2e6885eeac73c59dc14c4cd59a89c1425
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon May 18 10:28:04 2009 -0600
+
+ st/mesa: fix incorrect src/dst stride params to _mesa_generate_mipmap_level()
+
+ The stride needs to be in texels, not bytes.
+
+commit adabd0e81e287cd5dac60fa63841d8b096d10d5f
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon May 18 10:27:31 2009 -0600
+
+ mesa: comments for _mesa_generate_mipmap_level()
+
+commit 30320f0afb3ae4409adab662d65475cf9665bc19
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon May 18 10:13:44 2009 -0600
+
+ softpipe: add texture target sanity check assertion
+
+commit 14e5bff97b20565637d468d97dba434ac4cd2ba1
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon May 18 10:12:36 2009 -0600
+
+ st: fix incorrect target parameter to screen->is_format_supported()
+
+ We were passing a GL texture target instead of a pipe_texture_target enum.
+
+commit df37cde3090cabded561f4f5ef29ff5ddf980170
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon May 18 08:46:17 2009 -0600
+
+ mesa: added linux-osmesa-static config
+
+ Contributed by Nicolas Noble. See SF bug #2792536
+
+commit 6e61700541f229b55d78102a534c022caee1319c
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon May 18 07:17:46 2009 -0600
+
+ docs: link to 7.5 relnotes
+
+commit da0d4e1db67d7641a535218de2db5f7bb00a6bb8
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon May 18 07:17:36 2009 -0600
+
+ docs: emphasize the incomplete status of the nouveau/R300 gallium drivers
+
+commit f2445dfd85b42aafe0634e17b2929b4122ff3f03
+Author: Aidan Thornton <makosoft@googlemail.com>
+Date: Mon May 18 12:47:00 2009 +0200
+
+ Initialize psp->waitX/waitGL for swrast_dri.so.
+
+ Fixes http://bugs.freedesktop.org/show_bug.cgi?id=21053 .
+
+commit d039cf4574893e480d33f286e3526c6805d919fd
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Mon May 18 10:13:05 2009 +0200
+
+ radeon: fix DRI1 cmd stream
+
+commit 27206add2738f9813d1e9f42fe3b1bdfbd9b8aa4
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun May 17 21:41:25 2009 -0700
+
+ r300-gallium: Enable GLSL for r500.
+
+ Before you get all excited, this is *not* to be construed as actual support
+ for GLSL shaders. The GL version is still 1.3, and stuff still sucks. Just
+ flicking it on so that it can be tested and developed a bit easier.
+
+commit 9569221563fd0e9fba564126d61bf3786cf74715
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun May 17 21:40:16 2009 -0700
+
+ r300-gallium: r500-fs: DDX and DDY support.
+
+ Oh, look, GLSL instructions. I wonder what I'll do next.
+
+commit 0036f2ccba6720e06a578333f04086d100d188b1
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun May 17 21:39:11 2009 -0700
+
+ dri-gallium: Add GLSL support.
+
+ Oh, look, it's more features. :3
+
+commit 06a7b798f2261a7faaede71946e4489979840713
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun May 17 21:10:07 2009 -0700
+
+ r300-gallium: Add half-right COS and SIN.
+
+ HW trig does a premultiply by 2pi, where Mesa does another premultiply by pi.
+ This is a problem.
+
+commit 572d7d1358b60c93ec4f1f28151bb0e708a9df17
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun May 17 20:49:39 2009 -0700
+
+ r300-gallium: Size mismatch.
+
+commit 6a40d1e9d96f8e8c57bc3bbd6f567cacd4471f59
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun May 17 17:03:15 2009 -0700
+
+ r300-gallium, radeon-gallium: Nuke gb_pipes from orbit.
+
+ See the previous commit for an explanation. This is just all the support code
+ for GB_TILE_CONFIG.
+
+commit d6e085bd76ad8e6cfb67c317dc1b32b04434a8b5
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun May 17 16:42:54 2009 -0700
+
+ r300-gallium: Don't set GB_TILE_CONFIG (in userspace.)
+
+ This accompanies kernel patches that make GB_TILE_CONFIG's various members
+ completely controlled in DRM.
+
+ GB_TILE_CONFIG has the following controls:
+ - The number of GB (pixel) pipes enabled
+ - The size and style of tiling
+ - Subpixel precision (either 1/12 or 1/16)
+
+ Per airlied and glisse, userspace and kernel will now agree (always) on
+ a subpixel precision of 1/12, and tiling will always be kernel-controlled.
+
+commit 60665ae6277f15a1b5e48b65ba7d94cea2535c2c
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun May 17 13:23:39 2009 -0700
+
+ r300-gallium: Clean up more invariant state.
+
+ GA_ENHANCE is now the kernel's problem.
+
+commit e5f5390f4bcb0fb04dff11cd1333b426cba6d0d1
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun May 17 12:51:18 2009 -0700
+
+ r300-gallium: Update XXX.
+
+ Lops work fine as long as HW TCL is off. (I think I know why.)
+
+commit fbcfcd9f5ce7523bde69103fcf1ebae30531a10c
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun May 17 11:58:53 2009 -0700
+
+ r300-gallium: Correct default MSPOS.
+
+ Per agd5f.
+
+commit 45435abcb967931c79aba1714ae797a1c5dc075e
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun May 17 10:33:56 2009 -0700
+
+ r300-gallium: vs: Fix vert shader init.
+
+ Makes the last three commits suck much less. :3
+
+commit 8dae8f28e52ed20b087ecf0d09efe2d94bdd09cf
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun May 17 10:30:59 2009 -0700
+
+ r300-gallium: r500-fs: Enable depth writes, kinda.
+
+ Should work, but doesn't. Hm.
+
+commit 7e97219ff8adce22d30abeda53144f7193589c30
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun May 17 09:44:14 2009 -0700
+
+ r300-gallium: Comment out useless debugging code.
+
+ Those parts are nearly solid compared to the shaders.
+
+commit 764bf9501adea0f3dbe8d7c718b22dfb067fbbfa
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun May 17 09:39:06 2009 -0700
+
+ r300-gallium: vs: Dupe tokens, better debug, count spurious insts.
+
+commit 08ec7e0d329a72433b427e8167b2c3442d1f53b4
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat May 16 11:17:05 2009 -0700
+
+ r300-gallium: Die on bad texture formats.
+
+ Odds are good that we'll die later anyway, so we might as well do it before
+ we start dancing on random memory.
+
+commit 17b395638b92139feef9beaea4039f76710bb23a
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat May 16 10:56:17 2009 -0700
+
+ r300-gallium: Update floating-point params too.
+
+ Even though we *can* render 10,000-pixel-wide lines, let's not advertise it.
+
+commit 13f8e7bc9c5b4a7de0fe4f53af2eb6237b3e71fd
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat May 16 10:46:55 2009 -0700
+
+ r300-gallium: Update screen caps.
+
+ Anisotropic filtering should work, and OQ is broken.
+
+commit 0e8c6e56e467864249dfa311be1eef4dfc381f2a
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat May 16 10:03:46 2009 -0700
+
+ intel-gallium: Fix trace_drm integration.
+
+ Compile-tested only, sorry.
+
+commit 5e39a8c4503596a019dc7c3ed4e24ee4117b1fca
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat May 16 09:58:54 2009 -0700
+
+ Create common trace_drm code, add to radeon_winsys.
+
+commit 13131adbf1beb3e4222ce16c32ac7910a4a5331b
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat May 16 08:47:36 2009 -0700
+
+ r300-gallium: Various cleanups leftover from before.
+
+ BEGIN/END_CS pair, a few asserts, and a slightly more correct VTE setup.
+
+commit 57fd20237541c34ed06587bca9f5a58c8a63fbf4
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat May 16 17:25:26 2009 +0100
+
+ gallium: remove occlusion_count flag from depth-stencil state
+
+ Drivers can just keep track of whether they are within a query
+ by monitoring the begin/end query callbacks. The flag adds no
+ information beyond that.
+
+ Only softpipe was examining this flag -- it has been fixed up
+ and retested with demos/arbocclude.
+
+commit 73d2a4a04750b18463b51750651d3925d63ae074
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Thu May 14 02:21:09 2009 +0200
+
+ r300: cleanup vertex program related functions
+
+ - move vertex program related functions to r300_vertprog.c
+ - use _mesa_bitcount instead of self-made bit_count function
+ - remove duplicated field in r300_vertex_shader_fragment.body union
+ - rename r300_vertex_shader_fragment to r300_vertex_shader_hw_code
+ - rename r300_vertex_program field native to error
+ - remove unnecessary r300_vertex_shader_state structure
+ - remove unused r300_vertex_program and r300_vertex_program_cont fields
+ - remove disabled code
+
+commit 1b49f1ca7f9ffda8b4a75ef2ad0be4c2c0eb820a
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Thu May 14 00:22:21 2009 +0200
+
+ r300: minor code movement
+
+commit f8c30793d161618fa1cdc788ad7984566b236d5e
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Thu May 14 00:10:52 2009 +0200
+
+ r300: more cleanup
+
+ - remove unnecessary r300TranslateFragmentShader call from r300UpdateShaderStates (it is already called in r300UpdateShaders)
+ - remove unnecessary null ptr checks
+
+commit 1961caeda849faeb9265d6df5724f2454f4c1055
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Wed May 13 23:58:21 2009 +0200
+
+ r300: move some code to common path
+
+commit 12ed56f1ddfbd40df16d4ab47b546ee25218118f
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Wed May 13 23:49:04 2009 +0200
+
+ r300: rename functions
+
+ Be consistent with function naming: use Setup/Emit names for functions that modify hardware state
+
+commit 6f1a86ca1eb4a44a738d0ad99861d948c9749de6
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Wed May 13 23:09:39 2009 +0200
+
+ r300: move forward declarations to where they belong
+
+commit 2240c0d33365189f975b84b06792e2a5ecb8b13a
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Thu May 14 02:07:49 2009 +0200
+
+ r300: software fallbacking handling rewrite
+
+ Until now falling back to software rasterizer worked only for TCL enabled cards.
+ For non TCL cards we used to plug our rendering functions in r300InitSwtcl, and we had never restored original functions for software rasterizer.
+
+commit 621f65ab86f94f7a228e5f96061a8e3451f15db0
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Wed May 13 22:33:27 2009 +0200
+
+ r300: r300EmitArrays should never fail
+
+commit d6da805c4e6f060a4a531aba89d4a7db885767f4
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Wed May 13 22:28:39 2009 +0200
+
+ r300: remove unnecessary switch cases
+
+commit 42f16aa4e0d9f1c5f016919ed04c55430507234e
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Wed May 13 22:24:57 2009 +0200
+
+ r300: further cleanup
+
+ - move extensions init into seperate function
+ - move options handling into seperate function
+ - create new structure to hold options values
+ - use context->options.hw_tcl_enabled field instead of global hw_tcl_on and future_hw_tcl_on variables
+
+commit 3259f52a9296c1b82cd18f405735e65d2b727144
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sat May 16 01:21:02 2009 +0100
+
+ gallium-intel: Enable trace driver
+
+commit f04c38fa1fab0fe640b89d0de82fa44e2ee984a9
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sat May 16 01:49:11 2009 +0100
+
+ trace: Export enabled status
+
+commit ee05658798c047876ccd9e5cd33e12eee1dd8758
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sat May 16 01:19:44 2009 +0100
+
+ trace: Unwrap buffer in texture_blanket
+
+commit ab95f389a59acd8f70fc6ce00d945511f0a45d8b
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri May 15 05:59:24 2009 +0200
+
+ trace: If either shader is disabled don't draw
+
+commit 3b4da4e9dac00f181380a9896ef3329964432c43
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri May 15 05:30:43 2009 +0200
+
+ trace: Put shaders on a list in the context
+
+commit c30f66118974f41f57e86d49f372b7c78f891223
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri May 15 04:17:00 2009 +0200
+
+ trace: Move state dump functions to tr_dump_state.[c|h]
+
+commit 22690482e692cb5ed2f84d3e69545c09292e3484
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri May 15 17:32:21 2009 -0700
+
+ intel: Don't complain on falling back from PBO fastpaths.
+
+ Instead, stash the debug info under the handy debug flag.
+
+ Bug #20053
+
+commit 2a7a2c6b77116fd475e1d05fb0adbd1702d11f77
+Author: Richard Li <richardradeon@gmail.com>
+Date: Fri May 15 19:37:09 2009 -0400
+
+ Fix r6 code bugs.
+
+commit 0307e609aa3e707eeb40051bd664d36f2340ba9b
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri May 15 16:24:59 2009 -0700
+
+ mesa: Mark FBOs with compressed color attachments as FBO-incomplete.
+
+ Both EXT_fbo and ARB_fbo agree on this. Fixes a segfault in the metaops
+ mipmap generation in Intel for SGIS_generate_mipmap of S3TC textures in
+ Regnum Online.
+
+ Bug #21654.
+
+commit 97ccdee68aef925d14ee4ee17eef307f55a3c92f
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Fri May 15 22:54:07 2009 +0100
+
+ gallium-intel: Build with scons
+
+commit c4538e326a99fde3996f21866497f92ec14086df
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Fri May 15 22:47:31 2009 +0100
+
+ st/egl: Use proper Makefile
+
+commit b197a8ade3e1e6c67743111f12f27e0a4a985cd9
+Author: Steinar H. Gunderson <sgunderson@bigfoot.com>
+Date: Tue May 12 11:32:03 2009 -0700
+
+ i915: Fix 945 cube map layout for the small mipmaps along the bottom.
+
+ Bug #21691.
+
+commit 4c6f82989983eecc0b3b724716cb3bcb675664c5
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri May 15 12:32:51 2009 -0700
+
+ i915: Use Stencil.Enabled instead of Stencil._Enabled in DrawBuffers.
+
+ The _Enabled field isn't updated at the point that DrawBuffers is called,
+ and the Driver.Enable() function does the testing for stencil buffer
+ presence anyway.
+
+ bug #21608 for Radeon
+
+commit 5c5a46884899ea25cdf25545d6ab3d9a74eafa3a
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri May 15 11:41:42 2009 -0700
+
+ i915: Only use the new 945 cube layout for compressed textures.
+
+ The docs actually explain this, but not in a terribly clear manner.
+ This nearly fixes the piglit cubemap testcase, except that something's
+ going wrong with the nearest filtering at 2x2 sizes in the testcase.
+ Looks good by visual inspection, though.
+
+ Bug #21692
+
+commit 483e247804db914835173347b7f2a12c0f78d60e
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 15 08:03:56 2009 -0600
+
+ mesa: bump version to 7.5-rc2
+
+commit 65b9cd74e3145b416f2c9695a0c3bc7bd6b85e25
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 15 08:02:40 2009 -0600
+
+ docs: updates from the 7.4 branch
+
+commit dc657f3929fbe03275b3fae4ef84f02e74b51114
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu May 14 10:56:32 2009 -0700
+
+ i965: Fix varying payload reg assignment for the non-GLSL-instructions path.
+
+ I don't have a testcase for this, but it seems clearly wrong.
+
+commit 0f5113deed91611ecdda6596542530b1849bb161
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu May 14 09:49:45 2009 -0700
+
+ i965: Fix register allocation of GLSL fp inputs.
+
+ Before, if the VP output something that is in the attributes coming into
+ the WM but which isn't used by the WM, then WM would end up reading subsequent
+ varyings from the wrong places. This was visible with a GLSL demo
+ using gl_PointSize in the VS and a varying in the WM, as point size is in
+ the VUE but not used by the WM. There is now a regression test in piglit,
+ glsl-unused-varying.
+
+commit 64980125c76b05501a6fe7fe20fe52438f459129
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed May 13 19:08:17 2009 -0700
+
+ intel: Use FRONT_AND_BACK for StencilOp as well.
+
+commit d866abeffc7e4a29736fa35fb8ac09c3a28a44d6
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed May 13 18:18:29 2009 -0700
+
+ intel: Use GL_FRONT_AND_BACK for stencil clearing.
+
+ This comes from a radeon-rewrite fallback fix, but may also fix stencil
+ clear failure when the polygon winding mode is flipped.
+
+commit 96922d1b71dc1ba7375b4fea6439127e62c36073
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu May 14 08:17:08 2009 -0700
+
+ r300-gallium: Correct VTE setup for surface_fill, make surface_copy emit right.
+
+commit ab6c4fa582972e25f8800c77b5dd5b3a83afc996
+Author: Robert Ellison <papillo@vmware.com>
+Date: Wed May 13 20:40:23 2009 -0600
+
+ i965: fix 1D texture borders with GL_CLAMP_TO_BORDER
+
+ With 1D textures, GL_TEXTURE_WRAP_T should be ignored (only
+ GL_TEXTURE_WRAP_S should be respected). But the i965 hardware
+ seems to follow the value of GL_TEXTURE_WRAP_T even when sampling
+ 1D textures.
+
+ This fix forces GL_TEXTURE_WRAP_T to be GL_REPEAT whenever 1D
+ textures are used; this allows the texture to be sampled
+ correctly, avoiding "imaginary" border elements in the T direction.
+
+ This bug was demonstrated in the Piglit tex1d-2dborder test.
+ With this fix, that test passes.
+
+commit bc3270e99f5c39544aaf831742db14796ab83a6a
+Author: Robert Ellison <papillo@vmware.com>
+Date: Wed May 13 20:38:33 2009 -0600
+
+ i965: send all warnings through _mesa_warning()
+
+ One warning message:
+ drm_i915_getparam: -22
+
+ was still being sent to fprintf(). This causes all Piglit tests to fail,
+ even with MESA_DEBUG=0.
+
+ Using _mesa_warning() to emit the message allows the general Mesa controls
+ for messages like this to be applied.
+
+commit 76a64958a4ca38ec27b63a909979c493c507b952
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Thu May 14 17:24:19 2009 +0200
+
+ r300: don't send now forbidden register to kernel when with memory manager
+
+commit 09c04db3c900e4ed833d060853b48c7ca23697e1
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Thu May 14 11:07:49 2009 +0200
+
+ r300: Make sure to drop current hardware state reference to texture objects.
+
+ Fixes potential texture object leaks.
+
+commit d3912e301fd707738b0952cd11e19f34b87765b8
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed May 13 17:24:47 2009 -0700
+
+ r300-gallium: Clean up outdated comments.
+
+commit 15601e970250e12f5d566ba782aae06d9714fbdc
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed May 13 17:01:03 2009 -0700
+
+ r300-gallium: Space accounting for textures.
+
+commit 7cd57e35b6427068b87c2fdb6c2aadef57f53520
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed May 13 19:43:04 2009 -0400
+
+ R1xx/r2xx: Don't use an alpha texture format for GLX_TEXTURE_FORMAT_RGB_EXT
+
+ In r*00SetTexBuffer2(), if the passed in text glx_texture_format
+ is GLX_TEXTURE_FORMAT_RGB_EXT, then we should use an RGB-only
+ texture format, even if the DRI buffer has four channels.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=21609
+
+commit ca792be42b238bd1c8f8a99ad72ea8558cbbfc32
+Author: Owen W. Taylor <otaylor@fishsoup.net>
+Date: Sat May 9 15:23:34 2009 -0400
+
+ radeon: Don't crash generating mipmaps when pixels=NULL
+
+ When a NULL value of pixels is passed to TexImage2D and
+ SGIS_generate_mipmap is enabled, don't try to generate the
+ mipmap tree: we don't have data yet for the texture and will
+ crash.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=21648
+
+commit ea6a74abbe4053b958d640425e061f0ceec92291
+Author: Owen W. Taylor <otaylor@fishsoup.net>
+Date: Wed May 6 22:42:50 2009 -0400
+
+ Don't use an alpha texture format for GLX_TEXTURE_FORMAT_RGB_EXT
+
+ In r300SetTexBuffer2(), if the passed in text glx_texture_format
+ is GLX_TEXTURE_FORMAT_RGB_EXT, then we should use an RGB-only
+ texture format, even if the DRI buffer has four channels.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=21609
+
+commit 34eab5dd9c837769f1259e1f900b4528586d23b2
+Author: Owen W. Taylor <otaylor@fishsoup.net>
+Date: Wed May 6 22:45:33 2009 -0400
+
+ Call _mesa_update_stencil() before accessing ctx->Stencil._Enabled
+
+ ctx->Stencil._Enabled is derived state and not immediately updated
+ when the stencil parameters are changed; we need to make sure that
+ it is up-to-date before accessing it.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=21608
+
+commit 038f0bf5916df5bae1145d234589e5fd528bb7fa
+Author: Owen W. Taylor <otaylor@fishsoup.net>
+Date: Fri May 8 18:58:41 2009 -0400
+
+ Remove subpixel offset from viewport
+
+ Remove an eigth-pixel offset of the viewport inherited from
+ R100 code. This seems not to be necessary and causes blurring
+ when sampling textures 1:1.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=20340
+
+commit ca327b1688a8f70a4d01bf80d11508c90aafe64f
+Merge: ac5bf63 9996039
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed May 13 11:33:52 2009 -0600
+
+ Merge branch 'mesa_7_5_branch'
+
+commit 99960393edb3d6c0d3702cf51b59c2e4189117c7
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed May 13 11:31:35 2009 -0600
+
+ intel: added null ptr check
+
+ Fixes segfault in context tear-down when glClear was never called.
+
+commit ac5bf63f7408414bf8d7993ad77d92b76830cec6
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed May 13 11:24:11 2009 -0600
+
+ docs: GL_APPLE_vertex_array_object for Gallium drivers and Intel DRI drivers
+
+commit a566b6d8ffa45728231f9040b15f86d403304c87
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed May 13 11:19:00 2009 -0600
+
+ intel: enable GL_APPLE_vertex_array_object
+
+ No special driver changes are needed for this extension.
+
+commit a892acef982bd17df81ae16131381a558208c112
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed May 13 11:15:00 2009 -0600
+
+ st/mesa: enable GL_APPLE_vertex_array_object for gallium drivers
+
+commit 3039acfc5db67f3935f9c30a9f17193ab52b20a9
+Merge: 10c4a10 2e4e346
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed May 13 10:33:21 2009 -0600
+
+ Merge branch 'mesa_7_5_branch'
+
+ Conflicts:
+
+ src/mesa/main/arrayobj.c
+ src/mesa/main/arrayobj.h
+ src/mesa/main/context.c
+
+commit 2e4e34689022ecfcc7dc107427db90cc52a94d63
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed May 13 10:28:00 2009 -0600
+
+ intel: create a private gl_array_object for intel_clear_tris(), fix bug 21638
+
+ gl_array_object encapsulates a set of vertex arrays (see the
+ GL_APPLE_vertex_array_object extension).
+ Create a private gl_array_object for drawing the quad for intel_clear_tris()
+ so we don't have to worry about the user's vertex array state.
+ This fixes the no-op glClear bug #21638 and removes the need to call
+ _mesa_PushClientAttrib() and _mesa_PopClientAttrib().
+
+commit 3e74faa02948624cfbaf1f03854f27e0c9130759
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed May 13 09:47:13 2009 -0600
+
+ mesa: delete array objects before buffer objects during context tear-down
+
+ The former may point to the later.
+
+commit 7ae4ce9e22e39d78e2d31164c05a3b267fb48e3c
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed May 13 09:32:53 2009 -0600
+
+ mesa: clean-up vertex array object VBO unbinding and delete/refcounting
+
+ Don't really delete vertex array objects until the refcount hits zero.
+ At that time, unbind any pointers to VBOs.
+ (cherry picked from commit 32b851c80792623195069d7a41a5808cff3b2f6f)
+
+commit 5568f2f601fbd974af402da92548904f6fafc6dc
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed May 13 09:27:31 2009 -0600
+
+ mesa: reference counting for gl_array_object
+
+ Every kind of object that can be shared by multiple contexts should be
+ refcounted.
+ (cherry picked from commit 1030bf0ded2a88a5e27f7a4d393c11cfde3d3c5a)
+
+commit 10c4a10b979bddd099287dec5b69243c2ade8ade
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue May 12 14:08:52 2009 -0600
+
+ i965: enable additional code in emit_fb_write()
+
+ Not 100% sure this is right, but the invalid assertion is fixed...
+
+commit 5590798f6d338e93ae6bee82ba5224568237ec18
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue May 12 14:07:51 2009 -0600
+
+ i965: increase BRW_EU_MAX_INSN
+
+commit 4d244fb8999440a1876281574eb045f0a5895e9e
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue May 12 09:16:27 2009 -0600
+
+ i965: comment
+
+commit 167a6b08048573079c7d5e5f36da3de69d487b6f
+Author: Joakim Sindholt <opensource@zhasha.com>
+Date: Tue May 12 22:01:59 2009 +0200
+
+ r300-gallium: add missing semicolon
+
+ Yeah, that was stupid
+
+commit 62c0c7d81a3f271b7dc7177467f9c884e89f9eee
+Author: Joakim Sindholt <opensource@zhasha.com>
+Date: Tue May 12 21:41:48 2009 +0200
+
+ r300-gallium: duplicate tokens in create_fs_state
+
+ This was all phoenix64's idea. Credit goes to him
+
+commit 723bc9452fee2602fa702699141e91b87872e621
+Author: Joakim Sindholt <opensource@zhasha.com>
+Date: Tue May 12 19:38:17 2009 +0200
+
+ progs/trivial: update .gitignore with new binaries
+
+commit d4a42b0ce6455d03be70aa56aacd779be193aca4
+Author: Eric Anholt <eric@anholt.net>
+Date: Sun May 10 10:08:32 2009 -0700
+
+ intel: Skip the DRI2 renderbuffer update when doing Viewport on an FBO.
+
+commit aa422b262509bc0763a50f63a51a1730139ea52f
+Author: Eric Anholt <eric@anholt.net>
+Date: Sun May 10 09:45:43 2009 -0700
+
+ intel: Map write-only buffer objects through the GTT when possible.
+
+ This looks to be a win of a few percent in cairogears with new vbo code,
+ thanks to not polluting caches.
+
+commit 0fc5fa85bf858ba2ad88995f65cc48b2dab1298d
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue May 12 10:03:08 2009 -0700
+
+ i915: Fix driver after HW glGenerateMipmap commit.
+
+commit 6d63dec41f5399dbe5561175c1652d2ac5ffd4bb
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue May 12 09:05:31 2009 -0600
+
+ swrast: update/restore the opt_sample_rgb/rgba_2d() functions
+
+commit c514c1f99493147bbba7a1dbe157c0492f4cf2eb
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Tue May 12 13:05:57 2009 +0200
+
+ radeon: glReadBuffer set _NEW_BUFFERS, not _NEW_PIXEL
+
+ This was broken with last merge see 62043b27575c378c027251316421e4699f461108
+ for explanations
+
+commit 05c19ec7f0717549c010afc0b6cdc81962d32675
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Tue May 12 13:04:32 2009 +0200
+
+ r300/r500: make sure we detect constant buffer changes
+
+ This was broken with last merge see f48473e42511f8d37a239a07f791bc0a87209e5b
+ for explanations.
+
+commit 0bfa8dfaaf49703eb5c3237b5cae6201b8755e4d
+Author: Tormod Volden <debian.tormod@gmail.com>
+Date: Tue May 12 09:32:11 2009 +0200
+
+ radeon: avoid segfault in radeon_update_renderbuffers() if using DRI1
+
+ Basically the same as 43d9020ff1e975e7f4f9480d9ef24f0b9fb2141f for intel. Bug 21688.
+
+ Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
+
+commit 46b81b0cc883df0ef7d998be36ae6cbf80257cd2
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Tue May 12 08:01:22 2009 +0200
+
+ glXChooseVisual: Only consider fbconfig if we can get the corresponding visual.
+
+ This can fail, e.g. when XLIB_SKIP_ARGB_VISUALS=1 is set.
+
+ See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=524794 and
+ http://bugs.freedesktop.org/show_bug.cgi?id=21600 .
+
+commit 64f36ff9fbe7e12c79cd72ceb68ed5967979445f
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Tue Apr 28 10:08:57 2009 -0700
+
+ Test either GL_FRONT_LEFT or GL_FRONT for front-buffer rendering
+
+ For non-stereo visuals, which is all we support, we treat
+ GL_FRONT_LEFT as GL_FRONT. However, they are technically different,
+ and they have different enum values. Test for either one to determine
+ if we're in front-buffer rendering mode.
+
+ This fix was suggested by Pierre Willenbrock.
+
+ Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
+ (cherry picked from commit 2085cf24628be7cd297ab0f9ef5ce02bd5a006e2)
+
+commit e7cb125b2d9e9c7b1ad89b988fa3bf53ead9eb0c
+Merge: 783e430 f104e4d
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon May 11 16:27:50 2009 -0600
+
+ Merge branch 'mesa_7_5_branch'
+
+ Conflicts:
+
+ Makefile
+ src/mesa/main/version.h
+
+commit f104e4d666dfccda6f5ad817693216733ddede44
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon May 11 16:09:39 2009 -0600
+
+ st: do proper refcounting for framebuffer surfaces
+
+commit f5cf181c65293fd9097f63192c09f44b9c82c633
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon May 11 16:08:01 2009 -0600
+
+ trivial: destroy window upon exit
+
+commit 783e43064b64feb87e0457f96c2275160389f84c
+Author: Joakim Sindholt <opensource@zhasha.com>
+Date: Mon May 11 21:44:49 2009 +0200
+
+ r300-gallium: unbreak build
+
+commit 64f60bc04666dbe2b53c951a2fbab06e2628ee1b
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon May 11 10:09:59 2009 -0700
+
+ r300-gallium: Setup surface in r300_surface_copy.
+
+ I haven't tested, but this may unbreak surface copies.
+
+commit b315ec43eed981b867bc3af16d0e6dc4d050e9ae
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon May 11 10:07:40 2009 -0700
+
+ r300-gallium: Cleanup some compile warnings.
+
+commit e9f8b7f1b9fee80fd705864d047cc017059143f8
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon May 11 09:57:57 2009 -0700
+
+ r300-gallium: Cleanup PSC for HW TCL.
+
+ Still dies in assert, but at least it's not my assert anymore. :3
+
+commit f38a02212fef426dd3f86e5d0f52126e4132a003
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon May 11 09:55:28 2009 -0700
+
+ radeon-gallium: Forgot a typedef.
+
+commit 2e22bd8460ebbb2dd85417d8e5e670fa651d0da9
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon May 11 09:04:15 2009 -0700
+
+ radeon-gallium: Support new info ioctls in addition to classic getparams.
+
+ This makes non-hybrid kernels like newttm from drm-next-radeon work
+ while avoiding breakage with Fedora/Ubuntu/etc.
+
+commit 7c3d7353d7b46f5ce2b411f08f9e4c158f1610e0
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon May 11 10:02:18 2009 -0600
+
+ mesa: updated comments for _mesa_generate_mipmap()
+
+commit 6697311b21a65dbea9236413a3afc759a592afd7
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon May 11 09:39:52 2009 -0600
+
+ i965: handle extended swizzle terms (0,1) in get_src_reg()
+
+ Fixes failed assertion in progs/glsl/twoside.c (but still wrong rendering).
+
+commit 7c2fe42dedcd9f437f2b3fae92963d4c4c56fe03
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon May 11 09:38:32 2009 -0600
+
+ mesa: better handling/printing of driver-specific opcodes, register files
+
+ Drivers such as i965 define extra instruction opcodes and register files.
+ Improve the program printing code to handle those opcodes/files better.
+
+commit 2223615e0a897434b41f86d22c41cb5dc9f8d67a
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon May 11 09:46:56 2009 -0600
+
+ mesa: Fixed a texture memory leak
+
+ The current texture for any particular texture unit is given an additional
+ reference in update_texture_state(); but if the context is closed before
+ that texture can be released (which is quite frequent in normal use, unless
+ a program unbinds and deletes the texture and renders without it to force
+ a call to update_texture_state(), the memory is lost.
+
+ This affects general Mesa; but the i965 is particularly affected because
+ it allocates a considerable amount of additional memory for each allocated
+ texture.
+
+ (cherry picked from master, commit c230767d6956b63a2b101acb48f98823bb5dd31a)
+
+commit 98bb5c610dc68d8e9a185216ce9d2dc6d278c114
+Author: Joel Bosveld <joel.bosveld@gmail.com>
+Date: Sun May 10 18:26:40 2009 +0200
+
+ radeon: add support for new dri2 interfaces & fix single buffer rendering
+
+commit 221b30d595ab2f97fd0518c761615dd28f3ef5ca
+Merge: 13e0ff0 53c2cc8
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Sun May 10 16:57:22 2009 +0200
+
+ Merge commit 'origin/master' into radeon-rewrite
+
+ Conflicts:
+ src/mesa/drivers/dri/r200/r200_state.c
+ src/mesa/drivers/dri/r300/r300_context.h
+ src/mesa/drivers/dri/r300/r300_fragprog.c
+ src/mesa/drivers/dri/r300/r300_state.c
+ src/mesa/drivers/dri/r300/r300_texmem.c
+ src/mesa/drivers/dri/r300/r300_texstate.c
+ src/mesa/drivers/dri/r300/r500_fragprog.c
+ src/mesa/drivers/dri/radeon/radeon_screen.c
+ src/mesa/drivers/dri/radeon/radeon_state.c
+
+commit 31865904d89929364025bfadcde153b4ea9ce7e3
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat May 9 16:21:16 2009 -0600
+
+ mesa: added more gallium Makefiles to tarball list
+
+commit c8c0953294daf9176bc89c28484410e9b7de2b93
+Author: Hanno Böck <hanno@hboeck.de>
+Date: Sat May 9 16:17:37 2009 -0600
+
+ gallium: replace lib with $(LIB_DIR)
+
+commit 13e0ff0df1bb75993bded7b248dd37f58fbfd22c
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Sat May 9 12:56:27 2009 +0200
+
+ radeon: don't include cs uncondionaly
+
+commit 53c2cc8fefa07723fc456d94eda292e201c41dae
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat May 9 00:43:05 2009 -0700
+
+ radeon-gallium: Clean up some of the BO counting logic.
+
+commit a738d2b4c2979d7d54064f2ad08da401b28a473b
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat May 9 00:38:07 2009 -0700
+
+ r300-gallium: vs: Make imms work, cleanup some of the switches.
+
+commit c4c5bf31a743bc53a9dbdef7807928dacae7958a
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat May 9 00:28:49 2009 -0700
+
+ r300-gallium: Start VS dumper.
+
+commit 7e347a0f49bd737f1a219fe8001c8ddb4f8c3d85
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri May 8 22:54:52 2009 -0700
+
+ r300-gallium: vs: Add SLT, clean up MAX.
+
+ This should be all the opcodes for basic TCL.
+
+commit 9b1077714889a5c331c0e208f36233767d39d875
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri May 8 22:52:32 2009 -0700
+
+ r300-gallium: vs: Add MAX.
+
+commit e669ce01d4ee1e785671c811140e4e95e9a7548e
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri May 8 22:46:12 2009 -0700
+
+ r300-gallium: vs: Add scalar setup, RSQ.
+
+ Icky icky icky icky. Icky icky, icky icky. Icky.
+
+commit c6d2b4a495affbaf0fbc53cf54159a7b2b4f6085
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri May 8 22:45:56 2009 -0700
+
+ r300-gallium: vs: Add writemasks.
+
+commit ce758a21b9984cce14db4234fbe353d06a3a2d32
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri May 8 22:05:18 2009 -0700
+
+ r300-gallium: Fix bad cast. Space accounting completely works now.
+
+ Boy, is my face red. :C
+
+commit 1b26c2bbaefe3608b96d9351c0f2eac80274891c
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri May 8 19:40:38 2009 -0700
+
+ r300-gallium, radeon: BO handling fixes, some useful asserts.
+
+commit bed917641cfde06b9ff609760ba20b498a65cefa
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri May 8 17:09:32 2009 -0700
+
+ radeon-gallium: Shut up Valgrind.
+
+commit cd59933d9f70c6acea63013f1b773b545026bf81
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri May 8 16:50:42 2009 -0700
+
+ r300-gallium, radeon: A couple cleanups.
+
+ Trying to track down goddamn bugs. :C
+
+commit 4816764777485b46f360eb6f86dea243d1809221
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri May 8 15:28:09 2009 -0700
+
+ r300-gallium: Finish space accounting.
+
+ Still broken...
+
+commit e2dcebd2e6b2af6269a5ece6d6ced73ec8bb4a47
+Author: Richard Li <RichardZ.Li@amd.com>
+Date: Fri May 8 19:23:45 2009 -0400
+
+ R6xx/R7xx: WIP r6xx-rewrite code
+
+commit 1d112207716774b32c0cc846304c2c50bf40e812
+Author: Robert Ellison <papillo@vmware.com>
+Date: Fri May 8 14:51:11 2009 -0600
+
+ i965: improve debug logging
+
+ Looking for memory leaks that were causing crashes in my environment
+ in a situation where valgrind would not work, I ended up improving
+ the i965 debug traces so I could better see where the memory was
+ being allocated and where it was going, in the regions and miptrees
+ code, and in the state caches. These traces were specific enough
+ that external scripts could determine what elements were not being
+ released, and where the memory leaks were.
+
+ I also ended up creating my own backtrace code in intel_regions.c,
+ to determine exactly where regions were being allocated and for what,
+ since valgrind wasn't working. Because it was useful, I left it in,
+ but disabled and compiled out. It can be activated by changing a flag
+ at the top of the file.
+
+commit fc6d89145df6fc7a1c2ce648b474c3f203ca87c7
+Author: Robert Ellison <papillo@vmware.com>
+Date: Fri May 8 14:42:47 2009 -0600
+
+ i965: fix memory leak in context/renderbuffer region management
+
+ A temporary change to the intelMakeCurrent() function to make
+ it work with frame buffer objects causes the static regions
+ associated with the context (the front_region, back_region,
+ and depth_region) to take on an additional reference, with
+ no corresponding release. This causes a memory leak if a
+ program repeatedly creates and destroys contexts.
+
+ The fix is the corresponding hack, to unreference these
+ regions when the context is deleted, but only if the
+ framebuffer objects are still present and the same
+ regions are still referenced within.
+
+ Both sets of code have comment blocks referring to each
+ other.
+
+commit 44a4abfd4f8695809eaec07df8eeb191d6e017d7
+Author: Robert Ellison <papillo@vmware.com>
+Date: Fri May 8 14:40:38 2009 -0600
+
+ i965: fix segfault on low memory conditions
+
+ When out of memory (in at least one case, triggered by a longrunning
+ memory leak), this code will segfault and crash. By checking for the
+ out-of-memory condition, the system can continue, and will report
+ the out-of-memory error later, a much preferable outcome.
+
+commit c230767d6956b63a2b101acb48f98823bb5dd31a
+Author: Robert Ellison <papillo@vmware.com>
+Date: Fri May 8 11:13:57 2009 -0600
+
+ mesa: Fixed a texture memory leak
+
+ The current texture for any particular texture unit is given an additional
+ reference in update_texture_state(); but if the context is closed before
+ that texture can be released (which is quite frequent in normal use, unless
+ a program unbinds and deletes the texture and renders without it to force
+ a call to update_texture_state(), the memory is lost.
+
+ This affects general Mesa; but the i965 is particularly affected because
+ it allocates a considerable amount of additional memory for each allocated
+ texture.
+
+commit 1d663ae2925ffadf419ddbea9eca8d5706ea6510
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu May 7 22:50:19 2009 -0700
+
+ intel: Add a metaops version of glGenerateMipmapEXT/SGIS_generate_mipmaps.
+
+ In addition to being HW accelerated, it avoids the incorrect
+ (black) rendering of the mipmaps that SW was doing in fbo-generatemipmap.
+ Improves the performance of the mipmap generation and drawing in
+ fbo-generatemipmap by 30%.
+
+commit b6e94f71c2bfc63497e2c8265179f19babe87688
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri May 8 12:46:18 2009 -0700
+
+ intel: Put the constant texcoords used in metaops into a vbo.
+
+ Make this be its own function for setup/teardown of the binding of these
+ texcoords. No performance difference in the engine demo (I just felt dirty
+ not using a VBO for this), and I think it should be more resilient to
+ interference from current GL state.
+
+commit 9b3d748f0274c4d7bf25dab2b31458ca83dcc7d5
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 8 15:07:22 2009 -0600
+
+ mesa: omit files that were removed from git
+
+commit 6fec2eb1433c8d533b0a9afb73a2162db8dd9a7b
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 8 15:04:12 2009 -0600
+
+ mesa: set version to 7.5-rc1
+
+commit f09e5a5b637822b89ba19b2e306b83f8fc3809d0
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 8 13:48:41 2009 -0600
+
+ i965: const qualifiers
+
+commit 4e762395ef7e8c332c16fd0c11025cfa52763a45
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 8 14:34:43 2009 -0600
+
+ mesa: raise MAX_VARYING (number of shader varying vars) to 16
+
+ 16 is the limit for now because of various 32-bit bitfields.
+
+commit 17a354a119370df9196a010a31fc71cd8712ec46
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 8 14:34:15 2009 -0600
+
+ mesa: assertions to check for too many vertex outputs or fragment inputs
+
+commit cc58fbcf2c5c88f406818db60910f537e03610d6
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 8 14:32:19 2009 -0600
+
+ glsl: check number of varying variables against the limit
+
+ Link fails if too many varying vars.
+
+commit 87fbc9a14ed2bdd24d84c38431abbf7b0c275998
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 8 12:44:38 2009 -0600
+
+ mesa: issue warning for out of bounds array indexes
+
+commit e2cf522de09bc4afa18ef8d98db69973ee489d58
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 8 12:43:58 2009 -0600
+
+ i965: don't use GRF regs 126,127 for WM programs
+
+ They seem to be used for something else and using them for shader temps
+ seems to lead to GPU lock-ups.
+ Call _mesa_warning() when we run out of temps.
+ Also, clean up some debug code.
+
+commit 40cba5489d963d4903d9c2385775f880824310da
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 8 12:18:44 2009 -0600
+
+ glsl: set vertex/fragment program Ids to aid with debugging
+
+commit ccaa6463a7a327bb5fe122af41ea77e158439cce
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 8 12:17:11 2009 -0600
+
+ mesa: more shader debug code (disabled)
+
+commit a67c29a268bdfecb910b929e05c0ea02c720caa6
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Fri May 8 16:40:21 2009 +0200
+
+ radeon: IRQ always enabled in DRI2 path no need to query kernel for it
+
+commit b6e226109612057762eb7d0bf73f39a93c69e6c3
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri May 8 14:23:45 2009 +0100
+
+ wgl: Grow the maximum number of pixel formats to cope with the new accum pixel formats.
+
+ Fix a segfault when using softpipe.
+
+commit e90beb93a89f77bffce8ab3d54457ea65868e93c
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu May 7 19:48:06 2009 +0100
+
+ mesa/st: keep surface_copy arguments positive
+
+ The src/dest x,y, and w,h arguments of the pipe->surface_copy
+ function are unsigned and the drivers aren't expecting negative
+ (or extremly-large unsigned) values as inputs. Trim the requests
+ at the state-tracker level before passing down.
+
+commit 507f4e7a7448fb246febefe8819b7b3ac70a35b4
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu May 7 19:27:30 2009 +0100
+
+ mesa/st: remove redundant call to st_finish in CopyTexSubImage
+
+ Rendering should already have been flushed, any synchronization will
+ be done by the driver or memory manager.
+
+commit 44a996b185c446eab7038a10153db7e7496bf2c9
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu May 7 18:21:56 2009 +0100
+
+ wgl: Export pixelformats with accumulation bits.
+
+commit 33d2ca7624968fc972c917f15fa947df36916296
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu May 7 11:46:08 2009 +0100
+
+ mesa/st: cope with non-ibo index data in st_draw_feedback.c
+
+ Previously only non-indexed or indicies-in-a-vbo cases were handled in
+ this code. This change adds the missing regular indices-in-memory
+ case.
+
+commit e6a3801f3daaaf7e7e048ad0c43e838bac6a2d9a
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu May 7 09:24:37 2009 +0100
+
+ util/upload: catch failures to map_range and return error
+
+ Caller may be able to do something about this - eg flush and retry.
+
+commit 222d7841e939d13bf29148c0cba5c7513050fa1e
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu May 7 08:00:42 2009 +0100
+
+ scons: mingw is broken with -O1 and higher
+
+commit ee7982718685cd2398a895caf5e7cd90b6ee12f9
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed May 6 20:41:17 2009 +0100
+
+ stw: fix potential uninitialized use of curctx
+
+commit d5eac43a2e06ff30f9e6f74e49493ef5d64cd309
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed May 6 19:58:08 2009 +0100
+
+ wgl: Enforce a minimum 1x1 framebuffer size.
+
+commit d78b5952c10d5c65cd7d679b291c217ebd30cc4a
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri May 1 18:53:51 2009 +0100
+
+ wgl: Add assertion for missing function.
+
+commit 692263aad695c66669a0001fb3ac6d7a0bd84c94
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri May 1 18:53:17 2009 +0100
+
+ wgl: Remove unused variable.
+
+commit d88faf91e9fe222636b33540298ee64bc6f4416c
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri May 1 18:52:54 2009 +0100
+
+ mesa: Make _mesa_share_state thread safe.
+
+commit 4d28fcfeaa6be438f6739fddcb0661ae97a68919
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri May 1 18:49:22 2009 +0100
+
+ wgl: Implement ShareLists.
+
+commit d56b0e6847255410ccb958068f0828fd2543aaba
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue May 5 13:00:44 2009 +0100
+
+ progs/trivial: add test for vertex program invarient transform
+
+commit b6e8256899a9a93c665c34e10efcc918f2fcc095
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue May 5 12:12:28 2009 +0100
+
+ mesa: more complete fix for transform_invarient glitches
+
+ Add a new flag mvp_with_dp4 in the context, and use that to switch
+ both ffvertex.c and programopt.c vertex transformation code to
+ either DP4 or MUL/MAD implementations.
+
+commit 751f73e2812cf8185c775a91c16cf8565b85536d
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri May 1 18:20:42 2009 +0100
+
+ mesa/main: set PREFER_DP4 to match position_invarient code
+
+ This is a quick fix for z fighting in quake4 caused by the mismatch
+ between vertex transformation here and in the position_invarient code.
+ Full fix would be to make this driver-tunable and adjust both
+ position_invarient and ffvertex_prog.c code to respect driver
+ preferences.
+
+commit 1ed90091be0a79977eb6c055ba1da56114d52f53
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri May 1 16:30:08 2009 +0100
+
+ wgl: Implemente SwapLayerBuffers.
+
+commit 0d0417cc75c3f7047a783c42a76bf378d8ab1397
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri May 1 16:12:17 2009 +0100
+
+ scons: Don't use deprecated Options.
+
+commit be3f9dd26cf59cadc21e4d5cc27dd199c9752b1c
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Apr 30 13:10:58 2009 +0100
+
+ util: Limit the stack walk to avoid referencing undefined memory.
+
+commit f628d7f5eebe9743f85ea8edf7c09b32cf393e4a
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Apr 30 13:09:34 2009 +0100
+
+ gallium/tgsi: hack around linker/archiver breakage
+
+ Add a dummy function which exists only so that tgsi_text_translate()
+ doesn't get magic-ed out of the libtgsi.a archive by the build system.
+ Don't remove unless you know this has been fixed - check on
+ mingw/scons builds as well.
+
+commit e99729d63d50dd7e1dffc8b739b6f9decc834925
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Apr 30 12:35:59 2009 +0100
+
+ progs/trivial: add vbo-noninterleaved test
+
+commit d075cb4fc8c130f2e8f40356e7872fcc7ce3dcd1
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Apr 30 12:24:08 2009 +0100
+
+ wgl: Include alpha bits in pixel format's cColorBits field.
+
+commit af09ba96e9e2d783fb0538a82513716c1c9aed3b
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Apr 30 10:59:19 2009 +0100
+
+ gallium/draw: cope with unused vertex_elements
+
+commit 482be01db02d3ea224e01c24c4d1638229d6a4dc
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Apr 29 14:21:41 2009 +0100
+
+ trivial: add line-flat.c
+
+commit bb9ea58f9502c7e54d03e3c2c21d20749f796c7c
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Apr 28 19:46:56 2009 +0100
+
+ wgl: UINT_PTR null value is an integral type, so return 0 instead of NULL.
+
+commit 1248ff7d45ce4b78af8c7a091cb64f1f992f88dd
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Apr 28 18:53:52 2009 +0100
+
+ pb: Save the stack backtrace when creating/mapping a debug buffer.
+
+commit 606a5476131059b012bb2522b204ed8b868db122
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Apr 28 17:07:01 2009 +0100
+
+ pb: Dump the fenced buffer sizes.
+
+commit d5c2ad8514ce8064d83febf647c9e726788b7924
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu May 7 19:48:06 2009 +0100
+
+ mesa/st: keep surface_copy arguments positive
+
+ The src/dest x,y, and w,h arguments of the pipe->surface_copy
+ function are unsigned and the drivers aren't expecting negative
+ (or extremly-large unsigned) values as inputs. Trim the requests
+ at the state-tracker level before passing down.
+
+commit 6826bad6a75e78729dd472ea26c87787c90ada4c
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu May 7 19:27:30 2009 +0100
+
+ mesa/st: remove redundant call to st_finish in CopyTexSubImage
+
+ Rendering should already have been flushed, any synchronization will
+ be done by the driver or memory manager.
+
+commit 626b6f37eaf81eeb0eb069f18c98c6ffa463647e
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu May 7 18:21:56 2009 +0100
+
+ wgl: Export pixelformats with accumulation bits.
+
+commit 01280cff537544299fe0c5f1a282abde8e69b1f3
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu May 7 11:46:08 2009 +0100
+
+ mesa/st: cope with non-ibo index data in st_draw_feedback.c
+
+ Previously only non-indexed or indicies-in-a-vbo cases were handled in
+ this code. This change adds the missing regular indices-in-memory
+ case.
+
+commit 4a333c64faf78dd39f07574bb94f62ba48995e7d
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu May 7 09:24:37 2009 +0100
+
+ util/upload: catch failures to map_range and return error
+
+ Caller may be able to do something about this - eg flush and retry.
+
+commit 5f5181021e50e830bc4a88cfd3f5249ad962619b
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu May 7 08:00:42 2009 +0100
+
+ scons: mingw is broken with -O1 and higher
+
+commit 48c7aa2648877efab4aac45b50ee2a4c79178536
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed May 6 20:41:17 2009 +0100
+
+ stw: fix potential uninitialized use of curctx
+
+commit 26ffd445861f405e295644df1cbac29458a6054f
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed May 6 19:58:08 2009 +0100
+
+ wgl: Enforce a minimum 1x1 framebuffer size.
+
+commit 3a43ea4946bc5965267f9b689378697fcab020c6
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri May 1 18:53:51 2009 +0100
+
+ wgl: Add assertion for missing function.
+
+commit 082a086e9dffb78b73269ac3524f899e9f780ef9
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri May 1 18:53:17 2009 +0100
+
+ wgl: Remove unused variable.
+
+commit b25168c34c60760a33ca9e8336ac76cf1219f143
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri May 1 18:52:54 2009 +0100
+
+ mesa: Make _mesa_share_state thread safe.
+
+commit 25a4156a8b0bc59f7d3f077526b7e3e350b072ea
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri May 1 18:49:22 2009 +0100
+
+ wgl: Implement ShareLists.
+
+commit a7bb95bf142ac9727a4223639742a8524f9c724b
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Tue May 5 14:45:51 2009 +0200
+
+ r300: add missing texture format
+
+ Fixes piglit/texdepth
+
+commit dc8c7177592fc804f00409d53049af8e6b55f331
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat May 2 19:34:57 2009 +0200
+
+ r300: moar cleanup
+
+ - remove unused r300UpdateClipPlanes function
+ - move reg definition to r300_reg.h
+ - remove incorrect forward definition of tnl_UpdateFixedFunctionProgram and add proper #include
+ - remove unreachable code
+
+commit 14365aa0ef278ac6e04a8c6e6d37e6625b0a309a
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat May 2 17:37:20 2009 +0200
+
+ r300: fix compiler warnings
+
+commit 71b1c92405de2848de4b7effdbc236da1a4815bd
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Fri May 8 09:22:16 2009 +1000
+
+ nouveau: respect GALLIUM_STATE_TRACKERS_DIRS
+
+commit 9e02fa45320c724c69839dae5aaa47034eae5125
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Fri May 8 09:11:17 2009 +1000
+
+ nouveau: remove dri1 code now we're using the dri state tracker
+
+commit b7f2b7e93609836260ca7eef635776073b8f7069
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Fri May 8 09:04:10 2009 +1000
+
+ nouveau: use dri state tracker for dri1
+
+commit fa95ecb467d656e293a12c089b3e85fcbbadb848
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 7 14:33:18 2009 -0600
+
+ mesa: make the array object save/remove functions static
+
+commit 32b851c80792623195069d7a41a5808cff3b2f6f
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 7 14:26:17 2009 -0600
+
+ mesa: clean-up vertex array object VBO unbinding and delete/refcounting
+
+ Don't really delete vertex array objects until the refcount hits zero.
+ At that time, unbind any pointers to VBOs.
+
+commit 56cfa4de9150514af46d040c3cdb24def301b3a1
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 7 14:15:24 2009 -0600
+
+ demos: delete vertex array objects upon exit
+
+commit 1030bf0ded2a88a5e27f7a4d393c11cfde3d3c5a
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 7 13:52:26 2009 -0600
+
+ mesa: reference counting for gl_array_object
+
+ Every kind of object that can be shared by multiple contexts should be
+ refcounted.
+
+commit 9bb6684799f00fabc313ee50be671454e498d8a9
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 7 13:36:20 2009 -0600
+
+ mesa: array object comments
+
+commit 4f6b704f9796775d8d9937c3cf75a2901b99b896
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 7 13:30:39 2009 -0600
+
+ mesa: move the NullBufferObj from GLcontext to gl_shared_state
+
+ Since shared array objects may point to the null/default buffer object,
+ the null/default buffer object should be part of the shared state.
+
+commit 105c8529e78db961fee832b6248c3bcf59668bad
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 7 13:10:48 2009 -0600
+
+ mesa: fix comments, s/texture/buffer/
+
+commit f37cccde3c2f4d63ba45be5b50b2358eb8ef98b4
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 7 11:01:02 2009 -0600
+
+ vbo: in glDraw[Range]Element() code, check for out of bounds indexes
+
+ No-op the bad drawing command rather than go out of bounds and render
+ garbage. Print a warning to alert the developer to the bad drawing call.
+
+commit 6359ecebec860963886801656ab4e01c4e9ff988
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed May 6 15:39:51 2009 -0600
+
+ mesa: remove unused gl_buffer_object::OnCard field
+
+commit dcca97a3e3c1d8f5d27e1177257964eddb9effd3
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed May 6 15:23:09 2009 -0600
+
+ mesa: added gl_buffer_object::Written flag (for debug purposes)
+
+ The flag is set when we data has been written into the buffer object.
+
+commit b9d0f947f2bcc47047b162e3d7c8f91b6153e02c
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed May 6 15:17:25 2009 -0600
+
+ mesa: Compute gl_client_array->_MaxElement during array validation
+
+ Used to be done in the glVertex/Normal/Color/etc/Pointer() calls but
+ if the VBO was reallocated the size could change.
+ New _NEW_BUFFER_OBJECT state flag.
+
+commit 800b14cd378ed708a29230d92031ac7b6ad6a286
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed May 6 15:12:01 2009 -0600
+
+ mesa: GLvector4f:: flags is a GLbitfield, update comments too.
+
+commit 1f75c2daeae71985ec3b9fd8f1431aa33ae35d1e
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed May 6 15:09:18 2009 -0600
+
+ mesa: add storage_count field to GLvector4f. Useful for debugging.
+
+commit 828aa76f360c96adea1725380c397d04690bfd04
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed May 6 13:02:38 2009 -0600
+
+ mesa: use array->BufferObj instead of ctx->Array.ArrayBufferObj
+
+ No difference, but a little more understandable.
+
+commit 0077c879b57f663c038becdde37b2f6671f59150
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed May 6 13:00:35 2009 -0600
+
+ mesa: added _ElementSize field to gl_client_array
+
+ Will be handy for bounds checking later...
+
+commit a6c8e900af981e011e51268a2724e5ff4a3ff1eb
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed May 6 12:56:15 2009 -0600
+
+ mesa: use local var to make code a bit more concise
+
+commit b102c1d8f9ea359879e6c1c4fd8c80c00d21cad5
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed May 6 12:48:21 2009 -0600
+
+ mesa: fix/add comments
+
+commit 7e3bd457e8cf106391f4418d910b8267b4b0de2c
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed May 6 10:54:34 2009 -0600
+
+ mesa: use _mesa_sizeof_type() in vbo split code
+
+commit 3acdab82cba03ea2a0dfaa3d7d5d940f1e94a374
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed May 6 10:36:33 2009 -0600
+
+ mesa: vbo code reformatting, clean-up, comments
+
+commit 87ba2285fe11dfe068798e5f8ea8e089a5d8b28b
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed May 6 09:56:26 2009 -0600
+
+ mesa: add GL_DOUBLE case in _mesa_sizeof_type()
+
+commit 2369f14245222a9c073846baa1bb03e23aa37c15
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed May 6 09:51:56 2009 -0600
+
+ mesa: in vbo split code, map buffers read-only, not write-only
+
+ And use GL_ELEMENT_ARRAY_BUFFER where appropriate.
+
+commit 74bec42b45910e2ff6bf1a8cc0eeb2bc5c705767
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed May 6 09:01:47 2009 -0600
+
+ mesa: limit number of error raised by invalid GL_TEXTURE_MAX_ANISOTROPY_EXT
+
+commit ad32489987f3f65d37aee76083f466d674ada0c5
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed May 6 09:45:24 2009 -0600
+
+ tnl: added some clip debug/print code (disabled)
+
+commit 424507953ca9d41e0dbfcc0399f50315b5671776
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue May 5 11:11:25 2009 -0600
+
+ mesa: reformatting, updated comments, const-correctness
+
+commit 134ac52decf020e6ffb2da8d641cdb3cda9ac0f2
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon May 4 18:22:19 2009 -0600
+
+ tnl: replace 0x3f with CILP_FRUSTUM_BITS
+
+commit f56893ea173454ed5367eafb038fa4905f9ebce3
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed May 6 08:16:42 2009 -0600
+
+ i965: relAddr local var (to make debug/test a little easier)
+
+commit 9a4890dac783cba7572e8146b455f234144f3866
+Merge: 3d048e5 6a3004b
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 7 09:46:53 2009 -0600
+
+ Merge branch 'mesa_7_5_branch'
+
+commit 6a3004b9ae58dafd1ce995df78b0f3183827a59d
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 7 09:43:15 2009 -0600
+
+ swrast: fix span clipping bug
+
+ If a horizontal span of pixels was located at x < 0 we could sometimes
+ read/write outside of renderbuffer bounds.
+
+commit cc7170464493453ec8213decd21df95121b236e2
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu May 7 09:36:21 2009 -0600
+
+ mesa: unmap buffer objects during context tear-down
+
+commit 3d048e57504c63999aeaaf5a65e8e493e6a67ff7
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed May 6 21:44:13 2009 -0700
+
+ i965: Remove bad constant buffer constant-reg-already-loaded optimization.
+
+ Thanks to branching, the state of c->current_const[i].index at the point
+ of emitting constant loads for this instruction may not match the actual
+ constant currently loaded in the reg at runtime. Fixes a regression in my
+ GLSL program for idr's class since b58b3a786aa38dcc9d72144c2cc691151e46e3d5.
+
+commit 156a79f5bd7b3e79f219adf4619ec449a7c0ed1c
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed May 6 13:58:57 2009 -0700
+
+ intel: Unmap buffers if needed at DeleteBuffer time.
+
+ This fixes a crash in glean's pbo test, which tripped over the assert when a
+ context was destroyed while a buffer was still mapped (Mesa doesn't call
+ UnmapBuffer in that case). Regression in
+ c6bde8873fbda6d8467600b7491d8543c75b0509
+
+commit cfc3ac8d6e3024d1284cfc3f50f695b6b8008c5f
+Author: Owen W. Taylor <otaylor@fishsoup.net>
+Date: Wed May 6 14:44:16 2009 -0400
+
+ When clearing the stencil buffer, don't use a two-sided stencil
+
+ In radeon_clear_tris(), when clearing the stencil buffer,
+ pass GL_FRONT_AND_BACK to _mesa_StencilFuncSeparate(), to avoid
+ triggering a software fallback on r300 and below.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=21601
+
+commit 58544a28ad561d7d9e16deb048443c2d2b5c12d8
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed May 6 12:38:11 2009 -0600
+
+ mesa: remove unnecessary buffer size check
+
+commit bb1fb2a5444c6b7d83ccb47949f60ed9fb4f0f93
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed May 6 12:37:10 2009 -0600
+
+ mesa: code consolidation in glDraw[Range]Elements() validation
+
+commit 88af3f8783452dcf50a9e2e82076f52b2044f643
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed May 6 12:27:38 2009 -0600
+
+ mesa: new comments, minor reformatting
+
+commit a13df193c23f9202ade6f16643e3ef529cff772b
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed May 6 12:23:28 2009 -0600
+
+ mesa: use elementBuf local var instead of ctx->Array.ElementArrayBufferObj
+
+ Makes no real difference, but more consistant.
+
+commit f831d2d41b5551abcf61f19880bc96779c5efd51
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed May 6 10:51:58 2009 -0700
+
+ i965: Remove the forced lack of caching for renderbuffer surface state.
+
+ This snuck in with the multi-draw-buffers commit, and is a major penalty
+ to performance. It doesn't appear to be required, as the only dependency
+ the surface BO has is on the state key (and if there's some other dependency,
+ it should just be in the key).
+
+ This brings openarena performance up to almost 2% faster than Mesa 7.4.
+
+commit 4cb87840ff7c99654a89f45c6a5a2a026a587a2f
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed May 6 07:58:40 2009 -0700
+
+ i965: Remove _NEW_PROGRAM from brw_wm_surfaces setup dependencies.
+
+ This was a leftover from the brw_wm_constant_buffer change.
+
+commit 9b678af7967bb88044c5fe437e050472fa03eaca
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed May 6 08:45:55 2009 -0600
+
+ mesa: be smarter about allocating vert/frag program constants
+
+ Try to re-use constants/literals more often to make best use of the
+ constant buffer space.
+
+ See bug 21354.
+
+commit 71fb9d62ece0177183efd5bb955d1f3292cb4376
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue May 5 17:16:15 2009 -0700
+
+ i965: Split WM constant buffer update from other WM surfaces.
+
+ This can avoid re-uploading constant data when it isn't necessary, and is
+ a step towards not updating other surfaces just because constants change.
+ It also brings the upload of the constant buffer next to the creation.
+
+ This brings openarena performance up another 4%, to 91% of the Mesa 7.4 branch.
+
+commit 9490d86808300e5819941a40784e272c290e05ee
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue May 5 14:05:54 2009 -0700
+
+ i965: Disentangle VS constant surface state from WM surface state.
+
+ Also, only create VS surface state if there's a VS constant buffer to be
+ uploaded, and set the contents of the buffer at the same time as creation.
+
+commit d277547dc69c9004097afdc2ca56a7aed85c6f54
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue May 5 13:07:33 2009 -0700
+
+ i965: Don't create constant buffers if they won't be used.
+
+ Really, the creation and upload of constants should be in the same place,
+ since they should only happen together, and a state flag should be
+ triggered by them so that we don't thrash state around so much for just
+ updating constants. But this still recovers openarena performance by
+ another 19%, leaving us 16% behind Mesa 7.4 branch.
+
+commit 7f65fea95e56fe0dee91ba726358896c9899780a
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed May 6 14:43:07 2009 +1000
+
+ radeon: hopefully fixup radeon cube state emission for kms
+
+commit d7f62e54055c7b8afaf0683944a4ba907b96d6ec
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed May 6 14:06:13 2009 +1000
+
+ r100/r200: try and allocate miptree correct for hw.
+
+ This doesn't make things worse but according to sroland it
+ is how the GPU hw expects things on the r100/r200
+
+commit acf086ebfa95b77bb221c15acf6776439063c0b7
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed May 6 13:34:34 2009 +1000
+
+ r200: fix cubic emission.
+
+ Still doesn't fix cubemaps, I really missed the whole drmsupports
+ thing when testing this all originally
+
+commit 51325f44d1e7e62b47795a79f8038d10dc5bc30b
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue May 5 16:29:04 2009 -0600
+
+ mesa: only use fallback texture when using shaders, not fixed-function (take two)
+
+ The semantics are a little different for shaders vs. fixed-function when
+ trying to use an incomplete texture. The fallback texture returning
+ (0,0,0,1) should only be used with shaders. For fixed function, the texture
+ unit is truly disabled/ignored.
+
+ Fixes glean fbo test regression.
+
+commit 823815a48556940cc27867717658afda93733ce8
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue May 5 16:30:30 2009 -0600
+
+ Revert "mesa: only use fallback texture when using shaders, not fixed-function"
+
+ This reverts commit a0edbfb28fb2e670c657d52190a7e8b1ccf4f46e.
+
+ This patch didn't completely fix the problem. The next patch will.
+
+commit a0edbfb28fb2e670c657d52190a7e8b1ccf4f46e
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue May 5 16:29:04 2009 -0600
+
+ mesa: only use fallback texture when using shaders, not fixed-function
+
+ The semantics are a little different for shaders vs. fixed-function when
+ trying to use an incomplete texture. The fallback texture returning
+ (0,0,0,1) should only be used with shaders.
+
+ Fixes glean fbo test regression.
+
+commit 01e16befd4809e3e93ee7855a4a5d7df9fe010d9
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue May 5 16:21:20 2009 -0600
+
+ mesa: only use fallback texture when using shaders, not fixed-function
+
+ The semantics are a little different for shaders vs. fixed-function when
+ trying to use an incomplete texture. The fallback texture returning
+ (0,0,0,1) should only be used with shaders.
+
+ Fixes glean fbo test regression.
+
+commit c0d3761c167c2d952e92c46cf3a0e26461985ada
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue May 5 16:17:55 2009 -0600
+
+ mesa: minor simplification in enable_texture(), updated comments
+
+commit 5f8381724e81b594d6f11bb2d59964fbdbf22e90
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Tue May 5 21:01:36 2009 +0200
+
+ r200: fix some cube map issues
+
+ remove the r100-ism of swapping cube faces which doesn't apply to r200,
+ and also use precalculated offsets.
+ Note that cube textures will still not work on r100 and r200 since mipmap
+ layout is level-first order (for r300) whereas r100/r200 require
+ face-first (and possibly also 2k alignment for face at least with tiling).
+
+commit 3503af07c4b7624252890e229cb6efd0ede2b7d6
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Tue May 5 20:17:37 2009 +0200
+
+ r200: fix another section size mismatch
+
+commit b3fc832ac79d89486559c018267ae846a7eff832
+Merge: 95b7771 79ada8c
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue May 5 10:13:13 2009 -0600
+
+ Merge branch 'mesa_7_5_branch'
+
+commit 95b7771ea705b71bbd8185cd8e39b546e18e09a9
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue May 5 09:39:39 2009 -0600
+
+ gallium: remove redundant cube face #defines
+
+commit 79ada8c6331a801a0475f38a540670b14e168f19
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue May 5 10:11:51 2009 -0600
+
+ gallium: fix texcoords for cubemap mipmap generation
+
+ We need to use (s,t,r) cubemap coords when sampling from the cubemap texture
+ so the rendered quad gets texture samples from the correct cube face.
+
+commit b2577937b61c2f182d905010ace960ef95c1a026
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Tue May 5 17:45:50 2009 +0200
+
+ r200: fix CS section size mismatch (bug 21565)
+
+commit 077c904b76542dbe01b20386733d3e9e8a49da0b
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue May 5 13:00:44 2009 +0100
+
+ progs/trivial: add test for vertex program invarient transform
+
+commit 113403ef51e2ec764db061aabf569d6f1a1a3ef0
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue May 5 12:12:28 2009 +0100
+
+ mesa: more complete fix for transform_invarient glitches
+
+ Add a new flag mvp_with_dp4 in the context, and use that to switch
+ both ffvertex.c and programopt.c vertex transformation code to
+ either DP4 or MUL/MAD implementations.
+
+commit 22b417b75ce0e6658a5d1e0e80cb6c3fdf631774
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri May 1 18:20:42 2009 +0100
+
+ mesa/main: set PREFER_DP4 to match position_invarient code
+
+ This is a quick fix for z fighting in quake4 caused by the mismatch
+ between vertex transformation here and in the position_invarient code.
+ Full fix would be to make this driver-tunable and adjust both
+ position_invarient and ffvertex_prog.c code to respect driver
+ preferences.
+
+commit c6bfb4c55963937f715a5e6a806be23e940b30d3
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri May 1 16:30:08 2009 +0100
+
+ wgl: Implemente SwapLayerBuffers.
+
+commit e9fb90ab8889136f788a3d9dc395b0f4d46cfdcc
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri May 1 16:12:17 2009 +0100
+
+ scons: Don't use deprecated Options.
+
+commit 3537c3420d0887ed22565b9e4469952b99f1b76f
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Apr 30 13:10:58 2009 +0100
+
+ util: Limit the stack walk to avoid referencing undefined memory.
+
+commit b865501bda8f2f99bfa8ee365aa4a3da64291e6e
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Apr 30 13:09:34 2009 +0100
+
+ gallium/tgsi: hack around linker/archiver breakage
+
+ Add a dummy function which exists only so that tgsi_text_translate()
+ doesn't get magic-ed out of the libtgsi.a archive by the build system.
+ Don't remove unless you know this has been fixed - check on
+ mingw/scons builds as well.
+
+commit 5f2569a1b997cf7577dc2d44e3670d0c55de905c
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Apr 30 12:35:59 2009 +0100
+
+ progs/trivial: add vbo-noninterleaved test
+
+commit 6b89c35c9f6557a160c8fc0c97a110d3afe4c82f
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Apr 30 12:24:08 2009 +0100
+
+ wgl: Include alpha bits in pixel format's cColorBits field.
+
+commit c6b3c2f34b5fdc30e679068d4e6130ba30efc1e4
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Apr 30 10:59:19 2009 +0100
+
+ gallium/draw: cope with unused vertex_elements
+
+commit 4d548bd069220677b12630cbab6f8c228e3d3a6b
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Apr 29 14:21:41 2009 +0100
+
+ trivial: add line-flat.c
+
+commit ccec9f76d5ed032b627f5893f733ea0576311d51
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Apr 28 19:46:56 2009 +0100
+
+ wgl: UINT_PTR null value is an integral type, so return 0 instead of NULL.
+
+commit a47f15ba1da4c7f8649d7064dfc23cf571df705c
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Apr 28 18:53:52 2009 +0100
+
+ pb: Save the stack backtrace when creating/mapping a debug buffer.
+
+commit 4fd6f296f8d3416472ec83374d459ecb12db60f4
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Apr 28 17:07:01 2009 +0100
+
+ pb: Dump the fenced buffer sizes.
+
+commit 8edb50ff1e87f9bb00ceeaa2fe13df212a91eb11
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Tue May 5 12:03:38 2009 +0200
+
+ nv04: small fix again
+
+commit 39ebeead56bddfd339b6b6b31dd1b52d96859d65
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Tue May 5 11:29:58 2009 +0200
+
+ Fix an nv04 bug (thanks Mhopf).
+
+commit f616995e5ed56745c4470b2ca5aeeb8d89a8c9db
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue May 5 10:51:44 2009 +1000
+
+ radeon/r200: enable all the optional drm support bits
+
+commit f95c0c06c0970d9a7700c7c8cea6396982b4b0dc
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon May 4 11:14:35 2009 -0600
+
+ mesa: also print program params/constants when dumping shaders to disk
+
+commit 27dbdb1684af42ce3e7962111fa0726cf7ba28d1
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon May 4 11:13:35 2009 -0600
+
+ mesa: remove some unfinished/devel code
+
+commit 0b22615c2c860968a027c04519e25864ae69f6cd
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat May 2 17:27:03 2009 +0200
+
+ r300: set proper texture row alignment for IGP chips
+
+ Looks like r400 based IGP chips require 64 byte alignment
+
+commit dd4c142e90a0cba5b445990bb522ce9199d7f565
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon May 4 07:52:55 2009 -0600
+
+ glx: replace Xmalloc() calls with Xcalloc()
+
+ Fixes a bug where psp->WaitX was uninitialized. Reported by Chris Clayton.
+
+commit 986d4a9ec60ee52067b2d6f81c05f8ec3b8dc8b1
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 1 17:52:23 2009 -0600
+
+ draw: added some inf/nan debug code (disabled)
+
+commit 08bc3d175069988dd41433fdb7362863bcf67573
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Apr 23 10:24:19 2009 -0600
+
+ gallium/glx: say we're direct rendering
+
+commit 62043b27575c378c027251316421e4699f461108
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 1 18:31:04 2009 -0600
+
+ mesa: in glReadBufer() set _NEW_BUFFERS, not _NEW_PIXEL
+
+ Since GL_READ_BUFFER is historically part of the gl_pixel_attrib group
+ it made sense to signal changes with _NEW_PIXEL. But now with FBOs it's
+ also part of the framebuffer state.
+
+ Now _NEW_PIXEL strictly indicates pixels transfer state changes.
+
+ This change avoids framebuffer state validation when any random bit of
+ pixel-transfer state is set.
+
+ DRI drivers updated too: don't check _NEW_COLOR when updating framebuffer
+ state. I think that was just copied from the Xlib driver because we care
+ about dither enable/disable state there.
+
+commit a7ef5b76d6889c4a6614eddea0c021c83f6a8703
+Merge: 602833b 0a56a49
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 1 18:21:02 2009 -0600
+
+ Merge branch 'mesa_7_5_branch'
+
+commit 0a56a4968786bd93d9117af2a0a3bda13ea71c4d
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 1 18:17:34 2009 -0600
+
+ st: create renderbuffer's pipe_surface in st_render_texture()
+
+ Previously we created the pipe_surface during framebuffer validation.
+ But if we did a glCopyTex[Sub]Image() before anything else we wouldn't yet
+ have the surface. This fixes that.
+
+commit 63f01309801c5a900d8d7f5ccd63413e33ff9bff
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 1 18:04:07 2009 -0600
+
+ mesa: fix state validation bug for glCopyTex[Sub]Image()
+
+ We need to make sure the framebuffer state is up to date to make sure we
+ read pixels from the right buffer when doing a texture image copy.
+
+commit 54324d9e0c6956bdc7bc9b0620fe53c8e6b66a04
+Author: Zack Rusin <zackr@vmware.com>
+Date: Fri May 1 19:08:32 2009 -0400
+
+ vg: remove a silly demo and add a bit better one
+
+commit 602833b107cdf3d70117dbd0970c7d574fb55f3b
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 1 16:44:04 2009 -0600
+
+ st: if st_swapbuffers() is called for single-buffered visual don't crash
+
+ Furthermore, return pointer(s) to the front color buffer(s).
+
+commit b57b6c2d2c83aee96f945ce3385a1ab8337335cb
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 1 12:28:57 2009 -0600
+
+ xlib winsys: use new st_swapbuffers() function
+
+ The front/back buffer pointers are truly swapped (when there is an actual
+ front buffer).
+
+ This fixes some issues seen with apps/tests that draw to both the front
+ and back color buffers. The true swap allows us to avoid the (potentially)
+ slow surface_copy() call in update_framebuffer_state() and is cleaner
+ overall.
+
+commit 3f52a853f795d7432b181de81da6f0c4cf1cc202
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 1 12:48:46 2009 -0600
+
+ st: when creating an on-demand front color buffer, init to back buffer image
+
+ When we create a new front color buffer (user called glDrawBuffer(GL_FRONT))
+ initialize it to the contents of the back buffer. Any previous call to
+ SwapBuffers() would have done that in effect, so make it reality.
+
+commit b85b315ebbe25efbd118887bdc87a562d4334fcc
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 1 12:25:42 2009 -0600
+
+ st: added st_renderbuffer::defined flag
+
+ Indicates whether there's defined image contents, or garbage/don't care.
+ This is set when we draw into a renderbuffer and cleared when we resize/
+ reallocate a renderbuffer or do a buffer swap (back buffer becomes undefined).
+
+ We use this to determine whether the front color buffer has been drawn to,
+ and whether to display its contents upon glFlush/Finish(), when the new
+ st_swapbuffers() function is used.
+
+commit 30b3d800917cc5b41ec508fd38a0ae1da8624a36
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 1 12:12:43 2009 -0600
+
+ mesa: fix comment
+
+commit 06cd826fcba7bde168a85444a95de589ff5b6f2e
+Merge: 3534539 36edceb
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 1 11:57:00 2009 -0600
+
+ Merge branch 'mesa_7_5_branch'
+
+commit 36edcebb9012f530a9288956a7fd3b21f9bb8aed
+Author: Tom Fogal <tfogal@alumni.unh.edu>
+Date: Tue Apr 28 21:03:12 2009 -0700
+
+ Fix symbol list for mangled Mesa on Darwin.
+
+ When building mangled Mesa on Darwin, the exported symbols are
+ named `_mgluWhatever' instead of simply `_gluWhatever'. When
+ using a list of exported symbols via the system ld's
+ `-exported_symbols_list' command line option (as done by mklib),
+ this resulted in error messages about exporting symbols which do
+ not exist.
+
+ Fortunately the file format accepts simple wildcards. This throws
+ a wildcard so that the symbol list will match both the mangled and
+ non-mangled names, preventing the warning and actually exporting
+ the correct symbols in one shot.
+
+commit d6318ba8a856c5a61c402fce43c3fa56c414064a
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 1 11:37:09 2009 -0600
+
+ docs: asst updates to openvg.html
+
+commit 3534539557350f4a63c6e8b3a48fbc8cacffe199
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 1 10:50:04 2009 -0600
+
+ set: new st_swapbuffers() which does a true front/back buffer swap
+
+ The pointers to the front/back renderbuffers are exchanged.
+ This new function isn't actually used yet...
+
+commit 544dd4b11f7be76bb00fe29a60eaf2772dcc69ca
+Author: Zack Rusin <zackr@vmware.com>
+Date: Fri May 1 12:41:38 2009 -0400
+
+ OpenVG 1.0 State Tracker
+
+ Import of the OpenVG 1.0 state tracker for Gallium.
+
+commit fbceedd2dee967b426ee187205941c6506769ea5
+Author: Zack Rusin <zackr@vmware.com>
+Date: Fri May 1 12:50:38 2009 -0400
+
+ actually add debug to the debug config
+
+commit 293f576db7cf3f411c2eeb0a72232d25b631dcd1
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Mar 24 19:18:06 2009 +0000
+
+ egl_xlib: Pass RTLD_LAZY to dlopen.
+
+ dlopen manpage mandates that either RTLD_LAZY or RTLD_NOW flags must be
+ passed. Not doing so was causing a NULL return on debian unstable x86-64.
+
+commit 2085cf24628be7cd297ab0f9ef5ce02bd5a006e2
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Tue Apr 28 10:08:57 2009 -0700
+
+ Test either GL_FRONT_LEFT or GL_FRONT for front-buffer rendering
+
+ For non-stereo visuals, which is all we support, we treat
+ GL_FRONT_LEFT as GL_FRONT. However, they are technically different,
+ and they have different enum values. Test for either one to determine
+ if we're in front-buffer rendering mode.
+
+ This fix was suggested by Pierre Willenbrock.
+
+ Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
+
+commit cd6734288ddc15a778def9578e128184b3f6bdea
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 1 10:15:21 2009 -0600
+
+ st: when double buffered, only create front color buffer on demand
+
+ Before we always created the front color buffer, even if was never used.
+ This can save some memory.
+
+commit b9196c1fa39dd566c5d7ab340e353b77714edb5f
+Merge: 3f25219 dca190e
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 1 09:37:14 2009 -0600
+
+ Merge branch 'const-buffer-changes'
+
+ Conflicts:
+
+ src/mesa/drivers/dri/i965/brw_curbe.c
+ src/mesa/drivers/dri/i965/brw_vs_emit.c
+ src/mesa/drivers/dri/i965/brw_wm_glsl.c
+
+commit 3f25219c7bf0f090502489928f0f018e62c4f6cf
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 1 09:30:32 2009 -0600
+
+ mesa: create/use a fallback texture when bound texture is incomplete
+
+ When a GLSL sampler reads from an incomplete texture it should
+ return (0,0,0,1). Instead of jumping through hoops in all the drivers
+ to make this happen, just create/install a fallback texture with those
+ texel values.
+
+ Fixes piglit/fp-incomplete-tex on i965 and more importantly, fixes some
+ GPU lockups when trying to sample from missing surfaces. If a binding
+ table entry is NULL, it seems that sampling sometimes works, but not
+ always (lockup).
+
+ Todo: create a fallback texture for each type of texture target?
+
+commit 7ca04273387fb1af1b67d1359f2b0da4874a0e4c
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 1 09:24:19 2009 -0600
+
+ docs: initial 7.6 release notes page
+
+commit 666e5bf4a6728484b4bc0c7e2583f141f1f2b2b7
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 1 09:22:20 2009 -0600
+
+ mesa: bump version to 7.6 (devel)
+
+commit 8a488b1be720247339f5c86fea5d2bff3d0fe084
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 1 09:19:59 2009 -0600
+
+ mesa: remove -devel suffix from version
+
+commit 3eafd25aa3b8d7680d3a0ac4869681e951484371
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri May 1 09:15:14 2009 -0600
+
+ configs: bump MESA_MINOR to 5
+
+commit edd2bbe4a70fcb9f8e8365f19c1aba6deb4a272d
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Apr 30 17:27:51 2009 -0600
+
+ docs: fix typo
+
+commit 2953b180044df602fbbf5882715774a779ff2123
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri May 1 07:29:14 2009 -0700
+
+ radeon: Don't even bother with things too big to fit into our card.
+
+commit 5b15cc312f16c6147e1f8f3d25c6ed34076aa3a1
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri May 1 06:01:52 2009 -0700
+
+ r300-gallium, radeon-winsys: Hide radeon_cs from r300 pipe.
+
+commit c11ad489e7432f3ed2fcaf5b15b8fe3538ae6d30
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri May 1 05:54:53 2009 -0700
+
+ r300-gallium, radeon-winsys: Space accounting.
+
+ It is no longer optional in current libdrm, so it was time to actually
+ start counting our BOs.
+
+commit d7f4ac9f34a72efe53a1a140557f1822afbadf16
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri May 1 05:03:56 2009 -0700
+
+ r300-gallium, radeon-winsys: Reorganize r300_winsys header, break ABI.
+
+ Make things more consistent, prepare for more function hooks.
+
+commit a609f78cf688c97eda8cde3d876397e042fdb60d
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri May 1 04:47:50 2009 -0700
+
+ r300-gallium: Don't bother with conditional double define.
+
+ We'll just forever leave it in r300_winsys.h since it's needed for
+ whichever winsys is hosting the pipe.
+
+commit 1f43cc1d841d3be04433224842f89ff03ba28a02
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Apr 28 04:37:56 2009 -0700
+
+ radeon: Fix cast and comment.
+
+commit e4e7ecc221fc1ed5714ac4c13e5cea204d37c6ad
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Apr 30 17:17:31 2009 -0600
+
+ docs: asst. updates for 7.5 release
+
+commit a405cc7b7226ac365f7e9f11bd803bf45dceb49a
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Apr 30 17:13:22 2009 -0600
+
+ docs: bring in 7.4 doc updates from mesa_7_4_branch
+
+commit 675b1cacf7e41310771791b15f3d44bd3eb9b70e
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Apr 30 17:11:20 2009 -0600
+
+ docs: notes about new version number meaning in release notes
+
+commit aef475c8893b7f524b2314f9f8d1083655db7fe2
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Apr 30 17:04:01 2009 -0600
+
+ mesa: update linux-static, linux-x86-static configs
+
+commit 3dfe672c851756e5ee09443dfafb1295c912da31
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Apr 30 17:03:54 2009 -0600
+
+ demos: silence warning
+
+commit eef79d50bf160a0278266cac56a915027538ac1e
+Author: Tormod Volden <debian.tormod@gmail.com>
+Date: Thu Apr 30 16:55:54 2009 -0600
+
+ mklib: replace if/expr with case
+
+ Saves forking an expr for every object.
+
+commit 9cb3cdec76b679f15c591955084bd48e91a32142
+Author: Tormod Volden <debian.tormod@gmail.com>
+Date: Thu Apr 30 16:52:56 2009 -0600
+
+ mesa: Prepend "-Wl," to linking options
+
+ Let mklib ignore -Wl options inside the object list when building
+ static libraries
+
+commit 60927f97f7b0df9ce352d0c8b4b973e97d53f20a
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Apr 30 16:52:02 2009 -0600
+
+ i915simple: remove duplicated i915_context.c in C_SOURCES
+
+commit c28707b50701b1cf8727be29d61e2d939c6ee58f
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Thu Apr 30 13:21:08 2009 +0200
+
+ r300: Increase reference count of texture objects referenced by current state.
+
+ Fixes a use-after-free reported in
+ http://bugs.freedesktop.org/show_bug.cgi?id=20539, so this possibly fixes that
+ bug. It has been confirmed to fix
+ http://bugs.freedesktop.org/show_bug.cgi?id=17895 .
+
+commit ba27fe3710af4933a16278a3e97162bef1737b56
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Thu Apr 30 09:39:29 2009 +0200
+
+ gallium: Add SCons build support for the DRI state tracker.
+
+commit cc68cd20d9fbb87486eb69a50fa14a3d6b9c6798
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Wed Apr 29 20:33:50 2009 -0700
+
+ egl: Don't install demodriver
+
+ I don't think anyone besides a developer would ever want to use the demo
+ egl driver. Furthermore, egl would only ever load demodriver if it was
+ set via EGL_DRIVER in the environment. In that case, I think you can
+ point it to your mesa source directory.
+
+commit 289dc69418d834e44bd2f63f69382c1f1d3d7c00
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Apr 29 20:44:03 2009 +0100
+
+ progs/tests: Update ignores
+
+commit 1793d5adac121a2142b662d87e24990ebf209ca3
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Apr 29 20:17:21 2009 +0100
+
+ progs/tests: Add mipmap_comp for mipmap testing with compressed textures
+
+commit a9c97c5f2a9b880d01336a23134600e4b34429d0
+Author: Tom Fogal <tfogal@alumni.unh.edu>
+Date: Wed Apr 29 10:32:46 2009 -0600
+
+ Use variable library name in pkg-config output.
+
+ Previously the pkg-config output files would contain e.g. `-lGL'
+ and `-lGLU', even if the user modified their configuration to
+ build libraries with different names. This modifies the
+ pkg-config inputs, and corresponding makery, so that modifying the
+ output library name will cause the appropriate updated name to
+ appear in the pkg-config `-l' option.
+
+ Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
+
+commit 66f978625685d83b04c32b19b62c3cb8c0d25f74
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Wed Apr 29 12:11:43 2009 -0700
+
+ autoconf: Add switch for optional EGL
+
+ EGL doesn't build on all platforms, so allow people to opt out.
+
+commit 356f311c4a3ee91a4afe33d210dd4c5fdc897ea3
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Wed Apr 29 06:49:27 2009 -0700
+
+ autoconf: Clean up some m4 usage
+
+ m4_fatal is equivalent to m4_errprint + m4_exit.
+
+commit dca190e9432d4ed122bdd534922d0c3d85791c6a
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 29 11:52:06 2009 -0600
+
+ mesa: added _mesa_check_soa_dependencies() function
+
+ This function will check an instruction to see if there's data dependencies
+ between the dst and src registers if executed in an SOA manner.
+
+commit 8fa6c1ac9299402c1faf75b264cf70b1b83d1eff
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 29 11:56:57 2009 -0600
+
+ tgsi: added tgsi_check_soa_dependencies() and related debug code (disabled)
+
+ The TGSI interpeter operates in SOA style. We need to check for data
+ dependencies in instructions which read from and write to the same register.
+ For now just adding some debug code to detect that condition. Actual fixes
+ to follow.
+
+commit 0e85dcb66b990a63d60032816798ff693f9248e7
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 29 11:52:06 2009 -0600
+
+ mesa: added _mesa_check_soa_dependencies() function
+
+ This function will check an instruction to see if there's data dependencies
+ between the dst and src registers if executed in an SOA manner.
+
+commit 46ddcbc1a9e70d5dba257e6421eb69ed942dd1da
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Apr 28 14:29:27 2009 -0600
+
+ softpipe: return PIPE_UNREFERENCED in softpipe_is_buffer/texture_referenced()
+
+ This allows the engine demo to run again (avoid crash in VBO code).
+ This stuff still needs to be revisited someday though...
+
+commit 801a33ae44355b89cebed47e9e48e39545522f6e
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Apr 28 17:50:19 2009 +0100
+
+ mesa/st: protect internal flushes with FLUSH_CURRENT
+
+ Already doing this for driver.flush()
+
+commit c0bff53334194f9d1aada23510123f1591d5512e
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Apr 28 17:49:50 2009 +0100
+
+ mesa/main: protect driver.finish with FLUSH_CURRENT
+
+ Already doing this for driver.flush()
+
+commit 106f2b031cbb83a54fa2949cb07357ecea68b92a
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Apr 28 14:51:11 2009 +0100
+
+ mesa/st: remove duplicate offset calculation
+
+commit eb979cef8535914f428d2462e78f713da558fc18
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Apr 28 14:50:05 2009 +0100
+
+ gallium/draw: add ability to print out active pipeline stages
+
+commit afc0c59dbd7f89d914763fd78701461f22c00450
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Apr 27 15:33:44 2009 +0100
+
+ mesa/st: translate VERT_ATTRIB_GENERIC8..15 in st_translate_vertex_program
+
+ It seems quake4 can hit these attributes sometimes.
+
+commit fd402791f909371d8f1c1381f0e16a0f08bd78e6
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Apr 28 11:49:55 2009 +0100
+
+ progs: add fflushes for cygwin
+
+commit b91e5f8e197793feac016242140bf489bd16071c
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Apr 27 19:36:42 2009 +0100
+
+ util/indices: remove debug prints
+
+commit afd16512bc354cf1a7220cb9bf3ce445503c7af4
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Apr 27 18:56:26 2009 +0100
+
+ mesa/st: workaround for crashes in st_copy_texsubimage
+
+ Proper fix for this hasn't been identified, but avoid crashing.
+
+commit 43e24a5928aaf6a00f7d9e55e92abfb1b3e20166
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Apr 27 20:24:55 2009 +0100
+
+ wgl: Store current HDC/HGLRC in stw_context.
+
+ Less TLS lookups.
+
+commit 55db6ce537f1fd9acf205400202abfcc3908d6c3
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue Apr 28 12:50:38 2009 -0400
+
+ R300: add quadpipe overrides
+
+ RV410 SE chips only have 1 quadpipe.
+ Also, handle other R300 chip with quadpipe override.
+
+commit 09c91a1565fc99f20379a0f552651303ae8067c2
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue Apr 28 12:37:29 2009 -0400
+
+ R300: add quadpipe overrides
+
+ RV410 SE chips only have 1 quadpipe.
+ Also, handle other R300 chip with quadpipe override
+
+commit 43d9020ff1e975e7f4f9480d9ef24f0b9fb2141f
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Apr 28 09:58:44 2009 -0600
+
+ i965: avoid segfault in intel_update_renderbuffers() if using DRI1
+
+commit dcf571aff9de1a4298c4d2c4148d84cdc4daf02e
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Apr 28 09:05:19 2009 -0600
+
+ swrast: add missing break in clamp_rect_coord_linear()
+
+ See bug 21461.
+
+commit e0d5ff1a8a2237808d88f087f029224beee015af
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Apr 27 17:01:59 2009 -0600
+
+ demos: asst. updates, clean-ups
+
+commit 2c994ad3cb91288966bdc028b0afa9935a51a971
+Author: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+Date: Tue Apr 28 14:43:41 2009 +0200
+
+ gallium dri st: Propagate the drawable info when we bind to new drawables.
+
+ Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+
+commit 8cfa6546c9aa25edad3e7bc3cf6f1a9399052b79
+Author: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+Date: Tue Apr 28 14:20:45 2009 +0200
+
+ gallium dri st: Use st_get_current() instead of GET_CURRENT_CONTEXT()
+
+ Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+
+commit 3d2bba0d10d59a9c2d6d09c5dc3fabe148d5e0d7
+Author: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+Date: Tue Apr 28 14:12:39 2009 +0200
+
+ st: Add an st_get_current() function.
+
+ Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+
+commit aef3bccbdaf20f7e0e1fdab0084f60556a12d55d
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Apr 28 12:56:21 2009 +0100
+
+ gallium-intel: Create a i965_dri.so symlink
+
+ This is only used for debuging the gem backend on i965
+ chipset using the softpipe pipe driver.
+
+ Usage: "export INTEL_SOFTPIPE=y" and point LIBGL_DRIVERS_PATH
+ to "$MESA/lib/gallium" where $MESA is the mesa root.
+
+commit 5ca4f3c5dad94f8e07aa7d93c076d4bc0acee1f6
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Apr 28 15:44:10 2009 +1000
+
+ radeno: cleanup the startup path further
+
+commit a9d64873d771a0ac8a319f036d97d827fea934df
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Apr 28 15:35:52 2009 +1000
+
+ radeon: further cleanup dri1 screen init
+
+commit 7731d931650d721550bc558ad84b6e3060fa94b9
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Apr 28 15:27:31 2009 +1000
+
+ r300: remove unused debugging in set tex buffer paths
+
+commit 4e7d603fae8cff2a80096936ad210cb26a3f5f0e
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Apr 28 15:26:24 2009 +1000
+
+ radeon: remove kernel mm, dri2 path takes care of it
+
+commit c9b336bc936a733b1273170fc5e2ecc4980116b2
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Apr 28 01:00:51 2009 +0200
+
+ gallium-intel: Fix build of dri driver
+
+commit 171c7f91cd3dcb41bf7abb333d725b3b3a3e9b1a
+Author: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+Date: Tue Apr 28 13:03:22 2009 +0200
+
+ gallium dri st: Fix up some comments and minor bugs.
+
+ Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+
+commit 81ded8092a4068ec289e6c7207078f076bfee5fd
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Apr 28 03:28:57 2009 -0700
+
+ radeon-r300: Fix a bit of breakage.
+
+ Not really sure why reordering the ioctls makes them work again.
+
+commit 1ae877d95adbc19cb0a8d4fe07f46ac4d46c8147
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Apr 28 03:28:37 2009 -0700
+
+ radeon: Use PCI_MATCH_ANY for xorg driver.
+
+ Might as well.
+
+commit 05af5a7f593ac6451cff9e6923d4a969d5358bcb
+Author: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+Date: Tue Apr 28 11:58:27 2009 +0200
+
+ gallium: Rename the dri state tracker lib to libdridrm.a
+
+commit 0929b2bf3cdb54d94da8dee5797878e2ee582b41
+Author: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+Date: Tue Apr 28 11:54:25 2009 +0200
+
+ gallium: indent and cleanfile the dri state-tracker.
+
+commit ca1f5f7e6c05e34cfe8ef10f29aa19f5547311e6
+Author: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+Date: Tue Apr 28 11:49:39 2009 +0200
+
+ gallium: Update the dri2 state tracker to support dri1.
+
+ Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+
+commit a70c4f352e8e7aea0b130fd1285352bbf89503b5
+Author: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+Date: Tue Apr 28 11:43:06 2009 +0200
+
+ gallium: Add a dri1 api
+
+ that a driver needs to implement on top of the drm api to support dri1.
+
+ Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+
+commit 2e5acd24b0421f3824fbe441f4a7062c1f081109
+Author: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+Date: Tue Apr 28 11:32:59 2009 +0200
+
+ gallium: Move the dri2 state tracker since we're about to extend it to dri1.
+
+ Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+
+commit 638261b3530106b70819c2fe0c3cd613c0d85777
+Author: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+Date: Tue Apr 28 11:23:11 2009 +0200
+
+ gallium: Update the drm_api.
+
+ Make it possible to pass state-tracker-specific data to the
+ init_screen function, and even open the door for device-specific
+ state-tracker screen initialization.
+
+ Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+
+commit ce0d10dd6cd688d16e004c33ea4418cd7254a7f7
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Mon Apr 27 16:25:34 2009 +0200
+
+ r300: fix fragment program limits
+
+commit 3c6bffa7618494a465ecb6ab6103143c12abb0c4
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Mon Apr 27 15:31:01 2009 +0200
+
+ r300: fallback only if stencil test is enabled
+
+commit e33e28f52acca27a0cd594c6474fdea1b61fd615
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Mon Apr 27 14:53:20 2009 +0200
+
+ r300: do front/back color selection in HW for software TCL path
+
+commit 3d83a709b94e72608a061449bc30edc8af7c9ecc
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Apr 25 13:50:49 2009 +0200
+
+ r300: fix valgrind warnings
+
+commit 78c0e6aefcef442f035494b6fc9f6b599fe75e7e
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Apr 25 13:48:53 2009 +0200
+
+ r300: fix point size clamping when point is not attenuated
+
+commit 359a58230e0644a39c1904a74bc25803dc6cab6f
+Author: Robert Ellison <papillo@vmware.com>
+Date: Mon Apr 27 12:08:34 2009 -0600
+
+ Avoid a segfault in shader compilation
+
+ If a shader reaches an out-of-memory condition while adding
+ a new function (reallocating the function list), a segfault
+ will occur during cleanup (because the num_functions field
+ is non-zero, but the functions pointer is NULL).
+
+ This fixes that segfault by zeroing out the num_functions
+ field if reallocation fails.
+
+commit 76b9da9e98bad4bf22fe6610394236203b620bd9
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Apr 27 18:48:11 2009 +0100
+
+ wgl: Cope with pre-existing threads.
+
+ DllMain is called with DLL_THREAD_ATTACH only by threads created after
+ the DLL is loaded by the process.
+
+commit dd4802176f7751e8c38c000687ff9cb9633649aa
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Apr 27 10:46:30 2009 -0600
+
+ i965: #include prog_print.h to silence warning
+
+commit 777b9ff43e88e456d686208c83712f26aba2dd95
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Apr 27 10:45:41 2009 -0600
+
+ i965: only upload constant buffer data when we actually need the const buffer
+
+ Make the use_const_buffer field per-program and only call the code which
+ updates the constant buffer's data if the flag is set.
+
+ This should undo the perf regression from 20f3497e4b6756e330f7b3f54e8acaa1d6c92052
+
+ (cherry picked from master, commit dc9705d12d162ba6d087eb762e315de9f97bc456)
+
+commit c384ccb0c4f50f72bafdfb693d0aa36b4304a064
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Apr 27 17:30:05 2009 +0100
+
+ wgl: Implement WGL_EXT_extensions_string extension.
+
+commit 3ebcf2dd7489ecaf19a7167892069c4d58c285d8
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Apr 27 17:13:40 2009 +0100
+
+ util: Remove unix includes.
+
+commit dc9705d12d162ba6d087eb762e315de9f97bc456
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Apr 27 09:51:46 2009 -0600
+
+ i965: only upload constant buffer data when we actually need the const buffer
+
+ Make the use_const_buffer field per-program and only call the code which
+ updates the constant buffer's data if the flag is set.
+
+ This should undo the perf regression from 20f3497e4b6756e330f7b3f54e8acaa1d6c92052
+
+commit 5250eec652af46d20261624fd043992355a0b4ba
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Apr 27 14:43:31 2009 +0100
+
+ util/time: add util_time_sleep() for windows userspace
+
+ Somebody with a clue could probably do a better implemenation...
+
+commit 5ed7764fd6354da8e2be15d6fb724c2d6be9be4a
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Apr 27 14:42:23 2009 +0100
+
+ mesa/st: fix incorrect face, level in compress_with_blit
+
+ We were incorrectly applying the destination texture face and level
+ when requesting a transfer to the temporary texture, which has only
+ one face and level. This would obviously cause problems uploading to
+ compressed cube and mipmap textures.
+
+commit e32660060954c0d1a1f7636c6365970348f3be24
+Author: Shuang He <shuang.he@intel.com>
+Date: Mon Apr 27 07:13:33 2009 -0600
+
+ demos: Clean up allocated Textures and Display Lists when demo quit
+
+commit 033d1365e6fa6e57bc11b47831af0cb4b7ad2edf
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Fri Apr 24 16:28:47 2009 +0200
+
+ r300: fix performance regression
+
+ This performance regression on non TCL hw was introduced by ed4c6cbe017b4e8bacb7e012d4baaf77a20a2c33.
+ This patch depends on "r300: always route 4 texcoord components to RS" and "r300: add point attenuation stage for TCL fallbacks".
+
+commit 7f6b13be86884486baad1e7750511ce4a2eedde6
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Fri Apr 24 16:52:33 2009 +0200
+
+ r300: add point attenuation stage for TCL fallbacks
+
+commit d014d7d1bb33592f89fb08e8b656c27d67f9a3d3
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Fri Apr 24 16:15:19 2009 +0200
+
+ r300: always route 4 texcoord components to RS
+
+ Routing <4 components may lead to lock up.
+
+ Thanks to Alex Deucher for suggestion.
+
+commit 22c0652c381e6773ff48e4c70ef5439a949919ae
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Thu Apr 23 16:12:09 2009 +0200
+
+ r300: flush stdout to get consistent debugging info
+
+commit 7ff2dcbbdc74bf5e9650d4a94a253a0cab3e8863
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Thu Apr 23 16:08:48 2009 +0200
+
+ r300: add atom print function for kernel mm path
+
+commit 25dd867c58e5008029dbb5277a82acbcc961a05a
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Thu Apr 23 15:41:08 2009 +0200
+
+ r300: handle texcoords properly
+
+ add 1D texture case and setup default Q value to 1.0
+
+commit 199710914ab15926d19c5a848453674715bce334
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Thu Apr 23 15:35:29 2009 +0200
+
+ r300: remove unnecessary function calls
+
+ ae_create_context is called by vbo_CreateContext
+ ae_invalidate_state is called by vbo_InvalidateState
+
+commit 607c6cf1885c8f5fad7ff4a7baf919aa1d24050c
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sun Apr 19 21:25:01 2009 +0200
+
+ r300: rename state
+
+ According to r300_reg.h from radeon drm module 0x4f30 is ZB_ZMASK_OFFSET.
+ Also cleanup as trailing whitespaces.
+
+commit 931c89f6f6f1f8449ed9d7b41f84e6948774b368
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sun Apr 19 21:13:18 2009 +0200
+
+ r300: remove unnecessary function calls
+
+ r300SetEarlyZState is called during r300UpdateShaderStates which is called for every rendering operation.
+
+commit b58b3a786aa38dcc9d72144c2cc691151e46e3d5
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Apr 24 16:33:46 2009 -0600
+
+ i965: rework GLSL/WM register allocation
+
+ Use a bitvector of used/free flags.
+
+ If we run out of temps, examine the live intervals of the temp regs in
+ the program and free those which are no longer alive.
+
+ Also, enable the new WM const buffer code.
+
+commit 7da3f9403b235394a5c7e9456e34a0c9dad7dd15
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Apr 24 16:28:36 2009 -0600
+
+ mesa: refactor code and make _mesa_find_temp_intervals() public
+
+commit b618827fac84ca12a354da5808f30e96bedbc92a
+Author: Micah Dowty <micah@vmware.com>
+Date: Fri Apr 24 23:45:16 2009 +0200
+
+ util: Add debug_printf_once
+
+commit 99b77d05d2e8c4af5f7d752d6827c21fd6c4d5ee
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Apr 27 13:09:58 2009 +0100
+
+ mesa: Call _mesa_snprintf instead of snprintf.
+
+ snprintf not directly available on Windows.
+
+commit b504721cc7fdfd9420e80c0f7ab78a3f92abeb58
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Apr 23 13:20:06 2009 +0100
+
+ stw: Use a statically initiallized gl proc table.
+
+ It doesn't change anyway.
+
+commit 4486e40143d16b7a6d28b4c652e671a198603131
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Tue Apr 21 02:38:08 2009 +0200
+
+ r300: always emit output insts after all KIL insts
+
+commit 904b563fd027c05a9755bc07719c55099ab5a9fd
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun Apr 26 10:06:02 2009 -0700
+
+ r300-gallium: Correctly flush Draw.
+
+ Should help with a few non-TCL bugs.
+
+commit 86d2144412915b0052a468806c4fba81d72a682d
+Author: Mathias Gottschlag <mathias-go@web.de>
+Date: Sun Apr 26 12:04:35 2009 +0200
+
+ r300-gallium: Add a draw_flush() to r300_flush().
+
+ This fixes some missing primitives which had been drawn right before the next glClear().
+
+commit 233c6fb694ebd946ae76cb48701adf4d2086b1c1
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Apr 25 16:53:38 2009 -0700
+
+ r300-gallium: Fix vertex shader OVM counting.
+
+ Attribs must be packed: position, point size, colors, texcoords.
+
+ Thanks to osiris for pointing it out.
+
+commit f45a7a1d1f8a576daf02e94ecabfd42f556dd9b4
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Apr 24 16:53:38 2009 -0700
+
+ r300-gallium: Clean up FB state emit.
+
+commit d9f2d0752b087b0d39748b005bc4f795a3d05404
+Author: Mathias Gottschlag <mathias-go@web.de>
+Date: Sat Apr 25 01:27:23 2009 +0200
+
+ r300-gallium: Set framebuffer pitch on every framebuffer change.
+
+ Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
+
+commit a098e6090319e618f71e2ff5ee9b6a993571fddf
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Sat Apr 25 12:56:07 2009 +0100
+
+ gallium-intel: Fix warning
+
+commit 5f701f22f00ea17e0aba91c9995c9f559963d591
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Sat Apr 25 12:55:21 2009 +0100
+
+ gallium-intel: Cache software switch
+
+commit f44f1155a9d1539bc5173928af20f5a2541ec6be
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Sat Apr 25 12:52:04 2009 +0100
+
+ gallium-intel: Link dri2 driver with softpipe
+
+commit d18dd6ad11268c7a6c2835f4f5fa999c735da300
+Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
+Date: Thu Apr 23 05:43:22 2009 -0700
+
+ GNU/Hurd fixes
+
+ Here is a couple of fixes for GNU/Hurd:
+ - dri_interface.h: no libdrm support either.
+ - configure.ac:
+ - GNU/Hurd is a GNU OS with _GNU_SOURCE and PTHREADS.
+ - GNU needs a couple of flags like other OSes
+
+ Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
+
+commit 022319b92ccd2f3bfc4aca54ebc7e39aeddd8b21
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Fri Apr 24 16:39:00 2009 -0700
+
+ intel: Fix more issues with the combined depth-stencil attachment
+
+commit 302ba83116a24dbcd09a5f8d10edaaf862127873
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Fri Apr 24 16:14:51 2009 -0700
+
+ intel: Initialize region ptr to prevent assertion in intel_region_reference
+
+commit 91eb8baaca21d24bfd3640c9f6b316610a7c5910
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Apr 24 17:08:59 2009 -0600
+
+ tgis: SSE code generator doesn't yet support indirect addressing of temp regs
+
+ Fall back to interpreter in this case.
+
+commit f2272b5b2fd9195fe8f9eccfdd2e3c13d18a35e7
+Author: Ian Romanick <idr@freedesktop.org>
+Date: Mon Apr 20 20:56:45 2009 -0700
+
+ intel / DRI2: When available, use DRI2GetBuffersWithFormat
+
+ This interface gives the driver two important features. First, it can
+ allocate the (fake) front-buffer only when needed. Second, it can
+ tell the buffer allocator the format of buffers being allocated. This
+ enables support for back-buffer and depth-buffer with different bits
+ per pixel.
+
+ Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
+ Reviewed-by: Kristian Høgsberg <krh@redhat.com>
+
+commit dbf87f23126cc869637575e9ea2cb58774efe888
+Author: Ian Romanick <idr@freedesktop.org>
+Date: Mon Apr 20 20:55:56 2009 -0700
+
+ DRI2: Implement interface for drivers to access DRI2GetBuffersWithFormat
+
+ Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
+ Reviewed-by: Kristian Høgsberg <krh@redhat.com>
+
+commit d8d7b2c3955fa2204bb031fea17afae994de79f7
+Author: Ian Romanick <idr@freedesktop.org>
+Date: Mon Apr 20 20:52:56 2009 -0700
+
+ DRI2: Implement protocol for DRI2GetBuffersWithFormat
+
+ Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
+ Reviewed-by: Kristian Høgsberg <krh@redhat.com>
+
+commit 32d185eb60ea7d0d1a67429055f7544129d52276
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Fri Apr 24 19:54:01 2009 +0200
+
+ r300: fix cliprect values
+
+commit 1c9786894cc3ce66665ca507a6daf6a829e5af89
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Apr 24 10:46:40 2009 -0600
+
+ mesa: fix up error/warning/debug output newlines
+
+ As of commit 23ad86cfb91c294ce85a3116d4b825aaa3988a6e all messages go
+ through output_if_debug().
+
+ Add new parameter to output_if_debug() to indicate whether to emit a newline.
+
+ _mesa_warning() and _mesa_error() calls should not end their strings with \n.
+ _mesa_debug() calls should end their text with \n.
+
+commit 3321b6984ecd96ba466d8d010e390fff71a799d7
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Apr 24 09:50:11 2009 -0600
+
+ i965: use drm_intel_gem_bo_map/unmap_gtt() when possible, otherwise dri_bo_subdata()
+
+ This wraps up the unfinished business from commit a9a363f8298e9d534e60e3d2869f8677138a1e7e
+
+commit b2a69ae879a3ddb1f0ca1ea184ba24587cf25786
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Fri Apr 24 16:44:58 2009 +0100
+
+ demos: ensure display lists are destroyed for next generation
+
+commit 027ed1b505a1bf6e3f5ad4412734d7edf337c08b
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Apr 24 09:43:44 2009 -0600
+
+ mesa: signal _NEW_PROGRAM_CONSTANTS instead of _NEW_PROGRAM
+
+ Use _NEW_PROGRAM_CONSTANTS when changing constant/uniform buffer values.
+ Binding a new program/shader sets both _NEW_PROGRAM and _NEW_PROGRAM_CONSTANTS.
+
+commit 5dec94696e67ca5a1d008530cbfea90f03aeff16
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Fri Apr 24 15:03:23 2009 +0200
+
+ r300: emit cliprect when in dri2 mode
+
+commit 29d9abf72d73c4ccd3ad605f68ab1adf5e13c67a
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Apr 24 12:43:04 2009 +0100
+
+ pipebuffer: don't fail when validating mapped buffers
+
+ This can be almost impossible to avoid - hopefully we won't encounter
+ a situation where this is a true requirement. Would probably require
+ drivers to flush between hardware and software vertex processing.
+
+commit a86ef37655c25e0e5a7cb0e41ba7b1c2dcdc1a90
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Apr 24 12:16:29 2009 +0100
+
+ shadowtex: fflush stdout for cygwin
+
+commit f4a286e5f5ac11b2e5266ef39db5d1d1cb5f77ce
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Thu Apr 23 05:42:26 2009 +0200
+
+ util: Add more entry points for dumping to bmp
+
+commit eb5d96968fd37b4598a7b50df1a8f4f7805d897d
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Apr 22 15:19:44 2009 +0100
+
+ demos/readpix: add option to draw triangle instead of drawpix
+
+commit 510a44eea799f2370b79e5da532b3004e94bb005
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Apr 21 19:49:29 2009 +0100
+
+ tests/mipmap_view: add a bunch of keystrokes for testing render-to-texture
+
+ Move between mipmaps, render a triangle, reload textures with either
+ the original arch (and GenMipmaps) or via straightforward glTexImage.
+
+commit ff71587b27beaf288d535e14c75e58425d7efc7a
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Thu Apr 23 23:41:41 2009 +0200
+
+ i965: fix point size issue
+
+ need to clamp point size to user set min/max values, even for constant
+ point size. Fixes glean pointAtten test.
+
+commit 1d0039959302fddd560dc7f9642f312e588cce0e
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Apr 23 17:54:34 2009 -0600
+
+ mesa: more informative error messages
+
+commit a9a363f8298e9d534e60e3d2869f8677138a1e7e
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Apr 23 17:41:23 2009 -0600
+
+ i965: revert part of commit 4f4907d69f9020ce17aef21b6431d2dd65e01982
+
+ The drm_intel_gem_bo_map_gtt() call that replaced dri_bo_map() is
+ producing errors like:
+
+ intel_bufmgr_gem.c:689: Error preparing buffer map 39 (vp_const_buffer): Invalid argument .
+
+ and returning NULL, causing a segfault in the memcpy().
+
+ Just reverting until we can get to the root issue...
+
+commit ae69a046505d8c94cd3a59a9376310a904c35b3c
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Thu Apr 23 21:55:25 2009 +0200
+
+ i915: fix fix for anisotropic filtering
+
+ forgot to commit the changes to actually support 4x aniso filtering...
+
+commit 8374379572d1c541a804990bc926108360f67c02
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Apr 23 09:37:55 2009 -0700
+
+ i965: Support drawing to FBO cube faces other than positive X.
+
+ Also fixes drawing to 3D texture depth levels.
+
+commit 4f4907d69f9020ce17aef21b6431d2dd65e01982
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Apr 22 16:24:42 2009 -0700
+
+ intel: Take advantage of GL_READ_ONLY_ARB to map to GEM bo_map write flag.
+
+ This is a CPU win in general, but in particular reduces the pain of
+ Mesa's calculation of min/max indices in DrawElements (wtf?).
+
+commit f3c7d6ff866cdd96cdd55baee94f58698a9656a3
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Thu Apr 23 14:47:31 2009 +0100
+
+ gallium: Handle non-NULL data pointer in EXA ModifyPixmapHeader hook.
+
+ Need to use the data pointed to for pixmap contents in that case.
+
+ Fixes RENDER based text rendering.
+
+commit e0da812c5bdb7ffdd3450f614a4b73e44cd7feca
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Thu Apr 23 13:19:56 2009 +0100
+
+ gallium: Make the intel xorg winsys start up with any Intel chipset.
+
+ For unsupported devices the screen/context creation should fail cleanly later
+ on.
+
+commit 13cb8264d81f09ce046c73fd751596572d13512e
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Thu Apr 23 12:57:46 2009 +0100
+
+ gallium/intel/gem: Use softpipe rather than i915simple if INTEL_SOFTPIPE is set.
+
+commit 49ba80dff335226a54dae60477b256384005b393
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Thu Apr 23 12:20:22 2009 +0100
+
+ gallium: Always include xorg-server.h before other X server headers.
+
+ Various breakage otherwise, e.g. _XSERVER64 not being defined on 64 bit leading
+ to inconsistent definitions of X server internal structs.
+
+commit 17ee25ba6f846d08521f22c5ec2a6e59a5383cf4
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Thu Apr 23 12:17:28 2009 +0100
+
+ gallium: Fix up xorg state tracker build.
+
+commit 6b0c9366a3f13d74c00666cb7c26b65732f6b1aa
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 22 16:41:05 2009 -0600
+
+ mesa: minor state-update changes in histogram code
+
+ Call FLUSH_VERTICES() in _mesa_Histogram().
+ No need to signal _NEW_PIXEL in ResetHistogram(), ResetMinmax().
+
+commit 725d50601c2c010ce427a23a6e023f79df8a3a22
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 22 16:38:04 2009 -0600
+
+ mesa: fix comment typo
+
+commit c5a97eda32d37de7d1154288bf4298dff3542551
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 22 15:12:22 2009 -0600
+
+ gallium: license, copyright
+
+commit 984f2bb629bb742c6d11d4c8434a2cb32a5b8b75
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 22 15:10:36 2009 -0600
+
+ st: comments, license, copyright
+
+commit 8ee6ab6acb8f89fbc87865751573fcbffb4695ef
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 22 15:02:01 2009 -0600
+
+ mesa: fix _mesa_dump_textures(), add null ptr check
+
+ Calling _mesa_dump_textures() deleted the textures... oops!!!
+
+commit ebfbd8c4fef78e3cd9604660e5bb96e3c6df07e5
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 22 13:46:58 2009 -0600
+
+ i965: disable debug printf
+
+commit ac22178eb049126003db40b0a77a111498a12ab7
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 22 11:52:16 2009 -0600
+
+ i965: enable VS constant buffers
+
+ In the VS constants can now be handled in two different ways:
+ 1. If there's room in the GRF, put constants there. They're preloaded from
+ the CURBE prior to VS execution. This is the historical approach. The
+ problem is the GRF may not have room for all the shader's constants and
+ temps and misc registers. Hence...
+ 2. Use a separate constant buffer which is read from using a READ message.
+ This allows a very large number of constants and frees up GRF regs for
+ shader temporaries. This is the new approach. May be a little slower
+ than 1.
+
+ 1 vs. 2 is chosen according to how many constants and temps the shader needs.
+
+commit 5c8fb6acc10662c9e71078c9f273db6c7808e9ff
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 22 11:47:59 2009 -0600
+
+ i965: define BRW_MAX_GRF
+
+commit 21a422d97e501f4ca68ab24ad3fe5f5eb1393349
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 22 11:29:49 2009 -0600
+
+ i965: remove old code to init surface-related cache IDs
+
+ These types are only found in the new surface state cache now.
+
+commit c0c58cf5cfc11b9256287871660cc16966e662ef
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 22 11:28:24 2009 -0600
+
+ i965: comments, reformatting
+
+commit fa92756400ccfbb3f0201df634feb45ab4f98352
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 22 18:16:03 2009 +0100
+
+ mesa: Fix buffer overflow when parsing generic vertex attributes.
+
+commit 4843e54fc69daf379dea9899673b3df92b44049c
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 22 11:12:07 2009 -0600
+
+ i965: actually use the new, second surface state cache
+
+commit f9af97c7a5d81226a87d79baf8fb00231c96398d
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 22 11:08:46 2009 -0600
+
+ i965: checkpoint commit: use two state caches instead of one
+
+ The new, second cache will only be used for surface-related items.
+ Since we can create many surfaces the original, single cache could get
+ filled quickly. When we cleared it, we had to regenerate shaders, etc.
+ With two caches, we can avoid doing that.
+
+commit a071a8d2e72e52e6a8906448b171756c8920ce96
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 22 10:44:36 2009 -0600
+
+ i965: remove unused state atom entries
+
+commit 50853be894aa3edd1e9271f7d625f319209e340f
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Wed Apr 22 17:37:18 2009 +0200
+
+ intel: fix max anisotropy supported
+
+ i915 actually supports up to 4 (according to header file - not tested),
+ i965 up to 16 (code already handled this but slightly broken), so don't use 2
+ for all chips, even though angular dependency is very high.
+
+commit f428255bde93a452a7cdd48fba21839c99beb6cb
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 22 09:23:15 2009 -0600
+
+ i965: the brw_constant_buffer state atom is no longer dynamic
+
+ No more dynamic atoms so we can simplify the state validation code a little.
+
+commit e5681fc176bc43bc6c7804bd1e8d8557cdcab345
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 22 09:16:21 2009 -0600
+
+ i965: add _NEW_PROGRAM_CONSTANTS to mesa_bits[] list
+
+commit a36dd5d54e3de5662c694e764d1c49795ddb6814
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 22 09:14:53 2009 -0600
+
+ i915: check the new _NEW_PROGRAM_CONSTANT flag
+
+commit 1dbab84e21cad81e971265db3dbc8dc6c344b340
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 22 09:14:16 2009 -0600
+
+ i965: use _NEW_PROGRAM_CONSTANTS and always create new const buffers
+
+ When program constants change we create a new VS constant buffer
+ instead of re-using the old one. This allows us to have several
+ const buffers in flight with vertex rendering.
+
+commit 6b6a23c0f7e042d71764a2028f3d33b59076ac7c
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 22 09:07:46 2009 -0600
+
+ i965: updates to some debug code
+
+commit 817dcdd280cd749c3186bd3f00c06f41270aa884
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 22 09:07:02 2009 -0600
+
+ i965: use new _NEW_PROGRAM_CONSTANTS flag instead of dynamic flags
+
+commit f48473e42511f8d37a239a07f791bc0a87209e5b
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 22 08:59:47 2009 -0600
+
+ r200/r300/r500: add _NEW_PROGRAM_CONSTANTS flag
+
+ Make sure we detect constant buffer changes indicated by the new flag.
+ Should be able to remove _NEW_PROGRAM (and _NEW_MODELVIEW, _NEW_LIGHT, etc)
+ from several places (someday.
+
+commit 7843243deedd66b0c94c8874e732ed7e8c6617ff
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 22 07:58:25 2009 -0600
+
+ st: also check _NEW_PROGRAM flag for vertex shader constant buffers
+
+ This is a follow-on to commit c1a3b852807fb160f0cd246c1364b7336b4b947e.
+ Note that (at this time) wherever _NEW_PROGRAM_CONSTANTS is set we're still
+ setting _NEW_PROGRAM so this won't really make any difference (for now).
+
+commit 466c78c93538f2853449124c06274d538830cd5a
+Merge: 65fe0c8 f057f65
+Author: Dave Airlie <airlied@linux.ie>
+Date: Wed Apr 22 21:41:57 2009 +1000
+
+ Merge remote branch 'origin/master' into radeon-rewrite
+
+commit f057f6543da469f231d551cb5728d98df8add4fa
+Author: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+Date: Mon Apr 20 20:43:56 2009 +0200
+
+ gallium: Reinstate unconditional flushes.
+
+ Lost in commit e50dd26ca6d0eb0d0f97c2780020ea16e3d4a687.
+
+ Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+
+commit 009749b4a8c3ec54f47f3f85552e5ae275ab6ae6
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Apr 21 16:55:57 2009 +0100
+
+ mesa: protect driver.flush() with FLUSH_CURRENT
+
+ Need to do this to ensure vbo code unmaps its buffers before calling
+ the driver, which may be sitting on top of a memory manager which
+ objects to firing commands from a mapped buffer.
+
+commit c1a3b852807fb160f0cd246c1364b7336b4b947e
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Apr 21 17:00:54 2009 -0600
+
+ st: play it safe for now and check _NEW_PROGRAM for shader const buffer atom
+
+ When a new program is bound but no constants are updated we still need
+ to update the Gallium const buffer.
+
+commit 7872b8e37e13719fbea71b3a92507eb00e7fc9db
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Apr 21 17:00:01 2009 -0600
+
+ swrast: simplify state update logic for fragment shader const buffers
+
+commit 3eeefa47d08c91e4d3c14343dd0cab1be4252b8c
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Apr 21 16:50:34 2009 -0600
+
+ st: use the static atoms[] array directly
+
+ We can simplify this now that we no longer have any dynamic atoms.
+
+commit f4f39902fd0241162c06065e521151cd2572a34d
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Apr 21 16:47:30 2009 -0600
+
+ st: do away with dynamic state atom for const buffers
+
+ Just use the new _NEW_PROGRAM_CONSTANTS flag instead.
+
+commit 64e331eb529e66ef678804594c8a3266c97e645f
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Apr 21 15:56:45 2009 -0600
+
+ mesa: new _NEW_PROGRAM_CONSTANTS flag
+
+ This state flag will be used to indicate that vertex/fragment program
+ constants have changed. _NEW_PROGRAM will be used to indicate changes
+ to the vertex/fragment shader itself, or misc related state.
+
+ _NEW_PROGRAM_CONSTANTS is also set whenever a program parameter that's
+ tracking GL state has changed. For example, if the projection matrix is
+ in the parameter list, calling glFrustum() will cause _NEW_PROGRAM_CONSTANTS
+ to be set. This will let to remove the need for dynamic state atoms in
+ some drivers.
+
+ For now, we still set _NEW_PROGRAM in all the places we used to. We'll no
+ longer set _NEW_PROGRAM in glUniform() after drivers/etc have been updated.
+
+commit 8a22e24faef918a0f6d05ef6e6417a65cb3eaeb1
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Apr 21 14:47:57 2009 -0600
+
+ mesa: print internal.current[i] attrib
+
+commit ac1fc3f46511a449c812651dda686d4aaac39753
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Apr 21 14:44:03 2009 -0600
+
+ mesa: print parameter list dirty state flag mask
+
+commit 08e7f09f34b1590b6e68b351e1ecb5f8f405fb75
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Apr 20 11:58:09 2009 -0600
+
+ i965: const correctness
+
+commit 604dd37f66d9c0e83cb3a9012ff1fc35f38b3e37
+Author: Richard Li <RichardZ.Li@amd.com>
+Date: Tue Apr 21 15:04:54 2009 -0400
+
+ R6xx/R7xx: remove unused files
+
+commit 581093d27cb847079da7930e143b8cbfdf8d8139
+Author: Richard Li <RichardZ.Li@amd.com>
+Date: Tue Apr 21 14:30:52 2009 -0400
+
+ R6xx/R7xx: add updated reg file
+
+commit 6bd4bc785e587ac86231349648595fc0e136f10d
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Tue Apr 21 18:32:42 2009 +0100
+
+ Update GALLIUM_AUXILIARY_DIRS in configure.ac to match configs/default.
+
+commit 27c07b6b28cb5d9f0b2ba446846670a234e48228
+Author: Richard Li <RichardZ.Li@amd.com>
+Date: Tue Apr 21 12:54:20 2009 -0400
+
+ Initial pull of code from r6xx-r7xx-support branch
+
+ Not functional yet.
+
+commit 584303ac8ef60129a9e4281963ebb3b3e16e96ac
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Tue Apr 21 01:55:06 2009 +0200
+
+ r300: r300 hw doesn't support any input modifiers in tex insts
+
+commit b8fff1f9f17a2488aa45e875104353814bf59da2
+Author: Mathias Gottschlag <mathias-go@web.de>
+Date: Tue Apr 21 09:52:30 2009 -0600
+
+ r300-gallium: Fix CS size mismatch
+
+ This fixes some warnings which appear because the driver assumes a wrong
+ cs size (13 vs 16 register writes in some cases).
+
+commit dad1c1be18dc4e8e7f51cdb91652124e9427e644
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Apr 21 07:27:12 2009 -0600
+
+ demos: check that GL version is 2.0 or higher
+
+commit 25e3a534035e71bb319d2e11906d376734941a21
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Apr 20 15:03:38 2009 -0600
+
+ st: report GL_OUT_OF_MEMORY instead of asserting
+
+commit e20f837f672e43671890d5f62f9814487e15531f
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Apr 21 11:40:59 2009 +0100
+
+ trivial/tri-viewport: add keys for frustrum/ortho and z coordinate
+
+commit 6e05224bc4d00ba05fee8651d2a9ecbf2a4b3ca8
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Apr 21 10:59:54 2009 +0100
+
+ trivial/tri-viewport: add more out-of-bounds background quads
+
+commit a38f7d9e689f0e12cb8eed6b96a140805b452ba1
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Apr 20 17:32:15 2009 +0100
+
+ trivial/tri_viewport: add space==reset key
+
+commit 6bfcffa79e8b7999e8193e721e07dbb3de4a1658
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Apr 20 17:30:53 2009 +0100
+
+ trivial/tri_viewport: add width/height keys
+
+commit d27d79db4a52327e437146cde3fa3fb85b37de9a
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Apr 20 14:57:00 2009 -0600
+
+ softpipe: fix softpipe_is_buffer/texture_referenced() regression
+
+ Return the conservative PIPE_REFERENCED_FOR_READ | PIPE_REFERENCED_FOR_WRITE
+ value for now.
+
+ This fixes a bunch of regressions seen in piglit and glean.
+
+commit 5d5db81076c6a6e07336f90fbfb7eeaeaf216278
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Apr 20 14:14:26 2009 -0600
+
+ swrast: fix pointer arithmetic error in get_texel_array()
+
+ This came from commit 1b2ab023673261b4b942e1126c0b599d02fbd4a0
+
+commit 29280ac69eeeb7ebddd07f027e65357e50508d93
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Apr 20 16:44:15 2009 +0100
+
+ gdi: Don't implement broken gl_dispatch_stub_xxx.
+
+commit be6037d459e722732f1712598217912bad245249
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Apr 20 16:43:44 2009 +0100
+
+ wgl: Don't implement broken gl_dispatch_stub_xxx.
+
+ These don't respect the stdcall, so they crash upon return.
+
+commit 708218119b9eb6e96d167e98e364e467ebe00bea
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Apr 20 16:40:12 2009 +0100
+
+ mesa: Correct the gl_dispatch_stub_xxx prototypes.
+
+commit 01397a66c77f8ebfe78b90ace59c095194a290cf
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Apr 20 14:53:08 2009 +0100
+
+ mesa: Handle failure to create a transfer.
+
+commit d017749b3ea07f2cc43bb5e8316b83471d1e13ec
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Apr 20 16:17:50 2009 +0100
+
+ mesa/progs: fix scons build after recent demo moves
+
+commit c691f96e9848d05947afc40ea5c14bc2989f00cf
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Apr 20 15:50:44 2009 +0100
+
+ trivial/tri-viewport.c - add guide lines, more triangles, make interactive
+
+ This is becoming more like a test than a trivial/ example.
+
+commit 53c6467aea129b03cf960a0854c1746ce52a2daa
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Apr 17 17:11:09 2009 +0100
+
+ st: assert on pipe_buffer_create failure
+
+ This needs a proper fix to propogate the out-of-memory condition back
+ up to Mesa and the app as a GL error. Until then, at least catch the
+ problem at its source.
+
+commit 70588fc83c5aa75754f7b090a63727f4791618ed
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Apr 17 15:54:57 2009 +0100
+
+ tests/mipmap_view: add linear/nearest key
+
+commit c7c76ba561197b15cf9ad9028335fbc8c2c48890
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Apr 17 11:29:39 2009 +0100
+
+ util: don't set unused blend state
+
+ Try to avoid creating multiple blend atoms.
+
+commit 8ae52413c7883fa4e9bee303f7d28d6dd6953101
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Mon Apr 20 16:05:01 2009 +0200
+
+ trace: Add initializer for static variables
+
+commit 6900046aad77b3b01feb30af9e50375224747b7d
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Mon Apr 20 07:31:44 2009 -0600
+
+ r300: fix register-negate branch merge regression
+
+commit c76a2444a3db4fef4b7892cfd99aa41681b4eb0a
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Mon Apr 20 12:52:56 2009 +0200
+
+ gallium: Fix glDraw/CopyPixels fragment program leak.
+
+commit 65fe0c86ffcff99f9f09606d462bf3731ea0c308
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sun Apr 19 15:28:10 2009 +0200
+
+ r300: fix missing function declaration
+
+commit bcef4b63eba3b6072df3a699d0c4d5128e2515b9
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sun Apr 19 15:26:51 2009 +0200
+
+ r300: revert part of cb4bef7ae0b5fe8de82c380bc98f19067394d355
+
+ Some debugging code got there by accident
+
+commit f2d2b3d8e2d9059c162ae7215344b9171f68632b
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sun Apr 19 16:09:10 2009 +0100
+
+ trace: Enable dumping to be turned on and off
+
+commit 439c42ae8b652f4fce59e5157c7e598280959684
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sat Apr 18 23:14:58 2009 +0100
+
+ st: Wait to create bitmap transfer until needed
+
+commit 373e6716830c52377374458a3c655f32ae84b54f
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sat Apr 18 23:13:56 2009 +0100
+
+ autoconf: Build gallium softpipe when driver=xlib
+
+commit 90a23e340fbfedd76f255fbcab88a07ece2b65db
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sun Apr 19 16:22:43 2009 +0100
+
+ progs/demos: Update ignore
+
+commit 59c8e738c4803545107dae85c412f258120903eb
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sat Apr 18 23:16:54 2009 +0100
+
+ progs/glsl: Update ignore
+
+commit 78878a13fe9cc5dea36c6427c99c7fe17391dbfb
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Apr 18 13:37:30 2009 +0200
+
+ r300: cleanup includes
+
+commit a2d49eeaebcb9d5869e6f6d57d0aa050a825d8b6
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Apr 18 13:35:43 2009 +0200
+
+ r300: move common fp functions to seperate file
+
+commit 300661d12a1f0ab6c81b087a2ca8c4655abf7066
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Apr 18 12:39:13 2009 +0200
+
+ r300: more r300/r500 unification
+
+ reuse insert_WPOS_trailer function
+
+commit 155cc1647fb7ec488fb1d93ba68bc2523ffee381
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Apr 18 04:00:51 2009 +0200
+
+ r300: more prepare for merge
+
+commit 97104c255942ee781777818633ca6c17b4fea312
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Apr 18 03:44:36 2009 +0200
+
+ r300: further r300/r500 merge preparation
+
+commit 33af54af0da94e686ff6679d240a9ec246df3c7a
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Apr 18 03:34:21 2009 +0200
+
+ r300: merge r300/r500 fragment program compiler structure
+
+commit aa04e7d475f6d6028c06c42bedc3c7d37ee78a0e
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Apr 18 03:16:16 2009 +0200
+
+ r300: merge r300/r500 fragment program structures
+
+commit 27d4546f600cb444f07a4d510a328540ff37f761
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Apr 18 02:42:35 2009 +0200
+
+ r300: r300/r500 fp shader merge WIP
+
+commit cb4bef7ae0b5fe8de82c380bc98f19067394d355
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Apr 18 01:58:52 2009 +0200
+
+ r300: general cleanup
+
+ - remove unused fields
+ - remove unused defines and macros
+ - flatten one structure
+
+commit b552446b95baeece6bbb41afe64cdb2f5623e400
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Fri Apr 17 23:54:20 2009 +0200
+
+ r300: remove unnecessary forward function declaration
+
+commit 3fd0084154b377f4189bb8bc8eae21dbce735860
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Fri Apr 17 23:42:37 2009 +0200
+
+ r300: context creation cleanup
+
+ - move constant values initialization to seperate function
+ - remove obvious comments
+
+commit 3230cb5f532c9df6a262b339d947bb71c71c510e
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sun Apr 19 22:04:42 2009 +1000
+
+ radeon: update clear state with latest intel code
+
+commit dc1153ce83041a397b1d1815db4133ce8c53eaa1
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Apr 18 23:14:42 2009 +0100
+
+ softpipe: Simplify softpipe_create's prototype.
+
+commit 876e95dcc83d05dfecb0dcb890f42af0a565e6a6
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Apr 18 23:06:11 2009 +0100
+
+ softpipe: Fix softpipe_is_texture_referenced prototype.
+
+commit eb63e8cc75f7ac0f4b8b89ceecc030b61789ea8c
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Apr 18 21:22:32 2009 +0100
+
+ softpipe: Remove softpipe_winsys.
+
+ Not used by softpipe anyway.
+
+commit c0565e86b4d4375ed52b20d9464daace616b50a8
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Apr 18 14:18:59 2009 -0600
+
+ demos: added glsl/texaaline.c program and overhaul the Makefile
+
+commit 3595732f28b0b8fdca1724305f8e6f3377f1e7fe
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Apr 18 13:18:44 2009 -0600
+
+ demos: updated .gitignore list
+
+commit c953f6620c617feceb79f42c56d08c6df0796f76
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Apr 18 13:16:35 2009 -0600
+
+ docs: removed/added demo programs
+
+commit d61070b65970c9ec14b3272a6c4c6b4b1a9280a2
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Apr 18 13:12:50 2009 -0600
+
+ demos: move demos/texobj.c to tests/
+
+commit 30e80f6e559727dd157fbca4e7e537710e9ea199
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Apr 18 13:10:51 2009 -0600
+
+ demos: move demos/occlude.c (old HP extension) to tests
+
+commit 22af013f85debd0030f2fb00061ce0412fdc0797
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Apr 18 13:08:48 2009 -0600
+
+ demos: move tests/dinoshade.c to demos/
+
+commit 49c3e7172db1ee2afef6bcd19c3cd55dbe60bd33
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Apr 18 13:05:51 2009 -0600
+
+ demos: move tests/projtex.c to demos/
+
+ And fix compiler warnings.
+
+commit 292e1920930dad242b1130cb2b7b4ced2a3024f8
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Apr 18 13:00:48 2009 -0600
+
+ demos: move tests/fbotexture.c to demos/
+
+commit f47495ec42491f1c32391f29e5ed8819eaef6ee2
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Apr 18 12:58:00 2009 -0600
+
+ demos: move texdown.c to tests/
+
+commit dfd69a27f8c3db3d90e2334237bf4a8eabb17e9e
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Apr 18 12:57:13 2009 -0600
+
+ demos: move glutfx demo to tests/
+
+commit 6a495d26af54011ff1ec0597b38db2ce162c7d50
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Apr 18 12:55:55 2009 -0600
+
+ demos: move streaming_rect.c demo to tests/
+
+commit 118856641f4871d6f6afd1abb67ad7fe56a6814b
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Apr 18 12:54:27 2009 -0600
+
+ demos: move glslnoise.c demo to glsl/noise2.c
+
+commit 927dc39de0aa3840b6e054128f49a6882771ab19
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Apr 18 10:42:15 2009 -0600
+
+ i965: use region width, height in brw_update_renderbuffer_surface()
+
+ Fixes a regression from commit 2c30fd84dfa052949a117c78d932b58c1f88b446
+ seen with DRI1.
+
+commit 957a625b2d7cf1f84c917948c8c0f6899d86379e
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Apr 18 10:40:21 2009 -0600
+
+ intel: #include polygon.h to silence warning
+
+commit 3e750ce5c4576883f5b567eaf3336fea3df3a997
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Apr 18 10:20:26 2009 -0600
+
+ demos: fix incorrect assertion
+
+commit c5af2ed60fa4fe3f33b53a8e252e24cfa490a156
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Apr 18 10:08:54 2009 -0600
+
+ mesa: add switch case for GL_VERTEX_STATE_PROGRAM_NV in _mesa_new_program()
+
+ Fixes bug seen in progs/tests/vptest1.c
+
+commit 2bf326af10d02b2d5a44cee98fa62c8a8940dd11
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Apr 18 10:08:15 2009 -0600
+
+ demos: fix usage text
+
+commit 54fb6f0053dc153b76a2e6a242bac376c6723279
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Sat Apr 18 15:47:14 2009 +0200
+
+ intel: Handle ARB_vertex_buffer_object state in intel_clear_tris().
+
+ Fixes gearsvbo app by Michael Clark.
+
+commit 538a82388293ca1b14e6eb8b26179d1f42627210
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Apr 17 16:23:33 2009 -0600
+
+ demos: new glsl/array.c demo
+
+ Test variable indexing into a uniform array in a vertex shader.
+
+commit 794d488e6dc795c225505b8c00a7f00f1960a5ad
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Apr 17 16:11:05 2009 -0600
+
+ intel: make sure polygon mode is set properly in intel_clear_tris()
+
+ Fixes progs/glsl/skinning.c demo.
+
+commit 36b0f26721652639351522915d9a57f9d4a8bcde
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Apr 17 16:04:41 2009 -0600
+
+ mesa: suppress extra newline
+
+commit 0bc214a834bbb12b9338837dd9fca9bc389b4bc2
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Apr 17 16:01:20 2009 -0600
+
+ i915: fix broken indirect constant buffer reads
+
+ The READ message's msg_control value can be 0 or 1 to indicate that the
+ Oword should be read into the lower or upper half of the target register.
+ It seems that the other half of the register gets clobbered though. So
+ we read into two dest registers then use a MOV to combine the upper/lower
+ halves.
+
+commit 905130852ac481cb286b0215d8c61e9eb6845520
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Apr 17 13:55:58 2009 -0600
+
+ mesa: build a float[4] value in _mesa_add_sampler() to avoid random values
+
+commit 4c13cb65a0ee44d10298a1efe78c901c642b7ebe
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Apr 16 16:41:07 2009 -0600
+
+ dri: build DRI swrast driver too
+
+commit e1a8852aa49b535a4fcec4eefda3fb7f8e57a5cc
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Apr 16 16:37:53 2009 -0600
+
+ dri: __driUtilMessage(): not all messages are errors
+
+commit 08ac96e55b6e4f30d75307b796a271b824ffd4ac
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Apr 16 16:29:45 2009 -0600
+
+ mesa: minor tweak to error message
+
+commit f8f23e33c21f41756d068b546f2aae37030b5773
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Apr 16 15:43:32 2009 -0600
+
+ i965: updated CURBE allocation code
+
+ Now that we have real constant buffers, the demands on the CURBE are lessened.
+ When we use real VS/WM constant buffers we only use the CURBE for clip planes.
+
+commit 867afa4c093cb05bedf11a1c7a74feb202fb858b
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Apr 17 21:23:14 2009 +0200
+
+ xlib/trace: Fixup xlib trace
+
+commit 86ed894e47bae10d158f2b4a02065daa9dbe5194
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Apr 17 18:40:46 2009 +0100
+
+ pipe: Get the p_atomic_dec_zero logic right this time.
+
+commit 90c880f08996cce57273544d8ba11b56ce2a06f3
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Apr 17 09:15:58 2009 -0600
+
+ demos: move glewInit() call, fixes crash/bug 21247
+
+commit 3b760729158ff39a40688980d7a823b006e0a31a
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Fri Apr 17 17:02:34 2009 +0200
+
+ gallium: Fix PIPE_ATOMIC_GCC_INTRINSIC build.
+
+commit 047efcd050a92687403952910de4fded3df46964
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Apr 17 08:09:17 2009 -0600
+
+ demos: move glewInit() after glutCreateWindow()
+
+ Fixes segfault. See bug 21239. However, the demo doesn't render
+ properly. Probably a bug in the GL_ATI_fragment_shader code.
+
+commit 44d0e0caf4ad3b01dc08d8432867c449dc3f2a23
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Apr 17 15:55:51 2009 +0200
+
+ trace: Keep screen objects on lists
+
+commit 1e42f68fd612b2a4c877b91393e5ff5bc34dbe0d
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Apr 17 16:00:25 2009 +0200
+
+ trace: Fix is_referenced functions
+
+commit 5800e0aad1e803fbe2a1e1a7f8abcdff58699901
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Apr 17 15:52:05 2009 +0200
+
+ trace: Simplify trace_buffer function
+
+commit dbb90436f8385a33b9938c66a0fa3eff8c36a4cc
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Apr 17 15:01:38 2009 +0100
+
+ pipe: Fix InterlockedDecrement usage.
+
+commit 995a168dea015ea6063bdf18ca0b031fd428460a
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Apr 17 14:55:49 2009 +0100
+
+ wgl: Put commas in the right places.
+
+commit 5458f8eff6b6212d170fd5862c4fc82659666d22
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Apr 17 14:53:10 2009 +0100
+
+ wgl: Flip the pixel format order.
+
+ List 32bit pixel formats first, as nobody is interested in 16bit pixel
+ formats nowadays.
+
+commit e50dd26ca6d0eb0d0f97c2780020ea16e3d4a687
+Author: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+Date: Fri Apr 17 11:47:30 2009 +0200
+
+ gallium: Create OGL state tracker wrappers for various CPU access operations.
+
+ There are two usage types of buffer CPU accesses:
+ One where we try to use the buffer contents for multiple draw commands in
+ a batch. (batch := sequence of commands that are flushed together),
+ like incrementally adding bitmaps to a bitmap texture that is reallocated
+ on flush.
+ And one where we assume we can safely overwrite the old buffer contexts, like
+ glTexSubImage. In this case we need to make sure all old drawing commands
+ referencing the buffer are flushed before we map the buffer.
+ This is easily forgotten.
+
+ Add wrappers for the most common of these operations. The first type is
+ prefixed with "st_no_flush" and the second type is prefixed with
+ "st_cond_flush", where "cond" indicates that we attmpt to only flush
+ if there is indeed unflushed draw commands referencing the buffer.
+
+ Prefixed functions are
+ screen::get_tex_transfer
+ pipe_buffer_write
+ pipe_buffer_read
+ pipe_buffer_map
+
+ Please use the wrappers whenever possible.
+
+ Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+
+commit ee2a5f307a026c1c258d3f7616d46cc7230d77ce
+Author: Zack Rusin <zackr@vmware.com>
+Date: Fri Apr 17 07:05:24 2009 -0400
+
+ egl: don't crash with one more khronos api
+
+commit 687f331a1ff0721d1a84c203eb7f721527a3f882
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Apr 17 11:01:22 2009 +0100
+
+ gallium: simplify further the logic for selecting mutex implementation
+
+ Cleaner than the previous cleanup...
+
+commit 29a2f6fead25b8231c27ec47cadb9265736d8527
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Apr 17 10:38:07 2009 +0100
+
+ util: flush stdout before emitting debug_printf on stderr
+
+ A lot of the mesa demos emit commentary on stdout, try to keep it in
+ sync with the corresponding output from debug_printf().
+
+commit db93dcecc80a45e850b4594326fc453c950b54f5
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Apr 17 10:17:59 2009 +0100
+
+ gallium: add #warning to mutex-based atomic implementation
+
+ Some builds end up picking this up.
+
+commit 3a618da6e15a6dc4351eb933583569a1ecefc768
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Apr 17 10:07:53 2009 +0100
+
+ python/retrace: Rename module as it conflicts with a builtin module.
+
+ And there is no way to override a builtin module... sigh
+
+commit 56c2cd7ae2a4324bc191a680c2429add1a5a1644
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Apr 16 21:41:01 2009 +0100
+
+ scons: Cleanup.
+
+commit 189db329caba805f4ae9ab28c675f37565fd4c9c
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Apr 16 10:28:27 2009 -0600
+
+ demos: set init window size, not pos
+
+commit a902b6ba48c8ff8bebda95e32310781d9a0763ce
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Apr 16 10:28:15 2009 -0600
+
+ docs: separate compilation units in 7.5
+
+commit eb0d46490332091b2ee247f32a1f08a04e1fe00f
+Merge: 7571d5d 7db7ff8
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Apr 16 22:02:54 2009 -0600
+
+ Merge branch 'register-negate'
+
+commit 7571d5d3b013e544a9fbde91e4aec05e0b13b4cb
+Author: Alan Coopersmith <alan.coopersmith@sun.com>
+Date: Thu Apr 16 20:06:08 2009 -0700
+
+ egl/main/Makefile: Add dependency of install target on default build target
+
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
+
+commit 9028335371af465a73c13282a3608f76168e4d63
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Thu Apr 16 18:22:44 2009 +0200
+
+ r300: we always want non NDC coords format for swtcl
+
+commit d7d5c97a215e6845ffa9fc60cee52da6a2d3148a
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Thu Apr 16 17:50:13 2009 +0200
+
+ r300: cleanup frag prog setup a little
+
+ Use proper fields for marking if fp is translated, and if is translated succesfully.
+ Now if fp gets translated (even unsuccesfully) fp->translated is true. If the translation failed (i.e. because we exceeded limit of
+ maximum texture indirections) the fp->error is set. With a little updated fallback function it prevents non native fragment programs
+ from beeing translated with every frame (the translation would fail anyway so there's no point to try again).
+
+ Also implement IsProgramNative function for GL_FRAGMENT_PROGRAM_ARB (it should give some performance boost in apps that checks if
+ program is native and falls back to simpler shader to meet hw limits if necessary) and cleanup indentation (remove whitespaces on empty
+ lines).
+
+commit a92bc56e2428e4219e0eaaa6f142c6cc60fee710
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Thu Apr 16 12:38:39 2009 +0200
+
+ r300: update r500 path for reordered WPOS and FOG fp attributes
+
+ Report and regression testing by Fabio Pedretti.
+
+commit f17ea143cbe214eb4b249b56264a378f839dc3a6
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Apr 16 11:32:30 2009 -0700
+
+ i915: Remove dead i830TexEnv and i915TexEnv.
+
+ These LOD bias updates are covered by the texture state uploads in
+ *_texstate.c now.
+
+commit 2c30fd84dfa052949a117c78d932b58c1f88b446
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Apr 9 18:30:12 2009 -0700
+
+ intel: Add support for argb1555, argb4444 FBOs and fix rgb565 fbo readpixels.
+
+ Also enable them all regardless of screen bpp, as 32 bpp what I've been
+ testing against, and haven't been able to detect any screen bpp-specific
+ troubles with them.
+
+commit 33b865f70dc1461b040c9c436ec8e5a8171f00e7
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Apr 16 11:08:12 2009 -0600
+
+ i965: disable using immediate values for MOV instructions
+
+ For some reason, MOV instructions using immediate src values don't seem
+ to work reliably on the GLSL path. Disable them for now (falling back to
+ const buffer reads). This fixes a bunch of glean glsl1 failures.
+
+commit a25632d890bcc769e2d39650e3dfe6ee49393e54
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Apr 16 11:06:00 2009 -0600
+
+ i965: minor debug output changes
+
+commit fc76781456182f487fc7e0057ca8a4c648dfe530
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 15 16:49:48 2009 -0600
+
+ i965: const buffer debug code (disabled)
+
+commit ee32e9b4753eca62e360f96ce61ef7ff683e6bb7
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 15 16:49:18 2009 -0600
+
+ i965: implement relative addressing for VS constant buffer reads
+
+ A scatter-read should be possible, but we're just using two READs for
+ the time being.
+
+commit 19ac3e2729abd85346f88fd69c6bc72938d26101
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 15 14:53:51 2009 -0600
+
+ i965: handle address reg in get_dst()
+
+commit f2cfbfa2baa15c4b56c6f22dbe37d75a3c07e549
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 15 12:22:47 2009 -0600
+
+ i965: fix const buffer temp register clobbering
+
+ Calls to release_tmps() were causing the temps holding constants to get
+ recycled.
+
+commit d82876e850960eb5e3799c4ab02b618c4b548fd8
+Author: Lars Henning Wendt <lhwendt@igd.fhg.de>
+Date: Thu Apr 16 10:14:17 2009 -0600
+
+ mesa: fix bad mask bit in clip plane restore code for glPopAttrib()
+
+commit 69cbf3c68675915517ae64c81d7a8a42de4e01a3
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Thu Apr 16 17:39:43 2009 +0200
+
+ intel: fix small compressed texture upload
+
+ need to round up height for _mesa_copy_rect otherwise
+ textures with height smaller than 4 won't get copied to the miptree at all
+ Also fix up the confusing debug output (don't output unitialized values,
+ and output if data is present and the compressed flag)
+
+commit 666702baec09f60f7e1eddd9f1dd65ee2e826abb
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Apr 16 09:31:45 2009 -0600
+
+ mesa: add distclean target to top-level Makefile
+
+commit 0d0028e6df3542272ce833fec2e7af99d762fe8f
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Apr 16 09:25:52 2009 -0600
+
+ demos: use larger buffer for snprintf() call, see bug 21220
+
+commit 8b2ebd15310cbd5d905b08761b5e950f8e2580e5
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Apr 16 12:19:19 2009 +0100
+
+ vbo: cache last dlist vertex in malloced memory
+
+ Avoids repeated mapping of the VBO buffer on display list replay. We
+ need access to the final vertex in order to update the GL current attrib
+ values.
+
+commit e80d1e367a25af406c7f2327646c0aa699962fe8
+Merge: b83cf05 82e92ee
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Apr 16 10:51:42 2009 +0100
+
+ Merge branch 'gallium-s3tc'
+
+commit 3264352c577ce1d6681e70abd76624ede906df71
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Apr 16 13:06:24 2009 +1000
+
+ dri: attempt to actually refcount the __DRIDrawable
+
+ valgrind was showing a race between the drawable getting destroyed
+ by the X resource freeing code, and the context getting destroyed
+ later and freeing the drawable.
+
+ However I've no idea if some other combination of things could cause
+ this code to leak.
+
+commit 143b416af6662995059cd5209a750dbace78081c
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Apr 16 13:06:08 2009 +1000
+
+ radeon: take a bo reference when adding to validate list
+
+commit 82e92eeab0c831683961175d155865786149a354
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Apr 15 23:36:22 2009 +0200
+
+ progs/tests: Make texcompress2 get texture
+
+commit 5a118d46507f4d551cba64014ac0dbbbad493742
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Apr 15 23:33:07 2009 +0200
+
+ util: Fix surface usage
+
+commit 255c33d733cc4d2d7483d903513fdc9c34c90f0d
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 15 09:54:04 2009 -0600
+
+ st: remove XXX comment
+
+commit 7b24e58a0ca571d6230ef5076ea352253b81fe6e
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 15 09:52:04 2009 -0600
+
+ st: check for fast memcpy path in decompress_with_blit()
+
+commit 66cdbf945a3ee75d7b8cba5135310a7ebec21289
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 15 09:51:38 2009 -0600
+
+ st: st_equal_formats() function to compare gallium/GL pixel formats
+
+commit 51b339af2e8b80575a24bb9146f031c9605180bb
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 15 09:37:22 2009 -0600
+
+ st: decompress_with_blit() path for glGetTexImage().
+
+ Decompress a texture by rendering a textured quad.
+
+commit 49b40f9bf4aef3a32ddb88f7e8d378f08e26b081
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 15 09:36:03 2009 -0600
+
+ gallium: new, simple RGBA surface create/destroy helpers
+
+ Use these for quickly creating an RGBA drawing surface.
+
+commit b83cf05d0d986f324fe9c93525c84eb62fed4f20
+Author: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+Date: Wed Apr 15 17:22:40 2009 +0200
+
+ r300-gallium: Fixup for commit 9b75627fab5bf2ea90f27ddd31b60c54895f6de6.
+
+ Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+
+commit 9b75627fab5bf2ea90f27ddd31b60c54895f6de6
+Author: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+Date: Wed Apr 15 15:53:34 2009 +0200
+
+ gallium: Make sure we flush before some texture / buffer operations.
+
+ Also implement context member functions to optimize away those
+ flushes whenever possible.
+
+ Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+
+commit f94053eb7d3f129e5086f6dc431a13f83c93a189
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 15 19:55:00 2009 -0600
+
+ tests: another extended swizzle test
+
+commit 1a84072db9fb8faf39bd155c3bf249dcc99130d8
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Apr 15 15:09:43 2009 -0700
+
+ r300-gallium: Use viewport state.
+
+commit a4e0a46a8d6a4f308216c085849305ad82c52f15
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Apr 15 14:12:11 2009 -0700
+
+ r300-gallium: Don't use indexbufs for now.
+
+ They aren't working, so best to turn it off.
+
+commit a5f68b40cb4299b54d5cb400bbbf4338673d82ec
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Apr 15 13:25:20 2009 -0700
+
+ r300-gallium: Point size is at OVM position 15, not 1.
+
+ Or so sayeth osiris, and he would know. :3
+
+commit ada7ced1890c7d657f14a9af2caa72bad3af879f
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Apr 15 13:23:25 2009 -0700
+
+ r300-gallium: vs: Dot products.
+
+commit 43257c14700fd5a62d6180ac6e493bf515d281a0
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Apr 14 16:31:26 2009 -0700
+
+ i965: Clean up output of WM SS state dump, and add format output.
+
+commit bbae8791d148d275632dfc8e105aa2df52820468
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Apr 9 18:31:59 2009 -0700
+
+ i915: Use DEBUG_WM (like 965) for printing the fragment program out.
+
+ This is nice when paired with INTEL_DEBUG=batch for debugging what's going
+ out to the hardware.
+
+commit 0af7e9170fd7c0d906652378b9f78fe2ba9725ad
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Apr 9 18:31:28 2009 -0700
+
+ i915: Add decode of dest buffer variables (destination format)
+
+commit c710430f3ac05c0c6a528bb7b4f82383a26103d1
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Apr 10 16:47:14 2009 -0700
+
+ mesa: Update texenv program when _NEW_ARRAYS is updated as well.
+
+ This fixes a regression in fbotest1 on 915, where a transition from
+ color+vertex array enabled to texcoord0+vertex array enabled wouldn't trigger
+ program update on the second _mesa_update_state of DrawArrays, and we'd sample
+ a constant texcoord of 0,0,0,1 instead of the array.
+
+ The double state update in DrawArrays from
+ 1680ef869625dc1fe9cf481b180382a34e0738e7 still needs fixing.
+
+commit 8bc3a6eb1918710eadecb9b8d28a4afa2150a257
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Apr 9 11:03:03 2009 -0700
+
+ intel: Fix segfault when doing SW mipmap generation with a PBO texture upload.
+
+ Triggered in test-fbo from clutter since
+ 37fb2d9b23eab5dbbb43a212c3475cb8016837d8.
+
+commit af9d202b26f75555b653dbe1c2ebaf6a2cf14d28
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Apr 15 20:07:48 2009 +0100
+
+ mesa: TGSI translation of multiple render targets.
+
+commit 05471828dc8dd4a184d4467b66e9c08449d1d4c9
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 15 08:01:01 2009 -0600
+
+ glx: added null pointer check in glXGetFBConfigs()
+
+ Fixes segfault seen with glxinfo with NVIDIA OpenGL.
+
+commit 7db7ff878d3e5a6b345228e6eaee4797bb68b360
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Apr 14 22:14:30 2009 -0600
+
+ mesa: merge the prog_src_register::NegateBase and NegateAbs fields
+
+ There's really no need for two negation fields. This came from the
+ GL_NV_fragment_program extension. The new, unified Negate bitfield applies
+ after the absolute value step.
+
+commit 0115a4f8f1952b166eaad09f317ff8bc465e0f28
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Apr 14 20:00:28 2009 -0600
+
+ mesa: remove unused matrixType param from ctx->Driver.UniformMatrix() functions
+
+commit 62c45ec951829563b92a95cce5b9621e70c971a4
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Apr 14 19:56:59 2009 -0600
+
+ mesa: move #define for GL_PROGRAM_BINARY_LENGTH_OES
+
+commit fe278f1e600058af18c6ba5fe77bfc5a772bf9f5
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Apr 14 19:53:37 2009 -0600
+
+ mesa: remove NV vertex/fragment program print/debug code
+
+ The code in prog_print.c can be used instead.
+
+commit cdc7f681c87b0b6379de04066c25fdeb6de96405
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Apr 14 19:44:16 2009 -0600
+
+ mesa: use standard offsetof() macro
+
+commit 92cc9970039d9c9385dc472fbfac58b93799f5ae
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Apr 14 16:05:28 2009 -0600
+
+ i965: fix VS constant buffer reads
+
+ This mostly came down to finding the right MRF incantation in the
+ brw_dp_READ_4_vs() function.
+
+ Note: this feature is still disabled (but getting close to done).
+
+commit a3c3c1f1437de0186d70de9017a6a8e404ecf482
+Author: Adam Jackson <ajax@redhat.com>
+Date: Tue Apr 14 17:56:29 2009 -0400
+
+ glx: Make glXGetScreenDriver() work for DRI2
+
+commit 71793e0f7907421d5bee619ae524e5178c6f3f32
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Apr 14 21:39:54 2009 +0100
+
+ scons: Support winddk 6001.18002.
+
+commit 5ccbccb3c17b675c4206fd1b3821cbb74997720a
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Apr 14 21:31:34 2009 +0100
+
+ scons: Recent Windows DDK do not include LIB.EXE.
+
+ Have to use LINK /LIB instead. The biggest problem is when the command
+ line is very long and all the options are included in a argument file --
+ link doesn't like if /LIB is included in the argument file.
+
+commit 1ea7f0fef055245fa18c0fbc3e54a866956c2507
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Apr 14 21:27:58 2009 +0100
+
+ mesa: Fix gcc assembly enable logic.
+
+ The i386 symbol is defined on WINDDK.
+
+commit 153012b29b4f2183a1be6a01eec63e720a192718
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Sat Apr 11 14:02:33 2009 -0700
+
+ DRI2: Don't fault on NULL DrawBuffer
+
+ It is possible for ctx->DrawBuffer to be NULL, so don't fault when
+ that happens. This change is not being committed to master because it
+ doesn't appear to be necessary there.
+
+ Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
+
+ Cherry picked from mesa_7_4_branch, commit 49e0c74ddd91900fc4effb6d305d56e0563b456d
+
+commit cafea7528052624c8d3e4cd1c5b26a61bf04d1d0
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Apr 14 11:08:42 2009 -0600
+
+ i965: checkpoint commit: VS constant buffers
+
+ Hook up a constant buffer, binding table, etc for the VS unit.
+ This will allow using large constant buffers with vertex shaders.
+ The new code is disabled at this time (use_const_buffer=FALSE).
+
+commit 43c7ffaea635f949fd4803c4f594cf53e4b98f24
+Author: Younes Manton <younes.m@gmail.com>
+Date: Mon Apr 13 21:24:44 2009 -0400
+
+ dri glx: Swap before checking for cliprects.
+
+ We don't update drawables anymore unless they are completely
+ uninitialized, so we need to swap even if we don't have
+ cliprects yet, otherwise we never end up calling the driver's
+ SwapBuffers(). The driver should update the drawable in its
+ SwapBuffers() anyway.
+
+ See 8e753d04045a82062ac34d3b2622eb9dba8af374,
+ "dri glx: Fix dri_util::driBindContext" for the change that
+ exposed it.
+
+commit 352de305bd2b03b0a8d079dbbcb29ae812cc6028
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Mon Apr 13 14:41:06 2009 +1000
+
+ nv50: fix mrt clear
+
+commit 1fd76ae930d20a241d534a86c489d92df9b051d3
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Sun Apr 12 15:51:31 2009 +0200
+
+ r200: fix texture level for compiz case
+
+commit 02b130fd4b1c4c35ed256fc345eead010db09205
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Sun Apr 12 14:25:36 2009 +0200
+
+ r200: validate vertex buffer
+
+commit 8181f8fbf9c3d0f60191ee874248b8113b215e30
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Sun Apr 12 13:11:06 2009 +0200
+
+ radeon: emit scissor when using cs path
+
+commit 9340c994b78d15253326b83cfcb15c7349c0403a
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Apr 10 18:34:55 2009 -0700
+
+ r300-gallium: Split up vertex format tallying for HW and SW TCL.
+
+ This makes things draw (again) with HW TCL. Yay?
+
+commit 1b5b083d5ccaeeca29375072d978d32a258f606f
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Apr 10 18:15:46 2009 -0700
+
+ r300-gallium: Finish up cleanup of vertex format state.
+
+ This makes texcoords route properly, and also fixes a few asserts.
+
+commit e825609d8161bb466ebe1be9a0cc3f492e796a43
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Apr 10 16:14:12 2009 -0700
+
+ r300-gallium: Clean up vertex format setup.
+
+commit 4e96c8196934be4fe09f82e2fcd7e776a7553479
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Apr 10 13:32:04 2009 -0600
+
+ i965: remove unused var
+
+commit 60ad4b0bf0919c9dfd23aaa54271a8f1e47ab843
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Apr 10 13:21:27 2009 -0600
+
+ i965: clean-up in prepare_wm_surfaces()
+
+commit 34445670503ab6d07d1de568493d62145b57a154
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Apr 10 11:17:35 2009 -0600
+
+ mesa: reduce makefile output
+
+commit 9b162cdda725f7e528bdf65290f508434a9dd51b
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri Apr 10 17:36:31 2009 -0400
+
+ Fix build errors from merge
+
+commit 04f335fd16c2a13b9425797acf5c3989cb6def7f
+Merge: c0419f1 5e361c4
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri Apr 10 17:16:08 2009 -0400
+
+ Merge branch 'radeon-rewrite' of git+ssh://agd5f@git.freedesktop.org/git/mesa/mesa into r6xx-rewrite
+
+commit c0419f190c836130932164ac47cfb53de668d423
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri Apr 10 16:36:18 2009 -0400
+
+ Remove r500 stuff
+
+commit 11084d582764a916245ae92437421ac0cacdf335
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Apr 10 19:48:59 2009 +0100
+
+ wgl: Protect the framebuffer with a lock.
+
+ Unfortunately this doesn't catch all the cases, as the mesa state tracker
+ can still use the framebuffer without giving the wgl state tracker
+ the chance to lock it.
+
+commit 6fc244c68d3b3a9f89b6f752725e6c768cb08a84
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Apr 10 18:43:51 2009 +0100
+
+ wgl: Note down the gallium pixel formats, instead of re-guessing them.
+
+commit aa405a2a77d51a4f807c5c2f63cbc76eb660e489
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Apr 10 18:14:22 2009 +0100
+
+ wgl: Query the screen for supported formats.
+
+commit 0bca413ce9e5aca4ecbf689fd7aa3da44bb73f4d
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Apr 10 17:22:21 2009 +0100
+
+ wgl: Walk through the pixel formats combinations.
+
+commit e5d700721b05910f935c873ebb23d23f49961ebf
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Apr 10 16:37:15 2009 +0100
+
+ wgl: Keep copies of the PIXELFORMATDESCRIPTOR structures.
+
+commit 48f0543b39969694626bbeeca0b69b184db315f6
+Author: Robert Noland <rnoland@2hip.net>
+Date: Fri Apr 10 11:41:27 2009 -0500
+
+ Build dri drivers for powerpc and sparc on FreeBSD.
+
+commit d60b4f7885d88fc868c3af2ba661cd79c907af7f
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Apr 10 08:56:03 2009 -0600
+
+ mesa: asst. progs/test/Makefile files
+
+commit 23a911b4a66914883ece70c1e621dfc082661a28
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Apr 10 08:36:04 2009 -0600
+
+ i965: added null const_buffer pointer check in update_constant_buffer()
+
+commit ded05d32d5f948770ece088ea0ed6363c0055a4c
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Apr 10 08:35:21 2009 -0600
+
+ intel: added screen->dri2.loader null pointer check in intel_flush()
+
+ Fixes segfaults when rendering to front buffer.
+
+commit 88999de8b70d1e170f5bbcadd07132d382c560cf
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Apr 10 08:05:10 2009 -0600
+
+ gallium: remove pipe_texture::compressed field
+
+ The format field encodes compressed vs. uncompressed already. We can easily
+ check if a texture is compressed with pf_is_compressed(texture->format).
+
+commit 0a2269703c2398d81d8cde439527f883f6fbc502
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Apr 10 13:18:14 2009 +0100
+
+ wgl: Slightly simplify pixelformat creation.
+
+commit f8f4b03442fea4f159d2a536bf2311ecb305cd51
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Apr 10 13:08:57 2009 +0100
+
+ progs: Port glxinfo to wgl.
+
+commit 46857f3c66b9007157a866d13608bc37bdaab10f
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Apr 10 12:58:05 2009 +0100
+
+ mesa: Don't define WGL_ARB_extensions_string in mesa_wgl.h.
+
+ It breaks wglext.h as it doesn't define PFNWGLGETEXTENSIONSSTRINGARBPROC.
+
+commit 87b04ce59b3ed26988b54ca182fab2e9dce03c38
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Apr 10 10:30:14 2009 +0100
+
+ wgl: Move pixel format information into device structure.
+
+commit 3f2420e2e07b7ae0d2feec81178f998a1e46d631
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Apr 10 10:14:13 2009 +0100
+
+ wgl: Combine alpha pixelformat info in color.
+
+commit 2921a4903378e2bfc461322a5443cc013e7414c9
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Apr 10 10:04:31 2009 +0100
+
+ stw: Reorder the pixelformats, so that no alpha pixelformats get chosen before alpha.
+
+ Some applications might not handle a alpha visual when when they did not
+ request for one.
+
+commit 0dd81ec97b4fd88fa9267f409a115a98344bc2fe
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Apr 10 10:02:58 2009 +0100
+
+ stw: Don't make assumptions about integer size.
+
+commit f14497a9cd160106bd69ed37a89e24c77050a394
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Apr 10 10:02:29 2009 +0100
+
+ stw: Free the mesa framebuffer.
+
+commit 5fae9514c235cc5590f15fd802bd762107fc689d
+Author: Michal Krol <michal@vmware.com>
+Date: Fri Apr 10 11:58:49 2009 +0200
+
+ tgsi/sse2: Cleanup NRM/NRM4 implementation.
+
+ Fix comments.
+ Make sure .w is set to 1.0 for NRM.
+ Optimise for non-.xyzw writemasks.
+
+commit 05c70f8f5d95708cb4564946effb5c49d09068ec
+Author: Michal Krol <michal@vmware.com>
+Date: Fri Apr 10 09:00:57 2009 +0200
+
+ rtasm: Silence `static function not used' warning.
+
+commit 13be57df3ac00a4bdfdafb10605c3be7056a21a5
+Author: Michal Krol <michal@vmware.com>
+Date: Fri Apr 10 08:59:20 2009 +0200
+
+ draw: Silence pointer-to-integer cast warning.
+
+commit f4cc0692e6f285515e6a86367cf771be30665797
+Author: Michal Krol <michal@vmware.com>
+Date: Fri Apr 10 08:54:47 2009 +0200
+
+ draw: Fix vertex_header initialisation.
+
+commit 6c2d1e68395da7fd7f1bd8b777e075388d6964f4
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Apr 9 15:31:48 2009 -0600
+
+ swrast: remove some unneeded CHAN_TYPE!=GL_FLOAT code
+
+commit 92d3b2a4da914a64bf0de4be4843a8524b1a8af6
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Apr 9 18:40:24 2009 -0600
+
+ gallium: comments for surface_copy(), surface_fill() in p_context.h
+
+commit 20f3497e4b6756e330f7b3f54e8acaa1d6c92052
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Apr 9 18:37:03 2009 -0600
+
+ i965: re-org of some of the new constant buffer code
+
+ Plus, begin the new code for vertex shader const buffers.
+
+commit 08a1e1ebcb612dfa9172f04e4644b34d95ec7dac
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Apr 9 17:04:58 2009 -0600
+
+ demos: fix aspect ratio in Reshape()
+
+commit 2078e6cf55e3068454df9d843618b412b6abb811
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Apr 9 17:04:09 2009 -0600
+
+ i965: new SURF_INDEX_ macros
+
+ Used to map drawables, textures and constant buffers to surface binding
+ table indexes.
+
+commit 7e0d4598fb7d2d7dd150870debeb102b5ce664bf
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Apr 9 16:10:43 2009 -0600
+
+ gallium: change // comment to /* */ style
+
+commit 985e71866a9eb4c6f18ff8766eb278e58bf09830
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Apr 9 16:02:41 2009 -0600
+
+ gallium: updated comments in p_screen.h
+
+commit a35e7458264fe6f0c2f200904779516f64953c33
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Apr 9 15:09:42 2009 -0600
+
+ i965simple: remove pipe_texture::compressed reference
+
+commit c27c670ad8fc9f8276caeaff69eeb75e929dac9a
+Author: Michal Krol <michal@vmware.com>
+Date: Thu Apr 9 23:24:57 2009 +0200
+
+ tgsi/sse2: Fix build.
+
+commit 5f31890861981d431607b2361ecde04e19726f1e
+Author: Michal Krol <michal@vmware.com>
+Date: Thu Apr 9 23:17:02 2009 +0200
+
+ draw: Fix LIT instruction.
+
+commit 6a6e478e5555714226c6f15c63c393f5c0d74de4
+Author: Ian Romanick <idr@freedesktop.org>
+Date: Tue Apr 7 11:23:10 2009 -0700
+
+ intel / DRI2: Accept fake front-buffer from loader
+
+ Handle the loader returning a fake front-buffer. Since the driver
+ never specifically requests a fake front-buffer, the driver assumes
+ that it will never receive both a fake and a real front-buffer.
+
+ Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
+ Reviewed-by: Kristian Høgsberg <krh@redhat.com>
+
+commit e6386e0d9a461e7bc96ae7137de9c0a33f24c1a4
+Author: Ian Romanick <idr@freedesktop.org>
+Date: Mon Apr 6 15:35:37 2009 -0700
+
+ DRI2: Assume that there is always a front buffer
+
+ Assume that the front-buffer exists even if the server didn't tell the
+ client that it exists.
+
+ Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
+ Reviewed-by: Kristian Høgsberg <krh@redhat.com>
+
+commit 43cf0d1eebb9f425e1a0e176394b64e2cb406709
+Author: Ian Romanick <idr@freedesktop.org>
+Date: Mon Apr 6 13:15:54 2009 -0700
+
+ intel / DRI2: Track and flush front-buffer rendering
+
+ Track two flags: whether or not front-buffer rendering is currently
+ enabled and whether or not front-buffer rendering has been enabled
+ since the last glFlush. If the second flag is set, the front-buffer
+ is flushed via a loader call back. If the first flag is cleared, the
+ second flag is cleared at this time.
+
+ Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
+ Reviewed-by: Kristian Høgsberg <krh@redhat.com>
+
+commit 82634ee8df7328b9235abd8352d33b0b3d953600
+Author: Ian Romanick <idr@freedesktop.org>
+Date: Mon Apr 6 12:44:18 2009 -0700
+
+ DRI2: Provide an interface for drivers to flush front-buffer rendering
+
+ Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
+ Reviewed-by: Kristian Høgsberg <krh@redhat.com>
+
+commit c09ef3e747fe1e6a7689ae6277365f749f4de19f
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Apr 9 22:10:45 2009 +0100
+
+ python: Fix bad pointer.
+
+commit 311f77198e171e9ce8ddcce91fd6a894fff1f14f
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Apr 9 15:00:54 2009 -0600
+
+ st: remove another unneeded 'is compressed' comparison
+
+commit 1f4a7f3a2eafd99906105ff74b26ea3ae0f19030
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Apr 9 14:58:40 2009 -0600
+
+ st: remove unneeded "is compressed" check
+
+ The format indicates compressed vs. uncompressed.
+
+commit e53d6ab39bf04b2bb39ad23d5990494321ee77ce
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Apr 9 14:57:41 2009 -0600
+
+ st: rearrange some code to be a little more clear
+
+commit 227aa0070d3b13baaa87270fd1a45fa5904ae3dc
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Apr 9 14:55:32 2009 -0600
+
+ gallium: remove unneeded compressed=0 assignment
+
+commit f97df61d26af658f9ffdabfc268ce31bbca6f17f
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Apr 9 14:55:19 2009 -0600
+
+ gallium: remove unneeded compressed=0 assignment
+
+commit f12201567463c7aeb9b76c32f000d577a82e7f92
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Apr 9 14:48:21 2009 -0600
+
+ st: remove comp_byte parameter to st_texture_create()
+
+ We can determine if the texture is compressed by checking the format.
+
+commit 1ad2484f03cbe9ae6bd4ebe50d6894e570d65952
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Apr 9 14:41:49 2009 -0600
+
+ st: consolidate format->usage computation
+
+commit eaca19edbbe7876079aa33d7f75d93601677081b
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Apr 9 14:35:36 2009 -0600
+
+ st: add const qualifiers, use GL types
+
+commit d11d903c1b81000d04f859dcc2da41dae024f146
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Apr 9 14:32:42 2009 -0600
+
+ st: make loops over 3D texture slices a litte more intuitive
+
+commit 5facd7986ace899673499f396897469720476799
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Apr 9 14:27:36 2009 -0600
+
+ st: reformatting and clean-ups in texture code
+
+commit 790a18f2c2a4df78cf4b4f88e55036d54324497a
+Author: Michal Krol <michal@vmware.com>
+Date: Thu Apr 9 22:47:06 2009 +0200
+
+ tgsi/sse2: Fix ARL instruction.
+
+commit c54b2199759e688ae89530f39106557c762b2fa4
+Author: Michal Krol <michal@vmware.com>
+Date: Thu Apr 9 22:38:07 2009 +0200
+
+ tgsi/sse2: Fix LIT instruction.
+
+commit 7cfd3b3bdfa4fb9a45d5fffab719c1d8a441d602
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Apr 9 21:28:31 2009 +0100
+
+ trace: Dump the fence, not its pointer.
+
+commit 16c9bb81fd9ab3052f8790e5999d519c0f9bffea
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Apr 9 21:27:43 2009 +0100
+
+ wgl: Remove unused member.
+
+commit 0da3a13d6a9314cc1e8616a13f28db0afc0735f6
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Apr 9 21:27:03 2009 +0100
+
+ trace: Use 'flags' name consistently.
+
+commit 7ea265888f19bcbc1771f6c671ce08855b80bf0a
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Apr 9 21:26:15 2009 +0100
+
+ gallium: Use "flags" consistently.
+
+commit 69edb8a156cb83e6658dfbe50f56ce4394a79e14
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Thu Apr 9 16:05:50 2009 -0400
+
+ R600/r700: add new cmdbuf macros
+
+commit fa2b9e43067298bc67f7787b6ab886eb7992abaf
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Apr 9 20:42:09 2009 +0100
+
+ gdi: Use stw_* names.
+
+commit 81660a44dc25648659ac590a37854103c36f9ce4
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Apr 9 20:41:59 2009 +0100
+
+ wgl: Use more stw_* names.
+
+commit 4bbb5eb96ad9f2e5b6e064854eeb5f5cb1498f9d
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Apr 9 20:35:55 2009 +0100
+
+ wgl: Use hooks instead of subclassing the window.
+
+ Subclassing the window is invasive: we might call an old window proc even
+ after it was removed. Glut and another bug just in the wrong time was
+ provoking this. Hooks don't have this problem.
+
+commit deff09921563419a77bd1aad0054afa34214ed1a
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Apr 9 10:53:01 2009 -0600
+
+ mesa: fix potential recursive locking deadlock in _mesa_HashWalk()
+
+ If the walk callback called _mesa_HashRemove() we'd deadlock.
+
+commit 3163ea145309f1f8e103cc880ea40c61af5fb5cd
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Apr 9 10:33:08 2009 -0600
+
+ i965: free shader's constant buffer in brwDeleteProgram()
+
+ Fixes mem leak observed with texcombine test.
+
+commit e24e4ae2e8f69447c0917655d25fa96b62b94298
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Thu Apr 9 10:55:41 2009 -0400
+
+ R6xx/R7xx: r300 -> r600 symbols
+
+commit 564ba2538691bd15df21da9fc378f0070235e286
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Apr 9 15:15:12 2009 +0100
+
+ wgl: Catch the attempt of releasing a context which is not current.
+
+commit 858d3da441d3548eae23c91b3bc888c3b0233797
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Apr 9 14:58:17 2009 +0100
+
+ wgl: Move the framebuffer list to the device. Avoid recursive locking.
+
+commit 8ef412900363aa6338351001574867866ebcae89
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Apr 9 11:44:33 2009 +0100
+
+ wgl: More symbol naming normalization.
+
+commit d8ffccc80b5835ff458facbe84d0dd9cda754a30
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Apr 9 11:28:23 2009 +0100
+
+ stw: Use wglext.h's defines and prototypes.
+
+commit 19068d93c8f0f1d2b8809248266bf6da3dc6abd7
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Apr 9 11:09:42 2009 +0100
+
+ stw: Normalize symbols prefix.
+
+commit 7e563200b88edd50e0bbd00ada27f3988146ee9c
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Apr 9 10:54:00 2009 +0100
+
+ wgl: Add const qualifier to global constant data.
+
+commit 8131123effd2124b8ca2aad04bf543e2fe82c7b0
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 8 19:35:24 2009 -0600
+
+ i965: set BRW_MASK_DISABLE flag in "send" instruction in brw_dp_READ_4()
+
+ This fixes the random results that were seen when fetching a constant
+ inside an IF/ELSE clause. Disabling the execution mask ensures that all
+ the components of the register are written.
+
+commit 43fc20e4e1165e1ba864f5d25d75e4087a02315d
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 8 19:31:49 2009 -0600
+
+ i965: clean-ups, debug code in brw_wm_glsl.c
+
+commit 42cd3014f86e19e8156bea3439839dc0ed34aa83
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 8 19:29:37 2009 -0600
+
+ i965: init current_const[i].index = -1
+
+commit ed9ba19bbbcdbf864b39da21c314073c1b5462db
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 8 13:48:34 2009 -0600
+
+ i965: move the fetch_constants() call before setting conditional mod state
+
+ Before, the instruction's CondUpdate field was mistakenly effecting the
+ constant-fetch operation.
+
+ Fixes progs/glsl/bump.c demo. But there are some other issues related
+ to condition flags and IF/ELSE that need investigation...
+
+commit f4468384b6caf2aa5cfc7546c08f349af93d928e
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Apr 7 11:15:27 2009 -0600
+
+ mesa: minor datatype changes in optimization code
+
+commit 0da2781f2faff51afc888cb6c91c0ea5a895f9ca
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Thu Apr 9 11:36:28 2009 +1000
+
+ nv50: adapt for new clear interface
+
+ this is so much nicer :)
+
+commit 5e361c47abf2ee20140628d327eda9b39351d415
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Apr 9 10:51:10 2009 +1000
+
+ r300: fix color tiling
+
+commit 1ec0efa7d3a7fb0f3f81b83677c415cf835a7efc
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Wed Apr 8 00:47:16 2009 +0200
+
+ r300: reorder fog coordinate and WPOS fp attributes
+
+ HW TCL path currently assumed fog, WPOS order. The order was inverted for SW TCL path.
+
+ This hopefully fixes rest of fog and WPOS related bugs.
+ Additionally fix some indentation, don't route unnecessary components of fog coordinates for performance reasons and simplify vertex
+ attribute emitting for SW TCL path.
+
+commit 3b1d5440015c2bfa76d91bd8bb3954bde48f4815
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Tue Apr 7 23:51:28 2009 +0200
+
+ r300: fix regression from swtcl rewrite
+
+ Fix wrong attribute emit and revert to previous behaviour of calculating VAP_OUT_VTX_FMT_1 register value.
+
+ We can't use r300VAPOutputCntl1 function because it assumes that all texture coords have 4 components and that is the case for HW TCL
+ path, but not for SW TCL.
+
+commit d1a9b1f513109c975a5a7ed5a2d0c329b280afe4
+Merge: 90ffce4 8648c26
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Apr 9 10:14:35 2009 +1000
+
+ Merge remote branch 'origin/master' into radeon-rewrite
+
+ Conflicts:
+ src/mesa/drivers/dri/r200/r200_tex.c
+ src/mesa/drivers/dri/r300/r300_cmdbuf.c
+ src/mesa/drivers/dri/r300/r300_context.h
+ src/mesa/drivers/dri/r300/r300_swtcl.c
+ src/mesa/drivers/dri/r300/r300_tex.c
+ src/mesa/drivers/dri/r300/r300_texmem.c
+ src/mesa/drivers/dri/r300/r300_texstate.c
+ src/mesa/drivers/dri/radeon/radeon_tex.c
+
+commit 8648c2685870174cf620ef15de70ef030a8d5a20
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Apr 8 14:54:17 2009 -0700
+
+ r300-gallium: Properly emit indexbufs.
+
+ This fixes hardlocks with anything using elts.
+
+commit b3639d43f2085c893bb6136c8febe5bc7944869e
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Apr 7 02:04:07 2009 -0700
+
+ r300-gallium: Add vertex shader constant emit.
+
+commit b3c1c5cf2c5848d794a5690c7296b9b927412353
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Thu Apr 9 00:12:17 2009 +0200
+
+ mesa: Report name for missing s3tc functions
+
+commit 55ed2a73653fb2fb9dee36c729c09177df2d5b4e
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Apr 8 23:29:18 2009 +0200
+
+ st: If the hw supports it do hw conversion of texture uploads
+
+commit 71504c770086797ef8cf0a57f89565ec3e574ee3
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Apr 8 21:13:57 2009 +0100
+
+ python/retrace: Try to cope with failures creating textures.
+
+commit c89eba0f31623084bc754de724384c80a3e57c91
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Apr 8 21:11:51 2009 +0100
+
+ python: Don't try to finish a null fence.
+
+commit 4342d6a91f754c9d3e7087ed91b7acf89abbb293
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Apr 8 21:11:24 2009 +0100
+
+ python/retrace: Use colors on windows console.
+
+commit 4138bdb3b1e845d8a6172015025e1231fda7dcd1
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Apr 8 15:16:35 2009 -0400
+
+ R600: initial copy of r300 code
+
+commit 23ad86cfb91c294ce85a3116d4b825aaa3988a6e
+Author: Robert Ellison <papillo@vmware.com>
+Date: Wed Apr 8 10:58:33 2009 -0600
+
+ Mesa: allow suppression of debug messages in a debug build
+
+ For testing, it's very useful to be able to test on a debug build,
+ while suppressing the debug messages (messages that are by default
+ suppressed in a release build), in order to see the same behavior
+ that users of release builds will see.
+
+ For example, the "piglit" test suite will flag an error on
+ programs that produce unexpected output, which means that a
+ debug build will always fail due to the extra debug messages.
+
+ This change introduces a new value to the MESA_DEBUG
+ environment variable. In a debug build, explicitly setting MESA_DEBUG
+ to "0" will suppress all debug messages (both from _mesa_debug() and
+ from _mesa_warning()). (The former behavior was that debug
+ messages were never suppressed in debug builds.)
+
+ Behavior of non-debug builds has not changed. In such a build,
+ _mesa_debug() messages are always suppressed, and _mesa_warning()
+ messages will be suppressed unless MESA_DEBUG is set *to any value*.
+
+commit a97c846d613c3d7ec962ee095fd8282fa3b84eea
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Wed Apr 8 16:39:17 2009 +0100
+
+ gallium: when using gl_PointCoord ensure we use the correct attribute.
+
+commit 84e784665aa5b64c11538e90f0ff1482899a1965
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Apr 8 16:25:29 2009 +0100
+
+ python/retrace: Allow to specify the range of calls of interest.
+
+commit e0e5d5014e84c10d3270afc9700a69c867ed282d
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Apr 8 16:24:31 2009 +0100
+
+ trace: Make calls dumping threadsafe.
+
+commit d2cdf6253cf06fbed6a5ca7ae17ddadf644afe26
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Apr 8 15:41:08 2009 +0100
+
+ trace: Make call no global.
+
+commit c14562d3b1e5d93d5704f3195a7f83fc5c17eddb
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Apr 8 15:36:17 2009 +0100
+
+ python/retrace: Handle recent traces.
+
+ Try to keep backwards compatability with old traces as much as possible.
+
+commit aaea658dbe6f0738aaa207d080e1ea73b8023029
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Apr 8 15:32:08 2009 +0100
+
+ python: Fix method renaming.
+
+commit 724929db3ca39ac63ca6f020b3f1faa31948f46b
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Apr 8 15:30:53 2009 +0100
+
+ python: Cope with null surfaces.
+
+commit 923b4413a63530be37cd44eed29910db21b39ac6
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Apr 8 15:30:31 2009 +0100
+
+ wgl: Integrate the trace driver on debug builds.
+
+commit 927eb8fe4cc8a5ed583aad1dafa98d091d7602f4
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Apr 8 15:29:50 2009 +0100
+
+ trace: Simplify cast wrappers.
+
+commit 7000b9d74a4b9690c236ee40ddbeba1f24df1ab4
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Apr 8 15:23:48 2009 +0100
+
+ trace: Match pipe_context::clear prototype.
+
+commit a3277c542b40169684778122a8b6e1cdfb1f9f92
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 8 08:23:01 2009 -0600
+
+ gallium: handle the case of util_pack_z_stencil(format=PIPE_FORMAT_S8_UNORM)
+
+ Fixes failed assertion in glean fbo test.
+
+commit 9f784647ad60bb591a1dffa0baca27bf55480b3f
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Apr 7 18:26:45 2009 -0600
+
+ docs: bump Gallium version number
+
+commit f6b71d02c742063cff9ec6d636e326fd1493571a
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Apr 7 18:26:08 2009 -0600
+
+ docs: updated Cell driver info
+
+commit ce01de507563685d4cac4ec45b74e6214887ffc3
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Apr 7 18:23:21 2009 -0600
+
+ docs: more info for 7.4 release notes
+
+commit 629700ed7eaaf63d2037a11b2931c91fdc22944a
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Apr 8 11:32:43 2009 +0100
+
+ mesa: Don't attempt to free the dummy program.
+
+commit 105758105a790dd8466c6be8c232c3f215ca4dee
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Apr 7 17:56:40 2009 -0600
+
+ st: implement glCopyTexImage() for GL_DEPTH24_STENCIL8 internal format
+
+commit b7615e5240707b022b81478dde545cec7fb9397f
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Apr 7 17:32:29 2009 -0600
+
+ st: implement GL_DEPTH_STENCIL format for glReadPixels and DrawPixels()
+
+commit fbcd78b5d1b649640454e0ed7ac8af340457f86b
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Apr 7 17:31:49 2009 -0600
+
+ softpipe: minor debug-help changes in softpipe_transfer_map()
+
+commit ac1ff1b9fe19077e53ff4cd14a1b083232c8bf72
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Apr 7 17:31:14 2009 -0600
+
+ mesa: add another special/optimized case in _mesa_unpack_depth_span()
+
+commit 228f20e324249ef25beed725a6a821e0bd0cc232
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Apr 7 13:28:10 2009 -0600
+
+ swrast: fix point rendering function selection
+
+ Need to clamp default point size to min/max range before checking if it's one.
+ Fixes glean pointAtten test.
+
+commit d03053688f7370064ded6dfc4912841eae39a4a9
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Apr 7 13:17:42 2009 -0600
+
+ mesa: fix incorrect component ordering for sRGB8 texture fetch/store
+
+ This format is layered on MESA_FORMAT_RGB888 so the component order is
+ actually BGR.
+ Fixes glean pixelFormat failures.
+
+commit 0f0e24f6ef9c3ea44eba21ed3678361dc6c2ae6f
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Apr 7 11:10:27 2009 -0600
+
+ glsl: enable the new linear scan register allocator code
+
+ Seems to b working well enough to enable all the time.
+ Optimizations can be disabled with "export MESA_GLSL=nopt" if needed.
+
+commit 439909a87d50723c2dba0ee1539467f1f4bf8bf0
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Apr 7 11:09:53 2009 -0600
+
+ docs: document the MESA_GLSL env var, other misc GLSL updates
+
+commit 4069447f73b3ee011a4beccc6ffa80cce84fd285
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Apr 7 11:01:15 2009 -0600
+
+ glsl: don't optimize program if MESA_GLSL=nopt
+
+commit 90ffce497395d8c02fee2ea4ee4c025eede3d876
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue Apr 7 12:37:10 2009 -0400
+
+ radeon: fix compiler warning
+
+commit 3e79d650835b3431464de876699d04702df99806
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Apr 7 07:04:14 2009 -0600
+
+ swrast: restore !shader check around add_specular()
+
+ Fixes a regression from commit 76ac75af8e5481b498981c133836efa2101be2dc.
+
+commit e2ce1d80d10d700cf15b84d0ec1605875226629e
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Tue Apr 7 21:08:40 2009 +1000
+
+ r300: swtcl rewrite and cleanup
+
+ - remove unused variables
+ - silence compiler warnings
+ - fix twosided lighting
+ - fix point attenuation
+ - unify indentation
+
+commit 799f43f2e01be8b3143c44fbd45485220174febd
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Apr 6 23:36:34 2009 -0700
+
+ r300-gallium: vs: Add MAD.
+
+commit 00bb3deed24bd721686d6db45506fffb2a442dc9
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Apr 6 23:26:38 2009 -0700
+
+ r300-gallium: vs: Add MUL.
+
+commit 6a1be41af93ef0ad835c75b993603c54917f934d
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Apr 6 23:25:27 2009 -0700
+
+ r300-gallium: Fix surface_copy too.
+
+commit ffbf3f4952fa9e7c2971a73d9540ed977fdc6c9a
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Apr 6 23:17:33 2009 -0700
+
+ r300-gallium: Properly setup HW/SW TCL controls.
+
+ This keeps non-TCL chipsets from locking up, and also fully unbreaks
+ RADEON_NO_TCL rendering.
+
+commit 86556f8bdab2c59a33619ecfda011bce8f047acb
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Apr 7 15:05:53 2009 +1000
+
+ radeon/r200/r300: fix missing dma buffer validation
+
+ this make gnome shell run
+
+commit 23478f1c037c3c97ebf3a5f53f2dfbfa31a9b197
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Apr 6 20:37:11 2009 +1000
+
+ radeon: fix bocs wrapper
+
+commit 3630da9916a4f24a03d3a63420690f8016a9b72a
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Apr 6 21:37:20 2009 -0600
+
+ swrast: more texcombine clean-ups
+
+commit 1b2ab023673261b4b942e1126c0b599d02fbd4a0
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Apr 6 20:08:43 2009 -0600
+
+ swrast: asst. clean-ups in texcombine code
+
+commit 76ac75af8e5481b498981c133836efa2101be2dc
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Apr 6 17:17:52 2009 -0600
+
+ swrast: fix secondary color add for glBitmap
+
+ Also, clean up the logic involved in choosing per-vertex vs. per-fragment
+ primary+secondary color addition.
+
+commit b4c0e1f9e16ba61acd781ed6cbe448460e2b3153
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Apr 6 23:09:02 2009 +0100
+
+ stw: Choose a color buffer format that matches the visual.
+
+ The massive ifs are ugly, but it's not worth to automate this for just a
+ handful of formats.
+
+ Fixes conform bcolor.c.
+
+commit f4d744af24e07103f0f297b485f3dbca1fb7bc3b
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Apr 6 15:31:58 2009 -0600
+
+ softpipe: clean up the buffer clear and tile cache code a little
+
+commit 87c356a222bb97ecf9b04e8d509b103199159b11
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Apr 6 14:38:09 2009 -0600
+
+ swrast: fix incorrect arithmetic for GL_ADD_SIGNED/GL_COMBINE4_NV mode
+
+commit 89276e2aafd837dbf4eefaa28388109271d6d07d
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Apr 6 14:06:08 2009 -0600
+
+ st: as with swrast, interpret texture border color according to texture format
+
+ Depending on the hardware driver this might not be needed, but it will
+ cause no harm.
+
+commit a07e68df6826d979d6a9575d17599f14afd51fe9
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Apr 6 14:00:03 2009 -0600
+
+ st: rename a helper function
+
+commit b48eb05f1f547e2b03a22056f3e82ee7b9065337
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Apr 6 13:51:14 2009 -0600
+
+ swrast: fix texture border color interpretation
+
+ The texture border color must be interpreted according to the texture's
+ base format. For example, for a GL_ALPHA texture, sampling the border
+ color should return (0,0,0,borderAlpha). This wasn't an issue here until
+ I removed the legacy texenv code (we always use the combiner path now).
+
+commit 8332925c3caadd293d0c091ef84f7268c673013c
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Apr 6 20:36:54 2009 +0100
+
+ mesa: Fix orientation adjustment for reading stencil pixels.
+
+ Fixes conform spcorner.c & spclear.c failure.
+
+commit 6b187cc8a5041fe2bba1ecc34aa86516ebe8b1b0
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Apr 6 09:54:29 2009 -0700
+
+ intel: Avoid dri2 GetBuffers round-trips for internal Viewport calls.
+
+ This gets us the savings for driver-internal viewport calls that
+ dd1c68f15123a889a3ce9d2afe724e272d163e32 was attempting, without relying
+ on Xlib internals or clients handling X events.
+
+commit e7aef006e50d0b859c621267af8376f5a0f43445
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Apr 6 09:38:16 2009 -0700
+
+ i965: Use GTT maps when available to upload vertex arrays and system VBOs.
+
+ This speeds up OA on my GM45 by 21% (more than the original CPU cost of
+ the upload path). We might still be able to squeeze a few more percent out
+ by avoiding repeatedly mapping/unmapping buffers as we upload elements into
+ them.
+
+commit 5cca1ceb814ea9c5991d8b694d99a588c40b9860
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Apr 6 09:29:14 2009 -0700
+
+ intel: Clean up some a leftover from sedding of bufmgr context->screen move.
+
+commit 2d56d0839e6db0861131893d67fe23734800085a
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Apr 6 15:51:27 2009 +0100
+
+ r300-gallium: Skeleton for integrating into the python statetracker.
+
+commit 741aaaa2881e5ab60cfa55f081f7b9ca6f4de46b
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Fri Apr 3 15:15:22 2009 +0200
+
+ radeon: add support for new ttm
+
+commit e798bf8053612516420a4ec42e2ff58433abd521
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Mon Apr 6 08:59:57 2009 +0200
+
+ radeon: Expose a 32 bit RGBA fbconfig even when the screen depth is 16.
+
+ Otherwise current xserver / libGL no longer expose a 32 bit RGBA GLX visual,
+ and compiz fails.
+
+ Fixes http://bugs.freedesktop.org/show_bug.cgi?id=20479 .
+
+commit 36ae0766b90a1545ea3d9381974602d8e6fe8642
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun Apr 5 02:05:08 2009 -0700
+
+ r300-gallium: vp: Moar.
+
+commit 84d76607ec0e43edd7dd28d1d5b6a538fd087434
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun Apr 5 01:32:55 2009 -0700
+
+ r300-gallium: vs: Use a tab to properly set up OVM.
+
+commit 50ee103cf02b66d68a2728840c9c2f990773576b
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun Apr 5 01:32:00 2009 -0700
+
+ r300-gallium: Re-translate shaders if constants change.
+
+commit ce7963f338ab95b06619074bc6aaf99c96ff5f11
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun Apr 5 01:00:25 2009 -0700
+
+ r300-gallium: Properly interface with Draw for vert shaders.
+
+commit 484795ff14faa794b7a150f29554a73e0113f67d
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun Apr 5 00:15:19 2009 -0700
+
+ r300-gallium: Update state handlers/setters for vertex shaders.
+
+commit 316b244ff1b18b3916ebd31078ba4c920e9585c1
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Apr 4 23:44:37 2009 -0700
+
+ r300-gallium: vs: Moar vert shaders.
+
+commit 7cd535b47805cc086783cc4aa857292b5986672e
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Apr 4 22:57:45 2009 -0700
+
+ r300-gallium: vs: Expand instruction emission.
+
+commit a4a853e593c257d3b25f8229706d11b92e1ec8c8
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Apr 4 22:30:14 2009 -0700
+
+ r300-gallium: Update clear() code.
+
+ We have a huge optimization opportunity, but for now we'll just use the util.
+
+commit 7a164411ab678622d6f3194cf708b2884bfde90e
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Apr 4 13:45:14 2009 -0600
+
+ cell: update clear() code to catch up to gallium changes
+
+commit 1bf6af141f0d50f5efb1c4e03819b875fab57905
+Author: Michal Krol <michal@vmware.com>
+Date: Sat Apr 4 21:16:37 2009 +0200
+
+ python/regress: Clean up driver clear() interface.
+
+commit eb168e26aa63f11a47d70c4555cae30691a2cd57
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Sat Apr 4 19:01:51 2009 +0200
+
+ gallium: Clean up driver clear() interface.
+
+ Only allows clearing currently bound buffers, but colour and depth/stencil in
+ a single call.
+
+commit ba14b043bc1ab87e8e5e46e6e909a8def9535028
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Sat Apr 4 16:04:59 2009 +0200
+
+ gallium: Add utility helper for packing combined depth/stencil values.
+
+commit b0ce91518646b62169594da661dd92ac899cbd6f
+Author: Michal Krol <michal@vmware.com>
+Date: Sat Apr 4 13:42:31 2009 +0200
+
+ python/regress: Remove trailing whitespace.
+
+commit 4661817dacec5ef77d013828423c7ebeacf807c5
+Author: Michal Krol <michal@vmware.com>
+Date: Sat Apr 4 13:34:27 2009 +0200
+
+ python/regress: Initial fragment shader test suite.
+
+commit 2d8bf51ffc2dfdd3a1c44f550385250c3398e1d0
+Author: Michal Krol <michal@vmware.com>
+Date: Sat Apr 4 11:52:19 2009 +0200
+
+ python/regress: Use X8R8G8B8 rendertarget in vertex shader test.
+
+commit 024817649f61d303f799c7b0449e71b84a52b6de
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Apr 4 02:43:09 2009 -0700
+
+ radeon: A bit of indent and line break cleanup.
+
+commit 48688e5e8f9501cad3d2862f8e057166992fddc0
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Apr 4 02:38:13 2009 -0700
+
+ r300-gallium: Calculate vert shader inputs for HW TCL.
+
+ This is definitely not perfect.
+
+commit 21f1cdbe075ee6c24ebd6db2902f19a9d33beb22
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Apr 4 02:20:29 2009 -0700
+
+ radeon: If the CS emit fails, dump it to stderr.
+
+commit 23639ddbaea67185c87c9e2332f10ba95723b2cb
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Apr 4 02:19:48 2009 -0700
+
+ r300-gallium: Fix bad register write.
+
+commit 5c50218d009a4c8276aa561bd1483742cf6aa20e
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Apr 4 02:05:45 2009 -0700
+
+ r300-gallium: Move swtcl_emit to render to reflect its true purpose.
+
+commit b7ffe1e8763efdf042e2d5eb33ce4f3d5d365121
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Apr 4 00:34:10 2009 -0700
+
+ Add scons build support for radeon/r300.
+
+commit d6fd672bf9a9b7b24147341338055da3b9f81f89
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Apr 4 00:33:23 2009 -0700
+
+ radeon: Fix compile warnings, compile errors.
+
+commit be1dbba0a4d0d75468461aff8c281a512a537ecc
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Apr 4 00:31:49 2009 -0700
+
+ r300-gallium: Clean up compile warnings and strict compile errors.
+
+commit a7dc04fa73f9879d94ab4abf8fcd6f38ee2e9531
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Apr 4 00:29:56 2009 -0700
+
+ r300-gallium: r500 surface_copy fragment shader.
+
+commit 4d363cc16d94b1e356b7cc23bb3b15ca0374d1e3
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Apr 3 17:43:03 2009 -0600
+
+ intel: #include texgetimage.h
+
+commit a4bec69e7271eda0137874973aa8c7d44175fedf
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Apr 3 17:42:22 2009 -0600
+
+ mesa: move glGetTexImage(), glGetCompresssedTexImage() code into new file
+
+commit c7eb423c49ef3e0e071deaab04dad55254f2fa30
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Apr 3 17:28:35 2009 -0600
+
+ mesa: remove the noClamp parameter to _mesa_pack_rgba_span_float()
+
+ It was only set to GL_TRUE in one place where it isn't really needed
+ (glGetTexImage(sRGB format)).
+
+commit 35d88e1ac2cd34d5cc62f521654d79f5b24fcdf8
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Apr 3 17:10:31 2009 -0600
+
+ mesa: clamp colors to [0,1] for glGetTexImage() when format is GL_LUMINANCE
+
+ For luminance, we add R+G+B and it seems we should always clamp in case.
+
+commit b7cb6650c1603cd9e6f26b32f5e0fae8377d59b8
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Apr 3 16:51:04 2009 -0600
+
+ mesa: whitespace and comment clean-up
+
+commit a5ce781282b674002379d699a7f2e1ebf3a46df1
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Apr 3 16:37:36 2009 -0600
+
+ mesa: remove extra semicolons
+
+commit 5d3b1494b699184ba9363ee199490104048e9a2c
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Apr 3 15:43:13 2009 -0600
+
+ softpipe: add additional surface formats in tile cache code
+
+commit 80197a0c1bec48e3731bca975ec451d96f35f62a
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Apr 3 15:42:14 2009 -0600
+
+ mesa: in mesa_add_named_constant(), avoid adding duplicate constants
+
+commit 866bdd0509f665446b0fa8c29aa61c25e4be4732
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Apr 3 15:41:10 2009 -0600
+
+ mesa: fix parameter counting in ARB vertex/fragment program parsing
+
+ Duplicated unnamed constants were getting counted more than once.
+
+commit a4173956ebcc224b5a0d76bace07b87bdf8bed03
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Apr 3 13:48:43 2009 -0600
+
+ mesa: replace >= with > when testing if we've exceeded max local params
+
+ Now a program that uses 256 locals works as it should.
+
+commit ce461ffc5aa2ea6941d6722e8ed473cda8c17833
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Apr 3 12:49:03 2009 -0600
+
+ mesa: only clear matrix MAT_DIRTY_INVERSE flag when we actually compute the inverse
+
+ If _math_matrix_analyse() got called before we allocated the inverse
+ matrix array we could lose the flag indicating that we needed to compute
+ the inverse. This could happen with certain vertex shader cases.
+
+commit b8a200ac9d11c09646de9b7d3f3f64a742c6abe3
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Apr 3 10:29:11 2009 -0600
+
+ mesa: for OPCODE_LIT, use _mesa_pow() instead of exp() and log()
+
+ Also, s/pow/_mesa_pow/
+
+commit a7b6a28b0c2bac9cbafb193923e3bc84855369d3
+Author: Michal Krol <michal@vmware.com>
+Date: Fri Apr 3 18:53:16 2009 +0200
+
+ python/regress: Use A8R8G8B8 rendertarget format.
+
+commit 7391ba1e9d81f15465059db25d1279eefdbeb1a9
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Apr 3 10:08:20 2009 -0600
+
+ mesa: rename some gl_light fields to be clearer
+
+ EyeDirection -> SpotDirection
+ _NormDirection -> _NormSpotDirection
+
+commit 650d147289014e8a98f65fbbcd1855b2a4f19d2f
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Apr 3 09:55:10 2009 -0600
+
+ mesa: don't normalize spot light direction until validation time
+
+ In glLight() we're only supposed to transform the direction by the modelview
+ matrix, not normalized it too.
+
+commit be4c2d9a335aa38418000dd55845cea39c84261f
+Author: Michal Krol <michal@vmware.com>
+Date: Fri Apr 3 17:55:21 2009 +0200
+
+ python/regress: vertex shader srcmod swz test does not use TEMP[0].
+
+commit e3d5e0aead06dc066f3df4bb5a0c8f30bef55248
+Author: Michal Krol <michal@vmware.com>
+Date: Fri Apr 3 17:25:29 2009 +0200
+
+ tgsi/exec: Actually enable switch-case for FLR.
+
+commit cbd305394a7a01e12f4a42b2551a154b4d544fe2
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Apr 3 09:08:00 2009 -0600
+
+ i965: remove unused var
+
+commit 29ae40f5dc8b4b880de1630ce71e3451a77c57f4
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Apr 3 09:06:24 2009 -0600
+
+ glx: remove unused local var in determineTextureFormat()
+
+commit 5c5d78e1918fedb6fd43f5fafdba2a142a09d56f
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Apr 3 09:00:06 2009 -0600
+
+ mesa: replace assertion with conditional in _mesa_opcode_string()
+
+commit 0139637975ec210b28b593722eda85c68c89c70d
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Apr 3 08:59:38 2009 -0600
+
+ i965: more const buffer debug code
+
+commit 21982a2cd597aeb22d7ee2bd3a5067c58f97ca6f
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Apr 2 14:33:45 2009 -0600
+
+ i965: added brw_same_reg()
+
+commit a330a6fcd0b018829194ffab260f50956bce4832
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Apr 2 11:45:17 2009 -0600
+
+ i965: s/GL_FALSE/BRW_COMPRESSION_NONE/
+
+commit 1e299ff828e808cbb1d92d9fedd528a3a8a3609e
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 1 13:36:48 2009 -0600
+
+ i965: another checkpoint commit of new constant buffer support
+
+ Everything is in place now for using a true constant buffer for GLSL fragment
+ shaders. Still some bugs to find though.
+
+commit 30adf0518168ded9c7f519a7c772cab728852b1f
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 1 12:57:06 2009 -0600
+
+ i965: fix response length param in brw_dp_READ_4()
+
+ We were accidentally clobbering the next register.
+
+commit 34239862430aa38b0b1b6740c47d66f7260ae3e4
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 1 12:25:34 2009 -0600
+
+ i965: change args to get_src_reg() to prep for new constant buffer support
+
+commit 597cd5b94e4818679af1134d053541f3d2cfb80e
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Mar 31 17:06:22 2009 -0600
+
+ i965: check-point commit of new constant buffer support
+
+ Currently, shader constants are stored in the GRF (loaded from the CURBE
+ prior to shader execution). This severly limits the number of constants
+ and temps that we can support.
+
+ This new code will support (practically) unlimited size constant buffers
+ and free up registers in the GRF. We allocate a new buffer object for the
+ constants and read them with "Read" messages/instructions. When only a
+ small number of constants are used, we can still use the old method.
+
+ The code works for fragment shaders only (and is actually disabled) for now.
+ Need to do the same thing for vertex shaders and need to add the necessary
+ code-gen to fetch the constants which are referenced by the shader
+ instructions.
+
+commit ba8b25a46cdd52e7b9116cc7d76dc4db4d667464
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Mar 31 16:57:39 2009 -0600
+
+ i965: remove unused code for sampling a constant buffer
+
+commit 8c093a1fb0843e152d2a515c5127ccd5999b0d94
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Mar 31 16:56:55 2009 -0600
+
+ i965: code to setup a constant buffer sampler
+
+ This code won't actually be used and will be removed in a subsequent commit.
+ Just committing for posterity.
+
+commit a9c62a2340794977a87cba4a352c02fc16f81505
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Mar 31 14:25:32 2009 -0600
+
+ i965: do negation and Abs in get_src_reg_imm()
+
+ Fixes regression seen with progs/glsl/bump.c
+
+commit 5f1ce6b87e837b9f6bc2a4f3e81cf8feea4af2df
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Mar 31 10:53:56 2009 -0600
+
+ i965: comments
+
+commit ed8f54aa65eed2cdef79ddc110dad217d3955ec7
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Mar 31 10:53:37 2009 -0600
+
+ i965: code to debug/dump instruction immediates
+
+commit 1ee0e226469514335b80ff42e4cbef0f355bd8c4
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Mar 31 10:53:02 2009 -0600
+
+ i965: minor code movement, new comment
+
+commit 8127e49b93820d1768e2d298bbe238dd55c20732
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Mar 31 10:50:55 2009 -0600
+
+ i965: added new brw_dp_READ_4() function
+
+ Used to read float[4] vectors from the constant buffer/surface.
+
+commit 6b18a8d3e7114a1af931a2fc20a1e23cb2d7789c
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Mar 31 10:49:41 2009 -0600
+
+ i965: new and updated comments
+
+commit 264058f38af00519e9f180f237a771566117cd8b
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Mar 27 14:49:01 2009 -0600
+
+ mesa: more error message info
+
+commit f5a4d20e4aafce04773729dc2dd6175e9538d887
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Mar 25 18:16:35 2009 -0600
+
+ mesa: clean up formatting and use 'return' instead of 'break' consistantly
+
+commit 1146d40b9c35d80c0860c773de1eef27c76e8c01
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Mar 24 18:05:53 2009 -0600
+
+ i965: comments for brw_SAMPLE()
+
+commit e1a1a5a6385e0bc6f2f20ec0a2e23f81726e232e
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Mar 24 18:05:29 2009 -0600
+
+ i965: comments for sampling code
+
+commit 154cd7a72363513f2d3d8d83fe19d69518df7d2e
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Mar 24 17:29:40 2009 -0600
+
+ i965: add support for float literal instruction operands
+
+ Call the get_src_reg_imm() function when it's permissible to generate a
+ literal value src register.
+
+commit 966cd4f1af54e560672e7d7614251271fbbb379b
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Mar 24 16:33:48 2009 -0600
+
+ i965: remove 'nr' param from get_src/dst_reg() functions
+
+ The value was always 1.
+
+commit f1b9a5cff15abf89c24a0c54481451cb8d23f454
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Mar 24 14:48:53 2009 -0600
+
+ i965: fix comment typo
+
+commit d5346a925c569d959eb9ebedda95fdddb9d5350c
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Mar 24 10:35:40 2009 -0600
+
+ i965: comments, clean-up in prepare_wm_surfaces()
+
+commit 5d7f3ae15c62d46e8857c159978c1c75e07cc59b
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Mar 24 09:54:48 2009 -0600
+
+ i965: remove unneeded #includes
+
+commit 7709b26e6b615f4e5ace765110eb53ce713b0d6c
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Mar 24 09:44:10 2009 -0600
+
+ i965: formatting clean-ups
+
+commit 499972102271a08ba41bc34f95e2013311ef8de5
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Mar 24 09:42:09 2009 -0600
+
+ i965: comments, whitespace changes
+
+commit c82851598f535f5c92885987cafbb5e79a2505db
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Mar 23 14:43:51 2009 -0600
+
+ i965: rename scratch_buffer -> scratch_bo to be consistant with other buffers
+
+commit bf28b576cb6aa403b840d8254a1ff3f31d664b46
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Mar 23 14:40:51 2009 -0600
+
+ i965: fix indentation
+
+commit 9f146943ec3893c9aed1754a59eec45f37ca65cd
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Mar 23 09:56:33 2009 -0600
+
+ i965: whitespace changes, comments
+
+commit dfab375c07545a9068a9b25efee746efd275bf89
+Author: Michal Krol <michal@vmware.com>
+Date: Fri Apr 3 17:06:36 2009 +0200
+
+ tgsi/text: Allow optional component selection for indirect registers.
+
+commit 3b7c9a9a1633fcd6930d7b8c7ed962add2be3dd8
+Author: Michal Krol <michal@vmware.com>
+Date: Fri Apr 3 16:37:34 2009 +0200
+
+ python/regress: vertex shader FRC test does not use IN[1].
+
+commit 37661516ea3862ac4c94d8bcf5064bbb95f31aea
+Author: Michal Krol <michal@vmware.com>
+Date: Fri Apr 3 16:36:20 2009 +0200
+
+ python/regress: Add relative addressing tests.
+
+commit d2ed91201e1abcc61e30b367c00c6e0f036d9214
+Author: Michal Krol <michal@vmware.com>
+Date: Fri Apr 3 14:58:39 2009 +0200
+
+ util/debug: Initialise local variables.
+
+commit cc770e0a0cbb2c0ff4327ffb0bf20f52ccc218cc
+Author: Michal Krol <michal@vmware.com>
+Date: Fri Apr 3 14:54:20 2009 +0200
+
+ tgsi/text: Allow `-|src|` variant of `-(|src|)`.
+
+commit f7039fde4f9e1175c3dae534e5b91e22e693124a
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Fri Apr 3 12:49:05 2009 +0100
+
+ mesa: ensure pbo stencil buffers are mapped before use
+
+commit 016052c18ff6f7ea7f4cf0e7e93c796688f772ed
+Author: Michal Krol <michal@vmware.com>
+Date: Fri Apr 3 08:26:53 2009 +0200
+
+ python/regress: Add vertex shader source modifier tests.
+
+commit 030533dd10b3b30ed5b132fe59f89040ce56e3a0
+Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Wed Apr 1 08:37:36 2009 +1000
+
+ nv50: fix viewport state update
+
+commit ebc1478e501d43e0de54e7b6c3edfbc81d7d20c6
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Thu Apr 2 23:38:34 2009 +0200
+
+ mesa: fix TexParameter functions
+
+ premature return in TexParameterf caused mesa to never call Driver.TexParameter
+ breaking drivers relying on this (fix bug #20966).
+ While here, also fix using ctx->ErrorValue when deciding to call
+ Driver.TexParameter. Errors are sticky and uncleared errors thus would cause
+ this to no longer get called. Since we thus need return value of
+ set_tex_parameter[if] can also optimize this to only call when value changed.
+
+commit 7b9bf395433b5fa9d5a95186891a29d49e0b47c0
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Apr 2 13:05:55 2009 -0600
+
+ mesa: don't call ctx->Driver.ReadPixels() if width or height is zero
+
+commit f6a3f1f52a969c8d990a3a41e816af4864eea45c
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Apr 2 13:05:22 2009 -0600
+
+ mesa: don't call ctx->Driver.Draw/CopyPixels() if width or height is zero
+
+commit 46d09cb53dd3de7986e3b4d221d7e3af94752c70
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Apr 2 11:15:53 2009 -0600
+
+ glsl: fix segfault in linker when vertex or fragment shader was missing
+
+commit 29a1ed599b0cde4b9cf4d83ffe559854ea91b304
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Thu Apr 2 16:59:29 2009 +0200
+
+ progs: Ignores
+
+commit 39c2fae657b35be043a002a87da574928e06fac1
+Author: Michal Krol <michal@vmware.com>
+Date: Thu Apr 2 12:19:44 2009 +0200
+
+ python/regress: Do not generate HTML summary for vertex shader test.
+
+commit 96fd3df59a161957876bfd7a49992e5a2130370c
+Author: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+Date: Thu Apr 2 11:00:41 2009 +0200
+
+ glx: MakeCurrent fixes.
+
+ 1) If MakeContextCurrent is called with (NULL, None, None), Don't
+ send the request to the X server if the current context is direct.
+ 2) Return BadMatch in some error cases according to the glx spec.
+ 3) If MakeContextCurrent is called for a context which is current in
+ another thread, return BadAccess according to the glx spec.
+
+ Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+
+commit 8e753d04045a82062ac34d3b2622eb9dba8af374
+Author: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+Date: Thu Apr 2 10:36:40 2009 +0200
+
+ dri glx: Fix dri_util::driBindContext
+
+ 1) Don't error-check here. It's done in glx makeCurrent.
+ 2) Allow ctx and the dri drawables to be NULL for future use. This is
+ currently blocked in glx makeCurrent.
+ 3) Avoid updating dri drawables unless they are completely uninitialized.
+ Since the updating was done outside of the lock, the driver need to
+ verify and redo it anyway.
+
+ Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+
+commit c952b3e907ab31cd5f95157c18ce2f81626aafe4
+Author: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+Date: Thu Apr 2 10:30:30 2009 +0200
+
+ dri glx: Propagate driver MakeCurrent errors.
+
+ Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+
+commit 05304d41f2d9ab7a66a8b976580c156b7b93a9d3
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Apr 2 18:58:49 2009 +1000
+
+ radeon/r200/r300: fix up the whole buffer space checking.
+
+ This fixes up the buffer validation scheme, so that we keep a list
+ of buffers to validate so cmdbuf flushes during a pipeline get
+ all the buffers revalidated on the next emit.
+
+ This also fixes radeonFlush to not flush unless we have something
+ useful to send to the GPU, like a DMA buffer or something not state
+
+commit fbabeb9b56d2e4691ae39339a805d24e860603bb
+Author: Michal Krol <michal@vmware.com>
+Date: Thu Apr 2 09:59:04 2009 +0200
+
+ python/regress: Do not create zbuf for vertex shader test.
+
+commit 336a4f84e87908692a8c9424f6f5d27dca30ea95
+Author: Michal Krol <michal@vmware.com>
+Date: Thu Apr 2 09:39:40 2009 +0200
+
+ python/regress: Add more vertex shader test cases.
+
+commit 41702160090a4c1325afc07c56682f3e1c4fcaf0
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Apr 2 14:47:51 2009 +1000
+
+ radeon/common: use glCtx not ctx
+
+commit e00ef43d796f0ae0247b1072bf0aa8cdd8e3034d
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Apr 2 14:25:07 2009 +1000
+
+ radeon/r200/r300: collapse context destruction down to a common path.
+
+ Context destruction was nearly the same over all the drivers,
+ so collapse it down.
+
+commit 104d5422052d0c03b121d196f7c0a8ef0af4ecab
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Apr 2 13:35:09 2009 +1000
+
+ radeon: tiling support
+
+commit bd32640f77c72e79fb5dda0e5fd077e564b33b02
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Mar 12 21:22:45 2009 -0600
+
+ swrast: remove unused integer lerp functions
+
+commit 7fbae9f41d79fc410f6c6638e26be0ff2be545bd
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Mar 11 19:09:19 2009 -0600
+
+ mesa: get rid of gl_texture_object::_BorderChan
+
+commit 79c55e55f808d77cb0dff7cda826719d5fda3c7d
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Mar 11 19:03:30 2009 -0600
+
+ dri: use BorderColor instead of _BorderChan
+
+commit 7aed2b0c30c6d29d70efd2402a68a8e3de98418c
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Mar 10 20:14:32 2009 -0600
+
+ swrast: remove old texture_apply() code; always use texture combine code
+
+commit 84b24efe8dc1bd67680f4d3c656fb4693fd405c1
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Mar 10 19:29:45 2009 -0600
+
+ swrast: fix bad optimization check
+
+commit 0d8d90482331b219b861e500a0bc830133b1b377
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Mar 9 21:24:48 2009 -0600
+
+ swrast: remove unused parameter
+
+commit aef2e1c1dcda77b6dc5fcfd2de7c9d720effa4e7
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Mar 9 21:20:25 2009 -0600
+
+ swrast: minor improvements, clean-ups in texcombine code
+
+commit efe3d10aea305c89e66decfb5a9012feb7a4695c
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Mar 9 20:51:21 2009 -0600
+
+ mesa: simplify ycbcr->rgb conversion code
+
+commit 611128365dad65216a4d4be973393ba2c526bd18
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Mar 9 20:34:24 2009 -0600
+
+ mesa: convert more texture fetch functions to return GLfloat
+
+commit cb5bd7d4d49d84f694c9851c0a5a08f158bd3e43
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Mar 8 20:53:41 2009 -0600
+
+ mesa: switch texel fetch functions from GLchan to GLfloat
+
+commit 0695413d2be5999f7597ce07ba5a4c8fd6a6b333
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Mar 8 19:08:43 2009 -0600
+
+ swrast: use float4_array typedef to simplify the code a bit
+
+commit bd9b2be8284fda3f8aac235908ded118b5648a38
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Mar 8 17:58:54 2009 -0600
+
+ mesa: texture combine clean-ups
+
+ Use MAX_COMBINER_TERMS instead of 4.
+ Rename some vars.
+ Update comments.
+
+commit a35ad020f9449849f7616788aa6bd9e439d6c518
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Mar 8 14:39:09 2009 -0600
+
+ swrast: refactor depth/shadow sampling code
+
+commit 933f3b13c34c2ed9223755c0e7c7dc22f09d23e8
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Mar 8 14:38:37 2009 -0600
+
+ swrast: general clean-up of texture combine code
+
+commit de2afd8688ceb45013d15be7c6e0995199b80e5a
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Mar 8 13:49:57 2009 -0600
+
+ swrast: do texture sampling/combining in floating point
+
+ The code's cleaner and a step toward supporting float-valued texture sampling.
+ Some optimizations for common cases can be added and re-enabled...
+
+commit f8304bf1ed27dc87f52593a437785f2793344767
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 1 19:53:40 2009 -0600
+
+ demos: added progs/glsl/linktest.c to test linking of separate compilation units
+
+commit 49fb750a6884c3f647f46270ffce8652f664f908
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 1 19:50:28 2009 -0600
+
+ glsl: implement compiling/linking of separate compilation units
+
+ A shader program may consist of multiple shaders (source code units).
+ If we find there are unresolved functions after compiling the unit that
+ defines main(), we'll concatenate all the respective vertex or fragment
+ shaders then recompile.
+
+ This isn't foolproof but should work in most cases.
+
+commit 1ab225017ed1ea8bd9e266d10ee56ab914bb28c1
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 1 18:50:07 2009 -0600
+
+ mesa: use correct tex unit lod bias for TXB instruction
+
+commit 9cc79fc2dcdd8e21d9616cc65a931f1f5859fc30
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 1 18:44:15 2009 -0600
+
+ swrast: fix glDrawBuffer(GL_FRONT_AND_BACK)
+
+ We weren't putting the right colors into the back buffer in this mode.
+
+commit 617c5262c68b5fd4d26eff758b6447880478f83b
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Apr 2 11:30:03 2009 +1100
+
+ r300: fix qtdemo qt4 startup
+
+commit e4b27b4a69f28ca71944fef5f809023bed630a95
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 1 17:34:16 2009 -0600
+
+ mesa: fix a recursive display list problem
+
+ This fixes an issue when compiling glCallList() into another display list
+ when the mode is GL_COMPILE_AND_EXECUTE.
+
+ Before, the call to glCallList() called _mesa_save_CallList() which called
+ neutral_CallList() which then called _mesa_save_CallList() again. In the
+ end, the parent display list contained two calls to the child display list
+ instead of one.
+
+ Let's be on the lookout for regressions caused by this change for a while
+ before we cherry-pick this elsewhere.
+
+commit 935e6b19245542d177ab26ced416dd665a79048d
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Apr 1 15:52:32 2009 -0700
+
+ r300-gallium: Translate vertex shader magic numbers.
+
+commit 28fa809c9eb9168ab6b80fd66c7cf6ce2b9ccf98
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Apr 1 15:24:28 2009 -0700
+
+ r300-gallium: Fix compiler warnings.
+
+ "const" is the right keyword, but I can't do that without adding a bunch
+ of really annoying and ugly const casts everywhere, and frankly,
+ that's really stupid, so instead, just don't make them const.
+
+commit c4fb791909e687d5af5b95d88ebd6332c82c3095
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Apr 1 15:14:19 2009 -0700
+
+ r300-gallium: Add vertex shader for surface_copy.
+
+commit 8d72caea3f10a26e4b11a522f4f973ce61f95127
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Apr 1 22:05:07 2009 +0100
+
+ util: Fix x86_64 build.
+
+commit 346e12773219b8a514b6cab7a670777c0fb554b6
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Apr 1 21:00:59 2009 +0100
+
+ util: Lookup symbol names from addresses.
+
+ Nice for stack backtraces.
+
+ Windows-only for now.
+
+commit d11a476ead3e617e45b091f73bd1f67042643a0f
+Author: Michal Krol <michal@vmware.com>
+Date: Wed Apr 1 22:06:53 2009 +0200
+
+ tgsi: Fix structure members initialisation.
+
+commit 4900545bbaff238c75130cf14dd399505a1cde71
+Author: Michal Krol <michal@vmware.com>
+Date: Wed Apr 1 16:05:29 2009 +0200
+
+ python/regress: Add vertex shader LRP test.
+
+commit 16c281dfb537ccad02ab205298e94353c5bb1a2a
+Author: Michal Krol <michal@vmware.com>
+Date: Wed Apr 1 15:41:36 2009 +0200
+
+ python/regress: Add vertex shader FRC test.
+
+commit f8dd6594bf1d597b883af44e5d724a181c1e2b53
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 1 07:35:07 2009 -0600
+
+ glsl: fix texgen state variable tokens in emit_statevars()
+
+ This fixes broken variable indexing into the gl_Eye/ObjectPlaneS/T/R/Q arrays.
+ See bug 20986.
+
+commit 2555bed7fcc6f9ba35e9fb91e84a144621ccc995
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Apr 1 07:33:50 2009 -0600
+
+ mesa: minor tweaks in append_token() for printing state var strings
+
+commit daec1035a2d23ee4d3122f10fd6e676216527d53
+Author: Michal Krol <michal@vmware.com>
+Date: Wed Apr 1 11:49:55 2009 +0200
+
+ tgsi: Lookup alternate instruction mnemonics when parsing tgsi text.
+
+commit 1aa4b79dc772825cabfcc97de90b7247cc4b10a0
+Author: Michal Krol <michal@vmware.com>
+Date: Wed Apr 1 11:45:25 2009 +0200
+
+ tgsi: Provide alternate instruction mnemonics in tgsi info.
+
+commit 9d77663abb6ebb5eae66fac18088079e76f508d3
+Author: Michal Krol <michal@vmware.com>
+Date: Wed Apr 1 11:25:58 2009 +0200
+
+ tgsi/doc: Fix typo.
+
+commit 998234ced24e2a4b73b91fbbe25b00d29c6ccc66
+Author: Michal Krol <michal@vmware.com>
+Date: Wed Apr 1 11:25:02 2009 +0200
+
+ python/regress: Add vertex shader EX2 test.
+
+commit 449bab61b3209d15d71ba7d5cc266f76ee16df2b
+Author: Michal Krol <michal@vmware.com>
+Date: Wed Apr 1 11:09:37 2009 +0200
+
+ python/regress: Add vertex shader DST test.
+
+commit 65cbe7e69c30a4ac91cfbc27a964a19b59d3cedd
+Author: Michal Krol <michal@vmware.com>
+Date: Wed Apr 1 11:08:41 2009 +0200
+
+ python/regress: Fix vertex shader XPD test.
+
+commit dd6f1771c9e52f1c6126aa223555e363e522c088
+Author: Michal Krol <michal@vmware.com>
+Date: Wed Apr 1 10:58:46 2009 +0200
+
+ python/regress: Indent.
+
+commit 5d8677469b369d2b6a89519be7e379abdf4015d3
+Author: Michal Krol <michal@vmware.com>
+Date: Wed Apr 1 10:56:53 2009 +0200
+
+ python/regress: Add vertex shader test for XPD.
+
+commit 541d74423abf04c6cdcf545f853980b959a70ec8
+Author: Michal Krol <michal@vmware.com>
+Date: Wed Apr 1 10:23:09 2009 +0200
+
+ python/regress: Rename test files from *.txt to *.sh -- won't be .gitignored.
+
+commit e8b5d170abdab9d3d750081e0371db5c3ce51c56
+Author: Michal Krol <michal@vmware.com>
+Date: Wed Apr 1 10:18:50 2009 +0200
+
+ python/regress: Add more vertex shader tests.
+
+commit f9d272fa414ec04d9cc608840436f29e6adf84bc
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Apr 1 16:13:30 2009 +1000
+
+ radeon: go back and repick texture formats.
+
+ This might trip up some serious FBO users, will have to see, but
+ it avoids the slow paths for all the demos I have.
+
+commit 6e30fe4873f30ccf9edec9ab6113ea647dccb9b7
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Apr 1 15:41:58 2009 +1000
+
+ radeon: fixup render buffer cleanups
+
+ this fixes qtdemo-qt4 starting and a leak in glxgears exit
+
+commit 27d886ae33d287d91c92cc353f7b98f916b4d080
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Mar 31 20:24:50 2009 -0700
+
+ r300-gallium: Backwards test.
+
+ Wow, how long's that been there? Embarrassing.
+
+commit 7540c847f1f046967d31445d5c936bcfdc7ed863
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Mar 31 20:04:56 2009 -0700
+
+ r300-gallium: Moar vert shader emit.
+
+commit ddd0c94f0440cebc5e63afc1ae0300e0f51bc0a3
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Mar 31 18:58:03 2009 -0700
+
+ r300-gallium: Add vertex shader emit.
+
+commit 63529c731a090c5e41c1224ca79b544243a1e570
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Mar 30 23:54:53 2009 -0700
+
+ r300-gallium: Stubs for vertex shaders.
+
+commit a44f54912e4bc0f6be0b7303f8b7a1b934c5819a
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Mar 31 16:17:23 2009 -0600
+
+ tgsi: added some helpful debug functions in the tgsi interpreter
+
+ Check for NaN/Inf, print exec vectors, print temp registers.
+
+commit 919f57078b289a273e0e46ee2214a9f042b11b1f
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Mar 31 16:13:14 2009 -0600
+
+ mesa: fix bug in GPU codegen for fixed-function two-sided lighting
+
+ The 'dots' register wasn't getting properly un-negated and un-swizzled
+ after emitting the code for back-face lighting. So, if more than one
+ light source was enabled, the specular exponent for the next light source
+ was wrong.
+
+ During execution we were evaluating pow(x, y) where y was negative instead
+ of positive. This led to the outcome being zero or NaN.
+
+ This fixes the occasional black triangles seen in isosurf when hacked to
+ enable two-sided lighting.
+
+commit ef6f1027ff0b6027976a7467b8461ffdd53ce2a8
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Mar 31 16:12:17 2009 -0600
+
+ draw: added Nan/Inf assertion in debug code
+
+commit d0f28b6dd967cd74bafb37e1e203b5934981bed0
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Mar 31 16:07:38 2009 -0600
+
+ softpipe: use util_is_inf_or_nan()
+
+ And print/warn NaN/Inf in print_vertex().
+
+commit 3705d03b0fbe349dee0221d982965a0590bc7cb0
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Mar 31 16:06:19 2009 -0600
+
+ gallium: added util_is_inf_or_nan() function to u_math.h
+
+commit 53d507562b252718d95fd99812f5d21c9ae79713
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Mar 31 15:47:05 2009 -0600
+
+ mesa: minor reformatting, whitespace changes
+
+commit 3f3db46911d11189a2487db288420f4a6a3d0069
+Author: Michal Krol <michal@vmware.com>
+Date: Wed Apr 1 00:19:46 2009 +0200
+
+ python/regress: Initial commit for vertex shader regression tests.
+
+commit 093ad509fcee5cb3a890663fc80ed671dcaf4000
+Author: Jeremy Huddleston <jeremy@yuffie.local>
+Date: Tue Mar 31 15:08:49 2009 -0700
+
+ Updated CPU_TO_LE32 to work on darwin
+
+commit f25c6b164f324e2138784337870e8219008af754
+Author: Jeremy Huddleston <jeremy@yuffie.local>
+Date: Tue Mar 31 14:48:19 2009 -0700
+
+ Fix compiling indirect.c when GLX_DIRECT_RENDERING is not defined
+ (cherry picked from commit b65bc1b6cb72df950c2e26446936804dfcdc432c)
+
+commit 10b987ae7f5e145bdea4cf726a1e728254ed32ad
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Mar 31 19:16:17 2009 +0100
+
+ python/test: New test for surface copies.
+
+commit 89ecefb887a9e2fd49489904663873e416ec4a83
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Mar 31 18:39:18 2009 +0100
+
+ python/test: Ignore test output files.
+
+commit e2cdc997881bff382eada8c798560c8264219b0b
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Mar 31 18:39:06 2009 +0100
+
+ python/test: Cleanup.
+
+commit f784906eb96ccda2062b53867a5d4bc52653396d
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Mar 31 18:38:48 2009 +0100
+
+ python/test: Dump classification tree to text file too.
+
+commit fee78c0c1fcfc308c84ab8da1efcc98ed8afc889
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Mar 31 18:02:27 2009 +0100
+
+ python/test: Set executable permission bit.
+
+commit 4d9dd3ecef1501de31c82e8a08ce1df894b6c548
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Mar 31 18:01:32 2009 +0100
+
+ python/test: New test for rendering into textures.
+
+commit fcc2598fffe0f0e0412d2a30777f1b4a4ed22249
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Mar 31 18:00:46 2009 +0100
+
+ util: Enable assembly breakpointt on x86_64.
+
+ A breakpoint is much nicer than abort when gdb is attached.
+
+commit 71384f29f12ab599b4430802ec8e21056a4dd60f
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Mar 31 17:23:48 2009 +0100
+
+ python/test: Limit tree depth.
+
+commit 65554af5c3ea172891428382c13dc2318bf4b60d
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Mar 31 17:21:52 2009 +0100
+
+ python/test: Infer type (continuous/discrete) from object type.
+
+commit bdfc411b449b3eafec8fb803fba42fce58a49c32
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Mar 31 16:39:11 2009 +0100
+
+ python/test: Flush stdout to keep in sync with debug info on stderr.
+
+commit 10b808156bff157d401b5b999a215d16715a1018
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Mar 31 16:38:03 2009 +0100
+
+ python/test: Dump a classification tree of the results when finished testing.
+
+commit 6dd0a5f3d69bc84d4a57123dc890365f59b4a3aa
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Mar 31 11:02:15 2009 +0100
+
+ python/test: New test for texture transfers.
+
+commit 7d5d5a6cb7021b580cbdfd1e4b5f215fa13aa8c5
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Mar 31 11:00:18 2009 +0100
+
+ python/test: More descriptive test name.
+
+commit b4b4986f1f0be2f5d0f70fcca25f29c5637e4d92
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Mar 31 10:58:18 2009 +0100
+
+ python: Make get/put_tile_raw more user friendlier.
+
+commit e848a86dbacbec0bed16fac29264c77f4c2eeb0c
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Mar 31 10:57:44 2009 +0100
+
+ python: Add nblocksx/y members to surfaces.
+
+commit 382306c5732dd04f514bb1d8f2b050bd6d58a893
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Mar 31 09:46:55 2009 +0100
+
+ gallium: Move pf_is_depth_stencil to p_format.h.
+
+commit d81a48757a9bde35299fd7c3cfbe83885238409a
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Mar 31 15:50:19 2009 +1000
+
+ radeon/dri2: if the depth buffer is 16-bit force cpp == 2
+
+ This is because the DDX always allocates using the drawable sizes.
+ which gives me twice the depth buffer I asked for, dumb.
+
+commit 2f3be8ab14d6f4a3cc44817f6f55bc640faadde0
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Mar 31 14:43:14 2009 +1000
+
+ radeon: fix pixel readback for RGB8 tests
+
+commit 5ad32cfd21bc9c798d05f5202cc75d37cc258354
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Mar 31 13:38:39 2009 +1000
+
+ r200: fix glean pixelFormats regression
+
+commit 5c7fc1cb8e59d1603df17db8c7c63a92441ac820
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Mar 31 20:10:48 2009 +1000
+
+ r300: fix stencil clears
+
+commit 4d89eff0b6fd6902a2fccb87c474d6a8f6d61526
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Tue Mar 31 03:18:35 2009 +0200
+
+ fix ugly copy/paste error in mipmap generation code
+
+commit 226c876a52c1bd51d5f16ff58df5c4144355e2a3
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Mar 31 10:46:27 2009 +1000
+
+ r200: only set all dirty on kernel clears
+
+commit e1d16574932be24da573a93e3302418dc6e855f1
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Mar 31 10:36:06 2009 +1000
+
+ radeon/r200: fix glean failures on readPixSanity since EXT_DEPTH_STENCIL support
+
+commit 1570bde279362d95a58d120e42e68cb307d00dde
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Mar 31 10:35:16 2009 +1000
+
+ r200: fix veclinear emission
+
+commit 3eeeaf04e31b8aed831f29d8a192f3f9a0a8ef03
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Mar 30 17:31:58 2009 -0700
+
+ r300-gallium: RGBA, not ARGB, after all.
+
+ Clearly, something else is wrong.
+
+commit aafbbf77441dedf6015a4ab61cc7a82ef592415f
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Mar 30 17:20:12 2009 -0700
+
+ r300-gallium: r500-fs: If recompiling a shader, overwrite old insts.
+
+commit 70de577b14e9b0efab7a749203d50dc19540472d
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Mar 30 16:58:20 2009 -0700
+
+ r300-gallium: Properly redo shaders when constant buffer changes size.
+
+commit 70d39c70536079eb51298086c559e4b40e6ffc03
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Mar 30 16:51:01 2009 -0700
+
+ r300-gallium: Allow surface_fill to clear depth/stencil buffers too.
+
+commit 4bfe784dcadf5bcb65dbd8b9c3d4db757d1824b8
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Mar 30 16:15:04 2009 -0700
+
+ r300-gallium: Emit the "right" sequence of colors.
+
+ ARGB, not RGBA.
+
+commit a56020fe17b3d26ea0ea933dd4e8286e5029996f
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Mar 30 15:50:09 2009 -0700
+
+ r300-gallium: Fix hardlock when no colors or textures are present.
+
+commit 7620b3943b5f9d6ab7156e245aade3bf2a5358a2
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Mar 30 15:47:00 2009 -0700
+
+ r300-gallium: Fix strange build error.
+
+ Why didn't this come up before?
+
+commit 458bfe7e8dd429b9dcb980013ac7979689db1367
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Mar 30 13:55:00 2009 -0700
+
+ r300-gallium: Handful of small leftovers.
+
+commit 37fb2d9b23eab5dbbb43a212c3475cb8016837d8
+Author: Adam Jackson <ajax@redhat.com>
+Date: Mon Mar 30 16:32:11 2009 -0400
+
+ intel: Avoid mapping the texture image for CopyTex{,Sub}Image
+
+ We don't upload the pixels with the CPU in that case, so the map will
+ only serve as a way of triggering cache flushes over a bunch of data we
+ don't touch.
+
+commit f24ce499691a342b680e6c3d7aa257480e5d69d9
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Mar 30 19:49:11 2009 +0100
+
+ python: Use depth buffer in the triangle example.
+
+commit b4de7c4c5fc1a6b103fea1139c7a01f0d6a401ad
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Mar 30 19:48:30 2009 +0100
+
+ python: Read rgba8 with a single transfer.
+
+commit ffaff2736f703523a603f758254b682e6e698ae5
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Mar 30 18:29:35 2009 +0100
+
+ python: Cleanup.
+
+commit 76d43ed4c98c4e5ad23dd342ecf3ed83b35fdcd7
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Mar 30 18:26:40 2009 +0100
+
+ python: Don't use deprecated clear_value field.
+
+commit 5e815cf26fe4789d92c0fa018e6a20c463e20d32
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Mar 30 18:18:15 2009 +0100
+
+ python/test: Move the test description logic to the base class.
+
+commit a8251d041ac323712a00d5fed3e51fa5ad7bc987
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Mar 30 17:51:55 2009 +0100
+
+ python/test: Move the image comparison logic to the base test class.
+
+commit af25470a5430c68e157489ff095baa5d548d8783
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Mar 30 17:09:03 2009 +0100
+
+ python: Force unsigned comparison.
+
+commit 844868048f404ab941cc2e75358b77463ee67482
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Mar 30 17:08:23 2009 +0100
+
+ python: Set correct transfer mode.
+
+commit 28de69d6819eab289a400482d15797b662e4d633
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Mar 30 16:02:21 2009 +0100
+
+ python: Set the surface GPU access flags.
+
+ Make python surface just a dumb (texture, face, level, zslice) tuple.
+
+commit 68342f9036d3c94ee50c4cbe5c7b36439eeb6825
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Mar 30 15:09:18 2009 +0100
+
+ python: Hide away the surface usage flags.
+
+ Surfaces are now by definition GPU views. So CPU access flags don't make
+ any sense when creating a surface.
+
+ For now we are forcing surfaces to be GPU read/write, but that will go away
+ soon.
+
+commit e08a0f479055be08a08594d723aa8837778c79f8
+Author: Michal Krol <michal@vmware.com>
+Date: Mon Mar 30 17:13:52 2009 +0200
+
+ tgsi: Condition codes are implied in KILP.
+
+commit bd4c1c133b19e87d372c4f1c4e1cb7cae178d381
+Author: Michal Krol <michal@vmware.com>
+Date: Mon Mar 30 17:12:58 2009 +0200
+
+ tgsi: Explain symbols used in instruction set documentation.
+
+commit 25e491e68c4c191a7f76b24520e5812356fe5a85
+Author: Michal Krol <michal@vmware.com>
+Date: Mon Mar 30 15:39:29 2009 +0200
+
+ tgsi: Document BRA opcode.
+
+commit 1c989c24aea5a4cc8807cbc46e68e62f4d28f018
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Mar 30 14:24:20 2009 +0100
+
+ python: Dont touch old pipe_winsys.
+
+commit 29933fc6fec88e0c20e6ba4feebce10934eb48a3
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Mar 30 12:12:37 2009 +0100
+
+ python: Update instructions for windows.
+
+commit a20bae3d17a812a5144553963174191288457cf7
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Mar 30 12:12:20 2009 +0100
+
+ scons: Get python extensions building correctly on windows.
+
+commit 3b09f6544aee880687cd82de33205ae2fa652e10
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Mar 30 12:02:08 2009 +1000
+
+ radeon: fix readback problem for piglit tests
+
+commit a693a2998c996f063edec8a83a4f6a175f39c471
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Sat Mar 28 01:43:50 2009 +0100
+
+ i965: srgb texture fixes
+
+ i965 can either do SRGBA8_REV format or SARGB8 format, but not SRGBA8.
+ Could add SRGBA8_REV support to mesa, but simply use SARGB8 for now.
+ While here, also add true srgb luminance / luminance_alpha support -
+ unfortunately the published docs fail to mention which asics support
+ this, tested on g43 so assume this works on any g4x.
+
+commit 02a579f2e7abc832dd46956048d1116f7dc3dd92
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Sat Mar 28 01:19:49 2009 +0100
+
+ mesa: fix a glGetTexImage issue with base-converted texture formats
+
+ need to respect the user-supplied base format, not the one derived from
+ the texture format actually used.
+
+commit 79e2df63af4d231a1223887e79a819b3baac9a6c
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Fri Mar 27 22:42:19 2009 +0100
+
+ i965: add support for signed rgba texture format
+
+commit bb386a1ecae6d7f805af44df463b0e4d661eef85
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Fri Mar 27 21:59:33 2009 +0100
+
+ mesa: add _rev signed rgba texture format
+
+commit 7d00ba195c4d8f58eec8e2ab553225a7e17ad656
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Sat Mar 28 02:03:35 2009 +0100
+
+ glapi regenerate
+
+commit 05330b9cf32788a233e7d6a3d352d4828a4afa2f
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Fri Mar 27 21:52:07 2009 +0100
+
+ glapi: remove a couple accidental GL_ prefixes
+
+commit c6a6cc191813e8343a17b028146a34f193a6ce44
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Fri Mar 27 19:39:52 2009 +0100
+
+ mesa: add new signed rgba texture format
+
+ This is a (partial) backport of the signed texture format support in OGL 3.1.
+ Since it wasn't promoted from an existing extension roll our own.
+
+commit a9bf5b5ccac2a75f1a2470d4910361e65b2d8eab
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Fri Mar 27 17:51:10 2009 +0100
+
+ gl: add new OGL 3.1 enums to glext.h
+
+ This is just temporary until the upstream source is updated.
+
+commit 0d9a715ceafb47872696214dea7983302323cfe1
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Fri Mar 27 15:47:30 2009 +0100
+
+ gl: update glext.h to version 48
+
+commit fd83289dbf747b4d2e0849f77c796323e5517f0b
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Mon Feb 2 17:27:47 2009 +0100
+
+ fix various small intel blitter issues
+
+ use color format constants instead of magic numbers
+ remove handling of cpp 0 or 3 (neither is possible) in various places
+ don't misconfigure 8 bit surface blits as rgb565
+
+commit aa011836c2778d242c75547c3f64435a055a86ff
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Mar 27 21:43:24 2009 +0000
+
+ wgl: Don't flush surface if it is NULL.
+
+ Just a quick fix to prevent segfaults with glean.
+
+commit c03000b73e49b858d6bf256114d28c8e9d7a2802
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Mar 27 21:38:54 2009 +0000
+
+ wgl: Remove unused cruft.
+
+commit a7900748106a9ad339a4552ca944f2fa30486cfc
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Mar 27 20:23:16 2009 +0000
+
+ util: Support Z24S8/Z24X8.
+
+commit e0a55dc9dae39384c18dd275081c24b7dce14eeb
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Mar 27 19:50:15 2009 +0000
+
+ mesa: Support Z24S8 wherever S8Z24 is supported.
+
+commit 2431a027c197c7172d6769eb616d4301cc6a0bca
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Mar 25 21:26:02 2009 -0700
+
+ r300-gallium: Add some surface_copy.
+
+commit aa91f05f9de28511f352ac1d0ce754c19539e38f
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Mar 25 07:25:06 2009 -0700
+
+ r300-gallium: Use CMP for MOV on r300.
+
+ Doesn't quite fix problems, though. :c
+
+commit ec30d1b2e5738264ca2ab2ce23d9fce2b9c7a2ce
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Mar 27 19:13:21 2009 +0000
+
+ mesa: Use the python executable from sys.executable.
+
+ From Ramesh Dharan <rrdharan@vmware.com>
+
+commit c97e5e1fc157ca5876241ee16c520d924535b4f0
+Author: Carl-Johan Kjellander <carljohan@kjellander.com>
+Date: Thu Mar 26 19:20:11 2009 +0000
+
+ egl: Fix newline typo in Makefiles
+
+commit 2002e03a5232c54988161cb629966bdce19d35de
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Mar 26 08:52:56 2009 -0600
+
+ st: init the default texture to (0,0,0,1)
+
+ The default texture is used when a sampler uses an incomplete texture.
+ This change fixes the piglit fp-incomplete test.
+
+commit 3673189326e348eb91e354017703fdfd9d6d8184
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Mar 26 08:40:07 2009 -0600
+
+ tgsi: pass zero vector to texture sampler for 1D case instead of NULL
+
+ Fixes segfault when sampling 1D textures.
+
+commit a2f52f500cdff2ffd5aec039cafaaa3bc2273595
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Mar 26 12:11:27 2009 +0000
+
+ python: Don't bypass vs/clip/viewport by default.
+
+commit 7138cd700997a353bfa127495b3f11adeab68940
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Mar 26 12:04:15 2009 +0000
+
+ python: Fix the texture test.
+
+commit bb84ce71593d79bae9e8a5a8bdd4b2bd6aba2c87
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Mar 26 11:29:59 2009 +0000
+
+ python: Make swig bindings python independent.
+
+commit d18c2ee3d5a1d0352a6f8d48aa067e8983dd5878
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Mar 26 11:19:15 2009 +0000
+
+ python: Drop st_buffer.
+
+ It adds nothing, now that pipe_buffer has a pointer to the screen.
+
+commit ca9d2044a2390267477f1e7118b16f21f2557dd3
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Mar 26 10:54:48 2009 +0000
+
+ python: Use pipe_buffer_read/write.
+
+commit f4520277e1a5113146fb99e831d515ba7f74c1f8
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Mar 26 10:47:25 2009 +0000
+
+ python: Transfer only the requested tile.
+
+commit 6af3be43091eff32793bb722cd483fe3ca435954
+Author: Michal Krol <michal@vmware.com>
+Date: Thu Mar 26 12:07:06 2009 +0100
+
+ python: Fix tri sample.
+
+commit d332f8b4efae39f09454593374ff939a08af7619
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Thu Mar 26 10:53:47 2009 +0100
+
+ gallium: Remove some little-used fields from struct pipe_surface.
+
+commit 8ed405cd3716a9a578bf2bdd46eabd6c90400074
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Mar 25 17:59:33 2009 +1000
+
+ radeon/r200/r300: set correct row stride for rbs
+
+commit e757bf964f4fd9ddbaa23ebaa47f743725aaf2c5
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Mar 25 17:02:32 2009 +1000
+
+ r300: check buffer sizes in non-tcl case + set correct VRAM limits
+
+commit 258686a973d7aef4bf956f540e99e65dc5bbee9c
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Mar 25 17:01:37 2009 +1000
+
+ radeon: fixup map/unmap texture to work with override BOs
+
+ if you hit this you've already failed but we shouldn't crash
+
+commit 4d36a19c90fcc3f6e09dd01072b8b279cc8baef2
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Mar 26 11:15:07 2009 +1000
+
+ r200: add fbo files to the compile
+
+commit 6ce06f3fbcc04b6cde52d625368266b1e69e061e
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Mar 25 21:47:04 2009 +0000
+
+ python: Pass transfers to the tile functions.
+
+commit 8866ff4cacea1005cc137d4fa88386824316a336
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Mar 25 21:46:26 2009 +0000
+
+ python: Catchup buffer_destroy interface change.
+
+commit 57ea34214c114539a92eafafebf7e7fcfa9fc286
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Mar 25 21:45:57 2009 +0000
+
+ trace: Defer the cast to after the check for enabled trace.
+
+ Prevents segfault when trace is disabled.
+
+commit e866cd7401e70f1e6494c8adf3983e916c7fa9cf
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Mar 25 21:45:10 2009 +0000
+
+ softpipe: Include declarations.
+
+commit 573346da2a1de9a32b2673a5d4634aa6338da374
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Mar 25 21:44:54 2009 +0000
+
+ translate: Avoid unused variable warning.
+
+commit e21d31e8ab047966a3d6c6ee489e5cfe93819781
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Wed Mar 25 20:51:47 2009 +0000
+
+ st/egl: Set dpms to on when showing screens
+
+ There is a wonderful bug in 2.6.29 that causes a hard lock on my
+ computer when this code is active for lvds that are turned off.
+
+commit 78abcb88fedd7177a5da93a987793d3a86a0ec57
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Wed Mar 25 20:51:33 2009 +0000
+
+ st/egl: Fix warning
+
+commit de89c022d5a2e63b52a9ae27ec70b9f5e203d3ed
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Mar 25 15:36:51 2009 +0000
+
+ python: Show call no in image window.
+
+commit c847b4515314e11bee6463da908c665424cafa30
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Mar 25 15:13:06 2009 +0000
+
+ trace: Update readme.
+
+ Actually, the trace driver with the xlib statetracker is
+ still causing assertion failures here..
+
+commit 58351b5023c2d87c22e21a27fd238212040dab8b
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Mar 25 15:11:30 2009 +0000
+
+ trace: Number calls.
+
+commit 710bcc8050848766a85420d0425e51008943fc78
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Mar 25 14:02:49 2009 +0000
+
+ python/retrace: Use the call no when dumping images.
+
+ To make it easy associate images with the calls.
+
+commit ecfa99ece1743769bbdb4371cf57229481993e91
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Mar 25 13:44:32 2009 +0000
+
+ python: Use a sequential number to identify each call.
+
+ TODO: Modify the trace driver to generate these on the XML file itself.
+
+commit 9d97c3d0be9e57226b6a438a90b71f36e0c99269
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Mar 25 13:31:27 2009 +0000
+
+ python/trace: Control the interpreter from command line options.
+
+commit 5743483778ffe5b389d10b1651ae1e8951b397ee
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Mar 25 10:22:05 2009 +0000
+
+ python: Use Ansi escape codes regardless of output is a tty or not.
+
+commit b52b78a2269e6f773fc02c9740e7f2e18cdf1699
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Mar 24 21:39:16 2009 +0000
+
+ python: List packages needed on debian systems.
+
+commit a6ad0c86cab0f3044781ece33d3ac0388e238a36
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Mar 24 21:35:10 2009 +0000
+
+ python: Allow to dump all images to disk.
+
+commit 8ca95d812148209f78c1e2501c3183623dcae0b2
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Mar 24 21:24:31 2009 +0000
+
+ python: Tweak instructions.
+
+commit ad5f9752ce7dc7b588a98e0c1ac820a3f918b4d5
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Mar 24 21:21:37 2009 +0000
+
+ python: s/pitch/stride/
+
+commit 5381331f97e55db12cce30859a0156c69894f1d2
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Mar 24 21:18:54 2009 +0000
+
+ python: s/num_cbufs/nr_cbufs/
+
+commit ce518f4b0f361189957f20ce642afe919da680ba
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Mar 25 21:01:23 2009 +0000
+
+ wgl: Use right integer type.
+
+commit 601a6a5839220605e353ea8cb82759b39542f9e5
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Mar 25 21:00:59 2009 +0000
+
+ wgl: Use SetWindowLongPtr.
+
+commit 9fb46fb4c30fe01c9cb485f909aca502691aaa3b
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Mar 25 20:58:53 2009 +0000
+
+ util: Use size_t (for x86_64).
+
+commit 8c4bd92b68cf79ff94dc431f78a970bbab7e0d00
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Mar 25 20:58:38 2009 +0000
+
+ util: Don't use x86 asm on x86_64.
+
+commit 079be0fd3f1d0f52f26a95756809ac4a2325ccb1
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Mar 25 20:56:34 2009 +0000
+
+ draw: Use size_t (for x86_64).
+
+commit b3e03ede3eeb224a2c293ae924ffa58f1de7e84a
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Mar 25 19:32:54 2009 +0000
+
+ scons: Move MSVC specific away from Mingw builds.
+
+commit 7860b0886c2f650152e5fb56e2a31ed6079665c1
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Thu Mar 19 21:17:01 2009 +0100
+
+ r300: cleanup swtcl a little
+
+ - remove disabled code
+ - silence compiler warnings (uinitialized values)
+ - remove unneeded code
+
+commit 26e27ba30884be927cf1bc21d39f32d6096a6678
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Mar 25 19:24:16 2009 +0000
+
+ scons: Support building with the Windows SDK.
+
+ x86_64 is also supported.
+
+commit 33fa6a27557171e8368d96ebf8e61aad283538b1
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Mar 25 13:02:44 2009 -0600
+
+ egl: include stdint.h to get the c99 integer typedefs
+
+ Fixes breakage from commit 6dd9c221012d5e091b2ede90d9b2a6f0383abd58
+
+commit 2e2f3b408655fa8abd97030af3d8482cfd7c6fa0
+Author: Alan Coopersmith <alan.coopersmith@sun.com>
+Date: Mon Mar 23 20:35:54 2009 -0700
+
+ Add Solaris to OS'es using X in eglplatform.h
+
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
+
+commit 707c017af68df24441e86b8a69831633a4106ca3
+Author: Alan Coopersmith <alan.coopersmith@sun.com>
+Date: Mon Mar 23 20:35:09 2009 -0700
+
+ define __builtin_expect for non-gcc compilers in two more glx files
+
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
+
+commit ad11107206ff4954366d77f334431b637ee256fa
+Author: Alan Coopersmith <alan.coopersmith@sun.com>
+Date: Mon Mar 23 20:17:57 2009 -0700
+
+ Add #ifdefs needed to compile Gallium on Solaris with gcc or Sun cc
+
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
+
+commit 6dd9c221012d5e091b2ede90d9b2a6f0383abd58
+Author: Alan Coopersmith <alan.coopersmith@sun.com>
+Date: Mon Mar 23 19:38:58 2009 -0700
+
+ Convert u_int*_t to C99 standard uint*_t
+
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
+
+commit 3cf6e62ae32870d16b2cfc45a37e54a6fb3a1fbe
+Author: Alan Coopersmith <alan.coopersmith@sun.com>
+Date: Mon Mar 23 16:51:54 2009 -0700
+
+ mklib improvements for Solaris
+
+ Move flags for linking standard C/C++ libraries from configure.ac to mklib
+ Use -norunpath flag when linking with Sun C++ compiler
+ Convert mklib -exports list into a linker mapfile
+ Set FINAL_LIBS correctly when -noprefix is used
+
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
+
+commit c10df26a31b6af5a720fbfd06411d580cd38a2c8
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Mar 25 08:59:31 2009 -0600
+
+ glew: fix GLEW_LIB_NAME
+
+ This fixes rebuilding of the library every time we run make.
+
+commit 11da7e02aa3dba192aa3d95e9debec620133a41c
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Wed Mar 25 15:53:28 2009 +0100
+
+ Revert "dri2: Avoid round-tripping on DRI2GetBuffers for the same set of buffers."
+
+ This scheme breaks when the display connection doesn't receive ConfigureNotify
+ events. This caused reporoducible problems (cropped / misplaced output) when
+ starting a 3D application in a guest operating system in VMware Workstation.
+
+ This reverts commit dd1c68f15123a889a3ce9d2afe724e272d163e32.
+
+ Conflicts:
+
+ src/glx/x11/dri2_glx.c
+
+commit 4934ddf5d76775ca3364be08034ebac47e831ec7
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Mar 25 08:33:10 2009 -0600
+
+ gl: update include/GL/glext.h to version 48
+
+commit 66b0b200ee53fe342466513640deef55619cab17
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Mar 25 08:17:37 2009 -0600
+
+ egl: don't use __FUNCTION__ in error messages
+
+commit 7c8639e007c2daeb0a192c30bb56a9716b65da20
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Wed Mar 25 14:04:18 2009 +0000
+
+ slang: ensure structure elements have their array length set
+
+commit def5660c9eed84f92838f9f7679deef94ab27c58
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Mar 25 07:15:07 2009 -0700
+
+ r300-gallium: r300-fs: Moar.
+
+commit 1db736f74a911f74228d6843f4d981eeafb8669d
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Mar 25 06:24:39 2009 -0700
+
+ r300-gallium: Unify shader interfaces, enable r300 shader, start unbreaking.
+
+ progs/trivial/clear no longer is horrifically wrong, just kind of wrong.
+
+commit e36f01a7a195a747c7d40bc0bab0bfbd00f0a5a7
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Mar 25 05:48:07 2009 -0700
+
+ r300-gallium: r500-fs: Remove unused variable.
+
+commit ff421b6e0b3ef218799350358b9bff5610f17c3a
+Author: Alan Coopersmith <alan.coopersmith@sun.com>
+Date: Tue Mar 24 20:51:53 2009 -0700
+
+ r300_cmdbuf.c: convert cast to a form supported by Sun cc
+
+ Fixes Sun cc error:
+ "r300_cmdbuf.c", line 142: invalid cast expression
+
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
+
+commit e101959b6a262ba34a12b407ea6f480e6b4d7d72
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Wed Mar 25 11:13:28 2009 +0100
+
+ r300: Texture size limit cleanups.
+
+ Since core Mesa MAX_TEXTURE_LEVELS was bumped, we were incorrectly advertising
+ a maximum texture size of 4096 on older chips, causing corrupted menu text in
+ Extreme Tux Racer or Armagetron.
+
+ Also make sure our texture image array can actually hold all the mipmap levels
+ we support...
+
+commit e919bfa1f1766e71780d0a4db5a8b6a04d19868f
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Mar 24 19:25:56 2009 +0000
+
+ progs/vp: more psiz tests
+
+commit c306bf94d6ae20ce75965b1ae13213e24c976ed7
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Wed Mar 25 12:16:25 2009 +1000
+
+ nv50: fix typo in nv50_query.c
+
+commit 88b19bbe651e4362d0bc96eb6ec10218c2ef6cf2
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Wed Mar 25 12:09:58 2009 +1000
+
+ nouveau: fix some pipe_buffer reference counting issues
+
+commit 0be8af8a392541acde3f8791a754a260b877ac17
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Tue Mar 24 22:59:20 2009 +0000
+
+ mesa: bump MAX_PROGRAM_TEMPS to 256 (there's some big shaders out there)
+
+commit 578af516104bf0078cf93b1b9dd783e19e113177
+Author: Younes Manton <younes.m@gmail.com>
+Date: Tue Mar 24 18:55:37 2009 -0400
+
+ nouveau: Frontbuffer needs to be marked as linear.
+
+commit c4c4358e0858fcbc09f4bf35d93f593af5bcd9db
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Mar 24 16:06:27 2009 -0600
+
+ demos: add LDFLAGS for corender target, bug 20844
+
+commit 993b7e1d5cdf1df3e7967afef16852fe287dc162
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Mar 24 17:50:36 2009 +0000
+
+ progs/vp: add pointsize + clamp test
+
+commit a4a0ba1adb9fbe168c6b84cdd281992893208c08
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Mar 24 16:38:07 2009 +0000
+
+ mesa/st: bump gallium version to 0.3
+
+ To distinguish from the -0.2 version still being maintained on the
+ gallium-mesa-7.4 branch. There are already greater interface changes
+ between these two branches than there were between -0.2 and -0.1.
+
+ Also stop injecting Tungsten into the vendor string - the Gallium in
+ the renderer string should be sufficient.
+
+commit eb9801ccfbd6d808e4761d66202bc368b86679b6
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Mar 24 16:35:29 2009 +0000
+
+ progs/trivial: add fflushes for cygwin
+
+commit cc8afbd3862fedfe42e51c3774960d1c7078ec53
+Author: Robert Ellison <papillo@vmware.com>
+Date: Tue Mar 24 09:53:22 2009 -0600
+
+ i965: fix point rasterization when rendering to FBO
+
+ The FBO pixel coordinate system, with (0,0) as the
+ upper-left pixel, is inverted in Y compared to the
+ normal OpenGL pixel coordinate system, which has
+ (0,0) as its lower-left pixel.
+
+ Viewport and polygon stipple are sensitive to this
+ inversion; so is point rasterization. The basic
+ fix is simple: when rendering to an FBO, instead
+ of the normal RASTRULE_UPPER_RIGHT that's
+ appropriate for OpenGL windows, use the Y inversion
+ RASTRULE_LOWER_RIGHT.
+
+ Unfortunately, current Intel documentation has this
+ value listed as "Reserved, but not seen as useful".
+ It does work on at least some i965-class devices,
+ though; and the worst that could happen if an
+ older device didn't support it would be incorrect
+ point rasterization to FBOs, which is what happens
+ already, so this fix is at least no worse than what
+ happens presently, and is better for some (and possibly
+ all) i965-class devices.
+
+commit 2312f697a27da366ecda9cbae9ddf8c63de910d5
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Mar 24 15:27:21 2009 +0000
+
+ progs/trivial: draw non-interleaved arrays out of one vbo
+
+commit 39320c1bee93e7177a82307d861ed4c1f2cb2711
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sun Mar 22 08:46:18 2009 +0100
+
+ progs/tests: Build texcompress2 with scons
+
+commit f577c8e462fc924ea436d129ad64c8a1226b5f9c
+Author: Dave Airlie <airlied@linux.ie>
+Date: Tue Mar 24 18:32:46 2009 +1000
+
+ radeon/r200/r300: fix warnings
+
+commit 699db6d842c52d0b3b98b320f8ef1104a65fa783
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Mar 23 16:29:31 2009 -0700
+
+ i965: Fix glFrontFacing in twoside GLSL demo.
+
+ This also cuts instructions by just using the existing bit in the payload
+ rather than computing it from the determinant in the SF unit and passing it
+ as a varying down to the WM. Something still goes wrong with getting the
+ backface color right, but a simpler shader appears to get the right result.
+
+commit 411d913ccea362dbd75411266d7abb685214ee93
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Mar 23 22:35:03 2009 -0700
+
+ i965: Fix fog coordinate g,b,a values when glFrontFacing isn't used.
+
+ Previously, we would sample (f,glFrontFacing,undef,undef) instead of the
+ (f,0,0,1) that fragment.fogcoord is supposed to return. Due to
+ glFrontFacing's presence in FOGC.y, we'll still give bad results there when
+ glFrontFacing is used.
+
+ Bug #19122, piglit testcase fp-fog.
+
+commit b013f945d8514ed827183a4cbfbc4dccc100704f
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Mar 23 22:30:12 2009 -0700
+
+ i965: Clean up a bit of mess with unneeded variables in emit_interp.
+
+commit bae07564c487b3cb02ba060edbb57a895874738a
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Mar 23 13:48:24 2009 -0700
+
+ i965: Fix trailing "d" in debug output for 3DSTATE_VERTEX_ELEMENTS.
+
+commit 5021b47dd307377be30140e3a0d1c2caf0d71665
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Mar 24 15:21:49 2009 +1000
+
+ r300: remove lock.h link
+
+commit 20981c0a0bd43aff4972c1300f990b06dfa789d1
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Mar 24 15:06:19 2009 +1000
+
+ radeon: fixup some issue with fbos and sw fallbacks
+
+commit 0a725db10c1491539d48370df7207206538bf945
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Mar 24 11:19:09 2009 +1000
+
+ radeon/r200/r300: set the texture depth correctly for DRI2
+
+commit ccd18f462cccd238ff0d839004d43a3102f09ff3
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Mar 24 09:45:26 2009 +1000
+
+ radeon: actual format is rgba8
+
+commit 2aa097f963d7be12b538469f61214b8ddaa535fb
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Mar 24 09:45:18 2009 +1000
+
+ radeon: fix typo
+
+commit 28e082197d158206b58da62940cf57796abe565a
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Mar 24 09:28:52 2009 +1000
+
+ radeon: setup pipes for r300
+
+commit 9f11b3311e9f65bc19a3fde10f1ee4d6fbb7ead2
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Mar 24 09:26:31 2009 +1000
+
+ radeon: stupid mesa extension fail
+
+commit c0d6e07909733af054cc592e2cfc6212155b0a9e
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Mar 23 12:29:02 2009 -0700
+
+ i965: Fix occlusion query when no other WM state updates occur.
+
+ Turns out that XXX comment was important. We weren't flagging the WM to
+ re-update with the statistics enable, so we got zeroes out of our query.
+
+ Bug #20740, fixes piglit occlusion_query test.
+
+ Signed-off-by: Eric Anholt <eric@anholt.net>
+
+commit 1a28750b43d3d5190ad88278945dc7b15209dd3f
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Mar 23 19:01:40 2009 +0000
+
+ vpglsl: add missing SConscript
+
+commit d0d5e6a22cca4aae487be6828d1dd87621929a7d
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Mar 23 18:38:11 2009 +0000
+
+ draw: update aa points shader comment
+
+commit 103a4bd71136b14424a4af5a2eadf56c51692115
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Mar 23 18:37:33 2009 +0000
+
+ progs/fp: pass texcoord to triangle, add a test shader
+
+commit e9d156e9e4f92ae1ce70bd563c251b34d238c4bc
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Mon Mar 23 18:03:13 2009 +0100
+
+ gallium: Remove remnants of reference counting internals outside of p_refcnt.h.
+
+commit f9d3de06bdc609d2c7cb189d220977968894c7ed
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Mar 23 19:32:10 2009 +1000
+
+ radeon: fixup wrapper bo name
+
+commit cb68588c939c33b42f6ac704f0fe9b22b7350f71
+Merge: 4a2cb69 8c7e30f
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Mar 23 18:56:34 2009 +1000
+
+ Merge branch 'radeon-fbo-hacking' into radeon-rewrite
+
+commit 8c7e30fb950c83f5e9e29e60735e999ac608145a
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Mar 23 18:27:49 2009 +1000
+
+ raedon/r200/r300: mega-FBO commits.
+
+ Re work depth issues.
+ Do a lot more FBO abstactions
+ fixup depth/stencil buffer interactions
+
+commit c607a664dd005c001afda1fff1a68d41925fa86e
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sun Mar 22 19:11:46 2009 +1000
+
+ radeon fbo: add draw offset calcs
+
+commit da96767c8971e792285e3190c708438d65802379
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sat Mar 21 14:23:04 2009 +0100
+
+ debug: Add function for writing transfers to files
+
+commit 1196885293f19003472276a6446a1904e9c69112
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Mar 20 23:06:05 2009 +0100
+
+ trace: Fix args to buffer write
+
+commit 3708aaeaff5041040783bd252768fadf2b794ec2
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Mar 23 12:05:07 2009 +0000
+
+ util: Add a new macro for testing empty lists.
+
+commit bab6d6bfe928687717a5e5f274110fe1838f99ba
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Mar 22 18:11:12 2009 -0600
+
+ softpipe: reformatting, comments, minor clean-ups
+
+commit 0f82aa5f15479aea692613fb56643bf3b769cf37
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Mar 22 18:10:10 2009 -0600
+
+ tgsi: minor comments
+
+commit 4a2cb696cc3b9e151ea902fc976ee025fb614309
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sun Mar 22 12:03:24 2009 +1000
+
+ radeon/r200/r300: add support for new tfp interface
+
+ also fixup old interface, gets rid of white boxes in compiz
+
+commit 2d26d4ac66e8c3e48b73d3e172d0e0d2a2ad31a5
+Merge: 407e8ae 699897e
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sun Mar 22 12:01:21 2009 +1000
+
+ Merge remote branch 'origin/master' into HEAD
+
+commit 06cb6f7aa799e25b4a53f8c547a8f4ca909fe245
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sun Mar 22 11:57:03 2009 +1000
+
+ radeon: use mipmap fns in FBO code
+
+commit 0968512f8f4abc5bce84c200bd99f8a522d56122
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sun Mar 22 11:56:41 2009 +1000
+
+ radeon: add miptree offset functions
+
+commit c73f4fdb65a6bae4b02348d73f2efdb8f2c5583a
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sat Mar 21 22:41:42 2009 +1000
+
+ r200: fix for sure
+
+commit 4bd5ee2d9741a74e28f29e48a4c144206f78fd41
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sat Mar 21 22:35:01 2009 +1000
+
+ radeon/r200: oops make correct fbo init calls
+
+commit 9f7a03d94586091ef6c38187e0c8a4564143fd7a
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sat Mar 21 21:41:25 2009 +1000
+
+ radeon: add xRGB span functions
+
+ same as ARGB need to add a parameter to get ptr32
+
+commit 218083c542138dc2271b83450f556a6146144f75
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sat Mar 21 22:38:28 2009 +1100
+
+ radeon: dri2 is hooked up elsewhere now
+
+commit 98f1b1e6f99c690645c3cb5093005fc41f436225
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sat Mar 21 22:38:11 2009 +1100
+
+ radeon/r200: add fbo init
+
+commit 6c48c93a5358ab04d6779afb14203bd1680a37a0
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sat Mar 21 22:36:18 2009 +1100
+
+ radeon/r200: add fbo state changes
+
+commit 712478cfdd4a6ec0d0a85d1eaf5907e937c5dfe5
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sat Mar 21 22:27:01 2009 +1100
+
+ r300: fix viewport inversion for FBOs
+
+commit 699897e81c623e53be51fba0488f535b0a8d7761
+Author: Michal Krol <michal@vmware.com>
+Date: Sat Mar 21 12:18:09 2009 +0100
+
+ tgsi: Document KIL, KILP instructions.
+
+commit 1bb60d25e09d71861bdb4485378880140b65b062
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Mar 21 10:37:33 2009 +0000
+
+ gallium: remove remaining references to origin_lower_left
+
+commit d7b7b63bd7cca80e99ad9701f8b56ee365053647
+Author: Michal Krol <michal@vmware.com>
+Date: Sat Mar 21 11:46:54 2009 +0100
+
+ st: Silence compiler warnings.
+
+commit 8ab7c77dc2a29ad3edc1fab4e0c9fb01a15665fa
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sat Mar 21 18:16:21 2009 +1000
+
+ radeon: align FBO pitch
+
+commit 56c5df33de1e34b606bb771db27742af78be30f3
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sat Mar 21 18:16:02 2009 +1000
+
+ radeon: fixup last missing x_off/y_off
+
+commit 8a600836766716df684f2ab1eeafdcbec4b0f019
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sat Mar 21 18:07:33 2009 +1000
+
+ radeon: add cpp/pitch to rrb
+
+commit e795bd3c9090443a5e52ff79356c253022de8538
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sat Mar 21 18:05:54 2009 +1000
+
+ radeon/fbo: add x_off and y_off in correct places
+
+commit 86dcbb545729627e09115cc0d416af697f2c2832
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sat Mar 21 16:51:46 2009 +1000
+
+ radeon: dPriv handling is now in cliprects code
+
+commit 9368dcb426a97e8fb628b712ac74c7c808a79b9b
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sat Mar 21 16:08:20 2009 +1000
+
+ radeon: fixup span code for FBOs
+
+commit fbda2ad4457cf47494ae3eee28d417afb262c5c2
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sat Mar 21 15:05:34 2009 +1000
+
+ r300: hw clear buffer 0 hopefully
+
+commit ffde891a0390a915716087ca7d99b3ddf7f1ef89
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sat Mar 21 14:31:14 2009 +1000
+
+ radeon: fix up span function setting
+
+commit 401cbd0d2365e5b2d371a2a01edf1cecca4a99dd
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Mar 20 20:25:34 2009 -0600
+
+ gallium: remove use of origin_lower_left
+
+ This was used to indicate OpenGL's lower-left origin for fragment window
+ coordinates for polygon stipple and gl_FragCoord.
+
+ Now:
+ - fragment coordinate origin is always upper-left corner
+ - GL polygon stipple is inverted and shifted before given to gallium
+ - GL fragment programs that use INPUT[WPOS] are modified to use an
+ inverted window coord which is placed in a temp register.
+
+ Note: the origin_lower_left field still exists in pipe_rasterizer_state.
+ Remove it when all the drivers, etc. no longer reference it.
+
+commit 1f45ae0813f72fa92f52e0ebc440922362dc7cce
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Mar 20 20:15:58 2009 -0600
+
+ mesa: add new internal state var for window size
+
+ Actually, window width - 1, height - 1
+
+commit 12256fc2b2e0a54db24210a4b86f6fb5919d0fe8
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Mar 20 17:08:30 2009 -0600
+
+ mesa: linear scan register allocation for shader programs
+
+ This is a check-point commit; not turned on yet.
+
+ Use the linear scan register allocation algorithm to re-allocate temporary
+ registers. This is done by computing the live intervals for registers and
+ reallocating temps with that information.
+
+ For some shaders this dramatically reduces the number of temp registers
+ needed.
+
+ For the time being we give up on a few cases such as relative-indexed temps
+ and subroutine calls (but we inline most GLSL functions anyway).
+
+commit c9caecaffaa6144668a2c732467b49872981b656
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Mar 20 09:20:53 2009 -0600
+
+ docs: updated Mesa extension enum info
+
+commit f411a66c0679c1aa7a9ee3d1eb633a8cbf3ef5f2
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Mar 20 14:47:49 2009 -0700
+
+ r300-gallium: Misspelled macro name.
+
+ *pulls paper bag down over head*
+
+commit edfaa686091a4f6238b8f315a475d90ff2c2f5f5
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Mar 20 00:48:53 2009 -0700
+
+ r300-gallium: Put r300_cs_inlines to bed.
+
+ Guess it was a mistake in the first place. Oops.
+
+commit 8066edb2a254d15ed92c2d350a7799adf3cca0d7
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Mar 20 00:43:29 2009 -0700
+
+ r300-gallium: Simplify/neaten up packet3.
+
+ Deck chairs on the Hindenburg. :3
+
+commit f1429580848b471c487e55a9a81b904452f50df5
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Mar 20 00:35:38 2009 -0700
+
+ r300-gallium: Clean up surface_fill, prep for surface_copy code.
+
+commit 04fe31cd5efc5703b9cd975391a992866432f59d
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Mar 20 00:15:03 2009 -0700
+
+ r300-gallium: Properly offset scissors.
+
+ As per r300_reg, classic Mesa, and xf86-video-ati.
+
+commit adb40a94b0d8a023cfa900017dc17e26179c1cfd
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Mar 19 20:36:59 2009 -0700
+
+ r300-gallium: Clean up r300_swtcl_emit.
+
+ Some compile warnings, some statements without effect.
+
+commit f3f5e04103d804a23cfbe8bd264c8e0db64bd31f
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Mar 19 20:32:08 2009 -0700
+
+ r300-gallium: Clean up some emit, and some state handlers.
+
+commit 8852ac2b354522b194e32f8651e3511e69586bd1
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Mar 19 12:29:03 2009 -0700
+
+ r300-gallium: A bit more invariant state.
+
+commit 48f6e754898879898165dca013157dffe2babb12
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Mar 18 16:54:25 2009 +0000
+
+ gallium: Explain what happens if buffer_flush_mapped_range isn't called.
+
+commit 210b468722ae4d4a97ccd788ad9de58858a0c7fa
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Mar 20 15:08:59 2009 +0000
+
+ gallium/util: add upload manager helper module
+
+ Add a module that will manage uploading and coalescing multiple
+ user-buffers, malloc-buffers and other random data that doesn't
+ happen to be in a GPU buffer already. The module stuffs multiple
+ little uploads into larger GPU buffers to reduce create/destroy
+ overheads, etc.
+
+commit 66175aac7609ad314f25fbdff0d3958af310dc24
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Mar 18 12:07:09 2009 -0700
+
+ Fix DRI2 accelerated EXT_texture_from_pixmap with GL_RGB format.
+
+ This requires upgrading the interface so that the argument to
+ glXBindTexImageEXT isn't just dropped on the floor. Note that this only
+ fixes the accelerated path on Intel, as Mesa's texture format support is
+ missing x8r8g8b8 support (right now, GL_RGB textures get uploaded as a8r8gb8,
+ but in this case we're not doing the upload so we can't really work around it
+ that way).
+
+ Fixes bugs with compositors trying to use shaders that use alpha channels, on
+ windows without a valid alpha channel. Bug #19910 and likely others as well.
+
+ Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
+
+commit cf0122e892df56bc3b013e5d92e487d0fd65f23d
+Author: Michal Krol <michal@vmware.com>
+Date: Fri Mar 20 16:48:54 2009 +0100
+
+ progs/wgl: Send a resize message after context have been created.
+
+commit d6e877d0d716805907cbbaca3bcfcee84f98add6
+Author: Michal Krol <michal@vmware.com>
+Date: Fri Mar 20 16:36:23 2009 +0100
+
+ stw: Do not err on nil context handle in MakeCurrent().
+
+commit 9bbffcced4355ff11e11c5b01c4d0eea6b020119
+Author: Michal Krol <michal@vmware.com>
+Date: Fri Mar 20 16:16:12 2009 +0100
+
+ progs/wgl: Create GL context in a thread that actually uses it.
+
+commit e8aa5a10185623a820364141b756d128a1171919
+Author: Michal Krol <michal@vmware.com>
+Date: Fri Mar 20 16:13:39 2009 +0100
+
+ progs/wgl: Make context current to get GL_RENDERER string.
+
+commit 5465f3adf93bd58b528bd6703b2367eb00c78c31
+Author: Michal Krol <michal@vmware.com>
+Date: Fri Mar 20 15:45:00 2009 +0100
+
+ stw: Use u_handle_table to maintain context list.
+
+commit 22443d5cc036ddebfd97ade17711cd1306721754
+Author: Dave Airlie <airlied@linux.ie>
+Date: Fri Mar 20 22:34:30 2009 +1000
+
+ r300: init fbos
+
+commit ba890ad35b3ff52603665bdb576f9efcbb3a108a
+Author: Dave Airlie <airlied@linux.ie>
+Date: Fri Mar 20 22:29:15 2009 +1000
+
+ more fbo fillin
+
+commit e3faf5b51d76975fb54a2b4eada3e0042a182096
+Author: Dave Airlie <airlied@linux.ie>
+Date: Fri Mar 20 22:15:22 2009 +1000
+
+ r300: enable FBO for a test
+
+commit 230abc06f817b5d9868f7e6a094f56bb3294b476
+Author: Dave Airlie <airlied@linux.ie>
+Date: Fri Mar 20 22:07:05 2009 +1000
+
+ radeon: some more fbo work
+
+commit 36e985e96e6da817042ba1b2dfadf96f85e32afb
+Author: Michal Krol <michal@vmware.com>
+Date: Fri Mar 20 13:06:28 2009 +0100
+
+ winsys/gdi: Init state tracker's per-thread data.
+
+commit 4489f9efee58f2cba374298f2d43c96e5cd2ff41
+Author: Michal Krol <michal@vmware.com>
+Date: Fri Mar 20 13:05:51 2009 +0100
+
+ stw: Keep per-thread storage for current context and pixel format.
+
+commit 3d4246e22e90ffef5fe0cd935bd54c7f862e82f7
+Author: Michal Krol <michal@vmware.com>
+Date: Fri Mar 20 12:19:40 2009 +0100
+
+ slang: Use _mesa_snprintf() wrapper.
+
+commit fabce837f9740df2553b6cc0dd991b2cb8b8fc5b
+Author: Dave Airlie <airlied@linux.ie>
+Date: Fri Mar 20 18:23:38 2009 +1000
+
+ radeon: initial couch code copy from radeon
+
+commit 407e8ae5b167b0193e1e5b1266a5d61ed836dfb5
+Merge: bdaa034 114bb54
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Mar 20 10:52:17 2009 +1000
+
+ Merge remote branch 'main/master' into radeon-rewrite
+
+ Conflicts:
+ src/mesa/drivers/dri/r300/r300_cmdbuf.c
+ src/mesa/drivers/dri/r300/r300_state.c
+ src/mesa/drivers/dri/r300/r300_swtcl.c
+ src/mesa/drivers/dri/r300/radeon_ioctl.c
+ src/mesa/drivers/dri/radeon/radeon_screen.c
+
+commit 114bb54324f22cb53bcd14607234d0acd74d37bd
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Thu Mar 19 22:38:01 2009 +0000
+
+ slang: initialize the context
+
+commit e3aedec86808490fbb5a966b1e4dc15bff046f13
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Thu Mar 19 22:06:10 2009 +0000
+
+ slang: support uniform arrays
+
+commit c9a318a7c607e96dc100926cbd2d78d94e41eb52
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Thu Mar 19 16:11:05 2009 +0100
+
+ trace: Formalize on a standard for data size pair
+
+commit bbd208b60c4d39cccb931b4d23efc9d42648afd3
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Mar 19 10:26:50 2009 -0600
+
+ glslcompiler: added new options to override debug/optimization pragmas
+
+commit 65fc2ca82a38bc00ae4223124932af6771765041
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Mar 19 10:25:24 2009 -0600
+
+ glsl: change GLSL #pragma initialization
+
+ Initialize the shader's pragma settings before calling the compiler.
+ Added pragma "Ignore" fields to allow overriding the #pragma directives found
+ in shader source code.
+
+commit a57d7edf069d1d161a45825021a7cf4d825fb88f
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Thu Mar 19 15:39:01 2009 +0000
+
+ egl: fix comment
+
+commit 9ed03af8c0a8e6af54e827f15778d8b567492c89
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Thu Mar 19 15:34:45 2009 +0000
+
+ egl: try harder for eglGetProcAddress()
+
+commit 214132adfee555a26b64b2dd359afa6b09e845f5
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Mar 19 09:26:20 2009 -0600
+
+ glsl: when debug pragma is on, emit comments about function calls/inlines
+
+ BTW, the debug pragma syntax is "#pragma debug(on)"
+
+commit 264c3d218aa2fd8d06b0e91c1079e43e58d3ee7e
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Thu Mar 19 13:58:04 2009 +0000
+
+ mesa: check renderbuffer is defined before use.
+
+commit bdaa0341caffc353fd26bbd91865c2d86eed11c1
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Mar 19 15:31:03 2009 +1000
+
+ radeon/r200/r300: cleanup some of the renderbuffer code
+
+commit c0c06803fee4d5cd04da03f1984ae99e411e1588
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Mar 19 14:46:52 2009 +1000
+
+ radeon: fix up locking like the intel driver for pageflip/swaps
+
+commit 9e84e7def152aa8080da59a78795d6434e687403
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Mar 18 19:10:32 2009 +0100
+
+ st/gl: Only transfer needed parts in st_TexSubimage
+
+commit 989856bde47d699d7e18798df4013fbf962e1d4b
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Thu Mar 19 10:16:28 2009 +0000
+
+ slang: if/else/break & if/else/continue work for unrolled loops
+
+commit 1342664434918af06baf07a2c190c0241fbd5a24
+Author: Michal Krol <michal@vmware.com>
+Date: Thu Mar 19 11:16:01 2009 +0100
+
+ wgl: Add an `-s' option to wglthreads to force single-threaded operation.
+
+commit 355e9bb45c4f56f228c73e2886d907a75968209b
+Author: Michal Krol <michal@vmware.com>
+Date: Thu Mar 19 10:39:57 2009 +0100
+
+ swrast: Silence compiler warnings, give better structure to the code as a result.
+
+commit 4b55a4f74d559e3ca6874986a39d662db7415e0c
+Author: Michal Krol <michal@vmware.com>
+Date: Thu Mar 19 09:52:50 2009 +0100
+
+ tgsi: Document vs_2_0 instruction set operations.
+
+commit 7c50917b42120e9ab1ee42192f2e82d59e13c2e8
+Author: Michal Krol <michal@vmware.com>
+Date: Thu Mar 19 09:49:38 2009 +0100
+
+ tgsi: Document vs_1_1 instruction set operations.
+
+commit a1f4b5d8b8a5523148de02fb1828382af7202c91
+Author: Michal Krol <michal@vmware.com>
+Date: Thu Mar 19 09:44:51 2009 +0100
+
+ tgsi: Begin documenting ps_2_x instruction set operations.
+
+commit db83ee16474a7d9b23eacd7933366c5b320255a5
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Mar 18 15:17:38 2009 -0700
+
+ r300-gallium: Emit viewport state.
+
+ Note that this will break you, hard, if you're not using RADEON_NO_TCL.
+ I really need to start vertex shaders soon.
+
+commit 3a648d0cf23c39a139e4638c2194e4ce97c1d983
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Mar 18 13:37:59 2009 -0700
+
+ r300-gallium: Viewport state storage.
+
+commit 5b97ba4eb0b3d5285e93057a7d2b38a3fc6f5056
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Mar 18 13:37:08 2009 -0700
+
+ r300-gallium: Fixup registers for viewport state.
+
+commit a577471c546732419908893b481948feac5b7241
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Mar 18 15:39:11 2009 -0600
+
+ mesa: use the IROUND() macro in pixel packing code
+
+ It turns out some tests are sensitive to rounding vs. truncating when
+ converting float color values to integers in glReadPixels(). In particular,
+ this matters when the destination format is 5/6/5 or 4/4/4/4, etc.
+
+commit cac1ce09ac52e9bc4aa8d5ba24b6a4d131d8fc69
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Wed Mar 18 21:42:14 2009 +0000
+
+ slang: redo the last commit for if/break & if/continue tests as it
+ wasn't good enough for deeply nested if's.
+
+commit 192b7bc706f0d014ecea1843230a4b1adbe2a45b
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Wed Mar 18 21:40:03 2009 +0000
+
+ Revert "slang: if we detect an if/break or if/continue within a loop and we're"
+
+ This reverts commit 752296b8f311c5e3844f3ce89d17ba57224ce5ba.
+
+commit 752296b8f311c5e3844f3ce89d17ba57224ce5ba
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Wed Mar 18 21:16:35 2009 +0000
+
+ slang: if we detect an if/break or if/continue within a loop and we're
+ trying to unroll, bail, and fallback to doing the real loop.
+
+commit 08d44512e973f1388f8b1d4436cc2aa888c6060e
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Mar 18 19:14:45 2009 +0000
+
+ st: call _glapi_check_multithread from st_make_current
+
+ This function is called from many OS-dependent versions of MakeCurrent.
+
+ Move the check for multithreading to this central location to avoid
+ having to make this check from all the callers.
+
+commit caf99be99976166f92d90203966a2dd42634e2af
+Author: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+Date: Wed Mar 18 12:28:31 2009 +0100
+
+ stw: Fix makeCurrent.
+
+ Flush if we change current context.
+
+ Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+
+commit 1f118c2557e44b294f12ddc3e298be6caaa3efb4
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Mar 18 16:37:20 2009 +0000
+
+ progs: Build the wgl examples with scons.
+
+commit 3f17030d9c09bfdfbd15f893b38ae4f8defdbfa8
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Mar 18 17:24:40 2009 +0100
+
+ progs/trivial: Make quad-tex-sub repeat patterns
+
+commit 4c460cfd2b3519724afa9a9ccdb7a117b52c0dea
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Mar 18 10:23:31 2009 -0600
+
+ tests: remove/update old comments
+
+commit 0b0e2159f2e9e9278c058d06387948f54e537d08
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Mar 18 10:22:05 2009 -0600
+
+ st: need to free/realloc pipe texture when we're handed image level > last_level
+
+ Fixes progs/tests/tri-fbo-tex-mip.c
+
+commit a0509f7d28765c6ef8546eafba94aec46d9e7ed3
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Mar 18 10:21:05 2009 -0600
+
+ st: clean up some if-statment code
+
+commit 9808ae688a2386652e178d2bd717d0f380405ae0
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Mar 18 10:17:48 2009 -0600
+
+ softpipe: more texture transfer fixes.
+
+ Need to null-out pointers after freeing transfer objects.
+ Fix mix-ups between tc->transfer and tc->tex_trans fields.
+
+commit 71e3aa14fb09616a9b06cd6fd01fcabf3853cacd
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Mar 18 09:55:00 2009 -0600
+
+ softpipe: need to set tc->transfer=NULL after destroying the transfer object
+
+ This fixes a number of crashes/regressions in programs such as lodbias.c,
+ mipmap_limits.c, etc.
+
+commit 3151f5d75ac26d4460b6905ecad0a8ac0470e419
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Mar 18 09:40:37 2009 -0600
+
+ st: update texture comments
+
+commit 87bcb328c109af1e1dbf224e6cf9ab0c6de7feb0
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Mar 18 17:15:40 2009 +0100
+
+ progs/trivial: Add quad-tex-sub
+
+ Tests glTexSubImage
+
+commit 13345a95400db632a7800e6fd8b8fdb74bba3c38
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Tue Mar 17 23:33:04 2009 -0700
+
+ Use the specified X11 headers for xlib mesa
+
+ The xlib build was using the system's Xlib headers or bombing if they
+ weren't available.
+
+commit f02aaa83c18d9d6192caa68803cdc34c9526c6e2
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Mar 18 14:01:47 2009 +0000
+
+ tests: add simplest mipgen test
+
+commit 33c1bec73bb8e8dd3b989952320ddc3c5485be92
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Mar 18 13:27:53 2009 +0000
+
+ pipe/atomic: dont use ms interlock calls from gcc
+
+commit 0c550b0425409c6cfa745257dc12e9758d9b3df0
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Mar 18 11:35:58 2009 +0000
+
+ util: avoid clashprone UINT, UBYTE enum values
+
+commit 5488fe84f97b839287abc39727d60ef680f9dd5c
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Mar 18 11:35:26 2009 +0000
+
+ draw: use AOS_ERROR rather than clash-prone ERROR() macro
+
+commit eddfad39552cc81c1157539c930a1b6c707bf1d3
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Mar 18 11:29:01 2009 +0000
+
+ pipe/atomic: clean up #ifdef maze
+
+commit a528eb51ebf9aa9431d768627faad3cadaefae3c
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Mar 18 13:29:03 2009 +0100
+
+ progs/tests: Update mipmap_limits to show image and colors
+
+commit d405ba3151de9585a310b7e2ebcae09302c0dbe4
+Author: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+Date: Wed Mar 18 11:52:24 2009 +0100
+
+ xlib st: Fix makeCurrent.
+
+ Flush if we change context.
+ Also reinstate the old optimization of doing nothing if
+ nothing changes.
+
+ Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+
+commit ae36fadb7f137cd7f53dccb58d1a73fc46ccc26b
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Mar 17 15:04:07 2009 +0100
+
+ progs/trivial: Add tri-fbo-tex-mip
+
+ Tests rendering to mip levels other then first
+
+commit e00ae524e236afba1305150cacd634eaa1f5460b
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Wed Mar 18 08:22:35 2009 +1000
+
+ nouveau: rewrite winsys in terms of drm_api, support dri2 state tracker
+
+ drm_api is a set of hooks used by the dri2 state tracker, this wraps our
+ dri1 code around the same set of hooks.
+
+ Currently the dri2 build will produce nouveau_dri2.so which you'll need
+ to install as nouveau_dri.so if you wish to try it. The dri2 state
+ tracker doesn't make it easy for a driver to support both paths in the
+ same binary.
+
+commit b46fcf25be4d1d5a5d072fbce03c2490bf41203f
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Wed Mar 18 08:21:32 2009 +1000
+
+ st/dri2: use pipe_screen.is_format_supported to choose depth/stencil format
+
+commit 5deefb7ea5a3c545a6b275d50753d1f232c905d5
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Mar 17 13:11:55 2009 -0700
+
+ r300-gallium: Move all unsorted state into invariant state.
+
+ Gotta just slowly whittle this down.
+
+commit f822ac0fff2521b5e43c79df2e4802b5688faa3c
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Mar 17 13:10:41 2009 -0700
+
+ r300-gallium: Emit invariant state, no matter what.
+
+ It's called "invariant" for a reason. :3
+
+commit 9d5e6f66f004d7eaed905802eb761b2129f909c4
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Mar 17 13:07:44 2009 -0700
+
+ r300-gallium: Quick little cleanup of surface_fill state.
+
+commit 05318c5afab768b85648909ee957ebf537fc10a8
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Mar 17 19:50:27 2009 +0000
+
+ tgsi: Restore statement ordering.
+
+commit e87f26a9b6af3d5737325653d3cdb221278f70e2
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Mar 17 11:49:29 2009 -0700
+
+ r300-gallium: Debugging for the more sensitive card registers.
+
+ These are nearly always the cause of hardlocks, so let's dump them.
+
+commit 0f0d0b62ff3e0f1a8b6c6b6686e760cbc9a31517
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Mar 17 11:48:55 2009 -0700
+
+ r300-gallium: r500-fs: Fixup immediate->constant counting a bit.
+
+commit fbd758c55e6dc443f877bd87d5e6c54c86f61a33
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Mar 17 11:42:13 2009 -0700
+
+ r300-gallium: More query stuff.
+
+ Should work, but doesn't. At least it doesn't hardlock.
+
+commit c334ce273e946733928339b1c7f9a02ccdef1b4b
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Mar 17 10:28:32 2009 -0600
+
+ swrast: use better _swrast_compute_lambda() function
+
+ The MAX-based function can produce values that are non-monotonic for a span
+ which causes glitches in texture filtering. The sqrt-based one avoids that.
+
+ This is perhaps slightly slower than before, but the difference
+ probably isn't noticable given we're doing software mipmap filtering.
+
+ Issue reported by Nir Radian <nirr@horizonsemi.com>
+
+commit 1eee1bac1f6d911e6124daafc9b9291666d91cef
+Author: Vinson Lee <vlee@vmware.com>
+Date: Tue Mar 17 09:34:30 2009 -0600
+
+ mesa: update/fix doxygen comments
+
+commit c1f8de9954486229c294a2a65d8f66867599de75
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Mar 17 14:36:37 2009 +0000
+
+ util: Realloc takes bytes.
+
+commit f20a0155f37a3a7d3074250dfdbc8e4d3dc7d03a
+Author: Michal Krol <michal@vmware.com>
+Date: Tue Mar 17 14:27:47 2009 +0100
+
+ wgl: Port sharedtex_mt to WGL.
+
+commit ed3781fdc5a7ecbeee9f20b1d789dbc657c58cc9
+Author: Michal Krol <michal@vmware.com>
+Date: Tue Mar 17 12:41:39 2009 +0100
+
+ tgsi: Document ps_2_0 instruction set operations.
+
+commit 223bf49b201de4d841024f326c03b0f3a064ef36
+Author: Michal Krol <michal@vmware.com>
+Date: Tue Mar 17 12:31:06 2009 +0100
+
+ tgsi: Document ps_1_4 instruction set operations.
+
+commit 95ef9803daf565d104d7d313345d1c19142a5bd1
+Author: Michal Krol <michal@vmware.com>
+Date: Tue Mar 17 12:29:07 2009 +0100
+
+ tgsi: Document ps_1_1 instruction set operations.
+
+commit f07400592f54de72c7a1e4d0f672f2cefc7f514a
+Author: Michal Krol <michal@vmware.com>
+Date: Tue Mar 17 12:26:25 2009 +0100
+
+ tgsi: Begin documenting GLSL instruction set operations.
+
+commit 0ff360c8290711332360cea3ccec9c6b0cb9ea7e
+Author: Michal Krol <michal@vmware.com>
+Date: Tue Mar 17 12:21:03 2009 +0100
+
+ tgsi: Begin documenting NV_geometry_program4 instruction set operations.
+
+commit 1d2b14cf56970fe42b8f32ecfc8adce91f5248e3
+Author: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+Date: Tue Mar 17 11:33:20 2009 +0100
+
+ xdemos: Fix sharedtex_mt.
+
+ 1) Don't allow multiple threads sharing current context,
+ even if they are mutex protected.
+ 2) Remove all XLockDisplay(), XUnLockDisplay() calls, as they were
+ only workarounds for xcb.
+
+ Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+
+commit 7f1062584ec1932ff8bdf661da3965fc068e0462
+Author: Michal Krol <michal@vmware.com>
+Date: Tue Mar 17 11:34:42 2009 +0100
+
+ python: Return on unknown pixel format.
+
+commit c337bafeb99d1fb6b4f04a61b8e4a06caff11766
+Author: Michal Krol <michal@vmware.com>
+Date: Tue Mar 17 10:56:00 2009 +0100
+
+ gallium: Use `_new' name, `new' is a reserved keyword in C++.
+
+commit 1e23dac869ccc08cbb959c63fedb3c82d3187f5a
+Author: Michal Krol <michal@vmware.com>
+Date: Tue Mar 17 10:54:08 2009 +0100
+
+ gallium: Provide unprotected atomic implementation for display and miniport interfaces.
+
+commit 709b3128f3c3e9a0a52d79cc82a0cb9feb195dc1
+Author: Michal Krol <michal@vmware.com>
+Date: Tue Mar 17 10:43:04 2009 +0100
+
+ python: Fix build after refcount rework.
+
+commit 7b0c459bb495a89520be499a8ecc5bdd4e4c39a5
+Author: Michal Krol <michal@vmware.com>
+Date: Tue Mar 17 10:33:25 2009 +0100
+
+ python: Include `p_winsys_screen.h'.
+
+commit 4e1c925ef58a126f16c1d456e58329e0e2a095e3
+Author: Michal Krol <michal@vmware.com>
+Date: Tue Mar 17 10:26:38 2009 +0100
+
+ python: Do not pass screen object to pipe_buffer_reference.
+
+commit 627c2d2f0a26e01095d23bb33955bee825390c8d
+Author: Michal Krol <michal@vmware.com>
+Date: Tue Mar 17 10:18:24 2009 +0100
+
+ tgsi: Silence const pointer cast warnings.
+
+commit 175f58baa9a758919163f9ada79306294e4139ce
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Mar 16 17:00:27 2009 -0700
+
+ r300-gallium: r500-fs: Properly set up TEX/OUT.
+
+commit 307e68f73996160cdf4a05a84c112e11e0d7a3c2
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Mar 16 16:47:05 2009 -0700
+
+ r300-gallium: r500-fs: Texture insts, ABS, moar comments.
+
+commit 93ef9ec5eb3422673bfc307a27d291ff18f22f0d
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Mar 16 10:44:23 2009 -0700
+
+ r300-gallium: Clean up some code, un-special-case scalar ops.
+
+commit f1d93f60826cb95d4d19348d1ca505705c4455c6
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Mar 16 10:23:45 2009 -0700
+
+ r300-gallium: r500-fs: CMP/MOV/SWZ, negation, ADD/MAD/MUL/SUB.
+
+ Also a fair amount of cleanup.
+
+commit add896aec8783aedbaf8d0127d8da046ce2657b5
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Mar 16 09:48:07 2009 -0700
+
+ r300-gallium: Fix relocation for textures.
+
+ This keeps texture emit from invalidating CS.
+
+commit b95789ddb9ae0d8284349c6a2bb677a5b4b5573f
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Mon Mar 16 20:57:34 2009 +0100
+
+ trace: Fix memory leak
+
+commit cddf629282bd0c8bbdeb1d0b6723fce65585b313
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Mar 16 19:11:08 2009 +0000
+
+ util: bitmask data type.
+
+commit 068fd6d50b4eaa51380a7424b50db930dfce675c
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Mon Mar 16 20:32:14 2009 +0100
+
+ trace: Re-init refcounters just incase
+
+commit f73066fbd59ce2f5ce1268502850027bf4f0699b
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sat Mar 14 10:22:48 2009 +0100
+
+ trace: Dump buffer data via buffer writes
+
+commit 2f52c7f901a59c6085a60c5d1256b01a4b46c11a
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Mon Mar 16 20:14:21 2009 +0100
+
+ progs/trivial: Ignores
+
+commit 2004b99b831798a56c0c734e32efa136d3f18b23
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Mar 13 08:37:01 2009 +0100
+
+ progs/tests: Ignores
+
+commit d8445e8fe1cea08e4b3e6f510a82360b76977937
+Author: Michal Krol <michal@vmware.com>
+Date: Mon Mar 16 16:48:18 2009 +0100
+
+ python: Use transfer object to read from a surface.
+
+commit fcf93aa06d9894d2343c5d64c2c5342f8e2c6e60
+Author: Michal Krol <michal@vmware.com>
+Date: Mon Mar 16 16:10:54 2009 +0100
+
+ python: pipe_vertex_buffer's pitch member has been renamed to stride.
+
+commit 56282d79f631e871cafe0fa7780d103ea31829ed
+Author: Michal Krol <michal@vmware.com>
+Date: Mon Mar 16 16:07:55 2009 +0100
+
+ python: size is not a member of pipe_constant_buffer any more.
+
+commit 5ad17215405700accc2a2cde04a0023725633c57
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Mar 16 06:48:05 2009 -0700
+
+ r300-gallium: r500-fs: Add ABS.
+
+commit 567aead92ae1b51578b0dea4709662b0d9c130e2
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Mar 16 06:41:57 2009 -0700
+
+ r300-gallium: r500-fs: Clamp only when saturation flags are set.
+
+commit 3cce08e31326fb28ebc435065eba784d516922fd
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Mar 16 06:36:55 2009 -0700
+
+ r300-gallium: r500-fs: Working ADD and MUL, add more sop stuff.
+
+commit b9ecd7273ba80a1ac570c8116a0d37d6efa83c5f
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Mar 16 06:19:30 2009 -0700
+
+ r300-gallium: Cleanup a few things.
+
+commit d16533cc873bd120264483d6a170fb296ba24835
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Mar 16 06:14:23 2009 -0700
+
+ r300-gallium: r500-fs: MUL.
+
+commit fe1c94d8d34cbda3b6005ecb9d7a2087df8c10a9
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Mar 16 05:58:46 2009 -0700
+
+ r300-gallium: r500-fs: Stub out the simple scalar ops.
+
+ COS, SIN, and CSC are not simple.
+
+commit a22e40c29c3bf2ae546a03b6749e895fb74c2b24
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Mar 16 05:13:03 2009 -0700
+
+ r300-gallium: r500-fs: Add DPH.
+
+commit 65ec17f3203d82be5cea8f1f57a1b8db0fa8a8a3
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Mar 16 04:57:43 2009 -0700
+
+ r300-gallium: r500-fs: Add dot products.
+
+ We're cookin' now.
+
+commit c97b671d64a5f137177989a28c684a13b5cb249b
+Author: Michal Krol <michal@vmware.com>
+Date: Mon Mar 16 13:42:22 2009 +0100
+
+ gallium: Implement atomic for MSVC on x86.
+
+commit a7d42e11b4e97f19eaeb3b5ee811f04adb05b13d
+Author: Michal Krol <michal@vmware.com>
+Date: Mon Mar 16 13:07:22 2009 +0100
+
+ gallium: Implement atomic interface for windows user mode subsystem.
+
+commit 102cb5c9cd5ce12fc43828e44e7baf390d4c351d
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Mar 13 16:21:30 2009 +0000
+
+ scons: Promote declaration-after-statement to error. Detect more warnings.
+
+commit e5a3aa5672af11f69daa67182123cdf353eecbde
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Mar 13 16:16:00 2009 +0000
+
+ progs: Try to read the texture from the current dir, if full path fails.
+
+commit aa85973f95b8ccce1964c9bbbfb1e411c4b31cbd
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Mon Mar 16 12:51:50 2009 +0100
+
+ Fixup previous commit.
+
+ radeonScheduleSwap() already takes the lock in the SwapBuffers case, only
+ the CopySubBuffer case was missing it.
+
+commit ed7bb2c196cbe9df8d56ab409da459a9dc4894b4
+Author: Michal Krol <michal@vmware.com>
+Date: Mon Mar 16 12:39:07 2009 +0100
+
+ gallium: Use macro parameter names consistently.
+
+commit bf6ed0b9625283fa7ca00f8fcdcf8fa4460befdd
+Author: Michal Krol <michal@vmware.com>
+Date: Mon Mar 16 12:36:22 2009 +0100
+
+ gallium: pipe_mutex_init() is of type void.
+
+ Both the windows and fallback versions are void already.
+
+commit 13dad5294b793cb1e4fe2b18e4d33c26096253a5
+Author: Michal Krol <michal@vmware.com>
+Date: Mon Mar 16 12:27:47 2009 +0100
+
+ gallium: Include p_compiler.h for integer types.
+
+commit 47c18b35b0346e6b456dae4a883fcc743811ef8e
+Author: Michal Krol <michal@vmware.com>
+Date: Mon Mar 16 12:22:50 2009 +0100
+
+ softpipe: Use p_atomic_read, not atomic_read.
+
+commit cf25ef9072f5290d228a381727c4ff921b0c60d6
+Author: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+Date: Fri Mar 13 15:47:18 2009 +0100
+
+ gallium: Use struct pipe_atomic for pipe refcounts.
+
+ Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+
+commit fc1ef97c3349588cd33a22dc88ab30b6f701000e
+Author: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+Date: Mon Mar 16 11:40:18 2009 +0100
+
+ gallium: Add simple atomic class api.
+
+ Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+
+commit 9c591c52c7a9a75fc1f5822ed2f5e7e82ab396a5
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Mon Mar 16 11:33:14 2009 +0100
+
+ radeon: Take the hardware lock for swaps and flips.
+
+ Otherwise they fail with AIGLX at least.
+
+commit 1f3fe405547f2ad94d1c6140b0494297640dbe6e
+Author: Michal Krol <michal@vmware.com>
+Date: Mon Mar 16 10:24:16 2009 +0100
+
+ tgsi: Begin documenting NV_gpu_program4 instruction set operations.
+
+commit bf3759e0d458029972433b905d0575a8e6a79d68
+Author: Michal Krol <michal@vmware.com>
+Date: Mon Mar 16 10:04:51 2009 +0100
+
+ tgsi: Document NV_vertex_program3 instruction set operations.`
+
+commit ad908465f1e0f6d87cdd75622602b2fe3b487f5f
+Author: Michal Krol <michal@vmware.com>
+Date: Mon Mar 16 09:45:23 2009 +0100
+
+ wgl: Port glthreads to WGL.
+
+commit 9ba52e12688d6f677c2241729776e6bf10737d4b
+Author: Michal Krol <michal@vmware.com>
+Date: Mon Mar 16 09:12:21 2009 +0100
+
+ mesa: Silence compiler warnings.
+
+commit 877aaad06dbaab3beadd4fe6da2b934bf035002c
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Mar 16 00:30:56 2009 -0700
+
+ r300-gallium: r500-fs: Actually handle consts and imms correctly.
+
+ This makes mad.txt draw correctly. Yay!
+
+commit 5bc456284933f47151a56a93480de39cd8751953
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Mar 16 00:29:37 2009 -0700
+
+ r300-gallium: Emit constants as floats, not uints.
+
+commit 97e4caa33a00392ed81965f44568fd9722117868
+Author: michal <michal@wmvare.com>
+Date: Mon Mar 16 08:08:09 2009 +0100
+
+ python: Include missing `p_compiler.h' header.
+
+commit 54942518905edfdf41233dd4d34b77637e7d9b25
+Author: michal <michal@wmvare.com>
+Date: Mon Mar 16 06:48:25 2009 +0100
+
+ python: Do not pass shader_state to util shader functions.
+
+commit 38b074495a9f03057c40b814b65d0ca5af6118a4
+Author: michal <michal@wmvare.com>
+Date: Mon Mar 16 06:44:16 2009 +0100
+
+ python: Use transfer objects to initialise texture data.
+
+commit f6c3edb308316483b64d93b912bee670eac9f5ad
+Author: michal <michal@wmvare.com>
+Date: Mon Mar 16 06:06:31 2009 +0100
+
+ python: Use new bypass_vs_clip_and_viewport rasteriser flag.
+
+commit f197a8b9166f7d40c7f1ddd800054d6274ec1c24
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun Mar 15 23:42:42 2009 -0700
+
+ r300-gallium: Fix vertex memory offsets.
+
+ Wow, I must have been asleep when I made that mistake.
+
+commit 4f5678c1eb635cb961502cc8adf1eadb9cc46447
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun Mar 15 23:05:55 2009 -0700
+
+ radeon-gallium: Add my R580 to the xorg PCI ID list.
+
+ At some point, going to have to grab the big list from xf86-video-ati.
+
+commit 44adea1a0975ebad59790b9cfd03439aa44559fc
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun Mar 15 23:04:49 2009 -0700
+
+ r300-gallium: r500-fs: Setup immediates.
+
+ Textures still not working. RS block shenanigans expected.
+
+commit 1e56bb890bff5a9750dbd439e91ce03c87a750b8
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Mar 12 12:15:56 2009 -0700
+
+ dri2-gallium: Add occlusion query support at the state tracker level.
+
+commit 7c204c975381b0ef4a7693827ffc4ff904de991c
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Mar 12 12:14:35 2009 -0700
+
+ r300-gallium: Actually set stride when creating textures.
+
+ Duh.
+
+commit 61c65a6c7e809e61bfaf5f84240bfc62d5adcf52
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Mar 12 12:13:53 2009 -0700
+
+ r300-gallium: r500-fs: Add writemasks and some flexibility for MOV/SWZ.
+
+commit c5742cab195a77b2a075950f9d7812faeacb6621
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Mar 12 12:13:02 2009 -0700
+
+ r300-gallium: Always rasterize at least one color.
+
+commit 954a9fadad6a35ba360f4f28499fda74947d37fb
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Mar 12 12:12:26 2009 -0700
+
+ r300-gallium: Fix spacing.
+
+ It was driving me crazy.
+
+commit 8ae04f3c46e7ac26a71e00759a2b25fd35a4d8d6
+Author: Michal Krol <michal@vmware.com>
+Date: Sun Mar 15 10:22:35 2009 +0100
+
+ vbo: Silence integer-to-pointer warnings.
+
+commit 474399ddd635a2d90a6bcbf074c6c9a43b7cfd3b
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sat Mar 14 20:20:56 2009 -0400
+
+ mesa: .gitignore
+
+commit 8b45de9aa1f92630b3c92847e20fc68d7b202edd
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sat Mar 14 20:19:47 2009 -0400
+
+ nouveau: bypass_vs_clip_and_viewport
+
+commit 683e7091a953204c9aee1410ac44be3b69bae9fc
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Mar 13 16:04:52 2009 +0000
+
+ gallium: consolidate bypass_vs and bypass_clipping flags
+
+ The draw module provides a similar interface to the driver which
+ is retained as various bits of hardware may be able to take on
+ incremental parts of the vertex pipeline. However, there's no
+ need to advertise all this complexity to the state tracker.
+
+ There are basically two modes now - normal and passthrough/screen-coords.
+
+commit fa0f48504a32642d688d4b81f62eea54c693b23f
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Mar 13 16:22:35 2009 +0000
+
+ gallium: no need to keep a copy of shader tokens in state tracker
+
+ Any driver who needs a copy of the shader tokens must organize to
+ do so itself. This has been the case for a long time, but there
+ was still defensive code in the state tracker, which is now removed.
+
+ Any bugs resulting from this need to be fixed in the offending driver...
+
+commit b3be1651f4a45660b447881f7c61c03a1b24302a
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Mar 13 15:49:49 2009 +0000
+
+ mesa/st: add check for null front renderbuffer
+
+ Not sure if this indicates a problem elsewhere, but without this check
+ trivial/tri-fbo.c segfaults on resize. With the patch, it renders
+ correctly.
+
+commit af34fa316db32c09e0753f58d8275a357e187729
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Mar 13 15:45:21 2009 +0000
+
+ mesa/st: don't call finish in st_glFlush()
+
+ It is not the state tracker's responsibilty to inject sleeps and
+ pessimize performance in the hope of avoiding buffer synchronization
+ issues in buggy drivers.
+
+ Calling finish() here will just hide problems that need to be fixed
+ elsewhere.
+
+commit 7d6478cfccf03c87f2b9daa541ae486dc24bb388
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Mar 13 09:17:30 2009 -0600
+
+ i965: more register number assertions
+
+commit a10ec13143599344ecb4a486db1454b488cd9645
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Mar 13 09:17:08 2009 -0600
+
+ i965: add some register number assertions
+
+ Haven't seen failures yet, but if/when there are, more investigation will
+ be done.
+
+commit 2cf296186e2a2a635a461b2498d4afa7762656f5
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Mar 13 09:15:58 2009 -0600
+
+ i965: remove unused PROGRAM_INTERNAL_PARAM, added comment
+
+commit 24d4ee98d48d9908fe77d042b9d6fab1379e196a
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Mar 13 09:14:32 2009 -0600
+
+ i965: move declarations before code
+
+commit 460ee86d60112aa6417fbedb41dfe22a51e53927
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Mar 13 09:13:37 2009 -0600
+
+ i965: debug code, use gl_register_file type
+
+commit 4eda17d19231ce4b65e9c8c267c55d718cbcfb4c
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Mar 13 09:11:42 2009 -0600
+
+ mesa: glUseProgram() debug code (disabled)
+
+commit d5d5b27224f5d189158ec4218ba4f269a26278bd
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Mar 13 02:20:57 2009 +0100
+
+ trace: Fix some typos
+
+commit 583d29373452764e4c902c3b04543a9056456eeb
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Mar 13 08:45:39 2009 -0600
+
+ mesa: improve another _mesa_problem() call
+
+commit ccad1e45289b83d045cf7264f391f7502ef81110
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Mar 13 08:45:11 2009 -0600
+
+ mesa: add GL_DUDV_ATI cases in calculate_derived_texenv()
+
+commit fcb0d8968dfb32d26219f7671866f993be5f548c
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Mar 13 08:38:32 2009 -0600
+
+ mesa: more info in _mesa_problem() call
+
+commit 4681a1d1eeb2aa8dfaf3af02c37e9ccd9a523565
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Mar 13 08:36:51 2009 -0600
+
+ mesa: added 1D/3D fetch_texel functions for DUDV8
+
+commit 8132405d52f0a631056abff4a98abe0bd0f0608d
+Author: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+Date: Fri Mar 13 15:03:50 2009 +0100
+
+ xdemos: Add multithreaded sharedtex_mt.
+
+ Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+
+commit 48012157ba56d5ed5566e6170b0f253b4e68ef28
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Mar 13 11:37:17 2009 +0000
+
+ vp: add test for pointsize output
+
+commit f22574be95ccfb21058699f5e27e684abc87dac9
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Mar 13 11:47:57 2009 +0000
+
+ scons: Use -Wdeclaration-after-statement
+
+commit 188a3334f8957e9a4dd3fd169716be4dd2979b05
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Mar 12 12:30:55 2009 +0000
+
+ progs: Add util to cpp path.
+
+commit dbc3e8e93f6dc7540ace4d5c543204bdad0d0d71
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Mar 13 11:17:03 2009 +0000
+
+ progs/vp: add keys for point prims, etc, and various new tests
+
+commit f500f3a72c6be61ff9b8e1166f734e408d00aded
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Mar 13 10:38:41 2009 +0000
+
+ gallium: Remove do_flip argument from surface_copy
+
+ I should have gotten most uses and implementation
+ correctly fixed, but things might break.
+
+ Feel free to blame me.
+
+commit f786e46cf4fbf50a1cacfb81e22ee155ffe6edd3
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Mar 12 19:42:14 2009 -0600
+
+ mesa: added GL_DU8DV8_ATI case in _mesa_components_in_format()
+
+ This gets hit when glTexSubImage2D() is called with format==GL_DU8DV8_ATI.
+
+commit 1826ff3fb34e9fb19bc8d8dee2cce5280da5e069
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Mar 12 18:23:41 2009 -0600
+
+ mesa: override_internal_format() function for debug/test purposes (disabled)
+
+commit 8a8919a7ddd2348c4a4cbcbab2358c49e47e2ea5
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Mar 12 18:21:07 2009 -0600
+
+ mesa: improve some error messages
+
+commit 3b946cde45f214be08edfbb716034d407a13c6b4
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Mar 12 17:15:00 2009 -0600
+
+ i965: move declaration before code
+
+commit dbc9a1d33b5b047a6497d47cda224df6da200302
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Mar 12 17:14:13 2009 -0600
+
+ i965: fix const correctness
+
+commit 6b9c1446b35cb33d73bd8ea7aeed8d219d0a9989
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Mar 12 17:13:00 2009 -0600
+
+ i915: move declarations before code
+
+commit 6c5804172a4ab3b960be6e64869a9376ec18010d
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Mar 11 14:32:45 2009 -0600
+
+ i965: comments
+
+commit 8e1b2bac8be4f3a46d7d1c33f43b66c669f3971e
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Mar 12 17:21:20 2009 -0600
+
+ config: add -Wdeclaration-after-statement to linux config
+
+ Should help to catch Windows build issues earlier.
+
+commit 8b2ecfdd5c883d4c86b7cc1252671ebb0fad7994
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Mar 12 17:21:05 2009 -0600
+
+ demos: move declaration before code
+
+commit 41a6a2b831bcb633fca0a539249bda8ece5e10d9
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Mar 12 16:16:08 2009 -0600
+
+ wgl: add new dispatch stubs
+
+commit 47053782b8e82f447d7d2fb590da9cced2926021
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Mar 12 16:13:44 2009 -0600
+
+ mesa: move declarations before code
+
+commit 363fc6d64fc8b813f2216b8b28414c6a2c6d2963
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Mar 12 14:14:58 2009 -0600
+
+ mesa: fix glRead/DrawBuffer(GL_AUXn) error value
+
+ If GL_AUX[123] are passed to glRead/DrawBuffer() when those buffers don't
+ exist, need to generate GL_INVALID_OPERATION, not GL_INVALID_ENUM.
+
+ This regression came from commit 555f0a88182e2b1af809b2d97abdac02814a2f28
+
+commit 29309b45b011b4c44721b8f7346272fb22a4d4c2
+Author: Robert Ellison <papillo@vmware.com>
+Date: Thu Mar 12 11:46:31 2009 -0600
+
+ i965: fix polygon stipple when rendering to FBO
+
+ The polygon stipple pattern, like the viewport and the
+ polygon face orientation, must be inverted on the i965
+ when rendering to a FBO (which itself has an inverted pixel
+ coordinate system compared to raw Mesa).
+
+ In addition, the polygon stipple offset, which orients
+ the stipple to the window system, disappears when rendering
+ to an FBO (because the window system offset doesn't apply,
+ and there's no associated FBO offset).
+
+ With these fixes, the conform triangle and polygon stipple
+ tests pass when rendering to texture.
+
+commit a9a214cc7fb59713f5fcbd207caf45becf1ec2b8
+Author: Michal Krol <michal@vmware.com>
+Date: Thu Mar 12 11:56:23 2009 +0100
+
+ tgsi: Localise SCS code.
+
+commit 321634d80b48e33b4e9572d99e82c45c65701dd1
+Author: Michal Krol <michal@vmware.com>
+Date: Thu Mar 12 11:54:11 2009 +0100
+
+ tgsi: Rewrite NRM opcode, store 1.0 in W component.
+
+commit d4ea9a26524c2d0abe4cc6452dcb5c18afb6835d
+Author: Michal Krol <michal@vmware.com>
+Date: Thu Mar 12 11:44:12 2009 +0100
+
+ tgsi: Begin documenting NV_fragment_program2 instruction set operations.
+
+commit 98399eeda06c4065900e2aec25f762e1e1b9e7dc
+Author: Michal Krol <michal@vmware.com>
+Date: Thu Mar 12 11:30:33 2009 +0100
+
+ tgsi: Begin documenting ARB_fragment_program instruction set operations.
+
+commit d76b3bb0a8f56d841cfea160ba0cc2494c17e44f
+Author: Michal Krol <michal@vmware.com>
+Date: Thu Mar 12 11:23:12 2009 +0100
+
+ tgsi: Document ARB_vertex_program instruction set operations.
+
+commit 8823d01f14d8522f42475e1daba3c3d73805f386
+Author: Michal Krol <michal@vmware.com>
+Date: Thu Mar 12 11:20:05 2009 +0100
+
+ tgsi: Begin documenting NV_vertex_program2 instruction set operations.
+
+commit f16da8d509e0d67eb2a697d0d566f7213d33f2bb
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Mar 12 17:21:26 2009 +0000
+
+ trivial: draw non-interleaved arrays
+
+commit 10812b079166e6d8dd414b8a0bf35b01e12bbdf0
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Mar 12 16:57:11 2009 +0000
+
+ stw: fix uninitialized variable issue
+
+commit d885c9dad15b64fd40c4c4d5cda6713a3e06a9ae
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Mar 12 16:56:24 2009 +0000
+
+ util: fix debug_assert() to avoid unused variable warnings in release builds
+
+commit e8ee34e7f34c51121dcfa6c763fc5eb900b562df
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Thu Mar 12 13:20:37 2009 +0100
+
+ trace: Wrap pipe_buffers
+
+commit 53e5248b0a71b1e72b1a613046a1b3e5d145d072
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Thu Mar 12 15:37:13 2009 +0100
+
+ trace: Add dump util functions for wrapped pointers
+
+commit 6aa6ae8cffd493fab8ef3174e9bfc6c9d72f8efb
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Mar 12 09:31:59 2009 -0600
+
+ demos: fix error string, comment
+
+commit 862dccd56054196dc5adf1377f682d0138fa1789
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Mar 12 09:30:08 2009 -0600
+
+ mesa: fix transposed red/blue in store_texel_rgb888/bgr888() functions
+
+commit 4626e57e176c54219d32f3b244f30c8bf0f3f249
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Mar 11 16:27:58 2009 -0600
+
+ demos: fix typo
+
+commit 1e074dcb7bce276d7caa5b0bdd0ce95f3313a2c1
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Mar 12 14:30:22 2009 +0000
+
+ demos: use glGenerateMipmapEXT entrypoint in cubemap.c
+
+ glGenerateMipmap() is part of ARB_framebuffer_object, which many mesa
+ drivers don't advertise. Add check for EXT_framebuffer_object.
+
+commit 45b8e76b5ced9f9fddf2d41ce8c64d2f642a5786
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Thu Mar 12 15:07:22 2009 +0100
+
+ mesa test prog for ATI_envmap_bumpmap
+
+commit 3327cc64e7fdc13d3843ccb17763f68dd381185f
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Thu Mar 12 15:06:17 2009 +0100
+
+ i965: add support for ATI_envmap_bumpmap
+
+commit 36010806a10a1d6850a3fb3f997c0fbb58196d21
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Thu Mar 12 15:04:47 2009 +0100
+
+ regenerate glapi
+
+commit 114152e068ec919feb0a57a1259c2ada970b9f02
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Thu Mar 12 15:01:16 2009 +0100
+
+ mesa: add support for ATI_envmap_bumpmap
+
+ add new entrypoints, new texture format, etc
+ translate in texenvprogram.c for drivers using the mesa-generated tex env
+ fragment program
+ also handled in swrast, but not tested (cannot work due to negative texel
+ results not handled correctly)
+
+commit b7d841b59e9087c0ba8c2726897ab1506375e4e6
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Thu Mar 12 13:20:05 2009 +0100
+
+ progs/glsl: Ignore
+
+commit 808f32279964f4e80f0708f737fdf3a901ff51e5
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Mar 11 22:45:48 2009 +0100
+
+ trace: Move buffer functions from winsys to screen
+
+commit 422512050312a880439ed4e8eb99b8e362d5071f
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Mar 11 17:42:34 2009 +0100
+
+ trace: Remove all whitespace at EOL
+
+commit 5d418f7155cfb7bf9a14e6b322831a6e6b6ad710
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Mar 11 17:37:38 2009 +0100
+
+ trace: Fixup trace a bit
+
+commit 81569c2f697586daab01486ec1da28f0a03b5c6a
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Mar 12 10:09:51 2009 +0000
+
+ mesa: add missing _glthread_INIT_MUTEX in _mesa_new_framebuffer()
+
+commit 6dceeb2eb804d708639d68a13a924d65f366458a
+Author: Robert Ellison <papillo@vmware.com>
+Date: Wed Mar 11 16:27:38 2009 -0600
+
+ i965: fix polygon face orientation when rendering to FBO
+
+ In the i965, the FBO coordinate system is inverted from the standard
+ OpenGL/Mesa coordinate system; that means that the viewport and the
+ polygon face orientation have to be inverted if rendering to a FBO.
+
+ The viewport was already being handled correctly; but polygon face
+ was not. This caused a conform failure when rendering to texture with
+ two-sided lighting enabled.
+
+ This fixes the problem in the i965 driver, and adds to the comment about
+ the gl_framebuffer "Name" field so that this isn't a surprise to other
+ driver writers.
+
+commit 548be3846db59ad43934a159c051b359db6e56db
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Mar 11 20:08:37 2009 -0600
+
+ mesa: remove some last remnants of GL_MESA_program_debug
+
+commit 4dfa3757c58255c3ad8c3fe343541d2aa677f44c
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Mar 11 19:34:41 2009 -0600
+
+ mesa: minor comments
+
+commit 590f6fe05030cb274067a9e58af9d8306d97d0b9
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Mar 11 19:23:01 2009 -0600
+
+ mesa: remove gl_texture_object::_Function field and associated code
+
+ It was only used in one place in swrast.
+
+commit 7d9cb242fdbb55f1486ec09b27709bedebfdb2c1
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Mar 11 19:00:25 2009 -0600
+
+ intel: include main/viewport.h
+
+commit d375a3bdda68a22972f18e9ee2ba5786c5e6757d
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Mar 11 15:20:16 2009 -0700
+
+ r300-gallium: Don't flush textures more than necessary.
+
+commit f78bd5922db220b1b5e21c92e6a0cb78189a77f3
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Mar 11 15:09:56 2009 -0700
+
+ r300-gallium: Fix texture filters.
+
+commit cec2170632a664da273c0e80ad1ead5cd43667a3
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Mar 11 15:05:52 2009 -0700
+
+ r300-gallium: r500-fs: More texture fixes.
+
+commit c4c1774bbb08022846eefd14df683c7644f5e421
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Mar 11 14:26:25 2009 -0700
+
+ r300-gallium: r500-fs: Add shader dumper and more tex work.
+
+commit ddf31d0e315faba6a9519cc12e4b480ede38deb2
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Mar 11 11:54:53 2009 -0700
+
+ r300-gallium: Fix CS count for texture emit.
+
+commit 6b1596aed3fccc6f6edbbb931f8eca96a7163b9d
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Mar 11 11:23:15 2009 -0700
+
+ r300-gallium: r500-fs: Add SWZ.
+
+commit ddba20b064253f0556e078157ba6ff8f3250441b
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Mar 11 03:24:19 2009 -0700
+
+ r300-gallium: Fix CS count in fb state emit.
+
+commit d13e4bd1cbb1ef1ef2ed69d24bc8da790a10bdd3
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Mar 10 20:43:11 2009 -0700
+
+ r300-gallium: Start swizzles.
+
+commit 8b212503052b767561d85108c435f375e0228f44
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Mar 10 15:40:41 2009 -0700
+
+ r300-gallium: Begin R500 fragment shader assembler.
+
+ I love it so much. I also hate it a lot.
+
+commit 04465bb6df5a9845425a9c163ef3869019376374
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Mar 11 13:06:13 2009 -0600
+
+ i965: fix lock-ups when GLSL program wrote to gl_FragDepth
+
+ It seems the code that set up the FB_WRITE message was incomplete in this
+ case. The number of payload registers was wrong and that caused a hang.
+
+ It would be good to have a second set of eyes take a look at this...
+
+commit b6b198ea1b52601d2b9acc210ed9a8727b59146a
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Mar 11 14:27:54 2009 +0100
+
+ trace: Fixup trace a bit
+
+commit b6c7db8debaba2446de62efbabb2efb5b374cc5b
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Wed Mar 11 13:33:49 2009 +0000
+
+ xdemos: On termination with `esc` close the contexts correctly.
+
+commit 5146b3f8fcafda69ded05a55ec4d54ae2aed35d1
+Author: Michal Krol <michal@vmware.com>
+Date: Wed Mar 11 13:49:43 2009 +0100
+
+ tgsi: Implement RFL, SFL, STR, X2D opcodes.
+
+commit 9ffe66760cca6696de21b35430a7553b987f7365
+Author: Michal Krol <michal@vmware.com>
+Date: Wed Mar 11 12:52:20 2009 +0100
+
+ tgsi: Begin documenting NV_fragment_program instruction set operations.
+
+commit ae7ae570ef9f61073a2c0e4b77fc23094767f74c
+Author: Michal Krol <michal@vmware.com>
+Date: Wed Mar 11 12:10:16 2009 +0100
+
+ tgsi: Implement RCC opcode.
+
+commit 94cf8ea3b69038a1245c0b4546dbd8e4a32725f5
+Author: Michal Krol <michal@vmware.com>
+Date: Wed Mar 11 11:55:27 2009 +0100
+
+ tgsi: Document NV_vertex_program1_1 instruction set operations.
+
+commit ddf7d8fe01a3db6f1107e2cb01e91d90b6bd11c6
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Mar 10 16:17:28 2009 -0600
+
+ i965: more code clean-ups, comments
+
+commit 76ff6d40f489f845ddf2ef33a3e5570f4544b7e9
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Mar 10 15:54:28 2009 -0600
+
+ i965: minor code clean-ups, comments
+
+commit 9c781de015f32b2caadd5a6d999cc6885188a4a4
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Mar 10 15:53:33 2009 -0600
+
+ i965: use new cast wrappers
+
+commit 294a473f7adfb34a64813e973113ffd6a7ef2583
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Mar 10 15:52:28 2009 -0600
+
+ i965: added cast wrappers, comments
+
+commit 13177f03fc19b67b909dee2272c44bc2e5f9afc3
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Mar 10 15:43:46 2009 -0600
+
+ i965: asst. code clean-ups, comments
+
+commit 6bed5caf885736221e99e2ac383a761e85f21775
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Mar 10 15:34:07 2009 -0600
+
+ i965: fix typos in comments
+
+commit d861d589a8f2fea4fbaa36b1533b4873c51c9f89
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Mar 10 18:15:05 2009 -0600
+
+ glsl: remove _slang_attach_storage() function
+
+ This was used to handle both variable declarations and references to variables.
+ Instead, just do storage allocation and assignment for declarations and
+ references, respectively.
+
+ This is a step toward better var/uniform allocation (only allocate storage
+ for vars/uniforms that are actually referenced by the code).
+
+commit b78463cbad0b1f4191b3b235b70625651eeefb05
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Mar 10 17:23:36 2009 -0600
+
+ glsl: some clean-ups, remove old assertions, add new assertions
+
+commit 0522624c834fc6d4a8803cc469af9dc6f3d4ee14
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Mar 10 17:09:52 2009 -0600
+
+ glsl: remove stray/unneeded totalSize assignment
+
+commit 3c1ce2d64919e0fb9b28f0697addb87708f4f6ed
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Mar 10 10:16:37 2009 -0600
+
+ mesa: fix dumb sizeof() vs. strlen() mix-up
+
+commit 8dff9f349fb55118d74a0b6597722f67a5c930d4
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Mar 10 09:04:28 2009 -0600
+
+ glsl: fix typo: s/vec4_tex1d_proj/vec4_tex_1d_proj/
+
+ This regression came from commit c0b59420eec5ffdf22a5919d38851c3620b97c09.
+
+commit a58065d4e2fc29644d804c92be773731242664c5
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Mar 10 13:11:23 2009 +0000
+
+ progs/tests: compile with SCons and glew
+
+ Also get mingw cross-compilation of these tests working
+
+commit 225de01f83b58a09adfad47a5d71bece63a6ebfd
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Mar 10 11:39:41 2009 +0000
+
+ trivial: add a logic op test
+
+commit 646f518e7869dfd0d654ee75923bea622c1a9474
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Mar 9 19:34:13 2009 +0000
+
+ vpglsl: add simple mov.glsl
+
+commit 38afa2934077ce1cf67d1c553f872d1e14fb0794
+Author: Michal Krol <michal@vmware.com>
+Date: Tue Mar 10 10:24:54 2009 +0100
+
+ tgsi: Untabify.
+
+commit ca066f05cd5ad4211b88532b3d005cacf06b65bf
+Author: Michal Krol <michal@vmware.com>
+Date: Tue Mar 10 10:22:34 2009 +0100
+
+ tgsi: Implement CLAMP opcode.
+
+commit fb88908f5cea2677617499307768ead138510491
+Author: Michal Krol <michal@vmware.com>
+Date: Tue Mar 10 10:15:29 2009 +0100
+
+ tgsi: Consider INDEX, NEGATE, MULTIPLYMATRIX opcodes for removal.
+
+commit 56603044e99cefd31b8ec2d15fa3f4e72a05b62b
+Author: Michal Krol <michal@vmware.com>
+Date: Tue Mar 10 10:12:47 2009 +0100
+
+ tgsi: ARL and FLOOR opcodes have the same implementation.
+
+commit 2f8c4efe24c2cf9baec5a0c50ad53f37f9a90973
+Author: Michal Krol <michal@vmware.com>
+Date: Tue Mar 10 10:08:20 2009 +0100
+
+ tgsi: ARL is a vector instruction.
+
+commit bbf84cca572584f05927efca89ea29fa13abccb8
+Author: Michal Krol <michal@vmware.com>
+Date: Tue Mar 10 10:06:19 2009 +0100
+
+ tgsi: Note that LOG and EXP are approximations.
+
+commit 5d0f69e33d6ed7f47a4d25816c47bc3fa27356e6
+Author: Michal Krol <michal@vmware.com>
+Date: Tue Mar 10 10:04:29 2009 +0100
+
+ tgsi: Document EXT_vertex_shader instruction set operations.
+
+commit 42fc3d3fa9d7c4a9fe7e15b9ddecfd816a12f1bc
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Mar 10 02:08:59 2009 -0700
+
+ radeon-gallium: Unbreak non-RADEON_SOFTPIPE.
+
+ Hehe, sleep may be necessary now.
+
+commit d559796d6f13579ecf921a63d9f0c6c6342dc230
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Mar 10 01:54:24 2009 -0700
+
+ r300-gallium: Initial, broken, query setup.
+
+ Not going to bother unbreaking it here until it's unbroken elsewhere.
+
+commit fdfde00cd8e1465a214062e38b715787919de6e5
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Mar 10 01:52:02 2009 -0700
+
+ radeon-gallium: Unbreak RADEON_SOFTPIPE.
+
+ And there was much rejoicing.
+
+commit 8dbe4f0c356edacf479ceed106f68fa79f1668ed
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Mar 10 00:55:26 2009 -0700
+
+ r300-gallium: Unbreak fallback in surface_fill.
+
+commit b7219853af66085d859468e91606ae4ee5bae28e
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Mar 10 00:14:56 2009 -0700
+
+ r300-gallium: Fix a handful of compiler warnings.
+
+ Missing INLINE, missing declarations, extraneous definitions. The usual.
+
+commit 9d9e0815be41fa72ff5df6752b02551b648b33b6
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Mar 10 00:27:13 2009 -0700
+
+ r300-gallium: First stab at texture support.
+
+commit c9da0283e7a9b95df7762b519f6fe5b89f17ae95
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Mar 10 00:10:24 2009 -0700
+
+ r300-gallium: Moar fixes in the register file.
+
+ Sorry, but it's confusing when format0 in r300_reg != format0 in the docs.
+
+commit 0fc6c2644cf69fd1851c9387c83b0e43f820bdf2
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Mar 9 13:48:47 2009 +1000
+
+ radeon: remove unused lines
+
+commit 14c3bddbac8f9fc8e432137772f0c4772fdfb7ab
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Mar 10 19:03:07 2009 +1000
+
+ r200: enable hw clears
+
+commit 22bac2a1a0d315172f815cb8a516bfe198b0a6f3
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Mar 9 14:33:19 2009 -0600
+
+ xmesa: set back-buffer's drawable field
+
+ Fixes back-buffer rendering when MESA_BACK_BUFFER=pixmap
+
+commit ce0ac9006a4ceb42d7f07061f264e3092d03e640
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Mar 9 17:10:12 2009 +0000
+
+ vpglsl: build with scons and glew
+
+commit 0e28e1a72fd3517d6d872ac8396e800268ba3dde
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Mar 9 11:49:46 2009 -0600
+
+ demos: in progs/demos/cubemap.c press c/f to cycle through clamp/filter modes
+
+ Also generate a mipmap for the default checker images.
+
+commit 6f915b10d5963466567ea5445631192fd9c4e802
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Mar 9 11:48:39 2009 -0600
+
+ i965: fix cube map lock-up / corruption
+
+ If we're using anything but GL_NEAREST sampling of a cube map, we need to
+ use the BRW_TEXCOORDMODE_CUBE texcoord wrap mode. Before this, the GPU
+ would either lock up or subsequent texture filtering would be corrupted.
+
+commit 2b6235c9f79d3d1719601d3a92d67e20a578b626
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Mon Mar 9 17:46:49 2009 +0100
+
+ scons: Also link in additional LLVM components.
+
+ They don't seem necessary here, but they shouldn't hurt either...
+
+commit 37fdfe89ddb0cf34fd2ea2ac32858c43e3b9ae16
+Author: Kamalneet Singh <kamalneet.s@samsung.com>
+Date: Mon Mar 9 16:05:44 2009 +0530
+
+ linux-llvm config: Linking with required llvm libs
+
+commit a6f768f029f9bc18a8dd34cf13a8a3d764773703
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Mon Mar 9 17:39:14 2009 +0100
+
+ scons: Also define USE_XSHM for the glx/xlib state tracker build.
+
+ Fixes an inconsisten definition of struct xmesa_buffer between there and
+ winsys/xlib, resulting in a crash in XPutImage.
+
+commit 886ceb556e1f6ba1e51a33abd9b8c3d8214d2554
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Mar 9 09:39:21 2009 -0600
+
+ st: silence warning
+
+commit 62ef614eb3a9e28c39606657f576e320f158623e
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Mar 9 09:38:43 2009 -0600
+
+ st: remove unused DrawPixels code
+
+commit 44af5a953f4189978f698b6a26b5f7b1c6298929
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Mar 9 09:33:46 2009 -0600
+
+ st: use pointer_to_offset() cast wrapper to convert pointers to uint
+
+ Silences warnings with 64-bit builds. See comments for details.
+
+commit 9457d9ff4482f9b3796e2989e9ac3385d7d5404d
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Mar 8 12:07:41 2009 -0600
+
+ mesa: reorder register file enums
+
+commit 48b1fe12b1bdf04675e81cc203217482c4c4f328
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Mar 9 15:00:31 2009 +0000
+
+ trivial: add tri-stipple to SConscript
+
+commit fe60dbc536e2fb94cf7bc5262ebd7817c16eb9e7
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Mar 6 21:17:59 2009 +0000
+
+ st: also check for a8 texture support in bitmap code
+
+commit 1ebc92b0d02afaf8be75630bb785c70d65315c1d
+Author: Roland Scheidegger <sroland@vmware.com>
+Date: Mon Mar 9 15:53:41 2009 +0100
+
+ fix typo in fragment pipe alu define, should fix dot3_rgb tex combine
+
+commit ef5fd0b66a0ddfa1df5c39a8711dd542107c61c3
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Mar 9 14:40:34 2009 +0000
+
+ vbo: yet tighter still usage of FLUSH_NEED_CURRENT
+
+ Previous change broke redbook/polys and probably others. I'm fairly
+ sure that drivers like r300 don't need to touch
+ ctx->Driver.NeedVertices, but this code is incredibly fragile and I'm
+ not confident about removing it from there. Hopefully this gets
+ things working again.
+
+commit fb8a9875f6af28964a56e8307dd90a0b5fe97a4b
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Mar 9 14:08:35 2009 +0000
+
+ fp: enable a second texture unit and add a kil test for it
+
+commit 317687cd94d510ed72e32b0aee2782fbc123576b
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Mon Mar 9 13:27:54 2009 +0100
+
+ Fix up another instance of _mesa_unreference_framebuffer().
+
+commit 0756dc876c01a3d07da34e2da1899b340b0fb819
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Mar 9 12:17:28 2009 +0000
+
+ vbo: stricter checks on Driver.NeedFlush
+
+ This variable is being used in the r300 driver to trigger a flush under
+ circumstances unrelated to the use in the vbo module. Tighten up the
+ checks in vbo so as to avoid conflict with r300.
+
+ Reported by Maciej Cencora <m.cencora@gmail.com>
+
+commit a2aedf95d8f6ea7ecff3dc2c2f8db4a20e42e9d0
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Mon Mar 9 12:58:16 2009 +0100
+
+ gallium: Fix p_refcnt.h for C++ compilers.
+
+commit 9438ffda50c3823b57dbd7e6b3a195a5cd927198
+Author: Michal Krol <michal@vmware.com>
+Date: Mon Mar 9 08:50:01 2009 +0100
+
+ tgsi: Implement CND, CND0 opcodes.
+
+commit 5ee3c799596ce4dbc86f35da076e9bc14a50af2b
+Author: Michal Krol <michal@vmware.com>
+Date: Mon Mar 9 08:44:28 2009 +0100
+
+ tgsi: Remove redundant micro_ge() -- use micro_le().
+
+commit 0d727fa0f06cead61fe4ef753f5be34e1e6944eb
+Author: Michal Krol <michal@vmware.com>
+Date: Mon Mar 9 08:37:34 2009 +0100
+
+ tgsi: Document ATI_fragment_shader instruction set operations.
+
+commit c122cc40979b79a8dc4a529da6b375252b03db3f
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Mar 5 16:45:21 2009 +1000
+
+ r300: emit texture in GTT or VRAM
+
+commit 778cf80d9e462ca26e660dca1910328f66f6427d
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Mar 9 10:34:41 2009 +1100
+
+ r300: move firevertices out into the main place its needed.
+
+ This fixes a hang on context destruction on rs690
+
+commit 40ca02a0450af6ba281f28901d65225409080313
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun Mar 8 15:04:10 2009 -0700
+
+ r300-gallium: Unbreak trivial/point.
+
+ Oops, forgot to remove that.
+
+ Edit: And trivial/line and trivial/tri.
+
+commit 8766677ac49c7430576ba4598dfe56c1c2655852
+Author: Michal Krol <michal@vmware.com>
+Date: Sun Mar 8 19:15:47 2009 +0100
+
+ tgsi: Document NV_vertex_program instruction set operations.
+
+commit 2305642b2e8edcebdc727f1181f7dbfcc78e8028
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Mar 7 13:26:48 2009 -0800
+
+ r300-gallium: Correct vertex format setup, cleanup regs and debugging.
+
+ trivial/point no longer hardlocks.
+
+commit 46de433d27c0fab87ed917af63559846c0d33bad
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Mar 7 11:31:36 2009 -0800
+
+ r300-gallium: Clean up RS.
+
+ Wow, there were buggies by the boatload in there.
+
+commit 826297462571350b7da7ae88bb4405212991c533
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Mar 7 01:53:42 2009 -0800
+
+ r300-gallium: Move a few registers.
+
+ These shouldn't be written if not on TCL HW.
+
+commit 460e5b11c98e07d12c655e5bf2f1e993d05bd7a1
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Mar 7 13:30:03 2009 -0700
+
+ mesa: s/int/GLsizeiptr/ to silence warning with 64-bit build
+
+commit 799f55803d15602b10d2bb97ff62792f05ce4de3
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Mar 7 13:23:08 2009 -0700
+
+ gallium: use unsigned long to silence warnings with 64-bit build
+
+commit 3377cd535e6db420c762a0cc0f73fd8fa63a5bc1
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Mar 7 13:20:50 2009 -0700
+
+ r300: remove assignment to removed StringPos field
+
+commit 4045a2c7d302352646c1ff2a01cd531aa1b55d31
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Mar 7 13:14:37 2009 -0700
+
+ mesa: move shared context state functions to new shared.c file
+
+commit 2e798e4b7e5956dbf3c7fde18f408b5d4c1b151c
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Mar 7 12:42:34 2009 -0700
+
+ vbo: make bind_array_obj() code a little more concise
+
+commit 39c203507a78fe0e090298ebdeb4b5592aa15547
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Mar 7 12:36:16 2009 -0700
+
+ mesa: use @ to silence some Makefile output
+
+commit 2c3785159574e6c8640b6af3ce2ef561d095f324
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Mar 7 12:33:11 2009 -0700
+
+ mesa: move glViewport and glDepthRange functions into new viewport.c file
+
+ A bit of refactoring with an eye toward ES2 and GL 3.1
+
+commit 4de5abee3938ee1d186629a70b04a98a74f50c97
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Mar 7 12:11:44 2009 -0700
+
+ swrast: remove old comment
+
+commit 2ee5ba0411de9c6cb17326a1f4a6c316295dae69
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Mar 7 12:09:33 2009 -0700
+
+ swrast: rename s_buffers.c -> s_clear.c
+
+commit b4026d9be828bd0b6f60158456edf24994efb053
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Mar 7 12:02:52 2009 -0700
+
+ mesa: gl_register_file enum typedef
+
+commit 69e07bdeb42f2454f5052f86119adfb68f253098
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Mar 7 11:53:18 2009 -0700
+
+ mesa: remove GL_MESA_program_debug extension
+
+ This was never fully fleshed out and hasn't been used.
+
+commit 34e77493ce451e888a5c4292e3b5d49063d6d0a6
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Mar 7 11:49:45 2009 -0700
+
+ mesa: silence warning
+
+commit 0f04a1d3f8989b0a391e6dad80abf06ce151d1f1
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Mar 7 11:32:18 2009 -0700
+
+ mesa: remove last of _mesa_unreference_framebuffer() calls
+
+commit 1386e8a6ba9732c578e0122de245abfd578a7d1d
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sun Mar 8 02:41:30 2009 +1000
+
+ radeon: fix cut-n-paste typo
+
+commit b125af1d2587d8e69218010ebba0b748467158a9
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Mar 7 14:05:19 2009 +0100
+
+ r300: shut up valgrind
+
+ It complained about uninitialized values
+
+ Signed-off-by: Nicolai Haehnle <nhaehnle@gmail.com>
+
+commit ec1476bf31f00f5091e2a568b277962d8b667248
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Mar 7 00:55:10 2009 -0800
+
+ r300-gallium: Typo in assert.
+
+commit 709ebabb26e20c171741338a3a9e9626ae87aa87
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Mar 7 00:51:11 2009 -0800
+
+ r300-gallium: Emit vertex size.
+
+ Not actually going to make a difference right now, but might as well.
+
+commit dcd7f1c0551812cf39ca6a3af9f1610ad84fb24e
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Mar 7 00:42:12 2009 -0800
+
+ r300-gallium: A bit more vertex format fixup.
+
+commit 67f2c6054c7303547c790f283ab3d124ac60a276
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Sat Mar 7 17:28:08 2009 +1000
+
+ nouveau: use bo_handle_ref instead of bo_fake to get front-buffer bo
+
+ This'll work on non-GEM also as the DDX will just pass an offset, and
+ libdrm_nouveau knows to treat "handle" as a VRAM offset. When running
+ on GEM the DDX (it doesn't yet, but will) passes a buffer handle
+ instead.
+
+commit 22125f63b9b25bd648513f5b680f73e3f80cc1dc
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Sat Mar 7 17:24:19 2009 +1000
+
+ nv50: simplify tesla object selection
+
+ GeForce 8/9 are a bit more consistent than nv40 so far, so this was
+ overkill before.
+
+commit 51fa4d47eac58c98c5b265e15a7dbf961ecbda4e
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Sat Mar 7 17:21:15 2009 +1000
+
+ nouveau: fix more breakage from pipe_reference..
+
+commit ca95d71a4bc63e2ea45abf9096a3da802819ef92
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Sat Mar 7 17:14:24 2009 +1000
+
+ nouveau: make stateobjs start off with refcount of 1
+
+commit f2ec26cf52fcbf98139cb9e31520183189d09861
+Author: Victor Stinner <victor.stinner@haypocalc.com>
+Date: Fri Mar 6 14:03:15 2009 +0100
+
+ Fix nv50_screen_create()
+
+ Setup screen->pipe before using it (screen->constbuf =
+ screen->pipe.buffer_create(...))
+
+commit 19229fcf3a6eaf5e64b10b43aa5e8619444791b4
+Author: Victor Stinner <victor.stinner@haypocalc.com>
+Date: Fri Mar 6 13:52:19 2009 +0100
+
+ Fix nouveau_pipe_create() / nouveau_context_init(): raise an error if the screen/pipe creation failed
+
+commit f881035fd84add859b3e3dc4721eddd027005f49
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sat Mar 7 17:23:40 2009 +1100
+
+ rs690: fix r300 swtcl bug in DMA code.
+
+ When we finish emitting swtcl objects, we request space in the cmdbuf,
+ and flush if no space exists. However in this case we also flush
+ the DMA buffer we just put the vertices we wanted to send in.
+
+ This checks in advance if we have space in the buffer.
+
+commit a06dd4de8756d7ebe99ed414c8d8dca5083241b8
+Author: Alan Coopersmith <alan.coopersmith@sun.com>
+Date: Wed Jul 16 12:47:27 2008 -0700
+
+ Add Solaris to OS'es using PROT_EXEC mmap() to get executable heap space
+
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
+
+commit 6ebd6c898a3ec350d1f62ccd66d2b6138275d35c
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Mar 6 19:07:13 2009 -0800
+
+ r300-gallium: Fix masking on vertex formats.
+
+ Gah, what a simple yet terrible mistake.
+
+commit 95476635c5a5543f12f5b75bc43e5fcca6335e3c
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Mar 6 14:23:20 2009 -0800
+
+ r300-gallium: Remove unknown regs.
+
+ Leftovers from fglrx traces, probably.
+
+commit e23e93b7b400d1a4c7049b6f22f39cc7148a97f7
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Mar 6 14:13:21 2009 -0800
+
+ r300-gallium: Actually do framebuffer setup.
+
+ Can't believe this wasn't wired up.
+
+commit fc96ac3c047da0ad7a44a7c938e6dcba8cdd01bd
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Mar 6 13:31:13 2009 -0800
+
+ r300-gallium: Make sure registers are inside BEGIN/END CS.
+
+commit 7e45d68d4d0acedd53f365aa0adf93ede2d171bf
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Mar 6 13:18:12 2009 -0800
+
+ r300-gallium: Separate out fog block.
+
+ We'll never actually use fog block. (I hope.)
+
+commit 0945b78244d6a86dbe3c35f4cfcd6a9ff524930e
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Mar 6 15:45:01 2009 -0700
+
+ glsl: call the program optimizer
+
+ This still needs more testing bug glean and Mesa GLSL tests seem OK.
+
+commit e60b3067d81319236d63ad497e70658fd2e14eb3
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Mar 6 16:00:25 2009 -0700
+
+ i965: check if we run out of GRF/temp registers
+
+ Before this change we would up emitting instructions with invalid register
+ numbers. This typically (but not always) hung the GPU. For now, just
+ prevent emitting bad instructions to avoid hangs. Still need to do some
+ kind of proper error recovery.
+
+commit d42cfa6e6ea458a3eb05310d4c25acc777820fea
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Mar 6 15:55:33 2009 -0700
+
+ mesa: added _mesa_read_shader() function to read shaders from files
+
+ Useful for debugging to override an application's shader.
+
+commit 2eacc4aafaa1a00135255f6025e82102dd4adbaa
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Mar 6 15:39:14 2009 -0700
+
+ i965: bump up BRW_EU_MAX_INSN
+
+ This is the size of the intermediate instruction buffer.
+
+commit 82f1c0be1325130ab03d3bef629264618924b897
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Mar 6 16:18:22 2009 -0700
+
+ mesa: add new program optimizer code
+
+ This is pretty simplistic for now, but helps with certain shaders.
+
+commit faae1994c97746a74f68abeeafd69b27f9651d19
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Mar 6 13:37:48 2009 -0700
+
+ i965: comments
+
+commit f874dc63952a347d4b3af8b889096a3e3a334f24
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Mar 6 12:32:55 2009 -0700
+
+ i965: comments and minor clean-ups
+
+commit 5cbd1170da0a902fdc9c460584bc503b0c4085a6
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Mar 6 16:04:53 2009 -0700
+
+ i965: avoid unnecessary calls to brw_wm_is_glsl()
+
+ This function scans the shader to see if it has any GLSL features like
+ conditionals and loops. Calling this during state validation is expensive.
+ Just call it when the shader is given to the driver and save the result.
+
+ There's some new/temporary assertions to be sure we don't get out of sync
+ on this.
+
+commit 99e4809f5d2126db36ec652e07bc8e77f1383a84
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Tue Feb 17 13:30:33 2009 +0100
+
+ r300: fix depth write regression (found by Nicolai Haehnle)
+
+ Signed-off-by: Nicolai Haehnle <nhaehnle@gmail.com>
+
+commit 0828bfaa4534615e29284c95df7435883dbeb735
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sun Feb 15 21:58:18 2009 +0100
+
+ r300: enable EXT_fog_coord extension
+
+ Remove fixed function fog setup.
+
+ Signed-off-by: Nicolai Haehnle <nhaehnle@gmail.com>
+
+commit 7ad7abc4cd5c94b83feea4553ffb5a69d8ad4757
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sun Feb 15 20:57:32 2009 +0100
+
+ r300: route fog coord and W pos correctly
+
+ Also cleanup sw tcl vertex buffer setup
+
+ Signed-off-by: Nicolai Haehnle <nhaehnle@gmail.com>
+
+commit d8b8fb68954e6eebd0b38708c25a5bec4cf1a26c
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Wed Feb 18 10:42:01 2009 +0100
+
+ r300: rewrite and hopefully simplify RS setup
+
+ Testing and regression fixes by Markus Amsler
+
+ Signed-off-by: Nicolai Haehnle <nhaehnle@gmail.com>
+
+commit 25dfbb03f8acf91a707d722af2336821dd73b8ff
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Wed Feb 4 13:40:48 2009 +0100
+
+ r300: add few macros for RS setup
+
+ Signed-off-by: Nicolai Haehnle <nhaehnle@gmail.com>
+
+commit ee56c5e73b644c81255489d08ef66722d1565f53
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sun Feb 8 02:28:27 2009 +0100
+
+ r300: silence valgrind
+
+ Signed-off-by: Nicolai Haehnle <nhaehnle@gmail.com>
+
+commit 3fa6a6df755849c2fa84df5f02756967bdf8ca0d
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Wed Feb 4 13:37:57 2009 +0100
+
+ r300: Print reg address when debugging is enabled
+
+ Signed-off-by: Nicolai Haehnle <nhaehnle@gmail.com>
+
+commit 185ff38895cfc1376f21d892b122235ed0563922
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Mar 6 21:15:19 2009 +0000
+
+ fp: add some more texture, position and kill tests
+
+commit 2dd9a0197cf3d4d8ee5808c613fab9a256b9a0e6
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Mar 6 20:42:40 2009 +0000
+
+ fp: new kill + position test
+
+commit 52a68b9078bdcf817363c4542252f284292d19f8
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Mar 6 18:53:56 2009 +0000
+
+ fp: dont reference fragment.position.zw
+
+commit b258320dbd0dae943bb817aded392796501a6cde
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Mar 6 11:05:09 2009 +0000
+
+ engine: also print fps data to stdout
+
+ Useful for figuring out how much of a perf impact the glBitmap fps
+ display has on a given driver.
+
+commit 005ad1a71d8de318a69ba18d896677d89602e0db
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Fri Mar 6 20:14:36 2009 +0100
+
+ r300: don't crash on sw tcl hw if point size vertex attrib is sent
+
+commit 9c3796417f2879f10b45f50827e2a977e9f96b70
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Mar 6 11:28:08 2009 -0800
+
+ r300-gallium: GA enhancements.
+
+ Basically an errata fixup register.
+
+commit 17331a77f6480183ad0f43173f77d6c73cc377ff
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Mar 6 11:17:55 2009 -0800
+
+ r300-gallium: Flat/smooth shading state.
+
+commit d965c15777727fec34b11c253f2a0f50c4e8e89a
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Mar 6 09:44:21 2009 -0800
+
+ r300-gallium: Pick up a few more bits of rs_state.
+
+ Including two registers that already should have been covered...huh...
+
+commit 0bbcb47901c16661e39a1c586c19b58e5eb73d45
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Mar 6 18:03:50 2009 +0000
+
+ wgl: Check support for all other depth/stencil formats.
+
+commit 78071fe7676adfcab44983505b0f64a31aa823b5
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Mar 6 17:57:02 2009 +0000
+
+ wgl: Choose a supported S8Z24/Z24S8/X8Z24/Z24X8.
+
+commit 7817fea0b675686dd6b4c29c9a55b1304a3571d7
+Author: Jeremy Huddleston <jeremyhu@freedesktop.org>
+Date: Fri Mar 6 11:20:21 2009 -0500
+
+ Updated darwin config for when X11 is not in the same location as we're installing to
+
+commit 8bbb6b352ad7fabb2cc5ec4b82244d39495e80ac
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Mar 6 14:02:42 2009 +0000
+
+ mesa: Reads must also be done with lock held.
+
+ Otherwise two threads might think each made the refcount go zero.
+
+commit f6159ba4d5da9579de55afb01b4f460f9b8a0327
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Mar 6 14:01:24 2009 +0000
+
+ mesa: Fix typo.
+
+ Windows threads block if one over-unlocks them.
+
+commit 760068cc8d5b443c4c6545870fa4f7eda7c6e775
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Mar 6 23:42:35 2009 +1100
+
+ r300: fix uninit variable warning
+
+commit e0313ef061c2988cc9df9b8a016ba06fd2ba7ce7
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Mar 6 23:42:17 2009 +1100
+
+ r300: fix swtcl codepaths
+
+commit 19e134051c1025bbfe3838108492d705ab2b5b8b
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Mar 5 23:32:00 2009 -0800
+
+ intel: Fix bpp setting of blits to 8bpp targets.
+
+ This was causing hangs in cairogears, as we would blit to the 8bpp target
+ (A8 texture) as 16bpp, and stomp over state objects.
+
+commit c6ac53bc40508ab2f0b9e023eee7ec3793fdf917
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Mar 6 16:05:22 2009 +1000
+
+ radeon: implement userspace clears
+
+ This is pretty much Eric Anholts implementation of clear using the GL state machine
+ from the Intel drivers.
+
+ It works quite well for now for us, probably could do with trying to use Z engine for
+ clears.
+
+commit d0ec7c109c4d78ea0a02b595584da875e62d2773
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Mar 5 18:50:29 2009 -0800
+
+ i965: fix 3DPRIMITIVE batch decode of the vertex count field.
+
+commit cade74e3f4ddf7a5221c9f200ff4c130ab92924d
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Mar 5 18:17:13 2009 -0800
+
+ i965: Stop dumping programs after the first all-zeroes entry.
+
+commit 40bc2748c2781600c748e546160bcc2aab637825
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Mar 5 17:18:49 2009 -0800
+
+ intel: Add always_flush_batch driconf option for making small batchbuffers.
+
+ This can improve debugging with INTEL_DEBUG=batch,sync by giving smaller
+ batchbuffers.
+
+commit f3687284c12f34268172b9c60e2effd697162129
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Mar 5 17:08:36 2009 -0800
+
+ intel: Add always_flush_cache driconf option for debugging cache flush failure.
+
+ I keep wanting to hack this knob in as a one-time thing, so it seemed useful
+ to have all the time.
+
+commit 98826950529041a022f736d183b52421eedead31
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Mar 5 10:57:43 2009 -0800
+
+ i965: Add a note about why the _NEW_STENCIL is required in draw_buffers.
+
+commit f085147258713741895945dcb81fdb251bb6c9cc
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Mar 5 08:25:22 2009 -0800
+
+ intel: Remove a gratuitous MI_FLUSH after clearing with a blit.
+
+ The 3D destination shares the same cache so we don't have any trouble with
+ the later commands needing the writes flushed inside of the same batchbuffer.
+
+commit 0d31e340f894fdf755945712668197cf09670222
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Mar 5 08:13:21 2009 -0800
+
+ i965: Remove dead flushing code.
+
+commit 8acca48cd575335b33cdc8fed6906f4d656233cc
+Author: Joel Bosveld <Joel.Bosveld@gmail.com>
+Date: Fri Mar 6 08:46:08 2009 +0900
+
+ st/xorg: Install to XORG_DRIVER_INSTALL_DIR
+
+commit 9ffc1784b43ffa410a6a01d0c651efccbb2dc993
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Mar 5 17:24:39 2009 -0700
+
+ i965: comments and formatting fixes
+
+commit 348580197802406fc36219dc3f1ab90fbb8f4717
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Mar 5 17:23:42 2009 -0700
+
+ i965: fix emit_math1() function used for scalar instructions
+
+ Instructions such as RCP, RSQ, LOG must smear the result of the function
+ across the dest register's X, Y, Z and W channels (subject to write masking).
+ Before this change, only the X component was getting written.
+
+ Among other things, this fixes cube map texture sampling in GLSL shaders
+ (since cube lookups involve normalizing the texcoord).
+
+commit be8c0b25eaf67b7deefe7844d0b8ed19abad8d86
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Mar 5 17:14:29 2009 -0700
+
+ mesa: added some assertions
+
+commit f787baff80235e8f90a72d43d4372b1ac977f161
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Mar 5 17:14:05 2009 -0700
+
+ mesa: when printing src regs, use |reg| for absolute value
+
+ And check opcode number to avoid crashing on driver-private opcodes.
+
+commit ee41bb2ed01b9480e5370d67257334b81ec0c90e
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Mar 5 17:04:27 2009 -0700
+
+ i965: fix screen depth test in intel_validate_framebuffer)_
+
+ front_region may be null.
+
+commit 20f49252e1fe2e72bb620c26292f33d5315452a1
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Mar 5 15:08:36 2009 -0700
+
+ i965: init dest reg CondMask = COND_TR (the proper default)
+
+ Plus fix up a debug printf.
+
+commit 0b723b8b89cd65901431199f86911f003465946e
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Mar 5 11:59:22 2009 -0800
+
+ r300-gallium: Move RS block setup to CSO.
+
+commit ac2acda036c208d963fefac27d7300e017c74527
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Mar 5 11:01:03 2009 -0800
+
+ r300-gallium: Move scissor state.
+
+ Keep it grouped with all the other parameterized state.
+
+commit 626ac953354156f2545d90960f6712a2248ba795
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Mar 5 10:46:52 2009 -0800
+
+ r300-gallium: Fix up vertex count.
+
+commit a3b168df48302b5bbd2323685623adee240d03a4
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Mar 5 10:46:10 2009 -0800
+
+ r300-gallium: Use only one CS section for vertex_format.
+
+commit b074aacdb2a9e3520ccd6cfd892b60599ad0d1d8
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Mar 6 05:42:37 2009 +1000
+
+ r200: cs emit state fixups
+
+commit a03a4dd524b97f43356b830c21df05f82795fe0b
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Mar 6 04:47:45 2009 +1000
+
+ r200: remove depth check for dri2
+
+commit 7ba9eb1e85e1017700a02c4f5d2848e3d997bc5b
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Mar 6 04:47:29 2009 +1000
+
+ r200: temporary sw clear code
+
+commit 9d9a7edfbc7259b532123d7d85f6238f59a9a41a
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Mar 5 10:01:53 2009 -0700
+
+ Revert "softpipe: added null ptr check for align_free() call in vbuf code"
+
+ This reverts commit 6db24f449de9cc81e1f7bb2dde55a9819463d5e5.
+
+ With a null ptr check in align_free() this is no longer needed.
+
+commit ca640ca9598c22970b15bf16acf74409d860a30a
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Mar 5 10:01:17 2009 -0700
+
+ gallium: added null ptr check in align_free()
+
+commit 3ba370ad7f3dce225503978022ff85a00713f0cf
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Mar 5 08:33:50 2009 -0700
+
+ mesa: add wglext.h to tarball list
+
+commit 493b69a0c8887ddf5544f24750410e25c6baef2c
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Mar 5 08:33:04 2009 -0700
+
+ gl: added include/GL/wglext.h
+
+commit 6db24f449de9cc81e1f7bb2dde55a9819463d5e5
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Mar 5 09:49:00 2009 -0700
+
+ softpipe: added null ptr check for align_free() call in vbuf code
+
+ Fixes GALLIUM_NOCELL path. See bug 20475.
+
+commit df8755edbedd6b0c85886db1b627f564c5a1beec
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Mar 5 08:41:04 2009 -0800
+
+ r300-gallium: C++ compat fix.
+
+ Oops. :3
+
+commit dc527de95ee0aace0b98ae923a034c9c1a715f77
+Author: Joakim Sindholt <opensource@zhasha.com>
+Date: Thu Mar 5 17:22:55 2009 +0100
+
+ radeon-gallium: fix dri2 build
+
+commit 8d5b8a461577dddda3c99a7c657c7ad1a3390818
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Mar 5 08:25:37 2009 -0700
+
+ gl: update glext.h to version 46
+
+commit 9d72a759170ebf51d8f93fd00d3d9c37bd5dfb27
+Author: Dave Airlie <airlied@linux.ie>
+Date: Thu Mar 5 19:00:17 2009 +1000
+
+ radeon: use t->bo to figure out of settexbuffer override is in action
+
+commit eba8008916503cea47c557398b009e2e2b546cb1
+Author: Dave Airlie <airlied@linux.ie>
+Date: Thu Mar 5 18:58:48 2009 +1000
+
+ r200: port over state emits for kms from radeon
+
+ this needs testing on real hw
+
+commit 5c80eb7ec13e064b81302da6c672e96a7a7e4e95
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Mar 6 02:31:00 2009 +1000
+
+ r200: add set tex buffer support
+
+commit 86a06f06740eca39badf2292b1f9406ca31be0fe
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Mar 4 20:52:45 2009 -0800
+
+ radeon-gallium: Add Xorg state tracker Radeon winsys stub.
+
+commit fc1859c26467fddb2fe8f51b89fc0e33e3648e63
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Mar 4 20:46:10 2009 -0800
+
+ radeon-gallium: Only build drivers for state trackers that are enabled.
+
+commit b5d3c17427646b51f341f6bc6bba160d6dc686c2
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Mar 4 21:03:29 2009 -0700
+
+ tests: add new mapbufrange.c test to test GL_ARB_map_buffer_range
+
+ This only tests the most basic functionality for now.
+
+commit 5c18ff2bf85fe58e7709a342a5f2ac602d3e2e37
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Mar 4 20:26:23 2009 -0700
+
+ fix incorrect prototype for glMapBufferRange() in glext.h
+
+ Needs to return void *
+
+commit 34683150878e0af0859c94d0c1f0c4bf8395b042
+Author: Robert Ellison <papillo@vmware.com>
+Date: Wed Mar 4 16:48:51 2009 -0700
+
+ i965: add software fallback for conformant 3D textures and GL_CLAMP
+
+ The i965 hardware cannot do GL_CLAMP behavior on textures; an earlier
+ commit forced a software fallback if strict conformance was required
+ (i.e. the INTEL_STRICT_CONFORMANCE environment variable was set) and
+ 2D textures were used, but it was somewhat flawed - it could trigger
+ the software fallback even if 2D textures weren't enabled, as long
+ as one texture unit was enabled.
+
+ This fixes that, and adds software fallback for GL_CLAMP behavior with
+ 1D and 3D textures.
+
+ It also adds support for a particular setting of the INTEL_STRICT_CONFORMANCE
+ environment variable, which forces software fallbacks to be taken *all*
+ the time. This is helpful with debugging. The value is:
+ export INTEL_STRICT_CONFORMANCE=2
+
+commit 1281bac3ba8e4870e9d9e78d405a347bc02c4c16
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Mar 4 15:48:45 2009 -0800
+
+ radeon-gallium: Enable EGL and Xorg state trackers.
+
+ Compile-tested only, but I have high hopes.
+
+commit 07ffb00d30c750f85047485dbf091c3196a2abbf
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Mar 4 15:36:42 2009 -0800
+
+ radeon-gallium: DRI2 state tracker, part 3.
+
+ Properly setup the build process for adding in xorg and egl trackers,
+ and finally put radeon_context and radeon_screen to bed.
+
+commit 04ae9c3fdd62831485b7384da62566a0b82b84af
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Mar 4 13:47:44 2009 -0800
+
+ r300-gallium: Add unaccelerated surface_copy.
+
+commit bed3a8e1f6049a5c01d16004fc9a65225103ab9b
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Mar 4 16:48:05 2009 -0700
+
+ mesa: call _mesa_get_cpu_string() to get CPU info for GL_RENDERER string
+
+commit 7979c6024ca81257164d3560a0366c1c52529b0e
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Mar 4 16:43:07 2009 -0700
+
+ mesa: call _mesa_get_cpu_features() during one-time-init
+
+commit 2cbc4655a892e5924e51a4c59696c776bcf60716
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Mar 4 16:40:22 2009 -0700
+
+ mesa: new cpuinfo.c file to init/query cpu info and extensions
+
+commit 16d72437eac3ea9c557424edfc98cd664f4c4ed3
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Mar 4 16:39:11 2009 -0700
+
+ mesa: _mesa_get_x86_features() only needs to do its thing once
+
+commit b417c978a95ba7ce7040473fd29ec5009ca66d6d
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Wed Mar 4 22:41:01 2009 +0100
+
+ st/xorg: Clean up xorg_exa.c a bit
+
+commit b611f81477b196fed9d249b1e0f37ef186dd1426
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Wed Mar 4 23:51:14 2009 +0100
+
+ st/xorg: Change format function a bit
+
+commit dca226fefb9a0e469ca34b3c1e364b60fae341fa
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Wed Mar 4 22:54:33 2009 +0100
+
+ st/xorg: Fix transfer double free
+
+commit 5aa356d3e454c78332cd9faa01cd6dc24579e46c
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Wed Mar 4 22:04:17 2009 +0100
+
+ intel: Fixup from refcount changes
+
+commit 2fcfa1ac0ee5f177c3760d63eaa633e004a11507
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Thu Mar 5 00:03:27 2009 +0100
+
+ mesa: Add x86/common_x86.c to libmesagallium.a
+
+ Thanks to Brian for the refactor commit
+
+commit 9ec7f083f3f3e40081a452ceba8b0e7cd073fb47
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Mar 4 15:56:16 2009 -0700
+
+ mesa: move sse.h and 3dnow.h #includes
+
+commit dd9af786507fe3f199ecc94906b263843848c6ba
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Mar 4 15:46:36 2009 -0700
+
+ mesa: remove unneeded x86.h header
+
+commit 8538f64d0929715cb22a44186598471342c258c6
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Mar 4 15:44:38 2009 -0700
+
+ mesa: make _mesa_init_x86_transform_asm() static
+
+commit 81e366c65949292ab9a70e518ab5487e639db255
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Mar 4 15:39:50 2009 -0700
+
+ mesa: rename common_x86_macros.h -> x86_xform.h
+
+commit 20d289eb2d32851030de6c28bba945eb4057a857
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Mar 4 15:35:21 2009 -0700
+
+ mesa: rename x86.c -> x86_xform.c
+
+commit c751224b0acd457d99cead45616980fec7ef78f1
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Mar 4 15:21:13 2009 -0700
+
+ mesa: refactor x86 code
+
+ Move _mesa_init_all_x86_transform_asm() into x86.c so that common_x86.c
+ has no dependencies on the vertex transformation code.
+ Plus some comments and clean-ups.
+
+commit f0c92d96568780d5a6c6b53845e9689893ce99e4
+Merge: 8ad65a2 79a05a6
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Mar 4 21:46:12 2009 +0000
+
+ Merge commit 'origin/master' into gallium-map-range
+
+commit 79a05a6b3f8a995c80d27a1f32f85ad84b1a6f9d
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Mar 4 21:35:17 2009 +0000
+
+ indices: add translate/generate functions for unfilled modes
+
+ Most of the time unfilled rendering requires a lot more thought than
+ just translating triangles to lines or points. But sometimes, you can
+ do exactly that, and it can be quite a bit quicker. Add code to do the
+ translation. The caller has to determine whether it's a legal thing
+ to do in the current state, in particular you'd need:
+ - culling disabled
+ - offset disabled
+ - same front and back fill modes
+ - possibly other stuff I can't think of.
+
+commit 59311fb06c7bb20efe29ecdc237d0171ee959c0a
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Mar 4 17:41:46 2009 +0000
+
+ clear-repeat: print fps, use 300x300 window size
+
+commit ac55db1d7d6cd58e49a033859d1d86a7dcf71d45
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Wed Mar 4 13:19:32 2009 -0800
+
+ autoconf: Restore _GNU_SOURCE for all Linux systems
+
+ This catches the linux-uclibc case and any others that were being set
+ prior to 98fcdf3f. Fixes bug 20345.
+
+ Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
+
+commit 41117b1a018baa7ce2c2e4f0eba7a56d33626e97
+Author: Patrice Mandin <patmandin@gmail.com>
+Date: Wed Mar 4 20:38:14 2009 +0100
+
+ nouveau: oops, forgot to keep the NV10_SIFM object
+
+commit 69e42ec4568e824bf16271830751436afb2e8ef9
+Author: Patrice Mandin <patmandin@gmail.com>
+Date: Wed Mar 4 20:34:54 2009 +0100
+
+ nouveau: Use proper SIFM object on NV30
+
+commit 8ad65a23d14f82461c00b1d8dcc1393167f36ab0
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Mar 4 17:49:52 2009 +0000
+
+ mesa: Follow ARB_map_buffer_range more stricly.
+
+ Namelly, FlushMappedBufferRange takes a subrange relative to the original
+ range.
+
+commit 2a1f29c22003e819914d386f2117d6e186f59f20
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Mar 4 17:48:26 2009 +0000
+
+ gallium: Use consistent semantics for map ranges in gallium.
+
+ Which are slightly different from ARB_map_buffer_range semantics, since
+ gallium still supports more than one mapping of the same buffer.
+
+commit 99a540bfbeea1762266a937deffc5010511eb38d
+Merge: 67cbe83 368ca83
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Mar 4 17:42:36 2009 +0000
+
+ Merge commit 'origin/master' into gallium-map-range
+
+commit 368ca83a3fdfbe8dfe591ab73d29c500d1a91c0a
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Mar 4 17:01:47 2009 +0000
+
+ vbo: second attempt - avoid getting buffer_ptr and buffer_map out of sync
+
+commit 67cbe83a7239c7934cfaf3293677fafe9ec295be
+Merge: 50e38b0 89f1f8f
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Mar 4 16:44:31 2009 +0000
+
+ Merge commit 'origin/master' into gallium-map-range
+
+commit 89f1f8f0b8fb684a7b1fce5bfbb961e4521745d7
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Mar 4 16:43:13 2009 +0000
+
+ mesa: Clear cache->trans after destroying the transfer.
+
+commit 50e38b08780d698bad402150ab4fe007051cbc1a
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Mar 4 16:43:13 2009 +0000
+
+ mesa: Clear cache->trans after destroying the transfer.
+
+commit ca06c0c16d09d58f96736aa095e1a592862a9427
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Mar 4 09:34:46 2009 -0700
+
+ cell: update cell driver after gallium reference count changes
+
+commit fba923ff4415ce8a14c890dea65bcb07b2f87fb5
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Mar 4 16:09:14 2009 +0000
+
+ Revert "vbo: avoid getting buffer_ptr and buffer_map out of sync"
+
+ This fixed a minor bug but broke everything else.
+
+ This reverts commit 579ef8ab1984d895867f547afa60b3bec4c4599a.
+
+commit e80d3304195a6fe8a82c4f264f55b42adf384a04
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Mar 4 16:07:51 2009 +0000
+
+ gallium: Ensure map ranges are valid.
+
+commit 579ef8ab1984d895867f547afa60b3bec4c4599a
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Mar 4 16:06:05 2009 +0000
+
+ vbo: avoid getting buffer_ptr and buffer_map out of sync
+
+commit 5b04939b16eb6e13858b070315dee1d0fc09d94f
+Merge: cfd5298 f9ce417
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Mar 4 15:23:35 2009 +0000
+
+ Merge commit 'origin/master' into gallium-map-range
+
+commit f9ce417aaf14c00e72e92307b910de5dbed1bb6d
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Mar 4 15:15:43 2009 +0000
+
+ vbo: use FLUSH_UPDATE_CURRENT flag to indicate whether the vbo module is active
+
+ Add asserts for expected values on wakeup and flush. Remove cases where
+ this flag is set or cleared except when waking up and flushing vbo module.
+
+commit 945dcbfca62b9b57340caccc1b8286b2f3e743bc
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Mar 4 07:57:40 2009 -0700
+
+ mesa: include mfeatures.h
+
+ See bug 20319.
+
+commit 31f129880719f75c491fa2ad269055fbc2fb9b95
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Mar 4 22:26:44 2009 +1000
+
+ radeon: r100 clean up CS packet size calc
+
+commit 924bf0d8d3db28941efa97911bdcdd01a3f33b7c
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Mar 4 22:26:20 2009 +1000
+
+ radeon: settexbuffer support
+
+ This gets DRI2 compiz going
+
+commit cfd5298f240612ef69ae321aebbc425710a8d731
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Mar 4 11:59:00 2009 +0000
+
+ mesa: Implement and use FlushMappedBufferRange.
+
+commit 45bde75bd67e7e920f0113842d1fa58613ccc3ec
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Wed Mar 4 11:58:52 2009 +0100
+
+ gallium: Remove some superfluous instances of #include "p_inlines.h".
+
+commit 5e27cd46c04a9e7b5904cc014bffd0f4daae31fe
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Wed Mar 4 11:58:48 2009 +0100
+
+ gallium: Unify reference counting.
+
+ The core reference counting code is centralized in p_refcnt.h.
+
+ This has some consequences related to struct pipe_buffer:
+
+ * The screen member of struct pipe_buffer must be initialized, or
+ pipe_buffer_reference() will crash trying to destroy a buffer with reference
+ count 0. u_simple_screen takes care of this, but I may have missed some of
+ the drivers not using it.
+ * Except for rare exceptions deep in winsys code, buffers must always be
+ allocated via pipe_buffer_create() or via screen->*buffer_create() rather
+ than via winsys->*buffer_create().
+
+commit 26d0172a5bc5b733e839e3ccb8d497cab2bcce98
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Mar 4 20:24:08 2009 +1000
+
+ radeon: fix texturing for r100
+
+commit 940d47de08eedaf5d8471628ba4860663d79a98e
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Mar 4 18:36:46 2009 +1000
+
+ radeon: use swrast clear - fail on depth
+
+ need to write real hw user clear
+
+commit e0de73e8a558db5dfe8e20ed7aa2e9eae28861c1
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Mar 4 18:36:13 2009 +1000
+
+ radeon: fixup some segfaults/exit at startup
+
+commit 60041203d5847de8ab71842a6ce5d33d96cc4930
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Mar 3 22:11:56 2009 -0800
+
+ r300-gallium, radeon-gallium: Continue migration to DRI2 state_tracker, part 2.
+
+ Almost there. glxinfo still works, and AFAICT so does trivial/clear.
+
+commit 9e67b0a1745e50fe34efedb0a3191b4a27e10724
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Mar 3 21:14:33 2009 -0800
+
+ r300-gallium, radeon-gallium: Begin migration to DRI2 state tracker, part 1.
+
+ s/migration/migrane/ , actually. Anyway, this has working glxinfo...
+
+commit a255472ee789d13c07174e385c7d40f965916e7b
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Mar 3 20:45:45 2009 -0700
+
+ mesa: include main/dd.h in t_vb_points.c and t_vp_build.c
+
+ For some reason makedepend doesn't seem to find the dependency on this
+ header in these two files. Directly including the header is a work-around.
+
+commit 145aa57e45d5492278ae4fe182a77b0d02ecc6f5
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Wed Mar 4 00:36:59 2009 +0100
+
+ st/dri2: Fake frontbuffer changes
+
+ Front buffer rendering works as it stands but it completely
+ wrong. But as it stands fake front buffer rendering is
+ completely broken. So we keep it as it is. But lets atleast
+ handle it in the get buffers code.
+
+commit 28c325f8d3925d703a0cc5a3d3d3fa57b7f11fe4
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Wed Mar 4 00:35:33 2009 +0100
+
+ st/dri2: Hook up flush_frontbuffer
+
+ Doesn't do anything because we can't tell the X server about
+ any changes to the fake front buffer.
+
+commit b7b046150bc61604777baa8a57f81d770837bd10
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Wed Mar 4 00:31:35 2009 +0100
+
+ st/dri2: We are strictly a dri2 driver
+
+commit 16526b70998b8c6e0ba298db86f1f738c1a3df3f
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Tue Mar 3 21:56:10 2009 +0100
+
+ st/drm: s/hocks/hooks/
+
+commit 3873ffe27d00f4890290441a6a6923e09ff9434c
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Mar 3 14:01:49 2009 -0700
+
+ gallium: remove old state tracker renderbuffer attachment assertion
+
+ Not needed since renderbuffers are ref-counted.
+ Fixes progs/demos/shadowtex.
+
+commit c37872d8c02c5c875b1570d8eaa1fe5de0380b53
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Mar 3 14:01:10 2009 -0700
+
+ xlib: code to force fixed function -> shader translation (for debug, disabled)
+
+commit de1caa550700ae38ff791c30f6d482f3efddebd0
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Mar 3 13:52:24 2009 -0700
+
+ mesa: fix sw fallback state validation bug
+
+ When a hw driver fell back to swrast, swrast wasn't always getting informed
+ of program changes. When fixed function is translated into shaders, flags
+ like _NEW_LIGHT, _NEW_TEXTURE, etc. should really signal _NEW_PROGRAM.
+ In this case, swrast wasn't seeing _NEW_PROGRAM when new fragment shaders
+ were generated.
+
+commit 004d8f11882c6c149a395cf2e86d5d5fb3fa114b
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Mar 3 18:52:51 2009 +0000
+
+ mesa: Massage the interface to more closely resemble ARB_map_buffer_range
+
+commit 190db8b4c36bffcaae996538e250eb144242c064
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Mar 3 18:52:16 2009 +0000
+
+ gallium: Massage the interface to more closely resemble ARB_map_buffer_range
+
+commit 317a7da2c452f35ef627aec6fc4d31406758725d
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Mar 3 17:54:38 2009 +0000
+
+ wgl: Support the same combinations of single buffer pixel formats.
+
+commit 1d4d27802d1e0e51d5f91fe9cb1ae9b6d57cae30
+Merge: c7e46c1 39a1a24
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Mar 3 15:43:12 2009 +0000
+
+ Merge commit 'origin/master' into gallium-map-range
+
+commit 39a1a24b3fed6afa24a4db70ad4e3f128c24c815
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Mar 3 15:39:51 2009 +0000
+
+ demos/engine: respect display list mode when drawing pistons
+
+commit 4737a9fa250b1b000510217c8014b0df6e3a8684
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Tue Mar 3 06:55:15 2009 -0800
+
+ autoconf: Update config.guess and config.sub from upstream
+
+ Grabbed the latest copies from the GNU config repo at
+ http://git.savannah.gnu.org/cgit/config.git .
+
+commit c7e46c1857b744a35c086dddb651f38df948a5fa
+Merge: 97a1fd1 dceb099
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Mar 3 13:18:15 2009 +0000
+
+ Merge commit 'origin/master' into gallium-map-range
+
+commit dceb09909ea9d6eaef0334897ebed6da45db6faa
+Merge: efcea15 9036e0d
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Mar 3 12:26:21 2009 +0000
+
+ Merge commit 'origin/gallium-0.1'
+
+ Conflicts:
+ src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c
+
+commit efcea15aaaaa4f1431a8c0a8521bd42a953f2e6c
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Mar 3 12:22:59 2009 +0000
+
+ pipebuffer: Cleanup merge.
+
+commit 0f3d226143d21b60cba63b8234340ae31d6d7281
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Mar 3 12:11:08 2009 +0000
+
+ winsys: return null for DONTBLOCK flag on existing winsys
+
+ Add code so that existing driver behaviour doesn't change.
+
+commit 9a9dc422b0c491f516fd8d80e0ce128e4145698f
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Mar 3 12:10:56 2009 +0000
+
+ pb: fix up merge mistakes
+
+commit 9036e0d724dcefb7e15d9cc2020a25f87c93a04d
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Mar 3 12:01:01 2009 +0000
+
+ pipebuffer: Fix copy'n'paste typo.
+
+commit 916de35d677ca5238e9515840fa5aa9f81302c5b
+Merge: 72cf6e8 2785af8
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Mar 3 11:51:14 2009 +0000
+
+ Merge commit 'origin/gallium-0.1'
+
+ Conflicts:
+
+ scons/gallium.py
+ src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c
+ src/gallium/include/pipe/p_defines.h
+ src/mesa/vbo/vbo_exec_api.c
+ src/mesa/vbo/vbo_exec_draw.c
+
+commit 2785af803f7d6d64ff17c10645e5f10499289ed0
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Mar 3 10:55:25 2009 +0000
+
+ vbo: missing line from previous commit
+
+commit 2e29b7d0f8238f804304b061fb0157cf586db6f9
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Mar 3 10:47:31 2009 +0000
+
+ mesa/st: implement MapBufferRange callback
+
+ Using PIPE_BUFFER_USAGE_DONTBLOCK.
+
+commit c4d1f4607abf3dfbcfcffc5c67bb89d420d3381a
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Mar 3 10:46:12 2009 +0000
+
+ vbo: use MapBufferRange where available
+
+ Previously would have to allocate a new VBO after firing a draw command
+ as subsequent call to Map() on old VBO might block if the driver had
+ submitted the commands to hardware.
+
+commit eb8a1d96424cb732b0a723cb1fdba90958d24e16
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Mar 3 10:44:35 2009 +0000
+
+ mesa: add MapBufferRange driver callbacks
+
+ Will be needed in coming GL extensions (GL_map_buffer_range, GL 3.0).
+ Will be used by the vbo module to avoid reallocating vbo's at each
+ draw primitive call.
+
+commit c64a2b708944ec671b1104067245500fcfc6ed94
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Mar 3 10:41:57 2009 +0000
+
+ mesa: Add BeginVertices driver call
+
+ Provides notification to the VBO modules prior to the first immediate call.
+ Pairs with FlushVertices()
+
+commit 72cf6e8e92e49753472e760b1cf4575327b48f43
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Tue Mar 3 03:24:31 2009 +0100
+
+ intel: Add Xorg driver
+
+commit 4a1b8cbab8dc779d98830ba86e2d3d25f8545987
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Tue Mar 3 03:23:32 2009 +0100
+
+ intel: Add dri2 driver for gallium
+
+commit 84711c6582d08b8ea0bbdd0acd27d927a9bcbf4f
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Tue Mar 3 03:22:46 2009 +0100
+
+ st/xorg: Add Xorg state tracker
+
+commit 1d060e36f248b2c1d2575d1e2cbd362b8345ae55
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Tue Mar 3 03:22:05 2009 +0100
+
+ st/dri2: Add DRI2 a state tracker
+
+ This was based of the unfinnished code that Keith
+ Whitwell started on but never finnished. I moved
+ the code from the glx directory because dri drivers
+ can be used for more things then just glx.
+
+commit cc9fbb16a6787e03186926b7488bfcaaf41635d9
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Tue Mar 3 02:05:52 2009 +0100
+
+ intel: Increase max relocs per batchbuffer
+
+commit a3b7db0326337117ccdea526818040d2c24d83b4
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Mar 2 17:55:09 2009 -0700
+
+ mesa: save some useful VBO debug/dump code (disabled)
+
+commit 433f2ab2ec4685328c3ee4802fab84fd12671eb3
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Mar 2 17:52:30 2009 -0700
+
+ mesa: more tex image debug/dumping code
+
+commit d652d26a975a884fecd9c407e77b7259fb291906
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Mar 2 17:51:44 2009 -0700
+
+ mesa: comments and code documenting a bug with depth 32 TrueColor drawing/reading
+
+ It seems that XGetImage() from a depth 32 TrueColor window is flakey.
+ Drawing with XPutImage() instead of XPutPixel() seems to work better, but
+ still not perfectly.
+
+ Keep using the original code for now until more is learned.
+
+commit 6c75d7b4e6b04ce9e5e8d188a143cb7a1670c953
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Mar 2 15:21:50 2009 -0700
+
+ mesa: move call to update_texture_compare_function()
+
+ Another conditional can be avoided.
+
+commit e232471baa3a7cfa7a76b9cfe55dfb7da79fedbe
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Mar 2 15:19:53 2009 -0700
+
+ mesa: fix texture enable regression
+
+ Need to clear the _ReallyEnabled field before possibly continuing the loop.
+ Also, set _Current pointer to NULL if the unit is no longer enabled.
+
+ Fixes piglit lodbias regression
+
+commit 7e0f47c1348273ed3bb39d00aa4a9498a28b8d6a
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Mar 2 14:27:16 2009 -0700
+
+ mesa: use _mesa_reference_texobj() when setting texUnit->Current pointer
+
+ Fixes piglit copytexsubimage regression.
+
+commit 97dd2ddbd97ba95e8bc8ab572ec05e8081556e1e
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Mar 2 12:27:16 2009 -0700
+
+ mesa: don't draw arrays if vertex position array is not enabled
+
+ For regular GL, we must have vertex positions in order to draw. But ES2
+ doesn't have that requirement (positions can be computed from any array
+ of data).
+
+ See bug 19911.
+
+commit f1a083d4b8c86e0ba335ab162f60b6f2b8391c31
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Mar 2 11:27:32 2009 -0700
+
+ gallium: only enable depth test if a depth bufffer is available
+
+commit 8fec37c0f11e624644da48d612c60e736861a212
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Mar 2 11:49:19 2009 -0700
+
+ mesa: remove warning/short-circuit of stencil enable w/ no stencil buffer
+
+ With FBOs one could enable stencil before a stencil buffer is later bound.
+
+commit 91e61f435a71436c209934a0ece165b540aba3e0
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Mar 2 11:47:52 2009 -0700
+
+ mesa: use Stencil._Enabled field instead of Stencil.Enabled
+
+commit f352a80aec10c3faf2d84e0b35d59b4edc0395ef
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Mar 2 11:46:49 2009 -0700
+
+ mesa: add ctx->Stencil._Enabled field
+
+ Only true if stenciling is enabled, and there's a stencil buffer.
+
+commit 2755a27d7dd313617b6bcc48afe6a321ee3609b2
+Author: Younes Manton <younes.m@gmail.com>
+Date: Mon Mar 2 12:57:56 2009 -0500
+
+ nouveau: Grab correct surface from temp texture for transfers.
+
+commit c9fe0f7ab5071a5c6ba2ef13fe96e726ec2b512b
+Author: Younes Manton <younes.m@gmail.com>
+Date: Wed Feb 25 15:09:20 2009 -0500
+
+ g3dvl: Grab surface pointer when flushing front buffer in SP winsys.
+
+commit 07e50058a5699fc9279de6bf5d1449d52ccdc476
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Mar 2 11:00:28 2009 -0700
+
+ swrast: use _EnabledCoordUnits for fixed-function texturing
+
+ Using _EnabledUnits was wrong because it included vertex texture units.
+
+ This change plus the prev commit fixes occasional failures of glean/glsl1
+ vertex texture test failure.
+
+commit e68208f26260e5c964bc1c8674c722d0d60db3ee
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Mar 2 10:58:51 2009 -0700
+
+ mesa: fixed computation of _EnabledCoordUnits
+
+ This field should not include vertex textures. It indicates the coord
+ inputs for fragment / fixed-function processing.
+
+commit 050ce17799cbe652962f898942ae6551d31f21a2
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Mar 2 17:45:35 2009 +0000
+
+ pipebuffer: Cleanup code & comments.
+
+commit 54b42c0a4a07c5eab5c5dc4ebce2b947b7b6722e
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Mar 3 03:37:23 2009 +1000
+
+ radeon: remove debugging
+
+commit fe64aa0c8eb71e708a3530f8fec2c7df94d90e36
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Mar 2 17:35:28 2009 +0000
+
+ pipebuffer: Handle PIPE_BUFFER_USAGE_DONTBLOCK flag.
+
+ Conflicts:
+
+ src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c
+
+commit cfc3d5c219e3ae3190b7700472bdefec028a7a15
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Mar 2 17:18:21 2009 +0000
+
+ gallium: New PIPE_BUFFER_USAGE_DONTBLOCK flag.
+
+ To prevent blocking when mapping a buffer.
+
+commit 2c1d40a051187242d7e55c7755e0433d4fb9c93a
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Mar 2 17:32:37 2009 +0000
+
+ pipebuffer: Wait for the GPU to finish reading too.
+
+ No real change, as we're not tracking relocations read/write access yet.
+
+commit 2b85fccae5ba33748846f74f90fe0f72c673a4b1
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Mar 3 03:27:59 2009 +1000
+
+ radeon: refactor framebuffer code like intel
+
+ this is a step towards fbos and should fix pageflipping, but
+ I think the first flip seems broken.
+
+commit 802a5ff507e44eafe86b687f603d496c3846fd50
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Feb 24 11:22:24 2009 +0000
+
+ pipebuffer: Remove unused var.
+
+commit e30f7657639d53dc87fa35aa2ec02ed13c70f796
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Feb 28 18:36:48 2009 -0700
+
+ mesa: clarify comments for per-unit texture bitfields
+
+commit 000c3438c96c5b8f16969c1bcbcce1b6a6321ec9
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Feb 28 17:40:41 2009 -0700
+
+ mesa: move texture_override() code into calling loop
+
+ We can avoid a few iterations this way.
+
+commit ebabdf9920c1628741703704796a9361c1fc07bf
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Feb 28 17:02:49 2009 -0700
+
+ mesa: move update_texture_compare_function() call out of loop
+
+commit 555f0a88182e2b1af809b2d97abdac02814a2f28
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Feb 28 12:21:18 2009 -0700
+
+ mesa: remove unused AUX buffers
+
+ Remove all references to aux buffers 1..3. Keep AUX0 around for now just
+ in case, but it'll probably go too someday. I don't know of any OpenGL
+ drivers since the IRIX days that support aux color buffers.
+
+commit baf2c746c1fbebb5aa5c430003afc14d2f91c073
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Mar 2 08:05:30 2009 -0700
+
+ mesa: remove VF_SOURCES, simplify MATH_XFORM_SOURCES
+
+commit 97a1fd158c9acfaa3a8deda7eb5bf0b253e85c15
+Merge: 60e5fe6 b70f344
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Mar 2 13:27:46 2009 +0000
+
+ Merge commit 'origin/master' into gallium-map-range
+
+commit b70f344e223fc10df8df08a6d82a813505225712
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun Mar 1 18:24:40 2009 -0800
+
+ r300-gallium: Clean up casts and indents.
+
+commit af8a41e5c7d92cf17c12ce9336a0c3f3e20bd275
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun Mar 1 18:12:05 2009 -0800
+
+ r300-gallium: Split off invariant state.
+
+ It's kind of like a CSO todo list. :3
+
+commit 8b8e954f9e67357b87dac487c838a01fa991d0f1
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Feb 28 14:07:17 2009 -0800
+
+ r300-gallium: Add RADEON_NO_TCL debugging option.
+
+ Just like R300_NO_TCL, when set, forces HW TCL off.
+
+commit 0328e838c2803cb730bad04155cb92f070560df0
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Feb 28 14:01:28 2009 -0800
+
+ r300-gallium: Fix register count.
+
+commit ba5f1848291e9b34e99aa54cc2c257c85c17728c
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Feb 28 13:27:28 2009 -0800
+
+ r300-gallium: Fix hardlocks on trivial/clear.
+
+ I'm so happy I could cry.
+
+commit 731aa326fff37cdee4867f61c3f7491d0378de7a
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Feb 28 11:21:29 2009 -0800
+
+ r300-gallium: Use rs_state emit for r300_surface, move a few things around.
+
+ Also a possible fix for non-TCL chipsets and trivial/clear.
+
+commit 2b7d39da1f5445e1b0beb3b8b1ef9004e684c600
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Feb 28 11:20:26 2009 -0800
+
+ r300-gallium: Move maths from r300_state to r300_state_inlines.
+
+commit 23682dc6299ff624405eec4ea61fa504d71764c6
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Feb 28 11:56:15 2009 -0700
+
+ mesa: just re-order some parts and update comments in sources.mak
+
+commit 8d475822e6e19fa79719c856a2db5b6a205db1b9
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Feb 28 11:49:46 2009 -0700
+
+ mesa: rename, reorder FRAG_RESULT_x tokens
+
+ s/FRAG_RESULT_DEPR/FRAG_RESULT_DEPTH/
+ s/FRAG_RESULT_COLR/FRAG_RESULT/COLOR/
+ Remove FRAG_RESULT_COLH (NV half-precision) output since we never used it.
+ Next, we might merge the COLOR and DATA outputs (COLOR0, COLOR1, etc).
+
+commit 7787fa10bac206f7690fc742b952df99254c4ea1
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Feb 28 11:16:00 2009 -0700
+
+ mesa: add gallium state tracker sources to ALL_SOURCES
+
+ This should fix some missing dependency checking.
+
+commit 4c4268dd31ce119d5d3db090adf0935bf3c27831
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Feb 28 10:58:57 2009 -0700
+
+ mesa: convert some #defines to enums
+
+ This makes debugging with gdb a bit easier.
+ Ex:
+ (gdb) p ctx->DrawBuffer.Attachment[BUFFER_STENCIL]
+
+ Note however that gdb only seems to recognize enum types that are actually
+ used to declare a variable somewhere. For example, gl_buffer_index isn't
+ used to declare any vars so it's invisible to gdb. Work around this by
+ adding a dummy function in context.c that declares some vars with these
+ new types.
+
+commit fe353787698153216e5fc68c63ad0a48e71d49bf
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 27 17:27:20 2009 -0700
+
+ demos: add progs/glsl/shadow_sampler.c to test GLSL shadow2D(), etc.
+
+ Heh, I wrote this program a long time ago but just discovered today that
+ it wasn't in git.
+
+commit c50c2e4e986024c728cc35e56e56250e947080a6
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 27 16:44:28 2009 -0700
+
+ mesa: move _GenFlags = 0x0 to texgen loop
+
+commit c88c8d7993547796eae52e5e63685d722c548b52
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 27 15:42:35 2009 -0700
+
+ mesa: use fp pointer in _tnl_InvalidateState()
+
+commit b2b2febe2ca5a1e7c005e518a24ea85f033449ab
+Author: Joakim Sindholt <zhasha@gallium-dev.(none)>
+Date: Sat Feb 28 18:51:09 2009 +0100
+
+ mesa: fix remaining FEEDBACK_TOKEN macros
+
+ Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
+
+commit 5f1fdaabd1686c37c45f3ad4cf125fce1df3a4a8
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Feb 28 09:55:09 2009 -0800
+
+ r300-gallium: Cleanup color formats.
+
+commit d1559eac6d7f9ee8757a2adc6271eb951efc546f
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Feb 28 09:12:16 2009 -0800
+
+ r300-gallium: Be more Gallium-ish in some of the math.
+
+commit 3673fc35d68edf55d0b1dc0fb4c3628f228eb9d6
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Feb 28 08:58:05 2009 -0800
+
+ r300-gallium: Move all state translators to r300_state_inlines.
+
+ Tryin' to do some cleanup.
+
+commit b7ebc270a4b464eb2136e9c45fdfeed798c007c8
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Feb 28 10:08:22 2009 -0700
+
+ mesa: move #include "bitset.h" out of mtypes.h - not needed in core Mesa
+
+commit 079554a480f62674b27cea5ff8bb655589e06166
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Feb 28 10:06:55 2009 -0700
+
+ mesa: add a prototype to silence warnings
+
+commit ae5c06b9ce1191afaa95dd784d7315f25ec729ff
+Author: David Miller <davem@davemloft.net>
+Date: Fri Feb 27 23:34:41 2009 -0800
+
+ mesa: Sparc's IROUND() optimization is invalid.
+
+ We can't use the "fstoi" instruction like this.
+
+ Unlike other floating point instructions, "fstoi" always rounds
+ towards zero no matter what rounding mode the FPU has been set to.
+
+ This was validated using the following test program:
+
+ --------------------
+ static inline int iround(float f)
+ {
+ int r;
+ __asm__ ("fstoi %1, %0" : "=f" (r) : "f" (f));
+ return r;
+ }
+ #define IROUND(x) iround(x)
+
+ #define IROUND_REF(f) ((int) (((f) >= 0.0F) ? ((f) + 0.5F) : ((f) - 0.5F)))
+
+ int main(void)
+ {
+ float f = -2.0;
+
+ while (f < 3.0f) {
+ int sparc_val = IROUND(f);
+ int ref_val = IROUND_REF(f);
+
+ if (sparc_val != ref_val)
+ printf("DIFFERENT[%f]: REF==%d SPARC==%d\n",
+ f, ref_val, sparc_val);
+ f += 0.1f;
+ }
+
+ return 0;
+ }
+ --------------------
+
+ which prints out things like:
+
+ --------------------
+ DIFFERENT[-1.900000]: REF==-2 SPARC==-1
+ DIFFERENT[-1.800000]: REF==-2 SPARC==-1
+ DIFFERENT[-1.700000]: REF==-2 SPARC==-1
+ DIFFERENT[-1.600000]: REF==-2 SPARC==-1
+ DIFFERENT[-1.000000]: REF==-1 SPARC==0
+ DIFFERENT[-0.900000]: REF==-1 SPARC==0
+ DIFFERENT[-0.800000]: REF==-1 SPARC==0
+ DIFFERENT[-0.700000]: REF==-1 SPARC==0
+ DIFFERENT[-0.600000]: REF==-1 SPARC==0
+ DIFFERENT[0.500000]: REF==1 SPARC==0
+ DIFFERENT[0.600000]: REF==1 SPARC==0
+ ...
+ --------------------
+
+ So we have to remove Sparc's IROUND() definition, it's wrong.
+
+ Signed-off-by: David S. Miller <davem@davemloft.net>
+
+commit 389d50baff8234fdf4d7bcddeb09658d7d17012d
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 27 22:26:18 2009 -0700
+
+ mesa: move GLfixed type and related macros to swrast module
+
+ Fixed point is only used in swrast and sw-based drivers.
+
+commit 8bf25a17d2f8f888e8e8a4f7a2c6d68c6c06f6e8
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 27 22:21:42 2009 -0700
+
+ mesa: convert macro to inline function
+
+commit bf8a187f71bd667a0dc0f70164a897d8e62361a8
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 27 22:18:33 2009 -0700
+
+ mesa: replace FEEDBACK_TOKEN macro with _mesa_feedback_token() inline function
+
+commit 559aec47015b741e045d57362f7732b3a04f9450
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 27 22:12:31 2009 -0700
+
+ mesa: comments, whitespace, reformatting
+
+commit f6021ab3c631345d013437d53a7bc1a4e2359ad4
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 27 22:04:58 2009 -0700
+
+ mesa: remove dead code
+
+commit 7f25d9ebb4856273c46ea4bbba4152b85f610a91
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 27 22:01:40 2009 -0700
+
+ mesa: move gl_attrib_node struct to attrib.c too
+
+commit 55399c29511a47bd52c39862a246f29e6f35c3cf
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 27 21:41:26 2009 -0700
+
+ mesa: move gl_enable_attrib struct to attrib.c, the only place it's used
+
+commit bedd20743b80b5a6d7d9954e4479a44a76c7ea02
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 27 21:39:04 2009 -0700
+
+ mesa: lots of updated comments, formatting clean-ups
+
+commit 3e131d7d74bfc2c34a772a627b8cf8743d074f27
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Feb 28 08:13:31 2009 -0800
+
+ r300-gallium: A handful of fixups.
+
+commit 2b5770e652f0e6620b52971755bd7eb31c16ad7d
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Feb 28 00:01:41 2009 -0800
+
+ r300-gallium: Fix C99 error.
+
+commit b210c3fb3f1367525ab690ddb7cf9f0dcc1e7c99
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Feb 27 23:40:18 2009 -0800
+
+ r300-gallium: Fix RS.
+
+ I should just stop using "git stash" altogether.
+
+commit ba91e79dad6a3666ae31b13c0c4b3b174f10b747
+Author: Michal Krol <michal@vmware.com>
+Date: Sat Feb 28 15:09:43 2009 +0100
+
+ tgsi: More descriptive sanity diagnostic messages.
+
+commit 9d49fb4f29125ec4fe625323f2382bdfebd225e9
+Author: Michal Krol <michal@vmware.com>
+Date: Sat Feb 28 15:09:43 2009 +0100
+
+ tgsi: More descriptive sanity diagnostic messages.
+
+commit 07f96a6d8e7f0352423540235f50da91dea4c637
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 27 15:46:40 2009 -0700
+
+ demos: fix renderbuffer leak in progs/tests/fbotexture.c
+
+ And re-org some code for testing purposes.
+
+commit c6bde8873fbda6d8467600b7491d8543c75b0509
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 27 13:13:52 2009 -0700
+
+ intel: remove some unneeded buffer unmap calls
+
+ Core mesa now unmaps the buffers if needed in these cases.
+
+commit a070937c00828ef0c0d618df7cc4845b0a21bbf3
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 27 13:44:42 2009 -0700
+
+ mesa: update fragResults array in arb_output_attrib_string()
+
+ Plus add some comments.
+
+commit 49de8ec2eac7da8520c73d1a0f132b26e2fd1b9f
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Feb 27 12:23:16 2009 -0800
+
+ r300-gallium: Properly split up RS into r300 and r500 variants.
+
+commit 991c945e726311c9db6bea72a63e2a5cfb7ab37b
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Feb 27 10:52:49 2009 -0800
+
+ radeon: Add DRM stubs.
+
+ Nothing really of note, unfortunately.
+
+commit 7a10fcb7b6263b991714778c7bbacedb2246f474
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Feb 27 10:52:09 2009 -0800
+
+ Include p_compiler.h in drm_api.h for boolean typedef.
+
+commit fd5411fe362a398ab0506c2becdd5953711476d5
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Feb 27 10:46:14 2009 -0800
+
+ r300-gallium: Turn true and false into TRUE and FALSE.
+
+ Match the rest of Gallium.
+
+commit 67025f789324163a69771436e852975d3acbcd86
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 27 13:10:45 2009 -0700
+
+ mesa: set bufObj->Pointer = NULL after unmapping
+
+ Also, ctx->Driver.UnmapBuffer can never be null, so remove conditional.
+
+commit a7f434b486187129ae8d5507170c42a9ce750258
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 27 13:04:38 2009 -0700
+
+ mesa: if a buffer object is mapped when glDeleteBuffers() is called, unmap it
+
+commit 395bcad8c095e78621e7aca18af1dab71fe69813
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 27 12:41:11 2009 -0700
+
+ mesa: updated comments
+
+commit 75e3ccf6a5b639834bcda0ff6f9035b148fca8f1
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 27 12:30:21 2009 -0700
+
+ mesa: fix incorrect error handling in glBufferDataARB()
+
+ If glBufferDataARB() is called while a buffer object is currently mapped
+ we're supposed to unmap the current buffer, then replace it. Don't generate
+ an error.
+
+commit 40290745ea645b52d30f866abfe25ac5d58a755c
+Author: Shaohua Li <shaohua.li@intel.com>
+Date: Mon Feb 23 15:19:21 2009 +0800
+
+ i915: Add support for a new G33-like chipset.
+
+ Signed-off-by: Shaohua Li <shaohua.li@intel.com>
+ Signed-off-by: Eric Anholt <eric@anholt.net>
+
+commit 863c76a7bb0ecf0cd492d9ddb0dcac8e12da75e0
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri Feb 27 14:48:24 2009 -0500
+
+ R300: add support for RS600 chips
+
+commit 43714e92e3b512307851349fd8c706638030854e
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Feb 27 19:33:17 2009 +0000
+
+ tgsi: don't dump interpolation info except for fragment shader inputs
+
+ Don't print the meaningless and confusing CONSTANT interpolation
+ attribute after everything else.
+
+commit 5a34ace3e6f507b4a7bd0f99051b64167549672c
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri Feb 27 14:31:14 2009 -0500
+
+ R300: set the number of GB pipes on all r3xx-r5xx chips
+
+commit b6e2dd6e069a07026a907e85d4fa8d34bcfafb0b
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 27 11:45:06 2009 -0700
+
+ tests: new mapvbo.c test
+
+ Test that glDrawArrays() isn't effected by a glMapBuffer()/modify/glUnmapBuffer()
+ immediately afterward.
+
+commit c28298855bf5d5ef790d28bac2e77700625fa69a
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Feb 27 10:15:42 2009 -0800
+
+ r300-gallium: Add RS block setup.
+
+ This is still icky, and only compile-tested.
+
+commit 4ef8c047ea4cdbf9bc31920d58205620b857fe3c
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Feb 27 08:23:01 2009 -0800
+
+ r300-gallium: Add RS600 chipsets.
+
+commit 65021162a494cfffd6b0d50d3e93fb1082e90332
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Feb 26 21:25:06 2009 -0800
+
+ r300-gallium: A handful of tiny vfmt fixups.
+
+ Using a tab of inputs should work, but I keep getting bad results.
+ If only Rawhide's GDB wasn't broken...
+
+commit 17c7852bf93c4d4edf0c2cf0bdc553d399e2f51a
+Author: Robert Ellison <papillo@vmware.com>
+Date: Fri Feb 27 00:21:07 2009 -0700
+
+ i965: texture fixes: bordered textures, fallback rendering
+
+ i965 doesn't natively support GL_CLAMP; it treats it like
+ GL_CLAMP_TO_EDGE, which fails conformance tests.
+
+ This fix adds a clause to the check_fallbacks() test to check
+ whether GL_CLAMP is in use on any enabled 2D texture. If so,
+ and if strict conformance is required (via INTEL_STRICT_CONFORMANCE),
+ a software fallback is mandated.
+
+ In addition, validate textures *before* checking for fallbacks,
+ rather than after; otherwise, the texture state is never validated
+ and can't be trusted. (In particular, if texturing is enabled and
+ the sampler would access any level beyond level 0 of a texture, the
+ sampler will segfault, because texture validation sets the firstLevel
+ and lastLevel fields of a texture object so that the valid levels
+ will be mapped and accessed correctly. If texture validation doesn't
+ occur, only level 0 is accessed correctly, and that only because
+ firstLevel and lastLevel happen to be set to 0.)
+
+commit 026465b9b1aebab98b6d519b75fe96d0ca9f4f51
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 27 09:45:41 2009 -0700
+
+ gallium: fix state tracker's stencil buffer test
+
+ Need to check ctx->DrawBuffer->Visual.stencilBits not ctx->Visual.stencilBits
+ because the later only applies to the window system buffers, not user-created
+ FBOs.
+
+ This, plus the previous commit, fixes progs/tests/fbotexture.c
+
+commit 5fc74734d92f7e7ff3df693254986ba5d2b5e653
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 27 09:43:58 2009 -0700
+
+ gallium: add st_validate_framebuffer() driver function
+
+ Gallium only supports combined depth/stencil buffers, not separate ones.
+ If the user tries to create create a FBO with separate depth/stencil
+ renderbuffers mark the FBO as unsupported.
+
+commit b747e1dec4a2999412ee25371994a07a4bed900e
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Feb 27 15:10:11 2009 +0000
+
+ util: set vbuf.max_index in draw_vertex_buffer()
+ (cherry picked from commit 1350f2efba5eeceebe0e711db6152c29e9889ce7)
+
+commit a321b8ed6ea583f43f8d5ab5d1b918a96df44f1d
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Feb 19 14:46:23 2009 +0000
+
+ softpipe: add dumping of post-tranfsormed vertices (disabled)
+
+commit cf89f063634ff89cbd732bf67950debc94897ed9
+Author: David Miller <davem@davemloft.net>
+Date: Fri Feb 27 02:38:40 2009 -0800
+
+ mesa: Fix and re-enable sparc normal asm.
+
+ Fix a bug reported in 2003 :-)
+
+ The output vector has 4 entries, not 3.
+
+ Unconditionally emit .register directives.
+
+ Signed-off-by: David S. Miller <davem@davemloft.net>
+
+commit bde27b0d94dc2b3d0d4656e2c85ecbbd1245b3ac
+Author: David Miller <davem@davemloft.net>
+Date: Fri Feb 27 02:38:37 2009 -0800
+
+ mesa: Fix Sparc cliptest asm code and re-enable.
+
+ Stop using register %g7 since that is used by the "system" (ie. the
+ pthread implementation makes use of it).
+
+ Also, the projection vector can be NULL and we shouldn't try to access
+ it at all in _mesa_sparc_cliptest_points4_np(). ioquake3 would crash
+ due to this bug.
+
+ Finally, unconditionally emit the register directives and re-enable in
+ _mesa_init_all_sparc_transform_asm().
+
+ Signed-off-by: David S. Miller <davem@davemloft.net>
+
+commit 0dba8883e3f6d51bf3a2918ac21770326da2664a
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Feb 27 14:03:30 2009 +1000
+
+ r300: make ste text buffer work with > 2048 on r500
+
+commit 26c1b0af024e4847ce1000ee471ab5b5bdb18a1b
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Feb 27 14:02:23 2009 +1000
+
+ radeon: add more fbconfigs
+
+ this makes glxgears get its background back when running under DRI2
+
+commit 7f44b62a4a90242ef824f9751affe5c46e401691
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Feb 26 14:04:38 2009 +1000
+
+ r300: remove depth offset exits in favour of rrb depth changes
+
+commit e1d276f9351a6524f4a48d9606ae531cc04ccad4
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Fri Feb 27 03:27:31 2009 +0100
+
+ intel: Use flink for global buffer ids
+
+ Also fix minor drm api change
+
+commit 6a72a2d3f4ea50996593bfa55ae671eee9836d76
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Fri Feb 27 03:25:48 2009 +0100
+
+ egl: Fix for minor api change
+
+commit 24a94d13c98f8b02a32213689acbd9665694318c
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Fri Feb 27 03:25:08 2009 +0100
+
+ st/drm: Seperate get handle for global buffer ids
+
+commit 18e01393b83b2a1b78a0c0cee7fd3713cb3bc373
+Author: David S. Miller <davem@davemloft.net>
+Date: Thu Feb 26 18:59:04 2009 -0700
+
+ mesa: Fix DEBUG_MATH build on sparc.
+
+ Need to use '__asm__' instead of plain 'asm'.
+
+ math/m_debug_clip.c: In function ‘test_cliptest_function’:
+ math/m_debug_clip.c:253: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘asm’
+ math/m_debug_clip.c:253: warning: implicit declaration of function ‘asm’
+
+ Signed-off-by: David S. Miller <davem@davemloft.net>
+
+commit 7d399bf0626a55fa2a124dcf09135464cc87baa1
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Feb 26 18:37:26 2009 -0700
+
+ docs: add SPARC assembly updates
+
+commit 4f8ed56d168e9175e76bc42d8b924c7bcaa59dea
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Feb 26 18:42:00 2009 -0700
+
+ intel: no-op the intel_finish_render_texture() function
+
+ It doesn't have to do anything. See comments for more details.
+
+commit f77b720cde981d441e482bbbd68115634b3041ce
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Feb 26 16:51:50 2009 -0700
+
+ intel: check texture formats in intel_validate_framebuffer()
+
+ We can't render into any texture format; only certain formats.
+ Check that render-to-texture's format is renderable in the
+ intel_validate_framebuffer()
+
+ There seems to be a bug somewhere that causes rendering to rgb565 textures
+ to be corrupted so disallow that for now. This will be revisted.
+
+commit 645f220710923f72e80281fa75e577e133b5a53c
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Feb 26 16:44:42 2009 -0700
+
+ intel: updated comment, some debug code (disabled)
+
+commit cdc63901df6af3b370935bd4997e3c9c4eb4b933
+Author: root <root@i965.localnet.net>
+Date: Thu Feb 26 15:04:20 2009 -0700
+
+ i965: rename draw_regions -> color_regions
+
+ Be a little more specific about what these are.
+
+commit c710077807cf3c83030d27337c4233bd61b19961
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Feb 26 14:51:41 2009 -0700
+
+ demos: add a fourth test case to VBO test for position/color in different VBOs
+
+commit 16144632354cb310f090c8713a11d3c65696969e
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Feb 26 14:49:24 2009 -0700
+
+ mesa: avoid extraneous calls to ctx->Driver.BindFramebuffer()
+
+ Only call this driver function when we really need to bind different buffers.
+
+commit ecdf3ce436c004365c4d3c468bf1f9ef9138853e
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Feb 26 14:02:52 2009 -0700
+
+ i965: add missing init for region->width
+
+ This doesn't seem to really effect anything but seeing width=0 in drawing
+ regions was confusing.
+
+commit 8ae7e7749b708fc5a46180d3de2503ba7e2ab1f3
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Feb 23 17:50:55 2009 -0700
+
+ mesa: replace old prog_instruction::Sampler field with Aux field
+
+ The i965 driver needs an extra instruction field for color output information.
+ It was using the Sampler field for this. Use the Aux field instead. This
+ will probaby be revisited at some point...
+
+commit 9b78d9f65178648b1888f98153a2f738a281cb84
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Feb 23 16:39:22 2009 -0700
+
+ i965: whitespace/indentation fixes
+
+commit 857ac1e817808f4b6bf985679162d0e3d709e5b5
+Author: David S. Miller <davem@davemloft.net>
+Date: Thu Feb 26 05:35:15 2009 -0800
+
+ mesa: Resurrect SPARC asm code.
+
+ This rewrites the sparc GLAPI code so that it's PIC friendly and works
+ with all of the TLS/PTHREADS/64-bit/32-bit combinations properly.
+
+ As a result we can turn SPARC asm back on. Currently it's only
+ enabled on Linux, as that's the only place where I can test this
+ stuff out.
+
+ For the moment the cliptest SPARC asm routines are disabled as they
+ are non-working. The problem is that they use register %g7 as a
+ temporary which is where the threading libraries store the thread
+ pointer on SPARC. I will fix that code up in a future change as it's
+ a pretty important routine to optimize.
+
+ Like x86 we do the runtime patch as a pthread once-invoked initializer
+ in init_glapi_relocs().
+
+ Unlike x86, however, our GLAPI stubs on SPARC are just two instruction
+ sequences that branch to a trampoline and put the GLAPI offset into a
+ register. The trampoline is what we run-time patch. The stubs thus
+ all look like:
+
+ glFoo:
+ ba __glapi_sparc_foo_stub
+ sethi GLAPI_OFFSET(glFOO) * PTR_SIZE, %g3
+
+ This actually makes generate_entrypoint() a lot simpler on SPARC. For
+ this case in generate_entrypoint() we generate stubs using a 'call'
+ instead of the 'ba' above to make sure it can reach.
+
+ In order to get a proper tail call going here, in the unpatched case,
+ we do several tricks. To get the current PC, for example, we save the
+ return address register into a temporary, do a call, save the return
+ address register written by the call to another temporary, then
+ restore the original return address register value. This is to
+ avoid having to allocate a stack frame.
+
+ This is necessary for PIC address formation.
+
+ This new GLAPI scheme lets us get rid of the ugly SPARC GLAPI hacks in
+ __glXInitialize() and one_time_init().
+
+ Signed-off-by: David S. Miller <davem@davemloft.net>
+
+commit b12dc74f86c611483465c08504dc8a564f927b15
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Feb 26 11:45:07 2009 -0800
+
+ intel: Revert disable of accelerated Bitmap, which slipped in with spans stuff.
+
+commit 294aab9b713f4646992cf72b19a492285a4bbcdb
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Feb 27 03:37:30 2009 +1000
+
+ r200: fixup emit sizes for kms
+
+commit 5add2c88bdcf0f892b65d6074986672fe4c1bdfe
+Author: Tomas Carnecky <tom@dbservice.com>
+Date: Thu Feb 26 07:31:35 2009 +0100
+
+ Fix "cast to pointer from integer of different size"
+
+ The script generates code like:
+ pixels = (const GLvoid *) (ptr_is_null != 0) ? NULL : (pc + 80);
+ which causes the above mentioned warning. Add parenthesis around the
+ whole expression to fix it.
+
+ Signed-off-by: Tomas Carnecky <tom@dbservice.com>
+
+commit e267a090ab7be5dbd9a40887726e6ae696bc7be3
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Feb 27 03:05:42 2009 +1000
+
+ r200: port over cs emit changes from radeon
+
+commit 34e719c9b38b0475d49e92330bdc27d1e462ae15
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Jan 24 10:28:39 2009 +0000
+
+ scons: Don't build the DRI drivers in a seperate dir.
+
+ DRI drivers can be build side by side with other non-DRI drivers, therefore
+ there is no need to build gallium twice.
+
+commit af3ab2d9f39c724b881a04190a39949ba911b864
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Jan 23 21:01:16 2009 +0000
+
+ scons: Use a cache for built files.
+
+ Like ccache, but works on all OSes.
+
+commit 68915fd6fac44dd000080298e3afb0669e8754aa
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Thu Feb 26 17:31:01 2009 +0800
+
+ i965: fix for RHW workaround
+
+ It is possible that an object whose vertices all are outside of a
+ view plane is passed to clip thread due to the RHW workaround. This
+ object should be rejected by clip thread. Fix bug #19879
+
+commit 2972d065265d38c7902ffeaa1e71706895649bec
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Feb 26 18:26:22 2009 +1000
+
+ radeon: fixup old packets emission for CS case
+
+commit 160c3617fc8867edc445b1ba62fc996c4630cc35
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Feb 26 00:18:46 2009 -0800
+
+ intel: Disable creating DRI2 FBconfigs with depth size != color size.
+
+ While it's a nice idea to be able to allow clients to choose a smaller
+ (or bigger for 16bpp screens!) depth size, right now DRI2 hands back a buffer
+ with a size that matches the drawable, rather than being based off of the
+ visual. This led to problems in readback as parts of the driver disagreed
+ on what format the depth buffer was really in.
+
+ Fixes the remainder of bug #19447.
+
+commit 2b34275a784501225f605f11db801b5f2d7cdc64
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Feb 25 23:58:38 2009 -0800
+
+ intel: Add span code for z24 without stencil.
+
+ It seems that in this case the Mesa code is handing us x8z24 values instead
+ of z24s8 values, so we need to not do the rotation. Fixes half of OGLconform
+ depthrange.c.
+
+ Bug #19447.
+
+commit 43a45439465eff483486e7f86620e1d09978497f
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Feb 25 23:54:40 2009 -0800
+
+ intel: make template wrappers for the spans templates.
+
+ This is insanity, but so is copying the same blocks containing the actual
+ interesting code in the file three times each for the different tile formats.
+
+commit 119f34e2a52d7e074ea51d49acf6c11d83142ccc
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Feb 25 22:54:51 2009 -0800
+
+ intel: Fix up x8r8g8b8 renderbuffer format so that alpha=1 spans code happens.
+
+ I was lured into a false sense of security by the fact that the spans code was
+ already there, and a bunch of tests didn't catch the problem. oglconform's
+ mask.c did, though.
+
+ Bug #19970.
+
+commit 6d7164705b933c754dddea6015b653a3bacc75bf
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Feb 26 11:45:24 2009 +1000
+
+ r100: fixup kms state emissions
+
+commit 6415e64cbc55b2e11b9ed3f3a861e28479f85d68
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Feb 25 19:22:42 2009 +1000
+
+ radeon: avoid page flip code in DRI2
+
+commit 3ec7137a75f8832bba52f98669b93d4135ae1a3f
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Feb 25 19:22:25 2009 +1000
+
+ radeon: enable DRI2 for r100
+
+commit 925ea2d9a5096dbad1d82dc1afffb13a650de799
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Feb 25 19:21:22 2009 +1000
+
+ radeon: move CB/ZB state init into emit code
+
+ This removes the use of the sarea for this stuff so makes DRI2 easier
+ and emits the CB/ZB info in the correct place
+
+commit 53b373451142aeea9111143d7902bf8f5716ef75
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Wed Feb 25 17:45:34 2009 -0800
+
+ autoconf: Fixup EGL build
+
+ This gets the needed libraries pulled in for libEGL for autoconf.
+
+commit 158ede35d50faae7cbc8aa2bb9288f93c9e60962
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Feb 26 11:09:32 2009 +1000
+
+ r300: fixup texture state emission for kms path
+
+commit 2c033f3893e808f109807f5e4744b61e79e78055
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Feb 26 11:09:16 2009 +1000
+
+ r300: don't call page flip on DRI2
+
+commit bc5f94c1e1fddcf2b2a50972cb96e2593b288994
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Feb 26 11:08:14 2009 +1000
+
+ r300: don't flush VAP too often.
+
+ Flush the VAP the first time for each state atom we upload new
+ VAP data
+
+commit d0415a5a01c1a8c2c2a389d977401a7f6cee031b
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Feb 25 12:41:25 2009 -0800
+
+ i965: Rename CMD_CONST_BUFFER_STATE to the CS_URB_STATE used in the docs.
+
+commit 69f080cefced8b3395cdf179c107303a1013d196
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Feb 25 17:30:56 2009 -0500
+
+ R300: Add support for RS600 chips
+
+commit a0dc286b5fecec1ede014cb5702368a60cbb22bc
+Author: Younes Manton <younes.m@gmail.com>
+Date: Wed Feb 25 12:55:26 2009 -0500
+
+ nouveau: nv04-nv40 texture transfer.
+
+commit 5726a5afa56e18b1662a8b03cf36c77e2d8b3114
+Author: Younes Manton <younes.m@gmail.com>
+Date: Fri Feb 20 14:51:31 2009 -0500
+
+ g3dvl: Update winsys stuff.
+
+commit f2a5c6b42ce0272db10aff3fd476b1371912b0f4
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Feb 25 08:45:08 2009 -0700
+
+ egl: remove compiler flags from CFLAGS
+
+ The incoming CFLAGS already has -fPIC and -Wall. Don't want -g here either.
+
+commit c34c78b85381ced8bfa9f16faba9a5e9e6bf2a3a
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Feb 25 08:41:13 2009 -0700
+
+ egl: use new EGL_LIB_DEPS to pass library dependencies to mklib when building libEGL
+
+ EGL_LIB_DEPS may need fine-tuning for some platforms. It's only defined
+ in configs/default ATM.
+
+commit 501d6d49dd37597ef65dd8b62a8c7982e735143c
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Feb 25 07:58:17 2009 -0700
+
+ egl: add comment/reminder to fix the CFLAGS in this Makefile
+
+commit dbab39c6caacb974062ac574b365254412aea412
+Author: Benjamin Close <Benjamin.Close@clearchain.com>
+Date: Tue Feb 24 20:51:10 2009 -0800
+
+ gallium: Add support for BSD operating systems, tested with FreeBSD
+
+ BSD supports pipe in the same way as linux hence options which
+ are safe for linux are also safe for BSD. Define PIPE_OS_BSD in
+ include/pipe/p_config.h and adjust the defines to make use of it.
+
+ Also define MAP_ANONYMOUS for BSD systems which use MAP_ANON
+
+ Signed-off-by: Benjamin Close <Benjamin.Close@clearchain.com>
+
+commit afe139f629251f38afd5b477d5b00f47d17da60f
+Author: Benjamin Close <Benjamin.Close@clearchain.com>
+Date: Tue Feb 24 20:51:11 2009 -0800
+
+ gallium: Fix build when exiting CFLAGS contains a path with different gl.h
+
+ If a path is in CFLAGS when building and that path contains gl.h
+ then the wrong gl.h is used when building. This can lead to very
+ confusing errors. The solution is rather than postpend the CFLAGS
+ we prepend the paths as expected allowing compilation to occur
+ as intended
+
+ Signed-off-by: Benjamin Close <Benjamin.Close@clearchain.com>
+
+commit 9c0dea10e91752d5f43ed5ef9eac53248e5a05eb
+Author: Benjamin Close <Benjamin.Close@clearchain.com>
+Date: Tue Feb 24 20:51:12 2009 -0800
+
+ egl: Use -dlopen rather than -dl which is non portable
+
+ Signed-off-by: Benjamin Close <Benjamin.Close@clearchain.com>
+
+commit 161307f17889aed10a81935dd38f6ceeb2097109
+Author: Benjamin Close <Benjamin.Close@clearchain.com>
+Date: Tue Feb 24 20:51:13 2009 -0800
+
+ egl: Allow compilation to succeed with FreeBSD
+
+ Signed-off-by: Benjamin Close <Benjamin.Close@clearchain.com>
+
+commit 199867bd4585036f19e219562c22a9b499a7b0d2
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Feb 25 18:06:44 2009 +1000
+
+ r300: drop r300Flush for the generic one
+
+commit 981b7c08ae54b80cd4750dc15f4e63bd7bf0a0a6
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Feb 24 21:01:07 2009 -0700
+
+ softpipe: minor code simplification for face/zslice offset calculation
+
+commit 192b7f20ebbe6e5ed7d7c8d8cb25ace019723689
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Feb 24 20:58:46 2009 -0700
+
+ cell: overhaul cell teximage code
+
+ Updated to use the new pipe_transfer functions, etc.
+ Texturing is working again. Though there's some bugs in mipmap texturing
+ but I believe those predate the pipe_transfer changes.
+
+commit bd0370cd26e4fe9bc84afdb3d087e46b38022961
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Feb 24 20:10:36 2009 -0700
+
+ cell: don't need tex transfer for drawing surfaces
+
+commit 32dc28ac7ace3ab9fedeba66ab90cf690b1d6794
+Author: David S. Miller <davem@davemloft.net>
+Date: Tue Feb 24 20:06:05 2009 -0700
+
+ mesa: Build DRI by default on Linux/sparc
+
+ Signed-off-by: David S. Miller <davem@davemloft.net>
+
+commit d7c6ffbc5f658979b6cddf0b2b6b1165c8d45511
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Wed Feb 25 01:54:03 2009 +0100
+
+ intel: Adopt to the new drm_api.h
+
+commit 36348ff1da9064ac93802dc4e10cef74de0a1f47
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Tue Feb 24 23:22:34 2009 +0100
+
+ i915: Enable winsys to get buffer from texture
+
+commit 25b32eb8d00e303958497df9211ec2c45268b6af
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Wed Feb 25 01:52:38 2009 +0100
+
+ st/drm: Bring drm_api.h up to date with latest changes
+
+commit f0d09bfc1cb775ba6f9c0c3899f4ee5afa26ee46
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Tue Feb 24 23:58:11 2009 +0100
+
+ i915: Fix some warnings
+
+commit c92dc32dc26263c28a3446bc4829cfd972c8252b
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Tue Feb 24 23:55:03 2009 +0100
+
+ i915: Clean up i915_winsys.h a bit
+
+commit bfdbbfb0251bcd17c1a559668d0f4a0d36847a84
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Feb 24 17:53:39 2009 -0700
+
+ mesa: fix merge conflict (in comment)
+
+commit 8e6337f582d02d7a8884625b820266590d9ad81c
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Feb 24 17:21:45 2009 -0700
+
+ mesa: added GLES 1/2 headers to tarball file list
+
+commit 70bebf8863264a8c9effc347e12a215583fd10c3
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Feb 24 16:17:44 2009 -0700
+
+ mesa: add EGL headers to tarball list
+
+commit 9dfc1b642e6c5c739707e333bfd9d01d76710b8e
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Feb 24 15:00:14 2009 -0700
+
+ mesa: add gallium and egl files to tarball list
+
+commit 18d2745765715b03f9fda9a4c31d3678dc0bc457
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Feb 24 14:59:54 2009 -0700
+
+ glsl: silence warning
+
+commit dd9742dc9ffc976d3caae87c1302b7b5ed7d3838
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Feb 24 14:30:51 2009 -0700
+
+ mesa: use quotes for #include
+
+commit 32ac8cb050474c1d1da479883c44ec5e6f02b020
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Feb 24 14:29:05 2009 -0700
+
+ mesa: remove removed VMS files from Makefile
+
+ I'll help Jouk restore these someday if he's still maintaining VMS support...
+
+commit 7fcf4c6d2b4284360862a6cafc5d57995fd4a13a
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Feb 24 14:27:43 2009 -0700
+
+ mesa: s/sources/sources.mak/ in Makefile
+
+commit 60e5fe65067da76dea816535bec1e9073adc0ba7
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Feb 24 12:29:09 2009 +0000
+
+ gallium: Allow to specify how much will be read / was written in buffer map/unmap.
+
+ This allows the pipe driver to do more efficient DMA upload/downloads, by
+ avoiding to read/write unneeded/unmodified data.
+
+commit 693fac8ae2e5812265222b1335695bd33b90bd8a
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Feb 24 11:30:25 2009 +0000
+
+ gallium: Add pipe_buffer_write/read inlines.
+
+ Saves code, and will simplify future interface changes.
+
+commit c5dd8634c8d3487a171cd129c2b7ac6e205e72a7
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Feb 24 11:29:33 2009 +0000
+
+ mesa: List new source file in SConscript.
+
+commit 208dbc6832c58f030930cdfccb5f0a2b378a5eb1
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Feb 24 11:22:24 2009 +0000
+
+ pipebuffer: Remove unused var.
+
+commit 2ebf9b95213b3d1e67dad16442cdd0d8571ef0b3
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Feb 24 12:04:49 2009 +1000
+
+ r300: fix bo ref/unref, plugs DRI handle leaks
+
+commit 00f0b05d5f14256213f744c3b8e4ce82611e0ba1
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Feb 23 17:43:43 2009 -0700
+
+ glsl: yet another swizzled expression fix
+
+ This fixes swizzled conditional expressions such "(b ? p : q).x"
+
+commit f24ec991906e04ea6dc4f950b1f49dfda95f3f18
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Feb 23 15:07:31 2009 -0700
+
+ gallium: include st_cb_viewport.h to silence warning
+
+commit d6edbfc04a68f02c1770136397b1691a0c520131
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Feb 23 15:07:11 2009 -0700
+
+ gallium: fix build breakage in st_cb_viewport.c
+
+commit d9881356a64b848dbae5fffd77fd93d0eb4247a3
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Feb 23 13:10:55 2009 -0700
+
+ glsl: fix another swizzle-related bug
+
+ This fixes the case of "infinitely" nested swizzles such as EXPR.wzyx.yxwz.xxyz
+ This doesn't appear in typical shaders but with function inlining and the
+ compiler's internal use of swizzles it can happen.
+ New glean glsl1 test case added for this.
+
+commit 01c0c01a6d737d71a75cbd0de65c87c42b7ca230
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Fri Feb 20 14:40:08 2009 +0000
+
+ mesa: only call update_buffer when it's available
+
+commit 6b722272709abed5468428da5d2c8951c84867d2
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Thu Feb 19 18:33:15 2009 +0000
+
+ gallium: add winsys interface for viewport changes to support DRI2
+
+commit 65562453fba69e862d5e3b381d18db9c40d9353c
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Thu Feb 19 18:39:08 2009 +0000
+
+ glx: add support for a reallyFlush() function before swap occurs.
+
+commit 4fc7cde770a66ff5bcf817af33a7b0b2c04354d5
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Feb 23 13:02:56 2009 -0700
+
+ mesa: include compiler.h, fixes cell build, remove Haiku special case
+
+commit 73658ff04fd4cb5f492b0477775430efc5f8b4ca
+Author: Robert Ellison <papillo@vmware.com>
+Date: Fri Feb 20 17:04:15 2009 -0700
+
+ i965: fix line stipple fallback for GL_LINE_STRIP primitives
+
+ When doing line stipple, the stipple count resets on each line segment,
+ unless the primitive is a GL_LINE_LOOP or a GL_LINE_STRIP.
+
+ The existing code correctly identifies the need for a software fallback
+ to handle conformant line stipple on GL_LINE_LOOP primitives, but
+ neglects to make the same assessment on GL_LINE_STRIP primitives.
+ This fixes it so they match.
+
+commit 37f21fce3bd323c361291215edeb7d8cf5f4335b
+Merge: 7399d56 60e35eb
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Feb 23 17:21:36 2009 +0000
+
+ Merge commit 'origin/gallium-0.1'
+
+ Conflicts:
+ src/gallium/auxiliary/pipebuffer/pb_bufmgr_mm.c
+ src/gallium/auxiliary/util/u_tile.c
+
+commit 7399d56ec6019e00297eef57f802a53698baa8ad
+Author: Tom Fogal <tfogal@alumni.unh.edu>
+Date: Mon Feb 23 08:20:38 2009 -0700
+
+ mesa: fix _glxapi_get_proc_address() for mangled names
+
+commit 8344b85333df8c8eb1f2ca243129d29dcd0ed0dd
+Author: Joel Bosveld <joel.bosveld@gmail.com>
+Date: Mon Feb 23 08:19:14 2009 -0700
+
+ gallium: Install winsys/drm to DESTDIR rather than /
+
+commit 41172c04306098ab9ecba8b48d7be47c3911a662
+Author: Tomas Wilhelmsson <tomas.wilhelmsson@gmail.com>
+Date: Mon Feb 23 08:11:29 2009 -0700
+
+ mesa: fixes for building on Haiku
+
+commit d265706cd3849679e543797b4ad4edf463cd4586
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Feb 23 05:04:17 2009 -0800
+
+ r300-gallium: Fix pasto and debug messages.
+
+ This could explain at least one kind of lockup. Yay?
+
+commit 65b79383fb0ad7e14d097f6fdd7227605df4c7cb
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Feb 23 04:48:42 2009 -0800
+
+ r300-gallium: Cleanup some state emit, move vertex format state to r300_emit.
+
+ No need to explicitly update derived state, as it will be done automatically.
+
+commit 67387bf33fb7e92d4fcab1fe7f26b6a0b17048a6
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Feb 23 12:53:09 2009 +0000
+
+ gallium: Define PIPE_PRIM_MAX.
+
+commit b003b2f6dd4ddba45910560ab6d495fb01b5301b
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Feb 23 04:36:41 2009 -0800
+
+ r300-gallium: Fix a handful of compile warnings.
+
+ Some harmless, some very dangerous.
+
+commit f72e77791116eda427438f9d9e895de71123c334
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Feb 23 04:25:29 2009 -0800
+
+ r300-gallium: Decode passthrough shader for r300.
+
+ Looks pretty sane.
+
+commit 763714d9009147478ab8265390678f91af70f952
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Feb 23 03:18:02 2009 -0800
+
+ r300-gallium: Finish VAP/VF setup.
+
+ Messy, messy.
+
+commit d7370102960689f5092df05d5097ecae8d0096d4
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Feb 23 03:16:46 2009 -0800
+
+ r300-gallium: Fix BEGIN_CS size.
+
+commit c7bbc9ad126b2b120407146c5aa9894f4487752e
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Feb 23 11:52:59 2009 +0000
+
+ wgl: Enable the use of Win32 threads.
+
+commit 1456af2f2d7602a1f1fca54d8fe625e25851e441
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Feb 23 11:24:46 2009 +0000
+
+ mesa: Fix windows build.
+
+commit c32a28d86eda3d1984f6a571be0db6c6f5c7f5dc
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Feb 23 15:41:30 2009 +1000
+
+ r300: fixup old setTexOffset DRI1 extension
+
+commit f4502f0f8c065f28c257b7be67021d3920e51a99
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Feb 23 13:49:29 2009 +1000
+
+ radeon: add more debug info to the flush debug
+
+commit 018f5f92cc8f41f6071af4fe16745ccc19231e18
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Feb 23 13:48:52 2009 +1000
+
+ r300: revert back autostate change on cacheflush emit
+
+commit 13ed7985b245770259681d9dc6bff16354a78be5
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Feb 23 13:37:23 2009 +1000
+
+ r300: use OUT_BATCH_REGVAL in a few more places
+
+commit 6ffd472b0e44f835c1c8880e3e27bdd33905e08e
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Feb 23 13:35:10 2009 +1000
+
+ r300: set u to 0 so debug logs are easier to read
+
+commit 8c239704792712c246d04450cab8aa167ed8680c
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Feb 23 13:33:51 2009 +1000
+
+ radeon: stabilise r300 driver like the F10 mesa bufmgr
+
+ For some reason flushs caused by this CS needs flush hook,
+ caused the chip to lockup on r300 under compiz, whereas
+ the F10 driver was rock solid.
+
+commit 77161c5ff51a7b8fcd7043b94c2cb86cb1d57d79
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Feb 23 13:33:35 2009 +1000
+
+ radeon: add some debugging for flush ioctls
+
+commit d4bfe34cb9a06f887e243cde936982342d4894c6
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Feb 23 13:33:05 2009 +1000
+
+ radeon: make state atom print like old r300 code
+
+commit b4a90c62134e7cf3af4ce52baa923a875ff292c1
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Feb 23 13:32:24 2009 +1000
+
+ radeon: fixup legacy bo/cs out of VRAM waiting.
+
+ This is similiar to the code from the F10 r300 bufmgr
+
+commit ddc6ee316cd7ca07853efc615cd2681f3a1232d4
+Author: Joakim Sindholt <opensource@zhasha.com>
+Date: Sat Feb 21 17:40:48 2009 +0100
+
+ r300-gallium: Add pipe_format translators and apply them
+
+commit 4776ebc648c6793b1d001ae2f46a673a19ab5ff3
+Author: Joakim Sindholt <opensource@zhasha.com>
+Date: Sat Feb 21 17:27:12 2009 +0100
+
+ r300-gallium: Add all supported 2d texture formats
+
+commit b11f1c35d556b0c2d6815e33745b02e740e69167
+Author: Joakim Sindholt <opensource@zhasha.com>
+Date: Fri Feb 20 03:53:20 2009 +0100
+
+ r300-gallium: correct buffer stride calculation
+
+commit 27a8432e35669920fa8e985819ba3ef8b258127d
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Feb 22 16:29:30 2009 -0700
+
+ mesa: remove unneeded #include
+
+commit 1d5a68970f1d8fcca29ce24e6667a143733197f0
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Feb 22 16:19:29 2009 -0700
+
+ mesa: #include, misc clean-ups
+
+commit c74992d840b7a8f7f50e778e692e40681aa166ca
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Feb 22 16:18:38 2009 -0700
+
+ mesa: remove unneeded #includes
+
+commit f2c023291a1f2887294d2aac504f8b82857ad092
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Feb 22 15:43:29 2009 -0700
+
+ mesa: move a bunch of compiler-related stuff into new compiler.h header
+
+ This trims down and cleans up imports.h and glheader.h quite a bit.
+
+commit d909dbcc43c5c1d51a3946488e68a7cd1fbfe920
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Feb 22 14:27:21 2009 -0700
+
+ mesa: remove unused ENABLE_TEXGENx, ENABLE_TEXMATx flags
+
+commit c7377e2d47c6a1dfa508deee66b686e2c0b6ee27
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Feb 22 14:26:44 2009 -0700
+
+ mesa: assorted clean-ups, var renaming, etc.
+
+commit 901568d068c0fa9b837c2e163ee7af9358a3caa0
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Feb 22 14:20:16 2009 -0700
+
+ mesa: simplify texture combine state copying in _mesa_copy_texture_state()
+
+ Just copy the whole struct.
+
+commit 0057f5b8cd93ebeb66392defc7285e3e474aa411
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Feb 22 14:15:58 2009 -0700
+
+ mesa: remove redundant assertions (same asserts in context.c)
+
+commit 022e446c78d294d70129c9e4293b5c7e444a3cbd
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Feb 22 15:37:57 2009 -0700
+
+ gallium: remove dependency on main/glheader.h in glxapi.c
+
+ Only needed it for the PUBLIC macro.
+
+commit e5e255a4062bd96390a3eaa3c83aa40001b6de95
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Sun Feb 22 15:38:59 2009 +1000
+
+ nv50: delay uploads until transfer object is destroyed
+
+ It's possible a state tracker will map/unmap a transfer object many times.
+ Delaying upload until the object is destroyed will prevent unnecessary
+ uploads to the GPU.
+
+ Also fixing a typo here, was unmapping the wrong buffer on transfer_unmap!
+
+commit 487a55af7864a3b16531af5481aab7f585622e4a
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sun Feb 22 10:37:54 2009 +1000
+
+ texmem: fix typo from brianp's changes.
+
+ Reported by cjb via tinderbox on irc
+
+commit 4447fddc82a2c0245e798c90492293d875d186d0
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Feb 21 16:07:52 2009 -0700
+
+ glapi: update find_entry() for mangled names
+
+commit da46db60a04da87da1277b4316e30bfe4b2c7d8a
+Author: Tom Fogal <tfogal@sci.utah.edu>
+Date: Sat Feb 21 16:07:04 2009 -0700
+
+ mesa: added extern qualifier
+
+commit fe0ccf323daba2a5e2f0d9936477c73db044190a
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Feb 21 16:01:54 2009 -0700
+
+ mesa: regenerated gl_mange.h file
+
+commit d059d030342fc232a5b54298c0591f5f814f4adb
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Feb 21 15:15:20 2009 -0700
+
+ mesa: use enums for TEXTURE_x_INDEX values
+
+ Plus, put them in the order of highest to lowest priority to simplify
+ the texture_override() loop.
+
+commit 9818734e0148510967ca9ee0d1aa8b196b509f02
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Feb 21 14:53:25 2009 -0700
+
+ mesa: use an array for current texture objects
+
+ Use loops to consolidate lots of texture object code.
+
+commit 4d24b639d160fe485a3e8f7395e7654538be29e0
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Feb 21 13:59:29 2009 -0700
+
+ mesa: use an array for default texture objects
+
+ Replace Default1D/2D/3D/Cube/etc with DefaultTex[TEXTURE_x_INDEX].
+ The same should be done with the Current1D/2D/3D/etc pointers...
+
+commit 9705cff2033f1771a39ac3bb78eb5fcea522218a
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Feb 21 13:23:04 2009 -0700
+
+ mesa: re-org texgen state
+
+ New gl_texgen struct allows quite a bit of code reduction.
+
+commit 5b354d39d466e3a463c6766fe06f737aa6e6b7bd
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Fri Feb 13 11:05:54 2009 -0500
+
+ intel: Fix intelSetTexBuffer miptree leak.
+
+ The intelImage also holds a reference to the miptree, so unref that as well.
+
+commit 40dd024be618d805b3744e15d25e115018641324
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Feb 18 11:34:47 2009 -0800
+
+ intel: tell libdrm whether we want a cpu-ready or gpu-ready BO for regions.
+
+ This lets us avoid allocing new buffers for renderbuffers, finalized miptrees,
+ and PBO-uploaded textures when there's an unreferenced but still active one
+ cached, while also avoiding CPU waits for batchbuffers and CPU-uploaded
+ textures. The size of BOs allocated for a desktop running current GL
+ cairogears on i915 is cut in half with this.
+
+ Note that this means we require libdrm 2.4.5.
+
+commit 078e8a61b2aa547c6794f586a5c8bfaa575bb066
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Feb 19 13:53:46 2009 -0800
+
+ i965: Fix render target read domains.
+
+ We were asking for something illegal (write_domain != 0 && read_domains !=
+ write_domain) because at the time of writing the region surfaces were used
+ for texturing occasionally as well, and we weren't really clear on the model
+ GEM was going to use.
+
+ This reliably triggered a kernel bug with domain handling, resulting in
+ oglconform mustpass.c failure. Of course, it only became visible after
+ 01bc4d441fd6821ad9fc20d5e9544e4e587e4ff0 cleaned up some gratuitous flushing.
+
+commit bd2f921d782a41a7fd9366435451768eb57df1cd
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sat Feb 21 11:58:48 2009 +0100
+
+ trivial: Add tri-viewport
+
+commit b3bd315e572f55224393386dd2d171dc15600694
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sat Feb 21 11:57:50 2009 +0100
+
+ trivial: Fix indentation in tri
+
+commit 0be216c526c29726a73a26a37dcd5a00cfbefc86
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Feb 24 15:49:21 2009 +0000
+
+ pipebuffer: Allow asymmetric guard sizes for under/overflow detection.
+
+commit 8f3c1cddaa9c307f70fca0e1a917397a7d85c238
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Feb 24 15:44:09 2009 +0000
+
+ util: Don't use 0-sized arrays.
+
+ Not supported by MSVC.
+
+commit d6677fd9bc19050c18e0509815123990455b785b
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Feb 24 08:33:50 2009 -0700
+
+ softpipe: minor code movement in softpipe_get_tex_transfer()
+
+commit 66ddf1a00f7f730831c32b27e46515a0369487ff
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Feb 23 20:23:00 2009 -0700
+
+ cell: added null ptr check in xm_flush_frontbuffer()
+
+commit e6479c62504ec828e25cd6b46f8999f3a26a482c
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Feb 24 12:02:24 2009 +0000
+
+ demos: add some fflushes for windows
+
+commit b1ac00dc8d283f82a7f74bc435b5131311b2df86
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Feb 24 12:00:47 2009 +0000
+
+ st/wgl: silence some debug
+
+commit 93d101f0c3b2b7b6909d6f98a0d04b978b4ae29a
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Feb 24 11:58:58 2009 +0000
+
+ mesa/st: support l8 as well as i8 in bitmap code
+
+ Also don't send the partial program fragment down to hardware -- the
+ program will never be used in that form.
+
+commit 776971218ef6c6749fcb882a95ae5fc3a1ff5059
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 20 14:06:25 2009 -0700
+
+ gallium: use the TGSI_TEXTURE_SHADOW1D/2D/RECT texture types for TEX instructions
+
+ These texture types were defined but never put to use.
+ For the time being though, the Mesa->TGSI translater isn't emitting these
+ targets. See the XXX comment in map_texture_target().
+
+commit e0d907308150b4863cc4f24543e70e14207e966a
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 20 13:50:27 2009 -0700
+
+ i965: use the new prog_instruction::TexShadow field
+
+ GLSL shadow() sampler calls are properly propogated down to the driver now.
+ The glean glsl1 shadow() tests work (except for the alpha channel).
+
+commit 773e9d47651149158e58916616235b26904c3665
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 20 13:48:44 2009 -0700
+
+ i965: check depth_mode in translate_tex_format() for MESA_FORMAT_S8_Z24
+
+ Note that I24X8 vs. A24X8 vs. L24X8 doesn't seem to make any difference
+ for texture/shadow compare, however.
+
+commit 0ea95ae7420b4217b5c10c7593eb2e08e971bf72
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 20 13:44:43 2009 -0700
+
+ glsl: use new IR opcodes for TEX instructions with shadow comparison
+
+ Such TEX instructions will have the TexShadow flag set.
+ The gl_program::ShadowSamplers field is now set in the linker. We missed
+ that before.
+
+commit 44e018c09e7aeba9fd9f4c380da224bd6622c470
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 20 13:42:08 2009 -0700
+
+ mesa: add TexShadow field to prog_instruction
+
+ If the instruction is TEX/TXP/TXL/etc the TexShadow field will be true if
+ the instruction is a texture fetch with shadow compare.
+
+commit a79186e29efebed04c927d024b013435e7ff5725
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 20 12:23:25 2009 -0700
+
+ i965: separate emit_op() and emit_tex_op() functions
+
+commit e3cc8e8244388f767430bf310f933944664f8e51
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 20 11:24:15 2009 -0700
+
+ mesa: freshen-up comments, move some fields in prog_instruction
+
+commit 55d33e1fa7d231a0cdfce9b9650ae9e136e6c63c
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 20 10:49:30 2009 -0700
+
+ i965: update comment, use const qualifier
+
+commit f5674b566e0da9406484cff4249297bd8c6cf445
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 20 10:48:52 2009 -0700
+
+ i965: var renaming, clean-up
+
+commit fc320d4641e54e19a1f1211e9ecffca7933773f6
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 20 10:48:20 2009 -0700
+
+ i965: added comment
+
+commit da2b661ee45a2754bab06359477428ef7df570ca
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 20 10:47:28 2009 -0700
+
+ intel: fix datatype typo, s/GLboolean/GLuint/
+
+ Fixes mysterious failures in glean glsl1 test.
+
+commit d8de0a2f3a95e424848874f4f5a954c502794e54
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 20 08:31:02 2009 -0700
+
+ i965: additional debug output
+
+commit c0b59420eec5ffdf22a5919d38851c3620b97c09
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 20 11:44:17 2009 -0700
+
+ glsl: rename GLSL texture assembly instructions to be more legible
+
+commit ad2cfa41992d0676881440596c43ab6021c1b025
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 20 11:42:28 2009 -0700
+
+ glsl: fix vec4_texp_rect IR code (need projective version)
+
+commit 60e35ebf1476c31eb5d7c207ab8e9db77fcad896
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Feb 20 16:50:02 2009 +0000
+
+ python: More efficient blits from surfaces.
+
+ C code instead of interpreted python code.
+
+commit 77388559886dd84c69aaffc9a385ad87c410afa9
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Feb 20 16:48:45 2009 +0000
+
+ util: Use a checkboard pattern instead of asserting for unknown formats.
+
+ Useful to replay traces which use DXTC textures...
+
+commit 059d7f3103395917217d376365def36641a51602
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Feb 20 15:23:33 2009 +0000
+
+ python/interpreter: Don't do unnecessary updates.
+
+commit e92f3310fa552b06a17d4f52177fc71e9ad54257
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Feb 20 15:14:15 2009 +0000
+
+ python/retrace: Verbosity level.
+
+commit 204526a6d277265b9872d4681e70c58d57038926
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Feb 20 15:02:19 2009 +0000
+
+ python/retrace: Cope with python 2.4.x
+
+commit 02ab1eaed7b2b14c5478eeb24712994d4bed3d2f
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Feb 20 14:27:23 2009 +0000
+
+ util/debug: need to fflush(stderr) on windows
+
+ Hard to believe... but true.
+
+commit 5b41e30f2692c3321f3562c020b9fceabca45bf5
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Feb 20 14:14:19 2009 +0000
+
+ util: Also output messages to stderr on windows.
+
+ When there is a console attached, and no debugger attached.
+
+commit 7887a3e42b8cd9f3376dbf090e11c56198275c44
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Dec 31 15:03:35 2008 +0000
+
+ python: Pass a zero offset to util_draw_vertex_buffer.
+
+commit a5c2570dc5a94dae8e50e0f8cd714b928aed695c
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Feb 20 11:35:46 2009 +0000
+
+ wgl: Prevent null pointer reference.
+
+commit ee4e4a6b964a3a91fcb922d4e82abff62da39102
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Feb 20 11:35:23 2009 +0000
+
+ util: Stack backtracing facilities.
+
+ Not much useful until we have symbol lookup.
+
+commit d67bd60ecf13331ec5aa12bdb88b35f44dccdeb0
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Feb 20 11:03:18 2009 +0000
+
+ gallium: s/GALLIUM_DRIVER_DIRS/GALLIUM_DRIVERS_DIRS/
+
+commit fffadc219f3900a5b0405a9fddbc289873ea0842
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Feb 20 00:50:26 2009 +0100
+
+ gallium: Improve recursive makefiles
+
+commit 3eebd24cb6202171ee00506bb3fc71ac7dcc4cb8
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Feb 20 00:47:46 2009 +0100
+
+ gallium: Improve winsys dri template Makefile
+
+ LIBNAME_EGL had to be removed since if you didn't
+ set it (nobody set it anyways) make would get it
+ confused it with the $(TOP)/lib/gallium target.
+
+commit 5089e5c0525363fa709dacbbd8874b69ca858c4d
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Feb 20 00:23:29 2009 +0100
+
+ intel: Use new makefile template for drm gem
+
+commit 2734b8079dd0cc3d0a275f2a415dd5c828fd4697
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Feb 20 00:22:07 2009 +0100
+
+ nouveau: Use new makefile template for drm common
+
+commit d9602e5144bc76b9791fa3382ca38c880df96198
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Feb 20 00:14:00 2009 +0100
+
+ gallium: Improve makefiles for libraries
+
+ The template makefile that most libraries in
+ gallium included was based on dri and had a bunch
+ unrelevant junk in it.
+
+ Update it and improve the depending makefiles.
+
+commit 8cf997b7c8a2c8eb347ce06d0e8bfaf2e9d4bd9d
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Fri Feb 20 09:47:56 2009 +1000
+
+ nouveau: reenable all the non-nv50 pipe drivers
+
+ They still won't build yet, but anyway..
+
+commit b85c81760c1278f2d56aba1195fd72b644be674a
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Fri Feb 20 09:39:13 2009 +1000
+
+ nv50: remove unused variable
+
+commit 5ea8068f242411604cfb80e0ce21d8f6f2641046
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Fri Feb 20 09:38:06 2009 +1000
+
+ nv50: fix occlusion queries
+
+ Left behind from some gallium changes a while back..
+
+commit 63a3a3762c8e1a67666d36b35fdb0ada8e4b7d08
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date: Fri Feb 20 09:32:47 2009 +1000
+
+ nv50: rework for texture_transfer changes
+
+commit 9c9fcc83c03c8f944236a892d96305e98f0bffdd
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Thu Feb 19 23:15:28 2009 +0100
+
+ gallium: Renable pipe drivers disabled during vbuf changes
+
+ i965simple is not enabled because it is still broken.
+
+commit 4e37f108065cc13a01117915c38d185811df6e4f
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Thu Feb 19 22:48:21 2009 +0100
+
+ trival: Make the last of progs show the name
+
+commit 2b32c7dff51fa9853ba528744bd191400aa4b206
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Feb 19 14:37:43 2009 -0700
+
+ mesa: support GL_EXT_stencil_two_side in gallium/mesa state tracker
+
+ Since Ian's patch of a few weeks ago, we can enable all three variations
+ of two-sided stencil. Update the state tracker to handle the extra back-
+ face state and turn on the EXT.
+
+ Note: there's a new Glean test for two-sided stencil now...
+
+commit a304cc6cca2ee21c3b25041abf882ef0616e5244
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Feb 19 14:36:58 2009 -0700
+
+ mesa: fix/update/restore comments related to two-sided stencil
+
+commit 2a968113a925845331f0532a5a20d9fa1502c118
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Feb 19 14:34:33 2009 -0700
+
+ mesa: initialize ctx->Stencil._BackFace = 1
+
+ Back-face stencil operations didn't work correctly because this value was
+ zero. It needs to be 1 or 2. The only place it's set otherwise is in
+ glEnable/Disable(GL_STENCIL_TEST_TWO_SIDE_EXT).
+
+commit 43b31fc6fcee6deb52a8bd033dada62e9ce67ecb
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Feb 19 12:56:56 2009 +0000
+
+ util: Support PIPE_FORMAT_Z32_FLOAT in pipe_tile_raw_to_rgba
+
+commit 7c12e1aa53ba457d29edf4c07d834c70d51f0bbd
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Feb 18 15:12:16 2009 +0000
+
+ pipebuffer: Dump debugging info for fenced buffer list.
+
+commit 46728037a0ef3b78d6d1c9843f3bc0eeaa6df11a
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Feb 18 15:05:23 2009 +0000
+
+ scons: Produce map files for debug builds too.
+
+commit c7431552c0ff203cd4b3ae37751b10e6111e4167
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Feb 18 10:25:04 2009 +0000
+
+ pipebuffer: Don't retry to alloc memory block on mm.
+
+ It will give the same result 2nd time too, as fencing is done at a
+ higher level.
+
+commit da17b36412155e0ed52b2c23eebd64662f642ac2
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Feb 18 10:46:11 2009 +1000
+
+ r300: make DRI2 not crash on compiz start
+
+commit e9d6beaab4c4b47576fb422ace0434e0fbbe567a
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Feb 18 10:45:42 2009 +1000
+
+ radeon: move device param id check ifndef
+
+commit 8ef377d76b721f2f62ca30a073fcfd312c155e95
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Feb 17 21:45:54 2009 +0000
+
+ draw: Reuse xmm registers.
+
+commit 745c78733822573a5791fbae9b3e8fab785f7aca
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Feb 17 16:01:16 2009 +1000
+
+ radeon: initialise swapped objects pointer
+
+commit 9c040745fe1d8c6cad3ac79030ead13fbcb5ae4d
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Feb 17 14:48:49 2009 +1000
+
+ radeon: legacy texMem interface fixups.
+
+ The texmem.c interface is wildly messed up it really wants to own the objects
+ so let it, pain in the ass but this code should work a lot better now
+
+commit 7ce6af25e56e28a819c38e60b4371caea3c8b5b0
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Feb 17 14:46:12 2009 +1000
+
+ Revert "dri/radeon: export a function to cleanup a texture object."
+
+ This reverts commit 5325f8624093bb1ec30d581b4ff64218ceab99f9.
+
+commit 2ba4fc3d603ebc9e3210ef96f9fbc2cd488e0a33
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Feb 17 14:00:24 2009 +1000
+
+ radeon/r200: drop legacy texture heap code
+
+commit 48e7b940ebc2cb3594074ca35fad9c63f6568582
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Feb 17 13:39:38 2009 +1000
+
+ radeon/r200: fixup texturing aging calls
+
+commit 7c7ff659ce7684f44b064c09cdca6436d2c2bf64
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Feb 17 11:17:22 2009 +1000
+
+ radeon: fixup destroy texture object exit path and update LRU
+
+ the destroy path was doing bad things with structure names, make it do less
+ bad things, use container_of instead
+
+commit 43c71a2d40d417cf721656e8b088e375dc4bdedb
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Feb 17 10:42:51 2009 +1000
+
+ radeon: remove leftover debug
+
+commit 62d504d818f1ab1836a134658b1661ceabb65f1f
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Feb 17 10:34:01 2009 +1000
+
+ radeon/r200: drop dirty state from texture object + pp_txoffset
+
+ this is just more code cleanup for old dead code
+
+commit a365f9b78bb493a5202c9a4985de40979ed42038
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Feb 17 10:28:43 2009 +1000
+
+ r200: align with r100 code
+
+commit 646325a5efb3cf4157623d115d6d8fa36f0b357d
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Feb 17 10:27:45 2009 +1000
+
+ radeon: fix not emitting texture state correctly
+
+ this is whole texture dirty bit is probably not needed with the current
+ codebase, need to revisit
+
+commit 0a8cba9a65e6ec1159a08725d2101e7eabb4526b
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Feb 17 10:26:58 2009 +1000
+
+ radeon: steal miptree optimisation from intel codebase
+
+ This replaces a miptree if it won't distrub anything else.
+
+commit 7a1dbcabf3f2599c90665e7fdbdba8698528841a
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Feb 17 10:26:33 2009 +1000
+
+ radeon: move YUV on first texunit check after hw state is setup
+
+commit 5325f8624093bb1ec30d581b4ff64218ceab99f9
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Feb 17 10:25:34 2009 +1000
+
+ dri/radeon: export a function to cleanup a texture object.
+
+ The radeon legacy code want to cleanup not free the texture obj,
+ so export a function to do that and wrap it.
+
+commit ecf0a3eac1a4868da83ab0a3c21e2f265f7cf9e2
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Feb 16 09:49:01 2009 +1000
+
+ radeon: fix texcompress2 test.
+
+ this makes compressed subimages work properly.
+
+commit f069bc4a8e628197a11ff7eb447a88a59d819689
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Feb 16 17:16:28 2009 +1000
+
+ radeon: fix compressed tex subimage unpack parameter
+
+commit b0e8ac8fd2eeb88b5f9299afb36102113a2435d4
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sun Feb 15 17:03:47 2009 +1000
+
+ radeon: add cflags to decide whether to link libdrm_radeon or not.
+
+ You don't need libdrm_radeon for the legacy driver to build,
+ only for the experimental mm/cs paths.
+
+commit 7d19d2768491f4de3b674106e93c24d29712404f
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sat Feb 14 21:43:30 2009 +0100
+
+ radeon-common: Fix crash in glGetTexImage
+
+ Since texture images are now stored in miptrees, we cannot usually
+ access them directly via the Data pointer.
+
+ So we wrap Mesa's implementation by map/unmap calls.
+
+ This crash was triggered by Sauerbraten, Piglit now contains a
+ regression test.
+
+ Signed-off-by: Nicolai Haehnle <nhaehnle@gmail.com>
+
+commit 2d9471b28159b9af952c6a87868ff648a6055c55
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sat Feb 14 20:45:01 2009 +0100
+
+ r300: Fix crash in cubemap tree creation
+
+ The mip tree creation would crash if the first baselevel image to be uploaded
+ was not the positive-x image.
+
+ Found with Sauerbraten, also added a regression test to Piglit.
+
+ Signed-off-by: Nicolai Haehnle <nhaehnle@gmail.com>
+
+commit 480bb4c2170790d6d04183be33004f83ed9aa630
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sat Feb 14 17:48:11 2009 +0100
+
+ draw: Fix segfault if rast is null
+
+commit 0794f1d6df7c41dc362ec0a1296cef084bf10301
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Thu Feb 19 19:52:59 2009 +0100
+
+ gallium/winsys/xlib: Fix build with USE_XSHM undefined.
+
+commit 5246c389e56f059096a896c9b17ad0b31f8514b4
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Feb 19 13:15:25 2009 +0000
+
+ wgl: debug_printf in the main entry/exit points
+
+commit 85b0c171c04c00b4ca9e11a1c79872f5e0cbaf9c
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Feb 19 13:02:47 2009 +0000
+
+ mesa: Free the util shaders with the gallium's FREE.
+
+commit b9c5e41688de0e2978cf2cc50fd6ba096302884d
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Feb 19 12:58:00 2009 +0000
+
+ wgl: Call pipe_screen::destroy on exit.
+
+commit 526e8451455d43c815828e7dd319defcd518631f
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Thu Feb 19 13:07:37 2009 +0000
+
+ egl: glx updates for FBconfigs
+
+commit b57c9fd83f23d011765b6c68bce090c9a5458886
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Thu Feb 19 13:07:10 2009 +0000
+
+ egl: if a surface type isn't defined let's default to EGL_WINDOW_BIT
+
+commit 9a26164f3525c31607e3e676e0d41e496dada4c2
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sat Feb 14 17:06:06 2009 +0100
+
+ r300: Redirect constant TEX coordinates
+
+ R3xx/R5xx fragment program texture constants must come from a hardware
+ register instead of the constant file, so we redirect if necessary during
+ the native rewrite phase.
+
+ The symptoms of this bug started appearing when the Mesa fixed function
+ texenvprogram code started using STATE_CURRENT_ATTRIB constants for
+ texture coordinates when the corresponding attributes were constant across
+ all vertices.
+
+ Signed-off-by: Nicolai Haehnle <nhaehnle@gmail.com>
+
+commit 5f3ab230ea3e971737b733b0c0358c0a85061f5c
+Author: Michel Dänzer <michel@daenzer.net>
+Date: Sat Feb 14 20:40:48 2009 +1000
+
+ r300: Fix R300_CMD_SCRATCH on big endian.
+
+commit b1b7bc66a414d200102a90ed0580c3fd80a45838
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sat Feb 14 20:34:20 2009 +1000
+
+ radeon: remove unused radeon_compat.c
+
+commit f8c2beccd4847836dec18849d2d58f3220ff81eb
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sat Feb 14 20:13:04 2009 +1000
+
+ r200: fixup cube emit debug
+
+commit fd81835dc7ac71eac2a5fcc58080b9b4c6944c83
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sat Feb 14 19:10:13 2009 +1000
+
+ r200: fix another cmdbuf sizing issue
+
+commit ec2e4e1fedf317c72fc087115f1b6485cb04cdf8
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sat Feb 14 09:39:52 2009 +0100
+
+ trivial: Add quadstrip-clip
+
+commit 44054aca36580440f956f0cbcdd5f31de8e3a7e2
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Thu Feb 19 11:01:01 2009 +0000
+
+ egl: error checking
+
+commit 65fde5be8bd5e485dd69afc244568f164cf24fa4
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Feb 19 10:57:11 2009 +0000
+
+ wgl: Use a separate .DEF for MinGW
+
+ gnu linker fails to resolve the @n symbols, unless:
+ - they are listed verbatim in the .def
+ - they are already linked.
+
+ And mingw's .def parser is slightly incompatible with MSVC in respect with
+ underscores. Will try to work with upstream to fix this, but for now there
+ is no option other to use seperate .def for mingw.
+
+commit d32ae764e930abb70ca2cc79ad18fdb32141ca0d
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Feb 19 10:52:08 2009 +0000
+
+ wgl: Share more code between icd and standalone driver.
+
+commit d98bc1e32470c7b78e8246f1cbcfb96d0fa6338c
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Feb 18 17:58:42 2009 +0000
+
+ gdi: Update for texture/surface interface changes.
+
+commit f9ccdbea67eb18f798ee9e81edb845accfbccc76
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Feb 18 17:42:55 2009 +0000
+
+ util: Use right include.
+
+commit 96c773c77bf50140e7380d1358fd4528241719e8
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sat Feb 14 01:05:13 2009 +0100
+
+ progs: Make fp-tri use glew and add scons target
+
+commit 0a323fe09b0b12fceb9695a8b0acbf232310d38b
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Feb 18 21:50:20 2009 -0700
+
+ cell: patch up cell_texture.c so it compiles
+
+ Start adding some new pipe_transfer code.
+
+ Texturing is totally broken at this point but non-texture programs
+ seem to run OK.
+
+commit 0d4d700fe11acecda805d0806356f0feae3c663a
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Feb 18 21:46:12 2009 -0700
+
+ cell: updates for new pipe_transfer changes
+
+ Update framebuffer color/z/stencil mapping/unmapping.
+
+commit 7475d80bf64ab698ea06ebda929a3b18e698c3e8
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Feb 18 21:38:53 2009 -0700
+
+ cell: update vbuf code to catch up to recent changes
+
+commit 829c67fe80dec552b71cd8b87988e4ec4aee83cb
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Feb 18 21:38:17 2009 -0700
+
+ cell: remove unused var
+
+commit 15a3e4ffe2c1e4a6b5305ac79c3f478bd7020c80
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Feb 18 21:36:29 2009 -0700
+
+ cell: start adding new cell_transfer types/code
+
+commit 734dc502b866995884fdbcae9c716b26c7838b9c
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Feb 18 21:35:56 2009 -0700
+
+ cell: remove old surface_map code
+
+commit 5761c64823c10093c0f72bc8a62c99b86362e4e5
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Feb 18 17:50:24 2009 -0700
+
+ mesa: convert VERT_RESULT_* from #defines to enum, like the others
+
+commit c4ffbf009e76289fec53c82ce12da8de89d8b7af
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Feb 18 17:46:00 2009 -0700
+
+ glsl: asst improvements, clean-ups in set_program_uniform()
+
+ Move the is_boolean/integer_type() calls out of the loops.
+ Move the is_sampler_type() function near the bool/int functions.
+ Add a bunch of comments.
+
+commit b9d8f717d299c388c0dd238d6315e5becd120406
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Feb 18 17:40:44 2009 -0700
+
+ glsl: fix inequality in set_program_uniform()
+
+ We were off by one when checking for too many uniform values.
+
+commit 897331ed1545b840aba429d749d283342417323f
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Wed Feb 18 23:39:36 2009 +0100
+
+ gallium/winsys/egl_xlib: Fix build after introduction of struct pipe_transfer.
+
+commit 66204969a0d71d851b852f278e84ba195900dfb6
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Feb 18 15:38:10 2009 -0700
+
+ mesa: bump gl.h version comment to 7.7 (bug 20170)
+
+commit 310ea0354c75be693874bd63b5508eb7b3107f27
+Author: Joakim Sindholt <opensource@zhasha.com>
+Date: Wed Feb 18 20:32:40 2009 +0100
+
+ r300-gallium: implement simple pipe_transfer Basically make the driver compile and behave like it did before the gallium-texture-transfer merge
+
+commit dac19f17f360b730a0e6d651ef2e5b03c59b9b53
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Feb 18 14:24:14 2009 -0700
+
+ glsl: fix link failure for variable-indexed varying output arrays
+
+ If the vertex shader writes to a varying array with a variable index,
+ mark all the elements of that array as being written.
+
+ For example, if the vertex shader does:
+
+ for (i = 0; i < 4; i++)
+ gl_TexCoord[i] = expr;
+
+ Mark all texcoord outputs as being written, not just the first.
+
+ Linking will fail if a fragment shader tries to read an input that's not
+ written by the vertex shader. Before this fix, this linker test could fail.
+
+commit be3813d58adc0060c9f7a13ac7865217b96ea477
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sun Feb 15 13:34:43 2009 +0100
+
+ swrast: Set vp_override flag during DrawPixels
+
+ Obviously, the color of fragments produced by DrawPixels is not constant,
+ even if the current vertex array / vertex program state indicates that the
+ color for normal rendering will be constant. Therefore, we need to override
+ certain optimisations that have been added to texenvprogram.c
+
+ Signed-off-by: Nicolai Haehnle <nhaehnle@gmail.com>
+
+commit 621c999d823eed077aee9ac0779077ba2f0c5e5a
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Feb 18 13:28:12 2009 -0700
+
+ mesa: improved error msg
+
+commit 5b2f8dc01300058d43d8043aa897722f39657e93
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Feb 18 11:47:40 2009 -0700
+
+ mesa: increase MAX_UNIFORMS to 1024 (of vec4 type)
+
+ Old limit was 256. Note that no arrays are declared to this size.
+ The only place we have to be careful about raising this limit is the
+ prog_src/dst_register Index bitfields. These have been bumped up too.
+
+ Added assertions to check we don't exceed the bitfield in the future too.
+
+commit 212f41b80fe00a8d44d79f2c8e4018836adb8b86
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Feb 18 11:06:57 2009 -0700
+
+ glsl: fix a swizzle-related regression
+
+ This new issue was exposed by commit 6eabfc27f19a10dfc2663e99f9560966ba1ff697
+
+commit defd52f6c75ad1f714ce90f5763ec8a4d48dd773
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Feb 18 18:20:50 2009 +0000
+
+ progs/trivial: Label program windows with actual program name
+
+ Each of these programs previously called itself "First Tri" which was a
+ little confusing. Could have left one as "First Tri", but the trouble
+ then is that people would still clone that file & we'd end up with
+ another thousand first tri apps...
+
+commit 056f847e96aa84c1e7c9ee7ce60f4d7f7603676b
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Feb 18 17:12:18 2009 +0000
+
+ gallium: Also disable i965simple for scons
+
+ Please read previous commit for more info.
+
+commit 11eb127e47c67bf714c8cf97495663e6b711b392
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Feb 18 16:58:24 2009 +0000
+
+ gallium: Disable i965simple pipe driver after it was broken
+
+ It is only the i965simple pipe driver that was broken
+ in the gallium-texture-transfere merge that is being
+ disabled, mothing more nothing less.
+
+ FYI, there never where working i965 hardware support
+ in gallium anyways.
+
+commit c738edcc68905fb251cf9edc0529e2e1c778fdee
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Wed Feb 18 18:13:44 2009 +0100
+
+ gallium: Fix up trace driver for introduction of struct pipe_transfer.
+
+commit aba88b7ed7a1346adada9532aed9633617eb3b6d
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Wed Feb 18 18:12:31 2009 +0100
+
+ gallium: Add pipe_transfer_reference().
+
+commit 3bd7c5ceffc88a052c5e8e114df2f2c7549ddb4a
+Merge: 76d8951 b89aa1d
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Wed Feb 18 16:43:02 2009 +0100
+
+ Merge branch 'gallium-texture-transfer'
+
+ Conflicts:
+ src/gallium/drivers/softpipe/sp_tile_cache.c
+
+commit 76d8951fd3adbb91b2f71d461eec0f304619ca0b
+Merge: 922000d 8ef377d
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Feb 18 15:14:39 2009 +0000
+
+ Merge commit 'origin/gallium-0.1'
+
+ Conflicts:
+
+ src/gallium/auxiliary/draw/draw_vs_aos.c
+
+commit 922000d38a6e90c525328b381f04fea1244f616f
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Feb 18 06:38:21 2009 -0800
+
+ r300-gallium: Factor out common functionality in vbuf emit.
+
+commit b89aa1d87ad6cebdbb3f2067863c600f50bf0ff1
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Wed Feb 18 13:14:02 2009 +0100
+
+ i915simple: Minimal fixup for introduction of struct pipe_transfer.
+
+commit 3da38db5949f4c73ec01282ebf9138a0510abbee
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Feb 16 20:19:40 2009 +0000
+
+ gallium: fix merge
+
+ It looks like I resolved the merge conflicts but did not save my emacs
+ buffers before committing...
+
+commit 59d54334c96f44ed1d8bf660dc96221362a77d04
+Merge: 7c8836e c5c3835
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Feb 16 19:50:48 2009 +0000
+
+ Merge branch 'master' into gallium-texture-transfer
+
+ Conflicts:
+
+ src/mesa/state_tracker/st_cb_accum.c
+ src/mesa/state_tracker/st_cb_drawpixels.c
+
+commit c5c383596ddb26cd75e4b355918ad16915283b59
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Feb 16 11:50:05 2009 -0700
+
+ mesa: remove old comments
+
+ Note: the default value for EmitCondCodes is FALSE. This means the GLSL
+ compiler will emit code like this:
+
+ SEQ TEMP[0].x, A, B;
+ IF TEMP[0].x;
+ ...
+ ENDIF
+
+ But if EmitCondCodes is TRUE, condition codes will be used instead:
+
+ SEQ.C TEMP[0].x, A, B;
+ IF (NE.xxxx);
+ ...
+ ENDIF
+
+commit a9e753c84cc5acc2a89686a5e4109f3b056d4fb4
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Feb 16 11:45:57 2009 -0700
+
+ i965: tell GLSL compiler to emit code using condition codes
+
+ The default for EmitCondCodes got flipped when gallium-0.2 was merged.
+ This fixes GLSL if/else/endif regressions.
+ Drivers that use GLSL should always explicitly set the flag to be safe.
+
+commit 0f4a91b50908ce4c1ae5fc65d73791608de30f06
+Author: Patrice Mandin <patmandin@gmail.com>
+Date: Mon Feb 16 18:43:56 2009 +0100
+
+ nouveau: oops :-)
+
+commit 252671f6ebd739a3ab2e53db441f076b5b702208
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Mon Feb 16 09:28:35 2009 -0800
+
+ autoconf: Always enable glew
+
+ Maybe this should turn into an option (--disable-glew), but for now just
+ enable glew all the time.
+
+commit 9d49802b7a3a1e292965098da41c459fabf84cc4
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Feb 16 08:25:57 2009 -0700
+
+ glsl: silence some uninit var warnings
+
+commit c51938afe1626bfccfe38fe2f508bf90e58ca74c
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Feb 16 08:25:33 2009 -0700
+
+ cell: use some SPU intrinsics to get slightly better code in eval_inputs()
+
+ Suggested by Jonathan Adamczewski. There may be more places to do this...
+
+commit ffbe28d25d755bc51d9f865ac176a110f6f8f5e0
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Feb 16 03:56:03 2009 -0800
+
+ r300-gallium: Add verbosity level to debugging.
+
+ Makes it a bit more manageable to read through the console logs.
+
+commit f211da4c67fbe0e67475efcd9535b9cf9e5ae467
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Feb 16 03:55:16 2009 -0800
+
+ r300-gallium: Fix BEGIN_CS and END_CS counting and mismatch.
+
+commit 1bb2fb498ee65ba29aa4098983116be3d81cc2da
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Feb 16 03:33:56 2009 -0800
+
+ r300-gallium: Set up draw rasterizer.
+
+commit cfae542d1f34d95ce6a740311d8331a74307d31f
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Mon Feb 16 11:54:58 2009 +0000
+
+ demos: fix glxpixmap and call glXWaitGL before calling XCopyArea.
+
+commit 63b51b5cf17ddde09b72a2811296f37b9a4c5ad2
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Mon Feb 16 11:44:40 2009 +0000
+
+ dri2: support glXWaitX & glXWaitGL by using fake front buffer.
+
+commit 18f20b70b15f5daed28eb9f4fce1eccd46cf82d3
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Feb 16 03:13:16 2009 -0800
+
+ r300-gallium: Ooops, forgot to apply this stash.
+
+ "git stash": The cause of, and solution to, all my problems.
+
+commit b16d4399892dbf8ab2c72a60b46bbc03ee5cd9a6
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Feb 16 03:03:28 2009 -0800
+
+ r300-gallium: Include-guard r300_emit.h
+
+commit 1b77138a1effe2e18a9ce9e16c43852ff855a7be
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Feb 16 02:53:34 2009 -0800
+
+ r300-gallium: Add draw_arrays and friends.
+
+ This is the last bit of Gallium-side plumbing for drawing things.
+ From this point on, the only missing parts should be in r3xx-specific
+ code areas...
+
+commit 82722a75c5d55bb8a553b525b4a1e481a7044718
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Feb 16 02:52:47 2009 -0800
+
+ r300-gallium: Add SC_CLIP_RULE to clear.
+
+ This is a register that is in r300_demo but not r300_surface, so adding it in
+ to see if it helps.
+
+commit 9576ddd97d463273978cdc530accc04c5d701966
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Feb 15 12:08:47 2009 -0700
+
+ cell: minor Makefile clean-up
+
+commit 37c4f7eed2e8e31fbc847c486be4095635745a9c
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Feb 15 12:08:02 2009 -0700
+
+ cell: new/tighter code for computing fragment program inputs
+
+commit 96b19195ecf25d2fd54031befba431515075494a
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Feb 15 09:25:22 2009 -0700
+
+ cell: combine eval_z(), eval_w() functions
+
+commit 484858ae48fef039034cf43391883a432ac40c78
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Feb 14 15:24:44 2009 -0800
+
+ r300-gallium: Fix scissors.
+
+ Don't use SCISSORS_OFFSET since we're DRI2,
+ and don't forget to set scissors in clear.
+
+commit 4e309b5d64e9b0b6da4bd34772af5d949bd4d62f
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Feb 14 04:41:29 2009 -0800
+
+ r300-gallium: Grab bag of goodies.
+
+ Some fixes from glisse, moar swtcl emit setup, cleanup a bunch of regs,
+ properly do clear flush, and BEGIN_CS count fixes.
+
+commit 39d0ac4826dd71ca7db224a14110017fdadea6fb
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Feb 14 04:11:27 2009 -0800
+
+ r300-gallium: Clean up some clear registers.
+
+commit f176c94e49a50b05b3af9f748a67e2ebd2e1b8fd
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Feb 14 03:23:50 2009 -0800
+
+ r300-gallium: Use fui instead of a roll-my-own.
+
+ Man, util/u_math just gets better by the day.
+
+commit 8520b15018ca10e2bc47c1db4f7378df6d3c2e99
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sat Feb 14 17:06:06 2009 +0100
+
+ r300: Redirect constant TEX coordinates
+
+ R3xx/R5xx fragment program texture constants must come from a hardware
+ register instead of the constant file, so we redirect if necessary during
+ the native rewrite phase.
+
+ The symptoms of this bug started appearing when the Mesa fixed function
+ texenvprogram code started using STATE_CURRENT_ATTRIB constants for
+ texture coordinates when the corresponding attributes were constant across
+ all vertices.
+
+ Signed-off-by: Nicolai Haehnle <nhaehnle@gmail.com>
+
+commit 76142d2b8bdb0d5b32ad4e71264f7e0341d312b4
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Feb 14 02:40:33 2009 -0800
+
+ radeon-gallium: Clean out extensions explicitly enabled by Mesa.
+
+ This cleans up some of the cruft from the old DRI setup, and
+ it turns out that only the GLSL extensions are still off if we
+ let st_extensions.c handle the setup instead.
+
+commit 5352ec3b870706467b538595d90bfacbef0f98d5
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Feb 14 02:24:30 2009 -0800
+
+ r300-gallium: Update r300_screen comments and add a few formats.
+
+commit 9a20ef0a52f8c4efd7431ccd59e32efecdc33893
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Feb 14 02:07:29 2009 -0800
+
+ r300-gallium: Enable all four colorbuffer render targets.
+
+ As far as I can tell all the state emission necessary has been set up.
+ Well, except for the fragment shader, but c'mon, gimme a break. :3
+
+commit 1c533bdeb6e2932120874754bb357790d4c923a8
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Feb 14 02:06:17 2009 -0800
+
+ r300-gallium: Add Z/stencil buffer format emit.
+
+ Also set BEGIN_CS correctly.
+
+commit b45e5e2a12e91cecec8922e58b2fc3960ab7ae14
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Feb 14 01:55:38 2009 -0800
+
+ r300-gallium: Emit Z/stencil buffer offset.
+
+commit e511110b71a7ea19c531d707080813d9d432341c
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Feb 13 23:20:43 2009 -0800
+
+ r300-gallium: Add derived state for vertex formats.
+
+ Next up: The evil RS block.
+
+commit f3a1f321cfa275eba6186626ee691e8bc9ecfe8c
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sat Feb 14 12:01:54 2009 +1000
+
+ radeon: check for valid bo in release arrays
+
+commit fcc7a691dc968d9d2bc61a8bf18dfbd7ed789598
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Feb 13 20:34:19 2009 +1000
+
+ radeon: remove old cube code
+
+commit c51c822ee02cb47ddba46da668577d51b7c02831
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 13 17:17:52 2009 -0700
+
+ i965: rewrite the code for handling shader subroutine calls
+
+ Previously, the prog_instruction::Data field was used to map original Mesa
+ instructions to brw instructions in order to resolve subroutine calls. This
+ was a rather tangled mess. Plus it's an obstacle to implementing dynamic
+ allocation/growing of the instruction buffer (it's still a fixed size).
+
+ Mesa's GLSL compiler emits a label for each subroutine and CAL instruction.
+ Now we use those labels to patch the subroutine calls after code generation
+ has been done. We just keep a list of all CAL instructions that needs patching
+ and a list of all subroutine labels. It's a simple matter to resolve them.
+
+ This also consolidates some redundant post-emit code between brw_vs_emit.c and
+ brw_wm_glsl.c and removes some loops that cleared the prog_instruction::Data
+ fields at the end.
+
+ Plus, a bunch of new comments.
+
+commit 74b6d55864b9264323a09856781f655e453b182b
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 13 16:56:25 2009 -0700
+
+ i965: add missing break for OPCODE_RET case
+
+ This doesn't effect correctness, but we were emitting an extraneous ADD.
+
+commit 97937e0ac8d5f46722af98ca40fba3f7a989d97d
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Feb 12 16:03:39 2009 -0700
+
+ i965: the return value of translate_insn() is never used. Make it void.
+
+commit 2f2082bf16ca86b8ebea9e04b77011f74d09c3db
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Feb 12 15:40:04 2009 -0700
+
+ i965: minor clean-ups
+
+commit 2f78d4a2cd009d8d6a5f470d5738586b7f89f3d9
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Feb 12 15:35:41 2009 -0700
+
+ i965: code clean-ups, comments, and minor refactoring
+
+commit 7cffcaaba1a5960c0b890b2b4bc835c3020a5ab0
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Feb 12 15:35:02 2009 -0700
+
+ i965: updated comments
+
+commit 643d9401388be0c16ca0df8ea20dead6d31850de
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Feb 12 15:04:21 2009 -0700
+
+ intel: turn on GL_ARB_shading_language_120
+
+ It's done in the Mesa GLSL compiler. The only part of it that might
+ matter in drivers is the centroid sampling option for MSAA.
+
+commit 11b75eafc7533c152e6306e4d8f85d7268f3cc16
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Feb 12 14:58:19 2009 -0700
+
+ i965: more reformatting/clean-up
+
+commit 1a693e90b5594651a3b17f47c7f5f094088c502f
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Feb 12 14:54:13 2009 -0700
+
+ i965: s/__inline/INLINE/
+
+commit 984c9636ed21f7d390b4b50c0b1d664506ede0e1
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Feb 12 14:53:30 2009 -0700
+
+ i965: formatting and indentation fixes
+
+commit 14dc4937336061c4c8d51c75d96fa216d9edcf2a
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Feb 12 14:47:56 2009 -0700
+
+ i965: fix inconsistant indentation in brw_wm.c
+
+commit 88b702e8c47c8930940c396132b2a191d4a3e7ca
+Author: Robert Ellison <papillo@i965-laptop.(none)>
+Date: Fri Feb 13 15:19:04 2009 -0700
+
+ i965: Eric Anholt's patch for bumping up texture sizes
+
+ I'm committing this because it fixes a conform failure; the failure occurs
+ on the TextureProxy test, where the test attempts to create proxy textures
+ at every level, but fails at the last level (border == 1, width == 1,
+ height == 1) because it's beyond MAX_TEXTURE_LEVELS.
+
+ Eric's original comment was:
+
+ idr said that in his review swrast was ready for it, and the 965 driver is
+ advertising it already though it has been resulting in many crashes due to
+ arrays using these defines not being big enough.
+
+commit b6779056a108675b04ec8b57d7f84b5582f3144f
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Feb 13 23:03:57 2009 +0100
+
+ trivial: Make tri-fog a bit more interesting to look at
+
+commit 89e2b9c6c24e1a0b7690b9a7502b0ea198069d10
+Merge: ea4bf26 b570316
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Feb 18 12:54:26 2009 +0000
+
+ Merge commit 'origin/draw-vbuf-interface'
+
+commit ea4bf267e4b023b08043f91ac44592fed1736e7f
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Feb 18 12:05:26 2009 +0000
+
+ util: Move p_debug.h into util module.
+
+ The debug functions depend on several util function for os abstractions, and
+ these depend on debug functions, so a seperate module is not possible.
+
+commit 06cd416d7cd2ccd2aca9f8522d4d7654eb2930e7
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Feb 17 21:54:39 2009 +0000
+
+ util: (Re)enable memory debugging for all windows platforms.
+
+commit 673d01eda9662f6cc984f2a1b608a875271d2a29
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Feb 17 21:53:40 2009 +0000
+
+ wgl: Report memory leaks.
+
+commit c706ea4f454b5885d9dc71a605853ee21e527285
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Feb 18 10:08:19 2009 +0000
+
+ draw: Reuse xmm registers.
+
+commit c613e366a9c6ab9631f8101851163caec7437237
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Feb 17 21:31:33 2009 -0800
+
+ r300-gallium: Properly init shader state.
+
+commit d25304a2f7fd8dedf95bc3a5f195c63cbc1c1836
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Feb 17 21:30:55 2009 -0800
+
+ r300-gallium: Consolidate state updates.
+
+commit 9f731c8962e536965a04635ef8aa135691b32a35
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Feb 17 16:47:54 2009 -0700
+
+ mesa: add some debug code to help diagnose incomplete FBO attachments (disabled)
+
+commit be8dd0167884b3e135369d0c1b554c3965aedd9d
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Feb 17 16:31:59 2009 -0700
+
+ glsl: fix mistake in a comment
+
+commit f59719c6c70d6b2a36d329b4cf02a079444cbca7
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Feb 17 16:12:49 2009 -0700
+
+ mesa: turn on reporting of GLSL version 1.20
+
+ The new array features, precision/invariant/centroid qualifiers, etc. were
+ done a while back. The glGetString(GL_SHADING_LANGUAGE_VERSION) query returns
+ "1.20" now (for drivers that support it anyway).
+
+commit 6eabfc27f19a10dfc2663e99f9560966ba1ff697
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Feb 17 16:10:32 2009 -0700
+
+ glsl: fix an array indexing bug
+
+ This fixes a bug found with swizzled array indexes such as in "array[index.z]"
+ where "index" is an ivec4.
+
+commit edd8cb8c872369b5a1d1abfd221ac12e27169acb
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Feb 17 15:57:46 2009 -0700
+
+ glsl: added --params option to stand-alone GLSL compiler
+
+ Prints program parameter info
+
+commit f88a9015985f1e308496803630221f284a94f397
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Feb 17 15:57:00 2009 -0700
+
+ mesa: when printing/dumping instruction, include relative addressing info
+
+ Not all cases were handled before.
+
+commit fd51cf1531f1630ee1cb154b3b7fefad9ed820f1
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Feb 17 10:53:37 2009 -0800
+
+ intel: Fix tri clear to do FBO color attachments as well.
+
+ This is a 2% win in fbo_firecube, and would avoid a sw fallback for
+ masked clears.
+
+commit c06f4e2a371a917cfcce47e7ee4aa8f1f6528e3b
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Feb 17 10:53:11 2009 -0800
+
+ i965: Fix fallback on stencil drawing to fbo when the visual lacks stencil.
+
+ Noticed this with the fbotexture demo.
+
+commit 60953059ea2319eae4d737831824dbce08ee1725
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Feb 11 01:15:36 2009 -0800
+
+ intel: Clean up several 965 memory leaks on context destroy.
+
+commit baef7c5474d302f1bc9997b09948fd6b883ec60d
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Tue Feb 17 09:56:06 2009 +0000
+
+ mesa: remove old comment as it's fixed elsewhere now.
+
+commit 07855a1d766e21e4a017a5f9f19936ce5511e088
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Feb 16 18:45:58 2009 -0700
+
+ softpipe: some improvements to texture tile cache
+
+ Use a somewhat better function in tex_cache_pos() to get better caching.
+
+ Increase number of cache entries to 50.
+
+ Also fix a texture invalidation bug. If texture is marked as modified,
+ invalidate all texture tiles.
+
+commit b9de2089b1ffafd7d072d78f716c9e39bab06627
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Mon Feb 16 20:20:55 2009 +0000
+
+ gallium: fix glean's vertProg1
+ RSQ test 2 (reciprocal square toot of negative value)
+
+commit c0ae4d3c55a606ede41399e39e5221b1955ecc22
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sat Feb 14 07:49:15 2009 +1000
+
+ radeon/r300: fix warnings
+
+commit b57031624ef94dd3128f989acabdffa2f2a32f57
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Feb 13 21:17:39 2009 +0100
+
+ trivial: Add a tri-unfilled-fog test
+
+commit 8e234d655dc3d8f8edefbf3bffdb726a331da2cd
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Feb 17 21:32:40 2009 -0800
+
+ r300-gallium: Add draw_arrays for swtcl_emit.
+
+ The more I look at this, the more bugs I see.
+
+commit 8ec853d4dfa344773b0d024d9cbe67d04cebe05c
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Feb 17 21:31:33 2009 -0800
+
+ r300-gallium: Properly init shader state.
+
+commit ecb177e198298bbf38fce75223c558d584446dee
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Feb 17 21:30:55 2009 -0800
+
+ r300-gallium: Consolidate state updates.
+
+commit 46ef26eb90a28b009de9349f38f36972d828a575
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Feb 17 19:23:09 2009 -0800
+
+ r300-gallium: Hook up new swtcl vbuf stage.
+
+ Hold on to your hats.
+
+commit 81daa5323efbe798b11ea73d7ba289f3bb5e24cf
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Feb 17 19:04:39 2009 -0800
+
+ r300-gallium: Turn swtcl_emit into a vbuf_render stage.
+
+ Movin' out of the Stone Ages.
+
+commit 75f950c222152f78eb4f1e16ce2dd0c618e45961
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Feb 17 18:45:19 2009 -0800
+
+ r300-gallium: Update r300_reg from classic Mesa.
+
+ Mostly needed a few defines for index buffers, but there's other goodies too.
+
+commit cd4e37c8fb7c03e8331a9487d46043eea70fea31
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sat Feb 14 05:57:52 2009 +1000
+
+ radeon: add initial cubemap support appears to work
+
+commit 54e20828e61685510dc729093f5c6fd1aa7c89fe
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Feb 13 17:53:49 2009 +0100
+
+ demos: Add polygon mode point to isosurf
+
+commit 94189b30011c2b7b906d0ed0455669b448426b25
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Feb 17 15:04:02 2009 +0000
+
+ nv20: Use the new draw vbuf interface
+
+commit 7973d47cad0378cfe4182897774b8e38291f5554
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Feb 17 14:47:42 2009 +0000
+
+ nv10: Use the new draw vbuf internface
+
+commit 1ba3849192dccafb72b464b19bc1ff99c202944d
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Feb 17 14:37:20 2009 +0000
+
+ nv04: Use the new draw vbuf interface
+
+commit 7c8836e9ef49d938aa55a1c385b95c6371c301f1
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Fri Feb 13 17:34:29 2009 +0100
+
+ gallium: Various coordinate fixups for texture transfers.
+
+ Fixes glReadPixels, gl(Copy)TexSubImage, glCopyPixels.
+
+commit 073a73e4c7344db46ab89862e2fbc267da34969c
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Feb 13 08:14:42 2009 -0800
+
+ r300-gallium: Various thingies.
+
+ Add formats to framebuffer emit, fix up shader function names,
+ make sure fragment format is emitted for r500.
+
+commit c273dfe6a28d4bb64ce167685b4053d22db5a727
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Fri Feb 13 07:31:24 2009 -0800
+
+ Add dummy install target for glew to fix 'make install'
+
+ Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
+
+commit 2977cee38e21b8e5ebba1635b101185d64ee44a9
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Fri Feb 13 06:34:09 2009 -0800
+
+ autoconf: Add GLEW needed by progs when building GLUT
+
+ Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
+
+commit ac53b1b0345f10f988c412af528bfd38052acab5
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 13 08:11:01 2009 -0700
+
+ mesa: check if TNL state is null in _tnl_free_vertices() to avoid potential segfault
+
+ _tnl_free_vertices() is called from several places during context tear-down.
+ Depending on the order in which the swrast, swrast_setup and tnl context is
+ destroyed we could hit a null pointer here. This doesn't seem to be an
+ actual issue with any Mesa drivers, but let's be safe.
+
+commit 6559107c7ae67ae6a94f53728cad85137aaf6312
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 13 07:44:02 2009 -0700
+
+ mesa: add additional texture size/limit assertions
+
+commit 2753dd42fd42a3383d2e74ab231d0b1373a2d46d
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Feb 13 23:34:53 2009 +1000
+
+ radeon/r200: make setTexOffset work again
+
+commit f363a97d2586a8487bfa64f882fbfc204a56fd05
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Feb 13 23:29:27 2009 +1000
+
+ radeon/r200: fix set tex offset functions
+
+commit ed8340192ef88bd841966aba10d0043b246805bd
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Feb 13 23:02:12 2009 +1000
+
+ radeon: revert unneeded change to texturing code
+
+commit 9fd8da299b4a62c6baf49f08067d7c1ddebb0ffd
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Feb 13 22:49:06 2009 +1000
+
+ radeon: fix compressed texture upload on all radeons
+
+ tested on r200, texcmp works. May need more verification
+
+commit 16a440f326a77b0834392eebc5c56c136059b7c9
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Feb 13 11:37:25 2009 +0100
+
+ i915: Use the new draw vbuf interface
+
+commit 1c4f67b980b6bec5788336a9cdd18c4fcec5e492
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Feb 17 12:39:05 2009 +0000
+
+ draw: second argument to unmap is max, not count
+
+commit 7ca78a07b37e4cce0e258f711c6f8bbe1d98a633
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Feb 17 12:20:05 2009 +0000
+
+ softpipe: update to new draw interfaces
+
+commit befa4ff50ec4728de70c04532f8c7342fbd70147
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Feb 17 12:07:09 2009 +0000
+
+ draw: add map/unmap directives for swtnl driver interface
+
+ Previously draw module asked for a pointer into (mapped) vertex data,
+ which it would incrementally fill and emit draw commands against. This
+ was hard for the drivers to deal with, especially in the case where a
+ draw command would force a flush and thus an unmap of the vertex data.
+
+ With this change, the draw module explicitly maps & then unmaps vertex
+ data prior to emitting draw commands.
+
+commit 812389761500456d31aab445c194b4bb15dd0d61
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Feb 13 19:39:21 2009 +1000
+
+ r200: update with changes from r100 driver for texture state
+
+commit 695ca1e2be6f222c132a76299fc3a0ac9143d960
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Feb 13 18:50:57 2009 +1000
+
+ r200: port over state emit fix from r100
+
+commit 5af34758e3bba55cb8c227ae1256818e8f112727
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Thu Feb 12 20:13:09 2009 +0100
+
+ gallium: Fix a couple of potential NULL pointer dereferences.
+
+ A lot more test programs work.
+
+commit 513fc6078431e1f5672795d3601e3255f378c9f8
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Thu Feb 12 20:12:04 2009 +0100
+
+ gallium: Fix GL_DEPTH CopyPixels tile coordinates.
+
+commit 43ff11e70effad67d992ee735204e6cdb8db7110
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Thu Feb 12 19:55:42 2009 +0100
+
+ gallium: Fix accumulation buffer tile coordinates.
+
+commit aa66f57a5966703d11e20f3c596d8d588a1c7176
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Thu Feb 12 19:46:08 2009 +0100
+
+ gallium/winsys/xlib: Use XShmPutImage when possible.
+
+commit 2142bf5e17d699396772b90ee5b2592289334f28
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Thu Feb 12 19:43:43 2009 +0100
+
+ softpipe: Unbreak keeping track of cached surface.
+
+ glxgears works.
+
+commit 9ab677a84b564a00e2e1e6874dbc2c0295b3402d
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Thu Feb 12 19:42:22 2009 +0100
+
+ gallium/winsys/xlib: Fix stride calculations.
+
+commit 479d929530ce40a39d9310576b97cb46fab214de
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Thu Feb 12 19:38:35 2009 +0100
+
+ Cosmetic: Rename struct pipe_transfer pointers from 'ps' to 'pt'.
+
+ Missed these for the initial gallium-texture-transfer commit.
+
+commit ade3660942452985afa1bb67bbeab8fed734089d
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Feb 13 01:27:21 2009 +1000
+
+ r200: fixup some CS emission sizes
+
+commit 393c699e219b6cccf0d235749ec7bfaade75f88c
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Feb 13 00:04:11 2009 +1000
+
+ r200: use correct finish interface
+
+commit 5ee1dd2133c5514713281f32cd4b05fabf14354a
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Feb 13 01:21:37 2009 +1000
+
+ radeon: fixup include ordering
+
+commit 53116910b10e3b8a05f42970eff311c21808699f
+Merge: 7e104f9 0ccbc3c
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Feb 13 01:11:25 2009 +1000
+
+ Merge remote branch 'origin/master' into radeon-rewrite
+
+ Conflicts:
+ configure.ac
+ src/mesa/drivers/dri/r200/r200_context.c
+ src/mesa/drivers/dri/r300/r300_render.c
+
+commit 7e104f9cde94279a902b408e8d1cf21779b393a8
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Feb 13 01:04:18 2009 +1000
+
+ r300: fix warning about mesa_lock_context_texture
+
+commit dc531ba4063a32e21419cd43cdd9019c64569eb5
+Author: Dave Airlie <airlied@dhcp-1-203.bne.redhat.com>
+Date: Thu Feb 12 14:44:20 2009 +1000
+
+ radeon: add stdint include
+
+commit 899b91b1fb766f2b716c53a350ff2a078655e6c5
+Author: Dave Airlie <airlied@dhcp-1-203.bne.redhat.com>
+Date: Thu Feb 12 14:43:25 2009 +1000
+
+ radeon: add mminfo struct to wrapper
+
+commit ec0939b01370e9272000fcd4d71a023866e767a0
+Author: Dave Airlie <airlied@dhcp-1-203.bne.redhat.com>
+Date: Thu Feb 12 14:41:16 2009 +1000
+
+ radeon: add defines for future bits
+
+commit 1e77f7b55c052de238d46df3454bf2f2eb8d7346
+Author: Dave Airlie <airlied@dhcp-1-203.bne.redhat.com>
+Date: Thu Feb 12 14:39:33 2009 +1000
+
+ r200: make build complete
+
+commit 56a13a7ca9fcb742352561ee66dddc805676bc5e
+Author: Dave Airlie <airlied@dhcp-1-203.bne.redhat.com>
+Date: Thu Feb 12 14:36:12 2009 +1000
+
+ r300: make r300 work with latest changes
+
+commit c83d0bfe0645a58e7dd028b4472dbd54e479ab32
+Author: Dave Airlie <airlied@dhcp-1-203.bne.redhat.com>
+Date: Thu Feb 12 14:16:24 2009 +1000
+
+ radeon: make build without libdrm_radeon better
+
+commit d513915d27eac8a57ff7f5c1973b4a07fe288c53
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Feb 13 00:05:39 2009 +1000
+
+ radeon/r200/r300: make build again with tracker changes
+
+commit 9314d936e84cc8449d6e200b5d1df51d6d057876
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Feb 12 23:53:41 2009 +1000
+
+ radeon: remove depends on libdrm_radeon for now.
+
+ will fixup makefiles later to detect and use libdrm_Radeon in proper
+ places
+
+commit dc8a707c672918b88dd4135930bef60ed148d8ce
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Feb 12 23:52:51 2009 +1000
+
+ radeon/r200/r300: make build with out libdrm_radeon installed for now
+
+commit 8cb16e6daff40bbfd7b63a43da72862226a4a164
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Feb 12 22:48:18 2009 +1000
+
+ r200/r300: get up to speed on renamed files
+
+commit 23d3559bd4ece1fcab5513ebdaa38600d6654374
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Feb 12 22:38:10 2009 +1000
+
+ radeon: renaming and headers cleanup
+
+commit df4a1348b1f869338d4742b213dbde9d64de4c7a
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Feb 12 21:44:34 2009 +1000
+
+ r100/r200: fix front rendering issue.
+
+commit 1090d206de011a67d236d8c4ae32d2d42b2f6337
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Feb 12 21:16:39 2009 +1000
+
+ radeon/r200/r300: another big merge upheavel.
+
+ This merges lots of the hw state atom emission and firevertices code.
+
+ it also removes a lot of the extra radeon crap from r300
+
+ and merge scissor
+
+commit afe24b94b3dee11ccda238ed82ed58ae46fb918b
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Thu Feb 12 03:59:07 2009 +0100
+
+ egl: Doesn't depend on xorg or pixman
+
+commit 8a2d0005af34cfaf88b2d70168fdfb2c91e79045
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Feb 12 23:36:21 2009 -0800
+
+ r300-gallium: Take care of various bad dereferences in shader setup.
+
+ Unbreaks glxinfo.
+
+commit fe7863f3f82cda290334cecfde816e21a0e9f5d3
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Feb 12 20:47:15 2009 -0800
+
+ r300-gallium: Fix linker error a few linker warnings.
+
+ A few prototypes, a missing header, a misspelled macro.
+
+commit 1d2c31df41d2a52b306fd65bbb6c800e993a2798
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Feb 12 20:35:17 2009 -0800
+
+ r300-gallium: Fix build errors.
+
+commit 92661bcbad13c8750f63e3a30b6c616d2f1094d3
+Author: Joakim Sindholt <opensource@zhasha.com>
+Date: Fri Feb 13 05:08:54 2009 +0100
+
+ r300-gallium: fix OUT_CS_ONE_REG and use where applicable
+
+ Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
+
+commit 0d60a3f33cbc071fb5aca95b96f35908059b0435
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Feb 12 20:20:41 2009 -0800
+
+ r300-gallium: r300 passthrough shader, static shader objects, and clear code.
+
+commit 637b24a5904ab78cbd3fc61ea5fe39c52be711ce
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Feb 12 20:01:09 2009 -0800
+
+ r300-gallium: Add r300 passthrough shader.
+
+commit f2a36d334c6fbe3787d44c6203f54ccb184fb923
+Author: Joakim Sindholt <opensource@zhasha.com>
+Date: Fri Feb 13 02:34:34 2009 +0100
+
+ r300: minor fixes and clear up some surface_fill
+
+ Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
+
+commit affe0311fa60489e56b854c09f713fae024a0b00
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Feb 12 16:53:06 2009 -0800
+
+ r300-gallium: Add r500 passthrough shader assembly.
+
+ This allows a simple passthrough fragment shader to be provided on r500.
+
+commit 08e324fff3b295bfd5b176ed1242ad838c6d5f25
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Feb 12 16:52:15 2009 -0800
+
+ r300-gallium: Fix typo in texture buffer size request.
+
+commit e46dca58b21ad87956b97a08d27bc212e714aa43
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Fri Feb 13 01:17:11 2009 +0100
+
+ intel: Only build winsys with built state trackers
+
+commit 3ede3776e2faffdc0dee102dbd37d33491726c36
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Fri Feb 13 00:57:47 2009 +0100
+
+ gallium: Add a bunch of autoconf options
+
+ ./configure --help for more info
+
+commit 25ac2801d758b299dcbc6d4fb3fd62370cdb8d0a
+Author: Benjamin Close <Benjamin.Close@clearchain.com>
+Date: Fri Feb 13 10:07:26 2009 +1030
+
+ galium: Makefile fixes: -Werror=implicit-function-declaration -> -Werror-implicit-function-declaration
+
+ Found-By: Tinderbox
+
+commit 67fc3ace65419b0865253e3ef54b20abbca1dfb5
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Mon Feb 2 01:30:05 2009 +0100
+
+ intel: Make gem export the drm_api_hocks
+
+commit 5ac8b4e4d97886a6543718b48a64f6962009b6e0
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Mon Feb 2 01:33:38 2009 +0100
+
+ intel: Remove the old depricated dri1 winsys
+
+commit 56d88aece94d1f9972b6887e98a638a314af8732
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Mon Feb 2 01:32:11 2009 +0100
+
+ intel: Remove the ttm backend
+
+ RIP ttm, its been fun knowing you.
+
+commit 5de5ab428cf5516d91daa3f193a76b0d87853f55
+Author: Robert Ellison <papillo@i965-laptop.(none)>
+Date: Thu Feb 12 13:47:36 2009 -0700
+
+ glDrawBuffers(n==0) is valid
+
+ According to the GL spec, calling glDrawBuffers() with n == 0 is a
+ valid operation (and essentially prevents drawing to any buffers).
+ But _msa_DrawBuffersARB() was producing a GL_INVALID_VALUE error in
+ this case.
+
+ This fix adjusts the error check, and makes a small change to the
+ ctx->Driver.DrawBuffer() call below to ensure that, if n == 0,
+ Driver.DrawBuffer() is called with GL_NONE and that buffers[0] is
+ *not* referenced in this case (since we don't know whether it is valid).
+
+ Internal identifier: 365833
+
+commit f1a59a6dd7b7b0523db191d82b3af1a841c6475d
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Feb 12 10:14:36 2009 -0700
+
+ mesa: use new ST_CALLOC_STRUCT() macro in gallium state tracker
+
+commit 1a2f4dd8768703fbc1b2a0d5be342345644805b4
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Feb 12 10:08:25 2009 -0700
+
+ mesa: consistantly use mesa memory-functions in gallium state tracker
+
+ Use _mesa_malloc(), _mesa_free(), etc everywhere, not malloc(), free(), etc.
+ Still using CALLOC_STRUCT() at this point.
+
+commit 19dff5efc1e348d037b1b3cdfb9ac91020ecde4d
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Feb 12 09:21:50 2009 -0700
+
+ mesa: don't include m_xform.h where not needed
+
+commit 987aedd7dc75c095a96cb20b21bbad2f71857776
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Feb 12 09:17:18 2009 -0700
+
+ mesa: move _mesa_transform_vector() from m_xform.c to m_matrix.c
+
+ m_xform.c is omitted from gallium builds but _mesa_transform_vector() is
+ still needed.
+
+commit f45fa843199e86593126cb9e3b94621b31dd7589
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Feb 12 09:15:38 2009 -0700
+
+ mesa: remove unused functions in m_xform.[ch]
+
+ The functions are:
+ _mesa_project_points()
+ _mesa_transform_bounds3()
+ _mesa_transform_bounds2()
+ _mesa_transform_point_sz()
+
+commit e8cd8be03b9617d75df4e09dc568b6760db1edc4
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Feb 12 08:58:12 2009 -0700
+
+ mesa: restore FLUSH_VERTICES() in _mesa_notifySwapBuffers()
+
+commit 9eff576c947bf4d1c487ec692e8b16aa198ac532
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Feb 12 08:30:58 2009 -0700
+
+ mesa: remove empty, unneeded mathmod.h header
+
+commit 5ef5162103168bff2d68670a715d5afdee82e9e9
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Feb 12 15:49:55 2009 +0000
+
+ glut: Fix broken font symbols when gcc visibility attributes used.
+
+commit 0ccbc3c905f0594a35d72887a1f115e148aaa596
+Author: Robert Ellison <papillo@i965-laptop.(none)>
+Date: Wed Feb 11 18:01:34 2009 -0700
+
+ Fix an i965 assertion failure on glClear()
+
+ While running conform with render-to-texture:
+
+ conform -d 33 -v 2 -t -direct
+
+ the i965 driver failed this assertion:
+
+ intel_clear.c:77: intel_clear_tris: Assertion `(mask & ~((1 << BUFFER_BACK_LEFT) | (1 << BUFFER_FRONT_LEFT) | (1 << BUFFER_DEPTH) | (1 << BUFFER_STENCIL))) == 0' failed.
+
+ The problem is that intel_clear_tris() is called by intelClear() to
+ clear any and all of the available color buffers, but intel_clear_tris()
+ actually only handles the back left and front left color buffers; so
+ the assertion fails as soon as you try to clear a non-standard color
+ buffer.
+
+ The fix is to have intelClear() only call intel_clear_tris() with
+ buffers that intel_clear_tris() can support. intelClear() already backs
+ down to _swrast_Clear() for all buffers that aren't handled explicitly.
+
+commit 8217f24f21a0ea9888a18ec7399d2d974a43d1cb
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Wed Feb 11 15:16:00 2009 -0800
+
+ autoconf: Fix lib globbing for static builds
+
+ Reported-by: Siddhartha Chaudhuri <expiring_frog@yahoo.co.uk>
+ Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
+
+commit 6b06a6b929aa742f92653728254255f1867d6210
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Feb 11 14:11:48 2009 -0700
+
+ gallium: const-correctness for u_linear.c functions
+
+commit 81374d1ebed16aa3eed336295e80be0dfebfad75
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Feb 11 14:09:22 2009 -0700
+
+ gallium: silence warnings about void ptr arithmetic
+
+commit da4f933eb2544b62daf0b3c3bd8e16277dd64117
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Feb 11 13:59:54 2009 -0700
+
+ mesa: refactor MATH_SOURCES, remove Mesa x86 codegen from gallium build
+
+ Omit math/m_xform.c from gallium builds since it's not used and it's the
+ one place we were pulling in the Mesa x86 codegen which collides with
+ gallium's x86 codegen.
+
+ Can now omit ASM_C_SOURCES from gallium build too.
+
+commit 2218592d47b963791105f5b8fa1a0b3f3a07f674
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Feb 11 13:52:17 2009 -0700
+
+ mesa: get rid of _math_init()
+
+ Only VBO uses the evaluator code so call _math_init_eval() there.
+
+ Only TNL uses the transform/translate code so call _math_init_transformation()
+ and _math_init_translate9) there.
+
+ This is a step toward resolving some symbol collisions between Mesa's and
+ gallium's x86 codegen.
+ Have VBO and TNL modules call _math_init_transformation()
+
+commit c5bae14245192e83e7a91a6b72dc8451dd76f8ef
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Wed Feb 11 11:04:29 2009 -0800
+
+ autoconf: Adjust to new asm SOURCES variables
+
+ Commit 90b2beb661f630966788a6e909dc759c99e38973 changed the assembly
+ variables. Without this change, the glapi assembly wasn't being built
+ when it was supposed to, resulting in missing symbols in libGL.
+
+ Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
+
+commit 61e925f354fabc90bb3b2ed49ad82eaf939533e2
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Wed Feb 11 10:42:34 2009 -0800
+
+ autoconf: Restore commented ASM_FLAGS
+
+ This is not the proper approach to disabling assembly. If there are bugs,
+ they should be fixed or the assembly can default to off.
+
+ Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
+
+commit 277bf235f169c5ab885028360a5dfdf6a970616a
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Wed Feb 11 09:55:20 2009 -0800
+
+ Add external pixman CFLAGS after all internal include paths
+
+ With the pixman CFLAGS at the beginning of the command line, my build
+ was picking up the glcore.h from glproto, which doesn't have any of the
+ TFP fields in __GLcontextmodes.
+
+ Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
+
+commit 36b83f519864e20a8ddd69b7ced55e89624a390a
+Author: Younes Manton <younes.m@gmail.com>
+Date: Wed Feb 11 11:52:32 2009 -0500
+
+ nouveau: 1xN, Nx1 levels of a swizzled mip tree shouldn't be aligned.
+
+commit 874f364e9ea3a03d29ae4b6e1c7e2843ef8b9e79
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Feb 11 16:35:12 2009 +0000
+
+ draw: Cap max vertices instead of failing assert.
+
+commit 9b912aab43fc57fb7d5c7b291b90634992a8842e
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Wed Feb 11 17:39:21 2009 +0100
+
+ g3dvl: Fixups for introduction of pipe_transfer.
+
+commit b6ad7c8c4a19241146e92e3765cd2095dcd80547
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Feb 11 09:14:07 2009 -0700
+
+ demos: minor updates for shader_api.c test
+
+ Mesa's glGetUniformLocation() does support array indexes.
+
+ Minor code reformatting.
+
+ It would be great if this program were converted into a glean test...
+
+commit 2b4f0216bf757f63c0e76eb3a9a59a486ce63051
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Feb 11 09:12:34 2009 -0700
+
+ glsl: allow setting arrays of samplers in set_program_uniform()
+
+ Arrays of sampler vars haven't been tested much and might actually be broken.
+ Will need to be revisited someday.
+
+ Another fix for bug 20056.
+
+commit 234f03e90ab718f5b16300a91bac477ccbabf36c
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Feb 11 09:05:08 2009 -0700
+
+ glsl: raise GL_INVALID_OPERATION for glUniform(location < -1)
+
+ location = -1 is silently ignored, but other negative values should raise
+ an error.
+
+ Another fix for bug 20056.
+
+commit 4ef7a93296dd7d7480dfa00a2b085009ca8c4814
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Feb 11 09:03:16 2009 -0700
+
+ glsl: rework _mesa_get_uniform[fi]v() to avoid using a fixed size intermediate array
+
+commit 2c1ea0720deb9b1f90fc294a7a731270d4f4bad6
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Feb 11 08:46:21 2009 -0700
+
+ glsl: fix glUniform() array bounds error checking
+
+ If too many array elements are specified, they're to be silently ignored (don't
+ raise a GL error).
+
+ Fixes another issue in bug 20056.
+
+commit 369d1859d7bc4a6213f128718f8affc8e4f06006
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Feb 11 08:16:14 2009 -0700
+
+ glsl: fix incorrect size returned by glGetActiveUniform() for array elements.
+
+ Fixes one of the issues in bug 20056.
+
+commit 2c8c09edda645f04c8bd34f8b53031cbb951cdfe
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Feb 11 16:53:53 2009 +0100
+
+ egl: Use only libdrm structs for kms
+
+commit 7ef8e4e181d0c410c32d8939f3207e8adfb4e6e0
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Feb 12 13:54:20 2009 +0000
+
+ progs: Prevent clash with min macro.
+
+commit b5c901a73060d0b18746d83fc8977e8bbe7ee784
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Feb 12 13:52:16 2009 +0000
+
+ glut: Don't try to guess system headers.
+
+ Just include them, especially such basic header as stdlib.h
+
+commit f5cca127b0ddcfe36b8dc98a5f405979e8afe673
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Feb 12 13:30:01 2009 +0000
+
+ tgsi: keep immediate file info uptodate
+
+ Make sure the stats for TGSI_FILE_IMMEDIATE are uptodate. Previously
+ we just had immediate_count, but file_*[TGSI_FILE_IMMEDIATE] were
+ bogus.
+
+commit 6fe421cf4634033bc7e75375e1d981bd235e2e51
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Feb 12 12:59:58 2009 +0000
+
+ scons: Unbreak mingw builds.
+
+commit b93d3057257c5ecbcd3861726d8d9bb5040529aa
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Feb 12 11:58:04 2009 +0000
+
+ scons: Build xlib state tracker regardless of DRI settings.
+
+commit 73ccabc124f2c706d7fde490e4438413d2b94317
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Feb 12 11:57:45 2009 +0000
+
+ scons: Build DLLs/EXEs with more memory debugger friendlier settings.
+
+commit 492e61d94f68c3a4a515cab3cf227eed5b426bdf
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Feb 11 22:13:17 2009 -0700
+
+ softpipe: asst clean-ups, const correctness, comments
+
+commit f164101b24141207789f5bbac0a0d451325d067d
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Feb 11 22:03:34 2009 -0700
+
+ softpipe: remove unneeded #include
+
+commit 0aaa3ef2faf5c71c53abd5314ed7d55dcb929e21
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Feb 11 22:01:43 2009 -0700
+
+ softpipe: asst comments, clean-ups
+
+commit f908421e64886a7cbc1365fef45412b97b993220
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Feb 11 21:51:00 2009 -0700
+
+ softpipe: remove some old polygon stipple stuff and do some clean-ups
+
+commit 460b62336d83379a98948168a4bbe177fc6df835
+Author: Brian <brianp@vmware.com>
+Date: Wed Feb 11 21:44:38 2009 -0700
+
+ softpipe: updated comments
+
+commit 253d2d1676e07ddfc566f3761e409f9cabde1937
+Author: Brian <brianp@vmware.com>
+Date: Wed Feb 11 21:38:20 2009 -0700
+
+ softpipe: rename PRIM_x to QUAD_PRIM_x
+
+commit 7925274da323d5a896b557181d4016e0391f026f
+Author: Brian <brianp@vmware.com>
+Date: Wed Feb 11 21:33:59 2009 -0700
+
+ softpipe: rename sp_headers.h to sp_quad.h
+
+ This header describes the quad-related datatypes afterall.
+
+commit b865f84c8d94959bd91ec1ab49dd919ea8cc8b8d
+Author: Brian <brianp@vmware.com>
+Date: Wed Feb 11 21:30:21 2009 -0700
+
+ softpipe: rename single-include preprocessor symbol, add comments
+
+commit ed6f41e2f467f5b9338320a96202c7dfd181422f
+Author: Brian <brianp@vmware.com>
+Date: Wed Feb 11 21:25:10 2009 -0700
+
+ softpipe: rename sp_quad.[ch] -> sp_quad_pipe.[ch]
+
+ Be more consistant with 'draw' module.
+
+commit f3f1f7dc20484a60b1325e60e0c9bb994ab591f1
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Feb 11 19:04:39 2009 +1000
+
+ r300: disable assert that fires
+
+commit 3713a7accf8e10049c878ae62f6bc199ef1566eb
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Feb 11 19:03:56 2009 +1000
+
+ radeon: unmap in case of two dma regions being used for one cmdbuf
+
+commit 7e98907eb8da936d72902fa0bb456962fe6ac551
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Feb 11 16:52:56 2009 +1000
+
+ radeon: cleanup cmdbuffer
+
+commit 832446c892caa0656f9d903c42c4e05fae44ef3d
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Feb 11 16:50:19 2009 +1000
+
+ r300: fix front buffer rendering properly fixes tests in glean
+
+commit c5d9a7ab3034b90614689f223b94ac81b8a84338
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Feb 11 20:10:59 2009 +1000
+
+ r200: fix build
+
+commit 1e81855566b8c9957b39ee4612cec24bea591785
+Author: Johannes Engel <jcnengel@googlemail.com>
+Date: Wed Feb 11 11:31:05 2009 +0100
+
+ Add install target for egl
+
+ Signed-off-by: Johannes Engel <jcnengel@googlemail.com>
+ Acked-by: Jakob Bornecrantz <jakob@vmware.com>
+
+commit 5f750138228be4438c592485290abdc6f8458271
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Feb 11 07:53:36 2009 -0700
+
+ demos: better error message for overlay.c, see bug 20055
+
+commit 98a053cfd4b5bcb6d704f1282892e99bb2052c5f
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Feb 11 13:52:11 2009 +0000
+
+ mesa: Use the stdio wrappers.
+
+ snprint symbol does not exist in Windows.
+
+commit 7892bdfc8ac5d1f29009025904eef009b687bff2
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Feb 11 13:51:34 2009 +0000
+
+ wgl: Add a few more stubs.
+
+ I wonder why we need this... It is only necessary for the MSVC build.
+ MinGW does not require them.
+
+commit 8cadf6c0a152a5945e34ea8f6d9935ee399e6ae1
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Feb 11 13:50:43 2009 +0000
+
+ mesa: Move statements after declarations.
+
+commit 5d5ae371eaeca7e33e638af3aee1ae8e162db0a7
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Feb 10 14:30:38 2009 -0800
+
+ intel: Add x8r8g8b8 visuals to DRI1 fbconfigs alongside a8r8gb8.
+
+ This involved fixing driConcatConfigs to not return const (which had made a
+ mess of a previous patch too).
+
+commit a49ff9f95e1654c7ee05101e68df51211ad81450
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Feb 10 14:27:16 2009 -0800
+
+ sis: fix signedness warnings
+
+commit e7ee7a549d9250b0020b2773f5146d2e1197c231
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Feb 10 14:24:06 2009 -0800
+
+ trident: Fix signedness warning.
+
+commit 0cb295584ff2e3d442029fe9e079f69fafaf8dd9
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Feb 10 14:22:26 2009 -0800
+
+ tdfx: Fix begin/endquery for current API.
+
+commit 01bc4d441fd6821ad9fc20d5e9544e4e587e4ff0
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Feb 9 15:55:15 2009 -0800
+
+ intel: Don't do the extra MI_FLUSH in flushing except when doing glFlush().
+
+ Everything other than "make sure the last rendering ends up visible on the
+ screen" doesn't need that behavior.
+
+commit 0b63f6449e095fa3b5ef510e1c1eadc2e0e0ea36
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Feb 9 14:55:31 2009 +0100
+
+ intel: Speed up glDrawPixels(GL_ALPHA) by using an alpha texture format.
+
+commit d11981e0d722282894b5012d37b2960ee3fbfac2
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Feb 9 15:25:30 2009 +0100
+
+ intel: Fix some state leakage of {Client,}ActiveTexture in metaops.
+
+ Found while debugging cairo-gl.
+
+commit f82f1ffba9f2e5971a6a3f3927ae3b22b798bab2
+Author: Eric Anholt <eric@anholt.net>
+Date: Sun Feb 8 15:39:51 2009 +0100
+
+ intel: don't crash when dri2 tells us about buffers we don't care about.
+
+commit f967e8b507990f0d7986e0f83924e6587d70200d
+Author: Eric Anholt <eric@anholt.net>
+Date: Sun Feb 8 15:26:30 2009 +0100
+
+ dri2: Don't crash if the server returns more buffers than expected.
+
+commit 680c708deeb4d18474cf7ba86c587dede51d3633
+Author: Eric Anholt <eric@anholt.net>
+Date: Sun Feb 8 15:22:34 2009 +0100
+
+ dri2: Initialize variables for the getbuffers round-trip reduction.
+
+ Missed setting the initial values which usually didn't hurt at runtime.
+
+commit 36c1e756daea0be04395de063003b434ba98cbdd
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Feb 10 19:36:52 2009 -0700
+
+ docs: some Cell driver docs updates
+
+commit 0996a23e3d21383712295d52dccd98ff0e166c6e
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Feb 10 19:33:02 2009 -0700
+
+ cell: asst build fixes in linux-cell config
+
+ Add -D_SVID_SOURCE to silence warnings when building glx files.
+ Don't build the non-gallium drivers.
+
+commit 7e54d7d3d6153895c5301cd16c7ba76a126f06ee
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Feb 11 02:38:21 2009 +0100
+
+ gallium: Update autoconf to latest gallium build
+
+commit e94b4dd4f0c7f2e199e4fb2d1b81ac818d0d6078
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Feb 11 02:25:10 2009 +0100
+
+ gallium: Disable nouveau by default
+
+ Most piep drivers should be able to build by default, but since
+ the nouveau ones depend drm they can't be enabled by default.
+
+commit 9c101c44c4455e0404be482610fbe015fa012be0
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Feb 10 16:56:58 2009 -0700
+
+ cell: update Cell driver info (code is on master now)
+
+commit 5340b6dff73a0a23531ce2a5f28fba8303adab6e
+Merge: 9fd26da ee4c921
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Feb 10 16:44:02 2009 -0700
+
+ Merge commit 'origin/gallium-master-merge'
+
+ This is the big merge of the gallium-0.2 branch into master.
+ gallium-master-merge was just the staging area for it.
+ Both gallium-0.2 and gallium-master-merge are considered closed now.
+
+ Conflicts:
+
+ progs/demos/Makefile
+ src/mesa/main/state.c
+ src/mesa/main/texenvprogram.c
+
+commit ee4c921b65fb76998711f3c40330505cbc49a0e0
+Merge: 767b1ac 14d808f
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Feb 10 16:34:51 2009 -0700
+
+ Merge commit 'origin/gallium-0.2' into gallium-master-merge
+
+commit 9fd26daec24f21dbe17afcb2e2ab272667ee9a69
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Feb 10 16:30:24 2009 -0700
+
+ mesa: remove the unused _mesa_UpdateTexEnvProgram() function
+
+commit 537d3ed6f3112fdf16fd853ada0e0bcc8bd83227
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Feb 10 16:28:25 2009 -0700
+
+ mesa: another fix for program/texture state validation
+
+ This fixes a regression introduced in 46ae1abbac6837d051c10b2e8b57eab3d4958ff4
+
+ Break program validation into two steps, do part before texture state
+ validation and do the rest after:
+ 1. Determine Vertex/Fragment _Enabled state.
+ 2. Update texture state.
+ 3. Determine pointers to current Vertex/Fragment programs (which may involve
+ generating new "fixed-function" programs).
+
+ See comments in the code for more details of the dependencies.
+
+commit c936a6083e2a0bace5f3937bd2c90371aedd9bea
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Feb 10 10:12:44 2009 -0700
+
+ intel: minor reformatting, comments
+
+commit 1ed5fe5cbfb64c57997ec46684748f8ae516d19c
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Feb 10 15:43:05 2009 -0700
+
+ mesa: s/_IMAGE_NEW_TRANSFER_STATE/_MESA_NEW_TRANSFER_STATE/ to be more consistant with other flags
+
+commit 46ae1abbac6837d051c10b2e8b57eab3d4958ff4
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Feb 10 15:35:25 2009 -0700
+
+ mesa: fix/change state validation order for program/texture state
+
+ Program state needs to be updated before texture state since the later depends
+ on the former.
+
+ Fixes piglit texgen failure. The second time through the modes (press 't'
+ three times) we disable the fragment program and return to conventional texture
+ mode. State validation failed here because update_texture() saw stale fragment
+ program state.
+
+commit 14d808f8fdc41a26cea5264e47a24c903e54ce93
+Author: Younes Manton <younes.m@gmail.com>
+Date: Tue Feb 10 16:36:33 2009 -0500
+
+ nouveau: nv40 swizzled mipmap fixes.
+
+commit c2be521d24eddb907ff556c0a8ec854a157ef9bc
+Author: Patrice Mandin <patmandin@gmail.com>
+Date: Tue Feb 10 22:22:55 2009 +0100
+
+ nouveau: nv30: fix miptree organization to have swizzled texture+mipmap at the right places
+
+commit 24c379badba888bd58cd759865e454e02235c65a
+Author: Patrice Mandin <patmandin@gmail.com>
+Date: Tue Feb 10 22:22:06 2009 +0100
+
+ nouveau: revert all my changes here, not the right way
+
+commit 7b66b24c2ea127aa8f58f38a0cf4e834b58c2aa7
+Author: Patrice Mandin <patmandin@gmail.com>
+Date: Tue Feb 10 22:04:56 2009 +0100
+
+ nouveau: stop with 0 dimension
+
+commit edbe1fac6a1793da7faca104691a453023d9efac
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Feb 11 07:02:18 2009 +1000
+
+ radeon: fix span init needs more work
+
+commit 53069cbf290c7de7cc1bf813815e8ef7d5d886a4
+Author: Patrice Mandin <patmandin@gmail.com>
+Date: Tue Feb 10 21:57:40 2009 +0100
+
+ nouveau: we already have the right src offset
+
+commit 52233f27bb99d21a085117990936d9c355e4ce08
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Feb 10 20:27:49 2009 +0000
+
+ progs: Build samples dir with scons and glew.
+
+commit fa9fcf5e8fc1a1fbd25b0943050c51104acb0397
+Author: Patrice Mandin <patmandin@gmail.com>
+Date: Tue Feb 10 21:22:29 2009 +0100
+
+ nouveau: do not forget to half dimension.
+
+commit 0cd28c4a1b5a48b28be256a808f310fe995e9c7e
+Author: Patrice Mandin <patmandin@gmail.com>
+Date: Tue Feb 10 21:20:06 2009 +0100
+
+ nouveau: revert most parts of recent mipmap+swizzle stuff. We only need to find right src and dst offset for given mipmap level.
+
+commit 8b9aa730c6cf91d13892ef8a68a2aeece4e627f6
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Feb 10 18:25:31 2009 +0000
+
+ progs: Build rebook with scons too.
+
+commit 45496122b7b590479a4ed60c8bbdc1725cad0211
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Feb 11 05:47:55 2009 +1000
+
+ radeon/r200/r300: merge span code into single shared file
+
+commit f54149a3a3dde8056a8db9b9ac7cef32885946d7
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Feb 10 18:21:41 2009 +0000
+
+ wgl: return before locking if stw_icd is NULL
+
+commit 9c9ba66fbae8089e9423f6b09ad1091cccf9b006
+Merge: ebb864d 1e8177e
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Feb 10 19:22:57 2009 +0000
+
+ Merge commit 'origin/gallium-0.2' into gallium-0.2
+
+ Conflicts:
+
+ src/gallium/state_trackers/wgl/icd/stw_icd.c
+
+commit 7394c429c065eb96801500605ab7caa0a1289193
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Feb 11 05:07:31 2009 +1000
+
+ radeon/r200: flush vertices when data in cmdbuf.
+
+ This fixes a whole bunch of regressions in piglit
+
+commit 1e8177ee178b131afa86d874b062a8ae3fae0cca
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Feb 10 18:11:56 2009 +0000
+
+ scons: Use parallel builds by default.
+
+commit ebb864da9e98003be9ea388013ae4385d341e46f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Feb 10 18:11:44 2009 +0000
+
+ wgl: mutex-protect the shared stw_icd struct
+
+commit 02401cbaf021833c77c501d697d912f295546f58
+Author: Patrice Mandin <patmandin@gmail.com>
+Date: Tue Feb 10 18:44:08 2009 +0100
+
+ nouveau: dst offset is correct
+
+commit 00ee308ab3e7da2a2939845e0f0a24b8a0925025
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Feb 10 16:18:22 2009 +0000
+
+ pipebuffer: Drop reliance on pipe_winsys.
+
+commit b20a1b28b7e581304701c5802e8627003e461e45
+Author: Patrice Mandin <patmandin@gmail.com>
+Date: Tue Feb 10 18:31:41 2009 +0100
+
+ Missing: tgsi: Fix build -- rename Size to NrTokens.
+
+commit 2f0811054fd53db776531428eef1f6960f180f38
+Author: Patrice Mandin <patmandin@gmail.com>
+Date: Tue Feb 10 18:09:10 2009 +0100
+
+ nouveau: recalc sub width and height for each mipmap level
+
+commit 767b1acbb757186bde30973394f256ab7498a075
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Feb 10 17:43:25 2009 +0100
+
+ mesa: Build both software rasterizers for debug
+
+ But put the gallium one in lib/gallium
+
+commit 18aca218a29578b5cb14a3bc492330406d3a761d
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Feb 11 02:41:39 2009 +1000
+
+ radeon: r100 can't use some of the texture formats.
+
+ this fixes the texrect-many test
+
+commit 4c36282ef9e84da15b3e1d9bc28b9bbc8db5e1be
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Feb 11 02:41:11 2009 +1000
+
+ radeon/r200/r300: fix span code for depth reading.
+
+ makes the maskedClear test work
+
+commit 1789dc8015d75b996a546a94f88d8cdaa3c7e8c4
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Feb 10 16:17:32 2009 +0100
+
+ gallium: Don't rebuild common drm code
+
+commit 94665aa648f8b9015f9eabdddad092b006faf70a
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Feb 10 16:16:15 2009 +0100
+
+ gallium: Install DRI drivers into lib/gallium
+
+commit 43e6272ae5c03f663cfdd98f35b0b0028bc5d252
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Feb 10 16:23:02 2009 +0100
+
+ gallium: Introduce new subdirs build variables
+
+ (based on gallium-xorg-driver/commit 270ce504052d415870a25ab59818b2309eb8ac13)
+
+commit 7fad277bbbc8174a81427edcd9c7306d1b6571b1
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Feb 10 14:14:28 2009 +0100
+
+ Revert "cell: update linux-cell config"
+
+ This reverts commit 22c6c1eaad49692416f45bcbbcdc6424aea2da7c.
+
+ Need to revert this since we reverted commited this depended on.
+
+commit b96d50da8b56010a040c93027b4c4eb35f922d51
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Tue Feb 10 13:59:35 2009 +0100
+
+ Revert "mesa: added new linux-gallium and linux-gallium-debug configs"
+
+ This reverts commit abbe96cb6e7581a52652030e40442b943a482840.
+
+ It only reverts parts of the commit the other parts where related to
+ libmesagallium changes.
+
+commit 2644985367874591b8c79c76a2ddd96c603c417f
+Author: Michal Krol <michal@vmware.com>
+Date: Tue Feb 10 15:18:32 2009 +0100
+
+ nv40: Fix build -- rename Size to NrTokens.
+
+commit 844034dee5567b57705669917b6273fa71546be0
+Author: Michal Krol <michal@vmware.com>
+Date: Tue Feb 10 15:18:19 2009 +0100
+
+ nv30: Fix build -- rename Size to NrTokens.
+
+commit adc68472601991bfd714876ae9b54d2a50f8839b
+Author: Michal Krol <michal@vmware.com>
+Date: Tue Feb 10 15:18:03 2009 +0100
+
+ nv20: Fix build -- rename Size to NrTokens.
+
+commit 276de3ffcf0294225926ca015fbec54d9d3b47ad
+Author: Michal Krol <michal@vmware.com>
+Date: Tue Feb 10 15:17:41 2009 +0100
+
+ brw: Fix build -- rename Size to NrTokens.
+
+commit 0020e1d10870e0d24c62e3060a7efb9a6472666d
+Author: Michal Krol <michal@vmware.com>
+Date: Tue Feb 10 15:17:17 2009 +0100
+
+ i915: Fix build -- rename Size to NrTokens.
+
+commit a872b518c9179f7ee639feb4de81c62fbf25f4f6
+Author: Michal Krol <michal@vmware.com>
+Date: Tue Feb 10 15:16:35 2009 +0100
+
+ gallivm: Fix build -- rename Size to NrTokens.
+
+commit e3028baff2a313baac4a5aea494532605bb8f37a
+Author: Michal Krol <michal@vmware.com>
+Date: Tue Feb 10 15:16:00 2009 +0100
+
+ draw: Fix build -- rename Size to NrTokens.
+
+commit 5ecd0b0890fd48656e46c017830a9f5d6b906aae
+Author: Michal Krol <michal@vmware.com>
+Date: Tue Feb 10 15:14:31 2009 +0100
+
+ tgsi: Fix build -- rename Size to NrTokens.
+
+commit bf3930453cb85977510863e5cfba8487e09c093e
+Author: Michal Krol <michal@vmware.com>
+Date: Tue Feb 10 15:12:34 2009 +0100
+
+ gallium: Rename Size member of TGSI token to NrTokens.
+
+ Driver writers often got confused and assumed Size to be
+ the number of immediate values in Immediate declaration.
+
+commit a88e2544eeb0a93b23ab2383905fef44c056040c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Feb 10 14:03:43 2009 +0000
+
+ vmw/icd: remove bogus current_context value
+
+commit dc6cc4f9da25725d0b8f6efe571a5430fb399de5
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Feb 10 13:40:00 2009 +0000
+
+ mesa: Compare formats using nominal bytes per pixel.
+
+ This is a temporary fix which works for the formats we care so far. The
+ real fix would be abandon the concept "nominal bytes per pixel" entirely
+ in Mesa, and use macropixels instead, as done in gallium interfaces
+ already.
+
+commit 3e4d0c2a5d709e4b87474dfe6e64d67bb217135c
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Feb 10 23:39:13 2009 +1000
+
+ r100: remove debug code
+
+commit 639b5fca0c5cea26a9dc393b538508aece16ce6b
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Feb 10 23:38:51 2009 +1000
+
+ r100: fix 3D texture fallback
+
+commit c3ca94bc9115f0f328327f1e96fac84b87d5efd5
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Feb 10 23:36:28 2009 +1000
+
+ radeon: fix fallback case where t->mt is valid NULL
+
+commit eaf15db895e3a5c6c5ccc2f23a4f0fa522855868
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Tue Feb 10 13:47:49 2009 +0100
+
+ gallium: Fixups for driCreateConfigs MSAA support.
+
+ Add the MSAA samples array or make sure its contents are initialized.
+
+commit 67e988a06c8ff5896da9df7ce1c7fc118352c8a3
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Feb 10 11:50:54 2009 +0000
+
+ wgl: Fix null pointer reference.
+
+commit 9fb9ee9d241c99a76e15af2db328332dfecf586d
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Feb 10 11:37:23 2009 +0000
+
+ stw: Hack for applications which use wglSetPixelFormat instead of SetPixelFormat.
+
+commit 5b0807b72f16a4835e4b28aa8a66e9bcd867d383
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Feb 10 11:36:48 2009 +0000
+
+ glut: Use the official WGL functions.
+
+ Especially using wglGetPixelFormat instead of GetPixelFormat causes
+ problems with opengl32.dll and drivers that not hack around this issue.
+
+commit aeed92952efaac0b3519aeb141de18e17f0f454c
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Feb 10 11:35:26 2009 +0000
+
+ glut: DESCRIPTION .def clause deprecated.
+
+commit 42523a83b332c9a0b128ba5ceca7c5fcd5a1d6c6
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Feb 9 21:08:49 2009 +0000
+
+ wgl: s/0x%p/%p/g
+
+ Rather not have 0x prefix, than 0x0x in certain platforms.
+
+commit 028780a809bdb2941c7be37523d22bd394c49211
+Author: Brian <brianp@vmware.com>
+Date: Sat Feb 7 16:10:21 2009 -0700
+
+ demos: remove OSMESA stuff from Makefile
+
+commit 17fe4780851951f24db7bde71f1175c7dd2ddbe9
+Author: Benjamin Close <Benjamin.Close@clearchain.com>
+Date: Tue Feb 10 11:54:27 2009 +1030
+
+ autogen: Make sure MAKEFLAGS is not set before running autoreconf
+
+ Without this the "w" flag may be set which causes the version
+ to be incorrectly to be obtains in configure.ac causing configure
+ to fail miserably
+
+commit 7e0bc2eb8df6f83a67410cd422b709981f88cd87
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Feb 9 15:41:06 2009 -0700
+
+ mesa: add x86/rtasm/x86sse.c to fix linux-x86 build
+
+commit 93da69def4ec6b3a8088cf603f6800d73e0a9793
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Mon Feb 9 23:10:16 2009 +0100
+
+ mesa: fixes for srgb formats
+
+ swizzling in fetch/store srgba/sargb functions fixed (consistent with
+ equivalent non-srgb formats now).
+
+commit cb3c54ea86344242545dd29f936e53853d3a5ea4
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Mon Feb 9 17:57:22 2009 +0100
+
+ fix _mesa_get_teximage for srgb textures
+
+commit aad3f546a046fe40b771e5d5f965b29189821d51
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Feb 9 13:58:32 2009 -0700
+
+ mesa: avoid setting texObj->_Complete = GL_FALSE when there's no state change
+
+ Avoid a little bit of unneeded state validation and fixes a bug where the
+ texture complete flags was set to false, but we didn't signal _NEW_TEXTURE.
+
+ Fixes piglit tex1d-2dborder failure.
+
+commit 37c768b36aad22ecad48c7caab272354383e26a7
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Feb 9 13:50:36 2009 -0700
+
+ mesa: add no-change testing for a few more texture parameters
+
+commit 88f3656ea7ae57d22141225db0c5d90ceab420dd
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Feb 9 12:43:09 2009 -0700
+
+ swrast: use ASSIGN_4V() macro
+
+commit 7eb5a2892d3d89f4b1800311babb40af1ec7d4e5
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Feb 9 08:31:28 2009 -0700
+
+ mesa: replace _mesa_unreference_framebuffer() with _mesa_reference_framebuffer()
+
+commit d52294439c80c99a4bfa2c7ecc65efa67f095a3f
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Feb 9 08:30:55 2009 -0700
+
+ mesa: replace _mesa_unreference_framebuffer() with _mesa_reference_framebuffer()
+
+commit 60b3fe6c19eb881f6193ba46450c0c9f559a10e5
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Feb 9 12:12:09 2009 -0700
+
+ i965: need to disable current shader, if any, in intel_clear_tris()
+
+ Fixes bad background in all the progs/glsl/ tests.
+
+commit b1df5ed6db4d79de895e37bcdd12dfbaae7bd4f6
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Feb 10 04:57:37 2009 +1000
+
+ radeon: put back state emission lastcmd
+
+commit d2fa89140ebc5cfdd93dcb37d6106e78b01c34d8
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Feb 10 04:56:16 2009 +1000
+
+ r200: invalidate texture paths in some more places
+
+commit ccf7814a315f0be05cdc36ca358e2917a3d4ac19
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Feb 10 04:54:24 2009 +1000
+
+ radeon: major cleanups removing old dead codepaths.
+
+ This should be working gears on radeon state
+
+commit e13593678f62941db06b7ae1a21b81c643371659
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Feb 9 11:16:20 2009 -0700
+
+ re-add MSAA support
+
+ (cherry picked from commit f7d80aa00611917bc8ce637136d982b151b8f44f)
+
+ This also involved adding the new MSAA fields to driCreateConfigs().
+
+ Also, re-add prog_instructions->Sampler field for i965 driver. Will
+ have to revisit that.
+
+commit 123299546fccc0814d08c6258ed9e64a356f7607
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Feb 9 18:11:05 2009 +0000
+
+ indices: Fix typo.
+
+commit 22c6c1eaad49692416f45bcbbcdc6424aea2da7c
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Feb 9 10:42:34 2009 -0700
+
+ cell: update linux-cell config
+
+commit 2438161823630a6e647c105ad92cf2b0cd740d00
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Feb 9 10:37:38 2009 -0700
+
+ mesa: build/use libmesagallium.a for gallium builds
+
+ This contains the core mesa code but excludes things not needed for gallium
+ such as tnl/, swrast/, swrast_setup/, etc.
+
+commit abbe96cb6e7581a52652030e40442b943a482840
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Feb 9 10:17:58 2009 -0700
+
+ mesa: added new linux-gallium and linux-gallium-debug configs
+
+ Also, remove gallium-related things from configs/default. They're in
+ linux-gallium now.
+
+ So the default builds are the same as they have been for Mesa/master.
+
+commit 3c15e02783ed5e908d7668c39786337d62e51d12
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Feb 9 10:12:11 2009 -0700
+
+ softpipe: add null ptr check in softpipe_map_constant_buffers()
+
+ Fixes segfault regression in progs/glsl/identity.c
+
+commit 87e44d9003d6fdd4b9be911ad1aa4de1f87068d9
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Feb 9 09:54:52 2009 -0700
+
+ mesa: prefix #includes with main/
+
+commit 71e64fc30b4f57bd93daf004bc04af7181391f4d
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Feb 9 09:54:33 2009 -0700
+
+ swrast: fix typo: s/drapix/drawpix/
+
+commit 4fece21315dcb4bc44b950f9c71cb1f46288bfd5
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Feb 9 09:53:58 2009 -0700
+
+ mesa: remove old 'sources' file in favor of 'sources.mak'
+
+commit e97681c7f551a2a2a6bd5eff0f4192a870c816c0
+Merge: 1a46c8a b907d4c
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Feb 9 09:22:22 2009 -0700
+
+ mesa: merge gallium-0.2 into gallium-master-merge
+
+ Merge commit 'origin/gallium-0.2' into gallium-master-merge
+
+ Conflicts:
+
+ Makefile
+ docs/relnotes-7.4.html
+ docs/relnotes.html
+ src/mesa/drivers/dri/i965/brw_wm.h
+ src/mesa/main/imports.c
+ src/mesa/main/mtypes.h
+ src/mesa/main/texcompress.c
+ src/mesa/main/texenvprogram.c
+ src/mesa/main/version.h
+ src/mesa/vbo/vbo_exec_api.c
+ src/mesa/vbo/vbo_save_draw.c
+
+commit 1a46c8a062aea59de5cf55881104489db5d609e5
+Author: Siddhartha Chaudhuri <expiring_frog@yahoo.co.uk>
+Date: Mon Feb 9 07:58:38 2009 -0700
+
+ mesa: autoconf fixes for OS X
+
+ See bug report 17566.
+
+commit 49002698193784dacffcbf993de26fcdd42c523e
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Feb 9 07:55:08 2009 -0700
+
+ mesa: rework _mesa_reference_framebuffer() to look like _mesa_reference_renderbuffer()
+
+ _mesa_unreference_framebuffer() is deprecated since _mesa_reference_framebuffer(ptr, NULL)
+ can be used instead.
+
+commit 9df844b109a9d2cc1d3b16315c34ef84f147c5b6
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Feb 9 23:19:42 2009 +1000
+
+ radeon: fix alignment issues in ELT code
+
+commit 3fafaf8959681cc41c988607bb6e387bab4fe1b5
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Feb 9 03:50:38 2009 +1000
+
+ radeon: make more r100 work
+
+commit abdf1f65d2bafbad8020f1444a01eb18ae9f7159
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Feb 9 03:50:07 2009 +1000
+
+ r200: cleanup some bits that aren't used
+
+commit b907d4cd8fafe719b4f87d877562829548937485
+Author: Patrice Mandin <patmandin@gmail.com>
+Date: Sun Feb 8 17:03:47 2009 +0100
+
+ nouveau: include and calc offset before changing dimensions for next level
+
+commit ea7ca7607a97a1c13248f7aef1948b5ccb6423e0
+Author: Patrice Mandin <patmandin@gmail.com>
+Date: Sun Feb 8 16:42:56 2009 +0100
+
+ nouveau: upload and swizzle each mipmap level in turn
+
+commit 5425c4aa28721072085f128e902f5679ba31a963
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun Feb 8 02:03:29 2009 -0800
+
+ r300: Accidentally removed a pipe_buffer_reference that should be there.
+
+commit 360e700a43ce3914d7f336593f380562ca190898
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun Feb 8 01:07:03 2009 -0800
+
+ r300: Add SW TCL paths for clear.
+
+ This should make things work for people on RSxxx chipsets.
+
+commit ea3398cf3395fd36ac6edc717f2680361ac5e239
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun Feb 8 01:01:26 2009 -0800
+
+ r300: Update to match pipe_surface changes.
+
+commit 19a1bc8270cbb8fd62a440d2132c699de74182c2
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Feb 7 13:05:38 2009 -0700
+
+ cell: remove unused var
+
+commit 91948cd1a2fd33a4147a6dac35122a2ab5f97ded
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Feb 7 13:04:53 2009 -0700
+
+ cell: compile fix: many updates to cell texture code for new surface mapping
+
+ The Cell texture code really needs a thorough inspection and clean-up someday...
+
+commit 2473ded88684aed33de5ba6494ac4ce8cf7e2226
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Feb 7 13:03:24 2009 -0700
+
+ softpipe: simplify an assertion
+
+commit b59117a697ac168da9dacb922d491449fe591264
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Feb 7 13:02:27 2009 -0700
+
+ cell: compile fix: no-op xlib_create_brw_screen() for Cell build
+
+commit 96d230e107abcf4c105e6e7c871124f246763222
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Feb 7 13:01:53 2009 -0700
+
+ cell: compile fix: alpha.ref is now alpha.ref_value
+
+commit 830e320e2ad9a3918d867d8233c25bb2c54fa55a
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Feb 7 13:01:02 2009 -0700
+
+ cell: compile fix: pipe_constant_buffer no longer has size field
+
+commit c2a8d73d5aa0e17fa790d4ccf404422e9e9ac119
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Feb 7 12:59:40 2009 -0700
+
+ cell: compile fix: pipe_constant_buffer no longer has size field
+
+commit 5199774dc6a2a65d24ac26fe15715654f2568a02
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Feb 7 11:50:24 2009 -0700
+
+ mesa: minor fixes to incomplete texture debug code
+
+commit 266fe93a87d5c0c21e9e7960699104e0e8bd54b4
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Feb 7 11:49:52 2009 -0700
+
+ mesa: debug code for printing info about textures, writing teximages to disk
+
+commit 671fed4d0191734babfe28c7729f2e7cfa7ad8d7
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Feb 7 11:40:20 2009 -0700
+
+ mesa: code refactoring: move texcombine code into update_tex_combine()
+
+commit 2a50dde0f5a44b06ba5d07ce96e4da5e264d18ae
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Feb 7 11:21:44 2009 -0700
+
+ mesa: minor clean-ups, remove unneeded conditional
+
+commit b46611633c5da6fa23ee17bce22939fe20ef194e
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Feb 7 11:20:08 2009 -0700
+
+ mesa: fix logic error in computing enableBits in update_texture_state()
+
+ If we had a vertex shader but no fragment shader (i.e. fixed function) we
+ didn't get the right enabled texture targets.
+
+ Fixes blank/white texture problem.
+
+commit 32cd1a0345eaf1f4da8a60a4ac2145ff51383d59
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sat Feb 7 12:53:30 2009 -0500
+
+ nouveau: Need to surface_copy() without a pipe context.
+
+commit 2d6355495ce6f8668df3d9eb8825815bfead5401
+Merge: 5538323 776d866
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Feb 6 14:06:39 2009 -0800
+
+ Merge branch 'gallium-0.2' of git://anongit.freedesktop.org/mesa/mesa into gallium-0.2
+
+commit 5538323005a20d6911c7e51cb5f26b242c04a57c
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Feb 6 13:36:31 2009 -0800
+
+ Readd trace to list of default pipe drivers.
+
+ Looks like the gallium-0.2-radeon merge clobbered it.
+
+commit 4683fc94f5e03f596fc8e5c12e9dd54a83deaeb9
+Merge: e637285 8002642
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Feb 6 13:34:04 2009 -0800
+
+ Merge branch 'gallium-0.2-radeon' into gallium-0.2
+
+commit 80026428e3aa8f71ccd42d8d3b5e0a15c150dda2
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Feb 6 13:28:15 2009 -0800
+
+ Rename winsys amd to radeon.
+
+commit 0bf152e0be48d8dc557c3ecdb02ef4d0b092fed5
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Feb 6 13:27:51 2009 -0800
+
+ Remove r300 from default build.
+
+commit 776d86606cd8b250802730410d5e55a41944cf0a
+Author: Younes Manton <younes.m@gmail.com>
+Date: Fri Feb 6 14:37:35 2009 -0500
+
+ g3dvl: Catch up to gallium changes, fix build.
+
+commit bb34072b940840757f2de1d2e7202b2868ec2a56
+Author: Younes Manton <younes.m@gmail.com>
+Date: Fri Feb 6 14:36:56 2009 -0500
+
+ nouveau: Pass proper format to NV04_GDI_RECTANGLE_TEXT.
+
+commit 5c8c728afe0e2a8e8819097ae1c2f3c738d9397b
+Author: Younes Manton <younes.m@gmail.com>
+Date: Fri Feb 6 14:33:49 2009 -0500
+
+ nouveau: Frontbuffer pitch needs to be set.
+
+commit f6d23943cd289ed2b60ec01006fb155f22969749
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 6 10:48:38 2009 -0700
+
+ mesa: fix tnl->render_inputs_bitset setup for fragment program texcoords
+
+ Handle the case where there's no per-vertex texcoords but the fragment shader
+ needs texcoords.
+
+ Fixes piglit shaders/fp-generic/dph test.
+
+commit 1df62651b2e9a8d0afd790738e2695a16ade1eeb
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 6 10:47:31 2009 -0700
+
+ swrast: return (0,0,0,1) when sampling incomplete textures, not (0,0,0,0)
+
+ Fixes piglit shaders/fp-incomplete-tex test.
+
+commit e01a03d2220199a4541f2cb8b42035237a571aa4
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 6 10:21:36 2009 -0700
+
+ glsl: new MESA_GLSL env var for GLSL debugging features
+
+ Replaces the VERBOSE_GLSL, VERBOSE_GLSL_DUMP flags which only worked in debug
+ builds. MESA_GLSL will work both in debug and non-debug builds.
+ Also add facility to dump glUniform() calls to stdout.
+
+commit 6ce0c6e743b27cc284e8f164585cfe5892cd662a
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 6 10:20:33 2009 -0700
+
+ mesa: tweak output of _mesa_write_shader_to_file()
+
+ Enclose GPU code in comments to the file can be re-fed back into GLSL compiler.
+
+commit aafcc26642d5243944a1abb816c2657f644c0649
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 6 10:00:34 2009 -0700
+
+ Revert "mesa: meaningless whitespace change to see if git's working (ignore)"
+
+ This reverts commit b2e779988eeb595187933fe2122d86f8ccfe059c.
+
+ I didn't mean to push this stuff yet. I'm having a bad git day...
+
+commit b2e779988eeb595187933fe2122d86f8ccfe059c
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Feb 6 09:57:28 2009 -0700
+
+ mesa: meaningless whitespace change to see if git's working (ignore)
+
+commit da795ff0a837eeb8c8f9d44987b374da2d4d2835
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sat Feb 7 00:18:34 2009 +1000
+
+ radeon: remove include that breaks build in !OLD_PACKET path
+
+ this path isn't enabled by default in any case.
+
+commit e223b7c312a1211966f47d36724ffceaec32a3f3
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Feb 6 20:30:03 2009 +1000
+
+ radeon: port over arrays code even though not in use yet
+
+commit 36d3f3e74a809ad346e981805a2f61710d3a380b
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Feb 6 19:57:55 2009 +1000
+
+ r100: fixup radeon so gears seems to work
+
+commit 2e70971e4f1ac5278e9da67341e8c39518308d20
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Feb 6 01:59:26 2009 -0800
+
+ r300: Clean up CS counting.
+
+commit 16f4b10170da7f1cae3561cdd2a0b2e3d86cf8de
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Feb 6 19:36:39 2009 +1000
+
+ radeon: remove unused texmem
+
+commit 0a43603c1c714b4a87b3a282bdf1295ecda31713
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Feb 6 09:18:15 2009 +1000
+
+ r300: fix some autostate batch setups
+
+commit 402d45d99b4533140aa706300da3154af2f376f0
+Author: Joakim Sindholt <bacn@zhasha.com>
+Date: Thu Feb 5 22:23:40 2009 +0100
+
+ r300: working trivial/clear for r5xx
+
+commit be53dfa3b9ca4d1503fdbdf934569442175e30ef
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Feb 5 13:27:07 2009 -0800
+
+ r300: Add framebuffer setup stub.
+
+commit 4617981ec72f7985941bee4b03c534d97ff96bc6
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Thu Feb 5 19:41:18 2009 +0100
+
+ gallium: No longer allow CPU mapping surfaces directly.
+
+ Instead, a new pipe_transfer object has to be created and mapped for
+ transferring data between the CPU and a texture. This gives the driver more
+ flexibility for textures in address spaces that aren't CPU accessible.
+
+ This is a first pass; softpipe/xlib builds and runs glxgears, but it only shows
+ a black window. Looks like something's off related to the Z buffer, so the
+ depth test always fails.
+
+commit e6372853c221a5d64494ce75a6a323c479c55a86
+Author: Pekka Paalanen <pq@iki.fi>
+Date: Thu Feb 5 20:12:04 2009 +0200
+
+ nv20: copy miptree flags from nv40
+
+ nv20_miptree_create() should set various flags.
+ Copy stuff over from nv40.
+
+ trivial/tri does not abort on nv04 swizzled copy anymore.
+ I still miss my triangle.
+
+ Signed-off-by: Pekka Paalanen <pq@iki.fi>
+
+commit a785a4ae2165c3b58c228f4de4b26b2c0800116c
+Author: Pekka Paalanen <pq@iki.fi>
+Date: Thu Feb 5 19:45:33 2009 +0200
+
+ nv04-nv40: fix nv##_surface_copy() for flipped
+
+ If do_flipp is true, it would first do the proper copy, height would
+ wrap around to unsigned maximum, and then it attempts to do another
+ copy.
+
+ Return after doing the proper copy.
+
+ Signed-off-by: Pekka Paalanen <pq@iki.fi>
+
+commit 8569860c3d288ad5cd6558c9560fc9b404b64fb4
+Author: Pekka Paalanen <pq@iki.fi>
+Date: Thu Feb 5 19:43:36 2009 +0200
+
+ nv04: fix pasto in nv04_surface_2d_init()
+
+ Wrong hardware object being used, when compared with earlier code.
+
+ Signed-off-by: Pekka Paalanen <pq@iki.fi>
+
+commit 96fb896c3916053c5b3b67c4f51911d718aef2d4
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Feb 5 16:04:13 2009 +0000
+
+ indices: quad fixes
+
+commit 3120894c6d33a26cda642246344e8945db200ac2
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Feb 5 14:44:17 2009 +0000
+
+ gallium: add new aux lib for index list translations
+
+ Could this be the ultimate index list translating utility? Maybe, but it
+ doesn't yet include support for splitting primitives.
+
+ Unlike previous attempts, this captures all possible combinations of API
+ and hardware provoking vertex, supports generated list reuse and various
+ other tricks. Relies on python-generated code.
+
+commit 6e5d3117193fcbaa19c605c4d73241243ed46bcc
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Feb 5 08:41:27 2009 -0700
+
+ mesa: remove oddball linux-directfb-install makefile rule
+
+ It's probably not needed since the 'make install' rules were overhauled last year.
+
+commit 681a13e7f9c9edd6587c0b2c2c88b82e24fda036
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Feb 5 08:39:10 2009 -0700
+
+ mesa: minor Makefile improvement for versioning
+
+commit 099e9d20f0e8f5ee108e4fbb4bf7cae97b5f9a4a
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Feb 5 08:23:00 2009 -0700
+
+ gallium: fixup #includes: p_screen.h does not need anything in p_state.h
+
+commit 0703b2e9ad9ef9d05f7ba53b93dba780ad34b47d
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Feb 5 08:16:56 2009 -0700
+
+ gallium: move 'struct pipe_winsys'
+
+ Not used in p_state.h but used in p_context.h and p_screen.h
+
+commit 75f0b38d9ea4a7318b0d661712dda15e24707395
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Thu Feb 5 18:40:38 2009 +1000
+
+ nv50: stop using nouveau_push.h, it's evil
+
+commit ff8dff017e537c6db4c86aad43e92b768cb187e4
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Thu Feb 5 18:19:32 2009 +1000
+
+ nv04-nv40: move 2d blit/fill code into pipe driver
+
+commit 13393736dbab1087589f8dd788bc412d16b431d1
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Thu Feb 5 14:04:45 2009 +1000
+
+ nv50: move 2d blit/fill code into pipe driver
+
+commit ae8a7544d1ab96240f646ea91fb149227067a2db
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Thu Feb 5 13:17:12 2009 +1000
+
+ nouveau: support getting "native" bo from winsys
+
+commit 285b500bb7710b17e39754ef253ac2df718c2db7
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Feb 4 17:40:51 2009 -0700
+
+ glsl: use _slang_var_swizzle() in a few places to simplify the code.
+
+commit d96d8b21bf91c501c6a565d0be37a741fa6ff445
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Feb 4 17:37:20 2009 -0700
+
+ glsl: remove unused prototype
+
+commit 0744805d5879abd1d1d968ec6ed99c974c95add6
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Feb 4 17:32:07 2009 -0700
+
+ glsl: replace assertion with conditional in _slang_pop_var_table()
+
+ We were hitting the assertion when we ran out of registers, which can happen.
+
+ Also, add some additional assertions and freshen up some comments.
+
+commit fb8b794c69330924ad15083237b1a8a35eb62e31
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Feb 4 16:07:39 2009 -0800
+
+ r300: Add shader state stubs.
+
+commit 1ca05a066b8d8cb8a99da88743a48f7d97f695fe
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Feb 4 14:22:12 2009 -0700
+
+ mesa: more info in error messages
+
+commit 8962bac0a1e422afcd034f4ce00d45d8f3df46bf
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Feb 4 10:45:04 2009 -0700
+
+ swrast: add minor comments
+
+commit 79e3441f6679c31532cd737129ec472b29d4d9c8
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Feb 4 08:43:11 2009 -0700
+
+ Revert "docs: document new MESA_GLX_FORCE_DIRECT env var for the Xlib driver"
+
+ This reverts commit 2f51be75c55f69dc3e09036d6fd12f808f5a5028.
+
+commit c35a5aeb706d33b9c09b5a12bbbeae0f109885c9
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Feb 4 08:42:30 2009 -0700
+
+ mesa: make Xlib glXIsDirect() always return True
+
+commit c06c74c0b84ddfebaf144ec64b305879f9ddc681
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Feb 4 08:38:43 2009 -0700
+
+ demos: remove unused function
+
+commit 906c60d0b7c6ad3e78c142643634e4189c07b57f
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Feb 4 08:38:28 2009 -0700
+
+ demos: silence uninitialized var warning
+
+commit 803504e69fbd85713fc6d93af21f5245852cecab
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Feb 3 16:33:12 2009 -0700
+
+ mesa: minor error msg improvement
+
+commit e92d97d75bcd1ac2caafc2a565b304639cedd520
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Wed Feb 4 20:59:22 2009 +0000
+
+ intel: Decode MI operands using specific length masks
+
+ The MI opcodes have different variable length masks, so use an operand
+ specific mask to decode the length.
+
+commit 05d130a35acf10c0c002fcf5f3a32154ca9cb19e
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Wed Feb 4 20:25:08 2009 +0000
+
+ intel: Correct decoding of 3DSTATE_PIXEL_SHADER_CONSTANTS
+
+ A couple of minor typos that proclaimed an error in the wrong command, and
+ failed to offset the mask.
+
+commit b2e09910f65ae2c8c43c0441955aa262a8946ef3
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Feb 4 10:27:13 2009 -0800
+
+ intel: Fix fbo_firecube regression with FBconfigs change.
+
+ By selecting a 4444 texture format due to a bad test, we hit the
+ intel_update_wrapper error path, and despite the appearance of error handling
+ in it and its callers, the desired behavior (software fallback) doesn't occur.
+
+commit c20df0ab4ee63c3257ac5726e4e2829db388ab42
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Wed Feb 4 13:26:09 2009 +0100
+
+ r300: make the macros safe. add missing parenthesis.
+
+commit 5ee71bad7b3c2bbae03a73488ddf477f4dc9b0cf
+Author: Maciej Cencora <m.cencora@gmail.com>
+Date: Sat Jan 24 14:58:17 2009 +0100
+
+ r300: Fix EXP2 fog
+
+commit ee97bcc66c270a8a5152988213190d910302a0dd
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Feb 4 21:08:41 2009 +1000
+
+ nouveau: notifier timeout is a float now
+
+commit 79bf0bdc7ffe97ec128e5dd143c4ed54648aae42
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Feb 4 20:59:49 2009 +1000
+
+ nouveau: get things building/running again after pipe_surface.buffer removal
+
+ Don't look at nouveau_winsys_pipe.h... I promise it's temporary!
+
+commit c10fb9579027ae34eda0c52acb353e8da5832495
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Feb 4 14:55:13 2009 +1000
+
+ nouveau: link against libdrm_nouveau (installed with libdrm)
+
+commit 9f10b16790d7e4e224fc30cf105df944275d6353
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Feb 4 00:50:38 2009 -0800
+
+ r300: A bit more cleanup and state handling.
+
+commit f097465bb85d3ca212a23c2dcc9cf73988de9160
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Feb 3 22:55:30 2009 -0800
+
+ r300: Moar swtcl emit. Still sucks, but getting there.
+
+commit 8fe61fc5ba70be29b9d7dbdfab45c5434be587fc
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Feb 4 16:01:41 2009 +1000
+
+ radeon/r200 remove more unused code
+
+commit b584b0728d3a001a142f76dde22f9e8ed7d2dd16
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Feb 4 15:58:08 2009 +1000
+
+ radeon: make compile again.
+
+ Not tested but ripped out lots of stuff unneeded anymore time to test later
+
+commit 88a409fa8e85a45eb71f99e5926340a5fe6a8071
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Feb 4 15:12:16 2009 +1000
+
+ r300: fix up CS for modesetting - gears under kms works
+
+commit 8910da5b7a3b83d733f020dec906fe7b56c093c7
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Feb 3 20:04:24 2009 -0800
+
+ intel: Fix commented-out glViewport in intel_meta_set_passthrough_transform.
+
+ Too much commit -a while debugging.
+
+commit 529d1d720e1422bad1880ef33fae1c9423112d2e
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Feb 3 19:29:11 2009 -0800
+
+ swrast: Add support for x8r8g8b8 fbconfig.
+
+ This lets swrast produce an fbconfig suitable for the root visual now that
+ the server's not allowing mismatched fbconfigs.
+
+commit c370776b02806c6c98d1354e3d60d06311dcfb80
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Feb 4 13:41:05 2009 +1000
+
+ radeon: make generate_mipmap static
+
+commit 0bcac04100f01bb79edacb29384fb535c37413f1
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Feb 4 13:40:48 2009 +1000
+
+ r300: fix swtcl
+
+commit c1a42f5cdc68d8ec2ccae2cd93a1615f5d4ca924
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Feb 4 23:40:41 2009 +1000
+
+ r200: fixup DMA region stuff
+
+commit e44effcfcba4591a622e47ee1b4807ddf5789d51
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Feb 4 13:16:41 2009 +1000
+
+ radeon: call getpagesize once and store in a static
+
+commit 711cbf30a1ce72338ca9f1c0f71bd530754a4bd9
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Feb 4 13:16:03 2009 +1000
+
+ r300: make dma buffer reuse much more sensible
+
+commit 55c8a79a339668dd661bb8adb615fbcb8075f51a
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Feb 4 11:19:26 2009 +1000
+
+ radeon: add support for stencil buffers + misc debug changes
+
+ this adds the stencil rb setup, along with misc changes to formatting
+ and debug
+
+commit 3f59bee43862519e84a52d371fc370cac32ae350
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Feb 4 11:17:37 2009 +1000
+
+ r200: move to new mipmap interface
+
+commit c85a3851b6519c24780e94dea570a72418621189
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Feb 4 11:14:38 2009 +1000
+
+ radeon: only do the fb read if we are mapping a VRAM object
+
+ this makes writing the DMA buffers got a lot better
+
+commit e8f575d657c5a363a4bf090b3b4fd219cce218ae
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Feb 4 11:13:54 2009 +1000
+
+ radeon_cs: move to inline cs_write_dword
+
+ this gets back some of the CPU this was wasting
+
+commit 2f51be75c55f69dc3e09036d6fd12f808f5a5028
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Feb 3 10:13:22 2009 -0700
+
+ docs: document new MESA_GLX_FORCE_DIRECT env var for the Xlib driver
+
+commit 49e80bf6b163310f7cd776261872201eea57053a
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Feb 3 10:12:51 2009 -0700
+
+ xlib: use MESA_GLX_FORCE_DIRECT to make glXIsDirect() always return True
+
+ Some apps won't run w/ indirect rendering contexts.
+ Also, consolidate some context-init code in new init_glx_context() function.
+
+commit b5d549e3514af1d299b27d80bd157a65f397fe15
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Feb 3 09:21:32 2009 -0700
+
+ mesa: simplify delete_wrapper()
+
+commit dd22f6f7956ac5800adb62b26b1effa43f2b70aa
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Feb 3 15:17:26 2009 -0700
+
+ demos: modify bufferobj.c to exercise interleaved vertex arrays
+
+ Also, put colors before vertex positions, and place the data at a 40-byte
+ offset from the start of the buffer.
+
+commit a47965588fdaa75166c48d50974b38fcbfd2a749
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Tue Feb 3 20:07:42 2009 +0000
+
+ mesa: fix offset problem with interleaved arrays
+
+commit e0c3b4970da052308bf7b4e5cbe9186a4b8321db
+Author: Zack Rusin <zackr@vmware.com>
+Date: Mon Feb 2 23:54:28 2009 -0500
+
+ gallium: adjust gdi for the latest changes
+
+commit 5069bfed29bcee2c89c36c74c6d65d388eb7792e
+Author: Zack Rusin <zackr@vmware.com>
+Date: Mon Feb 2 23:47:16 2009 -0500
+
+ gallium: remove pipe_buffer from surfaces
+
+ this change disassociates, at least from the driver perspective,
+ the surface from buffer. surfaces are technically now views on the
+ textures so make it so by hiding the buffer in the internals of
+ textures.
+
+commit e5018a5675603ec26e833bc0808e4150a6bba16a
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Feb 2 20:33:57 2009 -0800
+
+ r300: Add stubs for swtcl immediate emit.
+
+commit 4c078cfbad82126108081350b9326228aa2da46d
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Feb 3 12:38:31 2009 +1000
+
+ radeon: add a reference to the static buffers so they don't get deleted
+
+commit e1b04da9b35aad1f474f7396f206a7c124c6859b
+Author: Joakim Sindholt <bacn@zhasha.com>
+Date: Tue Feb 3 02:58:51 2009 +0100
+
+ r300: fix compiler/linker errors
+
+commit 3aabfa46083daf60859bb26b65568de4cf40915f
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Feb 2 16:39:43 2009 -0800
+
+ r300: Clear up XXX in r300_state.
+
+commit fa3c59136e9dd788ee7d3689b6cb89dd27040a9e
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Feb 2 16:13:41 2009 -0800
+
+ r300: Take care of some XXXes.
+
+commit 8e8b25c26a1ecb1b317b6e68a9a13a766d59150b
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Feb 2 16:50:45 2009 -0700
+
+ demos: update multitex.c GLSL demo to use vertex arrays or glVertex-mode
+
+ Press 'a' to toggle drawing mode.
+
+commit 4c5f3903280372a03044440a070661514369b595
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Feb 2 16:47:51 2009 -0700
+
+ util: added more functions to extfuncs.h
+
+commit dea0d4d56326f148a42c766bdbaf1b5bb247cc59
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Feb 2 16:33:08 2009 -0700
+
+ mesa: fix GLSL issue preventing use of all 16 generic vertex attributes
+
+ Only 15 actually worked before since we always reserved generic[0] as an
+ alias for vertex position.
+
+ The case of vertex attribute 0 is tricky. The spec says that there is no
+ aliasing between generic vertex attributes 0..MAX_VERTEX_ATTRIBS-1 and the
+ conventional attributes. But it also says that calls to glVertexAttrib(0, v)
+ are equivalent to glVertex(v). The distinction seems to be in glVertex-mode
+ versus vertex array mode.
+
+ So update the VBO code so that if the shader uses generic[0] but not gl_Vertex,
+ route the attribute data set with glVertex() to go to shader input generic[0].
+
+ No change needed for the glDrawArrays/Elements() path.
+
+ This is a potentially risky change so regressions are possible. All the usual
+ tests seem OK though.
+
+commit 1cb7cd1292dc8592d4912194d91355eb61361be5
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Feb 2 16:29:08 2009 -0700
+
+ glsl: update program->InputsRead when referencing input attributes
+
+ This info will be used in the linker for allocating generic vertex attribs.
+
+commit e33edafb2c81decd05dccae06fe6f059f53e2f25
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Feb 2 12:24:58 2009 -0700
+
+ mesa: fix stand-alone glslcompiler
+
+commit d2eff33ab7fda9527458ea35d9eb109ec2988490
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Feb 2 12:24:41 2009 -0700
+
+ mesa: make _mesa_fprint_program_opt() non-static
+
+commit d9cf1319252e053a894dd49583064e4cd063d119
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Feb 3 09:49:45 2009 +1000
+
+ r300: fixup mipmap + texsubimage issues
+
+ This fixes a few regression in piglit, and adds some debug to the mipmap code
+
+commit dbf72bdd3dda73384381a9ae8a94b522b7f786c2
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Feb 3 09:48:27 2009 +1000
+
+ radeon_bo: align size of bo to page size.
+
+ This is really required for the VRAM allocator upload function.
+
+commit 33d798c4eab57293336082c7d011aa27af693bbb
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Feb 2 15:39:30 2009 -0800
+
+ r300: Move some registers around.
+
+ This fixes r500 hangs.
+
+commit 052c1d66a1ab1f2665870dc77dab28d20416cdf1
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Jan 30 14:32:23 2009 -0800
+
+ i965: Remove brw->attribs now that we can just always look in the GLcontext.
+
+commit 14321fcfde9e30d0b9f15aab3c9a057271ae6295
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Jan 30 14:18:03 2009 -0800
+
+ i965: Delete old metaops code now that there are no remaining consumers.
+
+commit c96bac0950eda6e707455b0c1ee29c1d87daf727
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jan 29 15:49:30 2009 -0800
+
+ intel: replace custom metaops clear with generic.
+
+ No real-world impact on performance seen. Even glxgears seems to be, if
+ anything, happier.
+
+commit a2416e3d7ecb2fcf18d93a08bc3cc3639ed97b39
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Feb 2 14:42:04 2009 -0800
+
+ r300, amd: Oops, a couple more API changes.
+
+ Somehow I forgot to commit these.
+
+commit dd1c68f15123a889a3ce9d2afe724e272d163e32
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Jan 30 13:23:12 2009 -0800
+
+ dri2: Avoid round-tripping on DRI2GetBuffers for the same set of buffers.
+
+ We only wanted to request when asked for the same set of buffers when a resize
+ has happened. We can just watch the protocol stream for a ConfigureNotify
+ and flag to do it then.
+
+ This is about a 5% win from doing two glViewport()s per frame in openarena.
+
+commit df73c964d85d2f44d8c62558b5752b2f4443763f
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Feb 2 15:37:58 2009 +0000
+
+ xlib: Get conditional compilation of drivers working again.
+
+commit f0ad6b6144bb416bc22ddccca0be4e614131a2b3
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Feb 2 15:32:31 2009 +0000
+
+ gdi: Update for wgl st reorg.
+
+commit 859db22527d796d186d3cdf83d503669472863cc
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Mon Feb 2 15:49:33 2009 +0100
+
+ scons: Fixups for the introduction of the xlib state_tracker.
+
+ Not quite working yet; glxinfo complains about glXChooseVisual being undefined.
+
+commit 92ced46eaf1f389108ed8d3d788498d799f0b385
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Feb 2 07:48:10 2009 -0700
+
+ mesa: move code after decls. Fixes Window build failure.
+
+commit be0a6c3598a5a18a5a605b155bae5c986d3fc3b3
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Mon Feb 2 14:18:50 2009 +0100
+
+ gallium: Stop relinking drivers and aux libraries
+
+commit b608d64243f87677b36628e7923dde6a66a722c3
+Merge: e4d1757 5580105
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Feb 2 12:18:34 2009 +0000
+
+ Merge commit 'origin/gallium-0.2' into gallium-0.2
+
+commit e4d1757f81323636e99abc5fff411d42e19e901a
+Merge: 59edbc7 a38b821
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Feb 2 12:17:01 2009 +0000
+
+ Merge branch 'gallium-wgl-rework' into gallium-0.2
+
+ Conflicts:
+
+ src/gallium/state_trackers/wgl/shared/stw_public.h
+
+commit 558010527bb6a2016c19c2fb9f4bb0b9df670e1b
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Feb 1 14:42:40 2009 +0000
+
+ wgl: Only export the same symbols as Microsoft's opengl32.dll.
+
+ Plus the ICD entrypoints.
+
+commit ffc5e9a422da5b3eaadc57995afcbc483739f426
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Feb 2 00:18:25 2009 -0800
+
+ amd: Fix build errors from rebase.
+
+commit ce6710e369d3b5c512ba8b315efc863fd41de734
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun Feb 1 23:58:16 2009 -0800
+
+ r300: Clean up after rebase.
+
+ Fix a couple struct members, clear up a few texture lines.
+
+commit 38f610e5360a2beb46f92e75942745cfbfbac22a
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun Feb 1 23:43:30 2009 -0800
+
+ r300: Add u_simple_screen support.
+
+commit e6e6b493b6123df675d5222b0e78087a370aea01
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Jan 30 02:17:48 2009 -0800
+
+ r300: Add more rs_state, fix indents on dsa_state.
+
+commit 70b508bffba723b58817e375447c1695d9d5602b
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Jan 30 01:24:03 2009 -0800
+
+ r300: Split rs_state emit into its own function.
+
+commit 7ccc9a92ce83d5e38549a6f6c5f22b358a90e578
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Jan 29 15:53:32 2009 -0800
+
+ amd: Add AMD_SOFTPIPE environment option.
+
+ If set, AMD_SOFTPIPE will make amd switch to softpipe.
+
+commit 8c8bdcde6d9eb1cda7bf268cd75ca7676e220075
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Jan 29 15:50:46 2009 -0800
+
+ r300: Add line stipple state to rs_state.
+
+commit e14a10691e1a0ca6b453faf705f94494113962de
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Jan 29 13:23:11 2009 -0800
+
+ r300: Add cleaned-up clear fallback, sort more regs.
+
+commit 09b107058d11ac2362ea296556b68331ff04f193
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Jan 29 12:27:00 2009 -0800
+
+ r300: Try to fix up RS a bit more.
+
+commit 0c9d2bbb1296e7b5c812ce04f79aff2d8308907c
+Author: Joakim Sindholt <bacn@zhasha.com>
+Date: Thu Jan 29 20:24:34 2009 +0100
+
+ r300: set up r5xx fragment shader; clear still broken
+
+commit c199f330322921e01c8c30e3ea69a2a5291ae8ee
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Jan 28 21:33:35 2009 -0800
+
+ r300: Unbreak emit, fix up a bunch of little things.
+
+commit f0fce46a48a1f0547a1e50ad54696c4b660c8dce
+Author: Joakim Sindholt <bacn@zhasha.com>
+Date: Thu Jan 29 00:12:32 2009 +0100
+
+ r300: attempt at trivial/clear on r5xx
+
+commit 00f96d054d782fd0fa7b103b857fb19d3e4a1472
+Author: Joakim Sindholt <bacn@zhasha.com>
+Date: Wed Jan 28 14:53:39 2009 +0100
+
+ r300: name registers for human readability
+
+ Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
+
+commit 588d8f3befa007e03ffb124033e6879330ad9614
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Jan 28 03:06:08 2009 -0800
+
+ r300: Fix a few more registers.
+
+commit 84ec4d6bedf33bf03ff7a778632eef7b209944cb
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Jan 28 02:57:08 2009 -0800
+
+ Ack, forgot to update the index again.
+
+commit 80dc1801409f9913cc37b8fc8e68c692bc8a22ca
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Jan 28 02:51:51 2009 -0800
+
+ r300: A handful of thingys.
+
+commit f6add70ef889b609a114baf8f6bcb43413caa702
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Jan 28 02:40:18 2009 -0800
+
+ r300: Fix small r300_reg typo.
+
+commit 3f1bc7ed3285de255d0a76f1ed3e439f3b668d9b
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Jan 27 18:09:14 2009 -0800
+
+ r300: Moar RS cleanup.
+
+ How could I possibly miss these?
+
+commit 9814fca71897a11f635945224105eb40c021d787
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Jan 27 17:56:44 2009 -0800
+
+ r300: Cleanup first part of RS block.
+
+ Working towards r500-ability.
+
+commit 962d2e678f4da6ffef4f21f2fa9b062747bfbb85
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Jan 27 15:12:01 2009 -0800
+
+ r300: Clean up PVS upload emits.
+
+commit 2e635ef563e2bff50e7a2af4f505bbd066865723
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Jan 27 04:48:19 2009 -0800
+
+ r300: Add dsa state emit.
+
+ Seeing a pattern yet?
+
+commit bea0c5812bd2795b514725d2a3788add3dc209af
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Jan 27 04:04:57 2009 -0800
+
+ r300: Add blend color state emit.
+
+ Slow and steady wins the race. Or something like that.
+
+commit 2cb90c8e805d010ba4594264dd9edbbb7f95513a
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Jan 27 04:03:38 2009 -0800
+
+ r300: Count BEGIN_CS, END_CS, warn if count is off.
+
+commit f1ba451bcc7764fd2b92fc8408f6b52c1d670b1f
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Jan 27 03:40:46 2009 -0800
+
+ r300: Set up blend state emit, clean up blend registers.
+
+ Also add at least one missing register to r300_reg.
+
+commit 2c2f819a1de0fc29866fdf90cce4550b0d2a0bad
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Jan 26 10:26:41 2009 -0800
+
+ r300: Add r300_flush.
+
+ Haha, I always do this.
+
+commit 3e3122467f1e9f6dde77762d1a35a56f89fb25ce
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Jan 26 02:18:56 2009 -0800
+
+ r300: Deobfuscate a few registers, fix inaccurate variable names.
+
+ It's not "pipes", it's floating-point vertex processors. Completely different.
+
+commit 29a4f5493529042d1068a7d35da1e7f542474503
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun Jan 25 21:35:26 2009 -0800
+
+ r300: Working trivial/clear for RV410.
+
+ This might work for other people too.
+
+commit 412cf4d38be628200982208b7f93bb17530bb6db
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun Jan 25 16:29:02 2009 -0800
+
+ BROKEN
+
+ This commit is only to protect against data loss, so please skip it when
+ bisecting. Thanks.
+
+commit f40e6988bdbdc89a7753d5a28323757e58f3e01f
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Jan 24 06:21:00 2009 -0800
+
+ Rebased to gallium-0.2, Jan 24 2009.
+
+commit 188f61d43ae82c63d557d25282e349926321e3d0
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Jan 24 05:44:01 2009 -0800
+
+ r300: Hook up clear, set it to fallback.
+
+commit 57b062f77551f0111fd210a2d8dd44be6acfc818
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Jan 24 04:11:03 2009 -0800
+
+ r300: Make format names legible.
+
+commit f045988ee101fbef77f280f37f56967e6a95c5f2
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Jan 24 04:08:33 2009 -0800
+
+ r300: Add more capabilities.
+
+commit f2a7d4f2e8e890e69e1dfa9067db4e90df63989f
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Jan 24 04:03:27 2009 -0800
+
+ r300: Newlines, dammit!
+
+commit 161f4068aa5f8b556d0c00c3e31192b3736aada5
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Jan 24 04:03:11 2009 -0800
+
+ r300: More state setters.
+
+commit 902b1be0ea2a7fea27cea26915db5977f9a8f76c
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Jan 24 03:34:17 2009 -0800
+
+ r300: Add some useful debugging information; remove a couple compile warnings.
+
+ Deck chairs on the Titanic.
+
+commit e54732eb3db8452a99fcc2ad68fb644cecba6a20
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Jan 24 02:12:55 2009 -0800
+
+ r300: Remove radeon_reg.
+
+ Wonder why this was ever committed...
+
+commit 1aa2ecf3533154337947dbac2ace54fadf031692
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Jan 24 02:03:35 2009 -0800
+
+ r300: Put r300_blit to bed.
+
+ Not going to be using the blitter. Period.
+
+commit 7d3d3c75cc1bade8eeb7cbbabd290e2b30dc3100
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Jan 24 01:49:57 2009 -0800
+
+ r300: Plan for the next state setters.
+
+commit 1a503019d73701ed311b15107f314bc84968bdb7
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Jan 24 01:32:14 2009 -0800
+
+ r300: Moar state handlers.
+
+ Ah, my code's so bad. It's amazing.
+
+commit 1a5eea0c1e9ce6162ed6b07c337bffe62cb3c221
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Jan 23 17:01:04 2009 -0800
+
+ r300: Finish basic state setup.
+
+ I have successfully fooled glxinfo into believing that I am a competent
+ writer of code. Next step is to trick trivial/clear.
+
+commit 02c6e523305de017b49d6851034fcea6c568e94c
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Jan 23 16:34:00 2009 -0800
+
+ amd: Fix uninitialized pipe_screen.
+
+commit 5f95f0538e5a354431cc3bbed662c4983e6d0614
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Jan 23 16:00:33 2009 -0800
+
+ amd: Fix missing break statement.
+
+commit 45cb94217ebd55a4d38264ce83806062ba25a478
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Jan 23 15:08:27 2009 -0800
+
+ r300: Add fragment shader stubs.
+
+ Not looking forward to filling these out at all.
+
+commit 471129c7a14fb585ede198970e59270c4afa5310
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Jan 23 03:09:15 2009 -0800
+
+ r300: Add more pipe_texture stuff.
+
+ This is enough to sate glxinfo, for now.
+
+commit 8e11e0121466efa34cfc14d299b43455a30b198c
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Jan 23 02:46:52 2009 -0800
+
+ r300: Add initial pipe_texture handling.
+
+ Still primitive and needing to be fleshed out, but it's a start.
+
+commit 2f37387786f1d0d6beded5afc29d36f744f1c948
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Jan 22 21:47:05 2009 -0800
+
+ r300: Add texture sampler state.
+
+ Easy compared to the actual texture handling code.
+
+commit 0648bc9f65f1c6700b442e57ac0e82404fb60c2d
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Jan 22 16:51:34 2009 -0800
+
+ r300: Add texture stubs.
+
+commit ecb7f29f74c8f7456302267fe31b1de4bcc103c5
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Jan 22 13:34:21 2009 -0800
+
+ amd/r300: Wire up GETPARAM ioctls.
+
+ Whoo, stuff is starting to look cleaner and cleaner.
+
+commit 90a96cb2addf48b3b48c039a8dc6de9e53bfb6df
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Jan 22 03:45:14 2009 -0800
+
+ r300: Add sampler state skeleton.
+
+ Heh, serendipitous sibilance. Anyway, need to flesh this out.
+
+commit 0ff7cb7c89f0c9ac4e363296e53eada008717252
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Jan 21 23:48:47 2009 -0800
+
+ r300: Add num_vert_pipes (and remove busted num_pipes.)
+
+commit 7d63ff93cbf0f342c3736f4c8fae75157a62f0ea
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Jan 21 23:12:40 2009 -0800
+
+ r300: Unbreak build, finish clear state.
+
+ Completely untested, of course.
+
+commit 22877265f4fdf66c75df391d6de95bd5c1584ea3
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Jan 21 02:21:09 2009 -0800
+
+ [BROKEN] r300: Add initial clear/fill code.
+
+ Copied from mesa and still broken. Gimme a few to clean it up.
+
+commit 6885560de54db26683eb813756e09fa3822c3492
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Jan 20 15:42:11 2009 -0800
+
+ r300: Fix constness, compile warnings, indentation in r300_state.
+
+commit 8d1f386dcbdabaa4edf0301267f881e3831ad18a
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Jan 20 15:38:43 2009 -0800
+
+ r300: Set floating-point params.
+
+ Note: I took those numbers from classic Mesa. I know that points are routinely
+ used to clear buffers, but line width is probably wrong.
+
+commit 54d137e079b9420e8aca55f37307ece45e9b71d8
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Jan 20 15:27:46 2009 -0800
+
+ r300: Fix indenting.
+
+commit 2b9ecaa6dd7d4282f1f8796d151bdda0390ab51f
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Jan 20 15:26:41 2009 -0800
+
+ r300: Fix missing free().
+
+commit 502ddfcd57ff7ed1f2dac9171f51c45893ea3d92
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Jan 20 01:49:34 2009 -0800
+
+ r300: Add path for pci_id in winsys.
+
+ Needs to be hooked up to the getparam from the kernel.
+
+commit 43f20357c8db2c90ae1f8360dbc2c71762a0478e
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Jan 20 01:11:08 2009 -0800
+
+ r300: Use chip caps for something.
+
+ Step two: Integration. Yay?
+
+ Time to stop messing around with this and actually go do things.
+
+commit 538a8149af3fc773a3d1e15d113cb4e3fadc57cd
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Jan 20 00:31:43 2009 -0800
+
+ r300: Add chipset sorting and capabilities.
+
+ Part one: Capabilities from classic Mesa.
+
+ Damn, if only we didn't have so many fucking Radeons!
+
+commit 2e09845277ce75fa7d29020c5b119ad749522592
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Jan 19 21:03:24 2009 -0800
+
+ r300: Various flags, small state tracking things.
+
+ Getting these out of the way so more stuff can be put in.
+
+commit 7961974fc28257b293961d35f15c0ce7a85f2669
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Jan 17 03:20:48 2009 -0800
+
+ r300: Add a basic dirty state emit.
+
+ I feel strangely unproductive. Must be the cold.
+
+commit 4ea17301c60a805394b8938174d8f436dc3deb6d
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Jan 17 02:27:33 2009 -0800
+
+ r300: Remove r300_state.h
+
+commit f3b53a5cb6a04b86ccd75cc38c73c8e3dd117894
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Jan 17 02:25:52 2009 -0800
+
+ r300: Add blend color.
+
+commit a08a830fd3c22bdbad1ee840e4e56302152375f1
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Jan 17 01:41:52 2009 -0800
+
+ r300: Add more state.
+
+ pipe_rasterizer_state is big, and I'm still processing it.
+
+ Todo:
+ - LOL EVERYTHING
+ - Moar cough syrup.
+ - Even moar cough syrup.
+
+commit 4ce81294943177eed99d7418f1a2f88573b578fe
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Jan 14 12:51:47 2009 -0800
+
+ r300: Fix errant inlines.
+
+ This should unbreak dynamic loading.
+
+commit 21a5a133fff3ab1a068a11a32144dcb63f1d5020
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Jan 14 05:00:22 2009 -0800
+
+ r300: Hook up state functions.
+
+ Haha, should not have attempted the scissors.
+
+commit bbb1c6f6298fcb1125a8170f22646f326b0ca74c
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Jan 14 04:37:36 2009 -0800
+
+ r300: Add DSA state.
+
+ That's it for now. Just the "easy" stuff.
+
+ Todo:
+ - Rasterizer state, which is a lot more than just the RS.
+ - Miscellaneous state which doesn't currently belong to any state object.
+ - Shader assemblers?
+ - Fix dynamic loading bugs.
+
+commit 28bb7f3206f023a9d3cfa020da344a57118a2efb
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed Jan 14 00:49:48 2009 -0800
+
+ r300: Add scissor state, fix build.
+
+commit 74288078eab1971cc6ce3ae00fa55eb917b5826a
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Jan 13 19:11:19 2009 -0800
+
+ r300: Add blend state.
+
+ Also switched to r300_reg instead of radeon_reg. Yay?
+
+commit 432ab001d042b816b5892398064e5735d0293955
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Jan 13 15:21:29 2009 -0800
+
+ r300, amd: Add the ability to flush the CS.
+
+ This is probably important, yeah?
+
+commit fbeeb6675733f5b2da36d40b0142dadf8cc953b4
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Jan 12 01:40:50 2009 -0800
+
+ r300, amd: Make everything build. (Not necessarily work, mind you.)
+
+ Lots of structural work, especially in getting the two parts to talk nicely.
+
+ Todo:
+ - Get damn blitter working.
+ - Add CS flush.
+ - Reverse order of above two items.
+
+commit 0c59004fe3cc9f691c73da2b4a9321c7682410f4
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Jan 9 22:39:36 2009 -0800
+
+ And unbreak traditional build.
+
+ s/drm-radeon/drm_radeon/
+
+commit 4aaaecbfa6fa810899ef04de44f9f79ec4d8134f
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Jan 9 21:50:56 2009 -0800
+
+ A bit of r300 cleanup.
+
+commit e9b08e7373c00306bce398ea8d34f42e54f98c6d
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Jan 9 21:28:23 2009 -0800
+
+ Make r300 and amd build in scons.
+
+commit adb74f5c5262d22b3c60a555431c29d36e3170f7
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Jan 9 18:57:02 2009 -0800
+
+ r300: Hook up to winsys, add missing header.
+
+ In theory it works, which of course means that it doesn't.
+
+commit 78b599fb4cac469f4208ae3057b2a33e3e9913c6
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Jan 9 14:54:08 2009 -0800
+
+ gallium-r300: Add primitive CS.
+
+ Enough to get us up and running, I suppose.
+ This needs to be pushed down into winsys!
+
+commit ad14271425185c3535c389ca5bcd2d30c3368c32
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Jan 9 13:08:19 2009 -0800
+
+ gallium-r300: Max LOD bias is 16.0.
+
+commit 32273c01bd9291dcc23ca2635b848586458a3c81
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Jan 9 06:05:36 2009 -0800
+
+ gallium-r300: Set right ROP for solid fills.
+
+ Thanks to MrCooper for pointing me in the right direction.
+
+commit afe2de0a235f8e4312ecbb7275640502098a8a81
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Jan 9 05:11:19 2009 -0800
+
+ gallium-r300: Fit it all together now.
+
+ In theory, it could work, but there's still some very big gaps.
+ Anything marked with XXX should be taken care of first, probably.
+
+commit b1776eb14471e7a4d09d3c8a73f02b19b106883b
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Jan 9 04:48:30 2009 -0800
+
+ gallium-r300: Add r300_surface.
+
+ Todo:
+ - Hook up surface functions.
+ - Take it for a spin and watch it crash 'n' burn.
+
+commit d6cdb9db259d617ee21f1881c945e2ebaf6693b9
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Jan 9 04:34:56 2009 -0800
+
+ gallium-r300: Add r300_blit.
+
+ Count the XXXs and weep?
+
+commit fb11fb897c2dc8cde64c84962d40e5fa6f384307
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Jan 9 02:32:53 2009 -0800
+
+ gallium-r300: Add copyrights, place (broken) CS.
+
+ Todo:
+ - Fill blits.
+ - Less suck.
+ - Ask glisse about how to get winsys+pipe talking right,
+ so stuff like the CS can be set up right.
+
+commit 62363723001a63b86b7526d6528c19996a44463b
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Jan 8 16:33:29 2009 -0800
+
+ gallium-r300: Add r300_clear.
+
+ Todo:
+ - Less suckage.
+ - Re-read bo-cs stuff, figure out how the hell to emit state.
+ - Blits.
+
+commit 3b37cb49b821dd0c59fd5361ada6c0df9ac07db8
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Jan 8 15:47:23 2009 -0800
+
+ gallium-r300: Make it build.
+
+ Still todo:
+ - Sort out winsys.
+ - Less suckage.
+
+commit 3e09a07a265d5ee75b110954d160a73d83793c40
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Jan 8 14:52:47 2009 -0800
+
+ gallium-r300: Look less like i915.
+
+ Todo:
+ - Figure out how much code goes in winsys.
+ - Make it build.
+ - Make it suck less.
+
+commit aa96874c7abffa3fa9eef47ea36ab473ad2d2272
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu Jan 8 14:41:29 2009 -0800
+
+ gallium-r300: Add some headers.
+
+ Oh yeah, we're cookin' now!
+
+commit da1928d4a6d48e915960798015ed1f0c1fa95f0c
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Jan 5 23:55:00 2009 -0800
+
+ gallium-r300: Initial commit.
+
+ Or should it be r300-gallium? Meh, whatever.
+
+commit b3cf2af13a5d053ce3ff0c4f3715123d34bfcc32
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Thu Dec 18 18:29:51 2008 +0100
+
+ amd: initial winsys
+
+commit 14f79d46a56797924550dfdb3846c8c589637319
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Thu Dec 18 13:36:07 2008 +0100
+
+ gallium autoconf/automake
+
+commit 75762a8219d7db0f7990eab73f953a6a4f9ee130
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Feb 2 12:26:22 2009 +1000
+
+ radeon: this code forgot to add dPriv x/y back to spans
+
+commit f4dfafd50acdff994b16946773cbfbefdc172f3e
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Feb 2 12:26:04 2009 +1000
+
+ r300: rename validate textures to validate buffers
+
+commit 59edbc70cd1042a884e7d153ba547c2f7f87318d
+Merge: 4035e0f 1c90cdd
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Mon Feb 2 02:13:07 2009 +0100
+
+ Merge branch 'gallium-0.2' of git+ssh://marcheu@git.freedesktop.org/git/mesa/mesa into gallium-0.2
+
+commit 4035e0f8989754ee7d31212e69d6461f1bbff008
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Mon Feb 2 02:12:46 2009 +0100
+
+ nv04: some old changes I had lying around.
+
+commit 1c90cdd878e9d10e1f6ac619d5d0c3f5151fcb2b
+Merge: 9aa73cf 64e525e
+Author: Zack Rusin <zackr@vmware.com>
+Date: Sun Feb 1 18:48:16 2009 -0500
+
+ Merge branch 'gallium-winsys-private' into gallium-0.2
+
+commit 5b5ddfb89c74ecb527d035e77aaf999cf0fb86b5
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Sun Feb 1 11:54:42 2009 -0800
+
+ glxgears: No, really. Fix the dyslexia.
+
+commit 9aa73cfae84c7710df97ce182d32bea8d3423ab7
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Feb 1 12:00:07 2009 +0000
+
+ progs: Get more samples building on windows.
+
+commit 64e525eab9e7c60ee18bc75e6f269783533d5edd
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Feb 1 10:31:25 2009 +0000
+
+ util: List new file in sconscript.
+
+commit 4ad190c96f2ad4364537e700dcb381c9dceec35c
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Feb 1 10:27:54 2009 +0000
+
+ pipebuffer: Drop (most of) pipe winsys stuff.
+
+commit 7062b7c7cb32c3c96bb87b296d9df0ecae7e7c83
+Author: Pekka Paalanen <pq@iki.fi>
+Date: Sat Jan 31 23:32:32 2009 +0200
+
+ nv20: send buffer handles on hw state emit
+
+ Color and Z buffer offsets were emitted here, now also the buffer
+ handles are emitted so they target the correct memory.
+
+ Signed-off-by: Pekka Paalanen <pq@iki.fi>
+
+commit 767f72c1087ff253288c3e62a4f0d8b4d8257c9c
+Author: Pekka Paalanen <pq@iki.fi>
+Date: Sat Jan 31 23:28:38 2009 +0200
+
+ nv20: disable depth writes in hw init
+
+ Probably not necessary, but just in case. Depth registers point to the
+ color buffer, when there is no depth buffer.
+
+ Signed-off-by: Pekka Paalanen <pq@iki.fi>
+
+commit 9116f9408ed373109cbf7d25998692846f2e2ef3
+Author: Pekka Paalanen <pq@iki.fi>
+Date: Sat Jan 31 14:39:08 2009 +0200
+
+ nv20: Z-mapping parameters
+
+ Based on my renouveau dump, adjust initial hw state related to Z-mapping,
+ and add one unknown depth reg into depth/stencil/alpha emission.
+
+ Now trivial/tri-z on nv20 looks identical to swrast rendered one.
+
+ Signed-off-by: Pekka Paalanen <pq@iki.fi>
+
+commit b5e2ab63e8e3c4670c51453470fc9183343a22bf
+Author: Pekka Paalanen <pq@iki.fi>
+Date: Sat Jan 31 14:36:20 2009 +0200
+
+ nv20: draw_elements needs to flush
+
+ nv20_draw_elements() uses the draw module, and draw_flush() needs to be
+ called to actually emit the vertices immediately.
+
+ Signed-off-by: Pekka Paalanen <pq@iki.fi>
+
+commit 5e96feed379c89e71834f372af6ba92098874d63
+Author: Pekka Paalanen <pq@iki.fi>
+Date: Sat Jan 31 14:34:15 2009 +0200
+
+ nv20: set surface status in clear()
+
+ Other nvXX drivers seem to do this, so I do it too.
+
+ Signed-off-by: Pekka Paalanen <pq@iki.fi>
+
+commit 969c728095e9a18036989f85610390c55ae61d5e
+Author: Zack Rusin <zackr@vmware.com>
+Date: Sat Jan 31 15:14:38 2009 -0500
+
+ gallium: initialize simple screen in drivers
+
+commit 24ff169486e315671c09cd8a57a311a935ccfff5
+Author: Eric Anholt <eric@anholt.net>
+Date: Sat Jan 31 10:32:34 2009 -0800
+
+ intel: Correct FBconfig color masks with DRI2. Fail at copy and paste.
+
+ This still leaves us with a broken depth 32 visual, but now it's the server's
+ visual setup that's at fault.
+
+commit 1265e7267e086476d9bae560345fd80f064adfc5
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Jan 30 15:56:01 2009 -0800
+
+ Build dri.pc during the build rather than the install process.
+
+ In a normal build system this is generated by configure.
+
+commit 0001deef1108b77cf4879fff4647401fb68c421e
+Author: Brian <brianp@vmware.com>
+Date: Sat Jan 31 12:10:41 2009 -0700
+
+ mesa: more display list cleanups
+
+ Remove some unneeded fields. Rename some function parameters.
+
+commit 446abc2799a143c32c4c48472f3f964f9288a623
+Author: Brian <brianp@vmware.com>
+Date: Sat Jan 31 11:57:22 2009 -0700
+
+ mesa: display list clean-ups
+
+ Rename some structs and fields to be more consistant with the rest of mesa.
+
+commit 7721bf267b64ef28376f07daae7713814e91af35
+Author: Brian <brianp@vmware.com>
+Date: Sat Jan 31 11:39:28 2009 -0700
+
+ mesa: minor comments, clean-ups
+
+commit c6423132ffe2e0b5c6bccc15822c50a60b08a8f8
+Author: Brian <brianp@vmware.com>
+Date: Sat Jan 31 11:22:16 2009 -0700
+
+ mesa: remove remnant of GL_SGIX_depth_texture
+
+commit 954dfba12986f578f2d8461818f9e9ac1f8f2b41
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Jan 30 21:51:32 2009 -0800
+
+ i965: bump texture limit to 4kx4k
+
+ Rendering and textures are limited to 8kx8k, but mesa limits things to
+ 4kx4k, and magic guard band stuff may break on 8kx8k drawing. This is safe
+ though, and makes compiz work on bigger screens.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 80684649a6d01f0e0517b14f61cbcad6fa101929
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 30 15:51:58 2009 -0700
+
+ mesa: simplify the _mesa_get_proxy_tex_image() function
+
+commit ea4b183b8c3730ec2c6b5152cad1a68889634487
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 30 15:50:43 2009 -0700
+
+ mesa: fix incorrect call to clear_teximage_fields() in _mesa_TexImage2D()
+
+ Fixes failed assertion / segfault for particular proxy texture tests.
+
+commit 7f0b6a779601d00ab86f794e174d0b4c0ba08c42
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 30 09:58:02 2009 -0700
+
+ intel: more debug info
+
+commit 5a225dd81295226c63fd57468eadf9518ca9d0e0
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 30 09:50:26 2009 -0700
+
+ i965: formatting, comments, whitespace clean-ups
+
+commit 2d5b86be25a7ccb729e746aa5e1bdd537d76df68
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 29 16:05:39 2009 -0700
+
+ swrast: replace RENDER_START/FINISH macros with inline functions
+
+commit 81ca8b93f212d1946c70660041ce97d98f352608
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 29 15:56:19 2009 -0700
+
+ swrast: replace macro with inline function
+
+commit bd944ef78397fd96dc2b239f542066643b06274a
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 29 15:40:43 2009 -0700
+
+ intel: remove unused RenderToTexture field
+
+commit 4b37b1129ea7fed915d353c39d4b74dbdbb7f0a5
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 29 15:40:21 2009 -0700
+
+ i915: updated render to texture/fbo test
+
+commit 26c9b1534388876797168cfece507fa7b9e8665a
+Author: Zack Rusin <zackr@vmware.com>
+Date: Fri Jan 30 17:59:10 2009 -0500
+
+ gallium: add a convience wrapper for simple screens
+
+ forwards screen calls to the winsys
+
+commit 9d6880ec8d4c13540452a8208ca69a58a3f8459d
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Fri Jan 30 14:55:42 2009 -0800
+
+ Fix dyslexia.
+
+commit 58b9cd411fd81e257364efb3f2738bd1ac556e34
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Fri Jan 30 14:43:03 2009 -0800
+
+ glxgears: Log a message if synched to vblank
+
+ Tries to use either GLX_MESA_swap_control or GLX_SGI_video_sync to
+ detect whether the display is synchronized to the vertical blank. If
+ it detects this, a message will be printed. HOPEFULLY this will
+ prevent some of the bug reports such as "glxgears only gets 59.7fps.
+ What's wrong with my driver?"
+
+commit 7c48719a5f22648302bbd0026681770d8cc43914
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 30 15:34:55 2009 -0700
+
+ mesa: add missing _mesa_reference_texobj() calls for texture array targets
+
+commit 88e0b92a747d9b14885010029133fa1221696e5e
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 30 15:24:13 2009 -0700
+
+ mesa: remove incorrect refcounting adjustment in adjust_buffer_object_ref_counts()
+
+ Fixes bug 19835. However, a more elaborate fix should be implemented someday
+ which uses proper reference counting for gl_array_object.
+
+commit 8d0b689a56bd0a2d9d183fad769a9db988eb0486
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Jan 30 22:04:35 2009 +0000
+
+ stw: Remove pipe_winsys references.
+
+commit ecc0e1ec2e5f8283ccae39e3fd18528fa9c3c95b
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Jan 30 22:04:15 2009 +0000
+
+ gallium: Don't ask winsys name -- let pipe screen do that if it wants.
+
+ Allows to leave screen->winsys NULL.
+
+commit b5d96a3e7f02314cbdc3897c4b89137f1e13bb0f
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Jan 30 21:51:59 2009 +0000
+
+ stw: Don't use the winsys.
+
+commit 67ee22c89f42146e7befb2fdd39bdd68a5258c30
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Jan 30 11:24:04 2009 -0800
+
+ intel: If we're doing a depth clear with tris, do color with it.
+
+ This is a 10% win on the ever-important glxgears not-a-benchmark.
+
+commit ac0dfbdf0f5e5dea08ec717ae8c4e1e141b15c05
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jan 29 16:45:08 2009 -0800
+
+ i915: Only call CalcViewport from DrawBuffers instead of Viewport.
+
+ This saves an inadvertent round-trip to the X Server on DrawBuffers, which was
+ hurting some metaops.
+
+commit 3ee21f30cda27e0ee1357f930163526622ba9434
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jan 29 14:57:49 2009 -0800
+
+ intel: Expose more FBconfigs in the 3D driver.
+
+ We can support any combination of (a8r8g8b8, x8r8g8b8, r5g6b5) x (z0,z24,z24s8)
+ on either class of chipsets. The only restriction is no mixing bpp when also
+ mixing tiling. This shouldn't be occurring currently.
+
+commit bc968e515dff20fc3cbcd01066886ba66f707a1b
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Fri Jan 30 13:25:48 2009 -0800
+
+ Remove stale symlinks to intel/intel_depthstencil.c
+
+commit adfbba476db1fc55006efb748656ebb1a481d143
+Author: Zack Rusin <zackr@vmware.com>
+Date: Fri Jan 30 15:56:00 2009 -0500
+
+ gallium: make p_winsys internal
+
+ move it to pipe/internal/p_winsys_screen.h and start converting
+ the state trackers to the screen usage
+
+commit a3d223f0d204670696338d61fe4870ff2a41f210
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Fri Jan 30 10:52:09 2009 -0800
+
+ autoconf: Use include-fixed directory with makedepend on newer GCC
+
+ On newer GCC releases, the compiler's headers have been split between
+ the include and include-fixed directories. Add both if the directories
+ exist.
+
+ Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
+ Signed-off-by: Julien Cristau <jcristau@debian.org>
+
+commit 3cfaccf92a2e0f5ea395a2c95c323a8b762fc156
+Merge: 0c75e59 462f094
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Jan 30 17:01:23 2009 +0000
+
+ Merge branch 'gallium-0.2' into gallium-winsys-private
+
+commit f68a61d88398fe8eb3eb41b929dcb4483354a81e
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sat Jan 31 02:00:12 2009 +1000
+
+ r200/r300: swtcl fixups to use old dma buffers on top of BOs
+
+commit e45213d89bf26c68c9f4c9074eaec9ab3311de7d
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sat Jan 31 01:59:57 2009 +1000
+
+ r200/r300: add aperture space checks
+
+commit 462f09487efac27173c231b09861b4f5316eb11d
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Jan 30 14:59:32 2009 +0000
+
+ util: Define ffs for MinGW.
+
+commit 0c75e59bfd0944782ee767c964d2dd2fdf34f6ea
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Jan 30 14:32:11 2009 +0000
+
+ gdi: Update for winsys interface changes.
+
+commit 46edad7d29b6f65de46b9c9da6f66eb0b12e3f8c
+Merge: b3028ac 7996b3e
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Jan 30 14:07:12 2009 +0000
+
+ Merge branch 'gallium-0.2' into gallium-winsys-private
+
+commit 7996b3e034f92eeceed3f3e7c01eb1f829d98b18
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Jan 30 14:06:25 2009 +0000
+
+ pipebuffer: Consider 0 as no alignment needed.
+
+commit 08bb7eedfbba839676ab63fb20dd22e4f27722cb
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Jan 29 23:19:11 2009 +1000
+
+ r200: fix swtcl - slow but works
+
+commit b3028acd98e2b7fd09344f9005c5b20bba91262c
+Author: Zack Rusin <zackr@vmware.com>
+Date: Thu Jan 29 21:43:15 2009 -0500
+
+ gallium: give the screen priority when it comes to buffer allocations
+
+ allows the driver to overwrite buffer allocation, first step on the way
+ to making winsys interface internal to the drivers. state trackers and
+ the code above it will go through the screen
+
+commit 1f9fff28a441360077f2098965bb358c366debdc
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Fri Jan 30 02:24:47 2009 +0100
+
+ gallium: Don't build egl state_tracker
+
+commit 0ac83a0ebb009eb8e293eafd0be2377856fab1da
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Fri Jan 30 01:57:07 2009 +0100
+
+ egl: Don't fill shown screen
+
+commit 83a2a89663335b6a9203bf5d359659bf83a16dac
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Fri Jan 30 01:55:09 2009 +0100
+
+ intel: Remove debug print
+
+commit 48f7d86b7cbd9e926d9c2fba6e355573a546f442
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Fri Jan 30 01:53:50 2009 +0100
+
+ i915: Fix surface operations
+
+commit 1d4f3ccb210874ead3cb75c2a0b1f1945c892acd
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 29 15:07:32 2009 -0700
+
+ intel: remove unused intel_depthstencil.[ch]
+
+commit d332a74e772eb60cf3cef33cafad997436fd9e93
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 29 15:06:55 2009 -0700
+
+ intel: remove unused #includes
+
+commit 5fec84ad0446d4d6d842f5cf740f9787678113be
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 29 15:01:09 2009 -0700
+
+ mesa: allow glFramebufferTexture1/2/3D(target = GL_READ/DRAW_FRAMEBUFFER)
+
+ This is part of GL_EXT_framebuffer_blit and GL_ARB_framebuffer_obbject.
+
+commit 5c38801f8e36fdb4a16ed33c26454b98f3519465
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 29 14:57:31 2009 -0700
+
+ intel: formatting clean-ups
+
+commit ba3aadf354e197ab56adddc99c3b3335d7e6863e
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 29 14:57:16 2009 -0700
+
+ intel: fix check for Y orientation in span functions.
+
+commit d3aa16d92f1eb228daaa49810e113d2aed06aefd
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 29 11:10:56 2009 -0700
+
+ i965: use bitfields in brw_sf_unit_key struct
+
+commit 818bda3d7428469d7c29ebc08c31c30a877747e1
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 29 11:07:55 2009 -0700
+
+ intel: remove unused intel_rendering_to_texture()
+
+commit ba367f68ccacf255f78ac0c8dd066e64bbb1e5c2
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 29 11:07:14 2009 -0700
+
+ i965: fix render to FBO/texture orientation bugs
+
+ Anytime we're not rendering to the default/window FBO, need to invert
+ rendering, not just when rendering to a texture. Otherwise, if a FBO
+ consists of a mix of textures and renderbuffers the up/down orientation
+ was inconsistant.
+
+ Fixes shadowtex.c bad rendering.
+
+commit 2897cee99fb877e1f3cd9a881a61418c9c31867f
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 29 09:20:18 2009 -0700
+
+ mesa: fix a render to texture FBO validation bug
+
+ When glTexImage() is called we need to re-validate any FBOs that point to
+ the texture (i.e. render-to-texture) since changing the texture's size/format
+ will effect FBO completeness.
+
+ We don't keep a list of all FBOs rendering into each texture (which would be
+ a bit messy) so we check all FBOs in existance. To optimize this, the
+ gl_texture_object->_RenderToTexture flag is used to avoid checking textures
+ that have never been used as renderbuffers. So, we only walk over all FBOs
+ (there's usually only a few) when glTexImage() modifies a RTT texture.
+
+ Fixes a bug seen in shadowtex.c when toggling packed depth/stencil mode.
+
+commit 444e98de31c5456008a4b3568373db02ddc5385f
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Nov 24 23:17:49 2008 +0900
+
+ pipebuffer: Ondemand buffer manager.
+
+ A variation of malloc buffers which get transferred to real graphics memory
+ when there is an attempt to validate them.
+
+commit e06474dbae6979177629fb6187331291ff230c65
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Nov 24 13:59:06 2008 +0900
+
+ pipebuffer: Implement proper buffer validation.
+
+commit 70661f678edcc9b6dd5005016e3355ec4546e716
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Jan 29 20:46:31 2009 +1000
+
+ WIP comit
+
+commit c9bb5cd20e5468168d54fe461c853926072fa813
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Jan 29 20:33:07 2009 +1000
+
+ r200: bring back single dma flush
+
+commit 59b183ce0fc8fd8ab73b9321e609fdb3c29bb078
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Jan 29 19:11:31 2009 +1000
+
+ radeon: remove even more common code
+
+commit 5ba92a5b0543b4ff2c7db6101029ba36cb9843fa
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Jan 29 16:47:37 2009 +1000
+
+ radeon/r200/r300: bring back old style DMA buffer on top of BOs.
+
+ this gets back a lot of the lots speed in gears on r500 at least
+
+ I also fixed the legacy bufmgr to deal when the dma space fills up
+
+commit 682ebc79d55ae6aede3369e344dbcb320be1f39f
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Jan 29 23:03:47 2009 +1000
+
+ r200: start work on userspace clear for r200
+
+commit 5fbb00a11e6c113503399c8acf06196eea64fac4
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Jan 29 23:03:34 2009 +1000
+
+ r200: unref swtcl buffer correctly
+
+commit b13746b558200862a5d7e7196555f5df38eccd5a
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Jan 29 23:03:21 2009 +1000
+
+ r300: fix some whitespace
+
+commit 474d282a1d5435e7b5de40538d65f54e32ce4713
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Jan 29 23:02:43 2009 +1000
+
+ r200: re-write state handlers for new CS mechanism
+
+commit 31a112e6e81246944bc96b8d095960dd0f96c83c
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Jan 29 23:01:41 2009 +1000
+
+ r200: avoid setting variable on kernel mm setup
+
+commit ab6edc9dce3ee0c63037c155a40d97a868c19341
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Jan 29 23:01:21 2009 +1000
+
+ radeon: add repeated register packet one
+
+commit 86e86e6cb6efbd06289fb0cc263ab168d4f77112
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Thu Jan 29 02:33:22 2009 +0100
+
+ egl: Blit to the bound frontbuffer with pipe
+
+commit 3b1b9f3cc70392bd1abb76e78a28db15bfbbbe85
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Thu Jan 29 02:32:58 2009 +0100
+
+ intel: Set render domain on read and write
+
+commit 178f991208680bea141e6b13c169ca84b703df36
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Thu Jan 29 01:34:58 2009 +0100
+
+ intel: Try forcing flushes
+
+commit e67c020ad493269bab505d47ae5a7cac1e9ddb70
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Thu Jan 29 01:33:49 2009 +0100
+
+ intel: Dump batchbuffer before sending to hw
+
+commit f1c0be75b7cd0b69c16aeccb3b7c651194e7e767
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Thu Jan 29 01:27:38 2009 +0100
+
+ intel: Change link order
+
+commit 8340a116ea346ee7f11fe150a1439e1d7bd86118
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Thu Jan 29 01:29:26 2009 +0100
+
+ i915: Don't take a context as argument for debug
+
+commit a3b89a39d94d94c5e7f9f5389f852171ad0aeb1f
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Thu Jan 29 01:30:37 2009 +0100
+
+ i915: Don't dump batchbuffer on flush in context
+
+commit e351343fdff2b217fdcf1f7d7b352f5f852d74c4
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 28 17:02:39 2009 -0700
+
+ docs: i965 fixes
+
+commit 80b37673846e9eea7917c761c8d97687a07cf964
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 28 17:01:34 2009 -0700
+
+ i965: fix bug in pass0_precalc_mov()
+
+ Previously, "in-place" swizzles such as:
+ MOV t, t.xxyx;
+ were handled incorrectly. Fixed by splitting the one loop into two loops so we
+ get all the refs before assigning them (to avoid potential clobbering).
+
+ (cherry picked from master/commit faa48915d27634a12f123eaa6e954ec79565e365)
+
+commit 477c1820a0a4b0a438e8f36ea6ac498ef53d07e1
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 28 17:01:03 2009 -0700
+
+ i965: widen per-texture bitfields for 16 texture image units
+
+ (cherry picked from master/commit f78c388b6c156cb155f089b00612f00919090a8e)
+
+commit 999fe905c91515065b8774514fdec901967c6977
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 28 17:00:23 2009 -0700
+
+ intel: check if stencil test is enabled in intel_stencil_drawpixels()
+
+ (cherry picked from master/commit 72ee0e247d799c85612c72bbd2257648e11fa583)
+
+commit 2fd9c2ebd6a7bd96af667ec7a97dae44ef51f7a3
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 28 16:55:16 2009 -0700
+
+ intel: save/restore GL matrix mode in intel_meta_set_passthrough_transform(), intel_meta_restore_transform()
+
+ (cherry picked from master, commit 723648f2ee2a8e529063c9da84e9dff9c8c6be99)
+
+commit e6df67bf66fee8683a8aa08583f9c1510106537b
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 22 10:39:05 2009 -0700
+
+ docs: fix typo
+
+commit e98ef303512a460c41d2a90455dd8e515924e0ef
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 22 10:19:39 2009 -0700
+
+ mesa: set version to 7.4 for mesa_7_4_branch
+
+commit b987fde60aa963eb2d2b4161c32b5e949a6698c9
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 22 10:18:04 2009 -0700
+
+ docs: skeleton 7.4 release notes file
+
+commit 978a6c1cfa99b32234291773b91ebcc9a85c8baf
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 22 10:14:39 2009 -0700
+
+ docs: 7.3 md5 sums
+
+commit 93cbb2c2056d52a86f84417fe8fee81b563144e4
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 22 10:14:04 2009 -0700
+
+ mesa: set version to 7.3
+
+commit 4e8d99998ff6679a321773da85df4aee31cb8d4c
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 22 09:59:04 2009 -0700
+
+ docs: set 7.3 release date
+
+commit bbcbf4f6804a098e06420736c281f353760b335c
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 22 09:58:52 2009 -0700
+
+ docs: assorted updates, link fixes
+
+commit 425c803c039735aaaeb70f1613268fd4909862dc
+Author: Ian Romanick <idr@freedesktop.org>
+Date: Tue Jan 27 23:44:18 2009 -0800
+
+ intel: Fix up some extension string issues
+
+ Move the remaining extension string enables to intel_extensions.c.
+ Make sure that GL_NV_texture_env_combine4 is not enabled on i830.
+
+commit d485ee54dd7d8e41f6c423030a445e6ac000dd7d
+Author: Ian Romanick <idr@freedesktop.org>
+Date: Tue Jan 27 19:12:24 2009 -0800
+
+ Make GLX_SGIX_pbuffer mandatory
+
+ Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
+
+commit 8aa209c766b79144db499063dd1c8482562b07bf
+Author: Ian Romanick <idr@freedesktop.org>
+Date: Tue Jan 27 19:10:43 2009 -0800
+
+ Make GL_ARB_draw_buffers mandatory
+
+ Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
+
+commit 474cda6fa912a766821d20b5b21d6eeba6ea9225
+Author: Ian Romanick <idr@freedesktop.org>
+Date: Tue Jan 27 18:16:51 2009 -0800
+
+ Make GL_{EXT,SUN}_multi_draw_arrays and GL_IBM_multimode_draw_arrays mandatory
+
+ Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
+
+commit 82b9661894315362f857192439bdcbc9db090387
+Author: Ian Romanick <idr@freedesktop.org>
+Date: Tue Jan 27 18:04:12 2009 -0800
+
+ Make GL_ARB_vertex_buffer_object mandatory
+
+ Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
+
+commit 2b77b1d62e6480f19aac1bde6f730b7da1046ce0
+Author: Ian Romanick <idr@freedesktop.org>
+Date: Tue Jan 27 17:50:45 2009 -0800
+
+ Make GL_ARB_multisample mandatory
+
+ Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
+
+commit 33fa5e4bfad8005f09ad3c9fc92c40fa863935d1
+Author: Ian Romanick <idr@freedesktop.org>
+Date: Tue Jan 27 17:36:03 2009 -0800
+
+ Make GL_ARB_texture_compression mandatory
+
+ Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
+
+commit 26da28c995557c8b913e5ccfe31b31dc32e6c735
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 28 16:49:28 2009 -0700
+
+ mesa: remove GL_SGIX_shadow, GL_SGIX_shadow_ambient and GL_SGIX_depth_texture
+
+ Everyone should be using the newer/better ARB versions of these extensions.
+
+commit e74be3f08ec023ffe7c9e79a5ab589d3a12f3a3f
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Wed Jan 28 23:40:10 2009 +0100
+
+ intel: Fix type correctly this time
+
+ Facepalm.
+
+commit b5fc2a68e8fd07773d424aade2f9d32d4c7bf607
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Wed Jan 28 23:37:23 2009 +0100
+
+ intel: Fix typo
+
+commit 72b2733287ee89916d6180becf65ff3b45d5a23a
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Wed Jan 28 23:24:42 2009 +0100
+
+ i915: Add verbose debuging
+
+ Only enabled while in development this commit
+ will be reverted in the future.
+
+commit 1642dd2f86938242bfa8293323daaaf64573976f
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Wed Jan 28 23:23:40 2009 +0100
+
+ i915: Fix batchbuffer dumping
+
+commit 20127390432132c7cd29d7e64d8f757cb0a47543
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Wed Jan 28 23:20:51 2009 +0100
+
+ i915: Flush on surface copy/clear
+
+commit 26fe7a5fc4421d91e43885da7f85ed9d13897a06
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Wed Jan 28 23:22:28 2009 +0100
+
+ intel: Supply the correct buffers to gem
+
+commit f584752afefb06a17b10fc879f04c3b45bbc764b
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 28 15:06:54 2009 -0700
+
+ docs: document GL_EXT_texture_swizzle
+
+commit 2cb6b17bc87e0c0c672104a5bf4806ab3c7e79aa
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Wed Jan 28 23:06:42 2009 +0100
+
+ gallium: Build EGL st when build glx st
+
+commit 585c10b46daada282730dc65a6515cab4ca9ff7f
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Wed Jan 28 23:06:04 2009 +0100
+
+ egl: Adopt to st_framebuffer changes
+
+commit 3dcc48e6882385f58ec9b19a3a7d5307ef9fc976
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 28 14:51:35 2009 -0700
+
+ i965: minor tweak: replace OPCODE_MOV with OPCODE_SWZ
+
+ Just to reinforce the understanding that an extended swizzle with 0 and 1
+ terms is possible there.
+
+commit c0d3b7679aa90e1a0dca2db152205efaec088b90
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 28 14:50:03 2009 -0700
+
+ i965: implement GL_EXT_texture_swizzle
+
+ If the texture swizzle is not XYZW (no-op) add an extra MOV instruction
+ after the TEX instruction to rearrange the components.
+
+commit 9e7903e492ad842481a166484e0474dd4f3100ba
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 28 14:48:41 2009 -0700
+
+ i965: minor clean-up, comments, etc.
+
+commit 68acc61fc3dd110949f26af01ef5943e6de85ec7
+Merge: 89fddf9 faa4891
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 28 14:45:18 2009 -0700
+
+ Merge commit 'origin/master' into texture_swizzle
+
+commit faa48915d27634a12f123eaa6e954ec79565e365
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 28 14:35:58 2009 -0700
+
+ i965: fix bug in pass0_precalc_mov()
+
+ Previously, "in-place" swizzles such as:
+ MOV t, t.xxyx;
+ were handled incorrectly. Fixed by splitting the one loop into two loops so we
+ get all the refs before assigning them (to avoid potential clobbering).
+
+commit 2ace634024dc14ab15087f3718f8f84e23fba47c
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 28 14:33:07 2009 -0700
+
+ i965: minor comment additions/edits
+
+commit a38b8213ff1b99b73aae884e7b90be3d1999e3bf
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Jan 28 20:41:00 2009 +0000
+
+ wgl: add missing header
+
+commit cbd368e91be121f1381ef132b64839f5638009f7
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Jan 28 20:39:06 2009 +0000
+
+ stw: use proper stw_context pointers in shared interface
+
+ Move away from hglrc.
+
+commit 866587942c7053cdcb7443ed00ce6d902c010631
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jan 28 20:19:17 2009 +0000
+
+ stw: clean up error paths
+
+commit 9a58a9d6ca19a2933b9fddfa3c870786f35183b0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jan 28 20:08:07 2009 +0000
+
+ stw: don't call out to wglGetPixelFormat()
+
+commit 7dbd95618f3e50fe2818d4152527092a96e70474
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jan 28 19:14:57 2009 +0000
+
+ stw: remove duplicate function declarations
+
+commit ef3fe78478d1ce8f70a36eefb6739103358ecb54
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jan 28 19:13:58 2009 +0000
+
+ stw: fix comment
+
+commit c7e38bc7fe00e9042897639fcd524beeeca29555
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jan 28 19:10:50 2009 +0000
+
+ stw: remove header
+
+commit 89fddf978c9d2ab5042f89110015234e979c2686
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 28 11:42:42 2009 -0700
+
+ i965: minor improvements in brw_wm_populate_key()
+
+commit 177eda834ee26656b4f9b2ec64b8b3e915c1854c
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 28 11:38:42 2009 -0700
+
+ i965: remove pad field
+
+commit f78c388b6c156cb155f089b00612f00919090a8e
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 28 11:37:11 2009 -0700
+
+ i965: widen per-texture bitfields for 16 texture image units
+
+commit 3147d7785d5cd8c898b19040cb1d30265fba2350
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 28 11:36:39 2009 -0700
+
+ i965: minor comments
+
+commit 906230d16e8950004cb5e1deed14c78f7d9f2817
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Jan 28 18:25:46 2009 +0000
+
+ svga: remove pixelformat helpers from stw shared interface
+
+ Keep these internal structs private to wgl/shared. Pull in
+ some pixelformat choosing code from wgl/wgl to avoid exporting them
+ more generally.
+
+commit 72f0b4a55ba36bb8571b4c11d0098361f766814e
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 28 10:44:04 2009 -0700
+
+ mesa: additional GL_INVALID_OPERATION tests for texture swizzle
+
+commit 54c62ba5c36f3e2b279151f5df851d2ceee15319
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 28 10:31:05 2009 -0700
+
+ mesa: implement texture swizzling in swrast
+
+ And enable GL_EXT_texture_swizzle for software drivers.
+
+commit 4a89e51c5f88b57040b361b62e80a57c8248ba4b
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 28 10:27:33 2009 -0700
+
+ mesa: set/get new state for GL_EXT_texture_swizzle
+
+commit 66059cd3c95bf5eba7922a4a09c2596514e5e956
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jan 28 17:07:15 2009 +0000
+
+ stw: move get_proc_address and extension functions to shared
+
+commit 54688ebdb259c5e8878817a411e24bd98efb8012
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jan 28 16:47:31 2009 +0000
+
+ stw: use shared version of make current in icd code
+
+commit cfb3fdfcb1aeb22c62a850795a7351ec9594e74d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jan 28 16:23:52 2009 +0000
+
+ stw: more swapbuffers refactoring
+
+commit be1a76f88f4c3482e61e0a048a0b28b6b628f223
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 28 09:16:11 2009 -0700
+
+ mesa: if texObj is NULL in fetch_texel_*(), return black.
+
+commit 67b6e5b907096ce9eee32c36c164acd38574cf14
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Jan 28 16:11:46 2009 +0000
+
+ wgl: split device structs, move swapbuffers to shared
+
+ Each of icd, shared and wgl now have the opportunity to maintain their
+ own per-device structs, which should reduce the need for these
+ modules to be looking into each others structures.
+
+commit 1be4d4d4c6af61bda9e682e3fd347228d2589f8a
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Jan 28 15:53:21 2009 +0000
+
+ pipebuffer: More assertions.
+
+commit 815de0a5dfadbe9a2618b94c4f28a799cc501a14
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Jan 28 15:53:09 2009 +0000
+
+ pipebuffer: Fix alignment assertion.
+
+commit 665d6d6c1e5ebbb925e73bd3637d228def5a977d
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Jan 28 15:52:39 2009 +0000
+
+ pipebuffer: Export the pipe buffer winsys hooks.
+
+commit 507498af1077390c684ca24e6ce6e0ee6ddcc479
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jan 28 13:45:01 2009 +0000
+
+ stw: rename stw_wgl_ --> stw_
+
+commit c3d744f5bbdc24792183a9ee162ebc6cb5f8d1f6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jan 28 13:43:10 2009 +0000
+
+ stw: move pixelformat_get/set to shared
+
+commit cb70d27dd1b04ae7dc146d06a21fb32004265539
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jan 28 13:35:18 2009 +0000
+
+ stw: move pixelformat_describe to shared
+
+commit f17eb0b13c6a2e70746edd1d882bf71adec129fb
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jan 28 12:25:25 2009 +0000
+
+ wgl: move context functions to shared
+
+commit 19d06f4e1692070afc7b3cab0ea1d78044820b0a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jan 28 11:40:54 2009 +0000
+
+ wgl: split into shared, (fake)wgl and icd directories
+
+commit 0f72de55386c391c4cc3ee346216f09152a6b5ab
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jan 27 14:34:29 2009 -0800
+
+ dri2: add complaints for more initialization failures.
+
+ Somehow we're running into DRI2Authenticate failing, and silent demotion to
+ swrast is bad.
+
+commit 65d39a9eed9ae60944dd3c5db392a382c5946cbc
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jan 27 12:05:47 2009 -0800
+
+ intel: clean up more pf mess.
+
+commit 318e53a4bf27499935c874f475af111ffaa71fdd
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 27 11:07:21 2009 -0700
+
+ mesa: refactor glTexParameter code
+
+commit 4f5308bdcb9e62f678975a77783a48096f6dfdc6
+Author: Zack Rusin <zackr@vmware.com>
+Date: Mon Jan 26 15:22:53 2009 -0500
+
+ gallium: remove redundant size from the constant buffer
+
+ reuse the size of the actual buffer
+
+commit d6888e811d24eaa7e8d9093be606394f00435c05
+Author: Zack Rusin <zackr@vmware.com>
+Date: Mon Jan 26 15:07:08 2009 -0500
+
+ gallium: it's a reference value, not a reference number
+
+commit 2299f21f8da816fc4588492965e7dac422da1a96
+Author: Zack Rusin <zackr@vmware.com>
+Date: Mon Jan 26 14:49:54 2009 -0500
+
+ gallium: standardize api on the prefix "nr"
+
+commit a7e72231e3c76a9410d192441da309002ea6422d
+Author: Zack Rusin <zackr@vmware.com>
+Date: Mon Jan 26 14:37:21 2009 -0500
+
+ gallium: standardize naming of masks
+
+commit 872b515e8f0bb1be5bad85fd9d01529c71f07ba2
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Jan 26 13:45:45 2009 -0500
+
+ gallium: standardize on stride instead of pitch in the interface
+
+commit 38768dbc76f4963587a90823f73a1a2d981f63e6
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 27 09:49:27 2009 -0700
+
+ mesa: move call to _mesa_update_framebuffer_visual()
+
+ Update the visual info in the _mesa_test_framebuffer_completeness()
+ function when we've determined the FBO to be "complete".
+
+ Fixes regression seen in progs/demos/shadowtex.c
+
+commit 0e471ac45771393ea74178eb98f41b904168cf64
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Tue Jan 27 11:28:29 2009 +0000
+
+ wgl: relocate wgl code to state_trackers/wgl
+
+ Similar to the GLX state trackers for DRI and xlib.
+
+commit 4d710dd3cf3187e94e5765b46e4dd6899a7a41d6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jan 27 11:15:52 2009 +0000
+
+ tgsi: silence some warnings
+
+commit 27e5097e2aa6ee2b9cc8dbc5129fa7f4c8eb283c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jan 27 11:15:42 2009 +0000
+
+ draw: silence some warnings
+
+commit 3b853e93b2d244dac1b96212f6ebeb48e683fccf
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 26 12:47:02 2009 +0000
+
+ i915: queiten compiler warnings
+
+commit ef9194a4f4a1832ab6b91d048bb196130d2edf55
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 26 12:45:54 2009 +0000
+
+ failover: queiten compiler warnings
+
+commit f6759724281a46723d372ba0f73cb626b7f869f0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 26 12:42:23 2009 +0000
+
+ draw: queiten compiler warnings
+
+commit 9a7aeac49c9bed7507eed876e1d35fa4386f0382
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 26 12:12:38 2009 +0000
+
+ scons: remove pedantic flag
+
+commit 3cf7f9887ae9f26c006f88071cd69343e2c591e4
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jan 26 17:23:59 2009 -0700
+
+ i915: rename some functions
+
+commit d0c8ed73cc6f2b08906a18a8d60e3bc364e5e48f
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jan 26 16:40:08 2009 -0700
+
+ intel: replace i915/intel_state.c and i965/intel_state.c with shared file
+
+commit 69fd665b6491ece8c948784014ab52839c3aeb8b
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jan 26 16:38:01 2009 -0700
+
+ intel: whitespace changes
+
+commit 84c8b5bbf980deea6322009354c3331dc5d5eb57
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jan 26 16:33:45 2009 -0700
+
+ intel: move some driver functions around
+
+ A step toward consolidating i915/intel_state.c and i965/intel_state.c
+
+commit 005a375068dc876b664114c7eb00f8d6b469fc1a
+Author: Zack Rusin <zackr@vmware.com>
+Date: Mon Jan 26 14:37:08 2009 -0500
+
+ egl: compilation fix
+
+commit 72ee0e247d799c85612c72bbd2257648e11fa583
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jan 26 14:22:30 2009 -0700
+
+ intel: check if stencil test is enabled in intel_stencil_drawpixels()
+
+commit 723648f2ee2a8e529063c9da84e9dff9c8c6be99
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jan 26 14:01:32 2009 -0700
+
+ intel: save/restore GL matrix mode in intel_meta_set_passthrough_transform(), intel_meta_restore_transform()
+
+commit 3d607ef37fdfa0871096c99674af92278f33246b
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Jan 26 20:16:36 2009 +0000
+
+ scons: Request the stabs debug info format for Mingw.
+
+ Mingw gdb apparently chokes on dwarf debug info.
+
+commit f5fad95455bb3f9bd731451ea9811e3d0cc51660
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Jan 26 10:44:34 2009 +0000
+
+ glut: Minor cleanups.
+
+commit 36daee1c7bec44b9d3641f056c84b3b2f39fabd9
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jan 26 12:44:05 2009 -0700
+
+ intel: asst. casts to silence warnings
+
+commit 6c244b0f326504ae6add1ddcb407e73c3e72da78
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jan 26 12:38:46 2009 -0700
+
+ intel: #include clean-ups
+
+commit d555cdbe3ed6b503863886a2d4499c812bee5acb
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jan 26 12:37:14 2009 -0700
+
+ intel: remove old #includes
+
+commit aae2729aeb3f6eed26e8f7673f47f2b978786bb1
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jan 26 12:36:17 2009 -0700
+
+ intel: make intelUpdateScreenFromSAREA() static
+
+commit 66c7f06413cc96a75befa4323677b26a2917ebb3
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jan 26 12:33:58 2009 -0700
+
+ intel: remove unused var
+
+commit 4006c5e4526a1cdb910500764590e39d32750967
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jan 26 12:22:04 2009 -0700
+
+ intel: move intelInitExtensions() and related code into new intel_extensions.c
+
+commit 4451eb2e7533a41f67ed21d05a8d9ab5efec77e9
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jan 26 12:02:25 2009 -0700
+
+ intel: move glClear-related code into new intel_clear.c file
+
+commit 6fcebbe719eab1f8e292c8dcd6c3e898b0f8d261
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jan 26 11:53:06 2009 -0700
+
+ intel: Move swap-related functions from intel_buffers.c to new intel_swapbuffers.c
+
+commit 3b23a8e07d59ff6ee766e7d3eb384137279a5250
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jan 26 11:38:30 2009 -0700
+
+ i965: scissor rect was inverted when rendering to texture
+
+commit f25421a59b002a8b679df86c0a072cf853e94f10
+Author: Pekka Paalanen <pq@iki.fi>
+Date: Mon Jan 26 21:15:48 2009 +0200
+
+ nv20: rewrite vertex layout
+
+ NV20 seems to be very different to NV10. In vertex array, pos is first,
+ not last. There are maximum 16 attributes and only few are currently
+ known.
+
+ This makes trivial/tri work on NV20.
+
+ Signed-off-by: Pekka Paalanen <pq@iki.fi>
+
+commit 94ff37f0dc78a7f305f309ea8d5e111508c5b9f2
+Author: Pekka Paalanen <pq@iki.fi>
+Date: Mon Jan 26 21:10:14 2009 +0200
+
+ nv20: adjust initial hw context
+
+ VIEWPORT_SCALE0 seems to do with translation and the sane
+ value for x and y is zero.
+ VIEWPORT_SCALE1 is still a mystery.
+
+ Signed-off-by: Pekka Paalanen <pq@iki.fi>
+
+commit 6b1b8e4ca1c911105c42154c9e794262d74652e5
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jan 26 12:31:02 2009 -0700
+
+ gallium: updated comments in st_extensions.c
+
+commit 523febe12ea2aa6992ed1161d962615a40a04eb6
+Author: Robert Ellison <papillo@tungstengraphics.com>
+Date: Mon Jan 26 10:22:34 2009 -0700
+
+ mesa: add missing texture_put_row_rgb() function in texrender.c
+
+ The wrap_texture() function doesn't set the renderbuffer PutRowRGB() method,
+ which is used to implement DrawPixels(). This fix adds an implementation
+ of this method.
+
+commit 0cd1ee764a1775d0a3da860ebb73e441adbaafb8
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sat Jan 24 16:15:51 2009 -0500
+
+ g3dvl: Remove dead links to files that are now in libnouveaudrm.
+
+commit 3af89cd3dec09b8cc5733cd45e2af05b689d0374
+Author: Pekka Paalanen <pq@iki.fi>
+Date: Sat Jan 24 19:56:13 2009 +0200
+
+ nouveau: fix st_get_framebuffer_surface() breakage
+
+ Someone changed the st_get_framebuffer_surface() signature, and did not
+ update the users in Nouveau winsys. Surface is returned via a pointer
+ now instead of returning it from the function. No semantic changes.
+
+ Signed-off-by: Pekka Paalanen <pq@iki.fi>
+
+commit c50a9319b13b43754feb9b7396662f5dc8badf65
+Author: Pekka Paalanen <pq@iki.fi>
+Date: Sat Jan 24 19:33:21 2009 +0200
+
+ mesa: declare pipe_texture in st_public.h
+
+ Fixes:
+ In file included from nouveau_context_dri.c:6:
+ ../../../../../../src/mesa/state_tracker/st_public.h:87: warning:
+ 'struct pipe_texture' declared inside parameter list
+ ../../../../../../src/mesa/state_tracker/st_public.h:87: warning: its
+ scope is only this definition or declaration, which is probably not what
+ you want
+ ../../../../../../src/mesa/state_tracker/st_public.h:104: warning:
+ 'struct pipe_texture' declared inside parameter list
+
+ Signed-off-by: Pekka Paalanen <pq@iki.fi>
+
+commit fcf9353fea8343a1a86c8c6e0144c8429440c648
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Jan 24 16:54:59 2009 +0000
+
+ glew: Build it as a static lib.
+
+commit efdb7799d31b33ce82f9fdedf43ae17bd68f5c84
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Jan 24 16:47:50 2009 +0000
+
+ progs: Fix isosurf.
+
+commit 2e61d136c27b9c740190643668f1e3509ce609dc
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Jan 24 16:39:49 2009 +0000
+
+ progs: Port most of the demos to glew.
+
+ A couple of test weren't ported due to glew breakage -- it undefines
+ GLAPIENTRY.
+
+commit 9bf83fb0162b5ce95fc10ca1a38e6b4a62f9690f
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Jan 24 15:56:28 2009 +0000
+
+ scons: Build the progs into seperate dirs as well.
+
+commit 436777883241e9b9c02ad7fce55ec7ff7b89ac3d
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Jan 24 15:32:01 2009 +0000
+
+ glut: Automatic library linkage only on MSVC.
+
+commit 017892636a29a40966085d360df8f35865e226d2
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Jan 24 14:33:54 2009 +0000
+
+ scons: Use --enable-stdcall-fixup only when building DLLs.
+
+commit 0e4e76572e3a8808b06916b5359fc5cc71fd04a4
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Jan 24 13:52:02 2009 +0000
+
+ glut: Use a new define GLUT_STATIC to distinguish static builds.
+
+ _DLL is defined by MSVC when building against a DLL version of the CRT
+ library. It bears no relation to whether we are building a DLL or not. That
+ is, we can build a DLL against a static CRT, or a static lib against a
+ dynamicaly linked CRT. See more detail at
+ http://msdn.microsoft.com/en-us/library/2kzt1wy3.aspx
+
+ This gets DLL version of glut linking correctly both with MinGW and MSVC.
+
+ PS: GL/gl.h (and others) must be fixed too.
+
+commit 492c7b360d2ae3fce271ec9b0e404b822f0ba57a
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Jan 24 12:47:02 2009 +0000
+
+ glut: Ensure windows.h is included on windows.
+
+ Trying to override windows headers is a recipe for disaster. Especially
+ when using with glew. Also the windows headers in recent MinGW are complete
+ enough that they don't need patching up.
+
+commit 9bd39eb3af492f3fe314dc7432f89109264f13f6
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Jan 24 10:28:39 2009 +0000
+
+ scons: Don't build the DRI drivers in a seperate dir.
+
+ DRI drivers can be build side by side with other non-DRI drivers, therefore
+ there is no need to build gallium twice.
+
+commit ea8d0aa94b9561b3df9b51222c549395b56a3103
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 23 17:40:24 2009 -0700
+
+ docs: added GL_NV_texture_env_combine4
+
+commit cba5ce166523a8bb6888a0ea28a26e30204f30a4
+Merge: 628b522 96ee3db
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 23 17:39:44 2009 -0700
+
+ Merge branch 'tex_combine4'
+
+commit 628b52241b13132e2d4065b653befdf81236e651
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 23 17:37:21 2009 -0700
+
+ i965: init array->Format fields (see bug 19708)
+
+commit 96ee3db6f76f25f8dcf36b365f6be93341d90472
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 23 17:32:59 2009 -0700
+
+ intel: enable GL_NV_texture_env_combine4 extension
+
+commit d4757cd02aeebe1a3072f35b5134ad5e278e3a6f
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 23 17:32:32 2009 -0700
+
+ mesa: enable GL_NV_texture_env_combine4 for sw drivers
+
+commit 6947f85cb5fbc433ba7763530285e470745b009b
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 23 17:32:09 2009 -0700
+
+ mesa: updated fragment shader codegen for GL_NV_texture_env_combine4
+
+ Expand struct fields, increase loops and handle new 4-term ADD modes.
+ Plus, some new assertions to catch switch/default cases that may be incorrect.
+
+commit 2d508c1d5c53dc475e5262593dd4dac5575a6b08
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 23 17:30:54 2009 -0700
+
+ swrast: updates for GL_NV_texture_env_combine4
+
+commit e082314cab42f43b0438603a282f01920004e6f0
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 23 17:30:33 2009 -0700
+
+ mesa: update state setup/validation for GL_NV_texture_env_combine4
+
+commit 08fbbdd4dceb8ca7ac15f0ce469f59e13e0ba82b
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 23 17:30:03 2009 -0700
+
+ mesa: update glTexEnv(), glGetTexEnv() for GL_NV_texture_env_combine4
+
+commit f5d3027c0a03e26fe90efc067766c996dea05948
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 23 17:29:26 2009 -0700
+
+ mesa: initial changes for GL_NV_texture_env_combine4
+
+commit ded949ed06e02ef26b1168b101daba04be78155e
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 23 16:40:27 2009 -0700
+
+ mesa: set the new array->Format field in VBO code
+
+ Should help to solve failed assertion in i965 driver (see bug 19708)
+
+commit e57e39896049a045751201e912779872026fc741
+Author: Jesse Barnes <jbarnes@virtuousgeek.org>
+Date: Fri Jan 23 13:18:13 2009 -0800
+
+ intel: fix the mismerge of the vblank pipe enable sanity check
+
+ Fix the last merge fix, had the blocks ordered incorrectly.
+
+commit ad338c14c2aca87199da7ec1ae08ceb5062a9954
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 23 14:15:45 2009 -0700
+
+ mesa: consolidate glGetTexEnvi/f() code with new get_texenvi() helper
+
+commit 216bff5fd4699a694a1d76f91c4ee193c2bbe23a
+Author: Jesse Barnes <jbarnes@virtuousgeek.org>
+Date: Fri Jan 23 13:13:23 2009 -0800
+
+ intel: move pipe enable sanity check to where it belongs
+
+ Bah, applied the patches in the wrong order, not Owain's fault...
+
+commit 18170bb51b27fbcef44d84c783511360151a53d4
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Jan 23 21:01:16 2009 +0000
+
+ scons: Use a cache for built files.
+
+ Like ccache, but works on all OSes.
+
+commit aa210b327ef56e87a624504bceed1e8a51206b4e
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Jan 23 21:00:53 2009 +0000
+
+ wgl: Adapt for st_get_framebuffer_surface call change.
+
+commit 0b5266ff648b03b3f2beda9838598abc00c4f7b2
+Author: Owain Ainsworth <zerooa@googlemail.com>
+Date: Wed Jan 21 21:57:24 2009 +0000
+
+ intel: fix vblank crtc selection with DRI1 when only one pipe is enabled.
+
+ On Mobile chipsets, we often enable PipeB instead of PipeA, but the test
+ in here was insufficient, falling back to pipe A if the area
+ intersection returned zero. Therefore, in the case where a window went
+ off to the top of the left of the screen, it would freeze, waiting on
+ the wrong vblank.
+
+ Fix this mess by checking the sarea for a crtc being zero sized, and in
+ that case always default to the other one.
+
+commit 39b4061bb9be540dfb51891e22c505bc235ec8a2
+Author: Owain G. Ainsworth <oga@openbsd.org>
+Date: Wed Jan 21 22:41:26 2009 +0000
+
+ intel: Prevent an "irq is not working" printf when only pipe B is enabled.
+
+ intelMakeCurrent is called before intelWindowMoved (in fact, it calls
+ it), so calculation of the correct vblank crtc has not happened yet.
+ Fix this by making a function that fixes up a set of vblank flags and
+ call if from both functions.
+
+commit 0a40033047373d9c16039cff9e63130478e78e0f
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 23 13:44:12 2009 -0700
+
+ mesa: refactor _mesa_TexEnvfv() code with helper functions
+
+commit 6f8896c5999721e7ba95645af562c47be29cf138
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 23 11:36:57 2009 -0700
+
+ docs: document improved stencil support and GL_EXT_vertex_array_bgra
+
+commit b8fc605cdb741bd409dbca44150a7ba262b6f157
+Merge: 42c07d1 dab586b
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 23 11:29:05 2009 -0700
+
+ Merge branch 'vertex_array_bgra'
+
+commit dab586b0755bffa7c4da0fdc571e0f504f4066c2
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 23 11:27:42 2009 -0700
+
+ i965: enable GL_EXT_vertex_array_bgra
+
+ Simply a matter of choosing the right surface/vertex format for GLubyte/GL_BGRA arrays.
+
+commit 0bd6d48bcea7de37e027854e9d91c54116fbe90e
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 23 11:26:51 2009 -0700
+
+ mesa: enable GL_EXT_vertex_array_bgra for sw drivers
+
+commit 0791fdff6fe87cf9a29ddf4a716f1881c367c7de
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 23 11:26:30 2009 -0700
+
+ mesa: update tnl module for GL_EXT_vertex_array_bgra
+
+ Add special case for GLubyte/GL_BGRA color arrays in _tnl_import_array()
+
+commit 9cf594d698839678290f058078f0eaf569a13ff8
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 23 11:25:13 2009 -0700
+
+ mesa: improve array initialization code, and set the new array->Format field.
+
+commit 76d27a6a1e94e973e5a0a4a22b80158dfecf9151
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 23 11:24:31 2009 -0700
+
+ mesa: update glColorPointer, etc for GL_EXT_vertex_array_bgra
+
+ Add new error checking, set array state appropriately.
+
+commit f7c1a2dacd1643a19fbf975c21ac3e64b708c8d7
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 23 11:23:12 2009 -0700
+
+ mesa: initial bits for GL_EXT_vertex_array_bgra
+
+commit 42c07d1500c0fc948f17f3eb1c3d527aeb428bd0
+Author: Ian Romanick <idr@freedesktop.org>
+Date: Fri Jan 9 16:41:19 2009 -0800
+
+ r300: Enable GL_ATI_separate_stencil in R300
+
+ At this point, GL_EXT_stencil_two_side should probably be disabled.
+ It may be worth leaving it enabled because it has GLX protocol while
+ GL_ATI_separate_stencil does not. I'll leave it to one of the r300
+ maintainers to make the call.
+
+commit f7265e7a57bf49285dd226cf1effc75bf0cd54c0
+Author: Ian Romanick <idr@freedesktop.org>
+Date: Fri Jan 9 15:47:34 2009 -0800
+
+ 965: Enable GL_EXT_stencil_two_side
+
+commit b5fbdef7ec3deb823ad1db8a7b7a731800082f75
+Author: Ian Romanick <idr@freedesktop.org>
+Date: Fri Jan 9 15:47:05 2009 -0800
+
+ swrast: Enable GL_EXT_stencil_two_side
+
+commit dde7cb962860e72e1bf3175069767358cc5b3f3c
+Author: Ian Romanick <idr@freedesktop.org>
+Date: Fri Jan 9 15:43:17 2009 -0800
+
+ Track two sets of back-face stencil state
+
+ Track separate back-face stencil state for OpenGL 2.0 /
+ GL_ATI_separate_stencil and GL_EXT_stencil_two_side. This allows all
+ three to be enabled in a driver. One set of state is set via the 2.0
+ or ATI functions and is used when STENCIL_TEST_TWO_SIDE_EXT is
+ disabled. The other is set by StencilFunc and StencilOp when the
+ active stencil face is set to BACK. The GL_EXT_stencil_two_side spec has
+ more details.
+
+ http://opengl.org/registry/specs/EXT/stencil_two_side.txt
+
+commit de29f5781ad9f3630b28f341bb41622a090cd8dc
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Jan 23 16:25:37 2009 +0000
+
+ scons: Allow to specify the MSVS version on command line.
+
+commit 528a0a885e85907888738cd7b28fff1334697e50
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Jan 23 16:24:43 2009 +0000
+
+ progs: Port vp-tris to glew.
+
+ There was some wglGetProcAddress calls to setup extensions already, but
+ including glext caused many compilation errors in MinGW.
+
+commit b0d0e53a54ce79f57334942bf0b3762db8a3a7b8
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Fri Jan 23 16:04:57 2009 +0000
+
+ gallium: change the st_get_framebuffer_surface/texture functions
+ to return TRUE/FALSE if the st_framebuffer is valid, and if it is
+ return the surface/texture in the passed pointer.
+
+commit 483c730de8ec00ef140f31bdb40856aef3b6fde6
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Jan 23 14:37:35 2009 +0000
+
+ progs: Ignore more output executables.
+
+commit 479ea7d87b6d283cd74d345cb618d69a889284d9
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Jan 23 14:35:36 2009 +0000
+
+ progs/trivial: Use glew where needed.
+
+ Builds on windows now.
+
+commit 57d00016cab9afa3e7853d9830044a8ece9541c4
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Jan 23 12:32:35 2009 +0000
+
+ glew: Initial import.
+
+ From glew 1.5.1 release.
+
+commit d150e6a2e677a49813fdd5422b14ebdc59a904e9
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Jan 23 12:27:10 2009 +0000
+
+ glut: Do not rely on GLAPIENTRY symbol.
+
+ GLEW does some defining/undefining of GLAPIENTRY making it unreliable. GLEW
+ should also be fixed, but removing the dependency on this symbol.
+
+ This also restores the ability for GLUT to be used with -fvisibility=hidden.
+ The downside of this is that ld warns of:
+
+ Warning: size of symbol `glutBitmapXXXXX' changed from 4 in glut_xxx.o to 16 in glut_xxxx.o
+
+ Due to the fonts being declared void * (*4 bytes), but defined as 16byte static
+ structure. I'll fix that in a later commit.
+
+ See also commits:
+ - f321f16e83cae427d6496c11955fd1c898d0395c
+ - d084982240bafba0169c4a6cacf02d45d6cfd8c1
+
+commit af0e6336e9d7dc19d74950ce13b33e1fa1b2081d
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 16 16:02:34 2009 -0700
+
+ i965: whitespace changes and reformatting
+
+commit fb88b6df82900c5c8f3f8044be06c757e376b916
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 22 15:51:12 2009 -0700
+
+ docs: first 7.5 feature: GL_ARB_framebuffer_object
+
+commit a7f98f4c7e9e20ec23ded82881360ec307881509
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 21 11:49:59 2009 -0700
+
+ i965: enable GL_ARB_framebuffer_object
+
+commit 6d2e1f6a2cd25107ad9bd88b1decd05fc8000f78
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 22 15:43:40 2009 -0700
+
+ intel: add GL_EXT_framebuffer blit extension
+
+ This functionality is required by GL_ARB_framebuffer_object.
+ For now, implement it in terms of glCopyPixels(). This will need to be
+ revisted though.
+
+commit f8a7e497acf17cfdefe401815c7063aaf39d4200
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 22 15:34:16 2009 -0700
+
+ intel: remove/disable the "paired depth/stencil" code
+
+ We only allow combined depth+stencil renderbuffers so the complicated code
+ for splitting and combining separate depth and stencil buffers is no longer
+ needed.
+
+commit b27057b381fd8e478f4a31cf790f30a4bf1538cf
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 22 11:31:28 2009 -0700
+
+ intel: asst clean-ups, simplifications in intel_draw_buffer()
+
+commit 3abf67c6b1e1510427fc608983fdeaec88f6077c
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 22 11:15:37 2009 -0700
+
+ intel: remove unneeded call to ctx->Driver.DepthRange()
+
+ The preceeding call to intel_draw_buffer() does that.
+
+commit 71b78149bdb3d0d92b004aed29edcf9ea1a440a8
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 22 15:32:38 2009 -0700
+
+ i965: disallow separate depth/stencil renderbuffers
+
+ Take advantage of the GL_FRAMEBUFFER_UNSUPPORTED feature to disallow separate
+ depth and stencil renderbuffers; only allow combined depth/stencil buffers.
+
+ Next up: remove/simplify a bunch of the depth/stencil renderbuffer code.
+
+ Also: restore the previously disabled GL_DEPTH_COMPONENT16 case
+
+commit d1eca7f558fa3a20cfe1fe78125d8b7f7751def6
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 21 16:29:10 2009 -0700
+
+ i965: minor reformatting
+
+commit 3c98d3cf32e1828b116173f97dc6d4d4a609951c
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 20 15:30:22 2009 -0700
+
+ intel: plug in stub intel_validate_framebuffer() function
+
+commit f8b00806d8263f2ff09f175e0801379c0b9e9b2c
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 22 15:30:57 2009 -0700
+
+ intel: inline some renderbuffer functions
+
+commit 0906f47c1f1c916d46376b2efd66325e337d617d
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 22 15:25:10 2009 -0700
+
+ demos: revamp the fbotexture.c demo
+
+ Try making depth/stencil attachments in two different ways.
+ Check for GL errors and GL_FRAMEBUFFER_UNSUPPORTED status to be more robust.
+ Reorganize the code a bit to make it clearer.
+ Added -arb option to test GL_ARB_fbo's mixed renderbuffer sizes
+ Added -ds2 option to test GL_DEPTH_STENCIL_ATTACHMENT
+
+commit aed7403f32d71d6791678b356801c2b790c17686
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jan 19 16:12:17 2009 -0700
+
+ demos: updated FBO tests to for ARB_fbo
+
+ Some things that were not errors in EXT_fbo are errors in ARB_fbo.
+
+commit 1b199101ffd50e59372e1ecafaae48f369169292
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jan 19 16:14:39 2009 -0700
+
+ mesa: enable ARB_fbo for s/w drivers
+
+commit 7296636ad03f58c7b7f673109515c1659a36a899
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 21 16:28:38 2009 -0700
+
+ mesa: avoid calling _mesa_test_framebuffer_completeness() more than needed
+
+ When we change a FBO's attachments, set _Status=0.
+ Before using an FBO, check if status != GL_FRAMEBUFFER_COMPLETE.
+ Also, fix missing GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE status.
+
+commit d0f13fa7d70c57e698cce9fbde399e80f7afcf47
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 21 11:17:45 2009 -0700
+
+ mesa: fix some renderbuffer/framebuffer delete semantics
+
+ Need to unbind buffers if referenced by the current read/draw pointers when
+ being deleted.
+
+commit 3059007f0c2e91f4ef207677cdcb6dc42be7ecb2
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 21 11:06:11 2009 -0700
+
+ mesa: add support for GL_DEPTH_STENCIL_ATTACHMENT point.
+
+ Used to set both the depth and stencil attachment points to one renderbuffer
+ of texture.
+
+commit 722d976283f402b1edeb5ed67ad9747d322a262e
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 20 16:58:49 2009 -0700
+
+ mesa: additional FBO error checking for multisample-related things
+
+ Plus some new comments.
+
+commit 23524e87339b25be75580a2dd2ea296b1741bffb
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 20 16:53:29 2009 -0700
+
+ mesa: update Visual.samples field in _mesa_update_framebuffer_visual()
+
+commit 4f3514e410c7b743a99f509c176f75b2a3182948
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 22 15:19:56 2009 -0700
+
+ mesa: refactor glRenderbufferStorage(), glRenderbufferStorageMultisample() code
+
+ Use a common helper routine for both functions.
+
+commit 8fb8855b4d495303aabd11a4475cba3723b14bb2
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 20 15:29:08 2009 -0700
+
+ mesa: init MaxSamples = 0 (no multisampling)
+
+commit 5ca24eaf563e55269b3255e12e23a2a87dd47009
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 20 15:25:14 2009 -0700
+
+ mesa: add ARB_framebuffer_object.xml to API_XML
+
+commit 515c118a7e6dfab39935cb4159824a715b45ed3a
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 20 15:19:45 2009 -0700
+
+ mesa: added GL_MAX_SAMPLES query for GL_ARB_fbo
+
+commit 4fc16fb7e9b72c4535967804c031256637a97197
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 20 15:17:57 2009 -0700
+
+ mesa: added NumSamples, MaxSamples for ARB_fbo
+
+commit 777a2efc7768de659fbc2e9a7541c9cbb3fc1d8b
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 22 15:17:42 2009 -0700
+
+ mesa: stub for _mesa_RenderbufferStorageMultisample()
+
+commit 1f32c410dd06d73e2ad007a6ce755437884e92c3
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jan 19 17:34:19 2009 -0700
+
+ mesa: call fbo_incomplete() if driver marks FBO as incomplete (debug only)
+
+commit 283edbe31177522d006ab37ebaf33a6e31f0a34e
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 22 15:14:45 2009 -0700
+
+ mesa: update update_framebuffer_size() for ARB_fbo and mixed renderbuffer sizes
+
+commit 3528f69ce4ba9098ff4d372d7d411b24cf161d61
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 22 15:13:18 2009 -0700
+
+ mesa: added ctx->Driver.ValidateFramebuffer() callback
+
+ Called from the _mesa_test_framebuffer_completeness() function to give the
+ driver the chance to make a framebuffer as incomplete if it doesn't meet
+ some specific hardware restriction.
+
+commit 1bc59bf4f85d1649e6c273cca82785965ea94ac9
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 22 15:07:34 2009 -0700
+
+ mesa: add new ARB_fbo queries, fix some error tests
+
+commit d9a2cf92468f318e4cd7f1cfdbb3faf53545ecad
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 22 15:07:10 2009 -0700
+
+ mesa: add new ColorEncoding and ComponentType to gl_renderbuffer
+
+commit 06f3b2e6799ebd66a813ce9345c2ca6bbd0abe7d
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 22 15:06:17 2009 -0700
+
+ mesa: additional FBO/RB id error checking for ARB_fbo
+
+ It's illegal to bind a FBO/RB id that didn't come from glGenRender/Framebuffer().
+
+commit 989edea40913de9347908488db8978eb2efaba63
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 22 15:05:13 2009 -0700
+
+ mesa: for ARB_fbo, lift restriction that all FBO attachments are same size and color format
+
+commit 7d98f5ab6e207586dcac4b165221ea9852fcf035
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 22 15:04:11 2009 -0700
+
+ mesa: initial extension bits for GL_ARB_framebuffer_object
+
+commit 27d08f0ed28792de9b9f0a977c13ee7ea7c0cf46
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 22 15:02:00 2009 -0700
+
+ mesa: regenerated GL API files
+
+commit 4397974662295b02b0a933360b7d5a7644104d96
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 22 14:56:14 2009 -0700
+
+ glapi: include ARB_framebuffer_object.xml
+
+commit d61b8896bcd6059ced5bbeed7274aafcdde872ea
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 22 14:55:20 2009 -0700
+
+ glapi: XML spec for GL_ARB_framebuffer_object
+
+commit f9152f316a6e1a2277d32e0beb31d6355d205e21
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 22 10:35:51 2009 -0700
+
+ glsl: call _mesa_write_shader_to_file(). Debug-only, disabled
+
+commit d0038930312f96468a9159a1221c3f4c56bddaa4
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 22 10:34:43 2009 -0700
+
+ glsl: new _mesa_write_shader_to_file() function
+
+ Used to log a shader to a file. Includes shader source code, the info log
+ and generated GPU instructions.
+
+commit cb136e0476a3ca4f3cb7730ccdd729ba3773e351
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 22 10:34:15 2009 -0700
+
+ glsl: set shader->CompileStatus in _slang_compile()
+
+commit 596b8fbbbf65cef227ce60216a57d4bbfd627099
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 22 10:32:08 2009 -0700
+
+ mesa: added _mesa_fprintf() wrapper
+
+commit d2ab930046ae91987ee4e528e13ad06f8889f200
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 22 10:29:24 2009 -0700
+
+ docs: placeholder 7.5 release notes
+
+commit 0e4805685035dc3ea26f169830843cd4cecd1a29
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 22 10:22:55 2009 -0700
+
+ mesa: master is open for new development, eventually will be Mesa 7.5
+
+commit 609cc9c1395a9417e56224c8754d799f8b7a5573
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 22 10:18:04 2009 -0700
+
+ docs: skeleton 7.4 release notes file
+
+commit e5aa89386d12300aebaac6f4530bbb51bb87981d
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 22 10:14:39 2009 -0700
+
+ docs: 7.3 md5 sums
+
+commit 5a458977113e4a0d3c389b03801cf6ce580d3935
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 22 10:14:04 2009 -0700
+
+ mesa: set version to 7.3
+
+commit faa6d8af59c69b0c0239f64363b170619e2a9827
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 22 09:59:04 2009 -0700
+
+ docs: set 7.3 release date
+
+commit b6c41fd9335eade8fdfc66d43a32fbf9994e4983
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 22 09:58:52 2009 -0700
+
+ docs: assorted updates, link fixes
+
+commit 4558f6a7e4bb8757431bd6905be53aef4246bcdd
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jan 22 14:29:01 2009 +0000
+
+ glut: Don't include mesa_wgl.h on MinGW builds.
+
+ windows.h header recent MinGW versions already declare the WGL API, and
+ including mesa_wgl.h actually cause build failures.
+
+commit 42be0104a22fdff0db3c39af9feb7d157ac87f46
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jan 22 14:26:30 2009 +0000
+
+ scons: Don't define UNICODE on windows builds.
+
+ It creates problems in many libraries (glut, glew) which are not unicode
+ aware.
+
+commit f69e2f42d53337702ce52173a58a49e53bfdee56
+Author: Dave Airlie <airlied@linux.ie>
+Date: Thu Jan 22 22:49:16 2009 +1000
+
+ r200: fix up swtcl/tcl flushes
+
+commit d93dc4338279c03b8fa2b0adec01dedae4fe4895
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Jan 23 08:08:34 2009 +1000
+
+ radeon: plug memory leak running gears
+
+commit 9780127449c6b32cc16ee1a1589c1e28eae1d7bb
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Jan 23 07:34:45 2009 +1000
+
+ radeon: remove some debugging
+
+commit 8b56a86385f3411f0d1ba64423f32bff6c60416d
+Author: Dave Airlie <airlied@linux.ie>
+Date: Thu Jan 22 21:49:58 2009 +1000
+
+ radeon: better free of array
+
+commit 860d0cc656ee0eb724b2d82596c09a9eee9a8d19
+Author: Dave Airlie <airlied@linux.ie>
+Date: Thu Jan 22 21:47:38 2009 +1000
+
+ radeon: free all relocs in array
+
+commit 02952a41eb0e47ab77a984922c1c3202aeb45b50
+Author: Dave Airlie <airlied@linux.ie>
+Date: Thu Jan 22 21:38:35 2009 +1000
+
+ radeon: check relocs before deref
+
+commit 2c8b55b351c84cda4e620a5aba3e67c110890567
+Author: Dave Airlie <airlied@linux.ie>
+Date: Thu Jan 22 21:35:58 2009 +1000
+
+ radeon: fix relocs even more
+
+commit c66e38d24fa8ffa2ac759ce118cb779fbce117d4
+Author: Dave Airlie <airlied@linux.ie>
+Date: Thu Jan 22 21:31:06 2009 +1000
+
+ radeon: fix reloc free harder
+
+commit bb7756eaed7b6c51a2da2ed9905b79172be91881
+Author: Dave Airlie <airlied@linux.ie>
+Date: Thu Jan 22 21:29:22 2009 +1000
+
+ radeon: free indices caught with valgrind
+
+commit a5b54eb3c99aedf92197c834a6645127a231b382
+Author: Dave Airlie <airlied@linux.ie>
+Date: Thu Jan 22 21:19:56 2009 +1000
+
+ radeon: cleanup bo unref codepath in pending code
+
+ assert for bad case hopefully
+
+commit 11995807f1d83e29e4517c6ae5449cd702f33835
+Author: Dave Airlie <airlied@linux.ie>
+Date: Thu Jan 22 21:12:54 2009 +1000
+
+ radeon: fix counting for cfree handles in an inline
+
+commit 014c52eb6bc2fc0edb69d1ef063eb6c9735b3833
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Jan 23 02:47:15 2009 +1000
+
+ radeon: add r100/r200 workarounds for legacy aging
+
+commit 4ca76586c23200b66cb4f85afb21ea02853779ea
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Jan 23 00:23:10 2009 +1000
+
+ r200: disable some debug
+
+commit 7d01cb37d94b8966fa089106b902325dbef33a58
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Jan 23 00:17:38 2009 +1000
+
+ r200: emit elts into a separate ELT bo
+
+commit 4df482086ebf0663c708b089d8d8d22de0ef972c
+Merge: 01cbd76 b8bd0b0
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Thu Jan 22 09:43:42 2009 +0000
+
+ Merge commit 'origin/master' into gallium-0.2
+
+ Conflicts:
+ windows/VC8/mesa/osmesa/osmesa.vcproj
+ windows/VC8/progs/demos/gears.vcproj
+ windows/VC8/progs/progs.sln
+
+commit b8bd0b0ddc357f9b430bb6ddeb60c5a2179d3791
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jan 13 12:50:38 2009 -0800
+
+ i915: Add decode for PS in batchbuffers.
+
+commit fc3971d80051b34836716579fd060dbb122d036b
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jan 8 19:15:04 2009 -0800
+
+ i965: Remove gratuitous whitespace in INTEL_DEBUG=wm output.
+
+commit 046e88fc0be37d5a3dfbfa9fb8033b549604c74c
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jan 8 19:00:10 2009 -0800
+
+ i965: Use _mesa_num_inst_src_regs() instead of keeping a copy of its contents.
+
+commit 01cbd764962ff49bf104e5997914ced53360ef81
+Author: Younes Manton <younes.m@gmail.com>
+Date: Wed Jan 21 16:55:35 2009 -0500
+
+ nouveau: Map correct mip level when using the shadow (nv30, nv40).
+
+commit bcb5ea097c11e3776070f30b00fcf6c5fac62df3
+Author: Patrice Mandin <patmandin@gmail.com>
+Date: Wed Jan 21 21:59:10 2009 +0100
+
+ nouveau: nv30 does not support separate blend functions for alpha and rgb
+
+commit eda2284961e46002c7b2bd4e4ae2785d7b0a2191
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Jan 22 02:53:30 2009 +1000
+
+ r200r300: start merging span code
+
+commit 194d039f1efee0e666c2d1b1116fd5adea8cb942
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Wed Jan 21 11:47:01 2009 -0500
+
+ [intel] Remove remaining references to intel_wait_flips().
+
+ Oops.
+
+commit 0788e424713a2b71cceee60bcd21c79a2896b3bd
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Jan 22 02:38:00 2009 +1000
+
+ r200: remove indexed verts
+
+commit 470e10dfaa7a7c6801be1092e1527a944ac38a10
+Author: Thomas Henn <thomas.henn@igd.fraunhofer.de>
+Date: Wed Jan 21 09:31:58 2009 -0700
+
+ windows: fix output dir for glut project file
+
+commit 8c7135ee14fb6f4d8b6e64d570daee3512c99438
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 21 09:05:02 2009 -0700
+
+ swrast: fix redundant texture application in affine_textured_triangle().
+
+ This function does simple texture mapping so disable normal texture mapping
+ before we call _swrast_write_rgba_span() so that we don't do it twice.
+
+commit 909aeb005f6e5b35889aa9b4fc5e68786bdad047
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Jan 22 01:24:50 2009 +1000
+
+ radeon: fix 1D textures
+
+commit 4683cab29a74d6b3cefdd915aaf91e6b4f667d27
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 21 08:18:07 2009 -0700
+
+ mesa: add some debug assertions to detect null current texture object pointers
+
+ See bug #17895. These assertions could be removed when this is resolved.
+
+commit 674b204ba7c4854fec92a0c939de5012fecb6d87
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Jan 22 01:17:31 2009 +1000
+
+ r200: fix cubemaps
+
+commit 61bb82636f7b1681b5509e1a9038bbcc1feea35c
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Jan 22 01:05:43 2009 +1000
+
+ r200/r300: port r200 texture handling to common code
+
+ we now get texrect + trivial textures working
+
+commit 787a001a6774e6fe80623159f32155ce12002a9f
+Author: Karl Schultz <k.w.schultz@comcast.net>
+Date: Wed Jan 21 07:59:11 2009 -0700
+
+ windows: another round of VC8 project file updates
+
+ New static configs generate DLLs that do not have a dependency on the MSCVR*
+ DLL's.
+
+commit dd92f483b0f2eced3984be9a051c0cc653ae6d74
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 21 07:57:45 2009 -0700
+
+ Revert "windows: new VC8 projects statically linked against libcmt"
+
+ This reverts commit bbda892c551e7d3f2d94cc877cc6e80f8568fa99.
+
+ Static configs rolled into regular project files (in next commit).
+ Provided by Karl Schultz.
+
+commit c14aac5530f3c9bf04f9b8dab3a3bae4362d216a
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Wed Jan 21 15:01:13 2009 +0100
+
+ progs: Ignores
+
+commit 2bf31b7ffdee0b84e916d5ee4aa487f2e61a1ff7
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Jan 21 18:41:11 2009 +1000
+
+ r300/radeon: move face_for_target
+
+commit 65118a51b609cbcfdd6698a8e22c18e98152f362
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 20 15:36:01 2009 -0700
+
+ docs: document glXMakeContextCurrent() and Windows fixes
+
+commit ab9b4e1f593b2006a61c0f5440c2d7d3af80ea74
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Tue Jan 20 13:55:18 2009 -0800
+
+ Fix issues with glXMakeContextCurrent and glXMakeCurrentReadSGI
+
+ There were several bugs in the infrastructure for these two routines.
+
+ 1. GLX_ALIAS was incorrectly used. The function and its alias must be
+ identical! glXMakeContextCurrent / glXMakeCurrentReadSGI and
+ MakeContextCurrent had different parameters. This caused the last
+ parameter of MakeContextCurrent to get random values.
+
+ 2. We based the implementation of glXMakeContextCurrent on the manual
+ page instead of the GLX spec. The GLX spec says that
+ glXMakeContextCurrent can be passed a Window as a drawable. When this
+ happens, it will behave just like glXMakeCurrentReadSGI or
+ glXMakeCurrent.
+
+ 3. If there was a problem finding or creating the DRI drawable,
+ MakeContextCurrent would crash instead of returning an error.
+
+ This commit fixes all three issues, and fixes bug #18367 and bug #19625.
+
+commit 73a4c945d32e0041f7c26a69cef1bb0a8b7d870b
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Tue Jan 20 19:08:52 2009 +0100
+
+ i915: Fix gem backend after surface changes
+
+commit 39e6d0d8108fe6d222865e7bb9de1e3cea18b4c4
+Author: Timo Aaltonen <tjaalton@cc.hut.fi>
+Date: Tue Jan 20 11:45:35 2009 -0500
+
+ [intel] Go back to using the typedef for the sarea struct
+
+ The upstream linux kernel headers and libdrm kernel headers disagree on the
+ tag name for the sarea struct: _drm_i915_sarea vs drm_i915_sarea. They
+ both typedef it to drm_i915_sarea_t though, so just use that.
+
+commit b5da7feee03abd7ca52312476bd75d28d1afddf4
+Author: Owain G. Ainsworth <oga@openbsd.org>
+Date: Wed Jan 14 01:14:32 2009 +0000
+
+ Remove intel pageflipping support in its entirety.
+
+ It's been broken and deprecated for a while, so it's time to die. This has the
+ wonderful benefit of cleaning up the code a fair amount; making it marginally
+ less twisty.
+
+ I'm unsure if the for loops in IntelWindowMoved are still needed.
+
+commit e0ec3243e87cbdfb5db2657fe791748e145930e8
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Jan 21 02:21:45 2009 +1000
+
+ r300: start migrating common functions into common code
+
+commit 0f548dbc9811838362c8cfaecc10f1fbe8c3dd8d
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 20 09:21:32 2009 -0700
+
+ glsl: silence unused var warnings
+
+commit 9d216be8cfe57f88cd2d890c2334df8ff5c30436
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 20 09:20:41 2009 -0700
+
+ mesa: silence uninitialized var warnings
+
+commit eb26cc6cf5ba0b8ff4c7d85da8f421839691186a
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 20 09:17:12 2009 -0700
+
+ mesa: silence compiler warning at -O2
+
+commit ddbd6ed326275de0c22011a2700f342409beee76
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Jan 21 02:15:28 2009 +1000
+
+ r300: move to common texture_image object
+
+commit bb63a663b1a3a3a3f27ebc8b1a678c3bc7cc4a69
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 20 09:13:41 2009 -0700
+
+ mesa: bump version to 7.3-rc3
+
+commit dace4e3e2a4646d7512028c9aaff6b4a1fc16b3f
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 20 09:13:06 2009 -0700
+
+ mesa: inlclude whole windows/VC8/ directory in tarballs
+
+commit 33dc14c707734df37fb02b7bcc278ddeb94036f1
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Jan 21 02:10:32 2009 +1000
+
+ radeon/r200/r300: start to move to common miptree/texobj
+
+commit bbda892c551e7d3f2d94cc877cc6e80f8568fa99
+Author: Thomas Henn <thomas.henn@igd.fraunhofer.de>
+Date: Tue Jan 20 09:05:18 2009 -0700
+
+ windows: new VC8 projects statically linked against libcmt
+
+commit 61a387dca19d68de901856fe997b805b6af98920
+Author: Karl Schultz <k.w.schultz@comcast.net>
+Date: Tue Jan 20 08:58:40 2009 -0700
+
+ windows: more VC8 project file updates
+
+ Make some compiler flags per-file.
+ Remove driverfuncs.c from osmesa project.
+
+commit d9c4a01bad3a7d4a965fc09d8605afc6ca48f6f9
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Jan 21 01:40:33 2009 +1000
+
+ r200: make tri render on my r200.
+
+commit 04029e5ddb030445edc98305b091b9a35479282a
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Jan 20 22:59:34 2009 +1000
+
+ r200: tri runs without crashing - doesn't draw anything
+
+commit ed3a1cce73fcd0d6f4b6e9b5f69a98ad179ddc4b
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Jan 20 22:51:04 2009 +1000
+
+ r200: clear is working at least - not much else
+
+commit 5897383344da3320d158c26adae05de35480471f
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Jan 20 12:22:49 2009 +0000
+
+ gallium: Remove the standalone surfaces.
+
+ This commit is mostly just a cosmetic change that cleans-up the interfaces,
+ replacing pipe_winsys::surface_* calls by
+
+ /**
+ * Allocate storage for a display target surface.
+ *
+ * Often surfaces which are meant to be blitted to the front screen (i.e.,
+ * display targets) must be allocated with special characteristics, memory
+ * pools, or obtained directly from the windowing system.
+ *
+ * This callback is invoked by the pipe_screenwhen creating a texture marked
+ * with the PIPE_TEXTURE_USAGE_DISPLAY_TARGET flag to get the underlying
+ * buffer storage.
+ */
+ struct pipe_buffer *(*surface_buffer_create)(struct pipe_winsys *ws,
+ unsigned width, unsigned height,
+ enum pipe_format format,
+ unsigned usage,
+ unsigned *stride);
+
+ Most drivers were updated but not all were tested. Use the softpipe pipe
+ driver and the xlib winsys changes as a reference when fixing other drivers.
+
+commit 437fa85ba3611606ae8a8ac4aa4d634c91d2966d
+Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
+Date: Tue Jan 20 11:40:51 2009 +0100
+
+ Add a comment about _tnl_emit_indexed_vertices_to_buffer.
+
+commit b00477acf3546242cd183630bd55a49085bbb3ed
+Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
+Date: Tue Jan 20 11:15:57 2009 +0100
+
+ tnl: Add a utility to emit indexed vertices to a DMA buffer.
+
+ This utility is useful for hardware that doesn't support HW index buffers.
+ It's a bit inefficient but appears to give a substantial performance gain,
+ as we can emit tri strips that would otherwise be split into triangles.
+
+commit 7374285f07b673dcba1d1f47dd987c8ba7037bad
+Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
+Date: Tue Jan 20 11:13:38 2009 +0100
+
+ Fix store texel for argb4444.
+
+commit 5c84a1032c13a75b95e40bd316495b3351b324e1
+Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
+Date: Tue Jan 20 11:13:05 2009 +0100
+
+ Fix store texel for argb8888_rev.
+
+commit dbda49a9e65f684ca46c7af84cc52d63b0622978
+Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
+Date: Tue Jan 20 11:12:17 2009 +0100
+
+ Add RGBA4444 and RGBA5551 texture formats.
+
+commit 11351f0c8a88ae84ec397c7f9abb4a83c64b2cfc
+Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
+Date: Tue Jan 20 11:07:10 2009 +0100
+
+ dri1: Add a macro to validate two dri drawables in one go.
+
+ Dri drivers often may validate first a write drawable and then a read
+ drawable ("readable"). However, the hardware lock may be unlocked when
+ validating the readable, causing the write drawable status to be stale.
+
+ Drivers should use this macro instead when validating two drawables.
+
+commit a5b5bc9f95f381ac61e29e2b2f2001c4135e54ef
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 13 14:39:55 2009 -0700
+
+ mesa: fix build of stand-alone glslcompiler driver
+
+commit ecc563b17f810399ddf74a68fca1e903ba49a0d6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 19 20:01:45 2009 +0000
+
+ xlib: fix dependencies
+
+commit 2fa407be8b982016d355c51bd32f3023b9ee0140
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jan 19 12:53:58 2009 -0700
+
+ statetracker: copy back color buffer to front buffer when needed
+
+ Fixes front-buffer rendering when following a SwapBuffers.
+ See progs/tests/rubberband.c
+
+commit b9a3952f8f04a25818aba69e235e3d250c064cb8
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jan 19 12:24:21 2009 -0700
+
+ gallium: minor reformatting
+
+commit bc0e00ad42ee651701ef1e211d36ee92acf18d6f
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Jan 19 19:43:21 2009 +0000
+
+ util: add reduced prim helper
+
+commit f97792421ba3ea0af1f1976e5e267e88314885a2
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jan 19 12:03:17 2009 -0700
+
+ tests: test pseudo-XOR blend mode.
+
+ GL_XOR logicop mode can be approximated with blending by computing 1 - dst.
+ Here's a couple test programs for that.
+
+commit ba3a879b1cade2cb189b1d6d3b244f1fa3f8f5d7
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jan 19 11:51:23 2009 -0700
+
+ gallium: use align() intead of round_up()
+
+commit 1907135235a684872706d1a28ea8e2b4e1b6e7d3
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jan 12 12:01:09 2009 -0700
+
+ tgsi: change an if to an else-if, added const qual, added comments
+
+commit 396711b840683809565507e47a4311e5b7503ef2
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Mon Jan 19 15:40:30 2009 +0000
+
+ dri: add fake front definitions
+
+commit d3866f026a91b5aeb618dcafc311aaeff118bc3e
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Mon Jan 19 15:40:30 2009 +0000
+
+ dri: add fake front definitions
+
+commit dbd8e4066b28afad5f02a063e81b973c649746f5
+Author: Thomas Henn <thomas.henn@igd.fraunhofer.de>
+Date: Mon Jan 19 08:23:22 2009 -0700
+
+ windows: updated VC8 project files
+
+commit 41b99b0070244450873414d4aaeb6d9e14dbaf3d
+Merge: b5db6b0 ea55b62
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Jan 19 10:32:35 2009 +0000
+
+ Merge commit 'origin/gallium-0.2' into gallium-xlib-rework
+
+ Conflicts:
+
+ src/gallium/state_trackers/glx/xlib/fakeglx.c
+ src/gallium/state_trackers/glx/xlib/xm_api.c
+ src/gallium/winsys/xlib/xmesaP.h
+
+commit ea55b62f373a5fb63a684ce0d7f89240d3b888e7
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 19 10:29:27 2009 +0000
+
+ xlib: fix compilation after xmesa header moves
+
+commit b5db6b039c34117be4e441a2b95abbf97df928c3
+Merge: 8f3fac6 76753e3
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Mon Jan 19 10:15:04 2009 +0000
+
+ Merge commit 'origin/gallium-0.2' into gallium-xlib-rework
+
+commit 76753e30781e88912c0465642616ab16bbc1b4f3
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sun Jan 18 21:38:48 2009 -0500
+
+ g3dvl: Some cleanups.
+
+commit 9ddca0b41d16a68beebddc7765fc2e354b6bc6fe
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sun Jan 18 18:11:18 2009 -0500
+
+ g3dvl: Ref count everywhere.
+
+commit 3933d338f7fd1a7709d7971036671920f65fcd86
+Author: Younes Manton <younes.m@gmail.com>
+Date: Wed Jan 14 00:28:58 2009 -0500
+
+ g3dvl: Mark all buffers for incoming frame data as discardable.
+
+commit 7309e8057844bc67a81ce01a99a9cb62d36eda0b
+Author: Younes Manton <younes.m@gmail.com>
+Date: Wed Jan 14 00:27:42 2009 -0500
+
+ nouveau: Rename buffer on map if discardable, busy, and write-only.
+
+commit 0521c2682a3249562ff6a3d6ab6c90d1d63b82a3
+Author: Younes Manton <younes.m@gmail.com>
+Date: Wed Jan 14 00:21:24 2009 -0500
+
+ gallium: Add PIPE_BUFFER_USAGE_DISCARD.
+
+ When passed to map() signals that the buffer's previous contents are
+ not required, allowing the driver to allocate a new buffer if the
+ current buffer can not be mapped immediately.
+
+commit 11f91936f21c1ab0b38f0f84bb2cbf82f9cadece
+Author: Younes Manton <younes.m@gmail.com>
+Date: Tue Jan 13 22:58:43 2009 -0500
+
+ g3dvl: Return BadAlloc if we can't create an XvMC surface.
+
+commit c35dc4a741d4147a5da8bbe834a38a4c2ce627d1
+Author: Younes Manton <younes.m@gmail.com>
+Date: Mon Jan 12 13:19:07 2009 -0500
+
+ g3dvl: Follow mesa naming conventions for src dirs.
+
+commit 1fd411539b9b7b8ae46c1aff0a000d9b4a8f5f3b
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Mon Jan 19 02:29:54 2009 +0100
+
+ egl: eglinfo load i915 driver
+
+commit a835eb930df5b596060a88863933a1bc7d76b6a9
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Mon Jan 19 02:24:29 2009 +0100
+
+ i915: Build gem and egl winsys by default
+
+commit 353f824379259f899142b106d6f642fbe46207f4
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Mon Jan 19 02:22:34 2009 +0100
+
+ i915: Make gem submit commands
+
+commit e082923af66a2b4c3fa7b3f104930addd8d6ac5b
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Mon Jan 19 02:00:35 2009 +0100
+
+ egl: Fix swap and creation of front buffer
+
+commit b7f802eca2c78397ea7b8472b3a7e90a997fc140
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Jan 18 09:59:07 2009 -0700
+
+ glx: gcc 2.95 build fix (move declaration before code)
+
+ Adapted from patch by Matthieu Herbb <matthieu.herrb@laas.fr>
+
+commit df3ef7a8d6473238da57ab47b6de027bb427f395
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Sun Jan 18 15:49:06 2009 +0100
+
+ i915: Use new egl state_tracker
+
+commit 7047f1755f88d6b1f424904e692edbd03a9d190b
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Sun Jan 18 15:36:47 2009 +0100
+
+ egl: Add a egl state_tracker that use Gallium
+
+ This works on top Gallium and KMS. The only thing that
+ does not work currently is swap buffers for shown mesa
+ screens. So the only fun thing this will produce is a
+ white screen.
+
+ The driver wishing to us the state_tracker needs to
+ implement the intrace as define in drm_api.h located
+ in gallium/include/state_tracker. And also have a
+ working KMS implementation.
+
+commit a874cf37ee2a792991819cad2cb73e3d2ddc87a3
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Sun Jan 18 15:35:50 2009 +0100
+
+ i915: Update gem backend a bit
+
+commit 94ddd621d13310aca229ab64a86aee3d4db680e8
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Sun Jan 18 13:40:24 2009 +0100
+
+ egl: Make eglscreen sleep for five seconds
+
+commit b6b619c6ffadfd93281073317e19fb90fc68a1c0
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Sun Jan 18 05:14:01 2009 +0100
+
+ egl: Add eglscreen to help debug egl mesa screen
+
+commit a5df724c52d19ccc5e9151493e889095c186135d
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Sat Jan 17 20:50:00 2009 +0100
+
+ egl: Make eglinfo print screen info
+
+commit 8f3fac6107460b6d9b011b5c76246468bb16004b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Jan 17 18:45:20 2009 +0000
+
+ debug: add noprefix version of debug_dump_enum
+
+commit bcc45a202496fba9686f953011039c09e36bf3ae
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Jan 17 17:12:30 2009 +0000
+
+ xlib: don't explicitly create the pipe_winsys struct
+
+commit 4f134f91a427b053d1bc069cb6cac48a0982abc3
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Jan 17 17:06:14 2009 +0000
+
+ xlib: don't explicitly create the pipe_winsys struct
+
+commit a61a1a8181f05e07de1c0bccad109f4ad529a298
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 16 13:33:19 2009 -0700
+
+ i965: fix polygon culling bug when rendering to a texture/FBO
+
+ Since we use an inverted viewport transformation for render to texture, that
+ inverts front/back polygon orientation.
+ Now glCullFace(GL_FRONT / GL_BACK) works correctly.
+
+commit 345a08a77fa16f58ef956c896f1bf5f4cf118243
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 16 13:31:04 2009 -0700
+
+ intel: added intel_rendering_to_texture() helper function.
+
+ When we're rendering to textures we have to invert the viewport transformation.
+ This helper cleans up that test and can be used elsewhere...
+
+commit 12c6d28cc7ef36a27389003e9898b512b6f722f9
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 16 13:25:41 2009 -0700
+
+ mesa: remove GL_DEPTH_TEST + no depth buffer test
+
+ One could enable depth testing before binding an FBO that has a depth buffer
+ so this test is no longer useful or correct.
+
+commit 2e28c1fda24988241ef7abb91b7d896e38f5df26
+Merge: 47ca023 e442fe5
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Fri Jan 16 16:44:53 2009 +0000
+
+ Merge commit 'origin/master' into gallium-0.2
+
+ Conflicts:
+ src/mesa/shader/slang/slang_compile.c
+
+commit e442fe5ba53acf16c78339f19921d70dba3928f6
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 16 09:30:37 2009 -0700
+
+ glsl: fix broken sampler assignments
+
+commit 47ca0234dc9f83808cb141944537c78eaade5d55
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Jan 14 13:03:09 2009 +0000
+
+ scons: Use -std=gnu99
+
+ It a scary world out there: people use all sort of non standard C stuff,
+ and we must enable support for that in here in order to build.
+
+ -pedantic still warn us when we use that nonstandard though.
+
+commit eac69bf99e9917492c646854128c117d064e9901
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Jan 14 12:56:12 2009 +0000
+
+ stw: Dispatch to our stw_winsys::flush_front_buffer
+
+ pipe_winsys::flush_front_buffer should die someday, but this is good enough
+ for now.
+
+commit 66a4f5cf9a74f906f802eeeae56de79fc640a2c9
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Fri Jan 16 16:06:33 2009 +0800
+
+ i915: fallback on transfer mode
+
+commit a740858fc0136fa035c222dda278f49b815eb817
+Author: Karl Schultz <karl.w.schultz@gmail.com>
+Date: Thu Jan 15 11:32:47 2009 -0700
+
+ windows: updated VC8 project file
+
+commit e7c988d065d3a86bb231c92dada569825105dee9
+Author: Karl Schultz <karl.w.schultz@gmail.com>
+Date: Thu Jan 15 07:05:15 2009 -0700
+
+ windows: updated mesa.def file
+
+commit 4a8356209d143f21138eaa3ea64626e04c969669
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 15 07:04:52 2009 -0700
+
+ glsl: use _mesa_sprintf()
+
+commit e1ba29ea19fd99d16b63cc34bc2aa1e4a26c5a25
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 15 07:04:36 2009 -0700
+
+ glsl: move declaration before code
+
+commit abd280ab0b72979bf709b2d029e11c8f4bc4d5f8
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Thu Jan 15 14:02:09 2009 +0000
+
+ mesa: tweak to formatting
+
+commit fbf13bcb8aeeeb70475d9bd8a0d0640936d27047
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Thu Jan 15 11:51:39 2009 +0000
+
+ mesa: check frambuffer complete status before rendering
+
+commit bfbb57790a06bb03e9bf3237b7f8756a67702192
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Thu Jan 15 11:54:41 2009 +0000
+
+ mesa: small cleanup
+
+commit 8708fa11745bbe479f6315831a040f3ad9e4c90a
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Thu Jan 15 11:53:59 2009 +0000
+
+ mesa: revert partial commit for 0x0 render targets
+
+commit 263b96e160606975285154c4b8b610fcb8f4c930
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Thu Jan 15 11:51:39 2009 +0000
+
+ mesa: check frambuffer complete status before rendering
+
+commit 938f1e98043cc6c9cb6f204d022aef76c03bc210
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Thu Jan 15 12:28:23 2009 +0100
+
+ mesa: Fix merge conflicts
+
+commit 08d90fe8a5e12d92994c05b2ec9f68ab7232275c
+Author: Dave Airlie <airlied@linux.ie>
+Date: Thu Jan 15 16:50:58 2009 +1000
+
+ r300: move some more function to generic
+
+commit 1a51b76343255af9be6282f93614e92788ad4f0f
+Author: Dave Airlie <airlied@linux.ie>
+Date: Thu Jan 15 16:41:01 2009 +1000
+
+ radeon/r200/r300: start to make cmd buf useful
+
+commit 0c0a55a21158e1f97cf140c0a1c0531c06751873
+Author: Dave Airlie <airlied@linux.ie>
+Date: Thu Jan 15 16:25:37 2009 +1000
+
+ r100/r200: move to new atom style emission
+
+commit 8f8435637d5915cbb217340e831728bf10333c78
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 14 17:01:35 2009 -0700
+
+ mesa: bump version to 7.3-rc2
+
+commit 7d08091767c9713e153922385b02047c73ab70e2
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 14 12:35:43 2009 -0700
+
+ glsl: fix comment
+
+commit b5f32e1d5a1780292b10ba51fa2c7d05e77a7346
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 14 12:33:06 2009 -0700
+
+ glsl: minor clean-up for rect sampler test
+
+commit 0dffd223491765fe572d606c2b10855cb568db7a
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 14 16:48:54 2009 -0700
+
+ r300: work-around FRAG_BIT_FOGC warning/error
+
+ See bug 17929.
+
+ Fog doesn't actually work, but the often complained about warning is
+ silenced.
+
+commit 947d1c5b2a70c0eafa4c408b47607574a2908468
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 14 16:42:19 2009 -0700
+
+ i965: asst. fixes, work-arounds for FBOs and render to texture
+
+ OpenGL allows mixing and matching depth and stencil renderbuffers in
+ framebuffer objects while the hardware really only supports interleaved
+ depth/stencil buffers. This makes for some tricky buffer management.
+
+ An extra wrinkle is the situation where the user allocates a 16bpp depth
+ texture or renderbuffer then tries to render to it along with a stencil
+ buffer. We'd have to promote the 16bpp Z values to 24-bit Z values and
+ mix in the stencil values to setup the depth/stencil renderbuffer.
+
+ There's no support for that now, so always allocate 32bpp depth textures/
+ renderbuffers for now.
+
+commit c7f43543af8a0bf95750eb6d332fdede07d104ea
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 14 16:28:55 2009 -0700
+
+ i965: fix incorrect renderbuffer DataType assignment
+
+commit 5912cdff3e1f2296b1f5753a008b225bdac4559a
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 14 16:26:41 2009 -0700
+
+ i965: fix some FBO depth/stencil assertions
+
+commit 658b1bdb1cc5f9910be910dc156a2e81ed999756
+Merge: e827845 03188b0
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Wed Jan 14 23:33:41 2009 +0000
+
+ Merge commit 'origin/master' into gallium-0.2
+
+ Conflicts:
+ docs/install.html
+ docs/relnotes-7.3.html
+ src/mesa/shader/slang/slang_codegen.c
+ src/mesa/shader/slang/slang_compile.c
+ src/mesa/shader/slang/slang_emit.c
+ src/mesa/shader/slang/slang_preprocess.c
+ src/mesa/shader/slang/slang_preprocess.h
+
+commit 03188b09e071ace9d9e21ccc56c01e90c0fa8639
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Wed Jan 14 12:46:06 2009 -0800
+
+ intel: SW fallback maps texture images, not texture coordinates
+
+commit 2d155f91d22d67c3aee5a11219a6e1a7c45c2d74
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Wed Jan 14 20:33:06 2009 +0000
+
+ trivial: clear with random color
+
+commit fae9604727c048834a7d5a90f8a652c86cff057a
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 14 12:16:00 2009 -0700
+
+ glsl: propagate pragma info down into compiler from preprocessor
+
+commit aac4a0509e6a5d8e3c8f8179519bcd21364ae18e
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 14 12:07:25 2009 -0700
+
+ windows: remove reference to swizzle.c file
+
+commit b5f89e5f17bdf718d1f1f29e7a10dee3809c9f29
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 14 11:58:45 2009 -0700
+
+ glsl: simplify IR storage for samplers
+
+ Don't overload the Size field with the texture target, to avoid confusion.
+
+commit c12d24b513a67648c30bf892964f887fad71e103
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 14 11:50:32 2009 -0700
+
+ mesa: fix incorrect transformation of GL_SPOT_DIRECTION
+
+ This was changed between GL 1.0 and 1.1. Mesa still had the 1.0 behaviour.
+
+commit 2549c26a8b1eec21bdd8f45d3b3dd06e17ac82ae
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Wed Jan 14 10:05:40 2009 -0800
+
+ Treat image units and coordinate units differently.
+
+ Previously MaxTextureUnits was used to validate both texture image
+ units and texture coordinate units in fragment programs. Instead, use
+ MaxTextureCoordUnits for texture coordinate units and
+ MaxTextureImageUnits for texture image units.
+
+ Fixes bugzilla #19468.
+
+ Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
+ Reviewed-by: Brian Paul <brianp@vmware.com>
+
+commit e82784559e00cb534993c01309ad1832e9b3e56b
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Wed Jan 14 17:01:16 2009 +0000
+
+ mesa: add new samplers_array test
+
+commit 85dfed93fe2a6aace7dd2e08f97760e7062e6eb3
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Wed Jan 14 16:53:22 2009 +0000
+
+ mesa: handle some cases of 0x0 render targets
+
+commit a98dccca36027fc0ed333075ab30176144e6c475
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Wed Jan 14 16:32:44 2009 +0000
+
+ glsl: fix regression from sampler arrays commit
+
+commit 1d376ae7c93fb4bb929942e56425c4be6401dff7
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Wed Jan 14 16:32:44 2009 +0000
+
+ glsl: fix regression from sampler arrays commit
+
+commit 1b3e3e6b841535b78ff4fa1d3861e9d8cdeff972
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 14 08:33:45 2009 -0700
+
+ i965: indentation fixes
+
+commit 49b53407c7c4f08b5e13591fd04080ca602fba40
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 13 10:40:19 2009 -0700
+
+ i965: allow larger AA points on fallback path
+
+commit d911e3e24fbfb5cd28cabb92f952775b7eb1d1d9
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 13 10:38:15 2009 -0700
+
+ i965: fix indentation
+
+commit 658ab3c3ae4c99e841a6639f6d012c23deeb5371
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 13 10:26:25 2009 -0700
+
+ i965: comment for emit_kil()
+
+commit 8f7349dbb46e1ec6d8194a42753e83c1913944bc
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 13 10:20:15 2009 -0700
+
+ mesa: put _NV suffix on a few opcodes
+
+commit d687476eddf96ba172d6d63b9cb4a091ce358b1a
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 13 10:09:02 2009 -0700
+
+ i965: fix indentation
+
+commit 3ef419f4a5d0c5bb6720196ae6cfe3002d4aabc8
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Wed Jan 14 11:34:29 2009 +0000
+
+ egl: fix makecurrent with null drawable/context
+
+commit d96c89e57916ffcc72742107caaa3a90f2b78a80
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Jan 14 11:39:12 2009 +0000
+
+ gallium: Disable memory debugging for Windows OGL.
+
+ Unfortunately both Mesa and Gallium use the same defines for memory
+ allocation (MALLOC, FREE, etc), and worse, some times memory is allocated
+ with one set and freed with the other set, causing the homegrown memory
+ debugger to trip on itself.
+
+ In the future mesa and gallium should use different names, but for now,
+ memory debugging on Windows will have to be carried with different tools..
+
+commit eb1f01a9d9543e241adf9e2d6bb776c991a4f05b
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Jan 14 11:36:14 2009 +0000
+
+ progs: List tri-clear.
+
+commit 83155aa11f1b12982ba501a495d8ccb15dc9b92e
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Jan 14 11:36:02 2009 +0000
+
+ scons: Use .a suffix for MinGW.
+
+ This allows to build MinGW and MSVC within the same dir.
+
+commit 529f86fb113529d1ecf113dc45efade7fe185f94
+Author: Jakob Bornecrantz <wallbraker@gmail.com>
+Date: Mon Jan 5 11:44:56 2009 +0100
+
+ intel: Add a none working GEM backend for intel
+
+commit 47e3a7d7942d722bc679852fec167cc3a8b5bdd4
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Jan 14 15:54:28 2009 +1000
+
+ radeon: get ctx right in copybuffer
+
+commit 4aa874c6368f2485d4ef72e2dc0230b7d443f9f0
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Jan 14 15:48:02 2009 +1000
+
+ r200: add missing symbols
+
+commit 8c6a7d01744fe6164a868c5f691bb119109773c0
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Jan 14 15:45:29 2009 +1000
+
+ radeon/r200/r300: make legacy emit non-r300 specific
+
+commit e7d06a55c5443cfef73f5c2f60052cc26a1e9ff2
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Jan 14 15:21:45 2009 +1000
+
+ radeon: move debug symbol add DRI2
+
+commit 61da612a4f8862e0aac4ff4fc87c133cb8a1c4a5
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Jan 14 15:12:57 2009 +1000
+
+ r300: start moving new r300 cmdbuf into common code
+
+commit 23295cf8e84495af86f62395d32b3116261927e8
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Jan 14 13:38:12 2009 +1000
+
+ radeon/r200/r300: consolidate swap buffers
+
+commit 44b916b2c0af0b451b8c45d5872663e61d9110e5
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Jan 14 13:38:03 2009 +1000
+
+ radeon: remove old lock code
+
+commit 7e5e327cea83d9f6d1485f9be440277540ace5c7
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Jan 14 13:23:24 2009 +1000
+
+ radeon/r200/r300: consolidate the buffer copy/flip code into one place
+
+commit d29e96bf33e91d071770b86d87ffc4ef4dfc2f70
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Jan 14 12:04:00 2009 +1000
+
+ radeon/r200/r300: attempt to move lock to common code
+
+commit f6d09531ff1588ea18048a842ab24338ae4bc5a7
+Author: Jonathan Adamczewski <jadamcze@utas.edu.au>
+Date: Wed Jan 14 12:37:46 2009 +1100
+
+ cell: Specify constant as float for CEILF().
+
+ Without the f, the constant is treated as a double, resulting in
+ slower arithmetic and libgcc conversion calls each time CEILF()
+ is used.
+
+commit c157a5bb9131dc95f2e5519fda19cf8c3567543a
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Wed Jan 14 09:32:55 2009 +0800
+
+ intel: bump driver date
+
+commit 4637235183b80963536f2364e4d50fcb894886dd
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Jan 14 10:44:48 2009 +1000
+
+ radeon/r200/r300: initial attempt to convert to common context code
+
+commit 14eca6b573f70485feb6dc6bc048843e1b65e780
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Tue Jan 13 23:59:18 2009 +0000
+
+ glsl: fix a comment typo
+
+commit ef0e0f2550b8bc63972ee53a80578b19ff2a5bbc
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Tue Jan 13 23:54:46 2009 +0000
+
+ glsl: support sampler arrays.
+
+commit 67c7f94a212864bf1d46e521e98638c3e5a83d4c
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Tue Jan 13 23:59:18 2009 +0000
+
+ glsl: fix a comment typo
+
+commit 8373347c051b68784b464c85fd3458f2d50df415
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Tue Jan 13 23:54:46 2009 +0000
+
+ glsl: support sampler arrays.
+
+commit 0217ed2cf9b0a538ca03d26b302a7cd57af7dd21
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Jan 14 08:40:15 2009 +1000
+
+ radeon/r200: move more stuff closer together in context
+
+commit 34d17d2bdc3da2fe8b669adc166f3ee07ad11391
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 13 15:09:13 2009 -0700
+
+ docs: #pragma now handled
+
+commit 01a0938776ad12e6560a17163bb7a6a3da9e9820
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 13 15:06:52 2009 -0700
+
+ glsl: add preprocessor support for #pragma
+
+ Two forms are supported:
+
+ Pragmas are silently ignored at this time.
+
+commit 1f47388dfebf15f610993f046e1f945024c8fc3c
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Fri Jan 9 18:28:38 2009 -0800
+
+ Add language about implicit flush and command completion
+
+ Copied language from the glXSwapBuffers manual page about the implicit
+ glFlush and expected command completion. This just codifies what
+ people already expect from glXCopySubBufferMESA. The intention of
+ this command is to work like glXSwapBuffers but on a sub-rectangle of
+ the drawable.
+
+ Acked-by: Brian Paul <brianp@vmware.com>
+
+commit b6e486906968d82c7b8a869d7ab51697a7cce80c
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Jan 14 06:28:43 2009 +1000
+
+ radeon/r200: move state atom to common header
+
+commit a8e0df08ef75db9d80ddc55098e436829af49d7c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jan 13 19:53:40 2009 +0000
+
+ xlib: split off cell to its own backend
+
+ Also remove compile-time USE_XSHM flag. Still check for XSHM at runtime
+ though.
+
+commit 2f19fecd583a4406385708de6362b3bdef23811e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jan 13 18:08:24 2009 +0000
+
+ xlib: allow winsys's to register themselves with glx/xlib state tracker
+
+commit 34500a6da565f769e55babc6d28c14f606e2d52a
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 13 09:03:43 2009 -0700
+
+ docs: fixes since 7.3-rc1
+
+commit 00c02626d8087cab0cf5581911c4e68f7b32eb6e
+Author: Karl Schultz <karl.w.schultz@gmail.com>
+Date: Tue Jan 13 09:01:34 2009 -0700
+
+ windows: try to create a context in wglCreateLayerContext()
+
+commit 692ca82116485a9c6191e5265c5b369d5b4f82f3
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Jan 13 22:55:27 2009 +1000
+
+ radeon/r200: start splitting out commonalities into separate headers
+
+commit 4b9a09e9f63791787fb9a276a4efd685b399be52
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Jan 13 16:50:15 2009 +1000
+
+ radeon: use bo_wait to wait for all buffers to be rendered to
+
+ Not 100% sure this is correct, but its what Intel does and its better than
+ CP_IDLE.
+
+commit f883c14560fad2ab88744e3212776a338a96fb96
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Jan 13 13:25:14 2009 +1000
+
+ nv50: fix progs/tests/manytex
+
+ Previously all squares were textured with the same texture.. not quite what
+ the demo was supposed to look like!
+
+commit adee4b902166fe57d8e28f604ba4917ff0d17987
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Jan 13 13:19:22 2009 +1000
+
+ nv50: get glxgears showing all 3 gears instead of 1!!
+
+ This fixes a lot of other things where not all the geometry got drawn
+ also.
+
+commit 8337c78d91612d615a1368ee8ee188d80574fad4
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Jan 13 12:49:53 2009 +1000
+
+ nv50: change some magic reg, makes more things work
+
+ No real idea what this does.. but a lot of things that misrendered and
+ made the GPU throw a DATA_ERROR now work.. I'm wondering what side-effects
+ we'll see from this :)
+
+commit e8b00886925cdb1f02759ce603ea7d54397d2264
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Jan 13 11:44:30 2009 +1000
+
+ nv50: add DXTn formats
+
+commit 68bb26b62d87ae6737ba51a4bffda49eeb7647cb
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Jan 13 10:58:17 2009 +1000
+
+ nv50: shadow mapping
+
+commit f7c2010525a3fb37079c2cff51d4c593ef8e807b
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Jan 13 10:55:06 2009 +1000
+
+ nv50: aniso
+
+commit 918fc55e5f5cbedd3ab8fb3e02b225106c059fa6
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Jan 13 10:44:52 2009 +1000
+
+ nv50: occlusion queries
+
+ Not quite working, but the general idea is right I think.
+
+commit d2442016afdc5e3b12b04d912f005ab183f7b8ff
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Jan 13 09:56:40 2009 +1000
+
+ nv50: implement KIL enough for progs/fp/kil to work
+
+commit 068107b5ad0d3b6e2575cc712398d876f266bb90
+Author: Jonathan Adamczewski <jadamcze@utas.edu.au>
+Date: Tue Jan 13 14:02:18 2009 +1100
+
+ cell: Add missing suffix to SHUFFLE macro
+
+commit 402e6752b53d04af0bbfc5391547c2d127bce859
+Author: Jonathan Adamczewski <jadamcze@utas.edu.au>
+Date: Mon Jan 12 16:24:49 2009 -0700
+
+ cell: allocate batch buffers w/ 16-byte alignment
+
+ Replace cell_batch{align,alloc)*() with cell_batch_alloc16(), allocating
+ multiples of 16 bytes that are 16 byte aligned.
+
+ Opcodes are stored in preferred slot of SPU machine word.
+
+ Various structures are explicitly padded to 16 byte multiples.
+
+ Added STATIC_ASSERT().
+
+commit eeeed45c2cf6c876d79ae20a9a96172ece8642fe
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jan 12 15:47:36 2009 -0700
+
+ i965: fix glDrawPixels Z coordinate in intel_texture_drawpixels().
+
+ As for glBitmap, it needs to be an NDC coord in [-1,1].
+
+commit 3a5463d158eff483a992c9792d771fb80db9aed0
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jan 12 15:43:54 2009 -0700
+
+ i965: fix broken glBitmap + depth test
+
+ When we use the do_blit_bitmap() function, it seems the fragment Z is always
+ 1.0. If depth testing is on, that means that bitmap fragments are often
+ occluded by other rendering. So, the bitmap doesn't appear even if
+ rasterpos.Z==0.
+ The fix is to use the intel_texture_bitmap() path when depth testing is on.
+ Also, fix the incorrect Z coordinate. It needs to be an NDC value in [-1,1].
+
+commit de35989cdec9807c60b2b4389e5988037ce23d95
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 9 15:52:04 2009 -0700
+
+ i965: fix broken ARB fp fog options
+
+ Just call _mesa_append_fog_code() if the fragment program's FogOption is
+ not GL_NONE.
+ This allows us to remove some unnecessary i965 fog code.
+ Note, the arbfplight.c demo can be used to test this (see DO_FRAGMENT_FOG).
+
+commit a2d5031b1e133523591f1683527c2c96f58aa606
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 12 19:38:39 2009 +0000
+
+ dri: make dri_display_surface static
+
+commit 3e492acc579ba0a98d0388aa73605aba5bf9840c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 12 19:33:44 2009 +0000
+
+ dri: pull dri_swapbuffers.c into dri_drawable.c
+
+commit 29f603a270da711a2a980cc9896e5883e59227cd
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Mon Jan 12 11:10:31 2009 -0800
+
+ autoconf: Only _GNU_SOURCE feature test macro needed on gnu systems
+
+ According to feature_test_macros(7), _GNU_SOURCE encompasses all the
+ other feature macros we were setting, so we can just dispose of them.
+
+commit 7f7fc3e3af6471a224a10bf3d2cd6ddd7a96d334
+Author: Julien Cristau <jcristau@debian.org>
+Date: Mon Jan 12 16:04:32 2009 +0100
+
+ mesa: match against *-gnu* instead of *-gnu in configure.ac
+
+ Fixes build on arm-linux-gnueabi
+
+commit a0318d7f8eea286a99c8fd6afb4d71b66d2b341c
+Author: Thomas Henn <thomas.henn@igd.fraunhofer.de>
+Date: Mon Jan 12 10:56:42 2009 -0700
+
+ windows: updated VC8 project files
+
+commit 06fdb6a74cfdddb5f598ddfeab890c59f176dab8
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jan 12 08:52:54 2009 -0700
+
+ glsl: better fix for for-loop scope issue (commit 6333005f7aea3e5d1d86a5c47b3fa2a1ed2f3ff0)
+
+commit 88fdddcbbe690c52f91f76216298700c370f9650
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jan 12 08:35:53 2009 -0700
+
+ windows: added new sources for 7.3 (may be more, needs testing)
+
+commit 1598be5083758c1c289be16ee01665865ed0fb62
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jan 12 07:55:14 2009 -0700
+
+ mesa: add osmesa.pc.in to tarball list
+
+commit 45604ffac705a39e4cefa6b523e69535daf0db5b
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Mon Jan 12 15:05:05 2009 +0100
+
+ gallivm: Make sure the bitcode buffer is followed by a 0 byte.
+
+ May fail to parse otherwise.
+
+commit 3425257e14e3f4b1f663649856f73b520726db9b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 12 11:52:13 2009 +0000
+
+ dri: rename dri1 directory
+
+commit 782eae916d1f02121785448d4ab4759767a46afd
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 12 11:51:57 2009 +0000
+
+ dri: sketch of new device-independent glx/dri state tracker
+
+commit f43e621e2207f819f756d9b9539b2a25b7b936fe
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Mon Jan 12 12:39:31 2009 +0100
+
+ gallivm: Print error message from ParseBitcodeFile() in case it fails.
+
+commit 359bbe7432babb328a313756b9d1e46e187914b8
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Mon Jan 12 12:37:13 2009 +0100
+
+ gallivm: Explicitly specify the LLVM components we need.
+
+commit f586c31fa6259757ae92868b63783377d7943389
+Author: Michel Dänzer <daenzer@vmware.com>
+Date: Mon Jan 12 12:34:27 2009 +0100
+
+ gallivm: Adapt to header file move in LLVM 2.4.
+
+commit 7a90ace9c8c8b8509eaf5a4b30b26101d9c5e612
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jan 12 16:47:17 2009 +1000
+
+ nv50: make rtt work again
+
+commit ac6516101b555e65d70ba40b253eddd357b811b9
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jan 12 16:32:49 2009 +1000
+
+ nv50: fix handling of depth textures
+
+commit 39bcc397174cbc6a0293a406d34d00a4f6b90e24
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jan 12 16:24:42 2009 +1000
+
+ nv50: another typo..
+
+commit ecb2eb4c991be40cf4235fadd286c942179f4036
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jan 12 16:15:58 2009 +1000
+
+ nouveau: fix warning
+
+commit 73f1857aeea8f48deb3d12ef2bfc1fca00df6a69
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jan 12 15:42:20 2009 +1000
+
+ nv50: fix assertion failure
+
+commit f935f352873a69767415210c5dace47d240de0b0
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jan 12 15:19:35 2009 +1000
+
+ nv50: remove previous hack to manage tiled surfaces
+
+commit 515c3d9bc15f66e5ffea87efee52fc27b4b558db
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jan 12 15:06:15 2009 +1000
+
+ nv50: fix a typo and a thinko
+
+commit ed8f0b753b42cc9c9519b8cdc6c40729efb7243a
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jan 12 14:27:51 2009 +1000
+
+ nv50: enable npot textures
+
+commit b01d0077af9d93c582e5f53ebd358ac8148b22df
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jan 12 14:26:15 2009 +1000
+
+ nv50: disable shader debug
+
+commit 08b6534bc80925e4574d6b893f8aa14751b44a3f
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jan 12 14:10:24 2009 +1000
+
+ nv50: any cpu access to a texture is done on its backing images
+
+ Still a little dodgy:
+ - RTT will hit an assertion (hopefully!) and fail
+ - 3D textures with depth >= 32 will cause bad things to happen
+
+commit 103020f2646e224a21dcd0dd27d71a10865c0d3d
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jan 12 13:42:19 2009 +1000
+
+ nv50: create buffers for each image that makes up a texture
+
+commit df266471b1f0eae54cf23fd59a741fa3be9b93df
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jan 12 13:27:13 2009 +1000
+
+ nouveau: return buffer map to something sane.
+
+ Sorry, but no, we're not doing this.. Correctness always takes precedence
+ over speed. Implement this higher up where you know it's safe to do so,
+ and doesn't break other things in the process.
+
+commit 7b6fb34e9d1da73cc92fc63fa1d52082df5904ee
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jan 12 13:25:28 2009 +1000
+
+ nouveau: use usage, not uninitialised flags value...
+
+commit 436024561aa6d78f78601f690803bd3845d225e7
+Author: Matthieu Herrb <matthieu.herrb@laas.fr>
+Date: Sun Jan 11 16:56:34 2009 -0700
+
+ Build fixes for gcc 2.95
+
+commit 0f0922f93cbe997a95575c955ab1544bb5cd1d7d
+Author: Matthieu Herrb <matthieu.herrb@laas.fr>
+Date: Sat Oct 11 08:51:43 2008 +0200
+
+ Big endian fixes.
+
+commit 33f6dc3c334cc065d7c98d0481be19b208e1837d
+Author: Matthieu Herrb <matthieu.herrb@laas.fr>
+Date: Sun Sep 21 10:56:57 2008 +0200
+
+ build fix on big endian OpenBSD architectures.
+
+commit 356428d4e4dba433b405f63ff918d76eaf4b4215
+Author: Matthieu Herrb <matthieu.herrb@laas.fr>
+Date: Sun Sep 14 20:58:29 2008 +0200
+
+ replace nearbyint() by rint() for now.
+
+commit b4866f8a5229d4769a49b4c54a1675a61497d206
+Author: Owain G. Ainsworth <oga@openbsd.org>
+Date: Sun Jan 11 20:40:07 2009 +0000
+
+ Fix build with GCC 2.95.
+
+commit 297a9606ead4400a60a1b5106327c226db4b3474
+Author: Matthieu Herrb <matthieu.herrb@laas.fr>
+Date: Sat Sep 13 19:07:28 2008 +0200
+
+ __builtin_expect is a gcc 3.x feature. define it out for gcc 2.95.
+
+ Patch suggested by miod@. Thanks.
+
+commit 516dd9b36163259ee5a8d356e59a2eadb6a6bdb1
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Jan 11 15:28:38 2009 -0700
+
+ cell: optimize unpack_colors() function, saving 12 cycles
+
+commit 6324c77e01b348ae5e5cddc23a5302871d3c018c
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Jan 11 15:18:28 2009 -0700
+
+ cell: move color unpacking code into separate function
+
+commit b27eb7cb4f5b49b9e7c24deb6c1fb52908f63703
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Jan 11 15:11:00 2009 -0700
+
+ cell: re-order the z/stencil fetch/extract/convert instructions for better perf
+
+ The new instruction order is 10 cycles faster.
+
+commit c4a782041b19cb4a08712384b19be25b79acba3c
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Jan 11 14:22:00 2009 -0700
+
+ cell: datatype clean-ups in SPE rtasm
+
+commit c73b8c41313b4f1f425f0e56a8c1650b70c39fc8
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Jan 11 14:06:39 2009 -0700
+
+ cell: simplify the 'optional register' code
+
+commit 91fac69537520b2427e4004203d92c092489de0d
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Jan 11 13:52:58 2009 -0700
+
+ cell: asst datatype clean-ups
+
+commit 097da27f55b3c168a98e575132ae26d6cb121136
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Jan 11 13:40:28 2009 -0700
+
+ cell: move depth/stencil code into separate function
+
+commit 33ba88a0df9f414f3ea7fd35d1fedb059f220b88
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Jan 11 13:23:44 2009 -0700
+
+ cell: clean-up, re-indent, comments
+
+commit e37a3aed95ea91a7ddbabc4bed1fac7c451fe695
+Merge: 61e843f 83a525a
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Sun Jan 11 16:19:21 2009 +0000
+
+ Merge commit 'origin/gallium-0.2' into gallium-xlib-rework
+
+commit d67987b0d144bb754215784cf347512806f15496
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Mon Dec 1 21:44:03 2008 -0500
+
+ Bump dri2proto requirement to 1.99.3, drop CopyRegion bitmask from protocol.
+ (cherry picked from commit 154a9e5317f890618932cea0129ef887e16baf84)
+
+commit efe68930dce815b3ecda7dc1164dcd9a504dc525
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sun Jan 11 09:47:38 2009 +1000
+
+ radeon/r300: add code to setup r300 vs r500 using pci device from kernel
+
+commit 44557bf065b89abc45c24829c6ba7395925463e8
+Author: Brian <brianp@vmware.com>
+Date: Sat Jan 10 16:32:32 2009 -0700
+
+ mesa: require libdrm 2.4.3 in configure.ac
+
+commit 83a525af95bbb8012b9d7ee6b766621d6bb2d701
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 9 22:32:11 2009 -0700
+
+ cell: use tgsi_dump_instruction() instead of spe_comment()
+
+commit 2acf07983f8bb134d639c9e652e7e0e3307e20f3
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 9 22:03:48 2009 -0700
+
+ gallium: use tgsi_dump_instruction() instead of ppc_comment()
+
+commit d4394bb768f17ac6a7e99116f2bc79c40dca3c5b
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 9 21:51:22 2009 -0700
+
+ gallium: remove unused struct type
+
+commit 0c71313970be3d097814839577cd141d46666783
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 9 21:48:54 2009 -0700
+
+ gallium: fix register clobber bug in TGSI->PPC codegen
+
+ When negating a src vector that's stored in a altivec register, need to put
+ negated value into a new register so we don't upset the original value.
+ This solves the dark colors in the mandelbrot GLSL demo.
+ Also, use new predicate functions to check if a TGSI temp is stored in
+ an altivec register.
+
+commit 1922ea965ac5c411cf5a3ed0ac7c8dbb873dba6c
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 9 21:46:08 2009 -0700
+
+ gallium: emit comments in TGSI->PPC codegen
+
+commit 2ebd969f0f0d0e45e6ac462059cf322f037775f1
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 9 21:42:58 2009 -0700
+
+ gallium: code to dump/debug PPC code (disabled)
+
+commit 7acaeb87750226e7407908bc2dfa9989049202fa
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 9 21:42:17 2009 -0700
+
+ gallium: added comment/annotation support to PPC rtasm
+
+commit fba6dac380ed7db17c7f329d03fd5bcfae9c6aaf
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 9 21:00:15 2009 -0700
+
+ cell: added rule to produce .s assembly files
+
+commit 2b26a92cd34f8d83cc0ae621d1cfeb3955de57fa
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 9 20:57:14 2009 -0700
+
+ gallium: s/false/FALSE/
+
+commit f1455ca5f411ee8f7d992682e3e9c55d82e75715
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Jan 10 12:21:37 2009 -0700
+
+ mesa: omit old headers from tarball
+
+commit 6cee4b8d7ec8d9ab6cb04572a2203e2cff64c667
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sat Jan 10 14:11:30 2009 -0500
+
+ mesa: Update .gitignore
+
+commit 0b03cd4ea744c32f3f553f7af21c0241926998c8
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sat Jan 10 14:09:59 2009 -0500
+
+ nouveau: Update nv30 swizzling.
+
+commit 834db8215362ca859ad4ef18441936238d1b6670
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Jan 10 12:09:08 2009 -0700
+
+ docs: document deprecated/removed headers/interfaces
+
+commit ef193c10e7b3f048abf5fce0d7dc4d72d94ba123
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Jan 10 12:07:58 2009 -0700
+
+ mesa: remove old GLView.h header for BeOS
+
+commit c3a00a728b15a13a33a38c8687ed6732c98d2260
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Jan 10 12:06:29 2009 -0700
+
+ mesa: remove deprecated headers from Makefile.am
+
+commit 287102ddcc72ae19f7e6b912205805c5e78771f7
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Jan 10 12:04:39 2009 -0700
+
+ mesa: deprecate GL/amesa.h header (allegro driver)
+
+commit f5979b0c159d1d3839caf86072639f5d96a5b0b5
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Jan 10 12:01:40 2009 -0700
+
+ mesa: deprecate the GL/fxmesa.h header
+
+commit d25cc16efa356a92f61f0b4836bcbd0b4cb606d2
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Jan 10 12:00:27 2009 -0700
+
+ mesa: remove the ancient include/GL/ugl*.h headers
+
+commit 1636328b0adefcebcc204d63980184a6d592efae
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Jan 10 11:57:13 2009 -0700
+
+ xmesa: deprecate the "XMesa" interface
+
+ Move the include/GL/xmesa*.h files to src/mesa/drivers/x11/ so they're no
+ longer considered public.
+
+commit 2c56dd775771d9d5ea2e22cf4ee4b5dbbbb2a03d
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Jan 10 11:52:55 2009 -0700
+
+ docs: prerequisite updates
+
+commit 8ee238be7587a232beeb56b1dc3b75e1b8fb903e
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sat Jan 10 13:30:29 2009 -0500
+
+ nouveau: Factor out common winsys bits into libnouveaudrm.a
+
+commit 734b3cb182b4b7d1075faf60c1a23ab0a55af356
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sat Dec 20 17:37:24 2008 -0500
+
+ g3dvl: Use Gallium thread wrappers.
+
+commit 1e9c3efcc783cee46268cc227234ed118f0cc08b
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sat Dec 20 17:09:55 2008 -0500
+
+ g3dvl: Use Gallium MALLOC wrappers.
+
+commit db1021a37c29a60c70ce294077680ca3e98a6460
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sat Dec 20 16:31:29 2008 -0500
+
+ g3dvl: Get rid of old unbuffered motion compensation code.
+
+commit 3c1b790c313b46e16640d25a93d165646454d3d6
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sat Dec 20 16:30:33 2008 -0500
+
+ g3dvl: Map vertex bufs once per frame/flush.
+
+commit 9beb004885ab5be652bcb733a5fd9ee729f89921
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sat Dec 20 14:42:29 2008 -0500
+
+ nouveau: Catch some more leaks.
+
+commit c10db52fcdaf1e21699fa681b701f224b1410990
+Author: Younes Manton <younes.m@gmail.com>
+Date: Thu Dec 11 23:04:51 2008 -0500
+
+ g3dvl: Fix some memory leaks.
+
+commit 87e39466dc49e033c4075f99343856637611b438
+Author: Younes Manton <younes.m@gmail.com>
+Date: Thu Dec 11 18:05:59 2008 -0500
+
+ g3dvl: Allocate one set of bufs, let winsys rename them as necessary.
+
+commit af2a856caa84755d3b1a0a887d000ce7dc3221dd
+Author: Younes Manton <younes.m@gmail.com>
+Date: Thu Dec 11 17:55:16 2008 -0500
+
+ nouveau: Add busy() query, determines if BOs can be mapped immediately.
+
+commit 7289c388f442fe532de52058f9167bc331920b1a
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sat Dec 6 15:45:00 2008 -0500
+
+ nouveau: Use PIPE_BUFFER_USAGE_CPU_* instead of custom.
+
+commit 0e1301ec8f7bc865b8a81214928e5267393cb8e7
+Author: Younes Manton <younes.m@gmail.com>
+Date: Fri Dec 5 02:27:35 2008 -0500
+
+ g3dvl: Expand YCbCr to full RGB range by default.
+
+commit 9cbcdd86d08b743d443fb0c6e5316632a4b4f99b
+Author: Younes Manton <younes.m@gmail.com>
+Date: Fri Dec 5 02:27:10 2008 -0500
+
+ g3dvl: Work around mplayer weirdness in XvMCPutSurface().
+
+commit ebd38dd0d63151d6ee89f98af3450b3b9c4fa1f4
+Author: Younes Manton <younes.m@gmail.com>
+Date: Fri Dec 5 02:26:47 2008 -0500
+
+ g3dvl: Flag textures holding incoming data as dynamic.
+
+commit 34c0281879b589dc42d134a10349eac66c7b2f0d
+Author: Younes Manton <younes.m@gmail.com>
+Date: Fri Dec 5 02:26:07 2008 -0500
+
+ nouveau: Put dynamic textures in GART for CPU access and don't swizzle.
+
+ Also flag shadows as dynamic since they're for CPU access as well.
+
+commit fbf418d9dc0aa2965ca7673ae20f6e47c4a53c8a
+Author: Younes Manton <younes.m@gmail.com>
+Date: Fri Dec 5 02:22:56 2008 -0500
+
+ gallium: Define PIPE_TEXTURE_USAGE_DYNAMIC.
+
+ Knowing how the client intends to use the texture will give the
+ driver the opportunity to optimize for such cases.
+
+commit 72aa42e59468817798484defe5b3f6dfec0d33e3
+Author: Younes Manton <younes.m@gmail.com>
+Date: Fri Dec 5 02:21:55 2008 -0500
+
+ nouveau: Swizzle textures larger than nv04 SIFM limit in parts.
+
+ Limit of SIFM on nv40 is 1024x1024, not sure about others.
+
+commit 6333005f7aea3e5d1d86a5c47b3fa2a1ed2f3ff0
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Jan 10 11:40:20 2009 -0700
+
+ glsl: force creation of new scope for for-loop body
+
+ Fixes regression in progs/demos/convolution.c due to loop unrolling.
+ This also allows the following to be compiled correctly:
+ for (int i = 0; i < n; i++) {
+ int i;
+ ...
+ }
+ This fix is a bit of a hack, however. The better fix would be to change
+ the slang_shader.syn grammar. Will revisit that...
+
+commit 1d352b42a106ed0c3cd0831fa681d07794b7ff3d
+Author: Brian Paul <brianp@vmware.com>
+Date: Sat Jan 10 11:39:05 2009 -0700
+
+ glsl: replace 0/1 with GL_FALSE/GL_TRUE
+
+commit 9939a306f7dc109d301e7b2d6abf4f2ab019bde0
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Fri Jan 9 13:56:44 2009 -0800
+
+ swrast: Fix GL_ATI_separate_stencil
+
+ GL_ATI_separate_stencil is enabled by default for software
+ rasterizers, but the extension functions weren't hooked up to the
+ dispatch table.
+
+commit 7844b4e730604e613a88f536c4aeee5c02d300fd
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Jan 9 19:08:56 2009 +0000
+
+ draw: Add missing include.
+
+commit 61e843ff4bf9b9e8c4a7a8a485cee852a4f1dd86
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Jan 9 17:52:06 2009 +0000
+
+ xlib: move state tracker to glx/xlib
+
+ Also, remove makefile hacks.
+
+commit a719d704741ae21d1b12138c863f22286b98a5af
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 9 09:59:49 2009 -0700
+
+ glsl: make minimum struct size = 2, not 1
+
+ 1-component structs such as "struct foo { float x; }" could get placed at
+ any position within a register. This caused some trouble computing the
+ field offset which assumed all struct objects were placed at R.x.
+ It would be unusual to hit this case in normal shaders.
+
+ (cherry picked from master, commit ca03e881a8d8fa3e36a601238559c20311373633)
+
+commit ca03e881a8d8fa3e36a601238559c20311373633
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 9 09:59:49 2009 -0700
+
+ glsl: make minimum struct size = 2, not 1
+
+ 1-component structs such as "struct foo { float x; }" could get placed at
+ any position within a register. This caused some trouble computing the
+ field offset which assumed all struct objects were placed at R.x.
+ It would be unusual to hit this case in normal shaders.
+
+commit 75aac1b49665b471a4da79de95441c625923f18f
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Jan 9 14:38:23 2009 +0000
+
+ xlib: disable more cell calls when GALLIUM_CELL not defined
+
+commit 93bad7ffa1bde2e56b72ff7f2010e51712b39956
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jan 9 11:05:03 2009 +0000
+
+ xlib: strip out some CI and overlay support
+
+commit b7ab4a6e99011841ac54cdd32eb41fe8799252b8
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jan 9 10:52:25 2009 +0000
+
+ xlib: strip out some overlay support
+
+commit 6322d638ce80e51539c92e176d060d4be4eb22b0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jan 9 10:42:23 2009 +0000
+
+ xlib: strip out glXAllocateMemoryNV & friends
+
+commit 05f8e41b9567695e9b96276d3ac5734ed2b268a8
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jan 9 10:40:47 2009 +0000
+
+ xlib: combine and eliminate some header files
+
+commit 834c93687f4dcdba31725dca1fe238e62ac91f8d
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Fri Jan 9 11:23:47 2009 +0000
+
+ st: build fix
+
+commit ffe7bda603132e95f4d8a4de369bd3134d51b455
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 8 17:21:20 2009 -0700
+
+ mesa: 7.3-rc-1 Makefile changes
+
+commit 4441e0a7b2b567dca3b3d45e7c6cffec64d48359
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 8 17:20:41 2009 -0700
+
+ mesa: latest glxext.h header, no version change
+
+commit 258c55db110a412060fc6afea930ea0febb7ab94
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 8 17:20:18 2009 -0700
+
+ mesa: import glext.h version 44
+
+commit bd03d9bdbbe39a4fcfb49c02bbd5304c054743f5
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 8 17:19:51 2009 -0700
+
+ docs: dri2proto, libdrm tweaks
+
+commit 233a58ff565f0cc31345fe36bd8d9b929fdc9ace
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 8 17:07:28 2009 -0700
+
+ glsl: fix typo in the vec2 += operator function
+
+commit f75910e9b781ba912bee791ba938d744c1d8f4f5
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 8 16:16:36 2009 -0700
+
+ mesa: set version string to 7.3-rc1
+
+commit da37940973110b8e64cd10d2f5f1d0ea8c81163f
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 8 16:14:19 2009 -0700
+
+ docs: more 7.3 doc updates
+
+commit 178f1ff486bcff2b318dc346235a9758875faa13
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 8 16:12:23 2009 -0700
+
+ docs: import 7.2 relnotes, start on 7.3 relnotes
+
+commit ebccb250f7131eb508536db7a00608aee98a3b21
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 8 15:32:02 2009 -0700
+
+ glsl: fix broken +=, -=, *=, /= operators
+
+ These functions need to return the final computed value.
+ Now expressions such as a = (b += c) work properly.
+ Also, no need to use __asm intrinsics in these functions. The resulting
+ code is the same when using ordinary arithmetic operators and is more legible.
+
+commit 5273a5f0d7b433150cdb16737bb295d76d0594a0
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 7 12:31:14 2009 -0700
+
+ mesa: fix off-by-one bug in _mesa_delete_instructions()
+
+commit 28c503d4bb7b46c593d346f142b05f35afe0d0d1
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jan 7 16:56:02 2009 -0800
+
+ i965: Fix GLSL FS DPH to return the right value instead of src0.w * src1.w.
+
+commit 739d38c8e9a23c6e45f4869a01f0e104e1d78a8f
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jan 7 14:26:11 2009 -0800
+
+ i965: Remove worrisome comment about _NEW_PROGRAM signaling fp change.
+
+ Everything now depends on either BRW_NEW_FRAGMENT_PROGRAM or
+ BRW_NEW_VERTEX_PROGRAM.
+
+commit 510916f50961a3a9286807e7f75ba716f3e7f967
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jan 7 14:09:07 2009 -0800
+
+ mesa: Remove _Active and _UseTexEnvProgram flags from fragment programs.
+
+ There was a note in state.c about _Active deserving to die, and there were
+ potential issues with it due to i965 forgetting to set _UseTexEnvProgram.
+ Removing both simplifies things.
+
+ Reviewed-by: Brian Paul <brianp@vmware.com>
+
+commit 5e116e52a2859cca27e984c4ee4fef69a9280e56
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jan 7 13:52:51 2009 -0800
+
+ i965: Remove dead brw_vs_tnl.c
+
+commit ac984c95ed28dfad8a09e168e9e4cb41cf31d039
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 7 18:45:49 2009 -0700
+
+ i965: allow gl_FragData[0] usage when there's only one color buffer
+
+ If gl_FragData[0] is written but not gl_FragCOlor, use the former.
+
+commit efd120842498a908bf722413ed603e368f2e18b3
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 7 18:44:41 2009 -0700
+
+ mesa: additional case in file_string()
+
+commit d33b0f1a8d7eb295cc403b12dce9d56b3f0393b2
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 7 18:44:00 2009 -0700
+
+ glsl: pass GLcontext::Extension info down into GLSL preprocessor
+
+ Now the #extension directives can be handled properly.
+
+commit 1169457ecaa470191f56bd740de90585d8eb349a
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 7 18:41:54 2009 -0700
+
+ glsl: bump up MAX_FOR_LOOP_UNROLL_COMPLEXITY
+
+commit f8a4ad1aeeef1debe6f206bc30696304edd7704c
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 7 18:22:56 2009 -0700
+
+ glsl: check that the fragment shader does not write both gl_FragColor and gl_FragData[]
+
+commit 5727ed130ef1d3adb87de89ea717e07726131f3e
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 7 15:06:06 2009 -0700
+
+ i965: init dst reg RelAddr field to zero
+
+commit 735bdcfad82d87f943c6fb40f4534e9125d3c595
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jan 7 12:38:34 2009 -0800
+
+ i965: Note when we drop saturate mode on the floor in a VP.
+
+commit 8ea48b94f948f3468df718dab2b8258b5d71b6b4
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jan 7 12:37:58 2009 -0800
+
+ i965: Add support for LRP in VPs.
+
+ Bug #19226.
+
+commit bc5450f41c7dad6edbaa27376351a32ac0dfcdf4
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 7 08:56:10 2009 -0700
+
+ glsl: disable some unused functions (but don't remove just yet)
+
+commit 3ebc79ce890e42e5d8a862cb01f99d8d51df61b3
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 7 08:54:09 2009 -0700
+
+ glsl: also unroll loops with variable declarations such as "for (int i = 0; ..."
+
+commit 5dfd429c7e7a543a4a4f62e437c371003e42a029
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 7 08:32:21 2009 -0700
+
+ glsl: remove dead code
+
+commit 89c078a58e0b7cf05366c7e2e90eece9a84a63d4
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 7 08:25:59 2009 -0700
+
+ mesa: OSMesa Makefile fixes (use LIB_DIR)
+
+commit ac8a33671a7aaa0527490a1615495fac73081bc0
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 6 17:36:20 2009 -0700
+
+ glsl: loop unroll adjustments
+
+ Add a "max complexity" heuristic to allow unrolling long loops with small
+ bodies and short loops with large bodies.
+
+ The loop unroll limits may need further tweaking...
+
+commit 12fe642f96a2a9439f9ac8751151ae6e7fa20049
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 6 17:24:23 2009 -0700
+
+ glsl: implement loop unrolling for simple 'for' loops
+
+ Loops such as this will be unrolled:
+ for (i = 0; i < 4; ++i) {
+ body;
+ }
+ where 'body' isn't too large.
+
+ This also helps to fix the issue reported in bug #19190. The problem there
+ is indexing vector types with a variable index. For example:
+ vec4 v;
+ v[2] = 1.0; // equivalent to v.z = 1.0
+ v[i] = 2.0; // variable index into vector!!
+
+ Since the for-i loop can be unrolled, we can avoid the problems associated
+ with variable indexing into a vector (at least in this case).
+
+commit aed1bb6bc38a1925f15ad4aea707579f653d82c7
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 6 14:28:49 2009 -0700
+
+ mesa: Move var declaration to top of scope.
+
+ (cherry picked from commit 3740a06e28f4cd09e2a3dce2da60320aa9304df1)
+
+commit e3734593aea202e99e77febea7b86c904080939f
+Merge: 221352b 5cad143
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Fri Jan 9 10:08:06 2009 +0000
+
+ Merge commit 'origin/gallium-0.2' into gallium-xlib-rework
+
+ Conflicts:
+
+ progs/glsl/Makefile
+
+commit 630b6e896b30d8e856c1c86f4b67f64111ba59f5
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 8 17:07:28 2009 -0700
+
+ glsl: fix typo in the vec2 += operator function
+
+commit 4497a5a57d0fdb5c5ec15750e477aeb49f5e453d
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 8 17:21:20 2009 -0700
+
+ mesa: 7.3-rc-1 Makefile changes
+
+commit f7b4c2cca9ea9013f527b25ae45605047c58d64c
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 8 17:20:41 2009 -0700
+
+ mesa: latest glxext.h header, no version change
+
+commit 08fdc741bc509c284532d0e2fec32980c3047aec
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 8 17:20:18 2009 -0700
+
+ mesa: import glext.h version 44
+
+commit d0c2cbd2571dba66463a37222d058f4394ba0918
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 8 17:19:51 2009 -0700
+
+ docs: dri2proto, libdrm tweaks
+
+commit acd99f67cc04ae249e35a9d80de12c0af012e4fc
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 8 17:07:28 2009 -0700
+
+ glsl: fix typo in the vec2 += operator function
+
+commit 0713e9da73cebfc35550ab192f385b955eb8ebcd
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 8 16:16:36 2009 -0700
+
+ mesa: set version string to 7.3-rc1
+
+commit 2c0ce92e8af4aab75f9a69a7913a1bec705220f3
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 8 16:15:31 2009 -0700
+
+ docs: updated Cell docs, from gallium-0.2 branch
+
+commit 1ed9b1ec90a0d641c12a0e7f613e588cf612fb5d
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 8 16:14:19 2009 -0700
+
+ docs: more 7.3 doc updates
+
+commit 11ade9a3d1725075ef618a025f5494402dbc0053
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 8 16:12:23 2009 -0700
+
+ docs: import 7.2 relnotes, start on 7.3 relnotes
+
+commit 1efbad7499626fd5e3718f07de4ed51a346710df
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 8 15:32:02 2009 -0700
+
+ glsl: fix broken +=, -=, *=, /= operators
+
+ These functions need to return the final computed value.
+ Now expressions such as a = (b += c) work properly.
+ Also, no need to use __asm intrinsics in these functions. The resulting
+ code is the same when using ordinary arithmetic operators and is more legible.
+
+commit 730a407ca288bdd0120b9bb436ae716bfb9415f5
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 8 15:32:02 2009 -0700
+
+ glsl: fix broken +=, -=, *=, /= operators
+
+ These functions need to return the final computed value.
+ Now expressions such as a = (b += c) work properly.
+ Also, no need to use __asm intrinsics in these functions. The resulting
+ code is the same when using ordinary arithmetic operators and is more legible.
+
+commit 19c877c3278f5bfc48f55b2ee35ec5f6769e4c90
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 7 12:31:14 2009 -0700
+
+ mesa: fix off-by-one bug in _mesa_delete_instructions()
+
+commit 221352bbd79a0ea92ce31cffb65537f62ee5668e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jan 8 16:35:05 2009 +0000
+
+ xlib: strip out glXAllocateMemoryMESA & friends
+
+commit 44a9f505d79fe843068ecc89e37aec02682fb8a0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jan 8 16:14:45 2009 +0000
+
+ xlib: remove VMS tweaks, these should be moved to p_compiler.h if needed
+
+commit 3afe1e42d79a13be203dcd8719c965111ce8bba2
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jan 8 16:14:01 2009 +0000
+
+ xlib: remove unsued _glxapi_get_extensions func
+
+commit ee2876316a541c7513cc902f106a00890c625f9f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jan 8 16:05:45 2009 +0000
+
+ xlib: strip out some unused XMesa api functions
+
+commit 92e23ef81f4411f60baec107a45c92c51133134a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jan 8 15:46:39 2009 +0000
+
+ xlib: rename xfonts.c to fakeglx_fonts.c
+
+commit 25deb852f84ad0e4519a2a3fb7abc1d098ad3f8e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jan 8 15:42:15 2009 +0000
+
+ xlib: rename old_xmesa.h to xm_api.h
+
+commit e83e2c47928b58dc678d008d499ae92666807c5b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jan 8 15:40:58 2009 +0000
+
+ xlib: remove XMesaMakeCurrent, use XMesaMakeCurrent2 always
+
+commit 2b960128e8c87098ed3cfa29380b6ff524df3647
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jan 8 15:33:32 2009 +0000
+
+ xlib: remove old xmesa_x.h file and all its defines
+
+commit e73dc6344857c157fd1346fca0646261d716ed15
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jan 8 15:32:43 2009 +0000
+
+ glsl: remove duplicate makefile targets
+
+commit 153b4d5cdd934812d8c24ef10bb8bbbe852eaf62
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jan 8 15:23:51 2009 +0000
+
+ xlib: remove some XMesa types, just use the native Xlib ones
+
+commit a129c7268acc5a36852fcb006391e1f4b51ce7e1
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 8 08:29:42 2009 -0700
+
+ cell: fix breakage from xlib re-org
+
+ Some of these fixes are quick band-aids for now.
+
+commit 94222d58e7b4bd452711057828922dbf2cf1c9d7
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jan 8 15:10:41 2009 +0000
+
+ xlib: strip out more 3dfx stuff
+
+commit 9ed74c61d4c587ef7bc202d876d4a7e02c35fab7
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jan 8 15:06:58 2009 +0000
+
+ xlib: pull in private copies of the GL/xmesa*.h headers
+
+commit cae13a8e4f231b8c967a9ba01eba037cfad0670a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jan 8 15:05:08 2009 +0000
+
+ xlib: strip out FX stuff
+
+commit 18ad0e3a284da13ebd6bac7a5cc5a9d17ab6efc7
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jan 8 15:00:27 2009 +0000
+
+ xlib: remove XFree86Server stuff
+
+commit 2c8ffd70b71befc4a8a9decd1a7d932f1d4ef520
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jan 8 14:55:52 2009 +0000
+
+ xlib: remove realglx.[ch]
+
+commit 002dfb12fce045d0e124301e5df805df772149d8
+Author: Keith Whitwell <keithw@vmware.com>
+Date: Thu Jan 8 14:10:56 2009 +0000
+
+ gallium: split driver-independent code out of xlib winsys
+
+ Place in new xlib state-tracker. This is a statetracker for the GLX API.
+
+commit 5cad143e545775acacee294049345c6a3868c51d
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jan 8 12:42:25 2009 +0000
+
+ glut: Unlist file.
+
+ Again..
+
+commit 500e05d437adb14e9dd5e36b07f1b7554ba9563e
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jan 8 12:42:00 2009 +0000
+
+ gdi: Add newline at end of file.
+
+commit ab3a9f1eeda5b216099763f6eb932da723309f4a
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jan 8 12:41:45 2009 +0000
+
+ gallium: Replace uint64 by standard uint64_t.
+
+ uint64 is not (so?) standard, and often redefined by third parties,
+ causing name clashes.
+
+commit 395edbc5151b2ce9dd77a22d104ce886e9326354
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jan 8 12:31:36 2009 +0000
+
+ draw: Predeclare struct.
+
+commit a3ee0aa1bb7c3f9dfc5b13b4e72522c10a22ad05
+Merge: 2d3953f f8f9a1b
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jan 8 12:31:14 2009 +0000
+
+ Merge commit 'origin/gallium-0.1' into gallium-0.2
+
+ Conflicts:
+
+ src/gallium/auxiliary/tgsi/tgsi_exec.c
+ src/gallium/drivers/cell/spu/spu_command.h
+ src/gallium/include/pipe/p_shader_tokens.h
+ src/mesa/main/config.h
+ src/mesa/main/mtypes.h
+ src/mesa/shader/prog_execute.c
+ src/mesa/shader/slang/slang_emit.c
+ src/mesa/state_tracker/st_program.c
+ src/mesa/state_tracker/wgl/stw_wgl.h
+ src/mesa/state_tracker/wgl/stw_wgl_pixelformat.h
+
+commit 2d3953fd5ff91d9717d806a1fa3c8537efb8b67c
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Jan 7 12:02:06 2009 +0000
+
+ mesa: Add _mesa_snprintf.
+
+ On Windows snprintf is renamed as _snprintf.
+
+commit b57797f3a81bd04a992868c48a6d98d66e692f3d
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 6 14:21:27 2009 -0700
+
+ mesa: fix GL_DEPTH_CLEAR_VALUE casting
+
+commit 0f5c71afd9b5b2f73721d443c3ccffdf8663aee0
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 6 14:18:45 2009 -0700
+
+ mesa: fix float->int mapping for glGetIntegerv(GL_DEPTH_CLEAR_VALUE)
+
+ (cherry picked from commit 8124faf89d638285d8e9aa93adc3ca7f4ee729f3)
+
+ Conflicts:
+
+ src/mesa/main/get.c
+
+commit a86776dba4cb328f5ed5f97c46d262ee6b90456a
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Jan 6 19:18:13 2009 +0000
+
+ mesa: Move var declaration to top of scope.
+
+commit 73d02d70b8c98c0e64e7816795565ed5f5bf3639
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Jan 6 16:45:12 2009 +0000
+
+ wgl: Do not provide DllMain inside the state tracker.
+
+ MS CRT libraries already provide a default DllMain entrypoint, and
+ MS Linker will complain if it finds the same symbol in two different
+ libraries. Therefore the DllMain has to be in (each) winsys.
+
+commit e59eb5fc969777ea9590af3710c3ec9373ce043b
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Jan 6 16:22:54 2009 +0000
+
+ gdi: Fix warning.
+
+commit 19641a9295f5d14919480124575c6727a0ad79cf
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Jan 6 16:21:47 2009 +0000
+
+ wgl: Ensure public symbols get the proper DLL linkage attributes.
+
+commit 8c0d8d89fa216771f7f2a75a71519e035dd20d9f
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Jan 6 16:20:23 2009 +0000
+
+ glut: Fix build.
+
+commit 2105b61846aad8d0c12dec00ef0c9ebdaacd0d4a
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Jan 6 16:20:12 2009 +0000
+
+ mesa: Ensure gl* symbols are marked as dllexport on windows.
+
+commit 1781d7fa3880ffb6d3062414704fb4d29e9297ad
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Jan 6 16:16:38 2009 +0000
+
+ scons: Choose the appropriate MSVC CRT.
+
+commit 0db6804699e9d01a7957f853ce6ebfccbcd9906f
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Jan 6 16:01:11 2009 +0000
+
+ mesa: Use explicit casts when precision is lost.
+
+ Silences MSVC.
+
+commit ca337076b3be03469f0170c1bf85d9611831886c
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Thu Jan 8 12:04:03 2009 +0000
+
+ mesa: Fix windows build when UNICODE is defined.
+
+commit 83a74521cfd2e81dd98ee1d84aff42a660613740
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jan 7 16:56:02 2009 -0800
+
+ i965: Fix GLSL FS DPH to return the right value instead of src0.w * src1.w.
+
+commit 6d2cf395f401b53da1c2fc4485a297fd975637c6
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jan 7 14:26:11 2009 -0800
+
+ i965: Remove worrisome comment about _NEW_PROGRAM signaling fp change.
+
+ Everything now depends on either BRW_NEW_FRAGMENT_PROGRAM or
+ BRW_NEW_VERTEX_PROGRAM.
+
+commit 8fb727548a652c47d8cf9593e2ae412ef2040119
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jan 7 14:09:07 2009 -0800
+
+ mesa: Remove _Active and _UseTexEnvProgram flags from fragment programs.
+
+ There was a note in state.c about _Active deserving to die, and there were
+ potential issues with it due to i965 forgetting to set _UseTexEnvProgram.
+ Removing both simplifies things.
+
+ Reviewed-by: Brian Paul <brianp@vmware.com>
+
+commit b9b482bd8de366289158a916e16414c5a74819c9
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jan 7 13:52:51 2009 -0800
+
+ i965: Remove dead brw_vs_tnl.c
+
+commit f68f94c2bc950405d4c91a1e5582a35ff4b15bdf
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 7 18:45:49 2009 -0700
+
+ i965: allow gl_FragData[0] usage when there's only one color buffer
+
+ If gl_FragData[0] is written but not gl_FragCOlor, use the former.
+
+commit bc7d2c4f51c56787b261e6ab6f9a77d39c3493e1
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 7 18:44:41 2009 -0700
+
+ mesa: additional case in file_string()
+
+commit 9629be5e07dc1d2b69cf7a761a6bb3ac0ec26453
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 7 18:44:00 2009 -0700
+
+ glsl: pass GLcontext::Extension info down into GLSL preprocessor
+
+ Now the #extension directives can be handled properly.
+
+commit 176464b14b8ec2a248aed95df087e47749c851fa
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 7 18:41:54 2009 -0700
+
+ glsl: bump up MAX_FOR_LOOP_UNROLL_COMPLEXITY
+
+commit d1860bcd0ade44a884ac1b7e0c5b2bef8ed6afcb
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 7 18:22:56 2009 -0700
+
+ glsl: check that the fragment shader does not write both gl_FragColor and gl_FragData[]
+
+commit 95fa98d61a857448e690a0671b2e1e1d2873f0ec
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 7 15:06:06 2009 -0700
+
+ i965: init dst reg RelAddr field to zero
+
+commit 8112c9e2cc5b27a2b7fd1641c03d3660f992dabf
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jan 7 12:38:34 2009 -0800
+
+ i965: Note when we drop saturate mode on the floor in a VP.
+
+commit f53d9913ac8efa5cefa428eb21f91298aca78293
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jan 7 12:37:58 2009 -0800
+
+ i965: Add support for LRP in VPs.
+
+ Bug #19226.
+
+commit b3c7f7466c068a5eaeb5adf981b6f776560bb6c9
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Jan 7 12:02:06 2009 +0000
+
+ mesa: Add _mesa_snprintf.
+
+ On Windows snprintf is renamed as _snprintf.
+
+ (cherry picked from commit f8f9a1b620d31d1a59855fd502caed325d4a324f)
+
+commit 510ed7f51e0a198029835e4d88a1364179c2745c
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 7 08:56:10 2009 -0700
+
+ glsl: disable some unused functions (but don't remove just yet)
+
+commit a8542200b306f06d40d3944c42bc9634f425c8b0
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 7 08:54:09 2009 -0700
+
+ glsl: also unroll loops with variable declarations such as "for (int i = 0; ..."
+
+commit cea7f7b76365dc41ba0e577d992193997b4f246f
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 7 08:32:21 2009 -0700
+
+ glsl: remove dead code
+
+commit 1a414a4dbe382b972061f3dc20ca648d1e8332b3
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Jan 7 08:25:59 2009 -0700
+
+ mesa: OSMesa Makefile fixes (use LIB_DIR)
+
+commit f8f9a1b620d31d1a59855fd502caed325d4a324f
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Jan 7 12:02:06 2009 +0000
+
+ mesa: Add _mesa_snprintf.
+
+ On Windows snprintf is renamed as _snprintf.
+
+commit 0b0d0dcdef2b914dceb30a8e9a80f403b0311efc
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 6 17:36:20 2009 -0700
+
+ glsl: loop unroll adjustments
+
+ Add a "max complexity" heuristic to allow unrolling long loops with small
+ bodies and short loops with large bodies.
+
+ The loop unroll limits may need further tweaking...
+
+commit 1fa978c8911d00e7cac0a114110e98ebdbe4d57d
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 6 17:24:23 2009 -0700
+
+ glsl: implement loop unrolling for simple 'for' loops
+
+ Loops such as this will be unrolled:
+ for (i = 0; i < 4; ++i) {
+ body;
+ }
+ where 'body' isn't too large.
+
+ This also helps to fix the issue reported in bug #19190. The problem there
+ is indexing vector types with a variable index. For example:
+ vec4 v;
+ v[2] = 1.0; // equivalent to v.z = 1.0
+ v[i] = 2.0; // variable index into vector!!
+
+ Since the for-i loop can be unrolled, we can avoid the problems associated
+ with variable indexing into a vector (at least in this case).
+
+commit 338ae34d227fce8b6f358ca90d383d0cfb87c868
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 6 14:28:49 2009 -0700
+
+ mesa: Move var declaration to top of scope.
+
+ (cherry picked from commit 3740a06e28f4cd09e2a3dce2da60320aa9304df1)
+
+commit 814bc5ccda51009327b6b5ff0fc2c088d537a636
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 6 14:21:27 2009 -0700
+
+ mesa: fix GL_DEPTH_CLEAR_VALUE casting
+
+ (cherry picked from commit d14d494dcda3d80ec2cf452551c680ffb432e306)
+
+commit a055520bfba38b160a79f41a6c9df377150e0a10
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 6 14:23:07 2009 -0700
+
+ add GL_READ_FRAMEBUFFER_BINDING_EXT case, regenerate get.c file
+
+ (cherry picked from commit 816fbeaa813e5cdca314a39677c74c8dc700d35a)
+
+ Conflicts:
+
+ src/mesa/main/get.c
+
+commit d14d494dcda3d80ec2cf452551c680ffb432e306
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 6 14:21:27 2009 -0700
+
+ mesa: fix GL_DEPTH_CLEAR_VALUE casting
+
+commit c3be5e4a050561e25854f38aa221bbf657848762
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Sep 25 19:57:34 2008 -0600
+
+ mesa: fix cast/conversion for optional code
+
+ (cherry picked from commit 1e3a44fab068f00378613456036716d0c3772969)
+
+commit bec14ebf5e4253cdb9e7610273cdd38360394404
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 6 14:18:45 2009 -0700
+
+ mesa: fix float->int mapping for glGetIntegerv(GL_DEPTH_CLEAR_VALUE)
+
+ (cherry picked from commit 8124faf89d638285d8e9aa93adc3ca7f4ee729f3)
+
+ Conflicts:
+
+ src/mesa/main/get.c
+
+commit 22ff5a7a0bad0a9a75a8bcd57e97780c66666249
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 6 13:59:14 2009 -0700
+
+ mesa: pass ctx to link_uniform_vars() to fix build error
+
+commit 3740a06e28f4cd09e2a3dce2da60320aa9304df1
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Jan 6 19:18:13 2009 +0000
+
+ mesa: Move var declaration to top of scope.
+
+commit 5da0401398239a2b445e11945144d073d77f0f03
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Jan 6 16:45:12 2009 +0000
+
+ wgl: Do not provide DllMain inside the state tracker.
+
+ MS CRT libraries already provide a default DllMain entrypoint, and
+ MS Linker will complain if it finds the same symbol in two different
+ libraries. Therefore the DllMain has to be in (each) winsys.
+
+commit a40ad7ded44e8331ccd9a6d477a2f1716baf6d16
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Jan 6 16:22:54 2009 +0000
+
+ gdi: Fix warning.
+
+commit c3ead57feba757ac633f0bc142dd1300cc6c7037
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Jan 6 16:21:47 2009 +0000
+
+ wgl: Ensure public symbols get the proper DLL linkage attributes.
+
+commit f98f553c4c7326140f5f7f56486d58fde3e1bdc6
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Jan 6 16:20:23 2009 +0000
+
+ glut: Fix build.
+
+commit 3f46389a28e120e2f7725c327f55e0f644391db5
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Jan 6 16:20:12 2009 +0000
+
+ mesa: Ensure gl* symbols are marked as dllexport on windows.
+
+commit 26ba5ce0e8fc54d330a0f26d0c5ab76e250fae3a
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Jan 6 16:16:38 2009 +0000
+
+ scons: Choose the appropriate MSVC CRT.
+
+commit 4ebb8f78e780ffa6f5f7082d0e36a792bceca321
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Jan 6 16:01:11 2009 +0000
+
+ mesa: Use explicit casts when precision is lost.
+
+ Silences MSVC.
+
+commit fb45adeb9e5db7163007410f0461041e1111b6b3
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jan 5 13:12:12 2009 -0700
+
+ mesa: fix a GLSL swizzled writemask bug
+
+ This fixes cases such as:
+ vec4 v4;
+ vec2 v2;
+ v4.xz.yx = v2;
+ The last line now correctly compiles into MOV TEMP[1].xz, TEMP[0].yyxw;
+ Helps to fix the Humus Domino demo. See bug 19189.
+
+ (cherry picked from commit 9736d8f03364068c9ca786f88a4c2881d98d5768)
+
+commit 0e25c363bee7cda8353ee4a5fe3072094affca46
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 2 17:30:08 2009 -0700
+
+ mesa: fix warning about possibly undefined var in GLSL compiler
+
+ (cherry picked from commit 724ed5b84bc2491da244d091de889d5b35503b5d)
+
+commit 8e0b601e311ec2f9f8e6205e6a2e6a7642009a96
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 6 09:20:55 2009 -0700
+
+ mesa: fix another "out of samplers" problem
+
+ Now only the samplers that are actually used by texture() functions are
+ saved in the uniform variable list. Before, we could run out of samplers
+ if too many were declared while only some of them were actually used.
+
+ (cherry picked from commit 1fad6ccb756ae33ca3115f59c99ca8abbeb0321e)
+
+ Conflicts:
+
+ src/mesa/shader/slang/slang_link.c
+
+commit 7bfe6a9375b413d92982e065fb48c810d144c632
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 1 08:07:54 2009 -0700
+
+ mesa: updated comments about GLSL constants
+
+ (cherry picked from commit dfada459aabf1a02dc2dbdb6644283fc95df2586)
+
+commit 158d3febd859f46fe2b96db55c7145e19b82f52e
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Dec 30 17:50:39 2008 -0700
+
+ mesa: fix bug in evaluation of structure fields
+
+ Fixes incorrect size information. See bug 19273.
+
+ (cherry picked from commit e8d7db31e2a6784c765911233cb3d888f612837f)
+
+commit b66fe32c52f1920297a6af0391b99f54eb8b310e
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Dec 30 17:11:32 2008 -0700
+
+ mesa: allow variable indexing into the predefined uniform variable arrays
+
+ This allows code such as "vec4 a = gl_LightSource[i].ambient;" to work.
+
+ When a built-in uniform array is indexed with a variable index we need to
+ "unroll" the whole array into the parameter list (aka constant buffer) because
+ we don't know which elements may be accessed at compile-time. In the case of
+ the gl_LightSource array of size [8], we emit 64 state references into the
+ parameter array (8 elements times 8 vec4s per gl_LightSourceParameters
+ struct).
+
+ Previously, we only allowed constant-indexed references to uniform arrays
+ (such as gl_LightSource[2].position) which resulted in a single state reference
+ being added to the parameter array, not 64. We still optimize this case.
+
+ Users should be aware that using "gl_LightSource[i].ambient" in their shaders
+ is a bit expensive since state validation will involve updating all 64
+ light source entries in the parameter list.
+
+ (cherry picked from commit c6537ac8b8130cf2271c8d1e51137a575073c762)
+
+commit efe91b0000d162deb20486ef6d5e016a11428499
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Dec 30 17:03:09 2008 -0700
+
+ mesa: better error message when running out of GLSL samplers
+
+ (cherry picked from commit ca0540e25c86b8095511868b0cbe96d7e85f7437)
+
+commit 681ff412f9828684bda8d156181f06360752c72d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Dec 16 15:25:58 2008 -0700
+
+ mesa: disable debug output
+
+ (cherry picked from commit 3be8d6db9e8bfbd1b3ebf9ac382857ad1e6ef753)
+
+commit c2009111cc839ff3ba5df7c3a9170d31f706fa79
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Dec 16 14:29:52 2008 -0700
+
+ mesa: fix some GLSL array regressions
+
+ array.length() wasn't working.
+ Swizzle mask for accessing elements of float arrays was incorrect.
+
+ (cherry picked from commit 368df1615ef65afed96a44e1f43ade8cc703696f)
+
+commit 2ced2647fb6787170545205eb01afe167c6604ea
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Dec 15 18:30:40 2008 -0700
+
+ mesa: updated GLSL docs
+
+ (cherry picked from commit c4341fe80acf75bf5417ffeb85fe6902218b752a)
+
+commit c18860ad1cd96674a2ff72e3fd6185d7356e9fff
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Dec 15 18:24:16 2008 -0700
+
+ mesa: bump glsl grammar revision
+
+ And update some copyrights.
+
+ (cherry picked from commit 4561307a27e07e37319fdf993c37f2c1b85ee3e9)
+
+commit 6045a6a908e230f3666f0dcf4defae305573accd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Dec 15 18:18:08 2008 -0700
+
+ mesa: more re-org of variable declarations in glsl compiler
+
+ (cherry picked from commit 49543d7177fabc848822431891266e33bc13c818)
+
+commit ceb800a107b42fe96cc68f02ab743be2b8a38299
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Dec 15 16:57:37 2008 -0700
+
+ mesa: more comments, clean up
+
+ (cherry picked from commit a1229cc9e7c78c59cad8d0df30b1f28d9bc81faf)
+
+commit 5b5b05c894bae7e82ef87eb06f63dc05ded9378a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Dec 15 16:49:32 2008 -0700
+
+ mesa: added comments, remove unused code
+ (cherry picked from commit a66ff046cc169c6479b00b1e7fc5d87b93ad60ed)
+
+commit be620a66eb7b9b0512c31d9a026fa6f8a7ab05a6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Dec 15 16:44:55 2008 -0700
+
+ mesa: checkpoint: handle uniform vars in _slang_gen_var_decl()
+
+ This allows uniform declarations with scalar/array initializers.
+ The code is rough though, and will be cleaned up.
+
+ (cherry picked from commit aa1b90463676ea71f24c1956dcf51deec1bf664c)
+
+commit d0a39f3d65aeb04d750dfb0885e87da1185a9296
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 18:00:47 2008 -0700
+
+ mesa: place glsl constant arrays in constant memory
+
+ For example, a declaration like
+ const float[3] xxx = float[3](1.1, 2.2, 3.3);
+ will place the array in the constant buffer whereas a regular, non-const array
+ would be placed in the temporary register file.
+ Next up: do the same thing for uniform arrays.
+
+commit 7f0462abe7075db92e7f5c30cec692497be514f0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 18:00:19 2008 -0700
+
+ mesa: remove old size=4 limit
+
+ (cherry picked from commit 0da44c62cc91c60d392f6e57aa047473b67ffb9b)
+
+commit e153275ae80e04de2fbc33313327a4a7cc754649
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 16:20:31 2008 -0700
+
+ mesa: code clean-up in glsl compiler
+
+ (cherry picked from commit d4be09fb2b4a2a45a95a388f536aee566e05f96a)
+
+commit 70050191ed39bab72b90ec891c413669d0f5a33f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 16:02:31 2008 -0700
+
+ mesa: remove unneeded swizzle init code in glsl compiler
+
+ (cherry picked from commit 240e211c711b0ebfe6c3daa6cb70a3fa8fc8b656)
+
+commit 9d6804bd2820fe76a46e9f9d6ae0f8ff0b20aead
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 15:34:58 2008 -0700
+
+ mesa: disable glsl debug output
+
+ (cherry picked from commit 4d49fc83f11ec2f333e06e94af5ac0d24b93caa8)
+
+commit ceaf57524b6daaba3b083f441a8e0a98f98cebde
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 15:11:08 2008 -0700
+
+ mesa: remove unused varpool code in glsl compiler
+
+ (cherry picked from commit 81253be3347312eb7539eb61ee9362f76370eba7)
+
+commit 71ef9e3775a8d091a7aaacac9bd3dcaecd3b075e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 15:07:21 2008 -0700
+
+ mesa: basic array constructors work now
+
+ For example: float[3] xxx = float[3](1.1, 2.2, 3.3);
+
+ Optimizations for const-qualified arrays next.
+
+ (cherry picked from commit 5c0c5e5af9c72c170991f48628673faba85bc6f4)
+
+commit ae701a12019a59cfd22ca72db9bcca9e1d87f93a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 15:01:00 2008 -0700
+
+ mesa: copy array_len in slang_fully_specified_type_copy()
+
+ (cherry picked from commit c20d00f04bdbdc0d3abdae8984ff5c874c4f0a10)
+
+commit 91535b8a617b78b1f5e3d2325ca8832d255857a2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 15:00:06 2008 -0700
+
+ mesa: remove incorrect array_len assignment
+
+ (cherry picked from commit 9016331d0fd0783d1e46c9d4b651797d6af4a60f)
+
+commit a2ca0c0430433893876179a39f85a428862eabb2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 13:18:30 2008 -0700
+
+ mesa: array size fix in _slang_typeof_operation()
+
+ (cherry picked from commit 87a00959ba40ee0aeaebbc8a86ca081cf3b81c75)
+
+commit 47331842d4956fb7ccff002d9b86097749345d99
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 13:05:29 2008 -0700
+
+ mesa: fix some more GLSL 1.20 array things.
+
+ Function that return arrays should work now.
+
+ (cherry picked from commit 8571401d7d7c9c91c6f053e5dc8c94a4567140fe)
+
+commit 3d7d6cfbc2d8518837f3df375eb643abd397235a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 10:32:56 2008 -0700
+
+ mesa: more glsl function renaming
+
+ (cherry picked from commit d5367622a3f1cffe67af0fb6fca99ad02eefd374)
+
+commit 18dd05fbc57a1d4d75f8a5244345dd6fb1066e53
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 10:29:15 2008 -0700
+
+ mesa: use _slang_alloc()
+
+ (cherry picked from commit b4019483dea406e997ae1c6b61b41cc49786c8ce)
+
+commit c22801841ce9415f5a34b86a62e43cf38ef70d66
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 10:22:47 2008 -0700
+
+ mesa: glsl compiler function renaming
+
+ (cherry picked from commit 456a4e274ff60122ab7e23dad2d462be3d910599)
+
+commit 9fc529bcff1de621de3f9cb6bf7e2b4f00b26d3a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 10:17:58 2008 -0700
+
+ mesa: more glsl type/function movement
+
+ (cherry picked from commit 9a174ef4090189e19831092bb2bae4bfc5396968)
+
+commit a5cd8fef91edf1d23888d0dc074ace91ef3f147a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 10:11:41 2008 -0700
+
+ mesa: move some glsl compiler functions to different files to be more consistant
+
+ (cherry picked from commit aeeb9bca2712dbf8540486fc584e214a8af4c7c4)
+
+commit fbc55bfbb852e16b445fb62dca3399949f87dfaf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 10:03:31 2008 -0700
+
+ mesa: move _slang_locate_function() to different file
+
+ (cherry picked from commit ea9dc3879f4cbbaa8ce9e305884a4afdc1fdd28a)
+
+commit a7e3f85fd6ba0feb1c435b4e2f0a27016f7955cf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 09:58:18 2008 -0700
+
+ mesa: remove unused fixup table code in glsl compiler
+
+ (cherry picked from commit 19ca2908be5df2240d694c67c6f190982e9f7922)
+
+commit 593073a3b39486398f245800633d6eeaf7989f5c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 09:56:13 2008 -0700
+
+ mesa: checkpoint: GLSL 1.20 array constructors
+
+ (cherry picked from commit ade777ea1b62e2280c9f05fa09927a8f9bb63f4f)
+
+commit 0d293f66877486a37682bd0537ea1d3c5fc126db
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 11 19:34:43 2008 -0700
+
+ mesa: consolidate variable declaration initializer code for globals too
+
+ (cherry picked from commit 1737f2dbdd8d9d6b1da140340323cbf83f7bd592)
+
+commit 6bc2fa0f827989be248fe29a195c2110293e42db
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 11 19:28:22 2008 -0700
+
+ mesa: move variable initializer IR generation into _slang_gen_var_decl()
+
+ More code consolidation coming...
+
+ (cherry picked from commit 2760bca1e13e62943affd762ed560bc30fbcc27a)
+
+commit de4f2088666020fb167779af7f632ae7f091f65a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 11 19:10:58 2008 -0700
+
+ mesa: simplify some glsl variable declaration code
+
+ (cherry picked from commit 05ed9f7fe934249eaa5a16123b5b5f7f62b0ad26)
+
+commit 6095b7e22499c0af7a211d48cc0aaccf06a1ed2d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 11 18:49:28 2008 -0700
+
+ mesa: glsl clean-ups
+
+ (cherry picked from commit 929eb00b32dfea9b1ac58923c88d5573872adea1)
+
+commit 9b28d5ecd6e034f27cb550d1592f22b052d5cd5a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 11 18:02:19 2008 -0700
+
+ mesa: checkpoint commit of GLSL 1.20 array syntax.
+
+ This allows things like float[3] x = float[3](1., 2., 3.);
+
+ Parsing and AST construction now. Codegen not working yet.
+
+ (cherry picked from commit 2dc3de016cd0306bf5b492ed781e824864788f11)
+
+commit 1f8109dd06ddbb14756951b5bc6de62cb212e891
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Dec 9 14:30:42 2008 -0700
+
+ mesa: in slang linker, replace assertion with link error when max samplers exceeded
+
+ (cherry picked from commit e8f5c1a5e89fe43ddfa277d7392dcaf8ac1d6c88)
+
+commit 525145a9f6968851ed97fb647261df3d8028e105
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Dec 1 18:32:47 2008 -0700
+
+ mesa: fix conditional in save_Lightfv(), bug 18838
+
+ (cherry picked from commit 1e2f57425153d73646fde7c91c16aa5559491556)
+
+commit aeb3caeba5be5897bce4c25b84496a171711952b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 26 09:35:26 2008 -0700
+
+ mesa: add missing type check for function calls
+
+ (cherry picked from commit 001b1cbb0dacf76dd09cda56840c30226abd3534)
+
+commit e42ed1ed0bb2c429f94dd10b193cf1b0892870bf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 26 09:35:08 2008 -0700
+
+ mesa: add missing size check for assignment optimization
+
+ (cherry picked from commit aa40de5c6f7f70844d4a4c726456cceaee9f0e4d)
+
+commit 96cab36e2ea39a8a9a8f70465c83f8520f3c9574
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 26 09:02:37 2008 -0700
+
+ mesa: remove debug code
+
+ (cherry picked from commit fea3a32e17502ac16ec9a12dc9d18742cea2efd5)
+
+commit b8cf2f00760b4d2299f0880b7e6896bb2d71407b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 25 09:02:27 2008 -0700
+
+ gallium: added centroid/invarient fields to declarations
+
+ (cherry picked from commit 4de360e67d83cd6503fb8ad053bb8afe507db5fa)
+
+commit 06f2139b8285d9f8a3a33b633d14dde48e0112fe
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 17:18:56 2008 -0700
+
+ mesa: added support for GLSL 1.20 array.length() method
+
+ This is the only method supported in GLSL 1.20 so we take a few short-cuts.
+
+ (cherry picked from commit 8d95e66cf78921cd067c4bcf6a1053a7ec3a2ed4)
+
+commit d450ede4c41915f9e07d9881236d3ad0c435a19f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 15:28:21 2008 -0700
+
+ mesa: support for GLSL 1.20 array types
+
+ This allows syntax like "float[8] foo, bar;"
+
+ (cherry picked from commit 0fab514ff5e7887767936427b5e02b676abebf3a)
+
+commit 89acfecd0bfbad7da35e9b88a2fe2030275fdf8f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 14:36:00 2008 -0700
+
+ mesa: pass shader centroid/invariant info through to the TGSI shader
+
+ (cherry picked from commit c5b52b5e0e6f6e47c3953076fa788921b1c5a5e2)
+
+commit dc48ae97dcd84acf691b33b0ea2e76c5fdfe18e1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 10:02:44 2008 -0700
+
+ tgsi: add tgsi_declaration fields for centroid sampling, invariant optimization
+
+ (cherry picked from commit 434e255eae90b0f3d836d452b7d3b0c5aadf78b8)
+
+commit a48b004c442ec89905ee1dfdd778c9bca603732c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 13:04:04 2008 -0700
+
+ mesa: add gl_program::Input/OutputFlags[] array
+
+ These arrays will indicate per-input or per-output options for vertex/fragment
+ programs such as centroid-sampling and invariance.
+
+ (cherry picked from commit b730d0d3e9b202b17a0815cb820fc9905f35cb98)
+
+commit 71c900abc76198ecf97e0cd7585ade430827db3f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 09:28:25 2008 -0700
+
+ mesa: copy centroid/invariance/precision info in parse_init_declarator()
+
+ (cherry picked from commit a2037137385671c0673d1de6eb1c36dbd3cd78f3)
+
+commit 674d7181f80750e171f278b41ff98fb0c755a095
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 09:25:05 2008 -0700
+
+ mesa: check that varying variable qualifiers agree
+
+ (cherry picked from commit dc1107c08d0ccbeeb063f2e46be598f16cbe9f21)
+
+commit 19111c5efc990df7f972c97f53bf6335ac43ad27
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 09:13:14 2008 -0700
+
+ mesa: copy precision/variant/centroid info in slang_fully_specified_type_copy()
+
+ (cherry picked from commit 0e2f757413a68f0edb6643ea23ad8d879d077f11)
+
+commit c249ac6d149c6b789df68ed14bdd5bb7395bfa00
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 09:05:49 2008 -0700
+
+ mesa: set flags for varying vars
+
+ (cherry picked from commit 3197954554bfc492283c7db009d10ab408664cad)
+
+commit af988262e318629cc29d11171889c5bc5efd3096
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 09:04:52 2008 -0700
+
+ mesa: rename program parameter flags to match other Mesa conventions
+
+ (cherry picked from commit f490ec9797a396da9d182f1ad4393f1c5c2df440)
+
+commit 64de78723cb140d6de24678d298f58cd24aed02c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 09:04:11 2008 -0700
+
+ mesa: copy Flags in _mesa_clone_parameter_list()
+
+ (cherry picked from commit 08b825a77179a9e7ed902c9c57387f127cd007bc)
+
+commit a92af00e2adc1f3557ee69705c49e032286b2da2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 09:03:47 2008 -0700
+
+ mesa: dump/debug varying vars list
+
+ (cherry picked from commit 3f6668a4bf28109eb806be019fb235663572b7da)
+
+commit 36f9d3fa9a4a7b5c25821c5099824c8e3b6ebc95
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 08:43:38 2008 -0700
+
+ mesa: added PROG_PARAM_ bits for invariant, flat/linear interpolation
+
+ Plus, update the print/debug code.
+
+ (cherry picked from commit 777a5c4f2e7c6c6ec0227a239b1af6c6b86dfab2)
+
+commit ee3da89b197fa0aa063be6fcabddec284cc00bec
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 08:33:49 2008 -0700
+
+ mesa: add Flags field to gl_program_parameter
+
+ Only one flag defined so far: PROG_PARAM_CENTROID_BIT
+
+ (cherry picked from commit 0f228d7ab3b7c03328df369b8db50c469ac5dcd6)
+
+commit 716ccb11a25bdec19921e931bc7bcfb39c94896c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 21 17:22:16 2008 -0700
+
+ mesa: issue error, don't crash, when calling a prototyped, but undefined function
+
+ Bug #18659.
+
+ (cherry picked from commit 4f05893415a2d6f29b29f4daf991ea95a1891a81)
+
+commit db2cde413c9d2843a6108db5e5f9b2f112a11fcf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 21 14:24:28 2008 -0700
+
+ mesa: better variable name: s/aux/store/
+
+ (cherry picked from commit b63a31b36f2e1a198c214f41e0518991b1a8fa49)
+
+commit 515a43da163d4662591969cd0be7601ac98bc75b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 19 16:04:37 2008 -0700
+
+ mesa: minor comment reformattting
+
+ (cherry picked from commit bab4e78734dc462387fea32f0b05103e31f2d6f6)
+
+commit 620a2bad22e9fe2418f39b3e2d9dccdcc56512d3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 19 15:08:46 2008 -0700
+
+ mesa: glsl compiler debug code
+
+ RETURN0 macro reports file/line before returning zero.
+
+ (cherry picked from commit bf7f9d2143a892bc11a5e2b84e3d6d3ed69fb5e8)
+
+commit e779e33261ca42c8acebac216e1b070782e730f2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 19 14:12:25 2008 -0700
+
+ mesa: rework GLSL array code generation
+
+ We now express arrays in terms of indirect addressing. For example:
+ dst = a[i];
+ becomes:
+ MOV dst, TEMP[1 + TEMP[2].y];
+ At instruction-emit time indirect addressing is converted into ARL/
+ ADDR-relative form:
+ ARL ADDR.x, TEMP[2].y;
+ MOV dst, TEMP[1 + ADDR.x];
+ This fixes a number of array-related issues. Arrays of arrays and complex
+ array/struct nesting works now.
+ There may be some regressions, but more work is coming.
+
+ (cherry picked from commit ae0ff8097b85d3537a7be1674d55a44a9bd6018e)
+
+commit ef4bd18a50ec9989fdcff97c10721e748e897c7b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 14 13:19:42 2008 -0700
+
+ mesa: don't realloc instruction buffer so often
+
+ (cherry picked from commit e709d68d92ef6f2392b118d0a22452e8f4c53e9a)
+
+commit 2a6c12cf532b5206cebf6d643ab6e970a949b874
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 14 13:19:31 2008 -0700
+
+ mesa: updated comment
+
+ (cherry picked from commit d9fa9e3290611944d5fd52301645367eeeb24f03)
+
+commit def84fac39fe356f34d8803989b554f15dac5909
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 6 08:48:27 2009 -0700
+
+ mesa: fix merge conflict left-overs
+
+commit ebcf06702c22419221c136a438c934469c2422cc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 13 18:18:07 2008 -0700
+
+ mesa: no longer need Writemask field in GLSL IR nodes
+
+ The Swizzle and Size fields carry all the info we need now.
+
+ (cherry picked from commit 80d6379722a1249ce13db79a898d340644936f67)
+
+commit 9681119bbb0317c87dcf781da561174752c02bc8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 13 17:02:11 2008 -0700
+
+ mesa: revamp GLSL instruction emit code
+
+ This is a step toward better array handling code. In particular, when more
+ than one operand of an instruction uses indirect addressing, we'll need some
+ temporary instructions and registers. By converting IR storage to instruction
+ operands all in one place (emit_instruction()) we can be smarter about this.
+
+ Also, somewhat better handling of dst register swizzle/writemask handling.
+ This results in tighter writemasks on some instructions which is good for
+ SOA execution.
+
+ And, cleaner instruction commenting with inst_comment().
+
+ Next: remove some more dead code and additional clean-ups...
+
+ (cherry picked from commit 3a7ed9779b159f9dccbc98d1d556be2cd83cc1fd)
+
+commit e8fa7e500c52db6764d4102360f2202005bcf817
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 6 08:47:05 2009 -0700
+
+ mesa: make writemask_string() non-static
+
+ (cherry picked from commit 610c2461ce0683ca5412e4b2b7a496f67e9d3704)
+
+ Conflicts:
+
+ src/mesa/shader/prog_print.c
+
+commit 2bdf076554f19f4f42cbfc6e14b6abd94bea3351
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 13 16:31:27 2008 -0700
+
+ mesa: remove some do-nothing GLSL code
+
+ (cherry picked from commit 4c167f8fc1e56b6c82d8917c237e70531e3d57b9)
+
+commit ed8f857792d3ea9737359d098e36aed28a6adfac
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 6 08:45:53 2009 -0700
+
+ mesa: fix accidental regression in GLSL built-in texture matrix lookup
+
+ Was broken by commit 9aca9a4b72b2a7b378e50bd88f9c3324d07375ec.
+
+ (cherry picked from commit fe984aed5a9ee7c6e000d48a0a584b964fefa848)
+
+ Conflicts:
+
+ src/mesa/shader/slang/slang_builtin.c
+
+commit 5b66bc1a83a9c5745e0448cb6c05ee27d7ce858b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 12 16:47:03 2008 -0700
+
+ mesa: remove unused/obsolete __NormalMatrixTranspose matrix
+
+ (cherry picked from commit e556cc82f83716a734ed9d76356ba49bb670004f)
+
+commit 1ad6daf3a9aacd405bd38c8857b1aabae2eabb94
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 12 11:12:10 2008 -0700
+
+ mesa: tweak program register printing for RelAddr case
+
+ (cherry picked from commit 557fde9531289b4388a3080b89c2ebaa38abeaee)
+
+commit 20156ce5da7743f527b920add663f4fa65527dcd
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 6 08:42:40 2009 -0700
+
+ mesa: allow relative indexing into all register files and indirect dst register indexing
+
+ (cherry picked from commit f4361540f8dd3016571523863b33481cba7a0c07)
+
+ Conflicts:
+
+ src/mesa/shader/prog_execute.c
+
+commit 6b05708ce2c4120921f43d82f1751e039306e0d6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 10 12:33:17 2008 -0700
+
+ mesa: track initialization status of uniform variables. Plus, asst clean-ups.
+
+ (cherry picked from commit 2d76a0d77af7be9539f89cba37ce84338c1cdda4)
+
+commit de445478915af41e1e078cbb8c2cbcce340f83b6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 10 11:42:42 2008 -0700
+
+ mesa: initial support for uniform variable initializers.
+
+ This lets one specify initial values for uniforms in the code, avoiding
+ the need to call glUniform() in some cases.
+
+ (cherry picked from commit 379ff8c9567940ebff44870cf7b0202882445fa6)
+
+commit c478a1baca0d97b03f391361dfeb953939f245d4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 10 10:25:01 2008 -0700
+
+ mesa: allows 'f' suffix on GLSL float literals
+
+ (cherry picked from commit 80c8017a643dfb655e4e1500e1c57e3908529c27)
+
+commit 45c8d996f606fbb0f42e3c87763eea6108b3bf28
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 6 08:36:30 2009 -0700
+
+ mesa: add support for 'centroid' qualifier in GLSL 1.20
+
+ (cherry picked from commit 87d1a26ba38e75f6988e094dbfbc0f77c0ae502b)
+
+ Conflicts:
+
+ src/mesa/shader/slang/library/slang_vertex_builtin_gc.h
+
+commit 2e77a39d2f89d630cfb355a745dec2c9bb8e1365
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 6 08:35:16 2009 -0700
+
+ mesa: add support for 'invariant' keyword for GLSL 1.20
+
+ (cherry picked from commit 448156f769ebf271a6a8c03c61588c3e6c6363f0)
+
+ Conflicts:
+
+ src/mesa/shader/slang/library/slang_vertex_builtin_gc.h
+
+commit 4adeac5af1660933acedc5dd6ee679c4d5cdbc39
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 7 14:28:00 2008 -0700
+
+ mesa: reformat comments, rewrap lines, etc for a little better readability
+ (cherry picked from commit b632e5aa7f948ed5bbf7104682ec3ee463af4c0a)
+
+commit 374cf77b2f0f13f9380fb0c9d804222a83bdc2e0
+Merge: 52d5d25 a8ee35c
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 6 08:15:54 2009 -0700
+
+ Merge commit 'origin/master' into gallium-0.2
+
+ Conflicts:
+
+ src/mesa/drivers/dri/common/dri_util.c
+
+commit 62bf6cf6c7b560f59ec72ad138e40383ee47de12
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Dec 19 16:14:48 2008 -0700
+
+ gallium: Fix typeo in mipmap filter for GL_UNSIGNED_SHORT_1_5_5_5_REV
+
+ This is copied from Ian's commit a330933bb75c38148668637cd22b90d75d39506f
+
+commit 52d5d25537a9291f7d247211d2881ed56edaca94
+Author: Jonathan Adamczewski <jadamcze@utas.edu.au>
+Date: Tue Jan 6 08:02:55 2009 -0700
+
+ cell: replace 0 with -1 in SPE_COUNT_USABLE_SPES query
+
+commit a8ee35c1c59c23938e0a18b163515acc892ed407
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Jan 6 07:35:45 2009 -0700
+
+ mesa: remove dri_sarea.h, add glcore.h in Makefile
+
+commit f1f022dbb103947b0edf5ae984fcff00f6a8e539
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Tue Jan 6 15:37:45 2009 +0800
+
+ mesa: Fix the size per pixel for packed pixel format data type.
+
+commit 241c0bfc985363bb15e6cc0eca859c6ec36d1b35
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Tue Jan 6 15:30:34 2009 +0800
+
+ mesa: Fix the number of components for GL_UNSIGNED_SHORT_1_5_5_5_REV. (bug #19390)
+
+commit 7627c7f5dfa3b1bc7be9d1670668a81a70d9f64a
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Tue Jan 6 11:22:19 2009 +0800
+
+ dri: correct the damage.
+
+ Fixes bug #17234
+
+commit b7257890dc8870d5fdce9d41a22fc89aac5add78
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jan 5 19:50:54 2009 -0700
+
+ cell: fix code emit for RSQ/RCP when src arg == dst arg
+
+ Fixes moire-like artifacts seen in fslight demo.
+
+commit c5c9241cca3c57684db955390410c8cda44b785e
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jan 5 17:52:14 2009 -0700
+
+ mesa: add GLushort cases for render to texture (Z-buffers)
+
+commit cd5d3fde13e424373feac9098453ed0ca7f6e4eb
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jan 5 16:04:41 2009 +1100
+
+ nv50: fill image unit index in TEX varients
+
+commit 00b15c9f40944d94aa28a441edd7ebb51577d9ba
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jan 5 15:56:19 2009 +1100
+
+ nv50: fix crash in nv50_program_destroy
+
+commit 17cbe451d28f60d8bf4e15a83528e891219cc0ee
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jan 5 14:56:41 2009 +1100
+
+ nv50: working towards 3D textures
+
+commit 108942f22a51bc1435c34b04b2c9747825ccefb7
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jan 5 14:07:48 2009 +1100
+
+ nv50: slightly better miptree allocation
+
+ I swear this didn't work last time I tried it.. Anyhow, still only
+ suitable for 2D miptrees - more coming once I know the layout.
+
+commit 5696267efd6f85d79f5fe511d1a066a17c4d1ccc
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jan 5 14:06:43 2009 +1100
+
+ nv50: add TXP to TEX case.. not correct, but anyway..
+
+commit 0d54770cabbe034b0f07ab1b211c374d92ce19d4
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jan 5 13:41:12 2009 +1100
+
+ nv50: indentation for TEX is a little overenthusiastic
+
+commit 3f66b72fdb4834c5211305698d22806eac80aa35
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jan 5 13:38:47 2009 +1100
+
+ nv50: ensure we actually get contiguous regs for TEX insn.
+
+ Still many more horrible things to fix here...
+
+commit 9736d8f03364068c9ca786f88a4c2881d98d5768
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jan 5 13:12:12 2009 -0700
+
+ mesa: fix a GLSL swizzled writemask bug
+
+ This fixes cases such as:
+ vec4 v4;
+ vec2 v2;
+ v4.xz.yx = v2;
+ The last line now correctly compiles into MOV TEMP[1].xz, TEMP[0].yyxw;
+ Helps to fix the Humus Domino demo. See bug 19189.
+
+commit 0d797365deb579cfeb2a32f21692515eb6904921
+Author: Brian Paul <brianp@vmware.com>
+Date: Mon Jan 5 10:09:28 2009 -0700
+
+ i965: implement OPCODE_TRUNC (round toward zero) on vertex path.
+
+ Also, fix some RNDD vs. RNDZ confusion elsewhere.
+
+commit 8ee1df065234eaf27c53c03bdf6e4ad487bc326d
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Dec 30 17:13:38 2008 +0000
+
+ scons: Specify C99 throughout all the tree.
+
+ MSVC may not support full C99, but supports more than plain C90. And
+ -pedantic without -std=c99 generates too many spurious warnings
+ (specially C++ style comments) to be of any use.
+
+ Note that using certain C99 features in the cross-platform parts of Gallium
+ is still not possible; namely mid-of-scope variable declarations and named
+ structure initializers will break MSVC builds.
+
+commit 4469355df277bec4947d859def543a3903c99041
+Author: Tom Fogal <tfogal@alumni.unh.edu>
+Date: Mon Jan 5 07:59:41 2009 -0700
+
+ glu: Add mangled symbols to export list
+
+ This adds all of the `mglu' symbols to the list of symbol exports
+ for GLU. Without this patch, mangled GLU symbols are considered
+ `internal' symbols, and calling any results in undefined references.
+
+commit 785e90a7dcfcaaf671157cd03699a165d45eabb0
+Author: Jonathan Adamczewski <jadamcze@utas.edu.a>
+Date: Mon Jan 5 07:52:17 2009 -0700
+
+ cell: SIMDize sorting in setup_sort_vertices()
+
+ Put setup.v{min,mid,max,provoke} into a union with qword vertex_headers.
+ Rewrite vertex sorting to more efficiently handle the packed data items.
+ Reduces spu_tri.o by ~128 bytes.
+
+commit 90167d0ee94384327d4a8482b21fdd28ba2c7171
+Author: Jonathan Adamczewski <jadamcze@utas.edu.a>
+Date: Mon Jan 5 07:49:48 2009 -0700
+
+ cell: SIMDize some subtractions
+
+ Put edge.{dx,dy} into a union with a vector and perform subtractions in
+ setup_sort_vertices() on vectors.
+
+ Reduces spu_tri.o by ~300 bytes.
+
+commit 5256f94b1a64f9bb61ec2b627a71ff9a0fc7a484
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Mon Jan 5 11:50:57 2009 +0100
+
+ progs/glsl: Add ignores
+
+commit b2e9d415ed56b856289f4e815cc9c56e8b0cc401
+Author: Jakob Bornecrantz <jakob@vmware.com>
+Date: Mon Jan 5 11:49:45 2009 +0100
+
+ progs/glsl: Remove double target def for vert-or-frag-only
+
+commit bd2e8888ed6dac7420466404f61ce5ea15bf52bc
+Author: Jonathan Adamczewski <jadamcze@utas.edu.a>
+Date: Sun Jan 4 18:48:46 2009 -0700
+
+ cell: improvements to spu_tri.c
+
+ Replace int setup.span{left,right}[2] with vec_uint4 setup.span.quad
+ SIMDize calculate_mask() and inline into into flush_spans()
+ Set setup.span.quad members using spu_shuffle() or spu_sel().
+ Reduces spu_tri.o by ~116 bytes.
+
+commit 921ec940f0c639831d378d425dbc454d496da9eb
+Author: Jonathan Adamczewski <jadamcze@utas.edu.a>
+Date: Sun Jan 4 18:46:44 2009 -0700
+
+ cell: new spu_shuffle.h header
+
+ Facilitates creation of shuffle patterns for use with spu_shuffle()
+ and si_shufb() intrinsics.
+
+ To be used by subsequent patches.
+
+commit 8f6e2f8620b73c706c21ce4c58bad894d08809a7
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Jan 4 18:40:48 2009 -0700
+
+ cell: initial codegen support for fragment shader loops
+
+ Basic for/while loops work now.
+ Only one level of loop nesting is supported at this time (same for if/else).
+ The progs/glsl/mandelbrot demo works, but the colors are too dim.
+
+commit 38b526999c91a82691a8a5f3c2d0b6f071758dfc
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Jan 4 18:38:42 2009 -0700
+
+ cell: add support for PIPE_CAP_TEXTURE_MIRROR_REPEAT query
+
+ We don't really support this texwrap mode yet, but this enables GL 2.1
+
+commit 7ba68693087618ababfe2c6f260330ec657c5534
+Author: Brian Paul <brianp@vmware.com>
+Date: Sun Jan 4 10:14:19 2009 -0700
+
+ cell: clean-up, improve SPU code generation
+
+ Start on ARL and address-relative indexing too.
+
+commit 6cbaa2226fa1237b9f314828fbbc1c8db6509de8
+Author: Brian Paul <brian.e.paul@gmail.com>
+Date: Sun Jan 4 10:04:44 2009 -0700
+
+ gallium: fix MaxTextureCoordUnits init
+
+ Fixes Cell regression.
+
+commit 9832f928503d59d2244d832a28fb7195d8d6bfec
+Author: Brian <brianp@vmware.com>
+Date: Sat Jan 3 14:44:34 2009 -0700
+
+ cell: fix typo (s/10/0)
+
+commit fa4fec2d1bfa459d46601b2f1e104b9533bf679f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Dec 23 15:46:25 2008 -0600
+
+ demos: remove redundant Makefile lines from prev merge
+
+commit 724ed5b84bc2491da244d091de889d5b35503b5d
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 2 17:30:08 2009 -0700
+
+ mesa: fix warning about possibly undefined var in GLSL compiler
+
+commit 19aed38919d43179a9f9cb0096aba981fabc4481
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 2 16:55:33 2009 -0700
+
+ softpipe: increase number of texture samplers/units to PIPE_MAX_SAMPLERS (16)
+
+commit d917ad5dbd17f2399a5a3590fe6c06a64d683771
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 2 16:54:11 2009 -0700
+
+ gallium: assorted state tracker fixes for > 8 texture samplers
+
+commit 84cffc2e7fbeab8ed5dfb0b6b8d3829e0654ab02
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 2 16:52:00 2009 -0700
+
+ mesa: replace CC with APP_CC in progs/glsl/Makefile
+
+commit 0815ebccfc0a12d8f3e831928f1c4210b7f75ad8
+Merge: eb9bbc5 1fad6cc
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 2 16:32:26 2009 -0700
+
+ Merge commit 'origin/master' into gallium-0.2
+
+ Conflicts:
+
+ src/mesa/main/ffvertex_prog.c
+ src/mesa/main/texenvprogram.c
+
+commit eb9bbc5265562cb6f93688fc027ea76f91601e37
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 2 16:16:16 2009 -0700
+
+ gallium: fix texcoord loop for rasterpos attributes
+
+commit 15a3fdb63e0511860ee84c168b84dd0bcfca6094
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 2 16:15:43 2009 -0700
+
+ gallium: clamp MaxVertexTextureImageUnits against Mesa limit
+
+commit a57417eff62b24ebc562b6ecc120dfc7448679d0
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 2 16:15:16 2009 -0700
+
+ mesa: remove redudant lines for libglapi.a
+
+commit 1fad6ccb756ae33ca3115f59c99ca8abbeb0321e
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Jan 2 12:26:15 2009 -0700
+
+ mesa: fix another "out of samplers" problem
+
+ Now only the samplers that are actually used by texture() functions are
+ saved in the uniform variable list. Before, we could run out of samplers
+ if too many were declared while only some of them were actually used.
+
+commit 4a6ad999ea312f0af85de621c8b6a15a3d3b7ffd
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 1 14:04:57 2009 -0700
+
+ i965: increase number of texture samplers to 16
+
+ This lets GLSL shaders use up to 16 samplers.
+ Fixed function is still limited to 8 textures.
+ Tested with progs/glsl/samplers.c
+
+commit 3b891a502b030f2ce8cd7a1aba93df11595f5c95
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 1 12:03:07 2009 -0700
+
+ i965: comments, clean-ups, re-order some functions
+
+commit 32e03c4a2ff5ef07de892dcd26f6be3b82ab3ba1
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Dec 31 17:16:44 2008 -0700
+
+ i965: added OPCODE_NRM3/4
+
+commit e262da804014d57156346ff487904ce220974832
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Dec 31 17:16:27 2008 -0700
+
+ i965: fix comment
+
+commit 914fcbafdb166603da408d58a0a0f381d9c08e9f
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Dec 31 17:01:44 2008 -0700
+
+ i965: indentation and formatting fixes
+
+commit 131ac5b465d1f676ca2e592e4fecfcbc14b23b49
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Dec 31 16:49:58 2008 -0700
+
+ i965: implement OPCODE_NRM3/NRM4
+
+commit 23b0ad4d7e9130a07fec1e968777dfa59bc1d54e
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Dec 31 16:43:57 2008 -0700
+
+ i965: whitespace, comment changes
+
+commit 1d03f2834fd7279c28de3e57281f5a45c2fb4b8a
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Dec 31 16:38:10 2008 -0700
+
+ mesa: comments, whitespace changes
+
+commit 46b8fe00c95845a9c8c9e426caef7130b0341caf
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 1 14:02:17 2009 -0700
+
+ demos: added progs/glsl/samplers.c to test all available texture samplers
+
+commit dfada459aabf1a02dc2dbdb6644283fc95df2586
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Jan 1 08:07:54 2009 -0700
+
+ mesa: updated comments about GLSL constants
+
+commit e9b34885b8ff2ccb67a801cd1ce07e0df1b0e397
+Author: Brian Paul <brianp@vmware.com>
+Date: Wed Dec 31 11:54:02 2008 -0700
+
+ mesa: increase max texture image units and GLSL samplers to 16
+
+ The max texture coord units is still 8. All the fixed-function paths are
+ still limited to 8 too. But GLSL shaders can use more samplers now.
+
+ Note that some texcoord-related data structures are declared to be 16
+ elements in size rather than 8. This just simplifies the code in a few
+ places; the extra elements aren't accessible to the user.
+
+ These changes haven't been extensively tested yet, but sanity checking has
+ been done.
+
+ It should be possible to increase the max image units/samplers to 32 without
+ doing anything special. Beyond that we'll need longer bitfields in a few
+ places.
+
+commit 1d778356680e08cac63057b9275b7d96bfe975b6
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Dec 31 15:03:35 2008 +0000
+
+ python: Pass a zero offset to util_draw_vertex_buffer.
+
+commit e96985b02699e56753d36d33d68dae49a5478921
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Dec 31 13:29:09 2008 +0000
+
+ util: List new file in SConscript.
+
+commit e228433823b90127a217950433e31f0ef44df813
+Merge: 43d70a1 417a78b
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Dec 31 13:05:39 2008 +0000
+
+ Merge commit 'origin/gallium-0.1' into gallium-0.2
+
+commit 43d70a12d4cc2b930cc7e1bb1eb68326ed3697e9
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Dec 30 20:12:28 2008 +0000
+
+ i915: Avoid ptr->int conversion.
+
+commit 2f24bc698412b4635422a52f9d7073ce7854dceb
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Dec 30 20:10:24 2008 +0000
+
+ draw: Avoid integer overflow converting pointers on 64bit archs.
+
+ Not really an error, as we only care for the lower 4 bits.
+
+commit bfebeffc0045266d354a36968336337e099a9f27
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Dec 31 00:29:49 2008 -0800
+
+ intel: Share passthrough transform setup between glBitmap and glDrawPixels.
+
+ The DrawPixels path was missing glViewport care, so blender's toolbar icons
+ would go to the wrong places.
+
+ Bug #19118.
+
+commit e1a92175542c6645c23cc78f2a4fcd36dd0235e6
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Dec 31 00:02:43 2008 -0800
+
+ intel: Add support for glBitmap as metaops using GL calls.
+
+ This lets us avoid software fallbacks when clients forget to turn some state
+ off (engine demo) or just do crazy things to test conformance (OGLC).
+
+ This should probably be brought into mesa generic code so other drivers can
+ make use of it.
+
+ Bug #19016.
+
+commit c789bd376f09c3b61617aeef6f5adbba2c541178
+Merge: 369115e e8d7db3
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Dec 30 18:01:15 2008 -0700
+
+ Merge commit 'origin/master' into gallium-0.2
+
+ Conflicts:
+
+ src/mesa/main/config.h
+
+commit e8d7db31e2a6784c765911233cb3d888f612837f
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Dec 30 17:50:39 2008 -0700
+
+ mesa: fix bug in evaluation of structure fields
+
+ Fixes incorrect size information. See bug 19273.
+
+commit c6537ac8b8130cf2271c8d1e51137a575073c762
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Dec 30 17:11:32 2008 -0700
+
+ mesa: allow variable indexing into the predefined uniform variable arrays
+
+ This allows code such as "vec4 a = gl_LightSource[i].ambient;" to work.
+
+ When a built-in uniform array is indexed with a variable index we need to
+ "unroll" the whole array into the parameter list (aka constant buffer) because
+ we don't know which elements may be accessed at compile-time. In the case of
+ the gl_LightSource array of size [8], we emit 64 state references into the
+ parameter array (8 elements times 8 vec4s per gl_LightSourceParameters
+ struct).
+
+ Previously, we only allowed constant-indexed references to uniform arrays
+ (such as gl_LightSource[2].position) which resulted in a single state reference
+ being added to the parameter array, not 64. We still optimize this case.
+
+ Users should be aware that using "gl_LightSource[i].ambient" in their shaders
+ is a bit expensive since state validation will involve updating all 64
+ light source entries in the parameter list.
+
+commit ca0540e25c86b8095511868b0cbe96d7e85f7437
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Dec 30 17:03:09 2008 -0700
+
+ mesa: better error message when running out of GLSL samplers
+
+commit 6f346ec0b85375defd049029fa781531fdabda56
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Dec 30 17:00:36 2008 -0700
+
+ mesa: comments for some state vars
+
+commit 432e9fa85233f28ce42c2bcc94053a2deb45dad9
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Dec 30 17:00:06 2008 -0700
+
+ mesa: increase max constants/uniforms to 256 (vec4 vectors)
+
+commit 369115e4c7a2985d880951fd8248deefa92025dd
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Dec 30 19:21:30 2008 +0000
+
+ gallium: Initialize var before use.
+
+commit 70894676c24c3b1c2e7643501f13640d7e56301d
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Dec 30 17:22:24 2008 +0000
+
+ glut: List new source file in sconscript.
+
+commit 9972d7147b1622074669111d72d85467c8c398cc
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Dec 30 17:21:25 2008 +0000
+
+ mesa: Do not specify types in bitfields.
+
+ As advised by gcc -pedantic.
+
+commit 72f993b5b11174c2917af29ef7a86e7866d681fb
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Dec 30 17:21:15 2008 +0000
+
+ draw: Do not specify types in bitfields.
+
+ As advised by gcc -pedantic.
+
+commit 0e0fb49c4515e14c54f23c1d3f8b2e981fe404a2
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Dec 30 17:15:34 2008 +0000
+
+ gallium: Remove unused variables.
+
+commit b3b7c757a9873007ee033693b06647b378301075
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Dec 30 17:14:48 2008 +0000
+
+ gallium: Don't redefine INLINE.
+
+ INLINE is commonly used in third-party headers.
+
+commit 975e58499a07775e071c2517b4fa21306e8349bb
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Dec 30 17:13:38 2008 +0000
+
+ scons: Specify C99 throughout all the tree.
+
+ MSVC may not support full C99, but supports more than plain C90. And
+ -pedantic without -std=c99 generates too many spurious warnings
+ (specially C++ style comments) to be of any use.
+
+ Note that using certain C99 features in the cross-platform parts of Gallium
+ is still not possible; namely mid-of-scope variable declarations and named
+ structure initializers will break MSVC builds.
+
+commit 42d00790029da4bc7e77f68c8f1c22ac9c417e42
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Dec 30 17:06:51 2008 +0000
+
+ rtasm: Remove spurious semi-colons after function bodies.
+
+commit 8e63beff5608aca67cf55978e03c53b3fcbca5c3
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Tue Dec 30 16:35:46 2008 +0000
+
+ gdi: Remove accidental keypresses.
+
+commit 49a3fabed8a8b6993efb2616c56e362bf3518ac8
+Author: Brian Paul <brianp@vmware.com>
+Date: Tue Dec 30 07:57:16 2008 -0700
+
+ mesa: updated compilation documentation
+
+commit c9122072fc5377ee6a174d2b0bde7345d08aeedd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 18 16:08:42 2008 -0700
+
+ demos: minor fixes to twoside.c glsl demo
+
+commit 0c4346e63258bcaaae6f3045bc44d0e24073dd0e
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Tue Dec 30 11:25:45 2008 +0800
+
+ intel: disable ATI_texture_env_combine3 for i830( and related device).
+
+ Thanks to Eric for pointing it out.
+
+commit 6c01500228014a6cfa133b5dbba8c6d024833e84
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Dec 23 16:08:40 2008 -0800
+
+ dri: Fix driWaitForMSC32 when divisor >= 2 and msc < 0.
+
+ We'd come up with a negative remainder, while we were looking for the positive
+ version of it in the loop conditional. And, since the "did we hit our target"
+ break was disabled for the target_msc == 0 ("Just make the divisor/remainder
+ work") path, we'd never exit.
+
+ Simplify the code by just using int64_t all over instead of trying to do it
+ in a u32 space.
+
+commit c40cd2ccdd8ce7f749d03e66bcca297c2366c1f9
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Mon Dec 29 12:28:12 2008 -0500
+
+ R300: missing semicolon
+
+commit 0674a238547f9f4f9de9c6cf5d72015e5960aa9e
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Mon Dec 29 09:30:41 2008 +0800
+
+ intel: enable ATI_texture_env_combine3. Fixes #17707
+
+commit 0d1f90c75e39191f1824b382dfb8d709a3e70d01
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sun Dec 28 16:48:36 2008 +1000
+
+ r300: remove the unknowns from the indx_buffer code
+
+commit 49c40b10c72e64977971ccb96abfc8767ed4c6ea
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 7 13:02:43 2008 -0700
+
+ gallium: implement TGSI_OPCODE_DP2A, add sqrt to NRM3/NRM4
+
+commit 129b6bc4e33257dd27aa9b50c6fa934ccb14376e
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Wed Dec 24 09:26:46 2008 +0800
+
+ i915: separate the fog term from the specular color term.
+
+ Previously fog parameter and specular color are packed into the
+ same dword. Note specular color should be packed in BGRA for device,
+ so if fog parameter and specular color all are present, fog parameter
+ will dirty the alpha term of specular color. This fixes rendering
+ issue when playing 'Yo Frankie' on 915/945.
+
+commit 15b2e0d13873fb3b55af414285d74f4489dd2e13
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Dec 23 14:45:37 2008 -0800
+
+ intel: Fix glBitmap clipping for DRI1.
+
+commit b359350017a8f0328912f19d233bcdcc256aded1
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Dec 19 17:38:23 2008 -0800
+
+ Remove third buffer support from Mesa.
+
+ This is part of the deprecated pageflipping infrastructure.
+
+commit fc4cea08fe8320438c72de7f4af2d7091681dca3
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Dec 23 18:16:49 2008 +0000
+
+ tgsi: fix incomplete rename of loop counter variable
+
+commit 53ce80e7cc466efae349e3a83007345bd299acd6
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Tue Dec 23 15:33:46 2008 +0000
+
+ egl: fix egl closure
+
+commit f5d4274b4a8effc70c238060c3728aea629663df
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Dec 23 13:26:25 2008 +0000
+
+ draw: allow driver-override of draw_need_pipeline()
+
+commit 04ef91af8bf77b483249719ddc02839acd192f42
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Tue Dec 23 14:18:36 2008 +0000
+
+ egl: fix startup query version
+
+commit ed7ba03256fc4503d5d7483d032014ac9e8242fe
+Author: Michal Krol <michal@vmware.com>
+Date: Tue Dec 23 15:13:59 2008 +0100
+
+ tgsi: Dump indirect register swizzle.
+
+commit 90039225935a817ee6004dfabc8f5c404affc726
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Tue Dec 23 13:20:18 2008 +0000
+
+ egl: support GLXFBConfigs, pbuffers and pixmaps.
+
+commit 4b3c74b4d6786475bc45f883612e76069e722cbd
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Fri Nov 14 13:31:06 2008 +0100
+
+ tgsi: Return 0.0 for negative constant register indices.
+
+commit b8e68f2e55ed22a97b7f976fe9556b2abcc49ea9
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Fri Nov 14 13:26:01 2008 +0100
+
+ tgsi: Keep address register as a floating point.
+
+commit 417a78bdad11976f89e7bb12e3de0138995a2b1f
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Dec 22 20:23:59 2008 +0000
+
+ softpipe: Don't fill surfaces's winsys fields.
+
+ This is sometimes checked to distinguish between texture views and
+ (deprecated) standalone surfaces.
+
+commit fc16ba8553e239acf68c6ea5f9729c4f02b2ffc4
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Dec 22 20:20:58 2008 +0000
+
+ softpipe: Call surface_alloc_storage to get the pipebuffer for display targets.
+
+ Otherwise blitting from display target surfaces to front screen fails in
+ several platforms.
+
+commit 9136c9b29ed5c14bc89a4c4e3a391e0b097092e1
+Merge: ce8469a 5f36c5b
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Dec 22 19:31:52 2008 +0000
+
+ Merge commit 'origin/gallium-0.1' into gallium-0.2
+
+ Conflicts:
+
+ src/gallium/auxiliary/util/Makefile
+
+commit ce8469abeb8d48d84a77f3ddd1664d9f98d7d620
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Dec 11 14:42:25 2008 +0900
+
+ gdi: Cleanup sconsfile.
+
+commit 5f36c5b2c59bb8be53d3712b3896b448ef086c74
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Thu Dec 18 19:56:45 2008 +0100
+
+ softpipe: initialize refcount and winsys
+
+commit 85bc49a6f17fb3909c3d5e7200114c3bb58c9019
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Thu Dec 18 13:34:27 2008 +0100
+
+ softpipe: convert to use texture instead of surface
+
+commit ae7e75d6108e8621878083b35a13edc1aca893df
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Mon Dec 22 16:55:27 2008 +0000
+
+ gallium: const correctness.
+
+commit 2a287ddd324cf285200aaf2eddc78da4eaaad1a1
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Dec 22 17:04:39 2008 +1000
+
+ r300: disable settexoffset extension on r300
+
+commit d9b325f77e9011918ad1bb59db7c58c44582fda0
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Dec 22 12:28:16 2008 +1000
+
+ radeon: fix library name for consistency
+
+commit e14ffb1fa176dbaf260a62cc5e4ddbd602ff6327
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Dec 22 11:41:32 2008 +1000
+
+ radeon: remove start/end offset + cleanup some whitespace
+
+commit a42000bd6b799da4160d20f74422449415d1e370
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Dec 22 11:41:23 2008 +1000
+
+ radeon: fixup r500 FP emission for new CS
+
+commit 229424b2d79f7ab19c6799795df155c265e3f258
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sun Dec 21 13:48:43 2008 +0000
+
+ Ignore new tests executables.
+
+commit 9f2732d3128a1482d4d7feacd98efaf7bdcc4eef
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sun Dec 21 09:54:35 2008 +1000
+
+ radeno: hopefully make r200/radeon build
+
+commit 9127a03bcbef27ed3cfc36d370969b430870fa0e
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Sat Dec 20 12:59:51 2008 +0000
+
+ gallium: Fix typo in define name.
+
+commit 58a82ee57f1e1e67387dd860ac253223db250789
+Merge: 9c8db86 f83f5ec
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Dec 19 16:56:56 2008 -0700
+
+ Merge commit 'origin/master' into gallium-0.2
+
+commit 9c8db8685432fedd068157795422764ce96b89a0
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Dec 19 16:37:06 2008 -0700
+
+ gallium: begin adapting Ian's 3D mipmap gen code to gallium utility lib
+
+ Unfinished, a big no-op for now.
+
+commit e8d80609883db4c827f8c25e816e588b025843c0
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Dec 19 16:14:48 2008 -0700
+
+ gallium: Fix typeo in mipmap filter for GL_UNSIGNED_SHORT_1_5_5_5_REV
+
+ This is copied from Ian's commit a330933bb75c38148668637cd22b90d75d39506f
+
+commit f83f5ec8f5f1159cfd0ec2596ceab725c073266e
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Fri Dec 19 13:03:51 2008 -0800
+
+ Add do_row_3d for mipmapping 3D textures
+
+ Previously 3D textures were mipmapped using multiple passed through
+ the 2D mipmap generation code. This had 3 disadvantages. First, the
+ extra passes were slow. Second, this required the allocation of a
+ temporary buffer to hold intermediate data. Third, and most
+ important, the extra passes caused loss of additional bits due to
+ integer division / bit-shifting.
+
+ With this change, our mipmapgen conformance test passes for
+ non-compressed texture formats.
+
+commit a330933bb75c38148668637cd22b90d75d39506f
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Fri Dec 19 12:58:01 2008 -0800
+
+ Fix typeo in mipmap filter for GL_UNSIGNED_SHORT_1_5_5_5_REV
+
+commit 7e04272690e8d9deecc0bf71c37bfa4c321ae6ab
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Thu Dec 18 14:13:26 2008 -0800
+
+ 965 / GLSL: Use full precision for EXP instruction
+
+ The partial precision mode doesn't have quite enough bits of precision
+ to pass conformance tests.
+
+commit 962fa6bbc16abf2b9829bd0b761d9baa9d01fd1e
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Thu Dec 18 14:11:06 2008 -0800
+
+ GLSL: The LOG2 macro doesn't have enough precision
+
+ It looks like the LOG2 macro only has 8 or 9 bits of precission, but
+ the ARB_vertex_program spec says "accurate to at least 10 bits".
+
+commit 1db63713046efd49071aae448105df8a80e1e83d
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Dec 18 16:00:09 2008 -0800
+
+ intel: Fix glBitmap top/bottom clipping.
+
+ Bug #19139.
+
+commit e67350da34c6009edff50c160df27493cb363e1b
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Dec 17 22:10:57 2008 -0800
+
+ intel: Don't forget the source bitmap size when clipping the size we draw.
+
+commit b9752a2bd615d136369af63ed3d45cc10adf21e7
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Dec 17 21:18:20 2008 -0800
+
+ intel: Update mesa state in blit operations that want post-scissor draw bounds.
+
+commit d091ebd4e41c88fe53db9d52842aaa20d23b995d
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Dec 17 21:18:00 2008 -0800
+
+ intel: don't clip to scissor-clipped read framebuffer bounds in copypixels.
+
+commit b901e1f212c11afda05f2628a522d86802f87c52
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Fri Dec 19 20:06:11 2008 +0000
+
+ gallium: Simple and efficient cache.
+
+ Fixed size hash table. Collisions are handled by simply destroying the
+ previous entry.
+
+ It hasn't received much testing yet.
+
+commit 93afa779453e69951b168e8ecb7b6ddef53eb8b0
+Author: Brian Paul <brian.e.paul@gmail.com>
+Date: Fri Dec 19 08:01:03 2008 -0700
+
+ cell: fix build breakage
+
+commit 663d6a0fe31c6e973df3a2827cfb88fe69d88d8a
+Author: Alan Hourihane <alanh@vmware.com>
+Date: Fri Dec 19 14:59:43 2008 +0000
+
+ gallium: set ST_NEW_FRAMEBUFFER when setting new surfaces
+
+commit aae74c36982b98f1f54a12a6512f78006bf4fd0d
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Dec 19 07:57:09 2008 -0700
+
+ mesa: s/CC/APP_CC/ in progs/glsl/Makefile
+
+commit 030a7a320cb2c49ff60f3948bd9c4976ca0b0b17
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Dec 19 07:33:17 2008 -0700
+
+ gallium: replace #elif with #else
+
+commit 42f7fd7d8189ceeb6d1baef5e23959c95f917ddc
+Author: Brian Paul <brianp@vmware.com>
+Date: Fri Dec 19 07:32:52 2008 -0700
+
+ gallium: replace #elif with #else
+
+commit 1e7785fe0721f66ca9523da0dc338d26256736bb
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Dec 18 18:42:06 2008 -0800
+
+ intel: Move copyteximage source clipping out of copytexsubimage.
+
+ glCopyTexSubImage already gets the (correct) clipping for us, so it doesn't
+ need the path. While moving the clipping out, replace the code with the mesa
+ path to do the same job.
+
+commit d01c44aacaeabe1dd187163f9e204f40401698bc
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Dec 18 18:31:25 2008 -0800
+
+ mesa: Clip copytexsubimage to read framebuffer bounds, not scissor region.
+
+commit aa09e0a1d532d0de2e094957d0509a7f60ebeafa
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Dec 18 18:23:51 2008 -0800
+
+ mesa: Correct _mesa_clip_to_region() off-by-one.
+
+ Note how if:
+ x + width == xmax + 0: width -= 0
+ x + width == xmax + 1: width -= 0
+ x + width == xmax + 2: width -= 1
+
+ So, the function was clipping to [xmin, xmax+1), not [xmin, xmax) like it was
+ supposed to. Same for ymax.
+
+commit 59a168d5c9b5f478e4e8bedcd8522e359e98987e
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Dec 18 18:06:38 2008 -0700
+
+ tgsi: scan for additional info: uses_fogcoord, uses_frontfacing
+
+commit db99ca3bc999137e6d523aa24e13cc5cfbb2b52c
+Author: Brian Paul <brianp@vmware.com>
+Date: Thu Dec 18 18:06:38 2008 -0700
+
+ tgsi: scan for additional info: uses_fogcoord, uses_frontfacing
+
+commit 78a204f507f966d12ecd3931a51a85763c66ddb3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 18 16:00:20 2008 -0700
+
+ gallium: fix two-sided lighting test in state tracker
+
+ This fixes two-sided lighting for vertex shaders.
+
+commit 52406c80d67d3e101d1da0f5babaabac202d31d5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 18 16:00:20 2008 -0700
+
+ gallium: fix two-sided lighting test in state tracker
+
+ This fixes two-sided lighting for vertex shaders.
+
+commit a795e79f87909f687dba9ddd09c5bc46cc6e9228
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Thu Dec 18 18:45:32 2008 +0100
+
+ glsl: Fix handling of nested parens in macro actual arguments.
+
+commit 6c14bdc72fd033356cc94633622f1360591d565d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 18 09:48:20 2008 -0700
+
+ demos: all glutDestroyWindow() upon exit to test query object clean-up
+
+commit 8b0b881438484234f1ab4ac07fdb7ae4a0a66759
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Thu Dec 18 12:57:41 2008 +0800
+
+ i915: check WRAP_T instead of WRAP_R for cube map texture.
+
+commit 36920a24d643ebbe8b5d21baddd0a32ac7aa4e9b
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Thu Dec 18 10:07:45 2008 +0800
+
+ i915: fix abort issue. (bug #19147)
+
+commit 60410fc8587ce2bf09a5dc5d744268aa83701522
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 17 18:05:03 2008 -0700
+
+ mesa: remove unneeded _mesa_reference_fragprog() call
+
+ The subsequent if/else cases always call _mesa_reference_fragprog() anyway.
+
+commit 867705b8c5bd78af12df177ff8eca8a5a295fa61
+Author: Jon Turney <jon.turney@dronecode.org.uk>
+Date: Wed Dec 17 18:01:16 2008 -0700
+
+ dri: fix for Cygwin compilation, bug 19144
+
+commit 9585f8daef6681bf1ad62ff4ad9a4102cf5d1abd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 17 14:54:46 2008 -0700
+
+ mesa: updated comments
+
+commit bde3b3a16487a3939b732e9fd53b6e347fa2f94b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 17 13:58:31 2008 -0700
+
+ demos: add test of vertex-only and fragment-only shader programs
+
+commit 7d41f10605c9e31b8d427f9f63f6505b187ac637
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 17 13:58:05 2008 -0700
+
+ util: check for frag/vertShader=0 before attaching
+
+commit 26b5e92c302e0a83e08aa2100b23c10919a97f4a
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Thu Dec 18 19:56:45 2008 +0100
+
+ softpipe: initialize refcount and winsys
+
+commit 36c7bb697d47560e2bf4798db11afd7f1751abef
+Author: Robert Ellison <papillo@tungstengraphics.com>
+Date: Thu Dec 18 09:46:53 2008 -0700
+
+ Gallium: fix for conform test
+
+ The following construction in util_surface_copy() in
+ gallium/auxiliary/util/u_rect.c, introduced in commit
+ d177c9ddda2c452cf7d6696d89cf4458ef986f98, incorrectly inverts
+ the Y coordinate in the last parameter to pipe_copy_rect().
+
+ /* If do_flip, invert src_y position and pass negative src stride
+ */
+ pipe_copy_rect(dst_map,
+ &dst->block,
+ dst->stride,
+ dst_x, dst_y,
+ w, h,
+ src_map,
+ do_flip ? -(int) src->stride : src->stride,
+ src_x,
+ do_flip ? w - src_y : src_y);
+
+ The intention is to start at the last Y coordinate line and move
+ backwards, in the case of a flip; in that case, the correct
+ calculation is "src_y + h - 1", not "w - src_y".
+
+ This fixes a Gallium assertion failure in the conformance tests:
+
+ u_rect.c:65:pipe_copy_rect: Assertion `src_y >= 0' failed.
+ debug_get_bool_option: GALLIUM_ABORT_ON_ASSERT = TRUE
+ Trace/breakpoint trap
+
+commit 97d08366aa2a56705d32806845134cb4b5edbff0
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Thu Dec 18 18:45:32 2008 +0100
+
+ glsl: Fix handling of nested parens in macro actual arguments.
+
+commit d9b92b112fb64005c71edf1158f7dffabc4659bb
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Thu Dec 18 18:45:32 2008 +0100
+
+ glsl: Fix handling of nested parens in macro actual arguments.
+
+commit f43019b226b6fa896715f222f7b6bbe5dbccdb37
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 18 09:48:20 2008 -0700
+
+ demos: all glutDestroyWindow() upon exit to test query object clean-up
+
+commit b7c05044ed3cb1a225004e94a5a1416c61d20d60
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Thu Dec 18 13:34:27 2008 +0100
+
+ softpipe: convert to use texture instead of surface
+
+commit 5ccef84c018c5e99bf4b8cffb5ba1bb66bf40cc4
+Author: Robert Ellison <papillo@tungstengraphics.com>
+Date: Thu Dec 18 09:46:53 2008 -0700
+
+ Gallium: fix for conform test
+
+ The following construction in util_surface_copy() in
+ gallium/auxiliary/util/u_rect.c, introduced in commit
+ d177c9ddda2c452cf7d6696d89cf4458ef986f98, incorrectly inverts
+ the Y coordinate in the last parameter to pipe_copy_rect().
+
+ /* If do_flip, invert src_y position and pass negative src stride
+ */
+ pipe_copy_rect(dst_map,
+ &dst->block,
+ dst->stride,
+ dst_x, dst_y,
+ w, h,
+ src_map,
+ do_flip ? -(int) src->stride : src->stride,
+ src_x,
+ do_flip ? w - src_y : src_y);
+
+ The intention is to start at the last Y coordinate line and move
+ backwards, in the case of a flip; in that case, the correct
+ calculation is "src_y + h - 1", not "w - src_y".
+
+ This fixes a Gallium assertion failure in the conformance tests:
+
+ u_rect.c:65:pipe_copy_rect: Assertion `src_y >= 0' failed.
+ debug_get_bool_option: GALLIUM_ABORT_ON_ASSERT = TRUE
+ Trace/breakpoint trap
+
+commit a402d48f840f1d51eb46dc15a047589e2b8ca431
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Oct 7 18:47:31 2008 -0700
+
+ mesa: Pass the context to query object delete cb to avoid null dereference.
+
+commit 92dc8ffa719276fe536abf4dcf7874cf12588f60
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Dec 18 14:53:24 2008 +0000
+
+ gallium: Enable memory debugging on all windows platforms.
+
+commit cb453244caa15342bf229ee5ae16a78d038b8bdc
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Thu Dec 18 12:57:41 2008 +0800
+
+ i915: check WRAP_T instead of WRAP_R for cube map texture.
+
+commit df73363ed1aa34cc0dc5feefb3933309591fa015
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Thu Dec 18 10:07:45 2008 +0800
+
+ i915: fix abort issue. (bug #19147)
+
+commit f9c76750a7687e9902f2efd91d5551ae0128003c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 17 19:01:34 2008 -0700
+
+ mesa: choose GLSL vertex shader over ARB/internal vertex program in get_fp_input_mask()
+
+ This is a work-around the for the fact that we do fragment shader state
+ validation before vertex shader validation (see comments in state.c) so in
+ get_fp_input_mask() we can't rely on ctx->VertexProgram._Current being up to
+ date yet.
+
+ This fixes a glean glsl1 test failure.
+
+commit b890fffbf4ad435ef533988d288e98b0bfe4d17b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 17 18:52:10 2008 -0700
+
+ gallium: fix memory corruption in u_gen_mipmap.c
+
+ Remove the old/initial vbuf allocation in util_create_gen_mipmap().
+ We were allocating a small vbuf at this point so get_next_slot() didn't have
+ as large of buffer as it expected. So all but the first set_vertex_data()
+ was writing out of bounds.
+
+ Also added some comments.
+
+commit 2389c055ed4c26ba5f3979c4a7871a333725dd88
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 17 19:01:34 2008 -0700
+
+ mesa: choose GLSL vertex shader over ARB/internal vertex program in get_fp_input_mask()
+
+ This is a work-around the for the fact that we do fragment shader state
+ validation before vertex shader validation (see comments in state.c) so in
+ get_fp_input_mask() we can't rely on ctx->VertexProgram._Current being up to
+ date yet.
+
+ This fixes a glean glsl1 test failure.
+
+commit 3ffd529ff19bf8dd7b022a267bf2afe44c7f0f65
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 17 18:59:58 2008 -0700
+
+ softpipe: fix vertex shader texture sampling
+
+ Need to disable/bypass lambda calculation since derivatives of texcoords
+ are meaningless for adjacent vertices.
+
+commit d1c8af7c0a18340fdde45ade6f612939a3c8e62a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 17 18:52:10 2008 -0700
+
+ gallium: fix memory corruption in u_gen_mipmap.c
+
+ Remove the old/initial vbuf allocation in util_create_gen_mipmap().
+ We were allocating a small vbuf at this point so get_next_slot() didn't have
+ as large of buffer as it expected. So all but the first set_vertex_data()
+ was writing out of bounds.
+
+ Also added some comments.
+
+commit 35aebf46679a6450b912b592b83badcfb523b79c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 17 18:05:03 2008 -0700
+
+ mesa: remove unneeded _mesa_reference_fragprog() call
+
+ The subsequent if/else cases always call _mesa_reference_fragprog() anyway.
+
+commit 8e7599892f5dd2f85a74eccf9ff7a80dd277122b
+Author: Jon Turney <jon.turney@dronecode.org.uk>
+Date: Wed Dec 17 18:01:16 2008 -0700
+
+ dri: fix for Cygwin compilation, bug 19144
+
+commit 20555835b68c58b52d7954a0b237a9a331013e68
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 17 14:54:46 2008 -0700
+
+ mesa: updated comments
+
+commit 947d04d08bead28c43f525ea4c1d99a039bed047
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 17 14:04:03 2008 -0700
+
+ mesa: fix fixed-function test in get_fp_input_mask() - again.
+
+ The problem we're solving only occured when there was a user-defined
+ vertex shader but no fragment shader. Check for that case now.
+ Fixes glean api2 vertex array failure.
+
+commit 35bb2aa96a2499860869c0d307b599b3033b5264
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 17 13:17:15 2008 -0700
+
+ mesa: add missing cases for texture array targets
+
+commit f0b0794b3885a2fdfb168ec4521c7b5e942d3228
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 17 14:04:03 2008 -0700
+
+ mesa: fix fixed-function test in get_fp_input_mask() - again.
+
+ The problem we're solving only occured when there was a user-defined
+ vertex shader but no fragment shader. Check for that case now.
+ Fixes glean api2 vertex array failure.
+
+commit 1cb680d06bf4c7a6789ecf8e949271e0b6d8bbf2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 17 13:58:31 2008 -0700
+
+ demos: add test of vertex-only and fragment-only shader programs
+
+commit 637f06dcdc2e5b29cbc39445b7141e6a496e1585
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 17 13:58:05 2008 -0700
+
+ util: check for frag/vertShader=0 before attaching
+
+commit 1519b93b7bc519e187d98f99715a01ba866286b1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 17 13:17:15 2008 -0700
+
+ mesa: add missing cases for texture array targets
+
+commit a8751f49167df81611390377aa3e84aba1ed3ae3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 17 11:29:42 2008 -0700
+
+ Revert "mesa: fix vertex program test in get_fp_input_mask()"
+
+ This reverts commit cdaaf8e107010624bed4abdf9553c0ef63c8b708.
+
+commit d7296a1a8e846bc4d41ded1c2406b6f5c658188a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 17 11:29:06 2008 -0700
+
+ Revert "mesa: fix vertex program test in get_fp_input_mask()"
+
+ This reverts commit 8dc88cb64305c591dfadded2b5acbb1e6b04cd7f.
+
+ This change broke other things...
+
+commit 8dc88cb64305c591dfadded2b5acbb1e6b04cd7f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 17 10:55:40 2008 -0700
+
+ mesa: fix vertex program test in get_fp_input_mask()
+
+ We were accidentally using the fixed-function logic when a vertex shader was
+ being used.
+
+commit 6b88d9606f5cc8147b9ef13c70a9416313c52205
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 17 10:55:29 2008 -0700
+
+ winsys: fix depth buffer size when using stencil
+
+commit cdaaf8e107010624bed4abdf9553c0ef63c8b708
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 17 10:55:40 2008 -0700
+
+ mesa: fix vertex program test in get_fp_input_mask()
+
+ We were accidentally using the fixed-function logic when a vertex shader was
+ being used.
+
+commit 2a299851b9ee06fafc03cf4dc7d26023bac17f69
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 17 10:55:29 2008 -0700
+
+ winsys: fix depth buffer size when using stencil
+
+commit ca284fde53dbbc7c525188c7918b356687b3dbc2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Dec 16 16:38:11 2008 -0700
+
+ mesa: remove redundant Makefile lines
+
+commit ca8e42652c67e1ff0d4624c50924a93e6a309a4c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Dec 16 16:01:30 2008 -0700
+
+ mesa: updated list of src files
+
+commit 89565b22f5a5224f1c347fcf636aa203b3911760
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Dec 16 15:53:35 2008 -0700
+
+ mesa: update SConscript with new source files
+
+commit b0caa10a85b39f0e657dc0c4816884c9356b0b1a
+Merge: 3616fb0 3be8d6d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Dec 16 15:50:14 2008 -0700
+
+ Merge commit 'origin/master' into gallium-0.2
+
+commit 3616fb08da8ef392db1d5ccab55b8eb9f6a6f32b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Dec 16 15:39:14 2008 -0700
+
+ tgsi: use flr(), not trunc() for ARL
+
+commit 3be8d6db9e8bfbd1b3ebf9ac382857ad1e6ef753
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Dec 16 15:25:58 2008 -0700
+
+ mesa: disable debug output
+
+commit 368df1615ef65afed96a44e1f43ade8cc703696f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Dec 16 14:29:52 2008 -0700
+
+ mesa: fix some GLSL array regressions
+
+ array.length() wasn't working.
+ Swizzle mask for accessing elements of float arrays was incorrect.
+
+commit d7e9b0e33a72d282e9326434daf01c61244d9ef1
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Tue Dec 16 09:42:52 2008 +0000
+
+ gallium: fix some asserts
+
+commit 10e0129dbc70194d54c31ef3b97766b9b69c2442
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Dec 16 17:34:04 2008 +1100
+
+ nv40: apply ABS modifier to RSQ source in vp
+
+ Gallium used to do this for us :)
+
+commit 300e42d6f067b2b98b56a82674bf48564b0578a0
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Dec 16 17:30:04 2008 +1100
+
+ nouveau: return a value for PIPE_CAP_MAX_VERTEX_TEXTURE_UNITS
+
+commit 702b5b076b7591560e7e701e0c9ff2eeb30fa966
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Dec 15 18:37:39 2008 -0700
+
+ mesa: rename slang_library_noise.[ch] to prog_noise.[ch] and rename functions
+
+ The noise functions were not glsl-specific.
+ Also, ran indent on the code to clean it up.
+
+commit c4341fe80acf75bf5417ffeb85fe6902218b752a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Dec 15 18:30:40 2008 -0700
+
+ mesa: updated GLSL docs
+
+commit ec8cdc71132be178c1588c9cffc184c2b4227b14
+Merge: 63fc119 4561307
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Dec 15 18:25:43 2008 -0700
+
+ Merge branch 'glsl-1.20-v2'
+
+commit 4561307a27e07e37319fdf993c37f2c1b85ee3e9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Dec 15 18:24:16 2008 -0700
+
+ mesa: bump glsl grammar revision
+
+ And update some copyrights.
+
+commit 63fc119d6c4f300958768144bd2a944e61c33eeb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Dec 9 14:30:42 2008 -0700
+
+ mesa: in slang linker, replace assertion with link error when max samplers exceeded
+
+commit b8bfddf976682d8c466994942bf539619511c594
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Dec 9 14:29:14 2008 -0700
+
+ demos: updated tests/floattex.c (doesn't work just yet).
+
+commit c573b9f94a532c07438d72694115182c6a12903a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Dec 9 14:26:02 2008 -0700
+
+ mesa: move _mesa_dlopen(), etc into separate dlopen.c file
+
+commit 12219210af0bd2ec888c1cbcb3621237368fe4e8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Dec 8 15:42:54 2008 -0700
+
+ glut: added GLUT_PPM_FILE env var to dump first frame to a PPM file
+
+ Set GLUT_PPM_FILE to the desired filename. The first frame rendered will
+ be written to that file.
+
+commit 49543d7177fabc848822431891266e33bc13c818
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Dec 15 18:18:08 2008 -0700
+
+ mesa: more re-org of variable declarations in glsl compiler
+
+commit a1229cc9e7c78c59cad8d0df30b1f28d9bc81faf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Dec 15 16:57:37 2008 -0700
+
+ mesa: more comments, clean up
+
+commit a66ff046cc169c6479b00b1e7fc5d87b93ad60ed
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Dec 15 16:49:32 2008 -0700
+
+ mesa: added comments, remove unused code
+
+commit aa1b90463676ea71f24c1956dcf51deec1bf664c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Dec 15 16:44:55 2008 -0700
+
+ mesa: checkpoint: handle uniform vars in _slang_gen_var_decl()
+
+ This allows uniform declarations with scalar/array initializers.
+ The code is rough though, and will be cleaned up.
+
+commit dc58da3e063d2a4018eea9149b43a3656a93a7ca
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Dec 15 15:10:18 2008 -0800
+
+ intel: stub out CompressedTexSubImage2D instead of segfaulting.
+
+commit 095c3a5cb16dae5c1e4cf85bffd3cb2465ab9e28
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Dec 15 13:25:20 2008 -0800
+
+ i965: Update state before checking for fallbacks in brw_try_draw_prims.
+
+ This got flipped around in 7855b2aef6bd9e9c2d73260b5cd166159b2525c6.
+
+ Bug #18907. Thanks to idr for pointing me at a nicer testcase than blender.
+
+commit 208f50ec37b8c1d8cf236913a7df0b082749c8ce
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Mon Dec 15 12:29:34 2008 +0100
+
+ gallium: Fix PIPE_FORMAT_X8B8G8R8_SNORM definition.
+
+commit 95ce6474f46e86d5511117cc5bbb2702b2469f5c
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Mon Dec 15 12:29:34 2008 +0100
+
+ gallium: Fix PIPE_FORMAT_X8B8G8R8_SNORM definition.
+
+commit 8abc860bd46a6cd584f9a64cb4613be76f82db06
+Merge: a22d865 3a5d260
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Mon Dec 15 11:22:19 2008 +0000
+
+ Merge commit 'origin/gallium-0.1' into gallium-0.2
+
+ Conflicts:
+
+ src/gallium/winsys/gdi/SConscript
+
+commit a22d865f93a1db7f72e0bfe216810f67bf4c2f2c
+Merge: f72848a e72a442
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Mon Dec 15 11:16:03 2008 +0000
+
+ Merge commit 'origin/master' into gallium-0.2
+
+commit e72a44215312ae1f3c812ba28e47b4aec3589de9
+Author: Pierre Willenbrock <pierre@pirsoft.de>
+Date: Fri Dec 12 21:18:23 2008 +0100
+
+ intel: Don't steal renderbuffer from caller in intel_miptree_create_for_region
+
+ Fixes double-frees of some regions, once from the renderbuffer code and
+ once from the miptree itself.
+
+ Bug #19062
+
+commit 0dfec4ab615d45e298bf47737a348c32eebe2acf
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Dec 10 12:43:58 2008 -0800
+
+ i965: Add decode of index/vertex buffer and primitive emit.
+
+commit bc3b8a39a7090d95942faf378e776e89c490e250
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Dec 9 23:02:48 2008 -0800
+
+ intel: Add batchbuffer assertions to hopefully catch future mistakes.
+
+commit 1126aa86bf9ca223218695eec1f41c6523068961
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Sun Dec 14 18:42:11 2008 -0800
+
+ Perform range checking on app supplied texture base level
+
+ It is possible for applications to specify any texture base level,
+ including trivially invalid values (i.e., 47000000). When an app
+ specifies an invalide base level, we should gracefully disable the
+ texture instead of accessing memory outside the gl_texture_object.
+
+ This fixes an occasional segfault in one of our conformance tests.
+
+commit 63cca2ba10ce7dcc8481cfa4be3872dfc269dded
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Sun Dec 14 18:40:39 2008 -0800
+
+ GLX: Include glapi.h before glapitable.h
+
+ A previous commit (2dbc515a669be123a019aeb4aa5aae6b1679f6a9) change
+ some of the interdependencies between these two header files. Now
+ glapi.h must be included before glapitable.h.
+
+commit 2dd0c16f2118a39484615b80ca33620d3276523f
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Fri Dec 12 12:59:59 2008 -0800
+
+ GLX: Change resulting from previous commit
+
+ Commit db61cbfa2aa241da49589331d8b6875d9a77d826 made modifications to
+ the protocol generator data and scripts. This commit represents the
+ changes to the generated files resulting from the previous changes.
+
+ This is the client-side part of the fix for bugzilla #11003.
+
+commit 1709ab01ef24279c782e420568e9257b4b92b224
+Author: Neil Roberts <neil@linux.intel.com>
+Date: Tue Dec 2 15:03:01 2008 +0000
+
+ Return 0 as the request size when the pixels parameter is NULL
+
+ img_null_flag was being ignored when calculating the size of a request
+ so a BadLength error gets thrown for glTexImage3D when the pixels
+ parameter is NULL.
+
+ See bug #11003
+
+commit 0f73302d24f4201813da2939742c5bcb6964b3b1
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Tue Dec 9 14:43:09 2008 -0800
+
+ GLX: Fix protocol for glTexSubImage#D
+
+ The TexSubImage commands do not have the "NULL image" flag that was
+ introduced with glTexImage3D. However, there is a CARD32 pad element
+ where that flag would be. Removing the img_null_flag causes the flag
+ to be removed from the protocol. This changes the protocol and breaks
+ everything.
+
+ In order to prevent needing to hand-code all of the TexSubImage
+ functions, a new attribute was added to the param element. This new
+ attribute, called "padding," is a boolean flag that selects whether or
+ not the parameter is a real parameter (default / false) or is protocol
+ padding (true) that does not appear in the function's parameter list.
+
+ This change resulted in a number of changes to other Python scripts.
+ In almost all cases parameters with the is_padding flag set should not
+ be emitted.
+
+ This patch only changes the the XML, the DTD, and the generator
+ scripts. It does NOT include the resulting changes to the generated
+ code. Generated code in the X server is also changed by the script /
+ XML changes in this patch.
+
+ Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
+
+commit 8be02fc8c67433bd2647f59abece5e8111859e40
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Sun Dec 14 09:35:29 2008 -0800
+
+ Add OSMesa pkg-config file
+
+ This makes the GLU .pc file a little simpler, too.
+
+commit 71e208bafe9ca5e1c189fae3f251cc84034e5959
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Mon Nov 24 11:01:57 2008 -0800
+
+ Add more package metadata to the pkg-config files
+
+ The pkg-config files have been filled in more thoroughly to allow users
+ to use mesa more effectively. By adding metadata to Requires.private,
+ Libs.private and Cflags, we can ensure that all the libraries and
+ headers will be found in all situations. However, the full substitutions
+ are only done when using the configure script.
+
+ This also fixes the glu pkg-config file to account for using GL or
+ OSMesa.
+
+ Fixes bug 18161.
+
+commit a42342cd90c19d8c29093e91d07d7efab5b5d25a
+Author: Gary Wong <gtw@gnu.org>
+Date: Sat Dec 13 20:06:21 2008 -0700
+
+ Fix silly type mismatch error in multinoise demo.
+
+commit d28e8528958b472c821e3b72a28c22f337aba66e
+Author: Gary Wong <gtw@gnu.org>
+Date: Sat Dec 13 14:15:33 2008 -0700
+
+ i965: Finish OPCODE_NOISEn instructions.
+
+ Added missing OPCODE_NOISE4, and use BRW_REGISTER_TYPE_D (instead of _UD)
+ in the initial RNDD instructions (which avoids saturating negative inputs
+ to 0).
+
+commit d427a2910fbb130c1be49667b0133c7605eef7ed
+Author: Gary Wong <gtw@gnu.org>
+Date: Sat Dec 13 14:00:37 2008 -0700
+
+ Add "multinoise" demo, to test 1/2/3/4 dimensional noise.
+
+commit 0df3dfab82539c2477bfd4d254d1f2c6e35efb57
+Author: Gary Wong <gtw@gnu.org>
+Date: Sat Dec 13 12:58:18 2008 -0700
+
+ Ensure p.w is initialised in noise demo.
+
+commit f72848a09a9d3069705fbe8e4daa29b9918ea56e
+Author: Pekka Paalanen <pq@iki.fi>
+Date: Sat Dec 13 23:24:39 2008 +0200
+
+ Nouveau: move the definition of log2i() to header
+
+ Also make the type unsigned instead of signed, since negative
+ values do not make sense.
+
+ Signed-off-by: Pekka Paalanen <pq@iki.fi>
+
+commit a9475cc240984aab5d9cc5868aa3f6c1b206be94
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 18:03:48 2008 -0700
+
+ mesa: use IFLOOR(x) instead of (int) FLOORF(x)
+
+commit 3b61e9c6e699690aa2ce61ad746170ea6d5597f4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 18:00:47 2008 -0700
+
+ mesa: place glsl constant arrays in constant memory
+
+ For example, a declaration like
+ const float[3] xxx = float[3](1.1, 2.2, 3.3);
+ will place the array in the constant buffer whereas a regular, non-const array
+ would be placed in the temporary register file.
+ Next up: do the same thing for uniform arrays.
+
+commit 0da44c62cc91c60d392f6e57aa047473b67ffb9b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 18:00:19 2008 -0700
+
+ mesa: remove old size=4 limit
+
+commit d4be09fb2b4a2a45a95a388f536aee566e05f96a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 16:20:31 2008 -0700
+
+ mesa: code clean-up in glsl compiler
+
+commit 240e211c711b0ebfe6c3daa6cb70a3fa8fc8b656
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 16:02:31 2008 -0700
+
+ mesa: remove unneeded swizzle init code in glsl compiler
+
+commit 079116e6a487988c7f0411f60c652bb29d69b488
+Merge: a725a8e 8b69c42
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Dec 12 23:02:13 2008 +0000
+
+ Merge commit 'origin/master' into gallium-0.2
+
+commit 4d49fc83f11ec2f333e06e94af5ac0d24b93caa8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 15:34:58 2008 -0700
+
+ mesa: disable glsl debug output
+
+commit 81253be3347312eb7539eb61ee9362f76370eba7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 15:11:08 2008 -0700
+
+ mesa: remove unused varpool code in glsl compiler
+
+commit 5c0c5e5af9c72c170991f48628673faba85bc6f4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 15:07:21 2008 -0700
+
+ mesa: basic array constructors work now
+
+ For example: float[3] xxx = float[3](1.1, 2.2, 3.3);
+
+ Optimizations for const-qualified arrays next.
+
+commit c20d00f04bdbdc0d3abdae8984ff5c874c4f0a10
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 15:01:00 2008 -0700
+
+ mesa: copy array_len in slang_fully_specified_type_copy()
+
+commit 9016331d0fd0783d1e46c9d4b651797d6af4a60f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 15:00:06 2008 -0700
+
+ mesa: remove incorrect array_len assignment
+
+commit a725a8e27a16fc2b38741ad28e43982a55431e0e
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Dec 12 20:37:21 2008 +0000
+
+ mesa: move declaration
+
+commit c828adc3f614f518ba2ce328cad477d31e292290
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Dec 12 20:31:39 2008 +0000
+
+ mesa: when we have interleaved arrays, check bounds for both
+ VBO's and user space objects
+
+commit 87a00959ba40ee0aeaebbc8a86ca081cf3b81c75
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 13:18:30 2008 -0700
+
+ mesa: array size fix in _slang_typeof_operation()
+
+commit 8571401d7d7c9c91c6f053e5dc8c94a4567140fe
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 13:05:29 2008 -0700
+
+ mesa: fix some more GLSL 1.20 array things.
+
+ Function that return arrays should work now.
+
+commit 3a5d260cb1d2602b9fc32392f18538d0a6ff41c2
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Dec 12 18:34:49 2008 +0000
+
+ gallium: fix refcount bug introduced in eb20e2984
+
+commit 56f36ed16662f83e0cb29c2c08dce4ce0d3f4912
+Merge: d2c2e93 aef455c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Dec 12 17:41:49 2008 +0000
+
+ Merge branch 'no-validate' into gallium-0.1
+
+commit d5367622a3f1cffe67af0fb6fca99ad02eefd374
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 10:32:56 2008 -0700
+
+ mesa: more glsl function renaming
+
+commit b4019483dea406e997ae1c6b61b41cc49786c8ce
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 10:29:15 2008 -0700
+
+ mesa: use _slang_alloc()
+
+commit 456a4e274ff60122ab7e23dad2d462be3d910599
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 10:22:47 2008 -0700
+
+ mesa: glsl compiler function renaming
+
+commit 9a174ef4090189e19831092bb2bae4bfc5396968
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 10:17:58 2008 -0700
+
+ mesa: more glsl type/function movement
+
+commit aeeb9bca2712dbf8540486fc584e214a8af4c7c4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 10:11:41 2008 -0700
+
+ mesa: move some glsl compiler functions to different files to be more consistant
+
+commit ea9dc3879f4cbbaa8ce9e305884a4afdc1fdd28a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 10:03:31 2008 -0700
+
+ mesa: move _slang_locate_function() to different file
+
+commit 19ca2908be5df2240d694c67c6f190982e9f7922
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 09:58:18 2008 -0700
+
+ mesa: remove unused fixup table code in glsl compiler
+
+commit d2c2e9316d043ab584794a3524f22776deb4c777
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Dec 12 16:46:34 2008 +0000
+
+ gallium: avoid mapping same vertex buffer in subsequent frames
+
+ Quite a few util modules were maintaining a single vertex buffer over multiple
+ frames, and potentially reusing it in subsequent frames. Unfortunately that
+ would force us into syncrhonous rendering as the buffer manager would be
+ forced to wait for the previous rendering to complete prior to allowing the
+ map.
+
+ This resolves that issue, but requires the state tracker to issue a few new
+ flush() calls at the end of each frame.
+
+commit eb20e2984e51e632ef1a51620db7aca3eb89dafa
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 10 15:43:21 2008 +0000
+
+ st: reduce unnecessary calls to pipe->set_vertex_buffers()
+
+commit 8627a14ec872c532ac7660abfaf1a2db9b8608bb
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 10 15:42:28 2008 +0000
+
+ st: move feedback draw function to new file
+
+commit ec007dbe0f38798553d2a3c29c979dd3b7767818
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 10 15:41:48 2008 +0000
+
+ st: don't unilaterally ABS the argument to RSQ
+
+commit ade777ea1b62e2280c9f05fa09927a8f9bb63f4f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 09:56:13 2008 -0700
+
+ mesa: checkpoint: GLSL 1.20 array constructors
+
+commit 6432d03c3d7ae21312e983fe41f4df7d66f7a3bf
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Fri Dec 12 17:22:41 2008 +0100
+
+ nouveau: remove useless NOUVEAU_BO_SWIZZLED flag, copy/paste nv40 work to swizzle textures
+
+commit aef455c4a7bbd7df97a6444ae332cb5fb976e627
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Dec 12 12:05:39 2008 +0000
+
+ Revert "pipebuffer: Implement proper buffer validation."
+
+ This reverts commit a6d866f72c88d48d2bcfb3e3c882fdb639b5a8ce.
+
+commit 9b3bce6bed36a37293cd67ed4e9a05dd6e1c9d80
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Dec 12 12:05:30 2008 +0000
+
+ Revert "pipebuffer: Ondemand buffer manager."
+
+ This reverts commit 17849eafaacfbb2124d86f561a91b707317d3b31.
+
+commit 71051f1f40206dd9d86d64cfdc20cc744a15f12c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Dec 12 12:05:21 2008 +0000
+
+ Revert "pipebuffer: Fix buffer overflow."
+
+ This reverts commit 55839ae064d64b7fcc180fcddb364bf31ab760dc.
+
+commit d725537dbadc9a69446bc9e21aa31fdae7aa3339
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Nov 21 05:26:52 2008 +0900
+
+ glut: MinGW portability fixes.
+
+ Still, it doesn't run as well as the glut binaries...
+
+commit e9e43321eeec31f1034272af094d90dde80f967d
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Nov 21 05:25:31 2008 +0900
+
+ gdi: Reimplement using the WGL statetracker.
+
+commit 638e94295948619d6a32befe9e809513201b0318
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Nov 21 05:24:35 2008 +0900
+
+ mesa: Bring in new mesa sub-statetracker.
+
+ Some code cleanup is still in order.
+
+commit fd2492d24447e461f36982da268caf0317885967
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Fri Dec 12 05:09:56 2008 +0100
+
+ gallium: fixes for srgb, new srgb formats
+
+ add some more srgb texture formats, including compressed ones
+ various fixes relating to srgb formats
+
+ issues: the util code for generating mipmaps will not handle srgb formats
+ correctly (would need to use a linear->srgb conversion shader)
+
+commit 5bd093bd7b3711f88e1fd0fc9cdb37a18d7d24b9
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Fri Dec 12 05:06:48 2008 +0100
+
+ mesa: fixes for srgb, new srgb formats
+
+ add some more srgb texture formats, including compressed ones
+ various fixes relating to srgb formats
+
+ issues: _mesa_get_teximage is completely broken for srgb textures,
+ both for non-compressed ones (swizzling) and compressed ones
+ (shouldn't do standard-to-linear conversion)
+ texelFetch function may be broken for little or big endian
+ (or both...)
+
+commit 500b304463bcc57af2cb01bb2f196c9c7dbbfa1d
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Dec 12 12:37:21 2008 +0900
+
+ scons: Build progs.
+
+ Just demos and trivial dirs for starters.
+
+ Conflicts:
+
+ .gitignore
+
+commit 1737f2dbdd8d9d6b1da140340323cbf83f7bd592
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 11 19:34:43 2008 -0700
+
+ mesa: consolidate variable declaration initializer code for globals too
+
+commit 2760bca1e13e62943affd762ed560bc30fbcc27a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 11 19:28:22 2008 -0700
+
+ mesa: move variable initializer IR generation into _slang_gen_var_decl()
+
+ More code consolidation coming...
+
+commit 05ed9f7fe934249eaa5a16123b5b5f7f62b0ad26
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 11 19:10:58 2008 -0700
+
+ mesa: simplify some glsl variable declaration code
+
+commit 8b69c42b356d51c3a37bc0af41738b016c2adc5b
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Fri Dec 12 10:02:05 2008 +0800
+
+ intel: check for null texture. (fix #13902)
+
+commit 929eb00b32dfea9b1ac58923c88d5573872adea1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 11 18:49:28 2008 -0700
+
+ mesa: glsl clean-ups
+
+commit 2dc3de016cd0306bf5b492ed781e824864788f11
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 11 18:02:19 2008 -0700
+
+ mesa: checkpoint commit of GLSL 1.20 array syntax.
+
+ This allows things like float[3] x = float[3](1., 2., 3.);
+
+ Parsing and AST construction now. Codegen not working yet.
+
+commit fa6ee2c2bbf1005090c434c945e63ed2c0de8ec6
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Dec 12 09:44:47 2008 +0900
+
+ scons: Allow to request the winddk toolchain.
+
+commit 9106a18f46cd83180b17f4b30f54bd2d5b437db1
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Dec 11 15:10:55 2008 +0000
+
+ gallium: catch vertex overflow higher up
+
+commit 72d456494a7074f11ab9c735d0caeae4e09a33e7
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 10 15:43:21 2008 +0000
+
+ st: reduce unnecessary calls to pipe->set_vertex_buffers()
+
+commit e8347a6000339e2f7bd086abc0a5daa3bbd1bc44
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 10 15:42:28 2008 +0000
+
+ st: move feedback draw function to new file
+
+commit 8355568abdb3d326f640901c86b3a3d7e9fd3d3a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 10 15:41:48 2008 +0000
+
+ st: don't unilaterally ABS the argument to RSQ
+
+commit 5c845b911596e72a9fdbc566ee06b1d7dc8afb7c
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Thu Dec 11 13:55:55 2008 +0100
+
+ softpipe: Add missing header include.
+
+commit 401a18a0c64bf8995c2c888b155a711b6187eba5
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Thu Dec 11 13:54:05 2008 +0100
+
+ draw: Silencium compiler warnings on Windows.
+
+commit c8b505d8260cccf289c947c629471df8f5c81c0d
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Thu Dec 11 14:03:00 2008 +0800
+
+ i915: fallback for cube map texture.
+
+ The i915 (and related graphics cores) only support TEXCOORDMODE_CLAMP and
+ TEXCOORDMODE_CUBE when using cube map texture coordinates, so fall back to
+ software rendering for other modes to avoid potential gpu hang issue. This
+ fixes scorched3d issue on 945GM(see bug 14539).
+
+commit ce3436795c0ddc110d83a5658e5ff10c202a4490
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 10 18:21:40 2008 -0700
+
+ gallium: added missing brace to fix broken build
+
+commit 0c31661e73dd2979df22a275452efc71c7064f81
+Merge: b716de4 d0bc529
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 10 18:11:31 2008 -0700
+
+ Merge commit 'origin/gallium-0.1' into gallium-0.2
+
+commit d0bc5293d6e1e9c34fa822b7c2928932ed22462c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 10 18:02:27 2008 -0700
+
+ gallium: added draw_set_mrd() function to fix polygon offset
+
+ The Minimum Resolvable Depth factor depends on the driver and can't just
+ be computed from the number of Z buffer bits.
+ Glean's polygon offset test now passes with softpipe.
+ Still need to determine the MRD factor for other gallium drivers, if they use
+ the draw module's polygon offset stage...
+
+commit 8137da952b6f30329adf7d49d2d9e58625534dd4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 10 18:00:59 2008 -0700
+
+ gallium: only mark back color buffer surfaces as undefined after swapbuffers
+
+ Marking all surfaces as undefined was wrong and cause some glean failures
+ because glReadPixels was used after SwapBuffers.
+
+commit 99b862cd77fb088d0b2e62c6c15ecef82ec4fb80
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 10 18:00:36 2008 -0700
+
+ gallium: restore default_depth_bits() call in xlib winsys
+
+ This was accidentally disabled in a long-ago commit.
+
+commit b716de47798defa7d22b0f15b201af6fba27f0b9
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Wed Dec 10 20:21:19 2008 +0000
+
+ gallium: change 65535 to UNDEFINED_VERTEX_ID
+
+commit e1645313be9be2493311780a2f66361601903559
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Nov 25 20:02:00 2008 +0000
+
+ mesa: more trivial tests
+
+commit 50beb86ce399534b049322f1074365ed03395ab2
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Dec 9 16:57:53 2008 +0000
+
+ util: new funcs for triming/validating primitives
+
+commit 7519107a9787970f9b3b8ec317a2b4526e217290
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Dec 9 16:54:16 2008 +0000
+
+ draw: add const qualifiers
+
+commit a8e7852b05f95cc695f3a05692a6ccd36298faf7
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Wed Dec 10 12:02:24 2008 +0000
+
+ gallium: more vertex count checks
+
+commit e3f5370d637f367dbfe7d21f726e84185ad1e07d
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Wed Dec 10 11:30:46 2008 +0000
+
+ gallium: temporary check for > 65535 vertices
+
+commit e8f5c1a5e89fe43ddfa277d7392dcaf8ac1d6c88
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Dec 9 14:30:42 2008 -0700
+
+ mesa: in slang linker, replace assertion with link error when max samplers exceeded
+
+commit 3c7419d57b042cdec7753fe4799e56002009102b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Dec 9 14:29:14 2008 -0700
+
+ demos: updated tests/floattex.c (doesn't work just yet).
+
+commit c89690f7654b4e79a771c542a3c06e992e704555
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Dec 9 14:26:02 2008 -0700
+
+ mesa: move _mesa_dlopen(), etc into separate dlopen.c file
+
+commit 3b9bc821e1dfe39905585746166183264c335416
+Author: Guillaume Melquiond <guillaume.melquiond@gmail.com>
+Date: Tue Dec 9 13:15:05 2008 -0800
+
+ tnl: Fix zeroing of the 3ub part of a 3ub+1ub attrib pair in SSE.
+
+ Bug #16520.
+
+commit b66495a0d915f5d5cc5ab50c843c9c1b296a5851
+Author: Guillaume Melquiond <guillaume.melquiond@gmail.com>
+Date: Tue Dec 9 13:10:56 2008 -0800
+
+ tnl: Optimize SSE load[23]f_1 since they don't need the identity swizzle.
+
+ SSE movss from memory zeroes out everything above the destination dword, so
+ we get the (a, 0) or (a, 0, 0) result that these functions needed.
+
+ Bug #16520.
+
+commit 6e29a3c8e2dc920b6216a0df6357abd8234f1ec4
+Author: Guillaume Melquiond <guillaume.melquiond@gmail.com>
+Date: Tue Dec 9 11:42:24 2008 -0800
+
+ tnl: Fix typo that resulted in fallback from SSE for EMIT_3UB_3F_RGB/BGR.
+
+ Bug #16520
+
+commit d507cd749b468751b880194a52ea7171b5dac75c
+Author: Guillaume Melquiond <guillaume.melquiond@gmail.com>
+Date: Tue Dec 9 09:29:08 2008 -0800
+
+ tnl: Avoid undefined input value use in insert_3f_viewport_2().
+
+ Bug #16520.
+
+commit 5295f9a033e958e144ac3f47e6146842cd7dff9c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Dec 8 15:42:54 2008 -0700
+
+ glut: added GLUT_PPM_FILE env var to dump first frame to a PPM file
+
+ Set GLUT_PPM_FILE to the desired filename. The first frame rendered will
+ be written to that file.
+
+commit 608e14c5b265d331f89959b8e477796ac21c297c
+Merge: ee0735f a0d5c3c
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Tue Dec 9 16:17:57 2008 +0000
+
+ Merge commit 'origin/master' into gallium-0.2
+
+commit ee0735fa2d4b2d2a9eae1f55e8f93f1f57feaf6d
+Merge: e8a1b31 51d9642
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Tue Dec 9 16:17:45 2008 +0000
+
+ Merge commit 'origin/gallium-0.1' into gallium-0.2
+
+commit 51d9642f74c3f418b2f8a56b4b17c94eb91b39d1
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Dec 9 19:37:25 2008 +0900
+
+ python/retrace: Dump indices too.
+
+commit 2ce2a40a732923461142d371548ba3243791422e
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Dec 9 19:35:52 2008 +0900
+
+ gallium: Abort by default on windows user space.
+
+commit a0d5c3cfe6582f8294154f6877319193458158a2
+Author: Pierre Willenbrock <pierre@pirsoft.de>
+Date: Mon Dec 8 14:06:51 2008 -0800
+
+ intel: Require the right amount of space in glBitmap blit acceleration.
+
+ This leads to problems when the batchbuffer is flushed, but the bitmap
+ data could not fit into it.
+
+commit e8a1b31ddf39f0b09eb85653cebb9808a5daf0a9
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Mon Dec 8 15:03:29 2008 +0000
+
+ fix conflict breakage
+
+commit 33a1f495d4bb19288680b9812c6ec1235302d215
+Merge: bcd5dda bdc8ac44
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Mon Dec 8 14:29:50 2008 +0000
+
+ Merge commit 'origin/master' into gallium-0.2
+
+ Conflicts:
+
+ progs/glsl/Makefile
+
+commit d26a43f6c6ba0e1958e3fafc99b5f110b6e3149a
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Dec 8 17:26:02 2008 +0900
+
+ python/retrace: Dump vertex buffer contents.
+
+commit bcd5dda4358a5e47551278477bd00d2c63415c44
+Author: Pekka Paalanen <pq@iki.fi>
+Date: Sun Dec 7 01:05:54 2008 +0200
+
+ nouveau: make nv20 use NV{20,25}TCL objects
+
+ Up till now, nv20 driver has been using NV10TCL, and being
+ really an nv10 driver. That has changed.
+
+ Signed-off-by: Pekka Paalanen <pq@iki.fi>
+
+commit f849d364c22e702e3dda664fa65601d4cf2b55a5
+Author: Eric Anholt <eric@anholt.net>
+Date: Sat Dec 6 21:14:56 2008 -0800
+
+ mesa: Fix GenerateMipmapEXT(GL_TEXTURE_CUBE_MAP_ARB).
+
+ The ctx->Driver.GenerateMipmap() hook only expects cubemap face enums, not
+ CUBE_MAP_ARB, so walk all faces when we encounter that. Fixes oglconform
+ fbo.c segfault with both swrast and i965 drivers.
+
+commit 8b661a5d33604fd3706cb1825236d72ae2949598
+Author: Eric Anholt <eric@anholt.net>
+Date: Sat Dec 6 15:47:23 2008 -0800
+
+ intel: Fall back on rendering to a texture attachment with a border.
+
+ Fixes a segfault in oglconform fbo.c test.
+
+commit 75b26e18a64b2fb1962e5e49dfaebd257c734ecc
+Author: Eric Anholt <eric@anholt.net>
+Date: Sat Dec 6 15:21:47 2008 -0800
+
+ intel: Fix crash in automatic mipmap generation for glCopyTex{Sub,}Image.
+
+ The images aren't mapped at this point, so we want the generic Mesa path for
+ GenerateMipmapEXT that does the mapping/unmapping for us. Ideally Mesa would
+ just call it for us.
+
+commit bdc8ac4426f00eaafbe8ca0d356563efe390294d
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Dec 3 15:32:51 2008 -0800
+
+ intel: Put CopyTexImage fallback under DEBUG_FALLBACKS not DEBUG_TEXTURE.
+
+commit a0625fa28152db08f026dc9856035c0908060154
+Author: Eric Anholt <eric@anholt.net>
+Date: Sat Dec 6 14:51:17 2008 -0800
+
+ intel: Fix glCopyPixels blit acceleration for FBO destinations.
+
+ This was another opportunity to either get clipped to screen size or not get
+ clipped enough and draw outside of object boundaries.
+
+commit cb433d91c6e198b7c77f747f1a38803532bc9be9
+Author: Eric Anholt <eric@anholt.net>
+Date: Sat Dec 6 14:21:12 2008 -0800
+
+ intel: Fix glBitmap blit acceleration for FBO destinations.
+
+ Bug #18914. Fixes fbo_firecube hang due to drawing outside the FBO bounds.
+ Thanks to Pierre Willenbrock for debugging the issue.
+
+commit 54a6dcb70fb3c1ac7e9d2d4449db13197637a020
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Sun Nov 16 12:33:58 2008 +0100
+
+ i915: Silence warnings
+
+commit 6e0f8b174dddeb743b4bdc0d831eb1121f62ff50
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Nov 29 17:25:44 2008 -0700
+
+ mesa: assorted clean-ups, updated comments, etc.
+
+commit 249e1e4d30759cd3c55cef0dba75f531cc7c6269
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Nov 29 16:03:40 2008 -0700
+
+ mesa: replace large macros with inline functions
+
+commit b9604fe7699355584307ee3f38e048914fdfd76b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Dec 2 22:40:08 2008 -0700
+
+ softpipe: plug in softpipe's texture samplers into draw module.
+
+commit f2bccfd3c806a879abf0c40858806ec3825d0628
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Dec 2 22:38:46 2008 -0700
+
+ gallium: added draw_texture_samplers() to support texture fetches from vertex shaders
+
+ This may only be practical for the softpipe driver at this time.
+
+commit 1d9360b67829a37b369e32c894183db1cecf827b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Dec 2 22:37:35 2008 -0700
+
+ gallium: query PIPE_CAP_MAX_VERTEX_TEXTURE_UNITS to set ctx->Constants.MaxVertexTextureImageUnits
+
+commit 7eb8b37735a32768487334664d95e98ad06f48db
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Dec 2 22:36:27 2008 -0700
+
+ gallium: added PIPE_CAP_MAX_VERTEX_TEXTURE_UNITS query
+
+commit 9271662ae9acda08ed6e444d1ee18384eebf8987
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Dec 2 20:10:32 2008 -0700
+
+ gallium: check vertex shaders for samplers/texture usage as we do for fragment shaders
+
+commit 39091cc6385e6253464900e436cd7e9c04409ce6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Dec 2 22:51:39 2008 -0700
+
+ demos: added simple vertex shader texture test.
+
+ Draw a quadmesh where Z coord is taken from a texture map.
+
+commit f18880038b46c253d8689c9f6f7b77fca261e702
+Author: Jeremy Huddleston <jeremyhu@freedesktop.org>
+Date: Wed Dec 3 17:03:13 2008 -0800
+
+ darwin: Use -Os instead of -O2
+ (cherry picked from commit 456dbb143a0d11b69d8af0d493cd84efb0596273)
+
+commit 264cba6f70eacd9e04646104d10ba63c248d7b83
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Dec 3 11:36:55 2008 -0800
+
+ i965: Fix failure to upload new constant data when changing programs.
+
+ This is fallout from the ffvertex_prog.c work. It doesn't call
+ ProgramStringNotify, so we don't set param_state, so we wouldn't track when
+ VP parameters changed, and constants wouldn't get uploaded. Instead, remove
+ param_state entirely and just use the real value that we want to be tracking.
+
+ Fixes rendering in openarena since BRW_NEW_BATCH got disentangled from
+ BRW_NEW_INDICES.
+
+ Bug #18822.
+
+commit 8a1e7086c7c1d2fed22a0d7f840de515a6ca7e18
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Dec 3 11:30:58 2008 -0800
+
+ i965: Fix stray character that the compile whined about.
+
+commit 4371a24c320f3d26f07effa0c3e862078762c942
+Author: Younes Manton <younes.m@gmail.com>
+Date: Tue Dec 2 16:12:49 2008 -0500
+
+ nouveau: Calc pitch for swizzled textures appropriately.
+
+commit 25eee19cd6e13b6682f4078681a367849c4a0fd5
+Author: Younes Manton <younes.m@gmail.com>
+Date: Tue Dec 2 00:23:30 2008 -0500
+
+ mesa: Update some .gitignore files.
+
+commit 6b4776df35c46892d7701072b8c03cb1cf2d6f01
+Author: Younes Manton <younes.m@gmail.com>
+Date: Mon Dec 1 23:48:29 2008 -0500
+
+ nouveau: Use swizzled textures & render targets on nv40 when possible.
+
+commit a6b7c0bcbebb7532b6728500a868b7c985e3f822
+Author: Younes Manton <younes.m@gmail.com>
+Date: Mon Dec 1 22:24:19 2008 -0500
+
+ nouveau: nv04-nv40 linear <-> swizzled conversion.
+
+commit 1c22c0452526aaae13a2e618ec6e46327609d9c2
+Author: Younes Manton <younes.m@gmail.com>
+Date: Mon Dec 1 22:08:59 2008 -0500
+
+ gallium: Make room for custom PIPE_TEXTURE_USAGE_* flags.
+
+commit d585fdf318e92a1a25bb244db3e8dc374203f43e
+Author: Younes Manton <younes.m@gmail.com>
+Date: Mon Nov 24 17:31:25 2008 -0500
+
+ g3dvl: Map/unmap incoming block texture once per frame.
+
+ (Technically once per flush, but we flush once per frame.)
+
+commit c064d5a1baef7d227e83ecd902575dce16ca20bd
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sun Nov 23 14:06:20 2008 -0500
+
+ g3dvl: Use texture instead of surface for backbuffer.
+
+commit bacacd5adacc883757f615589fa4062ba2920f07
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sun Nov 23 13:28:01 2008 -0500
+
+ g3dvl: Move MC shaders to a seperate file, #included in the original.
+
+commit 154a9e5317f890618932cea0129ef887e16baf84
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Mon Dec 1 21:44:03 2008 -0500
+
+ Bump dri2proto requirement to 1.99.3, drop CopyRegion bitmask from protocol.
+
+commit cd031749a75883a6fbf8fb7bf989b77a7c705819
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Nov 28 19:38:47 2008 +1000
+
+ intel: restore old vertex submit paths for i8xx hardware.
+
+ Intel docs state that only 830/845 have VBOs, 855/865 don't. So
+ lets just not use them on i8xx at all.
+
+ This restores the old pre-vbo code and uses it on all 8xx hw.
+
+commit 36b941cdbf83bc23c95598baf7638def1632db01
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Nov 29 17:56:41 2008 -0700
+
+ softpipe: minor tweaks, clean-ups
+
+commit 38bee46e83b18ff4ad42d340b507b1a15b4326c7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 28 11:32:32 2008 -0700
+
+ softpipe: compute nearest/linear texcoords four at a time.
+
+ A small step toward SIMD-izing the code.
+
+commit dd55083ac1c13723dba6be71f161e2ca7cac7c66
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 28 10:28:44 2008 -0700
+
+ gallium: minor texture-related clean-ups, comments, etc
+
+commit 1e2f57425153d73646fde7c91c16aa5559491556
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Dec 1 18:32:47 2008 -0700
+
+ mesa: fix conditional in save_Lightfv(), bug 18838
+
+commit 129c6ed67807db5d1d5ec4bc09bcc32bc5a329d4
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Dec 1 11:53:26 2008 -0800
+
+ scons: Target Windows XP on userspace.
+
+commit 72cd2c8c0c863873d280a0e49dfa381e5c3236c8
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Dec 1 16:24:50 2008 +1000
+
+ radeon: make DRI1 one work with new CS mechanism
+
+commit dbcfc0dcde4eee248812881d32b134fd733212d2
+Author: Pekka Paalanen <pq@iki.fi>
+Date: Sun Nov 30 20:54:02 2008 +0200
+
+ Nouveau: minor winsys API fix
+
+ Signed-off-by: Pekka Paalanen <pq@iki.fi>
+
+commit bb29d066dc5c5188bafadf7b702d44ed571e855e
+Author: Pekka Paalanen <pq@iki.fi>
+Date: Sun Nov 30 20:40:55 2008 +0200
+
+ Nouveau: nv{10,20} set_primitive API fix
+
+ Also changes nvgl_primitive() to return zero, i.e. error, on unknown
+ primitive.
+
+ Signed-off-by: Pekka Paalanen <pq@iki.fi>
+
+commit 830e4a6ec3fb70c830d0c59eae5edc827b546eae
+Author: Pekka Paalanen <pq@iki.fi>
+Date: Sun Nov 30 20:35:29 2008 +0200
+
+ Nouveau: nv20 build fix: forgotten include
+
+ Signed-off-by: Pekka Paalanen <pq@iki.fi>
+
+commit fd645c7f8a0394d5d4e10ff3beaf5957254e6559
+Author: Pekka Paalanen <pq@iki.fi>
+Date: Sun Nov 30 20:32:14 2008 +0200
+
+ Nouveau: fix minor API change in surface_copy
+
+ Signed-off-by: Pekka Paalanen <pq@iki.fi>
+
+commit 578af7d6f61be4ef4487cdb58108dddd91444e21
+Author: Pekka Paalanen <pq@iki.fi>
+Date: Sun Nov 30 20:04:28 2008 +0200
+
+ Nouveau: update nouveau_class.h
+
+ Fresh from renouveau.
+
+ Signed-off-by: Pekka Paalanen <pq@iki.fi>
+
+commit 988ece3b4267367d403c5e5f40fee157dfe3d6f3
+Author: Pekka Paalanen <pq@iki.fi>
+Date: Sat Nov 29 21:21:12 2008 +0200
+
+ Nouveau: nv20 (nv10) immediate vertex submission
+
+ This is nv10 commands, but is in nv20 source files.
+
+ Signed-off-by: Pekka Paalanen <pq@iki.fi>
+
+commit 3cb08585103999e1d12bfacdc1147f71ee1e9988
+Author: Pekka Paalanen <pq@iki.fi>
+Date: Sat Nov 29 23:02:06 2008 +0200
+
+ Nouveau: properly redo nv20_vertex_layout.
+
+ This is still for NV10 hardware.
+
+ Signed-off-by: Pekka Paalanen <pq@iki.fi>
+
+commit e476acb1051ae1a7e5e2be35a89488a8e5b07ff4
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Nov 28 12:43:10 2008 -0800
+
+ i965: Add a new state flag BRW_NEW_NR_SURFACES instead of CACHE_NEW_SURFACE
+
+ The CACHE_NEW_SURFACE bit always gets spammed since we get many different
+ surface BOs per state emit, but the only consumer of it wanted to just know
+ how many surfaces were enabled.
+
+commit 8e5639577c03ccd75bb421e494638fbb5a3e7dcd
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Nov 28 12:16:51 2008 -0800
+
+ i965: Fix clashing enums for BRW_NEW_INDICES/VERTICES versus BATCH/DEPTH_BUFFER.
+
+ Fixes upload of large amounts of state for every new primitive emit.
+
+commit 287d719a93728dfd736ecd6ef31c8101f12d58c2
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Nov 28 11:58:00 2008 -0800
+
+ i965: Remove BRW_WM_LOCK dirty bit, introduced to work around lack of relocs.
+
+ This was causing a prepare of wm state at every primitive emit.
+
+commit 3f973de07c035c7307e4129db17ba2baa6ae9acf
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Nov 27 12:26:00 2008 -0800
+
+ i965: Add debug code for dumping how frequently different dirty bits are set.
+
+commit 8e76ac070dfea5d151d31121af5c8ca1c99caeb0
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Nov 26 20:42:59 2008 -0800
+
+ i915: Remove dead early z enable bit which was always on.
+
+commit 7855b2aef6bd9e9c2d73260b5cd166159b2525c6
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Nov 26 19:22:37 2008 -0800
+
+ i965: Reduce fast-pathiness of brw_try_draw_prims, bringing in important checks.
+
+ Later primitives, even if they caused a full state validate, wouldn't check
+ that there was enough space in the batchbuffer, occasionally triggering the
+ sanity check. We also skipped the aperture space check, even if it would
+ mean bringing in new programs and associated state.
+
+commit baaf9779f1d892083238eb1af34cddc0c7541e22
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 28 16:17:38 2008 -0700
+
+ mesa: add missing break statements
+
+commit 166d5ac1704f241fffcaf7222143f4a99725278e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 28 14:08:04 2008 -0700
+
+ mesa: enable texture compression extensions for software drivers when possible
+
+commit 3b5cd7d74adaeb4c0cf27925ba187235c7a4cff4
+Author: Phillip Klaus Krause <pkk@spth.de>
+Date: Fri Nov 28 13:54:08 2008 -0700
+
+ mesa: remove unneeded compressed texure size checks
+
+commit ec17001cd4e17240039b9b96083ef9b831720107
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 28 13:50:41 2008 -0700
+
+ mesa: fix default switch case in append_token(), see bug 18734
+
+commit c4c86bbd16688ee4a0afb32efa27ba52abceb1ca
+Merge: 5b71472 c303e72
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Nov 28 16:19:10 2008 +0000
+
+ Merge commit 'origin/master' into gallium-0.2
+
+commit 5b714723895d321db753f896576de5e2c27778c3
+Merge: 823aac3 158a5f7
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Nov 28 16:18:36 2008 +0000
+
+ Merge commit 'origin/gallium-0.1' into gallium-0.2
+
+ Conflicts:
+
+ src/gallium/auxiliary/tgsi/tgsi_sse2.c
+
+commit c303e7299b5f95d4728c3710c56f50b1fefca09d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 27 11:01:30 2008 -0700
+
+ mesa: remove an assertion (see bug 18734)
+
+commit 8c2b4b33c583401e2efe02db859d5af31872921d
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Thu Nov 27 12:53:43 2008 +0100
+
+ Revert "glx: xcbified visual and FBConfig choosing"
+
+ This reverts commit 62688f11355cfa865d420755aa159875b425cc9b.
+
+commit 80d1531ebefe78aaa09a0378d0369963dd925132
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Thu Nov 27 12:53:19 2008 +0100
+
+ Revert "glx: revert using nonexsisten XCB version of glXGetFBConfigsSGIX"
+
+ This reverts commit 53698765019e50172be25a4ff48c83d54f0e7981.
+
+commit 158a5f75d8436facfe8163845a942979899213fe
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Nov 26 22:29:49 2008 +0100
+
+ tgsi: Reenable OPCODE_ARR.
+
+commit 53698765019e50172be25a4ff48c83d54f0e7981
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Sat Nov 8 18:18:26 2008 +0100
+
+ glx: revert using nonexsisten XCB version of glXGetFBConfigsSGIX
+
+ This uses a GLX VendorPrivate request. VendorPrivates are real GLX API
+ calls but use the same protocol request. XCB does not currently
+ support specific VendorPrivetes directly. See eg.:
+ http://lists.freedesktop.org/archives/xcb/2008-November/004036.html
+ for more information.
+
+commit 1e167f6b5c91062264d6340d3d78364f0869e8ef
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Sat Nov 8 17:58:55 2008 +0100
+
+ glx: remove XCB debug leftover
+
+commit ff3fa92eaa67579b3bd3480bc685cfc55ae1eff2
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Tue Nov 4 17:30:21 2008 +0100
+
+ glx: xcbified glXSwapBuffers
+
+commit 62688f11355cfa865d420755aa159875b425cc9b
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Tue Nov 4 17:17:18 2008 +0100
+
+ glx: xcbified visual and FBConfig choosing
+
+commit 66db1b64e85a2225dff930d3bb9e1194bde75622
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Tue Nov 4 12:41:55 2008 +0100
+
+ glx: xcbified __glXClientInfo
+
+commit 5f19f5c5865fb3fd7bf82f842d433264d3d2bf99
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Tue Nov 4 11:53:32 2008 +0100
+
+ configure.ac: advertise XCB
+
+commit 6d1d1576062e569fe1d372f44ba3f646c21ae1c3
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Tue Nov 4 11:31:53 2008 +0100
+
+ glx: no graphics context during initialization
+
+commit 9c7aaa7afbda92587f28cc28c4c8315e7861d318
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Tue Nov 4 10:59:39 2008 +0100
+
+ glx: xcbified __glXIsDirect
+
+commit 00f22f972f6c96589cb9f6fa75b803c9506d61f5
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Tue Nov 4 10:43:06 2008 +0100
+
+ glx: missing static on local function
+
+commit f0d015cccbe29d18ee03ce788b65f44124fefe7f
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Nov 3 18:32:35 2008 +0100
+
+ glx: use __glXGetString
+
+commit 9c98e35ff638a7d3793ffa99933ae308005e7416
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Nov 3 18:32:20 2008 +0100
+
+ glx: use __glXQueryServerString
+
+commit 24b8a8cfe8210ac7bdd661c88523465633151219
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Nov 3 18:31:22 2008 +0100
+
+ glx: implement __glXGetString, hide __glXGetStringFromServer
+
+commit fd52001c5c292d3b625c164a6c3c357e1da443e0
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Sat Oct 18 17:00:13 2008 +0200
+
+ glx: implement QueryVersion using XCB
+
+commit 5444424562781a0a40559db40dfe9b97286dc9da
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Sat Oct 18 16:53:08 2008 +0200
+
+ glx: implement __glXQueryServerString using XCB
+
+commit 55aeeef5476528907f12ba42d6157dc1b016cadf
+Author: Thomas Henn <thomas.henn@igd.fraunhofer.de>
+Date: Wed Nov 26 09:51:29 2008 -0700
+
+ windows: fix visual object memleak
+
+commit 279343059f8ec676afc1713f9d15030ba06f4a07
+Author: Thomas Henn <thomas.henn@igd.fraunhofer.de>
+Date: Wed Nov 26 09:49:32 2008 -0700
+
+ windows: fix _mesa_unreference_framebuffer() to pass ** type.
+
+commit 001b1cbb0dacf76dd09cda56840c30226abd3534
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 26 09:35:26 2008 -0700
+
+ mesa: add missing type check for function calls
+
+commit aa40de5c6f7f70844d4a4c726456cceaee9f0e4d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 26 09:35:08 2008 -0700
+
+ mesa: add missing size check for assignment optimization
+
+commit 527e76a7ec7f330bd321fe9632a0fadedbab1d41
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Nov 26 17:20:07 2008 +0100
+
+ tgsi: Fix build.
+
+commit 972922b1bf28346568bedfadc2198ed93230f5d7
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Nov 26 12:56:23 2008 +0100
+
+ tgsi: Implement OPCODE_ROUND for SSE2 backend.
+
+commit 1347439a87a26f261ab07c914ea4e69965703ee2
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Nov 26 13:54:28 2008 +0100
+
+ tgsi: Implement OPCODE_SSG/SGN.
+
+commit fea3a32e17502ac16ec9a12dc9d18742cea2efd5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 26 09:02:37 2008 -0700
+
+ mesa: remove debug code
+
+commit e23122d309192d8355603979253eb7909e121ac4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 26 09:00:44 2008 -0700
+
+ demos: press SPACE to toggle fbo_firecube animation
+
+commit 1250526e3012f6958679c5dcdcb990387b53479b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 26 07:41:19 2008 -0700
+
+ gallium: disable TGSI_OPCODE_ARR case until emit_rnd() is redone.
+
+commit 6e96bd70e56f6ba4ff444c584376475a136bca26
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 26 07:38:31 2008 -0700
+
+ Revert "tgsi: Implement OPCODE_ROUND for SSE2 backend."
+
+ This reverts commit 685fd2c035e284db2447ede0f6da278adaa70a0d.
+
+ Does not compile since emit_rnd() is trying to pass 4 params to
+ emit_func_call_dst() which takes 3 params.
+
+commit 11701b4c151de450e0b80d9e61266ff178b4bd60
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 26 07:21:12 2008 -0700
+
+ mesa: add some missing switch cases for generating state var strings
+
+commit c03af8e78069921d02cf4d9b70aabb82d5326764
+Author: Daniel Zimmermann <netzimme@aol.com>
+Date: Wed Nov 26 11:48:53 2008 +0100
+
+ fix possible memory leak in bezierPatchMeshMake
+
+commit 277089b81ae498f598efdc74fafda9873864ee54
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 26 07:06:26 2008 -0700
+
+ gallium: fix glBitmap color bug
+
+ By time we get around to rendering the cached bitmap, the current color may
+ have changed. Need to make sure we load the constant slot with the cached
+ color.
+
+commit 281055987a535d7fa226cfbd9e1acb7777b2b3dd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 26 07:06:14 2008 -0700
+
+ gallium: replace 2 with PIPE_SHADER_TYPES
+
+commit 823aac36d5580ea46f76ccec3fd31c91f168274e
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Nov 26 13:54:28 2008 +0100
+
+ tgsi: Implement OPCODE_SSG/SGN.
+
+commit eee3d216049f21507a3ff6908f1d506c683efad0
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Nov 26 13:17:25 2008 +0100
+
+ tgsi: Implement OPCODE_ARR.
+
+commit 685fd2c035e284db2447ede0f6da278adaa70a0d
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Nov 26 12:56:23 2008 +0100
+
+ tgsi: Implement OPCODE_ROUND for SSE2 backend.
+
+commit adf14090fb6e43a25eabb13796d5a9385d8511ea
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Nov 26 13:17:25 2008 +0100
+
+ tgsi: Implement OPCODE_ARR.
+
+commit 18a1389077c72717dfbe6ae10793f3329d13b848
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Nov 26 12:56:23 2008 +0100
+
+ tgsi: Implement OPCODE_ROUND for SSE2 backend.
+
+commit 4de360e67d83cd6503fb8ad053bb8afe507db5fa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 25 09:02:27 2008 -0700
+
+ gallium: added centroid/invarient fields to declarations
+
+commit 152db5b8846c38d8bcd85d39927e810da7bf1169
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Tue Nov 25 13:01:06 2008 +0100
+
+ softpipe: Fix function prototype.
+
+commit 4b7a84a36108eff8f17cbdf2c511593eb3260fd2
+Merge: 4af0d94 8d95e66
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Tue Nov 25 09:28:36 2008 +0000
+
+ Merge commit 'origin/master' into gallium-0.2
+
+commit 4af0d940a35536f096a9289470af0268a79402b3
+Merge: c5b52b5 55839ae
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Tue Nov 25 09:28:30 2008 +0000
+
+ Merge commit 'origin/gallium-0.1' into gallium-0.2
+
+ Conflicts:
+
+ scons/gallium.py
+ src/gallium/auxiliary/pipebuffer/pb_buffer.h
+
+commit 55839ae064d64b7fcc180fcddb364bf31ab760dc
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Nov 25 14:01:40 2008 +0900
+
+ pipebuffer: Fix buffer overflow.
+
+commit f8870af44b32d4c69ef11013897143d46966c8e4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 18:37:18 2008 -0700
+
+ gallium: fix inverted raster pos when drawing into FBO
+
+commit 8d95e66cf78921cd067c4bcf6a1053a7ec3a2ed4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 17:18:56 2008 -0700
+
+ mesa: added support for GLSL 1.20 array.length() method
+
+ This is the only method supported in GLSL 1.20 so we take a few short-cuts.
+
+commit 0fab514ff5e7887767936427b5e02b676abebf3a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 15:28:21 2008 -0700
+
+ mesa: support for GLSL 1.20 array types
+
+ This allows syntax like "float[8] foo, bar;"
+
+commit c5b52b5e0e6f6e47c3953076fa788921b1c5a5e2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 14:36:00 2008 -0700
+
+ mesa: pass shader centroid/invariant info through to the TGSI shader
+
+commit 77762801bc260d1e9f43f684c35f4546350fc76d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 14:31:41 2008 -0700
+
+ remove some redundant rules from prev merge
+
+commit df6155fcff66034457b3165f5df0a61ccfc41314
+Merge: 868c607 b730d0d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 14:08:58 2008 -0700
+
+ Merge commit 'origin/master' into gallium-0.2
+
+ Conflicts:
+
+ progs/glsl/Makefile
+
+commit 868c607c1751fc3e6df1a8dc45e8b70e6bc315f6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 10:05:29 2008 -0700
+
+ tgsi: doxygen comments
+
+commit 434e255eae90b0f3d836d452b7d3b0c5aadf78b8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 10:02:44 2008 -0700
+
+ tgsi: add tgsi_declaration fields for centroid sampling, invariant optimization
+
+commit 1240280e6a7697eabd55d1a4edc6b23cae52c498
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 09:28:25 2008 -0700
+
+ mesa: copy centroid/invariance/precision info in parse_init_declarator()
+
+commit c67c3714e8dffb6b4d6a401da7055c6244821723
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 09:25:05 2008 -0700
+
+ mesa: check that varying variable qualifiers agree
+
+commit ed225446588a145879e21ae4d4e3440fcc2d11ca
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 09:13:14 2008 -0700
+
+ mesa: copy precision/variant/centroid info in slang_fully_specified_type_copy()
+
+commit 891cf754b3c6d624cd5f29d04033831adde59848
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 09:05:49 2008 -0700
+
+ mesa: set flags for varying vars
+
+commit cddcd72dae60f04df77d62c05db1ce4d89850504
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 09:04:52 2008 -0700
+
+ mesa: rename program parameter flags to match other Mesa conventions
+
+commit a7264720b4e002ab9cd3c0e921013b74e8abf3e0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 09:04:11 2008 -0700
+
+ mesa: copy Flags in _mesa_clone_parameter_list()
+
+commit 68020ca2af2724eb561a3c3a1e845c82bc896767
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 09:03:47 2008 -0700
+
+ mesa: dump/debug varying vars list
+
+commit 30685749295e489e8875111b1edc917742ce2c00
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 08:43:38 2008 -0700
+
+ mesa: added PROG_PARAM_ bits for invariant, flat/linear interpolation
+
+ Plus, update the print/debug code.
+
+commit 84c1850e8244710bc06ada56fedab786a0a370dc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 08:33:49 2008 -0700
+
+ mesa: add Flags field to gl_program_parameter
+
+ Only one flag defined so far: PROG_PARAM_CENTROID_BIT
+
+commit b268c2899bb0a828fae5afaf1675002938f26404
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 08:14:28 2008 -0700
+
+ docs: update webmaster email addr
+
+commit d7b5243c64b93d4f35d42ce89ae297de09fb76b4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 11 08:16:51 2008 -0700
+
+ gallium: massage sp_vbuf_draw() and sp_vbuf_draw_arrays() to look more alike
+
+ Also, update some comments.
+
+commit e545ce2af41b2b70aabdc3441a63f4f9296a3d65
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 21 17:22:16 2008 -0700
+
+ mesa: issue error, don't crash, when calling a prototyped, but undefined function
+
+ Bug #18659.
+
+commit ca142c2c0841f205b9224ad719c1b01c2303b5a3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 21 14:24:28 2008 -0700
+
+ mesa: better variable name: s/aux/store/
+
+commit 80301866f613960850ebd872a08e8fb03c4760c1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 21 10:03:19 2008 -0700
+
+ added progs/demos/fragcoord.c - tests gl_FragCoord attribute in fragment shader
+
+ Fragment's red/greenb/blue is a function gl_FragCoord.xyz
+
+commit 7e97362884bcaa564730b05c28fb9f33734c7449
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Nov 21 17:09:47 2008 +0800
+
+ i965: Add support for accelerated CopyTexSubImage.
+
+ There were hacks in EmitCopyBlit before to adjust offsets so that y=0 after
+ the offsets had been adjusted for a negative pitch. It appears that those
+ hacks were due to an unclear and surprising aspect of the hardware: inverting
+ the pitch results in the blit into the specified rectangle being inverted,
+ without the user needing to adjust y and base offset.
+
+ Tested with piglit copytexsubimage test on 915GM and GM965. Should fix
+ serious performance issues with ETQW and other applications.
+
+commit a4d43c20121ae384a61663c5e954e4ab6a65cf4f
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Nov 21 12:05:21 2008 +0800
+
+ intel: Don't glBitmap fallback with scissoring enabled.
+
+ The blit bitmap code already handles scissoring. This is a 15-100% speedup on
+ blender benchmark.blend thanks to avoiding fallbacks. Bug #17951.
+
+commit 490ab6487985e533d73c075a72b2839d69673e93
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Nov 13 18:32:44 2008 -0800
+
+ i915: Don't overwrite i915's Viewport function from generic code.
+
+ Instead, have i965 and i915 both call the generic function from their Viewport.
+
+commit b730d0d3e9b202b17a0815cb820fc9905f35cb98
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 13:04:04 2008 -0700
+
+ mesa: add gl_program::Input/OutputFlags[] array
+
+ These arrays will indicate per-input or per-output options for vertex/fragment
+ programs such as centroid-sampling and invariance.
+
+commit d52e8543b61ec5b8b8d9b1574a28ae2472fe4c56
+Author: Bernd Buschinski <b.buschinski@web.de>
+Date: Mon Nov 24 11:39:07 2008 -0800
+
+ glx: Add missing include for XCB, fixing crash on 64-bit.
+
+ Bug #18689
+
+commit 51af35b7cc412b48d7753d94a7bdf72f435b16c9
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Mon Nov 24 20:05:47 2008 +0100
+
+ progs: Add ignores
+
+commit f0e3366b0860047632bec59c8ee815670cfb2d25
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Mon Nov 24 20:01:48 2008 +0100
+
+ util: Add generic tile and detile functions
+
+commit 153cc70ddb52a2acc5a4790adc6d7a7b2ddf0d43
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 11:10:58 2008 -0700
+
+ windows: replace free() with _mesa_unreference_framebuffer()
+
+ Fixes invalid memory reference bug when exiting.
+
+commit a2037137385671c0673d1de6eb1c36dbd3cd78f3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 09:28:25 2008 -0700
+
+ mesa: copy centroid/invariance/precision info in parse_init_declarator()
+
+commit dc1107c08d0ccbeeb063f2e46be598f16cbe9f21
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 09:25:05 2008 -0700
+
+ mesa: check that varying variable qualifiers agree
+
+commit 0e2f757413a68f0edb6643ea23ad8d879d077f11
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 09:13:14 2008 -0700
+
+ mesa: copy precision/variant/centroid info in slang_fully_specified_type_copy()
+
+commit 3197954554bfc492283c7db009d10ab408664cad
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 09:05:49 2008 -0700
+
+ mesa: set flags for varying vars
+
+commit f490ec9797a396da9d182f1ad4393f1c5c2df440
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 09:04:52 2008 -0700
+
+ mesa: rename program parameter flags to match other Mesa conventions
+
+commit 08b825a77179a9e7ed902c9c57387f127cd007bc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 09:04:11 2008 -0700
+
+ mesa: copy Flags in _mesa_clone_parameter_list()
+
+commit 3f6668a4bf28109eb806be019fb235663572b7da
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 09:03:47 2008 -0700
+
+ mesa: dump/debug varying vars list
+
+commit 777a5c4f2e7c6c6ec0227a239b1af6c6b86dfab2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 08:43:38 2008 -0700
+
+ mesa: added PROG_PARAM_ bits for invariant, flat/linear interpolation
+
+ Plus, update the print/debug code.
+
+commit 0f228d7ab3b7c03328df369b8db50c469ac5dcd6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 08:33:49 2008 -0700
+
+ mesa: add Flags field to gl_program_parameter
+
+ Only one flag defined so far: PROG_PARAM_CENTROID_BIT
+
+commit 54646678742dc45a382387c8ac2ef95b474a847e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 08:14:28 2008 -0700
+
+ docs: update webmaster email addr
+
+commit 17849eafaacfbb2124d86f561a91b707317d3b31
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Nov 24 23:17:49 2008 +0900
+
+ pipebuffer: Ondemand buffer manager.
+
+ A variation of malloc buffers which get transferred to real graphics memory
+ when there is an attempt to validate them.
+
+commit a6d866f72c88d48d2bcfb3e3c882fdb639b5a8ce
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Nov 24 13:59:06 2008 +0900
+
+ pipebuffer: Implement proper buffer validation.
+
+commit d600c805c08288757185ce3af24b5f0a866bb0b2
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Nov 24 13:45:19 2008 +0900
+
+ gallium: Define convenience shortcuts for CPU/GPU READ/WRITE flag combinations.
+
+commit 52e9c9770ac47e9d92df208ec5cfd4e004c45f3d
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Nov 24 13:44:30 2008 +0900
+
+ mesa: Don't call fence_finish with a null fence.
+
+commit 0b9e96fae9493d5d58f046e01c983a3c4267090e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sun Nov 23 19:15:15 2008 -0700
+
+ softpipe: remove old/unneeded dependencies between TGSI exec and softpipe
+
+ Use tgsi_sampler struct as a base class. Softpipe subclasses it and adds
+ the fields it needs.
+
+commit 4f05893415a2d6f29b29f4daf991ea95a1891a81
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 21 17:22:16 2008 -0700
+
+ mesa: issue error, don't crash, when calling a prototyped, but undefined function
+
+ Bug #18659.
+
+commit b63a31b36f2e1a198c214f41e0518991b1a8fa49
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 21 14:24:28 2008 -0700
+
+ mesa: better variable name: s/aux/store/
+
+commit 4356d349ad8d048d19d795483b98103712c0103c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 21 13:57:57 2008 -0700
+
+ cell: only build Cell and softpipe drivers
+
+commit 11fc390f6478526d4f0bdb4b7e628284da31b3b9
+Author: Robert Ellison <papillo@tungstengraphics.com>
+Date: Fri Nov 21 11:42:14 2008 -0700
+
+ CELL: use variant-length fragment ops programs
+
+ This is a set of changes that optimizes the memory use of fragment
+ operation programs (by using and transmitting only as much memory as is
+ needed for the fragment ops programs, instead of maximal sizes), as well
+ as eliminate the dependency on hard-coded maximal program sizes. State
+ that is not dependent on fragment facing (i.e. that isn't using
+ two-sided stenciling) will only save and transmit a single
+ fragment operation program, instead of two identical programs.
+
+ - Added the ability to emit a LNOP (No Operation (Load)) instruction.
+ This is used to pad the generated fragment operations programs to
+ a multiple of 8 bytes, which is necessary for proper operation of
+ the dual instruction pipeline, and also required for proper SPU-side
+ decoding.
+
+ - Added the ability to allocate and manage a variant-length
+ struct cell_command_fragment_ops. This structure now puts the
+ generated function field at the end, where it can be as large
+ as necessary.
+
+ - On the PPU side, we now combine the generated front-facing and
+ back-facing code into a single variant-length buffer (and only use one
+ if the two sets of code are identical) for transmission to the SPU.
+
+ - On the SPU side, we pull the correct sizes out of the buffer,
+ allocate a new code buffer if the one we have isn't large enough,
+ and save the code to that buffer. The buffer is deallocated when
+ the SPU exits.
+
+ - Commented out the emit_fetch() static function, which was not being used.
+
+commit c45c5c4ca42c29ab73e89449a41a843c24fbe159
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 21 10:03:19 2008 -0700
+
+ added progs/demos/fragcoord.c - tests gl_FragCoord attribute in fragment shader
+
+ Fragment's red/greenb/blue is a function gl_FragCoord.xyz
+
+commit 3e0164aabb48a99fce58964cad99fd3978ee84f6
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Nov 21 17:09:47 2008 +0800
+
+ i965: Add support for accelerated CopyTexSubImage.
+
+ There were hacks in EmitCopyBlit before to adjust offsets so that y=0 after
+ the offsets had been adjusted for a negative pitch. It appears that those
+ hacks were due to an unclear and surprising aspect of the hardware: inverting
+ the pitch results in the blit into the specified rectangle being inverted,
+ without the user needing to adjust y and base offset.
+
+ Tested with piglit copytexsubimage test on 915GM and GM965. Should fix
+ serious performance issues with ETQW and other applications.
+
+commit a6aa926e3f0b6237679db0d3331690d2a96adbc2
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Nov 21 12:05:21 2008 +0800
+
+ intel: Don't glBitmap fallback with scissoring enabled.
+
+ The blit bitmap code already handles scissoring. This is a 15-100% speedup on
+ blender benchmark.blend thanks to avoiding fallbacks. Bug #17951.
+
+commit 2adef553f2549e30b4a1894e7f9077ac339ea61c
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Nov 13 18:32:44 2008 -0800
+
+ i915: Don't overwrite i915's Viewport function from generic code.
+
+ Instead, have i965 and i915 both call the generic function from their Viewport.
+
+commit 81aa678ce8f4a1f7c75b928ba2b107908959d50d
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Nov 21 05:26:52 2008 +0900
+
+ glut: MinGW portability fixes.
+
+ Still, it doesn't run as well as the glut binaries...
+
+commit 76624096617c7218d828c5de9c02e70d578c37c7
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Nov 21 05:25:31 2008 +0900
+
+ gdi: Reimplement using the WGL statetracker.
+
+commit db19578b52e7f3d6209568e2e0fa7a7107f42cd4
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Nov 21 05:24:35 2008 +0900
+
+ mesa: Bring in new mesa sub-statetracker.
+
+ Some code cleanup is still in order.
+
+commit 72ebf4fd03fdf64b483026879e18a3158be0c6c8
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Nov 21 03:40:48 2008 +0900
+
+ scons: Build progs.
+
+ Just demos and trivial dirs for starters.
+
+commit 85063fe9438cece2d338cd6e4deea5c081943aa4
+Author: Robert Ellison <papillo@tungstengraphics.com>
+Date: Thu Nov 20 10:00:51 2008 -0700
+
+ CELL: improve twiddling/untwiddling error text
+
+ As suggested by Brian Paul: in the case of a twiddling error, instead
+ of reporting the bad format number (which is all but unusable), report
+ the more useful enum name.
+
+commit 79bfe372f2bfa633c457e82a3e37f3eb42af4b5b
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Nov 19 20:31:38 2008 +0100
+
+ scons: Fix toolchain selection.
+
+commit 15b92b09e0f066a9d38c445b80b33193a8d9ea14
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Nov 18 19:13:32 2008 +0900
+
+ scons: Support MinGW32 cross compiler.
+
+ To build an alternative opengl32.dll with Gallium's software-rasterizer from a
+ debian-based distribution run:
+
+ sudo apt-get install mingw32
+ scons platform=windows toolchain=crossmingw machine=x86 winsys=gdi dri=no
+
+commit ef2bf418b45c7966e9fe78359058b8d44f570be1
+Merge: 4f3dcf3 b6bb5e0
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Nov 20 13:44:13 2008 +0000
+
+ Merge commit 'origin/master' into gallium-0.2
+
+commit b6bb5e09e0ad1f61f96c65bbc870bd493df12f1a
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Thu Nov 20 16:54:16 2008 +0800
+
+ mesa: fix shadow sampling unit issue.
+
+ texture comparison logic is bypassed if the currently bound texture is not
+ a depth/depth_stencil texture.
+
+commit 1412ca0be24461cad36de865851484464fac3bfe
+Author: airlied <airlied@unused-12-215.bne.redhat.com>
+Date: Thu Nov 20 21:27:45 2008 +1000
+
+ intel: fix i830 comment + backwards VB offsets.
+
+ According to Keith the docs have these offsets the other way around
+
+commit 1ea414fdebb3b784a271b36652933564a04e1a02
+Author: airlied <airlied@unused-12-215.bne.redhat.com>
+Date: Thu Nov 20 21:14:45 2008 +1000
+
+ intel: fix i8xx vbo enable bit
+
+commit b17e343bdd1747aeb821f750b187f290b8039cee
+Author: airlied <airlied@unused-12-215.bne.redhat.com>
+Date: Thu Nov 20 18:18:20 2008 +1000
+
+ intel: add lots of i830 engine to intel_decode debug
+
+commit bab4e78734dc462387fea32f0b05103e31f2d6f6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 19 16:04:37 2008 -0700
+
+ mesa: minor comment reformattting
+
+commit bf7f9d2143a892bc11a5e2b84e3d6d3ed69fb5e8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 19 15:08:46 2008 -0700
+
+ mesa: glsl compiler debug code
+
+ RETURN0 macro reports file/line before returning zero.
+
+commit ae0ff8097b85d3537a7be1674d55a44a9bd6018e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 19 14:12:25 2008 -0700
+
+ mesa: rework GLSL array code generation
+
+ We now express arrays in terms of indirect addressing. For example:
+ dst = a[i];
+ becomes:
+ MOV dst, TEMP[1 + TEMP[2].y];
+ At instruction-emit time indirect addressing is converted into ARL/
+ ADDR-relative form:
+ ARL ADDR.x, TEMP[2].y;
+ MOV dst, TEMP[1 + ADDR.x];
+ This fixes a number of array-related issues. Arrays of arrays and complex
+ array/struct nesting works now.
+ There may be some regressions, but more work is coming.
+
+commit 4f3dcf3864c3cbd8a6ebc6af38e53d57e4d421d6
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Nov 19 20:31:38 2008 +0100
+
+ scons: Fix toolchain selection.
+
+commit e709d68d92ef6f2392b118d0a22452e8f4c53e9a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 14 13:19:42 2008 -0700
+
+ mesa: don't realloc instruction buffer so often
+
+commit d9fa9e3290611944d5fd52301645367eeeb24f03
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 14 13:19:31 2008 -0700
+
+ mesa: updated comment
+
+commit 205e0e3e38b99c2fb0298755d99a38f111f0b96f
+Merge: 227a8a2 59ae12b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Nov 19 16:04:18 2008 +0000
+
+ Merge commit 'origin/gallium-0.1' into gallium-0.2
+
+commit 59ae12b5b14a2bf18c4b566abcdf3211aa5eb4d6
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Nov 20 01:02:03 2008 +0900
+
+ python/retrace: Dump constants.
+
+commit 2f153b5487459f04941bbbf35fd531adbf7535a2
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Nov 20 01:01:48 2008 +0900
+
+ python: Allow to read from buffers.
+
+commit 8a9e06257f3a145cddc5e44f841e2f2e81a2cafb
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Nov 19 20:06:52 2008 +0900
+
+ python/retrace: Fix formatting of shaders.
+
+commit 03f19bc33d0c2e94bf0ad4ec6e42b708be0c0967
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Nov 19 20:06:04 2008 +0900
+
+ python/retrace: Ignore irrelevant calls.
+
+commit 227a8a2e773452a1e8354a9d48c25b254b6998b9
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Wed Nov 19 09:35:37 2008 +0000
+
+ add SRGB formats
+
+commit 56ce90c8bee057cf69ba653adf57aa401d51c240
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Nov 19 17:17:06 2008 +0900
+
+ python/retrace: Highlight the trace dump to help to visualize.
+
+commit 9efa6cafea8176eb867bf820ea82a46ad45bfc15
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Nov 19 16:23:01 2008 +0900
+
+ python/retrace: Use the usual BSD-style license.
+
+commit 2f9ceb158afffe5ea390b909261988267e663e36
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Wed Nov 19 11:22:35 2008 +0800
+
+ mesa: clamp luminance if needed.
+
+ This fixes glReadPixels(GL_LUMINANCE, GL_FLOAT)/glGetTexImage(GL_LUMINANCE, GL_FLOAT) issue
+ on fixed-point color buffers.
+
+commit d86ffcffb365d1f9fc383e450c8e08bf86169726
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Fri Nov 14 13:31:06 2008 +0100
+
+ tgsi: Return 0.0 for negative constant register indices.
+
+commit 957f7d7d94e8d092ba98433e61b21ac704453519
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Fri Nov 14 13:26:01 2008 +0100
+
+ tgsi: Keep address register as a floating point.
+
+commit 6cf59e1293c5777ba5675e6315cbfad3211f9260
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Nov 18 19:13:32 2008 +0900
+
+ scons: Support MinGW32 cross compiler.
+
+ To build an alternative opengl32.dll with Gallium's software-rasterizer from a
+ debian-based distribution run:
+
+ sudo apt-get install mingw32
+ scons platform=windows toolchain=crossmingw machine=x86 winsys=gdi dri=no
+
+commit 228afbc8e012769983c5504d60c0772c84359bb1
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Nov 17 16:40:21 2008 +0900
+
+ gallium: Use costum log2 for all windows builds.
+
+commit e45773b3de1bbd7db717336a1b5c964b6cdb718e
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Nov 13 20:34:10 2008 +0900
+
+ gallium: State when there are no memory leaks detected.
+
+commit ee172bf067d9a66faa9d57980970326b680df839
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Nov 11 23:27:27 2008 +0900
+
+ gallium: Make handle_table reentrant.
+
+ Ensure that the object has consistent state also when calling the destroy
+ callback. Namely, ensure the object passed to the callback is removed from
+ the table prior to calling the destroy callback to avoid a infinite loop or
+ double free.
+
+commit 40b3bb0407b6833a06e0a3a2e859cfac75b9100b
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Nov 4 10:53:02 2008 +0900
+
+ gallium: Yet another WinCE portability fix.
+
+commit 1e35d92953207dd5e40be4954ccc9015913f7f06
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Nov 13 20:34:10 2008 +0900
+
+ gallium: State when there are no memory leaks detected.
+
+commit c13cf0d69094bd586df16bb5cf1aa306f8923307
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Nov 11 23:27:27 2008 +0900
+
+ gallium: Make handle_table reentrant.
+
+ Ensure that the object has consistent state also when calling the destroy
+ callback. Namely, ensure the object passed to the callback is removed from
+ the table prior to calling the destroy callback to avoid a infinite loop or
+ double free.
+
+commit 7b0e0e1a0d571291851e8a7b2e64c8425055cd69
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sun Nov 16 20:32:05 2008 +0100
+
+ gallivm: fix some small stuff.
+
+commit 9770bb32f50659ef749751780e00d8c88e16126c
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Sun Nov 16 17:59:46 2008 +0100
+
+ radeon: cs add print cs callback
+
+commit f1d98e51275eaa440e1c6b9c61e5e014faaad45a
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Sun Nov 16 17:58:43 2008 +0100
+
+ radeon: fix pointer dangling
+
+commit 96ad8a36003a21180ad6b61aa0b7d7c9452b3449
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Sun Nov 16 12:33:58 2008 +0100
+
+ i915: Silence warnings
+
+commit 7468765b18be202a64d58b83f6267b6973ea4897
+Merge: 5e1454a 80d6379
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Nov 15 16:53:24 2008 +0000
+
+ Merge commit 'origin/master' into gallium-0.2
+
+ Conflicts:
+
+ src/mesa/shader/prog_print.c
+
+commit 5e1454a036be6da2c48e2e20bf6f8047ee1a94d3
+Merge: 56ef0ae 7e584a7
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Nov 15 16:23:31 2008 +0000
+
+ Merge commit 'origin/gallium-0.1' into gallium-0.2
+
+ Conflicts:
+
+ src/mesa/drivers/dri/common/dri_util.c
+
+commit 56ef0aeda5d23bf0c6147fd9d20d61abd18207af
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Sat Nov 15 12:10:32 2008 +0100
+
+ i915: Silence warning
+
+commit 56c458e0f2027bc19b45ed3112e84b6ace67920f
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Sat Nov 15 10:40:32 2008 +0100
+
+ radeon: update to libdrm-radeon API changes
+
+commit 7e584a70c492698be18bf4d6372b50d1a1c38385
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 14 12:55:05 2008 -0700
+
+ gallium: increase table size for fast log/pow functions
+
+ The various conformance tests pass now.
+
+commit 6afab9001e5ebe5a970810b0e12dbfac0d9abe14
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 13 08:58:47 2008 -0700
+
+ util: Use OpenGL rasterization rules in blits and mipmap generation.
+
+commit 0557fa72c0e39a3cb4c241690b495ca142c06616
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Nov 14 17:59:29 2008 +0000
+
+ translate: pull in prefetch and other optimizations from draw_vs_aos.c
+
+commit d04caf2ce47bcf1d9da6e42b749320fce9273390
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Nov 5 11:31:57 2008 +0000
+
+ trivial: more tests
+
+commit db20a65a39b090da21d0cbcb212a9fe7ea66a480
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Nov 14 14:30:49 2008 +0000
+
+ mesa: fix build
+
+commit 5b79c18c83288eaaa6af25fdf3fe71b8347b5c1d
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Fri Nov 14 11:25:28 2008 +0100
+
+ radeon: dri2 don't forget to free buffer
+
+commit 93a9d2f18de8517af92eba787a4eee34765481ab
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Thu Nov 13 20:04:50 2008 +0100
+
+ r300: release bo from pixmap
+
+commit c26ec97b1390deb7c2ae586450e621a7095dac87
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Wed Nov 12 17:00:28 2008 +0100
+
+ r300: convert to new relocations format (see libdrm-radeon)
+
+commit d07d1379314c9222ccb955244fa7e56bd4d03d6d
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Wed Nov 12 14:02:57 2008 +0100
+
+ r300: SetTex extension support
+
+commit 3b43c28195ffce79822728b546a707ee14a03320
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Sun Nov 9 19:00:28 2008 +0100
+
+ r300: cs + DRI2 support
+
+ If DRI2 is enabled then switch cmd assembly to directly build
+ hw packet.
+
+commit e5d5dab8c03f72097ec3e5b465fe93b6e369bb2d
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Wed Nov 5 14:31:46 2008 +0100
+
+ r300: bo and cs abstraction.
+
+ This abstract memory management and command stream building so we
+ can use different backend either legacy one which use old pathway
+ or a new one like with a new memory manager. This works was done by :
+
+ Nicolai Haehnle
+ Dave Airlie
+ Jerome Glisse
+
+commit 80d6379722a1249ce13db79a898d340644936f67
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 13 18:18:07 2008 -0700
+
+ mesa: no longer need Writemask field in GLSL IR nodes
+
+ The Swizzle and Size fields carry all the info we need now.
+
+commit 3a7ed9779b159f9dccbc98d1d556be2cd83cc1fd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 13 17:02:11 2008 -0700
+
+ mesa: revamp GLSL instruction emit code
+
+ This is a step toward better array handling code. In particular, when more
+ than one operand of an instruction uses indirect addressing, we'll need some
+ temporary instructions and registers. By converting IR storage to instruction
+ operands all in one place (emit_instruction()) we can be smarter about this.
+
+ Also, somewhat better handling of dst register swizzle/writemask handling.
+ This results in tighter writemasks on some instructions which is good for
+ SOA execution.
+
+ And, cleaner instruction commenting with inst_comment().
+
+ Next: remove some more dead code and additional clean-ups...
+
+commit 610c2461ce0683ca5412e4b2b7a496f67e9d3704
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 13 16:37:52 2008 -0700
+
+ mesa: make writemask_string() non-static
+
+commit 4c167f8fc1e56b6c82d8917c237e70531e3d57b9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 13 16:31:27 2008 -0700
+
+ mesa: remove some do-nothing GLSL code
+
+commit fe984aed5a9ee7c6e000d48a0a584b964fefa848
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 13 08:47:36 2008 -0700
+
+ mesa: fix accidental regression in GLSL built-in texture matrix lookup
+
+ Was broken by commit 9aca9a4b72b2a7b378e50bd88f9c3324d07375ec.
+
+commit d835f415c692fe1b2656537a822b4e0dd91af6c7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 13 08:46:45 2008 -0700
+
+ mesa: use the tighter definition of GLSL ftransform() from the gallium branches
+
+commit e556cc82f83716a734ed9d76356ba49bb670004f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 12 16:47:03 2008 -0700
+
+ mesa: remove unused/obsolete __NormalMatrixTranspose matrix
+
+commit 47b883e42ba5f6948ce8050d5a3c7849ba2a1cec
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 12 16:44:47 2008 -0700
+
+ mesa: fix bug in GLSL built-in matrix state lookup
+
+commit 557fde9531289b4388a3080b89c2ebaa38abeaee
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 12 11:12:10 2008 -0700
+
+ mesa: tweak program register printing for RelAddr case
+
+commit af1ce2375e9529ad053eb9dbb228ce88d6271e87
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Nov 13 19:38:18 2008 +0000
+
+ build default set of progs + egl
+
+commit 20ff08cd86df4f57026a0dcd965e75578793a90f
+Author: Pekka Paalanen <pq@iki.fi>
+Date: Thu Nov 13 20:44:55 2008 +0200
+
+ Fix configs/linux-dri to build winsys again.
+
+ SRC_DIRS was being reset, which left winsys unbuilt.
+
+ Signed-off-by: Pekka Paalanen <pq@iki.fi>
+
+commit 2c29a6896a4a026ed3568db9caf90f422b711d8b
+Author: Robert Ellison <papillo@tungstengraphics.com>
+Date: Thu Nov 13 11:22:12 2008 -0700
+
+ CELL: fix stencil twiddling, stencil invert
+
+ Many stencil tests were failing because of a failure to read the
+ stencil buffer, due to "twiddling" (or "untwiddling") "an unsupported
+ texture format". This is fixed for the case of a stencil/Z S824Z format
+ (which twiddles just like the 32-bit color formats).
+
+ tests/stencilwrap.c was failing on the GL_INVERT test, because
+ the emitted code for "spe_xori" turned out not to be an actual
+ "xori" instruction, but rather a "stqd" instruction, because
+ of a typo in the rtasm code. This is now fixed, and
+ tests/stencil_wrap now works.
+
+commit 42330d929c3bdc953948294906c49ee693818b47
+Merge: 2acdb11 3086b1e
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Thu Nov 13 18:06:06 2008 +0100
+
+ Merge branch 'gallium-0.2' of git+ssh://marcheu@git.freedesktop.org/git/nouveau/mesa into gallium-0.2
+
+commit 2acdb116ced6b425e12bb6910c307d10b2939840
+Author: Ben Skeggs <skeggsb-at-gmail.com>
+Date: Thu Nov 13 16:47:47 2008 +0000
+
+ gallium: add st_set_teximage_surface for EXT_texture_from_pixmap
+ support.
+
+commit e4c9aeed8b59e15bce0906521cdd090f033586a9
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Nov 13 13:16:03 2008 +0000
+
+ mesa: fix generation of fixed function state when no vp exists
+
+commit 16340f8d4dfbde9cea01637ea225053194b8c640
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Nov 13 13:16:03 2008 +0000
+
+ mesa: fix generation of fixed function state when no vp exists
+
+commit 26c8593093bd9e42d06a54ed8cfdedce2fb44332
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Nov 12 23:23:49 2008 +0100
+
+ tgsi: More comments on source register indirect and 2D indexing.
+
+commit c30eb2c104c19c758c0b2a2461ad7f38cfa747d0
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Nov 12 13:37:16 2008 -0800
+
+ i965: Upload state on primitive switch, don't just prepare it.
+
+ This was a regression in 59b2c2adbbece27ccf54e58b598ea29cb3a5aa85 that broke
+ blender, among other apps.
+
+commit 2fc9d671e0be77676818da51cd3b35b52af79421
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Nov 12 13:34:20 2008 -0800
+
+ i965: Fix VB refcount leak on aperture overflow.
+
+commit 3086b1ecbe718d05bdf016e01cff9f5928c42e63
+Author: Pekka Paalanen <pq@iki.fi>
+Date: Wed Nov 12 22:37:01 2008 +0200
+
+ nv04..nv30: fix pipe_surface init
+
+ Signed-off-by: Pekka Paalanen <pq@iki.fi>
+
+commit 5aaeb13a768f0c7d3706f6c170901b118ae1aa2d
+Merge: 1d6cba6 94631e6
+Author: Pekka Paalanen <pq@iki.fi>
+Date: Wed Nov 12 23:13:22 2008 +0200
+
+ Merge commit 'origin/gallium-0.1' into gallium-0.2
+
+ * commit 'origin/gallium-0.1':
+ Mesa: fix number of buffers in st_draw_vbo().
+ Nouveau: fix nv20_vertex_layout()
+ Nouveau: update nv20 miptree according to nv40.
+ Nouveau: build, link and use nv20.
+ Nouveau: name replace for nv20.
+ Nouveau: Rename nv20/ files as nv20.
+ Nouveau: copy nv30_vertprog.c to nv20.
+ Nouveau: start nv20 by copying the nv10 tree.
+
+commit 72bbc89534f682579ab49a7259203724d07db942
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Nov 4 12:34:29 2008 -0800
+
+ Add glsync demo program from jbarnes for testing vblank synchronization.
+
+commit 62ff7ab7206e1b9e195e81ad1a96b579819edb57
+Author: Eric Anholt <eric@anholt.net>
+Date: Sun Nov 2 18:50:59 2008 -0800
+
+ i965: Fix up VS max_threads for G4X and removing a magic number.
+
+ As far as I can read in the docs, VS threads can be 1:1 with the pairs of
+ VUE handles allocated for them. Also, G4X can run twice as many threads as
+ before (though we won't unless the we bump the preferred URB entries for VS).
+
+commit 9dadfc09a9dd492f14eec8de060d3f5198c766ec
+Author: Eric Anholt <eric@anholt.net>
+Date: Sun Nov 2 18:49:33 2008 -0800
+
+ i965: Fix up SF max_threads.
+
+ We were dividing the number of URB entries by two to get number of threads,
+ which looks suspiciously like a copy'n'paste-o from brw_vs_state.c. Also, the
+ maximum number of threads is 24, not 12.
+
+commit 82eb7c235db9939d067c4d64e32df96caef939ab
+Author: Eric Anholt <eric@anholt.net>
+Date: Sun Nov 2 18:43:10 2008 -0800
+
+ i965: Fix up clip min_nr_entries, preferred_nr_entries, and max_threads.
+
+ The clip thread could potentially deadlock when processing tristrips since
+ being moved back to dual-thread mode, as the two threads could each have 4 VUEs
+ referenced and not be able to allocate another one since SF processing
+ wasn't able to continue (needing 5 entries before it freed 2).
+ In constrained URB mode, similar deadlock could even have occurred with
+ polygons (so we cut back max_threads if we can't handle it any primitive type).
+
+commit 5cb7ba10cc6aebfb96c6425d3d822d2b0ac5e102
+Author: Eric Anholt <eric@anholt.net>
+Date: Sun Nov 2 18:42:17 2008 -0800
+
+ i965: Update WM maximum threads for G4X.
+
+commit d70d62c56175b992eea4b94a5a05ecd6c1d89713
+Author: Eric Anholt <eric@anholt.net>
+Date: Sun Nov 2 18:48:25 2008 -0800
+
+ i965: Add a big comment explaining my understanding of URB management.
+
+ It shouldn't offer anything new over what's in the docs (except for G4X notes),
+ but here it's all in one place.
+
+commit e1fbb30211549f2ee79d8ff9764f833e5317bebe
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Wed Nov 12 15:24:45 2008 -0500
+
+ glFlush before CopySubBuffer, fix coordinates and extension name typo.
+
+commit 44257a8e752a5f10aed7e5797b23cdb42120703c
+Author: Robert Ellison <papillo@tungstengraphics.com>
+Date: Wed Nov 12 12:23:52 2008 -0700
+
+ CELL: fix stencil test bugs
+
+ Fixed a boneheaded error in the generation of SPU code that calculates
+ the results of the stencil test. Basically, all the greater than/less than
+ calculations were exactly inverted: they were coded as though the
+ given comparison took the stencil value as a left-hand operand and the
+ reference value as a right-hand operand, but the actual semantics always
+ put the reference as the left-hand operand and the stencil as the right-hand
+ operand.
+
+ With this fix, tests/dinoshade runs, as do all the other Mesa tests
+ and samples that use stencil (and that don't use texture formats
+ unsupported by Cell).
+
+commit b44ec717c831bb2e3363ee79ae1faca7e0665bea
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 12 11:09:12 2008 -0700
+
+ gallium: add missing prototypes
+
+commit 1cd15f03706f921f3a9995a4ee860b91496f4bd2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 12 11:05:34 2008 -0700
+
+ cell: move semicolons to silence warnings w/ other compilers
+
+commit 058ccf0cb5e0d63b86e4ad7ce0be4604cbfa8797
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 12 11:04:17 2008 -0700
+
+ cell: include cell_surface.h
+
+commit 7f15e34cfadbeb460d22f9549511694c2bd27495
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 12 11:01:40 2008 -0700
+
+ cell: fix typo in EMIT_ macro
+
+commit a35210b516eab0c0d4a5fd988e3411a98214b9ae
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 12 11:01:05 2008 -0700
+
+ cell: added -Wmissing-prototypes
+
+commit 2d8d82000e862a3e1d0d23334c954b62d49c4fa2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 12 11:00:41 2008 -0700
+
+ cell: include cell_pipe_state.h
+
+commit 0d8637451b7bf1aac164dba6d269d1a665160ea3
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Nov 12 19:02:41 2008 +0100
+
+ util: Optimise log2().
+
+commit c5ba8ba9182a6946ee489241738457b1370b3c77
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Nov 12 19:01:46 2008 +0100
+
+ util: Optimise log2().
+
+commit 87f77105ce7207d601ee95bc29ca8c0ea1731d78
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Nov 12 18:44:20 2008 +0100
+
+ rtasm: Use INLINE keyword. Compile for all platforms, not only GALLIUM_CELL.
+
+commit 50357ad35181b7b170abe8413d4ef772978aa5f5
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Nov 12 17:14:07 2008 +0100
+
+ util: Add log2() definition for MSC.
+
+commit 1bfe7c36bac4b8e5ddfcce537603aa8a5f35529d
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Nov 12 18:19:20 2008 +0100
+
+ tgsi: Fix a bug with saving/restoring xmm registers upon func call.
+
+commit 8fee30064e35488bccf8e6e7478d56ca783ebac1
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Nov 12 18:13:58 2008 +0100
+
+ rtasm: Compile only for GALLIUM_CELL.
+
+commit 0ee92d6ed9c6aae47d990c9ac004034ded5003f1
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Nov 12 17:03:58 2008 +0100
+
+ draw: Add missing include.
+
+commit f447eea4de9cab5de295c717d35824cf92b9f322
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Nov 12 17:14:07 2008 +0100
+
+ util: Add log2() definition for MSC.
+
+commit a983f2a6ac04edc2b3407b44c2a1b5bc970c4ce3
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Nov 12 17:03:58 2008 +0100
+
+ draw: Add missing include.
+
+commit becf3d927255385592c8c6659c4555cf2dd2842d
+Author: Hanno Böck <hanno@hboeck.de>
+Date: Wed Nov 12 06:56:42 2008 -0700
+
+ glx: fix xcb build
+
+commit 19e4222f937c9bb95d3a899dd788afb930eecaa4
+Merge: 7f3d457 90246d3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 11 14:42:41 2008 -0700
+
+ Merge commit 'origin/master' into gallium-0.2
+
+ Conflicts:
+
+ src/mesa/shader/prog_execute.c
+ src/mesa/shader/slang/library/slang_vertex_builtin_gc.h
+
+commit 90246d3ea54f54d60593dce1b89f0226058a3c56
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 11 14:33:11 2008 -0700
+
+ mesa: fix version check in dinoshade.c
+
+commit f4361540f8dd3016571523863b33481cba7a0c07
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 11 10:47:10 2008 -0700
+
+ mesa: allow relative indexing into all register files and indirect dst register indexing
+
+commit 7f3d45758ccbbcff6428d57d26794960e3e9532c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 11 09:19:18 2008 -0700
+
+ cell: implement NRM3 opcode
+
+commit 90027f85786406133a5180998a75fb612b6a221e
+Author: Robert Ellison <papillo@tungstengraphics.com>
+Date: Tue Nov 11 13:57:10 2008 -0700
+
+ CELL: two-sided stencil fixes
+
+ With these changes, the tests/stencil_twoside test now works.
+
+ - Eliminate blending from the stencil_twoside test, as it produces an
+ unneeded dependency on having blending working
+
+ - The spe_splat() function will now work if the register being splatted
+ and the destination register are the same
+
+ - Separate fragment code generated for front-facing and back-facing
+ fragments. Often these are the same; if two-sided stenciling is on,
+ they can be different. This is easier and faster than generating
+ code that does both tests and merges the results.
+
+ - Fixed a cut/paste bug where if the back Z-pass stencil operation
+ were different from all the other operations, the back Z-fail
+ results were incorrect.
+
+commit 57d78067bde1b23351380700352e71ed977ebcfe
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Tue Nov 11 13:39:52 2008 -0500
+
+ Don't mess with emacs tab width.
+
+commit 5cfb0a4087352c22a13ca55a98ae3e2e420d4b52
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Tue Nov 11 13:36:32 2008 +0800
+
+ mesa: restore the negate flag of dots in build_lighting.
+
+ Dots is re-used if more than one light is enabled. Previously
+ the negate flag of dots may affect next light.
+
+commit 09623fe551771031ed02ba7542c94bdbdd83ecec
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Tue Nov 11 13:42:13 2008 +0800
+
+ intel: reset cliprect_mode to IGNORE_CLIPRECTS.
+
+ This ensures all batchbuffers have a same cliprect mode after calling
+ _intel_batchbuffer_flush even if there aren't invalid commands in the
+ current batch buffer. (fix bug#18362).
+
+commit 8412b06b67d0f9adae18157f550a8cc3da5ae22b
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Tue Nov 11 13:36:32 2008 +0800
+
+ mesa: restore the negate flag of dots in build_lighting.
+
+ Dots is re-used if more than one light is enabled. Previously
+ the negate flag of dots may affect next light.
+
+commit 064b04d464e006e76e888b481900b3f63f015063
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Tue Nov 11 13:16:20 2008 +0800
+
+ mesa: update new state for RasterPos like other operations.
+
+ This fixes a lighting issue when drawing a bitmap.
+
+commit ff42991c720bc1cfbf72194447fde0bebbd65b85
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 10 20:22:36 2008 -0700
+
+ gallium: fix comment again. A half-closed interval was intended.
+
+ Never saw the [a,b[ notation before.
+
+commit be1b8e5d6c6692010a3ec117035d9b218929e2b3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 10 20:15:28 2008 -0700
+
+ mesa: new _mesa_is_pow_two() function
+
+commit 8df4f6667f2892368791ae25505a996bc0edfacb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 10 16:38:47 2008 -0700
+
+ mesa: restore glapi/ prefix on #include
+
+commit 1dae2be1f67d7367173f32c90f8d98311aa7b102
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 10 12:37:08 2008 -0700
+
+ dri: alloc __DRIscreen object with calloc()
+
+ Conflicts:
+ src/mesa/drivers/dri/common/dri_util.c
+
+commit df84f788d21d3d2f61a0c5a35b75586d3099cdd4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 10 10:45:50 2008 -0700
+
+ mesa: fix logic error in GLSL linker when looking for main() shaders
+
+commit 59cc9739400c3a1654c069586070ff218993cd37
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 10 14:42:02 2008 -0700
+
+ mesa: fix some misc breakage caused by editing auto-generated files rather than the python generators
+
+ Specifically:
+ #include "glapitable.h" in src/mesa/main/glapi/dispatch.h
+ Call _mesa_bsearch() in src/mesa/main/enums.c.
+
+commit 13f96c5401ffe3869f08fecb2baf5bff2438b02e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 10 14:27:42 2008 -0700
+
+ GLX: fix out-of-bounds memory issue in indirect glAreTexturesResident()
+
+ See bug 18445.
+ When getting array results, __glXReadReply() always reads a multiple of
+ four bytes. This can cause writing to invalid memory when 'n' is not a
+ multiple of four.
+
+ Special-case the glAreTexturesResident() functions now.
+ To fix the bug, we use a temporary buffer that's a multiple of four bytes
+ in length.
+
+ NOTE: this commit also reverts part of commit 919ec22ecf72aa163e1b97d8c7381002131ed32c
+ (glx/x11: Added some #ifdef GLX_DIRECT_RENDERING protection) which
+ directly edited the indirect.c file rather than the python generator!
+ I'm not repairing that issue at this time.
+
+commit 6186e7a20676c5df30b1b4bffeec87afa1550e25
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 10 12:37:08 2008 -0700
+
+ dri: alloc __DRIscreen object with calloc()
+
+commit 2d76a0d77af7be9539f89cba37ce84338c1cdda4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 10 12:33:17 2008 -0700
+
+ mesa: track initialization status of uniform variables. Plus, asst clean-ups.
+
+commit 379ff8c9567940ebff44870cf7b0202882445fa6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 10 11:42:42 2008 -0700
+
+ mesa: initial support for uniform variable initializers.
+
+ This lets one specify initial values for uniforms in the code, avoiding
+ the need to call glUniform() in some cases.
+
+commit 242c0cb543183682f4f023a6f1948630dc5bae09
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 10 10:45:50 2008 -0700
+
+ mesa: fix logic error in GLSL linker when looking for main() shaders
+
+commit 80c8017a643dfb655e4e1500e1c57e3908529c27
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 10 10:25:01 2008 -0700
+
+ mesa: allows 'f' suffix on GLSL float literals
+
+commit e5359401d68fbf52e237b9f95964ad50534d974a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 10 10:21:13 2008 -0700
+
+ undo accidental changes to multitex.frag shader
+
+commit 2b66417402bc595be301ab9ed7b9ea2a5f79e180
+Merge: 399da3a eb4dded
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 10 11:19:30 2008 -0700
+
+ Merge commit 'origin/gallium-0.1' into gallium-0.2
+
+ Conflicts:
+
+ src/gallium/auxiliary/util/u_math.c
+
+commit eb4dded5be60af4c7d45394aaa0aca24549ec3d8
+Author: Pekka Paalanen <pq@iki.fi>
+Date: Sun Nov 9 01:02:10 2008 +0200
+
+ Mesa: fix number of buffers in st_draw_vbo().
+
+ The clean-up call to pipe->set_vertex_buffers() should use the same
+ number of buffers as the first call.
+
+ Signed-off-by: Pekka Paalanen <pq@iki.fi>
+
+commit 2276dcf05f7e0ae13ba434615cf7f34dc06b2afe
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 10 08:24:45 2008 -0700
+
+ gallium: fix typos in comments
+
+commit 5668e7fa80d71bec38c61ea29e6a2a9996e0a73c
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu Nov 6 16:07:28 2008 -0500
+
+ gallium: actually flip the coordinates
+
+commit 1d6cba6572cc008760e9d4ff803b0b7e1420e41b
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Nov 10 16:33:31 2008 +1100
+
+ nouveau: remove previous hack around x86_64 breakage
+
+ This hack now causes breakage *doh*. :)
+
+commit e658950d4e6c0e5f8b09fa89718d358030885e08
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Nov 10 16:12:28 2008 +1100
+
+ nv40: init pipe_surface correctly
+
+commit 66eacb3fed6bc1926e1925b164b7168a6e0a82d5
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Nov 10 15:58:03 2008 +1100
+
+ nouveau: pass object handle not pointer to GPU...
+
+commit 32e6be6362e44609d36c2fb20a4c858f57c908fb
+Merge: 92674bc 399da3a
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Nov 10 15:53:51 2008 +1100
+
+ Merge remote branch 'origin/gallium-0.2' into gallium-0.2
+
+commit 325cbeb29a63e3d71da00baeab864970fe3aa595
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sun Nov 9 10:15:32 2008 -0700
+
+ util: Fix util_fast_pow/exp2/log2.
+
+ - Use a lookup table for log2.
+
+ - Compute (float) (1 << ipart) by tweaking with the exponent directly to
+ avoid integer overflow and float conversion.
+
+ - Also table negative exponents to avoid float division and branching.
+
+ - Implement util_fast_exp as function of util_fast_exp2.
+
+ --------
+
+ Cherry-picked from gallium-0.2: 8415d06d90a197e16554dab98d160334fd9f9f93
+
+ This fixes some pow() glitches seen in fslight.c, spectex.c, etc.
+
+ Conflicts:
+ src/gallium/auxiliary/util/u_math.h
+
+commit 7e8315701945ec807b2b5a9d01250b5ab74ae183
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Nov 8 20:43:38 2008 -0700
+
+ gallium: _debug_vprintf() should be silent if DEBUG is not defined
+
+commit 399da3a337932c6074a69ac73e711138271308eb
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sun Nov 9 09:36:22 2008 -0700
+
+ gallium: use PIPE_ARCH_SSE to protect use of SSE instrinsics only
+
+ This allows us to use SSE codegen with debug builds again.
+ When PIPE_ARCH_SSE is set (w/ gcc -msse -msse2) we will also use the
+ gcc SSE intrinsic functions.
+
+commit 94631e63a8d56562b782ec30a6ec5b9d77ca70a0
+Author: Pekka Paalanen <pq@iki.fi>
+Date: Sun Nov 9 01:02:10 2008 +0200
+
+ Mesa: fix number of buffers in st_draw_vbo().
+
+ The clean-up call to pipe->set_vertex_buffers() should use the same
+ number of buffers as the first call.
+
+ Signed-off-by: Pekka Paalanen <pq@iki.fi>
+
+commit 72ae2bd85624ae994709c0c4b5e0933002c61854
+Author: Pekka Paalanen <pq@iki.fi>
+Date: Sun Nov 9 00:58:19 2008 +0200
+
+ Nouveau: fix nv20_vertex_layout()
+
+ The function should update nv20->vertex_info, and not just a
+ local struct that's thrown away immediately.
+
+ Fixes a SIGFPE due to vbuf->vertex_size = 0 in vbuf_alloc_vertices().
+
+ Signed-off-by: Pekka Paalanen <pq@iki.fi>
+
+commit f1c9016af16aefc08a3e4e859a897009652dac23
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Nov 8 10:33:30 2008 -0700
+
+ mesa: remove OPCODE_INT #define
+
+commit a58dbf34ca88656739a8f8e5f4259e760365c9d0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Nov 8 10:29:23 2008 -0700
+
+ gallium: implement SSE codegen for TGSI_OPCODE_NRM/NRM4
+
+commit e24afc808f7f00941a01fcedeb76df16c062170f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Nov 8 10:29:03 2008 -0700
+
+ mesa: use NRM3 in emit_normalize_vec3() when drivers are ready
+
+commit 903ae9d04eb7d0066c4ba1e30acb44630ca129f4
+Author: Pekka Paalanen <pq@iki.fi>
+Date: Sat Nov 8 19:07:04 2008 +0200
+
+ Nouveau: update nv20 miptree according to nv40.
+
+ glxinfo doesn't degfault anymore.
+
+ Signed-off-by: Pekka Paalanen <pq@iki.fi>
+
+commit 0da43322bbc6ead4eeb1b9fe079a33e0d57bece5
+Author: Pekka Paalanen <pq@iki.fi>
+Date: Sat Nov 8 18:32:33 2008 +0200
+
+ Nouveau: build, link and use nv20.
+
+ Signed-off-by: Pekka Paalanen <pq@iki.fi>
+
+commit b5a3c4272be1561646c8a104e4faae870f16ddee
+Author: Pekka Paalanen <pq@iki.fi>
+Date: Sat Nov 8 18:04:33 2008 +0200
+
+ Nouveau: name replace for nv20.
+
+ No functional changes, only changed function, struct, macro etc. names.
+ nv10 -> nv20
+ nv30 -> nv20
+ celsius -> kelvin
+ Did not touch fifo command macros.
+
+ Don't try to build nv20_vertprog.c for now.
+
+ Signed-off-by: Pekka Paalanen <pq@iki.fi>
+
+commit 83bb81856066101dff85fdebea32df55ed8de4c5
+Author: Pekka Paalanen <pq@iki.fi>
+Date: Sat Nov 8 17:20:19 2008 +0200
+
+ Nouveau: Rename nv20/ files as nv20.
+
+ Signed-off-by: Pekka Paalanen <pq@iki.fi>
+
+commit f910371b3736e7d09b82d42e0dd1295482817883
+Author: Pekka Paalanen <pq@iki.fi>
+Date: Sat Nov 8 17:09:16 2008 +0200
+
+ Nouveau: copy nv30_vertprog.c to nv20.
+
+ Signed-off-by: Pekka Paalanen <pq@iki.fi>
+
+commit 0344b0e32e397ebcc6ed236295eb9b6a06a0dae2
+Author: Pekka Paalanen <pq@iki.fi>
+Date: Sat Nov 8 17:04:45 2008 +0200
+
+ Nouveau: start nv20 by copying the nv10 tree.
+
+ Signed-off-by: Pekka Paalanen <pq@iki.fi>
+
+commit 87d1a26ba38e75f6988e094dbfbc0f77c0ae502b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 7 16:08:21 2008 -0700
+
+ mesa: add support for 'centroid' qualifier in GLSL 1.20
+
+commit 448156f769ebf271a6a8c03c61588c3e6c6363f0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 7 15:51:10 2008 -0700
+
+ mesa: add support for 'invariant' keyword for GLSL 1.20
+
+commit b632e5aa7f948ed5bbf7104682ec3ee463af4c0a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 7 14:28:00 2008 -0700
+
+ mesa: reformat comments, rewrap lines, etc for a little better readability
+
+commit a52a6d7bcdaa47604151b9af07ebcd394316e784
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 7 13:03:07 2008 -0700
+
+ gallium: added SSE for DP2, DP2A
+
+commit cf9836cf09790de70732963ea571b83719c0c03c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 7 13:02:43 2008 -0700
+
+ gallium: implement TGSI_OPCODE_DP2A, add sqrt to NRM3/NRM4
+
+commit 49680dae5dd014503974f20c0b943244622ca3d5
+Merge: b493fdd 22459e7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 7 13:02:07 2008 -0700
+
+ Merge commit 'origin/master' into gallium-0.2
+
+commit 22459e7a9ca01cc5af8d9baeb6354d2e825cdbc9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 7 12:59:36 2008 -0700
+
+ mesa: forgot sqrt in NRM3/4 instructions
+
+commit 6dc91b8371f04f9bab61c1f6504236264feac8b4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 7 12:59:08 2008 -0700
+
+ mesa: fix opcode table order bug
+
+commit b493fdd7e333b9a94176a603009643326a538690
+Author: Robert Ellison <papillo@tungstengraphics.com>
+Date: Fri Nov 7 11:29:07 2008 -0700
+
+ CELL: fix several stencil problems
+
+ This small set of changes repairs several different stenciling problems;
+ now redbook/stencil also runs correctly (and maybe others - I haven't
+ checked everything yet).
+
+ - The number of instructions that had been allocated for fragment ops
+ used to be 64 (in cell/common.h). With complicated stencil use, we
+ managed to get up to 93, which caused a segfault before we noticed
+ we'd overran our memory buffer. It's now been bumped to 128,
+ which should be enough for even complicated stencil and fragment op
+ usage.
+
+ - The status of cell surfaces never changed beyond the initial
+ PIPE_SURFACE_STATUS_UNDEFINED. When a user called glClear()
+ to clear just the Z buffer (but not the stencil buffer), this caused
+ the check_clear_depth_with_quad() function to return false (because
+ the surface status was believed to be undefined), and so the device
+ was instructed to clear the whole buffer (including the stencil buffer),
+ instead of correctly using a quad to clear just the depth, leaving the
+ stencil alone.
+
+ This has been fixed similarly to the way the i915 driver handles
+ the surface status: during cell_clear_surface(), the status is
+ set to PIPE_SURFACE_STATUS_DEFINED. Then a partial buffer clear is
+ handled with a quad, as expected. Note that we are *not* using
+ PIPE_SURFACE_STATUS_CLEAR (also similar to the i915); technically,
+ we should be setting the surface status to CLEAR on a clear, and
+ to DEFINED when we actually draw something (say on cell_vbuf_draw()),
+ but it's difficult to figure out exactly which surfaces are affected
+ by a cell_vbuf_draw(), so for now we're doing the easy thing.
+
+ - The fragment ops handling was very clever about only pulling out the
+ parts of the Z/stencil buffer that it needed for calculations;
+ but this failed when only part of the buffer was written, because
+ the part that was never pulled out was inadvertently cleared.
+
+ Now all the data from the combined Z/stencil buffer is pulled out,
+ just so the proper values can be recombined later and written back
+ to the buffer correctly. As a bonus, the fragment op code generation
+ is simplified.
+
+commit 18a4cdcfc00a7a936c4a2fd0db27edba14ae5cd7
+Merge: 8343d0f bb8a9ce
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 7 10:24:22 2008 -0700
+
+ Merge commit 'origin/gallium-0.1' into gallium-0.2
+
+commit eb459814b7e7adc8b5f0062128f4ea4ff68b07cf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 7 10:23:22 2008 -0700
+
+ mesa: use _bfc0 instead of _col0 when building back face lighting.
+
+ cherry-picked from master: 4550b0562d5b59890fccb0e7eb0dbef967d1ccf9
+
+commit 8343d0f6e4e6cc49c866f98f0a551872cc8ffa26
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 7 10:20:05 2008 -0700
+
+ gallium: translate DP2, DP2A, NRM3, NRM4, SSG opcodes
+
+commit 3059ceb7f8128f00846f261f1927f5ec72d5dd15
+Merge: 3225bc8 a98a25c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 7 10:17:31 2008 -0700
+
+ Merge commit 'origin/master' into gallium-0.2
+
+commit a98a25c25ff1ec3be74cf9c5f027b85a297c3e78
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 7 09:49:26 2008 -0700
+
+ mesa: add GLSL support for DP2, NRM3, NRM4 instructions (not actually emitted yet though)
+
+commit 65cb74ecc0287d766493fd3649295e2e1b20099b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 7 09:41:00 2008 -0700
+
+ mesa: added DP2, DP2A instructions
+
+commit 37eef7b474c5d9a7c566f9edf35c797c5a98d065
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 7 09:33:55 2008 -0700
+
+ mesa: added AND/OR/NOT/XOR instructions
+
+commit d93072782aa8b7a6bb060c77f3a61adb3b655d58
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 7 09:06:09 2008 -0700
+
+ mesa: include shader/prog_instruction.h
+
+ Seems to fix a mysteriously missing build dependency.
+
+commit f6ead50827c03017e6b730313c361b39190da92f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 7 08:51:31 2008 -0700
+
+ mesa: added OPCODE_NRM3/NRM4 instructions for vector normalization.
+
+ We may emit these instructions from GLSL instead of DP3/RCP/MUL.
+
+ Also, implement SSG (set sign) instruction in the interpreter.
+
+commit 4550b0562d5b59890fccb0e7eb0dbef967d1ccf9
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Fri Nov 7 14:58:04 2008 +0800
+
+ mesa: use _bfc0 instead of _col0 when building back face lighting.
+
+commit bb8a9ce705f309a3b38d10c61c3865db79a0f71c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 6 19:24:47 2008 -0700
+
+ gallium: implement TGSI_OPCODE_NRM/NRM4 in tgsi_exec.c
+
+commit 3225bc84932f08a52db7025367ae206a9d2f8fef
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 6 17:19:54 2008 -0700
+
+ gallium: s/OPCODE_INT/OPCODE_TRUNC/
+
+commit c417a2c3f37a6a28947db5dc5aa240473d29dd19
+Merge: a7d9fde 035c0cf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 6 17:17:13 2008 -0700
+
+ Merge commit 'origin/master' into gallium-0.2
+
+commit 035c0cf71a5fe3beee55654e1f7148adfe626cc0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 6 17:14:33 2008 -0700
+
+ mesa: rename OPCODE_INT -> OPCODE_TRUNC
+
+ Trunc is a more accurate description; there's no type conversion involved.
+
+commit 517401af07ea17a7e88659e6ba95a0628ff826b3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 6 15:04:11 2008 -0700
+
+ mesa: update the shader programs->TexturesUsed array at link time
+
+ If an application never calls glUniform() to set sampler variable values
+ they'll remain 0 (the default value/unit).
+ Now call _mesa_update_shader_textures_used() at link time in case glUniform()
+ is never called. program->TextureUsed[] will then be correct for state
+ validation.
+
+commit a7d9fde24cb8ecc59b0a6fc610135d851806295b
+Merge: d177c9d 2f1a296
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 6 15:07:11 2008 -0700
+
+ Merge commit 'origin/gallium-0.1' into gallium-0.2
+
+commit 2f1a29654a94a4194fa452e8049c4db67629e545
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 6 15:04:11 2008 -0700
+
+ mesa: update the shader programs->TexturesUsed array at link time
+
+ If an application never calls glUniform() to set sampler variable values
+ they'll remain 0 (the default value/unit).
+ Now call _mesa_update_shader_textures_used() at link time in case glUniform()
+ is never called. program->TextureUsed[] will then be correct for state
+ validation.
+
+commit 678f80b347801d925c07a774faee1ed3f716de15
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 6 15:00:01 2008 -0700
+
+ gallium: added st_print_shaders() function to help w/ debugging
+
+commit 6c3e7365d5245cfad597cd69e2f8f689e62546b9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 6 14:57:20 2008 -0700
+
+ gallium: debug code to print vertex array data (disabled)
+
+commit 93fd5e150ba2a86b51816b60bf5faf1da34803b7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 6 14:56:59 2008 -0700
+
+ softpipe: debug code (disabled)
+
+commit d177c9ddda2c452cf7d6696d89cf4458ef986f98
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu Nov 6 16:07:28 2008 -0500
+
+ gallium: actually flip the coordinates
+
+commit df94fd17647937975df031dcaa1ac24b2d79ce1b
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Thu Nov 6 15:25:55 2008 +0800
+
+ i965: Always check vertex program.
+
+ Now i965 also uses the vertex program created by Mesa Core, but this vertex program
+ is not only depend on mesa state _NEW_PROGRAM, so always check the current vertex
+ program is updated or not. This fixes broken demo cubemap.
+
+commit 5b2b064a5c1328449e3eb8179afc2ba366f18ae6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Nov 5 20:04:49 2008 -0700
+
+ gallium: check execution mask in indirect register loads
+
+ Zero-out the index for disabled execution channels to avoid using potential
+ garbage values (thus avoiding bad array indexing).
+
+commit 639a2b0ec853eda49e3e7150b2ed7f8f40d101af
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Nov 5 19:26:20 2008 -0700
+
+ gallium: don't range check tgsi register index for indirect accesses
+
+ Fixes progs/vp/arl.txt test.
+
+commit 0060d4154999777bd3b17013c457ca073aa660dc
+Author: Gary Wong <gtw@gnu.org>
+Date: Wed Nov 5 20:35:19 2008 -0500
+
+ i965: Implement missing OPCODE_NOISE3 instruction in fragment shaders.
+
+ OPCODE_NOISE4 coming later.
+
+commit 88360913a730795d031b2ff20fe50d438ef1c151
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 5 17:20:35 2008 -0700
+
+ cell: minor reformatting, var renaming
+
+commit 2c204bbf7749ed0517c5826e2aae66997a0c4623
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 5 17:14:23 2008 -0700
+
+ use APP_CC, not CC for skinning demo
+
+commit cbce12b5404846520bb776f73885f0ea99a13124
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 5 17:14:00 2008 -0700
+
+ gallium: s/mmDestroy/u_mmDestroy/
+
+commit 1bfdab781b515f8eefc0b3c963295a1adb8f8146
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 5 16:04:40 2008 -0700
+
+ mesa: Fix compiler warnings on Windows.
+
+ cherry-picked subset of a77976d2ee578d0483c64f2aa41719bbae9c1c97
+
+commit 50beb4e6fd2e06d6007c69899111f6a22319a4d8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 5 14:03:15 2008 -0700
+
+ mesa: fix a GLSL array indexing codegen bug
+
+ Expressions like array[i] + array[j] didn't work properly before.
+
+commit 80a718a63bf2fa817e346f0f5731ee9ef2e0e68b
+Merge: 7115b79 de14fdd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 5 15:58:09 2008 -0700
+
+ Merge commit 'origin/gallium-0.1' into gallium-0.2
+
+ Conflicts:
+
+ src/gallium/auxiliary/rtasm/rtasm_execmem.c
+ src/mesa/shader/slang/slang_emit.c
+ src/mesa/shader/slang/slang_log.c
+ src/mesa/state_tracker/st_atom_framebuffer.c
+
+commit de14fdd63f26a2e6fc55fad92c08966f269601a6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 5 14:05:42 2008 -0700
+
+ gallium: added check for degenerate drawing calls
+
+commit 6282c38283ea81af1d950dbc1f82a6950e8350ae
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 5 14:05:04 2008 -0700
+
+ gallium: if VERBOSE_GLSL flag is set, check for non-initialized uniforms at draw time
+
+ This will warn the user that the shader being run may be using uninitialized
+ uniform variables.
+
+commit 0331c1c1697f32595fd325fcedf0b0703405560b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 5 14:03:15 2008 -0700
+
+ mesa: fix a GLSL array indexing codegen bug
+
+ Expressions like array[i] + array[j] didn't work properly before.
+
+commit f0debbb0bb951bfc6dc0ae467564b3b1230324cf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 5 14:02:07 2008 -0700
+
+ gallium: call tgsi_set_exec_mask() and use exec mask in SSE ARL code
+
+ This prevents vertex shaders from referencing invalid memory locations when
+ the shader is operating on less than four vertices or fragments.
+
+commit 03c0ce4c61fd970509d605fe78166e828fc1df57
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 5 13:56:20 2008 -0700
+
+ gallium: added tgsi_set_exec_mask()
+
+commit a137f03c56688c190f3542fb6b7c9a4ff4c80cff
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 5 13:55:56 2008 -0700
+
+ gallium: added some sanity check assertions for constant buffer indexing
+
+commit dea4826b8481d7328e52dbaa2eb43fd861d73e79
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 5 09:34:15 2008 -0700
+
+ mesa: remove extra \n from printf string
+
+commit 528c860a581d7e07c101ccbbe396d930b76f8350
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 5 09:33:48 2008 -0700
+
+ mesa: remove extra \n from printf string
+
+commit 949e7383b597563b5603ba9b63fcfa4b1f45cf42
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 5 09:17:55 2008 -0700
+
+ mesa: add Initialized field to gl_uniform struct, for debugging purposes only
+
+commit 2ff46366030e3fee918c4be9e82335617435c42a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 5 09:14:19 2008 -0700
+
+ mesa: add Initialized field to gl_uniform struct, for debugging purposes only
+
+commit 05a17f83b0a6549fde41540f9075505e81ab08d3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 5 08:58:40 2008 -0700
+
+ gallium: added some debug code (disabled)
+
+commit fc3b361191c35d2b0b072c08e39b1e5b26d7e2a6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 5 08:57:11 2008 -0700
+
+ gallium: disable some debug output
+
+commit 64a9908816a95849557678c8cab6071aa086f7e2
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Wed Nov 5 16:49:48 2008 +0100
+
+ i915: Remove faulty assert
+
+commit 7115b79b77e541f3eb81db00f6f0c34a0f224feb
+Author: michal <michal@quad.(none)>
+Date: Wed Nov 5 11:58:11 2008 +0100
+
+ draw: Implement TGSI_OPCODE_TRUNC.
+
+commit de2ace201fe26d36a2a75211a7d8447940a47fbe
+Author: michal <michal@quad.(none)>
+Date: Wed Nov 5 11:48:56 2008 +0100
+
+ tgsi: Implement OPCODE_TRUNC.
+
+commit 2382dc8aff9983da9ef1be03de38d4ab82105b19
+Merge: 9e1f0e1 aab429c
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Wed Nov 5 11:59:12 2008 +0000
+
+ Merge commit 'origin/master' into gallium-0.2
+
+commit 5a0299875c7a4a9a0cb2cf55777c92c1b17d528b
+Author: michal <michal@quad.(none)>
+Date: Wed Nov 5 11:58:11 2008 +0100
+
+ draw: Implement TGSI_OPCODE_TRUNC.
+
+commit 502974b345dae8a3ca641083b4df5183b04ca825
+Author: michal <michal@quad.(none)>
+Date: Wed Nov 5 11:48:56 2008 +0100
+
+ tgsi: Implement OPCODE_TRUNC.
+
+commit aab429c8df228271786890691a43786baf091b37
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 4 16:56:59 2008 -0700
+
+ added glsl/skinning.c test to test matrix blending/weighting
+
+commit 6c8274078d08e5d87c993603b9bfcdf1ffa51278
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 4 16:52:53 2008 -0700
+
+ mesa: fix float-valued GLSL vertex attribute variables
+
+ The swizzle mask for such variables wasn't set up properly.
+
+commit 35a9f1bccf2284c853cd20ccf2192ebc382a4706
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 4 15:19:28 2008 -0700
+
+ print err msg if unable to open shader file
+
+commit d3222cb1d465cf49ff5b2119f7515c5f57024964
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 4 15:11:56 2008 -0700
+
+ remove old debug glFlush/Finish calls from demos
+
+commit f16f53ae3d7328f156c91ed0a13ec21afb1210fb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 4 16:52:53 2008 -0700
+
+ mesa: fix float-valued GLSL vertex attribute variables
+
+ The swizzle mask for such variables wasn't set up properly.
+
+commit 9e1f0e173e5619d2ce95a74158803d94b3d6ff8a
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Mon Nov 3 20:05:55 2008 +0000
+
+ gallium: no renderbuffer, so just exit.
+
+commit 95438727ddc4012d6e2db843d7173607b2a23b56
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Tue Aug 26 17:40:24 2008 +0200
+
+ gallium: Silence compiler warnings on Windows.
+
+commit 7b42a5d634d32c3f15f3a3535b2b9328dfca49bf
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat Oct 25 03:35:01 2008 +0900
+
+ gallium: Read from PIPE_FORMAT_Z32_FLOAT.
+
+ Mainly for debugging purposes for now.
+
+commit 6225e467c66d8c0dcd3574c03dea6c1287989cc9
+Author: Eric Anholt <eric@anholt.net>
+Date: Sun Nov 2 12:29:03 2008 -0800
+
+ i965: Clean up stale NDC comment.
+
+commit df07db810410474680faf07741d9d2ef71083b62
+Author: Eric Anholt <eric@anholt.net>
+Date: Sun Nov 2 12:19:02 2008 -0800
+
+ i965: Avoid vs header computation for negative rhw on G4X.
+
+ This cuts one MOV out when setting a zero header.
+
+commit ba644d2711f45c3c2ae47f7aaf3b6b0db3f12147
+Author: Eric Anholt <eric@anholt.net>
+Date: Sun Nov 2 12:15:53 2008 -0800
+
+ i965: Merge GM45 into the G4X chipset define.
+
+ The mobile and desktop chipsets are the same, and having them separate is
+ more typing and more chances to screw up.
+
+commit 521aa4c107959e3ca63bc7848a873a2116b42819
+Author: Eric Anholt <eric@anholt.net>
+Date: Sun Nov 2 11:49:46 2008 -0800
+
+ i965: Fix copy'n'paste issue that made brw->urb.constrained useless.
+
+ Also, add a comment explaining what brw->urb.constrained tries to do.
+
+commit bdf24007cae9ce485ef123e935eb87c7cba4e0e5
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Nov 3 20:50:14 2008 +0900
+
+ gallium: WinCE portability fixes.
+
+commit 95d108416c27f45f4de1178abbe6797cd128ef6a
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Oct 31 19:50:43 2008 +0900
+
+ gallium: Fix typo.
+
+commit 1c6fe6564be28ac3e72fa8e6b1616ae0e22a7bc7
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Oct 30 16:47:20 2008 +0900
+
+ softpipe: Don't call pipe_buffer_destroy directly.
+
+ Use pipe_buffer_reference instead.
+
+commit 28a2edb7389107cd46eb382a44d339dd7972310a
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Oct 28 16:11:09 2008 +0900
+
+ pipebuffer: Ensure refcounts of live buffer objects are never zero.
+
+commit 467c4760b337a541c7af27f1ed3bd5c4ecba316f
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Oct 28 16:10:55 2008 +0900
+
+ gallium: Ensure refcounts of live objects are never zero.
+
+commit 82e1026c30dd416231df66daf9b2f28bfc1f1cd6
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat Oct 18 13:31:00 2008 +0900
+
+ gallium: Fix msvc warning.
+
+commit 4be624d693554ad3950afab90e331a6725cc5004
+Author: Eric Anholt <eric@anholt.net>
+Date: Sun Nov 2 12:29:03 2008 -0800
+
+ i965: Clean up stale NDC comment.
+
+commit 9fd4c27ae3e189df804b86843a6aad0e70640533
+Author: Eric Anholt <eric@anholt.net>
+Date: Sun Nov 2 12:19:02 2008 -0800
+
+ i965: Avoid vs header computation for negative rhw on G4X.
+
+ This cuts one MOV out when setting a zero header.
+
+commit 34b1776e8d965605d12807884c9c447214d57281
+Author: Eric Anholt <eric@anholt.net>
+Date: Sun Nov 2 12:15:53 2008 -0800
+
+ i965: Merge GM45 into the G4X chipset define.
+
+ The mobile and desktop chipsets are the same, and having them separate is
+ more typing and more chances to screw up.
+
+commit d758c48761a2be2a6c9b3d80f8fe06d32b5dd0d3
+Author: Eric Anholt <eric@anholt.net>
+Date: Sun Nov 2 11:49:46 2008 -0800
+
+ i965: Fix copy'n'paste issue that made brw->urb.constrained useless.
+
+ Also, add a comment explaining what brw->urb.constrained tries to do.
+
+commit 81c862205e32b163a9f5ecf3f59e4cdcccee36c6
+Merge: 14e1505 bbffed0
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Sat Nov 1 22:57:26 2008 +0000
+
+ Merge commit 'origin/master' into gallium-0.2
+
+ Conflicts:
+
+ src/mesa/shader/slang/library/slang_vertex_builtin_gc.h
+
+commit bbffed0857634912c7a1f13882eba303ae2bf4e1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 1 16:04:45 2008 -0600
+
+ mesa: silence warnings
+
+commit b625a0a47524de1b2968f9bf6a23ae0102726b5a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 1 15:55:39 2008 -0600
+
+ mesa: do scope replacement for while/for loops too
+
+ This fixes a function inlining bug involving vars declared inside loop bodies.
+
+commit 3d0d803313b624065e6549b1635d61e1162487ee
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 1 15:55:14 2008 -0600
+
+ mesa: glsl tree print improvements
+
+commit 1e1ba54a94d4c0a0685c430bffad49d47cec15ca
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 1 15:53:14 2008 -0600
+
+ mesa: fix assignment / parameter passing of sampler types
+
+commit 131d42573ce1fc120c8ef75634979b6206e1eb0a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 1 10:57:25 2008 -0600
+
+ mesa: additional debug flags for glsl debug/disassembly
+
+commit c7e98469fac821d23fe1ff63ff05da664c05b197
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 1 16:04:45 2008 -0600
+
+ mesa: silence warnings
+
+commit e9bc632d829f38e5b15c2cdbaaa61caffb02f8c8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 1 15:55:39 2008 -0600
+
+ mesa: do scope replacement for while/for loops too
+
+ This fixes a function inlining bug involving vars declared inside loop bodies.
+
+commit 58936b51af5806a5c260a30e961a37c77bdbdd17
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 1 15:55:14 2008 -0600
+
+ mesa: glsl tree print improvements
+
+commit 90cdb8a4de3cbbc7c87779f978be2f846cf7c07c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 1 16:02:32 2008 -0600
+
+ mesa: fix assignment / parameter passing of sampler types
+
+commit b3cfcd326b1bc21ce163c5b05288cbff5f909cd9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 1 10:57:25 2008 -0600
+
+ mesa: additional debug flags for glsl debug/disassembly
+
+commit 72c914805b8b3b37bf8f44d94bc25ca3d146ac66
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Nov 1 14:38:19 2008 -0700
+
+ Fix for 58dc8b7: dest regions must not use HorzStride 0 in ExecSize 1
+
+ Quoting section 11.3.10, paragraph 10.2 of the 965PRM:
+
+ 10.2. If ExecSize is 1, dst.HorzStride must not be 0. Note that this is
+ relaxed from rule 10.1.2. Also note that this rule for destination
+ horizontal stride is different from that for source as stated in
+ rule #7.
+
+ GM45 gets very angry when rule 10.2 is violated.
+
+ Patch 58dc8b7 (i965: support destination horiz strides in align1 access mode)
+ added support for additional horizontal strides in the ExecSize 1 case, but
+ failed to notice that mesa occasionally re-purposes a register as a
+ temporary destination, even though it was constructed as a repeating source
+ with HorzStride = 0.
+
+ While, ideally, we should probably fix the code using these register
+ specifications, this patch simply rewrites them to use HorzStride 1 as the
+ pre-58dc8b7 code did.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit fa139f8826583aa31db442affc2cd11fa06ef725
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 31 17:29:54 2008 -0600
+
+ mesa: fix some bugs with precision qualifier parsing
+
+commit 40217db75ae08d04eee696d5092b34d2b2cfd8b0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 31 17:27:41 2008 -0600
+
+ mesa: do scope replacement for variable initializers too
+
+commit 851dbaa5b5b5a7bd85e95e504ed9917dae66525e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 31 17:22:13 2008 -0600
+
+ mesa: fix copy/paste error in GLSL error msg
+
+commit 06fe728e5bbaf09258838dfe8e634d969a63ad74
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 31 17:29:54 2008 -0600
+
+ mesa: fix some bugs with precision qualifier parsing
+
+commit 90711775d74d7a48fd740fadc04e9aaae106a89d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 31 17:27:41 2008 -0600
+
+ mesa: do scope replacement for variable initializers too
+
+commit 89bca902b35f938924cc4423a8d9374ddbb536df
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 31 17:22:13 2008 -0600
+
+ mesa: fix copy/paste error in GLSL error msg
+
+commit 69e10084cd3ac9b814b311913138882a32f9f2ea
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Oct 31 13:37:42 2008 -0700
+
+ intel: pixelzoom doesn't apply to glBitmap, so disable the fallback.
+
+commit 018088996a92ef15edd946d9300707112caaa29c
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Oct 31 13:18:56 2008 -0700
+
+ intel: Remove fallback for glDrawPixels(GL_COLOR_INDEX)
+
+ GL_COLOR_INDEX mode is just like other normal formats (that is, not
+ depth/stencil) and is uploaded fine by TexImage.
+
+commit ed478a5fdeded932f09a73bc0af12e010b9a5cd5
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Oct 31 13:13:08 2008 -0700
+
+ intel: Add more fallback debugging for glDrawPixels.
+
+commit ab3e9c481f7517ffc63770dbb9c81fe559884a35
+Author: Gary Wong <gtw@gnu.org>
+Date: Fri Oct 31 17:31:57 2008 -0400
+
+ i965: implement the missing OPCODE_NOISE1 and OPCODE_NOISE2 instructions.
+
+ (Only in fragment shaders, so far. Support for NOISE3 and NOISE4 to come.)
+
+commit 58dc8b7db5829188dbb45c020ab44732d6053888
+Author: Gary Wong <gtw@gnu.org>
+Date: Wed Oct 29 19:53:33 2008 -0400
+
+ i965: support destination horiz strides in align1 access mode.
+
+ This is required for scatter writes in destination regions to work.
+
+commit 14e1505cce24ee294cb98683504cc4537c20f34a
+Author: Robert Ellison <papillo@tungstengraphics.com>
+Date: Thu Oct 30 21:31:07 2008 -0600
+
+ CELL: fix use of stencil value mask
+
+ The Cell stencil tests were completely ignoring the stencil value mask.
+ Now the original code paths are still used if the stencil value mask
+ is all 1s; but code to use the mask for the stencil value and reference
+ value comparisons is now emitted if the mask is not all 1s.
+
+commit 963071ffea2f03e39d73bc663fa079098d82bc66
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Fri Oct 31 09:24:27 2008 +0800
+
+ mesa: fix a typo in the previous commit
+
+commit b81a7dc2d8ba09b48d5022cf9ff65f2fad890e11
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Thu Oct 30 23:52:59 2008 +0100
+
+ gallivm: replace the temp parameters of the JIT function with alloca'ed temps. This avoids useless writes of temporary results.
+
+commit 443e102fdc8084dd2c73549c83de10524eb94b31
+Author: Jonathan White <jwhite@tungstengraphics.com>
+Date: Thu Oct 30 15:53:12 2008 -0600
+
+ cell: Protected use of non-initialized untile buffers
+
+commit 711f8a1dd94e2e1e715615d947e03015ef972326
+Author: Robert Ellison <papillo@tungstengraphics.com>
+Date: Thu Oct 30 15:24:23 2008 -0600
+
+ CELL: stencil bug fixes
+
+ Two definitive bugs in stenciling were fixed.
+
+ The first, reversed registers in the generated Select Bytes (selb)
+ instruction, caused the stenciling INCR and DECR operations to
+ fail dramatically, putting new values in where old values were
+ supposed to be and vice versa.
+
+ The second caused stencil tiles to not be read and written from
+ main memory by the SPUs. A per-spu flag, spu.read_depth, was used
+ to indicate whether the SPU should be reading depth tiles, and was set
+ only when depth was enabled. A second flag, spu.read_stencil, was
+ set when stenciling was enabled, but never referenced.
+
+ As stenciling and depth are in the same tiles on the Cell, and there
+ is no corresponding TAG_WRITE_TILE_STENCIL to complement
+ TAG_WRITE_TILE_COLOR and TAG_WRITE_TILE_Z, I fixed this by
+ eliminating the unused "spu.read_stencil", renaming "spu.read_depth"
+ to "spu.read_depth_stencil", and setting it if either stenciling or
+ depth is enabled.
+
+ I also added an optimization to the fragment ops generation code,
+ that avoids calculating stencil values and/or stencil writemask
+ when the stencil operations are all KEEP.
+
+commit 157ddc14183807834068687f02c67b66acf9effa
+Author: Jonathan White <jwhite@tungstengraphics.com>
+Date: Thu Oct 30 11:22:20 2008 -0600
+
+ cell: Added check for PIPE_FLUSH_RENDER_CACHE to cell_flush to fix black blocks during st_readpixels due to a flush wait not happening in order to allow any previous rendering to complete.
+
+commit bccc09e6bf98058b63fcff5856a71446ed1d4523
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Thu Oct 30 10:10:58 2008 +0800
+
+ mesa: fix an issue in _mesa_PointParameterfv().
+
+commit 766cb95a4564c48f35b5180155ab40320a68e371
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 29 17:02:56 2008 -0600
+
+ gallium: new sanity assertions in mmAllocMem()
+
+commit 7d7f0f170692962cf57d6893428f3a18f590c060
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 29 17:02:30 2008 -0600
+
+ gallium: fix copy&paste bug
+
+commit f952aac1da432336f330122cacc30a87f52b4101
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 29 16:56:28 2008 -0600
+
+ gallium: grow SPE instruction buffer as needed
+
+commit 725ba94ce5701aa8690c7ab2ea792dda86cbbe7a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 29 16:35:59 2008 -0600
+
+ gallium: no longer pass max_inst to ppc_init_func()
+
+commit a5d920297a2affe34c535d30a2c49588f92f69ad
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 29 16:26:10 2008 -0600
+
+ gallium: use execmem for PPC code, grow instruction buffer as needed
+
+commit 239ce2240af37e768e855680777872f6f4e7b71d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 29 15:49:19 2008 -0600
+
+ glx: added PFNGL*PROC typedefs for GLX 1.3 functions
+
+ Since we define GLX_VERSION_1_3 in glx.h, the typedefs in the glxext.h header
+ were getting skipped.
+
+commit 8160cb4935151a12588acbe546f00ce8d77bda91
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 29 14:55:02 2008 -0600
+
+ gallium: fix alignment parameter passed to u_mmAllocMem()
+
+ Was 32, now 5. The param is expressed as a power of two exponent.
+ The net effect is that the alignment was a no-op on X86 but on PPC we
+ always got the same memory address everytime rtasm_exec_malloc() was called.
+
+commit 8828d52348d81e1b9ec985200a430554873b5f4e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 29 14:28:57 2008 -0600
+
+ gallium: fix alignment parameter passed to u_mmAllocMem()
+
+ Was 32, now 5. The param is expressed as a power of two exponent.
+ The net effect is that the alignment was a no-op on X86 but on PPC we
+ always got the same memory address everytime rtasm_exec_malloc() was called.
+
+commit 3ad56968f09397a8dd417eae025b9506efaf8414
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 29 14:19:12 2008 -0600
+
+ gallium: prefix memory manager functions with u_ to differentiate from functions in mesa/main/mm.c
+
+commit 09570d2e737a4c9f3f24edd78af3b897ee261733
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 29 14:08:13 2008 -0600
+
+ gallium: test for PIPE_OS_LINUX instead of __linux__
+
+commit 1f7a323a138e6cc43b1192022b071c606a5ee6f4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 29 12:14:11 2008 -0600
+
+ cell: add scalar param to emit_function_call() to indicate scalar function calls
+
+ Scalar calls only use the X component of the src regs and smear the
+ result across the dest register's X/Y/Z/W.
+
+commit 8b3af5c5d6fe100707da0d9dcc42500921792638
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 29 12:12:30 2008 -0600
+
+ cell: use simd utilities for pow, exp2, log2
+
+commit 4e1c33700d8885c91d8a1db4cbaefa1ff9f1b5fc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 29 11:05:34 2008 -0600
+
+ gallium: added PPC support for SWZ, XPD, POW
+
+ That's the last of the ARB_v_p opcodes, except for ARL.
+
+commit 75b92764a7820558fb2b6cd27a2ab0487ef2f9ba
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 29 11:04:05 2008 -0600
+
+ gallium: clean-ups
+
+commit 7640264064c2cbc9922f7f3df51f7caa7b449e8e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 29 11:03:51 2008 -0600
+
+ gallium: added ppc_vnmsubfp()
+
+commit cd1283f5151749db87edadb16a2aab4ed3b46363
+Author: Nigel Stewart <nigels@sourceforge.net>
+Date: Wed Oct 29 09:22:05 2008 -0600
+
+ glu: fix compilation problem when using Windows gl.h (sf bug 2204589)
+
+commit 92674bc8889e10e580c630cf85c106fa6eb34d7b
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Oct 29 18:12:48 2008 +1100
+
+ nv40: rename some vars in texture layout code
+
+commit 26c1c04fd034f7c7522e94480f5aa30c98c72f35
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Oct 28 22:50:52 2008 -0700
+
+ intel: Fix glDrawPixels with 4d RasterPos.
+
+commit 59b2c2adbbece27ccf54e58b598ea29cb3a5aa85
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Oct 24 13:02:21 2008 -0700
+
+ i965: Fix check_aperture calls to cover everything needed for the prim at once.
+
+ Previously, since my check_aperture API change, we would check each piece of
+ state against the batchbuffer individually, but not all the state against the
+ batchbuffer at once. In addition to not being terribly useful in assuring
+ success, it probably also increased CPU load by calling check_aperture many
+ times per primitive.
+
+commit 54d684f23d3fb723d7f226b5ce093248476ab26a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 28 19:01:38 2008 -0600
+
+ move glut.h include
+
+commit 91473dac5a5995664940918fa945b9bd6316da93
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 28 19:00:56 2008 -0600
+
+ mesa: use APP_CC compiler in progs/vp/
+
+commit c25adeae18a2cbd2c504210dff289af4764ecaf1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 28 19:00:25 2008 -0600
+
+ mesa: convert log/exp tests to ARB_v_p
+
+commit 5db0372b3cffec9b5c28699a580da77dcfbd938d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 28 18:57:54 2008 -0600
+
+ gallium: ppc: implement TGSI_OPCODE_LOG/EXP
+
+commit 835a9fef058d23c8a7ce7bbe6866990b4804f5ad
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 28 18:27:21 2008 -0600
+
+ mesa: include glslcompiler driver in tarball
+
+commit a045b92511eb43ff89e9c0536464af7866956168
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 28 18:22:14 2008 -0600
+
+ gallium: remove old code
+
+commit f4e9526addc617dc78af9b1af781ffe09ce62504
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 28 18:21:03 2008 -0600
+
+ gallium: ppc: don't replicate/smear immediate values, use vspltw instruction as with constants
+
+commit 0a8590e3cf9e9f671405343bcd1dc756a7296fc3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 28 18:18:31 2008 -0600
+
+ mesa: don't continually redraw
+
+commit 1100866aa1efd51603fe0b92337afecdc723561c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 28 17:03:35 2008 -0600
+
+ mesa: fix stand-alone glslcompiler build
+
+commit 0cade4de4f74f6b0e86fb6622e2fc370c73fd840
+Author: Eric Anholt <eric@anholt.net>
+Date: Sun Oct 19 17:46:41 2008 -0700
+
+ intel: Don't keep intel->pClipRects, and instead just calculate it when needed.
+
+ This avoids issues with dereferencing stale cliprects around intel_draw_buffer
+ time. Additionally, take advantage of cliprects staying constant for FBOs and
+ DRI2, and emit cliprects in the batchbuffer instead of having to flush batch
+ each time they change.
+
+commit db680ac0e3697ecc2c2dbd5f22c4c2fdb136b62c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 28 14:03:51 2008 -0600
+
+ cell: fix a number of fence issues
+
+ Plus add assertions to check status, alignment, etc.
+
+commit c46583416a749f2e7f76a1eaadb54a8b9e76fb11
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 28 13:17:48 2008 -0600
+
+ gallium: use some PPC vec registers to store TGSI temps
+
+ This could be a lot better, but already makes for better code.
+
+commit e92a457ac0030e48f5260dc2ac00ca283be7d7ad
+Author: Gary Wong <gtw@gnu.org>
+Date: Tue Oct 28 15:03:14 2008 -0400
+
+ i965: Allocate temporaries contiguously with other regs in fragment shaders.
+
+ This is required for threads to be spawned with correctly sized GRF
+ register blocks.
+
+commit 98fcdf3f49aea14b4dd4f4b83c956f8a117020c9
+Author: Julien Cristau <jcristau@debian.org>
+Date: Tue Oct 28 18:56:05 2008 +0100
+
+ configure.ac: Add support for gnu/kfreebsd
+
+ Check for *-gnu instead of linux* to set DEFINES.
+ Change some freebsd* checks to *freebsd*.
+
+commit 57487590871d523dd6044ad214dafde04dd799f0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 28 12:41:47 2008 -0600
+
+ cell: don't include libmisc.h
+
+ Doesn't seem to be needed and fixes compilation with SDK 3.1 beta.
+
+commit 52e6fbb655f138f70670abdd365258873a78dabf
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Oct 28 16:28:56 2008 +0000
+
+ gallium: recognize DEBUG as well as DBG for debugging
+
+commit d01324eb78da2d501ce33e2792713225090c84cd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 27 18:25:33 2008 -0600
+
+ cell: fix some problems when displaying to a PIPE_FORMAT_B8G8R8A8_UNORM screen
+
+commit 2b9b42befaf4b416e1bae423a436f4e1722a62bf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 27 18:15:56 2008 -0600
+
+ cell: added -D_BSD_SOURCE flag
+
+ Needed to get MAP_ANONYMOUS in execmem.c and to define timezone type in glxgears.c
+ Adding -std=c99 earlier caused this regression.
+
+commit a1754424b6597219f436091dec1de4713719c4b8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 27 15:58:00 2008 -0600
+
+ gallium: ppc: emit fewer 'li' instructions prior to vector loads/stores
+
+commit 604be5561f17042f61db42b31caf4d720cf66389
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 27 15:36:25 2008 -0600
+
+ gallium: ppc: use a src register cache to avoid redundant loads
+
+commit 582ca6e4180e45655ea5f85ac1c823a665efad47
+Author: Jonathan White <jwhite@tungstengraphics.com>
+Date: Mon Oct 27 16:29:20 2008 -0600
+
+ cell: Added support for untwiddling textures during glReadPixels. This allows glReadPixels to work correctly on cell now and makes conformance tests that use pixel compares useable.
+
+commit bcfba0d91e51290b1a957a1861ec0b18899feb92
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Oct 24 12:43:17 2008 -0700
+
+ i965: Fix compiler warning from unused var.
+
+commit a74b1e149dd567dfa5ddcd69f44e5acfce0d0e0f
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Oct 24 12:30:47 2008 -0700
+
+ i965: Remove dead brw->wrap flag.
+
+commit dd17cd600a25ad916185eaeec968563adbab76f9
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Oct 14 13:30:52 2008 -0700
+
+ intel: Use dri_bo_get_tiling to get tiling mode of buffers we get from names.
+
+ Previously, we were trying to pass a name to the GEM GET_TILING_IOCTL,
+ which needs a handle, and failing. None of our buffers were tiled yet, but
+ they will be at some point with DRI2 and UXA.
+
+commit 7eacd11bf1743d47f07c2edd86507172d84b35fc
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Mon Oct 27 15:37:54 2008 +0000
+
+ disable OPENGL_BIT
+
+commit 61d3a66456852642ed8fdc1106dc0012e4b89779
+Merge: 02c9009 2a87741
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Mon Oct 27 15:37:22 2008 +0000
+
+ Merge commit 'origin/master' into gallium-0.2
+
+commit ee35de2dfb12415416817d417f59e676b34ea81b
+Merge: 70a06e0 3354e66
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Oct 27 15:40:40 2008 +1100
+
+ Merge remote branch 'nouveau/gallium-0.1' into gallium-0.2
+
+commit 70a06e03d45f3d2e1cd1d430ba83c4b22471373c
+Merge: 295d6f8 02c9009
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Oct 27 15:40:33 2008 +1100
+
+ Merge remote branch 'origin/gallium-0.2' into gallium-0.2
+
+commit 2a877411dbe35abdd8c15fb4821d9232619d89cc
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Sun Oct 26 06:31:33 2008 +0800
+
+ intel: GL_FALSE on a BO if it won't be modified when mapping this BO. (thanks Eric).
+
+commit ec8076264ea2390d4cb749be5c88bbf2bf5d4847
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Fri Oct 24 16:05:48 2008 +0800
+
+ i965: don't emit state when dri_bufmgr_check_aperture_space fails.
+
+ This ensures there is an unfilled batchbuffer used for emitting states again. Partial fix for #17964.
+
+commit f657c8191128c500c2aa7204009154a1182e2abd
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Fri Oct 24 15:55:32 2008 +0800
+
+ intel: fallback for intelEmitCopyBlit.
+
+ Use _mesa_copy_rect instead of BLT operation if dri_bufmgr_check_aperture_space
+ still fails after flushing batchbuffer. Partial fix for #17964.
+
+commit 8c20c913f8998f759bd8ce7779fa1233255da9a3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 23 11:23:36 2008 -0600
+
+ mesa: version 43 of glext.h
+
+commit 3efd3b15124acab4dbb7c4a7cd01309100370934
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 23 11:21:32 2008 -0600
+
+ mesa: version 21 of glxext.h
+
+commit ea6ddcbe0e4a0049ee8b9d244d86b6981fc6438b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 23 10:49:51 2008 -0600
+
+ mesa: remove calls to _mesa_adjust_image_for_convolution(), use texImage fields
+
+ The texImage->Width/Height fields will have the post-convolution width/height.
+
+commit 02c9009bb842cd8a47bc36ea274ef54ff47e1528
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 23 10:47:17 2008 -0600
+
+ mesa: updated status in cell.html
+
+commit 6b69e3c71741d99a54c6f4dcb605a3c241239aeb
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Oct 23 10:28:48 2008 +0200
+
+ scons: ppc support.
+
+commit 06c43beee08052bae3832586559889d74fb538b6
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Oct 23 10:27:39 2008 +0200
+
+ scons: Don't hardcode any drivers for the xlib winsys, just pick suitable ones.
+
+commit 86099bcd9cbd08e585dd3d70e7d577eef42464be
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Oct 23 10:26:19 2008 +0200
+
+ gallium: Fix typo, PPC_FEATURE_HAS_ALTIVEC not PPC_FEATURES_...
+
+commit 0ac99457811eb766e9bdd3903857b5c0fdef7694
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 22 17:29:37 2008 -0600
+
+ gallium: PPC: clamp y to [-128,128] for LIT
+
+commit f8ab4feb75f4a592e23859813c093dcdbd4b8988
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 22 17:21:43 2008 -0600
+
+ gallium: remove ppc_vload_float(), rename ppc_vecmove() -> ppc_vmove().
+
+commit abbbe876ac98596b143da295abf6887e0a4e50d2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 22 17:19:12 2008 -0600
+
+ gallium: new PPC built-in constants array
+
+ It's hard to form PPC vector immediates so load them from an array.
+
+commit 3026616c48487a7561d8545c08950539f0ad51d1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 22 17:17:11 2008 -0600
+
+ gallium: added ppc_vzero()
+
+commit ae81aeb12868db219cbdc02437c481714cfed3f5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 22 16:58:05 2008 -0600
+
+ gallium: GALLIUM_NOPPC debug var to disable PPC codegen
+
+commit 9e3ee82305b4602feca0253dc0e0c27f9bc9b05e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 22 16:57:22 2008 -0600
+
+ gallium: PPC LIT instruction (not quite complete yet)
+
+commit 77160cd97b7f2181b7953bcc8d13e86055b819e3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 22 15:34:16 2008 -0600
+
+ gallium: var renaming in tgsi_ppc.c
+
+commit 519c2dbed57b3c5e1717a62df5d5f8b908a1acd6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 22 15:30:00 2008 -0600
+
+ gallium: remove SSE remnants from tgsi_ppc.c
+
+commit 7b1d08738f30d0fec2f07568b16e08c4fdddeeac
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 22 15:25:04 2008 -0600
+
+ cell: turn on PPC assembly vertex transform
+
+ gears runs with it now (3x faster FPS than before).
+
+commit c6ff870836e7c970f1030e9e0fbdd0cb5df40d29
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 22 15:21:22 2008 -0600
+
+ cell: TGSI->PPC for RSQ, RCP and src register sign modes
+
+commit 51840065607337210fbba5ba1c01874293fbb42e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 22 14:48:58 2008 -0600
+
+ gallium: TGSI->PPC inequality operators
+
+commit b06d0720194dfecaf45dc97cbd178411aed5205f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 22 14:48:33 2008 -0600
+
+ gallium: added ppc_vload_float(), for limited cases
+
+commit da63edd720fc154820fcbf699e1056ac9357a03f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 22 13:59:11 2008 -0600
+
+ gallium: fix broken TGSI_FILE_CONSTANT case, use ppc_reserver_register()
+
+commit ebdc399d83d6bd2f4e3594874483dbca5f9f5c0e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 22 13:57:56 2008 -0600
+
+ gallium: fix-up confusing register allocation masks in rtasm_ppc.c
+
+ Plus, add ppc_reserve_register() func.
+
+commit 82477e485de8f18b24353bbf7e6ed03edca59edc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 22 11:13:55 2008 -0600
+
+ cell: add -std=c99 flag to solve some warning/prototype issues
+
+commit ba4faef7c07c47ad4f71f3e6ba94cb54217c56ed
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 22 11:13:31 2008 -0600
+
+ gallium: temporarily disable PPC vertex shader until more things run
+
+commit b7da4c3dc199ee382bb9924ac86a3485deccc62d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 22 11:08:45 2008 -0600
+
+ gallium: PPC vertex shader support
+
+ Works, but dead code lingering, debug code present, etc.
+
+commit 70f4ad44985e3ec6dabc1b0e55a5bf85803a4cd4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 22 11:07:35 2008 -0600
+
+ gallium: TGSI to PPC code generation
+
+ Based on the TGSIto SSE2 code generator.
+ Incomplete and lots of SSE stuff still hanging around but the basic dozen
+ or so TGSI opcodes are functioning.
+
+commit 049f57f86a2cb8ff08fba819c581a034ca7ea52c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 22 11:06:39 2008 -0600
+
+ gallium: added ppc_lvewx()
+
+commit 3aea9c463b7c6b5ba63796ee84f65870662b6567
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 22 11:04:29 2008 -0600
+
+ cell: include pthread.h
+
+commit e0c6653a5fda956119239ef921daf1e3b950dfc8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 22 10:35:38 2008 -0600
+
+ cell: implement many more PPC instructions for code gen
+
+commit 70dd4379d2cd54f229c3940312537912470218d3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 22 10:34:13 2008 -0600
+
+ cell: implement fencing for texture buffers
+
+ If we delete a texture, we need to keep the underlying tiled data buffer
+ around until any rendering that references it has completed.
+ Keep a list of buffers referenced by a rendering batch. Unref/free them when
+ the associated batch's fence is executed/signalled.
+
+commit 0ae4728eb429d7b5217d34ec96fc973a5e7cfe95
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 22 10:30:12 2008 -0600
+
+ cell: set cell->num_textures
+
+commit 0c1e98d9598bb5a30224583bdf211a1352b96d44
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 22 08:12:42 2008 -0600
+
+ cell: note that dst reg writing needs clamping
+
+commit 95c04cccfef2e5743279e1f5a6a13f3925c7024c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 22 07:53:26 2008 -0600
+
+ mesa: move convolution image adjustment code for glCopyTexSubImage1/2/3D()
+
+ Do it after initial error checking, after we know the texture's internal format.
+
+commit 9dfd54fa83f9d2266ee637721365f8922deb17fc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 22 07:48:37 2008 -0600
+
+ mesa: some re-org of glCopyTexSubImage1/2/3D() error checking
+
+commit 22e442544bc451f114288f07cf9cc1584ca357a1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 22 07:36:33 2008 -0600
+
+ mesa: in textore.c, only adjust image for convolution if image is a color format
+
+ Makes things consistant with the code in teximage.c.
+ We only want to apply convolution to color formats (not depth/index formats)
+
+commit 7004582c1894ede839c44e292b413fe4916d7e9e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 21 14:12:17 2008 -0600
+
+ gallium: implement tests for PPC/PPC64
+
+commit 3a2a2d5332b4912dd7c3d3d891920bdc419fbde0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 21 14:10:09 2008 -0600
+
+ gallium: remove unused var
+
+commit 0970de31718288e5f2d655147d067ab2e2df5e37
+Author: Kristof Ralovich <kristof.ralovich@gmail.com>
+Date: Tue Oct 21 08:20:24 2008 -0600
+
+ glx: updated comment
+
+commit b4bf9acc32ac8693b1fdf80f351523a468ba6bd1
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Tue Oct 21 10:30:39 2008 +0800
+
+ i915: fix carsh in i830_emit_state. (bug #17766)
+
+commit 2278107b2498d18d840e392dddd59bc8e5c47ec0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 20 17:43:05 2008 -0600
+
+ mesa: more test options in progs/demos/textures.c
+
+commit abfc32a68cbf95a7951b1b9fc18a9af7c524b69e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 20 15:44:22 2008 -0600
+
+ cell: minor improvements to batch buffer functions
+
+commit 6cec79dc4fc8f6ebde3e4c90ac56fa8022f2d4aa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 20 09:35:18 2008 -0600
+
+ cell: temporarily disable freeing of tiled texture memory
+
+ Allows glDrawPixels to work for now...
+
+commit 97e63437dc216c7fdb25220655ecbf26042cfec8
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Oct 20 13:03:45 2008 +0100
+
+ mesa: note that texcoords are generated by setup routines when pointsprite enabled
+
+commit 6c6c2f1d23b02491c60e0cbce6815b468ff14c08
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 18 09:55:54 2008 -0600
+
+ gallium: add some checks for null surface pointers in state tracker
+
+ Fixes some segfaults in low memory situations.
+
+commit 3354e668f0d4eb7ad1d92607031c1fc2e785e8d1
+Author: Younes Manton <younes.m@gmail.com>
+Date: Fri Oct 17 17:20:03 2008 -0400
+
+ g3dvl: Get rid of state tracker unit tests, stale and not useful atm.
+
+commit e52630e296807282592a50a3a4c7a9b50a56adb0
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sat Oct 4 15:38:12 2008 -0400
+
+ g3dvl: Bad test, use proper picture height.
+
+commit 81724da4f61f2ba678e2e0376209e1b754e1ecab
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 17 09:09:57 2008 -0600
+
+ cell: use an approximation in compute_lambda_2d() to avoid sqrt
+
+ Though, the logf() call still needs attention.
+
+commit 9fa8671c73fa44a95e2ea7fed6047bddb042796f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 16 20:25:28 2008 -0600
+
+ cell: add new debug flag (cache) to report texture cache stats on exit
+
+commit cb8ebc912430201683463822897f06d7d42795f2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 16 16:51:23 2008 -0600
+
+ cell: more efficient state emit for textures/samplers
+
+commit fa7b8388066651c5cfafd4ce6461fc43c982d8c7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 16 15:48:04 2008 -0600
+
+ cell: use 7-bit weights in sample_texture_2d_bilinear_int()
+
+ This allows us to use 16-bit signed mul/add instructions. Had to
+ used unsigned mul before and there's no unsigned mul/add instruction.
+
+commit 87a6fe57e85ea5f273e808211a0e61d2b837b8e2
+Merge: b50a0b8 d422c1e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 17 14:13:00 2008 -0600
+
+ Merge commit 'origin/gallium-0.1' into gallium-0.2
+
+ Conflicts:
+
+ progs/trivial/tri.c
+
+commit d422c1eb5c0fac8f946758ecce96072505c77683
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 17 13:37:11 2008 -0600
+
+ mesa: redraw upon keypress in trivial/tri.c
+
+commit 8d6ef125ac6044438db5b89d6d310ccfc4b8140a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 17 13:35:42 2008 -0600
+
+ gallium: fix mis-matched malloc/free vs. aligned malloc/free
+
+ Use aligned malloc/free for teximage data everywhere to be consistant.
+ The mismatch didn't make any difference when HAVE_POSIX_MEMALIGN was defined.
+
+commit b50a0b89d946cac3c18a84c3a77cc8dcf96eeec7
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Oct 16 23:41:13 2008 +0100
+
+ build "GLX" egl driver by default and egl demos
+
+commit 893ea47e44279a29a2aa58eaaa8a757043d717aa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 16 14:21:17 2008 -0600
+
+ glxswapcontrol: added -fullscreen option
+
+commit 9a84d78c182fd66168bd474283c1afd803c8a27f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 16 14:16:41 2008 -0600
+
+ glxgears: for fullscreen, disable window borders the right way
+
+commit 51ffab362b27997f9c6c60bf9bace1b1854817db
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 16 13:54:17 2008 -0600
+
+ cell: pass spu_texture_level ptr to get_four_texels()
+
+commit 033c90f4c16c1da517d676282508208319bd5ec5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 16 13:49:42 2008 -0600
+
+ cell: implement KIL instruction
+
+commit 8bff2fccc9774e3f3af3c0f8ea345037051cf40e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 16 11:48:05 2008 -0600
+
+ cell: CELL_NUM_SPUS env var
+
+commit 5191429b15a3e7a7ef7cda499de8074c2c0df94f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 16 11:19:22 2008 -0600
+
+ cell: trilinear mipmap interpolation
+
+commit f0c70f9aabcb8e7c57c71eac2bd4dc86a2f86a0e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 16 09:52:02 2008 -0600
+
+ cell: update comments
+
+commit 1da8f9b005a197214532e124c764a4e04e835519
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 16 09:33:45 2008 -0600
+
+ cell: call proper sampler function in sample_texture_cube()
+
+commit 926b8dbb3e86360e5968882df94785ae84d0ad43
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 16 09:00:05 2008 -0600
+
+ cell: clean up various texture-related things
+
+ Distinguish among texture targets in codegen.
+ progs/demos/cubemap.c runs correctly now too.
+
+commit 73e119363216b75243dce170f8afd5c2f9bfce50
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Thu Oct 16 16:23:47 2008 +0200
+
+ fix span issue with really old ddx and non-tcl r100 chips
+
+commit a7b24ac02f80efd83e93b4597a2c0e5a6ba198fe
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 16 08:23:28 2008 -0600
+
+ mesa: fix error codes in _mesa_GetObjectParameterivARB(), bug 17861
+
+commit 0116ee1d1c341726b6ed23c2dddc4515e8a34385
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 15 20:46:43 2008 -0600
+
+ cell: start some performance measurements
+
+ Use the spu_write_decrementer() and spu_read_decrementer() functions to
+ measure time. Convert to milliseconds according to the system timebase value.
+
+commit 1c915b14a545ffb10cc1c98cc69f997b6471617f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 15 19:40:51 2008 -0600
+
+ cell: updated debug code
+
+commit 5ecb4f969403c80e9a5e1e94070ec52f99823909
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 15 15:46:53 2008 -0600
+
+ cell: updated status in docs/cell.html
+
+commit 224c19a758466cdfb821e1a40db4928311278e90
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 15 15:34:02 2008 -0600
+
+ cell: get rid of last usage of float4 union/typedef
+
+ Results in slightly tighter code.
+
+commit 30d3b581124a9fa5fbc7aa8404f717c5c2a6ab15
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 15 15:20:09 2008 -0600
+
+ cell: simplify triangle front/back face determination
+
+commit ec7d6c656178babdf143faa242f7a3df9d0bc22c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 15 14:39:16 2008 -0600
+
+ cell: send rasterizer state to SPUs in proper way, remove front_winding hack
+
+commit 8bf105997748ba268eb65b39461e379fe6642c5a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 15 14:26:08 2008 -0600
+
+ cell: query # cells too
+
+commit 8bcbefb370ef8d0a6751636a28cd12b3e9cde7dc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 15 14:20:10 2008 -0600
+
+ cell: query number SPUs with spe_cpu_info_get()
+
+commit 67f615681c569264eab1bc901473c86cfc54e480
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 15 14:18:51 2008 -0600
+
+ cell: use CELL_MAX_SPUS consistently.
+
+commit 0eb0b0a816764a323af7a8d2b5cb6792f886ce04
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 15 14:12:55 2008 -0600
+
+ cell: remove some old, pre-batchbuffer stuff
+
+commit 79e96b3a77f7d5c7136b380abcc675c7242d0ffe
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 15 13:58:58 2008 -0600
+
+ cell: move some CELL_MAX constants
+
+commit 708f046c215d070e82f40eee895a8d312b1a64c7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 15 13:56:00 2008 -0600
+
+ cell: remove obsolete spu_debug.h file
+
+commit ddeec1ed10d6c12403fe8d30c072ea68f044db99
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 15 13:55:18 2008 -0600
+
+ cell: simplify spu debug code
+
+commit 53951531ae7bfd64afae1ae55aac7f6ebd3fe4f5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 15 12:35:51 2008 -0600
+
+ cell: propogate blend color to SPUs for the fallback fragment ops code
+
+commit 5f76a77b319b4b66001dea4bcfccd0484aed82f5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 15 11:59:34 2008 -0600
+
+ gallium: fix the shader-rebind test in softpipe, as was done for the draw module.
+
+commit 05a8f203cdea768466e5faf1dec4155e1e945c78
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 15 11:56:57 2008 -0600
+
+ gallium: fix the test in vs_exec_prepare() to avoid redundant bindings
+
+ Fixes regressions seen in progs/samples/prim.c, progs/demos/ray.c
+
+commit a7f06dae20c173a0edbb1d310b5f6b06068a61b0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 15 10:37:49 2008 -0600
+
+ gallium: temporariliy revert softpipe shader optimization
+
+commit 9382a7100fd6de6e615dc661ed813bf43e24ec15
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 15 10:54:36 2008 -0600
+
+ cell: updated vertex dump/debug code
+
+commit f60c756ed14f25731ff2a52d6b695ceb5b7a6f6b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 15 10:54:06 2008 -0600
+
+ cell: additional debug
+
+commit 4e506f422a13b20fcc95edb6c7048a9de6e32efa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 15 10:53:48 2008 -0600
+
+ cell: fix/add some fallback blend cases
+
+commit abcd28b0b3fb77d3f99da957faa94e21ed54cae6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 15 10:43:53 2008 -0600
+
+ cell: need to flush draw module when constants change
+
+commit b261ed1f613dc8c13c69d8770afd6cb9ebec3cca
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 15 10:23:14 2008 -0600
+
+ mesa: revert accidental change to fslight.c demo
+
+commit 13f46fa1b9c3009395a0d7f30ebef127f5937451
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Oct 7 16:44:24 2008 +0100
+
+ draw: don't assume output buffer pointer is aligned
+ (cherry picked from commit 23cc303994eb630c56b1224dfdac51dcea41ed03)
+
+commit cf85e413ad7672c1cef73215222ca1caa8e48b30
+Merge: d533a5d 055d986
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Oct 15 17:20:30 2008 +0100
+
+ Merge commit 'origin/gallium-0.1' into gallium-0.2
+
+ Conflicts:
+
+ src/mesa/main/context.c
+
+commit d533a5d00ae2d0669e9da41718ee847de0c343aa
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Sat Oct 11 20:41:14 2008 -0400
+
+ Update DRI2 implementation according to new specification.
+
+commit e5ef0beb0549b2b613c379553cc51f9f1ae72299
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Tue Oct 14 23:07:42 2008 -0400
+
+ Revert pointless reindents to avoid merge conflicts.
+
+ Why are we reindenting code that's work in progress...
+
+commit 5f6472fc695ae6d0dfd87f71312e98a5395fd8a5
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 15:14:33 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs glxclient.h
+
+commit 5e3edb6f98448d2049c13eeecc17c13fe36305de
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 15:13:21 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs glcontextmodes.h
+
+commit 00be6dfe2ba54008fb8a311aa7523ee012181dcc
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 15:10:59 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs glxextensions.c
+
+commit c6d037678dd701e006a03fa1eb0b423a5bcac52a
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 15:07:23 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs glxextensions.h
+
+commit 1bb4658fab67c92a350096d8fa83bac9fee6cb5a
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 15:04:31 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs xfont.c
+
+commit b57e9f2a74dc5489577c38a677d0f9a1f841e489
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 15:03:54 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs xf86dristr.h
+
+commit 400c2d0ceada2b570a42fa42152eac0147943c18
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 15:03:13 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs XF86dri.c
+
+commit b69ef3eb51ae1997171a70352780aaab2affa1b7
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 15:02:55 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs xf86dri.h
+
+commit f7ff9f191308f1ec461ce0ac76870be913d3771c
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:58:33 2008 +0200
+
+ glx: kill old K&R syntax in XF86dri.c
+
+commit dd8b90a81b91a241a240f377918f5e24ffe04033
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:41:33 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs vertarr.c
+
+commit 801933c3e46a7872aa22edfa0372361f9b748d3a
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:37:06 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs singlepix.c
+
+commit ee88fff4323506772be65e0febc457e2c8543235
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:35:18 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs single2.c
+
+commit 750f497713cb560ffed36ebb5d17ea5445db049c
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:34:43 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs renderpix.c
+
+commit 5b48c862c6a42ee9bc1fd6be11c688d692d1674b
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:34:18 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs render2.c
+
+commit 3c900bd546044dce51df5751f4f03078d1d25595
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:33:28 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs pixelstore.c
+
+commit 32d7d5fbae9f5b45e8a7d5b2fdf1cac7906b34e5
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:32:52 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs pixel.c
+
+commit 1b2f1227394986f2d1831ab691d9f014b3a44fd6
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:31:49 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs packsingle.h
+
+commit 3a2568b375b3f906ab081cfc53038271f8386c28
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:29:23 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs packrender.h
+
+commit b5f7c84cdfe0ce9fb56559062875de8303c61856
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:27:46 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs indirect_window_pos.c
+
+commit f9fa7400d796a63eda2ffdb8a6e4b27ff8f54794
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:27:07 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs indirect_vertex_program.c
+
+commit 76ddfa3a4c3b1fa743a53855e798dd8df4382938
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:25:55 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs indirect_vertex_array_priv.h
+
+commit c09881c79fa11352d008779d632973608d9164ed
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:21:17 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs indirect_vertex_array.h
+
+commit f2d45617ddf54355ea2992eb5cd1c5cb82f12496
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:20:15 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs indirect_vertex_array.c
+
+commit 5ae395a8839dbfa5151b837303957f8438d45444
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:19:24 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs indirect_transpose_matrix.c
+
+commit 4cc369e820b07fc3a57f3bb19af7cdd679476533
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:18:18 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs indirect_texture_compression.c
+
+commit 5a3db8004e44369accd99c9d761105af4033bd6c
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:12:40 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs glx_query.c
+
+commit 35dc7eadfafbf04e39dd8e54fa81b3d2eb46250b
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:12:02 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs glx_pbuffer.c
+
+commit 3dd46f15c38816191a20e78706c6a530a865e924
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:10:16 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs glxhash.c
+
+commit b87e8ae0f55ccb268aa4e8bdd697aeba9f235b91
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:10:06 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs glxhash.h
+
+commit b7f76587b80b305bc91ddb1cb9661dbfc5247750
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:08:45 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs glxext.c
+
+commit 3959d457d6b614c29396b081b246bd52752aac80
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:07:07 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs glxcurrent.c
+
+commit c6ea9971377b8d2205a880b5ce6d2f650983e5fb
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:06:30 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs glxcmds.c
+
+commit b928a12ee3760c73ebfe4ae6656ee1f12b042372
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 13:49:49 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs glcontextmodes.c
+
+commit 7f04f8ddee7d270e7596a145e423df0068875829
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 13:48:07 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs eval.c
+
+commit a1a2078f7107acd83e7ef747aa763617ddc547eb
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 13:47:37 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs drisw_glx.c
+
+commit 79d830ce5dfac73762e7daa6864206703d721390
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 13:40:09 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs dri_glx.c
+
+commit e7970d6b17966e54f25929ee5fae3ddd2e646c4a
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 13:26:09 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs dri_common.h
+
+commit 321a73d9d5744e3ce57a90a6452407e75b7d7d08
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 13:25:28 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs dri_common.c
+
+commit 9ca7330be399fb627a95b215c71e91329dc04dcf
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 13:18:41 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs dri2.h
+
+commit ae5b588dc9de85de2253a947e07ba230a991d0d5
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 13:17:32 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs dri2_glx.c
+
+commit 0965740c4991b4417adc5acad5ba9e9dc50b0844
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 13:16:28 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs dri2.c
+
+commit 7d16aaadf17343231505a7673e8c51aea7b726e8
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 13:12:37 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs compsize.c
+
+commit 109f3f709f29d1e817e299d460822580714cbbf7
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 13:11:30 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs clientattrib.c
+
+commit 696bf66fa9c7173067969ddf034f4f1ebf403b85
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Sat Oct 11 14:27:07 2008 +0200
+
+ glx: add a line of Emacs helping variables
+
+commit 4f31200a33f48445d3c628a46cb790d901391ef0
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Sat Oct 11 13:09:50 2008 +0200
+
+ glx: No need to zero a local variable.
+
+ My previous commit e2060348630b59a446bac7f734fdde40033093ab introduced this.
+
+commit b4bb29cecd1dcee1f92d77bd462069fda71fe039
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Sat Oct 11 12:56:32 2008 +0200
+
+ glx: make INIT_MESA_SPARC more robust
+
+ Embed the macro body into do { ... } while(0) .
+
+commit b3cb405252ebb009119e5d464aa6e7cd4d845705
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Mon Oct 13 13:04:04 2008 +0800
+
+ i915: Texture instructions use r/t/oC/oD register as texture coordinate.
+
+ Fix http://bugs.freedesktop.org/show_bug.cgi?id=16287.
+
+commit 90e4e4117e2e7dbbe4093b3ad8494f072940fbbe
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Sep 25 19:11:03 2008 -0700
+
+ intel: Add acceleration for glDrawPixels(GL_STENCIL_INDEX).
+
+ This is nasty because there's no way in GL to output data to the stencil
+ buffer directly, so we have to do a dance to wrap the depth/stencil buffer
+ in an ARGB renderbuffer.
+
+ Improves performance of several oglconform testcases by better than a factor
+ of 2.
+
+commit 4830809524b20e517e949151957512b14d7e679a
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Sat Oct 11 20:41:14 2008 -0400
+
+ Update DRI2 implementation according to new specification.
+
+commit 77c7f90ed44748f0e54e894deff1cac63da54cd6
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Tue Oct 14 23:07:42 2008 -0400
+
+ Revert pointless reindents to avoid merge conflicts.
+
+ Why are we reindenting code that's work in progress...
+
+commit 295d6f8e8f03192320aa8d4ed767427dd06071a5
+Merge: 2882a2d 41ccdde
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Oct 15 13:21:11 2008 +1100
+
+ Merge remote branch 'origin/gallium-0.2' into gallium-0.2
+
+commit 41ccdde767e7aba6e8e6a9a035eacd6338c03a95
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 14 17:22:40 2008 -0600
+
+ cell: initial bits for 3D texture support
+
+commit 6c017c2c3c3649650cd0dc89a3b4946eab0e5a8c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 14 17:22:06 2008 -0600
+
+ cell: replace FREE() with align_free()
+
+commit e42a394ed5ca00a9d0a51a0c26d4fef9959ba43c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 14 17:19:57 2008 -0600
+
+ cell: fix incorrect parameter type
+
+commit 8f7c6b55ae962e30f32cfec9a14a652d3b5b5943
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 14 17:11:29 2008 -0600
+
+ cell: support for cubemaps
+
+ Though, progs/demos/cubemap.c doesn't quite work right...
+
+commit e0931e520a8d7cc5b4db8a4b887c5cf139b2647f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 14 17:09:56 2008 -0600
+
+ cell: fall-through case for TGSI_OPCODE_TXB
+
+commit 85dc1aec9c5fc63a01bb8db07215b84790d15d8f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 14 15:19:01 2008 -0600
+
+ cell: support NPOT textures, clamp/repeat mode, normalized/unorm texcoords
+
+ glDrawPixels works now.
+
+commit 38d396e15aceaca299c5de571c4dd5b3d9b27242
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 14 14:02:07 2008 -0600
+
+ cell: fix npot texture tiling bugs
+
+commit 4f56d5bbf2e52c815c820138eaad6c0fb93d47ba
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 14 12:52:16 2008 -0600
+
+ cell: fix broken negative texcoord conversion
+
+commit 6d2d5ceca21c87bea5e269e8099fb6f1d821b97a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 14 12:42:21 2008 -0600
+
+ cell: use minify vs magnify filters
+
+commit 58ea98dc68605130dda2538027f941df39ccd514
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 14 12:41:46 2008 -0600
+
+ cell: fix assertions
+
+commit f8bddf698d523f597fea0f721b064daee81d8005
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 14 12:11:52 2008 -0600
+
+ cell: basic mipmap filtering works now
+
+ Though, only GL_MIPMAP_NEAREST / GL_LINEAR works right now.
+
+commit 3baf83db3c60be8185bc68a0aa3adbce80d9025e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 14 12:10:27 2008 -0600
+
+ cell: fix tex image stride bugs
+
+commit 0bee156d8518419befb50ba57d22fed4037797ce
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 14 10:55:38 2008 -0600
+
+ cell: now do texture twiddling in the right way, at the right time.
+
+ Also handles images smaller than 32x32 now.
+
+commit b7609be0f1cc8d7a822a29a2ecc165cd848df2b3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 14 10:05:23 2008 -0600
+
+ cell: remove old code, clean-ups, etc.
+
+commit 055d986efefa310d6ffd1106e565ca2f5964159a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Oct 14 13:56:12 2008 +0100
+
+ trivial: more vp tests
+
+commit 5548a3072f73b8868746b640535c4774657dc306
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Oct 14 13:52:38 2008 +0100
+
+ vp: add simple vertex transform test
+
+commit 568e96b4533c5135f4d7f568a81cdfc0a6dcd7eb
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Oct 14 14:15:26 2008 +0100
+
+ mesa: modify fixed function vertex programs not to reference constant attributes
+
+commit 5d4f3b841753e16fbb33e444b6a787663e54fce5
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Tue Oct 14 11:54:20 2008 +0100
+
+ dri: don't check the number of cliprects before swap, let
+ the swap handle the requirements.
+
+commit fc562a7acd86bee4853d38961e29c8da3d56e548
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 13 20:19:51 2008 -0600
+
+ cell: more clean-up in spu_tri.c
+
+commit 5d7cc6176de09e683e5b40a69df250d1abfaf6f0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 13 19:50:20 2008 -0600
+
+ cell: remove dead code, clean-up, reformatting
+
+commit dee18a147d3adaf2578d27837c8f18c92d796c9d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 13 19:41:26 2008 -0600
+
+ cell: finish-up perspective-corrected interpolation
+
+commit 351de8aecc5d15bc0319e10043b136f887cbaeb2
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 15:14:33 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs glxclient.h
+
+commit 03b471d389e290ad983e86e7acf5f9644ea783eb
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 15:13:21 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs glcontextmodes.h
+
+commit 843a09cf5c6714a09b581248f974077bfb0b1ed3
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 15:10:59 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs glxextensions.c
+
+commit 80c83c97fc921bd32383ee784938d91b5fab7b1d
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 15:07:23 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs glxextensions.h
+
+commit 1d0a9e4377b89dffb201eb3cb76c7f72969675b3
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 15:04:31 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs xfont.c
+
+commit 4a3ccc6ca54d78dbc7e6737b80b63258081a12df
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 15:03:54 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs xf86dristr.h
+
+commit 4d2a381114353e061a6dfbcc1ac3881bb1c3e4c5
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 15:03:13 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs XF86dri.c
+
+commit 04a810beac01701b3cb79d5f1de3c93660bfb72e
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 15:02:55 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs xf86dri.h
+
+commit 4c4cb1b5d195a31345b05b1e0a5b0b668b4a408f
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:58:33 2008 +0200
+
+ glx: kill old K&R syntax in XF86dri.c
+
+commit b9a2d3542934b4096e082435e2bc939e424930da
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:41:33 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs vertarr.c
+
+commit 64085b2c2ca20609255962a54c38753e976996a1
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:37:06 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs singlepix.c
+
+commit dd0edeb8875823c4357ddf53271d8e7035747a3d
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:35:18 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs single2.c
+
+commit 507808875de6fce4324b67ef88ae4e320df826d3
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:34:43 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs renderpix.c
+
+commit 6bfd57ecdebecccbde8bd46cf9a40845c1d2df15
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:34:18 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs render2.c
+
+commit 40c481dc915909531dbcba2ae775dd9025b1a27e
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:33:28 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs pixelstore.c
+
+commit 6581071c1d42f604bf46a8182c83d7b8635ba307
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:32:52 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs pixel.c
+
+commit cfe7f20d0ed8c772015dd639468f68c90c4b78c4
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:31:49 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs packsingle.h
+
+commit 0cff716e70e2194f4946f4faea5b24e97104f975
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:29:23 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs packrender.h
+
+commit 68583292b1e44aa96ae8d02e376a5d3b5196bd74
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:27:46 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs indirect_window_pos.c
+
+commit ccc03b427aabb35035be530055dd10f38dfd7c59
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:27:07 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs indirect_vertex_program.c
+
+commit 1c916736b88ff30d478d5ed1857c6ea5137af2a5
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:25:55 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs indirect_vertex_array_priv.h
+
+commit 9389aa3c0be58f08fe12545a85a89032b0064e01
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:21:17 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs indirect_vertex_array.h
+
+commit c868ab3dd1df44e4768f0bf98c07a674541a0a88
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:20:15 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs indirect_vertex_array.c
+
+commit 39df336635e0c756f73f6b0b58f1d811fabc6d13
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:19:24 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs indirect_transpose_matrix.c
+
+commit 64d1c10e6c471b81da383b9900d2fc98a7e873d0
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:18:18 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs indirect_texture_compression.c
+
+commit 6020e6e66aa0d27414b961eb6b4bba1643dfdef7
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:12:40 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs glx_query.c
+
+commit 2d4c26b85e39bcfb145976067f440a86bee4f02b
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:12:02 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs glx_pbuffer.c
+
+commit bd6a3d5975aed1fb764b8b76a04082843747abe1
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:10:16 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs glxhash.c
+
+commit 39c958944c467bc8f899beba0f944e01d5f00f9d
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:10:06 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs glxhash.h
+
+commit acb7e52430db423431e0d852597e5096de44c1c5
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:08:45 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs glxext.c
+
+commit 3a2d2fcd8ac51dbead6f91acdffd118c59a99efb
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:07:07 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs glxcurrent.c
+
+commit 1293356c6093576a371626f6ce372ed6f0f2744f
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 14:06:30 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs glxcmds.c
+
+commit 07c9bd246d7569e7841ba5b7838d441c8de205a9
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 13:49:49 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs glcontextmodes.c
+
+commit f76724b7672f688fc16622c88394a4a82e8bc660
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 13:48:07 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs eval.c
+
+commit 60aa0918a120a9f971cd1f1fca5ce84e2c2e8297
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 13:47:37 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs drisw_glx.c
+
+commit 4e88ae5639fc34255619d0ce4e85caf5dc3a2f18
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 13:40:09 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs dri_glx.c
+
+commit 09c889b31809acc2e76db770e6e9a5895c484f08
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 13:26:09 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs dri_common.h
+
+commit 4d862283212051f5433c32b23bd2a0201f36bc95
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 13:25:28 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs dri_common.c
+
+commit 2e8d62be613a180dc2d5693ef948e47f7bd85620
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 13:18:41 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs dri2.h
+
+commit bca6e79a4520beb928c7ea6211aefab07f708a15
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 13:17:32 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs dri2_glx.c
+
+commit 66cc150770e1d817724757e8b7b6cd738be7d20b
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 13:16:28 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs dri2.c
+
+commit f788a8ed69f2389dfd8a63a888357887a4f8cdc4
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 13:12:37 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs compsize.c
+
+commit ee3a6cec360799f8b271a869311b0e9bc3baa5d5
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Mon Oct 13 13:11:30 2008 +0200
+
+ glx: indent -br -i3 -npcs --no-tabs clientattrib.c
+
+commit 58b72103d3837fa9245120e17bd4d7083a93f288
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Sat Oct 11 14:27:07 2008 +0200
+
+ glx: add a line of Emacs helping variables
+
+commit 61eb4f50eb6eb40dfc97d639be0f7a21881aba29
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Sat Oct 11 13:09:50 2008 +0200
+
+ glx: No need to zero a local variable.
+
+ My previous commit e2060348630b59a446bac7f734fdde40033093ab introduced this.
+
+commit 0b188d1cdc254179f5b4e8380d4a44157c4e09c0
+Author: RALOVICH, Kristóf <tade60@freemail.hu>
+Date: Sat Oct 11 12:56:32 2008 +0200
+
+ glx: make INIT_MESA_SPARC more robust
+
+ Embed the macro body into do { ... } while(0) .
+
+commit 978799beb2a9c51550abb1f37bb6f63d06bc4717
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 13 16:43:11 2008 -0600
+
+ cell: initial work for mipmap texture filtering
+
+commit b0c136cfb1fcbcea35e17dc699a96acbb24738f5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 13 15:17:01 2008 -0600
+
+ cell: remove old texture-related fields
+
+commit c05cabd646f1c7384b5187e3427064096aef4673
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 13 14:31:11 2008 -0600
+
+ cell: use fewer memory references in sample_texture4_bilinear_2()
+
+commit 420e8cdf25501dd82e1c178e6300d7b416798e25
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 13 14:10:36 2008 -0600
+
+ cell: remove more old texture code
+
+commit 67425aaa09df9cab76d7cc5c66e9e4595f0ccf40
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 13 14:09:54 2008 -0600
+
+ cell: bilinear texture filtering using integer arithmetic
+
+ Fewer float/int conversions involved.
+
+commit c8fb3682619ea49c5fefdf8b88cdb95eac7478ff
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 13 11:16:04 2008 -0600
+
+ cell: remove old texture code
+
+commit 3b07c28dee74c7aa3be5efac8084d610675af291
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 13 10:55:08 2008 -0600
+
+ cell: do texture sampling/filtering for four pixels at a time.
+
+commit 734685549ca7dbee78845fdef1d65aceaa729845
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 13 10:54:11 2008 -0600
+
+ cell: added spu_unpack_A8R8G8B8_transpose4()
+
+ Plus, clearer shuffle masks in other funcs.
+
+commit 5bc8ebb12be99ac769a0f2ad1f77a16ebb2bf41f
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Mon Oct 13 12:30:40 2008 +0100
+
+ mesa: when emitting an address load instruction, for
+ indexed elements ensure we write to a single register.
+
+commit c238098bbcfb644ea01b33d3274b949d84822512
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Mon Oct 13 13:04:04 2008 +0800
+
+ i915: Texture instructions use r/t/oC/oD register as texture coordinate.
+
+ Fix http://bugs.freedesktop.org/show_bug.cgi?id=16287.
+
+commit 5c39bad220c801490ac3d99af01d4c4a7e05dfd6
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Sep 25 19:11:03 2008 -0700
+
+ intel: Add acceleration for glDrawPixels(GL_STENCIL_INDEX).
+
+ This is nasty because there's no way in GL to output data to the stencil
+ buffer directly, so we have to do a dance to wrap the depth/stencil buffer
+ in an ARGB renderbuffer.
+
+ Improves performance of several oglconform testcases by better than a factor
+ of 2.
+
+commit ecac7996d4c5a1e492ce97c5f5cac885941fc711
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 10 17:48:16 2008 -0600
+
+ cell: more instruction scheduling optimizations (MIN/MAX/LERP/etc)
+
+ Also, optimize register->memory stores.
+
+commit 2a6c6fe01e84ffd54b47ea11aa766960df6ddcaf
+Merge: 01e312a 2474826
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 10 16:40:16 2008 -0600
+
+ Merge commit 'origin/master' into gallium-0.2
+
+commit 01e312a73b68dc5ddffca0d1b1472fc5dcb6f59e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 10 16:36:40 2008 -0600
+
+ cell: pass texture unit (sampler number) to txp() function
+
+ The glsl/multitex demo runs now.
+
+commit 33ff407874d6fed998b1f01dab68a2b4f1df988a
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Fri Oct 10 11:47:43 2008 -0700
+
+ intel: GLSL 1.20 is broken in Mesa, so disable it in the i965 driver
+
+commit c011a9ca8c83f27eb2c9198f9b4a95ccbf9accf9
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Oct 10 09:43:15 2008 -0700
+
+ i965: Add missing intel_pixel_draw.c symlink to fix build.
+
+commit 24748268a3ac7bedc2c9ae5bf76c4c741d539f80
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 10 16:30:43 2008 -0600
+
+ mesa: fix asst. issues in _mesa_texstore_argb8888()
+
+ If we shift bytes into the texel word (or use the PACK_COLOR_8888 macro),
+ we don't have to worry about big vs. little endian. See comments about
+ texel formats in texformat.h.
+ Remove an unneeded/incorrect else-if clause that produced wrong results
+ on big-endian systems.
+
+commit bf9d9a9d01b7697f4a30305cb9574430cba351fa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 10 16:30:18 2008 -0600
+
+ mesa: include needed header
+
+commit f863ae1a040c358728d8608531ae3eb695f3af9e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 10 16:29:54 2008 -0600
+
+ mesa: remove unneeded includes
+
+commit 85a3bf6dabc8b2d545dab078516fdfee9c4cd792
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 10 16:26:15 2008 -0600
+
+ mesa: fix error codes in _mesa_GetObjectParameterivARB(), bug 17861
+
+commit 3210a6d6c7e3d5660d31f6c736e0d0f7e34bcf6d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 10 16:23:31 2008 -0600
+
+ mesa: rename macro params to emphasize that there's no particular color ordering
+
+commit f63594bfef883fa9e15ab7f3f69affe4901353aa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 10 16:21:52 2008 -0600
+
+ mesa: remove unneeded includes
+
+commit d3403b5482ee1c0faa0f42b8782ee3093a2f7b5e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 10 14:57:57 2008 -0600
+
+ cell: add emit_RI10s() which does range checking on the 10-bit signed immediate field
+
+ This type of checking should be expanded to cover more instructions...
+
+commit f42ef6f39d213b4c6315ba95791c16ca2b1a4b21
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 10 14:44:52 2008 -0600
+
+ cell: additional 'offset' checking in spe_lqd(), spe_stqd()
+
+commit 78c67a726fff052abeb03417283504a5dd521665
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 10 14:35:56 2008 -0600
+
+ cell: fix assertions in spe_lqd(), spe_stqd()
+
+commit 53ae243869a9e1ff0f2b1c559ec51adff867b970
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 10 14:34:43 2008 -0600
+
+ cell: fix function prologue/epilogue code for large stack frames
+
+ The ai instruction is limited to a 10-bit signed immediate value.
+
+commit adeed0f90fdd46ea139d5c4b3b75d5dc79b2a0c7
+Author: Robert Ellison <papillo@tungstengraphics.com>
+Date: Fri Oct 10 14:13:13 2008 -0600
+
+ CELL: fixing stencil bugs
+
+ These are the defects found and fixed so far. Several more have
+ been observed; I'm working on them.
+
+ - Fixed an error in spe_load_uint() that caused incorrect values to be
+ loaded if the given unsigned value had the low 18 bits as 0,
+ and that caused inefficient code to be emitted if the given value
+ had the high 14 bits as 0.
+
+ - Fixed a problem in stencil code generation where optional registers
+ weren't tracked correctly.
+
+ - Fixed a problem that the stencil function NEVER was acting as ALWAYS.
+
+ - Fixed several problems that could occur if stenciling were enabled but
+ depth was disabled.
+
+ - Fixed a problem with two-sided stencil writemask handling that could
+ cause a stencil writemask to not be applied.
+
+ - Fixed several state permutations that were incorrectly flagged as
+ not requiring stencil values to be calculated.
+
+commit 6d4d51d647c27288aa625560bc080231099c0b01
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 10 13:39:14 2008 -0600
+
+ mesa: new _mesa_set_vp_override() function for driver-override of vertex program
+
+ Patch provide by Keith.
+ Used in state tracker by DrawPixels to indicate that the state tracker (driver)
+ is using its own vertex program. This prevents the texenvprogram code from
+ replacing conventional shader inputs with state vars.
+ Fixes glDraw/CopyPixels regressions.
+
+commit e7002694418cd0decb1cd0d9121f634480e5f0d6
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Fri Oct 10 11:47:43 2008 -0700
+
+ intel: GLSL 1.20 is broken in Mesa, so disable it in the i965 driver
+
+commit 02931db3117cd064175a07412b860e8051d9ed58
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 10 12:38:27 2008 -0600
+
+ cell: call cell_flush_int() at end of cell_create_context()
+
+ Ensures that SPUs are initialized/ready before proceeding.
+ This fixes a spurious assertion failure when the SPU-side shader function info
+ hasn't been returned to the PPU before shader codegen.
+
+commit a13f61d34d40475a6f12fb8696b6e7d58aaa78b7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 10 12:24:39 2008 -0600
+
+ cell: fix LERP when dst reg is a src reg
+
+ Also, bump up frame size and fix some assertions.
+
+commit b3a68b24bd601a4fcffb701bbd73864ed92a05e1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 10 12:04:49 2008 -0600
+
+ replace 1.0/sqrt() with inversesqrt()
+
+commit a45d293fd9a1432404a7e26f97cb20b2a0c43654
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 10 12:04:19 2008 -0600
+
+ cell: fix fm/fs copy & paste bug from a few commits ago
+
+commit e43af05311acd979f43a75f8ba4d9152b453408e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 10 11:56:03 2008 -0600
+
+ cell: fix bug in emit_FLR() when src reg == dst reg
+
+commit dc7d213c54b046ec03ddb1fcfb0d9d9e905ffedc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 10 11:52:55 2008 -0600
+
+ cell: fix bug in emit_FRC() when src register == dst register.
+
+ With this fix, the glsl/brick demo runs.
+
+commit 5e9cb42aa662022c63563b4bc7f9e1d99f6d81ee
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Oct 10 09:43:15 2008 -0700
+
+ i965: Add missing intel_pixel_draw.c symlink to fix build.
+
+commit 086a56134f334505ca9cd6f57194280c1ebf44dc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 10 08:44:29 2008 -0600
+
+ cell: updates in response to draw's struct vertex_info changes
+
+commit 3a3801c1431203fc4dca24d56577995ae2e78956
+Merge: d7f1cb5 7216679
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Oct 10 15:26:28 2008 +0100
+
+ Merge commit 'origin/master' into gallium-0.2
+
+ Conflicts:
+
+ src/mesa/glapi/descrip.mms
+ src/mesa/shader/grammar/descrip.mms
+
+commit d7f1cb5b5a134b63227d5746a2dd1f05597c5c2f
+Merge: 7ac1fc7 f7556fd
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Oct 10 15:19:05 2008 +0100
+
+ Merge commit 'origin/gallium-0.1' into gallium-0.2
+
+ Conflicts:
+
+ src/gallium/auxiliary/gallivm/instructionssoa.cpp
+ src/gallium/auxiliary/gallivm/soabuiltins.c
+ src/gallium/auxiliary/rtasm/rtasm_x86sse.c
+ src/gallium/auxiliary/rtasm/rtasm_x86sse.h
+ src/mesa/main/texenvprogram.c
+ src/mesa/shader/arbprogparse.c
+ src/mesa/shader/prog_statevars.c
+ src/mesa/state_tracker/st_draw.c
+ src/mesa/vbo/vbo_exec_draw.c
+
+commit 7ac1fc77661faf0897507fef0437fe69d0ba53ac
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 9 19:54:46 2008 -0600
+
+ cell: fix incorrect bitmask in spe_load_uint()
+
+commit 02aea66b1ad7703f9c46e939eaa2d7aa91073c39
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 9 19:50:57 2008 -0600
+
+ mesa: toggle colormask values with r/g/b keys in tri-mask-tri.c
+
+ Plus misc clean-up.
+
+commit 583098e3cb602fd9810a7c65718155fd9b0b3fda
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 9 19:48:53 2008 -0600
+
+ cell: implement basic TXP instruction in fragment shaders
+
+ Lots of restrictions for now (one 2D texture, no mipmaps, etc.) for now
+ but basic texture demos work.
+ TEX, TXD, TXP do the same thing for the time being.
+
+commit f6e806a2b8c3e54ac694810616e79924dfd84826
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 9 19:45:03 2008 -0600
+
+ mesa: simple multiple textures test
+
+commit c201e357eb95f9b18b8d9b8a534ae2594a176904
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 9 10:56:25 2008 -0600
+
+ cell: better immediate value allocation, better comments
+
+commit b9689791ddd1030f7cd25af21701f56d89e0f3b0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 9 08:52:31 2008 -0600
+
+ cell: massage the emit functions to get better instruction scheduling
+
+commit 2a3fa97be3d10a6d4e36c6d232afb884efd69d55
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 9 08:24:03 2008 -0600
+
+ cell: more accurate comments
+
+commit ca5224945ae11d3c2e80fd39b7e08464d019bbdd
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Oct 10 01:31:34 2008 +0100
+
+ gallium: silence warning
+
+commit f7556fdd40ed2719beaba271eee4a7551e212ad1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 9 16:39:59 2008 -0600
+
+ mesa: rasterizer state depends on ST_NEW_VERTEX_PROGRAM
+
+ Check for per-vertex point size must be done when vertex program changes.
+
+commit db9de99925ee7d16ef2e99d41510e7231aa25366
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Thu Oct 9 23:32:01 2008 +0200
+
+ Gallivm: cleanup soa storage.
+
+commit 7216679c1998b49ff5b08e6b43f8d5779415bf54
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Oct 9 11:45:58 2008 -0700
+
+ i965: Accelerate depth textures with border color.
+
+ The fallback was introduced to fix bug #16697, but made the test it was
+ fixing run excessively long.
+
+commit 91221483a633d6230a4f8d2500ed180428754215
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Oct 9 10:23:47 2008 -0700
+
+ i965: Actually hook up the accelerated DrawPixels support.
+
+commit 9aec1288eeae8e87adc9a99f377be536892941b2
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Oct 8 23:34:38 2008 -0700
+
+ i915: Accelerate depth textures with border color.
+
+ The fallback was introduced to fix bug #16697, but made the test it was
+ fixing run excessively long.
+
+commit d48a92e88040470f93e2186f8eb23e4797a09860
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 8 20:44:32 2008 -0600
+
+ cell: implement function calls from shader code. fslight demo runs now.
+
+ Used for SIN, COS, EXP2, LOG2, POW instructions. TEX next.
+
+ Fixed some bugs in MIN, MAX, DP3, DP4, DPH instructions.
+
+ In rtasm code:
+ Special-case spe_lqd(), spe_stqd() functions so they take byte offsets but
+ low-order 4 bits are shifted out. This makes things consistant with SPU
+ assembly language conventions.
+ Added spe_get_registers_used() function.
+
+commit a4e477433f485a39b5de448d0a9cb6f4bf9bb90f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 8 20:34:35 2008 -0600
+
+ cell: implement more built-in shader functions, link spu code with -lm
+
+commit feb5a26bb1e39099abd1caf4a405776ea0124315
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 8 20:33:24 2008 -0600
+
+ cell: increase SPU_MAX_FRAGMENT_PROGRAM_INSTS
+
+commit 5c57cbec32136c25f104872179d979098be9a1a7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 8 16:35:40 2008 -0600
+
+ gallium: asst. clean-ups
+
+ Don't use register qualifier. Doxygen-ize comments. Remove 'extern'.
+
+commit 73d00b9e93a9e8a5fecb0de224552741e389fc11
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 8 16:33:04 2008 -0600
+
+ gallium: better instruction printing for SPE code
+
+commit 5c4bd76cb65245467d4ba04e893157055d738b2d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 8 14:02:24 2008 -0600
+
+ mesa: in _mesa_combine_programs() take new STATE_CURRENT_ATTRIB color into account
+
+ Commit 1680ef869625dc1fe9cf481b180382a34e0738e7 changed the texenv program
+ to get color from a state register instead of a constant-valued vertex
+ attribute. This broke program concatenation (so glDraw/CopyPixels broke).
+ Now check if the second program get's color from a constant register and
+ handle that case appropriately.
+
+commit a71b1af5ad7859d00f88b554ed3514561c245e0a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 8 09:33:27 2008 -0600
+
+ mesa: vertex emit debug code (disabled)
+
+commit 5462d447aa5bce9e558594eabeddd624cd39b1de
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 8 09:28:10 2008 -0600
+
+ mesa: fix vertex format/attribute bug
+
+ If the tnl output attributes matches the swsetup input attributes we still
+ need to check if the desired vertex color type (float vs. chan) has changed
+ so that we use the right emit functions.
+
+ Fixes a conformance failure found with logicop test at pathlevel 3.
+
+commit 902727b7e3eb3c2c9bcddf1d55d3c95c73377cf3
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Oct 7 18:47:31 2008 -0700
+
+ mesa: Pass the context to query object delete cb to avoid null dereference.
+
+commit c157cfc6376f7469ab272b18868183e5ff9ac754
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Oct 6 17:34:51 2008 -0700
+
+ i965: Add ARB_occlusion_query support.
+
+commit fc19536aa989ad61e95c281883d32860d767f8ef
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Oct 3 16:20:00 2008 -0700
+
+ intel: Push flushing for cliprects changes down into the cliprects changes.
+
+ This lets us short-circuit when we're leaving the same cliprects in place,
+ which becomes quite common with metaops clears, and may be useful for some of
+ our FBO paths.
+
+commit 94d3a30df759bb7c2724fdcee9e89a350d3a4d8b
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Wed Oct 8 09:30:12 2008 +0800
+
+ i965: Fix a potential assertion failure.
+
+commit 7cb723a3fd4d90ad6efa5f440e5e39f8aaa9f79c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 7 16:52:47 2008 -0600
+
+ mesa: pass 'mask', not NULL to renderbuffer->Put functions
+
+ Fixes bug 17800.
+
+commit b99c39ea7bf7ff3d6c0fe8599ce25a6b6bf154fd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 7 16:24:43 2008 -0600
+
+ mesa: use the shaderutil.c helper functions
+
+commit 800c350d71132bbb5126bd89310df540332978f4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 7 16:14:27 2008 -0600
+
+ cell: add support for fragment shader constant buffers
+
+commit ce416566bc71d2463785a834ffbe14fb5e9eae03
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 7 16:11:20 2008 -0600
+
+ cell: fix incorrect extended swizzle term code in get_src_reg()
+
+commit 3008657ceaec3f91386c767c51647729afe16b34
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 7 15:13:48 2008 -0600
+
+ cell: fix formatting
+
+commit e561058641ca39a676b219a056f889ad99240029
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 7 14:58:05 2008 -0600
+
+ cell: remove old code
+
+commit a0809c527105496f0dac234bee72d67abd2d2b17
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Tue Oct 7 23:43:21 2008 +0200
+
+ Gallivm: reorder the functions alphabetically so I can work on it.
+
+commit 8463ddb7401e313888497da30d05e5151db1a066
+Merge: 6f29c2f be3c070
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Tue Oct 7 23:42:48 2008 +0200
+
+ Merge branch 'gallium-0.2' of git+ssh://marcheu@git.freedesktop.org/git/mesa/mesa into gallium-0.2
+
+commit 6f29c2ff2dc4b3aefe282133376caed68b65a3d0
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Tue Oct 7 23:42:36 2008 +0200
+
+ Progs: hook the glsl identity example into the makefile.
+
+commit be3c070b6a86255feb752b7574daff8cb6091b96
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 7 14:50:06 2008 -0600
+
+ cell: memset() key to zero
+
+commit 44799c3b7e0e4260b93e68a5da5a03c9279ac26a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 7 14:34:08 2008 -0600
+
+ cell: use new keymap to save/re-use fragment ops code
+
+commit f192ad5ebca138a21fd372fa268ba2b0f4f8b147
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 7 14:33:16 2008 -0600
+
+ gallium: added general-purpose key->data map/lookup container
+
+commit af59f767a03da4dd434a6d655e3d0bc05feb298a
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Tue Oct 7 21:47:45 2008 +0200
+
+ nouveau: first draft of swizzle texture upload to vram
+
+commit 4f1dafaa82985bf0f04a16ba2ba2d1e8ccf83724
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Tue Oct 7 21:28:38 2008 +0200
+
+ Mesa: fix the case where there are no vertex attributes.
+
+ This is a backport of 8e8208d6db8b764568539784a6473d545dec2265 to gallium-0.1
+
+commit 4ccbee24391823cc559bbb341f62fa375af864f7
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Tue Oct 7 21:21:20 2008 +0200
+
+ Progs: add a trivial glsl test, useful for gallium driver bringup/debug.
+
+commit 85e578bbc7032b356b436b282534c765ef35f064
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Tue Oct 7 21:13:49 2008 +0200
+
+ Gallivm: don't say hello, it's rude.
+
+commit ba86520cf750e2fdbb686cb3afe2acdbd447d2f9
+Merge: 94ba48b 4d7394f
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Tue Oct 7 21:11:14 2008 +0200
+
+ Merge branch 'gallium-0.2' of git+ssh://marcheu@git.freedesktop.org/git/mesa/mesa into gallium-0.2
+
+commit 94ba48bd85ec5c62e1a303d8bb3fc25c8e153247
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Tue Oct 7 21:11:01 2008 +0200
+
+ Gallivm: fix the constant layout, this gets a bunch of progs/ working. Notably, gears doesn't.
+
+commit 1ec78df1e76a58f23cadce7b22d34849af83bf84
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Oct 7 19:12:26 2008 +0100
+
+ trivial: add more vp tests
+
+commit 239617fbe22d4dd7b2794510a6665f09602b5adf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 7 11:22:47 2008 -0600
+
+ mesa: replace GLuint with GLbitfield to be clearer about usage
+
+ Also, fix up some comments to be doxygen style.
+
+commit 23cc303994eb630c56b1224dfdac51dcea41ed03
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Oct 7 16:44:24 2008 +0100
+
+ draw: don't assume output buffer pointer is aligned
+
+commit 4070dba28a486bc0d14df028a085601ae7299f46
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Oct 7 16:33:17 2008 +0100
+
+ mesa: update state after binding vertex list in dlist path
+
+commit a381c9e8b32af6e98879940eba5f11680d4b89b6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Oct 7 13:09:05 2008 +0100
+
+ trivial: exercise vertprog sligtly
+
+commit 6ff1cf5b82488dc5a07513b0806c23e70f7a665e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Oct 7 12:31:31 2008 +0100
+
+ mesa: protect against segfault in get_fp_input_mask()
+
+commit c48da7d78b4e7bdbe056b3c9668756d49019be06
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Oct 6 12:22:55 2008 +0100
+
+ draw: add switch for drivers to force vertex data passthrough
+
+commit 23e62c94ee17f21e99cc2e11fb1f960c0eb56f16
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 7 08:30:29 2008 -0600
+
+ mesa: remove old assertion
+
+commit 4d7394f89292131323fc8e39efa511a2eeb8cc60
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Oct 7 14:25:09 2008 +0900
+
+ gallium: Introduce PIPE_ARCH_SSE define for SSE support.
+
+ Besides meaning x86 and x86-64 architecture, it also depends on SSE2
+ support enabled on gcc.
+
+ This fixes the linux-debug build.
+
+commit f7ee3c979261b4a2b77365b47c7147f69fbfd606
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 6 18:31:56 2008 -0600
+
+ gallium: replace assertion with conditional/recovery code
+
+ The assertion failed when we ran out of exec memory.
+ Found with conform texcombine test.
+
+commit d055b2c001a0fb233f98c10d124b43dd2448059e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 6 17:10:45 2008 -0600
+
+ mesa: fix convolve/convolution mix-ups
+
+commit 4f4147eadd983bd4052c5a8e80a1750a813a25fc
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 6 17:10:22 2008 -0600
+
+ mesa: fix convolve/convolution mix-ups
+
+commit f8baad2d255c77c47dddeddcaf719e163e9556fb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 6 12:29:29 2008 -0600
+
+ mesa: set FRAG_BIT_FOGC bit in InputsUsed if FogOption!=GL_NONE
+
+commit 8e8208d6db8b764568539784a6473d545dec2265
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Mon Oct 6 19:48:57 2008 +0200
+
+ Mesa: fix the case where there are no vertex attributes.
+
+commit 6e34fc0d374263ca40855ba4dcc237d961a79e34
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 6 11:34:01 2008 -0600
+
+ mesa: adjust texcoords for swrast sprite points.
+
+ Fixes glean pointSprite test w/ software rendering
+
+commit 145d49838fe268c8524a369d59cb9f771657ad59
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 6 10:58:16 2008 -0600
+
+ mesa: fix static library construction
+
+ If the .a is made of other .a files, extract the objects from the later.
+
+commit b0ca50bd38b69593ac683a5e7635fbafa5e06676
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 6 09:32:33 2008 -0600
+
+ mesa: updated _mesa_delete_query() comments
+
+commit f362788eae3d300e4003e8996dc79fc1947a0f60
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 6 09:27:31 2008 -0600
+
+ mesa: add missing GLcontext param to _mesa_delete_query().
+
+ Fixes vtk crash and others.
+
+commit 382911bdbce5545117d5a70ce7e43b71e8396e32
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 6 09:26:45 2008 -0600
+
+ mesa: add missing GLcontext param to _mesa_delete_query().
+
+ Fixes vtk crash and others.
+
+commit 9b827018133868e84ddc0998a5b5387584c7478c
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Mon Oct 6 13:23:56 2008 +0200
+
+ draw: Fix compiler errors on Windows.
+
+commit 7053f8c902e904495dffbbf6ea55f414cec780e7
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Oct 6 11:54:22 2008 +0100
+
+ rtasm: fix debug build
+
+commit 53d4706c6c0922160f310834daaec5718ff1c511
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Sep 10 11:39:43 2008 +0100
+
+ make draw's vertex_info struct smaller/quicker to compare with memcmp()
+
+commit 91d0020eecb78ef2984fd0afafc5d555c0e957d8
+Author: Eric Anholt <eric@anholt.net>
+Date: Sat Oct 4 18:20:35 2008 -0700
+
+ i915: Refine the texture indirect lookup accounting.
+
+ Without this, we would reject programs which sampled multiple times from
+ registers defined in the same phase (block of instructions with the same
+ texture indirection count), as each sample would count as a new phase
+ beginning. Instead, keep track of which phases registers were written in,
+ and only bump phase when we're reading from one generated in this phase.
+
+ On the other hand, we failed to count oC or oD texture samples as being new
+ phases.
+
+ Bug #17865.
+
+commit d008fb178631aecacc07aeec66299748470fd8c7
+Author: Younes Manton <younes.m@gmail.com>
+Date: Mon Sep 22 12:26:13 2008 -0400
+
+ g3dvl: Ignore client flush requests unless entire frame is buffered.
+
+commit 111b8f6dd9c97cd30979c8d5f56244e1e6ed60a2
+Author: Younes Manton <younes.m@gmail.com>
+Date: Mon Sep 22 12:13:23 2008 -0400
+
+ g3dvl: Bad semantic index in shader decl.
+
+commit 0370d6b359016790c6b879c2a4b6661adac20dea
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Oct 4 12:41:56 2008 +0100
+
+ mesa: handle vertex program enabled case also in texenvprogram.c
+
+commit afaa53040bd01ca86762e7d7b1a5a65810767921
+Author: Robert Ellison <papillo@tungstengraphics.com>
+Date: Fri Oct 3 18:00:43 2008 -0600
+
+ CELL: changes to generate SPU code for stenciling
+
+ This set of code changes are for stencil code generation
+ support. Both one-sided and two-sided stenciling are supported.
+ In addition to the raw code generation changes, these changes had
+ to be made elsewhere in the system:
+
+ - Added new "register set" feature to the SPE assembly generation.
+ A "register set" is a way to allocate multiple registers and free
+ them all at the same time, delegating register allocation management
+ to the spe_function unit. It's quite useful in complex register
+ allocation schemes (like stenciling).
+
+ - Added and improved SPE macro calculations.
+ These are operations between registers and unsigned integer
+ immediates. In many cases, the calculation can be performed
+ with a single instruction; the macros will generate the
+ single instruction if possible, or generate a register load
+ and register-to-register operation if not. These macro
+ functions are: spe_load_uint() (which has new ways to
+ load a value in a single instruction), spe_and_uint(),
+ spe_xor_uint(), spe_compare_equal_uint(), and spe_compare_greater_uint().
+
+ - Added facing to fragment generation. While rendering, the rasterizer
+ needs to be able to determine front- and back-facing fragments, in order
+ to correctly apply two-sided stencil. That requires these changes:
+ - Added front_winding field to the cell_command_render block, so that
+ the state tracker could communicate to the rasterizer what it
+ considered to be the front-facing direction.
+ - Added fragment facing as an input to the fragment function.
+ - Calculated facing is passed during emit_quad().
+
+commit db9ba91971a1f279b040b30bf8fd5d13a70f0a03
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Fri Oct 3 12:16:04 2008 -0700
+
+ intel: Don't advertise unsupported extensions on pre-965 hardware
+
+ Move GL_ARB_texture_non_power_of_two and GL_ATI_separate_stencil
+ from the generic extension list to the 965-specific list. Neither
+ extension is supported on i830-class hardware, and
+ GL_ATI_separate_stencil is not supported on i915-class hardare.
+ GL_ARB_texture_non_power_of_two is supported on i915-class hardare and
+ is already in the i915-specific list.
+
+commit 1680ef869625dc1fe9cf481b180382a34e0738e7
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Oct 3 17:30:59 2008 +0100
+
+ mesa: avoid generating constant vertex attributes in fixedfunc programs
+
+ Keep track of enabled/active vertex attributes.
+ Keep track of potential vertex program outputs.
+
+ When generating fragment program, replace references to fragment attributes
+ which are effectively non-varying and non-computed passthrough attributes with
+ references to the new CURRENT_ATTRIB tracked state value.
+
+ Only downside is slight ugliness in VBO code where we need to validate state
+ twice in succession.
+
+commit d63a36ef3a4dd9cef1273fac5949e587c42813b5
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Oct 3 16:46:48 2008 +0100
+
+ Mesa: short-circuit case when looking up the same program twice in cache
+
+commit fa1b533012030cd67148b5bf1e018fd5e30c96f8
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Oct 3 13:55:40 2008 +0100
+
+ mesa: add new internal state for tracking current vertex attribs
+
+commit 0e008d37979e4e5ede25056221583e02c08a5df7
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Oct 3 13:53:07 2008 +0100
+
+ mesa: add missing state dependencies for various tracked constants
+
+commit 6280e335706f95ed0ebb089d8f72aeede9b5a1ad
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Oct 3 13:51:56 2008 +0100
+
+ mesa: shrink texenvprogram state key struct
+
+commit 6965532e14717f71a6f4353fb683c5070c6b7d7a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Oct 3 13:50:34 2008 +0100
+
+ rtasm: add sse_movntps
+
+commit 22eb067c8863cbd9078f136706effd5df3375dbb
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Oct 2 12:53:11 2008 +0100
+
+ draw: modify prefetching slightly
+
+commit 21f98ad30aaeab5085d12278830f485e61b47cc1
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Oct 1 18:40:01 2008 +0100
+
+ draw: don't keep refetching constant inputs
+
+commit 66d4beb874606baab95fb6539de895eb373b0ccb
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Oct 2 12:46:01 2008 +0100
+
+ rtasm: add prefetch instructions
+
+commit a15699c3f54edb5d5b42960e7568e587b752e407
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Oct 1 13:34:38 2008 +0100
+
+ draw: add streamlined paths for fetching linear verts
+
+commit a77976d2ee578d0483c64f2aa41719bbae9c1c97
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Oct 1 19:36:04 2008 +0200
+
+ mesa: Fix compiler warnings on Windows.
+
+commit 8bdb4d2b2fdb12d0ba5249c289d349e35d893d00
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Wed Oct 1 00:00:58 2008 +0200
+
+ Gallivm: add slt. glxgears should be running, except it isn't.
+
+commit 3f4b67f5d715f53fec618ed0e48615f87ff1cfda
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Tue Sep 30 20:50:49 2008 +0200
+
+ Gallivm: port to llvm 2.4.
+
+commit fdcaf569d446db830a6eafd9c7f7c1b1030c0a93
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sun Sep 28 23:18:55 2008 +0200
+
+ Gallivm: fix off-by-one.
+
+commit 9859edc6060c8f4d23a91dbfabd786975e6447a2
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sun Sep 28 21:45:48 2008 +0200
+
+ Gallivm: need to link with libstdc++ for llvm.
+
+commit 0116ea34e1308a233e406a5d26f09217a69a5ed6
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sun Sep 28 19:48:26 2008 +0200
+
+ Gallivm: more instructions.
+
+commit 3f477e111a96493ff2863af06a98e8849ffbc6d8
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sun Sep 28 18:33:23 2008 +0200
+
+ Gallivm: make it compile again, add some opcodes.
+
+commit 5620c20b24dc4f780a2246eb5270c4476b487e0a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 26 11:18:06 2008 -0600
+
+ mesa: fix temp register allocation problems.
+
+ Complex texcombine modes were running out of registers (>32 registers for 8 tex units).
+
+commit 2cb213ff233ccd566e716aece45da78daa7d015a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 26 11:17:09 2008 -0600
+
+ egl: check for null ptr/name
+
+commit 5b60d6d07b79124499a1d75a2830cf2e5949d1ad
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 26 11:16:44 2008 -0600
+
+ egl: remove space after -L flag
+
+commit 918a444913435bdee33214e25811875100f873b0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Oct 2 12:53:11 2008 +0100
+
+ draw: modify prefetching slightly
+
+commit af9cfea9cc80411351f9879d8eeb525bf7b4ca50
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Oct 1 18:40:01 2008 +0100
+
+ draw: don't keep refetching constant inputs
+
+commit 102daee1b8971cf39235e220b9524bec1e4a7089
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Oct 2 12:46:01 2008 +0100
+
+ rtasm: add prefetch instructions
+
+commit dd7e5a498066e4ebdb7ad40773de48e5bc993164
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Oct 1 13:34:38 2008 +0100
+
+ draw: add streamlined paths for fetching linear verts
+
+commit 4741dbcbbc2514de370a760f4b78a17491014555
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Wed Oct 1 15:51:56 2008 -0700
+
+ Unify ARB_depth_texture and SGIX_depth_texture
+
+ The ARB extension is a superset of the older SGIX extension. Any
+ hardware that can support the SGIX version can also support the ARB
+ version. In Mesa, any driver that supports one also supports the
+ other. This unification just simplifies some bits of code.
+
+commit 17fdd1ab3b48da8dff742e626c3c59bc89cafeed
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Oct 1 16:58:38 2008 -0700
+
+ i965: sampler default color ends up in texture cache, not instructions.
+
+ See volume 4, SAMPLER_BORDER_COLOR_STATE programming notes.
+
+commit df6ae3f0a39f95cb1199ac16c98be2bf9a3bc96f
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Oct 1 14:14:06 2008 -0700
+
+ i965: Fix overwriting of depth override for SetTexOffset.
+
+ Fixes black borders around windows in compiz. Bug #17233.
+
+commit 266c5f5ccb3200c1fa195653d53748410078eac7
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Oct 1 19:36:04 2008 +0200
+
+ mesa: Fix compiler warnings on Windows.
+
+commit 23e325e55a24a94cbbeea1592d07f1a09a844de7
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Oct 1 10:25:41 2008 +0900
+
+ Add -msse and -msse2 to the *-x86 configs.
+
+commit cb8a3ba433190b7af254349b00d356b31e813a1a
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Oct 1 08:28:05 2008 +0900
+
+ util: No-op u_sse.h outside PIPE_ARCH_X86/X86_64.
+
+commit cbfce4175bf72788842bb45fa11c7e19caa8e6a8
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Oct 1 08:27:20 2008 +0900
+
+ tgsi: Include p_config.h.
+
+commit a6ff215777da2181d7099284f2da28eff78273a9
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Wed Oct 1 00:00:58 2008 +0200
+
+ Gallivm: add slt. glxgears should be running, except it isn't.
+
+commit e3378790bb43d65689349545a14c8651677aff41
+Author: Jonathan White <jwhite@tungstengraphics.com>
+Date: Tue Sep 30 15:38:38 2008 -0600
+
+ cell: Fixed usage of MAX_INSTRUCTIONS to use new MAX_PROGRAM_INSTRUCTIONS instead of old MAX_NV_XXX definitions in order to allow Cell TGSI fragment program generator to work again.
+
+commit 5e585719ebab17959d972e2e69c04203ecd3f2f3
+Author: Jonathan White <jwhite@tungstengraphics.com>
+Date: Tue Sep 30 14:07:09 2008 -0600
+
+ cell: Moved X86 checks to wrap #include section so that Cell targets will compile again.
+
+commit 4ae161e9409f8b5d73306bbf382c7b27d5038ab3
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Tue Sep 30 20:50:49 2008 +0200
+
+ Gallivm: port to llvm 2.4.
+
+commit 8415d06d90a197e16554dab98d160334fd9f9f93
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Oct 1 01:13:40 2008 +0900
+
+ util: Fix util_fast_pow/exp2/log2.
+
+ - Use a lookup table for log2.
+
+ - Compute (float) (1 << ipart) by tweaking with the exponent directly to
+ avoid integer overflow and float conversion.
+
+ - Also table negative exponents to avoid float division and branching.
+
+ - Implement util_fast_exp as function of util_fast_exp2.
+
+commit 2882a2db7a766c60bb231978ea829632438dd8a4
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Sep 30 12:06:56 2008 +1000
+
+ nouveau: some small API changes
+
+commit 8cd046c9b1da31e4ff178816bdfe2ee3451a1553
+Merge: 8c14bd6 5dc8e67
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Sep 30 11:57:45 2008 +1000
+
+ Merge remote branch 'origin/gallium-0.2' into gallium-0.2
+
+commit 08b9e29c1d4d28fee13658b0421b4522d9c36b3a
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Sep 29 18:50:05 2008 -0700
+
+ intel: Clean-up the extension string madness!
+
+ - Sort extensions by ARB, then EXT, then vendor by name
+ - Remove redundant (only one of GL_{ARB,EXT,NV}_texture_rectangle) or
+ duplicate extension strings
+
+commit 3ab4b2066fd0b1493af38510e26e5a6ba83b5cf4
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Sep 29 12:30:05 2008 -0700
+
+ GLSL: Implement GL_OBJECT_TYPE_ARB query
+
+ The GL_OBJECT_TYPE_ARB query is handled directly in
+ _mesa_GetObjectParamterivARB because it is only supported in the
+ extension version of the shanding language API. glGetProgramiv and
+ glGetShaderiv should not accept this enum.
+
+commit 905d8e0742d200558677dac01a838e95877f7b5e
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Sep 29 12:27:00 2008 -0700
+
+ GLSL: Implement _mesa_get_handle
+
+ Implementing _mesa_get_handle in using
+ glGetIntegerv(GL_CURRENT_PROGRAM, ...) allows glGetHandleARB to work.
+
+commit d806d451e660bb582c04947ae3bd8b95173e8fd4
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Sep 29 12:18:06 2008 -0700
+
+ GLSL: AttachShader returns INVALID_OPERATION for repeated attach
+
+ The GL_ARB_shader_objects spec says that glAttachShaderARB is supposed
+ to return GL_INVALID_OPERATION if a shader is attached to a program
+ where it is already attached. _mesa_attach_shader perviously returned
+ without error in this case.
+
+commit 5dc8e67078be8b8c42a809311debd275ac7d64a7
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Sep 30 01:12:52 2008 +0900
+
+ tgsi: SSE2 optimized exp2, log2 and pow implementations.
+
+ Special care must be taken when calling compiler generated SSE2 functions
+ from the runtime generated SSE2: saving the xmm registers, and notify gcc
+ the stack is not 16byte aligned.
+
+ It would be more efficient to keep the stack pointer 16byte aligned, but
+ too hairy, and not consistent in all x86 architectures.
+
+ This has been tested in linux x86 and windows x86 userspace. Not tested on
+ x86-64 because it is broken for other reasons (even without this change).
+
+commit 906336cd7ce5ff1cf9d10fb21375b9c0bcd5fe57
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Sep 30 01:07:09 2008 +0900
+
+ util: Header for SSE2 intrinsics portability.
+
+commit fc13269b820a842b401b7a7a4aed098e59b25b91
+Author: Jouk Jansen <jouk@hrem.nano.tudelft.nl>
+Date: Mon Sep 29 08:35:05 2008 -0600
+
+ mesa: asst updates for VMS
+
+commit 6607f2cf19d083a979716a341e6e175aef7d6830
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Sep 29 19:09:39 2008 +0900
+
+ rtasm: Implement immediate group 1 instructions. Fix SIB emition.
+
+commit e095d5812a0237d08eabae1977730e38ac5751c9
+Author: Shunichi Fuji <palglowr@gmail.com>
+Date: Fri Sep 26 18:55:13 2008 +0900
+
+ mesa: drop calloc from _mesa_get_fixed_func_vertex_program
+
+ Signed-off-by: Shunichi Fuji <palglowr@gmail.com>
+
+commit 2b8d8989fb6f9c36baf166fc715182a1407ebadb
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Sun Sep 28 20:31:46 2008 -0700
+
+ Use 3Dnow! x86-64 routines only on processors that support 3Dnow!
+
+ Added an x86-64 CPUID function and use it to detect 3Dnow! If 3Dnow!
+ is available, use _mesa_3dnow_transform_points4_3d_no_rot,
+ _mesa_3dnow_transform_points4_perspective,
+ _mesa_3dnow_transform_points4_2d_no_rot, and _mesa_3dnow_transform_points4_2d.
+
+ This fixes long standing bug #8724.
+
+commit b5d59222ccbec9db23b6847737765a4dc0d8c47b
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Thu Sep 25 17:19:47 2008 -0700
+
+ Remove TNL-to-VP tracking from i965
+
+ The i965 driver previously had it's own set of code to convert
+ fixed-function TNL state to a vertex program. Core Mesa has code to
+ do this, so there is no reason to duplicate that effort in the driver.
+ In fact, this duplication leads to bugs when other aspects of the Mesa
+ infrastructure change.
+
+commit 7379d0ef8f533b0aa760cd21b219223602002a56
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sun Sep 28 23:18:55 2008 +0200
+
+ Gallivm: fix off-by-one.
+
+commit 6dacc942e158211a1f8be77cd7ba52947e504e7c
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sun Sep 28 21:45:48 2008 +0200
+
+ Gallivm: need to link with libstdc++ for llvm.
+
+commit a0a06cbc5b26d7530bd5066f09efe3c1f980d35d
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sun Sep 28 19:48:26 2008 +0200
+
+ Gallivm: more instructions.
+
+commit ab74b8e3549838c0c480555134f5451949bac59f
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sun Sep 28 18:33:23 2008 +0200
+
+ Gallivm: make it compile again, add some opcodes.
+
+commit 2e5d717007ba6515b094b9af8ed869130185a308
+Author: Tobias Jakobi <liquid.acid@gmx.net>
+Date: Sat Sep 27 08:51:45 2008 +0100
+
+ glapi: add DISPATCH_FUNCTION_SIZE
+
+commit a23026effca921a77fbaa0a7effdc2826212b11e
+Author: Tobias Jakobi <liquid.acid@gmx.net>
+Date: Tue Sep 23 21:38:19 2008 -0500
+
+ glapi: add gl_dispatch_functions_start and end
+
+commit 8fd329d04885eba7587bbe7604d3a1088e35de40
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 26 11:18:06 2008 -0600
+
+ mesa: fix temp register allocation problems.
+
+ Complex texcombine modes were running out of registers (>32 registers for 8 tex units).
+
+commit 7944efffff837e5945b2493392a05b87f431cc19
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 26 11:17:09 2008 -0600
+
+ egl: check for null ptr/name
+
+commit cce2ec2754cec6b407827717d01a5b3ad7fc5f6b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 26 11:16:44 2008 -0600
+
+ egl: remove space after -L flag
+
+commit fe1c9872ae258b78f195c1885ddfc29d07d17cf6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 26 17:59:19 2008 -0600
+
+ cell: checkpoint: more work in emit_function_call()
+
+ Simple function call works now, but we don't save/restore the caller's registers yet.
+
+commit 55b65d3b42b8ba1ea1c5b5549b4629f3b20e7a97
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 26 17:57:01 2008 -0600
+
+ cell: stub-out sin/cos function bodies to avoid trashing caller's stack for now
+
+commit 938e12c1caee7e34fcc6630f17f422ebdd824ec3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 26 17:06:22 2008 -0600
+
+ gallium: SPU register comments
+
+commit 7d99ddcb2bb09f1f54d91e6e20e42d217a5bccdf
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Sep 26 12:48:23 2008 -0700
+
+ intel: Fix a number of memory leaks on context destroy.
+
+commit 8338cc25f913c809bec20f190a0e9f9bf8129aea
+Author: Jeremy Huddleston <jeremyhu@freedesktop.org>
+Date: Fri Sep 26 12:36:42 2008 -0700
+
+ configs: darwin: Don't build GLw
+ (cherry picked from commit ef688ba1ee366a8937a41075cbe8b76a9bf75013)
+
+commit 9d00cd3fc726a3fe01b98fd222dd4c71b3e95d44
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 26 10:15:11 2008 -0600
+
+ cell: move command processing code into new spu_command.c file
+
+commit bb01c1a78eefeea6bc756d837fdd063660ac0230
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 26 10:10:08 2008 -0600
+
+ cell: move debug-related declarations
+
+commit f45d39fa34ca36839c684fdcadd1476360de3a63
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 26 10:02:58 2008 -0600
+
+ cell: move debug macros into new spu_debug.h
+
+commit a1189ea882714282b884d37e530cd638dd4ca660
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 26 10:00:14 2008 -0600
+
+ cell: move really_clear_tiles()
+
+commit bac5900a14b85a6513fae7eef19a5ed1d26b2011
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 26 09:58:17 2008 -0600
+
+ cell: align instruction buffers to 8-byte, not 32-byte boundary
+
+commit b5303446a8683afdb3247f2aaf01b6df2cb7d280
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 26 09:53:03 2008 -0600
+
+ cell: asst clean-up, var renaming
+
+commit 6741739d1e7a2c66576b671a81eaf0c4b9737ec2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 26 09:48:17 2008 -0600
+
+ cell: remove unneeded blend/depth_stencil subclasses
+
+commit 164fb1299e1614ce05ae539d832567469eedb402
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 26 09:38:40 2008 -0600
+
+ cell: checkpoint: support for function calls in SPU shaders
+
+ Will be used for instructions like SIN/COS/POW/TEX/etc. The PPU needs to
+ know the address of some functions in the SPU address space. Send that
+ info to the PPU/main memory rather than patch up shaders on the SPU side.
+ Not finished/tested yet...
+
+commit f5127909fb0386c2c11a2c26886eb02808ed514e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 26 09:32:09 2008 -0600
+
+ cell: inst reorder to save a cycle
+
+commit 632055f831a6eef75a73f246e2548fd2d4789acd
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Sep 26 15:08:57 2008 +0100
+
+ st: add prototype for st_get_framebuffer_dimensions()
+
+commit 6d3e2e7e92ada3c430476de7a5dddf529914b4f0
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Sep 26 15:04:09 2008 +0100
+
+ st: export st_get_framebuffer_dimensions() to retrieve
+ the width & height of the fb
+
+commit a4a5a37f2760eca97b85f699c932c746da4d8e6c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 26 07:45:06 2008 -0600
+
+ mesa: remove invalid assertions that programs have parameters
+
+ Fixes failure with demos/fplight.c
+
+commit 4bc39c58eb7fdf3a0be62bed666998a0d1789dcf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 26 07:40:45 2008 -0600
+
+ mesa: fix assertion in _mesa_reference_program()
+
+commit ee80c64be8ebeebc1cf4c4913049eb07b9326b96
+Author: Brad King <brad.king@kitware.com>
+Date: Fri Sep 26 07:40:05 2008 -0600
+
+ mesa: fix param indexing
+
+commit c7510ddc3f6faa68154c11ce820097492a0748d2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 26 07:37:32 2008 -0600
+
+ mesa: fix incorrect parameter order
+
+commit 47bf26845712bea756526fc159bdb355ceaef9c2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 26 07:37:15 2008 -0600
+
+ mesa: remove const qualifiers to match device driver interface function
+
+commit 81234666fcd2cbdc92ba5e14b3bb259929b17549
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 19 09:25:32 2008 -0600
+
+ gallium: rename tgsi_translate_mesa_program() to st_translate_mesa_program()
+
+commit fad2dd8447a7f6cf002d8b902d4075023ede2a50
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 18 18:31:47 2008 -0600
+
+ mesa: add some braces
+
+commit f51cca72d31aacbae815c70071d2d3a04d55025a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 25 19:22:29 2008 -0600
+
+ mesa: fix/simplify initialization of vertex/fragment program limits
+
+ Defaults for program length, num ALU instructions, num indirections, etc.
+ basically indicate no limit for software rendering. Driver should override
+ as needed.
+
+commit b5e1a93036b22bd30738abccbb8a2645a515667f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 25 18:40:16 2008 -0600
+
+ mesa: increase MAX_INSTRUCTIONS
+
+commit d01269a57f4cfdb859352c933bc546296545dd80
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 25 18:27:22 2008 -0600
+
+ mesa: fix swizzle failure, fix typo
+
+commit 6c72bc8089037daed0c471dda62310d1101e08f0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 25 11:46:27 2008 -0600
+
+ mesa: fix default buffer object access value
+
+commit 13a8c18d3d0ca505f053a15fc664a705cbc8be84
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 19 09:25:32 2008 -0600
+
+ gallium: rename tgsi_translate_mesa_program() to st_translate_mesa_program()
+
+commit 1ef90b3f9af12102101e5d30b2d73cbdabd86f24
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 18 18:31:47 2008 -0600
+
+ mesa: add some braces
+
+commit e9c722b660ee8fc0aa73335d447f1dd8bced6fe2
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Sep 26 14:19:18 2008 +0100
+
+ st: change from ** to * for st_unreference_framebuffer()
+
+commit 6f83c30dd039380ead8e16936464edd11038bb37
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Sep 24 18:56:44 2008 -0500
+
+ mesa: fix indenting
+
+commit 9ee04ce4e4f22e63e17cd18919f564d4fa518854
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Sep 24 09:59:17 2008 -0700
+
+ dri: remove unused files present only on gallium-0.2 branch
+
+commit fb8db63a89c4ac7fbbbc0912e1dde0871ae9c35c
+Merge: bb6a69d 1e3a44f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Sep 26 14:09:04 2008 +0100
+
+ Merge commit 'origin/master' into HEAD
+
+ Conflicts:
+
+ src/mesa/vbo/vbo.h
+ src/mesa/vbo/vbo_exec_api.c
+ src/mesa/vbo/vbo_exec_draw.c
+
+commit bb6a69d1696cacf828a3de21bc57678c0e4aa54a
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Sep 26 12:27:29 2008 +0100
+
+ egl: cleanup doublebuffer check
+
+commit cc6bdf49ca19c08d0c7134d2cd881b9c166cdc8a
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Sep 26 12:18:59 2008 +0100
+
+ egl: switch to egl_glx.so as the default EGL driver for X.
+
+commit 192f45606a7c388862112b8d53a5983fb125fee3
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Sep 26 12:18:16 2008 +0100
+
+ egl: fudge with LIBGL_DRIVERS_PATH to pick up EGL specific DRI driver.
+
+commit 8015f3ae3b96d93e8b1338b8254bcbead45bb91a
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Sep 26 11:18:58 2008 +0100
+
+ egl: Add new EGL driver that wraps GLX.
+
+commit d142f216d2827218d2ad596625fb0054cb7d7fe4
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Sep 26 11:16:39 2008 +0100
+
+ link EGL demos with -lGL
+
+commit 1e3a44fab068f00378613456036716d0c3772969
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Sep 25 19:57:34 2008 -0600
+
+ mesa: fix cast/conversion for optional code
+
+commit 9f3e37de17a5636625f0275ca639fdc25ef1e95b
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Sep 23 16:40:49 2008 +0900
+
+ util: Update fast_log2 article url.
+
+commit 092748990f75a0348f24a40e92872f08a9958e66
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 25 19:22:29 2008 -0600
+
+ mesa: fix/simplify initialization of vertex/fragment program limits
+
+ Defaults for program length, num ALU instructions, num indirections, etc.
+ basically indicate no limit for software rendering. Driver should override
+ as needed.
+
+commit b3c3bc63f0f008100c002e0183b927b8381d5498
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 25 18:55:52 2008 -0600
+
+ mesa: fix typo (s/feadback/feedback/). Fixes broken selection/feedback.
+
+commit 3f99f501db2582e241851e63e432c18e2de415be
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 25 18:40:16 2008 -0600
+
+ mesa: increase MAX_INSTRUCTIONS
+
+commit 006fb638188f083d64a2427cd28979b432622f3e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 25 18:27:22 2008 -0600
+
+ mesa: fix swizzle failure, fix typo
+
+commit 8124faf89d638285d8e9aa93adc3ca7f4ee729f3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 25 11:54:00 2008 -0600
+
+ mesa: fix float->int mapping for glGetIntegerv(GL_DEPTH_CLEAR_VALUE)
+
+commit 1ca512c643553bd3504abd258ab80b7a550ab292
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 25 11:46:27 2008 -0600
+
+ mesa: fix default buffer object access value
+
+commit 6222eb3fcd12147ea2e7ccc20a71a921cebbb0d2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 25 11:03:46 2008 -0600
+
+ mesa: fix some VBO buffer object issues
+
+ The VBO module may use a real VBO or a malloc'd buffer for vertex storage.
+ Be careful not to accidentally replace the later with the former when drawing.
+ Check if using a real VBO at destroy time to prevent a double-free.
+
+commit 507ef82077891a7b833c1c3e82c61299cf281ee8
+Author: Sam Hocevar <sam@zoy.org>
+Date: Thu Sep 25 09:58:27 2008 -0600
+
+ mesa: fix function params to match prototypes
+
+commit 7be5411ce69f0f6be1f31079b9fbdea4967358a0
+Author: Sam Hocevar <sam@zoy.org>
+Date: Thu Sep 25 14:56:41 2008 +0200
+
+ mesa: prevent the slang code generator from aborting when faced with a sampler variable redeclaration.
+
+commit 561787e69759ed757edb897c027d2d94beac8d11
+Author: Sam Hocevar <sam@zoy.org>
+Date: Thu Sep 25 10:49:05 2008 +0200
+
+ i965: support for sin() and cos() in vertex shaders.
+
+commit 831bfb9053a6e1f065fc07f9f25ae0ea27053733
+Author: Sam Hocevar <sam@zoy.org>
+Date: Tue Sep 23 17:56:19 2008 +0200
+
+ i965: more meaningful message for unsupported opcodes.
+
+commit c5945c2d173b77ace00e6fc225097a6afddecfa3
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Sep 24 15:10:45 2008 -0700
+
+ intel: Fix clears to depth_stencil texture attachments.
+
+ Broken by 0adfd1021035e90995a25ec5f20b736e55075d92, showed up as an assertion
+ failure in a software fallback in the shadowtex demo when we failed to
+ recognize the texture format.
+
+commit 4fe186f8dc4fc7eeab3b1069c886458cfc2e517c
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Wed Sep 24 20:42:57 2008 +0100
+
+ add cso_hash_contains() function
+
+commit 1fe385fdc96688a5249d52184f457910a0c25488
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 14 11:42:28 2007 -0700
+
+ set SamplerUnit[] entry in load_texture() just to be safe
+ (cherry picked from commit fce4612f8a29ee1798c9326a431a139d856c7a04)
+
+commit dff0b0e772185c359a1ad50afc7d5680745b1b1b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jan 18 12:45:27 2008 -0700
+
+ use PROGRAM_CONSTANT instead of PROGRAM_STATE_VAR when generating immediates/literals
+ (cherry picked from commit fdc8636bdc65deb0d95a62a51c8d9bca05bc6bb8)
+
+commit 9b7e5a51f49e842f4114545f5eb171a597c83a66
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 14 11:16:49 2007 -0700
+
+ set program->SamplersUsed bit when using a texture instruction
+
+commit 93fef22d05d0fb6f011d48d2fde533555c1695a2
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 29 12:25:46 2007 -0600
+
+ Remove ctx field from texenvprog_cache
+
+commit fb3c41f5044bc0e228470ebf9f2cfdf2c53f191f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Sep 25 15:20:04 2007 -0600
+
+ include programopt.h
+ (cherry picked from commit 83fad68ec1989c719646a76f4cc5e0b3d23537ed)
+
+commit c81cce78313a62e0d36a5c80bd9d35b770d0814a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Sep 25 15:18:51 2007 -0600
+
+ Disable vertex shader fog, compute fog in fragment shader.
+
+commit 19d77d6cfa384142cc6ab4d9b3db4b28cefb6f19
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Sep 18 19:29:26 2007 -0600
+
+ temporarily set the FRAG_BIT_FOGC bit in InputsRead when fog is enabled
+ (cherry picked from commit 63be96bdc7e9f388a5c49295bd7e150462fd003a)
+
+commit 8e7d941d7a29aaf66f94892b3f97670c0e972c8c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Sep 23 21:08:50 2008 -0700
+
+ mesa: fix main/ prefix in include
+
+commit 33fef8be825ee8ec6abc0c2ffd9a3a967d84df88
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Dec 18 16:56:22 2007 +0000
+
+ vbo: unmap and remap immediate vbo before/after each draw.
+
+ Also use BufferData(NULL) to get fresh storage and avoid synchronous
+ operation where we would have to flush and wait for the fence after each
+ draw because of the map.
+
+ This will chew through a whole load of buffer space on small draws, so
+ it isn't a proper solution. Need to support a no-fence or append mapping
+ mode to do this right, or use user buffers.
+
+commit 6f765fbde42a4f729780aa39d2b0ed9d736dd5a8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 17 15:26:33 2007 +0100
+
+ added vbo_use_buffer_objects() to specify that immediate mode data should be put into bufferobjects
+
+commit b36bc54d3ceff5f514f87cdce67164147c1dd04f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Aug 25 10:59:45 2008 +0100
+
+ vbo: seed initial max_element value with a more likely candidate
+ (cherry picked from commit 026e7731e549e0777c010348460fd48b3d75a843)
+
+commit 2a7dc7927339322fbffaba62d2fb69373b94caf0
+Merge: 62dd757 9acf207
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Sep 23 17:40:49 2008 -0700
+
+ Merge commit 'origin/master' into gallium-0.2
+
+ Conflicts:
+
+ src/mesa/shader/shader_api.c
+
+commit 9acf207277b4de91b917b37a92f6b612f4710c80
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 17 11:31:45 2008 -0600
+
+ mesa: s/GL_POLYGON+1/PRIM_OUTSIDE_BEGIN_END/
+ (cherry picked from commit 8a369b909a6648ae7a5a0c2dcb972a2f96f99a80)
+
+commit 5b98236e75b15b77c04545f3e06d4522fe7ad608
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 6 13:07:09 2008 -0600
+
+ mesa: glsl: fix glGetUniform for matrix queries
+ (cherry picked from commit 7a6eba54d064cadf15f93df2c1748cf5e474ef03)
+
+commit eda291e316601d2ebf9834c290686854ea857aec
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 6 16:26:47 2008 -0600
+
+ mesa: glsl: fix a number of glUniform issues
+
+ Additional error checking.
+ Allow setting elements of uniform arrays. This involves encoding both
+ a uniform location and a parameter offset in the value returned by
+ glGetUniformLocation().
+ Limit glUniform[if]v()'s count to the size of the uniform array.
+ When setting bool-valued uniforms, convert all float/int values to 0 or 1.
+
+commit bda6ad273d17efbe69a2a0599595cd4d50617cc3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 6 12:45:14 2008 -0600
+
+ mesa: glsl: fix error check in get_uniformfv()
+ (cherry picked from commit 18cd9c229a1fc8da8b7669b8d1d100f6bbeca183)
+
+commit 62dd7575f07f3ff9803118113746dba9219c1390
+Merge: 2cb3d2b 452a592
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Sep 23 17:24:39 2008 -0700
+
+ Merge commit 'origin/master' into gallium-0.2
+
+ Conflicts:
+
+ src/mesa/main/drawpix.c
+ src/mesa/shader/prog_uniform.c
+ src/mesa/shader/slang/slang_link.c
+
+commit 2cb3d2b7a0d8f505131e98053d3e19982012fccd
+Merge: 9e7c072 ec76910
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Sep 23 17:08:24 2008 -0700
+
+ Merge commit 'origin/master' into gallium-0.2
+
+ Conflicts:
+
+ src/mesa/glapi/glapi_getproc.c
+ src/mesa/main/image.c
+ src/mesa/shader/slang/slang_link.c
+
+commit 452a592ca4b1bac78eee53fb9f2f1deac7832840
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat May 31 18:14:09 2008 +0900
+
+ mesa: Apply MSVC portability fixes from Alan Hourihane.
+
+commit 9118b02fd0e4c5c472d7dbf211eec350a1d37ea4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 17 13:13:02 2008 -0600
+
+ mesa: update program->NumAddressRegs field in _slang_update_inputs_outputs()
+
+commit c79779aff09073d87b9a6138bf09f23c3b8b5fd7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 18 11:00:43 2008 -0600
+
+ mesa: add fwd decl of fill_in_entrypoint_offset()
+ (cherry picked from commit b1eff0228b7199920c02e62446ebf5496c298814)
+
+commit ec76910187adc88fc54907ffa3506309ee2abcf3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 17 16:48:13 2008 -0600
+
+ mesa: new gl_fragment_program fields indicating use of fog, front-facing, point coord
+ (cherry picked from commit d7a7b0a10dd355fbeb7a404091a42d4ab558c820)
+
+commit 03bafd1f9fa000abdb794b2ae344a68840c83201
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Sep 26 17:03:11 2007 -0600
+
+ Added new _mesa_clip_copytexsubimage() function to do avoid clipping down in the drivers.
+
+ This should probably be pulled into main-line Mesa...
+ (cherry picked from commit 324ecadbfdf9b944e059832f146451e4151dcb21)
+
+commit a97226352fb8063d4d0084523312b4880dae5ac7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 17 13:23:32 2008 -0600
+
+ mesa: refactor: move GetProcAddress code from glapi.c into new glapi_getproc.c file
+
+commit 9e7c0724bbc62c86dc302a9fe76b3e4288fc4461
+Merge: a0bd397 f85ea68
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Sep 23 15:53:29 2008 -0700
+
+ Merge commit 'origin/master' into gallium-0.2
+
+commit d533da2db873942b3f8676a754b8be3c9718bedf
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Sep 23 15:53:29 2008 -0700
+
+ i965: Cope with batch getting flushed in the middle of batchbuffer emits.
+
+ This isn't required for GEM (at least, yet), but the check_aperture code
+ for non-GEM results in batch getting flushed during emit. brw_state_upload
+ restarts state emits, but a bunch of the state emit functions were assuming
+ that they would be called exactly once, after prepare and before new_batch.
+
+ Bug #17179.
+
+commit a0bd3972b645fbe61c3d1e2bbaa1510e04bad8d8
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Sep 23 15:53:19 2008 -0700
+
+ remove leftover merge conflict markers
+
+commit 4b038e24b0960e10d6ab8e360f2558d9c2730d99
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Sep 23 15:32:41 2008 -0700
+
+ intel: Add missing include files for meta drawpixels since mesa shuffling.
+
+commit f85ea6837da434cdec011de431e62db20ee39df2
+Author: Eric Anholt <eric@anholt.net>
+Date: Sat Sep 20 16:13:38 2008 -0700
+
+ intel: Replace pbo-only drawpixels function with a generic Mesa metaops.
+
+ Improves performance of some oglconform regression tests 9x.
+
+commit 15487e46a29377edc7ceceefabe9977f992ae01c
+Author: Eric Anholt <eric@anholt.net>
+Date: Sun Sep 21 18:26:45 2008 -0700
+
+ i915: Fix overlapping CopyPixels with negative pixel zoom.
+
+ Fixes a failure in pixel-pos.c oglconform test.
+
+commit b9532f078a2fbf459b0403b6f656711f80ff83c2
+Author: Eric Anholt <eric@anholt.net>
+Date: Sat Sep 20 18:07:17 2008 -0700
+
+ i915: fix crash in flush_prim -> wait_flips -> flush_batch -> flush_prim.
+
+commit 1c79cf15c48e51cb5cf790f44214ae6aaf78c69b
+Author: Robert Ellison <papillo@tungstengraphics.com>
+Date: Tue Sep 23 10:11:59 2008 -0600
+
+ CELL: fix colormask code generation
+
+ The colormask code generation had assumed that its input packed pixels were
+ in RGBA format. In fact, the format they're in is dependent on the
+ pipe color format.
+
+ Now the color format is passed in to gen_colormask(), and proper
+ color format-dependent SPU code is generated.
+
+commit 6901d6ef24224c27e20c3e864d035db1552aeeb8
+Author: Robert Ellison <papillo@tungstengraphics.com>
+Date: Tue Sep 23 10:09:36 2008 -0600
+
+ CELL: improve legibility of CELL_DEBUG environment variable output
+
+commit 2511d57fa487e4b46a4919913103c2491da7a856
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Mon Sep 22 17:23:40 2008 -0700
+
+ i965: Adapt to new TNL program tracking semantics
+
+ This fixes bugzilla #17718.
+
+commit 6642380841b8cc0d166bf1c6a76be786e1c50825
+Author: Jonathan White <jwhite@tungstengraphics.com>
+Date: Mon Sep 22 14:33:53 2008 -0600
+
+ cell: Fixed bug with absolute, negate, set-negative logic in source fetch for TGSI instructions. The logic should operate on the origin channel not the swizzled channel.
+ Please enter the commit message for your changes.
+
+commit 6b3ec9ec2b96e33f975852ee9f4751c6fefe9869
+Author: Jonathan White <jwhite@tungstengraphics.com>
+Date: Mon Sep 22 13:13:50 2008 -0600
+
+ cell: Added TRUNC, SWZ (extended) and XPD instructions, verified against softpipe. Optimized FLR and FRC. Fixed writeback logic for DP3, DP4 and DPH.
+
+commit 56c476395ffdff2cfbc0adb9b87e5b308ee3066a
+Author: Jonathan White <jwhite@tungstengraphics.com>
+Date: Mon Sep 22 10:54:50 2008 -0600
+
+ cell: Added DPH instruction and verified against softpipe.
+
+commit bb60fb77c7fa02e0018e10eb84c6ef7c6a5d551b
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Mon Sep 22 11:49:34 2008 +0200
+
+ r300: Adapt to the removal of _tnl_ProgramCacheInit() and friends.
+
+commit 5106f1b9acef1c5fa8b97b04c33f00c92dfb4c43
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Mon Sep 22 11:48:26 2008 +0200
+
+ Remove incorrect test from mmAllocMem.
+
+ 0 is a perfectly valid alignment shift, see e.g. driTexturesGone() which was
+ broken by this.
+
+commit c9122c0c0308345e2df2448bcb189d0f5d505909
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Mon Sep 22 12:47:57 2008 +0200
+
+ mesa: Remove left over merge conflicts
+
+commit ed4c6cbe017b4e8bacb7e012d4baaf77a20a2c33
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Mon Sep 22 11:49:34 2008 +0200
+
+ r300: Adapt to the removal of _tnl_ProgramCacheInit() and friends.
+
+commit 78f4a695ad7140cd0148467f041e874afc655426
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Mon Sep 22 11:48:26 2008 +0200
+
+ Remove incorrect test from mmAllocMem.
+
+ 0 is a perfectly valid alignment shift, see e.g. driTexturesGone() which was
+ broken by this.
+
+commit dace236c5fffa29d59e4d12fa865889bbecbdd24
+Merge: e61793a 6fd15dd
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Sep 21 22:30:55 2008 -0700
+
+ Merge branch 'master' into gallium-0.2
+
+ Conflicts:
+
+ src/mesa/glapi/glapi.h
+ src/mesa/main/api_exec.c
+ src/mesa/main/attrib.c
+ src/mesa/main/clear.c
+ src/mesa/main/context.c
+ src/mesa/main/mfeatures.h
+ src/mesa/main/mipmap.c
+ src/mesa/main/mipmap.h
+ src/mesa/main/readpix.c
+ src/mesa/main/sources
+ src/mesa/main/state.c
+ src/mesa/main/texformat.c
+ src/mesa/main/texparam.c
+ src/mesa/main/texstate.c
+ src/mesa/vbo/vbo_context.c
+ src/mesa/x86/common_x86_asm.S
+
+commit 6fd15dd80666ccb1e9b99cedd306e32cc7cee989
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 19 18:14:15 2008 -0600
+
+ mesa: allow for extra per-context init
+ (cherry picked from commit 815cdcfbc0740c66b901361620c88d99541bdad2)
+
+commit 1b7e90984511cfa47597c255d73ca416ddd2db6f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 12 17:41:57 2008 -0600
+
+ mesa: texture crop rect state
+ (cherry picked from commit c01fbc7866d7cd5cf4263dffec6d9591470b4c23)
+
+commit 93c90d34d10e06105984796b7b157f2a3e6db5c1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 12 10:00:36 2008 -0600
+
+ mesa: set point state
+ (cherry picked from commit af3d9dba562813ffed71691bffd7faf6665c4487)
+
+commit 868c09a267f3c25591075f5a9e5d54535958632f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 8 13:06:54 2008 -0600
+
+ mesa: fix some feature tests
+ (cherry picked from commit 74b14fe6ddbece8bc662aac4d3b2b18d8d853486)
+
+commit 8122ab2dfd0e158a4982e1bfeb1f7a6f185b69ee
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 8 12:29:48 2008 -0600
+
+ mesa: fix some pixel transfer state tests for depth formats
+ (cherry picked from commit 966e199e409a1b52eef88e48997442250997f45e)
+
+commit 6bc8749cd593e29e7950da36cd166aa1c9ebc34b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 25 08:34:54 2008 -0600
+
+ mesa: fix issues causing warnings on Windows
+
+commit 9614eac85df028bbb77a5073f2f1839bdaa308a0
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Tue Jul 15 11:15:27 2008 +0200
+
+ mesa: Silence compiler warnings on Windows.
+
+commit ce1685ce947545fac8c254cafdc0f133b6202ca9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 14 11:20:58 2008 -0600
+
+ mesa: comments about vectors vs components
+
+commit eb10fa3ed6262a8103e5f3f579b2ec2b9d72afa9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 8 16:58:50 2008 -0600
+
+ mesa: remove debug code
+
+commit 6246dd890f356cc8beaab035018890e719e06227
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 8 16:12:01 2008 -0600
+
+ mesa: implement glGetUniformiv() with new ctx->Driver function
+
+ The old implementation could overwrite the caller's param buffer.
+
+commit 48cba703fa6fdbe2ad34770d54aeafdd01493f27
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 3 14:12:27 2008 -0600
+
+ mesa: added case for fixed pt
+
+commit 1cf2c8a04313b80a01ef23b06993586ce62281a4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 25 08:45:14 2008 -0600
+
+ mesa: point size arrays
+
+commit f8e50dd796a72c396bb22d414feba75c426c5e7e
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jun 24 14:02:24 2008 +0900
+
+ mesa: Replace deprecated __MSC__ macro.
+
+commit 60325331a8a76f3c783284c65b81cee471d7d64c
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jun 24 13:12:41 2008 +0900
+
+ mesa: More signed/unsigned float/integer fixes.
+
+commit 457d7218b8e0f0c21ae31564d25b7031b423b0f8
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jun 24 11:34:46 2008 +0900
+
+ mesa: Use appropriate unsigned/signed, float/integer types.
+
+commit 88f729e4ec145ca388fb20e72d65c51af154d2e5
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jun 24 11:33:03 2008 +0900
+
+ mesa: Use _mesa_bsearch.
+
+commit baa76e9aa255c4b4591111991b6ad6d80e69d9c1
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jun 24 10:58:55 2008 +0900
+
+ mesa: bsearch implementation for WinCE.
+
+commit 2e8af5ffcf5b59b6852cf0c7ad992af97de13fce
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jun 24 02:37:21 2008 +0900
+
+ mesa: ASSERT macro is already defined by WinCE headers.
+
+ Even when just the standard headers are used....
+
+commit c115616bda80390e6d4b11e7ce6184ef1cc00838
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 20 14:29:49 2008 -0600
+
+ mesa: init ctx->RenderMode
+
+commit d17485fef9b084a6812c626d9734816429f29199
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 20 11:49:25 2008 -0600
+
+ mesa: GL_BYTE vertex/texcoord arrays
+
+commit 394c1d1c53074f82d2664f655f948f8966f46b9d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 20 11:32:22 2008 -0600
+
+ mesa: initial support for fixed-pt vertex arrays
+
+commit bb00f09f1bfb195206ffac6481d83ecf57fd37ce
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 20 11:31:05 2008 -0600
+
+ mesa: refactor: move initialization of DefaultPacking state.
+
+commit 9b8b58b79a1837f75cec44089589a308ccd865f1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 20 11:15:30 2008 -0600
+
+ mesa: fix errors in prev commit
+
+commit 3a4bed8f088d6f7c558ad187c338cbcd6c692b5d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 20 11:05:00 2008 -0600
+
+ mesa: revamp glBlendFunc loopback
+
+commit 85f553d3c11a1fdf26e8ceb4767742afce0b24ff
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 20 10:47:38 2008 -0600
+
+ mesa: fix some FEATURE_x tests
+
+commit b51d73dd943de688be7e65057af150e8eb92ae21
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 20 08:07:38 2008 -0600
+
+ mesa: test for FEATURE_ATI_fragment_shader
+
+commit 715715e230bbe3e90fed566230b4a10ed0e89e90
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 18 09:30:13 2008 -0600
+
+ mesa: fix ReadBuffer initialization
+
+commit cd4d4f590f3e032d329ebb33dea69d951bb96d11
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 17 16:56:32 2008 -0600
+
+ mesa: FEATURE_dispatch to control dispatch table usage
+
+commit 2dbc515a669be123a019aeb4aa5aae6b1679f6a9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 13 16:45:15 2008 -0600
+
+ mesa: move some glapi bits around
+
+ Move _glapi_proc typedef from glapitable.h to glapi.h
+ Also, don't include glapitable.h from glapi.h
+ Before we were including the huge glapitable.h file in every .c file.
+
+commit d22ef6bcbaf083b601fe6b37ef2e65e81116082b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 13 14:13:25 2008 -0600
+
+ mesa: remove some temp debug code
+
+commit 4e3ae76feac17570b50ec6751e07ea112dde597f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 13 13:56:53 2008 -0600
+
+ mesa: check FEATURE_ARB_occlusion_query
+
+commit 049a59a87cafd8ad089f99232bac7ea6cad85f29
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 13 09:10:09 2008 -0600
+
+ mesa: fix typo: s/stacks/stack/
+
+commit 74c64fa748c833a9688d3a141a7807686701e24f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 11 09:43:30 2008 -0700
+
+ code refactoring, new next_mipmap_level_size() function
+ (cherry picked from commit c22d9152e33792ea58426c53bc9b96bf552b0b44)
+
+commit e93243f8b7d43695654a36334c8cc5cea140d23c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 11 09:33:28 2008 -0700
+
+ added _mesa_tex_target_to_face()
+ (cherry picked from commit b52ce6341f877a0a1cfd3c50c07eeb1c156ae89e)
+
+commit abb465cdc71da566d431f44feeec31594e01086f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 8 16:56:21 2008 -0700
+
+ refactor code, export _mesa_generate_mipmap_level()
+
+commit 12dc9c99b9f15eb9e0c4f7cd493d776f6d4162ed
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 8 16:46:12 2008 -0700
+
+ move _mesa_format_to_type_and_comps() to texformat.c
+ (cherry picked from commit 42eac65da45fb58bffdf94ab8f9860d8cee5b256)
+
+commit b08200237968e3129d0cb35e03b2a5514b1dcb53
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Sep 21 20:09:31 2008 -0700
+
+ mesa: pull in mipmap.c changes from gallium-0.2
+
+commit facfb44d37905870ffabede8a05f1b483105b539
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 12 16:48:24 2008 -0600
+
+ mesa: remove unneeded #include
+ (cherry picked from commit 6363960db55769db73021081b60f1028723d9f58)
+
+commit ddd630ef907cd6bb91bad0c9f5db83f2fa67be47
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 11 20:13:07 2008 -0600
+
+ mesa: refactor: move various ENUM_TO_x macros into macros.h
+
+commit ae1fdc15238498bf025d0f0be7337e2f9dda455f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 11 20:05:53 2008 -0600
+
+ mesa: refactor: move glTexParameter-related functions into new texparam.c file
+
+commit 11ebfd22bb451f86a492254b77c90aeb011f8d9a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 11 19:58:30 2008 -0600
+
+ mesa: refactor: move glTexEnv-related functions into new texenv.c file
+ (cherry picked from commit 7ecac78ab53016ae3db3dd601b187cb050037463)
+
+commit 10db6c2d81506bb8cc5165d07b01e93d3830978d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 11 19:48:01 2008 -0600
+
+ mesa: refactor: move glTexGen-related functions into new texgen.c file
+ (cherry picked from commit 27049189d6221fefe43eb55846efaa51742dcdf4)
+
+commit 4fc71f3ec2e3bec6c842473f6b2b6287b309c958
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 10 16:43:49 2008 -0600
+
+ mesa: refactor: fix some FEATURE_ typos, mistakes
+ (cherry picked from commit e4cfe0854ad968193106048179b9b52ec1768f41)
+
+commit 34a61c66fd1b625a5606b795d192a49632ff1787
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Sep 21 19:29:15 2008 -0700
+
+ mesa: refactor: move #define FEATURE flags into new mfeatures.h file
+
+ Also, check the FEATURE flags in many places.
+ (cherry picked from commit 40d1a40f294f1ed2dacfad6f5498322fc08cc2d1)
+
+ Conflicts:
+
+ src/mesa/main/config.h
+ src/mesa/main/context.c
+ src/mesa/main/texobj.c
+ src/mesa/main/texstate.c
+ src/mesa/main/texstore.c
+
+commit 24172fe595eede2649dd88363d2cda68f928a03e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 9 15:14:02 2008 -0600
+
+ mesa: refactor: move _mesa_update_minmax/histogram() into image.c
+ (cherry picked from commit eded7f010d344a909cf9c403eb3bdad91804d174)
+
+commit c132e2b1db855b3c33d8b879c4a986011d631d43
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 9 15:09:21 2008 -0600
+
+ mesa: refactor: move multisample-related functions into new multisample.c file
+
+commit e48defc98045f419e71ca13e4f45470b2336ecaf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 9 15:04:31 2008 -0600
+
+ mesa: refactor: move _mesa_resizebuffers(), _mesa_ResizeBuffersMESA() to framebuffer.c
+ (cherry picked from commit 9091015a9782ad15e58540a8fd61df83ea2bfe31)
+
+commit 5ab1d0aceaffbf872d7f8ebea2a6655e25bf2390
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 9 15:01:02 2008 -0600
+
+ mesa: refactor: move glClear, glClearColor into new clear.c file.
+
+commit 55e341c4c2e5a6f3475a8a3e6389b904f99a6d1a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 9 14:55:24 2008 -0600
+
+ mesa: refactor: move scissor functions into new scissor.c file
+ (cherry picked from commit 4be7296bfcba22a849f949d105ea385e6964cc25)
+
+commit 18d2822905ac3187318bd662f80c2836bdfa7c1f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 9 14:32:27 2008 -0600
+
+ mesa: refactor: move pixel map/scale/bias code into image.c
+
+ pixel.c is just the API-related code now.
+
+commit 533c1dbe7582bdd72f671eef02e085f0c43159e2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 9 14:25:23 2008 -0600
+
+ mesa: refactor: new _mesa_init_pixelstore() function
+ (cherry picked from commit 5f91007f996d0b7e3233f221a6b0056203e356d2)
+
+commit c9e5671691289006e9b1152d6ce20200a83010c2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 9 14:49:04 2008 -0600
+
+ mesa: refactor: move _mesa_init_exec_table() into new api_exec.c file
+ (cherry picked from commit b36e6f0baf64491772b8e1a1cddf68a7dcf8ee22)
+
+commit 28876dd511ec2c9d5f5500499201df2588e8c7f1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 9 14:22:15 2008 -0600
+
+ mesa: refactor: move glReadPixels code into new readpix.c file
+
+commit 87534210bb9fe5f4e3053d12123491a8c2ccbf6d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 17 16:18:45 2007 -0600
+
+ Add some FLUSH_CURRENT() calls.
+
+ Without these we can find ourselves in _mesa_load_state_parameters()
+ computing derived lighting/material values whhen the current material
+ properties haven't been updated from the VBO.
+ This may be a somewhat wide-spread problem that needs more attention...
+ (cherry picked from commit 49adf51eeec31c9f3c995a70acc5008522689708)
+
+commit 411d6672a6f3b228faebcf13da90388ea7671ae2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 9 14:14:34 2008 -0600
+
+ mesa: refactor: move glPixelStore function into new pixelstore.c file
+
+commit 9228f1c881b7574d75f6ef4dfa5e06aba398ed02
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 5 12:08:19 2008 -0600
+
+ mesa: remove EXT/NV suffixes from _mesa_PointParameter functions
+
+commit d1e1a76f6220127f91f3d1adbbfc764332a9a138
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Aug 7 09:03:30 2008 +0100
+
+ glut: Remove EOF characters.
+
+commit 7c1fda71acfbe01bf36356f6af90d9ac631e18c1
+Author: Benjamin Close <Benjamin.Close@clearchain.com>
+Date: Mon Sep 22 11:59:30 2008 +0930
+
+ i965: fix compilation
+
+ Found By: Tinderbox
+
+commit e61793a7c01588f2e6235f1271af4c58fa8adad4
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Sun Sep 21 18:32:09 2008 -0400
+
+ gallium: cleanup the after merge framebuffer update code
+
+ adjust it and make it behave like it used to
+
+commit 90f1677fe6b6a016d38e89d1ebb23ce255f17b74
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Sun Sep 21 00:20:38 2008 -0400
+
+ gallium: fix a fbo crash
+
+ don't dirty the fb if we're rebining the frontbuffer
+
+commit a7573d805e9fa4d985cf48f467df5bd39dc3e7c0
+Author: Chris Rankin <rankincj@yahoo.com>
+Date: Sun Sep 21 23:56:17 2008 +0200
+
+ Fix X86 compilation.
+
+commit 3a40dee3eb5151a282ce831b67427f3aa625de28
+Merge: 53dd838 8701e5f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Sep 21 12:22:21 2008 -0700
+
+ Merge commit 'origin/gallium-0.1' into gallium-0.2
+
+commit 53dd838de6cd455f00f43ef7f733d4e9b420b8d8
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Sep 21 12:09:12 2008 -0700
+
+ swrast: remove merge droppings
+
+commit 00929157de20b4b37a4b2b92a15d775a35e7d11c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Sep 21 12:00:37 2008 -0700
+
+ swrast: remove dead file not present in master
+
+commit 34d4ef7cc0cc4746fdb5fdc0b44a680daa85bef1
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Sep 21 11:56:45 2008 -0700
+
+ drivers/x11: remove early gallium support
+
+ We originally piggy-backed gallium development in the X11/swrast driver,
+ but the necessary code has since been moved to its own location in
+ gallium/winsys/xlib.
+
+ Remove the old code from here as we don't want it propogated back to master
+ in any future merge.
+
+commit a70312a1546ce3ec29681f34d35707121f8c4569
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Sep 21 11:50:46 2008 -0700
+
+ state_tracker: remove dead file
+
+commit 19af2db064805f3746cb4d810e5515f7e853185f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Sep 20 07:56:03 2008 -0700
+
+ gallium: remove files not in master
+
+ Remove git droppings we've accumulated somehow.
+
+commit a779f3b587d55cacd2b807ba10634e07c638a534
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Sep 20 07:50:22 2008 -0700
+
+ gallium: remove remnants of an nouveau driver
+
+ This isn't present on master, so probably shouldn't be here either.
+
+commit f9958a1ac625d8608e4a8a0c0d4c9f9d108cc401
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Sep 21 11:46:36 2008 -0700
+
+ swrast: remove merge droppings
+
+commit dd90d304f2751cbd3ca9a961c8e54d37aaa47d91
+Merge: 7513bc3 45efcc4
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Sep 21 11:01:22 2008 -0700
+
+ Merge branch 'master' into gallium-0.2
+
+commit 45efcc44c758a94928648bc20df32b98b3462bcc
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Sep 21 11:00:44 2008 -0700
+
+ Remove CVS keywords.
+
+ Cherry-picked from gallium-0.1
+
+ Conflicts:
+
+ src/glu/sgi/libnurbs/interface/bezierEval.h
+ src/glu/sgi/libnurbs/interface/bezierPatch.h
+ src/glu/sgi/libnurbs/interface/bezierPatchMesh.h
+ src/glu/sgi/libnurbs/internals/dataTransform.h
+ src/glu/sgi/libnurbs/internals/displaymode.h
+ src/glu/sgi/libnurbs/internals/sorter.h
+ src/glu/sgi/libnurbs/nurbtess/definitions.h
+ src/glu/sgi/libnurbs/nurbtess/directedLine.h
+ src/glu/sgi/libnurbs/nurbtess/gridWrap.h
+ src/glu/sgi/libnurbs/nurbtess/monoChain.h
+ src/glu/sgi/libnurbs/nurbtess/monoPolyPart.h
+ src/glu/sgi/libnurbs/nurbtess/monoTriangulation.h
+ src/glu/sgi/libnurbs/nurbtess/partitionX.h
+ src/glu/sgi/libnurbs/nurbtess/partitionY.h
+ src/glu/sgi/libnurbs/nurbtess/polyDBG.h
+ src/glu/sgi/libnurbs/nurbtess/polyUtil.h
+ src/glu/sgi/libnurbs/nurbtess/primitiveStream.h
+ src/glu/sgi/libnurbs/nurbtess/quicksort.h
+ src/glu/sgi/libnurbs/nurbtess/rectBlock.h
+ src/glu/sgi/libnurbs/nurbtess/sampleComp.h
+ src/glu/sgi/libnurbs/nurbtess/sampleCompBot.h
+ src/glu/sgi/libnurbs/nurbtess/sampleCompRight.h
+ src/glu/sgi/libnurbs/nurbtess/sampleCompTop.h
+ src/glu/sgi/libnurbs/nurbtess/sampleMonoPoly.h
+ src/glu/sgi/libnurbs/nurbtess/sampledLine.h
+ src/glu/sgi/libnurbs/nurbtess/searchTree.h
+ src/glu/sgi/libnurbs/nurbtess/zlassert.h
+ src/glu/sgi/libutil/error.c
+ src/glu/sgi/libutil/glue.c
+ src/glu/sgi/libutil/gluint.h
+ src/glu/sgi/libutil/project.c
+ src/glu/sgi/libutil/registry.c
+ src/glx/x11/glxclient.h
+ src/glx/x11/glxext.c
+ src/mesa/drivers/dri/ffb/ffb_dd.h
+ src/mesa/drivers/dri/ffb/ffb_points.h
+ src/mesa/drivers/dri/gamma/gamma_context.h
+ src/mesa/drivers/dri/gamma/gamma_macros.h
+ src/mesa/drivers/dri/i810/i810context.h
+ src/mesa/drivers/dri/r128/r128_dd.h
+ src/mesa/drivers/dri/tdfx/tdfx_dd.h
+
+commit 7513bc3886b69335e7976b2c9bbde8e928485818
+Merge: f25a90e 64dc397
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Sep 21 10:49:38 2008 -0700
+
+ Merge branch 'master' into gallium-0.2
+
+commit 64dc397d8b6a0b1b87fde0a4f20a57fab2664ef2
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Jul 23 21:06:01 2008 +0900
+
+ mesa: Prefix main includes with dir to avoid conflicts.
+
+ Eliminate a couple of differences with gallium-0.2
+
+commit f25a90ed222216d89b3cd33ec60647ff78286074
+Merge: 9644fa6 2ea3ef9
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Sep 21 10:34:25 2008 -0700
+
+ Merge branch 'master' into gallium-0.2
+
+commit 2ea3ef9a80f1759bea8cfe61179fc30fadecea50
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Sep 12 15:03:19 2008 +0100
+
+ mesa: remove dead file
+
+commit c07e274f44356cb662c04817f810d8d1adedd872
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Sep 12 15:02:50 2008 +0100
+
+ mesa: add explict float casts
+
+commit 9644fa6c48f596875f6955728c3a8af1b01a5028
+Merge: 99cdfc9 32ef6e7
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Sep 21 10:28:06 2008 -0700
+
+ Merge branch 'master' into gallium-0.2
+
+ Conflicts:
+
+ include/GLES/egl.h
+ include/GLES/egltypes.h
+ src/egl/main/eglconfig.c
+ src/egl/main/eglconfig.h
+ src/glu/sgi/libnurbs/interface/bezierEval.h
+ src/glu/sgi/libnurbs/interface/bezierPatch.h
+ src/glu/sgi/libnurbs/interface/bezierPatchMesh.h
+ src/glu/sgi/libnurbs/internals/dataTransform.h
+ src/glu/sgi/libnurbs/internals/displaymode.h
+ src/glu/sgi/libnurbs/internals/sorter.h
+ src/glu/sgi/libnurbs/nurbtess/definitions.h
+ src/glu/sgi/libnurbs/nurbtess/directedLine.h
+ src/glu/sgi/libnurbs/nurbtess/gridWrap.h
+ src/glu/sgi/libnurbs/nurbtess/monoChain.h
+ src/glu/sgi/libnurbs/nurbtess/monoPolyPart.h
+ src/glu/sgi/libnurbs/nurbtess/monoTriangulation.h
+ src/glu/sgi/libnurbs/nurbtess/partitionX.h
+ src/glu/sgi/libnurbs/nurbtess/partitionY.h
+ src/glu/sgi/libnurbs/nurbtess/polyDBG.h
+ src/glu/sgi/libnurbs/nurbtess/polyUtil.h
+ src/glu/sgi/libnurbs/nurbtess/primitiveStream.h
+ src/glu/sgi/libnurbs/nurbtess/quicksort.h
+ src/glu/sgi/libnurbs/nurbtess/rectBlock.h
+ src/glu/sgi/libnurbs/nurbtess/sampleComp.h
+ src/glu/sgi/libnurbs/nurbtess/sampleCompBot.h
+ src/glu/sgi/libnurbs/nurbtess/sampleCompRight.h
+ src/glu/sgi/libnurbs/nurbtess/sampleCompTop.h
+ src/glu/sgi/libnurbs/nurbtess/sampleMonoPoly.h
+ src/glu/sgi/libnurbs/nurbtess/sampledLine.h
+ src/glu/sgi/libnurbs/nurbtess/searchTree.h
+ src/glu/sgi/libnurbs/nurbtess/zlassert.h
+ src/glu/sgi/libutil/error.c
+ src/glu/sgi/libutil/glue.c
+ src/glu/sgi/libutil/gluint.h
+ src/glu/sgi/libutil/project.c
+ src/glu/sgi/libutil/registry.c
+ src/glx/x11/Makefile
+ src/glx/x11/glxclient.h
+ src/glx/x11/glxext.c
+ src/mesa/drivers/dri/ffb/ffb_dd.h
+ src/mesa/drivers/dri/ffb/ffb_points.h
+ src/mesa/drivers/dri/gamma/gamma_context.h
+ src/mesa/drivers/dri/gamma/gamma_macros.h
+ src/mesa/drivers/dri/i810/i810context.h
+ src/mesa/drivers/dri/r128/r128_dd.h
+ src/mesa/drivers/dri/r128/r128_tex.h
+ src/mesa/drivers/dri/tdfx/tdfx_dd.h
+ src/mesa/drivers/x11/xm_buffer.c
+ src/mesa/glapi/glapi.c
+ src/mesa/main/dispatch.c
+ src/mesa/main/state.c
+ src/mesa/main/texstate.c
+ src/mesa/shader/arbprogparse.c
+ src/mesa/shader/arbprogram.c
+ src/mesa/shader/nvfragparse.c
+ src/mesa/shader/nvprogram.c
+ src/mesa/shader/shader_api.c
+ src/mesa/sources
+ src/mesa/swrast/s_aaline.c
+ src/mesa/swrast/s_aaline.h
+ src/mesa/swrast/s_aatriangle.h
+ src/mesa/swrast/s_accum.c
+ src/mesa/swrast/s_alpha.h
+ src/mesa/swrast/s_bitmap.c
+ src/mesa/swrast/s_blend.h
+ src/mesa/swrast/s_context.c
+ src/mesa/swrast/s_copypix.c
+ src/mesa/swrast/s_depth.c
+ src/mesa/swrast/s_depth.h
+ src/mesa/swrast/s_drawpix.c
+ src/mesa/swrast/s_drawpix.h
+ src/mesa/swrast/s_feedback.c
+ src/mesa/swrast/s_feedback.h
+ src/mesa/swrast/s_fog.h
+ src/mesa/swrast/s_lines.h
+ src/mesa/swrast/s_logic.h
+ src/mesa/swrast/s_masking.h
+ src/mesa/swrast/s_points.c
+ src/mesa/swrast/s_points.h
+ src/mesa/swrast/s_readpix.c
+ src/mesa/swrast/s_span.c
+ src/mesa/swrast/s_span.h
+ src/mesa/swrast/s_stencil.h
+ src/mesa/swrast/s_texcombine.c
+ src/mesa/swrast/s_texcombine.h
+ src/mesa/swrast/s_texfilter.c
+ src/mesa/swrast/s_texfilter.h
+ src/mesa/swrast/s_texstore.c
+ src/mesa/swrast/s_triangle.c
+ src/mesa/swrast/s_triangle.h
+ src/mesa/swrast/s_zoom.h
+ src/mesa/swrast_setup/ss_context.c
+ src/mesa/swrast_setup/ss_triangle.h
+ src/mesa/tnl/t_draw.c
+ src/mesa/tnl/t_vb_light.c
+ src/mesa/tnl/t_vertex_generic.c
+ src/mesa/tnl/t_vertex_sse.c
+ src/mesa/tnl/t_vp_build.h
+ src/mesa/tnl/tnl.h
+ src/mesa/x86/common_x86.c
+
+commit 32ef6e75839d6be283e034436e5dd34eabb67958
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Sep 20 08:26:11 2008 -0700
+
+ mesa: move fixed function vertex program builder from tnl to core mesa
+
+ Also unify caching of fragment and vertex programs in shader/prog_cache.c`
+
+ Brought across from gallium-0.2
+
+commit e019ead5d76fd4e6e7d47d23e0284058391e1e29
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 17 11:29:59 2008 -0600
+
+ mesa: add parenthesis
+
+ (cherry picked from commit c366fd83b617db6c8c064802ff4bf120d654507d)
+
+commit 5a46e176715b0eae7b8a715e8aec42f5a27214fc
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Sep 20 07:32:30 2008 -0700
+
+ mesa: standardize on C99's uint*_t instead of u_int*_t
+
+commit 3474e9de924d92a941b4ea33ecc694f5fad2651f
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Jun 4 23:55:55 2008 +0900
+
+ mesa: Remove assyntax.h include from generated matypes.h.
+
+ matypes.h doesn't really depend on assyntax.h; assyntax.h is only present
+ on x86; and this way we remove the need of grep being available (which is
+ relevant for scons and non-unix platforms).
+ (cherry picked from commit fc286ff3ba089af5f1aca2d35b93b53a9383b1cf)
+
+commit 6b146214dc16b441376d8dcaba21bcc4256a2402
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Sep 20 06:43:24 2008 -0700
+
+ mesa: move rastpos helper to tnl
+
+commit 7ce597508e7400e962c8fdb2d255f9887cb9c710
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Sep 20 06:34:23 2008 -0700
+
+ mesa: improved driver query interface
+
+ Brought over from gallium-0.2 branch.
+
+commit da85a94d99cfbd8f094a475fb2272efb4e87b9a9
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Sun Sep 21 14:12:04 2008 +0200
+
+ nouveau: init scaled_image_from_memory object for swizzled surface upload
+
+commit 70071484d95bed8c2c932d1c79e20230bcdbc1dc
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Sun Sep 21 14:02:30 2008 +0200
+
+ nouveau: add flag for swizzled surface upload
+
+commit 99cdfc997b9da10fee57cf1048a55354e1ee4244
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 19 17:55:54 2008 -0600
+
+ cell: use different opcodes for spe_move() depending on even/odd address
+
+commit aca74a4d92ba6f99d756ab703a78efc3918b3840
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 19 17:55:10 2008 -0600
+
+ cell: make sure the fragment ops and fragment shader code buffer is at a 32-byte boundary
+
+ To make sure even/odd instructions hit the right pipes.
+
+commit bef3444f41547eda95c0f677783ab7737869bfd2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 19 17:53:56 2008 -0600
+
+ gallium: added ALIGN32_ATTRIB
+
+commit 7af5f944e5709920623c766bc572f8d587709270
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 19 17:45:51 2008 -0600
+
+ gallium: added spe_code_size()
+
+commit dc8058c3370588bfcad49fadace1691da47d58cd
+Author: Adam Jackson <ajax@redhat.com>
+Date: Fri Sep 19 17:16:53 2008 -0400
+
+ Update to SGI FreeB 2.0.
+
+ Under the terms of version 1.1, "once Covered Code has been published
+ under a particular version of the License, Recipient may, for the
+ duration of the License, continue to use it under the terms of that
+ version, or choose to use such Covered Code under the terms of any
+ subsequent version published by SGI."
+
+ FreeB 2.0 license refers to "dates of first publication". They are here
+ taken to be 1991-2000, as noted in the original license text:
+
+ ** Original Code. The Original Code is: OpenGL Sample Implementation,
+ ** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+ ** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+ ** Copyright in any portions created by third parties is as indicated
+ ** elsewhere herein. All Rights Reserved.
+
+ Official FreeB 2.0 text:
+
+ http://oss.sgi.com/projects/FreeB/SGIFreeSWLicB.2.0.pdf
+
+ As always, this code has not been tested for conformance with the OpenGL
+ specification. OpenGL conformance testing is available from
+ http://khronos.org/ and is required for use of the OpenGL logo in
+ product advertising and promotion.
+
+commit 33bef5866c81a7f358c0aa2e37e20443dafb9eb2
+Author: Jonathan White <jwhite@tungstengraphics.com>
+Date: Fri Sep 19 15:10:25 2008 -0600
+
+ cell: Added FRC instruction
+
+commit 1031638c2df825acc06a6180411caa4d9ebd5b31
+Author: Jonathan White <jwhite@tungstengraphics.com>
+Date: Fri Sep 19 14:18:39 2008 -0600
+
+ cell: Added FLR instruction. Verified the following instructions match softpipe: MOV, ADD, MUL, SGE, SUB, MAD, ABS, SLT, MIN, MAX, LRP, DP3, DP4, CMP, FLR
+
+commit e9c05c5b82fdae75a3dccad23203987c277572b0
+Author: Jonathan White <jwhite@tungstengraphics.com>
+Date: Fri Sep 19 12:59:36 2008 -0600
+
+ cell: Fixed bugs with DP3 and DP4, they match softpipe results now.
+
+commit 7abf2358d739b126336c4837156816ce03f2b9d6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 19 12:52:41 2008 -0600
+
+ cell: flesh out support for other Z/stencil format
+
+ Also: improve float/int Z conversion.
+ Use clgt instead of cgt in depth test since we're comparing unsigned values.
+
+commit 8701e5f702a0b15d44395268e2422c196d8f4efd
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Fri Sep 19 19:11:37 2008 +0200
+
+ mesa: Fix compiler error.
+
+commit 0500ae574f4192dd1972baa23e9c62f992042ab9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 19 10:50:46 2008 -0600
+
+ cell: issue warning to stderr when using fallback fragment ops
+
+commit 3c6bb15b7ae1c08b1ddde9e0bfb4796fd68a8a0b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 19 10:43:04 2008 -0600
+
+ cell: fix a comment
+
+commit de0a6dc04a5b508472cc0cce4481ac3bb95fda3b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 19 10:42:21 2008 -0600
+
+ cell: the test for CELL_DEBUG_FRAGMENT_OP_FALLBACK in cmd_state_fragment_ops() was inverted
+
+commit 44d5e607c7a8794007a29a5e2399f98615ec8def
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 19 10:41:03 2008 -0600
+
+ cell: disable XShmPutImage for tiled surface for now
+
+ Multiple displays of same surface data causes pixels to get scrambled.
+
+commit 0838b702750d85b0284a97be211fa379e9f8d8d8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 19 09:36:29 2008 -0600
+
+ cell: change spe_complement() to take a src and dst reg, like other instructions
+
+commit d310c52c7f6dd586673e848712f5977a03ff1438
+Merge: dda5c0c 13e7e4b
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Sep 19 23:49:33 2008 +0900
+
+ Merge branch 'gallium-0.2' of ssh+git://git.freedesktop.org/git/mesa/mesa into gallium-0.2
+
+commit dda5c0c611d55449a7079c9efeaccc417552c5db
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Sep 19 23:25:29 2008 +0900
+
+ util: Use OpenGL rasterization rules in blits and mipmap generation.
+
+commit 13e7e4b634a94efe14f4d79723844d5fdfe12ad4
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Sep 19 14:55:49 2008 +0100
+
+ mesa: add missing FEATURE_attrib_stack around
+ call to _mesa_free_attrib_data()
+
+commit 89f47d1645c9f8a61de59792a85d1f380c0b3524
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Fri Sep 19 15:25:29 2008 +0200
+
+ i915simple: Use defined MSAA array
+
+commit 256592807cea9d543d13c1bb04d3f82852293f5c
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Sep 19 14:19:38 2008 +0100
+
+ bug fix to MSAA visuals
+
+commit d3172cddbf814b0ce6877faff9a7d73b99272faa
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Sep 19 14:13:57 2008 +0100
+
+ fix for MSAA
+
+commit f7d80aa00611917bc8ce637136d982b151b8f44f
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Sep 19 13:55:34 2008 +0100
+
+ re-add MSAA support
+
+commit 82623bf2e515a862a69c8bce351a2bcb6937589c
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Fri Sep 19 14:46:24 2008 +0200
+
+ i915simple: Front flushing does work
+
+commit c6dc1bf6e08b264681d3230cac08bd7d8ee6c964
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Fri Sep 19 14:16:19 2008 +0200
+
+ i915simple: Fix extentions being loaded
+
+commit 0576e837f18ad9925d732f883f4922c907d7bafb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 19 13:04:52 2008 +0200
+
+ mesa: Fix arb parse constants
+
+commit 866a2c3ccb6b62966ce1da796498a62e276570d1
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Fri Sep 19 12:43:02 2008 +0200
+
+ mesa: Update ignores a bit
+
+commit a57fbe53dcb54694da9c9b4be1533c9d800079d2
+Author: Robert Ellison <papillo@tungstengraphics.com>
+Date: Fri Sep 19 01:55:00 2008 -0600
+
+ CELL: add codegen for logic op, color mask
+
+ - rtasm_ppc_spe.c, rtasm_ppc_spe.h: added a new macro function
+ "spe_load_uint" for loading and splatting unsigned integers
+ in a register; it will use "ila" for values 18 bits or less,
+ "ilh" for word values that are symmetric across halfwords,
+ "ilhu" for values that have zeroes in their bottom halfwords,
+ or "ilhu" followed by "iohl" for general 32-bit values.
+
+ Of the 15 color masks of interest, 4 are 18 bits or less,
+ 2 are symmetric across halfwords, 3 are zero in the bottom
+ halfword, and 6 require two instructions to load.
+
+ - cell_gen_fragment.c: added full codegen for logic op and
+ color mask.
+
+commit 19d9c81b8c785e94b95110a45497aa52f4a53a34
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Sep 18 21:22:08 2008 -0600
+
+ glx: re-add glapi/ path
+
+commit cfc4b4c98920293cb9a91ba0e9f89626e175c8dc
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Sep 18 20:31:05 2008 -0600
+
+ mesa: remove unneeded s_drawpix.h header
+
+commit 4eb95ce807222bc31019b69156fab44aac72cfe7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Sep 18 20:27:16 2008 -0600
+
+ glx: added "glapi/" prefix to include
+
+commit 984a7c4e9c42cf8ddfcff5b880b522a6dd58bce2
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Sep 19 10:40:42 2008 +0900
+
+ gallium: Fix doxygen comments.
+
+commit 5f88d871ea051e0c89bbbfc832a565fc8de70c6a
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Sep 19 10:20:10 2008 +0900
+
+ softpipe: Obey const qualifier.
+
+commit 8d41e4536dfde34b55228cab6ddb081ad6252184
+Author: Chris Rankin <rankincj@yahoo.com>
+Date: Thu Sep 18 16:48:11 2008 -0600
+
+ mesa: fix asst path/include mistakes in prev commits
+
+commit 4485ac87c2cf69bef443ac36cccaa70054c6a7bb
+Author: Robert Ellison <papillo@tungstengraphics.com>
+Date: Thu Sep 18 16:36:37 2008 -0600
+
+ CELL: mark several transient files as .gitignore
+
+ progs/demos: added new demo "fbo_firecube"
+
+ progs/glsl: added new demo "pointcoord"
+
+ src/gallium/drivers/cell/spu: added the g3d_spu executable, a Cell SPU
+ executable file, which seems to be occasionally built as part of the
+ cell driver
+
+ src/glu/sgi: added "exptmp", a byproduct of the "mklib" process that
+ sometimes gets deleted and sometimes not.
+
+commit a9004cc79cd9287305f36254194e2477ce871765
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 18 15:36:17 2008 -0600
+
+ destroy window on exit
+
+commit 8d249ca620f6995cc5824d95c29bda7043bbdf8c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 18 15:35:56 2008 -0600
+
+ gallium: if we run out of memory in st_TexImage, flush and try again.
+
+ If the driver buffers a scene flushing should release old textures and
+ make space for new ones. Fixes problem with texdown.c test.
+
+commit 58dce864e659da3d1f9761154e622a45e420c229
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 18 15:29:57 2008 -0600
+
+ mesa: fix null ptr deref bug in _tnl_InvalidateState(), bug 15834
+
+commit ecadb51bbcb972a79f3ed79e65a7986b9396e757
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 18 15:17:05 2008 -0600
+
+ mesa: added "main/" prefix to includes, remove some -I paths from Makefile.template
+
+commit 698bffb8844f6f45e09ed0c9fea39298ac6423d2
+Author: Jonathan White <jwhite@tungstengraphics.com>
+Date: Thu Sep 18 14:49:00 2008 -0600
+
+ cell: Added CMP instruction
+
+commit 374e7fd6cc95d3d91629a6e1c951d77e8a29c31c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 18 13:46:47 2008 -0600
+
+ mesa: prefix more #includes with "main/"
+
+commit 06370a91b305e0697cb5ba1659e2423c7dfaf1fc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 18 13:34:57 2008 -0600
+
+ mesa: remove a bunch of -I paths from INCLUDE_DIRS
+
+commit a25e1aa0aab6bd278eefa7c0748b491c9c6ae62c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 18 13:26:30 2008 -0600
+
+ glx: remove #include "glheader.h" lines
+
+ Was only used to get the PUBLIC/USED macros.
+ Also, replace "GL_FALSE" with "False" in a couple places.
+
+commit 3537da87de2601fa53eeda3e8d7fa0bca6eb6716
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 18 13:23:06 2008 -0600
+
+ glx: remove depency on glheader.h and GLboolean type in XF86DRI code
+
+ Return Bool instead of GLboolean to match other functions.
+ Define PUBLIC/USED macros locally.
+
+commit bbd287103dad776d8a45c87c4e51fbc26d9b80d5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 18 12:26:54 2008 -0600
+
+ mesa: prefix a bunch of #include lines with "main/".
+
+ This is another step toward removing a whole bunch of -I flags from
+ the cc commands. Still need to address driver code...
+
+commit a8d1521f30766b6a4707aa9966e1f2f9c0b3ac00
+Merge: 89ab664 0b8e19f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Sep 18 19:06:20 2008 +0100
+
+ Merge commit 'origin/gallium-0.1' into gallium-0.2
+
+ Conflicts:
+
+ src/mesa/shader/slang/slang_link.c
+
+commit 89ab66448e1bcd78caab6678261c2885dcff741c
+Merge: 1074e8e 5e530d8
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Sep 18 18:57:46 2008 +0100
+
+ Merge commit 'origin/master' into gallium-0.2
+
+ Conflicts:
+
+ progs/trivial/Makefile
+ src/mesa/glapi/glthread.c
+
+commit 1074e8e4e47bb4af73c7ef730d0fec40e826cc7e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Sep 12 15:10:50 2008 +0100
+
+ mesa: bring sources into line with sources.mak, but omit gallium code
+
+commit 841205e365fabf7cfa5d4f6cdba80f6507086b4e
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Fri Sep 12 12:43:10 2008 +0300
+
+ dri/swrast: fix swapBuffers after dri2
+
+commit 3bb864682944a391c81e7c52e9bb36ed53b853f5
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Fri Sep 12 09:25:34 2008 +0800
+
+ i965: Add support for G41 chipset which is another 4 series.
+
+commit 15fceac0404f450f026f10bd2f4bdd0c939b5d00
+Author: Jonathan White <jwhite@tungstengraphics.com>
+Date: Thu Sep 18 11:11:49 2008 -0600
+
+ cell: Fix bug with complement logic for SGE and SLE
+
+commit 3d2449247afce18e6a0604b794778d1373c879be
+Author: Jonathan White <jwhite@tungstengraphics.com>
+Date: Thu Sep 18 10:37:45 2008 -0600
+
+ cell: Added SGE and SLE instructions to dispatch function
+
+commit c868a1c32d70295f425333f9e8a35235b129704b
+Author: Jonathan White <jwhite@tungstengraphics.com>
+Date: Thu Sep 18 10:36:09 2008 -0600
+
+ cell: Added SGE and SLE instructions
+
+commit 0b8e19ffc51c29543796d4f1e3243e97d8c32671
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Thu Sep 18 16:28:16 2008 +0200
+
+ tgsi: Build tgsi_text with make
+
+commit eb5c288df48fa818ecb2bbd71f263ec68ebbef8a
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Sep 18 23:00:18 2008 +0900
+
+ util: A few more memory debugging checks.
+
+commit 451888ee8f9d9749a2d52351374a14525c07ef2b
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Sep 18 22:24:45 2008 +0900
+
+ util: Add missing p_debug.h include.
+
+commit f68d2a0febca38bc7b31f9ab9718e944935b48bc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 18 08:10:34 2008 -0600
+
+ gallium: fix surface object memory leak in cso module
+
+commit 5e1ef85dc430a4439cd60b66262eab9062dd5f4f
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Thu Sep 18 14:48:45 2008 +0200
+
+ tgsi: Make tgsi dumps look more like mesa shader dumps.
+
+commit fa7529335c38d4c139e5b1fc17a518f7e5fa1d82
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Thu Sep 18 14:14:56 2008 +0200
+
+ progs/fp: Add a bit of local variable testing to fp-tri
+
+commit f8bba34d4e12ef4c620cac881a4b697a1e668377
+Author: Robert Ellison <papillo@tungstengraphics.com>
+Date: Thu Sep 18 01:29:41 2008 -0600
+
+ CELL: finish fragment ops blending (except for unusual D3D modes)
+
+ - Added new "macro" functions spe_float_min() and spe_float_max()
+ to rtasm_ppc_spe.{ch}. These emit instructions that cause
+ the minimum or maximum of each element in a vector of floats
+ to be saved in the destination register.
+
+ - Major changes to cell_gen_fragment.c to implement all the blending
+ modes (except for the mysterious D3D-based PIPE_BLENDFACTOR_SRC1_COLOR,
+ PIPE_BLENDFACTOR_SRC1_ALPHA, PIPE_BLENDFACTOR_INV_SRC1_COLOR, and
+ PIPE_BLENDFACTOR_INV_SRC1_ALPHA).
+
+ - Some revamping of code in cell_gen_fragment.c: use the new spe_float_min()
+ and spe_float_max() functions (instead of expanding these calculations
+ inline via macros); create and use an inline utility function for handling
+ "optional" register allocation (for the {1,1,1,1} vector, and the
+ blend color vectors) instead of expanding with macros; use the Float
+ Multiply and Subtract (fnms) instruction to simplify and optimize many
+ blending calculations.
+
+commit ed0c308f39f7d7a5cb05571e37440469eacbd624
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Thu Sep 18 13:39:52 2008 +1000
+
+ nv50: use 3D engine clears, 2D engine doesn't understand zeta formats
+
+commit 1672e8e05996d48e51a1998bd7e9b08b78e012f5
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Sep 18 11:10:09 2008 +0900
+
+ pipebuffer: New callback to flush all temporary-held buffers.
+
+ Used mostly to aid debugging memory issues or to clean up resources when
+ the drivers are long lived.
+
+commit 562b31195cc8140d3bd0ad7ed8532200e9df520a
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Thu Sep 18 13:15:55 2008 +1000
+
+ nv50: hack surface alloc a bit for now
+
+commit b1d8b6c4d986a6526f20e1e89982036f0ba85222
+Merge: 6fca186 a06d38a
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Thu Sep 18 13:14:36 2008 +1000
+
+ Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1
+
+commit 6fca18696d0e6a243f6fbb5a30de45100a8e5fa0
+Author: Younes Manton <younes.m@gmail.com>
+Date: Wed Sep 17 22:00:37 2008 -0400
+
+ g3dvl: Update XvMC unit tests.
+
+commit a06d38a74e865a0373a7314aad26b25c27ef8c57
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 17 16:51:53 2008 -0600
+
+ gallium: fix wide point / point coord semantic info (generic, not fog)
+
+commit 4ee8d1ad679ea8540e91616933a880cdb3836a19
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 17 16:49:26 2008 -0600
+
+ gallium: fix fog vs. pointcoord attribute handling in mesa->TGSI conversion
+
+commit d7a7b0a10dd355fbeb7a404091a42d4ab558c820
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 17 16:48:13 2008 -0600
+
+ mesa: new gl_fragment_program fields indicating use of fog, front-facing, point coord
+
+commit 3b3d34d637d413af48fa5bd037b579ccb4ea7bb5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 17 15:29:59 2008 -0600
+
+ egl: print multisample info
+
+commit 1a820f52f6fa125786538c1adf2aa350e66b8c1e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 17 14:32:33 2008 -0600
+
+ gallium: clean-up/fix msaa override in state tracker
+
+commit e6a120fefea44078b3a8d4292d83671e6c41357f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 17 13:14:57 2008 -0600
+
+ gallium: fix tgsi sanity checker with respect to END.
+
+ Subroutine code may be found after the END instruction so it's not always
+ the last instruction.
+ At least check for presence of exactly one END instruction though.
+
+commit 133693ebe8904de785610efd38219bca67b75222
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 17 13:13:02 2008 -0600
+
+ mesa: update program->NumAddressRegs field in _slang_update_inputs_outputs()
+
+commit 095ca0acd8019e8f2da89f9320b92ce4a96a140e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 17 10:25:18 2008 -0600
+
+ gallium: include prog_print.h to silence warning
+
+commit 66682651b622be201b211d50c7311e0b81b2b4a5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 17 10:22:38 2008 -0600
+
+ gallium: need to finish, not flush, in st_copy_texsubimage()
+
+commit 63b915d743e1807696a55f5e52a1fe9df799aeb3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 17 10:20:49 2008 -0600
+
+ gallium: new assertion on surface->texture
+
+commit ec8398d62f5e5084e9eeb98ed55324ab98214248
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Wed Sep 17 18:11:35 2008 +0200
+
+ tgsi: Add a ugly fix for CONSTANT problems
+
+commit f8a5cb8cb2fde732016888a2554872d702803c01
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Wed Sep 17 18:08:03 2008 +0200
+
+ tgsi: More debug printing on sanity check error
+
+commit f10e7f0d288530a31a7ed3bc976a537fe640ce69
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 17 09:47:51 2008 -0600
+
+ gallium: fix lack of surface reference counting in cso_set/save/restore_framebuffer()
+
+ Fixes asst problems with FBO / render to texture.
+
+commit 5e530d8384b0d9bb867d6407315587c84a443902
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 17 09:05:04 2008 -0600
+
+ mesa: fix bug in previous changes to _slang_resolve_attributes()
+
+commit 0d20c88f626dfcfd8ad0b95f9e05feed19151e35
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 17 09:05:04 2008 -0600
+
+ mesa: fix bug in previous changes to _slang_resolve_attributes()
+
+commit f631093ce76ad14dee63293761d7da7b7b42fc6d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 17 08:17:02 2008 -0600
+
+ cell: example of doing fs/fm sequence with fnms in blending
+
+commit 05aeb92a092c26e7773beb95692fc72e70a40e56
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 17 08:11:42 2008 -0600
+
+ cell: dump generated code if CELL_DEBUG=asm
+
+commit 858ced051551aa5d0ddd41936253d3a4ee5c142f
+Author: Robert Ellison <papillo@tungstengraphics.com>
+Date: Wed Sep 17 02:30:20 2008 -0600
+
+ CELL: fleshing out the blending fragment ops
+
+ - Added two new debug flags (to be used with the CELL_DEBUG environment
+ variable). The first, "CELL_DEBUG=fragops", activates SPE fragment
+ ops debug messages. The second, "CELL_DEBUG=fragopfallback", will
+ eventually be used to disable the use of generated SPE code for
+ fragment ops in favor of the default fallback reference routine.
+ (During development, though, the parity of this flag is reversed:
+ all users will get the reference code *unless* CELL_DEBUG=fragopfallback
+ is set. This will prevent hiccups in code generation from affecting
+ the other developers.)
+
+ - Formalized debug message usage and macros in spu/spu_main.c.
+
+ - Added lots of new code to ppu/cell_gen_fragment.c to extend the
+ number of supported source RGB factors from 4 to 15, and to
+ complete the list of supported blend equations.
+
+ More coming, to complete the source and destination RGB and alpha
+ factors, and to complete the rest of the fragment operations...
+
+commit 904f31a62444d9f7e9b12ddafaa4beeb7fed6dfa
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Sep 16 17:01:06 2008 -0700
+
+ intel: Destroy bufmgr in screen destroy, not context.
+
+ Caused server crashes on second context creation since
+ 7e0bbdcf033981282978554c2e68ce48b55aa291.
+
+ Bug #17600.
+
+commit 27341a97a17b23fdf57d33f78b475a474db71e4a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 16 16:28:36 2008 -0600
+
+ mesa: rework GLSL vertex attribute binding
+
+ Calls to glBindAttribLocation() should not take effect until the next time
+ that glLinkProgram() is called.
+ gl_shader_program::Attributes now just contains user-defined bindings.
+ gl_shader_program::VertexProgram->Attributes contains the actual/final bindings.
+
+commit a3a797ffa84975330d5632ce7a71c65c9c2ad0d8
+Author: Jonathan White <jwhite@tungstengraphics.com>
+Date: Tue Sep 16 16:00:42 2008 -0600
+
+ cell: Added RCP and RSQ instruction support.
+
+commit e53296c928d80c6627a9551345c160533aa1a19e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 16 15:50:44 2008 -0600
+
+ mesa: rework GLSL vertex attribute binding
+
+ Calls to glBindAttribLocation() should not take effect until the next time
+ that glLinkProgram() is called.
+ gl_shader_program::Attributes now just contains user-defined bindings.
+ gl_shader_program::VertexProgram->Attributes contains the actual/final bindings.
+
+commit fbbaad14a6b6de07631d5a9fd6e4b847a9e9dd5a
+Author: Jonathan White <jwhite@tungstengraphics.com>
+Date: Tue Sep 16 13:56:56 2008 -0600
+
+ cell: Added DP3 and DP4 instructions
+
+commit 37607aeaf8b0fd35213635ba1c3743b6e059d48f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 16 11:59:24 2008 -0600
+
+ gallium: fix glTexImage(width=height=depth=0) case
+
+ Free old teximage/level data, then stop.
+
+commit 39cb5b9f73318a069e2d8553243ae17955a85695
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 16 13:23:01 2008 -0600
+
+ mesa: fix display list regression (check if save->prim_count > 0 in vbo_save_EndList())
+
+commit d43951192baa7b76d3e035d689f73c1d2955cddb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 16 13:23:01 2008 -0600
+
+ mesa: fix display list regression (check if save->prim_count > 0 in vbo_save_EndList())
+
+commit 8cdab20c9a0d8794d5d85dbeef478b982ce39506
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 16 12:52:19 2008 -0600
+
+ gallium: fix info entries for KIL, KILP
+
+ KIL takes 1 src register. KILP uses no registers (uses cond codes).
+
+commit 2010cd7810da50484fea03259e777ffac0593007
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Tue Sep 16 19:26:28 2008 +0200
+
+ st: hash-warning not recognised on Windows.
+
+commit dd75ca89ebce58a69da20c1efbf2a53575b2c96e
+Author: Jonathan White <jwhite@tungstengraphics.com>
+Date: Tue Sep 16 09:42:28 2008 -0600
+
+ cell: Optimized LERP with fma
+ Please enter the commit message for your changes.
+
+commit 2c54a6ee798ae22f92ef1fc4a1658ec5e701388a
+Author: Jonathan White <jwhite@tungstengraphics.com>
+Date: Tue Sep 16 09:36:38 2008 -0600
+
+ cell: Fixed MIN/MAX algorithm
+
+commit ea9568dfbe7415db1a529ca4ecc1b9c41cae10b1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 16 08:55:54 2008 -0600
+
+ mesa: fix bug in get_uniform_rows_cols(): sometimes returned too many rows
+
+commit 753635f733c5548ac8e662e792f65d41b454052a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 16 08:51:28 2008 -0600
+
+ gallium: move _vbo_DestroyContext() call
+
+ Call it before freeing core Mesa state to avoid references to freed buffer objects.
+
+commit 4992806ae54d7d1db86eed9c6524aa05f4a2fbd6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 16 08:49:43 2008 -0600
+
+ mesa: protect against double-free in _vbo_DestroyContext()
+
+commit 358aab12c60d5e627d2ce54c1407659cbc207e8c
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Tue Sep 16 16:17:46 2008 +0200
+
+ mesa: State tracker now checks for faulty shaders on debug
+
+commit ad16ecbbe4fe8c1bcb18ed8fbbd672c68a0b17fa
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Tue Sep 16 16:16:54 2008 +0200
+
+ tgsi: Make tgsi_sanity.c compile with make
+
+commit eef2edadf33cdb4ce033565ebc5b6aaf56e9288f
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Sep 16 20:24:43 2008 +0900
+
+ trace: Fix typo in build instructions.
+
+commit 32250eb959b1355b2f6984ea892a86a6ecf9d3c3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 15 19:38:39 2008 -0600
+
+ cell: export CELL_DEBUG=asm to dump SPU assembly code
+
+commit 9d48a7832b78658d2422ae5a185276c41750010d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 15 17:10:04 2008 -0600
+
+ mesa: fix MSAA enable state in update_multisample()
+
+commit b1f5fbe1cb937bc639cc335acfcfb8c09dfeb3ec
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 15 17:10:04 2008 -0600
+
+ mesa: fix MSAA enable state in update_multisample()
+
+commit e67374b6b2f6fd846c368ec70e80f0f4cf508f97
+Author: Jonathan White <jwhite@tungstengraphics.com>
+Date: Mon Sep 15 15:45:51 2008 -0600
+
+ cell: Added LERP instruction
+
+commit ae3373441dd4548702f23fe44bd04830e4902241
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 15 15:10:02 2008 -0600
+
+ gallium: emit SPU instructions in assembler-compatible syntax
+
+commit 81aa90e8837128423e37a776cdfbf63b0604903f
+Author: Jonathan White <jwhite@tungstengraphics.com>
+Date: Mon Sep 15 13:45:09 2008 -0600
+
+ cell: Added support for SLT, SEQ and SNE instructions
+
+commit 0a75773fed3f2d74d697fae5aee9ae8f18298631
+Author: Jonathan White <jwhite@tungstengraphics.com>
+Date: Mon Sep 15 12:27:10 2008 -0600
+
+ cell: Added support for ABS instruction
+
+commit 5a4ab148a76f6c6d33b9784f99531a6bf2d9101b
+Author: Jonathan White <jwhite@tungstengraphics.com>
+Date: Mon Sep 15 11:56:51 2008 -0600
+
+ Added support for SUB and MAD instructions
+
+commit 367774a62aa0627c5589e91ab7b411634113c815
+Author: Jonathan White <jwhite@tungstengraphics.com>
+Date: Mon Sep 15 11:56:21 2008 -0600
+
+ Fixed emit_RRR
+
+commit 4c9cd725d54edf9baacef83d94c6487c7d592090
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Mon Sep 15 17:55:09 2008 +0200
+
+ i915simple: dri winsys does now compile and works
+
+ Glxgears hits an assert, but tri works
+
+commit 987c4b35b8f552a88e1b6459adaabbf544d6bbf6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 15 09:07:32 2008 -0600
+
+ mesa: remove some assertions that are invalid during context tear-down
+
+commit cd23c5c5998f3c48153a22bed53986b4293f797a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Sep 15 13:47:25 2008 +0100
+
+ mesa: get another class of degenerate dlists working
+
+ Primitive begin in one dlist, end in another.
+
+commit d36f4ef16b338f42342cac5a7f2ec55e17fc0893
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 15 09:07:32 2008 -0600
+
+ mesa: remove some assertions that are invalid during context tear-down
+
+commit bd953e872f22690bd232a758383883100d9347d0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Sep 15 13:47:25 2008 +0100
+
+ mesa: get another class of degenerate dlists working
+
+ Primitive begin in one dlist, end in another.
+
+commit a30d2c5727b67a88feee9aff2f7d9128fca9408b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Sep 15 13:47:12 2008 +0100
+
+ add dlist-degenerate test case
+
+commit 641b80275b7d0237c1d5bc79c19d12a0f422173a
+Author: Shane Blackett <shane@blackett.co.nz>
+Date: Sun Sep 14 17:51:01 2008 -0600
+
+ glut: s/glut_fbc.c/glut_fcb.c/
+
+commit e852232ebf256d1587ae0d456c366553749fd275
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sun Sep 14 19:04:53 2008 +0200
+
+ draw: Silence compiler warnings on Windows.
+
+commit 777aca8fc99986dacf043cc3c25911df4252cb42
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 13 15:32:46 2008 -0600
+
+ cell: implement negation, absolute value and set-sign for src regs in code gen
+
+commit 870afb831921a5c38f22817d9e64d6be7fab235c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 13 15:31:46 2008 -0600
+
+ negate.txt - test negation of a src reg
+
+commit 75c19eb5a1caf0c36e04270174579d0d7fec9ccb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 13 15:20:31 2008 -0600
+
+ gallium: add another value check to util_fast_pow()
+
+ Fixes glitches seen in morph3d demo.
+
+commit 809e81c0b424839cb742ff2502b1010c0258b368
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 13 15:21:58 2008 -0600
+
+ gallium: add another value check to util_fast_pow()
+
+ Fixes glitches seen in morph3d demo.
+
+commit 68a19e353e1f68d6a5725c6bcb5d89949a4efe3f
+Author: Jakub Bogusz <gboosh@pld-linux.org>
+Date: Sat Sep 13 14:35:02 2008 -0600
+
+ tdfx: fix crash and lack of visuals bug
+
+commit 87ccb9504dfda502746c3a00eb607f1837dd265d
+Author: Guillaume Melquiond <guillaume.melquiond@gmail.com>
+Date: Sat Sep 13 14:25:02 2008 -0600
+
+ i915: fix himask constant init for 64-bit build
+
+commit 811d8b86eb43b140de86e2674d50b19223d74c5e
+Author: Guillaume Melquiond <guillaume.melquiond@gmail.com>
+Date: Sat Sep 13 14:24:31 2008 -0600
+
+ glx: fix 64-bit datatype issue
+
+commit 11a889db8f182fb1d11c998e5156deac8ca9f91d
+Author: Guillaume Melquiond <guillaume.melquiond@gmail.com>
+Date: Sat Sep 13 14:23:39 2008 -0600
+
+ mesa: return after _mesa_problem() calls
+
+commit d2e0504d4e1d00bfc59d6661f9f0d33db1768f42
+Author: Guillaume Melquiond <guillaume.melquiond@gmail.com>
+Date: Sat Sep 13 14:23:14 2008 -0600
+
+ mesa: #include <stdio.h>
+
+commit 5d4c8ec5e04eb15969dac1abb9ea3a254eb98d44
+Author: Guillaume Melquiond <guillaume.melquiond@gmail.com>
+Date: Sat Sep 13 14:22:15 2008 -0600
+
+ remove invalid XDestroyWindow() call
+
+commit ee2c8d6d3e3df674f14e9d58947bd6b5e70a6f74
+Author: Guillaume Melquiond <guillaume.melquiond@gmail.com>
+Date: Sat Sep 13 14:21:50 2008 -0600
+
+ silence warning
+
+commit 6e51febc6b4ab92588c27bc9a2754d940baadeef
+Author: Guillaume Melquiond <guillaume.melquiond@gmail.com>
+Date: Sat Sep 13 14:20:14 2008 -0600
+
+ GLU: fix asst warnings
+
+commit 3122f2bebe8d76568916b8cddff542f52466055e
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sat Sep 13 01:35:14 2008 -0400
+
+ g3dvl: Fix field coded block copy.
+
+commit 8d768c51018841b66dbed87ae6b50358e53ad2c4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 12 21:54:25 2008 -0600
+
+ cell: remove old disassembly/dump code; use dumper code in SPE emitter.
+
+commit 8b5013d232bf6846717fac093465e8a39064e0b6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 12 21:52:47 2008 -0600
+
+ gallium: added print/dump code to SPE code emitter
+
+commit 6f3eee921327ce76c05620eec714f2ff4f500826
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 12 21:09:10 2008 -0600
+
+ cell: implement DDX/DDY codegen (untested)
+
+commit 31a112cad4d2e515bc668b58abd4e402b4362c70
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 12 21:08:01 2008 -0600
+
+ gallium: added spe_splat_word()
+
+commit 5f3ec823385b34b8db6013fdf701c5522dc86524
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 12 17:10:20 2008 -0600
+
+ cell: implement TGSI immediates in SPE code generator
+
+commit 8db761409dadc2e899d4e7107eff3aa07b07aa11
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Sep 12 15:48:13 2008 -0700
+
+ intel: Add a width field to regions, and use it for making miptrees in TFP.
+
+ Otherwise, we would use the pitch as width of the texture, and compiz would
+ render the pitch padding on the right hand side.
+
+commit af2ca5dc3823269636bfa8377ed971a761096b2e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 12 16:31:53 2008 -0600
+
+ cell: initial support for IF/ELSE/ENDIF in fragment shader codegen
+
+ Only one level of if/else/endif nesting is currently working.
+
+commit 5ab221549d5cdbf72817ff612464d83256765389
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 12 16:11:52 2008 -0600
+
+ cell: evaluate multiple fragment inputs
+
+commit bdc8ac4ae2c711e2569618136bf7d9c7b25be53e
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Sep 12 14:18:14 2008 -0700
+
+ Finish off the previous fix for TFP.
+
+ A couple of those lines of debug printfs I deleted weren't actually debug
+ printfs.
+
+commit d598a5d2301faea810a2449db7a32ff48e80b979
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 12 15:07:04 2008 -0600
+
+ cell: disable invalid spe_release_func() calls, fixes crash on exit
+
+commit 34bba445a12f7b81654a416fd1630c8890cfc178
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Sep 12 13:47:37 2008 -0700
+
+ intel: Don't segfault on TFP from a bad drawable.
+
+commit 201d3419a6432a0f35dff48e606649092afb7ff7
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Sep 11 09:50:47 2008 -0700
+
+ intel: Remove dead allow_batchbuffer param.
+
+commit 272810125b7dacde34d2d0a55a2afa19c72f5ee8
+Author: Jonathan White <jwhite@tungstengraphics.com>
+Date: Fri Sep 12 13:24:05 2008 -0600
+
+ Makefile was previously checked in with merge diffs still present. I just selected HEAD and removed the old.
+
+commit 56c22687e139e8fede6f7ea4d524699364dda07c
+Author: Younes Manton <younes.m@gmail.com>
+Date: Fri Sep 12 15:10:43 2008 -0400
+
+ g3dvl: Use winsys_buffer_reference() instead of pipe_buffer_reference().
+
+ Old pipe_buffer_reference() renamed winsys_buffer_reference(), new
+ pipe_buffer_reference() expects a screen.
+
+commit f3f449a49136ae2fd2dc3cf62d2c24dd42505e7d
+Author: Younes Manton <younes.m@gmail.com>
+Date: Wed Sep 10 19:37:56 2008 -0400
+
+ g3dvl: Implement surface sync functions.
+
+commit 42a42dec3dbb5e150584b3d0b2e14e9b555a4ac1
+Author: Younes Manton <younes.m@gmail.com>
+Date: Tue Sep 9 02:27:05 2008 -0400
+
+ g3dvl: Fullscreen fixes. Respect src & dst coords during scaling, clear FB.
+
+commit c9c2b1b0163aa8803dc7ffb7fe1ef8f948f1e030
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 12 12:05:10 2008 -0600
+
+ mesa: bump gallium version string to 0.2
+
+commit 9b9eba5a42103aa79702d06e8ffd541d15845932
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 12 12:04:49 2008 -0600
+
+ cell: more documentation updates
+
+commit 38bacb6f32d8a2cddc1116f7fbe2b21ea5a91a95
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 12 11:43:37 2008 -0600
+
+ cell: implement colormask on fallback path
+
+ Also, some var renaming and additional comments
+
+commit 9defef29c59c580da1f6312f737822cd2efc9e28
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 12 11:42:33 2008 -0600
+
+ gallium: avoid redundant tgsi_exec_machine_bind_shader() calls on draw exec path
+
+ tgsi_exec_machine_bind_shader() isn't cheap so avoiding unecessary calls
+ is a big win.
+ A similar change should be done for softpipe's fragment exec path but
+ extra care needs to be taken with the texture sampler state/params.
+
+commit bd34b8a4febb7aadec0545250fd8b6b06ad774e8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 12 11:40:31 2008 -0600
+
+ gallium: use copy_token() function to avoid type punning/aliasing problems
+
+ This fixes parsing errors seen with optimized builds on PPC (which led to crashes).
+ The memcpy() is heavy-handed, but works. A lighter uint assignment could
+ be used on x86...
+
+commit 44e53b37a02933f238b438e5dc3a2891da5eb51a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 12 11:35:22 2008 -0600
+
+ cell: fix twiddled tile display for XSHM. Fixed blank window problem.
+
+commit 73193b7735eca10fd6a3bd7f43cdee72d3976175
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 12 11:35:22 2008 -0600
+
+ cell: fix twiddled tile display for XSHM. Fixed blank window problem.
+
+commit 59f23e92e24b93eb48f4e0552dd8e397aefd1714
+Author: Younes Manton <younes.m@gmail.com>
+Date: Fri Sep 12 13:22:43 2008 -0400
+
+ g3dvl: Update softlinks to nouveau winsys files, related fixes.
+
+commit 31d2e5b954ece02070555b51c06ee427cf951b1f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 12 11:02:18 2008 -0600
+
+ gallium: use new compare32() function to fix warnings about type punning and aliasing
+
+commit 50f78fcc2e3da24fa6dc076f0985355b3f64e9fd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 12 11:01:31 2008 -0600
+
+ gallium: silence warning
+
+commit ca0efa84edf2f099f6797959a20186b6eb3451b4
+Author: Younes Manton <younes.m@gmail.com>
+Date: Tue Sep 9 00:28:37 2008 -0400
+
+ g3dvl: Cleanup.
+
+commit 6b50fd27b85bc0d060ead13e6c656dd64c9a2978
+Author: Younes Manton <younes.m@gmail.com>
+Date: Mon Sep 8 21:05:49 2008 -0400
+
+ g3dvl: Clean up Makefile deps.
+
+commit a449465556d47d83c2314a7ac711ca523378102b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 12 09:43:11 2008 -0600
+
+ cell: fix non-debug build error
+
+commit e8b199c6e3386f8858adf43e5b15bf8ca0b8ce84
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 12 08:48:08 2008 -0600
+
+ cell: implement swizzling for src regs
+
+commit 6c0fa798578ad247027dff861406a524821ddcdd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 12 08:47:45 2008 -0600
+
+ cell: setup fragment program inputs in SOA format
+
+ Also remove old code, etc.
+
+commit c436f96b1073495bd6ba66769b4a8605a3775c0c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 12 08:40:50 2008 -0600
+
+ simple add with swizzle and mul with swizzle tests
+
+commit 0c0e5b71c0fb18f7ead2884a8c1429d00c090e18
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 12 08:26:47 2008 -0600
+
+ cell: updated docs/status
+
+commit b71f4150c8be662d777da22ed0554663a9d1c84d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 12 08:22:15 2008 -0600
+
+ gallium: minor optimization to spe_load_int()
+
+commit be5d8bd07886157fe524b8715509cd03ade2fda9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 12 08:21:43 2008 -0600
+
+ gallium: initial PPC/Altivec codegen
+
+commit 8c14bd6992e338da8e467775b0237c8db7cbe44d
+Merge: d64da83 2d28c2e
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sat Sep 13 00:07:19 2008 +1000
+
+ Merge remote branch 'upstream/gallium-0.2' into nouveau-gallium-0.2
+
+commit 33aa5b69642405fbc300430bed1f2ccf521f3086
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 12 07:57:08 2008 -0600
+
+ cell: disable calls to old gen code
+
+commit 2d28c2e3566c80c5ad0b0fd543cb4cd4cf9f36bd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 12 07:57:28 2008 -0600
+
+ cell: update branch info in docs
+
+commit fa0aa1443b3aede0fce960b7a15606ce2ff493eb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 12 07:57:08 2008 -0600
+
+ cell: disable calls to old gen code
+
+commit 690f5af33795b2f0bb213877f0dcdfb40fd9b469
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 12 07:56:43 2008 -0600
+
+ gallium: don't build winsys/ here
+
+commit d64da83a2c21d17f2f0a6b9b4c8e90df0e993559
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Sep 12 23:51:39 2008 +1000
+
+ nouveau: rework nouveau_screen for latest and greatest changes
+
+commit d37e6f9a7fcdf741bf1afa1d2a555710230500a3
+Merge: 63c49be 3df0647
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Sep 12 23:21:41 2008 +1000
+
+ Merge remote branch 'upstream/gallium-0.2' into nouveau-gallium-0.2
+
+commit 3df06470275573f7d1d6eb6ce690f2e7ffa4ced7
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Fri Sep 12 15:09:44 2008 +0200
+
+ i915simple: A step closer to compiling
+
+commit 63c49bee3a2ce0ca62555da052e57a2d206da07d
+Merge: cbe05a4 f7d7a21
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Sep 12 22:53:44 2008 +1000
+
+ Merge remote branch 'upstream/gallium-0.2' into nouveau-gallium-0.2
+
+commit f7d7a212cdb026fd6c22b9236a2583d348b0c160
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Sep 12 12:24:21 2008 +0100
+
+ mesa: build gallium directories before core mesa
+
+commit 4b458555ab2dacdc3e91ffebf0d1c13ed52e2e3f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Sep 12 12:23:28 2008 +0100
+
+ mesa: regenerate shader files
+
+commit cbe05a4734a7df7dd9d8e52f79d0ed5e6c28ae60
+Merge: 522139d 81335d0
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Sep 12 20:37:33 2008 +1000
+
+ Merge remote branch 'nouveau/gallium-0.1' into nouveau-gallium-0.2
+
+ Conflicts:
+ configs/linux-dri
+
+commit 81335d0f1760fe172a106f79e81281c1f0d7dedf
+Merge: f302fca aa66f08
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Sep 12 20:33:59 2008 +1000
+
+ Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1
+
+commit d3dc95e26a0da2b89e7a3cdf5bacbfc66ed17c95
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Fri Sep 12 12:43:10 2008 +0300
+
+ dri/swrast: fix swapBuffers after dri2
+
+commit 522139dd146450edfd3d2f07c627b32512a2c27e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Sep 12 10:31:51 2008 +0100
+
+ vp: add run script
+
+commit 176c454765b88c71d8b1ef474bc0fd53cb253a08
+Merge: 1f13545 aa66f08
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Sep 12 10:31:23 2008 +0100
+
+ Merge commit 'origin/gallium-0.1' into gallium-0.2
+
+ Conflicts:
+
+ progs/fp/Makefile
+
+commit 1f135456795adfb1d739a6fb66ab9540aa79b461
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Sep 12 10:28:36 2008 +0100
+
+ fp: put test name in window title, add run script
+
+commit af74abab6b9a1e32a1cc5cac7e547b953dcee0ab
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Sep 12 10:04:56 2008 +0100
+
+ mesa: get fixed-function program generation working again
+
+commit 52a9dfd4feae7d5d20519d48e72f3e38de4e2332
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Sep 12 10:02:16 2008 +0100
+
+ use APP_CC, remove redundant target
+
+commit b2e083eba2668517e40bc94e3a19cd15824ce93c
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Fri Sep 12 09:25:34 2008 +0800
+
+ i965: Add support for G41 chipset which is another 4 series.
+
+commit aa66f08a21b791f338b519f0c2162cd8f7b3aeb0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 11 17:59:52 2008 -0600
+
+ cell: initial support for fragment shader code generation.
+
+ TGSI shaders are translated into SPE instructions which are then sent to
+ the SPEs for execution. Only a few opcodes work, no swizzling yet, no
+ support for constants/immediates, etc.
+
+commit dbbbc333442c160b2801062e92c6c5931b64390a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 11 17:55:53 2008 -0600
+
+ use APP_CC
+
+commit 084ab37b7f34d509af995efaef4615289669f72b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 11 17:10:10 2008 -0600
+
+ cell: fix tile twidding bug seen in the event of multiple expose events
+
+commit bc304bbd49d15ce1130f3ba07adaa85ef03ed931
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 11 17:08:52 2008 -0600
+
+ cell: minor improvements to fragment code-gen
+
+commit 178bbaff80d079606a1135bd65f1a85bac9774c4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 11 17:07:30 2008 -0600
+
+ gallium: add special cases in spe_load_float(), spe_load_int(), added spe_splat()
+
+commit be925ab6e8ecf6758adb2c6f2c423af31c5f86ca
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 11 15:48:13 2008 -0600
+
+ cell: put cell_ prefix on gen_fragment_function()
+
+commit fd0ee68305609b23ee135c2c547dd883014ef6fb
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Sep 11 20:11:11 2008 +0100
+
+ trivial: remove stray merge conflict
+
+commit b66ee9e32fa044b39588df67c00858bbab64f13d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Sep 11 20:08:44 2008 +0100
+
+ st: adapt to new framebuffer struct, with one FIXME outstanding
+
+commit 7ee599d30b9538b41bc082e71f9e800acbf09759
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Sep 11 20:08:07 2008 +0100
+
+ mesa: update PointParameter usage
+
+commit a90cae8a17283a4d50ba153510aecfbee9f63c66
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Sep 11 20:07:41 2008 +0100
+
+ demos: fix LIBS ref in makefile
+
+commit fbf1586b36f8fb181ecee6a285c94f11e30005ba
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 11 12:01:19 2008 -0600
+
+ gallium: typo: s/PIPE_FORMAT_Z16UNORM/PIPE_FORMAT_Z16_UNORM/
+
+commit 7d3d5fb7a57d01c99645f30189244287260239f0
+Author: Dima Zavin <dmitriyz@google.com>
+Date: Thu Aug 21 10:41:19 2008 -0700
+
+ egl_xdri: Add the top-level lib dir so we link against the libGL we built.
+
+commit 912488a8d016834349273acac88be85a6afadcc0
+Author: Dima Zavin <dmitriyz@google.com>
+Date: Thu Aug 21 10:40:55 2008 -0700
+
+ egl_dri/egl_xdri: Makefiles should use pkg-config to find libdrm.
+
+commit 536092f9e072f9a1d73f7ea538857c4ffe13d11b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Sep 11 18:35:19 2008 +0100
+
+ xlib: fix typo
+
+commit cc7dd4fc1b3c765ca1ecd943d189bb156dae529d
+Merge: 685248b d50d68a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Sep 11 18:32:05 2008 +0100
+
+ Merge commit 'origin/gallium-0.1' into gallium-0.2
+
+ Conflicts:
+
+ Makefile
+ progs/demos/Makefile
+ progs/glsl/Makefile
+ progs/redbook/Makefile
+ progs/samples/Makefile
+ progs/tests/Makefile
+ progs/trivial/Makefile
+ progs/xdemos/Makefile
+ src/gallium/Makefile
+ src/mesa/main/attrib.c
+ src/mesa/main/bufferobj.c
+ src/mesa/vbo/vbo_exec_draw.c
+
+commit 685248bea1fef5fd6335982570e34d0f6672030d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Sep 11 17:39:16 2008 +0100
+
+ mesa: use sources.mak -- need to figure out how to support non-gallium builds also
+
+commit cdd97ceca0ce3e69d08ae33289ca8e4075885f0b
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Sep 11 18:06:05 2008 +0100
+
+ add gallium dir
+ winsys/common -> winsys/
+
+commit d50d68a1c940ed9c8d8c65e8e33667fa90d5baa1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 11 11:05:13 2008 -0600
+
+ glut: only call glFinish() in processWindowWorkList() for indirect contexts.
+
+ Basically, do as the comment says.
+
+commit 90c93bbeeec1a8ca75b68004afc5d8cb689860bc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 11 11:00:54 2008 -0600
+
+ define new APP_CC configuration variable for building apps/demos/tests
+
+ For Cell, need to use different compilers for the libraries vs. the demos/tests
+ to avoid strange link error regarding "_Unwind_GetIPInfo@GCC_4.2.0"
+
+commit 5835d7e5735a8df05e9762f5922e412e17d5c525
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Sep 11 17:59:58 2008 +0100
+
+ tree builds
+
+commit 7ce1d0fb6700fd4998a095de2c9edf5ed920464c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 11 10:52:03 2008 -0600
+
+ cell: more comments, stub code for colormask/logicop/etc
+
+commit 5c459b392562d98f98efefe64ee2f531235c2ad4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 11 10:43:14 2008 -0600
+
+ simple quad drawing test
+
+commit 1b5331d7ebcf7b1a1693972cf13407184cab1e48
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 11 10:38:55 2008 -0600
+
+ cell: fix typos in blend code-gen
+
+commit 73c6ae98c1c60635883a733f36d59d246e74aa2a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 11 10:38:37 2008 -0600
+
+ cell: remove old state CMDs, added comments
+
+commit f6bf8d9d410d94372b72f4f6ede6196ae5a4a67f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 11 10:33:24 2008 -0600
+
+ cell: clean-up, comments
+
+commit a558369ec66e3d9e2b88f4df9a3b5a3704b19ef3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 11 10:33:13 2008 -0600
+
+ cell: disable NEW_VS emit
+
+commit 924653e37db4501d0f03721e9d74abffe46a3c72
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 11 10:27:17 2008 -0600
+
+ cell: don't build unused sources
+
+commit f19903aa83e9b6e18930cbda14cfec3cca2e1bf2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 11 10:26:00 2008 -0600
+
+ cell: remove old blend/depth/stencil/logicop structs
+
+commit aa4a08d429712fa516342ec02253c2591794ea5f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 11 10:25:38 2008 -0600
+
+ cell: asst. clean-up
+
+commit 283ffdf99605c536d00e03ad6ec91a6f8e006fc2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 11 10:13:20 2008 -0600
+
+ cell: checkpoint: remove more of the old per-fragment code
+
+commit add86031db757b0e3abe48bd8fdea40d4e380e05
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 11 10:08:06 2008 -0600
+
+ cell: begin new blending code (both codegen and fallback paths)
+
+commit 6092a057042c9f7a4cae0f0eb9e95307f5f850a1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 11 09:55:39 2008 -0600
+
+ cell: fix shuffle in spu_unpack_B8G8R8A8()
+
+commit 5336e758a483d15d579ffe7cad536be95637d904
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 11 08:44:54 2008 -0600
+
+ cell: added cast in spu_splats() call
+
+commit 701fcee65db6b72f98e926d838956bbcc54f1cc6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 10 18:51:43 2008 -0600
+
+ cell: remove old per-fragment code, replace with all new code
+
+commit 284ab5a6127f8b452acaa0e10ac1d9ebc87fac3e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 10 18:22:00 2008 -0600
+
+ cell: checkpoint commit of new per-fragment processing
+
+ Do code generation for alpha test, z test, stencil, blend, colormask
+ and framebuffer/tile read/write as a single code block.
+ Ian's previous blend/z/stencil test code is still there but mostly disabled
+ and will be removed soon.
+
+commit ee582fd3a7a9ddbcb5595249201cf213a6c6f014
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 10 17:11:48 2008 -0600
+
+ gallium: assorted additions and fixes to Cell SPE rtasm code
+
+ Fix incorrect opcode for fsmbi.
+ Added "macro" functions for loading floats/ints, register complement, zero, move.
+ Added #defines for return address and stack pointer registers.
+ Added assertions to check that the instruction buffer doesn't overflow.
+
+commit 04ae4fba3c0a656cf2747fc994b99f99576d0e2b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 8 11:53:14 2008 -0600
+
+ cell: minor change to Z float/int conversion code (avoid switch)
+
+commit cd9722dcddcb41af3196860280d23542dc673700
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 8 11:50:13 2008 -0600
+
+ cell: comments
+
+commit 0e79e474de164a765b9759398c83b6bfa16a0012
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 5 13:55:02 2008 -0600
+
+ cell: comments, etc.
+
+commit bb5becf1e289b2c9240d98299e9447a9673da9fc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 5 13:54:14 2008 -0600
+
+ gallium: comments, assertions, etc
+
+commit 83054d9297d12dbd7bd7c86a6bed6a5fc63debdc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 5 13:07:43 2008 -0600
+
+ press 'c' to toggle Z clear value between 0/1
+
+commit 8df4c3a21fe51280956e35d09ebacc9791b6a613
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 5 12:59:40 2008 -0600
+
+ press 'f' to cycle through depth test funcs
+
+commit 47ad296a183929c2007c35c60d722b4ac680417d
+Merge: b645822 4d42c5b
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Sep 11 17:32:18 2008 +0100
+
+ Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/mesa into gallium-0.2
+
+ Conflicts:
+
+ src/mesa/drivers/dri/i915/intel_ioctl.c
+ src/mesa/main/texstore.c
+ src/mesa/tnl/t_vp_build.c
+ src/mesa/vbo/vbo_exec_draw.c
+
+commit b6458225039ef4cf5c91080e7547ed73fb264c46
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Sep 11 16:36:41 2008 +0100
+
+ mesa: fix srcRowStride vs srcRowBytes conflict
+
+commit 0397b2bb41b0f337af2949a15bcd7d0e7e8a7dc1
+Merge: 80af50b e6887a5
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Sep 11 16:05:15 2008 +0100
+
+ Merge branch 'gallium-0.1' into gallium-0.2
+
+ A first attempt at moving gallium onto a branch directly off master...
+
+ It will be interesting to see how much work this takes to get running.
+
+ Have resolved the conflicts semi-arbitarily, not compiled or tested.
+
+ Conflicts:
+
+ .gitignore
+ Makefile
+ configs/config.mgw
+ configs/darwin
+ configs/darwin-x86ppc
+ configs/default
+ configs/freebsd-dri
+ configs/linux-dri
+ configs/linux-dri-xcb
+ configs/linux-fbdev
+ configs/linux-static
+ configs/linux-x86-64-static
+ configs/linux-x86-static
+ doxygen/Makefile
+ include/GL/gl.h
+ progs/demos/Makefile
+ progs/demos/descrip.mms
+ progs/demos/texenv.c
+ progs/egl/.gitignore
+ progs/egl/Makefile
+ progs/glsl/.gitignore
+ progs/glsl/Makefile
+ progs/glsl/convolutions.c
+ progs/samples/Makefile.mgw
+ progs/tests/.gitignore
+ progs/trivial/.gitignore
+ progs/trivial/point-param.c
+ progs/trivial/tri.c
+ progs/xdemos/.gitignore
+ progs/xdemos/glthreads.c
+ src/egl/drivers/demo/Makefile
+ src/egl/drivers/dri/Makefile
+ src/egl/main/Makefile
+ src/glu/Makefile
+ src/glu/sgi/Makefile
+ src/glu/sgi/Makefile.mgw
+ src/glut/glx/Makefile.mgw
+ src/glut/os2/WarpWin.cpp
+ src/glut/os2/glut_cindex.cpp
+ src/glut/os2/glut_gamemode.cpp
+ src/glut/os2/glut_win.cpp
+ src/glut/os2/glut_winmisc.cpp
+ src/glut/os2/os2_glx.cpp
+ src/glut/os2/os2_menu.cpp
+ src/glut/os2/os2_winproc.cpp
+ src/glw/Makefile
+ src/glx/x11/dri_glx.c
+ src/glx/x11/glxext.c
+ src/mesa/Makefile
+ src/mesa/Makefile.mgw
+ src/mesa/descrip.mms
+ src/mesa/drivers/beos/Makefile
+ src/mesa/drivers/common/descrip.mms
+ src/mesa/drivers/common/driverfuncs.c
+ src/mesa/drivers/directfb/Makefile
+ src/mesa/drivers/dri/Makefile.template
+ src/mesa/drivers/dri/common/dri_bufmgr.c
+ src/mesa/drivers/dri/common/dri_bufmgr.h
+ src/mesa/drivers/dri/common/dri_util.c
+ src/mesa/drivers/dri/common/extension_helper.h
+ src/mesa/drivers/dri/common/mmio.h
+ src/mesa/drivers/dri/common/utils.c
+ src/mesa/drivers/dri/common/utils.h
+ src/mesa/drivers/dri/glcore/Makefile
+ src/mesa/drivers/dri/i810/i810screen.c
+ src/mesa/drivers/dri/i915/intel_ioctl.c
+ src/mesa/drivers/dri/i915/intel_ioctl.h
+ src/mesa/drivers/dri/i915/intel_screen.c
+ src/mesa/drivers/dri/i915/server/i830_common.h
+ src/mesa/drivers/dri/i915/server/i830_dri.h
+ src/mesa/drivers/dri/i965/intel_screen.c
+ src/mesa/drivers/dri/i965/server/i830_common.h
+ src/mesa/drivers/dri/i965/server/i830_dri.h
+ src/mesa/drivers/dri/mach64/mach64_screen.c
+ src/mesa/drivers/dri/nouveau/nouveau_context.h
+ src/mesa/drivers/dri/nouveau/nouveau_fifo.c
+ src/mesa/drivers/dri/nouveau/nouveau_fifo.h
+ src/mesa/drivers/dri/nouveau/nouveau_screen.c
+ src/mesa/drivers/dri/nouveau/nouveau_screen.h
+ src/mesa/drivers/dri/r128/r128_tex.h
+ src/mesa/drivers/dri/savage/savageioctl.h
+ src/mesa/drivers/fbdev/Makefile
+ src/mesa/drivers/osmesa/Makefile
+ src/mesa/drivers/osmesa/descrip.mms
+ src/mesa/drivers/x11/Makefile
+ src/mesa/drivers/x11/descrip.mms
+ src/mesa/drivers/x11/xm_dd.c
+ src/mesa/glapi/glapi.c
+ src/mesa/glapi/glthread.c
+ src/mesa/main/api_validate.c
+ src/mesa/main/attrib.c
+ src/mesa/main/bufferobj.c
+ src/mesa/main/bufferobj.h
+ src/mesa/main/buffers.c
+ src/mesa/main/config.h
+ src/mesa/main/context.c
+ src/mesa/main/descrip.mms
+ src/mesa/main/drawpix.c
+ src/mesa/main/enums.c
+ src/mesa/main/fbobject.c
+ src/mesa/main/glheader.h
+ src/mesa/main/imports.c
+ src/mesa/main/mipmap.c
+ src/mesa/main/mm.c
+ src/mesa/main/mm.h
+ src/mesa/main/mtypes.h
+ src/mesa/main/points.c
+ src/mesa/main/sources
+ src/mesa/main/state.c
+ src/mesa/main/texcompress_fxt1.c
+ src/mesa/main/texenvprogram.c
+ src/mesa/main/texobj.c
+ src/mesa/main/texstate.c
+ src/mesa/main/texstore.c
+ src/mesa/math/descrip.mms
+ src/mesa/shader/arbprogram.c
+ src/mesa/shader/descrip.mms
+ src/mesa/shader/prog_execute.c
+ src/mesa/shader/prog_statevars.c
+ src/mesa/shader/prog_statevars.h
+ src/mesa/shader/prog_uniform.c
+ src/mesa/shader/program.c
+ src/mesa/shader/program.h
+ src/mesa/shader/shader_api.c
+ src/mesa/shader/slang/descrip.mms
+ src/mesa/shader/slang/library/slang_vertex_builtin_gc.h
+ src/mesa/sources
+ src/mesa/swrast/descrip.mms
+ src/mesa/swrast/s_drawpix.c
+ src/mesa/swrast/s_fragprog.c
+ src/mesa/swrast/s_readpix.c
+ src/mesa/swrast/s_span.c
+ src/mesa/swrast_setup/descrip.mms
+ src/mesa/tnl/descrip.mms
+ src/mesa/tnl/t_context.h
+ src/mesa/tnl/t_vp_build.c
+ src/mesa/tnl/tnl.h
+ src/mesa/vbo/descrip.mms
+ src/mesa/vbo/vbo_context.c
+ src/mesa/vbo/vbo_exec_array.c
+ src/mesa/x86-64/xform4.S
+ src/mesa/x86/rtasm/x86sse.c
+ src/mesa/x86/rtasm/x86sse.h
+ windows/VC6/progs/glut/glut.dsp
+ windows/VC7/mesa/gdi/gdi.vcproj
+ windows/VC7/mesa/glu/glu.vcproj
+ windows/VC7/mesa/mesa.sln
+ windows/VC7/mesa/mesa/mesa.vcproj
+ windows/VC7/mesa/osmesa/osmesa.vcproj
+ windows/VC7/progs/glut/glut.vcproj
+ windows/VC8/mesa/gdi/gdi.vcproj
+ windows/VC8/mesa/glu/glu.vcproj
+ windows/VC8/mesa/mesa.sln
+ windows/VC8/mesa/mesa/mesa.vcproj
+ windows/VC8/progs/glut/glut.vcproj
+
+commit 4d42c5bebf8740ebfc15571d24b6c92f79e09263
+Author: Shane Blackett <shane@blackett.co.nz>
+Date: Thu Sep 11 08:35:27 2008 -0600
+
+ added 24bpp support
+
+commit bc3b2a5d7a63c29602c35a4868942c20eb838338
+Author: Shane Blackett <shane@blackett.co.nz>
+Date: Wed Sep 10 08:22:45 2008 -0600
+
+ Fixes for Mingw
+
+commit 35fd72756a05463568d94862f4fcd234903e1204
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Sep 8 08:52:48 2008 -0700
+
+ intel: track move of bo_exec from drivers to bufmgr.
+
+commit 3628185f566e178a12b493fb89abf52b4b281f99
+Author: Eric Anholt <eric@anholt.net>
+Date: Sat Sep 6 03:09:43 2008 +0100
+
+ intel: track bufmgr move to libdrm_intel and bufmgr_fake irq emit/wait change.
+
+commit 7e0bbdcf033981282978554c2e68ce48b55aa291
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Sep 4 22:16:31 2008 +0100
+
+ intel: Move the bufmgr back to the screen.
+
+ Mesa requires that we be able to share objects between contexts, which means
+ that the objects need to be created by the same bufmgr, and the bufmgr
+ internally requires pthread protection for thread safety.
+ Rely on the bufmgr having appropriate locking.
+
+commit f302fca5eb63e4bca8af5b35c585451486143e6a
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Thu Sep 11 06:41:18 2008 +1000
+
+ nouveau: gallium directory structure changed again..
+
+commit 7158203b081ad34c03382f07e0df748eae235e9b
+Merge: 0202514 eb5b16d
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Thu Sep 11 06:09:05 2008 +1000
+
+ Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1
+
+ Conflicts:
+ configs/default
+
+commit eb5b16d278e0f7ee0121049e43dfee1d52f2b0f7
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Sep 10 10:33:03 2008 +0900
+
+ tgsi: Fix newline pos.
+
+commit dc1834a873726b9920c2cae6ffad86e09d4637ee
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Sep 10 10:32:52 2008 +0900
+
+ tgsi: Verify constants are set before attempting to read them.
+
+commit d671cf460f99693ded1eccc6b32816d430098725
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Sep 9 22:17:31 2008 +0900
+
+ softpipe: Code (commented out) to dump BMPs.
+
+commit bfe45670aef35c358e7d22b8a9cb8cd6532b0e3d
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Sep 9 21:16:36 2008 +0900
+
+ util: Ensure we always have a full qualified file name on windows display.
+
+commit 67c213499a9a533d84bc40ef5ef02e3350fcfc75
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Tue Sep 9 11:25:05 2008 +0200
+
+ util: Enable u_stream_std.c for PIPE_SUBSYSTEM_WINDOWS_USER.
+
+commit 05ecd6d4020244b1bb6eb4f06f2333006b1bbfbd
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Tue Sep 9 11:21:57 2008 +0200
+
+ softpipe: Silence compiler warning on Windows.
+
+commit 56e7c5522e37508d8ca83410479d09f1eddfac15
+Author: Michal Krol <michal@ubuntu-vbox.(none)>
+Date: Mon Sep 8 23:04:17 2008 +0200
+
+ softpipe: Protect pipe_condvar_signal/broadcast calls with a mutex.
+
+commit 68e672a86468be3dfa5b09fa71152d7134d62fb3
+Author: Michal Krol <michal@ubuntu-vbox.(none)>
+Date: Mon Sep 8 17:21:13 2008 +0200
+
+ softpipe: Set SP_NUM_QUAD_THREADS 1 effectively disabling multithreaded softpipe.
+
+ We want to make it env variable, or even better, autodetect as the feature makes
+ softpipe run slower on a single CPU.
+
+commit b40732622fe670fbd13ad12b7c1848bd6c73eeb4
+Author: Michal Krol <michal@ubuntu-vbox.(none)>
+Date: Sat Sep 6 16:35:23 2008 +0200
+
+ softpipe: More improvements for multithreaded softpipe.
+
+ Store only input and inout of a quad_header in job que.
+
+commit 01f9e5120395f88bba8321e8639cac0bb9c85296
+Author: Michal Krol <michal@ubuntu-vbox.(none)>
+Date: Sat Sep 6 16:02:24 2008 +0200
+
+ softpipe: Split changing fields of quad_header into input, inout and output parts.
+
+commit 84cde72b3e5fa6e39c0df30fdb7985c0745816ef
+Author: Michal Krol <michal@ubuntu-vbox.(none)>
+Date: Sat Sep 6 15:19:02 2008 +0200
+
+ softpipe: Improve multithreaded softpipe.
+
+ Use condition vars to communicate between threads instead of stalling.
+
+commit ebe6160d7c9ccbddd8b1cc4b0e25b3d61c54293d
+Author: Michal Krol <michal@ubuntu-vbox.(none)>
+Date: Fri Sep 5 23:21:08 2008 +0200
+
+ softpipe: First attempts at multithreaded softpipe.
+
+ Configured for 2 cores.
+
+commit 5a25628bd20684ac67adcb542647a0a2d7649a37
+Author: Michal Krol <michal@ubuntu-vbox.(none)>
+Date: Fri Sep 5 17:08:50 2008 +0200
+
+ tgsi: Cleanup code.
+
+commit d25611ede005adddfd9c004b037d9202d94df69e
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Sep 8 22:57:01 2008 +0900
+
+ trace: Request a growable file.
+
+commit a4a739eb58f70368ef87c195ea77629c1526e71f
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Sep 8 22:56:38 2008 +0900
+
+ util: Allow to define the maximum file size.
+
+ This avoids splitting the bitmaps in many files.
+
+commit 1da0a13389ce9709586058a8807c0c4120e520a2
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Sep 8 22:21:33 2008 +0900
+
+ util: Dump surfaces to BMP.
+
+ This allows quick inspection of surfaces in mass scale.
+
+commit 7cfc294c70e96269055341d327622774c9173b37
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Sep 8 21:50:50 2008 +0900
+
+ scons: Install shared libs in the right subdir.
+
+commit 2444c0c81acae9e2162a20002f8f72335133ead0
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Sep 8 11:09:48 2008 +0900
+
+ trace: Use util's stream.
+
+commit 86a15954bf2adad0ab0dc5713a5bb446c9584103
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Sep 8 11:09:23 2008 +0900
+
+ util: Rip-off trace's os-independent stream code.
+
+commit 52c2dd1f73e17c8352fe976e2ee4cdf049f81957
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Sep 8 07:54:15 2008 +0900
+
+ scons: Install libGL.so and respective symlinks.
+
+commit 02025148c28d03d644e3d66dde1a423fe21e1c44
+Author: Younes Manton <younes.m@gmail.com>
+Date: Thu Sep 4 04:43:34 2008 -0400
+
+ g3dvl: Initialize DRI drawables correctly.
+
+commit 2f41095e04036654259bc2efc3324a92f32c8ca1
+Author: Younes Manton <younes.m@gmail.com>
+Date: Thu Sep 4 04:10:43 2008 -0400
+
+ g3dvl: Zero-block optimization.
+
+ For blocks whose contents are derived completely from ref surfaces, don't
+ bother zero-ing the corresponding block in the luma/chroma textures, except
+ for the first such luma, chroma Cb, and chroma Cr each frame. All later
+ zero blocks are textured from that first zero block.
+
+commit 0bfbe834d35946fe75eb991d03ed777e115f418d
+Author: Younes Manton <younes.m@gmail.com>
+Date: Thu Sep 4 00:16:51 2008 -0400
+
+ g3dvl: Define texcoords seperately for luma, Cb, Cr textures.
+
+ Need to be able to address each texture separately to do zero-block.
+
+commit 7891efdac125185d216a8da8b044db0f06f34f0e
+Author: Younes Manton <younes.m@gmail.com>
+Date: Wed Sep 3 11:50:38 2008 -0400
+
+ g3dvl: Define block texcoords for each vertex instead of reusing pos.
+
+ This is needed for zero-block optimization.
+
+commit 8af4794afcfa04351d4131d826daeb1312634f82
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 5 10:18:00 2008 -0600
+
+ cell: code clean-up, comments
+
+commit a267934b23aca1c39d228c23392862f8068c2968
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 5 10:16:27 2008 -0600
+
+ cell: convert clear color if needed
+
+commit a1886d539158fcc692d0d45985465be8e4bbe077
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 5 10:11:22 2008 -0600
+
+ softpipe: convert clear color to surface format if needed
+
+commit 79200c908790238374c6059b9f781c9873584d95
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 5 10:10:55 2008 -0600
+
+ gallium: document that clear color is intentionally always PIPE_FORMAT_A8R8G8B8_UNORM
+
+commit 2877727c9bb5496caf3c01625513900b03953fcc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 5 10:10:18 2008 -0600
+
+ gallium: remove debug code from prev commit
+
+commit 7071e774e49f0e7b5997ab634f5523efb2666952
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 5 10:09:48 2008 -0600
+
+ gallium: new util_unpack_color_ub() function
+
+commit 78a4589b10b765dfb2a5862f292e51e0f4b06dce
+Author: Michal Krol <michal@ubuntu-vbox.(none)>
+Date: Fri Sep 5 16:47:06 2008 +0200
+
+ gallium: Add pipe_thread primitives for PIPE_OS_LINUX.
+
+commit 0f6e76d7f1f46b76ae19b089596ba6770c31dc5a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 5 08:07:20 2008 -0600
+
+ mesa: replace MALLOC w/ CALLOC to fix memory error in glPushClientAttrib()
+
+commit 11d694b1bb0cb384d802d7e0e252cf5119febb98
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 5 08:06:59 2008 -0600
+
+ mesa: replace MALLOC w/ CALLOC to fix memory error in glPushClientAttrib()
+
+commit 9246c2fad437f3922abb20ed86156963a488be3d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 4 15:25:32 2008 -0600
+
+ mesa: replace MALLOC w/ CALLOC to fix valgrind warning
+
+commit a0b5ac424b8bc310223137e7dc00d2eeeddb9ec6
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Fri Sep 5 15:10:47 2008 +0200
+
+ gallium: Add pipe_thread primitives for PIPE_SUBSYSTEM_WINDOWS_USER config.
+
+commit ce3cf63251b9d0de1de066f71d0c642360215f13
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Fri Sep 5 12:25:50 2008 +0200
+
+ mesa: _mesa_program_state_string() returns char *, not const char *.
+
+commit 06537296f18750a9442e3007fe7d8b2b966dd2cc
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Sep 5 13:48:51 2008 +1000
+
+ intel: only enable occlusion query if the drm has defines.
+
+ This interface has to be re-written to not be dumb and to work
+ for multiple apps.
+
+commit b8a7eef242f6bb97d90f6e0303d270b2cbc58421
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Sep 5 10:29:17 2008 +0900
+
+ tgsi: Refactor tgsi_dump to avoid using string buffers when dumping.
+
+ This fixes a stack overflow when dumping shaders.
+
+ It ended up being pretty much as the original code Michal had before,
+ before I went on a cleanup rampage on it and took things that ended up
+ needing...
+
+commit 50524c284528d467082266dfa18112f3cdc6202d
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Sep 5 10:27:03 2008 +0900
+
+ gallium: Pass 512 bytes max to EngDebugPrint.
+
+commit 53979d0a352fa74c533200bdba405915582a5974
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Sep 5 10:26:30 2008 +0900
+
+ gallium: New pf_has_alpha utility function.
+
+commit 46efe73daf4784da95ff5b38e5ec13474addcd93
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Sep 4 22:23:32 2008 +0900
+
+ python: Cleanup tri example.
+
+commit 2b53512073c0ecad66cfe1415cd19079ef2d4634
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 4 19:10:05 2008 -0600
+
+ cell: move batch buffer init code
+
+commit c9cd0f46282fb2b42b238aa0c267ad0585783040
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 4 19:09:50 2008 -0600
+
+ cell: comments
+
+commit 2ebeab0422e6f492e9f40eebf2be92067de9d6f1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 4 19:00:56 2008 -0600
+
+ cell: more cell_init_*_functions()
+
+commit 5cf2e226548f08c4b79a4eb289fd636a00079fb3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 4 18:36:22 2008 -0600
+
+ cell: implement CELL_DEBUG env/options var
+
+ Options so far:
+ "checker" module tile clear color by SPU ID to see where the tiles are
+ "sync" to do synchronous DMA (only partially implemented)
+
+commit a69fc5129bdf2f245c5bf2e0fe7b542caf7809a9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 4 15:25:45 2008 -0600
+
+ mesa: improved gl_buffer_object reference counting
+
+ Use new _mesa_reference_buffer_object() function wherever possible.
+ Fixes buffer object/display list crash reported in ParaView.
+
+commit 9a64440154319738445e203339156e54232908ee
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 4 15:05:03 2008 -0600
+
+ mesa: fix minor mem leak
+
+commit 37c74af01ce52b603f565a6c8a9094500d5cb87a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 4 14:58:02 2008 -0600
+
+ mesa: improved gl_buffer_object reference counting
+
+ Use new _mesa_reference_buffer_object() function wherever possible.
+ Fixes buffer object/display list crash reported in ParaView.
+
+commit dc248fc2881f4443bdc20a3b53b2ad24fee430ec
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 4 12:36:20 2008 -0600
+
+ cell: assorted comments, clean-ups, etc.
+
+commit 27ae1bcabfd441c13f52f96a72f54ea70452781c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 4 10:38:00 2008 -0600
+
+ cell: use util_surface_copy/fill()
+
+commit 93ad2d5a5e812e3a80f8157b4371df2f17510621
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 4 10:37:30 2008 -0600
+
+ cell: include p_inlines.h
+
+commit dd82c06ca371bacfda77d0eece5e29adee47e058
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 4 10:32:29 2008 -0600
+
+ softpipe: use the new util_surface_copy/fill() functions
+
+commit 69897223a8e0b9e5cd187a3c0e2249ba73b652c0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 4 10:31:50 2008 -0600
+
+ gallium: remove the copyHeight hack for compresssed formats
+
+commit ce8c08c2b03d8dc363deb14124372a6bbb4efd99
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 4 10:31:23 2008 -0600
+
+ gallium: new util_surface_copy() and util_surface_fill() helpers
+
+ These are plug-in fallbacks for the pipe->surface_copy() and
+ pipe->surface_fill() functions.
+
+commit 978f07bebdd5a368b8f900ed9cf77d3464a77ec0
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Thu Sep 4 13:37:15 2008 +0200
+
+ mesa: Silence compiler warnings on Windows.
+
+commit 4a32f0c63886b985743ecadc24fd60a23864c491
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Thu Sep 4 06:23:14 2008 -0400
+
+ configure.ac: bump dri2proto requirement, drop TTM_API define.
+
+commit 55e89eecff6a8dc0433eca16e2ea699ec9636d1b
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Thu Sep 4 11:32:52 2008 +0800
+
+ mesa: merge stencil values into depth values for MESA_FORMAT_S8_Z24
+
+ Cherry-picked from master
+
+commit 0adfd1021035e90995a25ec5f20b736e55075d92
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Thu Sep 4 11:35:15 2008 +0800
+
+ intel: Fix depth_stencil texture.
+
+commit 218df7f9c53db90abf3a6590f77c8e9e49aeedf5
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Thu Sep 4 11:32:52 2008 +0800
+
+ mesa: merge stencil values into depth values for MESA_FORMAT_S8_Z24
+
+commit dc44bb8e9208680379b31df01b4499c3a3bde5cb
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Thu Sep 4 10:35:01 2008 +0800
+
+ mesa: Support for MESA_FORMAT_S8_Z24 texture
+
+ cherry-picked from gallium-0.1
+
+commit 2c45b5575ad4396fa939ada1ccd977cad1b09f10
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Sep 4 11:15:19 2008 +0900
+
+ mesa: Remove unused var.
+
+commit 1d7a213dad0fcc9aa16cdd36eff64d79ec37ae85
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Sep 4 11:15:08 2008 +0900
+
+ softpipe: Add missing include.
+
+commit f754b45befee2e1c6650ed7c7ad13c82fc7b598b
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Sep 4 11:14:59 2008 +0900
+
+ i915: Add missing include.
+
+commit 135a0dd75cb91285ca0fcec657f0256066e0a73e
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Sep 4 11:14:35 2008 +0900
+
+ gallium: Fix typo.
+
+commit dffad1751e953c10742d5aee191d6f07482cdeea
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Sep 4 09:34:12 2008 +0900
+
+ cell: Use pipe_buffer_* inlines as much as possible.
+
+commit 34cc7f5f1990e8e84628c24677a6bc715aeaf661
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Sep 4 09:34:04 2008 +0900
+
+ i915: Use pipe_buffer_* inlines as much as possible.
+
+commit 65a094101f8463cd0d26104a25a77f24bc2f6949
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Sep 4 09:33:47 2008 +0900
+
+ i965: Use pipe_buffer_* inlines as much as possible.
+
+commit c93fff86ea5f8fb175159652e5b3ffa3882c2c2b
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Sep 4 09:33:27 2008 +0900
+
+ softpipe: Use pipe_buffer_* inlines as much as possible.
+
+commit 78435d9142b4762cdf7193729bcd3148d990de3d
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Sep 4 09:33:10 2008 +0900
+
+ python: Use pipe_buffer_* inlines as much as possible.
+
+commit a3e39a4aa950ae0f9d4c3106bdf438c6529bd63c
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Sep 4 09:32:54 2008 +0900
+
+ gallium: Use pipe_buffer_* inlines as much as possible.
+
+commit e5085b83d0e3e16fcdc67bdab5cf7678d35984d4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 3 14:38:02 2008 -0600
+
+ cell: flush rendering to current surfaces before installing new ones
+
+ This fixes crashes when resizing windows.
+
+commit e082298e3115d12e2acc80763a49acfb762072ae
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 3 14:36:56 2008 -0600
+
+ cell: update comments, fix typos
+
+commit f89b74d97eff6c9a9875475af34fb15974ad75a2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 3 14:31:11 2008 -0600
+
+ cell: change context type passed to cell_flush_int()
+
+commit 5531c986bd34457e113163a68ff4ab98394738f0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 3 14:23:22 2008 -0600
+
+ gallium: comments about nblocksx/y, etc
+
+commit a563a27c07eee9f0278c8473e27853fa2d1ad119
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 3 13:32:09 2008 -0600
+
+ gallium: silence warnings
+
+commit 6c84652dc3877593b8b151366521289833707b40
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 3 13:31:51 2008 -0600
+
+ cell: replace assert() with special spu ASSERT() macro
+
+commit 439dca49920018e557d70b828f10aa815a8a9066
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 3 13:31:14 2008 -0600
+
+ cell: add pipe_texture_reference() call in cell_get_tex_surface()
+
+commit b035c85b3e3eaae071f1401f23be40b16cdee34f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 3 13:30:46 2008 -0600
+
+ cell: updated assertion
+
+commit ba2812f23e05c63e0ea2a042dcb788c30fcbc37f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 3 11:45:28 2008 -0600
+
+ cell: comments
+
+commit 6ebf712d88e7d1da949e224b93ff12ef601f2742
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 3 11:44:14 2008 -0600
+
+ gallium: do image clipping in xmesa_display_surface_tiled()
+
+commit 8b8952aa69bbaa0f87526cd08aaca7659595a675
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 3 11:43:11 2008 -0600
+
+ cell: fix texture/surface allocation to allocate by multiple of tile size
+
+ This fixes the garbage blocks/pixels seen along the bottom of some windows.
+
+commit 2ab394a3b4557f1d79d38f24f899508d7b13cd35
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 3 10:26:38 2008 -0600
+
+ cell: move misplaced assertions; put them after ximage is assigned.
+
+commit 1d5ad2c244f4b66ca1ac40c545482009ab46607c
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Wed Sep 3 15:01:19 2008 +0200
+
+ i915: Fix typo in intel_lock.c
+
+commit fafc36920eb79ddbe7049f6bbce18bcc279982d0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 3 09:31:36 2008 -0600
+
+ cell: add -DDEBUG flag, fixes to Cell Makefiles
+
+commit a04aeea5c016530d7371e032438a0a8fa2c0d7f6
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Sep 3 16:13:18 2008 +0100
+
+ intel: Fix prototype warning.
+
+commit ab93aa774e2fc09b5f579eb13ce94cf22796902b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 3 09:08:19 2008 -0600
+
+ Cell: added linux-cell-debug config
+
+ linux-cell is now the optimized configuration.
+ Remove some Cell-specific stuff from winsys/xlib/Makefile.
+
+commit 01a76f4fee3dda55447dc93e6198ede105bdaef0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 27 16:45:41 2008 -0600
+
+ cell: add missing cell_tex_surface_release()
+
+commit e32721c46a713f55a8fd70e61f9cb066eeb69211
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Sep 3 12:36:43 2008 +0100
+
+ intel: Fix refcounting on depth buffer initialization in DRI2.
+
+ (Reverts a change to work around the problem on 965).
+
+commit 3bb2a24921af0ec419afc928ee5b279982aa01ea
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Wed Sep 3 14:47:36 2008 +0800
+
+ intel: Fix a crash if dri2 is disabled.
+
+commit f637a96e85a51a66f2c53b91118a6815bb61d6e6
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Sep 3 11:48:05 2008 +0900
+
+ gallium: Have pipe_buffer_* receive a pipe_screen instead of a pipe_context.
+
+ We want to use the pipe_buffer_* inlines everywhere, but a pipe context
+ is not always available nor is it needed.
+
+commit 82086f5d21295d5ceffb0fd9963de7de4112964b
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Sep 3 10:30:09 2008 +0900
+
+ draw: Describe the steps in emit_load_R32G32B32A32.
+
+commit a28aa1854378f735a6ac5c4b25fd7645cdbc1358
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 2 18:10:34 2008 -0600
+
+ fix BUFFER_DEPTH/BUFFER_ACCUM mix-up
+
+commit 0fd1a8c4a1201f3508cb6a98dc1c66ab9ebd919f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 2 18:10:34 2008 -0600
+
+ fix BUFFER_DEPTH/BUFFER_ACCUM mix-up
+
+commit e3509fd4d09a19293ac3f2e0c92d758bc3ef308c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 2 18:05:09 2008 -0600
+
+ gallium: increase string buffer size to 16000 to avoid truncated output of long shaders
+
+commit feea0c9d958bc1645b09b288cd4d4756d0d6e61a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 2 18:04:08 2008 -0600
+
+ gallium: fix out of bounds array errors in SSE execution
+
+ 1. #define MAX_INPUTS/OUTPUTS/TEMPS/etc with better values.
+ 2. Add assertions in aos_get_x86() to check register file indexes
+ 3. Assert that constant regs haven't changed after running SSE code.
+
+commit 72b90b7894afbcb39f72dc4d76cdea0678bf4bc3
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Mon Sep 1 22:21:08 2008 +0200
+
+ Intialize swizzled_surface object
+
+commit 2774b09d4e6957e202ece37337ae6201f7aa8eb7
+Author: Jakob Bornecrantz <jakob@aurora.(none)>
+Date: Tue Sep 2 17:29:19 2008 +0200
+
+ i915: Fix typo in ws_dri_bufmgr.c
+
+commit 4d27c027ab301cff64e7edb8a3eb731c2e8585c5
+Author: Jakob Bornecrantz <jakob@aurora.(none)>
+Date: Tue Sep 2 17:28:42 2008 +0200
+
+ i915: Small fixes for tiled textures
+
+commit 418b6035133e4e10bdc46fe39af192afd087dd69
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Tue Sep 2 15:48:50 2008 +0200
+
+ fix no error generated when calling glLight{if}[v] inside begin/end (bug 17408)
+
+commit 2ab5e69f16ed9e9b399ddd526f1370032d3d10a4
+Author: Younes Manton <younes.m@gmail.com>
+Date: Mon Sep 1 20:22:41 2008 -0400
+
+ g3dvl: Use consistent variable names.
+
+commit ff1a5066513fc75fb0fbbe7fe8a3f1ff27fbf6d3
+Author: Younes Manton <younes.m@gmail.com>
+Date: Mon Sep 1 20:13:50 2008 -0400
+
+ g3dvl: Use one VB for all MBs, sort MBs at flush to determine placement.
+
+commit 28b4090922f45e90804a21f83c04ec8b781cdf96
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 1 15:32:40 2008 -0600
+
+ gallium: remove glthread.h file (not used)
+
+commit e54f1abca7369542c802ef531ff524caedfbcf65
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 1 15:31:18 2008 -0600
+
+ gallium: removed p_pointer.h (use util/u_pointer.h instead)
+
+commit f3a7463feefcf1f22c1309e1f5b0bfe381859686
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 1 15:30:26 2008 -0600
+
+ gallium: include u_pointer,h, not p_pointer.h
+
+commit 39e8860e45fae2968917bdb7fe572c8793bbce30
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 1 13:10:23 2008 -0600
+
+ mesa: use CALLOC instead of MALLOC to fix valgrind warning
+
+commit c074b86cbc664e973486caaca0817b9a1654be3d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 1 13:10:00 2008 -0600
+
+ gallium: added st_bind/release_teximage() functions
+
+commit 9d9143d88985e69835b374ff330bab929275d68e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 1 13:09:31 2008 -0600
+
+ gallium: move st_texture_image() cast wrapper to header file
+
+commit 102529cf1b6ab860d47e92a0bb58a0dce8b31cbc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 1 13:08:44 2008 -0600
+
+ egl: CreatePbufferSurface, Bind/ReleaseTexImage functions
+
+commit b36f90657370296b45c27d33d60c89fa31dc1d76
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 1 13:08:12 2008 -0600
+
+ egl: additional error checking in _eglBind/ReleaseTexImage()
+
+commit 72bcb69459d336fe0c2cf9da57a9b98a933299ca
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sun Aug 31 01:01:51 2008 -0400
+
+ g3dvl: Some clean ups.
+
+commit 29f876cc90605ad7de1141443d3b242395eed5ee
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sat Aug 30 13:26:06 2008 -0400
+
+ g3dvl: Inline hint for relatively small, frequently called functions.
+
+commit e959c23a31c11f0bcc5775e6e0eb48c5c3d70cf3
+Author: Younes Manton <younes.m@gmail.com>
+Date: Fri Aug 29 00:22:09 2008 -0400
+
+ g3dvl: Re-enable buffer rotation, disable high quality 420->444 conversion.
+
+ Using linear interpolation when upscaling the chroma blocks causes some
+ discoloration around the edges.
+
+commit 038d53cbdb9e504388141c25859bce12f7e8f87e
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Sep 2 02:51:06 2008 +0900
+
+ pipebuffer: Add missing break statement to cache lookup logic.
+
+ Second loop was never run. Spotted by Keith.
+
+commit 5c198f660a1812d9b3970408695d04bdd74a5d1e
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Sep 2 02:16:43 2008 +0900
+
+ pipebuffer: Comment the slab code. Remove the freeSlabs list.
+
+ The freeSlabs list is not really needed as we free empty slabs immediately.
+ Time based cached is done separately.
+
+commit a6c725839482f3d0f2af0eb15e5b6ab80184fb6c
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Sep 1 09:47:40 2008 +0900
+
+ scons: Optimize for speed, not size, with MSVC.
+
+commit f4d707b40e8dde8cdf68f5c4595b838c138fcf9b
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sun Aug 31 23:56:59 2008 +0900
+
+ draw: Put INLINES where appropriate.
+
+ In the hope of MSVC inline some more functions, but without much result.
+
+commit 5e184894d24fbf01ed826c39ea921c01ae6d9caf
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Sep 1 14:24:07 2008 +0100
+
+ util: make timed_winsys os independent
+
+commit c118c654fa238f983f1550149466727fa81e51ab
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Sep 1 14:23:47 2008 +0100
+
+ util: add func to return time as uint64 microseconds
+
+commit a4d04d71a46c88c5cbe08336111267ae9d0b7f11
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Sep 1 14:11:12 2008 +0100
+
+ add u_timed_winsys.[ch]
+
+commit a9345511d8c9f0707b0dc49f772b3740878f1bd3
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Aug 29 11:17:24 2008 +0100
+
+ remove depend.bak in realclean
+
+commit 55270310c5040a0821fef3cfb3b620dc6c0320a9
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Mon Sep 1 11:43:29 2008 +0200
+
+ Fix build by removing #include of removed dri_sarea.h.
+
+ Thanks to JohnFlux on IRC for pointing out the problem.
+
+commit 0c47bd0374e533f614ca3013f429fc32946e5be7
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Sun Aug 31 11:10:08 2008 +0200
+
+ nv30: set fp samplers with fragprog generation
+
+commit 8c092def6c8f59048341c585af9b752bfa1f0236
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sun Aug 31 17:43:20 2008 +0900
+
+ Remove CVS keywords.
+
+ Please remove CVS keywords when importing third-party code into the git
+ repository.
+
+commit ef823dd543e1d98da98d188c53c8fc3285924364
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sun Aug 31 17:40:08 2008 +0900
+
+ util: Fix compiler errors in the release build of C++ sources.
+
+commit 8156c30a5d2d9504cd156b009545f5514f2628ed
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Aug 29 10:39:02 2008 +0900
+
+ gallium: winsys/common no longer exists
+
+commit 248831e741602450fa957d7f63b1ff1e1395c412
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Sat Aug 30 22:30:03 2008 +0200
+
+ nv30: activate fp texture units when needed, to get texturing
+
+commit 3c819926768e3879c8deaedfca964cc52ed1a7c5
+Author: Jonathan White <jwhite@tungstengraphics.com>
+Date: Fri Aug 29 11:30:32 2008 -0600
+
+ Added command line option for Scons to select which version of MSVS to use. Versions 7.1, 8.0 and 9.0 are allowed. Usage is scons MSVS_VERSION=8.0.
+
+commit f56b569e9af356c11869ee49a4669bb01b75397e
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Wed Aug 13 11:46:25 2008 -0400
+
+ DRI2: Drop sarea, implement swap buffers in the X server.
+
+commit 4d9d192672508eaa9b2a70f84e933f11108bf09f
+Author: Younes Manton <younes.m@gmail.com>
+Date: Thu Aug 28 23:25:13 2008 -0400
+
+ g3dvl: Buffer the entire frame before rendering.
+
+commit 7a2ab6d05573508389b38f8f1fa261ba56062865
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Fri Aug 29 09:49:16 2008 +0800
+
+ i965: force thread switch after IF/ELSE/ENDIF. partial fix for #16882.
+
+ A thread switch is implicitly invoked after the issuance of an IF/ELSE/ENDIF
+ instruction if necessary. Unfortunately it seems sometimes a forced thread
+ switch is needed.
+
+commit 6073b49c7915147c28e9887039a51b8e4e2e62c5
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Fri Aug 29 09:27:28 2008 +0800
+
+ i965: mask control for BREAK/CONT/DO/WHILE. partial fix fox #16882
+
+commit fd81433a4efbe658db742b36c0c30c17c6effea6
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Fri Aug 29 09:22:41 2008 +0800
+
+ i965: Push/pop instruction state. partial fix for #16882
+
+commit 380385ab7d0c1964464b40aeea237671189d19cb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 28 15:22:44 2008 -0600
+
+ mesa: added test for very long fixed-function vertex programs
+
+commit ee87d7d9ecc5eca261ce58115ae1ed2c273ceda6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 28 15:21:44 2008 -0600
+
+ mesa: remove debug code
+
+commit 6138ee9de0330b9a2bf300bc0d52b471191dd1ed
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 28 15:15:00 2008 -0600
+
+ mesa: bump MAX_INSN to 350
+
+commit cacf5f21efcbf0ddde90bf8b7fc2b9ba1873302e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 28 15:11:04 2008 -0600
+
+ mesa: dynamically grow the fixed function vertex program as needed
+
+ Don't use a fixed-size array. Saves memory in most cases and avoids
+ potential overflow for long programs.
+
+commit 5048457372898a30478e33e66658277f5cead759
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 28 14:18:20 2008 -0600
+
+ gallium: change the conditional which tests for combined Z+stencil buffers
+
+ The caller might be requesting 16-bit Z + 8-bit stencil be placed in a
+ PIPE_FORMAT_S8Z24 or PIPE_FORMAT_Z24S8 buffer.
+
+commit 4e4cb0274050f300da9801256b66d3be528d549f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 28 08:38:27 2008 -0600
+
+ mesa: bump MAX_INSN to 300
+
+commit c46c07f6c60edb60514756bd6af7918f70931e53
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Aug 28 22:03:42 2008 +0900
+
+ pipebuffer: Fix/add detail to the under- overflow report messages.
+
+commit c6739e8cea287e17b248120e1a76480f1a25c082
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Aug 28 21:06:06 2008 +0900
+
+ pipebuffer: Check buffer over- & underflows when mapping/unmapping too.
+
+commit c5f0fd95a43db4c69decd0fa54dc9eb2b2525690
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 27 16:03:03 2008 -0600
+
+ egl: free display ext data in xdri_eglTerminate().
+
+commit a341586d030ebe36f972311cd70088537539b475
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Aug 28 06:53:57 2008 +0900
+
+ gallium: s/PIPE_OS_WINDOWS/PIPE_SUBSYSTEM_WINDOWS_USER/ in p_thread.
+
+ PIPE_OS_WINDOWS is an umbrella for all Windows variants and subsystems,
+ PIPE_SUBSYSTEM_WINDOWS_USER is just for user-space windows (e.g., OpenGL),
+ and the thread primitives currently included in p_thread only support the
+ later.
+
+commit ee402e5ce2d9203558bf066642becb952399c3e9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 27 14:42:50 2008 -0600
+
+ gallium: better support for user-space interleaved arrays
+
+ Basically, set up one user-space wrapper for all arrays instead of
+ the individual arrays.
+
+commit ce40bc2ae088ce6defac6b2bf424dcfd0e141a75
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 27 13:20:10 2008 -0600
+
+ gallium: in st_draw_vbo() try to detect interleaved arrays in a single VBO.
+
+commit 8eb85f6f2a87e8a176569ad2270973024272fb21
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 27 11:30:14 2008 -0600
+
+ gallium: remove old assertions
+
+commit 6f33b778ae3130571d17a110187379ec0beecbd8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 27 11:29:26 2008 -0600
+
+ gallium: call st_finish() in XMesaFlush()
+
+commit d29cf58b1d258ccaa65da5de655167370cbf5941
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 27 08:46:29 2008 -0600
+
+ gallium: s/_glthread_Cond/unsigned/ in p_thread.h
+
+commit da66a7640de664e15d19cfe7cf918aa3d138799b
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Aug 27 11:06:08 2008 +0200
+
+ gallium: Add dummy defines of pipe_condvar for Windows to make it compile.
+
+commit 0bb852fa49e7f9a31036089ea4f5dfbd312a4a3a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 26 16:35:12 2008 -0600
+
+ gallium: thread wrapper clean-up
+
+ In p_thread.h replace _glthread_* functions with new pipe_* functions.
+ Remove other old cruft.
+
+commit bafefccff8e9a56b797b988f9a5d7d72e2d51b9a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 26 16:13:39 2008 -0600
+
+ mesa: don't check for GLSL 1.2 to advertise GL 2.1
+
+ The GLSL 1.2 features are minor...
+
+commit 9aeb6e782567d2c6253010c0b4d72f04b9ff5962
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 26 16:12:29 2008 -0600
+
+ added 7.1 MD5 sums
+
+commit 019b9529e57832439d46f2057ba79aad52e87fdd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 26 15:59:06 2008 -0600
+
+ change MESA_MINOR to 3
+
+commit 17e9bbd5a4fa660e5993c6fe05e181c3d6fd5973
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 26 15:58:42 2008 -0600
+
+ 7.1 updates from 7.2 branch
+
+commit b5ab3b7dfc42a568a156dec2fa043292014f98a7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 26 14:09:28 2008 -0600
+
+ cell: use SDK 3.0 by default
+
+commit 385d6b2e68e6960cf3dc7ff922427523de746a9f
+Author: Timo Jyrinki <timo.jyrinki@gmail.com>
+Date: Tue Aug 26 12:36:39 2008 -0600
+
+ asst. html doc updates
+
+commit e6887a5752774c18cf527477fdd3e57e4893ff3b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Aug 25 11:19:24 2008 +0100
+
+ draw: attempt atomic submit of large drawelements calls
+
+commit 026e7731e549e0777c010348460fd48b3d75a843
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Aug 25 10:59:45 2008 +0100
+
+ vbo: seed initial max_element value with a more likely candidate
+
+commit 6ba9fb9b6693904054ad4e1506ba42e324334b0a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 25 11:31:59 2008 -0600
+
+ cell: asst fixes to get driver building/running again.
+
+ Note that SPU vertex transformation is disabled at this time.
+
+commit 60ac76175b6457ecc1cd8bd7a25cb79b2d529434
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 25 11:30:57 2008 -0600
+
+ gallium: added const qualifiers on some draw funcs
+
+commit a644c5a850242376e6ab03f7f4bdbfb8a232490f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 25 11:30:20 2008 -0600
+
+ gallium: include p_debug.h for non-HAVE_POSIX_MEMALIGN
+
+commit fd06d01b80fd9b2924682686e943d819bfcf027b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 25 11:29:39 2008 -0600
+
+ gallium: include <sched.h> on linux to get sched_yield() proto
+
+commit 80af50b35b5a4e8890e15b28940576f8a1ac1476
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 25 09:20:26 2008 -0600
+
+ mesa: glsl: regenerated file
+
+commit 2d5087bf74f2d0e58037847058a123fe9d142038
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 25 09:20:00 2008 -0600
+
+ mesa: glsl: grab latest fixes from gallium-0.1 branch
+
+ Includes:
+ 1. Fixes failed asserting about bad swizzles in src reg emit.
+ 2. Tracks uniform var usage.
+ 3. Emit exp() in terms of EXP2 instruction.
+
+commit d6df735f1c22c64c17103dd92fffd7b658a46cda
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 25 09:18:33 2008 -0600
+
+ mesa: set version string to 7.3-devel
+
+commit 85813e36f2646e00ac163fb6e6e78e1d2f73eb34
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 25 08:32:50 2008 -0600
+
+ gallium: include u_math.h
+
+commit 2c4661f8fce8a27f2082c6ac498f9fb188878476
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Mon Aug 25 10:42:00 2008 +0200
+
+ gallium: Add missing includes.
+
+commit 6fd2feaad7029a2f6d02bcf7039cbe72f53c615c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sun Aug 24 18:10:50 2008 -0600
+
+ gallium: include u_memory.h, u_math.h
+
+commit 4c84e940d009fe56c1f249507028daadea749ef2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Aug 24 17:49:11 2008 -0600
+
+ gallium: remove old tile util files
+
+commit 4f25420bdd834e81a3e22733304efc5261c2998a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Aug 24 17:48:55 2008 -0600
+
+ gallium: refactor/replace p_util.h with util/u_memory.h and util/u_math.h
+
+ Also, rename p_tile.[ch] to u_tile.[ch]
+
+commit f75843a517bd188639e6866db2a7b04de3524e16
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sun Aug 24 17:59:10 2008 +1000
+
+ Revert "Revert "Merge branch 'drm-gem'""
+
+ This reverts commit 7c81124d7c4a4d1da9f48cbf7e82ab1a3a970a7a.
+
+commit 7c81124d7c4a4d1da9f48cbf7e82ab1a3a970a7a
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sun Aug 24 17:52:40 2008 +1000
+
+ Revert "Merge branch 'drm-gem'"
+
+ This reverts commit 53675e5c05c0598b7ea206d5c27dbcae786a2c03.
+
+ Conflicts:
+
+ src/mesa/drivers/dri/i965/brw_wm_surface_state.c
+
+commit ec7415642d7eb192164e7a513198b86756de484c
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sat Aug 23 12:31:50 2008 +0200
+
+ trace: Include u_string.h.
+
+commit e7ff7f78be6c14b6c48e451d6d1f597af379f8f8
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sat Aug 23 12:31:16 2008 +0200
+
+ util: Silence compiler warnings on Windows.
+
+commit f3dfd5969d447515635c077b700a2d4957208167
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sat Aug 23 12:30:39 2008 +0200
+
+ util: Include missing u_rect.h.
+
+commit 2b87174ec306673c59386102890f35907be497ef
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 22 16:22:35 2008 -0600
+
+ gallium: rename p_util.c to u_rect.c (it only contains rect copy/fill helpers)
+
+commit fe1e39afbb147deab60ecc932c24f921b46f1364
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 22 16:19:22 2008 -0600
+
+ gallium: move pipe_copy_rect(), pipe_fill_rect() protos into new u_rect.h header
+
+commit a13475ff0057f1de8e3bc08d6ca42b9e135a3f5a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 22 16:09:37 2008 -0600
+
+ gallium: replace align_int() with align()
+
+ The two functions are identical. Removed align_int() from p_util.h
+
+commit f9c04d55d045b3cf3ffef24f805166e3995096e2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 22 15:53:28 2008 -0600
+
+ gallium: insert __cplusplus/extern wrappings
+
+commit a22bdd42d77bc858814f37d657fa940a520dbe56
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 22 15:51:38 2008 -0600
+
+ gallium: move math macros from p_util.h to u_math.h
+
+ More can be done...
+
+commit 9935e3b7303da656e258d4bd5bc799ffbfbc737b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 22 15:51:02 2008 -0600
+
+ gallium: stop using ifloor(), FABSF(), etc
+
+commit 120270def74149b240926f827b80ca073536d462
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 22 15:49:36 2008 -0600
+
+ gallium: stop using FABSF() macro
+
+commit 1a46dcc8a927dfb38ca1381e7b3dafb789f8257c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 22 15:25:21 2008 -0600
+
+ gallium: replace LOG2() macro with util_fast_log2() inline func
+
+commit 1c2ff4d9e65563c071747a9c3bd907bd24706da0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 22 15:16:43 2008 -0600
+
+ gallium: use new util_fast_exp2(), _log2(), pow() functions
+
+ New code surrounded with #if FAST_MATH to allow comparing against original
+ code if we need to debug.
+
+commit 07bebb839d8f5e35209c446133743892084a672c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 22 15:14:47 2008 -0600
+
+ mesa: glsl: regenerated file
+
+commit 47d4b958cfaac080a97bf0ba21d78b3ce37b62a9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 22 15:14:36 2008 -0600
+
+ mesa: glsl: implement exp() functions in terms of EXP asm instruction, not pow
+
+commit 9e2b867b3f2e9afc9e9f9178788ae07f6be1f3c0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 22 15:13:47 2008 -0600
+
+ gallium: new u_math.[ch] files for math functions
+
+ So far, optimized/low-precision versions of exp(), exp2(), log2(), pow().
+
+commit d32f51d4717686d626b0f7ec9a92c3c9af50009f
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Aug 22 03:14:51 2008 +0100
+
+ python/retrace: Interpret texture/surfaces destructions.
+
+commit 807a7487ff6f0af60240ce467bd1ac160b0b054e
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Aug 22 03:14:24 2008 +0100
+
+ trace: Don't trace texture/surfaces releases, only destructions.
+
+commit 152d00d199f2c8c46a96be450cfd017b4798b4d1
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Aug 22 03:13:27 2008 +0100
+
+ trace: Use a 4 hexadecimal digit suffix.
+
+commit 7f3c3683ce50bad42411547d4b78e03d7f20e498
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Aug 22 01:23:48 2008 +0100
+
+ python/retrace: Process the trace call-by-call (instead of reading everything into memory).
+
+commit a35002c1673a1a37ec79b237dda7e8f6b9c9962a
+Author: Krzysztof Czurylo <krzysztof.czurylo@intel.com>
+Date: Thu Aug 21 15:01:36 2008 -0700
+
+ 965: Fix incorrect backface culling
+
+ Fix incorrect backface culling for OGL tunnel in wireframe and
+ point mode.
+
+commit 6f4fd3a4322a3d7c63207999e08b07ba46b0fc66
+Author: Krzysztof Czurylo <krzysztof.czurylo@intel.com>
+Date: Thu Aug 21 15:01:20 2008 -0700
+
+ Call _ae_update_state when array enable state changes
+
+ Basically, the application enables client vertex and color arrays,
+ renders something, then disables color array, and renders something
+ else (using vertex array only). Even though the color array is
+ disabled (and the pointer is no longer valid), the driver still tries
+ to read color data from this array (which results in an exception).
+
+ This is because enabling/disabling array does not trigger
+ _ae_update_state() and the list of enabled arrays is not updated.
+ _ae_update_state() it's called on the first state validation only (as
+ all the "dirty" flags are set at the beginning). Any further change to
+ client arrays' state has no effect.
+
+commit be30fddc7c6d0a75cf0777cf24591c3a6439e2c6
+Author: Krzysztof Czurylo <krzysztof.czurylo@intel.com>
+Date: Wed Jul 30 10:19:08 2008 -0700
+
+ 965: Fix color clamping issues
+
+ Patch is correctly applied this time.
+
+commit 1a244cd9e29e0163a3d68cc30cc6f4a81a9ea96d
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Wed Jul 30 10:00:48 2008 -0700
+
+ Formatting changes to ease application of patches
+
+commit 687cd467b3461691a6fd03d3bc38c01ed79c06fd
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Aug 21 12:12:18 2008 -0700
+
+ i965: use dri_bo_subdata in vertex upload to get pwrite used.
+
+ Otherwise, we would ping-pong objects to GTT and back as we did pwrite on
+ indices (flushed and mapped to GTT) and mapped for vertices (moved back to
+ CPU domain).
+
+ Fixes bug #17180.
+
+commit 021ce883e6146206306ebf48ccd2cd4214619ecb
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Aug 21 11:20:20 2008 -0700
+
+ Flush vertices when updating texObj->GenerateMipmap state.
+
+ Caught by texturing/gen-teximage test in piglit.
+
+commit 10624065b0dc631164d786b2c39f35655e55eadf
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Aug 21 18:45:43 2008 +0100
+
+ python/retrace: Support gziped traces.
+
+commit 34d12c1787116c254e528dd981810b7b78b7a2ee
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Aug 21 13:57:59 2008 +0100
+
+ trace: Hack to detect writes to user buffers.
+
+ It often happens that new data is written directly to the user buffers
+ without mapping/unmapping. This hack marks user buffers and dumps them
+ before passing them to pipe context.
+
+commit 0fff3e4ea991ce2f841739ee8c8e8937452e56fa
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Aug 21 13:39:52 2008 +0100
+
+ trace: Split the output stream on windows.
+
+ Because windows limits the ammount of memory that can be mapped.
+
+commit f52db6cd4436ec8b14e592f4b2b99f5840bdf47a
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Aug 21 01:41:20 2008 +0100
+
+ scons: Build the trace pipe driver by default.
+
+commit 3a94b25538c647df965a93cd7734b841257ef203
+Author: Peter Hutterer <peter@cs.unisa.edu.au>
+Date: Thu Aug 21 11:22:40 2008 +0200
+
+ Report damage before modifying the area, not after.
+
+ If we copy the area before reporting the damage in this area, the server may
+ restore buffered data over the new data, leading to artefacts on the screen.
+ Reproducable with two cursors (second of which is SW rendered) and moving
+ windows around in compiz.
+
+ Fixes http://bugs.freedesktop.org/show_bug.cgi?id=16384 .
+
+commit 495c02262eaaa68f2df23c2265362da51851c57a
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Aug 20 22:55:47 2008 -0700
+
+ intel: Fix SGIS_generate_mipmap after a miptree had been validated.
+
+ Previously, the updated images would be ignored because the miptree in the
+ image matched the miptree in the object, even though Mesa core had just attached
+ updated contents in ->Data. Additionally, Mesa core could have tried to
+ free inside our miptree if it had already been validated.
+
+ Fixes bug #17077.
+
+commit 8f1d5ca086e16a82d7d7eb5500df9ad74f0a703f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 20 15:32:33 2008 -0600
+
+ use ftransform()
+
+commit 8434c65bb9f52a33ba8945bca9a0c62f7d30ed3a
+Author: Kristof Ralovich <kristof.ralovich@gmail.com>
+Date: Wed Aug 20 15:30:12 2008 -0600
+
+ glx: free driScreen in FreeScreenConfigs()
+
+commit 8b512781345090a18403c43c908fa84c45b8016c
+Author: Kristof Ralovich <kristof.ralovich@gmail.com>
+Date: Wed Aug 20 15:24:04 2008 -0600
+
+ glx: free context in driDestroyContext()
+
+commit e2060348630b59a446bac7f734fdde40033093ab
+Author: Kristof Ralovich <kristof.ralovich@gmail.com>
+Date: Wed Aug 20 15:18:38 2008 -0600
+
+ glx: free vertex array state when context is destroyed
+
+commit fb36a54a1c327efc6602ff104b097359f9823931
+Author: Kristof Ralovich <kristof.ralovich@gmail.com>
+Date: Wed Aug 20 15:06:09 2008 -0600
+
+ fix mem leak (free psc->visuals)
+
+commit 145f5f60f19574e06c536c102bec0cfd6320606d
+Author: Mark Anderson <linuxman@prodigy.net>
+Date: Tue Aug 19 08:31:08 2008 -0600
+
+ mesa: fix float blend bug
+
+commit 2848b55ed5cfa3afc00937baa967fd7765fc5613
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 18 16:49:33 2008 -0600
+
+ mesa: move old/obsolete MESA extensions specs to OLD/ directory
+
+commit ad9c862ffbb42d733595052d5769405ef7a98a75
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 20 14:40:02 2008 -0600
+
+ mesa: glsl: fix a swizzle bug in storage_to_src_reg()
+
+ Need to remove the 'nil' components before swizzling a swizzle
+
+commit e55093bf2f4ff32a691f63409b9fea321cf8eb0f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 20 14:39:10 2008 -0600
+
+ mesa: glsl: add check for exceeding max number of constants/uniforms
+
+commit 9cc13eba3e58d5cbb905c51828b6b2743dc61290
+Author: Dave Airlie <airlied@linux.ie>
+Date: Fri Jul 25 20:32:22 2008 +1000
+
+ i965: fixup format for TFP zero copy
+ (cherry picked from commit 9bc9e0ecb0fb2069b2c123e665eb2118e358098f which
+ was lost in a merge)
+
+commit ce61660ab90d2f80370e423e4cd40a51ff4c4902
+Author: Dave Airlie <airlied@linux.ie>
+Date: Fri Jul 25 19:56:56 2008 +1000
+
+ i965: make tex offset override work..
+
+ should fix fd.o 14441
+
+ (cherry-picked from commit d4244683a61f66cfb78408a37cf2587587847f96 which was
+ lost in a merge)
+
+commit 29bee15b1e8bea9162d9b9343c98b22b766694b1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 20 11:07:25 2008 -0600
+
+ mesa: glsl: regenerated file
+
+commit ef33697c7e11d93d8b94eadf286f4096734b613f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 20 11:06:53 2008 -0600
+
+ mesa: glsl: better implementation of ftransform()
+
+commit 0fae7648987d8264f85a9b6b6d7f903bff82a0f0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 20 10:31:38 2008 -0600
+
+ gallium: test for and cull prims with inf/nan vertices in sp_setup.c code.
+
+commit f6abdb20437b1b8d27d8c45c0787017dfcad3497
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 20 10:27:30 2008 -0600
+
+ gallium: fix typo in LINE() macro (replace i+1 with i1 var)
+
+ We were sometimes referencing an invalid vertex.
+ Fixes progs/trivial/line-clip.c test among others.
+
+commit 34cffce33413fe7701975d0d4bd54207bc44cacc
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Aug 20 14:03:12 2008 +0100
+
+ python/retrace: Retrace draw_elements and draw_range_elements.
+
+commit 1d881b8e8472ff49482b2b0404ac29160f096771
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Aug 20 14:02:43 2008 +0100
+
+ python: bindings for draw_range_elements.
+
+commit b17b110716936c32d20910cb9589038062b4f527
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Wed Aug 20 15:54:41 2008 +0800
+
+ i965: Enable GL_ARB_fragment_program_shadow and fix key->shadowtex_mask. (bug #16852, #16853)
+
+commit 815cdcfbc0740c66b901361620c88d99541bdad2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 19 18:14:15 2008 -0600
+
+ mesa: allow for extra per-context init
+
+commit 7f9959ae8394f8e52a180f5e261b0f9470f6c5bc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 19 17:41:34 2008 -0600
+
+ gallium: fix do_flip bug in sp_surface_copy()
+
+ Surfaces are always in y=0=top raster order so the caller should invert
+ the Y coordinate if needed; don't do it in sp_surface_copy().
+
+ Fixes a glCopyTexture regression.
+
+commit 63c0970dca9c13ab83ea24f108b41f75f2a290a7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 19 17:04:48 2008 -0600
+
+ gallium: fix an assertion
+
+commit 84a496746e1b01f4b11c4a44dd698b904ec83572
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 19 14:34:59 2008 -0600
+
+ gallium: implement a fast-path for glReadPixels for common cases
+
+commit e90c0c976d89d108a8220b538e02be173cf308fe
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 19 14:24:27 2008 -0600
+
+ gallium: do a proper implementation of GL_OES_read_format
+
+ Examine the currently bound color buffer's format to see if there's a good
+ format/type match.
+
+commit 9e3aaa50483b61d644306d483feed564c69018bf
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Aug 19 21:33:59 2008 +0100
+
+ gallium: WinCE build fixes.
+
+commit d7f8b95e097121a8c33332f920115795853d6ad7
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Aug 19 19:12:22 2008 +0100
+
+ python/retrace: Add several missing functions.
+
+commit d27ffb8c6d4551371995608a6d752dfeb26c2351
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Aug 19 19:11:47 2008 +0100
+
+ trace: Fix pipe_clip_state dump.
+
+commit 9adfc57a4c4deeb86d8f62491b94d6a44586eb1e
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Aug 19 19:11:36 2008 +0100
+
+ python: Handle null state.
+
+commit 5f1ef11ad2e3016ac4029489d9429d7f93737fe5
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Aug 19 18:25:38 2008 +0100
+
+ python/retrace: Trim null chars.
+
+ They are often left in memory mapped files, and are not part of the XML
+ accept chars anyway.
+
+commit 200d6dcc83ea9ac0bf6f1506214e0bd9b65714f2
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Aug 19 17:08:41 2008 +0100
+
+ trace: Support C++.
+
+commit ff01a12b23cad44e4c93e4a2c8cdaa5d18166252
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 19 12:04:35 2008 -0600
+
+ mesa: glsl: more writemask error checking
+
+commit bec1519a3202f94c5642dd94ce89cc2ff767aa3b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 19 11:31:10 2008 -0600
+
+ mesa: glsl: added some post incr/decr error checks
+
+commit c4cf2513e60a90a5b3a6238684a6b51e1f501864
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 19 11:23:25 2008 -0600
+
+ mesa: glsl: limit function matching through casting
+
+commit 3e1706f720b211f27a4aa88af2141db0c793adbb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 19 10:27:06 2008 -0600
+
+ mesa: glsl: add usage tracking for uniform vars
+
+ Unused uniforms are no longer included in the active uniforms list.
+
+commit a667d67cd6c8b9aa622cd3fce065aca92e1e8a76
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Aug 19 09:24:27 2008 -0700
+
+ r5xx: Final fog option fix.
+ Is there some kind of git hook we could use to keep me from committing
+ after like 10PM or so?
+
+commit df9bd01ea0c8a4d5b5ffecad4482ca6b4f2db33d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 19 10:05:11 2008 -0600
+
+ mesa: glsl: put var emit/ref code into separate functions
+
+commit 146a0fba0011e21a4831a4b86969d7cd3f093bf6
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Tue Aug 19 15:32:09 2008 +0200
+
+ gallium: Add note about vs_2_0 EXPP mapping.
+
+commit 47e14cc0932346a1133840890ac2fbdf71ba8c1b
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Tue Aug 19 14:44:41 2008 +0200
+
+ Add NV_vertex_program specific tests.
+
+commit 2858ec66c2dfb67c904cab5c56291b621c62720d
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Tue Aug 19 14:43:19 2008 +0200
+
+ Add support for NVIDIA programs.
+
+commit 7855ea2af23b20a2d6c3c0949e3f4695daca87cf
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Aug 19 03:40:27 2008 -0700
+
+ r5xx: Don't squish GL context when using FogOption
+
+commit 4405e428e4c2a80172c803cc3c4933d546bf2b4d
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Tue Aug 19 12:07:25 2008 +0200
+
+ tgsi: Implement LOG opcode for SSE2 codegen.
+
+commit 0d9d2045e86a249a36d8eeebf59979a162c164af
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Tue Aug 19 11:47:30 2008 +0200
+
+ tgsi: Implement EXP opcode for SSE2.
+
+commit 7f2d349b2d27cb1f422677fdac1a9d92f61d8fce
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Aug 19 02:24:13 2008 +0100
+
+ mesa: Call pipe->destroy on context destruction for all platforms.
+
+commit 12e84a8b84c331d0afef63e6119fe356c84bf383
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Aug 18 16:38:21 2008 -0700
+
+ r5xx: Enable fog options.
+ This uses fog HW instead of fragment programs.
+ If it breaks you, let me know!
+
+commit f9e14e0daca3b2f3662a68413c2fa71c05375b8e
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Aug 19 00:18:19 2008 +0100
+
+ xlib: Revert destroying pipe_screen (temporary).
+
+commit de3083be7197cccb8dbf223d644ebdb78a8c809d
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Tue Aug 19 00:42:30 2008 +0200
+
+ tgsi: Fix ARL opcode in SSE2 codegen.
+
+commit 5d0a079fd00e5c9f1e9c96dd7bd17ecee57c52ce
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Mon Aug 18 23:20:00 2008 +0200
+
+ st: Do not translate program constants to immediates when
+ indirect addressing used.
+
+commit 3eeaa943e264d9c61abfe5f4cf6351fdba0be4fd
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Mon Aug 18 22:51:15 2008 +0200
+
+ st: Translate address register declaration.
+
+commit 81dbc31f8b21aecdb91802dd4481057bd670f227
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Mon Aug 18 22:38:48 2008 +0200
+
+ st: Fix immediate construction.
+
+commit 2b512c0135bc8512cc80009ea7430f7cc0c869d6
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Mon Aug 18 22:21:32 2008 +0200
+
+ tgsi: Workaround debug output buffer size limitations.
+
+commit 5b16730df8e19792ed92441857f586e0ec773a1f
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Mon Aug 18 21:44:54 2008 +0200
+
+ Port vp to Windows.
+
+commit 93305bd6808787964c0088a88c428ecd1208aa44
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Mon Aug 18 18:09:23 2008 +0200
+
+ tgsi: Use NUM_CHANNELS.
+
+commit c71161f1b1996d72fdc5398539c8de7cb0c34b6d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 18 16:30:10 2008 -0600
+
+ gallium: use PIPE_TEXTURE_USAGE_RENDER_TARGET for stencil renderbuffers
+
+commit a88de345cd2e8d79de5f5da36223b1db6adf1b3e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 18 16:12:39 2008 -0600
+
+ egl: don't put the example/demo driver in the lib/ dir
+
+commit e3f3e22cf7e9af4c5416d37329b7b8ee50f0cfcb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 18 16:10:01 2008 -0600
+
+ gallium: fix vertex program output translation/mapping bug
+
+ In some cases, the vertex program output's semantic info didn't match up
+ with the fragment program's input semantic info. This info is now explicitly
+ passed into the st_translate_fragment_program() function.
+
+commit 90a1c6e4032571a1c3e43daeb357068ba14136fe
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Aug 18 12:42:08 2008 +0100
+
+ trace: Explain how to integrate with a state tracker or winsys.
+
+commit 747762f379f05d127865de77615d6e4dd46be191
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat Aug 16 19:45:05 2008 +0100
+
+ trace: Preliminary stream implementation for GDI.
+
+commit d042f415fc9edcc174573fc2cc06afa373a7ef9b
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat Aug 16 19:44:37 2008 +0100
+
+ trace: Use long longs to ensure covering 64bits integers.
+
+commit 6a31bb6ad8251ae977327e64562f373a89f55c70
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat Aug 16 18:45:00 2008 +0100
+
+ trace: Get the trace file from the GALLIUM_TRACE option itself.
+
+commit 145a45e9d6807add8229f1fc9c63fbb6951b1b88
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 18 13:15:09 2008 -0600
+
+ gallium: fix do_flip bug on glCopyTexImage / surface_copy() path
+
+commit 235981d8719aa7f67bfe547bf96e5343020e0373
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Mon Aug 18 17:49:01 2008 +0200
+
+ gallium: Remove TGSI_CC_UN.
+
+commit e438827dec5a3aafa04e13caf5988f359c004249
+Author: Henri Verbeet <hverbeet@gmail.com>
+Date: Mon Aug 18 09:30:52 2008 -0600
+
+ fix byte vs. pixel offset bug for 3D textures (see bug 17170)
+
+commit e9ec60097cfed372f202aa64aa04674448881f0e
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Mon Aug 18 17:18:58 2008 +0200
+
+ tgsi: Update condition code vector when storing dest register.
+
+commit 56c30bf17b9f57efdb93ae5d1b801677535a9651
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Mon Aug 18 17:09:20 2008 +0200
+
+ tgsi: Saturate modifier obeys ExecMask.
+ Implement NVIDIA [-1;+1] saturate mode.
+
+commit 6aacca106b0619d87015aece1a0b1d6332910926
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Mon Aug 18 17:03:56 2008 +0200
+
+ tgsi: Respect condition codes when storing destination register.
+
+commit 880b751e8e21cab21a0d522346300f463fd9c634
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Mon Aug 18 15:57:39 2008 +0200
+
+ tgsi: Cosmetic changes.
+
+commit e2da7edd642198d7c515dbc0b9ba77d4286c3262
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Mon Aug 18 15:42:26 2008 +0200
+
+ tgsi: Add condition code (CC) register.
+
+commit 087ee474ed1dcf9b09c13227d442e6580f828f57
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 18 08:49:41 2008 -0600
+
+ mesa: rearrange some code in _mesa_BindTexture() to fix error detection bug 17173
+
+ Also, move GL_TEXTURE_RECTANGLE init code into separate function.
+
+commit 6a00625fbb7e42a71daa87f982eee8e9077a0679
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 18 08:49:41 2008 -0600
+
+ mesa: rearrange some code in _mesa_BindTexture() to fix error detection bug 17173
+
+ Also, move GL_TEXTURE_RECTANGLE init code into separate function.
+
+commit 6fdc057887bd5e1e5f5ae2781529df050b3a31c6
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Mon Aug 18 14:40:02 2008 +0200
+
+ scons: Fix build.
+
+commit c5d25c85093f089cc58c520785844fc021a09612
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun Aug 17 14:06:47 2008 -0700
+
+ r5xx: Add DDX and DDY instructions.
+
+ Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
+
+commit 7f100d04ddacf9f6517c9aff1e2de5257eb77fb0
+Author: Younes Manton <younes.m@gmail.com>
+Date: Mon Aug 18 00:04:29 2008 -0400
+
+ g3dvl: Use rotating buffers to avoid waiting for map().
+
+commit f90e50dff9e5cdbad6e9bb74c0aeaaaa82242b25
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Mon Aug 18 03:00:25 2008 +0200
+
+ nv30: add some opcodes.
+
+commit 5c9d0c7052112a888174828024b75767222915b9
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Sun Aug 17 21:59:00 2008 +0100
+
+ pick first mode
+
+commit 9bbc55116f36a357ee75d2766b0adb039eaca806
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Sun Aug 17 21:55:37 2008 +0100
+
+ if we can't find a mode, return first. At least we should
+ see the top left portion if we've got larger screens on
+ other CRTC's
+
+commit ccf1910dd4b2a8ccd04ddbdf725b6dd3f8026eee
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Sun Aug 17 20:17:18 2008 +0100
+
+ consolidate intel directories.
+
+ we now have
+
+ src/gallium/winsys/drm/intel/{common,dri,egl}
+
+commit 2037b1381c129c74ba87a092484258608583d34e
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Sun Aug 17 19:14:00 2008 +0100
+
+ rather than use CRTC 1 (aka LVDS), try and setup all connectors/encoders
+ and get the same output on all.
+
+commit b6db08a91be3203222cda21012791659483b4e5e
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Sun Aug 17 19:13:17 2008 +0100
+
+ choose a 1024x768 resolution
+
+commit 3eeafb7179b861ee6359c8747f4e009513d7ce7a
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Sun Aug 17 19:12:54 2008 +0100
+
+ choose sane default for dri driver location
+
+commit b7ff70e16a5bd468c76b75c2b557897a827fae73
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Aug 16 11:09:49 2008 -0600
+
+ bring in docs from 7.0.4 release/branch
+
+commit 567d87744ab7b7c2564ce3ba9969caff214e3334
+Author: Corbin Simpson <mostawesomedude@gmail.com>
+Date: Sat Aug 16 11:07:51 2008 -0600
+
+ added test for ARB GLSL extensions
+
+commit 6858dd50c9b696c1c6044f5a403000f9d20b286b
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sat Aug 16 13:04:23 2008 -0400
+
+ g3dvl: Modularized rendering, refactored to accommodate VAAPI, other APIs.
+
+commit fb2732ff056a83418a379b81c1e5da50675c41ac
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sat Aug 9 20:52:36 2008 -0400
+
+ g3dvl: Merged tgsi/util and tgsi/exec moved some headers around.
+
+commit 5d762e16139a9ec5bb33788d9d7f0f0853bf1091
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Aug 16 10:09:38 2008 -0600
+
+ added glu.exports files to tarballs list
+
+commit 35479fd4b47b5488bab2b6230909e8716b858d49
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Aug 16 09:54:07 2008 -0600
+
+ fix convolutions test to consistanty use the ARB shader extension functions
+
+ Was using a mix of the ARB functions and the OpenGL 2.0 shader functions.
+
+commit 7970b2a908822ad009d29312e69be9eb2b7a5dd2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Aug 16 09:39:10 2008 -0600
+
+ prep for 7.1 rc4
+
+commit c0dd9122fdedd4bcab5bc0b3bbb490e6b62fac83
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Aug 16 09:36:46 2008 -0600
+
+ remove .txt suffix from shader source files
+
+commit ce00d232f3c01c71fb659568e9b58da1f24b2519
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Aug 16 09:34:12 2008 -0600
+
+ mesa: added glsl/convolutions test from gallium branch
+
+commit db1103ebe8a4c683805694528e0a9c7a97c5769d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Aug 16 09:31:27 2008 -0600
+
+ mesa: turn off 'x' bit misset on a few .h and .syn files
+
+commit 1f4997c2aaf424c8a12cc6fdb1dd994f66074a1d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Aug 16 09:30:14 2008 -0600
+
+ mesa: import latest GLSL code from gallium-0.1 branch
+
+commit 404166217ac4ae7f5ef656be7352c98b9c8197da
+Author: Hanno Böck <hanno@hboeck.de>
+Date: Fri Aug 15 17:14:54 2008 -0600
+
+ fix DESTDIR omissions
+
+commit 1b39b92e6d7d3a7e6c39b985ffff32a79a510333
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 15 17:01:35 2008 -0600
+
+ draw a tristrip ring instead of a single quad
+
+commit 37f452096b0c399a6614885057023f8fe8d0bc55
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 15 11:49:05 2008 -0600
+
+ don't need to use LOD version of texture2D() funcs
+
+commit 2e40e44bf43d968e64d313cbb3b325a9772d5389
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 15 15:00:18 2008 -0600
+
+ mesa: glsl: fix linking of varying vars which are arrays
+
+commit 52a6b7e6da8cabf7104c17becb81dea26c44db18
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 15 11:50:29 2008 -0600
+
+ gallium: in st_draw_vbo() use ctx->Current.Attrib[] values when arrays are missing/null
+
+ fixes potential segfaults when vertex arrays are missing
+
+commit 4b1b5ca9bd4d861ac8654c510f12b52a1a646ec4
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Aug 15 11:24:06 2008 +0100
+
+ xlib: Kill xmesa_surface.
+
+ A winsys cannot expect that the surfaces passed display_surface are the
+ surfaces it created, as surface are now in generate texture views created
+ by pipe_screen. Indeed, the fact it was working so far was mere luck.
+
+ This fixes a weird tiled output when using the trace pipe driver.
+
+ Winsys' surfaces should die.
+
+commit 9d58b2a432d44fc2861f2df1a611188f92dc288f
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Aug 15 11:20:57 2008 +0100
+
+ trace: Fix typo.
+
+commit 52ecb8f56368180b5dec303d1d77a8d0596aaef7
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Aug 15 10:33:35 2008 +0100
+
+ python/retrace: Update frame when PIPE_FLUSH_FRAME spotted.
+
+commit f40de50def1b7ee75dd320b151c025b7ddff45be
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Aug 15 10:31:23 2008 +0100
+
+ trace: Wrap all textures and surface created by the pipe driver.
+
+ That is,
+
+ Unfortunately, this causes a regression in softpipe, where the
+ output gets tyled.
+
+commit f121d0e54f39d8f6361dcf0bf4d938ccb5ae4b5e
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Aug 15 10:24:09 2008 +0100
+
+ trace: Allow multiple screens. Flush after call.
+
+commit c9751522b0ee1908c79f3f9d37b508ac0680bd16
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Aug 14 22:03:35 2008 +0100
+
+ pyhon/retrace: Retrace surface contents.
+
+ Now capable of replaying trivial/quad-tex-2d
+
+commit 14fe0d62ee8cf1dd48ec8d373ee3dcb3fe06fd77
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Aug 14 14:40:27 2008 +0100
+
+ python/retrace: Keep addresses as strings.
+
+ To simplify looking up these in the trace.
+
+commit 4fffc9d63f117cfc5d5b2400536e8757c786cc1e
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Aug 14 14:38:58 2008 +0100
+
+ trace: Several fixes.
+
+commit 37336b7d9e7f8bed8765e9d8e4f61f804e4d8107
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Aug 14 14:35:25 2008 +0100
+
+ python: Fix put/get_tile_raw bindings.
+
+commit 424dea98d47e77f61efc79134b230f2046061ebe
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Aug 14 14:34:33 2008 +0100
+
+ trace: Trace surface contents.
+
+commit 196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dc
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Aug 14 12:50:52 2008 +0100
+
+ trace: Make stream a global variable.
+
+ This not only simplifies the code, but allows to use atexit() to ensure
+ the log is closed when applications don't exit cleanly.
+
+commit 2f34c851c01321b177bc3074755e97af270ec994
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Aug 14 11:40:33 2008 +0100
+
+ mesa: Issue PIPE_FLUSH_FRAME in glSwapBuffers/glFlush/glFinish.
+
+commit daa481a9c0825018d2320dcd8d9e2d7ddcfd46a0
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Aug 14 11:39:41 2008 +0100
+
+ gallium: New PIPE_FLUSH_FRAME flag to signal the end of a frame.
+
+commit df3d694851fd99b6ea88c339b5153944824d3d3a
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Aug 14 11:15:13 2008 +0100
+
+ python/retrace: Commit unsaved changes to the doc.
+
+commit a7b818d53a95b549bbff942a9cb91272e0799dd5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 14 15:44:09 2008 -0600
+
+ gallium: init default texture image to gray
+
+commit 8f6d9e12be0be086ca2aab0b56dff8d2181addd9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 14 15:38:09 2008 -0600
+
+ gallium: use a default texture in update_textures(), update_samplers() when needed
+
+ The default texture is used when the current fragment shader has texture
+ sample instructions but the user has not provided/bound a texture.
+
+commit 6c46b49d12b33b04546bee137f75ca7649e9a4ef
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 14 10:53:59 2008 -0600
+
+ gallium: added queries to determin GL_EXT_packed_depth_stencil support
+
+commit d4c199d05691878bbc4c72a06d3042ef00ff38e0
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Thu Aug 14 17:24:06 2008 +0200
+
+ nv30: set mipmap min/max lod accordingly
+
+commit a145c107c12715105e14bb56b245eeb660cf433a
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Thu Aug 14 16:52:51 2008 +0200
+
+ nv30: disable setting nv40 RECT bit, this is not the same on nv30, plus gallium does not support rectangle textures currently, only full POT or NPOT
+
+commit a7ea6bae4e618e28636909ac2db7783632bc81b8
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Thu Aug 14 16:36:52 2008 +0200
+
+ nv30: does not support mirror clamp, only mirror repeat
+
+commit 2e79b491fc45d6f608c042e007fa477d9ab44586
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Aug 14 21:43:34 2008 +1000
+
+ intel: remove unneeded mem type and args
+
+commit 19aee90179135387c3236c38b207cc47176226ad
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Aug 14 11:00:49 2008 +0100
+
+ trace: Update status.
+
+commit 31bb6c0d17eb3265c9596bd25d5e6fabfefe4d61
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Aug 14 11:00:40 2008 +0100
+
+ python: Update status.
+
+commit 468c9775cbc863b024f41fccad3d6bb967e10ea8
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Aug 14 11:00:22 2008 +0100
+
+ python/retrace: Application capable of replaying gallium traces.
+
+ At the moment it is capable of replaying trivial/tri kind of apps.
+
+ See README for status.
+
+commit ffaa4e816fb1d7360e6c14cbbfd4df8e027b9573
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Aug 14 10:58:23 2008 +0100
+
+ python: Allow to use trace pipe driver with python.
+
+commit 92675f6e22a1caa11146c2e9f3b2fb2285fdccea
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Aug 14 10:48:29 2008 +0100
+
+ python: Fix typo in buffer::write.
+
+commit 90ed1742d55a246ffa63e57f291b18a1a43e41ba
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Aug 14 10:47:55 2008 +0100
+
+ python: Remove unused var.
+
+commit 969ff9e9bf3dfae08d087bbc47ce43f17d107bfc
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Aug 14 10:47:39 2008 +0100
+
+ xlib: Use trace usage.
+
+commit 3c90678ea69ee8be832e16d42a1b8049a49535e3
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Aug 14 10:46:38 2008 +0100
+
+ trace: Separate the trace screen/context vs the original screen/context.
+
+commit c67f353c0f0d3872c330e5a8cdb13334a5e2e239
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Aug 14 10:11:51 2008 +0100
+
+ mesa: Don't use alignments < 4.
+
+commit 449cb6b37b54bd6e4a7058e97739d9634ccefaa7
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Aug 14 10:10:53 2008 +0100
+
+ mesa: posix_memalign requires alignment to be multiple of sizeof(void*)
+
+commit a8540ef9fb22bbedc788c374fda3354047df110f
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Aug 14 09:44:49 2008 +0100
+
+ gallium: Catch errors from posix_memalign.
+
+commit 50c6092355edf9e978a3c34cb816d4833bcf92fd
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Aug 13 12:41:19 2008 +0100
+
+ python: Simplify st_winsys.
+
+commit 0ecaa37e49ff3a745b821ba7027eebeed938547a
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Aug 13 12:31:53 2008 +0100
+
+ python: Bindings fixes.
+
+commit d756f9512d295531ff6a600c736a68ac2dcff58b
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Aug 13 12:13:54 2008 +0100
+
+ translate: Draw can request up to PIPE_MAX_ATTRIBS + 1 vertex elements.
+
+commit 73467e1080d94e6d5cfb52f71c845c09a78adcd9
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Aug 14 09:52:15 2008 +0100
+
+ check for winsys->destroy before calling
+
+commit 57acb0fad9e6299eb2e1e2c06d043b2a418e3732
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Aug 14 10:40:03 2008 +0200
+
+ r300: Fix 3D texture support.
+
+commit 19ff2326e94a7a773bcb1dd9bfd22197b999daf9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 13 17:20:40 2008 -0600
+
+ gallium: fix exec_kilp(), fix Exec/FuncMask test for TGSI_OPCODE_RET
+
+ Fixes a few glean glsl regressions.
+
+commit f3048ad90ed2e4583f0f7aaf35a0f4aa581942dd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 13 14:59:48 2008 -0600
+
+ gallium: in fallback_copy_texsubimage() create new tex surface for CPU read access
+
+ Was trying to use the strb->surface but it's made for GPU read/write only.
+
+commit 3a1af846fe13c2a9b8c24eb7e37e11a9b42668d5
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Aug 13 20:09:56 2008 +0200
+
+ tgsi: Initial code for KILP, needs CCs working to be complete.
+
+commit 83a5a225d773c119857f58672fd51c1d425f21d3
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Aug 13 19:31:13 2008 +0200
+
+ tgsi: Use a homebrew version of toupper().
+
+commit bfdb1d55d58d70044af9fcd6f8465179145581dd
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Aug 13 19:28:10 2008 +0200
+
+ tgsi: Fix typo.
+
+commit 505606349e5154c67d1a857d7125048669a594c3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 13 10:28:38 2008 -0600
+
+ mesa: fix a swrast state validation bug
+
+ Fixes progs/glsl/points.c
+
+commit 4b929b32d03a58d80cacbd63c172dbd7221c8a8f
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Aug 13 17:31:26 2008 +0200
+
+ tgsi: Validate instruction opcode and operand counts.
+
+commit 2caaba8195d1019702246bd7f0c02aa95364a8bd
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Aug 13 17:27:15 2008 +0200
+
+ tgsi: Use tgsi_info to dump opcode names.
+
+commit 79e52779bdcd1fa0ff8e1cbdc7555746205ee519
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Aug 13 17:22:34 2008 +0200
+
+ tgsi: Use tgsi_opcode_info.
+
+commit 6d83a0cc6846adb546794c0483694fdb1d1b4664
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Aug 13 17:20:14 2008 +0200
+
+ make: List tgsi_info.c.
+
+commit 668ac2572548b7818b89a424f44e9c9c59786df0
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Aug 13 17:19:20 2008 +0200
+
+ scons: List tgsi_info.c.
+
+commit 94f9faab31f7fbf5f14d23d993f9830fa51ce076
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Aug 13 17:16:59 2008 +0200
+
+ tgsi: Opcode information.
+
+commit b9c6f2b1330a71042d3c495a1c97c4cadeff71b5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 13 08:49:39 2008 -0600
+
+ mesa: added new glsl/pointcoord.c test
+
+commit 60b92129b1334bd8a1dea3dcf153871f0e73f756
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 13 08:46:35 2008 -0600
+
+ mesa: clear the unused upper-left region to black instead of leaving it undefined
+
+commit dbec107c2549c00120ca6d67282f2a1a4bd8bdbd
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Thu Aug 14 00:22:49 2008 +1000
+
+ nv30/nv40: KIL/KILP swapped meanings
+
+commit 56f5c0c001c476b813c94d071ac880fbe8d9768b
+Merge: df4228d d8be393
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Thu Aug 14 00:20:52 2008 +1000
+
+ Merge remote branch 'origin/gallium-0.1' into nouveau-gallium-0.1
+
+commit d8be393cb60d908f98f0edb74c1c7964e8f690fe
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Aug 13 07:14:47 2008 -0400
+
+ fix compilation
+
+commit e7e992b12ab3717eadaf055fe2fab88c3be8a092
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Aug 13 11:19:24 2008 +0200
+
+ mesa: KIL -> KIL, KIL_NV -> KILP.
+
+commit db38708c43d7e9bbc744893ad2e9c2a77e9ec15c
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Aug 13 11:13:46 2008 +0200
+
+ i915: Swap meanings of KIL and KILP.
+
+commit e8e75c8c865bb5bbff9db2682b130c8d147f3a38
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Aug 13 11:10:58 2008 +0200
+
+ cell: KILP is a predicated discard, KIL is a conditional discard.
+
+commit f0874d1a6b832e1bb29256661cb8beab3ddeb528
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Aug 13 11:09:20 2008 +0200
+
+ tgsi: Swap meanings of KIL and KILP opcodes.
+
+commit f633b14b92352d8abc2a178a1f6ff80a58662bb1
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Aug 13 10:58:54 2008 +0200
+
+ gallivm: Translate KIL instead of KILP.
+
+commit 0c8f4c25ff1cdf8d4cad21789e0c73b41aa29c98
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Aug 13 10:52:55 2008 +0200
+
+ draw: Use KIL instead of KILP.
+
+commit 9804ab9accb3c6607c64a65bebe70124578240cd
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Aug 13 09:15:27 2008 +0200
+
+ gallium: Make a note that OPCODE_KIL is a conditional kill.
+ Map OPCODE_TEXKILL to OPCODE_KIL.
+
+commit 4424c668756a6639d3c042c297b63ea47b629735
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 12 18:02:44 2008 -0600
+
+ gallium: more context clean-up
+
+commit a6880ace4ca4a3cfde1a7a7578a8134e8f32d31d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 12 17:42:13 2008 -0600
+
+ mesa: glsl: fix error detection of writing to read-only variables
+
+commit c01fbc7866d7cd5cf4263dffec6d9591470b4c23
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 12 17:41:57 2008 -0600
+
+ mesa: texture crop rect state
+
+commit 5af60556edc97bc1d4fd57933e99e9661dbc5fa0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 12 17:41:21 2008 -0600
+
+ mesa: glsl: fix comment
+
+commit f911ca0834934fe678383b9edcffc79639dd77eb
+Author: Jeremy Huddleston <jeremyhu@freedesktop.org>
+Date: Tue Aug 12 11:04:19 2008 -0700
+
+ Removed broken/unsupported darwin-static configs
+ Fixed typo in darwin config
+
+commit faad6655946968dd16ab30cc8d5fbd5a09321976
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 12 12:00:57 2008 -0600
+
+ gallium: distinguish between KIL and KILP
+
+ Note: KIL (unconditional) not done yet.
+
+commit 98e7c1cf3852fbc2924b55b5a684f13a710eec04
+Author: Jeremy Huddleston <jeremyhu@freedesktop.org>
+Date: Tue Aug 12 10:59:40 2008 -0700
+
+ Fixed 'make install' for darwin
+
+commit 8f243d659397bf625379daad220be199d933b0ec
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 12 11:47:46 2008 -0600
+
+ mesa: glsl: enable bzero() in slang_typeinfo_construct()
+
+commit c61f4e2ccec5d8dcb50b5f58a2ea08218b669129
+Author: Jeremy Huddleston <jeremyhu@freedesktop.org>
+Date: Tue Aug 12 09:45:04 2008 -0700
+
+ Apple: More cleanup of the darwin config in 7.1
+
+commit ee7296d3199c0b0c0b6695f553a4d0919760fd41
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 12 10:00:59 2008 -0600
+
+ mesa: glsl: remove reads of output regs from fragment shaders too
+
+commit af3d9dba562813ffed71691bffd7faf6665c4487
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 12 10:00:36 2008 -0600
+
+ mesa: set point state
+
+commit 49c2ee9d99e25c8977c67c490af2416f85d3092b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 12 10:00:02 2008 -0600
+
+ mesa: allow _mesa_remove_output_reads() to work on fragment programs
+
+commit 0fe0dc32e44b62e51b20645288360c7ce97ea436
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 12 08:50:29 2008 -0600
+
+ mesa: glsl: better error messages
+
+commit ef82311b3db49fa62c916a100d05b1b05d21f466
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 12 08:50:14 2008 -0600
+
+ mesa: glsl: regenerated files
+
+commit 3e0bbd404a3ec87c11653f63494d7e0aeee86aa1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 12 08:49:57 2008 -0600
+
+ mesa: glsl: additional constructors
+
+commit 42b262d01a2b0f676ead098c09e33e387b8a5e3a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 11 17:35:21 2008 -0600
+
+ mesa: glsl: better mod() functions
+
+commit 3eea56dc93eeeb7f0155e2113ffea6a3fae48dd9
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Aug 7 09:41:05 2008 +0100
+
+ mesa: Rename sources to sources.mak.
+
+commit 0f5a2ebec4c16e71bde7132edb8c2209b4000c61
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Aug 7 09:15:32 2008 +0100
+
+ gallium: Disable debug break by default on windows.
+
+commit 80d3a653f0172f01be694a29456c70f1f4da1812
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Aug 7 09:13:11 2008 +0100
+
+ tgsi: Prevent division by zero.
+
+commit 3b5ee3d6de2c08faf69c701bf05d8f33ccd01502
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Aug 7 09:12:55 2008 +0100
+
+ gallium: Allow compilation inside X.
+
+commit cf16285d1bcb9f172a930f9d4f3402e379b53c33
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Aug 7 09:03:52 2008 +0100
+
+ gdi: Remove CVS keyword.
+
+commit ebb5855821f64fd8c0129d218a9b46ee7c0e012d
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Aug 7 09:03:30 2008 +0100
+
+ glut: Remove EOF characters.
+
+commit 506b8ebdba73f85c169599ce861b339e97370eb2
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Aug 12 11:33:20 2008 +0100
+
+ python: Use st_buffers instead of pipe_buffers.
+
+commit 4a77fadd102264f1bf2caec3263e193eb831dade
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Aug 12 11:32:42 2008 +0100
+
+ trace: More dump fixes.
+
+commit 7b8fa937eb9bbc63a59f2db399781c32b20f339f
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Aug 11 18:29:04 2008 +0100
+
+ trace: Fix create_blend_state dump.
+
+commit e54fa77d130582ee48b699917324040ef254ed74
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Aug 11 18:09:36 2008 +0100
+
+ trace: Dump polygon stipple state as an array.
+
+commit e08072c5db137e3fc19964ea8705c62cb00b6343
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Aug 11 17:08:53 2008 +0100
+
+ python: Bindings for p_compiler.h types.
+
+commit d4d8f803884584525a36713b76ce04802658bd0f
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Aug 11 17:08:27 2008 +0100
+
+ trace: Fix create_depth_stencil_alpha_state trace.
+
+commit e69e94d3010b33cf690a2e4e54b61437a1836617
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Aug 11 16:57:50 2008 +0100
+
+ python: Bindings for pipe_{depth,stencil,alpha}_state.
+
+commit 166b939d523a8683f1aee819f73e002e627a49ba
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Aug 11 16:56:08 2008 +0100
+
+ trace: Dump pipe_{depth,stencil,alpha}_state names.
+
+commit ca826d79a64d46e7f3bffff22640f148c044cdad
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Aug 11 16:55:30 2008 +0100
+
+ gallium: Name pipe_depth_stencil_alpha_state member structures.
+
+ So that the previously anonymous depth/stencil/alpha structures can be
+ identified in the traces.
+
+ This is just syntactic sugar: it does not break source or binary compatibility.
+
+commit ae0c9b56d4bec52f9accabbcaf8d42ef41a0153c
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Aug 11 14:31:04 2008 +0100
+
+ python: Simplify setting the constant buffers.
+
+commit e7f1ac39be5ab8c627f66a4a8488697c274079e6
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Aug 11 14:06:24 2008 +0100
+
+ python: Split the interface definition file in smaller ones.
+
+commit b5f7dd0c08dbe3f140630345c331aeccaf2a7a94
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Aug 11 00:16:20 2008 +0100
+
+ python: Add unsigned arrays.
+
+commit 8dbb3011a11ff3b6e8ebcf19e64ed4fbef17356b
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Aug 11 00:15:07 2008 +0100
+
+ trace: Replace buffer_map+memcpy+buffer_unmap by buffer_write
+
+commit a318325b516b53fc321669453e4abe53c51f917a
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sun Aug 10 18:54:10 2008 +0100
+
+ trace: Zero the buffers to avoid dumping uninitialized memory.
+
+commit a304d271185af935974850055da74ec8263b00e2
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sun Aug 10 18:52:00 2008 +0100
+
+ python: Allow writing to buffers.
+
+commit e5a606883f24980dd8e2378c25e6fb3b8f1937ce
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sun Aug 10 18:51:23 2008 +0100
+
+ trace: Fix hexadecimal dumping.
+
+commit 94cf4f15c3a94311ffeb670459e285d2c70a5d7e
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sun Aug 10 16:24:43 2008 +0100
+
+ trace: Trace winsys/screen/context creation.
+
+commit 91f6032919f8e5718004bb7ac0ee2b015fb403d7
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sun Aug 10 16:24:15 2008 +0100
+
+ trace: Trace texture depth.
+
+commit 23e8c92543d95c216f3459a5618611c079e86174
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat Aug 9 15:07:40 2008 +0100
+
+ python: Update the documentation.
+
+commit 66ef96f6dc4cd898edb862e45965795fac46caed
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Tue Aug 12 11:30:50 2008 +0200
+
+ softpipe: Include missing header.
+
+commit 40436b31a68735bb7ffb97b411492cada22a54a2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 11 17:10:39 2008 -0600
+
+ mesa: glsl: regenerated file
+
+commit 1c30e56cd228726225af5ff7916da8dede43e34f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 11 17:10:24 2008 -0600
+
+ mesa: glsl: change refract() functions to allow inlining
+
+commit 2023f7f91d8c40bca54db972f836c969c82ffbca
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 11 16:13:39 2008 -0600
+
+ mesa: glsl: use SGE instead of SGT in step() functions
+
+commit 90ffd2736c2edc967a5a72d7afeebccf8b791692
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 11 16:07:40 2008 -0600
+
+ mesa: glsl: fix bugs in refract() functions, plus minor optimization
+
+commit 0423a39239c57575708a2698c726cd57791bc357
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 11 15:10:53 2008 -0600
+
+ version 20 of glxext.h
+
+commit 1a1079e0661b8914b5f292c720dd7a77c796c292
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 11 15:10:40 2008 -0600
+
+ version 41 of glext.h
+
+commit 6fccd8d0649436ad1a4b8b812ead563573cb9cc3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 11 15:10:18 2008 -0600
+
+ mesa: glsl: add missing sampler types in sizeof_glsl_type(), bug 17079
+
+commit a0a614480931b281d13e7f2be2c50d20681d9de4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 11 15:05:27 2008 -0600
+
+ gallium: added comment
+
+commit e552140a9a55fcadfe7f28c74a7e0aa1c68cdc93
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 11 15:04:55 2008 -0600
+
+ gallium: added _NEW_PROGRAM to dependencies
+
+commit d506fc0acf68c861c4e160a3d931a3f81757242b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 11 15:01:35 2008 -0600
+
+ gallium: debug/print vertex tweak
+
+commit 22604727e469f4a9881f722be319670d5cde4519
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 11 14:59:26 2008 -0600
+
+ gallium: emit sprite coords (gl_PointCoord)
+
+commit 8c51e0002a3b1fd047b34d31629a15b560618cd9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 11 15:09:47 2008 -0600
+
+ mesa: glsl: add missing sampler types in sizeof_glsl_type(), bug 17079
+
+commit 7536f39622d5582a80e34ee4890a36a712e7e8b9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 11 15:06:55 2008 -0600
+
+ version 41 of glext.h
+
+commit d80d0bb4d6956ce340ec8750c98a9c7a136657fe
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 11 15:06:37 2008 -0600
+
+ version 20 of glxext.h
+
+commit 3a428aca93fe2bab84ddfaf794a396133e802465
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 11 15:05:57 2008 -0600
+
+ mesa: added comment about gl_PointCoord
+
+commit ac0d19601caf1f3f86cb30cbafb9c000479e2b37
+Author: Jeremy Huddleston <jeremyhu@freedesktop.org>
+Date: Mon Aug 11 09:17:06 2008 -0700
+
+ Apple: Cleaned up some linking and dylib ids issues
+
+commit df4228deddea36b9d5b41ea395a216137e046205
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Aug 11 16:14:42 2008 +1000
+
+ nouveau: pf_sprint_name -> pf_name
+
+commit f56eda6a85912dee9eef9099f6023c6bab05a41a
+Merge: ce8e846 5549d35
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Aug 11 16:07:56 2008 +1000
+
+ Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1
+
+commit 5549d35db5323829702099af6e53a8dd7c451524
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat Aug 9 11:54:35 2008 +0100
+
+ trace: Dump writes to pipe_buffers.
+
+commit 376f2cbb190389807c8ba6df401e06743ead9eb8
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat Aug 9 11:53:56 2008 +0100
+
+ trace: Prevent tracing internal pipe driver calls.
+
+commit dc31bb5076df914ad16e063fdcc46fd2ecba9dbb
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat Aug 9 11:53:16 2008 +0100
+
+ gallium: Invert include order.
+
+commit 696067e781977ad54bb31b3843355701124f1b22
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat Aug 9 11:52:53 2008 +0100
+
+ trace: Dump shaders as text.
+
+commit 673489fa5cde4ce8d49918f20f007201a17bc45e
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat Aug 9 11:52:27 2008 +0100
+
+ tgsi: Dump shaders to a string too.
+
+ Again.
+
+commit 3e1974f94ef8796a5ac9e750d47ccb63c677a85b
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat Aug 9 11:51:29 2008 +0100
+
+ util: Utility functions to print to a string buffer without overflowing.
+
+commit b65259de6c0a2e77550bbef6b291c6d09dfb5867
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Aug 8 23:53:53 2008 +0100
+
+ trace: Allow to dump binary data.
+
+commit 6c7aff209ca3b310008dd345836ebc020d2db004
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Aug 8 23:11:56 2008 +0100
+
+ trace: Trace pipe_winsys calls.
+
+commit fcfe63805d1a4b1815dec7d85a21772d02ac12b8
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Aug 8 22:13:13 2008 +0100
+
+ trace: Remove unused code.
+
+commit 1724334d7c82abe55b6506dfe369df4facae6f06
+Author: Dave Miller <davem@davemloft.net>
+Date: Sat Aug 9 16:44:10 2008 +1000
+
+ dri: fix crash in driGetConfigAttribIndex
+
+ Accessing a GLboolean via an int pointer on big-endian == bad.
+
+commit 53675e5c05c0598b7ea206d5c27dbcae786a2c03
+Merge: 501338d d279693
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Aug 8 15:32:24 2008 -0700
+
+ Merge branch 'drm-gem'
+
+ Conflicts:
+
+ src/mesa/drivers/dri/intel/intel_span.c
+ src/mesa/main/fbobject.c
+
+ This converts the i915 driver to use the GEM interfaces for object management.
+
+commit d2796939f18815935c8fe1effb01fa9765d6c7d8
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Aug 8 13:58:48 2008 -0700
+
+ intel-gem: Update to new check_aperture API for classic mode.
+
+ To do this, I had to clean up some of 965 state upload stuff. We may end
+ up over-emitting state in the aperture overflow case, but that should be rare,
+ and I'd rather have the simplification of state management.
+
+commit 74b14fe6ddbece8bc662aac4d3b2b18d8d853486
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 8 13:06:54 2008 -0600
+
+ mesa: fix some feature tests
+
+commit 966e199e409a1b52eef88e48997442250997f45e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 8 12:29:48 2008 -0600
+
+ mesa: fix some pixel transfer state tests for depth formats
+
+commit 527e1cf172cb0a4d1f2891a351498669be1620cd
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Aug 8 10:53:25 2008 -0700
+
+ 965: cleanups to state emission from aperture checking and state ordering.
+
+commit 27858226dc4eb3e64d980ba8530c2fd2e39218cf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 8 10:39:56 2008 -0600
+
+ gallium: fix additional glCopyTex[Sub]Image issues
+
+ Use the TexFormat->StoreImage() routine for fallbacks. This handles the
+ case of copying RGBA framebuffer data into an RGBA texture when the base
+ format is GL_RGB (or GL_LUMINANCE, etc). In that case, we need to set
+ the texture's alpha=1 and override the framebuffer's alpha.
+
+commit 48cf46a29d8bccb0d83ae7e53e4ded44492cdb5f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 8 09:08:44 2008 -0600
+
+ mesa: fix out-of-bounds memory reads in swizzle_copy()
+
+commit 501338d70e96e0388fd5198625d856c4ec07745f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 8 09:04:57 2008 -0600
+
+ mesa: fix out-of-bounds memory reads in swizzle_copy()
+
+commit 74d649d9a9e85be6dfec170b018b31626d40914b
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Aug 8 12:31:23 2008 +0100
+
+ trace: Prevent from internal calls from pipe_context to pipe_screen from being traced.
+
+commit 9dcb956a0618931c97693f7c74493cf296cfe86c
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Aug 8 12:23:21 2008 +0100
+
+ gallium: Add destroy callback to all *_winsys interfaces.
+
+ For consistency and to simplify these objects' destruction.
+
+commit be36f7869e8ecc4b00e414557a9699ba373e6bdd
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Aug 7 23:32:45 2008 +0100
+
+ i965: Remove extraneous arg to debug_printf.
+
+commit 919ec22ecf72aa163e1b97d8c7381002131ed32c
+Author: Jeremy Huddleston <jeremyhu@freedesktop.org>
+Date: Fri Aug 8 02:52:10 2008 -0700
+
+ glx/x11: Added some #ifdef GLX_DIRECT_RENDERING protection
+
+commit ec770150edff9a5955f52e538adc4bac94c92cad
+Author: Jeremy Huddleston <jeremyhu@freedesktop.org>
+Date: Fri Aug 8 02:37:14 2008 -0700
+
+ glx/x11: Fix missing __GL_EXT_BYTES declaration
+
+commit 01ac4540f04d47b64aeead8984c92e39b436b5f9
+Author: Jeremy Huddleston <jeremyhu@freedesktop.org>
+Date: Fri Aug 8 02:19:52 2008 -0700
+
+ Apple: Some changes to fix compilation problems on OSX
+
+commit 4e070f10c0a2af8a563eadf7fdb09b11d9067a99
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 7 17:59:41 2008 -0600
+
+ gallium: clean-up, remove dead code, update comments
+
+commit c1c4ff28f0af0b14ae64eb01ef1d087b987af2c1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 7 15:11:54 2008 -0600
+
+ gallium: use PIPE_FORMAT_X8Z24_UNORM for 24-bit Z but no stencil
+
+commit fdb7dc889f4251183915c811566ced083fdac40d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 7 15:05:13 2008 -0600
+
+ softpipe: add support for PIPE_FORMAT_X8Z24_UNORM, PIPE_FORMAT_Z24X8_UNORM
+
+commit 6a82ea2ed21c47749676e765311baed97f5dea9f
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Aug 7 20:57:03 2008 +0100
+
+ trace: Simplify HTML output.
+
+commit 05e90964cfd99bb8cad2d9146ab042730052b8a4
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Aug 7 19:58:20 2008 +0100
+
+ trace: Merge the CSS into the XSL.
+
+commit ce2137a6a4c2648a77b9697a3aa0479c9c61bacc
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Aug 7 19:46:39 2008 +0100
+
+ trace: Dump format names.
+
+commit 8fb55dab783f2de5111e7440093e1458fce5fb3d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 7 13:35:21 2008 -0600
+
+ gallium: s/pf_sprint_name/pf_name/
+
+commit 275b09f2569c8bea5dcca1643c93aa6a43d7e2a2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 7 13:32:11 2008 -0600
+
+ gallium: fix a few bugs on the fallback CopyTex[Sub]Image() path.
+
+commit ae2195caf56d2eb782475254c68858a25ee7c857
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 7 13:31:57 2008 -0600
+
+ gallium: s/printf/debug_printf/
+
+commit b1ff7dac537947d412bf423a73e7eacd76f90d84
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 7 13:30:49 2008 -0600
+
+ gallium: new/better debug code (disabled)
+
+commit 600aa7501f95c520ad97ac894cfd1a639562f94c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 7 13:30:24 2008 -0600
+
+ gallium: implement a bunch of missing put_tile functions
+
+commit c8f319138355a5365303e6649a953422ecc88c5f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 7 11:04:05 2008 -0600
+
+ gallium: enable the call to r16_put_tile_rgba(), silences warning
+
+commit 2c2d6c90fe910e9ba9f84650ce0e80c34f165eac
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 7 10:29:11 2008 -0600
+
+ mesa: fix glBindTexture comment/error string
+
+commit 14ac52e457ea71f2cfc761948f397cedab4d255b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 7 10:26:56 2008 -0600
+
+ mesa: glsl: regenerated files
+
+commit a78f295f7ca0a93fdaeda559668fda013c2a03b0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 7 10:26:35 2008 -0600
+
+ mesa: glsl: finish up support for precision qualifiers
+
+commit 1ffd6908d4153d647f8a3bf1ba9fe9d33c206185
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Aug 7 19:25:54 2008 +0100
+
+ mesa: pf_sprint_name->pf_name.
+
+commit fdafa1f8632bf4e92996291a094e98f4e58dc37c
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Aug 7 19:25:28 2008 +0100
+
+ gallium: Simplify format->name conversion.
+
+commit 9dee60969df7ff263e05430e69ef26982fe2bd94
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Aug 7 18:55:05 2008 +0100
+
+ trace: Dump state.
+
+commit f2e19c34e06dfc33557a481f764fc75a5aef15ff
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Aug 7 13:20:02 2008 +0100
+
+ trace: Trace pipe context calls.
+
+commit c76d86f0abfa09a241370af024c806b8a0005850
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Aug 7 08:50:50 2008 +0100
+
+ raw2png: Fix channel order in a8b8g8r8/x8b8g8r8 formats.
+
+commit f6e0514736bb763813a49ae5542b2c8648641595
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Aug 6 21:39:25 2008 +0100
+
+ trace: Add missing XSL and CSS.
+
+commit 18fb8f148679ddddc5a781014d36a51afc304727
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Aug 6 21:37:00 2008 +0100
+
+ xlib: Integrate with the trace pipe driver.
+
+commit 35355f7610b69dcd2fdba451db4554478fe0acaa
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Aug 6 21:36:25 2008 +0100
+
+ trace: New pipe driver to trace incoming calls.
+
+ Only pipe_screen calls traced, and only linux supported, for now.
+
+commit 1ee500ac73fa657f02321c46cf5d9a4bfdea54de
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Aug 6 14:51:15 2008 +0100
+
+ pipebuffer: Add an extra assertion to ensure buffers do not jump between lists.
+
+commit eb422a724342b0870ae0c796d229f38cf6b0706f
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Aug 6 14:48:53 2008 +0100
+
+ raw2png: support some depth formats.
+
+commit 72a5e479789febb552ec783a1cba0ed628dfa427
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Aug 6 14:48:11 2008 +0100
+
+ gallium: New function to dump surfaces.
+
+commit 9a20cecc5cf41c5eda6cedd5f30416bc1b49ac91
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Thu Aug 7 16:49:54 2008 +0200
+
+ mesa: Extend GLSL syntax to accept type precision in full type specifiers.
+
+commit c5c7130385b1b0d35b52a6df68d9558a92fabd86
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Thu Aug 7 16:23:15 2008 +0200
+
+ mesa: Silence compiler warnings on Windows.
+
+commit d50d7a54de89e602a9951264878dfe06924e1adb
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Thu Aug 7 16:22:34 2008 +0200
+
+ softpipe: Silence compiler warnings on Windows.
+
+commit ee8dfdf4c9f0bbf4f99a6b78dbddc4871fd80a1c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 7 07:54:53 2008 -0600
+
+ mesa: fix glBindTexture error string (bug 17005)
+
+commit ce8e846ffea8e1a11b8ae4ba05a7386e7c34cc9f
+Author: Ben Skeggs <skeggsb@localhost.localdomain>
+Date: Thu Aug 7 11:38:56 2008 +1000
+
+ nv40/nv50: enable mirror wrap modes
+
+commit fda01b584715c05696a0e6768fda669ef1eb5f3b
+Author: Ben Skeggs <skeggsb@localhost.localdomain>
+Date: Thu Aug 7 11:26:17 2008 +1000
+
+ nouveau: fix build
+
+commit 4b1c508f49a070f113929393423d6704f1ff18b6
+Merge: 7fde9fe be66a8f
+Author: Ben Skeggs <skeggsb@localhost.localdomain>
+Date: Thu Aug 7 11:19:15 2008 +1000
+
+ Merge remote branch 'origin/gallium-0.1' into nouveau-gallium-0.1
+
+commit a56ccb90c6a374c86158ac2323f844a4003560fa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 6 19:15:10 2008 -0600
+
+ gallium: fix clipping/stride bugs in pipe_get_tile_raw(), pipe_put_tile_raw()
+
+ We need to compute the default dst_stride and src_stride _before_ clipping.
+ After clipping, the width value may have changed.
+ This fixes visible tile glitches in some demos like progs/glsl/texdemo.c
+
+commit be66a8f43172327e3cdde27281e40377cacbb121
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 6 17:22:29 2008 -0600
+
+ gallium: added PIPE_CAP_TEXTURE_MIRROR_CLAMP, PIPE_CAP_TEXTURE_MIRROR_REPEAT
+
+ Check for these caps in state tracker and enable corresponding GL extensions
+ if supported.
+
+commit ea0007cc4ca077c7e3951c4fda122bd242728d70
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 6 17:14:22 2008 -0600
+
+ softpipe: add texture border color code
+
+commit b908ce93d4280e5fd3a3b14f54b42bb2040a3742
+Author: Jonathan White <jwhite@tungstengraphics.com>
+Date: Wed Aug 6 16:42:38 2008 -0600
+
+ egl: define vsnprintf
+
+commit bd953fdd549310638b6960f358b31a40c05ca680
+Author: Jonathan White <jwhite@tungstengraphics.com>
+Date: Wed Aug 6 16:37:49 2008 -0600
+
+ egl: fixes for Windows
+
+commit 695fc325032f642dea6a10267a57c3d9758bea62
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 6 16:29:50 2008 -0600
+
+ mesa: glsl: regenerated file
+
+commit 35b9aedf7fc29ccc1d8c969b11eeb5eca57c5af2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 6 16:29:40 2008 -0600
+
+ mesa: glsl: report 'Syntax Error' instead of 'Invalid external declaration'
+
+commit 95d3642122f48439e356b781f62649553f97c7ee
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 6 16:29:10 2008 -0600
+
+ mesa: glsl: additional error checking
+
+commit 8a40fe06d72aa8b0c3a03b92b60a0f5b4ea61987
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 6 16:26:47 2008 -0600
+
+ mesa: glsl: fix a number of glUniform issues
+
+ Additional error checking.
+ Allow setting elements of uniform arrays. This involves encoding both
+ a uniform location and a parameter offset in the value returned by
+ glGetUniformLocation().
+ Limit glUniform[if]v()'s count to the size of the uniform array.
+ When setting bool-valued uniforms, convert all float/int values to 0 or 1.
+
+commit 7e2458c7b55b2662067d8cce8a962d8c2bbd3a43
+Author: Jonathan White <jwhite@tungstengraphics.com>
+Date: Wed Aug 6 13:40:03 2008 -0600
+
+ egl: fix version handling
+
+commit 7a6eba54d064cadf15f93df2c1748cf5e474ef03
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 6 13:07:09 2008 -0600
+
+ mesa: glsl: fix glGetUniform for matrix queries
+
+commit 18cd9c229a1fc8da8b7669b8d1d100f6bbeca183
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 6 12:45:14 2008 -0600
+
+ mesa: glsl: fix error check in get_uniformfv()
+
+commit 5fc6f6a33faed0dbfe67a0689d8f261633e21529
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 6 12:21:25 2008 -0600
+
+ mesa: glsl: check for rect tex samplers
+
+commit ac553c6ce4718aa1e90f49c910c14e13d0d5de39
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 6 11:58:52 2008 -0600
+
+ mesa: glsl: disallow initializers for varying vars
+
+commit acb81d0268bf96efd35196c619ca269ffbe6c0d3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 6 11:45:42 2008 -0600
+
+ mesa: glsl: more type checking for attribute/varying/uniform vars/locals
+
+commit 64a795d8e60c42e7ec8c370507864faf3f85d99e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 6 11:22:36 2008 -0600
+
+ mesa: glsl: check that attribute vars are of float/vec/mat type
+
+commit b9be69b85e8955fa9f773a65e7c3de5c4bb6e507
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 6 11:15:55 2008 -0600
+
+ mesa: glsl: more assignment type checking
+
+ Also that const declarations have initializers and that uniforms/samplers
+ can't have initializers.
+
+commit 93ed8f9fc9edddff62bbe4720c0b9029a1f8b6f5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 6 11:15:42 2008 -0600
+
+ mesa: glsl: fix SLANG_OPER_VARIABLE_DECL type checking case
+
+commit 8d1627c25a24f7bc14946bfe268d2d1c5dcde470
+Author: Haihao Xiang <haihao.xiang@intel.com>
+Date: Wed Aug 6 09:05:09 2008 -0600
+
+ mesa: glsl: count number of temp regs used
+
+commit 523ee3ddbe29f5c2915d42a700115f570c277e15
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 6 09:02:39 2008 -0600
+
+ disable debug code accidentally enabled by prev commit
+
+commit 5f460939386c5bcb04b9a778c8ddc41b366c30ee
+Author: Haihao Xiang <haihao.xiang@intel.com>
+Date: Wed Aug 6 09:01:34 2008 -0600
+
+ mesa: glsl: count number of temp regs used
+
+commit fb71a484133c53d37e9510b96d14ab04724ead79
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 6 08:52:56 2008 -0600
+
+ mesa: fix comment about texture targets (bug 17005)
+
+commit d23b54a423b537fc08543299f9df086e831686fc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 6 08:39:54 2008 -0600
+
+ fix some FBO/texture queries (bug 15296)
+
+commit f1e4ca776f1c1f86beb8872d32009d902cf64e88
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 6 08:39:54 2008 -0600
+
+ fix some FBO/texture queries (bug 15296)
+
+commit c20a1736566d301f38cc1271284b1fde9adb2741
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Wed Aug 6 14:15:31 2008 +0800
+
+ i965: update TexSrcUnit for OPCODE_TXB
+
+commit efd730c5d3acaec035dfdbb0b7ed042e7c381a03
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 5 20:56:18 2008 -0600
+
+ mesa: glsl: code consolidation in _slang_gen_declaration()
+
+commit a4fad98dfb95a83de64e1685542a7e65c478cce7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 5 20:28:14 2008 -0600
+
+ mesa: glsl: disallow user-defined functions/vars prefixed with gl_
+
+commit 6b888a10d37f43feae272d0927d087916e9e3c0d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 5 20:12:50 2008 -0600
+
+ mesa: glsl: additional type checking for assignments, inequalities
+
+commit bf3040d4767702f09e042c58f0f5aa942ddb9a16
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 5 20:00:59 2008 -0600
+
+ mesa: glsl: generate error for main(any args)
+
+commit ab0d13dd60c707f2c414fa9fe8e489a9e24a8aee
+Author: Jonathan White <jwhite@tungstengraphics.com>
+Date: Tue Aug 5 19:22:09 2008 -0600
+
+ egl: changes for Windows
+
+commit 240962faf729dbd572d0a4668c66d155b931a11d
+Author: Jonathan White <jwhite@tungstengraphics.com>
+Date: Tue Aug 5 19:20:43 2008 -0600
+
+ egl: added snprintf, strcasecmp defines
+
+commit 096b5fa52483eaf75fc56bee501aa757dccd8867
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 5 16:59:22 2008 -0600
+
+ mesa: glsl: regenerated file
+
+commit 7a63e317d1911166e02bdcda21614581ace5004b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 5 16:58:44 2008 -0600
+
+ mesa: glsl: remove invalid use of f.x syntax where f is a float
+
+commit 013de307edd8590ae5a3444d3c18990ee4fd288e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 5 16:58:31 2008 -0600
+
+ mesa: glsl: re-enable assignment type checking
+
+commit 8abeeb35d3c9810e191510ebe3194ae9b1b49f35
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 5 16:24:53 2008 -0600
+
+ mesa: glsl: regenerated files
+
+commit 1308ca6d2168c5c2f81a8e675687e9d9a4db1a28
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 5 16:18:39 2008 -0600
+
+ mesa: glsl: re-org of intermediate/temp storage
+
+ Simplify the code for allocating storage for intermediate results. Use fewer
+ temps in some cases.
+
+ Also, use new asm vec4_move intrinsic instead of regular assigments in various
+ constructors. For example:
+ float f;
+ vec3 v;
+ v.xyz = f;
+ is not legal GLSL, so do this instead:
+ __asm vec4_move v.xyz, f; // note: f will auto-expand into f.xxxx
+
+ Plus, fix assorted bugs in structure comparison.
+
+commit 749c1b9fbe4bd89e61dfc3657ad4f8adae20ff2b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 5 11:13:51 2008 -0600
+
+ mesa: glsl: disable broken assignment type checking for now
+
+commit 2eb4f86785ac7e4002904384b7ad0517e0bd6999
+Author: Jonathan White <jwhite@tungstengraphics.com>
+Date: Tue Aug 5 08:13:50 2008 -0600
+
+ egl: don't include stdint.h on Windows
+
+commit b51584184a8062bf0f0f442ef6029a220ce3f153
+Author: Jonathan White <jwhite@tungstengraphics.com>
+Date: Tue Aug 5 08:12:38 2008 -0600
+
+ egl: typedef uint8_t for Windows
+
+commit 8e8019b49ab137403ba92aef3e286f4e27049ad5
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Tue Aug 5 11:28:54 2008 +0800
+
+ dri: Fix write/read depth buffer issue under 16bpp mode. See bug #16646
+
+commit a3024caff1c790cf9f24476926aa62198f1e7b53
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Tue Aug 5 10:18:56 2008 +0800
+
+ i965: Use program->SamplerUnits[] to get the appropriate texture unit.
+
+ inst->TexSrcUnit is used as an index into program->SamplerUnits[] since
+ the commit ade508312c701ce89d3c2cd717994dbbabb4f207, and program->SamplerUnits
+ is a sampler-to-texture-unit mapping.
+
+commit 2d8551b30f38d111b60511700c690db1e5b2ab16
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 4 16:27:14 2008 -0600
+
+ mesa: glsl: check struct types in _slang_assignment_compatible()
+
+commit 793bab2a368be6bbe93ab7f04b887f95c839c36b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 4 16:26:22 2008 -0600
+
+ mesa: glsl: varying vars can't be user-defined structs
+
+commit 9564e58df052462ab9d3c62576bcf9e38be65c1e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 4 15:32:21 2008 -0600
+
+ mesa: glsl: regenerated files
+
+commit 3b5f9588e79ea023ea2ecea755918ab35799a82a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 4 15:32:07 2008 -0600
+
+ mesa: glsl: added vec4(ivec4) constructor
+
+commit 50ecc38545ff59e9f99d092eebf555816ee3f7f0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 4 15:30:32 2008 -0600
+
+ mesa: glsl: if/while/do condition must be boolean
+
+commit f70f6e076c9f1a2c06ec433ce93da5913eef457a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 4 15:21:25 2008 -0600
+
+ mesa: glsl: additional type checking for ?: and = operators
+
+commit e194c457fdabd7474da3b277245d7761311dd758
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 4 13:20:29 2008 -0600
+
+ mesa: glsl: don't allow comparision of arrays
+
+commit 250910a59d16cccb50ad8ebcb21da397fb8dcf91
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 4 13:11:27 2008 -0600
+
+ mesa: glsl: error on const-qualified array declarations
+
+commit b57c53b2bc68e23796d59e66cdc5b45899c5585c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 4 13:07:05 2008 -0600
+
+ mesa: glsl: added null ptr check
+
+commit c610c0d77d2e2d9fe0052f7d1316b3d348b536a0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 4 13:06:48 2008 -0600
+
+ mesa: glsl: set literal_size for const vars
+
+commit 95ecc33330b3eea4ddc21e2345adf2a9c04a38c3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 4 13:06:19 2008 -0600
+
+ mesa: glsl: add missing code emit for struct/field
+
+commit 02d223a7812c5cdf4bac5a83a8c9ce94a88fdba1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 4 13:05:49 2008 -0600
+
+ mesa: glsl: stop code emit after error is recorded
+
+commit 1028458354773d748278d7719f695eb4c2ffc090
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 4 11:14:12 2008 -0600
+
+ mesa: glsl: check that rhs of const var initializer is also const
+
+commit 901c4db2ed7b98d2026fb9f0374a48eca9a8019f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 4 11:02:22 2008 -0600
+
+ mesa: glsl: handle user-defined const vars in expression simplification
+
+commit 26ec3780b85765a681f3f365137ee2ecd63d37fc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 4 10:58:13 2008 -0600
+
+ mesa: glsl: fix initialize size error check
+
+commit e68a3ef1efc3873afb64acd15a0ea27a6ba54bda
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 4 10:21:55 2008 -0600
+
+ mesa: glsl: added initializer size/type error checking
+
+commit 7c59a2b5a2699207e25638ff5be6b9cfd64560cc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 4 10:07:26 2008 -0600
+
+ mesa: glsl: only allow one #version directive
+
+commit d95bb24ddc9fa4bfb32d07fb96d19c024f0e52cf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 4 10:04:53 2008 -0600
+
+ mesa: glsl: regenerated file
+
+commit 012a1f1cf6bc46b2ac32b456a233cf1ecd25e241
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 4 09:32:54 2008 -0600
+
+ mesa: glsl: new bvec4 constructor
+
+commit 73c3c4d1cc9b6d01cc5e75ceac9c482e4c6f192a
+Author: Jonathan White <jwhite@tungstengraphics.com>
+Date: Mon Aug 4 16:30:58 2008 -0600
+
+ egl: typedef u_int32_t for Windows
+
+commit 655ca5afad5f5d79f0ad60b5aa7fcafd35e97b62
+Author: Jonathan White <jwhite@tungstengraphics.com>
+Date: Mon Aug 4 16:30:04 2008 -0600
+
+ egl: fix _eglGlobal initialization for Windows
+
+commit 62fb5f7b9ab70017d5de6ab3d0886bc4cbdbc57f
+Author: Adam Jackson <ajax@redhat.com>
+Date: Tue Jul 8 11:07:32 2008 -0400
+
+ Drop unused 'entries' field from __glxHashTable.
+
+commit 2783f3bfabd6e316f7e221e950499c3631c041ce
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Mon Aug 4 12:18:09 2008 +0200
+
+ tgsi: Put a newline after IMM.
+
+commit 7fde9febd6f212494730ebef916fe25c95d30be9
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sun Aug 3 18:21:13 2008 -0400
+
+ g3dvl: Temporarily disable IDCT.
+
+commit a55ced56760f90fe84794b23c557050403d514b2
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sun Aug 3 17:20:48 2008 -0400
+
+ nv40: Support for PIPE_FORMAT_R16_SNORM.
+
+commit eb80ed0d2eac693012e7e4c2ad772f7f57f74977
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Aug 3 11:14:47 2008 -0600
+
+ added null ptr check (fix bug 16959)
+
+commit 61b3ce8f9787edd7d5678f87aa4c2a0a6f8c0e45
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Aug 3 11:13:12 2008 -0600
+
+ added null ptr check (fix bug 16959)
+
+commit 4a8b908a46375ea2543a81bdd8d5b313d807f140
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sat Aug 2 19:37:16 2008 +0200
+
+ softpipe: support PIPE_FORMAT_R16_SNORM.
+
+commit ded9414024ef7b2fb1d991d872c56c0d85e9ce1f
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jul 31 14:13:30 2008 -0700
+
+ intel-gem: Always build GEM execbuffer code.
+
+commit e9bf3e4cc9a7e4bcd4c45bd707541d26ecdf0409
+Author: Jesse Barnes <jbarnes@hobbes.lan>
+Date: Thu Jul 31 11:50:37 2008 -0700
+
+ intel: sync to vblank by default
+
+ Effectively default to vblank_mode=3 on Intel to avoid tearing by default.
+ Users wanting to go "as fast as possible" (despite not being able to see frames
+ faster than their refresh rate allows) can still set the vblank_mode manually.
+
+commit c9120a0d1928f8ca6114923fd307fbc5c358eb0b
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jul 30 14:14:44 2008 -0700
+
+ intel-gem: Use new getparam to detect kernel GEM support.
+
+commit 1d27b4bc0f291ec955e59b1ead943100d8a15505
+Author: Younes Manton <younes.m@gmail.com>
+Date: Wed Jul 30 16:47:10 2008 -0400
+
+ g3dvl: Use R16_SNORM instead of A8L8_UNORM for block rendering.
+
+commit 3e8e292db0794a4d2dda1605f86e8f71dbf1d661
+Author: Guillaume Melquiond <guillaume.melquiond@gmail.com>
+Date: Wed Jul 30 07:56:42 2008 -0700
+
+ Always pass CFLAGS when compiling or linking demos
+
+ To ensure that the correct architecture flags are used, always pass the
+ user's CFLAGS when compiling or linking the demos. Fixes #16860.
+
+commit b068ab62a0433b6a92374c83f153b3c9ac4b4e5e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 29 17:50:43 2008 -0600
+
+ updated GLSL bug fixes
+
+commit ab945fc38c81adc7e033c544213ebb929edbe1f8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 29 17:49:47 2008 -0600
+
+ mesa: glsl: remove old assertion (fixes glsl/bitmap.c)
+
+commit 1bdb1345703584d9247c84f8efb9056db22de682
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 29 17:49:38 2008 -0600
+
+ mesa: glsl: remove old assertion (fixes glsl/bitmap.c)
+
+commit 40f7e5f6749be3365a50d9a3931c03189b5352e7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 29 17:47:52 2008 -0600
+
+ mesa: disable debug code
+
+commit 43ac397fb8d26c335160287294a25ffb5b4bcec5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 29 17:47:39 2008 -0600
+
+ mesa: disable debug code
+
+commit ff916d718a461f9af96c89d3c19ec17adcbdaba5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 29 17:45:46 2008 -0600
+
+ mesa: regenerated files
+
+commit 016701f6860a840e079cb4c5f844a8cced712cd8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 29 17:43:35 2008 -0600
+
+ mesa: Silence compiler warnings on Windows.
+
+commit b26a80aa12f1f8316da495b4fdeb94e75ba5d740
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 29 17:37:55 2008 -0600
+
+ mesa: cast to fix warning
+
+commit a7dd701421082dbe6637f6b80a0707f14f69e007
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 29 17:37:13 2008 -0600
+
+ mesa: fix bug/failure in recursive function inlining
+
+ Fixes a failure for cases such as y = f(a, f(a, b))
+ All the usual tests still pass but regressions are possible...
+
+commit 6045f171381744fd8e703d978c3d188e30da4b94
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 29 17:33:52 2008 -0600
+
+ mesa: glsl: silence warning (s/int/GLuint)
+
+commit a75015ef0301f3db4f3d5f86b6b2f85765f8465a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 29 17:32:35 2008 -0600
+
+ mesa: remove stray debug code
+
+commit 1638edb3256b3b4bd8bc2eb65d02573601ef9a44
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 29 17:29:30 2008 -0600
+
+ mesa: glsl: assorted fixes for resolving polymorphic functions
+
+ Plus,
+ - fix some issues in casting function arguments to format param types.
+ - fix some vec/mat constructor bugs
+ - find/report more syntax/semantic errors
+
+commit 6225e51a73a51fa46d839a429f254d7786b1fd18
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 25 14:48:36 2008 -0600
+
+ mesa: glsl: re-order some constructors
+
+commit d9b6425e0004bf13e1ff9659e0b807d6d2911b70
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 25 14:48:14 2008 -0600
+
+ mesa: glsl: remove unneeded operators
+
+commit 91e1918f484b698016ca43bafdf4fddf2648cca5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 29 17:27:44 2008 -0600
+
+ mesa: glsl: added null ptr check
+
+commit 6f1abb9c215583d11980294f7469da41ec14b7da
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 29 17:27:22 2008 -0600
+
+ mesa: fix issues causing warnings on Windows
+
+commit 1b465f287fd26d14797eca7c7a3f6cd339923e00
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 24 17:49:33 2008 -0600
+
+ mesa: glsl: additional error detection
+
+ Plus begin some fixes for vec/matrix constructors.
+
+commit 16dc993d4f01f6882933953115abc6ec7d93ba0b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 24 15:49:09 2008 -0600
+
+ mesa: gls: fix broken else clause of conditional break/continue
+
+ In the following case:
+
+ for () {
+ if (cond)
+ break; // or continue;
+ else
+ something;
+ }
+
+ The "something" block didn't get emitted.
+
+commit 3d500f00d2a09becccd62abc0472090c4faa53d6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 24 14:56:54 2008 -0600
+
+ mesa: glsl: only try to link shaders defining main()
+
+commit 56bac7a35cf5763c28164224a45dae46e06aacbb
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Thu Jul 24 11:03:05 2008 +0200
+
+ mesa: Silence compiler warning on windows.
+
+commit 5d9b33095ad6eff5ae55493629daac781897c55e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 23 15:04:25 2008 -0600
+
+ mesa: glsl: fix/simplify array element handling
+
+ Also fix bug in comparing large structs/arrays.
+
+commit d4c73c619a8d0db2f9662ab5cbdc15e854efce25
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 23 12:00:48 2008 -0600
+
+ mesa: glsl: mark constructor params as const
+
+commit 01c0558f70ead32db9b7da4ebdc2b33d2477c3e5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 22 18:27:56 2008 -0600
+
+ mesa: glsl: rework swizzle storage handling
+
+ Build on the heirarchal approach implemented for arrays/structs.
+
+commit fb3422a241d7483c108f05290f966ffdbd219c3f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 22 17:38:55 2008 -0600
+
+ mesa: fix uninitialized var
+
+commit 7af8dddf2705cf0e2c02154615900bf49c8ee25a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 22 15:17:10 2008 -0600
+
+ mesa: glsl: implement constructor functions for user-defined types
+
+commit a9412ca2e89030897cd45747b70ebab6840c46b7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 22 11:54:22 2008 -0600
+
+ mesa: remove stray debug assertion
+
+commit b36749d066bcba848d08937090492c33a277851d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jul 21 20:42:05 2008 -0600
+
+ mesa: fix glUniform error checking for samplers
+
+commit b7eea9a1ce9f3a28b74d77db19dcd859b6638a41
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 29 17:19:25 2008 -0600
+
+ mesa: refactor: move _mesa_Bind/Gen/DeleteProgram() to arbprogram.c
+
+ No API-level functions now in program.c.
+
+commit ff9b6a0ae2b38e9de717a688e823fd8b665d159a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 21 17:18:22 2008 -0600
+
+ mesa: initial support for GLSL struct/array comparisons
+
+commit 65db8c9518036bee7110befb4927f2995c7a125c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 21 16:04:56 2008 -0600
+
+ mesa: added null ptr check (error handling case)
+
+commit 19d44b95feaeb3d983a84827471f81afc079faf0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 21 16:04:24 2008 -0600
+
+ mesa: fix +=, -=, etc. operators
+
+commit be50c481016ea9d01f97812ead5042618c05b37f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 21 14:23:33 2008 -0600
+
+ mesa: remove an error check for NV_v_p that doesn't apply to ARB_v_p
+
+commit bc985b5790bcbf2d19b2e42fee0807b1a3c9bc91
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 21 14:16:07 2008 -0600
+
+ mesa: fix some issues in _mesa_validate_program()
+
+commit ffbc66bf614c5a2b9bc3a68a6fa7d027405a55b9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 21 13:58:50 2008 -0600
+
+ mesa: assorted glsl uniform/attribute fixes
+
+ Fix incorrect uniform/attribute size query results.
+ Add missing error checking for glUniform, glUniformMatrix params
+ Fix an array size/allocation error.
+
+commit 74a19b0abd382574ff583eab81a374acead9254d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 18 19:46:19 2008 -0600
+
+ mesa: glsl: various writemask/swizzle improvements and clean-ups
+
+commit 38a62ede6c68f292615ff8eaac749e12652dbdb9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 29 17:15:08 2008 -0600
+
+ mesa: rework array/struct addressing code.
+
+ The slang_ir_storage type now has a pointer to parent storage to represent
+ storage of an array element within an array, or a field within a struct.
+ This fixes some problems related to addressing of fields/elements in non-
+ trivial cases. More work to follow.
+
+commit 378017417a7a0b7b8e25b6e859e9dcb92ef24ea9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 18 12:52:24 2008 -0600
+
+ mesa: fix some GLSL /= int operators
+
+ plus add a few more special constructors to improve code quality.
+
+commit f45ed0eb8d4d9cf01cf1d3d8b8d3f4fb774c4d48
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 18 12:51:39 2008 -0600
+
+ mesa: fix set_program_uniform_matrix(): need to loop over matrix count
+
+commit 5bfbcf7265dfc72d85f6adbf3b243355b16334d9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 29 17:12:19 2008 -0600
+
+ mesa: implement grammar/parsing for precision/invariant syntax
+
+ Plus, fix some issues with pre-defined preprocessor symbols and version checking.
+
+commit c3ad1761586c640ba7d4060c4a6917ce61078cf9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 29 17:09:40 2008 -0600
+
+ mesa: Silence compiler warnings on Windows.
+
+commit 153407f72d3492f9d35e2424bb877def8b1a1dcd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 29 17:05:54 2008 -0600
+
+ mesa: fix some function inlining bugs
+
+ Need to add local vars of original function to the new scope's variable
+ list (though the DECLs were already present).
+ In slang_operation_copy() call slang_replace_scope() for SLANG_OPER_BLOCK_NEW_SCOPE opers.
+
+commit 527e1357b59a476348b5fd2600fb99e85cc4e897
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 29 17:04:53 2008 -0600
+
+ mesa: improved printing
+
+commit 1a5c99f4b5ccbc71f3649092c723b5e295456314
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 29 16:46:08 2008 -0600
+
+ document GLSL 1.20 status
+
+commit 76164bf7a20ef6dabc3204a766f604becfba9997
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Jul 30 00:44:56 2008 +0900
+
+ tgsi: Insert newlines after the statements, instead of before.
+
+ Prevents shader dumps from getting concatenated with the next debug message.
+
+commit 44c7f37b448201ad1276883ae5e6f7a3bdc4e7ac
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 29 07:38:13 2008 -0600
+
+ disable GL_ARB_shading_language_120 until 1.20 features are complete
+
+commit b5095ab97f4cf4d2d0e5b99b7813a2e466c2459c
+Author: Florent Thoumie <flz@FreeBSD.org>
+Date: Mon Jul 28 14:44:43 2008 +0100
+
+ autoconf: disable dri drivers build if being asked
+
+ Allow --with-dri-drivers={,no} to disable DRI drivers build.
+
+ Signed-off-by: Florent Thoumie <flz@FreeBSD.org>
+ Signed-off-by: Robert Noland <rnoland@2hip.net>
+
+commit 28454a512a9b1c1e9f70a04b43c34f239abd6ba7
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Jul 28 22:42:18 2008 +0900
+
+ util: Don't define replacement math functions for CE.
+
+ It appears to be working without this before, and it is probably necessary.
+
+commit 57aea290e1e0a26d1e74df6cff777eb9f038f1f8
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Mon Jul 28 10:49:43 2008 +0200
+
+ r300: Fix off-by-one error in calculation of scissor cliprect.
+
+ Fixes http://bugs.freedesktop.org/show_bug.cgi?id=16123 .
+
+commit c208a2c791fa24c7c5887fc496738cbddbfafc72
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Jul 28 12:42:13 2008 +0900
+
+ Merge tgsi/exec and tgsi/util directories.
+
+commit c1fb448ce8dd98f8e5fd5a39707f96cc14535bd4
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sun Jul 27 21:40:17 2008 +0200
+
+ r300: Fix a crash related to depth textures (triggered by Glest w/ shadowmaps)
+
+commit c117d0efd28887069607f405be99fbc09fcb4cab
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sun Jul 27 21:31:49 2008 +0200
+
+ r300: Implement ARB_shadow_ambient; add STATE_SHADOW_AMBIENT
+
+commit e88be7d375032fbddb34a77debe6604fa029492c
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sun Jul 27 21:18:29 2008 +0200
+
+ r300: Fix point minmax size
+
+ There are 6 subpixel units per pixel, not 16.
+
+commit 322677b8789c031024fb3fb4618f27e7a6ffec5d
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sun Jul 27 18:18:59 2008 +0200
+
+ r300: Implement hardware acceleration for ColorLogicOp
+
+commit 0973d348d7a9c8d50829a33112dceb4e7f7a61ef
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sun Jul 27 16:36:05 2008 +0200
+
+ r500: Handle non-native swizzles in texture instructions
+
+ This fixes piglit's fp-kil and fp-generic/kil-swizzle tests.
+
+commit 1bdf5e09a049d8d60bf147f9d88bbdb2b8588752
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sun Jul 27 15:14:07 2008 +0200
+
+ r500: Redirect TEX writes to output registers
+
+ While R500 fragment program texture instructions appear to support writemasks,
+ they cannot write to the output FIFO immediately, so we need to insert a MOV
+ for these instructions.
+
+ This fixes piglit's fp-fragment-position and fp-incomplete-tex tests.
+
+commit 902e401a384a8213d1239aae42bc2b7071ad6bd8
+Author: Eric Anholt <eric@anholt.net>
+Date: Sat Jul 26 17:12:04 2008 -0700
+
+ intel: Don't return a renderbuffer with alpha when just GL_RGB is requested.
+
+ Fixes oglconform rbGetterFuncs testcase. The span code for this mode hasn't
+ actually been tested.
+
+commit a17e6c046cd990f2ed4d0dfe9ed0a59bccd9aade
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sat Jul 26 16:51:09 2008 -0400
+
+ g3dvl: Recursively build dependencies.
+
+ Run `make` in src/libXvMC and everything should be built for Nouveau.
+ Run `make DRIVER=softpipe` in src/libXvMC for SoftPipe.
+
+commit 9e445d3e6374c2a9b163f1262ea5a1047e596cae
+Merge: d1dc937 ff7a703
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Jul 27 00:54:57 2008 +1000
+
+ Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1
+
+commit 85e44fcd51b2f2e0bb0c97161fdde1971767eefd
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sat Jul 26 16:16:23 2008 +0200
+
+ r200: Do not set second coordinate clamping for 1D textures
+
+ Fixes piglit's tex1d-border test.
+
+commit 477fa8fe1241aedde281defca52f02a8e7385733
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sat Jul 26 16:15:33 2008 +0200
+
+ r300: Always emit LOAD_VBPNTR immediately before index-based rendering
+
+ This fixes one type of lockup I've been seeing on my test system.
+
+commit 1e645b365900cf1c71ca5594bd6b549a1f203040
+Merge: e5022c3 9bc9e0e
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Fri Jul 25 18:31:44 2008 -0700
+
+ Merge branch 'master' into drm-gem
+
+ Conflicts:
+
+ src/mesa/drivers/dri/common/dri_bufmgr.c
+ src/mesa/drivers/dri/i965/brw_wm_surface_state.c
+
+commit ff7a7031caa0ac592f210aca696a20c9de6dc0d4
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat Jul 26 09:17:10 2008 +0900
+
+ gallium: Windows miniport portability fixes.
+
+commit 40acf8cce24afe80388639b804f9ae8c0b779d81
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 25 15:33:02 2008 -0600
+
+ mesa: glsl: assorted fixes for resolving polymorphic functions
+
+ Plus,
+ - fix some issues in casting function arguments to format param types.
+ - fix some vec/mat constructor bugs
+ - find/report more syntax/semantic errors
+
+commit 4b3fb99b502a803bec852a35e6d50c3ff49975e3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 25 14:48:49 2008 -0600
+
+ mesa: regenerated files
+
+commit 9d9076af5c7af6cce9ba8216c62eabbc629dda43
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 25 14:48:36 2008 -0600
+
+ mesa: glsl: re-order some constructors
+
+commit c72bc3f3722e17b30c91bb8b9d57cd0ecfd98e46
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 25 14:48:14 2008 -0600
+
+ mesa: glsl: remove unneeded operators
+
+commit e5022c3fdf9888857f22f9a1690035ff3f90d36b
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Jul 25 12:40:16 2008 -0700
+
+ mesa: Return 0 for cube map face of non-cubemap framebuffer attachments.
+
+ Fixes some oglconform fbo testcases.
+
+commit ff60e3fa031504b403766324b1fae3ccacec6650
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Jul 25 12:17:58 2008 -0700
+
+ intel: If a tex image doesn't fit in the object's tree, make a temporary tree.
+
+ Previously, we would just store the data as malloced memory hanging off the
+ object, which would get memcpyed in at validate time. This broke an
+ oglconform render-to-texture test, since validate wasn't called but a miptree
+ was expected.
+
+commit 72809f377397390fdd110d6b15e8a9a64ada05e6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 25 08:34:54 2008 -0600
+
+ mesa: fix issues causing warnings on Windows
+
+commit 03de81aea1c02d8b29784950a456e43b4fc9d538
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 24 17:49:33 2008 -0600
+
+ mesa: glsl: additional error detection
+
+ Plus begin some fixes for vec/matrix constructors.
+
+commit 9bc9e0ecb0fb2069b2c123e665eb2118e358098f
+Author: Dave Airlie <airlied@linux.ie>
+Date: Fri Jul 25 20:32:22 2008 +1000
+
+ i965: fixup format for TFP zero copy
+
+commit 04c98089d15d27e541561d3fb35b9c28b699833b
+Author: Dave Airlie <airlied@linux.ie>
+Date: Fri Jul 25 19:57:35 2008 +1000
+
+ Revert "intel: disable zero-copy TFP."
+
+ This reverts commit 94979950e8991bd44899eb4067c3ae43449ce51e.
+
+ I've fixed it instead
+
+commit d4244683a61f66cfb78408a37cf2587587847f96
+Author: Dave Airlie <airlied@linux.ie>
+Date: Fri Jul 25 19:56:56 2008 +1000
+
+ i965: make tex offset override work..
+
+ should fix fd.o 14441
+
+commit 2acf917f00b570274b58ad7e58688715730253d0
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Fri Jul 25 10:41:53 2008 +0200
+
+ mesa: Mark as XXX unresolved warnings on windows.
+
+commit 94979950e8991bd44899eb4067c3ae43449ce51e
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Jul 25 16:31:38 2008 +1000
+
+ intel: disable zero-copy TFP.
+
+ patch from Fedora. maybe someone can fix this later but for now
+ lets try and release Mesa so ajax can live his life and get Xorg 7.4 out.
+
+commit 7b2ef2b8849bbf400eeed9642c26c140cc7d6beb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 24 15:49:09 2008 -0600
+
+ mesa: gls: fix broken else clause of conditional break/continue
+
+ In the following case:
+
+ for () {
+ if (cond)
+ break; // or continue;
+ else
+ something;
+ }
+
+ The "something" block didn't get emitted.
+
+commit 643228c506bde965c890f3d0604c273fc729bee7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 24 15:12:42 2008 -0600
+
+ mesa: move extensions->version code into separate function
+
+commit 0216a5843027a679c58c65ff6445f33a34d0e729
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 24 14:28:43 2008 -0600
+
+ mesa: don't include Mesa version in GL_SHADING_LANGUAGE_VERSION string
+
+commit 90a3af7d9d0849afcee0d35ed0621fe24e1008a9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 24 14:56:54 2008 -0600
+
+ mesa: glsl: only try to link shaders defining main()
+
+commit 948f6e302ca3b6e0aa4d74eaef2e17dfb31bdfd5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 24 14:47:28 2008 -0600
+
+ mesa: move extensions->version code into separate function
+
+commit d8ababdcc2e359b4325b036bf7ae5447498a6521
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 24 14:28:43 2008 -0600
+
+ mesa: don't include Mesa version in GL_SHADING_LANGUAGE_VERSION string
+
+commit 51bfb6aa992043f780a1641e6d53282374526c66
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 24 14:27:11 2008 -0600
+
+ query/print GLSL version string
+
+commit d1dc937c62083c3d8ab9f420df8e54f5c3217468
+Author: Younes Manton <younes.m@gmail.com>
+Date: Thu Jul 24 16:50:18 2008 -0400
+
+ g3dvl: Added more XvMC stubs to get mplayer working.
+
+commit 9a4be9785f932bedf727fbf88244ac1b158b09a5
+Author: Jesse Barnes <jbarnes@jbarnes-t61.(none)>
+Date: Thu Jul 24 09:11:37 2008 -0700
+
+ intel: remove buffer swap debug output
+
+ Accidentally pushed as part of the last commit.
+
+commit 6118d830a63d1637587671bdfa9810f3e31c24e7
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Thu Jul 24 08:39:51 2008 -0700
+
+ Revert "965: Fix color clamping issues"
+
+ This reverts commit b993d539a76e7f1446890a85e4b61deec4d4162d. The
+ patch was applied incorrectly. Actual fix coming soon. Sorry for the
+ noise.
+
+commit 4ec4ea14a587300041799c5269295ba7e160ab65
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Jul 24 20:09:54 2008 +0900
+
+ scons: Lookup WINDDK and WINCE SDK directories in the registry.
+
+commit 101d1a658a614d1e2ec02b1e697f6161291af653
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Jul 23 21:06:01 2008 +0900
+
+ mesa: Prefix main includes with dir to avoid conflicts.
+
+ Some of the headers in src/mesa/main have pretty common names which
+ easily conflict with third-party code, e.g. config.h
+
+commit fd6865c7e5c3c38c273b8269ff30a1acec469b6f
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Jul 23 11:15:54 2008 +0900
+
+ softpipe: Remove unused variables.
+
+commit 83869ceab5b3faed8569a5ca752d4dc426db1aec
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jul 22 22:07:22 2008 +0900
+
+ tgsi: Silent msvc warning.
+
+ Rather stupid warning: msvc is warning that converting from a 1bit
+ structure bitfield to a unsigned char looses precision... /WX makes this
+ an error.
+
+commit 7c2d7f8cf5b647c81d2df2ee7f9da6fec08f472a
+Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
+Date: Thu Jul 24 13:35:35 2008 +0200
+
+ Fix a typo.
+
+commit 9dd73d58ae7850dcfa754cb443093825f00cac9f
+Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
+Date: Thu Jul 24 13:32:59 2008 +0200
+
+ Add new demo "fbo_firecube".
+ Tests fbo render-to-texture for various internal texture image formats.
+
+commit b4ed6e9b1797a1e08c51c1ad30e0f78d9c6d8b95
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Thu Jul 24 11:03:05 2008 +0200
+
+ mesa: Silence compiler warning on windows.
+
+commit a8da04cb861b8f9caf3acd33f52f64621f0c15e2
+Author: Younes Manton <younes.m@gmail.com>
+Date: Wed Jul 23 23:35:23 2008 -0400
+
+ nv all: Copy shader tokens on create, free on delete.
+
+ Must copy token stream on shader create, client is allowed to free
+ their copy after creating the state object.
+
+commit 117533759fc6ee57f65a48e7115d4f564ed167f4
+Author: Pawel Pieczul <Pawel.Pieczul@intel.com>
+Date: Wed Jul 23 15:43:23 2008 -0700
+
+ 965: Fix partially transparent textures in Doom 3 engine games
+
+ Numbers of destination depth registers corrected (destination stencil
+ register was sent as depth register).
+
+commit f7be39ea105aa951d0f6e1d8ffbea63412e30801
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 23 16:28:15 2008 -0600
+
+ gallium: bump TGSI_EXEC_NUM_TEMPS to 128
+
+commit d5835c1d0f7d3af9169a61e13646247c6a8b01b4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 23 15:14:22 2008 -0600
+
+ mesa: glsl: fix/simplify built-in constant lookup
+
+commit 564c97660a89f853bc6eb284bf0906ca4bad6de7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 23 15:04:25 2008 -0600
+
+ mesa: glsl: fix/simplify array element handling
+
+ Also fix bug in comparing large structs/arrays.
+
+commit 576c5fcc61d8278c5e78f900a23f752734da3988
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 23 12:00:48 2008 -0600
+
+ mesa: glsl: mark constructor params as const
+
+commit 2e3714380027252ba17a11f23eae851d3f77ab02
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jul 23 09:17:07 2008 -0700
+
+ intel: Add a little span cache to spead up readpixels by cutting syscalls.
+
+commit d2d5abfaeb46fc7b4d4267a6c9e92420fc9b5334
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jul 22 15:20:07 2008 -0700
+
+ intel-gem: Use pread/pwrite for span access.
+
+ This will avoid clflushing entire buffers for small acesses, such as those
+ commonly used by regression tests.
+
+commit f0ca917924a749b1fa287cc9536607ace03c2f89
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jul 16 11:13:35 2008 -0700
+
+ intel: improve 2d batchbuffer debug output.
+
+commit 1c8791c581ba2e3906a98a74e998dd51dd474ddb
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jul 16 10:34:39 2008 -0700
+
+ intel: Fix CopyTexSubImage's src tiling arg for the blit.
+
+ Didn't hurt 915, but needed for 965.
+
+commit bdaa06ad639821368ac8d1af7b7561fd7e83fb13
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jul 15 14:26:19 2008 -0700
+
+ intel: move renderbuffer mapping to separate functions.
+
+ This lets us avoid duplicated code for doing so, including the depthstencil
+ paths that aren't covered by SpanRenderStart/Finish. Those paths were
+ missing the span funcs setup, leading to a null dereference in the fbotexture
+ demo.
+
+commit 5f2a5f6164ace6e12c1a3ba95f1103dc8fafa68f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 23 09:56:44 2008 -0600
+
+ gallium: print extended swizzle negation flags
+
+commit 93f553ed4d94a13ca1bc9c1ed962bd6963cd9ec6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 23 09:56:20 2008 -0600
+
+ gallium: fix translation of extended swizzles, per-component negation
+
+commit 0aa0141e0cd7b5231140805b1cda821bb3d32a86
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Jul 23 17:52:56 2008 +0200
+
+ tgsi: Fix tgsi_util_get_full_src_register_extswizzle().
+
+commit 818cd9dca2861dfb9d8f2d36ff141c55472df2ba
+Author: Jakob Bornecrantz <jakob@aurora.(none)>
+Date: Wed Jul 23 14:02:33 2008 +0200
+
+ i915: intel_flush_frontbuffer does work
+
+commit b4d198e47704f3b79c5a61877846172ae9d4b4c0
+Author: Younes Manton <younes.m@gmail.com>
+Date: Wed Jul 23 02:28:02 2008 -0400
+
+ g3dvl: Minor fixes.
+
+commit 39793a262f055adf49e6bbd7b74728f744074e8e
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Jul 23 14:14:55 2008 +1000
+
+ nouveau: is_format_supported() interface changes
+
+commit 704dca40c4e0e983c07d84c3a32f8f9dc78a5543
+Merge: 0c25ac5 7f3d6e7
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Jul 23 14:05:22 2008 +1000
+
+ Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1
+
+commit 0c25ac52425e6d6eb037b99ab90f41b47e3f4491
+Author: Younes Manton <younes.m@gmail.com>
+Date: Tue Jul 22 22:26:26 2008 -0400
+
+ g3dvl: Add Nouveau winsys, libdriclient.
+
+ Nouveau winsys is based on Mesa's Nouveau winsys and soft-links to most of
+ it. The 'nouveau_context' and 'nouveau_screen' code contains most of the
+ changes, 'nouveau_winsys_pipe', 'nouveau_swapbuffers' and 'nouveau_lock'
+ contain some minor changes. The driclient library contains the DRI
+ userland stuff, most of which was based on Mesa's DRI code.
+
+commit 90bd0e338d315c426c2d0255331610055023739e
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sun Jul 20 21:30:14 2008 -0400
+
+ g3dvl: Add stubs for some XvMC functions.
+
+ Some of these may need to be implemented on the DDX side.
+
+commit 7f3d6e74817e8880a0712c85f2b41fd88cf6a347
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 22 18:27:56 2008 -0600
+
+ mesa: glsl: rework swizzle storage handling
+
+ Build on the heirarchal approach implemented for arrays/structs.
+
+commit 0d1ed45cbfd555330c8746b0fc046bdb41d767d0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 22 17:38:55 2008 -0600
+
+ mesa: fix uninitialized var
+
+commit 11a5c2d4eea69122fd09f272e68afb95143873c6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 22 15:17:10 2008 -0600
+
+ mesa: glsl: implement constructor functions for user-defined types
+
+commit e4139657e0ac40febef1f5e229317aa58b032261
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 22 11:54:22 2008 -0600
+
+ mesa: remove stray debug assertion
+
+commit 97988ccc46c0248177cd71937021ca8cc2a7452b
+Author: Jesse Barnes <jbarnes@jbarnes-t61.(none)>
+Date: Tue Jul 22 09:39:23 2008 -0700
+
+ intel: fix buffer swaps and enable page flipping on 965
+
+ Some buffer swap intel render buffer fields (pf_num_pages & vbl_pending) are
+ also used for page flipping, so enable the code that sets & updates them on
+ 965. This allows buffer swaps and page flips to work on 965 and prevents hangs
+ in LOCK_HARDWARE in the buffer swap case due to an uninitialized vbl_pending
+ field.
+
+ Fixes FDO #16118.
+
+commit 51d219dbfe6852d348755574184639940af444e3
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Tue Jul 22 17:14:54 2008 +0200
+
+ tgsi: Fix immediate usage checks.
+ Provide more info for register usage errors/warnings.
+
+commit 7467a943fc7aeca050014424d5bb2e3ca30c1a04
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Sun Jul 20 10:49:48 2008 +0200
+
+ add env var to override msaa visual selection
+
+commit 63025ec726eb6d3e9a3140f3928a8fc8840c806f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jul 21 20:42:05 2008 -0600
+
+ mesa: fix glUniform error checking for samplers
+
+commit e3ca92aa28e2bf28e72cea340d9c8d5c9bb48089
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 15 19:54:25 2008 -0600
+
+ mesa: refactor: move _mesa_Bind/Gen/DeleteProgram() to arbprogram.c
+
+ No API-level functions now in program.c.
+
+commit 883097053d1d3550cab92362a07f413e110520ae
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jul 22 09:45:10 2008 +0900
+
+ win32kprof: Store the profile data as an caller->callee hash table, instead of a trace.
+
+commit 4db631a3994ed2f5b7cf6e4ac6c08c0a4c091730
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Jul 21 19:38:25 2008 +0900
+
+ gallium: Open a new file when existing profile memory map is exhausted.
+
+commit 2fafe29793eca081e110276b6e6fbde39f5b90e1
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Jul 21 19:37:16 2008 +0900
+
+ win32kprof: Generate callgraphs.
+
+ Relies on gprof2dot.py.
+
+commit ac25408c4773bb75cf6926251e01095ce7928fc0
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Jul 21 13:02:07 2008 +0900
+
+ win32kprof: Convert tabs to spaces.
+
+commit 1662be376465c22461f03ef01dad16cef70f746a
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sun Jul 20 23:32:00 2008 +0900
+
+ win32kprof: Consider the section alignment when estimating the image base.
+
+commit 4d38d86b2c5e572b1ea5ff4a5a84acb7ab5b87fc
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Jun 16 13:19:41 2008 -0400
+
+ add edge detection to that example
+
+commit ec9c79a7dd468f3bd0483d3a9d59809bf019e54b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 21 17:18:22 2008 -0600
+
+ mesa: initial support for GLSL struct/array comparisons
+
+commit c9a7ee2d0044c01aeb6646f0235b030ccd7ba844
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 21 16:04:56 2008 -0600
+
+ mesa: added null ptr check (error handling case)
+
+commit 5ba32b79d8df3403212888dbdc669abf9d783359
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 21 16:04:24 2008 -0600
+
+ mesa: fix +=, -=, etc. operators
+
+commit 467e6526a8210e90cf47362b1b4b87b7d49e009d
+Author: Jonathan White <jwhite@tungstengraphics.com>
+Date: Mon Jul 21 15:34:38 2008 -0600
+
+ gallium: Temporary workaround for mismatched pipe create and pipe destroy
+
+commit 7e8f79e39dfb4ba0072e9d34e7fba958e3710f5b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 21 14:23:33 2008 -0600
+
+ mesa: remove an error check for NV_v_p that doesn't apply to ARB_v_p
+
+commit 70d3928f6366c94b147d768d55eaa7d1f45462bd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 21 14:16:07 2008 -0600
+
+ mesa: fix some issues in _mesa_validate_program()
+
+commit fbf26e109b1e96aa4eeca018198ff0b5a71e557b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 21 13:58:50 2008 -0600
+
+ mesa: assorted glsl uniform/attribute fixes
+
+ Fix incorrect uniform/attribute size query results.
+ Add missing error checking for glUniform, glUniformMatrix params
+ Fix an array size/allocation error.
+
+commit b993d539a76e7f1446890a85e4b61deec4d4162d
+Author: Pawel Pieczul <Pawel.Pieczul@intel.com>
+Date: Mon Jul 21 10:57:20 2008 -0700
+
+ 965: Fix color clamping issues
+
+commit d8cbac5330cfcdf66c9448ee339975869097a262
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 21 10:25:02 2008 -0600
+
+ mesa: remove debug code
+
+commit 77497eb73b9aa349f41f3bcb493d84610e302371
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 21 09:01:21 2008 -0600
+
+ mesa: revert building glslcompiler by default
+
+commit 1753ff9872562bc05aff2472fc1256539085bbfc
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Mon Jul 21 14:38:57 2008 +0200
+
+ tgsi: Update Makefile to include tgsi_iterate.c
+
+commit a3616067fee97f06fb52131ac13c39aeca6dc06a
+Author: Ben Skeggs <skeggsb@nisroch.keine.ath.cx>
+Date: Mon Jul 21 19:05:55 2008 +1000
+
+ nv50: add NV86 and NV94 to list of "supported" chips
+
+commit c243573fafe8e83d4964535b201c499164d7c172
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sat Jul 19 16:22:56 2008 -0400
+
+ g3dvl: Fix some memory leaks in the winsys.
+
+commit 8878d8d4b35c9550632f5684bdc97f3958bf43c5
+Author: Younes Manton <younes.m@gmail.com>
+Date: Thu Jul 10 00:32:18 2008 -0400
+
+ g3dvl: Minor SP winsys cleanup.
+
+commit b3c8d0c348c5d894e4df0314f060361893bdd38e
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sun Jul 20 21:58:07 2008 +0200
+
+ tgsi: Parse source register extended swizzle.
+
+commit 9d068d4b90813d5afa243d669e8437b8922ac656
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sun Jul 20 21:38:20 2008 +0200
+
+ tgsi: Add support for branch instructions with target labels.
+
+commit 25a7f422b4e307dce966220d47794fb056d04aac
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sun Jul 20 21:28:28 2008 +0200
+
+ tgsi: Warn if an indirect register not ADDR[0].
+
+commit 73e1d0be756537376495547bc1e798805884b8ef
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sun Jul 20 21:23:04 2008 +0200
+
+ tgsi: Add support for indirect addressing in dump, sanity and text modules.
+
+commit 613f0df64dd2c2db71dd73b595225016ae596576
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sun Jul 20 19:29:52 2008 +0200
+
+ tgsi: Remove redundant code.
+
+commit 83f245bd242cd2c5f59f072095dcc47aa6153b21
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sun Jul 20 16:43:26 2008 +0200
+
+ tgsi: Use tgsi_iterate in tgsi_dump.
+
+commit 57482e1549e131fa1aebd442a677a95909b22508
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sun Jul 20 16:42:57 2008 +0200
+
+ tgsi: Keep version and processor info in iterate_ctx.
+
+commit fef7f2b070ab797f78ebc210bb40a24685c6d4b7
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sun Jul 20 16:42:43 2008 +0200
+
+ tgsi: Fix error handling.
+
+commit 82f11f7e7c0bbe0452da65f08195c2a346f820e9
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sun Jul 20 16:28:59 2008 +0200
+
+ tgsi: Tidy up and fix tgsi_dump.
+
+commit 307a252d1529e8e9ffa10c88cc8f5d5412f587f5
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sun Jul 20 16:12:44 2008 +0200
+
+ tgsi: Fix dump enums.
+
+commit 15c902455fe1b4572e614bf30912d92fe9c7bb28
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sun Jul 20 16:08:36 2008 +0200
+
+ tgsi: Preserve flags parameter for tgsi_dump().
+
+commit 5e9ea9d938e9734524707e46be29e243e96f32a9
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sun Jul 20 16:07:06 2008 +0200
+
+ scons: List util/tgsi_dump_c.c.
+
+commit 5ded4ffc506eb051b151d3e8b1e71b13576e951a
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sun Jul 20 16:01:50 2008 +0200
+
+ tgsi: Split tgsi_dump into two modules.
+
+commit 2170ec9048eab751828700728c1cc8264c860229
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sun Jul 20 18:11:43 2008 +0900
+
+ pipebuffer: More detailed description of bufer over-/undereflows.
+
+commit 5853b6c2fe10223738a15d294e2a1605ec076953
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sun Jul 20 09:28:27 2008 +0900
+
+ python/tests: Check support for non-pot/non-square textures.
+
+commit 43df2fe2d9fe242174aba58b5de191c3d1fff212
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sun Jul 20 09:27:48 2008 +0900
+
+ gallium: Fix typo in function name.
+
+commit 939be248fed849f637b44587717d41199082d5fd
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sun Jul 20 09:27:27 2008 +0900
+
+ raw2png: Handle r5g6b5 format.
+
+commit b1d6ff1afd3ec8460f746c76764dc89f9cd70556
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat Jul 19 12:30:54 2008 +0900
+
+ python/tests: Specify the right texture target when querying formats.
+
+commit 8aafc03b260ab8923f1b373f7effa75bcdb40a72
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat Jul 19 12:04:37 2008 +0900
+
+ gallium: Finer grained is_format_supported.
+
+commit ff26c50153b3a348b35843262ceb27062ab37214
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat Jul 19 11:52:41 2008 +0900
+
+ tgsi: Make tgsi_sanity return TRUE on success as documented.
+
+commit 1a8ceb3828c64fb758955c85a1d3d06f53f15ed5
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat Jul 19 08:38:35 2008 +0900
+
+ gallium: Move PIPE_TEXTURE_USAGE* to p_defines.h
+
+commit 72e57b52f02db17d47dce23abedea72a47af806e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 18 19:46:19 2008 -0600
+
+ mesa: glsl: various writemask/swizzle improvements and clean-ups
+
+commit 7218626cf5ecc00fc7ef994253c20c9a2df35cc2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 18 14:44:01 2008 -0600
+
+ mesa: rework array/struct addressing code.
+
+ The slang_ir_storage type now has a pointer to parent storage to represent
+ storage of an array element within an array, or a field within a struct.
+ This fixes some problems related to addressing of fields/elements in non-
+ trivial cases. More work to follow.
+
+commit a4fd90e3255ea531f2fe0693f00f342f4610cae3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 18 12:53:31 2008 -0600
+
+ mesa: regenerated file
+
+commit 2b3515c5b21a417cf32c5259b93da4deb2a951c6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 18 12:52:24 2008 -0600
+
+ mesa: fix some GLSL /= int operators
+
+ plus add a few more special constructors to improve code quality.
+
+commit b64882d0f8674df3e4e60f5786eb48027518c279
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 18 12:51:39 2008 -0600
+
+ mesa: fix set_program_uniform_matrix(): need to loop over matrix count
+
+commit 99fe0c222c2853a612b73aa6fcffb0a532ce5747
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Fri Jul 18 12:40:04 2008 -0700
+
+ intel-gem: Bump driver date
+
+ Bump the driver date and insert the string "GEM". When running tests,
+ this make it much easier to know that the right driver is being used.
+
+commit 776c60d3c33b05f59181a2052a9f03147bc51111
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Fri Jul 18 07:40:41 2008 -0700
+
+ autoconf: Support Motif widgets in GLw with --enable-motif
+
+ Add an --enable-motif option, which will enable the Motif widgets in
+ libGLw and link it with libXm. The Motif installation information will
+ be gathered from the motif-config script (this comes with LessTif) or
+ fallback to the standard autoconf checks.
+
+ To allow the location of the Motif headers to be set from configure, the
+ default setting of -I/usr/include/Motif1.2 has been moved into
+ configs/default and then passed to the Makefile through the MOTIF_CFLAGS
+ variable.
+
+commit 583b9ccbd5961678fa7e594c3117d7c895ef6b41
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Jul 18 22:22:22 2008 +0900
+
+ gallium: Add a pf_is_ycbcr utility function.
+
+commit b4b7326717d3253656f9702fc04f06f8d210a6aa
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Fri Jul 18 17:40:11 2008 +0800
+
+ intel: fix texture border issue. (bug #16697)
+
+commit 3ca935d9efaef4dd9746d3b2207e329b77bb1018
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Jul 18 10:12:07 2008 +0900
+
+ python/tests: Extend the texture tests to cover volumes.
+
+commit bfee84df8665a474fa025150f57d896bf1aa6bae
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Jul 18 10:11:29 2008 +0900
+
+ python: Add methods to get texture width, height, etc.
+
+ SWIG does a poor job with arrays inside structures.
+
+commit 1e5419fa3061386413a98b75d0908cb3e3c6894e
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Fri Jul 18 00:41:45 2008 +0200
+
+ tgsi: Express tgsi_sanity in terms of tgsi_iterate.
+
+commit e1fd3ea415db1bc80d0bc6d94645eaac60bb4121
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Fri Jul 18 00:40:28 2008 +0200
+
+ scons: List util/tgsi_iterate.c.
+
+commit 638ecbda3eed8319ce82be9c119ca1f96f21d976
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Fri Jul 18 00:39:23 2008 +0200
+
+ tgsi: Add tgsi_iterate_shader utility.
+
+ Walks the token stream and invokes callbacks.
+
+commit 3bfedb7ed4a35cfcc7187bc22314833ef1d96ec9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 17 15:40:10 2008 -0600
+
+ mesa: build the stand-alone glslcompiler by default, update the docs
+
+commit f2053cfa1ac4e4e2e0083670aac5df766adad5f9
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Thu Jul 17 20:40:13 2008 +0200
+
+ tgsi: Fix parsing an instruction with no operands.
+
+commit 10d1dc68a413eaf642bf1bda2e5452835f7b7050
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Thu Jul 17 20:23:26 2008 +0200
+
+ tgsi: Perform a sanity check after reading a shader from text.
+
+commit 3c5ec98e45880d6a896f3c094f8004000f50a149
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Thu Jul 17 20:22:47 2008 +0200
+
+ scons: List util/tgsi_sanity.c.
+
+commit 2727702b1731a478de8806481416080d02af5862
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Thu Jul 17 20:19:40 2008 +0200
+
+ tgsi: New file.
+
+commit e74f94b39ac47a319ee21c526315fb6fbc1513de
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Jul 18 01:08:06 2008 +0900
+
+ python: Reimplement the generation of random texture samples in C.
+
+commit 174c6912d68a954ff5eddf8b953b813e2eac3deb
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Jul 17 22:54:14 2008 +0900
+
+ gallium: Expose the ability to get a tile outside a surface.
+
+commit 6a65a0d9efb82b11cafe5b411abddd57a4fb838a
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Jul 17 11:26:53 2008 +0900
+
+ gallium: Be less verbose with debug options messages.
+
+commit c76787a1dcfa10b00fae5ac7f3d71dda758123cf
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Jul 17 11:25:20 2008 +0900
+
+ scons: Set default LIBS env var.
+
+commit 381e3489c21c177d87bac9d7cdbfe7e2611772e5
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Jul 17 11:23:43 2008 +0900
+
+ scons: Convert tabs to spaces.
+
+commit d398e1360d5c1c0f44a4ba9cd167c39a29ce8254
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Jul 17 10:27:10 2008 +0900
+
+ python: Reimplement tile comparison in C to speed up tests.
+
+commit 73b8ee412110598b5c54ac695fcfce2878fdbe07
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 17 10:09:04 2008 -0600
+
+ mesa: regenerated file
+
+commit d9f4d04111133a7dab5e645021e56245febea2ae
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 17 10:03:10 2008 -0600
+
+ mesa: fix/improve the atan(y,x) function
+
+commit 457bb10cee6a2f6f7b7e320f066a26e24e13c550
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 17 10:03:25 2008 -0600
+
+ mesa: regenerated file
+
+commit 91de7b6cd30ad5ec00dd94ea4a56ec0c9056948f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 17 10:03:10 2008 -0600
+
+ mesa: fix/improve the atan(y,x) function
+
+commit 8336fbc35c990f6bce0ee997acae8652cd44fd97
+Author: Brad Smith <brad@comstyle.com>
+Date: Thu Jul 17 08:16:19 2008 -0600
+
+ mesa: added checks for OpenBSD
+
+commit f49d345a51bb208fee19fc25762bcdb0e7f67174
+Author: Brad Smith <brad@comstyle.com>
+Date: Thu Jul 17 08:15:57 2008 -0600
+
+ mesa: added checks for OpenBSD
+
+commit f610deed37dc09922eaef1c55e3d4afe8aaa7327
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Jul 17 08:21:58 2008 +0900
+
+ python/tests: Cover all last_level combinations.
+
+commit 0138435643d77478f5e06ef4572e704e0230163b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 16 16:27:14 2008 -0600
+
+ mesa: regenerated file
+
+commit 33a25729e8d7563ac181303c6a8f69f35155f059
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 16 16:04:43 2008 -0600
+
+ mesa: fix temp re-use bug in emit_arith()
+
+commit 082cde143b880d4c87f11680b3a40a8e09c44367
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 16 14:47:21 2008 -0600
+
+ mesa: fix copy&paste errors in degrees() functions
+
+commit e4f3770690129dc1ea683fadbe07f1fbc49cf271
+Author: Jonathan White <jwhite@tungstengraphics.com>
+Date: Wed Jul 16 16:10:57 2008 -0600
+
+ mesa: WinCE fixes
+
+commit ab8f838060c7d30b8b18cac600c4b1d97ecf3f6c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 16 16:04:43 2008 -0600
+
+ mesa: fix temp re-use bug in emit_arith()
+
+commit a1e55dcd9c1287f9a2181b6136d8febae3a4d74c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 16 14:48:21 2008 -0600
+
+ mesa: regenerated files
+
+commit bd09676de5ad0db97159046d94e2ca72317059de
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 16 14:47:21 2008 -0600
+
+ mesa: fix copy&paste errors in degrees() functions
+
+commit ebcdbff6f1f6fa4749e88f9984b0df784a3d9a0c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 16 14:27:50 2008 -0600
+
+ mesa: implement grammar/parsing for precision/invariant syntax
+
+ Plus, fix some issues with pre-defined preprocessor symbols and version checking.
+
+commit 7a0b79fe3632ca45def56679868473334ef1e194
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Jul 16 20:14:42 2008 +0200
+
+ mesa: Silence compiler warnings on Windows.
+
+commit 29cb89d0c2cb17e2fa38563fc93794a6ebd75cf9
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Wed Jul 16 10:37:49 2008 -0700
+
+ intel: Clean-up ARB_texture_env_crossbar
+
+ Enable support for ARB_texture_env_crossbar in the master extension
+ list instead of in every single device-specific list.
+
+commit 442c195c4afce2509130a718c44a69a5b009979e
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Wed Jul 9 08:57:02 2008 -0700
+
+ Remove redundant initalization of MaxTextureUnits
+
+commit 26df49cd7a67aa9dc26e9cf271d6ed121f08f95d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 16 10:34:50 2008 -0600
+
+ egl: set EGL_SAMPLES, EGL_SAMPLE_BUFFERS config attribs
+
+commit 479a807e01bc980aa2a3c9c56c20ba53cc6e7d60
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 16 10:23:28 2008 -0600
+
+ mesa: add GL_POLYGON_OFFSET_POINT/LINE/FILL queries, remove GL_TEXTURE_ENV_COLOR, GL_TEXTURE_ENV_MODE
+
+ Issues found by Bob Ellison.
+
+commit 7d13dded5c581c2a1741252b1ef04f7ae4a9627b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 16 10:23:28 2008 -0600
+
+ mesa: add GL_POLYGON_OFFSET_POINT/LINE/FILL queries, remove GL_TEXTURE_ENV_COLOR, GL_TEXTURE_ENV_MODE
+
+ Issues found by Bob Ellison.
+
+commit 7f32834df3c428fa283e966982926c94630b1b8e
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Jul 16 23:27:15 2008 +0900
+
+ python/tests: Extend the texture tests to cover cube maps.
+
+commit 1049e65240539228f64a91cc7b55af37bbd0417b
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Jul 16 23:26:23 2008 +0900
+
+ python: Set PIPE_TEX_MIPFILTER_NONE by default.
+
+commit 32fe752d31a07293ad68cccb2fffbbfef32ab449
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Jul 16 19:36:59 2008 +0900
+
+ python: Test all miplevels.
+
+commit 78d18bb690d47eba6d13f8f154e64f1c33ef29fd
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Jul 16 19:36:36 2008 +0900
+
+ gallium: ycbcr_get_tile_rgba allow reading an uneven number of pixels from yuv surfaces.
+
+commit 70b1ff9ff39ca29bdbd25b31ebb183eea683d625
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Jul 16 14:11:45 2008 +0900
+
+ python: Expand the texture test suit to cover one YUV and one DXT format.
+
+commit 61c4de53c360fd2893b0490075d760f2ca3bac33
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Jul 16 14:10:51 2008 +0900
+
+ python: Silent debug output.
+
+commit fbf0f6bd4d6ec20ead2797042866e6e910cd0f77
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Jul 16 14:10:35 2008 +0900
+
+ gallium: Add pf_is_compressed utility function.
+
+commit 0c2c0a862c40c0ed39a9ac52344d22c8a7c8b100
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Jul 16 14:10:10 2008 +0900
+
+ softpipe: DXT formats not really supported.
+
+commit 99233e483d38aedb929ceff3f2ebc9340b42eb3a
+Author: Blair Sadewitz <blair.sadewitz@gmail.com>
+Date: Tue Jul 15 17:21:43 2008 -0600
+
+ additional preprocessor checks for stdint.h, inttypes.h, etc
+
+ The patches to glext.h and glxext.h have been sent to Khronos/bugzilla.
+
+commit b4adb9e1de6728febbb758d6633edf765868153e
+Author: Blair Sadewitz <blair.sadewitz@gmail.com>
+Date: Tue Jul 15 17:12:23 2008 -0600
+
+ mesa: added test for __NetBSD__
+
+commit 45209baf5d0234c5c70cf2b581c9fda9f73b4eac
+Author: Blair Sadewitz <blair.sadewitz@gmail.com>
+Date: Tue Jul 15 17:11:33 2008 -0600
+
+ mesa: added test for __NetBSD__
+
+commit b7c54945fe212811d9749b623f582569522bc440
+Author: Blair Sadewitz <blair.sadewitz@gmail.com>
+Date: Tue Jul 15 17:21:43 2008 -0600
+
+ additional preprocessor checks for stdint.h, inttypes.h, etc
+
+ The patches to glext.h and glxext.h have been sent to Khronos/bugzilla.
+
+commit ece7183ff1b1bba1ae8e41b143e2ccbc38376dc3
+Author: Blair Sadewitz <blair.sadewitz@gmail.com>
+Date: Tue Jul 15 17:12:23 2008 -0600
+
+ mesa: added test for __NetBSD__
+
+commit 4c6dcbf091b5a83c2b75e8b42299497b1b187109
+Author: Blair Sadewitz <blair.sadewitz@gmail.com>
+Date: Tue Jul 15 17:11:33 2008 -0600
+
+ mesa: added test for __NetBSD__
+
+commit e6218d071db46cbf98486f97b238cccf78c4aefa
+Author: Blair Sadewitz <blair.sadewitz@gmail.com>
+Date: Tue Jul 15 17:06:17 2008 -0600
+
+ mesa: check for __INTERIX to typedef uintptr_t
+
+commit 546c7fb221e2d0b7e56fb390f6e911a5f515328c
+Author: Blair Sadewitz <blair.sadewitz@gmail.com>
+Date: Tue Jul 15 17:05:28 2008 -0600
+
+ mesa: extra braces
+
+commit 461e17880650500cdbb35133ba12c3b809b778f1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 15 16:55:23 2008 -0600
+
+ mesa: regenerated file
+
+commit 716f70d7826c15cfaf09653ae525286f3eb59a07
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 15 16:04:26 2008 -0600
+
+ mesa: add missing IR_LOG2 case
+
+commit b0d173f4053ee006717fb1c04cf12d1d687052e6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 15 15:32:53 2008 -0600
+
+ mesa: fix some broken /= operators
+
+commit 8c653f6e093624bfdef47ca83728465c86f338b7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 15 15:03:42 2008 -0600
+
+ mesa: fix some broken bool, bvec2, bvec3, bvec4 constructors
+
+commit 7d7d114e5963abf57ad50159524f830e430ec51d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 15 14:41:47 2008 -0600
+
+ mesa: fix storage size computation in emit_arith()
+
+commit 178726ebced83809ce42973f7225a1a5b9794f41
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 15 16:04:26 2008 -0600
+
+ mesa: add missing IR_LOG2 case
+
+commit 9d43e387a3391b091f0a22710a7414a52eafae33
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 15 15:33:04 2008 -0600
+
+ mesa: regenerated file
+
+commit e35329c701bfc36f73aaedb84ea1b704d660bd0f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 15 15:32:53 2008 -0600
+
+ mesa: fix some broken /= operators
+
+commit 0bafe4b771f0a3e3dbfe16573a6cd3a7cb4244cd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 15 15:04:15 2008 -0600
+
+ mesa: regenerated file
+
+commit 5e8e532cd026fe22d1fce88299a6d4d4ddcda71d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 15 15:03:42 2008 -0600
+
+ mesa: fix some broken bool, bvec2, bvec3, bvec4 constructors
+
+commit 5bf89cf2c399e40b3d5dc8cf03f03db70f50e777
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 15 14:41:47 2008 -0600
+
+ mesa: fix storage size computation in emit_arith()
+
+commit a5f02368d2a9ab1f814eba2c997729c6c655fc5e
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jul 15 13:14:18 2008 -0700
+
+ intel-gem: Disable spantmp sse/mmx functions when tile swizzling.
+
+ Those functions rely on being able to treat the GET_PTR returned value as an
+ array indexed by x, but that's not the case for our tiling.
+
+ Bug #16387
+
+commit f006358d56e6b24c3e32665e088d5ee11877ec2c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 15 13:27:44 2008 -0600
+
+ gallium: added some sanity check assertions
+
+commit f6152c35101311c2b128eb23b25b3f38d9e8b5be
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 15 13:25:57 2008 -0600
+
+ mesa: fix some function inlining bugs
+
+ Need to add local vars of original function to the new scope's variable
+ list (though the DECLs were already present).
+ In slang_operation_copy() call slang_replace_scope() for SLANG_OPER_BLOCK_NEW_SCOPE opers.
+
+commit bc4b1ca5636e68a6e6b0e3f88e9ff6b888837656
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 15 13:11:08 2008 -0600
+
+ mesa: improved printing
+
+commit 27e3f7f21d4405edbdbe98b5b62b1eaeec0d4aab
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Tue Jul 15 11:06:31 2008 -0700
+
+ glx: Update my e-mail address. :)
+
+commit 67108adb48f3be927d7fb92ba8f6bd5c9d165222
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Tue Jul 15 11:06:04 2008 -0700
+
+ glx: Trivial clean-ups to __glXSetArrayEnable
+
+commit f9c574d7192d2193ff3e12629a8db1a74b6dbf55
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Tue Jul 15 11:44:47 2008 +0200
+
+ mesa: Silence compiler warnings on Windows.
+
+commit 6c534b830c6f5427c391c5225c34561141c201ba
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Tue Jul 15 11:26:38 2008 +0200
+
+ st: Silence compiler warnings on Windows.
+
+commit 090e212c0c5e54156c3c33f7eecdfe01398a7222
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Tue Jul 15 11:15:27 2008 +0200
+
+ mesa: Silence compiler warnings on Windows.
+
+commit 3392bcaaa823bd791e8d7e4c5a7ce013831899bb
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jul 15 17:57:48 2008 +0900
+
+ python: Cleanup.
+
+commit ee470020e17bc4999f3540fbad49fe645a4b914e
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jul 15 17:14:07 2008 +0900
+
+ python: Request/respect the texture & buffer usage flags in the examples.
+
+commit d5ed158dc87669f62bb7d3fb65c23fb2a465442b
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jul 15 17:13:37 2008 +0900
+
+ python: Get object ownership done correctly.
+
+commit 9a99b19949e407528b5b40309efd344672de8f6f
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jul 15 12:17:35 2008 +0900
+
+ python: Don't use python cflags as they conflict with existing flags.
+
+commit 1d03102b319f7bca2bf76c5d6e3996dc87f03634
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jul 15 08:42:16 2008 +0900
+
+ python: Allow hardware support.
+
+commit 2c4349aa3ac9a6d5ee1f7b1aeb5eb0ee1cb54690
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jul 15 07:56:42 2008 +0900
+
+ python: Move the python scons code to a separate tool module.
+
+commit ead8fcd92a737c7184020768203496a08eb3b7dd
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jul 15 00:33:54 2008 +0900
+
+ python: Get it to build on windows too.
+
+commit c60e009a9138a573d2219ee2ad85e3203b09a7ae
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Tue Jul 15 10:56:30 2008 +0200
+
+ tgsi: Numerical label before an instruction is optional.
+
+commit 6eb7f763fbbbb7a32640760cd5d122020866fea1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 14 18:08:52 2008 -0600
+
+ tgsi: fix bug in execution of loops inside of conditionals.
+
+ Fixes infinite loop bug.
+
+commit ec698034d1a7cc390ce8eda8a28732fa40ff80ec
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 14 15:58:57 2008 -0600
+
+ mesa: assemble main() after all other functions
+
+ Before, main() had to come after any functions it called.
+
+commit 51654783ef0aa48560f70cd3944128a94a87d86b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 14 11:20:58 2008 -0600
+
+ mesa: comments about vectors vs components
+
+commit f214a848abb7cefb3d2c0bb7d172d54deeb05308
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 14 15:59:44 2008 -0600
+
+ mesa: assemble main() after all other functions
+
+ Before, main() had to come after any functions it called.
+
+commit 946abd9b5a55f999ef21f807769f5fb81b10a426
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Jul 14 13:55:37 2008 -0700
+
+ i915: fix build after previous commit.
+
+commit e7fd3de9277a0c5efe52966908da8e4e7f1995ee
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 14 12:09:07 2008 -0600
+
+ egl: set EGL_CONFORMANT, EGL_RENDERABLE_TYPE config fields, fix null ptr crashes in MakeCurrent
+
+commit 2833d4e715d613384e413fe113d608b8daf0460d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 14 09:55:33 2008 -0600
+
+ mesa: fix stencil state problem when GL_ATI_separate_stencil wasn't enabled
+
+ In glStencilFunc/Op/Mask() set both the front and back-face state, unless
+ GL_EXT_stencil_two_side is enabled. Before, we only set the front+back state
+ if GL_ATI_separate_stencil was enabled.
+
+ Ultimately, we probably should remove GL_EXT_stencil_two_side since it's
+ incompatible with GL 2.x.
+
+commit c62cb6be6c0e67a94320e3f25c182b07b3e78056
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 14 09:51:35 2008 -0600
+
+ mesa: fix stencil state problem when GL_ATI_separate_stencil wasn't enabled
+
+ In glStencilFunc/Op/Mask() set both the front and back-face state, unless
+ GL_EXT_stencil_two_side is enabled. Before, we only set the front+back state
+ if GL_ATI_separate_stencil was enabled.
+
+ Ultimately, we probably should remove GL_EXT_stencil_two_side since it's
+ incompatible with GL 2.x.
+
+commit 4430597bf6944951136a16c39a7bc458dc926800
+Author: Guillaume Melquiond <guillaume.melquiond@gmail.com>
+Date: Mon Jul 14 08:50:36 2008 -0600
+
+ fix gltrace (bug 16691)
+
+commit 6852ef64f34e5cdcd7f2b3f16f2db74f4d35868e
+Author: Julien Cristau <jcristau@debian.org>
+Date: Sun Jul 13 17:27:58 2008 +0200
+
+ glu: only export public symbols
+
+commit 270b2a5c54c581019af5abd1fce966c1148cc168
+Author: Julien Cristau <jcristau@debian.org>
+Date: Sun Jul 13 17:13:32 2008 +0200
+
+ mklib: don't version symbols when using --exports
+
+ Use the default version instead of one based on the library SONAME
+ in the version script created by --exports.
+
+commit 0a7df3794c35ed53c0243ec2b5e954debedfdfe6
+Author: Julien Cristau <jcristau@debian.org>
+Date: Sun Jul 13 17:27:58 2008 +0200
+
+ glu: only export public symbols
+
+commit f7eb0cec69f35c88baa82b8366b37964269feb92
+Author: Julien Cristau <jcristau@debian.org>
+Date: Sun Jul 13 17:13:32 2008 +0200
+
+ mklib: don't version symbols when using --exports
+
+ Use the default version instead of one based on the library SONAME
+ in the version script created by --exports.
+
+commit 2f5cd68797ee4a159fa0a5fc4d315e4d3f2f644e
+Author: Blair Sadewitz <blair.sadewitz.gmail.com>
+Date: Mon Jul 14 08:16:46 2008 -0600
+
+ mesa: also check for __NetBSD__
+
+commit a63b90712aad81d544eb8931493a6c4a7805f7fb
+Author: Blair Sadewitz <blair.sadewitz.gmail.com>
+Date: Mon Jul 14 08:15:10 2008 -0600
+
+ mesa: also check for __NetBSD__
+
+commit 62db707a3dd4bf821b189e937fa133009007a2b5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 9 15:58:31 2008 -0600
+
+ mesa: check for null shader->Source
+
+commit 64979d618a24e8378d95944d5f1d1b5847880a48
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Jul 14 22:27:40 2008 +0900
+
+ python: Basic test case for 2d texture.
+
+commit 3aea28b9b1e9100be6836d4f88444e3cdfe5c4be
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Jul 14 22:26:40 2008 +0900
+
+ python: Raw tile access to surface.
+
+commit 5e600209f4908ece2ba8b7f880e1d7e950d2cfb4
+Author: Chris Rankin <rankincj@yahoo.com>
+Date: Mon Jul 14 10:09:58 2008 +0200
+
+ radeon: SetTexOffset support
+
+ This patch is a straightforward duplication of the R200 SetTexOffset code,
+ except that there is no big-endian tx_table[] array.
+
+commit 00cd96b68f21cb281aa30199f520aae8b2f93083
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Jul 14 12:40:50 2008 +0900
+
+ python: Get the sample app to draw triangle like trivial/tri exanple.
+
+commit f07ad529af96b903e7b19fa26c3372d16b507bf1
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Jul 14 11:44:21 2008 +0900
+
+ python: Surface clears.
+
+commit 3679f690230b9691157d44cfa5baf947d84e1487
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Jul 14 11:38:44 2008 +0900
+
+ python: Set default state.
+
+commit 05a23e6c6f08d4d901dc9fc9995b3444fa6355dd
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Jul 14 10:45:40 2008 +0900
+
+ python: Allow to create/specify shaders.
+
+commit 93115c4b235896df097b91edec7458a8a4488c4e
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Mon Jul 14 01:03:07 2008 +0200
+
+ nouveau: say goodbye to the old DRI driver...
+
+commit 16c2267d55fb14d0ffcb676540345a14ecc0f323
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Sun Jul 13 18:55:38 2008 +0200
+
+ i915: Ops should not have pushed that
+
+ This reverts commit 930a863c4f6f11d0fd5cf396ef76054d52c69b9f.
+
+commit e59086ab91281cafcae094164bf4d8454df337ae
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Sun Jul 13 18:04:49 2008 +0200
+
+ EGL: Only build EGL dri based drivers under linux-dri based configs
+
+commit d68a3ebf0e7e853cf9680ddbb095fffe7c0fb1f9
+Merge: 1d50e26 6410e94
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jul 14 01:14:52 2008 +1000
+
+ Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1
+
+commit 930a863c4f6f11d0fd5cf396ef76054d52c69b9f
+Author: Jakob Bornecrantz <jakob@aurora.(none)>
+Date: Thu Jul 10 20:20:46 2008 +0200
+
+ i915: WIP swap rework
+
+commit 6410e94b966148dde81b5121e53a250d7b530d91
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sun Jul 13 23:36:59 2008 +0900
+
+ python: New state tracker which exposes the pipe driver to python scripts.
+
+ Still under development. Just barely works.
+
+commit 36dd89c8a7f2a911e8f7f18d1edcaf982a75a438
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sun Jul 13 22:39:58 2008 +0900
+
+ util: Eliminate pipe from the arguments to pipe_get/put_tile_xxx functions.
+
+ You don't need a pipe_context * for this, and all other necessary info is
+ already inside pipe_surface.
+
+commit 17af66fc1a141920969ddf404bd7ffb52a94fb31
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sun Jul 13 22:37:47 2008 +0900
+
+ pb: buffer over/underflows are errors.
+
+commit f5c51ebd2afdfc87de40dca115526a5e0f6ab115
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sun Jul 13 15:23:14 2008 +0200
+
+ tgsi: Parse destination operand modulate modifier.
+
+commit 94013b66b91112f31802c3d935e8d918ba12be62
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sun Jul 13 15:14:31 2008 +0200
+
+ tgsi: Parse extended source register modifiers.
+
+commit 47a45aaa0fd1dbc0de45de2ed2995f81a0154baf
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sun Jul 13 14:50:12 2008 +0200
+
+ tgsi: Parse _SAT and _SAT opcode suffix.
+
+commit a7d8eed61c1fd0bd3d99ebcd10c24bc70f8e3293
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sun Jul 13 14:03:21 2008 +0200
+
+ tgsi: Parse IMM statements.
+
+commit 3d5dcc2203f5018863ad51958871542696e1ed1b
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sun Jul 13 13:13:39 2008 +0200
+
+ tgsi: Parse texture instructions correctly.
+
+commit 46a7843099f02b6dcff56a52c9247c11d5c4aa8b
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sun Jul 13 12:16:16 2008 +0200
+
+ tgsi: Fix instruction operand counts.
+
+commit cfd2bf9fa127a7f0b1a89650fde34a23f318f90c
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sun Jul 13 11:43:30 2008 +0200
+
+ tgsi: Fix instruction opcode parsing.
+
+commit 625034104aacaca793ff373414eff4ee53afc1fe
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sun Jul 13 11:42:33 2008 +0200
+
+ tgsi: Add missing SWZ opcode.
+
+commit ee647b9020b5e16b9b6d399edfa4a2c99f491863
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sun Jul 13 11:37:36 2008 +0200
+
+ tgsi: Parse DCL statements.
+
+commit bd3b47590e2a8e91a8f5545d7c8872b26879c228
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sun Jul 13 11:30:02 2008 +0200
+
+ tgsi: Remove depricated ATTRIB interpolate mode.
+
+commit 92d711e9e6c1934e1cec774bfa4581869530cda6
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sun Jul 13 11:33:41 2008 +0200
+
+ llvm: build fixes.
+
+commit 4fab47b13c214dc79e0ae5d8001521029ce34231
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sun Jul 13 19:00:46 2008 +1000
+
+ glx/dri: only report DRI2 extensions when DRI2 is enabled.
+
+ Fixes bug 15477
+
+commit e81ba58bf4c20229677cdf89b5970b55cefb2199
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sat Jul 12 21:13:03 2008 +0200
+
+ r300_fragprog: Use nqssa+dce and program_pair for emit
+
+ Share almost all code with r500_fragprog now.
+
+ This also fixes Piglit's texrect-many test, which means that the compiz
+ bicubic plugin should work with hardware acceleration now.
+
+commit 3b8081603bf846285e56a6ecafaf182935fd8733
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Sat Jul 12 10:04:44 2008 -0700
+
+ Always pass -linker and -ldflags to mklib for shared libraries
+
+ This just makes the use of mklib more consistent throughout Mesa where
+ we always want to pass the linker and LDFLAGS when we might be making a
+ shared library.
+
+commit db072baaaf6adcd176ea7e4d67b77177de7eca31
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Fri Jul 11 13:54:48 2008 -0700
+
+ Call mklib with $(SHELL) so the user controls the interpreter
+
+ Respect the user's choice of shell when running mklib rather than always
+ using /bin/sh.
+
+commit 4f5d97ee9eae6f2adf27e2297f955b601483d61b
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Tue Jul 8 07:49:31 2008 -0700
+
+ Call minstall with $(SHELL) so the user controls the interpreter
+
+ Running minstall directly means that /bin/sh is always used as hte
+ interpreter. If the user needs or wants to use a different shell fo
+ minstall, they can use the SHELL make variable.
+
+commit 9eee7f260f4474f9eea7384b94619b3f7fee017b
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Tue Jul 8 07:44:58 2008 -0700
+
+ Set $(SHELL) for all configs
+
+ Most make implementations will use /bin/sh as the interpreter for
+ commands and only use a different shell when the $(SHELL) make variable
+ is set. This makes the setting explicit and allows $(SHELL) to be used
+ in the commands themselves.
+
+commit bfb27b5fc020437d95b1185f0fce850209744d92
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Mon Jun 30 09:40:30 2008 -0700
+
+ autoconf: Subsitute SHELL for all platforms
+
+ Establish the shell that make will use from configure. This is exactly
+ how autoconf/automake operate, with the environment variable
+ CONFIG_SHELL respected to override the autoconf checks. In the usual
+ case where the user just executes `./configure', autoconf will pick a
+ shell from the current shell, sh, bash, ksh or sh5 that meets its base
+ criteria.
+
+ The special Solaris case of looking for a POSIX shell has been changed
+ to just set the SHELL variable since autoconf substitutes this already.
+ The EXTRA_CONFIG_LINES substitution is dropped as it should no longer be
+ needed.
+
+commit c415de5e251eb4004b1ef5bc57299032d95c4842
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sat Jul 12 17:10:21 2008 +0200
+
+ scons: List `util/tgsi_text.c'.
+
+commit d0386d55ff257ab09475178d058ddcd9f1e37c2d
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sat Jul 12 17:06:37 2008 +0200
+
+ tgsi: Add tgsi_text utility module.
+
+ Translates textual shader into a binary token stream.
+ The syntax matches the tgsi_dump module, so it's possible to
+ simply copy-paste the shader dump and transform it back
+ to a binary form.
+
+commit 9ea485f8865404e3e2e10cdb3b1627e7194c27fe
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sat Jul 12 17:03:30 2008 +0200
+
+ tgsi: Fix dumping of indirect addressing.
+
+commit 1d50e26f4afc0c7cdcd843a1336a90cdfc76765b
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Sat Jul 12 15:07:02 2008 +0200
+
+ nv30: no npot textures
+
+commit fa167eedeba601f3281655f779331ea9f4eaa5cf
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Sat Jul 12 13:59:24 2008 +0200
+
+ nv30: update caps
+
+commit a9863caefc9ed1ae098ea9033a82dbdc556edd30
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Sat Jul 12 13:59:01 2008 +0200
+
+ nv30: do not shift texture format
+
+commit 12118fcd123992f48ce78629e79e9949b96cd525
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Sat Jul 12 13:16:47 2008 +0200
+
+ nv30: Emit vertex buffer objects using state objects
+
+commit ac44f334e3492ab68eb310cfe43ed22206a042d8
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Sat Jul 12 12:24:37 2008 +0200
+
+ nv30: Move edgeflag stuff
+
+commit 2d766923c45b544cca17c7fefe625715cf1fd1fe
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sat Jul 12 12:20:28 2008 +0200
+
+ r300: Fix saturate mode handling in radeon_program_alu
+
+commit cf0ae102dbc34bf75e853c2ece630fe18dd4d41e
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sat Jul 12 12:04:28 2008 +0200
+
+ r500: Set Saturate correctly in radeon_program_pair
+
+commit 3d0e18ff5fba368a66bf34d18d219bf9a2dfba90
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Sat Jul 12 11:53:10 2008 +0200
+
+ nv30: Reorder, remove useless stuff
+
+commit 4ca346a8c0d0d4ea38705f8d3a3e5e690aa77daf
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Sat Jul 12 11:45:51 2008 +0200
+
+ nv30: Rename state emission func
+
+commit 7279d663e984ae8a243f56c010f175fee9ffccb3
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sat Jul 12 11:16:01 2008 +0200
+
+ tgsi: Add missing copyright headers.
+
+commit 8774fcd89acc9e180e0cb135bd62646f58cb623e
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sat Jul 12 11:11:59 2008 +0200
+
+ r300: Fix input register allocation in radeon_program_pair
+
+ When an input is marked in gl_program.InputsRead but is not actually read
+ in the final program (due to dead-code elimination or whatever), the order
+ of input registers must still match gl_program.InputsRead. This is done
+ even more explicitly now.
+
+commit 9489de99802e635271c1ae84630fc02892af1699
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Sat Jul 12 10:13:58 2008 +0200
+
+ nv30: was setting wrong register
+
+commit b23e20a386729e75492069445bb924412dc29a0c
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Sat Jul 12 10:10:16 2008 +0200
+
+ nv30: does not have vp_attrib/result
+
+commit 11d711df360265f25dc5a96cc3a4c5a2d34f5b64
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sat Jul 12 01:19:19 2008 +0200
+
+ r300: Explicitly set absolute value for the argument of RSQ
+
+ This fixes the last r500 bug related to glean/fragProg1.
+
+commit b6765c34993b08bba4acf20738c8938413ed4daf
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sat Jul 12 01:14:35 2008 +0200
+
+ r500_fragprog: Major refactoring of final emit
+
+ Use an abstracted instruction scheduling and register allocation algorithm
+ that we will be able to share with r300_fragprog.
+
+ Unlike the original emit code, this code tries to pair instructions that
+ only use the RGB part of the ALU with instructions that only use the alpha
+ part. However, the pairing algorithm still has some shortcomings;
+ for example, it doesn't generate optimal code for the emulation of LIT.
+
+commit d8d086c20b5a43353c4980cf234d8329900585f5
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sun Jul 6 19:48:50 2008 +0200
+
+ r500: Add "Not quite SSA" and dead code elimination pass
+
+ In addition, this pass fixes non-native swizzles.
+
+commit 7904c9fad4c2cb2a4153258a9e86e530a0330a78
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sun Jul 6 16:58:51 2008 +0200
+
+ r500_fragprog: Transform trigonometric functions in first pass
+
+commit 2e841880cfc1006a2818d4a8bfefd21136dc39a9
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Jul 11 14:16:36 2008 -0700
+
+ drm-gem: Use new GEM ioctls for tiling state, and support new swizzle modes.
+
+commit b0ef353b4696672ecaea4b370b612bbb482880ca
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri Jul 11 19:23:06 2008 -0400
+
+ R300: update vap_cntl values for NUM_FPUS
+
+ based on info from hw team
+
+commit 740c93a08ce7f5fb43a0f4cd5a50d95459c8aa8e
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Sat Jul 12 00:48:44 2008 +0200
+
+ nv30: Change comment about slowdown
+
+commit 58737dc87575625438d288fe2f816b6a9d2086f1
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Sat Jul 12 00:48:26 2008 +0200
+
+ nv30: Emit fragment program using state objects
+
+commit 2419a5fe3601851989506a11b0bd4e3cfb071035
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Sat Jul 12 00:19:15 2008 +0200
+
+ nv30: Emit vertex program using state objects
+
+commit 80b24166a51f26e7bb341a731ceeb4f85c6cc4cf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 11 15:44:46 2008 -0600
+
+ egl: a minor overhauld of egl_xdri.c
+
+ Rely more on the libGL code to avoid duplicated efforts. Also fix confusion
+ arising from multiple __DRIscreen objects.
+
+commit df2c9424d3b625d6e97528c74051257bc5630a67
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 11 15:43:52 2008 -0600
+
+ glx: added __glXPreferEGL() to tell libGL to prefer "egl_" drivers over regular DRI drivers.
+
+ Also, clean-up, consolidate the dlopen() code a bit.
+
+commit 7986baf7cf5434c0ff8210eedd0be366ab5e8f14
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 10 15:11:01 2008 -0600
+
+ build egl subdirs
+
+commit c7086277546d065eb94ba8dbeca1620605f167ea
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Fri Jul 11 23:17:47 2008 +0200
+
+ nv30: Move constant buffers out of vert/frag prog structures
+
+commit 5acbd0b0961089f9553adbe9b3d1341997ccb220
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Fri Jul 11 22:42:42 2008 +0200
+
+ nv30: Emit fragtex state using state objects
+
+commit b327b064058aaab1debb1af08f4b9abe1385adc6
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Fri Jul 11 22:06:12 2008 +0200
+
+ nv30: split fragprog_upload from fragprog_bind
+
+commit 37a418b3b05db51aea0a1010bad8118b92e0e9d6
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Fri Jul 11 21:31:24 2008 +0200
+
+ nv30: split fragprog_prepare from fragprog_translate
+
+commit 36ac2ade17a1b8f2c47d41945430983834b9ef01
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Fri Jul 11 21:14:32 2008 +0200
+
+ nv30: Update miptree to match latest changes
+
+commit 6e938e4f82755c20472532907cc47c2d501aaee2
+Author: Jakob Bornecrantz <jakob@aurora.(none)>
+Date: Fri Jul 11 20:01:33 2008 +0200
+
+ gallium: Make dri drivers create a egl_name_dri.so if supported
+
+commit 6c44c6d020ce7bc8e65ef69fefa0db4cc6157bed
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Fri Jul 11 10:43:29 2008 -0700
+
+ Remove generated pkg-config files on `make clean'
+
+commit 99803a4ec90d70363305c0652203550d63f086ec
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Tue Jul 1 09:03:15 2008 -0700
+
+ autoconf: Add information about the --x-* options to --help output
+
+ Try to tell the user that the --x-* options are only used when the X
+ libraries can't be found by pkg-config.
+
+commit e97ab72b593278edeac9f9b71b8237a79247c7c7
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Tue Jul 1 08:55:42 2008 -0700
+
+ autoconf: Tell the user about docs/autoconf.html in --help output
+
+ The documentation in autoconf.html is much more explicit about how the
+ different configure options control the build. This adds a notice at the
+ end of the `./configure --help' output to tell the user about it.
+
+commit 7c949fb2a2cd4e9b05efd4133e5ae8ea938934d8
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Jul 11 22:48:11 2008 +1000
+
+ nv50: obey do_flip in surface_copy()
+
+commit 9b0add0be4a3ba7fc72779daf8361d8cd98d9f64
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Jul 11 22:45:11 2008 +1000
+
+ nv50: quick hack to get textures untiled on map, and tiled on unmap
+
+ progs/fp/tri-tex is all good now rather than all scrambled :)
+
+commit 5180a668a7da627a40e024a2ed765458d5bac43e
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Jul 11 22:24:24 2008 +1000
+
+ nouveau: winsys surface funcs deprecated, remove them
+
+commit 866a68dbd1ec9c3a6100de6d50890ac5068247dc
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Jul 11 22:01:29 2008 +1000
+
+ nv50: demagic tex filter / wrap mode
+
+commit 7c745de74997e859d7e2640092bda9ad900e28a9
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Jul 11 21:19:41 2008 +1000
+
+ nv50: add some texture formats
+
+commit 62100692b8ad7fa868743c4698dac109beceaf7f
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Jul 11 20:49:06 2008 +1000
+
+ nv50: split tic construction out into own file
+
+commit 857a3294a959015bf893241199f7fd7f7882a6ab
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Jul 11 20:44:39 2008 +1000
+
+ nv50: add license headers to .c files
+
+commit b52398571b7f5c537c2f5e1c87f1b8bdf3d8ea9b
+Author: Dave Airlie <airlied@linux.ie>
+Date: Fri Jul 11 07:28:55 2008 +1000
+
+ intel: fix batch flushing problem with cliprects handling.
+
+ pointed out and debugged by stringfellow on #dri-devel
+
+commit 5de823c00b484b435eb85f2f9360eb669b768a28
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Thu Jul 10 22:39:56 2008 +0200
+
+ gallium: Re-order the GALLIUM_AUXILIARY_DIRS to satisfy dependencies on util
+
+commit bae90edfdae0eac6c844ede21285453ef96a4f6e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 10 14:23:27 2008 -0600
+
+ gallium: check for FEATURE_feedback and FEATURE_drawpix when creating/using the aux draw module
+
+commit f5cdc657b244ec7840cff1f36892f105b4aa2ef2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 10 13:30:37 2008 -0600
+
+ egl: added EGL_OPENVG_API case (allow all APIs)
+
+commit b101890c150d2ba17a42f5164f0de86914b9b28b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 10 13:29:42 2008 -0600
+
+ egl: add all EGL_*_BITs to ClientAPIsMask
+
+commit a452e0cbdeacdeb60d957eb2ebd2647a3d7a3770
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 10 13:27:30 2008 -0600
+
+ gallium: re-order the GALLIUM_AUXILIARY_DIRS to satisfy .a interdependencies
+
+ libutil.a and libtranslate.a depend on libcso_cache.a so put them in that order.
+
+commit fb3867aec018ba0c0aa548db541236528400d934
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 10 10:48:28 2008 -0600
+
+ egl: implement xdri_eglGetProcAddress() for gallium
+
+ Plus comments, clean-ups.
+
+commit 17e95de85250540c8e2448f138d81b7b055be511
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Jul 11 02:01:23 2008 +1000
+
+ nv50: enable GART usage for vertex buffers
+
+ AKA "I can haz fast b0rk3d glxgears!!!"
+
+commit 7a81ffa1154e6efd09fe91a944514a6f56369b4a
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Jul 11 01:53:28 2008 +1000
+
+ nv50: get clear-scissor working
+
+commit add89c78455f04654c3706d46e3d3e6b92b73b71
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Jul 11 00:21:42 2008 +1000
+
+ nouveau: update to latest object header
+
+commit 861629d1fd4a1d256c913470c33d9522e83d615d
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Jul 11 00:15:01 2008 +1000
+
+ nv50: more "abuse" by using libc malloc etc..
+
+commit 19171ab1d30f14ac0d39894125a3d53a91ca5b89
+Merge: 225863a 64f92e0
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Jul 11 00:05:53 2008 +1000
+
+ Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1
+
+commit 64f92e00c8292113f9a6372959febe903af09db6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 9 15:54:21 2008 -0600
+
+ mesa: check for null shader->Source
+
+commit 811a183a274048158af5f5a05c4d3106dcffd08b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 9 15:08:39 2008 -0600
+
+ mesa: return -1, not GL_FALSE if _glapi_add_dispatch() fails name sanity check
+
+commit 547e487df2a25dc92dc303cb59ed460e2d95a913
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 9 15:52:04 2008 -0600
+
+ mesa: call glutDestroyWindow() on exit
+
+commit eb9efc6ad5544b8c643f81c03fcc09438aa0316c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 9 15:51:18 2008 -0600
+
+ mesa: disable fprintf() error
+
+commit e3b13dba4df0522cce11c55c34a9e3e7d0f3a32c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 9 15:49:59 2008 -0600
+
+ egl: link libEGL w/ additional libs
+
+commit 70b0a949b0af9954359be452febaa44f08052056
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 9 15:47:27 2008 -0600
+
+ egl: misc updates/fixes
+
+ Set surface size when created.
+ Implement dri_find_dri_screen().
+ Look for "egl_xxx_dri.so" library before regular DRI driver.
+
+commit 225863aeb5f2dfe4980ae5887f5623ecb05e9ced
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Wed Jul 9 23:23:39 2008 +0200
+
+ nv30: min/max lod are used for mipmap, there is just enable bit in tx_format
+
+commit ac05da56ec1dd14876dbf3fde37aa951b9215f5b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 9 15:06:36 2008 -0600
+
+ mesa: return -1, not GL_FALSE if _glapi_add_dispatch() fails name sanity check
+
+commit 2fed964a27f208f69edc0b2d9a2d0b0717184ee5
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Wed Jul 9 22:13:01 2008 +0200
+
+ nv30: Update defines from nouveau_class.h
+
+commit 7a838ef411d2f4716bdcbcad9f593541c43a2ce7
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Wed Jul 9 22:03:59 2008 +0200
+
+ nv30: Update defines from nouveau_class.h
+
+commit 456550293a50d72c02ed5ec930c12899e7458a6f
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Wed Jul 9 21:51:22 2008 +0200
+
+ nv30: update nouveau_class.h
+
+commit 93ff702b4f1c6016e249c4d326e71cdc4932f57c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 9 11:46:16 2008 -0600
+
+ gallium: fix logic in pb_check_usage()
+
+commit 520dbdea22442493771763a3a895f9e9039c2a5c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 9 08:48:41 2008 -0600
+
+ mesa: check for OpenBSD (bug 15604)
+
+ cherry-picked from master
+
+commit 57f2d071d1503823867029e4d672c09e6417cc68
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 9 08:47:23 2008 -0600
+
+ mesa: fix state.clip[n].plane parsing bug (bug 16611)
+
+ cherry-picked from master
+
+commit 4ca0af188267ab92f84223acd7f8b957be0cb5f6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 9 08:35:50 2008 -0600
+
+ mesa: fix state.clip[n].plane parsing bug (bug 16611)
+
+commit a2e435054c0d410e92d1e76a23f8d801a606537d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 9 07:48:46 2008 -0600
+
+ mesa: check for OpenBSD (bug 15604)
+
+commit 48b8a32c6dcd259046958b187927ac584b1a564a
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Jul 9 10:20:28 2008 -0400
+
+ egl: plug a small memleak
+
+commit d25709df1d5d9dccdeb173b33a57018004fe849c
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Jul 9 09:29:49 2008 -0400
+
+ draw: remove some debug output
+
+commit 75e4db18049f3284197c9a8deabd9dd74aa7920e
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Wed Jul 9 13:08:09 2008 +0800
+
+ i915: fall back to software rendering when shadow comparison is
+ enabled for 1D texture. fix #12176
+
+commit cdc0b6e5236591ac16ba71867818d63f9f2fd93b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 8 16:58:50 2008 -0600
+
+ mesa: remove debug code
+
+commit 2f1b5ffcda283cebc97bd440b5af44168a9c8b00
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 8 16:52:45 2008 -0600
+
+ mesa: remove debug code
+
+commit e4d9cc94b82090ca6822789458edb2364f271f30
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 8 16:28:33 2008 -0600
+
+ add yet another Makefile
+
+commit ee2a10112323d11ddc613a043761481aa1485f19
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 8 16:26:28 2008 -0600
+
+ bump version to rc3
+
+commit 7d3feef9d6d75ffb7dad51cef37059192a6be4ab
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 8 16:26:06 2008 -0600
+
+ added more Makefiles to file list
+
+commit 2be54a8e8ccb206eeedd319cf48a3c81797b83a4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 8 16:17:04 2008 -0600
+
+ mesa: implement glGetUniformiv() with new ctx->Driver function
+
+ The old implementation could overwrite the caller's param buffer.
+
+commit 44029f15a8c841d0deb3c7b477bc36ca7a9cd3e6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 8 16:16:57 2008 -0600
+
+ added src/mesa/drivers/Makefile to file list
+
+commit 072c47483674021425922132cf6d977090077f8e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 8 16:12:01 2008 -0600
+
+ mesa: implement glGetUniformiv() with new ctx->Driver function
+
+ The old implementation could overwrite the caller's param buffer.
+
+commit 6fe78576291d38108c8815dc33fa44a8ae656f71
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 8 15:12:48 2008 -0600
+
+ mesa: bump version to rc2
+
+commit c71fa34728ef4eddd074aeb2bee49ae6a7acb3d1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 8 15:11:23 2008 -0600
+
+ added null texObj ptr check (bug 15567)
+
+commit fd6cb1b11d526d2e22d51441ab2629a10323e7b4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 8 14:59:36 2008 -0600
+
+ mesa: more debug output
+
+commit d14b7890a44fe7a3bccd9152645f50b0edb850d8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 8 13:05:34 2008 -0600
+
+ mesa: compute global var size before doing codegen
+
+commit 477d597df69845e3fcd84605b26801c14a0ce382
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 8 13:02:24 2008 -0600
+
+ mesa: add missing VARYING case to storage_string()
+
+commit 3bdf50bab0951c5435bbf4b938d37cc1fe9a5d7c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 8 15:04:47 2008 -0600
+
+ mesa: fix bug/failure in recursive function inlining
+
+ Fixes a failure for cases such as y = f(a, f(a, b))
+ All the usual tests still pass but regressions are possible...
+
+commit 7cbc244c52610eb59b0fe1fc7275f307b560c281
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 8 15:00:11 2008 -0600
+
+ gallium: tweak printing of generic declarations
+
+commit fe1c0e44aadc033075797804b3275ac91f72c1ba
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 8 14:59:31 2008 -0600
+
+ mesa: more debug output
+
+commit 0d1f54db6b4e66b164ea4193e7aa41a98b6fce0d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 8 13:05:43 2008 -0600
+
+ mesa: compute global var size before doing codegen
+
+commit 2e638cfe3c3a8ab639d9cdb13abced6dc8ed0755
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 8 13:02:33 2008 -0600
+
+ mesa: add missing VARYING case to storage_string()
+
+commit a62a738f3df054ef802f9ea7bc778d468fd0a4ba
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Tue Jul 8 20:26:04 2008 +0200
+
+ nv10: use the gallium alloc/free wrappers.
+
+commit 511693d00c5f8641375efd16e08289586d62e562
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Tue Jul 8 20:06:57 2008 +0200
+
+ nv04: use FREE/MALLOC like a good gallium boy should.
+
+commit 2e7e1837512c1959a97f51903a770cf182fc9820
+Author: Jakob Bornecrantz <jakob@aurora.(none)>
+Date: Tue Jul 8 16:54:22 2008 +0200
+
+ i915: Takedown EGL screen
+
+commit 98c1b12ea0117e325b7eaebd92298d8cef7cad15
+Merge: 28268f7 06d87b4
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Tue Jul 8 16:38:55 2008 +0200
+
+ Merge branch 'gallium-0.1' of git+ssh://marcheu@git.freedesktop.org/git/nouveau/mesa into gallium-0.1
+
+commit 28268f7b22905974a2cc3c099b1a842d20a7712a
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Tue Jul 8 16:38:27 2008 +0200
+
+ nv30: use native instructions.
+
+commit 1257bb9b130c9487a32e422a8ce8ddba2f14a568
+Author: Jakob Bornecrantz <jakob@aurora.(none)>
+Date: Tue Jul 8 14:44:23 2008 +0200
+
+ i915: Use deviceID in EGL device create
+
+commit 0c6efeb02beba32a35dda7c5d5a3086ca2d8cbc4
+Author: Jakob Bornecrantz <jakob@aurora.(none)>
+Date: Tue Jul 8 14:41:17 2008 +0200
+
+ i915: Complete the screen -> device renaming
+
+commit b13b1210c0174e4fd315bad3e6e18b6cbeeb1518
+Author: Jakob Bornecrantz <jakob@aurora.(none)>
+Date: Tue Jul 8 14:16:15 2008 +0200
+
+ i915: Renamed intel_screen to intel_device
+
+ The renameing makes more sense, why because:
+ In egl you have a display/driver/device as the
+ basis, and you have screens as outputs.
+
+commit 92c075eeb7c330ea420400d1c2bae57356b19f03
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Tue Jul 8 14:14:04 2008 +0800
+
+ i965: official name for GM45 chipset
+
+commit 06d87b44cffef9e335b9a0e70fd2aec61fcd171b
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Jul 8 12:51:29 2008 +1000
+
+ nv50: make use of nouveau drm 0.0.11 to get 3d going
+
+commit 8d2400f2161efa95d2ef18fec353db4841f09637
+Author: Jonathan White <jwhite@tungstengraphics.com>
+Date: Mon Jul 7 17:56:29 2008 -0600
+
+ mesa: added GLAPIENTRY keywords
+
+commit f4caddd66f46f69ee34b1790ef1c2f549b186d2f
+Author: Jonathan White <jwhite@tungstengraphics.com>
+Date: Mon Jul 7 17:56:09 2008 -0600
+
+ egl: updated GL_APIENTRY for Windows
+
+commit 205101dafb0042ebeeab3dd50f549d8a3d3c08ce
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Tue Jul 8 01:34:36 2008 +0200
+
+ nv10: there are no 3D textures.
+
+commit fec4e427f8df3a6f257b2247dc760430b3dfc258
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Tue Jul 8 01:32:32 2008 +0200
+
+ nv04: Hook the lib into the build.
+
+commit 97646f10459dd743d9bfd091aec27b28b24222f2
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Tue Jul 8 01:30:48 2008 +0200
+
+ nv04: use BEGIN_RING_NI
+
+commit 52a68dd9eb1d347aa01ce09db9375793d0d0ceaf
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Tue Jul 8 01:06:18 2008 +0200
+
+ nv04.
+
+commit 6701ecb3bae4bb34d14d0740a4da9481dd9f7704
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Jul 7 19:35:23 2008 +0900
+
+ raw2png: More helpful messages. Handle PIPE_FORMAT_A8B8G8R8_SNORM.
+
+commit 30b6b0b9ef05b4f19a9b151b676e7069320be74d
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Jul 7 19:29:24 2008 +0900
+
+ raw2png: Update formats from p_formats.h
+
+commit de71e4741d8b4e3719e702431912374f1cb90034
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 7 14:34:30 2008 -0600
+
+ egl: bump up MAX_ATTRIBS, added assertion
+
+commit 1828b6d0315be805ec1eea1594fae5b28cfb4ca8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 7 10:12:55 2008 -0600
+
+ gallium: move assertion (though not really significant)
+
+commit b7dfabcaab020e89644f47ec243b231c21fece63
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 7 10:08:43 2008 -0600
+
+ gallium: simplify/fix buffer_offset, src_offset computation for VBO arrays
+
+ Things broke when vertex position wasn't the first attribute.
+
+commit a36bf890e8be3473f6a98f5ba4369e3acc0463ad
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Mon Jul 7 18:34:17 2008 +0300
+
+ glx: add LIBGL_ALWAYS_SOFTWARE
+
+ this disables accelerated DRI and fallbacks to client-side software rendering.
+
+ compile-tested only.
+
+commit 3596339d31d05b7d5120290a7b866485c395b5f2
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Mon Jul 7 15:49:59 2008 +0200
+
+ i915: Fix wrong pointer to cleanup
+
+commit 7420bc05a862db09b8d5f34a7760fa19b578b4d0
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Mon Jul 7 15:49:09 2008 +0200
+
+ i915: Fix EGL make current
+
+commit 88b806a0697efa9f7fde6aa59530675908f7294d
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Mon Jul 7 15:26:47 2008 +0200
+
+ i915: More cleanup of display
+
+commit 687c8d8941bb62fdb4fbdbb0ff5f359851c290b5
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Mon Jul 7 14:29:11 2008 +0200
+
+ i915: Fetch the real deviceID for EGL
+
+commit 1315f720ba80596b866103a7e153bfc2f2bd267b
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Mon Jul 7 13:24:09 2008 +0200
+
+ i915: Destruction of surface, context and device in EGL
+
+commit 6235141fd2c7af21c2b41ca66f06abc3cb0bbc24
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sun Jul 6 22:04:29 2008 -0400
+
+ g3dvl: IDCT part 1.
+
+ Very basic IDCT support is in, performed CPU-side for now.
+
+commit 49937b99855984dd01a431c026f9308b6c0dac4f
+Author: Younes Manton <younes.m@gmail.com>
+Date: Thu Jul 3 20:05:32 2008 -0400
+
+ g3dvl: Round surfaces up to POT, use src rect when outputting surfaces.
+
+commit e6e4f25aa5433fc77a3c1b0dba2300cc4cee5d33
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Sun Jul 6 14:17:39 2008 -0700
+
+ autoconf: Allow commas or spaces to separate DRI drivers
+
+ Explicitly allow the argument to --with-dri-drivers to contain
+ comma-separated or space-separated drivers. A space-separated driver
+ list worked by chance before.
+
+commit 11ac5b2456575060627e9f52946d7d0e218a228d
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Thu Jul 3 09:17:44 2008 -0700
+
+ Set library and header installation directories from configuration
+
+ Currently the installation directories for libraries and headers are
+ resolved within the install commands. For instance, the libraries will
+ be installed to $(INSTALL_DIR)/$(LIB_DIR). This limits the flexibility
+ of the installation, such as when the libraries should be installed to a
+ subdirectory like /usr/lib/tls.
+
+ This adds the make variables $(INSTALL_LIB_DIR) and $(INSTALL_INC_DIR)
+ to define the locations that the libraries and headers are installed.
+ For the static configs, this resolves exactly as before to
+ $(INSTALL_DIR)/include and $(INSTALL_DIR)/$(LIB_DIR). For autoconf, they
+ are derived directly from the --libdir and --includedir settings.
+
+commit 056689d457924ba4d8a0723d0c5f24383d1757d9
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sun Jul 6 16:39:31 2008 +0200
+
+ r500_fragprog: Fix RSQ with negative parameters
+
+commit 2b2cb566563b9f1f9739327ef9874143af838850
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sat Jul 5 23:54:31 2008 +0200
+
+ r300_fragprog: Emulate trigonometric functions in radeon_program_alu
+
+commit 4746752f167c674722b46ab3840297d48e6d889d
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sat Jul 5 22:44:37 2008 +0200
+
+ r300: Translate fragment program DST in radeon_program_alu
+
+commit 03abd021f2fa1d043682c9f1bbb1c080fba6b033
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sat Jul 5 22:35:46 2008 +0200
+
+ r300: Translate fragment program LRP in radeon_program_alu.c
+
+commit 62bccd6df0c963a14e801bcac95dc8046b978a7f
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sat Jul 5 22:21:24 2008 +0200
+
+ r300: Allow adding parameters during fragprog transform, share LIT code
+
+commit 77fdfaa23adeaaf6a217ef1ee751410c6a5b0d21
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sat Jul 5 20:01:20 2008 +0200
+
+ r300: Correctly scan for used temporary registers
+
+ This fixes a regression introduced by dea8719f0...
+
+commit 364d45a3e1629f32c6ab5407f92618a16c9d45e0
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sat Jul 5 16:07:37 2008 +0200
+
+ r500: Major refactoring of fragment program emit
+
+ Use the common facilities to convert non-native instructions into native ones.
+ Worked hard to make the code easier to read (hopefully), by using helper
+ functions instead of direct manipulation of the machine code.
+ Fixes two bugs related to FLR and XPD.
+
+commit dea8719f00ad46ed66b5d4f5e6c0b71e2d1054e9
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sat Jul 5 11:53:39 2008 +0200
+
+ r300: Remove clause stuff for now in favour of a cloned generic gl_program
+
+commit 85b46fbe9cfc8de8871d6adb0b2287c5837d3028
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sat Jul 5 10:58:54 2008 +0200
+
+ r500_fragprog: Cleanup some unused variables and code.
+
+commit 13c44679ad42886544036f49597dcfc0d4b7e925
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sat Jul 5 10:24:27 2008 +0200
+
+ r500: Fix a mixup in fragment program LRP instruction emit
+
+commit 09e587fcf3c77860eacf16a45c6cf1a9a54cc605
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sat Jul 5 09:31:44 2008 +0200
+
+ r500: Fix blend color.
+
+commit 82635aad4203d44648dd6e345ec2b5e21ff06510
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sat Jul 5 18:03:44 2008 +0200
+
+ _mesa_clone_program: Copy ShadowSamplers
+
+commit b30fb6d54019c84174379a773121438ba943557a
+Author: Jakob Bornecrantz <jakob@aurora.(none)>
+Date: Sat Jul 5 16:46:04 2008 +0200
+
+ i915: Fix EGL version and name
+
+commit c6d6a57424b77ff7de611333046c054d1948ae7a
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Sat Jul 5 15:58:42 2008 +0200
+
+ i915: Added a intel be function to wrap a drm bo handle
+
+commit 74db8e9b3f354b5afa30f7cd52a511504693a3c8
+Author: Jakob Bornecrantz <jakob@aurora.(none)>
+Date: Sat Jul 5 14:04:02 2008 +0200
+
+ i915: Fix haveDepth and haveStencil for visual in EGL
+
+commit 152ed98b84acf500f4b5122cf3fde82c6e5206f2
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat Jul 5 03:21:27 2008 +0900
+
+ softpipe: Prevent NULL ptr derreference on takedown.
+
+commit c23b64f1646ac5349c395ede47707906ddff7b4c
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat Jul 5 03:19:56 2008 +0900
+
+ softpipe: Compute block size for display targets.
+
+commit e6c24539c3d482271a8c1bcba697b08e24344e05
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Fri Jul 4 19:23:52 2008 +0200
+
+ i915: Added debug filling code of texture, not active
+
+commit f6e8963bb152166c28dae896a0c8c83ce554f987
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Fri Jul 4 19:20:08 2008 +0200
+
+ i915: Clean up intel_egl.c a bit
+
+commit 52912d86167e39bf3655edf773d394fda8718ca4
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Fri Jul 4 19:33:09 2008 +0200
+
+ egl: Add egltri
+
+ First tri for EGL drivers with mesa screen ext
+
+commit f99643ca6ea3aa05a0b16dc5d99e11fa00185684
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Fri Jul 4 18:53:44 2008 +0200
+
+ nv30: Emit sampler state using state objects
+
+commit 0bc2409e3808df54bf7d228475320e2ec4fe80a1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 4 10:37:07 2008 -0600
+
+ mesa: Replace Proxy1D/2D/etc with ProxyTex[] indexed by TEXTURE_x_INDEX.
+
+ Simplification in colortab.c too.
+
+ cherry-picked from master (fe469007037d9d5cdbe1677d8ff7368b276e9e7c)
+
+commit a3de65659cf07420363c91ae38dd61468f122ef0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 4 10:35:32 2008 -0600
+
+ gallium: fix st_choose_format(internalFormat=GL_RGBA16)
+
+ Need to check if we're choosing a surface or texture format.
+
+commit 2fa7b3f78639114aec42fcbbfc29d3645832708b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 4 10:29:15 2008 -0600
+
+ mesa: Implement mutex/locking around texture object reference counting.
+
+ Use new _mesa_reference_texobj() function for referencing/unreferencing
+ textures. Add new assertions/tests to try to detect invalid usage of
+ deleted textures.
+
+ cherry-picked from master (9e01b915f1243a3f551cb795b7124bd1e52ca15f)
+
+commit e187627c1d3b06e5d185989dd3d37f09a8953a1b
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Fri Jul 4 18:18:19 2008 +0200
+
+ r300: Fix depth texture in compare mode
+
+ Missed the homogenous divide of R by Q before...
+
+commit 845e3f701dec29f08e5759969c165b3d812e5afe
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sun Jun 29 14:53:04 2008 +0200
+
+ Enable TexGen based on InputsRead when a fragment program is active
+
+ The old behaviour depended on which texture images the fragment program
+ reads from, which seems to contradict the shader specifications.
+
+ Note: Piglit's general/texgen test checks for this problem.
+
+commit 1f4d0748ba92ff2c44faadc31a99f07e1bea28fb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 4 10:05:39 2008 -0600
+
+ GLSL-related bug fixes
+
+commit e06565b103828b276fb10e3c4b2d94b36de05987
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 4 09:58:55 2008 -0600
+
+ mesa: generate GL_INVALID_OPERATION in _mesa_get_uniform_location() if program isn't linked
+
+commit b931a0c1d9128b7fb402915089e1fd2496f65349
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 4 09:55:48 2008 -0600
+
+ mesa: remove incorrect assertion
+
+commit 9ca1c62a963ca7024c4bccf83af3f90955cd5068
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 4 10:02:16 2008 -0600
+
+ gallium: replace assertion with conditional
+
+commit ba9e6339028c36269cb50bb8535e415fa8e6e4c9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 4 09:59:43 2008 -0600
+
+ gallium: fix trim() function bug when count < first
+
+ If the user called glDrawArrays(GL_TRIANGLES, count=1), trim() returned a
+ very large integer because of the unsigned arithmetic.
+
+commit 294b061256220960e7e29fbc8ecbd2ffce75de40
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 4 09:58:14 2008 -0600
+
+ mesa: generate GL_INVALID_OPERATION in _mesa_get_uniform_location() if program isn't linked
+
+commit c4b6941e62f5e30a7c479b7b8d6521cc4dd92e3e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 4 09:56:08 2008 -0600
+
+ mesa: move assertion
+
+commit 4a18324c0bca4ae806b1c62cad44e859f0924a9b
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat Jul 5 00:56:36 2008 +0900
+
+ psb: Fill all texture fields when creating texture blanket.
+
+commit 1942e29bf7e4df34164ed815ccd77b08cd28ed56
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat Jul 5 00:55:18 2008 +0900
+
+ softpipe: Implement texture blankets.
+
+commit 77f8167d75d0016c76812fc147c06072e5729965
+Merge: 6f56b52 194cfc7
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sat Jul 5 00:53:13 2008 +1000
+
+ Merge remote branch 'upstream/gallium-0.1' into gallium-0.1
+
+commit 194cfc7a4ed86653db34be0e331ad7c23b5334eb
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Jul 4 22:27:50 2008 +0900
+
+ scons: Enable gcc SSE2 intrinsics on x86.
+
+commit 9157b1e09a8948e9e084ed3ce2a3537a6bac2005
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Jul 4 13:54:49 2008 +0100
+
+ glcontextmodes.c is required remove the reference in .gitignore
+
+commit 0c1e96e6d38c0acfd3fe6b4116f2a67f5bf62136
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Fri Jul 4 09:53:51 2008 +0800
+
+ mesa: fix polygon offset issue (bug #12061)
+
+commit dd3311aa89035aa2e624f54b6914cfbcf57b33d7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 3 16:59:24 2008 -0600
+
+ mesa: added _vbo_VertexAttrib4f()
+
+commit 7366f3fc54be280969f3adef16ed67fddfe55e67
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 3 16:24:26 2008 -0600
+
+ mesa: fix incorrect array size, added assertion
+
+commit 0ed3f6f575ebdb345ad9891380686eafce63c75e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 3 16:23:18 2008 -0600
+
+ mesa: fix array storage allocation bug
+
+commit 22ac107971151a02cbe7a03a05bc99a53bc80eb1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 3 16:22:49 2008 -0600
+
+ mesa: regenerated file
+
+commit 4d1d6ed1590428172816933efce3303fd7c815b2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 3 16:22:36 2008 -0600
+
+ mesa: additional vec4 constructor
+
+commit d4172263e57fdbd2204fd8669e6b6f460e08ca3b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 3 16:21:15 2008 -0600
+
+ mesa: fix various error codes
+
+commit bb18a8b2eaaf8eea02c3255ed774751378fc7aa6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 3 16:02:13 2008 -0600
+
+ mesa: fix some error codes in _mesa_ShaderSourceARB()
+
+commit d015ffa6ea20f00f23513e63b5c27e5e6d0d3627
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 3 15:41:45 2008 -0600
+
+ mesa: fix problem freeing framebuffer/renderbuffer objects
+
+ Basically, set up no-op Delete() methods for the DummyFrame/Renderbuffer obj
+
+commit 51abbdd227224c596ae2232ff3137dc3f346d563
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 3 14:55:14 2008 -0600
+
+ gallium: added a4r4g4b4_put_tile_rgba()
+
+commit 78388c0e374349810fe3fb38cd4103a9544df4bf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 3 14:12:27 2008 -0600
+
+ mesa: added case for fixed pt
+
+commit f042d662e2cec4315ddaae1ee536f593139f703d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 3 12:56:33 2008 -0600
+
+ gallium: increase TGSI interpreter's number of temp registers to 64
+
+ Also, clean up the definitions of the misc/extra temp regs.
+ A few new assertions too.
+
+commit 00eb309c31692d29b01568b0b45f5066928b9107
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 3 10:43:14 2008 -0600
+
+ gallium: move, increase ST_MAX_SHADER_TOKENS
+
+commit 3c128748579c637ba7c777ba91ff4287a03190f6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 3 10:42:31 2008 -0600
+
+ gallium: increase TGSI_EXEC_MAX_COND_NESTING, etc
+
+commit 530df581dd1a502041b44afee8023a09d5b7e59f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 3 16:21:11 2008 -0600
+
+ mesa: fix various error codes
+
+commit 011185396b1bb13fcba6619912948bbd2154936d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 3 16:02:05 2008 -0600
+
+ mesa: fix some error codes in _mesa_ShaderSourceARB()
+
+commit 3dc6591a7c85b6a05551ce91b69e57d23148bf57
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 3 15:40:38 2008 -0600
+
+ mesa: fix problem freeing framebuffer/renderbuffer objects
+
+ Basically, set up no-op Delete() methods for the DummyFrame/Renderbuffer objects.
+
+commit 6f56b527d866506a323feb19f9d8529d40034af2
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Thu Jul 3 22:47:15 2008 +0200
+
+ nv30: Reemit state when changing context
+
+commit 568b477b9c118e5ace831b8ecf1811da1c0961cd
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Thu Jul 3 22:42:30 2008 +0200
+
+ nv30: Emit viewport state using state objects
+
+commit e7e231a5116aed9f1ca685a297032a3e3e6a2433
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Thu Jul 3 22:31:23 2008 +0200
+
+ nv30: Emit polygon stipple state using state objects
+
+commit f1d24c1d27255e4ff5ba451e6d58558f9ccdc801
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Thu Jul 3 22:18:38 2008 +0200
+
+ nv30: Emit scissor state using state objects
+
+commit c66f376e271427799f777c39bc9221df7c961f77
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Thu Jul 3 22:10:53 2008 +0200
+
+ nv30: Emit depth/stencil/alpha state using state objects
+
+commit 7acb7c1ac058d11d649b615bfcabf29b5a74a801
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 3 13:49:48 2008 -0600
+
+ mesa: additional error checking, fix error codes
+
+commit 360f7a3e239553fc0e1aff3b38c06c2e3d0a698c
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Thu Jul 3 21:48:18 2008 +0200
+
+ nv30: Emit rasterizer state using state objects
+
+commit c0e9eb3b095c9769d3deacf4ad4470bd155acdcd
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Thu Jul 3 21:25:47 2008 +0200
+
+ nv30: Emit blend state using state objects
+
+commit d866cb3712cc4db0d3798b91039a482453e58700
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 3 13:24:28 2008 -0600
+
+ mesa: regenerated file
+
+commit 7f4f2ac39de7a5425bcfbd362b688f62f6003afd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 3 13:24:19 2008 -0600
+
+ mesa: additional vec4 constructor
+
+commit 52cf7a6c1ccc987859834b640a5ec0a62f84134a
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Thu Jul 3 21:11:07 2008 +0200
+
+ nv30: Emit blend color state using state objects
+
+commit 6e46c121f9efc941473f797e0a388146a9599eea
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 3 13:05:28 2008 -0600
+
+ mesa: fix array storage allocation bug
+
+commit 1dc20c7916e873dd154d62f885f849c87211c192
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 3 13:03:35 2008 -0600
+
+ mesa: fix incorrect array size, added assertion
+
+commit 36488ed052a18f7eafef1d1c5c18b20ad508b2b7
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Thu Jul 3 20:58:31 2008 +0200
+
+ nv30: Emit framebuffer state using state objects
+
+commit 2212c214f1890091c102d4cb3c69ec2df2132322
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 3 10:12:00 2008 -0600
+
+ gallium: fix surface memleak in bitmap code
+
+ Found w/ tunnel2.c demo.
+
+commit ade03755bcaec2dedb5cd4d13160ba366ee804cd
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Jul 3 21:28:56 2008 +0900
+
+ pipebuffer: Silent warnings.
+
+ Although rarely hit in normal apps, they are too noisy with test suites.
+
+commit 79ca9734ea65ac9cbf866b1aacc538351086accf
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Jul 3 19:55:14 2008 +0900
+
+ Support conversion of YUV surfaces.
+
+commit c193cc506f74443c805a0df42e3364b39245d265
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Jul 3 19:52:05 2008 +0900
+
+ gallium: Don't forget to get overllaping blits working again.
+
+commit d94c7063ec9e87dbefea386606f0f21cdbd1d6f3
+Author: Jakob Bornecrantz <jakob@aurora.(none)>
+Date: Thu Jul 3 12:12:25 2008 +0200
+
+ i915: EGL almost works again
+
+commit 28f3d390ddf87f796a9a9f3dc28b0b05c19e40fa
+Author: Jakob Bornecrantz <jakob@aurora.(none)>
+Date: Thu Jul 3 12:10:36 2008 +0200
+
+ egl: Fix demodriver
+
+commit 8ccab313561d8cca3caf8d76504119bf5eb2e9ae
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Jul 3 15:02:56 2008 +0900
+
+ gallium: Use surface_copy for 1:1 blits.
+
+commit 27d8d6f44faa61a61c330d032111eee64dd8b8c7
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Jul 3 12:42:23 2008 +0900
+
+ scons: Add a env.CodeGenerate method to simplify code generation via python scripts.
+
+ env.CodeGenerate(
+ target = 'my_source.c',
+ script = 'my_generator.py',
+ source = ['input.txt', 'another.txt'],
+ command = 'python $SCRIPT $SOURCE > $TARGET'
+ )
+
+ It will take care generating all appropriate dependencies, including any
+ module imported by the generator script, and the respective .pyc file
+ side effects.
+
+commit 1ca23061478868d61b9b2e6a30367e8e1de4a456
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 2 19:18:10 2008 -0600
+
+ mesa: fix vertex array validation test for attribute 0 (vert pos)
+
+ We don't actually need vertex array[0] enabled when using a vertex
+ program/shader.
+
+ cherry-picked from master
+
+commit b3e1f9bd521ab25fc1cb313902cd77c6c274a918
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 2 19:17:11 2008 -0600
+
+ mesa: fix vertex array validation test for attribute 0 (vert pos)
+
+ We don't actually need vertex array[0] enabled when using a vertex
+ program/shader.
+
+commit 98b7174ad6f6a74361e58136bdd235a092b07a40
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 2 19:11:49 2008 -0600
+
+ gallium: replace an assertion with "if (!texobj) continue"
+
+ It's possible to call update_samplers() between the time a fragment shader
+ is bound and when a texture image is defined (such as glClear). This
+ fixes the case where we don't have a complete texture object yet.
+
+commit dad8a7c90d96f37fedfe912a10ba3754c1666161
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 2 19:07:11 2008 -0600
+
+ gallium: fix a bug in vertex program output mapping
+
+ Need to translate VERT_RESULT_PSIZ, BFC0, BFC1 to TGSI shader output slots
+ after all other attributes have been handled. This fixes a bug where
+ generic vertex program outputs (varying vars) could get mapped to the
+ same slot at point size or back-face colors.
+
+commit 8fb4d602db48d425380e5508e3fd71cbdc2e7095
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 2 19:05:18 2008 -0600
+
+ gallium: nr_attrs was off by one, updated comments, minor code movement
+
+commit 39b9b05313c8b8fce9b80e96819aded479e382c9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 2 17:10:42 2008 -0600
+
+ mesa: additional GLSL built-in constants
+
+commit dff477a5e27c39aa61aac8e1555c345211e832b8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 2 17:08:47 2008 -0600
+
+ mesa: when linking a shader program, make sure all the shaders compiled OK
+
+ cherry-picked from master
+
+commit 40739d4ae95054d45fa86e9668ad29fcbafd67e9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 2 17:08:28 2008 -0600
+
+ mesa: added some debug code (disabled)
+
+ cherry-picked from master
+
+commit 088c42c5c3cb34bac98fce95e4f3d08642834112
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 2 17:08:09 2008 -0600
+
+ mesa: fix error codes in _mesa_shader_source(), _mesa_get_shader_source()
+
+ If the 'shader' parameter is wrong, need to either generate GL_INVALID_VALUE
+ or GL_INVALID_OPERATION. It depends on whether 'shader' actually names a
+ 'program' or is a totally unknown ID.
+ There might be other cases to fix...
+
+ cherry-picked from master
+
+commit 16caeeab4b495702b54963816ae45976b2563423
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 2 17:06:26 2008 -0600
+
+ mesa: regenerated file
+
+commit adc709e9960966bc03e510bc793b9d2703b3e863
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 2 17:05:56 2008 -0600
+
+ mesa: added some missing equal() notEqual() intrinsics
+
+ cherry-picked from master
+
+commit 1726b7d1d336465dca10a5bd0a8a02fcf5f2e455
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 2 16:51:49 2008 -0600
+
+ mesa: when linking a shader program, make sure all the shaders compiled OK
+
+commit cb79c5c7c62a661c4b7b4efcf3884ee1dedafe4f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 2 16:50:52 2008 -0600
+
+ mesa: added some debug code (disabled)
+
+commit 36a582641119671688a9f366e5bfa1ab3e8b9cbc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 2 16:40:24 2008 -0600
+
+ mesa: fix error codes in _mesa_shader_source(), _mesa_get_shader_source()
+
+ If the 'shader' parameter is wrong, need to either generate GL_INVALID_VALUE
+ or GL_INVALID_OPERATION. It depends on whether 'shader' actually names a
+ 'program' or is a totally unknown ID.
+ There might be other cases to fix...
+
+commit a405d69063c8bae28bd5808e297070d65d90a421
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 2 16:39:48 2008 -0600
+
+ mesa: regenerated
+
+commit a2cddf58d2787a1ed027cbc7bc25bf4aa001e989
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 2 16:39:26 2008 -0600
+
+ mesa: added some missing equal() notEqual() intrinsics
+
+commit def6e4f420feed4a07402a8da84e7822f6ddba99
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jul 2 11:49:10 2008 -0700
+
+ intel: span rendering requires just a flush before starting, not finish.
+
+ The dri_bo_map()s that follow will take care of idling the hardware as needed.
+
+commit 8f98242d40b58c517181bc4777f4910ad24e6866
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 2 12:47:18 2008 -0600
+
+ mesa: disable some debug assertions
+
+ We can sometimes fail these assertions because of how swizzled storage
+ works. Will revisit someday.
+
+commit eab88236b3ef5a4f861c1b99dc7220abd5c9f6c7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 2 12:46:18 2008 -0600
+
+ mesa: regenerated files
+
+commit 789fae163dbdbd7669b0442bd1a3ca4fea4ec259
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 2 12:45:55 2008 -0600
+
+ mesa: fix all(bvec2) function typo, add missing bvec2/3/4() constuctors
+
+ cherry-picked from master
+
+commit 019ad5e284db08b46b484b409c1a54c302afd50b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 2 12:41:18 2008 -0600
+
+ gallium: replace 128 with MAX_LABELS
+
+commit 511733b862d2cb6836beb0965bdc5d699e6a2233
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 2 12:40:03 2008 -0600
+
+ mesa: added _mesa_print_swizzle() debugging helper
+
+commit 918f3b17e5a3f94a7676a815c9b64cee054311ea
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 2 12:38:24 2008 -0600
+
+ mesa: regenerated files
+
+commit 18adc71822463b5e50bcb23d682726b1a44870aa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 2 12:37:01 2008 -0600
+
+ mesa: fix all(bvec2) function typo, add missing bvec2/3/4() constuctors
+
+commit 489fc4d10a57538de59a89e19ce752e4b7253d22
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Wed Jul 2 20:08:27 2008 +0200
+
+ mesa: fix issues around multisample enable
+
+ multisample enable is enabled by default, however gl mandates multisample
+ rendering rules only apply if there's also a multisampled buffer.
+
+commit 5ef4e4ffb8053db87f52df3c9b2ddb71d9c7d6e5
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Wed Jul 2 20:20:33 2008 +0200
+
+ mesa: fix issues around multisample enable
+
+ multisample enable is enabled by default, however gl mandates multisample
+ rendering rules only apply if there's also a multisampled buffer.
+
+commit a995bdced20a55759dffd901c10ec5fb251191cf
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jul 2 11:16:30 2008 -0700
+
+ intel-gem: Emit an MI_FLUSH at glFlush() so frontbuffer rendering is flushed.
+
+ We have something similar in the X Server that covers X Server rendering, this
+ is the equivalent here for rendering to the front buffer. If we cared about
+ avoiding this at glFlush time, we could only do this when some actual
+ frontbuffer rendering had occurred.
+
+ Bug #16392.
+
+commit 4b3ed4d2d16811a624857519e95303017f4160b5
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jul 2 10:21:44 2008 -0700
+
+ intel-gem: Fix y-tile swizzling for our G965 with swizzle_mode=1.
+
+ Apparently in Y mode we get bit 6 ^ bit 9. The reflect demo in 'd' mode now
+ displays correctly.
+
+commit 19f585a3cf65887e249d630fe43e83e7e7618dfa
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jul 2 09:10:21 2008 -0700
+
+ intel-gem: Fix Y-tiling span setup.
+
+ The boolean that the server gives us for whether the region is tiled was
+ getting used as the enum for what tiling mode. Instead, guess the correct
+ tiling in screen setup.
+
+ Also, fix the Y-tiling pitch setup. The pitch to the next tile in Y is
+ 32 scanlines, not 8.
+
+commit 6befdca6a3d65d7e49c0c54a7a8f091cd05034ea
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 2 09:16:10 2008 -0600
+
+ generate a link error if the vertex shader references too many textures
+
+commit 43346fb1fb43f91cb3e90d84b442dc08d6c9550d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 2 09:14:53 2008 -0600
+
+ set ctx->Const.MaxVertexTextureImageUnits = 0
+
+ This disallows vertex shader texture sampling. See bugs 16157, 13838.
+
+commit ea190fe05098d166c38d168d6a3d743c3acfe722
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Wed Jul 2 06:26:11 2008 -0700
+
+ VBO: Regenerate files based on recent changes to gl_API.xml
+
+ Since GL_ARB_vertex_buffer_object protocol isn't supported yet, these
+ changes are innocuous.
+
+commit abd71144f0c34c071739dbb00378520fb02b5b61
+Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
+Date: Wed Jul 2 06:22:47 2008 -0700
+
+ Bring over commit 8d4d0b47a07a298a20ffae9fefe96c8c7ca9dccc from xserver tree
+
+commit cc31eecbcb90dabacabac3e6be7c01cfe3a7a2a6
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Wed Jul 2 12:10:15 2008 +0200
+
+ gallium: Allow draw module to work on non-x86 platforms again.
+
+commit d16fcd07f876fe7fb29f5f4e3df4e83ff7de3422
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Jul 2 12:24:19 2008 +0900
+
+ pipebuffer: Debug buffer manager to detect buffer under- and overflows.
+
+ It should detect both cpu and gpu buffer overflows.
+
+commit ea4ca10b1bec67c8a60db0e4e5581318ce9f62f9
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Jul 2 12:22:51 2008 +0900
+
+ pipebuffer: Verify usage flag consistency. Minor cleanups.
+
+commit 21e0d47514ea16c85342549dc8843be1b9bbc6ef
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Tue Jul 1 19:30:32 2008 -0700
+
+ VBO: Add missing functions related to VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB
+
+commit c52d6ad465dd4fddcd40e50e93f66469dcd8ffea
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date: Tue Jul 1 18:20:21 2008 -0700
+
+ VBO: add GLX related annotations
+
+commit 66b48202c221a25f3980df8f443ce63c2fb4119f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 1 18:40:23 2008 -0600
+
+ mesa: fix a GLSL vector subscript/writemask bug
+
+ This fixes a failure for cases like:
+ vec4 v;
+ v[1] *= 2.0;
+
+ The v[1] actually acts like a writemask, equivalent to v.y
+ The fix is a bit convoluted, but will do for now.
+
+ cherry-picked from master
+
+commit eeefe175de8bae93b9ed2204afa9e748b205e868
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 1 18:39:46 2008 -0600
+
+ mesa: move some functions
+
+ cherry-picked from master
+
+commit 81a0acca31aa8f96ac9488ff81345a6cd51403a4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 1 18:39:22 2008 -0600
+
+ mesa: make _slang_swizzle_swizzle() non-private
+
+ cherry-picked from master
+
+commit 028739faedd97a67b2348e4561840cc13785b26c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 1 17:59:07 2008 -0600
+
+ mesa: fix a GLSL vector subscript/writemask bug
+
+ This fixes a failure for cases like:
+ vec4 v;
+ v[1] *= 2.0;
+
+ The v[1] actually acts like a writemask, equivalent to v.y
+ The fix is a bit convoluted, but will do for now.
+
+commit e19af171cf013098c35990069225a87c3a04e197
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 1 17:52:31 2008 -0600
+
+ mesa: move some functions
+
+commit 9ae4d778d8dd56572b92b7ecaca4f0cabe63d229
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 1 17:50:14 2008 -0600
+
+ mesa: make _slang_swizzle_swizzle() non-private
+
+commit e74f54793e45dd2e36474f6fc527456647f32efd
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jul 1 15:09:24 2008 -0700
+
+ intel-gem: Move bit 6 x tiling swizzle to a driconf option, and add new mode.
+
+ It turns out that it's not just deviceID dependent, and there's some additional
+ undefined factor that determines the bit 6 swizzling. It's now controllable
+ with swizzle_mode=[012] until we get a response on how to automatically detect.
+
+commit 44c99ad23655204fd2e567fc38512f12e5f262af
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 1 11:48:57 2008 -0600
+
+ mesa: better function inlining in the presence of 'return' statements
+
+ Before, the presence of a 'return' statement always prevented inlining
+ a function. This was because we didn't want to accidentally return from
+ the _calling_ function. We still need the semantic of 'return' when inlining
+ but we can't always use unconditional branches/jumps (GPUs don't always
+ support arbitrary branching).
+
+ Now, we allow inlining functions w/ return if the return is the last
+ statement in the function. This fixes the common case of a function
+ that returns a value, such as:
+
+ vec4 square(const in vec4 x)
+ {
+ return x * x;
+ }
+
+ which effectively compiles into:
+
+ vec4 square(const in vec4 x)
+ {
+ __retVal = x * x;
+ return;
+ }
+
+ The 'return' can be no-op'd now and we can inline the function.
+
+ cherry-picked from master
+
+commit 7d4f01413f16c15b55e99aba6da18b5c979c880c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 1 11:48:27 2008 -0600
+
+ mesa: add/fix some IrInfo entries for debugging purposes
+
+ cherry-picked from master
+
+commit 32a5c4033665d51277c733318ac0461e5f85ad09
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 1 11:41:21 2008 -0600
+
+ mesa: better function inlining in the presence of 'return' statements
+
+ Before, the presence of a 'return' statement always prevented inlining
+ a function. This was because we didn't want to accidentally return from
+ the _calling_ function. We still need the semantic of 'return' when inlining
+ but we can't always use unconditional branches/jumps (GPUs don't always
+ support arbitrary branching).
+
+ Now, we allow inlining functions w/ return if the return is the last
+ statement in the function. This fixes the common case of a function
+ that returns a value, such as:
+
+ vec4 square(const in vec4 x)
+ {
+ return x * x;
+ }
+
+ which effectively compiles into:
+
+ vec4 square(const in vec4 x)
+ {
+ __retVal = x * x;
+ return;
+ }
+
+ The 'return' can be no-op'd now and we can inline the function.
+
+commit b2247c7d29667047cd34180826a8966675f8be3a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 1 11:41:02 2008 -0600
+
+ mesa: add/fix some IrInfo entries for debugging purposes
+
+commit 011b0e51e47e52ad9e29b31b3b4de1a5b77b3768
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 1 09:02:10 2008 -0600
+
+ link to DRM 2.3.1
+
+commit 2ce4b985a56fc05ea1f33b68a987bf866ab06d11
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 1 08:48:48 2008 -0600
+
+ press 'm' to toggle multisample enable/disable
+
+commit 634d2af2b01f4e7ce8fa3ff65f64a446f859821a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 1 08:48:22 2008 -0600
+
+ init machine->Samplers (fixes vertex program texture fetches)
+
+commit e99ce4af8a6a6f9b257bfceb0f9133a29f06f2c7
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Tue Jul 1 15:52:37 2008 +0200
+
+ i915: Last reference to surface -> pitch
+
+commit b3da2a9524b47838da33d8f7fd63c5d90a659cfa
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jul 1 22:04:58 2008 +0900
+
+ gallium: Use the inline keyword on C++.
+
+commit 846f87d8264e2a3755b0a00e45e75602192957fe
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jul 1 22:04:01 2008 +0900
+
+ scons: Output mapfile on windows ddk profile builds.
+
+commit d3f7b463c3975c070503053e4ad70af99016a756
+Author: Dave Airlie <airlied@linux.ie>
+Date: Tue Jul 1 18:22:12 2008 +1000
+
+ dri: drop asserts to make build against stable libdrm
+
+ These asserts are of questionable use at the moment with things in flux.
+
+commit bcc2a3d7e3c5f81bb5a45b8d628a133f3b5499a5
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Tue Jul 1 11:38:07 2008 +0800
+
+ dri: Take the base image size into account when computing
+ first level of the mipmap. fix #16210
+
+commit 9833aec6cbd113d24277aa5da8625c1427d831ca
+Author: Younes Manton <younes.m@gmail.com>
+Date: Mon Jun 30 19:26:22 2008 -0400
+
+ g3dvl: Use block and stride instead of cpp and pitch.
+
+commit 5cae1b747bf7013124c21f15c410635c16593656
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Mon Jun 30 10:28:02 2008 -0700
+
+ autoconf: Improve the visibility of the swrast DRI driver
+
+ Improve the --with-dri-drivers help text so that users are aware that
+ they should install the swrast DRI driver.
+
+commit bb1744970d74432692f2e109fca1dc31593605af
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Jun 30 11:12:51 2008 -0700
+
+ r3xx/r5xx: Enable ARB_point_parameters.
+ This isn't complete yet. It does cover the two most common usage cases,
+ though, and at least the third one (POINT_DISTANCE_ATTENUATION) is possible,
+ so I'll do that later.
+
+commit 1c893fd513f5335a81dd72db70d64763634ea856
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sun Jun 29 20:52:58 2008 -0400
+
+ g3dvl: Simplify shader code.
+
+commit 3933fec6bd62285506fecdc3a254306648cfefb2
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sat Jun 28 20:16:01 2008 -0400
+
+ g3dvl: Support for field and frame based MC for progressive pictures.
+
+ MC support for frame and field based motion prediction. Also various bug
+ fixes, clean up.
+
+commit 0a6aec8c0f2173cfb95ce95d12b66f090ea0ba1f
+Author: Younes Manton <younes.m@gmail.com>
+Date: Wed Jun 18 22:21:11 2008 -0400
+
+ g3dvl: Work around SP tex cache bug, specify resource usage flags.
+
+commit 14d4f9e44e55e2b427579ed6788e579d70b289e7
+Author: Younes Manton <younes.m@gmail.com>
+Date: Mon Jun 16 23:18:20 2008 -0400
+
+ g3dvl: Get rid of some Valgrind errors.
+
+ Get rid of some Valgrind memory leak and uninitialized var errors.
+
+commit 23e9b43ce4a6ad5875f69363dec7d2baa8afa2ea
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Mon Jun 30 08:37:13 2008 +0200
+
+ r300: Fix dumb mistake in LOD bias translation
+
+commit 810888f6564a1421f82190fbb8766ad8c79d88b7
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Jun 30 12:49:14 2008 +0900
+
+ gles: Don't define GLAPIENTRY here.
+
+commit 4002b75e6267ecd0f9e3093e221e34ed5c8485d4
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Mon Jun 30 00:44:26 2008 +0200
+
+ r300: Cleanup LodBias support
+
+ . There is both a per-texture unit and a per-texture object (at least for
+ OpenGL 1.4); this should now be supported properly.
+ . The LOD bias calculation in r300_state has been simplified and corrected
+ (need to multiply by 32 instead of 31, and ensure clamping)
+ . do not clamp LOD bias in TexEnv, as that behaviour conflicts with what
+ the spec says
+ . set Const.MaxTextureLodBias properly
+ . remove the no_neg_lod_bias property; if somebody can explain what
+ it's good for, we can add it back in, but according to Google, nobody
+ seems to use it
+ . removed some dead code and unused variables
+
+commit a74d22ba715da5e52efb15aebd15a74851f87d43
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun Jun 29 10:30:47 2008 -0700
+
+ r300: Change LOD bias emission to more closely follow per-tex rules.
+ Okay, this time it's for real, and for good. This should be a perma-fix.
+
+commit 543893eefdc82ecd21e346320e89a471c5c12158
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun Jun 29 10:29:32 2008 -0700
+
+ Revert accidental edit to progs/demos/lodbias.
+ *puts yet another paper bag over head*
+
+commit 0918023c28775ef6126e9f695a976ff199cd9a13
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sun Jun 29 17:24:32 2008 +0200
+
+ demos/shadowtex: Don't set TEXTURE_WRAP_T for 1D texture
+
+ The operation doesn't really make sense. It triggered a bug in the r300 DRI
+ driver (and possibly other drivers that simulate 1D textures via 2D textures).
+ I've added an isolated test case for this bug to Piglit, so everybody wins.
+
+commit bc775066aa9bbbf0cf5f1d5ced81f81e4cb0b731
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sun Jun 29 17:20:52 2008 +0200
+
+ r300: Fix wrap mode for 1D textures
+
+commit c6ddcc10e31f26d17c1c8181013268766aca9ac6
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Jun 29 16:02:01 2008 +1000
+
+ nouveau: oops, bump the drm patchlevel back down again
+
+commit bf94027fdde51aed476e9bfdd4326aa9040440b0
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Jun 29 15:59:24 2008 +1000
+
+ nv50: fixes after rebase + commits note on the code that was just pushed.
+
+ OK, seems a lot of people have been getting the idea that nouveau is
+ dying lately - I decided to commit some of the work I've been doing lately
+ to prove them wrong :) Progress on my side is slow due to lack of time
+ mainly, but I'm still around.
+
+ Firstly, don't even bother trying to use gallium on G8x/G9x yet, it won't
+ work. I've deliberately left all the necessary winsys changes out of the
+ commits for a very good reason - I don't know what we're going to need from
+ the DRM exactly yet and don't want to be continually breaking interfaces
+ as I discover additional requirements. On my side, I think I've gone
+ through about 3 different DRM interface changes, and have just discovered
+ that I may need more yet. It'd be very annoying for everyone who uses
+ nouveau to keep things in sync. Once I've got it sorted - I'll commit a
+ lot of cool stuff. Stay tuned.
+
+ Also, don't look at the shader code.. it's horribly nasty and full of hacks,
+ I used it as an opportunity to learn G8x GPU programs at the same time.
+ New semi-decent code is in works, and will follow at some point. :)
+
+commit 70f0f0ebdfa40de0fe03ca94294d372b9fa4642d
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Jun 25 06:07:02 2008 +1000
+
+ nv50: reverse stencil sides, header is wrong
+
+commit e52d37d56c91e152bc149230410ed700ff1cffe2
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Jun 25 06:01:30 2008 +1000
+
+ nv50: fix line stipple
+
+commit fea9eb284248adda65afdc3833385d4b03bb25aa
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Jun 25 05:58:35 2008 +1000
+
+ nv50: don't multiply polygon offset units by 2.0 like on nv40
+
+commit e05f67cbe6d852d01da3c4e0c4d52b28723f3684
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Jun 25 05:17:08 2008 +1000
+
+ nv50: maybe some scissor fixes..
+
+commit 95d64ceb5a2b20032e757d6c1b0b5ef5e2b973e2
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Jun 25 05:11:46 2008 +1000
+
+ nv50: vpt translate/scale backwards
+
+commit e002ad77398fbe14a0efbd91824c3325ca09b4c1
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Jun 25 04:57:27 2008 +1000
+
+ nv50: whoops
+
+commit 2c2cb8646168c8709e51d7ff583a86044e3f2040
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Jun 25 04:53:34 2008 +1000
+
+ nv50: rework miptree/texture/texsurf code a bit
+
+commit 5a3362521de5e17e4f340fd9136af1d5e3891e23
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Jun 25 03:56:57 2008 +1000
+
+ nv50: turn on depth test/write again, not 100% but winsys handles it better
+
+commit 47771bcd2fb5bcfecfa076c19360436351c21c95
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jun 23 23:43:34 2008 +1000
+
+ nv50: maintain pipe surface status field
+
+commit e90130257527aff43f807ae16d802c5515d29e8e
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jun 23 23:42:53 2008 +1000
+
+ nv50: remove some debug
+
+commit 5a3ea9ee59ac586955f7784eb25e7fd70d0c8882
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Jun 18 13:23:00 2008 +1000
+
+ nv50: simplify emit_interp a bit
+
+commit 714cb4a86c1f503334b37ca6c24272fa1bdf7899
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Jun 17 23:55:23 2008 +1000
+
+ nv50: make sure static buffers (constbuf, tex control etc) get on reloc list
+
+commit 3b88c3f4112a8bac52b7f7e613b1c2df8a14b752
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Jun 17 23:52:41 2008 +1000
+
+ nv50: R32_FLOAT vbo format
+
+commit 65ad8176ca91b5ed2a01b1b3ee145cfdce369419
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Jun 17 23:43:38 2008 +1000
+
+ nv50: move surface_map/unmap into nv50_surface.c
+
+commit fd7412a7f1beab8b81ce307b1054331eee102e8b
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Jun 17 01:51:13 2008 +1000
+
+ nv50: some people are just born stupid.. really..
+
+commit 598b2a51052913521e3059cdef7cf0c66a5adb90
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Jun 17 01:36:36 2008 +1000
+
+ nv50: make TEX a halfie
+
+commit 035a04d9c11e0e90e2dbcdba25f39c3156a64115
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jun 16 22:34:50 2008 +1000
+
+ nv50: get tri-scissor-tri working
+
+commit bb9efb5534a652878161e28bd73039eff5b11014
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jun 16 22:24:16 2008 +1000
+
+ nv50: separate state validation and upload, similar to nv40
+
+commit 94999d39d43d24a702f4cb55b515906d03a57277
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jun 16 22:06:54 2008 +1000
+
+ nv50: fix blend colour
+
+commit 5d3070149267251bafc1ff982b77e7f422554f50
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jun 16 22:02:02 2008 +1000
+
+ nv50: use stateobjs for sampler/image_control uploads
+
+commit 431504b99cd55948522e86a249e656e78598ddbd
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jun 16 18:56:39 2008 +1000
+
+ nv50: hack of a TEX opcode
+
+commit bcbe6baac37915563bc120ad558cd930bc1ddec1
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jun 16 18:03:29 2008 +1000
+
+ nv50: hacks for stuff I don't really get yet
+
+commit cae38d0fcc6c936d3a4dc25ca2dbef3d106d05a5
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jun 16 16:29:40 2008 +1000
+
+ nv50: abuse constbuf upload for program upload
+
+commit fea0b1651677444fc6c135e1a4b8ab6463a9fdf9
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jun 16 12:55:53 2008 +1000
+
+ nv50: a couple more bits'n'pieces
+
+commit da66b8a2f4c3c052ad71b2b6d5a845c2fd267c6e
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Jun 15 15:53:22 2008 +1000
+
+ nv50: disable inline IMMD for now, IMMD+pred == BANG!
+
+ fixes progs/fp/lit.txt
+
+commit fa5cd63f96d2b69ded48d40b9cb7e57c147f7332
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Jun 15 15:49:25 2008 +1000
+
+ nv50: simplify interp crap a bit...
+
+ hopefully there wasn't a good reason I went the route I did.. can't recall..
+
+commit c0ed6a871cd3513e17a1fab960f5626485ffed13
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Jun 13 12:09:46 2008 +1000
+
+ nv50: do tsc/tic upload + stub out shader TEX stuff
+
+commit 0d7f25c890e1f1505625542c256d4512c065449a
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Jun 13 11:50:13 2008 +1000
+
+ nv50: disable ztest for now - it doesn't work still
+
+commit 101305f37f7268354a50b825bcb66894e4a0b777
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Jun 13 10:58:27 2008 +1000
+
+ nv50: flag to indicate to winsys we want a surface for use as a zeta buffer
+
+ NVIDIA love to make life difficult.. we need different flags in PTEs for
+ zeta.. yay.. not.
+
+commit 2fdeb4d5a5cc8b93bf885ba646e3a29a68c755ed
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Thu Jun 12 23:49:26 2008 +1000
+
+ nv50: comment on a so-far unseen bug
+
+commit 4d520e0b76cf54ae8eb5464afc126c6cc5c6bfdc
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Thu Jun 12 14:47:17 2008 +1000
+
+ nv50: another vbo format
+
+commit 4bde3a72ab0b4246cd779a6d1e2a72943f25c0f6
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Thu Jun 12 14:40:20 2008 +1000
+
+ nv50: fix blend cso
+
+commit 619549a6377a58d54c9cf55f8863beed56b09566
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Thu Jun 12 14:21:28 2008 +1000
+
+ nv50: valgrind complaint
+
+commit 027ed25c12f69b39e205d3bbd26b68e9a02bea81
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Thu Jun 12 14:15:38 2008 +1000
+
+ nv50: draw_elements() - inline only for the moment
+
+commit 163d9aa1fe33612e7806549e47b257b61ca5045e
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Thu Jun 12 13:59:51 2008 +1000
+
+ nv50: support a couple more common VBO formats
+
+commit f700d6be6335a4d4394296891f783687b6f2d4f2
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Thu Jun 12 13:50:56 2008 +1000
+
+ nv50: remove some cruft, don't upload program unless really needed
+
+commit ab3d55e2e3578db8deba84dcf47a024071486bd8
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Thu Jun 12 13:11:41 2008 +1000
+
+ nv50: more efficient const upload + fixes (fp/* works now!)
+
+commit aea1669ff221f97682f0be6a60632e40c2739d09
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Thu Jun 12 12:39:35 2008 +1000
+
+ nv50: use constbuf segment 0 for everything - I can't make the others work..
+
+commit 1c7489bd7e5391136d0f2e68b467de89eb2d2bfc
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Thu Jun 12 12:26:43 2008 +1000
+
+ nv50: allow relocating a shader's constants at upload time
+
+commit 40137ea2631a0c8158f99ae30ca90ed038b72076
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Thu Jun 12 12:16:43 2008 +1000
+
+ nv50: carry instructions around in nv50_program_exec, not a flat array
+
+commit f50e78e83cf7bda3537ac82de863096d829f13ee
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Jun 11 15:28:41 2008 +1000
+
+ nv50: get vp working again, fp is broken regardless somehow..
+
+ g8x sucks :)
+
+commit 19a1e9015e4ae429ab26e56848104fa209590338
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Jun 11 14:59:19 2008 +1000
+
+ nv50: rename nv50_state.h to nv50_program.h
+
+commit 585ae74d87f3d04a4b5b7c068b865292afd1a16b
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Jun 11 13:24:32 2008 +1000
+
+ nv50: move magics take 2
+
+commit bce558b37cde4be5c70117f49a2570f2988e5849
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Jun 11 13:15:23 2008 +1000
+
+ Revert "nv50: move some magics"
+
+ This reverts commit 0a38de30429d3075fc6dfc9ff3729c5ca11f0c2f.
+
+commit 7e9f6e290da23d7963857241b541e00c1fcf20dc
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Jun 11 13:00:20 2008 +1000
+
+ nv50: move some magics
+
+commit 7b7df34781844c39998d60bbb60880d960da3fb1
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jun 9 19:50:17 2008 +1000
+
+ nv50: various fixes + SCS
+
+commit 21e688e0a3faeef18b07c4d860bd71cc6e3ddf4a
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jun 9 18:01:03 2008 +1000
+
+ nv50: LRP
+
+commit 454394e749feca5ac00e7a270e6ca5529581d228
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jun 9 17:36:22 2008 +1000
+
+ nv50: quick hack so progs/fp/fp-tri works for the moment
+
+commit 51ea3aae03154046316b814053f7493bdb10c853
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jun 9 16:41:08 2008 +1000
+
+ nv50: fix SGE/SLT when sources need swapping
+
+commit 31f6a24b59b0ac18e04336d2e3cbaa643358c88a
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jun 9 16:35:07 2008 +1000
+
+ nv50: support the other TGSI_UTIL_SIGN modes
+
+commit 6d0f7ea95475009ee17862786469f7b9a34a797f
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jun 9 16:26:51 2008 +1000
+
+ nv50: note some things discovered during renouveau session
+
+commit 713ef6ccd2590bd866598bb6d4f646e9ec29ba78
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jun 9 13:31:42 2008 +1000
+
+ nv50: use emit_flop() instead of building RCP manually on interp
+
+commit b5bbf09c42a9d563984fad875ced5c4814033a3d
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jun 9 13:09:55 2008 +1000
+
+ nv50: remove NV50_PROG_{VERTEX,FRAGMENT}
+
+commit 776e9581d16fc0fd28058fbcd879756fd5d40b96
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jun 9 13:07:38 2008 +1000
+
+ nv50: delayed write of fragprog result regs until end of program
+
+commit 34a039ae7b158cacb5b20d91067e9d6458d30a56
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Jun 8 15:51:54 2008 +1000
+
+ nv50: fix src1 & src2 == const
+
+commit afcaeaa0e4dc3ced40621c76304a2c0c5a3ab403
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Jun 8 14:12:01 2008 +1000
+
+ nv50: note a critical bug
+
+commit 6ca31aa55eada38ad8b8a249b9e79a83b9784c04
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Jun 8 12:27:36 2008 +1000
+
+ nv50: hehe, damage from tex-surfaces.. surface_fill() reenabled now :)
+
+commit 9a37a56c8ab8c64bdadb1e1e807f885d6a5e3121
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Jun 8 11:23:06 2008 +1000
+
+ nv50: obey writemask in a couple of places
+
+commit 01e36eb531dfb4b1b3fd38d3fc00c6770833b5ea
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sat Jun 7 19:54:04 2008 +1000
+
+ nv50: LIT - sort-of
+
+ *somehow* we have the exact same bug here as on nv4x, the difference being
+ on nv4x the hw actually has a LIT opcode.. NVIDIA doesn't have the bug on
+ either arch FWIW.
+
+commit fe90cc509f75772ce202930c934bade1d4b116c8
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sat Jun 7 17:42:00 2008 +1000
+
+ nv50: obey per-source abs (TGSI_UTIL_SIGN_CLEAR)
+
+commit faa1c02546db00f69c66db18076b5b0ac86d7138
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sat Jun 7 17:36:10 2008 +1000
+
+ nv50: create emit_pow() - emit_lit() will need to use it
+
+commit 686bc00c05094e8678747c111a6a70ad4b7063e3
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sat Jun 7 16:51:07 2008 +1000
+
+ nv50: oops, copy+pasto
+
+commit ea4b09cbcbd9db82648ab30f18c0f46a66ab9f69
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sat Jun 7 16:08:36 2008 +1000
+
+ nv50: POW!
+
+commit 688064236ba8b5997014493eb6c6e3fe0739813e
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sat Jun 7 16:01:06 2008 +1000
+
+ nv50: fixes + untested _SAT modifier
+
+commit 34abb858e2aaef2c1a066a7cdb3e0376d6c9f6bd
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sat Jun 7 15:21:05 2008 +1000
+
+ nv50: handle 0/1 SWZ
+
+commit 33e4d30d50344be26398a51365bea1be37487403
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sat Jun 7 14:10:48 2008 +1000
+
+ nv50: DST
+
+commit 68091b0c89310c309b668c9d6d80640dc6040ab7
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sat Jun 7 13:01:58 2008 +1000
+
+ nv50: ABS
+
+commit b4f7463585071236d633e4c857dbbdf67b03dc94
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sat Jun 7 12:55:06 2008 +1000
+
+ nv50: FLR/FRC
+
+commit bdd31c20abb27665ca701a5a46e29d4cfa71f679
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sat Jun 7 11:41:47 2008 +1000
+
+ nv50: SGE/SLT
+
+commit d69f33423087fc054181c60724f4bcbe29195e08
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Jun 6 13:57:59 2008 +1000
+
+ nv50: small cleanup
+
+commit 21e18e2b74d71c93af06ef4c603ca371c4614237
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Thu Jun 5 23:48:23 2008 +1000
+
+ nv50: DPH, XPD, some TODOs
+
+commit fbf4027dd9b279ec159906dcad134f71e34aaec8
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Thu Jun 5 18:52:16 2008 +1000
+
+ nv50: fix EX2.. somehow
+
+commit 7df7f7bb99441ed8e2fba2840e0459e72691f272
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Thu Jun 5 18:39:00 2008 +1000
+
+ nv50: big fuckup, fix it
+
+commit 52a69196c1680ff16d1ad1fc88e5869bc6055d00
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Jun 4 21:45:32 2008 +1000
+
+ nv50: some fixes + MIN/MAX
+
+commit 2a1fb44d75364f2492a1ae5d232218a92b8ca807
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Jun 4 21:23:14 2008 +1000
+
+ nv50: checkpoint: shader code now exceeds caps of "old" code
+
+commit e55964099b0d47dea80920765daac09b9e2a61a7
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Jun 3 12:38:12 2008 +1000
+
+ nv50: remove hardcoded fp stuff
+
+commit 8ec6415e9fcf876c67bc1624f3eb7dd7624b7791
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Jun 3 12:37:29 2008 +1000
+
+ nv50: start using interpreter for fragprog too, not hardcoded passthrough
+
+commit 55b2fe1047b37d0d86641a252e1c745111030393
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jun 2 23:52:58 2008 +1000
+
+ nv50: drop the majority of the old shader code, reimplement, only MOV so far.
+
+commit 22e0acc466947b203574c88f4964f61ef46ae3fd
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jun 2 13:01:09 2008 +1000
+
+ nv50: split code/data upload out, fp will use it later on
+
+commit 207b7974723c6b88aacfa3703a1e049ff35db6a8
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jun 2 12:12:16 2008 +1000
+
+ nv50: DPH
+
+commit 38ce697e5942550888c28bd4859ca2a92f247bf7
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jun 2 12:08:06 2008 +1000
+
+ nv50: implement SUB
+
+commit 41cd9bddf77ea60f84a957e83ddf098818c95c41
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Jun 1 23:16:17 2008 +1000
+
+ nv50: fucking horrible hack, I really hate G8x shaders..
+
+commit 716c1cd2ecbc1e86c0fd747c9fa9e095ded5fd5d
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Jun 1 23:10:31 2008 +1000
+
+ nv50: use "real" constbufs for shaders + tcb uploads
+
+commit f722fd937db2f3cacf1947d538c66528fd16eb89
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Jun 1 22:41:40 2008 +1000
+
+ nv50: import current "state of the art" nv50 code
+
+commit b6478021d572d9ec30212d6e6992496ee4cf347d
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Jun 29 13:26:04 2008 +1000
+
+ nouveau: adapt to cpp->pf_block changes
+
+commit cc8e628563a1cfb26752bc014a75f3087cd8986d
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Jun 29 13:02:31 2008 +1000
+
+ Revert "mesa: Use the appropriate relocation."
+
+ This reverts commit cb09d1ef60dae3b3c44f1370fd2f726c7044bc17.
+
+commit 01de2293d5449ab6ca1d99b007c9ea4f0037fef5
+Merge: b831aa0 9d94d13
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Jun 29 12:16:13 2008 +1000
+
+ Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1
+
+commit 6cb12704916822aa4d0895a6427e110afe4bfa58
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jun 28 16:48:31 2008 -0600
+
+ s/GL_INVALID_VALUE/GL_INVALID_OPERATION/ in _mesa_get_uniformfv()
+
+commit b429e9b2d74ece0906602d2f843c0f8bf74c44f4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jun 28 16:48:23 2008 -0600
+
+ mesa: added null ptr checks
+
+commit 9d94d133b019ef23ee03cc691fcb5602451604ae
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jun 28 16:47:39 2008 -0600
+
+ mesa: added null ptr checks
+
+commit 2242769a13de228df10fb55d50aa4d96c99d5975
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jun 28 16:47:22 2008 -0600
+
+ s/GL_INVALID_VALUE/GL_INVALID_OPERATION/ in _mesa_get_uniformfv()
+
+commit a1ec6efce0f614dfc2fb7af2cab68eca3be43850
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jun 28 16:15:03 2008 -0600
+
+ mesa: check FEATURE_point_size_array
+
+commit d4b100a6a1f13ceaedf603bdce5ce95c2ce7e12c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jun 28 16:04:01 2008 -0600
+
+ egl: set config's EGL_CONFORMANT, EGL_RENDERABLE_TYPE, EGL_SURFACE_TYPE attributes
+
+commit 8f91a83669b8626678eb38fbbdd304c72243b6fe
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jun 28 16:03:28 2008 -0600
+
+ egl: fix default value of EGL_SURFACE_TYPE, added some sanity check assertions
+
+commit 0f9a1e43bce9bfa7a9cba2d7008fcec2890db02a
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat Jun 28 20:40:44 2008 +0900
+
+ egl: WinCE doesn't have sys/types.h
+
+commit f6da1453c5b4add37518b2e1f27abb02854864f2
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Thu Jun 12 06:46:32 2008 -0700
+
+ DRI-specific pkg-config file
+
+ Since the gl pkg-config file doesn't convey any specifics about the
+ backend in use, this adds a new pkg-config file for when DRI is in use.
+ This can be used by the xserver build to determine if the DRI and/or
+ GLX extensions are appropriate.
+
+commit 985e1cdfe82336d3ce97470eaf98c3c9d54532c8
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Wed Jun 4 13:17:06 2008 -0700
+
+ autoconf: Check for posix_memalign
+
+ Rather than just defining HAVE_POSIX_MEMALIGN on Linux, check whether
+ the function exists on all platforms and define the macro if it is.
+
+commit a7499b7fc753653fd24a91b1ab6a5b68e479193b
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Fri Jun 27 16:47:22 2008 -0400
+
+ egl: helps if the stride is right
+
+commit 838b0d6e480c9ae90abb067c1ba4aee413df6fd9
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Fri Jun 27 15:56:09 2008 -0400
+
+ eh, we need a buildbot... fix the compilation
+
+commit 429a08384c2ea66d446e46beb28e33ee3b764d52
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Fri Jun 27 16:02:43 2008 +0200
+
+ gallium: handle msaa
+
+commit a1fb565ea7ac9f86beb4deece6a24d79e7b7860e
+Author: Robert Ellison <papillo@tungstengraphics.com>
+Date: Thu Jun 26 08:55:00 2008 -0600
+
+ egl: These changes allow an eglBindAPI(EGL_OPENGL_ES_API) to succeed, and to work correctly with GLES1 and GLES2.
+
+ - egl_xdri.c just sets the EGL_OPENGL_ES_BIT as well as the
+ EGL_OPENGL_BIT in ClientAPIsMask
+
+ - eglconfig.c allows the renderable type to include EGL_OPENGL_ES2_BIT
+ as well as EGL_OPENGL_ES_BIT.
+
+ - egl_xlib.c sets the EGL_NATIVE_RENDERABLE attribute to EGL_FALSE for
+ all softpipe configurations. (Otherwise, an eglChooseConfig() that
+ looks for particular values of EGL_NATIVE_RENDERABLE will fail.)
+
+commit b028b0cc533b4e10cdf599e49731e3c30fb0e366
+Author: Jonathan White <jwhite@tungstengraphics.com>
+Date: Fri Jun 27 07:13:30 2008 -0600
+
+ egl: Windows updates to the platform.h files
+
+commit 5b9d823545ec588ea97cc599a278626b99430d81
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Fri Jun 27 14:16:42 2008 +0200
+
+ i915: Fix the last of the stride/pitch changes
+
+commit fb95b603efa3a70b73d28f0e3a7886fe736b9787
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Jun 27 20:56:49 2008 +0900
+
+ mesa: Replace void * arithmetic.
+
+commit 4f45dbc6aa9b55d96cf6aeb32117e117e333b4a8
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Jun 27 20:56:29 2008 +0900
+
+ gdi: Update for cpp removal.
+
+commit 891469a3a5525a741094fd3f1e4a1270ec8b3c3b
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Jun 27 20:10:04 2008 +0900
+
+ cell: Update for cpp removal.
+
+ Not tested -- just mymic the softpipe changes.
+
+commit 4ddd65967915ca4846f2831bc676c878a29dae4a
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Jun 27 19:37:56 2008 +0900
+
+ gallium: Drop pipe_texture->cpp and pipe_surface->cpp.
+
+ The chars-per-pixel concept falls apart with compressed and yuv images,
+ where more than one pixel are coded in a single data block.
+
+commit 05cfb4c4b84b4e3119112c381ceffc583a4ef5fe
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Jun 27 13:41:23 2008 +0900
+
+ scons: Get x86-64<->x86 cross build of assembly files right.
+
+commit 6106db4c5da6fc5ae9ef157c939ce0834cdc5b92
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Jun 27 13:01:37 2008 +0900
+
+ scons: Fix i965/xlib build.
+
+commit fb4361a93d2bfdd69995d3421bfeb5a339dad5bf
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Jun 27 12:35:18 2008 +0900
+
+ scons: Fix typo.
+
+commit cb09d1ef60dae3b3c44f1370fd2f726c7044bc17
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Jun 27 12:34:57 2008 +0900
+
+ mesa: Use the appropriate relocation.
+
+ I don't fully understand this, but this matches the assembly code gcc
+ generates glapi.c and fixes following error on x86-64 with assembly:
+
+ relocation R_X86_64_PC32 against `_gl_DispatchTSD' can not be used when making a shared object
+
+commit f059a3302260075e9cfd35649dc3877726291d8d
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jun 26 15:34:27 2008 -0700
+
+ intel: Fix locking when doing intel_region_cow().
+
+ This was broken in the merge of 965 blit support. It tried to lock only
+ when things were already locked.
+
+commit 93f701bc3619864ac6f067d37212e96545a57e16
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jun 26 13:45:31 2008 -0700
+
+ intel: Replace sprinkled intel_batchbuffer_flush with MI_FLUSH or nothing.
+
+ Most of these were to ensure that caches got synchronized between 2d (or meta)
+ rendering and later use of the target as a source, such as for texture
+ miptree setup. Those are replaced with intel_batchbuffer_emit_mi_flush(),
+ which just drops an MI_FLUSH. Most of the remainder were to ensure that
+ REFERENCES_CLIPRECTS batchbuffers got flushed before the lock was dropped.
+ Those are now replaced by automatically flushing those when dropping the lock.
+
+commit 3b132b297febf99d7f3989d82f09578471880321
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Jun 26 22:53:29 2008 +0100
+
+ Check in SwapBuffers for any new pending dri2 events
+
+commit 38d779a3e68bb0ed78135c868e5bd435e1d91fb5
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Jun 26 23:39:13 2008 +0900
+
+ gallium: Describe pixel block.
+
+ Chars-per-pixel paradigm is not enough to represent compressed and yuv
+ pixel formats.
+
+commit d378f7b3dfda3b549e4b02380e492671cc34bb59
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 25 08:45:14 2008 -0600
+
+ mesa: point size arrays
+
+commit f6abe8f0f2fba3073b58b96ed38aae163c765b4a
+Merge: a42dac1 5174b85
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jun 24 14:08:08 2008 -0700
+
+ Merge commit 'origin/master' into drm-gem
+
+commit 5174b85a0cb13b06779ea6fc0a8362c9fe57e2ea
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jun 24 14:04:11 2008 -0700
+
+ intel: Fix glCopyPixels when x or y are < 0 in hw coordinates.
+
+ Nothing would get drawn as the negative coordinates broke the rectangle
+ intersection code that used unsigned ints. Tested with copypix demo and
+ sliding the copy to the upper left.
+
+commit 9a0d773116c6e9d7a63a63644a12170b7486a86e
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jun 24 13:18:40 2008 -0700
+
+ i965: Use the shared intel_pixel_copy.c.
+
+ This disables the textured copy implementation on 965, which didn't appear
+ to work (mesa copypix demo, disable the blit path, move so that regions don't
+ overlap and textured is used, and you get garbage). If we resurrect this for
+ i965, I'd rather it used the 915-style metaops instead. Current metaops code
+ left in place so that whoever picks it up has a reference.
+
+commit b831aa06dc0d099185bcaa180683ad10942feaa0
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Tue Jun 24 21:04:37 2008 +0200
+
+ nv30: add context value
+
+commit 744357e29c6a51b9e1770e0340eee5105f6b5585
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jun 24 11:49:21 2008 -0700
+
+ intel: Same pixel function init for everyone now.
+
+commit f5eb62a1161f050925c5c0b4839c437b29bdbc6b
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jun 24 11:44:42 2008 -0700
+
+ intel: Avoid glBitmap software fallback for blending when no blending occurs.
+
+ Mesa demos tend to leave blending on but in GL_ONE/GL_ZERO, or
+ GL_SRC_ALPHA/GL_ONE_MINUS_SRC_ALPHA with a source alpha of 1.0.
+
+commit f23adc504d8202bbcc78121567a61c0b24819422
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jun 24 11:34:42 2008 -0700
+
+ intel: Merge check_blit_fragment_ops between i915/i965.
+
+ Both had some useful bits for the other.
+
+commit bb1089192572714a604cbef836c34cb16da933f4
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Jun 25 04:08:17 2008 +1000
+
+ nouveau: major thinko
+
+commit b40ed6a0b54d1ba74799aeb3f529c4d298625aa1
+Merge: 95fe122 0561a29
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Jun 25 04:05:11 2008 +1000
+
+ Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1
+
+commit 90d33edf37d12495fcfb4876d1048f3ed5df2b9b
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jun 24 10:50:10 2008 -0700
+
+ intel: Note reasons for blit pixel op fallbacks under INTEL_DEBUG=pix.
+
+commit eda68cccc072c10f94c096b9877d09a787069631
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jun 24 09:37:07 2008 -0700
+
+ i915: Add support for accelerated glBitmap, shared from 965.
+
+commit 59890987799624e07083300d291f2457baff0192
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jun 24 09:48:23 2008 -0700
+
+ i915: Fix read != draw drawable for glCopyPixels.
+
+ Taken from commit bad6e175cf59cce630c37d73f6e71f3a4de50ae6.
+
+commit 98fa0aec366ac41065698fd9bf76731b7d08f1f7
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jun 24 09:41:58 2008 -0700
+
+ i915: Allow accelerated pixel ops to be disabled with INTEL_NO_BLIT.
+
+ This matches 965.
+
+commit 0561a293b6596641c0200df7e6580599ecb8b111
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 24 08:47:15 2008 -0600
+
+ gallium: remove some old dispatch code
+
+commit 2b692335101d248106b4e1c2d116a1f95712fd25
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 24 08:45:59 2008 -0600
+
+ gallium: remove bad assertion
+
+commit 62fd280c524b282f2448995a353d94f973d904d4
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Tue Jun 24 16:06:59 2008 +0200
+
+ gallium: Fix whole source being used in u_blit
+
+commit fd6676c249338622da96a435058679d971ba59e5
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jun 24 22:26:19 2008 +0900
+
+ Fix CRLF line endings.
+
+commit 67262c82a17eebfb58cfbf39e512a5981185acfe
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jun 24 22:17:39 2008 +0900
+
+ Allow CRLF automatic conversion on MSVC project files.
+
+ MSVC doesn't really care, and it is frequently causing merge conflicts.
+
+commit e95697758eda9b92a01a504bce823acd5201b48d
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Tue Jun 24 14:42:12 2008 +0200
+
+ i915: Create a texture and surface for shared frontbuffer
+
+commit 19dad109bb7b271e0bb4b55e1374c299770b107e
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Tue Jun 24 14:19:30 2008 +0200
+
+ i915: Added texture_blanket function
+
+commit 2d11411b19f725591e096b8a75dec94831d7bce7
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Tue Jun 24 13:09:43 2008 +0200
+
+ i915: Moved screen creation to intel_be_device
+
+commit e8af160b247a4cf60c82a3d0c63ec952aef22d96
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Tue Jun 24 13:00:42 2008 +0200
+
+ gallium: Fix warning in u_blit.h
+
+commit 72edcd171190f1d358abeb485582c87c104f5add
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Tue Jun 24 14:30:38 2008 +0200
+
+ egl: Stdint was missing from eglconfigutil.h
+
+commit 8c90148cb90c6e5947068e5f7dc9be4e46614dfe
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jun 24 20:44:47 2008 +0900
+
+ mesa: Fix Windows GDI winsys build.
+
+commit 9dfa6063be5ea506cc5a43d352fa2f7dcfa68dff
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jun 24 14:22:09 2008 +0900
+
+ gallium: Avoid double arithmetic.
+
+commit a148025d94505bca08f9baa1689048032bb60e2c
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jun 24 14:18:07 2008 +0900
+
+ mesa: Use standard integer types.
+
+ Especially get rid of the non-portable long long.
+
+commit b6f053739f66c1c88db12df4690051c0a54ff0f7
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jun 24 14:02:24 2008 +0900
+
+ mesa: Replace deprecated __MSC__ macro.
+
+commit 4802a687a7050b7b5dd3683ae43fd4f26c4a718e
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jun 24 14:00:10 2008 +0900
+
+ dri/intel: Use standard integer types.
+
+commit e8b52b3f5682c969e58077d42f5aebdad5d32e89
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jun 24 13:56:41 2008 +0900
+
+ gallium: Drop deprecated __MSC__ macro.
+
+commit 0d947674305a349662b3ab57733c54f9f4c1a8b3
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jun 24 13:55:38 2008 +0900
+
+ egl: Use standard integer types.
+
+commit 2e328dcde2be8174b2a78936206ced71b03b2b57
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jun 24 13:51:52 2008 +0900
+
+ mesa/dri: User standard integer types.
+
+commit 5c1a78b7a85d23ad1358b34d03a0002a19483655
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jun 24 13:12:41 2008 +0900
+
+ mesa: More signed/unsigned float/integer fixes.
+
+commit 0b3d1b1ea44791068e8c3dc88549c798fb5e0ea8
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jun 24 13:00:03 2008 +0900
+
+ mesa: WGL is not part of the WinCE API.
+
+ Although it would be interesting having the GDI winsys running on WinCE
+ several Windows GDI API functions and data structures are missing from
+ WinCE headers, making this far from a trivial endeavor.
+
+commit b750b5326df0a067f9baf237bee50d31ca69729d
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jun 24 11:40:25 2008 +0900
+
+ gdi: Update for surface_alloc_storage changes.
+
+commit 18ec140ef27b6488bea9d54e21b08b0a3afbcafe
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jun 24 11:34:46 2008 +0900
+
+ mesa: Use appropriate unsigned/signed, float/integer types.
+
+commit 80b359f574cd8565af46e0900d2da9dd0faf4291
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jun 24 11:33:03 2008 +0900
+
+ mesa: Use _mesa_bsearch.
+
+commit 182b644c71462d86be2f2c79c9ff3fa636b7470a
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jun 24 10:58:55 2008 +0900
+
+ mesa: bsearch implementation for WinCE.
+
+commit c921a29b3a696f6fa99b648d6cd975dbcf106429
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jun 24 10:56:36 2008 +0900
+
+ mesa: Replace abort by asserts.
+
+commit c47248bdf8d55f985b199fc6e15b0177305cb6fd
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jun 24 10:18:08 2008 +0900
+
+ mesa: Move variable declarations to the scope top.
+
+commit 543bba6ee3a1b3a947d1dfaca75e820ef7b98843
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jun 24 10:17:32 2008 +0900
+
+ mesa: Don't include sys/types.h on WinCE.
+
+ We probably shouldn't be including sys/types.h at all, but let's leave that
+ for another time.
+
+commit 89e9d6b6db933c870443714c3d7c9539d117cddf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 23 17:13:14 2008 -0600
+
+ gallium: added support for fixed-point formats, drawing
+
+commit a42dac187973cbc17be6c59db89264cbc935ab91
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Jun 23 15:44:10 2008 -0700
+
+ i915: Accumulate the VB into a local buffer and subdata it in.
+
+ This lets GEM use pwrite, for an additional 4% or so speedup.
+
+commit dc73d15a9a1cc830781f8f3ef81507bfff79b7f9
+Author: Jonathan White <jwhite@tungstengraphics.com>
+Date: Mon Jun 23 16:24:58 2008 -0600
+
+ gallium: code for PIPE_SUBSYSTEM_WINDOWS_USER
+
+commit 62d66caeba786f01f6159c980fda79606afe4c61
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Jun 20 15:00:44 2008 -0700
+
+ i915: Convert to using VBs instead of inline prims.
+
+commit 95fe122f67024f55d555e2816a95409a8b53a49e
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Mon Jun 23 21:46:51 2008 +0200
+
+ nv30: add state zsa, based on nv40 one
+
+commit 0e1b36b0b257bfba4427a1e6e12c918e744b9977
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Mon Jun 23 21:37:41 2008 +0200
+
+ nv30: add state viewport, based on nv40 one
+
+commit d4bc56ca49ef39f9f083a2e5adeb3e89ca3bf538
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Mon Jun 23 21:13:27 2008 +0200
+
+ nv30: add state stipple, based on nv40 one
+
+commit e5bbb18441f34824dc4f9f857b30c71c4ff6466f
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Mon Jun 23 20:43:22 2008 +0200
+
+ nv30: add state scissor, based on nv40 one
+
+commit 8b72737a0ba33343673111261265c59546b408c6
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Mon Jun 23 20:37:27 2008 +0200
+
+ nv30: add state rasterizer, based on nv40 one
+
+commit 8db7ef544c4f1be702e34b97882441df31274f10
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jun 24 02:37:21 2008 +0900
+
+ mesa: ASSERT macro is already defined by WinCE headers.
+
+ Even when just the standard headers are used....
+
+commit ab7ad60d47fdd6fbbbbdb8968676083356e8692d
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jun 24 02:35:50 2008 +0900
+
+ mesa: No getenv on WinCE.
+
+commit d9f38a2ad1477cc6aeb94c083ab439b8c704be2e
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jun 24 01:26:22 2008 +0900
+
+ gallium: Use the more portable PIPE_ARCH_* PIPE_CC_* macros instead of ad-hoc ones.
+
+commit 72b6fddefb15b98499eda422a30a1e92da4c2850
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jun 24 01:25:20 2008 +0900
+
+ gallium: WinCE does not have cosf, sinf, etc.
+
+commit 25da42a650048cd960c81af56744e5fdadd923ad
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 23 11:27:44 2008 -0600
+
+ gallium: in softpipe_get_tex_surface() use the pitch specified in the softpipe_texture object.
+
+ Fixes a pitch/width mix-up.
+
+commit f52ab4cc22bfb6708724f3c3966ce734d605cddd
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Mon Jun 23 17:57:45 2008 +0200
+
+ i915: Add render and texture support for tiled texture and buffers
+
+ This is step towards tiled textures and buffer support for
+ i915. But the tiled attribute is never set.
+
+commit a479bf62353b6517841e620122112e7565d2391c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 23 09:50:09 2008 -0600
+
+ gallium: fix-up inverted do_copy_texsubimage()
+
+ The logic/arithmetic for inverting the src image is a bit simpler now.
+
+commit f738c3acaca235c68a26c7b7d41903c64a36ae9f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 23 09:47:12 2008 -0600
+
+ gallium: fix Y-inverted copies
+
+ Don't require the caller to pass a non-intuitive negative src_y coord anymore
+ when doing a src-inverted copy.
+
+commit 81b1a4224de1992d25ada006f54ff9147aa82da3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 23 09:07:56 2008 -0600
+
+ gallium: remove dead/prototype code
+
+commit e14126ec811e4f37cf085be27cac4f750d9e011a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 23 08:54:16 2008 -0600
+
+ gallium: change surface_copy()'s do_flip to boolean
+
+commit f1601c2b75ca4c2223079f676cf796843b284df2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 23 08:51:00 2008 -0600
+
+ gallium: fix bad srcy coord if do_flip
+
+commit 92d48a4cb9481adc7abd7cdf9550fbf5a9c9613d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 23 08:44:30 2008 -0600
+
+ gallium: fix bad srcy coord if do_flip
+
+commit 016dbb0cf395702cfad046f827e3cc4541ae5818
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 23 08:35:41 2008 -0600
+
+ gallium: added some assertions
+
+commit 76b94a636eea0ffb642a90cf9ff4a00bfe6e064e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 23 08:14:14 2008 -0600
+
+ Don't make libmesa.a or libglapi.a depend on asm_subdirs
+
+ Since the asm_subdirs target does not actually create a file, make will
+ always consider that it needs to be rebuilt. If libmesa.a and libglapi.a
+ have asm_subdirs as a prerequisite, then they will always need to be
+ rebuilt, too. The correct order will be preserved by the default target,
+ though.
+
+ This should fix #16358.
+
+ Conflicts:
+
+ src/mesa/Makefile
+
+ cherry-picked from master
+
+commit 8319f2f326f74a93b51eb3db1e9f619a2a74e14e
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Sun Jun 22 20:19:35 2008 -0700
+
+ Create $(TOP)/$(LIB_DIR) for install, too
+
+ If `make install' is run without running `make' first, the $(LIB_DIR)
+ will not be created. This also changes the mkdir a little bit so that it
+ isn't run if necessary and added `-p' so that it is immune to races.
+
+commit 464c585681a647542e4ae8188dc2883c0c8a142e
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Sun Jun 22 20:29:45 2008 -0700
+
+ Ensure all objects are built when installing DRI
+
+commit 708bb35194e16bf7aaf5cd676f572b7200a156d1
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Mon Jun 23 16:01:41 2008 +0200
+
+ util: Blit can now copy from texture to surface
+
+commit 52501801c7107614387717e7b97e66a667f9e5b8
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Mon Jun 23 15:54:25 2008 +0200
+
+ gallium: Add accessor functions to get textures from a st_framebuffer
+
+commit f78cc24c4b4f253223044b7019daf3e954f38a07
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Jun 23 12:49:45 2008 +0900
+
+ scons: Update to target WinCE 6.0.
+
+commit f08da6b8214f1bf1d4a33e19dac4eeb155302481
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Mon Jun 23 12:31:46 2008 +0200
+
+ gallium: Fix warning in u_draw_quad.h
+
+commit d40ff294510236faff4bb9a58b81282705b98562
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Thu Jun 19 20:28:20 2008 +0200
+
+ i915: Removed level_offset from i915_texture
+
+ All offsets are now on image_offset.
+
+commit fe3b62b5b1a6ed5f81fa0b849f3a81a8cf43c810
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Sun Jun 22 20:29:45 2008 -0700
+
+ Ensure all objects are built when installing DRI
+
+commit 5aa4d5a87d3edea6503a7b9853a318e71718af7c
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Sun Jun 22 20:26:20 2008 -0700
+
+ Don't make libmesa.a or libglapi.a depend on asm_subdirs
+
+ Since the asm_subdirs target does not actually create a file, make will
+ always consider that it needs to be rebuilt. If libmesa.a and libglapi.a
+ have asm_subdirs as a prerequisite, then they will always need to be
+ rebuilt, too. The correct order will be preserved by the default target,
+ though.
+
+ This should fix #16358.
+
+commit 7ec5e6a0320639920fcf325895acb57fb3dad5c7
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Sun Jun 22 20:19:35 2008 -0700
+
+ Create $(TOP)/$(LIB_DIR) for install, too
+
+ If `make install' is run without running `make' first, the $(LIB_DIR)
+ will not be created. This also changes the mkdir a little bit so that it
+ isn't run if necessary and added `-p' so that it is immune to races.
+
+commit 5a01060eb95cb2cb168cb7224ecc805020584c91
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jun 23 00:14:21 2008 +1000
+
+ nouveau: update for interface changes + hack around gallium x86_64 bustage
+
+commit aa3ab377e6e2e5811cdd704d87c3e24acb5eff72
+Merge: 8c26a52 e2c3f06
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jun 23 00:01:17 2008 +1000
+
+ Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1
+
+ Conflicts:
+
+ configs/default
+
+commit e2c3f06e9649b5b87fc9adbca7d1f07841bba895
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Jun 22 13:14:29 2008 +0100
+
+ draw: fix non-i386 builds
+
+commit 8c26a521ee80f5d8a1d0aabd0910233aad400322
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Sat Jun 21 22:59:05 2008 +0200
+
+ Update for extra vertex attributes
+
+commit 71d2578ac5530c8641bcd5d9a9654373a6ce853e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jun 21 10:55:24 2008 -0600
+
+ replace __inline and __inline__ with INLINE macro
+
+commit ba97ed2b743ba0b6631e0fbcf2ab12afe885f87c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jun 21 10:52:40 2008 -0600
+
+ replace __inline and __inline__ with INLINE macro
+
+commit cc96d5492038cb79806031e513365e08647d6bfa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jun 21 10:52:32 2008 -0600
+
+ replace __inline and __inline__ with INLINE macro
+
+commit 37f19b94ac31d7a6f77ed9936c28ec8f36983721
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jun 21 10:49:45 2008 -0600
+
+ replace __inline and __inline__ with INLINE macro
+
+commit 402e7f76b15e619a83d1d1587d1dd181d313e543
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jun 21 10:49:40 2008 -0600
+
+ #undef DEBUG to silence warnings
+
+commit 5ee7b7912c1fe7b09d13ae385088e4281b62eba6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jun 21 10:34:38 2008 -0600
+
+ replace __inline and __inline__ with INLINE macro
+
+commit 055ab81920e7299ec4fce8f9908c88c001050a92
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jun 21 10:34:00 2008 -0600
+
+ replace __inline and __inline__ with INLINE macro
+
+commit 24197b4901c72b3a2c6afcb3f6936e0876853e1d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jun 21 10:30:01 2008 -0600
+
+ replace __inline and __inline__ with INLINE macro
+
+commit 7899270b9f10b5671e7ea644a66832fe86b5a1a1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jun 21 10:27:36 2008 -0600
+
+ replace __inline and __inline__ with INLINE macro
+
+commit 2e922b0e35eda9e0dab9c085bdf83d2a1094dcbb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jun 21 10:24:43 2008 -0600
+
+ replace __inline and __inline__ with INLINE macro
+
+commit 2c1bead06928961a18aea14b3cae4e854ceb915e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jun 21 10:20:54 2008 -0600
+
+ s/inline/INLINE
+
+commit 77d917a74ae677bcd277654adb67e9e532730046
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jun 21 10:20:31 2008 -0600
+
+ remove old comments
+
+commit e1f9adc27445ea3381af1f71cfec0317298be5b1
+Author: Alan Coopersmith <alan.coopersmith@sun.com>
+Date: Fri Jun 20 17:58:53 2008 -0700
+
+ Solaris port of Mesa 7.1 with autoconf support
+
+ Signed-off-by: Brian Paul <brian.paul@tungstengraphics.com>
+
+commit f30e4af73405aad3ec29b7337a3a0177e3fbe715
+Author: Daniel Zhu <daniel.zhu@sun.com>
+Date: Fri Jun 20 17:51:39 2008 -0700
+
+ Rename quad function to quadr to avoid clash with Solaris quad typedef
+
+ Signed-off-by: Brian Paul <brian.paul@tungstengraphics.com>
+
+commit 1043a7c71ab6b655fa3345dd34df0a5e84f3e031
+Author: Alan Coopersmith <alan.coopersmith@sun.com>
+Date: Fri Jun 6 16:09:10 2008 -0700
+
+ Make minstall work with Solaris /bin/sh
+
+ Solaris /bin/sh doesn't set $PWD for you
+
+ Signed-off-by: Brian Paul <brian.paul@tungstengraphics.com>
+
+commit 4ba39c40aef45be5d534676c8661e90808deb602
+Author: Alan Coopersmith <alan.coopersmith@sun.com>
+Date: Fri Jun 6 16:06:09 2008 -0700
+
+ Fix builds with compilers other than gcc 3.0 & newer
+
+ Add #include "glheader.h" for definition of __builtin_expect for compilers
+ that don't support it.
+
+ Signed-off-by: Brian Paul <brian.paul@tungstengraphics.com>
+
+commit 3491cbea88e86a64d427298df1aba75e146f15e7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jun 21 10:14:22 2008 -0600
+
+ added pointer to beta/release candidates
+
+commit dc25661099bcc4b107a30ca504fcc2e76db3492e
+Author: Alex Deucher <alex@botch2.com>
+Date: Sat Jun 21 10:52:49 2008 -0400
+
+ R300: 1002:5657 is actually RV410
+
+ See bug 14289
+
+commit 5fea663b5f7abcdca00c5ff5d1b77f200b0d06ec
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Sat Jun 21 12:03:05 2008 +0200
+
+ nv30: Add state for blend
+
+commit 582b39ebb9f67e3b67a776be0961fe2e51ee46f7
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Sat Jun 21 10:11:37 2008 +0200
+
+ nv30: Update nouveau_class.h to get its proper defines instead of using nv40 ones
+
+commit b3f1aac95e5cef26824da08c89fcf2b08ac5ef86
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Sat Jun 21 02:50:11 2008 +0200
+
+ r200: fix typo in r200TryDrawPixels parameter validation (bug 16406)
+
+commit 2a5a95d0c08fe07b50385028b6972a4383f2b095
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jun 20 18:29:23 2008 -0600
+
+ gallium: s/feadback/feedback/, duh
+
+commit be4259b06cbb2b4c1d8a2dacc19313a30fa909d8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 20 17:28:42 2008 -0600
+
+ gallium: fix invalid call to draw_set_mapped_constant_buffer()
+
+ We were indexing sp_constants[i] outside the loop so i was 2.
+ Replace i with PIPE_SHADER_VERTEX.
+ Also, replace magic '2' with PIPE_SHADER_TYPES in a few places.
+
+commit f38bb109694f2879036c54c97c1c69ea2fecd6c8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 20 15:58:19 2008 -0600
+
+ gallium: fix some surface usage bugs
+
+ When a surface is created with GPU_WRITE that really means "GPU render"
+ and that can involve reads (blending). Set surface usage to
+ PIPE_BUFFER_USAGE_CPU_READ + WRITE. Fixes progs/demos/lodbias demo.
+
+ Also, mark texture as 'modified' when mapped for writing so that the tile
+ cache can know when to freshen a cached tile. Fixes glTexSubImage2D().
+
+commit 78791d1065c93694a105d4c2cdaee7678a69213a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 20 14:30:21 2008 -0600
+
+ egl: added cpp assertions/sanity checks
+
+commit 36aae1868345567975ce4fa449b547ae3e01dbc3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 20 14:29:49 2008 -0600
+
+ mesa: init ctx->RenderMode
+
+commit 677151ad71d7f0792fb79597e972e2cad2cfc7d4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 20 14:28:59 2008 -0600
+
+ egl: added null ptr check
+
+commit 5e1d657d50c247d903b865572bd3e74048e8a8f1
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Fri Jun 20 22:19:22 2008 +0200
+
+ nv30: Add separate nv30 state stuff for fb, based on nv40 one, need to use it now
+
+commit a9b46b9e4c79665febb21180150ba54731aa4bc9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 20 11:49:25 2008 -0600
+
+ mesa: GL_BYTE vertex/texcoord arrays
+
+commit 42c468a5dea30d1428205d81798eaf3a0c42ef3a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 20 11:32:22 2008 -0600
+
+ mesa: initial support for fixed-pt vertex arrays
+
+commit 8e0f166eb5edb8537af573d8d33a26ffaf8e66c9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 20 11:31:05 2008 -0600
+
+ mesa: refactor: move initialization of DefaultPacking state.
+
+commit 722db809e64cab61846c3f086fcba4847caad216
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 20 11:30:43 2008 -0600
+
+ gallium: always need st_init-blit()
+
+commit 62d1d591d5c4d6efdbb10b45e3a38116f95794b6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 20 11:30:21 2008 -0600
+
+ gallium: remove unneeded #include
+
+commit 39ce3940828fb816d7c1cf7f061d85f7db9a0c28
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 20 11:15:30 2008 -0600
+
+ mesa: fix errors in prev commit
+
+commit 9cae37870e66550d8cceac4b4a8765c1936d4ddc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 20 11:05:00 2008 -0600
+
+ mesa: revamp glBlendFunc loopback
+
+commit 1b241a4369fcba5972a7ab38b9a5595a434e0b56
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 20 11:04:37 2008 -0600
+
+ mesa: added _vbo_Materialfv()
+
+commit 71f67dde34546f40c7617948f8fa945288e55e17
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 20 10:48:14 2008 -0600
+
+ mesa: _vbo_Color4f, _vbo_Normal3f, _vbo_MultiTexCoord4f functions
+
+commit 95c9fc82f58a8f38d25b3e405891566c8f8a51f6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 20 10:47:38 2008 -0600
+
+ mesa: fix some FEATURE_x tests
+
+commit a87e717d0d302bc376eff29d17d35f1314ff1a57
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 20 10:20:47 2008 -0600
+
+ egl: added null ptr checks
+
+commit fbd6e86b8f3c9bdeae7581d8d852b4df66e4b42c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 20 10:20:25 2008 -0600
+
+ egl: implment EGL_LARGEST_PBUFFER query
+
+commit 8a75d109531755358708de5381eb912b7e2bf69c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 20 10:20:06 2008 -0600
+
+ egl: added null ptr check
+
+commit cae4444fa179c9ed556f1d1d207967b4e72736e2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 20 10:19:51 2008 -0600
+
+ egl: default API should be ES
+
+commit d7a4d498e4fe2ba8036626bc97913370ad991fac
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 20 08:09:59 2008 -0600
+
+ gallium: assorted FEATURE tests
+
+commit 2dcd4ce4b62122d1088d130bade83bd051fa6d0c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 20 08:09:46 2008 -0600
+
+ gallium: remove unneeded #include
+
+commit 907c0978affb6bc7f8cb077f568829ecfaa89b04
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 20 08:07:38 2008 -0600
+
+ mesa: test for FEATURE_ATI_fragment_shader
+
+commit 9f6a4e2a65ff872bc27e7081df7d6205393a1180
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 19 21:19:33 2008 -0600
+
+ egl: fix assorted context-related bugs
+
+ Move memset() to proper place.
+ Added EGL_CONTEXT_CLIENT_VERSION query.
+ Fix bad return EGL_FALSE -> EGL_TRUE.
+
+commit 78d05bcc27ba02282711174a8b3aa5f1ebea9151
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 19 16:15:56 2008 -0600
+
+ gallium: new st_api.c file with token symbol for identifying the API
+
+commit 158298eea075e87e4e3b4da9f6a606550f975b5d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 19 16:15:09 2008 -0600
+
+ gallium: remove unused vars
+
+commit 064001dbe7fd6cbb6bd5c91bdf7f0831b9c351a9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 19 16:12:17 2008 -0600
+
+ egl: use dlsym() to try to identify APIs
+
+commit a8533d54930f8fa989036c197ad20b0778ec0cac
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 19 16:06:56 2008 -0600
+
+ egl: clean up prototype code, new _eglFindAPIs() function.
+
+commit 21177c8764638e1d4b3b29fed64adec62a14e936
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 19 14:34:52 2008 -0600
+
+ mesa: tweak mipmap level selection for cube maps
+
+ This is just a hack. After we convert the 3D texcoord into a face plus 2D
+ texcoord we need to recompute the partial derivatives and mipmap LOD.
+ But we don't have the info to do that. Adjusting the original mipmap
+ level by -1 seems to give somewhat better results than before though.
+
+commit 8d0329fb6af657a53cb010a3d7a8f4282e2715b8
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Thu Jun 19 17:09:09 2008 +0200
+
+ i915: Fixed cubemap layouts
+
+ Apprently we shouldn't do all the advanced layout
+ operation for none compressed formats.
+
+ The compressed code was also broken, its currently
+ disabled, but should be fixed once i915simple starts
+ to support compressed formats.
+
+commit 6fbfcf922210ddf29b73290557f9d40171b09d2e
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Jun 19 22:57:33 2008 +0900
+
+ gallium: Handle malloc failure.
+
+commit 6cbc2734d19567afeaa6c5d93149ef87b08cd167
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Thu Jun 19 14:42:17 2008 +0200
+
+ i915: Refractored and clean up i915_texture.c
+
+commit c5bf215b1b955c8dafeae84a5f526052fd2e0256
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Jun 19 21:16:16 2008 +0900
+
+ gallium: Add extra parenthesis as advised by gcc.
+
+commit b440cea343b007ca97edb2cd4e1e6150c989417b
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Thu Jun 19 14:06:28 2008 +0200
+
+ util: Add missing format names.
+
+commit aa816d114ee90d0c5b861f622c0063b54f7eb612
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Jun 12 23:34:21 2008 +0900
+
+ draw: Fix MSVC integer size conversion warning.
+
+commit 4a49f1d2e2c325be74e423b55781d1bcbb24e08d
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Jun 12 22:19:17 2008 +0900
+
+ Parse the section:offset instead of the rva+base when reading mapfiles.
+
+commit 0da9bc6a69fbd287f2e87ca9f868cb4ccc47735a
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jun 18 14:35:59 2008 -0700
+
+ i915: Note the non-PBO fallback for textured drawpixels under DEBUG_PIXEL.
+
+commit bbe80af457316826f56ada767d26e8c1db7f1130
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jun 18 14:19:18 2008 -0700
+
+ i915: Restore the accelerated PBO pixel path functions after GEM changes.
+
+ The fencing code is not required, and waiting on the fences defeated one of
+ the purposes of the extension, which is to allow asynchronous readpixels.
+
+commit f1401385587882bb9d18a5f5b01dcbb71ddf0a2f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 18 15:08:19 2008 -0600
+
+ gallium: additional fixes to ensure even number of vertices per buffer
+
+commit 654258a4fe5e7114022c6e02f2844fc469fcc6f3
+Merge: 64adeb1 cf29ab3
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jun 18 14:07:38 2008 -0700
+
+ Merge commit 'origin/master' into drm-gem
+
+commit 7d7f3e2c9451b2233c196d82d523c50b5d2616cc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 18 14:50:35 2008 -0600
+
+ gallium: split long prims into chunks with an even number of vertices
+
+ This fixes culling "parity" errors when splitting long tri strips. Splitting
+ strips into chunks with an odd number of vertices causes front/back-face
+ orientation to get reversed and upsets culling.
+
+commit cf29ab3ba075905cca786b52617d7dc993f58033
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jun 18 13:50:13 2008 -0700
+
+ i915: Bug #14313: Fix accelerated (PBO) ReadPixels.
+
+ Refactoring of mine in 02d5ba849197e19843dad164239b51f18fb16faf broke it
+ by failing to understand that the masking was about sign extension.
+
+commit b623fa9e2d6f97f9febc978c158d790b26e175a7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 18 19:43:06 2008 +0200
+
+ mesa: Fix bug in _mesa_swizzle_ubyte_image
+
+commit ba344753b16d7bc7df40bd85989d0c84e48190bb
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Wed Jun 18 18:35:11 2008 +0200
+
+ tests: Added a test for a strange bug in texstore_a8
+
+commit b1eff0228b7199920c02e62446ebf5496c298814
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 18 11:00:43 2008 -0600
+
+ mesa: add fwd decl of fill_in_entrypoint_offset()
+
+commit 9a2c70f0754b275e7ec370bbbff3d81b48bfd476
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 18 10:20:13 2008 -0600
+
+ gallium: added new st_set_framebuffer_surface()
+
+ This allows the winsys to explicitly specify gallium surfaces for a
+ framebuffer object.
+
+commit 19f872f2ecb45d5e95ccd2b434a88781c9b4f451
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 18 09:30:13 2008 -0600
+
+ mesa: fix ReadBuffer initialization
+
+commit a668b43568b99170e354c7e7cbb393e633765ec4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 18 09:21:28 2008 -0600
+
+ egl: use RTLD_LAZY
+
+commit 0cf79316d076d598f143b68f61308df9ddaf5e9a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 18 09:21:09 2008 -0600
+
+ egl: omit libmesa.a glapi.c from library
+
+commit 51f24ef5bae3fa1f1ae6172fd5c5e6235f3f6857
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 17 16:58:22 2008 -0600
+
+ gallium: remove duplicated u_mm.c in file list
+
+commit 414b535134256dbe9e4d4a92068143f054e13720
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 17 16:57:02 2008 -0600
+
+ gallium: more FEATURE_x tests
+
+commit 03d579aa19bcb1facec5ab67b6f7123e9ec9f26e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 17 16:56:32 2008 -0600
+
+ mesa: FEATURE_dispatch to control dispatch table usage
+
+commit 1496bba42904cbc9b827816b7924fa930661c22a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 17 14:28:07 2008 -0600
+
+ egl: call st_get_proc_address()
+
+commit 5ebd8495b31fadf7452aa336fb5aa708c1a5d753
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 17 14:27:36 2008 -0600
+
+ gallium: added st_get_proc_address()
+
+commit 29d632efbc29200ed4f6f5e34dd10c857a2568aa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 17 13:23:32 2008 -0600
+
+ mesa: refactor: move GetProcAddress code from glapi.c into new glapi_getproc.c file
+
+commit 04996bcef6d65b81f7c2acc873befa2805296800
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 17 13:13:34 2008 -0600
+
+ gallium: added FEATURE_x tests
+
+commit 8a369b909a6648ae7a5a0c2dcb972a2f96f99a80
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 17 11:31:45 2008 -0600
+
+ mesa: s/GL_POLYGON+1/PRIM_OUTSIDE_BEGIN_END/
+
+commit c366fd83b617db6c8c064802ff4bf120d654507d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 17 11:29:59 2008 -0600
+
+ mesa: add parenthesis
+
+commit 666b771e512a7c91fa43544afec61bda63edc240
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Wed Jun 18 11:38:12 2008 +0200
+
+ mesa: _mesa_texstore_s8_z24 now supports depth only uploads
+
+commit 3e8aadee8beffaabd4e0c60c289b98124e288dcd
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Wed Jun 18 15:33:33 2008 +0800
+
+ i965: add support for Intel 4 series chipsets
+
+commit 28ac7d37fe9576428417351bf1acd180b179502a
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Jun 18 08:51:38 2008 +0200
+
+ gallium: Remove PIPE_FORMAT_A8UB8UG8SR8S_NORM definition.
+
+commit 081c05605f1c308c35fcf4168aac09fbf3c0a108
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Wed Jun 18 01:45:21 2008 +0200
+
+ i915: Fix for s8_z24 textures not being shown
+
+commit a1524162bf838920ad965cd44ead97da29408e50
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Wed Jun 18 01:39:46 2008 +0200
+
+ mesa: Added _mesa_texstore_s8_z24
+
+commit 3bf8fb64862b882bff8b372f3c2ce08ea8d401a7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 17 16:43:48 2008 -0600
+
+ mesa: fix inconsistent use of GL_UNSIGNED_INT vs. GL_UNSIGNED_INT_24_8_EXT for Z unpacking
+
+commit 30640695400b9b27656893753ae6b62f2082ce9b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 17 16:44:04 2008 -0600
+
+ mesa: fix inconsistent use of GL_UNSIGNED_INT vs. GL_UNSIGNED_INT_24_8_EXT for Z unpacking
+
+commit 64adeb163d7da6d75b5664cd2ee3783cadaf63d8
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jun 17 14:14:02 2008 -0700
+
+ [intel] Fix no_rast option on non-965.
+
+ The no_rast fallback was getting partially overwritten by later TNL init,
+ resulting in a segfault when things were in a mixed-up state.
+
+commit 4539410d71d5cf5c7d7344b1d3012a8a3e825a18
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Tue Jun 17 21:43:41 2008 +0200
+
+ gallium: Add facilities for mixed pipe formats.
+
+commit 318f00ae9f9bca783d1d3aa7700109402f3e52cb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 17 12:20:22 2008 -0600
+
+ gallium: need to flush bitmap cache when raster color changes
+
+commit e2baf564d1b9716611d194cf117b329a92ad603d
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jun 17 11:15:59 2008 -0700
+
+ [intel-gem] Bug #16326: Fix X tile unswizzling on 965.
+
+ Apparently a bit gets flipped in the addressing for some rows of each tile.
+
+commit 93deede760e5a1309f1b948d91eae3d27f59ed97
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 17 10:28:00 2008 -0600
+
+ gallium: check if sampler->max_lod < sampler->min_lod
+
+commit 3ccbde627edb420071b08a830dd58ed5daf82ffa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 17 10:11:53 2008 -0600
+
+ mesa: make mm.c use unsigned ints for offsets.
+
+ If you have a GPU using this code and it has the offsets up in this space,
+ this fails.
+
+ cherry-picked from master
+
+commit 5b5bf2187497e8de53ca20db6c4fd4a211714b98
+Author: Wilfried Holzke <sf@holzke.net>
+Date: Tue Jun 17 10:07:47 2008 -0600
+
+ assorted glide driver fixes
+
+commit 51ad6e34251f56e476432b92bd47858448c0e7ca
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 17 09:01:32 2008 -0600
+
+ glu: silence warnings
+
+commit 5805a9e32881831f320bcd1a95fbfacf17aef5d5
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Tue Jun 17 17:46:45 2008 +0200
+
+ i915: Made region pool a slabpool
+
+commit d9d1e39d95fef4a8da15147956ff0c3e0a188b5b
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Tue Jun 17 15:47:01 2008 +0200
+
+ i915: Max and Min lod now works
+
+commit a1523c61eaa47825f0e4ca9076b83dcca19e1bd1
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Jun 17 16:29:45 2008 +1000
+
+ mesa: make mm.c use unsigned ints for offsets.
+
+ If you have a GPU using this code and it has the offsets up in this space,
+ this fails.
+
+commit 7db9034b0407aace6336091e2b07913661bfba04
+Author: seventh guardian <seventhguardian@gmail.com>
+Date: Mon Jun 16 15:10:14 2008 -0600
+
+ added ARCH_FLAGS
+
+commit 27b7f896d4492021f8b8c35a69c28f5854ab1f90
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Jun 16 11:37:32 2008 -0700
+
+ r300: Make LOD bias a persistent environment variable.
+ Per airlied's suggestion.
+
+commit e9d1889891ce32ffb3d6425f1e70510ea2c3e24b
+Author: H. Verbeet <hverbeet@gmail.com>
+Date: Mon Jun 16 10:40:32 2008 -0600
+
+ Compute/setup fog coordinates even if vertex program is enabled.
+
+ Only when fog's enabled, of course.
+ In the usual case, this is just a pass-through operation.
+
+commit ec2d0decbd739df99cac4baba57fe0005bf4894d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 16 10:03:05 2008 -0600
+
+ mesa: allocate pixel zoom arrays on heap, not stack
+
+ Fixes stack overflow on Windows.
+
+commit bbce58802d9bf94eadbb0d0c0211a0768f8302aa
+Author: H. Verbeet <hverbeet@gmail.com>
+Date: Mon Jun 16 09:40:26 2008 -0600
+
+ Don't compute vertex fog when fragment program is active.
+
+commit 4e52fa9b91b9480b4cfd179b888884bfb67bd5ed
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Mon Jun 16 12:20:17 2008 +0200
+
+ git: Updated .gitignore files
+
+commit 588abd66966a672a93e87cd577802255193bebcd
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Jun 16 01:21:42 2008 -0700
+
+ r300: Fix new incarnation of bug 3195.
+ tests/bug_3195 doesn't render right, but at least it doesn't segfault this way.
+
+commit 1738a9a535cbde3a4b9f1b57f2a47139b4affdb9
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon Jun 16 01:02:16 2008 -0700
+
+ r300: Forgot to clear old state before writing new state.
+ Oooops. Hehe.
+
+commit 776580a6afff9c6403140737ea50f36e9323528a
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun Jun 15 23:54:32 2008 -0700
+
+ r300: Enable LOD bias state emission.
+ Properly set t->filter_1 for r300_state to emit.
+ Expect buggies as people see LOD bias enabled for the first time...
+
+commit f7b8a13d65e97b8a9812f813cc670e6b712d583d
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun Jun 15 17:30:07 2008 -0700
+
+ Oops, misordered a few instructions.
+ Not like it matters, though, since it's not taking effect yet.
+
+commit 6e6ca40f29551b6f6cedea954874930e6470b0b9
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun Jun 15 17:14:07 2008 -0700
+
+ r300: Unbreak LOD biasing, a bit.
+ Needs a bit more work on submission.
+
+commit 4fc66be2964efb0fbce101264b898636f8f1c715
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Sun Jun 15 09:06:27 2008 -0700
+
+ No more drivers/xorg
+
+ Don't try to clean in xorg since GLcore is gone.
+
+commit f1ae5d4b4471108049080b34c482a083ae74860a
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Jun 14 19:32:33 2008 -0700
+
+ r5xx: Enable fragment.position, partial ARB_shadow.
+ I don't like PROGRAM_BUILTIN; could we either patch Mesa or just use a different constant?
+
+commit 7413c55d93ccdf7ba58932d6186f1e6230df0e8a
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Jun 14 17:51:04 2008 -0700
+
+ r5xx: Detangle FP fallback and translation switches.
+ r5xx should fallback if it encounters a bad FP.
+ TODO: Re-enable the dumb shader so we don't have to completely fallback.
+
+commit 43da1189610fcaa5ade69620734a7b1e5caf84c4
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sat Jun 14 23:09:15 2008 +0200
+
+ r300: Add radeonTransformALU and fix a bug in r300_fragprog DPH
+
+ This new generic transform replaces "special" instructions by more generic
+ variants. Hopefully, we will be able to share this code between r300 and r500.
+
+commit 825fdfd0c1fc9c82c8a880dea62a7fffc15d7373
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sat Jun 14 20:26:10 2008 +0200
+
+ r300_fragprog: Use less complex instructions
+
+ MOV, ADD and MUL do not fit the hardware as well as MAD, but they are less
+ complex and thus leave more room for future optimizations.
+
+commit b97e48ffe3561288b5ebbebf7d439d4714fbb6a1
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Jun 14 08:56:03 2008 -0700
+
+ r5xx: More FP rewriting; fix texrect FP insts.
+
+commit 69004fb758629d5c2d201241fc3d2907dd9afde3
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Jun 14 07:21:40 2008 -0700
+
+ r5xx: New FP code, take two.
+ Add the code emission source file, and comment out unneeded tex de-swizzling.
+
+commit 0a341ef29657c1ead116c4acaca138551631de16
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Jun 14 07:03:08 2008 -0700
+
+ r5xx: FP refactor, take one.
+ Yes, I know it's massive. Imagine how I felt, auditing 3000 lines of code.
+
+commit 9704414d1376d449ad6a006a16be8139f82b5d81
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Jun 14 04:37:09 2008 -0700
+
+ r3xx/r5xx: Don't force aniso.
+ *Pulls paper bag down over head*
+
+commit 64d854ebf7074f4a86bb9d45bb2e1003f86a86a1
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Fri Jun 13 17:22:11 2008 +0200
+
+ util: Use pf_get_size().
+
+commit a1c0c56d70308a562c90cc01982c89ed1396c830
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sat Jun 14 04:07:51 2008 +0200
+
+ r300: Implement GL_ARB_shadow and GL_EXT_shadow_funcs
+
+commit 83ad2a756ea8dd1b0ca9746e355ce3de0f29356e
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sat Jun 14 02:28:58 2008 +0200
+
+ texenvprogram: Mark textures using ARB_shadow as ShadowSamplers
+
+ Since ARB_fragment_program and friends are defined to ignore the setting of
+ the GL_TEXTURE_COMPARE_FUNC parameter, we have to explicitly enable the
+ shadow comparison by marking the texture unit in ShadowSamplers when
+ appropriate.
+
+commit 2882e5162525138316db9a1ab539a17498d06da1
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sat Jun 14 03:34:09 2008 +0200
+
+ r300: Add radeonCompilerDump for debugging
+
+commit e34dc8227c1fa8bc9ffcd311de701053a633a7ec
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sat Jun 14 01:46:19 2008 +0200
+
+ r300_fragprog: Refactor TEX transformation
+
+ Streamlining source and destination registers, as well as texcoord scaling for
+ RECT textures is now done in a radeon_program based transformation.
+
+ The idea is that this will allow us to optimize away unnecessary indirections
+ more easily.
+
+commit b5170bc9d32530ec93dae4b543d3552e83d6b4a1
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Fri Jun 13 23:46:04 2008 +0200
+
+ r300: Add radeon_program and trivial refactoring of r300_fragprog to use it
+
+ The idea/hope is that radeon_program will serve as an intermediate
+ representation for r3xx up to r6xx fragment and vertex programs.
+ Right now, it is nothing more than a simplistic wrapper around Mesa's
+ prog_instruction, together with the notion of clauses, taken from r6xx docs.
+
+ The clauses will eventually be used to represent the nodes that are used in
+ r300 family fragment programs.
+
+commit e2aa45c2f9584ff76151a99b4fcd0ecb56260473
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Fri Jun 13 22:09:37 2008 +0200
+
+ r300: Do not include r300_fragprog.h from r300_context.h and other cleanups
+
+commit caeabb1ebea33828e956efed19dce46767a068b4
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Fri Jun 13 22:03:26 2008 +0200
+
+ r300_fragprog: Remove dead declarations, move NOP declarations into source
+
+commit 4ba1c7d84826aaa07114872560cab3a428949499
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Fri Jun 13 21:43:09 2008 +0200
+
+ r300_fragprog: Refactoring and cleanup
+
+ Refactor so that r300_pfs_compile_state "owns"/holds a pointer to
+ r300_fragment_program instead of the other way round. This is more natural from
+ an object orientation point of view.
+
+ Move the compiled hardware state into r300_fragment_program_code, in
+ anticipation of on-the-fly program recompilation based on external OpenGL
+ state.
+
+commit defadd9c03c726d1e79bd911de07a2682bf78b01
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Fri Jun 13 20:03:17 2008 +0200
+
+ r300_fragprog: Remove dead code
+
+commit 8b11fa4d4496032246b33182b9285c1181d41f1f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 13 16:45:15 2008 -0600
+
+ mesa: move some glapi bits around
+
+ Move _glapi_proc typedef from glapitable.h to glapi.h
+ Also, don't include glapitable.h from glapi.h
+ Before we were including the huge glapitable.h file in every .c file.
+
+commit e9a6832737e17fd41d1f9e660239bd0bd2355b0b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 13 14:13:25 2008 -0600
+
+ mesa: remove some temp debug code
+
+commit 2b4e2841a70ddba683158b4310b19c98037a2337
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 13 13:56:53 2008 -0600
+
+ mesa: check FEATURE_ARB_occlusion_query
+
+commit be16f04e76be28dd0bab039b21b63ce0752de336
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 13 13:56:31 2008 -0600
+
+ egl: added a debug msg
+
+commit b7669e4a8637a9680bcef0d0db82ae5e1984741c
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Fri Jun 13 20:49:52 2008 +0200
+
+ r300/r500: Separate fragprog compiler structures
+
+ r500 code still used r300_pfs_compile_state, which contains some fields that
+ really only make sense on r3xx type hardware. In order to allow both fragprog
+ implementations to go forward without disturbing each other, I've pushed this
+ structure down into the respective r[3|5]00_fragprog.c
+
+commit 3da77b33bb0093ff27c16833ed93a3a114c3e95e
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Fri Jun 13 20:46:14 2008 +0200
+
+ i915: Improved the not used tile code
+
+commit 4919cc3a2c5e779834a3ff362e417f36f12b2b17
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Fri Jun 13 18:41:16 2008 +0200
+
+ r300: Fix depth texture GL_LUMINANCE vs. GL_INTENSITY mixup
+
+commit b1056b6127d2bd6fa39ba7d88b5a49cd2765c469
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sat Jun 7 14:17:56 2008 +0200
+
+ r300: Reenable t->filter_1 (though currently not used)
+
+commit d89b1e4a037b4facb84b056d2fdcd383de78b311
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Fri Jun 13 19:18:56 2008 +0200
+
+ trivial: Update clear-undefined
+
+commit 907b753ae62db8c2b266b18ed122eb00e1d66587
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Fri Jun 13 19:13:35 2008 +0200
+
+ mesa: Fix libglapi.a build for dri
+
+commit d1397fd779ce63416bb59662a3c96f9c0a6ef7f5
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Fri Jun 13 19:07:29 2008 +0200
+
+ i915: Fix offsets not being used for surface targets
+
+commit c341094921da7c4ff30f81706279ead39cb3b812
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Fri Jun 13 19:03:51 2008 +0200
+
+ i915: Fix most of the clear problems
+ trivial/clear-undefined still fails
+
+commit 39bd7eb6dcd97e61096bbae4041cd5eeff21e767
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Fri Jun 13 17:42:44 2008 +0200
+
+ trival: Added test for undefined context of buffer
+
+commit 2cc1b7c742aa1195e6f9cce2c9d0ded804af9dea
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 13 09:15:07 2008 -0600
+
+ gallium: another attempt at fixing libglapi.a compilation for DRI builds
+
+ If building for DRI, make a dummy/empty libglapi.a for now.
+
+commit 9350fd62b6b8dbee77b0c3c4f23195eaee3045d7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 13 09:10:09 2008 -0600
+
+ mesa: fix typo: s/stacks/stack/
+
+commit 62f03a9ecc1d73ff67f5c2a9e5f9638bc6f7d458
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Fri Jun 13 15:21:11 2008 +0200
+
+ gallium: Fix PIPE_FORMAT_A2B10G10R10_UNORM definition.
+
+ Whoops!
+
+commit b03a0373a234af00e50652a6a2d75fd9ed8fc19b
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Fri Jun 13 14:58:24 2008 +0200
+
+ gallium: Add PIPE_FORMAT_A2B10G10R10_UNORM.
+
+commit 1087cc61b3776f4cdc991dcd95ee59dbd26307f3
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Fri Jun 13 15:54:08 2008 +0300
+
+ glx: load swrast_dri.so
+
+ caveats:
+
+ - does not work with old (i.e. libGLcore) xserver:
+
+ - made unbindContext a noop
+
+ - extensions:
+
+ GLX_SGI_make_current_read
+ GLX_EXT_texture_from_pixmap
+ GLX_MESA_copy_sub_buffer
+
+commit 7ffb1230b3287a72d9ac59c5d830f7a4155cbdf9
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Fri Jun 13 15:52:32 2008 +0300
+
+ dri/swrast: make unbind a noop
+
+ This is for loading swrast_dri.so from libGL.
+
+ MakeContextCurrent() seems to unbind the context right after binding it and
+ DRI drivers also have a noop DriverAPI.UnbindContext ...
+
+commit 6f548c88e265c70cd0eb6bc148e23d8ce8d83133
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Fri Jun 13 14:50:29 2008 +0200
+
+ gallium: Allow pipe format component sizes to be specified
+ with finer granularity.
+
+ This will allow us to define A2R10G10B10 format.
+
+commit b8504534978ba7647838c29549d6698acb09a94f
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Fri Jun 13 14:49:04 2008 +0200
+
+ mesa: Remove duplicate code.
+
+commit 341987f68842d662168aa6386723ef9ac8080a93
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Fri Jun 13 15:48:34 2008 +0300
+
+ dri/swrast: add OpenGL 2.1 functions
+
+commit 4297413656dd932a6bc2b56e16a2633ae8e712cd
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Fri Jun 13 15:48:06 2008 +0300
+
+ glx: use ErrorMessageF
+
+commit de35bf5bdca83f05dc919bf175588ce749009dfc
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Fri Jun 13 14:11:20 2008 +0200
+
+ i915: Messed up lineloop now works
+
+commit e9b8df69b40c55953e1b3503690b54f993773223
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Fri Jun 13 12:21:58 2008 +0200
+
+ i915: Support all primtive types in vbuf path
+
+commit 95b34baa8f981b08e21a36f9163d98a426559839
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu Jun 12 19:41:54 2008 -0400
+
+ silly bug: it's PROGRAM_VARYING
+
+commit 314c46060486ae77cb78b3d8be155813145fc72e
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu Jun 12 19:41:54 2008 -0400
+
+ silly bug: it's PROGRAM_VARYING
+
+commit 928ec5cd3be5c7d6f3d9df0ace18371b1ec8c68c
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu Jun 12 18:53:52 2008 -0400
+
+ glsl: make sure we replace all output reads with temporaries
+
+ test in if.glsl
+
+commit 53f5b9741a5453f9166aee8da6e1f8bf5b10d59e
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu Jun 12 19:37:26 2008 -0400
+
+ glsl: allow uniforms
+
+commit 3911ef032745b18071f48a6ad343ece14202049c
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu Jun 12 18:53:52 2008 -0400
+
+ glsl: make sure we replace all output reads with temporaries
+
+ test in if.glsl
+
+commit e961a5da77cbcdb0e32400ec707c16fcfe9d7083
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 12 16:55:28 2008 -0600
+
+ mesa: add some #if FEATURE_x tests
+
+commit 5b51cc020efc5519bc7cc34f6fcb4138eab76e0a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 12 16:54:44 2008 -0600
+
+ gallium: add some #if FEATURE_x tests
+
+commit 6363960db55769db73021081b60f1028723d9f58
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 12 16:48:24 2008 -0600
+
+ mesa: remove unneeded #include
+
+commit 73f78dedad36a5bae6cac1845d297bb4357a2786
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 12 16:37:16 2008 -0600
+
+ gallium: add missing comma
+
+commit 20ee00754d432cf6c9aca2ba61e004a83795e160
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 12 16:01:43 2008 -0600
+
+ gallium: disable the codegen for TGSI_OPCODE_EXPBASE2 for now.
+
+ The x86 code seems to fail for exponents of 4 or larger.
+ See glean's vertProg1/EX2 test.
+
+commit 08f1b8ac709105d42ec34f8b8a81421e3b0fbc81
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jun 12 16:01:05 2008 -0600
+
+ gallium: fix SSE codegen for instructions that use both a CONSTANT and IMMEDIATE
+
+ Fixes codegen for instructions like MUL dst, CONST[0], IMM[0]; the two operands
+ would up getting aliased in the x86/sse code.
+
+ Fixes glean/vertProg1/fogparams test.
+
+commit b19e8f720bb2f4d360f5497b64901fc48321f172
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 12 15:46:10 2008 -0600
+
+ gallium: test for FEATURE_convolution
+
+commit cfe876371454074b598197582f8b01317b21eb51
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 12 15:08:14 2008 -0600
+
+ gallium: remove unused/old st_atom_fixedfunction.c file
+
+commit effb73befa56099ba78ef2d93be4f980dad157b3
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Sun Jun 8 23:05:15 2008 -0400
+
+ glsl: fix array size initialiazers using const variables
+
+ e.g.
+ const int kernelSize = 9;
+ uniform vec2 kernel[kernelSize];
+
+commit 19659a50f9356023c59942794bd4e6e075f120bd
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu Jun 12 14:19:10 2008 -0400
+
+ almost forgot - RelAddr is a boolean so use it here
+
+commit 2542c59c55589bdeaf56b9cf91625b0adf75e3ab
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu Jun 12 00:03:35 2008 -0400
+
+ shaders: fix allocation of arrays of parameters
+
+commit 74964ff04d89be430944dd8106bf5c97a9933f85
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Tue Jun 10 16:59:44 2008 -0400
+
+ glsl: implement variable array indexes
+
+commit 494c40dbed2bd63f43f70c1e6f7b46399d0a6377
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu Jun 12 14:19:10 2008 -0400
+
+ almost forgot - RelAddr is a boolean so use it here
+
+commit f49dd47dc936587cd9eabddfe370651efc612f9f
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu Jun 12 00:04:30 2008 -0400
+
+ add some glsl example testing different arrays of uniforms
+
+commit 38fdf130d4016197e9ecfa6beeade0362f9622eb
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu Jun 12 00:03:35 2008 -0400
+
+ shaders: fix allocation of arrays of parameters
+
+commit 68ef8e89a5f25cd9f80e2b9088604631a28edc3c
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Tue Jun 10 16:59:44 2008 -0400
+
+ glsl: implement variable array indexes
+
+commit 5ecb2f2d0fca0c5ea847d1968459aa0dd8138f14
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 12 11:17:20 2008 -0600
+
+ mesa: restore and fix Keith's "further degenerate the special case lit substitute"
+
+ There was a bug in emit_degenerate_lit() that caused the SLT to produce
+ unpredictable results in lit.z
+
+ Plus, added a bunch of new comments.
+
+commit 23d340c9edbbe64a99478b922c008ae3e2ec7103
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jun 12 14:39:57 2008 +0100
+
+ pb: don't assert(0) on failure to allocate - this is a normal condition in many drivers
+
+commit 0440f5a187460078095f35902638300fee1c5158
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Thu Jun 12 06:37:45 2008 -0700
+
+ Update .gitignore for progs/glsl
+
+commit 41bdb88f271284b79b870a5217f3ae50d70dfcdd
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Jun 12 16:26:46 2008 +1000
+
+ sparc: add swrast to dri drivers
+
+commit 34ff12ca1fe7153671eea2fe084f3991094ec3ce
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 11 20:50:26 2008 -0600
+
+ Revert "mesa: further degenerate the special case lit substitute"
+
+ This reverts commit e841b92d9c8bf48085b4996df828ae745977f931.
+
+ This fixes two specular lighting conform failures.
+
+commit 11461f52be35d12bfe59ce0e9271cde8f118ed8e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 11 20:16:16 2008 -0600
+
+ mesa: refactor: update SConscript with recently added new source files
+
+commit 222c80893a738b964dc75796d47545d88e6a6973
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 11 20:13:07 2008 -0600
+
+ mesa: refactor: move various ENUM_TO_x macros into macros.h
+
+commit 77b794201a96300af4473307a7663500d62296e8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 11 20:05:53 2008 -0600
+
+ mesa: refactor: move glTexParameter-related functions into new texparam.c file
+
+commit 7ecac78ab53016ae3db3dd601b187cb050037463
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 11 19:58:30 2008 -0600
+
+ mesa: refactor: move glTexEnv-related functions into new texenv.c file
+
+commit 27049189d6221fefe43eb55846efaa51742dcdf4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 11 19:48:01 2008 -0600
+
+ mesa: refactor: move glTexGen-related functions into new texgen.c file
+
+commit 2b0e75ea7a2395cc8614d6eeabb9529d503652c9
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Jun 12 12:06:50 2008 +1000
+
+ sparc: add DRI drivers for sparc patch from Fedora
+
+commit 2fed8d8496af4aa9105de298c6f320a85eb01623
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Jun 11 12:25:47 2008 +0900
+
+ gallium: Support L16 pixel format.
+
+commit 0f552f500c05d041eda751867c779a8ecc11849c
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Jun 11 10:33:41 2008 +0900
+
+ pipebuffer: Fix improper memory free.
+
+commit 23422d603ae002a1f368e20cd0f158e057876cb8
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jun 10 23:22:12 2008 +0900
+
+ gallium: Implement debug_get_num_option.
+
+ For numeric options.
+
+commit f61923441f94439b9ca3c4304ce74fe4e13a14b4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 11 19:35:52 2008 -0600
+
+ egl: some basic docs for libEGL
+
+commit 6b389b5c2facc431af0ffb21e3a9bcd532765367
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 11 11:37:46 2008 -0600
+
+ egl: some prototype Windows code (eq for dlopen,dlsym)
+
+commit 3f3e4f645d389672e6d72215e60b812a887cc66d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 11 19:33:30 2008 -0600
+
+ remove obsoleted doxygen \param comments
+
+ Someone changed the function parameters but didn't bother to update the
+ comments.
+
+ Also, whitespace changes, clean-ups.
+
+commit 8d976aedc4654bc66b80f22690e3674f1ef46183
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 11 19:33:14 2008 -0600
+
+ comments
+
+commit 6f7ed99b306990f284f9d57c0b66efaa7f2277e1
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Jun 12 00:11:54 2008 +0100
+
+ revert the DRI2 commits
+
+commit 2161b0fafcdc16703162dd489d2ec1e7114cce4c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jun 11 23:48:13 2008 +0100
+
+ draw: don't assume vertex position is in data[0]
+
+commit 407ce3da3c53c9ebba0fbf827d7b0f610122d44b
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jun 11 14:44:48 2008 -0700
+
+ [intel-gem] Chase domain flag renaming in the DRM.
+
+ This is an API breakage only.
+
+commit 0227d91a9e3cf65aae3266d100eebd3459dff4c3
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jun 11 11:45:51 2008 -0700
+
+ [gem] Enable bo_reuse by default.
+
+ The objects are swappable, so we're less concerned by excessive object
+ allocation now, and it's about a 20% performance improvement. If we get
+ concerns about the memory consumption from others, we can look into a
+ compromise position later.
+
+commit 807f8f177b3a2833806d84a70e71019f8849239f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jun 11 18:46:26 2008 +0100
+
+ draw: preserve specular alpha when flatshading -- may be FOGC
+
+commit d45e99060d531d3a3889bb59fb55875bde05811f
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Wed Jun 11 15:50:07 2008 +0100
+
+ fix card_extensions
+
+commit f851ba705ae878f62149afa377c755286cf53c85
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Wed Jun 11 15:35:12 2008 +0100
+
+ fix legacy DRI
+
+commit 5e9fe62c7090768b82a3cc905d1da6b623304b50
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Wed Jun 11 15:25:35 2008 +0100
+
+ add missed files for DRI2 merge
+
+commit 1bcb817167773d6a148dd4b2cd63777d0f072c08
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Wed Jun 11 14:52:55 2008 +0100
+
+ Hook gallium i915 up to DRI2
+
+commit 4dd1917e4be3ae48b436ed333bd2fcd37603d1ed
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Wed Jun 11 14:51:41 2008 +0100
+
+ small optimization
+
+commit 4566b006f1a6bbdb96871e511e10e16f18bad23e
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Tue Jun 10 20:17:16 2008 +0100
+
+ Bring in DRI2 changes
+
+commit bd9264210097d08073a4ea3619ca25db56245280
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jun 11 09:36:00 2008 +0100
+
+ draw: remove another debug assert on failover to generic vs varient
+
+commit 3bdeff5becbba27d57250f761777bedbdcb66a1e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jun 11 09:18:42 2008 +0100
+
+ trivial: add test for integer vertex arrays
+
+commit ab399b555c99c46958c421d900109f78901ddc99
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jun 11 09:15:54 2008 +0100
+
+ draw: remove debug assert on failover to generic vs varient
+
+commit e4cfe0854ad968193106048179b9b52ec1768f41
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 10 16:43:49 2008 -0600
+
+ mesa: refactor: fix some FEATURE_ typos, mistakes
+
+commit 0f36a29d5e6a50240e2c1469af68b7ac556afdc9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 10 16:26:23 2008 -0600
+
+ gallium: work-around glapi.c build problem for dri configs
+
+commit e9b6ed395a69be90cbf1e2481a9da6fa4079e88e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 10 16:14:35 2008 -0600
+
+ egl: only windows are renderable at this time
+
+commit b9c5b0bc4b0abbe12770824371c173ad1e8d1046
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 10 16:14:09 2008 -0600
+
+ egl: some prototype API detection code
+
+commit 40d1a40f294f1ed2dacfad6f5498322fc08cc2d1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 10 16:13:42 2008 -0600
+
+ mesa: refactor: move #define FEATURE flags into new mfeatures.h file
+
+ Also, check the FEATURE flags in many places.
+
+commit ef27bdbfa8fd4b7cdd7f1ab0e65bc30f17150d2e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 10 15:23:51 2008 -0600
+
+ mesa: include mtypes.h
+
+commit 4c1892ca89b549899b9f3080373919c9036747fe
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 10 12:08:40 2008 -0600
+
+ mesa: remove unnecessary swrast, tnl includes
+
+commit 9563449c14f06b0927adecf36711c034b561e121
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 10 12:08:30 2008 -0600
+
+ remove unnecessary swrast, tnl includes
+
+commit 00d90fe845de46649528e3599c0eb42203e78309
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 10 12:07:38 2008 -0600
+
+ gallium: remove stray include of st_context.h
+
+commit c233b4245f7fcb667260278f3007d21044e62142
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 10 10:09:03 2008 -0600
+
+ add some missing rule dependencies
+
+commit 5493c775b7dcf899b14efeaa27916c2b470475b0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 10 10:09:14 2008 -0600
+
+ add some missing rule dependencies
+
+commit aa7c21a45b90e6e502c4967f892f1691411d761f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jun 10 16:56:32 2008 +0100
+
+ Revert "draw: no need to rearrange most primitives in vcache for flatshade-first"
+
+ This reverts commit ad44e68706877ab06929747e7a82c718c1c27e02.
+
+commit ad44e68706877ab06929747e7a82c718c1c27e02
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jun 10 14:46:25 2008 +0100
+
+ draw: no need to rearrange most primitives in vcache for flatshade-first
+
+ The driver/pipeline will still be applying flatshade-first state to the
+ triangles emitted from vcache, so there's no need to rotate the vertices
+ of most primitives. The only exception is POLYGON, as explained in the
+ code.
+
+commit 14a13e3767f080a48a4ae01f803dd0bc8754f441
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jun 10 14:45:34 2008 +0100
+
+ draw: fix edgeflags on clipped poly emit
+
+commit ac833b9aeff1957769c271dd6d390b6b28d59e4c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jun 10 14:23:49 2008 +0100
+
+ trivial: add trifan tests
+
+commit f5801fba247d8b0b5afe01196e9c7da7437d18ff
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jun 10 14:09:45 2008 +0100
+
+ trivial: add poly-flat-clip tests
+
+commit d915f40195fc20669c4720b597a3f7299508c507
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jun 10 12:58:13 2008 +0100
+
+ trivial: add tristrip-flat to makefile
+
+commit 17ec0dbd7575de749377f6b33075e087ebe9fc9f
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Tue Jun 10 15:43:33 2008 +0200
+
+ copy msaa visuals capability
+
+commit d85f1e95d32777e8b5e5fa818caff4bb5afe46eb
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Tue Jun 10 15:43:33 2008 +0200
+
+ copy msaa visuals capability
+
+commit fbb96a0301e8cecb8835befe51286d954aa005c0
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Tue Jun 10 06:06:40 2008 -0700
+
+ Distribute version.mk in case autoconf needs to be run again
+
+ Users may need to rebuild the configure script, so we need to distribute
+ version.mk so autoconf can run successfully.
+
+commit a742bed99ae840d806198172005f6b25399ec573
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Tue Jun 10 16:31:36 2008 +0800
+
+ i965: apply commit 6c1a98e97affb2163e776551eb3a9e669ff99bbf to glsl
+
+commit 061e1c6c57703a92ac17b553f592c0c6114cb227
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jun 10 09:16:34 2008 +0100
+
+ draw: rework splitting of fan/loop prims in varray.c, fix flatshade issues
+
+commit 7d3bab537c7559df7bdc7a4fae42f8218185b9f7
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jun 10 08:52:10 2008 +0900
+
+ softpipe: Replace GETENV by debug_get_bool_option.
+
+commit 3531c5284bb8dc772cd97c6be5bf589c160f9ae8
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Jun 9 19:56:52 2008 +0900
+
+ gallium: Detect buffer overflows in the homegrown memory debugger.
+
+commit 0c5b1a8ffb21f72fcde64a7daa13d5dab5b90425
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jun 10 08:38:24 2008 +0900
+
+ pipebuffer: Alternative buffer manager.
+
+ For situations where one has a reserve memory pool, or
+ a faster/slower pool.
+
+commit 4b52f4df1b37918a363d05e0b3db22125e801367
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Jun 9 18:49:13 2008 +0900
+
+ pipebuffer: Be more lenient when matching cached buffer sizes.
+
+ Reuse cached buffers up to twice as big a requested.
+
+commit a70684bf256c3d5bc3a729bf9e9cf1a64cb2064a
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jun 10 08:32:52 2008 +0900
+
+ gallium: Deprecate GETENV. Replace by debug_get_bool_option.
+
+ debug_get_bool_option will interpret "n", "no", "0", "f", or
+ "false" as FALSE; and everything else as TRUE. The default value
+ (used when the variable is not set) is received as a parameter.
+
+commit 5f46bf77af5f49e63976ad51c5b4a7da8490be3e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 9 16:18:41 2008 -0600
+
+ mesa: Xlib libGL.so fixes from master
+
+commit 72f87b69471649ff02e80a89f902b69980f3d025
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 9 16:06:44 2008 -0600
+
+ fix Xlib libGL.so build problem.
+
+ Also, build driverfuncs.c into libmesa.a since it's always needed.
+
+commit 0116ec1af36356c0ee845b3d1384e73316052497
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 9 15:19:08 2008 -0600
+
+ mesa: remove unused api_eval.h header file
+
+commit eded7f010d344a909cf9c403eb3bdad91804d174
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 9 15:14:02 2008 -0600
+
+ mesa: refactor: move _mesa_update_minmax/histogram() into image.c
+
+commit bce428c4a65fdcb890ea18bf4a1dfb42ed109006
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 9 15:09:21 2008 -0600
+
+ mesa: refactor: move multisample-related functions into new multisample.c file
+
+commit 9091015a9782ad15e58540a8fd61df83ea2bfe31
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 9 15:04:31 2008 -0600
+
+ mesa: refactor: move _mesa_resizebuffers(), _mesa_ResizeBuffersMESA() to framebuffer.c
+
+commit eade430682516a445a2bf765165362dad19594f0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 9 15:01:02 2008 -0600
+
+ mesa: refactor: move glClear, glClearColor into new clear.c file.
+
+commit 8cad3189d3346bce3eee1976f1b5cf32da9dd9a7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 9 14:56:29 2008 -0600
+
+ gallium: include scissor.h
+
+commit 4be7296bfcba22a849f949d105ea385e6964cc25
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 9 14:55:24 2008 -0600
+
+ mesa: refactor: move scissor functions into new scissor.c file
+
+commit b36e6f0baf64491772b8e1a1cddf68a7dcf8ee22
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 9 14:49:04 2008 -0600
+
+ mesa: refactor: move _mesa_init_exec_table() into new api_exec.c file
+
+commit 74c82ebbb399a274dcfb5e82d3471dee59bd5183
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 9 14:32:27 2008 -0600
+
+ mesa: refactor: move pixel map/scale/bias code into image.c
+
+ pixel.c is just the API-related code now.
+
+commit 5f91007f996d0b7e3233f221a6b0056203e356d2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 9 14:25:23 2008 -0600
+
+ mesa: refactor: new _mesa_init_pixelstore() function
+
+commit d960a0621d65ae9977efe9bbb51dce9e1571b114
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 9 14:22:15 2008 -0600
+
+ mesa: refactor: move glReadPixels code into new readpix.c file
+
+commit f26baad2e1e8cb3c24fa64cc31869ec7b27d71ff
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 9 14:14:34 2008 -0600
+
+ mesa: refactor: move glPixelStore function into new pixelstore.c file
+
+commit ffeb90169fd54d6e364a308a9b997437426e1b83
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 9 14:09:28 2008 -0600
+
+ s/SOLO/MESA/
+
+commit f6246f85d7c87180b464f84f330385680a82a601
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 9 14:09:09 2008 -0600
+
+ s/SOLO/MESA/
+
+commit 4f15e3eefbd31b4fdcf90c2798d0cb41c893b049
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 9 14:03:01 2008 -0600
+
+ mesa: chmod a-x context.c
+
+commit 910b3bfaeb372ef0e20c6b05c64c3721b739a442
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 9 13:50:44 2008 -0600
+
+ Makefile clean-ups
+
+commit a80ccaadc77acbf835aa7139d75ea166efd8553f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 9 13:50:31 2008 -0600
+
+ more old stuff, rename SOLO->MESA, etc
+
+commit 08c07b60be7c21819c78a3281dc9b5a9b547431b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 9 13:50:11 2008 -0600
+
+ Makefile clean-ups
+
+commit 376203cff8e76bcfd664c4bb191c8a02ad41b744
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 6 12:38:24 2008 -0600
+
+ document makefile changes
+
+commit d7205ba971a348a57d50c331cb49afbd81067736
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 9 13:51:36 2008 -0600
+
+ Makefile clean-ups
+
+commit ac7f416bda4506583ef577d62fee4a4d0ce890c4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 9 13:51:21 2008 -0600
+
+ more old stuff, rename SOLO->MESA, etc
+
+commit 137dbe7eb1f2b955552a06ea6b9179419947981b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 9 13:38:23 2008 -0600
+
+ mesa: disable VF_SOURCES
+
+commit 5f621f68dd449f6e5e141a85718e2a2c5d2a56fb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 9 13:35:34 2008 -0600
+
+ mesa: remove some obsolete gallium bits
+
+commit 44c347c49e5b7b4be01055762da4727de2a987ff
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 9 13:33:00 2008 -0600
+
+ mesa: get rid of FBDEV/SVGA/etc bits
+
+commit 6420a62cf0f5812708a4c649691ba62c573eaced
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 9 12:26:20 2008 -0600
+
+ egl: s/softpipe_egl.so/egl_softpipe.so/
+
+commit 50d59c8be1e409f0f96ba5c59d74eb5ff8c35b6a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 9 11:47:18 2008 -0600
+
+ egl: choose between DRI and softpipe drivers
+
+commit 1954f49a171036c633614450e591307833421aca
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Sun Jun 8 23:05:15 2008 -0400
+
+ glsl: fix array size initialiazers using const variables
+
+ e.g.
+ const int kernelSize = 9;
+ uniform vec2 kernel[kernelSize];
+
+commit 1c316f1e824b094977059145a1abcdb50a391f1c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 9 09:27:52 2008 -0600
+
+ gallium: disable a tgsi_dump() call
+
+commit 5cf69fe511a67a7bcf6787974becf6a143abb507
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Mon Jun 9 16:24:15 2008 +0100
+
+ Check for NULL pointer
+
+commit 906e189bd362399f1ffc4d5421ae0d0abd586977
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Mon Jun 9 17:47:49 2008 +0300
+
+ glx: use goto's vs. nested if's ala xserver
+
+ compile tested only
+
+commit 079345703901b497f2c09714051b33bb2dff1b4f
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Mon Jun 9 17:47:09 2008 +0300
+
+ glx: add dri_common.c ala xserver
+
+ also drop driFilterModes which is unused
+
+ in preparation of loading swrast_dri.so
+
+commit 4c7e02298f68b84d929cd1d3af8b3120281c2e32
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Mon Jun 9 17:46:39 2008 +0300
+
+ dri/swrast: minor cosmetic
+
+commit cfc23bc54c8cae2615d447bc199ff87ef7e9298e
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Mon Jun 9 16:17:35 2008 +0200
+
+ i915: Disable color buffer writes if no color buffer is attached
+
+commit 2e3e5184176debb66bdd7f5f606cf95b7fee91bb
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Mon Jun 9 16:29:57 2008 +0200
+
+ mesa: Most of the functions of MESA_TEXTURE_S8_Z24 are now supported
+
+commit d785a0c8b2ff45d07a8d2992d089eb96c04658db
+Merge: f5a3768 edea59e
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sun Jun 8 20:24:13 2008 -0400
+
+ Merge branch 'gallium-0.1' of ssh://ymanton@git.freedesktop.org/git/nouveau/mesa into gallium-0.1
+
+commit 00099731195b2e5b57b8bca6342a8a711e0e427a
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sun Jun 8 22:36:20 2008 +0200
+
+ r300: Workaround hardware readcache problem
+
+ This workaround is similar to the one found in r200_span.c.
+ It seems like some part of the read hardware doesn't realize that
+ VRAM has changed. By reading from an arbitrary position, this is fixed.
+
+ The piglit test bugs/r300-readcache is a regression test for this bug.
+
+commit f5a3768c4e7733a11ad0421e3e4b84e6994af0e0
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sun Jun 8 14:34:41 2008 -0400
+
+ g3dvl: Reduce number of input vert streams by copying, reusing in shaders.
+
+ Reduce number of input vertex streams by using same texcoord stream for
+ chroma textures, reusing pos stream when calculating texcoords for P, B
+ macroblocks.
+
+commit f440b0ddd9690a2f8d7b7eed9b56ff77407b9114
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sun Jun 8 11:25:30 2008 -0600
+
+ remove realglx.[ch] from build
+
+commit 80ab4c3f8c3cf9518cd40ce1dff10ab99ab20301
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Sun Jun 8 17:29:56 2008 +0200
+
+ mesa: Do not compile the dri drivers in mesa
+
+commit f4535f6e5ae63d8c59428cf190a95e0eb4ae233d
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Fri Jun 6 16:12:55 2008 +0200
+
+ mesa: Add MESA_FORMAT_S8_Z24 texture format
+ None of the fetch and store functions implemented.
+ This atleast stops shadowtex from locking the GPU on
+ i915 with the linux-dri-x86 target. It most of it looks
+ okay, with the exception of actually displaying the texture.
+
+commit 28c28f72fd9ed192467a3cf913b344951d0bc805
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Sun Jun 8 14:04:39 2008 +0200
+
+ i965: fix OPCODE_TEX when additional ops are needed
+
+commit c11a7ec821d41b91a3825c5abfb4687c98b5bf98
+Author: Younes Manton <younes.m@gmail.com>
+Date: Sun Jun 8 03:04:14 2008 -0400
+
+ Initial commit for g3dvl.
+
+ Initial commit for g3dvl, contains support for basic XvMC features.
+
+ - Context, surface, block, macroblock creation and deletion
+ - Surface rendering
+ - Frame pictures
+ - Frame based motion compensation
+ - Intra-coded macroblocks
+ - Predicted macroblocks
+ - Bi-directionally predicted macroblocks
+ - Surface display
+ - Color conversion
+ - Scaling
+
+commit edea59e8e5a3ef4c6afdcb4f1d32961466be508b
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Jun 8 12:50:47 2008 +1000
+
+ nouveau: kill off surface_alloc_storage()
+
+commit 21f50818b09c1ab3b5b1dc797b34c23b9b1634dc
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Jun 7 12:37:10 2008 -0700
+
+ r300: Allow driconf to set a default anisotropy.
+ If an app does not use GL_EXT_tex_filter_aniso, this lets driconf set it instead.
+
+commit cb1687660844d42f929e11a2261c0eeb3fe859be
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sat Jun 7 21:07:28 2008 +0200
+
+ r300: Some cleanups in depth and stencil state handling
+
+ This also fixes a bug with Zfunc set to GL_NEVER in glean/paths.
+
+commit 7cb63a25de47bd941efd04c39d2758c2e91a313a
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sat Jun 7 20:33:28 2008 +0200
+
+ r300: Apply writemask when clearing stencil buffer
+
+ This fixes the glean/maskedClear test.
+
+commit 731686b7132ff50d78ef2dc5bfab550750925132
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sat Jun 7 20:25:47 2008 +0200
+
+ r300: Fix stencil buffer clear
+
+ The glean/readPixSanity test passes now.
+
+commit 75bfe630ff9df8b827cbdbf88b08e5da5d3eccfa
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sat Jun 7 18:54:35 2008 +0200
+
+ r300: Further anisotropic filtering fixes
+
+ Thanks to Corbin for the initial cut today. Fixed some minor stuff (in
+ particular, make sure we still use a MIP_LINEAR filtering mode; anisotropy
+ without MIP_LINEAR filtering is not the truly pleasing anisotropy).
+
+commit bf1a7c884d02d4a59ad51a446dec3736959d8239
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sat Jun 7 14:17:36 2008 +0200
+
+ r300: Update LOD_BIAS register constants
+
+commit a47c222803483c208f720e3fb5015050d4d0eaf4
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Jun 7 13:27:53 2008 +0100
+
+ draw: fix temp vs output buffer typo in vsvg_run_elts
+
+commit 5e58e5d77792891fac953ff0ec30990f3e0ca854
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat Jun 7 01:37:35 2008 -0700
+
+ r5xx: Unbreak anisotropic filtering?
+ Not quite finished, maybe? Not sure.
+
+commit f39780242e0dc7060d716fe255977a0a89734945
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri Jun 6 21:53:05 2008 -0700
+
+ r5xx: Fix speedy LIT once and for all.
+ To do: Add a slightly more accurate LIT. Will do later.
+
+commit 3c207936bea0f160549ff8ba76ef0bbcb7e0ed81
+Author: Jose Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat Jun 7 12:34:45 2008 +0900
+
+ Fix CRLF line endings.
+
+commit e9c895919f84488a48a515ff55d48c1113e15cb2
+Author: Jose Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat Jun 7 12:33:47 2008 +0900
+
+ Fix CRLF line endings.
+
+commit ae18cbcfc51314c17d4fb7a2b4d44cd4a43adca4
+Author: Jose Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat Jun 7 12:34:45 2008 +0900
+
+ Fix CRLF line endings.
+
+commit 9286a14fbe0e648c9ca24f6966ec9f4a87602f28
+Author: Jose Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat Jun 7 12:33:47 2008 +0900
+
+ Fix CRLF line endings.
+
+commit f374734d61011acc2d7b4e5f390d806603a833bd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 6 15:59:54 2008 -0600
+
+ egl: improved Makefile
+
+commit 8dafe470fc29cada5f3beab114e2be19fd01dabe
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 6 15:52:33 2008 -0600
+
+ egl: EGL->DRI adaptor/driver
+
+ Allows regular DRI drivers to work with libEGL.
+
+commit ab102d5a9f1db0f76eabbf22cd05b08ff7bb8448
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 6 15:42:08 2008 -0600
+
+ egl: clean-ups
+
+commit f82d5cf76929ed2de29966117f97774b465d6b0d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 6 15:41:41 2008 -0600
+
+ mesa: disable visual warning unless LIBGL_DEBUG is defined
+
+commit 47ddcd2a7144ea456fcd52b9470e4e41b878af48
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 6 15:10:42 2008 -0600
+
+ egl: make _eglChooseDRMDriver() non-static
+
+commit f6e030f531f7292a373a7cd633e8af9f97726266
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 6 15:10:22 2008 -0600
+
+ egl: change default logging level to _EGL_WARNING
+
+commit f0fdf0c23a16b9e0338eb945c6f88c7a57a9fbd0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 6 12:33:53 2008 -0600
+
+ gallium: additional comment
+
+commit fa1bc0d7d600b25ec1b9fce157a8c8ddc6723564
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Fri Jun 6 23:47:46 2008 +0200
+
+ r300: Improve texture layout calculations
+
+ The texture layout calculations for mipmapped cubemaps used to be completely
+ wrong, since the GPU expects images to be grouped by miplevel instead of by
+ face number.
+
+ This has been fixed now, though the memory layout is still slightly incorrect
+ for the smaller miplevels. Unfortunately, the docs are lacking in that area.
+
+commit adaf0385e8e453bfdc1ab7d7059bfba5ce13a4c1
+Author: Jonathan White <jwhite@tungstengraphics.com>
+Date: Fri Jun 6 15:13:59 2008 -0600
+
+ egl: updated EGLAPI for Windows
+
+commit f5d03af109e0c6fdd7cc6786f8ae40f8ae626f5a
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Jun 6 13:05:46 2008 -0700
+
+ [intel-gem] Call the new throttle ioctl from swap buffers
+
+ Swap buffers is a fairly reasonable time to wait for the hardware for a
+ while; this keeps us from overrunning the ring.
+
+commit 03a1144cd1de9425a0bc5ceec98f9c49fa19ac6d
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Fri Jun 6 21:28:08 2008 +0200
+
+ r300: Cleanup TX_MIN_FILTER defines
+
+ This commit should not affect the functionality at all, just cleanup
+ some of the original texture filter guesswork using information from
+ the register documentation.
+
+commit 665605234d2aed2baa22fa621fa02478b2c08a4d
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Fri Jun 6 21:13:12 2008 +0200
+
+ r300: Remove unused variable r300_tex_obj::dirty_state and related defines
+
+ This variable was only ever written to, but nobody used its value.
+
+commit 53076e8b5bce9ddf6eb524b8009db67eb5d3389b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 6 12:32:58 2008 -0600
+
+ mesa: sync up with latest Makefile changes on master
+
+commit 0b72fada6aa3e15cee62c806057ebf986f34433d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 6 12:27:55 2008 -0600
+
+ s/subdirs/asm_subdirs/
+
+commit 1d5b51abc8e9b3ba53a0854c27694309e740f256
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 6 12:27:14 2008 -0600
+
+ move the install rules
+
+commit bde6b57e48693ee87676f4ff1e0bef54b426eeb5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 6 12:25:24 2008 -0600
+
+ remove stray semicolon
+
+commit 847f54e2fa3e1b92ee97e7c2895a71ed20ce227b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 6 12:24:44 2008 -0600
+
+ move a beos-ism down into drivers/beos/Makefile
+
+commit dd750e0763d4a03a41d8a4ebde9489ad9c4aa82f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 6 12:18:40 2008 -0600
+
+ Remove the old, complicated default build rule; use the new driver_subdirs rule
+
+ Also, all the old driver-specific rules are now gone.
+
+commit 358dcd71783beb69c4e3923138cf92c27b871159
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 6 12:12:59 2008 -0600
+
+ remove more old stuff, insert new driver_subdir build rules (but not enabled yet)
+
+commit 04c6ca99dd194aac085c81044f876c17cd27baee
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 6 12:09:55 2008 -0600
+
+ new drivers/Makefile with simple default/clean/install rules
+
+commit c9739b20555847c398e7b52fb0e580d86f958430
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 6 12:09:01 2008 -0600
+
+ move directfb-libgl into drivers/directfb/Makefile
+
+commit 463a47bf59398e850d5a6537da1186d855bd2919
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jun 6 18:09:32 2008 +0100
+
+ draw: fix intermediate buffer confusion in draw_vs_varient.c
+
+ The final output buffer can't be used to hold intermediate results
+ as the intermediate vertex size may be greater than the final vertex
+ size, and in any case the output buffer may be uncached in hw drivers.
+
+commit 0a84d327de8258104b98b176c0eaf0fb6712a982
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 6 10:42:13 2008 -0600
+
+ egl: open X display if needed
+
+commit e4fda51404a6a05c4047a639de4ccc3ea9678c2c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jun 6 15:57:37 2008 +0100
+
+ mesa: turn off ffvertex prog debug
+
+commit 3d514a907045bc01ec5e2ceeb14c5620df10885d
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Fri Jun 6 16:50:52 2008 +0200
+
+ gallium: Only build intel_drm for linux-dri targets
+
+commit 0931b421d67b8ce471f17d43c183017f1eb92e31
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jun 6 15:04:45 2008 +0100
+
+ draw: make sure middle-end primitive is uptodate in vcache
+
+commit 1a2c445baf9f493b1590d715314a1c240e4c9ef7
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Fri Jun 6 14:51:11 2008 +0200
+
+ i915: Moved EGL_i915 to the common code
+
+commit adbdabb85ae322d5c80cadcee931e36d5c688d98
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Fri Jun 6 14:49:02 2008 +0200
+
+ i915: Moved pipe_buffer and i915_winsys functions to a common folder
+
+commit 18953a8771054f02f9a9bef08bf323e19086fdac
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Jun 6 15:20:42 2008 +0900
+
+ scons: Don't force MSVS 2003.
+
+commit b04aa714afad014f2cdecc3ded9df0586f685921
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Jun 6 14:48:57 2008 +0900
+
+ scons: Put the tool logic in a frontend tool.
+
+ More logic can be shared between public and private branches this way.
+
+commit f27c7729a98937a761eacceabdfd03f9d694d257
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Jun 6 13:29:59 2008 +0900
+
+ draw: Compile draw_vs_aos only on x86.
+
+commit eb189c856d5fa4e4b083a2b265e30aa7548d0613
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 5 16:46:29 2008 -0600
+
+ sync up with Makefile changes on master
+
+commit f8563ddddb9edf056c3c0a5f676f93620c4ce37d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 5 16:44:11 2008 -0600
+
+ Move fbdev driver construction into src/mesa/drivers/fbdev/Makefile
+
+commit b55694512a1a762ddbe171775cfe2639a12f5606
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 5 16:28:00 2008 -0600
+
+ reorder some lines, more make clean cmds
+
+commit 4a68b62b86249307ade3ca5a9ca531e283ab7dcb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 5 16:27:43 2008 -0600
+
+ remove X11, Glide, OSMesa sources
+
+commit e89e94e01a40bbaf9e77055c6cddddba0ddbc188
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 5 16:26:15 2008 -0600
+
+ added dependencies
+
+commit 2b84b22bad33e14227abcfab53f93100efac976f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 5 16:08:42 2008 -0600
+
+ Move building of stand-alone Mesa into drivers/x11/Makefile
+
+ Also, some re-org, renaming, and general clean-up.
+ We're just a few steps away from removing the all the special case rules
+ for building drivers.
+
+commit ea7eb9a374bec4160b07b3c2315c00d9416daf7f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 5 16:06:17 2008 -0600
+
+ new Makefile for building "stand-alone", Xlib-based libGL
+
+commit bf5e573926b2b007cb238afae86207e075603f1e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 5 16:05:02 2008 -0600
+
+ prefix some includes with mesa/ or glapi/
+
+commit 949600b69356ac470d7df14e96e72c2333568ee1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 5 15:42:25 2008 -0600
+
+ Move construction of libOSMesa.so into src/mesa/drivers/osmesa/Makefile
+
+ This removes some cruft from src/mesa/Makefile.
+ Something similar could be done for stand-alone / Xlib-Mesa libGL...
+
+commit 20e2bb3e8aa8f41246be6319a67f89de42f50344
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 5 15:38:29 2008 -0600
+
+ insert mesa/ before include files
+
+ (picked from master)
+
+commit f8c6b6628dce66624a7a632992e6b8ab5db42c1c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 5 15:37:17 2008 -0600
+
+ minor changes
+
+commit 18906b7904842e8a43257b179335c600a40fe142
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 5 15:36:07 2008 -0600
+
+ Move construction of libOSMesa.so into src/mesa/drivers/osmesa/Makefile
+
+ This removes some cruft from src/mesa/Makefile.
+ Something similar could be done for stand-alone / Xlib-Mesa libGL...
+
+commit 91b491debea274cc4dfc12130624935d4ebd9728
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 5 15:23:46 2008 -0600
+
+ insert mesa/ before include files
+
+commit fe1a2d1fffe69018e30158ee21ed9842384fd233
+Author: Jonathan White <jwhite@tungstengraphics.com>
+Date: Thu Jun 5 15:07:03 2008 -0600
+
+ egl: assorted fixes for Windows
+
+ Note that int32_t is typedef'd both in p_compiler.h and eglplatform.h
+
+commit b11aad2abe167716b7ff1262f5872d4d9dbb5b9c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 5 14:41:28 2008 -0600
+
+ build egl_xlib/ too (softpipe_egl.so library)
+
+commit d607e30232add2358e915027d030ac094394b08e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 5 14:40:27 2008 -0600
+
+ mesa: always build libglapi.a, updated subdir, gl.pc rule code from master
+
+commit e7725e136f0fa64c75813a3b138dc81a8b19400d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 5 14:12:27 2008 -0600
+
+ egl: build libEGL and softpipe_egl.so by default
+
+commit 3b28aab1614bb22ca12ce7ebd5aa5ff0d87309ec
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 5 14:11:54 2008 -0600
+
+ egl: updated SUBDIRS
+
+commit d5cf57de2de9692e9dc194bea1bbf8abfd446770
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 5 14:11:39 2008 -0600
+
+ egl: new src/egl/drivers/Makefile
+
+commit cca1ae79aa8a06205c93a39be780b32adb194022
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 5 14:10:42 2008 -0600
+
+ mesa: Makefile comment
+
+commit 16e8ee33bd3db1b14a97b3ddd2a7a8833851f8fb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 5 12:08:19 2008 -0600
+
+ mesa: remove EXT/NV suffixes from _mesa_PointParameter functions
+
+commit feb722fa98f04a4487b7ec4746bcc8c7296899c8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 5 12:01:00 2008 -0600
+
+ mesa: added _mesa_DrawArrays, DrawElements, DrawRangeElements() wrappers for VBO funcs
+
+commit f6bb2f87b96bd05661020cf8e73e80f5ef25353a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 4 11:50:18 2008 -0600
+
+ egl: minor tweaks
+
+commit b2a9788ec6f4be8fa6cd2d213288d5488878be47
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Jun 5 11:47:20 2008 +0100
+
+ Silence warning
+
+commit da7b3d294b2827f26bdb6dcbe7c123e77865c160
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jun 4 20:48:04 2008 +0100
+
+ pull in minor mklib change to fix debugging
+
+commit d8de01ba4138d603a2ffcd1ae3cd13186cdb98e3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 4 16:54:26 2008 -0600
+
+ sync up with glxgears.c from master
+
+commit 4c7a17c2517510a608da853f0b6b3b8b2cae52d2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 4 16:11:24 2008 -0600
+
+ fix event handling issues (such as when resizing when not animating)
+
+commit 6d9c3fa0c2aee1bcddc414781ef5ab54873e4de8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 4 16:04:04 2008 -0600
+
+ press 'a' to toggle animation
+
+commit c35e021f374e58345bcd1b663fe3ef754bb665fa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 4 16:01:47 2008 -0600
+
+ code refactoring (draw_frame(0, handle_event())
+
+commit c5342ad0d08b5ee845b5678cb8634c98d5ac95b0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 4 15:56:30 2008 -0600
+
+ remove references to incorrect -winwidth/-winheight, replace with -geometry
+
+commit 028fd5594cd6becfdfc0820b1083729c6033e363
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 4 14:41:33 2008 -0600
+
+ Set the attribute as used.
+
+ cherry-picked from gallium-0.1
+
+commit 25641d599fcf770e214bf078ee35b6aae1d7c73e
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Wed Jun 4 21:25:08 2008 +0100
+
+ Set the attribute as used.
+
+commit 871125a68d11c26efdfa930cf29cdeb8dcc169a5
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Wed Jun 4 13:00:35 2008 -0700
+
+ autoconf: Collect arch/platform settings in one location
+
+ The architecture- and platorm-specific settings were scattered
+ throughout the configure script. This moves them near the beginning
+ before any of the driver-specific settings.
+
+commit 2154cb4994c49031b8614dfad8e97c730f4702a6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 4 11:41:37 2008 -0600
+
+ egl: single triangle test
+
+commit bf527cc8d41c277e610d4d51d3b1394e1d417805
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 4 11:40:25 2008 -0600
+
+ egl: fix X visual selection
+
+commit b9d35c7c44ddda1cc7fdd9a34a9cf4696b6baba3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 4 11:36:01 2008 -0600
+
+ egl: query/print EGL_NATIVE_VISUAL_ID
+
+ Other whitespace/etc clean-ups.
+
+commit af31e5d42982088821bdf8deaeb33d45f01fd004
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 4 11:35:41 2008 -0600
+
+ egl: do proper setup/init of EGL configs
+
+commit 97035cb19aaf508aad45446651a80da9af1d0e8c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 4 11:34:10 2008 -0600
+
+ egl: in _eglAddConfig() just save a pointer to the config; don't copy the config
+
+ This allows subclassing by drivers.
+
+commit 88f86c9d026fc71b78cc6d71c0faaed38d0d6927
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Wed Jun 4 18:58:22 2008 +0200
+
+ egl: Added peglgears, gears that uses pbuffers
+
+commit 1b386f4416e8e7307ffe4f4c37e792eab18501dc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 4 10:27:22 2008 -0600
+
+ egl: new GLES/glplatform.h header
+
+commit 3783994048951b80a0be7d19c70979f78367398a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 4 10:17:56 2008 -0600
+
+ egl: updated GLES/gl.h and GLES/glext.h headers from Khronos.org
+
+commit af540ef3692e2dd047c6355c67b3ba5a99a75395
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 4 10:11:25 2008 -0600
+
+ egl: updated egl.h include paths
+
+commit 19ca6ce573b409346a397453e7d4fa43a0f98368
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 4 10:09:49 2008 -0600
+
+ egl: updated include paths (s/GLES/EGL/)
+
+commit 0ebc94d2362222e690d0a72a27858461c5605264
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 4 10:04:31 2008 -0600
+
+ egl: added OpenGL ES 2.0 header files in new GLES2 directory
+
+commit df8f9a16906360b60b96a6e099de8d24725dbd2d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 4 10:03:39 2008 -0600
+
+ egl: created GLES/egl.h backward-compatibility header (see comments inside)
+
+commit 493f3a0032ce6a021718384a9ca797ff99b4571c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 4 10:01:16 2008 -0600
+
+ egl: moved egl.h into EGL/ directory
+
+commit 3e702fa8811bb9b46299baf4691e162762b2588a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 4 10:00:32 2008 -0600
+
+ egl: moved eglext.h into EGL/ directory
+
+commit 0d8676822deb220cb8a10f2f17799dfafba94deb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 4 09:33:02 2008 -0600
+
+ remove old/unused foomesa.h example header
+
+commit f34767f04c2cf89a6ce733109ab1645b1c76fb70
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 4 09:30:04 2008 -0600
+
+ call glutDestroyWindow() before exit
+
+commit 113ab51a8cf767cc95bdc9f6faea6956e17c1da7
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Jun 4 23:57:55 2008 +0900
+
+ scons: Some provisions to cross-compile x86 on x86_64 machines and vice-versa.
+
+commit 5c9c6b0d2398715d035e939eb8672ed7e95cfec5
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Jun 4 23:56:57 2008 +0900
+
+ scons: Generate matypes.h at build time.
+
+ Also cleanup mesa SConscript.
+
+commit fc286ff3ba089af5f1aca2d35b93b53a9383b1cf
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Jun 4 23:55:55 2008 +0900
+
+ mesa: Remove assyntax.h include from generated matypes.h.
+
+ matypes.h doesn't really depend on assyntax.h; assyntax.h is only present
+ on x86; and this way we remove the need of grep being available (which is
+ relevant for scons and non-unix platforms).
+
+commit 8223add3304451d5e75737a6d1be1739e4517943
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 4 08:56:06 2008 -0600
+
+ gallium: added tgsi_is_passthrough_shader() function
+
+ Checks if all instructions are of the form MOV OUT[n], IN[n]
+ Untested at this time.
+
+commit 4ebfc3c8ffccadaed98c4e032b7691eaf299b0bc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 30 15:23:03 2008 -0600
+
+ egl: prototype some multi-API code
+
+commit b98ac1d47257bf7b2661ae7c1a8904b7bc5d623c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jun 4 15:49:18 2008 +0100
+
+ draw: init vsvg draw pointer
+
+commit 43b92a6424a4d4f4f29b47c35092264c60822f1b
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Fri May 30 18:36:16 2008 +0200
+
+ gallium: Define PIPE_CAP_GUARD_BAND_* capabilities.
+
+commit 0a4aea0e86a897d9afb9f2a0ec27f03faf8f1b21
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jun 2 12:59:16 2008 +0100
+
+ draw: respect driver's max vertex buffer size
+
+commit c218b8c6c6593f434a749bf67ad976007e6eef61
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Wed Jun 4 09:56:00 2008 +0100
+
+ Build with -O2
+
+commit 9e95fad02e1d8690deba91a8f30d722f039366ff
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Wed Jun 4 15:44:38 2008 +0800
+
+ i915: Fix GL_DEPTH_TEXTURE_MODE issue. (bug #16221)
+
+commit dbf3c5247c90bd35c0b2002e3b972a2dd4c8b130
+Merge: 4b5b008 0b734bd
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Jun 3 22:56:25 2008 -0700
+
+ Merge commit 'origin/master' into drm-gem
+
+ Conflicts:
+
+ src/mesa/drivers/dri/common/dri_bufmgr.h
+ src/mesa/drivers/dri/intel/intel_bufmgr_ttm.c
+ src/mesa/drivers/dri/intel/intel_bufmgr_ttm.h
+ src/mesa/drivers/dri/intel/intel_ioctl.c
+
+commit 0b734bd7cf921592eee441f759687e10f48a2cbc
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed May 28 15:55:44 2008 +1000
+
+ mesa/drm/ttm: allow build against non-TTM aware libdrm
+
+ I'll release a libdrm 2.3.1 without TTM apis included from a special
+ drm branch that should allow mesa 7.1 to build against it.
+
+ I've had to turn off DRI2 stuff.
+
+commit 4b5b008d54e86ac4f0a2176429d062100978ca8c
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jun 3 14:43:48 2008 -0700
+
+ [intel] Convert drivers to using libdrm bufmgr code.
+
+commit 5b6ea6bfc80fe96755ca4569048b59baa561f22a
+Merge: afd635a 0a5df5b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jun 3 15:32:45 2008 +0100
+
+ Merge branch 'gallium-tex-surfaces' into gallium-0.1
+
+commit afd635a95056abc0909ebd1503131660d6e78cf6
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Tue Jun 3 12:35:01 2008 +0200
+
+ i915: Fix compile on linux-dri-debug
+
+commit 0a5df5bc7d711a766c9d0963fb2029d60cf70a8b
+Author: Michal Krol <michal@ubuntu-vbox.(none)>
+Date: Tue Jun 3 11:22:00 2008 +0200
+
+ draw: Use register names more consistently.
+
+commit 183d490ab139483c88d0b0f541714919de86235c
+Author: Michal Krol <michal@ubuntu-vbox.(none)>
+Date: Tue Jun 3 10:59:46 2008 +0200
+
+ draw: Fix fetch_src(). Resurrect SSE version of DP3.
+
+commit 58cccc8d6b49c75eeabe9b61055e69de824ff757
+Author: Michal Krol <michal@ubuntu-vbox.(none)>
+Date: Mon Jun 2 21:51:31 2008 +0200
+
+ draw: Fix DP3 implementation by replacing SSE with x87 version.
+
+commit f688827ebdc7fa8ef1160086565f9e109768a250
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Jun 2 11:19:35 2008 -0700
+
+ bug #16503: use INSTALL macro instead of hard-coding to bin/minstall
+
+ This is only part of the fix. Someone with more autoconf-fu will have
+ to fix the rest
+
+commit 96adcc2e214e2fdc2ad15ecac20b1066c6cdd1ca
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sun Jun 1 00:10:45 2008 +0200
+
+ [t_vp_build] Fix refcounting-related memory leak
+
+ This memory leak is identical to the earlier one in texenvprogram.
+ Fixed by not creating an additional reference to new programs in cache_item.
+
+ On top of that, remove some duplicated state setting.
+
+commit 934a53eb4406df9297f86cf12cacf5ba423e8af7
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sun Jun 1 00:01:46 2008 +0200
+
+ [texenvprogram] Fix refcounting-related memory leak.
+
+ All newly created programs have RefCount == 1, but the fragment program cache
+ added an additional reference in cache_item, with the result being that none
+ of the programs were ever freed.
+
+ Solve the problem by not creating the additional reference in cache_item.
+
+commit 6a3aab1983d999a3a9eccbeaab88195820abf467
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Mon Jun 2 17:23:30 2008 +0200
+
+ i915: Removed useless defines
+
+commit 7cc23a9eaebc788ae34f6e06c6227524d08a7693
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Mon Jun 2 17:22:45 2008 +0200
+
+ i915: Implement and use the reworked batchbuffer code
+
+commit 4ee14279f3a466093869f1f40819e6c6d5af378d
+Author: Jakob Bornecrantz <jakob@aurora.(none)>
+Date: Mon Jun 2 14:55:06 2008 +0200
+
+ i915: Rework of batchbuffer code
+
+commit 5a67df6d7cc8c74bfb71a8f19b8f6fdfb525091b
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jun 3 00:04:19 2008 +0900
+
+ scons: Integrate gdi winsys.
+
+ Conditional build of the winsys based on the platform.
+
+commit 7c22bb383a8fcccf71d7916ce91ae6cb17ac1e3c
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jun 3 00:03:17 2008 +0900
+
+ gdi: Port of the gdi mesa driver to gallium (Alan Hourihane).
+
+commit 6a39bcf3752df7c22cdd38b4645a885eb318add8
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jun 2 14:36:27 2008 +0100
+
+ draw: fast element translate path without delta
+
+commit e0860518dfb5a5c6ba6584e3c1b5d7b203277dac
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Jun 2 22:31:02 2008 +0900
+
+ gallium: Replace XSTDCALL by PIPE_CDECL.
+
+commit 8d9a96386a5be7f15968bed63ca8b3e5555bbeeb
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Jun 2 21:45:25 2008 +0900
+
+ gallium: Port util_time functions to windows userspace.
+
+commit 50274111341e82e1f26b1f3316042e5fe610ec8a
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Jun 2 21:43:31 2008 +0900
+
+ gallium: More tweaks for the cosf/sinf logic.
+
+commit aa1a39d1a742c1bb346ba14814d6bf7b44e646cb
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Jun 2 20:46:05 2008 +0900
+
+ rtasm: Use enum sse_cc in sse_cmpps.
+
+commit acdf24e53047892b83dc5b92567694600ffb8cf5
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Jun 2 20:16:49 2008 +0900
+
+ gallium: Fix log<->cos typo in logf.
+
+commit 969a207fe356d152b65085a9113502c7fbb5712e
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Jun 2 20:16:49 2008 +0900
+
+ gallium: Fix log<->cos typo in logf.
+
+commit c1949e2bd3acc45c23cc434eef2b0d6aae9092ca
+Author: Jakob Bornecrantz <jakob@aurora.(none)>
+Date: Mon Jun 2 12:55:35 2008 +0200
+
+ i915: Fixed some warnings
+
+commit f4364cd1a6f9e825ea183c1fa6d1050b7e113695
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Fri May 30 18:46:40 2008 +0200
+
+ i915: Fixed initialization of surface
+
+commit 9b50043ea9e20c15a1be6735e533f5cc25a253ca
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Jun 2 19:46:05 2008 +0900
+
+ gallium: Hopefully fix the cosf/sinf/etc. conditional compolation logic for good.
+
+commit 275fc32d588fb6d2b78038f5a97cc2bcd2cd61dc
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Jun 2 19:36:53 2008 +0900
+
+ gallium: Identify each Windows platform individually from scons.
+
+commit 5463420741744c39849a038b6079a7b46ddcb729
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Jun 2 18:27:00 2008 +0900
+
+ scons: Set /W3 warning level for all MSVC based platforms.
+
+commit 5b86ae60fe339ae0b813d16ec328a68ccb2b9514
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri May 30 01:46:59 2008 +0900
+
+ draw: Fix MSVC warnings.
+
+commit 2c7ae3371b6058988f7f10bf031d630b649f3831
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Mon Jun 2 11:59:04 2008 +0200
+
+ tgsi: Add assertions to the new rule that when an extended swizzle
+ is used, the simple swizzle must be set to identity.
+
+commit 49ed85d6b1cdb74a7985e2d743635c73151bbfdb
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Mon Jun 2 11:42:16 2008 +0200
+
+ brw: SWZ no longer aliases MOV.
+
+commit dfd30b878680dd6dca96928a06a301b837b7a650
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Mon Jun 2 11:41:17 2008 +0200
+
+ i915: SWZ no longer aliases MOV.
+
+commit dc6068a8bcd66e2cbcf76962c70ba202e0078a49
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Mon Jun 2 11:40:44 2008 +0200
+
+ cell: SWZ no longer aliases MOV.
+
+commit c6ae627fdca417318d27a8c26e6d9bc23577aabe
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Mon Jun 2 11:39:59 2008 +0200
+
+ tgsi: SWZ no longer aliases to MOV.
+
+commit 837d49a84e24420dbc06924f4862a5f7dcf4cace
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Mon Jun 2 11:31:52 2008 +0200
+
+ gallium: The SWZ opcode no longer aliases MOV.
+
+ Also, when the extended swizzle token is used, the simple swizzle
+ and negate are set to X,Y,Z,W and FALSE, respectively.
+
+commit 7ead1c5d061b86027cb5e821fdcaa9cdce1d9537
+Author: Dave Airlie <airlied@linux.ie>
+Date: Mon Jun 2 07:18:21 2008 +1000
+
+ r500: add missing brackets around depth testing
+
+commit 915e49e0fd61d7b8eee304d756813455612e98d9
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun Jun 1 11:45:30 2008 -0700
+
+ r5xx: Enable depth write emission.
+ Thanks to nh for the r3xx version.
+
+commit c9ea62444c6969da8706ea88e12df8c458a6acce
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sun Jun 1 19:53:52 2008 +0200
+
+ r300: Writing to result.depth in fragment programs (R3xx; only stub for R5xx)
+
+ Setup fg_depth_src for depth writing programs and change early Z (ztop)
+ semantics.
+
+ Piglit's version of glean/fragprog test passes now (unlike Glean, its
+ dependency on EXT_fog_coord, which we don't support, is optional).
+
+ R3xx only at the moment, but should be straightforward to adapt to R5xx
+ (I don't own an R5xx, and I don't want to break anything.)
+
+commit d9c7c5f071f5bf2a7516d877c9ab84b2b2b91779
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sun Jun 1 13:13:32 2008 +0200
+
+ [r300] Fix KIL instruction and swizzling of texture coordinates
+
+ The KIL instruction only works if at least one texture unit is enabled
+ in hardware.
+
+ Texture instructions do not support swizzles, negations etc. natively,
+ so we now emit an explicit swizzling etc. operation when the texture coordinate
+ requires it.
+
+ This fixes the Piglit fp-kil test.
+
+commit 3225e2cdb60868ace70db16407ec5cf5fc64be3c
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun Jun 1 03:23:00 2008 -0700
+
+ r5xx: Add OPCODE_FLR.
+ Why didn't anybody tell me we were missing this one? I thought I committed it ages ago!
+
+commit 9a34c68faf2a9e83e60ed4833816db56342f658d
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat May 31 22:41:54 2008 -0700
+
+ r5xx: Last emit_sop() for now.
+ This should also clean up LIT later on.
+
+commit bffa0909cbd395aac7d974c0475dc7ed9fd208a9
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat May 31 22:23:11 2008 -0700
+
+ r5xx: More emit_sop(), stage 2.
+ SIN/COS.
+
+commit ea58dceb1c803953d3a9b77adcac5ee131d1c038
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat May 31 22:09:38 2008 -0700
+
+ r5xx: Cleanup SOP with emit_sop().
+ I wish I had a snarky commit message, but I'll save that for after I get the
+ trig working with this.
+
+commit c9679ce1d22e706bfe1cdc6a5cf8553ffedb2842
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat May 31 20:48:15 2008 -0700
+
+ r5xx: Dump shader constants when dumping program assembly.
+
+commit 7013eecf282d2b1151cdb5cd3ba356295e1e1b79
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sun Jun 1 09:32:55 2008 +1000
+
+ r300: disable the lowimpact fallbacks by default.
+
+ because really we should be able to just fix the driver.
+
+commit a3212ee313c52ff4fc15804a3b4ddfb186556575
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sat May 31 19:55:27 2008 +0200
+
+ mesa: Fix build after TGSI declaration interface changes.
+
+commit 01122116144619a93c7ebb852eaffb3a6c96fe67
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sat May 31 19:54:20 2008 +0200
+
+ brw: Fix build after TGSI declaration interface changes.
+
+commit 99b46555499005bd9454fb4a91d28d4e7d93dba4
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sat May 31 19:52:41 2008 +0200
+
+ i915: Fix build after TGSI declaration interface changes.
+
+commit 347d28fd20645674c3509b9fb8ebf8c31a24c239
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sat May 31 19:51:50 2008 +0200
+
+ cell: Fix build after TGSI declaration interface changes.
+
+commit 56fc7690d791819d81ff1c6e6e22d22017c68919
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sat May 31 19:50:58 2008 +0200
+
+ util: Fix build after TGSI declaration interface changes.
+
+commit a49381587f73c67469ec7546419cfc41387f938c
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sat May 31 19:48:13 2008 +0200
+
+ tgsi: Fix build after TGSI declaration interface changes.
+
+commit 3de18c2ac3cf679875d22d7ae9e62a11f5ea03c9
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sat May 31 19:41:29 2008 +0200
+
+ gallivm: Fix build after TGSI declaration interface changes.
+
+commit c2ff3a66a1d9fe0b5303ded0503323a73a6a7391
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sat May 31 19:40:36 2008 +0200
+
+ draw: Fix build after TGSI declaration interface changes.
+
+commit 4e33edfd06999e7c65b761be2d1cdc16e5b659c5
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sat May 31 18:56:20 2008 +0200
+
+ gallium: Refactor TGSI decalaration tokens.
+
+ * Incorporate declaration_interpolation into declaration itself.
+ * Remove declaration_mask -- always use declaration_range.
+
+commit 140e0e071890f24653e333e309778f6242c8d8f9
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sat May 31 18:44:47 2008 +0200
+
+ i915: Comment out dead & problematic code.
+
+commit 9b3c1582befd0c64d9b48f7ed39566f9ae2e24d9
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sat May 31 18:42:17 2008 +0200
+
+ i915: Add mising include.
+
+commit a4abedc4f56e0442083aee9b39980900abf6ef40
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sat May 31 18:40:39 2008 +0200
+
+ draw: Remove const qualifier.
+
+commit 9046d1acfa91621ee83b3933fe6e4b52deb00cbf
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sat May 31 18:40:00 2008 +0200
+
+ gallium: Fix preprocessor logic.
+
+commit 13581958bd99396ab8ec314f10cf61f717b18a9b
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sat May 31 18:19:21 2008 +0200
+
+ draw: Remove const qualifier.
+
+commit ffc6afcdbf14b5d26bd3665a269fdd28d944afed
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat May 31 18:55:25 2008 +0900
+
+ scons: Enable mesa state tracker in all platforms by default.
+
+ But only actually build it on some. This results in a better default
+ scons experience.
+
+commit 3b77f391db7827d1fb19a5dc3d8e8d3d705185ae
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat May 31 18:51:44 2008 +0900
+
+ draw: Eliminate stdio usage.
+
+commit 53174afeeb68a79e471185cb463c13ff90af698f
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat May 31 18:14:09 2008 +0900
+
+ mesa: Apply MSVC portability fixes from Alan Hourihane.
+
+commit 45b2c23d7a2f1bd723d0719b13470125de09c243
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat May 31 18:08:24 2008 +0900
+
+ i915: Eliminate void pointer arithmetic.
+
+commit 054189e87abcd399aadb449d13b2e331c060e65f
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat May 31 18:07:39 2008 +0900
+
+ gallium: MSVC 8.0 already defines the cosf, sinf, etc.
+
+commit a9d6b1afa5b548a98c2b95db50236c4139d9f569
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat May 31 15:18:55 2008 +0900
+
+ gallium: Port timing functions to WinCE.
+
+commit a947c1a3fe100dfc1ac519010673d1136f1dcd08
+Author: Markus Amsler <markus.amsler@oribi.org>
+Date: Sat May 31 03:10:21 2008 +0200
+
+ r500: Use 8bit fog alpha compare value.
+
+ This fixes transparency issues on r500 by enabling
+ backwards compatibility with the r300 alpha compare value.
+
+commit fccc427aac17b3fa17160332e6e6f3c2cef25ca5
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri May 30 15:12:15 2008 -0700
+
+ [intel-gem] Remember last offset of reused BOs to avoid more kernel relocs.
+
+ This is good for about 5% on ipers on 965, and should help any cpu-bound app.
+
+commit 12bb9075221da6bf8121f3d705888f29ca11cc0f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 30 15:07:58 2008 -0600
+
+ gallium: fix some PIPE_FORMAT_Z24S8_UNORM bugs in softpipe driver
+
+commit 3c4162ed2afe4da252d2a32c14e486515935ba39
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 30 14:51:40 2008 -0600
+
+ egl: eglGetProcAddress() stub
+
+commit e3805cad0d15ed25ce8f6c5a1f1ea913e5d0986a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 30 14:50:33 2008 -0600
+
+ egl: new eglGetProcAddress() code
+
+ The idea is to pass the call down to the device driver where an API-specific
+ query can be made. Untested.
+
+commit 6b9b49127e575ecfae08a78b991e89cb484150a4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 30 13:46:50 2008 -0600
+
+ egl: bind the OpenGL API
+
+commit ba7aeb8b34c2e310b6ba0d3dbfdc68b0d6ab82c8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 30 13:46:31 2008 -0600
+
+ egl: specify client API by bit flag, not string
+
+commit d5078b94323241a6482f54797756116b1c864327
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 30 13:45:40 2008 -0600
+
+ egl: clean-up re-org of the client API state
+
+commit 52676207e338b4c2b4953747521921ab79d70f06
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 30 12:06:06 2008 -0600
+
+ egl: added eglDestroySurface function
+
+commit 64d0eb111d5a19bc251dfc59884c945cf93c6bb0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 30 11:51:50 2008 -0600
+
+ egl: fix-up window resizes
+
+commit 834aa8cfbc25622256889624ee1768c10224feb2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 30 11:46:43 2008 -0600
+
+ egl: check for EGL_DRIVER env var to override normal driver selection process
+
+commit 80ed996803cf198cc498f1b9cc952ab2662c946f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 30 11:43:35 2008 -0600
+
+ egl: new version of gears demo that uses Xlib+EGL (and full OpenGL for now)
+
+commit 750782a327a1d295f4ed00a590c362f32912d597
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 30 11:42:08 2008 -0600
+
+ egl: assorted fixes. The code works now.
+
+commit 057ee55720faee0e1269937d70bbafe6df5c57e6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 30 11:41:18 2008 -0600
+
+ egl: added surface_alloc_storage()
+
+commit 274dd381a30072ecb8341cfc41e63bb6e39419ac
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 30 11:40:48 2008 -0600
+
+ egl: fix width/height tests
+
+commit d0de5a2dafb5143f01a3c6dc367c85aa0800466b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 30 11:40:23 2008 -0600
+
+ link libEGL with Xlib
+
+commit 1529a2c983f70ed7ff661ae6e8995cdfbca6d9cf
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri May 30 14:51:09 2008 +0100
+
+ draw: trim incoming primitives
+
+commit 63faab0150c3394bd9532e621947d2a31b9712ea
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri May 30 14:47:38 2008 +0100
+
+ mesa: undo accidental setting of _ForceEyeCoords
+
+commit df7d1ee2a5270be2d329fd0614a608357917bb74
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 30 08:53:42 2008 -0600
+
+ Fix segfault in _save_OBE_DrawElements() when using VBO and display list (bug 16156)
+
+ This was previously fixed in master by commit 982dcb74fd19b88208d127b8019e2a2af979cac2 by Haihao Xiang.
+
+commit b12a31f59d80a1d5703181b00b42df3fa712497b
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Thu May 29 16:57:34 2008 +0200
+
+ i915: Now using draw_elements_range
+
+commit 7b0a551c4cebc44cc06face712eb9659ccdebcc9
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Thu May 29 16:56:42 2008 +0200
+
+ i915: Made batch buffer size much larger
+
+commit 3869c3c87a40d9f41414082ad8dd3d747e6b34d8
+Merge: 2ade526 012c0dd
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Fri May 30 13:46:18 2008 +0200
+
+ Merge branch 'gallium-tex-surfaces' into gallium-0.1
+
+ Conflicts:
+
+ src/gallium/drivers/i915simple/i915_context.h
+
+commit 2ade5268dca67a73d3f5f8cc41ea86d1e48de9f0
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Fri May 30 13:31:42 2008 +0200
+
+ i915: Remade texture allocation code again
+
+commit 9760ab234951d18c9606e962c6e3ac1f56fc6385
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Fri May 30 13:30:51 2008 +0200
+
+ i915: Fix extentions not being set
+
+commit 012c0dd6321e858af22389f98201c8dcb8f8780c
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Fri May 30 13:36:52 2008 +0200
+
+ sis: Removed useless comment
+
+commit cf13cf245e91669eb916a6d51676b0d66ff62ead
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri May 30 14:32:59 2008 +1000
+
+ nouveau: fix warning
+
+commit 996b549fdbfe772ee56a51858e81e93bccaae5c5
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri May 30 11:04:55 2008 +1000
+
+ nv40: a couple of memory leaks
+
+commit 8b31d5fc8a5425b01adf80f4873cb816925ee0d1
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri May 30 11:00:59 2008 +1000
+
+ nouveau: flush pending pushbuf if buffer on validate list at map/del
+
+commit 524408f1a5b39c8c25a277e41e4eee54fd726b84
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri May 30 00:38:07 2008 +1000
+
+ nouveau: rework buffer validation a bit
+
+commit bee79eb9b9ef649585dc507dc756b1e79eb00d2c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 29 17:02:55 2008 -0600
+
+ egl: new EGL/gallium/softpipe/xlib winsys
+
+ Checkpoint commit. Most required code is in place, and compiles, but
+ totally untested.
+
+commit 1c73b4ba86b424ba66a16c4006a57db505bd3ca3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 29 17:02:31 2008 -0600
+
+ egl: added Name field to _EGLDriver so a driver name string can propogate up through EGL_VERSION string
+
+commit d1a0faffc3fde42b030f3eb18d6f31c10dfdc8f6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 29 17:01:19 2008 -0600
+
+ egl: use softpipe_egl driver by default
+
+commit 31e70fa275a48b8020c14017919e08d21f5e982f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 28 10:40:25 2008 -0600
+
+ comments in _eglMain()
+
+commit ae10775b731c8c58aa42f8046b6b557b4659cb7c
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu May 29 21:09:06 2008 +0900
+
+ gallium: Provide the INT64_C/UINT64_C macros.
+
+ "long long" types and 1234LL constants are not supported by eVC.
+
+commit 2691c228701e0d3a048eaaa698ba2236c2650d08
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu May 29 19:24:53 2008 +0900
+
+ gallium: Replace getenv by placeholder code on WinCE.
+
+ WinCE processes supposedly have environment, but it is not clear which API to use.
+
+commit 22be9ea4a63ff051604123de5e82cf4050792ef8
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 29 18:18:56 2008 +0100
+
+ draw: quieten some debug
+
+commit 529b3f4cc0ce3a3219daf5e1e8d4248cd1afe286
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Thu May 29 19:07:40 2008 +0200
+
+ i915: Fix GPU lockup on resize
+
+commit 4a69c4173d6bf120b5abbcb38072fa053918d393
+Author: Luc Verhaegen <libv@skynet.be>
+Date: Thu May 29 11:00:06 2008 -0600
+
+ Fix segfault on exit in unichrome driver (bug 16150)
+
+commit ef56a563a1b05cf60d8990f76db7fd59e8db19a0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 29 10:46:39 2008 -0600
+
+ undo prev change to this VC7 project file
+
+ Meant to update the VC8 project file.
+
+commit 1190261c470bf810721adc866ba486f6ddd001c2
+Author: Karl Schultz <k.w.schultz@comcast.net>
+Date: Thu May 29 10:43:48 2008 -0600
+
+ added prog_uniform.[ch]
+
+commit 645c131264ae169cf64753a930ada500b6933fe7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 29 10:41:31 2008 -0600
+
+ Assorted Windows fixes (Karl Schultz)
+
+commit a1a0e51043cc6feea7811113139cb5b6d753403e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 28 09:10:48 2008 -0600
+
+ Use the GLuint64EXT type defined by GL_EXT_timer_query
+
+ Removes some compiler #ifdef stuff.
+
+commit d0c0c0d1e67f92df8866e6218b868b3de954a5e1
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri May 30 00:28:29 2008 +1000
+
+ nouveau: oops, more tex-surfaces fallout
+
+commit 643cc9387d03b5002a4a1e1a95f0dbcfff83b2d2
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Thu May 29 16:03:21 2008 +0200
+
+ i915: Cleaned up intel_winsys_pipe.c
+
+commit 056bea86b013858832a6ab390fe6efe310a7bc8f
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Thu May 29 15:49:23 2008 +0200
+
+ i915: Deprecated pipe_winsys buffer functions
+
+commit 807e7c4ccfdaebf8e568357fb1fd8090ccae638c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 29 14:35:30 2008 +0100
+
+ draw: add more switches to turn FSE on/off
+
+commit 8808d62f608d1397ee75d0087301d0b0a0278244
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu May 29 22:26:56 2008 +0900
+
+ gallium: MSVC warning fixes.
+
+ Conflicts:
+
+ src/gallium/auxiliary/draw/draw_pt_varray.c
+ src/gallium/auxiliary/draw/draw_pt_varray_tmp.h
+ src/gallium/auxiliary/draw/draw_pt_vcache.c
+
+commit 4a7198fdcfe3256bdefff5d1d766327ae7f18b35
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu May 29 22:20:51 2008 +0900
+
+ psb: Make msvc happy.
+
+ Conflicts:
+
+ src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline.c
+
+commit 8f887b4252208e60e7e86217ec3b72fb639a4e82
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 29 13:26:01 2008 +0100
+
+ draw: michal's patch for calling powf... teapot still not quite right
+
+commit a233f65f9b79734498c120e8052aa8d6255586e4
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 29 13:08:15 2008 +0100
+
+ draw: better calculation of fetch_count
+
+commit 45eecb93920c5a33e71b3c152749273908cb62fd
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 29 12:42:39 2008 +0100
+
+ draw: remove printf
+
+commit bb2e13b9e82b68ec3b9fc56a4c35e7ead8fd138f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 29 12:38:49 2008 +0100
+
+ draw: make sure constant buffer data is aligned before passing to aos.c
+
+commit 79b67d8408d1ba5b2232791ae35e731a5953b52d
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Thu May 29 12:44:53 2008 +0200
+
+ i915: Remove last usage of surface_alloc_storage
+
+commit 837601af522b9d1e687040015672769392884fa1
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Thu May 29 12:43:09 2008 +0200
+
+ i915: Ops how did that get there
+
+commit 0cd75a4c99ec63b514b6fbb53152858fa20f53ec
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Thu May 29 12:54:01 2008 +0200
+
+ i915: Get up to date with the latest EGL changes
+
+commit 82605d7bcd533d7c96cc619c45970efd7229dc3b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 29 11:46:43 2008 +0100
+
+ draw: draw_range_elements trial
+
+commit cb87d7e44a6d6b1b4239b4e38c76c6bb848d2ef6
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Thu May 29 12:11:37 2008 +0200
+
+ scons: Remove duplicate entry.
+
+commit 6945bcb89370501e0a218bc656e68e30e4dadcda
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu May 29 18:28:02 2008 +0900
+
+ draw: Put PIPE_CDECL in the right places.
+
+ MSVC seems picky about this.
+
+commit 328621509f4690fb945201a90425662e4fd2fc2d
+Author: Dennis Kasprzyk <onestone@opencompositing.org>
+Date: Thu May 29 11:25:21 2008 +0200
+
+ R1/2/3/4/5xx: fixed calculation of cliprects in CopyBuffer.
+
+commit 377016d728ace47c9eeb3ac2f01191608ab060f6
+Author: Dennis Kasprzyk <onestone@opencompositing.org>
+Date: Thu May 29 11:24:16 2008 +0200
+
+ Report correct damage rectangle in CopySubBuffer.
+
+commit d8395f9d9eed4040d6fa12f1631dd7c372c73be4
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon May 26 17:51:38 2008 -0700
+
+ [intel-gem] Once mapped, leave buffers mapped.
+
+ Mapping and unmapping buffers is expensive, and having the map around isn't
+ harmful (other than consuming address space). So, once mapped, just leave
+ buffers mapped in case they get re-used.
+
+commit 74a217fbcd8ea05dc97eda06eb0b46e35979579d
+Author: Markus Amsler <markus.amsler@oribi.org>
+Date: Thu May 29 02:11:59 2008 +0200
+
+ r300: fix R300_FG_ALPHA_FUNC_VAL_MASK
+
+commit 62628c4d3d497cbca73fde869c9069fa90e6453e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 29 00:17:53 2008 +0100
+
+ draw: share machine
+
+commit 728d1f7f43b6db9f4f42c2d16ba223c492d1147d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 28 23:54:18 2008 +0100
+
+ draw: enable FSE by default
+
+commit f751371028cc425bef83418224c23ece67f5b8b7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 28 16:48:35 2008 -0600
+
+ egl: re-enable LOCAL_CFLAGS
+
+commit 260ac3c983644e1e51f705c00ceec1866a0c9611
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 28 16:08:50 2008 -0600
+
+ egl: remove unused Display field
+
+commit 11a261ef4f1d4100c46f73ad51e7e4ed57cc1b5e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 28 15:50:58 2008 -0600
+
+ egl: move a few small functions into new eglmisc.[ch] files
+
+commit c56e15b093c367e7e17ebd2e153baab8cafd213a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 28 15:43:41 2008 -0600
+
+ egl: make sure EGL_VERSION_STRING query returns same version as eglInitialize()
+
+commit 8cd33faee61626de7320efb4e20d95e4cfb7a573
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 28 15:25:01 2008 -0600
+
+ egl: query/print EGL_CLIENT_APIS
+
+commit e084fe54f93c9d51df99812b76d3299b0cff57a3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 28 15:22:17 2008 -0600
+
+ egl: include egldefines.h
+
+commit cf3c7d74ccee8e21ebfa04159ab64fec3b989d83
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 28 15:21:52 2008 -0600
+
+ egl: added egldefines.h
+
+commit 9843c6420d88db0c43b831cf79a3d1872c636225
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 28 14:51:40 2008 -0600
+
+ egl: bring card->driver lookup code into egldriver.c
+
+commit aa6e350bed8e6930bef761fb85ad524e5a4aa3a3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 28 13:03:59 2008 -0600
+
+ egl: pass args to _eglOpenDriver()
+
+commit 0c8908c411c434eda318b41b4f2a370a1e794831
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 28 12:56:36 2008 -0600
+
+ egl: added args string to _eglMain()
+
+commit e94d383b9ba7964da9fefac2a55e10c00ee72392
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 28 12:54:33 2008 -0600
+
+ egl: added eglstring.[ch]
+
+commit 17ec3b3cc5100deb6ef96977d87b2a7f05814f72
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 28 11:45:50 2008 -0600
+
+ prototype new code to map card number to driver name
+
+commit aa4ca9119d1dbaf542cf5971f845b434ef008aa0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 28 11:44:47 2008 -0600
+
+ link libEGLdri.so with libdrm
+
+commit 648da5158e5f418bf859aee6aa4532b6899b0d94
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 28 16:36:45 2008 +0100
+
+ rtasm: special case for [ebp]
+
+commit 5adc76389825a7a073ae37e78b1771ee7e30e9a4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 28 09:06:28 2008 -0600
+
+ updated function list
+
+commit 5429d4a04a90f1e8664336143985973729a97768
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 28 08:53:32 2008 -0600
+
+ replace make with $(MAKE) (bug 16133)
+
+commit 95c917f7dd6e837cb1b280be617a795dd57c9f13
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 28 08:42:13 2008 -0600
+
+ x-related EGL code (stub)
+
+commit 364f75d9dbc2b8e19c884b9cc74676ab6cbee60d
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed May 28 22:19:58 2008 +0900
+
+ draw: Use PIPE_CDECL.
+
+commit 25cec212d05b613a83eb2bc2167e3dab88da0967
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed May 28 22:19:26 2008 +0900
+
+ scons: Add new files.
+
+commit e407e83966f2d7d6d9751fc0069ebacd4808d89d
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed May 28 15:10:39 2008 +0200
+
+ scons: List missing files for draw module.
+
+commit ff44dd5cde47c81f90c5293b904e1c7edd006be5
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed May 28 15:10:19 2008 +0200
+
+ draw: Decorate callbacks with PIPE_CDECL.
+
+commit 276552c0dd8d9d68b8324c42b05c768c45a9db76
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Wed May 28 14:52:10 2008 +0200
+
+ i915: Add draw_flush to state changes
+
+commit 7a986792dabe6556c63b2f2a997c7c6217604e2d
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed May 28 21:48:30 2008 +0900
+
+ tgsi: Observe constness.
+
+commit 4767c10cbb87a77e6cb24c53815c38bd5887c771
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed May 28 21:47:25 2008 +0900
+
+ translate: Mark functions as PIPE_CDECL.
+
+commit 7fd6cd9af31a6b02564359f820d478ceb970fc7d
+Merge: 44a7bd0 b7b9ce0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 28 13:33:09 2008 +0100
+
+ Merge branch 'gallium-vertex-linear' into gallium-tex-surfaces
+
+commit 2c004a4bece706c590f5ab03432d2aa65d6d0263
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Wed May 28 14:22:50 2008 +0200
+
+ i915: DriConfigOptions started complaining on this line
+
+commit 4b1f382e13ba2d8ad08bdf8dac1738ad1d22acf3
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Wed May 28 14:22:07 2008 +0200
+
+ i915: Remove workaround for buggy draw module
+
+commit ce56bcb640072496809d2aefede5a32fe9256ace
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Tue May 27 21:15:36 2008 +0200
+
+ i915: Prepare for tiled private front and back buffers
+
+commit cb5e05d99c40d4f7ab1ecbb42a6390caf3966ba4
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Tue May 27 19:00:16 2008 +0200
+
+ i915: Made vertex submission eaven faster
+
+commit 08130512b9961da76a6385403d56387125df5e8c
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Tue May 27 13:18:25 2008 +0200
+
+ i915: Made vbuf work
+
+commit 938d9d596324e411fde5312f2bb65b444c502c37
+Merge: 5d90f97 7b85ea1
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Wed May 28 12:42:42 2008 +0200
+
+ Merge branch 'gallium-vertex-linear' into gallium-0.1
+
+ Conflicts:
+
+ src/gallium/auxiliary/draw/draw_pt_varray.c
+
+commit 5d90f97f48f8ba231d52bb1a4758dd37f81ec8d6
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Wed May 28 12:27:52 2008 +0200
+
+ i915: Don't segfault on buffer allocation error
+
+commit ae3795a968f07fc150d4c34aa1a9cd067f33b914
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Wed May 28 12:27:27 2008 +0200
+
+ i915: Make EGL_i915 compile
+
+commit c2bd95abf60a8b6ea83dce3fc67603b36f937484
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Wed May 28 01:18:45 2008 +0200
+
+ i915: Make EGL_i915 segfault if modesetting is not working
+
+commit b870bf79b5387f26668285f44ccbf5812ad62e10
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Wed May 28 11:40:41 2008 +0200
+
+ egl: Temporarily disable eglx.[c|h] building
+
+commit 68ff873c20a6e32eef0fa4c6d259a5a415308be5
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Wed May 28 11:33:52 2008 +0200
+
+ egl: Make dri driver compile
+
+commit 003afbe5bdb3d3c45e0f4f06d0b4239237df934c
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Wed May 28 11:32:18 2008 +0200
+
+ egl: Make demo driver compile
+
+commit 3e867959e92dea55f963841b2dc03d323e2f8188
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Wed May 28 01:17:28 2008 +0200
+
+ egl: Fix warning in eglgears
+
+commit d8a693ee49ab2c5699a12f8595be8b8606971dbd
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Wed May 28 01:16:06 2008 +0200
+
+ egl: Make demo3 compile
+
+commit 55d29a8d48663982a1aeea414f69a5896b97d1ea
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed May 28 16:12:14 2008 +0900
+
+ gallium: Windows CE portability fixes.
+
+commit 3e6c791390fd03ca04302f1312b94cd3c5ca0054
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed May 28 10:23:25 2008 +1000
+
+ r300: disable cmdbuf debug again
+
+commit 261a15cf6389eba434d6857e78b524707803ed08
+Merge: 8bd70a7 85af4fd
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed May 28 10:20:14 2008 +1000
+
+ Merge branch 'r500-support'
+
+ Bring in all the r500 3D code into master should be as stable as the r300
+ code it is landing on top off.
+
+ Conflicts:
+
+ src/mesa/drivers/dri/r300/r300_reg.h
+ src/mesa/drivers/dri/r300/r300_state.c
+ src/mesa/drivers/dri/radeon/radeon_screen.c
+
+commit 85af4fde7fd5c7f6a6976fbd9d6529a9082f42b7
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed May 28 10:07:30 2008 +1000
+
+ r500: remove warnings and only start on newer drms.
+
+ This removes lots of warnings to the user, and only allows the driver
+ to run on > .29 drms for r500 cards.
+
+commit 867f5aac5361eda657491a98feca33c91eae3218
+Author: Alex Deucher <alex@botch2.com>
+Date: Wed May 28 10:11:14 2008 +1000
+
+ R3/4/5xx: update to use drm get_param for num gb pipes
+
+commit 5552500cdfc4b97f5c824f6af1f8213c785693f9
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed May 28 10:03:10 2008 +1000
+
+ r500: cleanup warnings and include files
+
+commit 96a40345bb3b7c87d9742d0b5683355f42596823
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 27 16:58:23 2008 -0600
+
+ include eglconfigutil.h
+
+commit a772bbb16ec91a8714a498e8089f96f45730153c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 27 16:57:49 2008 -0600
+
+ Move some config-related utility functions into new eglconfigutil.c file.
+
+commit 07e92b174214e6bdaa22eecc0ed87cf1dbc8fc10
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 27 16:49:11 2008 -0600
+
+ misc updates, clean-ups, remove dependency on mtypes.h
+
+commit 6052af172f0241e6678cd16efac0a0f14f40146c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 27 16:48:23 2008 -0600
+
+ minor overhaul/re-org of driver selection/loading code
+
+commit b7b9ce0f8677993c3cd5376add72a684a5653341
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue May 27 23:23:37 2008 +0100
+
+ softpipe: enable vbuf by default
+
+ The non-vbuf option is going away...
+
+commit e38bb10824fc3dc194d7cc6987f3f4957784310e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue May 27 23:21:50 2008 +0100
+
+ draw: reset stipple counter whenever non-line prim encountered
+
+commit 721ba15bf4596b2e9589e7656005b387724875c3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 27 14:33:54 2008 -0600
+
+ added _eglGet*Handle() functions
+
+ These are the inverse of the _eglLookup*() functions.
+ Returns the public handle for a private surface/config/display/etc.
+ Removes glapi.c's direct access of private fields.
+
+commit 5f8a4f3e5e8fe78f1abe9ca6dd1131ad53d3d943
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 27 14:23:56 2008 -0600
+
+ added EGL_OPENGL_API case
+
+commit 5e7dba541298a29f175f9d077bf6f63030465d94
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 27 14:21:25 2008 -0600
+
+ eliminate the context hash table
+
+ In EGL 1.4 the opaque EGLContext type is a pointer so we can just cast
+ between public EGLContext handles and private _EGLContext pointers.
+
+commit 209a557574b9833da3d6ac299c83f4cddfff6910
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 27 14:17:40 2008 -0600
+
+ fix typo: s/Contexts/Surfaces/
+
+commit fcce6c068cf53fd394a2c82080338860dae8777b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 27 13:47:44 2008 -0600
+
+ s/GLuint/unsigned/
+
+commit a6af2e3345a23e66385433b066329f77ec69abcb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 27 13:47:23 2008 -0600
+
+ include eglext.h, define EGL_EGLEXT_PROTOTYPES
+
+commit 096b79bf17900ba3d335c6b415461f198051e75b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 27 13:47:07 2008 -0600
+
+ updates for EGL 1.4
+
+commit 1ed1027e886980b9b0f48fa6bfcf3d6e209c7787
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 27 13:45:41 2008 -0600
+
+ assorted changes to compile with new EGL 1.4 headers (untested)
+
+commit 3e4128963d4e1a27ef29658a3aa260f492091628
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 27 13:45:16 2008 -0600
+
+ pipe stderr to /dev/null
+
+commit c6426c97b9fe2c8a3d00ca4e2fd306cce364832a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 27 13:45:01 2008 -0600
+
+ obsolete with EGL 1.4
+
+commit 2fe1a55ab2deeae7a9492e0b127875f5e0cbb4d0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 27 13:43:56 2008 -0600
+
+ added EGL_MESA_screen_surface, EGL_MESA_copy_context extensions
+
+commit 57da567dc547a5fcbec5cca02dc13242d6f8386f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 27 13:43:34 2008 -0600
+
+ added typedefs for X/Mesa
+
+commit 0841f0a85e852771899237c5392a0811e3f12df1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 27 13:43:17 2008 -0600
+
+ remove stray ! character
+
+commit 704a5c7efbb6f41eb8dbe01e4f5a9275c1843699
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 27 13:43:01 2008 -0600
+
+ new eglplatform.h from Khronos.org (replaces GLES/egltypes.h)
+
+commit 6438f6fdf72efcdc596898d11fe3e95fc2a08db2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 27 13:42:38 2008 -0600
+
+ new eglext.h from Khronos
+
+commit d0f5d8c5a376bf564803516bb3cc9b9463085634
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 27 13:42:12 2008 -0600
+
+ EGL 1.4 header from Khronos
+
+commit 8bd70a7bbefe420dd696bfd6dc3b64d3dd17e884
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 27 13:27:57 2008 -0600
+
+ update, re-org build/install instructions
+
+commit 6525d250a8d6950c4b1dc27e15ad369c383c2827
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 27 12:51:37 2008 -0600
+
+ set version string to 7.1 rc1
+
+commit 5173fc666995a296fdfc741547dfedf5e883a9bf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 27 12:51:10 2008 -0600
+
+ updates for 7.1 release
+
+commit 0128703f033eff65200163361f3099a2c57fd711
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 27 12:50:59 2008 -0600
+
+ prep for 7.1 RC1
+
+commit 7b85ea19de09d4e7e077ca147528e90e52683690
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue May 27 19:01:57 2008 +0100
+
+ draw: support psize in vs_varient paths
+
+ Preserve the vinfo "EMIT_*" format descriptors in the varient key,
+ and deal with PSIZE directly in each implementation.
+
+commit fd20d1c7e8bbe2f40d73679b1514023772cfd8f6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue May 27 17:51:48 2008 +0100
+
+ draw: add disabled debug code
+
+commit 660fee8351542dadc0d5550164e753f7c2d67261
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue May 27 17:49:13 2008 +0100
+
+ draw: ensure vs outputs mapped correctly to vinfo attribs
+
+commit 2ec419d40dba43305c28fca9658ea00541f67821
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue May 27 17:45:54 2008 +0100
+
+ draw: fix ABS aliasing bug
+
+commit 26f34dcff2a6ad0d44605c8ff34ae2850f655fd9
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed May 28 01:24:26 2008 +0900
+
+ gallium: Autodetect WINCE.
+
+commit b215d7d10c011adce839b80f87c0ea03a3edd427
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed May 28 01:24:06 2008 +0900
+
+ scons: Play nice with MS Embedded Visual C++.
+
+commit 44a7bd0019b9af9ff01336df0aa6eb206f5dc2e9
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue May 27 17:00:59 2008 +0100
+
+ gallium: Always unreference bitmap cache texture before resetting the cache.
+
+ Fixes assertion failure with tunnel2 demo.
+
+commit e903f51bc43fde1f61a779fd8017c96a651781ac
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 27 09:49:18 2008 -0600
+
+ allow GLX_SAMPLES_ARB==0 (bug 16073)
+
+commit 0ccffacee268ec80e5ef680d75cbbf8ed9603342
+Author: Jouk Jansen <joukj@hrem.nano.tudelft.nl>
+Date: Tue May 27 08:58:39 2008 -0600
+
+ updated for latest sources
+
+commit 9d3359d12a709db7457927ac536244101d6a1b30
+Author: Karl Schultz <k.w.schultz@comcast.net>
+Date: Tue May 27 08:48:25 2008 -0600
+
+ dependency fixes (bug 13544)
+
+commit f8762ba5234fd1b44e11e76bb5f58d2305c90572
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue May 27 14:42:15 2008 +0100
+
+ draw: explicitly list nr_inputs, outputs in varient key
+
+commit f64c44ad3e55467ce964871502445cf5a0fb46d6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue May 27 14:17:57 2008 +0100
+
+ draw: remove dead file
+
+commit 9f9f6c21be105de41a58128605b911e679efe8f0
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Tue May 27 13:15:52 2008 +0200
+
+ draw: Fixed typo in draw_pt_varray and added comments
+
+commit 9752ebd99e16646fed3c14712fc0af2c34c9e48f
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Tue May 27 12:59:46 2008 +0200
+
+ draw: Fix for EMIT_4UB case
+
+commit a08c574bfcf72c7f7ffbeb35c10347b491ef87fb
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue May 27 12:26:23 2008 +0100
+
+ draw: hook up viewport / rhw emit to varient key state
+
+commit 50c1d329b95ad78e03ca4d537daee4d11f308c7a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue May 27 11:58:55 2008 +0100
+
+ draw: restore extras path in draw_pt_vcache.c, keep pipeline flags out of non-pipeline elts
+
+commit f7946bc7c0435ab2926cd729dfd8312222a3aa2a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue May 27 11:15:31 2008 +0100
+
+ draw: dump individual instructions as they are processed
+
+commit adaaa29218f1babad874f50681ca971fdd3b8a40
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue May 27 11:12:42 2008 +0100
+
+ tgsi: export utils for dumping individual instructions
+
+commit 5dc44184fa9f07465b7ff2be94394c55392ce5e9
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue May 27 11:10:50 2008 +0100
+
+ draw: fix writemask/shufps confusion
+
+commit 4e2567f0ab6afd701bea4c35e388663e90f5cb6c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue May 27 10:42:58 2008 +0100
+
+ draw: some possible fixes for spilling
+
+commit 2109ddafefde26dd20a1c6a25f594984143944a3
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue May 27 10:35:33 2008 +0100
+
+ ffvertex: emit full LIT when attenuating (needs the 1 in X position)
+
+commit 8c39e24ec397200420146faa4f48672eadeac9b2
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue May 27 02:12:10 2008 -0700
+
+ r5xx: Add OPCODE_XPD. In working condition, I might add.
+ And we're officially finished with the ARB_fragment_program
+ instruction set. It's worth noting that LIT is still not reliable.
+ SIN and COS were fixed a few commits ago. We're finished with stage 1!
+ Whoohoo!
+
+commit dc1537bc25c7cbff0a41034ece0830146616f036
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue May 27 09:48:32 2008 +0100
+
+ ffvertex: don't compute whole eye vector if only eye.z is required
+
+commit a242b331c6567af20d3cad804664bda30e1e9586
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue May 27 01:01:46 2008 -0700
+
+ r5xx: Just a few small LIT fixes.
+ Still broken; will fix tomorrow.
+
+commit 9412aee4dc6a94ffc3d4043e8c843ba051f5507b
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon May 26 22:34:32 2008 -0700
+
+ r5xx: Fix emit_mov() regression.
+ Specifically, fix improper swizzling.
+
+commit eee53dfb22e0c950b11a466ebcd5d764864229cd
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue May 27 18:15:14 2008 +1000
+
+ r500: the cs is shared per context - doh so don't use for program upload.
+
+ Also remove some unused bits of the r500 fragprog struct
+
+commit 7278266612fe6be91b30b084de666a1ac4f2c20b
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue May 27 17:39:35 2008 +1000
+
+ r500: need to re-setup inst offset/end for translated programs
+
+ this fixes texenv
+
+commit 774b3bc5a57dc768ed09516a6b91358783c63f72
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue May 27 17:11:04 2008 +1000
+
+ r500: reset fp/fp_const counts
+
+commit 4af22c9076954d544417e615561695695773708d
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue May 27 17:08:03 2008 +1000
+
+ r300/r500: emit flush inside vap_cntl state atom
+
+ Not sure if this is a good or bad plan, it certainly doesn't make things worse here.
+
+commit 8eb7df63029ebc7c30c67c0266d727f9c240b402
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue May 27 15:29:39 2008 +1000
+
+ r500: hopefully fix 4096 texture harder
+
+commit b5372746ffcaab4ce158c1ca205e039a561ca01f
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon May 26 22:12:24 2008 -0700
+
+ r5xx: Fix FP temp counting.
+ One of the ref counters wasn't being added to the temp counter.
+ Yet another product of late-night coding...
+
+commit 9f03e93de9a0b75485d1de8a990513b0c2582385
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue May 27 12:46:44 2008 +1000
+
+ r500: remove debugging
+
+commit 7b88f40116cc6ccff5c0f7c923a0dca31187480e
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue May 27 12:45:15 2008 +1000
+
+ r300/r500: fix r500 fragment program texture unit references
+
+commit 5a5ba350696e6b753a9e49da010513670b697db5
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue May 27 10:59:42 2008 +1000
+
+ r500: initial support for tmu mappings
+
+commit b57ba7c5b0205ad6885530f63cef85401386565b
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon May 26 16:00:05 2008 -0700
+
+ r5xx: Enhance emit_mov().
+ Now we can add arbitrary sources and swizzles. Will make many things smoother.
+
+commit 5499685931cac382bffb053ab527d882a7d0e109
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon May 26 15:18:41 2008 -0700
+
+ r5xx: Moar LIT.
+ Still not working, but getting closer.
+
+commit a2db33219debbc1a2a64a8b096b321d263cfacb5
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon May 26 12:35:39 2008 -0700
+
+ r5xx: First stab at LIT.
+
+commit f172148c6e3246ffd7c3a33f16d2ac6faca9d6cf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 26 13:35:29 2008 -0600
+
+ gallium: free renderbuffer's old texture in st_renderbuffer_alloc_storage()
+
+commit 635abed109b26ded34954c379b80e306c602384b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 26 13:30:10 2008 -0600
+
+ gallium: free renderbuffer's old texture in st_renderbuffer_alloc_storage()
+
+commit aa16e3a2750993afdba16c24237bb6d8d8e4d91a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon May 26 19:10:44 2008 +0100
+
+ draw: defensively flush pipeline backend when setting primitive
+
+commit 93bfc94c351a2eafd43ac7a20b362d969f98d86a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon May 26 18:54:35 2008 +0100
+
+ draw: defensively reset render primitive some more
+
+commit d80c24a81a9a46c132fe877dde6919a57cacf8c0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon May 26 18:37:34 2008 +0100
+
+ draw: defensively reset render primitive, which can get clobbered by clipping
+
+commit 529762d5df6d9427f9fa0927e38b9886e412a6bc
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon May 26 18:29:47 2008 +0100
+
+ draw: add missing break
+
+commit fa4b2439d4f240a5e573d4ea198b829791d614f4
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue May 27 01:22:22 2008 +1000
+
+ nouveau: very quick port to tex-surface changes.
+
+ probably the last match-gallium-upstream merge for a bit, some cleanup+nv50
+ work coming RSN...
+
+commit 35cfd0a4900750f67cba4f64929ff3347f0bd46f
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue May 27 00:19:41 2008 +0900
+
+ pipebuffer: Malloc buffer provider.
+
+ Simple wrapper around pb_malloc_buffer_create for convenience.
+
+commit a0e2955a16a8a04afe7f84b1c8551211542a6fbd
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue May 27 00:13:57 2008 +0900
+
+ pipebuffer: Allow slab allocations of buffers of inequal size.
+
+commit 0f9635d9d522ea712724415599ceb44d53e67819
+Merge: 8f67f98 253066d
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue May 27 00:59:41 2008 +1000
+
+ Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1
+
+commit c428997a521475c46ccd1df4e8ed8ccc6c4f8d61
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon May 26 23:29:38 2008 +0900
+
+ Revert DOS line endings.
+
+commit 253066d716e3039522eeb7b072811cccd89b4a82
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon May 26 23:29:38 2008 +0900
+
+ Revert DOS line endings.
+
+commit fc72d7e032fc0a4130fae53106f03aa3fbe4e99e
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon May 26 20:39:26 2008 +0900
+
+ Remove CVS keywords.
+
+commit 77ce568ff704e6cdcfaa557965c894752d19e462
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon May 26 20:14:40 2008 +0900
+
+ Remove CVS keywords.
+
+commit 791eee64e03c7323c8a8907f54b09a015c046e2f
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Mon May 26 11:20:51 2008 +0200
+
+ i915: Removed screen sufixes on texture functions
+
+commit e0fd3449f824ed8eaec49e83a0f90b7fe47e09a6
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Sun May 25 17:26:07 2008 +0200
+
+ i915: Fix for tex-surface merge
+
+commit e3ddafd1d32192f4638d4930627ad66624325561
+Merge: 359058e 7fbb61e
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Mon May 26 13:04:25 2008 +0200
+
+ Merge branch 'gallium-tex-surface' into gallium-0.1
+
+ Conflicts:
+
+ src/gallium/include/pipe/p_util.h
+
+commit d0e2a9add27fad2e8e00592f0ef24019793b446f
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon May 26 20:02:29 2008 +0900
+
+ Add copyright header.
+
+commit 351eca365c0ba488000c3826d5093de6170381e4
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon May 26 11:03:00 2008 +0100
+
+ draw: extend precision in RSQ opcode
+
+commit 924eaa2f955ecdc1080f5a8fdc165367a576a919
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon May 26 00:19:20 2008 -0700
+
+ [intel] all flushing in intelEmitCopyBlit
+
+ Add both MI_FLUSH and intel_batchbuffer_flush to intelEmitCopyBlit.
+ This ensures that the data are flushed *and* the gem kernel driver sees the
+ various memory domain transitions.
+
+commit 21b352bb146e1b35050c1315b0d44689dcfdc8d6
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun May 25 22:50:00 2008 -0700
+
+ Replace copyright on r500_fragprog.c
+ Huh, could have sworn I already did this once before...
+ Maybe I forgot to commit it?
+
+commit 8ba91b4636a04145e683e7d7fe5ee5ff404d73ac
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun May 25 20:49:53 2008 -0700
+
+ [intel] Enable buffer re-use for gem
+
+ Use the new DRM_IOCTL_I915_GEM_BUSY ioctl to detect
+ idle buffers for re-use.
+
+commit 27d8fcd506942b115e480cfe9ca811194736579a
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun May 25 19:53:48 2008 -0700
+
+ r5xx: Unbreak texture swizzling.
+
+commit 721fb5597e687fc1446119002ab03cc428104b29
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon May 26 00:09:02 2008 +0100
+
+ draw: more aos tweaks
+
+commit f776f693c0aca4d01cc2bfdaedbb527062189e6d
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun May 25 11:46:16 2008 -0700
+
+ r5xx: Massive MAD cleanup.
+ Common uses of MAD now use emit_mad(), the two common negation masks work,
+ and fixed a few off-by-one errors.
+
+commit 594760148cb42cdaf568eef63357fac1c1b7f124
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun May 25 11:35:54 2008 -0700
+
+ r5xx: Negation masks for every inst except SWZ.
+ Yay?
+
+commit bd74d2aa26a2b87b05e8d086c020a6bdde9e06a7
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun May 25 11:35:20 2008 -0700
+
+ r5xx: More emit_alu().
+ Converted ADD.
+
+commit 810270ad11d51c65e33bbe9337c2db9dd4cebb98
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun May 25 11:07:51 2008 -0700
+
+ r5xx: Add emit_mad() for FP.
+ If it uses MAD, emit it with emit_mad()!
+ (Now available at your local grocer's. Multiply and add responsibly.)
+
+commit 359058e7b77ddbac5eec7e8d1c77232bcbb1adbf
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun May 25 15:28:30 2008 +0100
+
+ cso: use memcpy rather than structure asignment for copying
+
+ Apparently gcc will omit to copy hidden padding bytes under some circumstances,
+ which means later on memcmp() will indicate a difference between structs
+ even though all the visible members are identical.
+
+commit 9c7568965c00dcc2e9403a2f94f1cd09dcd783ae
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun May 25 15:47:04 2008 +0100
+
+ draw: slight tweak for XPD opcode
+
+commit 3afb7198e01516dba38bb3248d4c0161e54650fe
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun May 25 15:45:27 2008 +0100
+
+ draw: remove EXP & LOG from vs_aos.c
+
+ These don't get hit & look like bug magnets to me...
+
+commit ce331e3a5e2a0505e01637861bdd7f5e6cfbd041
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun May 25 15:44:17 2008 +0100
+
+ draw: special case for writing out scalar results
+
+commit caadc8d944c558e1fa9f23c3616d726337a19862
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun May 25 15:37:47 2008 +0100
+
+ draw: clean up some of the xmm register manipulation function names
+
+commit dc52622fcf5660a9675ed61c359cf7068aa4861b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun May 25 15:28:30 2008 +0100
+
+ cso: use memcpy rather than structure asignment for copying
+
+ Apparently gcc will omit to copy hidden padding bytes under some circumstances,
+ which means later on memcmp() will indicate a difference between structs
+ even though all the visible members are identical.
+
+commit 584a3dcf8e4042cc1a5d48d83ea63d0a3c9706c1
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun May 25 11:25:09 2008 +0100
+
+ draw: add viewport support to generic vs varient code
+
+commit a6fca8acb5e8ce0e5e6ce91a524e2bb4c180d3ac
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun May 25 11:20:38 2008 +0100
+
+ draw: fix input vs output typo in emit
+
+commit 8f67f98959261d193cb5f3db274b55fb24e2bb1e
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun May 25 14:26:18 2008 +1000
+
+ nouveau: missed PCI case
+
+commit f5599a7a3c4a6335ce79fdbd82e18f08bb0ac8e7
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun May 25 14:25:15 2008 +1000
+
+ nouveau: remove final PIPE_FORMAT_U_* usage
+
+commit 92120851947ad4a47d2150a7cf3f8dc5fdde396c
+Merge: 9a01ee4 7fbb61e
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun May 25 14:19:18 2008 +1000
+
+ Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1
+
+commit f1d04cd76681a3b8d37bc1a06b7ab36350087135
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat May 24 11:30:57 2008 -0700
+
+ r5xx: Consolidate FP tex insts.
+ They're all the same, really.
+
+commit b6b51906824bbf02769eeaf42646ff709877ae42
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat May 24 09:17:28 2008 -0700
+
+ r5xx: Fix SGE/SLT.
+
+commit 6f918a9fda91321b50ae327791787f21417226c8
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri May 23 02:05:24 2008 -0700
+
+ r5xx: Remove some debugging cruft.
+
+commit eab4472ee6e948da30e6dd0b6f784c926056fbd6
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sun May 25 01:35:53 2008 +0900
+
+ Demangle C++ symbols.
+
+commit de27760a3c8567b76699e1bd7d1f3692a8f0f525
+Author: Tormod Volden <lists.tormod@gmail.com>
+Date: Sat May 24 18:32:03 2008 +0200
+
+ dri: vblank_mode warning
+
+ From what I can see the environment variables LIBGL_THROTTLE_REFRESH
+ and LIBGL_SYNC_REFRESH were taken out like 3 years ago, but this
+ warning was never updated.
+
+commit 48a24f0ff7e3aad000b8acc55c16bbeaca58abe6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat May 24 16:32:08 2008 +0100
+
+ Revert "mesa: save a temp on normalizes"
+
+ This reverts commit feceb43948f76cc4d4c8ecbb86b1b1f438c6daee.
+
+commit 86e529ad90411d21bca3d70984b2db202e7a0cd6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat May 24 16:31:11 2008 +0100
+
+ draw: use lookup tables to avoid calling pow() in LIT opcode
+
+commit e1590abb17f1effd92c136207f363de6cf52df18
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat May 24 13:23:06 2008 +0100
+
+ mesa: pre-swizzle normal scale state value
+
+commit a2b1c46535d02bb4cc154f26481eda264a65abe8
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat May 24 13:22:39 2008 +0100
+
+ mesa: evaluate _NeedEyeCoords prior to generating internal vertex shader
+
+commit 6172f1295cf812108d8ceba15a83ba87880360d3
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat May 24 13:22:29 2008 +0100
+
+ draw: add a debug-print which can be called from inside generated shaders
+
+commit 6b3723ee8d084a1abbc971b21c58f7c1e66949a7
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat May 24 13:22:15 2008 +0100
+
+ rtasm: add some helpers for calling out from generated code
+
+commit 63ddae0990336901743c536d83ec63e1b0a2cb8c
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat May 24 19:26:14 2008 +0900
+
+ gallium: Pre-processor for win32 kernel profile output.
+
+commit 345eb7fb70840829571cbacdb3980181df8e018a
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat May 24 19:25:33 2008 +0900
+
+ gallium: Poor-man profiler for win32 kernel.
+
+commit 059a652d64da470ccc7f2f3266fd64721848a7be
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat May 24 19:25:02 2008 +0900
+
+ scons: New profile build.
+
+commit af77de66d9e97a1f37849a51f7b48ae36a0c8127
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sat May 24 18:18:18 2008 +1000
+
+ r500: missed a couple of inst4s.
+
+commit e9031d6f63947963e2105e5aaf89cb57dcd9a122
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sat May 24 18:12:26 2008 +1000
+
+ r500: add depth output write
+
+ Not sure how well this works yet, but we need to set the alpha to w_omask
+
+commit 95eb6422c718d3d4ef34ec35bffa83307025793d
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Fri May 23 22:55:36 2008 +0300
+
+ dri/swrast: cosmetic, mainly generic vs. xorg terminology
+
+commit 73d66a3c63f380a27e16f5287fb37ed1d98bf818
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Fri May 23 22:55:12 2008 +0300
+
+ dri/swrast: add dithering support
+
+commit c1d4644f487a3ff4dcb3ef32995fed30cd72eeba
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Fri May 23 22:54:54 2008 +0300
+
+ dri/swrast: add support for r3g3b2
+
+commit b4a4829cd50f7110ddbdd0770297cd845ab4764d
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Fri May 23 22:52:52 2008 +0300
+
+ dri: add support for generating 3_3_2 configs
+
+commit 6e13d6d17ef12d5576175c9b03e96632428c6e76
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Fri May 23 22:52:36 2008 +0300
+
+ dri/swrast: split out common pixel macros
+
+commit 44e05f08702d650bd66b816af429a856ff542311
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Fri May 23 22:52:19 2008 +0300
+
+ dri/swrast: drop TODO list
+
+commit d4510e53d8dd18ac397ca0d4df74d4de682e0a38
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Fri May 23 22:48:55 2008 +0300
+
+ drop GLcore
+
+commit 200fd13d4a605bea07857d6c3e7c85ee07d663cb
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri May 23 12:43:05 2008 -0700
+
+ Remove stale comment about glFlush().
+
+ We don't need an MI_FLUSH there, because everything that's been flushed in the
+ batch will eventually hit the hardware.
+
+commit feceb43948f76cc4d4c8ecbb86b1b1f438c6daee
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri May 23 20:37:50 2008 +0100
+
+ mesa: save a temp on normalizes
+
+commit a74bf4ef345d880d7d296313fed0240781d2ebd8
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri May 23 12:18:50 2008 -0700
+
+ Emit a flush after the swapbuffers blit, so contents end up on the screen.
+
+ Otherwise, since the MI_FLUSH at the end of every batch had been removed,
+ non-automatic-flushing chips (965) wouldn't get flushed and apps with static
+ rendering would get partial screen contents until the server's blockhandler
+ flush kicked in.
+
+commit e841b92d9c8bf48085b4996df828ae745977f931
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri May 23 20:05:36 2008 +0100
+
+ mesa: further degenerate the special case lit substitute
+
+commit 333d377bbda4f598292108f91cd8ec4f0f647c20
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri May 23 19:17:57 2008 +0100
+
+ glapi: fix include path & make build work
+
+commit 0ac2f7955c01749e122f67ff03e79a0d8bd0f8e5
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri May 23 19:17:02 2008 +0100
+
+ mesa: don't emit LIT instruction when mat shininess known to be zero
+
+ Use a faster path in that case & make gears go faster.
+
+commit 7fbb61eedd4b07f07007a172cea227d5c363b908
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Fri May 23 16:55:30 2008 +0200
+
+ i915: Revert accidental change
+
+commit 5bf6ffb0b2be34ffb000e9700861b177afa9df97
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Fri May 23 16:11:38 2008 +0200
+
+ i915: Improved vertex buffer performance
+
+commit 845db16dbe66c0f741063333a70af79bca5b6544
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Thu May 22 15:02:54 2008 +0200
+
+ i915: Fix for edgeflags
+
+commit a3dbd412df99c7d19b1f81b3b9ec7d5c8a09d069
+Merge: e8d5be9 a22462f
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Fri May 23 16:26:14 2008 +0200
+
+ Merge branch 'gallium-i915-current' into gallium-0.1
+
+commit a22462f6ef769129ee56223f1edc2cb851505da8
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Fri May 23 16:25:51 2008 +0200
+
+ egl: Don't build EGL programs either
+
+commit 2064826bdae9be8679ec8eb3f2b6be467da0594d
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Fri May 23 16:18:42 2008 +0200
+
+ egl: Stoped compiling EGL completely
+
+commit d607a02da929cd192a3b0896c38dbb468ffa5b0d
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Fri May 23 11:24:33 2008 +0200
+
+ i915: Made EGL report the actual modes on the screen/output pair
+
+commit 01cc1eebe92441ec33e951b95f0a5b52721741f0
+Author: Thomas Hellstrom <thomas@tungstengraphics.com>
+Date: Fri May 23 11:14:12 2008 +0200
+
+ i915: Make batchbuffers larger.
+
+commit 45fd9ec462bf338b286d3b757c3e67d54f663dad
+Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
+Date: Thu May 22 16:42:53 2008 +0200
+
+ i915: Use the malloc pool for constant buffers since they don't go to the GPU directly.
+
+commit 9395fb6e8d341d7a3f923b5ec03630ab656c8f2f
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Thu May 22 16:24:51 2008 +0200
+
+ mesa: Added linux-egl target, that only builds the i915simple driver and egl drivers
+
+commit 3972961e62d5918f4ef4f0ceb3d8ee9549676a7c
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Thu May 22 16:24:10 2008 +0200
+
+ mesa: On second thought lets not build the driver
+
+commit 3b41d619a1b7cc8c356c32af777486461ddd7926
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri May 23 09:14:17 2008 +0100
+
+ draw: faster LIT(), incorrect though
+
+commit adc1f88fc9278bdbb3b24a6d48f91a0bd98e9f1c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri May 23 09:10:59 2008 +0100
+
+ mesa: do object-space lighting in ffvertex_prog.c
+
+ Start pulling over some of the optimizations from the fixed function
+ paths.
+
+commit 7106da136069f865747e03c30ca245bc030b241b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 22 20:22:15 2008 +0100
+
+ draw: correct but slow LIT() in aos varient
+
+commit 43df4642f1d2f3d2673a1d5e4f5126f5175fb899
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 22 20:21:49 2008 +0100
+
+ draw: tweak x87_emit_ex2 to avoid changing x87 fpu settings
+
+commit 260001430bbd28ea17201f1980ab1ebed93b246f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 22 15:24:02 2008 +0100
+
+ draw: use aligned movs within draw_vs_aos.c
+
+commit 65cb09249e750b45ec3fc9a57670fc77250efc5e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 22 13:49:38 2008 +0100
+
+ draw: for debug, do rhw divide in aos_sse viewport calcs
+
+commit 6780a6dede31e7f2eb465e1d7b507b3e64fe6ec9
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 22 13:48:07 2008 +0100
+
+ draw: shortcircuit shuffle in aos_sse when possible
+
+commit 7b25c1a4032960752d8a8e950bdf75740b2de2e8
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 22 13:47:08 2008 +0100
+
+ draw: remove FPU_MANIP ifdef
+
+commit 05029c919d46299ca259ee8af880d0a65f95ce7c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 22 13:46:06 2008 +0100
+
+ draw: clean up masked writes in aos sse, make some xmm function names clearer
+
+commit c684ffa02d8d43ee04b99ee63ccd1adb66e81c1a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 22 13:41:49 2008 +0100
+
+ draw: clean up internal immediates in aos sse
+
+commit a5c3b499fa40f46298389900e74f1db04f99166a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 22 13:37:48 2008 +0100
+
+ draw: fse works with elts, remove assert
+
+commit 6f407b072453eb2bb7077a952257a099db4da025
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 21 20:50:36 2008 +0100
+
+ rtasm: remove debug
+
+commit 5b1bd30f22ffa3955150ec008631d0f4754d340f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 21 20:41:01 2008 +0100
+
+ draw: when preloading args to x87 stack, need to use reverse order
+
+commit 083f3f5c32a28d2993a8a5a8b4f5ef81224a5ec3
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 21 20:38:23 2008 +0100
+
+ draw: avoid a pointless mov in many sse opcodes
+
+commit 0a7a0d79f64de9794878c42bc5b79a04772d7ed8
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 21 20:34:52 2008 +0100
+
+ draw: fix x87_ex2 and partially fix lit insn
+
+commit 2302a5d3c1ea2c682dfc034012a054b8327a81de
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 21 20:32:43 2008 +0100
+
+ draw: fix fpu control word manipulations
+
+commit 194a7be28f6eed502f2475d9a637cb3610ca75f6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 21 20:31:08 2008 +0100
+
+ draw: fix vs aos internal/machine state
+
+commit 889473b3f5a216bd753c357974d6bae29fe3c41d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 21 20:28:56 2008 +0100
+
+ draw: add viewport to varient state
+
+commit 030af06691bc5bc82ca141a576da7a2edffe9d1c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 21 20:14:55 2008 +0100
+
+ rtasm: add x87 instructions and debug-check for x87 stack usage
+
+commit 2f13d4cd58ec2bd60fd9a31cb1b2fb4bc8ee4ec7
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 21 13:17:48 2008 +0100
+
+ vp-tris: use test name as window name
+
+commit 1ba10e5ccf5cd0c990922e982e1e9bc6be48a5e4
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 21 09:44:16 2008 +0100
+
+ draw: add aos vertex shader varient
+
+commit ba738a3135415de8b381cd8845cd6c435d5747a8
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 21 09:43:30 2008 +0100
+
+ draw: mark varient functions as PIPE_CDECL
+
+commit b5c8b3fba6ac90a0d83e02bfe432142f1adee9e5
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 21 08:29:19 2008 +0100
+
+ translate: mark functions as PIPE_CDECL
+
+commit 9343779a8c800cf72e38b09b6f5087a0df258c08
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 21 08:28:53 2008 +0100
+
+ gallium: define PIPE_CDECL calling convention, which really is cdecl everywhere
+
+commit d3e64caef6f8654af1a84825803e517ab8221c68
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 21 08:28:16 2008 +0100
+
+ rtasm: export debug reg print function
+
+commit 8618e6aa16bdba2c8b08124261bbaedaf7e22447
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue May 20 14:34:06 2008 +0100
+
+ translate: remove spurious comment
+
+commit 9232f0c023af060b12f77dee5e8b6a533c48e146
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon May 19 16:28:53 2008 +0100
+
+ rtasm: remove unused struct member
+
+commit 7c99d7fe60e7bb0b7cf103a851aeef4614278ca6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 15 12:39:08 2008 +0100
+
+ draw: create specialized vs varients incorporating fetch & emit
+
+commit 2f0d1396e4c1626b3b1ac799bd29e86a9530369e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue May 13 13:40:22 2008 +0100
+
+ draw: move some state into a new 'vs' area
+
+commit b23706454bb165a62888d264e95a98a2e4cf139c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue May 13 13:35:14 2008 +0100
+
+ draw: get rid of fetch-shade-emit frontend hack
+
+ The code is now living in it's intended place as a pt middle end.
+
+commit 8b25b5256fad23e8ea11c6931ecac658ca60c0b0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue May 13 09:46:53 2008 +0100
+
+ draw: remove disabled non-sse swizzle code
+
+commit 9ab7a2df030fe3eb7b82a99d9f17093c0036bc06
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri May 23 00:16:49 2008 -0700
+
+ r5xx: Clean up some compiler warnings.
+
+commit 30e61500e162453d7affd855fe531ed2d1d6e80b
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri May 23 00:14:31 2008 -0700
+
+ r5xx: Move dumb_shader.
+ Was getting ticked having to scroll around it, lawl.
+
+commit 34010bcc91bc2e8503e7b80187c1aea0e51e53b0
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri May 23 00:12:37 2008 -0700
+
+ r5xx: Add OPCODE_DST.
+ Works completely, swizzles and everything.
+
+commit d4e93864b8f05f8973d291ac287b27febbb5cb62
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu May 22 02:34:57 2008 -0700
+
+ r5xx: More trig work.
+ SCS now works. COS/SIN have slight issues still.
+
+commit 6f25d6d48d52063c50f773d005adcdf2a924e82d
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu May 22 22:13:38 2008 -0400
+
+ disable egl by default
+
+commit 6cefae5354fb3015c5a14677071871613faa9c3a
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon May 19 15:42:00 2008 -0700
+
+ Add back a mostly-correct glFinish for GEM and fake.
+
+ The right solution would probably be keeping a list of regions which have been
+ rendered to.
+
+commit 76286bc76c5ea2217378809a9dcab6794aae7b5e
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu May 22 10:44:47 2008 -0700
+
+ [intel-gem] Make sure set_domain is called often enough.
+
+ The write_domain needs to be set after any batch buffer uses an object,
+ track when that happens in the new 'cpu_domain_set' field.
+
+commit 781676c7cc5ae7586ee8edd07de880892c5a2d86
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu May 22 21:54:41 2008 +0900
+
+ pipebuffer: More robust face null pointers.
+
+ It is really the caller responsibility not to call pipebuffer with null
+ buffers, etc. But don't let the crash happen here, and still asserting
+ early.
+
+commit bd4eec0561fb021849ac4047fdbf40a616fb68b3
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu May 22 20:33:17 2008 +0900
+
+ pipebuffer: Don't retry allocating in slab suballocator.
+
+ In pipebuffer, fencing is done at on a level above sub-allocation, so no
+ matter how many times slab allocator retries no buffer will be freed. The
+ pipebuffer fencing implemention already retries allocating.
+
+commit a01816da59cd7a18fca281ef94a822f08cec5c6e
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu May 22 17:09:30 2008 +1000
+
+ r500: bump state atom size up for fp and fp constants
+
+commit 4f9dcdc35b277aa1ded60059a654da22d2075067
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed May 21 23:35:43 2008 -0700
+
+ r5xx: Fixed LRP.
+ Works perfectly. It's a complex one, though, so it might fail in weird ways...
+
+commit 0dfbe9cdd7e076fb23d90e99e225fd0e19b63dfb
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed May 21 23:33:13 2008 -0700
+
+ r5xx: Change debug info for readability.
+ It's weird seeing the compiled program before the assembly, that's all.
+
+commit 6c56e0e1fb8556593c7070cb031449cc8f404940
+Author: Jesse Barnes <jbarnes@hobbes.(none)>
+Date: Wed May 21 15:36:08 2008 -0700
+
+ Add cscope files to .gitignore
+
+commit d06f4edb146cfb42fa2a3f654db141f88dcfe074
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed May 21 13:51:32 2008 -0700
+
+ r5xx: Initial (broken) OPCODE_LRP.
+ Will compile, run, and not eat your kids, but the math is wrong.
+
+commit e57f1b702e9e38e78fc0e0be7b968d7ae4939c4d
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Wed May 21 10:55:49 2008 -0700
+
+ Follow along GL/glx -> glx renaming in xserver
+
+ The xserver glx modules were lifted up to the top level, so this changes
+ the glapi generation to look in the new location.
+
+commit 019fc3aa04f11d61e6d0f4791c171d1790577ab5
+Merge: bf7519b e8d5be9
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Wed May 21 17:15:07 2008 +0100
+
+ Merge branch 'gallium-0.1' into gallium-tex-surfaces
+
+commit fe7e01c834b1f1c423faee212944cbaf220d7ed9
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Wed May 21 12:04:33 2008 -0400
+
+ Add remaining glapi generated server headers.
+
+ This adds all the headers needed by the xserver glx module and also adds
+ a rule to copy over the shared glapi.[ch] and glthread.[ch] files.
+
+ Specifying an xserver path (set XORG_BASE on the make command line) is
+ now mandatory when regenerating the glapi files.
+
+commit c30fe8fd7cf25f620cf3480416a514172edef0bf
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Wed May 21 11:59:23 2008 -0400
+
+ Make the shared glapi files not include glheader.h.
+
+commit 1b359bc88e4f98f9aab454c270684172ae0e46ca
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Tue May 20 17:06:19 2008 -0400
+
+ Revert "glapi: Generate xserver glapi sources in the mesa tree"
+
+ This reverts commit 7688791fc52f116eea421fda1d17aba5cf10977b, and takes
+ us back to generating the glapi files straight into the xserver tree.
+
+ Conflicts:
+
+ src/glx/x11/indirect_size_get.c
+
+commit e8d5be9c76b08ba423e3c635aae5178f2358169a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 24 13:55:22 2007 -0600
+
+ fix assorted bugs, works now
+
+ (cherry picked from commit 55d4f32fc211dbc37bd28c0e67da5ce5e0da5777)
+
+commit 1e2907f170116138b1ae304dc075ee52e377fd73
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed May 21 08:24:28 2008 -0700
+
+ r5xx: Add OPCODE_POW.
+ Necessary for Google Earth, among other things.
+
+commit 2217158c3774ca3bb2b66af2b86f7fc8212c2465
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Wed May 21 18:21:50 2008 +0300
+
+ dri/swrast: use Makefile.template
+
+commit 53784e786da69296020914c508905a9cf14b490d
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Wed May 21 18:20:54 2008 +0300
+
+ dri/swrast: fb configs tweaks
+
+ @32: provide configs with depth=0, stencil=8
+ @16: provide configs with depth=0, stencil=8 and depth=16, stencil=8
+
+commit d0c7ef43585e96f523ad85c55cdc219e9c8bac95
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Wed May 21 18:19:49 2008 +0300
+
+ dri/swrast: re-indent FillInModes
+
+commit 2ec318640f7940071618ab7f6bd980eee0479195
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed May 21 07:05:29 2008 -0600
+
+ added readtex.h dependency
+
+commit 13a2be4446bd6612b5b56dab1cb9d8975a4f6f1f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed May 21 06:59:49 2008 -0600
+
+ mesa: fix #include path for glapioffsets.h (fixes x86 build)
+
+commit bb57c30a537f2ae01a146dd697ca332f7667c5c5
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed May 21 16:00:18 2008 +1000
+
+ r500: print out opcode string
+
+commit b453b0e2e1c82e6d08180c341989d6d0c05f21fa
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed May 21 12:14:42 2008 +1000
+
+ r500: set the RS unit register for R500 not R300 dangnammit..
+
+ So this appears to be my BUG. damn it to hell.
+
+ also fix sec color to be more like spec says.
+
+commit 9ec2b1c83f3390dac2e5e7d3aa21ff4920f29243
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed May 21 10:49:26 2008 +1000
+
+ r500: finish main texture instruction decoding
+
+commit f869ddf29771253e9f7634384a7354eb14f4cadd
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Tue May 20 19:18:22 2008 -0400
+
+ add new binaries to ignore to make 'git status' cleaner
+
+commit 0a4867bd4c20faf96af2df6ae31b83854082a820
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Sat Sep 29 11:23:22 2007 -0700
+
+ Ignore more generated files in progs/
+
+ Many of the directories in progs/ were missing .gitignore files or
+ were tracking generated files. This patch is basically the process of
+ running `make' in each directory and then finding the untracked files
+ with `git-ls-files -o --exclude-per-directory=.gitignore'. The existing
+ files were also sorted.
+
+commit cd87aeae00e17e49e258d4d0db6524d808ba7d3f
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Tue May 20 18:49:40 2008 -0400
+
+ add a simple but nice example of convolution filters in glsl
+
+ shows basics of image processing with glsl
+
+commit bf7519b0a40d18a1cc764357f18df59979604129
+Merge: 8f792a0 26f874e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 20 15:30:23 2008 -0600
+
+ Merge branch 'gallium-0.1' into gallium-tex-surfaces
+
+commit 26f874e967e5bcbd0e0c73674df3d3900b98d35b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 20 15:20:29 2008 -0600
+
+ gallium: fix vertex shader mem leak (glRasterPos)
+
+commit 8f792a0707446a7b020e6d47a5fff310a36ca81d
+Merge: cf1ae67 7899ecd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 20 15:12:50 2008 -0600
+
+ Merge branch 'gallium-0.1' into gallium-tex-surfaces
+
+commit 7899ecdd6502a323b052f9ad4acd23cbb9ba88db
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 20 15:12:26 2008 -0600
+
+ gallium: replace assignment with pipe_texture_reference()
+
+commit ac09b0e0eb30f6691e35638f210c04ac0f867ea8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 20 15:11:53 2008 -0600
+
+ gallium: fix shader mem leak
+
+commit 417719c0a6397decd11780a643cb546ddd8f78d4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 20 15:11:33 2008 -0600
+
+ mesa: call glutDestroyWindow()
+
+commit cf1ae676ec7cbf3a8595d41fb6b5128ff142b402
+Merge: 71eb108 69fd676
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 20 14:38:45 2008 -0600
+
+ Merge branch 'gallium-0.1' into gallium-tex-surfaces
+
+commit 69fd676240f91b1a42a355b768f86d397b899002
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 20 14:38:22 2008 -0600
+
+ gallium: move vertex/fragment program unbinding
+
+commit 13c74914067b7e49be7761534c1f6d3fb90f6f1f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 20 14:38:00 2008 -0600
+
+ gallium: fix default case in st_new_program()
+
+commit 280bf89bd4a6bb7977abb00b88d59234d2c80844
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Sun May 11 14:43:40 2008 +0300
+
+ Add DRI driver that uses the mesa swrast module.
+
+commit c95e66120be049ee51ff84868b1da3379b312fab
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Sun May 11 14:43:22 2008 +0300
+
+ Make utils.h self-contained.
+
+ Move stuff with drm dependencies to dri_util.h, and move a couple of
+ types without drm dependencies to utils.h.
+
+commit 71eb1088311b8309868d78e237452cb414728fbb
+Merge: 479174c 4b4ac9e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 20 13:50:10 2008 -0600
+
+ Merge branch 'gallium-0.1' into gallium-tex-surfaces
+
+commit 4b4ac9ed3497d0cbf58311b83ed4a08a98bb854c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 20 13:48:34 2008 -0600
+
+ gallium: fix mem leaks
+
+commit d7cf6b29785de51ecd828477ca3f5e2664d555e7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 20 13:38:59 2008 -0600
+
+ mesa: call glutDestroyWindow()
+
+commit 90ce8467a8cb2b819a44d00e4a9d315f8aa43b7c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 20 13:38:45 2008 -0600
+
+ gallium: clean-up glDraw/CopyPixels shaders when destroying context
+
+commit 479174c398b5d15998852d7776900bf7ec0b1bcd
+Merge: 0a95f20 a3f9ae4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 20 13:39:27 2008 -0600
+
+ Merge branch 'gallium-0.1' into gallium-tex-surfaces
+
+commit a3f9ae4feada23a3b03b611bd34fac09410367c9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 20 13:38:59 2008 -0600
+
+ mesa: call glutDestroyWindow()
+
+commit 5c431c22227fdc552b34a5feabf1d339dcfe9848
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 20 13:38:45 2008 -0600
+
+ gallium: clean-up glDraw/CopyPixels shaders when destroying context
+
+commit 0a95f203fa6de3ed05c93e6788c7e2fdca170c94
+Merge: de03e8e 34149ec
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 20 11:34:36 2008 -0600
+
+ Merge branch 'gallium-0.1' into gallium-tex-surfaces
+
+commit 34149ec89d71aa550ac4477050fa79d66bb94f25
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 20 11:31:20 2008 -0600
+
+ copy StateFlags in _mesa_clone_parameter_list()
+
+ cherry-picked from master (b539b6132141b0f583076355ad158852667b79cd)
+
+commit c95c4efa54175f0adcffacb71e3d66839617ceba
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 20 11:29:58 2008 -0600
+
+ fix incorrect sampler numbering/indexing.
+
+ All samplers indexes were zero.
+
+ cherry-picked from master (b6fb0940c226373ac235a5d327d3fcfd742bc6b9)
+
+commit b539b6132141b0f583076355ad158852667b79cd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 20 11:29:16 2008 -0600
+
+ copy StateFlags in _mesa_clone_parameter_list()
+
+commit 4978953c7962f33fa1eddbe75e5ef3736fbe7f06
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 20 11:01:17 2008 -0600
+
+ new multi-texture GLSL test
+
+commit b6fb0940c226373ac235a5d327d3fcfd742bc6b9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 20 10:59:18 2008 -0600
+
+ fix incorrect sampler numbering/indexing.
+
+ All samplers indexes were zero.
+
+commit 2bda1a9502206ca2b7b35e39c82356f91de06914
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue May 20 09:47:50 2008 -0700
+
+ r5xx: Count refs so we don't have to guess on temp reg allocation.
+ As a bonus, we can now have multiple temp temps, by slot.
+
+commit 94994b13c51e076a4df069d550ec2f27550f6a28
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon May 19 23:55:59 2008 -0700
+
+ r5xx: Fixup SOP insts.
+ Use the correct swizzle for alpha/SOP stuff.
+
+commit 78fa5060593b9a419281230a264eb1180c9ed2b2
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon May 19 12:26:04 2008 -0700
+
+ r5xx: New fix for COS/SIN/SCS.
+ Not perfect yet, but getting better.
+
+commit f0d76d526b0d37f36085d58b0c5c8cb9d9d9d7c9
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue May 20 16:30:36 2008 +1000
+
+ r300/r500: fixup some of the register write sizes
+
+commit 2005de48f9b87de6fffb792a6b16a880e92e3d82
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue May 20 16:02:19 2008 +1000
+
+ r300: some ctrl-m's wierd.
+
+commit 282cdc8b5c2495195fab8ee4afa9a7903caa459e
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue May 20 15:59:56 2008 +1000
+
+ r300/r500: fix RS col fmt bits
+
+commit c6b36e5498cf6593daf001123cacec4ccaf305ca
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Tue May 20 13:28:42 2008 +0800
+
+ i965: Check fallback before accounting for index/vertex buffer size. fix #16028.
+
+commit de03e8e9604afd7b61002e8d7e0f94a859734abf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 19 16:05:41 2008 -0600
+
+ gallium: remove dead code
+
+commit 65075da8c39f686ec4ab6593d7b0574982d21a23
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 19 16:04:02 2008 -0600
+
+ fix tempReg test in _mesa_combine_programs()
+
+commit 655374bda7dc7ae6fc1a0ef64ab868e3c8be9aa0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 19 16:05:41 2008 -0600
+
+ gallium: remove dead code
+
+commit 8493f0849f6fa6ef87388c3a7e179a329447a763
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 19 16:04:02 2008 -0600
+
+ fix tempReg test in _mesa_combine_programs()
+
+commit e469d78d33feff45f16235871ca1a3d483cdc950
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 19 16:03:43 2008 -0600
+
+ fix tempReg test in _mesa_combine_programs()
+
+commit d00c8a52f37347fc72982611f910e85cbadca029
+Merge: a846b15 21e614e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 19 12:48:06 2008 -0600
+
+ Merge branch 'gallium-0.1' into gallium-tex-surfaces
+
+commit 21e614eabc5e6a502504f307f3710b4dd0417923
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 19 12:40:11 2008 -0600
+
+ gallium: fix some texture object leaks
+
+commit 476248befe2bd04558ce53e937230c1a400a51b6
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon May 19 11:01:00 2008 -0700
+
+ r5xx: Fixup emit_tex, add debugging info, enable temp temps.
+ emit_tex now chases itself with an OUT if needed.
+ Added airlied's dump_program, with some fixes.
+
+commit 09900df42967a0ba61e78038304fd6c54934ad0d
+Merge: 1c62484 59007a8
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon May 19 12:10:42 2008 -0400
+
+ Merge commit 'origin/gallium-0.1' into gallium-vertex-linear
+
+commit a846b156b8a0d2ef63de8f905af440f54e5668c7
+Merge: aafe3dd 59007a8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 19 09:36:10 2008 -0600
+
+ Merge branch 'gallium-0.1' into gallium-tex-surfaces
+
+commit 59007a811de2d76ea00164e8f1cacb4a375d1458
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 19 09:34:28 2008 -0600
+
+ if x86_get_func() returns NULL, handle it properly instead of aborting
+
+commit 38fb20b2240e826394dbf56dc54f226c5f887631
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 19 09:04:02 2008 -0600
+
+ fix program delete/refcount bug
+
+ cherry-picked from gallium-tex-surfaces
+
+commit 62f96ddbbc2549bd4d50016f571cd4d1f6f6a7d6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 19 08:59:41 2008 -0600
+
+ Fix program refcounting assertion failure during context tear-down
+
+ When purging the program hash table, the refcount _should_ be one since
+ the program is referenced by the hash table. Need to explicitly set to
+ zero before calling delete().
+
+ Also, purge high-level shader hash tables before low-level program hash tabl
+
+ cherry-picked from master
+
+commit fbfe2a58de8a9ca31164b4c6f26191b851fe939d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 19 08:43:36 2008 -0600
+
+ Fix program refcounting assertion failure during context tear-down
+
+ When purging the program hash table, the refcount _should_ be one since
+ the program is referenced by the hash table. Need to explicitly set to
+ zero before calling delete().
+
+ Also, purge high-level shader hash tables before low-level program hash tables.
+
+commit 03b3fed8f1dcd5df5049b9236cfaa60a17e56e6f
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon May 19 21:58:28 2008 +1000
+
+ r500: add more input srcs
+
+commit ac315792bfccd547e6f84faabbb76c48af48a404
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon May 19 21:40:40 2008 +1000
+
+ r500: fix swz gets and some returns
+
+commit 60b8e1f5243dfc3233d38700755a06c38b4967f1
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon May 19 21:11:55 2008 +1000
+
+ r500: add mask debugging
+
+commit cddab021e392ed78b5375ef6924bc7d4dbdd01c0
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon May 19 20:24:09 2008 +1000
+
+ r500: add fragment program debug dumper
+
+commit c60bdcf8a80b7307add8e09aca2356591c86fbcd
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Mon May 19 00:00:08 2008 -0700
+
+ r5xx: Fix magic offsets for output fifo write masks.
+ Well, this sure explains a lot.
+
+commit 2708d7f7005c6a65980f5eb0377a9fd7917bce51
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun May 18 23:52:54 2008 -0700
+
+ r5xx: Swap sources for CMP.
+ Follows the same pattern as the op on r3xx/r4xx. Thanks airlied.
+
+commit a6c38f2f648f91f35594383666eec01abdc19632
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun May 18 23:35:07 2008 -0700
+
+ r5xx: Fix typo of epic proportions.
+
+commit aafe3ddee276230243ed6767803ce4b6ce2aeec6
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon May 19 15:18:40 2008 +0900
+
+ i915simple: Fix win9x build.
+
+commit 5ca4f9e97ce153ace0fb8f40c772f44895cb20fe
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon May 19 14:47:37 2008 +0900
+
+ gallium: Additional formats for bump mapping.
+
+commit 820fe368635c82ed1c3459b0f23cfd9c0cc762de
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat May 17 00:12:43 2008 +0900
+
+ gallium: Fix typo.
+
+commit 2225b9bdb08228fc824e9011341e8c0916fe2e07
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sun May 18 22:38:28 2008 -0700
+
+ r5xx: ALU/OUT fixups.
+ Lots of small changes. Intentionally breaks some tex stuffs.
+
+commit 88cdc5e23fadc81dcf8ab068c0620cf67712d01f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun May 18 16:37:35 2008 -0600
+
+ fix program delete/refcount bug
+
+commit 54fbd8bbd4e5a484d59907bae852908e3a8b8f3c
+Merge: b4219e3 a0bfeb0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun May 18 16:17:50 2008 -0600
+
+ Merge branch 'gallium-0.1' into gallium-tex-surfaces
+
+commit fd59f19cd2388519265dfba3d28e5281df6f4ba0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun May 18 16:04:55 2008 -0600
+
+ Move _mesa_init_glsl_driver_functions() into shader_api.c
+
+ This allows making a bunch of functions static, and removes a state
+ tracker dependency on driverfuncs.c
+
+ cherry-picked from gallium-0.1
+
+commit 88c0a7463328ef47106ea0afbeb148ebd4e6d067
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun May 18 15:55:24 2008 -0600
+
+ additional fog/color matrix changes from gallium-0.1
+
+commit 6e92968d751ce3006b5ca0fc59eced20c94dc507
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun May 18 15:52:13 2008 -0600
+
+ add state vars for color matrix, pixel transfer scale&bias
+
+ cherry-picked from gallium-0.1 (068c7bd912283e051a55b2fd5c4568685d10f3ed)
+
+commit 2f8fc325aca43693aac368ae5781547cc976d387
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun May 18 15:50:20 2008 -0600
+
+ mesa: added internal post color matrix scale/bias vars
+
+ cherry-picked from gallium-0.1 (302daeb2ec62c59bd28d0c53cdc0fb07dc9d0f58)
+
+commit a0bfeb0c3ca58a1f4d978f2aaa343ed4009de079
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun May 18 15:46:58 2008 -0600
+
+ print vertex.attrib[n] (from master)
+
+commit 0c78c766e4cb8ffcda44cabfadb8de8e09121034
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun May 18 15:46:26 2008 -0600
+
+ fixes to _mesa_combine_programs(), from gallium-0.1
+
+commit 5976a6a75cfa6749db306111a601d99c99cc00a4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun May 18 15:41:36 2008 -0600
+
+ added div by zero check for Fog.End/Start (from gallium-0.1)
+
+commit 4b6b0fd526b16d70bb5d1acc8d93af280660c810
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun May 18 15:41:01 2008 -0600
+
+ clean-ups / additions from gallium-0.1 branch
+
+commit 1036ec94e5a30f9068a1b41f2e8668daa2ee4a2c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun May 18 15:32:58 2008 -0600
+
+ Fix some bugs in material, depth range state
+
+ picked from master
+
+commit 1bb30b02dd7610fb1094491c232e8dd4497a931a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun May 18 15:23:03 2008 -0600
+
+ Regenerated API dispatch files
+
+ Follow on to cherry-pick from master
+
+commit f9e1ef2a5b7951d36db56913b1366cf65b9d0976
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun May 18 15:21:28 2008 -0600
+
+ alias ProgramEnvParameter4xyARB and ProgramParameter4xyNV (bug #12935)
+
+ these should be the same functions (as per spec).
+
+ cherry-picked from master (86a4810b09097714942bf2b889e6c62357bba931)
+
+commit bdfd5d95c5543154f7af17f0c001dc2b7044c1c4
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sun May 18 17:58:29 2008 +1000
+
+ r300: fixup US_OUT_FMT bits
+
+commit 8b49cc104dd556218fc769178b96f4a8a428d057
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat May 17 23:34:47 2008 -0700
+
+ [intel-gem] Don't calloc reloc buffers
+
+ Only a few relocations are typically used, so don't clear the
+ whole thing.
+
+commit 126673261de0dc5d64b05e3f76ced6801c28fffb
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sun May 18 15:24:38 2008 +1000
+
+ r500: you can have a single texcoord
+
+commit 0910d9d4d68a3757f8777974ead2e4e34f48433e
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat May 17 13:38:35 2008 -0700
+
+ r5xx: Add OPCODE_KIL.
+
+commit c57b3b1d2c4344603763c8d200f111a132d3899f
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat May 17 12:45:46 2008 -0700
+
+ r5xx: Added OPCODE_DPH.
+ Like DP4, but with one swizzle change.
+
+commit 0bf82c0111c9d5e33ffc76be2fd0d22eea316952
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Fri May 16 17:56:38 2008 -0400
+
+ cosmetic changes
+
+commit a7449d4d840148ccd9261b59e68d45e9d0d2be53
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Fri May 16 17:35:47 2008 -0400
+
+ fix rsq
+
+commit 02e45b2dadd42c38247cb992a07eb520ac86519b
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Fri May 16 17:10:52 2008 -0400
+
+ fix abs and start on rsq
+
+commit 1d1cf8edf6a0409caf9aa7d44e186eb51f51fa1f
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Fri May 16 16:06:59 2008 -0400
+
+ do the lit (some artifacts present)
+
+commit ea1a607292ef31df70cda8c6476755e0224c9f7d
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Fri May 16 14:54:40 2008 -0400
+
+ implement min/max and abstract ops on vectors
+
+commit 59766ac273c426557b7790b0fcb566c8095fd820
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu May 15 17:46:20 2008 -0400
+
+ llvm: implement sub and abs
+
+commit 735752e8dceeec9b202147d1d19ef3dc70e08673
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu May 15 14:11:19 2008 -0400
+
+ fix injections of functions from builtins into shaders
+
+commit aeae57693b31bf42833a9d51844fe92e3ab61034
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu May 15 12:17:46 2008 -0400
+
+ move the swizzling code to gallivm in preperation for code-generating it
+ also some minor cleanups
+
+commit 9671f7ae476cadb46f9f8f9d0363f24aabaf9f87
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat May 17 10:30:21 2008 -0600
+
+ gallium: in drivers, make copy of tokens passed to pipe->create_vs/fs_state()
+
+ The caller can then free the token array immediately.
+
+commit 6dd3c0ed962dd3c2d4db331d4c745b39b7dde8c3
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat May 17 09:27:35 2008 -0700
+
+ r5xx: Fix FRC.
+ This makes tri-frc work.
+ (Remind me again why I'm allowed near a compiler, lawl.)
+
+commit 718a2d8c7a125609a8dca813703047e24de09653
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat May 17 08:47:56 2008 -0600
+
+ gallium: remove deprecated format names
+
+commit 1de0af303acc4fb973bbfea6641ba62a2f24b266
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat May 17 08:46:43 2008 -0600
+
+ s/PIPE_FORMAT_U_S8/PIPE_FORMAT_S8_UNORM/
+
+commit 16cc362f0ba9fb240f3d47f06e74ac215c4d6c27
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri May 16 11:46:26 2008 -0700
+
+ r5xx: Fix SCS.
+ Output instructions need to be marked OUT so they can write to the fifo.
+ Also, negation doesn't work with SWZ yet.
+
+commit c11a33fe76123abb19cfc1da7d3701a44fca2f23
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu May 15 10:51:52 2008 -0700
+
+ r5xx: Add OPCODE_SWZ.
+ It's so easy!
+
+commit d5aa42166152c4817d4fb06f183552efc135304b
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu May 15 10:29:38 2008 -0700
+
+ r5xx: Add OPCODE_SCS.
+ It's disabled, though, because it doesn't work. I'll figure it out later...
+
+commit 405ee871c54d78e63cef1a570578a755250102c8
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu May 15 00:49:32 2008 -0700
+
+ r5xx: Adding more opcodes.
+ EX2, FRC, LG2, SIN, RCP, and RSQ, if you care.
+ All of these except FRC are like COS. This pretty much rounds out the set of
+ opcodes which can be done in one ALU inst.
+
+commit 0de02f1716edc16257339af78f198072da87539f
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu May 15 00:18:08 2008 -0700
+
+ r5xx: First swing at OPCODE_COS.
+
+commit d8529d9b008ede05165317b8ebb834525fd9835c
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu May 15 00:11:10 2008 -0700
+
+ r5xx: Unbreak MAX and MIN.
+ Both of them had faulty copypasta.
+
+commit 5e075fb80968744c72dfaba062e0b591ac69fad0
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sat May 17 13:31:14 2008 +1000
+
+ r500: set fragprog end to correct place
+
+commit ba50c3fed38283968f622d7f47437f56033f09b7
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Sat May 17 10:40:47 2008 +1000
+
+ r300: SC register naming cleanup
+
+commit 791c95230cd399eaa5892d6e13d3ce08e6167e0c
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Sat May 17 10:27:11 2008 +1000
+
+ r500: write out the correct FP registers
+
+commit b4219e35e2de783ca03e53c311a8a56f8b633aa1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 16 16:11:00 2008 -0600
+
+ gallium: fix glBitmap surface memleak in context tear-down
+
+commit 87afc9bcad9a440352c6c3bda234cf089ff7e265
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 16 16:04:30 2008 -0600
+
+ gallium: release textures during context tear-down (fix mem leak)
+
+commit f8dce51083042b4d3fabf48524835290b6725682
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 16 16:04:04 2008 -0600
+
+ gallium: ref counting clean-ups
+
+commit b86cf714916d1bfdd6152839a8753cb3f3039cb2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 16 16:02:52 2008 -0600
+
+ mesa: call glutDestroyWindow() on exit to help find mem leaks
+
+commit fc0a48d587e3aaae4b0e1fc0b9652c7f3d8e1d4b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 16 15:48:11 2008 -0600
+
+ bring in fixes/changes from master
+
+commit 896c0cc8ec3c9489ba36876b8b580dedf85811c8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 16 15:47:55 2008 -0600
+
+ bring in fixes/changes from gallium-0.1
+
+commit 470f69950577e05e3dfd09653c268cf22c034d7f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 16 09:56:59 2008 -0600
+
+ Fix a program refcounting error, don't share program parameter lists.
+
+ The refcounting bug was causing a memleak (unfreed programs).
+ The old parameter list sharing is not needed since the change in how
+ uniforms are handled.
+
+commit ffbd455a36f1d7600bd5b60e91768133d901d2f4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 16 15:34:22 2008 -0600
+
+ fix an attr/src mix-up when setting-up/binding vertex arrays
+
+ This fixes problems with incorrect material coefficients when glMaterial
+ is called per-vertex.
+
+commit a2e6beade196aef269bda6bb3efb68809f85a683
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 16 15:23:04 2008 -0600
+
+ fix an attr/src mix-up when setting-up/binding vertex arrays
+
+ This fixes problems with incorrect material coefficients when glMaterial
+ is called per-vertex.
+
+commit f27c6f313955b737888ce80752ee9cd895562d40
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 16 15:17:35 2008 -0600
+
+ fix merge collision
+
+commit f2632212ad7735c659331b65d3bfe14aef0faccb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 16 10:49:44 2008 -0600
+
+ silence warning, new assertion
+
+commit e291cf6f8d3423c2f1e123ec2a42f0568019da80
+Author: Shunichi Fuji <palglowr@gmail.com>
+Date: Fri May 16 10:11:25 2008 -0600
+
+ free(key) in _tnl_UpdateFixedFunctionProgram()
+
+commit 8bdf5b6e6465ff734a798efb193ab16cd33df36e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 16 09:56:59 2008 -0600
+
+ Fix a program refcounting error, don't share program parameter lists.
+
+ The refcounting bug was causing a memleak (unfreed programs).
+ The old parameter list sharing is not needed since the change in how
+ uniforms are handled.
+
+commit a3e86d43e6c99af97c2931c883d552c9714006e8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 16 09:56:11 2008 -0600
+
+ minor changes to aid debugging
+
+commit eb4271ea8b29cff87f33d3ed9aee43d59986d2d9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 16 09:38:33 2008 -0600
+
+ remove stray, left-over RefCount++
+
+commit 6de6999edc41ed5cb8840bfb3265d025b2cbdfe7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 14 19:14:10 2008 -0600
+
+ whitespace/formatting
+
+commit 1af2b14514146d5f0d48a45165a579e88cc7a867
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 14 16:44:48 2008 -0600
+
+ init SamplersUsed bits in _mesa_parse_arb_fragment_program
+
+commit 885cc592dfcc3b46e1896d243f60c38cf18fa54b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 14 16:23:46 2008 -0600
+
+ fix assertion typo: s/=/==/
+
+commit e6cd9d88d345b998f8623f0f92c3c4cea8e66f54
+Author: Shunichi Fuji <palglowr@gmail.com>
+Date: Fri May 16 13:18:06 2008 -0700
+
+ Fix memory leak in _tnl_UpdateFixedFunctionProgram
+
+commit 0639998ee8750083b5e4ad90371c475cb2cca88f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 16 13:15:03 2008 -0700
+
+ Fix DRI build
+
+commit d6333af7e9b01d0e878ddbb92b5f972c67f5350f
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu May 15 20:38:41 2008 +1000
+
+ r500: default rsunit swizzle like fglrx
+
+commit 9aa62c723807f569c55a8e0df069cb2eadad77ae
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu May 15 16:24:54 2008 +1000
+
+ r500: shift tex src properly
+
+commit 76f32499d20ac9ee12a1b7aafbd2493749364a86
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu May 15 15:05:40 2008 +1000
+
+ r500: fixup r500 rs unit texture coordinate counting
+
+commit a0bc6d2fb21e47c5e659bc113c0c47b2288a9898
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu May 15 14:54:51 2008 +1000
+
+ r500: remove some debugging
+
+commit 73af48fff5502bc156160ce74896ffd156ee08ee
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu May 15 14:52:39 2008 +1000
+
+ r500: split output/pixel masks and emit in the correct places
+
+commit c9d5d11d2da77fada77dca1e239accd126fa3300
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu May 15 14:51:50 2008 +1000
+
+ r3/500: emit RS state before VAP
+
+commit 412c850eaba82a06532fcb6300234a63e7ae037b
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu May 15 13:48:31 2008 +1000
+
+ r500: fixup the program allocations to be the correct sizes
+
+commit 350c80fa99c759d3080d3c3876e525ae130d1b04
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu May 15 13:47:47 2008 +1000
+
+ r300: set screen so that context init can find out chip ids
+
+commit e1bffd03188479f85f09eba2b478d36d77a70264
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu May 15 13:24:01 2008 +1000
+
+ r500: add cmp support in theory
+
+commit 10e0a36a496a7032b15728343cf8ee2ca2df5cb3
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu May 15 13:21:50 2008 +1000
+
+ r500: some trivial fixups to get tri working.
+
+ the counter was being used one instruction over the end
+
+commit 375656440bd03d229701a1c97ef3f2ac61ba6712
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu May 15 11:46:23 2008 +1000
+
+ r500: we just need to emit a colour for clear drop tex instruction
+
+commit 5f6a726d9f2274df1a968e5f3cd3862894b47a38
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 14 19:19:53 2008 -0600
+
+ fix parsing of state.texenv.color (bug 14931)
+
+ cherry-picked from master
+
+commit 826218d386a0193f7c6d576b768c4427f09bb109
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 14 19:14:41 2008 -0600
+
+ Consolidate texture fetch code and use partial derivatives when possible.
+
+ picked from master
+
+commit 887bfee6e3beeacb441b81ac225d99060d4b5dfc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 14 16:44:08 2008 -0600
+
+ mesa: fix InfoLog memleak, misc sync with master
+
+commit 23db6287d41494799a4d171bae628b0d2e9baf36
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jan 15 15:08:34 2008 -0800
+
+ Bug #13492: Only call ProgramStringNotify if program parsing succeeded.
+
+ Wine intentionally tries some out-of-spec programs to test strictness, and
+ calling ProgramStringNotify on the results of a failed program parse resulted
+ in crashes in the 965 driver.
+
+commit 217e5b555189c1bd8213b439130944a18118d23b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Aug 7 21:42:34 2007 +0100
+
+ fix swizzle error test (bug 11881)
+
+commit 087fa7e39075228fcb238537ee251ab47f77a0cb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 14 16:32:18 2008 -0600
+
+ fix-up inlined/non-inlined function inconsistencies
+
+ cherry-picked from master
+
+commit 7aed3751c7da47db0d2e5f7ebf58a915ee772bd3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 14 16:30:15 2008 -0600
+
+ mesa: rm unneeded file
+
+commit 215a847e3fe98def292d929baecb3876abe5027a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 14 16:27:34 2008 -0600
+
+ mesa: prefix rm command with -
+
+commit 753f979a32cdbbe76dfacf95cbc3b43545a7d1ad
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 14 16:20:28 2008 -0600
+
+ rewrite some of the mat*mat, mat*vec intrinsics
+
+ Also, remove obsolete matrix codegen code.
+
+ cherry-picked from master
+
+commit ade508312c701ce89d3c2cd717994dbbabb4f207
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 14 16:09:46 2008 -0600
+
+ Updated GLSL uniform/sampler handling from gallium-0.1 branch
+
+ Previously, the shader linker combined the uniforms used by the vertex and
+ fragment shaders into a combined set of uniforms. This made the implementation
+ of glUniform*() simple, but was rather inefficient otherwise. Now each shader
+ gets its own set of uniforms (no more modelview matrix showing up in the
+ fragment shader uniforms, for example).
+
+ cherry-picked by hand from gallium-0.1 branch
+
+commit 8cf38c7e6a42c66166549a2526f28d94b95b0c0a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 14 16:07:18 2008 -0600
+
+ mesa: regenerate slang built-in data (asin(vec4) fix)
+
+commit a9997657b9d66b54d184a899e49e35885928ef80
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 14 16:06:10 2008 -0600
+
+ mesa: fix missing w assignment in asin(vec4)
+
+commit 26988c170c61c21d0e76397689a270f485bc4086
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 14 16:05:48 2008 -0600
+
+ mesa: use CALLOC_STRUCT()
+
+commit afa4c792b00070a5c50730ba455df18629d4e550
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 14 16:05:25 2008 -0600
+
+ mesa: sync up swrast/s_fragprog.c with master
+
+commit 4f915b0f83861640e5e3f5ea62a70c0d6201a5a2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 14 16:04:51 2008 -0600
+
+ mesa: updated comment
+
+commit 05cacc06ccbbf088ab3fed0bf648f4f5fc61c154
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 14 16:04:29 2008 -0600
+
+ mesa: minor bug fixes from master
+
+commit fcb23d7db7339a2b1ca51d929fc1b5065f7e0f77
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 14 16:04:00 2008 -0600
+
+ mesa: dead code removal
+
+commit c4ceb4e4f3bea1d6464c847669d5f9e8353fd5d3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 14 16:03:38 2008 -0600
+
+ mesa: minor bug fixes, null ptr checks, dead code removal
+
+commit 6c536b9924a46e3e6f4eb93369b2e7006182ba39
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 14 16:02:20 2008 -0600
+
+ mesa: fix errors in LightModelProduct state, other misc error cases
+
+commit f84005c0a114837a0c7209a3c598e02fb5f47da1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 14 16:01:31 2008 -0600
+
+ mesa: glUniform(location==-1) is not an error
+
+commit c807c1a23fc918591e9d2f6f26c4e071a725bced
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 14 13:12:44 2008 -0600
+
+ mesa: new functions for managing list/index of uniforms
+
+ cherry-picked from gallium-0.1
+
+commit e0f160663e50d0481afd8a9e1ec90c334be489e1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 14 13:01:13 2008 -0600
+
+ clean-up swizzle fields in fog code, fix NegateBase
+
+ cherry-picked from gallium-0.1
+
+commit bff695b926249ead1944eef2aa05b2e0eaf9ba7f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 14 13:00:27 2008 -0600
+
+ sync up with gallium-0.1 changes
+
+ New _mesa_num_inst_dst_regs(), _mesa_is_tex_instruction() functions
+
+commit 6ca948a303e1af7ae66ea7082af741f6880887f2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 14 12:53:03 2008 -0600
+
+ added _mesa_combine_parameter_lists()
+
+ cherry-picked from gallium-0.1
+
+commit b2562736894b6a97e4f1be6c6861e250e9d0a765
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 14 12:19:22 2008 -0600
+
+ fix some additional program refcounting bugs
+
+ cherry-picked from master
+
+commit 19ad9cf7741c641bd83d20485b32d11fe27ca8df
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 14 12:39:41 2008 -0600
+
+ mesa: added _mesa_insert_instructions()
+
+ Also, use new _mesa_free_instructions() in a few places.
+
+ cherry-picked from gallium-0.1
+
+commit 450136d368ce7a08cf25992c79b51f51f8a9bb7c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 14 12:37:07 2008 -0600
+
+ mesa: added _mesa_free_instructions()
+
+ cherry-picked from gallium-0.1
+
+commit d791386b09682dbccc68cc3803b6d71a0362124e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 14 12:19:22 2008 -0600
+
+ fix some additional program refcounting bugs
+
+ cherry-picked from master
+
+commit 57e222d6e5ef5744491d093475e1136aedf81810
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 14 12:10:45 2008 -0600
+
+ fix some additional program refcounting bugs
+
+commit 6c78b8e97b21cc9152e75727ed879643f605ede3
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Wed May 14 17:20:56 2008 +0200
+
+ mesa: Made linux-dri targets build EGL
+
+commit 3f9de6ff7dbfc417b50ac27be8461304f0134f91
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Wed May 14 17:20:25 2008 +0200
+
+ egl: Updated EGL samples to use new i915 EGL winsys
+
+commit d07fbdd93941d5027a1aa7f0726140c6648a1e27
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Wed May 14 17:19:44 2008 +0200
+
+ i915: Added EGL winsys
+
+commit 9a01ee4424718e0c3015c1f0477cae63ee63d96b
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed May 14 18:35:37 2008 +1000
+
+ nv40: fix typo in one of the previous commits
+
+commit bc1696862c9ffa8d8f2c11d3120310e82f2e9327
+Merge: 666ac92 19f1527
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed May 14 18:13:36 2008 +1000
+
+ Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1
+
+commit 4b7d301c94d33394550322768a9d2232087b2d64
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Wed May 14 09:52:46 2008 +0800
+
+ _generic_read_RGBA_span_BGRA8888_REV_SSE2: It should adjust the source
+ and target pointers after do the first 2 pixels. fix bug #15850
+
+commit 1c624846a81b0218b4a07328f485e295432c6312
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Tue May 13 16:06:09 2008 -0400
+
+ decomposition from keith, adds decomposition of more prim to the pipeline
+
+commit f86baae1a7092533c7c3d56846e7bae97590951b
+Author: Alex Deucher <alex@botch2.com>
+Date: Tue May 13 16:12:57 2008 -0400
+
+ R300: clean up GA registers
+
+commit de3fc8b1c47eaa87917e1886d4a0988327438038
+Author: Alex Deucher <alex@botch2.com>
+Date: Tue May 13 15:46:23 2008 -0400
+
+ R3xx: clean up ZB registers
+
+commit c5b7a1ee3cae26854c6a489ee2977e4134efabfd
+Author: Alex Deucher <alex@botch2.com>
+Date: Tue May 13 14:32:30 2008 -0400
+
+ R300: clean up CB registers
+
+commit cba90d4a778ab5202f2f7547ad7ffeb84216d07b
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue May 13 11:30:18 2008 -0700
+
+ [GEM] Actually include the presumed offset in initial relocations.
+
+ This avoids kernel relocations for most batchbuffer relocs.
+
+commit 8d70181b031d7557dd4083dc041cc7c658fddfc4
+Author: Alex Deucher <alex@botch2.com>
+Date: Tue May 13 14:02:29 2008 -0400
+
+ R300: clean up Fog registers
+
+commit d09aa2138bdedf32569844fa14cf88f28d41020a
+Author: Alex Deucher <alex@botch2.com>
+Date: Tue May 13 13:38:30 2008 -0400
+
+ R500: fixup r300EmitClearState() FP for r5xx
+
+commit 666ac923f016b1b231c5a8847cbe084321f697ca
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed May 14 00:25:09 2008 +1000
+
+ nouveau: remove winsys-related stuff from nouveau_local.h
+
+commit 9ef4126d48153d4754b29bd4231d29dfb15fa73f
+Author: Alex Deucher <alex@botch2.com>
+Date: Tue May 13 08:37:58 2008 -0400
+
+ R300: cleanup FS code and fill in missing details
+
+commit 0cc8ed5cccd3073670f3b77189177d44eae9b099
+Author: Alex Deucher <alex@botch2.com>
+Date: Tue May 13 06:09:55 2008 -0400
+
+ R3xx: more PVS cleanup
+
+commit 1ef08564d2a201a422db772a6bb23d1129888304
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue May 13 12:16:35 2008 +1000
+
+ nouveau: remove chipset fields in all nv pipe driver context/screen structs.
+
+commit 2f80d4d2a705835b272cf2274ea578fe5bbe1919
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue May 13 12:09:04 2008 +1000
+
+ nouveau: make nouveau_device.h part of public API
+
+commit c962ad7cd5dbea12d13997b421a44b16af3c6662
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue May 13 12:06:32 2008 +1000
+
+ nouveau: create objnull during channel creation
+
+commit 83e6df12ea31ef48d251fe7b38acd882145f8f14
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue May 13 12:01:08 2008 +1000
+
+ nouveau: chipset is a device property, remove from nv/nvc.
+
+commit 9b0054c7f87e3cc89fc0e60408af41f3e86dfdff
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon May 5 19:52:19 2008 +1000
+
+ nv50: slightly less skeletal texture funcs, prevents fun segfaults
+
+commit 32ed02bcfbe7a2132929658b1a73708ab16af006
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon May 5 19:49:06 2008 +1000
+
+ nv50: report some supported formats to keep the state tracker from asserting.
+
+commit 19f15277d1871b62902031f9fa9aabf2f1bc7c40
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon May 12 17:17:18 2008 -0400
+
+ adjust llvm code to the changes in 2.3
+
+commit bbda45ec769120324f44febf00c6bb170f594f23
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon May 12 19:40:20 2008 +0100
+
+ draw: turn fse path into a middle end
+
+ Also add some util functions in pt_util.c
+
+commit 44463b2997826cd14def00abf724a7a65a4fc7cb
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon May 12 17:36:35 2008 +0100
+
+ draw: streamline the varray path
+
+ - drop support for running the pipeline (ie. don't populate the flags values)
+ - pass through all split-able primitives intact to the middle end
+ - only primitives that can't be split are shunted on the draw-element path
+
+commit f116a149160d50d43a23b02a3416725d6f895d51
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon May 12 17:30:05 2008 +0100
+
+ softpipe: more work to get non-reduced primitives working in vbuf
+
+commit 90e86363de7dbcfda3490b5c31d701350a0fa2ef
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon May 12 16:16:04 2008 +0100
+
+ softpipe: make vbuf handle all primitive types
+
+commit b5e5369da5fc50d63a6ece931fac44b555eb0314
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon May 12 15:20:38 2008 +0100
+
+ draw: add fetch-shade-emit path
+
+ Enable with TEST_FSE=t. Performs fetch from API-provided vertex buffers,
+ transformation with one of three (two working) hard-coded shaders, and
+ final emit to hardware vertices all in a single pass.
+
+ Currently only really useful for profiling in conjunction with SP_NO_RAST=t.
+
+commit de818835de70961602bb9ceca86b98e9bbc63fc1
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon May 12 14:10:03 2008 +0100
+
+ softpipe: add failure paths for context creation
+
+commit 2258f6b437705860912be300e728efbde60e2140
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon May 12 14:09:50 2008 +0100
+
+ xlib: add failure paths for context creation
+
+commit 7ddb925b8bc6c18eba953e34d2b630a3a6593f05
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri May 9 13:10:15 2008 +0100
+
+ draw: mimize cost of translate key compares, use cache universally
+
+commit c0a6040f568e0c9be07797b2dc2fdd8a3624ec34
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri May 9 13:09:58 2008 +0100
+
+ translate: helper functions for mimizing cost of key compares
+
+commit e000f2ab6e8491bf8175c38c42fabb04833d5209
+Merge: 2a4d108 3d15280
+Author: Alex Deucher <alex@botch2.com>
+Date: Mon May 12 11:58:35 2008 -0400
+
+ Merge branch 'r500-support' of git+ssh://agd5f@git.freedesktop.org/git/mesa/mesa into r500-support
+
+commit 2a4d1085cb9d2d03e6aeb2c71a59888826c31afd
+Author: Alex Deucher <alex@botch2.com>
+Date: Mon May 12 11:57:08 2008 -0400
+
+ R500: add support for 4k textures
+
+commit 145523ba3acb95a9ff390430a9e0a3fa958cae1b
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun May 11 00:16:25 2008 -0700
+
+ [intel] update GEM api. Add bo_subdata and bo_get_subdata driver hooks.
+
+ Track DRM GEM name changes.
+ Add driver hooks for bo_subdata and bo_get_subdata so that GEM can use pread
+ and pwrite.
+
+commit 6807b4f6b1fa6ef0412714622ff16fe9d1487a8e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat May 10 12:46:00 2008 -0600
+
+ gallium: optimize the flush_spans() function
+
+commit 140b3f7f9cc682809170d7c311f89e0477dba5aa
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat May 10 12:16:19 2008 -0600
+
+ gallium: remove unused code
+
+commit 738d811b04ab1c3f5315e7bf8b7d0bc553dea501
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Fri May 9 16:19:03 2008 -0700
+
+ Don't link demos directly to X libraries
+
+ Since the linker will just pull in the libraries needed from libGL, we
+ don't need to link the demos directly to the X libraries. Fixes #15886.
+
+commit 73c5505c13c42ba1ab95fa1d1003d5f9327428a5
+Merge: a1f95a8 7462f05
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Fri May 9 18:16:02 2008 +0100
+
+ Merge branch 'gallium-0.1' into gallium-tex-surfaces
+
+commit 7462f0557f9cce73ff2d32e62ef110b5d8622f87
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Fri May 9 18:04:16 2008 +0100
+
+ draw: Fix number of vertices allocated in draw_pt_emit().
+
+commit a1f95a8bf64f863289b6759caeec76d7e054400e
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Fri May 9 15:04:33 2008 +0200
+
+ gallium: depth textures have usage depth_stencil instead of render_target
+
+commit 2d709fe2721e6e7f8c33e2973e623fcf44b19efe
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Tue May 6 10:51:49 2008 -0700
+
+ autoconf: Allow XCB to be used for GLX
+
+ Adds an --enable-xcb switch to use XCB in GLX. This only has an effect
+ when the driver is DRI.
+
+commit 5dbbde5b222204fa8dfc086b88a8105516f7d727
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Tue May 6 06:21:41 2008 -0700
+
+ Default DRI driver directory to match X.Org xserver
+
+ Since the only valid consumer of the DRI drivers is the X.Org xserver,
+ this changes the default DRI driver directory to match xorg-server:
+ ${libdir}/dri. The old default of /usr/X11R6/modules/dri was wrong for
+ nearly all current systems.
+
+commit d368eed9c78aa3ced8540c66bdc4c5e1d4a067b4
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Mon May 5 18:24:21 2008 -0700
+
+ autoconf: Attempt to figure out the PIC flags for the platform
+
+ This commit adds an autoconf macro, MESA_PIC_FLAGS, which sets the
+ PIC flags according to platform and static/shared setting. The platform
+ specifics are taken straight from libtool.m4 and stripped down to just
+ the flags and platforms we cover in Mesa. This should hopefully make it
+ possible to use autoconf on non-GCC platforms.
+
+ The macro is added external to configure.ac in acinclude.m4 since it's
+ pretty bloated.
+
+ Note to BSDers: Previously, x86 defaulted to non-PIC on FreeBSD. I
+ didn't carry that preference into this macro. Instead, you can just use
+ --disable-pic where desired.
+
+commit 501be9c7dd0cc5f985c708fa0e5f35d7fd20deb4
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri May 9 15:02:59 2008 +0100
+
+ draw: fix translate double-free, minor cleanups
+
+commit 5ee2b5bdcc62e844079829f4f4301aad5374c62e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri May 9 15:02:59 2008 +0100
+
+ draw: fix translate double-free, minor cleanups
+
+commit 2f9b1b9cc20f079cb46bbbcc9db09880070e4de9
+Merge: 54777e1 1a03812
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri May 9 13:11:48 2008 +0100
+
+ Merge commit 'origin/gallium-0.1' into gallium-tex-surfaces
+
+commit 1a03812fb57e956b438cd42ac68978facb49a99d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri May 9 13:10:15 2008 +0100
+
+ draw: mimize cost of translate key compares, use cache universally
+
+commit 80474d576c2e92441f6bcc18faae71a38b91bd70
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri May 9 13:09:58 2008 +0100
+
+ translate: helper functions for mimizing cost of key compares
+
+commit 54777e124c38812e5e80319048b6c71009bcf9dd
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri May 9 18:47:44 2008 +0900
+
+ gallium: Define util_vsprintf.
+
+commit 36e1bc865b421be8919ce7d26eb4ae593a885372
+Merge: 47f639a b514f5f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri May 9 08:56:01 2008 +0100
+
+ Merge branch 'gallium-0.1' into gallium-tex-surfaces
+
+commit 47f639a62989cea4b3b14cd73bb39de85acec8ea
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri May 9 14:34:51 2008 +0900
+
+ gallium: Disable debug_get_option for release builds on Windows.
+
+ It always creates the C:\gallium.cfg , even if it does not exists, which
+ might be confusing.
+
+commit 0dbd5c864047ad2ad3d459493c9e82be57427f83
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri May 9 13:51:37 2008 +1000
+
+ intel: use new mipmap generation hooks in driver.
+
+commit 86bd98c6aa0d1a8533699af911c7c40c549b3965
+Author: Dave Airlie <airlied@linux.ie>
+Date: Fri May 9 13:41:02 2008 +1000
+
+ swrast/dri: switch over users of generate_mipmap to new interface
+
+commit 0449bab2f8722f277213e44da13de6a0b5ae7b5b
+Author: Dave Airlie <airlied@linux.ie>
+Date: Fri May 9 13:33:56 2008 +1000
+
+ Revert "mesa/intel: map/unmap texture objects around mipmap generation function."
+
+ This reverts commit c50ffc4cb89b67ae59208eb72cdb664c846ba987.
+
+ I'll fix this using the mipmap hooks I just picked from gallium-0.1
+
+commit d4e1d85dba8ec4a37f68a284b5a2be15b4f2987a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 8 14:45:58 2008 -0700
+
+ Remove unused texunit parameter to ctx->Driver.GenerateMipmap()
+ (cherry picked from commit c3395f4473c8fdf75d04c0dd72e687bc8d8127a7)
+
+commit a638676473bd7bf2d47275ed2fd708e5b9d47e0b
+Author: Dave Airlie <airlied@linux.ie>
+Date: Fri May 9 13:33:06 2008 +1000
+
+ Added ctx->Driver.GenerateMipmap() driver hook
+ (cherry picked from commit 4c2f3dbca940f289e67248682b84a3516d5a3031)
+
+ Conflicts:
+
+ src/mesa/drivers/common/driverfuncs.c
+
+commit c50ffc4cb89b67ae59208eb72cdb664c846ba987
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri May 9 13:02:41 2008 +1000
+
+ mesa/intel: map/unmap texture objects around mipmap generation function.
+
+ This at least stops the compiz brain explosion we were seeing, I do wonder
+ though if we should somehow be calling intel_generate_mipmap somehow.
+
+commit 2268306f58769dff4b2b1da8bb668bdff2856d70
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri May 9 11:02:10 2008 +0900
+
+ gallium: Don't serialize GPU writes.
+
+ Only make sure the GPU is finished with a buffer before mapping.
+
+ The opposite -- waiting for the CPU to be finished before handing
+ to the CPU -- must be done before fencing.
+
+commit f763cc3cb54ee419902bdf24065e7c1948e92b67
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 8 19:32:49 2008 -0600
+
+ gallium: don't free shader.tokens in get_passthrough_fs()
+
+commit 2a39dbe7364af5444b1eb43650dfc31ed09257dc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 8 19:19:52 2008 -0600
+
+ gallium: fix out of tex memory crashes
+
+commit 044d583ba12689cbe99098eb999854303de57f59
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 8 18:38:02 2008 -0600
+
+ gallium: handle null ptrs
+
+commit 990e010394a2685c1daeaef61cf4f7e2a0ba419e
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Thu May 8 19:48:32 2008 -0400
+
+ Add RS690M PCI ID.
+
+commit f9e2f26df3c16eaa0c56db11cd94b5af7a361ee8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 8 17:45:59 2008 -0600
+
+ gallium: re-enable call to init_renderbuffer_bits(), remove dead code
+
+commit 2f07e1caa02c9dcdddc673e61eb91b83b82d283b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 8 17:42:18 2008 -0600
+
+ gallium: fix render to depth texture
+
+commit a7e8e31eeee320bbc563536389587520875c3b57
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 8 17:13:01 2008 -0600
+
+ gallium: replace pipe_buffer_destroy() call with pipe_buffer_reference(NULL)
+
+commit f3ecd488ddb9ef0949466accbd7db686c8e4662e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 8 17:11:55 2008 -0600
+
+ gallium: remove dead code
+
+commit 29d9f6b0d263b6ea2f89ea955d53d2671d9a6e43
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 8 17:11:05 2008 -0600
+
+ gallium: no-op st_Bitmap() if width or height is zero
+
+commit e93243cb80ee3ae834a50efe7bacd232d8846305
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 8 16:02:19 2008 -0600
+
+ gallium: clean-up, minor fix
+
+commit cec016271ccf38d2f32e426f96e7d5d1fdf962f7
+Merge: 8ea6106 b514f5f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 8 22:16:05 2008 +0100
+
+ Merge branch 'gallium-0.1' into gallium-vertex-linear
+
+commit b514f5f3ba4c9cf6c39cbcdf5bf0d2d8efb8d19b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 8 22:13:21 2008 +0100
+
+ draw: only fill in / compare the part of the translate key we're using.
+
+ It's quite a big struct & we examine it a lot (too much). Reduce
+ the impact of this by just looking at the active part where possible.
+
+commit fec1d215f623221cb52f22c8f10e5de99ebc9cc2
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 8 22:10:15 2008 +0100
+
+ xlib: more SP_NO_RAST support
+
+ For some resaon normal (non-display-buffer) buffers are being allocated
+ through Xshm... Bypass at least for SP_NO_RAST
+
+commit 9002cdb48e65c063ea00e1cb4917d432b22ae0ad
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 8 22:07:52 2008 +0100
+
+ softpipe: don't calc det if NO_RAST set
+
+commit 6548e9b0183d2ddfc8b57919d5be0e75ef79182e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 8 14:20:32 2008 -0600
+
+ gallium: plug in dummy stage->destroy func
+
+commit 8ea6106f01f38853e9c0f1029da55eb449109aea
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu May 8 15:11:16 2008 -0400
+
+ fix quad strips
+
+commit 8d709ae1595047b45a81f2fbd22850887fdbfea0
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu May 8 12:10:24 2008 -0400
+
+ fix triangle strips
+
+commit 22323af525d00022a1fa06fab7ee84df5ef2d1f0
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed May 7 19:34:12 2008 -0400
+
+ fix silly mistakes
+
+commit fe586f8612dd517b9a1f0d87fbaf3a75e3caf588
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Tue May 6 18:59:45 2008 -0400
+
+ redo the linear paths
+
+commit e897fd6cd35c6b9e398e1903d2e79678fe85708a
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon May 5 12:49:40 2008 -0400
+
+ fix the regressions
+
+commit 66d72f176de2568f053c6dc54e93d423723ae8aa
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Sun May 4 01:37:32 2008 -0400
+
+ silence debugging output
+
+commit a24cb269e1ba5434acf8c94abd03517c149b9c51
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Sun May 4 01:23:01 2008 -0400
+
+ implement linear path for fetch_emit pipeline
+
+commit ff1fee2cae9fabb47d6a2eb1f9f8094fec3c377f
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Sun May 4 00:44:27 2008 -0400
+
+ don't fill in linear fetch_elts
+
+commit abb08e9335b5d7cb004dc9e6cec390ab6968abe5
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Sat May 3 22:32:17 2008 -0400
+
+ implement linear emition and fetching and plug it in the varray paths
+
+commit 90a46ed277cc887d49c8d8c627174c3bd693ecf7
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu May 1 23:54:39 2008 -0400
+
+ split larger primitives in the simple varray pt
+
+commit 2abc1b3641e435e0b68490fa6b0a7ffa7c030c76
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu May 1 12:38:51 2008 -0400
+
+ abstract fetching elts
+
+commit d2ec02f44026244130b4e6f9d87eac6a03a9c6c1
+Merge: 8eab7de 1dfb3d4
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu May 8 19:01:34 2008 +0100
+
+ Merge branch 'gallium-0.1' into gallium-tex-surfaces
+
+commit 1dfb3d4729ce4cd71a593c14dbb2907cd987f8ab
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu May 8 19:00:11 2008 +0100
+
+ cso_cache: Fix test for currently bound blend state.
+
+commit 0cb006c1fdb75e1fe282120cc5455a4e8c59b1a7
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu May 8 10:38:55 2008 -0700
+
+ [intel-gem] move domains to relocations. add set_domain to bo_map.
+
+ Fix the kernel API to place the read/write domain information in the
+ relocation instead of the buffer.
+
+commit fda5687241f4ce5cab3bf2eac437b52d4b37dd10
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu May 8 10:37:23 2008 -0700
+
+ [intel] intel_batchbuffer_flush using uninit 'used' to check for buffer empty
+
+ Make sure 'used' tracks the right value through the whole function.
+ Also, use GLint for intel_batchbuffer_space in case we do bad things
+ in the future.
+
+commit b4e75d6c41b2561ca86321fb775ca774c8af44eb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 8 10:59:31 2008 -0600
+
+ disable debug printfs
+
+commit 8eab7de888bb4056c34f80edfbc90a543736ea3b
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri May 9 00:08:57 2008 +0900
+
+ pipebuffer: Temporarily reimplement validation as growable array.
+
+ Jose
+
+commit 45668806567c0f31479c8bf9b1a85930cac70c5d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 8 08:39:30 2008 -0600
+
+ disable GL_DEPTH_TEST before glDrawPixels in case window has unrequested depth buffer
+
+commit 6a3fac871104c5cf3cd1c6a7767ba66d10446475
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 8 08:36:49 2008 -0600
+
+ call glutDestroyWindow()
+
+commit 79e57695e14eee08c799670e105f2371471747f8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 8 08:33:44 2008 -0600
+
+ disable GL_DEPTH_TEST before glDrawPixels in case window has unrequested depth buffer
+
+commit 7ffbfaccfb1484a4ffd5aea0e0e1fbb407977a56
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu May 8 13:26:23 2008 +0100
+
+ gallium: Make sure functions have proper prototypes and remove unused variable.
+
+commit 82dd0225e7e21a35ca66d439dce8cfa39d782470
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu May 8 15:28:42 2008 +0900
+
+ pipebuffer: Preliminary buffer validation.
+
+ Use table to store a list of buffers to validate. Unfortunately cso_hash
+ shrinks/regrows the hash every time, so still has to be addressed.
+
+ Multi-thread validation is still WIP.
+
+commit 665b327a47ce80d136e91cfafedbc165227ea168
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu May 8 15:19:07 2008 +0900
+
+ gallium: Really free hash entries.
+
+ Hook up to the new cso_hash_erase function.
+
+commit 53996e562f8623ccb1defeaaa77efdff24477808
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu May 8 14:56:03 2008 +0900
+
+ pipebuffer: Don't include standard headers directly.
+
+commit 9508293e0186ded3be212a377b1fe39d68070da7
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Thu May 8 11:52:57 2008 +0800
+
+ mesa: Call RENDER_FINISH on the zero pixel case.
+
+commit 68a916183276f727948e73fe752ebf36ef9f8ba9
+Merge: c75b2d7 ead798e
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed May 7 20:20:26 2008 -0700
+
+ Merge commit 'anholt/drm-gem' into drm-gem
+
+commit a266af9200444a4f651e0ff0cf54e533be38d44d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 7 20:18:49 2008 -0600
+
+ mesa: minor fixes in _mesa_free_shader_program_data() and _mesa_link_program()
+
+ From master:
+ Set shProg->NumShaders = 0 after freeing program's list of shaders.
+ Set _NEW_PROGRAM in _mesa_link_program() to fix a state validation bug.
+
+commit 5b5c9315275752add1215dba0f86d5f5068d856b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 7 18:51:44 2008 -0600
+
+ fix refcounting bugs in tnl/tex program caches
+
+commit 12a317b93a635a623a8d0b9d0cb200ba8b3ae98b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 7 09:14:10 2008 -0600
+
+ updated options/help
+
+commit 1a82d9648b3db780e58e4966924157542d148c58
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 7 16:44:33 2008 -0600
+
+ gallium: fix some render to texture bugs
+
+ Before, we were sometimes rendering into a stale texture because
+ st_finalize_texture() would discard the old texture and create a new one.
+
+ Moved st_update_framebuffer atom after texture validation so that we
+ can create a new renderbuffer surface if the texture changes.
+
+ Also, split texture validation into two parts: finalize_textures and
+ update_textures. Do finalize_textures first to avoid getting into the
+ situtation where we're doing a pipe->surface_copy() mid-way through
+ state validation.
+
+ Some debug code still in place, but disabled...
+
+commit ead798eb103e4cfe801704bc15eb4fe8df078fa8
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed May 7 14:01:03 2008 -0700
+
+ GEM: Remove already-disabled PIPE_CONTROL command.
+
+ This existed to get the icache flushed. However, GEM handles this for us
+ now for sure, and we had disabled it prematurely anyway.
+
+commit ab50ddaa9173ae108833db0edb209045788efc41
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed May 7 13:51:29 2008 -0700
+
+ GEM: Make dri_emit_reloc take GEM domain flags instead of TTM flags.
+
+ The GEM flags are much more descriptive for what we need. Since this makes
+ bufmgr_fake rather device-specific, move it to the intel common directory.
+ We've wanted to do device-specific stuff to it before.
+
+commit a6464b3cb08b86d5fc537a4907849546a63ae4da
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Wed May 7 11:35:23 2008 -0700
+
+ Never fail `make clean'
+
+ Mostly some pedantic changes such that `make clean' always ignores
+ errors. Also changed the top clean target to do the `touch
+ configs/current' dance instead of realclean.
+
+commit 8f76459f62aaf6f3a130e9be75aa7fe565406d28
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 7 11:57:03 2008 -0600
+
+ mesa: document a/s keys
+
+commit f34a30bf791b7126b13abaa1965c70ff9633f38e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 7 11:56:24 2008 -0600
+
+ mesa: add texturing to thread test
+
+ Run with -t to enable texture mapping.
+ Press 't' to update the texture image. When the texture is changed in one
+ thread it should also get updated in the other threads since textures are
+ shared by all contexts.
+
+commit df8134c3cf53a2e4363f27e9a1266e685ca7f0e7
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Wed May 7 10:21:01 2008 -0700
+
+ Run `make clean' in drivers/xorg, too
+
+commit 8b2a7f08bc446deef497f2a0d3b54d9b70bdaf9c
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed May 7 10:01:14 2008 -0700
+
+ GEM: Don't emit an extra MI_FLUSH in the batch since GEM handles it.
+
+commit ffe78987dc01864cdb8f8b74855c3e14cff1c0bb
+Merge: 3e1a4c2 deceeca
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 7 15:57:36 2008 +0100
+
+ Merge commit 'origin/gallium-0.1' into gallium-tex-surfaces
+
+commit 3e1a4c286936abdb4ce1b62a9ebdd93db1777aff
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 7 08:56:08 2008 -0600
+
+ mesa: free shader program data before deleting shader objects.
+
+ Picked from master.
+ Fixes mem corruption seen when glean/api2 test exits.
+
+commit a56a59ce74b7f18f25a13992d2a2c1ae7cf973ce
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 7 08:55:33 2008 -0600
+
+ gallium: implement full reference counting for vertex/fragment programs
+
+ Use _mesa_reference_vert/fragprog() wherever we assign program pointers.
+ Fixes a memory corruption bug found with glean/api2 test.
+ Another memory bug involving shaders yet to be fixed...
+
+ Picked from gallium-0.1
+
+commit e8c2b9967f22a672753b2662f7858734ec328b06
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Wed May 7 07:48:29 2008 -0700
+
+ Refactor installation targets
+
+ Currently, there is a single path in src/mesa/Makefile to install that
+ has a few conditionals in it. This commit changes install to act like
+ default where we loop over $(DRIVER_DIRS), deciding what to do.
+
+ A new target, install-headers, has been broken out to accomodate
+ installing a standalone OSMesa where neither libGL or gl.pc are wanted.
+
+commit deceeca18d3a3f18caeac980ad63fafd8bad709c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 7 08:47:55 2008 -0600
+
+ mesa: update/add newer GL ES headers
+
+commit ec813878e4889be97535cf01bd2b49fd09467a47
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Wed May 7 07:11:49 2008 -0700
+
+ Ensure recursive makes always propagate errors
+
+ There were a couple spots left where a recursive make could fail in a
+ chain of commands without stopping.
+
+commit 10b7192747087ec25f97cdfcfc062654a2d8fe6d
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed May 7 22:01:27 2008 +0900
+
+ gallium: Implement util_pack_color for A8, L8, and I8 formats.
+
+commit 33cda1e5e57838845ec62714677832f7cdabc5dc
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed May 7 21:37:32 2008 +0900
+
+ gallium: Fix release build.
+
+ pf_sprint_name might be used there too.
+
+commit 5efd2d59eb19cc44624d3f842d3d1d291876ae7d
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed May 7 14:24:14 2008 +0200
+
+ gallium: Fix compilation errors.
+
+commit 55c13f5af7903c2a0f5a1839259a0a0cc15d6e5e
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed May 7 20:27:42 2008 +0900
+
+ gallium: Implement pf_sprint_name as a simple static table.
+
+commit 942b02956e7889aab977cf465fddb0055b758af2
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed May 7 19:39:34 2008 +0900
+
+ gallium: Use the u_string.h functions.
+
+commit 3d1528027889d67ca98002833dcb42b3f2f48067
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed May 7 15:59:21 2008 +1000
+
+ r500: cleanup r500 RS setup
+
+commit 53a7ccc08b286a02f5a276f213cfae31c8e6bf7c
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed May 7 15:16:27 2008 +1000
+
+ r500: for rectangular textures set to unscaled coordinates.
+
+commit 79931e38abc62286151121a3f59127e296144551
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Wed May 7 08:46:28 2008 +0100
+
+ Revert "gallium: move setup of dest_surface in do_copy_texsubimage()"
+
+ This reverts commit f7dbd18371f9cb6686b6a97642b3ca5577e83472.
+
+ Looks like an accidental revert of commit
+ 650c57f19398800dfdcf357b6e9ec7b68bfa34f1.
+
+commit 4d1bf8a85eae730ca875194864277602f57582ea
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed May 7 16:29:36 2008 +0900
+
+ gallium: Output the total of leaked memory.
+
+commit 1da094c9adf49c48a8b61ee7ab5336e8ba3f9e8d
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Wed May 7 00:06:26 2008 -0700
+
+ r5xx: Fix FP inputs. (For good?)
+ FP inputs are now counted and mapped correctly, and temps
+ are allocated tightly and correctly.
+
+commit 49c30ce958e5e95e9e6ab79d2308751705d0ff22
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue May 6 23:36:50 2008 -0700
+
+ r5xx: Fix false error with DP3/DP4.
+ DP3/DP4 only takes two arguments, but tried to load three, causing
+ a false fallback to the dumb shader.
+
+commit dc24fb51a31de8443e653655105d4e1c88847bcc
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue May 6 22:18:28 2008 -0700
+
+ r5xx: Index inputs and temps.
+ This is not the same as r3xx indexing. It only tries to protect inputs on
+ the pixel stack from getting clobbered by temps or texs.
+
+ Texs don't need special treatment since they read from special input regs
+ and write to the same temp regs as ALU/FC instructions.
+
+commit c7ad942c54c3892a98d248a15af817f256260e75
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed May 7 14:17:59 2008 +0900
+
+ gallium: Propagate tex_usage flags down to winsys.
+
+commit fe06a47361b2db3dfde537aeb0c193495a16905e
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed May 7 14:14:48 2008 +0900
+
+ gallium: New PIPE_TEXTURE_USAGE_PRIMARY flag for primary surfaces.
+
+commit df43fb661b2030d9b833a42dd47b8d7bf58d73aa
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue May 6 23:08:51 2008 -0600
+
+ implement full reference counting for vertex/fragment programs
+
+ Use _mesa_reference_vert/fragprog() wherever we assign program pointers.
+ Fixes a memory corruption bug found with glean/api2 test.
+
+commit 05370685fedab9608d6b5b5de7042dac4289e522
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue May 6 23:08:02 2008 -0600
+
+ mesa: free shader program data before deleting shader objects.
+
+ Picked from master.
+ Fixes mem corruption seen when glean/api2 test exits.
+
+commit c75b2d74d88e9926cbd10aa1eee4aeba93ba4850
+Merge: a2ec857 42d4f89
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue May 6 22:07:58 2008 -0700
+
+ Merge commit 'anholt/drm-gem' into drm-gem
+
+commit a2ec8570aeb838700fa97b8c5ba6d9d383e5606e
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue May 6 22:06:41 2008 -0700
+
+ [intel-GEM] partial support for memory domains.
+
+ Doesn't deal with local modifications yet (need new kernel set_domain ioctl
+ for that to work). Also, guesses what domains are affected based on the
+ read/write bits set in the flags. Works for 915, probably not so much for
+ 965.
+
+commit 103ae5d16fd9fef566096570f731bb634a8025d4
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue May 6 22:13:06 2008 -0600
+
+ gallium: implement full reference counting for vertex/fragment programs
+
+ Use _mesa_reference_vert/fragprog() wherever we assign program pointers.
+ Fixes a memory corruption bug found with glean/api2 test.
+ Another memory bug involving shaders yet to be fixed...
+
+commit 10f6ae0355937615d137c79c060b9e5a923f0d65
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu May 1 19:29:25 2008 -0600
+
+ mesa: comments, whitespace
+
+commit 40db59038cc62a5a8e4f94cb069eeb1d9b95a1a9
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue May 6 18:14:21 2008 -0700
+
+ r5xx: FP: Add OPCODE_TXB.
+ Tex lookup with biased LOD. Should magically work.
+
+commit 20baf128ef39dca058636c1bff4c526a8879b3d5
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue May 6 17:21:30 2008 -0700
+
+ r5xx: FP: Make MOV/ABS look pretty.
+ We can't really do anything like emit_alu, so we're doing emit_mov instead.
+
+commit 38c5b148531b1f470956bb9d66757e7301ce0535
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Tue May 6 15:46:40 2008 -0700
+
+ Update make output for autoconf help
+
+commit 42d4f89264f193e8beae7ba975df3507b81b6da0
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue May 6 15:25:51 2008 -0700
+
+ GEM: Fix previous commit to avoid asserting when we run into reserved space.
+
+ These are the dwords that the reserved space is for.
+
+commit 6b0fd0f1572cd6af1e931b70f75852de25d32649
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 6 15:39:39 2008 -0600
+
+ gallium: re-enable temporarily disabled code in do_copy_texsubimage()
+
+commit 8eee0146f28285bdc778051afd89088685f2c3b6
+Merge: 9f948b8 7f74720
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Tue May 6 14:29:59 2008 -0700
+
+ Merge branch 'master' of ssh://git.freedesktop.org/git/mesa/mesa
+
+commit 9f948b8c335b099b305b55a2c176841a0354cdad
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Tue May 6 14:27:57 2008 -0700
+
+ Prevent makedepend from running multiple times
+
+ The default target in src/mesa/Makefile calls a recursive $(MAKE). With
+ parallel jobs, this causes makedepend to run twice. Instead, block on
+ the first make until depend has been created.
+
+commit c5e2b850ad53fcd1af62c838f8ee288e8ea9fb3d
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Tue May 6 14:00:43 2008 -0700
+
+ Always cleanup the makedepend backup files
+
+ Consistently cleanup the depend.bak files created by makedepend. Also,
+ realclean has been changed to use a single find command, which speeds it
+ up considerably.
+
+commit 96f52f089f42b4bca8fa5fb573c687d233851126
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue May 6 13:57:08 2008 -0700
+
+ GEM: Don't emit an extra MI_FLUSH in the batch since GEM handles it.
+
+commit 7f747204ea3b61e507b8bd48f33e8dd83f34705b
+Author: Michal Wajdeczko <Michal.Wajdeczko@intel.com>
+Date: Tue May 6 13:01:29 2008 -0700
+
+ Add support for ATI_separate_stencil in display lists.
+
+commit 296378b6c8b205048244746e260739448c4ee590
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 6 13:47:41 2008 -0600
+
+ gallium: create drawing surfaces as GPU_READ/WRITE only
+
+ Create different temporary surfaces for CPU_READ/WRITE when needed (such as
+ for glReadPixels, glAccum, some glCopy/DrawPixels, glCopyTexSubImage, etc).
+
+commit 973d0c014dba87308e358291de0730d38d50a733
+Author: Michal Danzer <michel@tungstengraphics.com>
+Date: Tue May 6 12:35:25 2008 -0600
+
+ gallium: create renderbuffer surface w/out CPU_READ/WRITE flags
+
+commit f7dbd18371f9cb6686b6a97642b3ca5577e83472
+Author: Michal Danzer <michel@tungstengraphics.com>
+Date: Tue May 6 12:34:34 2008 -0600
+
+ gallium: move setup of dest_surface in do_copy_texsubimage()
+
+commit a6ad4927740e5699f1a047f4c78f069f6a91c6ea
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed May 7 02:51:49 2008 +0900
+
+ gallium: Simple facility to dump and view images for debugging.
+
+commit 1562dd2c26d43bffa8c6bd08ec6128c750ad58ff
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue May 6 12:44:53 2008 -0700
+
+ r5xx: Emit an OUT instruction at the end of execution.
+ This should make TEX/TXP work right. (Note: "Should" is not "does.")
+
+commit fa465fb2b1ce4119e4ae8f9b64721f385f361ad9
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue May 6 12:42:40 2008 -0700
+
+ r5xx: We update max_temp_idx now, so no need to hard-code it.
+ This roughly doubles the speed of glxgears (GINAB) by allowing
+ more pixels to run concurrently.
+
+commit cba14d85a854df8b5f24342c072acf21813761b6
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Tue May 6 12:29:53 2008 -0700
+
+ Error consistently when running recursive make
+
+ When changing directories and running a sub-make, ensure that both the
+ cd and make commands propagate errors to the parent make.
+
+commit 171ba1d0d154f7fdeb712fd411f19e1ebddd3b55
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue May 6 12:18:07 2008 -0700
+
+ r5xx: Fix typo.
+ Gotta be more careful with my cut'n'paste, lawl.
+
+commit 06e2e1b87ce7db9f48b9d198d71d46636f7e6fe3
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue May 6 11:57:24 2008 -0700
+
+ r5xx: Use max_temp_idx.
+
+commit 50f7e6fb5f0754093e11b781b916034001d44a09
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Tue May 6 11:52:34 2008 -0700
+
+ Add .PHONY targets to top Makefile for non-file targets
+
+ When a make target doesn't result in a file of the same name, adding it
+ to a .PHONY target means make won't look for such a file, speeding the
+ build up a bit. This allows `make doxygen' to work since otherwise make
+ will consider the doxygen directory as up to date.
+
+commit e14ebbce41c8acee5f77633c6c536d92f84a5c20
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Tue May 6 11:28:43 2008 -0700
+
+ autoconf: Replace the configs/current symlink from config.status
+
+ Minor tweak so that running config.status will entirely recreate the
+ configure settings by replacing the configs/current symlink.
+
+commit 537bbe6dec780f6f85838fe7e6036579c509f8a6
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue May 6 10:51:08 2008 -0700
+
+ [intel-GEM] Add tiling support to swrast.
+
+ Accessing tiled surfaces without using the fence registers requires that
+ software deal with the address swizzling itself.
+
+commit 66f703dca938f7749edc717fd8f690aba2d6e936
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 6 08:40:41 2008 -0600
+
+ gallium: change calculate_first_last_level() to match gallium-tex-surfaces branch
+
+commit 809dd9089bae70cf35cea6a75258e700e7455738
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 6 08:37:28 2008 -0600
+
+ gallium: sync up texture/sampler changes with master
+
+commit d0279fc4b38c72356a341173317bcd45d9093f45
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue May 6 12:24:04 2008 +0100
+
+ gallium: Make sure to release texture surfaces (at the right time).
+
+commit 650c57f19398800dfdcf357b6e9ec7b68bfa34f1
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue May 6 12:23:16 2008 +0100
+
+ gallium: glCopyTexSubImage improvement.
+
+ Only get a texture surface for attempting an accelerated copy, and mark it for
+ GPU use only.
+
+commit 17adf04e5c1da72a51815f3fdb9de2f3a8149c1a
+Author: Dave Airlie <airlied@panoply-rh.(none)>
+Date: Tue May 6 18:52:47 2008 +1000
+
+ i965: fix googleearth in classic mode.
+
+ In classic mode googleearth triggered a case where vbos weren't getting accounted properly.
+
+commit 4c6c073f993e13da0b68f897a4221e6bb7875fbe
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue May 6 09:07:11 2008 +0100
+
+ gallium: Define util_sprintf for non-WIN32.
+
+commit 09e6be9b5782870f1f225653687e0d3e7be2a5a9
+Merge: 6361d6f f77442f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue May 6 07:45:28 2008 +0100
+
+ Merge commit 'origin/gallium-0.1' into gallium-tex-surfaces
+
+ Conflicts:
+
+ src/mesa/state_tracker/st_atom_sampler.c
+ src/mesa/state_tracker/st_cb_texture.c
+
+commit 6361d6f48d13ce481253faf106fba5c6a41488ed
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue May 6 14:57:18 2008 +0900
+
+ gallium: New pipe_screen interface to overlay a texture on existing memory.
+
+commit df4b49c2cedde60c02f869977ee426f280b2985b
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon May 5 22:08:05 2008 -0700
+
+ Dump buffer tiled status from intelPrintSAREA
+
+commit 7d016b76e22c0911f9a5ee024a2849096661ddd7
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Mon May 5 16:53:35 2008 -0700
+
+ autoconf: Sanitize asm build for cross-compiling and --enable-*-bit
+
+ Two fixes to the asm configuration:
+ - Disable when the user is cross-compiling for x86 or x86_64 since it
+ requires running an executable compiled for the target host.
+ - If the user has specified --enable-32-bit on x86_64 or --enable-64-bit
+ on x86, respect that and choose the correct asm architecture.
+
+commit 113f5b14cbab2d62d5ca470f4b1f82989d3a50fe
+Author: Markus Amsler <markus.amsler@oribi.org>
+Date: Tue May 6 01:32:40 2008 +0200
+
+ r300: fragment.position input needs no blanking out, it's correctly handled in insert_wpos.
+
+ fixes bug 15447
+
+commit cc77e8f1131fc66e8405dc4d3b03582db1f54ca4
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Mon May 5 14:38:22 2008 -0700
+
+ autoconf: Error for incompatible version of libdrm
+
+ The DRI modules can only be built against libdrm master (currently
+ version 2.3.1), so this should be enforced to save people from trying to
+ build against older versions.
+
+ Added a section at the top of the script to consolidate all required
+ versions.
+
+commit e9a2a67745d46509928263f0556f5c0a4211b94f
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon May 5 15:45:15 2008 -0700
+
+ GEM: Allocate the right number of relocs, avoiding heap smashing.
+
+commit 1decab06d15f0dead0a544dbed2f10041caac844
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon May 5 15:44:49 2008 -0700
+
+ GEM: Include target buffer handle in relocation debug.
+
+commit 297e16cc7acc45b7946e03febd370ecba7835750
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Mon May 5 15:42:53 2008 -0700
+
+ autoconf: More quoting, just to be safe
+
+commit a2b73c74b0843aabea629e2c7ec7f359ddd47caf
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Mon May 5 15:16:52 2008 -0700
+
+ Ignore xdemos/sharedtex
+
+commit e6a0609f2efff83e58ddd7eb1d2c8e1ac47d9f6d
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Mon May 5 15:16:22 2008 -0700
+
+ autoconf: Allow non-pkg-config builds to succeed
+
+ The variable no_x was being set to yes when libX11 was not found through
+ pkg-config. This causes AC_PATH_XTRA to skip its search for the X11
+ libraries, which was not the intended effect. Also switched to using the
+ PKG_CHECK_EXISTS autoconf macro.
+
+commit f77442fbd3b539aa3da927630c12c3a1a377f6da
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Mon May 5 23:09:38 2008 +0100
+
+ fix _mesa_ffs for alternative compilers
+
+commit 736374c1052be647bd7c377344acf8db0af4ddfc
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Mon May 5 23:08:59 2008 +0100
+
+ declare atoms as extern
+
+commit 00994ac08cb84937ca1e35b7a556d8924229bacb
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Wed Apr 30 15:06:00 2008 -0700
+
+ autoconf: Scrape the version from configs/default
+
+ Added the make script version.mk to print the various version numbers
+ from configs/default. This is used to substitute the version in autoconf
+ rather than duplicating it in both places.
+
+commit 01d1a292bf53ab949cf2075f18986b58fa468a61
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon May 5 14:20:18 2008 -0700
+
+ GEM: Set validate index to keep the same buffer from being duped on the list.
+
+commit be59d52ca0c0a5b93963297d596972fccb792b69
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon May 5 14:15:40 2008 -0700
+
+ Print GEM handles instead of BO pointers in debugging.
+
+ small integers are much prettier, and let me correlate to DRM debug output.
+
+commit 5290ec4756eb33ec27e06bb68d64c33472276ac3
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon May 5 13:45:03 2008 -0700
+
+ Initialize bufmgr_gem->validate_array[i].offset.
+
+ This is just cosmetic, to produce less scary values when the ioctl fails and
+ doesn't return values there.
+
+commit 1f810b85b1e9393c8e606d2f28250cbb19cf916b
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon May 5 13:40:50 2008 -0700
+
+ Make intel_{batch,exec}_ioctl return an error code so we can recover better.
+
+commit 87ccc03736166db9ef85f3eee3723b82f395d3cf
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon May 5 10:46:27 2008 -0700
+
+ Add intel_bufmgr_gem.c to i915
+
+commit 367b1e35dc1dbeda65709b0ab4f7983d0c7a6cc2
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon May 5 10:45:30 2008 -0700
+
+ Temporarily disable intel pixel ops on i915 for GEM
+
+ Instead of attempting to fix these for GEM, just disable until GEM is
+ working.
+
+commit 2ed0f7278e389ecc0cf568518799a9a8f33b1365
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Sat Apr 26 12:34:11 2008 +0300
+
+ glcore: Set all external variables in configuration
+
+ based on patch by Dan Nicholson <dbn.lists@gmail.com>
+
+commit 131a1fbc91725c11e4822b82e58b94ec3a711476
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon May 5 23:58:37 2008 +0900
+
+ util: Alternative implementation for standard c library string functions.
+
+commit a3195e9d4eeb44032c0435f09b3e4a3dbf606777
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon May 5 23:57:51 2008 +0900
+
+ scons: A few more compiler flags adjustments to match winddk.
+
+commit 612f44266cba78c4e5677a2f992581fdaa17f4e4
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon May 5 19:45:21 2008 +1000
+
+ nouveau: bitmap texcoord bias has been removed
+
+commit 33d9e213ee47aab32f662caf3e7c07c2697befbe
+Merge: 1e6191e 736f535
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon May 5 19:44:16 2008 +1000
+
+ Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1
+
+commit 66a49df9cba8f17059be420126346a4234e81cba
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon May 5 18:42:27 2008 +1000
+
+ r500: consolidate tex instructions
+
+ you cannot change a tex into an output so this means we have to actually
+ do another instruction after this one to mov if its an output
+
+commit 697680d687544c4495f05d5baa83659fb877477b
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon May 5 18:15:40 2008 +1000
+
+ r500: mov cleanup macros
+
+commit 3816ae9ce835691e690d68f37ff6b01207068870
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon May 5 18:05:59 2008 +1000
+
+ r500: make tri-param work
+
+ This makes constant work which are 32-bit on r500 unlike r300.
+
+ Switch MOV to using MAD no idea if we might have negative things MAX 0,-5 is
+ likely to do the wrong thing..
+
+commit 1f420b008bd4bc7b5fe7809e7f7506ef5dcb7209
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon May 5 16:41:07 2008 +1000
+
+ r500: make sure we emit max temp atom.
+
+ We don't appear to update max_temp_idx yet anywhere though
+
+commit 66a5562ce2906fbf5b96d1cee18f9a31a78c4360
+Author: Dave Airlie <airlied@linux.ie>
+Date: Mon May 5 23:49:50 2008 +1000
+
+ r300: fix swtcl texrect path properly.
+
+ We really need to update the shader state so the texrect parameters work.
+
+ This should fix compiz looking crappy on rs480 and rs690
+
+commit 2fa2dd3908c783663ca421134cde82e9b6a38a0d
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Mon May 5 13:15:01 2008 +0800
+
+ i965: Don't cast the result of brw_prepare_vertices to an unsigned value.
+ Negative value means other errors, not aperture overflow. fix bug #15752
+
+commit a7016949f27f7612ffba7a4d0c5e6280cb3e66ba
+Author: Dave Airlie <airlied@linux.ie>
+Date: Mon May 5 23:49:50 2008 +1000
+
+ r300: fix swtcl texrect path properly.
+
+ We really need to update the shader state so the texrect parameters work.
+
+ This should fix compiz looking crappy on rs480 and rs690
+ (cherry picked from commit 66a5562ce2906fbf5b96d1cee18f9a31a78c4360)
+
+commit 2f0a75f0040b0de339c78448844a7b18ab995c46
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sat May 3 21:31:22 2008 +1000
+
+ r300: add R300_NO_TCL to allow testing of non-tcl on tcl cards
+ (cherry picked from commit 026ef8111a94f6449dfa5e5cc0ae91fca4e68c0c)
+
+commit acb47dee69a165f242d88f9eac60fc5646e33410
+Author: Markus Amsler <markus.amsler@oribi.org>
+Date: Fri May 2 01:58:18 2008 +0000
+
+ r300: Set correct VAP_CNTL per vertex program.
+
+commit ffde4e03cf178719c06c300939f8f469d7fc5e9c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat May 3 17:01:20 2008 -0600
+
+ gallium: fix some BaseLevel, lastLevel bugs
+
+commit 63503f284863530d628f26bea27f2390aca518e5
+Author: Markus Amsler <markus.amsler@oribi.org>
+Date: Sat May 3 12:55:45 2008 -0400
+
+ r300: Set correct VAP_CNTL per vertex program.
+
+ adapted from Markus' patch on bug 15386 with updates for non-TCL
+ and R500.
+
+commit b79a769b2d878d6e8e55f675209ffa7f3f2a6f68
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat May 3 09:09:57 2008 -0700
+
+ r5xx: Fix for loops.
+ Thanks to dli in IRC for pointing this out.
+
+commit 4ef195a36946c8d587d129abd54683c73eecc304
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat May 3 09:08:07 2008 -0700
+
+ r5xx: Fix dumb shader.
+ For some reason, FGLRX doesn't actually set R500_US_INST_TEX.
+ Let us not make that same mistake.
+
+commit 0f07e0aea3c5eb5bfb307aa50e04f088b889ddfc
+Merge: a03e261 e081603
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Sat May 3 08:39:15 2008 -0700
+
+ Merge branch 'r500test' of git://people.freedesktop.org/~csimpson/mesa into r500-support
+
+commit a03e261193bdee1ae1cf3e12af3455cbf085fcc7
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sun May 4 04:17:15 2008 +1000
+
+ r300: remove debugging code
+
+commit d3eb5df259698c6f4080f3e988fbdaaba9698636
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sun May 4 04:13:56 2008 +1000
+
+ r300: setup vte according to inputs
+
+commit 736f535b4f1c5e6912b5b2fe9415a3b44a678844
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat May 3 09:26:25 2008 -0600
+
+ gallium: fix warnings
+
+commit bc57a7c9f7e5f70d77e7f02da2a214a56fad1d80
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat May 3 09:08:42 2008 -0600
+
+ Press <space> to reset limit/bias values, clean-up limit/bias printf
+
+commit 97709950e794ab24d3e1d5411a88e305f3878487
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat May 3 09:08:42 2008 -0600
+
+ Press <space> to reset limit/bias values, clean-up limit/bias printf
+
+commit 3837d401cc665eccf079eba5822b1a3eec565b81
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat May 3 09:07:11 2008 -0600
+
+ gallium: fix sampler->max_lod computation
+
+commit 3668d20a9f382a174e002dc9b226710bdd983992
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat May 3 08:58:44 2008 -0600
+
+ gallium: fix computation of sampler->min_lod
+
+ The texture BaseLevel is accounted for in texture layout so it doesn't factor
+ in here. May also need to adjust max_lod...
+
+commit 8e6a3807981bb96bb6747683dbc9f92ae7117dd2
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat May 3 15:41:05 2008 +0100
+
+ gallium: add pipe surface layout value (Roland Scheidegger)
+
+commit 37924cf175b5f61ca85dab685ec5d7879519ebc4
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sat May 3 22:08:11 2008 +1000
+
+ r300: update r300 rs unit for swtcl need to fix r500 most likely
+
+commit cea4f1464b00e025859b3b5dc415ce135afebd92
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sat May 3 21:31:47 2008 +1000
+
+ r300: recombine the vap input route 0 code and clean
+
+ This gets non-tcl cards working again on this branch..
+
+ at least texrect and glxgears
+
+commit 026ef8111a94f6449dfa5e5cc0ae91fca4e68c0c
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sat May 3 21:31:22 2008 +1000
+
+ r300: add R300_NO_TCL to allow testing of non-tcl on tcl cards
+
+commit e081603850cb4e3839a76f0bfbb90cff922dff03
+Merge: 568d369 37924cf
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri May 2 20:49:13 2008 -0700
+
+ Merge branch 'r500-support' into r500test
+ Bringing the FPS code up-to-date.
+ Conflicts:
+
+ src/mesa/drivers/dri/r300/r300_emit.c
+ src/mesa/drivers/dri/r300/r300_ioctl.c
+ src/mesa/drivers/dri/r300/r300_state.c
+ src/mesa/drivers/dri/r300/r300_swtcl.c
+ src/mesa/drivers/dri/r300/r500_fragprog.c
+ src/mesa/drivers/dri/r300/r500_fragprog.h
+
+commit 81ec0545c93d57f72cff5099c6a34f04e9257a38
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri May 2 18:25:00 2008 -0700
+
+ Don't forget to set handle of shared buffers.
+
+ (And fix a nearby whitespace nit)
+
+commit 3d19a095cda30ac8abdbe26cd3b664a4b97c899b
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri May 2 18:24:13 2008 -0700
+
+ Fix GEM execbuf ioctl argument.
+
+commit 7349f218b47b21595a13103aaa45ddbfdc14dd13
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri May 2 17:13:45 2008 -0700
+
+ Fix to use GEM execbuf instead of TTM.
+
+commit ef33e76cebed39551aabce397d165d3990ba517c
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri May 2 17:00:47 2008 -0700
+
+ Minor fixups to get GEM to the point of execbuf ioctl.
+
+commit 568d369d7747c6cc2a421a816c85d888ccfc9957
+Merge: 92a0e93 1226aba
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri May 2 15:57:57 2008 -0700
+
+ Merge branch 'r345-cleanup' of git://people.freedesktop.org/~agd5f/mesa into r500test
+ Adding Alex's cleanup patches. This adds r5xx TCL! Whoo-hoo!
+ Conflicts:
+
+ src/mesa/drivers/dri/r300/r300_state.c
+ src/mesa/drivers/dri/radeon/radeon_chipset.h
+ src/mesa/drivers/dri/radeon/radeon_screen.c
+
+commit 92a0e93ac33ceb64a4e7e930223950d4529cef37
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri May 2 15:33:02 2008 -0700
+
+ Make radeon stuff build again.
+ Yet more evidence that I am incompetent with git.
+
+commit eb10cdc838fc31ea2cf59f556f6f7d8b072f5bae
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri May 2 14:11:19 2008 -0700
+
+ [intel] Fix build for GEM. TTM is now disabled, and fencing is gone.
+
+ Fencing was used in two places: ensuring that we didn't get too many frames
+ ahead of ourselves, and glFinish. glFinish will be satisfied by waiting on
+ buffers like we would do for CPU access on them. The "don't get too far ahead"
+ is now the responsibility of the execution manager (kernel).
+
+commit 6e004e973bcc5b789ee3f70b70f5d728c8b8ea71
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 2 14:00:35 2008 -0600
+
+ gallium: remove 0.5 vertex biases in set_vertex_data()
+
+ These should not be needed and were causing garbage to appear along the
+ edges of the mipmap images.
+
+commit 07aaf3a7a730d65052ec34a82cce9b373673b556
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 2 14:00:08 2008 -0600
+
+ gallium: remove obsolete PIPE_CAP_BITMAP_TEXCOORD_BIAS
+
+commit 89bba44e969f15bf20da6d700c493237b095a588
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri May 2 11:52:52 2008 -0700
+
+ Add intel_bufmgr_gem for new graphics execution manager.
+
+commit 3323ccb803282dddcf1e403df33d00eaa0fbd0f8
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri May 2 12:25:48 2008 -0700
+
+ [intel] Warnings fixes.
+
+commit 6acb94f89e3314132190d235634a5e3423826757
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri May 2 12:25:12 2008 -0700
+
+ [intel] Merge intel_ioctl.h. Not sure how this slipped by in the .c merge.
+
+commit ae09292a6e659eabc566a0fc2b1f6fa5e5fd8b36
+Author: Alex Deucher <alex@botch2.com>
+Date: Fri May 2 15:20:28 2008 -0400
+
+ R300: fix rebase conflicts
+
+commit 9a82fde43aaaeab4370126d549aee8061b3a6937
+Merge: b15c49e eff6f12
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri May 2 12:15:44 2008 -0700
+
+ Merge branch 'r500test' of git://people.freedesktop.org/~airlied/mesa into r500test
+
+ Conflicts:
+
+ src/mesa/drivers/dri/r300/r300_cmdbuf.c
+ src/mesa/drivers/dri/r300/r300_ioctl.c
+ src/mesa/drivers/dri/r300/r300_state.c
+ src/mesa/drivers/dri/r300/r500_fragprog.c
+ src/mesa/drivers/dri/r300/r500_fragprog.h
+ src/mesa/drivers/dri/radeon/radeon_chipset.h
+ src/mesa/drivers/dri/radeon/radeon_screen.c
+
+commit 9e7ae34da5aeb9a38c3f4280f6d9648faad48df5
+Author: Alex Deucher <alex@botch2.com>
+Date: Fri May 2 13:56:56 2008 -0400
+
+ R3/4/5: fix TCL on r5xx, cleanup PVS code
+
+commit a94cd0d77407a8cf5c151e1f5135eba5d11fdb2b
+Author: Alex Deucher <alex@botch2.com>
+Date: Fri May 2 13:03:48 2008 -0400
+
+ R300: fix VAP_OUTPUT_VTX_FMT_1 defines
+
+commit d5448ceb956d1884bf7aac4667b79a0905fa4166
+Author: Alex Deucher <alex@botch2.com>
+Date: Fri May 2 12:48:39 2008 -0400
+
+ R300: cleanup VAP_CLIP_CNTL
+
+commit e61dadf3de3084157f25ce0fbcc07990bb44aae5
+Author: Alex Deucher <alex@botch2.com>
+Date: Fri May 2 12:29:40 2008 -0400
+
+ R300: clean up VAP_PROG_STREAM_CNTL* register usage
+
+commit 2bd26f4afa4f87d3dd2a8b9715455fc3f5a05046
+Author: Alex Deucher <alex@botch2.com>
+Date: Fri May 2 10:54:20 2008 -0400
+
+ Update comment
+
+commit e3721a3b3fca5ad7d957ae95252405da0740fbf6
+Author: Alex Deucher <alex@botch2.com>
+Date: Fri May 2 10:51:40 2008 -0400
+
+ R5xx: various updates
+
+ - fixup VAP_CNTL setup
+ - remove extra instruction in r5xx passthrough shader
+ - add notes about pipe config
+
+commit 831fc138c1617f5cb49da589ea5126c8eda364a4
+Author: Alex Deucher <alex@botch2.com>
+Date: Thu May 1 16:02:58 2008 -0400
+
+ R5xx: Add R5xx pci ids
+
+commit 28904e54d2a1bae009cbb88088b81e8d5bbd15d5
+Author: Dave Airlie <airlied@linux.ie>
+Date: Wed Apr 16 20:42:15 2008 +1000
+
+ fixup r500 bits for renaming
+
+commit de9c1c3627de778671c0fa1215a2c5e24d4374dc
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sat Mar 22 11:00:25 2008 +1000
+
+ r500: fixup fake shader to keep gears going
+
+commit fbab11e9b08d107b04d53833286da1c1487c2708
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sat Mar 22 10:56:48 2008 +1000
+
+ r500: enable gb tiling for r5xx
+
+commit 6864220c28c95991cf9577892156d670bd184007
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sat Mar 22 10:55:32 2008 +1000
+
+ r500: fixup support for emitting fragment program to hardware.
+
+ Also fixup the constant emission
+
+ this breaks glxgears from what I can see but its another step to correctness
+
+commit 3b7c5bfb98cd4d3b675ac39ec62d0fa71a66a6dd
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Mar 21 17:05:29 2008 +1000
+
+ r500: setup fragment program constant emission atom
+
+commit 6443da0865a6ad8bdd7abc65a9621ba329fcb756
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Mar 20 14:34:04 2008 +1000
+
+ r300: add rv530 pci id for the t60p laptop
+
+commit c07534dc719f53c0e59d59f3bd7dd25d1d32747c
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Mar 20 14:30:59 2008 +1000
+
+ r300: this code really shouldn't be here.
+
+ For R500 just ignore it for now while I do something interesting like
+ run glxgears.
+
+commit c0cb9bc84c1997d790d0b7efa8ed94fc601d7d19
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Mar 20 14:21:10 2008 +1000
+
+ mesa: cleanup state emission and rs for r500
+
+ trivial clear app now renders
+
+commit a453b3154e063c3e934cb90a546e984a758dd14f
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Mar 20 13:55:56 2008 +1000
+
+ r500 RS unit setup
+
+commit ed1584aed892e9004a96b915c12a1adbc6b419f0
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Mar 19 16:29:11 2008 +1000
+
+ more r500 vs r300 kickin
+
+commit 5a143e91dcaf64d77694b85671c214f93e3e8512
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Mar 17 21:09:49 2008 +1000
+
+ some basic r500 portage
+
+commit 8aa98a409b16cfd1a035c3f60208207eb1cc4d41
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Mar 17 19:05:15 2008 +1000
+
+ r500: fragprog
+
+commit b15c49e59bdc149b978d2b35a4efcc99d15f16b2
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Fri May 2 10:15:10 2008 -0700
+
+ r5xx: Fragprog shader now handles TEX/TXP correctly.
+
+commit 029cb1fd0f576dd7587bc306b126318fbfcdde2d
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Thu May 1 11:57:29 2008 -0700
+
+ Start of TEX/TXP support.
+ Still having problems with temps and consts, though...
+
+commit b5246de562706aa2f423edaa060f4530da84f3a0
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Apr 29 23:13:00 2008 -0700
+
+ Added OPCODE_ABS, slightly fixed ADD/SUB
+
+commit 6e96ea535a8fe4d2487fed27c06feaeef449470d
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Apr 29 13:04:39 2008 -0700
+
+ Initial r5xx fragment program compiler support.
+ Includes fallback shader and a handful of working opcodes.
+
+commit c02d1863d1bfa87c8c4fdd0c36f90245613d5bbd
+Author: Corbin Simpson <MostAwesomeDude@gmail.com>
+Date: Tue Apr 29 13:03:32 2008 -0700
+
+ Add chip id 71D5 (RV530 M66) to radeon_chipset.h
+
+commit d06e61aa80fcf6d9681d5112f0625b1602975aed
+Author: Dave Airlie <airlied@linux.ie>
+Date: Wed Apr 16 20:42:15 2008 +1000
+
+ fixup r500 bits for renaming
+
+commit a3996ba2d1b43795c289d3e59e561e4fc84d9b7e
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sat Mar 22 11:00:25 2008 +1000
+
+ r500: fixup fake shader to keep gears going
+
+commit 8e33a83b6820af84862c45c30829a8ef52578743
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sat Mar 22 10:56:48 2008 +1000
+
+ r500: enable gb tiling for r5xx
+
+commit 70335540c68a35121979ac63d976fb5edc1d68ca
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sat Mar 22 10:55:32 2008 +1000
+
+ r500: fixup support for emitting fragment program to hardware.
+
+ Also fixup the constant emission
+
+ this breaks glxgears from what I can see but its another step to correctness
+
+commit 14c3bdb3f7de153d93eda13980275d2840d62016
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Mar 21 17:05:29 2008 +1000
+
+ r500: setup fragment program constant emission atom
+
+commit e46c3d7bcf000803e2a7d7339fe36db4fb97cf62
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Mar 20 14:34:04 2008 +1000
+
+ r300: add rv530 pci id for the t60p laptop
+
+commit 99e75135ee5437e47bb64983dbb2deaef131f2d6
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Mar 20 14:30:59 2008 +1000
+
+ r300: this code really shouldn't be here.
+
+ For R500 just ignore it for now while I do something interesting like
+ run glxgears.
+
+commit 9d9f66cc8d57dc16bb94c092b3821b56afce6cab
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Mar 20 14:21:10 2008 +1000
+
+ mesa: cleanup state emission and rs for r500
+
+ trivial clear app now renders
+
+commit a87914993d2d4a5ed32adfe16e2a2ac006d997c0
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Mar 20 13:55:56 2008 +1000
+
+ r500 RS unit setup
+
+commit 55418dc87d132875feb50c2bd9531b5f5ed13334
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Mar 19 16:29:11 2008 +1000
+
+ more r500 vs r300 kickin
+
+commit 2ffa112ed32cf8123e5177a0fe2c12130c6f78c7
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Mar 17 21:09:49 2008 +1000
+
+ some basic r500 portage
+
+commit cd66f0e2d9e79b03b4773ccacf758fd3d141ccab
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Mar 17 19:05:15 2008 +1000
+
+ r500: fragprog
+
+commit 1226aba119c46c09ec6620dc0be29b63fb3440a7
+Author: Alex Deucher <alex@botch2.com>
+Date: Fri May 2 13:56:56 2008 -0400
+
+ R3/4/5: fix TCL on r5xx, cleanup PVS code
+
+commit 99df379b2c5b8e4e2ee7e5f2af864daf0a9eb1f7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 2 11:12:15 2008 -0600
+
+ gallium: set template.target = PIPE_TEXTURE_2D
+
+commit 25d9f2dd247f9d9cc4bb18032d10542fd67ccea2
+Author: Alex Deucher <alex@botch2.com>
+Date: Fri May 2 13:03:48 2008 -0400
+
+ R300: fix VAP_OUTPUT_VTX_FMT_1 defines
+
+commit b2021e7c06a9ec13b82eeeb352ad2408fe060518
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri May 2 17:56:01 2008 +0100
+
+ gallium: identify depth-stencil textures
+
+ And don't use the display-target path to allocate them.
+
+commit 7849ccb2a7dba3b9d751acaac9dd9aec3abe3b59
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri May 2 17:55:22 2008 +0100
+
+ brw: remove dead code
+
+commit 734ef96d5f7dae620115f328296d7e560e624042
+Author: Alex Deucher <alex@botch2.com>
+Date: Fri May 2 12:48:39 2008 -0400
+
+ R300: cleanup VAP_CLIP_CNTL
+
+commit ce509401738e7073de94a2b7fc41461c52a73da0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 2 10:43:29 2008 -0600
+
+ gallium: minor code, comments clean-up
+
+commit 479d19f5a2bca79104f3b7f94147e94a52a27fea
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 2 10:38:39 2008 -0600
+
+ gallium: in st_finalize_texture() check texture dimensions
+
+ Check dimensions in addition to target, format, etc.
+ Fixes a bug where we failed to detect a change in texture image sizes and
+ wound up using the old texture data.
+
+commit 3d53d38d5e35386de4793162b9dd32e171927059
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 2 10:37:20 2008 -0600
+
+ gallium: new debug code (disabled)
+
+commit db1fc51ccc24745e83bd2f635bed97787873341b
+Author: Alex Deucher <alex@botch2.com>
+Date: Fri May 2 12:29:40 2008 -0400
+
+ R300: clean up VAP_PROG_STREAM_CNTL* register usage
+
+commit 5cb29dae06a4d97dc40ac7573e7ae7211e329b3c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri May 2 16:56:06 2008 +0100
+
+ i915: update to new display target allocation
+
+commit a73ae3d5eb8419feab5aea26573aa41b72f941eb
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri May 2 16:46:31 2008 +0100
+
+ gallium: Add texture usage flags, special-case allocation of display targets
+
+ For many envirionments it's necessary to allocate display targets
+ in a window-system friendly manner. Add facilities so that a driver
+ can tell if a texture is likely to be used to generate a display surface
+ and if use special allocation paths if necessary.
+
+ Hook up softpipe to call into the winsys->surface_alloc_storage()
+ routine in this case, though we probably want to change that interface
+ slightly also.
+
+commit cc2af38f2afa0e6003c8338d51c4f5fbabde40e1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 2 09:26:17 2008 -0600
+
+ gallium: fix typos, comments, whitespace
+
+commit cff8d3bdcbf78b57b52a2f60c54e5a3cae286137
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 2 08:22:25 2008 -0600
+
+ gallium: remove ^M (CR) chars
+
+commit e9513bd403c0ba0b004d2414fda6736b38cecfd5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 2 07:54:11 2008 -0600
+
+ gallium: code movement (XSHM code)
+
+commit 522f11b63279da6bc487f5b6fd71ecbba7aead52
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 1 16:21:43 2008 -0600
+
+ set TextureID = NULL after deleting the array
+
+commit 8a5bf456dcb84b315152b87e33c8736248ad0a46
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 1 15:29:25 2008 -0600
+
+ gallium: comments, clean-ups
+
+commit d4074c509b5d28be0a2ec51d40329e1aed7047ef
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Fri May 2 16:22:20 2008 +0100
+
+ gallium: Reallocate pipe_texture in st_TexImage if the texture object was used.
+
+ Fixes problems with interleaved glTexImage and rendering calls.
+
+commit be8a42b4fcad0e0c7803e63f9c4b488c2f618cef
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri May 2 15:25:37 2008 +0000
+
+ snprintf -> util_snprintf
+
+commit 45077fc3232eebf2b657c552afa92b24e4770bb0
+Author: Alex Deucher <alex@botch2.com>
+Date: Fri May 2 10:54:20 2008 -0400
+
+ Update comment
+
+commit 279ea105d8e91aa922ad946b66ee076e5e7e21c7
+Author: Alex Deucher <alex@botch2.com>
+Date: Fri May 2 10:51:40 2008 -0400
+
+ R5xx: various updates
+ - fixup VAP_CNTL setup
+ - remove extra instruction in r5xx passthrough shader
+ - add notes about pipe config
+
+commit 6c15a70b75b1625b69790f98f2f44e9ae4435f6a
+Author: Michal Krol <michal@ubuntu-vbox.(none)>
+Date: Fri May 2 16:12:55 2008 +0200
+
+ tgsi: Enable fast high precision rsqrt.
+
+commit 17058e07469f2dc5b47b4f820bd5a31b7ed9177c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri May 2 16:02:18 2008 +0200
+
+ tgsi: Implement fast rsqrtf. Not tested, inactive.
+
+commit 4a159132082429d5492f5298c2ccb0df551c9f65
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri May 2 14:27:10 2008 +0100
+
+ gallium: remove usage of winsys->surface_alloc_storage from state tracker
+
+ Allocate a texture containing storage instead.
+
+ Also clean up ACCUM buffer allocation slightly -- drivers will need
+ some changes to texture allocation logic to accomodate the concept of
+ a texture that will only as image storage by the CPU, but it's cleaner
+ than it was.
+
+commit 25d60838b5dfdbde54f19f26b41977fc25011474
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri May 2 12:17:11 2008 +0100
+
+ gallium: fix build after merge
+
+commit c3a8a41faabed4c9b84a6fbaf7a86a089b8fcbba
+Merge: 731e7b9 5e49037
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri May 2 12:00:13 2008 +0100
+
+ Merge branch 'gallium-0.1' into gallium-tex-surfaces
+
+commit 5e49037caa4cf9062efd0bbebf67b467684b633b
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri May 2 10:34:58 2008 +0000
+
+ revert mode change back to 644
+
+commit 7e4bc84dfc6c05cea3d6fc52173708ddeb33cf45
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri May 2 10:31:46 2008 +0000
+
+ inline -> INLINE
+
+commit 54507125e735ffa595e252282eaabf38095c21e1
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri May 2 10:08:03 2008 +0000
+
+ Some changed for non-C99 compilers
+
+commit 731e7b961cd081ac6a64b636937716ce3a623c2c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 1 18:13:46 2008 +0100
+
+ re-add pipe_surface map/unmap inlines
+
+commit 251db95945c6b484a093336e7bf12aed6091de54
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 1 17:55:52 2008 +0100
+
+ cso: can memcmp-compare pipe_framebuffer_state now it includes fb dimensions
+
+commit a1cb0c2b915532e934b5d37bd0c550b1bfcc77ba
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Fri May 2 11:13:58 2008 +0200
+
+ tgsi: Do not assume IN and OUT registers are declared sequentially.
+
+commit 36f93c5e5159ebd99a5a4504efccdf6c5bf40716
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Fri May 2 10:20:53 2008 +0200
+
+ tgsi: Fix build on Win32.
+
+commit 9d151a2517de3f83d676624a21b4f73d5accecbe
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Thu May 1 16:39:54 2008 +0200
+
+ tgsi: Dump destination register modulate modifier.
+
+commit 869b0836c1c4339de91c9918ae07926c846a004c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu May 1 18:56:20 2008 -0600
+
+ gallium: temporarily disable broken SSE2 code for ARL opcode
+
+commit 3b63bc8ac6db7af4077f12cfd44876a9d43cc6ec
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu May 1 18:49:20 2008 -0600
+
+ gallium: implement TGSI_OPCODE_EXP
+
+commit 7a4313b63bcd06318437d384875472e7139070a1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu May 1 18:42:01 2008 -0600
+
+ gallium: implement TGSI_OPCODE_LOG
+
+commit bc4952987419d77fabbf4fa43913f6e488bdb211
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 1 15:21:40 2008 -0600
+
+ added cast for MSVC
+
+commit c1abd758c51247ebaf3d4808a77513d7814205cd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 1 15:19:00 2008 -0600
+
+ gallium: remove the unused softpipe_winsys code
+
+ The struct is still there though until all winsys layers are updated
+
+commit 4687272b20f92184a838fe2187857162a0a90a06
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 1 15:08:05 2008 -0600
+
+ gallium: use screen->tex_surface_release()
+
+commit 6e19f82c37191dabcdd882d0edac98a2ca9c11e4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 1 14:59:34 2008 -0600
+
+ fix conversion of GLfloat display list IDs
+
+ Use floor() to convert to int (per Mark Kildard and the SI).
+ Also, change translate_id() to return a signed integer since we may be
+ offsetting from GL_LIST_BASE.
+
+commit f25b37c1da2c9f1109b9169b89216c2be4750f98
+Author: Alex Deucher <alex@botch2.com>
+Date: Thu May 1 16:02:58 2008 -0400
+
+ R5xx: Add R5xx pci ids
+
+commit f067c6c452bdd5f5cc6b0f6b2f79fb3fc1162822
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 1 20:45:15 2008 +0100
+
+ tgsi: remove some bogus win vs. linux crud
+
+ Pass arguments properly in linux now. Still need to change this to use
+ a single calling convention on both platforms.
+
+commit 2c89b75e36fd35d5a003107d1d2f97b537321f95
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 1 20:44:41 2008 +0100
+
+ rtasm: learn another version of push
+
+commit 2004b8a769110456e66d040398eacf25c8592710
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 1 20:42:44 2008 +0100
+
+ draw: label fn args -- shouldn't this be defined where the fn is created?
+
+commit fb3623b235f5caa9d76e656b1e5eda797c7c73eb
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 1 20:41:03 2008 +0100
+
+ rtasm: fix labels after (not so) recent change to allow dynamic fn growth
+
+ Using char * for labels doesn't work if you realloc the function
+ during assembly and free the old storage...
+
+commit b8936ca1c22de7b0cb695ee3b392e4473fd17aa0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 1 18:50:33 2008 +0100
+
+ i915: avoid crashing on bad parameter
+
+commit 26bcef898af4e6dfd578783ed33818a2bd38b06d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 1 18:49:52 2008 +0100
+
+ i915: fix warning
+
+commit f30285e99c1e158971855b12331df3da38555004
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 1 18:49:07 2008 +0100
+
+ softpipe: fix warning
+
+commit 0000792a2006a2c8fde1b54d070490a625fb8435
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 1 18:48:28 2008 +0100
+
+ sct: fix bug in remove_context_from_surface
+
+commit 44791e2d78f894e62ab00b85277ee3ad4515519f
+Merge: 6e19f82 eff6f12
+Author: Alex Deucher <alex@botch2.com>
+Date: Thu May 1 14:51:26 2008 -0400
+
+ Merge branch 'r500test' of git://people.freedesktop.org/~airlied/mesa into r345-cleanup
+
+commit de7277f81a0f4330f11ec429bf46e93d0a748dfe
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu May 1 17:31:39 2008 +0100
+
+ gallium: Set sampler->min_lod instead of always reallocating pipe_textures.
+
+commit f1f52a8be98efa26c7c9bc480a2483fc2106d654
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu May 1 17:30:17 2008 +0100
+
+ gallium: Notify driver of texture updates in util_blit_pixels().
+
+commit 419f3c447520d1dc95c529afa693ffe3fffe5560
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 1 15:45:51 2008 +0100
+
+ tgsi: restore HIGH_PRECISION setting
+
+commit afe67db8038855d9f7b4ce46b610701c55736c1f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 1 15:36:14 2008 +0100
+
+ tgsi: add some const qualifiers to immediate pointers
+
+commit bf1e120b318ba8cbda7316fb8862acd44a3b459f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 1 15:32:03 2008 +0100
+
+ mesa: squash harmless warning
+
+commit 727257f32002544658219d2e0163993c1cbc5644
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 1 15:31:17 2008 +0100
+
+ rtasm: assert stack is fully popped in return
+
+commit 6980823da9120d8d8533f7a78eac2d63dece430f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 1 15:30:50 2008 +0100
+
+ draw: avoid aliasing warning
+
+commit 47aa416821b69d3afa33c79ec8cb8499688a0e8e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 1 15:27:53 2008 +0100
+
+ tgsi: use EBX everywhere, be sure to push/pop it
+
+commit 7810e7f623a47978cdd1a167cc9e6b743d56d949
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 1 15:13:46 2008 +0100
+
+ tgsi: use x86_fn_arg instead of get_argument() -- it knows about push/pops to the stack
+
+commit 1e4217e1b857c6a3c5da7d1eceb74683bf0b9a00
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 1 14:51:18 2008 +0100
+
+ tgsi: use ESI instead of EBX on non-win32 platforms
+
+commit 35b0efb8c6afd319ae36e99aa578ac6c75faf2f5
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 1 14:19:25 2008 +0100
+
+ gallium: do something sensible on the error path to try to avoid crashing in release builds
+
+commit e97bedb302701e2e50cef664690b83a1fe6c95ed
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu May 1 14:54:56 2008 +0100
+
+ Fix build problem with MSVC
+
+commit 073bb94a4150d7b3c78ea5420383cb7ed8f97566
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu May 1 21:52:05 2008 +0900
+
+ Add Brian's explanation for inheritance in C.
+
+commit c6fadd9fade40e3397f56fdbfa2325861799e49c
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu May 1 10:20:31 2008 +0900
+
+ gallium: Add newline to eof.
+
+commit be7e1297f4d5a2c2949968bea428b4c0e7c75d63
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 1 13:47:27 2008 +0100
+
+ draw: squash warnings
+
+commit 4584c0efbd547559d30ba9a5e76549fc1b679619
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 1 13:47:09 2008 +0100
+
+ draw: turn on SSE swizzle code
+
+commit b59f9c95c1f7aca60c5d6889d4dc388d19fbc3e1
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 1 12:28:50 2008 +0100
+
+ gallium: add information to surface to identify which texture image it is pointing at
+
+commit 228aaa6cab9ebb32eb23b85fc8a5f05c1dbe975a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 1 12:21:48 2008 +0100
+
+ softpipe: missing file
+
+commit 27e46611f04108765fa99890822a474820d5c563
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 1 11:28:47 2008 +0100
+
+ softpipe: use CPU flags for mapping
+
+ But when creating surfaces, adjust incoming flags from GPU->CPU usage.
+
+commit c9ed86a96483063f3d6789ed16645a3dca77d726
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 1 11:07:21 2008 +0100
+
+ gallium: tex surface checkpoint
+
+commit 7584bcf3f746573fc379c7748acc0be96a3db7de
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 30 18:23:17 2008 -0600
+
+ gallium: remove old files
+
+commit 21989edd55409d72ee55187f4f9062496ca3fbf8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 30 18:21:10 2008 -0600
+
+ gallium: fix texture border removal bug
+
+commit 54f94a790e4488445347abcff9a636a9c440d7f9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 30 16:50:17 2008 -0600
+
+ gallium: use the newer PIPE_FORMAT_x_UNORM format names
+
+commit 8d45576ec5110d39fe48c2f65b04db16ce845968
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 30 16:49:38 2008 -0600
+
+ gallium: rename old PIPE_FORMAT_U_I8 with PIPE_FORMAT_I8_UNORM, etc.
+
+ Now all the packed color types are consistantly named.
+ Added temporary #defines for the old names until all drivers are updated.
+
+commit 18f4d962653cdbb76f08e8498fbbec6e1759f21e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 30 16:41:53 2008 -0600
+
+ gallium: replace old PIPE_FORMAT_U_S8 with PIPE_FORMAT_S8_UNORM
+
+commit c32477742facd06c22befcd300e9fdfeafb6995b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 30 16:05:01 2008 -0600
+
+ Add support for GL_REPLACE_EXT texture env mode.
+
+ GL_REPLACE_EXT comes from the ancient GL_EXT_texture extension. Found an old demo that
+ actually uses it.
+ The values of the GL_REPLACE and GL_REPLACE_EXT tokens is different, unfortunately.
+
+commit 5f0fa82f68e3f4f7086ed6cf5616ef94820e19ee
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 30 16:05:01 2008 -0600
+
+ Add support for GL_REPLACE_EXT texture env mode.
+
+ GL_REPLACE_EXT comes from the ancient GL_EXT_texture extension. Found an old demo that
+ actually uses it.
+ The values of the GL_REPLACE and GL_REPLACE_EXT tokens is different, unfortunately.
+
+commit 07b551f7cfc02cb16225298414b145b306b360b4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 30 14:43:28 2008 -0600
+
+ added xdemos/sharedtex.c test
+
+ Test that modifications to a texture object in one rendering context are seen
+ in a second rendering context.
+ Press 't' to change the texture's image/colors.
+
+commit bd5b99d3890f162ec0928a589b6afbc8e67580b7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 30 13:24:35 2008 -0600
+
+ gallium: fix typo: s/custam/custom/
+
+commit 7154d661a667681828efb75b3547c97484455d9e
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Wed Apr 30 13:53:37 2008 -0700
+
+ autoconf: Fail from autoconf if the pkg-config macros aren't defined
+
+ Instead of postponing the error from missing pkg-config macros to when
+ configure is run, make autoconf exit by using m4 macros.
+
+commit 9a43570f8c8ba5b9803740a47227c296d547631e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 30 14:43:28 2008 -0600
+
+ added xdemos/sharedtex.c test
+
+ Test that modifications to a texture object in one rendering context are seen
+ in a second rendering context.
+ Press 't' to change the texture's image/colors.
+
+commit 80f68e1b6a0e5bd2da799c659c963e213dbf9e66
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Wed Apr 30 13:28:03 2008 -0700
+
+ autoconf: Don't substitute MESA_MAJOR and friends
+
+ Since the autoconf config inherits from default, we don't need to
+ duplicate and substitute the MESA_* version numbers in configure.ac.
+ The version number is only needed in configure for the help text.
+
+commit 653da2d0698d18a8d3dcad1b1590437dee7bb403
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Apr 30 14:05:49 2008 -0400
+
+ plug a memleak, destroy setup context
+
+commit 026e31a068981724fb0c98f6d1fc87d086fd2da6
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Apr 30 02:04:28 2008 -0400
+
+ try to fix the deleting of the bound cso during cleanup of the hash
+
+commit dadb11f5d96354975f1c9f7c8134bb4727129249
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu May 1 03:43:19 2008 +0900
+
+ gallium: Fix release build.
+
+commit cafb545721e6c9479c07d3a7a891236e006d3376
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu May 1 00:59:12 2008 +0900
+
+ d3d: Windows miniport driver portability fixes.
+
+commit c9acd439b1af4b037ded324139664cf9832930f8
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu May 1 00:58:04 2008 +0900
+
+ scons: Try to cope with scons 0.98+.
+
+commit 99fba5466bfd14c4e052041c0571821be529e762
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 30 10:43:59 2008 -0600
+
+ gallium: use new buffer wrapper functions in p_inlines.h
+
+ This allows us to remove most of the direct references to winsys in the state tracker.
+
+commit 15318c8d8eb97cec8c8528cc91aaeab8858f33c6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 30 10:43:09 2008 -0600
+
+ gallium: new pipe_buffer alloc/map/unmap/ref wrappers
+
+commit 7146a1a29d3897fc0bd46dd56f3b36f2351d0f88
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 30 10:10:44 2008 -0600
+
+ gallium: consolidate the bitmap->texel conversion code
+
+commit d3b98330d800d347e3fccf80a40fa87453659c6c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 30 10:00:44 2008 -0600
+
+ gallium: create a new texture each time we init/flush the bitmap cache
+
+commit eefb9d3b51e40867ac3fee43b6496a62b1888b3c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 30 09:41:55 2008 -0600
+
+ gallium: simplify texture format selection
+
+commit 1e6191e0af2653aa69bd623e25d2e157662e560f
+Merge: 9529508 42fb484
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Apr 30 21:42:23 2008 +1000
+
+ Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1
+
+commit d12fa3511da23d8285f3ea1a51a1f328cdbb1462
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Wed Apr 30 16:27:52 2008 +0800
+
+ intel: test cpp to ensure mipmap tree matches texture image.
+
+commit aef4ca647d1d8275b1586a92485ea6c5bc8e950c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 29 15:02:46 2008 -0600
+
+ disable GL_TEXTURE_1D at end of frame to fix failed assertion
+
+commit 4e0e02ae684c0286599309ae166cfc716db940d7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 25 09:46:43 2008 -0600
+
+ mesa: adjust glBitmap coords by a small epsilon
+
+ Fixes problem with bitmaps jumping around by one pixel depending on window
+ size. The rasterpos is often X.9999 instead of X+1.
+ Run progs/redbook/drawf and resize window to check.
+
+ Cherry picked from gallium-0.1 branch
+
+commit 42fb48492e71016c5a2888cd3d2507a89dbd91f3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 29 18:34:14 2008 -0600
+
+ gallium: init hw_key with memset() to silence valgrind warnings
+
+ We shouldn't be hashing with keys that have uninitialized memory.
+
+commit d0b2561c57763db196b45ab052a01a12fc37b06f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 25 17:50:48 2008 -0600
+
+ gallium: updated comment in xm_flush_frontbuffer()
+
+commit 62a29412b90008a247fd3b61f1b882df2e5e81c1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 25 16:50:56 2008 -0600
+
+ gallium: test for new PIPE_ARCH_X86
+
+commit 6fb40092261b891b78e504f453fddf041f9efac6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 29 17:29:33 2008 -0600
+
+ gallium: flush pipe before updating bitmap texture
+
+ Fixes duplicated text bug in progs/tests/texwrap.c
+
+commit 0d80f407f128f1a324e9dc0db2d0910bf32ba736
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Tue Apr 29 17:21:10 2008 -0400
+
+ silence p_debug.h:63: warning: ISO C forbids forward references to ‘enum’ types
+
+commit 5692e09be8e8d1ed4803b528291b920df183c102
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 29 15:03:06 2008 -0600
+
+ disable GL_TEXTURE_1D at end of frame to fix failed assertion
+
+commit fce5951b56a84304d0cb0dce4785237d90a71eb2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 29 14:39:42 2008 -0600
+
+ gallium: declare pipe_format enum to silence warnings
+
+commit 1e97ab685689ef06181a5f22fae9a3a82c83142c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Apr 29 21:30:31 2008 +0100
+
+ gallium: add pack for _FLOAT formats to pack_ub
+
+commit bbafa8aa2fc8009fb8e32f996d4972c56e6b46e6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Apr 29 21:30:04 2008 +0100
+
+ gallium: fix pack for A1R5B5G5
+
+commit 4f474c7d1e1e6807af0f3db55f641fbd66be2e90
+Author: Ove Kaaven <ovek@arcticnet.no>
+Date: Tue Apr 29 22:14:05 2008 +0200
+
+ r200: fix state submission issue causing bogus textures (bug 15730)
+
+commit fbddc8097ce3a9d38a061105542875dbb9f909f7
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Apr 29 21:05:48 2008 +0100
+
+ gallium: add pack for A4R4G4B4
+
+commit 7441f2e3ea77404064d65b604e1e525cacc453e9
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Apr 29 20:42:35 2008 +0100
+
+ gallium: add pack for A1R5B5G5
+
+commit 9bfe1a3d505733489f7583fe603b7d192f38fa8c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Apr 29 20:33:37 2008 +0100
+
+ gallium: add debug_print_format() make it easier to print format error messages
+
+commit 733bc4df1a53bb1899933685e06c52109d096bee
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 29 12:55:41 2008 -0600
+
+ gallium: added some assertions to be sure the blit's surface formats are suitable
+
+commit dd9dc7df80d208b884b4c090e4408c9a12aa6095
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 29 12:54:52 2008 -0600
+
+ gallium: added some assertions to st_render_texture() to check surface format
+
+ Make sure we can really render to the texture surface given its format.
+
+commit cc94863429d8a6cef8dbf861e78701a458d30f5a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 29 12:53:37 2008 -0600
+
+ gallium: fix broken GL_DEPTH_COMPONENT case in fallback_copy_texsubimage()
+
+ Also, make sure surfaces are suitable for blitting before calling util_blit_pixels().
+
+commit 5fb774ab31b11f3a55d9dc47cee5eeaf5abc5981
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 29 12:51:06 2008 -0600
+
+ mesa: added _mesa_scale_and_bias_depth_uint()
+
+commit 1cff4992b389ad884a663c93bdd7b7c6be6c79d2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 28 16:33:15 2008 -0600
+
+ gallium: add \n to error strings
+
+commit 5e8d7899a8114918054f07c807aef07cbbfcb6b4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 28 16:32:42 2008 -0600
+
+ gallium: fix error msg typo
+
+commit acba9c1771d653126fd6f604cb80c050b9e8ffb3
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue Apr 29 18:43:28 2008 +0200
+
+ Change default of driconf "allow_large_textures" to announce hardware limits.
+
+ The previous default these days served mostly to cause artifical problems with
+ GLX compositing managers like compiz (see e.g.
+ http://bugs.freedesktop.org/show_bug.cgi?id=10501).
+
+commit 216603348c399b58fadf39b972d3f708e82f253b
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Tue Apr 29 17:54:38 2008 +0200
+
+ gallium: set border color
+
+commit 95295081a8557f0b63cd89f387205d5abe772788
+Merge: 480ab1b 059ab50
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Apr 29 09:00:48 2008 +1000
+
+ Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1
+
+commit 480ab1b7893290505efba925ea95d3b173aa97d4
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Apr 29 08:56:41 2008 +1000
+
+ nv40: enable DXTn formats
+
+ GL state tracker capable enough for progs/tests/texcompress2 at least.
+
+commit 62a32b0d689753e044016086a598766db671568b
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Mon Apr 28 22:41:42 2008 +0100
+
+ build fix for xorg driver
+
+commit 059ab50c60f19fd6dd30c574644c0e4e5747a330
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 28 14:20:11 2008 -0600
+
+ mesa: explicitly delete textures before creating new ones
+
+ Also, call glutDestroyWindow() upon exit.
+
+commit c2497879f127251994064a0e0c24901782adae9e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 28 14:04:19 2008 -0600
+
+ gallium: fix incorrect level param in copy_image_data_to_texture()
+
+ This fixes a weird conform test failure that depended on something that
+ happened several tests earlier. This took waaaaaay too long to find/fix.
+
+commit c4917c62311522df902003d77b146fc677c09a4e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Apr 28 18:50:31 2008 +0100
+
+ tgsi: make loop structure clearer, use x86_lea for increments
+
+commit 9fb444f191015b44498a5c83d762519ccc98ed55
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Apr 28 18:43:27 2008 +0100
+
+ tsgi: add a makefile
+
+commit 546ab045d8a18758ffc44da9dc76ad1335553cf6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Apr 25 15:28:54 2008 +0100
+
+ translate: squash warnings
+
+commit a41b78d107264227f3338446e04dcfda32634f52
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Apr 25 15:27:33 2008 +0100
+
+ pb: remove unused variable, squash warning
+
+commit b6d9666a420bd7c31a6696f94ba1025e5204d458
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Mon Apr 28 19:03:20 2008 +0200
+
+ gallium: Set SSE_SWIZZLES to 0 by default.
+
+commit 58d3dff0d3115ddd5397b7f77b5bcf4f9ca616b6
+Author: Michal Krol <michal@ubuntu-vbox.(none)>
+Date: Mon Apr 28 18:50:27 2008 +0200
+
+ gallium: Generate SSE code to swizzle and unswizzle vs inputs and outputs.
+
+ Change SSE_SWIZZLES #define to 0 to disable it.
+
+commit 7f5e9d3f07f6fbfa699bef4ffff85fe0b557584a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 28 09:40:26 2008 -0600
+
+ gallium: check for PIPE_FORMAT_X8Z24_UNORM format
+
+commit 44c79f88b8abbbcafe4e6e462d7f0d8505265e2b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 28 09:39:48 2008 -0600
+
+ gallium: replace some code with a call to st_choose_format()
+
+commit ee4434121c5ce556af8af899297d4249435c6d71
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 28 09:38:18 2008 -0600
+
+ gallium: return enum pipe_format, not uint, for a few functions
+
+commit 0d179ffe9774487f37838aa634c59ff8ebc1111d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 28 09:33:20 2008 -0600
+
+ gallium: add cases for PIPE_FORMAT_X8Z24_UNORM
+
+commit 58b1bcaa094ed07a54bd7e4cdbddbcdcf1f629a7
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Apr 28 15:42:19 2008 +1000
+
+ nv40: do full swtnl fallback when edge flags present.
+
+ This isn't necessary, with some effort we can do this on the hw. However,
+ until I encounter something "real" that uses them there's not a lot of
+ point.
+
+commit 083008d808c02226a3dfead6000a84efd5e6a9fa
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sun Apr 27 21:19:34 2008 +0900
+
+ pipebuffer: Be extra cautious with the incoming buffers.
+
+ A common mistake is trying to fence user or malloc buffers. So don't let
+ the crash happen inside pipebuffer lib.
+
+commit e3c415995706d2dda7c34a227e2e24d0745763ec
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sun Apr 27 21:09:45 2008 +0900
+
+ rtasm: Implement x86_retw.
+
+commit 2193578851b3b5a99c078b28187cf3158f4218f6
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Apr 27 18:12:14 2008 +1000
+
+ nouveau: stub set_edgeflags for all nv pipe drivers
+
+commit 0cca90cea1dbe1a76dbf9ac1985c3676ec460b0a
+Merge: 7342688 a8e39b6
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Apr 27 18:04:50 2008 +1000
+
+ Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1
+
+commit a8e39b6f5a1fedf2f8719e1adb8802ebbfc09688
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Apr 25 19:25:26 2008 -0600
+
+ gallium: fix broken SGT, SLE
+
+commit a94aad297d9804688f888a5112326104a5d00e07
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Apr 25 18:46:29 2008 -0600
+
+ use PIPE_ARCH_X86
+
+commit ca73488f48e3ee278f0185bb7dcc03d7bdedb62d
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Apr 25 16:07:12 2008 -0700
+
+ [i965] short immediate values must be replicated to both halves of the dword
+
+ The 32-bit immediate value in the i965 instruction word must contain two
+ copies of any 16-bit constants. brw_imm_uw and brw_imm_w just needed to
+ copy the value into both halves of the immediate value instruction field.
+
+commit aad9dd14d8ef44e55f70b639765dae89e9976345
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 25 15:59:55 2008 -0600
+
+ gallium: tweak comments, minor var renaming
+
+commit 5e3b0d227c1b009c88a1b79df4a9e8c632e356f9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 25 15:55:47 2008 -0600
+
+ gallium: tweak comments, minor var renaming
+
+commit 1cf164142768d8338527ee8cab8dee83af82af0b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 25 16:12:11 2008 -0600
+
+ gallium: remove unneeded st->bitmap_texcoord_bias
+
+commit 332b77b852905224741084c5a4f5d2f4625dd119
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 25 15:23:21 2008 -0600
+
+ gallium: use simple color pass-through fragment shader if textures don't exist
+
+ If we run out of texture memory we may not have the texture needed by the
+ fragment shader. If this happens, plug in a color passthrough shader.
+ So instead of crashing, we just don't see the texture.
+ GL_OUT_OF_MEMORY is raised, of course.
+
+commit 4c50969334844bc9aa622176c3ebcbc733394f78
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 25 15:21:00 2008 -0600
+
+ gallium: added null ptr check
+
+commit 9b44f5a7550d8ede2eda763770e927df4c15cc8e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 25 12:00:18 2008 -0600
+
+ gallium: added a null ptr check
+
+commit 1437b41d9068017dbe981a784285d5773c1d1ead
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 25 14:15:42 2008 -0600
+
+ gallium: fix typo s/_mesa_unmap_drapix_pbo/_mesa_unmap_drawpix_pbo/
+
+commit 149a4175fafdb4dfcf31b28377f83092c9edf335
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 25 14:14:09 2008 -0600
+
+ gallium: consolidate quad drawing code
+
+commit b6d8b21cc8e36eb4f6fa72a067561f3fa8bd6ebf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 25 14:00:40 2008 -0600
+
+ gallium: remove unused st_draw_vertices()
+
+commit 7dcbbdf353fe14401ba23e5b486658d2b46c550e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 25 13:59:25 2008 -0600
+
+ gallium: use util_draw_vertex_buffer() instead of st_draw_vertices()
+
+commit 10d70e2f2c182d717698bf3c8a2c1622a04ea3e8
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Fri Apr 25 11:35:00 2008 -0700
+
+ glcore: Respect DESTDIR
+
+commit 1e71283ccee61aa5d774fdef6d7668d3376d3a6d
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat Apr 26 01:55:32 2008 +0900
+
+ scons: Silent MSVC CRT security warnings.
+
+commit 3faea292e537b8fe8f86b03ae9147c73f17efc3b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 25 10:33:48 2008 -0600
+
+ gallium: fix the compressed texture hack in st_texture_image_copy()
+
+ Actually, the hack is still there and needs to be revisited, but I get a bit
+ further with compressed textures now.
+
+commit 658f5e721316f1983ae39b6b94b992baca0e2bc2
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat Apr 26 01:14:32 2008 +0900
+
+ scons: A few fixes for building mesa on windows.
+
+commit 1aedbf9efe4d1cf45be3c27fc3a0eb4a69a1b1b9
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Apr 25 16:16:06 2008 +0100
+
+ draw: emit extra flags whenever pipeline is active
+
+ The assert was in fact over-sensitive, but emitting the extra flags
+ is pretty trivial & we may as well just do it whenever we know the
+ pipeline is running.
+
+commit 004922b141e03f8eb1572a8dedda3f48d4e24a74
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Fri Apr 25 11:18:09 2008 +0300
+
+ fix make tarballs
+
+commit 3c0dc8242b64518d5635263ba65b39afa919dd86
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Fri Apr 25 15:01:09 2008 +0100
+
+ gallium: Use util_blit_pixels() for glCopyTexSubImage when appropriate.
+
+commit 96cfd804f6dcc0ec9f5e887ff1b402a55886fb0b
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Fri Apr 25 14:57:50 2008 +0100
+
+ gallium: Add draw_pt_varray.c to scons build.
+
+commit 2325d1959783aaf57178a86d8a0b28f168761e13
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Apr 25 14:20:02 2008 +0100
+
+ tgsi: fix compile when HIGH_PRECISION not defined
+
+commit 14cfcb18204233d3d4848ea8e579465983df3d75
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Apr 25 14:10:32 2008 +0100
+
+ draw: no need to special-case elts/get_elts for varray frontend
+
+commit 4e46e6f52b88ca7df40a52cf994e6fe1e4b9870e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Apr 25 14:10:02 2008 +0100
+
+ draw: remove unused vars
+
+commit 992d0b997f8f7e965e56852b81e01c290f8c13de
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu Apr 24 16:22:47 2008 -0400
+
+ frontend for rendering without elts
+
+commit a7ce6d399221fbb59d96d56c853de9781bbf2547
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Apr 25 19:53:13 2008 +0900
+
+ scons: More windows userspace fixes.
+
+commit 118de7a01369977d13f40bab2ad591320cc7f7ff
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Apr 25 10:39:52 2008 +0100
+
+ silence warning
+
+commit d7b523b46b833fd08c70850d7a6cc7b6fd714a8e
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Fri Apr 25 10:34:20 2008 +0100
+
+ gallium: Tell the driver the texture is updated when we finish rendering to it.
+
+commit b06cd4debfc4fb4162b4b45e61ea91948de0a279
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Apr 25 18:19:51 2008 +0900
+
+ gallium: Windows user mode portability fixes.
+
+commit dacfef158943665fc0d11035867d14ff1f5db332
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Apr 25 18:18:48 2008 +0900
+
+ gallium: New configuration header.
+
+ To abstract all those weird #ifdef (__???__) checks.
+
+ It should typically be the first included header.
+
+commit 35460fc91cf5311a4cbaee3c577ad8a95ccab1a1
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Apr 25 18:16:25 2008 +0900
+
+ scons: Teach scons about user-land windows.
+
+ Actually, more like get rid of all our hacks when compiling for
+ user-land windows.
+
+ Only MSVC is supported atm though.
+
+commit b4c7a48d5c9ed2f9535a17d6c05cd55178c7880a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 24 16:40:08 2008 -0600
+
+ gallium: fix an edgeflags crash
+
+commit 2926e59e4ad604dedcb639b2961937841afcf005
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Apr 24 23:31:35 2008 +0100
+
+ draw: remove old assignment of edgeflag value
+
+commit fddb0f6e4fa67f3d6940e10519560941b59f5a5e
+Author: Pierre Beyssac <mesa-bugzilla@fasterix.frmug.org>
+Date: Thu Apr 24 16:29:34 2008 -0600
+
+ enable GL_EXT_multi_draw_arrays (see bug 15670)
+
+commit ef683014dd72612e6eb245e89e754b033acb3a49
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 24 16:01:18 2008 -0600
+
+ gallium: initial edgeflags code
+
+commit 98165318621cd3e01919b2b9ff140ce7a4e12beb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 24 15:59:08 2008 -0600
+
+ gallium: plug in softpipe_set_edgeflags() function
+
+commit 909894e34ca5e575ce21005e38dc0b5e98e4bcd6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 24 15:58:46 2008 -0600
+
+ gallium: comments
+
+commit da8312a1cf73d0777d51c63148ee090a9acace8b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Apr 24 21:13:56 2008 +0100
+
+ draw: default edgeflag should be one
+
+commit bceebffc178af89154b3b78f3afd97f0d93ca2f8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 24 13:44:40 2008 -0600
+
+ gallium: disable the bitmap/texcoord bias
+
+ Doesn't seem to be needed after fixing the float->int conversion problem.
+
+commit 72c8d2f2449d54005eb721fe3853a6009e9b8d17
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 24 13:36:26 2008 -0600
+
+ mesa: adjust glBitmap coords by a small epsilon
+
+ Fixes problem with bitmaps jumping around by one pixel depending on window
+ size. The rasterpos is often X.9999 instead of X+1.
+ Run progs/redbook/drawf and resize window to check.
+
+commit a770d40c3d4977e2c134661b5d8facaea446b6ea
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 24 12:11:24 2008 -0600
+
+ gallium: use cso_destroy_vertex/fragment_shader() functions
+
+ Also, rearrange the st_destroy_context() code a bit to prevent some
+ invalid/NULL ptr derefs during tear-down.
+
+commit 386102c62a3315182ffbc6319351cb883234511a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 24 12:10:14 2008 -0600
+
+ gallium: make cso_release_all() public
+
+commit a41804909d5799cddfbf48a46524f78c736408d4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 24 11:59:22 2008 -0600
+
+ gallium: minor clean-ups, comments
+
+commit ac79532a15a7109bf0fbd0e40a1ba8e65ed8c435
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 24 11:56:06 2008 -0600
+
+ gallium: tweak the new shader delete funcs
+
+commit f2c31257167f85df276322be1b8523064e8b66a9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 24 11:52:37 2008 -0600
+
+ gallium: added cso_delete_vertex_fragment_shader() functions
+
+ The state tracker now uses these functions to free shaders, rather than
+ the pipe->delete_vs/fs-state() functions. Before, we could get in a situation
+ where we free() a shader and happen to alloc() a new one at the same address.
+ The cso_set_vertex/fragment_shader() function would no-op the state change
+ since the pointers were the same. This led to problems elsewhere, of course.
+
+ The new delete functions null-out the CSO's current shader pointers.
+
+commit 35dc003c6a0845a96934f9c222bd57bb62e0a62f
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Apr 24 18:39:25 2008 +0100
+
+ gallium: Make sure the size of non-existent storage components is set to 0.
+
+ Before adding support for formats with unused storage components, the size of
+ components swizzled to 0 or 1 was ignored, so this didn't matter.
+
+commit cefa367b5d909f26d943101efb042562de778c5f
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Thu Apr 24 17:07:45 2008 +0200
+
+ i915: Fix for wrong texture in texobj with VBUF
+
+commit d712eea074303812b1be0e79b302d7b9f49a09a8
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Thu Apr 24 14:05:39 2008 +0200
+
+ translate: Actually return a value from translate_cache_create().
+
+commit 63e6e33db64fc39db16790d0988d370252a96e29
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Apr 24 12:38:58 2008 +0100
+
+ trivial: simple edgeflag test
+
+commit f93332da5655a31b6c44a1079629a15360ff999b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Apr 24 12:38:15 2008 +0100
+
+ draw: handle edgeflags and reset-line-stipple again
+
+commit dddedd915afb58ab6b87492e850baeadc007fe47
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Apr 24 12:36:04 2008 +0100
+
+ xlib: only shortcircuit makecurrent if NO_RAST set, otherwise window size updates fail
+
+commit 7333578d2a5fa18f7f0101fc3fd3b03cf2f356bc
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Apr 24 10:12:07 2008 +0100
+
+ gallium: Initial support for pixel formats with unused storage components.
+
+ Also clarify that RGB formats with no (used) alpha component are treated as
+ having alpha = 1.0.
+
+commit bb4f8ae1f93d17c57fd8f62bea24b48131e02037
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 23 18:09:20 2008 -0600
+
+ gallium: reorder code to fix a recursive flush
+
+commit 14d1ca8d867d6e44c756cb759f92421107118b2e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 23 18:08:20 2008 -0600
+
+ gallium: fix issues in recursive flushing
+
+ When flushing/rendering, some stages (like AA line/point) need to set
+ pipe/driver state. Those driver functions often call draw_flush().
+ That leads to recursion.
+
+ Use new draw->suspend_flush flag to explicitly prevent that in the key places.
+ Remove the draw->vcache_flushing field.
+ Reuse draw->flushing as a debug/assertion var.
+
+commit 8437f5c763c1a1ac364d71426109c2b095bbcc72
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 23 17:41:30 2008 -0600
+
+ gallium: fix comments
+
+commit bff371c431b962c62d74800c543e09d258e67551
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 23 17:40:39 2008 -0600
+
+ gallium: fix comments, whitespace changes
+
+commit 7342688286cc3b7c938af2dfeac22df4fa8c8464
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Wed Apr 23 22:38:49 2008 +0200
+
+ nv30: add stuff to init swtnl
+
+commit 3f6242d3e4d3ee61884a91a3eef4be8dfaadee3c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 23 12:11:00 2008 -0600
+
+ gallium: passthrough tri, not point
+
+commit 95f8f8863a80ce1e584160d4d085213a9bbaef12
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Apr 23 14:07:53 2008 -0400
+
+ Add translate cache to fetch_emit stage and add out of memory
+ checks to code creating the cache.
+
+commit 5fcd84ab39318a371253b1a7285bc657fb82efed
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Apr 23 14:00:13 2008 -0400
+
+ Create a sharable translate_cache and use it.
+
+commit ba47aabc9868b410cdfe3bc8b6d25a44a598cba2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 23 11:37:49 2008 -0600
+
+ gallium: fix potential divide by zero in fog computation
+
+ It's legal for Fog.Start == Fog.End and conformance testing does so.
+
+commit 5d873c87186fd3a59b46b4e1e0c987120aa961a7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 23 11:36:47 2008 -0600
+
+ gallium: additional debug code
+
+commit 809bc8f9ad3667c297afa2652c6688f98d6451b0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 23 11:24:42 2008 -0600
+
+ gallium: move logicop test outside of loop
+
+commit 2221cb9f74ceee826efb09840188711f408e5428
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 23 11:23:12 2008 -0600
+
+ gallium: fix broken PIPE_BLENDFACTOR_SRC_ALPHA_SATURATE
+
+commit 76d39f0c19ee0673b65d6ad09ab338c8b750251a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 23 11:22:18 2008 -0600
+
+ gallium: more vertex debug code
+
+commit e1180c2d694851ed12e86027aa406ee20546e6d3
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Apr 23 13:32:41 2008 -0400
+
+ fix the simple hash finding function and use it
+
+commit 4f93a3a680560940630c44be0066b72a86ff008a
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Apr 24 02:13:31 2008 +0900
+
+ gallium: Fix texture refcount leak.
+
+commit a75a3df851339c782e045e01c2b21ffadb1e09f5
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Apr 24 01:59:57 2008 +0900
+
+ pipebuffer: New function to flush the buffer cache.
+
+commit 53cf833af9776d47bd4c14906784aa8f2027dc4b
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Apr 24 00:10:51 2008 +0900
+
+ gallium: Add extern "C" to the headers.
+
+commit 333976c90aafa602816defef3e4cc4a418601a51
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 23 10:29:52 2008 -0600
+
+ gallium: fix broken hashing for vertex translation
+
+ It seems we get hash collisions fairly easily and the code as it was didn't
+ deal with that properly.
+
+ I think we need a simpler hashing interface...
+
+commit 6497d50924230e6b96929c8da0c2bd7287b70d8a
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Wed Apr 23 15:59:23 2008 +0100
+
+ include <X11/Xlib.h>
+
+commit 43be7a4819ad342e1cb3f8e3fb966a8a78dc2c1b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Apr 23 13:56:05 2008 +0100
+
+ draw: remove stupid debug (Keith)
+
+commit d6a965972b48fec95a2bcb778cf05d0468ba2573
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Apr 23 13:51:50 2008 +0100
+
+ draw: add missing break (Jakob)
+
+commit 1e3087cd0315e130248da211811a010bffcaa982
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Apr 23 13:10:13 2008 +0100
+
+ mesa: add dedicated point-wide-smooth test, restore original tri.c as tri-orig.c
+
+commit b0a58d526624485b98665b103fb5b507253b851b
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Wed Apr 23 11:56:35 2008 +0200
+
+ i915: Real fix for weird fence leak. Thanks Thomas
+
+commit f6f9f5e4814f95db1b71251d818da4fca2ec5e18
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Wed Apr 4 12:31:40 2007 +0300
+
+ drop stray includes of glapi
+
+commit f027f8d3a832f9820acba8892e2540094b01c9ae
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Fri Apr 18 17:28:53 2008 +0300
+
+ glx: nitpick renames
+
+commit df04ffbf025994abd59e26c8439e77bb340ef20b
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Fri Apr 18 17:28:34 2008 +0300
+
+ glx: split out current context code
+
+ also clean header inclusion after code movement
+
+commit 37be884875ed291c7cf378c570df1cd46b8c2fa1
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Fri Apr 18 17:35:00 2008 +0300
+
+ glcore: drop outdated sources files intented for xorg
+
+commit 750f52169ccbd1aca217e7749f1ce6ae5828c2ac
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Fri Apr 18 17:34:45 2008 +0300
+
+ glcore: tree sharing for DRI and XMesa
+
+commit 32a2a095f4d8e3be7fa2807cb436bd09e8eb5a75
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Fri Apr 18 17:34:24 2008 +0300
+
+ glcore: build from mesa
+
+commit a3265958994ce4107da2a3954c04b496e29cd8aa
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Apr 23 12:41:42 2008 +1000
+
+ nouveau: fix build
+
+commit 104ff59585ad1888c8cef5ad9de0e2fdb3f48c21
+Merge: b20acef 6fc530c
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Apr 23 12:39:38 2008 +1000
+
+ Merge branch 'upstream-gallium-0.1' into nouveau-gallium-0.1
+
+commit 6fc530ccda2971a5d99a955ad90ae9762238040f
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Apr 23 12:38:37 2008 +1000
+
+ fix non-i386 builds
+
+commit 72fd5b9c5a78792ad8c1fe7c8713a3583008c50a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 22 19:11:59 2008 -0600
+
+ gallium: added a flushing_vcache flag, test in draw_do_flush()
+
+ Fixes broken polygon stipple, aaline, aapoint stages
+
+commit 91e37b71404a83b5e4258e129a2753f7c8fd0706
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 22 19:10:52 2008 -0600
+
+ gallium: fix bad logic in bind_pstip_fragment_shader(): use &&, not ||
+
+commit 33f3938d2d6340b31d758c96bd35f858c6c8267d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 22 18:38:37 2008 -0600
+
+ gallium: fix some bitmap frag shader issues
+
+ If texturing happens to be enabled when glBitmap() is called, need to be
+ careful about choosing a sampler unit, etc.
+
+commit 1977fbff6010af0a5bd0bba7c0367b7713185a92
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 22 18:38:13 2008 -0600
+
+ gallium: don't set buffer status to undefined in display_front_buffer()
+
+commit 36feb5eacf16467d06d5cd9f63d19f17f933f1ef
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Tue Apr 22 18:32:29 2008 -0400
+
+ In case the 'func' is deleting the state move the iterator before
+ calling it.
+
+commit d8f2e400cfe6e32e82d1656d3483905343124b97
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Tue Apr 22 18:30:31 2008 -0400
+
+ Fix a crash. Rasterizer can be null
+
+commit f088b53769aacbee20135d912c33d688b6002011
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Tue Apr 22 18:20:34 2008 -0400
+
+ Cache translate's structs for emits and fetches.
+
+ Results in a fair speed improvement.
+
+commit 500c41b8ba3ad025c69e63a2c74da90674a8037d
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Tue Apr 22 18:11:58 2008 -0400
+
+ Fix reporting of clipped vertices.
+
+commit 22cbf6a70437dfa12c10600e5a496ea5771cfc56
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 22 16:29:48 2008 -0600
+
+ gallium: setup an identity viewport
+
+ This fixes broken blits.
+
+commit 0939a986a8a7dbb8d30c505fcaad8d2718a6527d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 22 16:25:55 2008 -0600
+
+ gallium: update comment about bypass clipping/viewport
+
+commit aaa43218f34fc9897b280d6cf9bc1a31bbb7dafc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 22 16:22:21 2008 -0600
+
+ gallium: setup an identity viewport
+
+commit 465bc9473a0122d8f66ac1b4a69459e9bd889799
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 22 16:15:49 2008 -0600
+
+ gallium: move the vertex print/debug code
+
+commit b3efd35f4bdd62cf36b6f59be602fa8781db9b89
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Tue Apr 22 23:05:11 2008 +0100
+
+ revert part of the previous cleanup - it only applies
+ to the 7.0 branch
+
+commit 8f4f89c04383b2100f6d856270cad62dfe8a6354
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 22 14:42:36 2008 -0600
+
+ gallium: remove assertions
+
+ It's possible the current vs/fs is null when cso_save_vertex/fragment_shader()
+ is called.
+
+commit b456f1374fc958e53efc80ee38ef343f580c1d6b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 22 14:41:32 2008 -0600
+
+ gallium: st_translate_fragment_program() is void now
+
+ The return value was never used.
+
+commit 6b4798b9068b58a3c4581a268727ce01680d08cd
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Tue Apr 22 22:23:22 2008 +0200
+
+ i915: Fixed weird fence leak when I915_VBUF=true
+
+commit 4ebede8c7f43a83adfc73dcca783de2e9efcd9ba
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Apr 22 21:17:21 2008 +0100
+
+ Revert "softpipe: squash warning"
+
+ This reverts commit 1f0f029ba6f22ef4ada01fcdc153da91571a7963.
+
+ Which broke the debug build.
+
+commit 0588858702d1a5c9c08573ea6817e2e149473cf6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Apr 22 20:50:20 2008 +0100
+
+ draw: allow drivers to query pipeline state more easily
+
+ Also, provide a separate flag to say whether the driver can handle
+ clipping/rhw tasks, in addition to the API flag which indicates they
+ have already been done.
+
+commit 1f0f029ba6f22ef4ada01fcdc153da91571a7963
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Apr 22 20:32:22 2008 +0100
+
+ softpipe: squash warning
+
+commit 936dba1de5ca0d4252061c4a93674fad2d66d202
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Tue Apr 22 20:28:35 2008 +0100
+
+ Fix error string
+
+commit c8666cfb0be7c36be66f7f14aa013c8afa1a9d38
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Tue Apr 22 20:29:00 2008 +0100
+
+ correct the return value
+
+commit eec20c359db9b48161902fea2a5ad014b09fd190
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Tue Apr 22 20:29:42 2008 +0100
+
+ small cleanups
+
+commit 88f8eed3c4430505b1436b6c5b0114d34c33f822
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Apr 22 15:26:38 2008 +0100
+
+ cso: fix vs/fs confusion
+
+commit f9b1d47d652778012fd35552ffc51717ac0b6f79
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Apr 22 15:15:21 2008 +0100
+
+ softpipe: do something sensible on an error path, squash warning
+
+commit fd4acd6fdaaad4871327d081f5501680ed9da2ed
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue Apr 22 14:22:11 2008 +0100
+
+ gallium: How about restoring shaders instead of saving them again...
+
+commit 57b85e197b33d39063d431500016dffcce46ab7c
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue Apr 22 12:18:31 2008 +0100
+
+ gallium: Don't link x86sse.c into libmesa.a.
+
+ Otherwise we get a symbol clash with the copy in src/gallium/util .
+
+commit b4b3a73bdf68adc1d9fbadac913aa6cf60d648d5
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Apr 22 19:47:02 2008 +0900
+
+ pipebuffer: Temporarily allow simultaneous CPU writes.
+
+ Also, fast path for re-fencing the same buffer multiple times with the same fence.
+
+commit 57987ea67320e79e4c2d7e66388806148ece09b5
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Apr 22 11:26:07 2008 +0100
+
+ draw: disable broken edgeflag code - didn't work & was killing performance
+
+commit 6a9f6625b38c3669769568d122958993f4a8d5b3
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Apr 22 11:15:51 2008 +0100
+
+ xlib: shortcircuit no-op makecurrent
+
+commit d07ed9216cc7033fecb5bce661bbaf79189bb391
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Apr 22 11:01:56 2008 +0100
+
+ xlib: implement SP_NO_RAST env var
+
+commit a5b87f249ef79b1a8d8b9dbe72879b7ac9eb133c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Apr 22 11:01:41 2008 +0100
+
+ softpipe: implement SP_NO_RAST env var
+
+commit 09b668615852eb28cb6289baf84faaf3b6ccc3c2
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Apr 22 10:57:06 2008 +0100
+
+ softpipe: make NUM_ENTRIES 32 so that div/mods are easier
+
+commit 83fec372b45eb0af9e2d83549b3d92afb17c38af
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Tue Apr 22 11:26:26 2008 +0200
+
+ cso: Fix build on Win32.
+
+commit 6e620162a1b235ade227368b87fa993e844d7077
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Tue Apr 22 16:25:23 2008 +0800
+
+ i965: fix DEPTH_TEXTURE_MODE (bug #14220)
+
+commit c9c64a100d5d0661fd672af040a68bd4e7292940
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Tue Apr 22 15:50:40 2008 +0800
+
+ [i965] This is to fix random crash in some maps of Ut2004 demo.
+ e.g. bridge of fate.
+ If vs output is big, driver may fall back to use 8 urb entries for vs,
+ unfortunally, for some unknown reason, if vs is working at 4x2 mode,
+ 8 entries is not enough, may lead to gpu hang.
+
+commit f61e51ee98a2f43ad61e98353eae2cd8dc8a272f
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Tue Apr 22 11:11:42 2008 +0800
+
+ i965: save the offset of target buffer after last execution, not relocatee buffer.
+
+commit ed187d39a6e0fd921b2a45a143d88ac4b66eee91
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Apr 21 16:40:27 2008 -0400
+
+ make the api consistent (all set functions return pipe_error status)
+
+commit 0879237725eca893318137b795d4234300a37e9a
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Apr 21 16:04:27 2008 -0400
+
+ handle some of the possible allocation failures within the hash itself
+
+commit 9fe63929011cd9c4d86ab6525555a3e53423c854
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Apr 21 15:44:51 2008 -0400
+
+ initial stab at error handling in cso
+
+commit 9a0e6860d3b4602515f39593ed9af00cee7bb106
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Apr 21 21:05:11 2008 +0100
+
+ cso: disable not-really-working cso_set_*_shader() funcs
+
+commit e406ad5912985920a0d796f1ada58b40316590ed
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Apr 21 21:01:38 2008 +0100
+
+ draw: squash a couple of memory leaks
+
+commit 01dfa6cde157321f565bab949f23f367ed20fa0e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Apr 21 20:26:19 2008 +0100
+
+ use cso fs/vs handle functions
+
+commit 1dc5e56f3e48b629daa18c2d8631c96bda638eb6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Apr 21 20:25:47 2008 +0100
+
+ cso: provide functions to bind fs/vs handles directly
+
+commit c2afa182f31ed4a8be01078c2b8bedcd881cd157
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Apr 21 20:25:06 2008 +0100
+
+ mesa: remove st_cache.c
+
+commit fb1c09305ea8cb727514c53a0346d90e78eeb05f
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Apr 21 15:15:31 2008 -0400
+
+ Use llvm 2.3 (2.2 won't work because of a lot of problems, e.g.
+ lack of constant vectors handling in execution engine)
+
+commit a945420ae6f96f0d7024f97e37ffd31329865a84
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Apr 21 19:48:21 2008 +0100
+
+ rtasm: debug some missing funcs
+
+commit 73706deef59c35472d2410411403f30c9603f22f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Apr 21 19:48:08 2008 +0100
+
+ rtasm: quieten sse_enabled debug
+
+commit 73c2711bb186692b866720058a09f5eb05950213
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Apr 21 19:43:53 2008 +0100
+
+ rtasm: clean up debug dumping a little
+
+commit 785831fc6fc56815d9637c7dd2acbcee6dfbbb0a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Apr 21 19:11:58 2008 +0100
+
+ cso: propogate one easy error - many more
+
+commit d3db46eb8257c1b0cf823f1805ca00457be9aff3
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Apr 21 19:09:54 2008 +0100
+
+ translate: fail on x86 rtasm fail
+
+commit b17e123a8f20239e8e1fc6816ccf115d9ec57471
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Apr 21 19:09:38 2008 +0100
+
+ rtasm: propogate errors in x86 emit
+
+commit 65efe807b9067aa07b382e3c4d9cea6222c5fc6b
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Mon Apr 21 17:51:39 2008 +0100
+
+ gallium: Use CSO cache for shaders.
+
+commit 0824fb1d6afc651c0ab814e96f08326c706de216
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Apr 21 12:42:37 2008 -0400
+
+ actually write the results
+
+commit 30b4dc29091347252bc61d3be9370db0a45c16c3
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Apr 21 17:17:27 2008 +0100
+
+ draw: more propogation -- pstipple stage.
+
+commit 0d4ece4c5a243dc4b684331bad49f220311e5520
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Apr 21 17:03:37 2008 +0100
+
+ draw: propogate lots of errors
+
+commit 0cd90a917d289363a3edb5cfa40c391eb07aa97c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Apr 21 16:45:41 2008 +0100
+
+ draw: propogate errors out of aapoint stage
+
+commit 69ecc2a577dc45451d56cee3e41cb6e7e542b097
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Apr 21 16:38:09 2008 +0100
+
+ draw: propogate errors out of aaline stage
+
+commit a918a9c744f656c8bf2e3fd2841732e01a5ccefc
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Apr 21 16:10:13 2008 +0100
+
+ draw: consolidate all the passthrough line/tri/point funcs
+
+commit d3045ebb0642b09b4d353be6d4a258e6766061e6
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Apr 22 00:16:04 2008 +0900
+
+ gallium: Hash the fragment shader tokens, instead of pipe_shader_state.
+
+ PS: pipe_shader_state should probably go away now that it is reduced to a single pointer.
+
+commit e29583afcb238cf7a70089cfdf50a69ca277c53a
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Apr 22 00:14:08 2008 +0900
+
+ gallium: Include dependent header.
+
+commit 13d8b1b211a803f44ffe325e7eed887cce4abaca
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Apr 21 22:26:33 2008 +0900
+
+ gallium: Set all state via cso_context in blit/gen_mipmap utils.
+
+ cso_restore_* functions are implemented on top of cso_set_*, therefore
+ they require full knowledge of the current pipe state to work correctly.
+ Directly calling pipe's set_*_state functions will lead to undefined state.
+
+ Also save and restore shaders.
+
+commit 08717d94619802f7816420be155c0c92fa727109
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Apr 21 20:44:45 2008 +0900
+
+ gallium: Do not mistake pipe state objects for state tracker state objects.
+
+commit 76a3590046d74c923d9837f82ece1587224b9a41
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Apr 21 14:19:15 2008 +0100
+
+ util: work around freaky win32 math.h
+
+commit 615cdd3a535bb71754baa8b37e79b85af01854dd
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Apr 21 12:39:59 2008 +0100
+
+ tgsi: use new float math funcs, drop local disassembly code
+
+commit f30f3206121c56e5c50ccafb1467a8301044d411
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Apr 21 12:38:14 2008 +0100
+
+ util: add wrappers for float math functions on windows
+
+commit b6c9d2ef2cfadbbe3e7aa94f21fd0da36d089952
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Apr 21 12:37:41 2008 +0100
+
+ rtasm: add dump facility for x86 (from tgsi_sse2.c)
+
+commit 7c2a3fced8bbf0915ee4160c23b1752917c1e69d
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Mon Apr 21 17:34:00 2008 +0800
+
+ intel: fix an assertion failure. fix bug #15575
+
+commit 33107357a1226b9218fac410a7502a981aac5cc5
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Mon Apr 21 14:02:50 2008 +0800
+
+ i965: clear the PRESUMED_OFFSET flag from bo_req.hint, not bo_req.flags. fix #15574
+
+commit 201ac414d4df00745e487a6ffbc9979a2e70f0c6
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Apr 21 00:10:39 2008 -0400
+
+ make llvm draw paths compile with the latest changes
+ switch the method of distribution of builtins (to get rid of the
+ llvm2cpp dependency)
+
+commit 40e0439db448a7d93ddb18faac7f14b47b1343c0
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Apr 21 13:02:59 2008 +0900
+
+ gallium: Centralize SSE usage logic.
+
+commit b20acef90695d6e5975f538b6e9cb812b05f0cf6
+Author: Peter Winters <peter@whoei.org>
+Date: Sun Apr 20 22:48:50 2008 +0200
+
+ nv10: enable viewport clipping
+
+commit e7bdf047f28ea9b928b3890c37d7d20db1e67e96
+Author: Peter Winters <peter@whoei.org>
+Date: Sun Apr 20 16:07:04 2008 +0200
+
+ nv10: fix random stuff
+
+commit 29858e1b553cee1fd7e3380ea62c69d2a6b91b95
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sun Apr 20 14:41:02 2008 +0900
+
+ gallium: Refcount textures.
+
+ Pipe driver does refcount textures. If cso_context does not, dangling
+ pointers appear.
+
+commit 68a7cb21fa14eac9e38bf398623739a892cc0d52
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Apr 19 20:20:40 2008 +0100
+
+ draw: rearrange debug code
+
+commit d0a4bf08b1a80d62f81301c5b37723dfca436b62
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Apr 19 20:18:40 2008 +0100
+
+ translate: fix several bugs
+
+ - specify cdecl calling convention on WIN32
+ - fix load bgra8 function
+ - fix previous don't crash fix.
+
+commit bfd179776f5ded75c2134a54f0a57a1579118cd0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Apr 19 18:41:53 2008 +0100
+
+ draw: add missing translate->set_buffer for fetch emit path
+
+commit b1158a5e0031aa33a71baa7bc14ca2c0fe0dabc4
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Apr 19 18:26:39 2008 +0100
+
+ translate: don't crash on failure to create sse version
+
+commit af523a5bd7828fd554669cf83f18992af967a075
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Apr 19 18:25:33 2008 +0100
+
+ rtasm: include yet another i386 define varient
+
+commit d3cb62b8b3ea03bfb9800bf4b738d9814ef3c516
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Apr 19 18:02:42 2008 +0100
+
+ draw: fix scons build
+
+commit 7d72607e142c0412b88183b849fd701e698b8f79
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Apr 19 17:27:52 2008 +0100
+
+ draw: move incoming vertex state into draw->pt
+
+ This state is effectively private to the vertex processing part
+ of the draw module.
+
+commit dcf6f776ce32b89b7ff784bb38030bd29698e005
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Apr 19 17:16:41 2008 +0100
+
+ draw: make draw_reset_vertex_ids private to the draw_pipe_* code
+
+commit 2dae208fb19e79c7446a29ee5dee53e50283b57c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Apr 19 17:16:23 2008 +0100
+
+ draw: make room for extra_vs_outputs
+
+commit e7bac4276634ea1ee81ac71f6f6869f87e689872
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Apr 19 16:43:15 2008 +0100
+
+ draw: put pipeline flushing behind a new interface
+
+commit bee1d31641674c67676de86fbb4b35ca5bf7f33f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Apr 19 16:39:24 2008 +0100
+
+ draw: move pt_pipeline code to draw_pipe.c
+
+ This is now the drawing interface to the pipeline. No more
+ calling into pipeline.first->tri(), etc.
+
+commit c898eae27221bd23b11327553c215a94369eeb99
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Apr 19 15:35:22 2008 +0100
+
+ draw: always emit header in draw_pt_fetch.c
+
+commit 507fbe2d327efb8d608ce8e07436b97321560808
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Apr 19 15:29:27 2008 +0100
+
+ draw: move some pipeline-specific code & state to draw_pipe.[ch]
+
+commit 0959f909ba585968f0408e78961e1c0ffc69a9f8
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Apr 19 13:30:19 2008 +0100
+
+ draw: remove dead file pipe_wide_prims.c
+
+commit 1246d06313f443c91dea07239b43a88ba2b86dde
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Apr 19 13:20:26 2008 +0100
+
+ draw: remove named clipmask flags, tidy up pt middle ends
+
+commit 882e5d84dcb19c24b7b56cfe6049810023f3a17e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Apr 19 13:12:07 2008 +0100
+
+ draw: remove dead code
+
+commit 26831bdac594a11e51b6c4b09df78bb11444f5dd
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Apr 19 00:45:05 2008 +0100
+
+ draw: rename pipeline files to draw_pipe_*
+
+commit 43452886e2e33e33bdc57abe7e0b4af0abbbd2b1
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Apr 19 00:44:09 2008 +0100
+
+ cell: don't need to trim prims
+
+commit c717f1fbe25f16ce6e607b0f7319ce74f9ae99b4
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Apr 19 00:43:58 2008 +0100
+
+ softpipe: don't need to trim prims
+
+commit 1b411f894369f6a55c6f11cf650511eaa18a8510
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Apr 19 00:39:38 2008 +0100
+
+ draw: sort makefile sources
+
+commit 6c38c600ff1212699e2e8e0f2928cd9e69559ac5
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Apr 19 00:37:51 2008 +0100
+
+ draw: rename draw_vertex_shader.c -> draw_vs.c
+
+commit 6494946db66b62d280e34a0486b83cca15f5b457
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Apr 19 00:36:35 2008 +0100
+
+ draw: remove draw_debug.c
+
+commit 6d9132de04fc190fea56978849dfc427e5359912
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Apr 19 00:31:06 2008 +0100
+
+ draw: make draw_pt_fetch_emit use translate facility
+
+commit 251ebcc175d479dda8d0d5b64fc42f44e747197e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Apr 19 00:29:25 2008 +0100
+
+ draw: remove more dead data structures
+
+commit 6094e79f4e3350d123c7532b1c73faa60834a62d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Apr 19 00:27:12 2008 +0100
+
+ draw: remove dead data structures
+
+commit 711222bb7b4fd7ea8e7f801ac26532360bc5440f
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Apr 18 15:03:01 2008 -0700
+
+ autoconf: Default the build to DRI on OS+CPU combos where it's expected.
+
+commit 415e8e039ba38716336e8de3d7b3cdc23b9a9d8e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Apr 18 20:46:06 2008 +0100
+
+ draw: remove draw_vertex_fetch.c
+
+commit 709e33cf0bfd552220e46f44e8cfa2063c3cef69
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Apr 18 20:44:13 2008 +0100
+
+ draw: remove old draw_vertex_shader_queue_flush function
+
+commit dd903d83b3ff8dd19f75ac7542b96bc8f1387fe6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Apr 18 20:41:39 2008 +0100
+
+ draw: remove old vertex_shader->run() functions
+
+commit 66891826421d5b774e081f7a2a85580cd0523fab
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Apr 18 20:39:13 2008 +0100
+
+ draw: remove draw_vertex_cache.c
+
+commit b11d89dc6d230f7f945f9eb420d39921c648ec20
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Apr 18 20:36:38 2008 +0100
+
+ draw: remove draw_prim.c
+
+commit a41c05b20a36d2160aa232d08ed57d3095438025
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Apr 18 20:11:16 2008 +0100
+
+ draw: switch over to draw_pt paths, will remove old code shortly
+
+commit cb9f0a589623397c3437911aeef39f189213527a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Apr 18 20:05:36 2008 +0100
+
+ draw: remove draw_vf code, use translate instead
+
+commit 7b34a43d1ab74974bd157a2339d7a491aed9c9b4
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Apr 18 18:51:43 2008 +0100
+
+ translate: missing file
+
+commit 39c06c4336ee44ad2c0ff12705a384dede050bee
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 18 11:33:42 2008 -0600
+
+ gallium: get rid of unnecessary surface mapping
+
+commit e430d885e0d819172068805b1492cb6f10eb5d7f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 18 11:15:53 2008 -0600
+
+ gallium: a few comments
+
+commit 19218e2195f3dffc9403f16a742ba8c63edbf8b4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 18 11:15:18 2008 -0600
+
+ gallium: implement recip sqrt() with C code for now.
+
+ Some conformance lighting tests fail with the SSE rsqrt instruction.
+
+commit 26c27f6636069ca849a740c3969c577d841484e2
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Apr 18 18:42:41 2008 +0100
+
+ draw: remove fetch_pipeline middle end -- just use the general path
+
+commit 7400bc4b6fb0c20a935cd108afa92814eeafec6d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Apr 18 18:31:45 2008 +0100
+
+ translate: add sse version based on old draw_vf_sse.c
+
+commit 363f7abf2000c1cf5993ae8f83ba81b2054bf6e0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Apr 18 18:30:41 2008 +0100
+
+ rtasm: add x86_imul
+
+commit c5f0158a9179463593d63b33cf3b5490167faac9
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Apr 18 17:35:32 2008 +0100
+
+ tgsi: add const qualifier to tokens on sse emit
+
+commit f631bebe1a05c8af863e514546763433343b7c53
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Apr 18 17:34:55 2008 +0100
+
+ softpipe: fix const-related compiler warnings
+
+commit 59ba8ea00b0d80c48678f6e22d33ca638e19be75
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Apr 18 17:33:49 2008 +0100
+
+ gallium: reorder libs so that translate can see rtasm
+
+commit 5b97c762ed9882dd922f48c2fbf13b14ad86a96e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Apr 18 17:32:39 2008 +0100
+
+ rtasm: add a couple more insns, clean up x86_mul
+
+commit 073d9a28c2dc955956c940be6fcc4b3ab354cc6c
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Fri Apr 18 13:38:06 2008 +0100
+
+ gallium: Always pass colour clear value to driver as A8R8G8B8.
+
+commit da9079b936684f88da79425a810d7902e4d6e7ad
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Apr 18 20:59:28 2008 +0900
+
+ gallium: Add missing files to scons.
+
+commit a773f06e969a3992451dd7fe6fd55ea96b2774fa
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Apr 17 23:44:32 2008 +0100
+
+ draw: split off all the extra functionality in the vertex shader
+
+ This will at least allow us to make the initial gains to get decent
+ vertex performance much more quickly & with higher confidence of getting
+ it right.
+
+ At some later point can look again at code-generating all the
+ fetch/cliptest/viewport extras in the same block as the vertex shader.
+ For now, just need to get some decent baseline performance.
+
+commit 27e06a52342b94b4fb1d60a57c3bdaa2b30607cf
+Author: Dave Airlie <airlied@panoply-rh.(none)>
+Date: Fri Apr 18 15:37:54 2008 +1000
+
+ i965: fixup depth buffer check
+
+commit fda4895d26eec6d810da51a6c023a5459230ff6a
+Author: Dave Airlie <airlied@panoply-rh.(none)>
+Date: Fri Apr 18 15:14:48 2008 +1000
+
+ i965: fix vb aperture space check
+
+commit e92e3848e7c8c1481e785973d8609072f2f5db21
+Author: Dave Airlie <airlied@panoply-rh.(none)>
+Date: Fri Apr 18 15:09:11 2008 +1000
+
+ 965: fix vb upload size check
+
+commit e149e1b953bccdf735665547798574e06f989730
+Author: Dave Airlie <airlied@panoply-rh.(none)>
+Date: Fri Apr 18 15:05:35 2008 +1000
+
+ i965: fix gs_prog aperture check
+
+commit f2a6404ef39b4985788aaf9ec8b540704e5aa92b
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Apr 18 12:12:53 2008 +1000
+
+ i915: check for depth region before accounting its buffer size
+
+ fd.o bz #15573
+
+commit 008653ac55776d6b1c6d1627ad20937aa1c4dbda
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Apr 17 17:17:23 2008 +1000
+
+ i965: initial attempt at fixing the aperture overflow
+
+ Makes state emission into a 2 phase, prepare sets things up and accounts
+ the size of all referenced buffer objects. The emit stage then actually
+ does the batchbuffer touching for emitting the objects.
+
+ There is an assert in dri_emit_reloc if a reloc occurs for a buffer
+ that hasn't been accounted yet.
+
+commit 01b6354e72a84f8c3c22be1f77eab8d9c05920a3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 17 15:26:37 2008 -0600
+
+ gallium: tweak x/ybias values
+
+commit 5af9a690b2afc4c8f0f1118dad891b5ab53db597
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 17 13:21:26 2008 -0600
+
+ gallium: add missing pipe_surface_unmap() call
+
+commit 211170c192dfac5c2b39a6f34056255712fdfed6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 17 11:31:14 2008 -0600
+
+ gallium: plug in a select_destroy() function (fixes segfault on exit)
+
+commit ce454d2192918ae4b2535d0e76c68ebde3c4653f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 17 11:13:05 2008 -0600
+
+ gallium: assert that we're not deleting the currently bound shader
+
+commit f2b3f6cbdfc4799a0f742c06d2ce0755582c50c4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 17 11:12:44 2008 -0600
+
+ gallium: reorder some of the destroy context code
+
+commit 4dcb09d48981f07a82d7f609fe492453c8fdbcf4
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Apr 17 17:53:33 2008 +0100
+
+ gallium: Add new file to scons build.
+
+commit c503e55d74cf84f87f82b3dab3cb4d38b201d47a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Apr 17 14:43:40 2008 +0100
+
+ draw: move hw vertex emit to a new module
+
+commit fe8af141246bdfc0e98beec0089acdb92407bcfa
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Apr 17 14:42:05 2008 +0100
+
+ draw: don't always run pipeline if clipping
+
+commit 280bcff1fa200b790d8712946a4ffbaa47a67433
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Apr 17 14:20:00 2008 +0100
+
+ draw: add vertex shader run_linear function
+
+commit 938ec19210c5b4e19dcb2b606c9ade415f2c1f84
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Apr 17 14:19:03 2008 +0100
+
+ tsgi: make Consts const
+
+commit 49becd2d7c751e563ce6be9051dd8e6dad88d1f7
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Apr 17 13:14:55 2008 +0100
+
+ draw: add comment
+
+commit c96d565643de271c6bda066e892b25d0a97ea4d0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Apr 17 13:14:22 2008 +0100
+
+ draw: keep record of number of active vertex buffers
+
+commit 8abfcea690c66f75d61905f0ec5497b8fd7950d4
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Apr 17 10:37:53 2008 +0100
+
+ draw: remove misleading comments
+
+commit 08f9b190a798c9c61ae07208345d0c2b37e54d39
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Thu Apr 17 16:30:17 2008 +0800
+
+ Revert "[i965] renable regative rhw test"
+
+ This reverts commit 3158e981f5f37768e9b04765704b9eaece8b899b.
+ rhw issue has gone away on IGD.
+
+commit 8642dd30f927a113be0dcd75e4e93e59cf099431
+Author: Andrew Randrianasulu <randrik@mail.ru>
+Date: Thu Apr 17 02:51:02 2008 +0200
+
+ r200: accept PROGRAM_CONSTANT inputs due to mesa changes
+
+commit 4b822a101680532ce6df52904af91194b78a16ba
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 16 16:52:12 2008 -0600
+
+ gallium: implement RGBA pixel maps in the pixel transfer fragment program
+
+commit 52544aa23bebe68d6fc9b13dc55f6bb8c03430ff
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 16 09:46:38 2008 -0600
+
+ gallium: added util_pack_color_ub()
+
+commit dc5a853c85d2daa8b7b0e6d32e00c4976746d704
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 16 09:45:56 2008 -0600
+
+ gallium: make choose_format() non-static: st_choose_format()
+
+commit e38f677e8f5596d92a6756e13f41f6523de737c2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 16 09:09:08 2008 -0600
+
+ gallium: finish-up and fix support for GL_COLOR matrix on pixel xfer path
+
+commit 302daeb2ec62c59bd28d0c53cdc0fb07dc9d0f58
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 16 09:04:39 2008 -0600
+
+ mesa: added internal post color matrix scale/bias vars
+
+commit 3a765bbe00940c4dffce72b659f625d97ea17971
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Apr 16 22:32:10 2008 +0900
+
+ gallium: Use debug_get_bool_option for controlling assert failure behaviour.
+
+ Add
+ GALLIUM_ABORT_ON_ASSERT=no
+ to C:\gallium.cfg instead.
+
+commit 3be453bf7fcffd945ee0238e66ff4247a4491f1c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Apr 16 12:55:47 2008 +0100
+
+ draw: allow pt paths to run without a vbuf render stage
+
+commit d8c389171872b69af3c94ebab02ad5f4bcd2d4df
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Apr 16 12:31:19 2008 +0100
+
+ draw: remove vbuf non-vf debug path, fix some failure modes in draw_vbuf_create()
+
+commit 8b607f42d094e61432c5718b8baa0a68268ec150
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Apr 16 12:20:39 2008 +0100
+
+ softpipe: call setup_prepare earlier so that vertex info is correct when queried
+
+commit 909e8ce543a6c1e97d55791d2069cbdc56ea9db6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Apr 16 10:12:12 2008 +0100
+
+ draw: update debug code
+
+commit a8582efaca35d09c8ca18918a243a9284583356d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Apr 16 10:03:18 2008 +0100
+
+ draw: make pt run pipeline when need_pipeline is true, not just when clipped
+
+commit eff6f1203222a776c5990b5d104b57a7f69b9aab
+Author: Dave Airlie <airlied@linux.ie>
+Date: Wed Apr 16 20:42:15 2008 +1000
+
+ fixup r500 bits for renaming
+
+commit 09df5eaff2ba2694b82d1211fd24410cb2997e25
+Merge: 9566cf0 b64448b
+Author: Dave Airlie <airlied@linux.ie>
+Date: Wed Apr 16 20:25:08 2008 +1000
+
+ Merge branch 'master' into r500test
+
+ Conflicts:
+
+ src/mesa/drivers/dri/r300/r300_cmdbuf.c
+ src/mesa/drivers/dri/r300/r300_ioctl.c
+
+commit b64448b3e4026d3f11f366515b7544a6581403f3
+Author: Dave Airlie <airlied@panoply-rh.(none)>
+Date: Wed Apr 16 16:49:32 2008 +1000
+
+ bufmgr_fake: disable debugging again
+
+commit 96338dd1470bb088cbbe50d629cd30175245a784
+Author: Dave Airlie <airlied@panoply-rh.(none)>
+Date: Wed Apr 16 16:37:13 2008 +1000
+
+ intel: fix _mesa_error ctx I introduced at lsat minute
+
+commit 7cc7ff7051d427ff45b4d7d3664e2eecd13d0e13
+Author: Dave Airlie <airlied@panoply-rh.(none)>
+Date: Wed Apr 16 16:22:05 2008 +1000
+
+ intel/fake_bufmgr: Attempt to restrict references to objects in a batchbuffer > aperture size.
+
+ So with compiz on Intel hw with fake bufmgr, opening 4 firefox windows at 1680x1050 and hitting alt-tab, could cause the batchbuffer to try and reference more than the 32MB of RAM allocated.
+
+ Fix 1:
+ Fix 1 is to pre-verify the list of buffers against the current batchbuffer and if it can't possibly fit in the aperture to flush the batchbuffer to the hardware
+ and try again. If the buffers still can't fit well then you are hosed as I'm not sure there is a nice way to tell anyone.
+
+ Fix 2:
+ Next problem was that even with a simple check for total < aperture, we ran
+ into fragmentation issues, this meant that half way down a set of buffers,
+ we would fail as no blocks were available. Fix this by nuking the memory
+ manager from orbit and letting it start again and relayout the blocks in a
+ manner that fits.
+
+ Fix 3:
+ Finally the initial problem we were seeing was a memcpy to a NULL backing store.
+ We seem to end up with a texture at some point that never gets mapped but ends up with data in it. compiz al-tab icons have this property. So I created a card dirty bit that memcpy's any buffer that is !static and is written to back to memory. This probably is wrong but it makes compiz work for now.
+
+ Caveats:
+ 965 support is still fail.
+
+commit fd6acabd2f62fe006b078ae7640a944c7f65903c
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Apr 16 11:42:08 2008 +0900
+
+ gallium: Get the translate module to build on msvc.
+
+ Appearently MSVC c-preprocessor parses "255.0f" as two tokens:
+ "255.0" and "f", and performs variable substitution on "f".
+
+commit e2269e94c0ecaa97c7153815489e59c9ca64c243
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Apr 16 11:39:22 2008 +0900
+
+ gallium: Build and link the translate module.
+
+commit a5a7dc24ba2dcf9bbdd73709c4c182e324bdc3a5
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Apr 15 19:14:31 2008 +0100
+
+ gallium: Switch one vertex path over to new translate module
+
+ Will eventually do this for all instances where we are converting vertices
+ from one format to another.
+
+commit 08861688d3ca7a798345747a549597a52dcb6f98
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Apr 15 15:07:50 2008 +0100
+
+ gallium: add translate directory
+
+commit 8cac6f3fcf9d6c08959efc20f8fce9eddbdcd0ef
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Apr 15 14:52:56 2008 +0100
+
+ draw: increment output vertex properly
+
+commit 7eb6f130a1dfb8179ff371eb4e75b47d6ee45d2a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Apr 15 14:44:39 2008 +0100
+
+ draw: fix first glitch in vertex emit
+
+commit 59f68f36c4ad37496e3ed5d7d3142e3ae35dd351
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Apr 15 14:40:16 2008 +0100
+
+ translate: typo in emit_B8G8R8A8_UNORM
+
+commit c81bbab6f6c0413996799800cac6fb49a698e765
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Apr 15 14:35:29 2008 +0100
+
+ gallium: add a generic vertex (or other) buffer translation module
+
+commit 6a26a9c58cc38ff636ee88ce01fed40eea500fc0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Apr 15 14:28:41 2008 +0100
+
+ draw: fetch_shade_pipeline needs to translate to hw vertex format (from get_vertex_info)
+
+commit f2ee51e7d9a9bde8fd7de29b382d11fe0d58226d
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Tue Apr 15 12:08:36 2008 +0200
+
+ i915: Changed name to i915_dri.so
+
+commit a68f664124592829a3b715388e6cfa43f82900c8
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Apr 15 18:11:47 2008 +0900
+
+ gallium: Cache one line worth of debug output on windows.
+
+ The windbg connection seems synchronous, so this speeds up when printing
+ little text at a time (e.g., tgsi output).
+
+commit 3c4f1ba5a2edefd69b2c47abaf534fb3af3f259d
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Apr 15 17:08:10 2008 +0900
+
+ gallium: Eliminate stdio file usage. Remove unused stuff.
+
+commit 7619240cc0c24d3ad4d2424e65110c0326a12dad
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Apr 15 15:58:14 2008 +0900
+
+ gallium: Fix seg fault (James Vogt).
+
+commit 95aeeb6d746e57473116ef4d72c05330902f68a5
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Apr 15 15:41:08 2008 +0900
+
+ gallium: Several fixes to buffer caching.
+
+commit d005befcb9e191ae90619fbdd3c37e262ae3b03e
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Apr 15 15:40:35 2008 +0900
+
+ gallium: Less confusing interface for timeouts.
+
+commit 50bbbbe581edd6b8d4fe9f8ba7f134e17dc80a0b
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Apr 15 14:58:32 2008 +0900
+
+ gallium: Remove middle of scope declarations.
+
+commit 0b995b44e5a02dd4a3abdb6b2a0821a32e597e7c
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Apr 15 12:35:00 2008 +0900
+
+ gallium: Fix mismatching prototypes.
+
+commit a175e15f20b2a231cc9d09099e7b6d8aea6c624e
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Apr 15 12:34:33 2008 +0900
+
+ gallium: Allow to use a single slab.
+
+ We often want to use a pool of equally sized buffers, so this makes the
+ slab suballocator a drop-in replacement.
+
+commit 7d2085bd7d9378703bfff3d974536ff5e9fd9b30
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Apr 15 13:25:28 2008 +1000
+
+ nouveau: PIPE_ATTRIB_MAX -> PIPE_MAX_ATTRIBS
+
+commit 276e177dfb644c60af6247598cda6c1c49dfea7b
+Merge: 7f811f2 d3878b0
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Apr 15 13:23:23 2008 +1000
+
+ Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1
+
+commit bbb042f0b809ebb754547397b8f22a5751c275da
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Apr 14 20:54:13 2008 -0600
+
+ fix multi-draw buffer regression
+
+commit d3878b070b7b5084526b65499737cc686a6039b6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Apr 14 21:01:40 2008 -0600
+
+ gallium: enable new quad output code, remove old code
+
+commit 90b9a11a6d69f1cf6c837def0e8a9b598079ef1b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Apr 14 20:58:05 2008 -0600
+
+ gallium: fix semantic indexes for outputs
+
+commit e4b3c13d7a7dbd716bdf4b4d2dda8c6e579bd2d1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Apr 14 20:57:15 2008 -0600
+
+ gallium: fix multi drawbuffer fb state
+
+commit b54225ccd6d3bc1b678e27c2f00ebddf5bf1046d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Apr 14 20:56:08 2008 -0600
+
+ gallium: set ctx->Const.MaxDrawBuffers
+
+commit fdd794dcfa33482bdabe7c04ec9df655e0c69bfc
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Apr 14 20:55:14 2008 -0600
+
+ gallium: fix PIPE_CAP_MAX_RENDER_TARGETS query
+
+commit 01c7dd2629d161bf87af679a3045e1e2d54259fc
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Apr 15 10:38:05 2008 +0900
+
+ gallium: Add draw_pt_fetch_shade_pipeline.c to scons build.
+
+commit 5b8fa518476868530d748ce6d03674e9cca3d89f
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Apr 14 23:55:36 2008 +0900
+
+ gallium: Don't assume snprintf are always available.
+
+commit 21ae3d2721326d56c76370fd8bfcc1536203925d
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Apr 14 22:39:33 2008 +0900
+
+ gallium: Serialize buffers writes.
+
+ Allow concurrent reads from buffers by the CPU/GPU, but serialize
+ all writes.
+
+commit 5807c0242c38742d96c7ada3503f3198070aa208
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 14 14:38:11 2008 -0600
+
+ fix GL_ARB_texture_rectangle breakage
+
+commit 118c2bc860037f084166d3406039d82198ddf3d6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 14 14:10:32 2008 -0600
+
+ only use __x86_64__, not __amd64__ (bug 15503)
+
+commit 8fd2b7d9ddbc3c832d0452eb32709d8c835fb193
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 14 13:43:24 2008 -0600
+
+ fix GL_ARB_texture_rectangle breakage
+
+commit 3403f9fe1347712098f6b7e809928bba4a0d4af0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 14 13:40:43 2008 -0600
+
+ check for _WIN32 and __WIN32__
+
+commit 7be8d5664aa3005f5ec19dd48b0719ed94e8b252
+Author: David Flynn <davidf+nntp@woaf.net>
+Date: Mon Apr 14 12:55:12 2008 -0600
+
+ define #extension GL_ARB_texture_rectangle
+
+commit 78852986e6379a615a5742951f0fc6470e7c9d12
+Author: David Flynn <davidf+nntp@woaf.net>
+Date: Mon Apr 14 12:56:10 2008 -0600
+
+ mesa: define #extension GL_ARB_texture_rectangle
+
+commit f58ab8e75c082a0aea36ed63fe7e21fb5fac14b6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 14 10:56:56 2008 -0600
+
+ gallium: take reduced prim, fill modes into account when culling
+
+commit 983b6a73e1842b436d158dc1d018bd483a1c9929
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Apr 14 12:32:25 2008 -0400
+
+ use the new macro
+
+commit 2ba6e1fa71be07a2d75abe2d085d485046c0932b
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Apr 14 12:29:23 2008 -0400
+
+ silence some warnings
+
+commit e3309197855b5caf7c4c167d1e7beedf33ed2fdd
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Apr 14 12:27:24 2008 -0400
+
+ pass vertex size to shaders so that callee can decide on the size
+ of the vertices and not always have to use the maximum vertex
+ allocation size for them
+
+commit 871d39ec8c168fa58d8758013e99da63fa58111d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Apr 14 16:18:00 2008 +0100
+
+ softpipe: calculate determinant for all triangles, don't rely on draw module to do it
+
+commit 8cbda9f1088718e5dbb97b9a6ddcc43737f94351
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Apr 14 16:15:39 2008 +0100
+
+ draw: remove dead code
+
+commit ca750dd045893ca5a9e1c33bd31528ade7bb1009
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Mon Apr 14 17:02:02 2008 +0200
+
+ Removed intel_ioctl it wasn't needed
+
+commit 36bacf97a6b10f7274f0d3fcf37bf7ebf9388161
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Apr 14 12:46:47 2008 +0100
+
+ draw: always malloc verts for fetch_shade_pipeline
+
+commit a82e4996a13ef3cae1497fef95c2fca7631cd889
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Apr 14 12:32:53 2008 +0100
+
+ draw: flush pipeline before trying to allocate more hw vertices
+
+commit e106b2d3d65585b0aaa0e60afd541da020d9e220
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Apr 14 12:27:25 2008 +0100
+
+ draw: move vertex header init out of fetch_shade_pipeline.c
+
+commit caf293343fd236e97ce399533ac0ada3c7afee7a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Apr 14 12:08:46 2008 +0100
+
+ draw: hide passthrough shading paths behind an environment variable
+
+commit 8e7326832a7420154fc0d526ac682494db1be160
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Apr 14 11:32:50 2008 +0100
+
+ softpipe: do our own culling, don't rely on the draw module.
+
+ May not always happen due to passthrough modes, etc.
+
+commit 0c1cb54923f3ab31caa2821e095685277174dd2f
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Sun Apr 13 01:47:07 2008 -0400
+
+ Implement fetch/shade/pipeline or emit vertex passthrough.
+
+commit 3f7a3dd58c0ce2719af83ff1d89a26185d08c04c
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Sat Apr 12 21:52:46 2008 -0400
+
+ Make shaders operate on a block of memory instead of arrays of vertex_header's
+
+commit 808f968f3ad0cb32e86f517753d5715d00e9ec2c
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Fri Apr 11 19:58:22 2008 -0400
+
+ return true if one of the vertices has been clipped
+
+commit aadbb1d7fbbaada6e378cb60194e5861cadf98d1
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Sat Apr 12 15:45:28 2008 -0400
+
+ pass arbitrary number of vertices to the shader execution cycle
+
+commit 4f550ab821f9aef9f19d9f1e10785f8c1f511ad4
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Apr 7 20:38:39 2008 -0400
+
+ introduce a define to maxout the processed vertices
+
+commit 84994693f53668d5ca72d57765a0729fe343593b
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sun Apr 13 18:52:54 2008 +0900
+
+ gallium: Add u_time.c
+
+commit fb2b5f7a4ac411a5bb5cde12ba15265b30c032e8
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sun Apr 13 15:10:01 2008 +0900
+
+ gallium: Buffer cache.
+
+commit 21c302b0ec39480a7eaab7827cce5b609d196606
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sun Apr 13 14:10:46 2008 +0900
+
+ gallium: Initial port of Thomas slab suballocator to pipebuffer.
+
+ Not tested yet -- just compiles.
+
+ This includes only the slab algorithm. Fencing is already
+ implemented in pb_bufmgr_fence and time-based caching will be commited in a
+ separate module shortly.
+
+commit cd5931240688cb8bd12834e3ba23f858f26dbf8c
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sun Apr 13 12:23:26 2008 +0900
+
+ gallium: OS independent time-manipulation functions.
+
+commit 45cc4f546e034adff39c42032a47147e6ab91a08
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sat Apr 12 22:59:17 2008 +0200
+
+ tgsi: Fix source register short dump code.
+
+commit 7f811f2c42937f254ae1b11e5b0ece765a8ea31b
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Sat Apr 12 22:16:42 2008 +0200
+
+ nv30: Update miptree stuff
+
+commit 2ebc99fcbc0c8fc6f6ce50e2ee674312e214ea2f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Apr 12 11:03:56 2008 -0600
+
+ gallium: move duplicated compute_clipmask() code to draw_vs.h
+
+commit 5dcfc1f1b637aefbed631cc1265ce3808f2ff249
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Sat Apr 12 14:34:59 2008 +0200
+
+ Fixed memory leak
+
+commit 32134b5508495fbb1d9fc2f844e22fbb082dcda6
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Sat Apr 12 02:40:27 2008 +0200
+
+ r200: fix XPD vertex program instruction when using temps as inputs
+
+ due to the two read ports limit into temp memory may need the MAD_2 instruction
+ for the second instruction of the decomposed XPD.
+ While here, also try to avoid MAD_2 for MAD if all 3 inputs are temps but the
+ temps aren't actually distinct.
+
+commit 186277ee928a7c9ad8a31776f93e502613ad94fd
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Fri Apr 11 23:39:29 2008 +0200
+
+ nv30: Move some structures and functions from context to screen
+
+commit 593cf5a6b55eb9b490a2aee2c3850d2d493fc4df
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 11 15:27:00 2008 -0600
+
+ gallium: merge the tgsi_emit_sse2() and tgsi_emit_sse2_fs() functions.
+
+ The two functions were mostly the same. We can look at the shader header
+ info to determine if it's a vertex or fragment shader.
+
+commit 7c2416f06e518bc1491fe13e145dcc9487d75449
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 11 15:02:21 2008 -0600
+
+ gallium: handle TGSI immediates in SSE code for vertex shaders
+
+commit e3cf0cd6a9f3f072594e5712763b98ce7e579bcf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 11 14:18:07 2008 -0600
+
+ gallium: implement immediates (aka literals) for SSE fragment shaders
+
+commit 097301395d33d57d19bc942f236b4a8c912cc0cc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 11 13:44:47 2008 -0600
+
+ gallium: comments
+
+commit 9e8a85ef670dfb7d356d6066bad4710683a07fd9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 11 13:21:39 2008 -0600
+
+ gallium: fix SCS codegen (sin scalar src comes from X, not Y)
+
+commit 16900515214912557dfd35e3b333e0e312b8bc61
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Apr 11 13:21:22 2008 -0600
+
+ mesa: fix broken x86_call()
+
+commit 4d184cc33131b440f9aafbcdd2d657050411db49
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Apr 11 13:20:52 2008 -0600
+
+ gallium: fix broken x86_call()
+
+commit 4c498c1b0c38a3ba93649fa4435937d15689bae1
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Fri Apr 11 21:37:41 2008 +0200
+
+ nv30: Do flip
+
+commit b1de9c948f9794db97ed7d34b8cbcdccc206ea77
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Fri Apr 11 21:37:28 2008 +0200
+
+ nv30: Set pipe status on clear
+
+commit 02250c855fbec5299a2d6118fefa0523ec73654c
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Fri Apr 11 17:45:41 2008 +0100
+
+ gallium: Flush render cache at the beginning of fallback_copy_texsubimage().
+
+ It may get stale bits otherwise.
+
+commit d758479b9fbff803bdac15f3f39d32ef9064db71
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 11 10:14:17 2008 -0600
+
+ mesa: Fix glBegin-time test for invalid programs/shaders.
+
+ Cherry-picked from master.
+
+commit 51ad219d6fbcdaa50e2f1b5854dfbbc4b8cab8fc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 11 09:35:18 2008 -0600
+
+ fix failed assertion (parameter can be a PROGRAM_CONSTANT)
+
+commit 6d0f9d5a01b1104716d9562e0775e6a144dc9f89
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 11 09:21:37 2008 -0600
+
+ mesa: new Z-compositing test (glDrawPixels(GL_DEPTH) + stencil)
+
+commit e1c35601529d396dcaa75523fe16114c25221a40
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 11 09:01:04 2008 -0600
+
+ add missing glViewport calls
+
+ cherry-picked from master
+
+commit b69eb0360afbdfe45a895f51e8b9b856e65e4879
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 11 08:59:05 2008 -0600
+
+ add missing glViewport calls
+
+commit 3f4e80c06b5b6efcd540ca5daf734100fad19ff0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 11 08:08:22 2008 -0600
+
+ comments
+
+commit f41cc50ef063e9a56dc2d0fc6564a0c0f4344b83
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Mon Apr 7 11:46:57 2008 +0200
+
+ tgsi: Dump processor type and version as a single token.
+
+commit 2483062f10e93fbbc5e3f629627b9e8addcc3f84
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Mon Apr 7 11:44:34 2008 +0200
+
+ tgsi: Dump semantics before interpolator.
+
+commit 03a3373bdf929b6b7c43600c9eebb0c4ee3ff38f
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Apr 11 12:11:14 2008 +0900
+
+ gallium: Thread condition variables.
+
+commit 544c236db10a0d4889014cd82e81b1de3451b5db
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 10 18:28:43 2008 -0600
+
+ mesa: add a new test for glDrawPixels(GL_DEPTH_COMPONENT)
+
+commit 87b0b8e7bc3b4ce4be90a271b9fced1c97df6c95
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 7 16:53:41 2008 -0600
+
+ gallium: flags param to surface_alloc_storage() is unused and deprecated
+
+commit bc56e87ce180ddca63bcb9774366fc380214a2ef
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Apr 10 22:57:21 2008 +0900
+
+ gallium: Attribute realloc leaks to the first malloc call.
+
+commit 23635510e3333ea8056311afa741c5e6d7c9ec15
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Apr 10 15:45:52 2008 -0400
+
+ Get the default GLXPixmap texture target from the server when appropriate.
+
+ Fixes compiz with direct rendering when both GLX_TEXTURE_2D_EXT and
+ GLX_TEXTURE_RECTANGLE_EXT are supported for a GLXPixmap and the
+ application didn't specify the texture target as a GLX drawable attribute
+ when creating the GLX drawable.
+
+commit c95dcc49629b72b95826e87e067d7a48753605fb
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Apr 8 17:59:28 2008 +0100
+
+ remove usage of vertex_header
+
+commit 7a8ad75c89b45520043693a37d9f0c7e0b24fc5d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 10 10:30:46 2008 -0600
+
+ gallium: fix readback of z16 values
+
+commit 842b8b4c336657f717ee8d47fd4918be84a92d48
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Apr 9 22:30:14 2008 -0600
+
+ more make clean items
+
+commit 26f0b8f5068bcaa8269030c86e0ab493bdc9f2e8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Apr 9 22:29:33 2008 -0600
+
+ use InitUniforms()
+
+commit 2dca3373ae6207d2deb375148f4dce1817cfd5b7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Apr 9 22:28:23 2008 -0600
+
+ Replace duplicated code with new shaderutil.c functions
+
+commit 90caba3d766406db32e51387f830ce55836f0709
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Apr 9 22:27:36 2008 -0600
+
+ shader utility functions
+
+commit 311e40268414649f047ee177ba22a17a2d437843
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 9 18:39:51 2008 -0600
+
+ gallium: more elaborate tracking of front color buffer state
+
+ This fixes the case where the app calls SwapBuffers then calls glReadPixels
+ to read the front color buffer. We now keep track of when the front buffer
+ is a _logically_ copy of the back buffer (after SwapBuffers) and read from
+ the back color buffer instead of the front.
+
+commit 54d7c399a888283711bdc00f93cb54a3ce0b30eb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 9 16:59:14 2008 -0600
+
+ gallium: more flush/finish changes
+
+ New, separate is_front_buffer_dirty() function.
+
+commit 4ecbd5a70fba3e7d5f8b56ede34867ea5964afc6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 9 16:32:46 2008 -0600
+
+ gallium: reorder funcs
+
+commit aade2f41b0d5cf0fb44e094c0b10cfaf1f621aec
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 9 16:32:22 2008 -0600
+
+ gallium: call_flush_front_buffer() from st_glFinish()
+
+commit 574f964667c5ec35f4832c839a9dcc24f92e2aab
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 9 16:30:28 2008 -0600
+
+ gallium: fold st_gl_flush() into st_glFlush()
+
+commit 9c86c0e88b09370584f767747c52b7f352844ac5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 9 16:26:56 2008 -0600
+
+ gallium: refactor code, new flush_front_buffer() function
+
+commit a52faa9325db178601811f4bdad6d9747de5f238
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 9 16:09:46 2008 -0600
+
+ gallium: remove unneeded st->haveFramebufferSurfaces field.
+
+commit f7e475280a0b98484a8c1a98f18b2733532486b4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 9 14:17:48 2008 -0600
+
+ gallium: fix bug in PIPE_BLENDFACTOR_INV_DST_ALPHA case
+
+commit f9c8af31c5a46d176c732f71259a460753276ef6
+Author: Hasso Tepper <hasso@estpak.ee>
+Date: Wed Apr 9 11:03:05 2008 -0700
+
+ Add support for dfbsd to mklib script.
+
+commit 43887cf3967515f8e910e5091718e8e4f3a2edf7
+Author: Hasso Tepper <hasso@estpak.ee>
+Date: Wed Apr 9 10:56:12 2008 -0700
+
+ Add $(X11_INCLUDES) to shut makedepend up.
+
+commit 9f8df2d07f47b970b98ebcf98180022e03fbee52
+Author: Hasso Tepper <hasso@estpak.ee>
+Date: Wed Apr 9 10:51:21 2008 -0700
+
+ autoconf: Add dfbsd support.
+
+commit bdfcce47921cdd808740ee26e6781837351bad98
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Apr 9 13:58:51 2008 +1000
+
+ nv40: use vb/ve counts rather than shader inputs for related loops
+
+commit da8934034b33adef5dc41395cfde4bdd26ba207c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Apr 8 21:43:36 2008 -0600
+
+ gallium: re-order, clean-up PIPE_MAX_* definitions
+
+commit 2a8de8ff94e0e0e52e03f8c8427a9e92fae374f4
+Merge: 2655f69 7e57a9e
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Apr 9 13:42:55 2008 +1000
+
+ Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1
+
+commit be37e8350f9b95fb50fbce3a2bd84098ad27e462
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Apr 8 21:38:44 2008 -0600
+
+ gallium: remove obsolete/unused PIPE_ATTRIB_MAX
+
+commit 7e57a9e8bba322b2ba8a02eec4b79c90e7052738
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Apr 8 21:18:21 2008 -0600
+
+ cell: keep track of num_vertex_attribs/buffers for shorter loops
+
+commit 1f888abf16ce4de00231505b8d1bc68426b04e8f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Apr 8 21:14:58 2008 -0600
+
+ i915: keep track of num_vertex_attribs/buffers for shorter loops
+
+commit 28cf8c8fdcbd2817b93f27cad2bba3b4fb8aecf5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Apr 8 21:07:14 2008 -0600
+
+ gallium: keep track of num_vertex_attribs/buffers for shorter loops
+
+commit 2771862adcbc163c0a3f3eaaf4b58c658e72f680
+Author: Jie Luo <clotho67@gmail.com>
+Date: Tue Apr 8 19:17:06 2008 -0400
+
+ Handle fbconfig comparison correctly for attributes the X server didn't send.
+
+commit c016f329abb3d638442bf0b0f27d8f34ebf54f86
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Tue Apr 8 18:26:24 2008 -0400
+
+ Only convert configs if screen creation was successful.
+
+ Thanks to Adam Jackson for pointing it out.
+
+commit bd56b21adf5eafebe6df90eac12f0f9eaa9e225f
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Tue Apr 8 18:40:36 2008 +0200
+
+ i915: Added debug counter to bufmgr
+
+commit 1d43a8b25513866d67b5b16ae1945d6e9d95743d
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Tue Apr 8 17:24:33 2008 +0200
+
+ i915: Fixed fence related problems
+
+commit 2dd6022e65972b0706011734b68da4e9177b05c3
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Tue Apr 8 15:01:16 2008 +0200
+
+ i915: Fixed fence leak in intel_swapbuffers.c
+
+commit 4382b0c9cba3efa8a60252f6ddf2f0653352f7d8
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Apr 8 20:42:06 2008 +0900
+
+ gallium: Fix overzealous assert.
+
+commit f97c56e057f954cbc477df10ad767636f3fe83ce
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue Apr 8 10:53:37 2008 +0100
+
+ gallium: Fix up scons build.
+
+commit caa5b1736dd4c4ba85966fa7710c52da406b1dce
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Tue Apr 8 11:48:44 2008 +0200
+
+ Added fence counter to fence manager
+
+commit 4c0f72432393e324d608474d24d20ebb465cb2ca
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Tue Apr 8 11:26:52 2008 +0200
+
+ Fixed user_buffer memory leak
+
+commit 17f640990350823f530257ee1b1fa7fa1f83493f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Apr 7 22:00:41 2008 -0600
+
+ gallium: get rid of bufloop quad stage
+
+commit c7daa68ca312cc98abe351be2fef8d8246929627
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Apr 7 21:59:12 2008 -0600
+
+ gallium: begin reworking quad stages for multiple color outputs
+
+commit 4e2127b0e5cb6411123e16dd562626cd70814a9a
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Apr 8 11:30:36 2008 +0900
+
+ gallium: Allow to debug memory leaks in nested scopes.
+
+commit 985134211d9fbfe9b7885beeeb85fdcf2ab78f87
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 7 16:45:17 2008 -0600
+
+ gallium: check ctx->DrawBuffer before flushing bitmap cache.
+
+ During context unbind, we may not have a draw buffer.
+ This fixes demos/tunnel2.c
+
+commit d28a2004b8a69d66595f2c6b5398085b73873533
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 7 15:53:49 2008 -0600
+
+ gallium: fix the texture case in default_deep_rgba_format()
+
+ Fixes glean pixelFormat test
+
+commit 2b8b2420d48b1b9ce0ec4010ce3968a91a57a4c9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 7 15:05:28 2008 -0600
+
+ gallium: slightly improved accum clear/mad operations
+
+ Instead of get/put_tile(), map the buffer and operate on values directly.
+
+commit 0dd596fbc7f88b88467529a7f176aca70d70f731
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 7 14:53:49 2008 -0600
+
+ gallium: accum buffer fixes
+
+ If the driver can't create a PIPE_FORMAT_R16G16B16A16_SNORM surface, create
+ an accum surface using a shallower format and taller height. Since only the
+ accum buffer code accesses the surface the actual format doesn't really
+ matter, just that there's enough memory.
+
+commit 29b65a709cae779debc4bcdbfaa66cfe72f7074f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 7 14:17:32 2008 -0600
+
+ gallium: remove stray comment
+
+commit 2b2d0e05842691e715782a64845aeca12a428427
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 7 13:50:02 2008 -0600
+
+ gallium: clean-up in st_renderbuffer_alloc_storage()
+
+commit d5d93a31580cf58744b4d186a4ab8fac09743a33
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Mon Apr 7 19:40:43 2008 +0200
+
+ i915: Pulled in changes from i915tex
+
+commit d945e8ddd7cc8f2882ea0a2336bc2e534a1bca78
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Mon Apr 7 19:40:01 2008 +0200
+
+ mesa: Pulled in glthread from i915tex
+
+commit 24fc93ebdc119ee01d6ce47ea4fe33a2a8067bd2
+Author: Jakob Bornecrantz <jakob@tungstengraphics.com>
+Date: Mon Apr 7 19:39:28 2008 +0200
+
+ gallium: Stop warnings
+
+commit 42a9218daa8f564ea1b992a48cc3c375fd1b815e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Apr 7 11:22:41 2008 -0600
+
+ mesa: call _mesa_remove_varying_reads() after compiling vertex shaders
+
+commit 48a25bdd3693ec4a2556efb3c387cc3eb8151cb5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Apr 7 11:20:21 2008 -0600
+
+ mesa: new _mesa_remove_varying_reads() function
+
+ We'll apply this function to GLSL vertex programs. In GLSL it's legal to
+ read and write varying (output) vars in a vertex shader. But reading from
+ an output register isn't supported by all hardware. This routine examines
+ the vertex program for that condition and rewrites it to use temporary
+ registers where needed.
+
+commit 5d1e73028aabfa1470bfed02c705a2696706f857
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Apr 7 11:16:18 2008 -0600
+
+ mesa: added _mesa_insert_instructions()
+
+ Also, use new _mesa_free_instructions() in a few places.
+
+commit f3bd7bf5c913d2a58d424e995b4d441e402bd62b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Apr 7 11:15:23 2008 -0600
+
+ mesa: added _mesa_free_instructions()
+
+commit 2655f6901289bcfe3835cf28d7b9eefa242045b8
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Apr 7 20:10:40 2008 +1000
+
+ nv40: implement user clip planes
+
+ It turns out the user planes handed to the driver are already in clip space.
+ Hence, we no longer need to transform incoming vertices before computing the
+ clip distance, and no longer need to change the interface provided by
+ gallium. Yay :)
+
+ The clip state change handling could be better, but this works.
+
+commit a8a5376406cabf5aa6a44f7d37f5f8abbb4adf56
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Apr 7 12:28:31 2008 +0100
+
+ draw: strip edgeflags out of fetch-emit path
+
+commit da3e48186dc25f40925ca89b08baa5cd34143647
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Mon Apr 7 10:28:42 2008 +0200
+
+ r300: Fix r300VAPInputRoute{0,1} for big endian platforms.
+
+commit 5c19e47362c2d193850e98bd43a2bc2b783b0b5c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Apr 6 14:29:30 2008 +0100
+
+ draw: fix edgeflag handling on the pt paths
+
+ Encode edgeflags (and reset_stipple info) into the top two bits of the
+ fetch elements. This info could be moved elsewhere, but for now we
+ can live with a 1<<30 maximum element size...
+
+ Also use the primitive decomposition code from draw_prim.c verbatim, as
+ it includes all this stuff and is known to work.
+
+commit a8ca54955322b34c77a7459246e5639d3f8610cd
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sat Apr 5 10:22:47 2008 +0200
+
+ draw: Use debug_printf().
+
+commit fdff063343ddfbfb1b2fa921e2efcc2fae35d0ad
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat Apr 5 11:29:26 2008 +0900
+
+ gallium: Keep fenced buffers list ordered.
+
+ This allows to keep the list small without the overhead of full walks.
+
+commit f1efef809caddff442ed45a59645b3f39498f521
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat Apr 5 09:49:50 2008 +0900
+
+ gallium: Fix typo.
+
+commit c1d26d3dccafed808349c47dc12b94081f956560
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Apr 2 10:21:24 2008 +0900
+
+ gallium: Use the custom snprintf implementation everywhere (for Win32).
+
+ Because winddk's implemenation does not handle floats.
+
+commit 5d73502625d03f428e3d95f5d042c6ba7eab0ff5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Apr 4 19:26:29 2008 -0600
+
+ 7.0.3 updates
+
+commit fad7933c4455a9ac0b347b9ae17f46276ded9a2f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Apr 4 19:25:26 2008 -0600
+
+ updated w/ 7.0.3 release
+
+commit 6eddb4cb203325454a546fc76dededeeae2d9cbc
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Apr 4 19:25:14 2008 -0600
+
+ import 7.0.3 relnotes from 7.0 branch
+
+commit c3240b5ff8349f7041641344e1eba0a6ecf0b16c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Apr 4 18:55:22 2008 -0600
+
+ added glGetActiveUniform_func
+
+commit 40905c909d4c2bcb255acc946204633cc1ee94b4
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Apr 4 09:38:22 2008 -0600
+
+ mesa: add missing glPush/PopMatrix() calls
+
+commit ae0ea14ff6f449ee4440fc5fdbf8e06bbbd13113
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Apr 4 07:30:29 2008 -0600
+
+ mesa: add missing glPush/PopMatrix() calls
+
+commit bc029247d9d886f4546a4c3a36737d09c488b7f9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Apr 4 18:59:21 2008 -0600
+
+ mesa: no longer combine vertex/fragment shader parameters/uniforms
+
+ GLSL Vertex and fragment shaders now have independent parameter buffers.
+ A new gl_uniform_list is used to keep track of program uniforms and where
+ each uniform is located in each shader's parameter buffer.
+ This makes better use of the space in each buffer and simplifies shader linking.
+
+commit b8cc9e88e067a5cd6a1acbae6d6a314e9165652f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Apr 4 18:57:40 2008 -0600
+
+ mesa: new functions for managing list/index of uniforms
+
+commit 8a8e7b22c0cf3df7ee1fe598d20c48c593d9804d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Apr 4 18:56:22 2008 -0600
+
+ mesa: test code to exercise more GLSL functions
+
+commit f7f4b81ad8984384f1771de185daf3d3277f505d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Apr 4 18:55:48 2008 -0600
+
+ mesa: added more ext funcs (from Mesa/master)
+
+commit b53d6ae4be955c701695e093ea4457ab1c9c0ed7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Apr 4 18:28:14 2008 -0600
+
+ gallium: always pass size=4 to make_immediate()
+
+ Mesa always packs 4 immediates into each parameter/const buffer slot.
+ I think we were just getting lucky with this as it was.
+
+commit 74a6a46b749668032c17f8fb2312e927f214768c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Apr 4 16:44:09 2008 -0600
+
+ gallium: adjust the code in update_textures() to look more like update_samplers()
+
+commit fe1c9c05855e364f7d9e0e2d1f5781440ae16034
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Apr 4 09:37:21 2008 -0600
+
+ mesa: add missing glPush/PopMatrix() calls
+
+commit 1e4cd24e9c549adf3fcb93ec84c922974283fb92
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Apr 4 07:29:28 2008 -0600
+
+ mesa: add missing glPush/PopMatrix() calls
+
+commit f32c51277498887b348133ebcd947dbc8acce756
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Fri Apr 4 21:10:07 2008 +0200
+
+ gallium: state tracker fixes for compressed textures
+
+commit ac2ca39f8f6024b13b0ddbfe767f9dbc9a528e6c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 4 12:24:25 2008 -0600
+
+ gallium: add new call to st_flush_bitmap_cache() to fix recent regression
+
+commit 5ffc5cce1507fd407399911abefeea988a69394e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 4 12:24:01 2008 -0600
+
+ gallium: new debug code, disabled
+
+commit 72f2c55069f167a46560005931382e3b472f92ed
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 4 11:20:44 2008 -0600
+
+ gallium: make sure to set the SamplersUsed field for bitmap/drawpixels shaders
+
+ Also, make sure that field is copied/updated in the program clone and combine functions.
+ Without this we weren't getting SAMP declarations in the TGSI shaders.
+
+commit 84501e68f6294370d6f2f6aec4e7eab57bcc0e72
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Apr 4 17:02:20 2008 +0100
+
+ gallium: Handle client-supplied edgeflags.
+
+ Also, implement support in the draw module. We were hardwiring these
+ to one for quite a long time...
+
+ Currently using a draw_set_edgeflags() function, may be better to push
+ the argument into the draw_arrays() function. TBD.
+
+commit 1d6877b32642d718fb7b29eca647f4d1dd0f99bb
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Fri Apr 4 16:21:42 2008 +0100
+
+ gallium: Revert st_gl_flush() changes from when the **fence argument was added.
+
+ As st_gl_flush() isn't used by st_finish() anymore, it doesn't have to make
+ sure pipe->flush() always gets called.
+
+commit 7b5303adbf5965510061a21f40d40c931add73eb
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Fri Apr 4 16:17:33 2008 +0100
+
+ gallium: Call st_flush() instead of st_gl_flush() in st_finish().
+
+ This is enough for the current purpose of st_finish(), which is to wait for
+ things to settle down before context teardown.
+
+commit 0b20d1b9b5e0514a68ab460d748753d29df2e70b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Apr 4 13:18:09 2008 +0100
+
+ draw: move code to run pipeline from pt to new file
+
+ Add facility for draw_vbuf.c to reset these vertex ids on flushes.
+ Pre-initialize vertex ids correctly.
+
+commit 9edac96d69b6f9942c170c573c9aba4c35550639
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 30 10:24:34 2007 -0600
+
+ Alias glStencilOpSeparateATI with glStencilOpSeparate.
+
+commit cdbfae9bef6645160904b7ef32c26c4e38ca37df
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 30 10:23:58 2007 -0600
+
+ test glStencilFuncSeparateATI()
+
+commit 102f2ef4fc2d45c51926add6bdf51ef6fcb43b35
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 30 09:13:58 2007 -0600
+
+ Finish up ATI_separate_stencil
+
+ Add entrypoints to glapi XML file and regenerate files.
+ Implement glStencilOpSeparateATI().
+ Consolidate some code in stencil.c
+
+commit 04097f558325eae35b5da1b72e6da938b433ad0a
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Tue Oct 30 14:09:17 2007 +0100
+
+ add missing _mesa_StencilFuncSeparateATI function
+
+commit cf9b07ea3474cd33e797eeb10b3fd73ad54ae8d5
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Fri Apr 4 01:59:38 2008 +0200
+
+ gallium: fix two-side stencil handling
+
+ Previously all drivers were in twosided mode since they checked for
+ stencil.enable[1] flag which was a copy of stencil.enable[0]. Note that drivers
+ should not reference stencil[1] state (other than the enable) if twosided
+ stenciling is disabled (for now the stencil state is still copied but for
+ instance clear_with_quads won't provide useful values in there).
+ Also, use _TestTwoSide instead of TestTwoSide since results would be
+ bogus otherwise if using APIs with implicit two side stencil enable
+ (i.e. core ogl 2.0).
+
+commit 2946a5a012f494bad280a0ecf082d81ed4e89c3b
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Apr 4 20:32:06 2008 +1000
+
+ nv40: kill some warnings
+
+commit e902d9091c048531cf76b1d9d034fb865b1a0f6e
+Merge: bc67533 7a7bce7
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Apr 4 20:30:29 2008 +1000
+
+ Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1
+
+commit 7a7bce7b24ea4f63faa1d5bfe3f71d09b412c838
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Apr 4 11:13:10 2008 +0100
+
+ gallium: make msvc less unhappy
+
+commit c07d3f6a9e62bd88e05d4ebf72430139b0531be8
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Fri Apr 4 09:06:13 2008 +0100
+
+ gallium: Always allocate new const buffers instead of modifying existing ones.
+
+commit bc67533f29abe578e2306be2a24db392a0c62fc4
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Apr 4 16:14:15 2008 +1000
+
+ nouveau: create swizzled surface + scaled image objects
+
+commit 1757acc293b936f0196e983ddea281c346952c45
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Apr 3 21:51:31 2008 -0600
+
+ rewrite some of the mat*mat, mat*vec intrinsics
+
+ Also, remove obsolete matrix codegen code.
+
+commit a45a12e757a8f4d41daea2a3f632d4772ff69e38
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Apr 4 13:02:37 2008 +1000
+
+ nv40: have test for hw idxbuf in single place
+
+commit fbb6cc7842ec8a59b60018233275babc4deb6765
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Apr 4 12:39:45 2008 +1000
+
+ nouveau: in some cases don't create the buffer in local mem initially.
+
+commit 96b4ac05be90df6ada88eb7bd64283aff4964655
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Apr 3 20:12:32 2008 -0600
+
+ silence warning
+
+commit a7504ad587ee8cbfa9958ad23321a691ce0823d3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Apr 2 14:30:28 2008 -0600
+
+ cell: added some comments/ideas about better texture sampling
+
+commit 217d37940771dd02ff1aa365105eca2c7a09d623
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Apr 2 14:01:42 2008 -0600
+
+ cell: minor texture improvements
+
+ Precompute tiles_per_row. Use ushort multiplies in a few places. New comments.
+
+commit 0b57662fa6feb3d4571e4a3bc3a2243547595816
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Thu Apr 3 09:39:00 2008 +1000
+
+ nv40: remove redundant state_emit() calls
+
+commit 6fbc50e013f1ac7684d8d63d9433f6dd72b4c1cb
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Thu Apr 3 08:21:56 2008 +1000
+
+ nv40: static attribs -> stateobj
+
+commit 7e9b83ac0ac59298f1b983e6a9aed3a8f2ccb147
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sat Mar 29 00:30:04 2008 +1100
+
+ nv40: convert the inline idxbuf paths also
+
+commit 73322bba5c7102f0e100c9a07273a7a87705cf55
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Mar 28 23:51:24 2008 +1100
+
+ nv40: need to resubmit buffers if pushbuf gets flushed during draw
+
+commit 1307eebfa07e3440554eb2871e5dbd94e98ed7a8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Apr 3 16:37:30 2008 -0600
+
+ gallium: test if PIPE_FORMAT_YCBCR[_REV] is supported and enable GL_MESA_ycbcr_texture
+
+ Update texture format selection code too.
+
+commit 766f3a545ebb317d2115b9053a8fc13b49ceec12
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Apr 3 16:36:07 2008 -0600
+
+ gallium: implement ycbcr->rgba tile conversion
+
+commit 124e1345c9ba4abe17bb04b8781ec0fe803eda7b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Apr 3 13:16:37 2008 -0600
+
+ gallium: set rasterizer.gl_rasterization_rules = 1 in a few more places
+
+commit ce5c867cbb17b2444ebc3db5c6a03cee5e2edb8a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 3 12:54:32 2008 -0600
+
+ gallium: streamline viewport/raster/shader state for clearing with quads
+
+ Move init of these items to new st_init_clear().
+
+commit e8823bb7dfad7c6241da185cd0ac94ede42c33e5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 3 12:52:55 2008 -0600
+
+ gallium: include st_cb_bitmap.h to silence warning
+
+commit c4f8c8b304a47b2490fe5b1d133e314b045854df
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 3 12:44:58 2008 -0600
+
+ gallium: remove the temporary/test TEST_DRAW_PASSTHROUGH code
+
+commit 4f67a3f7d3bdeaa8d16d877ce9b277c97bd2f6b4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 3 12:42:26 2008 -0600
+
+ gallium: use identity viewport fix broken clear_with_quad() path
+
+ Since bypass_clipping is set and we're specifying quad vertexes in window
+ coords, setup identity viewport.
+
+commit 0bc2e2c9cd552e4187dd8a2250e350efcdc9aea1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 3 12:01:53 2008 -0600
+
+ gallium: call st_flush_bitmap_cache()
+
+commit f07fe3c728aec5a715cf615822151e11a00cda44
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 3 12:01:17 2008 -0600
+
+ gallium: set gl_rasterization_rules
+
+commit 333df9656a257507d5eb5a6a8e8f2d9fc7577f20
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Apr 3 13:19:38 2008 +0100
+
+ gallium: Only build softpipe driver by default for xlib winsys with scons.
+
+commit d2cb4ba0bb2388c784f145c59f3798f914dc7f39
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Apr 3 12:21:30 2008 +0100
+
+ draw: add passthrough path to the pipeline
+
+ This handles the case where bypass_vs is set, but vertices need to go
+ through the pipeline for some reason - eg unfilled polygon mode.
+
+ Demonstrates how to drive the pipeline from inside one of these things.
+
+commit 8ed894bd17bd6f426a0d87f7113f23043cda3bc3
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Thu Apr 3 04:20:22 2008 +0200
+
+ nv10: emit dummy zeta size when no zbuffer is used.
+
+commit 7f21b63a988a041bca120751c795f6f6abf0f2bd
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Thu Apr 3 04:07:16 2008 +0200
+
+ nv10: fix more vertex stuff
+
+commit e786924bf08583f74fff135a211c040843abd0bb
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Wed Apr 2 19:17:31 2008 -0400
+
+ Pick up dri2proto from the standard proto header include path.
+
+commit dc836edf49a08a7fd77fc1f127818b0550558581
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Wed Apr 2 19:04:57 2008 -0400
+
+ Initialize GLX_EXT_texture_from_pixmap attributes correctly.
+
+commit d3340cda9c2ee7165961517494f636e3fa361d5f
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Wed Apr 2 18:28:44 2008 +0200
+
+ don't push "pouets"
+
+commit fb19b3393fbee26f7bb88b572b3d0cc2943f2edc
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Wed Apr 2 18:26:49 2008 +0200
+
+ nv10: fix some more state, work on the vertex emission code.
+
+commit 8f26e975ca6341cb3366a18beb352b5cdcaee2bc
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Wed Apr 2 15:09:32 2008 +0200
+
+ nv10: set rasterizer state.
+
+commit add46fbc8cc04d3bce303815541a7bc5d0b33953
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Apr 2 12:05:55 2008 +0100
+
+ draw: add missing break statement
+
+commit ae3c91e98ce3355bca22738440f8ba313b3b8b23
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Apr 2 11:55:03 2008 +0100
+
+ draw: Set the backend prim in the pt 'prepare' operation
+
+ Leaving it until 'run' is bad as the primitive is pretty much state
+ for some drivers and so needs to get set early. In some drivers
+ this is used to determine things like vertex format, etc -- by the
+ time we get to 'run', it's too late to change this.
+
+commit 8e33194837dd206d920889851d9cf22190100c99
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Apr 2 11:38:33 2008 +0100
+
+ gallium: add a flag to turn on gl rasterization rules
+
+ Use this to set up hardware rasterization (if your hardware can
+ do it) or otherwise turn on various tweaks in the draw module.
+
+ Currently only hooked up to point biasing code.
+
+commit bc739440c29c551fcc44e9e12d0d9c170d8d24fb
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Apr 2 10:43:37 2008 +0100
+
+ gallium: add temporary facility for rasterization-time clamping of point sizes
+
+commit 81f34e222a4c434e7e5324ed589c76260025ab59
+Merge: 9017008 7f40115
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Apr 2 13:29:17 2008 +1000
+
+ Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1
+
+commit 901700888e5b4ec4dbec6ac924b542c780edaf52
+Merge: b1a361b ae87909
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Wed Apr 2 05:10:52 2008 +0200
+
+ Merge branch 'gallium-0.1' of git+ssh://marcheu@git.freedesktop.org/git/nouveau/mesa into gallium-0.1
+
+commit b1a361ba7a565063200c033e4939e6b28c006b13
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Wed Apr 2 05:10:18 2008 +0200
+
+ nv10: fix stuff and things.
+
+commit ae87909d0d261d0f4e888f6a167e6329eb129a87
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Apr 2 13:04:06 2008 +1000
+
+ nv40: only update draw module state when using swtnl
+
+commit bdf5b23bfd222ade9b3599ebd0f8932a5179431e
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Apr 2 12:54:37 2008 +1000
+
+ nv40: shorten zsa state lines
+
+commit 7f40115a52ce8f9b5883bd9241707b9e603db0e3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Apr 1 16:20:29 2008 -0600
+
+ mesa: added a cast to avoid int overflow, plus rename texels->pixels
+
+commit 792d524aed23f1b15c3e0e16e23ea2b815f79087
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Apr 1 16:07:09 2008 -0600
+
+ mesa: measure fill rate for drawing a large quad with basic shading/texture modes
+
+commit bccd3f138ccc717fad9073110d15e3321b590476
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Apr 1 15:42:42 2008 -0600
+
+ cell: more multi-texture fixes (mostly working now)
+
+commit 28dfb0613b51c51d5f09010ea38d050a9ec817d7
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Tue Apr 1 23:24:11 2008 +0200
+
+ fix mistakenly set ATIFragmentShader._Enabled bit (bug 15269)
+
+commit 8bef18f47b399ee2ae0a4b69e49f6e3285042e73
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Apr 1 14:56:10 2008 -0600
+
+ mesa: destroy window upon exit
+
+commit 9d1444092fbfd9f975cfb996695f0533a78410f7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Apr 1 14:55:31 2008 -0600
+
+ cell: turn off some debug output
+
+commit 9e7b730eb25f08065d718dee4a67c67d1d133b6e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Apr 1 14:52:25 2008 -0600
+
+ cell: pass tex unit to get_texel()
+
+commit 2d02ee85093d8068f11ecb286c5f02f52786cd95
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Apr 1 14:52:04 2008 -0600
+
+ cell: fix bug in texture tiling function (non-square textures work now)
+
+commit e7b23d36df1ab3ac5b54ef8e4e56c4fd46db8257
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Apr 1 11:35:53 2008 -0600
+
+ cell: checkpoint: more multi-texture work
+
+commit c14da8f52407529f20f819e31a01356535de0117
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Apr 1 11:30:17 2008 -0600
+
+ cell: assert num samplers/textures <= CELL_MAX_SAMPLERS
+
+commit 6ddd2df1aec329be494d342dbd88a9f5af5e7b2c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Apr 1 11:28:27 2008 -0600
+
+ cell: return CELL_MAX_SAMPLERS to indicate number of texture units
+
+commit 9d287a184111693a1fbb9231b1d7a8afa56e9ae5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Apr 1 11:28:01 2008 -0600
+
+ gallium: init ctx->Const.MaxTextureUnits
+
+commit f8c09464f801e97b24ccdb1ba70444c60d4235bd
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Apr 1 11:05:32 2008 -0600
+
+ cell: enable #define CACHE_STATS to print a cache report upon exit
+
+commit f3a62372bf155d14876f98b1a085841607bb344c
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Apr 1 08:59:13 2008 -0600
+
+ handle IsPositionInvariant flag
+
+commit 5c4ca968fab1b0b993fabeb73e3a5d92cbaadaf1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Apr 1 08:41:08 2008 -0600
+
+ added some missing calls to _mesa_enable_x_y_extensions()
+
+commit 71d7aec2b3bb299f1dff7cdb2e8e96164976113a
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Apr 2 00:40:18 2008 +1000
+
+ nouveau: winsys printf disappeared :)
+
+commit ea990867a8b0f59a85b01e7d3aa3ab53d61078d2
+Merge: e616d3f edfa820
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Apr 2 00:37:12 2008 +1000
+
+ Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1
+
+commit 8f8b95ae58c6e51f3bf0bc6ed2fa5ac8b9e82f1e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Apr 1 15:19:30 2008 +0100
+
+ draw: remove dead code
+
+commit edfa8201a50c47376b7aa0c05d7851e3e1353bde
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Apr 1 14:49:56 2008 +0100
+
+ draw: more flatshade_first changes
+
+ - Reduce the number of changes to the normal vertex ordering
+ - Assume that the hardware knows how to do this in the standard case.
+ - Add support to the passthrough vcache path.
+
+commit caa44763f7f7aa26ed0b0d1e5af0c410fba6bfe6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Apr 1 14:48:59 2008 +0100
+
+ draw: respect flatshade_first in flatshade stage
+
+commit 52f40dcc468039fc9cca45a4de20a5aa11228b67
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Apr 1 14:14:46 2008 +0100
+
+ draw: associate rhw divide with clipping not viewport flag
+
+commit 4b1377b2403bcb34081f91991f1ffde06df17af1
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Apr 1 14:14:06 2008 +0100
+
+ draw: flush between pt/non-pt modes
+
+commit cc85573a9f3d976b70669a53403ce7355ad84394
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue Apr 1 13:02:30 2008 +0100
+
+ gallium: Fencing fix.
+
+ Make sure the struct pipe_fence_handle* we point st_flush() to is initialized
+ to NULL, so winsys->fence_reference() doesn't try to unreference a random
+ struct pipe_fence_handle* pointer.
+
+commit 2df9941368c807fb677d3d95a5c1dfffe719c26b
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue Apr 1 13:00:51 2008 +0100
+
+ scons: Fix test for building dri/intel winsys.
+
+commit d83e0c45bec8d08c249088f9e8575505355fe595
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Mar 31 21:15:57 2008 -0600
+
+ cell: update some of the CAP, texformat queries
+
+commit e6c981f22c0b6469ef44e9d7a34113db34647fef
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Mar 31 21:09:02 2008 -0600
+
+ cell: more work for multi-texture support
+
+commit 5553a3b6757f0baaabbd67dd2f86d834d2f291ca
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Mar 31 20:36:53 2008 -0600
+
+ cell: set cell->num_textures in cell_set_sampler_textures()
+
+commit 686a6c746851b4bc2572aaa1153d570717bdd77f
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Apr 1 10:41:43 2008 +0900
+
+ gallium: Do not assume that buffers are freed in the same order they are fenced.
+
+ Also free buffers as soon as possible.
+
+ This short term fix corrects the fenced list behavior but it will impact on performance.
+ The long term fix is probably replace the linked list (legacy from the bufpool code) by
+ a binary tree.
+
+commit b645942df9779f44089029de8832928b21746173
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Mon Mar 24 10:01:50 2008 -0700
+
+ Use AC_CHECK_PROGS to find alternate make programs
+
+ The autoconf macro AC_PATH_PROGS handles the case of searching for
+ multiple program names already, so we don't need to open code it. Also
+ changed the search to AC_CHECK_PROGS so that it doesn't set the full
+ path unless the user specified. Finally, report back the found value at
+ the end for what the user should run.
+
+commit 14452aee73e16f2ede075cf894e69d62cc539f5e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Mar 31 17:38:21 2008 -0600
+
+ cell: initial work to support multi-texture
+
+commit 84c2821d2a3b0252d6ccdfc88c6acd8f72134ebf
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Mar 31 16:54:31 2008 -0600
+
+ cell: added const qualifier
+
+commit 58b6690cf84147f88ea2ba95d2a929089e93b57f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Mar 31 16:44:56 2008 -0600
+
+ cell: updated comments: s/test/SPE/
+
+commit ab8bcc4ec626be2d09bcdbaba2d1030b8dac7e25
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Mar 31 16:35:13 2008 -0600
+
+ cell: implement logicop/output for PIPE_FORMAT_B8G8R8A8_UNORM
+
+ Remote display to my usual terminal shows the right colors again.
+ Not 100% sure about the shuffle control words, but they seem to work.
+
+commit 8a81429fa866cc1e2a14dec7e888fd2c888dc40a
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Apr 1 07:22:10 2008 +0900
+
+ gallium: Compute YCBCR bit depth.
+
+commit 6b0be38a6cfecd2babc7175b0877bed522ca9f72
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Mar 31 15:12:14 2008 -0600
+
+ gallium: used inverted bitmap texture to simplify the fragment shader.
+
+ "Off" bits get stored as texel=0xff and "on" bits get stored as texel=0x0.
+ Then use KIL -tmp to kill the off bits and keep the on bits.
+ This shortens the fragment program by two instructions.
+
+commit 23b03c536daa47b53e585fa98476bad96eb73529
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Mar 31 15:12:01 2008 -0600
+
+ gallium: updated comment for bypass_vs
+
+commit 3ea80c1128344a06b5d5c9cd45615a597047e402
+Author: Markus Amsler <markus.amsler@oribi.org>
+Date: Mon Mar 31 14:58:28 2008 -0600
+
+ fix parsing bug involving comments at the end of ARB v/f programs
+
+commit 9136747a2b232ae7023972e6611cb2c845a86886
+Author: Markus Amsler <markus.amsler@oribi.org>
+Date: Mon Mar 31 14:58:11 2008 -0600
+
+ fix parsing bug involving comments at the end of ARB v/f programs
+
+commit e82dd8c6e1fa2fff5b960de26961080ba5e9651d
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Wed Mar 26 19:26:59 2008 -0400
+
+ DRI interface changes and DRI2 direct rendering support.
+
+ Add DRI2 direct rendering support to libGL and add DRI2 client side
+ protocol code. Extend the GLX 1.3 create drawable functions in
+ glx_pbuffer.c to call into the DRI driver when possible.
+
+ Introduce __DRIconfig, opaque struct that represents a DRI driver
+ configuration. Get's rid of the open coded __GLcontextModes in the
+ DRI driver interface and the context modes create and destroy
+ functions that the loader was requires to provide. glcore.h is no
+ longer part of the DRI driver interface. The DRI config is GL binding
+ agnostic, that is, not specific to GLX, EGL or other bindings.
+
+ The core API is now also an extension, and the driver exports a list
+ of extensions as the symbol __driDriverExtensions, which the loader
+ must dlsym() for. The list of extension will always include the DRI
+ core extension, which allows creating and manipulating DRI screens,
+ drawables and contexts. The DRI legacy extension, when available,
+ provides alternative entry points for creating the DRI objects that
+ work with the XF86DRI infrastructure.
+
+ Change DRI2 client code to not use drm drawables or contexts. We
+ never used drm_drawable_t's and the only use for drm_context_t was as
+ a unique identifier when taking the lock. We now just allocate a
+ unique lock ID out of the DRILock sarea block. Once we get rid of the
+ lock entirely, we can drop this hack.
+
+ Change the interface between dri_util.c and the drivers, so that the
+ drivers now export the DriverAPI struct as driDriverAPI instead of the
+ InitScreen entry point. This lets us avoid dlsym()'ing for the DRI2
+ init screen function to see if DRI2 is supported by the driver.
+
+commit ddc0f91bfc571dcd05c13f094c179b4250e53bcc
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Mar 31 14:38:27 2008 -0600
+
+ gallium: use cso_save/restore_sampler_textures() functions
+
+commit 7139b8ef78adb8d08c13e439fc8add31a2d79f36
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Mar 31 14:20:16 2008 -0600
+
+ gallium: draw_passthrough.c is obsolete - removed
+
+commit 6a382250a10e7022e93b6be6fe4657445d85a568
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Mar 31 14:18:36 2008 -0600
+
+ gallium: set the bypass_vs flag now
+
+ The glBitmap vertex shader is a no-op, but we still have to specify it in
+ order to convey the number of inputs/outputs.
+
+commit 594dab4769533afaeb30a588e1731a6753a93f0d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Mar 31 14:14:30 2008 -0600
+
+ gallium: move the test for bypass_vs into the vs_XXX_run() functions
+
+ Also:
+ 1. Added an identity_viewport flag to skip viewport transformation when it
+ has no effect. Might also add an explicit bypass_viewport flag someday.
+ 2. Separate the code for computing clip codes and doing the viewport transform.
+ Predicate them separately.
+ Note: even if bypass_vs is set, we still look at the shader to determine the
+ number of inputs and outputs.
+
+commit 9cbd8400433fb27da03f300b36495baef464cc6b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Mar 31 14:13:09 2008 -0600
+
+ gallium: draw_passthrough.c is not used anymore
+
+commit 499d8aaa476fb67b7355122dc6fbc641e1b44ed0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Mar 31 14:06:42 2008 -0600
+
+ gallium: draw_passthrough.c is not used anymore
+
+commit e66cb602b79f52bd1f01b1c3f7af039eeff283a6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Mar 31 12:18:20 2008 -0600
+
+ gallium: turn on clipping for bitmaps
+
+ Bitmaps can extend beyond window edges so we need to clip.
+ Also, move some state atom vars to st_context to be a bit more efficient.
+
+commit 63d8a8417d68365cd10c11178516378411c09f87
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Mon Mar 31 17:02:47 2008 +0800
+
+ mesa: Free all shader program data before deleting all
+ shader/shader program objects to avoid memory access error.
+
+commit baab98a637d526871fb77ec6f313012f49c0e998
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Mar 31 09:02:08 2008 +0900
+
+ gallium: Eliminate p_winsys::printf
+
+ Not convenient and almost not used at all. Better replacements in p_debug.h
+
+commit aef47c4dc87075fd63002b50c4b32b1049e5e4d1
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Mon Mar 31 16:27:47 2008 +0800
+
+ Revert "mesa: separate shader program object from shader object." (bug#15244)
+
+ This reverts commit 3ffd11f71d021f672b9bc15b3c39c155a0e2fecb.
+
+commit d30d9e42b758db452bfdb482b619a5f4c6d01037
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Mon Mar 31 13:45:06 2008 +0800
+
+ i915: texture object's lod bias. fix bug #15192
+
+commit e616d3f3e2178e34e4e7d769b38b0dff4ad615fe
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Mar 31 09:37:57 2008 +1000
+
+ nv40: fix slight thinko
+
+commit 4ad9dd6179787a46ecb223ab0e59e6b25b9368af
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Mar 31 09:29:22 2008 +1000
+
+ nouveau: update object header
+
+commit 169faae6db9a289c5a2d9430d85c36ac36abd218
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Mar 31 09:00:25 2008 +1000
+
+ nv40: support vp clip distance regs, unused currently.
+
+commit 63950b11b6060e4e0d06e0d14548ff132a295067
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sun Mar 30 23:21:20 2008 +0200
+
+ draw: Do not run full pipeline when flatshade_first for point primitives.
+
+commit fc9888014470286d8d651c569aaadf9cd69d8282
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sun Mar 30 22:48:49 2008 +0200
+
+ draw: Fix bypass_vs semantic misuse.
+
+commit 6806519a0b2a8af0c950f71705b02e13876d460f
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Mar 31 06:35:43 2008 +1000
+
+ nv40: track current scissor enable/disable state
+
+ Not sure how this was forgotten :) Anyhow, fixes gearbox/bzflag/xmoto,
+ probably other things that use scissored clears / hit the nasty
+ clear-with-quad path.
+
+commit 7b389f8d2f307fa0714494f2a43e9141cc04ed3e
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Sun Mar 30 21:52:36 2008 +0200
+
+ nv30: use FREE macro
+
+commit 833b1fb152851ba0d4fa2a5ba4702ee98d9bc217
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Mar 31 05:13:06 2008 +1000
+
+ nv40: mark fp dirty even when only consts updated
+
+ Fixes arbfplight "sticking".
+
+commit d9367842e54a234ee00ea100de45480527de5693
+Author: Markus Amsler <markus.amsler@oribi.org>
+Date: Sun Mar 30 16:12:47 2008 +0000
+
+ r300: Copy-and-paste error from the vertex program branch.
+
+commit 85e816882d8cd136e041c915698314ed1110e2f2
+Author: Markus Amsler <markus.amsler@oribi.org>
+Date: Sun Mar 30 16:10:47 2008 +0000
+
+ r300: Take PROGRAM_CONSTANT into account.
+
+ This bug was introduced by commit 978145a075255ae153ee05c2a037400e61558079.
+
+commit bbefb541ad94382debb0f7a8daa636729799a31a
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Mar 30 20:32:22 2008 +1000
+
+ nouveau: adapt to recent gallium changes
+
+commit 03c60e0fb691d39a168a8825ace7150ef3a20e02
+Merge: 68395f6 a52c041
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Mar 30 19:58:03 2008 +1000
+
+ Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1
+
+commit 68395f6726183a0776e324b900e429449ede2b22
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Mar 30 19:08:59 2008 +1000
+
+ nv40: vp 1/0/- swz
+
+commit 3017999d9bee8f9d2ef170c1bb6926aab8e08393
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Mar 30 19:00:07 2008 +1000
+
+ nv40: vp const/immd fix
+
+commit 3e0797f3b702a1363bf238eb4826385860346137
+Merge: 635e964 e49ec6e
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sat Mar 29 14:46:32 2008 +0000
+
+ Merge branch 'r300-vertprog-branch' of ssh://people.freedesktop.org/~z3ro/mesa
+
+commit a52c0416d1f2105960b4646e2e268aed26814689
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 29 14:41:03 2008 +0100
+
+ gallium: Set vertex state/buffers en-mass.
+
+commit f10016b9a0639d7bc814c7b92a30d5b5b2cba5ad
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Mar 25 17:30:34 2008 +0000
+
+ gallium: Fix some MSVC warnings.
+
+commit 737e34aee598f32f8ff078ba823ed149b282ebc8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Mar 28 18:41:10 2008 -0600
+
+ gallium: begin some bounding box code for bitmap cache
+
+commit f6908a766dce645d610ff04bb49eaa8c5ee9e65a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Mar 28 18:18:55 2008 -0600
+
+ gallium: added an (int) cast in setup_bitmap_vertex_data() to fix a signed/unsigned arithmetic problem
+
+ Negative values became very large uints.
+
+commit cbfe6ee5d58e7342012392a8ead7ae373625c00a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Mar 28 15:22:34 2008 -0600
+
+ gallium: Fix computation of Z values when not using early Z.
+
+ This fixes the missing bitmaps in the engine and fogcoord demos.
+
+commit 5a460c7391ef35b1dcf6ad7f5494fb23279b2e45
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Mar 28 15:17:50 2008 -0600
+
+ gallium: don't call st_flush_bitmap_cache() if the only change is _NEW_PACKUNPACK state
+
+commit 7292db2138001b48bba006cc08e9ff7091d16559
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Mar 28 14:56:05 2008 -0600
+
+ gallium: disable a debug hack
+
+commit c62b197b528293abb56b099503344e3cdd7d6c40
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Mar 28 14:53:47 2008 -0600
+
+ gallium: implement a glBitmap cache
+
+ The bitmap cache attempts to accumulate a series of glBitmap calls in a
+ buffer to effectively render a whole bunch of bitmaps at once.
+
+ The cache can be disabled, if needed, by setting UseBitmapCache=GL_FALSE.
+
+commit 635e96471218d5ada3fa7930fc1a746ec2aa4423
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Mar 28 13:24:12 2008 -0600
+
+ fix texture/renderbuffer mix-up in test_attachment_completeness()
+
+commit 13041da714106ae61b4184b79e847c2b382e07ad
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 28 13:10:16 2008 -0600
+
+ mesa: fix texture/renderbuffer mix-up in test_attachment_completeness()
+
+commit de3634fca8f93223647a54f49f066494447906bb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 28 13:09:19 2008 -0600
+
+ gallium: re-work texture format selection code
+
+ Use same code for choosing texture format and renderbuffer format.
+
+commit 5615ab78b03cf1cb5fb19fc04fef52818f91b0be
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Fri Mar 28 15:43:00 2008 +0100
+
+ gallium: remove redundant compare bit in sampler state
+
+commit 4e7bcaa4c20cc358206cf4668316f998d79c85b0
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Fri Mar 28 12:31:35 2008 +0100
+
+ gallium: Bump PIPE_MAX_SAMPLERS to 16.
+
+ We need it to fulfil D3D minimum requirements.
+
+commit 184cf464f4183a664fa0358fe118735e6fd98afe
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Fri Mar 28 17:32:45 2008 +0800
+
+ i965: depth offset on glPolygonMode(GL_LINE/GL_POINT)
+
+commit 5935b16ff5d8cbe07c97f2990e281a9c5986d0a1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 27 21:11:45 2008 -0600
+
+ If visual is 32bpp, set visual->alphaBits = 8.
+
+ This works since we always use XImages for color buffers. It wouldn't always
+ work for Windows/Pixmaps.
+
+commit 6054788f3620b4fc8ba386b38546ae2cc9dd24d2
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Mar 28 13:16:33 2008 +1100
+
+ r300: finish conversion of RS_INST regs
+
+commit a9802328cdb3042cc7504823f8bb910abab2c78e
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Mar 28 13:06:28 2008 +1100
+
+ r300: move to using RS_INST names
+
+commit 39038c11699bbc9baab744542e96d54e91cb452a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 27 17:41:55 2008 -0600
+
+ gallium: replace PIPE_ATTRIB_MAX with PIPE_MAX_ATTRIBS
+
+ The later follows the naming scheme of other limits.
+ Keep the old definition until all possible usage is updated.
+
+commit 37da2d685102ab5a706e0634fc55c60229598faa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 27 17:18:25 2008 -0600
+
+ gallium: updated/improved comments, minor re-formatting
+
+commit bdf279b55543d0fd3e3a54e9a7a32fb6d90f5404
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 27 16:19:46 2008 -0600
+
+ consolidate some parsing functions that were pretty much identical for vertex/fragment programs
+
+ cherry-picked from master
+
+commit 7d2b6a0466038ebefa4ac4d139cec4987f60d585
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 27 16:17:37 2008 -0600
+
+ consolidate some parsing functions that were pretty much identical for vertex/fragment programs
+
+commit 21454f86369e3290a4667037263399b1217d74b6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 27 16:01:53 2008 -0600
+
+ when negating scalar src args, use NEGATE_XYZW, not NEGATE_X
+
+ This makes things easier on the back-end when generating GPU code.
+ cherry-picked from gallium-0.1
+
+commit 978145a075255ae153ee05c2a037400e61558079
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 27 16:00:15 2008 -0600
+
+ Set param_var->param_binding_type = PROGRAM_CONSTANT
+
+ cherry-picked from gallium-0.1
+
+commit 5052dabb44a419446922d1f0b39eade5ff874134
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 27 16:05:40 2008 -0600
+
+ mesa: misc sync-up with master
+
+commit d46ac956db8e4156f67b83b171569cb05d15c263
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 27 16:04:20 2008 -0600
+
+ raise GL_INVALID_OPERATION if glProgramString compilation fails
+
+ cherry-picked from master
+
+commit 4adee848a6ce6cdf9873aa29d284db640c8ab606
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 27 15:54:44 2008 -0600
+
+ Fix the compile of disabled DEBUG_PARSING code.
+
+ cherry-picked from master
+
+commit a072094bf01fbdac255fd6ffa3e0100f6fc7cb6d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 27 15:52:00 2008 -0600
+
+ make sure state token values are fully initialized
+
+ cherry-picked from master
+
+commit 50a20d472956d54e3dc66e6501f1e5fb8581c84f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 27 15:51:07 2008 -0600
+
+ added program_error2() function for better error reporting
+
+ cherry-picked from master
+
+commit 7b91d875401e039635718d1bc1e96d37ec66777c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 27 15:48:54 2008 -0600
+
+ Fix state.texgen parsing error (bug 12313).
+
+ Replace *(*inst++) with *(*inst)++ in a few places.
+
+ Cherry-picked from master.
+
+commit 6f8286163c79a8187c2912a9b673a6f11f4f60c6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 27 15:42:52 2008 -0600
+
+ gallium: Update calls to the simple shader functions
+
+commit dccbfd8bf0624250a435948029916073d3390191
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 27 15:42:09 2008 -0600
+
+ gallium: return pipe_shader_state from the simple shader functions
+
+ Allows us to fix a mem leak (tokens array).
+
+commit 89222ee49de340774279c9c0bf884649e66ad6df
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 27 15:41:52 2008 -0600
+
+ gallium: fix Element() macro redefinition warning
+
+commit ba49fa39f3028d1ee44a999d84b29a0cfbfab0bd
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 27 15:35:25 2008 -0600
+
+ gallium: fix incorrect types for shaders
+
+commit df1744c0433f3f73ebf4b06567fefa946a29c3d8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 27 15:33:47 2008 -0600
+
+ gallium: remove temporary static var
+
+commit d355eee5cacac30e2b4c8ac2f10964e2861a539e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 27 15:27:31 2008 -0600
+
+ gallium: silence unused var warning
+
+commit 132df5ebce8529f7b0999cdd574d70ec0f12a4fd
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 27 15:27:14 2008 -0600
+
+ cell: include cell_state_per_fragment.h to silence warning
+
+commit 8b8a947111ad911a986e48a66c9fe31f120de9a2
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 27 15:26:54 2008 -0600
+
+ cell: added (uint64_t) cast to silence warning
+
+commit 979358c47115d8ea50001832372f8043a60a5b80
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 27 15:26:22 2008 -0600
+
+ cell: fix unclosed comment
+
+commit 227af94cce1c0fc898a5ccef1d6f61a31cdd770f
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Mar 27 11:57:08 2008 -0700
+
+ Add a couple of test apps for line/unfilled polygon clipping.
+
+commit 05004670448e1edd9166b8da614606e6f49c1fcf
+Author: Michal Wajdeczko <Michal.Wajdeczko@intel.com>
+Date: Wed Mar 26 13:43:16 2008 -0700
+
+ [965] Fix massively broken state cache dirty flagging.
+
+ It was flagging a last_bo update even when last_bo didn't change, but
+ another part was failing to update last_bo when it should have.
+
+commit 76430815a73559c55e2061ceb2634406d1284f03
+Author: Michal Wajdeczko <Michal.Wajdeczko@intel.com>
+Date: Wed Mar 26 13:33:34 2008 -0700
+
+ [intel] Use mesa texmemory functions to allocate teximage Data.
+
+ Failure to consistently do so resulted in mismatched aligned versus
+ unaligned alloc/free.
+
+commit b4cbf6983e0e6d6502c1260f60c463841ab74590
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Mar 26 13:23:43 2008 -0700
+
+ [965] Don't let the negate flags of src0 affect 1 constants in precalc_dst/lit
+
+ This patch is a variant of a submission by Michal Wajdeczko to fix
+ oglconform fpalu failures.
+
+commit 13a6f73a64e23bad71d5e94d446e133b3cf634f7
+Author: Michal Wajdeczko <Michal.Wajdeczko@intel.com>
+Date: Wed Mar 26 12:51:20 2008 -0700
+
+ [965] Correctly set read mask for OPCODE_SWZ in pass1.
+
+ While OPCODE_SWZ has usually been optimized away in pass0, it may still
+ exist if a SWZ with dst saturate was emitted in pass_fp. Fixes an error
+ in oglconform fpalu.c.
+
+commit 5cc56cbad89d8d1b15d0dc67d41732a8883ae7bc
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Mar 25 10:22:50 2008 -0700
+
+ [965] Clean up whitespace and dead code from do_unfilled change.
+
+commit 70659e8ec8ba0c599daa36d9ed81e86efd99eb52
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Mar 26 10:52:08 2008 -0700
+
+ xlib: Fix build error from recent fence changes
+
+commit 92126cea846959bb2152905a7712753d1114bd6b
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Mar 26 10:45:32 2008 -0700
+
+ cell: Implement code-gen for logic op
+
+ This also implements code-gen for the float-to-packed color
+ conversion. It's currently hardcoded for A8R8G8B8, but that can
+ easily be fixed as soon as other color depths are supported by the
+ Cell driver.
+
+commit 1ecb2e4a7a5881d5a98679b421d78fd11c729ebc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 26 09:02:54 2008 -0600
+
+ gallium: need to call st_validate_state() in Bitmap()
+
+commit 8cb85807d3bd42cb0e511970e4b409c542d2716b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 26 08:21:17 2008 -0600
+
+ gallium: as for aapoints, make the extra texcoord per-shader state
+
+commit 4abe1eb980ed76d2b2d3383eaab520d0aa2ae6f4
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Wed Mar 26 09:36:40 2008 +0000
+
+ gallium: Change pipe->flush() interface to optionally return a fence.
+
+ The cell driver still uses an internal CELL_FLUSH_WAIT flag, in the long run
+ proper fencing should be implemented for it.
+
+commit e49ec6e2a4b5002ac9766c828807fb0a10d975f2
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed Mar 26 08:01:13 2008 +0000
+
+ r300: Indented the vertex program code...
+
+commit 82770b8c835812dd04d93083a0ac6cc2b6250e46
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed Mar 26 07:53:16 2008 +0000
+
+ r300: Cleaned up the default vertex program code with longer lines.
+
+commit a2c1aad27d2f9c88ba384f9861143c42c3c3eee7
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed Mar 26 07:28:29 2008 +0000
+
+ r300: Removed the last of the duplicate vertex program macros.
+
+commit 863ab98ac758355fa80f70f84bbd69c066713554
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed Mar 26 07:09:21 2008 +0000
+
+ r300: Added Copyright lines to the vertex program code.
+
+commit d24a5254c2d4062017cad173eca15398cf4115bf
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Wed Mar 26 14:40:30 2008 +0800
+
+ [i915] don't use 4x4 filter for 1D shadowmap
+
+commit 42a04ada10e894212ecc02dcca1c4e050275a368
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed Mar 26 06:31:33 2008 +0000
+
+ r300: Renamed the Mesa opcode translation functions.
+
+commit 2ac29115542d81366a7d78571cc568976baf0251
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed Mar 26 06:24:48 2008 +0000
+
+ r300: Renamed the destination-and-opcode/source macros to more appropriate names.
+
+commit e55dccd0bfc41dbcf306f864c01758f8e28fc660
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Mar 25 19:19:14 2008 -0600
+
+ gallium: the generic attrib we use for computing coverage is per-shader
+
+ Fixes a very tricky conformance failure.
+
+commit 9f7cd571e01569abd0898fdee62d0e0f946bf3a8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Mar 25 19:18:56 2008 -0600
+
+ gallium: added fragment emit/write debug counters
+
+commit 542e3464a45b9d407b7f2a7fb8a4c5b92c769189
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Mar 25 18:15:34 2008 -0700
+
+ cell: Enable MIT-SHM on Cell.
+
+commit b09de96a17028c3c936f6a196e048c4f224da89f
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Mar 25 18:07:56 2008 -0700
+
+ xlib: Add support for MIT-SHM in xlib winsys driver
+
+ Gives about a 3% performance increase in gears on x86-64 (non-tiled)
+ and about 10% performance increase in gears on Cell (tiled). I
+ actually expected more of a boost. :(
+
+commit 84d8030735844785c3c97679db2bc1892a9c8c70
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Mar 24 12:15:59 2008 -0700
+
+ cell: Float convert-to and convert-from instructions use different shift bias
+
+commit e1543fa55c7972e3634f3f7ba297c010337dfb0d
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Tue Mar 25 23:49:11 2008 +0100
+
+ draw: Take flatshade_first rasterizer bit into account.
+
+commit dc9757e1a8a0451a198d329880558b805adff42a
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Tue Mar 25 23:48:30 2008 +0100
+
+ gallium: Introduce flatshade_first field to rasterizer_state.
+
+ This bit tells us which vertex of the primitive is used to
+ propagate color for the remaining vertices if flatshade mode.
+
+commit 7f56c8ea5fe6909291ba440221b270f5ef37366f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 25 14:12:55 2008 -0600
+
+ gallium: disable the selection/feedback draw module's options for wide lines, points, etc.
+
+ Disable paths that would convert points/lines to tris as that upsets selection,
+ feedback, rastpos.
+
+commit d3ebaa41f548d0123106e35b5fab0f62ea6c286c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Mar 25 14:03:52 2008 -0600
+
+ implement glGet/BindAttribLocationARB() for display lists
+
+ More such shader functions are needed...
+
+commit 070a7446221e26aee5ab6e6e12988ea9c1688ba6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 25 12:27:48 2008 -0600
+
+ gallium: added some debug code (disable)
+
+commit cf7daba79101a2d2813f133a0f3d394316e66cce
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 25 12:27:32 2008 -0600
+
+ mesa: fix some issues in _mesa_combine_programs()
+
+ Use a temporay register to connect outputs of first program to inputs of
+ second program.
+ Also, fix bug in replace_registers(): didn't search/replace DstReg.
+
+commit 05a4ecdec2b5fc590eb09cc5a6b4208e0f739c5a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Mar 25 18:15:58 2008 +0000
+
+ draw: vertex fetch can be validated too early leading to an assertion... disable
+
+commit cbec00849186db11d77fd00822145e11e69cb07f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Mar 25 18:09:25 2008 +0000
+
+ draw: don't use fetch_and_store for bypass_vs mode, it's not quite right
+
+commit c0ef16647424452ba60e165c82c59f5ff64f12d4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 25 11:32:31 2008 -0600
+
+ mesa: append fog instructions after parsing if a fog option is set
+
+ Drivers don't have to worry about it then.
+
+commit bedb93e989340a2d65ed2fb28af7410983cb484d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 25 11:22:57 2008 -0600
+
+ mesa: when negating scalar src args, use NEGATE_XYZW, not NEGATE_X
+
+ This makes things easier on the back-end when generating GPU code.
+
+commit 331a56136e96717704788b633c1b2e474b88d8ba
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Mar 25 17:47:39 2008 +0000
+
+ Fix typo
+
+commit 4505acf3b28f0b88bf97838ed7898f10e9200b93
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Mar 25 15:17:53 2008 +0000
+
+ draw: take primitive into account when deciding if the pipeline is active
+
+commit 4e6c2c4f85914f89248da6414218f1fab6ae2584
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Mar 25 08:11:27 2008 -0600
+
+ updated to version 40
+
+commit aacfc326cc94be180864201cd9377db08985698e
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Mar 25 11:37:54 2008 +0000
+
+ gallium: Use debug_get_option for GETENV
+
+commit 6fa0bd067176d9159a741014301dfb5fbbd9c4b5
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Mar 25 11:37:24 2008 +0000
+
+ gallium: Fix default option on Windows.
+
+commit 0e34dcc6dfb466537f0e74d6c267d2f8bf795b66
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Tue Mar 25 17:29:08 2008 +0800
+
+ intel: fix the issue "VBO: Cannot allocate memory for a BO" on
+ 965 after merging intel_context.c from i915 and i965. fix bug# 15152.
+
+commit d453042bc67cc94bb215d229b60e8cd70a80ff8d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 24 19:59:59 2008 -0600
+
+ gallium: don't enable stencil test if no stencil buffer.
+
+ Also, if not doing two-sided stencil, set back-face state = front-face state.
+
+commit ce64778ed1f436d81178862dc0032dfd16b4b7de
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Mar 25 12:57:36 2008 +1100
+
+ nv40: respect do_flip in surface_copy()
+
+commit 816fbeaa813e5cdca314a39677c74c8dc700d35a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Mar 24 19:55:41 2008 -0600
+
+ add GL_READ_FRAMEBUFFER_BINDING_EXT case, regenerate get.c file
+
+commit 7048545c44ccc5a2ffe716705c128d7a37dff766
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Mar 24 19:55:11 2008 -0600
+
+ fix wrong values for GL_READ/DRAW_FRAMEBUFFER_BINDING_EXT tokens
+
+commit 6579440ea98e61871fe781c1c9c681645ddcc075
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Mar 24 19:36:44 2008 -0600
+
+ gallium: be smarter about picking the sampler unit for pstipple, aaalines
+
+ Also, if the app really uses all available sampler/texture units, don't just
+ die. Just use the last sampler for the pstipple or aaline texture.
+
+commit 9e1f7b2c57154704d5881362a44da703b7a4a00f
+Merge: 601b018 4654803
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Mar 25 12:14:49 2008 +1100
+
+ Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1
+
+commit 601b018a9a6143c634239d5bb51616724c2e593d
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Mar 25 12:12:26 2008 +1100
+
+ nouveau: refcount buffers on validate list.
+
+commit 4654803e2595ea041ea83baf5e13e6c68890e9a7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Mar 24 18:49:56 2008 -0600
+
+ gallium: fix a few bugs, warnings in the p_debug code
+
+ added missing _ to a _debug_printf() call.
+
+commit d6af8fc51d0288f34b92b7249c565c382e83765a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Mar 24 18:32:48 2008 -0600
+
+ gallium: move sampler_unit field to pstip_fragment_shader since it's per-shader
+
+ Also, fix another texture refcounting bug.
+
+commit e27127a61c80c8da0ffc0273688ff79b5166e163
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Mar 24 18:31:01 2008 -0600
+
+ gallium: save/restore samplers in draw_textured_quad()
+
+commit f654ab40d6d6a5a712fdfac54f26d1611cf67d3f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 24 17:20:52 2008 -0600
+
+ mesa: call glutDestroyWindow (help find mem leaks)
+
+commit 45cc35e77600af8628393475405160e26d56d421
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 24 17:20:22 2008 -0600
+
+ gallium: fix a few texture border/mipmap glitches found w/ conform
+
+commit 762e96c80454c94981cd0ccb4b342f192ba8f77e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 24 12:59:54 2008 -0600
+
+ gallium: check SamplersUsed to determine if texture needed, as in st_atom_sampler.c
+
+ Otherwise, we were sometimes setting texture state but not the corresponding
+ sampler state.
+
+commit ae146e4bc86aeade59d018100e39e160f7553994
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Mar 24 16:31:15 2008 -0600
+
+ gallium: make a copy of the vertex shader's token array.
+
+ This solves problems when the state tracker frees the token array when the
+ draw module still needs it.
+
+commit 7f430293772f201a59bcf62edd1ed4f942f8be29
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Mar 24 16:26:45 2008 -0600
+
+ gallium: use pipe_texture_reference() in a few places (fixes refcounting bugs)
+
+commit 648e26aa95b519f1f4abc429b5a23abaf4a5195b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Mar 24 16:24:32 2008 -0600
+
+ gallium: added tgsi_num_tokens() function to return number of tokens in token array.
+
+ Maybe move to a different file someday.
+
+commit e8c6ea4f608296ed976f1597ffd46ac0b42fc84a
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Mar 24 22:30:33 2008 +0000
+
+ gallium: Simple cross platform get-opt system.
+
+ Uses getenv on Linux, and a memory mapped text file on Windows.
+
+ It supports boolean options, flags, and plain strings.
+
+commit dd51365acdd515577ee76850ceda01347ceb27c0
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Mar 24 20:18:59 2008 +0000
+
+ gallium: cleanup p_debug
+
+ Now debug_printf is disabled on release builds. Use debug_error or
+ _debug_printf to output messages on release versions.
+
+commit d83e75c75958673e8019475f5ba5c2cff9b8415f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Mar 24 12:51:50 2008 -0600
+
+ gallium: move filter assignment out of loop
+
+commit 4e398df6825f4b6d568f055b689e7d7043e2785e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Mar 24 12:50:28 2008 -0600
+
+ gallium: fix REALLOC() to copy smaller of old/new sizes
+
+commit b469e9e93cfa3e11aab78dd8676635f976fe2ac1
+Author: Alex Deucher <alex@samba.(none)>
+Date: Mon Mar 24 14:49:43 2008 -0400
+
+ R300: fix typo r300 fog reg
+
+ Noticed by pzad on IRC
+
+commit 48726e129a3727ec01e130835e74d62007093051
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Mar 24 18:25:31 2008 +0000
+
+ gallium: Protect operator precedence in macro.
+
+commit 22a3d022542fed267d48b48a44e10226d55c8afd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 24 11:55:29 2008 -0600
+
+ gallium: free bitmap fragment shaders, misc clean-up
+
+commit d246274b9c48c01b61490f0a76c22aebb8e64e1e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 24 11:46:41 2008 -0600
+
+ gallium: add missing cso_save_samplers() call
+
+commit bf8de6d4dc1f956b7e70be285ff0d983b1a8eb5b
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Mon Mar 24 16:50:39 2008 +0100
+
+ gallium: Remove util_gen_mipmap_filter().
+
+commit 110b63d00fa0a555a00f5b1560452323517eafe1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Mar 24 08:53:16 2008 -0600
+
+ gallium: pass the filter mode to util_gen_mipmap().
+
+ Remove util_gen_mipmap_filter() when no longer used.
+
+commit c8c373514a18d31181cfaeefc23cd06eab3fddd0
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Mon Mar 24 08:09:34 2008 -0600
+
+ gallium: tweak coords in u_gen_mipmap code
+
+commit 74aee365e32defc910fd43301b6fcb651ad0568a
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Mon Mar 24 12:46:56 2008 +0000
+
+ r300: Merged the constant zero/one source macros.
+
+commit c75ffff84a2a98f0f027a262db904aedae3a5d06
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Mon Mar 24 12:46:40 2008 +0000
+
+ r300: Merged the Vector and Math Engine opcode macros.
+
+commit e0a9ce10f4c30b1aec08c46b6a33885782d40dd0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Mar 24 10:53:26 2008 +0000
+
+ draw: pre-declare referenced structs
+
+commit f4588c175280cd2b1f5341cd02bed7e9e7d1fd05
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Mar 24 10:52:20 2008 +0000
+
+ Revert "draw: Fix #include order to fix Linux build."
+
+ This reverts commit a6d17bf671d6bfbb187a62ba14b9ad08fb5dafe1.
+
+commit a6d17bf671d6bfbb187a62ba14b9ad08fb5dafe1
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Mon Mar 24 09:56:12 2008 +0000
+
+ draw: Fix #include order to fix Linux build.
+
+commit 5ce37d42b3268102caf8225be4ca18418bfab7c4
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Mar 24 13:45:38 2008 +1100
+
+ nv40: maintain pipe_surface status field
+
+commit 799d3bce06e998e51ad8df6bcadeb41bd061801e
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Mar 24 13:41:40 2008 +1100
+
+ nv40: respect rasterizer cso bypass_clipping flag
+
+commit 46a7f297a1477b9b59a5a11bf090db0ecbdf1ed7
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Mar 24 13:01:35 2008 +1100
+
+ nouveau: fix infinite wait on space for userbuf.
+
+ A recent commit removed a bug which essentially caused a sync after each
+ use of a user buffer. In fixing it, the scratch area can now become
+ fragmented under some circumstances leading to nouveau_bo_tmp() waiting
+ forever for a large enough block of free space.
+
+ This fixes ppracer, gl-117 and probably a heap of other apps.
+
+commit 3b217c7fa77d397540e4b6299a35f586ad53a1a1
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Mar 23 21:55:19 2008 +0000
+
+ draw: check need_pipeline() in passthrough
+
+commit 3e9b1bc1009ca1a2923f844d00bf478dc9d24644
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Mar 23 21:54:44 2008 +0000
+
+ draw: tweak the definition of draw_need_pipeline, fix minor bug
+
+commit e6ea786c003762143fdf4c63a6fc6a08f27e444e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Mar 23 21:31:23 2008 +0000
+
+ draw: fix crlf
+
+commit 743e990831d74ff764f4677836b7bd9b044d39af
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Mar 23 21:31:14 2008 +0000
+
+ draw: rename emit functions to match pipe_format names
+
+commit 899fcde366646a3ab3e42ae819620e790161ac75
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Mar 23 20:36:00 2008 +0000
+
+ draw: restructure fetch/emit as a pair of function calls
+
+commit 6edaef531806f4ac6c92c4a2934da5a37262e2e3
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sun Mar 23 20:39:35 2008 +0100
+
+ gallium: Add util_gen_mipmap_filter().
+
+ We need a way to specify the type of minification filter
+ used to downsample mipmap levels.
+ The old util_gen_mipmap() retains its behaviour and uses
+ LINEAR filter.
+
+commit 38dc0f809d5f72b382676be6f72ea675a3929455
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sun Mar 23 19:38:11 2008 +0000
+
+ gallium: Fix memory leak.
+
+ pipe cso's were being destroyed, but the hash elements themselves not.
+
+ proper fix is IMHO add a destructor callback to cso_hash.
+
+commit 48ef11d308c395837c1685df6ab701a69507e8b9
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sun Mar 23 18:57:35 2008 +0000
+
+ gallium: Remove the debug_mask_* stuff.
+
+ Overcomplex and not much different from using a global variable...
+
+commit d09b92d7e48ecee898ed158353021b7b3b6bae85
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sun Mar 23 18:52:37 2008 +0000
+
+ gallium: Fix typo.
+
+commit 732422f6708199d6655185b1a5daec86efe2f1b7
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sun Mar 23 18:38:10 2008 +0000
+
+ gallium: Memory debugging utilities.
+
+ There are no known tools for windows kernel memory debugging, so this is a
+ simple set of malloc etc wrappers.
+
+ Enabled by default on win32 debug builds
+
+commit 312cbc5a5c7416745976c2281a9bbce6e3332965
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sun Mar 23 18:30:53 2008 +0000
+
+ gallium: wrap decls in extern "C"
+
+commit 301b187ca9a811b608894d20bab934af0a10b8ab
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Mar 23 18:21:00 2008 +0000
+
+ draw: fix some unsigned vs ushort confusion
+
+ Middle-end elements are ushort, but prior to that have to treat all
+ elements as unsigned to avoid wrapping and/or overruns.
+
+commit f40357e25c0520ef1d64ffab03501da4c8b93529
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Mar 23 16:44:59 2008 +0000
+
+ gallium: beginnings of draw module vertex rework
+
+ Trying to put a structure in place that we can actually optimize.
+ Initially just implementing a passthrough mode, this will fairly soon
+ replace all the vertex_cache/prim_queue/shader_queue stuff that's so
+ hard to understand...
+
+ Split the vertex processing into a couple of distinct stages:
+ - Frontend
+ - Prepares two lists of elements (fetch and draw) to be processed
+ by the next stage. This stage doesn't fetch or draw vertices, but
+ makes the decision which to draw. Multiple implementations of this
+ will implement different strategies, currently just a vcache
+ implementation.
+ - MiddleEnd
+ - Takes the list of fetch elements, fetches them, runs the vertex
+ shader, cliptest, viewport transform on them to produce a
+ linear array of vertex_header vertices.
+ - Passes that list of vertices, plus the draw_elements (which index
+ into that list) onto the backend
+ - Backend
+ - Either the existing primitive/clipping pipeline, or the vbuf_render
+ hardware backend provided by the driver.
+
+ Currently, the middle-end is the old passthrough code, and it build hardware
+ vertices, not vertex_header vertices as above. It may be that passthrough
+ is a special case in this respect.
+
+commit 17491ea27ffa6b48e31c0ad6ad6f795dd000c476
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Mar 23 19:08:59 2008 +1100
+
+ nv40: vp reg changes similar to recent fp changes
+
+commit e1ad8c232ba31985a6f9e5b76279f2f131312d1d
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Mar 23 18:20:04 2008 +1100
+
+ nv40: fix fp depth write
+
+commit 4dfcf912964f7c14c877abde04255a3896fb903d
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Mar 23 18:11:49 2008 +1100
+
+ nv40: remove some badness from fp temp/result allocation
+
+ Should hopefully be OK now (on the fragprog size) for MRT. The hack from
+ a commit 01cb2cd93efe7ad94d7fd36aa5a776c2e3ab4c7d is no longer needed.
+
+commit 3158035154915ae11bebca045e3f0ce3b0e264ee
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Mar 23 16:31:31 2008 +1100
+
+ nv40: catch fp extra-const cases where both const and immd have same idx
+
+commit ba223e91df8f372a983e99c453947e4340d7d884
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Mar 23 16:26:42 2008 +1100
+
+ nv40: fp: fix multiple refs to a single const withing an instruction
+
+commit 01cb2cd93efe7ad94d7fd36aa5a776c2e3ab4c7d
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Mar 23 16:11:03 2008 +1100
+
+ nv40: workaround fp result.data[0] clobberage
+
+ Temporary, the fp reg handling will get reworked at some point in the near
+ future. But before that, there's a few bugs to find.
+
+commit 62a8e7685f0567052f50a2b9aaa64054e5dfa0c6
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Mar 23 14:29:35 2008 +1100
+
+ nv40: add dxtn formats (disabled)
+
+commit dcf04ee23c0131c2a3fdb267d132d6b27db393c4
+Merge: 75b85fd a35c1ca
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Mar 23 14:18:06 2008 +1100
+
+ Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1
+
+commit c98642169496cfa7d8026dbd5214fafbde962002
+Author: Eric Anholt <eric@anholt.net>
+Date: Sat Mar 22 11:03:16 2008 -0700
+
+ autoconf: Add a workaround for second AC_PROG_PATH not overwriting results.
+
+commit a35c1ca3ad4361fee30d21ef13d8d37ae91aee66
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Mar 22 10:29:30 2008 -0600
+
+ gallium: fix a few more shader-related mem leaks
+
+commit f8acc3965e3fa9ec40ca63f3ddd0cb33966e8c95
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Mar 22 10:27:55 2008 -0600
+
+ use ctx->Driver.DeleteProgram() in a few more places
+
+commit dc6fab90b437ed7f03f5cb239d3251b5b4f2cd56
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Mar 22 10:27:03 2008 -0600
+
+ use ctx->Driver.DeleteProgram() in a few more places
+
+commit dae7993afc56be1e71e600af60e01e51eab17eda
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Mar 22 09:42:59 2008 -0600
+
+ gallium: free samplers, textures in destroy()
+
+commit 2f8f6c2918e721f6525b2124cde053b84beecafe
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Mar 22 09:15:23 2008 -0600
+
+ gallium: remove temporary _screen suffix from function names
+
+commit 731dec1bd52abbaf77f21fa37c9c192611dcd1a5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Mar 22 09:11:43 2008 -0600
+
+ delete default programs with ctx->Driver.DeleteProgram()
+
+commit 0b60ade834dd09ba806f8b5dd2dfed25469a8c8e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Mar 22 09:12:52 2008 -0600
+
+ gallium: fix a few mem leaks when deleting programs
+
+commit 28b3b078959db8a1e60adfb66f35ceb04d4f414d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Mar 22 09:12:27 2008 -0600
+
+ gallium: fix mem leak (fee pstipple stage)
+
+commit f73cfd9e5cb0f47057f5b78b019787726798f238
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Mar 22 09:12:02 2008 -0600
+
+ delete default programs with ctx->Driver.DeleteProgram()
+
+commit 4e977fb35befa60b2f74a21c0c9818854e6a7c85
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat Mar 22 10:05:55 2008 +0000
+
+ gallium: Remove pedantic asserts.
+
+ Move these to a higher level instead.
+
+commit 9566cf0e2f326d8fe638748d0bc10626e8c0387e
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sat Mar 22 11:00:25 2008 +1000
+
+ r500: fixup fake shader to keep gears going
+
+commit 4feac4e40e08d95c4549ef28ad89cc4d3d8f74a7
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sat Mar 22 10:56:48 2008 +1000
+
+ r500: enable gb tiling for r5xx
+
+commit 583ed4bde3aa450f049ad893820aece9fb6b1a9a
+Author: Dave Airlie <airlied@redhat.com>
+Date: Sat Mar 22 10:55:32 2008 +1000
+
+ r500: fixup support for emitting fragment program to hardware.
+
+ Also fixup the constant emission
+
+ this breaks glxgears from what I can see but its another step to correctness
+
+commit 47531442e9c89c3ca764e9be225cfaec388609a1
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Mar 21 11:20:49 2008 -0700
+
+ cell: Generate blend / depth test code when state atom is created
+
+ Code generation should be performed when the device-specific state
+ atom is created, not when it is bound.
+
+commit 600499cf888fee9a91ff3106beca939ea0c7b2bd
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Mar 21 11:15:49 2008 -0700
+
+ cell: Change code-gen for CONST_COLOR blend factor
+
+ Previously the constant color blend factor was compiled into the
+ generated code. This meant that the code had to be regenerated each
+ time the constant color was changed. This doesn't fit with the model
+ used in Gallium.
+
+ As-is, the code could be better. The constant color is loaded for
+ every quad processed, even if it is not used. Also, if a lot of (1-x)
+ blend factors are used, 1.0 will be loaded and reloaded into registers
+ many times.
+
+commit f140062b72ee2df05020d86abdc47336262494f9
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Mar 21 10:25:58 2008 -0700
+
+ Tabs to spaces
+
+commit 2902c164a22b6bcb6a42d7cd7fa82b608875093b
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Mar 21 10:23:52 2008 -0700
+
+ cell: Remove unnecessary default_blend work-around
+
+ I suspect that there was some other bug in the blend code-gen that
+ made this work-around necessary.
+
+commit fb1f4e207d9becca4a83d4934ff6aebf8270e51a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Mar 21 15:54:27 2008 -0600
+
+ gallium: fix const buffer update bug
+
+ If only glUniform is called between two renderings, the const buffers weren't
+ getting updated. Need to set the _NEW_PROGRAM flag in st_upload_constants()
+ as that's the dirty flag set by glUniform.
+ Fixes glean tapi2 test.
+
+commit c60b5dfde869c208a479ac273f4538d4d07574cf
+Author: Michal Wajdeczko <Michal.Wajdeczko@intel.com>
+Date: Fri Mar 21 14:18:26 2008 -0700
+
+ [965] Avoid emitting dead code for DPx/math instructions.
+
+ The pass1 optimization stage clears out writemasks and registers, but the
+ instructions themselves are still being processed at this stage, and could
+ have resulted in them still being emitted.
+
+commit bb419970ef465804c0e5369264314d9d92726c18
+Author: Michal Wajdeczko <Michal.Wajdeczko@intel.com>
+Date: Fri Mar 21 13:48:12 2008 -0700
+
+ [965] Improve pinterp performance by delaying reads of just-written regs.
+
+commit 6c1a98e97affb2163e776551eb3a9e669ff99bbf
+Author: Michal Wajdeczko <Michal.Wajdeczko@intel.com>
+Date: Fri Mar 21 13:43:44 2008 -0700
+
+ [965] Fix negating of unsigned value in emit_wpos_xy.
+
+commit 5f10438f2d9c739964cf53f04fee3190991325a1
+Author: Michal Wajdeczko <Michal.Wajdeczko@intel.com>
+Date: Fri Mar 21 13:41:12 2008 -0700
+
+ [965] Add MVP code for position invariant vertex programs.
+
+ This fixes the arbvptorus demo.
+
+commit 31fe7cf5e3ca38441acb25215420afa6944226f3
+Author: Michal Wajdeczko <Michal.Wajdeczko@intel.com>
+Date: Fri Mar 21 13:11:07 2008 -0700
+
+ [win32] Use native aligned memory allocation functions.
+
+commit aa8a7ef823b2d8e43c4d0e37fdc457ad6930b737
+Author: Michal Wajdeczko <Michal.Wajdeczko@intel.com>
+Date: Fri Mar 21 13:05:42 2008 -0700
+
+ [965] Shuffle state flags to match the order we initialize them in.
+
+commit 9f6e8e89c86d725fd0baa184af8a22f1f9032550
+Author: Michal Wajdeczko <Michal.Wajdeczko@intel.com>
+Date: Thu Mar 20 17:38:12 2008 -0700
+
+ intel: Use _mesa_ffs wrapper, and fix a use-after-free with INTEL_DEBUG=buf.
+
+commit 050c533cbfe957ba84b2c933b33f8f876010bf9b
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Mar 20 17:28:58 2008 -0700
+
+ autoconf: automatically detect if -ldl is required.
+
+ This logic was copied from the xserver.
+
+commit bcb61987fb7260894065e4fc5aa246317e1a3ff4
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Mar 20 17:19:07 2008 -0700
+
+ Fix xdemos build on FreeBSD: <sys/types.h> before <netinet/tcp.h>
+
+commit 5ad06156b2ed3b157445d3569888bb5f5091791e
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Mar 20 17:14:20 2008 -0700
+
+ Fix autoconf build on FreeBSD: detect gmake, and put -D*_SOURCE under linux.
+
+commit a39091bc5b68e4d4f5302f1d3f1a138798f54b77
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Mar 21 14:20:07 2008 -0600
+
+ Refactor PBO validate/map code.
+
+ We always need to do PBO validation, so do that in core Mesa before calling driv
+ er routine.
+ cherry-picked from Mesa/master.
+
+commit d933be6baf98624c609d422a9b083a08f67e8bdb
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Mar 21 14:19:28 2008 -0600
+
+ Refactor PBO validate/map code.
+
+ We always need to do PBO validation, so do that in core Mesa before calling driver routine.
+
+commit f1626f0bfd2b14ad8ca2afaad2ea8afb539e6491
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 21 13:44:27 2008 -0600
+
+ gallium: implement PBO operations for glDraw/ReadPixels and glBitmap
+
+ At this time there are no optimizations for directly blitting between
+ buffer objects and surfaces (always go through mappings).
+ glean pbo test passes now
+
+commit ff938bf059a41a9bdf4c2c93cebe4a3b8a89c201
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 21 13:43:07 2008 -0600
+
+ add a number of PBO validate/map/unmap functions
+
+ Helper functions for (some) drivers, including swrast.
+ cherry-picked from Mesa/master
+
+commit 3c9862d337244e305dc39bdd0a48e254c9766ec8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Mar 21 13:42:36 2008 -0600
+
+ include varray.h to silence warning
+
+commit a429a25cd55b8c16356a60452de92228bb6c71b0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Mar 21 13:41:00 2008 -0600
+
+ add a number of PBO validate/map/unmap functions
+
+ Helper functions for (some) drivers, including swrast.
+
+commit 85ea7ff25cec703a00d79246df49a4ae6192c395
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Mar 21 12:31:21 2008 -0600
+
+ Fix some PBO breakage.
+
+ In _mesa_Bitmap, can't early return if bitmap ptr is NULL, it may be an offset
+ into a PBO. Similarly for _mesa_GetTexImage.
+
+commit c80a380ebb58c15db87309d466ef57fb006b40ae
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Mar 21 12:32:48 2008 -0600
+
+ Fix some PBO breakage.
+
+ In _mesa_Bitmap, can't early return if bitmap ptr is NULL, it may be an offset
+ into a PBO. Similarly for _mesa_GetTexImage.
+
+commit b70a6babfbc035d64dbe35ac4bf9218e8232b435
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Mar 21 10:03:23 2008 -0600
+
+ i915: added to-do note about setting the max_lod register to get proper min/mag filter selection
+
+commit 74525d474c4629b05dd588d13324f22a8a85fb70
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 21 11:06:08 2008 -0600
+
+ mesa: minor code re-org
+
+commit 3600e7402c2a1824c8e5e2cc6ea189bcdeb4db6b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 21 11:05:02 2008 -0600
+
+ gallium: use is_format_supported(PIPE_FORMAT_DXT5_RGBA) to check if s3tc is supported
+
+ The PIPE_CAP_S3TC token will be deprecated.
+
+commit 4394736252fd79827a635a9746243689fef76b05
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 21 11:03:53 2008 -0600
+
+ gallium: added DXT formats (preliminary, will probably change)
+
+commit 13540d38d9d4ac4f71533ce239f0d9a2b950e6db
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 21 10:51:21 2008 -0600
+
+ gallium: use is_format_supported() to determine if GL_EXT_texture_sRGB is supported
+
+commit 419248b5287e98494d4460ed418e572a8e556ac6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 21 10:50:26 2008 -0600
+
+ gallium: document is_format_supported()'s type param
+
+commit a472e3558e96dc4efcfee5db0e0cd21d9318dd30
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 21 10:45:33 2008 -0600
+
+ gallium: PIPE_FORMAT_TYPE_ comments
+
+commit ad62644290cfb849db13fddab67bbf8515698d27
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 21 10:43:56 2008 -0600
+
+ gallium: added sRGB formats
+
+commit 403c7ba91a72f4740ab64823172c8760d837770d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 21 10:38:56 2008 -0600
+
+ gallium: additional comments, fix typos, etc
+
+commit 75b85fd33abe143d9cca6f8405f0a4243b6a5ddb
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Mar 21 23:24:16 2008 +1100
+
+ nv40: fix bug in query code
+
+commit 23c98f618b4502222933e0f0aa8f43941f2ccfad
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Fri Mar 21 12:14:06 2008 +0000
+
+ gallium: Update scons build for state tracker files added/removed.
+
+commit 3be8785e08128bc2821c0cdff97f7adbb46c745b
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Mar 21 23:09:01 2008 +1100
+
+ nv40: add 16-bit SSCALED vb formats
+
+commit 3a0dd2e6d162fad6f98f337ee4f6b5dada1e37f3
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Mar 21 23:03:25 2008 +1100
+
+ nv40: ensure vb relocs don't end up on list for swtnl
+
+ Avoids bo code bailing out because of mapped buffers being validated.
+
+commit 19b57690ad251e2b0714abe3a20893722bd99d54
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Mar 21 22:23:19 2008 +1100
+
+ nv40: call semi-magic 0x1d88 method
+
+commit 308d7b171179f40b767b6590f71f969473ade25c
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Mar 21 22:09:29 2008 +1100
+
+ nv40: swtnl fallback on unsupported array format
+
+commit 0c91f5991dee7827ea915214a2a6973c2d6a7257
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Mar 21 22:02:49 2008 +1100
+
+ nv40: oops
+
+commit 46b8dd9c16755e97ae547c0a1823e338f7a7c791
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Mar 21 22:01:22 2008 +1100
+
+ nv40: s/free/FREE/
+
+commit 32162871396f65e8afdd90c602b1ccd01233c2e2
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Mar 21 21:58:17 2008 +1100
+
+ nv40: align each level to 64 pixels
+
+commit ebde8d3a1276f5c72d39936efabe72b5325f8e98
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Mar 21 21:17:57 2008 +1100
+
+ nv40: use num_cbufs
+
+commit 7936c614abc165270852bc5e7e316747a9cacdfb
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Fri Mar 21 18:16:11 2008 +0800
+
+ [i965] multiple rendering target fix
+
+commit 1a4dcde808dbd5daa58f939361d9a9b539f81b50
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Mar 21 18:28:07 2008 +1100
+
+ nouveau: do a retry if initial buffer alloc fails
+
+commit 83e94189c424303fee4218a9d9380fc73b7ba318
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Mar 21 18:15:58 2008 +1100
+
+ nouveau: use saved fence pointer, not head of unsignalled list
+
+ It's possible for the unsignalled list head to change during fence_flush.
+ Fixes valgrind complaint exposed by a previous commit.
+
+commit 3eb8e5871f3b3e572ae5e281f55fb7282c82c47e
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Mar 21 17:05:29 2008 +1000
+
+ r500: setup fragment program constant emission atom
+
+commit 735ecf5de8587f8e52fe6ffc7f3f17403d140e23
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Mar 21 17:40:01 2008 +1100
+
+ nouveau: potentially delay buffer destruction
+
+ Rather than spinning waiting for the GPU to finish with the buffer,
+ add a callback on the buffer's fence object instead. Gives a sizable
+ performance increase in OA.
+
+commit 5d2577e576635559da202d0d062601e404843b2c
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Mar 21 17:38:24 2008 +1100
+
+ nouveau: try combining prev and next resources on free
+
+ Fixes some cases where we end up with a list of many unused chunks that are
+ too small to be useful.
+
+commit 95e8cad9a38181052790b34837daa6717e0c5171
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Mar 21 12:57:05 2008 +1100
+
+ nv40: use new pipe_framebuffer width/height fields
+
+commit 85108e5f8f3fd1ace813cb6eac6e82af4a2e2c7a
+Merge: 1d9049c cab6895
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Mar 21 12:54:34 2008 +1100
+
+ Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1
+
+commit cab68957c72d6f198546a250b6fe0a74732cb3ec
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Mar 20 18:17:48 2008 -0700
+
+ cell: Fix several bugs in blend code-gen
+
+ - Alpha factor set to a _COLOR mode was mishandled
+ - Cases when either dst factor or src factor was ZERO were mishandled
+ - MIN and MAX cases were backwards
+ - Case when blend was disabled was mishandled
+ - Incorrect comments about number of instructions generated
+
+ The tests blendminmax and blendsquare run correctly.
+
+commit 4b9520fc05f169b74835c096c933d67c67c6d8cd
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Mar 20 17:36:31 2008 -0700
+
+ cell: Call the correct function to generate blending code
+
+ Cut-and-paste for the lose. :(
+
+commit df1d6e2410dbc6af66ca416124587918b9764ee8
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Mar 20 17:36:05 2008 -0700
+
+ cell: Fix bus error when there is no depth buffer
+
+commit 2b21bde3b1fa6fe357a3a5adc6249e89d6915524
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Mar 19 17:29:39 2008 -0700
+
+ cell: Use code-gen for alpha blend
+
+ So far this is only tested when GL_BLEND is disabled.
+
+commit 3b3774b1227743147159676795b542c0eb7c2bdf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 20 17:08:07 2008 -0600
+
+ gallium: catch some out of memory conditions in the texture image code.
+
+ st_finalize_texture()'s return code now indicates success/fail instead of
+ presence of texture border (which we discard earlier).
+
+commit 0565e6888a332956661f6bc8b5778b058168e5f9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 20 15:22:20 2008 -0600
+
+ gallium: set fb.width/height
+
+commit 00cf178d93e5bc36a88a9f8ff444f60c493be14d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 20 15:21:55 2008 -0600
+
+ gallium: enable vp input semantic info
+
+commit 09f67990abd4bb9b79349be2fca9a6ae850b6f5f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 20 15:03:43 2008 -0600
+
+ gallium: use new framebuffer width, height fields
+
+commit 2fb30b77ad09016efcf969456de9b0341bc53bac
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 20 15:02:59 2008 -0600
+
+ cell: use pipe_framebuffer_state.width, height
+
+commit 3a4ece89a799a7c699be229a6d965d4820af0196
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 20 15:02:32 2008 -0600
+
+ gallium: assign framebuffer width, height
+
+commit f3d23aa787bb08bad7638540b128fa0e65110246
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 20 15:02:10 2008 -0600
+
+ gallium: unused var silence warning
+
+commit 80567f9c9f84d9df1cdb2d91a3c0814888cc5d08
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 20 15:01:44 2008 -0600
+
+ gallium: added width, height to pipe_framebuffer_state
+
+commit f6cd3778c54c0329c3f497a7368a158087d653d3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 20 14:50:17 2008 -0600
+
+ gallium: glBitmap code now separe from glDraw/CopyPixels code
+
+ Also, glBitmap now re-uses the vertex buffer to avoid frequent allocations/
+ deallocations. And, use u_simple_shaders utility code.
+
+commit 3ece9ace540447c4f0d340a6f9f27980b54f83fb
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 20 14:49:56 2008 -0600
+
+ gallium: glBitmap code now separated from glDraw/CopyPixels code
+
+commit b028d32af4f5e7beeb4e659a4726e0d35d105ccc
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 20 14:27:14 2008 -0600
+
+ gallium: create one vertex buffer and re-use
+
+commit 18be9a588acb46dad52321c91eab9927bc332756
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 20 14:26:51 2008 -0600
+
+ gallium: use sizeof(vertex buffer)
+
+commit 3aa8c660ffa9763dbdfdf2d75e991a08e41c29b6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 20 14:20:25 2008 -0600
+
+ gallium: Y-invert blit depending on framebuffer orientation
+
+commit c2044eaca96abfae153651ec609b5af2fd0b6fb0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 20 14:17:06 2008 -0600
+
+ gallium: in clear_with_quad() check fb orientation, invert Y if needed
+
+commit 9fa88fb3c57f6868dc169b692528cf23ceced76c
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Mar 20 20:34:46 2008 +0000
+
+ gallium: Give some chance for the table to actually grow.
+
+commit 400b12b4ceda32cc35b60d0484dfd333f1749b8e
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Thu Mar 20 20:34:03 2008 +0100
+
+ gallium: Fix build on Windows.
+
+commit 482f4995253a0c295dc02e34e58a138ac8822c54
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Thu Mar 20 20:25:40 2008 +0100
+
+ gallium: Fix build on Windows.
+
+commit f259ea0347754e0e8c93fd16796fc1db72b03372
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Mar 20 19:25:44 2008 +0000
+
+ gallium: remove unused local var
+
+commit e1406c8d2366dccac0037e5329217d1c8c265eaf
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 20 10:46:44 2008 -0600
+
+ gallium: create one vertex buffer and re-use, also enable bypass_clipping
+
+ Quad clears should be a little more efficient now.
+
+commit 309d6e52c5c1cdeca1434cbe29e869b9176e5fa5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 20 10:44:51 2008 -0600
+
+ gallium: create vertex buffer once and re-use.
+
+commit 8c71406c74b80fa2d2b1a488938c3b9dfc156343
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 20 10:44:27 2008 -0600
+
+ gallium: added util_draw_vertex_buffer()
+
+commit 8dd90ee19d97c4b032c2b057d96b3e674be3e1fd
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 20 09:15:24 2008 -0600
+
+ gallium: temporarily disable the memcmp() in cso_set_framebuffer()
+
+ The memcmp() fails to detect buffer size changes...
+
+commit 85e4ec6d118e340eaccd176aa622221642a2e754
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 20 09:13:51 2008 -0600
+
+ gallium: use the utility pasthrough shaders
+
+ This avoids the Mesa->TGSI translation step.
+
+commit 6a9a3afcf923ec5c67069cdb1656f52675cd8ede
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 20 09:11:27 2008 -0600
+
+ gallium: added util_make_fragment_passthrough_shader()
+
+commit 1d9049c4df24d47446218f4032b891b817af0d00
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Mar 21 00:18:18 2008 +1100
+
+ nouveau: match gallium API changes
+
+commit c7e9cb10937391c25a884fe62db91ea9b910d672
+Merge: 62767cf 122ed50
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Mar 21 00:11:25 2008 +1100
+
+ Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1
+
+commit a88202d3b02a24a3bfff95c5e375ead44dae4c5e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Mar 20 13:10:32 2008 +0000
+
+ gallium: add debug facility to dump random blobs as hex
+
+commit 7233eabaf0072b7c50e4f26ec33738b5b89aad20
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Thu Mar 20 17:47:02 2008 +0800
+
+ [i915] GL_DEPTH_TEXTURE_MODE fix
+
+commit ed18005a9940c26cafa5ed8ccadc46e2fbe63f9e
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Mar 20 14:34:04 2008 +1000
+
+ r300: add rv530 pci id for the t60p laptop
+
+commit d019f101e840e20b0f47799c17336599d829ae54
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Mar 20 14:30:59 2008 +1000
+
+ r300: this code really shouldn't be here.
+
+ For R500 just ignore it for now while I do something interesting like
+ run glxgears.
+
+commit 2b8e422b3173388075b010f10e935c735edcd9a1
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Mar 20 14:21:10 2008 +1000
+
+ mesa: cleanup state emission and rs for r500
+
+ trivial clear app now renders
+
+commit 9e6e4ae49a49c60f9b15d9276a44a1ad25865c81
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Mar 20 13:55:56 2008 +1000
+
+ r500 RS unit setup
+
+commit bff94a91c6852157a8251652cb61dc699cd8e4f1
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Thu Mar 20 11:22:46 2008 +0800
+
+ mesa: The span array is only populated in single-pixel
+ point drawing function.
+
+commit 7183ccaa9df1b5591e7aca926ce4ea5aab4ffc86
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Mar 19 17:53:21 2008 -0700
+
+ [965] Initialize region surface key structure padding.
+
+ Fixes valgrind warnings, and potential performance loss from cache misses.
+
+commit 7d5f713fa5c3d49425e984dc437926725ad4a8cc
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Mar 19 16:14:48 2008 -0700
+
+ [intel] Fix an uninitialized variable access in PRESUMED_OFFSET clearing.
+
+ It was harmless, as the only time we need to clear PRESUMED_OFFSET, the
+ variable had been initialized already.
+
+commit 122ed506f4b808503b230bade421018614dbe696
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 19 18:10:09 2008 -0600
+
+ gallium: added fb_width/height fields to softpipe context
+
+ These are convenience fields. Otherwise, we have to check cbuf[0] or zsbuf
+ in various places.
+
+commit e03dd83209929ca0925172c962bc41cab8268164
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Mar 19 17:24:20 2008 -0600
+
+ fix IEEE_ONE definition for ICC compiler (bug 15134)
+
+commit ba31cf68551e409c7360995a35d836c22d9e0e75
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 19 17:14:49 2008 -0600
+
+ better text labels
+
+commit 4984487bc3338fc351a0631eaa4515e4adbb86a9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 19 17:08:16 2008 -0600
+
+ gallium: add face, dirtyLevels params to pipe->texture_update()
+
+ This provides better information about which images in texture object have changed.
+ Also, call texture_update() from more places previously missed.
+
+commit 11c34dc644fe58b8178ab9142929a6685e3c0848
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 19 17:04:49 2008 -0600
+
+ gallium: need to set/save framebuffer state in st_context since we use it elsewhere
+
+commit b45669283fe4b9af9f2e78ac3c0c84207cf63775
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 19 16:41:54 2008 -0600
+
+ gallium: fix bug in cso_single_sampler_done() in computation of nr_samplers
+
+ Need to find highest used sampler so search from end toward beginning.
+
+commit 65c4ced1ccea7ff88123296b7f0587faa6f23eef
+Author: Alex Deucher <alex@cube.(none)>
+Date: Wed Mar 19 18:10:47 2008 -0400
+
+ Radeon 9500 (0x4144) only has one pipe
+
+ confirmed by Reid Linnemann <lreid@cs.okstate.edu>
+
+commit df5ba799fa929d4c739be9d11d3f1000afc265b2
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Mar 19 20:46:08 2008 +0000
+
+ gallium: Fix broken logic.
+
+commit b4f03d0c98674c83d06edfa767a7898eca5d4ef8
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Mar 19 17:35:42 2008 +0000
+
+ gallium: explict float casts
+
+commit 7d95efde0a0e13e13c59444703bc47eb13926385
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Mar 19 11:12:48 2008 -0600
+
+ gallium: implement CSO save/restore functions for use by meta operations (blit, gen-mipmaps, quad-clear, etc)
+
+ Also, additional cso_set_*() functions for viewport, framebuffer, blend color,
+ etc. state.
+
+commit 1213c7257335d577cf0217e34edafddf0451ba1b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Mar 19 10:43:35 2008 -0600
+
+ gallium: remove old commented-out code
+
+commit 4b39ba72166c6468525b19797c3d8a058814d789
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Mar 19 08:53:02 2008 -0600
+
+ gallium: set tc->surface_map = NULL after unmapping
+
+commit e08501b45763cf177f03fb34b737050d23ba4bc0
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Mar 19 16:41:07 2008 +0000
+
+ gallium: Add generic enum and flags dumping utility functions.
+
+commit b5292b4d9967f3a3a35cd7f1909b46fab9179111
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Mar 19 09:52:08 2008 -0600
+
+ x86_init_func_size() returns int to indicate success/fail (bug 15119)
+
+commit 29054676a094c59b70cfec8b05da11741e53722c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Mar 19 08:38:28 2008 -0600
+
+ s/x86_init_func/x86_init_func_size (fixes bug 15119)
+
+commit 62767cf2dd1006621ecd6023b15d65b5cff41dfa
+Merge: 176df85 ec89053
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Mar 19 22:51:17 2008 +1100
+
+ Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1
+
+commit 176df85568992a5d99aab7f0b1e382d41459aa13
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Mar 19 21:52:19 2008 +1100
+
+ nv40: "implement" noise opcodes in fragprog
+
+ For the moment, we do what NVIDIA does and return 0 unconditionally. This
+ isn't correct, but it's an implementation at least.
+
+commit 9575e35807c89c0b8a745671bc2dcd54d96379ff
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Mar 19 00:06:15 2008 +1100
+
+ nouveau: pass nvws to nvws->push_* functions, rather than nouveau_channel*
+
+commit 947312e464edf4257c06e9889c976e268d43dd97
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Wed Mar 19 16:32:29 2008 +0800
+
+ [i915] arb point sprite only support in i965
+
+commit c62f504eb6030097b679233a75f87cca1b0e617d
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Wed Mar 19 16:29:47 2008 +0800
+
+ [i915] fix fragment.position
+
+commit 57028236c8b6ab0a56cba3a504d1d8ff12ab6c0d
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Mar 19 16:29:11 2008 +1000
+
+ more r500 vs r300 kickin
+
+commit b790b24ff9204eb6f305b14bd40bb903e65dd541
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Mar 18 19:45:30 2008 -0700
+
+ [i915] Bug #13634: Fix bugs in 945 cube mipmap layout.
+
+ The most egregious, and the one the bug report and failure in the cubemap
+ demo were about was introduced with intel_mipmap_pitch_align(), where a
+ "* 2" for the pitch calculation was lost. The base size < 32 case also
+ failed to align, which may have caused problems with render to texture.
+ Another bug would have broken 2x2/1x1 base mipmap levels by placing the
+ data where the hardware wouldn't look for it.
+
+ Other bugs remain with the layout of the small mipmap faces (hardware looks
+ for them in X,Y,Z,-X,-Y,-Z order along the bottom row, but we lay them out
+ X,-X,Y,-Y,Z,-Z).
+
+commit c2814f2a3fbfa0e4ba6c45347fcadd3722b005ff
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Mar 18 17:49:31 2008 -0700
+
+ [i915] Add comments about how cube texture layout works.
+
+commit 45adf29ed0bd47e21bed824ab9afcc7b9dcbb60d
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Mar 18 16:06:41 2008 -0700
+
+ [i915] Move miptree layout code into separate functions per target.
+
+ Also clean up some other miscellaneous formatting nits while I'm at it.
+
+commit e5f50f2fa32c50807da3a8f13733f0fbc7868f94
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Mar 18 16:20:44 2008 -0700
+
+ [intel] Clarify miptree layout by using byte offsets to images.
+
+commit 363d8785192e299963df520d53c221f494c8026c
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Mar 18 15:29:11 2008 -0700
+
+ [945] Remove conditional in 945 3D mipmap layout checking for cube layout.
+
+commit a3b5ae783e18040349f1736c2ad812e0ec24a7b8
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Wed Mar 19 01:03:48 2008 +0000
+
+ set outputs_safe to 0 as it's possible for the code generation
+ to slip over the allocated memory for the vb.
+
+ pull in sse fixes from gallium-0.1
+
+commit ec890533c2852fa62366d449e6fbc899fb0498be
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Wed Mar 19 00:18:07 2008 +0000
+
+ set outputs_safe to 0 as it's possible for the code generation
+ to slip over the allocated memory for the vb.
+
+commit 6a8bbdba188fc299c46e8d8f11777046737cd183
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Wed Mar 19 00:16:16 2008 +0000
+
+ remove redundant init
+
+commit 9f50a6a24c922926904c215249c3a0426dd433aa
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Mar 18 17:19:57 2008 -0600
+
+ gallium: added braces to silence warning
+
+commit 0df877a0ee68359d106ba84e3dd3b7c42ae20d5a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Mar 18 17:16:23 2008 -0600
+
+ gallium: plug in and init GL_EXT_framebuffer_blit function/extension
+
+commit ecb873b2b5754adbd47cee4856a549e48e48505f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Mar 18 17:16:12 2008 -0600
+
+ gallium: added st_cb_blit.c
+
+commit d946b55543e483a15d8efbe4022d895c8444f6ac
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Mar 18 17:15:25 2008 -0600
+
+ gallium: s/copy_pixels_state/blit_state
+
+commit e5b19a0f833b5a3d5ffcf50d25a620d00bd8914b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Mar 18 17:14:05 2008 -0600
+
+ gallium: added cso_unset_*() functions
+
+ If we go behind the CSO context's back and set pipe state directly we
+ need to invalidate the CSO's 'current' pointers.
+ This will be revisited...
+
+commit 84836ffce1ca322f91aaae25c4de2be20e55a4b5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Mar 18 17:13:14 2008 -0600
+
+ gallium: glFramebufferBlitEXT() implementation
+
+commit 320da13c87c683cbe6e8145a9258ea2b7ef674cd
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Mar 18 17:12:51 2008 -0600
+
+ gallium: fix typos
+
+commit 0abe462128a8a0725e006751e553f89fee2d7fa7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Mar 18 17:04:59 2008 -0600
+
+ gallium: new pixel blit code
+
+ Copy rectangular region from one surface to another w/ scaling.
+ Disables most fragment operations.
+
+commit 18f9fa9e71abdd999e49ef78729bfe3d92304312
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Mar 18 16:59:46 2008 -0600
+
+ gallium: protect against multi-#include
+
+commit 8de9503d5d290c475a1940a71e58086ab3735f83
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Mar 18 16:59:15 2008 -0600
+
+ added u_simple_shaders.c
+
+commit e5a20499d84ba8d270c3144f2c1c7615eeb077c7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Mar 18 16:58:15 2008 -0600
+
+ gallium: make the gen_mipmap_state struct private
+
+commit 4bd2b74441092154f0d0048822c6e36cfcc183af
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Mar 18 16:57:23 2008 -0600
+
+ gallium: use new simple shader utility routines
+
+commit 31970c4633c5000916b0a36022ff761038f5cf5a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Mar 18 16:56:55 2008 -0600
+
+ gallium: utilities for creating simple vertex/fragment shaders
+
+commit bab9209e12ec16ef3b33d46be8e6154f8c8f182d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Mar 18 15:15:02 2008 -0600
+
+ gallium: restore additional state after clearing with quad
+
+commit fe40dae02d3f3a83ee5bb66819c1ed4a3f66da80
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Mar 18 15:59:33 2008 -0700
+
+ cell: Fix various stencil test code-gen bugs
+
+commit fa69a6e1bb7a1fe96848456255e5370f1904706d
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Mar 18 15:59:06 2008 -0700
+
+ cell: Correctly load stencil for PIPE_FORMAT_S8Z24_UNORM
+
+commit 75e714d476eb573a6e06585341ce693434eb237e
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Tue Mar 18 21:50:01 2008 +0100
+
+ nv30: disable emit texture image in state_emit, already done in fragtex
+
+commit 35a1ec53a7728311de22124c14b93dbbdee2ce90
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Mar 18 13:10:51 2008 +0000
+
+ gallium: make REALLOC a bit more like realloc
+
+commit 17b234ae3319d8a36afc44d0cceb30fea6b42d67
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Mar 18 11:47:37 2008 -0700
+
+ cell: Fix depth read / write for s8z24.
+
+ Stencil is still broken.
+
+commit f3e686d24a54f65b98c9a61a952577faaf451148
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Mar 18 10:29:14 2008 -0700
+
+ cell: Fix added whitespace errors.
+
+commit 5fdaebc51c5433ebc73f89690fd435dae2fcef60
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Mar 18 10:26:45 2008 -0700
+
+ cell: Minor changes to make stencil not crash
+
+ I'm not sure these are quite correct. The reflect demo doesn't assert
+ anymore, but it doesn't produce correct results either. SPE-based
+ vertex shader code needs to be disabled for relfect to run.
+
+commit f432ac5a1126997f10072760fe5afbf1b96f44f7
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Mar 18 10:23:39 2008 -0700
+
+ cell: Move and (conditionally) silence debug code
+
+commit 527e30c53baadb396e5503e5188f0a9f1b2d2501
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Mar 18 12:46:24 2008 +0000
+
+ d3d: Allow to iterate over the handle table.
+
+commit d26139d6a19aaf8b4dbbaa1ee937fed2283923e4
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Mar 18 12:01:14 2008 +0000
+
+ d3d: Add function to walk through all items in the hash table.
+
+commit 56ac9eb1f6e3826e4e8f7ab0f1fdbeed06c41c9f
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Mar 18 11:49:29 2008 +0000
+
+ gallium: Don't be pedantic about removing non exiting items from the table.
+
+commit d1ca951cc4f3392aeec2817e97fb9ade2c1b7881
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Mar 18 11:49:02 2008 +0000
+
+ gallium: Convenience debug_warning function.
+
+commit e8f8b12bb940794cef8eff52ae8c908ad0604161
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Mar 18 09:28:04 2008 -0600
+
+ gallium: fix a mix-up in the uint[1] do_row() case
+
+commit f1cfb1e3676fc9e1fea6698ed5e8e79d2b094dae
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Mar 18 09:23:35 2008 -0600
+
+ gallium: use new color packing utility functions
+
+commit 544c27bcefd8a10318800c3cc2019514ee01a15b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Mar 18 09:22:41 2008 -0600
+
+ gallium: utility for packing color, z values according to pipe_format
+
+commit b2b905b04c09dd5e701a43b0fecb73921b8f2866
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Tue Mar 18 15:59:55 2008 +0100
+
+ gallium: Silencium warnings on Windows.
+
+commit e4b5008de46659f13fca7dcd1b587504e9d4484c
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Tue Mar 18 13:34:26 2008 +0100
+
+ nv30: hmm, no buffer for texture
+
+commit a514aeb77899816d82c5b31f3bf2206d82d68893
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Tue Mar 18 13:20:59 2008 +0100
+
+ nv30: update miptree stuff for texturing
+
+commit f7cfc51b057d9d2fa109b32796b992e8f4f3bfcc
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Tue Mar 18 17:37:25 2008 +0800
+
+ Revert "[i965] make stipple pattern continue across GL_LINE_LOOP and GL_LINE_STRIP"
+ There is no information in GS to determinate when to reset line stipple count, still fallback to software
+ This reverts commit 5a0314b431ab147c6156c3011f4cb54161ba4b25.
+
+commit ae2c31ed669abab66a8c4b68d8d746e94b9ebf28
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Tue Mar 18 15:02:57 2008 +0800
+
+ glx: Add isDirect back to __GLXcontextRec. It is needed
+ to check whether oldGC is used for direct rendering in
+ function MakeContextCurrent. However it is possible
+ oldGC->driContext is already freed. fix bug #14926.
+
+commit 5a0314b431ab147c6156c3011f4cb54161ba4b25
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Tue Mar 18 10:27:20 2008 +0800
+
+ [i965] make stipple pattern continue across GL_LINE_LOOP and GL_LINE_STRIP
+
+commit 48efb769e983bea6baf934eba8865ab3fa61a77a
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Mar 18 10:29:16 2008 +1000
+
+ r300: add new rs690 pci id
+
+commit de779c8d319b6269705cd7e6f2009243a771a2b9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Mar 17 17:45:00 2008 -0600
+
+ gallium: initial gen mipmap s/w fallback code
+
+commit 9f93e6701902312edf48821bb4c0558c3d62aaa3
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Mar 17 16:09:28 2008 -0700
+
+ cell: Don't segfault when unbinding alpha / stencil / depth test state
+
+commit 9f106a8683ec89b873f0237fbb6930a63b89dfa0
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Mar 17 16:07:54 2008 -0700
+
+ cell: Don't free NULL code pointers
+
+commit 3105bc1d885ea8ce083d2be85cbeac46d4d873a1
+Author: Andrzej Trznadel <Andrzej.Trznadel@intel.com>
+Date: Mon Mar 17 15:54:24 2008 -0700
+
+ [965] Fix fp temp reg release code to not usually release all temps.
+
+ Also, use wrapped ffs() instead of native.
+
+commit e9809a36aaea3480cba5bd62360bf9d481ff9011
+Author: Andrzej Trznadel <Andrzej.Trznadel@intel.com>
+Date: Mon Mar 17 15:52:08 2008 -0700
+
+ Fix compat implementation of ffs() to return 1-based bit numbers.
+
+commit 1936e4bdfd776f78f9fe44f77ce66066fd166360
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Mar 17 15:45:52 2008 -0700
+
+ cell: Initial code-gen for alpha / stencil / depth testing
+
+ Alpha test is currently broken because all per-fragment testing occurs
+ before alpha is calculated.
+
+ Stencil test is currently broken because the Z-clear code asserts if
+ there is a stencil buffer.
+
+commit 0c715de39fa8337a2753dacd77ed280000416c1a
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Mar 17 15:37:09 2008 -0700
+
+ cell: Fix simple register allocator
+
+ THere are 64-bits in a uint64_t, not 128. Duh.
+
+commit 5456f4f210defe0c4ba17a9314ba0b61334e7976
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 17 16:03:06 2008 -0600
+
+ mesa: new mipmap generation, lod bias demo
+
+ Show each of the mipmap levels side-by-side.
+ Press 's' to toggle quad scaling to see mipmap level at actual size.
+
+commit 088c6404fcae07dec6dcf16d2cb0777aa7b446ad
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Mar 17 15:48:13 2008 -0600
+
+ gallium: use new gallium utility code for generating mipmaps
+
+commit 11d723cda68d775fa20e43db16ac2ce7e00430b1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Mar 17 15:39:19 2008 -0600
+
+ gallium: added new u_draw_quad.c and u_gen_mipmap.c files.
+
+commit f1b42595d02828bcc617bc88b4ce6cf38a69ddbf
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Mar 17 15:38:14 2008 -0600
+
+ gallium: new mipmap generation code
+
+ Based on code from Mesa's state tracker.
+ Still need to implement fallbacks for those texture formats which can't
+ generally be rendered to.
+
+commit e3a747f1fefc147e8dca5729bcc8d68f419c595a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Mar 17 15:37:42 2008 -0600
+
+ gallium: new util_draw_texquad() function.
+
+commit 22b9cc3f5f6c900559332f7a30c9cf869e3490d6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 17 12:38:24 2008 -0600
+
+ gallium: set min_mip_filter = PIPE_TEX_MIPFILTER_NEAREST
+
+ Plus, comments, clean-ups.
+
+commit 3394ba65b10a1ec01345c37b7888e18dcfdbe808
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Mon Mar 17 19:03:38 2008 +0100
+
+ nv30: another 2 rt, and set viewport tx origin, so we render at the proper place \o/
+
+commit a33da10b6c999a8ea348789ea13d2147f117a722
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Mon Mar 17 18:13:18 2008 +0100
+
+ nv30: only 2 render targets
+
+commit a2ab6930df2c26e19a723b43a757718ecbc89bcd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 17 09:42:08 2008 -0600
+
+ gallium: in gen_mipmap, also set sampler lod_bias and do a flush() after rendering each level
+
+commit f3c490634ffb8cd2c5329ba1ebfe9c738c2b7441
+Author: Markus Amsler <markus.amsler@oribi.org>
+Date: Mon Mar 17 08:35:37 2008 -0600
+
+ only set InputsRead bit if input is really used
+
+commit f2b914298f677555d1e605cbcc2b7f73c0f0847a
+Author: Markus Amsler <markus.amsler@oribi.org>
+Date: Mon Mar 17 08:35:27 2008 -0600
+
+ only set InputsRead bit if input is really used
+
+commit 6b3269900101a4e4745f95028bfc0c7cfced12a8
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Mar 17 23:05:46 2008 +1100
+
+ nv40: a few more fp opcodes
+
+commit d787850ae6d60f8287ff320d4da2adf4254589c3
+Author: Markus Amsler <markus.amsler@oribi.org>
+Date: Mon Mar 17 12:11:11 2008 +0100
+
+ mesa: Add vertex.attrib 0-15 to arb_input_attrib_string.
+
+commit 1c71ec4d45a8da2a5c83b09e2e39d4a7c2ecc99b
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Mar 17 21:09:49 2008 +1000
+
+ some basic r500 portage
+
+commit c48212fe5861291efd134b35e67568c79b15f960
+Author: Markus Amsler <markus.amsler@oribi.org>
+Date: Mon Mar 17 12:03:54 2008 +0100
+
+ r300: Simplify r300VAPInputRoute1.
+
+commit f0c8863dbb71b2c3605bb8eb9526c7d8d13793cf
+Author: Markus Amsler <markus.amsler@oribi.org>
+Date: Mon Mar 17 12:02:56 2008 +0100
+
+ r300: Simplify r300VAPInputRoute0, check for valid input.
+
+commit 9425a702bef7d3f601e9ddc2b801f00a3d52dbb8
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Mar 17 10:10:45 2008 +0000
+
+ gallium: improvements, or extensions at least, to the passthrough path
+
+ Passthrough is actually more tricky than you'd think...
+
+commit 8d5231a3582e4f2769ac0685cf0174e09750700e
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Mon Mar 17 17:52:26 2008 +0800
+
+ [i965] round pointsize to nearest int according to spec
+
+commit 5da8289e9cc086ac9c010ee41d0c06161c240dbd
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Mar 17 19:05:15 2008 +1000
+
+ r500: fragprog
+
+commit 4a556bcb17b8b0dd9ba4ef6eccbb3cfb2ad6a025
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Mon Mar 17 17:02:42 2008 +0800
+
+ intel: fix the error in commit 7ed1fd5d8438e55fe24091844cdfccb0881306bc
+
+commit 4478926b3a6d15d079a44f6cebebc1db85d382f6
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Mon Mar 17 16:52:07 2008 +0800
+
+ intel: It is needed to allocating texture memory to accommodate
+ a texture when calling TexImage with pixels set to NULL pointer.
+
+commit 7ed1fd5d8438e55fe24091844cdfccb0881306bc
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Mon Mar 17 16:50:20 2008 +0800
+
+ intel: Remove an assertion from intel_miptree_create. TexImage
+ call with zero width/height/depth matches GL spec.
+
+commit 0819b25dfba326c3d32b3b0af5d77e53d1973890
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Mon Mar 17 16:48:36 2008 +0800
+
+ mesa: avoid to unlock an unlocked array in _mesa_PopClientAttrib
+
+commit 07ff7c2285d9cb10ca52d7de7a6b86fd00379d6f
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Mon Mar 17 16:47:42 2008 +0800
+
+ mesa: Follow GL spec to draw DEPTH_COMPONENT pixels when
+ there's no depth buffer. Fix bug #11580
+
+commit b0f681b458ebebab370bbfd2a17699cd851aae8b
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Mon Mar 17 16:39:10 2008 +0800
+
+ [i965] fix wpos height 1 pixel higher
+
+commit f93386de0fb281e79633c3bf57060f660abdfade
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Mar 17 14:22:36 2008 +1100
+
+ nouveau: create fence object when allocating pushbuf, instead of submit
+
+commit 767cd2ed6e97ae09526b15728495f361d5e22cb2
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Mar 17 13:49:03 2008 +1100
+
+ nv40: workaround main swtnl breakage
+
+ Not sure where the real bug is here yet, but for now this gives us correct
+ rendering in far more cases than previously.
+
+commit 5c15b1276ed56064382197d73d9d357201e5f71f
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Mon Mar 17 03:32:07 2008 +0100
+
+ nv10: fixes.
+
+commit b2f01b0777f27a093849f299490b377ab8aab2fb
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Mon Mar 17 03:14:11 2008 +0100
+
+ nouveau: latest header.
+
+commit 49a687882a659bd03fd09ca7a7d592818914597a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sun Mar 16 10:33:59 2008 -0600
+
+ gallium: finish remaining prim types for sp_vbuf_draw_arrays()
+
+ Not totally tested, but easily fixed if glitches are found.
+
+commit e1cf3f00e546f814effd25e9ccd072c941366444
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Thu Mar 13 18:29:56 2008 +1100
+
+ nv40: simple swtnl path (half broken, but getting there)
+
+commit 7d2c63e90983088f1e2f49543caf0468aa91111f
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Mar 16 12:55:02 2008 +1100
+
+ nv10: fix build after merge
+
+commit c4354f84603cabb0e33ea3f586cc89bfdc27f79b
+Merge: 5e17088 cb98f71
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Mar 16 12:49:46 2008 +1100
+
+ Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1
+
+commit 98e13fecd0cb5c13dab0ead424b0f94f318e5a0b
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Sat Mar 15 14:06:42 2008 -0400
+
+ Test createNewScreen for NULL, not createNewScreenName in driCreateScreen().
+
+commit 5e17088ee3d0ddfa8871d92d262bb5242bdd92bd
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Sat Mar 15 16:45:49 2008 +0100
+
+ cso_context_destroy calls bind_state functions with NULL parameter
+
+commit d493203045b214770473f8afeaa610542fe42c2a
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sat Mar 15 05:37:57 2008 +0100
+
+ nv10.
+
+commit 509044609d5121b2a09d64bd24d7aa37e3744a77
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sat Mar 15 04:43:12 2008 +0100
+
+ nouveau: latest header.
+
+commit 9a3320e0791a4a03f5f4b7a6f9c3b0d9d78655b3
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sat Mar 15 04:42:48 2008 +0100
+
+ nv30: only 2 RTs.
+
+commit cb98f71d42e4c714dfb0c3e29d28d8418a1ee86b
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat Mar 15 00:55:28 2008 +0000
+
+ gallium: Ensure we don't add null objects to the table, as they mark empty handles.
+
+commit c2bf23b8372607a5507a44ea3654c8af1083529a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 14 17:47:11 2008 -0600
+
+ mesa: clamp point size in vertex program when computing attenuated size
+
+commit cbf42c45a15d6a132c7f7d4946c422ee3de35e6c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 14 17:45:27 2008 -0600
+
+ gallium: if point size not computed per vertex, apply size clamp immediately.
+
+ Fixes glean pointAtten failure.
+
+commit 5a09ad8248ce452136ed96a3d46532b03c877618
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Mar 14 16:13:35 2008 -0600
+
+ gallium: add explicit control for point sprites (convert points to textured quads)
+
+ New draw_enable_point_sprites() function.
+ Fixes spriteblast.c demo
+
+commit 344356a0edee932604027386591c82f6666e607c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Mar 14 16:00:15 2008 -0600
+
+ gallium: remove DOS carriage returns
+
+commit 08e341e5dc2e15d8a6c4ba870c9d293295df9467
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Mar 14 15:54:02 2008 -0600
+
+ gallium: remove DOS carriage returns
+
+commit f23207ca57095b620febaf723815cc3eef3e87bd
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Fri Mar 14 21:44:06 2008 +0100
+
+ tgsi: Use debug_printf().
+
+commit 2b8f31a6daf6a52086a3454a5dfd1f8bac046804
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Fri Mar 14 21:40:02 2008 +0100
+
+ scons: Remove second occurence of draw_passthrough.c.
+
+commit e80a2888bb8930b19f278700d29bc7a2d6cab5f5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Mar 14 14:15:55 2008 -0600
+
+ init tmpNode to zeros
+
+commit a9aef5fccd0a71bc29845c5af9aacdab5e2234ea
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 14 14:14:13 2008 -0600
+
+ mesa: init tmpNode to zeros
+
+commit 868193d54efd6b181fdd3bacf6c88d5ef5a6bc4c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Mar 14 13:59:32 2008 -0600
+
+ mesa: fix emit_clamp() so that we don't use an output register as temporary
+
+ IR_CLAMP is decomposed into OPCODE_MIN+OPCODE_MAX. Allocate a temporary
+ register for the intermediate value so we don't inadvertantly use an output
+ register (which are write-only on some GPUs).
+
+commit 7dc449d406a88fbb92aedfacfa3869176ba2cb31
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 14 13:50:01 2008 -0600
+
+ mesa: fix emit_clamp() so that we don't use an output register as temporary
+
+ IR_CLAMP is decomposed into OPCODE_MIN+OPCODE_MAX. Allocate a temporary
+ register for the intermediate value so we don't inadvertantly use an output
+ register (which are write-only on some GPUs).
+
+commit 14150bc8567cf424fc3a635a33f05213505681be
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 14 11:35:57 2008 -0600
+
+ mesa: call glColorMask(1,1,1,1) before glClear()
+
+ Without this, second and subsequent redraws rendered incorrectly.
+ Plus comments.
+
+commit 9de9e1fe8c3f87fe672aed074348f07107fa3cec
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 14 11:24:28 2008 -0600
+
+ gallium: print warning rather than assert(0) for LOG/EXP opcodes
+
+ Glean vertProg1 runs all the way through, rather than aborting.
+
+commit 3088eb59497ec8621e003ce3bc87025f257c0a92
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Mar 14 10:23:39 2008 -0600
+
+ gallium: added some debug code (disabled)
+
+commit 027433176cddec58821d625fb2df45cfd95f1e33
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Mar 14 10:23:11 2008 -0600
+
+ i915: check for NULL const buffer ptr
+
+commit a254d0c36870724e51e91de3a3da9220b67af850
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Mar 14 10:22:53 2008 -0600
+
+ gallium: added dummy install target
+
+commit c45a525cdc4bd5f9b35c4f6abae6a65f3279e2c4
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Mar 14 10:20:29 2008 -0600
+
+ mesa: revert fast-track glColor and similar calls when not immediate mode rendering
+
+ Revert commit d08cd68d3f5456b69ad504ede2b090c0bb6474db
+
+ This change caused some glean tests to fail. The alpha value of colors was
+ always 1.0 instead of the value from glColor4fv(). The mesa color array
+ found in st_draw() has size=3 instead of size=4.
+
+commit ee55eaa609aee9ffd7ddbc839d7d6161727cee3a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Mar 14 10:19:19 2008 -0600
+
+ gallium: in st_program_string_notify() free shader tokens.
+
+ When the shader instructions change, free the TGSI tokens. This signals the
+ state tracker to recompile the shader. Fixes a regression caused by recent
+ shader/state-tracker changes.
+
+commit e4cdce43cebe6a2b38f7ea5145474ca2b12c57bb
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Mar 14 08:42:45 2008 +0000
+
+ gallium: fix some compiler warnings
+
+commit d34bc880a4d17420ec20d422dcb461783457c473
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Mar 14 08:42:08 2008 +0000
+
+ tgsi: add debug_printf version of tgsi_dump
+
+commit 42c279a03b4d3529efc0d552c37ace2c82306822
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Fri Mar 14 15:27:15 2008 +0800
+
+ glx: fix rotation regression. bug #14963
+
+commit f94d317d7aea8043b179a0ba64308606375500d7
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Fri Mar 14 11:39:08 2008 +0800
+
+ intel: fix abort issue with shadowtex demo when use
+ DEPTH_STENCIL texture. (bug#14952).
+
+commit 78302c7ca30d27ef3d087deb4d1a22e83858ce4b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 13 18:19:47 2008 -0600
+
+ gallium: need to all draw_flush() in softpipe_unmap_constant_buffers()
+
+ Otherwise, we won't have our constants when we run the fragment shader.
+ Fixes crash in glsl tests when SP_VBUF=1.
+
+commit 34be3969505d378c5a6734a134f03d094a865c56
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 13 17:39:30 2008 -0600
+
+ gallium: fix EMIT_HEADER case in draw_vf_set_vertex_info()
+
+commit d088d640fca415261a208d3cbede94a6522ebb6b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 13 17:10:28 2008 -0600
+
+ gallium: plug in vertex passthrough code
+
+ Based on a patch from Zack.
+ Basically, implement a new draw_arrays function that copies the incoming
+ user-vertices to the hardware vertex buffer, doing format/type conversion
+ as needed.
+ The vertex fetch/store code is totally temporary for now.
+
+commit 5bae5871f03c96eb173cb55d7e8a846a2c4bd4a0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 13 17:06:13 2008 -0600
+
+ gallium: for TEST_DRAW_PASSTHROUGH, pass inClipCoords=FALSE to st_draw_vertices()
+
+ When pass-through mode is fully supported we'll clean this up more.
+
+commit ce49c4c24bf72ea642015d566ff687d512574fd5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 13 17:04:56 2008 -0600
+
+ gallium: fix bug in draw_num_vs_outputs()
+
+commit cf106789abd4a84e8f07dc6ca12d2261e9bf92cd
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 13 17:04:04 2008 -0600
+
+ gallium: added EMIT_HEADER case
+
+commit 269fbeb5459952532f5d188dd3653fa6b7425cfe
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 13 16:57:57 2008 -0600
+
+ gallium: in softpipe_get_vertex_info() generate a vbuf vertex_info with real attribs
+
+ Can't use the EMIT_ALL shortcut/optimization anymore because of passthrough mode.
+
+commit 13334c8dd2744402d43f8ea0a9d2c0e5e76ac28e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 13 16:57:37 2008 -0600
+
+ gallium: added EMIT_HEADER case in emit_vertex()
+
+commit b9518a4e39f739a31dd3f62d67563944f8c266a9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 13 16:55:48 2008 -0600
+
+ gallium: added new EMIT_HEADER token
+
+ Used to emit the struct vertex_header info for softpipe.
+ Before we were using the EMIT_ALL token but that's insufficient for the
+ draw pass-through mode. EMIT_ALL might get removed soon...
+
+commit 7d5e38a55ae99a4c28873377572f77f383ce0c3e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 13 16:53:44 2008 -0600
+
+ gallium: plug in new sp_vbuf_draw_arrays() function
+
+ Will be used for pass-through mode.
+ Also, call draw_set_render() to register the vbuf stage. Should probably
+ rename that function to something like draw_set_vbuf_stage().
+
+commit 3e625ce18e35b2b0343962f93480abf4bf9b188a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 13 15:07:14 2008 -0600
+
+ gallium: add some temporary code for testing draw module vertex passthrough
+
+ Set TEST_DRAW_PASSTHROUGH=1, run progs/trivial/clear-scissor
+
+commit 69c39b9ae28764194a6d310d58aa36b7ac596aa9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 13 14:57:19 2008 -0600
+
+ gallium: set surface status to CLEAR or DEFINED in clearing/drawing code.
+
+ Otherwise, we were never setting these flags. This confused the state tracker.
+ Fixes progs/demos/texenv.c, probably others.
+
+commit a889928d85ac8ba7e1a7fe15393858a9422cf750
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu Mar 13 16:41:12 2008 -0400
+
+ add a way of removing an exact iterator from the hash
+
+commit 3faf6230ff4b63833c072ac7afeb43c25d3cba22
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 13 14:34:35 2008 -0600
+
+ gallium: added draw_need_pipeline() predicate function
+
+ To test if we need any pipeline stage, or whether we can go into passthrough mode.
+
+commit 8b8c9acdb747499149e633179a8ad10b0e4206b1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 13 14:33:57 2008 -0600
+
+ gallium: added draw_enable_line_stipple() function
+
+ Allows drivers that implement line stipple to turn off this drawing stage.
+
+commit b6ed165748c6585f1368be37c0d0289cead419c9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Mar 13 14:32:20 2008 -0600
+
+ gallium: added bypass_vs flag to rasterizer state (may be temporary)
+
+commit 3115e8c968b51d22962b1b92b13946956dddd98e
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Mar 13 13:03:22 2008 -0700
+
+ cell: Fix to work with commit fa9e7e9a8debb68611909ac2ffab527c6c39a3e5
+
+commit b12a28db96d3bc7f01b6cdc9ee909f95a8c9ccc2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 13 14:05:30 2008 -0600
+
+ gallium: remove dead code related to shader semantic input/output info
+
+commit 7ffbaebce1da7fec36a38f424f266806a3a0fc6a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 13 13:22:24 2008 -0600
+
+ gallium: fix bug in stip_first_tri()
+
+ Need to compute num_samplers after binding/creating the fragment shader.
+
+commit cb294542bcaca7d9847067ce502a68fd8e92f42e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 12 16:28:33 2008 -0600
+
+ gallium: remove a debug printf
+
+commit 647213804582a6b6cfd4fbfeb1c9874ef53307f3
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Mar 13 11:19:50 2008 -0700
+
+ Replicate TXP changes in the SPU version of TGSI exec
+
+ Replicate changes from commit ba75e82b6ebaf88dd2e4a8f764b2d296d715bf8a
+ in spu_exec.c
+
+commit fa9e7e9a8debb68611909ac2ffab527c6c39a3e5
+Author: Brian Paul <brianp@kemper.freedesktop.org>
+Date: Thu Mar 13 18:08:18 2008 +0000
+
+ gallium: remove semantic info from pipe_shader_state
+
+ Brian's patch to clean up the shader interfaces.
+
+commit b0d5519b449feda7b048bc59d4fede54e43f5ae1
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Mar 13 15:23:04 2008 +0000
+
+ gallium: make the windows config function more readable with 80-ish columns
+
+commit bcb454e7a6e2f7efae114321c65bf98e91d5892f
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Thu Mar 13 18:12:36 2008 +0100
+
+ tgsi: Drop pre-ps_2_0 opcodes.
+
+commit 78ddfbd1306c113c3276c79712e5d0e2da82d136
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Thu Mar 13 12:59:48 2008 +0100
+
+ tgsi: Remove OPCODE_TEXCOORD, OPCODE_TEXCRD aliases.
+
+commit 142fcd3a13bcac37b8b0124f68854d515f2596fc
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Thu Mar 13 12:43:04 2008 +0100
+
+ fix state.lightprod ambient/specular w value (bug #14983)
+
+commit 42f28684168ff88942f51fb01377702570d9d4d7
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Mar 13 10:19:23 2008 +0000
+
+ gallium: General purpose hash table, which is actually just a convenient frontend to cso_hash.
+
+commit 734ccee565efd274e47f95ea314220726a38a512
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Mar 13 09:59:29 2008 +0000
+
+ gallium: Standardize most important error codes.
+
+commit e584eb888fac90783c5f62333a39e6735be3e488
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Mar 13 09:58:29 2008 +0000
+
+ gallium: Add a bit of documentation to cso_hash.
+
+commit 8506e41dc080e20286709ab93b728aa5162f3c87
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Mar 12 22:39:44 2008 +0000
+
+ gallium: Fix debug_mask_vprintf's example.
+
+commit 192d1cbbdf9f8e2527ef38761195a87517c2d244
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Mar 12 22:39:13 2008 +0000
+
+ gallium: Add a new handle_table_set that accepts an arbitrary handle.
+
+commit 92523ad0fd11ff532f1e0642410d0a623fe53b06
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Mar 13 10:14:21 2008 +0000
+
+ mesa: fix (harmless?) assignment in assert
+
+commit ddb4e5cbaced3e96117a97fe362ab890794f5ab7
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Mar 13 10:01:38 2008 +0000
+
+ tgsi: replace erroneous use of FETCH with emit_tempf
+
+commit 5ba2f0a507b8d413eea2eb7da09c304ab5a8d3f1
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Mar 13 09:57:01 2008 +0000
+
+ tgsi: bump MAX_SRC_REGS to 4, for TXD
+
+commit 1cec61e441ad5b4b1ac8d1abcaa7535bc1827eb3
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Thu Mar 13 18:08:22 2008 +1100
+
+ nouveau: NV9X is basically a G80, fix issue with NV6X being detected as G80.
+
+commit fcb7cb9e72ecac7c165a3a6ed7a033e2e6793a26
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Thu Mar 13 14:46:38 2008 +0800
+
+ [i965] multiple rendering target support
+
+commit cac037d36d451e8cafbb4a759d0edf9fa8b1ca81
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Mar 12 22:51:57 2008 -0400
+
+ add code handling dependencies between generated code
+
+commit 9a4938d7033101122b627786273ff37229b5558a
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Thu Mar 13 12:36:35 2008 +1100
+
+ nouveau: match interface changes
+
+commit 03ec66375889f049b09f39ba98515aa35ac48164
+Merge: bd4fe0e 2366bb1
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Thu Mar 13 13:39:05 2008 +1100
+
+ Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1
+
+commit 2366bb1baf2e9ae5b6ecf19f66ae9e0a4b0d2f36
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Mar 12 22:06:51 2008 -0400
+
+ Add some basic documentation for gallivm code
+
+commit a1d56728655a3fc87360b45ac8b348bcfdf6ac15
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Mar 12 21:42:33 2008 -0400
+
+ document hash collision resolutions
+
+commit 329c5431348117e5b99adf14936d2f57f2ef5f1f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Mar 12 19:29:30 2008 -0600
+
+ gallium: fix polygon stipple
+
+ Was broken by commit 4528287e040415c2071012d02f20979ff995c754 (bind all
+ samplers/texures at once).
+
+commit d91e62e9c6ff81c91b83af883281c1e205c6bf35
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Mar 12 18:24:46 2008 -0600
+
+ gallium: in clear_stencil_buffer() check surface format to determine stencil clear value
+
+ ... as we do for the Z and Z+stencil cases
+
+commit bd4fe0e87c1b979973d9a76aa48de5fbbb8d52b7
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Thu Mar 13 00:42:50 2008 +0100
+
+ nouveau: update to latest nouveau_class.h
+
+commit 2109ba4c5d22e1f7effa33a6ff26ce587ce46fe3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Mar 12 16:56:12 2008 -0600
+
+ i915: handle NULL object in i915_bind_rasterizer_state()
+
+commit d1284d3be2bcf5e1607458cd9fb0d8c32fad13ea
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Mar 12 15:33:41 2008 -0600
+
+ mesa: set SamplersUsed bitmask when parsing ARB fragment programs
+
+commit 0dd79011b9c407191e40c2697c68946f35bc557a
+Author: Brian <brian@poulsbo.localnet.net>
+Date: Wed Mar 12 14:20:54 2008 -0600
+
+ gallium: pass NULL to cso_single_sampler() when the sampler isn't used.
+
+ This fixes an AA line crash/regression.
+ The aaline stage needs to find a free/unused sampler to do its thing.
+
+commit 51809bc1bc719c8d988cd6e06b6c96af43d12026
+Author: Brian <brian@poulsbo.localnet.net>
+Date: Wed Mar 12 13:22:58 2008 -0600
+
+ remove reference to obsolete ExtDivide
+
+commit a2b917c1cdb9cdd9b016e5cb9637e90c58fa911b
+Author: Brian <brian@poulsbo.localnet.net>
+Date: Wed Mar 12 13:21:41 2008 -0600
+
+ gallium: use TXP rather than ExtDivide flag
+
+commit 12ab5f97013e398b9f6485b97d6691c3c170447a
+Author: Brian <brian@poulsbo.localnet.net>
+Date: Wed Mar 12 13:20:29 2008 -0600
+
+ gallium: change draw_vertex_shader->state from pointer to struct
+
+ We were sometimes keeping a pointer to a stack-allocated object.
+ Now make a copy of the pipe_shader_state object.
+ This should fix some seemingly random memory errors/crashes.
+
+commit 3b2a9b01a0c9b80573556a21e9db11b6f64eff8e
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Wed Mar 12 19:06:22 2008 +0100
+
+ nv30: debug dumps vp constants
+
+commit 830b4709f0ac27915450b53b622a8886264d8c8c
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Wed Mar 12 18:43:29 2008 +0100
+
+ nouveau: update to latest reg header.
+
+commit 6bd5e5ce00b1870a8d94337cc10faa8134cbefd5
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Wed Mar 12 18:40:37 2008 +0100
+
+ nv30: line up the miptree creation to latest changes.
+
+commit ba75e82b6ebaf88dd2e4a8f764b2d296d715bf8a
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Mar 12 16:41:25 2008 +0100
+
+ tgsi: Remove ExtDivide field from existence. Implement OPCODE_TXP.
+
+commit e5b1a53c9f9ad247272415e0e21e83cfe00728a9
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Mar 12 15:29:39 2008 +0100
+
+ tgsi: Dump TXP opcode.
+
+commit 8901a46a742b0cfecde0b981fc65160bf3e8d019
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Mar 12 15:02:11 2008 +0000
+
+ gallium: Generic handle table.
+
+commit a2ea51ed828d8b503492a7b42ac937d2642ac4f1
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Mar 12 15:01:18 2008 +0000
+
+ gallium: Change assert behavior on runtime (Mark Mueller).
+
+commit 70ae7f09c739465242b0c6255196dae1de9dd8d3
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Mar 12 14:54:43 2008 +0100
+
+ tgsi: Introduce OPCODE_TXP. Depricate ExdDivide field.
+
+commit 4f17bd270e23b7912f0634c2106ea146c9ddd1ee
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Mar 12 13:34:30 2008 +0000
+
+ scons: Faithfully mimic every WINDDK builtin compiler/linker option.
+
+commit 8fd633b5cfa36e0cf0acef096315c9250015aba7
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Mar 12 10:43:53 2008 +0000
+
+ gallium: reduce signed/unsigned warnings
+
+commit 98ae83d5cc73b61826823c915b5c59746c2e85c7
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Mar 12 10:39:25 2008 +0000
+
+ gallium: Add TEX_FILTER_ANISO img filter
+
+ Hardware almost universally expects us to set a special filtering mode
+ when anisotropic filtering is enabled, as opposed to varying a max-aniso
+ values. Do this once in the state tracker & simplify the driver code.
+
+commit feb02084a88ca6e23c34fa06e963765c890f0b65
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Mar 12 11:37:02 2008 +0100
+
+ tgsi: Dump source register divide component.
+
+commit 9110425c72e45f618131b559eba883fd6c5536b4
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Wed Mar 12 02:18:12 2008 -0400
+
+ libGL: Pull the drawable hash back out in the generic code.
+
+ This will be shared between dri and dri2 code.
+
+commit 94f39f2e7cc7f8ef6915a40d14965e5b193d9952
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Wed Mar 12 02:01:40 2008 -0400
+
+ Add another missing check for uninitialized DRI.
+
+ Spotted by Chris Taylor.
+
+commit 221adbd60116d6334996a6b71a8dd133e229a3e9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Mar 11 20:03:37 2008 -0600
+
+ cell: check for NULL shader pointer in cell_bind_vs_state()
+
+commit 7aa34eb40c05a9ccdbe5cef3fd426def0c295a60
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Mar 11 19:02:51 2008 -0600
+
+ gallium: dummy install target
+
+commit 339e7ec6805e6de8794514c0a935081b5d36d38f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Mar 11 18:54:31 2008 -0600
+
+ gallium: rework CSO-related code in state tracker
+
+ Use the code in cso_context.c rather than st_cache.c.
+ Basically, binding of state objects now goes through the CSO module.
+ But Vertex/fragment shaders go through pipe->bind_fs/vs_state() since they're
+ not cached by the CSO module at this time.
+
+ Also, update softpipe driver to handle NULL state objects in various places.
+ This happens during context destruction. May need to update other drivers...
+
+commit 21ff00306131cd5598f95285badaaabc98021e11
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Mar 11 23:51:27 2008 +0000
+
+ gallium: Silence MSVC warnings.
+
+commit 45c59895113f997e5f2b7e346f95e46099fa3566
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Mar 11 12:03:11 2008 +0000
+
+ gallium: Conditional debugging output.
+
+ Generalize the conditional debugging output code found trhought the gallium
+ drivers.
+
+commit 130b3154544701be2a57ac1c57432f153e363572
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Tue Mar 11 23:21:36 2008 +0100
+
+ tgsi: Map OPCODE_TEXKILL to OPCODE_KILP.
+
+commit 34a0ac7f2b93d6d0f3fc85106e7dacb38c4229b6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Mar 11 15:01:52 2008 -0600
+
+ gallium: fix some cso_state_callback cast warnings
+
+commit 30fab81de8ea7bf81181db7bd605f376d4e4fca2
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Mar 11 14:31:17 2008 -0600
+
+ gallium: fix fs/vs typo in cso_set_vertex_shader()
+
+commit 169912b71a4242389301890ef303046d49ce71df
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Tue Mar 11 19:22:02 2008 +0100
+
+ nv30: silence some warnings
+
+commit cd9ed05aec9d1d9614973165fd13647ba2e1b8c7
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Mar 12 04:50:53 2008 +1100
+
+ nv50: start on fb state
+
+commit cd85dc1e5dfa37cb9bee696e5e18332e3f1d65a1
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Mar 12 04:29:58 2008 +1100
+
+ nv50: rasterizer stateobj
+
+commit 2fee5f76483feb301546b24c26eea699732ffb57
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Mar 12 03:54:53 2008 +1100
+
+ nv50: scissor/viewport/blend colour/stipple
+
+commit 06bd7d78b979df66915b161157f2b6b1c09ad285
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Mar 12 03:41:05 2008 +1100
+
+ nv50: depth_stencil_alpha stateobj
+
+commit 9911ca2226cf87e2cc4ffc32e40bccaf0a4e5745
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Mar 12 03:21:48 2008 +1100
+
+ nv50: ouch, next_subchannel++ :)
+
+commit 9c29512154992f95c11939615ddcbef185c6a96c
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Mar 12 02:59:20 2008 +1100
+
+ nv50: crappy state validate/emit function
+
+ Just for testing stateobjs to make sure they don't hang the engine.
+
+commit 3250bacd2411d3f1af50135599380b2140238535
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Mar 12 02:56:10 2008 +1100
+
+ nv50: create blend stateobj
+
+commit b2e48f848496d5e315e536688c8c33dfb1fab7eb
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Mar 12 02:39:13 2008 +1100
+
+ nv50: convert to hwctx-in-screen as nv40 is
+
+commit 1fb3c94f03e07a80bb7a93777d4fef5173da71ca
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Mar 12 02:20:40 2008 +1100
+
+ nv50: some forgotten changes
+
+commit 5038c20795cb2e49d72c1f43a8b705056592356c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Mar 11 14:23:08 2008 +0000
+
+ draw: don't free our copy of the render stage -- just borrowing it from vbuf stage
+
+commit f1e12673728e01d7a9b2c99cc0b4cc219ac4c280
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Tue Mar 11 06:24:56 2008 -0700
+
+ Fix include path for rain demo so glut.h is found
+
+commit ff3c7a3243e4f3fc60e6cfcfc6a2711e9ea5cf65
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Mar 11 08:42:49 2008 +0000
+
+ gallium: missing file
+
+commit be9a2457388d99a2185f258aeb5ef5183ccfbbb2
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Mar 10 22:10:18 2008 -0400
+
+ fix double deletion
+ plus, if the current hash is bigger than max size make sure
+ we delete enough from it
+
+commit d9d2ca7a07469a7d5cdc183f2daa6cf9e30938fe
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Mar 10 22:10:07 2008 -0400
+
+ fix compilation
+
+commit c813b545ab4726fc5030f123ec6255224d64ad82
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Mar 10 17:41:00 2008 -0600
+
+ fix Height2/Depth2 init problem when using texture borders
+
+commit 7585b4ceb8fed862c07f50af8030a6f0eb8a8321
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Mar 4 08:38:54 2008 -0700
+
+ gallium: disable an unneeded assertion (hit with texwrap.c)
+
+commit b1525662b330ca8b4cdd930775f3642bfec3b58f
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Mar 10 16:28:54 2008 -0700
+
+ Move SPE register allocator to rtasm code
+
+ Move the register allocator to a common location. There is more code
+ on the way that will make use of this interface.
+
+commit 297b3be25a7f097fb9b1a79e332acddc12dcc3fe
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Mar 10 19:49:15 2008 +0000
+
+ draw: placeholder/prototype code for a passthrough draw path
+
+commit d08cd68d3f5456b69ad504ede2b090c0bb6474db
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Mar 10 19:44:54 2008 +0000
+
+ mesa: fast-track glColor and similar calls when not immediate mode rendering
+
+ Often these are mixed in with draw arrays calls, etc. Try not to get
+ the whole immediate rendering state machine going when we receive one
+ of these on their own.
+
+commit 7375369fb32e203023fbacf948169aad3f4c3a1d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Mar 10 19:41:51 2008 +0000
+
+ gallium: fix compiler warning
+
+commit 3f5b9f4ba49df57e7bbab04eab55a17a99bb5046
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Mar 10 19:41:12 2008 +0000
+
+ gallium: use the same bypass_clipping logic on all vs paths
+
+commit 6d5ee6d9a4a705cce80117f90ee334986f5e5e26
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Mar 10 19:37:32 2008 +0000
+
+ gallium: enable bug workaround in draw_vertex_cache_invalidate
+
+commit d5692cb349fb74e8f9d3a18f5bbd788b09b93581
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Mar 10 17:21:43 2008 -0600
+
+ gallium: new surface/context tracker (sct) module
+
+ Will be used for tracking the surfaces and textures which are bound/used by
+ contexts.
+
+commit b957655a91fe90f477de3e068654f050869c770e
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Mon Mar 10 14:05:46 2008 -0700
+
+ autoconf: Enable xdemos by default when we build libGL
+
+ Since the xdemos only link to libGL now, we can enable them for all but
+ the osmesa driver target.
+
+commit 4dfd2dcbe724dfb6209064b060ea639cba8e17be
+Author: Jeremy Huddleston <jeremy@tifa.local>
+Date: Mon Mar 10 16:02:55 2008 -0700
+
+ Darwin: Fixed small error in darwin config files
+ (cherry picked from commit a21c61ee8bc86a8843024cbf8e9daf4b39a7571a)
+
+commit fe23dc5ecae87de73f7b5a581868065a4c4ac09b
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Mon Mar 10 18:43:53 2008 -0400
+
+ Move make install logic for libGL back into src/mesa/Makefile.
+
+ This makes make install work again for non-glx libGL implementations.
+ The make install logic is split into three sub-targets: install-libgl,
+ install-osmesa, install-drivers. The install target in src/glx/x11
+ is then implemented using the src/mesa make install-libgl rule.
+
+ Thanks to Dan Nicholson for pointing out the breakage.
+
+commit 3731159ec6e1527655d91b3eb364d5c2d252ac60
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Mon Mar 10 17:59:46 2008 -0400
+
+ Only try to call DRI function if DRI got initialized properly.
+
+commit 5b82d551b7a4954b24059585fea207f3a250ec0f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Mar 10 16:43:36 2008 -0600
+
+ cell: sync up with sampler/texture state-setting changes
+
+commit 7c7fece97734284858a4605b8e2ca3e4eb0851ee
+Author: Jeremy Huddleston <jeremy@tifa.local>
+Date: Mon Mar 10 15:13:28 2008 -0700
+
+ Darwin: Config/source fixes to now build glxdemo apps and OSMesa
+ Also added darwin-fat-32bit darwin-fat-all configs and deleted old darwin-x86ppc config
+ (cherry picked from commit 7120c0089d663a2b7e7b0c97da38f9bc233fbdd7)
+
+commit 31022681543932ae4fce2bae5bc9d024c8178f1a
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Mar 10 21:18:00 2008 +0000
+
+ gallium: Use hardcoded breakpoints on x86 targets.
+
+commit 34497eabc803fd979c58824d4737cabde1fb47e5
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Mar 10 21:15:31 2008 +0000
+
+ Some notes about debugging
+
+commit 460d25dca134c4d2e051803822aa82f35e832cdc
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Fri Mar 7 12:04:17 2008 -0800
+
+ autoconf: Add autogen.sh from Xorg for easier setup from git
+
+ The defacto method to rebuild the autotools and run the generated
+ configure is an autogen.sh script. It is much more discoverable than the
+ custom `make configure' used here. The Makefile targets are still useful
+ for creating tarballs, though. This autogen.sh is copied from Xorg.
+
+commit ab5750f1437e9a83bad8ce786dfc6f9074be7831
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Mon Mar 10 12:36:10 2008 -0700
+
+ Ignore more demo programs
+
+commit 01bd21eef8f572944c09771f44e3006e2991280e
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Mar 10 16:45:19 2008 +0000
+
+ gallium: Import Dennis Smit cpu detection code.
+
+ It still needs a slight code massasing to integrate with the rest of
+ gallium (namely mapping the OS_* ARCH_* defines), but I'm commiting anyway
+ so that it is available to be used when somebody needs it.
+
+commit b721bc8792f6add71dede11924d7060bbce72f0e
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Mar 10 13:04:13 2008 +0000
+
+ gallium: WinCE portability fixes.
+
+commit 9162bc8f48dfa07ca07b60bc95e36caa2b961c0f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Mar 10 07:42:58 2008 -0600
+
+ remove extra #include of assert.h (bug 14932)
+
+commit dd0a9203e3c71286836f7600e99ee826ebce7a06
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Mar 10 07:41:53 2008 -0600
+
+ fix parsing of state.texenv.color (bug 14931)
+
+commit 20e0a8a1ca8e526f4b9b5e6043456c5aeb8fbc0f
+Author: Dave Airlie <airlied@linux.ie>
+Date: Mon Mar 10 19:13:34 2008 +1000
+
+ dri: fix function call to add new parameter.
+
+ This may not be correct but it should get the build going.
+
+commit ae0e047ba4e05d25d6e0b9b0574e36c7e8ccd510
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Mar 10 14:27:22 2008 +1100
+
+ nv30: put the card into vtxprog mode + small cleanups/fixes
+
+commit dcbe215c015c8dc48440f578023c2b9d12b934e4
+Author: Kristian Høgsberg <krh@sasori.boston.redhat.com>
+Date: Sun Mar 9 21:28:04 2008 -0400
+
+ DRI2: Make setTexBuffer take a __DRIdrawable instead of a BO handle.
+
+ This fixes a problem where texturing from the same Pixmap more than
+ once per batchbuffer would hang the DRI driver. We just use the region
+ associated with the front left renderbuffer of the __DRIdrawable for
+ texturing, which avoids creating different regions for the same BO.
+
+ This change also make GLX_EXT_texture_from_pixmap work for direct
+ rendering, since tracking the __DRIdrawable -> BO handle now uses
+ the standard DRI2 event buffer. Of course, DRI2 direct rendering
+ doesn't exist yet.
+
+ Finally, this commit bumps the DRI interface version again, accounting
+ for the change in the DRI_TEX_BUFFER extension and the change in
+ commit 0bba0e5be7a4a7275dad1edc34bdcc134ea1f424 to pass in the
+ event buffer head index on drawable creation.
+
+commit 180b41594c669574355b54ceb2c2ff96889bf336
+Author: Kristian Høgsberg <krh@sasori.boston.redhat.com>
+Date: Sun Mar 9 21:22:49 2008 -0400
+
+ DRI2: Drop DriverAPI.UpdateBuffer.
+
+ __dri2ParseEvents() would determine the kind of event, but then call
+ UpdateBuffer() in either case, and UpdateBuffer() would then have to
+ figure that out again to dispatch to HandleBufferAttach() or
+ HandleDrawableConfig(). Pretty pointless.
+
+commit 2d5ea175f7fcd65de71b7589435b9a908f998d51
+Author: Kristian Høgsberg <krh@sasori.boston.redhat.com>
+Date: Sun Mar 9 21:19:17 2008 -0400
+
+ DRI2: Pass the context instead of the screen to __dri2ParseEvents().
+
+ Makes a lot more sense, since the screen is always implicit in the
+ DRI drawable, but it may not be possible to track down a context from
+ just a drawable.
+
+commit 0bba0e5be7a4a7275dad1edc34bdcc134ea1f424
+Author: Kristian Høgsberg <krh@sasori.boston.redhat.com>
+Date: Sun Mar 9 21:16:30 2008 -0400
+
+ DRI2: Add event buffer head as an argument to driCreateNewDrawable().
+
+ The DRI driver needs to know where in the buffer to start reading.
+
+commit 810e0549afad45469bef532c1f2d355f3fde0bbb
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sun Mar 9 18:30:07 2008 -0600
+
+ fix botched test for clearing color buffers (should fix depth peeling regression)
+
+commit 29fbf72dbf158d766d3cac3b2db16d9fcbef0d0b
+Author: Markus Amsler <markus.amsler@oribi.org>
+Date: Sun Mar 9 17:53:22 2008 -0600
+
+ Set normalized flag for GLubyte arrays in _mesa_VertexAttribPointerNV()
+
+commit 507da247679e061cef765b9d4cc37470c633cccc
+Author: Markus Amsler <markus.amsler@oribi.org>
+Date: Sun Mar 9 17:51:11 2008 -0600
+
+ init vertex weight attrib to (1,0,0,0)
+
+commit 882e0e01799cf99dd5ec97786239af4b269125a9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sun Mar 9 10:55:01 2008 -0600
+
+ fix __builtin_expect() definition test for IBM XLC (sf bug 1909832)
+
+commit b0f80254340222829b659df7a77ad6de410cd737
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Sun Mar 9 19:02:56 2008 -0400
+
+ Properly revert the libGL loader path breakage.
+
+commit 03db9c8acb83f7072681876ce5e8d73e1ec922e9
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Sun Mar 9 16:21:29 2008 -0400
+
+ libGL: Fall back to DEFAULT_DRIVER_DIR properly.
+
+ After commit 6fd82f6fbd208dc7b1839ea408a5fb28589ee622, we would
+ overwrite the libPath default value with NULL if libGL was running
+ non-setuid and none of the env vars were set.
+
+ Thanks to Magnus Kessler <Magnus.Kessler@gmx.net> for spotting it.
+
+commit b041dbe9019ff8cb16ff15d0baaa803c7dc654db
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Mar 9 20:21:45 2008 +0000
+
+ gallium: avoid deleting currently-bound CSO's on cache destruction
+
+commit aff4cf19a753baf0428d2bf53614900e5afea8a3
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Mar 9 20:17:02 2008 +0000
+
+ draw: cope with binding NULL vertex shader (on context delete, for instance)
+
+commit d8d6569e288fe3324473fb19ade798502dfbba8e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Mar 9 17:06:20 2008 +0100
+
+ cso: fix line endings
+
+commit ac87bc18359825890a53d4dbfda5c6eecd916afd
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Mar 9 17:05:46 2008 +0100
+
+ cso: Use MALLOC
+
+commit 5d802d8c8460cecf306b130eb29ef05069173e30
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Mar 9 15:09:55 2008 +0100
+
+ cso: add a higher-level interface which does all pipe interactions to set a given state
+
+commit 99691f38c278f1d4aeb0617b149109644e3571fb
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Mar 9 15:07:09 2008 +0100
+
+ gallium: add some commonly implemented bits of hw state
+
+commit 5d1fc690417796c953f763b7d8ed19576dc0f473
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sun Mar 9 20:14:31 2008 +0000
+
+ scons: Ensure the paths to the WINDDK's executables are found before the MSVC ones.
+
+commit eecb3ab7c64764464d20a7c30279c9a3b26b0a7f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sun Mar 9 10:41:50 2008 -0600
+
+ replace // comment with /* */ (bug 14916)
+
+commit 99a12609857fe97ca2ec4bd91c4fbf1f8e8ed832
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Feb 28 09:48:26 2008 -0700
+
+ added info about checking out gallium-0.1 for cell code
+
+commit 3d28a2690f3752990be50a25447747e237d7bee9
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Sat Mar 8 22:28:01 2008 -0500
+
+ Use _X_HIDDEN to hide a bunch of leaked symbols.
+
+commit 020c64b2cf2973b5cb41e233d2bfbd85f1b699f7
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Sat Mar 8 21:57:29 2008 -0500
+
+ Move DRI context functions into dri_glx.c.
+
+ Also drop isDirect flag; if gc->driContext is non-NULL, it's direct.
+
+commit 20b9230ce1b96ca246850a8088caeffc3f391a0c
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Sat Mar 8 21:02:23 2008 -0500
+
+ Move DRI drawable creation into dri_glx.c.
+
+commit 92d2a78f8d2d56cfadb4cb5323adec32fe73e353
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Sat Mar 8 20:34:24 2008 -0500
+
+ Introduce __GLXDRIscreen so we can start moving function pointers in there.
+
+ Temporarily rename the __DRIscreen member to __driScreen. Eventually,
+ we'll move that into __GLXDRIscreen and only access it in dri_glx.c.
+
+commit 53dc86363665b9b22f042c5d950b7de0ed02b4c8
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Sat Mar 8 20:02:22 2008 -0500
+
+ Move DRI specific parts of CreateContext into dri_glx.c.
+
+commit a1ea6f6198d80f716936a308cfab235f18a014e1
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Sat Mar 8 19:15:50 2008 -0500
+
+ Convert driCreateScreen and driDestroyScreen to function pointers.
+
+ We avoid leaking the symbols and will be able to replace them with
+ DRI2 implementation later on.
+
+commit 425f9ed44e576aef27f7ab98968043f7f180d0fd
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Sat Mar 8 19:02:10 2008 -0500
+
+ Abstract __DRIdisplayPrivateRec away in dri_glx.c.
+
+ This patch moves __DRIdisplayPrivateRec definition into dri_glx.c and
+ let's dri_glx.c allocate the __DRIdisplay struct pointer to from
+ __GLXdisplayPrivate.
+
+ A small step towards moving more of the dri functionality into dri_glx.c.
+
+commit f585cb29b827104b9ea04cb11e3e3087ef1684c0
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Sat Mar 8 17:38:02 2008 -0500
+
+ Make __glXCloseDisplay static instead of prototyping it to avoid warning.
+
+commit 47d563006de646b039c456ffc8379ca8ded3d5a5
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Sat Mar 8 17:19:39 2008 -0500
+
+ Move libGL install target to the libGL Makefile.
+
+commit 6fd82f6fbd208dc7b1839ea408a5fb28589ee622
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Fri Mar 7 01:49:33 2008 -0500
+
+ Simplify LIBGL_DRIVERS_PATH walking.
+
+commit 0f2723cacbaf9b27ecb8d13581f4b72ff86dd911
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Fri Mar 7 01:37:08 2008 -0500
+
+ Simplify dri loading code by eliminating dlopen "cache".
+
+ No need to jump through hoops to track __DRIdrivers and avoid dlopening the
+ same .so more than twice, dlopen() does this internally. Besides, we
+ were already bypassing this and dlopening drivers for each screen,
+ whether or not they were already dlopened.
+
+commit 890d44e54f2c800f066f59eb074ad09e14d54483
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Fri Mar 7 00:45:54 2008 -0500
+
+ libGL: Consolidate DRI initialization in dri_glx.c
+
+ Move a lot of code over from glx_ext.c.
+
+commit fc96aec9b7aceb4a0e7471e797abe8a00fc40cf2
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat Mar 8 16:29:12 2008 +0000
+
+ gallium: Document debug_printf usage.
+
+commit db7fc6311086b512f63ba74d7ab6cda47b662839
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Fri Mar 7 11:48:09 2008 -0800
+
+ autoconf: Print GCC include path directly and be more robust using it
+
+ Rather than constructing the GCC include path from `-print-search-dirs',
+ we can get the path directly from `-print-file-name=include'. This is
+ used in the Linux kernel build, for example. If no output is returned
+ from the command, then we don't append a -I path the the makedepend
+ options.
+
+commit 1e6943cf5592186c3721dfefbdcf1a519a79bd8f
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Fri Mar 7 13:45:09 2008 -0500
+
+ [intel] Only enable GL_EXT_texture_sRGB on i965.
+
+ Fixes #14799.
+
+commit 66ba021e9fa2fa932cb9be8fc2fb8272baf51fc6
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Mar 7 22:48:26 2008 +1100
+
+ nouveau: another "argh gallium fscks with assert" fix
+
+commit 7676980d38cff417015bca8d23549d567d74228b
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Fri Mar 7 15:11:28 2008 +0800
+
+ [i965] fix fd.o bug #11471 and #11478
+ 1. Follow EXT_texture_rectangle with YCbCr texture
+ 2. swap UV component for MESA_FORMAT_YCBCR
+
+commit 5982d397990fd2ae4c729977cf8d22da5ef29987
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Fri Mar 7 09:48:11 2008 +0800
+
+ i965: use RGB565 to render a bitmap if Depth is 16
+
+commit 8143adafddabb6ac3a21c18927ae41425f26bfff
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Thu Mar 6 19:57:41 2008 +0100
+
+ gallium: Surround externs with extern "C".
+
+commit d76545de5730f52328a81b8371d3b08cd7511e05
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Thu Mar 6 13:20:57 2008 +0800
+
+ i965: Fix double free issue to pass glean/maskedClear test
+
+commit 771ba666290150dcebeefa5d6bbf4254f95c1c26
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Thu Mar 6 09:41:41 2008 +0800
+
+ i965:fix segfault issue when clearing the window which
+ is created with mode GLUT_SINGLE|GLUT_RGB|GLUT_DEPTH.
+ This issue is introduced by 20b8bff49cba3e8246e29004c5ff38f231d589ff
+
+commit 82f22d9e147ed55c2ca513ebc2d069e197d36ea8
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Thu Mar 6 11:52:25 2008 +1100
+
+ nv30: a couple of vtxprog fixes
+
+commit fe91c05b5494b889c8adda77ff562712116d2e59
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Mar 5 14:14:54 2008 -0800
+
+ [intel] Add a driconf option to cache freed buffer objects for reuse.
+
+ This is defaulted off as it has potentially large memory costs for a modest
+ performance gain. Ideally we will improve DRM performance to the point where
+ this optimization is not worth the memory cost in any case, or find some
+ middle ground in caching only limited numbers of certain buffers. For now,
+ this provides a modest 4% improvement in openarena on GM965 and 10% in openarena
+ on GM945.
+
+commit 4528287e040415c2071012d02f20979ff995c754
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Mar 5 10:50:14 2008 +0100
+
+ gallium: michel's patch to rework texture/sampler binding interface
+
+ Bind all the samplers/textures at once rather than piecemeal.
+ This is easier for drivers to understand.
+
+commit b1922de9f3478869c6788ef4e954c06c20e7aa9c
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Mar 5 11:38:21 2008 +0100
+
+ gallium: Use custom vsnprintf in WINDDK.
+
+ EngDebugPrint does not handle float point arguments, so we need to use
+ our own vsnprintf implementation.
+
+commit 5aa108214a21181406ec38a2fd5e82a279348f77
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Mar 4 14:29:27 2008 +0100
+
+ scons: Preliminary code for quieting command lines.
+
+commit fc21e9cdd09db7a6759b82cb69cc42015d8a76de
+Author: Christoph Brill <egore911@egore911.de>
+Date: Tue Mar 4 21:52:49 2008 +0100
+
+ r300: replace some hard coded mask by define in stencil area
+
+commit 701ccf6f290cddfa09686c12f728dab150029f80
+Author: Christoph Brill <egore911@egore911.de>
+Date: Tue Mar 4 21:37:56 2008 +0100
+
+ r300: Fix some issues with masks in stencil buffer area
+
+commit 19cc2e363185b50d19e4f257dd3558896b9b49d3
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Mar 4 17:55:02 2008 +0100
+
+ draw: dont' compute clipmask or apply viewport when not clipping (rename bypass_clipping to coords_in_window_space?
+
+commit e2a91c294edb198d6ebedd30fb4a39d722c8ee9f
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue Mar 4 18:32:43 2008 +0100
+
+ gallium: Add missing file for scons build.
+
+commit 5b9b5c850f3b34d8891890d808a520a64dd779bc
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue Mar 4 18:32:16 2008 +0100
+
+ gallium: Fix scons condition for building the xlib winsys.
+
+commit 1cd2623a53cb02b491c725f101ee70824ab26a12
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue Mar 4 18:30:12 2008 +0100
+
+ gallium: Make scons build gallivm before other auxiliary modules.
+
+ This ensures that the gallivm symbols referenced by the draw module are
+ resolved properly.
+
+commit 72c9d4a660e5dd7e2bdb5ccb917388f138adae58
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue Mar 4 18:28:23 2008 +0100
+
+ gallium: Only use C++ compiler for linking when using LLVM.
+
+ Otherwise, the shared objects needlessly link against the C++ runtime
+ environment.
+
+commit 9a7679811215a5cae2b4091f2fcda0a2faf4217d
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Mar 4 12:40:18 2008 +0100
+
+ scons: Force C++ linkage.
+
+ We have some C++ code (LLVM), which must be linked with g++ on certain
+ platforms. SCons tries to guess when to use g++ by looking to the source files,
+ but this fails, if the C++ code is not list in the command line, but inside in
+ the library.
+
+commit 3d608c7a2d451b862ae19b1e01d7299b2c46fe78
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Mon Mar 3 19:08:26 2008 -0500
+
+ [dri2] Add tail pointer to reemitDrawableInfo callback.
+
+ When the DRI doesn't parse the event buffer for a while, the X server
+ may overwrite data that the driver didn't get a chance to look at. The
+ reemitDrawableInfo callback requests that the X server reemit all info
+ for the specified drawable. To make use of this, the drive needs to know
+ the new tail pointer so it know where to start reading from.
+
+commit 4f7a75cc8a6cee7763b2d92e3d34858c3de7bd4f
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Mon Mar 3 19:04:22 2008 -0500
+
+ [dri2] Optimize event parsing to skip obsolete events.
+
+ This also fixes the problem where the X server does multiple resizes before
+ the DRI driver gets the events. The obsolete buffer attach events then
+ reference already destroyed buffer objects.
+
+commit 36c26d321b5d17902f0e8f531654dfb2fe2bdd2d
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Mon Mar 3 19:07:49 2008 -0500
+
+ [intel] Silence unused variable warning when compiling for i965.
+
+commit 13174c195e057f443b23df788ea0c10251942189
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Mar 3 18:52:37 2008 +0100
+
+ scons: Make command line arguments effective again.
+
+commit 689e1c5d501eb2f557f85dd3279ac5d91e53b0ad
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Mar 3 17:49:38 2008 +0100
+
+ win32: don't prepend all debug with gallium3d
+
+commit 800d13df726b9f82f796c86fe7ae6d18231820ec
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Mar 3 17:44:04 2008 +0100
+
+ draw: add fetch for bgra ubyte surfaces
+
+commit 9506ac823593387aa2f3a19f48ea07a91d4b6bb9
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Feb 28 17:08:37 2008 +0000
+
+ gallium: remove obsolete comment
+
+commit f4e91c3432eaf653757193a8a1ac438372ea64a6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Feb 27 13:06:18 2008 +0000
+
+ gallium: document user_buffer_create a little
+
+commit 1de15ad83e5a6902ac57212a3df63bb9b829bc20
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Mar 3 00:01:44 2008 +1100
+
+ nv40: re-do vtxbuf format code
+
+commit f59d59a95f668b99fa51d25fe6e80ea59fc663ae
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Sun Mar 2 12:16:23 2008 +0100
+
+ nouveau: compilation fixes
+
+commit 47f08a9fb5ca3179ebf3c7a214b4062e27aead86
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sun Mar 2 08:36:19 2008 +0000
+
+ r300: Corrected a bug with the SUB instruction.
+
+commit e239871d5b28c05eceae91a748d36ea3ff4e5f18
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sun Mar 2 06:28:53 2008 +0000
+
+ r300: Corrected a bug with the MAD instruction.
+
+ The PVS_VECTOR_OPCODE macro should be modified to support macro instructions,
+ too.
+
+commit 57b8711aebdce9bc21bf3311c50dbfb0f9ad6d42
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Mar 2 16:48:15 2008 +1100
+
+ nv40: nuke debug
+
+commit a5966c8b28702bba1e4eb4bb4aec2247c90fcfa2
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Mar 2 16:39:24 2008 +1100
+
+ nouveau: silence some warnings
+
+commit 578b5cd9a030189bcba5c3e86080e1e26eb6e108
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Mar 2 16:35:47 2008 +1100
+
+ nouveau: fix potential crash
+
+commit a414173105a18a0c6ed3b03ef986eb6eb30f7a58
+Merge: 59d4b7c d8a9d85
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Mar 2 15:42:53 2008 +1100
+
+ Merge remote branch 'nouveau/gallium-0.1' into nouveau-gallium-0.1
+
+commit 59d4b7cc626704dbbd9c817019ec2dd9183322ad
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Mar 2 15:28:24 2008 +1100
+
+ nv40: fix segv when app "skips" texture units.
+
+commit b560ed2444383b9634786fe742b8cb6f5cdfc781
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Mar 2 14:56:42 2008 +1100
+
+ nouveau: enable multi-context/single-channel support for nv40
+
+commit 0a12e4587ccf2c4fa71e93bb00b4582deb99a82c
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Mar 2 14:09:57 2008 +1100
+
+ nouveau: turn pushbuf macros into inline functions
+
+commit a9c40f833ead8459788b86603c7f2b94632b1109
+Author: Zack Rusin <zack@pixel.(none)>
+Date: Sat Mar 1 09:50:41 2008 -0500
+
+ refactor code calling builtins and implement dp4
+
+commit 17f543fc4529ca4ce7f73a840ed0fb50d1fec925
+Author: Zack Rusin <zack@pixel.(none)>
+Date: Sat Mar 1 08:32:31 2008 -0500
+
+ make the first builtin work (dp3)
+
+commit e884c7ed9a14aabaa86f6710c594d20812ed11d9
+Author: Zack Rusin <zack@pixel.(none)>
+Date: Sat Mar 1 08:04:21 2008 -0500
+
+ start implementing start of bultins
+
+commit 132def0c4182b8d2251e9d6e2b5b470cb806713c
+Merge: 17f6db9 07d6347
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Mar 2 02:35:17 2008 +1100
+
+ Merge branch 'upstream-gallium-0.1' into nouveau-gallium-0.1
+
+commit c30cc5904dc61c27ea7a4ebf5928c53bca6a7b1d
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Fri Feb 29 05:48:31 2008 +0000
+
+ r300: Added the PVS_SRC_OPERAND documentation from AMD.
+
+commit 3129d8b512d50335fc5c219b65e36fcaaffcd247
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Fri Feb 29 05:01:02 2008 +0000
+
+ r300: Added the PVS_OP_DST_OPERAND documentation from AMD.
+
+commit 9a3d4b14e968c1203b58d782f7ad60bfb61150d9
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Thu Feb 28 11:32:53 2008 +0000
+
+ r300: Added a TODO comment for registers missing from AMD's documentation.
+
+commit 916a53088ed7e34ec7df967329a7d87b25197e3c
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Thu Feb 28 11:16:52 2008 +0000
+
+ r300: Moved the vertex program shift/mask defines into the appropriate file.
+
+commit 038e13b1ee04fe97191409b64c337f7bbe176b22
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Thu Feb 28 11:07:08 2008 +0000
+
+ r300: Indented the vertex program code with longer lines.
+
+commit 5dcbdc09f354d96cef93a28215f7776a5e84dd1f
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Thu Feb 28 10:25:58 2008 +0000
+
+ r300: Moved the PREFER_DP4 define near the position invariant function.
+
+commit bbab0f97b83b07184bc7c5a736292c8558903855
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Thu Feb 28 10:13:29 2008 +0000
+
+ r300: Added a TODO comment for the MAD opcodes.
+
+commit 2a8b6c62a7a2c807dc1b4a515da62fc8918101c1
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Thu Feb 28 10:09:02 2008 +0000
+
+ r300: Use the VE_ADD hardware opcode for the SUB opcode.
+
+commit a6d772ed16eddda85bae59e28eaab0d46debc30f
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Thu Feb 28 10:04:54 2008 +0000
+
+ r300: Use the VE_MULTIPLY hardware opcode for the MUL opcode.
+
+commit f80223d9ffac6c2c3a94ab7f896dad6a04da5c8b
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Thu Feb 28 09:53:29 2008 +0000
+
+ r300: Cleaned up the XPD opcode temporary register usage.
+
+commit b795e8db5f994f5bb6eabfe72ddc3f52e5bbc9f9
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Thu Feb 28 09:41:47 2008 +0000
+
+ r300: Cleaned up extra white space.
+
+commit dda906fcdbc2c1daa6de12873998290a1486138e
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Thu Feb 28 09:39:09 2008 +0000
+
+ r300: Prefer to use the VE_ADD for simple MOV style opcodes.
+
+ The VE_MULTIPLY_ADD has further restrictions on reading temporary memory which
+ may complicate things. See AMD's documentation.
+
+commit 7504981074c43f057176ffc6cc54754fae903a98
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Thu Feb 28 09:27:15 2008 +0000
+
+ r300: Removed the (undocumented) MAD_2 opcode.
+
+ This opcode is likely a mistake from reverse engineering. MAD_2 isn't included
+ in AMD's documentation, and my testing reviles there is no problem using the
+ documented MAD opcode.
+
+commit 7e1878cdadcc98b18f926bb600dac10f0904327d
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Thu Feb 28 09:16:48 2008 +0000
+
+ r300: Cleaned up the MAD/MAD_2 opcode selection.
+
+commit bb4188b85b175065ce627baca3ae87110079d44b
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed Feb 27 12:36:33 2008 +0000
+
+ r300: Renamed some misleading macro arguments.
+
+commit fb0947ed33cb290ca0179c836abccc86eaff7600
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed Feb 27 04:23:11 2008 +0000
+
+ r300: Cleaned up the vertex program macros.
+
+commit e3a0a8dc7def2e154048d2c327896e99561b53e4
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed Feb 27 03:15:53 2008 +0000
+
+ r300: Removed duplicate component selection defines.
+
+commit 2fdd6d87f4923178f7f48c786853092c6a9e43bd
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed Feb 27 02:34:26 2008 +0000
+
+ r300: Removed duplicate source register class defines.
+
+commit 95604e88e72902fe70b34afe5aede0f1e2d4d14b
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed Feb 27 02:11:29 2008 +0000
+
+ r300: Renamed the vertex program source register macro.
+
+commit 9c742911970b5131ed08204165e04a59cd0d26bf
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed Feb 27 02:10:13 2008 +0000
+
+ r300: Removed the (obsolete) special source register macros.
+
+commit 440a6fbf6e6b390b050e99b9c320a0fe8c9f798b
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed Feb 27 02:06:40 2008 +0000
+
+ r300: Cleaned up the special vertex program source register macros.
+
+commit 8c4d811295f89bc59c54160bcaf861b47514b458
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Mon Feb 25 13:16:05 2008 +0000
+
+ r300: Added the vertex program swizzle (aka selection) defines.
+
+commit b2c02a4a7c2948f06fc2470d3c53b2292a9d482f
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Mon Feb 25 13:09:15 2008 +0000
+
+ r300: Converted to the new src/dest register defines.
+
+commit b0e81fd19e7147927e9dbc3277886942f3b8c0f3
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Mon Feb 25 12:51:56 2008 +0000
+
+ r300: Removed an obsolete comment from the vertex program header file.
+
+commit 41c3ae577894f1e577753a94cb87d6c93a8b1c63
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Mon Feb 25 12:50:46 2008 +0000
+
+ r300: Converted to the new Math Engine defines.
+
+commit 0ced26099d3ff2e82ffd5fe7915504b13341c812
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Mon Feb 25 12:39:36 2008 +0000
+
+ r300: Added the Math Engine opcode macro.
+
+commit 7c4add02f80c7f16241ddbae18117d7cb264079d
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Mon Feb 25 12:37:26 2008 +0000
+
+ r300: Renamed the Vector Engine opcode macro.
+
+commit bd46a482c479e7ce765e45f444ba0f7e54432a4e
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Mon Feb 25 12:35:55 2008 +0000
+
+ r300: Converted to the new Vector Engine defines.
+
+commit 66952fa5aec04aa2abeefa0e949ce3812fae229d
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Mon Feb 25 12:26:48 2008 +0000
+
+ r300: Removed the duplicate dest register defines.
+
+commit 8a646b80ef518fd36bc5643ee91c0339d4ccb2fb
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Mon Feb 25 12:15:22 2008 +0000
+
+ r300: Removed the duplicate "easy" vertex program macros.
+
+commit ea8299040f3a70b2912723bdea00778512da2897
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Mon Feb 25 12:22:08 2008 +0000
+
+ r300: Added the vertex program src/dest register defines.
+
+commit bccb56d5f395be994bcdb11a9f1007aca1dad1d8
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Mon Feb 25 12:08:09 2008 +0000
+
+ r300: Added the Vector Engine and Math Engine defines from AMD's documentation.
+
+commit e0a5194a5427442869ace6772d16bb687cc87ec4
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Mon Feb 25 11:56:43 2008 +0000
+
+ r300: Moved the vertex and fragment program macros into the appropriate files.
+
+commit 642d5ee8c51cdbab2b498c3413f29023f8ece929
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Sat Mar 1 02:56:08 2008 +0100
+
+ state.depth.range alpha value should be 1, not 0 (bug #14733)
+
+commit 07d6347e8a51fc7bbd5c586a5739f17c68c5eafd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 29 16:16:16 2008 -0700
+
+ gallium: change st->state.sampler_texture[] to store pipe_texture pointers
+
+ This is a better fix for the previous check-in.
+ Fixes texadd.c conform test, and probably other bugs.
+
+commit c8bca8d8a94b7bce532b40fd5c422063632b26c4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 29 15:38:43 2008 -0700
+
+ gallium: fix update_textures() bug in pipe_texture binding logic
+
+ The 'st' pointer might not have changed, but st->pt might have. The dirtyData flag
+ will indicate when that's happened, so check it.
+
+commit 3c5a1e4c2d20da0e8581df22d82a45a4156e0894
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Fri Feb 29 16:42:29 2008 -0500
+
+ Update libGL DRI loader to latest DRI interface changes.
+
+commit 51cd168da47bcc8d5453112745862bf9fbd03239
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Fri Feb 29 15:33:40 2008 -0500
+
+ glxgears: oops, remove accidental commit of glFinish() hack.
+
+commit 6cb3f5c4d8618a14bb7ad1d9df10ed7e648a7b2b
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Thu Feb 28 10:32:28 2008 -0500
+
+ Use __DRIextension mechanism providing loader functionality to the driver.
+
+ Instead of passing in a fixed struct, the loader now passes in a list
+ of __DRIextension structs, to advertise the functionality it can provide
+ to the driver. Each extension is individually versioned and can be
+ extended or phased out as the interface develops.
+
+commit 16242a8007f41ab63f9a28bb9a750857c8cdb8af
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Mon Feb 25 23:37:23 2008 -0500
+
+ Reduce the versioning madness required to create a DRI2 screen.
+
+ Right now the DRI2 screen constructor takes 3 different versions:
+ DRI, DDX and DRM. This is mostly useless, though:
+
+ DRI: The DRI driver doesn't actually care about the DRI protocol,
+ it only talks to the loader, which in turn speaks DRI protocol. Thus,
+ the DRI protocol version is of not interest to the DRI driver, but it
+ needs to know what functionality the loader provides. At this point
+ that's reflected in the __DRIinterfaceMethods struct and the
+ internal_version integer.
+
+ DDX: The DDX version number is essentially used to track extensions
+ to the SAREA. With DRI2 the SAREA consists of a number of versioned,
+ self-describing blocks, so the DDX version is no longer interesting.
+
+ DRM: We have the fd, lets just ask the kernel ourselves.
+
+commit 5197a31b8e64a047d058c4cb174efb9c8b816652
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Fri Feb 29 15:04:26 2008 -0500
+
+ intel: Set the lock flag early to avoid deadlock.
+
+ Another regression from the intel_context.c merge.
+
+commit 5240cebb23f4862f4f7458a1b397957e4460b527
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 29 13:00:17 2008 -0700
+
+ gallium: fix line emit order for unfilled tris
+
+ A tri drawn with GL_LINE_LOOP and GL_POLYGON w/ fillmode=GL_LINE should produce
+ the same results when line stipple is enabled. Results are correct now.
+
+commit 6da943d204eeb488895933c45e174042cb69c92d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 29 12:22:04 2008 -0700
+
+ gallium: point rast coord tweak
+
+commit b8ee90e05a98d5a167c1fdb5a8fc3bc0cb4a6a78
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 29 12:21:42 2008 -0700
+
+ gallium: need precalc_flat=1 for wide lines
+
+commit 4d22330837278574c7f06bdc9e12ffffb659f43d
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Fri Feb 29 10:32:25 2008 +0100
+
+ scons: List sp_screen.c.
+
+commit 2a121e8e2289d2ca136f511c5a6ef049f9c99ec4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 29 11:37:12 2008 -0700
+
+ gallium: tweak coords for wide lines
+
+commit 0b47eb4808aa47e2ab276ab60493e28774cef21a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 29 11:09:45 2008 -0700
+
+ gallium: fix glCopyPixels(GL_DEPTH) when Z format conversion is needed
+
+commit a41b77f4fedc7d956d8cb44547d812b5449f8641
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 29 11:09:02 2008 -0700
+
+ gallium: added pipe_get/put_tile_z() functions
+
+commit 78220aea864c36038f8425ad9d8467d2a2bdea58
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 29 10:07:44 2008 -0700
+
+ gallium: remove the ugly pipe->draw stage lookup code in aaline/point/pstipple stages
+
+ Added a void *draw ptr to pipe_context. Probably look for a better solution someday.
+
+commit 17f6db9d0197657cd753249ef60355c6fd983032
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Feb 29 23:08:01 2008 +1100
+
+ nv40: move "channel context" stuff into nv40_screen
+
+commit baaae562f02563c5966b857c61b3eae7341950e3
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Feb 29 22:54:40 2008 +1100
+
+ nouveau: hand nouveau_winsys in with pipe_screen init
+
+commit 84cc07dc89c0ebce4ad55b4b3684d4420a202683
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Feb 29 15:03:57 2008 +1100
+
+ nouveau: implement pipe_screen
+
+ Untested on NV3x/NV5x. Quite possibly broken.
+
+commit de1e9880f8b239768293f7f434a9117dfab20162
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Fri Feb 29 11:15:02 2008 +0800
+
+ i965: use _Current pointer instead of Current pointer.
+ fix double free issue(bug#14710). It also corrects glsl/bitmap demo behavior.
+
+commit 8c77e6f674206ef34ab15026b08e495209dcd4ea
+Merge: 68ef528 ebe3b34
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Feb 29 13:24:31 2008 +1100
+
+ Merge branch 'upstream-gallium-0.1' into nouveau-gallium-0.1
+
+commit ebe3b34ad225e320a09bb4069ce4d24808386327
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Feb 28 18:02:05 2008 -0700
+
+ cell: convert all points/lines to tris for the time being
+
+ Allows more programs to look correct. We'll want native points/lines someday.
+
+commit 6144c2bd65974f4e5b74936e26451a1ad75cb349
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Feb 28 17:57:54 2008 -0700
+
+ cell: remove obsolete texture field
+
+commit 370eca12ad8b40bfc32c206a526d53f4c777156d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Feb 28 17:42:18 2008 -0700
+
+ Added calibrate_rast.c program
+
+ Measures rasterization of points/lines/tris and suggests fixes/biases when
+ something doesn't meet spec.
+
+commit b233b1e2dc2fca2f45b3cb5df167e3675b8cc1fb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 28 17:54:42 2008 -0700
+
+ gallium: new wide point/line stages (missed in prev commit)
+
+commit a1a13954885cd469faab49633b5386e5c889e3df
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 28 17:49:22 2008 -0700
+
+ gallium: split draw_wide_prim stage into separate point/line stages.
+
+ This fixes a validation/code-path problem. Enabling the stage for the sake
+ of wide points also inadvertantly caused wide lines to be converted to tris
+ when we actually want them passed through, such as for the AA line stage.
+ This is just cleaner now.
+ Also, replace draw_convert_wide_lines() with draw_wide_line_threshold() as
+ was done for points. Allows for 1-pixel lines to be converted too if needed.
+
+commit b39f15b88f4ef585f260db689294c12b1aee41f2
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Feb 28 16:04:54 2008 -0800
+
+ [965] Fix conditional sequencing to allow the frame_buffer_texobj case.
+
+ Previously the frame_buffer_texobj case would have been bound as a normal
+ texture, at best resulting in no surface data being associated with it.
+
+commit ec5ca6844bd52a3a17005314b615f1629f652686
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Feb 28 15:45:46 2008 -0800
+
+ [intel] Bug #14575: Unmap buffers when deleting/dataing as required.
+
+ Otherwise, we would assertion error when doing the final unreference of the
+ buffer with an outstanding map (catching the memory leak).
+
+commit 981b7da8a7e263979ce68d39b122b4cc7adea8e3
+Author: Christoph Brill <egore911@egore911.de>
+Date: Thu Feb 28 22:33:46 2008 +0100
+
+ r300: R5xx and R3xx use different registers for RS_IP and RS_INST
+
+ These changes are taken from the xf86-video-ati driver. They update the header
+ file accordingly and also remove some UNKOWN variables.
+
+commit 9c8f27ba1366da07e20e86a0d48341ea97f5cda4
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Feb 28 13:18:12 2008 -0800
+
+ [965] Bug #9151: make fragment.position return window coords not screen coords.
+
+commit 3f0301d7bc90b05914e201e366d7f3189d9248e3
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Feb 27 11:01:28 2008 -0800
+
+ [965] Fix serious copy'n'paste failure in brw state dumping.
+
+commit 70126588cf78b8a835dfced2b7ca7f1e05afeb67
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 28 11:31:56 2008 -0700
+
+ gallium: fix surface/texture format conversion in st_CopyPixels
+
+ If the src buffer's format isn't supported as a texture format, find a different
+ texture format.
+
+commit 01e53be2b80d5bcb48102f7f1be507b6a5a5832a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 28 11:17:30 2008 -0700
+
+ gallium: added a texture format sanity check/assertion in st_texture_create()
+
+ make sure the tex format is actually supported by the driver.
+
+commit 476cc931f2bba69d4075b7c44985b145c3999af5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 28 11:04:39 2008 -0700
+
+ galliums: s/uint/enum pipe_format/
+
+commit 9a264a056abc376a70e01f097934d590a36df887
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 28 09:44:09 2008 -0700
+
+ gallium: in GL_SELECT mode, update hitflag in rasterpos
+
+commit ddbfa8c4625326cd7b8326f74da7f3636888960e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Feb 28 08:03:04 2008 -0700
+
+ added git on Windows section
+
+commit cef71f58c9ad71eca814189e15ceebeb25b711b3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Feb 27 18:13:21 2008 -0700
+
+ a few words about how the cell driver works.
+
+commit 3ffd11f71d021f672b9bc15b3c39c155a0e2fecb
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Thu Feb 28 21:27:16 2008 +0800
+
+ mesa: separate shader program object from shader object.
+
+ Currently a callback delete_shader_cb is used for deleting shader
+ and shader program objects. Mesa detaches all attached shaders in
+ _mesa_free_shader_program_data when deleting shader program objects. However
+ it is likely that these shaders have been freed in _mesa_free_shader,
+ which will result in unexpected behaviour. This fix uses a single callback for
+ shader program objects and deletes shader program objects before shader objects.
+
+commit e280bd50cc46ddbf5ac7fbaafc934d1048d77ba2
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Feb 28 21:25:54 2008 +0900
+
+ gallium: Fix MSVC warnings.
+
+commit 626b8d177b5fdacfac70c09216c02b1c833b91ea
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Feb 28 09:07:38 2008 +0000
+
+ Make sure struct pipe_screen is declared.
+
+commit 10d83df3a9cb76a3db76ec9970d7108cf9255d77
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Feb 28 09:07:03 2008 +0000
+
+ gallium: State tracker cleanups wrt clears.
+
+commit 0da03c0aa9ed120fe5ff781a365b503b8ed70e0c
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Thu Feb 28 16:49:38 2008 +0800
+
+ [intel] fix compressed image height
+
+commit 60159c1b09c73c19f798035a15d4ef3b434f2fa0
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Feb 28 16:34:32 2008 +0900
+
+ Convert crlf->lf line endings.
+
+ Windows/DOS users should enable core.autocrlf from now on:
+
+ git config --global core.autocrlf true
+
+commit 2573f0e5d6f37f1a663bd472055babc97cfb3959
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Feb 28 15:53:13 2008 +0900
+
+ Convert crlf->lf line endings.
+
+ Windows/DOS users should enable core.autocrlf from now on.
+
+commit 2d8d472426eb487314ae608509989141933d6192
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Feb 28 15:52:30 2008 +0900
+
+ Disable autocrlf on Visual Studio project files.
+
+commit 5c0a089a5d13baa7a427b70852223990da5f175c
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Feb 28 13:52:30 2008 +0900
+
+ gallium: Remove extra level of indirecttion.
+
+commit 510bc3535c4af68db71e5ffd19f3e21e10ec6004
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Feb 28 11:23:01 2008 +0900
+
+ gallium: Fix sign/unsign comparison.
+
+commit be2c419111b63f7e1a87a70f2714fdbff10d6c50
+Author: Jose Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Feb 28 12:57:18 2008 +0900
+
+ gallium: Convert CRLF -> LF.
+
+ DOS/Windows users should not commit text files with CRLF line endings
+ but use instead
+
+ git config --global core.autocrlf true
+
+commit 90a036b337fc41c25ee6ff89eb9422efd3d9f110
+Author: Jose Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Feb 28 12:34:01 2008 +0900
+
+ Disable autocrlf for Visual Studio project files.
+
+commit d8bf051c8b4a1ebe44895413a109d4ab898f7579
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Feb 27 18:49:35 2008 -0700
+
+ gallium: remove unneeded pipe ptr from pipe_texture
+
+commit 1774b177b858f9f87d00e54b0bf00e9634e375e9
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Feb 27 18:46:54 2008 -0700
+
+ gallium: added draw_num_vs_outputs() to query number of post-transform vertex attribs
+
+commit cabcee9ea952538f2620eb4e02570a933ac42f90
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Feb 27 18:01:37 2008 -0700
+
+ document cell -DSPU_MAIN_PARAM_LONG_LONG flag
+
+commit 627efcaa8009bb7ed6a7f266f8122df800bb2706
+Author: Brian <brian@poulsbo.localnet.net>
+Date: Wed Feb 27 17:21:29 2008 -0700
+
+ gallium/i965: remove more dependencies on pipe_shader_state semantic info
+
+commit 46da2f42a8e1bd88086cc17afc58738956d8b699
+Author: Brian <brian@poulsbo.localnet.net>
+Date: Wed Feb 27 17:21:01 2008 -0700
+
+ gallium/i965: added const to silence warning
+
+commit 308f11f9913d53944924e532e586d99070ccbe0b
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Feb 28 08:17:53 2008 +0900
+
+ scons: Build mesa source with c99.
+
+commit d612b6fa9b5674e001755265e37924815646ad1a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Feb 27 16:17:15 2008 -0700
+
+ cell: fix minor get_tex_surface() breakage
+
+commit dacf91fe587a777eed95b9767bc6b4ccdc7de71c
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Feb 27 16:22:08 2008 -0700
+
+ gallium/i965: remove brw_shader_info struct
+
+ The info it contained is now found in tgsi_shader_info.
+ Added a few assertions to catch potential misunderstandings about register
+ counts vs. highest register index used.
+
+commit f504d87240542016213569b5da89e251adebc31d
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Feb 27 16:11:26 2008 -0700
+
+ gallium/i965: silence warnings
+
+commit 7ba1afb03308685eb07d6b88184906ac42f60c2b
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Feb 27 16:11:14 2008 -0700
+
+ gallium/i965: added const to silence warnings
+
+commit bad54d0b4dbe62aed6fad1d2725f7fe52a987440
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Feb 27 16:09:17 2008 -0700
+
+ gallium/i965: remove UsesDepth, UsesKill - use tgsi_shader_info instead
+
+commit ea7e86dd4d1e7dbef2642da73bb1980723ae49ef
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Feb 27 16:05:16 2008 -0700
+
+ gallium/i965: remove dependencies on pipe_shader_state's semantic info
+
+ The brw_shader_info struct is rendundant and could be removed...
+
+commit 6b9a7eb460fe0a9c958b837f2ed49c2d4e303ebc
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Feb 27 16:03:40 2008 -0700
+
+ gallium: remove dependencies on pipe_shader_state's semantic info
+
+commit cddeca51adf0d2b736a223e47b60f6ef3be85bff
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Feb 27 16:02:58 2008 -0700
+
+ gallium: remove dependencies on pipe_shader_state's semantic info
+
+ Use tgsi_scan_shader() to populate a tgsi_shader_info struct and use that instead.
+
+commit 7df26d76d2a37e9e828296bfbcf7cec04bfbe233
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Feb 27 16:01:35 2008 -0700
+
+ gallium: include p_util.h
+
+commit 679b6cf0a0e662513c8d7732049c44916e0e9e86
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Feb 27 16:00:04 2008 -0700
+
+ gallium: include p_compiler.h instead of p_util.h
+
+commit 681b78fc60b2e60cf9f84802932bf9d2defd28c2
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Feb 27 15:48:00 2008 -0700
+
+ gallium: remove unnecessary assignment
+
+commit 3197ad5a56ee94773f974ac727b316c5adfe1b6f
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Feb 27 15:47:24 2008 -0700
+
+ gallium: added file_max[] array to tgsi_shader_info
+
+ Records the highest index of a declared register.
+
+commit 0e1e1f12f47d5b1d49f68930b05eadf1143e1396
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Feb 27 15:45:41 2008 -0700
+
+ gallium/i915: remove unneeded assignment
+
+commit 80a9b5e1d962c17530e3bcb34c0d1ac4aae8fa7f
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Feb 27 15:11:12 2008 -0700
+
+ gallium: remove unnecessary tgsi_interp_coef decl
+
+commit c66ec5c7a2966df3e3456dfca3eb17c294b30dd5
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Feb 27 15:06:55 2008 -0700
+
+ gallium: remove uses_kill field from softpipe_shader
+
+commit fb40c5a9c7dc91c03f80780e0a09be0cade98705
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Feb 27 15:06:04 2008 -0700
+
+ gallium: added uses_kill field to tgsi_shader_info
+
+commit 1c50ea2cd9ab8752793c99b4a7a2a6656bdde1ac
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Feb 27 13:40:23 2008 -0800
+
+ cell: Use unified data cache for textures too
+
+commit cc5ffd762227345d0a5bf9e9356dd83a8b2a8b33
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Feb 27 14:28:17 2008 -0700
+
+ gallium: remove obsolete *_strings.c files
+
+commit 6f715dcc219071e574e363a9db4365c9c31ebbd3
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Feb 27 14:21:12 2008 -0700
+
+ gallium: remove pipe_context->texture_create/release/get_tex_surface()
+
+ These functions are now per-screen, not per-context.
+
+commit 00bc91ac647296575efec1612a66385563a6ce54
+Author: Christoph Brill <egore911@egore911.de>
+Date: Wed Feb 27 22:06:38 2008 +0100
+
+ r300: properly handle GL_POINT in glPolygonMode
+
+ Until now the polygon mode was completely turned of when you used
+ GL_POINT. For me it looked buggy to completely disable the polygon
+ mode for FrontMode and BackMode if any of these was GL_POINT.
+
+commit 364f8cad0f8f02fd39d9c51ea0774d349121b58d
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Feb 27 13:58:06 2008 -0700
+
+ gallium: move is_format_supported() to pipe_screen struct
+
+commit 8383f798b41df9a305e0a33afe8afa028d5d5dfb
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Feb 27 11:24:35 2008 -0700
+
+ gallium: start removing pipe_context->get_name/vendor/param/paramf
+
+ These are now per-screen functions, not per-context.
+ State tracker updated, code in drivers and p_context.h disabled.
+
+commit 03b5267f52d440b1b357918ed7de2ca948f314e1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Feb 27 10:17:57 2008 -0700
+
+ gallium/i965: implement pipe_screen for i965 driver (untested)
+
+commit 17188e4d5a3707c134fc97976863f0d8e2f1f5ab
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Feb 27 10:15:37 2008 -0700
+
+ gallium/i915: hook up screen->get_param()
+
+commit f04736c8be5d30c510e1799ac0c8fa5173516513
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Feb 27 09:55:17 2008 -0700
+
+ Cell: implement pipe_screen for cell driver
+
+commit 4f36cf5858a7e53181c3578685675e15fbfcbb82
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Feb 27 09:47:46 2008 -0700
+
+ gallium: implement pipe_screen for softpipe driver
+
+commit ef6c82b0c13573df1aab7acd6f4f9ef9076f421f
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Feb 27 09:46:10 2008 -0700
+
+ gallium/i915: remove some redundant code
+
+commit 60c0f09abb9421de359cd92e094a943d650fc7fa
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Wed Feb 27 11:19:29 2008 -0500
+
+ intel: Always use intelInitExtensions() for initializing extensions.
+
+commit 31358282d4bd5a9708dba7be059dcff02233b4e1
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Feb 27 09:15:15 2008 -0700
+
+ gallium: better debug messages
+
+commit e8c0162fa0c4720aea612a617cbd02b83590763c
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Feb 27 08:58:12 2008 -0700
+
+ gallium: softpipe_init_texture_funcs(), make texture func static
+
+commit 8d94dabad8400cf65363d107a0605a013b542fd1
+Author: Jerome Glisse <glisse@kemper.freedesktop.org>
+Date: Wed Feb 27 07:42:48 2008 -0700
+
+ mesa: set input read only on success
+
+commit 7a678556d4311168ac1dacdd613eb7b94684e443
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Feb 27 20:13:16 2008 +0900
+
+ scons: Place the .sconsign file on the builddir too.
+
+ To avoid issues with different scons versions building the same source file
+
+commit e49905b57c8a8691c093dd5dd55be7f087517416
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Feb 27 19:33:57 2008 +0900
+
+ mesa: Add copyright headers.
+
+commit d6229d7f1fda03d3c73998505b0facf6e3d5b882
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Feb 27 18:39:57 2008 +0900
+
+ gallium: Make headers C++ friendly.
+
+commit 9409043c58bbcac37b439032fc61aff2a0b0d543
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Feb 27 17:36:28 2008 +0900
+
+ scons: Move common code to a separate file.
+
+commit 67099cd7b96dca5ee0e88543b7fc316f6535ea8f
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Feb 27 16:53:52 2008 +0900
+
+ scons: Autodetect the default machine.
+
+commit 9a8a5d7c2fe7f32c8d15bc0a77f86e1f2f995ffe
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Feb 27 16:42:15 2008 +0900
+
+ gallium: Replace // comments.
+
+commit 94c73d1bb9037a1eead1d5174f218b15852b52d7
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Feb 27 16:23:50 2008 +0900
+
+ gallium: Remove // comments.
+
+commit 6ac148824d932e2f818e09fe65beb45913c3d231
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Feb 27 16:05:57 2008 +0900
+
+ scons: Fix winddk.py's decription and copyright.
+
+commit f81b7a6285455e838adb061dcca90036c9f99522
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Feb 27 15:59:09 2008 +0900
+
+ gallium: update for new i915_screen.c file; fix some warnings.
+
+commit 8902ce06e85f48a436ee3794c77f7abf59f56594
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Feb 27 14:06:07 2008 +0900
+
+ gallium: Use stricter types.
+
+ VC++ won't silently convert a pointer to a function with typed pointer
+ arguments to one with void pointer arguments.
+
+commit 94047122571ac78717874bfb42598ab210cd7f80
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 26 20:12:29 2008 -0700
+
+ cell: insert a (disabled) call to spe_cpu_info_get()
+
+ Found on the Cell devel forum, but doesn't appear to be available in SDK 2.1.
+
+commit aa59a937ccf41609081d3f9a4973df5478979785
+Author: Brian <brian@i915.localnet.net>
+Date: Tue Feb 26 20:15:14 2008 -0700
+
+ gallium: introduce 'pipe_screen' for context-independent functions
+
+ This will allow creating textures before a rendering context exists, for example.
+ Only implemented in i915 driver for now. i915pipe->texture_create() just
+ dispatches through to the i915screen->texture_create() to avoid state tracker
+ changes for now.
+
+commit dc2b6e2c33b44c1ffc0578b6bf52d05f7c68bb5c
+Author: Brian <brian@i915.localnet.net>
+Date: Tue Feb 26 19:35:08 2008 -0700
+
+ gallium: use pipe_texture_reference() instead of pipe->texture_release()
+
+commit 4da19dbcaa9f3e2d20fffd0145bf0bc756dd7542
+Author: Brian <brian@i915.localnet.net>
+Date: Tue Feb 26 19:31:22 2008 -0700
+
+ gallium: remove pipe parameter from pipe_texture_reference()
+
+ Added pipe field to pipe_texture (temporary, see comments).
+ First step toward context-less texture creation...
+
+commit c34b024cf49f3fc06271d561a4069c77d7b65c48
+Author: Markus Amsler <markus.amsler@oribi.org>
+Date: Wed Feb 27 02:06:17 2008 +0100
+
+ r300: add artificial output to match fragment program input
+
+commit 12a4a74e94cbea491a35e11bd7a9f809df5085dc
+Author: Markus Amsler <markus.amsler@oribi.org>
+Date: Wed Feb 27 02:04:06 2008 +0100
+
+ mesa: set input read only on success
+
+commit a6044bdf74bae96f05310ad6e39942f172b8ab02
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Feb 27 09:10:14 2008 +0900
+
+ Revert "scons: Prefer MSVS 2003 (patch by Mark Mueller)."
+
+ This reverts commit 19f6e1a975a098cf4ce935b50f7cf0c64d9db042.
+
+commit 20b8bff49cba3e8246e29004c5ff38f231d589ff
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Tue Feb 26 17:57:41 2008 -0500
+
+ i965: Setup framebuffer texture in meta_draw_region.
+
+ With DRI2 we there is no screen region until a drawable is bound to
+ the context. Set up the framebuffer texture in meta_draw_region instead
+ which should also handle the case where the draw region changes as a
+ result of resizing a redirected window or resizing the screen.
+
+commit 451bd1941e9791882f7931c8613643f152871e79
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Feb 26 13:28:51 2008 -0800
+
+ [965] Don't segfault on INTEL_DEBUG=batch when a surface buffer is NULL.
+
+commit 09aa4b36902194646384cccbdee8a07832aebac7
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Feb 21 10:42:07 2008 -0800
+
+ [965] remove dead brw_parameter_list_state_flags.
+
+ This was replaced by Mesa core code.
+
+commit d5ab6507f7c368e86f653e76b759f2e71273469f
+Author: Brian <brian@poulsbo.localnet.net>
+Date: Tue Feb 26 14:34:19 2008 -0700
+
+ gallium: #includes to silence warnings
+
+commit d4a4bed6638e0156324ff9b270f2248c4b5275bb
+Author: Brian <brian@poulsbo.localnet.net>
+Date: Tue Feb 26 14:30:41 2008 -0700
+
+ gallium: updated prototype (missed in prev commit)
+
+commit 5e29aab1752c3e07ae2ebde4cb00e6550dab0eb2
+Author: Brian <brian@poulsbo.localnet.net>
+Date: Tue Feb 26 14:29:35 2008 -0700
+
+ gallium: replace draw_convert_wide_points() with draw_wide_point_threshold()
+
+ Specifying a threshold size is a bit more flexible, and allows the option
+ of converting even 1-pixel points to triangles (set threshold=0).
+
+ Also, remove 0.25 pixel bias in wide_point().
+
+commit b93cf55f4ecd94f5e9d5dda49d9092e3b769d044
+Author: Brian <brian@poulsbo.localnet.net>
+Date: Tue Feb 26 14:26:40 2008 -0700
+
+ gallium: fix zero-sized viewport bug
+
+ If st_create_framebuffer() is called with width=0, height=0 and the program
+ never called glViewport, the viewport wasn't properly initalized. This fixes
+ that.
+
+commit 80efc5feb061a8ed9c1e91ad3711547927fa29e3
+Author: Brian <brian@poulsbo.localnet.net>
+Date: Tue Feb 26 14:25:36 2008 -0700
+
+ gallium: fix off by one rasterpos bug
+
+commit 6e3dde8a5409dce827e81200ca4ce8e01b1ee0ab
+Author: Christoph Brill <egore911@egore911.de>
+Date: Tue Feb 26 22:10:54 2008 +0100
+
+ [r300] fix wow-pinkness regression. Fixed by Markus Amsler
+
+commit 36aa9cf781440ce685930586cbf53248cf9c0dc2
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Tue Feb 26 20:32:42 2008 +0100
+
+ gallium: Print texture target for short dumps.
+
+commit bfb7cd653a05f868f9ce1c2c071d4bfdc31ca645
+Author: Christoph Brill <egore911@egore911.de>
+Date: Tue Feb 26 21:40:55 2008 +0100
+
+ [r300] Document based on chapter 10.4 and 10.5
+
+ This commit adds most of the graphics backend registers and of the rasterizer
+ registers. Again, some minor bugs were found and marked with TODO or even
+ fixed.
+
+commit 75dac3959f959f0227b4e172696ac43910f9257a
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Feb 26 11:18:51 2008 -0800
+
+ cell: Multiple rendering contexts don't work yet
+
+ Log a message and forcibly exit. This prevents silly fools from
+ thinking there's a bug...instead of just an unimplemented feature. :)
+
+commit dbf12dcdb78aa251fe0d09b49aa661481727ecf6
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue Feb 26 18:48:13 2008 +0000
+
+ intel_winsys: Fix build failure due to DEBUG_IOCTL being undefined.
+
+ Include pipe/p_debug.h to consistently enable or disable the debugging code.
+
+commit 4901410293b35ac6bb4759142b50fcc0be8a1b25
+Author: Brian <brian@i915.localnet.net>
+Date: Tue Feb 26 10:47:42 2008 -0700
+
+ gallium/i915: Use tgsi_scan_shader() to collect shader info
+
+ No longer use semantic info in pipe_shader_state.
+ Also, remove redundant semantic info from i915_fp_compile struct.
+
+commit 33d213b6776701ec16b5c02b111ed31de5e93f43
+Author: Brian <brian@i915.localnet.net>
+Date: Tue Feb 26 10:44:44 2008 -0700
+
+ gallium: remove unused var
+
+commit f74279002a0ae0b106bd5410487ef9c0e9b1d8b6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 26 10:13:39 2008 -0700
+
+ gallium: added tgsi_shader_field to sp_fragment_shader
+
+ Use the shader semantic info from there, instead of from pipe_shader_state.
+ Carry this idea to draw module and other drivers...
+
+commit 1410b7bb509ef37c41043b173bc1047257483af0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 26 10:12:17 2008 -0700
+
+ gallium: collect more shader info in tgsi_scan_shader()
+
+ Now getting input/output semantic info so we can eventually remove those
+ fields from pipe_shader_state.
+
+commit ecd50ef58b034e604ff6b2fedbb0815953e510ea
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 26 08:43:07 2008 -0700
+
+ gallium: remove input_map[] from pipe_shader_state
+
+commit 232a41e19faa860f083e414cb1eb38c0617e9241
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 26 08:41:42 2008 -0700
+
+ gallium: disable debug code
+
+commit 19f6e1a975a098cf4ce935b50f7cf0c64d9db042
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Feb 26 23:59:53 2008 +0900
+
+ scons: Prefer MSVS 2003 (patch by Mark Mueller).
+
+commit 6d336588edb8318f49a0f611760e7ff8b6861de7
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Feb 26 22:31:03 2008 +0900
+
+ scons: Properly generate PDB files on MSVC.
+
+commit bb68acbf8dceb3a228c0f1ac18bfabd89a327b14
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Feb 26 14:05:31 2008 +0900
+
+ gallium: Add missing copyright headers.
+
+commit 68ef52886263690632552ae187a4673945c2ab74
+Merge: 026e2fd ad6bb87
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Feb 27 00:34:31 2008 +1100
+
+ Merge branch 'upstream-gallium-0.1' into nouveau-gallium-0.1
+
+commit ad6bb870de6103ed240fa1f9f828bd13a4401a9a
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Tue Feb 26 11:49:25 2008 +0100
+
+ gallium: Fix build on Windows.
+
+commit 9bd2cb7f90ac434ec5be7d388f899976bf902dc1
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Tue Feb 26 17:20:12 2008 +0800
+
+ [i915] fix texture size exceed limit case when running celestia
+
+commit 32879e14610906c23b3ca874ba7234370132d76c
+Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
+Date: Tue Feb 26 09:19:27 2008 +0100
+
+ [intel] Handle -EAGAINs correctly in execbuffer.
+ Dont stop on fence creation errors.
+
+commit 7838aaffdb9d34427ebcb73aac585c85d9622018
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Tue Feb 26 01:48:01 2008 -0500
+
+ implement cache limits for cso
+ by default set to 4096, which might be on the large side
+
+commit e7985105695a18c29c13deb2b8f40c15eef72ee6
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Tue Feb 26 00:18:54 2008 -0500
+
+ add an explicit callback decleration and use it to silence warnings
+
+commit bf1c2f3602038440ffacf7ae494cb4e9bacc9bb9
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Tue Feb 26 00:15:55 2008 -0500
+
+ hide cso cache definition and add some initial code for size limiting
+ the caches
+
+commit 6abb82da7e676384e7e2c9732307b23f8ed7157d
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Feb 25 22:03:58 2008 -0500
+
+ implement deleting of driver side cached state in cso's
+
+commit f1c82bf9a4d248389ea5a558575e566d17dbd9d8
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Mon Feb 25 22:24:09 2008 -0500
+
+ A few more fixes to the dlsym() fix.
+
+ Argh, seriously, I did test that, I just forgot to amend the commit
+ before pushing.
+
+commit 0a64ffb308bbe17fb67aad2829ff36044c9eab47
+Author: Dave Airlie <airlied@linux.ie>
+Date: Tue Feb 26 12:28:45 2008 +1000
+
+ dri2: dlsym requires some quotes..
+
+commit 08a5f49644c4bfc62291c49718f2d18e58527d1d
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Feb 25 18:56:03 2008 -0700
+
+ gallium: rewrite AA point fragment shader to use a CMP instruction instead of IF/ELSE/ENDIF
+
+ Allows the shader to work on i915 hardware.
+
+commit ba376b33140f722b9f935960f450bbca8873439e
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Feb 25 18:53:57 2008 -0700
+
+ gallium/i915: plug in aapoint draw stage
+
+commit f43c44b5c9bbbd37e0d40488f911f81e5f3a0367
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Feb 25 18:53:22 2008 -0700
+
+ gallium/i915: Fix emit_hw_vertex(): need to use vinfo->src_index[]
+
+commit 7ed9beef5f08554f126c64aa172cd03fd810f1db
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Feb 25 18:00:14 2008 -0700
+
+ gallium/i915: remove debug code
+
+commit 0235b3252100eda553babea42c014445358a2985
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Feb 25 17:59:51 2008 -0700
+
+ gallium/i915: fix i915_emit_texld() to handle swizzled texcoords
+
+ Allocate a temporary register, insert MOV instruction, etc.
+
+commit 129b9ad16f95421d12f77c1bd3eca915d8768b78
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Mon Feb 25 20:02:25 2008 -0500
+
+ Use dlsym() to avoid referencing __dri2DriverInitScreen.
+
+ Sort-of a stop-gap workaround. There are a couple of nicer ways to
+ do this that doesn't require dlfcn.h, but they're more invasive.
+
+commit 2fc9d0ffac4b44dad1f13443e5dedd545675a7ee
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Feb 25 16:15:59 2008 -0800
+
+ cell: Additional changes to match changes in draw/draw_vertex_shader.c
+
+commit 2efa7e9489541b6a86c3d46e3d58cbf5bf399189
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Feb 22 17:51:55 2008 -0800
+
+ cell: Fix off-by-one error in spu_dcache_fetch_unaligned
+
+ This time the off-by-one error caused an extra qword to be fetched
+ under certain circumstances when the source ea was not qword aligned.
+
+commit a63fd641a01a50e1be51664bf863e01ddaf61d3e
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Feb 22 16:27:39 2008 -0800
+
+ cell: Trivial compiler warning clean-ups.
+
+commit fb68daceec312a90910dad3882e6ef57c370b7fd
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Feb 21 16:41:12 2008 -0800
+
+ Cell: Remove unnecessary include files
+
+commit 7976a084e792daf0b23c688bfa8f577de141ecca
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Feb 21 11:01:35 2008 -0800
+
+ Cell: Use multiple DMA tags for the dcache.
+
+commit bcecea6ea6c2727e4071f5a43fab49673573e905
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Mon Feb 25 18:50:26 2008 -0500
+
+ autoconf: Add gcc search patch to MKDEP_OPTIONS to eliminate warnings.
+
+ Also, use -include to avoid error message when make initially fails to
+ include the non-existent depend file.
+
+commit 7381ccab449c65d843580f76426f87ab6b1649ce
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Mon Feb 25 17:34:24 2008 -0500
+
+ intel: Add missing include file to silence last couple of warnings.
+
+commit 54bd506c0fcfd7dffa31bea22f3c0175ec41b9b0
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Mon Feb 25 17:28:09 2008 -0500
+
+ intel: Initialize color and spec arrays in LOCAL_VARS macro.
+
+ Avoids spamming compilation output with tons of warnings about
+ use of possibly uninitialized variables.
+
+commit 61c3c2c36301671b8f913cf739e13d049ef91868
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Mon Feb 25 16:52:35 2008 -0500
+
+ Change GetCompressedTexImage in dd_function_table to not take const pointers.
+
+ They're changed by the intel driver implementation and thus not const.
+ Fixes compilation warning.
+
+commit 6e8d21d72f35767e07081a8bee4323aaaf5e2aae
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Mon Feb 25 16:14:37 2008 -0500
+
+ Remove GetMSC DriverAPI function.
+
+ The DriverAPI is internal to the DRI drivers and GetDrawableMSC
+ obsoletes GetMSC. Also, since the DRI driver interface has not yet
+ been released, just drop the getMSC function from the DRI interface
+ instead using the ABI preserving version mechanism.
+
+ Finally, using void pointer privates in the DRI interface is not allowed,
+ always pass the actual types around (__DRIdrawable in this case) to
+ enhance type safety and readability of the code.
+
+commit b49a8f805aec057d9d0b039531b373b6bd8330e2
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Mon Feb 25 15:36:42 2008 -0500
+
+ Remove now unused setTexOffset from __DriverAPIRec.
+
+commit b02fc948348db5559d658251dd3a6d4f3390d686
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Feb 25 17:01:20 2008 -0700
+
+ gallium/i915: compute vertex size _after_ state validation in emit_prim().
+
+ Fixes crash when drawing aa lines.
+
+commit bc3f2c908e085538ed0956159503e97825161bb9
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Feb 25 16:26:37 2008 -0700
+
+ Added line smooth test
+
+commit 09ba1dd4ccb0ed907510cb9403b1fb1fb0ab3658
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Feb 25 16:25:24 2008 -0700
+
+ gallium: clamp line width when creating raster state object
+
+commit 99047e0968882a4e3f9577fa2352d91733181339
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Feb 25 16:24:47 2008 -0700
+
+ gallium/i915: plug in aaline draw stage
+
+commit 92650aeaddd1bd729f3a90383f05c8148f678066
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Feb 25 16:22:58 2008 -0700
+
+ gallium/i915: make sure state is up to date in i915_vbuf_render_get_vertex_info(), also disable bogus assertion
+
+commit f41e95755757cb1452697fafa1dd5288390ed57e
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Feb 25 16:20:04 2008 -0700
+
+ gallium/i915: need to recompute vertex info if vertex shader changes
+
+commit 57f310b2c99ddd3d0cdf671647f8242f7cdd551a
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Mon Feb 25 23:18:15 2008 +0000
+
+ r300: Corrected a cache flush bug in r300EmitCacheFlush.
+
+ Corrects commit 74ae5a875d6b3f1ffea2ac09c6ef0062d4980f15.
+
+commit b53110c78941e7fcaa41921cce07ca00ec117a97
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Feb 25 16:16:07 2008 -0700
+
+ gallium/i915: call draw_flush() in i915_flush()
+
+commit 40a3b16183186f6dabff6ace84b0078780cf5e61
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Mon Feb 25 22:48:26 2008 +0000
+
+ r300: Moved the state code into separate functions.
+
+commit cc0cf1154b6288d49d7a9dfd18fb666331dd7334
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Feb 25 15:34:46 2008 -0700
+
+ gallium: fix bad ptr assignment
+
+commit 0253357e1697078852e89e35a086276214ce3dd2
+Author: Christoph Brill <egore911@egore911.de>
+Date: Mon Feb 25 23:20:23 2008 +0100
+
+ [r300] revert complete stupid changes
+
+commit 7d83618f99063a38e15e31b3f93e8112db20e0c4
+Author: Christoph Brill <egore911@egore911.de>
+Date: Mon Feb 25 23:08:02 2008 +0100
+
+ [r300] Document registers completed 10.1 to 10.3
+
+commit 4cba59f8e7172bc85127265a0a74a172ee65cb70
+Author: Christoph Brill <egore911@egore911.de>
+Date: Mon Feb 25 23:04:17 2008 +0100
+
+ [r300] Add more register from the AMD spec
+
+commit ed29d145f4017d601e458366b20d2b3c9cfbebe6
+Author: Christoph Brill <egore911@egore911.de>
+Date: Mon Feb 25 22:55:13 2008 +0100
+
+ [r300] Document POLY_MODE and add some TODOs that might have triggered some bugs
+
+commit 846b7fbc6c9cbd57eed01bd04b1da73109935091
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Feb 25 14:48:31 2008 -0700
+
+ gallium/i915: use draw_find_vs_output() directly, fix broken fogcoords.
+
+ We now produce the correct 915 vertex layout regardless of the order in
+ which fragment shader inputs are declared.
+
+commit c037b4d45a551dc7b7dd33950c2e8df60449061c
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Feb 25 14:47:13 2008 -0700
+
+ softpipe: use draw_find_vs_output() directly
+
+commit d6c7f7e314ee9f034402c919d142bf6ba9844ec9
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Feb 25 14:46:42 2008 -0700
+
+ gallium: modify draw_find_vs_output() to search vertex shader outputs
+
+ This simplifies drivers using the draw module and removes the last dependency
+ on vertex-shader "internals". Since the draw module is producing the
+ post-transformed vertices, it makes sense to ask it where specific vertex
+ attributes are located.
+
+ This could also simplify some things in the state tracker code for selection,
+ feedback, rasterpos...
+
+commit 090e2adaa85d66b22e06a36476f82c8b950d9932
+Author: Christoph Brill <egore911@egore911.de>
+Date: Mon Feb 25 22:45:36 2008 +0100
+
+ [r300] Document some registers in the POINT area
+
+commit a7fa3e093c4230eb185868895bce39bbac08a1bd
+Author: Christoph Brill <egore911@egore911.de>
+Date: Mon Feb 25 22:36:16 2008 +0100
+
+ [r300] Further document and add register definitions (found bugs in LINE handling)
+
+commit 60e1703727d7a84ae2dcd80f95b40c50e12cc06c
+Author: Christoph Brill <egore911@egore911.de>
+Date: Mon Feb 25 21:48:25 2008 +0100
+
+ [r300] Sync fog color register names
+
+commit fa088bfe9de6a6fb482aa14715d9e9e05bc01586
+Author: Christoph Brill <egore911@egore911.de>
+Date: Mon Feb 25 21:44:11 2008 +0100
+
+ [r300] Sync fog register names to the AMD spec
+
+commit d08b1fe2a46308880828e4ced951ab9127b67d5e
+Author: Christoph Brill <egore911@egore911.de>
+Date: Mon Feb 25 21:35:13 2008 +0100
+
+ [r300] Further document FG_ALPHA_FUNC (renamed from R300_PP_ALPHA_TEST) and finally add some information to R300_RB3D_DSTCACHE_CTLSTAT
+
+commit f399ed7d557ac0c541750479e93781506994be5d
+Author: Christoph Brill <egore911@egore911.de>
+Date: Mon Feb 25 21:04:23 2008 +0100
+
+ [r300] Document R300_RB3D_COLORMASK properly and rename it to RB3D_COLOR_CHANNEL_MASK
+
+commit 6087b00b279769e068589d4af5c5d8341ca24af4
+Author: Christoph Brill <egore911@egore911.de>
+Date: Mon Feb 25 20:54:23 2008 +0100
+
+ [r300] Add register definitions based on AMD spec starting with chapter 10
+
+commit a195f7162a2183d58423954fdf10df6ddcead40e
+Author: Christoph Brill <egore911@egore911.de>
+Date: Mon Feb 25 20:30:40 2008 +0100
+
+ [r300] Add some more register from the AMD spec in the area of AARESOLVE
+
+commit 74ae5a875d6b3f1ffea2ac09c6ef0062d4980f15
+Author: Christoph Brill <egore911@egore911.de>
+Date: Mon Feb 25 20:24:00 2008 +0100
+
+ [r300] Sync the names for Z-Buffer registers with the AMD spec
+
+ This patch tries to get the Z-Buffer register names in sync with the AMD spec
+ so that talking to AMD engineers is much simpler.
+
+commit 1b51c135fc7bce2a801793139f72de7e57e33cfb
+Author: Christoph Brill <egore911@egore911.de>
+Date: Mon Feb 25 20:20:59 2008 +0100
+
+ [r300] Add more struct names for r300_hw_state
+
+commit 02926a297782579591fc6b2b5f29b9d7709814da
+Author: Christoph Brill <egore911@egore911.de>
+Date: Mon Feb 25 20:18:10 2008 +0100
+
+ [r300] rename all unkown structs r300_hw_state to readable names
+
+commit 86039ae41303f8b96554e927247250c343c7d6a1
+Author: Christoph Brill <egore911@egore911.de>
+Date: Mon Feb 25 20:15:20 2008 +0100
+
+ [r300] Add RB3D_DISCARD_SRC_PIXEL_LTE_THRESHOLD and some HyperZ defintions
+
+commit df344b171c82707653b1175cfa153ef011effedb
+Author: Christoph Brill <egore911@egore911.de>
+Date: Mon Feb 25 20:11:46 2008 +0100
+
+ [r300] Replace more magic number by register definitions from AMD
+
+commit a3cee7cafb462aa0808703d044bcc76fc03b2750
+Author: Christoph Brill <egore911@egore911.de>
+Date: Mon Feb 25 20:08:33 2008 +0100
+
+ [r300] clean some more magic registers based on AMD spec
+
+commit 6051e68a64729208092ca233d5eaf709e494d3d1
+Author: Christoph Brill <egore911@egore911.de>
+Date: Mon Feb 25 20:03:35 2008 +0100
+
+ [r300] Update some magic registers to real names
+
+commit d1f2d56a759e6bcebea6cc46b270275c5dedcbce
+Author: Christoph Brill <egore911@egore911.de>
+Date: Mon Feb 25 20:01:27 2008 +0100
+
+ [r300] Document Z-buffer related register ZB_BW_CNTL
+
+commit 091225eebb7983f8c5d0f9c41cca12a841479b31
+Author: Christoph Brill <egore911@egore911.de>
+Date: Mon Feb 25 19:50:05 2008 +0100
+
+ [r300] document VAP_CNTL based on AMD spec
+
+commit 059aca86ba22a9f1496caa994b829371c3e5f840
+Author: Christoph Brill <egore911@egore911.de>
+Date: Mon Feb 25 19:39:16 2008 +0100
+
+ [r300] Document some of the wild guesses in VAP_OUTPUT_VTX_FMT based on AMD spec
+
+commit ff8bb004b19ddbf84c7d8793b176c4c7d6932010
+Author: Christoph Brill <egore911@egore911.de>
+Date: Mon Feb 25 19:18:08 2008 +0100
+
+ [r300] document type 3 packets to draw primitives based on AMD spec
+
+commit ea02342c11eaeb700495b403caecc13a129333e8
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Feb 25 11:21:03 2008 -0700
+
+ gallium/i915: Use hardware rendering, unless INTEL_SP env var is set
+
+commit 20839b37ed61b044d6224c0e373ce10d74be4f3d
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Feb 25 11:13:58 2008 -0700
+
+ gallium/i915: added SGT/SLE opcodes
+
+commit 93d1ecdbd669816ba95f06543e5d2ea346a80522
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 25 11:00:01 2008 -0700
+
+ Obsolete, replaced by glut_fcb.c (fortran callbacks)
+
+commit 65685785faaa521e1f080bb79599a7eca5fb2536
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 25 10:57:40 2008 -0700
+
+ Replace glut_fbc.c with glut_fcb.c (cb=callback)
+
+commit 45a800a2e7eb5d8d87820ef32d60ae912729cbb0
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Mon Feb 25 12:03:28 2008 -0500
+
+ intel: Only enable GL_ARB_occlusion_query on i965.
+
+commit e4e30089231831339815cccebf3a3a0ea6dcd2a9
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Feb 25 20:05:41 2008 +0900
+
+ Make the pipe headers C++ friendly.
+
+commit c8b069cc1e839b5dd7a11d33c291b6b587a45df3
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Feb 25 17:55:45 2008 +0900
+
+ Get more debugging info out of MSVC.
+
+commit 2d38d1b3005c02273abf3941df5dddc245a6b792
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Feb 25 17:11:28 2008 +0900
+
+ Remove files of unsupported build systems.
+
+commit 9bcc8ad0caee26cbffba07fcd145392063c5516b
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Feb 25 17:05:15 2008 +0900
+
+ Update git ignores.
+
+commit 2a0675eb75b8ca52efab739218bf93922bf884b5
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Feb 25 16:39:39 2008 +0900
+
+ Replace standand library functions by portable ones.
+
+commit 1d14da9a89e8d7f49b754ca1f24cb062a261a7e7
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Mon Feb 25 15:27:47 2008 +0800
+
+ [intel] fix random ut2004 crash on some machine, for cubemap textures,
+ image offset is already considered when map, add it again in
+ StoreImage may lead to wrong result and crash.
+
+commit b75706764b4cf18f3b41bf4a97d82b3c528064d8
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Feb 25 15:18:33 2008 +0900
+
+ Add Zack's comments about CSOs.
+
+commit efd336887f9c46e66b304def0aa5fc5e16dc990f
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Feb 25 14:46:53 2008 +0900
+
+ Cleanup scons files.
+
+commit 5b6ca237ee63fb85cff3bb942f5136f96f2c81ec
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Mon Feb 25 11:04:59 2008 +0800
+
+ i965: fix assertion failure caused by commit dd1d66fc4ab5d7064113a2017a431c3461598b91.
+
+commit 026e2fd3c6eb87a010a9c90341e8a77b09376b5b
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Feb 25 13:33:08 2008 +1100
+
+ nv40: remove pipe_state struct now.
+
+commit 4058a9012764ce3bc7b90d03c4d79d020540f8e4
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Feb 25 13:29:16 2008 +1100
+
+ nv40: construct vbo state the same way as the rest
+
+commit 14de997d5df48512c751c627ab19d486691f591d
+Author: Ben Skeggs <darktama@beleth.(none)>
+Date: Mon Feb 25 12:26:48 2008 +1100
+
+ nv40: dump meaningful names for surface formats
+
+commit 2bebeef81bd723b0b09c748d5e3331e51b48db60
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sun Feb 24 17:58:18 2008 +0900
+
+ Update some msvc compiler flags.
+
+commit fdcb9260eea8f9b9deaeeade2a46cffbf3dcaa59
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sun Feb 24 17:58:05 2008 +0900
+
+ Add new files.
+
+commit e70a431c3d87a829b3eb1b931d5af365ceee75b5
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sun Feb 24 16:43:07 2008 +0900
+
+ A few more tweaks to get correct WINDDK compilation.
+
+commit 7aadb475e58b91f3c17c2a70f6700225e9ef25ed
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sun Feb 24 02:46:46 2008 +0900
+
+ gallium: Fix MSVC warnings.
+
+commit 012391357fcbefd2b34e999eed91a129d5efd77c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Feb 23 16:17:17 2008 -0700
+
+ gallium: disable early Z test if fragment shader contains KIL instruction.
+
+ Use tgsi_scan_shader() to determine if the fragment shader uses KIL or
+ writes fragment.z
+
+commit 35ca45daba3906ac94fb879d2374d476ba2dac47
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Feb 23 16:15:54 2008 -0700
+
+ gallium: added TGSI_FILE_COUNT
+
+commit 1d77d6caf647424f9c1c481145be0465e96c9e3e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Feb 23 16:15:29 2008 -0700
+
+ gallium: added new tgsi_scan.c / tgsi_scan_shader() function
+
+ Used to get information about registers, instructions used in a shader.
+
+commit e9bb63c8e20361597463b2f7f88d84fe2770c8b9
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sun Feb 24 02:16:28 2008 +0900
+
+ gallium: MSVC fixes.
+
+commit 58a3d7dfd94453c25607106835fbbb3a54d42306
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat Feb 23 19:49:08 2008 +0900
+
+ Revamp scons usage.
+
+commit d7cf6a8a697a2fb4da171a36968f65aa0f108b27
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sat Feb 23 19:17:00 2008 +1000
+
+ r300: fixup some more names
+
+commit df6e9e40a90dfe97e9b04582c3add598b612785d
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sat Feb 23 18:54:07 2008 +1000
+
+ r300: some initial register info from doc drop
+
+commit e8de5c70e3370e9112a5facc870075eea60c4c46
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat Feb 23 14:14:54 2008 +0900
+
+ Bring in several forgotten MSVC fixes.
+
+commit bed547cb8223659a7f0d15a91c2edb5f822ba855
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat Feb 23 14:14:20 2008 +0900
+
+ Fix typo.
+
+commit dd1d66fc4ab5d7064113a2017a431c3461598b91
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Fri Feb 22 18:06:19 2008 -0500
+
+ intel: Merge intel_context.c from i915 and i965.
+
+commit aec315f05f860337bccfce827a7c1c80960dd476
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 22 18:34:31 2008 -0700
+
+ gallium: fix a state validation bug found w/ pointblast.c
+
+commit e9276efafe43219d7af548ce7f5d2440e19836b0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 22 17:22:10 2008 -0700
+
+ gallium: fix bug in which wide point stage overrode the aapoint stage
+
+ Also, simplify the logic a bit.
+
+commit c74900ee5d80c7c2b7cbe4ed87395526a742a13e
+Author: Brian <brian@i915.localnet.net>
+Date: Fri Feb 22 16:48:05 2008 -0700
+
+ gallium/i915: overhaul of fragment shader compilation, constant/immediate allocation
+
+ Before, fragment shaders were translated to i915 hw code at bind time, rather
+ than create time. Now there's an i915_fragment_shader struct with the expected
+ contents that's created by i915_create_fs_state(). Translation to i915 code
+ takes place there too.
+
+ Immediates are handled correctly now. During program translation we keep
+ track of which constant buffer slots are free (i.e. not referenced by the
+ shader). Then the TGSI immediates and ancillary immediates (introduced for
+ SIN/COS/etc) are put into those free slots.
+
+ When it's time to upload the constant buffer, use the fp->constant_flags[]
+ array to determine if we should grab an immediate from the shader, or a
+ user-defined parameter from the gallium constant buffer.
+
+commit d8a9d850b9d63c7398d596fad2dfd2f05e55ef7d
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Fri Feb 22 22:21:15 2008 +0100
+
+ nv30: init zeta to NULL, use color pitch if no zeta
+
+commit 8cd7c1d03ce045bfa39471c3f77a31030195b899
+Author: Brian <brian@i915.localnet.net>
+Date: Fri Feb 22 14:07:33 2008 -0700
+
+ i915: include stdio.h
+
+commit 24f3d7de29c5cd30ced7c3ce7293902460a82e0b
+Author: Brian <brian@i915.localnet.net>
+Date: Fri Feb 22 14:07:12 2008 -0700
+
+ i915: include p_debug.h (resolves undefined assert())
+
+commit 0a5ed0667e6bd934a150bf7f784349fa7f595309
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Fri Feb 22 17:18:27 2008 +0100
+
+ nv30: wrong number of parameters
+
+commit 12c14c31b71d4bac494c4470a34e28ec66309254
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 22 08:56:55 2008 -0700
+
+ gallium: fix brokenb build
+
+commit 0bb53709e837ac709f31ace8852599e885f4d090
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 22 08:52:24 2008 -0700
+
+ cell: added function prototypes to silence warnings
+
+commit b4d050ffccf46e5e7b40d8a2f3868cc73fcf110e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 22 08:50:37 2008 -0700
+
+ cell: fix build: s/dest/vertex/
+
+commit f1bef2cba2e6e4c0988b05306dd1435b8c0df3d5
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Feb 22 18:45:20 2008 +0900
+
+ gallium: Countour MSVC's pickyness for structures returned by value.
+
+commit 901b03e84dce21f4241375da179b2199a3162e0c
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Feb 22 18:28:30 2008 +0900
+
+ gallium: Wrap decls in extern "C".
+
+commit 6c597238b2e168b63738ac8cc9167c1d09185aad
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Feb 22 17:22:32 2008 +0900
+
+ gallium: Add cso convenience routine (from Keith's patch).
+
+commit 2cf860b866d80595b7287d6991dc96abc3ca8dd3
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Feb 22 16:22:41 2008 +0900
+
+ gallium: MSVC fixes.
+
+commit e0de82fbcb181f5c3e372ed66b692970a9e80766
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Feb 20 22:25:18 2008 +0100
+
+ gallium: Fix build on Windows.
+
+commit 57060bc1fa82e4e93d2affafecd98219be2f991f
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Feb 20 22:10:27 2008 +0100
+
+ gallium: Silence compiler warnings on Windows.
+
+commit 69a7c9739bc0f11e66e11ab410d813fa69fe5fc9
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Feb 20 22:05:52 2008 +0100
+
+ gallium: Silence compiler warnings on Windows.
+
+commit 6f238275c7c19f7e287b47276e6b4060c270599f
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Feb 20 22:05:06 2008 +0100
+
+ gallium: Define intptr_t for Windows platform.
+
+commit 8828dd1443c7d55697f78757b22be2733e059acf
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Feb 20 22:04:32 2008 +0100
+
+ gallium: Move align_pointer() to p_pointer.h.
+
+commit f44b30f1eb4896668c4fe91cd9b084ea63c9e915
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Feb 20 22:03:59 2008 +0100
+
+ gallium: New file.
+
+commit 26c57d163092d8069c69ff47929e73682b819ab2
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat Feb 23 00:46:40 2008 +0900
+
+ Avoid building problematic module/drivers on windows.
+
+commit 16245d9b38c8cfd5c9ad1636bc0cfcce308a740b
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Feb 20 18:57:45 2008 +0900
+
+ Don't parse mesa's rtasm asm module.
+
+commit c99fa92ff84e927c82e1231d96921fda9a2b0852
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Fri Feb 22 00:51:52 2008 -0500
+
+ Merge {i915,i965}/intel_context.h as intel/intel_context.h
+
+commit 7b938431d0ab5ccce1e7e2b1c38e1dcbdc6001e8
+Author: Ben Skeggs <darktama@beleth.(none)>
+Date: Fri Feb 22 14:46:48 2008 +1100
+
+ nv40: stateobj start out with 0 refcount
+
+commit c2e36bdd1a58ba6f58c4e72db1f7f64e8bd05901
+Author: Ben Skeggs <darktama@beleth.(none)>
+Date: Fri Feb 22 13:55:18 2008 +1100
+
+ nv40: move hw_dirty
+
+commit 5b2ff28a2fd3bb0ca9df569edcaf80e8141ccaa1
+Author: Ben Skeggs <darktama@beleth.(none)>
+Date: Fri Feb 22 13:32:51 2008 +1100
+
+ nv40: rework fragment texture state
+
+commit 73e0e567dea3cf4e1591acb3e894eecef812f367
+Author: Ben Skeggs <darktama@beleth.(none)>
+Date: Fri Feb 22 12:36:48 2008 +1100
+
+ nouveau: fix build
+
+commit f7922db610d05efee0ee8c5f0dadb69e3939482e
+Merge: 759fa5f 446bfc3
+Author: Ben Skeggs <darktama@beleth.(none)>
+Date: Fri Feb 22 12:25:15 2008 +1100
+
+ Merge branch 'upstream-gallium-0.1' into nouveau-gallium-0.1
+
+ Conflicts:
+
+ src/gallium/drivers/Makefile
+
+commit 1c718c0d78cf4eae9e02b03a0abbec384db948a6
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Feb 22 00:18:54 2008 +0000
+
+ Use drm_i915_sarea instead of drmI830Sarea and remove i830_common.h
+
+commit 446bfc32a83008e0865ec869bc80b920c907f10f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Feb 21 16:56:32 2008 -0700
+
+ gallium: new draw stage for polygon stipple.
+
+ For hardware without native polygon stipple. Create a 32x32 alpha texture
+ that encodes the stipple pattern. Modify the user's fragment program to
+ sample the texture (with gl_FragCoord) and kill the fragment according to
+ the texel value.
+ Temporarily enabled in softpipe driver, replacing the sp_quad_stipple.c step.
+
+commit eb4dc2dd5ed62e6ccb55ccc2bc13f6a2f3fc1f76
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Feb 21 16:18:05 2008 -0700
+
+ gallium: new AA point drawing stage
+
+ AA points are drawn by converting the point to a quad, then modifying the
+ user's fragment shader to compute a coverage value. The final fragment
+ color's alpha is modulated by the coverage value. Fragments outside the
+ point's radius are killed.
+
+commit a93d8bfaf2aba1b2fe3ecfbb5bc4b7ff113c305e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Feb 21 12:32:38 2008 -0700
+
+ gallium: fill in some blend/rasterizer template fields to make sure they're all valid, even if not relevant
+
+commit d4d2e36a429fd015316c484fc40be7e6d2c69946
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Feb 21 08:37:49 2008 -0700
+
+ gallium: comments, white-space clean-up
+
+commit 20fbcbf5801c28865c0bfab3cda45302c8474a66
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Feb 21 19:07:31 2008 +0000
+
+ [PATCH] softpipe: unbreak sp_setup_pos_vector on non-x86 systems
+
+commit 4339744c1676f925d42251bd32795bba9928cd5f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Feb 21 10:07:58 2008 +0000
+
+ [PATCH] gallium: include p_compiler.h for boolean defn
+
+commit 30479ef11004c9498c4ef09048efc56227f104cc
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Feb 15 18:56:41 2008 +0000
+
+ draw: vertex cache rework
+
+ Take a baby step to straightening out vertex paths.
+
+commit 1eaf7b775ba0dacff8a3debd7c0f260970e5a61d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Feb 15 18:54:00 2008 +0000
+
+ tgsi: print debug messages on failure to codegenerate
+
+commit de5c64e0af0b1a1ce3ee12f361341880dc260868
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Feb 21 10:32:02 2008 -0800
+
+ Cell: Remove erroneous ALIGN16_ATTRIB attributes
+
+ If a structure is marked as being aligned the SPE compiler performs
+ extra optimizations (sadly, only -O2 is used) when reading the
+ structure. Since most of the structures sent in batch buffers are
+ only 8-byte aligned, this resulted in mysterous bugs with -O2.
+
+commit 6dd47c264a8642a4e3dbe0b4fc194174743c64fc
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Feb 21 10:24:29 2008 -0800
+
+ Cell: Add spu_dcache.c to Makefile.
+
+ This was erroneously missing in previous commits.
+
+commit e78fc9f2f4d89b0cae0d56d84dd16cb76a6757dc
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Feb 21 09:03:29 2008 -0800
+
+ Cell: Initial scalar implementation of spu_dcache_mark_dirty
+
+commit 2d1f086c12b6d64f5c3fb80474f26775aeb71370
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Feb 20 14:45:08 2008 -0800
+
+ Cell: Fix off-by-one error in spu_dcache_fetch_unaligned
+
+ An off-by-one error caused an extra qword to be fetched under certain
+ alignment / size combinations.
+
+commit 7c74037852a484a8a50e8bc540b954a624de4d33
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Feb 20 14:32:25 2008 -0800
+
+ Cell: Initial pass at unified data cache
+
+commit 758b99894170c1c18370b370eb33dda7d0d14a8d
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Thu Feb 21 10:32:04 2008 -0800
+
+ autoconf: Fix thinko when checking freebsd CPU types
+
+commit 112a40ec0280756d83ac9145fd5908d6ffb12e4c
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Thu Feb 21 10:17:19 2008 -0800
+
+ autoconf: Set the default drivers after checking platform specifics
+
+ The platform-specific overrides to the DRI drivers were being ignored
+ because the default was being set first. Instead, have the default be a
+ fallback after the platform checks.
+
+commit 8be9bc08e1da31619f1b1c49aa6280d44f94c442
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Feb 20 18:00:03 2008 -0700
+
+ gallium: include p_inlines.h
+
+commit d3b7d26b0bab6587cfad64735aefa28d8377c358
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Feb 20 17:57:40 2008 -0700
+
+ gallium: s/pipe_reference_texture/pipe_texture_reference/
+
+commit 228f6b978804268a482718e762ebfccbba784949
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Feb 20 15:32:41 2008 -0700
+
+ gallium: re-fix some msvc warnings
+
+commit e523ef72044d7f8137a298d60597b8913bae9145
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Feb 20 15:13:33 2008 -0700
+
+ cell: use pipe_texture_reference()
+
+commit 25ea1901b44107a5bc5351487e18d52d75df8ffd
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Feb 20 15:09:27 2008 -0700
+
+ gallium: replace some ordinary assignments with pipe_reference_texture()
+
+ This fixes at least one instance of dereferencing an invalid texture pointer.
+
+commit fce61f341faf6a2e1a8497ab963985ddbffa8b0a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Feb 20 14:44:15 2008 -0700
+
+ gallium: fix bad ptr comparison
+
+commit fd4bdd020a9e1999b87d553b50151405c054a619
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Feb 20 14:32:43 2008 -0700
+
+ cell: rename cell_state_fs.c -> cell_state_shader.c
+
+commit 64683473753de6eb978245e348e9b20cd1d42883
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Feb 20 14:30:50 2008 -0700
+
+ cell: init shader-related functions in cell_init_shader_functions()
+
+commit 9e57e70b42471ff587441fb8c1b5de728521fafd
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Feb 20 14:27:08 2008 -0700
+
+ cell: #includes to silence warnings
+
+commit f6e1654e22d983ec9015fe4e7445e03df1227c71
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Feb 20 14:25:07 2008 -0700
+
+ cell: plug in cell_set_sampler_texture
+
+commit acd2253ae80d133bc84a5e78909ec72464e3f901
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Feb 20 14:24:46 2008 -0700
+
+ Remove obsolete files replaced by cell_pipe_state.c
+
+commit 9171e63f414866aef155b17d3c85c9a236a872d6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Feb 20 14:21:45 2008 -0700
+
+ cell: put most simple state-setter functions in new cell_pipe_state.c file
+
+ Also, re-org of texture/surface functions.
+
+commit 4eae65c8e052976a130564560699e60e1a3a9cc3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Feb 20 14:04:05 2008 -0700
+
+ gallium: re-org of i965 texture/surface code, functions
+
+commit 882a4b505484a50f1ccc2cf3ae0c3a52d4ec1be3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Feb 20 14:00:42 2008 -0700
+
+ gallium: minor re-org of 915 surface/texture code
+
+commit d5640a2dbdc4454d0405f2cd5b18fc49b1ca7694
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Feb 20 13:24:52 2008 -0700
+
+ gallium: new pipe->texture_update() function
+
+ Called whenever texture data is changed (glTexImage, glTexSubImage,
+ glCopyTexSubImage, etc).
+
+commit 1d45787d4a70c55e7fa899d13b9139430e2fa3e2
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Feb 20 13:12:36 2008 -0700
+
+ gallium: mark texture object data dirty in do_copy_texsubimage()
+
+commit 3ccbaa977f96eaa849093875dd0944f744ee1e21
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Feb 20 13:11:51 2008 -0700
+
+ gallium: re-enable GenerateMipmap calls
+
+commit 52e4c8d702e15bdf13a61db0a01c5ca2abb9d040
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Feb 20 11:58:33 2008 -0700
+
+ Test calling glTexSubImage2D mid-way through a frame.
+
+commit 58edb0683db45c449b219988a8715cf8fd69e42d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Feb 20 11:20:25 2008 -0700
+
+ gallium: state tracker didn't always notify drivers of texobj data changes
+
+ Calling glTexSubImage() or glTexImage() to replace texture data didn't
+ reliably cause pipe->set_sampler_texture() to get called so drivers didn't
+ always get notified of new texture data.
+ The st_texture_object->pt pointer doesn't always indicate changed data so
+ added a dirtyData field.
+
+commit 22a0b85eaebf767f5b03bf899596e09f5cc03876
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Feb 20 11:15:59 2008 -0700
+
+ gallium: use pipe_texture_reference() in sp_tile_cache_set_texture()
+
+commit 4e9c8166b064de4eed38e385880cd491e6d8d9c4
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Feb 20 08:54:15 2008 -0700
+
+ Fix glBegin-time test for invalid programs/shaders.
+
+commit 3075f267cd8ea3d434ecd33357c45cd4b37be151
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Feb 20 08:53:41 2008 -0700
+
+ raise GL_INVALID_OPERATION if glProgramString compilation fails
+
+commit 759fa5fcc8038af4845a6d9c57b75933ef26559c
+Author: Ben Skeggs <darktama@beleth.(none)>
+Date: Wed Feb 20 17:22:40 2008 +1100
+
+ nv40: fb state
+
+commit 9cd10d7618a226fe46395b08beb19e420bc14a4f
+Author: Ben Skeggs <darktama@beleth.(none)>
+Date: Wed Feb 20 17:14:41 2008 +1100
+
+ nv40: almost there..
+
+commit 46c3d0918dd7a47f69c21e4eb1a3fd2a2fbe6223
+Author: Ben Skeggs <darktama@beleth.(none)>
+Date: Wed Feb 20 16:21:28 2008 +1100
+
+ nv40: keep track of generated context state vs current channel state
+
+commit 49c3f3b537cdad847eaa24f90d01c4b1f604f724
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 19 16:51:19 2008 -0700
+
+ gallium: general clean-up of xlib winsys Makefile
+
+commit 75a4524f2c6444b27055e539da052827670b62cf
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 19 16:28:25 2008 -0700
+
+ gallium: initialize the killmask register to zero before running shader
+
+ This fixes mysterious missing fragments when running with SSE.
+
+commit 4ec46e4869b60b60c7ddf43168604713b5c4c359
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 19 14:58:23 2008 -0700
+
+ gallium: add some casts to prevent likely msvc warnings
+
+commit a2c06c5b5c8b3fb9f6d65bcd288d62e112e6a603
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 19 14:56:01 2008 -0700
+
+ gallium: don't hard-code attrib slot=0 in setup_fragcoord_coeff()
+
+commit b1c8fa5b6002296d9abe21c06d5cb81a3f70828a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 19 14:55:18 2008 -0700
+
+ gallium: implement correct sampling for RECT targets / unnormalized texcoords
+
+commit 3e329ea7e41e8d97de5b5f345ecab0833c8afe70
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 19 11:14:54 2008 -0700
+
+ gallium: updated cell build
+
+ Building on Ian's Cell build fix.
+ Put libcell.a in the gallium/drivers/cell/ directory.
+ General Makefile clean-up, simplification, updated comments.
+
+commit d11993100289c1597dcfc1cfa36cee3cd7eff103
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Feb 19 09:43:47 2008 -0800
+
+ Cell: Add missing "gallium/winsys" to SRC_DIRS to fix build.
+
+commit 66be2810c3be07dd1ee45a60cfc632725837f2cd
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Feb 18 18:55:39 2008 -0800
+
+ Cell: emit vertex shaders and uniforms more intelligently
+
+commit 4362c6e59d575a039e654e1520bbff89b73fc8f2
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Feb 18 18:51:57 2008 -0800
+
+ Cell: trivial clean-ups
+
+commit a3a480979b0d8688285d6b8632e02dd6d37071a3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 19 08:39:12 2008 -0700
+
+ Regenerated (see bug 11893)
+
+commit ce865fd2fde0058f7a61620389ec17a9a04f1f40
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 19 08:38:42 2008 -0700
+
+ Added <size name="Get" mode="get"/> lines for point parameter tokens.
+
+ See bug 11893. This allows GL_POINT_SIZE_MIN/MAX/etc to be queried with
+ indirect rendering.
+
+commit fda62a6f2fa2817cba6a32edbfbaf2636d1782a3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 19 08:27:44 2008 -0700
+
+ Regenerated (raise GL_INVALID_VALUE if counter param is negative)
+
+commit a52ce9de7d3ba1b244edaadbe976a0c794b0cc62
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 19 08:27:08 2008 -0700
+
+ If parameter is a 'counter', raise GL_INVALID_VALUE if value is negative
+
+ Fixes bug 10984.
+
+commit 5480a6bc13a555f99a89fc801cfe153182697dda
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Feb 19 18:57:25 2008 +0900
+
+ Fix windows build.
+
+commit b62f0ddd09f8ef9c400feca321412b3f0bc77e63
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Feb 19 18:56:55 2008 +0900
+
+ Portability fixes.
+
+ Eliminate C99/C++ constructs.
+
+ (We should actually disable gcc C99 syntax options if we are serious about
+ portability.)
+
+commit d710a7cfb2c129fcb937e40fa9b367d662138bc5
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Feb 19 18:53:16 2008 +0900
+
+ Windows (DDK) compilation support.
+
+ It also works when cross compiling with Wine.
+
+commit 9993ccce690e5811a48f9b1a5e2155db446187b0
+Author: Jeremy Huddleston <jeremy@tifa.local>
+Date: Tue Feb 19 00:54:35 2008 -0800
+
+ Apple: Pulled in changes from Apple's patchset to allow mesa to build on darwin again
+ (cherry picked from commit e70609b7b877dc0d8e67c958c453305e78f831df)
+
+commit d8c187fed78ef99bed47bf261464c8c31ed13302
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Tue Feb 19 14:53:58 2008 +0800
+
+ fix compile for previous commit
+
+commit 689ff273d18528ec12817124cfbc6a8159cd8497
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Tue Feb 19 14:47:57 2008 +0800
+
+ [i965] fix broken glsl texdemo1
+
+commit b9da3791c934e05b82063a8c79c423a0a8e29a94
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Feb 19 15:07:53 2008 +0900
+
+ Remove src/mesa and src/mesa/main from gallium source include paths.
+
+commit 5d78212d752e021555356bbb9cc5993ad6d9e847
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Feb 19 14:00:16 2008 +0900
+
+ Bring in ppc spe rtasm into gallium's rtasm module.
+
+ Moving files since these are not being used outside gallium.
+
+commit b0eef0dc2557febea7d425fee1f9c2da382898a6
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Feb 19 13:41:38 2008 +0900
+
+ Add run-time cpu capabilities detection stubs.
+
+commit 90b2beb661f630966788a6e909dc759c99e38973
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Feb 19 13:27:13 2008 +0900
+
+ Simplify makefile boilerplate code.
+
+ Don't define ASM_SOURCES variable globally -- reserve that variable to be defined
+ locally by makefiles, together with C_SOURCES and CPP_SOURCES.
+
+commit f430d95a36d55141cd9ef911aab70364ce4a4108
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Feb 19 12:52:28 2008 +0900
+
+ Use gallium's rtasm module.
+
+commit 17158c2f00f5bee29ec8239367fd5498f22e4a91
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Feb 19 12:24:42 2008 +0900
+
+ Move mm.c code into util module.
+
+ Using the u_ prefix to distingish the c source files that support gallium
+ interfaces and those that have really no relation with gallium itself.
+
+commit d2f6c9ab10656f6ecda131a6785a60565026d249
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Feb 19 12:05:32 2008 +0900
+
+ Add copyright headers to all rtasm source files.
+
+commit 39ea0308425ad04618061129c63c22ac0efb0692
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Feb 19 12:00:48 2008 +0900
+
+ Rename rtasm files.
+
+commit df8ab3140ce05599e1dc983ac211a30fc845d9b5
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Feb 19 11:49:48 2008 +0900
+
+ Bring rtasm from mesa to gallium.
+
+commit e773a813cf475e2a7ad79ea1ec698bf2530d0433
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Feb 19 10:50:39 2008 +0900
+
+ Initial scons support to build gallivm.
+
+ Not yet complete.
+
+commit e279b1c57ac8d17703d80f1b644fd1d4f115101b
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Feb 18 14:35:19 2008 +0000
+
+ More llvm -> gallivm.
+
+ Forgot this one on the last commit.
+
+commit 6c7f663cb96cac4873129f835614181405bd3f6e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 18 18:39:55 2008 -0700
+
+ gallium: move draw_set_viewport_state() call, plus code clean-up, remove obsolete comments
+
+commit ae9931dad24703d99530b2761c759cef1cbc0fb5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 18 18:36:20 2008 -0700
+
+ gallium: call draw_flush() for scissor/stipple state changes
+
+commit 478c14453b33b20724bcdb70cf1f54f4addb71ab
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 18 16:50:07 2008 -0700
+
+ gallium: remove the prototype/unused wide_line_aa() function
+
+commit aceeb80d4f706980aaf71b8e098d4c6718d8ac90
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 18 16:19:05 2008 -0700
+
+ gallium: antialiased line drawing
+
+ New draw/prim stage: draw_aaline. When installed, lines are replaced by
+ textured quads to do antialiasing. The current user-defined fragment shader
+ is modified to do a texture fetch and modulate fragment alpha.
+
+commit ba38909be21e4b33121b87bb7ac8743886a4f706
+Author: Adam Jackson <ajax@redhat.com>
+Date: Mon Feb 18 11:45:40 2008 -0500
+
+ Install dri_sarea.h in 'make install'
+
+commit 0448dbd64a2ef217349f4ada4777d432bc82e46d
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Feb 18 12:33:34 2008 +0000
+
+ Update for llvm -> gallivm rename.
+
+commit 3f3b09d6d86cfd277c5837d15466ee703897aa3d
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Feb 18 20:05:06 2008 +0900
+
+ Rename llvm -> gallivm.
+
+ Following the directory == library name policy simplifies the build system.
+
+commit 687a8b96ef13658bbe779d0011ce1144844f1972
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Feb 18 20:02:42 2008 +0900
+
+ Standardize on using the pipe/ include prefix.
+
+commit 33ceb6716a2166db75659fa66d85fb4cfb9633c7
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Feb 18 10:52:44 2008 +0000
+
+ Update scons build for new code layout.
+
+commit 9df478d2f8269a439024fadf82170814d24acd19
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Feb 18 16:47:35 2008 +0900
+
+ Add an "all" target alias for "default" target.
+
+ "all" is more commonly expected, expecially by many IDEs.
+
+commit c0f9cab905f3f54cc01bf947665f8a731b8cb347
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Feb 18 18:23:12 2008 +1100
+
+ nouveau: cleanups + fixes
+
+commit 1f2d011786784479717f8f3bef03ed3dd1ed90ad
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Feb 18 15:45:29 2008 +0900
+
+ Build glx/x11.
+
+commit 8450b14676a2f5c6423b16bc4bc7a1ec5a6a987e
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Feb 18 15:37:52 2008 +0900
+
+ Cleanup depend files.
+
+commit 9a5dd26fe22c37b85787130a2b724e6e8ef4f553
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Feb 18 17:36:24 2008 +1100
+
+ nv40: and vertprog..
+
+commit 4a9cb97bbf6961cc4106c4c54e59296a74e889e9
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Feb 18 17:07:59 2008 +1100
+
+ nv40: get fragprog onto new state mechanism
+
+commit 39fe5851a57a7218eafce7dab971738bdb780166
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Feb 18 15:07:17 2008 +0900
+
+ Actually use GALLIUM_DRIVER_DIRS.
+
+commit 56045da083d6530a56a2a7585e3121df0b07bac4
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Feb 18 16:38:27 2008 +1100
+
+ nv40: move some things around
+
+commit 112ba3355a3fa53768efb9a9fb0eeb677bd28d47
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Feb 18 16:26:33 2008 +1100
+
+ nv40: until gallium is fixed we'll need a fallback for user clip planes
+
+commit bfd5916eafb9a97ad10f1d4a8738e7dcb02e04f4
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Feb 18 14:25:04 2008 +0900
+
+ Code reorganization: split gallium and mesa makefiles.
+
+ In other words, don't build src/gallium source code from within src/mesa/Makefile.
+
+ Also, allow to customize which gallium auxiliary dirs, driver driver, winsys
+ dirs get built from the config/* files.
+
+commit f911235f64d610e57da88487133d0483c7a094e7
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Feb 18 15:31:55 2008 +1100
+
+ nouveau: header update
+
+commit 037570fa5a6cf83d3aaaa6cdacc10eb0b5da45bf
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Feb 18 15:17:39 2008 +1100
+
+ nv40: obey polygon offset state
+
+ Almost sure this isn't entirely correct. However, I'm not sure what
+ gallium expects yet, and this fixes some bugs, so it'll do for now.
+
+commit 8c8107118e79b9b8c21860b3cec29a17ba3c3f5a
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Sun Feb 17 19:34:48 2008 -0800
+
+ Ignore glxgears_pixmap
+
+commit 12e0aa7b1d587b7c30897762d2f8f368a4a7d453
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Feb 18 14:12:58 2008 +1100
+
+ nv40: similar changes to polygon stipple as were done for scissor
+
+commit 56bf73b1fb974e2223c9a4dcc96d39dac84a2df5
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Feb 18 12:07:24 2008 +0900
+
+ Update doxygen configuration file for new tree layout.
+
+commit 930c253947b1e59ec62bb1423cd2de635c97529e
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Sun Feb 17 18:10:15 2008 -0800
+
+ Distribute dri_sarea.h with the tarballs
+
+ The GL/internal/dri_sarea.h header was missing from the tarballs,
+ causing the build to bomb for DRI2.
+
+commit 5e091b573aa0a0c45f8ff34429f2a9d4198bb80a
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sat Feb 16 21:27:53 2008 +1100
+
+ nv40: ensure scissor gets disabled where necessary
+
+ Fixes progs/demos/lodbias.
+
+ Makes a complete mess of things, but now there's a motivation to finish
+ this off :)
+
+commit 9a6c39bd2e857398199f46f302a70317a70e3a8d
+Merge: c303cf1 4a79156
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Feb 18 12:45:56 2008 +1100
+
+ Merge branch 'upstream-gallium-0.1' into nouveau-gallium-0.1
+
+commit 7688791fc52f116eea421fda1d17aba5cf10977b
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Tue Jan 15 19:25:41 2008 -0800
+
+ glapi: Generate xserver glapi sources in the mesa tree
+
+ Instead of generating the glapi sources for the xserver and commiting
+ them to the xserver tree, we can keep them in the mesa tree and change
+ the xserver build to use the files from the mesa tree.
+
+ This makes the xserver glx build more robust as it reduces the chances
+ for mismatches of the glX API used in the xserver vs. in mesa.
+
+commit 4a79156812d574249b51e1692f4615aa31bf0e50
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Sun Feb 17 09:42:26 2008 -0500
+
+ fix the build
+
+commit 0c6bbd41bd6dc1041eaca7c907d3768d107c1afa
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Feb 16 13:55:47 2008 -0700
+
+ gallium: add missing mip level clamp
+
+commit 3b2a291888d8e62787de03f8529806fb562bd186
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Feb 16 13:50:31 2008 -0700
+
+ gallium: tweak texture filter min/mag thresholds
+
+commit 08c9534107fcaf06f9b801551524ed5dc724db13
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Feb 16 10:05:01 2008 -0700
+
+ gallium: implement min vs. mag filter determination for non-mipmapped textures
+
+ Fixes tests/minmag.c
+
+commit f9973b1c3d6b1759add1fe7af425231393a1ca33
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Feb 16 09:38:34 2008 -0700
+
+ Added minmag.c test
+
+ Test that different minification and magnification filters are chosen for the
+ non-mipmapped texture case.
+
+commit 15f0015df443025086ae810c0c0d07b4359b9e02
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Feb 16 09:56:54 2008 -0700
+
+ Fix potential glDrawPixels(GL_DEPTH_COMPONENT) crashes (bug 13915)
+
+ Also, general clean-up of the Xlib-optimized glDraw/CopyPixels code.
+
+commit 3955bbc303a6812e7d7ceb5783a8363b0855b6ca
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Feb 16 09:38:34 2008 -0700
+
+ Added minmag.c test
+
+ Test that different minification and magnification filters are chosen for the
+ non-mipmapped texture case.
+
+commit c303cf15dcf2744028f920cf71d7e6fda709bd15
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sat Feb 16 17:51:44 2008 +1100
+
+ nouveau: fix potential userbuf crash.
+
+commit 26add9288c88108e3485ffc57c51ea9bdc0ee719
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sat Feb 16 17:23:12 2008 +1100
+
+ nouveau: match gallium code reorginisation.
+
+ That was... fun..
+
+commit 87e3301533aa4d3e6e98db139887ebba3d217f7d
+Merge: 49405c4 3320b18
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sat Feb 16 16:30:22 2008 +1100
+
+ Merge branch 'upstream-gallium-0.1' into nouveau-gallium-0.1
+
+ Conflicts:
+
+ configs/linux-dri
+ src/mesa/pipe/Makefile
+
+commit 49405c43f245d3b3ddd12e891413bf7ead23145c
+Merge: 263de4b 4d9c19d
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sat Feb 16 16:20:40 2008 +1100
+
+ Merge branch 'nouveau-gallium-0.1' into darktama-gallium-0.1
+
+ Conflicts:
+
+ src/mesa/pipe/nouveau/nouveau_stateobj.h
+ src/mesa/pipe/nv40/nv40_context.c
+ src/mesa/pipe/nv40/nv40_miptree.c
+
+commit 4d9c19d2f7eef263b49485b6e65be9afbe58363a
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sat Feb 16 03:04:28 2008 +0100
+
+ nv30: fixes.
+
+commit 4032ff3889021089debce1c43a0bb984b121cbf6
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sat Feb 16 02:54:11 2008 +0100
+
+ nv30: fixes.
+
+commit 6ffe45bfd4e9b67fc15f2b32353282ccbae458f5
+Author: Adam Jackson <ajax@redhat.com>
+Date: Fri Feb 15 17:22:09 2008 -0500
+
+ Fix path to minstall in last commit.
+
+commit 3f5a9a3a9e3626dc2baad8cdd3aad23418bc0758
+Author: Adam Jackson <ajax@redhat.com>
+Date: Fri Feb 15 17:17:03 2008 -0500
+
+ Install dri_interface.h in 'make install'.
+
+commit c741d287ecce1bd95d4e024d60e274abfcfbe22f
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Feb 15 13:48:11 2008 -0800
+
+ [intel] Allow attIndex to be negative to avoid defeating the >= 0 check.
+
+ Otherwise, we would go wildly out of bounds if passed -1 (no renderbuffer), such
+ as while doing LOCK_HARDWARE with glDrawBuffer(GL_NONE).
+
+commit eed5e6f40f1728ae5ae346d44ce45ba767bbf24c
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Feb 15 13:42:37 2008 -0800
+
+ [915] Don't attempt our accelerated drawpixels if no color buffer is attached.
+
+ Otherwise, glDrawBuffer(GL_NONE); glDrawPixels() results in a segfault when
+ we try to emit the color buffer state during setup.
+
+commit 19420e6c2592e8a31e2ead4bccebc1a9ccca52b1
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Feb 15 13:16:01 2008 -0800
+
+ [915] Revert broken context creation change from IS_915 commit.
+
+ The IS_945 case was left to fall through to the 830 case, along with the
+ not-recognized-at-all case, making that dead code.
+
+commit 1d0ddea92fc933d623caf1b9d3bda47b6f8296f8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 15 13:41:39 2008 -0700
+
+ Fix glBindTexture crash (bug 14514)
+
+commit 4955325ae920df71a7c8b69cad89ac7a9828e047
+Author: Adam Jackson <ajax@redhat.com>
+Date: Fri Feb 15 15:05:42 2008 -0500
+
+ chmod a-x **/glslnoise.c
+
+commit 37e45b9b789f2aeafbe7e192072b939d4fa5a1cb
+Author: Adam Jackson <ajax@redhat.com>
+Date: Fri Feb 15 14:59:30 2008 -0500
+
+ Fix parallel build by making symlinks before makedepend.
+
+commit 3ddd339ce32d0577bdc9955ca62cb5dd9ed4dd93
+Author: Adam Jackson <ajax@redhat.com>
+Date: Fri Feb 15 14:57:51 2008 -0500
+
+ Fix sis_dri on ia64.
+
+commit 49a34837564a28587517bfe8bc7679c4e5e04f85
+Author: Adam Jackson <ajax@redhat.com>
+Date: Fri Feb 15 14:56:32 2008 -0500
+
+ Fix build on ia64.
+
+commit cf0d91ae1d627381b632de63e5cb85494b277eb4
+Author: Adam Jackson <ajax@redhat.com>
+Date: Fri Feb 15 14:52:58 2008 -0500
+
+ Add IS_915(), simplify IS_9XX() a bit.
+
+commit c51eb3ec401e78dd14ccd95304599909045b17b6
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Feb 14 16:14:00 2008 -0800
+
+ [intel] Bug #13636: Allow recursive buffer mapping in bufmgr_ttm.
+
+commit 39bcbe0921e8a31b55ebee8726d2091fc5e0dd22
+Author: Adam Jackson <ajax@redhat.com>
+Date: Fri Feb 15 14:46:25 2008 -0500
+
+ Add E7221 variant to i915.
+
+commit 3320b1874e810583f95b93a89697b2955987b84f
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Feb 15 11:03:54 2008 -0800
+
+ Cell: Enable code gen for SPE attribute fetch
+
+ Doubles are still unsupported.
+
+commit 66611f2298539fa28a3667c02ca4013602634d3d
+Author: Adam Jackson <ajax@redhat.com>
+Date: Fri Feb 15 13:49:12 2008 -0500
+
+ Trivial SELinux awareness. Enable with --enable-selinux.
+
+ Avoids AVC warnings when allocating executable memory by first checking
+ if the current process has permission to do so.
+
+commit 71071b7a9e8e9cdd3ef9648e70bde04507516765
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Feb 15 10:36:48 2008 -0800
+
+ Cell: Add missing back-slash in linux-cell config file
+
+commit eb3f7aa6f8615a2788714e1535d87b4814ebdda3
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Feb 15 10:33:12 2008 -0800
+
+ Cell: Add INCLUDE_DIRS to SPU_CFLAGS to fix build.
+
+commit b08d3fa249c830d274dca362b8f824b75fe26945
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Feb 15 10:00:31 2008 -0800
+
+ Make this file build on non-SSE builds (e.g., Cell)
+
+commit 397b81bd1c7984b1667af7ef954e053263a7a661
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Feb 15 09:43:13 2008 -0800
+
+ Move cell_vertex_fetch.c for recent code reorg.
+
+commit 55e64b63adfca3cba5847601b1a68e885da725a4
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Feb 14 18:30:48 2008 -0800
+
+ Initial version of code gen for attribute fetch
+
+commit 2cc0c3b99703bb10e0b320001183acb728e5488e
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Feb 14 18:29:51 2008 -0800
+
+ Correct the convert to and from float instructions
+
+commit bf4a0fafc86bba8dc868cf30244a237e33645164
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Fri Feb 15 17:26:06 2008 +0100
+
+ fix bug with generated fragment programs if vertex shader is active
+
+ When generating a fragment program from fixed function, checking
+ texUnit->_ReallyEnabled is not sufficient, need texUnit->Enabled too
+ since the former also represents texture enables from an active vertex
+ shader.
+
+commit 6e3e5ba3bb25183efafcf78d6794fc50236c2835
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sat Feb 16 02:42:06 2008 +1100
+
+ nv40: over-zealous s/
+
+commit e82eabaf5e6cb91984476a991ec24e8105989dc4
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sat Feb 16 02:30:56 2008 +1100
+
+ nv40: fix non-debug builds + start on obeying portability guidelines.
+
+commit c179bc990108a8ea691ceab03fd68a12396ab538
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Feb 15 13:39:24 2008 +0000
+
+ tgsi: pass through failure to sse-codegenerate for fragment programs too.
+
+ In particular, will fallback to interpreted execution for shaders with
+ TEX instructions.
+
+commit b29d8d27292c2ad956d3f0a307603f00ee01af28
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Feb 15 13:37:01 2008 +0000
+
+ draw: subclass vertex shaders according to execution method
+
+ Create new files for shaders compiled/executed with llvm, sse, exec
+ respectively
+
+commit e822e09b89407d6cb8cd4a79e1c5c1e0955caf64
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Feb 15 13:35:46 2008 +0000
+
+ softpipe: rename some functions to disambiguate
+
+commit 30d0bacf7aecfb6013ddd665d7385209899eeebd
+Merge: 6ac2c1c 66f22aa
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Feb 15 11:18:04 2008 +0000
+
+ Merge commit 'origin/gallium-0.1' into gallium-0.1
+
+commit 6ac2c1cc0cd1253ba2014d459010032127f185ec
+Merge: c04a7f8 6d3831b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Feb 15 11:15:47 2008 +0000
+
+ Merge commit 'origin/gallium-0.1' into gallium-0.1
+
+ Conflicts:
+
+ src/gallium/drivers/softpipe/sp_quad_fs.c
+ src/gallium/drivers/softpipe/sp_state.h
+ src/gallium/drivers/softpipe/sp_state_fs.c
+
+commit 66f22aa3bf7fa546e946b45156aa578e202982c9
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Feb 15 20:11:40 2008 +0900
+
+ Code reorganization: s/aux/auxiliary/ -- update build.
+
+commit 92fcbf6e7bc622dcace226bb70ff6d5cdbdbaecb
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Feb 15 20:07:18 2008 +0900
+
+ Code reorganization: s/aux/auxiliary/.
+
+ "aux" is a reserved name on Windows (X_X)
+
+commit c04a7f8929d674971a472ffa4d3a31200c22aa5a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Feb 15 09:31:22 2008 +0000
+
+ gallium: reorganize fragment shader execution, unbreak sse
+
+ This is probably going to get further reworked in the near future.
+
+ Right now there's a new interface wrapped around each shader execution
+ mode - exec, sse2, llvm. The llvm code was disabled already and has
+ just been moved as-is to a new file, whereas the sse2 and exec code is
+ actually enabled.
+
+ The way the interfaces has turned out suggests to me that the correct
+ approach is to actually have each shader include a pointer to a quad stage
+ which will do a better job of encapsulating the execution environment than
+ what I have here -- that's a second step however.
+
+commit fa9c160389ffc6d7a20773b77c937193f30339d8
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Feb 15 08:56:04 2008 +0000
+
+ tgsi: disable dummy sse2 texture code
+
+commit 6d3831b11d9f5aaba61cc2fb8ade61437ad7c335
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Feb 15 17:52:14 2008 +0900
+
+ Code reorganization: placeholder for state-trackers.
+
+ This is meant for temporarily holding state-trackers,
+ until they eventually find their way out of gallium tree.
+
+commit 6acd63a4980951727939c0dd545a0324965b3834
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Feb 15 17:50:12 2008 +0900
+
+ Code reorganization: update build.
+
+ Update the Makefiles and includes for the new paths.
+
+ Note that there hasn't been no separation of the Makefiles yet, and make is
+ jumping all over the place. That will be taken care shortly. But for now, make
+ should work. It was tested with linux and linux-dri. Linux-cell and linux-llvm
+ might require some minor tweaks.
+
+commit b642730be93149baa7556e5791393168ab396175
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Feb 15 17:35:24 2008 +0900
+
+ Code reorganization: move files into their places.
+
+ This is in a separate commit to ensure renames are properly preserved.
+
+commit 83068115e2104b1880431ada96fa37e632149a86
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Fri Feb 15 16:13:11 2008 +0800
+
+ i965: don't swizzle fogcoord if FogOption is FOG_NONE.
+ fix #10788 issue on 965.
+
+commit 7eef52e975e852207ee840c74cd822c8f8c90a01
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Fri Feb 15 15:20:45 2008 +0800
+
+ i915: set fogcoord to (f,0,0,1). fix #10788 issue on 915.
+
+commit 4593be34b2a6e494f0e476c8aa8e1d2633fffd47
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Fri Feb 15 00:36:18 2008 -0500
+
+ vastly simplify indexing
+
+commit cf51d5c4210d3301c96947e6e80e71c252bc04d1
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu Feb 14 23:50:39 2008 -0500
+
+ redo indirection
+
+ make all load's respect indirection
+
+commit f70cc89dbc8c0f3e58d6cf8eca92e2df1677c86e
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu Feb 14 22:42:57 2008 -0500
+
+ redo the way immediates are handled
+ implement madd
+ start implementing arl
+
+commit ae3375987fe9968f822442a0ce49b97f5f0a4070
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu Feb 14 03:08:48 2008 -0500
+
+ rename 'argument' to 'load' because that's what it does
+
+commit d0364584bea6c57bb3ac8d616e677fb52b97ea98
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Feb 13 22:53:00 2008 -0500
+
+ implement swizzling on writes
+
+commit 13d9e616f6ee253ecf99dbb67572c87b5dc9270f
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Fri Feb 15 01:11:15 2008 -0500
+
+ a call was missed during the last rename
+
+commit 0a653bef05fb3627fdd1857bfa8c3a1ebe08a4b7
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Fri Feb 15 04:23:46 2008 +0100
+
+ nouveau: more nv30 fixes, still doesn't work as well as before.
+
+commit 6d48779c7e5c9002d1bec4b1266ca05a474218ef
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Thu Feb 14 22:12:51 2008 -0500
+
+ Add TTM buffer object based texture from pixmap implementation.
+
+ Currently only implemented for intel hw.
+
+commit 5961ed5fbc6c76476ff8f76d21a7113673563068
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Thu Feb 14 22:05:55 2008 -0500
+
+ Add GLXPixmap version of glxgears to show case new GLX Pixmap functionality.
+
+commit 01fccea190cf07b41a675e95d82af8ab5228b176
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Fri Feb 15 03:48:32 2008 +0100
+
+ nouveau: nv30 fixes.
+
+commit 86bba420231766a908c6b204b0df036f6a5bf08d
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Feb 15 13:55:55 2008 +1100
+
+ nv30: more interface updates
+
+commit 8d13f55d2c8483148f0a8786a50daf6e890690a3
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Feb 15 13:54:07 2008 +1100
+
+ nv30: fix build
+
+commit 4c239ec2d76a7cb1c4ce0a782a30639bb061705d
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Feb 15 00:14:15 2008 +1100
+
+ nv40: always copy 4 float immediates for now.
+
+commit f33fa253c66241724fe4ae6943b091e0bc0409d6
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Feb 13 19:33:41 2008 +1100
+
+ nv40: attempt at obeying sampler min_lod/max_lod/lod_bias
+
+commit 7bd15fd271ecaad0446632dd4e2190930abac487
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Feb 13 14:27:32 2008 +1100
+
+ nv40: remove use of pt->first_level
+
+commit 67a483909f8999de1e0c40229b94f7dabab7403b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 12 19:14:58 2008 -0700
+
+ gallium: initial code for wide/AA line drawing
+
+commit 4ac85794b181fdc44f1d9727926c89c084ebb769
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 12 17:44:57 2008 -0700
+
+ gallium: fix/finish glReadPixels(GL_DEPTH_COMPONENT).
+
+ This fixes demos/reflect ('d' key) and tests/zreaddraw.c
+
+commit b487e4b4fb3d9304feedf910a2f137703a0e260b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 12 17:07:27 2008 -0700
+
+ gallium: clamp min_lod so it's never negative
+
+commit 2ef9df660c0ee06aa0ea13663d0706cc03fecbb7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 12 16:56:18 2008 -0700
+
+ Fix broken test.
+
+ As-is, if the texture was too large for the target, an assertion would fail.
+ Now check proxy texture first and if it works, then test non-proxy target.
+
+commit dee8e268f77d31e78fd76005d529ea3b61e41209
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 12 16:38:56 2008 -0700
+
+ gallium: remove dead code
+
+commit c0a22da1570b104fb6d2ee5e620906b01d194165
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 12 16:37:49 2008 -0700
+
+ gallium: added null ptr check
+
+commit bbdbdaddb0b476ec347c100e20469b0c52c5d525
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 12 16:10:11 2008 -0700
+
+ gallium: rename st_fragment_program's fs field to cso to match st_vertex_program
+
+commit aa31fe3b54592b1c017e0389de990040f2ad18f4
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 12 16:06:51 2008 -0700
+
+ gallium: move gen-mipmap global/static vars into st_context
+
+ This fixes potential problems with multi-context programs.
+
+commit 7057a031f196f677366d0d397951aa87932ac887
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 12 15:53:37 2008 -0700
+
+ Set Min/MaxLod with glTexParameterf, not glTexParameteri
+
+commit 5b80529b6081bcff42ec20a096506c441729d39c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 11 09:46:10 2008 -0700
+
+ press 0,1,2,etc keys for specific bias values
+
+commit 7eb2cd3427940c914d2bbc0c1e901b5c81ff50d5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 12 14:59:07 2008 -0700
+
+ tweak incr/decrements amounts for keyboard options
+
+commit 7d99bac7d6e905b8851216f7d74a583e0f087e1b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 12 14:55:51 2008 -0700
+
+ gallium: remove unused first_level param from st_texture_create()
+
+commit 09e23e077b2bc3dc9ec0ecd97e1043ee7f32f2bb
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 12 14:53:25 2008 -0700
+
+ gallium: clean-up, simplification of mipmapped textures
+
+ Remove pipe_texture->first_level (always implicitly zero). This means there's
+ never any unused mipmap levels at the top.
+ In the state tracker, we no longer re-layout mipmapped textures if the
+ MinLod/MaxLod texture parameters change. It's up to the driver to obey the
+ pipe_sampler->min/max_lod clamps.
+
+commit 5d1af60edb1dbdf69fbf08b93fe0781f33f075dd
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Feb 12 15:13:37 2008 +1100
+
+ nv40: fix inline u08/u16 indices
+
+commit 3812bba8391fbf6c6c32a778ce0e1081825d5c52
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 11 10:59:40 2008 -0700
+
+ gallium: take pitch/stride into account in mipmap generation
+
+commit 48c4a1ed12d30932c5a9d09424213a830efe2ef9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 11 09:50:21 2008 -0700
+
+ gallium: comments about mipmap gen
+
+commit a705e157f2d14a7fcc81b292fcca9dab4f38c9b2
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 11 09:43:30 2008 -0700
+
+ code refactoring, new next_mipmap_level_size() function
+
+commit 995924d566e3a5c06ee4728b846c18de39574966
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 11 09:42:02 2008 -0700
+
+ gallium: implement software fallback for mipmap generation
+
+ This is used when we can't render to the surface type of the texture (such
+ as luminance/alpha).
+
+commit 59f0ce86b8696c6dadfaab3099ed2193b411e8d0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 11 09:38:36 2008 -0700
+
+ gallium: strip borders from textures passed to st_TexImage.
+
+ Manipulate the unpack params to skip the border. Gallium drivers won't support
+ texture borders.
+
+commit ba499584d624687e91c6436f8ea539ae77173cd4
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 11 09:35:28 2008 -0700
+
+ gallium: use _mesa_tex_target_to_face()
+
+commit 939aa5d3bdc4728e6b848c0bbf150f8e644d5e1b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 11 09:33:28 2008 -0700
+
+ added _mesa_tex_target_to_face()
+
+commit 23e6d1aebc4c667a24243c89ffa836bc1fc74252
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 11 08:56:18 2008 -0700
+
+ gallium: update comment about buffer map flags
+
+commit 1c7d7da30c9c99f663b9c29636e2854e0bf6af4e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 11 08:18:43 2008 -0700
+
+ gallium: fix fragment/vertex typo
+
+commit b81ef1c429bbd34536f30c1522f1915996476078
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 8 16:56:21 2008 -0700
+
+ refactor code, export _mesa_generate_mipmap_level()
+
+commit a217d0c7d0d52871dbf4196f83fecefa87ef8a24
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 8 16:46:12 2008 -0700
+
+ move _mesa_format_to_type_and_comps() to texformat.c
+
+commit 708a022959104303be554b7c0144dd75fe8d7b81
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 8 16:42:50 2008 -0700
+
+ reorder cases in do_row()
+
+commit 4bf4f6e029b85d9eb90f5649fc5635cf274e1fe1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 8 16:40:39 2008 -0700
+
+ re-indent do_row()
+
+commit 9b3b230bf6b5833df65d706b68e887ae3bdcf950
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 8 16:38:28 2008 -0700
+
+ checkpoint- consolidation in do_row()
+
+commit f554db1893749043fe5b2906f7075588be178884
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 8 16:35:44 2008 -0700
+
+ checkpoint- remove dependencies on gl_texture_format to make code re-usable by state tracker
+
+commit a8637fb991e0b897a3574e0dc7d0ce15d7cbe8bc
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Feb 11 10:47:28 2008 -0500
+
+ remove seperate llvm vs entry points
+
+ they're not necessary anymore. we use the same paths
+ as sse and tgsi code
+
+commit 74295558492060694910892d843e89708272a271
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Feb 11 09:43:59 2008 -0500
+
+ start genering soa type code in llvm paths
+
+commit 6f04f0f8aa652595d7c53bda5eeb304145fd02f2
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Feb 6 06:12:34 2008 -0500
+
+ disable llvm for fragment shaders for now
+
+commit 8f15140943a65e3e1488c8b43b2dffb1cd0a299c
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Tue Feb 5 03:09:24 2008 -0500
+
+ rewrite the way cpu engine is handled
+
+commit 716206c190b1b1408c09807671d28dcc8906f855
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Feb 4 10:07:02 2008 -0500
+
+ rewrite the way we handle ir in llvm code
+
+ introduce intermediate step gallivm_ir before compiling it
+ down to the final llvm ir.
+
+commit 474f1a1d56fbb5472dd9bbf5828c413ae7e629dd
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Fri Jan 25 06:36:35 2008 -0500
+
+ add a stub of a lowering pass
+
+commit ce358b879c1823ab4fa04f56e208d679792667cc
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Feb 10 15:19:18 2008 +1100
+
+ nouveau: memory leak
+
+commit ae78e6b549c8c67c0997f79bf1fdfac7929df92a
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Feb 10 15:16:50 2008 +1100
+
+ nv40: prep for multiple pipe contexts on a single hw channel
+
+commit fc38b21d2a27793f9473d0bb7f871d6a694e6923
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sat Feb 9 16:25:29 2008 +1100
+
+ nouveau: interface updates
+
+commit 6aad1d9bbc2dd77b600c60e471da3f6e392c09ab
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sat Feb 9 14:08:54 2008 +1100
+
+ nv40: delay all state emit until before draw
+
+commit fc65fb54eec6562b158e38f9fc426b49174ba912
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 8 14:56:38 2008 -0700
+
+ gallium: include st_cb_drawpixels.h
+
+commit fa0a651a3e849908a020b40f723ed347b2054dbf
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 8 14:55:33 2008 -0700
+
+ fix comment typos
+
+commit 44bb16c4d45584384f6fbbcc7207016421200891
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 8 14:54:18 2008 -0700
+
+ gallium: initial implemenation of auto mipmap generation in state tracker
+
+ Use hardware rendering to compute/render mipmap levels.
+ The fallback path (which will be used for non-renderable texture formats)
+ isn't working yet.
+
+commit d68ea8114abdf128907618e86c0077ad719a9920
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 8 14:51:32 2008 -0700
+
+ gallium: added inClipCoords param to st_draw_vertices() to indicate coord system of vertices
+
+ Also, export st_make_passthrough_vertex_shader() from st_cb_drawpixels.c
+
+commit 184054fea12e4301c1ccc4cbe13594fe84f0ed78
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 8 14:46:47 2008 -0700
+
+ gallium: added draw_flush() call in softpipe_bind_sampler_state()
+
+commit 76dc41765f97b7550d691069fb53e699d5b07d95
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 8 14:45:58 2008 -0700
+
+ Remove unused texunit parameter to ctx->Driver.GenerateMipmap()
+
+commit e770d6adeb710fcd16ea6af9764121b8933315c0
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Fri Feb 8 18:47:25 2008 +0100
+
+ intel_winsys: remove leftover code
+
+commit 1e2f5fb05a3f6720a1e7aa02e7ce12304991c6c7
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Fri Feb 8 18:25:49 2008 +0100
+
+ failover: several fixes to failover pipe module
+
+commit 99c3c2d038074209686559c42d7314fcaaf3953a
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Feb 7 19:44:42 2008 +0000
+
+ tgsi: Fall back to interpreter instead of assert(0) on unimplemented SSE code.
+
+commit f41a4ee11ab3cbed8a4fd34866ed5771b8169ab7
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Feb 7 19:43:34 2008 +0000
+
+ pipebuffer: Fix reversed assertion.
+
+commit 87c8a1ba36b5deb9a0009a45a0b7a3a345c16126
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Feb 7 19:59:17 2008 +0900
+
+ gallium: Conditionally use posix libraries/includes.
+
+commit 1d05c41c5b98df9f2f24645b141365f211dbddb6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Feb 6 09:48:56 2008 -0700
+
+ Cell: silence unused var warnings
+
+commit 0af89a60b436efe74d9ac381516776438861fe52
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Feb 6 09:48:37 2008 -0700
+
+ gallium: #include p_debug.h since we use assert
+
+commit 8ce9d29df9a8b0a43c60d946c85e2c871e12e911
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Feb 6 09:35:33 2008 -0700
+
+ Cell: use mem_dup()
+
+commit 2a3b31c1c4e73529c93476161973dae13b31aee5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Feb 6 09:29:00 2008 -0700
+
+ gallium: use mem_dup()
+
+commit 67155e8edff96f0a6e85580b0753041e67d3f99d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Feb 6 09:28:20 2008 -0700
+
+ gallium: added mem_dup()
+
+commit 64ca0678eeeb39831fcfb309ac48561b1981d360
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Feb 6 09:24:30 2008 -0700
+
+ gallium: change pipe->texture_create() to operate like the CSO functions
+
+ Now, pass in a template object and return a new object.
+
+commit 20f16a6ae44f55c2efa03a2c9deb07b66fe1b0e0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Feb 6 08:44:19 2008 -0700
+
+ clean-ups in guess_and_alloc_texture()
+
+commit 30c9e12f8d20a950b39577ea2b4a2e7a850dfe10
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 5 18:15:39 2008 -0700
+
+ plug in ctx->Driver.GenerateMipmap function
+
+commit 08ffa00d15c4871a22f0670a8aacd7a3995a6769
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 5 18:15:03 2008 -0700
+
+ Added ctx->Driver.GenerateMipmap() driver hook
+
+commit 20aa31a2447a4bda378bf3d2d78c078d748b8271
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 5 18:13:28 2008 -0700
+
+ clean-ups
+
+commit 1ad145a950827e67eee4c5892cea8be9a9cf0dc7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 5 18:01:18 2008 -0700
+
+ added comment
+
+commit e232b3ffc18d5b89f9472db6b96499d8a8907b63
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 5 17:55:16 2008 -0700
+
+ comments, clean-ups, consts
+
+commit 35caa43e68a20b39574a740e420bbca7be3b7649
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 5 17:46:31 2008 -0700
+
+ clean-up
+
+commit 61e59234d072ce78770047f9f08e0bb92e2fb1c5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 5 16:32:15 2008 -0700
+
+ gallium: add bitmap/drawpixels texcoord bias support
+
+ The state tracker will call pipe->get_paramf(PIPE_CAP_BITMAP_TEXCOORD_BIAS)
+ to get a bias factor for adjusting the texcoords used in bitmap/drawpixels.
+ This allows us to compensate for small differences in rasterization from
+ one device to another.
+
+commit bf3101afdc5d315f1fb42eb74ec1b8b0d4101aae
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Feb 7 01:07:49 2008 +0900
+
+ gallium: Bring latest fixes.
+
+commit 560416b263d10dae5d235b4cdaf44699181da74a
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Feb 6 14:37:49 2008 +0900
+
+ gallium: Use p_debug.h instead of non-portable stdio.h/assert.h functions.
+
+commit 7ff0b6782a8fc24c4d8df2535fa070b10c416dfa
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Feb 6 14:37:24 2008 +0900
+
+ gallium: Add forgotten return type.
+
+commit d432583d69fbd68bef79f1bf2ab0976ea67ed0bc
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Feb 6 14:36:50 2008 +0900
+
+ gallium: Update scons instructions. Propagate user environment.
+
+commit 25c29080f772ea175b0582031d483ca79f70f8ac
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Feb 6 13:27:49 2008 +0900
+
+ gallium: Cross-platform debugging helpers.
+
+commit 152ea0b42484c4173eb5eb4d8ecd6a79207b2310
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Feb 4 17:02:08 2008 +0900
+
+ gallium: Portability guidelines.
+
+commit d154f6a24b7c7265306d43fcb3b43dc759ad9bd2
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 5 15:12:18 2008 -0700
+
+ Cell: remove accidentally added OPT_FLAGS lines
+
+commit 14f1f2523b0186fe65f13b1981a782768d4f8376
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 5 15:07:36 2008 -0700
+
+ Cell: SIMD-ize tri_linear_coeff(), use vector float for vertex attributes in struct vertex_header
+
+commit df2ab198eb49333f01c8f10bea2033bea732d755
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 5 14:23:34 2008 -0700
+
+ Cell: re-enable inlined vertex buffers
+
+ Vertex data must be on a 16-byte address/offset so SIMD operations will work
+ properly in the SPU code.
+
+commit 2ec5ae5e504d8bf82cdecae8569dc12b8d62c055
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 5 14:21:48 2008 -0700
+
+ Cell: remove dummy fields, update/add some comments
+
+commit 48aad039398df0024126ff5892a62aca77b65547
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 5 14:21:01 2008 -0700
+
+ Cell: added cell_batch_alloc_aligned()
+
+commit ac07631d85d0f1d30b1feba23f0f2f2c6549466d
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Feb 5 09:43:52 2008 -0800
+
+ Use _transpose_matrix4x4 from Cell SDK instead of my own version
+
+commit 76702d5fcd1d8341a099adfabef94a0f847ca06f
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Feb 4 16:03:55 2008 -0800
+
+ Add some debug messages
+
+commit f33c8119abbe5980b793961298978dddc5b0563f
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Feb 1 17:14:09 2008 -0800
+
+ More semi-trivial vectorization in the shader VM
+
+commit 40147bd83556a41916892892193cc72d7977927a
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Feb 1 17:12:20 2008 -0800
+
+ Vectorize vertex puller
+
+commit d8642b830911825c30531a2e422fcd8d2d487f74
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Feb 1 14:58:38 2008 -0800
+
+ Vectorize all micro ops
+
+ Fold single instruction micro ops inline. Remove unused micro ops.
+
+commit e9147bfab40d26fb8f8c0794e9a3fdcf14ca57dd
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Feb 6 00:26:49 2008 +1100
+
+ nv40: cleanup state handling a bit
+
+commit 7a1b2f4078789aedf16158c41682c9d28a531d20
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Tue Feb 5 07:50:56 2008 -0700
+
+ gallium: Use align_free to free aligned memory.
+
+commit 535abe4037920960b37a23392142cc556d4cbcc4
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 4 18:05:37 2008 -0700
+
+ Cell: fix some alignment issues by aligning commands to 8-byte boundaries
+
+ Contributed by Ian Romanick.
+ Also, temporarily disable inlined vertex buffers. They need to be 16-byte
+ aligned...
+
+commit 6a3f1ea91d3d8e4c47144cda422db9db761be94d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 4 18:03:05 2008 -0700
+
+ Cell: don't use VEC_LITERAL macro, doesn't work w/ SDK 3.0
+
+commit f603652c30c40f7f7948fbdc79a3479016d8073f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 4 18:02:21 2008 -0700
+
+ Cell: don't use VEC_LITERAL macro, doesn't work w/ SDK 3.0
+
+commit 4540e01978280389ed219aa0a4b4f39db280961f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 4 16:48:36 2008 -0700
+
+ Cell: move float4 typedef (temporary datatype)
+
+commit d17e3362592c58f0d5d47745fd97b3b31d1a684a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 4 16:48:00 2008 -0700
+
+ Cell: fix small sampling error in sample_texture_bilinear()
+
+commit 790eec9666ae6cc37ce4ba54cceff97e9eeb5ce3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 4 16:06:51 2008 -0700
+
+ Cell: texture sampler functions always return vector float now
+
+ Texture colors look the same now, regardless of X display/pixel format
+
+commit 71e6cd0b66be784aa3feb86101b7a62d17735f56
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 4 16:05:13 2008 -0700
+
+ Cell: added spu_unpack_A8R8G8B8()
+
+commit 2f8268aa02949828b8b14c252e2cc4e8f61c5f4e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 4 16:04:50 2008 -0700
+
+ Cell: fix typo
+
+commit 21461014b2446208fefae0aabe8232c66d5b3057
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 4 15:17:50 2008 -0700
+
+ Cell: some basic blending code
+
+commit b4f5575add6ad4c8b0f960e10641f361dad74606
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 4 15:10:35 2008 -0700
+
+ Cell: replace float 4 with vector float in eval_coeff()
+
+commit ab9b705c67d0d8c40949ac7e697a8b4ede666c50
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 4 15:06:10 2008 -0700
+
+ Cell: emit blend state to SPUs
+
+commit 4080fef4732078e8861eb0d26d1f6e43aa27dd9e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 4 13:23:07 2008 -0700
+
+ Cell: choose bilinear vs. nearest filtering according to sampler state
+
+commit 1bd182889b3dbb2f4c75d18184e7c76a5bfca248
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 4 13:16:10 2008 -0700
+
+ Cell: improved bilinear filtering
+
+ avoid calling get_tex_tile() if all texels are in same tile
+
+commit e3ff185eae2f49f4dac92f7e89558ed175251c25
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 4 12:50:42 2008 -0700
+
+ Cell: implement basic bilinear texture sampler
+
+commit 382651a4fafbea0c24e993933cb08a7ba19abcb7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 4 12:50:16 2008 -0700
+
+ Cell: added spu_unpack_color(), spu_pack_R8G8B8A8()
+
+commit 09edd2e29e023b326ba3f6fff671dd1db3ab1eea
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 4 11:02:47 2008 -0700
+
+ Cell: SIMD-ize more of texture sampling
+
+commit f94e0396ed023c21087d1ea1a849b1f8124f9ffb
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 4 09:54:21 2008 -0700
+
+ Cell: checkpoint: start to SIMD-ize texture sampling
+
+commit d83dedc937641de247bebbefad649719f619cdeb
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 4 08:53:18 2008 -0700
+
+ Cell: move tile clear code to flush_spans()
+
+commit a0c35df4a0d1619b2d8593d35456ed50be3b03c1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 4 08:46:44 2008 -0700
+
+ Cell: clamp txmax, tymax in tile_bounding_box()
+
+ Also, added some debug printfs
+
+commit 4605b7df0a98025999169254f08e532027a8a46a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 4 08:45:33 2008 -0700
+
+ Cell: insert some draw_flush() calls
+
+commit b111d266a0edf334e8c315129482005a224cb899
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Feb 4 01:37:07 2008 +1100
+
+ nv40: the 0x4497 version of curie doesn't support index buffers.
+
+commit 705022f98c32c44b94411ea13dfe4cbc899f5a77
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Feb 3 12:08:31 2008 +1100
+
+ nouveau: avoid relocations where possible.
+
+ Potential relocations are emitted as NOPs where they're needed. In the
+ event a buffer moves, the pushbuf code will emit the relevant state
+ changes into the NOPs.
+
+ Just a start, more work is needed to get this looking how I want it to.
+
+commit 8bbedc3f4b7b281a60286ba573077a6e3e659f63
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sat Feb 2 14:21:06 2008 +1100
+
+ nouveau: implement a bo_set_status()
+
+commit 6522a0531fbb6b6d607969ee6b2c2a85cce8ad2b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 1 16:54:46 2008 -0700
+
+ Cell: comment about emit_quad() mask
+
+commit c90a2dcc294cba738fd65089e1b6ffe1c9b3853e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 1 16:42:09 2008 -0700
+
+ Cell: move some tile get/clear code
+
+ Also, we weren't marking the ztile as dirty after ztesting, fixes gears glitches.
+
+commit ae620d5c36c2742cb4a7429a461e02bd6dbef201
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 1 16:25:42 2008 -0700
+
+ Cell: use global color_shuffle to remove a switch stmnt
+
+commit de5d995201d617aca729efbc2821efde4b05685f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 1 15:45:02 2008 -0700
+
+ Cell: New color packing functions (A8R8G8B8 and B8G8R8A8)
+
+commit 245c6a4cd5753ce4ef0e5bfa739e5e6ac4e9ae4e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 1 15:33:53 2008 -0700
+
+ Cell: rename/move global vars
+
+ Put tile-related globals into spu_global struct.
+ Rename c/ztile fields to be more consistant.
+
+commit 4fa69471c40832967d106a39d6cca9b872609fbd
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 1 15:24:00 2008 -0700
+
+ Cell: deprecate some use of struct cell_command - it should go away completely
+
+ Also, remove ALIGN16_ATTRIB from structs that no longer need it.
+
+commit b25f1244ab8b082c01e45b1068c233f4c2b21fb3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 1 15:20:07 2008 -0700
+
+ Cell: remove commands from top-level while loop which should only appear in batch buffers
+
+commit 1b6b5db4e2e891c62cfb868f2c6ae7f27b29709d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 1 14:02:22 2008 -0700
+
+ Cell: move ztest before color interp/packing
+
+commit a3d5d7067e9928d64fef08893c0a0368c8d83e45
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 1 13:49:51 2008 -0700
+
+ Cell: rename fields of the tile_t union
+
+commit 7a0099b9f3f4cbdb0893a3f11da84326dcf86179
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 1 13:45:58 2008 -0700
+
+ Cell: implement Z16 and Z32 testing with SIMD instructions.
+
+commit 4f7dcb0e04cbdb95684bf415133c0e7861839f96
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 1 09:27:57 2008 -0700
+
+ Cell: store current tile status in cur_tile_status_c/z, add TILE_STATUS_GETTING
+
+commit 0c0c62dd2a7d8d5f8bbd91bc7443f27abb059ad4
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Jan 31 17:22:07 2008 -0800
+
+ Fix using "ccache ppu-gcc" for CC and fix parallel builds
+
+ CC wasn't quoted in a couple places in src/mesa/Makefile. Also, the
+ OSMesa link was missing a dependency.
+
+commit 41d1179fa68fd8987cd09f26f32416963d235744
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 31 17:05:43 2008 -0700
+
+ fix typo
+
+commit 9aa37ad5401959fb43d39724d6efb5088087e56e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 31 14:35:25 2008 -0700
+
+ gallium: fix problem in which texcoords and varying vars got mapped to the same slot
+
+ This fixes the glsl/bump.c and glsl/texdemo1.c programs
+
+commit a4c7c8a6ee15d793d08e448f9ca8e2100bbe748c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 31 14:05:04 2008 -0700
+
+ Fix problem in mapping vertex program outputs (found with "spring" game engine)
+
+ If the vertex program writes to an output that's not consumed by the
+ fragment program, map the vp output to an unused slot.
+
+commit 26fff001e786d88041d9db4c35949b50849f6a59
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 31 13:37:01 2008 -0700
+
+ gallium: comments about fragment Z computation
+
+commit 5ee218a02186188f5819e5a4e1e15296bbd57322
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 31 13:36:00 2008 -0700
+
+ gallium: Fix z clear bug when TILE_CLEAR_OPTIMIZATION==0
+
+commit 6c59de9a7bcc025ba070b854d79bf4fb8dcccabf
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 31 13:32:29 2008 -0700
+
+ gallium: fix get/put typo regression
+
+ This came from commit f3aa4de034b0d791ce2e38e8aeb3b3abdb4e3b50 on 1/22/08.
+ Fixes strange Z buffer glitches seen in progs/glsl/texdemo1.c
+
+commit 7978c749fb2a267e9575c1280557da4cd33e2380
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 31 08:21:38 2008 -0700
+
+ Cell: SIMD-ize const_coeff()
+
+commit 4d3f3f749f0675c07de2809a9c0dc843f29e9873
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 31 08:12:47 2008 -0700
+
+ Cell: set GALLIUM_CELL_VS env var to enable SPU-based vertex transformation
+
+commit c7403b18476c9a8f767fa7d33cb1efd643b30dd6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jan 31 11:57:15 2008 +0000
+
+ tgsi: Use ESI instead of EBX as temp reg on non-win32
+
+commit 526bed2b956d88e1b371b2e43402f8a160113497
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Jan 31 14:26:39 2008 +0900
+
+ gallium: Portability fixes.
+
+commit e11bfc990708326faf3db3db12f7941a1a3c6e0f
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Jan 31 14:21:49 2008 +0900
+
+ gallium: Make the build output dir depend on the configuration.
+
+ The build output dirs mimics the old config names:
+
+ build/linux
+ build/linux-dri
+ build/linux-dri-x86
+ build/linux-dri-x86-debug
+ ...
+
+commit c285e06e93d01b9253dfc2fb1ab42480216b72d4
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Jan 31 13:14:35 2008 +0900
+
+ gallium: Add SCons as alternative build system for Gallium.
+
+commit 2029ee48b1b5856ef3c9b4307f018bc6bd61ea6e
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Jan 30 20:14:14 2008 -0800
+
+ I don't know why using uint64_t for "base" doesn't work. Ugh.
+
+commit bcaf0dd8d23b3e8562078b3a3e07ef99ca940881
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Jan 30 20:12:00 2008 -0800
+
+ Use SPUs for vertex shader processing
+
+commit 87cc80297c62d7f8f2f22415e5099e3fbb7d229b
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Jan 30 20:10:45 2008 -0800
+
+ Add driver_private field for drivers that hook shader_queue_flush.
+
+commit 524f99a4ab1f4dde0cab07ffd9e72a4d49c1e79d
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Jan 30 19:40:24 2008 -0800
+
+ Numerous small fixed to PPU-SPU vertex shader protocol
+
+commit 42db5715988a23743084742bc52baaa568be6091
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Jan 30 19:34:22 2008 -0800
+
+ cell_array_info should not be 16-byte aligned
+
+ Forcing cell_array_info to be 16-byte aligned makes it more difficult
+ to stuff that state in batch commands.
+
+commit 738a4292b18e5513935af3902b4ed9d1997f90d1
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Jan 30 19:33:30 2008 -0800
+
+ Correctly read / write vertex header from / to main memory
+
+commit 6996b6c0559b32926188efe7b23574a1076b75ec
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Jan 30 19:30:15 2008 -0800
+
+ Handle CELL_CMD_VS_EXECUTE *only* outside batch commands.
+
+commit fea350d91133174254f544de30032049199991bf
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Jan 30 19:25:47 2008 -0800
+
+ Set machine->Processor
+
+ The default value is 0, which is TGSI_PROCESSOR_FRAGMENT...not correct
+ for a vertex shader!
+
+commit dcfe7e1dca656dd897b7b0bdebbed3cee6f9cfd9
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Jan 30 19:24:40 2008 -0800
+
+ Elts are always ints, pass vOut pointers in-line in command
+
+commit bbbd5c166a780d70110d236d40d3babd9d0b6346
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Jan 30 17:28:48 2008 -0800
+
+ Implement micro_pow and micro_sqrt
+
+ Unimplemented micro ops get assertions for now.
+
+commit 805aacfe604eaf9b414336318b8e170dd898123c
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Jan 30 17:26:22 2008 -0800
+
+ Fix size calculation in attribute fetch.
+
+commit ea1d5c43b28f16d5ff3bcc750d46143a35597a9e
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Jan 30 12:59:09 2008 -0800
+
+ Fetch uniforms from main memory.
+
+commit c1ffb57cdf817934470a2115f6bdca148bdae269
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Jan 30 10:46:55 2008 -0800
+
+ Missing amperstand in previous commit. Oops.
+
+commit 7abddcf123f5726ea8b20ffb53100524a5da55d8
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Jan 30 10:43:23 2008 -0800
+
+ Pass ptr to local memory copy instead of main memory to exec_instruction
+
+ This was essentially a cut-and-paste bug when the instruction fetcher
+ was added. Also, the test for TGSI_PROCESSOR_FRAGMENT was moved
+ outside the loop for exec_declaration.
+
+commit d798e7e2689338918218bbde5b8a5d68e3ca8c22
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Jan 29 11:43:04 2008 -0800
+
+ Provide mechanism to hook in custom vertex shader cache flush function
+
+commit fc4620554a3eed2a4032d9f6bd349acfd152682c
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Jan 29 11:28:06 2008 -0800
+
+ Implement vertex fetch / vertex shader output write-back
+
+commit 5028f0fcaca0d3a521f7ec130f4bbea2600bce16
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Jan 29 10:56:53 2008 -0800
+
+ Initial pass at instruction / declaration fetch
+
+commit 98eecdb4868c181476cbe2423adaa327eee4a02e
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Jan 29 10:37:18 2008 -0800
+
+ Initial pass at vertex shader on SPU using TGSI VM
+
+ All of the code is wired in on the SPU side, but it is not called from
+ the PPU yet. Instruction / declaration fetch still needs to be
+ implemented in spu_exec.c.
+
+commit 3e4306c594e0aa42b2dbf31d7437564466fadfcc
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 30 20:40:26 2008 -0700
+
+ Cell: prototype SIMD code for z testing
+
+commit 1af8e381af83ba1344f063a52e9fbf932a77e5f5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 30 15:26:51 2008 -0700
+
+ Cell: start to SIMD-ize triangle attribute interpolation
+
+ Using the spu_add(), etc intrinsics.
+ About a 15% speed-up with some tests.
+
+commit 0b762d65433445282267c2e6d1dc9ba4eb64af7d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 30 12:13:04 2008 -0700
+
+ Cell: fold setup_tri() into tri_draw()
+
+commit ecb0013e2f4157caeb1e60c01ba06d6c8957e609
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 30 12:08:23 2008 -0700
+
+ Cell: make 'setup' a regular var instead of passing around a pointer everywhere
+
+ We'll never have more than one of these objects.
+ Avoiding pointer deref improves performance a bit.
+
+commit ab5e8b33cb615b9267ec4d08173c3c83cfd6df3f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 30 11:56:41 2008 -0700
+
+ Cell: minor code refactoring, movement
+
+commit 69099004e62b8710bc0b360fd2938439b34c0079
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 30 11:56:14 2008 -0700
+
+ Cell: check tile status before wait_on_mask()
+
+commit ae6949659693385be2ccd4290338b58038ed8125
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 30 11:49:51 2008 -0700
+
+ Cell: make wait_on_mask() static/inlined
+
+commit 92d71f073006e05ef68e02dff92ae7ff40cfc470
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 30 11:49:26 2008 -0700
+
+ Cell: move CELL_MAX_SPUS
+
+commit ee41d7afc922083de46cbdc491ee6052f3c4d45b
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Jan 30 16:46:41 2008 +0900
+
+ gallium: Teach draw_vf about draw vertices.
+
+ This reduces the emit overhead, which is significant since we're
+ emiting one vertex at a time.
+
+commit cdb48e20d64b8dedcda2ee7f0636db223efef0fa
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Jan 30 15:24:56 2008 +0900
+
+ gallium: Remove draw_vertex_fetch::lookup.
+
+ It is not being used, and would be dangerous to use given the possibility of constants.
+
+commit fc36399f232942b3ff3975aac9e685d5f1363816
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Tue Jan 29 16:41:10 2008 +0100
+
+ gallium: Fix build on WinXP.
+
+commit a5273f0fac01f5864a1cfcb82d9302dd755375e9
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Jan 30 15:34:02 2008 +1100
+
+ nouveau: 0xdeadc0de
+
+commit 2b47b5b413a6511ed45ce1e44a88822c35b084ee
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jan 29 11:22:57 2008 -0700
+
+ Cell: use _pack_rgba8() from pack_rgba8.h to do float[4]->uint color conversion
+
+ texcyl.c is twice as fast now in non-texture mode
+
+commit b63f994ec7742da53b4c32ff7ee8219bbd72c2ef
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jan 29 15:17:56 2008 +0000
+
+ gallium: weaken assert slightly
+
+commit d7d3c752368a236dd4755b00175d0e13212fac47
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jan 29 12:37:47 2008 +0000
+
+ gallium: streamline various unfilled & stippled paths
+
+commit 88469bf544b62fb0786d88383901914140afa56c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jan 29 12:37:07 2008 +0000
+
+ gallium: don't rely on assert(0) for error handling - may be disabled
+
+commit 2da0724e99785c2bf854fc8a7ba40765b0563088
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jan 29 20:47:30 2008 +0900
+
+ gallium: Emit point size as a constant.
+
+commit c74f4a10f91acc4eca109c1be39fd320639bfa59
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jan 29 20:46:48 2008 +0900
+
+ gallium: Emit constants.
+
+commit 8a88f5e40f75ac52d02c1afbcc7dd612904b4f78
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jan 29 18:01:17 2008 +0900
+
+ gallium: Allow draw_vf usage to be controlled at runtime.
+
+commit 7710b36d28859222f9b0bf03ab3d0cdf79d39c64
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jan 29 11:21:29 2008 +0900
+
+ gallium: Add extern keyword to global.
+
+commit 1c65928d8400a350993687d7039e5e47371ae8b8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 28 18:17:55 2008 -0700
+
+ Cell: add OPT_FLAGS var
+
+commit e308dc4465fb3869a8423ed9608da35b426ef993
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 28 18:17:30 2008 -0700
+
+ Cell: move cmd_render() into new spu_render.c file
+
+commit c474e0d6ed7b654ef750d088df2b26d8215f20ec
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 28 18:09:16 2008 -0700
+
+ Cell: add a few null texture tests
+
+commit 7012dd9b76328b4b1f54404df1948e50f23c1fe3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 28 18:03:45 2008 -0700
+
+ Cell: compute min index referenced in draw command, use it to reduce size of vertex data payload
+
+commit 5f54cfaba16c2ac268472e148f1e788a9d7b2a6a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 28 17:32:23 2008 -0700
+
+ Cell: minor optimization for flat shading
+
+commit 948dc8ad24d554ab23bea97aa3e405c4f6ad47c6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 28 17:23:44 2008 -0700
+
+ Cell: basic texture mapping
+
+ Texture images are tiled in PPU code. SPUs use a texture cache for getting
+ texels from textures.
+ This is very rough code, but demos/texcyl.c works.
+
+commit 2f868411a209d909f3ea8f29a317b7327fe6f88a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 28 17:22:12 2008 -0700
+
+ Cell: initial texture cache/sampling code
+
+commit 7c596b80110da42435f8f0714d6f21b760f11c4f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 28 13:02:11 2008 -0700
+
+ Cell: emit state in cell_clear_surface() if dirty.
+
+ Without this a program that does nothing but glClear() doesn't work. We need
+ the framebuffer state.
+
+commit deaa895fe241cfeab6f390791d462390ff1d1560
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 28 12:46:05 2008 -0700
+
+ Cell: re-enable bounding boxes
+
+ The geometry bounding box is used to restrict rasterization to just those
+ tiles that are relevant.
+ Note another dummy field had to be added to the cell_command_render struct.
+ Apparently, every 4th word in a struct is susceptible to corruption in some
+ circumstances. Might be a compiler bug.
+
+commit d6667171dca5999bef0693963634ecda74c32d5a
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jan 29 09:42:03 2008 +0900
+
+ gallium: Use GALLIUM_ prefix for env vars.
+
+commit d5dd52aea826c4b6a417d102ecdeae8c713e81f6
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jan 29 09:41:21 2008 +0900
+
+ gallium: Use CALLOC for pb_buffer to ensure that all fields of pipe_buffer are initiallized.
+
+commit 5ec70aa03b59c514cba1fe8dae09118250fb15d6
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jan 29 09:34:09 2008 +0900
+
+ gallium: Remove direct dependencies to mesa internals.
+
+ _mesa_exec_free is still being called. More invasive refactoring is necessary to clean it out.
+
+commit eb085014035a55e2be5e582dcc1e0bfcae771ba5
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 28 20:57:58 2008 +0000
+
+ gallium: remove dead vars, code
+
+commit 3c9e26e0fa6d97f50b74745ffad9215f68607fe3
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 28 20:57:16 2008 +0000
+
+ gallium: fix typos in hardwired fetch path
+
+commit 0abef84995acd01d7155f4fc851c9c528a1cfa73
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 28 12:41:47 2008 -0700
+
+ push out far clip plane to 200
+
+commit ab36a9346cb1263fdeac492c0df986ab8cfb38b3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 28 12:35:20 2008 -0700
+
+ Added d/D keys to change viewing distance, 'a' to toggle animation
+
+commit 5b4d14bf1c6363f82660a53ca9505e55696084b0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 28 11:21:25 2008 -0700
+
+ Cell: additional assertions
+
+commit ca85eed771c1fb1c662fb8eea2535601e73c437d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 28 11:20:47 2008 -0700
+
+ Cell: make sure state commands aren't split across batches
+
+commit 1cbe803922e1129d1077bcc1eb0640bf9204641d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 28 10:41:51 2008 -0700
+
+ Cell: remove unneeded flush(), dead code
+
+commit c4ef36dec0aa5b8cd0293a6b12689bb68ad67ac5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 28 10:41:27 2008 -0700
+
+ Cell: clean-up of render path
+
+ Finally removed a number of unneeded flush commands. Vertex buffers are
+ allocated from the general buffer pool, freed by SPUs when done.
+ Still an occasional failed assertion (invalid batch buffer command)...
+
+commit 9abbaacea6f340486a3b2bf68fbd4efa0d15a5d3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 28 10:00:27 2008 -0700
+
+ Cell: checkpoint commit: always inline prim indexes into batch buffer
+
+ Also, explicit release-vertex-buffer command.
+ Lots of debug/stale code still in place...
+
+commit 4f0906a18a0067d7e16c4fc7602dfb280e60f420
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 28 09:57:51 2008 -0700
+
+ Cell: If flushing for swapbuffers, wait for frame completion
+
+commit 87c8f9c5834b7345615257d0faf5200f191e8eca
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 28 09:57:13 2008 -0700
+
+ Cell: additional debug code, misc clean-up
+
+commit 5c7c0675a70b32f159e3a972279535554aa7f4d9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sun Jan 27 12:01:47 2008 -0700
+
+ Cell: generalize the batch buffer code for vertex buffers...
+
+commit 72b671bd3986cc655fbe5df76349bc0989b1c083
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 28 09:23:29 2008 -0700
+
+ gallium: check if surface has defined status in check_clear_depth_with_quad()
+
+ This was part of Keith's patch from Friday.
+
+commit af2ccd4c0c58e6565c2c6c6f9464db2cf4e0baab
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 28 15:50:02 2008 +0000
+
+ gallium: handle flatshading explicitly in clipper stage
+
+ We can do a better job in the clip stage than just relying on the
+ brute-force approach of copying colors to all incoming vertices applied
+ in the flatshade stage.
+
+ At very least, it is only necessary to do this in the clipper when a
+ primitive is actually being clipped.
+
+commit bb37e7f5917dba3f2ad84ecf0b6c95bf58205faf
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 28 12:40:29 2008 +0000
+
+ gallium: add a couple of hardwired vertex fetch functions
+
+commit f7e64c323fe6a646ee60c55ba2552923a7670c53
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 28 11:12:11 2008 +0000
+
+ gallium: only call vertex/prim queue flush when there is something to flush
+
+commit 85d7e7ceeecde86621e3d999c475c1e9d97091f0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 28 10:48:22 2008 +0000
+
+ gallium: explictly cast double to float in vertex fetch
+
+commit 01ab6472cce1a5ff0186eb606ed3077d9008a53f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 28 10:46:52 2008 +0000
+
+ gallium: fill in missing formats for vertex_fetch
+
+commit 25d2ffc6697fcd60edc9596f778d8901083f7755
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 28 10:14:13 2008 +0000
+
+ gallium: remove dead code from draw_vf*
+
+commit 169a74196fdca320cabd5cde33fda17683cc823d
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Jan 28 18:46:21 2008 +0900
+
+ First stab at hooking draw_vbuf & vf.
+
+ Emit disabled for now. Tested with softpipe. Only one vertex at a time for now (slow).
+
+commit a7872d4c41a692a81cc54cb5eaaab04308604bdf
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Jan 28 15:48:51 2008 +0900
+
+ Clone vf module.
+
+commit 19780237ff0e6a89f31ecb9079781568bc2d3fdc
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Thu Feb 14 21:03:12 2008 +0100
+
+ gallium: Fix memory leak.
+
+commit 742c5d3e1ba1455e6aca8454f4b7e146b27fbbe3
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Thu Feb 14 20:48:40 2008 +0100
+
+ gallium: Fix memory leak.
+
+commit 6a7820d31f9b697888ce9f9b193bacc86e646fe1
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Thu Feb 14 17:36:47 2008 +0100
+
+ gallium: Use align_free() to free aligned memories.
+
+commit d3cd39493c1e776c1e21045920744a27de2787f1
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Feb 13 17:51:41 2008 +0100
+
+ gallium: Fix build on Windows.
+
+commit 3f1b712d0a47b440875e58429debd9a145192724
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Thu Feb 7 10:26:08 2008 +0100
+
+ gallium: Use MALLOC().
+
+commit d8ae972fd067a2478d1b0b4a35fec47ac2c814f7
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Feb 12 15:35:18 2008 +0900
+
+ gallium: Fix MSVC compiler warnings.
+
+commit 663f4aaae618a8f031fa1a6b5292ddc57698741c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Feb 14 19:18:09 2008 -0700
+
+ gallium: remove some debug assertions in vertex format validation
+
+ If a fragment shader references an input for which there's no vertex
+ shader output (ex: texcoord3), use vertex output 0 by default.
+ Basically, the attribute's value will be undefined. The shader writer
+ should never rely on undefined fragment shader inputs anyway.
+
+commit 3d81a956b9de709de17a98b93fead4d3307b2b99
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Feb 14 18:58:50 2008 -0700
+
+ gallium: rearrange vertex info/layout validation
+
+ Delay validation until someone really needs the vertex layout (vbuf alloc
+ vertex buffer or point/line/tri setup/rendering).
+ This will allow the vertex size to change depending on whether we're
+ drawing points, lines or triangles.
+
+commit 1b6540b4b17969e9838facf5248fce34c9ff5c34
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Feb 14 18:53:18 2008 -0700
+
+ gallium: include draw_context.h to silence warning
+
+commit d2b14311d9da8d94056968173d6d5d11f1885d3b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Feb 14 18:03:38 2008 -0700
+
+ gallium: minor function renaming
+
+commit 4c1403f667c6047a44ff494364725b3b7da82c68
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Feb 14 18:02:36 2008 -0700
+
+ gallium: new tgsi_transform_shader() function
+
+ Used to apply transformations to TGSI shaders, such as register search and
+ replace.
+
+commit ca2f2c76641a299e31bf3d0e26049ccc3a375caf
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Feb 14 14:54:37 2008 -0700
+
+ gallium: new pgon-mode.c test
+
+ A two-triangle strip is drawn such that the first tri is front-facing and
+ the second tri is back-facing. Use different front/back polygon modes.
+
+commit 5e345a653b0adc59487d786050abd01d4cb8b4ca
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Feb 14 14:48:35 2008 -0700
+
+ gallium: call draw_flush() in softpipe_flush()
+
+ Without this, we might not get any rendering at SwapBuffers time when using the vbuf path.
+
+commit 7a3e59d2363cba6dd2c1edc08d1afffd25b53ea3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Feb 14 14:22:22 2008 -0700
+
+ gallium: fix some "instruction"/"declaration" mix-ups in tgsi_exec_prepare().
+
+commit 59cc1f4e62268cc73567d3e1cccbc5df9d116311
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Feb 14 14:20:51 2008 -0700
+
+ gallium: replace "interpolate" terminology with "eval" to better reflect what's being done.
+
+commit 4f32c532376bc3394f8fce70f95156b49fcc4fec
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Feb 14 14:15:52 2008 -0700
+
+ gallium: changes to polygon mode weren't detected in draw_unfilled stage.
+
+ Need to reset stage->tri = unfilled_first_try in unfilled_flush() so that the
+ front/back state is picked up.
+
+commit b08102a8f3ef558743f5f952c726ba2c28b6e82e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Feb 13 10:25:38 2008 -0700
+
+ gallium: rename draw_free_tmps->draw_free_temp_verts, draw_alloc_tmps->draw_alloc_temp_verts
+
+commit e9c6c31651a0c1884633168adfd3ea6797fbdc60
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Feb 13 08:20:51 2008 -0700
+
+ galllium: comments, minor clean-ups
+
+commit bbd7aabe2bc5743d11c77dd94665045b09791048
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Feb 14 17:42:34 2008 -0800
+
+ More name typeo fixes.
+
+commit 903521a6c031757d63b48129d08ba043d183dbdc
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Fri Feb 15 02:41:34 2008 +0100
+
+ nouveau: oops and make nouveau winsys build by default
+
+commit 583f424d61d8080079a55f3c962f647b795d9337
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Fri Feb 15 02:36:28 2008 +0100
+
+ nouveau: add nv30.
+
+commit e538dc52c13eb9225afd8cb6c1099e97e723a558
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Fri Feb 15 02:25:17 2008 +0100
+
+ nouveau: hook in nv30.
+
+commit e713cb26c9adeff4e35a9b2cac35e7c025ef72b4
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Fri Feb 15 02:23:56 2008 +0100
+
+ nouveau: Update to latest header.
+
+commit 73b3a29b16fe5d798026db4eeabb8d33bb6c2cb0
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sun Feb 10 19:14:02 2008 +0100
+
+ Hook nv30 into the build.
+
+commit d4d9943b0144062e70372329ea46f5b41c6c270e
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Feb 14 17:06:13 2008 -0800
+
+ s/spu_/spe_/g Ugh.
+
+commit 18fd3b757166c1c63284dc08f6dfd9e2061770be
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Feb 14 16:53:05 2008 -0800
+
+ Cell: pass pointers to stored memory values
+
+ Several routines use shuffle patterns that are stored in memory. For
+ code gen, it is difficult to directly access the data segments. The
+ routines have been modified to be passed a pointer to a global table
+ of shuffle patterns.
+
+ This *should* be the last change to this file before switching over to
+ code gen.
+
+commit c5c73c1b605611faf0f06df9b5d08d8984388238
+Author: Kristian Høgsberg <krh@temari.boston.redhat.com>
+Date: Mon Jan 21 17:07:33 2008 -0500
+
+ Hook up i915 driver to new DRI2 infrastructure.
+
+commit 7da5705b090d9c97a9b765d786c5e89afe9d1f25
+Author: Kristian Høgsberg <krh@temari.boston.redhat.com>
+Date: Mon Jan 14 18:31:05 2008 -0500
+
+ Add new DRI2 infrastructure.
+
+commit f1257fd7944c5b62a07cecf0608e63ec7a947706
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Feb 14 11:55:19 2008 -0800
+
+ Cell: Fix unintended breakage from commit 1d62a057bcb3ee4ef6ebedd93f62ed2e0d8061ba
+
+commit 77a148862036bd6bf01f631ff44e455d50bcb8b9
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Feb 14 10:08:11 2008 -0800
+
+ Real-time assembler for Cell SPE.
+
+commit dd07e154d26c2c3ec248b7143eb67b6b4410246a
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Feb 12 11:29:34 2008 -0800
+
+ Fetch routines convert and transpose all 4 vertices at once.
+
+commit 125451b9f024ea5845eb6c1b3056bc1f1995cc55
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Feb 12 11:18:53 2008 -0800
+
+ Remove open-coded fetch functions
+
+commit ca1a2da645bceb4500f1782cdfcb686db24ecba7
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Feb 12 11:16:38 2008 -0800
+
+ Initial pass at vertex cache, more vertex fetch changes
+
+ This is just another step towards dynamic generate of vertex fetch code.
+
+commit c2903679856856e3758ceb744cd7d91af9e2eb45
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Feb 11 15:27:13 2008 -0800
+
+ Vectorize a couple fetch functions
+
+ These C-coded vectorized functions are expected to be short lived.
+ They're basically a proof-of-concept for dynamically generated fetch
+ routines.
+
+commit 0230c56ed0db16f007e4d1881554c7dbfa3ac3de
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Feb 14 17:42:52 2008 +0000
+
+ intel_winsys: Call st_notify_swapbuffers_complete() after buffer swap.
+
+commit cf5ef20f436ac1d3efde2b7bff698decccb029e3
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Feb 14 16:53:51 2008 +0000
+
+ gallium: Cleanups related to clears.
+
+commit 5047a8ae1989b506133563a266001fd6cc184536
+Author: caner <caner.altinbasak@gmail.com>
+Date: Thu Feb 14 09:33:05 2008 -0700
+
+ miniglx doc updates
+
+commit 18e94e15c0ca881309ac5784075a04160cc1eeb6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Feb 14 13:36:21 2008 +0000
+
+ gallium: Minor cleanups to bitfield sizes, etc.
+
+commit f3f7ff257370ff72dbc7a0ba05ed0a99ce67ebac
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Feb 14 12:14:46 2008 +0000
+
+ tgsi: partially unbreak sse fragment shaders. more to do.
+
+commit 4813946d366a0d61e0be1dacec6d3077bc939b48
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Thu Feb 14 13:24:27 2008 +0800
+
+ i965: use setup attributes as inputs when allocating registers
+ for WM payload. fix #10767
+
+commit 1202c434d91c56bccc4c918f8284f0602ef4ca0b
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Thu Feb 14 11:01:34 2008 +0800
+
+ [i965] flip point sprite
+
+commit 08fd2488b011db78ebf7eafbf6ea61d5444ffe7c
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Thu Feb 14 10:12:03 2008 +0800
+
+ [i965] gl_FrontFacing support
+
+commit eb9da9706ee060a8e4bb5c4fa133ab06dc6b5a53
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Feb 14 10:44:43 2008 +1000
+
+ i965: remove unused hal hooks
+
+ These don't appear to have ever been used.
+
+commit 85063f14ea431b586d710f249563fc73481552c7
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Feb 13 16:08:19 2008 -0800
+
+ [965] Fix ARB_occlusion_query from intel_screen.c merge.
+
+ It wasn't being initialized at screen setup, so we were getting stub
+ entrypoints even though it was exposed as enabled. Fixes arbocclude mesa demo.
+
+commit 2effa9b36cc47ca3fc0acc21908f5bb132eca3e7
+Author: Maarten Maathuis <madman2003@gmail.com>
+Date: Wed Feb 13 22:57:09 2008 +0100
+
+ nv40: Avoid a nasty array overflow leading to a corrupt memory pointer.
+
+commit 822b2481ffc0d3e2ca9d24e9443634af2760777c
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Feb 13 10:34:20 2008 -0800
+
+ [intel] Fix 965 rendering with non-TTM by merging intel_ioctl between 915/965.
+
+ The 965 path wasn't setting pClipRects for batch submission since it didn't
+ want kernel cliprect handling before. The 915 path also grew the INTEL_NO_HW=1
+ option for testing just driver overhead.
+
+commit ee781a41af95a317f4f37182e0d614e917e0737d
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Feb 13 09:26:06 2008 -0800
+
+ When mapping, wait on the buffer's fence, not hardware idle, in bufmgr_fake
+
+commit ee8dfa89646ea5aa5e5cf72e29b601cbe357e126
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Feb 13 09:16:07 2008 -0800
+
+ Remove O(n^2) debugging code from non-debug path of dri_bufmgr_fake.
+
+commit a856b399e6a46f2026006402bc6b9125bd23f9a9
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Feb 13 18:29:29 2008 +0000
+
+ x86: fix assignment in assert typo
+
+commit 2e75f39bc4286cebb7330f54d7acf5b8f1d9777f
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Feb 13 09:26:56 2008 -0500
+
+ make swizzling on incoming arguments work
+
+commit 12d5b078e8390cb2c598def31fd75260a54ace1a
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Feb 13 08:46:05 2008 -0500
+
+ get rid of the terrible auto-generated entry point
+
+ it's not used anymore.
+
+commit 7e51d2a9986231f4ca44a3643628645923e4d468
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Feb 13 08:31:13 2008 -0500
+
+ implement immediates and make them work
+
+commit c107d572104890c83647ad611d303fe1fae70e8f
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Feb 13 07:28:26 2008 -0500
+
+ try to load the consts correctly
+
+commit 66640c4b589db7b6b5edce7d297ae6623bfda9c1
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Feb 13 12:37:42 2008 +0000
+
+ x86: remove debug
+
+commit 8162d317d2f6f2dcc31f31c0c2d663c33dfee053
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Feb 13 12:35:16 2008 +0000
+
+ x86: emit absolute calls, as reallocating exec mem breaks relative ones
+
+commit a3534a27bfc9827a12d83f7b6464af98424cf8d4
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Feb 13 11:39:34 2008 +0000
+
+ tgsi: fail gracefully when sse code can't emit shader
+
+commit 6046c54cc40d32d4c1a47c061494a37fadefd947
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Feb 13 11:35:54 2008 +0000
+
+ x86: reallocate exec mem when we run out
+
+commit 7f342a20d2c7f59b8dd8daed21f3b44f5215a05a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Feb 13 10:02:59 2008 +0000
+
+ tgsi: include more of the register info in debug dumps
+
+commit e922adbe1d6c1764968377658ea92ae6de0585db
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Wed Feb 13 11:39:58 2008 +0000
+
+ gallium: pipe->surface_copy can flip the contents vertically when necessary.
+
+ Fixes gears being upside down on the box in demos/gearbox.
+
+commit 4bb1a14d901fcddb25efeeff49c4dea8ca872f73
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Feb 13 04:38:10 2008 -0500
+
+ handle temporaries in llvm code generated paths
+
+commit e179d5bdd199e3747773f5b07efcf9a635c41089
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Feb 13 04:37:40 2008 -0500
+
+ implement add
+
+commit 263de4b814eb78cc971ad28f173985b61b77465c
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Feb 13 19:33:41 2008 +1100
+
+ nv40: attempt at obeying sampler min_lod/max_lod/lod_bias
+
+commit 135d2329de7721b2083aa5f38f8d66beb20c1181
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Feb 13 03:18:37 2008 -0500
+
+ implement mul
+
+commit e45e33854289222cabb491d4605bf381b1631054
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Wed Feb 13 15:57:44 2008 +0800
+
+ _mesa_swizzle_ubyt_image: Don't use single swizzle_copy call
+ if components don't match. fix #13508
+
+commit 4c8456264ca9c826165c41810b20dfbfbfb322e3
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Feb 13 00:48:08 2008 -0500
+
+ get mov working
+
+commit 53c2963b84f7a8538d2a2c67e3fbb8a22f644c57
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Feb 13 00:36:31 2008 -0500
+
+ fix fetching input elements and generate a ret on end
+
+commit 9b6532f01b2e8a3ccc44d67d20a8f94f5de570e3
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Feb 13 00:21:24 2008 -0500
+
+ add functiontype for the llvm native vs entry point
+
+commit 8b054cd6eb0b64264d9cb8b61ce9df5135664368
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Feb 13 00:21:03 2008 -0500
+
+ disable llvm code in fs
+
+commit 3c3c1ff5cd19af23033e080d8f0b9b5ae8363f2e
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Tue Feb 12 23:08:42 2008 -0500
+
+ stop generate llvm entry points
+
+ entrypoints are useless because we use the same paths as all other
+ code. also simplify llvm swizzling code
+
+commit cad7bc74d69ee053452aa4bd20740dc79ad6eab6
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Tue Feb 12 05:35:51 2008 -0500
+
+ llvm ir code to fetch the elements
+
+commit 6be095ae15d411c82f7417c98a87867dbdf1947b
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Feb 13 14:27:32 2008 +1100
+
+ nv40: remove use of pt->first_level
+
+commit b397a2bb203c2b28b746af7828d9ad192cde0bc1
+Merge: 5ba3dbe e20e89e
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Feb 13 14:21:23 2008 +1100
+
+ Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1
+
+commit e20e89e48287808068086ec148920dd89495d813
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 12 19:14:58 2008 -0700
+
+ gallium: initial code for wide/AA line drawing
+
+commit 9af687c53037afe57e765f705906e12a86865c03
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 12 17:44:57 2008 -0700
+
+ gallium: fix/finish glReadPixels(GL_DEPTH_COMPONENT).
+
+ This fixes demos/reflect ('d' key) and tests/zreaddraw.c
+
+commit 48e223a0db85e83e180a49f3c3c7ea4101a86f40
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 12 17:07:27 2008 -0700
+
+ gallium: clamp min_lod so it's never negative
+
+commit 9365738c36f1f0288e2576edbc621b5ed4d8736c
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Feb 12 16:03:58 2008 -0800
+
+ [intel] Remove cached reloc data buffer now that it's not a BO.
+
+ It's not worth the extra effort to avoid a free/malloc, and we'd rather
+ auto-size the reloc data buffer at some point so we don't need to have
+ max_relocs.
+
+commit 4e2a0b6aa67da77d312ed74916624a43daf2101a
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Feb 12 16:01:26 2008 -0800
+
+ [intel] Fix type of some more flags variables for uint64_t flags.
+
+ Harmless since we don't yet have any bits above 31 for flags.
+
+commit da428c709aa1acda0072c302f539670542bcfd2c
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Feb 11 08:29:05 2008 -0800
+
+ [intel] Note when BO map/unmap fail with TTM.
+
+commit 7ea767f9faee2c6acbaccdd4fae863c2cad0da31
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Feb 8 15:58:45 2008 -0800
+
+ [intel] Fix INTEL_DEBUG=bufmgr after relocation interface fixups.
+
+commit 1fd82451eb8a76f2df85720e8d9d607d9e37ab24
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Feb 7 15:12:59 2008 -0800
+
+ [965] Remove stale brw_state_cache.c comment and function export.
+
+commit be54b492d941db85873afc6cfaa478268eab98d8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 12 16:56:18 2008 -0700
+
+ Fix broken test.
+
+ As-is, if the texture was too large for the target, an assertion would fail.
+ Now check proxy texture first and if it works, then test non-proxy target.
+
+commit 22ab7fa466b3b658cf9123d3fc823f0197dfebee
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 12 16:56:18 2008 -0700
+
+ Fix broken test.
+
+ As-is, if the texture was too large for the target, an assertion would fail.
+ Now check proxy texture first and if it works, then test non-proxy target.
+
+commit 508b73289de5c4e16b31ae7267140efbb0f319a5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 12 16:38:56 2008 -0700
+
+ gallium: remove dead code
+
+commit a34b43b3f4817268ef4b3f186203b5fbafc7214e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 12 16:37:49 2008 -0700
+
+ gallium: added null ptr check
+
+commit 9677336845511be4852520d2e50f91f1df362f58
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 12 16:10:11 2008 -0700
+
+ gallium: rename st_fragment_program's fs field to cso to match st_vertex_program
+
+commit 6d53b8f42349c507e7184aa567a4b2a4fc7b037f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 12 16:06:51 2008 -0700
+
+ gallium: move gen-mipmap global/static vars into st_context
+
+ This fixes potential problems with multi-context programs.
+
+commit cf949411221211a278c169e917756aa4f9aba49f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 12 15:53:37 2008 -0700
+
+ Set Min/MaxLod with glTexParameterf, not glTexParameteri
+
+commit edc7cfa6e689f15ab4470ed888bbbe224457b523
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 12 15:53:37 2008 -0700
+
+ Set Min/MaxLod with glTexParameterf, not glTexParameteri
+
+commit 4697cee78b356c07cde6ec7f36a41d74d82ec38f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 11 09:46:10 2008 -0700
+
+ press 0,1,2,etc keys for specific bias values
+
+commit 74c32ee6aa9dcd2b1d23666a4899f3e82a6c5dad
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 12 14:59:07 2008 -0700
+
+ tweak incr/decrements amounts for keyboard options
+
+commit fb3ca7ee2d7c6ec0252d1f7e5773593f61ca4415
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 12 14:59:07 2008 -0700
+
+ tweak incr/decrements amounts for keyboard options
+
+commit 76295f0c3100ede33f9c79d4b40e5c22c67b6bec
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 11 09:46:10 2008 -0700
+
+ press 0,1,2,etc keys for specific bias values
+
+commit 1d62a057bcb3ee4ef6ebedd93f62ed2e0d8061ba
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 12 14:55:51 2008 -0700
+
+ gallium: remove unused first_level param from st_texture_create()
+
+commit 4da1cdf78fa3b954840650fa46cf72da5daf149f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 12 14:53:25 2008 -0700
+
+ gallium: clean-up, simplification of mipmapped textures
+
+ Remove pipe_texture->first_level (always implicitly zero). This means there's
+ never any unused mipmap levels at the top.
+ In the state tracker, we no longer re-layout mipmapped textures if the
+ MinLod/MaxLod texture parameters change. It's up to the driver to obey the
+ pipe_sampler->min/max_lod clamps.
+
+commit 929b6d2ebf8128140fa2db413600f64a66148b5f
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Tue Jan 15 10:21:31 2008 -0800
+
+ glapi: Correct prerequisites for gl_and_glX_API.xml
+
+ The indirect_dispatch.h and indirect_table.c source files use
+ gl_and_glX_API.xml in their generation rather than glX_API.xml, but it
+ wasn't listed in their prerequisites. In turn, gl_and_glX_API.xml uses
+ glX_API.xml, but this is already listed in $(COMMON_GLX).
+
+commit fc67d47708eef27e129f4848896c6d10fbe32594
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Tue Jan 15 10:15:36 2008 -0800
+
+ glapi: Use make automatic variables to clean up the commands
+
+ Make use of the make automatic variables $@ (the target) and $< (first
+ prerequisite) to clean up the commands for the glapi generation. This
+ improves readability and guards against typos since words are repeated
+ less frequently.
+
+commit 817af9bec2f799b4b8449112d1a25aad70ca4d15
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Tue Jan 15 09:52:17 2008 -0800
+
+ glapi: Use variable for indent and flags
+
+ Put the path to indent and the flags to call it with in configs/default
+ rather than in the Makefile. This makes it easier to change the values
+ globally.
+
+commit 532828b1d3fdf5e9eed8d5ec72ada154b31f92cc
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Feb 12 17:28:31 2008 +1100
+
+ nouveau: ddx versioning changed
+
+commit 5ba3dbe2cc8a9af5cae01f45eaf497f834400170
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Feb 12 15:13:37 2008 +1100
+
+ nv40: fix inline u08/u16 indices
+
+commit b61b1a295b13a0ff2cf98c8d07e62147d71c08b9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 11 10:59:40 2008 -0700
+
+ gallium: take pitch/stride into account in mipmap generation
+
+commit 3d0fd8a6cf294d58df2d2ec4139192416a1a4078
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 11 09:50:21 2008 -0700
+
+ gallium: comments about mipmap gen
+
+commit c22d9152e33792ea58426c53bc9b96bf552b0b44
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 11 09:43:30 2008 -0700
+
+ code refactoring, new next_mipmap_level_size() function
+
+commit e4026167d70f0aa0bc0cd2546ef9b41f7b167735
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 11 09:42:02 2008 -0700
+
+ gallium: implement software fallback for mipmap generation
+
+ This is used when we can't render to the surface type of the texture (such
+ as luminance/alpha).
+
+commit 212b27d33f94eeb25ba9cbc58f9e41295a29d2c9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 11 09:38:36 2008 -0700
+
+ gallium: strip borders from textures passed to st_TexImage.
+
+ Manipulate the unpack params to skip the border. Gallium drivers won't support
+ texture borders.
+
+commit cfe9e66f2bc596c43760911e7c1604bb32cdee28
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 11 09:35:28 2008 -0700
+
+ gallium: use _mesa_tex_target_to_face()
+
+commit b52ce6341f877a0a1cfd3c50c07eeb1c156ae89e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 11 09:33:28 2008 -0700
+
+ added _mesa_tex_target_to_face()
+
+commit 789f2f15e867d6ef9f635d0ab59e213b35a2960c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 11 08:56:18 2008 -0700
+
+ gallium: update comment about buffer map flags
+
+commit 2e4077db16b5a55f1c3ee24ac7944bc05e0a7579
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 11 08:18:43 2008 -0700
+
+ gallium: fix fragment/vertex typo
+
+commit 3bae27fcc54187235a6962577580e838b012f9a5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 8 16:56:21 2008 -0700
+
+ refactor code, export _mesa_generate_mipmap_level()
+
+commit 42eac65da45fb58bffdf94ab8f9860d8cee5b256
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 8 16:46:12 2008 -0700
+
+ move _mesa_format_to_type_and_comps() to texformat.c
+
+commit 9ddb7d794bac57e63f5eb247ad3c02ba6dfb87f9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 8 16:42:50 2008 -0700
+
+ reorder cases in do_row()
+
+commit 30dff589a447529232016f3e792378fd8fa67820
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 8 16:40:39 2008 -0700
+
+ re-indent do_row()
+
+commit ed6e72e8556a961ad31c80ae3c0582878ce64bf3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 8 16:38:28 2008 -0700
+
+ checkpoint- consolidation in do_row()
+
+commit aa9d9d9c40ae34d61b113ffc54bffd702138f72f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 8 16:35:44 2008 -0700
+
+ checkpoint- remove dependencies on gl_texture_format to make code re-usable by state tracker
+
+commit 084e6c92e088b443eacf6bf649d4a6ce6ede2386
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Feb 11 10:47:28 2008 -0500
+
+ remove seperate llvm vs entry points
+
+ they're not necessary anymore. we use the same paths
+ as sse and tgsi code
+
+commit e761161d014cde4e0a6e52631e9e4bc740b554f6
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Feb 11 09:43:59 2008 -0500
+
+ start genering soa type code in llvm paths
+
+commit 1712a5380a12fe66fa03a281394abeca034f1a7c
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Feb 6 06:12:34 2008 -0500
+
+ disable llvm for fragment shaders for now
+
+commit 137edf75335910c9f15daacaf0ce3f4cbd43080c
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Tue Feb 5 03:09:24 2008 -0500
+
+ rewrite the way cpu engine is handled
+
+commit 7d69090e272d0d429f0ef7a733cebe1363383447
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Feb 4 10:07:02 2008 -0500
+
+ rewrite the way we handle ir in llvm code
+
+ introduce intermediate step gallivm_ir before compiling it
+ down to the final llvm ir.
+
+commit f625c6d1d07e3b285cf966a888aa534f33c36710
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Fri Jan 25 06:36:35 2008 -0500
+
+ add a stub of a lowering pass
+
+commit af344660d7b77b8adad17cd8018253c8b08045cf
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Feb 10 15:19:18 2008 +1100
+
+ nouveau: memory leak
+
+commit 0ac4e8cd496dc0b74e71df5f6906af8bf7a74ccb
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Feb 10 15:16:50 2008 +1100
+
+ nv40: prep for multiple pipe contexts on a single hw channel
+
+commit 8973ca12a58a5bd1db434f63f7e8772a090f285b
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sat Feb 9 16:25:29 2008 +1100
+
+ nouveau: interface updates
+
+commit fb2760c5a64ada7b0f0a9635e7865b415a8aa286
+Merge: ae90505 479b5e9
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sat Feb 9 16:15:14 2008 +1100
+
+ Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1
+
+commit ae905056d4feb5a39d956a38ab377f4d78bf4065
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sat Feb 9 14:08:54 2008 +1100
+
+ nv40: delay all state emit until before draw
+
+commit 479b5e9b5d9e0e387332c6fbeaffffa7612a0c52
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 8 14:56:38 2008 -0700
+
+ gallium: include st_cb_drawpixels.h
+
+commit 9f9c3b752a82d216d4655d6dcd07361f66f8a4c8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 8 14:55:33 2008 -0700
+
+ fix comment typos
+
+commit 62abcb9aacc33218d0143a743c738435794b32a9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 8 14:54:18 2008 -0700
+
+ gallium: initial implemenation of auto mipmap generation in state tracker
+
+ Use hardware rendering to compute/render mipmap levels.
+ The fallback path (which will be used for non-renderable texture formats)
+ isn't working yet.
+
+commit 0b64ee6960f9e099bc1a6ca6fa10720fee875b3a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 8 14:51:32 2008 -0700
+
+ gallium: added inClipCoords param to st_draw_vertices() to indicate coord system of vertices
+
+ Also, export st_make_passthrough_vertex_shader() from st_cb_drawpixels.c
+
+commit 864abce57d3b81d0f92673472959b71e09c4f245
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 8 14:46:47 2008 -0700
+
+ gallium: added draw_flush() call in softpipe_bind_sampler_state()
+
+commit c3395f4473c8fdf75d04c0dd72e687bc8d8127a7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 8 14:45:58 2008 -0700
+
+ Remove unused texunit parameter to ctx->Driver.GenerateMipmap()
+
+commit 21e9396e650d23084bfeae0d2670b5ffcf731a85
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Fri Feb 8 18:47:25 2008 +0100
+
+ intel_winsys: remove leftover code
+
+commit 2b6a31bfda319975b728930f019175611145ebb9
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Fri Feb 8 18:25:49 2008 +0100
+
+ failover: several fixes to failover pipe module
+
+commit 2c9fdaf7292423c157fc79b5ce43f0f199dd753a
+Author: Claudio Ciccani <klan@directfb.org>
+Date: Fri Feb 8 12:36:45 2008 +0100
+
+ [directfb] Added RGB444 and RGB555.
+ Also added color expansion for RGB16, ARGB1555 and ARGB4444.
+
+commit c231f8ff3577ec579464da7259bf24c304a027fc
+Author: Claudio Ciccani <klan@directfb.org>
+Date: Fri Feb 8 12:35:08 2008 +0100
+
+ [glut-directfb] Fixed displaying of single buffered window.
+
+commit 5edede94bb506c358f1ee1450504c584c8f665ee
+Author: Claudio Ciccani <klan@directfb.org>
+Date: Fri Feb 8 12:03:53 2008 +0100
+
+ [glut-directfb] When converting microseconds to milliseconds, round to the next integer.
+
+commit 70908a793b7755c973fe024844185ff9e14924ea
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Feb 7 12:09:16 2008 -0800
+
+ [965] Flush icache on new batch, not just new context.
+
+ This is required since our buffer manager may now move our
+ instruction-containing buffers at any batchbuffer emit.
+
+commit 5c0c8831040c2abbe4e1f80cb03a8cc1ffd4219e
+Author: Andy Skinner <Andy.Skinner@mathworks.com>
+Date: Thu Feb 7 13:20:06 2008 -0700
+
+ added -altopts to allow overriding all other opts
+
+commit 909c703bfbf7404414befaa0a94b76d78ba3cb4c
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Feb 7 19:44:42 2008 +0000
+
+ tgsi: Fall back to interpreter instead of assert(0) on unimplemented SSE code.
+
+commit 28ecb986d958d52c9a996453e53418d1f98d7f75
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Feb 7 19:43:34 2008 +0000
+
+ pipebuffer: Fix reversed assertion.
+
+commit 0013796948642b281ec84628d6f945b686cd6849
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Feb 7 19:59:17 2008 +0900
+
+ gallium: Conditionally use posix libraries/includes.
+
+commit 700a77fb48f364f85e013cf5fb68c04eb83317e7
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Feb 6 15:41:04 2008 -0800
+
+ [915] Fix COS function using same plan as SIN.
+
+ The previous COS function failed badly outside of [-pi/2, pi/2].
+
+commit 2551a5ee80ab523006618c79766e2409b2a62d84
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Feb 6 15:38:16 2008 -0800
+
+ [915] Use a quartic term to improve the accuracy of SIN results.
+
+ This is described in the link in the comment, and is the same technique that
+ r300 uses.
+
+commit d98abcbef0bd4200fc0fd30fc0524bf452df3572
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Feb 6 11:34:14 2008 -0800
+
+ [915] Fix fp SIN function, and use a quadratic approximation instead of Taylor.
+
+ The Taylor series notably fails at producing sin(pi) == 0, which leads to
+ discontinuity every 2*pi. The quadratic gets us sin(pi) == 0 behavior, at the
+ expense of going from 2.4% THD with working Taylor series to 3.8% THD (easily
+ seen on comparative graphs of the two). However, our previous implementation
+ was producing sin(pi) < -1 and worse, so any reasonable approximation is an
+ improvement. This also fixes the repeating behavior, where the previous
+ implementation would repeat sin(x) for x>pi as sin(x % pi) and the opposite
+ for x < -pi.
+
+commit c4e0d725dc9f18aed2babed344bb4e42df9e481f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Feb 6 09:48:56 2008 -0700
+
+ Cell: silence unused var warnings
+
+commit 2ed6604f50bc06cfd44b429f476588381113db9c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Feb 6 09:48:37 2008 -0700
+
+ gallium: #include p_debug.h since we use assert
+
+commit c0235d0a24da82304f7f23936c71032c0a9a7ce1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Feb 6 09:35:33 2008 -0700
+
+ Cell: use mem_dup()
+
+commit f12d641ab2bafe20f876dddb90ada76c83732757
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Feb 6 09:29:00 2008 -0700
+
+ gallium: use mem_dup()
+
+commit c8af89cf722830ec16d594afd99d717aed71d44c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Feb 6 09:28:20 2008 -0700
+
+ gallium: added mem_dup()
+
+commit 31c98eafb043cbc82e5de206ceecc5888174b5e6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Feb 6 09:24:30 2008 -0700
+
+ gallium: change pipe->texture_create() to operate like the CSO functions
+
+ Now, pass in a template object and return a new object.
+
+commit f52f5136e6eed23e55098681e5b082cc452136d6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Feb 6 08:44:19 2008 -0700
+
+ clean-ups in guess_and_alloc_texture()
+
+commit 2440ff74d69a8caf49b05a960b4c7e282a96565e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 5 18:15:39 2008 -0700
+
+ plug in ctx->Driver.GenerateMipmap function
+
+commit 4c2f3dbca940f289e67248682b84a3516d5a3031
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 5 18:15:03 2008 -0700
+
+ Added ctx->Driver.GenerateMipmap() driver hook
+
+commit afc54983370033b65e3a7cbb29bd9c87156f0881
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 5 18:13:28 2008 -0700
+
+ clean-ups
+
+commit 105b3596be6c0644e3aaa0823ab7e27aa76fa909
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 5 18:01:18 2008 -0700
+
+ added comment
+
+commit a4fbf096734efca2100aff41e988cce26ced5f6f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 5 17:55:16 2008 -0700
+
+ comments, clean-ups, consts
+
+commit 71984d76aae937274f6dd08c24f995d3c0c06357
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 5 17:46:31 2008 -0700
+
+ clean-up
+
+commit 4650b35846e8e87fb0d74573a5f66452bb449b4b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 5 16:32:15 2008 -0700
+
+ gallium: add bitmap/drawpixels texcoord bias support
+
+ The state tracker will call pipe->get_paramf(PIPE_CAP_BITMAP_TEXCOORD_BIAS)
+ to get a bias factor for adjusting the texcoords used in bitmap/drawpixels.
+ This allows us to compensate for small differences in rasterization from
+ one device to another.
+
+commit af6b12cc76b40c86f3b144a7f5cd3ef1278863d0
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Feb 7 01:07:49 2008 +0900
+
+ gallium: Bring latest fixes.
+
+commit 9791d7f64c5a58b9c1bf32d00c71e0e031f54f70
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Feb 6 14:37:49 2008 +0900
+
+ gallium: Use p_debug.h instead of non-portable stdio.h/assert.h functions.
+
+commit 78bce9c2dcd45d1d8706bb9bab3b3a73943de990
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Feb 6 14:37:24 2008 +0900
+
+ gallium: Add forgotten return type.
+
+commit 81b6a801f79f3caddf4257a014a6aa80029c8d62
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Feb 6 14:36:50 2008 +0900
+
+ gallium: Update scons instructions. Propagate user environment.
+
+commit a31d289de6091987e6b9da6af1b2e56eb79a96fb
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Feb 6 13:27:49 2008 +0900
+
+ gallium: Cross-platform debugging helpers.
+
+commit 5e2d0517b1b42c6f94fa69bf4e32a19d00fd519f
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Feb 4 17:02:08 2008 +0900
+
+ gallium: Portability guidelines.
+
+commit e39fccc34c07a015d8713841a69037e32187dd6d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 5 15:12:18 2008 -0700
+
+ Cell: remove accidentally added OPT_FLAGS lines
+
+commit 1730f7bad462ac7f29857b8b2347e38c1b6c9820
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 5 15:07:36 2008 -0700
+
+ Cell: SIMD-ize tri_linear_coeff(), use vector float for vertex attributes in struct vertex_header
+
+commit 4da82fd5c5e0a7535e30aa81f08dcbe1a26358b7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 5 14:23:34 2008 -0700
+
+ Cell: re-enable inlined vertex buffers
+
+ Vertex data must be on a 16-byte address/offset so SIMD operations will work
+ properly in the SPU code.
+
+commit 2174890ed030bde8494b7f13b7090e27771695fa
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 5 14:21:48 2008 -0700
+
+ Cell: remove dummy fields, update/add some comments
+
+commit b0974420f4dab55d398f4015cf71a62fa643f713
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Feb 5 14:21:01 2008 -0700
+
+ Cell: added cell_batch_alloc_aligned()
+
+commit c0e026c8090954ddb629a01cc1a93c61b2fc8298
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Feb 5 11:00:04 2008 -0800
+
+ [965] Bug 14314: assertion failure with with !AIGLX and depth=24 visual.
+
+commit d14d36f9cc5be8b4c827653ee1245be00999357e
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Feb 5 09:38:02 2008 -0800
+
+ [965] Fix TTM relocation caching overzealousness.
+
+ The failure mode that was a available was:
+ reloc 1 -> target_buf
+ exec: PRESUMED_OFFSET wrong, buffer migrates, r1 entry updated.
+ reloc 2 -> target_buf
+ exec: suppose buffer migrates again. PRESUMED_OFFSET wrong. r2 entry updated.
+ reloc 1 -> target_buf
+ exec: suppose buffer doesn't migrate. PRESUMED_OFFSET right. no relocations
+ performed. r1 has stale pointer at original location.
+
+ Failures were reported with OGLconform's VBO test and SPECviewperf90, though
+ I haven't confirmed that this fixes it.
+
+commit c9f98142b6a47825c49aea72a79c1be62c2b7d89
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Feb 5 09:43:52 2008 -0800
+
+ Use _transpose_matrix4x4 from Cell SDK instead of my own version
+
+commit 45f4125fa83c4e43a01d44cb8eb2a4c97b72181f
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Feb 4 16:03:55 2008 -0800
+
+ Add some debug messages
+
+commit e8a80c8627972537c595f06fb28cd383569e7ea0
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Feb 1 17:14:09 2008 -0800
+
+ More semi-trivial vectorization in the shader VM
+
+commit 490a7b1c73babd528b6d883471a8636157c5853a
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Feb 1 17:12:20 2008 -0800
+
+ Vectorize vertex puller
+
+commit 8fc2355949b67cd99403c1184ce711a344877375
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Feb 1 14:58:38 2008 -0800
+
+ Vectorize all micro ops
+
+ Fold single instruction micro ops inline. Remove unused micro ops.
+
+commit 9bd17ea3a3755d77ff0d1225052dbb824309fa3d
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Feb 6 00:26:49 2008 +1100
+
+ nv40: cleanup state handling a bit
+
+commit 45b18c51c0f49731cb8fc0144d678da5fa814992
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Tue Feb 5 07:50:56 2008 -0700
+
+ gallium: Use align_free to free aligned memory.
+
+commit 89faa648a585a435d8a2ca6d3759891606d36a84
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Tue Feb 5 15:17:58 2008 +0800
+
+ i965: adjust the byte order of clear color. fix #14165
+
+commit fd776e10b327b6a49b76c5082e4cc48059c6ad2e
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Feb 4 18:19:03 2008 -0800
+
+ Replace usage of DRM_BO_FLAG_MEM_TT in intel_regions.c with local/cached.
+
+ In addition to potentially binding when it was about to be mapped anyway,
+ failure to use CACHED_MAPPED means eating a full wbinvd on validate. Thanks to
+ airlied for catching this.
+
+commit 745df749cc082de9491b91bfcb8705d8d26cbe02
+Author: Eric Anholt <eric@anholt.net>
+Date: Sun Feb 3 01:04:46 2008 -0800
+
+ Include glext.h in the cva test so that it actually uses CVAs.
+
+commit 5857e988be9317810cf713478195b4ed849eea4a
+Author: Eric Anholt <eric@anholt.net>
+Date: Sat Feb 2 02:54:13 2008 -0800
+
+ Allow first != 0 in mesa CVA handling, and add more error checking.
+
+commit 2abcc512a3ce81bc11ff2b45a2208d3400a2385d
+Author: Eric Anholt <eric@anholt.net>
+Date: Sat Feb 2 23:27:19 2008 -0800
+
+ [965] Convert brw_draw_upload to managing dri_bos, not gl_buffer_objects.
+
+ This helps us avoid a bunch of mess with gl_client_arrays that we filled
+ with unused data and confused readers.
+
+commit 0907c639c8509cda4507b28c1399813a09a81c5e
+Author: Eric Anholt <eric@anholt.net>
+Date: Sat Feb 2 02:59:55 2008 -0800
+
+ [965] Remove dead structure in brw_draw_upload.c.
+
+commit 7b8892f50482359625e36005c2b460a921ff796c
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jan 22 14:03:24 2008 -0800
+
+ [965] Move temporary vbo array storage into the function using it.
+
+commit c86ec87830dba86b257ccddc832b746af955eb05
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jan 22 11:35:04 2008 -0800
+
+ [965] Remove dead brw_vertex_element members.
+
+commit 4e13067d0f95b280da3fef2deb7e59466ea73818
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jan 22 11:34:46 2008 -0800
+
+ [965] Add a wrapper around interleaved copy_array_to_vbo_array for profiling.
+
+ If compiled with optimization, it shouldn't appear at all, and helps me for
+ now.
+
+commit df44fefced61d35c302907cb716fa0f9337ae526
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jan 22 11:04:09 2008 -0800
+
+ [965] Avoid overloaded use of the term 'input' for clarity.
+
+commit 931685e243af52271d4cdc0ddc8ea153036dee42
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jan 22 10:56:09 2008 -0800
+
+ [965] Replace VEP/VBP state structures with inline batch emits.
+
+commit 5db1593c78192b764ad2ef7bdc5182d8ec4aed7c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 4 18:05:37 2008 -0700
+
+ Cell: fix some alignment issues by aligning commands to 8-byte boundaries
+
+ Contributed by Ian Romanick.
+ Also, temporarily disable inlined vertex buffers. They need to be 16-byte
+ aligned...
+
+commit 684d320ea2e7ec03d01275a544068cc6b45e1e9a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 4 18:03:05 2008 -0700
+
+ Cell: don't use VEC_LITERAL macro, doesn't work w/ SDK 3.0
+
+commit 7cbe5cf212d296c19ccf8e1b74d3a5b1bcb2d9e9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 4 18:02:21 2008 -0700
+
+ Cell: don't use VEC_LITERAL macro, doesn't work w/ SDK 3.0
+
+commit 93d061b217e31d27a1c54e50a14538e94f1404d6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 4 16:48:36 2008 -0700
+
+ Cell: move float4 typedef (temporary datatype)
+
+commit 1a75464cdc12a1e83f1452707cd624c53f808308
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 4 16:48:00 2008 -0700
+
+ Cell: fix small sampling error in sample_texture_bilinear()
+
+commit efa8e03a6f3f7c27b019d20cca93bf7e624d7035
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 4 16:06:51 2008 -0700
+
+ Cell: texture sampler functions always return vector float now
+
+ Texture colors look the same now, regardless of X display/pixel format
+
+commit 5068b573c417bdb317e1938585bebfe931bda049
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 4 16:05:13 2008 -0700
+
+ Cell: added spu_unpack_A8R8G8B8()
+
+commit 76c1a10eb121f040ef510124bf6aa24c4c5c3f8f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 4 16:04:50 2008 -0700
+
+ Cell: fix typo
+
+commit bc1ad6bcbd5c63da9c10d0276c9d7535b6139437
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 4 15:17:50 2008 -0700
+
+ Cell: some basic blending code
+
+commit 168247d1caee28ef577ad4c3c4308451f1193062
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 4 15:10:35 2008 -0700
+
+ Cell: replace float 4 with vector float in eval_coeff()
+
+commit 7a1d01f2a0d8f0875a265e7d4e31e1348fd82677
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 4 15:06:10 2008 -0700
+
+ Cell: emit blend state to SPUs
+
+commit 8f924e4df06a5d45dda338e7a0a87308e48df57e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 4 13:23:07 2008 -0700
+
+ Cell: choose bilinear vs. nearest filtering according to sampler state
+
+commit ca1d2fc5f6fb138025f6848591e3494e4b881930
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 4 13:16:10 2008 -0700
+
+ Cell: improved bilinear filtering
+
+ avoid calling get_tex_tile() if all texels are in same tile
+
+commit 0a45f7594870cb7296100fb5f5d5dc82888a467d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 4 12:50:42 2008 -0700
+
+ Cell: implement basic bilinear texture sampler
+
+commit 9a5074217fd3be8feff2be597bb124a2a3637d0a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 4 12:50:16 2008 -0700
+
+ Cell: added spu_unpack_color(), spu_pack_R8G8B8A8()
+
+commit 703a8691553386242bf3d6662c314fc35b617194
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 4 11:02:47 2008 -0700
+
+ Cell: SIMD-ize more of texture sampling
+
+commit 18105195a86b8294b578462febf47692832e8705
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 4 09:54:21 2008 -0700
+
+ Cell: checkpoint: start to SIMD-ize texture sampling
+
+commit f71400876b1469ce7b080cbddb5dde4f61ed78b7
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Mon Feb 4 17:31:45 2008 +0100
+
+ nouveau: update to latest header.
+
+commit e967a5c746f340a76b27181b4ead1035101cece3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 4 08:53:18 2008 -0700
+
+ Cell: move tile clear code to flush_spans()
+
+commit 6023311c7ce336f727d7aa6d5266e88a55b88d36
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 4 08:46:44 2008 -0700
+
+ Cell: clamp txmax, tymax in tile_bounding_box()
+
+ Also, added some debug printfs
+
+commit 69cc19751dd0122116cab03d808d5a1f5d0ade84
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Feb 4 08:45:33 2008 -0700
+
+ Cell: insert some draw_flush() calls
+
+commit 4dfcb09960e4775b5ca2038b7cc608f7720cec20
+Author: Dave Airlie <airlied@redhat.com>
+Date: Mon Feb 4 21:59:26 2008 +1100
+
+ r300: fix isosurf on rs690
+
+commit 5351e7270f71dbcea9f790d4904327da87f931ba
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sun Feb 3 23:08:06 2008 +0100
+
+ Add NV63.
+
+commit 63923b8c9568520981ecdb46569f5ce626b584e6
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Feb 4 01:37:07 2008 +1100
+
+ nv40: the 0x4497 version of curie doesn't support index buffers.
+
+commit e36857d841c0c973abb8536a20e7d5a7e01223d3
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Sun Feb 3 20:36:17 2008 +0800
+
+ i965: fix potential NULL pointer dereference. The third region
+ isn't created at all for 965
+
+commit f87a8cace2ce946d969eb6d93def2d65cb541bda
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Feb 3 12:08:31 2008 +1100
+
+ nouveau: avoid relocations where possible.
+
+ Potential relocations are emitted as NOPs where they're needed. In the
+ event a buffer moves, the pushbuf code will emit the relevant state
+ changes into the NOPs.
+
+ Just a start, more work is needed to get this looking how I want it to.
+
+commit edbeec2b9177fef27b5a04b7b9b975b8abf84367
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sat Feb 2 14:21:06 2008 +1100
+
+ nouveau: implement a bo_set_status()
+
+commit 30c9d96ebf038864485139064c47aeb0d0319598
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Feb 1 16:04:38 2008 -0800
+
+ [965] Fix indentation.
+
+commit f85d34e425b14982cec6db9c7f5e91ea8d23ee30
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jan 31 18:43:51 2008 -0800
+
+ Revert "intel: don't apply the relocation optimization if a target"
+
+ This reverts commit e2cb905bc6e23eaafaeeb2abdc9480e70959ee3f.
+
+ It was a reversion of an optimization hidden as otherwise.
+ pre_target_buf_handle was always NULL, so the optimization was never enabled,
+ rather than fixing the important optimization (resulting in 25-50% performance
+ loss).
+
+commit 7eca6be25f31cbbe5b72a70bf6b1e17c0e6df34d
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jan 31 16:16:29 2008 -0800
+
+ [965] Replace XXX comment about constant swizzle with an assert.
+
+commit 61760105df37c5a025150fedf6e2a51c738110e0
+Author: Eric Anholt <eric@anholt.net>
+Date: Sun Jan 27 22:21:01 2008 -0800
+
+ [965] Fix some indentation in brw_vs_tnl.c.
+
+commit aa761b160520479efcf09d12ae4a161fc2f872f7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 1 16:54:46 2008 -0700
+
+ Cell: comment about emit_quad() mask
+
+commit 44d32693562e2fb83572bd10e4d489a7cb6f74f3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 1 16:42:09 2008 -0700
+
+ Cell: move some tile get/clear code
+
+ Also, we weren't marking the ztile as dirty after ztesting, fixes gears glitches.
+
+commit 8bd566a9cb8bb01ef5ce9c526047bafc0fbf0aef
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 1 16:25:42 2008 -0700
+
+ Cell: use global color_shuffle to remove a switch stmnt
+
+commit d7c2eb0df47bd79291172727539b99331a3c6724
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 1 15:45:02 2008 -0700
+
+ Cell: New color packing functions (A8R8G8B8 and B8G8R8A8)
+
+commit 42201d7574ebb1582563988820c248680081c42f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 1 15:33:53 2008 -0700
+
+ Cell: rename/move global vars
+
+ Put tile-related globals into spu_global struct.
+ Rename c/ztile fields to be more consistant.
+
+commit 17305489f0d2a0681d4c0d4952957af517019ab6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 1 15:24:00 2008 -0700
+
+ Cell: deprecate some use of struct cell_command - it should go away completely
+
+ Also, remove ALIGN16_ATTRIB from structs that no longer need it.
+
+commit b1a472bfb7df5ba273574e1799c5b8e85ca5f2d9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 1 15:20:07 2008 -0700
+
+ Cell: remove commands from top-level while loop which should only appear in batch buffers
+
+commit 0e9a370ae2fa7a6d8bbc7d236e63dae1e3dcac37
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 1 14:02:22 2008 -0700
+
+ Cell: move ztest before color interp/packing
+
+commit c392cc8f1bcaaecc2cc723fc5550e5f6462602f3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 1 13:49:51 2008 -0700
+
+ Cell: rename fields of the tile_t union
+
+commit 59be082909de6021ec7d08476253bd4c9920e137
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 1 13:45:58 2008 -0700
+
+ Cell: implement Z16 and Z32 testing with SIMD instructions.
+
+commit b108bea6b44c1abc6d61e3e47096e5122de89cd1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Feb 1 09:27:57 2008 -0700
+
+ Cell: store current tile status in cur_tile_status_c/z, add TILE_STATUS_GETTING
+
+commit ca8d91610f547b9c66f703e07356f6347a121516
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Sat Feb 2 00:56:51 2008 +0800
+
+ mesa: re-define NEED_SECONDARY_COLOR. fix #14310.
+
+commit 746db75cfbdd760cb19d2dfd18b628aeb2fc3054
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Fri Feb 1 20:28:26 2008 +0800
+
+ [intel] fix for previous fix
+
+commit a9a483b43ec090408148d069bc184c0a21323654
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Fri Feb 1 17:36:56 2008 +0800
+
+ [intel] use _mesa_copy_rect for upload compressed texture,
+ this fix bad texture issue in some games(UT and quake).
+
+commit 71f53a22d048b4d972c88a2ed49aa3bc4ff76a21
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Fri Feb 1 16:46:41 2008 +0800
+
+ i965: Don't emit state if fall back to software rendering. fix #14116
+
+commit 20df285b14bc655d5429c7d2b82446204f9a1f2e
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Jan 31 17:22:07 2008 -0800
+
+ Fix using "ccache ppu-gcc" for CC and fix parallel builds
+
+ CC wasn't quoted in a couple places in src/mesa/Makefile. Also, the
+ OSMesa link was missing a dependency.
+
+commit 635341ec5b06b3db453e88f44663d2ad711c3f7d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 31 17:05:43 2008 -0700
+
+ fix typo
+
+commit 633e1133aeed04df650b97c8d25a041014fd6f5e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 31 14:35:25 2008 -0700
+
+ gallium: fix problem in which texcoords and varying vars got mapped to the same slot
+
+ This fixes the glsl/bump.c and glsl/texdemo1.c programs
+
+commit 86787043fae59869133180474cb09dac4f2e619a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 31 14:05:04 2008 -0700
+
+ Fix problem in mapping vertex program outputs (found with "spring" game engine)
+
+ If the vertex program writes to an output that's not consumed by the
+ fragment program, map the vp output to an unused slot.
+
+commit acb81374c1d476ebffbcfc8405db7fff6cc6d6c3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 31 13:37:01 2008 -0700
+
+ gallium: comments about fragment Z computation
+
+commit 9536314a6c99d0acc249180034865b5cfb927e9d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 31 13:36:00 2008 -0700
+
+ gallium: Fix z clear bug when TILE_CLEAR_OPTIMIZATION==0
+
+commit c36cdc61561fee21108f0a68ca661f0d8c7f5d94
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 31 13:32:29 2008 -0700
+
+ gallium: fix get/put typo regression
+
+ This came from commit f3aa4de034b0d791ce2e38e8aeb3b3abdb4e3b50 on 1/22/08.
+ Fixes strange Z buffer glitches seen in progs/glsl/texdemo1.c
+
+commit cd53eb0db19daf1c9aac94011a54e902eb10fe75
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 31 08:21:38 2008 -0700
+
+ Cell: SIMD-ize const_coeff()
+
+commit 256486829f0bc2be7a986a6bdc08df5fc16b77d8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 31 08:12:47 2008 -0700
+
+ Cell: set GALLIUM_CELL_VS env var to enable SPU-based vertex transformation
+
+commit e82c9b867cc18af5da7375871a685f98d1c1527d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jan 31 11:57:15 2008 +0000
+
+ tgsi: Use ESI instead of EBX as temp reg on non-win32
+
+commit 3158e981f5f37768e9b04765704b9eaece8b899b
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Thu Jan 31 18:22:19 2008 +0800
+
+ [i965] renable regative rhw test
+
+commit e2cb905bc6e23eaafaeeb2abdc9480e70959ee3f
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Thu Jan 31 17:17:03 2008 +0800
+
+ intel: don't apply the relocation optimization if a target
+ buffer is used for a relocatee in the former relocation process
+ then another target buffer is used for this relocatee at the same
+ offset in the current relocation process.
+
+commit 50d5f304ad9eba8fe95a6cedfc56cd7213b33fea
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Jan 31 14:26:39 2008 +0900
+
+ gallium: Portability fixes.
+
+commit f4192cb4ca01c51dd2b8eaa6e17c1acbb4232e0c
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Jan 31 14:21:49 2008 +0900
+
+ gallium: Make the build output dir depend on the configuration.
+
+ The build output dirs mimics the old config names:
+
+ build/linux
+ build/linux-dri
+ build/linux-dri-x86
+ build/linux-dri-x86-debug
+ ...
+
+commit c42e6254cffb8ef480868e9c1942f73129fc4f80
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Jan 31 13:14:35 2008 +0900
+
+ gallium: Add SCons as alternative build system for Gallium.
+
+commit 62d11b98c4a4904b56fab153407f49619d6d331d
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Jan 30 20:14:14 2008 -0800
+
+ I don't know why using uint64_t for "base" doesn't work. Ugh.
+
+commit 5a6fd9393021b9476273b7831bcda2186c9324a1
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Jan 30 20:12:00 2008 -0800
+
+ Use SPUs for vertex shader processing
+
+commit a89ee8a96db1ac7674a5ae82e518ce5c380d9195
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Jan 30 20:10:45 2008 -0800
+
+ Add driver_private field for drivers that hook shader_queue_flush.
+
+commit 9ad986b88763f6baefa73830dcd5762156ab9b20
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Jan 30 19:40:24 2008 -0800
+
+ Numerous small fixed to PPU-SPU vertex shader protocol
+
+commit de949a471ed66f0e6db0819bf55b2ec74b7e4048
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Jan 30 19:34:22 2008 -0800
+
+ cell_array_info should not be 16-byte aligned
+
+ Forcing cell_array_info to be 16-byte aligned makes it more difficult
+ to stuff that state in batch commands.
+
+commit 10270fbe2d362fe8f27384b9a5423381e2882460
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Jan 30 19:33:30 2008 -0800
+
+ Correctly read / write vertex header from / to main memory
+
+commit 193491cbd3ad2ad95243181c201da4640f3a29c2
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Jan 30 19:30:15 2008 -0800
+
+ Handle CELL_CMD_VS_EXECUTE *only* outside batch commands.
+
+commit fb348c2cb16d0bc216d29889474972d5c14d0980
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Jan 30 19:25:47 2008 -0800
+
+ Set machine->Processor
+
+ The default value is 0, which is TGSI_PROCESSOR_FRAGMENT...not correct
+ for a vertex shader!
+
+commit 137cb72284a115d8f5ffadf2154b6f5eb5323a7d
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Jan 30 19:24:40 2008 -0800
+
+ Elts are always ints, pass vOut pointers in-line in command
+
+commit 334986114665df650649634b63184be6f1b9cd9b
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Jan 30 17:28:48 2008 -0800
+
+ Implement micro_pow and micro_sqrt
+
+ Unimplemented micro ops get assertions for now.
+
+commit 7b27d9fd660c122fb2ec50007129d67e78814587
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Jan 30 17:26:22 2008 -0800
+
+ Fix size calculation in attribute fetch.
+
+commit 708d699e0cebb2dfbca7b6639ee5b177dc8c4c61
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Jan 30 12:59:09 2008 -0800
+
+ Fetch uniforms from main memory.
+
+commit a0a707342a353024271f09cd52bd955d8df310a8
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Jan 30 10:46:55 2008 -0800
+
+ Missing amperstand in previous commit. Oops.
+
+commit fcf944177325cdf8bf6e4f1b70296c19476e2375
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Jan 30 10:43:23 2008 -0800
+
+ Pass ptr to local memory copy instead of main memory to exec_instruction
+
+ This was essentially a cut-and-paste bug when the instruction fetcher
+ was added. Also, the test for TGSI_PROCESSOR_FRAGMENT was moved
+ outside the loop for exec_declaration.
+
+commit 3d13605ee5fc92a1e3d82f1dbbcb8342066d8af0
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Jan 29 11:43:04 2008 -0800
+
+ Provide mechanism to hook in custom vertex shader cache flush function
+
+commit 13eec106881b846538bef13d694c9d2d9cf1ae6b
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Jan 29 11:28:06 2008 -0800
+
+ Implement vertex fetch / vertex shader output write-back
+
+commit 33cac4824195337d9cf3dfda3fc1147c429ae43c
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Jan 29 10:56:53 2008 -0800
+
+ Initial pass at instruction / declaration fetch
+
+commit 524bba17a75cee597f588da9c19f25d758aa237b
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Jan 29 10:37:18 2008 -0800
+
+ Initial pass at vertex shader on SPU using TGSI VM
+
+ All of the code is wired in on the SPU side, but it is not called from
+ the PPU yet. Instruction / declaration fetch still needs to be
+ implemented in spu_exec.c.
+
+commit 8fb73a59939ac9ec1e41abf89a4a8c8dde09b8df
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 30 20:40:26 2008 -0700
+
+ Cell: prototype SIMD code for z testing
+
+commit 01f59153b5f5a9426fece14b3f691e46be0a0111
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Thu Jan 31 01:34:01 2008 +0100
+
+ regenerate glsl library functions
+
+commit 4cc06635641bd41c1b4ae4c3786913d54a135cdd
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Thu Jan 31 01:32:46 2008 +0100
+
+ fix w component of glsl vec4 asin
+
+commit 24f0e54c1b9ff43dcb75758c8e0faba355c0617c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 30 15:26:51 2008 -0700
+
+ Cell: start to SIMD-ize triangle attribute interpolation
+
+ Using the spu_add(), etc intrinsics.
+ About a 15% speed-up with some tests.
+
+commit 7b149449df3a7de62f79eb96d5b722cc9d3b5912
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 30 12:13:04 2008 -0700
+
+ Cell: fold setup_tri() into tri_draw()
+
+commit 022bf6dfa1ef1c18f0439553e39e473b678848e2
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 30 12:08:23 2008 -0700
+
+ Cell: make 'setup' a regular var instead of passing around a pointer everywhere
+
+ We'll never have more than one of these objects.
+ Avoiding pointer deref improves performance a bit.
+
+commit dcf41a0eed71a67060b4efa9ab4befc86eafc177
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 30 11:56:41 2008 -0700
+
+ Cell: minor code refactoring, movement
+
+commit 0d3f60ec64965a07ef26b551436f0d768154e4d3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 30 11:56:14 2008 -0700
+
+ Cell: check tile status before wait_on_mask()
+
+commit 41bdf4cf4c924e4c04c62dc144584cf7ead3cf44
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 30 11:49:51 2008 -0700
+
+ Cell: make wait_on_mask() static/inlined
+
+commit da6eac242d9b79ad77389b6ab579804bc0261005
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 30 11:49:26 2008 -0700
+
+ Cell: move CELL_MAX_SPUS
+
+commit 2f7c80495250612c88adaa479f7335583dbc3ba2
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 30 08:08:23 2008 -0700
+
+ check if fb->Delete is null (bugs 13507,14293)
+
+commit eb0e0d38eae02df17e2c11503dc047718c1244ad
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Jan 30 16:46:41 2008 +0900
+
+ gallium: Teach draw_vf about draw vertices.
+
+ This reduces the emit overhead, which is significant since we're
+ emiting one vertex at a time.
+
+commit ed0327980a73947cab0ae619cdcfa7455259bff2
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Jan 30 15:24:56 2008 +0900
+
+ gallium: Remove draw_vertex_fetch::lookup.
+
+ It is not being used, and would be dangerous to use given the possibility of constants.
+
+commit 17ef840af40c9228ee0f4f7453bc00e318d9e6c4
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Tue Jan 29 16:41:10 2008 +0100
+
+ gallium: Fix build on WinXP.
+
+commit 1bcd6b8ff9c25a0d8c2d15c365000a50e643b303
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Jan 30 15:34:02 2008 +1100
+
+ nouveau: 0xdeadc0de
+
+commit 7f2713a29ff46a608de0feac2f56f034dbc738cb
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jan 29 11:22:57 2008 -0700
+
+ Cell: use _pack_rgba8() from pack_rgba8.h to do float[4]->uint color conversion
+
+ texcyl.c is twice as fast now in non-texture mode
+
+commit 1aaed3856878a39beb5aab0402d2adb8b277e812
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jan 29 15:17:56 2008 +0000
+
+ gallium: weaken assert slightly
+
+commit 80efe27560134510dce88a52729e5a3d93e8e275
+Author: Alex Deucher <alex@cube.(none)>
+Date: Tue Jan 29 10:14:04 2008 -0500
+
+ Add new RV380 pci id
+
+ bug 14289
+
+commit ae7dcae81bc54bc16f16127f2fa1d01d9aa2332c
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Jan 30 00:05:50 2008 +1100
+
+ nouveau: support nv67
+
+commit c81848210e744650724a63fbf5a5795fa4e019c5
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jan 29 12:37:47 2008 +0000
+
+ gallium: streamline various unfilled & stippled paths
+
+commit c185c55aec8c6d0e47a2d7b84acf7d063acfce61
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jan 29 12:37:07 2008 +0000
+
+ gallium: don't rely on assert(0) for error handling - may be disabled
+
+commit f94425b316b57ad19ce067a449b20ebee50064f9
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jan 29 20:47:30 2008 +0900
+
+ gallium: Emit point size as a constant.
+
+commit 5022344c656c0e004222a0a77c98838e8ae0a1ac
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jan 29 20:46:48 2008 +0900
+
+ gallium: Emit constants.
+
+commit 6f75de06ff2ea899b43b94236dbfbfaee12ba88c
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jan 29 18:01:17 2008 +0900
+
+ gallium: Allow draw_vf usage to be controlled at runtime.
+
+commit 3d3f7cf06e4ac25aeb604703cb8113db9fd2f8eb
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jan 29 11:21:29 2008 +0900
+
+ gallium: Add extern keyword to global.
+
+commit 8e444fb9e2685e3eac42beb848b08e91dc20c88a
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Tue Jan 29 11:13:53 2008 +0800
+
+ i965: new integrated graphics chipset support
+
+commit 59e7bfd5ac06bdae815ab5afa2fadb6d898c420d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 28 18:17:55 2008 -0700
+
+ Cell: add OPT_FLAGS var
+
+commit 64935c875128d2d1254b6b39ced72b9848d477fe
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 28 18:17:30 2008 -0700
+
+ Cell: move cmd_render() into new spu_render.c file
+
+commit 4bede9219be1f93844c5897216c6674b46a23a88
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 28 18:09:16 2008 -0700
+
+ Cell: add a few null texture tests
+
+commit e2406b47883d74933e74507af65695c8c7d7861a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 28 18:03:45 2008 -0700
+
+ Cell: compute min index referenced in draw command, use it to reduce size of vertex data payload
+
+commit 25105276b38451439516928d188e07f2eb3e250e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 28 17:32:23 2008 -0700
+
+ Cell: minor optimization for flat shading
+
+commit 425f270fcbfdbfce98adaf9da4b8eb7360f34447
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 28 17:23:44 2008 -0700
+
+ Cell: basic texture mapping
+
+ Texture images are tiled in PPU code. SPUs use a texture cache for getting
+ texels from textures.
+ This is very rough code, but demos/texcyl.c works.
+
+commit c2372cc7481bf3985a6a3126952ab9d5dab4bf77
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 28 17:22:12 2008 -0700
+
+ Cell: initial texture cache/sampling code
+
+commit 41899c70a72cd6206acec6c4c41953fea17d4ecf
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 28 13:02:11 2008 -0700
+
+ Cell: emit state in cell_clear_surface() if dirty.
+
+ Without this a program that does nothing but glClear() doesn't work. We need
+ the framebuffer state.
+
+commit 043fc00a60377f8cd1878e0d0e5157dfb4567289
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 28 12:46:05 2008 -0700
+
+ Cell: re-enable bounding boxes
+
+ The geometry bounding box is used to restrict rasterization to just those
+ tiles that are relevant.
+ Note another dummy field had to be added to the cell_command_render struct.
+ Apparently, every 4th word in a struct is susceptible to corruption in some
+ circumstances. Might be a compiler bug.
+
+commit 1cc0b0dda7eaf6bdf891d6915b36e7b2ff41133c
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jan 29 09:42:03 2008 +0900
+
+ gallium: Use GALLIUM_ prefix for env vars.
+
+commit 93d727eea75812ecb21706804033a33d2e761eb8
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jan 29 09:41:21 2008 +0900
+
+ gallium: Use CALLOC for pb_buffer to ensure that all fields of pipe_buffer are initiallized.
+
+commit f3d0882c0218612a91a6feac91d23b34f6447d8e
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jan 29 09:34:09 2008 +0900
+
+ gallium: Remove direct dependencies to mesa internals.
+
+ _mesa_exec_free is still being called. More invasive refactoring is necessary to clean it out.
+
+commit 1e2d6b1b82aaa8bc57535e56c5e6eac9387e22e6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 28 20:57:58 2008 +0000
+
+ gallium: remove dead vars, code
+
+commit c50ba44095ceef6395727769663ed46c63a1a514
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 28 20:57:16 2008 +0000
+
+ gallium: fix typos in hardwired fetch path
+
+commit bd299093ec267dcf22ea3ef8012e32eba4cfb655
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 28 12:41:47 2008 -0700
+
+ push out far clip plane to 200
+
+commit f09b2382e9a2c8f4302e644ea8c9cb7c933457a1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 28 12:41:47 2008 -0700
+
+ push out far clip plane to 200
+
+commit ba083bae69dcf41e764acd85ad84594d00c8b670
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 28 12:35:20 2008 -0700
+
+ Added d/D keys to change viewing distance, 'a' to toggle animation
+
+commit e7007c6fb02ed885ef6edf8bb364ea3c81ae6e1d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 28 12:35:20 2008 -0700
+
+ Added d/D keys to change viewing distance, 'a' to toggle animation
+
+commit 3d1b0f4c57edaf5707e4952617dcd6c57dfbdc65
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 28 11:21:25 2008 -0700
+
+ Cell: additional assertions
+
+commit a8590e097e965c01ede7df47ff752b0e7adabace
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 28 11:20:47 2008 -0700
+
+ Cell: make sure state commands aren't split across batches
+
+commit 3f8a8eada693c9501b3e52d47986e46028c172b0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 28 10:41:51 2008 -0700
+
+ Cell: remove unneeded flush(), dead code
+
+commit 5b5ec94663d566b4840975c4ef4740abb138bb12
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 28 10:41:27 2008 -0700
+
+ Cell: clean-up of render path
+
+ Finally removed a number of unneeded flush commands. Vertex buffers are
+ allocated from the general buffer pool, freed by SPUs when done.
+ Still an occasional failed assertion (invalid batch buffer command)...
+
+commit 7024019d4e6e2a1618e910a127bea8c3b7661a54
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 28 10:00:27 2008 -0700
+
+ Cell: checkpoint commit: always inline prim indexes into batch buffer
+
+ Also, explicit release-vertex-buffer command.
+ Lots of debug/stale code still in place...
+
+commit 200dcb4760960f0d9c74a7053de63337e93dd85b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 28 09:57:51 2008 -0700
+
+ Cell: If flushing for swapbuffers, wait for frame completion
+
+commit aaea9a121bc739db87e539214c23f76d4cd5bf49
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 28 09:57:13 2008 -0700
+
+ Cell: additional debug code, misc clean-up
+
+commit 2194675196260c0a5d44242d698b85c86f84074b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sun Jan 27 12:01:47 2008 -0700
+
+ Cell: generalize the batch buffer code for vertex buffers...
+
+commit 16ed55c6412d2bdc5bff78e99114490223fb4afe
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 28 09:23:29 2008 -0700
+
+ gallium: check if surface has defined status in check_clear_depth_with_quad()
+
+ This was part of Keith's patch from Friday.
+
+commit 82d9063708539d53c7670b2ab732bed24230b94d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 28 15:50:02 2008 +0000
+
+ gallium: handle flatshading explicitly in clipper stage
+
+ We can do a better job in the clip stage than just relying on the
+ brute-force approach of copying colors to all incoming vertices applied
+ in the flatshade stage.
+
+ At very least, it is only necessary to do this in the clipper when a
+ primitive is actually being clipped.
+
+commit 88858e046888d0bcb763537adc74a64e564678df
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 28 12:40:29 2008 +0000
+
+ gallium: add a couple of hardwired vertex fetch functions
+
+commit 99f297651198c3424aab202595064d6f5596b2fc
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 28 11:12:11 2008 +0000
+
+ gallium: only call vertex/prim queue flush when there is something to flush
+
+commit a46181044fd5573895180ee5f1a016c4c1e4a653
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 28 10:48:22 2008 +0000
+
+ gallium: explictly cast double to float in vertex fetch
+
+commit 4141ebdf59cddbb412b388c7f38f50e5e80c49d2
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 28 10:46:52 2008 +0000
+
+ gallium: fill in missing formats for vertex_fetch
+
+commit 5abc8d9e23b1b8cde9c4183b73bfced3d4f01c87
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 28 10:14:13 2008 +0000
+
+ gallium: remove dead code from draw_vf*
+
+commit 09059259bed779360158664625e41a67f7496a74
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Jan 28 18:46:21 2008 +0900
+
+ First stab at hooking draw_vbuf & vf.
+
+ Emit disabled for now. Tested with softpipe. Only one vertex at a time for now (slow).
+
+commit d342a6eeccb829dfbdb95f259bc9a272a16a8b4b
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jan 28 18:40:11 2008 +1100
+
+ nouveau: ddx versioning changed to match nouveau.ko versioning
+
+commit faa05d41c5035d9d4f8c75ebe406b913e78ad57f
+Merge: 3e39bc3 c3f10ae
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jan 28 18:34:21 2008 +1100
+
+ Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1
+
+commit 3e39bc3d87a82d81ffaf383303ada32e530b879e
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jan 28 18:32:46 2008 +1100
+
+ nouveau: quicky-port to gallium changes
+
+commit 19caf4e4f0eae82ff5f36e5bc99463b6677467e6
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Jan 28 15:48:51 2008 +0900
+
+ Clone vf module.
+
+commit c3f10aef386e0af90f8735d8b9598959c17a590f
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Jan 28 15:00:08 2008 +0900
+
+ Simplify prototypes of draw_vbuf's internal functions.
+
+commit 3b93c74a8d6e36039b79ddf38c11e27aa0bd3b9b
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Jan 28 14:51:14 2008 +0900
+
+ Cache the vinfo in vbuf_stage.
+
+commit dac124081d4bbc9d7527661e4a96aa78077b9f52
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sun Jan 27 19:22:25 2008 +0900
+
+ Do refcounting trhoughout all buffer objects, since it is now a base requirement.
+
+commit e6c8278c04518b8b8b0960a9e21b48b6816fcc20
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sun Jan 27 19:20:48 2008 +0900
+
+ Fullfill pipe_winsys->user_buffer_create. Aggregate winsys functions.
+
+commit 87a8a339d7c8973168ffb5e5506f7ec4b3a524ba
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Jan 26 19:38:16 2008 -0700
+
+ Cell: added support for inlined vertex buffers.
+
+ Small prims are now self-contained in batch buffers when space allows.
+
+commit 419a5cca34d931e61587eaeb8d32a44b415c43ad
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Jan 26 19:31:20 2008 -0700
+
+ Cell: added ROUNUP4
+
+commit 3bfef648000e544a3505feea5bda7aa9f184f304
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sun Jan 27 12:16:06 2008 +1000
+
+ r300: add initial rs690 support to Mesa
+
+ The rs690 has an rs4xx style vertex-shader less 3D engine. It uses the new
+ r500 output engine though. It also needs a new drm with rs690 support,
+ which is just getting cleaned up.
+
+commit a556034514582dc8e1b8b65f56020031d513331b
+Merge: 9043323 b717de3
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Jan 27 12:35:33 2008 +1100
+
+ Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1
+
+commit 1bab5bd24e09b6e11cd99f989bb00c587119aed2
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Jan 26 18:30:44 2008 -0700
+
+ Cell: added support for inlined indexes
+
+ If there's room in the batch buffer after the rendering command to accomodate
+ the indexes, put them there rather than in a separate buffer.
+
+commit 8dc597290813f58e2f2b7ddcb4ad762ea379c1f7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Jan 26 18:27:37 2008 -0700
+
+ Cell: added cell_batch_free_space()
+
+commit 651e8e9a73b4f0c3424a78b978f710d098f47ae2
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Jan 26 16:46:52 2008 -0700
+
+ gallium: disable unnecessary point/line/tri re-validation in vbuf_flush_indices()
+
+commit b717de3238a028a3fdfbaf13eb02dbde262f03e7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Jan 26 16:06:26 2008 -0700
+
+ Cell: remove some old tile code
+
+commit ffeae750314b918839c118896a645d4f4f15d230
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Jan 26 16:05:35 2008 -0700
+
+ gallium: s/GLuint/unsigned/ to work with gallium when THREADS not defined
+
+commit 9ef61b98087603617702043c07633282148883e3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Jan 26 16:04:47 2008 -0700
+
+ gallium: fix a few segfaults/assertions that can happen during context init
+
+commit 856db7dee69083733a1d6e02a33bec4189387f60
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Jan 26 14:14:56 2008 -0700
+
+ Cell: fix a recursive flushing bug
+
+commit d4bd6ca8162be0684e4bff06a17b9dea1a02d217
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Jan 26 14:12:33 2008 -0700
+
+ Cell: add check to catch recursive batch flushing
+
+commit 7f4bec264e8180609846379da6f63555fc2eafef
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Jan 26 14:11:50 2008 -0700
+
+ Cell: move ASSERT macro into common.h
+
+commit 65df0241465b2dae4979d71cad17b83cfd1fda11
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Jan 17 17:06:16 2008 +0900
+
+ gallium: Aggregate all buffer allocation info into a single struct. Obey requested alignment.
+
+commit ca01ed45e8dee7970c6eefb528b7576ce6717459
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Jan 25 18:38:25 2008 +0900
+
+ gallium: Make mm buffer manager more portable.
+
+commit 0afe449bfc568c4bc6fa69afa5de6edae93b27a9
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Jan 25 18:37:41 2008 +0900
+
+ gallium: Remove unneeded headers.
+
+commit 8ee1452e184e030eb7cc865a7828c8a5ea08d6f7
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jan 24 11:09:07 2008 +0000
+
+ gallium: fix linux build
+
+commit 9387784fbf22495898abe3dc41cfcd42397792cd
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Jan 23 15:47:10 2008 +0100
+
+ gallium: Fix build on Windows.
+
+commit 0fe428f1dfafe6bfb8896e0a08cbe12d569497d7
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Wed Jan 23 15:47:10 2008 +0100
+
+ d3d: Fix build on Windows.
+
+commit b8dc2956df0f534924fc45287cccc04499e70959
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sun Jan 20 21:33:35 2008 +0100
+
+ gallium: Fix build on WinXP.
+
+commit 1d6c98651f73b2f110d26c906c6626d5b750d38b
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jan 22 00:13:50 2008 +0900
+
+ gallium: Use directory name in include.
+
+commit 6c3d12e374939d36a23af7c9c502de18ce02f423
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sun Jan 20 19:36:23 2008 +0100
+
+ gallium: Fix build for WinXP.
+
+commit 7411a84c2bd6f4dd4f027c6c6a647822cbb4c061
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Jan 25 19:33:58 2008 +0900
+
+ gallium: Define MALLOC_STRUCT.
+
+commit 9cbff50cb8d8c727bb0da1c60813fffe66f390e7
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Thu Jan 24 18:15:30 2008 +0100
+
+ gallium: Fix build on Windows.
+
+commit 337ebdd8f987a76579498d84bdea76a3ee819fcf
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Thu Jan 24 16:41:29 2008 +0100
+
+ gallium: Fix build on Windows.
+
+commit 027983f5850afea753381be454122166c6d56777
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jan 24 11:19:06 2008 +0000
+
+ gallium: restructure vertex fetch code slightly
+
+commit c3e4e9260d7527bb0369650b861cba43834f7106
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Jan 24 19:40:14 2008 +0900
+
+ gallium: Fix MSVC float/double conversion warning.
+
+commit 2bca9f6457d8f766ef12891657fc2d10ea72ef54
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Jan 24 19:37:37 2008 +0900
+
+ gallium: Complete integer types.
+
+commit f3aa4de034b0d791ce2e38e8aeb3b3abdb4e3b50
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jan 22 14:38:36 2008 +0000
+
+ gallium: minor cleanups to pipe interface
+
+ - Remove put/get tile, just have users call put_tile_raw, etc directly.
+ - Remove surface_data call, just map it locally.
+
+commit 1e9e4341e08a45c93e7caa90c2cca844469f4629
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 21 20:25:19 2008 +0000
+
+ gallium: add PIPE_FLUSH_SWAPBUFFERS flag
+
+commit 6d2d41294ce7de78d56051261bb4fc345517bf9b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 21 20:23:32 2008 +0000
+
+ gallium: add notify_swapbuffers_complete, use it to set surfaces to undefined state
+
+commit 596a92ee7590cd3819aad0139cf779d28e57874d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 21 20:22:49 2008 +0000
+
+ gallium: specialize glFlush vs other flush semantics
+
+commit a97b3f64b36aa8d5905a7ed8b7c9f00324661060
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jan 18 17:30:21 2008 +0000
+
+ gallium: remove makefile whitespace
+
+commit 0b958e3b7c34ffdd63fb1cd1b4c9084640ed9a78
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jan 25 17:34:22 2008 -0700
+
+ Cell: updates to match pipe_buffer changes
+
+commit b5618330c64d8bdb260c258e0b47c8047ce41112
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jan 25 17:34:04 2008 -0700
+
+ Cell: typedefs need semicolons, Ian :)
+
+commit 4d534124e77109a0405bf68dc3fa1a370f5ea014
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jan 25 09:01:36 2008 -0700
+
+ Cell: emit framebuffer state like other state
+
+ Plus misc clean-up. Window resize sometimes works now.
+
+commit 42d38ac02fff63406cd59914a3eb1e5ad27134d0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jan 25 17:22:02 2008 -0700
+
+ gallium: replace loop w/ memset in draw_vertex_cache_invalidate()
+
+commit 1603a33fb276d7e78a2e872dfa05aa0093d1329a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jan 25 17:21:05 2008 -0700
+
+ gallium: better flush logic in draw module
+
+ This is the other half of Keith's draw/flush patch.
+
+ There are now 5 flush flags to control what's flushed (post-xform vertex
+ cache, prim cache, vbuf, etc).
+
+ The gears slow-down in this part of the patch was due to the cull stage not
+ getting invoked. It was unconditional before, but is now gated by 'need_det'.
+ But it also needs to be gated by draw->rasterizer->cull_mode. Gears uses
+ back-face culling.
+
+commit 0bfd085e2866fbbd40209dcee23f0e6240583fe8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jan 25 15:59:27 2008 -0700
+
+ gallium: replace prim pipeline begin/end() functions with flush()
+
+ This is basically half of Keith's draw/flush patch.
+
+ The stage->point/line/tri() functions are now self-validating, the validator
+ functions are installed by the flush() function.
+
+ There were excessive calls to validate_pipeline(), however. This was caused
+ by draw_prim_queue_flush() keeping a local 'first' variable that always pointed
+ to the validate functions. Replaced 'first' with 'draw->pipeline.first'.
+
+ Performance in gears is up just slightly with this patch.
+
+commit bd8bf60b6f2402895e7159a4df644f8a4a307cf5
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Jan 25 14:46:43 2008 -0800
+
+ Work around parameter differences for main in different SDK versions
+
+commit 1e0d30a515e4cac891b6c590f12a33e0e8a8e295
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jan 25 20:53:31 2008 +0000
+
+ gallium: rename pipe_buffer_handle to pipe_buffer, rework pipebuffer/ code
+
+ Provide an actual definition of the pipe_buffer struct, containing
+ the parameters used to create the buffer, and its refcount.
+
+ Shift refcounting buffers out of the winsys interface, similar to
+ surfaces & textures.
+
+ Rework pipebuffer/ to reflect the fact these changes, and also Michel's
+ reworking of the buffer interface.
+
+commit 756d52ec12c41ee90ee9598dc9028cc134806bd2
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Fri Jan 25 17:01:01 2008 +0100
+
+ gallium: Simplify winsys buffer interface.
+
+ The properties of a buffer represented by struct pipe_buffer_handle are now
+ basically constant over its lifetime. The state tracker gets to deal with any
+ more complex buffer semantics it may need to provide.
+
+commit 7a207682aafc05c62cbc5851cc6c98c43aa3d9bd
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jan 10 14:57:55 2008 +0000
+
+ 965: add asserts to catch batch overrun
+
+commit 59d66bf9df3a6b964f177a8aff286cac63476add
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jan 10 14:57:07 2008 +0000
+
+ 965: cope better with range decls for temps, immediates, etc
+
+commit c344bda34dcbc1731573edc94de0c20549557adf
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jan 25 08:19:45 2008 -0700
+
+ gallium: include p_state.h, replace PIPE_MAX_SHADER_OUTPUTS with PIPE_MAX_SHADER_INPUTS
+
+commit 235da629dceb23bfddea1eadfcf771d2794d6119
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jan 25 08:17:52 2008 -0700
+
+ Cell: propogate vertex info to SPUs, use it for attrib interpolation
+
+commit 4c4f691069411c77b33a6bfca64766f861cbc823
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jan 25 08:17:04 2008 -0700
+
+ Cell: batch_buffer_size should be uint, not ubyte
+
+commit 78bff07f73a546363b737b33958311efa7b3ce53
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 24 18:26:37 2008 -0700
+
+ Cell: new ROUNDUP16() macro
+
+commit a148cc51fbe56266199057cfde2abb2b59eb8713
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jan 25 08:15:04 2008 -0700
+
+ gallium: optimizations to flatshade, two-side prim stages
+
+commit 48355538a65fe9c0be234c61080edd70f6a86736
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 24 15:23:27 2008 -0700
+
+ gallium: added rastpos_destroy()
+
+commit da60fd1291c9ab3bd898c80d9583d2041df6d0b7
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Fri Jan 25 16:52:08 2008 +0800
+
+ i965: valid message length includes message header.
+
+commit fc81f428176c8914fd2ea8691390c9171a125618
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Fri Jan 25 16:38:38 2008 +0800
+
+ i965: re-define the type of reg.loopcount.
+ avoid some issues such that 1 + (-2) gets a big
+ positive value.
+
+commit 547e52f4a04f39d5a96bf5b1ebe97c83b9219dab
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 24 18:20:07 2008 -0700
+
+ Cell: insert dummy field into cell_command_render struct to work around apparent compiler bug
+
+ Without this dummy field, it seems the SPU code in cmd_render() gets a bogus
+ value when dereferencing render->num_indices, sometimes.
+ This showed up as missing tries in gears.c in the first frame rendered.
+ Using spu-gcc version 4.1.1, Cell SDK 2.1
+
+commit 7d0421d6cda0de49ca810cebdf9fa328c48d115f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 24 17:04:54 2008 -0700
+
+ Cell: s/-W/-Wall/ in linux-cell
+
+commit fa82d863684a89ff8c56c3b0196488c15024f743
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 24 16:47:23 2008 -0700
+
+ Cell: send actual vertex size in the render command
+
+commit 0673c571c79d00d05328bf41e9c6a52bfb0f7324
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 24 16:41:03 2008 -0700
+
+ Cell: rewrite compute_vertex_layout()
+
+commit 95ff06d610b976dbd88f78a0d209916c463dda91
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 24 16:39:34 2008 -0700
+
+ Cell: fix asst. warnings
+
+commit c753e7adde9a7a2c8ff772fe8e2a42084c5966e0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 24 16:05:33 2008 -0700
+
+ gallium: added rastpos_destroy()
+
+commit f0310f76363712dcd6c5b89373330aef50b07efb
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jan 24 13:00:13 2008 -0800
+
+ Bufmgr cleanup from intel-batchbuffer branch of 2d driver.
+
+commit 5f0d76204df30de7af9608cf21ddc3cf50eff7b1
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jan 24 12:29:04 2008 -0800
+
+ Clean up comments/dead code from relocation buffer change.
+
+commit 8931585d2c478993b23d46bf5f83c99f8bb5fbad
+Merge: b87c1ab a018abd
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jan 24 12:26:29 2008 -0800
+
+ Merge commit 'airlied/i915-ttm-cfu'
+
+ This requires current DRM which changes the relocation buffer from being a
+ buffer object to plain malloced memory.
+
+commit 6c29be9f41470b22c87ef571e10b5a9824800608
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 24 09:59:39 2008 -0700
+
+ i915: add case for TGSI_FILE_IMMEDIATE to avoid error, but still needs proper handling...
+
+commit 47b3afc53f25b1374afe38664c90404bce42ec22
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 24 09:18:15 2008 -0700
+
+ Cell: use Cell driver by default if linux-cell is built
+
+ To disable the Cell driver and use softpipe instead, export GALLIUM_NOCELL=1
+
+commit b87c1ab2c06d0556d57a6377cf7ade737eef5b73
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 24 09:15:31 2008 -0700
+
+ Bring in previous 7.0.1/2 release notes, added Cell driver page.
+
+commit 6e2c3b3a494f7dd44e7718ee1c006848cd835100
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu Jan 24 08:29:19 2008 -0500
+
+ disable usage of llvm in fragment shaders
+
+ it produces wrong results because it hasn't been adjusted to some
+ new changes and it will just be in the way while changing llvm
+ code to a different vector layout
+
+commit bac991d6452a12a9c6cb85293a17448540761ca7
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu Jan 24 07:49:36 2008 -0500
+
+ change the name of the shaders to reflect what they do.
+ remove stale code and do some general cleanups.
+
+commit 11349b6a5f648bbad8765bf744a8e42b0f5e5f50
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 23 23:33:35 2008 -0700
+
+ Cell: s/FORMAT/EMIT/
+
+commit 2549d79ae5342a2b97c06e3b0db9da6eb7821d2e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 23 23:27:31 2008 -0700
+
+ gallium: rename FORMAT_x to EMIT_x and use EMIT_ALL to emit whole vertex as-is in vbuf code
+
+commit 6000dcc973cdc1bd61621b432aed27d21059ae5d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 23 23:08:59 2008 -0700
+
+ gallium: improved vertex layout and interpolant setup in softpipe
+
+commit a018abd446dc454b6950de8701dc44c5170e5933
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Jan 24 14:38:50 2008 +1000
+
+ i915: move to using copy from user for relocations
+
+commit dc1abc393206c3eb00e7cca60ce3499c993bc1f6
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Jan 3 15:11:02 2008 -0800
+
+ Specify linker instead of letting mklib use gcc
+
+ This is the final bit required to get Cell builds on x86 working.
+ Without this, mklib tries to link using the x86 gcc instead of
+ ppu32-gcc.
+
+commit b3492a2052a8877739ddf430922ed48ae30d84da
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Jan 3 15:08:53 2008 -0800
+
+ Use HOST_CC for programs that will run on the build host
+
+commit ffcb4d84984dde393d914e1a4af5b83488683071
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Jan 3 14:59:14 2008 -0800
+
+ Use EXTRA_LIB_PATH with *_LIB_DEPS
+
+ Make sure EXTRA_LIB_PATH is used with all the LIB_DEPS. Re-order some
+ of the options and tweak the whitespace to make the various LIB_DEPS
+ more readable. This makes building for Cell on x86 a bit easier and
+ doesn't seem to effect other builds.
+
+commit eb4a7382dc7ef425d6cb7e176026cc07f6105e1e
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Jan 3 14:57:07 2008 -0800
+
+ Remove unnecessary paths
+
+ Removing the paths on certain commands (e.g., ppu32-gcc) and removing
+ -I/usr/include makes it possible to build for Cell on both PowerPC and
+ x86 hosts.
+
+commit f5d2c1eef943bcd1c4c42dcb2b2634cdf6e243e0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 23 16:19:40 2008 -0700
+
+ Cell: remove old test code
+
+commit f19b2d72214fe4354d1e123ebe892255a11525c3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 23 16:17:49 2008 -0700
+
+ Cell: asst. updates to sync up with today's earlier gallium changes
+
+commit 4875b4030490d7756d607d42821deed0035e1ec4
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 23 16:03:19 2008 -0700
+
+ Assorted patches for miniglx/linux-solo (Gavin Li <codeview@gmail.com>)
+
+commit 8de2331e432e2ea6f978acb6c80666da99c6c4a1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 23 15:45:52 2008 -0700
+
+ gallium: remove support for separate depth/stencil buffers. Always combined now.
+
+commit 1cf3c77e086d3f8b01921aae9b7309aa62b3d15e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 23 15:39:34 2008 -0700
+
+ gallium: in sp_tile_cache_clear() mark all cache slots as empty/free. Fixes progs/redbook/stencil.c
+
+commit 336e2cb9ec52e5cf8b2fac3142d5a67e3dcd55c4
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 23 14:23:49 2008 -0700
+
+ gallium: rework compute_vertex_layout() to intelligently map vs outputs to fs inputs
+
+ Some follow-on simplification in prim setup is possible...
+
+commit 2d37e78e636e5e1e7d5d00230e50a00f7a71e868
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 23 13:17:50 2008 -0700
+
+ gallium: restore/rewrite vbuf code for softpipe
+
+ Now based on the draw_vbuf code, instead being a custom one-off.
+ Disabled by default, enable with SP_VBUF env var.
+
+commit cd3643698eafa0869a8317b002e5b066de0172e7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 23 12:48:41 2008 -0700
+
+ gallium: overhaul usage of vertex_info in draw module.
+
+ Remove all dependencies on vertex_info, except for draw_vbuf.
+ Drawing stages now strictly operate on post-transformed vertices and don't
+ know anything about hw vertices.
+ Use vertex program output info for two-side/flat/etc stages.
+ Temporarily disable vbuf module in softpipe driver.
+
+commit b3f081999f8eb904370df7492e39184268c77c13
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 23 09:27:39 2008 -0700
+
+ gallium: s/INTERP_NONE/INTERP_LINEAR/ to fix assertion with progs/samples/select.c
+
+commit 2444f6c6a4c2f54c3198882c2256419628ca49d1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 23 08:24:30 2008 -0700
+
+ gallium: fix computation of raster.point_size_per_vertex flag
+
+commit 46a787ad979e16b827caad5a123b41f8f59327f1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 23 08:24:08 2008 -0700
+
+ gallium: multiply vertex point size by 0.5
+
+commit 9043323f1437f9c6791845b3ddbb9af912b45110
+Merge: 4481c6c 2863800
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Jan 23 15:27:00 2008 +1100
+
+ Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1
+
+commit 2a077500a84819d1e6ac62e84ded130aa655c5e9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jan 22 21:11:55 2008 -0700
+
+ Fix some issues with glDrawBuffer(GL_NONE), bug 14198
+
+ Set _ColorDrawBuffers[0] = NULL if no renderbuffers enabled.
+ Check that _ColorDrawBuffers[0] is non-null before dereferencing in a few places.
+
+commit 286380020b146d600ac86d519ddfbf765a5965b2
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jan 22 20:52:48 2008 -0700
+
+ gallium: use temp reg for storing color to avoid reading 'result.color'
+
+commit 59e8f3e5e91f27c5d12b810375247fb1ddea68fe
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jan 22 16:37:19 2008 -0700
+
+ gallium: Don't allocate a vertex buffer until after setting the prim type.
+
+ The vertex size may depend on whether we're drawing points, lines or triangles.
+
+commit 52264ec53d8d3b20ed7575e2ce09856cb15ab461
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Jan 22 16:35:50 2008 -0700
+
+ added stipple_destroy()
+
+commit e1ae5b89fce51ce1138a5cbe93caa0e1fccf219f
+Author: Adam Jackson <ajax@redhat.com>
+Date: Tue Jan 22 14:57:20 2008 -0500
+
+ glxinfo: Fix multisample visual reporting.
+
+ strstr() == 0 tests for the string _not_ being present. Originally
+ Red Hat bug #351871.
+
+commit f1fb69a6e52260193ec16a9820a66e3e4bb03edd
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jan 22 10:16:30 2008 -0700
+
+ gallium: Added FORMAT_1F_PSIZE to insert constant point size into vertices
+
+ Also, added draw_convert_wide_points/lines() so a driver can tell the draw
+ module whether to convert wide points/lines into triangles, or just pass
+ them through.
+
+commit 46eb02b60920a920b782bacb15f01b44e18f888d
+Author: Kristian Høgsberg <krh@temari.boston.redhat.com>
+Date: Tue Jan 22 12:13:16 2008 -0500
+
+ [intel] Clean up references to screen buffer metrics.
+
+ The screen wide info such as pitch and cpp are obsoleted by the FBO
+ changes, so clean up the last few references to those, except for
+ setting up the legacy screen regions.
+
+commit 5c82549d9e3151aae4f66f2a26b6055475f6f538
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jan 22 08:40:29 2008 -0700
+
+ fix pc vs. gc->ps usage (bug 14197)
+
+commit 6bd32cbcf30acb693f9b32fac3d4bcd5a785b5f6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jan 22 07:56:26 2008 -0700
+
+ Don't build yuvrect_client by default
+
+ Added 'extra' rule to build optional yuvrect_client, shape, xdemo programs
+
+commit 60dd3b1d9a60b97c5bd8e8d56613d0413de06931
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jan 22 07:54:08 2008 -0700
+
+ remove unused var
+
+commit e58c365cda70fc31cc0f87873079fa2304310ab9
+Author: Alexey Sokolov <sokolov@truebsd.org>
+Date: Tue Jan 22 07:43:43 2008 -0700
+
+ define M_PI if needed
+
+commit 7049ff53f640aeccc9523a103468183ffda996fd
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 21 21:19:24 2008 -0700
+
+ gallium: silence warnings
+
+commit cfeda4165b2845d2253d3082aa771a2346bac6a0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 21 21:15:43 2008 -0700
+
+ Cell: initial support for sampler state
+
+commit 0c085717cbb63f00223dc1df3d514f1ef2aaeda1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 21 20:54:38 2008 -0700
+
+ Cell: s/cell_init_surface_funcs/cell_init_surface_functions/
+
+commit 13189412d93cd7ce5863aaf21b8c91d21bd535c0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 21 20:53:23 2008 -0700
+
+ Cell: Added cell_surface.[ch] files
+
+commit a1799ecd82c5a04123d1f06ef7a2e18c6b719f96
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 21 20:51:03 2008 -0700
+
+ gallium: remove unneeded protos, #includes, etc
+
+commit b91de8a6e7d74d38698b6dad9f34040e484e69af
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 21 20:50:39 2008 -0700
+
+ gallium: include sp_headers.h
+
+commit 8538da0d7a3a4fc0cffa700d5fa220895688e44e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 21 20:31:36 2008 -0700
+
+ Cell: renamed cell_surface.[ch] to cell_clear.[ch]
+
+commit c27c3529845b535826f56c16fb0e9a258e5d5841
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 21 20:31:16 2008 -0700
+
+ Cell: rename cell_surface.[ch] cell_clear.[ch]
+
+commit 1811965091341fb2c5c94ac0e3bb3c2ca4de161e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 21 20:26:40 2008 -0700
+
+ Cell: Add initial texture functions
+
+commit fd9c03fc428b325103051d4543e464def71d0b53
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 21 20:25:44 2008 -0700
+
+ Cell: add cell_set_sampler_texture()
+
+commit 4211d2d4618ace01c70b86f69d8d0d297f83d74d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 21 20:23:48 2008 -0700
+
+ gallium: move softpipe_get_tex_surface() prototype
+
+commit c14773b06be1229ada36be8c1a2b3a2dad846285
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 21 20:16:13 2008 -0700
+
+ gallium: add license comment
+
+commit e2612f4aa057ef20cc6eaf37337239bfc580d328
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 21 20:14:22 2008 -0700
+
+ gallium: move softpipe_get_tex_surface() into sp_texture.c
+
+commit 5a57ffafd623a04b86aea19c000ff4a64c47fd43
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 21 19:25:10 2008 -0700
+
+ Cell: added asmfiles rule
+
+commit be92796eb9b0ef35ad84c59ad183863ed2dbe002
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 21 15:29:54 2008 -0700
+
+ gallium: prototype draw_linestipple.c replaced by draw_stipple.c
+
+commit ea3a2b440207f319438fe76d9a451e78f0e575d4
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 21 14:10:16 2008 -0700
+
+ gallium: remove per-fragment line stipple code
+
+commit 329a8479b69a800b5fc6485767fb676c3eae26db
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 21 14:08:20 2008 -0700
+
+ gallium: new 'draw' stage for line stipple
+
+ Stippled lines are converted into a series of shorter line segments
+
+commit 7f21d04a518ac24348934961646501d6ed029466
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 21 11:37:58 2008 -0700
+
+ fix broken point rendering in sp_vbuf_render()
+
+commit 382b86e90f69fa0493fae3c7e5c9cd482984af8f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 21 11:16:22 2008 -0700
+
+ gallium: add a src_index[] array to draw's vertex_info for mapping post-xform vertex attribs to hw vertex attribs
+
+commit f4b89be70111793a6b5eb511e1c92be72bb6b3d9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sun Jan 20 17:39:07 2008 -0700
+
+ Cell: use tile_t for color tile
+
+commit f0be276c2e84716856ae87b4b0f0411700ed5be4
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sun Jan 20 17:27:05 2008 -0700
+
+ Cell: clean-up/re-org tile code
+
+ Also, support 16 or 32-bit Z buffer at runtime.
+
+commit 661be1ae7b1cd5837d8e7224a5ebe1b8d428137e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sun Jan 20 15:00:18 2008 -0700
+
+ Cell: use depth/stencil state to enable ztest
+
+ Move z-test code into do_depth_test().
+ Add ZSIZE symbol to support 2 or 4-byte Z values.
+
+commit 45b5d3b1fc996e0f460ea163e4f4b3e750e8914f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sun Jan 20 14:58:29 2008 -0700
+
+ enable call to cell_emit_state()
+
+commit 4481c6c0b3e90450b20f1e7b4a0edc3ce346a4bb
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Jan 20 23:20:42 2008 +1100
+
+ nouveau: small oops
+
+commit d0774eae304a9e109f2bdbb361fe0c1ef0cf6691
+Author: Eric Anholt <eric@anholt.net>
+Date: Sat Jan 19 23:22:45 2008 -0800
+
+ [965] Fix WM unit cache keying that broke line stipple and polygon offset.
+
+commit b56b3035f1446ef06bb7d2fc435344a573cdb3c9
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Jan 20 11:13:08 2008 +1100
+
+ nv40: clarify that tex code is fp-only, we'll do vertex textures eventually.
+
+commit df09ed9d1ecf11be14ee7f189273c14375fbaa57
+Merge: 0feec29 a1f4a5e
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Jan 20 10:38:35 2008 +1100
+
+ Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1
+
+commit a1f4a5e802ad62c88fca6834b9de1c83672230a6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Jan 19 12:04:06 2008 -0700
+
+ Cell: improve "finished copying batch buffer" signalling.
+
+ When the SPU is done copying a batch buffer to local store, use an mfc_put()
+ to write a "done" message back to the buffer status array in main memory.
+ We were previously using a mailbox message for synchronization.
+
+commit 06b019d16bc20d772a8aed2a68d1c5d37a402a81
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jan 18 12:47:20 2008 -0700
+
+ s/varible/variable/
+
+commit 7cbfe8c51dfa8ef1f4671e817759edc7a79ce17a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jan 18 12:45:55 2008 -0700
+
+ set param type to PROGRAM_CONSTANT when parsing immediates
+
+commit fdc8636bdc65deb0d95a62a51c8d9bca05bc6bb8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jan 18 12:45:27 2008 -0700
+
+ use PROGRAM_CONSTANT instead of PROGRAM_STATE_VAR when generating immediates/literals
+
+commit 02d5ba849197e19843dad164239b51f18fb16faf
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Jan 18 11:39:35 2008 -0800
+
+ [intel] Fix memory leak with fake bufmgr.
+
+commit 2afe5344dfb7b19563046d7b2f522d91335aac66
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Jan 18 10:15:28 2008 -0800
+
+ [965] Do a little bit rotation in state hash to reduce collisions.
+
+ This was around 3% improvement in OA.
+
+commit e44bdcf9789caf9971c3c94605fbff7ce66af7ba
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Fri Jan 18 19:08:30 2008 +0100
+
+ Unify copy_rect helpers.
+
+ Some of the copies were buggy.
+
+commit 8c56418f979f4b8c79c80738b35ac03470c25fea
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Jan 11 18:54:31 2008 -0800
+
+ [intel] Use a static array for the validation list instead of a linked list.
+
+ Around 10% of a CPU was being wasted to create the linked list which we
+ threw out immediately after passing it to the kernel.
+
+commit a0e453a5eca7ed4b57a7f4c1e418d368815e3957
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jan 17 14:23:04 2008 -0800
+
+ [intel] Make the no_rast option be standard driconf instead of INTEL_NO_RAST.
+
+commit 8517079cbcbbf31291b05420f3b776df712dfd47
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Jan 14 11:03:05 2008 -0800
+
+ [i915] Fix driver from cliprects changes, and clean up state emission.
+
+ The fix for pageflipping with cliprects ended up causing a batch flush at
+ an inopportune time, which is fixed by moving it up.
+
+ Additionally, the recovery code for handling batch wraps at bad times is
+ replaced by just checking for the space up front, and using a no_batch_wrap
+ assert like on 965 to make sure that we weren't wrong about how much space that
+ was.
+
+commit faeb1bc9f9c5935ecbd32c17d81507d5061a6270
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jan 17 11:45:37 2008 -0800
+
+ [965] Fix whitespace in c9b1fef0c9c5018efd825c42782f19ad0618696a
+
+commit e747e9a072c826f803407c03932adcee7f16cb83
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jan 17 11:25:04 2008 -0800
+
+ [965] Fix potential segfaults from bad realloc.
+
+ C has no order of evaluation restrictions on function arguments, so we
+ attempted to realloc from new-size to new-size.
+
+commit 25e2b8d669e01aac551276af7f34d8708d8cb9d0
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Jan 17 17:20:46 2008 +0900
+
+ Revert "temporarily don't emit TGSI immediates, use the constant buffer"
+
+ This reverts commit 310e7ca44b33558a9aa22f43024d1bfb63642128.
+
+commit 271f9dac79a9247de9a57f4d248e404bf1652a13
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Jan 17 13:39:14 2008 +0900
+
+ Back-port miscellaneous fixes from internal branch (mostly portability fixes).
+
+ These are changes that are in our internal branch, but somehow were skipped
+ so far. It was done using visual comparison of the branches --
+ it is likely that changes are being carried on the wrong way
+
+commit b016f0adba8278f3744d3aaa207a1b586d51756d
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Jan 17 13:37:17 2008 +0900
+
+ gallium: Pass PIPE_BUFFER_USAGE_PIXEL to buffer_data.
+
+commit c04f4174923cda7beed1945f8ab77fd5cea1b50c
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Jan 17 11:00:51 2008 +0900
+
+ gallium: Handle TGSI_OPCODE_END on sse2.
+
+commit 310e7ca44b33558a9aa22f43024d1bfb63642128
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 16 17:21:05 2008 -0700
+
+ temporarily don't emit TGSI immediates, use the constant buffer
+
+ This allows a few more programs to run and not crash.
+ Need to get constant buffer uploads working...
+
+commit bf3bdb3b42632e7621e1cbae0d24e60b05ce16e0
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Dec 18 22:19:40 2007 +0000
+
+ gallium: Fix cut-n-paste error.
+
+commit 3eaf882a662f719845ead1017e28a121cbce86fb
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Dec 18 22:01:35 2007 +0000
+
+ gallium: Alternative mm_bufmgr_create_from_buffer constructor for mm pool managers.
+
+commit 39b8303d4af97235b4daeba5a9ee0e12640e0be5
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Dec 18 18:59:49 2007 +0000
+
+ gallium: Detect if a null buffer is passed.
+
+commit c9b1fef0c9c5018efd825c42782f19ad0618696a
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Thu Jan 17 11:05:24 2008 +0800
+
+ i965: always call dri_emit_reloc when creating clip unit state
+
+ This fix ensures it gets the starting location of the clip program
+ if a clip unit state is same as a unit which is created when metaops
+ is actived and it doesn't impact metaops because the clip state offset
+ isn't emitted when metaops is actived.
+
+commit af51d188c3e894c2ac3d261831320f178d1bd6fe
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Dec 17 12:03:51 2007 +0000
+
+ gallium: fix warning
+
+commit 7771519862ade53bbd29dd25987c51e3c444e364
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Dec 17 11:59:02 2007 +0000
+
+ gallium: fix warning
+
+commit 66719dc63a169d5bec5e56fa5ad46853121a8dc0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Dec 14 15:51:07 2007 +0000
+
+ gallium: hardwire reset_temps functionality
+
+commit 83417a8b37211e290cfdb06530533cd7215500c4
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Dec 14 15:50:06 2007 +0000
+
+ gallium: whitespace changes
+
+commit e122a8fa1822890f61d37398f096134f32dfcd58
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Dec 14 16:37:10 2007 +0000
+
+ gallium: Ignore generated files.
+
+commit 5ea37f591a06073611b8276a87cc7c745e8b3fcb
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 16 16:43:50 2008 -0700
+
+ use NEGATE_X/Y/Z/W tokens
+
+commit 846969917e164bc85b56c8d61d9549114b1321eb
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 16 16:43:36 2008 -0700
+
+ clean-up swizzle fields in fog code, fix NegateBase
+
+commit bdc38254618d5f984e206b5ddb484c3cbc55c3bb
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 16 16:31:37 2008 -0700
+
+ Fix broken fog.
+
+ Note that fogcoord and front-facing attribs are in the same register, in the
+ X and Y channels, respectively.
+
+commit ecc9cf43af658413f91818fe90fdb0c2eaad9a46
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 16 16:29:36 2008 -0700
+
+ Fix incorrect [0,1] clamping in store_dest().
+
+commit 9bae03a583fc6d2d0b916961279abe9156078d1e
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jan 16 15:07:10 2008 -0800
+
+ [965] Fix inversion of SLT/SGE results in vertex programs.
+
+ The WM code had this right, so copy its behavior. This reverts a flipping
+ of the arguments to SLT in brw_vs_tnl which came in with the GLSL code that
+ probably occurred to work around the flipped results, and brings the code back
+ in line with t_vp_build.c.
+
+commit 13bfa87b09294607e73d3993878956d5b344bbb3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 16 13:55:08 2008 -0700
+
+ tweaks to quad drawing, set UsesKill in bitmap shader
+
+commit 27cff4402e9582fed8152e88a2c36e488bf76198
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 16 13:54:32 2008 -0700
+
+ copy UsesKill state in _mesa_combine_programs()
+
+commit 6a5e86b3444b4228c5232bf5a297159e66f02077
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jan 16 10:50:28 2008 -0800
+
+ [965] Rename depth_mask in CC key to depth_write, since it's a boolean enable.
+
+commit 93ec89e565cbdc9dab010d1a1d259f2348ac7459
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jan 16 10:46:35 2008 -0800
+
+ [965] Fix the type of alpha_ref in CC key, fixing ppracer rendering.
+
+commit d11fd189ff84ec24df0fb988e5c3e1a9260e038c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 16 10:57:53 2008 -0700
+
+ vbuf updates/fixes (KeithW)
+
+ Plus, update i915 and Cell drivers for latest vbuf->draw() params.
+
+commit 0e6b78c7eb7ebee9074489664416be489a27c742
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 16 10:57:10 2008 -0700
+
+ s/DBG/DRAW_DBG
+
+commit 1b5f20c665d1174a52f5d1ec96b23a343ce0ac09
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 16 10:56:38 2008 -0700
+
+ remove useless assertions
+
+commit 85cfe029b958c1954aefe0279eb2388bb272ec5c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 16 10:56:23 2008 -0700
+
+ init front/back color attrib indexes to 0, not -1
+
+commit dd235ff1db6a2839607931cc07f9ba6e602ac3d4
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 16 08:30:00 2008 -0700
+
+ Fix a two-sided lighting bug (fixes samples/wave.c)
+
+commit 0c275b6a41294793030d9e380dbcc705264a3768
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Tue Jan 15 22:52:25 2008 -0800
+
+ autoconf: Use -fno-strict-aliasing on GCC
+
+ This change adds -fno-strict-aliasing when using gcc and g++, just like
+ the existing configs.
+
+commit 0feec292ddc279998a1e25c10ea70d211f7b4b62
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Jan 16 13:50:00 2008 +1100
+
+ nouveau: remove assertions from PIPE_ -> GL_
+
+ It seems we need to keep some sane defaults around for a bit, at least until
+ the pipe drivers learn to avoid translating things like alpha_src_factor when
+ blend_enable is false.
+
+commit e0e9326bdadb268dbb5eeedb14404ac2f48c103e
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Jan 16 13:41:50 2008 +1100
+
+ nv40: stronger type safety
+
+commit bc1ca3793d661de343b956d66ef70605d7de2dbb
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Jan 16 13:37:13 2008 +1100
+
+ nouveau: don't use GL headers at all
+
+commit 545471018e8325bd4c3283728c596f307071a685
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Jan 16 13:18:46 2008 +1100
+
+ nouveau: gallium changes..
+
+commit 3119e9a14b66fcfb08fcc3563602273dd2e1893c
+Merge: 9de335f 587e2be
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Jan 16 13:14:19 2008 +1100
+
+ Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1
+
+ Conflicts:
+
+ src/mesa/pipe/Makefile
+
+commit 587e2becc237bc1c900a1c0ba114a1a0192690ff
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jan 15 18:32:51 2008 -0700
+
+ typedef uintptr_t for non-HAVE_POSIX_MEMALIGN build
+
+commit 62ef6376bef7dcc7f23c676519683e99cd9f7717
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jan 15 18:27:14 2008 -0700
+
+ Don't include stdint.h or inttypes. Use the uint64 typedef instead of uint64_t.
+
+commit 5a185ca09ae9d0774c99a187463d975a40ce9770
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jan 15 18:26:21 2008 -0700
+
+ replace _mesa_printf() with fprintf()
+
+commit 0cec2e18d5a11244f1b2c989b3f17161a95ee416
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jan 15 18:22:35 2008 -0700
+
+ remove redundant llvm subdir
+
+commit 14a1e5908dc204f033eaff88e6b3f5cbc9793c0c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jan 15 18:22:23 2008 -0700
+
+ include pipe/draw/draw_context.h
+
+commit b039b785e23abb78342fa0febffa0cdbb49e7ef4
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jan 15 15:09:21 2008 -0800
+
+ Fix the compile of disabled DEBUG_PARSING code.
+
+commit 185320ae13163995ea61e38104ab5aeaeb28d8e5
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jan 15 15:08:34 2008 -0800
+
+ Bug #13492: Only call ProgramStringNotify if program parsing succeeded.
+
+ Wine intentionally tries some out-of-spec programs to test strictness, and
+ calling ProgramStringNotify on the results of a failed program parse resulted
+ in crashes in the 965 driver.
+
+commit dd5a8d234b95c6f85d0a6ecb18db8aadefb71dbd
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jan 15 14:18:17 2008 -0700
+
+ Add surface status/clear_value fields, PIPE_SURFACE_STATUS_x tokens
+
+commit 4652e351a2e617838e4a75ba7857b644211f03d5
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jan 15 10:12:38 2008 -0800
+
+ [965] Increase max relocation count, fixing assertions by blender.
+
+commit bb73cf9ec093d734cbed956d843ef6c2982141ef
+Author: Kristian Høgsberg <krh@temari.boston.redhat.com>
+Date: Tue Jan 15 10:23:15 2008 -0500
+
+ [i915] Prevent recursive batchbuffer flushing.
+
+ Workaround for recursive batchbuffer flushing: If the window is
+ moved, we can get into a case where we try to flush during a
+ flush. What happens is that when we try to grab the lock for
+ the first flush, we detect that the window moved which then
+ causes another flush (from the intel_draw_buffer() call in
+ intelUpdatePageFlipping()). To work around this we reset the
+ batchbuffer tail pointer before trying to get the lock. This
+ prevent the nested buffer flush, but a better fix would be to
+ avoid that in the first place.
+
+commit 3ad9ca8240ffa32a8dfbfffd0cfb1d0384e04a9f
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Tue Jan 15 15:19:09 2008 +0800
+
+ i965: fix an assert fail in brw_new_batch
+
+commit d280206c7f74c6c0fc22798b5945db3bf369364e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 14 19:18:35 2008 -0700
+
+ free stvp->draw_shader
+
+commit ac95fee4fffee77bb7bd798d094ed2e3a7c4019b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 14 19:12:46 2008 -0700
+
+ Fix problems with vertex shaders and the private draw module.
+
+ The CSO returned by pipe->create_vs_state() can't be passed to the
+ private draw module. That was causing glRasterPos to blow up.
+ Add a 'draw_shader' field to st_vertex_program for use with the private
+ draw module.
+ Change st_context->state.vs type from cso_vertex_shader to st_vertex_program.
+
+commit b4e4fafb4157d416077e985c03204ed5bbe0f2e1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 14 19:04:45 2008 -0700
+
+ disable debug printf
+
+commit f20cb1d81b120c8de9b00e2fb523e2367b25e875
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 14 16:39:26 2008 -0700
+
+ Cell: after sending a batch, wait for a DMA completion signal.
+
+ This fixes sporadic rendering glitches.
+ Using a mailbox msg for now, until spe_mfcio_tag_status_read() or similar
+ is found to work.
+
+commit c28b112ce37022aa6e00ac4557ad6fe5a57ae578
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 14 16:37:13 2008 -0700
+
+ clamp colors during float->int conversion
+
+commit ffa8b18c7cce5041d2006e669fe633156a6b2d05
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Jan 14 15:19:43 2008 -0800
+
+ [i915] Fix recursive lock hang in intelContendedLock handling.
+
+commit d42400db87f38aee3647e87a9622689519c6b553
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Jan 11 17:03:51 2008 -0800
+
+ [intel] Delay unmapping of driver-private buffers to reduce map/unmap thrashing.
+
+ Good for a 10-15% improvement to OA.
+
+commit 7fec1eb21ba2121f530cb5412f658303b683e1d3
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Jan 11 16:00:50 2008 -0800
+
+ [965] Force a new vertex upload buffer at new batch time.
+
+ Otherwise, we could choose to upload into the temporary VBO that we just fired
+ off to the hardware. Good for a 60% OA performance improvement.
+
+commit eff70f67c558c90c5419b43729a6dc8a9a8c47ec
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jan 14 11:11:08 2008 -0700
+
+ Cell: update surface map code to match recent changes in pipe_surface struct
+
+commit 2014e0bacbd2661bf98d084120a109b1c0bf0df2
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Mon Jan 14 16:17:01 2008 +0100
+
+ Remove pipe->get/put_tile_rgba.
+
+ pipe_get/put_tile_rgba() now use pipe->get/put_tile internally.
+
+ Also simplify the <format>_get/put_tile_rgba() helper functions and clean up
+ some inconsitencies in them.
+
+commit c76efb96b405e43e3261d1dc9e8812fdb2cfbac8
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Jan 10 17:44:04 2008 +0100
+
+ Remove mapping fields from struct pipe_surface.
+
+ It's now the responsibility of surface users to keep track of their mappings.
+
+commit a511200e5f0c384e68258879bab76563d8e01f01
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Jan 12 16:58:50 2008 -0700
+
+ Cell: remove fb parameter to get/put_tile()
+
+commit 8b1bfd1d27989c9a880ce269d56ea1dfd88a5811
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Jan 12 16:57:55 2008 -0700
+
+ Cell: disable cell_emit_state() for now
+
+commit d53e1c255aad83ee6c183f6e144d309327898669
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Jan 12 12:53:49 2008 -0700
+
+ Cell: collect vars in a spu_global struct
+
+commit dae719a68173bddedbb531c030cd4a12bcb0435b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Jan 12 12:39:26 2008 -0700
+
+ Cell: first state object (depth/stencil/alpha) emitted to SPUs
+
+commit 68f5a6f74335e252e6a04dd6ae9ef7ae1482be97
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Jan 12 11:41:23 2008 -0700
+
+ Cell: whitespace/cleanup
+
+commit 2e469775b3f52adf496802f286e46ac4a31cdba1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Jan 12 10:33:50 2008 -0700
+
+ Cell: prefix SPU files with spu_
+
+commit a9a84674726a58c183fe8983321208a32cdf940e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Jan 12 10:33:24 2008 -0700
+
+ Cell: prefix SPU sources with spu_
+
+commit 07276d676c757d3be2e3090d6c67fbbb2f9768eb
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Jan 12 10:06:27 2008 -0700
+
+ Cell: sketch out needed rasterizer state
+
+commit 1c22b5955953973c2c7988bef998f336493e11bc
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jan 11 16:32:20 2008 -0700
+
+ s/int/uint/ to silence warnings
+
+commit 50eb29ed9492a34db4ba53f1f28a2868b808955a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jan 11 16:31:58 2008 -0700
+
+ whitespace, comment changes
+
+commit 8dd678208e4dcd90e07dc271d11d73d87465e0fd
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jan 11 16:08:53 2008 -0700
+
+ Cell: basic batch buffer working
+
+commit 08c2571fb48d41731c81cc402acabf709523c831
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jan 11 12:04:55 2008 -0700
+
+ Cell: initial work for a hw-like batch buffer system
+
+commit 7db94ba03173f345a47fd727e8d866a87a484415
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jan 11 11:35:03 2008 -0700
+
+ Cell: remove obsolete cell_prim_buffer struct and code
+
+commit 6b5d674f915b67f3b51c331e3a6ba02e9f82473f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jan 11 11:31:03 2008 -0700
+
+ Cell: debug code, comments
+
+commit 21b282e9347d06272e5dfc795aa7c0b861c240e1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jan 11 11:30:02 2008 -0700
+
+ vbuf_flush_vertices() instead of vbuf_flush_indices() in vbuf_end()
+
+commit f313a1ece297e2a3bea5b611082f8cc0012c64b8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jan 11 11:27:24 2008 -0700
+
+ Cell: reformattting
+
+commit d4c806302e96a0fd97a4613bc29f4c9863ae89fe
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jan 11 11:27:09 2008 -0700
+
+ s/int/uint/ to silence warning
+
+commit 45230b4e082473f7e1f0c0a18dd0e2fc9e5508e1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jan 11 10:10:45 2008 -0700
+
+ Fix malloc size buf, silence signed/unsigned comparision warning
+
+commit 544ab209e75ec3646d7edbafd736dcf4c93738cc
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Sun Dec 30 08:41:53 2007 -0800
+
+ Allow osmesa to be enabled or disabled
+
+ The conditional in src/mesa/Makefile currently hardcodes the cases where
+ libOSMesa can be built on libGL. Likewise, the xlib case always includes
+ libOSMesa in the stand-alone target.
+
+ This changes the conditional to a loop over the DRIVER_DIRS variable.
+ This means that any driver configuration can enable or disable osmesa.
+ The current "stand-alone" rule is changed so that DRIVER_DIRS=x11 and
+ DRIVER_DIRS="x11 osmesa" are both respected.
+
+ The configure option is changed to --enable-gl-osmesa as this change
+ allows libOSMesa to be built upon any of the libGL-enabling drivers.
+
+commit 1217d5cca3503103cc40221ea8287960236e3734
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jan 11 08:14:42 2008 -0700
+
+ Cell: Remove the pre-vbuf rendering code
+
+commit 299dffce4fafa2ed03a6e1f7ca7a5357c147477e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 10 21:59:15 2008 -0700
+
+ Cell: wait_on_mask_all()
+
+commit aee5f471ce30f0511769c02a24160e9bb5047792
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 10 21:53:38 2008 -0700
+
+ Cell: remove unneeded #includes
+
+commit 71caa922e0bf9f6378bd02374402eaea2990b493
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 10 21:50:55 2008 -0700
+
+ Cell: compute bounding box in cell_vbuf_draw()
+
+commit ea190f4b41d8959aa3edfd46503a3077201cdefd
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 10 21:50:31 2008 -0700
+
+ Cell: remove unused color field
+
+commit 6059ecaabefc273f39353825dde568d1a2e2ba19
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 10 21:37:55 2008 -0700
+
+ Cell: remove unused code
+
+commit c56b20971bfe554f2b9ba74c40b350f950bb31ff
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 10 21:35:13 2008 -0700
+
+ Cell: make vertex_header and prim_header types private to tri.c
+
+commit 44f4b9b9ea81974a8e7de444280e471ca05e9261
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 10 21:22:03 2008 -0700
+
+ Cell: avoid copying vertex data
+
+commit 02f6f9f8d47fc36c8edf4661c4e78c9c1a1941fc
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 10 17:30:51 2008 -0700
+
+ Cell: move tile-related code into new tile.[ch] files.
+
+commit 6c11485405700865895b7c5f14e08bc5bede2a35
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 10 17:14:06 2008 -0700
+
+ Cell: use new ASSERT macro instead of standard assert
+
+ The later doesn't seem to work properly in SPU code.
+
+commit b3247225423213c156ce4f428d1d246758a96d50
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 10 17:03:21 2008 -0700
+
+ Cell: enable vbuf path by default
+
+commit 152f1d84d4d942d9e912b116c5fc67ba96ed9859
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 10 17:01:52 2008 -0700
+
+ Cell: checkpoint: draw_vbuf code in place and works, but not enabled by default yet.
+
+commit cac8892ddb24ddb92b6f367689712925ee6c2d86
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 10 17:01:11 2008 -0700
+
+ Additional parameters to vbuf_render->draw()
+
+ Pass complete information about vertex/index buffer location, size, etc.
+
+commit 540faf5f91057ef311999afc5a6366bebe7dec33
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jan 10 15:05:39 2008 -0800
+
+ [965] Remove an open-coded memcpy.
+
+commit 9bf91229257c8b26710a23795ae1094aa98db8a8
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jan 10 14:50:06 2008 -0800
+
+ [intel] Remove gratuitous (batchbuffer) flush before doing buffer clears.
+
+ Increases OA performance by about 3%.
+
+commit 3d273ae44e85480fcd7798c7b5b75f949906a78e
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jan 10 14:43:43 2008 -0800
+
+ [intel] Report buffer size when allocating with INTEL_DEBUG=bufmgr and TTM.
+
+commit 609ad99a1a4b3a59436c520b355f482dff64b34a
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jan 10 14:43:16 2008 -0800
+
+ [965] Improve performance by allocating CURBE buffers a page at a time.
+
+ Since each one is only 64b, and kernel allocations are a page anyway, this
+ lets us reduce buffer allocation by packing many CURBEs into one buffer, for
+ each batchbuffer submitted. Improves openarena performance by around 10%.
+
+commit 763e30748e99064fafeb0d9b34de8d732732689c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 10 15:14:58 2008 -0700
+
+ Cell: initial implementation of vbuf code.
+
+ The draw module's vbuf stage builds buffers of post-transformed vertices
+ and issues draw-elements calls to render them. We'll pass the vertex and
+ index buffers to the SPUs...
+
+commit 2da5afbd3ffd50409fc729e166fe5133c7a7e7a8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 10 15:13:14 2008 -0700
+
+ Cell: call draw_compute_vertex_size()
+
+commit 4e5b3626a1fc42ff7a88264ded8f0997b0fcd22e
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jan 10 13:46:49 2008 -0800
+
+ [intel] Remove a gratuitous flush at the end of ClearWithTris.
+
+commit ab2933df65628d8f1f0a3f49129442bc8d2c3a2b
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jan 10 13:24:14 2008 -0800
+
+ [intel] Only flush batch when changing draw buffers, not every cliprect update.
+
+ The previous code would reference freed memory on window moves.
+
+commit a04b632350e5d0e9994fc667afc59407a39da0ba
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jan 10 10:48:05 2008 -0800
+
+ [intel] Add more cliprect modes to cover other meanings for batch emits.
+
+ The previous change gave us only two modes, one which looped over the batch
+ per cliprect (3d drawing) and one that didn't (state updeast).
+ However, we really want 4:
+
+ - Batch doesn't care about cliprects (state updates)
+ - Batch needs DRAWING_RECTANGLE looping per cliprect (3d drawing)
+ - Batch needs to be executed just once (region fills, copies, etc.)
+ - Batch already includes cliprect handling, and must be flushed by unlock time
+ (copybuffers, clears).
+
+ All callers should now be fixed to use one of these states for any batchbuffer
+ emits. Thanks to Keith Whitwell for pointing out the failure.
+
+commit cd89fe2d390d2e8cdf7039c8405fd34d28419b5e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 10 09:22:22 2008 -0700
+
+ Cell: s/free/align_free/
+
+commit d07b86dedfd87ed7c301fa81242314c891031693
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 10 09:13:10 2008 -0700
+
+ Cell: clean-up cell_spu_exit() code
+
+commit e6b33b6f35ab2f7b240ac902cc748d8e1a2fd4ef
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 10 08:32:27 2008 -0700
+
+ bump CELL_MAX_VERTS to 240
+
+commit 3d9c84c1b88d30115682763d2762a3c2bf4e5ff3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 10 10:38:28 2008 -0700
+
+ comment about vertex data in emit_vertex()
+
+commit fd8b5ede950eb809165c783db2844130fb4c072d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 10 10:22:01 2008 -0700
+
+ clean-up comments, code
+
+commit ede7b00b59b37f078de0663918c0c84d572c27e8
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Jan 10 10:03:47 2008 +0100
+
+ softpipe: Simplify texture memory layout.
+
+commit 51ea675745f4212c0bd859a940350faf466df102
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Jan 10 10:03:17 2008 +0100
+
+ Add glapi/ path for inclusion of glapioffsets.h.
+
+ Not sure why this is only needed now...
+
+commit 7086df58688dc375ffd4c0fb9a9884eae05a6e46
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Thu Jan 10 16:48:33 2008 +0800
+
+ i965: fix bug #14002
+
+commit c30392f187dc45412e579283989992ed4dd2fed8
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Thu Jan 10 16:45:35 2008 +0800
+
+ i965: fix segfault caused by commit e131c46b20241737ceba4856dbe01dcca6dd2c03.
+
+commit e131c46b20241737ceba4856dbe01dcca6dd2c03
+Author: Kristian Høgsberg <krh@temari.boston.redhat.com>
+Date: Wed Jan 9 16:55:32 2008 -0500
+
+ [intel] Simplify intelCreateBuffer() a bit.
+
+ Drop a bunch of unused arguments from intel_create_renderbuffer() and
+ introduce intel_renderbuffer_set_region() to set the region for
+ a renderbuffer.
+
+commit 33c42c126272a4db879315127ef0fff711f1db8a
+Author: Kristian Høgsberg <krh@temari.boston.redhat.com>
+Date: Wed Jan 9 20:43:06 2008 -0500
+
+ [intel] Prepare intelCopyBuffer() for private back buffers.
+
+commit d23869a88a1e9e41c9ebbd5f918ede16a8ee838f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 9 17:49:43 2008 -0700
+
+ Cell: initial implementation of tile status optimizations
+
+ Tiles are marked as CLEAR, DEFINED or DIRTY to avoid making unnecessary
+ get_tile() and put_tile() calls.
+
+commit 18b0f345212a5950bddebe00edc3ec5f54781456
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 9 16:12:25 2008 -0700
+
+ Cell: start using DMA tags in a more sensible way, move waits() later when possible.
+
+commit c7a22c39792d6ff430af84502d578824081dbd3f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 9 14:44:19 2008 -0700
+
+ move cliprect bounds, do trivial rejection triangle clipping
+
+commit d48c6e7b21839791ff53308187cc2aeed9fb618c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 9 14:14:24 2008 -0700
+
+ Cell: remove some debug printfs, predicate others with Debug boolean
+
+commit abee68a7220e5ee16216caf22841ad934fb37334
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 9 14:10:59 2008 -0700
+
+ Cell: implemement basic Z testing
+
+ Also, improve some surface clearing code
+
+commit 934468296c33a04125e42e5d0f8747f65405a393
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Thu Jan 10 01:11:53 2008 +0100
+
+ softpipe: map only once in softpipe_map_surfaces
+
+ softpipe_map_surfaces get call several time but softpipe_unmap_surfaces
+ get call only once. So to make sure stuff are properly unmap when
+ softpipe_unmap_surfaces get call we map surfaces only one time in
+ softpipe_map_surfaces.
+
+commit 24e7e457680d700e986fd0b0e0f046fadf67caf4
+Author: Kristian Høgsberg <krh@temari.boston.redhat.com>
+Date: Wed Jan 9 18:04:19 2008 -0500
+
+ Factor out code to do the DRM_I830_GETPARAM ioctl.
+
+commit f1139e4c662c47357ee054c2e004b13c9f74ffe1
+Author: Kristian Høgsberg <krh@temari.boston.redhat.com>
+Date: Wed Jan 9 15:55:05 2008 -0500
+
+ Fold DoBindContext() helper function into driBindContext().
+
+commit 4225876bf03dfe6d4b291eed9c00e37e949f8148
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jan 9 14:30:09 2008 -0800
+
+ [intel] Re-allocate backing buffer objects on BufferData.
+
+ This may allow better concurrency (noop in openarena performance now), but is
+ also important for the previous commit -- otherwise, we may end up with
+ BufferData, draw_prims, BufferData and the draw_prims would use the new VBO
+ data instead of old. This could still occur with user-supplied VBOs and poor
+ use of MapBuffer without BufferData.
+
+commit 7da98d7ebaf4475812f2ce44062d50bee393faf7
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jan 9 14:21:52 2008 -0800
+
+ [965] Allow more than one draw_prims per batchbuffer.
+
+ The comment about (vbo)_exec_api.c appeared to be stale, as the VBO code seems
+ to only use non-named VBOs (not actual VBOs) or freshly-allocated VBO data.
+
+ This brings a 2x speedup to openarena, because we can submit nearly-full
+ batchbuffers instead of many 450-byte ones.
+
+commit dc1608ae9d90a490ce32aa005488e3591a6d8369
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jan 9 14:08:12 2008 -0800
+
+ [965] Replace the always_update dirty flag with BRW_NEW_BATCH.
+
+ This allows us to avoid re-emitting some state when validate_state happens
+ multiple times per batchbuffer. Even though we flush batch per primitive
+ currently, that may still happen already if the primitive changed (this should
+ probably be fixed as well).
+
+commit 5f86ae057a645c03dc1e0c51c2fb1b2628a50e0a
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jan 9 13:40:40 2008 -0800
+
+ [intel] Rename lost_hardware vtbl entry to new_batch.
+
+ Both drivers have ended up relying on lost_hardware being called after each
+ batch buffer, so update the name. This removes one of the calls on 965 whic
+ h was outside of the batchbuffer handling code and just duplicating what had
+ already happened through batchbuffer handling.
+
+commit d9edd8e90588417e3d549f25132dab2f21445792
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jan 9 13:24:29 2008 -0800
+
+ [965] Remove drawing rect upload, which is handled (better) by the kernel.
+
+commit beddf653a914903156712aa472b5deaddb7bbaed
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jan 9 12:33:39 2008 -0800
+
+ [intel] Clean up cliprect handling in intel drivers.
+
+ In particular, batch buffers are no longer flushed when switching from
+ CLIPRECTS to NO_CLIPRECTS or vice versa, and 965 just uses DRM cliprect
+ handling for primitives instead of trying to sneak in its own to avoid the
+ DRM stuff. The disadvantage is that we will re-execute state updates per
+ cliprect, but the advantage is that we will be able to accumulate larger
+ batch buffers, which were proving to be a major overhead.
+
+commit 7ce12b0863f1cc03bdd7c65c0c0733b2ff903e40
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jan 9 12:41:14 2008 -0800
+
+ [intel] Remove the dead intel->need_flush member.
+
+commit 5a49e84fcd858a1ad9c0ad839ccbe93504593cd0
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jan 8 16:20:28 2008 -0800
+
+ [965] Clarify a bit of index buffer upload code.
+
+commit 8c4806ccc4d24b78fe2a2a7119333b965572e948
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 9 14:19:50 2008 -0700
+
+ fix bug 13978: glDrawBuffersARB() didn't set all necessary state
+
+commit c0fd6a09031a07e7c1dd51d1073f2e37f188757e
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Jan 4 15:55:59 2008 -0800
+
+ [intel] Add TTM bufmgr debug for type or offset migration of buffers.
+
+commit 9de335f5807553bc9251931ba3e80c4b454b5818
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Jan 8 02:28:43 2008 +1100
+
+ nouveau: object header update
+
+commit 3369cd9a6f943365242d7832e69788d4aede9a8f
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Mon Jan 7 14:08:36 2008 +0800
+
+ i915: Keith Whitwell's swizzling TEX patch. fix #8283
+
+commit 601a6b872c33bfe3cb4ea03a5a8ba5ebe92dedaf
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sun Jan 6 18:07:26 2008 -0700
+
+ Replace gl_framebuffer's _ColorDrawBufferMask with _ColorDrawBufferIndexes
+
+ Each array element is now a BUFFER_x token rather than a BUFFER_BIT_x bitmask.
+ The number of active color buffers is specified by _NumColorDrawBuffers.
+ This builds on the previous DrawBuffer changes and will help with drivers
+ implementing GL_ARB_draw_buffers.
+
+commit ff73c783cc47361ff0dd819c82d067b4b85870dd
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sun Jan 6 10:43:20 2008 -0700
+
+ Simplify ctx->_NumColorDrawBuffers, _ColorDrawBuffers and fix bug 13835.
+
+ These fields are no longer indexed by shader output. Now, we just have
+ a simple array of renderbuffer pointers.
+
+ If the shader writes to gl_FragData[i], send those colors to the N
+ _ColorDrawBuffers. Otherwise, replicate the single gl_FragColor (or
+ the fixed-function color) to the N _ColorDrawBuffers.
+
+ A few more changes and simplifications can follow from this...
+
+commit a50f224f41faaf4ba75902d2dd46f1fe595f098f
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jan 7 04:36:22 2008 +1100
+
+ nv40: use a more "normal" 2x8bit format, the other is likely a HILO format.
+
+commit 9bac4c7268cdbc79a1ce2d05779ed05c32e1e57b
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Jan 7 01:02:30 2008 +1100
+
+ nouveau: share pushbuf interface code between pipe drivers
+
+commit 37e95871789780a8f5848c5e85ec123571e8dff7
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Jan 6 22:14:22 2008 +1100
+
+ nv40: do nothing for set_clip_state()
+
+ There's no way possible for us to support clip planes with the current
+ interfaces anyway.
+
+commit df34b6b2bcf26392eeffc828c9e90ea68a908736
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Jan 6 21:52:24 2008 +1100
+
+ nv40: bind textures based on fragprog usage.
+
+commit 9f6022d0567dc1288888212d7128acc48795b306
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Jan 5 15:37:27 2008 -0700
+
+ fix depth/1 typo in glTexImage3D proxy code
+
+commit 48aa35a8b28e2cd5dab994c2cc0d728275b9aad2
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 3 17:17:22 2008 -0700
+
+ check if span length > 0 before calling _swrast_write_rgba_span()
+
+commit 1c5f27a18b775b3784fcd265d60e0affa0b31581
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Fri Jan 4 17:06:55 2008 +0100
+
+ gallium: Make texture target an enum for better debuggability.
+
+ Also make enum pipe_format used in a couple more places.
+
+commit 6f012904318311207a20bbf586f1a9f9f8b7fc20
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Fri Jan 4 10:01:32 2008 -0500
+
+ llvm: if llvm is enabled don't even try to use sse for vs
+
+commit 9789c301b476b1127f847144fd5c8313e6ba8be8
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Fri Jan 4 09:27:42 2008 -0500
+
+ llvm: we need custom rules so had to redo the build a little bit
+
+ also don't use sse when llvm is enabled
+
+commit 3385f3d250df1ad6899c0ac59a8f6b845cc5d504
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Fri Jan 4 08:32:20 2008 -0500
+
+ llvm: update llvm sources the latest svn
+
+commit e7044d552c6d16389447880b8744a51de1cf0199
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Fri Jan 4 17:11:39 2008 +0800
+
+ i915: don't validate PS program when falling back to software
+ rendering. fix #12786
+
+commit 15356376bdee4aa4c5d57b61496cadd5ac19ce60
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Fri Jan 4 14:22:23 2008 +0800
+
+ intel: some initialization for dri_bufmgr_ttm
+
+commit b1e67c5d840a2c07c4ccf73bf1d3200b8531efa3
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jan 3 19:46:59 2008 +0000
+
+ 965: fix various refcount issues
+
+commit f54012650eebd940a6a7006ebcc0b9160c0368cf
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jan 3 19:46:16 2008 +0000
+
+ 965: use correct offset for constants vs immediates
+
+commit 65426b144e9c3f6c8c1e6d0c0dce0ae955f7d1c3
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jan 3 17:21:22 2008 +0000
+
+ 965: always perform SF parameter setup for position
+
+ Match behaviour of DRI driver. Fix fragment shader to find the other
+ parameters one slot further on. Will need more work to cope with FP's
+ that actually reference position.
+
+commit 25c9728644becd6342d025bdf355f311d00d5cb5
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jan 3 16:44:56 2008 +0000
+
+ 965: scan fs inputs to work out interpolation in setup program
+
+commit 62842e7145aa6e39b1fffc2dba8e2631bcc35b37
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jan 3 16:08:40 2008 -0800
+
+ [intel] Add a single-entry relocation buffer cache.
+
+ By avoiding the repeated relocation buffer creation/map/unmap/destroy for each
+ new batch buffer, this improves OpenArena framerates by 30%. Caching batch
+ buffers themselves doesn't appear to be a significant performance win over
+ this change.
+
+commit 8abffada70fcd62e3c2dcbcdc6d00d258805326b
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jan 2 16:55:21 2008 -0800
+
+ [intel] Convert relocations to not be cleared out on buffer submit.
+
+ We have two consumers of relocations. One is static state buffers, which
+ want the same relocation every time. The other is the batchbuffer, which gets
+ thrown out immediately after submit. This lets us reduce repeated computation
+ for static state buffers, and clean up the code by moving relocations nearer
+ to where the state buffer is computed.
+
+commit 0ff3eb637bac9e100aab0a109a46e81bea9203a3
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jan 3 14:47:35 2008 -0800
+
+ [965] Fix some missing initialization in WM keys.
+
+commit 4e62fbbfc5bcf368c3f11d4384008e64aad06ec8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 3 15:09:30 2008 -0700
+
+ clean-ups, silence warnings
+
+commit 2b40838972bb84a0dff8f8a3c933b0d2b8384f10
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 3 15:05:51 2008 -0700
+
+ rename vars, clean-up formatting
+
+commit aa7f2333675f3e005f3eb6a40ac55d2fb55ea36e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 3 15:03:52 2008 -0700
+
+ replace void * with struct draw_vertex_shader opaque type
+
+commit 1613c49c9859f55dfb5bea23c46a3be54b246a9b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 3 09:57:12 2008 -0700
+
+ Cell: added -Wmissing-prototypes to SPU_CFLAGS
+
+commit 5e00ae3fea51afd5de14d559f693645837b3903b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 3 09:56:48 2008 -0700
+
+ Cell: initial work for getting/putting Z tiles
+
+commit 3ffef8de825f843ed504a8177fd08af9196be696
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 3 09:40:32 2008 -0700
+
+ disable bbox code until glitches are fixed
+
+commit 4ff6367295bc266cf1e3390570c9aee50fe716a0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 3 09:40:02 2008 -0700
+
+ Cell: improve surface state code to replace some temporary code.
+
+commit 9b598df95ebe99d9aaf2043ce8786847978de4aa
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 3 08:58:51 2008 -0700
+
+ asst changes in bbox code, dma tags, etc
+
+commit bb55835fc07e4d29e94c7db1e3854a5bd37c8aeb
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 3 08:58:01 2008 -0700
+
+ insert a temporary flush to fix missing triangles artifact
+
+commit 5cd96f7684adc7ba52a216fb676c7eb88ba3f66a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 3 07:49:59 2008 -0700
+
+ pass surface format in cell_command_framebuffer struct
+
+commit 7aee3eff18decd6ce46f63a44c9a531414565265
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jan 3 07:49:13 2008 -0700
+
+ better debug code
+
+commit 15653b5d88c0f88f49c2d5497b4fb9e045f53560
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Thu Jan 3 16:05:27 2008 +0800
+
+ fix fd.o bug #13761
+ MRD computation is now changed in mesa core
+
+commit f6b7e2d3bf9af34704e9624246614c1583b655da
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 2 19:31:36 2008 -0700
+
+ make use of prim bounds box info
+
+commit 54090bd841b302c6d48e7f130dbe07c8fd5a0a96
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 2 19:05:34 2008 -0700
+
+ only fetch as much vertex data as needed
+
+commit d55c4ec9d2c0a8cd9ba75985962297381e6c0364
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 2 18:58:44 2008 -0700
+
+ remove previous triangle test code
+
+commit de9f8e8b717aa4b4ab94af73be5aa70088cd6b81
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 2 18:53:33 2008 -0700
+
+ Cell: basic triangle rendering works.
+
+ The cell "render_stage" (last in the "draw" pipeline) emits vertices into
+ a buffer which is pulled by the SPUs in response to a "RENDER" command.
+ This is pretty much temporary/scaffold code for now.
+
+commit 9e9f6f105c81436cecfe55a8a80d2efe45bc0d72
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jan 2 15:47:47 2008 -0800
+
+ [965] Convert WM unit to use a cache key instead of brw_cache_data.
+
+commit 03b59edbb53a3887779b0eb9d0f07b93ec747764
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jan 2 15:03:32 2008 -0800
+
+ [965] Convert VS unit to use a cache key instead of brw_cache_data.
+
+commit 77e6cf8c1758c6b3091adf95ead96fbe9a996a17
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jan 2 14:47:49 2008 -0800
+
+ [965] Convert SF unit to use a cache key instead of brw_cache_data.
+
+commit 3149119cad6137fee967054c38c1060a30bfc52d
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jan 2 14:09:06 2008 -0800
+
+ [965] Convert GS unit to use a cache key instead of brw_cache_data.
+
+commit 114b802e87bca5edbc2c59fc2c5caad3ec90bca6
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jan 2 13:53:32 2008 -0800
+
+ [965] Convert clip unit to use a cache key instead of brw_cache_data.
+
+commit b35811e1b38e8fd454f369aefc0b3b3c50ecb8bc
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jan 2 13:20:00 2008 -0800
+
+ [965] Convert CC unit to use a cache key instead of brw_cache_data.
+
+commit a95b48d55bdeed85df8b4fdd6699ef9f0d3c7a45
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jan 2 12:07:00 2008 -0800
+
+ [965] Convert surface state to use a cache key instead of brw_cache_data.
+
+commit 3e3644c6e8f3559fd5bcd862d5edb627aceb3eca
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jan 2 11:33:55 2008 -0800
+
+ [965] Convert sampler state to use a cache key instead of brw_cache_data.
+
+commit a099461fa31db1ed8935bb409c321dc46c54ce8d
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jan 2 15:51:27 2008 -0800
+
+ Revert "[intel] Use the memory type mask containing the caching flags."
+
+ This reverts commit 8bb9ae3693362a302206255c61f512d942df9bbf.
+
+ Validating our kernel buffers with the caching off in flags but on in mask
+ means that the kernel migrates the buffer to be uncached, which is undesired.
+
+commit 8bb9ae3693362a302206255c61f512d942df9bbf
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jan 2 09:45:16 2008 -0800
+
+ [intel] Use the memory type mask containing the caching flags.
+
+commit a3c435b342e467020e349061ce656c68258a8576
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Dec 16 22:25:33 2007 -0800
+
+ Set correct flags mask when validating buffers.
+
+ The 'mask' value used in the validation operation specifies which of the
+ 'flags' bits are being modified. Buffer validation wants to pass the memory
+ type and access mode (rwx) to the kernel so that the buffer will be placed
+ correctly, and so that the right kind of fence will be created (read vs
+ write). That means we actually want a constant mask for these operations,
+ and not something computed from the bits coming in. The constant we want is
+ DRM_BO_MASK_MEM | DRM_BO_FLAG_READ | DRM_BO_FLAG_WRITE | DRM_BO_FLAG_EXE.
+
+commit 4cc02fb9387dbeeea56de3a34854f6739dc97a80
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jan 1 02:16:29 2008 -0800
+
+ [965] Improve performance by including reloc target buffer pointers in keys.
+
+ Without this, the WM binding tables would all collide, for example. Improves
+ openarena performance by around 2%.
+
+commit de427742b89bc04fd1f59cf6ebab893e14ee8ad4
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 2 07:24:07 2008 -0700
+
+ additional stub functions
+
+commit 7d6d6652d58c542be07707c9a9becb8163f1ba8a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jan 2 07:18:46 2008 -0700
+
+ additional GL_COLOR_ATTACHMENTx_EXT cases (bug 13767)
+
+commit 732540f997ef0501ccbc1237148bc44aaba38d66
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Jan 2 23:44:24 2008 +1100
+
+ nv40: some cleanups
+
+commit 720fd7b5e993c7e77e5b1fc75edeedd110532e0e
+Merge: 92ee96d da92ac0
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Jan 2 23:02:35 2008 +1100
+
+ Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1
+
+commit 60d762aa625095a8c1f9597d8530bb5a6fa61b4c
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Wed Jan 2 11:38:51 2008 +0800
+
+ i915: Needn't adjust pixel centers. fix #12944
+
+commit da92ac01e80e8a83233b1d4a881503bfc2806a1a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jan 1 15:21:14 2008 -0700
+
+ Plug in more infrastructure for actual rendering.
+
+ Track vertex/fragment shader state.
+ Plug in pipe->draw_arrays(), pipe->draw_elements().
+ Plug render stage (a stub) into end of 'draw' pipeline.
+ Specify a hard-coded vertex format for now.
+
+commit 57a711f7275993e75aa00918065b876776618a17
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jan 1 14:01:14 2008 -0700
+
+ hack/fix pack_color() for correct ps3 format
+
+commit 52659e3c238d961de1f25bed9254747f2f931547
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jan 1 15:17:30 2008 -0700
+
+ Clean-up, re-org some vertex/fragment shader state code.
+
+commit 292bbd4a7250b96c4edadc2da5ebb7fc72b6159f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jan 1 15:09:16 2008 -0700
+
+ move SP_NEW_ #defines into sp_state.h
+
+commit 524304c9b8b85dd32ea8c90aafa79229e928f250
+Author: Dave Airlie <airlied@linux.ie>
+Date: Wed Jan 2 06:19:47 2008 +1000
+
+ Revert "r300: fix bug with maniadrive rendering"
+
+ this is correct, there is another issue with sw fallbacks
+
+ This reverts commit cc50edbca2fd3111f9987d4117fa6656599d79dc.
+
+commit 520a455f55f6c6c529dc6b725a5225793c0b4b01
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 28 14:52:12 2007 -0700
+
+ fix vbo display list memleak upon context destruction
+
+commit 678db26b9d2db0c76e7676b5499d8d55a5619a94
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 28 14:25:09 2007 -0700
+
+ unref buffer after drawing, fixes rastpos mem leak
+
+commit c37d2c9325a39287e29c22ab0e6838e7e35c7175
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 28 14:18:18 2007 -0700
+
+ fix single-sided stencil test bug
+
+commit 6656864135411d379c06e071c5a5e73b4e4baea5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Dec 27 19:18:12 2007 -0700
+
+ fix leak, fix refcount error
+
+commit 6883e02a5cab528623e11ad7717f1052ab2e031d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Dec 27 19:17:41 2007 -0700
+
+ fix a mem leak, document another existing leak
+
+commit 4fabee9d4d217bb18411b6c481416775aead029e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Dec 26 07:16:41 2007 -0700
+
+ unref const buffers during context destroy
+
+commit 6128c938650f3937ba54dd7225d258d753e16ade
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Dec 26 07:16:12 2007 -0700
+
+ unref const buffers during context destroy
+
+commit 1631a9513d32ddcc5467225ad25d0e7a154af895
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Dec 26 06:57:24 2007 -0700
+
+ free program caches
+
+commit f44e2f14d24b6d2730e7ff85e96695867ee96cbe
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Dec 26 06:56:58 2007 -0700
+
+ fix mem leaks
+
+commit 573b4414b926bb86e9a1e8f3ffad64426aa4bda4
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Dec 26 06:56:42 2007 -0700
+
+ fix mem leak (free key)
+
+commit 171a9674c4caf32303a8d09ce48db18cde1d3e7e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Dec 24 17:40:02 2007 -0700
+
+ free surface caches in softpipe_destroy()
+
+commit aec6009ece010f334f5777d727620cc042746e31
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Dec 24 17:39:21 2007 -0700
+
+ fix a memleak
+
+commit 57a5421d658df0ef330fc2c9c34ff9fa0923867e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Dec 24 17:39:01 2007 -0700
+
+ free tgsi machine state
+
+commit f6136f993a2f06e1d4719b3e9a76187222e9a927
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Dec 24 17:38:35 2007 -0700
+
+ free tgsi machine state
+
+commit eba2e044a04da99fea2214ba10ca5981f596702e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Dec 24 17:37:59 2007 -0700
+
+ added tgsi_exec_machine_free_data()
+
+commit 552907d8a497d42f6693ca0f9324f003cfe3a66d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Dec 24 17:37:30 2007 -0700
+
+ free Default1D/2DArray objects
+
+commit a5c84de3a7c937bb8b1cca3e6f17329e7d35c20d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jan 1 10:20:21 2008 -0700
+
+ remove unneeded conditional
+
+commit f0676cc4223fe05d84cee9d16f1094a7bfa181d4
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 28 14:51:52 2007 -0700
+
+ fix vbo display list memleak upon context destruction
+
+commit 6c0fc07d71cd1a4e311c8e638e718f7df189af79
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Dec 24 17:05:39 2007 -0700
+
+ fix glUniform4f typo
+
+commit 9b3162b1d21ccd5b0b25b45696c6106dae4c3357
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jan 1 10:10:04 2008 -0700
+
+ additional GL_COLOR_ATTACHMENTx_EXT cases (bug 13767)
+
+commit 2bf2a8cc6dbf8cd4561bfc45886d5317beda098b
+Author: Bruce Merry <bmerry@users.sourceforge.net>
+Date: Fri Dec 21 23:18:40 2007 +0200
+
+ Convert to 0/1 when setting boolean uniforms
+
+ Also add some extra tests to the shader_api regression tests
+
+commit 3f948025dbbff665ed41ad771e459472cc069e8b
+Author: Bruce Merry <bmerry@users.sourceforge.net>
+Date: Fri Dec 21 16:04:43 2007 +0200
+
+ Make use of count in _mesa_uniform_matrix
+
+commit 239be839be3348f7fb4c069a49e43fe0faae038b
+Author: Bruce Merry <bmerry@users.sourceforge.net>
+Date: Fri Dec 21 15:23:39 2007 +0200
+
+ Add a test program to test for assorted bugs in shader_api.c
+
+commit 89b80327ae9d74729f7eb57f338f6b20837ceb05
+Author: Bruce Merry <bmerry@users.sourceforge.net>
+Date: Fri Dec 21 15:20:17 2007 +0200
+
+ More fixes to shader_api
+
+ - return GL_INVALID_OPERATION instead of GL_INVALID_VALUE if location is bad
+ - correct the type-checking of uniforms from my previous commit
+ - accept location of -1 in _mesa_uniform_matrix
+
+commit eeb03faadc7e677f69aaf82aef2786c39faa4b76
+Author: Bruce Merry <bmerry@users.sourceforge.net>
+Date: Fri Dec 21 14:41:45 2007 +0200
+
+ Fix several bugs relating to uniforms and attributes in GLSL API
+
+ - fix sizes for GL_FLOAT_MAT2x3 and GL_FLOAT_MAT4x3 in sizeof_glsl_type
+ - fix size returns in _mesa_get_active_attrib
+ - fix out-of-bounds array access to vec_types in _mesa_get_active_attrib
+ - fix queries of matrix uniforms in _mesa_get_uniformfv
+ - fix _mesa_get_uniformfv to only return one base, even from an array
+ - allow location == -1 in _mesa_uniform
+ - validate types in _mesa_uniform
+ - allow array overruns in _mesa_uniform
+
+commit 8349073561738d444345ea795efb81db9cd16cb8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jan 1 09:26:15 2008 -0700
+
+ added 'get' info for framebuffer object tokens
+
+commit 76387dec7667161251ea7c9981b0085ac77d2d71
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jan 1 09:02:36 2008 -0700
+
+ add 'Get' info for MAX_3D_TEXTURE_SIZE (for bug 13811)
+
+commit d3033cad7c8a077b093fc5b0c423950473aed9e7
+Author: Hans de Goede <j.w..r..degoede@hhs.nl>
+Date: Wed Jan 2 01:32:01 2008 +1000
+
+ t_vp_build: fix temporary register allocation to minimise the allocations
+
+commit 2290ea7fe694dd74a88f4480326e9470fb9e945e
+Author: Hans de Goede <j.w..r..degoede@hhs.nl>
+Date: Wed Jan 2 01:29:51 2008 +1000
+
+ rx00: fix off by one error in tempreg check
+
+commit cc50edbca2fd3111f9987d4117fa6656599d79dc
+Author: Dave Airlie <airlied@linux.ie>
+Date: Wed Jan 2 01:19:23 2008 +1000
+
+ r300: fix bug with maniadrive rendering
+
+ I've no idea why I added this so I'll have to spend time tracking it down
+
+commit 73f6f7ed91a9d9620fa2ee7bb6d89a894ee6b6a8
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Sun Dec 30 08:48:10 2007 -0800
+
+ autoconf: Remind developers to bump version numbers in configure.ac
+
+ Just like configs/default, the version number in configure.ac needs to
+ be bumped for releases. Maybe later we can figure out how to scrape the
+ version from configs/default into configure.ac.
+
+commit 92ee96d83d26e56857b2999356d7c2a75e6eaf76
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Dec 30 15:24:16 2007 +1100
+
+ nv40: s/READ/WRITE/
+
+commit 6af6bb6817bdf55a0e0f651070f0367621594c11
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Dec 30 01:17:47 2007 +1100
+
+ nouveau: header update
+
+commit 24cfb7d2e29aae5afa2529d3798fa94d813dc017
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Dec 30 01:03:24 2007 +1100
+
+ nv40: untested fragprog mods for big-endian chips
+
+commit 09612416d74d92c22bf757fc513a70bec30f15b5
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Dec 30 00:37:58 2007 +1100
+
+ nouveau: typo fix
+
+commit d0ebdca4fa70506107a318e6cfd03f0fb4297897
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Sat Dec 29 15:28:51 2007 +0800
+
+ fix fd.o bug #13847
+
+commit 3956597962dcf6c8082541199ebac58e0d84f6bc
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Fri Dec 28 18:03:39 2007 -0800
+
+ Bug #13839: Fix 3D texture offset miscalculation with pixels versus bytes.
+
+commit aecec3aced1375a8e15f88e13a5dfc97f2814ba4
+Merge: aac2d99 2b440d5
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Fri Dec 28 15:14:32 2007 -0800
+
+ Merge branch 'autoconf2'
+
+commit aac2d99dc316c069faa46dd43ff034155754c6b3
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Thu Dec 27 10:43:43 2007 +0800
+
+ i915: reset swrast state after calling swrast DrawPixels.
+ In order to optimize DrawPixels, the i915 texenv program isn't
+ applied to swrast DrawPixels in the i915 driver. This causes this
+ program isn't applied to any following swrast functions. Resetting
+ the swrast state fixes this issue. Fix #13614
+
+commit 8ed3a69fc8f811c2010615af94a6bb8003c8a296
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Thu Dec 27 09:01:08 2007 +1100
+
+ nouveau: remove legacy stuff
+
+commit 2b440d54617bf0020171ce765708e7a9b48f2185
+Merge: ab57cba b422e5a
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Wed Dec 26 15:41:24 2007 -0600
+
+ Merge branch 'master' into autoconf2
+
+commit ab57cbaccccb30fd743ba3283251430e6bc3a071
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Wed Dec 26 11:12:29 2007 -0600
+
+ autoconf: Helper options for adding GCC 32/64 bit flags
+
+ Two new configure options to add -m32 or -m64 to the CFLAGS and CXXFLAGS
+ when GCC is in use. By default, the user supplied options are
+ environment variables are respected, but these options are quick helps
+ for the common case of x86/x86_64 using GCC.
+
+commit dc6d73e1a47cfd7f4cb615e75d9f7f944efabf03
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Thu Dec 27 06:21:13 2007 +1100
+
+ nouveau: track last validated offsets, so we know when relocs can be avoided.
+
+commit 3b8efe1dfedec0b6598dc9cc3d6897fe2b3b788d
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Thu Dec 27 06:10:49 2007 +1100
+
+ nouveau: allow unfenced read of buffers in a few situations
+
+commit a794fcfbdbc0417ed9960bd92e0ac49367660635
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Thu Dec 27 06:02:01 2007 +1100
+
+ nouveau: remove fence_del(), _ref() can be used for the same purpose.
+
+commit f33467d72a0bcfc48a21c9d2bf158dabda926442
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Dec 26 00:56:00 2007 +1100
+
+ nouveau: header update
+
+commit e32e0e2b8ea81e7b49c1cca4a99ac9b43790ce44
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Dec 26 00:37:21 2007 +1100
+
+ nv40: use index buffers rather than inline indices.
+
+ We probably want to use inline indices in some situations still, but this
+ commit's primary purpose is to workaround some mis-rendering caused by a
+ more complicated problem that'll get fixed eventually.
+
+commit b422e5ad3716d32f2434ca38819f4a877c7eeeeb
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Tue Dec 25 17:22:19 2007 +0800
+
+ i915: apply commit a0a5e8cfc04c14873441b50f7d594ef11806b9a8 from 965.
+ fix #11925
+
+commit cf46aee14a9df86ce336823fd02da650e262f77e
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Tue Dec 25 14:16:05 2007 +0800
+
+ mesa: fix a bad cast in put_values_z24.
+ The values passed to put_values_z24 are GLuint,
+ not GLubyte. fix #13543
+
+commit 166a828ddfecf7fab110102783faa756081bf28a
+Author: Adam Jackson <ajax@redhat.com>
+Date: Mon Dec 24 19:16:24 2007 -0500
+
+ __driConfigOptions must be PUBLIC.
+
+commit 0b7e0f81591c0b70452ff9250af9b145e8c15adf
+Author: Alex Deucher <alex@botch2.(none)>
+Date: Mon Dec 24 11:59:27 2007 -0500
+
+ R300: RV410 SE chips have half the pipes of regular RV410
+
+ This fixes 3D rendering on x700 SE chips. Reported
+ by Kano.
+
+commit f9e0e2b3efbc45a290f0a84a1beb63cd8c4f8428
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Dec 24 07:57:34 2007 -0500
+
+ i965: a little better way of handling immediates
+
+commit d732728590e93de54dd4f4576b394ca2442c3db8
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Dec 24 19:21:17 2007 +1100
+
+ nouveau: pushbuf code, now with 50% less suck!
+
+ Far more efficient, if not a bit more complicated. Hopefully not too
+ buggy still.
+
+ This commit will potentially expose some unrelated bugs, fixes for them
+ will follow "real soon now".
+
+commit f9cfc323768b6926dcc731484cc1ac4ded000e5a
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Dec 24 18:53:41 2007 +1100
+
+ nv40: ensure all required buffers are accounted for during state validation
+
+commit 4c5a2b3af214e7a0ec0742b17beb1e719552ecae
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Sun Dec 23 16:38:18 2007 -0800
+
+ autoconf: Documentation for using the autoconf'd build
+
+ Most of the options available from configure are documented on the
+ autoconf.html. This page is reached as an alternative provided on the
+ install.html page. An FAQ about why there is no configure script has
+ been removed.
+
+commit 5fcffcd31279d7777ad543809e5115f1e578022c
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Dec 23 17:00:08 2007 +1100
+
+ nouveau: speed up user buffers.
+
+ Try and fit user buffers into a small GART scratch area at validate time,
+ instead of going to a lot of effort to fit these (mostly) use-once-and-discard
+ objects into VRAM.
+
+commit 7372a596a9b960b212c839ef4ee1a1358b224047
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Dec 23 16:19:25 2007 +1100
+
+ nv40: seems we have stencil faces around the wrong way.
+
+commit 74757eb970984b0404c17255f3639d8a40591964
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Dec 23 16:18:00 2007 +1100
+
+ nouveau: don't wait when deleting fences unless needed
+
+commit fa605cf661c09c5866cd9aa316b6a5ce9eb65c24
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Dec 23 16:06:24 2007 +1100
+
+ nouveau: some cleanups
+
+commit b4b002661e8a1f9a37201796c996503c33b8c96f
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Dec 23 16:05:02 2007 +1100
+
+ nouveau: match gallium changes
+
+commit 6c14cf58343135491068e96575bf4e61a6d34c87
+Merge: bf2410c 4fa7afa
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Dec 23 16:01:59 2007 +1100
+
+ Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1
+
+commit 26473140b9c5e6aa962961c836f79fd5aa6cd246
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Sat Dec 22 18:54:01 2007 +0100
+
+ fix GL_LINE_LOOP with drivers using own render pipeline stage (#12410, #13527)
+
+ primitive needs to include the begin/end flags (broken since vbo-0.2). Should
+ fix missing first/last line segment on gamma, i810, i915, mga, r200, radeon,
+ s3v, savage, unichrome (r300 already correct). Tested on r200, fixes #13527.
+
+commit 2f3e939ae719f522fc26bfd62997fa8b7940c8ed
+Author: Kristian Høgsberg <krh@temari.boston.redhat.com>
+Date: Fri Dec 21 15:31:00 2007 -0500
+
+ Silence compiler warnings from XML error macros.
+
+commit 9136e1f2c80ce891fb6270341a4316f219c89d49
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Dec 21 11:39:33 2007 -0800
+
+ [965] Fix and enable separate stencil.
+
+ Note that this does not enable GL_EXT_stencil_two_side, because Mesa's computed
+ _TestTwoSide ends up respecting only STENCIL_TEST_TWO_SIDE_EXT (defaults to
+ GL_FALSE), even if the application uses only GL 2.0 / ATI entrypoints.
+
+commit 9e68e191ac9d32f2f93e840a66127e724b442756
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Dec 20 11:44:40 2007 -0800
+
+ [intel] Move some pixel path support from drivers to shared.
+
+commit f8830a1bf788909a18b6089eb159a38c19bf48d6
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Fri Dec 21 17:03:55 2007 +0800
+
+ intel: cast a pointer to unsigned long, avoid potential error.
+
+commit bea6b5fe5aa3138cec8d057766ae48da4aa57dee
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Dec 20 11:29:39 2007 -0800
+
+ [965] Enable EXT_framebuffer_object.
+
+ To do so, merge the remainnig necessary code from the buffers, blit, span, and
+ screen code to shared, and replace it with those.
+
+commit 106f3982203377949bd1a232008e4e0f0b9275db
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Dec 20 11:28:10 2007 -0800
+
+ [965] Actually enable SGIS_generate_mipmap.
+
+commit 101abee6c4fc2c9284ff2ba6f9f9138327d6963d
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Dec 19 14:26:14 2007 -0800
+
+ [intel] Fix and reenable (software) SGIS_generate_mipmap
+
+ The core problem was that _mesa_generate_mipmap was not respecting RowStride
+ of the source image. Additionally, the intel private data associated with the
+ images (level and face) was not being initialized for the
+ _mesa_generate_mipmap-generated images.
+
+commit 4fa7afabc966a3d37324f2f9b03e1cc466db7773
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu Dec 20 12:54:23 2007 -0500
+
+ i965: very crude and hacky way of handling immediates
+
+commit b2f62609d02b91cc42c786200fa0c123e1fd2dcb
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Dec 20 08:24:45 2007 -0800
+
+ [intel] Allow driver hooks to be NULL in intel_buffers.c and just update flags.
+
+ The 965 driver relies on flag checking instead of these hooks, and will be
+ using this code soon.
+
+commit fcd1e9dad6949e02380593a166432dbac311c80e
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Dec 20 08:19:42 2007 -0800
+
+ [i915] Move meta_draw_quad into the vtbl with other meta operations.
+
+commit 2761cfce462af4fee0d67068c09f7f188677e7cf
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Dec 20 09:05:37 2007 -0700
+
+ return correct size from glGetActiveUniform (bug 13751)
+
+commit a85535b7cb0886f23e5686e37d1fa54394cdece4
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Dec 20 13:47:46 2007 +0000
+
+ gallium: make state tracker explictly ask for rendercache flushes
+
+commit 9e41d547db6669ff669f1d60cb35df9edf306370
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Dec 20 13:47:11 2007 +0000
+
+ 965: respect pipe flush flags
+
+ Now we emit way too many flushes instead of none at all.
+
+commit 21c67b70d4bcffad8f0f07c0423c18e59f4259ea
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Dec 20 13:19:56 2007 +0000
+
+ gallium: translate ARB fp/vp immediates consistently to tgsi immediates
+
+commit ebf78c0dcccbe2c458b945e014f2bd53ab137e91
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu Dec 20 07:05:52 2007 -0500
+
+ 965: fix the constant buffers
+
+commit e54329233522591bbe8aad8a3fd6bcdc1e430f03
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Thu Dec 20 16:49:25 2007 +0800
+
+ i915: avoid dead lock in intel_meta_draw_poly. fix #13696
+
+commit e9207430cefd44beb1a16cfb5879a7ace475e2f5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Dec 19 14:06:22 2007 -0700
+
+ Add some prototype code for converting RET to END for main(). Disabled for now.
+
+commit 4a1776a763f2c3b3d1d5bdb5720cafad3ac932c6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Dec 19 13:53:28 2007 -0700
+
+ temporarily defeat an assertion
+
+commit c664302c3e34a29b4bbb02fd3789dd3f7d92849c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Dec 19 13:45:00 2007 -0700
+
+ Fix problem with initial viewport/scissor size.
+
+ If an app never called glViewport, the viewport size was always 0 by 0 pixels.
+ Now pass initial size to st_create_framebuffer() and initialize the viewport
+ and scissor bounds in st_make_current().
+ This could also be fixed by ensuring the gl_framebuffers passed to
+ _mesa_make_current() were initialized to the right size. But that involves
+ allocating the renderbuffers/pipe_surfaces earlier and that runs into some
+ other issues ATM.
+ Also remove obsolete createRenderbuffers param to st_create_framebuffer().
+
+commit 1575763a6f57d1f13c707b709f188b0617c8955a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Dec 19 11:50:50 2007 -0700
+
+ convert Mesa OPCODE_END to TGSI_OPCODE_END, not TGSI_OPCOD_RET
+
+commit 127ab73b380d9c26974d19062e3e16758005bd80
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Dec 19 08:51:17 2007 -0700
+
+ remove obsolete TXP, add some sanity checks
+
+commit cedf6892e7cc29aab404b142012eec0b0603a414
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Dec 19 08:50:52 2007 -0700
+
+ special-case PSIZE too
+
+commit dbf6eced87c16eae0834d38d86a60b4f643ee3b7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Dec 19 08:50:35 2007 -0700
+
+ move st_make_current() before buffer size check so renderbuffer alloc storage works
+
+commit c61b32777b5b3b138c8bf5fac7e7e70ec084c8c1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Dec 19 08:49:59 2007 -0700
+
+ new assertions
+
+commit d24a9b26fc44b586a19d46e731e61a5d133868d9
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 19 19:05:19 2007 +0000
+
+ 965: dump curbe contents to stderr
+
+commit 5ff69cfd68970ef67ecf3fc10f9abd31356e793f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 19 19:04:35 2007 +0000
+
+ 965: handle BRW_CONSTANT_BUFFER data type
+
+commit a65f39f918f3a28c3c4e38036099d4ce97fcfac7
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Dec 19 13:22:27 2007 -0500
+
+ consts
+
+commit dc461d8c8764e2bd8303c1955f244bacab4467fa
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 19 15:48:53 2007 +0000
+
+ 965: count grf allocation correctly for wm prog, first aub triangle
+
+commit 86ddaa9d0e3c80e0fd7b7c99b66e46e0bcbdb04d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 19 15:16:25 2007 +0000
+
+ 965: hardwire correct behaviour for vp-tri setup (for now...)
+
+commit ded6ce2bd56526dbd2b359457f259cc5b2a93eb8
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 19 15:13:20 2007 +0000
+
+ vp-tri: match vertex/color data of other tests
+
+commit ae280f1ce90a7d95bf761efdfebc91ae5b379079
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 19 14:20:23 2007 +0000
+
+ 965: align buffer allocations to 4k
+
+commit 2c8e50c0cbbea64fd26d9c61c19c697e1cbfd9f5
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 19 13:13:42 2007 +0000
+
+ use a depth buffer temporarily
+
+commit 65f67baa425af71fc52639d22c1683da3b386a1b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 19 13:12:34 2007 +0000
+
+ 965: make sure stipple state gets uploaded
+
+commit 2e3dfe97ee514a9ef8bd0a862360854d9be392d3
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 19 13:11:56 2007 +0000
+
+ 965: allocate buffer space to hold batch commands
+
+commit f13a200c8367c58fc962bdad9bcb22263d385886
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Dec 19 07:49:42 2007 -0500
+
+ actually set the max_index. useful in the driver
+
+commit f367c57802f3800f695acae975fdc30ece6a63b3
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 19 12:23:27 2007 +0000
+
+ 965: fill unused surface pointers with zero
+
+commit bc1fc7d6739476748c902a79dcf1676b0ddc17fd
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Dec 19 07:08:13 2007 -0500
+
+ i965: emit fb write on RET for now (until we get END back)
+
+commit a0ce71b51dd7aac4e219a023bae6fc9771d64c03
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 19 11:49:56 2007 +0000
+
+ 965: pitch is in bytes not pixels
+
+commit 05ec043d1ca01f0be94e8b8ceaeb730475b308f9
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 19 11:36:03 2007 +0000
+
+ 965: fix off-by-one in scissor rect
+
+commit 2f53713beb9aa425d8248bae6a3c388a7de189de
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 19 11:35:21 2007 +0000
+
+ 965: fix off-by-one in surface dimensions
+
+commit 1f37b4d87e798690ed080e5da356366906ff55cd
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 19 11:32:56 2007 +0000
+
+ 965: respect surface width when dumping bitmap
+
+commit 38de4c5715209171bc168454f7a6dc6c43b341b8
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Dec 19 06:00:30 2007 -0500
+
+ i965: actually detect whether a sampler is enabled/disabled
+
+commit aba4ee24cf1de8e1ec9a7f02c2d97c3156d87eef
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 19 11:10:30 2007 +0000
+
+ 965: disable clipping more, and restore drawing rect packet
+
+commit e03982475795f19a674b79940c135584b13fd79a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 19 11:10:06 2007 +0000
+
+ 965: disable clipping for now
+
+commit 94c2ab2895f220d5d5156db71197446b3b89f52b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 19 10:55:49 2007 +0000
+
+ 965: fix vertex pointsize state, match default cull mode
+
+commit 4fd2a2ac6f6593487d59fac2d8c0365179509ae5
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 19 10:49:16 2007 +0000
+
+ 965: fix colormask state
+
+commit 9791c16b317d1536ba5c2d67398d17b80da2f015
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 19 10:20:14 2007 +0000
+
+ 965: populate fp_input_count in setup key
+
+commit 93d90c6b570298ea96c5952af1acb31b0a89362c
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Dec 19 05:28:28 2007 -0500
+
+ i965: stuff the outputs into mrf registers when possible
+
+commit 4e1a4458662e1766e9de7ce0e23de0766dcb1b9e
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Dec 19 04:58:29 2007 -0500
+
+ i965: be smarter about register allocation
+
+commit bf2410ca73d1eabc7134e51855d0b603897229e4
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Dec 19 19:40:38 2007 +1100
+
+ nouveau: nuke subchan auto-assign.
+
+ It's annoying for several reasons, especially in its current form. May
+ possibly be reincarnated later (DDX depends on it these days), but in
+ not quite the same way.
+
+commit da693b7c89392265944f7ba4c20c2455be101b85
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Fri Dec 7 11:26:41 2007 -0800
+
+ Don't try to build nonexistent i915tex driver on linux-x86-64
+
+commit f71032b7e257401959428c3498d687ca199c9c03
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Fri Dec 14 09:59:16 2007 -0800
+
+ docs: Fix links in contribute section
+
+ The contribute section had a broken hyperlink, masking the mailing list
+ text.
+
+commit d2d82f8a29d3698313956739a7d20704a62c6925
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Dec 18 18:54:59 2007 -0800
+
+ [915] Set cliprects in the drawbuffer software fallback case as well.
+
+ Otherwise, we may violate cliprect asssertions on clearing the buffers, which
+ isn't affected by the fallback.
+
+commit d67c2c1cd5d0bb77a08a46d2e9a2bdae6b2c8ff3
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Dec 19 13:28:22 2007 +1100
+
+ nouveau: remove sync hack, gallium got sort-of fixed.
+
+commit 4cca760a9b7fe120ed92257a6a6c4a3a6e929ba8
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Wed Dec 19 10:22:28 2007 +0800
+
+ i965: allocate GRF registers before building subroutines,
+ it ensures there are sufficient registers for all subroutines.
+
+commit 3e1e40ee79317dc5817af25f65d4a483b08fe592
+Merge: 3af35c6 d0a63de
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Dec 19 13:21:41 2007 +1100
+
+ Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1
+
+commit e3a1ae0fcbd7582eb6fbd02384410d786c2b671b
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Wed Dec 19 09:59:37 2007 +0800
+
+ i965: restore the flag after building the subroutine of the
+ GS thread. fix #13240
+
+commit 88f1419f961397c62fa3551551cdf00f9903f20d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Dec 18 16:30:42 2007 -0700
+
+ added glSecondaryColor3fv_func
+
+commit 83af4f3623e799aec36fe839a0a14ff599f5b352
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Dec 18 16:25:48 2007 -0700
+
+ added two-side test
+
+commit 87002aba3b0d36f0a3ca5c34db5e2da86ceb4119
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Dec 18 16:21:49 2007 -0700
+
+ Test GL_VERTEX_PROGRAM_TWO_SIDE and frag shader gl_FrontFacing features
+
+commit caec2a79e6d5fd61e2c889e78457725807f42a8a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Dec 18 16:20:10 2007 -0700
+
+ added twoside demo
+
+commit 256115bd5e6bb59f3019b52120ca804b7a5c00c0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Dec 18 16:12:23 2007 -0700
+
+ simplify update two-side lighting test (follow-on to previous front/back-face changes)
+
+commit 441bab8f171b0678303ff46fc79f236c349aafdb
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Dec 18 16:10:11 2007 -0700
+
+ fix NEED_SECONDARY_COLOR for vert/frag progs
+
+commit 85f5e6d7b903fee332a372f8fe1577f79c594276
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 14 17:34:01 2007 -0700
+
+ Fix a quadstrip front/back-face inconsistancy.
+
+ Only set front material colors to make it noticable if front/back-face
+ determination is incorrect anywhere.
+
+commit d0a63de37888966591735a190d69b0333d31bef5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Dec 18 16:01:25 2007 -0700
+
+ turn off TGSI_DEBUG
+
+commit 52da6b559a47eca2c1a8ec1b713e188f38e1d16a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Dec 18 16:00:58 2007 -0700
+
+ fix bug on GL_VERTEX_PROGRAM_TWO_SIDE path
+
+commit 8c20747834c2ea7006f127e974560534ab279da2
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Dec 18 16:00:31 2007 -0700
+
+ setup the frontface register (fog.y, ATM)
+
+commit fb4eb8c91b7e76bf66d92da91c1e6d994b6e7e3e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Dec 18 15:59:54 2007 -0700
+
+ fix some semantic info mix-ups in calculate_vertex_layout()
+
+commit 9efa1029e5a2ee90e3265d9959730685ce841b66
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Dec 18 14:51:42 2007 -0800
+
+ Fix mismatched map/unmap of buffers in swrast read/drawpixels error paths.
+
+commit 4878f12189c52e1cafe9240183d0e371a1f287d3
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Dec 18 14:17:27 2007 -0800
+
+ [915] Free dri_bufmgr after mesa context data.
+
+ Fixes a crash when buffer objects are left around until context destroy.
+
+commit a856da63247a4b403f6350914f732e14d1530ed1
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Dec 18 14:14:44 2007 -0800
+
+ [915] Make polygon stipple use pre-unpacked pixel data.
+
+ This fixes a crash when stippling using data from a PBO.
+
+commit 0dc2c68ffc379aa04247eb48b84b2fac69949bbd
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Dec 18 10:41:44 2007 -0800
+
+ [915] Fix clear color when clearing with triangles.
+
+ The diffuse color format is always ARGB32, regardless of the destination
+ surface format.
+
+commit dd1a868b74ac47ac26f600f2f1eb0dc3f535f31b
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Dec 18 10:18:33 2007 -0800
+
+ [INTEL] Fix 965 to use new centralized mipmap pitch function
+
+commit a183efc132c8db1bb42525ac177ffff96f69a59b
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Dec 17 22:43:48 2007 -0800
+
+ [Intel] Centralize mipmap pitch computations.
+
+ mipmap pitches must account for the device alignment requirements, which
+ used to be fairly simple; just align to a 4-byte boundary. However, to allow
+ textures to be drawn to under TTM, they now need to be aligned to a 64-byte
+ boundary. Placing all of the alignment constraints in a single function
+ allows this new constraint to be applied uniformly.
+
+ There was some pitch constraining code in intel_miptree_create, but that was
+ modifying the pitch long after the miptree had been layed out, so it only
+ served to wreck the mipmap and cause rendering errors.
+
+commit c31416971e4eac148f8e82d6c4392bd6f9cbc05d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Dec 18 17:25:33 2007 +0000
+
+ gallium: rationalize vertex_element state packet
+
+ Remove dst_offset (not used)
+ Add nr_components, which could be calculated from format, but would be
+ too much effort.
+
+ Update i965 driver to cope.
+
+commit 208b2ad8ab51c472886388fdd872e3a86e2c1c5c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Dec 18 16:57:17 2007 +0000
+
+ gallium: give userbuffers some storage in the aub buffer pool
+
+commit 9d4ab42f4be3a26f702729cc79ef67f8afc2eca5
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Dec 18 16:56:22 2007 +0000
+
+ vbo: unmap and remap immediate vbo before/after each draw.
+
+ Also use BufferData(NULL) to get fresh storage and avoid synchronous
+ operation where we would have to flush and wait for the fence after each
+ draw because of the map.
+
+ This will chew through a whole load of buffer space on small draws, so
+ it isn't a proper solution. Need to support a no-fence or append mapping
+ mode to do this right, or use user buffers.
+
+commit 7cef9237ae663f107dce82a688e8e0a9ce8193bc
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Tue Dec 18 09:59:54 2007 -0500
+
+ i965: don't treat swz differently and upload vertex buffers
+
+commit e2a669aed4bc6f9c94b6b664bf667777078e02c0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Dec 17 20:41:20 2007 -0700
+
+ obsolete
+
+commit 6f1bfdc4bf5b72ac705b8cbb2dc431e133dcb5b8
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Dec 17 17:01:07 2007 -0800
+
+ [i915] Remove redundant set_draw_region code (like the comment says).
+
+commit 33487c15ba8324bf0b635293214cad246661915e
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Dec 17 16:56:59 2007 -0800
+
+ [intel] Improve INTEL_DEBUG=blit description of clearing.
+
+commit c24300f93731f8777309bec4ce2439d05895001a
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Nov 27 10:57:28 2007 -0800
+
+ [intel] Fix copy'n'pasteo in decoding of the blit clear packet.
+
+commit 9a8819e7677cac709c681d8b16b717d069f205f2
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Nov 27 10:16:58 2007 -0800
+
+ [965] Add decode of 3DSTATE_DRAWING_RECTANGLE.
+
+commit 146030aad2c41eb8303935a13333c93fdc7c4a58
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Dec 17 16:50:09 2007 -0800
+
+ [965] Allow draw or depth regions to be NULL.
+
+ With FBOs, we end up wanting to do 3D metaops against one or the other without
+ having to find the other one to fill in if we're not going to draw to it.
+
+commit 3af35c6dfa4db1cbf830731882e61d57741f2898
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Dec 18 11:27:44 2007 +1100
+
+ nouveau: match latest gallium changes
+
+commit 015871a0753cb984f8a93232a7e8334a24b08406
+Merge: c5ffd8e 04a5a8b
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Dec 18 11:02:46 2007 +1100
+
+ Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1
+
+commit 447facfcd6d807128ebf6ba3efc894180b447494
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Dec 17 14:51:24 2007 -0800
+
+ [965] Simplify scissor handling by using DrawBuffer values.
+
+commit 8336f3ffb7e4033337a1d0eafef43cbf3329f499
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Dec 17 14:42:21 2007 -0800
+
+ [965] fix bad conflict resolution in debug code.
+
+commit 2c9e515d8607fb91f08c500a841cdf7f32bda346
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Dec 17 14:28:54 2007 -0800
+
+ [965] Replace our own depth constants in intel context with GL context ones.
+
+commit 98d43552408045e34ba937913cfbad7aadee8213
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Dec 17 13:47:52 2007 -0800
+
+ [965] Fix software fallbacks with region-backed textures.
+
+commit c1d6b874b35dd353b2f9862b47aadb52a812a4aa
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Dec 17 13:19:33 2007 -0800
+
+ [intel] Cleanup of */intel_blit.c to bring the two closer.
+
+commit 04a5a8b3bcba64c506ee5646a3a8b737e124a66a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Dec 17 14:05:53 2007 -0700
+
+ updates for depth/stencil/alpha state
+
+commit b3169a9c35ae2d943d1e84dfa6cc99e94f782ca7
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Dec 17 11:11:18 2007 -0800
+
+ [965] Output the buffer type in INTEL_DEBUG=bat surface state decode.
+
+commit 8978627ad0e236796758d4912822b3428a649987
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Dec 17 13:59:55 2007 -0700
+
+ Emit declarations for constants (references to the const buffer)
+
+commit aeb53622814d340323c766dd33e1dd9a25f33e7a
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Dec 17 14:36:31 2007 -0500
+
+ i965: index the destination offset with regards to the current index
+
+commit 531efbab75ea7d05e1af4640814f19cb5594374e
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Dec 17 14:05:46 2007 -0500
+
+ i965: return false when the function fails, not succeeds
+
+commit 55c1894d0a03a76fcdaed61528ea7e5c74237e38
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Dec 17 13:21:45 2007 -0500
+
+ Add the new test program for fp's.
+
+commit bfe79babf99e6b9435195178d1ea64687c60d161
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Dec 17 16:14:29 2007 +0000
+
+ gallium: incorporate alpha state into depth_stencil state object.
+
+commit 1e0413230648f5ed18bfbdfcb87bf63473ed91b2
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Mon Dec 17 12:20:56 2007 +0100
+
+ i915: Fix issues with glDrawBuffer(GL_NONE).
+
+ Don't dereference NULL renderbuffer pointer, and make sure the software
+ fallback sticks.
+
+ Fixes https://bugs.freedesktop.org/show_bug.cgi?id=13694 .
+
+commit c5ffd8e9afd3df1d4daf189344ec8cbf8a021143
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Dec 17 21:49:16 2007 +1100
+
+ nv40: fix valgrind complaints
+
+commit 8043d2d2618120828d1a94c861ac8fc16fee7af7
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Dec 17 21:45:13 2007 +1100
+
+ nv40: clean state a bit
+
+commit 556e247cee905f84d639b4a292e891c24b36bea1
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Dec 14 20:15:22 2007 +0000
+
+ 965: remove dead state atom decls
+
+commit 3be91c5a493a219dacf12b4cc279e37f26420cbd
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Dec 14 20:14:58 2007 +0000
+
+ 965: fix for non-indexed draw path
+
+commit 95adfb9fec808fff1e72c3feb407be13a96397f9
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Dec 14 20:14:30 2007 +0000
+
+ 965: fix/hack check for NULL texunit in state upload
+
+commit b52e4477f81b8ab7e0db6a73a8f1358b88cf3ea0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Dec 14 20:14:05 2007 +0000
+
+ 965: fix ExtDivide check
+
+commit ae858511d00b99070f95e1c22b447d76db9b76c0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Dec 14 20:13:44 2007 +0000
+
+ 965: put brw_constant_buffer atom directly in update list
+
+commit d859a60dc3b8aa7d8405c5839a21850c0838f07f
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Mon Dec 17 14:42:42 2007 +0800
+
+ i965: check NULL pointer
+
+commit d913a15898fc8edc68ee673e2ae038cf2d7e8af9
+Author: Eric Anholt <eric@anholt.net>
+Date: Sun Dec 16 13:00:23 2007 -0800
+
+ [i915] Fix missing symbol from 965 changes.
+
+commit 1daf5b3ad6460f33870b9f016a6615c5f1f8aa5e
+Author: Eric Anholt <eric@anholt.net>
+Date: Sun Dec 16 12:09:22 2007 -0800
+
+ [965] Fully initialize the texture surface key data (padding around GLboolean)
+
+commit cbed2e4adde58815650e5f1397a6fbfe7923a664
+Author: Eric Anholt <eric@anholt.net>
+Date: Sun Dec 16 11:46:10 2007 -0800
+
+ [965] Enable ARB_pixel_buffer_object, and disable broken imaging extension.
+
+ While I haven't tested the imaging extension, this matches what 915 does.
+
+commit c0b4257aa9ba783674ccf7162799385734dff211
+Author: Eric Anholt <eric@anholt.net>
+Date: Sat Dec 15 16:12:17 2007 -0800
+
+ [965] Move to using shared texture management code.
+
+ This removes the delayed texture upload optimization from 965, in exchange for
+ bringing us closer to PBO support. It also disables SGIS_generate_mipmap,
+ which didn't seem to be working before anyway, according to the lodbias demo.
+
+commit 41b1aa51096e844c0b06f950b1891dc7e5256db7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sun Dec 16 10:00:51 2007 -0700
+
+ switch on cpp instead of format
+
+commit 7dcef36f4c5209bdd472b7f30cf9314344d2708e
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Dec 17 00:46:30 2007 +1100
+
+ nouveau: bump pushbuf size a little, so a "full" packet can fit
+
+commit 66013a252f556447ca02a257bf15909817022433
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Dec 17 00:11:41 2007 +1100
+
+ nv40: colormask thinko
+
+commit f7e99bf22cd03a3d38b1d6263c96a0c2b85f29b7
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Dec 16 23:45:30 2007 +1100
+
+ nv40: don't use vertex buffers for static vertices.
+
+commit 4c2a3356cf976e9e30f888bf57f6b140482a1e15
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Dec 16 21:26:09 2007 +1100
+
+ nouveau: some cleanups
+
+commit b337ecdd8e10b4fa224b2bfb7fdfeda5931d7a6e
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Dec 16 20:44:44 2007 +1100
+
+ nv40: fix culling
+
+commit 19af6e9161c941d66eac4cd0c782e2a2caadce67
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Dec 16 20:21:37 2007 +1100
+
+ nv40: typo
+
+commit f287f687feebb6222137a297283d2dfa4ac11252
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Dec 16 19:28:05 2007 +1100
+
+ nv40: fp support for TGSI_FILE_IMMEDIATE.
+
+ arbfslight works, nouveau's first GLSL prog :)
+
+commit 505e50de1019ca002408f0be6ded89ba714acfa7
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Dec 16 18:36:18 2007 +1100
+
+ nv40: grow fragprog as needed
+
+commit ab4c2e014d4117d6ef43685a57c0ea1b93ba5562
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Dec 16 16:01:25 2007 +1100
+
+ nv40: destroy programs
+
+commit af0b4a50e59435a782f59ccec7ad0552c0304016
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Dec 16 15:49:49 2007 +1100
+
+ nv40: make vbo state update static
+
+commit 47b5138d2d6533ac1cd818713fd0678ec3c7aa1b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Dec 15 16:51:57 2007 -0700
+
+ rename some 'mesa' functions
+
+commit 263e8f057290961c9dd603ffa69f25a7a253301a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Dec 15 16:44:29 2007 -0700
+
+ Use tile functions in new p_tile.[ch]
+
+ This removes quite a bit of code duplicated in the drivers.
+
+commit bccc4c5c0116987041dec2327ddb43eff1bcfadf
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Dec 15 16:42:22 2007 -0700
+
+ Re-usable tile get/put functions
+
+commit 659baa3f25275b622dad626992af60f3c9ea6d66
+Author: Eric Anholt <eric@anholt.net>
+Date: Sat Dec 15 13:09:58 2007 -0800
+
+ [intel] Whitespace and comment changes to bring intel_mipmap_tree.c closer.
+
+commit 3fe9d5cbb7c680c6fb88a2eba678b28a2a06949e
+Author: Eric Anholt <eric@anholt.net>
+Date: Sat Dec 15 12:47:23 2007 -0800
+
+ [intel] Merge intel_buffer_objects to shared.
+
+ 965 gains fixed TTM typing of the buffer object buffers and unused PBO
+ functions, and 915 gains buffer size == 0 fixes from 965.
+
+commit f5b3cd46202517c21fcfcec0102732411df1af18
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Dec 14 16:00:48 2007 -0800
+
+ [965] Use shared intel_regions.c.
+
+ This adds (so far) unused PBO functions, and holding the lock while writing
+ to regions (which may be shared static screen regions).
+
+commit de1201a0ba05068ccdc731f0a79395ce58b9121a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Dec 15 09:49:20 2007 -0700
+
+ don't allocate scratch tile in sp_tile_cache_flush_clear() to avoid stack overflow
+
+commit 210bf673c2fee08fa1fabb84439a2e09a70036bf
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Dec 16 00:31:26 2007 +1100
+
+ nouveau: move extension stuff into nouveau_screen.c
+
+commit 5e3ef623ee8a6f7ea25242908b76bd47e48f4781
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Dec 14 14:56:01 2007 -0800
+
+ [intel] Fix uninitialized data in screen-region buffer objects.
+
+commit 55539f6b2a7a15b48e1c1ba37d08ce03e6fa11e2
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Dec 14 14:52:15 2007 -0800
+
+ [intel] Remove excessive validation debugging.
+
+commit b8b49529b329dc10584c91c56223a5c7a04a9795
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Dec 14 14:51:55 2007 -0800
+
+ [intel] Initialize debug flag for dri_bufmgrs
+
+commit b5b9ac62e6a9667de4bb2078d5cd3199fe25f619
+Merge: 7f89c77 017f862
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sat Dec 15 09:48:11 2007 +1100
+
+ Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1
+
+commit c5456a6b24525e9307e58fc2a02a6f62ca507730
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Dec 14 13:28:39 2007 -0800
+
+ [intel] Remove useless intel_region_idle.
+
+ The idling it was trying to ensure was covered by the
+ intel_miptree_image_map()->intel_region_map() that immediately followed it.
+
+commit 84a076079d3a038115a39b1c283b46a574591e07
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Dec 14 12:52:17 2007 -0800
+
+ [intel] warnings cleanup
+
+commit 507d43f95bc1623f413603e7f8c134553d11c184
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 14 14:34:15 2007 -0700
+
+ fix polygon cull regression
+
+commit a5eb9e7b1bf915a3bf911074c2872724c5b3ad53
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Dec 12 08:05:12 2007 -0700
+
+ Build rain demo (Gonzo <andreas.wendleder@gmail.com>)
+
+commit 017f862de1f857bca29f09794539aaf411014f13
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 14 12:25:25 2007 -0700
+
+ Added origin_lower_left field to pipe_rasterizer_state
+
+ This controls whether the window origin is considered to be the lower-left
+ or upper-left corner.
+ This effects computation of gl_FragCoord and the application of polygon stipple.
+
+commit 6f7d35318df592ec42a37ad0d42890118c02a6b8
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Dec 12 14:38:38 2007 -0800
+
+ [intel] Remove the relocation buffer lists and just cache one per buffer.
+
+ Each buffer object now has a relocation buffer pointer, which contains the
+ relocations for the buffer if there are any. At the point where we have to
+ create a new type of relocation entry, we can change the code over to allowing
+ multiple relocation lists, but trying to anticipate what that'll look like
+ now just increases complexity.
+
+ This is a 30% performance improvement on 965.
+
+commit 38bad7677e57d629eeffd4ef39a7fc254db12735
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Dec 14 11:02:48 2007 -0800
+
+ [965] Replace the state cache suballocator with direct dri_bufmgr use.
+
+ The user-space suballocator that was used avoided relocation computations by
+ using the general and surface state base registers and allocating those types
+ of buffers out of pools built on top of single buffer objects. It also
+ avoided calls into the buffer manager for these small state allocations, since
+ only one buffer object was being used.
+
+ However, the buffer allocation cost appears to be low, and with relocation
+ caching, computing relocations for buffers is essentially free. Additionally,
+ implementing the suballocator required a don't-fence-subdata flag to disable
+ waiting on buffer maps so that writing new data didn't block on rendering using
+ old data, and careful handling when mapping to update old data (which we need
+ to do for unavoidable relocations with FBOs). More importantly, when the
+ suballocator filled, it had no replacement algorithm and just threw out all
+ of the contents and forced them to be recomputed, which is a significant cost.
+
+ This is the first step, which just changes the buffer type, but doesn't yet
+ improve the hash table to not result in full recompute on overflow. Because
+ the buffers are all allocated out of the general buffer allocator, we can
+ no longer use the general/surface state bases to avoid relocations, and they
+ are set to 0 instead.
+
+commit f3b3ea9742e6511fa46332c2c6d2433f96cc5c10
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 14 11:43:15 2007 -0700
+
+ update_samplers() didn't respect the sampler->texunit mapping.
+
+ This fixes the glsl/texdemo1.c program.
+
+commit fce4612f8a29ee1798c9326a431a139d856c7a04
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 14 11:42:28 2007 -0700
+
+ set SamplerUnit[] entry in load_texture() just to be safe
+
+commit 814d4ff83a515fe161cfb86c8b1492e2218051fe
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 14 11:17:48 2007 -0700
+
+ emit tgsi declarations for texture samplers
+
+commit 1e3b07f363e6bf512ab1a5c620656985aece40fd
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 14 11:16:49 2007 -0700
+
+ set program->SamplersUsed bit when using a texture instruction
+
+commit e785f190f0d49f0367f7468c22b77962d0f14ea0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 14 11:00:46 2007 -0700
+
+ Don't always declare frag shader INPUT[0] as fragment position.
+
+ We were doing this for the sake of softpipe and the tgsi intergrepter since
+ we always need the fragment position and W-coordinate information in order
+ to compute fragment interpolants.
+ But that's not appropriate for hardware drivers.
+ The tgsi interpreter now get x,y,w information from a separate tgsi_exec_vector
+ variable setup by softpipe.
+ The new pipe_shader_state->input_map[] defines how vert shader outputs map
+ to frag shader inputs. It may go away though, since one can also examine
+ the semantic label on frag shader input[0] to figure things out.
+
+commit 23e36c2dfb1f9501a6a1023afc1d0c151f2e99c3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 14 10:46:29 2007 -0700
+
+ update comment for TGSI_TOKEN_TYPE_IMMEDIATE case
+
+commit 7f89c776e19b400c0adf647fc9dfb392efe88dbd
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sat Dec 15 01:50:15 2007 +1100
+
+ nv40: less dodgy vp const/insn handling
+
+commit 0037ad4186c11267d85fcde378be79eb6acf74f3
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Dec 13 17:05:21 2007 -0800
+
+ [intel] Remove broken mutex protection from dri_bufmgrs.
+
+ Now that the dri_bufmgr is stored in the context rather than the screen, all
+ access to one is single-threaded anyway.
+
+commit dbfe05ca24d3b111482c079cc7a40da160b6074c
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Dec 13 16:49:55 2007 -0800
+
+ [intel] Enable INTEL_DEBUG=bufmgr output in TTM mode as well as classic.
+
+commit 9f7d6b72108d9d8bec5f567bcaf33714ffe3ebc2
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Dec 13 01:01:31 2007 -0800
+
+ [intel] assert that buffers are not mapped at last unreference.
+
+ bufmgr_fake doesn't care about it, but with ttm we would end up with the
+ buffer remaining referenced until application exit.
+
+commit a2b4d4a8db77443b834daf811802a909768fa926
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Dec 13 18:26:48 2007 -0700
+
+ add missing code for PIPE_FORMAT_S8_UNORM renderbuffer
+
+commit e2d7107cc2427a0e61949ead50cf0ac2c2bc6f11
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Dec 13 18:26:10 2007 -0700
+
+ remove unused var
+
+commit 7a2d3ac5bcad87d139f97eaa9ca2aa90d174240a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Dec 13 21:00:10 2007 +0000
+
+ 965: get brw_wm_surface_state compiling again
+
+commit 568fcf64c774f5f8e9f65bb86c121f5d550b1632
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Dec 13 20:38:56 2007 +0000
+
+ 965: get fragment shader compiler compiling
+
+ Don't think that it will run though.
+
+commit c605a55e9f771a2f0e85d69ff60059f7ea95320f
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu Dec 13 11:42:30 2007 -0500
+
+ i965: make the wm_surface compile
+
+commit c4d71c719c0648909ae98bd7cbfadc590b064b13
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Dec 13 16:39:49 2007 +0000
+
+ 965: implement magic buffer offset callback
+
+commit a6ae4ea854c62d7d96060ba7044b5e2b73f761f5
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Dec 13 16:35:27 2007 +0000
+
+ 965: magic callback to get buffer offset
+
+commit 81c9058ea90615cd0c819da6e51c3a539a540a7e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Dec 13 09:05:15 2007 -0700
+
+ Add QuadX,Y fields to tgsi_exec_machine to pass quad's position to tgsi interpreter.
+
+ The tgsi linear/perspective attribute code now uses these values rather than
+ input[0]. Need to update SSE path to take quad x,y as function params.
+ Then, we can remove additional code.
+
+commit 8cd608d5ba538cdebea7e9bb51c1458ce7eb5137
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Dec 13 15:39:34 2007 +0000
+
+ 965: missing code from last commit
+
+commit 559750298a40ac845262365aa0d3d69e6dca0ced
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Dec 13 14:52:31 2007 +0000
+
+ 965: remove dead code
+
+commit 0c2e87d565ced28594156e71ecd387227746e2e3
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Dec 13 11:12:44 2007 +0000
+
+ 965: remove dead code
+
+commit 19025605e9a01c6970651b01b76150a00d956f92
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Dec 13 10:57:02 2007 +0000
+
+ 965: remove dead code
+
+commit 7abe2bfefadfdf6dbce44395ab0d206652f5bff4
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Dec 13 10:56:09 2007 +0000
+
+ 965: remove dead code
+
+commit 54f1ce3b273d81c19aea5cc060cfc9d088b003ef
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Dec 13 10:55:47 2007 +0000
+
+ 965: remove reference to metaops
+
+commit 1f1506ec94f3d44091de88d8bcd7ab9c20a6e7b2
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Dec 13 10:55:16 2007 +0000
+
+ 965: use state atom array directly
+
+commit 4844b9fb9d24b119935d540dd345707dd81d9f4a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Dec 13 10:54:31 2007 +0000
+
+ 965: calculate nr enabled vbos on the fly
+
+commit da89104c576b5b7a0c581a018a8b1c2d770e13c2
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu Dec 13 10:32:36 2007 -0500
+
+ Actually allocate the output registers.
+
+ In tgsi the output's will (hopefully) consecutive so this
+ check (besides not being currently implemented) is not
+ necessary.
+
+commit 6f111e9c81a0c28f057092836a3b7fc6100cdb6d
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu Dec 13 10:31:39 2007 -0500
+
+ Don't generate spurious vs, move the enable a bit to do that.
+
+commit 868048fcc77ec954e2823959285bfa7b8f82b13c
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Dec 14 01:51:43 2007 +1100
+
+ nv40: Do all fp setup in nv40_fragprog.c
+
+commit 00f0f0d0a4b474757becb99109cb2dd6574178f8
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Dec 14 01:14:23 2007 +1100
+
+ nouveau: mass renaming for consistency, no functional changes
+
+commit f116634933cf19fe2a52a3be4e106be643cb1d0b
+Merge: c79c93c 37406c2
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Wed Dec 12 21:24:06 2007 -0800
+
+ Merge branch 'master' into autoconf2
+
+commit c79c93c0acd184e0333c1c9cedfbce11381e66e2
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Wed Dec 12 18:13:04 2007 -0800
+
+ autoconf: Improve help text for demos and DRI drivers
+
+ Changed the text for the default demos to be "auto" instead of "yes"
+ since that didn't make much sense in this context. Added an example
+ value for the --with-dri-drivers option as suggested by Brian.
+
+commit f64d6fe0d31d8134b9214324a59ad18b48361fed
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Wed Dec 12 17:57:45 2007 -0800
+
+ autoconf: Update bug address and fix some autoconf warnings
+
+ Point bug reports to Bugzilla like bugs.html. Also, a warning from
+ autoconf w.r.t. AC_OUTPUT was cleaned up.
+
+commit a130718f448065173cf7b019e5b65a6a4334c3f7
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Wed Dec 12 17:49:49 2007 -0800
+
+ autoconf: Consistently use xlib for the driver name
+
+ Brian suggested that there should be more consistency using xlib vs. x11
+ in the configure script. Changed the options and variables to suit.
+
+commit 3e288627cb67c81fee92f2450a802f9c0b5ad040
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Wed Dec 12 09:02:31 2007 -0800
+
+ autoconf: Optional assembly usage with --disable-asm
+
+ Allow the user to disable use of assembly code through the --disable-asm
+ option. This is only relevant on the platforms where assembly is
+ normally enabled such as Linux and FreeBSD.
+
+commit 72d47f1949f99231f18cc5144b1c45c58b35f890
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Thu Dec 13 11:55:35 2007 +1100
+
+ nouveau: more adaption..
+
+commit f1c5415675f695b302ffb7e5d46473bff9617dc1
+Merge: 1fb9736 417c295
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Thu Dec 13 10:41:43 2007 +1100
+
+ Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1
+
+commit 417c2953339bc281f0ac486777afbbd00a385294
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Dec 12 16:30:49 2007 -0700
+
+ added r5g5b5_put_tile_rgba()
+
+commit 4416514aa82e59eae559b59e49846931fdf85f56
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Dec 12 16:05:38 2007 -0700
+
+ Remove get/put_tile_rgba() functions.
+
+ Temporarily, use the functions from sp_rgba_tile.c
+
+commit 034476fc78b626915e0c597b08df437ea59e22c8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Dec 12 16:04:52 2007 -0700
+
+ remove #include
+
+commit 37406c2038c418a1d6f26b5ac5691586c9f05631
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Dec 11 13:21:14 2007 -0800
+
+ [intel] Assert against conflicting relocation emits in bufmgr_fake.c
+
+commit a4ca2591f67a5d088fb7acc56d3d6d98aede753a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Dec 12 16:00:11 2007 -0700
+
+ Move float/rgba tile get/put functions into new file.
+
+ This should be moved into a gallium util lib (location tbd) so it can also
+ be used by the state tracker.
+ Then, remove the pipe->get/put_tile_rgba() functions.
+
+commit 708251558c4eb1719a0f73d83c233c7a492f2297
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Dec 12 15:24:01 2007 -0700
+
+ PIPE_SCREEN_SURFACE no longer needed
+
+commit 20eae595faa20dba8a59d8a4bfd01aa6b458cecd
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Dec 12 14:55:57 2007 -0700
+
+ Re-org of st_create_framebuffer() and renderbuffer format selection.
+
+ st_create_framebuffer() now takes pipe_formats for the color, depth, stencil
+ buffers.
+ This avoids a round-about chain of calls to pipe->is_format_supported() for
+ window renderbuffers (their format never changes).
+ Renderbuffer format selection code in st_format.c is simpler now too.
+
+commit a51d0e419a285c5445061a38fdaf3aca02ad2c3c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Dec 12 14:45:22 2007 -0700
+
+ move some code to avoid deref of NULL ptr
+
+commit 5ad260246bbcd3f40f9f7f64fac82f1fb2aa3efb
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Dec 12 12:09:07 2007 -0800
+
+ [965] Bug #13600: Fix assertion failure with SRGB textures.
+
+ I broke this with cherry-pick resolving on
+ 93c98a466947570e0589b662df49095b2f4bc43c.
+
+commit 06036bc8c4d31d36f2e143f5d7f2db866f44b342
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 12 20:07:35 2007 +0000
+
+ 965: remove complex compiler for simple fragment programs.
+
+ Keep the simple compiler for complex fragment programs...
+
+commit ea7c533d40f78a1f62c7b7129a2ad6b33f810da4
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 12 19:53:41 2007 +0000
+
+ 965: sketch changes to brw_wm_surface_state.c
+
+commit 216de6ab5bd87dece8e68055018e5b91ff549089
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 12 18:44:03 2007 +0000
+
+ 965: delete dead files
+
+commit 5978289df1ea406c684b7193e5f4694eac6c00fb
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 12 17:24:10 2007 +0000
+
+ 965: delete dead files
+
+commit 20e6a9b86d715c38f64828d6a306c048571499a6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 12 17:22:51 2007 +0000
+
+ 965: delete dead files
+
+commit 69292a0067ef77cde607183f1719bae61ef0f3a5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Dec 12 13:08:00 2007 -0700
+
+ remove old assertion
+
+commit 829099210ba442e7035659e8db3c2e059e059c24
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Dec 12 12:59:45 2007 -0700
+
+ add PIPE_FORMAT_R5G6B5_UNORM to list of supported screen surface types
+
+commit b22287d0972ab37c822457a31609adfc4fb98573
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Dec 12 12:59:19 2007 -0700
+
+ update format param type
+
+commit d7aa44636988941d5d09ba943104033dd1912c80
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Dec 12 12:58:59 2007 -0700
+
+ Try PIPE_FORMAT_R5G6B5_UNORM for GL_RGB5 request.
+
+commit 77baacbab156cd3859fe50e05c2ff55fe8e27926
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Dec 12 12:58:04 2007 -0700
+
+ fix some mistakes in the _PIPE_FORMAT_x #defines
+
+commit 7c71ef3a3d0cf2620525f468960cdc76a0fb0d33
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Dec 12 10:25:19 2007 -0800
+
+ [intel] Move bufmgr back to context instead of screen, fixing glthreads.
+
+ Putting the bufmgr in the screen is not thread-safe since the emit_reloc
+ changes. It also led to a significant performance hit from pthread usage
+ for the attempted thread-safety (up to 12% of a cpu spent on refcounting
+ protection in single-threaded 965). The motivation had been to allow
+ multi-context bufmgr sharing in classic mode, but it wasn't worth the cost.
+
+commit a308a3e3f8f3eb6ad459c79c36a988c1e33c3f56
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Dec 12 12:26:00 2007 -0500
+
+ i965: compile vertex shaders and emit hardware instructions
+
+ impossible to test because fragment shaders haven't been done yet
+ and it crahses in the fragment shading code. but given that i'm
+ infallible (and highly dillusional) i'm sure it's correct.
+
+commit 16a07fb5569a7e4d471a389f292a8b245fc12cba
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Wed Dec 12 09:12:15 2007 -0800
+
+ autoconf: Report the compiler options in the summary
+
+ Report the compiler flags and macros that will be used in the build.
+ This just provides a quick way to see what configure has silently been
+ doing.
+
+commit 23656c47c9f50c3e074362f2fa857c0ce5ddaf14
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Wed Dec 12 09:02:31 2007 -0800
+
+ autoconf: Optional debug build with --enable-debug
+
+ Allow the user to set the compiler debug flags and macros through the
+ option --enable-debug. This addes -DDEBUG to the macros and -g to the
+ CFLAGS and CXXFLAGS if gcc and g++ are in use.
+
+commit 41b00707e20f0c07e0dce055884c773de4b82612
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Wed Dec 12 08:48:30 2007 -0800
+
+ autoconf: More informative errors when pkg-config macros undefined
+
+ Added a check that PKG_PROG_PKG_CONFIG is defined before calling it so
+ the user can see a proper error. Without it, the generated configure
+ script will just pass on to the next statement and bomb with a strange
+ shell syntax error.
+
+commit eaa82d33bffda1fb9a787b92b5f1a2d15c99f045
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Dec 12 16:04:58 2007 +0000
+
+ Add src/mesa to include path.
+
+commit 1fb97368989184c26fe37e98ed6916e6793a0171
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Thu Dec 13 01:04:12 2007 +1100
+
+ nouveau: take jumps into account properly when debugging pushbuf
+
+commit 805c5993a3d442c6b87733416654677e61fa36a2
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Dec 12 23:37:52 2007 +1100
+
+ nv40: Fix bug in vtxprog + a few tweaks
+
+commit 9114324b0b27d9d66f2acfb6e072f027bc216406
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Dec 12 23:31:16 2007 +1100
+
+ nv40: small bug
+
+commit 94e19777c9db476e930147346fe9217bfc879b1e
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Tue Dec 11 17:46:06 2007 -0500
+
+ i915tex: remove. it's deprecated and causes merge problems
+
+ we did some small changes in the beginning of the gallium3d
+ lifecycle in i915tex which is not in master anymore and just
+ causes problems when doing merges. getting rid of the headache
+ by just nuking it here
+
+commit 00e10a1385bfd376f5f45ad94e3543ac87f15de8
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Dec 11 20:27:13 2007 -0800
+
+ Block in kernel waiting for fence
+
+commit aeca22f97c5650108a315063ea76ad2204bb2ef5
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Dec 6 14:11:34 2007 -0800
+
+ Use previous buffer offsets to compute proposed relocations
+
+ This takes advantage of the DRM_BO_HINT_PRESUMED_OFFSET change and allows
+ the kernel to avoid mapping and re-writing buffers when relocations occur.
+
+commit 79bca7dd884da33c06ecd3dabb893f9cfed1aaed
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Dec 12 14:19:59 2007 +1100
+
+ nouveau: adapt
+
+ Some things that worked before are now broken, there's an "XXX:" around one
+ of the culprits in the GL state tracker so hopefully it'll get fixed soon!
+
+commit 1029c00a269d7f98ed659bb48727a17ef5dea9e5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Dec 11 19:17:31 2007 -0700
+
+ remove more -I paths
+
+commit 5dcc894ea2d926d4845e805298b79c514f58687d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Dec 11 19:16:46 2007 -0700
+
+ prefix some #includes
+
+commit 6f467e57376e94a6da0e3d363ecaecc52ca8a3c8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Dec 11 19:16:26 2007 -0700
+
+ trim down #includes
+
+commit 58915980127ab4e57b6b40a8c42f44be4a12aeae
+Merge: e282d22 b2ad30d
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Dec 12 13:11:19 2007 +1100
+
+ Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1
+
+ Conflicts:
+
+ src/mesa/pipe/Makefile
+
+commit 68caa076a94c28c1c9e62b9831d5f31c1bb008ce
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Dec 11 18:58:48 2007 -0700
+
+ trim down -I options
+
+commit 3d9bdaa80b9faaefcb896580717f4854e034410b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Dec 11 18:58:32 2007 -0700
+
+ include pipe/tgsi/exec/tgsi_sse2.h if needed. Silences warning.
+
+commit b2ad30d57197c2167789e4f3f5b34af6df56dde2
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Dec 11 18:26:52 2007 -0700
+
+ Cell: draw smooth-shaded triangle
+
+commit 9828310a1bba1c1c2dffa7ae8866b648e26c2039
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Dec 11 10:28:45 2007 -0700
+
+ Collect some global vars in a single struct.
+
+commit fda387988c24fad4e0a743f16173dc3c71cbe084
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Dec 11 09:44:04 2007 -0700
+
+ Remove temporary cell_create_surface()
+
+commit 457a96e7773fb148136af76a8cf746e72c2ef722
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Dec 11 13:49:48 2007 -0700
+
+ SPU function prototypes, etc.
+
+commit 9a0fe23d493dc9307d76f0a35cbe4f410ee3df28
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Dec 11 12:40:58 2007 -0800
+
+ Port to libspe2
+
+ libspe is deprecated in Cell SDK 2.1, and it is removed in Cell SDK 3.0.
+ This patch ports the existing libspe-based code to libspe2. Some error
+ checking (eh-hem) would be nice.
+
+commit bfb43e8e79c3b0d85c1b459c5524619c8eb33280
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Dec 11 12:39:17 2007 -0800
+
+ Remove '-include altivec.h'.
+
+ Including altivec.h caused problems in some places that use "pixel" as a
+ variable name.
+
+commit 25e658a7cf6402c02bccf48762a56c00ddb39b62
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Dec 11 18:18:25 2007 +0000
+
+ Mention 965 driver on main page.
+
+commit 87e35666041561ef38154b829f4851f160e9e7cf
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Dec 11 18:10:41 2007 +0000
+
+ Write a nicer doxygen main page, based on the TG's Gallium3D technical overview pages.
+
+commit 01434dd3bde60fee5a92a50ba2219d45f2901d71
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Dec 11 18:09:08 2007 +0000
+
+ Cover LLVM code in doxygen output.
+
+commit f3789748d4b8f38bfea2f30ef93e9ff3e3888af4
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue Dec 11 19:07:12 2007 +0100
+
+ softpipe: Support for PIPE_FORMAT_A4R4G4B4_UNORM and PIPE_FORMAT_R5G6B5_UNORM.
+
+ The packedpixels test runs with the xlib winsys, though not all cases look
+ correct yet.
+
+commit 88723b2fc84628c1bc1e0008b88602b85e8668be
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue Dec 11 19:02:26 2007 +0100
+
+ Remove internal_format field from struct pipe_texture.
+
+ It's state tracker specific / not really necessary anyway.
+
+commit 13699463a33c1adf44005125c488e886e074a05b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Dec 11 17:10:26 2007 +0000
+
+ Rework gallium and mesa queries a little.
+
+ Add a 'CheckQuery()' driver callback to mesa to check query completion.
+ Make pipe_query an opaque type.
+ Rework softpipe queries, support overlapping occlusion queries.
+
+commit b247ab036327d66b8b9b1aff2dbcf4520ed0284f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Dec 11 17:07:31 2007 +0000
+
+ 965: remove duplicate brw_draw functions, make init a bit cleaner
+
+commit ecb5e14e8688e31446fdcbdea59d25ea628fb211
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Dec 11 15:48:30 2007 +0000
+
+ gallium: remove clear values from depth, stencil state
+
+commit aab38cfc43581e0d09195c2e53092d355a09841c
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Tue Dec 11 08:21:51 2007 -0800
+
+ autoconf: Replace configs/current symlink from configure
+
+ Rather than having the user run `make autoconf' and have the Makefile
+ setup the configs/current -> autoconf symlink, we can just do that in
+ configure. This allows the user to just run `make' to build.
+
+commit 78175579c26498b1ef0edc511855ae74b7c3b52b
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Tue Dec 11 08:13:45 2007 -0800
+
+ autoconf: Replace install-sh with symlink to minstall
+
+ Since install-sh is only used to satisfy an autoconf requirement, we
+ don't need the actual script. Instead, it's now just a symlink to
+ minstall, which provides a similar install wrapper script.
+
+commit 79ad458ec66c5001479dd4b1e0f8f83e1713270f
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Fri Dec 7 19:11:01 2007 -0800
+
+ autoconf: Clearer help text for the enable/disable options
+
+ Make it clearer what the defaults for the AC_ARG_ENABLE options are and
+ how to change them.
+
+commit a76e2452d2ae5fd0c3b6fb6eb7ba32f2e6a52f20
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Fri Dec 7 11:25:08 2007 -0800
+
+ autoconf: Since default DRI drivers to build with master
+
+ Sync the default DRI_DIRS with the configs in master. Added some of the
+ comments from there, too.
+
+commit 70d0c838901138e9be585b89638f50a2696a01e9
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Fri Dec 7 11:12:20 2007 -0800
+
+ autoconf: glut doesn't need Xt
+
+ Don't link glut with libXt since it's not needed.
+ (see commit ce98779571eee3f51d9f571fecf8deb83dd60f78)
+
+commit 4a4543f5360b5f0a3350d9db770f1325cc3a9e84
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Dec 11 09:13:12 2007 -0700
+
+ Fix align16() function to work with 32/64-bit pointers on big-endian.
+
+commit 23ca30e24bbc8390127910c64da4a321ae63ce3a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Dec 11 09:09:06 2007 -0700
+
+ change align_malloc() alignment to uint
+
+commit 5b8b542cb2f10c5c39b9db18cd95e553ad06061b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Dec 11 08:58:39 2007 -0700
+
+ Move align_malloc(), align_free() to p_util.h
+
+commit 9f0e5642d80d746aa757a1e67dec15b0fd404e5d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Dec 11 08:47:13 2007 -0700
+
+ use ALIGN16_ATTRIB from p_compiler.h
+
+commit 1bc303283e85ac15e74af1a2297166d87986e15e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Dec 11 08:46:49 2007 -0700
+
+ Remove obsolete clear_color, tex sampler state
+
+commit 6465c78049c07e4f97dd3e6494aca395ff357b0e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Dec 11 08:46:13 2007 -0700
+
+ Remove obsolete clear_color, tex sampler state functions
+
+commit f9562ff85dd3ace60550110598687c3e728b0e6e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Dec 11 08:18:47 2007 -0700
+
+ add missing case statements for TGSI_TOKEN_TYPE_IMMEDIATE and assert(0)
+
+ We're hitting this with quite a few Mesa demos.
+
+commit a0dacbf369b1b0496f7cd2df2f7b7ecb621a024c
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Tue Dec 11 09:44:41 2007 -0500
+
+ Adopt llvm to some of the latest changes.
+
+commit 63a9d835ce3f446fe2cf69e7623d228bcc6ee91c
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Fri Nov 9 10:08:15 2007 -0500
+
+ Redo the fragment program examples to match vp's
+
+ we just load text files instead of compiling tons of small
+ binaries
+
+commit 025b140b2fd6860039a0d4b545130751473563c5
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Fri Nov 9 08:19:27 2007 -0500
+
+ Add a simple fps counter to the example
+
+commit 6dc4e6ae15676cf4acdebb9c798bfa4083ad1e14
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Nov 7 13:26:45 2007 -0500
+
+ Redo the way we pass arguments to the llvm.
+
+ simply pass aligned arrays, they should cast to vectors without
+ any problems. also remove unnecessary memset
+
+commit 9d6e6e86d9592afbdbaa83fc89891e6813fc3f2f
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Nov 7 08:59:35 2007 -0500
+
+ number of outputs is nr_attribs - 2
+
+commit 1f30efb7365075de0ae119a40ab70a16bc547670
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Tue Nov 6 06:06:04 2007 -0500
+
+ Implement kilp and make it work
+
+commit 8681deddd7a7e749adaf43c7df4313ea54922e62
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Nov 5 13:41:56 2007 -0500
+
+ Rewrite argument passing to prepare for handling of the kil instruction.
+
+ Pass the inputs/outputs pointer in the structure instead of infinitely
+ expanding arguments to the functions.
+
+commit c3af68dc5022715cc8f126b7df12f3f5248aefe7
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Dec 11 14:39:37 2007 +0000
+
+ gallium: remove set_sampler_units interface
+
+ The effect of this mapping can be acheived by the state tracker and
+ setting up the pipe texture state pointers to incorporate its affects.
+
+commit 46c405663b20a33be7ed386ce61f66b9c2ee072b
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Tue Dec 11 15:37:47 2007 +0100
+
+ add simple test for two-sided stencil functionality
+
+commit 8dc188485be27dee7a3f2d1cc47527e183d7ee17
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Thu Nov 29 03:08:18 2007 +0100
+
+ make sure state token values are fully initialized
+
+commit 94cadef31f9d4ee9fce1bfa66fabb0a403a6f049
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Dec 11 13:19:33 2007 +0000
+
+ gallium: remove redundant clear_color state.
+
+commit 48731280d08bef51c406703e82986643e17b4757
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Dec 11 13:00:12 2007 +0000
+
+ gallium: Remove feedback interfaces from pipe driver.
+
+ Something similar will return when geometry shaders are added, but for now
+ this interface is not required.
+
+commit 89afc929f4e18165f1043c36844150e78f300cd5
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Dec 11 12:25:42 2007 +0000
+
+ gallium: remove dead pbo zcopy code
+
+commit 60b8900b13a591e4a761baa0d6d40bcaca0c36d8
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Tue Dec 11 07:44:07 2007 -0500
+
+ Hmm, missed these two files. Sorry.
+
+commit c474f1fb9088528af998168717783b52e5c2f0a2
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Tue Dec 11 07:19:11 2007 -0500
+
+ Port i965 driver to Gallium3D.
+
+ This is a squashed commit of i965 branch on
+ ssh://people.freedesktop.org/~zack/mesa
+ Because of the porting the branch often didn't compile so
+ squashing it makes more sense.
+ The port is still far from complete.
+
+commit e282d22d512d2a5871d0fabb7d855a16b4593c50
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Dec 11 19:06:00 2007 +1100
+
+ nv40: insanely stupid bug..
+
+commit c23d0f4c501b9e80ba18d6ccf09d4c95353c1a28
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Dec 11 16:02:14 2007 +1100
+
+ nv40: allow reading from fragprog result regs
+
+commit b34952c758cf009927e7d7091205e7c13052efad
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Dec 11 14:53:37 2007 +1100
+
+ nv40: depth textures
+
+commit ce0e274c7cdf7ceb5ffd46d545b5cd18311dc6e0
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Dec 11 14:08:42 2007 +1100
+
+ nv40: some forgotten adaptions
+
+commit 12363674e5aa39b780020339038186b7715bd4b2
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Dec 11 01:14:38 2007 +0000
+
+ Add surface storage allocation function to winsys interface.
+
+commit 609538f57c93c6b6166777a329d80c46fef86f0b
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Dec 11 00:46:44 2007 +0000
+
+ Add inline funtion to comput format size based on code in st_format.c.
+
+ Including state_tracker/st_format.h from pipe drivers is not an option
+ since it uses GL* types and pipe/p_util.h will clash with main/imports.h.
+
+commit 7d1894c6558c5cc7f503142cda11b8a12ea24e65
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Dec 10 17:32:08 2007 -0700
+
+ Cell: first triangle.
+
+ This is a feeble first step, but it works.
+ The cell_clear_surface() function has been hijacked to set up a "draw triangle"
+ command and send it to all the SPUs.
+ The Gallium softpipe triangle code was copied to the SPU module and modified.
+ Only the progs/trivial/clear.c program runs.
+
+commit aef25b1994cf93aaf64baf24a2ec4e29ee086a08
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Dec 10 17:27:29 2007 -0700
+
+ set window size to 256x256
+
+commit c9f9c5098042e4f200efc3d25447a5a8b7e69b36
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Dec 10 17:25:54 2007 -0700
+
+ XXX comments about some hard-coded values that need to be fixed
+
+commit 5d41a71392bd2d52ac83619a01b2b2e7cb8a2fed
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Dec 10 16:18:24 2007 -0700
+
+ minor clean-ups, comments
+
+commit 4bc3cfaaf065f373f2e2d1ca4361c3d4ffdca4da
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Dec 11 10:04:39 2007 +1100
+
+ nouveau: fix build
+
+commit fe9f4f49ef1c86938f75ab598d63d9ddce850f32
+Merge: 18fe977 0a79c65
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Dec 11 10:01:59 2007 +1100
+
+ Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1
+
+ Conflicts:
+
+ src/mesa/drivers/dri/Makefile.template
+
+commit ffee86f69711e96c5a9ae68376aaf8a044c73dc8
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Dec 10 14:58:53 2007 -0800
+
+ [965] Hook up DEBUG_BUFMGR output for bufmgr_fake.
+
+commit 0a79c65073db7dbeb9a83e40a4516edcb4f25ee5
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Dec 10 22:38:44 2007 +0000
+
+ gallium: use hardcoded cliptest code for fixed planes
+
+commit f2feb2e4c7304b1c57af2f77f00766cb529822da
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Dec 10 22:27:04 2007 +0000
+
+ gallium: disable assert(0) in xmesa_surface()
+
+commit 7c306afdaad534cc4b474f07b4970bbf3ea46ff9
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Dec 10 22:02:04 2007 +0000
+
+ gallium: remove unnecessary guards on qs->next
+
+commit e53303ba3b69c2c82cefd58e90d06132c2af2bb7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Dec 10 14:25:30 2007 -0700
+
+ Cell driver state-setter functions, basic tile get/put, glClear.
+
+ The state setting code was mostly just copied from the softpipe driver.
+ The SPUs can now get/put framebuffer tiles from/to main memory and clear
+ them to a given color. Lots of debug code in effect.
+ Tiled framebuffer is displayed in X window via the xmwinsys layer.
+ To enable Cell driver, export GALLIUM_CELL=1
+
+commit e248f940506a678acc0cad1c925c0b11cca09672
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Dec 10 14:19:35 2007 -0700
+
+ remove ~ backup files
+
+commit 36ef54deae0128e5e78e2f9257189b0168120732
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Dec 10 14:10:29 2007 -0700
+
+ remove -Wall, add -DGALLIUM_CELL
+
+commit 4f58d9af9addb1506a1b2abc7dd8012147772b78
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Dec 10 13:48:09 2007 -0700
+
+ Add 'type' parameter to is_format_supported() to specify texture vs. drawing surface, etc.
+
+ Additional types may be added in the future.
+
+commit f26936b35253b697f1ccb5c2898a8607564bdcfe
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Dec 10 13:45:24 2007 -0700
+
+ disable assertion in sp_tile_cache_set_surface() for now
+
+commit 4ccd3124f611b33c062c4b0004616171934f1908
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Dec 10 13:42:34 2007 -0700
+
+ implement i915_put_tile_rgba() - temporary code though
+
+commit 1b20b2d53b0aa4c81291e1ffd888b59fb9f1fb02
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Dec 10 13:41:19 2007 -0700
+
+ don't use get/put_tile_rgba() for accum buffer accesses
+
+commit 37484a387495f1241e5e1220243d6355f5333aca
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Mon Dec 10 17:31:52 2007 +0100
+
+ Fix up some confusion wrt winsys->buffer_create alignment / flags parameters.
+
+ intel_winsys works again.
+
+commit 41ce1f8fb30c9a918d85d4016ce82fe2a3d2c72c
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Mon Dec 10 16:34:25 2007 +0100
+
+ Link fewer common objects into Gallium winsys layers.
+
+ These are useless or even harmful due to referencing symbols no longer
+ available in the Gallium build.
+
+commit 18fe9776b4977af092582630b181893b2bc6de40
+Merge: aab6f8f f7195b3
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Dec 10 21:09:52 2007 +1100
+
+ Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1
+
+commit f7195b32323d50e9541a5c5cb3143e83d05bd8d8
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Dec 10 21:07:53 2007 +1100
+
+ Correct user VBO size.
+
+commit 913703d4b822a794853e566d4ab2bfef01ca5099
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Mon Dec 10 09:11:57 2007 +0100
+
+ Remove stray references to struct pipe_region.
+
+commit aab6f8f9485e73eb4098e7c4b497da5c30f1cf06
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Dec 10 16:47:47 2007 +1100
+
+ nv40: more flexible vbo format translation
+
+commit 9d651164d8a5e4efaa668771235d2c1b88f17140
+Merge: 3b2598c 63e2ab8
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Dec 10 16:30:24 2007 +1100
+
+ Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1
+
+commit 63e2ab83f6f3955c230bf71662136b34ff46dfe2
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sun Dec 9 21:44:26 2007 -0700
+
+ use quadColor local var
+
+commit 3b2598c70bce098ea8c43ff37862bcce1663514b
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Dec 10 15:16:05 2007 +1100
+
+ nouveau: fix elusive dma bug
+
+ In some situations WAIT_RING would get called while the GPU was processing
+ data from outside the "master" ring, which caused dma.free to be updated
+ incorrectly and much fun was had.
+
+ WAIT_RING will now wait until it reads GET values from within the main ring
+ buffer before calculating free space.
+
+commit 98848382731b71a51e4a80f1820f009e70f06a25
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sun Dec 9 21:10:39 2007 -0700
+
+ Fix looping for multi-color buffer writing.
+
+commit 04e88f469cf6c338ba04640738865b59e160c3d4
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sun Dec 9 20:45:20 2007 -0700
+
+ added null ptr check in draw_destroy() for rasterizer stage
+
+commit 7d8368790fabc19e51add0fd9f1d1f85b7803cdf
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Dec 10 13:19:47 2007 +1100
+
+ nouveau: add callbacks for signalled fences
+
+commit 9ba3890c6f35701df5c7ea94cfac9954e9cbec2e
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Dec 10 12:13:00 2007 +1100
+
+ nouveau: fix build
+
+commit 5c1a5b504705214fd5e90b33bb3034e75f6b5994
+Merge: 1a39872 f8f9580
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Dec 10 12:06:59 2007 +1100
+
+ Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1
+
+ Conflicts:
+
+ src/mesa/drivers/dri/intel_winsys/intel_winsys_pipe.c
+ src/mesa/pipe/Makefile
+ src/mesa/pipe/draw/draw_vertex_fetch.c
+ src/mesa/pipe/i915simple/i915_texture.c
+ src/mesa/pipe/softpipe/sp_texture.c
+ src/mesa/pipe/xlib/xm_winsys.c
+ src/mesa/state_tracker/st_cb_fbo.c
+
+commit f8f9580a2a1c89af1dc0e169b62440053d9d7e81
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sun Dec 9 18:26:26 2007 +0000
+
+ Adapt for winsys interface changes.
+
+commit 1a3987240a547ba6e625c864f10a033858de4c65
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Dec 10 02:07:47 2007 +1100
+
+ nouveau: give resources a start property
+
+commit de7e51ff9854605cd0bbbe5829d6d987ea0a5fca
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Dec 5 15:28:39 2007 +0000
+
+ gallium: use SSE by default
+
+commit 6cdcebe8017b56e2f823dd3f6d805e55056f7e9b
+Author: Michal <michal@tungstengraphics.com>
+Date: Wed Nov 28 18:10:31 2007 +0000
+
+ Allow tgsi_dump print-out to stderr or a string buffer.
+ Handle source register complement modifier in exec and dump.
+
+commit 273f6e769897032b15a8739394669fd11f76f145
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sun Nov 25 20:23:10 2007 +0000
+
+ gallium: Remove buffer_unfence and buffer_finish.
+
+ These interfaces have been deemed useless by Keith.
+
+commit b1399a5dd20fad801ee10383143439f8cf4615db
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Nov 25 15:06:54 2007 +0000
+
+ gallium: more trivial tests
+
+commit b47836225185c8d2e2ccf3e191230304709d0a57
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Nov 23 17:22:54 2007 +0000
+
+ gallium: Reusable pipe buffer library.
+
+ This is an optional library that winsys drivers can use to simplify memory
+ management, and help meet the winsys interface requirements.
+
+commit 708582f6d5bec57716a894a18491078c40448dea
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Nov 23 14:50:26 2007 +0000
+
+ gallium: fix ordering of arguments to pack_ui32_float4
+
+commit 56bc8d9199e43ed694335f69910c1a4a4f85e4e1
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Nov 23 14:49:54 2007 +0000
+
+ gallium: remove unneeded depth buffer
+
+commit bbecce52f8f9db729810ed70ba1c4112d45cc583
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Nov 23 14:44:54 2007 +0000
+
+ gallium: initialized draw element buffer to NULL
+
+commit da47ad07ef8cf69a74f4414f7957e0749fa6f7ad
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Nov 23 12:03:45 2007 +0000
+
+ gallium: add support for aliased 4ub format
+
+commit 73a05942766cee4e3cc200725e9760c5a9b67bb4
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Nov 23 12:02:50 2007 +0000
+
+ gallium: support the full range of possible vertex types
+
+commit d75454840672f462de933724daae24a839aac48e
+Author: Michal <michal@tungstengraphics.com>
+Date: Fri Nov 23 11:30:51 2007 +0000
+
+ gallium: add draw_stage::destroy().
+
+commit 74fe189b2e1d8f661a1678e65d21da788b3b4435
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Nov 23 10:35:53 2007 +0000
+
+ gallium: Comment on winsys's fence functions. Fix comment layout for doxygen.
+
+commit 6e876d1d32e1b08ded161bfbd7abf2d3fb422fa0
+Author: keithw <keithw@keithw-laptop.(none)>
+Date: Wed Nov 21 17:12:39 2007 +0000
+
+ temporary _mesa_printf symbol
+
+commit e87efe74073938e6dea5f30654f6afb931da1e2c
+Author: keithw <keithw@keithw-laptop.(none)>
+Date: Wed Nov 21 11:04:20 2007 +0000
+
+ [pipe]: add Offset() util macro
+
+commit 79ad82477adab2c234370623c48c35316e94ad02
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Nov 20 14:27:52 2007 +0000
+
+ Document return types.
+
+commit cd1eefee8404ae69ea5b604971b8be78abf588e6
+Author: keithw <keithw@keithw-laptop.(none)>
+Date: Mon Nov 19 20:05:38 2007 +0000
+
+ add fence interfaces and buffer create flags to pipe_winsys
+
+commit 88b56c454513f5097b7806ffaa5c313881861504
+Merge: 897c96a fecb3ce
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Dec 9 22:32:09 2007 +1100
+
+ Merge branch 'nouveau-gallium-0.1' into darktama-gallium-0.1
+
+commit 897c96aacc6fbc08936eaf48955c15259e36caf7
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Dec 9 22:25:35 2007 +1100
+
+ nouveau: downgrade hacked syncs to hacked flushes
+
+ Unfortunately we still need to keep the forced flushes as mesa's vbo path
+ is still insane. But, at least this is a little less brutal. The bo code will
+ detect when it needs to do a sync.
+
+commit f58f4e0f0ecc6c7079ef52f4a417707843507fab
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Dec 9 21:44:46 2007 +1100
+
+ nouveau: relocs are per-pushbuf, not per-channel
+
+commit 62bbf8db873716c56ca089dbba59d1d3980563b5
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Dec 9 20:38:08 2007 +1100
+
+ nouveau: use "indirect" push buffers
+
+commit b8965bee404cb36ccd97ac089fbd3ffc63268080
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Dec 9 03:22:14 2007 +1100
+
+ nouveau: adapt to gallium interface changes
+
+commit 274a3d9cb6a196c1b191769f581915cf5f8dccfe
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 21:21:58 2007 -0700
+
+ Try to reduce the frequency of calls to pipe->get_tex_surface()
+
+ Save the surface info in the tile cache and re-use whenever possible.
+
+commit 8c1c222b6ded06e40c044f4dee4550005ba620f9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 20:58:01 2007 -0700
+
+ shorten loops over color bufs
+
+commit 0ee512aaf03a2091f0cc5eee26712fe1f0992159
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 20:31:26 2007 -0700
+
+ code re-org in softpipe_clear()
+
+commit 92e7a02e5ac8f8589033954c7df188fdc4c330cb
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 20:24:24 2007 -0700
+
+ clean-ups
+
+commit 7c8cc71a28e5d02c01c0a528f1c35f29281e88f2
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 20:13:10 2007 -0700
+
+ Tile clearing optimizations.
+
+ Clear using int values rather than floats when possible. Better performance now.
+
+commit 77c7fd3cec458511ea0789130a72e443a8d16d2f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 17:26:06 2007 -0700
+
+ Disable, remove tnl module from the Gallium build since no longer used.
+
+commit 5e46b252b923de820f65ed63d379b9b4578e5fa8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 17:24:42 2007 -0700
+
+ New vbo_set_draw_func() to keep vbo context opaque to state tracker and tnl module.
+
+commit 75ec482001b0c8f386327c2fe5ff8ac4aee43582
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 17:14:02 2007 -0700
+
+ Disable swrast, swrast_setup and driverfuncs in the build.
+
+ The gallium/state tracker no longer uses them and this speeds up the build a bit.
+
+commit 2636ea5758d8f5c2845e9e9f9d317be35d058e1f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 17:11:30 2007 -0700
+
+ Move _mesa_init_glsl_driver_functions() into shader_api.c
+
+ This allows making a bunch of functions static, and removes a state
+ tracker dependency on driverfuncs.c
+
+commit 61d1972dd038ba94924a57891408e19d9e5da205
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 16:46:30 2007 -0700
+
+ Define PIPE_FORMAT_ tokens as an enum set, rather than #defines.
+
+ This makes debugging a _lot_ easier.
+ In gdb, "print format" used to display 613570600, now you see PIPE_FORMAT_A8R8G8B8_UNORM.
+
+commit 144b70b0b583892ffa5c96b009ee91b3ccb202a6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 16:22:39 2007 -0700
+
+ include tgsi_dump.h
+
+commit cfe0ebe1c0871c9dd5d51f30219cfe686b467ff8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 16:15:14 2007 -0700
+
+ Replace "duplicate" formats
+
+commit 2edf1b8e7172f7025895f4378cdea76a7c8254a9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 16:01:31 2007 -0700
+
+ Get rid of "duplicate" formats.
+
+ For example, replace PIPE_FORMAT_U_A8_R8_G8_B8 with PIPE_FORMAT_A8R8G8B8_UNORM
+
+commit 382ced1600888c0de5fce06c55f2235d68dfece7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 15:47:39 2007 -0700
+
+ Enable the tile clear "optimization"
+
+ Not really faster yet because we're using the float-valued put/get_tile()
+ functions so we're doing quite a bit of float/int conversion. That can
+ be fixed though...
+
+commit 7bbc3ef7ec3c616ebbc05a92c4ef39d8e3e5a008
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 15:46:10 2007 -0700
+
+ Make sp_tile_cache_flush_clear() static.
+
+ Also, misc clean-ups, comments.
+
+commit 7655486c888f51dfb8ad8a7b7eab1d2021ee46dd
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 15:44:58 2007 -0700
+
+ Convert the clearValue back to floats for sp_tile_cache_clear()
+
+ It might be nice if sp->clear() took the color/value as floats...
+
+commit dfc21b2efbc5ca9022fa82d7a97ec1b247e27cf9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 15:32:13 2007 -0700
+
+ Some tile cache improvements, clean-ups.
+
+ Code for optimized clears (per-tile flag indicating clear status) in place
+ but not enabled yet.
+
+commit f36258d7e1668afcbd5b1deb6a405b9f211bf3ee
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 13:19:00 2007 -0700
+
+ don't dereference pt after realloc - fixes valgrind error
+
+commit 1eb78225c4759f4295f0700f25f77c52d6acb2eb
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 13:08:28 2007 -0700
+
+ add some whitespace
+
+commit 0d74d51790d81f6a19145ddb2f95d83c607c89dd
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 10:21:56 2007 -0700
+
+ Move struct softpipe_texture definition into sp_texture.h
+
+ Also, added softpipe_texture() cast wrapper.
+
+commit 99823680a51ccc46a76d0abe6a24e7e4465a4cc6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 10:18:34 2007 -0700
+
+ minor code movement
+
+commit 03dcde4caaf44f8afca0d7f40e6378b77d6de39d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 08:28:59 2007 -0700
+
+ Add PIPE_FORMAT_U_B8_G8_R8_A8 in default_rgba_format().
+
+ Also, rewrite/simplify default_rgba_format() and default_depth_format().
+
+commit f1285f238a957d9ac90be12f537f8ef8f2e5d897
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 08:24:56 2007 -0700
+
+ byteswapping fixes in choose_pixel_format()
+
+commit 5002d1eb8872ce9f6b8da73367bf559178a64006
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 08:24:33 2007 -0700
+
+ remove stray ;
+
+commit 5f512d94235593467129144306104d2054a055ac
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 07:58:31 2007 -0700
+
+ Remove obsolete xlib driver files
+
+commit 2a9c33f9fe4b78710bfa36f1309d791c294d7cc8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 07:57:54 2007 -0700
+
+ Overhaul the Xlib winsys layer.
+
+ Front/back color buffers are now allocated with ordinary malloc() via the
+ winsys buffer functions.
+ To display surfaces in SwapBuffers() or flush_frontbuffer() we create an
+ XImage that wraps the surface, then use XPutImage to copy to the window.
+ Shared memory transport disabled for now.
+
+commit 6397bef076271d36443ce9db5f80fa20b05ee60e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 07:53:21 2007 -0700
+
+ added ST_SURFACE_DEPTH
+
+commit a09224258a205dbb99eae2c9f94fce8d4f3f73f6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 07:53:06 2007 -0700
+
+ move surface pitch calculation so it always gets updated
+
+commit 6cb181dc15116fb495a8f68d4088ecb15dc39c0f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 07:52:35 2007 -0700
+
+ fix void pointer arithmetic warnings
+
+commit a775689036fc86ea2cfaf529fba6c368fa6d3502
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 07:48:33 2007 -0700
+
+ silence void ptr arithmetic warning
+
+commit 0a44a3fa2f9eb295106cd4c64549f55cc54f432f
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Fri Dec 7 12:30:35 2007 +0100
+
+ Eliminate struct pipe_region.
+
+ Directly use struct pipe_buffer_handle for storage and struct pipe_surface for
+ (un)mapping.
+
+commit 7f984e1d2ab65a3d34ec0c0ef7487211dd644561
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Dec 6 11:30:34 2007 +0100
+
+ Remove remnants of 'intel' from active state tracker code.
+
+commit b57632f04e72fb38305a963d25affd9c25b96fd2
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Dec 6 11:25:40 2007 +0100
+
+ st_mesa_format_to_pipe_format: Handle MESA_FORMAT_ARGB4444.
+
+commit 274603c5c9553a13c44c6e3d48ac73c280cd3b64
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Fri Nov 30 20:48:03 2007 +0100
+
+ Hide texture layout details from the state tracker.
+
+ pipe->get_tex_surface() has to be used for access to texture image data.
+
+commit 6f44a21348cb70601fc138150bb603fa527d6b63
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Dec 5 14:57:19 2007 -0700
+
+ Add dependency checking for Cell driver sources.
+
+commit 5cb718673016159d06e08a832db594b99c20ad5a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Dec 5 14:54:29 2007 -0700
+
+ silence warning
+
+commit dc76fe436c035f5ba6c9372584198a4d32e057f2
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Dec 5 14:54:19 2007 -0700
+
+ added PIPE_FORMAT_U_B8_G8_R8_A8 case in color_value()
+
+commit 64a1d5cbd170edfe4e99ca83ab1f60390311d69a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Dec 5 14:53:19 2007 -0700
+
+ Fix endianness bug in _mesa_texstore_argb8888()
+
+ On big-endian, storing in _mesa_texformat_argb8888 format produced wrong results.
+ Also, clean-up nearby code to match.
+
+commit ecd0853a095c2df1eb0b3c72c1f7c570a23ef6a6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Dec 5 14:51:08 2007 -0700
+
+ added B8G8R8A8 support and improved pixel format selection when doing remote display to X server of different endianness.
+
+commit 4f25c76735b678c5d2346198cb370d2d58443289
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Dec 5 14:48:09 2007 -0700
+
+ added tile funcs for B8G8R8A8 format
+
+commit 7f9a64e2477e0bb96a558f13bd48dfac521fc4da
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Dec 5 14:47:27 2007 -0700
+
+ added B8G8R8A8 format
+
+commit 264f64fd89e5b6abb26d985c0e7787666cbce62d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sun Dec 2 15:34:27 2007 -0700
+
+ added -fPIC
+
+commit 0d2ba87b5430ddac97b5bf13ce41c0aed86d2120
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sun Dec 2 15:34:14 2007 -0700
+
+ don't build libglw
+
+commit 1698cbde3029f047fe92107b3fd1176c258bd9a2
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sun Dec 2 15:23:51 2007 -0700
+
+ Initial Cell driver infrastructure.
+
+ No real code yet. Just stand-ins and make/build infrastructure.
+
+commit e5d8ee205a8d6ef83381de9eff5dbef92b1c1a7e
+Author: Brian <brian@ps3.localnet.net>
+Date: Sun Dec 2 15:20:13 2007 -0700
+
+ glut doesn't need -lXt
+
+commit c989209b6a43f9c21b680e55db0bcda0769dccbf
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sun Dec 2 17:13:28 2007 +0000
+
+ Cover state tracker and winsys driver. Tweak parameters.
+
+commit 72513ae3a7b4f2a0b90c46e4ef0b9c10e4c74ed2
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Wed Nov 28 19:04:54 2007 +0100
+
+ Move dimensions from struct pipe_region to struct pipe_surface.
+
+commit f83d4e7bde28d6f73a0de96781da506ddb338714
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 21:21:58 2007 -0700
+
+ Try to reduce the frequency of calls to pipe->get_tex_surface()
+
+ Save the surface info in the tile cache and re-use whenever possible.
+
+commit a110789f3ecc883fbd0f39758c40a6adc5118aff
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 20:58:01 2007 -0700
+
+ shorten loops over color bufs
+
+commit 5d4b53b3afcb6014200faad8712bbb13af30469e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 20:31:26 2007 -0700
+
+ code re-org in softpipe_clear()
+
+commit d1d9156831d390eaffefbceb8b56916b21fb6dbc
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 20:24:24 2007 -0700
+
+ clean-ups
+
+commit 127a493fe2a2f7fd8515b278185322dfacdad357
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 20:13:10 2007 -0700
+
+ Tile clearing optimizations.
+
+ Clear using int values rather than floats when possible. Better performance now.
+
+commit 51537e0b6efec61e10db522ba2c0c66b407d7f26
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 17:26:06 2007 -0700
+
+ Disable, remove tnl module from the Gallium build since no longer used.
+
+commit c885775cae8feabe5431ba7867fac99332f5ee8e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 17:24:42 2007 -0700
+
+ New vbo_set_draw_func() to keep vbo context opaque to state tracker and tnl module.
+
+commit e3a6e60040b7f6ea7965e52f8f9881ed31e0347c
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Dec 7 16:15:49 2007 -0800
+
+ [965] Convert the driver to dri_bufmgr interface and enable TTM.
+
+ This is currently believed to work but be a significant performance loss.
+ Performance recovery should be soon to follow.
+
+ The dri_bo_fake_disable_backing_store() call was added to allow backing store
+ disable like bufmgr_fake.c did, which is a significant performance win (though
+ it's missing the no-fence-subdata part).
+
+ This commit is a squash merge of the 965-ttm branch, which had some history
+ I wanted to avoid pulling due to noisiness and brokenness at many points
+ for git-bisecting.
+
+commit 40e9c57d318c1d4a1e75fe0c88374182050d7f48
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 17:14:02 2007 -0700
+
+ Disable swrast, swrast_setup and driverfuncs in the build.
+
+ The gallium/state tracker no longer uses them and this speeds up the build a bit.
+
+commit 2d2bb35f96de6a2c498a2309a4f924acd256c317
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 17:11:30 2007 -0700
+
+ Move _mesa_init_glsl_driver_functions() into shader_api.c
+
+ This allows making a bunch of functions static, and removes a state
+ tracker dependency on driverfuncs.c
+
+commit 54fc80ab31f89520d3119196bfa9c6332b35fe2f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 16:46:30 2007 -0700
+
+ Define PIPE_FORMAT_ tokens as an enum set, rather than #defines.
+
+ This makes debugging a _lot_ easier.
+ In gdb, "print format" used to display 613570600, now you see PIPE_FORMAT_A8R8G8B8_UNORM.
+
+commit 3ecdae82d751f9f404d10332f030e3280949ce4e
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Dec 7 15:20:00 2007 -0800
+
+ [965] Remove dead code in upload_wm_surfaces.
+
+commit e34a183d870e393187b2c26e37ea1e900c2ab1f7
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Dec 7 15:16:42 2007 -0800
+
+ [965] Move brw_surface_state stack allocation into the function using it.
+
+commit 6070a0eb2ba9ba29b861153a10e91c5b463a2ffc
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 16:22:39 2007 -0700
+
+ include tgsi_dump.h
+
+commit d3e05111c8c8f87db7f577eb7096d65479a7e481
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 16:15:14 2007 -0700
+
+ Replace "duplicate" formats
+
+commit 2067eed9d30bb5b260920a5650655579c1988202
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 16:01:31 2007 -0700
+
+ Get rid of "duplicate" formats.
+
+ For example, replace PIPE_FORMAT_U_A8_R8_G8_B8 with PIPE_FORMAT_A8R8G8B8_UNORM
+
+commit 099bf3ffe932f4a8c1ddae064bce901555af35ce
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 15:47:39 2007 -0700
+
+ Enable the tile clear "optimization"
+
+ Not really faster yet because we're using the float-valued put/get_tile()
+ functions so we're doing quite a bit of float/int conversion. That can
+ be fixed though...
+
+commit 872caf6089e325cf3a0cee877f5119cac560edac
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 15:46:10 2007 -0700
+
+ Make sp_tile_cache_flush_clear() static.
+
+ Also, misc clean-ups, comments.
+
+commit c69c7a6054ad038f9da85c1e0d0af39094ae443e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 15:44:58 2007 -0700
+
+ Convert the clearValue back to floats for sp_tile_cache_clear()
+
+ It might be nice if sp->clear() took the color/value as floats...
+
+commit 9cad8e312f5c6dae150be7b9fd28f86e3f7a0c20
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Fri Nov 30 08:49:57 2007 -0800
+
+ autoconf: Output summary information from configure
+
+ Report some of the common settings back to the user after configure
+ has completed.
+
+commit af3d2f292d5076f4b01a44601237d99c3250320c
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Thu Nov 15 08:59:57 2007 -0800
+
+ autoconf: Configurable DRI drivers
+
+ The user can request specific DRI drivers to build rather than the
+ default of "all that build on this platform". This allows the list of
+ drivers to be easily slimmed down.
+
+ This is controlled through the option --with-dri-drivers. For example:
+
+ ./configure --with-driver=dri --with-dri-drivers="i965,nouveau"
+
+ Unfortunately, using this setting means the DRI drivers aren't filtered
+ by platform anymore and you might try to build something that doesn't
+ work.
+
+commit 88586332d38b3422cec0f3ff05985d0266ae4dfd
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Thu Nov 15 08:59:57 2007 -0800
+
+ autoconf: Allow static library builds
+
+ Allow the user to specify that they want static libraries through the
+ --{enable,disable}-{static,shared} switches like libtool. The mesa build
+ only allows for one at a time, so static will be chosen if someone has
+ passed --enable-static or --disable-shared.
+
+ This also allows the mklib options to be set at build time. This allows
+ -static to be set for mklib, but any platform specific settings are
+ allowed by setting MKLIB_OPTIONS for configure.
+
+ Handling of the program libraries through the APP_LIB_DEPS variable is
+ pretty ugly, but it seems to work.
+
+commit 8e4d14743035ba59b16e5c84246916f43487d455
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Thu Nov 15 08:59:57 2007 -0800
+
+ autoconf: Configurable demos directories
+
+ The user can request specific demos directories to build in. For
+ example:
+
+ ./configure --with-demos="demos,xdemos"
+
+ The drawback is that we don't check for the necessary libararies in
+ that case, only that the directory in progs/ exists.
+
+commit 6689f9ebcb586333d059ace12ccff950bb6411b1
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Wed Dec 5 21:04:15 2007 -0800
+
+ autoconf: Configure the osmesa channel size for OSMesa16 and OSMesa32
+
+ Allow the user to specify channel bits of 16 or 32 to enable OSMesa16 or
+ OSMesa32 instead of the default OSMesa. This option is controlled
+ through the option --with-osmesa-bits=BITS and is only honored when the
+ driver is osmesa.
+
+ The osdemos are not enabled in the 16 or 32 bit case because the
+ Makefile is currently hardcoded to link to -lOSMesa.
+
+commit 979ff5153d563e5c79c17142fedecc1b45858a2f
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Wed Dec 5 18:47:01 2007 -0800
+
+ autoconf: Add support for osmesa-only builds
+
+ Added autoconf support for using OSMesa as the driver instead linking
+ it to libGL. This is enabled through --with-driver=osmesa.
+
+ To differentiate these cases, another option --enable-x11-osmesa is used
+ to enable or disable building OSMesa when the driver is x11.
+
+commit 44d9914b29f1e27080756600b462d852d631d788
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Wed Dec 5 18:47:01 2007 -0800
+
+ autoconf: Add support for shared DRI build on linux and freebsd
+
+ Added autoconf bits to allow using DRI as the driver through the option
+ --with-dri-driver=DRIVER. The options are x11 (default) and dri. Three
+ DRI specific options for controlling the driver directory, direct
+ rendering and TLS are also added.
+
+ The DRI will probably not work for platforms besides linux and freebsd.
+
+commit 72796238f86a5a1d964ed25572b69cee311e38c2
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Wed Dec 5 17:23:00 2007 -0800
+
+ autoconf: Include necessary files for the tarballs
+
+ Add targets to the top Makefile so that configure and the necessary
+ scripts are added to the tarball for distribution.
+
+ Variables are used for autoconf and aclocal in case anyone needs to use
+ a specific version or pass any extra flags.
+
+commit dca1b796b74b13602c87e2628cea747aa2a985be
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Tue Oct 23 09:25:58 2007 -0700
+
+ autoconf: Initial support for an autoconf configuration
+
+ This adds the initial support for using autoconf configuration. Support
+ is available for shared Xlib driver builds. Later this will be extended
+ to dri and osmesa-only builds and possibly targetting non-X backends.
+ Support for static library builds will also be added.
+
+ The configure script fills in the autoconf config. This is then used by
+ running `make autoconf' after ./configure.
+
+ Testing has been done on Linux/GNU. The configure script tries to
+ faithfully reproduce the current configs/linux* and configs/freebsd*.
+ Other platforms can be handled later by adding similar statements and
+ feature tests.
+
+ Pkg-config is used to search for packages when possible. This makes the
+ build much more flexible and robust to the user's configuration. This
+ requires that the pkg-config autoconf macros pkg.m4 are included in
+ aclocal.m4. This requires autoconf and aclocal from autoconf and
+ automake, respectively.
+
+commit d5cee90cf5c6a9eeec32ccfd85103dc1c02d135a
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Wed Dec 5 10:25:39 2007 -0800
+
+ autoconf: Add support files required for autoconf use
+
+ The standard autoconf initialization macros require that config.guess,
+ config.sub and install-sh exist. The config.* scripts are from gnulib
+ HEAD, and the install-sh script is from automake HEAD.
+
+commit 57df347bb8a119e1d00fe808e30a0623e0ae8563
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 15:32:13 2007 -0700
+
+ Some tile cache improvements, clean-ups.
+
+ Code for optimized clears (per-tile flag indicating clear status) in place
+ but not enabled yet.
+
+commit f1efacb92b4c7e52f5f060a655a2dacfdddac44b
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Wed Dec 5 20:34:59 2007 -0800
+
+ Make osdemos linking like other programs
+
+ Most of the programs list their dependencies on the Mesa libraries in
+ their Makefiles. This works with the default configuration where
+ APP_LIB_DEPS only lists external libraries. This changes the
+ linux-osmesa configs and the osdemos Makefile to follow that convention.
+
+ Some cleanup of the Makefile is also added to refer to the GL libraries
+ through the existing variables rather than hardcoding their names.
+
+commit dd87c43a44871e6cf7c3328120c50447bd69c26c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 13:19:00 2007 -0700
+
+ don't dereference pt after realloc - fixes valgrind error
+
+commit e6b5cf342e8a66869d25b68d5a63f3d3600b8aad
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 13:08:28 2007 -0700
+
+ add some whitespace
+
+commit 6aaf9bdd418e11d5ccb76a6ab85a8df36b0c8804
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Wed Oct 31 17:12:07 2007 -0700
+
+ configs: Fix linking with static libGL and --as-needed
+
+ Linking of the programs breaks when using a static libGL and the GNU ld
+ option --as-needed. This is because libXext is needed for the XShm
+ functions.
+
+commit 4c90dc7027a42e046662d52c7300f0eb68a6cf3f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 10:21:56 2007 -0700
+
+ Move struct softpipe_texture definition into sp_texture.h
+
+ Also, added softpipe_texture() cast wrapper.
+
+commit 94a3cb078db2e09716604923c02e3a975ae318ae
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 10:18:34 2007 -0700
+
+ minor code movement
+
+commit da3dfe58b2c2dda38eb7c276a4ae94a4d6a1abc7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 08:28:59 2007 -0700
+
+ Add PIPE_FORMAT_U_B8_G8_R8_A8 in default_rgba_format().
+
+ Also, rewrite/simplify default_rgba_format() and default_depth_format().
+
+commit 0d1669f5303e37980170169687e1dfa5f74c4c00
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 08:24:56 2007 -0700
+
+ byteswapping fixes in choose_pixel_format()
+
+commit 9772bb7f71cf114f463e4a9383202846da071363
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 08:24:33 2007 -0700
+
+ remove stray ;
+
+commit e920f367ede4e275c25c5fa1929c943af3baef46
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 07:58:31 2007 -0700
+
+ Remove obsolete xlib driver files
+
+commit 749d723287df348bd36ee43f96de6892a3eba09f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 07:57:54 2007 -0700
+
+ Overhaul the Xlib winsys layer.
+
+ Front/back color buffers are now allocated with ordinary malloc() via the
+ winsys buffer functions.
+ To display surfaces in SwapBuffers() or flush_frontbuffer() we create an
+ XImage that wraps the surface, then use XPutImage to copy to the window.
+ Shared memory transport disabled for now.
+
+commit f77ce9e4fa6430fd6f4aaf07c58ed12569dec481
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 07:53:21 2007 -0700
+
+ added ST_SURFACE_DEPTH
+
+commit ee6b39cfe602bd88a88bedc5af672832d9157105
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 07:53:06 2007 -0700
+
+ move surface pitch calculation so it always gets updated
+
+commit 5823f99d0fbc054b87aeb1bc15d413d3eadd27a8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 07:52:35 2007 -0700
+
+ fix void pointer arithmetic warnings
+
+commit b9300f16c40e1fecf6237ca06888e42da85c55b5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Dec 7 07:48:33 2007 -0700
+
+ silence void ptr arithmetic warning
+
+commit b859cdf6f191b4d8b56537c8dc30082a7e2d94b3
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Fri Dec 7 12:30:35 2007 +0100
+
+ Eliminate struct pipe_region.
+
+ Directly use struct pipe_buffer_handle for storage and struct pipe_surface for
+ (un)mapping.
+
+commit e2ca788ae700aae75bf8d024c1374c38cc5574f9
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Fri Dec 7 17:33:18 2007 +0800
+
+ i915: fix the error in the previos commit.
+
+commit c1a3ac0e45d6b69d5567f80b76815b2e6997128d
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Fri Dec 7 17:26:38 2007 +0800
+
+ i915: Check the program size when uploading a program. fix bug 13494
+
+commit fecb3ce5860caa498f531c28db043c3c2cb845a8
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Fri Dec 7 02:31:40 2007 +0100
+
+ Use write posting in the kickoff function too.
+
+commit 987d59bb83e9e08192563e5f1b52949c5511053c
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Dec 6 11:30:34 2007 +0100
+
+ Remove remnants of 'intel' from active state tracker code.
+
+commit d492b388c96d98825ce9c6a9567ad83b3dee14b9
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Dec 6 11:25:40 2007 +0100
+
+ st_mesa_format_to_pipe_format: Handle MESA_FORMAT_ARGB4444.
+
+commit 753db0d8407147393a7b0622ae3fa28f68d0353d
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Fri Nov 30 20:48:03 2007 +0100
+
+ Hide texture layout details from the state tracker.
+
+ pipe->get_tex_surface() has to be used for access to texture image data.
+
+commit 62f6e550138ebccbdeb8dd044eabf757d5482126
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Dec 6 10:19:22 2007 +0100
+
+ Minor followup fixes for the previous commit.
+
+commit 17afc800c9b69997ae7ba52b67c021f68066e008
+Author: George Nassas <gnassas@gmail.com>
+Date: Thu Dec 6 10:11:05 2007 +0100
+
+ Always call dlopen in DriverOpen.
+
+ This increases the reference count for the driver binary, preventing it from
+ getting unloaded prematurely in driDestroyDisplay. See
+ https://bugs.freedesktop.org/show_bug.cgi?id=13541 .
+
+commit 125bd4cae51c6deaacd2e90f14931c2052f146ab
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Dec 5 16:57:27 2007 -0800
+
+ Revert "[965] Add missing flagging of new stage programs for updating stage state."
+
+ I had forgotten part of brw_state_cache.c that made this fix not relevant for
+ master (last_addr comparison and flagging based on cache id).
+
+ This reverts commit a4642f3d18bdaebaba31e5dee72fe5de9d890ffb.
+
+commit a4642f3d18bdaebaba31e5dee72fe5de9d890ffb
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Dec 5 15:52:13 2007 -0800
+
+ [965] Add missing flagging of new stage programs for updating stage state.
+
+ Otherwise, choosing a new program wouldn't necessarily update the state, and
+ and an old program could be executed, leading to various sorts of pretty
+ pictures or hangs.
+
+commit 259eacfa94a1086e4c99db83516989cc27832ef4
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Dec 5 15:06:23 2007 -0700
+
+ Fix endianness bug in _mesa_texstore_argb8888()
+
+ On big-endian, storing in _mesa_texformat_argb8888 format produced wrong res
+ Also, clean-up nearby code to match.
+
+ picked from gallium-0.1 branch
+
+commit 59356268187470c5fda9e9a1a7058607f938fb3b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Dec 5 14:57:19 2007 -0700
+
+ Add dependency checking for Cell driver sources.
+
+commit ce30f0550f02b28219c84851d71e0713aa315ee3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Dec 5 14:54:29 2007 -0700
+
+ silence warning
+
+commit 146483d5412e14d6be63a9b9116ff683956ee294
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Dec 5 14:54:19 2007 -0700
+
+ added PIPE_FORMAT_U_B8_G8_R8_A8 case in color_value()
+
+commit 3eadbe64bf027b7e90167d4980e880c8a01c889f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Dec 5 14:53:19 2007 -0700
+
+ Fix endianness bug in _mesa_texstore_argb8888()
+
+ On big-endian, storing in _mesa_texformat_argb8888 format produced wrong results.
+ Also, clean-up nearby code to match.
+
+commit 9df0a6dd9c43be0ee5c300e161a20b2f98acef2d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Dec 5 14:51:08 2007 -0700
+
+ added B8G8R8A8 support and improved pixel format selection when doing remote display to X server of different endianness.
+
+commit 04516cfcaf15589768c973231d8c317e851a78cb
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Dec 5 14:48:09 2007 -0700
+
+ added tile funcs for B8G8R8A8 format
+
+commit fa3fc81f2c23f6ae7e4962cebee4356ca5e4383d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Dec 5 14:47:27 2007 -0700
+
+ added B8G8R8A8 format
+
+commit 47b418b8fa5fd242e9021503d6ec329ac3d56fb0
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Dec 5 14:01:01 2007 +1100
+
+ nv50: 3d driver skeleton
+
+commit 2407e48f2805e27e76e2e1d7083926c4077d9032
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Wed Dec 5 10:31:35 2007 +0800
+
+ Don't Swap buffer if a DRIDrawable is entirely obscured
+ by another window.
+
+commit 5b91ee27c0f6e6379a9dc0bb41f4aef2f66b6346
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Dec 4 18:44:40 2007 -0700
+
+ Undo changes made to the toyball shaders in commit d19d0596daf004b56d80f78fa1a329b43c2ebf94
+
+ This demo produces the expected results again.
+
+commit 97f8c39d916e80c0dbb0eae9a6c5109555a1f1b5
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Dec 5 11:57:50 2007 +1100
+
+ nouveau: g8x winsys support, yay softpipe!
+
+commit 02afd45d3b2eccff5d566cdeb32b3211803bd500
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Dec 4 14:06:10 2007 -0700
+
+ fix span->facing computation and gl_FrontFacing initialization
+
+commit 2ee7035886d9f857677776f84e55f92153318832
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Dec 4 14:05:26 2007 -0700
+
+ Fix gl_FrontFacing compilation problem
+
+commit df198d24bcb48c7f51ba9d814d97496d998b5db9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Dec 4 10:48:05 2007 -0700
+
+ added culling/wireframe options
+
+commit fc7ddea8535f1a9c196bf30f7864414e4ac18b8a
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue Dec 4 10:46:45 2007 +0100
+
+ Use -Bsymbolic for linking all shared objects.
+
+ Fixes https://bugs.freedesktop.org/show_bug.cgi?id=10132 .
+
+ Also remove comment about SONAME, as SONAME only applies to shared libraries.
+
+commit 3a90679400e50fb5d319deee51e03a298735aa17
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Dec 3 10:58:08 2007 -0800
+
+ [965] Change constant buffer from state structs to plain batch emission.
+
+ Reduces diff to branch which has a relocation in this state emit.
+
+commit 454043c4ae20a92ff0a56f41fdb6aa7a75af00c8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Dec 3 14:14:16 2007 -0700
+
+ fix DD_TRI_LIGHT_TWOSIDE bug (#13368)
+
+commit 2dc85e8078bed67cb5d8bc3e16484f56c61c61ca
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Mon Dec 3 11:57:14 2007 -0800
+
+ Fix the library name in glw.pc
+
+ Fix a copy and paste error s/GLU/GLw/ in glw.pc.
+
+commit ce98779571eee3f51d9f571fecf8deb83dd60f78
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Dec 3 11:58:55 2007 -0700
+
+ glut doesn't need -lXt
+
+commit b1416c2137d6f7973e65f07ca9859970bead25b6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Dec 3 11:57:56 2007 -0700
+
+ added missing quote char
+
+commit 2af613e0b8e6f89cc7528ff5a969e18f077e61fc
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Fri Nov 30 11:40:06 2007 +0100
+
+ i915: Fix up state changes for i8xx.
+
+commit 91692fce203ff993881bcf1f7cfb256a1650d1f9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sun Dec 2 15:34:27 2007 -0700
+
+ added -fPIC
+
+commit c27082995d4c17bf19c864fd1a3cf4f26bd53bf7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sun Dec 2 15:34:14 2007 -0700
+
+ don't build libglw
+
+commit 88b715b049efa81f4021d642a963b58113a875cf
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sun Dec 2 15:23:51 2007 -0700
+
+ Initial Cell driver infrastructure.
+
+ No real code yet. Just stand-ins and make/build infrastructure.
+
+commit 233c374d02a99ecd0c2ddc6f11f305ae8783fc97
+Author: Brian <brian@ps3.localnet.net>
+Date: Sun Dec 2 15:20:13 2007 -0700
+
+ glut doesn't need -lXt
+
+commit 219dafa9b54ca6fa8dc36fca2dea6a8ca23d5f24
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sun Dec 2 17:13:28 2007 +0000
+
+ Cover state tracker and winsys driver. Tweak parameters.
+
+commit 556cf9abff75eaa56c3ea11f1c59cb04d30c0b92
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Nov 30 18:17:12 2007 -0800
+
+ [intel] Move batch bo_unmap from TTM code to shared, and add more asserts.
+
+commit d388cad74675b6ac9bde4aa1dbdd3f4b0138942d
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Nov 30 18:12:23 2007 -0800
+
+ [intel] Add failure path printfs to relocation code and some comments.
+
+commit 700468b8bc37a26bb5a229ab8fa0478aaa7a049e
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Nov 30 18:08:17 2007 -0800
+
+ [intel] Simplify TTM relocation code by passing around bufmgr struct.
+
+commit ddd92ee9a173bbb087ef67b4a36ac231e30c941f
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Nov 30 14:15:36 2007 -0800
+
+ [intel] Fix the type and naming of the flags/mask args to TTM functions.
+
+ The uint64_t flags (as defined by drm.h) were being used as unsigned ints in
+ many places.
+
+commit 6f8dee03aaeab67532bbadef27f9e2a91e0022d8
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Nov 30 14:14:11 2007 -0800
+
+ [intel] intel_bufmgr_ttm style sanity
+
+commit b0b882b666da0673b5f2aa7676e54438538c6a7f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 30 15:52:27 2007 -0700
+
+ fix-build: remove ctx->_Facing assignment
+
+commit fcd7c37fd3d0f61cf6ac81170bc0b3fca64ad9bb
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 30 13:01:57 2007 -0700
+
+ fix broken two-sided stencil
+
+commit 44c8dac0af8ae679b25b458980ce97d8ff410766
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 30 09:07:39 2007 -0700
+
+ better front-plane clip test
+
+commit a11b6f025cd31d63c061129fd7272a928184f808
+Author: joukj <joukj@tarantella.(none)>
+Date: Fri Nov 30 13:16:05 2007 +0100
+
+ Updates of some OpenVMS makefiles.
+
+commit 86f3135fbd9db9ca08a6c0bfc620345c8a8e3f04
+Merge: d1414da d2540e6
+Author: joukj <joukj@tarantella.(none)>
+Date: Fri Nov 30 11:12:41 2007 +0100
+
+ Merge branch 'master' of git+ssh://joukj@git.freedesktop.org/git/mesa/mesa
+
+commit d2540e6d4bdcfcda195f6dcf43f75b810001c227
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Fri Nov 30 12:04:04 2007 +0800
+
+ i965: if source depth to render target is set,
+ it should be handled in fb_write.
+
+commit 6bc1d3856712f5298d9ecd55807025ebd5344660
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Fri Nov 30 11:50:08 2007 +0800
+
+ i965: use uncompressed instruction to ensure only
+ Pixel Mask Copy is modified as the pixel shader thread
+ turns off pixels based on kill instructions.
+
+commit 1df7a82688c4f41b06ef04d997654afb4e05071b
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Nov 29 13:00:34 2007 -0800
+
+ [i915] Make INTEL_DEBUG=bufmgr actually do things for bufmgr_fake.
+
+commit 11a80160fd60d1eb1541b49128c659526a5d8ac8
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Wed Nov 28 19:04:54 2007 +0100
+
+ Move dimensions from struct pipe_region to struct pipe_surface.
+
+commit 61fbc816570820757afdbc3cd04cd475b337ad4f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 29 08:12:33 2007 -0700
+
+ New ctx->Driver.Map/UnmapTexture() functions for accessing textures from t_vb_program.c
+
+commit a2ab143b751b85ecb6b9807982ef6dab254f4b93
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Nov 28 15:55:57 2007 -0700
+
+ cleanups, comments
+
+commit a7e1b4456a08d84c976bd260d018ca88f35867e4
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Nov 28 15:19:46 2007 -0700
+
+ Move _mesa_load_tracked_matrices() from TNL module to prog_statevars.c
+
+commit dc88a96631c21c2bc2cdffefc8947e8924d77c91
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Wed Nov 28 10:20:04 2007 +0100
+
+ r200: Fix texture format regression on big endian systems.
+
+ See https://bugs.freedesktop.org/show_bug.cgi?id=13324 .
+
+ Also use tx_table_be for VALID_FORMAT, in case r200SetTexImages ever gets
+ called for MESA_FORMAT_RGB888.
+
+commit d8fcb504a4d88dc1c4d63fb572fdb7393b8a33aa
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Wed Nov 28 09:46:43 2007 +0800
+
+ i965: update RefCount when using Vertex/Fragment program.
+ It makes quake4-demo works well on 965.
+
+commit 16099c15f5495f22252c6bed655f7f598ebf8001
+Author: WuNian <nian.wu@intel.com>
+Date: Tue Nov 27 18:22:42 2007 -0700
+
+ remove drawable from hash table when window is deleted (see bug 13091)
+
+commit 5c64e6885dd3810a8ac5a49a55f807c5994c30fb
+Author: Delle <delle@ciaoweb.it>
+Date: Tue Nov 27 18:18:25 2007 -0700
+
+ use DEFAULT_SOFTWARE_DEPTH_BITS
+
+commit 27028fcf741cf8bfc4da809b904e9d66866c94e5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Nov 27 10:31:05 2007 -0700
+
+ minor additions to avoid FAQs
+
+commit 5ef3a2c06d474891a667ef66ffd7aaa52af5fc04
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Nov 27 10:27:55 2007 -0700
+
+ document GLSL float f/F suffix bug
+
+commit 4fe3bf2d77aeb289d2f1c7c695206c2e7889c5ed
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Nov 27 10:16:51 2007 -0700
+
+ set fp->UsesKill when emitting OPCODE_KIL
+
+commit 92e4090b4c52e86f243bd4e6f3e6b48913948a1f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 26 11:39:17 2007 -0700
+
+ add a few more logicop modes, simplify code
+
+commit 74cd0b459f4eafd4b4bc63532b1c3cb6f26153ed
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 26 09:35:39 2007 -0700
+
+ improve 24-bit Z to 32-bit Z conversion
+
+commit 46e03d584a18b89fef956fed3d52e15775846250
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Tue Nov 27 09:45:32 2007 +0800
+
+ i965: The jump instruction count is added
+ to IP pre-increment, and should point to
+ the first instruction after the do instruction
+ of the do-while block of code
+
+commit a8fee3a498c8c4966d57a5273408477f3aa3ce73
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Nov 15 09:59:33 2007 +0000
+
+ i915: Catch cases where not all state is emitted for a new batchbuffer.
+
+ This could lead to incorrect rendering or even lockups.
+
+commit 63e6bfe8db10313c7f48de0b8ddbcd6b47f7e327
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Fri Nov 9 18:46:55 2007 +0100
+
+ i915: Some additional blit fixes and assertions.
+
+commit 42108629e80c4ad39da80dca1853c20fd65ad22c
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Sun Nov 25 14:20:36 2007 +0100
+
+ libGL: Make sure a valid value is returned for GLX_BIND_TO_MIPMAP_TEXTURE_EXT.
+
+ If the server didn't send a value, assume it's not supported.
+
+ A more generic solution might be better for this kind of problem, but an
+ attempt for this failed (see https://bugs.freedesktop.org/show_bug.cgi?id=9264)
+ and this allows compiz to work with drivers that support
+ GL_EXT_framebuffer_object.
+
+commit 7dd5ced962e78df68cb902b88b95b7a842a310ab
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Sun Nov 25 14:17:02 2007 +0100
+
+ intel: Fix relative symlinks.
+
+commit 042b7dfd0e15ccd0fcad0c141477091c006e0815
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Nov 25 13:05:56 2007 +1100
+
+ nv40: fix build after gallium changes
+
+commit 2bd97ca9427bbb90c1ac81f8947d33dba4b86290
+Merge: 2a2756a 7043db6
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Nov 25 13:00:15 2007 +1100
+
+ Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1
+
+commit 2a2756a019ecdd5406ef84019610a0016868a39b
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Nov 25 12:39:32 2007 +1100
+
+ nv40: be more flexible with render target setup
+
+commit b8c5419faf0db76f38aa1dae8f8cfdf9660bc8ae
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Nov 25 12:06:42 2007 +1100
+
+ nv40: remove unused stuff
+
+commit 25acd4eba0b6863bc34d4aeb7ba93fb8f95f5d13
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Nov 25 12:02:12 2007 +1100
+
+ nv40: point sprites
+
+commit 8b1c8f5e758e161bacee3f5eca2fd531f2bf56aa
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Nov 25 11:25:32 2007 +1100
+
+ nv40: fp arbitrary swizzling/negation
+
+ Pretty bad implementation, goal was to get glBitmap working.
+
+commit 7043db677f457ae9a46f2585a5ef52bf69a4e8ea
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sat Nov 24 16:02:31 2007 +0000
+
+ Cleanup PIPE_FORMAT names.
+ Add a function that builds a display name of a given format token.
+
+commit be1fa5b3d706a336e6719248e51d98f4bf21644d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 23 16:19:25 2007 -0700
+
+ better test of point attenuation
+
+commit 88b067cb040b42e774733959545f19ad780c873b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 23 14:35:46 2007 -0700
+
+ #define GL_GLEXT_PROTOTYPES to silence warning
+
+commit 999b55663a09d9669a9d14c5aadfa84e6dcba288
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 23 12:01:57 2007 -0700
+
+ Consolidate texture fetch code and use partial derivatives when possible.
+
+commit ba162438841ecc6f0227b149ded66916911d9acf
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 23 10:25:48 2007 -0700
+
+ Fix parsing of gl_FrontLightModelProduct.sceneColor, don't segfault on variable array indexes.
+
+commit c14d969a69d7b9a060c6701d3f18c51eabc56635
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 23 09:14:39 2007 -0700
+
+ need to check border width in sample_linear_2d() - fixes failed assertion in texwrap.c test
+
+commit b3dee0185ec0202d454075de4e4011e3ac093df8
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Fri Nov 23 13:48:12 2007 +0000
+
+ gallium: remove sp_headers.h references.
+
+commit abd5e8e41d54f7f491f91af9354f19c8d24d3572
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Fri Nov 23 13:28:16 2007 +0000
+
+ gallium: reorg tgsi directories.
+
+commit 44519be0f5cd70d767c8e29317ebe33a7fb9903e
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Fri Nov 23 13:27:20 2007 +0000
+
+ gallium: back out winsys interface changes
+
+commit 558f3abb49475ba0aad585e7fb0c07121aecde6f
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Nov 23 18:54:11 2007 +1100
+
+ nv40: support for keeping multiple vtxprogs on the hw at the same time.
+
+commit 0fd679a1903d997b53fe20b86821a58c1a66262f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 22 09:31:16 2007 -0700
+
+ Consolidate point size computation, clamping in get_size().
+
+ Also, apply user-defined clamp limits to point size even when not using
+ attentuation or program-computed size.
+
+commit ccb1c9df002b1bf7ef69ccfa57593f5cd6b63099
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 22 09:29:38 2007 -0700
+
+ Print point/line size range limits
+
+commit 9924f208cf3f45424b6464d2cca9698da206816e
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Nov 20 13:26:34 2007 +0000
+
+ Use the new vertex buffer draw stage.
+
+commit 1a8daf0627dde44aaa7c40786782618d4d5a6a36
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Nov 20 13:26:00 2007 +0000
+
+ New vertex buffer stage.
+
+commit 45f658f172b4a3fe6e5190fdba5c00e7f332845c
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Nov 19 19:22:30 2007 +0000
+
+ Fix build.
+
+commit 369ff9786d88d813fb8cd07607b5c1088399a702
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Nov 19 22:01:32 2007 +0000
+
+ The right include was mtypes.h.
+
+commit c5841425433f003af76f03435de719c40635005a
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Nov 19 17:23:55 2007 +0000
+
+ Fix build errors.
+
+commit 0e31e24659a1e691bdfa213fcd073bbfaa4ed6e9
+Author: Michal <michal@tungstengraphics.com>
+Date: Sun Nov 18 13:20:57 2007 +0000
+
+ Fix compatibility issues between gcc and msvc.
+
+commit 5961732c1b59403b4e736fa354a64d4a0e5d8af2
+Author: Michal <michal@tungstengraphics.com>
+Date: Sat Nov 17 14:26:24 2007 +0000
+
+ Make it compile under Win32.
+
+commit 4541ee5343df7c3ca937e088a85ec3f62970d318
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Nov 22 10:56:09 2007 +0000
+
+ Remove fences from the i915simple winsys interface.
+
+ Fences will be part of the pipe winsys interface, so remove this to avoid
+ merge conflicts later on.
+
+ This reverts commit ca7f68a7cf25a51f382bba8c42d8c6ab7db57b5d.
+ This reverts commit dec60d33b2570cf2bdce72a00a1539ee93133f91.
+ This reverts commit 90dd0cb822f2fe14258c786e5c37da69472b7d17.
+
+commit 3d51c7900105a99fc30a4318080fd4cc373c8eec
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Thu Nov 22 02:49:11 2007 +0100
+
+ fix z buffer read/write issue with rv100-like chips and old ddx
+
+commit 2112191d452bd76d99ca48f8da17bb49eca595aa
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Nov 21 16:03:16 2007 -0700
+
+ more simplification, clean-up in draw_set_vertex_info()
+
+commit 9f0b5bba707d6c36896b4b8afad4e6b459da5e99
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Nov 21 16:00:57 2007 -0700
+
+ Replace draw_set_vertex_attributes() with simpler draw_set_vertex_info().
+
+ Just pass in the vertex_info object and make a copy of it.
+
+commit fbe68bf6b286056bb03f44907a078918d04cbdfd
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Nov 21 15:40:20 2007 -0700
+
+ Simplify draw module's vertex_info.
+
+ No longer store the vertex header and clip pos info in the draw module's
+ vertex_info. The vertex_info just describes the data[] elements.
+ This simplifies the code in several places.
+
+commit dd1500b8b436dc4a009455489ade7dcf65f03d07
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Nov 21 19:21:34 2007 +1100
+
+ nouveau: wait for sync after m2mf also, to be thourough.
+
+ These will all go away at some point I promise, want to rule out sync issues
+ while I bash nv40 into shape.
+
+commit ff7edad0776603aa62b8f684db20c84bde75ea0b
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Nov 21 19:20:38 2007 +1100
+
+ nv40: Better teximage layout, probably not 100% correct still.
+
+ Gallium represents image layout by saying that each mipmap level has a number
+ of "face" images within it. However, nv40 represents them as "faces" that
+ have a number of mipmap levels. I'm not sure if the gallium representation
+ allows this, but I've made an attempt to match it as closely as possible.
+
+ CUBE/3D textures with mipmaps are probably broken, but untested currently.
+
+commit af1a38893946cf2fabd0fc6956efd07ef15b954b
+Merge: 0655cdc 5a6017d
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Nov 21 15:38:28 2007 +1100
+
+ Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1
+
+commit 93c98a466947570e0589b662df49095b2f4bc43c
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Nov 5 14:55:52 2007 -0800
+
+ [965] Replace 965 texture format code with common code.
+
+ The only functional difference should be that 965 now gets the optimization
+ where textures default to 16bpp when the screen is 16bpp.
+
+commit e962997429aceae8286e09c6ca07bcd52f588f05
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Nov 9 11:45:25 2007 -0800
+
+ [965] Remove dead exec vfmt code which was replaced by generic vbo code.
+
+commit 5a6017d496ccce94d7e3cf9a6cfe1db886dcc767
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Nov 20 08:36:06 2007 -0700
+
+ add PIPE_FORMAT_Z24_S8 support to softpipe patsh
+
+commit 0191570f024ba787799ca2bccd46549a8af74aa9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Nov 20 08:30:10 2007 -0700
+
+ initial support for PIPE_FORMAT_Z24_S8
+
+commit 827e72de7537e62cac9652f8b7344ff356de9bb1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 19 13:05:00 2007 -0700
+
+ clamp lambda to Min/MaxLod
+
+commit 0655cdcf48daecbe10ff8c16c443686a64848d1b
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Nov 20 22:34:55 2007 +1100
+
+ nv40: force reupload of all consts on vtxprog change
+
+commit 0d0349faff07df663eb49fe1a7209e1c6a28505b
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Nov 20 22:09:56 2007 +1100
+
+ nouveau: temporary workaround for dodgy buffer code
+
+commit b9b5f4b3c16f0b7bc8ae2d7cca03597e0029cb02
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Nov 20 21:13:33 2007 +1100
+
+ nv40: "rect" textures, anisotropic filtering
+
+commit 30837fd24f76131ef5ea77a1396c304d9fc87f4e
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Nov 20 20:56:47 2007 +1100
+
+ nv40: fix a couple of typos
+
+commit f01e305e989189fce146d26793e795aa83ff980d
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Nov 20 19:10:58 2007 +1100
+
+ nv40: use native Z24_S8 format for zeta buffer
+
+commit 85d626508ad9f8deef251058c12b03d46468a962
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Nov 20 19:09:47 2007 +1100
+
+ Add support for Z24_S8 to GL state tracker.
+
+commit 04fcee96b1ad9caf5b903a0ca72a1929ba2aae50
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Nov 20 19:08:33 2007 +1100
+
+ nv40: track pipe const id
+
+commit b4c813313a9f299ee79145d2b58377db1ecf8cd8
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Nov 20 15:34:26 2007 +1100
+
+ nv40: remove use of temps for KILP, implement KIL
+
+commit 060127af38bd3a732e64cf23f06cd4cef26ac67e
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Nov 20 13:22:11 2007 +1100
+
+ nouveau: update to latest header
+
+commit c4f9fbb57f6e941a3b896b52c69665f7dced2350
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 19 18:16:07 2007 -0700
+
+ optimize earlyz_quad(), add comments, remove unneeded #includes
+
+commit 0204cbb4f17ef24a3c1ae1e426d5da3dd3744f92
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 19 18:15:21 2007 -0700
+
+ optimize linear_interpolation(), perspective_interpolation() functions
+
+commit 3821d15e06a62231b4a946d097d1455d7b0c5834
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Nov 19 14:37:14 2007 -0800
+
+ [965] Add INTEL_DEBUG=fall debugging output.
+
+commit 27674c41352dc78ad79f67cebca16d7896cd2093
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Nov 19 15:26:14 2007 -0800
+
+ [965] Convert DBG macro to use FILE_DEBUG_FLAG like i915.
+
+commit 87373e30729b29d949ee71cf76d3cb9213ff1333
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 19 10:37:54 2007 -0700
+
+ fix some texture format assertions, etc
+
+commit 22a374fc3fdf97a9cc50e9fdc24049c997e6896e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 19 09:55:17 2007 -0700
+
+ fix out-of-bounds array index (ix=-1)
+
+commit 7f718f047676e88b660618784f256a96f7e8ed58
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sun Nov 18 18:20:20 2007 +0000
+
+ Implement early depth test.
+
+ Early depth test is enabled when depth test is enabled and
+ alpha test is disabled and fragment shader does not write
+ depth.
+ The early-z is implemented by moving the depth test stage
+ just before the fragment shader stage and prepending it
+ with an earlyz stage, introduced with this commit.
+ The earlyz stage prepares the quad->outputs.depth for
+ the following depth test stage by interpolating Z position,
+ just as the fragment shader would do.
+
+commit c7c6253169798658547ec6fc6eb9cdefc68b58d3
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Nov 18 23:08:33 2007 +1100
+
+ nouveau: m2mf fallback path for region copies.
+
+commit f940603037844b91ffed84c390bef0ee57ffe8cc
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Nov 18 22:12:34 2007 +1100
+
+ nv40: fix thinko == fix 3d textures
+
+commit a1d622190f2e7dba578d693845277d6f32504b09
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Nov 18 21:47:18 2007 +1100
+
+ nv40: support TXP again
+
+commit 3ab26c864cb8401e919de01772c419b0299811fb
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Nov 18 17:59:45 2007 +1100
+
+ nv40: some very rough guesses for get_paramf()
+
+commit bc449c28c6455276fb7b833491468b144efee236
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Nov 18 17:49:30 2007 +1100
+
+ nouveau: oops, when'd that disappear..
+
+commit 2f33b5b56e9221f2613b34cd1a1a9d82d5ed4303
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sun Nov 18 17:08:06 2007 +1100
+
+ nouveau: Very rough cut at gallium winsys + nv40 pipe driver.
+
+commit ca7f68a7cf25a51f382bba8c42d8c6ab7db57b5d
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat Nov 17 15:06:01 2007 +0000
+
+ Fix typo
+
+commit dec60d33b2570cf2bdce72a00a1539ee93133f91
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Nov 16 17:36:35 2007 +0000
+
+ Proper fence reference counting.
+
+commit f00a64999c197e6a96e65fd00f64224a6f22c9fa
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Nov 16 16:43:45 2007 -0800
+
+ [intel] Add 965 support to shared intel_blit.c
+
+ This requires that regions grow a marker of whether they are tiled or not,
+ because fence (surface) registers are ignored by the 965 2D engine.
+
+commit 9b461d4d029497dd6f71e60220849e1b66bb8cf5
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Nov 16 16:14:42 2007 -0800
+
+ [i915] Pass static region names in so debugging says more than "static region".
+
+commit 34a00276c7b2ee8ab88a56905352023f8a435a53
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 16 17:13:26 2007 -0700
+
+ more convenient debug code
+
+commit aa880bdfa05d8ff2486ef8266f93dea983b7c6fd
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 16 17:13:01 2007 -0700
+
+ Reimplement glRasterPos using the private 'draw' module.
+
+commit 6a1154bab0d296b60f889bdc13254568f4051104
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 16 17:12:22 2007 -0700
+
+ adjustments so st_feedback_draw_vbo() can be used for glRasterPos
+
+commit 5ef6803b7a902e7faa0e77408a43eabc408ff547
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Nov 16 16:05:11 2007 -0800
+
+ [intel] Move additional code to be shared from intel_context.h to intel/.
+
+commit 5cdf3972ded710b8638a0090ade4e3dd408e4845
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Nov 16 15:51:34 2007 -0800
+
+ [intel] Move intel_tex.h into place, forgotten in the previous commit.
+
+commit 8775bf475bcb3273681eec3067a5c893bbb06194
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Oct 25 15:37:13 2007 -0700
+
+ [965] Add batchbuffer decode for several more packets.
+
+commit a66413874dd50512daf10ce6254bbafd14b61ac7
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Nov 16 15:01:48 2007 -0800
+
+ [intel] Fix typos in intel_chipset.h macros.
+
+commit 3bd07ba0d4f759e3a17e2a5ed51086b44705a482
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Nov 16 14:56:26 2007 -0800
+
+ [i915] Add INTEL_DEBUG=sync debug flag to wait for fences after making them.
+
+commit f7e0513d700167a7eff39e40c855027096f1db1d
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Oct 25 11:31:15 2007 -0700
+
+ [i915] Reenable batchbuffer debug under INTEL_DEBUG=bat.
+
+commit 152aa6350d473128422991342c0a4509f4b37bc6
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Nov 15 14:00:17 2007 -0800
+
+ [intel] Add some doxygen notes on what the bufmgr_fake block members mean.
+
+commit c29e9e534ee2138d0fb26d5b1cf215bfcf5fc9ef
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Nov 16 14:45:26 2007 -0800
+
+ [intel] Add a simple relocation cache to the fake buffer manager.
+
+ This is required for 965 performance, as it avoids a lot of repeated data
+ uploads of the state caches due to surface offsets in them.
+
+commit 4bc625e378dfc290af89ccc353e8b90ae734ccd0
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Nov 16 14:38:09 2007 -0800
+
+ [intel] Assert against 0-sized buffers in dri_bufmgr_fake.c.
+
+ They shouldn't be created, and this often helps catch stupid issues.
+
+commit 00eb5635c6e0a41524c55f450a6a9ce8ba5d6be8
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Nov 16 14:20:24 2007 -0800
+
+ [intel] Add support for multiple levels of relocation in bufmgr_fake.
+
+ This is required for 965 support, which has relocations in other places than
+ just the batchbuffer.
+
+commit df3c530bedd0ee59e0ae5c18a916f78fd3f7559a
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Nov 9 16:43:21 2007 -0800
+
+ [i915] Push locking in intelClearWithTris down inside meta_draw_poly.
+
+ The lock coverage and checks for cliprects were unneeded since the batchbuffer
+ will have INTEL_BATCH_CLIPRECTS anyway. It appeared to be a leftover from
+ intelClearWithBlit.
+
+ This makes the locking requirements of i915 meta_draw_quad match i965
+ meta_draw_quad.
+
+commit 8211b200268888e3d853ab24a5e4ebabd713d2e8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 16 15:18:30 2007 -0700
+
+ added z/s keys to reset/step rotation
+
+commit fb69fe58a0a04779bbaebfa38f002c04a6bc9d85
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 16 15:17:37 2007 -0700
+
+ Only emit texcoords for enabled units. Enable/disable units with 0..7 keys.
+
+ Also, asst. clean-ups.
+
+commit 95f066fc54ed351a93350b99b584987b88524e71
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 16 10:39:08 2007 -0700
+
+ note problem with fragment coord Y orientation
+
+commit f361edae5d495254f4bc27473bf24b1ac7d5af06
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 16 09:31:25 2007 -0700
+
+ added a clip-bypass flag to rasterizer state
+
+commit 90dd0cb822f2fe14258c786e5c37da69472b7d17
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Nov 15 17:07:50 2007 +0000
+
+ Include fences in the i915simple winsys interface.
+
+commit 96ba38a450b77d56730fd293499cbeaa1f511507
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Thu Nov 15 01:13:16 2007 +0100
+
+ fix bogus assumption if ddx has set up surface reg for z buffer
+
+ this is wrong since even if ddx has not set up a surface reg to cover the z
+ buffer we should pretend it has on those rv100 chips since they presumably do
+ not do z buffer tiling if not using hyperz, so we can use linear addressing
+ just the same. Doesn't seem to fix #13080, but it's wrong anyway and the bug
+ almost certainly broke newer non-tcl chips.
+
+commit dab7c810e99e8fd2a7c8ba5cdbdc2fb6502647b3
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Thu Nov 15 00:52:38 2007 +0100
+
+ fix position invariant vertex programs for sw-tnl
+
+ do the same math as for fixed function pipe, including
+ user clip planes.
+ (mostly resurrected from the dead t_vb_arbprogram.c code)
+
+commit f6ab1347d6761fa63f217e0f651a531c5103fcc7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 12 08:02:09 2007 -0700
+
+ remove dependency on libGLU
+
+commit b87ce5be8268476cc814f6cd23eae7b5a2a6958a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 12 07:51:28 2007 -0700
+
+ add glw.pc.in to tarball list, remove from DEPEND_FILES
+
+commit 9bf5da906fee80ae51c6c20ba59e297f74d77bd9
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Mon Nov 12 10:20:26 2007 +0800
+
+ i965: correct the opcode of XY_SETUP_BLT_CMD. fix bug #12730
+
+commit 578641941f45c56deb382317a7ff7cad496679cf
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 9 17:02:12 2007 -0700
+
+ test that point/line/quad rendering hits the right pixels
+
+commit 9724dc1ac7ddd6f547a8aa6d57fa51ed1040db3a
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Nov 9 15:05:56 2007 -0800
+
+ [i915] Remove old frontbuffer rotation hack.
+
+ This was replaced in previous releases of xserver/dri/libGL by reporting the
+ damage to the frontbuffer so that the server and driver could handle it
+ appropriately.
+
+commit 7d4b89a2b35c30fd3f6991992e1f4e51556e80b3
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Nov 6 16:07:10 2007 -0800
+
+ [intel] By default, output batchbuffer decode to stderr like other debug info.
+
+commit 38c616260a4c14bf5a1d7831e6349c3e8817d14b
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Nov 8 14:49:37 2007 -0800
+
+ [intel] Initialize a depth buffer if the visual has depth 24 but no stencil.
+
+commit 77a5bcaff43df8d54e0e0ef833726e4b41d7eb36
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Nov 7 10:04:59 2007 -0800
+
+ [intel] Move over files that will be shared with 965-fbo work.
+
+commit 8b36166d295beb472ed7cedf1989894665233b98
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 9 08:55:49 2007 -0700
+
+ check for texture and renderbuffer in check_end_texture_render()
+
+commit 4e91ad8c0ec277d9df48ccdd8500bfb156073adc
+Author: Benno Schulenberg <bensberg@justemail.net>
+Date: Fri Nov 9 08:54:21 2007 -0700
+
+ code clean-ups, reformatting
+
+commit d540e8e9dfc18063f98a31cb3d078d183cf8fce6
+Author: Benno Schulenberg <bensberg@justemail.net>
+Date: Fri Nov 9 08:54:16 2007 -0700
+
+ remove commented-out code
+
+commit 193c85ec7a1aec44eebc67c6224fb6ecbb4607a5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 9 07:54:46 2007 -0700
+
+ comments, assertions
+
+commit 50a56cd755d17e4b754fc019badbda0f113c3065
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 9 07:54:28 2007 -0700
+
+ minor simplifcation in vertex_fetch()
+
+commit 7b3ab451a81c6558a00c9c19022e9493fd70b6d9
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Fri Nov 9 14:49:01 2007 +0100
+
+ recreate from changed gl_API.xml
+
+commit 86a4810b09097714942bf2b889e6c62357bba931
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Fri Nov 9 14:46:59 2007 +0100
+
+ alias ProgramEnvParameter4xyARB and ProgramParameter4xyNV (bug #12935)
+
+ these should be the same functions (as per spec).
+
+commit 33cf20bb458ed736d4404d4e3340a117c7d07f63
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Nov 9 09:21:40 2007 +0000
+
+ remove duplicate init func
+
+commit d34caddb4e62296f80792998ce0a42b07f919361
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Nov 8 17:45:34 2007 -0800
+
+ Prevent loss of vectorequiv information when an alias follows the function being aliased.
+
+commit 64469863212dcc41995c473032856096c4af12b3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 8 17:07:12 2007 -0700
+
+ Reorganize user-space vertex fields in draw_context into 'user' group.
+
+ This sub-struct collects the incoming user-provided data/pointers in one place.
+ Ex: draw->mapped_vbuffer becomes draw->user.vbuffer, etc.
+
+commit 990fe4c0bf735206c3cc7346d84adc782595bc3a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 8 16:55:29 2007 -0700
+
+ remove unneeded #includes, added assertion in draw_compute_vertex_size()
+
+commit ec0c5e59c2c3470cc59d25383854d12a76dca70a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 8 16:37:25 2007 -0700
+
+ Remove unneeded header, draw_prim.h
+
+commit 1574611faf9d9106cf167d277238b8c2662beabb
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 8 16:36:00 2007 -0700
+
+ Fix minor logic error in get_queued_prim() which caused flushing when there was still room in the prim queue.
+
+commit 48863cdd0a912f34d54bdc312485241a970a9fba
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 8 16:32:24 2007 -0700
+
+ new comments
+
+commit 03f4a487dd53f7d76830665e98fdbc9313d7c9b2
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 8 16:26:55 2007 -0700
+
+ remove unneeded #includes
+
+commit 03484d0aaefce84bc304c9d87f28edd77e10844a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 8 16:25:17 2007 -0700
+
+ comments, remove unneeded #includes
+
+commit f66fed57e65c518c751dc71ca26439ac76313ce9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 8 15:02:42 2007 -0700
+
+ For TGSI_TEXTURE_2D/RECT, need to provide 3 coords (STP) in case shadow compare mode is enabled.
+
+commit 3d8c05f7320151898dd224c1daaf3118e1f7ea34
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 8 15:01:13 2007 -0700
+
+ Implement shadow comparisons.
+
+commit a7be1c5ac25fe86c4b217625976af1eb37e48a25
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 8 15:00:11 2007 -0700
+
+ use pipe_surface_reference() in sp_tile_cache_set_surface()
+
+commit c0b27149458c1c70b8664cdedb2be842229f4359
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 8 14:40:29 2007 -0700
+
+ simplify depth_value(), return proper value for Z16 format
+
+commit cee1d1328aadc501935f60f32cc2c8f8199ff57c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 8 13:17:43 2007 -0700
+
+ fix bad width/height code in softpipe_clear()
+
+commit ae9fe0f981377cb25bc3fe6f23a6ee7e3b73d0c2
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 8 11:44:12 2007 -0700
+
+ Remove TGSI_OPCODE_TXP
+
+ Use TGSI_OPCODE_TEX with ExtDivide=TGSI_EXTSWIZZLE_W instead.
+
+commit fa63d6d32c93a5d8cd88c0c7d4a8ac4c1c1c1a9d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 8 11:39:42 2007 -0700
+
+ check for divide by W flag when translating TGSI_OPCODE_TEX (fixes projected textures)
+
+commit 02f7f46fa15c7d31d774c638684d4f5b81e360ec
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 8 11:38:50 2007 -0700
+
+ new init_renderbuffer_bits() helper
+
+commit 89b7b187dda26f7c7cc5e80360d49fa32f89b6fd
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 8 10:10:35 2007 -0700
+
+ tweak anisotropic filtering code
+
+commit 548eddc964c99e24f45ce88cd69f3d9af5aeab1a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 8 10:08:24 2007 -0700
+
+ enable PIPE_CAP_TEXTURE_SHADOW_MAP (but not quite working yet)
+
+commit dca71c40ea6ae70c6af380653df5b1073dfc9475
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 8 10:07:57 2007 -0700
+
+ remove translate_compare_func(), use i915_translate_compare_func()
+
+commit 8ce6d6b97e6e90451e7372fe3d94e7e31b0ea569
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 8 09:33:33 2007 -0700
+
+ move EXT_shadow_funcs assignment
+
+commit a736670219c67a45483f58b07ab9d55095efdbbd
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 8 09:33:13 2007 -0700
+
+ set sampler state for shadow test
+
+commit b18763141d651ae1112e80bb7ef3e813c8ce1d18
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 8 09:31:57 2007 -0700
+
+ Replace gl_stencil_func_to_sp() and gl_depth_func_to_sp() with st_compare_func_to_pipe()
+
+commit 2c1184626879cb349bcdc87eebb82da87f1a9f85
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 8 09:16:14 2007 -0700
+
+ Fix some issues hit when rendering to a depth-only renderbuffer (shadowtex).
+
+ Added 16bpp case to translate_depth_format().
+ Added framebuffer_size() to determine framebuffer size.
+
+commit 98c539d337fec8b4e21d9788b52ff551462e90d6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 8 09:14:43 2007 -0700
+
+ in check_end_texture_render(), test for presence of a renderbuffer and texobj
+
+commit e2593bb1632cee65af9ef5fe1f9b67928caa25a0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 8 08:52:36 2007 -0700
+
+ remove unneeded #include
+
+commit 44254b92480115e5c8a2d5cf78f99195c03701eb
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 8 08:22:42 2007 -0700
+
+ Added pipe->get_paramf() to query float limits.
+
+ So far max point size, line width, texture anistopy and lod bias.
+
+commit 95128c1d4c88238a79ead6e36215a646f83bbdd3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 8 07:58:53 2007 -0700
+
+ check for fence==NULL in intel_batchbuffer_finish(), fixes glxinfo crash on exit
+
+commit 1dfec88e72c92647b779286bbc8e6ee313d6f1f6
+Author: Benno Schulenberg <bensberg@justemail.net>
+Date: Thu Nov 8 07:34:20 2007 -0700
+
+ fix Unichrome/Blender crash, bug 13142
+
+commit 3871d2882a5e3ae8aafe3206603e095cc90761b5
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Nov 8 13:10:18 2007 +0100
+
+ Rename struct field 'private' to 'priv'.
+
+ This broke the LLVM build because 'private' is a C++ keyword.
+
+commit 6400658d7154f33b8fe2e7d638ebb317ac6bfff8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Nov 7 17:29:14 2007 -0700
+
+ fix warning
+
+commit 74df1f4adbbc4fe6027265625cd248c3add154f5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Nov 7 17:17:32 2007 -0700
+
+ update flush/fence comments for i915_flush()
+
+commit 3fe055ec9218a8745d9a53f75f4abd4760fcce28
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Nov 7 17:16:47 2007 -0700
+
+ Remove winsys->wait_idle(), subsumed by pipe->flush().
+
+ Connect intel_i915_batch_finish() into i915_winsys, just like intel_i915_batch_flush().
+ Call i915_winsys->batch_finish() in response to pipe->flush(PIPE_FLUSH_WAIT).
+ Now all the batchbuffer/fence code is in one place and a little cleaner.
+
+commit ae44a81d1bd40852a7cea9b8025dfa3821adc785
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Nov 7 16:59:37 2007 -0700
+
+ New PIPE_FLUSH_WAIT flag for pipe->flush().
+
+ The state tracker doesn't have to directly call winsys->wait_idle() anymore.
+ glFlush and glFinish both go through pipe->flush() now.
+
+commit 10c62bf0683437672c83339138a6802d56aeca8f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Nov 7 16:07:17 2007 -0700
+
+ Remove context dependencies in winsys layer.
+
+ The winsys object is now per-screen and shared by multiple contexts.
+ The regionPool is now part of the i915 winsys layer.
+ The winsys wait_idle() and flush_frontbuffer() funcs will get more attention...
+
+commit 03cfeb31af7834c2b2701ad25ec39f8375df6c96
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Nov 7 15:57:19 2007 -0700
+
+ enable GL_ARB/NV_point_sprite together
+
+commit ed6e591270a583956c6407ae6536c3110a86397a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Nov 7 15:22:31 2007 -0700
+
+ cosmetic fix to driFenceFinish() call
+
+commit 51653cd551aeed9b1e5b3edd17172c8906d989e5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Nov 7 15:22:07 2007 -0700
+
+ replace magic number 3 with DRM_FENCE_TYPE_EXE | DRM_I915_FENCE_TYPE_RW in driFenceFinish() call
+
+commit 0852cf8611dd77b564db1df9b61e035d9ea4b280
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Nov 7 12:06:50 2007 -0700
+
+ just reorder a few members of pipe_winsys, update comments
+
+commit c712d092a178096d8d95e58bd1bd20a33045cd7b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Nov 7 11:59:04 2007 -0700
+
+ remove DriverCtx=intel assigment/hack
+
+commit 2611703b363ced1ad267d120ed89677299a36d9c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Nov 7 11:44:48 2007 -0700
+
+ Pass winsys as a parameter to intel_create_i915simple(), intel_create_softpipe()
+
+commit f40f45ceea7a827059b7b533f2160f98774c8a77
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Nov 7 10:39:30 2007 -0700
+
+ var renaming: s/sws/winsys/
+
+commit 237429aa3b8c2025e11aaa23d04e7107cf6a838f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Nov 7 10:34:18 2007 -0700
+
+ more dead code removal
+
+commit 7a9c129a0a171bf0b52f477cfca72591c21ac09a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Nov 7 14:41:14 2007 -0700
+
+ re-enable PIPE_FORMAT_U_Z32 support
+
+commit fc6172bc9abfc24836c6701f3bfcd791907ca9a7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Nov 7 14:41:01 2007 -0700
+
+ better depth buffer selection
+
+commit 187b631b6b3c504fa334e33f4b1af433b6232bac
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Nov 7 14:40:38 2007 -0700
+
+ Float->uint conversion for PIPE_FORMAT_U_Z32 resulted in overflow in depth_value(). Special-case it.
+
+commit 7e884c6f86621ca07ed31fc7ee3f4d891f0873da
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Nov 7 09:54:02 2007 -0700
+
+ disable/remove dead code
+
+commit 182e861eeae479c85191fcd6ccb41bf10f43507b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Nov 7 09:53:25 2007 -0700
+
+ Disable the call to driBOReference() in i915_update_texture()
+
+ It doesn't seem to be needed and disabling it fixes a big memory leak with
+ some programs like xdemos/wincopy.c
+
+commit 5d9021554ee78699933ddf79e5231cded6f9c641
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Nov 7 08:57:56 2007 -0700
+
+ redo xm_surface_release() to match i915
+
+commit c3e7bb4127b74db0037d5a25340793273f5c3183
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Nov 7 08:21:14 2007 -0700
+
+ fix bad varname
+
+commit 601a9ea9a79603763651db8dd93351691594b444
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Nov 7 08:18:50 2007 -0700
+
+ init glsl functions in st_init_driver_functions()
+
+commit 6c4447e6a8ecfcfb094ab2ad8b7371dfa2b7d7bb
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Nov 7 08:18:34 2007 -0700
+
+ fix typos, re-enable some extensions to get back to GL 2.1 level
+
+commit 7d1a04e499564212a2a9aace12b05f424a357d3f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Nov 7 08:05:09 2007 -0700
+
+ Add winsys->surface_release() to complement winsys->surface_alloc().
+
+ pipe_surface now has a pointer to the winsys which create/owns the surface.
+ This allows clean surface deallocation w/out a rendering context.
+
+commit 52236661653169140d07a500facd65185b6b3666
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Nov 7 13:21:01 2007 +0000
+
+ Check the right ammount of free space in vertex buffer.
+
+commit 3e22180fc893bb09bf6b990bc4e858fd85f522ab
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Nov 7 13:07:20 2007 +0000
+
+ Reset temporary vertices ids.
+
+commit c28fdf309607ec2994ef9a1109931a8389854300
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Nov 7 12:08:19 2007 +0000
+
+ Use a consistent number to identify undefined vertices.
+
+commit 3922baede207c64ce07ec2ac19ffab04f7035483
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Nov 7 11:04:02 2007 +0000
+
+ Reuse the vertex buffer until the vertex size changes.
+
+commit f39a520892259bc3ff13b47423fb86cd7714c70a
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Nov 6 19:16:40 2007 +0000
+
+ Track hardware vertex buffer state changes.
+
+commit 85c7683f1f5f1d0d9e95eb59270705a2975fa437
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Nov 6 17:34:32 2007 -0700
+
+ Improved logic for setting up depth/stencil buffers in st_create_framebuffer()
+
+commit b0e7da86abba5fc9040332a4b8ca81628a343956
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Nov 6 17:24:45 2007 -0700
+
+ restore dispatch/extension code (without, dynamic entrypoints aren't added)
+
+commit a895910d8813a56d8fe3861e97c9b9a2a6b01589
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Nov 6 16:40:05 2007 -0700
+
+ disable PIPE_FORMAT_U_Z32, doesn't work ATM
+
+commit 2b0d1b6eda6b2a6c2df66a1e1a0dfd3aa762ece5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Nov 6 15:19:36 2007 -0700
+
+ Update xmesa_is_format_supported()
+
+commit 3470d819fd7e3d3dd259d6fb2d4b963a514f0520
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Nov 6 15:17:20 2007 -0700
+
+ realloc surface if format changes, remove dead code
+
+commit a151ad21bb5f5b52f1c1f28f2f09d5c5f5915028
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Nov 6 15:16:42 2007 -0700
+
+ rename xmesa_create_softpipe() xmesa_create_context()
+
+commit 54b43da7e9ae08c9078ba2ca4f8c242dd6aa3bff
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Nov 6 15:16:22 2007 -0700
+
+ rename xmesa_create_softpipe() xmesa_create_context()
+
+commit 5fb6ebf85d778aa68df96ccf71fcaba8cf691b32
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Nov 6 15:15:49 2007 -0700
+
+ disable finish_or_flush() for now
+
+commit d35cb1a121c272bf5be29fc62d59f4f71724201a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Nov 6 14:59:17 2007 -0700
+
+ remove dead code in softpipe_is_format_supported()
+
+commit db01ff6a19fb2365d4185321654bdfa09dae653f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Nov 6 14:39:53 2007 -0700
+
+ document flags param to region_alloc()
+
+commit 37624458e4e35569d9ca1d0452114a4c976682ec
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Nov 6 10:25:56 2007 -0700
+
+ remove more dependencies on Mesa types/functions
+
+commit 4cf56a418399c142335e0cab3fe3b8e54bfc703c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Nov 6 10:19:27 2007 -0700
+
+ implement context sharing code
+
+commit 5e24e3c4266779704fc30737ac5e005ba71fd797
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Nov 6 10:14:53 2007 -0700
+
+ code clean-up
+
+commit ea286d4df270897ca2a8f9e5e41b82cea419bdae
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Nov 6 13:58:25 2007 -0700
+
+ need to call pipe->flush() in finish_or_flush()
+
+commit da3994988b95d145a98cd9130d719b36c0940406
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Nov 6 13:53:32 2007 -0700
+
+ init luminance/intensity_bits to zero in st_get_format_info()
+
+commit fa44b74f4ec1a51fcbe656c5da94b0635defa992
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Nov 6 13:52:57 2007 -0700
+
+ define CLIP_TILE as in sp_surface.c
+
+commit 0862df21545df4cac56f0c182e8818573131f951
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Nov 6 13:42:37 2007 -0700
+
+ remove debug abort() call
+
+commit 2e784848e68c0c5252631e6f2a6b021fe008f53a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Nov 6 13:39:02 2007 -0700
+
+ Call xmesa_init_driver_functions() to install xmesa_viewport() function.
+
+ Fixes failed assertion in glxgears.
+
+commit 26eb608a352ec017b534579e1c81c2d1fedf3d1b
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Nov 6 17:38:47 2007 +0000
+
+ Handle the corner case of 24bit depth buffer with 0bit stencil buffer.
+
+commit 286ce2719395485ffafb38097fa2551b066acd96
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Tue Nov 6 14:34:15 2007 -0500
+
+ Fix compilation for !GLX_DIRECT_RENDERING.
+
+commit 001de0ac4e9ccd5c440dca4a2994deca668a2d9f
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Tue Nov 6 13:32:04 2007 -0500
+
+ Remove a couple of "deprecated" fields from __GLXcontextRec.
+
+ The __GLXcontextRec struct is internal to the libGL implementation. No point
+ in "deprecating", just get rid of it.
+
+commit 866d271aa848d33dfded4989c48ba46108d6cceb
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Tue Nov 6 11:56:24 2007 -0500
+
+ Don't return 0 in a void function.
+
+commit 7b358e8ea9d894470097824b3dda3d60ef232abe
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue Nov 6 19:00:23 2007 +0100
+
+ Fix build error: dereferencing pointer to incomplete type
+
+commit badc061a65b8e8b3d92eb4a45bd9eb4191eaaf62
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue Nov 6 18:24:46 2007 +0100
+
+ r200: Re-expose SetTexOffset functionality.
+
+ This seems to have been mismerged with the DRI interface changes.
+
+commit 5a322bc1b4b6d64ba2994e2b32abc0fdb466a81d
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue Nov 6 18:22:42 2007 +0100
+
+ r200: Fix SetTexOffset format for 16 bit pixmaps/textures.
+
+ Use symbolic array indices to clarify.
+
+commit eef6783537c3bf3a454b2c56b1cf71d0c73e45ee
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Nov 6 10:10:50 2007 -0700
+
+ Remove use of Mesa/GL types/functions (s/GLuint/uint/ etc)
+
+commit c80d17b68dfbee091b43588f19acc2e8bf1e1522
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Nov 6 10:07:31 2007 -0700
+
+ don't include mtypes.h
+
+commit 0800342296fb9eeb6bac8f24965441dff0e71812
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Nov 6 10:05:01 2007 -0700
+
+ Remove last of core Mesa dependencies in intel_swapbuffers.c
+
+ Use the "dummyContext" pointer (for now) instead of GET_CURRENT_CONTEXT().
+
+commit e2feb80a90f3e9300c70a4a4eb3e966131f5c313
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Nov 6 09:41:45 2007 -0700
+
+ Remove pipe->max_texture_size(), use get_param() instead.
+
+ Also, in st_init_limits(), clamp driver's values against Mesa's internal limits.
+
+commit 559ae0ab1b68682716b39d93402a6b9e90c88127
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Tue Nov 6 11:22:59 2007 -0500
+
+ Pass the visual id to XF86DRICreateContextWithConfig(), not fbconfig id.
+
+commit 24ac9c30ebfd2edabdd21bfc9cf4e9db21cd10df
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Nov 6 08:53:25 2007 -0700
+
+ check for __i386__ or __386__ instead of USE_X86_ASM
+
+commit a06dcfd75b1591bc1db568798f82be721dcc807e
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Tue Nov 6 14:43:20 2007 +0000
+
+ Allow custom pipe driver buffer usage flags.
+
+commit fa1a66d7fc4fd7854de7958a48e4992edd154489
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Nov 5 18:04:35 2007 +0000
+
+ Supply buffer usage hints to winsys.
+
+ Winsys driver needs some hints in order to allocate the appropriate kind of
+ memory for the buffer.
+
+commit 4f79dbd5aa6b8a955ac9dcc43cf0852acd89a320
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue Nov 6 10:17:59 2007 +0100
+
+ Convert format bitfields to shifts and masks.
+
+ The memory layout of bitfields depends on the ABI.
+
+commit 0ab2c84ce95cea5c72aa4e9680862bf82d31259d
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue Nov 6 10:16:34 2007 +0100
+
+ Fix non-x86 build.
+
+commit c6499a741c99394e81d1d86ffd066f3d9749875c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 5 18:04:30 2007 -0700
+
+ Determine GL extensions/limits by making pipe queries.
+
+ The state tracker calls pipe->get_param() to determine the GL limits and
+ which OpenGL extensions are supported.
+ This is an initial implementation that'll probably change...
+
+commit 01e716553001d57462e75aa7d76d05df92da8e87
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 5 17:15:12 2007 -0700
+
+ clean ups
+
+commit d31d93f4776fd19738a607eda337f9d3e88c5c93
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 5 17:10:12 2007 -0700
+
+ change includes, minor simplification in intelDisplaySurface()
+
+commit cadaa4330e9472be07d07fc994dfb9c5107202d7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 5 16:45:49 2007 -0700
+
+ include mtypes.h (temporary)
+
+commit ced9c0f8c4246c055aee85f428af705f232702bc
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 5 16:38:07 2007 -0700
+
+ don't include mtypes.h in st_public.h
+
+commit 9b0f71e37f2ed129997b247d58f8d5e9004f4935
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 5 16:34:47 2007 -0700
+
+ move st_invalidate_state() prototype to st_context.h
+
+commit 91564eedcc5e98e28d749267ac81ffd4082b4147
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 5 16:15:43 2007 -0700
+
+ Remove some temporary state tracker context/framebuffer_create functions.
+
+commit e39f1b4cbea6d41dc09430bd3d811cb7bbdea5f8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 5 15:59:55 2007 -0700
+
+ Update xlib driver to use newer state tracker context/framebuffer functions.
+
+ XMesaContext has an st_context * which contains a mesa context.
+
+commit 9a563d5e696a7c8fc09f7da5a0d33a9675b00e4c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 5 15:42:55 2007 -0700
+
+ no-op glCopyPixels if width or height is zero
+
+commit cd59600c7b6cba42baba208e74d783fbade93356
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Mon Nov 5 22:05:16 2007 +0000
+
+ Renamed the R300_VAP_UNKNOWN_221C to R300_VAP_CLIP_CNTL.
+
+commit 35d28ce12e59526cb66e82d7d5469e50196a8ccd
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sun Nov 4 15:02:55 2007 +1100
+
+ r300: initial user clipping for TCL paths
+
+ I've no idea if this code might break something or how it should interact
+ with vertex shaders, it makes the clip demo work for me
+
+commit 8e66c3d7552bf33163bb8ac2a6d3963bad1b0eb4
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Mon Nov 5 17:02:03 2007 -0500
+
+ Lookup visual in visual list, not fbconfig list.
+
+ Also, handle visual not found error case by throwing X error.
+
+commit e2c2df5c23fe718d319cf59ba91eea7abc0455b6
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Mon Nov 5 15:42:55 2007 -0500
+
+ Filter both visuals and fbconfigs against driver supported configs.
+
+commit c9ce3e8fd2a8db93c833bfd9a06d31843145657b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 5 14:41:18 2007 -0700
+
+ Check for NULL VB->EdgeFlag array.
+
+ There might be a bug elsewhere, but this is a simple work-around for now.
+ See bug 12614
+
+commit a49e0726e3c3cfbf0d784ba4e9a485af02a7b4dd
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 5 14:38:27 2007 -0700
+
+ fix mmx code (bug 12614)
+
+commit f4d51d8923db9fd71e5f9fe965769625bd0d1240
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 5 13:37:12 2007 -0700
+
+ asst clean-ups
+
+commit e4bad270998e0b97bd97e8e38b08826ed45e2f5e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 5 13:18:47 2007 -0700
+
+ remove some GL types, mesa includes
+
+commit 3f80be3cb5dcd1378316c0330446a72a2095d9ca
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 5 11:59:09 2007 -0700
+
+ move intel_context_mesa() into intel_swapbuffers.c (the only place it's used now)
+
+commit 6ad4656cc475b170f419627ff6c4a43ebab09b7c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 5 11:54:36 2007 -0700
+
+ Move driBatchPoolInit() into new intel_batchpool.h header.
+
+ Note that intel_batchpool.[ch] have no intel-specific dependencies at this poi
+ Maybe rename files for re-use in the future.
+
+commit b17675d70976bd40ff58ea49226292f49cffbe13
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 5 11:53:56 2007 -0700
+
+ Move driBatchPoolInit() into new intel_batchpool.h header.
+
+ Note that intel_batchpool.[ch] have no intel-specific dependencies at this point.
+ Maybe rename files for re-use in the future.
+
+commit adf3761fbd193e4467b0637340709e57bdae0111
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 5 11:48:54 2007 -0700
+
+ remove intelScreenPrivate typedef and use cast wrapper function to be like intel_context and intel_framebuffer
+
+commit 736baf22e98a28ed714c31650d1cee78b5b381f4
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 5 11:38:46 2007 -0700
+
+ remove driScrnPriv field from intel_screen
+
+commit cd360b7d60721883390215ac33623636a222cde2
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 5 11:35:43 2007 -0700
+
+ comments
+
+commit 1bbc86e6514a80cba6d48b8dc8615e7dc1be7afa
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 5 11:17:40 2007 -0700
+
+ fix typo, formatting
+
+commit f8f1c4a02205da3fb95d68049c9a9cfd6b0c751d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 5 11:09:19 2007 -0700
+
+ remove unused intelScreen->texPool
+
+commit 6a95fe87350ed504cdf47dea2331f679db1ba3b4
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 5 10:16:28 2007 -0700
+
+ add missing free() in intelDestroyContext
+
+commit 897428c4265de7212ee1fc345e8689b775b287e8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 5 10:14:24 2007 -0700
+
+ comments, clean-ups, assertions
+
+commit 413688415ca14b8b58922c99d450507a012cd42d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 5 10:04:23 2007 -0700
+
+ rewrite/simplify intelCopySubBuffer()
+
+commit 81c1993daa57ef0fc1fc6993aa832f3b4005154b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 5 10:01:51 2007 -0700
+
+ rewrite/simplify intelSwapBuffers()
+
+commit 74866737db739bef8b7593d5060e4f80d91ff33a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 5 09:59:34 2007 -0700
+
+ added st_notify_swapbuffers()
+
+commit 9fc03fed01e3988f6cf07bb9c041328232b7bacf
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 5 09:53:02 2007 -0700
+
+ replace get_color_surface() with st_get_framebuffer_surface()
+
+commit 616bf3556939d94852b1dfe73f92ef94b10782c4
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 5 09:52:14 2007 -0700
+
+ added st_get_framebuffer_surface() and ST_SURFACE_x tokens
+
+commit f221ea658b8aabefb419ad19826906a3afa3e806
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 5 09:35:31 2007 -0700
+
+ comments, tweaks
+
+commit 29c1fdd0ce57a7a69e4d90eaacff7102b69bca9c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 5 09:28:28 2007 -0700
+
+ better use of intel_context() cast wrappers
+
+commit 2edc87eb3d7283274c3d0714e90078736f8d985e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 5 09:24:03 2007 -0700
+
+ clean-up/re-org of intel_framebuffer code
+
+commit 1f17d845ff7a221a01de721aed81754175ab0a54
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 5 09:09:11 2007 -0700
+
+ remove unused intel_fb decls, code
+
+commit 32f05c35d2814269dfd72c020c06e2cbcba68ad2
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 5 09:07:35 2007 -0700
+
+ move intelCopySubBuffer() decl
+
+commit c1933ed23fa72e0d5bffd156c5c52558cc6b3190
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 5 09:04:37 2007 -0700
+
+ remove dead code in intelCreateBuffer()
+
+commit bac76b71f1fed705fb5ee68bec88b82ad74de920
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 5 09:02:54 2007 -0700
+
+ remove intel_context cliprect code
+
+commit 1cb81470b78f22708e9b83a40acb470744575ff3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 5 09:00:18 2007 -0700
+
+ remove unused var
+
+commit 5d8e3833801d161e47b05f3eed13f0584f156d2e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 5 08:58:45 2007 -0700
+
+ remove cliprect code
+
+commit 4e0b38958d5227a20653fb37da8f7621afe6402c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 5 08:47:48 2007 -0700
+
+ remove mesa includes
+
+commit 131330994aed8ff63360a9fb54d498a3d3641e5f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 5 08:42:18 2007 -0700
+
+ use st_unreference_framebuffer()
+
+commit 44dfed15e0c5113d42d781e3937a2f619284454a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Nov 5 08:41:45 2007 -0700
+
+ added st_unreference_framebuffer()
+
+commit fc73b216065325fc4ce2c500be5a5fa2072db0b3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Nov 3 10:41:03 2007 -0600
+
+ rename intelWindowMoved() to intelUpdateWindowSize()
+
+commit 02a1c8f5690a82dc77db7af381d1b6e4aea67e29
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Nov 3 10:35:39 2007 -0600
+
+ pass __DRIdrawablePrivate to intelWindowMoved(), rather than context ptr
+
+commit cb62b64e33278f599fca62d928433f6b6989317e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Nov 3 10:26:19 2007 -0600
+
+ simplify the window moved/resized code a bit
+
+commit ed8774e920706acb3445471833709dcaa691cb0c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Nov 3 10:25:59 2007 -0600
+
+ set stfb->Base.Initialized
+
+commit e9d2156edfba222d6aa56d94c041fc2017c240fd
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Nov 3 10:19:38 2007 -0600
+
+ Remove intelUpdateFramebufferSize(), use st_resize_framebuffer().
+
+commit 3d14b2c01e12823877ae9270c7a79da65681f25c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Nov 3 10:19:10 2007 -0600
+
+ added st_resize_framebuffer()
+
+commit ecb41279d6c9f7fd0b2dc44309fd71fad5db33a9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Nov 3 10:04:24 2007 -0600
+
+ use st_make_current()
+
+commit c4a9c49cdb6740da7a7bda8804ffe04fe04c0b0e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Nov 3 09:52:27 2007 -0600
+
+ restore dummy card_extensions extensions array, needed for dispatch setup
+
+commit 2085cc9ac7cc2efb681f8ac824686390e83e2475
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Nov 3 09:39:31 2007 -0600
+
+ use st_create_framebuffer()
+
+commit e49efdab4a05d41f4b2f0bf989cdf036ab25879c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Nov 3 09:39:12 2007 -0600
+
+ st_create_framebuffer() working
+
+commit bffed01e272b9a848aa7980ae72ae291d2677d05
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 2 13:25:44 2007 -0600
+
+ move st_create_framebuffer() to new st_framebuffer.c file
+
+commit 01b71b8f7a77b3eb5ccc009342c1ebdc7b3dda80
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 2 13:25:13 2007 -0600
+
+ new file for st_framebuffer stuff
+
+commit 794e03d3926614036d285f2033d8708c7667814a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 2 13:22:22 2007 -0600
+
+ Introduce st_framebuffer type and st_create_framebuffer(), st_make_current()
+
+commit 7edf6304687a05f34e3f1e471451f54e7c8a5d47
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 2 13:16:03 2007 -0600
+
+ more dead code removal, clean-up
+
+commit 5ff1ff2b551821ccd90e85c4b8e7f32f60177adc
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 2 13:10:31 2007 -0600
+
+ move intelScreenContext() to intel_swapbuffers.c and make static
+
+commit 070aad3a9d8433fb29f687f500ed6ba2336ab72f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 2 13:08:20 2007 -0600
+
+ remove mesa extension code
+
+commit 35924a34e5a405bc84459229abb477b2cb01409b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 2 13:06:40 2007 -0600
+
+ remove old mesa context creation code
+
+commit e8f1006081f9cf638d9f3869da24f6c96d227eba
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 2 12:53:46 2007 -0600
+
+ remove dead code, unnecessary #includes, etc
+
+commit 798658cc81ca0d0ecb6d5c0aa9539e4d0996ec6d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 2 12:48:39 2007 -0600
+
+ remove INTEL_FIREVERTICES
+
+commit cf30d377ac9b4242e5ba8d617e6d594105db0709
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 2 12:46:19 2007 -0600
+
+ remove refcount, fboRect fields
+
+commit ca96ee421a40b8ab640a717baf12542869f1264a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 2 12:44:42 2007 -0600
+
+ remove intel->pipe field
+
+commit a50d2feadd345c492a9a4710145f19df05e45edc
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 2 12:44:25 2007 -0600
+
+ remove some struct decls
+
+commit 0452eb9086ff24508099deae9f98885f918c76db
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 2 12:33:33 2007 -0600
+
+ s/intelDisplayBuffer/intelDisplaySurface
+
+commit d04938331a15a94682ee7909de0f073314171cde
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 2 12:31:56 2007 -0600
+
+ simplify intelSwapBuffers()
+
+commit d083cbb4db3801f82f6bbcf0a6306013498b5a3a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 2 12:31:39 2007 -0600
+
+ remove useless code
+
+commit 2beb872e3bac49c9e132cbab0548d4276531c123
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 2 12:28:39 2007 -0600
+
+ remove disabled vblank/sync code
+
+commit 488326b0b9c559511e3282f4dee6027db6fcae2f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 2 12:26:16 2007 -0600
+
+ disable vblank/sync code
+
+commit a5df4239c2a1b91e36e7d1191c19a078e6b74a22
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 2 12:22:43 2007 -0600
+
+ added check for fb==NULL
+
+commit 29feee2c02a7a558a5448434904991c1dd6eb19f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 2 12:17:13 2007 -0600
+
+ remove dead pageflip code
+
+commit b8897d7481bb27974ccaedbe96d96fce77c1cfc8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 2 12:14:01 2007 -0600
+
+ disable page flip code
+
+commit 0ff447e7c4ae26a1c0ae6f92265dee4561816832
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 2 12:11:40 2007 -0600
+
+ include context.h
+
+commit 156e490699144bc6f3a8706a3a1b2d1f3c35f029
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 2 11:44:07 2007 -0600
+
+ replace IntelFlush(), FLUSH_VERTICES(), etc. with st_flush() call
+
+commit 08f88cbbc9a5da5667d02d5eeafac79d2de1ee95
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 2 11:43:33 2007 -0600
+
+ call FLUSH_VERTICES() in st_flush()
+
+commit 4019277f09448a0f7ffb7dd620e9bc5613f9b758
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 2 11:41:32 2007 -0600
+
+ public st_flush()
+
+commit f6427e35572f857567f4459ad0501babbecef2f7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 2 11:31:39 2007 -0600
+
+ remove extern decls for non-existant functions
+
+commit 09771f8c708ceab5956a8caf1483c5d3d30f9020
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 2 11:28:02 2007 -0600
+
+ #include clean-ups, fixes
+
+commit 381b68d80413dba7e88f03057f720c0fe2b0ac2e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 2 11:27:39 2007 -0600
+
+ comment about renderbuffers vs. surfaces
+
+commit 00a133ad19a64e15c78314157a1a7102529441b3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 2 11:27:23 2007 -0600
+
+ remove some dead code, clean-ups
+
+commit 17d044ec019039e1470004a213584c014ba30c62
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Nov 2 10:58:38 2007 -0600
+
+ more clean-up in intelDisplayBuffer()
+
+commit db2ec4502e2518d40c0872335a6b44956a73853a
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Mon Nov 5 10:03:26 2007 +0100
+
+ Fix GLX build of xserver master branch.
+
+ The internal CreatePixmap API has been extended.
+
+commit fda91cfa4b7b7868172a563da49cb0d7ba6cf5e0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sun Nov 4 16:38:36 2007 -0700
+
+ Check if the user/texenvprogram is just a pass-through program and skip program concatenation.
+
+commit 417cb2c1829f2119f6674987edac09c61d633b45
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Nov 3 08:50:55 2007 -0600
+
+ Fix mem leak in SSE code generation path (Michel Dänzer) and don't crash if _mesa_exec_malloc() returns NULL.
+
+ (picked from mesa_7_0_branch)
+
+commit d9276cbb29807cbca5d7be9a0cedfeb1dcbfbd9c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Nov 3 08:46:59 2007 -0600
+
+ fix typo
+
+commit db9514394996065d44c6b8c870085727849999d2
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sat Nov 3 19:35:39 2007 +1100
+
+ r300: move more vap registers out of non tcl paths
+
+commit bf4feb73936d703d18d83df8beb1acd488d0b60d
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sat Nov 3 19:20:22 2007 +1100
+
+ r300: fix misnumber register
+
+commit 59efbb412fa0552a104283e7f4c1d721f42c6148
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sat Nov 3 18:58:46 2007 +1100
+
+ r300: fix texwrap border color
+
+commit 7a7899a2476592e846b908a557a738a49fa9a948
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat Nov 3 02:00:28 2007 +0000
+
+ Allow batch buffer debugging without calling i915_winsys->batch_start so often.
+
+commit 5fa6ea68586e906a984291dd4c20f664924157eb
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat Nov 3 01:31:47 2007 +0000
+
+ Do something sensible when failed to reserve space in the batch buffer.
+
+commit 5c1606a2b3e951c32f028e0b328e6c06e9424e28
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Sat Nov 3 01:08:15 2007 +0000
+
+ Detail i915 winsys interface comments.
+
+commit 3c393b8df302493c4f48a750bfd7bd1c6aadbabb
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Nov 1 18:14:44 2007 +0000
+
+ Render primitives using indirect vertices in a vertex buffer.
+
+commit 16fe6a0f2d53e63884dcecaf8ba61e0105a92c99
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Fri Nov 2 12:18:02 2007 -0400
+
+ Cleanups.
+
+ Remove some debugging output and try to make sure that
+ Mesa compiles when configured without LLVM
+
+commit a2debc2704b9126d92d947c0407a0fbd709ab932
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Fri Nov 2 12:09:23 2007 -0400
+
+ Implement sin opcode.
+
+ Seems to have similar rounding border problems as cos.
+
+commit e0e91e7ceb50f0e23311788559a8547dd24c7a80
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Fri Nov 2 12:05:00 2007 -0400
+
+ Implement scs opcode
+
+commit 5c7bfb06e087ce4162590359ad75d1fca98f3549
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Fri Nov 2 11:47:09 2007 -0400
+
+ Implement COS and CMP opcode.
+
+ There's some weird rounding issue with COS that I can't figure
+ out.
+
+commit cf363ba30746ee0fd46b97986ea9fd753e093039
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Fri Nov 2 07:02:15 2007 -0400
+
+ Add debugging ifdefs to make it less verbose
+
+commit 45003b0bb920fe701304acb1599185f4dc92c89b
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu Nov 1 14:00:25 2007 -0400
+
+ Get fragment shaders working on top of LLVM.
+
+ Redo the entry points, get the output propagation correctly,
+ interpolate the inputs before feeding into llvm for now.
+
+commit 2af2f7e419c1b6d796822a049f019afe3dfc6021
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu Nov 1 05:53:44 2007 -0400
+
+ Change the fragment shader signature to better match actual
+ arguments that we need there.
+
+commit 25d91c23ff834a129e537891ec3ad63197d37da5
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Oct 31 12:23:45 2007 -0400
+
+ Add basic entry points for fragment shaders.
+
+commit 7ff0df6c2bf11a36bc6101e361484bde57595a79
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Oct 31 06:51:19 2007 -0400
+
+ Renaming llvmtgsi to gallivm. Taking first steps on the way to supporting
+ fragment shaders through llvm.
+
+commit d8e66aca8443c6802ecd8f1a353024ed1d0f32c3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 1 18:37:00 2007 -0600
+
+ Start re-working SwapBuffers.
+
+ intelCopyBuffer() is now intelDisplayBuffer(): it displays the given surface
+ in the on-screen window.
+ Added a pipe_surface parameter to winsys->flush_frontbuffer().
+ Front buffer rendering/flushing actually works now.
+ But, we should only allocate the front surface on demand...
+
+commit 28bed6d355e7ea3acbc4dbef0490e269d560f89e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 1 18:01:23 2007 -0600
+
+ Use new state tracker context/destroy funcs with wrap Mesa context.
+
+commit 80d2658e129d097f30c84fe57e07daeb81bcc790
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 1 17:46:04 2007 -0600
+
+ Sketch out new create/destroy context functions which create/wrap a Mesa context.
+
+commit 7cafaff0ebb7c3fb7461573442aa44b354682d81
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 1 14:51:37 2007 -0600
+
+ disable the driverContext assertions
+
+commit 64988ff7fe4deb2d439bddf4475bec6c2fbf1b8e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 1 14:51:08 2007 -0600
+
+ silence the finalize_mipmap_tree msg
+
+commit 15c565b018f90df80493eaa0e713f1cf3eb10a38
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 1 14:20:42 2007 -0600
+
+ don't call _mesa_init_driver_functions()
+
+commit ca123a69faa377571c3b22167f7d444a26a3f776
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 1 14:14:53 2007 -0600
+
+ remove _mesa_init_driver_functions()
+
+commit f8549e8f4f8bdfebcb4e0a2754df59b3fe4fdff7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 1 14:14:30 2007 -0600
+
+ plug in _mesa_test_proxy_teximage, temporarily
+
+commit 2072a9c6d0eec55b5fa6f8229287c8f8225c6d2e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 1 14:01:39 2007 -0600
+
+ remove dead code
+
+commit 308bc50dc2048f28c48d68efd083c72bd501088c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 1 14:01:14 2007 -0600
+
+ remove unneeded tnl stuff
+
+commit b1ed405cfcafb59b7b65af5937bdef5768cf2578
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 1 13:58:38 2007 -0600
+
+ remove old comment about tnl/vf
+
+commit 54be3a7added5b6675a78f6df711d3bebc4c6cd5
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Nov 1 22:19:42 2007 +0000
+
+ Reserve the right number of dwords for hardware state, and handle the case where it fails.
+
+commit c4e9bfedbc78e4e38d3ca47d6e5a756f9a07416f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 1 13:06:53 2007 -0600
+
+ Obsolete file
+
+commit ea50025c76f20259cc6c79bceacd8945f305b738
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 1 13:06:29 2007 -0600
+
+ remove xmesa_set_renderbuffer_funcs()
+
+commit a00bd3fc2f85997d0573ea0e4773ef1e290e1128
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 1 12:57:48 2007 -0600
+
+ disable/omit renderbuffer span code
+
+commit 618089555353070f73dc8ad3b52578db3bedc294
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 1 12:57:26 2007 -0600
+
+ disable/omit renderbuffer span code
+
+commit 1c8d064c39468c8b1ae1e56074a8e470375bd1e0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 1 12:55:20 2007 -0600
+
+ remove unused funcs, macros
+
+commit b2fabbc1970ad84074fa9c90b44c6943bdcec4d4
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 1 12:54:30 2007 -0600
+
+ xget_image() wrapper to catch BadMatch errors
+
+commit ea816fd6dbba878c74e1b428b3f8180020b4c214
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 1 12:37:13 2007 -0600
+
+ move dither kernels to xm_surface.c
+
+commit ef35f664ca243529577c1b5f232f9ef8575621f5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 1 12:36:09 2007 -0600
+
+ fix some tile clipping bugs
+
+commit cd132354dd5a6b778402a2e81d54910ac6c7fb8d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 1 12:26:37 2007 -0600
+
+ move CLIP_TILE, add comments
+
+commit d0dde6e26c142c27408a0b52c153b571b8737d29
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 1 12:24:36 2007 -0600
+
+ rewrite xmesa_get_tile_rgba() to not use span funcs
+
+commit ba0b1bdc332295743874c2e1fa3a2fc0528c70ac
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 1 12:08:01 2007 -0600
+
+ reimplement xmesa_put_tile_rgba() w/out span funcs
+
+commit a33308898666e89f2443e7eb4f1d09ae792b620a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 1 11:23:50 2007 -0600
+
+ implement get/put_tile() for xlib driver
+
+commit 0d6608ee6855e5605efc3bd9fec51ada59e208d9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 1 10:52:31 2007 -0600
+
+ Implement surface clearing w/out dependency on XMesa/Mesa stuff.
+
+commit 351a83163a9536dc91014cc59bb406a10cd26df4
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Nov 1 08:00:45 2007 -0600
+
+ remove dead code in _mesa_new_program()
+
+commit 01b18abf93c1999397563e75fe1bfbbe0e080ae9
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Thu Nov 1 06:01:53 2007 -0700
+
+ Add -fno-strict-aliasing workaround for all GCC targets
+
+ Use a GCC option to work around aliasing bugs. See commit 013dbcd for
+ more details.
+
+commit ee793281b221415f794af6aadaa9764023612e0b
+Author: Dave Airlie <airlied@ppcg5.localdomain>
+Date: Thu Nov 1 19:19:45 2007 +1100
+
+ nouveau: ppc, swap fragment programs on big endian systems.
+
+ Thanks to the PS3 RSX project for figuring this out.
+
+commit b7611770ea2988d800c7e39cf9299a98cc5d260c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 31 19:00:23 2007 -0600
+
+ make winsys objects singletons, comments
+
+commit 4c7be3faa353aace2237b1f565bd42612002b65a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 31 18:29:00 2007 -0600
+
+ Clean up xmesa winsys stuff
+
+ Plug xmesa_is_format_supported() into the softpipe_winsys object.
+
+commit 1103e9c3d0c3ba636837250eea3d50956a3b1e02
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 31 18:19:46 2007 -0600
+
+ update comments for pipe_context
+
+commit 1b880c7e3c216a4f5417aacb702e5a0124d12110
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Nov 1 10:41:27 2007 +1100
+
+ i915: make i915 use the cached mappings for batch/buffer objects.
+
+ This should restore gears speed on 9xx hardware
+
+commit dbcd20f1c21f44a72d5386faa63b788b3c79cea2
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Wed Oct 31 16:18:29 2007 -0700
+
+ configs: Set -fexceptions for GLUT on linux-dri like other targets
+
+ Quite a while ago, the GCC option -fexceptions was added for building
+ libglut. See here:
+
+ http://article.gmane.org/gmane.comp.video.mesa3d.devel/9499
+
+ This was missing in the linux-dri targets.
+
+commit 1e3651569b3395d38e1d343f894844c043a66a6f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 31 16:01:18 2007 -0600
+
+ remove some extension #defines
+
+commit 3feca9b5fc0577fc81eef822c5e4e8ee500203af
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 31 16:00:14 2007 -0600
+
+ Obsolete
+
+commit b60f88aec62da7c12f8e93b339826967733e0b9c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 31 15:59:47 2007 -0600
+
+ remove xm_dd.c from build
+
+commit 869318db646e8a1e040cc56f271936f0c94762dc
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 31 15:59:24 2007 -0600
+
+ move few remaining bits of xm_dd.c into xm_api.c
+
+commit d7eb97bbc3347bf37449db93463d646f6d5d7319
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Tue Oct 23 18:17:16 2007 -0700
+
+ confdiff.sh: A testing script for comparing configs settings
+
+ This is a simple script that compares the make variables set by two
+ different configs stubs. The purpose is to highlight differences so
+ that any unnecessary duplication or divergence can be removed.
+
+ For example, on Linux x86:
+ $ ./bin/confdiff.sh linux linux-x86
+
+ The output isn't very clean, but it should highlight that the only
+ difference is that the x86 target uses x86 assembler sources.
+
+ The script uses bash, mktemp, make, sed and diff. It is probably not
+ very portable and might only work on GNU make.
+
+commit 3023756684eb54642477802757eeb9fb5da433cc
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 31 15:57:57 2007 -0600
+
+ move dither kernels/tables to xm_span.c
+
+commit a778d60076f0255caff5237fb40dadfaa9e406e4
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 31 15:32:16 2007 -0600
+
+ Remove xmesa_update_state(), which was called by ctx->Driver.UpdateState()
+
+commit 8d0d6f04a15f31c4491966767c547fe1ffbeb362
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 31 15:27:09 2007 -0600
+
+ move surface clear functions to xm_buffer.c
+
+commit c3b5adaa9a7bdb7e61305c32e4991e3b38dab902
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Wed Oct 31 10:33:20 2007 -0700
+
+ configs: Always use -fPIC for shared libraries, never for static
+
+ Mesa currently disables -fPIC for DRI on x86, but most Linux distros are
+ re-enabling -fPIC for all DRI arches. Let's just do that here since
+ that's normally what's wanted for shared libraries. Some justification:
+
+ http://bugs.gentoo.org/show_bug.cgi?id=110840#c9
+
+ On the other hand, position-independent code is only necessary when
+ building shared libraries, so disable it for the static cases.
+
+commit 30fb4c43b02f4105944453e48d7a0f878746595d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 31 15:16:22 2007 -0600
+
+ clean-up includes
+
+commit e5ff772523e73dcc8b79270d680a8de1a7bad7bc
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 31 15:13:29 2007 -0600
+
+ remove HPCR support
+
+commit 017d08a5e040ee476b19d672c17090eaca7fa918
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 31 15:08:19 2007 -0600
+
+ get rid of xmesa_clear_buffers()
+
+commit 4411614fed938ba9495f43c01de1c3099febd860
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 31 15:01:25 2007 -0600
+
+ don't pass x,y,width,height to clear functions
+
+commit c1f11891dfc5df6ea0bcbb809f3f4ad2b81a1f6e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 31 14:53:55 2007 -0600
+
+ remove get_string, test_proxy_teximage
+
+commit b345c9258b91d8a1eb86dc4c109964e060ad3ee9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 31 14:51:15 2007 -0600
+
+ remove timer_query, s3tc extension bits
+
+commit f36372f0b27bdb7f99c3e5615eaf156b492dbd1d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 31 14:49:46 2007 -0600
+
+ Start removing old driver funcs like ColorMask, ClearColor, etc.
+
+commit 4a13a550e0f0fc12072f117229230175af30de24
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 31 14:33:49 2007 -0600
+
+ remove FX/glide stuff
+
+commit 7398272d4b43a42a57fd28a68194c5f6058696b3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 31 14:32:16 2007 -0600
+
+ remove tnl/swrast code
+
+commit 751d7a74ca00df44dbefee628b2a305e68638479
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 31 14:30:20 2007 -0600
+
+ Obsolete
+
+commit 68a38b58537280dada02f4451d56268f064e59bb
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 31 14:29:36 2007 -0600
+
+ remove dead swrast/tnl code
+
+commit e0e8cf1346513eb52771924e7efd8f19e935dd0a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 31 14:28:05 2007 -0600
+
+ disable swrast/tnl stuff
+
+commit 5d6b314bcf64d3949038bdd5845793ce7dd0ecd0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 31 14:27:38 2007 -0600
+
+ remove Draw/CopyPixels functions
+
+commit 12f3f6cb2ac012c111d046e77772acd5561ebbf6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 31 14:22:49 2007 -0600
+
+ omit X point/line/triangle routines
+
+commit 87560bc10f57fd523d3317dfa1ff98d40099eb39
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 31 14:19:31 2007 -0600
+
+ switch to Xlib driver in pipe/xlib/
+
+commit ef25c496d52f4f6c45816b64b4c0999321476cd7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 31 14:19:09 2007 -0600
+
+ Copy of xlib driver. This will get trimmed down a lot for Gallium.
+
+commit f4a5ea2ccb472958a4635c606e9510011bceaa3d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 31 12:45:32 2007 -0600
+
+ Update texenvprogram.c code to use prog_cache.c routines.
+
+commit a35a2fc0d3aaa795a0088bfc390b98a033fc28de
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 31 12:34:09 2007 -0600
+
+ remove dead program cache code
+
+commit 8db4acc5547370761a9a489c947e9621adc8f945
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 31 12:31:25 2007 -0600
+
+ No longer need st_update_tnl atom
+
+commit d4dfe3e0b43cc2bab1f15175e6e296702733e1af
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 31 12:30:56 2007 -0600
+
+ No longer need st_update_tnl atom.
+
+commit 68ab379be09de775244bb787f0d30e562fc21038
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 31 12:27:47 2007 -0600
+
+ more flags for MaintainTnlProgram case, update #includes
+
+commit 8d9afa76eb090ff58ca9a8a7a86a0b23ffc56857
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 31 12:17:32 2007 -0600
+
+ Use ffvertex_prog.c code instead of t_vp_build.c code.
+
+commit 4990695f1b197b270a4e3d98dd6bcd2bb4e89b4a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 31 12:12:37 2007 -0600
+
+ fix some breakage from lifting vbo/tnl code
+
+commit cf3f601682297d94482a1448eff3f36b26514ab1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 31 12:03:55 2007 -0600
+
+ Lift fixed function vertex program generation up from tnl module.
+
+commit 287d573f5d992416e8355b597224e817c137387b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 31 12:01:08 2007 -0600
+
+ fix type for Samplers field
+
+commit b26aae67f5fe4194b48a5d3ddf704797b804b58c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 31 12:00:38 2007 -0600
+
+ alloc caches for fixed-func vertex/fragment progs
+
+commit 3798395af5106c2100ea56b23762ad76890c6351
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 31 12:07:03 2007 -0600
+
+ move a few lines of code
+
+commit 8984a283389a13f9b4315aa7b7df1eaaa612ba28
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 31 11:35:50 2007 -0600
+
+ Lift VBO/tnl stuff up out of drivers
+
+commit b31e37f14d75231724a1cbb0c7fe7031a2315671
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 31 11:08:31 2007 -0600
+
+ remove intelInvalidateState
+
+commit d775509fb7736aac2d4c7903a93c0d7cb8015a91
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 31 11:08:07 2007 -0600
+
+ plug st_invalidate_state() into ctx->Driver.UpdateState
+
+ Start lifting Mesa stuff up out of winsys/driver code.
+
+commit 2860f609949ced58caeb4828e7d2a34439d767da
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 31 10:52:44 2007 -0600
+
+ re-enable fb size assertions which were previously disabled
+
+commit 013dbcd6111bc880e65ed00a7ca31e19230a81d5
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Wed Oct 31 09:47:39 2007 -0700
+
+ Add -fno-strict-aliasing workaround for Linux GCC targets
+
+ Most Linux distros work around aliasing problems in Mesa by compiling
+ with the GCC option -fno-strict-aliasing. Two examples:
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=6046
+ http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=394311
+
+ This makes -fno-strict-aliasing the default with a comment that
+ developers should consider commenting it out. There is a already a note
+ about these bugs in docs/helpwanted.html.
+
+commit 2bdd467dfd3cfe9a479a8e8395620ecc414e18dc
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 31 09:57:07 2007 -0600
+
+ GLSL support in i965 driver
+
+commit 7f80dc1ebe0a7fb8cc06268e4d4d508d0ea70df9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 31 09:44:01 2007 -0600
+
+ updated list
+
+commit 5cb203433ab5c4e54a7386a816263a237c716aa2
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 31 09:38:51 2007 -0600
+
+ check for count==0 in _mesa_validate_DrawArrays()
+
+commit fe55eab8fa976fdf3d30b1d8160e4bb10e754e2d
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Oct 31 15:11:18 2007 +0000
+
+ Hold the vertex buffer handle.
+
+commit 44e6944e9dda3b78f2f4a9bdd583a4feeae1dcba
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Oct 31 14:58:43 2007 +0000
+
+ Handle TGSI_OPCODE_RET.
+
+commit af60ebc4eedcfec2090e1ddd7630137948c26866
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Oct 31 14:16:00 2007 +0000
+
+ Allow more verbose error output.
+
+commit 13acc263859a4b4689f519be8b5519c784baf3ba
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Oct 31 13:20:01 2007 +0000
+
+ Chain vertex buffers into the batch buffer.
+
+commit d1414da8f9dbf3c27cf05509be51e8c70ed1185d
+Merge: b263435 d2f19a5
+Author: Jouk <joukj@tarantella.nano.tudelft.nl>
+Date: Wed Oct 31 08:18:58 2007 +0100
+
+ Merge branch 'master' of git+ssh://joukj@git.freedesktop.org/git/mesa/mesa
+
+commit 520c71161ad0929a4b43e8e1e75067e10920f596
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 30 18:38:32 2007 -0600
+
+ Implement shader concatenation for glBitmap.
+
+commit fb9cf48259a4534219c7b8dff5ceaed7afde56ad
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 30 18:26:34 2007 -0600
+
+ fix InputsRead bug in _mesa_combine_programs()
+
+commit c1b2b97b8a7f2c9ff0f19c5bba352dfae11de4b2
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 30 18:24:54 2007 -0600
+
+ special-case KIL/KIL_NV
+
+commit 2dfe0c4a24feef8b7ffc5951d9d1867661493bf2
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 30 17:46:40 2007 -0600
+
+ combine shaders for glCopyPixels
+
+commit d6a739f6b0658414a81715bf690159f7cfdb4961
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 30 16:13:37 2007 -0600
+
+ Use program serial numbers to avoid re-generating fragment programs for glDrawPixels.
+
+commit ee70c02b62f7692de6293045928c47168652bd1c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 30 13:55:56 2007 -0600
+
+ Before calling texformat->StoreImage() set _ImageTransferState=0 since we'll do pixel transfer in the fragment program.
+
+commit 4836217850114e0972900a68fd7d93e2e241819b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 30 13:54:24 2007 -0600
+
+ color matrix
+
+commit 0abd1fca91b5807a4906ec4b520e68594db5b36c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 30 13:53:38 2007 -0600
+
+ more additions for COLOR_MATRIX, etc
+
+commit 068c7bd912283e051a55b2fd5c4568685d10f3ed
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 30 12:39:58 2007 -0600
+
+ add state vars for color matrix, pixel transfer scale&bias
+
+commit 8aa42546add1fef4949e2d4ceded62e2d1dd0215
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 30 12:24:27 2007 -0600
+
+ start using program cache
+
+commit df174bdb818d4e21652d49c73ff17722e34a38b9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 30 12:24:05 2007 -0600
+
+ added pixel_transfer_cache
+
+commit 3e317996400778c3197bdaa7d95f8712205e589b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 30 12:23:37 2007 -0600
+
+ added prog_cache.c
+
+commit 0ee15e050bddad45ef6424e67c2ce75095d90745
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 30 12:23:22 2007 -0600
+
+ Program cache functions.
+
+ Generic version of cache code from texenvprogram.c and t_vp_build.c
+ Not used by those files just yet, will also be used for pixel_transfer programs.
+
+commit 2f496ff9574ad99f8d85b5d63e97b15faf5aee39
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue Oct 30 18:36:05 2007 +0100
+
+ tgsi_translate_mesa_program: Don't crash when program->Parameters == NULL.
+
+commit ab3f6015aa7227da3137b60456deb3905680f95f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 30 11:32:16 2007 -0600
+
+ Disable debug code.
+
+ Basic code for PixelTranslfer ops and glDrawPixels works now.
+ A pixel transfer program is generated and combined with the current
+ fragment shader.
+
+commit cbdff56f8cbb0560ca5eeb6e4b96eb3996e67fd1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 30 11:19:31 2007 -0600
+
+ Remove obsolete files
+
+commit 7ce99a11037e577e36480f3e29b2685b853f0330
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 30 11:18:31 2007 -0600
+
+ Rename file since it's now a state atom
+
+commit de38d9c498b999d80b51679ece6b4caccd80a2b8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 30 11:16:55 2007 -0600
+
+ checkpoint: combine pixel transfer and user shader for glDrawPixels
+
+commit b8042fb7fb15a4f99a10f9d9e48d43301622c2bf
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 30 11:16:26 2007 -0600
+
+ make st_upload_constants() public
+
+commit 0be546fa53753119a770d6368ced380bdf69c69b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 30 11:15:59 2007 -0600
+
+ added pixel_transfer_program field
+
+commit 088e80f6dbdaa8bdcac2d9a46e8d5f387c116371
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 30 11:15:29 2007 -0600
+
+ added st_update_pixel_transfer atom
+
+commit 64a97680a714eed17968dbe16589bfbc6c8a62a7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 30 11:15:09 2007 -0600
+
+ bug fixes, implement state atom for pixel transfer
+
+commit 8234935b658c99b829564f75a2c7840a1301ca36
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 30 11:14:33 2007 -0600
+
+ check for NULL ptr in _mesa_print_parameter_list()
+
+commit ba0fcc47d61be6caa2f4a5f4eb0c36eba9e2cb59
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 29 17:36:39 2007 -0600
+
+ Set _NEW_BUFFERS in glRead/DrawBuffer().
+
+ Previously, we set _NEW_PIXEL and _NEW_COLOR in these functions, respectively.
+ That correponds to the GL attribute groups, but doesn't make much sense
+ otherwise. This could improve validation efficiency in a few places too.
+ It looks like all the drivers are already checking for _NEW_BUFFERS in the
+ right places (since that's the bit for FBO state) so we can trim out
+ _NEW_PIXEL and _NEW_COLOR at any time.
+
+commit b19a93393043371776af6d50662a3eb0a9a965ce
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 29 17:32:42 2007 -0600
+
+ comment unused 'cb' field
+
+commit cc9b4df5cbcb4e77cd5ee06e97e450fc0d78006e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 29 17:14:23 2007 -0600
+
+ update comments, fix typo
+
+commit 1203f54686896ed21bb4e2e57880e0e034091b14
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 29 16:38:53 2007 -0600
+
+ make _mesa_combine_programs() params const
+
+commit bcc026893b4719122711d6dd3a391cca10820665
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 29 16:38:23 2007 -0600
+
+ added st_pixeltransfer.c
+
+commit cf56a99fb03e2c6e2739a6a9dbd6230c607813dc
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 29 16:37:49 2007 -0600
+
+ Initial version of st_get_pixel_transfer_program().
+
+ For generating fragment programs which implement pixel transfer ops.
+
+commit 9ffd88911f69babaa2214fb27f1ab66abd282639
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 29 16:35:59 2007 -0600
+
+ Added _mesa_combine_programs() for concatenating two programs.
+
+commit 4b30d177b47953023b77494ef31fb1399beb7405
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 29 16:00:08 2007 -0600
+
+ added _mesa_combine_parameter_lists()
+
+commit d2f19a554a9089fddb5e978e3a732bbf71d77f93
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue Oct 30 17:47:17 2007 +0100
+
+ Fix some build warnings, mostly with XCB.
+
+commit a7f64635a640f49011cf78af766f90ae6588989a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 30 10:24:34 2007 -0600
+
+ Alias glStencilOpSeparateATI with glStencilOpSeparate.
+
+commit 8b8a970593cd13cd4d0fc5c27e3fd7182f631a0e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 30 10:23:58 2007 -0600
+
+ test glStencilFuncSeparateATI()
+
+commit f70ca96ba9eaeb380861fb657fca99f129b7f232
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 30 09:13:58 2007 -0600
+
+ Finish up ATI_separate_stencil
+
+ Add entrypoints to glapi XML file and regenerate files.
+ Implement glStencilOpSeparateATI().
+ Consolidate some code in stencil.c
+
+commit 4c53635aab587e1d832b602b88aaf17bc5c8301e
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Tue Oct 30 14:09:17 2007 +0100
+
+ add missing _mesa_StencilFuncSeparateATI function
+
+commit 449562cde0008c755d20b3de83cbd3266bc001ac
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Tue Oct 30 09:00:36 2007 -0400
+
+ Switch to using LLVM builder.
+
+ Instead of creating all the instructions by hand, switching
+ to using LLVMBuilder.
+
+commit 3177b4e2cf7d2fff7428cb6057bebbe60ff5cc6c
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue Oct 30 13:16:50 2007 +0100
+
+ More vblank cleanups.
+
+ * Fix crash at context creation in most drivers supporting vblank.
+ * Don't pass vblank sequence or flags to functions that get passed the drawable
+ private already.
+ * Attempt to initialize vblank related drawable private fields just once
+ per drawable. May need more work in some drivers.
+
+commit c97c03da46292abe72f94747fe527eb4e4623248
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Tue Oct 30 07:43:02 2007 -0400
+
+ Refactor vector extraction.
+
+commit dfd774318d1549c1e52364870a2c16a220dcd64c
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Tue Oct 30 07:16:22 2007 -0400
+
+ Export true C based builtins to a file of its own.
+
+commit a01341a762baf7d5e18bd1a55950da7958958927
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Tue Oct 30 06:55:08 2007 -0400
+
+ Rename to better reflect what it's really doing.
+
+commit ea2c74a25ef4d8bd0cb6fab21913c6a32bcee26f
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Tue Oct 30 06:33:30 2007 -0400
+
+ Code cleanups.
+
+commit a94251d081b202e81bcd51db0dd35f1aec82b0c5
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Oct 29 13:42:58 2007 -0400
+
+ Cleanup constant vector handling a bit.
+
+commit 75a9018fb90c93033ee5cbade9dd2febdc195d11
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Oct 29 13:20:55 2007 -0400
+
+ Dump only relevant functions when in the debugging output.
+
+commit fd908ce234d1f553b59d65afb7e4243ffee24018
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Oct 29 11:42:22 2007 -0400
+
+ Change the way we handle temporaries in LLVM translation.
+
+ TGSI uses TEMP, among others, as a way of passing arguments
+ from one function to another. Instead of trying to figure out
+ which temp's a function needs and trying to dynamically adjust its
+ signature just pass the whole array of temporaries to them.
+
+commit b0f3b5910ebd0737600ab7b1fdc135d74f2617f4
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Oct 29 10:59:24 2007 -0400
+
+ Enable immediates in TGSI and work with them in LLVM code.
+
+ Enables immediates by default in the TGSI translation code
+ and adds code handling it in llvm tgsi translation.
+
+commit 8b2f997af572dd3aca00c4888adf2b0a60656331
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 29 15:08:43 2007 -0600
+
+ minor code simplification
+
+commit 64ffc9540ba9c0208f8eca98996d03d632c33064
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 29 15:07:23 2007 -0600
+
+ fix memcpy bugs
+
+commit 1553eba50c7a2577bce069a3400a29e4d49c0f31
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 29 14:13:57 2007 -0600
+
+ Rewrite update_program() to use _mesa_get_fixed_func_fragment/vertex_program().
+
+commit f18d4e058ed979c6e42e868c7febde4fa62c5810
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 29 12:25:46 2007 -0600
+
+ Remove ctx field from texenvprog_cache
+
+commit 9946012949ad294b2255f914fee4c80cff5e0040
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 29 12:18:58 2007 -0600
+
+ refactoring to begin removing dependency on tnl context
+
+commit 783cedcdc14feda9c8ad0ca754752254bfa589eb
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 29 11:54:13 2007 -0600
+
+ simplify getting of current frag prog
+
+commit 27153bf02dab57d11565fa7730de4767618ce62d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 29 11:30:09 2007 -0600
+
+ Refactor _tnl_UpdateFixedFunctionProgram().
+
+ New _mesa_get_fixed_func_vertex_program() function...
+
+commit 83ce6c51d7189094cf2a13fdcc0882a051a3bd41
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 29 11:23:02 2007 -0600
+
+ Refactor _mesa_UpdateTexEnvProgram()
+
+ Will be replaced by _mesa_get_fixed_func_fragment_program().
+
+commit dc1264970e585c0939606922b3e964db4b9c28b3
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Oct 29 11:56:50 2007 -0700
+
+ [i915] Include header to pick up intel_ttm_bo_create_from_handle() proto.
+
+commit b0edb9c38a6c63175e4fafdbb54102c4f4a94e2c
+Merge: 919f617 ad8ee7d
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Oct 29 13:24:27 2007 -0700
+
+ Merge branch 'origin'
+
+commit 918ea5168baaecdf70f5ea37e5815cacf9558163
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Mon Oct 29 19:50:10 2007 +0000
+
+ Rename 'mms-config.' to 'mms.config'.
+
+ It looks like Windows does not like filenames ending with a dot,
+ in effect renaming it to 'mms-config'.
+
+commit ad8ee7db3b406b23136873fc8c87a22e4d8b94de
+Merge: 38fdb47 06ca145
+Author: Jesse Barnes <jesse.barnes@intel.com>
+Date: Mon Oct 29 12:06:36 2007 -0700
+
+ Merge branch 'master' of ssh://git.freedesktop.org/git/mesa/mesa
+
+commit 38fdb47d26055e19d50cd407266b56ed4317ae0a
+Author: Jesse Barnes <jesse.barnes@intel.com>
+Date: Mon Oct 29 11:56:31 2007 -0700
+
+ Refactor and fix core vblank support
+
+ Consolidate support for synchronizing to and retrieving vblank counters. Also
+ fix the core vblank code to return monotonic MSC counters, which are required
+ by some GLX extensions. Adding support for multiple pipes to a low level
+ driver is fairly easy, the Intel 965 driver provides simple example code (see
+ intel_buffers.c:intelWindowMoved()).
+
+ The new code bumps the media stream counter extension version to 2 and adds a
+ new getDrawableMSC callback. This callback takes a drawablePrivate pointer,
+ which is used to calculate the MSC value seen by clients based on the actual
+ vblank counter(s) returned from the kernel. The new drawable private fields
+ are as follows:
+ - vblSeq - used for tracking vblank counts for buffer swapping
+ - vblFlags - flags (e.g. current pipe), updated by low level driver
+ - msc_base - MSC counter from the last time the current pipe changed
+ - vblank_base - kernel DRM vblank counter from the last time the pipe changed
+
+ Using the above variables, the core vblank code (in vblank.c) can calculate a
+ monotonic MSC value. The low level DRI drivers are responsible for updating
+ the current pipe (by setting VBLANK_FLAG_SECONDARY for example in vblFlags)
+ along with msc_base and vblank_base whenever the pipe associated with a given
+ drawable changes (again, see intelWindowMoved for an example of this).
+
+ Drivers should fill in the GetDrawableMSC DriverAPIRec field to point to
+ driDrawableGetMSC32 and add code for pipe switching as outlined above to fully
+ support the new scheme.
+
+commit 06ca14543ee3dc4ed35a98db71b0d4a7aa7d9371
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Mon Oct 29 11:21:37 2007 -0700
+
+ Build xdemos programs by default on linux-dri
+
+ Since libglut is no longer hardcoded, we can build the xdemos programs
+ so long as a GLX enabled libGL and libGLU have been built.
+
+commit 1421bffb180e2e1a8f0c16f61768805666492ed2
+Author: Chris Rankin <rankincj@yahoo.com>
+Date: Mon Oct 29 14:37:32 2007 -0400
+
+ Remember to call XSync() before resetting X error handler.
+
+commit 3b9e28d507f77e3c32a29de2d2d4d857d5e5309f
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Mon Oct 29 11:17:04 2007 -0700
+
+ linux-dri-xcb: Fix undefined refs when linking with libGL
+
+ GL_LIB_DEPS was missing -lXdamage and -lXfixes, which was causing
+ linker errors when trying to build the programs.
+
+commit f33ced441c934b625b9c126d054439855e822215
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Oct 29 17:36:37 2007 +0000
+
+ Update intel_is_format_supported.
+
+commit da9815e17f42b5f07beb47a08146e44c367c1ac2
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Mon Oct 29 17:36:20 2007 +0000
+
+ Add detailed comments.
+
+commit 7de874ec2c7b9e3aff7f81b7e30045b45381fbad
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Mon Oct 29 16:59:57 2007 +0000
+
+ Make it compile under linux.
+
+ Move pipe_region/surface_reference functions to pipe/p_inlines.h.
+ Remove #include "p_util.h" from pipe/p_context.h.
+
+commit ee295fccdd0c94cb6b8af4dfb30283e39f548223
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Mon Oct 29 16:20:45 2007 +0000
+
+ Make gallium compile in win32.
+
+ Use FREE, MALLOC, CALLOC, GETENV wrappers.
+ Silence compiler warnings.
+ Add proper copyrights.
+
+commit d37eb130c090abc413a54e57e0d3800ac4cd59f4
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 29 10:37:12 2007 -0600
+
+ remove dead code
+
+commit ebe1642d7a65acd5e41632b3b23655f67de85cfc
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 29 10:36:10 2007 -0600
+
+ check for signed vs. unsigned in st_get_format_info() - fixes accum buffer failure
+
+commit 40133487dbdd14456a8a4f6a5716f57a36eb1ea7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 29 10:01:15 2007 -0600
+
+ disable ctx->Driver.NewProgram() call in _mesa_new_program()
+
+ This was causing infinite recursive calls w/ software drivers.
+ All vertex/fragment shaders should be allocated by calling
+ ctx->Driver.NewProgram(), not by calling _mesa_new_program().
+
+commit b58b64f361bef38a76b199427a4e248b1fab9f65
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 29 09:41:53 2007 -0600
+
+ fix bad fragment shader pointer assignment
+
+commit cc0b55c242e9f53a8e45c5d4392f964af44f396e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 29 09:24:29 2007 -0600
+
+ simplify code which access the current vertex/fragment shaders
+
+commit 2a3f3679eba802dcb4b46f90c66326c9195cdbcb
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 29 09:23:46 2007 -0600
+
+ Disable the else clause which assigns the default fragment program to ctx->FragmentProgram._Current
+
+ The _Current field should either point to the fragment program which is to be
+ run (GLSL, ARB_f_p, fixed-func-generated, etc) or be NULL if conventional
+ fixed-function code is to be used. Matches TNL program code.
+
+commit a6a3d8cb755c36d4ae1dc4dbfb310f06862a37b4
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Oct 29 10:01:29 2007 -0400
+
+ Remove conditionals from the makefiles.
+
+commit a70c5e37f1c2e43738469e4799ad2b9e7c604782
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Oct 29 08:35:08 2007 -0400
+
+ Remove typedefs from enums.
+
+ typedefs are rather evil, remove them and use the enum
+ keyword explicitely.
+
+commit 25b17b213b7ba0d1b93ec37211504ee489944ce8
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Oct 29 08:27:32 2007 -0400
+
+ Refactor the LLVM code a bit.
+
+ Move the CPU vertex shader execution code to the draw
+ module, remove traces of LLVM from the state tracker,
+ abstract execution engine for the purposes of the draw module.
+
+commit abe8cd19171def0de000e58b9f71c43adf4c6336
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Fri Oct 26 19:53:53 2007 -0400
+
+ Make sure the swizzling vector is being recreated for each function. This makes
+
+ GLSL bricks work.
+
+commit 162914675a91034db71c0dc8e37189ac3337ba34
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Mon Oct 29 09:05:13 2007 -0600
+
+ update APP_LIB_DEPS for static library configs (patch 3/3)
+
+commit 9ef1d9f03acad1833e4b43588ca88cd8518b2d06
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Mon Oct 29 09:04:30 2007 -0600
+
+ simplify APP_LIB_DEPS (patch 2/3)
+
+commit c05aa5ec4cc29f949eff350582cb6f6c03dce3c6
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Mon Oct 29 09:03:01 2007 -0600
+
+ specify app lib dependencies in Makefiles (patch 1/3)
+
+commit 3b25ce9eca9643a7a008735ec69c4e7ffddbe742
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Mon Oct 29 13:21:17 2007 +0000
+
+ Add SSE dump facilities.
+
+ Wrap x86_, sse_ and sse2 rtasm calls in emit_ calls.
+ Those emit_ calls, if required, dump instructions to stdout.
+ SSE dumping disabled by default.
+
+commit 1eabc29ed126649f0de4a4f26166489bdcb9c01d
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Mon Oct 29 12:14:54 2007 +0000
+
+ Code re-org. Add comments.
+
+commit bd922c6437fb2081082bb164bcb0304559f6d7c4
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Mon Oct 29 11:45:42 2007 +0000
+
+ Implement RET opcode.
+
+commit e15ca7963e8b2e80eb79f6352f0761d0c1581fb5
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Mon Oct 29 11:40:09 2007 +0000
+
+ Remove TGSI_INTERPOLATE_ATTRIB.
+
+commit 242b8659e40416f893157c7a0919964dabc957cf
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Oct 29 12:29:06 2007 +0000
+
+ Fix i915simple build.
+
+commit 1039a755142e2fd45dc291d891c514fdfa7e033c
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Oct 29 12:14:52 2007 +0000
+
+ Reuse hardware vertice representation.
+
+commit a9e1fcf98a871b182f82dc37c15d0f69bf1a3187
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Oct 29 11:51:04 2007 +0000
+
+ Enable the vertex buffer stage according to the I915_VBUF environment var.
+
+commit 46aeff5814ae16544874ceafa5bd1e9d6577ca9d
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Oct 29 11:49:59 2007 +0000
+
+ Get vertex buffer stage in a minimally working state.
+
+commit 02091e0f9c041250ea5abea6a5aa739d8e19c852
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Mon Oct 29 10:25:02 2007 +0000
+
+ Reserve the accurate number of dwords in the batch buffer.
+
+commit dbb33a9710e64243ba8c69f44a149376300da2aa
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Oct 26 19:30:04 2007 +0100
+
+ Start a vertex buffer constuction stage for i915 based on Keith's draft done on softpipe.
+
+commit af5061cf5aced1d59d0a051c44ca5f8d633ddb7f
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Mon Oct 29 11:03:37 2007 +0000
+
+ Fix newlines.
+
+commit b59dbd822f353cbf0db404f14c2721c79cde79fc
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Sun Oct 28 20:07:37 2007 +0000
+
+ Only set R_MODE with NV_point_sprite
+
+commit c1b9f0eb7a4a0feb549218cdec3b7964d4c91bc9
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sun Oct 28 17:53:02 2007 +0000
+
+ Remove unused static functions.
+
+commit 2bbd714fda7b0fb21184bea8ed0c08f155cba528
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sun Oct 28 17:48:46 2007 +0000
+
+ Update comments.
+
+commit 3c8121967224f91bfcd5431b4069d66eecbc5952
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sun Oct 28 17:19:39 2007 +0000
+
+ Replace supported_formats with is_format_supported interface.
+
+ The old supported_formats interface returned a list of formats
+ supported by a pipe/winsys implementation. This was reasonable
+ when gallium had a fixed list of predefined format.
+ Now things has changed and the definition of PIPE_FORMAT is
+ more flexible.
+ The new shiny is_format_supported interface gets PIPE_FORMAT
+ as an argument and returns a boolean whether this particular
+ format is supported.
+
+commit b85cd7b70096cf7c922aed56ae8255fb4b8f0709
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sun Oct 28 16:36:07 2007 +0000
+
+ Use FREE and MALLOC instead of free and malloc.
+
+commit 2953415223fc61e92305453d60714c7e919b604d
+Author: Michal Krol <michal@tungstengraphics.com>
+Date: Sun Oct 28 16:16:28 2007 +0000
+
+ Rework sse-utility function calls.
+
+commit c5ad88e9f1d6a915d9464df0b8fa4de65a3513d2
+Author: michal <michal@michal-laptop.(none)>
+Date: Sun Oct 28 14:42:26 2007 +0000
+
+ Declare temporaries in a more compact fashion.
+
+ The following declarations:
+ DCL TEMP[0]
+ DCL TEMP[1]
+ DCL TEMP[2]
+ DCL TEMP[4]
+ become:
+ DCL TEMP[0..2]
+ DCL TEMP[4]
+
+commit e420e9d48577de57f912ab39d59c2d1d4d14b8f6
+Author: michal <michal@michal-laptop.(none)>
+Date: Sun Oct 28 14:42:26 2007 +0000
+
+ Declare temporaries in a more compact fashion.
+
+ The following declarations:
+ DCL TEMP[0]
+ DCL TEMP[1]
+ DCL TEMP[2]
+ DCL TEMP[4]
+ become:
+ DCL TEMP[0..2]
+ DCL TEMP[4]
+
+commit 80ab2ab335717db4f3b9593ff1e111cc2191d83f
+Author: michal <michal@michal-laptop.(none)>
+Date: Sun Oct 28 14:27:02 2007 +0000
+
+ Control FS TGSI dumping with GALLIUM_DUMP_FS env variable.
+
+commit 90e47c8c7bd72c751b9d478fa583d758aa26b06d
+Author: michal <michal@michal-laptop.(none)>
+Date: Sun Oct 28 14:26:04 2007 +0000
+
+ Fix newlines.
+
+commit f93b9dc09a8f9289d7bd5c0f99c935f28016691e
+Author: michal <michal@michal-laptop.(none)>
+Date: Sat Oct 27 18:53:38 2007 +0100
+
+ Use FREE instead of free. Fix newlines.
+
+commit a846d7d0273e879371b69f1bbcb8a6698a24a903
+Author: michal <michal@michal-laptop.(none)>
+Date: Sat Oct 27 18:43:49 2007 +0100
+
+ Enable SSE path.
+
+commit a1b4285c5cb03e52850751c2f74d131e2b7a00c8
+Author: michal <michal@michal-laptop.(none)>
+Date: Sat Oct 27 18:42:20 2007 +0100
+
+ Fix fragment shader.
+
+commit 9c22f910304de88ea5b0ff9bf0608abf44e86806
+Author: michal <michal@michal-laptop.(none)>
+Date: Sat Oct 27 18:41:47 2007 +0100
+
+ Optimize fragment program.
+
+commit f16f23b3ab4caf6588ce713fc682aac6e9f808fb
+Author: michal <michal@michal-laptop.(none)>
+Date: Sat Oct 27 17:30:23 2007 +0100
+
+ Use PIPE_FORMAT in state tracker.
+
+ Fix PIPE_FORMAT field encoding.
+ Re-implement st_get_format_info.
+
+commit d8b59ba1775ea730130fa0e2a1f054161d948820
+Author: michal <michal@michal-laptop.(none)>
+Date: Sat Oct 27 15:55:11 2007 +0100
+
+ Refactor supported format queries.
+
+commit 205d4e49001123ea0bb10139aa3236cc1f2141d0
+Author: michal <michal@michal-laptop.(none)>
+Date: Sat Oct 27 15:08:00 2007 +0100
+
+ Respect use_sse flag.
+
+commit 9dfc27edf11b3fd00c364894578f5a3a05c4ca54
+Author: michal <michal@michal-laptop.(none)>
+Date: Sat Oct 27 15:07:09 2007 +0100
+
+ Fix SSE bug.
+
+commit 478b5692de2d9be0ff96b5a61a79f18c8ff64bb6
+Author: michal <michal@michal-laptop.(none)>
+Date: Sat Oct 27 14:42:17 2007 +0100
+
+ Add #ifs.
+
+commit b23350700e476e397fefefa45f77d2a5a33c111a
+Author: michal <michal@michal-laptop.(none)>
+Date: Sat Oct 27 14:41:16 2007 +0100
+
+ vertex_element::src_format needs 32 bits.
+
+commit f27dcb51f70d6a2efab39770ddeff3d5603deaaa
+Author: michal <michal@michal-laptop.(none)>
+Date: Sat Oct 27 14:40:22 2007 +0100
+
+ Respect use_sse flag.
+
+commit e9ce69b1c9cb6a84e4c0403cf3090653e125c91d
+Author: michal <michal@michal-laptop.(none)>
+Date: Sat Oct 27 14:06:14 2007 +0100
+
+ Remove PIPE_FORMAT_COUNT references.
+
+commit 1ab8f6e69615c4f39110cf9202ae4b52238c0bf2
+Author: michal <michal@michal-laptop.(none)>
+Date: Sat Oct 27 14:05:13 2007 +0100
+
+ Enable SSE2 for fragment shaders.
+
+commit 31b4b261083e546998eba37178ac196049e4e501
+Author: michal <michal@michal-laptop.(none)>
+Date: Sat Oct 27 14:01:39 2007 +0100
+
+ Enable SSE2 for vertex shaders.
+
+commit 7362fe5d163a32cb8ba76de907ccf53dc69ff066
+Author: michal <michal@michal-laptop.(none)>
+Date: Sat Oct 27 13:35:46 2007 +0100
+
+ Fix YCBCR macro.
+
+ Fix line endings.
+
+commit bf229cb6f1aa01ae005afd2d90b3563ff495eaaa
+Author: michal <michal@michal-laptop.(none)>
+Date: Fri Oct 26 18:00:35 2007 +0100
+
+ Fix alignment problems.
+
+ Remove NOP opcode.
+ TEX opcode returns solid white (a hack for D3D state tracker).
+
+commit 9053fcabcbf1b1c969a9a52585d232bb778eba63
+Author: michal <michal@michal-laptop.(none)>
+Date: Fri Oct 26 17:53:56 2007 +0100
+
+ Remove GL dependencies.
+
+commit 6961769cb23c8b9ed2fb56d8ce6e649848412357
+Author: michal <michal@michal-laptop.(none)>
+Date: Fri Oct 26 17:25:09 2007 +0100
+
+ Define destroy method called by softpipe's destructor.
+
+commit dee9406e4847f98b346f0fff72d16df46e9584a4
+Author: michal <michal@michal-laptop.(none)>
+Date: Fri Oct 26 17:21:30 2007 +0100
+
+ Silence compiler warnings.
+
+commit 187c164bb6fa794f59181df89e72ff8c543238c6
+Author: michal <michal@michal-laptop.(none)>
+Date: Fri Oct 26 17:20:53 2007 +0100
+
+ Silence compiler warnings.
+
+commit 3755840e005dd11db0a51effa420672ac4f119d4
+Author: michal <michal@michal-laptop.(none)>
+Date: Fri Oct 26 17:20:11 2007 +0100
+
+ Call quad stage destructors.
+
+commit 21b5ff5dccd448cd581203ff177244c835e407a8
+Author: michal <michal@michal-laptop.(none)>
+Date: Fri Oct 26 17:19:20 2007 +0100
+
+ Remove llvm and sse2 dependencies.
+
+commit 26df9d1a304f03e9692e7bac0a3bc83330f30c6a
+Author: michal <michal@michal-laptop.(none)>
+Date: Fri Oct 26 17:17:52 2007 +0100
+
+ Move format definitions from p_defines.h to p_format.h.
+
+ PIPE_FORMAT is not an ordinary enum -- it encodes its
+ format description in the value that defines it.
+
+commit bc99ea96fbde347aa4cad13477d5e3c30cb8069e
+Author: michal <michal@michal-laptop.(none)>
+Date: Fri Oct 26 17:15:30 2007 +0100
+
+ Add sse2_program to draw_vertex_shader.
+
+commit 11a19866f6e425d23f0a1dd404ae836b3c9f190b
+Author: michal <michal@michal-laptop.(none)>
+Date: Fri Oct 26 17:14:29 2007 +0100
+
+ Silence compiler warnings.
+
+commit 0e96a53aec7a4eb0236fa31f4682734b9310cb80
+Author: michal <michal@michal-laptop.(none)>
+Date: Fri Oct 26 17:12:25 2007 +0100
+
+ Remove llvm dependencies.
+
+commit 79d8e78442c08082083261d517cdf260e0bd309f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Oct 27 09:43:28 2007 -0600
+
+ New comments, replace //-style with /* */
+
+commit d75ff8447cd0b993be36f399ccd360aaf412b1f3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Oct 27 09:38:41 2007 -0600
+
+ indentation fixes
+
+commit d7c189b85484cb15570edc09862ed848bdd4c7d2
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Oct 27 09:37:40 2007 -0600
+
+ s/GLbitfield/uint/
+
+commit e807b1900ff0a5661246d8eeff8b8e230231ad60
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Oct 27 09:36:43 2007 -0600
+
+ remove #define MESA stuff
+
+commit 88c021a0d1ce81f5e3e6d972ae86c1efdb882e3c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Oct 27 09:35:51 2007 -0600
+
+ s/256/TGSI_EXEC_NUM_IMMEDIATES/
+
+commit 0c2bcedf9a1c924d672f4ec1b0f7d8af7a9df876
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Oct 27 09:33:50 2007 -0600
+
+ indentation fixes
+
+commit 6ada4e3a69476ed086955fe4060b894559e1eb95
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Oct 27 09:32:50 2007 -0600
+
+ Comments about texture instructions and the src regs
+
+commit f6a73c3f2815c4c84563c186bba6c8e67bb42ae9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Oct 27 09:26:59 2007 -0600
+
+ Remove remnants of softpipe_surface.
+
+ This is the last of the clean-up following the change which moved surface
+ allocation to the winsys layer.
+
+commit 4f24568dc7d7cc0de56928b99684b602091e4218
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Oct 27 09:04:43 2007 -0600
+
+ Obsolete
+
+commit ef6940f17220f1149dce6daf548bd0103d91a281
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Oct 27 09:03:15 2007 -0600
+
+ Move mesa_to_tgsi.[ch] to state_tracker
+
+commit 3cf6644c00ad0b265c64645d0b14de9dc90ba851
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Oct 27 09:02:40 2007 -0600
+
+ Move mesa_to_tgsi.[ch] into state tracker.
+
+commit bafbfb4dce7a10fe91c8e0564750e69358ac9461
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Oct 26 19:31:35 2007 -0600
+
+ Fix up handling of immediate values for TGSI shaders.
+
+ Still disabled pending LLVM updates.
+
+commit 19710c95da683097372aa54b7538eaa2de778aa5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Oct 26 19:29:38 2007 -0600
+
+ turn off debug output
+
+commit 8fed2466e4056668a76a87cf935b5fbff8ae15ca
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Oct 26 19:19:09 2007 -0600
+
+ Re-implement GLSL texture sampler variables.
+
+ GLSL sampler variables indicate which texture unit to use for TEX instructions.
+ Previously, this was baked into the fragment/vertex program and couldn't be
+ readily changed once set.
+ Now, SamplerUnits[] array indicates which texture unit is to be used for
+ each sampler variable. These values are set with glUniform1i().
+ This is extra state that must be passed to the fragment/vertex program
+ executor at runtime.
+
+commit 789d248558061fe4d65f664d6770a12b90fa2e34
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Fri Oct 26 19:12:02 2007 -0400
+
+ Hold a stack of temporaries so that we can redeclare them
+ for all defined functions. Fixes crashes in function calls.
+
+commit 9514209593fbc6c2e3d00d0ac65b17c30751c849
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Fri Oct 26 15:43:44 2007 -0700
+
+ configs: Fix linux-static to link correctly
+
+ The linux-static target was missing necessary libraries and hardcoding
+ their location to /usr/X11R6/lib. This makes it comparable to the x86
+ and x86-64 static targets.
+
+commit 78c1f8b2decf168d183c52e7b414adb29dd18988
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Oct 26 13:02:40 2007 -0600
+
+ convert OPCODE_END -> TGSI_OPCODE_RET
+
+commit f92083c338069c5c22d200e4696d8cd908258492
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Oct 26 12:24:28 2007 -0600
+
+ if we hit RET w/ empty call stack, halt
+
+commit 6b30f3888e46c3981f1e4fc34c155c7539275420
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Oct 26 12:20:17 2007 -0600
+
+ Initial support for immediate values in TGSI programs.
+
+ These can be evaluated at compile time.
+ Code disabled pending clarifications of TGSI immediate data structures.
+
+commit 67e4b8299620db2e2f33795621b23e9827604bb1
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Fri Oct 26 14:52:10 2007 -0400
+
+ Get basic function calls working in the shaders.
+
+commit 56da35ef76b062f2d37f37a4d3d986e333c4954d
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Fri Oct 26 08:20:55 2007 -0400
+
+ Fix swizzle fetching in tgsi_util_get_full_src_register_extswizzle. Shorten
+ the swizzle coding in LLVM compilation using it and fix some warnings.
+
+commit 61d998c966d10e7a44b06d378c54b5f21ad69b53
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu Oct 25 12:14:07 2007 -0400
+
+ Make ret part of the instruction block instead of implicitely
+ closing at the end of parsing.
+
+commit e4f6f0ec02133e9297c3f2db787dee14bf0ae6e1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Oct 26 10:45:42 2007 -0600
+
+ surface_alloc() is now a winsys function.
+
+ This allows surfaces to be allocated without a rendering context.
+ A few loose ends to resolve, but in working condition.
+
+commit f7be1b419aab80c4e011183611964eb4d7c023c2
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Oct 26 13:31:04 2007 +0100
+
+ Actually move region_alloc() and region_release() to intel_winsys.
+
+commit 6ef27b88e6f767cd476676b33cb7c4ea6922234e
+Merge: ff042bf de803f5
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Fri Oct 26 15:39:50 2007 +0800
+
+ Merge branch '965-glsl'
+
+ Conflicts:
+
+ src/mesa/drivers/dri/i965/brw_sf.h
+ src/mesa/drivers/dri/i965/intel_context.c
+
+commit ec854674577dc8162fd336e2a5369ec274271929
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Oct 25 20:31:13 2007 -0600
+
+ clean-up, simplify some tile code, more to come
+
+commit f684120417c6b3ca9e7486ffeb24fe88e428834d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Oct 25 19:27:29 2007 -0600
+
+ Move region_alloc() and region_release() to pipe_winsys.
+
+ This allows regions to be allocated w/out a rendering context.
+
+commit 616112ea2e0eefea356be228bff8754ee955d8b3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Oct 25 19:19:51 2007 -0600
+
+ silence warning
+
+commit ee80e0b620c5b9af62dac8ad64a84042b46f5264
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Oct 25 18:50:15 2007 -0600
+
+ Move the get/put_tile() functions to pipe_context.
+
+ The _rgba versions are temporary until the state tracker is updated.
+
+commit afd19177e4e6571858fc94ab6be1b12bb54a04ed
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Oct 25 18:30:06 2007 -0600
+
+ tex comments
+
+commit aaac436c6c06232e383d5cee3c6dfc69eb820c83
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 24 17:01:23 2007 -0600
+
+ added some comments
+
+commit 3dde3715db671e32261bfb8b11fb599e5a0e6c5a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 24 16:58:47 2007 -0600
+
+ update TILE_TOP/BOTTOM_* values to match softpipe
+
+commit 86f09fd1a78c5ea060b62e6b657fd693a2d688a8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 24 16:58:00 2007 -0600
+
+ s/GLfloat/float/, s/GLint/int/, etc
+
+commit 18a22a43024474cb63a8bb26d5136b4f38db213b
+Author: José Fonseca <jfonseca@pegasus.(none)>
+Date: Fri Oct 12 00:23:17 2007 +0100
+
+ Briefly describe the buffer management interface.
+
+commit 1d2ff452d4dd8fb7f2f5e53b360b29254fc4db41
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Thu Oct 25 15:46:40 2007 +0100
+
+ Expand pkg-config flags before invoking the compiler.
+
+ This allows IDEs such as Eclipse to get the correct c-preprocessor flags used
+ from the build output.
+
+commit 414a933ad24e11e9655dc00ae55d8753f2021fe5
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Fri Oct 19 11:37:45 2007 +0100
+
+ Ignore generated files.
+
+commit ff042bfdeeeb0a3d658d5ab1dbdcac7b67aac0f8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Oct 25 14:46:35 2007 -0600
+
+ use grep -q
+
+commit 8578534f48a9d6b3e13364a675c263bc5a38700f
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Thu Oct 25 11:34:16 2007 -0700
+
+ Ignore new programs
+
+commit 6dcf65ff0d6fcea9c7e3ae51d51eac6f9a030e47
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Oct 25 11:10:10 2007 -0600
+
+ simplify/fix the ASM_FLAGS tests (bug 12931)
+
+commit 8568fadaf22787bc1652bb6f818b9c5c1ec81318
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Oct 25 18:24:51 2007 +0200
+
+ LLVM requires linking with the C++ compiler.
+
+ It's basically luck if it works with the C compiler on some platforms...
+
+commit 4a4e6f2cabdf39e9032e3e513f9966f471454077
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu Oct 25 11:47:25 2007 -0400
+
+ Implement loops
+
+commit 1d17cb721afaa53317614af90488a45c26e083e3
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu Oct 25 09:03:53 2007 -0400
+
+ Fix nested swizzles. Actually fetch the destination contents
+ instead of input.
+
+commit 1d26e9c447fd9746b2219edbf65b1991521bcfe7
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu Oct 25 07:52:59 2007 -0400
+
+ Fix nested conditionals
+
+commit e842b5e5ba738cd214137cca95c6da64492f9f92
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu Oct 25 07:19:02 2007 -0400
+
+ Test some functionality of vp using GLSL that pure vp isn't testing.
+
+commit 7073ef96824242669735a8681519e1a0cee14309
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu Oct 25 07:18:01 2007 -0400
+
+ Implement else ops.
+
+commit 731352f03ee998050331104d90abb47ee1377b3f
+Author: keithw <keithw@keithw-laptop.(none)>
+Date: Thu Oct 25 10:18:52 2007 +0100
+
+ set vcache.referenced bit always
+
+commit 5022ee43fc7916f16bdce8b076bad78fca262a62
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Oct 24 19:26:09 2007 -0400
+
+ Make branching work :) Simply allow output variables as valid
+ operand inputs when they've been assigned already.
+
+commit 1c5fec714d30c02d6d00d95215c2e302c4c65cc3
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Oct 24 19:20:19 2007 -0400
+
+ Simplify branch handling. Prepare for proper decleration extraction.
+
+commit cae5b7f1e34e7ab23937d3ba2ad8a22319e2985a
+Author: Alex Neundorf <alex.neundorf@kitware.com>
+Date: Wed Oct 24 16:31:22 2007 -0600
+
+ added catamount-osmesa-pgi config
+
+commit 26479fa3b3a7c911617192c56e54fbe298fdd7f3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 24 16:24:06 2007 -0600
+
+ don't build x86, x86-64 dirs if not needed
+
+commit 7636aac54bb357ce907ae6cc2c41f32957faecf3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 24 14:40:09 2007 -0600
+
+ Fix glDrawElements + VBO rendering when ptr/offset is not zero.
+
+ When an index VBO is bound, glDrawElement's indices pointer is really an
+ offset into the element buffer. Add that offset to the prims[i].start
+ value before calling pipe->draw_elements().
+ Fixes vbo.c conform test.
+
+commit 40a0b053f78acd0a08f6876518b8e9301480431f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 24 14:35:40 2007 -0600
+
+ Revert "Undo indexOffset change (I think, git???)"
+
+ This reverts commit 11ce6244a79106c592364b30434b6ddade3fd6bb.
+
+commit 11ce6244a79106c592364b30434b6ddade3fd6bb
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 24 14:34:40 2007 -0600
+
+ Undo indexOffset change (I think, git???)
+
+commit 55d4f32fc211dbc37bd28c0e67da5ce5e0da5777
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 24 13:55:22 2007 -0600
+
+ fix assorted bugs, works now
+
+commit 3733b1f2e95642b47218604aee6a34eacb0c7293
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 24 12:43:02 2007 -0600
+
+ add to git
+
+commit 5e9272c748fba836c716346f1c527e7d139083a4
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 24 12:43:02 2007 -0600
+
+ add to git
+
+commit f68fce1f1f61997f284b77cca5b5765cd7443240
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 24 11:37:05 2007 -0600
+
+ Implement gl_PointCoord attribute for GLSL fragment shaders.
+
+ Contains the normalized fragment position within a point sprite.
+
+commit 3a345e000350c1590367f01be5db6f0f10701283
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 24 12:31:29 2007 -0600
+
+ print CAL label
+
+commit e506514dbbaf6850f477125f89068afa967fa9b4
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 24 12:31:14 2007 -0600
+
+ fix bug in RET code
+
+commit 4eafe69a2ac27e8e92ce0fc503a5d6cc24b8f257
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 24 12:30:49 2007 -0600
+
+ better debug output
+
+commit 76a4fd098f44ae4f226d4747b9fdaf9db5d40270
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 23 18:49:19 2007 -0600
+
+ a bit more work for optimizing clears in tile cache (not enabled yet)
+
+commit b78e90807abc31f58492992cdfe5e01bfd53e68b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 23 17:45:55 2007 -0600
+
+ flush pipe in draw_stencil_pixels()
+
+commit 47f2e97019d367e544439d0604b824b7bd2643c7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 23 17:45:38 2007 -0600
+
+ get_tile() for z16, z32, s8z24 surfaces needs to return 4 floats per pixel (for depth texture sampling)
+
+commit af960431675ddb51c24da29ac183399401b62362
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 23 17:16:38 2007 -0600
+
+ added a pipe->flush() call in xmesa_clear()
+
+commit e48f0b09abe42aa3393a492af07e53b76ad0ff3c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 24 11:37:05 2007 -0600
+
+ Implement gl_PointCoord attribute for GLSL fragment shaders.
+
+ Contains the normalized fragment position within a point sprite.
+
+commit 02cf317ed69c67c672c852451c45986d7798413e
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Oct 24 12:48:06 2007 -0400
+
+ Add copyright headers and do some cleanups.
+
+commit 9d4b51aab8f5a0c0a4a0c14886d1c87828d9eeb0
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Oct 24 11:41:28 2007 -0400
+
+ Remove the silly function and remove the bogus comment.
+
+commit d76a7b61bb2de2425289f462e07a678cf3c4ba59
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Oct 24 08:34:01 2007 -0400
+
+ Cleanup some code.
+
+commit 5040eefbb758fb0e02125ad3a6bfb3dba13cb7fa
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Oct 24 07:49:24 2007 -0400
+
+ Implement arl, lerp opcodes and do a first stab at if/endif
+ handling and branching support.
+
+commit ba823b3ded1b6ec47b8a0e26ed08a229fe1a9140
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Tue Oct 23 07:11:39 2007 -0400
+
+ Implement cross product and abs opcode
+
+commit 1248b9776bfeec1f61962604b21212d2cf336283
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Oct 22 14:01:52 2007 -0400
+
+ Implement extended swizzling.
+
+commit 743e96eec5f89cf55873b82ee58b4a06d094c0e9
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Oct 22 11:27:34 2007 -0400
+
+ Implement SGE and SLT
+
+commit b04430efd963ca541c435c6c1007feccf5474040
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Oct 22 11:00:28 2007 -0400
+
+ Introduce linux-llvm target. Remove the llvm code from the default build for now.
+ Cleanup some of the debugging output.
+
+commit ba887517160ab2b5a70e01723ee649db1554775b
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Oct 22 08:46:28 2007 -0400
+
+ Align the load/stores. Reduce the amount of debugging output.
+
+commit 6815a9af6c98934e3537507ccbf077d69a5d5320
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Sun Oct 21 11:16:01 2007 -0400
+
+ Cleanup some of the debugging output code
+
+commit 3b772a277fe032c94654648d0671ff42fd3fdce6
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Sat Oct 20 16:59:37 2007 -0400
+
+ Make lit work but in a very lame way - will have to be rewritten.
+
+commit d4d8d7c468c8ba45e302e163dd87b4e45426e1da
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Sat Oct 20 16:55:23 2007 -0400
+
+ Muchos fixos. gears kinda works. and cases don't crash.
+ glorious
+
+commit e9a623d6a69718e3a9cc46dbb54cb4e7bd79f09c
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu Oct 18 08:12:48 2007 -0400
+
+ implement min and max
+
+commit 3ae767dd073e8c24fc159cb86f89e61ea7a0e85f
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu Oct 18 07:20:27 2007 -0400
+
+ Fix some warnings and implement lg2
+
+commit c6a1beb18fa5c556c3889f3a5ebdffe51981ad85
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu Oct 18 07:03:37 2007 -0400
+
+ Implement frc and floor
+
+commit 1c955171c84f5d062f5f0be983de636a1817c6f7
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu Oct 18 05:51:01 2007 -0400
+
+ Implement ex2 opcode
+
+commit bd38f4d92125e648b276344ebb2ab9d517b3e7a5
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Oct 17 13:46:00 2007 -0400
+
+ Implement dst opcode
+
+commit 3c558e17f03a9813d905e7dc38b59ff0ad142ee9
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Oct 17 13:38:53 2007 -0400
+
+ Implement dph opcode
+
+commit 7abe3364b2c463fd3e96c2bc9d07aaa91bcfbc2c
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Oct 17 13:34:25 2007 -0400
+
+ Implement dot4 opcode
+
+commit e20294be114c2593035afaf6fe0726e0ce628ed0
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Oct 17 13:27:25 2007 -0400
+
+ Implement pow/rcp and sub opcodes
+
+commit fcbde5e9f44ee7254b6618b6fe2be98a1c803ed2
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Oct 17 12:13:33 2007 -0400
+
+ Add the "add" opcode and assert one vp if an opcode isn't supported
+
+commit b0f80693434cb203f63d8fbab56c1522000ed88f
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Oct 17 11:28:26 2007 -0400
+
+ Refactor the tgsi->llvm storage translator
+
+commit 3975f34fd36f8b04d499bb6b3d48eaeef5cab24e
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Oct 17 11:27:46 2007 -0400
+
+ Implement basic opcode translation and storage translation.
+
+commit fa2962d14833480e154e8478e57758f18cc1442e
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Tue Oct 16 13:23:43 2007 -0400
+
+ Draw first triangle. Start on the llvm builder.
+
+commit 5e0205023e8e6a08b0eb61286e15eb095f32ab3d
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Tue Oct 16 05:41:06 2007 -0400
+
+ Cleanup some of the testing code. Implement first pass at actually
+ running shaders in llvm.
+
+commit 5ffdada717466a78b5b148764ba23c7a95098887
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Oct 15 09:59:19 2007 -0400
+
+ Execution engine is a singleton, for now keep it in the pipe.
+
+commit 9e6d58fac26a12246e9e560f3802ebcbce2423bc
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Oct 15 08:12:22 2007 -0400
+
+ Generate the base shader.
+
+commit 2dbba8b024720c11cb2d812b5ccb61ecb9887faa
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Fri Oct 12 13:57:53 2007 -0400
+
+ Implement the conversion and do the initial execution pass.
+
+commit 11bc1f015a781760c419bdd53b326132b5146971
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Oct 10 07:21:02 2007 -0400
+
+ Stub out some conversion.
+
+commit b2e529982eb702ea039f6436c9dece39401a4c9c
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Oct 8 10:24:35 2007 -0400
+
+ Initial stab at LLVM integration.
+
+commit 4664261f8d8fefa347bf38a224f6584d0fdeebfc
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 23 15:08:54 2007 -0600
+
+ Fix vertex cache bug that allows multiple vertices to fall into the same slot.
+
+ Need to set the slot's bit in draw->vcache.referenced even when there was a
+ cache hit since flushing the primitive buffer will have cleared the bitfield
+ but not the cache's vertex indexes.
+
+ Fixes a bug found when drawing long triangle fans but could be hit by other
+ prim types as well.
+
+ An alternate fix would be to call draw_vertex_cache_invalidate() from
+ draw_vertex_cache_unreference().
+
+commit 3df65af849280863a15fefcb11f8304b83c9ffa0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 23 15:02:02 2007 -0600
+
+ added comment
+
+commit 40e46d0727920dffdcc23aba150aa3c37c6ecf65
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 23 12:32:02 2007 -0600
+
+ In get_vertex(), slot was computed using & 31. Replace with % VCACHE_SIZE.
+
+ Also, assert that index is not too large before indexing array.
+
+commit be049999829d21a1c9ec9a2c616e99186208266b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 23 11:38:17 2007 -0600
+
+ adjust coords in wide_line() to be conformant
+
+commit c9d495c6f064aacd1e072033b9c17a83b8c37fa1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 23 10:55:24 2007 -0600
+
+ properly init dst reg's CondMask/Swizzle fields
+
+commit 112a1580f658948e553fe04399a20958dca67c16
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 23 10:54:50 2007 -0600
+
+ properly init dst reg's CondMask/Swizzle fields
+
+commit 2a8e9bb00f8cf830783cbc20a2a57f31b19491ea
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 23 10:24:53 2007 -0600
+
+ bump up MAX_INSTRUCTIONS and add an assertion to catch emitting too many instructions
+
+commit e69943e6dda102df8418a8261b95155350181a2f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 23 10:23:01 2007 -0600
+
+ bump up MAX_INSTRUCTIONS and add an assertion to catch emitting too many instructions
+
+commit 5c79c088cd0a2c512891b87b67a3c4f810595658
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 23 08:30:36 2007 -0600
+
+ Don't pad renderbuffers to multiple of two pixels anymore.
+
+ This was only needed to avoid out-of-bounds memory accesses with the
+ 2x2 quad_read/write() functions which no longer exist.
+
+commit e90dd4bf8f3b9eb80cee947e198a28db94dc57b6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 23 08:22:21 2007 -0600
+
+ add directfb glut sources to tarball
+
+commit 2667e5642ffb2081450a167af1213899280da42d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 22 17:50:17 2007 -0600
+
+ don't apply ColorMask to main gc
+
+commit 588c91eb0a93bdb1ae2819db63b081c9d78833d1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 22 17:50:00 2007 -0600
+
+ don't apply ColorMask to main gc
+
+commit 455a08d87d6f838a92bb9260c9f27757e3740593
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 22 17:20:56 2007 -0600
+
+ fix masking bug, memory leak
+
+commit 0a3eaeadb96b313df0ac1e45eba07d39f432db72
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 22 17:20:08 2007 -0600
+
+ don't use GL types for get/put_tile() params
+
+commit beefc6011bce9e99cb46430186de1c13f027cb05
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 22 12:19:54 2007 -0600
+
+ new flag to control psize (from vertex shader or fixed size)
+
+commit 1b4852345954af9b582b03a91a3d8399b8fb0e92
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 22 12:10:30 2007 -0600
+
+ add support for sprite texcoord modes
+
+commit 22e5c4f0f09cff64039b171c5cee6def07395e1f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 22 11:59:26 2007 -0600
+
+ implement point sprite mode
+
+commit cd4d732773e06e462e78b8f5bc9f3f1552a198ac
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 22 11:41:31 2007 -0600
+
+ add point_sprite flag to rasterizer state
+
+commit 34abb93ea10855840a86695a97ccbc89e6d2b9f8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 22 11:41:17 2007 -0600
+
+ remove unused var
+
+commit 8d244159870d6f8d67b844e3c84b0d32a387e59c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 22 11:38:40 2007 -0600
+
+ tweak point corners to pass conform test
+
+commit e3444deec5a369e4ffabfeb9f6c257dd6b8e5a30
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 22 11:01:34 2007 -0600
+
+ plug the wide prims code into the pipeline
+
+commit 80d2bb7c643092e489dba77e4bd02a8684fcc42b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 22 11:01:02 2007 -0600
+
+ update to working condition
+
+commit 70eb7996f265f3634dabda078f13d1be3533cc65
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 22 09:37:26 2007 -0600
+
+ Finish unifying the surface and texture tile caches.
+
+commit ec3bd21c465f27d0a8e313e00338109d21019fc0
+Author: keithw <keithw@keithw-laptop.(none)>
+Date: Fri Oct 19 16:41:13 2007 +0100
+
+ pull clip/ module wide and stippled lines/points code
+
+commit b3204c2aff3f3d442ada04f241f352155a3af205
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sun Oct 21 18:06:35 2007 -0600
+
+ Start implementing cache routines for textures.
+
+ First step to consolidating surface/texture caching...
+
+commit c2322333b8d1732f4c6d4b71ff5ee2ea772d3cb5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sun Oct 21 17:15:07 2007 -0600
+
+ rename some vars
+
+commit cae640eae63544211710a2848e23f6d1d74f827f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sun Oct 21 17:14:46 2007 -0600
+
+ silence warning
+
+commit 49848208cf1faba49a83fb8872a29f6fa910127d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Oct 20 16:09:17 2007 -0600
+
+ Remove obsolete read/write_quad() functions
+
+commit 03145d864ce21094592ae847fbe8da57c419374e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Oct 20 15:52:59 2007 -0600
+
+ init sp->sbuf_cache to avoid possible segfault
+
+commit f9aa75718708076e50033287fde993799878ecf6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Oct 20 15:52:36 2007 -0600
+
+ Call softpipe_unmap_surfaces() in softpipe_flush().
+
+ This fixes a DRM BO failure upon swapbuffers caused by the color buffer
+ still being mapped.
+ This is a bit heavy handed since we don't always need to unmap buffers
+ when flushing. Need to pass a flag to flush() or design a new function.
+
+commit 7c8b2f7ce33a672a90de8000bcbf15ec764e9d85
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Oct 20 15:45:24 2007 -0600
+
+ In region_unmap(), check if region is mapped before decrementing refcount.
+
+commit bb3d61551c8bb3fc60ca48bd2394d4ba7ba004d2
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Oct 20 15:21:02 2007 -0600
+
+ flush the pipe before accum ops
+
+commit a1633c07164e8bc9630f1fa77769e7ceee585a59
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Oct 20 15:20:46 2007 -0600
+
+ unmap regions when reallocating renderbuffer storage
+
+commit fd3876e9e3fb17df61dbf45d400796d682a8fbe0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Oct 20 15:20:17 2007 -0600
+
+ renderbuffer tweaks in update_framebuffer_state()
+
+commit 46e2d2bb0a7423122412e3f119fdd89fedd9aef6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Oct 20 15:19:14 2007 -0600
+
+ use combined depth/stencil buffer when possible
+
+commit 7e8396399824108d62dc3e02b2af0422e98aab8e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Oct 20 15:18:02 2007 -0600
+
+ Convert Z/stencil ops to use cached tiles like colors.
+
+ Also, quite a bit of re-org of the tile caches and surface mapping/unmapping.
+ Leave surfaces mapped between primitives now.
+
+commit 832e73bc098fa8fd680d70cb495f495b33769630
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Oct 20 10:09:12 2007 -0600
+
+ added case for TGSI_OPCODE_END
+
+commit c492725abfab8df545a5adea3cd124cba3ba5c4c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Oct 19 12:47:05 2007 -0600
+
+ get/put_tile_raw() funcs for 16/32bpp surfaces
+
+commit d4a9d4bdefb0670554c2e8ee35129d40c06b64ad
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Oct 19 12:45:54 2007 -0600
+
+ added get/put_tile_raw() methods
+
+commit ffd37b1fda1c880028f2c353edbf4807d55b6844
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Oct 19 12:42:05 2007 -0600
+
+ don't alloc region in xmesa_surface_alloc(), fixes a mem leak
+
+commit 257f0da6a2e9cc687c0cdc76c0fb326eab9e9ac9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Oct 19 10:13:55 2007 -0600
+
+ disable debug printf
+
+commit 96b06ac557b721f0b1b9cc05b1d2b3a289701ae5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Oct 19 10:12:00 2007 -0600
+
+ call Driver.Flush() in _mesa_notifySwapBuffers()
+
+commit 2b2f761e2b0dc160793be2f48e811d2d455e1e22
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Oct 19 10:10:08 2007 -0600
+
+ Initial implementation of surface tile caching.
+
+ Instead of using read/write_quad() functions, do framebuffer accesses via
+ get/put_tile(). A cache of tiles is used to avoid frequent get/put() calls.
+ Only implemented for color buffers right now.
+
+commit 46c3cf18315345effd15a69987294c1195843e2a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Oct 19 10:08:24 2007 -0600
+
+ Tile cache functions.
+
+commit 5cf4fc5832cef855158337c2bb71ebcc4e3caa1d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Oct 19 10:07:55 2007 -0600
+
+ clamp/clip in put_tile(), move softpipe_init_surface_funcs() call
+
+commit b57f573b9907df351ccc9a7853e94b0efdf35218
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Oct 18 16:27:01 2007 -0600
+
+ remove old comment
+
+commit 0007cd7ba0a61fcbcf9c9d19e014408be25ae496
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Oct 18 15:18:55 2007 -0600
+
+ Alternate CopyPixels path based on get/put_tile().
+
+ For some drivers (like Xlib) it's not possible to treat the front/back color
+ buffers as pipe_regions. So pipe->region_copy() won't work. Added a new
+ state tracker field indicating if we can use regions for colorbuffer accesses.
+ This should probably be re-considered someday...
+
+commit 5d39f4f9fdba4cd3333a39af583a73b85eb6bb74
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Oct 18 15:14:50 2007 -0600
+
+ fix bug in copy_rect(), use temp vars in sp_region_copy() to aid debugging
+
+commit 874b6b9960ee3778182cf331f6faf59d477eb214
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Oct 18 14:30:03 2007 -0600
+
+ fix off-by-one error in CopyPixels src position
+
+commit d44e515fd77d088862c5f19ef9a7aa92b04b5f13
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Oct 18 14:22:38 2007 -0600
+
+ fix upside down CopyPixels image
+
+commit 68b88fab882d882abbdc555ddd2c6df37a7e125e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Oct 18 14:20:38 2007 -0600
+
+ fix function name
+
+commit 563584a4ee853c45b7a4b60c68ac8dea4d92942d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Oct 18 13:27:10 2007 -0600
+
+ checkpoint: code refactoring for glCopyPixels
+
+commit a074857cdc00fb73eed826503360b37cb251ade1
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Thu Oct 18 15:19:08 2007 -0400
+
+ glxinfo: Try creating a GLX context using an fbconfig if no visuals are available.
+
+commit bdc574c5bd3cf1a493d70863436b773d0a8a73a7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Oct 18 12:31:35 2007 -0600
+
+ start implementing glCopyPixels (stencil works)
+
+commit 8f3fb395ff9bec371942e0769763daa4c59f876b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Oct 18 12:31:05 2007 -0600
+
+ make read_stencil_pixels() non-static
+
+commit 447c93dd1b3bb31fe19fa81b32d1c3c62ab65c54
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Oct 18 11:09:12 2007 -0600
+
+ Change type of shader->executable field from void * to generic function pointer.
+
+ Fix warnings in draw_create_vertex_shader()
+
+commit b21f4ac15fc190b474e1686d50a6992caed9c388
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Oct 18 11:05:03 2007 -0600
+
+ added const qualifiers
+
+commit 2ae9f53c9d56ca1898d30cbd359c1fd31027ae6c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Oct 18 11:03:39 2007 -0600
+
+ better debug code, silence some warnings
+
+commit 54c5262eaff45bea8fa01305fa423341998fdc4e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Oct 18 10:55:26 2007 -0600
+
+ print vertex input mapping
+
+commit 5bd119f9438b680f5e42458ef0b250662af36235
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Oct 18 10:42:47 2007 -0600
+
+ handle fogcoord/raster distance
+
+commit 66586762f1d2a3a310cf83e177d3c659a93486c8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Oct 18 10:16:40 2007 -0600
+
+ added st_debug.c
+
+commit 958c92e0c74f8cd4b303e7a7485a1c8b8cfde2cb
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Oct 18 10:16:28 2007 -0600
+
+ debug functions
+
+commit 376fb1c23efd437109da88cd2e53fca9d1c77bf2
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Oct 18 10:09:01 2007 -0600
+
+ fix logic error in stipple_quad() (point/line fragments were getting dropped)
+
+commit a22fafbb4b6b772c531651ada53661749cd1f29e
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Thu Oct 18 16:36:04 2007 +0000
+
+ Corrected the file permissions in src/mesa/pipe.
+
+commit 950fff0f9a330c50a627ced2e8cff2fb4689bee0
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Oct 18 18:30:15 2007 +0200
+
+ i915: Add some sanity checks to blit command debugging code.
+
+commit d16b844ff64082b62ad481f543fcef587a1c1612
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Thu Oct 18 16:01:42 2007 +0000
+
+ pipe/draw/draw_context.c:47: error: 'false' undeclared (first use in this function)
+
+commit 7cd58433fa59fe9db38b515a48feeef23405630e
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Thu Oct 18 14:45:32 2007 +0000
+
+ sp_context.c:255: error: 'false' undeclared (first use in this function)
+
+commit a663e846b63c33685a9e88c8904f5e3a225f6e85
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Oct 17 13:11:01 2007 -0700
+
+ Framework for supporting z24_s8 and z32 depth textures on r300.
+
+commit 42a4386a4c18932221c59607e6d22b864a2577fb
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Oct 17 12:07:04 2007 -0700
+
+ Initial support for ARB_depth_texture
+
+ Currently only GL_DEPTH_COMPONENT16 are supported. I don't know what the
+ hardware bits are to select the other formats, but it shouldn't be too hard
+ to figure out.
+
+commit b961eccc92d853eb573597ffc73304b65aa800c4
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Oct 17 12:05:55 2007 -0700
+
+ Support cards that have ARB_fp but not ARB_shadow.
+
+commit 374158b0440b24b71389d06fdf306b176c1186e7
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Oct 17 10:39:24 2007 -0700
+
+ mga: Enable (trivial) support for GL_APPLE_vertex_array_object, bump DRIVER_DATE
+
+commit 366b2c690295ed4bd4dda429be945db814a069d6
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Oct 17 10:36:48 2007 -0700
+
+ mga: Enable (trivial) support for GL_EXT_gpu_program_parameters.
+
+commit 17c2f56dc3f2f58ba89d8e305e7d9b423e3cae16
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 17 17:22:06 2007 -0600
+
+ fix interpolation bug in nearest-image/linear-mipmap filtering
+
+commit f953c223df26293f955f7d0621a6f917e9cc9768
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 17 16:23:25 2007 -0600
+
+ remove #include vf.h
+
+commit 52111366cc34e367993b5ec785fe331891a3da5e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 17 16:19:10 2007 -0600
+
+ disable the NeedFlush assertion for now
+
+commit 49adf51eeec31c9f3c995a70acc5008522689708
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 17 16:18:45 2007 -0600
+
+ Add some FLUSH_CURRENT() calls.
+
+ Without these we can find ourselves in _mesa_load_state_parameters()
+ computing derived lighting/material values whhen the current material
+ properties haven't been updated from the VBO.
+ This may be a somewhat wide-spread problem that needs more attention...
+
+commit 420c062cb68e4e313ef34bd879852a003101169e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 17 15:59:59 2007 -0600
+
+ Assert that there's no outstanding current state that needs to be flushed from the vbo in _mesa_load_state_parameters().
+
+ Several of the state parameters use current state (such as materials).
+ Need to make sure those values are not stale.
+
+commit aad5c0fdc79153e7997f2140ae758db367e6c932
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Wed Oct 17 17:03:33 2007 -0400
+
+ pbutil: Do not require GLX_SGIX_pbuffer for fbconfig only-functions.
+
+commit 5cb0d749b07be4ecbf4d4d7cde18aecdfe2dba38
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 17 14:57:15 2007 -0600
+
+ formatting fix
+
+commit e48ea925105fb74312f6e2f608b909f897a834e8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 17 14:56:55 2007 -0600
+
+ fix addressing error in read_stencil_pixels()
+
+commit ad053d90f01852ee27e36a21402543562bf46ad6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 17 14:30:18 2007 -0600
+
+ Replace repeat_remainder() with a simpler macro that just casts args to unsigned.
+
+commit 906768316d9521a32d9a7eebc9edaf76c06a98a7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 17 14:29:12 2007 -0600
+
+ Replace repeat_remainder() with simpler macro that just casts args to unsigned.
+
+commit df4410a59784482fcbd48f82788dd0a9f5a62c15
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 17 14:16:42 2007 -0600
+
+ reorder params to get_texel()
+
+commit 3d6f9d904f07b7676cc971eb3faf9dd8e7c58e50
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 17 14:13:21 2007 -0600
+
+ implement 3D texture sampling
+
+commit 6c753ad51d05fcff260fcf8cccf613d47027171f
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Wed Oct 17 15:05:47 2007 -0400
+
+ Pull workaround for unset GLX_DRAWABLE_TYPE back in.
+
+ The old version just set GLX_DRAWABLE_TYPE to GLX_WINDOW_BIT for
+ configs received through glXGetVisualConfigs and to
+ GLX_WINDOW_BIT | GLX_PIXMAP_BIT for configs received as FBConfigs.
+ The X server needs to send this info, but keep the workaround for now.
+
+ Fixes #12835.
+
+commit a5b4bb393f818d9906ed7862b9b8e4d2fa401603
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Wed Oct 17 14:43:35 2007 -0400
+
+ glxinfo: Also print number of fbconfigs.
+
+commit 7392dac9621ae2e87485d24d17845558a165519d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 17 12:42:29 2007 -0600
+
+ When in GL_FEEDBACK mode, make sure we emit color and texcoord registers.
+
+commit 38743e2ef1091304a7059c04c157fde80bd977ec
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 17 12:32:21 2007 -0600
+
+ generate selection hit if in selection mode and pos is not clipped
+
+commit 4338f0f709255cc4d69d01b9aca579bca31ac269
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 17 12:27:40 2007 -0600
+
+ Update framebuffer state in response to _NEW_COLOR (set by glDrawBuffer)
+
+commit 2dd27cfdd981b3b2c973066082b1168c4cb6f42c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 17 11:24:06 2007 -0600
+
+ Fix viewport Z scale/bias to get the right Z values from drawing the quad.
+
+commit 4f23468bd0d14b8ed687a641003d587b91ad39a7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 17 10:52:30 2007 -0600
+
+ don't crash if texture border is used (unsupported for now)
+
+commit 863cc0af74f8c02711e09cb78bf2c24d8783daae
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 17 10:51:55 2007 -0600
+
+ fix square point rasterization
+
+commit 86b81ef5aa14a2fa7be6e5c319c00324028a1761
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Wed Oct 17 18:28:03 2007 +0200
+
+ Don't call the driver clear hook when the effective scissor rectangle is empty.
+
+commit b4531121330fa85a072f129d11e8432b5294c789
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Wed Oct 17 18:26:31 2007 +0200
+
+ i915: Don't emit 'empty' blit rectangles.
+
+ The hardware seems to interpret them differently and produce unexpected
+ results...
+
+commit 87966baa8d15ff58cd63da23627a4285bb7fb7e7
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Wed Oct 17 10:14:55 2007 -0400
+
+ Fixup a couple of thinkos in glxinfo changes.
+
+commit 7db3cf8c48a3fb73cd742dbc02394f10027db9ed
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 16 18:46:14 2007 -0600
+
+ lower clamp bound for UNCLAMPED_FLOAT_TO_SHORT() is -1
+
+commit 45700ac280ddd5e23c57763129257d7fba171d9d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 16 18:45:42 2007 -0600
+
+ use new st_clear_accum_buffer() function
+
+commit 2de9477feea4b2d3996a2118b36924fe8474a7d5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 16 18:45:28 2007 -0600
+
+ New st_clear_accum_buffer() function (can't use pipe->clear() since it doesn't handle negative color values)
+
+ Also, remove unneeded clamping in the accum ops.
+
+commit 495961716430b1ff99078abe1a7ac9bc07dd6116
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 16 17:59:24 2007 -0600
+
+ front/back determination was wrong
+
+commit 29cfec1581769c1bf25a221dbc89623722d422c2
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 16 17:56:13 2007 -0600
+
+ remove debug assertion
+
+commit efdacc90b4f8262706715f4bf918cf11378922be
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 16 17:43:41 2007 -0600
+
+ Update mask calculations for point drawing.
+
+commit bd35c53143560177a045b314c9b4196c229f4a4c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 16 17:37:46 2007 -0600
+
+ Fix broken polygon stippling (see comments for details).
+
+commit 0edd490a96a53f83d2fb18a570cf20a4a0c5ee40
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 16 17:36:37 2007 -0600
+
+ Redefine QUAD_TOP_LEFT, TOP_RIGHT, etc. to reflect Y=0=TOP raster layout.
+
+commit 6c533ea2d1953152f7d95d6c984e0d287edb46c2
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Tue Oct 16 16:07:47 2007 -0400
+
+ Handle fbconfigs and glx visuals separately.
+
+ The old implementation fetches fbconfigs or glx visuals once and assumes the list
+ describes both fbconfigs and glx visuals. This patch splits it up and fetches
+ visuals and fbconfigs in two steps and keep the two lists separate. A server
+ could have no glx visuals or no glx fbconfigs and the old code wouldn't know the
+ difference.
+
+commit 791ad0e77f48cd17f7c893bfbf63f21e62caee40
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Tue Oct 16 16:01:34 2007 -0400
+
+ Implement support for printing glx fbconfigs in glxinfo.
+
+commit f7d1d554b12995b09dae79193bbf0d40478a19fd
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Mon Oct 15 20:12:01 2007 -0400
+
+ glxinfo: Only print visuals that actually support GLX.
+
+commit 919f617d08a34d01dd916b08ca4f315bae84f21c
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Oct 16 12:25:35 2007 -0700
+
+ Replace symlink generation from i915 with files in intel/ and symlinks there.
+
+commit 63b0b5b6c74fcca7d84ac13b893a1f1f5becf39d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 16 12:04:16 2007 -0600
+
+ fix perspective-interpolated attribs for points, liens
+
+commit ce0f2e88e3f71427dabf0dc37900ce0b47ae8003
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 16 08:53:08 2007 -0600
+
+ fix blend term translation bug, rename some funcs
+
+commit 3feefeeb35c73ba6a8e0d81506891988bfcda5ef
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue Oct 16 15:48:46 2007 +0200
+
+ i915: Make sure extensions that require TTM actually work.
+
+commit 70eb456a7626b7315e787f6019a405db359e0b5e
+Author: Dave Airlie <airlied@linux.ie>
+Date: Tue Oct 16 22:10:44 2007 +1100
+
+ i915: fixup TTM interfaces to follow drm changes
+
+commit 9c4d104e98bb2cc8d5719d00445db0617c8f5de1
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue Oct 16 13:01:44 2007 +0200
+
+ i915: Re-enable __DRItexOffsetExtension.
+
+ This seems to have got lost somehow during the recent DRI interface changes.
+
+commit c838d4c8763135a912616eceb6b6ced09f5762e0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 15 19:14:40 2007 -0600
+
+ finish remaining blend modes
+
+commit cab0dce6766c9ac728bc9f88dc94b8651fc257fb
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 15 18:00:17 2007 -0600
+
+ fix fog, rescale_normals bugs (from gallium branch)
+
+commit cd54414b75476b793867b863da0cbb9f079f613c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 15 17:59:16 2007 -0600
+
+ fix incorrect register in get_eye_normal() for rescale_normals case
+
+commit b2605d5f803f51f216fd815374b59dfc616f7e13
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 15 17:27:54 2007 -0600
+
+ GL_UNSIGNED_BYTE indexes
+
+commit 7abc78a9678cf09e7a39869549ed369802c43d58
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 15 17:26:01 2007 -0600
+
+ implement logicop
+
+commit 566c11254f09259311f64816786375eeeee9e61b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 15 15:31:24 2007 -0600
+
+ remove commented out #include
+
+commit ce8988018ca2d838c93df904271b2afc62d6b021
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 15 15:30:45 2007 -0600
+
+ check for width or height = 0 before calling driver Bitmap func
+
+commit b1f136dba21c688a2fa347a56ab8bf8c784dd51f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 15 15:30:13 2007 -0600
+
+ Fix useabs logic in build_fog().
+
+ We always need to compute the absolute value of the fogcoord if we're
+ passing it through for per-fragment fog.
+
+commit b4deb73fabf8aa545ba6ac25ca08f5d05ede2178
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 15 15:05:39 2007 -0600
+
+ remove feedback hack
+
+commit 0585b4e746f35efbc8577311eab6679951217ac3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 15 15:05:08 2007 -0600
+
+ Undo prev changes.
+
+commit 65b1f6947f0d4d83a942478383d27ba84a02b20f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 15 13:42:56 2007 -0600
+
+ setup vertex format for GL_FEEDBACK mode
+
+commit 520ad5f854723955c89584e4fa0bd172d0969e09
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 15 13:25:13 2007 -0600
+
+ GL_SELECT mode works now
+
+commit 230225c5d746e4f62d71dda8c2832cc25eb28afe
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 15 13:06:53 2007 -0600
+
+ formatting
+
+commit 8630e5edb36f00de30117d56c1691363d471c0cc
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 15 13:05:15 2007 -0600
+
+ call pipe->set_vertex_buffer() after drawing/unreferencing.
+
+ This fixes potential a stale reference to vertex buffers.
+ Fixes cubemap demo on i915.
+
+commit e3a729a681cfdc9733c833c9574459f577058bbf
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 15 11:48:20 2007 -0600
+
+ fix logic for printing extended swizzles
+
+commit 369eefc34c8d7acdb881ea5b0516406d71344fc4
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 15 11:47:53 2007 -0600
+
+ add 'normalized_coords' field to pipe_sampler_state
+
+ This controls whether texcoords are interpreted as-is or scaled up from [0,1].
+ Fixes glDrawPixels/glBitmap problems on i915 when image is non power-of-two.
+ Also, cleans up the CSO sampler state for i915 a bit.
+
+commit c8bf63e992f902f1bef0c20e5b50f397c4d219a7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 15 11:28:25 2007 -0600
+
+ feedback/rasterpos fix-ups
+
+commit 3eeef8aabe399a404d5c86dcc23066d9b5453a7f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 15 10:30:38 2007 -0600
+
+ Change 'drawing' field to boolean.
+
+commit 66ea4b7c7c6c61cfacb3640cfc264cae575062cd
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 15 10:30:09 2007 -0600
+
+ remove unused includes
+
+commit 583c11d38375c535d3835d89012fa5318bbd34ce
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 15 10:28:18 2007 -0600
+
+ simplify KIL usage for bitmap fragprog
+
+commit 41b3fcbf0404bc4a4f6588c0feef553bb65d4440
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 15 10:27:12 2007 -0600
+
+ check for extended swizzles, added TGSI_OPCODE_KILP
+
+commit 29db69e222b04b5a616942b06bd118c9ac75ec41
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 15 10:25:42 2007 -0600
+
+ added print_texkil_op()
+
+commit 7a88ecbd1aae1b64ddb3c5dad15276b044e5e6af
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Mon Oct 15 12:16:45 2007 -0400
+
+ Roll back premature version bump.
+
+commit a87e9a3479aa8fc2d3aab7ee848224418b04bde3
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Thu Aug 30 13:05:59 2007 -0400
+
+ Dont add fbconfigs to array that we didn't allocate for.
+
+commit 157eeb5c3b1ed16d67247f41e83dad3cda6e31ef
+Author: Andreas Micheler <Andreas.Micheler@Physik.Uni-Augsburg.de>
+Date: Mon Oct 15 08:26:03 2007 -0600
+
+ faster write_rgba_span_front()
+
+commit e7af94416240f79ac609ff096690a1929664944e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sun Oct 14 12:34:55 2007 -0600
+
+ implement accum ops
+
+commit a7611dce40e532f6c768ed7011725fcfb6424883
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sun Oct 14 12:32:39 2007 -0600
+
+ implement put_tile()
+
+commit 90f7ae2370630c45acb9287465806e5fcac44033
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sun Oct 14 11:55:45 2007 -0600
+
+ accum buffer support
+
+commit 7b0b694406e4043cb163f9832c9c02934fa54568
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sun Oct 14 11:55:31 2007 -0600
+
+ 16-bit rgba surface/format for accum
+
+commit d45fdc3f1f8200c1f1703bdcd5a74a153c74b1c4
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sun Oct 14 11:53:15 2007 -0600
+
+ 16-bit RGBA surface format for accum buffers
+
+commit 9f797d8cb323f5f61ac8cffcba3329b6f42721aa
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sun Oct 14 11:52:00 2007 -0600
+
+ Added accum function/files.
+
+commit f33e1a440309d7dd04c0e86a67a2bdc8a38f962f
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Sun Oct 14 20:33:56 2007 +0300
+
+ typo
+
+commit fe20ac2a6b6bb7dee927ee4040debf16e514a858
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Tue Sep 25 12:49:29 2007 +0300
+
+ Add GL_CORE_WINDOWS define to glcore.h
+
+ This is for consistency with glproto. The GL_CORE defines should probably be
+ dropped.
+
+ ----
+
+ Author: Alexander Gottwald <alexander.gottwald@s1999.tu-chemnitz.de>
+ Date: Mon Jun 21 13:35:05 2004 +0000
+
+ Bug 782: Merge native OpenGL for Windows from CYGWIN branch
+
+commit d7c137b0df8e27131b69872eb957e56f692cf551
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Sun Oct 14 19:59:33 2007 +0300
+
+ Drop include "dri_interface.h" from xf86dri.h
+
+ Thanks to dri2, xf86dri no longer uses __DRI types.
+
+commit c095f7e46adccdc65dc6623c1f73e87c5be782ad
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Thu Aug 30 13:00:20 2007 -0400
+
+ Do XSync() before resetting error handler.
+
+commit d0b68b215d7f172fb76f02745208fb9c5024f23d
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Mon Aug 27 14:15:49 2007 -0400
+
+ Uncomment GLX_SGIX_pbuffer definition.
+
+commit 8b2041191517a7aeaaa77a6896cdd15f97c4c100
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Mon Aug 27 14:16:30 2007 -0400
+
+ Get the width and height from the attrib list in glXCreatePbuffer.
+
+commit 69466c60a5286328d140a5100580c90e9bf62327
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Oct 13 12:29:11 2007 -0600
+
+ GL_STENCIL_INDEX support
+
+commit fa1d442879f1279cf510a52a1002367b904d35ad
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Oct 13 12:28:53 2007 -0600
+
+ GL_STENCIL_INDEX support
+
+commit 12f41c8884616b8b0c0e445a8bd3f0587a970d1a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Oct 13 12:28:34 2007 -0600
+
+ format info for Z16/Z32
+
+commit 1e2770e2e6244a0decbf077dfd34a3763428a2c0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Oct 13 12:27:10 2007 -0600
+
+ inequality tests were backward
+
+commit a2c8b0e861e7c84d927b636663ac39f8cdc504a3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Oct 13 11:11:59 2007 -0600
+
+ glDrawPixels support for GL_DEPTH_COMPONENT
+
+commit d75acc8ffa47dbd85d864b2f6ab028652e45044d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Oct 13 11:11:11 2007 -0600
+
+ Check texture format in get_texel() to handle depth textures.
+
+commit eb389aaf720a08045bc2492dd6cf50f1a2e44e87
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Oct 13 09:05:20 2007 -0600
+
+ get_tile() of Z surfaces returns floats now
+
+commit a1e332950bf5f6460af81ad29f5917c84649f249
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Oct 13 09:04:35 2007 -0600
+
+ added z16/z32_git_tile(), change s8z24_get_tile() to return Z as float, ignore stencil
+
+commit f9c6dfc4d12451c21f39f38b048758cbee5723cf
+Merge: bf805d3 a249446
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Fri Oct 12 19:35:04 2007 -0400
+
+ Merge branch 'dri2'
+
+ Conflicts:
+
+ src/mesa/drivers/dri/i915/intel_screen.c
+
+commit 89414d951d329cd70f947a3b85dee714c518dcc8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Oct 12 16:16:20 2007 -0600
+
+ Use KIL in glBitmap shader to cull the fragments for 0 bits.
+
+commit 47fc06753ec4319a3ac6470060a4582975daceda
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Oct 12 16:13:15 2007 -0600
+
+ added assertion to be sure we don't exceed bitfield size
+
+commit 2a699038dc2412311f89f9fd843522e784ad8fa3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Oct 12 16:12:22 2007 -0600
+
+ added code to print extended swizzles
+
+commit 4becfdfdd871bba5304d87159892a0ff9df222b8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Oct 12 16:11:58 2007 -0600
+
+ change exec_kilp() to only touch lowest four bits in kilmask
+
+commit e552b9bd099b9fce1cd58ce7922a0c9f74cad034
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Oct 12 09:42:06 2007 -0600
+
+ initial use of KIL for glBitmap rendering
+
+commit bf805d3bf5bf191aa669b6155316a78917cf9b0e
+Merge: 9e06cf0 72c8888
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Oct 12 11:02:46 2007 +1000
+
+ Merge branch 'master' into i915-superioctl
+
+commit 9e06cf00cfb24528653913fc90eded4d370c1149
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Oct 12 11:01:17 2007 +1000
+
+ i915: only enable TTM path if drm minor is > 11 for superioctl
+
+commit ea2278bc793670d4b7922131d1638f2446c896e0
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Oct 12 10:59:38 2007 +1000
+
+ dri: remove ttm common code since superioctl is device specific
+
+commit 7fc5c0307af98e1a0ff7e9081b07f940d1e3f916
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Oct 12 10:56:25 2007 +1000
+
+ i915: fixup reloc header defines
+
+commit 72c888869f4e5074e57c349ec356798959be791e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Oct 11 18:25:12 2007 -0600
+
+ Example of cooperative rendering into one window by two processes
+
+commit f1104b079f7992f60925fc6c08544cb8ab3cade4
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Oct 11 16:39:02 2007 -0600
+
+ New glxsnoop demo to display another window's z/stencil/back buffer.
+
+commit 3fb88639af09af2f77203fd633c19ea736a7c0e5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Oct 11 11:09:36 2007 -0600
+
+ Init draw->prim = ~0
+
+ We weren't rendering correctly if the first thing drawn was a point (PRIM_MODE_POINT=0).
+
+commit a2494462cb7d557a7643452c720e0ab8fa9f4f63
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Thu Oct 11 12:49:26 2007 -0400
+
+ Drop no longer implemented MESA allocate extension from i915.
+
+commit f05c76ec1a5d8444c75f059d4e6f7e5bcd8c6644
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Oct 11 10:33:31 2007 -0600
+
+ remove unneeded cast
+
+commit afd6bd3cb0036089f7fe01eb140b5d9ee2654ce9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Oct 11 10:03:59 2007 -0600
+
+ rename some vars, updated comments
+
+commit 3ab326e1d7ef0ae9bd03dbce33e791449b865ba1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Oct 11 10:01:17 2007 -0600
+
+ remove unused tgsi_attrib_to_mesa_attrib()
+
+commit 55dd7d794719ebdbf62b58cc15e022ce1e430873
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Oct 11 10:00:54 2007 -0600
+
+ update st_feedback_draw_vbo()
+
+commit 4d79f2c4a2ef87595558051b3bdaeb54b4bd0339
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Oct 11 09:48:06 2007 -0600
+
+ streamline st_draw_vbo() a bit more, free user-space buffers at end
+
+commit ccff0cb26378ce370fc8697a2a2ada138d2e119e
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Thu Jun 7 19:35:54 2007 -0400
+
+ Add a version field to __DRIextension.
+
+commit f29f0ae8383888a6493b615edc3bab254cf6df39
+Author: Kristian Høgsberg <krh@hinata.boston.redhat.com>
+Date: Tue May 22 12:26:02 2007 -0400
+
+ Move new texOffset extension to the new extension mechanism.
+
+commit ecdb45cb29e3209287cc297081596126e955ff2b
+Author: Kristian Høgsberg <krh@hinata.boston.redhat.com>
+Date: Thu May 17 16:11:19 2007 -0400
+
+ Convert a left-over private void * to __DRIcontext *.
+
+commit 3eaec7dc5d9b859cd394288ba73ae7e692f26a50
+Author: Kristian Høgsberg <krh@hinata.boston.redhat.com>
+Date: Thu May 17 15:47:47 2007 -0400
+
+ Move enabling of DRI extensions into glxextensions.c
+
+commit 594006d8b2960b9e49b57c02682289ae900ffc71
+Author: Kristian Høgsberg <krh@hinata.boston.redhat.com>
+Date: Thu May 17 15:33:14 2007 -0400
+
+ Remove now unused getProcAddress from DRIinterfaceMethods.
+
+commit f968f67e6214416f04b8875ce59a94a02f464c81
+Author: Kristian Høgsberg <krh@hinata.boston.redhat.com>
+Date: Thu May 17 14:39:06 2007 -0400
+
+ Add a DRI_ReadDrawable marker extension to signal read drawable capability.
+
+commit 106a6f29bbdc71982afd629bdf89369cefd1459e
+Author: Kristian Høgsberg <krh@hinata.boston.redhat.com>
+Date: Wed May 16 18:13:41 2007 -0400
+
+ Move media stream counter entry points to new extension.
+
+commit 71efb6cf69724da2f1e783a13c3074d4e8645c64
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Oct 11 09:11:13 2007 -0600
+
+ clean-up, streamline st_draw_vbo()
+
+commit a7a0a2beb54dcb78d7e0ab64cf2f5a6ede8191a4
+Author: Kristian Høgsberg <krh@hinata.boston.redhat.com>
+Date: Wed May 16 15:50:40 2007 -0400
+
+ Move GLX_MESA_swap_frame_usage DRI entry points to the new mechanism.
+
+commit 98e638aa8df9f5b789b68a7a742666a4b06b6cb3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Oct 11 09:10:43 2007 -0600
+
+ implement intel_user_buffer_create()
+
+commit cdc156d52f4ac33898b4a0e4930a1a9ebe3c81cf
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Oct 11 09:10:19 2007 -0600
+
+ Initial support for user-space buffer objects.
+
+ Basically, add userBuffer/Data/Size fields to _DriBufferObject, check those
+ fields in driBOMap/Unmap().
+ New driGenUserBuffer() function.
+
+commit 78a6aa57a0155d72280dd91c05513c847bf76f3b
+Author: Kristian Høgsberg <krh@hinata.boston.redhat.com>
+Date: Wed May 16 14:10:29 2007 -0400
+
+ Move GLX_MESA_allocate_memory related functions to new extension mechanism.
+
+commit 453ac4b1ebc70aeabb182f2b336c6abb3324323e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 10 18:00:12 2007 -0600
+
+ Use winsys->user_buffer_create() to wrap user-space vertex arrays and element buffers.
+
+ Now client-side vertex arrays and glDrawElements work.
+ More testing/debug/clean-up to come...
+
+commit 66ab569590f3bb9232eb7a04988ed477fe7fe2c5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 10 17:58:12 2007 -0600
+
+ implement the user_buffer_create() function
+
+commit fcdd34de4b169dc12991f7894266ee834e9bf768
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 10 17:57:47 2007 -0600
+
+ Added user_buffer_create() method
+
+ This is used to wrap user-space data in a pipe buffer object to allow more
+ uniform treatment of various things. For example, wrapping client-side
+ vertex arrays so they look like VBOs.
+
+commit 3f226d4bafcc7b174ee42e4b5a2a4fb3756758ad
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 10 17:50:31 2007 -0600
+
+ added SSCALED cases in fetch_attrib4()
+
+commit efaf90b03e8b69e04909bce071f8ef6b65cc0e9d
+Author: Kristian Høgsberg <krh@hinata.boston.redhat.com>
+Date: Tue May 15 16:09:44 2007 -0400
+
+ Move swap_interval to new extension mechanism.
+
+commit ac3e838fa748c8c8a6ffc04d1ab13da71f75f103
+Author: Kristian Høgsberg <krh@hinata.boston.redhat.com>
+Date: Tue May 15 15:17:30 2007 -0400
+
+ Move the copySubBuffer extension over to the new mechanism.
+
+commit 178beffd35c886894c5d213bbe3bdde9fa47e863
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 10 16:51:09 2007 -0600
+
+ update comments (s/softpipe/gallium/ etc)
+
+commit f616a263a25eda135800bea7d3a863c569b93e30
+Author: Kristian Høgsberg <krh@hinata.boston.redhat.com>
+Date: Tue May 15 12:31:31 2007 -0400
+
+ Implement new screen extension API.
+
+ This new API lets the loader examine DRI level extensions provided by the
+ driver in a forward compatible manner.
+
+ Much of the churn in the DRI interface is adding support for new
+ extensions or removing old, unused extensions. This new extension
+ mechanism lets the loader query the extensions provided by the driver
+ and implement the extensions it knows about. Deprecating extensions
+ is done by not exporting that extension in the list, which doesn't
+ require keeping old function pointers around to preserve ABI.
+
+commit 295dc2d225ccac1951c0fcc2c08119f31d1b575c
+Author: Kristian Høgsberg <krh@hinata.boston.redhat.com>
+Date: Mon May 14 17:07:16 2007 -0400
+
+ Stop passing in unused fbconfigs to createNewScreen.
+
+commit 64106d0d9aeefa6974317042b6bc3e5eaabac5a2
+Author: Kristian Høgsberg <krh@hinata.boston.redhat.com>
+Date: Mon May 14 16:58:37 2007 -0400
+
+ Pull createNewScreen entry point into dri_util.c.
+
+ This pulls the top level createNewScreen entry point out of the drivers
+ and rewrites __driUtilCreateNewScreen in dri_util.c to be the new entry point.
+
+ The change moves more logic into the common/ layer and changes the
+ createNewScreen entry point to only be defined in one place.
+
+commit babdd1f6516a21d774a15432290358640aa099d8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 10 16:21:28 2007 -0600
+
+ minor optimization for color/z results
+
+commit efd03a278ae55b454509e9659c42899133983ebd
+Author: Kristian Høgsberg <krh@hinata.boston.redhat.com>
+Date: Mon May 14 16:37:19 2007 -0400
+
+ Replace open-coded major, minor, and patch version fields with __DRIversionRec.
+
+commit d37e048cd1e24952214267a2c33cbaf346c10b26
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 10 16:19:49 2007 -0600
+
+ disable some assertions which pop up during window resize, but can be ignored for now
+
+commit 5987a03f994af2bb413d1cf984ab01aa095c0943
+Author: Kristian Høgsberg <krh@hinata.boston.redhat.com>
+Date: Fri May 11 16:43:20 2007 -0400
+
+ Convert all DRI entrypoints to take pointers to __DRI* types.
+
+ The entrypoints take a mix of __DRIscreen * and void * (screen private)
+ arguments (similarly for contexts and drawables). This patch does away
+ with passing the private void pointer and always only passes the fully
+ typed __DRIscreen pointer and always as the first argument.
+
+ This makes the interface more consistent and increases type safety, and
+ catches a bug where we would pass a screen private to DRIdrawable::getSBC.
+
+commit aac367f48afc62176faf67aa6f329fbeae2004b4
+Author: Kristian Høgsberg <krh@hinata.boston.redhat.com>
+Date: Fri May 11 16:11:23 2007 -0400
+
+ Remove screenConfigs from __DRIscreen.
+
+ The screenConfigs field of __DRIscreen points back to the containing
+ __GLXscreenConfigs struct. This is a serious abstraction violation; it
+ assumes that the loader is libGL and that there *is* a __GLXscreenConfigs
+ type in the loader.
+
+ Using the containerOf macro, we can get from the __DRIscreen pointer to
+ the containing __GLXscreenConfigs struct, at a place in the stack
+ where the above is a valid assumption. Besides, the __DRI* structs shouldn't
+ hold state other than the private pointer.
+
+commit d0bca086ab6d032909e9a429720fea297c536f97
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 10 15:45:57 2007 -0600
+
+ fix get_result_vector() since fp output slots are not fixed anymore
+
+commit 9f8cfa75ca0882a8015a714887b41f8a7a10fd19
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 10 15:09:57 2007 -0600
+
+ fix softpipe_clear() to handle ps->offset!=0 (such as when rendering to texture and level!=0)
+
+commit fa72013adaab4d0755e852805e2e44d1a879a204
+Author: Kristian Høgsberg <krh@hinata.boston.redhat.com>
+Date: Fri May 11 13:54:44 2007 -0400
+
+ Drop mostly unused __DRIid typedef.
+
+commit 9590ba97ad6606a96b50a66242f606c860ca239d
+Author: Kristian Høgsberg <krh@hinata.boston.redhat.com>
+Date: Fri May 11 13:24:34 2007 -0400
+
+ Avoid deadlock in GarbageCollectDRIDrawables.
+
+ __glXinitialize() can't be called with the GLX lock held. Just
+ pass in the __GLXscreenConfigs pointer so we don't have to look it
+ up in __GLXdisplayPrivate.
+
+commit 8ed5c7ca0572a09375bdfd411c3804456dac78d6
+Author: Kristian Høgsberg <krh@hinata.boston.redhat.com>
+Date: Thu May 10 18:38:49 2007 -0400
+
+ Drop createContext and destroyContext from DRIinterfaceMethods.
+
+ As for createDrawable and destroyDrawable, these functions immediately
+ upon entry to driCreateNewContext and immediately before exit from
+ driDestroyContext. Instead of passing function pointers back and forth
+ just obtain the drm_context_t prior to calling DRIscreen::createNewContext
+ and pass it as a parameter.
+
+ This change also lets us keep the DRI context XID in the libGL loader only.
+
+commit 4ff95e78e19e5902352ea3759d32d9f013255f42
+Author: Kristian Høgsberg <krh@hinata.boston.redhat.com>
+Date: Thu May 10 17:14:38 2007 -0400
+
+ Drop createDrawable and destroyDrawable fron DRIinterfaceMethods.
+
+ All the DRI driver did was call the createDrawable callback immediately
+ upon entry to DRIscreen::createNewDrawable to get the drm_drawable_t.
+ We can just call that before calling into the DRI driver and pass the
+ returned drm_drawable_t as an argument to the DRI entry point.
+
+ Likewise for destroyDrawable.
+
+ Also, DRIdrawablePrivate::draw isn't used anywhere, and since the
+ driver no longer needs the XID of the drawable we can now drop that.
+
+commit b068af2f3b890bec26a186e9d0bdd3d44c17cd4d
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Wed Oct 10 17:07:01 2007 -0400
+
+ Key drm_i915_flip_t typedef off of the ioctl #define instead.
+
+commit 8b68104b90b1d136b5f67a196c6cbdf9fe4dbfe1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 10 15:05:24 2007 -0600
+
+ free/unreference pipe_surface in get_texel()
+
+commit 2b31b413f97c73816a2845782aee9a49e22d2e0b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 10 14:13:21 2007 -0600
+
+ use correct mipmap level in st_render_texture()
+
+commit aceccda56b08338e217991e54607f1c9f18fc3e6
+Author: Kristian Høgsberg <krh@hinata.boston.redhat.com>
+Date: Thu May 10 15:52:22 2007 -0400
+
+ Drop __DRInativeDisplay and pass in __DRIscreen pointers instead.
+
+ Many DRI entry points took a __DRInativeDisplay pointer and a screen
+ index as arguments. The only use for the native display pointer was to
+ pass it back to the loader when looking up the __DRIscreen for the given
+ screen index.
+
+ Instead, let's just pass in the __DRIscreen pointer directly, which
+ let's drop the __DRInativeDisplay type and the getScreen function.
+
+ The assumption is now that the loader will be able to retrieve context
+ from the __DRIscreen pointer when necessary.
+
+commit e23a7b2ea4a311af6b661f10747716e28fa451db
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 10 11:40:04 2007 -0600
+
+ use pipe_region_reference() in softpipe_get_tex_surface() to fix refcount error
+
+commit 500e3af175cf8ef66bad23ae3b9e440670421ecd
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 10 11:04:48 2007 -0600
+
+ fix width/height padding that caused failed assertion upon window resize
+
+commit 03ff9c96bf73b53c6c95f2db0aa79cfb1ff9eb3b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 10 10:56:48 2007 -0600
+
+ replace 'brick' with correct program name in printfs
+
+commit fa7a5898761fc106c9dbef6f640ce4654eae5136
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 10 10:33:38 2007 -0600
+
+ Size of input_to_index array should be VERT_ATTRIB_MAX.
+
+ This fixes an out of bounds array write that was causing the glsl/bump demo to render incorrectly.
+
+commit 44200421e8e15e603464e4a3e9d10f46787fc737
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 10 09:44:54 2007 -0600
+
+ Merge tgsi_mesa_compile_fp_program() and tgsi_mesa_compile_vp_program() into tgsi_translate_mesa_program().
+
+commit 013ce15595df19005996046ed4f9f42771299d14
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 10 09:43:37 2007 -0600
+
+ remove unused var
+
+commit de3073d377ee3a0c58fec4b1611cbf893a543c5b
+Author: Mrc Gran <mrc.gran@gmail.com>
+Date: Wed Oct 10 09:15:42 2007 -0600
+
+ fix force_s3tc_enable option
+
+commit b182613f2f537e4425190ab942bb057eeed3ac16
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Sat Sep 29 11:23:22 2007 -0700
+
+ Ignore more generated files in progs/
+
+ Many of the directories in progs/ were missing .gitignore files or
+ were tracking generated files. This patch is basically the process of
+ running `make' in each directory and then finding the untracked files
+ with `git-ls-files -o --exclude-per-directory=.gitignore'. The existing
+ files were also sorted.
+
+commit d4c3f26662c48235462ae25b84c7b63e48af1c22
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 9 16:56:25 2007 -0600
+
+ start on a unified vertex/fragment program translation function
+
+commit 11a46c61e0552c055513050ef3ec28050a143f91
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 9 16:28:01 2007 -0600
+
+ Generate DCLs for temporaries.
+
+commit 578962d6240252567cb9725a71e9854ad0dc72a0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 9 16:20:00 2007 -0600
+
+ Finish up decls for packed fragment program outputs.
+
+commit bc139a19b00f8686caa8db7c56af2087f26e369a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 9 14:55:22 2007 -0600
+
+ Pack fragment program outputs to be consistant with vertex programs.
+
+ Previously, output[0] was always Z and output[1] was color. Now output[0]
+ will be color if Z is not written.
+ In shade_quad() use the semantic info to determine which quantity is in
+ which output slot.
+
+commit 342bc50c3d8765ea4ab50aa7d77df5c86c478c61
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 9 14:52:26 2007 -0600
+
+ update some comments
+
+commit aec1f8e4f8315df23dc51a0b5a5fad90a03be851
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 9 14:40:11 2007 -0600
+
+ More work on flow control for CAL/RET.
+
+commit 31bd01f93b0f5795e290897e79c3f16d90e1f202
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 9 14:36:14 2007 -0600
+
+ New ATTRIB interpolation type for vertex program inputs/declarations.
+
+commit 47ff9428ee09a948e6b412f7e3e46ed1305881a1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 9 14:31:45 2007 -0600
+
+ Don't emit semantic info for vertex program inputs.
+
+commit 94490f63c8294efbce8822cf2be6da9be67c8789
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 9 14:12:26 2007 -0600
+
+ Use linked fragment shader inputs (if present) to determine which outputs are needed.
+
+commit 9509afe97cd7d9f58c9b344242171952990abfc8
+Merge: 2dbd905 4599683
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 9 12:36:56 2007 -0600
+
+ Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa
+
+commit de803f538c16096c9e241cfdddc092ac2aa2504e
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Tue Oct 9 15:05:10 2007 +0800
+
+ Non Square Matrix
+
+commit ae5aa1f90651a2a6168f687c95a069e78a0231bb
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Tue Oct 9 14:35:28 2007 +0800
+
+ fix for prev commit
+
+commit e2dff35f9589dd5616933654a2136584cb30ed18
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Tue Oct 9 14:26:01 2007 +0800
+
+ INT support
+
+commit 82d4aa40551fe86a04346c3eea944f8ce7ae8d28
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Tue Oct 9 14:14:59 2007 +0800
+
+ shadow sampler fix.
+ 1. spec requite result (0, 0, 0, 1) instead of (0, 0, 0, 0)
+ 2. support shadow sampler in simd8
+
+commit 8909f1131ab4d9d117d79aee617eceabf3ea60c8
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Oct 9 14:36:04 2007 +1000
+
+ i915: workout max relocs from batch buffer size
+
+commit 7e83c15fa01c04c12b7aab9dd2e7ab0ae193b1c3
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Oct 9 12:18:50 2007 +1000
+
+ i915: fixup up bufmgr to pass num buffers to kernel
+
+ remove unneeded entry points
+
+commit 4599683b480d295e407725e0fe99c357a0086092
+Author: Sergio Monteiro Basto <sergio@sergiomb.no-ip.org>
+Date: Mon Oct 8 11:09:38 2007 -0700
+
+ i915: Fix undefined ALIGN symbol from 77e0523fb7769df4bf43747e136b1653b2421b97.
+
+commit ac985708f4820173bdc4509d032bdabeb93a0590
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Mon Oct 8 15:34:03 2007 +0800
+
+ Only vertex program fix, bypass tnl vertex program
+
+commit 32699696e31234c8d4e4b08f255ba2134ec12db5
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Sun Oct 7 22:49:56 2007 +0200
+
+ r300: fragprog tex instruction now take writemask into acount.
+
+commit d85e8b088bda9a118494dd86464c4a495475e407
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Sat Oct 6 02:30:24 2007 +0200
+
+ nouveau: move nv10 clear command, for usage by other gpu
+
+commit 0ba57d02cd4a9e37bb5367a5c345c5f41038eb27
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Oct 5 14:41:32 2007 +1000
+
+ i915: drop complex list handling for now
+
+ If this proves a win later we can add it back but at the moment
+ I don't think it's required yet
+
+commit 4611b9398e6164ea419bf587e759a354be4c58b4
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Oct 5 14:33:18 2007 +1000
+
+ i915: clean up lists on teardown
+
+ also fix a use of uninitialised pointer
+
+commit b42152061c50e870dc2698ea1d860980ce1198b1
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Mon Apr 30 21:05:10 2007 -0400
+
+ Add macros to generate CreateNewScreen entrypoint.
+
+commit 4a22ae8d446855d839cc199df8eb1b057045cb88
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Sun Jan 7 08:12:01 2007 -0500
+
+ Remove XIDs from DRI interface (see #5714).
+
+commit 4ceefccbfa180d19e27716bf7f282d0438ac34bd
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Sun Apr 29 15:05:02 2007 -0400
+
+ Pull in the drm hash.
+
+commit 4e1c76de0bf767857737116a0ec908cb8d35083e
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Oct 5 12:15:50 2007 +1000
+
+ i915: add copyrights to new files
+
+commit 8e21bb516f87bfdde90d0f469ede4192435b9235
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Oct 5 12:12:33 2007 +1000
+
+ i915: increase batchbuffer back to 16k
+
+commit 77e0523fb7769df4bf43747e136b1653b2421b97
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Oct 4 12:07:25 2007 -0700
+
+ [965] Replace various alignment code with a shared ALIGN() macro.
+
+ In the process, fix some alignment issues:
+ - Scratch space allocation was aligned into units of 1KB, while the allocation
+ wanted units of bytes, so we never allocated enough space for scratch.
+ - GRF register count was programmed as ALIGN(val - 1, 16) / 16 instead of
+ ALIGN(val, 16) / 16 - 1, which overcounted for val != 16n+1.
+
+commit 0fc9efd8f0b1b6c4e3525a50e3478e5aef72531a
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Oct 4 11:16:50 2007 -0700
+
+ Replace bmBufferOffset usage in batchbuffer setup with OUT_RELOC.
+
+ This is in preparation for 965 TTM.
+
+commit 6bac9478c39fbe7955d10a21a2d7743697427a56
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Oct 3 16:59:01 2007 -0700
+
+ Replace duplicated intel_reg.h with a shared header.
+
+commit 1f7378ee465eba8d82d224a7bf835e38c5ab6ee2
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Oct 3 16:30:42 2007 -0700
+
+ Replace some structure-based batch preparation with plain OUT_BATCH.
+
+ OUT_BATCH is far more amenable to the upcoming relocations being done for TTM
+ support.
+
+commit ffa94e5b1e5537576ce5e910430116ec3e705457
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Sep 28 13:51:13 2007 -0700
+
+ FreeBSD: more /usr/X11R6->/usr/local
+
+commit 10cc229dc2ef61c51f7e242ac2d497916793d265
+Author: Maarten Maathuis <madman2003@gmail.com>
+Date: Thu Oct 4 19:08:37 2007 +0200
+
+ nouveau: Replace removed device classes with their proper labels.
+
+commit c4a9a708884c2f790e04aaaa4a4cb2993ff33089
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Oct 4 15:31:47 2007 +1000
+
+ i915: add superioctl support to the ttm codepaths.
+
+ gears now runs for about 10-15 seconds with some artifacts before falling
+ over.
+
+commit 1a69db9d2dfae16df5aa606ada7d631d98944449
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 3 16:34:04 2007 -0600
+
+ use different temps in exec_tex() for bias
+
+commit 68c4254d757012cbb5994d3b55769eb250747fce
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 3 16:18:44 2007 -0600
+
+ updated comments
+
+commit 635c4c41bdf111462939da292d65328595d314e8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 3 14:43:57 2007 -0600
+
+ Add outputs_written bitfield to pipe_shader_state, use it to determine if fragment shader writes Z.
+
+commit db0f050582e73d64b7d260275ff0c1eed912b35d
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Wed Oct 3 22:20:44 2007 +0200
+
+ minor fog calc cleanup
+
+commit 65996f27f48e2212bf36e515aba82b6876398bfd
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 3 13:49:31 2007 -0600
+
+ Move XSTDCALL definition to p_compiler.h
+
+commit 5356ba250c078c861f3a31a587b79570308cfc23
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 3 13:46:48 2007 -0600
+
+ handle frag progs that write Z
+
+commit a9f0330061471ba47beb2369884d7661b715722e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 3 13:45:24 2007 -0600
+
+ basic support for reading GL_DEPTH_COMPONENT
+
+commit e6f4af6b236fcf077cef2ea74346fa9b97106b95
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 3 13:44:53 2007 -0600
+
+ added s8z24_get_tile()
+
+commit 76e61556e7b69b6ce11be4bd600590a049bfbbef
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 3 10:33:05 2007 -0600
+
+ fix eq/neq bugs
+
+commit df235f33a6e851e0487755e9ad5f9d5cfd041c18
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 3 09:55:36 2007 -0600
+
+ fix f/u mix-up in micro_trunc()
+
+commit 1a18ebc6b31ebb8e950b84790744dd5e3113f014
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Oct 3 09:55:06 2007 -0600
+
+ move TEX code into exec_tex()
+
+commit e9df20c2fa7df8458a9f0781f31de51c4944d41f
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Wed Oct 3 20:37:59 2007 +0200
+
+ Some minor cleanups.
+
+commit 86a03e43ced13e7c00f16d037b27faddfbcb2333
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Wed Oct 3 20:35:19 2007 +0200
+
+ Double amount of memory allocated for generated shader code.
+
+ The code generated for the glxgears vertex shader didn't fit, causing a crash.
+
+commit 344464bf2e4e151968cfb101c2477e440508b1f0
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Wed Oct 3 20:33:23 2007 +0200
+
+ Track fragment and vertex shader code generation via pipe shader state objects.
+
+ Unfortunately, the generated fragment shader code is effectively unusable until
+ it handles quad->mask.
+
+commit ce765a7fb77e12ff083a9068ec232a15bcf41f66
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue Oct 2 13:01:07 2007 +0200
+
+ intel_winsys: Adapt to DRM changes (again).
+
+ It was decided after all to stick to 'pipes' here, even though the actual
+ meaning is now 'planes'.
+
+commit 07cd46d111b063ed37391ad7c316db9d7927ad03
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Oct 3 12:00:52 2007 -0400
+
+ In vertex shaders also expect the template to be stack allocated
+ structure so allocate a private copy of it.
+
+commit b46926c4beff4ac14ac0cf2e3bc52f8118ed4d2a
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Oct 3 10:31:42 2007 -0400
+
+ Unify the definitions of the 4 component dot product into one
+ location.
+
+commit cdd38d487a311e6c71b76382d428f5dc26caf067
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Oct 3 10:08:45 2007 -0400
+
+ Unify handling of userplanes and regular planes to simplify
+ the clipping code.
+ (really done by Keith)
+
+commit a7e997cfc5d909eebbc16ba5b0362e9778f01561
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Oct 1 06:25:23 2007 -0400
+
+ Get rid of ST_NEW_SHADER flag and the dependency on _NEW_PROGRAM
+ which is being hit all the time. Done by Keith really.
+
+commit b263435a98173645fa3f4a5dce4566e53470f38f
+Author: Jouk <joukj@tarantella.nano.tudelft.nl>
+Date: Wed Oct 3 15:21:40 2007 +0200
+
+ Update of OpenVMS makefiles for the use of "new" include file convention
+
+commit 5e4309ee92560caed70ff6975c4a59aaa5d86542
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Oct 3 08:50:27 2007 -0400
+
+ Explain a little better what we're doing here.
+
+commit 51345cb3c4d85a9e88ac35b59e938b0692df6205
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Oct 3 08:47:36 2007 -0400
+
+ Make softpipe behave more like a real driver by always allocating something
+ in the state functions.
+
+commit 58cdd1dc520d211b65f05fd06b5ba472f552853c
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Wed Oct 3 11:25:59 2007 +0200
+
+ i915: Only align texture pitch to 64 bytes when textures can be render targets.
+
+commit 1bc84102ad4df377df6c8bf5734b886b7683b939
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Wed Oct 3 10:48:56 2007 +0200
+
+ i915: Work around texture pitch related performance drops on i915 at least.
+
+commit fa031c8914d685e153b4ab886f43fdbfbbd0a30b
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Oct 3 16:54:59 2007 +1000
+
+ i915: add superioctl initial support inside bufmgr ttm
+
+commit 4cd3ef58a989f61ff22669648e4117426c6e603c
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Oct 3 15:50:46 2007 +1000
+
+ i915/drmbuf: attempt to push relocations into buffer manager
+
+ This moves the relocations into the buffer manager in prepration for
+ a superioctl move.
+
+commit 4b6cc36b2b4892c3ce0862789c3b294c52356805
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 2 19:44:55 2007 -0600
+
+ clean-ups
+
+commit 355f8f7eedf9ddfac7edd2244f09c5a47fd8af86
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 2 19:16:57 2007 -0600
+
+ Implement/use fragment kill results
+
+commit ff9949d05caa5543f4e57d831e603cba52f62e8b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 2 17:13:06 2007 -0600
+
+ Implement TGSI_OPCODE_SNE with micro_ne()
+
+commit 066ccec49485f0b6d314ef555e4b2a68f68c3804
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 2 17:07:30 2007 -0600
+
+ Separate TGSI_OPCODE_KIL and TGSI_OPCODE_KILP (predicated).
+
+ These correspond to the NV and ARB-style fragment program KIL instructions.
+ The former is really supposed to examine the NV condition codes but Mesa's
+ GLSL compiler always emits unconditional KIL instructions.
+
+commit ca34912bf7e57a01b180a3bb3b6e36331f442558
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 2 16:57:19 2007 -0600
+
+ assert that program length > 1 (some code, plus END)
+
+commit ae28d19bbf527e50be9ff9e52cb69f6afdf1d506
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 2 16:56:02 2007 -0600
+
+ added MESA_FORMAT_Z16 in st_mesa_format_to_pipe_format(), for Glean
+
+commit d781cdc8fadc802a1f2edbeb13ccb1ee768ce803
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 2 16:55:21 2007 -0600
+
+ Generate a texenv fragment program if there's a GLSL vertex shader but no GLSL fragment shader.
+
+ This allows Glean glsl1 test to get pretty far.
+
+commit 2dbd905ab0265b520efccce24ce9de66b6fc5fb0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 2 16:50:40 2007 -0600
+
+ fix comment: s/branch/kill/
+
+commit c9dceb17c0bf255252f58a4c947522b958fe015c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 2 16:24:40 2007 -0600
+
+ Push mask stacks upon CAL, pop upon RET.
+
+ Still need to handle conditional RET statements...
+
+commit 4d155a32d2c44af4d85715fcc982ad4bc18d38fa
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 2 16:17:34 2007 -0600
+
+ added license and interpreter comments
+
+commit 53a6a55c7c56c6811a9e627c8624c05e83d4e04b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 2 16:05:07 2007 -0600
+
+ Implement CONT statement.
+
+commit fe1d15acc7b0ed5d6eb22829f2d8547a36a852a9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 2 15:17:37 2007 -0600
+
+ added micro_trunc(), re-order some code
+
+commit 8955bc34581ac716cf5cabb02fde5260ab3ae207
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 2 14:25:43 2007 -0600
+
+ Minor optimization: no-op CAL when ExecMask==0x0.
+
+commit 6aab3e3d269b71e8306928088e3603daf082223f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 2 14:17:47 2007 -0600
+
+ Added TGSI_FILE_OUTPUT case in fetch_src_file_channel().
+
+ GLSL output variables (such as vertex varyings) can be read (they're not
+ write-only).
+
+commit 4ad80ad5cfdb9bc23eee15938645a334d227cd72
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 2 14:05:21 2007 -0600
+
+ Implement CAL/RET and a call stack for subroutines.
+
+ The glsl/brick.c shader demo runs now.
+
+commit 5e49ec339df1d23b1f1790c49c9f102098f42c0d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 2 13:49:38 2007 -0600
+
+ Added TGSI_OPCODE_END
+
+ Halt program execution when we get to END instruction. The GLSL compiler
+ puts subroutines after the end instruction so we have to stop before then.
+
+commit 4726489248283380c0693ebf4eddbe3015caf8a3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 2 13:41:56 2007 -0600
+
+ Fold expand_program() into tgsi_exec_prepare()
+
+commit e2009d0871ac230e4b0c84a23eabef4cd37d81e2
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 2 11:49:43 2007 -0600
+
+ no more need for tgsi_exec_machine_run2(), remove dead code
+
+commit 9ac03856f563e0e830f6cdeef321875682f79943
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 2 11:47:21 2007 -0600
+
+ remove dead code
+
+commit 0d13ade0cdd38759936a74824efbd6ac8b563aed
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 2 11:46:11 2007 -0600
+
+ Move tgsi machine state init/allocations so they're done less frequently.
+
+ This, plus expanding all instructions ahead of time, seems to have improved
+ the performance of program execution by 8x or so.
+
+commit 57d3770f35730bef17e5d93bd424a59eb6daec4c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Oct 2 10:38:56 2007 -0600
+
+ checkpoint: unpack all instructions before interpretation. Actual looping works.
+
+commit 584b84256b07e106cd7295495355eb21226465d7
+Merge: eb9a5b6 de1d725
+Author: Jouk <joukj@tarantella.nano.tudelft.nl>
+Date: Tue Oct 2 15:17:23 2007 +0200
+
+ Merge branch 'master' of git+ssh://joukj@git.freedesktop.org/git/mesa/mesa
+
+commit cdf99a9fad0fcb080244faa7d32b33b1cfaf6ff7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 1 18:10:53 2007 -0600
+
+ comments/code for min/max_lod - revisit someday
+
+commit de1d725f442caa4d8ecbac3256b5a33d1f4a1257
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 1 17:55:33 2007 -0600
+
+ updated glext.h license info (Khronos), plus other clean-ups
+
+commit 4c19f95a3997be7ca27c314952478790a63aeeb7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 1 15:39:15 2007 -0600
+
+ use i915_miptree_layout when using an i915
+
+commit f8b2148a2b0c28ea5970be275f1bd678aa32094d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 1 14:46:19 2007 -0600
+
+ avoid updating vertex format when it doesn't really change
+
+commit a24031d50c6b4c584aae08316dc3c00e18e24b58
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 1 13:55:16 2007 -0600
+
+ don't crash in RasterPos if feedback not implemented yet
+
+commit 3c41589420c90fa3f81da75c1c90be39f68915e9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 1 13:54:37 2007 -0600
+
+ disable debug printf
+
+commit 726060680ba69aaec659f78e24f2db58acd780cb
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 1 13:54:24 2007 -0600
+
+ don't crash when fog enabled, still not rendered correctly though
+
+commit dab288b9821572b7fd3d6c9ceb4b8b3a83cd15bf
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 1 13:50:24 2007 -0600
+
+ remove specular color assertion (the path works)
+
+commit b13618c3167002a823e9bb1e744a0a316fd0e2bf
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Oct 1 13:45:53 2007 -0600
+
+ fix a few vert/frag program items to get i915 driver going again
+
+commit 3d6c4109902b555a3f8076170d572c7caeb6cbfe
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Sun Sep 30 13:47:05 2007 +0800
+
+ fragment shader function call fix, gl_FragCoord fix
+
+commit f8ee72d98f2d23e034e90870ff6a760659a462a5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Sep 29 12:01:34 2007 -0600
+
+ fix VBO-split infinite loop (bug 12164)
+
+commit 2727cfddbf64add52181bed999938a90811f01a3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Sep 29 10:44:05 2007 -0600
+
+ hack in some code to test loops, break
+
+commit 78f3cd1e08d68111a2db308c000b94cc580b3cad
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Sep 29 10:43:29 2007 -0600
+
+ Initial conditional execution support for loops and BRK instruction.
+
+ Also, instead of passing cond mask to each micro op, just apply it in the
+ store_dest() function.
+
+commit 4f96000e294fa0d6ba6f5915ff508017d9c26d50
+Author: Chris Rankin <rankincj@yahoo.com>
+Date: Sat Sep 29 18:14:06 2007 +0200
+
+ r200: Implement SetTexOffset hook.
+
+ Implementation guidance by Michel Dänzer, final testing by Timo Aaltonen.
+
+commit 91550f0a17488f41da4829a627db90f0081250dc
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Sep 29 09:51:11 2007 -0600
+
+ remove unused tgsi_exec_cond_* types
+
+commit b0b48798c7e854d2e36e0317bf94b7385e815242
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Sat Sep 29 15:00:52 2007 +0800
+
+ support continue, fix conditional
+
+commit 9405ec62512ca7195905644d9c7f271ae01662c5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Sep 28 21:04:56 2007 -0600
+
+ temporary hack to test nested conditionals
+
+commit fc38c827716d333c92017348add1e80ea78af948
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Sep 28 21:04:34 2007 -0600
+
+ Initial implementation of IF/ELSE/ENDIF using conditional masking.
+
+ mach->CondMask controls writing to each of the 4 components in a quad.
+ mach->CondMaskStack handles nested conditionals.
+ Only a few of the micro ops (add/sub/mul/store) have been updated to obey CondMask at this time.
+
+commit ae7f200788947cdde15b279ea3a4558f6abd9922
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Sep 28 20:31:24 2007 -0600
+
+ fix bug causing unnecessary translations
+
+commit 2a3e33865dd9a3d064a3c0af94ef11d4aa4a6ce4
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Fri Sep 28 18:42:21 2007 -0600
+
+ add support for LDFLAGS env var
+
+commit e776e7a95a4fc4fac95048665ab4c981e153b7fb
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Sep 28 18:39:41 2007 -0600
+
+ update the DRM/DRI instructions
+
+commit bbcbd362a94386f2a19570dc09ec74c9ef4db067
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Sep 28 16:20:10 2007 -0600
+
+ remove old debug code, fix warning
+
+commit 78876bf61c6f6e3c3fec471431f91307f51c107a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Sep 28 16:19:51 2007 -0600
+
+ fix st_use_program()
+
+commit 6775c1e8ccc2c543d97eb273a342140a62d99aee
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Sep 28 16:06:01 2007 -0600
+
+ Remove test for EXT_blend_logic_op in glGetString when determining GL version.
+
+ EXT_blend_logic_op is slightly different from GL 1.1's RGBA logicop mode
+ and does not have to be supported. Per conversation with Roland.
+
+commit 636480cc9c7836daf879cb45644900922cf31f47
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Sep 28 15:39:09 2007 -0600
+
+ Instead of linked program pairs, keep a list of vertex programs translated for each fragment program.
+
+commit f14ece2d2c9add5ebf21171746f34ce60ff0df3b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Sep 28 13:49:50 2007 -0600
+
+ Use texture->first_level, not 0, when not mipmapping.
+
+ Fixes crash when GL_BASE_LEVEL!=0.
+ Also, remove old assertion.
+
+commit f971bdc051a4e965e036f575ca0c93b64a817761
+Author: José Fonseca <jfonseca@titan.(none)>
+Date: Fri Sep 28 18:48:15 2007 +0100
+
+ Gallium's doxygen documentation.
+
+commit 59424e2d34b791100d7924069df261b8147c3bff
+Author: José Fonseca <jfonseca@titan.(none)>
+Date: Fri Sep 28 17:17:11 2007 +0000
+
+ Update x86's static and profile configs.
+
+commit d99f6c4a2aa8207a2fbacd9b3a5ec87dd25ba496
+Author: Jesse Barnes <jesse.barnes@intel.com>
+Date: Fri Sep 28 10:11:52 2007 -0700
+
+ Go back to using old drm_i915_flip_t field name
+
+ This field shouldn't have been renamed in the first place. Go back to using
+ the old name so that the tree is backward and forward compatible again.
+
+commit 8731e391f5a8bb45adb53242b0a473707c0c024c
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Fri Sep 28 07:33:54 2007 -0400
+
+ Use sse only if GALLIUM_SSE is defined
+
+commit a1a989f0be8dc34082b52bb3b3a6eacb36d9e75e
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Fri Sep 28 04:33:55 2007 -0400
+
+ Redoing the way we handle vertex shaders for the draw module.
+
+commit f78193f444dad2a1aee219f538bc0da3f040c2e1
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Fri Sep 28 04:33:55 2007 -0400
+
+ Remove gl dependency from the x86 assembler code
+
+commit 901577e07fcab0cf90a272fee900cb0831ae84c3
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Fri Sep 28 12:28:16 2007 -0400
+
+ Revert "Redoing the way we handle vertex shaders for the draw module."
+
+ This reverts commit 6dcfddb8e2ec2bfb6187b912807fa65f28da2c5e.
+
+commit f2a33a63f1f41681375baa2a9ad261cb60db2a85
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Fri Sep 28 12:28:06 2007 -0400
+
+ Revert "Use sse only if GALLIUM_SSE is defined"
+
+ This reverts commit 57b5d3605745c96ddc2b6de7d50c93db65ba1257.
+
+commit 57b5d3605745c96ddc2b6de7d50c93db65ba1257
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Fri Sep 28 07:33:54 2007 -0400
+
+ Use sse only if GALLIUM_SSE is defined
+
+commit 6dcfddb8e2ec2bfb6187b912807fa65f28da2c5e
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Fri Sep 28 04:33:55 2007 -0400
+
+ Redoing the way we handle vertex shaders for the draw module.
+
+commit e75ae0dc792b9fe599b68d7a9ea0ab22413da424
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Fri Sep 28 17:04:48 2007 +0800
+
+ fix
+
+commit 4087c90effecdf2f466e2ddcf88ec2faf0db034f
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Fri Sep 28 16:37:01 2007 +0800
+
+ support nested function call in pixel shader
+
+commit 7966e479dca22bf2d2b844d50ac5bef70614e15a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Sep 27 16:33:01 2007 -0600
+
+ set miptree pitch to region pitch after allocating the region in st_miptree_create()
+
+ This fixes rendering with small (4x4) textures with softpipe.
+ Haven't yet tested with i915.
+
+commit 28b315dc1aed36bebadfacbd55e481e7baacfcb5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Sep 27 16:31:13 2007 -0600
+
+ comments
+
+commit 35331a511fcd023a7b6f0eb298098d872b856a9f
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Sep 27 15:06:06 2007 -0700
+
+ [965] Add batchbuffer dumping under INTEL_DEBUG=bat, like 915.
+
+commit b2c8b1385a3d2500e21a899d612ce2398ba7185f
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Sep 27 11:29:11 2007 -0700
+
+ FreeBSD: Chase /usr/X11R6 death (replaced by everything in one prefix).
+
+commit e886ae4c58bc98897d6901e3f30deea008bc7f8a
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Sep 27 15:11:39 2007 -0700
+
+ Revert "WIP 965 conversion to dri_bufmgr."
+
+ This reverts commit b2f1aa2389473ed09170713301b042661d70a48e.
+
+ Somehow I ended up with my branch's save-this-while-I-work-on-master commit
+ actually on master.
+
+commit b2f1aa2389473ed09170713301b042661d70a48e
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Sep 27 10:16:04 2007 -0700
+
+ WIP 965 conversion to dri_bufmgr.
+
+commit 38c30a81844214b030c9c637f9cf97bd2bf19cde
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Sep 26 13:57:08 2007 -0700
+
+ [965] Remove AUB file support.
+
+ This code existed to dump logs of hardware access to be replayed in simulation.
+ Since we have real hardware now, it's not really needed.
+
+commit f2d9a07efe0d6967b0b4583e18db3ac571a3dd33
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Sep 27 10:35:37 2007 -0600
+
+ for Miniglx, use git sources
+
+commit ed6d5ff6f8fdd34aaaa126119dbd8e1e321859d8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Sep 27 10:24:17 2007 -0600
+
+ Restore old _TriangleCaps code to fix Blender problem (bug 12164)
+
+commit 4f9d29cd4e876cd202a7d3e81f6d91fc7f9625a2
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Sep 27 10:23:32 2007 -0600
+
+ tweak point rast to fix conform failure
+
+commit e0271e16da6427436ed755f170e9b402ada5dd7c
+Author: keithw <keithw@keithw-laptop.(none)>
+Date: Thu Sep 27 16:20:31 2007 +0100
+
+ remove dead code
+
+commit 48385cd13ac9410e07856924a3cd113b78f198db
+Author: keithw <keithw@keithw-laptop.(none)>
+Date: Thu Sep 27 12:50:02 2007 +0100
+
+ reduced debug
+
+commit b1e549d1762536ebb3f7c11461c4554d4613c37a
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Thu Sep 27 16:17:24 2007 +0800
+
+ handle INT op, still require high level handle of integer to be correct
+
+commit 3ee6a77e97f7d2996f8fffdbb4787a9589189b39
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Thu Sep 27 16:14:57 2007 +0800
+
+ i965: handle all unfilled mode in clip stage. fix bug #12453
+
+commit 6254be9b7144821e044d3fbade514fa0358db693
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Thu Sep 27 15:52:01 2007 +0800
+
+ mesa: make sure the gotten value isn't greater than the
+ max depth buffer value on 64bit system. fix bug #12095
+
+commit 35a0634e358baac832d6e5a76630fcae57a948a7
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Thu Sep 27 15:47:00 2007 +0800
+
+ fix issue when only fragment shader or vertex shader is used
+
+commit 82e2d3226893487d33152f15763516473187c07d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Sep 26 13:30:01 2007 +0100
+
+ Fix some compiler warnings with -pedantic
+
+commit 65e3af51efc9d688ef8face0a44429a90c5dd4c9
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Sep 26 12:46:45 2007 +0100
+
+ Enable codegen based whenever __i386__ is defined.
+
+commit 035a824730ae3804b2bfaadec94015aac5c6ebcc
+Author: keithw <keithw@keithw-laptop.(none)>
+Date: Wed Sep 26 12:10:46 2007 +0100
+
+ fix merge
+
+commit c5cfa639880d5309a2276dc0c47a73ca0752d696
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Sep 26 12:08:08 2007 +0100
+
+ disable debug
+
+commit e078f910dcdba2081a52b74308ca3d330115e912
+Author: keithw <keithw@keithw-laptop.(none)>
+Date: Wed Sep 26 11:57:28 2007 +0100
+
+ restore primitive trimming in sp_draw_arrays.c
+
+commit 08589f71051e588b0bb7d0c8b529976c85398dd1
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Sep 26 11:56:17 2007 +0100
+
+ Make flushing more lazy in the draw module.
+
+commit 7770acf8d4360ecfcaeece6e366f5adc6c0c9dee
+Author: keithw <keithw@keithw-laptop.(none)>
+Date: Wed Sep 26 11:55:08 2007 +0100
+
+ Use Gallium in the renderer string
+
+commit aa88d11e7d881f0dd4c02fcefceb4085bdb3cf8a
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Thu Sep 27 13:49:35 2007 +0800
+
+ fix ppracer and bzflag issue with clip optimization
+
+commit 67f6449743d006084df85693085eca79a966ad17
+Author: Dave Airlie <airlied@linux.ie>
+Date: Thu Sep 27 11:15:42 2007 +1000
+
+ i915/i965 merge serer directories along lines for radeon/r200
+
+commit 5c83f1371978472fbe4bba8f686733c6b519874a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Sep 26 18:54:20 2007 -0600
+
+ Do image flipping in do_copy_texsubimage() and GL pixel transfer ops (except convolution).
+
+commit c6717a86420d7141013165f7acd50b3c3f751756
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Sep 26 18:39:14 2007 -0600
+
+ fallback_copy_texsubimage() basically works now (at least w/ Xlib driver).
+
+ Have to map regions before calling get_tile()/put_tile().
+ Need to invert srcY of glCopyTexSubImage() depending on renderbuffers
+ up/down orientation.
+ Still need to invert image in fallback_copy_texsubimage() when needed.
+
+commit 78008dbcaaf74cac3b66dae103f631de94df6137
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Sep 26 18:34:43 2007 -0600
+
+ added a8r8g8b8_put_tile()
+
+commit fcd4eeb743c717d48166e38a57fcd4a1752e32ab
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Sep 26 18:34:13 2007 -0600
+
+ don't use scissored bounds in _mesa_clip_copytexsubimage()
+
+commit 038cb561eb094af2f2ba06e18e61246fc0c87c3c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Sep 26 17:57:15 2007 -0600
+
+ More work on glCopyTexSubImage.
+
+ Start sketching out a fallback path based on surface->get_tile(), put_tile()
+ which will do format convertion and GL's pixel transfer ops.
+
+commit b27498c7cad7dae4e3b3ef9517b9c0aef58f73f6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Sep 26 17:18:42 2007 -0600
+
+ checkpoint: glCopyTexImage work
+
+commit b3bb1e3ebf260f18a2097a9a8fe8ab52f104dab1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Sep 26 17:03:40 2007 -0600
+
+ s/_mesa_copy_rect/copy_rect/
+
+commit 324ecadbfdf9b944e059832f146451e4151dcb21
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Sep 26 17:03:11 2007 -0600
+
+ Added new _mesa_clip_copytexsubimage() function to do avoid clipping down in the drivers.
+
+ This should probably be pulled into main-line Mesa...
+
+commit bad4e10af746ce16b730a3e7a4e2ff53ecb6d0f6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Sep 26 15:34:51 2007 -0600
+
+ check for _NEW_PROGRAM mesa state (fixes arbfplight)
+
+commit 715e5edff6ade0a1ef02c8f8d9e4d61316113721
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Sep 26 15:34:31 2007 -0600
+
+ better debugging
+
+commit 175db68db59c6b917306adff98442d590df9af06
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Wed Sep 26 16:42:50 2007 +0800
+
+ i965: The cube map texture coordinates must be devided by the
+ component with the largest absolute value before they are
+ delivered. fix bug #12421
+
+commit 395b3bf6f95b35a84a74d4baf7e04bc67cf3771c
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Wed Sep 26 10:00:41 2007 +0800
+
+ fix a bug in 965 ARB_occlusion_query,
+ fd.o bug #12132
+
+commit 960fe21008eb00bf778f82476e3d00df0a5c34db
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Sep 25 17:07:59 2007 -0600
+
+ comments, null ptr checks, etc.
+
+commit b28f4a27d586b3ba3a7e87db761b6d624dd3e672
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Sep 25 17:03:19 2007 -0600
+
+ don't apply pixelzoom to bitmaps
+
+commit 0dfa5506a318b202ac955a59cc7c9b22b5ff3867
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Sep 25 16:56:35 2007 -0600
+
+ st_draw_vertices() no longer needs attribs[] array parameter
+
+commit ccff14de0d6291aa0866ce5d207af416caec69e7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Sep 25 16:52:38 2007 -0600
+
+ Simple implementation of glBitmap rendering.
+
+ Create a texture matching the bitmap image and use a fragment program
+ to modulate current raster color by the boolean-valued texture. Need to
+ eventually use fragment culling (see comments in code).
+
+commit 02ea8b81414b50936b8b6b7b8031511e12ef55cd
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Sep 25 15:48:14 2007 -0600
+
+ re-org/prep for glBitmap
+
+commit b5051bf6bbe54269c78f4dd545791e51bc7ce9e0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Sep 25 15:21:19 2007 -0600
+
+ clean-up #includes
+
+commit 38504011c8dc55cbcfdf16e39eb7a1473e1bdfbd
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Sep 25 15:20:58 2007 -0600
+
+ better debug output
+
+commit 83fad68ec1989c719646a76f4cc5e0b3d23537ed
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Sep 25 15:20:04 2007 -0600
+
+ include programopt.h
+
+commit 3bf8d2ac7108a7f0f1722e411161e013bb8573f0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Sep 25 15:18:51 2007 -0600
+
+ Disable vertex shader fog, compute fog in fragment shader.
+
+commit 07f31a29b41be572c48fc1b440eaeb6a6b010cc8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Sep 25 14:46:49 2007 -0600
+
+ some clean-up of ST_NEW_ shader flags
+
+commit 1201eb852966a64742645a4cd3a2879bed81e29d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Sep 25 14:46:18 2007 -0600
+
+ disable TGSI_DEBUG
+
+commit 6b1d2fa8154e04eea7fa55e07b951aef3b23993f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Sep 25 14:30:26 2007 -0600
+
+ replaced by st_atom_shader.c
+
+commit 40c543eb71368c646259afb87d5c76551f6b45b7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Sep 25 14:29:11 2007 -0600
+
+ Translate mesa vertex/fragment programs to TGSI programs at same time to do proper linking.
+
+ Previously, programs were translated independently during validation.
+ The problem is the translation to TGSI format, which packs shader
+ input/outputs into continuous slots, depends on which vertex program is
+ being paired with which fragment shader. Now, we look at the outputs
+ of the vertex program in conjunction with the inputs of the fragment shader
+ to be sure the attributes match up correctly.
+
+ The new 'linked_program_pair' class keeps track of the associations
+ between vertex and fragment shaders. It's also the place where the TGSI
+ tokens are kept since they're no longer per-program state but per-linkage.
+
+ Still a few loose ends, like implementing some kind of hash/lookup table
+ for linked_program_pairs.
+
+commit f9ed2fdaace0d4d7f091a4423a8638945e920b0d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Sep 25 14:22:13 2007 -0600
+
+ translate Mesa programs to TGSI programs (formerly in st_atom_[fv]s.c)
+
+commit 07ef3e42451daa26fa5426026bcc4c89729644e0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Sep 25 14:21:18 2007 -0600
+
+ vertex/fragment shader state and linking
+
+commit ff08c7b032fb17e4ffcda7497488dc5e263a7d6e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Sep 21 12:41:24 2007 -0600
+
+ test for presence of both front and back color vertex slots
+
+commit 608914aeb068a0d59da5c239fb5ff28b522e064d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Sep 21 12:39:26 2007 -0600
+
+ remove unused lookup array
+
+commit a37e0daeb97bb36ba10038b12a909e22e08b52c4
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Sep 25 13:20:53 2007 +0100
+
+ First attempt at building vertex buffers post-clip.
+
+ Build a buffer of contigous vertices and indices at the backend of our
+ software transformation/clipping path. This will become the mechanism
+ for emitting buffers of vertices to rasterization hardware.
+
+ This is similar to but not the same as the post-transform vertex cache.
+ In particular, these vertices are subject to clipping, culling, poly offset,
+ etc. The vertices emitted will all be used by hardware.
+
+ TODOs include the actual transformation to hardware vertex formats, moving
+ this out of softpipe to somewhere more useful and allowing >1 primitive to
+ share the generated VB.
+
+commit 45b37dc078130b64e110d1a965960c60c56f0e60
+Author: keithw <keithw@keithw-laptop.(none)>
+Date: Tue Sep 25 13:16:25 2007 +0100
+
+ turn off shader debug
+
+commit 0940059f8b2dceb817e9b1778e78baf1ccc4c438
+Author: keithw <keithw@keithw-laptop.(none)>
+Date: Tue Sep 25 12:08:16 2007 +0100
+
+ test against -1 for front/back attrib
+
+commit f388d62b39e9273dd8aac425da54015af91192d8
+Author: Dave Airlie <airlied@linux.ie>
+Date: Tue Sep 25 16:22:00 2007 +1000
+
+ drm: update bufmgr code to reflect changes in drm interface
+
+commit 919709af6ba19eb30d293a161d89a0b8fccb9ec7
+Author: Roland Bär <roland@verifysoft.de>
+Date: Mon Sep 24 13:47:26 2007 -0700
+
+ [i965] Bug #11812: Fix fwrite return value checks in AUB file code.
+
+commit c8cb87d35686c155143ed3e511e1ea674d8371a3
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Sep 24 13:36:56 2007 -0700
+
+ Remove leftover code for i915_texprog.c noticed in crossbar review.
+
+commit 56af8fd00f7b77f02688ba3460d25b1e46cf0307
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Sep 24 10:26:56 2007 -0700
+
+ Fix progs/tests/ build with BSD make.
+
+commit b74140db664ebf96717d1b041eb7601ea25075ba
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Sep 24 10:26:40 2007 -0700
+
+ Update .gitignore for tests and xdemos.
+
+commit 9bb0d628b8cac9673e6ecc69b090f972f3c4e6e3
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Sep 24 10:22:31 2007 -0700
+
+ Just use stddef.h to get ptrdiff_t instead of obsolete malloc.h.
+
+commit 8cf9085bc7b96819d2bec1e749e15af58eefb2f3
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Sep 24 10:03:25 2007 -0700
+
+ Move i915tex driver into place as just i915.
+
+commit 8fba8d2018643444fc17c590f3e8732e1a76c6b8
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Sep 24 09:55:16 2007 -0700
+
+ Remove the old i915 driver now that i915tex works without TTM.
+
+commit c0dd02219d47f45ce469abbef8044431f6d85d0a
+Author: michal <michal@michal-laptop.(none)>
+Date: Mon Sep 24 12:32:26 2007 +0100
+
+ Enable SSE2 for FS.
+
+commit c0afc92f00e5153a168fb6df518b7a2e6b3b9406
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Sep 24 05:43:07 2007 -0400
+
+ In here we actually do want to assign it. Fix compilation.
+
+commit 439fa7957874d564b30a92345e74ee57b388ebec
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Mon Sep 24 16:48:55 2007 +0800
+
+ fix fd.o bug #12217, recalcuate urb when clip plane size change
+
+commit ef5935bc94a1439eb8f1731732a3eabd0e360407
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sun Sep 23 13:56:46 2007 -0600
+
+ fix DrawRangeElements error msg
+
+commit 39c709c0f6a9b2c910265390b31ce233a991ab68
+Merge: 6016de6 d0350da
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Sep 21 17:05:34 2007 -0700
+
+ Merge branch 'i915-unification'
+
+ This branch replaces the DRM pool interface used by i915tex with a "dri_bufmgr"
+ interface in dri/common which may be set up to use either TTM or traditional
+ static memory management according to what is available. The i915tex TTM
+ code now requires an updated DDX which provides proper buffer objects for the
+ static front/back/depth, instead of using fake buffers. The driver is now
+ built as i915_dri.so, and should replace the old i915 driver shortly.
+
+commit d0350dadaa52064f67e4e9001145af14478b2849
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Sep 21 16:16:54 2007 -0700
+
+ Fix buffer/fence reference counting due to Destroy vs Unreference difference.
+
+ While here, remove the unnecessary fence type saving for the wait ioctl, as
+ a 0 argument for type means "use your other saved copy".
+
+commit 1ae7373ac520c277d9aa7b915526bb0e1567b9a5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Sep 21 12:37:13 2007 -0600
+
+ invert draw_vertex_cache_check_space()
+
+commit ac394414fcf244186557fbfa18e7962fa05dc39a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Sep 21 12:36:59 2007 -0600
+
+ added PSIZE
+
+commit 890125d3adc4c5011e9241210c44d40dfdd6c4eb
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Sep 21 12:21:05 2007 -0600
+
+ fix some post-transform vertex layout issues (bcolors, psize emitted last
+
+commit da45890818ab5ae94592208e3581b5c2febaa6b4
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Sep 21 12:06:08 2007 -0600
+
+ Fix up some point size breakage. Start on fogcoord too.
+
+commit 46f606e9715145218331a04f0d1f66fb9f8531d6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Sep 21 11:55:28 2007 -0600
+
+ reenable some clear code that was temporarily disabled
+
+commit 440a5c7c24e65dd19689ba2d2ce231a7ea7e4704
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Sep 21 11:54:57 2007 -0600
+
+ remove debug printfs
+
+commit a3a8887e5742bc18476deafcf45f220de89c1c1d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Sep 21 11:34:28 2007 -0600
+
+ comments
+
+commit 1ce50d8bd9a3bc64552c55a235a947de9e6f776c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Sep 21 11:34:20 2007 -0600
+
+ use VERT_ATTRIB_MAX for loop limit
+
+commit 11996050883ade4439a4a1e3192a02ba6f6aaa14
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Sep 21 11:22:34 2007 -0600
+
+ remove SEMANTIC_TEXCOORD
+
+commit e9259ad0d7f674a1f2f9156ba0baeedc0e7d0d54
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Sep 21 11:20:29 2007 -0600
+
+ Get rid of TGSI_SEMANTIC_TEXCOORD and just use TGSI_SEMANTIC_GENERIC.
+
+commit 97b81eb98f57e9405ce3665df24eedd1a1af39fc
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Sep 21 11:01:26 2007 -0600
+
+ rename index var from i to attr, use FRAG_ATTRIB_MAX instead of 16
+
+commit 8d987d3c4edf489880e5e852e31b6883a15b6a14
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Sep 21 10:57:30 2007 -0600
+
+ minor renaming
+
+commit 9f96c5d619a478a61c809e88ef53e59005471054
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Sep 21 10:56:32 2007 -0600
+
+ pass vs output semantics to tgsi_mesa_compile_vp_program() to generate output DECs
+
+commit f38881c542a6e96ba45f185e372940cbb183647d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Sep 21 10:53:45 2007 -0600
+
+ fix in/out typos
+
+commit ed10ece932162ac7c3c5ee125a0ca35c805240ad
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Sep 21 10:40:18 2007 -0600
+
+ Pass vertex program input semantics into tgsi_mesa_compile_vp_program() to produce DCLs.
+
+commit 562c9410630c7faeb3b04bd8b4fa8d29c9193eaa
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Sep 21 10:38:18 2007 -0600
+
+ fix 1/i typos
+
+commit ae58f38feebed6c468a20d3ae45fbf83b6e3b457
+Author: José Fonseca <jfonseca@titan.(none)>
+Date: Fri Sep 21 16:47:00 2007 +0100
+
+ Fix the doxygen target in the top-level Makefile.
+
+commit 42df29d3b9139f7b8bb757893bb8bf930585cc33
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Fri Sep 21 07:06:19 2007 -0400
+
+ Convert i915 to use cso semantics of alpha_test.
+
+commit 6cb87cf26f904b891faa42268f373864fa33541d
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Fri Sep 21 07:00:20 2007 -0400
+
+ Make the alpha test state a cso.
+
+commit b0fa489eba9170c4b102bf0feb1b1c3f02a34e4e
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Fri Sep 21 04:56:39 2007 -0400
+
+ Silence a few warnings.
+
+commit 154335d53f9eb3a2ae46b46858ffcaa6e144e821
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Sep 20 19:06:26 2007 -0600
+
+ remove :5 form format field in pipe_surface, makes no difference at this time
+
+commit 6016de689fb9f29fe148b5ff0daf0b34a8510e23
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Sep 20 18:42:47 2007 -0600
+
+ fix -D_BSD_SOURC
+
+commit 1bf93fccdfcef80619852e36db4f2a516a43ae49
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Sep 20 15:32:18 2007 -0600
+
+ remove old code in src_vector()
+
+commit a5467fbdd9ca599c9512433ece30f90fd67f15e3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Sep 20 15:11:14 2007 -0600
+
+ fixes for bluegene-xlc-osmesa config
+
+commit 58484dc00a30f6d0a0e43021283e1ce18ef4d5a3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Sep 20 15:09:57 2007 -0600
+
+ Added bluegene-xlc-osmesa config (Alexander Neundorf)
+
+commit f69b5c56feb60791bad27d491ee9592238d4efb0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Sep 20 14:47:22 2007 -0600
+
+ Clean-up the TGSI_SEMANTIC tokens, introduce semantic indexes.
+
+ Still need to produce decl instructions for vertex shaders...
+
+commit 478d1e2c9c73fc29542375c44d01ab964ce8eccf
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Sep 20 14:08:09 2007 -0600
+
+ remove old/used code
+
+commit 064daf319cf1868575c794f2380d54ea5b8358af
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Sep 20 14:03:00 2007 -0600
+
+ remove lots of dead code related to program input/output mapping
+
+commit a8834a75a5b469775a983234f9d4bc8925630740
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Sep 20 13:58:47 2007 -0600
+
+ obsolete
+
+commit c231a9d020bdec8e0749a5547971c79de64f73d8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Sep 20 13:58:12 2007 -0600
+
+ remove #includes of tgsi_attribs.h
+
+commit 674d0130693f827ae9ea8e902a38c46d64444384
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Sep 20 13:50:53 2007 -0600
+
+ checkpoint: TGSI_ATTRIB_x tokens no longer used
+
+commit 086734502a614e7778533018846ee66a66df9821
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Sep 20 13:42:37 2007 -0600
+
+ Checkpoint: vertex attribute clean-up.
+
+ Remove/disable the attrib/slot mapping arrays in a few places.
+ Work in progress...
+
+commit 745f0cbe0528ac925096f5c1b85de7280fee7fbc
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Sep 20 13:39:17 2007 -0600
+
+ Always update st->state.vs, not just when the program is dirty.
+
+ This fixes a regression in the cubemap.c demo which alternates between
+ two different vertex shaders.
+
+commit 768302c53971ad0405ee6e2a30db96fc5f51913b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Sep 20 09:55:56 2007 -0600
+
+ remove unused lookup[]
+
+commit b5908a7671b408835777931e7180b8264f150bbd
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Sep 20 09:43:51 2007 -0600
+
+ fix input/output typos
+
+commit c1ecc383204914567c6de1587d7b9559ec72ce6e
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Sep 20 11:41:25 2007 -0700
+
+ Uniquely validate the batchbuffer-referenced buffers.
+
+ Otherwise, for multiple references by the batchbuffer, the kernel would see
+ the buffer already on the unfenced list and wait for it to leave the list
+ before continuing, leading to hanging and eventual -EBUSY.
+
+commit 75912596741d1afe5827dab6913c3d810eda8788
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Sep 20 11:38:32 2007 -0700
+
+ Add disabled-by-default tracing of TTM bufmgr operations.
+
+commit 742e32a40bf5ef1bd90b23aa0f7d451b7b7f0ba3
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu Sep 20 12:34:31 2007 -0400
+
+ Cache the i915 sampler state.
+
+commit b7fd06a871893d8ed482d16207136e324bb7d85c
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Sep 20 09:20:48 2007 -0700
+
+ Fix flipped sign to strerror.
+
+commit 4f1c9f7e510122b32c82ee9adbdb4987dae27afe
+Merge: e3745da 45899a4
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Sep 19 11:05:36 2007 -0700
+
+ Merge branch 'master' into i915-unification
+
+ Conflicts:
+
+ src/mesa/drivers/dri/common/dri_drmpool.c
+ src/mesa/drivers/dri/i915tex/i915_vtbl.c
+ src/mesa/drivers/dri/i915tex/intel_batchbuffer.c
+ src/mesa/drivers/dri/i915tex/intel_context.c
+
+commit cc2629f5912d1c608f830ab63f6c4e0875d2fcef
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu Sep 20 11:33:35 2007 -0400
+
+ Make the rasterizer state in i915 use the cso semantics.
+
+commit 893f9cda7601fb937138629042dd9f6507eb6b5f
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu Sep 20 11:33:05 2007 -0400
+
+ Allow drivers to cache the template in case they want to
+ fallback through softpipe which will require the template.
+
+commit 1d8c31b47bd34a43e1f78a9f21a0c02c57c58479
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu Sep 20 10:28:20 2007 -0400
+
+ Rewrite the depth_stencil state handling in i915.
+
+ Done to match the new cso semantics. translate in create,
+ use in bind and later delete.
+
+commit 7a06c026ad24b74048f6d125383faf25deb1dfbb
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu Sep 20 10:07:10 2007 -0400
+
+ Fix failover state binding and convert the sampler to use the new
+ state constant state object semantics.
+
+commit a6c0c5532f7bfa50ae54c36cf4d74ad4b9f926f8
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu Sep 20 08:35:10 2007 -0400
+
+ Convert depth_stencil state to the new semantics.
+
+commit daf5b0f41baa50951e7c2f9ea5cd90b119085a7f
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Thu Sep 20 07:50:33 2007 -0400
+
+ Switch fragment/vertex shaders to the new caching semantics.
+
+ Allow driver custom allocation within cached objects. The shaders
+ are currently twiced (by cso layer and by the program itself).
+
+commit 2c88bfeaa47bf464b02275e10e6c348e5172a0a1
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Thu Sep 20 17:42:13 2007 +0800
+
+ i965: fix an error in brw_vs_tnl.c
+
+ if the state of TEXMAT is changed, the VS isn't updated.
+
+commit 8fc1a6808d88bd1dd641751f2f50c867a05dcc07
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Thu Sep 20 17:37:04 2007 +0800
+
+ fix memory access error in vbo_bind_vertex_list
+
+commit 6f2ca13f903508e50946f525fc01d862cd8bd1f5
+Author: Dave Airlie <airlied@redhat.com>
+Date: Thu Sep 20 13:36:31 2007 +1000
+
+ nouveau: add GeForce 7300 SE to card list
+
+commit 37cf13ed9a429c755f121daa1776b1b30a985ab3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Sep 19 18:53:36 2007 -0600
+
+ Checkpoint: replacement of TGSI_ATTRIB_x tokens with input/output semantics.
+
+ TGSI_ATTRIB_x tokens still present and used in a few places.
+ Expanded set of TGSI_SEMANTIC_x tokens for describing the meaning
+ of inputs/outputs. These tokens are in a crude state ATM.
+ Lots of #if 0 / disabled code to be removed yet, etc...
+ Softpipe and i915 drivers should be in working condition but not heavily tested.
+
+commit 83a674a7af4e58f677a56aae2111d2cbdbf1e21d
+Author: José Fonseca <jrfonseca@tungstengraphics.com>
+Date: Wed Sep 19 23:43:36 2007 +0100
+
+ Update linux-profile config.
+
+commit 0759e0999b087028cc2d76c725c5f97374dac503
+Author: Matthieu Castet <castet.matthieu@free.fr>
+Date: Wed Sep 19 23:22:39 2007 +0200
+
+ nouveau : nv1x use OUT_RING_CACHE_FORCE for NV10_TCL_PRIMITIVE_3D_PROJECTION_MATRIX as strange results
+ appear when the matrix is partialy updated.
+
+commit 3b582dff8c72870fb4d0b3641015365ea9026022
+Author: Matthieu Castet <castet.matthieu@free.fr>
+Date: Wed Sep 19 23:20:13 2007 +0200
+
+ nouveau : add OUT_RING_CACHE_FORCE* to add stuff in the cache even if the value didn't change
+
+commit a0e948f3aaadf56ab206a6b3e597825f2085f6d1
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Sep 19 15:29:17 2007 -0400
+
+ Fix a really stupid mistake that Michel hit. Return proper hash.
+
+commit c9a5ef1a1cdee94fe091cb65ea34e9a9bb8b2190
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Wed Sep 19 20:03:08 2007 +0100
+
+ Fix window resizes.
+
+ The memcmp is insufficient for eliminating redundant framebuffer state changes.
+
+commit 617b39ce9811b0998ceb746c935cc50cacf8a9bc
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Wed Sep 19 17:59:51 2007 +0100
+
+ Pad surface dimensions to multiples of 2.
+
+ Avoids an assertion failure with softpipe if requested width or height is odd.
+
+commit b8ecec7abefcd1f0720e448c05e901af0224806a
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Sep 19 14:14:03 2007 -0400
+
+ Adding proper includes often helps with the warnings,
+ or so i hear..
+
+commit c8650b087440c7ba5ad0d8652dc916852e55bc1d
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Sep 19 14:06:19 2007 -0400
+
+ Avoid redundant reallocation of the template.
+
+ cso already allocated the template for us. Returning 0 means
+ we have no driver specific representation and just want
+ the template on the bind.
+
+commit fe555c39bb7fd530298b5be4a8f06bff41726c86
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Sep 19 14:01:18 2007 -0400
+
+ Convert the rasterizer cso to the new semantics.
+
+ Basically make cso hold the driver specific struct, while
+ managing the template.
+
+commit 1310f02dee336048a0d3f94a9b34575c3f6e00a6
+Author: Matthieu Castet <castet.matthieu@free.fr>
+Date: Wed Sep 19 19:57:55 2007 +0200
+
+ nouveau : add GL_FOG_COLOR + fix a compil error
+
+commit 45899a494c578d406b29e5ee17c0f1b6bf12c2de
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Sep 19 10:10:18 2007 -0700
+
+ Update .gitignore for demos.
+
+commit eecec2547851c331d0923d0162bd2008801551f3
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jul 5 16:57:53 2007 -0700
+
+ Add missing -g in FreeBSD OPT_CFLAGS
+
+commit b91791a85c1098e7a0210d7b9f186db20106ba3b
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Sep 19 09:56:43 2007 -0700
+
+ Replace i915tex batchbuffer printout with a pretty-printed version.
+
+commit f843dcb844c4b1000f3b98a85f622b6929c19eea
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Sep 19 09:02:24 2007 -0700
+
+ Enable building the debug (env INTEL_DEBUG=list) code by default.
+
+commit 9070e6b9970a6aeabfff07b259e0e1660980cc59
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jun 19 15:15:40 2007 -0700
+
+ i915: Quiet valgrind by initializing the seq value the kernel writes into.
+
+ Also, add a couple of comments to the wait/emit IRQ functions.
+
+commit b6d50abd7d483029469a0faaa28e8e2f2f742c6d
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Sep 19 13:05:58 2007 -0400
+
+ Convert the i915 driver blend state to the new semantics.
+
+commit c0bf7322088715bb411068c3d631b0c4be8cdff5
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Sep 19 12:35:29 2007 -0400
+
+ Redo the cso cache to map driver data in a lot more pleasing way.
+
+ Drivers can now create whatever they want from the state template. We
+ use cso_state object to store the template (necessary during lookups),
+ and the driver data. Convert blend state to the new semantics.
+
+commit 3800599bd4f6185c1eefc5d44794525ec4a3e406
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Wed Sep 19 19:08:56 2007 +0200
+
+ nouveau: nv10: color logic op only for nv11+
+
+commit b3cc74aa448f42340cbd01578a51f94eb2949618
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Sep 19 10:16:46 2007 -0600
+
+ grab vertex program pointer after state validation
+
+commit bcc13fd3f8cc1c235ef5114472b0f919a38c096b
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Wed Sep 19 16:39:04 2007 +0100
+
+ Only generate vertex shader code when necessary.
+
+commit f22e920f478d8732695913ec0d1f7244b451a8f5
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Wed Sep 19 06:46:32 2007 -0400
+
+ Finish up conversions of shaders to immutable objects.
+
+ Create/Delete calls should be split since in create we'll be
+ compiling them so we want to know which one it is (vertex/fragment).
+
+commit bb611c5f1f6aec7ac51d4fa3301422b47f6de795
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Sep 18 19:37:36 2007 -0600
+
+ Checkpoint: rework shader input/output register mapping.
+
+ This is a step toward removing TGSI_ATTRIB_ tokens.
+ Basically, when translating Mesa programs to TGSI programs, pass in input and
+ output register re-maps, plus interpolation info.
+ There's some known breakage (cubemap.c) so more to be done...
+
+commit 63be96bdc7e9f388a5c49295bd7e150462fd003a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Sep 18 19:29:26 2007 -0600
+
+ temporarily set the FRAG_BIT_FOGC bit in InputsRead when fog is enabled
+
+commit e3745dac59602a9d21b49d602646de5aef95075f
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Sep 18 15:46:16 2007 -0700
+
+ Add some error reporting and a couple of assertions to TTM bufmgr.
+
+commit 3f0e04e0e62b853382a018cb6a69eea14e85712d
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue Sep 18 21:50:31 2007 +0100
+
+ intel_winsys: Disable scheduled buffer swaps for now.
+
+ They don't work with private back buffers yet.
+
+ This gets vsync working.
+
+commit d39dde6ed4ab1927d5b9992d6cc7414e7fa236e8
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue Sep 18 21:49:43 2007 +0100
+
+ Fix linux-dri-x86 target.
+
+commit 6fbbeed690c7f9aa0a97fdf64c8c57d1d79e7c33
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Sep 18 12:55:53 2007 -0600
+
+ use perspective projection, press r/R to rotate the quad
+
+commit 2a460f6185199bad8b2bca4d0bac319377f801fa
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Sep 18 12:55:20 2007 -0600
+
+ Fix some issues with perspective-corrected interpolation.
+
+ In mesa_to_tgsi.c, use TGSI_INTERPOLATE_PERSPECTIVE by default (to match
+ post-transform vertex info convention). More to be done there...
+ In sp_quad_fs.c, interpolate W in addition to Z. This fixes the divide
+ by zero happening in perspective_interpolation() tgsi_exec.c
+ As it was, we were only getting perspective correction of texture coords
+ used by the TGSI_TEX instruction since it does a homogeneous divide.
+ Other coords/varyings were incorrect.
+
+commit 72b0a57cfa99e55ad6e1b4ddcd486c202ee1f22d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Sep 18 12:50:20 2007 -0600
+
+ additional comments for tri_persp_coeff()
+
+commit ccd63b54cfbb6bb241d55f7ac95afcd14819f469
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Tue Sep 18 13:24:44 2007 -0400
+
+ Convert shader to an immutable state object.
+
+commit 498a1b5dc4ca431bb1de45d04140bfb2ac319ab2
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Tue Sep 18 10:02:51 2007 -0400
+
+ Add emacs dirvars file with Mesa indention definition.
+
+commit de69fc1703f79e5c97e66b654de7a93b7abce8f0
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Tue Sep 18 10:02:16 2007 -0400
+
+ Finishing up rename of the setup state to the rasterizer state.
+
+commit fbb2f840aef9a540401575b032edb4dfdabd10bb
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Tue Sep 18 06:24:54 2007 -0400
+
+ move cso cache to the pipe directory
+
+commit 29789ca026c03dff64b6286e202561faf111fde9
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Sep 17 13:49:12 2007 -0400
+
+ Fix a silly bug on setting samplers.
+
+ Bind when the currently bound state is /not/ the one
+ we just found/created.
+
+commit 294401814d1d89cc731de1c22c25333aa5d59374
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Sep 17 12:59:50 2007 -0400
+
+ converting the setup state to immutable object and renaming it to rasterizer state
+
+commit d6ac959833a8e40a27907940969c622692f749b1
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Sep 17 11:55:18 2007 -0400
+
+ Combing depth and stencil objects and making them immutable.
+
+ Converting depth and stencil objects into a single state object
+ (d3d10 like) and making it immutable.
+
+commit 56edb98d975041cca2e4a3712126b151d80a045a
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Sep 17 09:50:08 2007 -0400
+
+ Fix the warning.
+
+ The const is there to enforce the immutable state of the object,
+ which is in reality owned by the pipe so just cast away the
+ constness.
+
+commit f117327a3f246713abfd4dc4320d4a1a7f1b811a
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Sep 17 09:47:41 2007 -0400
+
+ Make sampler an immutable state object.
+
+ Switch the sample to be an immutable state object.
+
+commit e16c045b83f5c5b4f4064df67623bb76b46b6619
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Mon Sep 17 07:56:56 2007 -0400
+
+ Implementing a better hash, removing state_tracker dependency from the cache.
+
+ Replacing mesa's main hash with one that handles collisions, moving state_tracker
+ related caching to the state tracker to keep cso cache independent of it. Cleanups.
+
+commit 9780327c5d95586a88fce94d7b47342355ead118
+Author: Zack Rusin <zack@tungstengraphics.com>
+Date: Fri Sep 14 04:08:58 2007 -0400
+
+ First stab at immutable state objects (create/bind/delete)
+
+ We want our state objects to be immutable, handled via the
+ create/bind/delete calls instead of struct propagation.
+ Only implementing the blend state to see how it would look like
+ and work.
+
+commit ec9e7bc753316cebed9c9ce12aa5513486c6b8d0
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Tue Sep 18 12:59:50 2007 +0800
+
+ ARB_shader_object ARB_vertex_shader ARB_fragment_shader in 965-glsl branch
+
+commit 25bda451bbdbc51a7a4346e2c809f335fb46db72
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Tue Sep 18 11:32:25 2007 +0800
+
+ fix double free in 965-glsl branch
+
+commit e21d2c6ef300c7661f49c50b4c68b4f205795f4a
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Tue Sep 18 09:32:44 2007 +0800
+
+ mesa: Always use the original mask to update stencil buffer
+ in stencil_and_ztest_pixels. fix #12263
+
+commit ffacb1c12a77d71613e8171e31ffc348959881e4
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Sep 17 15:44:59 2007 -0600
+
+ Replace GL_TEXTURE_* tokens with PIPE_TEXTURE_*
+
+ Must have missed this a while back. This fixes cube mapping.
+
+commit b4bacd1fca336f043d1ee3c3a346fbd42a3b02eb
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Sep 17 14:24:11 2007 -0600
+
+ Plug in selection/feedback code.
+
+ Not quite finished yet.
+ Selection/feedback are done with a private instance of the 'draw' module
+ in the state tracker. Not quite all the draw context's state is set yet,
+ namely vertex format info. Hold off on that for a bit...
+
+commit 2a40c71fed9461a6ecd17788b17b35655262aec6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Sep 17 14:22:49 2007 -0600
+
+ selection/feedback support
+
+commit 060a6380270b511fd1e100c1caaa28f43943eb52
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Sep 17 12:18:32 2007 -0600
+
+ s/bugmgr/bufgr/
+
+commit 72d7d2bcc34e3d26f1c4de92f1508c9ddffb3421
+Merge: f48e055 5578f8c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Sep 17 12:07:29 2007 -0600
+
+ Merge branch 'softpipe_0_1_branch' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa into softpipe_0_1_branch
+
+commit 5578f8ce3bf349107b04fb0ebb8b8d505bd9424d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Sep 17 18:02:46 2007 +0100
+
+ Remove non-meaningful region_idle() interface
+
+ This is already handled by the semanics of map(), etc.
+
+commit f48e055c1072ca0f3ce3096606a8d892a559c599
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Sep 17 10:05:34 2007 -0600
+
+ silence warning
+
+commit 9ea91974e153858d7c0397bd78448b4be1c10c4c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Sep 17 10:05:21 2007 -0600
+
+ update begin/end_query() functions
+
+commit bf92350b5b2c8e14515fb8bbfacd8c06502dfb98
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Mon Sep 17 13:22:51 2007 +0100
+
+ Fix linux-dri-x86 build.
+
+commit c29886718ac8389b526b3eb5947c286b7fe00a88
+Author: Matthieu Castet <castet.matthieu@free.fr>
+Date: Sun Sep 16 23:33:10 2007 +0200
+
+ nouveau : avoid vertex_size / 4 for each vertex ops
+
+commit 7cc4d31ed9ff0e7f428b9ab05fc69b4e037c0a3a
+Author: Matthieu Castet <castet.matthieu@free.fr>
+Date: Sun Sep 16 23:19:22 2007 +0200
+
+ nouveau : use GLfloat instead of uint32_t. After all, our vertex attributes are float.
+
+commit 7356dac1b69ca76706439bb7c51ef37fee6588a2
+Author: Matthieu Castet <castet.matthieu@free.fr>
+Date: Sun Sep 16 23:01:56 2007 +0200
+
+ nouveau : implement nv10_render_points
+
+commit 2616b206895d0e4e3ba1a5b981708ce3d37670ef
+Author: Matthieu Castet <castet.matthieu@free.fr>
+Date: Sun Sep 16 19:37:27 2007 +0200
+
+ nouveau : fix nv10_render functions
+ use _tnl_RenderClipped helper functions that will call the right driver callback
+ clean nv10_render_generic_primitive_elts to match nv10_render style
+
+commit e605f2828fb2e5d38a1f68ed78300f441c86dfa5
+Author: Matthieu Castet <castet.matthieu@free.fr>
+Date: Sun Sep 16 18:57:03 2007 +0200
+
+ nouveau : opps I introduce a bug when cleaning vertex pos attribute swap patch
+
+commit 3d17cdf55acc2b452b9f2b57a9823595615c4806
+Author: Matthieu Castet <castet.matthieu@free.fr>
+Date: Sun Sep 16 16:15:13 2007 +0200
+
+ revert a956184f70733bd22e2bbee515386da12302963f
+
+commit d42d5fdba0431f33ee0b7713f0782942095dd587
+Author: Matthieu Castet <castet.matthieu@free.fr>
+Date: Sun Sep 16 16:13:55 2007 +0200
+
+ nouveau : nv1x pos vertex attribute need to be the first in mesa.
+ Swap it latter in order it match hw format.
+
+commit 8d9d990cb2d20074e188df4ddaa8e4e235e87b0e
+Author: Matthieu Castet <castet.matthieu@free.fr>
+Date: Sat Sep 15 00:25:09 2007 +0200
+
+ nouveau : use new nouveau_reg.h with correct Bracket in macro
+
+commit 5e7835625912e5b64c1c0f76c7614367bec40039
+Author: Matthieu Castet <castet.matthieu@free.fr>
+Date: Fri Sep 14 22:13:52 2007 +0200
+
+ nouveau : check for nmesa->state_cache.atoms overflow
+
+commit 63147344e422aa2b00b6b22d76fdea801c38b2ea
+Author: Matthieu Castet <castet.matthieu@free.fr>
+Date: Fri Sep 14 22:07:34 2007 +0200
+
+ nouveau : fix NV10_TCL_PRIMITIVE_3D_CLIP_PLANE
+
+commit bb4a9b2dcedc449f8e60f7d136b086d011ed3323
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Sep 14 09:58:32 2007 -0600
+
+ added copypix.c test (test glCopyPixels w/ pixel zoom)
+
+commit 032707eeca2e6a0fd931ebd9ef4831bf30baf183
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Sep 14 09:57:57 2007 -0600
+
+ fix copypixels overlap test bug (#12417)
+
+commit d59c95bfae0402813a6b9a1242cdd971624c127a
+Author: Michel Daenzer <daenzer@localhost.(none)>
+Date: Fri Sep 14 15:51:00 2007 +0100
+
+ intel_winsys: Fix intel_buffer_reference.
+
+ Correctly clear the pointer to the old buffer (not sure how this could build at
+ all before...) and only reference the new one when its pointer is non-NULL.
+
+commit c01a5ec3d63a2f414e2b6c5b31c80367943189b4
+Author: Michel Daenzer <daenzer@localhost.(none)>
+Date: Fri Sep 14 15:48:54 2007 +0100
+
+ intel_winsys: Adapt to recent drm changes (s/pipes/planes/).
+
+commit e04c58e06842e5157231f1bd4ba79ccbbaad8f1c
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Fri Sep 14 16:26:56 2007 +0800
+
+ mesa: bind VBO_ATTRIB_XXX to correct input array when
+ executing a display list. fix #10604
+
+commit ea07a0df9a2f689b8f5acaf92c40bbbd602cab3c
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Fri Sep 14 11:10:23 2007 +0800
+
+ i965: align the address of the first element within
+ the index buffer. (fix#11910)
+
+commit 75a0f7f4a73270714181662bbb12dd5de5eb7f79
+Merge: d3c77ce 3a2559a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Sep 13 14:45:22 2007 -0600
+
+ Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa
+
+commit d3c77cebff75aea4fe4ce3352fa6ba8fb9c0e09e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Sep 13 14:44:27 2007 -0600
+
+ updated vrml link
+
+commit 885a95f4fa6d8adba2bfc1839b99f404b473f646
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Sep 13 14:42:23 2007 -0600
+
+ Fix timer problem when using Fortran bindings (submitted by Bill Mitchell)
+
+ Also, add some comments about what's going on.
+
+commit 3a2559a1e9989655591b7faf93ea6bfa21dbff1b
+Author: Matthieu Castet <castet.matthieu@free.fr>
+Date: Thu Sep 13 22:13:39 2007 +0200
+
+ nouveau : diable broken light enable on nv10
+
+commit ab31a3a7647ca1b1567dbc58c6093c523173c988
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Sep 13 11:41:49 2007 -0600
+
+ added program_error2() function for better error reporting
+
+commit d799b7a7ecbe3e773decfcc2ebd1b23f53fc48a7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Sep 13 11:29:00 2007 -0600
+
+ Fix state.texgen parsing error (bug 12313).
+
+ Replace *(*inst++) with *(*inst)++ in a few places.
+
+commit f3419d5ead719c881c8a240dd1c204bfc2abf502
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Sep 13 09:27:10 2007 -0600
+
+ added .pc.in files to tarballs
+
+commit 20b331c2f6fa4e16f0c473f27914644e2bcd2b39
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Sep 13 09:26:27 2007 -0600
+
+ added null ptr check
+
+commit 5fdeb52e5d21bfb7feff2253c7d9e18e6b3cb252
+Author: Jonathan Bestien-Filiatrault <joe@x2a.org>
+Date: Wed Sep 12 16:21:13 2007 -0600
+
+ check return value of invert_matrix()
+
+commit ae0dd620fec580b77b0901ed1376e6a6b2569c7e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Sep 12 13:40:15 2007 -0600
+
+ Add glut_fcb.c to the build and update to fix warnings (see bug 12405)
+
+commit 642267b2d8c9848c5c1a11ba2b598dc313a2737a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Sep 12 13:37:10 2007 -0600
+
+ Rename. "fcb" = fortran call back
+
+commit ba5290e836d5fd6e80dc460f75f6b032e2510382
+Author: Jesse Barnes <jesse.barnes@intel.com>
+Date: Wed Sep 12 09:03:44 2007 -0700
+
+ Remove unused plane->pipe mapping fields from SAREA private.
+
+commit 5bba58ca2215a3c3827e4bbb280eab7ceaa913e9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Sep 12 10:11:49 2007 -0600
+
+ updated with pkg-config info
+
+commit 94617bc6d505b056b028dc0978ef4a94ee47fa7d
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Wed Sep 12 10:03:05 2007 -0600
+
+ pkg-config support
+
+commit f5557c3a528fbad3750aaa18595dc3548b600609
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date: Wed Sep 12 09:57:53 2007 -0600
+
+ DESTDIR support.
+
+commit a0a5e8cfc04c14873441b50f7d594ef11806b9a8
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Wed Sep 12 16:51:45 2007 +0800
+
+ i965: translate shadow compare function into correct
+ internal function to match the EXT_shadow_funs
+ spec. fix bug#11925
+
+commit ae078e1a0abae58e325ed3ebcb1884867847826b
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Wed Sep 12 15:13:06 2007 +0800
+
+ i965: revert commit 1a15b2169ba6cb100627eb525a20a00537cfb6f0,
+ and keep the instruction state unchanged after calling
+ brw_emit_tri_setup/brw_emit_line_setup when building setup
+ thread for SF_UNFILLED_TRIS.
+
+commit 09fbb3837b6aa5dfc6c94f41ab5443820177c569
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Sep 11 16:01:17 2007 -0600
+
+ Implement query object interface.
+
+ This replaces the temporary occlusion counter functions we had before.
+ Added new ctx->Driver.WaitQuery() function which should block until the result is ready.
+ Sketch out some code for vertex transformation feedback counters.
+
+commit 9944174abc546fe1845c26ce496edd747ad34347
+Author: root <brian.paul@tungstengraphics.com>
+Date: Tue Sep 11 15:24:43 2007 -0600
+
+ prefix some include filenames with shader/
+
+commit acfeb3b6ea93bcb5b18e6f51a0727e39da608d76
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Sep 11 10:57:37 2007 -0600
+
+ Fix-up #includes to remove some -I options.
+
+ eg: #include "shader/program.h" and remove -I$(TOP)/src/mesa/program
+
+commit a614877592e8526d997242ce336fb455dd3f5bdb
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Sep 11 10:56:35 2007 -0600
+
+ In _mesa_make_current(), don't unbind FBOs from the old context.
+
+ This fixes the X server crash reported by KeithP on Aug 29.
+ The old context's FBOs will be unreferenced during context destruction so
+ there's no memleak with this change.
+
+commit 995e01a6bcfe280149a2a076b5ea66ee94d0721c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Sep 11 09:21:34 2007 -0600
+
+ Update depth test state when binding new framebuffer object
+
+commit 0c43ab6fbcd43f611170885f2068dd3a06bc6cea
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Sep 11 09:20:48 2007 -0600
+
+ fix comment
+
+commit 7f6decf3e4c0fe17e149a97cbf2b56b86559d409
+Merge: 78b7e49 0aedb9a
+Author: Jesse Barnes <jesse.barnes@intel.com>
+Date: Tue Sep 11 03:55:40 2007 -0700
+
+ Merge branch 'master' of ssh://git.freedesktop.org/git/mesa/mesa
+
+commit 78b7e49c846c535f6907c18a9982d07c9e9feabb
+Author: Jesse Barnes <jesse.barnes@intel.com>
+Date: Tue Sep 11 03:54:34 2007 -0700
+
+ intel: disentangle planes & pipes
+
+ This is the Mesa portion of the pipe & plane disambiguation. Mesa needs to use
+ the new assumptions about plane vs. pipe mappings and should use the new SAREA
+ field names to avoid confusion.
+
+commit 0aedb9a2042bef9c13358500f93acaf8459a74cb
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Tue Sep 11 16:57:07 2007 +0800
+
+ i965: take the secondary color into account when drawing
+ bitmap. fix#10688
+
+commit 241b7bc0a3e6277e15bb45887ad5533ffe692428
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Tue Sep 11 16:49:02 2007 +0800
+
+ i965: limit on LOD Bias, fix#11987
+
+commit 5620d66e362acff99dbc748feec1da1e0f997288
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Sep 10 17:02:58 2007 -0600
+
+ vertex feedback functions
+
+commit 6275b40063d7d06e0b05767ebca3963ce7e9c34e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Sep 10 16:52:05 2007 -0600
+
+ merge buffer_unreference(), buffer_reference()
+
+commit 051a2a3028370da66c15c44fa49fa9474b23d668
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Sep 10 16:35:16 2007 -0600
+
+ clean-ups, comments
+
+commit c3f7f3124a04ba4e02c9c81eb7901e5715940c44
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Sep 10 16:32:24 2007 -0600
+
+ s/xm_softpipe.c/xm_winsys.c/
+
+commit b06641eb4a2465dac69467bc436df9e4df56b2f0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Sep 10 16:31:24 2007 -0600
+
+ Rename
+
+commit d56a3adc30c19c8f00cb7dc585e86babfd3a79a7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Sep 10 16:29:23 2007 -0600
+
+ More work on vertex feedback / glRasterPos. Basic rasterpos works now.
+
+commit b2dfe2be6cc91c330e7fe21ea663cacfc220582d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Sep 10 16:28:39 2007 -0600
+
+ added st_cb_rasterpos.c
+
+commit bee148cb7d5c974a1b5534a0307b2c082eea27e2
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Sep 10 16:28:27 2007 -0600
+
+ plug in rasterpos/feedback code
+
+commit bb193c6d22125f1af62e81c1251acd2a68939608
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Sep 10 16:28:10 2007 -0600
+
+ glRasterPos function
+
+commit 21c925f49191df46ed8788ac09bbb3bd4a437c99
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Sep 10 16:27:07 2007 -0600
+
+ move FLUSH_CURRENT
+
+commit 24cd84162e97914fb19190593f59eb7c074f333c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Sep 10 08:35:53 2007 -0600
+
+ clean-up (see bug 12317)
+
+commit 63a51aee86f76ae54fb1ce572d584fb0f01aaec5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Sep 6 17:07:09 2007 -0600
+
+ Initial work for post-transformed vertex feedback buffers.
+
+ This will be used for:
+ GL_NV_transform_feedback, or similar GL3 functionality
+ glRasterPos
+ GL selection/feedback modes
+
+commit 41ddd76b98e9e236a796f1bb9480ea0b2fb18010
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Sep 6 17:03:54 2007 -0600
+
+ Initial work for post-transform vertex feedback buffers.
+
+ This will be used for:
+ GL_NV_transform_feedback, or GL3 equivalent.
+ RasterPos
+ GL select/feedback modes
+
+commit 4c01d498fac14bba751dd87bff235efb5409dca9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Sep 6 17:02:07 2007 -0600
+
+ Move guts of glRasterPos down into T&L module.
+
+commit 249ca55555beea76c63a5f5dd09d35aa45efa180
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Thu Sep 6 22:36:12 2007 +0200
+
+ nouveau: nv10: check NULL pointers
+
+commit 15a6bf9118937e1e705e64e36fbceafbb3ad70ed
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Thu Sep 6 22:33:22 2007 +0200
+
+ nouveau: init depth range
+
+commit f2f168d0f8a1427e07133eceae290fa2e845f95f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Sep 6 14:26:35 2007 -0600
+
+ Move guts of glRasterPos into tnl module, called via new ctx->Driver.RasterPos() function.
+
+commit 7307ff80c9141aa9730c17f500e99d3d983840b8
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Thu Sep 6 20:00:25 2007 +0200
+
+ nouveau: nv10: replace macros by loop to set vertex attributes
+
+commit 8f9b9ac387b1ffcecdca749b22d59eef5604bc6f
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Thu Sep 6 19:58:59 2007 +0200
+
+ nouveau: need parenthesis around macro params, generator should be fixed
+
+commit a956184f70733bd22e2bbee515386da12302963f
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Thu Sep 6 19:12:58 2007 +0200
+
+ Disable an assert for hw that do not emit POS as first vertex attrib, like nv1x
+
+commit db9f97e2aeeee31f8a015b3f5f4fa80d9c0bfd2e
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Wed Sep 5 23:35:52 2007 +0200
+
+ nouveau: nv10: emit vertex data in proper order for nv1x hw
+
+commit 9ceff4ac4c1e0179ee5c0f5a1e5ffe8306068571
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Sep 5 10:03:32 2007 -0600
+
+ updated bug report guidelines
+
+commit 8822069e71100054e1ed2edd5b1bc2912c7d2429
+Author: Christoph Kubisch <crazybutcher@gmx.de>
+Date: Wed Sep 5 10:03:08 2007 -0600
+
+ updated VC7 project files
+
+commit 1a15b2169ba6cb100627eb525a20a00537cfb6f0
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Wed Sep 5 13:31:01 2007 +0800
+
+ i965: only take non-varying attribute into account when
+ compiling sf_prog. fix bug#11378 (which is introduced by
+ commit d619cceea47dc3070ebb7f7ea4f8b6b31a672d38)
+
+commit 8752a20decab59de4dd5feb9672b8299126eb7eb
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Tue Sep 4 23:21:21 2007 +0200
+
+ nouveau: who needs nv03 ?
+
+commit ece08b7fd9af5ba67afa0a5d8e0a11f688ab4b0f
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Tue Sep 4 19:13:07 2007 +0200
+
+ nouveau: nv10: need to transpose mesa model+proj matrix for hw
+
+commit c2e1ee08b083638a7306e15ca48e9ea516d42dc4
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Sep 3 16:20:05 2007 -0600
+
+ Use temporary matrix in __gluInvertMatrixd() to fix aliasing problem (see bugs 12269, 6748)
+
+commit 2f8ff58c0e8fbb60974be9c2412db8610b2152e2
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Mon Sep 3 23:42:33 2007 +0200
+
+ nouveau: nv10: forgot function to set modelview matrix
+
+commit c45bb05b3c0b65981b6ddeaf1bb043b9a6f7f3fc
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Mon Sep 3 23:08:57 2007 +0200
+
+ nouveau: separate modelview and projection matrix updates
+
+commit cb7da3f09655f9c66eabb6a38f581c9176980cd2
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Sat Sep 1 15:43:15 2007 +0800
+
+ i965: Correct build_lighting in i965 driver according to
+ commit 6dd98e9853a6984150aa47467112e016c40a4ab4.
+
+commit 6dd98e9853a6984150aa47467112e016c40a4ab4
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 31 16:42:05 2007 -0600
+
+ Fix problem introduced in previous commit in which a state variable (uniform) is written to. (see bug 12239)
+
+ Also, added some assertions to the emit_arg() and emit_dst() functions to
+ catch this kind of error in the future.
+
+commit 47768ce0e59a76cbe367fe3b66be4150cd4ea3a8
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Fri Aug 31 19:45:14 2007 +0200
+
+ nouveau: nv10: remove setting projection matrix when scaling viewport
+
+commit b0a1e81887a831f72ffbec4fe005e1837c81018c
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Fri Aug 31 19:43:16 2007 +0200
+
+ nouveau: add hw-dependent function to update modelview*projection matrix
+
+commit 9a11a4a8b4b66201aeeb9a7057aeb08ef47536e1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 31 11:28:31 2007 -0600
+
+ move some protos from draw_vertex.h to draw_private.h
+
+commit 2e21058e3d2c484b282cbc0bb5e7169b9a8d4fc7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 31 11:27:16 2007 -0600
+
+ Define attrib_format and interp_mode enum typedefs and use where appropriate.
+
+commit 214347fdb4c30dc8bac5d4b9a823458709bc53ea
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Fri Aug 31 16:50:48 2007 +0800
+
+ i965: Calculate the positional light in homogeneous coordinates.
+ fix bug#11009
+
+commit b47c9f8c915ae4ca8c7fa5ee3b6b64f17c38b569
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Fri Aug 31 13:42:20 2007 +0800
+
+ optimize 965 clip
+ 1. increase clip thread number to 2
+ 2. do cliptest for -rhw
+
+commit 22bc3cdd49eb81d48ad4b8f06be0b9a9de624c91
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Fri Aug 31 12:51:36 2007 +0800
+
+ i965: Take the upper limitation on LOD into account.
+
+commit 898d68a3762f84f0d435cda2f6aafddd356d1788
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 30 16:49:24 2007 -0600
+
+ Consolidate vertex-related code in new draw_vertex.c
+
+ A few functions which were basically duplicated between softpipe and the
+ i915 driver are now re-used:
+ draw_emit_vertex_attr()
+ draw_compute_vertex_size()
+
+commit 963b8a74493a474560447080b23407bfe4c707c5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 30 16:37:56 2007 -0600
+
+ Remove dependency on TGSI_ATTRIB_x tokens in draw_twoside.c
+
+ Added a new draw_set_twoside_attributes() function for specifying which
+ vertex attributes are to be copied/replaced when a polygon is back-facing.
+
+commit c9e133eab450870c8804e1d3d1e7a44f509454a0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 30 16:04:10 2007 -0600
+
+ fix breakage from prev commit
+
+commit 8f1a0decad6baabed55371415fa4f75309c4c559
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 30 16:01:23 2007 -0600
+
+ fix unhandled switch/case warning
+
+commit 1dd94a63ace0c6133f80191ba3b3e5f56f86c8fe
+Author: David Moore <dcm@acm.org>
+Date: Thu Aug 30 14:43:30 2007 -0700
+
+ Bug #10571: Fix 965 line clipping when neither vertex needs clipping.
+
+commit 050837045f386bc2d034732edcedeb3168859da8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 30 14:44:40 2007 -0600
+
+ more usage info
+
+commit f726ffd060a80519cfef63ee2ec3381480802bcc
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 30 14:43:59 2007 -0600
+
+ test flat shading w/ clipping
+
+commit 942b9bc5bc13d959baa86779a7c669cf96659b9a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 30 14:41:23 2007 -0600
+
+ In draw_flatshade.c use vertex_info->interp_mode[] to choose attribs/colors to cpy.
+
+ One less dependency on the TGSI_ATTRIB_x flags.
+ This requires setting the vertex_info->interp_mode[] values in the i915 driver and passing them to draw_set_vertex_attributes().
+
+commit aaf03b94861cbf5a602863e4542dd1c2e54ba365
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 30 14:31:42 2007 -0600
+
+ Fix lost edge flags problem when clipping.
+
+ In emit_poly() we need to compute header.edgeflags from the vertex
+ edge flags. Also need to set header.det so later stages can determine
+ front/back orientation.
+
+commit 2d187672b7e38fcd8f6caa93f35dceb6fa11aa7f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 30 11:08:03 2007 -0600
+
+ Sketch out per-vertex point size.
+
+ The code is all in place, but mostly disabled for now:
+ In t_vp_build.c, write the VERT_RESULT_PSIZE register
+ In sp_state_derived.c, need to emit vertex point size if drawing points.
+ In setup_point() use the point size from the vertex.
+
+commit 74e1d0996d109ce6426507f9ca64cf38d3b83acf
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Thu Aug 30 18:04:49 2007 +0200
+
+ fix another occurence of movaps which might not be aligned
+
+commit 3b7df51eb5f5e2f980248f5e8c547869ea93ac78
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 30 08:41:38 2007 -0600
+
+ s/movaps/movups/ (see bug 12216)
+
+commit e62b9241d288da7d9bed28fb85ea17bbb617aa28
+Author: michal <michal@michal-laptop.(none)>
+Date: Wed Aug 29 22:30:20 2007 +0100
+
+ Add p_compiler.h.
+
+commit a6e2b76fb570dea8f4a1384e4a9df36f6b81ca84
+Author: michal <michal@michal-laptop.(none)>
+Date: Wed Aug 29 22:26:23 2007 +0100
+
+ Break GL dependencies.
+
+commit 6468e68466bfdf93cafafc78d37a156e96af229c
+Author: michal <michal@michal-laptop.(none)>
+Date: Wed Aug 29 22:24:42 2007 +0100
+
+ Break GL dependencies.
+
+commit 86fe5f235b174e2aedd02bc14a94df818bc3ea74
+Author: michal <michal@michal-laptop.(none)>
+Date: Wed Aug 29 22:22:02 2007 +0100
+
+ Break GL dependencies.
+
+commit 529c411e4095eeb9be501a6fe657a3a196c3e448
+Author: michal <michal@michal-laptop.(none)>
+Date: Wed Aug 29 22:10:00 2007 +0100
+
+ Break GL dependencies.
+
+commit 5c337508feedfa35ba3f534bf212f08265db2022
+Author: michal <michal@michal-laptop.(none)>
+Date: Wed Aug 29 21:40:18 2007 +0100
+
+ Fix ffs().
+
+commit bad6e175cf59cce630c37d73f6e71f3a4de50ae6
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Wed Aug 29 15:11:10 2007 -0400
+
+ i965: store read drawable info in intel_context. Some OpenGL
+ operations are based on read drawable. fix bug#10136.
+
+commit f6a89e1884535a6136900febc163ee930c1d2179
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Wed Aug 29 13:03:34 2007 -0400
+
+ i965: check NULL pointer. fix bug#12193
+
+commit 410d8f7cdb40889e66f5c6794878ad9a5f572ee7
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Wed Aug 29 10:13:10 2007 -0400
+
+ i965: samplers group in fours in WM_STATE. fix bug#9415
+
+commit 500193dca8cee7d8b609bd20cb60d20c96d77de3
+Author: Keith Packard <keithp@koto.keithp.com>
+Date: Tue Aug 28 12:27:51 2007 -0700
+
+ Add register defines for hw binning
+
+commit c235cc71a296e63f65cafcc95839119cf3cf2a63
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Tue Aug 28 11:35:52 2007 -0400
+
+ i965: flush batch buffer when getting the maximum. This makes
+ some 3D programs such as pymol work well.
+
+commit 874b9265601fcc05b1e32e2be029f3ac6a966c97
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Aug 27 19:30:11 2007 +0100
+
+ Split out vertex shader/cache/fetch functionality from draw_prim.c
+
+commit 3a484cd794070ee489839b86b3f8f827d3049efd
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 27 12:00:19 2007 -0600
+
+ added --noclear option to demonstrate rendering without glClear
+
+commit d62be3d4cac4228a74fd93a5588717b8b8468cc6
+Author: Colin McDonald <cjmcdonald@qinetiq.com>
+Date: Mon Aug 27 10:47:32 2007 -0600
+
+ fixed problem with big glDrawArrays (see bug 12141)
+
+commit f0a036bad91d5f281f8007e8cddefb3f648f1684
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 27 10:36:11 2007 -0600
+
+ new __gluInvertMatrix() function (Mesa bug 6748)
+
+commit c28ea5573d1e0249083c90d53890c2ec4e61f08c
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Mon Aug 27 11:45:30 2007 +0200
+
+ nouveau: nv10: set total stride of vertex array for POS attribute
+
+commit b0455958cc5fbb303cd5cd394c7945f357cc9663
+Author: keithw <keithw@keithw-laptop.(none)>
+Date: Sat Aug 25 22:05:16 2007 +0100
+
+ add missing files
+
+commit 3f8b5e3951cfa4d568f571a3073a78b81040f7fb
+Author: keithw <keithw@keithw-laptop.(none)>
+Date: Sat Aug 25 22:01:03 2007 +0100
+
+ fix frag vs vertex typo
+
+commit 4185da4681405f3cc4d0cc601d428f2f44d0dda8
+Author: keithw <keithw@keithw-laptop.(none)>
+Date: Sat Aug 25 22:00:36 2007 +0100
+
+ add names to tracked state atoms to improve debug
+
+commit 07d97e80e616d9fdc437d3b41055c347d5c54932
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Aug 24 18:30:00 2007 +0100
+
+ checkpoint in constant tracking rework
+
+commit 599ba515f979a343febbaf684a744ff525554727
+Author: keithw <keithw@keithw-laptop.(none)>
+Date: Fri Aug 24 12:30:28 2007 +0100
+
+ remove unneeded dirty flag
+
+commit 24967c8646b496b0e6f2735374528fe93ac3e0a4
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Sat Aug 25 17:46:53 2007 +0200
+
+ nouveau: nv10: also set modelview0 matrix to identity
+
+commit 40ecc4a359fb587627fee44a13192a0c20b03b8e
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Sat Aug 25 12:36:03 2007 +0200
+
+ nouveau: nv10: add a scissor func, do not cache viewport settings
+
+commit 1a911aad0a31b2d043a524e5d6f766fbb38142d7
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Sat Aug 25 11:39:04 2007 +0200
+
+ nouveau: nv10: properly set viewport and projection
+
+commit def8bb784cf403474eea3b4d25a3262155dc38f2
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 24 19:36:23 2007 -0600
+
+ code re-org, minor improvements
+
+commit b4a8175da08f950196047a22d0c8428498ecbe97
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 24 18:50:56 2007 -0600
+
+ s/==/=/
+
+commit 703140bbd58931046c00b43e52a7c4e9235875ca
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 24 18:26:42 2007 -0600
+
+ Fix fragment program color output mapping (0=depth, 1=color)
+
+commit 29dc25bcfebfcb1764382bee960851ab051e6bbe
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 24 18:19:50 2007 -0600
+
+ check for USE_X86_ASM or SLANG_X86 in st_delete_program()
+
+commit b7de64c46cc76abea99ec3fbe80d6b29a0645b56
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 24 18:06:11 2007 -0600
+
+ set I915_NEW_VERTEX_FORMAT in calculate_vertex_layout(), fixes demos/texenv
+
+commit 59e7bfa1de77ab03ca174bdf82fe33ab36050ce7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 24 13:17:08 2007 -0600
+
+ Add support for more surface types in sp_surface.c
+
+ replace PIPE_FORMAT_U_L8_A8 with PIPE_FORMAT_U_A8_L8
+
+commit 4fd7bc00f06a98e1db2ad886a13566f19895e3c0
+Author: michal <michal@michal-laptop.(none)>
+Date: Fri Aug 24 17:51:12 2007 +0100
+
+ Hook-up SSE2 to VS.
+
+commit 2c7b74725bfbd0a022ebfada4736d6cb8ac28047
+Author: michal <michal@michal-laptop.(none)>
+Date: Fri Aug 24 16:23:02 2007 +0100
+
+ Indent. Remove GL dependencies. Simplify. Add rtasm instructions.
+
+commit b5c14b36addc46d8cc02e1e7d1ac85ea3ce82e8e
+Author: michal <michal@michal-laptop.(none)>
+Date: Fri Aug 24 12:52:47 2007 +0100
+
+ Add tgsi_sse2.
+
+commit cd9368253011e00c2b5838e0f1dbb440f04b7f3a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 24 12:38:31 2007 -0600
+
+ remove deleted i915_state_fragprog.c
+
+commit 57394f344653f4eaec2de521a9a300a69e3bc71d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 24 12:08:38 2007 -0600
+
+ fix a tracking of changed lighting state
+
+commit 6ef1bdbdaaf1d30d891475f3dbf27ec791ff40eb
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 24 12:08:11 2007 -0600
+
+ add some warnings about bitmaps/copypixels
+
+commit e648a86601a7cf7a6ddfa7afa69e8c141efc45ad
+Author: keithw <keithw@keithw-laptop.(none)>
+Date: Fri Aug 24 11:23:55 2007 +0100
+
+ disable debug
+
+commit d36e01aa940cfd48fcdbc7d57d356c4d4c7cfc9c
+Author: keithw <keithw@keithw-laptop.(none)>
+Date: Fri Aug 24 10:22:37 2007 +0100
+
+ remove dead file
+
+commit 7a1027cd4098c25dc59be889f4d00cdb47550b44
+Author: keithw <keithw@keithw-laptop.(none)>
+Date: Fri Aug 24 10:15:06 2007 +0100
+
+ have to check I915_HW_SAMPLER when emitting MAP state, because of sampler_enable_flags.
+
+commit b4d8be235b018594a79258d36e70880ab9019b72
+Author: keithw <keithw@keithw-laptop.(none)>
+Date: Fri Aug 24 10:09:34 2007 +0100
+
+ sampler state tweaks
+
+commit f9a77a3080598d03c484fa5d04c213b8a06d43d3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 24 11:05:31 2007 -0600
+
+ Fix user-defined clip planes. They seem to work properly now.
+
+ The bits for the N user-defined planes are now set in the vertex_header->clipmask.
+ See some detailed comments about this in the clip_line() function.
+ CLIP_USER_BIT no longer exists.
+
+commit 6a13caec093dc86fbce80c9f78426d39e9b4276b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 24 09:56:47 2007 -0600
+
+ re-enable compute_clipmask() call
+
+commit 6998402016e146d6afe06549ce2fb5941d6b03c7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 24 09:52:25 2007 -0600
+
+ emit S4_VFMT_XYZ vs. S4_VFMT_XYZW as needed
+
+commit c89502bb4e6d80182e4977ab084639850e1eba68
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Aug 24 10:01:20 2007 +0100
+
+ Fixup include paths after rename
+
+commit f93a360319fb35f9bac571931fc81afb9e0a8ab8
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Aug 24 10:01:03 2007 +0100
+
+ Rename tgsi "core" directory
+
+commit f8e4cf716a3656faa08086ee80d04b36a5266d65
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 24 08:43:58 2007 +0100
+
+ remove CallDepth++/-- accidentally removed in prev commit
+
+commit 1f8616e622ee94ec048aa17f2b9ca4765e0ac76e
+Author: Adam Jackson <ajax@benzedrine.nwnk.net>
+Date: Thu Aug 23 18:38:02 2007 -0400
+
+ Unbreak Linux builds with -fvisibility=hidden.
+
+commit c50e054bd43882778aa8972d2444e5c3178f4c74
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 23 21:59:48 2007 +0100
+
+ track more vertex-related state changes
+
+commit 7fe09341489ff61dc1a3a771fd3e75b3f866d6a9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 23 21:59:27 2007 +0100
+
+ added GL_STENCIL_INDEX8_EXT
+
+commit 17598ad591a1eebe66cdefa332600f2952de92a0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 23 21:59:06 2007 +0100
+
+ fix-up stencil buffers
+
+commit ac8249d0ed382c547a2219449fa6dea328b19193
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 23 21:39:51 2007 +0100
+
+ check for null ptr in xm_buffer_unreference()
+
+commit 440e794b05511c1854c22956e6e306d1b1d8682d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 23 19:28:59 2007 -0600
+
+ Use vertex_info struct for softpipe - lots of clean-up.
+
+commit d4883ee24c52b7af0193561b51fbb8023d5eb5e3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 23 19:05:38 2007 -0600
+
+ remove dead code
+
+commit e967b246ecdc665d9f974d1e35380cb1cd11d61e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 23 19:03:42 2007 -0600
+
+ Vertex shader outputs are now tightly packed into the output slots.
+
+ Fix softpipe vertex attribute setup.
+ Also, update vs constants when the projection matrix changes (fixes samples/prim.c)
+
+commit 30236573dadd83714220b72b0c04f1bbce69fbd6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 23 18:54:51 2007 -0600
+
+ Need to copy header->edgeflags to tmp when creating new prim_header.
+
+ Edge flags were random/undefined otherwise.
+
+commit c998ce1df09f2d9dc834ebdf9484673d8084db34
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 23 17:59:17 2007 -0600
+
+ minor improvement to get_vertex() in-use flag setting
+
+commit 38091ef42a647b0be20e0462b065cb9d88f0784b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 23 17:57:08 2007 -0600
+
+ fix an edgeflag logic error, see comments
+
+commit eef2e35981b2e4c6f2be6fc6868672888719d4b6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 23 17:41:03 2007 -0600
+
+ fix incorrect vertex index for POLYGON drawing
+
+commit d6d995d20c7a5d8ce03829fe8f5edfaf7a6ea2b3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 23 17:40:19 2007 -0600
+
+ get rid of VERT_RESULT_ usage
+
+commit 7d5e7f03191673a02f8d3b9d5e4b95c074c5acdd
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 23 17:39:52 2007 -0600
+
+ map Mesa vertex attribs/arrays to TGSI attribs
+
+commit d8b16d416de95daa4f0ede9b839bdbf0fa6bf1b1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 23 17:00:47 2007 -0600
+
+ Checkpoint: new vertex/fragment attribute naming
+
+ Replace VF_ATTRIB_x with TGSI_ATTRIB_x
+ When converting mesa programs to TGSI programs, also convert the InputsRead
+ and OutputsWritten to a mask of TGSI_ATTRIB_ bits.
+ Still need to do conversion for vertex programs...
+
+commit 83547d1dca7281ffe03424d12316b26bb07b89c9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 23 16:59:08 2007 -0600
+
+ TGSI_ATTRIB_ tokens
+
+commit 074f07176a3c916573d9e2b4cb20316591c1e99e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 23 14:58:26 2007 -0600
+
+ define new TGSI_ATTRIB_ tokens for program inputs/outputs, plus translation functions
+
+commit ba50b6958ab69e5e3ee190126bb08aad6118c607
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 23 14:56:00 2007 -0600
+
+ comment about code duplication
+
+commit 399077d760b4c98ab38d48d17f2480114e70dfc6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 23 14:55:43 2007 -0600
+
+ clean-up comments
+
+commit 6d88515190ed7500e201706cc14d30072ba42d6f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 23 13:41:23 2007 -0600
+
+ remove dead/debug code, misc clean-up
+
+commit d3eb25c575464bed7dbfc8be4717d85cb2928ec1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 23 13:27:18 2007 -0600
+
+ Checkpoint commit: i915 texture works, use new vertex_info struct
+
+ Basic i915 2D texturing seems to work now.
+ The vertex format is determined from the current fragment shader.
+
+commit 690a9de40b20092ae9027dc52d7b26a48995bbff
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 23 13:25:46 2007 -0600
+
+ Define a re-usable vertex_info structure to describe vertex layouts.
+
+ This also includes legacy #defines for VF_ATTRIB_*, FRAG_ATTRIB_*, etc tokens.
+ Those will go away eventually, but at least we no longer need vf/vf.h
+
+commit ef7c25090074cb02f18acc905bca5f25a56bd021
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 23 13:24:06 2007 -0600
+
+ For the time being, interpolate Z in shade_quad() rather in the shader.
+
+ This was causing trouble for the i915 driver.
+
+commit 4b654d41da08b3b5475144c027e97a3ae7ab5696
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 23 08:53:43 2007 +0100
+
+ For _mesa_share_state(), update the context's references to the new share group's objects (Shane Blackett)
+
+commit dbef6158c6c19a28dc96a96357c9ed9bd9422b88
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 23 08:16:52 2007 +0100
+
+ remove unneeded CallStack array
+
+commit c990d0fd57a05301429b3af75b7fed0337621941
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Aug 22 18:51:39 2007 -0600
+
+ Checkpoint: texture image and sampler state handling, plus better vertex format code.
+
+ Texture image/sampler state code should be working, but is disabled for now.
+ Need to fix outstanding issues with vertex formats and texcoords first...
+
+commit ace2b98dd3511ea6959980a2ae2ee90fa7c28748
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Aug 22 18:48:28 2007 -0600
+
+ fix assertions in swizzle()
+
+commit 69ab4b23f5a67451e262b75f4a1a40949fc5868c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Aug 22 18:47:19 2007 -0600
+
+ more debug output
+
+commit fa8cbc45e883762f3c3f1f11497a035c217f8d65
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Aug 22 18:35:50 2007 -0600
+
+ Need to store vendor and renderer strings in the context.
+
+ As it was, we always returned the same pointer. So glxinfo, which calls
+ glGetString() before printing anything, was printing the same string for
+ both vendor and renderer.
+
+commit e9190ec534abb817d4f5d1660c84a0ace3376c84
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Aug 22 18:17:49 2007 -0600
+
+ remove old draw_vertices()
+
+commit e94ea99254a5f160d115a53abace7a6f159a0749
+Author: michal <michal@michal-laptop.(none)>
+Date: Wed Aug 22 17:37:32 2007 +0100
+
+ Add deco_caps.c.
+
+commit 89c0d32b458aa467987a42f2c634900729b4df36
+Author: michal <michal@michal-laptop.(none)>
+Date: Wed Aug 22 17:21:02 2007 +0100
+
+ First pass on tgsi deco.
+
+commit 6b6cc4c0fe04884b22f6f0010be9dcee2b4efa9f
+Author: michal <michal@michal-laptop.(none)>
+Date: Wed Aug 22 16:38:00 2007 +0100
+
+ Include headers.
+
+commit fa8c74fcc93717da7a2e409d7e1a4ff593a35d53
+Author: michal <michal@michal-laptop.(none)>
+Date: Wed Aug 22 16:24:35 2007 +0100
+
+ New file.
+
+commit d866e648aee69f06c59ecd65e101dd3d618bbd58
+Author: michal <michal@michal-laptop.(none)>
+Date: Wed Aug 22 16:17:41 2007 +0100
+
+ New file.
+
+commit be673e9719593ee22c16e289fe4d154db3fb7805
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Aug 22 13:33:19 2007 -0600
+
+ Sampler state code now compiles and is built. Not tested yet.
+
+commit d45dd5672ae60f1f49648725974693bf4ebf4bf8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Aug 22 13:30:26 2007 -0600
+
+ added border_color to sampler state
+
+commit 8a868919b50bdca4dc697d61e220a8fb50764f8e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Aug 22 12:41:59 2007 -0600
+
+ Improved pipe_region/surface_reference() functions
+
+ Now dereferences the old object first.
+ Target object may be NULL to clear the pointer.
+
+commit c0bb4ba9e665e40a325d82aa2ee48d7b8abd603b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Aug 22 12:24:51 2007 -0600
+
+ Rework of shader constant buffers.
+
+ They're now totally independent of the actual shaders.
+ Also, implemented in terms of pipe_buffer_handles/objects.
+
+commit d1fbf621dc48a488c0f860c5851332d269e6d637
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Aug 22 10:33:55 2007 +0100
+
+ Import some sampler state code.
+
+ Doesn't compile, isn't built.
+
+commit 5ac22877c98f4934cced4d42b9ec87245f266967
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Aug 22 10:04:45 2007 -0600
+
+ code movement, null ptr checks, etc
+
+commit e7f814e0340454346933f4c8450c07a6c784d87a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Aug 22 10:04:36 2007 -0600
+
+ remove unneeded include
+
+commit 4ed87bf2291e4873e94cefe44ddf2b590b09cc42
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Aug 22 10:04:16 2007 -0600
+
+ remove unneeded includes
+
+commit 0e8761725536388603b15b093c0293892bd72635
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Aug 22 09:41:51 2007 -0600
+
+ Obsolete.
+
+commit c8c616d33c2d0b9076a625fdee7f257a042df62f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Aug 22 09:41:32 2007 -0600
+
+ don't need i915_fpc.c
+
+commit 2154d1c5ac0bb37614ef00bed766e49635b519e8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Aug 22 09:41:20 2007 -0600
+
+ implement negation for src operands
+
+commit a3750c989b7330cc08942c9e0959ebfcdfcb9306
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Wed Aug 22 11:01:59 2007 +0200
+
+ nouveau: nv10: set projection matrix from viewport size
+
+commit 24746d0e3219b333fdbbb0026191fc735036ac8c
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Wed Aug 22 10:28:13 2007 +0200
+
+ nouveau: nv10: initialize more of nv10 tcl engine
+
+commit d021381d4e17d0c802b6e6b1c11de04563274dea
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Aug 22 09:00:51 2007 +0100
+
+ Clear all the dirtyflag words
+
+commit 9606cb15e7d5821b60fd4413e3c79afb745c0e16
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Aug 22 08:59:51 2007 +0100
+
+ Remove duplicate i915 shader disassembler
+
+commit 5c086518f15c2587a4e81c889edb37363015dd0c
+Author: michal <michal@michal-laptop.(none)>
+Date: Tue Aug 21 20:47:31 2007 +0100
+
+ Headers.
+ Fix alignment issues.
+ Silence compiler warnings.
+ More debugging code.
+
+commit eb51761b825018bf89080855d0fa3fcb84b9c215
+Author: michal <michal@michal-laptop.(none)>
+Date: Tue Aug 21 20:45:09 2007 +0100
+
+ Silence compiler warnings.
+
+commit 044c19e6b347d13df70dbc9980cec8a464afe214
+Author: michal <michal@michal-laptop.(none)>
+Date: Tue Aug 21 20:42:33 2007 +0100
+
+ Define __MSC__.
+ Make ALIGN macros more error-proof.
+
+commit af3d6c83d245c3a5b2af3bddfc261c3678afb7d1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Aug 21 20:15:00 2007 -0600
+
+ temporarily call _mesa_enable_sw_extensions() so we can run more test progs without failing the extension checks
+
+commit 88e12872fa3e1d1d2aa33653b3bf2b6982b2fafd
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Aug 21 20:13:53 2007 -0600
+
+ comments
+
+commit 0d9bcdbeb11ad1ce7e5257f652ccf9ebf1aa59a7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Aug 21 20:13:31 2007 -0600
+
+ Fragment shader translation seems to basically work now. More testing needed.
+
+commit d70d41eefc1045bd2f8ddf2cb701d7789c671012
+Author: keithw <keithw@keithw-laptop.(none)>
+Date: Tue Aug 21 19:49:46 2007 +0100
+
+ fix cut and paste
+
+commit ce4659e92acfbb0ff8a93a6e619c44b839505ca9
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Aug 21 19:46:48 2007 +0100
+
+ First pass at a fallback concept for pipe devices.
+
+ Creates a new pipe driver that feeds commands to either a hardware or
+ software pipe depending on fallback state.
+
+ Untested concept checkpoint. At this point it compiles.
+
+commit 93c7173ed2fbe2bc47ee6879af89366cafd90ba5
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Aug 16 12:41:51 2007 +0100
+
+ Add missing #include
+
+commit d97f90b93e5a60bdb3aa4ee6714fdf187675e231
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Aug 21 16:24:48 2007 -0600
+
+ added fpc sources
+
+commit 3af1f3b9220733f5e3a76fe38fbc397974678234
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Aug 21 16:24:38 2007 -0600
+
+ Initial check-in of i915 fragment program translation (from tgsi).
+
+commit 3d508a5d7bd67c915f9f9403570189d1a60ded5f
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Tue Aug 21 16:55:42 2007 +0200
+
+ nouveau: nv10: Move some initialization stuff
+
+commit a6d35694c4570368f718f78bd85a21a626b7cdc9
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Tue Aug 21 16:53:13 2007 +0200
+
+ nouveau: Use proper notifier object
+
+commit c6e729377cd1b1e7b5a1a22c40cee80b15a799f7
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Tue Aug 21 16:52:10 2007 +0200
+
+ nouveau: nv10: Remove commented, unsupported by hw command
+
+commit d640198b2d52c104c707522e79d53a36f708ccd0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 20 21:45:14 2007 +0100
+
+ Set viewport state so viewport matches window dims.
+
+ trivial/readpixels.c works again.
+
+commit 3cb6fc3f9aaa94236be611bad04125c17e01ad6c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 20 18:53:41 2007 -0600
+
+ Move vertex transformation/shader code into draw_prim.c to avoid need for vs_flush() function pointer.
+
+commit 3772441c498b997947f68e98830f72649bbc8442
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 20 18:45:14 2007 -0600
+
+ move ALIGN16-related macros into p_compiler.h
+
+commit 79b8f97457a9634df28ba0def4623dbe2b142f09
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 20 18:44:53 2007 -0600
+
+ include draw_context.h
+
+commit d054331c4788b0a5f13f4d7a9b497d274d267acb
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 20 18:24:02 2007 -0600
+
+ Update glClear and glDrawPixels code.
+
+ Since they're implemented by drawing quadrilaterals (and go through vertex
+ transformation and viewport mapping) we don't have to invert Y coords.
+
+commit c1fbd72adcbe1aa3a627e8f9a7a0803740c0a008
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 20 17:26:00 2007 -0600
+
+ minor clean-ups
+
+commit 3239532795a027ddc578261f556e13e2c80f9676
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 20 17:25:38 2007 -0600
+
+ Use new draw_arrays() code.
+
+ The i915 driver now uses the software-based vertex shader interpreter
+ and draws everything through pipe->draw_arrays().
+
+commit a17d5361b257cb44614a926a7f994b4a46a07890
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 20 17:02:27 2007 -0600
+
+ remove the -DMESA flags
+
+commit 766fa51537dabd978eb04fb4c3f29b5dfeacd9fb
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 20 17:02:07 2007 -0600
+
+ remove some of the #ifndef MESA stuff
+
+commit ddf8ba2d1b4f85498613f7ace1ffda70bb9d9e92
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 20 16:48:55 2007 -0600
+
+ Obsolete
+
+commit 9d9e838974d1b9ab35235387bdfda5d99cb19d38
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 20 16:43:58 2007 -0600
+
+ remove dead code related to vf module
+
+commit 8175eaa3b49f3b62f7ab251c4e0fbd14dd9f7e2b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 20 16:31:12 2007 -0600
+
+ Checkpoint: remove more of the old draw_vb() code.
+
+commit 51da8ee85eccf0df3721cbd863cd174382d1ddfd
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 20 16:21:08 2007 -0600
+
+ Start to remove the temporary draw_vb() and draw_vertices() code.
+
+ new st_draw_vertices() utility used by glClear and glDrawPixels
+
+commit 0a262998ef2813d19e9fee01d3e5808416e9cb04
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 20 15:11:11 2007 -0600
+
+ Move guts of vertex array drawing into the 'draw' module.
+
+commit a83b72a67263faf21bf16ff879c9718660684aed
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 20 12:52:33 2007 -0600
+
+ implement DrawElements, still some rough spots
+
+commit 1dd55a77c87bd4e057d689163efd070a2dfe3454
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 20 12:52:00 2007 -0600
+
+ implement draw_elements()
+
+commit 730df7662f57a46dee892733afc9a55f37d2ab03
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 20 12:50:34 2007 -0600
+
+ don't map element buffer in _mesa_validate_DrawElements() unless necessary
+
+commit 7d14c3e538f9582e2f5fb0ff827af2ecce9b0f40
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 20 11:53:36 2007 -0600
+
+ remove debug printf
+
+commit 98d30cb2d4e17c288ef5f0fd41c09b372832d783
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 20 11:49:16 2007 -0600
+
+ call draw_trim()
+
+commit 904163e4e94dbf3ea9a24738077e9916e97191f8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 20 11:41:23 2007 -0600
+
+ fix cache overflow bug in get_vertex()
+
+commit 07b7e97fb49585d18beaacc12063127501e5407b
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Mon Aug 20 19:35:31 2007 +0200
+
+ Use correct object for GART
+
+commit f252974121febc6a1a59793d932b32b798f90fc6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 20 11:05:35 2007 -0600
+
+ fix VBO clean-up in vbo_exec_vtx_destroy()
+
+commit df1df82f1660996d09fa272e6129c194afde3ece
+Merge: 8339ca7 1432770
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 20 10:23:28 2007 -0600
+
+ Merge branch 'softpipe_0_1_branch' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa into softpipe_0_1_branch
+
+commit d8c6719f95b1543296ac954f95d13b048ae48634
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 20 13:12:20 2007 +0100
+
+ refactor bounds checking code
+
+commit a3c3bc9ece7e7c55c8832dbc8c50ab1c34f5bfe9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 20 12:55:34 2007 +0100
+
+ don't map buffer in _mesa_validate_DrawElements() unless needed
+
+commit ef71a0fd4536363e578c49a05b6f1161f907c150
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Sun Aug 19 20:12:26 2007 +0200
+
+ nouveau: nv10: only one color buffer atm
+
+commit 14327705fd53e984b74f8e9adb053df03fba7aff
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sun Aug 19 17:31:21 2007 +0100
+
+ Fix some draw_arrays issues.
+
+ We weren't mapping all the needed vertex array buffers.
+ Move array state that was temporarily in draw_context to softpipe_context.
+ Remove a bunch of dead code.
+
+commit 53cf87be1b93c760228e6a9af8115d2a9ff99337
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Aug 18 16:25:16 2007 +0100
+
+ some fixes for compressed cube maps (bug 11986)
+
+commit 95e84a09ce3f35f59465be28026e83c1bc40ae8a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Aug 18 16:10:25 2007 +0100
+
+ remove dead code left over after fixing GL_READ/DRAW_BUFFER state issues
+
+commit 0453760a0bf139f113792d22e65ce6904f06f28b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Aug 18 16:06:49 2007 +0100
+
+ more work on vertex shaders, now using vertex shaders instead of TnL module by default
+
+commit 1f026d98dd77b6d26cc76946d92f69a9e6091b8e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Aug 18 16:05:49 2007 +0100
+
+ Create a default vertex attribute buffer which mirrors ctx->Current.Attrrib[]
+
+ Used when the vertex shader references attributes which aren't present in VBOs.
+
+commit b3f067e8593b9fda0474041f32479b20cd64e728
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Aug 18 16:04:49 2007 +0100
+
+ added tnl state atom
+
+commit 7274e14d4ada04d150f1115252cebd7a3ada797a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Aug 18 09:22:15 2007 +0100
+
+ fix xm_buffer_data
+
+commit 8339ca7d1e9a3fe90f46e6e81f7ec8574d121072
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 17 12:40:35 2007 -0600
+
+ replace memcpy() with assignment, better type safety
+
+commit 74e58c5b82a15d250f42c9695e3ed61f64faedaf
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 17 12:34:40 2007 -0600
+
+ added CLIP_x_SHIFT vals
+
+commit 48b09322ee1b701558e1f223320cd2a9259bb37f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 17 12:31:13 2007 -0600
+
+ write outputs according to vs.outputs_written
+
+commit a2805a81658fd4a4b9732167f24f334630549fa6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 17 12:30:30 2007 -0600
+
+ added outputs_written field to pipe_shader_state
+
+commit 4973136e2062fe6930cee1a44f97aefa6b423295
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 17 12:23:26 2007 -0600
+
+ load machine.Inputs based on vs.inputs_read
+
+commit a30939714cdc73cb633672cad7d86b425781526d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 17 12:19:40 2007 -0600
+
+ added pipe ptr to draw_context
+
+commit e3647578d159dcb93799023eacba0c2d3c7fbd18
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 17 12:09:50 2007 -0600
+
+ compute clipmask
+
+commit 7668e53c8c64570d66a626c96302a953164f319e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 17 12:09:31 2007 -0600
+
+ define CLIP_LEFT/RIGHT etc
+
+commit 83f428e799d598732494f60601c5984e09829a81
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 17 11:40:53 2007 -0600
+
+ shade four vertices at a time
+
+commit cd3162f57831fd0b8d9af6bfcd08a521ab352386
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 17 11:40:06 2007 -0600
+
+ added align16() function
+
+commit 2fc54f5bb56a7714c843fc5a6a3bb6895af9babc
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 17 11:39:45 2007 -0600
+
+ added uint64 type
+
+commit dcfdb63b9fde8134562cb3a4e779a36e0abb4ae5
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Fri Aug 17 13:36:13 2007 -0400
+
+ Brian's fix for bug9829
+
+commit 00b86ecf6f2f936bad6d628622ea5546c780ab8d
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Fri Aug 17 12:42:52 2007 -0400
+
+ i965: align width/height for volume texture
+
+commit 8e4ed6323dff7c021b0f7d7711a89379e26ddb25
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 17 15:38:29 2007 +0100
+
+ added null VB->AttribPtr[i] check
+
+commit bc3f87683a25803fde6e69eddccc7e0a1c59df17
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 17 15:37:22 2007 +0100
+
+ fix edgeflag bug
+
+commit c5004c7db6991a11ffbc76cd4a7a0ce940f8b54a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 17 15:28:17 2007 +0100
+
+ pack output vertex attributes in sequential slots
+
+commit 1e6d1ab6fc85ff928c629627991a60f515b73857
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 17 15:27:18 2007 +0100
+
+ tell vbo module to use bufferobjs
+
+commit 305b83a4153442e53f54cd5b817238c95161f7db
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 17 15:27:00 2007 +0100
+
+ added call to _mesa_load_state_parameters()
+
+commit 5568a7d30120d830c93494a7b3382bfa8b4d2800
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 17 15:26:33 2007 +0100
+
+ added vbo_use_buffer_objects() to specify that immediate mode data should be put into bufferobjects
+
+commit 89cda7bdc85b10526987321214965f21b148735f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 17 10:50:06 2007 +0100
+
+ replace assertion w/ conditionals in xmesa_clear()
+
+commit 5b59e6116db5241dc9a08b98e5eb8f0c770c05ea
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 17 10:49:36 2007 +0100
+
+ Use simple st->pipe->clear() in more cases for depth/stencil clears.
+
+commit ae64d5c173a4525800383668cc91c176a1bd7a15
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 17 10:28:20 2007 +0100
+
+ fix buffer clearing problems
+
+commit 93efcf50fae7bdd9ee9468f4f4049ecb4c06e2df
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 17 10:27:53 2007 +0100
+
+ assertions
+
+commit 04f2078860d0649b016e9281f86725cb42e15b42
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 17 10:27:37 2007 +0100
+
+ added assertions, disable debug output
+
+commit 3e168a0ec840af65863e197f4a884aae905b213e
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Aug 16 14:32:53 2007 -0700
+
+ Convert TTM code to require the server provide buffers for front/back/depth.
+
+ This removes the use of fake buffers from the driver, such that it could
+ probably be removed from the interface. It also should assist in proper
+ synchronization of access.
+
+commit b6ad5e7de8dc84ee42eeeb62d2112f096413b335
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Aug 16 14:36:35 2007 -0700
+
+ Move i915_disasm to later so we can use the hardware offset.
+
+commit 64297acf9e96353fe724362248246acaf0be8cb8
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Aug 16 14:35:06 2007 -0700
+
+ Fix bad printf on TTM fence_wait failure.
+
+commit 2b77a8696b14bc36be359bf858189ade5fab8511
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Aug 16 14:34:24 2007 -0700
+
+ Don't forget to update buffer offset after validation.
+
+commit 327e6551197e6069150200878b4e6e7a595e2bee
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Aug 16 14:28:12 2007 -0700
+
+ Add decode for XY_COLOR_BLT and XY_SRC_COPY_BLT.
+
+commit b902a223c461c804cee5cabd6440a934835803bd
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Thu Aug 16 21:50:34 2007 +0200
+
+ nouveau: nv10: clear a buffer
+
+commit a60695ebafcdf048ce13d5195e74f8b7d1fff8d8
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Thu Aug 16 21:31:30 2007 +0200
+
+ nouveau: nv10: add function to clear a buffer
+
+commit fe789805801cbbc2c97847c159cfd470232cc1f4
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Thu Aug 16 21:28:40 2007 +0200
+
+ nouveau: store render buffer pointers in context, to access them when clearing buffer
+
+commit f5ed049655d214a8828d5ce68651741c3dff0c66
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Thu Aug 16 20:53:29 2007 +0200
+
+ nouveau: nv10: create objects needed to clear buffer
+
+commit 24b2f3041090820b926b5902f0c6c65922874d68
+Author: michal <michal@michal-laptop.(none)>
+Date: Thu Aug 16 19:50:08 2007 +0100
+
+ Break mesa dependencies.
+ Silence compiler warnings.
+
+commit f692cdb544bf42eb36154f6a132d9e144dbae858
+Author: michal <michal@michal-laptop.(none)>
+Date: Thu Aug 16 19:49:04 2007 +0100
+
+ Silence compiler warnings.
+
+commit 1b19aa522abc3dc4e38666b4a98337a33a82a946
+Author: michal <michal@michal-laptop.(none)>
+Date: Thu Aug 16 19:47:18 2007 +0100
+
+ Break mesa dependencies.
+ Silence compiler warnings.
+
+commit 2f559606dc3a27104199226ccf6568a222797055
+Author: michal <michal@michal-laptop.(none)>
+Date: Thu Aug 16 19:45:55 2007 +0100
+
+ Silence compiler warnings.
+
+commit 546f1fa01920aeb777a03c4d2c72405d038dd96e
+Author: michal <michal@michal-laptop.(none)>
+Date: Thu Aug 16 19:44:53 2007 +0100
+
+ Define ffs() for __WIN32__ & __MSC__.
+ Break mesa dependencies.
+
+commit bef9b40c3904fdffea6cc426c5c82ed3ab70a902
+Author: michal <michal@michal-laptop.(none)>
+Date: Thu Aug 16 19:42:28 2007 +0100
+
+ Define __WIN32__.
+
+commit 32d86eb28aedd01a03ceab746214a8db2a4cbbab
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 16 18:52:48 2007 +0100
+
+ Rework the GL_READ_BUFFER, GL_DRAW_BUFFER state repairs that Roland previously did.
+
+ Basically, in update_framebuffer() (which should be called after an FBO is bound
+ with MakeCurrent or BindFramebuffer) we check if the FBO is a window-system FBO.
+ If it is, update the FBO's GL_READ/DRAW_BUFFER state according to the context state.
+ Old code still in place but disabled with #if 0 / #endif.
+
+commit 00b7a915084067cef85c25cedcec257ce4eb25f0
+Author: michal <michal@michal-laptop.(none)>
+Date: Thu Aug 16 18:29:45 2007 +0100
+
+ Move VS code from st_atom_fs.c to st_atom_vs.c.
+
+commit a279b221bf9e64349b722449443d25db45f5a6df
+Author: michal <michal@michal-laptop.(none)>
+Date: Thu Aug 16 18:16:32 2007 +0100
+
+ Cosmetic changes.
+
+commit 3fc926f3740da9ec27853d158243055f3cb43d43
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 16 18:11:55 2007 -0600
+
+ Remove many dependencies on mesa headers.
+
+ To build with mesa, need -DMESA in makefile/config file.
+
+commit e3bdd66bf69fb12fa02d161989755944077b280d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 16 17:33:49 2007 -0600
+
+ misc changes to support vertex shaders (disabled by default)
+
+commit bf55f32c6fd74b8eb0b31dce0ebd8f4c52f57743
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 16 17:33:05 2007 -0600
+
+ run real vertex shaders, a total hack for now
+
+commit 78d6d5e8fe7281f67b7ce8d9911e4f280435b1f5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 16 17:32:24 2007 -0600
+
+ make pass-through vertex shader
+
+commit 9ba4311e71f510797e1b446ab7dc6b6d4dc55dd5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 16 17:30:38 2007 -0600
+
+ check for null swrast (pipe work-around)
+
+commit de653b4c9bddcec46f3ddf411ec082dd178d7b38
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 16 13:33:43 2007 -0600
+
+ Begin added vertex shader state/support.
+
+ Renamed pipe_fs_state to pipe_shader_state since it can be used for both
+ vertex and fragment shader info.
+
+commit ebe510766927315ec6dcd846a980cb851b5331d4
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 16 13:12:24 2007 -0600
+
+ disable Z value scaling - it's done in sp_quad_depth_test.c
+
+commit 717cc0f214b741bc9ef679dd372654d8e2192f25
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 16 12:55:47 2007 -0600
+
+ move the draw_alloc/free_tmps() functions to draw_prim.c
+
+commit fd0a6d6b4774c8cfbfccd8baa6c0ccd99a3214b9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 16 12:52:20 2007 -0600
+
+ Remove GL/mesa types, rearrange things into more logical groups
+
+commit c033ccc36d08c669dcdfbfc1cf89e472e8211c5f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 16 16:49:35 2007 +0100
+
+ update comments, etc related to Read/DrawBuffer state
+
+commit c5a5d12743b4921ab9c01ee69fa6a06b6b4d716a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 16 16:43:31 2007 +0100
+
+ remove reference to ctx->Color.DrawBuffer
+
+commit 4fb2f09fdd61cc15db097bc7cbb6a410df075383
+Author: michal <michal@michal-laptop.(none)>
+Date: Thu Aug 16 12:50:51 2007 +0100
+
+ Add missing inlcude directory.
+
+commit cbef86a6ea7fa2901d2a123544591932114ae603
+Author: michal <michal@michal-laptop.(none)>
+Date: Thu Aug 16 12:40:46 2007 +0100
+
+ Copy fragment z if the fragment shader does not write depth on its own.`
+
+commit 59bd1e260bf40e4d2b1662cc4e68eff8235739e4
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 16 12:36:17 2007 -0600
+
+ Drawing code refactoring.
+
+ Move code duplicated between draw_vb.c and sp_draw_arrays.c into draw_prim.c
+ draw_vb.c will eventually go away, but this seems like a good step anyway.
+
+commit 926323df8692f48134a65322d5790d3f950b67dd
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 16 12:35:13 2007 -0600
+
+ point/line/polygon drawing (factored out of draw_vb.c)
+
+commit 76f9f3ee832a5e47a321afb01ccac38fe6696196
+Author: michal <michal@michal-laptop.(none)>
+Date: Thu Aug 16 12:17:30 2007 +0100
+
+ Silence warnings.
+
+commit 4fcfab33477a0b01ef2f5b1fb2658f244b91e03b
+Author: michal <michal@michal-laptop.(none)>
+Date: Thu Aug 16 12:16:57 2007 +0100
+
+ Silence warnings.
+
+commit e36b27cf86fb767a4a9754480abe9e299c746cf7
+Author: michal <michal@michal-laptop.(none)>
+Date: Thu Aug 16 12:16:27 2007 +0100
+
+ Silence warnings.
+
+commit 830169414e2886c2224d62a1a601cc951dcd4b08
+Author: michal <michal@michal-laptop.(none)>
+Date: Thu Aug 16 12:13:37 2007 +0100
+
+ Silence warnings.
+
+commit 9982044a8de79d927a2921126c1684e04f18c170
+Author: michal <michal@michal-laptop.(none)>
+Date: Thu Aug 16 12:12:14 2007 +0100
+
+ Use 'f' for float suffix.
+
+commit 09867b53a9add9c1a392ad46f850d40d50bbc536
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 16 11:06:39 2007 +0100
+
+ replace Proxy1D/2D/etc fields with ProxyTex[] array
+
+commit fe469007037d9d5cdbe1677d8ff7368b276e9e7c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 16 11:06:13 2007 +0100
+
+ Replace Proxy1D/2D/etc with ProxyTex[] indexed by TEXTURE_x_INDEX.
+
+ Simplification in colortab.c too.
+
+commit 0135ff512d25b221d1a4cf9a5d344420d4ad3341
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 16 10:28:23 2007 +0100
+
+ replace separate 1D/2D/etc fields with an array indexed by texture target
+
+commit b3e3e72e25247a48c4f154e2971eff48ecb9d9ef
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 16 10:27:24 2007 +0100
+
+ remove old Saved1D/2D/etc fields
+
+commit 145d762044f795bf9d68f28079cc5e5d3056920e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 16 10:05:00 2007 +0100
+
+ Bring over the texobj refcounting changes from mesa_7_0_branch
+
+commit 2193c4de83acfc3268ccca7b54b00543307e0baa
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Aug 16 08:45:16 2007 +0200
+
+ i915tex: Unreference texture buffers on context destruction.
+
+ Not doing this could cause the buffers to leak under some circumstances.
+
+commit a6d4dddb38e2342a6f80d7a241f23900b8b4c633
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Thu Aug 16 02:41:03 2007 +0200
+
+ suppress warning about ncon visuals (bug #6689)
+
+commit b0b871429daabfb6a8788444283021fab79e2d0f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Aug 15 15:12:03 2007 +0100
+
+ Remove mesa include directories, be stricter about include paths.
+
+commit 5390a43ce06b27f6d54bc5f237aa305b6948f2af
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Aug 15 19:23:58 2007 -0600
+
+ translate GL texture targets to PIPE_TEXTURE_x values
+
+commit 94a4910c9a1ef48470f45c01c379254cb033119f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Aug 15 19:13:03 2007 -0600
+
+ added PIPE_PRIM_x tokens (matching GL), use in a few places
+
+commit d9a230f30a98eb677bba869a6f7bb9a840e36354
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Aug 15 19:03:20 2007 -0600
+
+ Hook in new draw_arrays() code, disabled for now.
+
+commit 2de99586246d758da14e281718d85c499d1969d6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Aug 15 19:02:37 2007 -0600
+
+ softpipe_draw_arrays() function
+
+ Also includes:
+ Temporary stand-in for vertex program execution.
+ draw_prim() code
+ post-transform vertex cache
+
+commit ab0b040b6023f2e6c0eb7c12f085b4f24a847851
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Aug 15 19:00:32 2007 -0600
+
+ added new draw_arrays()
+
+commit 181cf1d52a9fe0ad8be9d48aa69775f575336d3d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Aug 15 19:00:06 2007 -0600
+
+ convert vbo->draw_prims() to pipe->draw_arrays(): works in very limited cases, disabled for now
+
+commit 3e2be1ce4ab0a2d61519f47b1eb78626c710b378
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Aug 15 18:54:05 2007 -0600
+
+ added vertex array info fields
+
+commit 293cc252616543d36aeb8a432441006bf65e3330
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Aug 15 18:53:37 2007 -0600
+
+ added draw_set_vertex_array_info()
+
+commit 24083f4e4702f4e9b8cc1679139d45ee771a0f16
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Aug 15 18:53:00 2007 -0600
+
+ comment
+
+commit 058b978a5ae2a56e09fed6335b686c654444f4ac
+Author: michal <michal@michal-laptop.(none)>
+Date: Wed Aug 15 18:16:11 2007 +0100
+
+ Add UsageMask to DECLARATION in TGSI.
+ Interpolate FS attributes in the shader.
+ Do not copy WPOS in FS.
+
+commit b9eeb8dccff3b440a299f19a0868a3ff1cda1e09
+Author: michal <michal@michal-laptop.(none)>
+Date: Wed Aug 15 13:55:22 2007 +0100
+
+ Add declaration_semantic token to TGSI.
+ Cosmetic changes, GLuint -> unsigned.
+ Preserve mesa gl_fragment_program DEPTH and COLOR semantics.
+
+commit 6504dc31782ae8087a21607a84283ebe93c1c344
+Author: michal <michal@michal-laptop.(none)>
+Date: Wed Aug 15 13:08:40 2007 +0100
+
+ Declare fragment shader output registers.
+
+commit 477ab9c1969e9d4cb42215c7e5a1eb4f93bbbddd
+Author: michal <michal@michal-laptop.(none)>
+Date: Wed Aug 15 12:19:09 2007 +0100
+
+ Cleanup, do not use fp_attr_to_slot[] mapping array.
+
+commit bff0411c5a1a9fdfff7f8a5128af4d496b89fa0d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Aug 15 11:45:54 2007 -0600
+
+ sketch out vbo drawing function
+
+commit f30093418928dce5872ea179ed5d21d3b24b7c82
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Aug 15 11:45:12 2007 -0600
+
+ added state funcs for vertex buffer/element info
+
+commit 3f70b504386e5d0b67cbd719769e44f33db0ae87
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Aug 15 11:44:33 2007 -0600
+
+ softpipe vertex element/buffer state funcs
+
+commit 6e02b4c7c3c6efc05ead2ffd46b0928f7c9316bf
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Aug 15 11:43:14 2007 -0600
+
+ comments
+
+commit c431a22f520c9685e9da37bfdd6b6b2b0af03800
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Aug 15 11:42:53 2007 -0600
+
+ added some const qualifiers
+
+commit 8038d5b68ca06e8ae4db4c999d7194593426d3bb
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Aug 15 11:42:37 2007 -0600
+
+ comments, minor clean-ups
+
+commit ab999608582534bb5187a786b2ea437167f2d8a4
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Wed Aug 15 13:28:00 2007 +0800
+
+ i965: use BRW_TEXCOORDMODE_CLAMP instead of BRW_TEXCOORDMODE_CLAMP_BORDER
+ to implement GL_CLAMP
+
+commit c2ac825e67f0c2da4385eadb3e01eeb295ccc8a2
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Aug 15 14:27:46 2007 +1000
+
+ nouveau: Use half the notifier block for query objects.
+
+commit ecfa3e4d0aa93ca597a19693c30532655795e9d8
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Aug 15 14:26:15 2007 +1000
+
+ nouveau: Keep drm channel alloc struct around.
+
+commit 3cc4e9815d4962e5f5e7b23bae1cf9b82092bb52
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Aug 13 23:12:04 2007 +1000
+
+ nouveau: reindent nouveau_span.c
+
+commit fcbd06d201754bf4f69a0262dcd04b4c287a173b
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Aug 13 22:05:15 2007 +1000
+
+ nouveau: Remove ALLOW_MULTI_SUBCHANNEL hack
+
+ Irrelevant, since we depend on working context switching now.
+
+commit fef3dcbee60b041df64a12511c8aa3c304a04652
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Aug 13 20:38:10 2007 +1000
+
+ nouveau: Always render offscreen, emulate front buffer rendering.
+
+commit b7c93de6d798d7ccfc7bfa12b9c8f474de955d55
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Aug 13 20:02:04 2007 +1000
+
+ nouveau: Split nouveau_buffers into nouveau_mem and nouveau_fbo
+
+commit 40e8ce700b0e1711e08e9f33c297d495c43598b1
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Aug 13 17:21:02 2007 +1000
+
+ nouveau: reindent nouveau_buffers.h
+
+commit 386a70eeb5982976239a2d37b63cde307cfbc22c
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Aug 13 17:02:20 2007 +1000
+
+ nouveau: reindent nouveau_buffers.c
+
+commit 553f5759a6587d7fe77a62d4d1159ad786b336ee
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Aug 13 16:46:27 2007 +1000
+
+ nouveau: Lets only do private buffers.
+
+commit 681b1ebd5e1a94961a1d38b3018af97a10d2d5b0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Aug 14 17:20:40 2007 -0600
+
+ use regular malloc/free instead of macros
+
+commit 9623683dfcb03ce42746765ba3e706b6a7085d39
+Merge: 267052c 4bb2134
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Aug 14 15:58:56 2007 -0600
+
+ Merge branch 'softpipe_0_1_branch' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa into softpipe_0_1_branch
+
+commit 267052c735f25dda7b49ded7b46cc59cb84ecaaa
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Aug 14 15:42:40 2007 -0600
+
+ added glCopyPixels stub
+
+commit b7316e4732e6930c118c7034166b47bd096a0046
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Aug 14 15:37:45 2007 -0600
+
+ fix typo
+
+commit d16b4bc32a731cb6ae320e8c187af3bc751d4138
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Aug 14 15:20:00 2007 -0600
+
+ minor hack to allow 1D textures to work
+
+commit bfcc337e386902712de49d43308167bc79c9e709
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Aug 14 15:19:37 2007 -0600
+
+ vars to test 1D/2D textures with linear/nearest filtering
+
+commit a34b8594b7b2d00404bb639621ec1ce918ba0786
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Aug 14 15:12:04 2007 -0600
+
+ refactor some code - cube map textures work now
+
+commit a13de2464dd034ff117f9314df5757d068cae8e5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Aug 14 14:52:38 2007 -0600
+
+ Implement texture cache with multiple, direct-mapped entries.
+
+commit c7722edcfdf36e0d0bfdc51013ecb199fc7fa9f6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Aug 14 13:32:19 2007 -0600
+
+ Consolidate filter and mipmap level selection in choose_mipmap_levels().
+
+commit f9e331a574cc4eba60e0de5a29a4aed4bb40520c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Aug 14 13:04:07 2007 -0600
+
+ Implement remaining mipmap modes for 2D textures.
+
+ Also, add lodbias param to get_samples()
+
+commit b4480285ed5098f1c862690ee105dd46f5e6cd1e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Aug 14 11:00:35 2007 -0600
+
+ tgsi_sampler->get_samples() now operates on a quad (returns 4 colors).
+
+ Lambda/level-of-detail is also computed in get_samples() now.
+
+commit 4bb213423941fb12801a734ad2d952a6d8f2347e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Aug 14 15:44:41 2007 +0100
+
+ Beginnings of a demand-filled post-tnl vertex cache.
+
+ Probably breaks a bit of stuff, eg unfilled clipping, edgeflags, etc.
+
+commit 8269bc48d8fafaa432b58f4adf5e0dddd81d979d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Aug 14 15:42:47 2007 +0100
+
+ Add structs and set-functions for vertex buffer, element state.
+
+ Not currently used.
+
+commit 2691b187473ddb9c96541cd154dde19c35cbaabe
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Aug 14 15:41:26 2007 +0100
+
+ Add surface formats to be used for specifying vertex element layouts.
+
+commit 70af238b494ed1b6da4841c2065c33ee0f0f37c9
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Aug 13 17:02:27 2007 +0100
+
+ Continue reducing dependencies on core mesa include files.
+
+ Mainly down to the support for legacy TNL processing now.
+
+commit dc73217294efcba83c46183ed2f208250217486f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Aug 14 11:56:59 2007 +0100
+
+ Fix a few more problems with freeing FBOs/textures during context destruction.
+
+ Free FBOs before textures since the later may be referenced by the former.
+ Need to bind the context we're destroying if there isn't a current context
+ so that ctx->DeleteTexture() etc can be used.
+
+commit 5dab3bf4bc94ac45e4d25c75dc09fbd6f4a6025e
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Tue Aug 14 11:39:23 2007 +0800
+
+ xdemo case: Wei Wang's patch for bug#9759
+
+commit 9f51e181b1b610c10ee00d52bdcfcf33d0f1f3ed
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 13 18:18:45 2007 -0600
+
+ added pixelzoom cmd line opt
+
+commit 2f605fd457ccd8763ce5b0acc8d2906a59ea22bc
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 13 18:16:47 2007 -0600
+
+ set renderbuffer Width/Height = texture size
+
+commit 4698483f849ba8dfde20a5d649f1ea099291f241
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 13 18:16:11 2007 -0600
+
+ Added st_fb_orientation() function to determine the up/down orientation of the framebuffer.
+
+commit cd308dfa794a1be5d933a4b89539d53929537f88
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 13 18:14:54 2007 -0600
+
+ map stencil buffer too
+
+commit 612cfb749c3526eeb446bbc631bf24716522f373
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 13 16:18:32 2007 -0600
+
+ added assertion to check that texture width is non-zero
+
+commit 5e1bfe426f3e2bc7a13b3814f1fa732141f15a9a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 13 16:18:03 2007 -0600
+
+ fix up some render-to-texture code ... almost there
+
+commit 8571c4babf82b2fe78dba06458070eb4010cfc18
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 13 16:16:42 2007 -0600
+
+ added an assertion
+
+commit 393a6255381f019586bd9acc49fbf2fd431e534e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 13 17:37:30 2007 +0100
+
+ free any render/framebuffers left in hash tables when freeing shared state
+
+commit b7a9222dc7492181588cedd62b94482fab8e9c95
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Mon Aug 13 13:22:43 2007 +0200
+
+ i915tex: Make sure pitch is aligned properly for render-to-texture.
+
+ Just always align texture pitch to multiples of 64 bytes for now, pending a
+ more sophisticated scheme to do it only when really necessary.
+
+commit 76818b67092579585d9fcb7df1a8c133e6c94a6c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Aug 13 16:24:24 2007 +0100
+
+ Missing files
+
+commit 40a86b20478024ca7c55400019c536cb5ff631d1
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Aug 13 16:07:11 2007 +0100
+
+ Start breaking the #include dependencies between pipe drivers and mesa.
+
+ Pipe drivers shouldn't really know much about mesa and certainly shouldn't
+ be #including files from src/mesa/main and the like.
+
+ I've also (in i915simple especially) moved over from GL types to
+ more conventional int/unsigned usage. This probably isn't really the
+ ultimate desired set of types to use - possibly C99 would be better. It
+ may even be that a subset of the GL types is preferable.
+
+commit d46779103b38aeab61701759ed7a0b30cc71c0ef
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 13 15:21:01 2007 -0600
+
+ check if we have a zbuf before enabling depth_test stage
+
+commit 8cc668a4a8d67af21af6883e18fe7423f28999f9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 13 15:20:08 2007 -0600
+
+ fix some issues with texture/mipmap_tree state tracking
+
+commit c271078048770a31028836eda684a6dbffc13cf5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 13 15:02:50 2007 -0600
+
+ with Y=0=top, front/back determination is negated
+
+commit faa14a9ded2ddb784302b4634f0ca40c51ec1c4b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 13 14:53:27 2007 -0600
+
+ check for ctx==NULL in st_renderbuffer_delete()
+
+commit b7693ee5594e13f56a83230ce6ca61f23f1b5343
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 13 13:57:31 2007 -0600
+
+ Draw white square in lower-left corner to test orientation
+
+commit 21b9b8b74ec0975296d22493254875c0deb7b6da
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 13 13:56:54 2007 -0600
+
+ fill in the get_tile() function so ReadPixels can work
+
+commit eb450bbb40bd9cccde74b1e2d660908e154f9cc0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 13 13:56:30 2007 -0600
+
+ flush pipe before reading image
+
+commit 9e01b915f1243a3f551cb795b7124bd1e52ca15f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 13 11:29:46 2007 +0100
+
+ Implement mutex/locking around texture object reference counting.
+
+ Use new _mesa_reference_texobj() function for referencing/unreferencing
+ textures. Add new assertions/tests to try to detect invalid usage of
+ deleted textures.
+
+commit 6f4725088842fbc0069aeb51f41907b87e0a8f08
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 13 11:09:48 2007 +0100
+
+ added some missing Default1D/2DArray texture code
+
+commit 88451b04e9cd39db9cc9315aaf69e074614f22f9
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Mon Aug 13 17:16:27 2007 +0800
+
+ i965: fix projtex_mask
+ projtex_mask is only an 8bit field, and wm.input_size_masks includes
+ other attributes' information, therefore right shift is needed.
+
+commit c9e4aa2b303f9056564724ece0e2733a54d9f569
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Mon Aug 13 11:43:37 2007 +0800
+
+ i915: satisfy certain alignment restrictions for small
+ compressed texture
+
+commit 21b37b9687b078297935062e3ad9f379b6f36519
+Author: Dan Torop <dtorop934@gmail.com>
+Date: Sun Aug 12 13:41:13 2007 +0200
+
+ fix spantmp2 READ_RGBA inline asm (#11931)
+
+commit 0095be534d633848bc12d73ed9dcc1b9aa41f00a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Aug 11 21:21:12 2007 +0100
+
+ Change/fix surface allocation functions.
+
+ Use xmesa_new_color_surface() for front/back renderbuffer surfaces.
+ Use xmesa_surface_alloc() for everything else (textures, other renderbuffers)
+
+commit 5d42fdb9b70a53938cd29d7ebeaa4b9cedd2e8e3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Aug 11 21:19:04 2007 +0100
+
+ mt->pitch must be at least 16 because of 64-byte alignment in sp_region.c (fix that someday)
+
+commit e209ca866dc1787b9eeece6ae3b53e1e47811d5f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Aug 11 21:18:33 2007 +0100
+
+ do clipping in get_tile()
+
+commit 498c9e9782186a572885ff9927114706c3d93a22
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Aug 11 20:03:24 2007 +0100
+
+ added Bitmap() stub, call st_validate_state() in DrawPixels
+
+commit 24e21301e0cc16f0a3a81bfd7ac7ae8765174da8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Aug 11 19:57:50 2007 +0100
+
+ remove some temp pipe hacks
+
+commit 24864741c58f9e40450f1ea05f7fc50d06050441
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Aug 11 19:57:37 2007 +0100
+
+ added st_cb_queryobj.c
+
+commit 01efb1dd8f5e14e8c034e0100f76472d89f811af
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Aug 11 19:56:30 2007 +0100
+
+ Begin/EndQuery functions
+
+commit bf383d1f5496f6c2ce318bbe1c02e7c7953a9153
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Aug 11 17:04:12 2007 +0100
+
+ repair breakage from recent pipe_winsys re-org
+
+commit 37fdc69a99a7692d337fb4efaea97df842490f21
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Aug 11 17:03:51 2007 +0100
+
+ fix invalid usage of buffer_unreference()
+
+ Need to pass the address of the buffer ptr, not the buffer ptr.
+ Before, the region->buffer type was void * so it wasn't effectively
+ type-checked. Changing the type to pipe_buffer_object* allows the
+ compiler to detect the error. Fixing this solves a segfault.
+
+commit 83521ee66ad3f3cd3ec8212d6f746caecdc6c407
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Aug 11 17:00:56 2007 +0100
+
+ notes/asserts for get/put_tile()
+
+commit bec2230514ad2e8e52625ecb339fcadfabffd4df
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Aug 11 16:59:54 2007 +0100
+
+ move pipe_buffer_handle definition to top of file, use it in pipe_region
+
+commit 0b13336540b887601d5d9c3106aeece848bf589f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Aug 11 16:59:15 2007 +0100
+
+ remove #include mtypes.h
+
+commit 91c2216165e87c7dee665808ac175b186c7c5c9b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Aug 11 14:19:48 2007 +0100
+
+ Rename intel_buffers.[ch] to intel_swapbuffers.[ch]
+
+commit 8c4409690d30b5fc5c048b90351c14522119fa9c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Aug 11 14:01:37 2007 +0100
+
+ Fix some build failures. Move intelScreenContext to intel_context.c
+
+commit a0e48b1ff9884ed66a156bd2d11b475ff177f166
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Aug 11 14:00:19 2007 +0100
+
+ Pull in improved debug from master
+
+commit 6ea55d35254b7769c65f064170d8965c0bf34a27
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Aug 11 13:48:19 2007 +0100
+
+ Make it easier to compare against the pipe driver debug code.
+
+commit c60113cd41ac84f8737005ca1d7a1114e3725ae5
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Aug 11 13:40:22 2007 +0100
+
+ Improve debugging further.
+
+ Pull apart some key packets into individual fields and print sanely.
+
+commit 2eb839ce1dc9a7737925d69d7b628fc839fa752d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Aug 11 13:06:24 2007 +0100
+
+ make it easier to compare debug code with non-pipe version
+
+commit 4a789e408dbba7891f1436b2f42e7c0824e5ba7a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Aug 10 19:17:35 2007 +0100
+
+ Better debugging
+
+commit eada74dc543348e03ef4eaf557c9b84afec7824a
+Author: keithw <keithw@keithw-laptop.(none)>
+Date: Sat Aug 11 00:20:30 2007 +0100
+
+ add intel_lock.c to build
+
+commit 37863c3c426da5069c3cba977634b6d9c2aa6714
+Author: keithw <keithw@keithw-laptop.(none)>
+Date: Sat Aug 11 00:18:47 2007 +0100
+
+ remove intel_ioctl.c
+
+commit 4bc932ab292d505700e830520de7f9c9eb385086
+Author: keithw <keithw@keithw-laptop.(none)>
+Date: Sat Aug 11 00:16:36 2007 +0100
+
+ move batch ioctl to intel_batchbuffer.c
+
+commit 20995b74c9bc12a157f9ab13e70dd22ab39c8bbf
+Author: keithw <keithw@keithw-laptop.(none)>
+Date: Sat Aug 11 00:13:40 2007 +0100
+
+ remove unused irq functions
+
+commit acff996c447cf3502bf5f287d661d15b22325304
+Author: keithw <keithw@keithw-laptop.(none)>
+Date: Sat Aug 11 00:10:30 2007 +0100
+
+ move locking to new file
+
+commit ecea02fd705b8029b4ac79e638dc6af4a33bddcf
+Author: keithw <keithw@keithw-laptop.(none)>
+Date: Sat Aug 11 00:09:21 2007 +0100
+
+ remove intelGetString()
+
+commit 39407fd85467141fceafbedf52d9e55e008eb011
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Aug 10 16:42:26 2007 +0100
+
+ Move string functions to state_tracker, add queries to pipe, winsys.
+
+commit 1c8bcc733d695732ca704565b3a10ac5f4172ea3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 10 16:25:21 2007 -0600
+
+ Y invert, clean-up
+
+commit 717831ea712c07e18f2c2e797c49754bf2500e5e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 10 16:24:55 2007 -0600
+
+ invert Y for scissor
+
+commit fb4ff8a2a8c0adbe1925d42eaaedfa52707c7ffb
+Author: keithw <keithw@keithw-laptop.(none)>
+Date: Fri Aug 10 16:12:09 2007 +0100
+
+ use winsys supported_formats() query
+
+commit 5b301132364dd78f5477cc2028bbde36f524fcf1
+Author: keithw <keithw@keithw-laptop.(none)>
+Date: Fri Aug 10 16:08:45 2007 +0100
+
+ add missing printf
+
+commit 03a9994280c14e18be4bae14f4a9b667f8444d67
+Author: keithw <keithw@keithw-laptop.(none)>
+Date: Fri Aug 10 16:03:38 2007 +0100
+
+ move dri_bo() to a header file
+
+commit 8fbd81b4ed59e371aa616b87296e4263d8992bff
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 10 15:47:45 2007 -0600
+
+ added pipe->max_texture_size() query, use it in st_drawpixels()
+
+commit 47fc2c4349746997704a7f81dffadd22363e0ff1
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Aug 10 15:31:26 2007 +0100
+
+ Lift common winsys functions into pipe's new p_winsys.
+
+commit 12e3bb1a65bbff82dabc64110249c57a711501c1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 10 15:29:56 2007 -0600
+
+ fix image orientation
+
+commit 04ee3cecdf8ef39695bdc66120a4e3bbb9f40aca
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 10 15:29:41 2007 -0600
+
+ readpixels handles any format/type/packing/transfer ops now
+
+commit bc4aa83794c6336358793c5f428973fb22184050
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 10 13:30:22 2007 -0600
+
+ setup sampler state, computed wincoords with pixel zoom factors
+
+commit 6ccdd5bb15d03b7eadc0f1e3ddba8848de4f146e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 10 13:11:47 2007 -0600
+
+ don't hardcode cpp
+
+commit ce02b16dac0891a570a3a42f26463ea5c68f1618
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 10 13:11:31 2007 -0600
+
+ added st_sizeof_format()
+
+commit 34d535ad2c9ea06c61c6c0e3755ad8177aa30147
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 10 13:06:07 2007 -0600
+
+ glRead/DrawPixels test
+
+commit e51aa572934c39fe3c99470343f776be4e783f42
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 10 13:03:13 2007 -0600
+
+ basic texture-based glDrawPixels path works
+
+commit 9cf9aa1ea2c3f40a09316975410a4b0e202e82ba
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 10 13:02:51 2007 -0600
+
+ use st_mesa_format_to_pipe_format()
+
+commit 24e510ea3796d3136c5eacf2c96a1dddded12aa2
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 10 13:02:25 2007 -0600
+
+ added st_mesa_format_to_pipe_format()
+
+commit da9178c73088982b9f422187cf782ae5ab6b64ce
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 10 12:37:20 2007 -0600
+
+ alignment/pitch/width clean-ups
+
+commit 48f853f73f7bb46e8c977e551fd66a39e50935ee
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 10 12:24:38 2007 -0600
+
+ minor clean-ups
+
+commit 5c2c05600081f811e001a81a600778de0fcab85d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Aug 10 12:57:14 2007 +0100
+
+ Handle glFlush/glFinish through the state tracker.
+
+commit 9ac1a8d416c2bd50ca10186ca09f5e86f6fa4ce6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 10 12:13:48 2007 -0600
+
+ pipe->region_alloc() now takes width instead of pitch, plus a flags param
+
+commit 519aacef031e3271e16693308ca462346a8a160c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 10 11:43:04 2007 -0600
+
+ fix asst glitches
+
+commit 80e8538a5d7f99b59f4577defdb7023e39dc5f69
+Author: michal <michal@michal-laptop.(none)>
+Date: Fri Aug 10 11:54:39 2007 +0100
+
+ Add SGT/LT/GE/LE/EQ/NE opcodes for ps/vs_2_x.
+
+commit 9cad4dde9745d2342e0694879a84e1a7006b9b0d
+Author: michal <michal@michal-laptop.(none)>
+Date: Fri Aug 10 11:45:06 2007 +0100
+
+ Support predicates.
+
+ Predicates, as per D3D9 spec, are a complete subset of NVIDIA's
+ condition codes. However, due to its broad support in non-NVIDIA
+ hardware, it is being exposed in TGSI to ease hw driver development.
+ Two decomposition functions are expected in the future.
+ 1. GetRidOfPredicates() - predicates are implemented with condition
+ codes.
+ 2. There is no second function, it's just this pesky VI that does not
+ allow me to move with arrow keys and so I cannot edit previous paragraphs.
+
+commit 900b0807b80dc79c99afbd063fa014d76c8e7692
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 10 11:37:41 2007 -0600
+
+ added st_cb_readpixels.c
+
+commit 6f27aabe49f45d1c4915d4d5e12723774c6bbdeb
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 10 11:37:21 2007 -0600
+
+ use st_cb_readpixels.c
+
+commit c943dab9a36ac1b48a3da570d44128caa67c9f51
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 10 11:37:05 2007 -0600
+
+ glReadPixels
+
+commit 9879ca019b1ed99ca37e7b485ef4daae0fded066
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 10 11:36:23 2007 -0600
+
+ add missing break stmt
+
+commit 3738606a52b585108d709ce6be8565fc6144cbc7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 10 11:35:57 2007 -0600
+
+ more render to texture work
+
+commit 137ec509946bba39940d3a7932bf196450cb951e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 10 11:17:26 2007 -0600
+
+ sketch out some render-to-texture code
+
+commit 6349bd3112116841326885550188224af87ec15c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 10 11:16:53 2007 -0600
+
+ remove some temporary hacks
+
+commit 0aa8b1643b6b32860a38285e886d60c6f38fccf5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 10 11:15:33 2007 -0600
+
+ added pipe_surface_unreference()
+
+commit 3cc5b1645b6f04f546b8535ba46bb418b8199f49
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 10 11:15:15 2007 -0600
+
+ include surface.offset in address calculations
+
+commit 30e506eb04ec9d82dbb879f27547475a875d50d7
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Aug 10 10:37:20 2007 +0100
+
+ Clean up / sanitize debugging
+
+commit a27c0db260fb289ec7994a8c66b002443bc8a96b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Aug 10 10:23:24 2007 +0100
+
+ Missing files
+
+commit c26d635e225c150af400be085754f4230524ea44
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Aug 10 10:21:42 2007 +0100
+
+ Remove dead include line
+
+commit 07fd9ad7bbd6de8d2beaa5202daecb7dac861899
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Aug 10 10:20:35 2007 +0100
+
+ Fix merge issue
+
+commit fa6815f0566339eb0879842369d3aea25dc6233f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Aug 10 10:15:23 2007 +0100
+
+ Give softpipe a native texture layout of its own.
+
+ Basically the same as the 945's for now.
+
+commit 938c307e4526298d2703818d5fa848a31b076905
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Aug 10 10:02:34 2007 +0100
+
+ Add printf handlers, pass pci id and move texlayout code to driver.
+
+commit c12b71ef93ed71a78473568025d2b4d8d8fd2003
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Aug 10 10:01:15 2007 +0100
+
+ Pass pci_id to i915_create()
+
+commit cb2d95ba68affe665619cc0ec7b74fd0aaae7fc2
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Aug 10 09:58:17 2007 +0100
+
+ Add a printf method to winsys and use for all debugging.
+
+commit af25ca6e69cef93e19bfb118111ffbaedf354f03
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Aug 10 09:55:40 2007 +0100
+
+ Add a printf method to winsys. Not currently used.
+
+commit 6e3c01578e8669ce4ede85d5c7b94b784d136625
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 10 10:09:52 2007 -0600
+
+ obsolete files
+
+commit 0643ea07caf72663a4620f254a5b60344810ce7f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 10 10:09:29 2007 -0600
+
+ no longer need intel_surface.c
+
+commit 8639a543193b65ef5b39da2cce843431bb77a618
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 10 10:09:12 2007 -0600
+
+ move intel_supported_formats() into intel_context.c
+
+commit 12b0aa129e95920774a46583cf7e40236d380007
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 10 10:06:57 2007 -0600
+
+ we can now just rely on softpipe for surface creation, quad_read/write, etc
+
+commit 3654922b333faf07a0543b2b4d2b19a3d4e4f1fd
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 10 10:06:00 2007 -0600
+
+ flesh out w/ more formats, y=0=top convention
+
+commit db928291dcbda2a820dbb1668c43d2fb4266be7c
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Fri Aug 10 16:37:30 2007 +0800
+
+ i965: roland's DXTn format texture patch(bug10347)
+
+commit 8ea66fa2ec9eeb6a7e869ff08d713f5e77d795e0
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Fri Aug 10 16:23:14 2007 +0800
+
+ i965/i915tex: applying right alignment to compressed texture,
+ which make small textures(4x4,2x2,1x1) work well.
+
+commit c7dd9bf870c7d3002524abab58981f89b8f434a8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 10 08:38:31 2007 +0100
+
+ return (softpipe) in GL_RENDERER string - temporarily
+
+commit f8ab24760d0d3f07e9ee81c98207ddf92dfe74da
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 10 08:37:15 2007 +0100
+
+ rename st_cb_teximage.h st_format.h
+
+commit 1463c00d4e436b1904011001cea288d03be8226f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 10 08:35:13 2007 +0100
+
+ Rename (file contains surface format-related functions)
+
+commit a25dd4d407a9ed797d4b9841c62f33efdfa07847
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 10 08:34:18 2007 +0100
+
+ code movement
+
+commit d2bfdae860022b2cef2fff2de25440ba0e8f1d2b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 10 08:33:43 2007 +0100
+
+ invert Y axis
+
+commit c7157065b2c3be768e1b72e5a0980261bce315a7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 10 08:33:09 2007 +0100
+
+ change triangle orientation, fix exit()
+
+commit 2cafd749b8e4fa44863c176389f7201c7f74eca9
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Fri Aug 10 15:14:12 2007 +0800
+
+ i965: set mt->cpp differently with compressed texture
+
+commit 3a9eca5cc0a3a0c7f6198b37f61cc0d0ad45da1d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 9 22:56:50 2007 +0100
+
+ asst changes to get softpipe rendering again (no zbuf support for now)
+
+commit 6883930f61c67924789f2c7cbc274627407cc784
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 9 22:56:21 2007 +0100
+
+ init strb->Base.DataType appropriately, clean-ups
+
+commit 2f4f703af1f1d99f84adc9d8db30f3725eacd77f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 9 22:55:28 2007 +0100
+
+ export softpipe_init_surface_funcs()
+
+commit ac36cdbcc1ce4d78df50150117b11861c6ea672b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 9 22:55:15 2007 +0100
+
+ added null ptr checks
+
+commit 78b1a29a0da8d1877408421df5012d37084a96de
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Aug 9 19:09:19 2007 +0100
+
+ Split texfilter enums to match common hardware usage.
+
+commit 00677fb67c44a671f866cbd351fc6f183bcd83bb
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Aug 9 19:08:52 2007 +0100
+
+ silence warning
+
+commit 1ac106eefd148fa47a1a77f652089bfe5ed92824
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Aug 9 19:08:23 2007 +0100
+
+ silence warning
+
+commit c19a95510f89401125ac3641725749c957f35d96
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 9 19:04:50 2007 -0600
+
+ more work toward texture-based glDrawPixels
+
+commit be57c1aac46e6af2f1dd8ce1f10334d034ac7464
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 9 19:04:28 2007 -0600
+
+ comments
+
+commit 3d31252d44fb5983a089b9f3488745757772adea
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 9 18:24:37 2007 -0600
+
+ move viewport Y inversion to state tracker
+
+commit 7c9a1357beabd6d0df88142d31cd5d77a012e85a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Aug 9 18:07:42 2007 +0100
+
+ Add more i915 state packets.
+
+ These correspond to the dynamic indirect state, though they are
+ currently just pushed straight to the batch buffer.
+
+commit b3efc75f1a3496cbd0b93b5eff497a92fa31dc3b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Aug 9 17:40:18 2007 +0100
+
+ Remove unused file
+
+commit f1637e89ded7312a97dc0a8fdac74886d70766c0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 9 17:59:13 2007 -0600
+
+ invert Y axis with the viewport transformation to put things right side up
+
+commit 584c0762010a467e391d7dcdb48aae4d7809f6b5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 9 17:58:28 2007 -0600
+
+ vertex colors are ARGB
+
+commit debb4884e3bdf1e632ff79e728a59c1920cc2d15
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Aug 9 16:45:20 2007 +0100
+
+ Missing files
+
+commit e23966f3de81342f7bd11f1e79c04022b5f0193f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Aug 9 16:43:44 2007 +0100
+
+ Some basic state - blend and ztest sort of work.
+
+commit 3bf25e5516c3c2688d5e1b3b1e120c970b8076c2
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Aug 9 16:06:16 2007 +0100
+
+ Remove references to fallbacks from this directory
+
+commit df338be6d7c26fdef184d97fee726d32cb1c04a1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 9 16:31:48 2007 -0600
+
+ comments, assertions, etc
+
+commit ef5d99e08386b19bb7e693ebd4970fe2412783de
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 9 16:05:08 2007 -0600
+
+ Obsolete
+
+commit e24c696ca8035bc867899ee6f8ab39f5f276ac82
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 9 16:04:39 2007 -0600
+
+ dead code removal
+
+commit 94fda5695e3e05d93dfa20e8d193c2a784c2ae65
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Aug 9 16:00:43 2007 +0100
+
+ Emit drawrect command as we no longer ask the kernel to do this.
+
+commit bb142746bdf2c08a924471c53c660b1dea60cd8b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Aug 9 15:52:38 2007 +0100
+
+ Remove unused blit functions.
+
+commit 277e4989f348913e3852f3d8c4efb82ba1380fcb
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Aug 9 12:02:45 2007 +0100
+
+ Don't reemit hardware state *every* primitive.
+
+commit fb8caffea8ac9a8f8e2ee63959264abe8eb36c59
+Author: Brian <brian@i915.localnet.net>
+Date: Thu Aug 9 15:42:12 2007 -0600
+
+ fix merge conflicts
+
+commit 0c4c86cf2ce65d1284819dd14c649ac4c33cae33
+Author: Brian <brian@i915.localnet.net>
+Date: Thu Aug 9 15:41:08 2007 -0600
+
+ don't use intel_read_draw_buffer.c anymore
+
+commit 3c07bbb1982da5629685f569285529f02b35e48c
+Author: Brian <brian@i915.localnet.net>
+Date: Thu Aug 9 15:39:54 2007 -0600
+
+ assertions
+
+commit 807ecbd344853288f4cadff95445d5677b28c93c
+Author: Brian <brian@i915.localnet.net>
+Date: Thu Aug 9 15:39:31 2007 -0600
+
+ *numFormats = 3
+
+commit 3e930c3f1fe1deebd0cb976070155f5c55d55b6f
+Author: Brian <brian@i915.localnet.net>
+Date: Thu Aug 9 13:17:49 2007 -0600
+
+ minor clean-ups
+
+commit a4517215ca98066c70155432ebfc578e6412d6de
+Author: Brian <brian@i915.localnet.net>
+Date: Thu Aug 9 13:09:58 2007 -0600
+
+ remove intel_depthstencil.c and intel_fbo.c
+
+commit a47c387793bf99ad533a36082c262aadab7e322a
+Author: Brian <brian@i915.localnet.net>
+Date: Thu Aug 9 13:09:27 2007 -0600
+
+ Obsolete files
+
+commit 3a035d0d23d2ee7edd48be144c6619d56fbd5469
+Author: Brian <brian@i915.localnet.net>
+Date: Thu Aug 9 13:08:43 2007 -0600
+
+ don't include intel_depthstencil.h
+
+commit 74b5cb0e6fd0cdb6306fa7dd32e5be1aa4e3fb69
+Author: Brian <brian@i915.localnet.net>
+Date: Thu Aug 9 13:04:53 2007 -0600
+
+ remove some includes
+
+commit f5713c7d2e7ba8e1170fd9b1dd95379662ab6117
+Author: Brian <brian@i915.localnet.net>
+Date: Thu Aug 9 12:59:11 2007 -0600
+
+ Checkpoint intel_renderbuffer removal.
+
+ Remove surface ptr from gl_renderbuffer.
+ Use st_renderbuffer in most places.
+ More clean-up.
+
+commit 36fc648ddd937962e659d6215ed6cfb864fb9f05
+Author: Brian <brian@i915.localnet.net>
+Date: Thu Aug 9 12:36:47 2007 -0600
+
+ remove dead code, remove intel_fbo.h includes
+
+commit 01ee12cc5faa447d5542d00970e8bc3867bd5c60
+Author: Brian <brian@i915.localnet.net>
+Date: Thu Aug 9 12:36:19 2007 -0600
+
+ surface-related prototypes
+
+commit 64da7515009f3551796c90acc74eb0a2ffdb68a0
+Author: Brian <brian@i915.localnet.net>
+Date: Thu Aug 9 12:27:44 2007 -0600
+
+ checkpoint: no longer using intel_fbo.c
+
+commit b6e4efb451061a4e124f6bf575e528cbbff551c2
+Author: Brian <brian@i915.localnet.net>
+Date: Thu Aug 9 11:30:40 2007 -0600
+
+ remove color_rb[] and lots of dead code
+
+commit 0481f22fdbed715dea9e36dad871606d5fd285bb
+Author: Brian <brian@i915.localnet.net>
+Date: Thu Aug 9 11:16:13 2007 -0600
+
+ disable intel_get_rb_region()
+
+commit 334d3650a95786a7f4e8212eb84fe9cf70206d8f
+Author: Brian <brian@i915.localnet.net>
+Date: Thu Aug 9 11:11:11 2007 -0600
+
+ checkpoint: more intel_renderbuffer removal
+
+commit d177a00e5bcf6bffb3fc0810b720d8534995c752
+Author: Brian <brian@i915.localnet.net>
+Date: Thu Aug 9 10:52:03 2007 -0600
+
+ checkpoint: intel_renderbuffer removal (intel_renderbuffer now == gl_renderbuffer
+
+commit 4ab52c412d738bd26164236e69935c2f82035b1f
+Author: Brian <brian@i915.localnet.net>
+Date: Thu Aug 9 10:39:19 2007 -0600
+
+ checkpoint: intel_renderbuffer removal (move vbl_pending field into intel_framebuffer
+
+commit 3614a9a8ae2badceca40f626c4a80f386c5d0177
+Author: Brian <brian@i915.localnet.net>
+Date: Thu Aug 9 10:33:18 2007 -0600
+
+ checkpoint: intel_renderbuffer removal
+
+commit ba75e41e41f70d8a4ab01399fe2cd0ab15f09b39
+Author: michal <michal@michal-laptop.(none)>
+Date: Thu Aug 9 12:55:50 2007 +0100
+
+ Update opcode list.
+
+commit 81e595dfe2b9e2d7a27d49da365907bcea850f14
+Author: michal <michal@michal-laptop.(none)>
+Date: Thu Aug 9 12:49:46 2007 +0100
+
+ Further opcode list reorg.
+
+ Add TXP opcode.
+ Alias SGN to SSG.
+ Alias EXPP to EXP.
+
+commit 5279b267688ecf0eb8a9b9873d80aa399538303e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Aug 9 11:22:45 2007 +0100
+
+ Quieten TGSI
+
+commit 17dde8dbb131a07f4a1109615fa80b60a7857a60
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Aug 9 11:22:29 2007 +0100
+
+ Quieten TGSI
+
+commit 4e517f9b0aed27b49c6050a3d7c279efc625f352
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Aug 9 11:21:22 2007 +0100
+
+ Supporting batchbuffer changes for 1st hwpipe triangles...
+
+commit 13eaf04b56218506bb7967df9aa37b692c44338f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Aug 9 11:20:38 2007 +0100
+
+ Remove unreferenced file.
+
+commit 93b6e8aeac8ee410ee49cecd28a785efe5c2b1e3
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Aug 9 11:19:09 2007 +0100
+
+ Tweaks to state emit, acheives first hw triangles from a pipe driver.
+
+commit c046174eb047c95e25f31390019f04f310ae2b8e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Aug 9 11:18:27 2007 +0100
+
+ Pull in debug code for human-readable batchbuffer dumps.
+
+commit 9526f7445e9acea8553769bf8f86e3c95655cca1
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Aug 9 10:35:48 2007 +0100
+
+ The pipe version of these files. Can probably relocate to pipe/i915simple.
+
+commit dc2c20b6250915548c7fbfd369fdc890bae2b98c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Aug 9 10:34:35 2007 +0100
+
+ Put back the old versions of intel_tex_layout.* in this shared directory.
+
+ Unbreak the original i915, i915tex drivers. We will have our own
+ version of this functionality in the pipe driver and not attempt to share
+ with the older code.
+
+commit b0e57f789c2ae266fc51874c480d033309075468
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Aug 8 16:42:29 2007 +0100
+
+ Hook up pipe flush functionality
+
+commit 93d5cfd8b7c641c5656aed38ad2f9559e09502f0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Aug 8 16:42:01 2007 +0100
+
+ Add flush/finish functionality to pipe.
+
+ Not sure if finish() is the right interface yet.
+
+commit d0521ebd516617f4471279e69af5dc0f4e4992af
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Aug 8 16:40:45 2007 +0100
+
+ Split swapbuffers and read/draw buffers functionality into two files.
+
+commit 64f4268e85db54bae213d758b7ede676550d8185
+Author: michal <michal@michal-laptop.(none)>
+Date: Thu Aug 9 10:43:56 2007 +0100
+
+ Declare missing opcode aliases. Declare SGN opcode.
+
+commit 48c37a29fa527aabcec76731de0bee508869e835
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 9 08:47:05 2007 +0100
+
+ fix byte swap bug for GLint stencil indexes (bug 11909)
+
+commit 562fdca12de5bbba491fafc7a26d86b23b5f7c93
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Aug 8 16:47:51 2007 -0600
+
+ update lod bias, limits
+
+commit 5671bba1cb103c00b44905dfa015c3338cb4af56
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Aug 8 16:46:59 2007 -0600
+
+ clean-up
+
+commit 8140642f5335eba5a524a7782fa40e6d095b5ada
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Aug 8 16:46:32 2007 -0600
+
+ use surface offset value in get_tile()
+
+commit 09a1b912605ff48c8782dcc5aae55ac77e27037b
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Aug 8 16:09:13 2007 -0600
+
+ initial lod/mipmap texture supported
+
+commit 7faa3542f062dfa32e1596f5ce2b531cb8b4eeef
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Aug 8 16:08:45 2007 -0600
+
+ setup frag shader state: color pass-through program
+
+commit ed227b7b8ddc3aad6ed764124e94caae6b98d182
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Aug 8 16:07:28 2007 -0600
+
+ added assertion
+
+commit 6dc212ce49bd2939e905ea0bb8f2fa162cd67df6
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Aug 8 16:07:07 2007 -0600
+
+ print_vertex func for debugging
+
+commit 31132546891e0fd0f0fc889506fb5e46c0075c4c
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Aug 8 16:06:48 2007 -0600
+
+ new assertions
+
+commit 960bf97c9f9cd98c0a26f26a2fa23960ae96aa6e
+Author: michal <michal@michal-laptop.(none)>
+Date: Wed Aug 8 13:55:56 2007 +0100
+
+ Add D3D9 opcodes up to ps_2_x and vs_2_x.
+
+commit 6a78221a10d1c97f84e4c47e10b721aa4777d761
+Author: Carlos Martín Nieto <carlos@cmartin.tk>
+Date: Wed Aug 8 14:49:37 2007 +0200
+
+ nouveau: Missing notifier -> notifierobj migration
+
+ I missed this in the original migration.
+
+commit 65f7b3834b62f3ab7e83a9f290cc6a66cda60c05
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Aug 8 12:32:06 2007 +0100
+
+ Don't use hardware driver by default, until its working a bit better.
+
+commit 715acc7622255f7cc99d632c57aac14af4bac89a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Aug 8 12:28:21 2007 +0100
+
+ The i915simple driver now runs well enough to lock up hardware.
+
+commit cf3fb4e3ef16ec1ab08fdbe418afe15c48df73fc
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Aug 8 11:35:47 2007 +0100
+
+ Call init_state_funcs
+
+commit 7bf2e9e38329a332281011520413de720906447c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Aug 8 11:35:14 2007 +0100
+
+ Fix typo so that i915simple actually gets used.
+
+commit c28d2e6702f8ea165309b999388b9e34253ceb29
+Author: keithw <keithw@keithw-laptop.(none)>
+Date: Wed Aug 8 11:32:56 2007 +0100
+
+ remove unused file
+
+commit db068269fcba8febf92be9d6cd54a9315e6bbf04
+Author: keithw <keithw@keithw-laptop.(none)>
+Date: Wed Aug 8 11:32:24 2007 +0100
+
+ remove unused file
+
+commit 7f74538173b78281b69f8b18a975e64d2c934245
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Aug 8 11:25:28 2007 +0100
+
+ Remove unused code, definitions.
+
+commit f71edfa41b70c056792a5b6f57984852cd8396ed
+Author: root <root@i915.localnet.net>
+Date: Wed Aug 8 12:03:18 2007 -0600
+
+ increase texture size to 32x32
+
+commit 267cf16e066f548a33c7b5f7c73deb59039d9b3d
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Aug 8 12:02:52 2007 -0600
+
+ very simple texture cache implementation
+
+commit c8cc1e86f68a54198e3136dcd198a252f6d7e8f2
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Aug 8 12:02:18 2007 -0600
+
+ fix qs->next tests
+
+commit e4eb97318cbce238c5aaaf11af42c33229274859
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Aug 8 11:44:06 2007 -0600
+
+ add quad_stage::begin() funcs
+
+commit f00179f9b47e17087d546940e1d57ffb2e2a8e42
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Aug 8 11:37:00 2007 -0600
+
+ Add a quad_stage::begin() method to do per-primitive preparations (like setting up samplers).
+
+commit 8daa738cf95a771d2217fe3dd9de9334143348e0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Aug 8 11:19:17 2007 +0100
+
+ Remove more dead files.
+
+commit 173e2c6a678ff35cde8057caf15aa8a0056dfdf8
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Aug 8 11:17:48 2007 +0100
+
+ Remove dead files.
+
+commit ef8b68a8a84eeac238fffa98f729d4809b6e2de4
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Aug 8 11:13:36 2007 +0100
+
+ Pull in i915simple.a
+
+commit dbb297fac6a9637cc7ee7ab2cf40f196048ba626
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Aug 8 11:10:37 2007 +0100
+
+ Hook up i915simple. Doesn't compile.
+
+commit 7e78b9e4d0117d7438fa1a07dff2bc261a9100d9
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Aug 8 11:09:53 2007 -0600
+
+ rewrite texture sampling code (smaller, simpler)
+
+commit e12810d92ffb3547680b227bf88937c03018112b
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Aug 8 11:09:02 2007 -0600
+
+ add lambda param to get_sample()
+
+commit 34a48abd5ff82ce9748fc29191e35a0985d47c5f
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Aug 8 10:26:51 2007 -0600
+
+ sketch out 1D/3D/cube texture sampling
+
+commit eb147ed775bedec9d849cdc817f208b5fe5eade3
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Aug 8 10:26:16 2007 -0600
+
+ added PIPE_TEX_FACE_*
+
+commit 40bc47f5780333e75c35a16bfec1f9670b2a646a
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Aug 8 09:52:35 2007 -0600
+
+ replace draw_offset w/ 0 for now
+
+commit 7523f490b0166b00e24429c33f8958c3be72ccb5
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Aug 8 09:50:49 2007 -0600
+
+ define i915_surface struct
+
+commit 8a475cb791a0e66fcdc3fcd12c517fcb98d75957
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Aug 8 09:41:52 2007 +0100
+
+ Rename drivers/dri/i915pipe --> drivers/dri/intel_winsys.
+
+ This is appropriate as this is not a "pipe driver for the i915" as the
+ old name would suggest, but rather a dri driver that can provide "winsys"
+ backends to softpipe/i915/i965/etc pipe drivers, running under the
+ intel DDX, drm, etc.
+
+ It also frees up the i915pipe name for something more appropriate, ie
+ mesa/pipe/i915pipe.
+
+commit f62b573922dd5274c01250fa941f9b1a151e6c45
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Aug 8 09:35:16 2007 +0100
+
+ more get_tile() work
+
+commit 08f33a025100dea2d951e6d628891fe294b18082
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Aug 8 09:35:03 2007 +0100
+
+ fully support all texcoord wrap modes
+
+commit 01c35b52a1fccbe4253a96b9c0506ef6c991e44f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Aug 8 09:28:57 2007 +0100
+
+ Checkpoint of a super-simplified i915 driver in the pipe model.
+
+ Doesn't yet compile, but when it does, it will only draw gouraud tris
+ and even those will be as simple as possible. Needs some 'winsys' support
+ also before that can happen.
+
+commit ddd30d8160dc7db5f24a5ac823fd1c64c43b50be
+Author: Brian <brian@i915.localnet.net>
+Date: Tue Aug 7 18:22:40 2007 -0600
+
+ clean up tgsi_sampler-related bits
+
+commit e4b5265487c3d912ea84511064681e02f3e2a5ba
+Author: Brian <brian@i915.localnet.net>
+Date: Tue Aug 7 18:22:16 2007 -0600
+
+ use new tex filtering code
+
+commit 0dc4eea64f56cc93e5359372b08b99a2d600273c
+Author: Brian <brian@i915.localnet.net>
+Date: Tue Aug 7 18:22:03 2007 -0600
+
+ initial texture filtering code
+
+commit 283ed438b6357f6152d7ee002380e049724ffed4
+Author: Brian <brian@i915.localnet.net>
+Date: Tue Aug 7 18:20:55 2007 -0600
+
+ include p_state.h
+
+commit 85675db0fc7fcc9151f47ab7a5ca8643569d2d1d
+Author: Brian <brian@i915.localnet.net>
+Date: Tue Aug 7 18:20:30 2007 -0600
+
+ added a get_tile() func
+
+commit 11c557d3cab41e15a5b03715feffc7f920e4b661
+Author: Brian <brian@i915.localnet.net>
+Date: Tue Aug 7 18:19:49 2007 -0600
+
+ map/unmap textures
+
+commit 204d35c0efa2e1e96cc318185acfe01c4a8edfbb
+Author: Brian <brian@i915.localnet.net>
+Date: Tue Aug 7 18:19:34 2007 -0600
+
+ remove dst!=src assertion
+
+commit b4784862b4d03727d1d50408837961c776c53481
+Author: Brian <brian@i915.localnet.net>
+Date: Tue Aug 7 18:19:06 2007 -0600
+
+ debug info
+
+commit b245840b86cf877c9b8d666edf229364a84f1dea
+Author: Brian <brian@i915.localnet.net>
+Date: Tue Aug 7 18:18:54 2007 -0600
+
+ set mt->format
+
+commit 6cdff693a7feb51492451f4a04f3736842d2268b
+Author: Brian <brian@i915.localnet.net>
+Date: Tue Aug 7 18:18:08 2007 -0600
+
+ added pipe_mipmap_tree::format
+
+commit 14b98343309fdcff3514f05020303f7b40e83a4a
+Author: Brian <brian@i915.localnet.net>
+Date: Tue Aug 7 16:42:08 2007 -0600
+
+ s/intel/st/
+
+commit 3973d1ad3353cd66c69e5170908a9e9ae03477fb
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Aug 7 22:06:08 2007 +0100
+
+ move free() after dereference (bug 11878)
+
+commit e45b40381c51564e12a0a1216bd651679a553288
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Aug 7 22:02:27 2007 +0100
+
+ parse standard -geometry option
+
+commit 90cc31f31bbc9039fcd9acab7d6e72f2c9a186bb
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Aug 7 21:57:29 2007 +0100
+
+ fix potential NULL dereference (bug 11879)
+
+commit 1223b75e63b0ecf72bdfa2e7c102bba4bfa398ee
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Aug 7 21:51:46 2007 +0100
+
+ remove SHELL line, replace -e test with new logic (Daniel Stone)
+
+commit 237b985356b4d791ee2f184a201de9704614b9b1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Aug 7 21:48:31 2007 +0100
+
+ fix potential NULL dereference (bug 11880)
+
+commit 872d1791414cd39df03f35330c1e7e9d88f229b3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Aug 7 21:42:34 2007 +0100
+
+ fix swizzle error test (bug 11881)
+
+commit 4a470f63c9c3f5aeef1e10ae42eee24c772f74fc
+Author: michal <michal@michal-laptop.(none)>
+Date: Tue Aug 7 15:34:11 2007 +0100
+
+ Naive implementation of IF/ELSE/ENDIF.
+
+ Handle TGSI labels correctly.
+ Enhance MESA opcode info queries.
+
+commit adf5560ea5f6955425939df7e75ce9d11ea36511
+Author: Brian <brian@i915.localnet.net>
+Date: Tue Aug 7 15:28:12 2007 -0600
+
+ checkpoint new tgsi_sampler_state struct
+
+commit ab80be0df126066c441cef5e2042b77fa6e0bdde
+Author: Brian <brian@i915.localnet.net>
+Date: Tue Aug 7 15:27:03 2007 -0600
+
+ remove pipe_surface_sampler
+
+commit d805d46a5fe1d163b299ea5934308e9264a57a29
+Author: Brian <brian@i915.localnet.net>
+Date: Tue Aug 7 15:12:40 2007 -0600
+
+ added st_atom_texture.c
+
+commit d78dab126724e6e9d475289a086fb6f85adc3985
+Author: Brian <brian@i915.localnet.net>
+Date: Tue Aug 7 15:12:22 2007 -0600
+
+ plug in texture/sampler state update
+
+commit 28d64d398bb3e04d20a9c03c9a0b92c0a7b9d6d4
+Author: Brian <brian@i915.localnet.net>
+Date: Tue Aug 7 15:11:20 2007 -0600
+
+ texture image state handling
+
+commit b23f358cbc36a2b6a9e7609290a7458fa48f7ccb
+Author: Brian <brian@i915.localnet.net>
+Date: Tue Aug 7 13:13:41 2007 -0600
+
+ sketch out new pipe surface/sampler types
+
+commit 281dad225947b4f00bfc5e785d92d2a7c2f06afe
+Author: michal <michal@michal-laptop.(none)>
+Date: Tue Aug 7 12:50:12 2007 +0100
+
+ Handle labels for IF/ELSE correctly
+
+commit f141399031981d6af19a32025ae7c1b947196480
+Author: michal <michal@michal-laptop.(none)>
+Date: Tue Aug 7 11:49:33 2007 +0100
+
+ Enable compact TGSI dump.
+
+commit c7e6a2eb83bbf86aa6d558aeb3f58cbc76a3983f
+Author: michal <michal@michal-laptop.(none)>
+Date: Tue Aug 7 10:24:27 2007 +0100
+
+ Dump tokens in more compact form.
+
+commit cec49ee954287b7f34664ea9e8137c674c26dcf1
+Author: Brian <brian@i915.localnet.net>
+Date: Tue Aug 7 10:56:41 2007 -0600
+
+ s/pipe_texture_object/pipe_mipmap_tree/, drop st_texobj.c
+
+commit c61927a0cbbedc2fd77c151ef81a3600c2e64d53
+Author: Brian <brian@i915.localnet.net>
+Date: Tue Aug 7 10:56:01 2007 -0600
+
+ don't include non-existant intel_buffer_objects.h
+
+commit 90ee7a41443a971d6ff2e0a6e90997806c28d11b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Aug 7 10:18:04 2007 +0100
+
+ Gutsy oopses on touch of existing file. Workaround.
+
+commit 87a8f5643dc228b0e98e15dd42db20d54bc65a62
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Aug 7 10:17:22 2007 +0100
+
+ Remove old intel_buffer_objects code - there is a state_tracker version now.
+
+commit 285c7d593170506409ef78adb40f3bb849c93e5d
+Author: michal <michal@michal-laptop.(none)>
+Date: Tue Aug 7 10:14:50 2007 +0100
+
+ Labels are always label targets.
+
+ Translate label for GLSL IF, ELSE.
+
+commit 958a1ad4200521f4fefa87196ee56be0f0c61613
+Author: Brian <brian@i915.localnet.net>
+Date: Tue Aug 7 10:07:23 2007 -0600
+
+ prototypes
+
+commit e43bc8da7a03462f1f3027fa308f7577fdb10156
+Author: Brian <brian@i915.localnet.net>
+Date: Tue Aug 7 09:55:13 2007 -0600
+
+ get rid of temp write_mono_row_ub() function
+
+commit 4a8ad16ec0ab57bfa077c96f502cade7e656c01a
+Author: Ingo Molnar <mingo@elte.hu>
+Date: Tue Aug 7 09:53:48 2007 +0200
+
+ glxgears: Add an x/y window size parameter.
+
+commit 0ed3ff5011442facdaccdb84518d7712833f9dab
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Aug 7 08:17:02 2007 +0100
+
+ fix even-sized point positioning (bug 11874)
+
+commit d05b72154319041dad38f24696638396753e0da3
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Tue Aug 7 08:21:28 2007 +0800
+
+ fix vbo_split_copy related bug 9962
+
+commit 75a88e908242c555b3916bbf61d371e83e6a6dd0
+Author: Carlos Martín Nieto <carlos@cmartin.tk>
+Date: Tue Aug 7 01:00:29 2007 +0200
+
+ nouveau: update to DRM API patchlevel 10
+
+ Finally let DRI build for nouveau.
+
+commit 647afc3179b6c2b3f35a9c4d388f7e0289a86404
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 6 20:56:29 2007 +0100
+
+ call st_init_driver_functions(), make intelInitDriverFunctions() static
+
+commit 34ff87e46af23919cf53e9a4cf551fa154535f0b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 6 20:54:41 2007 +0100
+
+ call st_init_driver_functions()
+
+commit 4a60b94701a54a7110766a184b048106f8fe4628
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 6 20:54:18 2007 +0100
+
+ added softpipe_mipmap_tree_layout
+
+commit 07633371ff4987d3149e78a1f0791da720af4e60
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 6 20:54:03 2007 +0100
+
+ need a softpipe func for texture layout
+
+commit 6da9234fd437f97267e7831f034c78b31156d939
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 6 20:53:28 2007 +0100
+
+ New st_init_*_functions() to initialize the driver functions table.
+
+ We need to do these initializations before initializing the Mesa context
+ because context init involves creating texture/program/etc objects.
+
+commit 8ebf91d15eeb6f19d19580f6319477aaad4df3fd
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 6 20:52:04 2007 +0100
+
+ new header
+
+commit a2e3def40c0750db158e2cc0e1e90bfb30bd5a5c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Aug 6 20:49:44 2007 +0100
+
+ fix asst. warnings
+
+commit 3f26f6167874ba59a132cc12d77a2548c8d1d309
+Author: michal <michal@michal-laptop.(none)>
+Date: Mon Aug 6 17:20:31 2007 +0100
+
+ Add GLSL opcodes.
+
+commit 2cd6291c624625368050d7c6104e11f01c605ebb
+Author: michal <michal@michal-laptop.(none)>
+Date: Mon Aug 6 17:18:25 2007 +0100
+
+ Add GLSL ops.
+
+commit 76478a470660becaceb09c7217b8c73601b1e92a
+Author: michal <michal@michal-laptop.(none)>
+Date: Mon Aug 6 17:15:37 2007 +0100
+
+ Make SGE, SGT, SLE working.
+
+commit 10fd2742c698d8f4a43b3a7b9506e8d95bf56f4f
+Author: michal <michal@michal-laptop.(none)>
+Date: Mon Aug 6 17:06:03 2007 +0100
+
+ Remove garbage text.
+
+commit 555ff452602fc572420b590eac690d2e3849ca3c
+Author: michal <michal@michal-laptop.(none)>
+Date: Mon Aug 6 17:04:34 2007 +0100
+
+ Use fp_attr_to_slot[].
+
+commit 1d45082f6e8fb2416fd37f6f1fa48fc21576cd1d
+Author: michal <michal@michal-laptop.(none)>
+Date: Mon Aug 6 17:03:51 2007 +0100
+
+ Reorder opcodes.
+
+commit 2f35238394f366156e0ba413df5b757ad89e3c8d
+Author: michal <michal@michal-laptop.(none)>
+Date: Mon Aug 6 17:00:55 2007 +0100
+
+ Translate the remaining ops.
+
+commit 073d25eca0161e140115979e00649056527783b8
+Merge: 8929c90 f79b90b
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Aug 6 16:18:25 2007 -0600
+
+ Merge branch 'softpipe_0_1_branch' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa into softpipe_0_1_branch
+
+commit 8929c90a7173262fa74f1efcdc639a644da514c6
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Aug 6 16:17:41 2007 -0600
+
+ added xm_softpipe.c
+
+commit b1ad6289f83ce5c91da2ebc64d07506c25efa7e2
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Aug 6 16:17:26 2007 -0600
+
+ use new xmesa_create_softpipe()
+
+commit a96d20eac81964cae98202c18e8368f04ec213d3
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Aug 6 16:17:16 2007 -0600
+
+ softpipe/winsys interface
+
+commit f79b90bc1962c6c40f806540c0bd1f867a9b80c7
+Author: michal <michal@michal-laptop.(none)>
+Date: Mon Aug 6 16:18:37 2007 +0100
+
+ Translate MESA GLSL opcodes to TGSI opcodes.
+
+commit f2034954a7ba360e742a325fe7eb4c2d7c9f9ea5
+Author: michal <michal@michal-laptop.(none)>
+Date: Mon Aug 6 16:00:54 2007 +0100
+
+ Add path for GL includes in mesa tree.
+
+commit ddece00faaf293602b3e0e1b28066b1bb9b91bb1
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Aug 6 15:50:16 2007 -0600
+
+ added st_cb_texture.c
+
+commit 9ee61c97003ed78579d1238f552a3d815738c211
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Aug 6 15:50:03 2007 -0600
+
+ clean-ups
+
+commit 1cc774f8da4ce9d7defb5419b07e1bdb8b8275a1
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Aug 6 15:49:44 2007 -0600
+
+ switch to new texture functions in state tracker
+
+commit 4435baef18ccd86ebb9797bf271b6b7182cc777e
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Aug 6 15:49:11 2007 -0600
+
+ use new texture funcs
+
+commit 0790d9a074ee3c161d5e4395093d62f4d573f39b
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Aug 6 15:49:00 2007 -0600
+
+ clean-ups
+
+commit 24df8f895fe8807aa2ba058e71bd40adfc01d21e
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Aug 6 15:48:42 2007 -0600
+
+ new texture functions
+
+commit 3e147fe8e73519074de5ba6f5bc8eaea7c788968
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Aug 6 15:48:08 2007 -0600
+
+ comments
+
+commit fe52cce0e8e72fcf4c11c226246ea7c24015fef6
+Author: michal <michal@michal-laptop.(none)>
+Date: Mon Aug 6 15:57:26 2007 +0200
+
+ Add GLSL opcodes.
+
+commit 2dd4506de35fbf41b656fbdda65fe7f8585158cd
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Aug 6 13:42:18 2007 -0600
+
+ disable/remove intel dependencies
+
+commit d49cee1a748c513325249a4cbaa982a60897fa77
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Aug 6 13:31:23 2007 -0600
+
+ more intel_context removal
+
+commit f42feca07569213e24a09f640311b93937d0bd9e
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Aug 6 13:24:54 2007 -0600
+
+ disable some PBO code, remove intel dependencies
+
+commit e3ad58975be8599ef557988ffd18ca0236dd58ec
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Aug 6 13:17:38 2007 -0600
+
+ remove timing code
+
+commit b9f4b0ce4e4465f149b64a0188e304f73dfa6e94
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Aug 6 13:12:24 2007 -0600
+
+ Replace intel_texture_object with st_texture_object, intel_texture_image with st_texture_image
+
+commit bc3b608317fcda659e7d910b4fab06426ae5f334
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Aug 6 12:41:39 2007 -0600
+
+ minor renaming
+
+commit 307fe0702edb8fb79bc8f7f8830af440f2779a10
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Aug 6 12:40:51 2007 -0600
+
+ Lift intel_mipmap_tree.c to st_mipmap_tree.c
+
+commit bdd3ccf95982e4043f2b57b42fd5d63ff8de4b08
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Aug 6 12:32:16 2007 -0600
+
+ More code movement, removal of intel dependencies
+
+commit 24ddf1169dc2dc2438934957b0fd858042cef9cb
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Aug 6 12:28:33 2007 -0600
+
+ remove more intel dependencies
+
+commit 681f04f6d3d4f5a01a9fa0886bc6caecf4657aef
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Aug 6 12:07:48 2007 -0600
+
+ remove intel dependencies from intel_mipmap_tree.c
+
+commit e6c8691b1a3b8bd44206b9aaa8d75c7c5ea819ed
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Aug 6 11:51:16 2007 -0600
+
+ checkpoint: move some texture layout code
+
+commit d9605cdf7cbbd3c81c506d01eb8e88a11ccfc09b
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Aug 6 11:22:00 2007 -0600
+
+ Checkpoint lifting of intel_mipmap_tree (intel_mipmap_tree -> pipe_mipmap_tree and move some code)
+
+commit 95794abec4bdc5cda9f2e7d139a70c3acf372fe3
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Aug 6 10:15:30 2007 +0100
+
+ Add pipe buffer managment functions.
+
+ The state_tracker driver needs these to implement, eg. pixel buffer objects,
+ vertex buffer objects.
+
+commit 1d1b9e6be45e75ad12a01c82e3c0d55ff9da4183
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Aug 5 17:23:38 2007 +0100
+
+ Add a new interface between softpipe and the window system / buffer manager.
+
+ This interface is defined by softpipe and any window system (eg i915pipe)
+ wishing to use softpipe is required to implement the interface.
+ Currently the interface is all about buffer management.
+
+ Generalizing, each pipe driver will advertise an interface in a similar
+ spirit to this, and again any window system driver wishing to use that
+ rendering pipeline will have to implement the interface it defines. It
+ clearly isn't a one-way street however, as softpipe could just do its own
+ buffer management with malloc. The interaction with a buffer manager is
+ desired to allow us to exercise the hardware swapbuffers functionality of
+ the i915pipe driver, and also to get a feel for the way hardware drivers
+ which really need a buffer manager will work.
+
+commit 5e7921b77874ce0142f0ab032c710a379d86ff09
+Author: Brian <brian@i915.localnet.net>
+Date: Fri Aug 3 13:31:56 2007 -0600
+
+ remove intel_pixel.c
+
+commit 16682fee0a582ace8aa101704280d6839e9f0f23
+Author: Brian <brian@i915.localnet.net>
+Date: Fri Aug 3 13:30:55 2007 -0600
+
+ added st_cb_fbo.c
+
+commit fdedc4fec035b9dd474a7966be60d2ab85b316e3
+Author: Brian <brian@i915.localnet.net>
+Date: Fri Aug 3 13:29:02 2007 -0600
+
+ more work on st_choose_pipe_format()
+
+commit 4b87d37e90b6d2d9562a192540833b599bda5a35
+Author: Brian <brian@i915.localnet.net>
+Date: Fri Aug 3 13:28:35 2007 -0600
+
+ framebuffer object functions
+
+commit ec471e9f0723c2823d1fb882cde72ad1265c0916
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Aug 3 18:58:41 2007 +0100
+
+ Remove dead files
+
+commit db70498462344680ff884e7ed576543175833fc0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Aug 3 18:56:12 2007 +0100
+
+ Rip out more dead drawing-related code.
+
+commit 23f71f2ea557f298de5176b06b8c33d4ef86695a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 3 10:08:39 2007 -0600
+
+ add OSMESA_LIB_NAME
+
+commit 002942913d2572be53e6c3c8efc355ab4318170a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Aug 3 07:24:11 2007 -0600
+
+ added -lm
+
+commit 7d5c25c8a70f42a16b682f4366247cdb8457a631
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Aug 3 13:22:30 2007 +0100
+
+ Remove "static region" support.
+
+ The frontbuffer/driBufMgr interactions are handled as a special case
+ in the intel_screen code.
+
+commit b8846a5be9443ed5d4027ca164c159f93e707824
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Aug 3 13:14:27 2007 +0100
+
+ Simplify frontbuffer / sarea / rotation management.
+
+ Remove lots of old cruft.
+
+commit 389b1d1a3fe742004165d7dcb381314dd9c6806f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Aug 3 12:28:03 2007 +0100
+
+ Workaround wierd oops on gutsy when building mesa.
+
+commit c358a39af5968faf27c5fdc85bf64ac76fa2486b
+Author: Brian <brian@i915.localnet.net>
+Date: Thu Aug 2 20:40:33 2007 -0600
+
+ added pipe->supported_formats()
+
+commit 61d0215d7b35bff980acbf1d61c764f8b80c0e71
+Author: Brian <brian@i915.localnet.net>
+Date: Thu Aug 2 20:40:19 2007 -0600
+
+ hook in teximage bits
+
+commit 66ae07854e7e6e9f56e0beb6b56a8c1429bfa3c6
+Author: Brian <brian@i915.localnet.net>
+Date: Thu Aug 2 20:39:45 2007 -0600
+
+ more formats
+
+commit fc9ff31298952f0a7e4cdfae95059144a5be6e1b
+Author: Brian <brian@i915.localnet.net>
+Date: Thu Aug 2 20:36:36 2007 -0600
+
+ trim #includes
+
+commit 4ab3bbba295a5b39aacae8015130a9098954ad68
+Author: Brian <brian@i915.localnet.net>
+Date: Thu Aug 2 20:36:06 2007 -0600
+
+ beginings of teximage functions
+
+commit 792b882cf69462021cbc5531ca40cca541721dd9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 2 20:26:49 2007 -0600
+
+ fix missing backslash
+
+commit 101563a838a9ed1f9cad5f99fcbf598cbdfba0df
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Aug 2 15:55:42 2007 -0700
+
+ Don't try to use kernel BO flags in dri_bufmgr_fake internals.
+
+commit 47fdaf0ed9ef2f89cdaa97d0d48b1f1194d710c6
+Author: Brian <brian@i915.localnet.net>
+Date: Thu Aug 2 16:08:18 2007 -0600
+
+ pipe->clear() now takes a surface, rather than color/depth/stencil flags.
+
+ pipe->clear() only used to clear whole buffers (no scissor) w/out masking.
+ Draw a colored quadrilateral in all other cases.
+
+commit 2d72da56922258eacdcd17101a4811848a7f0c80
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 2 14:22:13 2007 -0600
+
+ added bluegene-osmesa
+
+commit 2457f4cf671534bea0e0bfce07cb79466fd18baa
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 2 14:22:02 2007 -0600
+
+ OSmesa on BlueGene (Alexander Neundorf)
+
+commit 184b6a1f04e060e73858438561a0261d32eeb506
+Author: Brian <brian@i915.localnet.net>
+Date: Thu Aug 2 14:21:16 2007 -0600
+
+ call st_init_cb_drawpixels
+
+commit 4df8e90a01b395801c47ea897b80637a749c246b
+Author: Brian <brian@i915.localnet.net>
+Date: Thu Aug 2 14:21:02 2007 -0600
+
+ added st_cb_drawpixels.c
+
+commit d09f4e2007b3043ceb9dd3cb9cfab0dcd0226ba6
+Author: Brian <brian@i915.localnet.net>
+Date: Thu Aug 2 14:20:40 2007 -0600
+
+ initial work for textured-quad glDrawPixels
+
+commit 566ae9196b267492d9fcfb2be9065fb8017702f9
+Author: Brian <brian@i915.localnet.net>
+Date: Thu Aug 2 14:20:13 2007 -0600
+
+ remove st_draw.h include
+
+commit 406da44da31f71afd98fc45e2bbfbf41deff1d12
+Author: Brian <brian@i915.localnet.net>
+Date: Thu Aug 2 13:48:02 2007 -0600
+
+ setup more state for clear_with_quad()
+
+commit 7b274b4318f7390b0bc8a7f20a0326881d4df2c9
+Merge: 3ab0210 877478e
+Author: Brian <brian@i915.localnet.net>
+Date: Thu Aug 2 13:46:47 2007 -0600
+
+ Merge branch 'softpipe_0_1_branch' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa into softpipe_0_1_branch
+
+commit 3ab0210c3152e101ebb5af586c837978919f49d0
+Author: Brian <brian@i915.localnet.net>
+Date: Thu Aug 2 13:38:38 2007 -0600
+
+ get rid of accum param
+
+commit 877478e6fc659e2e40b8ba6bb7d78ee512c7c0d5
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Aug 2 20:35:50 2007 +0100
+
+ Remove all references to swrast.
+
+ The one place the functionality continues to be needed is as last-ditch
+ implementations of TexCopyImage, etc. TBD what to do about that, but
+ that will be an issue for state_tracker, not for here.
+
+commit d878bdc7a107991075080f9d6d2f1489b966981f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Aug 2 20:33:58 2007 +0100
+
+ Fix make recursion.
+
+ Unfortunately means you can't just type make in softpipe any more.
+
+commit bf64be22686a8e5168bf80d1a57e367da3fffd57
+Author: Brian <brian@i915.localnet.net>
+Date: Thu Aug 2 12:14:16 2007 -0600
+
+ added clear-scissor.c
+
+commit 65cc3d29a695a9059ec455026775bc24548c6b1a
+Author: Brian <brian@i915.localnet.net>
+Date: Thu Aug 2 12:14:05 2007 -0600
+
+ test glClear w/ scissor
+
+commit 55314f8f311bff065f609ff17c8421a8d5216b84
+Author: Brian <brian@i915.localnet.net>
+Date: Thu Aug 2 12:12:48 2007 -0600
+
+ Implement new draw_vertices() path for simple vertex array drawing, use it for glClear.
+
+commit 0e067f1fb20094417e84e1b18f2302251cece2ca
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Aug 2 18:25:10 2007 +0100
+
+ Remove references to accum buffers in softpipe.
+
+ Also some minor clear fixes.
+
+commit 3dfe125861df183fcc325c516639f80b86bfbc19
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Aug 2 14:56:44 2007 +0100
+
+ Remove intel_state.c, intel_rotate.[ch]
+
+commit 107206bbbe6f110e5d280ecb306bec0f764c834d
+Author: Brian <brian@i915.localnet.net>
+Date: Thu Aug 2 10:30:32 2007 -0600
+
+ New header file.
+
+commit 51b300c54da63199103c2d7caaf27760d7243621
+Author: Brian <brian@i915.localnet.net>
+Date: Thu Aug 2 10:29:50 2007 -0600
+
+ include st_cb_clear.h
+
+commit e415dced44bd716185e63df0c8c17f57de2b29e2
+Author: Brian <brian@i915.localnet.net>
+Date: Thu Aug 2 10:29:42 2007 -0600
+
+ sketch out clearing with quads
+
+commit 5936b439e88308a2eabb8a5570e91dd8fff89397
+Author: Brian <brian@i915.localnet.net>
+Date: Thu Aug 2 10:29:04 2007 -0600
+
+ add PIPE_MASK_RGBA
+
+commit a6dd731656c7daa9a3d2a020f13001ac4d391a44
+Author: Brian <brian@i915.localnet.net>
+Date: Thu Aug 2 10:01:14 2007 -0600
+
+ comment follow-up
+
+commit d747bf14dded3650da454d418912c921e65f2b9b
+Merge: 1b0e92b a4a0189
+Author: Brian <brian@i915.localnet.net>
+Date: Thu Aug 2 09:17:56 2007 -0600
+
+ Merge branch 'softpipe_0_1_branch' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa into softpipe_0_1_branch
+
+commit 2c3cb693ccb760b7b1b7bb9f37491d1499c97938
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 2 09:08:29 2007 -0600
+
+ fix stencil value masking bug 11805, and fix sizeof() bug
+
+commit e2556b7487cb383e285f6b21c5513edd8c5d37e6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 2 08:44:34 2007 -0600
+
+ remove unnecessary null check (bug 11814)
+
+commit 85421351e65c45249b038214fe8d1ca6b0d69884
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 2 08:40:29 2007 -0600
+
+ fix invalid pointer usage in bezierPatchDeleteList(), bug 11807
+
+commit 89cad79b4186166f4420317472801b73410402f4
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 2 08:38:01 2007 -0600
+
+ fix double free()s (bug 11808)
+
+commit 6e6a02261a7c0fcfdf9fbf17199aff4278c8e5b7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 2 08:35:13 2007 -0600
+
+ s/MAX_TEXTURE_LEVELS/SIS_MAX_TEXTURE_LEVELS/ and add assertion (bug 11806)
+
+commit 6dae3f8c881ae90664fa826032402efb6de1bb8b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 2 08:31:44 2007 -0600
+
+ move code to prevent NULL ptr dereference (bug 11810)
+
+commit c3e6bfc9e27038172fff47f9cc5a8a53ff7038a3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Aug 2 08:29:55 2007 -0600
+
+ Remove some code that was never hit (bug 11811).
+
+ Also added an assertion to check that NR_MAT_ATTRIBS == MAT_ATTRIB_MAX.
+ In the unlikely event this ever changes, maybe restore the code.
+
+commit a4a0189ed6dcf232f544e2ca3ea0fc7f71a68862
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Aug 2 14:53:08 2007 +0100
+
+ Remove intelClear() hack.
+
+ Have added intel_batchbuffer_flush calls to the blit functions. We
+ still shouldn't be calling back into this remnant intel code from the
+ softpipe driver, though, so that will go too at some point.
+
+commit d2bffbb7b5a0b6fe4af17a82cf3e58cce34394b0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Aug 2 14:50:08 2007 +0100
+
+ Remove remnants of i915 texture-from-pbo code.
+
+commit 4f442d9ef5db42867c99a7288b4114a0340f73e6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Aug 2 13:59:31 2007 +0100
+
+ Reroute some clear functionality.
+
+ Still require the intelClear() call to flush batchbuffers. That will be
+ removed later...
+
+commit 46ac4531966e0edf802919def935c4125342e8bf
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Aug 2 11:37:57 2007 +0100
+
+ Fix typo in logic for unalias2()
+
+commit 505453a04e8ba5e394c34401bd9ec320ffce2423
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Thu Aug 2 15:27:13 2007 +0800
+
+ fix fd.o bug #11804
+ glPolygonMode with point sprite on i965
+
+commit 246d1d2522858a1bcf525d64ad165f9af11a2b4d
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Thu Aug 2 14:35:59 2007 +0800
+
+ Fix previous commit
+
+commit 6bf81a5edfa287a396f30188b107ff1761039f3f
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Thu Aug 2 14:26:12 2007 +0800
+
+ EXT_texture_sRGB support on i965
+
+commit 1b0e92b91a66c0188a870fb3ed6c20a8466b6ae9
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Aug 1 16:15:30 2007 -0600
+
+ implement masking in sp_region_fill()
+
+commit 1ecc648398a51f734ef1e3b729595f41cedf29f9
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Aug 1 15:39:19 2007 -0600
+
+ rearrange things in xmesa_clear() a bit
+
+commit 54135597b8a23a7349f5fa3193642758c229777e
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Aug 1 15:38:59 2007 -0600
+
+ get cliprect bounds after softpipe_update_derived()
+
+commit 0c4acfe15a0555a6f3da02ab17e58cc379df11fd
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Aug 1 15:11:59 2007 -0600
+
+ Re-implement intelClear() in terms of softpipe_clear(). Pretty simple/small now.
+
+ Note: softpipe_clear() should really be renamed to something like
+ pipe_clear_with_blits() and put into a driver-indepedent module...
+
+commit 0eb02a1963a25f6994b730147d0613b03424c11e
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Aug 1 14:46:07 2007 -0600
+
+ More work on glClear.
+
+ Add a 'mask' param to region_fill() to help with clearing combined Z/stencil buffers, glColorMask, etc.
+
+commit cddce60e7b14171f7afb204be5c131ce73ce01c5
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Aug 1 13:11:34 2007 -0600
+
+ s/Z24_S8/S8_Z24/
+
+commit 5fd46065915d3958569ebb590104b69886352157
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Aug 1 13:04:58 2007 -0600
+
+ s/Z24_S8/S8_Z24/ (stencil is in the high byte)
+
+commit fb206809ba2a131fd9034e10a00592f2d0d81fce
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Aug 1 12:58:38 2007 -0600
+
+ Checkpoint: glClear changes - working, bug very rough.
+
+commit 394e7575a3e5694ee63008c7a7e0e4b891c181f6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Aug 1 11:27:29 2007 -0600
+
+ fix error code test limit (bug 11795)
+
+commit 261eac3c79d182e4dcd04355fa65215aa576c05f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Aug 1 11:13:25 2007 -0600
+
+ triangle rasterization with frag shader
+
+commit 15b7c9d5badb3dd03980e222475d75c8e13cf05d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Aug 1 11:12:51 2007 -0600
+
+ added trirast program
+
+commit e99b673cb062a2fead92d1d7d373926d148ade71
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Aug 1 15:56:23 2007 +0100
+
+ Build libsoftpipe.a
+
+ Each pipe driver will build to a .a library, as these will optionally
+ be included in the various DRI drivers (this will make more sense once
+ there is at least one hardware driver...). Not strictly necessary for
+ softpipe, but want to minimize the differences between it and
+ actual hw implementations.
+
+commit f761c99d25aa71c4c761c1f876782a81c795fd5c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Aug 1 08:41:51 2007 -0600
+
+ fix mem leak (bug 11793)
+
+commit e9fbf69aeab590d5f292a7ca6bdeb5d2791f9918
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Aug 1 08:40:49 2007 -0600
+
+ fix mem leak (bug 11791)
+
+commit 028a08f563ea9b9039986bafbfaf095fd4a72818
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jul 31 21:06:31 2007 +0100
+
+ Remove unused file intel_render.c
+
+commit e5df28f39a776442d8aeb9530e7cfcfe351d675f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jul 31 21:06:02 2007 +0100
+
+ Remove unused file
+
+commit c5802911df668fb15cbe550219a8f361fbc83b82
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jul 31 21:05:24 2007 +0100
+
+ Remove intel_span.[ch]
+
+commit a6dad044e24358af9fe5764ca7b342f4ed4804db
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Wed Aug 1 11:08:05 2007 +0800
+
+ fix fd.o bug #11788, max point size
+
+commit d28661870a92f0beccd018855030146e01efb02e
+Author: Brian <brian@i915.localnet.net>
+Date: Tue Jul 31 17:55:32 2007 -0600
+
+ sp_z_surface.h is dead
+
+commit 18fbf48a1e71cc26bd2d82a7c26275cf4a81c020
+Author: Brian <brian@i915.localnet.net>
+Date: Tue Jul 31 17:54:56 2007 -0600
+
+ Obsolete.
+
+commit 20adf45c23dd9ec86a1439ad87c1473395bbb1a7
+Author: Brian <brian@i915.localnet.net>
+Date: Tue Jul 31 17:42:03 2007 -0600
+
+ Redesign pipe_surface in terms of pipe_region.
+
+ struct pipe_buffer goes away.
+ Added basic region functions to softpipe to allocate/release malloc'd regions.
+ Surface-related code is fairly coherent now.
+
+commit 2f245bce420c7a6c6928c4927d0f9a5701cde17f
+Author: Brian <brian@i915.localnet.net>
+Date: Tue Jul 31 15:44:50 2007 -0600
+
+ Lift region-related functions up to the pipe interface.
+
+ Some of these functions probably should be driver-private.
+ Note: intel_buffer_object is in p_state.h and should be fixed/removed.
+ There are just a few i915 dependencies in intel_region.c
+
+commit 6fae66715be216f03f1f418d963ae6db8c83885a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 31 14:57:37 2007 -0600
+
+ fix some FreeBSD issues
+
+commit 33891b64a9a00ddfd7b9c57a2020e83449af62e5
+Author: Brian <brian@i915.localnet.net>
+Date: Tue Jul 31 13:42:23 2007 -0600
+
+ re-fix stencil addressing bug
+
+commit 58c1297b22c61d2c9d9c0ae7a6caf97545fe520e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jul 31 20:34:17 2007 +0100
+
+ Add missing files
+
+commit 43d07d8697a0392a57a676d8e70a0b126b124899
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jul 31 20:28:26 2007 +0100
+
+ Remove references to intel_tris.h
+
+commit b4c18efcd0107f62681f06ca0eb26fe8af76ede5
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jul 31 20:22:49 2007 +0100
+
+ Build the "pipe" version of the i915tex driver.
+
+ This hands all rendering off to the softpipe rasterizer.
+
+commit 280cb3713064ccc17417e1a25398ad615dfc53c8
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jul 31 20:06:09 2007 +0100
+
+ A version of the i915tex driver with all drawing code removed.
+
+ This is intended to support the softpipe development work. More code
+ will be removed and pushed into softpipe until this basicially becomes
+ the DRI/GLX interface for that driver.
+
+commit 973985b7ef19cd69c6bd5b85cd22e953d21aa8ae
+Author: Brian <brian@i915.localnet.net>
+Date: Tue Jul 31 13:03:18 2007 -0600
+
+ simplify clear.x1,y2,x2,y2 setup
+
+commit f0b4d9cb24506d637a2e8ed06626277726afb321
+Author: Brian <brian@i915.localnet.net>
+Date: Tue Jul 31 12:49:11 2007 -0600
+
+ In i915/i830_emit_state(), check if state->draw_region is non-null.
+
+ This fixes a problem hit by glClear in the samples/stencil.c program.
+
+commit 6490c7d4aadac7d240d62e2d5c02d8973d69b71f
+Author: Brian <brian@i915.localnet.net>
+Date: Tue Jul 31 11:15:30 2007 -0600
+
+ fix stencil addressing bug
+
+commit da2b82059f56d37893a318d0f7a7f2479db99c59
+Author: Brian <brian@i915.localnet.net>
+Date: Tue Jul 31 10:43:36 2007 -0600
+
+ remove obsolete xmesa_get_stencil_surface() stub
+
+commit 00afb6719938095bbf7daff3062127e4462bacc9
+Author: Brian <brian@i915.localnet.net>
+Date: Tue Jul 31 10:43:16 2007 -0600
+
+ fix comments and param names for intel_miptree_image_map()
+
+commit 616c329e81f03183924b57cb19f027b22c9307f8
+Author: Brian <brian@i915.localnet.net>
+Date: Tue Jul 31 10:42:39 2007 -0600
+
+ fix value returned by intel_new_renderbuffer_fb()
+
+commit 9c61925da0f24dfc5f4cb1ee5d50e18bfe3f39ce
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jul 31 09:22:43 2007 -0700
+
+ bufmgr_fake: eliminate the referenced list, which is now just on_hardware.
+
+commit 5e2acfee78c9e72d67d822974e9986fe99920ccf
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jul 31 09:21:20 2007 -0700
+
+ Don't initialize extensions we can't support when !ttm.
+
+commit 05fe75e61902d0dba93ce8910f2804c196d81ab3
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jul 5 16:57:53 2007 -0700
+
+ Add missing -g in FreeBSD OPT_CFLAGS
+
+commit 8410b3f8f9d7041440db0f178c31a5819b16495c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 31 09:43:57 2007 -0600
+
+ fix failure caused by undeclared variable (bug 11783)
+
+commit 2c0b3d8c4be953e19a04195f53b36cf333e34ec6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 31 09:32:10 2007 -0600
+
+ added sunos5-v9-cc-g++ config
+
+commit 59b1233e7075ff54a2cd183234f2a092eef5cc75
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 31 09:31:41 2007 -0600
+
+ glGetAttribLocation always returned 1 (bug 11774)
+
+commit e66757c8babe6968ea2e506d1214c8063cbd0760
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Tue Jul 31 22:40:42 2007 +0800
+
+ i965: fix bad casts in do_blit_bitmap to support WindowPos correctly
+
+commit ed83159ff46ed6593a367ab93ce8b310dce91b77
+Author: Brian <brian@i915.localnet.net>
+Date: Tue Jul 31 08:22:18 2007 -0600
+
+ fix assertions
+
+commit 9273150f9a8394f4ef630a96f0089ad8cad607f5
+Merge: 9bc1c92 7aefdd5
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jul 31 14:37:45 2007 +0100
+
+ Merge branch 'i915tex_privbuffers' into softpipe_0_1_branch
+
+ Conflicts:
+
+ src/mesa/drivers/dri/i915tex/intel_buffers.c
+ src/mesa/drivers/dri/i915tex/intel_context.c
+ src/mesa/drivers/dri/i915tex/intel_fbo.c
+ src/mesa/drivers/dri/i915tex/intel_pixel_draw.c
+
+commit 9bc1c92a0b809c6b60d5e4a2c8909f5f98528919
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jul 30 21:39:57 2007 -0600
+
+ 32 and z24s8 softpipe buffers
+
+commit 69337ed098bdf0def6820ccdb121b08c0e139085
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Tue Jul 31 09:10:31 2007 +0800
+
+ i965: Use I16_UNORM instead of L16_UNORM (bug 11742)
+
+commit 42c817269a4af535225217d09ec416efb085a94e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jul 30 17:20:02 2007 -0600
+
+ remove some obsolete xmesa remnants
+
+commit f884f6886eb043ea2e2e2b5471afbc58639f3a81
+Merge: 7baa086 4576d75
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jul 30 17:16:38 2007 -0600
+
+ Merge branch 'softpipe_0_1_branch' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa into softpipe_0_1_branch
+
+commit 4576d754c98e3fb5d413e294d48fb70a893defcf
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Jul 30 17:17:44 2007 -0600
+
+ Lots of improvements to the surface-related code.
+
+ Z testing now works with i915 driver.
+ Add gl_renderbuffer::surface pointer (and reverse pointer).
+ Remove intel_surface and xmesa_surface types - no longer used.
+
+commit 6558af67d380f2855b112ea3ce4dded9215c7cf7
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Jul 30 17:15:50 2007 -0600
+
+ compute scale for Z24 buffers
+
+commit 09574bee850edec46d967b7cdbc2073f92b8223d
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Jul 30 14:00:27 2007 -0600
+
+ implement read_quad_f_swz()
+
+commit 7baa0865b114776cc1672c5e97e63c282e25285f
+Merge: 75b8a39 3a35ce3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jul 30 13:46:00 2007 -0600
+
+ Merge branch 'softpipe_0_1_branch' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa into softpipe_0_1_branch
+
+commit 3a35ce336458352653329426c550bfce1ffc3f66
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Jul 30 13:11:52 2007 -0600
+
+ implement surfaces for softpipe rendering
+
+commit f1569bf0d5fcfd4430e13d6d1bd9c60fb44e9535
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Jul 30 13:11:27 2007 -0600
+
+ map/unmap surfaces before/after rendering
+
+commit 1c8905790be301da6d18d2397fd3bbe4a47f987c
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Jul 30 13:11:09 2007 -0600
+
+ remove old comments
+
+commit 737f6e7eb1f90133c81cff83444191df84754e77
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Jul 30 13:10:52 2007 -0600
+
+ disable ProgramStringNotify assertion
+
+commit a548d3cb71116f93d6cd9bc818c57b70ac9d9504
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Jul 30 13:10:12 2007 -0600
+
+ call st_invalidate_state()
+
+commit f38d26fd83a2193c6cba9ce72d912f579b25f5fe
+Author: Brian <brian@i915.localnet.net>
+Date: Mon Jul 30 13:09:53 2007 -0600
+
+ added map/unmap() stubs
+
+commit 982dcb74fd19b88208d127b8019e2a2af979cac2
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Tue Jul 31 00:11:22 2007 +0800
+
+ Fix an error in _save_OBE_DrawElements
+
+ In the case that a buffer object is bound to
+ ELEMENT_ARRARY_BUFFER, it is invalid to directly
+ dereference indices passed to glDrawElements.
+
+commit 2394d20dafdfa308d494fc739c63c6a4e91c8185
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Mon Jul 30 23:50:52 2007 +0800
+
+ Fix an error in _mesa_validate_DrawElements
+
+ The field 'Data' in an obj is NULL in some dri drivers(such
+ as i965). Use mapped pointer instead.
+
+commit 58f9f96c68ab1ebded00302713c1b4495cba7c2c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jul 30 09:01:02 2007 -0600
+
+ New sunos5-v9-cc-gcc config (Roland Egger)
+
+commit 5c6f1f542b82d0d8ff1baa88b2168e5a18bf20e6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jul 30 08:52:57 2007 -0600
+
+ misc comments, clean-ups
+
+commit baac66cb0519cb85373fb079696d44e42d382577
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jul 30 08:13:40 2007 -0600
+
+ remove old comment, minor formatting fixes
+
+commit 501b5305b939ac38177dcd73ec72f4a39296e0c4
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Mon Jul 30 16:30:32 2007 +0800
+
+ handle LSB_FIRST in _mesa_pack_bitmap by the way used in
+ _mesa_unpack_bitmap
+
+commit 775ebb696dffaf6fddc170862ecb375e6cdfcb9c
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Mon Jul 30 16:17:40 2007 +0800
+
+ Fix an error related to glPolygonStipple.
+
+ As glPixelStore(GL_UNPACK) affect the bits into a stipple pattern,
+ hence 128 bytes used to store the pattern in a display list aren't
+ enough sometimes.
+
+commit 60179434d15989b81e2d4757f34033009184a678
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Mon Jul 30 10:18:11 2007 +0800
+
+ ARB sprite point support on i965
+
+commit e5213be78e50db07196facda9f2989d92b9429db
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sun Jul 29 18:28:46 2007 -0600
+
+ added a few more functions
+
+commit eefb04a2b8599d4c5ec033539c1348cbe46154f9
+Author: Jan Dvorak <jan.dvorak@kraxnet.cz>
+Date: Sun Jul 29 18:26:22 2007 -0600
+
+ fix glPointParameteriv bug 11754
+
+commit aa71b8869b914157f3d44ec4eff65b517b595a90
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sun Jul 29 18:04:23 2007 -0600
+
+ Added shader points and shader bitmap demos
+
+commit ab02552cdddf9322bfaf874f85d74e7c174a0f3b
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Sun Jul 29 19:44:55 2007 +0200
+
+ fix cos/sin range reduction for i915 driver too
+
+commit dde814776c1feee30e986858782c14d9b0feeaea
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Sun Jul 29 19:40:50 2007 +0200
+
+ fix range reduction for sin/cos in i915tex (#11609)
+
+commit 7aefdd518578687f961bb512a2b408857f0b9824
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Sun Jul 29 19:40:50 2007 +0200
+
+ fix range reduction for sin/cos in i915tex (#11609)
+
+commit 10f5a6ac85fb5f78069b7314e40a2a23e2636192
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Sun Jul 29 18:31:36 2007 +0200
+
+ fix fallback crashes when driver can't handle frag prog for i915 driver too (untested)
+
+commit a188ba4bf9364df24842d8727f4c7ddb2f894a2c
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Sun Jul 29 18:04:28 2007 +0200
+
+ Fix crashes when the frag prog can't be handled in hardware (#11131)
+
+ Must not change to/from swrast after Render.Start or bad things will happen.
+ (Driver will still somewhat incorrectly report an implementation error,
+ and apps can't really figure out if a prog is natively supported as validation
+ is later - could try doing it earlier to give some hint at least, even though
+ native status may still change later due to fog etc.)
+
+commit 9d2d34b5eabfb7855081ad56fa00b3e0f6b8e631
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Sun Jul 29 18:04:28 2007 +0200
+
+ Fix crashes when the frag prog can't be handled in hardware (#11131)
+
+ Must not change to/from swrast after Render.Start or bad things will happen.
+ (Driver will still somewhat incorrectly report an implementation error,
+ and apps can't really figure out if a prog is natively supported as validation
+ is later - could try doing it earlier to give some hint at least, even though
+ native status may still change later due to fog etc.)
+
+commit 35f35294cd5cc3ca32354b1de0e398ad73c70716
+Author: Zhang <zxpmyth@yahoo.com.cn>
+Date: Fri Jul 27 11:19:35 2007 -0600
+
+ more Mingw32 fixes
+
+commit 75b8a396e5b29e2ee86ab3a5c9590e6db5d28155
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jul 27 11:02:54 2007 -0600
+
+ renaming, comments, clean-up
+
+commit 05ba76757b7349f0c3de2d9ce42c543fa7e931c2
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jul 27 10:50:35 2007 -0600
+
+ Clip triangles against softpipe->cliprect which includes scissor and surface bounds.
+
+ This prevents rendering out of bounds when the viewport is partially outside the surface bounds.
+
+commit 05bde092f39e16463dfbbe038f22f17da4346527
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jul 27 10:25:11 2007 -0600
+
+ remove obsolete comments
+
+commit a0c1d591ab8d19377c7ab784a0472fac00f9fcd3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jul 27 10:21:34 2007 -0600
+
+ Maintain cliprect (scissor) info in sp_state_derived.c.
+
+ The cliprect depends on the scissor rect (if enabled), otherwise the drawing
+ surface bounds.
+
+commit 78ea9cee0d7fd424238ec25f9939d2c955694c0a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jul 27 10:10:49 2007 -0600
+
+ Implement point/line quad clipping. Not quite as efficient as it probably could be, but sufficient for now.
+
+commit 6abdad28f6f6c69158b942fe420a55f12c71fb08
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jul 27 09:27:56 2007 -0600
+
+ check scissor state
+
+commit df23ebbb9fe6aca7263371efc6ab6e6f4c1cf423
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jul 27 09:06:15 2007 -0600
+
+ s/SP_TILE_H/SP_QUAD_H/
+
+commit e1a19781ddd855540aa65142891b23769e6da0f9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jul 27 09:06:02 2007 -0600
+
+ init quad.coverage values to 1.0 in case line AA is enabled so that we see something
+
+commit 87555946478f58111013554e5af5c8844f944420
+Author: michal <michal@michal-laptop.(none)>
+Date: Fri Jul 27 12:50:38 2007 +0200
+
+ Avoid unnecessary input attrib copy by aligning exec_machine attribs.
+
+commit e0a26b046764ae80748b347395ab1b27de83651e
+Merge: 0360b49 e3cef58
+Author: michal <michal@michal-laptop.(none)>
+Date: Fri Jul 27 10:05:40 2007 +0200
+
+ Merge branch 'master' of git+ssh://michal@git.freedesktop.org/git/mesa/mesa into softpipe_0_1_branch
+
+commit 0fb0d9715c9bcdcc3437a64a0f03c1c1153e9f29
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jul 26 16:42:05 2007 -0600
+
+ fix-up inlined/non-inlined function inconsistencies
+
+commit e3cef5887540016a6d198598cb50bebe09e3f4cf
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jul 26 15:32:02 2007 -0600
+
+ Fix function call bug 11731. Also, fix up IR_CALL/IR_FUNC confusion.
+
+commit 9ed040c3c9afe06a8f6b28bc223751e3b2d65fe3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jul 26 11:39:11 2007 -0600
+
+ generate error upon writing to varying var in fragment program (bug 11733)
+
+commit daaee90a26d007e261932c30bcaaca0282ead088
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jul 26 08:22:47 2007 -0600
+
+ clamp float colors
+
+commit 51b728cf9aff383142a2a1e220a7d8963d1ca189
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jul 26 08:22:28 2007 -0600
+
+ fix color interpolation for CHAN_BITS==32
+
+commit efda5cb6263631175aa2efe46df9322b3c5775ee
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jul 26 08:22:09 2007 -0600
+
+ don't use rgba_line() if CHAN_BITS==32
+
+commit 0360b49afbcd839f99ba0745d01cf9dc5be4d122
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jul 25 15:48:09 2007 -0600
+
+ Implement line stippling.
+
+ Also added draw_stage::reset_line_stipple(). There may be a better way
+ of doing that though.
+
+commit 1f6b4b0f75d7cd7306e6aa24c27fd478f6b6c52d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jul 25 14:32:28 2007 -0600
+
+ rename some vars
+
+commit 8b2955b736086103ac0d184a4b3f89d8ab8baab1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jul 25 14:28:24 2007 -0600
+
+ implement DDX, DDY instructions
+
+commit be8725321ccbc4ca5f52afc9a3e257c91f43a119
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jul 25 14:27:38 2007 -0600
+
+ Fix pinterp() to compute 1 / FRAG_ATTRIB_WPOS.w Update comments too.
+
+commit d24e60a6b10ab3cb365e9c8f9dc0b36864bd485d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jul 25 12:15:02 2007 -0600
+
+ patch things up enough to allow texture sampling to work
+
+commit 9a4cc2e90595a41d3d3cb6a752e4b5a089a213d2
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jul 25 10:12:23 2007 -0700
+
+ Add notes about bufmgr initialization failures.
+
+commit eb9a5b6d5127858b01ec12672c999e7d25cd7aed
+Merge: 55f8b70 03ec41d
+Author: Jouk <joukj@tarantella.(none)>
+Date: Wed Jul 25 10:16:11 2007 +0200
+
+ Merge branch 'master' of git+ssh://joukj@git.freedesktop.org/git/mesa/mesa
+
+commit 03ec41ddc51e539c989a546f33d22daa2af69095
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 24 17:45:14 2007 -0600
+
+ remove unused MAX_3D_TEXTURE_SIZE, reformattting
+
+commit a502c08a255391311c64fa4c39d5026005206d2b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 24 17:10:30 2007 -0600
+
+ use consistent indentation
+
+commit 2eb9061f73523c3cfc2d77db789afa804c68ee7f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 24 16:50:46 2007 -0600
+
+ check return value of tgsi_parse_init()
+
+commit ed52adc64ed13583162a997f13f3bc4624feb5ee
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 24 16:50:00 2007 -0600
+
+ added PROGRAM_NAMED_PARAM in map_register_file()
+
+commit 3ffd30638a3be1fafc976cc5d640022c734b0458
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 24 16:49:41 2007 -0600
+
+ added GL_FRAGMENT_PROGRAM_NV in st_new_program()
+
+commit 496ee38b7130c55cbdddb1456f8ad618897bd711
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 24 15:39:41 2007 -0600
+
+ Add VF_ATTRIB_VAR0..7 for varying variables.
+
+ The demos/fslight.c demo runs now.
+
+commit 5c2cff44d22c09e018a4b43a51cf6781ce4ca5b9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 24 15:38:41 2007 -0600
+
+ added PROGRAM_UNIFORM to map_register_file()
+
+commit 6a235d3fe5ccaa8cd0d4a2f3356c1513006dadcb
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 24 14:45:57 2007 -0600
+
+ comments
+
+commit 8c99f7ba61fcc95ef22d8ccd8cce3e31eaa67757
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 24 14:45:38 2007 -0600
+
+ s/GLuint/GLbitfield/
+
+commit 1475d74cfba634cf24da30e48fe66de9c2d75d55
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 24 14:44:44 2007 -0600
+
+ Compute need_z and need_w properly and use the correct const/linear/perspective interpolation in shade_quad().
+
+commit 2de4c7573efe7bdccea48448c37a9f28124b8df7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 24 14:31:16 2007 -0600
+
+ Fix a typo (i << i) that was fouling up the vertex layout info.
+
+commit 67b61520ce1fabe2256e606ea73729f44d57fa99
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 24 13:48:20 2007 -0600
+
+ added missing OPCODE_ARL to TGSI_OPCODES[], added sanity check assertion
+
+commit 3af7876521e23152bc82f42f00e1a1d51bd37812
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 24 12:28:01 2007 -0600
+
+ added code to test per-vertex colors
+
+commit 43d7c1fe9d2544b851afa2f1c1e245a63860e670
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 24 12:27:38 2007 -0600
+
+ Basic fragment programs run now.
+
+ Handling of constants might change. For now, the st_fragment_program struct
+ contains a pipe_constant_buffer (not a pointer).
+
+commit ef3849ffa0af7f2aad8a69a7d04a4dd780fa247b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 24 12:12:52 2007 -0600
+
+ rebuild quad pipeline when framebuffer changes too
+
+commit 9110dbd9b2b598183815ed113dd690051d42e5f0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 24 10:00:29 2007 -0600
+
+ simple fragment shader test
+
+commit 47fafcf06f04c0db2d9908f30cfce6cd564d8973
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 24 09:58:19 2007 -0600
+
+ use enabled/linked fragment shader in preference to a fragment program
+
+commit 4477a01372c87b84e859c7522501d55a62f11b88
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 24 09:57:26 2007 -0600
+
+ call ctx->Driver.NewProgram() instead of _mesa_new_program()
+
+commit 5b6858c023fca9d8eefce78121aabd9aad108e09
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 24 09:56:44 2007 -0600
+
+ call ctx->Driver.NewProgram() instead of _mesa_new_program()
+
+commit ffc633c469d5056a8f3766243279cdf64b0f98c3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 24 09:19:22 2007 -0600
+
+ fix logic error, typos
+
+commit 5b737b7df21b418c71f71af987a20c495b1133f8
+Merge: f0636d9 98eaf55
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 24 09:17:59 2007 -0600
+
+ Merge branch 'softpipe_0_1_branch' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa into softpipe_0_1_branch
+
+commit c702a7100e2aa83241e89850a97bcc23e1c6fedb
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Tue Jul 24 11:09:34 2007 +0800
+
+ DDX DDY support, not very accurate
+
+commit da2f1e88bc63403a95b89706905c070b7c894863
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jul 23 16:51:57 2007 -0600
+
+ fix GLX_STEREO handling (bug 11705)
+
+commit 98eaf5503d0d7c4f18fab6910a08aba7a3d08639
+Author: michal <michal@michal-laptop.(none)>
+Date: Mon Jul 23 18:26:25 2007 +0200
+
+ Execute fs tokens.
+ Fix align128 bug.
+
+commit 76fb8089103e9dba9aaa7232c86d864d5874a08f
+Author: Zhang <zxpmyth@yahoo.com.cn>
+Date: Sat Jul 21 11:28:06 2007 -0600
+
+ Fix a number of MINGW32 issues
+
+commit af2aa8e9cf88a9ee3ec338eddc9a47bf2f142cb7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Jul 21 10:06:18 2007 -0600
+
+ Remove ctx->Point._Size and ctx->Line._Width.
+
+ The clamping for these values depends on whether we're drawing AA or non-AA
+ points, lines. Defer clamping until drawing time. Drivers could compute and
+ keep clamped AA and clamped non-AA values if desired.
+
+commit 5842bc3bf9e33333b122ce7fd6bf108aab780111
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sat Jul 21 10:04:14 2007 -0600
+
+ remove VC6/VC7 project files until updated
+
+commit 36fce66034887009749c3d52587c293da2457820
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Sat Jul 21 16:51:15 2007 +0200
+
+ set the _BaseFormat for window-framebuffers, could hit some assertion otherwise
+
+commit 82fceba231a03b3b7284d5356d7bc1d10c366026
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Fri Jul 20 11:34:26 2007 +0200
+
+ fix bogus recently introduced function param comments
+
+commit 118bd626b10d213eb022ac2618bf2efc5fe734d1
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Fri Jul 20 11:34:26 2007 +0200
+
+ fix bogus recently introduced function param comments
+
+commit 97cd87ef74eb06aa8da52be42871120cca145269
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Fri Jul 20 11:33:24 2007 +0200
+
+ minor cleanups, disable debugging
+
+commit 4824c342c864e870251a7d343c95e51274e50d23
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jul 19 20:24:55 2007 +0100
+
+ Trigger tgsi compilation for fragment programs.
+
+ Not sure the generated program looks correct though...
+
+commit e0850e52eed52ff4e2acac6b31a7c456eb9716a0
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Thu Jul 19 18:11:48 2007 +0200
+
+ remove some more really old ifdefed out code...
+
+commit a1bc0d0f51c2aa248a349283c3b86ae2c72af4aa
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Wed Jul 18 20:17:14 2007 +0200
+
+ fix mesa's handling of fbo's / window fb (again)
+
+ Make sure the relevant fields in window fbs get updated at appropriate time
+ (those are NOT the same as fbos!!!), and fix up related code accordingly.
+ This is a bit ugly, but there's a reason the issues section in EXT_fbo is
+ a couple hundred pages long...
+ Hopefully correct now.
+
+commit 6075df53b5435ddada989d776d989132def363a6
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Wed Jul 18 18:07:12 2007 +0200
+
+ more fixes for mesa's fbo handling (fixes tests/fbotest1/2)
+
+commit f9ac01eac511aa9ea0b8b48774022a08d0fc2f3b
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Thu Jul 19 17:58:21 2007 +0200
+
+ fix up mesa's probably bogus framebuffer updates with different read/write fbs
+
+ Conflicts:
+
+ src/mesa/main/framebuffer.c
+
+commit dbfb375805d94cb80262b8816c67a8adc778bec5
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Tue Jul 17 17:29:55 2007 +0200
+
+ fix mesa fb binding
+
+ Make sure that we bind the right buffer (draw or read) when rebinding
+ the window framebuffer (the api doesn't allow binding different draw and
+ read buffers at the same time, but the default window framebuffer is basically
+ 2 fb objects, one for read, one for write, which can be different). Pass both
+ of these two down the driver api (no driver uses this right now).
+
+commit b9f2cf9a4e0a5ec89b27371210846942c93cb412
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Tue Jul 17 12:56:30 2007 +0200
+
+ increase MAX_RELOCS so never run out before batch buffer is full (fixes xdemos/shape)
+
+commit 79ddb7f9a27421089efea090de6c41d2d630bb8f
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Thu Jul 19 17:42:14 2007 +0200
+
+ more cleanups (looks pretty reasonable now)
+
+ remove some already ifdefed out, no longer functional and used code.
+ Don't do our own scissor clipping in the pixeldraw/copy paths,
+ as meas already does that for us...
+
+commit da21eff86be088852457cdcb725aed5337c4519d
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Thu Jul 19 16:41:14 2007 +0200
+
+ fix drawables not getting freed if context is made current with new drawables
+
+commit 131a03631208afb1fce90292eb27115511f58257
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Wed Jul 18 20:17:14 2007 +0200
+
+ fix mesa's handling of fbo's / window fb (again)
+
+ Make sure the relevant fields in window fbs get updated at appropriate time
+ (those are NOT the same as fbos!!!), and fix up related code accordingly.
+ This is a bit ugly, but there's a reason the issues section in EXT_fbo is
+ a couple hundred pages long...
+ Hopefully correct now.
+
+commit 3f318c2eb98cf7216ae7033806fa764ac40192bf
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Wed Jul 18 18:07:12 2007 +0200
+
+ more fixes for mesa's fbo handling (fixes tests/fbotest1/2)
+
+commit ccb713cdb8831617880ac71ac357361b586d05c6
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Wed Jul 18 15:18:43 2007 +0200
+
+ swapbuffers with non-current contexts, cleanups
+
+ manywin got broken (when intelPageflip got no longer called).
+ Make sure that intelFlush is getting called when a context gets unbound,
+ to handle later swapbuffer calls on that context's drawable better.
+ Related, fix non-current cliprects getting used on unbound drawables.
+
+commit 0b48ce450eef91a9fcf6681260beb1090e0ef9d1
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed Jul 18 02:59:08 2007 +0000
+
+ r300: Oops, made a mistake on commit fb4e071beda6e3b9e68a21bbc7649b6c4733c485.
+
+commit 86ece0a920d8afa870608a25745be8d03b7cccb6
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed Jul 18 02:49:26 2007 +0000
+
+ r300: Cleaned up vertprog construction.
+
+ Construct the vertprog instruction in the 4 DWORD parts...
+
+ DWORD 0: Opcode and Output.
+ DWORD 1: First Argument.
+ DWORD 2: Second Argument.
+ DWORD 3: Third Argument.
+
+ Allow the opcode translation functions to generate more than one instruction;
+ useful for when an instruction must be emulated. FLR, XPD, etc.
+
+commit fb4e071beda6e3b9e68a21bbc7649b6c4733c485
+Author: Tommy Schultz Lassen <mesa3d@krynn.dk>
+Date: Wed Jul 18 00:37:43 2007 +0000
+
+ r300: Corrected texcoord start when BFC1 is enabled.
+
+commit c5a8bc712542d24a035aa8fe58cf3c28c7c6fbd1
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Tue Jul 17 20:06:44 2007 +0200
+
+ get rid of checks for old ddx
+
+commit 7664105fc2a27ae0862edff66a0a5a33e4111fe1
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Tue Jul 17 19:49:25 2007 +0200
+
+ remove some more old stuff
+
+commit 881d71495b893516d685e3c68b60c0aa2742d2a7
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Tue Jul 17 19:37:05 2007 +0200
+
+ get rid of more pageflip/rotation code.
+
+commit a8bf93e00e28031d7e2444f79df2686f262b4420
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Tue Jul 17 19:22:23 2007 +0200
+
+ fix up mesa's probably bogus framebuffer updates with different read/write fbs
+
+commit d9499a151df85fef6bb6f31b58657e44cadba50a
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Tue Jul 17 17:29:55 2007 +0200
+
+ fix mesa fb binding
+
+ Make sure that we bind the right buffer (draw or read) when rebinding
+ the window framebuffer (the api doesn't allow binding different draw and
+ read buffers at the same time, but the default window framebuffer is basically
+ 2 fb objects, one for read, one for write, which can be different). Pass both
+ of these two down the driver api (no driver uses this right now).
+
+commit 04d49ff24d0f9c7c3a99c45b50f62aa32b0a28ed
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Tue Jul 17 15:56:43 2007 +0200
+
+ remove old code, remaining bits of static handles, disable (no longer functional anyway) rotation code
+
+commit 4dd8e2648d7ec8634d1005aae2da562b57b0267f
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Tue Jul 17 12:56:30 2007 +0200
+
+ increase MAX_RELOCS so never run out before batch buffer is full (fixes xdemos/shape)
+
+commit 6101fe641cd506422d0b2735dfcaa61174684ec4
+Merge: bb1b016 7b410f3
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jul 17 11:06:31 2007 +0100
+
+ Merge branch 'origin' into softpipe_0_1_branch
+
+commit bb1b01616b6cb9b0a1cab74e10940ce346cb8a3d
+Merge: 2bf4a50 20cf13e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jul 17 11:06:02 2007 +0100
+
+ Merge branch 'i915tex_privbuffers' into softpipe_0_1_branch
+
+commit c6d042acc94411b63f922ef68f24aa5426c0a69e
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Tue Jul 17 16:52:03 2007 +0800
+
+ Fix SOP in fragment shader, brick is ok now.
+
+commit 3c00cdc5f37856f303a6256677364ae89200c509
+Merge: 24e7acd 7b410f3
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Tue Jul 17 15:42:39 2007 +0800
+
+ Merge branch 'master' of git+ssh://znh@git.freedesktop.org/git/mesa/mesa into 965-glsl
+
+commit 24e7acd5e4f1e7e71909f94fd1f075abd268d086
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Tue Jul 17 11:25:37 2007 +0800
+
+ bumpmap sample is correct now
+
+commit 719cf0b7958d0dedf8727c97eaddb6a1f31977e1
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Tue Jul 17 11:19:52 2007 +0800
+
+ Use ProgramStringNotify
+
+commit 7b410f366fa117a03a7e838562215d2dca3f8cbc
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Mon Jul 16 21:43:39 2007 +0000
+
+ r300: Corrected some progs/fp/* regressions from the BFC patch.
+
+ I'm not completely sure this is correct; it restores the old behaviour.
+
+commit 8a016d213029ff4714a79e03a3b4922d70f54e80
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Mon Jul 16 20:24:41 2007 +0000
+
+ r300: Use _mesa_num_inst_src_regs for number of arguments.
+
+commit f66775184b0be00cd0ac1163d2e9d4d656746af2
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Mon Jul 16 20:07:30 2007 +0000
+
+ r300: Corrected vertprog FLR and XPD instruction regression.
+
+commit 3eba764df8b2b61588244e1e5457926062df065d
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Mon Jul 16 19:20:32 2007 +0000
+
+ r300: Added code for vertprog opcode ARL.
+
+commit 611674ed692c219baeb6005373fe0fbf3c111ab4
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Mon Jul 16 19:13:46 2007 +0000
+
+ r300: Don't need vertprog scalar flag anymore; it's handled explicitly...
+
+commit b89a5c6e064d42e54c8748a35069b46460e4a6a9
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Mon Jul 16 19:10:13 2007 +0000
+
+ r300: Removed broken RCC vertprog opcode.
+
+commit 15f1609922d727f722a6d319c7df579b3ef77ed2
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Mon Jul 16 19:09:29 2007 +0000
+
+ r300: More vertprog rework; give each opcode it's own function.
+
+commit cc9cf90b090b80e51ac03af6fe113287e083accd
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Mon Jul 16 20:53:33 2007 +0200
+
+ fix resize bugs (fb size updated too late), fix typos, cleanups...
+
+commit 5fc7973d5493039e4b3037eae10e9a005d4cf717
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Mon Jul 16 19:01:47 2007 +0200
+
+ small cleanups
+
+commit 39766010cd35b1c58ce8f03b3679b20398eacb1b
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Mon Jul 16 16:21:21 2007 +0000
+
+ Revert "r300: Gracefully exit after GART memory is exhausted."
+
+ This reverts commit 9457bf62bbba3b9226ebbbea5dc7798ca22485f6.
+
+ Causes the X server to die with Compiz and Beryl.
+
+commit cc85860ccb44ac0a5a08217b9c9ba3fcef3b3a52
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Mon Jul 16 16:17:50 2007 +0000
+
+ r300: Reorder the vertprog code to the ARB specification.
+
+commit cbfe29cdee5d338a25f13abbbb191b80428d05c8
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Mon Jul 16 18:21:36 2007 +0200
+
+ fix bogus fb/drawable information
+
+ the framebuffer objects attached to drawables can have invalidate state
+ associated with them, since for the window framebuffer this is per-context
+ state and not per-fbo state. Since drivers rely on that information
+ (otherwise would need to check if currently the window-framebuffer is
+ bound in a lot of places) fix it up in _mesa_make_current (ugly).
+ (Brought over from i915tex_privbuffers, where it fixes xdemos/wincopy
+ when switching to front buffer rendering.)
+
+commit fb3b9060d48934ca4faa72e966c00aee627ce96d
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Mon Jul 16 18:09:30 2007 +0200
+
+ fix segfault with i915 drivers in swrast drawpixels path when resizing windows
+
+commit d895c5a08f18c8b550631f7c735c2dafaf8ec785
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Mon Jul 16 15:42:16 2007 +0000
+
+ r300: Use the R300_PVS_UPLOAD_* defines.
+
+commit 894557d625b6813dfb23602b96fde6a59d3db54e
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Mon Jul 16 17:41:22 2007 +0200
+
+ get rid of more cliprects...
+
+commit 4013382ea2ab08b7904ad908f7b66d2a737b59da
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Mon Jul 16 15:39:12 2007 +0000
+
+ r300: Added the clip plane upload defines.
+
+commit 56cbdfd7d541e5d99b7e7c4fb7b03ac6ac1536a1
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Mon Jul 16 15:53:23 2007 +0200
+
+ more cliprect elimination (swrast span)
+
+commit 6104044f6bd9464b5972234f95801ca6ba5db510
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Mon Jul 16 15:33:09 2007 +0200
+
+ get rid of more fake cliprects (drawpixel), and enable blit draw with scissor
+
+commit 81c333adbcb5c853d2f9e864f701080279977ac6
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Mon Jul 16 12:21:38 2007 +0000
+
+ r300: Enable the vertprog point size again.
+
+commit 8b93d9238e4dd51acaf95c4744d5f6a795d9d35c
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Mon Jul 16 13:57:49 2007 +0200
+
+ get rid of more cliprects (readpixel)...
+
+commit 03105d7b3edb5ab7c77925fdfce832882a7191ab
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Mon Jul 16 11:34:40 2007 +0000
+
+ r300: Corrected position bug with position invariant option. Bug #11594.
+
+commit d69cae95a072d3641bd8340a5216662e0365ed6f
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Mon Jul 16 11:51:08 2007 +0200
+
+ allow blit path for read pixels if pack->alignment isn't 1.
+
+ pack->alignment doesn't matter usually if the image is sufficiently aligned
+ anyway. Speeds up some tests/readrate cases by a factor of 100 (since
+ the pack->alignment default which noone ever bothers to change is 4).
+
+commit aa9d77ca3c89c2b8119149ff3d49eec226dc80d1
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Mon Jul 16 07:17:22 2007 +0000
+
+ r300: Removed Vim modeline I left in the file by mistake. :-)
+
+commit 72581241a85081d6103158c484c18d356935b46c
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Mon Jul 16 07:12:29 2007 +0000
+
+ r300: Make sure the modified value of u_temp_i is respected.
+
+commit 87855fb32cf7df0162720fc71976d3d23c0dbba6
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Mon Jul 16 06:38:12 2007 +0000
+
+ r300: Added a function for vertex program default opcode translation.
+
+commit ddb74cb443913a159ec800891710f18d4700d398
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Mon Jul 16 06:33:53 2007 +0000
+
+ r300: Clean up the vertex program maximum length check.
+
+commit d0b3f3ce817700286e059bb24caa12b09e7ec954
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Mon Jul 16 06:27:29 2007 +0000
+
+ r300: Corrected indenting in r300_vertprog.c.
+
+commit 79773ba13ac75fcdf12f187eead41ff35d75d6c0
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Mon Jul 16 06:16:35 2007 +0000
+
+ r300: Major vertex program code clean up and rework.
+
+commit b0f0b4044cae50af3443e1bfeb87b2d7d6042913
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Mon Jul 16 05:04:10 2007 +0000
+
+ r300: Replaced the ugly VERTEX_SHADER_INSTRUCTION typedef.
+
+commit 99c7e38d8363eafe2fc079ed6e7bad289d65e965
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Sun Jul 15 22:53:59 2007 +0200
+
+ change back driver change from previous commit
+
+commit a1ec23a30f3ff9583b32428c2c357b9ef66f3a50
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Sun Jul 15 22:47:42 2007 +0200
+
+ fix bogus fb/drawable information (fixes xdemos/wincopy)
+
+ the framebuffer objects attached to drawables can have invalidate state
+ associated with them, since for the window framebuffer this is per-context
+ state and not per-fbo state. Since drivers may rely on that information
+ (otherwise would need to check if currently the window-framebuffer is
+ bound in a lot of places) fix it up in _mesa_make_current (ugly).
+
+commit 8172f50419b370c4608d1bbc6cac4d77e3e45804
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Sun Jul 15 20:15:19 2007 +0200
+
+ fix the texture copypixels path
+
+commit cd3afa2a952a9ec05fb9fa959dfe90d620bd2d88
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Sun Jul 15 18:17:36 2007 +0200
+
+ begin getting rid of fake clip rects (copy_pixel)
+
+commit 9457bf62bbba3b9226ebbbea5dc7798ca22485f6
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sun Jul 15 01:17:54 2007 +0000
+
+ r300: Gracefully exit after GART memory is exhausted.
+
+commit 393558a933670705f9d3482fd976393a2baca957
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sat Jul 14 18:31:29 2007 +0000
+
+ r300: Disable vertex program point size; it's almost certainly wrong.
+
+ See the conversation between myself and Tommy Schultz Lassen on mesa3d-dev.
+
+commit 491f646c798ec2f20ba5a6adc600bc7ea92ddf24
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sat Jul 14 18:11:45 2007 +0000
+
+ r300: Clean up the vertex program output assignment.
+
+commit 24f85f047b8b9e9b465bd3f9af2cc113582bfc0d
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Sat Jul 14 18:54:22 2007 +0200
+
+ nouveau: nv10 and nv11,15 are different
+
+commit a04056d313a8346dc9e6e1b062762a6f115d1b46
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Sat Jul 14 14:24:20 2007 +0200
+
+ fix assertion, z/stencil swarst readback, (still looks suspicious) copyTexSubimage
+
+commit 5a0f02a394cec0603fe48de55f4cbe323d2357e0
+Author: Jan Dvorak <jan.dvorak@kraxnet.cz>
+Date: Fri Jul 13 16:36:00 2007 -0600
+
+ fix shader/info string length queries (bug 11588)
+
+commit f0636d9653d142bdf71475d2d2066f5c7c436978
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jul 13 14:28:15 2007 -0600
+
+ Fix setup.light_twoside determination.
+
+ When a vertex program is used, use value of GL_VERTEX_PROGRAM_TWO_SIDE.
+ Otherwise, if FF lighting, use value of GL_LIGHT_MODEL_TWO_SIDE.
+
+commit a2e471e05e452454f78db7a5fbc6845f6ca39f35
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jul 13 14:25:28 2007 -0600
+
+ press 'f' to toggle front-face winding
+
+commit dc313b578386dc07f4916fba98da061af3ab18e5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jul 13 14:22:46 2007 -0600
+
+ Fix more polygon winding, culling confusion.
+
+ If the determinant of the triangle is positive, its winding is CCW (right-handed coord system).
+
+commit f022bff5aa828cfdbb4749f672fc51c345f9cb33
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Fri Jul 13 20:47:17 2007 +0200
+
+ bugfixes (wrt fb updates), cleanups
+
+ move drawable validation back to where it was now that the driDrawable
+ information isn't used directly anymore.
+ Fix bogus fb updates (the context we get for SwapBuffer processing
+ may not have the drawable being processed attached!)
+ glthreads behaves a bit better but still not correct.
+
+commit 2bf4a500de24347476ce96cdd48d68ddeecbb019
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jul 13 12:28:42 2007 -0600
+
+ Fix for-loop in interp() so we don't go out of bounds.
+
+ Improved comments for that loop.
+ Added some sanity check assertions regarding vertex layout.
+
+commit 5810b40d6e9aae6b184879a99c67f83107fc6637
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jul 13 12:26:09 2007 -0600
+
+ set INTERP_CONSTANT when appropriate
+
+ Not really signficant now since draw_flat stage copies the provoking
+ vertex color to all prim verts.
+
+commit a47b5764c0d801fb9fc23ee80c698ff042006cb6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jul 13 12:23:34 2007 -0600
+
+ comments
+
+commit a6eccf9e4f4d4815e004db9c8c61c5cdac63bbfd
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jul 13 11:16:13 2007 -0600
+
+ Enable Keith's branch-less stipple code - it works.
+
+commit 80362a90d8ad1fca14d7276169fc962f953d936d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jul 13 11:15:10 2007 -0600
+
+ Add 'prim' field to quad so that stipple and aa coverage stages can do the right thing.
+
+commit 46bba80a54afbcabc0f064433cc2194473661c30
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jul 13 10:33:48 2007 -0600
+
+ Implement AA points and AA coverage application in quad pipeline.
+
+commit 5796056e289c5a698a1883586c7acde36f86618f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jul 13 10:32:56 2007 -0600
+
+ press 's' to toggle smoothing
+
+commit 563479552e2f491fb94e7fac5772f3c72cee962a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jul 13 09:25:57 2007 -0600
+
+ Added basic occlusion counting
+
+commit 676fcf0de270651311a6b812e98f2e71d7dae925
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jul 13 09:23:41 2007 -0600
+
+ minor rename
+
+commit 8fcfaa3238599f5a9b28794b748b8417e042c597
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Jul 13 23:39:24 2007 +1000
+
+ Play "nuke the typedef"
+
+commit aa0f415c8d5d79d0763fca49d91b1963bf0975f6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jul 13 11:28:42 2007 +0100
+
+ Add conditional-free implementation (disabled, not tested)
+
+commit 60a21f6c54788c0f22fd1cf4a4a13e1af389f3e6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jul 13 11:27:57 2007 +0100
+
+ Simplify slightly.
+
+ Don't bother trying to save a small memcpy.
+
+commit 5ec66cf62dab00a50499bc8d2a666146a334a3cb
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Fri Jul 13 09:39:23 2007 +0000
+
+ Revert "r300: Corrected off-by-one error in r300_vertprog.c."
+
+ This reverts commit 07ac2386f5c0ab9c2432d4b5e3490b1e13d033fc.
+
+commit 07ac2386f5c0ab9c2432d4b5e3490b1e13d033fc
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Fri Jul 13 04:58:32 2007 +0000
+
+ r300: Corrected off-by-one error in r300_vertprog.c.
+
+commit 42dcdb9372f541f35c06920368946ebe24696fc4
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Fri Jul 13 02:11:58 2007 +0000
+
+ r300: Moved some hardware initialization into appropriate functions.
+
+commit 08a005e076d4520f564881e4c7e54b47cc7e20c3
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Fri Jul 13 01:45:05 2007 +0000
+
+ r300: Use a switch statement in r300UpdateCulling.
+
+commit 4b08b9c3e9da922d80aaff4720ed2dec026c012e
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Thu Jul 12 23:52:06 2007 +0000
+
+ r300: Setup the back facing color bits correctly.
+
+ Apparently for back facing color to work you must set all 3 color bits; I guess
+ the hardware cannot handle them separately.
+
+commit 7c4c82fc6d5301e27643868517aeb23fcb5c40e6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jul 12 21:32:35 2007 -0600
+
+ fix width/depth mix-up (bug 11577)
+
+commit f0f9a22609ccf2b8edc5760480f1a7a78cb504d7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jul 12 16:17:14 2007 -0600
+
+ minor changes, comments about multiple color buffers, MRT.
+
+commit f5eb25e9c7b09612766255f2e2059f3df2bf2095
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jul 12 14:50:53 2007 -0600
+
+ fix swizzle-related bug 11534
+
+commit a48d767cf2ec82d0c0f893a22d22e8593901b206
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jul 12 14:13:48 2007 -0600
+
+ Add a quad 'bufloop' stage to handle glDrawBuffer(GL_FRONT_AND_BACK).
+
+ This removes the notion of multiple color buffers from all other stages.
+ Will need a bit more work when shaders with multiple render targets arrive.
+
+commit 8b6517abfc20dc508c2a4cb1f6f22f34a8a70805
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Thu Jul 12 21:52:02 2007 +0200
+
+ don't use driDrawable information directly, don't resize at makecurrent
+
+ driDrawable information now isn't used in most parts of the driver.
+ makecurrent only updates fb information when the context is new
+ (driDrawable is still updated by the dri common code).
+
+commit e8ceb5a2eb174f5444eaf5f52925fa161ea7d0a9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jul 12 13:44:43 2007 -0600
+
+ XXX comment about skipping stipple for points/lines
+
+commit c78f372b1720cf17b0112d7c3296020044bef97b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jul 12 13:43:33 2007 -0600
+
+ s/prim_setup/sp_draw_render_stage/, new comments
+
+commit 4f218958cc0bc57196a748cb005f94aeeace037c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jul 12 13:33:33 2007 -0600
+
+ Remove dead code
+
+commit ea470eec86715cd2bc9aa86d36e6ea803d0d4017
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jul 12 13:32:31 2007 -0600
+
+ Rename prim_stage -> draw_stage
+
+commit 86352ff70d8c9a31fe0ebb4d02ce4bb4644fe54a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jul 12 12:20:14 2007 -0600
+
+ Added colormask, dither, multisample state. Implement colormasking stage.
+
+commit bd5533bb7c90d8da06f6a1c38bdc84bb607c5b85
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jul 12 11:59:43 2007 -0600
+
+ front/back-face determination was wrong
+
+commit 9e94e9b7980b08038d7d4c6b76b8f184d70ba163
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jul 12 11:59:15 2007 -0600
+
+ culling was inverted
+
+commit 62f5f18b3e5b80b6d9592442dc3c994d590c782d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jul 12 11:50:52 2007 -0600
+
+ handle edge flags for GL_POLYGONs
+
+commit 5b06424a1507dadad8832d557e79f68a3b68b9c2
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jul 12 10:43:33 2007 -0600
+
+ fix MIN/MAX mix-up
+
+commit e5dd38942989475f7fd8936a98738bbd57de6b50
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Thu Jul 12 18:36:41 2007 +0200
+
+ nv20 also don't support viewport_origin, like nv10
+
+commit cd8613e59d2d27b5f41d23d978afe8e33d206447
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Thu Jul 12 11:08:17 2007 +1000
+
+ nouveau: match drm 0.0.9 interface
+
+commit 3ffa09b09dfd55c64cb98bd8e7bab0370f93cdbd
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jul 11 16:33:15 2007 -0600
+
+ clean-up of stencil code
+
+commit b755a2d9de5b7977c410a904a8adb7c07c88f82a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jul 11 16:19:51 2007 -0600
+
+ Minor clean-up of polygon offset logic. Properly compute _MRD field.
+
+commit 34f6243beff6a66a76814638db68897eb719dd30
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jul 11 13:11:47 2007 -0600
+
+ Improve this demo in a few ways.
+
+ 1. Use more reasonable hither/yon clip planes to make better use of shallow
+ (16-bit) z buffers.
+ 2. Use different colors on cube faces to help detect Z fighting if it occurs.
+ 3. Report GL_DEPTH_BITS on start-up.
+
+commit 2371ed36f7761c4fa452e51a41947ed34f2b661b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jul 11 16:17:23 2007 -0600
+
+ remove unused hw_data_offset
+
+commit 46d75518fa4d0cb59dd73a9cd22bfd128ecb2c79
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jul 11 13:13:00 2007 -0600
+
+ disable debug printfs
+
+commit 8db689350d9789a754c59b00f68b53f5a7e978ee
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jul 11 13:12:33 2007 -0600
+
+ remove glDepthFunc(GL_LEQUAL) change from prev commit
+
+commit aac212966314852936352b024bfd897485aa5e83
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jul 11 13:02:03 2007 -0600
+
+ Fix broken depth offset.
+
+ The edge vectors were totally wrong.
+ Need to multiply bias units by the min resolvable depth delta.
+
+commit 9870f7bccc55f9b1728fa8b9ed78a72ab15d7f4f
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Wed Jul 11 20:18:51 2007 +0200
+
+ restrict blitted area to size of rendered area
+
+commit ee7fece05462e3cc00b4f24069748c1401fcacef
+Author: Tommy Schultz Lassen <mesa3d@krynn.dk>
+Date: Wed Jul 11 17:37:12 2007 +0000
+
+ r300: Added support for Back Facing Color.
+
+commit 4bd04c9851097ff4dfbfd73f6c62e1bc4143fc0d
+Author: Tommy Schultz Lassen <mesa3d@krynn.dk>
+Date: Wed Jul 11 17:35:35 2007 +0000
+
+ r300: Corrected r300UpdateCulling; would only set font face if culling was set.
+
+commit bc4dd63f12059813f6de832e335521eb766f4afb
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jul 11 11:36:22 2007 -0600
+
+ Obsolete file.
+
+commit e89bd0fbc56ecfb96f3aff926c5891c45221dd37
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jul 11 11:34:19 2007 -0600
+
+ Implement polygon stipple state tracking, application.
+
+commit 922dadf422440e120c7123a728454e517289e430
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Wed Jul 11 19:25:32 2007 +0200
+
+ nouveau: nv20 does not support hw scissors
+
+commit 20cf13e03b1703937b4228aba8355b34d664aafb
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jul 11 17:01:30 2007 +0100
+
+ Fix screen corruption on resize.
+
+ Move buffer resize check to immediately after swapbuffers.
+
+ Update cliprects inside the locked region of swapbuffers.
+
+commit 300e97081e7e752c0ff9133149d15935baac7a46
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jul 11 09:56:46 2007 -0600
+
+ need to clamp floats to [0,1] in write functions
+
+commit d6aa360eddec0463f3563eff07b06c5d60037826
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jul 11 09:52:32 2007 -0600
+
+ fix stencil logic error, use proper front/back face value
+
+commit 0ac0fb91bd711ec80a058ab23bfe8011baa0a487
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jul 11 09:52:00 2007 -0600
+
+ Compute quad.facing from prim->det and polygon winding.
+
+ Updated comments/questions about area vs. prim->det.
+
+commit fb67b1609e211ed16828e10ffc1c36e54f655112
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Wed Jul 11 17:30:01 2007 +0200
+
+ remove bogus assertion, change drawable updates
+
+ don't update driDrawable information until later at all
+ (blit needs fixing).
+
+commit eb2a896f68e5402764955a30b949d8408d435e73
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Wed Jul 11 16:08:14 2007 +0200
+
+ drop some more code no longer needed
+
+commit 43e24ff50773575d28763d899a4f25bb430418b5
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Wed Jul 11 14:20:39 2007 +0200
+
+ some fixes, fake frontbuffer
+
+ still doesn't work quite right (resize).
+ Fake frontbuffer doesn't copy in real frontbuffer.
+ Don't even think about doing rotation/page flip/triple buffering for now...
+ More cleanups needed (fake cliprects etc.)
+
+commit 73daa688541ec88119804ad190ce5b429e50ea44
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 10 18:59:17 2007 -0600
+
+ Checkpoint: stencil roughly working, some bugs to fix...
+
+commit a8ec5dac3c8c564b1c405798f7703e0d8e650f2d
+Author: Arthur Huillet <arthur.huillet@free.fr>
+Date: Wed Jul 11 02:48:40 2007 +0200
+
+ bumped nouveau DRM interface version number
+
+commit e6eca5c37e13fd0f9100de127075b1bbed0821c0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 10 16:37:18 2007 -0600
+
+ Begin hooking up stenciling.
+
+commit 227c95737bcf373f934bb96aa0777c45c8575074
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 10 16:37:03 2007 -0600
+
+ clean-ups
+
+commit d015d2e0f45ad8e79ccb256b612597ef8ed51d4a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 10 16:25:43 2007 -0600
+
+ Fill in remaining switch cases. Only call next stage if quad->mask != 0.
+
+commit 093d1b42d0d867dae1bcb59d36f3f309994badff
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 10 15:29:17 2007 -0600
+
+ remove debug printf
+
+commit a49a23efc5e320d8c9aa6f4f39be855632aa5cb8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 10 15:24:31 2007 -0600
+
+ Fix line clipping bug. New comments.
+
+ Need to use a new prim_header for the post-clipped line. Otherwise,
+ we were changing the header passed to us from the vb code. That messed
+ up the vertex pointers for the next line primitive.
+
+commit 985e37eedb9e91fce00a08e3ba961a052d8fa898
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 10 14:46:15 2007 -0600
+
+ clean-up, comments
+
+commit 13aa51de41a93fff1aa5050cebec2a6e0985b45a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 10 14:38:10 2007 -0600
+
+ clamp after offsetting, new comments
+
+commit 6aa9c8ebc19ffa4425669862caeb99b22c079090
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 10 14:36:10 2007 -0600
+
+ remove unneeded casts, added comments
+
+commit 1deafdb1dec24c2920ab92098f1433273b2ccbdd
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 10 13:53:21 2007 -0600
+
+ Do depth testing with integer values.
+
+ Using floats (and float->ushort->float conversion) introduces errors.
+ Only GLushort depth buffers work for now...
+
+commit f6dffd6ee70473dcbf65420a9c635049199f7a4e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 10 13:34:23 2007 -0600
+
+ fix problems with polygon offset
+
+commit 5e4379b5a430bcaf7dea4814341830fce0820cb1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 10 13:33:45 2007 -0600
+
+ comments, clean-up
+
+commit 1278514ff48b262ee0a4f2ac698c6df648b326a0
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Tue Jul 10 19:56:44 2007 +0200
+
+ copybuffer/cliprect fixups
+
+commit 720c0eb71db9908c5ecef15263c2ae638d61d07b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 10 11:54:16 2007 -0600
+
+ added comments
+
+commit 1fe4cf83cd929a0ecc1119d3bb541e80618d3987
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 10 11:54:03 2007 -0600
+
+ Fix front/back mix-up. added comments.
+
+commit 24b68f4184c1f899f21038508068631184ca736a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 10 11:53:27 2007 -0600
+
+ press 'f' to toggle GL_CCW/GL_CW front face
+
+commit 9a89cc3b6b575a209bae535900e18dfb16e66e98
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 10 11:39:08 2007 -0600
+
+ use 'c' to cycle through polygon cull modes
+
+commit 8733ee9dc961f8726f338baabbe83601897c57b0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 10 11:33:10 2007 -0600
+
+ use cursor keys to translate triangle
+
+commit 17b86cfa4e9403b2d887d832556dc4f1a1271ce0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 10 11:03:51 2007 -0600
+
+ Comments, minor clean-up.
+
+commit e7a208514812506eeb9862b91258392da646b618
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 10 11:00:24 2007 -0600
+
+ comments
+
+commit 57a53856522b749dbe9f88f5887933c253524212
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 10 10:53:57 2007 -0600
+
+ Added comments, assertions.
+
+commit 8c1fa904edf991159a53b0f4bba04e2f5e326437
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 10 10:53:29 2007 -0600
+
+ Fix EMIT_ATTR() to populate the draw->vf_attr_to_slot[] array.
+
+ Note that attribute index has to be biased by two, since vertex->data[]
+ starts after the header and clipcoord fields. See comments for details.
+ Added a bunch of comments/docs.
+
+commit d68ea4e23fd0cf1fedabb667a8067bfdc3fb308c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 10 10:24:28 2007 -0600
+
+ remove some dead/disabled stuff
+
+commit d348a48ac353d7c646a0c4f976f23a764990e779
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Tue Jul 10 18:07:38 2007 +0200
+
+ First attempt at using private back/z buffers.
+
+ Allocate and use private back and z/stencil buffers.
+ This is still very broken.
+
+commit 7c42222111d3697ea8d76e3d94d7455c69c7f2d1
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue Jul 10 11:02:18 2007 +0200
+
+ i915tex: Better procedure for dropping batchbuffer on virtual resolution change.
+
+ The previous procedure would often result in a GPU lockup.
+
+commit f1e1b2ed167b63409a88ba489418e407fce68f21
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue Jul 10 10:54:51 2007 +0200
+
+ i915tex: Only wait for vblank when really necessary.
+
+ This avoids superfluous waits for vblank timing out under some circumstances.
+
+commit a903749b246fce26038c66d06fe7eb77daf815ab
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue Jul 10 10:49:28 2007 +0200
+
+ Clear pointers to freed cliprects.
+
+ Not doing this could lead to double frees under rare circumstances.
+
+commit f4053ce858739167fe57a36aebe1da7110d1a04e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jul 9 16:21:18 2007 -0600
+
+ Remove softpipe includes
+
+commit ebafc193fac22c4d1d8d4f1c5a129d5dbe1679a2
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jul 9 16:20:16 2007 -0600
+
+ s/G_/SP_/
+
+commit a380f98b6cc1da78d0845746ab86c3490a800126
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jul 9 16:17:50 2007 -0600
+
+ Rename G_NEW_* tokens to SP_NEW_*
+
+commit 546eff6ba81e0fc8f15038de6db2a2a5fe228e01
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jul 9 16:15:20 2007 -0600
+
+ Obsolete file.
+
+commit 279ffe3f163fd6a5e7bfa108db14c81acbb06ece
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jul 9 16:14:26 2007 -0600
+
+ New 'draw' module for primitive drawing (clipping, culling, etc).
+
+commit 9fbdf500788e78d63247a17226a75f7a079ae315
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jul 9 16:12:13 2007 -0600
+
+ New 'draw' module for handling the various stages of primitive drawing (clipping, culling, etc).
+
+commit 10f4b37bd70c12c8caaa85ff5b94aec532788abd
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jul 9 16:04:08 2007 -0600
+
+ Rename/move some files to modularize the primitive/draw code.
+
+commit aa328291c5b015e74ebfd9c5cdb39227265b3000
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sun Jul 8 09:58:18 2007 -0600
+
+ Fix size test bug in _mesa_test_proxy_teximage().
+
+ width/height/depth == 0 is a legal texture size (no error generated).
+ Later, the texture will be considered incomplete, however, and texturing
+ will effectively be disabled.
+ See bug 11309.
+
+commit 37ece4df7c654b30b6720044b35a83694d7e5bb3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sun Jul 8 09:20:42 2007 -0600
+
+ Check if 'indices' parameter is NULL (bug 11314)
+
+commit 25cfb68f0b3baf0e74d1f6a37afab46370f6711b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sun Jul 8 09:02:36 2007 -0600
+
+ Change float depthScale param to _mesa_unpack_depth_span() to GLuint depthMax.
+
+commit 64359af07188c06dcc6a9a95ba05f7e8209a7379
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Sun Jul 8 08:53:19 2007 -0600
+
+ check depthScale value for optimized ushort->uint case (fixes bug 11474)
+
+commit a164d3aee063580503e5e9a77980059d52c486d7
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jul 6 16:51:19 2007 -0600
+
+ In _swsetup_Translate(), update dest->attrib[FRAG_ATTRIB_COL0].
+
+ Also, check if we're in RGB vs. CI mode. This fixes a problem with
+ incorrect rendering color seen with the redbook/polys demo.
+
+commit 0bf2479aef5def4d01bfc55b08992f41664f1431
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jul 6 16:50:13 2007 -0600
+
+ Add case for GL_QUADS in i915_reduced_primitive_state().
+
+ The t_dd_tritemp.h code can emit GL_QUADS primitives. We need to catch
+ that case to determine if polygon stipple should be enabled.
+ Fixes bug reported by Carlos Diógenes on 4 July 2007.
+
+commit f0aa6654e27b279ecb29e9fd19c140cb1ac7946f
+Merge: 69501d7 f98bdfc
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Sat Jul 7 00:08:35 2007 +0200
+
+ Merge branch 'master' of git+ssh://pmandin@git.freedesktop.org/git/mesa/mesa
+
+commit 69501d76fc6a45da48bf4c416ac9e15edd44e7a9
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Fri Jul 6 23:59:29 2007 +0200
+
+ NV_17 is different from NV_10
+
+commit 2adcd5bdd2ac4931bbbfd16140800330d3fd14f8
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Fri Jul 6 23:55:51 2007 +0200
+
+ NV1X don't support VIEWPORT_ORIGIN in hardware
+
+commit d086f7ab2e38fc2b5398aed6823453ae53e5dcb8
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Jul 6 12:01:33 2007 -0700
+
+ bufmgr_ttm: hook up destroy function, track buffer names.
+
+commit f98bdfca574478837b33c97d131dad4833e3ee12
+Author: Xavier Bachelot <xavier@bachelot.org>
+Date: Fri Jul 6 12:56:21 2007 -0600
+
+ call glutInit(), bug 11486
+
+commit 9b32c33e9d87e4571e85efdbb14c6a98a090cae6
+Author: michal <michal@michal-laptop.(none)>
+Date: Fri Jul 6 18:57:47 2007 +0200
+
+ Fix function names.
+
+commit 6d8fb1a54301e846c5ff5185ec0aa3b5d4cba823
+Author: michal <michal@michal-laptop.(none)>
+Date: Fri Jul 6 18:53:55 2007 +0200
+
+ Indent.
+ Fix function prototype.
+
+commit 3b8bc1f46758d4da9155419fcf558a493e729501
+Merge: ffe5873 ffa2659
+Author: michal <michal@michal-laptop.(none)>
+Date: Fri Jul 6 17:53:44 2007 +0200
+
+ Merge branch 'master' of git+ssh://michal@git.freedesktop.org/git/mesa/mesa into softpipe_0_1_branch
+
+commit f7643b96e9e526a7610dec51650546e4b916ccd2
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jul 5 15:45:49 2007 -0700
+
+ bufmgr_fake: Keep the bufmgr lock held while freeing a block.
+
+commit 23e0ca2ebb0d123c7a40bb8b3687adb407c95504
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jul 5 13:56:38 2007 -0700
+
+ Fix copy'n'pasteo that broke display lists.
+
+commit 3cf20ddbfc9d3a1dad4c058050595c54589257d3
+Merge: 2ac17c6 4fe48b4
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jul 5 11:36:44 2007 -0700
+
+ Merge branch 'i915-unification' of git+ssh://people.freedesktop.org/~anholt/mesa into i915-unification
+
+commit ffe58739da9eee2e99682747cc8f26e412c87430
+Author: michal <michal@michal-laptop.(none)>
+Date: Thu Jul 5 19:55:38 2007 +0200
+
+ Softpipe: import TGSI tree. Not hooked-up yet.
+
+commit ffa2659204121f703208782ff225a22e0c21b173
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jul 5 09:37:46 2007 -0600
+
+ stencil pixel map didn't work in _mesa_unpack_stencil_span(), bug 11475
+
+commit 575f3e918f00bdc0faa4a173820015b24175696f
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Thu Jul 5 11:10:24 2007 +0800
+
+ support "discard";
+
+commit c223c6b663cd5db39ba19c2be74b88cc3b8f53f3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jul 4 13:15:20 2007 -0600
+
+ Be more consistant with paths in #includes. Eventually, eliminate a bunch of -I flags.
+
+commit e8e5d9effe879482c0e7b65bfed9eafde0803ae0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jul 4 09:23:12 2007 -0600
+
+ support more modes, added -f cmd line option
+
+commit 9aa8223605989eec99bc58a7e69ef2f7a9f7f15d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jul 4 09:22:15 2007 -0600
+
+ assorted clean-ups
+
+commit bd9db5eed2cca6cd394c88adf09c70204be9da33
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Jul 4 07:37:14 2007 -0600
+
+ fix LogicOp/bitmap problem, bug 11133
+
+commit 22b0b2f47e36f66dd8f332d922c4b1c8672dbe70
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 3 15:46:38 2007 -0600
+
+ add fbdev/ to DEMO_FILES
+
+commit 5657fc5b4c6581166430f1a5144f1f8b7e4e78eb
+Author: Dave Airlie <airlied@linux.ie>
+Date: Wed Jul 4 15:29:31 2007 +1000
+
+ r300: only init swtcl on tcl-less cards
+
+commit fb9ee9b323bff93973a39560b2bc007aace4bddd
+Merge: 285b326 7ff4359
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Wed Jul 4 10:52:35 2007 +0800
+
+ Merge branch 'master' of git+ssh://znh@git.freedesktop.org/git/mesa/mesa into 965-glsl
+
+commit 285b326c606e9b2f90e4fe177b15b3fa23239b86
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Wed Jul 4 10:51:57 2007 +0800
+
+ fix issue with output as src register.
+
+commit ac5523a9c31efbb89e58ef99da47b0d81a21409c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 3 17:31:59 2007 -0600
+
+ SIMD comments
+
+commit 284efcfc27aaeb447e0898ae3342e9fee20c584a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 3 17:19:30 2007 -0600
+
+ hook in state tracking for blend color
+
+commit d378a2c0b87dfc0bee0e8310312fec566148cb63
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 3 17:13:45 2007 -0600
+
+ added blend_color
+
+commit 111880798a7b67b79af3f7986e3297268c4b778a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 3 17:13:04 2007 -0600
+
+ Blend MIN/MAX modes are special: the src/dest terms are always one.
+
+commit f6d4f5e1e9d626356311e1868b35b79d355af739
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 3 17:12:11 2007 -0600
+
+ Rewrite blending in terms of SIMD operations.
+
+commit 7ff4359a3be1278b26950f96ab23014a667af838
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 3 11:41:56 2007 -0600
+
+ added vec2(vec4) constructor, bug 11404
+
+commit a36b5c6d4700a0eaa8c2430f1121babafe9294ed
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 3 11:41:21 2007 -0600
+
+ add code for stpq, rgba writemasks in make_writemask(), bug 11404
+
+commit a813f654872380547faf67fba75fa30792f87ea6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 3 10:58:03 2007 -0600
+
+ clarify that line_stipple_factor is in [0,255] corresponding to GL's range of [1,256].
+
+commit 3d04682b7a729ff4471528a57a6bdf64d235a43e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 3 10:06:13 2007 -0600
+
+ fix StepX/StepY typo
+
+commit f9b53f648d12ef7e4505d8303e14b90ebd444872
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jul 3 08:53:49 2007 -0600
+
+ use _mesa_unpack_stencil_span() in draw_stencil_pixels(), bug 11457
+
+commit 9a45176dd85a1cd523498efeebd0481950a1bf58
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Tue Jul 3 14:27:41 2007 +0200
+
+ fix GL_DOT3_RGBA texture combiner mode in generated fragment programs (bug #11030)
+
+commit 4fc02ad000a0948ab77306980492924f5beebc0a
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Tue Jul 3 15:27:43 2007 +0800
+
+ Fix a nasty bug...
+
+commit ea92566ed9cabf5eb5d0993b39c4372d5bfcf3f1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jul 2 15:32:12 2007 -0600
+
+ rename a few structs (use _state suffix consistantly), reorder/sort fields in some structs
+
+commit 9220255d75f14e8bea0c4e677d138f002aec55eb
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jul 2 10:16:02 2007 -0600
+
+ add const to wglSetPixelFormat() to match .h declaration
+
+commit 06542019a86d4b9e4f4dfb7a73aa131910465230
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jul 2 08:46:57 2007 -0600
+
+ avoid unnecessary clamping of depth values (bug 11448)
+
+commit 6257ed8663eddb4ebdf99ba69cfe2ced82182ed3
+Author: Dave Airlie <airlied@nx6125b.(none)>
+Date: Mon Jul 2 17:21:45 2007 +1000
+
+ r300: fix compiz crash on swtcl - doesn't fix compiz though.
+
+ Compiz for some reason looks like ass, everything with textures
+ looks like it has a 2x width/height multiplier on the texture coords...
+
+commit a49570794ab12b42633ecf94faad28abdcbb5bbd
+Author: Claudio Ciccani <klan@directfb.org>
+Date: Sun Jul 1 12:24:44 2007 +0200
+
+ Compute the amount of time to sleep on idle event using timers as reference.
+
+commit 33da6cb133dfcfa434a1360123ecf683af329fa0
+Author: Claudio Ciccani <klan@directfb.org>
+Date: Sun Jul 1 12:23:12 2007 +0200
+
+ Fixed initialization of render buffer and deinitialization of context.
+
+commit ad1903808037b21eda002857a478c68399ba4519
+Author: Dave Airlie <airlied@nx6125b.(none)>
+Date: Sun Jul 1 19:27:26 2007 +1000
+
+ r300: oops wrong logic for swtcl
+
+commit 0caee6b006aa2982f743bd60391d2c5406e167b7
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sun Jul 1 18:52:47 2007 +1000
+
+ r300: oops turn back off cmd buf debugging
+
+commit f556b7f84c47d9b32d7daa3e1559c92e47305eb2
+Merge: f4b103d 646ed82
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sun Jul 1 18:50:14 2007 +1000
+
+ Merge branch 'r300-swtcl'
+
+commit 646ed82e6b2c092c6db364bf87d6881f39e83eec
+Author: Dave Airlie <airlied@nx6125b.(none)>
+Date: Sun Jul 1 18:46:39 2007 +1000
+
+ fix tabbing
+
+commit 6564e4bffac60a500ac55b6b5ff01919fa28ca0b
+Author: Dave Airlie <airlied@nx6125b.(none)>
+Date: Sun Jul 1 18:43:22 2007 +1000
+
+ r300: add authorship
+
+commit 2d5313db72354ef52e5d041c8c2efac52efc12a9
+Author: Dave Airlie <airlied@nx6125b.(none)>
+Date: Sun Jul 1 18:42:27 2007 +1000
+
+ r300: remove some unused code
+
+commit b691d460465f992dc3febde06593341f192be970
+Author: Dave Airlie <airlied@nx6125b.(none)>
+Date: Sun Jul 1 18:40:26 2007 +1000
+
+ r300: cleanup some of the swtcl code
+
+commit 8f7478e5cb28912f81ec302a3c1b80733a3a6df3
+Author: Dave Airlie <airlied@nx6125b.(none)>
+Date: Sun Jul 1 18:29:23 2007 +1000
+
+ r300: fixup manytex, we needed to emit the vic/vir/vof every time
+
+commit 885c1326c3ae10b7196d2f7e95f1b6400fe29e12
+Author: Dave Airlie <airlied@nx6125b.(none)>
+Date: Sun Jul 1 17:15:50 2007 +1000
+
+ r300: fix tabbing
+
+commit f4b103dc993491355ec3e3640d9cb060138175c2
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jun 29 21:52:18 2007 -0600
+
+ simplify INIT_SPAN code
+
+commit fcc77d3ece160743e3f0f034ce2e130030c6386d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jun 29 21:33:59 2007 -0600
+
+ s/SPAN_RGBA/SPAN_INDEX/ in clear_ci_buffer_with_masking()
+
+commit 9dca42a4a10acbf1980c0f2eafb3e28e11ca1bf3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jun 29 21:29:30 2007 -0600
+
+ Undo some prev glDraw/CopyPixel changes which fixed a bug in which colors were overwritten by interpolating attributes.
+
+ Now just set the span->arrayAttribs mask in glDraw/CopyPixels and be sure
+ we don't overwrite the values in interpolate_active_attribs().
+
+commit fb4f4e2d186fac24cafa5e637461042706d4a123
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jun 29 21:13:20 2007 -0600
+
+ Obsolete
+
+commit fc5bf536440efeb9766cc1fd6e69642bc27afbd8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jun 29 21:12:46 2007 -0600
+
+ overhaul point rasterization, no longer use s_pointtemp.h
+
+commit d523a04853fe9924d8dbf86da08019d17d4f58ef
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jun 29 13:10:47 2007 -0600
+
+ added buffer_data(), buffer_sub_data() to pipe_buffer
+
+commit e62cf5c69ab605b78324639f5455ac9921e68dba
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jun 29 13:03:01 2007 -0600
+
+ more work on tex objects, surfaces, mappable buffers
+
+commit 48076dc784c910dfee1ebaa6970375495209b839
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jun 29 12:59:58 2007 -0600
+
+ added texture types and mapping types
+
+commit 34cbcf92af902ac96553a0578badac5140417daa
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jun 29 12:59:02 2007 -0600
+
+ texture object construction
+
+commit 16fdae16b6c34dd93867e98320152fbaac71139e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jun 29 12:16:37 2007 -0600
+
+ s/G_CONTEXT_H/SP_CONTEXT_H/
+
+commit 66d0784f13cb3af68341f7349c5798ba1f955fc3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jun 29 07:52:43 2007 -0600
+
+ regenerated
+
+commit 5e4a0f42f243cd5fbc8718660d78705e8c70808f
+Author: Ben Skeggs <darktama@nisroch.keine.ath.cx>
+Date: Sun Jun 10 03:05:05 2007 +1000
+
+ nouveau: match drm changes (0.0.7)
+
+commit 17e81bda6ed1d2cc4e5c0fad895030911b4fa53c
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Fri Jun 8 13:27:57 2007 +1000
+
+ nouveau: NV30_TCL viewport/scissor fixes
+
+commit 02dd2221b648f7ce03dca47965764c71ccfba4b1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jun 28 16:44:24 2007 -0600
+
+ bring over 7.0 doc changes
+
+commit 767cac149441ee0a8423713a9817c7ac154cbf9e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jun 28 16:34:40 2007 -0600
+
+ Add a few missing GL 2.0 entrypoints, regenerate related files.
+
+ Specifically:
+ glVertexAttrib4bv
+ glVertexAttrib4iv
+ glVertexAttrib4ubv
+ glVertexAttrib4uiv
+ glVertexAttrib4usv
+
+commit 37aca21129d87946d2dc6b45fa5bacd514921550
+Author: zhang <zxpmyth@yahoo.com.cn>
+Date: Thu Jun 28 08:12:52 2007 -0600
+
+ a variety of fixes for MingW
+
+commit b0b02507b42ca43a7c9d9e9a10c2f49fc6f8d8ba
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jun 28 07:18:43 2007 -0600
+
+ remove t_save_api.c and some other obsolete files, may be more
+
+commit 2233d4c1ee53f1cfd016b68d8249b8d934ef17ee
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jun 28 07:15:37 2007 -0600
+
+ remove obsolete t_save_api.c
+
+commit 3b10f50efb0eaad546e8d1aa9316e43914cd6c25
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jun 28 07:15:11 2007 -0600
+
+ use larger point/sprite size
+
+commit 1a55e97c9c1734f0808e4ed570be3826dba24417
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jun 28 07:13:39 2007 -0600
+
+ increase MAX_POINT_SIZE to 60
+
+commit 3156854c25cb41d7651a992cf30d42bfce04d593
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jun 28 07:13:20 2007 -0600
+
+ XXX comment about point clamping
+
+commit 369d6654d4cdac7bf964918b2412c71d977bcbf5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jun 28 07:12:55 2007 -0600
+
+ added comment, remove dead code
+
+commit 1be17dc446aa6b0770d76a3eccf79d0faf6608c0
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jun 26 17:35:24 2007 -0600
+
+ consolidate point/line state into pipe_setup_state
+
+commit 192f9ab81b3e2c88812f540c7a5c820e3783ff8a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jun 25 09:46:04 2007 -0600
+
+ fix logic error in updating of quad's Z values. Basic depth testing works now
+
+commit 363e6020429f31d6b923fcd05407d7f3e36bc9ba
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jun 25 09:45:10 2007 -0600
+
+ clean-ups
+
+commit 0717daf4f9861647ae486e0231a56df529630c76
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jun 25 09:44:28 2007 -0600
+
+ emit quad->outputs.depth[], hack need_z
+
+commit 8f6d06d037524f012416da5b56889e74bcf09f8f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jun 25 09:43:02 2007 -0600
+
+ code for functional Z buffer surface
+
+commit 05b2297befccb67acc30bd74f8d7586fc88014d1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jun 25 09:41:49 2007 -0600
+
+ better triangle Z coords
+
+commit e92903e24c245df80245776ed9423bd933a97740
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed Jun 20 14:24:04 2007 +0000
+
+ r300: Initial work on merging the real and generated vertex program functions.
+
+commit 43e601206d9618eb5f9ec9660d9a7e0fa22feff0
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed Jun 20 12:42:19 2007 +0000
+
+ r300: Should use inst_count not 0 for R300_PVS_CNTL_3_PROGRAM_UNKNOWN_SHIFT.
+
+commit 62b83638a5ffe4df25994ce5f36c493d51da046e
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed Jun 20 12:23:47 2007 +0000
+
+ r300: The vpi, vpp, and vps counts are already initialized; don't do it twice.
+
+commit b41ef5506153fc2cd471341b4ad1eda2338f2438
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed Jun 20 12:13:44 2007 +0000
+
+ r300: Clean up the vertex program state code slightly; still needs lots of work.
+
+commit 252fc61e4860f6a539faaf48f7d657d7d2242fbe
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed Jun 20 12:03:42 2007 +0000
+
+ r300: Vertex program position end bits are known.
+
+ Possibly performance may improve by setting it to the last instruction that
+ writes result.position, rather than the last instruction in the vertex program.
+
+commit 27c8488526c5b3b0606cb5a3fbfac7a82246c0bd
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed Jun 20 11:45:07 2007 +0000
+
+ r300: Removed unused vap_param structure.
+
+commit 804d3a8f6eaa0beee1504c3e6fbda5dae9f79299
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed Jun 20 11:42:53 2007 +0000
+
+ r300: Cleaned up long lines in the vertex functions.
+
+commit 909091b7dc2ee2875807a1d3ebcb9732fdfeaab3
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed Jun 20 03:02:34 2007 +0000
+
+ r300: Setup the default state for polygon offset point/line.
+
+ I believe there are still bugs with all polygon offset types. The point and line
+ types may need to be handled specially, too.
+
+ This shouldn't break anything because it just enabled the occlusion control bits
+ for polygon offset.
+
+commit bf334d852d60b9a5ea21234a816d0acb03f1b48c
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed Jun 20 02:37:44 2007 +0000
+
+ r300: Cleaned up the r300SetupVertexShader function.
+
+commit 204f9e3fdb83fa9ef94c6e94a5fbd0dfa8d3b3dc
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed Jun 20 02:31:35 2007 +0000
+
+ r300: Cleaned up the r300SetupPixelShader function.
+
+commit 381b86329e827ea81e4a7e8a99c4aaa21c5ec8ac
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sun Jun 17 02:04:58 2007 +0000
+
+ r300: Trivial clean up in radeon_lock.h.
+
+commit c2577bb1a0a2381789759420576af7b4c8acdfeb
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Jun 24 10:32:48 2007 +0100
+
+ Restructure z test code slightly.
+
+ Make the logic slightly closer to an eventual SSE or SPE implementation.
+
+commit 5eb2015a966e52dc0dabfe2c2e923bb5b354ffce
+Author: Dave Airlie <airlied@nx6125b.(none)>
+Date: Sun Jun 24 17:21:26 2007 +1000
+
+ r300: 2288 is a tcl only reg
+
+commit 5d69aeb0028f44d06093faede5c545908b0df89a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jun 22 13:37:47 2007 -0600
+
+ initial texture object, texture format code
+
+commit 13682d959ddacde1ce65843aa8c5b43dc9017b32
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jun 22 13:08:49 2007 -0600
+
+ more texture sampler work
+
+commit 8754b59667f8196eb884113ef1427b0792de47fd
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jun 22 12:49:23 2007 -0600
+
+ added blend comments
+
+commit f79c225d9e5adee6287a9bba35f014c3fe00d3f9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jun 22 12:47:04 2007 -0600
+
+ Assorted token renaming/removal, minor state changes, etc.
+
+commit 1a413b4d7765bbdc5e922659a4cc8aa17b1feb2d
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Jun 22 10:29:54 2007 -0700
+
+ Use -pthread instead of -lpthread on FreeBSD.
+
+commit 1d52b6aaf41b32aaf8d1cdf5a3cd5ff4ecba28f4
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jun 22 09:47:30 2007 -0600
+
+ fix bug rendering points with fragment program (see #11330)
+
+commit 1bf507656921f216a69599143f1aef9bbb170b4e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jun 22 08:02:46 2007 -0600
+
+ Fix feedback color bug #11332. In feedback mode, produce float colors.
+
+commit 0f7f6e4e9586b792548349567ba1646fcf1cac44
+Author: Dave Airlie <airlied@linux.ie>
+Date: Fri Jun 22 19:18:04 2007 +1000
+
+ clean up cache flush emission into one place
+
+ makes gears work with swtcl
+
+commit 493ed9fc11a2bf272a2c1e9e5a072e4f02b46554
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jun 21 20:08:10 2007 -0600
+
+ alpha test and misc changes
+
+commit 6a3ed5eb9655ef7e9f188077375f882a7d74a7ce
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jun 21 18:11:29 2007 -0600
+
+ Random state-change / primitive rendering. Good for hammering on a driver...
+
+commit 578559822e9a19ae4f981b95c7b01906af560507
+Merge: 4d528e5 93becd8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jun 21 16:06:06 2007 -0600
+
+ Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa
+
+commit 93becd8a18f6ccf2f86e506ee36fc0bb75787c29
+Author: Brian <brian@i915.localnet.net>
+Date: Thu Jun 21 16:04:02 2007 -0600
+
+ fix rgba pointer bug hit on zoomed+fogged glDrawPixels
+
+commit 4d528e54549fb3f12462f9c5ec6e033f1ec91b0f
+Merge: f9c17ec ed5ed6f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu Jun 21 16:04:04 2007 -0600
+
+ Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa
+
+commit 4fe48b4e8568896cdbc822323aeec0a41c72ff2a
+Merge: 5d9dc02 ed5ed6f
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jun 21 14:14:24 2007 -0700
+
+ Merge branch 'origin' into i915-unification
+
+commit 5d9dc02cbecd94f822f853fd01878784596f4eba
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jun 21 12:57:15 2007 -0700
+
+ Reset saved state for disasm when we've lost the context.
+
+commit f3f29d632e8a51914b87e087d6ab4d1d6f47b7d7
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jun 21 12:53:07 2007 -0700
+
+ Add decoding of inline primitives in debug output.
+
+commit f972f58d8003de9495af82e7927fb962f460b083
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jun 21 11:44:48 2007 -0700
+
+ Improve fake bufmgr debugging, and don't try to migrate static buffers.
+
+commit 1a49cd7f5b22eb326b25bddf24a02f68b8150a8d
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu Jun 21 09:49:24 2007 -0700
+
+ Add missing i915_disasm.h header and adjust copyright formatting on the .c
+
+commit ed5ed6fe2f64f45eb3a43f9c57037d9e9b7fa5ea
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Thu Jun 21 15:53:26 2007 +0000
+
+ r300: Corrected a bug in r300LineWidth.
+
+ Thanks to Panagiotis Papadakos for reporting it.
+
+commit 171dcdfa27dda30916a7f9bfed89577feee5d350
+Author: Brian <brian@i915.localnet.net>
+Date: Thu Jun 21 09:15:32 2007 -0600
+
+ Another round of fixing attribute interpolation for glDraw/CopyPixels.
+
+ Need to turn off FRAG_BIT_COL0 in swrast->_ActiveAttribMask when doing
+ glRead/CopyPixels to prevent the user's colors from getting overwritten
+ when a fragment program is active.
+ This was happening in the DRI drivers when MaintainTexEnv program was
+ used (the texenv fragment program was enabled when _swrast_DrawPixels was
+ called).
+ This still isn't an ideal solution, but fixes things for now.
+
+commit fe11b2c04bf206bd50654c31e6789519c6c07563
+Author: Brian <brian@i915.localnet.net>
+Date: Thu Jun 21 09:11:43 2007 -0600
+
+ rename _swrast_update_fragment_attribs()
+
+commit 41d28d97f5916ff1bdaae525c4de0e53e2dc470c
+Author: Dave Airlie <airlied@nx6125b.(none)>
+Date: Thu Jun 21 18:35:25 2007 +1000
+
+ clean up color0 code
+
+commit 36235e5ff169985e010659f0e5af0ab9bf6bbf3d
+Author: Dave Airlie <airlied@nx6125b.(none)>
+Date: Thu Jun 21 18:35:00 2007 +1000
+
+ add a mem use for current dma buffer
+
+commit faab84cfa6576a166c93d92e3faf3f3582a3a4bd
+Author: Dave Airlie <airlied@nx6125b.(none)>
+Date: Thu Jun 21 15:07:31 2007 +1000
+
+ fix unfilled tris/quads
+
+commit d3ef71166d032d1f77f0d83eaca76fbf612ac79c
+Author: Dave Airlie <airlied@nx6125b.(none)>
+Date: Thu Jun 21 14:43:53 2007 +1000
+
+ ensure cmd buffer space
+
+commit d1be4ab80fc266ba6792ef1151d4bdf804cff92a
+Author: Dave Airlie <airlied@nx6125b.(none)>
+Date: Thu Jun 21 14:20:33 2007 +1000
+
+ fix up vertex emission before state change
+
+commit d19d0596daf004b56d80f78fa1a329b43c2ebf94
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Thu Jun 21 10:22:28 2007 +0800
+
+ support branch and loop in pixel shader
+ most of the sample working with some small modification
+
+commit 025efae411a8146a9766aa863d7baee13c2c79aa
+Author: Dave Airlie <airlied@nx6125b.(none)>
+Date: Thu Jun 21 10:59:11 2007 +1000
+
+ fix secondary color, fog is off for now
+
+commit 6d8a4312ed0a05c104205236ac1eec69ac457116
+Author: Dave Airlie <airlied@nx6125b.(none)>
+Date: Thu Jun 21 10:50:27 2007 +1000
+
+ fix projtex
+
+commit ad8abf71472ac7d8f25764e7a235ce97cf2fa700
+Author: Dave Airlie <airlied@nx6125b.(none)>
+Date: Thu Jun 21 10:32:39 2007 +1000
+
+ fix quad-clip
+
+commit 08fb0bad728a445adf8eaf4f3978ba9a41b69947
+Author: Dave Airlie <airlied@nx6125b.(none)>
+Date: Thu Jun 21 10:19:00 2007 +1000
+
+ bring over vertex engine setup code from r300_Render and fix up
+
+ now have gears going.. + a few other trivial textured demoes
+
+commit ecfa794037e8be351ecfec0229d1e3b1677ae369
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jun 20 17:20:02 2007 -0600
+
+ checkpoint: implement z/depth testing
+
+commit 3c0790ca9254e20e273f4f3023750b456260a499
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jun 20 17:19:13 2007 -0600
+
+ triangles w/ depth test
+
+commit f1854116375350e3eb43ed04f06f5ac3f1c44712
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jun 20 23:05:23 2007 +0100
+
+ Only build i915tex
+
+commit 24a989c5d1d3a9ba4536d546d20b91c0c3ffa03e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jun 20 23:04:56 2007 +0100
+
+ Add state tracker create/destroy calls to i915 driver.
+
+commit 78cc48f70afee7edc5291e195af8e6b6ebbf2de9
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jun 20 23:04:00 2007 +0100
+
+ Rename static variable in temporary tnl code
+
+commit b8657e44dc397625f447c83504f545ef13d9851d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jun 20 23:03:26 2007 +0100
+
+ Remove dependency on vf.h in public headers
+
+commit 2fd7b30bfef0ca29a02f22eb98ce3d3b34bedb27
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jun 20 16:15:09 2007 -0600
+
+ update includes (s/tile/quad/)
+
+commit 47e970b2cc0f375a7432a6c28f6d9218db9807ce
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jun 20 16:14:55 2007 -0600
+
+ s/tile/quad/
+
+commit e0398f43a2d7b454592135e1ed33a8a6c303ecc9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jun 20 16:12:26 2007 -0600
+
+ Rename "tile" files to "quad".
+
+commit acef7c750113e34a92fd00c74308443d8fb3f974
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jun 20 15:22:39 2007 -0600
+
+ only blend active pixels in the quad
+
+commit 7658a0208aa31f1443be6eaa720a383b34e2bbb3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jun 20 15:14:47 2007 -0600
+
+ quad blending works now, but many blend terms need to be added in blend_quad().
+
+commit fb5cdbd078d4d44fb43d417843debe41148f3714
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jun 20 14:29:14 2007 -0600
+
+ Initial implementation of a software pipeline for quad rasterization (fragment ops).
+
+ This is very much like the clipper/setup pipeline for primitives.
+
+commit 1edb5aafadc16ac0d7c604a3cd4a9c2e91d9b705
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jun 20 14:27:42 2007 -0600
+
+ better comment
+
+commit b7c646d1bcf4b6fa285996d1b9b660ce478190f6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jun 20 13:10:48 2007 -0600
+
+ actually use new glClear code
+
+commit abf45c2a3db39fc1690e282e7f7603bc1d81f647
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jun 20 12:50:16 2007 -0600
+
+ fix comment
+
+commit 83b6c46b50ab138551f3af114afbcc2adbee81d2
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jun 20 12:23:47 2007 -0600
+
+ plug in write_mono_row_ub
+
+commit f9c17ec58a492a7657ea120fa394056a680b9ec5
+Merge: bd8eeb7 a4af3e5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jun 20 11:01:09 2007 -0600
+
+ Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa
+
+commit a4af3e5ab3fa0f45c25673c93d802cdff087145c
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Jun 20 11:01:04 2007 -0600
+
+ Effectively disable _TexEnvProgram before calling _swrast_DrawPixels().
+
+ It's OK to use _TexEnvProgram regardless of the texture state, but if fog
+ is also enabled, the fragment program is lacking the actual fog computation
+ so fogging doesn't appear.
+ Fixing this might involve a new _MaintainFogProgram field and related code.
+ For now, just disable the _TexEnvProgram and let swrast handle everything.
+
+commit b9080dd5493eb23af6c5c494550c7b1cb481ca7b
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Jun 20 10:56:13 2007 -0600
+
+ fix glDrawPixels + fragment program problem
+
+commit c1cb5412336be0e1067899318403ea573be9bb4d
+Author: Brian <brian@i915.localnet.net>
+Date: Wed Jun 20 10:55:31 2007 -0600
+
+ copy wpos attrib info into zoomed span (fixes fog perspective correction problem)
+
+commit 837f2c18c477f0695150b69b69a3a921b08943ec
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jun 20 09:41:41 2007 -0600
+
+ implement softpipe clearing (untested)
+
+commit 73f96c51052bf5233191d852ef463462306bf1d5
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed Jun 20 08:47:09 2007 -0600
+
+ Initial work for glClear(), clear color state.
+
+commit d7777f45981bf91d2cb31502ba078312b1b4cf13
+Author: Dave Airlie <airlied@nx6125b.(none)>
+Date: Wed Jun 20 18:02:08 2007 +1000
+
+ fixup some bits of tcl path
+
+commit 2a6082b5319a21e0af8dc30516c38f7e7d704b04
+Author: Dave Airlie <airlied@nx6125b.(none)>
+Date: Wed Jun 20 18:01:47 2007 +1000
+
+ swtcl: gears works
+
+commit 6cb2d0cb71d2019bd2c941a8c042e56275b22c1c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jun 19 19:52:25 2007 -0600
+
+ hook up point state
+
+commit af9b5ca0359b5712509d7815a7fbc81a3255f4af
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jun 19 19:19:31 2007 -0600
+
+ Re-org of surface/framebuffer state.
+
+ We should be able to render to any depth/format of X window now.
+
+commit 03933ad656e5bd776a2e6f93312ee90eff66d3d3
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jun 19 19:17:48 2007 -0600
+
+ don't request GLUT_ALPHA
+
+commit bd8eeb7ed09be698896d26c75aa60659efaa25a6
+Merge: 144e1e4 9cde7fb
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jun 19 18:50:26 2007 -0600
+
+ Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa
+
+commit 0e9838263c88d2b88abbedcd338491d08d61a6ac
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jun 19 08:45:34 2007 -0600
+
+ just use regular malloc(), free(), memcpy()
+
+commit 2137e3053ec87e4463fdbd952537d1bbd1a3dbcd
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jun 19 08:43:05 2007 -0600
+
+ add point/line/polygon state
+
+commit 493f7b5f3ae2eb64eaa65e24e79a7a071c359b81
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jun 18 17:54:38 2007 -0600
+
+ Added alpha test state.
+
+commit efe6c50089e945902917c8091c92ce3a6155caac
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jun 18 17:53:09 2007 -0600
+
+ Define just one set of PIPE_FUNC_LESS, GREATER, EQUAL, etc tokens.
+
+ Used for depth test, alpha test, stencil test, shadow test, etc.
+
+commit bf0ae055de73e0cf66085e02ad4881bea497e4cb
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Jun 18 12:20:07 2007 -0700
+
+ Fix TTM static allocation flags.
+
+commit 1ddbfd779b2e11131d3c86406497fe970d8f816b
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Jun 18 12:19:42 2007 -0700
+
+ Test for TTM presence initially rather than test for lack of classic aperture.
+
+commit 9ec2e162235920e6430914b73ff6f391a73b6a3a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jun 18 06:57:36 2007 -0600
+
+ change clear color
+
+commit 4a841b969ae0f05a4982215a0fc087be12c53e0c
+Author: Dave Airlie <airlied@nx6125b.(none)>
+Date: Sun Jun 17 19:55:13 2007 +1000
+
+ more commits to fix things and stuff - still not doing anything except crashin
+
+commit 492bc67df1ceefe7580e8d7129f6f11a2f11ea67
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sun Jun 17 15:44:42 2007 +1000
+
+ swtcl add debug and fix offset
+
+commit 780ae9f17d23dc1a553e66298d223582f8a7f022
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sun Jun 17 15:05:43 2007 +1000
+
+ cleaned up reduced prim
+
+commit 3b8cf84aa5019c0770ef13c571ec17f31041b25a
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sun Jun 17 14:47:09 2007 +1000
+
+ fixup packet setup - still hangs
+
+commit aaf76906e8dcad06a1af26863a6c1faf12014692
+Author: Dave Airlie <airlied@nx6125b.(none)>
+Date: Sun Jun 17 14:27:58 2007 +1000
+
+ add missing swtcl file
+
+commit d42888dac3a0b648bf1babfde77e0e104e036831
+Author: Dave Airlie <airlied@nx6125b.(none)>
+Date: Sun Jun 17 14:17:11 2007 +1000
+
+ add more swtcl code to r300 - hangs card now
+
+commit 2754ac0878cbcfa13a4c16b8858500d812d9bb8a
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Jun 15 16:58:15 2007 -0700
+
+ Replace intel_dump_batchbuffer with a more informational version.
+
+commit 7a452b21a2fa329871062a6ee49f0d0f4928d01c
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Jun 15 16:20:34 2007 -0700
+
+ Correct a mis-count in a LOAD_STATE_IMMEDIATE_1 length argument.
+
+commit 97fc7685742bfd60d36001ab832f14a003152bae
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jun 15 10:57:44 2007 -0600
+
+ s/PRIM_H/SP_STATE_H/
+
+commit 3cdd8bfe8e5afa57001c605b42bfac1f3fbc4eb8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jun 15 10:55:12 2007 -0600
+
+ Added st_update_framebuffer struct/object.
+
+commit 1119852d0272c5ae43b09024b61f6e53c356ee65
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jun 15 10:54:08 2007 -0600
+
+ framebuffer state
+
+commit fde755aefb3559731a734110c7172badee9f14f9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jun 15 10:50:48 2007 -0600
+
+ In softpipe_set_viewport() use ordinary (struct) assignment to update softpipe->viewport.
+
+ The previous memcpy() was incorrect since it only copied 4 bytes instead of 32.
+ With struct assignment we avoid data size errors.
+
+commit 8f6b6eed35832733674372dea7bd5ce69a965c4e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jun 15 09:51:53 2007 -0600
+
+ initial framebuffer state
+
+commit fe1f94f26c5cb43934513a38f60bf00aa542e64c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jun 15 09:51:27 2007 -0600
+
+ framebuffer state
+
+commit 9cde7fb61dd26cd98a26dcb0a54197e8d28ac3be
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Fri Jun 15 15:24:35 2007 +0200
+
+ i915tex: Missing piece of SetTexOffset hook implementation for I830 generation.
+
+commit 477e18cb026b287e8fd0cb415b81f777fe0db39e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jun 14 18:25:10 2007 +0100
+
+ Add GLUT_ALPHA for softpipe
+
+commit 943964a1e5bad86bdceb0a06d60fb3b302ebce6a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jun 14 18:23:43 2007 +0100
+
+ Rename directories again?!
+
+ Some git wierdness going on.
+
+commit 6393cda6766b707ef01e925d378239a66d143ae0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jun 14 18:11:48 2007 +0100
+
+ Renamed softpipe directories and files to something less confusing.
+
+ softpipe/state_tracker --> state_tracker/
+ softpipe/ --> pipe/
+ softpipe/generic --> pipe/softpipe/
+
+ I don't think pipe is a great name, but I disliked all the others too.
+ Luckily it's fairly easy to rename with git, so this can be revisited
+ later.
+
+commit 7050a4a7bc779b2c30fbd8244d4e77e6bd3dc30f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jun 14 15:18:27 2007 +0100
+
+ Small optimization for line drawing.
+
+ And some comments on point sprites.
+
+commit 790ec6ad3face4fb2e1c4b69d9d42bdf332841d6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jun 13 15:37:52 2007 +0100
+
+ Remove some dead code.
+
+commit bc81885bb2b498449a1362997ca67dd53f97d2e7
+Author: Dave Airlie <airlied@nx6125b.(none)>
+Date: Thu Jun 14 15:26:39 2007 +1000
+
+ Initial r300 modes for swtcl it compiles!!
+
+commit f6963f57d9d1e9bf630c05c1c89f188091b12fc5
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Thu Jun 14 00:44:16 2007 +0200
+
+ nouveau: remove useless viewport xform with id matrix.
+
+commit 40cc47f8ee635c131af1328089d4a918555659e2
+Author: Dave Airlie <airlied@nx6125b.(none)>
+Date: Wed Jun 13 12:56:48 2007 +1000
+
+ move clip to r300 emit
+
+commit 144e1e439faf994ad25901aaf2a9d60a1078eed9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jun 12 17:17:43 2007 -0600
+
+ fix an error string, refactor _mesa_GetCompressedTexImageARB() to get rid of a goto
+
+commit 261ed740749a7f358573ba470c25ed78d4abd2c4
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jun 12 17:06:27 2007 -0600
+
+ fix make clean commands so missing subdirs don't cause infinite loops
+
+commit d70fa021d51993b1555c3c3149326f48209e89f6
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jun 12 15:16:21 2007 -0600
+
+ added memcpy() to-do item
+
+commit ef82f004fab29f5aff809a31cbcb51e381df1a49
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jun 12 15:08:43 2007 -0600
+
+ fix comment
+
+commit edf07417be431ec36c340e21c6c4b6d51eb74363
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jun 12 09:47:03 2007 -0600
+
+ Fix TEXREL issues when using GLX_USE_TLS (see bug 7459).
+
+commit c1ba308e6499a6eb3f970b81a3f25d63da988d1c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jun 12 08:57:12 2007 -0600
+
+ fix GLX_USE_TLS breakage, fix a warning
+
+commit 6378dc3ae302e8a69f482fd99a63a23d1a1730a1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue Jun 12 08:47:49 2007 -0600
+
+ simple line drawing code
+
+commit 0fbc4c51a07a5980956d62b3f70c46c65f6c7a57
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jun 11 17:16:18 2007 -0600
+
+ Rework _mesa_update_texture_compare_function() to only be called during
+ state validation/update.
+
+ Note that we're still temporarily skipping the test for an active fragment
+ program. Need to fix shadow2D() ...
+
+commit 495e2c8327ad4b5b7e01971bb3dacf4fd812aedf
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jun 11 16:42:35 2007 -0600
+
+ rename/clean-up _mesa_validate_texture_wrap_mode
+
+commit 84e051b6a0b694b44adee381e388b00062c90b33
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jun 11 16:36:06 2007 -0600
+
+ fix typo, added comment
+
+commit 227315278dea9095cee6e508d03b28720b2e7880
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jun 11 16:32:57 2007 -0600
+
+ Replace texobj->Complete with texobj->_Complete since it's a derived field.
+
+commit a28977a4c726ac5023fcefb58695498c0c5ae507
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jun 11 16:27:33 2007 -0600
+
+ typo: s/derrived/derived/
+
+commit 0186f1bc8356bc3c2946d4ffcb5e6d7b61b84e02
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jun 11 16:04:36 2007 -0600
+
+ Temporarily disable the calls to _mesa_update_texture_compare_function().
+
+ This fixes the depth-peel regression reported by Brad King.
+
+commit cf239ced0deb839b85eedd0dba322969e79f1704
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon Jun 11 10:57:01 2007 -0600
+
+ In generic_nop() call _mesa_warning() instead of _mesa_problem() since it's an app issue, not a mesa bug.
+
+commit c56588407c01760978f524b42abceb677fbaa8f1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jun 8 15:02:05 2007 -0600
+
+ remove dead code
+
+commit b96dbd2a3e3b26c45096c73896fa6b109bf8229a
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sun Jun 10 12:25:23 2007 +1000
+
+ r300: i can't see why we fallback for polygon offset line/fill
+
+commit 86eecc701e9891d7668cc01002070ff78b938ad2
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jun 8 14:13:13 2007 -0600
+
+ In supported_buffer_bitmask(), use framebuffer's visual, not context's visual
+
+commit ee170f29552b353bc14be4473f0e517149f47c1d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jun 8 14:12:27 2007 -0600
+
+ disable depthBits test in check_compatible(), see bug 11161
+
+commit 39d221ef142d24441e5d741d0902624020deebb8
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jun 8 13:10:01 2007 -0600
+
+ fix glReadPixels parameters to handle odd-width windows correctly
+
+commit 5e9cff0b97b1301c2b13dbfe2570ddb4551f814f
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jun 8 13:02:14 2007 -0600
+
+ disable shader program before glDrawPixels
+
+commit 009ddb4e509f7dd39a17408332c6b0eff47a16fe
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri Jun 8 12:24:35 2007 -0600
+
+ remove obsolete comment about max DEFAULT_SOFTWARE_DEPTH_BITS
+
+commit 55f8b7053065ce88296608071feed6f9540f6c0d
+Merge: 518f916 7b559a9
+Author: Jouk <joukj@tarantella.(none)>
+Date: Fri Jun 8 13:38:24 2007 +0200
+
+ Merge branch 'master' of git+ssh://joukj@git.freedesktop.org/git/mesa/mesa
+
+commit 7b559a91028d297b34df9ec939bd4d00fad6027c
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Jun 7 13:58:50 2007 -0700
+
+ Add support for GL_ARB_fragment_program_shadow.
+
+commit 84d1b24647c0719551e8bcd5fa4601fbd3b1d555
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Jun 7 13:38:06 2007 -0700
+
+ Fix ARB_fp spec conformance bug WRT shadow sampling.
+
+ The ARB_fp (and other assembly-level fragment program specs) say that the
+ depth comparison function is always GL_NONE in fragment program mode.
+
+commit 359c6eada7172d61ed52091dcc8f406ad0598b8a
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Jun 7 12:12:14 2007 -0700
+
+ Add support for shadow mapping with vertex and fragment programs
+
+commit 2260c245fd5798a6b3661c3a529654d9f577821d
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Jun 7 12:09:44 2007 -0700
+
+ Refactor shadow map modelview and projection code
+
+ Explicitly store the modelview matrix and projection matrix used when the
+ shadow map is created. These matrices only need be updated when
+ RenderShadowMap is called. Previously, slightly different code was used to
+ draw and project the shadow map.
+
+commit f575d4fa7f69a5de87c52002ffaf3e745634aff5
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Jun 7 11:59:42 2007 -0700
+
+ Remove '#if defined' tests for ARB extensions.
+
+commit 871f57365e3ce7d30fe57dba8fd0df2a451f006e
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Thu Jun 7 13:21:18 2007 +0000
+
+ r300: Added a comment regarding the R300_VAP_CLIP registers.
+
+commit 65b45d6d583cce20c8e025643f8e042b2ae6e778
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Thu Jun 7 13:20:27 2007 +0000
+
+ r300: Removed a "don't think this is needed" comment, it actually is needed.
+
+ According to the comment you do not need to setup INPUT_CNTL when using vertex
+ buffers. However, not doing so results in a lockup.
+
+commit 9c50d8477506dacc7b4f6b96ee92e0801e0e2153
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Thu Jun 7 13:20:08 2007 +0000
+
+ r300: Explain the R300_VAP_OUTPUT_VTX_FMT_1 register.
+
+commit 10d5dd685c155d8e7a8f447bcc19a7a59393ec2e
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Thu Jun 7 13:19:47 2007 +0000
+
+ r300: Cleaned up long lines in r300Choose8888TexFormat.
+
+commit 8331d9d7aa7cde7126d38d4e1eb5fe8a168077f3
+Author: Wang Zhenyu <zhenyu.z.wang@intel.com>
+Date: Tue Jun 5 11:42:43 2007 -0700
+
+ Add PCI IDs for the G33, Q33, and Q35 chipsets.
+
+commit 08a2cc2d234386550c0810567f58eb4d5fb68945
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue Jun 5 19:55:53 2007 +0200
+
+ i915tex: Better attempt to release miptree when overriding texture image.
+
+ The previous approach could lead to crashes in FBO code that dereferences the
+ miptree struct pointer unconditionally.
+
+commit 89f070b3bbb86204306857b8cf690abbd56a939d
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue Jun 5 19:52:10 2007 +0200
+
+ Remove dubious compile-time test for pre-2.4 Linux kernels.
+
+ LINUX_VERSION_CODE shouldn't be used by userspace code, it can be defined empty
+ these days.
+
+ If anybody still cares about 2.2 kernels, they should reinstate this as a
+ proper runtime test.
+
+commit 69358e73ce09b392a94df753b9bf3cb2f6ad97b9
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Jun 5 09:24:27 2007 -0700
+
+ Updates for array texture shadow targets.
+
+commit 0b11203038d0bc978c1a7ae0b55f67bb92a680cd
+Author: Dave Airlie <airlied@linux.ie>
+Date: Tue Jun 5 09:38:49 2007 +1000
+
+ miniglx: implement GetProcAddressARB in miniglx as an alias for GPA
+
+commit b2dde0a7831560dd7103d4ef59101128227f8e22
+Author: Dave Airlie <airlied@linux.ie>
+Date: Tue Jun 5 09:36:28 2007 +1000
+
+ miniglx: update defines in linux-solo config
+
+commit 90630feeec52c6d4f2a17f75cdf3dab9f5baf923
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sat Jun 2 16:21:50 2007 +1000
+
+ r300: fix non-tcl rs4xx again.
+
+commit 2ac17c68e2d64260168a54a275e839775828f534
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu May 31 09:45:45 2007 -0700
+
+ Add buffer manager destroy function.
+
+commit fb7e21514f96c36e4c5abcb6621d48cb16a8c1e1
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu May 31 09:34:08 2007 -0700
+
+ Remove some stale comments.
+
+commit ad6351a994fd14af9d07da4f06837a7f9b9d0de4
+Author: Wang Zhenyu <zhenyu.z.wang@intel.com>
+Date: Wed May 30 16:18:26 2007 +0800
+
+ i915tex: Add support for 945GME
+
+commit a74eec5af5397b612d60dd4b0d81666027f19bb0
+Author: Wang Zhenyu <zhenyu.z.wang@intel.com>
+Date: Wed May 30 16:11:12 2007 +0800
+
+ i915: Add support for 945GME chip
+
+commit 1b27ef39c9abeaa03d65f477ac4538361f2341cc
+Author: Wang Zhenyu <zhenyu.z.wang@intel.com>
+Date: Wed May 30 16:03:50 2007 +0800
+
+ i965: Add pci info for 965GME/GLE chip.
+
+commit c9527eae8eb461c82632f89eb7c5244a92e885bc
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed May 30 16:27:17 2007 -0600
+
+ added st_atom_depth.c
+
+commit 02a47549ad182d28d330063d4f452108e3a4b452
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed May 30 16:26:55 2007 -0600
+
+ sketch out texture sampler state
+
+commit 092a9ecbba4d766da9c0becf888818c020ac226d
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed May 30 16:10:31 2007 -0600
+
+ comments, clean-up, alphabetize members
+
+commit 8f2888758129b0a40d71fa4ce10d606b4bcf7631
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed May 30 16:07:39 2007 -0600
+
+ added depth(Z) state support
+
+commit 4c9b48dcc510929951516f3cd17b98654ac93a9a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed May 30 16:07:27 2007 -0600
+
+ depth(Z) state
+
+commit 2b7ef2549f017996073f51bc147f508c325a1db6
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Wed May 30 15:37:42 2007 +0200
+
+ Fix r300SetTexOffset for big endian platforms.
+
+ This was broken by the unification of the texture format table.
+
+commit d61a595a5b1752a0f377e9a2e698f723ea4a6207
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 30 03:15:52 2007 +0000
+
+ r300: Corrected r300PointSize based on dumping the blob.
+
+ The OpenGL specification also verifies the default point size should be 1.0.
+
+commit da1d9d97959bd1e4c8e359d28b4fd6cafdd4168a
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 30 03:11:49 2007 +0000
+
+ r300: Corrected r300LineWidth based on dumping the blob.
+
+ The OpenGL specification also verifies the default line width should be 1.0.
+
+commit 7c008f365be722876b0563ad68b3ae3ec2e37ba6
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Tue May 29 05:07:33 2007 +0000
+
+ r300: Removed goto statement in r300SetupRSUnit.
+
+commit e20acd9168acaa920483df98d46cae3fe472f2e9
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Tue May 29 05:02:03 2007 +0000
+
+ r300: Cleaned up r300SetupRSUnit.
+
+commit 705298c281861f49fd4e6af4c6b1ac9d240e3727
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Tue May 29 02:58:10 2007 +0000
+
+ r300: Cleaned up the state atom checking functions.
+
+commit 6439bc5c0d67a0b55773cefaff6769190684120e
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Tue May 29 01:18:33 2007 +0000
+
+ r300: Cleaned up the state atom debugging code.
+
+commit f973ae78b28d78c589702f74bfd1f612ff86e866
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Mon May 28 01:34:26 2007 +0000
+
+ r300: Use compile-time endian detection in r300_state.c as well as r300_texstate.c.
+
+ Probably best to not mix-and-match compile-time and run-time detection...
+
+commit 97a89227b0edd3ef51d3ef9fd015bff12dc9b97b
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Mon May 28 01:11:54 2007 +0000
+
+ r300: Document registers 0x2220 to 0x2230.
+
+ These registers are per-pixel and per-vertex X and Y clipping planes.
+
+commit 779a5c160ff45428279e1ef997fd36338226df39
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Mon May 28 00:23:47 2007 +0000
+
+ r300: Only support size 4 ELTs; this is what Mesa provides.
+
+commit 1baef2f080b2afe806e9dc85a5930cb0dfb4c66e
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Mon May 28 00:16:50 2007 +0000
+
+ r300: Use the CP_PACKET3 macro for Type 3 packets.
+
+ I haven't converted all of the Type 3 packets to the CP_PACKET3 macro yet
+ because some of the Type 3 packet defines are missing from the R300 register
+ definition file.
+
+ These defines need to be copied from DRM and Mesa into the R300 register
+ definition file then copied into both DRM and Mesa.
+
+commit 3e5f8a6c894b7e818443ac08dada65e57610fa69
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sun May 27 23:35:12 2007 +0000
+
+ r300: Removed the (completely broken since new VBO branch) OPTIMIZE_ELTS path.
+
+ The VTXFMT code was broken by the new VBO branch and the OPTIMIZE_ELTS path
+ relied on the VTXFMT code...
+
+ I'm not even sure if the OPTIMIZE_ELTS path ever worked; the testing that I did
+ after minimizing the code duplication would have taken the same path as the
+ non-OPTIMIZE_ELTS code.
+
+commit 7c893e98a30114059cd69873413a136ba2be768b
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sun May 27 23:19:30 2007 +0000
+
+ r300: Cleaned up the AOS code in r300_render.c.
+
+commit b8813572ae8dc4ec75122945088e40382e2826bf
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sun May 27 21:45:19 2007 +0000
+
+ r300: Added a comment in r300VAPInputCntl0.
+
+commit 6a2ef09918deb4b4b4bd56380040a5bed1c0d589
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sun May 27 20:23:52 2007 +0000
+
+ r300: Cleaned up r300DestroyTexObj.
+
+commit 7e2c381a22b104a8b91479c8510b564f5a0d548e
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sun May 27 15:25:50 2007 +0000
+
+ r300: R300_SE_VTE_CNTL applies to both non-TCL and TCL hardware.
+
+ See r300ResetHwState.
+
+commit 0c5662acc7ac3bdd5712a7dabfc970d801117149
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue May 29 08:05:10 2007 -0600
+
+ use glXGetProcAddress to get extension funcs
+
+commit 5237f863edf4f61447b9b436e2fc4efb4ee819f1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri May 25 16:22:15 2007 -0600
+
+ check for flat/smooth interp for generic/specular attrib
+
+commit 6fc596193370aba52ddb742c61a4687c7831897c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon May 28 16:13:17 2007 -0600
+
+ implement point rendering
+
+commit 1fc08251eece0cd1d859592ab03e775e971dca63
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sun May 27 02:25:31 2007 +0000
+
+ Revert "r300: Removed the R300_RS_INTERP_[0-9]_UNKNOWN (magic) defines."
+
+ This reverts commit bb3558e6517209086cf8426bbe4743da50351158.
+
+ This commit caused a regression reported by Markus Amsler
+ <markus.amsler@oribi.org>. Apparently these defines are required, although I'm
+ not sure why.
+
+commit d42c8ab630af1ee7a153823f23a46a0e05c01019
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sat May 26 21:38:52 2007 +0000
+
+ r300: Rearranged the DWORD construction in r300VAPInputRoute0 for clarity.
+
+ Doesn't actually change anything; just makes it easier to read.
+
+commit 3b8fc727e611143e35725d987efd1d342893c8a1
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sat May 26 20:59:16 2007 +0000
+
+ r300: Removed duplicate AOS format defines; already defined in r300_reg.h.
+
+commit e96d10a86179242c349138224e61e2ac2e8eac9a
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sat May 26 19:39:35 2007 +0000
+
+ r300: Removed unused aos_reg variable.
+
+commit e8b8fd366bcc52b9c9227a1a1dc3e7d254b984b1
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sat May 26 17:55:30 2007 +0000
+
+ r300: Use "rmesa" not "r300" in r300_emit.c; some of the macros require "rmesa".
+
+commit 7bc7f08d882b8e2c569bb69de25fd9d104609dda
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sat May 26 17:36:08 2007 +0000
+
+ r300: Cleaned up the non-TCL RENDERINPUTS, etc.
+
+commit 6be60a389b66fcfcfe90ae848cbbb3f9ef1120dd
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sat May 26 17:13:57 2007 +0000
+
+ r300: Whitespace cleanup in r300_emit.c.
+
+commit 0d8aba9a478a555794921f3d51cfe0c1c631853c
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sat May 26 15:49:24 2007 +0000
+
+ r300: Added the r300VAPInputCntl0 function.
+
+ The function just returns the hard-coded value (0x5555) even though we have no
+ idea what this means...
+
+commit ae0f17d59168692c45bf780ff90fbcebd22e3577
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sat May 26 15:45:04 2007 +0000
+
+ r300: Added r300VAPOutputCntl0 and r300VAPOutputCntl1 to r300_emit.c.
+
+commit 4e98dcb85f5f302771412f62b5efb36f32b010ab
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sat May 26 14:43:04 2007 +0000
+
+ r300: Removed R300_PFS_NODE_LAST_NODE replaced by R300_PFS_NODE_OUTPUT_COLOR.
+
+commit f4ad34e8bbabedee76cb723ed0fc5343121ad036
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sat May 26 12:34:55 2007 +0000
+
+ r300: Renamed the t_vic function.
+
+commit fbe705f60025169f9e1c68d34088ef1a4a0fa252
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sat May 26 00:07:25 2007 +0000
+
+ r300: Renamed the t_vir0 and t_vir1 functions.
+
+commit 9ed32f42510a7e6a2cc965a27a97a22a0d5c7e0a
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Fri May 25 23:50:36 2007 +0000
+
+ r300: Renamed "dt" to "attribptr" in the t_vir0 function.
+
+commit b9c0a00ed0022f0131dbf3cd9755ba8212ce3908
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Fri May 25 23:42:03 2007 +0000
+
+ r300: Specify the type in the t_vir0 function.
+
+commit 9b727e117e26ef6e5a410bc1e2ad9d33e54603eb
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Fri May 25 23:02:57 2007 +0000
+
+ r300: Cleaned up t_vir0 and t_vir1 slightly.
+
+commit f78ddc69a0d2d4a61ad8b97bc3abc46bb45cc0c3
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Fri May 25 22:01:20 2007 +0000
+
+ r300: Use C style comments in r300_emit.c.
+
+commit 67ac9bf82216e1fe0c3972d9d3af3007ad937e10
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Fri May 25 21:54:45 2007 +0000
+
+ r300: Removed a (disabled and unneeded) assertion.
+
+ The r300EmitVec functions don't touch the buf member so the assertion isn't
+ needed here.
+
+commit d46fa8bbefdd46953e86514e43ef51cd234ecc74
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri May 25 15:53:42 2007 -0600
+
+ INLINE goes before the function's return type
+
+commit 31a86804aefe167a93d81f1537a24a13204635f2
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Fri May 25 21:49:53 2007 +0000
+
+ r300: Improved the r300EmitVec debugging information.
+
+commit 00d5334899010b0e7c0ba53fdc9b112d20f6c34b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri May 25 15:45:21 2007 -0600
+
+ Add some comments to explain things, code clarifications.
+
+ Also, add quad.facing field for front/back facing. See comments for details.
+
+commit b04270393574e99184f729a757af7f46ebef5e56
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Fri May 25 21:43:24 2007 +0000
+
+ r300: Use #if 0 for disabled code.
+
+commit 93206f7815a22fa176c5ab20201c029f18e9b393
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Fri May 25 21:38:49 2007 +0000
+
+ r300: Added a TODO note and some tiny cleanups to r300_emit.c.
+
+commit 9f39692e215bf4b61b8a9f52fade738743401d5a
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sat May 26 15:58:56 2007 +1000
+
+ add glxtokens.h to xmesa_xf86.h as discussed on mailing list
+
+commit e734369565c816dea47c3c8e2fde76fa09fd9e6c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Fri May 25 08:57:44 2007 -0600
+
+ remove #include "GL/glxtokens.h"
+
+commit 8a6a5dc66008a006211ed0bb1ed4c5a17db4b323
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Fri May 25 13:59:15 2007 +0000
+
+ r300: Use GL_TRUE rather than 1 for the GLboolean type.
+
+commit 00a9e4eb8cede0042e53275ddd3894cdeb6db742
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Thu May 24 09:15:57 2007 +0000
+
+ r300: Removed unused vpucount macro from r300_state.c.
+
+commit cbe4dbef8e8e9ff29d64ca588e81c2bb079d99f1
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu May 24 22:16:26 2007 -0600
+
+ use GLubyte for stencil ref/mask/clear
+
+commit b9323aa2cb4563fba1b328dbc802d673449056ac
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu May 24 16:55:06 2007 -0700
+
+ Replace the flags/hint arguments to bo_alloc{,_static} with a location mask.
+
+ Now, allocations only take locations, rather than a variety of unused flags.
+ The only interesting flag before was the no_move/no_evict pair for scanout
+ and similar buffers, which the DRI drivers don't use. That will be readded
+ when we get to using this code for display buffer allocation, by adding a
+ pin/unpin call (dynamic pinning/unpinning may be useful for VT switching and
+ root window resizing).
+
+ This commit changes one instance of DRM_BO_FLAG_MEM_LOCAL with
+ DRM_BO_FLAG_MEM_TT, which appeared to have been unintentional.
+
+commit fd9d27e0686f5a15803d13d207e58be1972fdf31
+Merge: b1fcabe f116aed
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu May 24 13:59:50 2007 -0700
+
+ Merge branch 'master' into i915-unification
+
+ Conflicts:
+
+ src/mesa/drivers/dri/i915tex/i830_texstate.c
+ src/mesa/drivers/dri/i915tex/i915_texstate.c
+
+commit 008fb50174fb6717f3b71836427bc6be4e44613c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu May 24 17:37:36 2007 -0600
+
+ Stencil state.
+
+commit e4b037051e79a607044ed233b7eda66cf1873245
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu May 24 17:07:48 2007 -0600
+
+ fix logic for calling _swrast_update_deferred_texture()
+
+commit 2248829b99bf388dfe7ee9c6763f98167b52ba8b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu May 24 16:50:45 2007 -0600
+
+ added st_atom_blend.c, st_atom_scissor.c
+
+commit 6debc8078a7170c26d826e62e2b6542e85813a6c
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu May 24 16:50:22 2007 -0600
+
+ Implement blend state
+
+commit 7234550cf759fdf3ab325465090c7f5eb3b5d320
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu May 24 16:49:27 2007 -0600
+
+ #ifndef SP_DEFINES_H protection, copyright
+
+commit 9267341bd01900bc78700928e5836d0f52572e38
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu May 24 16:48:38 2007 -0600
+
+ scissor depends on glScissor() and framebuffer size
+
+commit 3bf0fd60905d18cc6fef7845d68e0c5b530f531b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu May 24 14:37:00 2007 -0600
+
+ add scissor state
+
+commit 711af67fe4afa7d982649c101d68474be9294e07
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu May 24 14:36:48 2007 -0600
+
+ scissor state
+
+commit f889ad21da2009f8d49d53a3fa03795e826fb56a
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Thu May 24 14:36:02 2007 -0600
+
+ define, use SP_MAX_CLIP_PLANES
+
+commit b1dc66b7bd9b13498204c32182d0935d3a7d3eec
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 24 11:37:08 2007 +0100
+
+ Add the vf module.
+
+ This is a cleaned up version of the code in tnl/t_vertex*.
+
+commit b939adfa155f2b3ca5c5226e86da85629654d79b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 24 10:44:53 2007 +0100
+
+ Use the x11 driver as a test harness for the softpipe/state_tracker code.
+
+ This has some limitations as we currently require a mapped framebuffer,
+ so it only really works with double-buffered ximage rgba8888 windows.
+
+commit 8e4a95a93d15a6707a29454cd47e10b08314cda2
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 24 10:41:34 2007 +0100
+
+ First version of the softpipe rasterizer.
+
+ This will flesh out to hopefully acheive 3 things:
+ - New software rasterizer for mesa
+ - New driver model for mesa & dri with much smaller drivers
+ - The basis for the cell driver.
+
+ It's got a long way to go yet, but will at least run trivial/tri.c.
+
+commit 572dc0864e044776618b0b9e8b808b9584cd1ef6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 24 10:38:57 2007 +0100
+
+ Modifications to run with softpipe test harness
+
+ RGB->RGBA
+ double buffer by default.
+
+commit 98d2a4a2445bae3597e29472ebcf6deeef35a313
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed May 23 16:58:01 2007 -0600
+
+ doxygen-ize some comments
+
+commit f116aed1ede0d802e9f3c5989290002975c00330
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed May 23 16:49:32 2007 -0600
+
+ restore GL_TEXTURE_LOD_BIAS in _mesa_PopAttrib(), bug 11049
+
+commit e5ed09e60e32cf7d5afc778321e417ea97fe8494
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed May 23 16:42:29 2007 -0600
+
+ incr/decr 1D/2DArray texture refcounts like other targets
+
+commit f2e99e6a581490b3dd412eb587f31bce43fc8c25
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 23 21:26:35 2007 +0000
+
+ r300: Call the r300Fogfv function directly within r300_state.c.
+
+ This required moving the r300Enable function but there are no actual changes.
+
+commit a7008322146f589ed5cb7a563365ff5e31844c62
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed May 23 15:33:46 2007 -0600
+
+ Fix problem w/ two-sided lighting and fragment programs (depth-peel regression)
+
+commit 491618b33dcb388f5d2335862cba8cf110d72ae7
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 23 21:12:11 2007 +0000
+
+ r300: Use switch statements in r300ResetHwState, etc.
+
+commit f1441bbd180452e4eeab27545d6b9f48c0c54d11
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 23 18:48:05 2007 +0000
+
+ r300: Minor indenting corrections in the texture format table.
+
+commit ba8d3fb13651fd7c7b68c4a0394545b3760fa9c2
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 23 18:37:55 2007 +0000
+
+ r300: Use a single texture format table; reduces duplication.
+
+commit 9b9a1602f9822c3e29a3dc4f9ed025a4c337b007
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 23 17:56:47 2007 +0000
+
+ r300: Corrected the RGB888 texture format entry.
+
+ I think this is correct, assuming no endian issues. See commmit
+ 59a08923f51d4ed83effbfcd91473c9ee86465f1.
+
+commit bb3558e6517209086cf8426bbe4743da50351158
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Mon May 21 15:51:38 2007 +0000
+
+ r300: Removed the R300_RS_INTERP_[0-9]_UNKNOWN (magic) defines.
+
+ Supposedly you need to set these values for the interpolaters to work, but they
+ seem to work fine without these values.
+
+commit d062b6cd2672f42fdfe20f6d932aacef9895aebc
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Wed May 23 08:58:08 2007 -0600
+
+ Fix point attentuation problem (bug 11042)
+
+ ctx->Point._Attentuation was computed in wrong place and the VB->Eye coord Z
+ array wasn't indexed correctly in run_point_stage().
+
+commit a194bc3a8527ed41eead88632cc79ecabe4c81ac
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue May 22 16:56:02 2007 -0600
+
+ Replace initInitState() with _mesa_init_driver_state().
+
+commit a99114a69f2b7963ca1f855a320aea8aa56755ac
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue May 22 16:54:25 2007 -0600
+
+ added _mesa_init_driver_state() to replace duplicated code in intel drivers
+
+commit 3a2ffadb7c98c040f01340d20289cffe753d48c2
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue May 22 16:50:05 2007 -0600
+
+ include swrast_setup/swrast_setup.h to silence warning
+
+commit 04255489617f6eeb9604daba14efed8376d1d824
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Tue May 22 10:07:49 2007 -0600
+
+ don't treat FRAG_BIT_WPOS as a generic attribute (fixes depth peel regression)
+
+commit e0885b84a0e10d6a3c976c8dc52a5fdc175635bb
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue May 22 14:08:11 2007 +0200
+
+ i915tex: Implement SetTexOffset hook.
+
+ Only build tested for I830 generation.
+
+commit 59a08923f51d4ed83effbfcd91473c9ee86465f1
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue May 22 14:08:11 2007 +0200
+
+ r300: Implement SetTexOffset hook.
+
+commit 043d219b6da0636886f739613380cf44e334f268
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue May 22 14:08:10 2007 +0200
+
+ Add interfaces for overriding texture images with driver specific 'offsets'.
+
+ To be used by AIGLX for GLX_EXT_texture_from_pixmap without several
+ additional data copies.
+
+commit 24d965fab52f790188e5de6e67e7387809b1f145
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue May 22 13:56:30 2007 +0200
+
+ Fix xserver build after recent XMesa changes.
+
+ Only build tested.
+
+commit 9e3e3883fa42ffee82e8e8ecbf75c153a2215acb
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon May 21 22:10:06 2007 -0600
+
+ get rid of GenTexturesLock, used ctx->Shared->Mutex
+
+commit c62da91f44c230b6476b5d7409d2c11e88f1620b
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon May 21 21:59:20 2007 -0600
+
+ remove the unused texobj Mutex field
+
+commit 5c5ab90c762614ef1db898e1984137d65fb96b7e
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon May 21 21:49:34 2007 -0600
+
+ remove a VMS-ism that doesn't seem needed elsewhere
+
+commit a01ee8ff0bdc9b80907f2fe48ebf1618ce2ded92
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon May 21 21:48:33 2007 -0600
+
+ improve some comments, clean-up formatting
+
+commit 3898e67f49b375bd0127fb2931468653cc29d5f9
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon May 21 21:48:08 2007 -0600
+
+ remove some whitespace
+
+commit b4f8d4455bd73f025948498157f2076738819f43
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon May 21 20:57:09 2007 -0600
+
+ set texcoords depending on GLX_Y_INVERTED_EXT
+
+commit a10ba38df7ac80e36db15aaae9f78e7223b2bfae
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon May 21 20:56:35 2007 -0600
+
+ return True for GLX_Y_INVERTED_EXT query
+
+commit 74a30c351fe98f41150dfe81a6aba05087997206
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Tue May 22 03:30:09 2007 +0200
+
+ fog: fix potential issues with generated vp using fog
+
+ Change the generated vertex programs (tnl/brw) to follow the same logic as
+ the tnl fog wrt using absolute value, and sync them up a bit (untested).
+
+commit 3e21a014c308a87e1dd7bdabba255aad02d3ad1b
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Tue May 22 03:29:59 2007 +0200
+
+ fog: fix issues with negative fog coords (may fix #10529)
+
+ Rework tnl fog a bit. Make sure we always use ABS(eyez) when fog coord source
+ is depth, OTOH it does not seem to be necessary to use it (as was done before
+ in some cases) if fog coord source is fogcoord (just to save some work).
+ This fixes tests/fog (the first 2 cases) with i915/i915tex.
+
+commit 7f1879d4e137f9b98d7430976adf9c28c4bf9fcf
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Tue May 22 02:52:39 2007 +0200
+
+ make sure optimized fog params get updated
+
+commit 1078ef83eb3458363bf9709a7c697b39020266ea
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Tue May 22 02:50:08 2007 +0200
+
+ i915/i915tex: minor cleanup (remove unneeded function call
+
+commit b1c640deda326078b1b2b335646f32b52120be3c
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Mon May 21 11:38:25 2007 +0200
+
+ unbreak 3d textures (typo when setting tex layout)
+
+commit b1fcabefa2f3fa81a20c1556383458315bb49bbf
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon May 21 13:06:12 2007 -0700
+
+ Don't read beyond the end of the buffer with INTEL_DEBUG=bat.
+
+commit b0b84529cf1d61d3a53d402f039b442260788624
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon May 21 11:08:55 2007 -0700
+
+ Enable INTEL_DEBUG environment variable.
+
+commit 2b325a9f32e4478d324feaa9fcc3706b8bae4a3b
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon May 21 10:53:33 2007 -0700
+
+ Remove unused intel_batchpool.c.
+
+ This may need to be implemented again, but probably not as a buffer manager
+ (pool).
+
+commit 8b8d4d3e106b1ca7174c834a2f9b494922fc6e72
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon May 21 10:49:32 2007 -0700
+
+ Notify the fake buffer manager on contended lock take.
+
+commit a8676c45ccab52117c70f2e90fd820d745261f51
+Author: Brian <brian.paul@tungstengraphics.com>
+Date: Mon May 21 08:57:18 2007 -0600
+
+ if light position is local, treat it as a homogeneous coord and divide by W (see bug 11009)
+
+commit 9e8a961dd7d7b717a9fb4ecdea1c1b60ea355efe
+Author: Brian <brian@yutani.localnet.net>
+Date: Sun May 20 12:27:39 2007 -0600
+
+ Overhaul/simplify SWvertex and SWspan attribute handling.
+
+ Instead of separate fog/specular/texcoord/varying code, just treat all of
+ them as generic attributes. Simplifies the point/line/triangle functions.
+
+commit aa133a9dae53bc6aa50b88ee43deb8b34e8d0029
+Author: Brian <brian@yutani.localnet.net>
+Date: Sun May 20 12:17:21 2007 -0600
+
+ add missing right-paren
+
+commit 9df4f842d593b5ea0cdc3d9a515afbe638b9051e
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sun May 20 17:20:10 2007 +0000
+
+ r300: Added TODO comment regarding immediate mode implementation.
+
+commit 62b6eef0d72f42fa73210a67f2afc37547e7b8b5
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sat May 19 05:41:55 2007 +0000
+
+ r300: Just use "inline" rather than "__inline__".
+
+commit a2305ebfa213adb16e72d1a819895a68991c9462
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat May 19 09:10:44 2007 -0600
+
+ need to copy new 1D/2D array texture objects in _mesa_PushAttrib()
+
+commit 74519c42311c67a2f914768abbe905d321702386
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat May 19 08:56:15 2007 -0600
+
+ Disable (at least for now) PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC typedef.
+
+ If an app (like progs/samples/blendxor.c) includes both gl.h and glext.h
+ this typedef will get hit in both headers, causing an error.
+ Possibly work around by bringing GL_NV_geometry_program4 items into gl.h.
+
+commit 80a579871904a05226bceeca6cf8725f58ed358e
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat May 19 08:29:04 2007 -0600
+
+ added GL_EXT_texture_from_pixmap
+
+commit 4465377ca3be3f61c4be835ef47bd569f665a8c4
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat May 19 08:28:41 2007 -0600
+
+ GLX_EXT_texture_from_pixmap test
+
+commit 7ace7cfba43427fc09dec23ac94b5c2b663d58ff
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat May 19 08:28:07 2007 -0600
+
+ added texture_from_pixmap functions
+
+commit fd54564f78d4aeae2c39ada7502ec659c14b3eca
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat May 19 08:27:35 2007 -0600
+
+ Implement GLX_EXT_texture_from_pixmap.
+
+ Could be done more efficiently... but works.
+
+commit eb6418b8952f335b6cf58232b5f282fc3e325c7a
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Sat May 19 04:38:55 2007 +0200
+
+ fix miptree layout (i915) for small compressed mipmaps
+
+ This seems to work now. Also fix i945 set_level_info, need to match i915
+ behaviour for storing mip height, as it's assumed to be the mip width
+ (in texels) elsewhere and the division by 4 is done later (untested).
+
+commit 25551bdfad8541337a4e59e7e3764fa9b876cb19
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Sat May 19 03:08:45 2007 +0200
+
+ fix copy & paste bug of previous commit, breaking dxt5 formats
+
+commit 28f53ace336706912fda6cc6877f72bffdcae330
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Sat May 19 00:59:06 2007 +0200
+
+ fix miptree comparison with compressed textures
+
+ TexelBytes is always 0 with compressed textures, thus would never match
+ mt->cpp. This caused constant blitting around of textures, and it fixes at
+ least the horrible performance of Q3 if compressed textures are enabled.
+
+commit 3ad9c551b95c6fd8787f6f007bda34df446b53ab
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Sat May 19 00:45:38 2007 +0200
+
+ fix small s3tc mipmaps (#10968)
+
+ make sure that always whole blocks are uploaded.
+ (May still not work correctly if the top mip map is not at least a full block,
+ that is 4 pixels wide - not sure, but probably doesn't happen in real world)
+
+commit 1bdee1853627e08894bd267b8f0ec176a1b5978f
+Merge: c085e35 4fca6bf
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri May 18 14:14:12 2007 -0700
+
+ Merge branch 'master' into i915-unification
+
+ Conflicts:
+
+ src/mesa/drivers/dri/common/dri_bufmgr.c
+ src/mesa/drivers/dri/common/dri_drmpool.c
+ src/mesa/drivers/dri/i915tex/intel_batchpool.c
+ src/mesa/drivers/dri/i915tex/intel_buffer_objects.c
+ src/mesa/drivers/dri/i915tex/intel_regions.c
+ src/mesa/drivers/dri/i915tex/intel_screen.c
+ src/mesa/drivers/dri/i915tex/intel_screen.h
+
+commit c085e350df593ab2af60f53b86265db4c3eab38a
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri May 18 13:47:46 2007 -0700
+
+ Fix a refcounting mistake with first_swap_fence.
+
+commit a926b7397bb19dea74995bcb02c0ee5438e4a63c
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri May 18 13:47:21 2007 -0700
+
+ Fix another mis-calling of _fence_wait_internal.
+
+commit 431baf221ea7858ecb5edb2a5a01b5f993147a4d
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri May 18 12:59:39 2007 -0700
+
+ Allow unreference with a NULL argument.
+
+commit 425d0c6305f7781788077452ae9e2de595b0961d
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri May 18 12:57:34 2007 -0700
+
+ Fix double-counting of low_offset in block->virtual.
+
+commit b0529dcc7bf6aa8330da19d98daa0abaa932cc97
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri May 18 12:39:00 2007 -0700
+
+ Zero out bufmgr_fake on alloc.
+
+commit 71648a088ee7bfb1a535f32c8afdef4dc2d43e9e
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri May 18 12:10:05 2007 -0700
+
+ Dead code elimination and fix bufmgr_fake_wait_idle.
+
+commit 180f0bb964cd7aa233233dbe3bc6605e07ef1d4c
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri May 18 12:09:34 2007 -0700
+
+ Kill old struct bufmgr members.
+
+commit bb1bb88bab809ce47fc5669ceb294b83ed164975
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri May 18 11:55:00 2007 -0700
+
+ Fix some use-before-initialize in bufmgr_fake.
+
+commit 4cf2cc0d18df67d1d550b777c8db2e088f1c4188
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri May 18 11:29:55 2007 -0700
+
+ Ratchet required version down to 1.5 (pre-TTM).
+
+commit 4fca6bfa5d211a093c54b0bbeadaa38081e8c141
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri May 18 07:46:27 2007 -0600
+
+ fix STATE_HALF_VECTOR value (bug 10987)
+
+commit 8452814ec6f536fc4177e6c34ff5b8b6d3102a3a
+Author: Christoff Brill <egore@gmx.de>
+Date: Thu May 17 17:18:13 2007 -0600
+
+ change max anisotropy test
+
+commit 63155ca2ca9fc935022a083278645bcf6d1ad3dc
+Author: Christoff Brill <egore@gmx.de>
+Date: Thu May 17 17:17:25 2007 -0600
+
+ use R200_DEBUG for debug output
+
+commit 0985e786cdd08bf900db889b69783be4bc467e5b
+Author: Christoff Brill <egore@gmx.de>
+Date: Thu May 17 17:16:37 2007 -0600
+
+ remove CVS/XFree86 keywords
+
+commit b12b24a430e2d328cbe102612b8a152e5c925cbf
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu May 17 15:36:43 2007 -0700
+
+ Restore missing intel_batchbuffer_reset() which was needed.
+
+commit 1f08f5d97068ea89f0fa527520a2ccb0a69ea50b
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu May 17 15:36:26 2007 -0700
+
+ Rename the i915tex_dri.so driver to just i915_dri.so again.
+
+commit cfc21190af1038f204d38ab4764a9c731b0323a5
+Author: Eric Anholt <eric@anholt.net>
+Date: Thu May 17 15:28:01 2007 -0700
+
+ Convert i915tex to the new interface and make it compile.
+
+commit 57ca033885b0474fff02903d13d6ad6333dc4810
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu May 17 15:28:20 2007 -0600
+
+ get rid of needless static function declarations at top of file
+
+commit 7fcf231c57b3f24bc5b4bedc345f43ac6c00cf84
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu May 17 15:25:26 2007 -0600
+
+ In DestroyPbuffer(), use GetReq() intead of GetReqExtra(). See bug 10983.
+
+commit d834a870e600684382b50d202a2bfc6d98cf6a0b
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu May 17 11:54:22 2007 -0700
+
+ Add missing _EXT suffix to 2D_ARRAY target enums.
+
+commit 817181ea5044b222f7612a425562bbc9313d5c75
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu May 17 11:16:19 2007 -0700
+
+ Add array texture targets to list that can use compressed formats.
+
+commit 064cd7c78c3108012f5d15206c70470f7b500259
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu May 17 11:13:41 2007 -0700
+
+ Refactor determining whether a texture target can use compressed format
+
+commit b5bbe055e4eab8ba83ca3f1ce17aaee01a506c95
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu May 17 08:56:46 2007 -0600
+
+ make srcPtr param to make_1d_stack_mipmap() const
+
+commit 6ee6b2dcd96fafae8d924d617e54e32a2aa8c5ea
+Merge: 347bb54 67f8273
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu May 17 08:54:08 2007 -0600
+
+ Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa
+
+commit 67f82731fcb87f789135e07f691d41ebd12f0015
+Author: Tommy Schultz Lassen <mesa3d@krynn.dk>
+Date: Thu May 17 14:11:23 2007 +0000
+
+ r300: Removed the radeon_vertex_buffer structure.
+
+commit bb372f1c9bc08e8b0dca983cb4ba36b2f2f039fb
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed May 16 15:34:22 2007 -0700
+
+ Initial implementation of MESA_texture_array
+
+ Shadow sampling from texture arrays is still not implemented. Everything
+ else should be there, though.
+
+commit 9ebffb86a699e49fd683ed9afbf6d5b2ac244ae0
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed May 16 15:33:36 2007 -0700
+
+ Initial version of MESA_texture_array spec.
+
+commit 7b971a50088caeeb2d66d99dbf6bef580a01c5d9
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed May 16 15:14:20 2007 -0700
+
+ WIP: Replace TTM buffer pool manager with a simplified interface.
+
+ The interface is not solid yet (some simplification to do still, and
+ adjustment for 0-copy), and the drivers are not converted. However, the new
+ interface allows using the same calls to support either a TTM or a classic
+ static allocation backend, with the static backend allowing a more limited
+ feature set.
+
+commit 2f61cbd30cdf0534da5e8281bc27886edb834b06
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed May 16 14:46:13 2007 -0700
+
+ Add simple program to test GL_MESA_texture_array.
+
+commit 78bd2912f86a53b53d3fb5362edae2c6455239b0
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed May 16 14:45:52 2007 -0700
+
+ Add enums and functions for GL_{MESA,EXT}_texture_array.
+
+commit b0fe0d8a550c5182b4cd964f8745a104343b7654
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue May 15 13:42:25 2007 -0700
+
+ Bring framebuffer_texture's error checking more in-line with the spec.
+
+commit 347bb541f5a89f59e502888a5ae486bc52abfb66
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon May 14 14:40:59 2007 -0600
+
+ Skeleton file for 7.1 release notes.
+
+commit c128c3ce8c05549b92607a890c3d10171910f4ba
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon May 14 14:30:36 2007 -0600
+
+ master/trunk is now for Mesa 7.1 devel: bump versions
+
+commit 6efdf648f51fd1ae27043b2c59e9965467fb1ddb
+Author: Bruce Merry <bmerry@gmail.com>
+Date: Mon May 14 09:37:48 2007 -0600
+
+ in __glXGetArrayType() return type, not enabled (bug 10938)
+
+commit 6a587c01242b6227658ea1160efa34a221d52368
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri May 11 15:50:33 2007 -0600
+
+ comment about fixing uniform structs
+
+commit 524c3336c494be4d556c1685951bf8200e5f5047
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sun May 13 13:38:38 2007 +0000
+
+ r300: Enable the non-user-buffers code to compile.
+
+commit 0e7e2110550824ab12b04fb0d1aa9651b6719917
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sun May 13 12:59:41 2007 +0000
+
+ r300: Use e32(0x0) rather than e32(0); makes greping for hex values easier.
+
+commit 4e641bf3e938361a0c46304f29d040e9f5bc169e
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sun May 13 12:56:59 2007 +0000
+
+ r300: Use the defined values when writing to R300_RS_ROUTE_0.
+
+commit 2189ff5e510689f74063b77a03881802ecd482c7
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sun May 13 12:43:40 2007 +0000
+
+ r300: Use the defined values when writing to R300_SE_VTE_CNTL.
+
+ You can verify this is correct with the following code.
+
+ assert (0x043f ==
+ (R300_VTX_W0_FMT | R300_VPORT_X_SCALE_ENA | R300_VPORT_X_OFFSET_ENA
+ | R300_VPORT_Y_SCALE_ENA | R300_VPORT_Y_OFFSET_ENA |
+ R300_VPORT_Z_SCALE_ENA | R300_VPORT_Z_OFFSET_ENA));
+
+commit 33a73466ae1df4350cc26470056090c91a6edfe9
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sun May 13 12:36:27 2007 +0000
+
+ r300: Added a TODO comment for the R300_VAP_INPUT_ROUTE_[01]_0 values.
+
+commit 13c0abd8a76ad4e14ad6b7737cdaaf8ff22c5cf2
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sun May 13 09:09:30 2007 +0000
+
+ r300: Changed some more functions to static functions.
+
+ This required reordering some of the functions which is why the diff is a little
+ larger.
+
+commit 82de92c0fb329b464fe19d6cc45080174e019795
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sun May 13 08:59:54 2007 +0000
+
+ r300: Changed a couple of functions in r300_state.c to static functions.
+
+commit e4b8481f396d0347f10eb51486c7fe5b01252457
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sun May 13 08:43:30 2007 +0000
+
+ r300: Removed the unused r300_aos_rec (replaced by r300_dma_region) structure.
+
+commit b5990cec902be0c599ec4962f0d69d6db2e5ec04
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sun May 13 08:28:51 2007 +0000
+
+ r300: Use #if 0 for disabled code, rather than commenting it out.
+
+commit d93642251e3e984d91b3821349e38f68dc582e3d
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sun May 13 08:21:50 2007 +0000
+
+ r300: Removed a couple of obsolete/commented out includes.
+
+commit c66fd808ac2a2013d8a305e917c8ddeb9e16048d
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sun May 13 07:51:41 2007 +0000
+
+ r300: A few very minor indenting corrections.
+
+commit 73449270bb1bae1a4d12ff6c4187e73d9969c174
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sun May 13 07:44:20 2007 +0000
+
+ r300: Use the defined values for the interpolater (interp_magic) magic values.
+
+commit 6f56e68ee305ab60569e449e53442e93d5a938a1
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sun May 13 06:39:24 2007 +0000
+
+ r300: Use the defined values when writing to R300_VAP_INPUT_CNTL_[01].
+
+ You can verify this is correct with the following code.
+
+ assert (0x00000001 == R300_INPUT_CNTL_0_COLOR);
+
+ assert (0x00000405 ==
+ (R300_INPUT_CNTL_POS | R300_INPUT_CNTL_COLOR |
+ R300_INPUT_CNTL_TC0));
+
+commit 65fae193831e9fd4b2fc5a1b8170215cc77427dd
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sat May 12 17:16:56 2007 +0000
+
+ Revert "r300: Perform the locking closer to the DRM texture upload call."
+
+ This reverts commit 93881edb46fc95e1cfb4ded4e8a5db92612d3e4d.
+
+commit b78aec576735c663342da8367dccd3de71e70c34
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Sat May 12 11:20:24 2007 +0200
+
+ bring over recent radeonMakeCurrent fixes for r300 to radeon/r200
+
+commit 6bae7d40f725be24df0be196fbb6bdcfd2aaa581
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sat May 12 01:53:56 2007 +0000
+
+ r300: Removed the name argument to ALLOC_STATE; do the name via the macro.
+
+commit 5f1f1f5704d1336e7376e7e47a9a92868356b88d
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sat May 12 01:13:54 2007 +0000
+
+ r300: Renamed r300DoEmitState to r300EmitAtoms.
+
+commit 93881edb46fc95e1cfb4ded4e8a5db92612d3e4d
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sat May 12 00:14:33 2007 +0000
+
+ r300: Perform the locking closer to the DRM texture upload call.
+
+ This might help if with attaching GDB if the driver gets into a -EAGAIN loop.
+
+commit 56b99ace19cbe36df3e3995a299f28f99ba613fe
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Fri May 11 23:35:37 2007 +0000
+
+ r300: Removed unused FORCE_32BITS_ELTS define.
+
+commit 3aad47679e14cf55b07fba5293b102d7ee6abc27
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Fri May 11 23:33:47 2007 +0000
+
+ r300: Removed the unused CPT macro.
+
+commit dac5303692726582d2fac2d9e9b620e3105ff8c3
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Fri May 11 23:32:03 2007 +0000
+
+ r300: Moved r300PackFloat24 near r300PackFloat32.
+
+commit 64b03f33eeb2f57f1c7a528d011137c6f2612fb0
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Fri May 11 23:13:08 2007 +0000
+
+ r300: Added insert_at_tail to the ALLOC_STATE macro.
+
+commit b8b0dd1e2056742401fe610d205f6272b313dc63
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Fri May 11 23:03:40 2007 +0000
+
+ Revert "r300: Merged radeon_span.c."
+
+ This reverts commit 0aa998b2ab6fdfe139b54de9868e2383440685d0.
+
+commit 93f9e61f433788cd70acbe2a8fbdc6a4f5fd0881
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Fri May 11 22:26:47 2007 +0000
+
+ r300: Corrected another error; regexp replaced something it shouldn't have.
+
+commit f405fbb36de167eb3294358d97e6f62a420f3bff
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Fri May 11 22:23:31 2007 +0000
+
+ r300: Corrected some macro errors from the previous commit.
+
+commit 5a09ea01e06a648b37eb167914fb1549e066326d
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Fri May 11 22:21:19 2007 +0000
+
+ r300: Reduced the diff on radeon_lock.[ch].
+
+commit 98d25a5a28b1d6e4ed299904aec4104f7d6c80b0
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Fri May 11 22:02:52 2007 +0000
+
+ r300: Initial work on merging radeon_lock.[ch].
+
+commit 0aa998b2ab6fdfe139b54de9868e2383440685d0
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Fri May 11 21:56:10 2007 +0000
+
+ r300: Merged radeon_span.c.
+
+commit b6087270a092adc18223864a9e961c59404ce1dd
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Fri May 11 21:45:14 2007 +0000
+
+ r300: Cleaned up function names in r300_texstate.c.
+
+commit 3f709f16ef1feb7c5e6f67c1deef56d97695a86d
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Fri May 11 21:40:00 2007 +0000
+
+ r300: Enable hardware 3D texture support. Fixes the stex3d demo.
+
+commit 67363327e59a2f4699802b1a26c232ad092c1c6e
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Fri May 11 21:36:13 2007 +0000
+
+ r300: Corrected a small error from 37cbf38c344012f9d6e938937dac3697b73721a8.
+
+commit bcaf8fc7b10327fd7936b22ec9b552e93497cee4
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Fri May 11 21:31:22 2007 +0000
+
+ r300: Cleaned up the blend factor function.
+
+commit ef29d6af6c24487a66155586feb9ab3eb0c3a229
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Fri May 11 21:22:37 2007 +0000
+
+ r300: Removed the r300BindProgram function; mesa default does better checking.
+
+commit 6a69bb586445da4c6bdfa00fa775a9286ead3c31
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Fri May 11 21:08:56 2007 +0000
+
+ r300: Removed deprecated/disabled VBO code from r300_mem.c
+
+ Also removed a couple of unused fields from the r300_memory_manager structure.
+
+commit cbd29adbc8f79b9cdeda531cf6bd866efc5ad89d
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Fri May 11 20:48:35 2007 +0000
+
+ r300: Indented r300_mem.c; I forgot this because it used to be radeon_mm.c.
+
+commit c729e67321e689e6109b36f64c9fc31f76c10e35
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Fri May 11 20:09:01 2007 +0000
+
+ r300: Use __FUNCTION__ not __func__.
+
+ Just for consistency; most of the code already uses __FUNCTION__.
+
+commit 5b23d3661342bbe3857829f3e306623ddb6b3dfe
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Fri May 11 20:06:43 2007 +0000
+
+ r300: Assert if the primitive type is unknown; this can't really happen.
+
+commit a87390504f8aa8e5262cf721d28c80da9fcfbd44
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Fri May 11 19:57:07 2007 +0000
+
+ r300: Moved some code around in r300_render.c and general clean up.
+
+commit cc358d861d76c58613145fa764e0481e7b693c2b
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri May 11 15:35:12 2007 -0600
+
+ user-declared uniform structs not supported yet (see bug 10908)
+
+commit 749e093e33a46a7201ec795e71e7fba6f756da7b
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri May 11 15:34:29 2007 -0600
+
+ don't ignore return value of _slang_codegen_global_variable()
+
+commit eab6e1652271f46361f95e21e9e5afcb5ffa37d7
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri May 11 15:12:40 2007 -0600
+
+ remove some unneeded code in init_machine()
+
+commit 1b39be3790a093e5b54974221478905b853cadb4
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Fri May 11 19:44:35 2007 +0000
+
+ r300: Removed some checking in r300NumVerts that is not needed.
+
+ According to Aapo Tahkola the OpenGL specification defines the behaviour when
+ there are not enough vertices for the primitive type, thus DRI drivers do not
+ need to perform verification on the number of vertices per primitive.
+
+commit 69ff5a3dbc8f4e72acbfd1bc80598408f9e6a4c4
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Fri May 11 19:28:35 2007 +0000
+
+ r300: Function naming correction in r300_texmem.c.
+
+commit 01ec508c7f722f58139fa3fd5d0a052dd5b5476c
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Fri May 11 19:21:08 2007 +0000
+
+ r300: Cleaned up function names in r300_state.c.
+
+commit d4e3b0b2c28d15eee43ebaadd9cd007ccbad91d6
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Fri May 11 17:10:59 2007 +0000
+
+ r300: Cleaned up function naming in r300_emit.c.
+
+commit b63c70666fe3187ac17024f29ff7c2c49849c1e0
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Fri May 11 17:07:09 2007 +0000
+
+ r300: Renamed r300_maos.c to r300_emit.c; it contains mostly emit code now.
+
+commit c33c00764c64f63ae71b4bb5264f9796d5762495
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri May 11 08:41:34 2007 -0600
+
+ Remove unused FB_* tokens, re-indent code.
+
+commit 6c342ad8593c3b2fe5162aeb2db8c309c15b2faf
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri May 11 08:39:18 2007 -0600
+
+ When feeding back texcoords, don't divide by W. See bug 10913.
+
+commit 86e4f52f3c0f79592c49f7fb4182b500b15431d7
+Author: Patrick Baggett <baggett.patrick@gmail.com>
+Date: Fri May 11 08:19:33 2007 -0600
+
+ Fix some bugs related to loop counters and conditional branching.
+
+commit f0707c789a4c8f02b9b9f51012bd41691779e166
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu May 10 17:33:14 2007 -0600
+
+ more indentation fixes, remove 'register' keywords
+
+commit aed53ba525e4a105a5e817786fa6346d64ad81a6
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu May 10 17:30:44 2007 -0600
+
+ re-indent some code
+
+commit 3dec7c57b0159a4d8fbb980de73264ef8b8a3720
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu May 10 16:14:10 2007 -0600
+
+ document exp(), mod() fixes
+
+commit 544e441f5307aa33c6b2d8fc5773eb7e9632fc15
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu May 10 14:49:06 2007 -0600
+
+ regenerated
+
+commit fa546c367d3251b6917f99158c6230fb375a4935
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu May 10 14:48:55 2007 -0600
+
+ Implement exp() in terms of __asm float_power. Fix typo in mod(vec4) function.
+
+ exp() was using __asm float_exp (OPCODE_EXP) but that computes base two, not e.
+ See bug 10907.
+
+commit 64a6a50155e665c2b81e9d70ce71cfd5f1fcaef1
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu May 10 15:00:41 2007 -0700
+
+ Fix reversed enable logic in enable_texture
+
+ Fix bug inserted in commit c9e723e5013443df984cb3987ffa3a9ba3384b89.
+ Discovered by Oliver McFadden (z3ro).
+
+commit c103453d4f95ea5a965c613c9ad337406e7c7cdb
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Thu May 10 22:01:41 2007 +0000
+
+ r300: Added TODO comment regarding texture tiling; I'm not sure about this.
+
+commit d7e3d1dc42664e79d52e7dafd04e834cd4caf9d8
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Thu May 10 21:40:20 2007 +0000
+
+ r300: Corrected a compile error introduced by one of the previous commits.
+
+commit 02e44e41c8bf4b4311b7d244543a0681db851bdd
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Thu May 10 21:28:04 2007 +0000
+
+ r300: Removed obsolete start_index16_packet/start_index32_packet.
+
+ It's all in r300_render.c now.
+
+commit eed67a6e3e98fd189c4a6cb591ad94ff4ccc6871
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Thu May 10 17:50:25 2007 +0000
+
+ r300: Moved some more emit code into r300_render.c.
+
+commit e856edb2794cba9d321486f602a9e07b917ce949
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Thu May 10 17:45:27 2007 +0000
+
+ r300: Moved some more of the emit code into r300_render.c.
+
+commit 58239d2ae31b12c11055ca3cd0799803670b0b88
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu May 10 10:52:19 2007 -0600
+
+ document tex sampler bug fix, code changes
+
+commit 2f6a0840c4c1d1223ca39ff16ce6ae0cbecbaedf
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu May 10 10:51:54 2007 -0600
+
+ Replace `pkg-config --cflags libdrm` with LIBDRM_CFLAGS, remove disabled lines, remove obsolete comments.
+
+commit c9e723e5013443df984cb3987ffa3a9ba3384b89
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu May 10 08:20:04 2007 -0700
+
+ Convert "bit" parameters to GLbitfield. Fix cut-and-paste bug in _mesa_IsEnabled
+
+ These changes are based on patch review comments from Brian Paul, Alan
+ Hourihane, and vehemens.
+
+commit 87a980a795b29c5114c07a74aa5d95b6e7a7f971
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed May 9 21:51:49 2007 -0700
+
+ Refactor the loop in unbind_texobj_from_texunits.
+
+ Common code was pulled out of the per-target if-statment and put at the end
+ of the for-loop. The common code is guarded by a new variable, curr, that
+ is set to point to the unit's current target in each if-statement.
+
+commit e282f89a380bfbc8ad4840b535b499541635ca9f
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed May 9 21:49:35 2007 -0700
+
+ Refactor queries of GL_(SOURCE|OPERAND)[012]_(ALPHA|RGB).
+
+ Most switch-statements that have cases for these enums already use code like:
+
+ const GLuint idx = pname - GL_SOURCE0_RGB;
+ ... texUnit->Combine.SourceRGB[idx] ...
+
+ This patch just brings the remaining bits up to speed.
+
+commit e2e4b60c7d9fc3618c0f9d7496c9ce3d5eee3ab5
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed May 9 21:46:43 2007 -0700
+
+ Refactor the way TestProxyTexImage is called in texture_error_check.
+
+commit 58dacc8df1f05cf1d9983a3f45b574b0f20f54c6
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed May 9 21:45:27 2007 -0700
+
+ Refactor Enable / Disable and IsEnabled bits related to texture targets.
+
+commit 518f9168862b2096278ae14a65c8c854c208e004
+Author: J.Jansen <joukj@tarantella.nano.tudelft.nl>
+Date: Thu May 10 08:04:39 2007 +0200
+
+ Updated OpenVMS makefiles
+
+ modified: src/mesa/descrip.mms
+ modified: src/mesa/drivers/osmesa/descrip.mms
+ modified: src/mesa/drivers/x11/descrip.mms
+ modified: src/mesa/main/descrip.mms
+ modified: src/mesa/shader/descrip.mms
+ modified: src/mesa/shader/slang/descrip.mms
+ modified: src/mesa/swrast/descrip.mms
+ modified: src/mesa/swrast_setup/descrip.mms
+ modified: src/mesa/tnl/descrip.mms
+
+commit b47018937896c67aabab69a30c485a2620abcf19
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 22:16:18 2007 +0000
+
+ r300: Name the render functions in r300_render.c consistently.
+
+commit 574bf4d34618308efa390232641e25c034ec3dc7
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 22:07:10 2007 +0000
+
+ r300: Return -1 for error.
+
+commit 795ebb1a3b5b486e8668086137decfc6ed2a7df5
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 22:06:19 2007 +0000
+
+ r300: Probably a good idea to always check the vertices; it's a WARN_ONCE so the
+
+ performance impact is extremely minimal.
+
+commit d0be8b959adae87b920b185fbe4efe6f981837fd
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 22:03:43 2007 +0000
+
+ r300: Added some more Doxygen documentation and made some functions static.
+
+commit 672ecba175d4062b983031df15b686ee39f45d17
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 21:44:07 2007 +0000
+
+ r300: Removed the "texmicrotile" variable; the tiling code is disabled via a
+
+ compiler conditional anyway; probably broken?
+
+commit 0dcea4bf8eeddf5d1f3b40c6ba5eedec298b040c
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 21:41:03 2007 +0000
+
+ r300: Converted a few "if (0)" into "if (RADEON_DEBUG & DEBUG_TEXTURE)".
+
+commit 16c503f39a05726f3e994e42cb1c03e0a308b80d
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed May 9 16:22:53 2007 -0600
+
+ Tweak the shell scripting for descending into and building subdirs.
+
+ In general, use this:
+ @for dir in $(SUBDIRS) ; do \
+ if [ -d $$dir ] ; then \
+ (cd $$dir && $(MAKE)) || exit 1; \
+ fi \
+ done
+
+ Basically, silently skip missing subdirs but generate an error and stop if
+ there's a compilation or install problem.
+ This was done inconsistantly before. In once case, a missing subdir was
+ causing us to go into an infinte loop!
+
+commit 4d5d4e1f97bf8d5c55ef817f7a28f920accc151b
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 21:06:28 2007 +0000
+
+ r300: Cleaned up radeon_context.h slightly; mostly Indent.
+
+commit a9ab36b8f2f650d6af362ed3be5fd2c1fe40e7eb
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 20:52:09 2007 +0000
+
+ r300: radeon_span.h is now common code; radeon_span.c still needs some work.
+
+commit 88288b614eb89b8995cbc2ece4bbdb25b7adb191
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 20:49:49 2007 +0000
+
+ r300: Renamed the R300 memory manager from "radeon" to "r300"; it's R300
+ specific.
+
+commit a15470606125478ae314e7dc00821e46292ac810
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 20:41:27 2007 +0000
+
+ r300: Indented radeon_span.h
+
+commit 6fe41a4c01f4ec9f280f52901554a58aa8b30627
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 20:36:48 2007 +0000
+
+ r300: Further reduced the radeon_span.c diff.
+
+commit f4a2b9f83d2b9571a2baea3c430ec15e28ac833c
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 19:30:59 2007 +0000
+
+ r300: I have no idea why this was forced on, but it seems to work fine when
+ restored to the previous behaviour.
+
+commit 56c2f7bb42eaeb443e2e273383d1d5974fc89e03
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 19:24:59 2007 +0000
+
+ r300: Removed the dangerous R300_SPAN_DISABLE_LOCKING flag.
+
+ Enabling R300_SPAN_DISABLE_LOCKING would probably cause more lockups; I think
+ there are a couple of other little bugs in this code, too. It's best to remove
+ it.
+
+commit df747eb354ca71227c9aa8aa10753be11203ca23
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 18:44:56 2007 +0000
+
+ r300: Removed a bit of disabled code.
+
+commit ff7a41a159099f92248c6560140d1b947c0e8cc5
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 18:37:46 2007 +0000
+
+ r300: Don't need to include the deprecated r300_program.h in some files.
+
+ The only file that still requires r300_program.h is r300_ioctl.c; and it should
+ use the new defines in r300_reg.h!
+
+commit 01fdb34b3933e567a902bbec27c942d510872ca1
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 18:31:04 2007 +0000
+
+ r300; Indent would destroy r300_reg.h, so add *INDENT-OFF*.
+
+commit 3c9e5cb0bda24b73b4e02fc1dbe77ac9c6aed426
+Author: Christoph Bill <egore@gmx.de>
+Date: Wed May 9 18:25:12 2007 +0000
+
+ r300: Added a few more Doxygen comments.
+
+commit a6aa1f80168a8134286040920d804a8fc86773ce
+Author: Christoph Bill <egore@gmx.de>
+Date: Wed May 9 18:24:06 2007 +0000
+
+ r300: Added some Doxygen comments.
+
+commit 967c2d220d795d9f16dbba413d57cb9dcd58ae6d
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 18:14:42 2007 +0000
+
+ r300: Converted "rp" variables (r300_fragment_program) to "fp".
+
+commit 0e6b7eb9c018e2b1e25144ac652350c33768788b
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 18:11:38 2007 +0000
+
+ r300: Don't need to sleep here; might cause performance problems the first time.
+
+commit ed42bd6e2005e8d725b29b26f6062e5c008efcce
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 18:07:16 2007 +0000
+
+ r300: Removed the obsolete GLX_DIRECT_RENDERING define.
+
+commit 2db667290a19d15122d8d0c011f4b813bb542bc5
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 18:06:10 2007 +0000
+
+ r300: Further reduced the diff between radeon_span.[ch].
+
+commit cea0c2b14426bf315ae606656274dae5eedd1b6a
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 18:01:43 2007 +0000
+
+ r300: Indented both copies of radeon_span.[ch] in preparation for merging.
+
+commit 2b5ef29a7b90724c47454547acd387f0629fdd1b
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 16:10:08 2007 +0000
+
+ r300: Removed the deprecated VTXFMT code.
+
+ This was okayed by Jerome Glisse and Keith Whitwell on the dri-devel IRC channel
+ and list, respectively.
+
+commit 4ed59c6012490e83622057bd16075070fdc49d7f
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 15:57:30 2007 +0000
+
+ r300: The empty check_space doesn't and never has done anything; removed it.
+
+commit 7e7b1f7c4d928e433e60d0d115dcf21a740db57c
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 15:38:18 2007 +0000
+
+ r300: Fix a couple of static errors.
+
+commit c48e4c6f09e4951a871163537a1e2117116e620b
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 15:28:38 2007 +0000
+
+ r300: Fixed indenting from previous commit
+ d28f6d91760374e2eb71b541b0f259f81dd73c69.
+
+commit 4f20fe8a930007ca8fd5ddaf3969902fa60a7714
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 15:21:13 2007 +0000
+
+ r300: Added R300_PRIM_NUM_VERTICES_MASK suggested by Jerome Glisse.
+
+commit d28f6d91760374e2eb71b541b0f259f81dd73c69
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 15:19:05 2007 +0000
+
+ r300: Fixed some more function names.
+
+ Note there might be some calls to the old function names in conditionally
+ disabled code, but I think I've got them all.
+
+commit fe6a2c4295a138160088fb29a9d89a5d9b8c522a
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 15:07:34 2007 +0000
+
+ r300: Changed r300_run_vb_render calls to r300RunRender in some conditionally
+ disabled code.
+
+commit faf47d9f84d4089e49917bc9a0f7836d3d26436c
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 14:45:42 2007 +0000
+
+ r300: Added a "not implemented yet" comment back.
+
+commit f9828f5c4f75683934536482a7eb9b7ef2758700
+Merge: 7b165de 62ef001
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 14:23:22 2007 +0000
+
+ Merge branch 'master' of git://anongit.freedesktop.org/git/mesa/mesa
+
+commit 7b165de5f8a4c3d99b8b9f1820e12d5899b3884f
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 14:19:45 2007 +0000
+
+ r300: Last of the indent changes. :)
+
+commit 62ef001de7c16aff459114c1dcc8097270689e6d
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed May 9 08:17:57 2007 -0600
+
+ add pointers to git repo for drm/libpciaccess, replace & with &amp;
+
+commit 76d7b62cd27fba8b5739e6523fdbf9a14eedefe7
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 14:17:16 2007 +0000
+
+ r300: Indented r300_cmdbuf.[ch].
+
+commit 901fc0de18ea1fe7b148d0eb9883080c59b406b1
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 14:12:34 2007 +0000
+
+ r300: Indented r300_state.[ch].
+
+commit c970811dab9e289b9f021cb67f39990f175c7ec5
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 14:11:17 2007 +0000
+
+ r300: Indented r300_texmem.[ch].
+
+commit bb97694fad934e53d24012dde42ee6434e4c8397
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 14:09:35 2007 +0000
+
+ r300: Indented r300_texstate.[ch]
+
+commit 516259d609d1f9c598fefb38d82103211c9463db
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed May 9 08:07:10 2007 -0600
+
+ Clean-up in I830AllocVidMem(), s/int/unsigned long/ for ret variable.
+
+commit 3e4302fe3b3cf0d559b1288f3965f800ee35cd41
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed May 9 08:04:32 2007 -0600
+
+ Check that texture units/samplers specified with glUniform1i() are legal.
+
+commit dcc8e5f4c1b504c3ddfabda6da2c3d0f2d685c9e
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 13:59:28 2007 +0000
+
+ r300: Indented r300_tex.[ch].
+
+commit 32c8d002d02194241f4b64234f5dcd6652a1f58d
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 13:55:14 2007 +0000
+
+ r300: Indented r300_context.[ch].
+
+commit c9b87b8ad880755fb522cf4abd6d2499022312cf
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 04:30:16 2007 +0000
+
+ r300: Removed the unused immediate vertices mode macro.
+
+ Immediate vertices mode hasn't been supported since early CVS versions of the
+ R300 driver.
+
+commit 5d61cfd1fd4032ae08513979bfd6d7dc1afa9c35
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 04:27:31 2007 +0000
+
+ r300: Removed a disabled/obsolete e32 in the AOS function.
+
+commit 93e957cc65003367b70f23611ef58c1c2bb64b7c
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 04:25:27 2007 +0000
+
+ r300: Removed some disabled R200 code from the R300 driver.
+
+commit 3eae496debd51a9bbc4e68be8caa6e1cff6de4d5
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 04:20:35 2007 +0000
+
+ r300: Don't indent the tables in r300_texstate.c.
+
+commit 81c6516af1f3f7284032cb54ffca5225a54f6b26
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 04:12:04 2007 +0000
+
+ r300: Indented r300_vertprog.[ch].
+
+commit 9e91351826002ef86b529ea85c3bfe5d2c58f634
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 04:08:27 2007 +0000
+
+ r300: Indented r300_fragprog.[ch].
+
+commit 328b307e2f7665bda57afa0739680ca61b54f783
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 03:44:40 2007 +0000
+
+ r300: Cleaned up the R300 Makefile.
+
+commit d316b4dc22f4d5f0b91e665885a090395e2766c7
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 03:40:06 2007 +0000
+
+ r300: Corrected a couple of "control reaches end of non-void function" warnings.
+
+commit f0126a76ac9fc9c20b1b1aecf1d476d5fd432f36
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 03:38:45 2007 +0000
+
+ r300: Corrected an error in r300_vertprog.c.
+
+ Cannot use _mesa_warning here because we don't have a context pointer; perhaps
+ R300 specific warning and error functions are needed.
+
+commit b8640db021feca2765df8ad3d31e9c818cc352ac
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 03:36:28 2007 +0000
+
+ r300: Corrected the exit codes for consistency; they are all -1 for error now.
+
+ The one exception is 300FlushCmdBuf.
+
+commit 28b47110b617c137ba18b9273c6172135a99b29d
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 03:32:15 2007 +0000
+
+ r300: Converted exit calls to _mesa_exit calls.
+
+ Note that the exit codes are inconsistent and should be fixed.
+
+commit fe2c58d2d520d49bbf4c922885ae4f0bf27fcde9
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 03:25:33 2007 +0000
+
+ r300: Converted a few fprintf calls to _mesa_warning calls.
+
+commit 4917955205e474fd6c3ad15a7dc886e04e83f34c
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 03:22:37 2007 +0000
+
+ r300: Added a warning when texture state update fails.
+
+commit eca50a27e1ecf5721a2570723b06bf22e7855f86
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 03:18:14 2007 +0000
+
+ r300: Removed some obsolete code from r300_tex.c.
+
+commit 0950e9727e4a99b78f6c3ba009dd86c06d48611d
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 03:14:08 2007 +0000
+
+ mesa: Added Vim swap files to .gitignore.
+
+commit 504fafe38942bc26ab9595e9d14be4d42421cd5c
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 03:12:51 2007 +0000
+
+ r300: Updated .gitignore.
+
+commit 72608aedc3b8e2fdf0eb57d1a9b5673d4ddeff6b
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 03:12:22 2007 +0000
+
+ r300: Added the Linux Kernel indent script.
+
+commit be56660ba0faf41ec61c79aab2b358c6436dd44b
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 02:59:11 2007 +0000
+
+ r300: Indented r300_state.[ch].
+
+commit 36c8bc6141cd8c0aafed02a5fbee15a13b0b0ca1
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 02:52:37 2007 +0000
+
+ r300: Indented r300_emit.h.
+
+commit 5c8296a6ab9ae443fecba220251d70c6670b14ed
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 02:51:13 2007 +0000
+
+ r300: Indented r300_cmdbuf.[ch].
+
+commit 6665658a568058150d33cd39dd4635472052b99d
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 02:50:13 2007 +0000
+
+ r300: Indented r300_shader.[ch].
+
+commit 204bc4e441631ae41c6a3f9dfc9af52304235c8e
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 02:49:14 2007 +0000
+
+ r300: Indented r300_maos.[ch].
+
+commit e90ad3dbbbacc954b1f87e9c985739654797ee1a
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 02:46:57 2007 +0000
+
+ r300: Indented r300_ioctl.[ch].
+
+commit 8d62afdb6a1575642fbe0e4bf3e6b279f92500e2
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 02:41:38 2007 +0000
+
+ r300: Removed the obsolete pfs_reg_t type from r300_fragprog.h.
+
+commit 59494bafb482b30f3eef468d6f11396418a09a15
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 02:35:07 2007 +0000
+
+ r300: Use an array for the vertex program sources and corrected an error from
+ 4960af08ad50a3a6ea039145de2698234c2cc892.
+
+commit 33939fd29b01e1de7262eb042e4091f1caa8c367
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 02:27:08 2007 +0000
+
+ r300: Removed the ugly CARD32 type.
+
+commit 4960af08ad50a3a6ea039145de2698234c2cc892
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 02:24:59 2007 +0000
+
+ r300: Renamed vertex_shader.h to r300_vertprog.h
+
+commit f5b0cafbb11d911949a059688c0dd05e3c5c10b8
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Wed May 9 02:18:29 2007 +0000
+
+ r300: Removed obsolete pixel_shader.h header file.
+
+commit 58eac1bbf320b4104c3158aaeca4726f1a59daf9
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Wed May 9 10:08:10 2007 +0800
+
+ Support loop, conditional update fix
+
+commit c578354642b87125d28fd7c46e4e8e734dd0492f
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Tue May 8 21:04:57 2007 +0000
+
+ r300: Renamed the VBO functions to the R300 name format.
+
+commit da37ac5ee7b8207e08f2f8dafbc27f02a9fa51c3
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue May 8 14:08:45 2007 -0600
+
+ remove some debug code
+
+commit ed2fddc98ef017d8b6460e326d08ce2635458812
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue May 8 14:03:04 2007 -0600
+
+ special case for -pthread (bug 10876)
+
+commit 58eaf0accaa38f6e02d7af928ea0851cb4ae91cd
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue May 8 13:48:52 2007 -0600
+
+ a somewhat nicer demo w/ command line options
+
+commit d132f7245deabc8bdb7effafcb489df4cee59f2e
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Tue May 8 19:46:25 2007 +0000
+
+ r300: Removed some deprecated code from r300_context.c and corrected an unused
+ variable warning in r300_render.c.
+
+commit 73bc8b63ac2206a1c1dfd02891493db6e747a36f
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Tue May 8 19:38:44 2007 +0000
+
+ r300: Last few r300_render.c clean up.
+
+commit 377ce9e074632d99d7b12f17a6e535971f755ba3
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Tue May 8 19:35:36 2007 +0000
+
+ r300: Merged some comments into the Doxygen documentation.
+
+commit f1d785188b170f1d3e79ba257cb8634f13685bca
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Tue May 8 19:31:30 2007 +0000
+
+ r300: Cleaned up r300_render.c using Indent with appropriate options.
+
+ This corrects the mess of space and tab indenting that existed in this file, and
+ probably others. The diff is actually very small if you use an external diff
+ program and ignore whitespace.
+
+commit 313c4c2643e0bf0f52efc4924a395f107ed3a493
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Tue May 8 19:22:15 2007 +0000
+
+ r300: General render clean up; added some Doxygen documentation, too.
+
+commit fbeae4f70c177ce55fa137f5e0ca5747e914140a
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Tue May 8 18:47:26 2007 +0000
+
+ r300: Moved the pipeline stages together for readability.
+
+commit 9301a6a32598a948b07bb5b33392e4ea88bde06a
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Tue May 8 18:43:56 2007 +0000
+
+ r300: Print the OpenGL define instead of a 2-digit char code in the warning.
+
+commit 6c036812be53b741b9801a14aad8163775150ca7
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Tue May 8 18:28:04 2007 +0000
+
+ r300: Clean up the vertex buffer emission code and reduced code duplication.
+
+ I tested both the unoptimized and optimized versions with Quake 3 Arena; there
+ are no problems.
+
+commit c6abbbfd0296ca0f8e4eecb29fce20cd7125f98a
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Tue May 8 18:05:10 2007 +0000
+
+ r300: Cleaned up a lot of cruft in r300_render.c.
+
+commit 8a7f474c691dc077c081b59e30937e526400860f
+Author: Dave Airlie <airlied@linux.ie>
+Date: Tue May 8 10:53:43 2007 +1000
+
+ i915/miniglx: remove unused code
+
+commit 47e33a27dfabd752dbd3ff5fbb9ba9ba32976ebe
+Author: Dave Airlie <airlied@linux.ie>
+Date: Tue May 8 10:51:44 2007 +1000
+
+ miniglx: fixup use of create windows x and y coordinates
+
+ This makes miniglx take not of the x and y from XCreateWindow
+
+commit 401629c721d04941747106f543b6bc3d1fc2634c
+Author: Dave Airlie <airlied@linux.ie>
+Date: Tue May 8 10:49:31 2007 +1000
+
+ miniglx/glut: should use the x/y pos to create window
+
+ This allows moving miniglx glut windows around the framebuffer
+
+commit f1770c32103ed23d11422e7e33e8326d09d99370
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon May 7 14:13:23 2007 -0600
+
+ better comments for _mesa_debug(), _mesa_warning(), etc
+
+commit 8130a4fe982a7583e439a1fac61c5050f85bdf46
+Author: Dave Airlie <airlied@nx6125b.(none)>
+Date: Mon May 7 07:06:08 2007 +1000
+
+ radeon: enable xpress chipsets
+
+ glxgears and googleearth now run so that seems like a good start
+
+ Thanks to Aapo Tahkola for doing the 3D work on this so far, I got lost
+ after the GART changes.
+
+commit 8f1c63b263be86758c96d1b8fb4cfc7cac552dab
+Author: Aapo Tahkola <aapo@aapo-desktop.(none)>
+Date: Sun May 6 19:25:45 2007 +0300
+
+ rs480: fix secondary color for real this time
+
+commit 857ebc6d472c66dbb6ae9d691adfdcffa53335a8
+Merge: 660bdc6 8445960
+Author: Aapo Tahkola <aapo@aapo-desktop.(none)>
+Date: Sun May 6 19:19:16 2007 +0300
+
+ Merge branch 'master' of git+ssh://aapot@git.freedesktop.org/git/mesa/mesa
+
+commit 660bdc616b01fdca30ca5aebcb5e90b3488e7b49
+Author: Aapo Tahkola <aapo@aapo-desktop.(none)>
+Date: Sun May 6 19:18:10 2007 +0300
+
+ rs480: fix textures and secondary color(?). clipping is still busted. tested on r480
+
+commit 88ae491bd224843be963f67db3531857bed68cd1
+Author: Aapo Tahkola <aapo@aapo-desktop.(none)>
+Date: Sun May 6 19:10:39 2007 +0300
+
+ r300: fix broken vbos
+
+commit 8445960d9fc9271324b2f920c6712750b7229fb6
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sun May 6 12:09:42 2007 +0000
+
+ r300: Added R300_AA_DISABLE for R300_GB_AA_CONFIG.
+
+commit 74cae00c0e5333c29b9c4483e0015019452ff7ce
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sun May 6 11:56:36 2007 +0000
+
+ r300: Removed more deprecated state code that is now set in separate functions.
+
+commit 56d966357447d55df838daa8ed3bfcc97d405beb
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sun May 6 11:54:00 2007 +0000
+
+ r300: R300_ZS_... is now set in separate functions; removed the deprecated code.
+
+commit 81d1a04e04185a91ca6ecc0148083c761a52c6c9
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sun May 6 11:52:03 2007 +0000
+
+ r300: Point size is now set in a separate function; removed the deprecated code.
+
+commit 62cbe6c3f3ba972c653d00c3f3797dde576c29fa
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sun May 6 11:36:24 2007 +0000
+
+ r300: Use the defined values for R300_VAP_CNTL_STATUS.
+
+commit 16cec9f7674f9754bc03282d6b5596fbb086acd1
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Sun May 6 14:28:23 2007 +0300
+
+ r300: fix primary color on rs480
+
+commit 5e2a66466d7f75181ccc54fba70f2a4f95d44272
+Author: Aapo Tahkola <aapo@aapo-desktop.(none)>
+Date: Sat May 5 17:07:46 2007 +0300
+
+ don't use hw to perform vertex transform etc. when using swtcl. This for compatibility with vertex programs and the fact that swtcl very rarely gets hit with tcl capable hw.
+
+commit b3378f6cc5ea9473ae7ca257ed95c39cec728ffd
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sat May 5 15:43:01 2007 +1000
+
+ nouveau: disable nouveau build by default
+
+ Until this is API/ABI stable building it by default isn't a good idea.
+
+commit 91948f99ddd08b2929aa0b993994f2745eff8bd5
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri May 4 18:32:02 2007 -0600
+
+ add </ol> tag
+
+commit ae5f67575d4696633a877e88e42499c42d8d5238
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri May 4 18:27:12 2007 -0600
+
+ Makefile clean-ups for miniglx.
+
+commit e75fbd3f918e86e545dfe6046b5d17a85be76f38
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri May 4 18:26:41 2007 -0600
+
+ Assorted miniglx updates.
+
+commit a6dad578b510d8876413871d7dc50738b7d32eb6
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu May 3 13:52:33 2007 -0600
+
+ document R300 bug fix 10848
+
+commit c6443eb1a38946437fe38123f600ed9944a9bb70
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu May 3 12:33:25 2007 -0600
+
+ fix some matrix/state token indexing bugs (see bug 10848)
+
+commit 121533defb48abddbf796aed62c1282cfa5234f9
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu May 3 09:50:08 2007 -0600
+
+ add some #includes to silence warnings
+
+commit 3cddba688d45e61f0c8a76fd4c163745f09844d1
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed May 2 18:55:45 2007 -0600
+
+ get rid of normal vector
+
+commit dc881e19098ec3d04246ad07baded5ad4d916b66
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed May 2 18:54:57 2007 -0600
+
+ get rid of OSMESA stuff
+
+commit 2dfb03beb2751c873d7a7499ffb52dac7d758184
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed May 2 18:48:51 2007 -0600
+
+ New test of the dFdx(), dFdy() functions.
+
+commit 18cfe0c801229c91d3973282b0693b8fd7df74f3
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed May 2 18:46:45 2007 -0600
+
+ document recent GLSL, R300 fixes
+
+commit 60d136f63c5a5a18b12952ec8e8532cbce086a4d
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed May 2 18:45:44 2007 -0600
+
+ changes to get DDX/DDY working again
+
+commit 62da6a1b3e341e53981e2817595e0eea107fe6cb
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed May 2 18:44:34 2007 -0600
+
+ Resuscitate some of the DDX,DDY code.
+
+ Only works for program input registers at this time.
+ Good enough for the common case of texcoords, though.
+
+commit 77e7535c0f94b94d26aa2e3d7b19c812beaba2ae
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed May 2 18:42:57 2007 -0600
+
+ fix some DDX,DDY mix-ups
+
+commit 5c1b53d58de68582c378e28fbb2fe4c0277139a9
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed May 2 12:06:43 2007 -0600
+
+ Document a deficiency in the _swrast_Translate() function with regard to point size.
+
+commit b2f1d6422bee5b08513ae83eb4903c0e20593266
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed May 2 08:48:43 2007 -0600
+
+ fix some renderbuffer/wrapper bugs
+
+commit 99f24c8d17f3a39ff0ebbeb1f7fa80142d8be648
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed May 2 08:48:20 2007 -0600
+
+ fix some StepX/StepY mix-ups in alpha interpolation
+
+commit 04c401c91ea288e8a4d2c501b6e24c3ecbc83664
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed May 2 08:29:14 2007 -0600
+
+ add *gc, *syn files to tarballs
+
+commit 03f201d9353315fc53ac2d7515e77827c8feafa1
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue May 1 14:03:16 2007 -0600
+
+ regenerated
+
+commit 594b5ad87db09aef7fa2dc9f2d52e567ab92ff70
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue May 1 14:02:49 2007 -0600
+
+ implement acos(), asin(), atan()
+
+commit bfd5cf72c47646c0ae7e518d0a6adcbb81bd5e69
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue May 1 10:23:15 2007 -0600
+
+ fog, mix() bug fixes
+
+commit 7559364027eef3d9943d09a03e094400807ecdad
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue May 1 10:22:08 2007 -0600
+
+ Rewrite of slang_inline_asm_function() to do full parameter/argument substitution.
+
+ We had been taking a short-cut w/ asm inlines by just using parameters in order
+ rather than doing full formal parameter -> actual argument substitution like
+ ordinary inlined function calls. This worked in all cases but one: mix() in
+ which the parameters were used in a different order.
+ This fixes bug 10821.
+
+commit 65faf023679988f93da82b4c7ebdc689f2094459
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Mon Apr 30 18:28:24 2007 +0200
+
+ r300: Don't crash in radeonUpdatePageFlipping when !radeon->glCtx->DrawBuffer.
+
+ This feels like a kludge, maybe there's a better solution.
+
+commit a78b26fff04026a24189ecad7ec85bfe0df2cce1
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Mon Apr 30 15:24:38 2007 +0800
+
+ support nested function call
+ else instruction fix.
+
+commit c409dbcae3607e6f83f50a28d9bbb51f5ad51be4
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Mar 29 09:42:37 2007 +0200
+
+ r300: Page flipping fixes.
+
+ Mostly making sure the page flipping state is respected when necessary.
+
+commit cbf280dc26efa2ad6a8514cd110dcdfcb7c20bd9
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Sun Apr 29 13:52:11 2007 +0200
+
+ r300: radeonMakeCurrent cleanups.
+
+ r300UpdateWindow is superfluous or even possibly wrong here; _mesa_make_current
+ will set the viewport when necessary. So the conditional _mesa_set_viewport call
+ can go as well.
+
+commit af0ae93863b4c876e70efa4e7406f04a3409f135
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Apr 28 08:51:23 2007 -0600
+
+ only load front/back face attrib if using a shader (bug 10788)
+
+commit bcc3baadbafc3f3deb79e3a753d9ee3867917073
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Apr 28 08:50:07 2007 -0600
+
+ use EMIT_1F or EMIT_4F for fog depending on fragment program (bug 10788)
+
+commit 4ca7c804db63c9eeaddf1f65dc92006e2cabacec
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Apr 28 08:01:18 2007 -0600
+
+ fix GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB bug (10787)
+
+commit bfaf6156fbc81c8073b7562365331d306d4de75a
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Apr 28 07:50:06 2007 -0600
+
+ additional checks that attr is a texcoord
+
+commit d741b10be6c254a3c52f93b9f2241aeb8ba7eba1
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Apr 27 17:05:29 2007 -0600
+
+ 7.0 blurb
+
+commit e371a5f08460f2b7a9574d35171e970c7bde4b5f
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Apr 27 17:01:23 2007 -0600
+
+ Version bumps for 7.0
+
+commit af846712fdc3a6946dca74ea67e393fbd106ea84
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Apr 27 17:00:13 2007 -0600
+
+ updates for 7.0
+
+commit c4615abb11a0fa0f6c2e0bdd543771564beb94c9
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Apr 27 16:54:05 2007 -0600
+
+ added 7.0 relnotes link
+
+commit 430e0364137565a8c5e227afd904a99bfcb5348e
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Apr 27 16:53:42 2007 -0600
+
+ added 6.5.3 MD5 sums
+
+commit 502ebe90e808853768a64853adfb8960dee64d68
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Apr 27 16:53:26 2007 -0600
+
+ 7.0 release notes (template)
+
+commit 02e958a1e448bc5928fe668d302fc431aac97555
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Apr 27 16:27:36 2007 -0600
+
+ added glGetActiveAttrib
+
+commit cce5084941f3cd23678d07569a07b6b9cf958868
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Apr 27 15:41:07 2007 -0600
+
+ "Fix" for bug 9170. May need more attention.
+
+commit 4b1d1b7b1865191a2687d548edb6c9a066005925
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Apr 27 15:25:00 2007 -0600
+
+ document perspective correction issues
+
+commit 7ff72a76590d5abdbe0891da51a5fed37d6fe312
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Apr 27 15:23:19 2007 -0600
+
+ document broken inverse trig functions
+
+commit c4b3b8dece089be52416ddadc0cf23b65f1de00b
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Apr 27 15:22:58 2007 -0600
+
+ asin(), acos(), atan() just return 0.5 for now to avoid crashing. Fix someday.
+
+commit 65bab0dad85962de221b06bcf93b8bfe678a382b
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Apr 27 08:00:51 2007 -0600
+
+ remove rc4 suffix
+
+commit 74edc663a60522ff95dbd2b1e8711f3d5bfae60a
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Apr 27 08:00:37 2007 -0600
+
+ set 6.5.3 release date
+
+commit 54d59cfb70f270dfec1253aff540953ee653bb7e
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Apr 26 12:20:53 2007 -0600
+
+ Added error check that all varying vars needed by the fragment shader are produced by vertex shader.
+
+commit b7f5b8af65603002f73b5f83b34d090536df6e00
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Apr 26 10:45:44 2007 -0600
+
+ Unconditionally update _TriangleCaps bits. Fixes software fallback bugs, such as #10687.
+
+commit 4099531a0af5717087dca993ba780ec98936c4fc
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Apr 26 07:50:26 2007 -0600
+
+ bump Windows to OpenGL 2.1, set release date
+
+commit 1606f2c1230cc01482b5dacb7596835a00299411
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Apr 26 07:49:33 2007 -0600
+
+ enable 2.1 extensions
+
+commit 1dd7c002143703f2eb76c0f372b6913bf7e06cf7
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Apr 26 07:48:35 2007 -0600
+
+ Windows updates
+
+commit f42d4ab41ed5d6a160e9902cd9e81ca644e31a35
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Apr 26 07:46:59 2007 -0600
+
+ move #include <GL/glut.h> after other #includes for Windows
+
+commit 4a28548cbfa425edd8b8ad16c93869a9c612a42f
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Apr 26 07:46:38 2007 -0600
+
+ use sqrt(), not sqrtf() for Windows
+
+commit 5814922d25fffb043b75ba8c1fd601e740e25ad7
+Author: Karl Schultz <k.w.schultz@comcast.net>
+Date: Wed Apr 25 10:28:37 2007 -0600
+
+ updates for 6.5.3 w/ VC8
+
+commit 3de20aead2b3d6f8cf6e99e5f8e15cff13d638cf
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Apr 25 10:01:30 2007 -0600
+
+ RC4
+
+commit 6d27194dffa52e076aba49edb222a70fcc77628b
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Apr 25 09:58:15 2007 -0600
+
+ fix attribsMask (re-fixes depth peeling algorithm)
+
+commit c233aa27684cd0c6c44200c3afcf4a9d5863a947
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Apr 24 22:32:41 2007 -0600
+
+ s/fog/attrib[FRAG_ATTRIB_FOGC][0]/
+
+commit c93b2a1cb71cef1a7fe900fb937a510ae4005ff2
+Author: Brian <brian@nostromo.localnet.net>
+Date: Tue Apr 24 22:22:14 2007 -0600
+
+ s/fog/attrib[FRAG_ATTRIB_FOGC][0]/
+
+commit eca456b63d41700617987ba45a09e8f2168b9577
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Apr 24 16:57:38 2007 -0600
+
+ s/DO_TEXVAR/DO_ATTRIBS/
+
+commit 4003bde6fffc3e5b9e1a115ba952b988dffb099a
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Apr 24 16:47:33 2007 -0600
+
+ get rid of an extra textured triangle function
+
+commit ddcf81990625aae34dfc65fedb17913f279fe9f7
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Apr 24 16:47:07 2007 -0600
+
+ s/TEXTURE/ATTRIBS/
+
+commit 9ede048127ea71282fd97e01516dedcfb03e2a23
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Apr 24 16:40:54 2007 -0600
+
+ trim down the number of line drawing functions, special cases
+
+commit 97693436a5740fb56c29fcd1cb0a1aa562349902
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Apr 24 16:20:50 2007 -0600
+
+ only need one CI-mode triangle function
+
+commit 8a8a5bd104e8cd9362415db77d5f6a3945939589
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Apr 24 16:16:25 2007 -0600
+
+ s/INTERP_TEX/INTERP_ATTRIBS/
+
+commit 3e5eda9ee9ff7c0e393dcc5ecb88198f1990c32f
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Apr 24 10:21:10 2007 -0600
+
+ fix typo
+
+commit f38dcc8a6a9dc09af123692ce2147675ad7c4ade
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Apr 24 10:19:19 2007 -0600
+
+ added missing VC8 .sln files
+
+commit b1b154c4981b0a1bcdfce1f6f4eabee61e792ab0
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Apr 24 08:58:12 2007 -0600
+
+ added new VC* files, bump version to rc3
+
+commit 286faac68e7f8c51fd1afa801c75db33a427f8b6
+Author: Karl Schultz <k.w.schultz@comcast.net>
+Date: Tue Apr 24 08:53:28 2007 -0600
+
+ assorted fixes for Windows/VC8
+
+commit 3b0bd0ce1747bf9145d4fcee83515d7a1e7a5f03
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Apr 24 08:52:34 2007 -0600
+
+ new VC8 project files
+
+commit 208ea84524728abc3ae46549c00eebe16c9576b8
+Author: Karl Schultze <k.w.schultz@comcast.net>
+Date: Tue Apr 24 08:19:07 2007 -0600
+
+ fix double const, move an assertion
+
+commit 7868ab6617e1b6e80c43e3daf7c9cca3693a6c11
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Tue Apr 24 07:48:35 2007 -0600
+
+ add missing semicolon
+
+commit 47ad443c55cf07b32bac04b97066cfd3c2aa3554
+Author: Sean D'Epagnier <sean@depagnier.com>
+Date: Mon Apr 23 21:17:30 2007 -0700
+
+ Added proper cleanup code
+
+commit 3db3dc58bcc361637d7473ee4b7c4e3b036c283c
+Author: Brian <brian@nostromo.localnet.net>
+Date: Mon Apr 23 22:04:03 2007 -0600
+
+ disable some errant code
+
+commit c27adc52ce48d371b94170581be173b77c16e6e6
+Author: Brian <brian@nostromo.localnet.net>
+Date: Mon Apr 23 22:03:11 2007 -0600
+
+ remove SWvertex->fog field, use attrib field
+
+commit afc132e7a9c2b2c870b61ef10311272b36ea9bf2
+Author: Brian <brian@nostromo.localnet.net>
+Date: Mon Apr 23 22:01:34 2007 -0600
+
+ remove SWvertex->fog field, use attrib field
+
+commit 335769a875d653f6076e653d3f63c6a4ba64dba2
+Author: Brian <brian@nostromo.localnet.net>
+Date: Mon Apr 23 21:27:13 2007 -0600
+
+ some re-org, clean-up
+
+commit 0bdf216dd06d5136b8529297297aa962bab548c2
+Author: Brian <brian@nostromo.localnet.net>
+Date: Mon Apr 23 21:21:52 2007 -0600
+
+ Improve the code for interpolating fragment attributes a little. More to come...
+
+commit d59e6f233b02ffe2c36c2fb89ec26c208a421540
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sun Apr 22 15:32:10 2007 -0600
+
+ import glxext.h version 19
+
+commit ad02042db2802733bc27809ad05d97db5966fd11
+Author: Sean D'Epagnier <sean@depagnier.com>
+Date: Sat Apr 21 20:18:42 2007 -0700
+
+ Fixed fallout, glfbdev driver was calling a nop function that was removed.
+
+commit f793e90e823a58c0408771c38f3a6209f78a3617
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Apr 21 15:58:37 2007 -0600
+
+ Fix color sum bug 10688.
+
+commit 112e1f2b5ab86626eb9b3de9075e9f165a397e7b
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Apr 21 15:56:10 2007 -0600
+
+ specularColor.alpha should default to 1, not 0
+
+commit e5cf37c1786057252a4db28d4ae75bd24a0e020b
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Apr 21 14:12:57 2007 -0600
+
+ fix SkipPixels bugs in _mesa_pack_bitmap(), bug 10690
+
+commit b5e9b0e56231065f6324bbd3c2c35ca53b46ddf8
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Apr 21 13:18:06 2007 -0600
+
+ Remove the !rb->Data check that was added a few months ago.
+
+ Was changed while debugging #7205. Broke the shadowtext demo. Revisit this
+ if the problem w/ bug 7205 returns...
+
+commit b1502588c4755fa9d3d7b4eabed6332575033037
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Apr 21 12:54:23 2007 -0600
+
+ s/occlude.h/queryobj.h/
+
+commit 74afcabd8599565c1b6d06ea5f355662a81c3778
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Apr 21 12:42:54 2007 -0600
+
+ Rename occlude.[ch] to queryobj.[ch]
+
+commit b3ab925e910defa0955cac1adb6167a0bff1076f
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Apr 21 12:36:39 2007 -0600
+
+ Rename occlude.[ch] to queryobj.[ch] to better reflect contents.
+
+commit 2d2c6a622d07a690dedd2b21012f3fbf2347e982
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Apr 21 12:31:51 2007 -0600
+
+ prep for 6.5.3 rc2
+
+commit fc3d6bd3519eac28d071ad6c3cfdf739a71921bb
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Apr 21 12:30:54 2007 -0600
+
+ memory leaks fixed
+
+commit e261d66d81d47c4a2380ffcb7b39164b8e191168
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Apr 21 12:29:46 2007 -0600
+
+ Remove all the USE_MEMPOOL debug code.
+
+commit cd3e39340f057712fcf02a35dff85645e475053a
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Apr 21 12:08:56 2007 -0600
+
+ Use new memory pool allocator. Lots of debug code still in place...
+
+commit ad3cc95485c488e3920f9c460b373338043000c5
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Sat Apr 21 10:47:54 2007 -0700
+
+ Fix FBO completeness bug in shadowtex.
+
+commit 4e0a64675cbd815f6063977f3effbf21acced3fe
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Apr 21 10:18:49 2007 -0600
+
+ added MemPool field
+
+commit d5e7234ba80c59505838c67c92501fa7cfde0b66
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Apr 20 12:59:26 2007 -0600
+
+ call grammar_alloc_free() to fix memleaks
+
+commit bc74cb4c0ae6210eab403ee879492fc19644b3f2
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Apr 20 11:59:18 2007 -0600
+
+ destroy window upon exit
+
+commit 257f799849a1eb3e81851b92a8fd27efa8f93d47
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Apr 20 11:54:30 2007 -0600
+
+ remove more unused vars, assertions
+
+commit 81c4fee160cd2840caf77bbdbf462e783911141a
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Apr 20 11:53:48 2007 -0600
+
+ remove unused vars, assertions
+
+commit 1fbdd9d794ca61512eb65d3e228f5fb29fb1ed83
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Apr 20 08:30:42 2007 -0600
+
+ added slang_mem.c
+
+commit 82839e8430aa7f88357cad887ae2d804072de568
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Apr 20 08:30:24 2007 -0600
+
+ Memory pool manager.
+
+ Instead of doing intricate malloc/free tracking during compiling, allocate
+ everything (which would be discarded after compiling) from a pool that can
+ be freed en masse when done.
+
+commit ced6f76404ff1a6713c85edff17551f82c33cc24
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Apr 20 08:21:49 2007 -0600
+
+ undo a test/debug change
+
+commit 4cc2674aee98a4c2972f4f097a89b7b4a30df4ab
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Apr 20 08:12:17 2007 -0600
+
+ fix instruction comment code
+
+commit a7f7366d382b2fe124f1495baf0360bffa30f0c0
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Apr 20 08:11:51 2007 -0600
+
+ another bit of debug code
+
+commit 11e3f733ba5c26f68fb8a7d69e6f94c1b5361f7d
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Apr 19 15:37:24 2007 -0600
+
+ free subroutine array (fix mem leak)
+
+commit 98ef18909a97dea9a28f0fe30797c0353a1117ce
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Apr 19 15:30:11 2007 -0600
+
+ new varnames in slang_operation_insert()
+
+commit f2346498aacdfc3e574fed43e0fe13ad3f8e2a2d
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Apr 19 15:28:42 2007 -0600
+
+ fix memleak in slang_operation_insert()
+
+commit 4b7c6fc5a655bfb8f165cb94521bc49521303a35
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Apr 19 15:23:34 2007 -0600
+
+ free shProg->Attributes in _mesa_free_shader_program_data()
+
+commit fe16b9f6633e468aa2244c36e540c1cfac2517e6
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Apr 19 15:22:04 2007 -0600
+
+ move allocation of shProg->Attributes earlier in function
+
+commit c9855a60f4b4b478bd036db8cefc06d1c7ff521d
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sat Apr 21 09:47:03 2007 -0600
+
+ Call _mesa_warning() instead of _mesa_problem() when external s3tc lib not found.
+
+ The later incorrectly encourages filing a bug (10703, for example).
+
+commit 838a2a2633e0f39000afea740c87ebce7cb0c4e7
+Author: Jeremy Kolb <jkolb@brandeis.edu>
+Date: Fri Apr 20 21:53:38 2007 -0400
+
+ Make xcb backend compile.
+ Add nouveau to match linux-dri config.
+
+commit e7e5279fc06da96c7018855b5933b144caee24ab
+Author: Brian <brian@nostromo.localnet.net>
+Date: Fri Apr 20 19:18:13 2007 -0600
+
+ Remove unused Imakefiles.
+
+commit 7fd3a6c5219393d77a8e0431d2b49d15f5304c3a
+Author: Brian <brian@nostromo.localnet.net>
+Date: Fri Apr 20 19:01:21 2007 -0600
+
+ Long obsolete.
+
+commit 720cf3aa134ea5b8603aa692777af713864b9b66
+Author: Brian <brian@nostromo.localnet.net>
+Date: Fri Apr 20 18:55:13 2007 -0600
+
+ added new xm_glide.c file
+
+commit 5491c8194c03761a1a45a17539db6bc241bacf9c
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Fri Apr 20 18:51:20 2007 +0300
+
+ xmesa: call _glapi_set_dispatch() for all xserver DDXes.
+
+ This is to unify the xmesa code across xserver DDX'es. The call is intented for
+ XGL, but it does not hurt to call for other DDX'es. In fact it was not guarded
+ against XGL when it was first added in xserver.
+
+commit e4e2068ac9d21ce50e863ccf3171462ab61c3ec8
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Wed Apr 18 23:44:01 2007 +0300
+
+ xmesa: minor cosmetic
+
+ mainly drop 'client' argument from initialize_visual_and_buffer().
+
+commit 6346a753c6e77373cffcec6dd0df253efd159dd4
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Fri Apr 20 18:25:42 2007 +0300
+
+ xmesa: split FX functions to separate file, part 2.
+
+commit 4d944b502f8a1ae372d9248e888612bffb5eb6a5
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Fri Apr 20 18:12:38 2007 +0300
+
+ xmesa: split FX functions to separate file, part 1.
+
+commit 6aa5668871e7f366b33e85fabc72885fc269a7d4
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Fri Apr 20 17:51:55 2007 +0300
+
+ xmesa: spilt FX code to separate functions.
+
+commit d60009bd6dba15d094b0d0bcb8180b7a2e1c1708
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Fri Apr 20 17:35:01 2007 +0300
+
+ Revert "xmesa: drop glide (FX) backend."
+
+ This reverts commit 2a2f8d806f74619f0a7cf97fdc7f7b3ad1cad81b.
+
+commit 535c37e85d9283f177825e7534e5d0abb4d93886
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Apr 19 14:24:58 2007 -0600
+
+ Notes about shared lib version. Document depth-peel fixes.
+
+commit ba3d384e94faaedd4b1e0a90c1a765452bf594f3
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Apr 19 14:24:29 2007 -0600
+
+ dFdx(), etc. don't work yet
+
+commit 8b5fce6bcc88cd9dd321f0db95c1714e5e5e85a1
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Apr 19 14:24:10 2007 -0600
+
+ Put gl_program_machine into swrast structure rather than using a local variable.
+
+ Basically an easy way to make sure the memory gets initialized once (to zero)
+ to avoid lots of valgrind warnings.
+
+commit 020cdb47cf172c6ef8da78abcf6621233439d08b
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Apr 19 14:15:11 2007 -0600
+
+ Fix valgrind problem caused by reading text[-1].
+
+commit 121f2212ccfa716e4853d0eead3755103d8c89e4
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Apr 19 14:07:16 2007 -0600
+
+ remove invalid assertion (span->facing may be set because of polygonmode)
+
+commit 24a93dd6a427567071bd5aecd7bf53828381bc73
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Apr 19 14:06:43 2007 -0600
+
+ remove invalid assertion
+
+commit 00da9afb8493a883b4a4db47484e875781c72c71
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Apr 19 14:06:27 2007 -0600
+
+ fix crash when program has invalid structure field
+
+commit 4abcaf3949a7ad9580a05d6029f2289adb4bcf03
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Apr 19 14:04:30 2007 -0600
+
+ init A.curFuncEndLabel = NULL
+
+commit 6bde08815fae2a5ba95e0446d8c73040d1f321bc
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Apr 19 11:23:26 2007 -0600
+
+ In _mesa_unpack_depth_span() look for special cases of GLuint->GLushort and GLushort->GLuint conversion.
+
+ This improves performance and avoids int/float/int conversion problems that
+ can introduce errors during glCopyTexImage(). Another fix for the depth peeling
+ algorithm.
+
+commit 8e6207396c6314d07614c80670f4e3196e3a8551
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Apr 19 11:21:14 2007 -0600
+
+ Don't allow deferredTexture if using occlusion query and a frag shader.
+
+ Occlusion query might depend on the shader killing/discarding fragments.
+ Helps fix depth peeling technique.
+ Also, minor tweaks in interpolate_wpos().
+
+commit 5ca8d4ccf24af1c174ff791f15cf9f19defd9b7e
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Apr 18 18:05:33 2007 -0600
+
+ fix an uninitialized variable and a warning
+
+commit 6b3027e291baf6a7dc5e63780d05f89753a13d74
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Apr 18 16:48:55 2007 -0600
+
+ comments, assertions
+
+commit 8d370fb2eee702e1ba2c622716645d450272549a
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Apr 18 16:46:53 2007 -0600
+
+ new comments
+
+commit 36a6a59972857676108c4ee72e677734848d3056
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Apr 18 16:44:02 2007 -0600
+
+ record proper datatypes for uniforms/samplers
+
+commit addd03da2e254d16088171012c9ca0d157b0d4c2
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Apr 18 16:43:40 2007 -0600
+
+ added _slang_gltype_from_specifier()
+
+commit c93e883b205a679aa80f6228459890f9118ad909
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Apr 18 16:27:35 2007 -0600
+
+ Start fixing some issues with uniform variables and their types.
+
+commit 274ac7a801766a0ae766219ec6a40ed52e479d07
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Apr 18 16:05:53 2007 -0600
+
+ Fix some bugs related to querying active uniforms.
+
+commit aaa57412c1a682730f27f08bd89a79b8b81f982f
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Apr 18 15:22:43 2007 -0600
+
+ fix error strings, add a sanity check
+
+commit 2a2f8d806f74619f0a7cf97fdc7f7b3ad1cad81b
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Wed Apr 18 23:54:00 2007 +0300
+
+ xmesa: drop glide (FX) backend.
+
+ glide is no longer compiled with stand-alone libGL, so this will not link.
+ There are still the glide config files. some code in demos and the
+ GLX_MESA_set_3dfx_mode code which could be removed.
+
+commit bac15c8db87261ea168caa98d818bd6917ca14d6
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Apr 18 14:55:18 2007 -0600
+
+ Remove bad assertions, decrement NumShaders in _mesa_detach_shader().
+
+ Fixes crashes w/ Brad King's depth peeling test.
+
+commit f3e8c32376d8bdf1c48a0a2ad97eddcde7fc2f00
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Apr 18 14:53:23 2007 -0600
+
+ s/GL_SHADER_PROGRAM/GL_SHADER_PROGRAM_MESA/ (a Mesa-specific token)
+
+commit 6d3d9c1c6de33646b63d47892863939ee1b1e624
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Apr 18 14:19:17 2007 -0600
+
+ Replace _mesa_parameter_longest_name() with _mesa_longest_parameter_name().
+
+ The later takes a type parameter so we can match uniforms or attributes/inputs.
+ Used by the GL_ACTIVE_ATTRIBUTE_MAX_LENGTH and GL_ACTIVE_UNIFORM_MAX_LENGTH
+ queries. Fixes problem reported by Brad King in VTK.
+
+commit e57e752eeef1611cbc8bf9e0aca8c2467267f027
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Apr 18 12:41:16 2007 -0600
+
+ call ProgramStringNotify() after linking
+
+commit 884af408644e3fa9aa0ffc544f84ec4a7f3a93b9
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Apr 18 12:09:40 2007 -0600
+
+ check _PreferPixelFog in _swrast_span_default_fog(), see bug 10669
+
+commit 30a79f76fc4ae3bbf2307489bf9da1527f124e91
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Apr 18 12:08:18 2007 -0600
+
+ improved fog comment
+
+commit 8598f550916449b99351a51e2a20e4c4cff021d3
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Apr 18 09:30:07 2007 -0600
+
+ glean glsl test now does over 150 tests
+
+commit 6d01f3f1ec21da5bdf3191869ee0be42b3c11d57
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Apr 18 09:28:38 2007 -0600
+
+ added href to shading language info
+
+commit e3caa5f891125d273174ff4a136c8ca313430138
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Apr 18 09:07:56 2007 -0600
+
+ prep for 6.5.3 release
+
+commit d9443c24945381e12c82d46d638685a499033457
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Apr 18 08:52:18 2007 -0600
+
+ add progs/glsl/ to DEMO_FILES, s/pre/rc1/
+
+commit 565cd49b5fc7a5bd1e533542888bf322b83b8e56
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Wed Apr 18 12:37:09 2007 +0800
+
+ fig segment fault issue in TAG(triangle), (see bug 10589)
+
+ Bit SS_TWOSIDE_BIT is set if gl_FrontFacing lives in
+ fragment input (see commit 10b5895597d5e069183cb647d17eb412effceb4f).
+ However, VB->ColorPtr[1] isn't assigned after that.
+
+commit a4b2b8833751555d1e6cbc65f449b7182aa52e54
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Apr 17 16:00:17 2007 -0600
+
+ omit the glide/svga sources from stand-alone libGL (anyone using them?)
+
+commit 04bda46739beb0dab7c8820bdbe67136470d42be
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Apr 17 15:56:46 2007 -0600
+
+ Enable texture sampling for vertex programs/shaders.
+
+ This is a bit of a hack for now because the tnl module is using the swrast
+ module to fetch texels. The texture fetch/filter code should probably be
+ moved into the main/ module since it doesn't really depend upon other
+ swrast code.
+
+commit d2d86a3f0b38716196ea2b3ffa4cbbd0420de1b3
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Apr 17 10:19:47 2007 -0600
+
+ In bind_inputs() set VB->EdgeFlag to NULL if it's not needed.
+
+ Otherwise, the clip/interp code was finding VB->EdgeFlag to be non-null and
+ reading/writing it when the memory may have been freed earlier in free_space().
+ This fixes several VTK segfaults/failures reported by Brad King @ Kitware.
+
+commit 9cbcf7c696372c680c87cf60c2e290e78e9e14c8
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Apr 17 09:16:59 2007 -0600
+
+ regenerated
+
+commit 468a33d19a0187b55a01660c65306db128280bd3
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Apr 17 09:16:30 2007 -0600
+
+ fix/simplify some texture functions
+
+commit 893b368a82c4d84b8f2c43c178e4f1881dbfe698
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Apr 17 09:15:57 2007 -0600
+
+ more matrix function updates
+
+commit 41fc55dd81ebf1def2d4a8df8fee849d6e97eaab
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Apr 17 08:29:37 2007 -0600
+
+ don't set GL_TEXTURE_MAX_LEVEL for GL_TEXTURE_RECTANGLE_ARB as that generates an error
+
+commit 1a9483c95492bee3fbda131181945b6c878bf52f
+Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
+Date: Tue Apr 17 15:21:54 2007 +0200
+
+ Defer buffer pool creation to the first context creation.
+ This way we have a hw context so that we can take the hardware lock.
+ Also, at this point, AIGLX isn't locked with the X server context as it is
+ at screen creation.
+
+commit 36949abec763e56a5356b65e2f2570cfed11d853
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Tue Apr 17 14:01:42 2007 +0200
+
+ cleanups for t_vb_program.c
+
+ use VertexProgram._Current instead of VertexProgram.Current in a few more places.
+ Only fixup fogc and psiz in case this is really a nv program (others are fine
+ if undefined), and fix this case up so the values actually get written.
+
+commit 6459adf79b0a3622515d5f2197a791538ca2f342
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Tue Apr 17 07:05:15 2007 +0000
+
+ r300: r300_render.c:391: warning: unused variable 'i'
+
+commit badc346206453714e95e19d381e1a0495b63ceab
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Apr 16 17:56:13 2007 -0600
+
+ lots of changes, fixes, clean-ups
+
+commit 4a7c45118d5f122a4550f259424b6820fe3945eb
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Apr 16 17:36:39 2007 -0600
+
+ just clean-ups
+
+commit 34ca2be76920db75a31abcccde30570b659fed19
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Apr 16 17:18:39 2007 -0600
+
+ move GL_EXT_stencil_two_side into alphabetical position
+
+commit 5888010362debf0f32c1596c9082a16048b29f39
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Apr 16 17:16:46 2007 -0600
+
+ Fix glActiveStencilFaceEXT dispatch problem (bug 10523).
+
+ OK, _all_ extensions that might get enabled by the driver need to be in the
+ card_extensions[] list. driInitExtensions() is called at least twice: first
+ during screen creation, then once for each context that's created.
+ The first call sets up the dispatch table. The second call just sets the
+ extension enable/disable flags.
+
+commit dfee7619d433a8b27fb5573d92873f9355ca6a5d
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Apr 16 15:15:53 2007 -0600
+
+ remove _tnl_arb_vertex_program_stage
+
+commit 96e05da1c959b3dad7250ccfad1bf540bbec2fbf
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Apr 16 15:15:23 2007 -0600
+
+ remove _tnl_arb_vertex_program_stage
+
+commit 1560de2c3c7f9d4e07b34e805e649769ca5a0cbe
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Apr 16 15:09:39 2007 -0600
+
+ need to clamp MAD for linear fog
+
+commit 921b0084198168effa08f688f078249ae29ee6c3
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Apr 16 11:03:14 2007 -0600
+
+ removed unused t_vb_arbprogram stage
+
+commit aa6992a296a51d8a336b88baf9c2a93e0ba5a812
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Apr 16 10:59:00 2007 -0600
+
+ remove t_vb_arbprogram.c
+
+commit 4b3835dadf37267ad5fba8ffd675e826d3691f9a
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Apr 16 10:58:30 2007 -0600
+
+ unhook t_vb_arbprogram.c code - it's going away
+
+commit 64e8088667d000a70beff93e8c300ac0bd261a60
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Apr 16 10:36:28 2007 -0600
+
+ Use generic program limits instead of NV-specific ones to init program constants.
+
+ Previously, this limited us to 12 temp regs for vertex programs. Many vertex
+ shaders could exceed that. This forces us to stop using t_vb_arbprogram.c
+ for now because of its particular register indexing scheme. Need to increase
+ bits allocated for register indexing, etc.
+
+commit 3dfcd48469b63c601010ea43e0d5e9ea1dc5dfab
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Apr 16 10:32:48 2007 -0600
+
+ Fix some assertions that could occur when an error was earlier logged.
+
+commit e812a2a484660c87383e7e7d8897a9bcf85cf9cc
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Apr 16 09:11:20 2007 -0600
+
+ use b->display instead of b->xm_visual->display to fix some problems detected w/ valgrind
+
+commit da56df9d722a2eb8223434d130436bcb6ea47188
+Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
+Date: Mon Apr 16 16:04:12 2007 +0200
+
+ Make sure we are locked when creating drm buffer objects.
+ Don't place buffer objects on unfenced list when newly created.
+ Fix a buffer object wait-for-idle deadlock.
+
+commit 9519785e298c665f8aafe57a6a1b2d5c5d484a6d
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Apr 14 09:38:20 2007 -0600
+
+ illegal to set GL_TEXTURE_MAX_LEVEL w/ GL_TEXTURE_RECTANGLE_ARB
+
+commit 83ad64d94a69c23f6b55ba15c7f031140bff3256
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Apr 14 09:36:17 2007 -0600
+
+ implement shadow2DRect functions
+
+commit fde15a2bae2f2ca552763705f12d53e4606feabf
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Apr 14 09:33:20 2007 -0600
+
+ Fix sample_depth_texture() to handle texture rectangle coords.
+
+commit 216eb81c53908c9ac774a378425691aa66205a88
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Apr 14 08:09:12 2007 -0600
+
+ set osmesa renderbuffer refcount=1 upon creation, free renderbuffer in OSMesaDestroyContext()
+
+commit 4fc46a6c82419ec379896a9b9992c3cb6721904f
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Apr 14 08:06:54 2007 -0600
+
+ more _mesa_unreference_framebuffer() calls, remove dead code
+
+commit e19cfabb6ec091982cc92ec59aa5dedf3cdf2302
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Apr 14 07:49:21 2007 -0600
+
+ fix negative zoom factor bug (10636), more comments
+
+commit 8d8a3cc39816168e5f04a668ae184cafe64d4fd2
+Author: Dave Airlie <airlied@nx6125b.(none)>
+Date: Sat Apr 14 17:44:33 2007 +1000
+
+ r300: emit different clear paths for non-TCL, this gets the clear color correct
+
+commit fb1d22d23d0f2db518f10e6e1aeaea357de61cd9
+Author: Dave Airlie <airlied@nx6125b.(none)>
+Date: Sat Apr 14 17:42:59 2007 +1000
+
+ r300: remove unneeded semicolon from macro
+
+commit 3d59042afdaff9e67c6422cd8fa73d1bbbfbe940
+Author: Dave Airlie <airlied@nx6125b.(none)>
+Date: Sat Apr 14 04:52:27 2007 +0100
+
+ r300: if we don't have TCL don't setup state emissions for vertex shaders
+
+commit 967c1056d5e86231e4a545a748973e1123cd19c1
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Apr 13 09:55:35 2007 -0600
+
+ patch for Digital/Tru64 (bug 10635) - forwarded to OpenGL ARB as well
+
+commit 9f8373d5cada37ed71e5908a7158d56d9a4c34d5
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Fri Apr 13 18:13:08 2007 +0300
+
+ xmesa: drop unused XMesaPutImageHelper.
+
+ It could only be called from XMesaCopySubBuffer but this function is not used
+ by XFree86.
+
+ It seems that XMesaPutImageHelper would handle sub-images but never got
+ finished. Proper sub-image helpers should be written if need be.
+
+commit 50aaabc248c9823106ff772873cbf2631d4dadcd
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Fri Apr 13 18:12:37 2007 +0300
+
+ xmesa: export xmesa functions used by xfree86.
+
+ This uses xmesa.h as the GLcore interface and avoids adding an explicit GLcore
+ inteface which would not be a proper interface anyway.
+
+ It puts the declarations of the three functions specific for XMesa/XFree86 in
+ xmesa.h, we can push them down to xmesa_xf86.h if hiding behind XFree86Server
+ ifdef's is not enough.
+
+commit 30b6f11de1f2f3b9198388451b8a1f73f012c964
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Apr 12 16:18:27 2007 -0600
+
+ s/version/vertex/
+
+commit f11604a30d9ec7ab74f03be2055f8bb8ca4fe211
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Apr 12 16:17:01 2007 -0600
+
+ fix bug in _playback_copy_to_current(): need to skip version position data (see bug 10587)
+
+commit 99193e4f7454bf5a9cfa0bc3ee6935d8cc85b7fa
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Apr 12 15:45:02 2007 -0600
+
+ disable debug printfs
+
+commit 5b74fe08897d8897161566ef4cd59b09474d5837
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Apr 12 15:23:55 2007 -0600
+
+ Added sanity checking in _slang_sizeof_type_specifier() to be sure sizes are what's expected.
+
+commit 431d650f2b2969951cdc66822d1652da1bf6c286
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Apr 12 15:22:53 2007 -0600
+
+ use _mesa_clear_shader_program_data()
+
+commit 3c008a014f7c1d14209b70b4b030bf7738aa16d7
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Apr 12 15:22:32 2007 -0600
+
+ New _mesa_reference_shader/program() function to consolidate refcounting.
+
+ Note that (unlike texture objects), shader handles remain valid (in the
+ hash table) after glDeleteShader/Program() if the refcount isn't zero.
+
+commit 35707dbe57873adb5a8088cd47c13bd216e143e4
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Thu Apr 12 09:43:00 2007 +0800
+
+ Initial 965 GLSL support
+
+commit bf287356cfc806f9df862a05620f046f8980a8e7
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Apr 11 14:09:32 2007 -0600
+
+ restore 200x200 window size, animation, version check
+
+commit bce7043ebcbb75cec727553341af4c66b03732ef
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Apr 11 12:30:31 2007 -0600
+
+ regenerated
+
+commit 70b0e123c408fde95fca4ca699c06167c9a622fa
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Apr 11 12:30:03 2007 -0600
+
+ checkpoint: updating non-square matrix constructors and operators
+
+commit f98f4f6d7a4756c7ed6723abdf5e8ceaf1ff2ed0
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Apr 11 12:29:38 2007 -0600
+
+ move/fix texture sampling funcs
+
+commit afc58f5f7e23e627cb013306664fce8973afabe4
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Apr 11 11:13:37 2007 -0600
+
+ s/Shadow/SHADOW/
+
+commit b61d74c57589cf22f003ac7f9db3aa47fd1b3cb2
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Apr 11 09:04:18 2007 -0600
+
+ as with prev commit, also fix color index mode zoomed depth copies (bug 10608)
+
+commit 9f66025f54a3a9cc33cba56ec7c9f59721ddbec7
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Apr 11 09:00:56 2007 -0600
+
+ fix invalid error detection problem in _mesa_bind_attrib_location(), bug 10602
+
+commit 183d8e06206dd264adabdf8d6b6ad06143d237e8
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Apr 11 08:47:05 2007 -0600
+
+ fix zoomed depth copies (bug 10608)
+
+commit b0bba038467a0b22618be105010b7b3b3859b4e5
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Apr 11 08:11:52 2007 -0600
+
+ use _mesa_reference_renderbuffer(), fix typo
+
+commit ba876be0c0711f089c0cde9739f349b137430770
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Apr 10 21:51:27 2007 -0600
+
+ fix/work-around allocation bugs for non-square matrices
+
+commit 319ce38fa4984d4cfe8575126bb0d7aa10ef27a1
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Apr 10 21:50:53 2007 -0600
+
+ update SLANG version test
+
+commit 64700be4e11ff735f0530812f6f319628e4b33c5
+Author: Dave Airlie <airlied@nx6125b.(none)>
+Date: Tue Apr 10 11:46:58 2007 +0100
+
+ rs480: set vap cntl to what fglrx uses for non-TCL cards
+
+commit 159ecba4b335f09cb9345c67f48187db796f8955
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue Apr 10 11:05:17 2007 +0200
+
+ i915: Bring test for vsync to pipe B in line with i915tex.
+
+commit e798d22556e0281240b448d5a0baa0ba9a68e134
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue Apr 10 11:04:19 2007 +0200
+
+ Add missing generated file.
+
+commit 0109b4710615d55155b4ef85a599a86769dc0325
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Apr 9 19:07:13 2007 -0600
+
+ NULL ptr check
+
+commit 7b2626f7d8ed3a336575a7caeb4166434293e535
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Apr 9 19:04:45 2007 -0600
+
+ plug in GLSL 1.20 unit
+
+commit 19121e2802ced7b4ddb64394bfb03655c3bf03dd
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Apr 9 18:36:55 2007 -0600
+
+ undo a debug/test change
+
+commit e0bbf463428ac51f3ba022b23d93d47b1cfd152d
+Author: Dave Airlie <airlied@linux.ie>
+Date: Tue Apr 10 09:32:13 2007 +1000
+
+ r300: don't enable VAP/TCL on cards that don't support it
+
+commit 702c8f1e6ca51aef356e89ee9c5f2e99a4191a8a
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Apr 9 11:21:51 2007 -0600
+
+ remove unneeded initialization code (see bug 10569)
+
+commit f9574c3f6bd982f039b4c3ec3bb278cc3d043d29
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Apr 9 08:49:26 2007 -0600
+
+ allocate __GLXdisplayPrivate w/ Xcalloc instead of Xmalloc (bug 10569)
+
+commit e8292d28e4aeb96f70140ed627c24b6f30b50a80
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Mon Apr 9 14:57:08 2007 +0200
+
+ i915tex: Fix some mismatches between texels or bytes for pitch/stride.
+
+commit c96974f78cf3bbb94c01d6c84201595b4028d840
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Mon Apr 9 14:52:18 2007 +0200
+
+ i915tex: Make sure texture format fetch hooks are initialized.
+
+commit 6461e91ac3ce6160107d5df7468572c6e943f442
+Author: Dave Airlie <airlied@linux.ie>
+Date: Mon Apr 9 22:03:31 2007 +1000
+
+ the RS400 definitely doesn't work at this point so don't let it init
+
+commit af807a4696866a4ee08bb2a4e95b9c02011db530
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sun Apr 8 21:48:19 2007 -0600
+
+ enable GLSL 1.20
+
+commit 5c0c60a13cb95032a49aa77ae7275387a351a057
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sun Apr 8 16:47:32 2007 -0600
+
+ support for GLSL 1.20 non-square matrices
+
+commit 5dba996dba3bd55f1f44904e7abd9486fee899d9
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sun Apr 8 15:50:31 2007 -0600
+
+ add glsl to PROGRAM_DIRS
+
+commit 9612a3011f52ab98b42e48d0eed76b68bca92e57
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sun Apr 8 15:42:26 2007 -0600
+
+ fix some dependencies, remove some CFLAGS
+
+commit 0d3d930912d0e4c78f5e4785625614fe8b5b613e
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sun Apr 8 15:41:02 2007 -0600
+
+ add 2.1 functions
+
+commit d8bfc42bb778e46e64569a6f621e9d41ddca2e59
+Author: Adam Jackson <ajax@benzedrine.nwnk.net>
+Date: Sun Apr 8 14:40:03 2007 -0400
+
+ Make sure GLX entrypoints are marked PUBLIC.
+
+ Fedora bug #229808.
+
+commit ca7885f7337141b50abd8f64d8773cabbf0256fe
+Author: Wei Wang <wei.z.wang@intel.com>
+Date: Sun Apr 8 11:24:08 2007 -0600
+
+ fix bug 9823: GL_CLIENT_ATTRIB_STACK_DEPTH query fails for indirect rendering
+
+commit 917675217256480163d437015253d1d2b6cad55c
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Sun Apr 8 14:04:15 2007 +0200
+
+ i915tex: Clean up resizing of renderbuffers.
+
+commit 79bf6924208136247bca2d5f70547f2fe359ecdb
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Sun Apr 8 14:02:14 2007 +0200
+
+ driUpdateFramebufferSize: Use ctx->Driver.ResizeBuffers.
+
+commit f72e7fb1d6bbec67f295988ac22087820dee21ce
+Author: Brian <brian@i915.localnet.net>
+Date: Sat Apr 7 20:38:25 2007 -0600
+
+ MAX_TEXTURE_COORDS_ARB and MAX_TEXTURE_IMAGE_UNITS_ARB had wrong glGet info.
+
+ Fixes bug 10371.
+
+commit 4647f13c43a1f4f4dba60a609c370fb0a614bf49
+Author: Brian <brian@i915.localnet.net>
+Date: Sat Apr 7 19:36:58 2007 -0600
+
+ fix etags command to find headers
+
+commit 20ec486baf6ee0909294e15550773f57f0789ec7
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Sat Apr 7 18:41:14 2007 +0300
+
+ Drop XFree86Server from execmem.c
+
+ This is a remnant from the libcwrapper days that can be removed now. It is the
+ last XFree86 glitch in Mesa core.
+
+ Reverts the following commit (thanks to Brian Paul for pointing to it):
+
+ commit 8b1dc68662f2a18ea4e02c6d3247c5d1da741aa8
+ Author: Alan Hourihane <alanh@tungstengraphics.com>
+ Date: Tue Jan 24 21:40:53 2006 +0000
+
+ pull in fix from 6.4 branch for XFree86Server definition
+
+ commit cc7b6810e2fe6ab485fd96d5f17bf5d9329bd153
+ Author: Ian Romanick <idr@us.ibm.com>
+ Date: Fri Oct 21 18:09:24 2005 +0000
+
+ Make execmem.c compile in the server (libGLcore). Since xf86mmap
+ doesn't know about MAP_ANONYMOUS, this is the only viable fix. This
+ issue will likely have to be revisited at some point.
+
+commit 55000888b9d1dcbf477d23afd16974450828a143
+Author: Richard Hughes <hughsient@gmail.com>
+Date: Sat Apr 7 08:48:07 2007 -0600
+
+ set version for tarballs to 6.5.3pre for now
+
+commit 4f9d3a07bbe731709e6819448d21dee609a37806
+Author: Richard Hughes <hughsient@gmail.com>
+Date: Sat Apr 7 08:46:44 2007 -0600
+
+ fix references to non-existant sz4 field
+
+commit 84803279ca83a21d830a76764c25e26e01e7ebc2
+Author: Richard Hughes <hughsient@gmail.com>
+Date: Sat Apr 7 08:46:10 2007 -0600
+
+ fix some CHAN_TYPE==GL_FLOAT breakage
+
+commit 8d2d6e5194fb49619ed5125d95f8619bdf3b8106
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Apr 7 08:43:40 2007 -0600
+
+ fix comment typo
+
+commit e9c614a1af05057d35692e27d569c6f78b718638
+Author: Richard Hughes <hughsient@gmail.com>
+Date: Sat Apr 7 08:39:24 2007 -0600
+
+ remove array_cache/, add vbo/
+
+commit 8f3fc5221cbbc93f66d35a526e8385edf56adce5
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Apr 7 08:38:36 2007 -0600
+
+ added glActiveStencilFaceEXT
+
+commit ae55d5322c9cff61f61e8df04bb0846332cc85ce
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Apr 6 15:45:11 2007 -0600
+
+ for evaluators, loop to VBO_ATTRIB_TEX7, not VBO_ATTRIB_INDEX. See bug 10543
+
+commit 92b7fa7b48691e95d33bc0580cfad858782622ac
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Fri Apr 6 13:28:39 2007 +0300
+
+ xmesa: use newly added xm_image.[hc]
+
+ Keep external includes to glxheader.h and xmesa includes to xmesaP.h.
+
+ Drop the following from xm_image.h:
+ - dix-config.h (comes from glheader.h)
+ - xfree86 includes (come from GL/xmesa_xf86.h)
+ - ifdef __CYGWIN__ (leftover ? xm_api.c has something similar)
+
+commit eb4a8b4bb556524df9a8db066c512385e96d8487
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Fri Apr 6 13:27:43 2007 +0300
+
+ xmesa: add xf86glx_util.[hc] from xserver as xm_image.[hc]
+
+commit 663a3e9ba700c832bfaea1f2131a37c5505d1c25
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Fri Apr 6 13:22:41 2007 +0300
+
+ Drop the funky SSE exception test on linux.
+
+ Replace the check for IN_DRI_DRIVER with the appropriate kernel version check
+ and just disable SSE on older (pre 2.4) kernels.
+
+commit 51a894e6ebc3412a6d634a7378806f137374b09a
+Author: Brian <brian@nostromo.localnet.net>
+Date: Thu Apr 5 21:12:44 2007 -0600
+
+ fix color storage bug in convolution path
+
+commit ac32b644eec8d4f88d0dd2ec352fcab4871192a2
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Apr 5 11:43:07 2007 -0600
+
+ include points.h to fix warnings
+
+commit 487f7a73cbb8534ab163ef8a3549caa71684b607
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Thu Apr 5 19:01:51 2007 +0300
+
+ Remove SI imports/exports remnants.
+
+commit aa1c79eaea96283e3ac7bae513b8d7535b875ce9
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Thu Apr 5 19:00:47 2007 +0300
+
+ glx: minor cosmetic in glcontextmodes.c
+
+ move memory macros to separate block and unwrap malloc/free for miniglx towards
+ cleaning Mesa core glitches in glx...
+
+commit 885111518eeb60664b2ac708512dc8b599060280
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Thu Apr 5 18:59:42 2007 +0300
+
+ Move glcontextmodes.c to glx.
+
+ It is no longer linked with DRI drivers, libGL passes function pointers through
+ the DRI interface.
+
+commit 0cae814f362bd7e648535c8ceae12ad286d20d73
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Apr 5 09:28:09 2007 -0600
+
+ temporary add some extra renderbuffer debug code
+
+commit 33c3739628616c0aaf10e51eae50611169ded0dd
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Apr 4 22:18:53 2007 -0600
+
+ Remove the never-used SI-style imports/exports code.
+
+commit 4d864b087e9c998b28b37e10d41418edbaba9fab
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Apr 4 09:33:12 2007 -0600
+
+ assorted updates
+
+commit 2f207dcf1ec6677019349961e46c41a49623a25c
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Apr 4 09:31:41 2007 -0600
+
+ assorted documentation updates
+
+commit f9c01c33d3d168ae7c2eadc6c0fb10faada6f6f5
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Apr 4 09:30:28 2007 -0600
+
+ init span.y=0 to silence warnings
+
+commit d4dc57bb13386f4503000dc34c6bf67a8387fc9f
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Apr 4 08:48:06 2007 -0600
+
+ Overlapping copies with zoomZ=-1 were broken. See bug 10521.
+
+ Need to check for overlapping src/dest regions before computing bottom-to-top
+ vs. top-to-bottom order.
+
+commit a28e64869022962ee7c0fa7ea7a211cd6b58c4bb
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Apr 4 08:26:41 2007 -0600
+
+ remove debug printf
+
+commit 40ae3943f2ced65cdb77091f7dd31b57a0f422dd
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Wed Apr 4 16:50:47 2007 +0800
+
+ i810/i915/i915tex: reinitialize the context point state
+
+commit dba21ed913da2222e3b55fc8ba724ca93acbabf1
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Mon Apr 2 20:59:51 2007 +0200
+
+ Fix in t_vp_build: Missed necessary updates sometimes
+
+ _mesa_update_state doesn't always reset VertexProgram._Current to NULL.
+ This caused us to skip a necessary update of the fixed function vertex
+ program sometimes.
+
+ Change the logic such that we check for updates whenever the _Current
+ program is either NULL or the program generated by t_vp_build.
+
+commit 66d336808d3eb01eab42fb311b932bfe9f7c6b1c
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Apr 2 10:03:34 2007 -0600
+
+ Call _glapi_set_context(NULL) in _glapi_check_multithread() to make sure the _glapi_Context global gets cleared properly.
+
+commit dccd9c4f4d3eb4fd31002eb13e32ea78a5d0905c
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Apr 2 09:56:28 2007 -0600
+
+ use _mesa_reference_renderbuffer() in a few more places
+
+commit 3fe47d5c57dfe20a3336df3b9cb2e37f866fe603
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Apr 2 09:55:55 2007 -0600
+
+ updated debug printf
+
+commit 3fd88089c03f2dbe634ba2611955c6d0a6b2ccd5
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sun Apr 1 18:30:28 2007 -0600
+
+ Fix some bugs/issues related to alpha channel support. See bug 10483.
+
+commit 0683e4ce4bbbe381cbf59122aaef4ae3671d45e9
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sun Apr 1 18:28:28 2007 -0600
+
+ If using PF_8A8B8G8R, be sure alpha is correctly handled.
+
+commit ec42af9263bfba71074396f3850d5264083a5632
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sun Apr 1 18:27:23 2007 -0600
+
+ re-order tokens, fix comments
+
+commit 00831b5b3bb35bbe5ead2399229495b8ef945406
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Mar 31 09:09:48 2007 -0600
+
+ always emit BGN/ENDSUB, for now anyway
+
+commit ec6c8f86f3fa0fa19d34dfa1ee1f9e4610e6e9d6
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Mar 31 09:09:21 2007 -0600
+
+ fix scoping mistake in previous commit that checked for writable LHSs
+
+commit e608d92c5b42d192772066194531db8bfaff86ce
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Mar 30 14:52:23 2007 -0600
+
+ check that LHS of assignment is writable
+
+commit 57dadf71caab2fb85aad930e3e8df6cdc9db209a
+Merge: adb91c0 6f652c8
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Mar 30 13:18:27 2007 -0700
+
+ Merge branch 'origin'
+
+commit adb91c056f896955efcbf627bb1c2012aeb8a735
+Merge: 7eba12e ee9bc89
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Mar 30 13:08:14 2007 -0700
+
+ Merge branch 'crestline-qa', adding support for the 965GM chipset.
+
+commit 6f652c89d719f537425a8bd6f7e7909966a89a98
+Author: Gustavo Pichorim Boiko <boiko@mandriva.com>
+Date: Fri Mar 30 14:10:10 2007 -0600
+
+ call DRI_VALIDATE_DRAWABLE_INFO(), bug 10477
+
+commit 7439a36785b6a2783e80a40a96c09db8f56dc2bc
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Wed Dec 6 06:49:28 2006 +0200
+
+ Clean and update XMesa/XFree86 interface.
+
+ Drop XMesaSetVisualDisplay(), XMesaReset(), no longer used.
+
+ Add XMesaCopyContext() and move the GlxSetRenderTables() call for XGL within
+ XMesaForceCurrent(). This is to make xserver/GL/mesa/X/xf86glx.c unaware of
+ Mesa internals.
+
+ Also, clean some ifdef's to make it clear that USE_XSHM and XFree86Server are
+ mutually exclusive.
+
+ Lastly,
+ - move gcstruct.h from glxheader.h up to xmesa_xf86.h since it calls *gc->ops
+ - drop GL/glxtokens.h from xm_api|dd.c, GLX tokens come from glcore.h and are
+ used irrelevant of XFree86.
+
+commit 7eba12edce871c3db835decbf1a0271acfd3eb68
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 28 17:14:35 2007 -0600
+
+ more tips, validation info
+
+commit ba730e14ed3650748285ebc41a402594b56b2bcf
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 28 17:08:17 2007 -0600
+
+ cond code fix
+
+commit 1ba858591bf16ffa43eb2ab24ed1ff9c258ceeab
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 28 15:45:24 2007 -0600
+
+ fix cond code swizzle bug
+
+commit f2f5d06853f17bcbecf68ebb07c8cc19a2cfdeb5
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 28 15:16:33 2007 -0600
+
+ Handle logical NOT and XOR without library functions. Results in much tighter code.
+
+commit b2ac30ac36c66122d6d8a73e7057a84b74c3d930
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 28 14:49:33 2007 -0600
+
+ optimization for the emit_not() function
+
+commit 3b7f2f53a222b06ca14fff44b5e1143e1b41e390
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 28 14:38:36 2007 -0600
+
+ remove IR_BREAK_IF_FALSE
+
+commit 8128f7143d9c3768df4cf669e97777e021db127a
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 28 14:33:25 2007 -0600
+
+ don't generate IR_BREAK_IF_FALSE
+
+commit 393a93ea324701ef5a545ba99c7d627ab5f9097f
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 28 14:25:30 2007 -0600
+
+ Get rid of IR_CONT_IF_FALSE
+
+commit 3e7d43cd480203f0f861345776454628df0d9a42
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 28 14:23:33 2007 -0600
+
+ Get rid of BRK0, BRK1, CONT0, CONT1 instructions.
+
+commit 1bbd69251b2738428795c06bb19c3a21797d6846
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 28 14:21:26 2007 -0600
+
+ Don't emit OPCODE_CONT0/1, BRK0/1 instructions, clean-ups elsewhere.
+
+commit f841b04601e469f3d4203733d12bb6415d12b9c8
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 28 14:14:00 2007 -0600
+
+ simplify, clean-up break/cont code
+
+commit b463d521432c675c6336fde8b39870717e099be5
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 28 13:29:57 2007 -0600
+
+ added some null ptr checks to handle error recovery
+
+commit 7e4a7fdddd0b333d6825ac0154affeb520c5f0fe
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 28 13:23:44 2007 -0600
+
+ Use constant_to_src_reg() to simplify some code
+
+commit ee2f31e281969fb505a767630cd04b9e08db1b9a
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 28 12:48:27 2007 -0600
+
+ added missing returns after slang_info_log_error() calls
+
+commit dad97b4688ea25caf15cae66194db6ddbb98e936
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 28 11:06:34 2007 -0600
+
+ Fix, clean-up code related to comparisons, condition codes, etc.
+
+commit a01616eed52aa4dfe3b6850b76a4cd8de119a3f3
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 28 11:01:28 2007 -0600
+
+ print condcodes if DEBUG_PROG
+
+commit d750861dc26e3898afa2b49e3969d709dc227664
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 28 11:01:09 2007 -0600
+
+ expose _mesa_condcode_string(), fix some printing
+
+commit 59f7f6dbe9e197482f6b5e50c6a910f86c4f6694
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 28 10:44:38 2007 -0600
+
+ check that if/while/do-while condition is boolean or scalar
+
+commit 20d85c609a86146b2992a05a26603c8de4a2a4f0
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 28 09:07:41 2007 -0600
+
+ bump version to 6.5.3 to match version.h
+
+commit ad766b5785c728e988e25509604c08fc347aba23
+Author: Alan Hourihane <alanh@fairlite.demon.co.uk>
+Date: Wed Mar 28 15:58:08 2007 +0100
+
+ Add missing OSMesaColorClamp function
+
+commit 0420d8505a2a3e92d3ef252ed2910f00501bce43
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Mar 27 16:06:20 2007 -0600
+
+ disable MakeTexture()
+
+commit 05e6fd8398843ac0d6609a5efd1555ad1bf6a829
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Mar 27 16:05:25 2007 -0600
+
+ added ftransform() comment
+
+commit e5d00e8cf4659f03fe3061326a24b6a670f7c8f2
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Mar 27 16:04:36 2007 -0600
+
+ Implement true CAL/RET subroutines. Some optimizations, clean-ups coming...
+
+commit 31dc7a3c890a831f9a0d20dc394ddbe854a05718
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Mar 27 15:21:35 2007 -0600
+
+ fix another pc off-by one
+
+commit 17238f1ee52ddb9d9ef4282498de3b4406245a7f
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Mar 27 15:18:17 2007 -0600
+
+ added _slang_label_new_unique()
+
+commit f407cada8aa0bfea1b8dfae766392162c702aaa4
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Mar 27 14:53:17 2007 -0600
+
+ fix some printing issues related to subroutines
+
+commit e713ef66ef759d902c08a8cb8eb0e0cfe9373699
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Mar 27 14:02:04 2007 -0600
+
+ fix a fragment fog regression
+
+commit a0275b0d2c071ed8254c2af3a0c53eec9d3561a6
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Mar 27 11:02:20 2007 -0600
+
+ fix off by one error in OPCODE_RET
+
+commit d6d6d20b137b23c1c28ca64f7781213f7df36e9a
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Mar 27 10:59:28 2007 -0600
+
+ init machine->StackDepth=0
+
+commit 1f1f5823044922fe586cf91c909e098a500eb439
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Mar 27 10:36:06 2007 -0600
+
+ more parenthesis
+
+commit 811c2e9a91dfc94ec582849bfaa86d7932ac848c
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Tue Mar 27 22:57:22 2007 +0200
+
+ i915tex compile fix (account for moved _UseTexEnvProgram var)
+
+commit cda32360925d84072a69c6fc0bfebbfe07d90ebc
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Tue Mar 27 21:03:32 2007 +0200
+
+ fix incorrect _MaxElement calculation
+
+ The calculation of _MaxElement was wrong if the stride was larger than
+ elementSize, which lead to rejection of every DrawElements call which accessed
+ the maximum element if CheckArrayBounds was enabled.
+
+commit 9b9e056615bc63d5498feb6999bd4df431170022
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Tue Mar 27 19:32:32 2007 +0200
+
+ recommit e731d8aafa98bbf9d30f83e65f28b7718be55834.
+
+ This got lost with glsl-compiler-1 merge, it fixes segfaults when using
+ ATI_fragment_shader, which uses the ProgramStringNotify mechanism but doesn't
+ have a valid program pointer.
+
+commit ff65fa39e81114fd54c94cb8be235342911c185e
+Author: Brian <brian@nostromo.localnet.net>
+Date: Tue Mar 27 09:52:53 2007 -0600
+
+ add parenthesis around a bit-wise AND term in _tnl_InvalidateState()
+
+commit 3e45db67294faaf0a06c42bdd6dbdb96f87c8801
+Author: Brian <brian@nostromo.localnet.net>
+Date: Tue Mar 27 09:51:52 2007 -0600
+
+ Restore the UseTexEnvProgram logic.
+
+ Was removed during glsl-compiler work. Still need to go back and revisit this
+ because of the interaction with fragment shaders...
+
+commit 3b8ab881312f36a948913653ed3c471017f811f0
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Tue Mar 27 16:27:34 2007 +0200
+
+ r300: Fix radeonUpdatePageFlipping() function.
+
+ Always call driFlipRenderbuffers() with pfCurrentPage value, in case it's
+ initially 1 instead of 0. May fix some issues with pageflip, the same fix was
+ applied to r128, radeon and r200 (6e0e6eff05727ac8833c2b2dffc51c6619427e77).
+
+commit 32225d06b9ade78df612b3fd8c3aff93afa3b7ff
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Tue Mar 27 16:22:00 2007 +0200
+
+ r128, radeon, r200: Check ctx->WinSysDrawBuffer before calling function that dereferences it.
+
+ Same fix as for r300 (which fixed https://bugs.freedesktop.org/show_bug.cgi?id=10417),
+ since it's likely an issue with those drivers too.
+
+commit a83593922218b3fc88d3e553f8db079b188bd068
+Author: Bernardo Innocenti <bernie@develer.com>
+Date: Tue Mar 27 08:05:33 2007 -0600
+
+ always print error messages, unless LIBGL_DEBUG=quiet
+
+commit 98abd1bbc8351c1fcb7de9fe91129c8a75a66b87
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Mar 27 07:58:47 2007 -0600
+
+ simplify .a suffixing
+
+commit a9455bb9a7183b89d550998858e5079a9e07e5aa
+Author: Bernardo Innocenti <bernie@develer.com>
+Date: Tue Mar 27 07:56:34 2007 -0600
+
+ remove static lib before building to make more bulletproof
+
+commit 63c57a14d3e9419434bb9ee4d0c5c0d64f2e7847
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue Mar 27 09:19:51 2007 +0200
+
+ r300: Check ctx->WinSysDrawBuffer before calling function that dereferences it.
+
+ Fixes https://bugs.freedesktop.org/show_bug.cgi?id=10417 .
+
+commit 25f21b5331d27225b1f6b7aaf2c9bf3f32764d91
+Author: Miroslav Å ustek <sustmidown@centrum.cz>
+Date: Mon Mar 26 23:34:33 2007 -0400
+
+ fix r128 rendering, lockups
+
+ mis-count in offset led to mis-rendering and lockups;
+ units are 4 bytes rather than 1. Noticed by Chris Salch.
+ fixes bug 7994, possibly others.
+
+commit da82d86ea00fa05d8483e25618a0150bc0ee8a6c
+Merge: 075d3d8 ae36cfc
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Tue Mar 27 09:41:31 2007 +0800
+
+ Merge branch 'master' of git+ssh://znh@git.freedesktop.org/git/mesa/mesa
+
+commit 075d3d892f303c26c61566f2b0f0a6df0013a34f
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Tue Mar 27 09:41:01 2007 +0800
+
+ Fix compile error
+
+commit ae36cfc65eac19281b5ad338e4095008dc69ab21
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Mar 26 18:47:19 2007 -0600
+
+ s/SUB/BGNSUB/
+
+commit 9878e8ff516486900228429f26b37cb01cd7313f
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Mar 26 18:46:07 2007 -0600
+
+ Checkpoint: implementing true CAL/RET instructions for subroutine calls.
+
+ Also, found/fixed a code generation regression: the emit_swizzle() function
+ was always returning NULL. This caused emit_move() to miss its chance at peephole
+ optimization.
+
+commit 6583429f89df1b6838c5405bd32e5ef30bdf163f
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Mar 26 17:16:26 2007 -0600
+
+ Get rid of IR_JUMP and related code.
+
+commit 037c06846041877fb03890864520daa33b5fa4a9
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Mar 26 16:58:50 2007 -0600
+
+ special case RET
+
+commit c042a91b8b202e4c0623e647bda035c715f7c308
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Mar 26 16:56:45 2007 -0600
+
+ Get rid of SLANG_OPER_GOTO, start rewrite of 'return' handling.
+
+commit 813a0e11f1eb903883aef18c5cb5c4702dcb6213
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Mar 26 16:01:58 2007 -0600
+
+ remove debug abort() calls
+
+commit 52cc32378c541261d045f160a14ab0cfd27009ad
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Mar 26 15:46:35 2007 -0600
+
+ Additional error checking for 'return' statements.
+
+commit c3da0bd7dde9febf206efac88bb67e98dfc90baa
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Mar 26 15:09:59 2007 -0600
+
+ undo some debugging hacks
+
+commit e508155d1658571244aeb981dd42e452417d4af4
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Mar 26 15:02:21 2007 -0600
+
+ dead code elimination for constant-valued if/then/else
+
+commit 0426d3c0c85b652c2c4e8509f709863e08644295
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Mon Mar 26 22:20:46 2007 +0200
+
+ r300: Remove a warning when vertex programs produce an unused output
+
+ As far as we know, the hardware prefers outputs packed tightly together
+ with no holes caused by outputs that are not even read by the fragment
+ program. Therefore, we slightly rewrite vertex programs in this case.
+
+ It would be interesting to test this interaction between vertex programs
+ and fragment programs further, because some of that rewrite may be
+ unnecessary. However, play it safe for now and don't change the current
+ behaviour.
+
+commit b53745ce914d66f98ae7bea3e6ee0d05940af787
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Mon Mar 26 22:16:22 2007 +0200
+
+ r300: Whitespace cleanup (remove trailing spaces)
+
+commit 768f7231ea354c218d83f5875ae17475640b2a84
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Mar 26 13:06:33 2007 -0600
+
+ Fix a few issues with computing storage sizes with respect to swizzles.
+
+commit 680abf8a02bd88e55ebaa81326c7621a745bedd4
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Mar 26 13:04:57 2007 -0600
+
+ In _mesa_lookup_parameter_constant() make sure we return a full, 4-component swizzle.
+
+commit 11702680888038a22d9a406ea5646af2902c125e
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Mon Mar 26 21:41:17 2007 +0200
+
+ r300: Fix warnings that were introduced by the glsl merge
+
+commit 38a1c2b4959d35236933c14d3944cce94283ca30
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Mar 26 11:30:05 2007 -0600
+
+ Add _swrast_span_default_secondary_color() for use with glBitmap, glDrawPixels, etc.
+
+ Secondary color wasn't getting added to post-texture color when drawing
+ bitmaps, images. See bug 10409.
+
+commit b5d988dd19291e4e1e6f18e4163c2acac66729de
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Mar 26 10:39:56 2007 -0600
+
+ remove incorrect assertions
+
+commit b67d93111da01c30317f4642e041e5c8c111d3d3
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Mar 26 10:23:50 2007 -0600
+
+ minor status updates
+
+commit 22d913208170a1b86c42a8b06140c6a80028c705
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Mar 26 10:15:02 2007 -0600
+
+ disable printing shader program debug info
+
+commit d619cceea47dc3070ebb7f7ea4f8b6b31a672d38
+Merge: 76f3b66 e71c34a
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Mar 26 10:13:02 2007 -0600
+
+ merge of glsl-compiler-1 branch
+
+commit 76f3b66e0489526694d6a39b4a6ac3b1c2bee100
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Mon Mar 26 17:38:58 2007 +0200
+
+ i915tex: Make sure renderbuffers don't get deleted when flipping them.
+
+ Since the recent renderbuffer refcounting fixes it's no longer sufficient to
+ just remove the old renderbuffer from the framebuffer and then add the new one
+ because the former may decrease the reference count to 0 and delete the old
+ renderbuffer.
+
+commit e71c34aaa173ca451fa02e526ead77758f7eeb74
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Mar 26 09:24:30 2007 -0600
+
+ disable free() until other issues can be fixed...
+
+commit b9fbedd6012ac20fc14fda2cd18bdd86463d0527
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Mar 26 09:23:44 2007 -0600
+
+ fix mem leak, add comments
+
+commit 8051c95a7ede9b9cd4fa89445c52bbcaa7ff766c
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Mar 26 21:31:43 2007 +1000
+
+ nouveau: match drm version bump
+
+commit ee9bc897f8ea361539c5f422fdecc2326271e673
+Merge: 1b354bb 42aaa54
+Author: Nian Wu <nian.wu@intel.com>
+Date: Mon Mar 26 17:00:29 2007 +0800
+
+ Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline
+
+commit 42aaa548a1020be5d40b3dce9448d8004b1ef947
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sun Mar 25 10:39:36 2007 -0600
+
+ Fix some renderbuffer reference counting issues. Also fixes a mem leak.
+
+commit 6fda763989f9102399407098773de227abba822c
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sun Mar 25 10:25:29 2007 -0600
+
+ destroy window on exit
+
+commit a1ea7812b2b8869b60877995fdb957e9539309bd
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Sun Mar 25 21:40:58 2007 +0800
+
+ i965: The given urb layout(maximal size of urb entries and the
+ values for nr of entries) should meet the requirement.
+
+commit bb59d81d2d1baaed98e7a2990540a4bb1394222c
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Sun Mar 25 21:31:36 2007 +0800
+
+ Color3iv: set the alpha value to 1.0
+
+commit 8a4546b5610aff82a8d61e692ccdf1ca0e06a3e1
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sun Mar 25 14:34:13 2007 +0200
+
+ r300: Whitespace cleanup in r300_texmem.c
+
+commit 9db583e7e46443d810146dca36f334b56a9a6449
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sun Mar 25 14:17:09 2007 +0200
+
+ r300: Whitespace cleanup in r300_texstate.c
+
+commit 7143c61283e4b7bffcb27f220517ada2e2c857e5
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sun Mar 25 13:02:26 2007 +0200
+
+ r300: Fix regression: unnecessary node indirection
+
+ The texture_rectangle fix introduced a bug where every texture instruction
+ caused a new indirection.
+
+commit 1b354bb5e4c4524533a8f2c3293df73a403e011a
+Merge: 44fb515 74ceaf5
+Author: Nian Wu <nian.wu@intel.com>
+Date: Sun Mar 25 17:00:24 2007 +0800
+
+ Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline
+
+commit bb0393a0cdcabcb29ab7924cd4b3c4622fc2d787
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sat Mar 24 16:44:20 2007 -0600
+
+ fix mem leak
+
+commit 9fe342d1e6d3fbd150a1369380a1a4ecf82d6773
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sat Mar 24 16:43:44 2007 -0600
+
+ disable free(var->aux) -- can lead to segfault
+
+commit cfdd07d7d394a2a595a545c0ef81d00dd6156742
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sat Mar 24 16:26:51 2007 -0600
+
+ fix mem leak
+
+commit 1968444bed931eeafdbe948a30bb871bfcf11b42
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sat Mar 24 16:22:35 2007 -0600
+
+ fix some mem leaks
+
+commit 935f93f966aa298c4d4115ac766cb2ff46ad6514
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sat Mar 24 16:20:02 2007 -0600
+
+ Free shader-related context state: _mesa_free_shader_state()
+
+commit 3493e867e9f2421425627a15eb5d2a2c554fbe8a
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sat Mar 24 16:18:13 2007 -0600
+
+ free prog->Attributes in _mesa_delete_program()
+
+commit 49134e8e53d4ae114044ff90174a6777ffbecc60
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sat Mar 24 15:29:10 2007 -0600
+
+ fix mistake in _slang_free_ir()
+
+commit 74ceaf545feb530a61f2de1554c32d6ef0bd46f8
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sun Mar 25 07:09:02 2007 +1000
+
+ nouveau: implement nv20Clear and nv20Scissor
+
+ Still crashes out on scissor regs
+
+commit f27991c9165450872c652e2fd27811409957b2a0
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sat Mar 24 19:08:26 2007 +0100
+
+ r300: Fix texture coordinate calculation for rectangle textures
+
+ R300 hardware takes texcoords in the range 0..1 even for rectangle
+ textures. Previously, the necessary texcoord conversion was applied
+ to the texture coordinate during vertex processing in a render stage.
+
+ This is obviously wrong when fragment programs are used, which can
+ calculate arbitrary coordinates for TEX instructions. Therefore,
+ we now inject an appropriate MUL instruction before a TEX that
+ reference a rectangle texture.
+
+commit 0c3ae2ea7fbb9c1087bdbc1048c380ca760b80d2
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sat Mar 24 16:42:08 2007 +0100
+
+ r300: No assertion when accessing incomplete texture images.
+
+ There used to be an assertion when a fragment program accesses an incomplete
+ texture image. Work around this assertion.
+ Note: I am unsure whether this workaround produces the desired result
+ (0,0,0,1) on all hardware.
+
+commit 0e71d08e8df7f59da74e78212fe8433ceb7c7315
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Mar 24 10:18:14 2007 -0600
+
+ Properly free the slang_ir_node->Store data (use ref counting).
+
+commit b50b036ffb795a12106bd59b1a08b0287a8b3388
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Mar 24 10:16:49 2007 -0600
+
+ When computing render_inputs_bitset, omit primary color if we have a fragment program and it doesn't need FRAG_ATTRIB_COL0. Silences valgrind warnings.
+
+commit dc3015f1574f26704c3498c56915b5570d777da4
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Mar 24 09:40:20 2007 -0600
+
+ move some code into new slang_ir.c file
+
+commit b2bc563142c93fd9bfa503f7b9e5e99c7d450ccc
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Mar 24 09:39:24 2007 -0600
+
+ IR utility functions
+
+commit d4dd5a95a8a467a696e5160f3c9c72711829d95e
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sat Mar 24 13:01:57 2007 +0100
+
+ r300: Fix: KIL instruction don't require textures
+
+ When no textures were enabled, a KIL instruction triggered an assertion
+ in r300_setup_rs_unit.
+
+commit 8f90822b7264a6e569707fb187a77de57a6e6dac
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sat Mar 24 14:41:59 2007 +0100
+
+ swrast: Fix crash when sampling from a non-existing texture object
+
+commit ea3d11a3d8901d650eb2a858ce30abae2d20d278
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Sat Mar 24 22:22:27 2007 +1100
+
+ nouveau: some swtcl fixes
+
+commit 44fb5156bbda5e4fc1cd810fec5e50ac70ff39cf
+Merge: ad76128 8e1c3bd
+Author: Nian Wu <nian.wu@intel.com>
+Date: Sat Mar 24 17:00:29 2007 +0800
+
+ Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline
+
+commit 8e1c3bd0b4c599bae5b64cd51cec1d74266f30fb
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Mar 23 18:01:31 2007 -0600
+
+ Implement alpha buffer copy for SwapBuffers().
+
+ Nicolai writes:
+ When the pixmap pixel format has no alpha channel, the x11 driver
+ (software rendering) adds a wrapped alpha channel on request.
+
+ During SwapBuffers, this alpha channel is not copied from back to
+ front, which means that the front buffer doesn't really contain the
+ contents that the back buffer previously contained.
+
+ A subsequent glReadPixels from the front buffer will return an
+ incorrect result. The following patch attempts to fix this.
+
+commit 8f9db0f81c13c3244f07333f33a15bfe098e0f31
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Mar 23 17:49:19 2007 -0600
+
+ document internal compiler options
+
+commit d1934c2065751e2c594316c5abd2c49c47bfc1b8
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Mar 23 17:48:42 2007 -0600
+
+ Fix issues related to the 'continue' statement.
+
+ IR_LOOP now has two children: the body code, and the tail code.
+ Tail code is the "i++" part of a for-loop, or the expression at the end
+ of a "do {} while(expr);" loop.
+ "continue" translates into: "execute tail code; CONT;"
+ Also, the test for infinite do/while loops was incorrect.
+
+commit 81767eead9e1b1b5d5dfd274c0875fa1332a5983
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Mar 23 17:45:53 2007 -0600
+
+ consolidate some code
+
+commit 63556fa9949f543a8134b6b5ff3d216acb71dd9f
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Mar 23 14:47:46 2007 -0600
+
+ Add the ability to generate programs that doesn't use condition codes.
+
+ ctx->Shader.EmitCondCodes determines if we use condition codes.
+ If not, IF statement uses first operand's X component as the condition.
+ Added OPCODE_BRK0, OPCODE_BRK1, OPCODE_CONT0, OPCODE_CONT1 to handle
+ the common cases of conditional break/continue.
+
+commit bf020d8d7f719dfea7ea3c65bd2833df6439b59e
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Mar 23 14:44:34 2007 -0600
+
+ minor tweaks
+
+commit 2bdac09d16904334424a53d4c7436408a5cc3ca5
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Mar 23 10:46:08 2007 -0600
+
+ updated comment
+
+commit 654a3084398c5ab3ac1491bcdc5703221a268d03
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Fri Mar 23 17:07:58 2007 +0100
+
+ r300: Whitespace cleanup (remove trailing spaces)
+
+commit ad76128204d856527e033a83c1b5a35a2f52ba92
+Merge: 2eb656e 002762b
+Author: Nian Wu <nian.wu@intel.com>
+Date: Fri Mar 23 17:00:28 2007 +0800
+
+ Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline
+
+commit fe20a619cf382e7d21a31b096311dab8254b2b0c
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Mar 22 16:07:43 2007 -0600
+
+ updated comment
+
+commit e6aeb24b23097024ba60e1c49239a18692f781e1
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Mar 22 16:07:14 2007 -0600
+
+ Overhaul emit_compare() function.
+
+ Previously, comparing vec2, vec3, vec4 was broken.
+ Added IR_EQUAL, IR_NOTEQUAL nodes/operators to compute boolean
+ equality/inequality vs. IR_SEQUAL/IR_SNEQUAL which work component-wise.
+ Use IR_EQUAL/IR_NOTEQUAL for the == and != operators.
+ To compute vec4 equality, use SNE, DP4, SEQ instruction sequence.
+
+commit 0aad9e262784b0f2ac85afdce88414c986dae2f7
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Mar 22 09:15:39 2007 -0600
+
+ First pass at implementing structure compares.
+
+ Need to improve this. There may be holes in a structure so we can't
+ just blindly compare the full 4-float registers.
+
+commit 12229f119d754715e0315846fdd8d6e9213e8edf
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Mar 22 09:11:26 2007 -0600
+
+ use _mesa_copy_instructions()
+
+commit 1bf81e3c5d65b636658d11072f4f027f5c499396
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Mar 22 09:07:27 2007 -0600
+
+ In _mesa_add_unnamed_constant() and _mesa_lookup_parameter_constant() allow swizzleOut==NULL.
+
+ There are times when we don't want to allow swizzling when searching for or
+ adding vector constants. Passing NULL for swizzleOut disables swizzling.
+ This fixes a constant/swizzle bug in link_uniform_vars().
+
+commit 1936b25ebd580c5ef9e8cb471a986da39ef46ca5
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Mar 22 09:04:18 2007 -0600
+
+ print conditional writemask, if enabled
+
+commit 002762b13aa58ca569a564bb64672e343611c9ed
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Mar 22 08:51:34 2007 -0600
+
+ use _mesa_alloc_instructions()
+
+commit 1240eb2683043ba81e81378807170d0d7045581d
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Mar 22 08:50:20 2007 -0600
+
+ use _mesa_copy_instructions()
+
+commit 985a2eff82111e81f70b6dea9d9b3184dd0061d3
+Author: Alan Hourihane <alanh@fairlite.demon.co.uk>
+Date: Thu Mar 22 14:26:49 2007 +0000
+
+ Ensure we have a valid ReadBuffer for CopyTexSubImage, and
+
+ if not bail accordingly.
+
+ Previously we'd only do this test on compressed textures.
+
+commit 2eb656ef4f4c7a365501e615a43ae72cfdc12cda
+Merge: 8ba0646 01b7f2a
+Author: Nian Wu <nian.wu@intel.com>
+Date: Thu Mar 22 17:00:33 2007 +0800
+
+ Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline
+
+commit 01b7f2ab2e7a9291bf54475e816e88804ee7cd53
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Thu Mar 22 11:01:51 2007 +0800
+
+ fix for bug#10339
+
+ StateFlags has been updated in _mesa_add_state_reference
+
+commit 629ec2b06be40a32fa820a105e40e7b894acc84e
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 21 15:40:54 2007 -0600
+
+ added SWIZZLE_XYZW
+
+commit 2500d82d0dc5015dc648067455231b7b963b54a5
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 21 15:40:39 2007 -0600
+
+ Support for user-defined structures.
+
+ struct == and != operators not finished yet. Struct assignment works though.
+
+commit 97c9b3ecc6da6058cf17840f6448617c7dc2be75
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 21 15:38:46 2007 -0600
+
+ disable apparently unused code
+
+commit e02b989ff96cb706b9cbbea519034e3403b3ecfa
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 21 14:45:34 2007 -0600
+
+ indent
+
+commit 23d31efc167f09d47635352f697ffcb087d3ebbd
+Merge: 180cc2f 88db19a
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 21 11:57:30 2007 -0600
+
+ merge from master
+
+commit 180cc2f8458c13ce415f7cdf9a425ae59cb6ad8b
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 21 11:41:41 2007 -0600
+
+ disable assertion
+
+commit 88db19a48412cbe89196b1cc06e8ecf8ccae78b0
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 21 09:45:58 2007 -0600
+
+ document 1D convolution fix
+
+commit 249b451d2068c781d29a6527e152b39d08b1c877
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 21 09:44:03 2007 -0600
+
+ 1D convolution (and post-conv scale/bias) were inadvertantly applied to 2D image transfers.
+
+commit c5fe807e426988fc0ef931b417b5b3f621250595
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Wed Mar 21 13:19:02 2007 +0100
+
+ fix copy and paste bug from last commit in fog generation code for GL_LINEAR fog
+
+commit 8ba06464ac8de726390899e790e15b40df08001e
+Merge: 76444d0 4b5d6c0
+Author: Nian Wu <nian.wu@intel.com>
+Date: Wed Mar 21 17:00:32 2007 +0800
+
+ Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline
+
+commit 4b5d6c0435acd84c13e0db3785758fed0bc48fe1
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Mar 21 17:54:57 2007 +1100
+
+ nouveau: update for drm interface changes (0.0.5)
+
+commit 6cadebbb677f776f599f5675f20b2f2ee44a1ce0
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Mar 21 15:05:07 2007 +1100
+
+ nouveau: SwapBuffers() needs to perform a glFlush()
+
+commit 704cd61120443501530279937a144a5dd4b6399e
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Wed Mar 21 10:50:19 2007 +0800
+
+ mesa: revert f9f79c8d770e696249bd98c68b563f887562c974
+ to fix #10232
+
+ Table6.1(in gl2.1) has been applied for glGetTexImage
+ before calling into _mesa_pack_rgba_span_float.
+
+commit 4bafc547df4af0b560dcc6b72c0a6c37d7754abb
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Wed Mar 21 00:56:38 2007 +0100
+
+ r300: Remove the program-global const_sin index
+
+ The index is no longer necessary to share constants between multiple
+ SIN/COS/SCS instructions inside a single fragment program, and storing
+ a tiny implementation detail like this in the fragment_program structure
+ itself was just nasty.
+
+commit cbe38dc0ceade8543d8a65f6f547d2890bb177f0
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Mon Mar 19 23:30:26 2007 +0100
+
+ r300: Whitespace cleanup (remove trailing spaces)
+
+commit cf4272d2569940fa4ac2ffaf3afbdc2aa3e5cc06
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Tue Mar 20 22:12:03 2007 +0800
+
+ fix for bug#10347
+
+ not sure which brw surface for DXT3 & DXT5, so restore
+ the previous choice.(changed in commit
+ 84081774e62a8af18e6bf894ea69f63b97dcfe96)
+
+commit bec665d5b5b35c0c9f3263ece9793bcea87073ab
+Author: Alan Hourihane <alanh@fairlite.demon.co.uk>
+Date: Tue Mar 20 13:15:58 2007 +0000
+
+ use passed target parameter
+
+commit 76444d042c841aa4e060db46c0668c17da97a1f6
+Merge: e01ee3d ecb1a1c
+Author: Nian Wu <nian.wu@intel.com>
+Date: Tue Mar 20 13:10:46 2007 +0800
+
+ Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline
+
+commit ecb1a1c82f48dd78203230f6ea3dee49d7ade17d
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Mar 20 15:59:55 2007 +1100
+
+ nouveau: fix typo
+
+commit 4185037af2d89c5b245646f5e4a7c6dc946cae43
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Mar 20 15:52:57 2007 +1100
+
+ nouveau: fail translate if we use too many params somehow
+
+commit 9622a634f61f02ed1a23087762a2ec8a305ae77e
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Tue Mar 20 15:05:35 2007 +1100
+
+ nouveau: NVSDBG macro
+
+commit 61821a41c07b6b383a275acf31ade56af2ecfb3c
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Mon Mar 19 23:32:36 2007 +0100
+
+ r300: Cleanup fragment program constant allocation, share constants
+
+ The constant/parameter allocation was significantly simplified, removing
+ one unnecessary copy operation of parameters. The dirty state tracking is
+ unchanged and far from optimal, since all state is always re-fetched.
+
+ Constants and parameters are now emitted only once, which significantly
+ reduces the resource pressure on larger programs.
+
+commit 5a6547878373798113f8b55b912abc5bfb93add5
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Mon Mar 19 22:26:08 2007 +0100
+
+ r300: Fix special case (tmp.x <= 0) in fragment program LIT instruction
+
+ Also, fix a typo in a related comment.
+
+commit b3acba87d7f5ede486cba11db036cf36dff6c29e
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Mon Mar 19 22:17:16 2007 +0100
+
+ r300: Clear fragment program instruction slots on first use
+
+ Make sure that instruction slots are fully initialized with NOPs during
+ find_and_prepare_slot(). This fixes a bug when a fragment program was
+ translated more than once (e.g. due to a second call to glProgramStringARB).
+
+ This partially fixes glean/fragProg1.
+
+commit fdcbbeb55ecafe119bb98dcedb8492416f5bc966
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Mar 19 14:44:15 2007 -0600
+
+ Properly compute render_inputs_bitset when using a vertex program/shader.
+
+ This fixes a performance regression introduced early in glsl-compiler-1 work.
+
+commit 826815a5d27d6e79e9d0e0b0fc63bb3fd092d40d
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Mon Mar 19 20:01:20 2007 +0100
+
+ r300: Dump fragment program after translation if RADEON_DEBUG=pixel is set
+
+commit 7b992d024b20df111db007286e5a54afcb531fb1
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Mon Mar 19 19:46:25 2007 +0100
+
+ r300: Whitespace cleanup (remove trailing spaces)
+
+commit c4bf863f4cb48c2de284933bb1fc725b540ee810
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Mon Mar 19 19:45:45 2007 +0100
+
+ r300: Fix WRITEMASK handling when writing to result.depth
+
+ This is a necessary change to emit the right instructions when writing
+ to result.depth.
+
+ However, even with this test, Z-write doesn't work properly, and I don't
+ fully understand why. In addition to this, we'll at least have to disable
+ early-Z, but even that doesn't seem to be enough.
+
+commit b645e8c96dc1e3b153cf882c8931f10e0c006f04
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sun Mar 18 18:32:32 2007 +0100
+
+ r300: Streamlined fragment program LIT implementation
+
+ Fix a bug in the LIT implementation (clamp exponent to 128, not 0.5)
+ and change the implementation around. In theory, the new implementation
+ needs as little as 5 instruction slots. Unfortunately, the dependency
+ analysis in find_and_replace_slot is not strong enough to look at
+ individual components of a register yet.
+
+commit ff6ab9b45b180ab9bf261afa50888e6e740d7924
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sun Mar 18 13:29:18 2007 +0100
+
+ r300: Fix fragment program reordering
+
+ Do not move an instruction that writes to a temp forward past an instruction
+ that reads the same temporary.
+
+commit ec1a77c86481d7f77542fbecda0e81b74732c90f
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sun Mar 18 13:09:21 2007 +0100
+
+ r300: Fragment program dumps format tex instructions
+
+commit a8e65a010c17444c63859c17786ecb4010bd49c1
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sun Mar 18 12:46:53 2007 +0100
+
+ r300: Fix hw fragment program dump
+
+ Dumps of fragment programs were incorrect when the program consisted of multiple
+ nodes.
+
+ Also, improved the formatting a bit.
+
+commit 7b430acd71f04dce3e21bdcfe70115a23d751f30
+Author: Nicolai Haehnle <prefect@upb.de>
+Date: Sun Mar 18 02:15:56 2007 +0100
+
+ r300: Fix fragment program instruction pairing and register allocation
+
+ There were a number of bugs related to the pairing of vector and scalar
+ operations where swizzles ended up using the wrong source register,
+ or an instruction was moved forward and ended up overwriting an aliased
+ register.
+
+ The new algorithm for register allocation is quite conservative and may
+ run out of registers before necessary. On the plus side, It Just Works.
+
+ Pairing is done whenever possible, and in more cases than before, so
+ in practice this change should be a net win.
+
+commit 07db8c9115c0b07d79be778976e25f8eb18d42a2
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Mon Mar 19 18:34:27 2007 +0100
+
+ i915tex: The intended triple buffering fix.
+
+ Making modifications while the editor spawned by git-commit was suspended
+ didn't have the intended effect.
+
+commit 9b42100c04f14b4f2c1e5fe9748bb0519ed6c516
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Mon Mar 19 17:23:44 2007 +0100
+
+ i915tex: Fix triple buffering after recent Mesa core changes.
+
+ Remove superfluous _mesa_resize_framebuffer call which is now harmful because
+ it causes the third renderbuffer to have width/height 0, so Mesa refuses to
+ render to it.
+
+ In the long term, it would be nice to remove the hack in
+ intel_alloc_window_storage in favour of a proper Mesa interface for flipping
+ between more than two colour buffers.
+
+commit e01ee3da577f177e77153f3a33d39e13f5e3f9cb
+Merge: fd1b1fc 77544d7
+Author: Nian Wu <nian.wu@intel.com>
+Date: Mon Mar 19 17:00:19 2007 +0800
+
+ Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline
+
+commit 77544d7b7d7c6fd03c0df81dca07f1bb3a67c119
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Mar 18 20:13:06 2007 +0000
+
+ fix off-by-one in load_state_immediate
+
+commit c9e39aeaef0135d6d1aa92a3dc5b3c91fa17904d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Mar 18 20:12:53 2007 +0000
+
+ fix typo in subrect_disable packet
+
+commit 07265280a962253913e974829e6729c64ca18bc2
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Mar 18 20:12:38 2007 +0000
+
+ fix typo in subrect_disable packet
+
+commit c41d6ab6f062ebce1076ca79f9ad0c7368a0e2d0
+Author: Miguel Marte <miguelmarte@gmail.com>
+Date: Sun Mar 18 11:08:29 2007 -0600
+
+ screen offset changes, bug 9965
+
+commit 441f038748975d4e14ca3da7098045dd1013e531
+Author: Nicolai Haehnle <nhaehnle@gmail.com>
+Date: Sun Mar 18 11:02:35 2007 -0600
+
+ fix assertion in read_depth_pixels()
+
+commit dd868b4100f748e5187c58138d1b55fe8e8eddef
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sun Mar 18 16:57:45 2007 +0000
+
+ r300: Removed the deprecated $XFree86$ CVS keywords.
+
+commit 106210652133e48ef557147f288ef28896517e0c
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sun Mar 18 16:44:20 2007 +0000
+
+ r300: Corrected the string for polygon mode; it wasn't updated from unkXXX.
+
+commit bcf4f4de76197dbb88b884ce55b5e457ff2f79b0
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Mon Mar 19 00:08:45 2007 +1100
+
+ nouveau: avoid using uninitialised TexSrcUnit.
+
+commit bb02092d749ff9d58a13fd99f66154504b4f3dd1
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Sun Mar 18 18:44:51 2007 +0800
+
+ mesa: SWAP_BUFF support when calling DrawPixels(DEPTH_COMPONENT)
+ or TexImage(DEPTH_COMPONENT)
+
+commit b6fe1bdd4da806895f90f3f5be4fb364d6f1f64a
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Sun Mar 18 18:34:21 2007 +0800
+
+ mesa: enhance fxt1_quantize_ALPHA1
+
+ If possible, let minCol != maxCol
+
+commit 84081774e62a8af18e6bf894ea69f63b97dcfe96
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Sun Mar 18 18:26:16 2007 +0800
+
+ i965: fix for FXT1 & S3TC texture format
+
+ choose the right mesa texformat for FXT1 & S3TC
+
+commit fd1b1fce3faaf40af201a5b06a84df62c855fb12
+Merge: 38889f5 cfe984d
+Author: Nian Wu <nian.wu@intel.com>
+Date: Sun Mar 18 17:00:18 2007 +0800
+
+ Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline
+
+commit cfe984dbd0c478906785dbf8a9430504173ae952
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sun Mar 18 07:21:21 2007 +0000
+
+ Use _mesa_copy_instructions rather than memcpy in _mesa_insert_mvp_code.
+
+commit ee5b7f0574c6c5bce9ab75a2825f1fe089a57fa5
+Author: Haihao Xiang <haihao.xiang@intel.com>
+Date: Sat Mar 17 09:42:36 2007 -0600
+
+ fix some format conversion bugs in glGetTexImage(), bug 10288
+
+commit 38889f5221821acf08365d3f332680707d4b9b5f
+Merge: a02870f 6a9b0cd
+Author: Nian Wu <nian.wu@intel.com>
+Date: Sat Mar 17 17:00:25 2007 +0800
+
+ Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline
+
+commit 6a9b0cd0b43ba01b24871ec1fa155e192ddeaa56
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sat Mar 17 16:46:24 2007 +1100
+
+ r300: change vendor string to DRI R300 Project
+
+commit e5070bc3ca75dee31034cc543f3d2ee04e5dc032
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Mar 16 11:00:07 2007 -0600
+
+ Assorted fixes for dealing with zero-size frame/renderbuffers.
+
+ In xmesa_check_and_update_buffer_size() handle xmctx==NULL correctly: still
+ call _mesa_resize_framebufer(). If we don't we can wind up in a situation
+ where the framebuffer size is non-zero but an attached renderbuffer size
+ is still initialized to zero. This inconsistancy can later cause problems.
+ Check for zero-size renderbuffers in update_color_draw_buffers() and
+ update_color_read_buffer().
+ See bug 7205.
+
+commit 7573b58db659b32f3589fc955959710d44353239
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Mar 16 09:36:12 2007 -0600
+
+ Colortable re-org.
+
+ The pixel transfer path has three color table lookups.
+ Use an array [3] to store that info, rather than separate variables.
+
+commit d7049431a09a71a51768fc8cea292653557fc261
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Mar 16 08:36:22 2007 -0600
+
+ added a renderbuffer comment
+
+commit f04979ae481acc9fdc423da06514c4d557edd7cd
+Author: Mathias Hopf <mhopf@suse.de>
+Date: Fri Mar 16 08:28:34 2007 -0600
+
+ added null xmctx check to XMesaResizeBuffers(), bug 7205
+
+commit a02870f4f61a66560b3eb75f98a7fe57ebcb6ed6
+Merge: d63eef4 9576426
+Author: Nian Wu <nian.wu@intel.com>
+Date: Fri Mar 16 17:00:24 2007 +0800
+
+ Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline
+
+commit e348016253582e6a31f7ee7149ff4999de33642d
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Mar 15 16:07:39 2007 -0600
+
+ silently ignore DeleteProgram/Shader(id=0)
+
+commit 7ed292a4e946fe43b04dd76d5f26df4e70765788
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Mar 15 16:06:58 2007 -0600
+
+ in _mesa_GetColorTable, return silently if table size is 0
+
+commit 95764262a7f2dfda761a0dbd87c3d9b12df0d534
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Thu Mar 15 21:57:31 2007 +0000
+
+ Fixed a minor typo in the comment near _mesa_copy_instructions.
+
+commit 0c25d9ab198f79afee23ec1bf8ac61c4cd801d3a
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Thu Mar 15 20:55:30 2007 +0000
+
+ r300: Added _mesa_copy_instructions.
+
+commit 1195caa2745de4d16ddbd46eeb4f527a78c5eb63
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Thu Mar 15 20:39:07 2007 +0000
+
+ r300: Renamed r300_vertexprog.c to r300_vertprog.c
+
+commit 0e9ada1087a58af4c1375cc35b318aa0521d3a72
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Thu Mar 15 19:49:10 2007 +0000
+
+ r300: Use _mesa_alloc_instructions/_mesa_init_instructions instead of malloc.
+
+ Note that insert_wpos in r300_vertexprog.c is still a little flaky and could be
+ improved.
+
+commit 0d6d80ef3dbd39ed346c3189385242016f5aed74
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Thu Mar 15 19:09:10 2007 +0000
+
+ r300: Updated R300 to use the new SWIZZLE macros.
+
+commit 51693b22cddae9ae73d2310faee295c77f30e8db
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Thu Mar 15 18:44:29 2007 +0000
+
+ r300: Fixed an unused variable warning and removed some cruft, too.
+
+commit b3a9a90cdf7c30b81c749037784428274d997549
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Thu Mar 15 18:29:13 2007 +0000
+
+ r300: Fixed a printf conversion warning.
+
+commit 7f08dd3fc6bb23ddef5e7bea827282c8d7c82899
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Thu Mar 15 18:26:01 2007 +0000
+
+ r300: Fixed "no previous prototype for 'r300RefillCurrentDmaRegion'" warning.
+
+commit fc6b8f2d3012f97d5a1f0d4fbefd191268d6a263
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Mar 15 11:51:54 2007 -0600
+
+ added SWIZZLE_XXXX, YYYY, etc. macros
+
+commit 4e4ab2a62bf33a582420cff85775a6580167b5a9
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Thu Mar 15 17:35:34 2007 +0000
+
+ Committed Rune Petersen's fragment.position patch (Bug #10024) plus a few small
+ corrections.
+
+commit 4d2eb637a20e4fdf5d5f6c0ea4d4627894594661
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Mar 15 11:16:41 2007 -0600
+
+ no-op clear if buffer width or height is zero (bug 7205)
+
+commit 038e981cacdc6f32588442666cde8a8fc16cfdfc
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Mar 15 11:11:41 2007 -0600
+
+ add some rb->Data null ptr checks (bug 7205)
+
+commit 90563d39cbdae552f498285125381c8c8ccb2f83
+Merge: 0cfdf43 4a7fe4f
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Mar 15 09:03:03 2007 -0600
+
+ Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa
+
+commit 0cfdf432e4efe6662c6cea013a6870a4f82cb478
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Mar 15 09:02:14 2007 -0600
+
+ implement byteswapping for all multi-byte types in _mesa_pack_rgba_span_float(), bug 10298
+
+commit 4a7fe4fcfa9069043db3ba8e88a6b941788f5f43
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Mar 15 10:27:47 2007 +0000
+
+ Fix off by one error in immediate state packet size.
+
+commit d63eef4b86af02aea5b26f90de9cf3d46aee398c
+Merge: 805b1cf 32d1968
+Author: Nian Wu <nian.wu@intel.com>
+Date: Thu Mar 15 17:00:22 2007 +0800
+
+ Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline
+
+commit 32d196820f5669a03bfd1adde1352b857ffda3b6
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 14 14:56:39 2007 -0600
+
+ pixelmap code simplification
+
+commit b6adf336f41d2f0ed0ea33eaf53faee9635a2405
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 14 14:33:46 2007 -0600
+
+ Re-org of gl_pixel_attrib struct.
+
+ Reorder fields according to the order in which the pixel transfer operations
+ take place. Improve comments.
+ Move the pixel maps out of gl_pixel_attrib since they're not supposed to be
+ pushed/popped by glPush/PopAttrib.
+ New gl_pixelmap and gl_pixelmaps structs to contain the pixelmaps.
+
+commit 62b4601e53438096f362657bec2c4c238279509f
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 14 13:34:30 2007 -0600
+
+ s/Tranpose/Transpose/
+
+commit 3049946fa742b654afa9b24f8bc79f387f01aea9
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 14 12:52:53 2007 -0600
+
+ clear the b->frontxrb->drawable field in xmesa_free_buffer(), see bug 7205
+
+commit 46fe0087780ccc490c1fcb93453a5abe507668ee
+Merge: 47e0b60 a6cc9ab
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 14 12:43:26 2007 -0600
+
+ Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa
+
+commit 47e0b606a85059ff29fe311dc2f1bcafdefe4cdb
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 14 12:42:30 2007 -0600
+
+ move CLIENT_ID code in xmesa_delete_framebuffer(), see bug 7205
+
+commit 565d097d8feb201a0be2ee41f0413cac2593990f
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 14 11:07:32 2007 -0600
+
+ continue prev check-in: save ptr to slang_function for SLANG_OPER_CALL
+
+commit 2dc3e944704dd90eb4324babac070b7e2fff70fc
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 14 10:49:35 2007 -0600
+
+ After we've found the slang_function ptr for a SLANG_OPER_CALL node, save the ptr in the node for reuse.
+
+ This can save a tremendous amount of time when resolving types in complex
+ expressions. One particular shader was taking several minutes to compile
+ but now compiles almost instantaneoulsy.
+
+commit b1a955b5186d9d455416534bcdc170373c7393d9
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 14 10:16:18 2007 -0600
+
+ make _slang_typeof_function() static
+
+commit b01f146fd066518f93ccbfda1441a9e6ff530260
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 14 08:56:01 2007 -0600
+
+ remove old assertion
+
+commit 805b1cf4821aa807ce0f87d03dc464c0ee01a33a
+Merge: 4110fac a6cc9ab
+Author: Nian Wu <nian.wu@intel.com>
+Date: Wed Mar 14 17:00:15 2007 +0800
+
+ Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline
+
+commit 52363954bfe1f9f5aec6da504e191099f80578ee
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Mar 13 16:50:24 2007 -0600
+
+ more bug fixing, error checking
+
+commit 98650bdf897ee8dc1bcf32e28832c1d54acd0d79
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Mar 13 16:32:48 2007 -0600
+
+ fix a number of issues in _mesa_uniform()
+
+commit 5186529e57bfab6d70a94329e8265e64095b328e
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Mar 13 16:31:30 2007 -0600
+
+ remove bogus assertion
+
+commit fdf513e07ab5d157dab7b3c776bc75b064cdb2a9
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Mar 13 16:12:23 2007 -0600
+
+ document some bug fixes, lots of new features
+
+commit 8d9db3dd03b3ec423560b46831071405cb4f6f48
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Mar 13 16:07:04 2007 -0600
+
+ fix ctx->Pixel.PostConvolutionScale/Bias subscript bugs
+
+commit fd08463dea8fd2e8d805d66488368830dbe53264
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Mar 13 15:58:40 2007 -0600
+
+ Check for, simplify vec2/3/4(x). Only do call adapting for constructors.
+
+commit c7b2cce4186974adb86f14c4c62c43fc0332d6f4
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Mar 13 15:57:09 2007 -0600
+
+ improve literal printing
+
+commit 000b2899b92b800f962a52243aa1ca775dd353fa
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Mar 13 15:55:54 2007 -0600
+
+ disable some debug output
+
+commit a49a865cf53dad5734ca7019406e4ce89702a08f
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Mar 13 15:55:41 2007 -0600
+
+ better error msg for undefined function, disable some debug output
+
+commit 948c60badc52cf938766964dc90ce574f885b23d
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Mar 13 15:00:14 2007 -0600
+
+ get rid of float_multiply, float_add, float_divide
+
+commit a6cc9ab493a2efa9a0ea91cddba0e85c8c8c83f1
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Tue Mar 13 19:04:28 2007 +0100
+
+ sync up t_vp_build.c brw_vs_tnl.c a bit
+
+ Bring over the optimizations for fog and normalized spot dir
+ from t_vp_build.c to brw_vs_tnl.c. Likewise, port a fix for point size
+ calc from brw_vs_tnl.c to t_vp_build.c (use ABS(eyez) instead of -eyez). Leave
+ the now differing point size calcs alone though, not sure what's better (it's
+ basically MOV, ABS, MUL, DP3 vs. ABS, MAD, MAD).
+
+commit d8070889d73479d9dbef27ccf1ed5d26fc8760e5
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Mar 13 11:00:21 2007 -0600
+
+ alloc an extra byte in _mesa_ShaderSourceARB() to silence a valgrind warning
+
+commit c000843a14e73d593d87ff6674d0295d2cb64a12
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Mar 13 10:58:48 2007 -0600
+
+ be smarter about which fragment attribs are interpolated before running frag progs
+
+commit da554309521e8f351eecb30ce197535fb7541f40
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Mar 13 10:58:23 2007 -0600
+
+ comment about SPAN_* vs FRAG_BIT_* values
+
+commit 17ad1d12ebf04ebf4b2b35c1c37d36bb4d2bb550
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Mar 13 10:53:16 2007 -0600
+
+ Check if FRAG_RESULT_COLR is written and update span->interpMask, arrayMask.
+
+ Also, fix an assertion.
+
+commit 8b9842a2560a1254e98b5e01927f73917a0597fc
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Mar 13 10:49:08 2007 -0600
+
+ Shuffle some code around in the emit_tex() and emit_move() instructions.
+
+ Note that the inst ptr returned by new_instruction() may become invalid
+ after calling emit_() since the emit functions may allocate new instructions
+ which is done vial realloc().
+ Also, add some new assertions to try to catch this kind of bug.
+
+commit 37e6f760fde506728077c6e8b48bb8c34d53dfd3
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Tue Mar 13 17:43:21 2007 +0100
+
+ enable ARB_vertex_buffer_object for more dri drivers
+
+ ARB_vertex_buffer_object looks like a useful extension even for old chips.
+ The drivers should not need any code to be able to use this extension since
+ they just use mesa's vbo code anyway.
+ Newly enabled for i810, mach64, mga, r128, radeon, savage, sis and unichrome.
+
+commit 7265e6928e873312d53eba4c24fcd3002e806831
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Mar 13 10:28:26 2007 -0600
+
+ properly compute ctx->Texture._EnabledCoordUnits
+
+commit 4c18d9056b3793a8441ecbfc9c5ea5f2d43555b2
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Tue Mar 13 14:46:45 2007 +0000
+
+ r300: Renamed the CACHE_CTLSTAT values to include UNKNOWN in the name; not
+
+ enough information is known about them to be sure as to what the values mean.
+
+commit 14f0b7ea98d5cb2f805fc22796596ef878ae24cb
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Tue Mar 13 13:44:23 2007 +0100
+
+ use movdqu instead of movdqa for unaligned load avoiding a segfault (bug 10265)
+
+commit 4110fac38958003935f64e278d3a7b880523efe2
+Merge: 5a5b559 eb4db4c
+Author: Nian Wu <nian.wu@intel.com>
+Date: Tue Mar 13 17:00:18 2007 +0800
+
+ Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline
+
+commit eb4db4c4ec7efc366b00e1b1f1fe519ca1af79d6
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Tue Mar 13 06:24:56 2007 +0000
+
+ Add defines for the values written to R300_RB3D_ZCACHE_CTLSTAT.
+
+ Note that just like the values written to R300_RB3D_DSTCACHE_CTLSTAT these
+ values are really unknown; ideally more reverse engineering should be done to
+ determine what these values mean and when they should be set.
+
+commit 19fbe9732c92ff67911c28bf19c174326af05c84
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Tue Mar 13 06:08:36 2007 +0000
+
+ Documented the value written for R300_TX_CNTL cache flush.
+
+commit 53f83b435ce9a94092503712e3d4e16d4c942752
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Tue Mar 13 13:39:34 2007 +0800
+
+ mesa: _mesa_unpack_image
+
+ 1. take packed pixel data as a component
+ 2. fix for GL_BITMAP when compiling glTexImage, etc into
+ a display list: a. flip byte if lsbFirst is true since
+ DefaultPacking->lsbFirst is false. b. handle SkipPixels
+
+commit cd6660475646defb6311491028dfe50202709b59
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Tue Mar 13 01:31:38 2007 +0000
+
+ Corrected values written to R300_RB3D_DSTCACHE_CTLSTAT to either
+ R300_RB3D_DSTCACHE_02 or R300_RB3D_DSTCACHE_0A, rather than hexadecimal values.
+
+commit 0c750ca98de5a08c0fe4c513a741c78b7bab80e3
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Tue Mar 13 00:48:17 2007 +0000
+
+ Guess another unknown register used for R300 pacification.
+
+commit b3a22d0ed61afa9df4d3a02962884d49bc5760a4
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Mar 12 17:29:50 2007 -0600
+
+ Implement GL_ARB_texture_rectangle support
+
+ This includes the sampler2DRect and sampler2DRectShadow types and
+ the texture2DRect(), texture2DRectProj(), etc. built-in functions.
+
+commit 708d836e6b785764692c485e6cdf42f2b50fcf86
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Mon Mar 12 19:08:28 2007 +0100
+
+ i915tex: Don't crash when intel_fb->color_rb[i] is NULL.
+
+ This can be the case on some systems when running glxinfo.
+
+commit 8946d7f02938f20f3da46f6a8f7f1196afc271be
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Mar 12 10:52:52 2007 -0600
+
+ Add array bounds checking, fix memleaks, add null ptr checks.
+
+commit d2a6f43eaf0f50d7cc495ee32186429abad0e34f
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Mar 12 10:30:36 2007 -0600
+
+ extra stuff for drawbuffers test
+
+commit 17fb7821d7cdc0ed211eaef013ee7798619a61d3
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Mar 12 09:49:44 2007 -0600
+
+ clean-up, simplify _mesa_image_row_stride()
+
+commit c1a544733749cd388b9f51d087c695b2ce0ec729
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Mar 12 09:35:44 2007 -0600
+
+ take GL_UNPACK_ALIGNMENT into account in _mesa_image_row_stride() for GL_BITMAP type (bug 10261)
+
+commit d0a3400f66b8c4ace7ebef6d0a944376d5203756
+Author: Alan Swanson <swanson@ukfsn.org>
+Date: Mon Mar 12 10:03:01 2007 +0100
+
+ r200: Simplify r200SetCliprects like radeonSetCliprects in radeon and r300.
+
+commit 33ea9dccaf31c2dfb0961847eedfe75336d9c80f
+Author: Alan Swanson <swanson@ukfsn.org>
+Date: Mon Mar 12 09:59:45 2007 +0100
+
+ r200: Adapt cliprect fixes from r300.
+
+commit 88501887e48d1619e4296afa609dfe9904b81a70
+Author: Alan Swanson <swanson@ukfsn.org>
+Date: Mon Mar 12 09:59:28 2007 +0100
+
+ radeon: Adapt cliprect fixes from r300.
+
+commit 5a5b55943dfdb7fac77f7556058791302ee8639b
+Merge: 1e05508 61ec23c
+Author: Nian Wu <nian.wu@intel.com>
+Date: Mon Mar 12 09:03:27 2007 +0800
+
+ Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline
+
+commit 3f7ef618b6ea9d80aaef416ca9ddf6994bcbec8e
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sun Mar 11 17:30:13 2007 -0600
+
+ added drawbuffers.c
+
+commit 15aa7aaa9327f528d1edc47d76fcc92e32bf001e
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sun Mar 11 17:29:54 2007 -0600
+
+ add NULL ptr check
+
+commit ccb80d7ec4e4415c5443031ec26447117e20e4de
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sun Mar 11 17:03:29 2007 -0600
+
+ Test the GL_ARB_draw_buffers extension.
+
+ Also requires GL_EXT_framebuffer_object and OpenGL 2.0 (for GLSL).
+
+commit 1c09bcfdda4083636a3ac27d804a34ef87875ce7
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sun Mar 11 17:00:39 2007 -0600
+
+ Implement support for GL_ARB_draw_buffers with GL_MAX_DRAW_BUFFERS > 1.
+
+ GL_MAX_DRAW_BUFFERS is currently 4.
+ Added gl_FragData[] output for fragment programs.
+ In _swrast_write_rgba_span() loop over the color outputs/renderbuffers.
+
+commit 61ec23cc63a040a2edf1bc466917e85362514c89
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Sun Mar 11 22:41:26 2007 +0800
+
+ fix for bug#10196
+
+ Compute half if LOCAL_VIEWER is enabled and the light is
+ a directional source.
+
+commit 69e57cf6ae0af823e903926bafa8daa46b11352c
+Author: Aapo Tahkola <aapo@aapo-desktop.(none)>
+Date: Sun Mar 11 11:47:03 2007 +0200
+
+ Guess another unknown register in R300 command buffer initialization. (Oliver McFadden)
+
+commit e64166703a27c5b1127373b1dff3b93e617bcaea
+Author: Oliver McFadden <z3ro.geek@gmail.com>
+Date: Sun Mar 11 12:18:27 2007 +1100
+
+ Renamed some of the unkXXX variables in the command buffer init
+ ialization code.
+
+ Note that there are still plenty of actual unknown variables left that should
+ probably be deciphered.
+
+ There are a number of things incomplete in the driver; the different polygon
+ offset modes (line, point, etc), the other texture filter, texture chroma key,
+ etc. These should probably be fixed in the future, or at least added to the TODO
+ list.
+
+commit d23dd812ad597ddbe82be5f95708ece9ad63a2fa
+Merge: 10b5895 7d39c1a
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sat Mar 10 14:07:28 2007 -0700
+
+ Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa into glsl-compiler-1
+
+commit 7d39c1ae76cc7dc6793980fd83db100399ee9179
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Mar 10 11:50:50 2007 -0700
+
+ Fix TEXREL issues.
+
+ Patch submitted by Christoph Brill.
+ See http://www.gentoo.org/proj/en/hardened/pic-fix-guide.xml
+
+commit 823c041fdefa772fc1b06c87f71b0ee3291a00db
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Mar 10 11:48:59 2007 -0700
+
+ check for EXT_blend_equation_separate for 2.0
+
+commit 10b5895597d5e069183cb647d17eb412effceb4f
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Mar 10 11:30:19 2007 -0700
+
+ Implement gl_FrontFacing for fragment shaders.
+
+ For the time being, we put the gl_FrontFacing value in the FOGC.Y input
+ register. Combining FOGC and FrontFacing in one register is a bit of a
+ hack and may need to be changed someday.
+
+commit 1fcb4ecc07685872c9c42569ba13faa1cad54d3c
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Mar 10 10:56:06 2007 -0700
+
+ clean-up formatting
+
+commit c9872b80c874ce7891c6b07c2d4f2fe099fdd8cd
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Mar 10 10:37:18 2007 -0700
+
+ add NULL ptr check in emit_cond()
+
+commit 38f7f81518a434e0c70131a36396e0cf52e7b698
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Sat Mar 10 17:12:58 2007 +0100
+
+ i915tex: Fix build against libdrm git...
+
+commit beffb4e88c71679ab69776498ee7178b7b8a16c0
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Sat Mar 10 16:40:22 2007 +0100
+
+ i915tex: Fix intel_wait_flips being declared implicitly.
+
+commit 97775f9904c34f72e6e5a56a6fb8975b1834e5f4
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Sat Mar 10 16:06:38 2007 +0100
+
+ i915tex: Fix build against released version of libdrm.
+
+commit ced8870a6accbc1f5af876e81e20606bf5a4663e
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sat Mar 10 13:46:26 2007 +0100
+
+ nouveau: fix nv04 swtcl.
+
+commit 4f12b37a56b0f90d7beb248c5d3bee7600c24c14
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sat Mar 10 01:25:51 2007 +0100
+
+ nouveau: fix the nv04 swtcl code.
+
+commit 581a5940339af8b2cdd7497228d22fcf47269592
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sat Mar 10 01:24:32 2007 +0100
+
+ nouveau: oops don't debug by default.
+
+commit df1c3ff3ddaeee2dd32f0c3f7c298142c41982ff
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sat Mar 10 01:23:40 2007 +0100
+
+ nouveau: some fixes to the nv04 state code.
+
+commit e61f674844afeae7bd5ff17084a46b7215401275
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sat Mar 10 01:23:14 2007 +0100
+
+ nouveau: add a fifo size debug check.
+
+commit 46bd63819e0fb108d13df0672372e500cf56bbbe
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Mar 9 17:02:12 2007 -0700
+
+ use gl_ModelViewProjectionMatrixTranspose in ftransform()
+
+commit ff95925e70877b9cfe65f66c21ea5ee9ae117ca4
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Mar 9 16:53:44 2007 -0700
+
+ add NULL ptr check
+
+commit 30b914e2ca28cd44eed57b34353e641793b38a6d
+Merge: f9f79c8 6e0878b
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Sat Mar 10 00:19:17 2007 +0100
+
+ Merge branch 'i915tex-pageflip'
+
+commit b9ea9361500979b318574ac69ce656ea3af6a197
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Mar 9 15:41:25 2007 -0700
+
+ added GL_CURRENT_PROGRAM
+
+commit 6e0878becfbf211e5bbd141cd3441dfbdb206cc8
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Fri Mar 9 20:00:13 2007 +0100
+
+ i915tex: Wait for pending scheduled flips before switching vsync pipe.
+
+ This avoids hangs when the vblank sequence numbers are not in sync between
+ pipes, in particular when they run at different refresh rates.
+
+commit bb0760ca4f1759eb3c237045f464da4ad60eef83
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Fri Mar 9 19:56:55 2007 +0100
+
+ i915tex: Set intel_fb->vbl_waited to current instead of what we aimed for.
+
+commit 2cf5fd48d1586f961910a14324a457854cb66221
+Merge: 9f44247 f9f79c8
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Mar 9 11:43:53 2007 -0700
+
+ Merge branch 'origin' into glsl-compiler-1
+
+ Conflicts:
+
+ src/mesa/main/context.c
+
+commit 9f44247acf62b91669f77974a4bbad687d58859e
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Mar 9 11:34:18 2007 -0700
+
+ fix _mesa_uniform_matrix() transpose bug
+
+commit 36b4e25da34691dffd6b147c8cf3d2598ec11ac7
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Fri Mar 9 17:52:29 2007 +0100
+
+ i915tex: Sync pages between pipes immediately again.
+
+ This should be safe now that we no longer use the MI_WAIT_FOR_EVENT instruction
+ incorrectly and should also work correctly with applications that render to the
+ front buffer.
+
+commit b03e1712b2d06159c13564ad8f70f79cf586510e
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Mar 9 09:51:55 2007 -0700
+
+ gl_ClipVertex not supported yet
+
+commit 81536789d2d2d92c687e9037cbb6f86b633ef839
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Fri Mar 9 17:41:04 2007 +0100
+
+ i915tex: Do not wait for pending flips on both pipes at the same time.
+
+ The MI_WAIT_FOR_EVENT instruction does not support waiting for several events
+ at once, so this should fix the lockups with page flipping when both pipes are
+ enabled.
+
+commit f9f79c8d770e696249bd98c68b563f887562c974
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Mar 9 09:08:41 2007 -0700
+
+ New IMAGE_RED_TO_LUMINANCE flag passed to _mesa_pack_rgba_span_float() to fix glGetTexImage(GL_LUMINANCE) bug #10232.
+
+commit 4d9901a1cab8e0d55b1b2309cf3ffec235e53149
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Fri Mar 9 09:43:17 2007 +0100
+
+ r300: Also update window state when it's already bound but its stamp changed.
+
+ And set new cliprects before deriving other state from them. This ensures
+ cliprects aren't accessed after having been freed.
+
+ Thanks to Panagiotis Papadakos for testing various iterations of this.
+
+commit a706b0b8bd87bb85541ac0c474da4c6559312cde
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Mar 8 16:08:55 2007 -0700
+
+ added missing bvec2/3/4 constructors
+
+commit 05b74e4ae4e772e63702bb6b14977c8b09f389a6
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Mar 8 15:59:20 2007 -0700
+
+ fix broken vec4_seq, vec4_sne instructions
+
+commit 2f35a17f38e3974b0a6e00017408efd417afd4e8
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Mar 8 15:53:05 2007 -0700
+
+ Update lessThan(), lessThanEqual() functions, improve some matrix constructors.
+
+commit 5761a93bba11e8a47660f465b27485e130150242
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Mar 8 15:52:22 2007 -0700
+
+ Added IR_SLE and IR_SLT for <= and < operations.
+
+ Using IR_SGE and IR_SGT with transposed args doesn't work since the __asm
+ calls don't do argument matching by name, but by position.
+ This fixes the broken lessThan() and lessThanEqual() functions.
+
+commit 3e0fbc7efcebdbef5698a270bd0192335a2d556b
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Mar 8 15:45:25 2007 -0700
+
+ fix tmp storage problem for IR_I_TO_F
+
+commit 19a90505487e69a50a947ed932b024c0f5ff2c5d
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Mar 8 15:19:34 2007 -0700
+
+ fix assertion
+
+commit ee931f8d4de7c3f04ea80cfaa556d1058942e523
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Mar 8 14:48:34 2007 -0700
+
+ ; and {} statements were broken
+
+commit ec89aba7c6de29e1dc24b04740b0716e18028b12
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Mar 8 11:29:22 2007 -0700
+
+ remove unused new_cjump()
+
+commit cce4e505690f3d5aef630bd4c4c4a455f08519a1
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Mar 8 11:16:13 2007 -0700
+
+ IR_CJUMP0/1 no longer used/needed
+
+commit 63772e2a2c0d67a88816bfb52a250b86ecd97f20
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Mar 8 11:07:52 2007 -0700
+
+ rewrite _slang_gen_select() to use IF node
+
+commit b3dd49429b6cbd87b67a0277127c24fb534c69a6
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Mar 8 10:53:50 2007 -0700
+
+ s/_slang_gen_hl_if/_slang_gen_if/
+
+commit 609306de17583a0780cb7db314429371706915fb
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Mar 8 10:43:57 2007 -0700
+
+ s/_slang_gen_hl_if/_slang_gen_if/
+
+commit c9f486c38f80a71b89152bde78be628b531101ef
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Mar 8 10:40:37 2007 -0700
+
+ remove old assertion
+
+commit bf86ddaa2018d58c894da27d7a7a7b5449d1338e
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Mar 8 10:40:25 2007 -0700
+
+ check for attempted writes to read-only vars
+
+commit de8172673e23bad1186553b91a7c22e65d93692a
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Mar 8 09:38:35 2007 -0700
+
+ Rework matrix-related code.
+
+ GLSL matrices are stored in column-major order while GL_ARB_vertex/fragment_program
+ use row-major. So, need to use STATE_MATRIX_TRANSPOSE for built-in matrices.
+ Unfortunately, this means that the expression M * V isn't very efficient since we
+ need to extract the rows out of M. And that's the typical expression for vertex
+ transformation: gl_ModelViewProjectionMatrix * gl_Position.
+ Solve this inefficiency by looking for M*V expressions and replacing them
+ with V*Transpose(M).
+ Also, add support for GLSL 1.20's MatrixTranspose, Inverse and InverseTranspose
+ matrices.
+
+commit d85667950f6797f63fa0863e6882390c2adaaf2b
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Thu Mar 8 22:54:14 2007 +0800
+
+ remove a if-statement
+
+ glMaterial changes the current specular exponent or glLight changes
+ the intensity distribution of the light, but _mesa_update_state doesn't
+ update the corresponding light table. So they must be updated at this time.
+
+commit 6ff0a04f7ccc6a7049bccedb3dc52382e854848b
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Mar 8 07:53:30 2007 -0700
+
+ fix ProjectionMatrix typo
+
+commit 7e66cad998d7f8d51f373c5b45e9fd74f350d12e
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Mar 8 07:51:39 2007 -0700
+
+ fix gl_TextureMatrix indexing
+
+commit 79d59d017325820c793d57dfd95b7c4c85722ee3
+Author: J.Jansen <joukj@tarantella.nano.tudelft.nl>
+Date: Thu Mar 8 09:53:28 2007 +0100
+
+ Updates of the OpenVMS makefiles.
+ -include missing definitions
+ -add files to compile
+ -remove files from compile list which are removed from the repositry
+ -add support for vbo
+
+ new file: src/mesa/vbo/descrip.mms
+ modified: src/mesa/descrip.mms
+ modified: src/mesa/drivers/osmesa/descrip.mms
+ modified: src/mesa/drivers/x11/descrip.mms
+ modified: src/mesa/swrast_setup/descrip.mms
+ modified: src/mesa/tnl/descrip.mms
+
+commit 9637c963f59192aaccf68e7690f5ffb1e17ba077
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 7 17:40:57 2007 -0700
+
+ more DEBUG_PROG
+
+commit fb3f0beb42868cef6ee78385164fb9605820c365
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 7 17:37:24 2007 -0700
+
+ update comments
+
+commit 0aec2bb8f218b7e419806149a2c50f598cd07a6a
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 7 16:13:33 2007 -0700
+
+ remove unneeded return stmt
+
+commit da899d190e6835c46dc09e401098c660886e0c4c
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 7 16:13:22 2007 -0700
+
+ add missing gl_Point state, fix IR storage bug
+
+commit 1e055089a37bca8bc5e1cec37d5559fcdb0cf21f
+Merge: 87c9ad6 2282d81
+Author: Nian Wu <nian.wu@intel.com>
+Date: Wed Mar 7 16:01:36 2007 -0500
+
+ Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline
+
+commit 29bc4b8974c163507be06b4991a23368e69b177a
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 7 13:35:49 2007 -0700
+
+ s/diffuset/diffuse/
+
+commit c3412e9a082a0c23b865b58c8bfab64adf404946
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 7 13:07:40 2007 -0700
+
+ regenerated
+
+commit 842c782ceede0548546a7a015c6e04a4626f7b37
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 7 13:07:07 2007 -0700
+
+ use 2.0, 2.1 version strings
+
+commit faeea574afcdd45200aea4a78fb7d80b2aa56552
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 7 13:00:06 2007 -0700
+
+ remove end_label field
+
+commit 35d25c0ce4104d41feead679573543427f99a031
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 7 12:59:01 2007 -0700
+
+ Fix problem with nested function calls such as y = f(f(x))
+
+ Replace CurFunction with curFuncEndLabel.
+
+commit 5b5a80d011d143f1bbd9be39dc4ca6a0af4bad7c
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 7 11:26:47 2007 -0700
+
+ s/equal/EQUAL/, fix bugs in logical or/and code.
+
+commit ab673c852724e81365ab9d979881da7464131854
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 7 11:25:37 2007 -0700
+
+ fix broken __postDecr()
+
+commit 1dca0891492dc5d2974239f04883a41a1738d91f
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 7 10:42:44 2007 -0700
+
+ fix deferredTexture bug
+
+commit fb3410297bb21a0eeda4d32698c2612f4e3cf40e
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Wed Mar 7 18:01:39 2007 +0100
+
+ i915tex: Set framebuffer size to match window before calling _mesa_make_current.
+
+ Fixes issues with apps that don't call glViewport by default.
+
+commit 3efd0c7b8d1aaa8abd78b35e4cb92dae4279dd77
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 7 09:59:26 2007 -0700
+
+ fix swizzled writemask bug
+
+commit f3da222839151bc8cbedbbe1e84f771deb31148c
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 7 09:58:45 2007 -0700
+
+ remove bogus assertion
+
+commit 9adf6e9d6c0fe420f648bf3f57c22df72dea485f
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Wed Mar 7 17:52:44 2007 +0100
+
+ i945_miptree_layout: Adapt cubemap fixes from i915_miptree_layout.
+
+ Cubemaps aren't working fully correctly yet, but at least they don't seem to
+ cause crashes anymore.
+
+commit d25046b6487aaaa55cc2e3cfa57fe75a1c9d6de1
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 7 08:56:09 2007 -0700
+
+ fix incorrect HPOS write test
+
+commit e61ec95deb6e7edb2b003036773d57cc70d2c275
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 7 08:55:42 2007 -0700
+
+ additional error detection
+
+commit cec81eef313cea94ffdbd8e62c18ff8d3f651dbd
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 7 08:04:06 2007 -0700
+
+ check for null program ptrs in _mesa_uniform()
+
+commit 55821d021d87fba6551509f5612ee16d9ece977f
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Mar 7 07:52:24 2007 -0700
+
+ Generate an error if the vertex shader does not write to gl_Position.
+
+commit 2282d815360c2087dd080c794084bea65e6da358
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Mar 6 16:33:00 2007 -0700
+
+ destroy window during cleanup
+
+commit 6cb0aa12b82bf29e0306de7a2baa1c398732688c
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Mar 6 16:32:03 2007 -0700
+
+ more integer arithmetic updates
+
+commit 0af1c6b5d1e2a5560f92b93b5429f70b49449ddb
+Merge: e69da9d fa89610
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Mar 6 16:27:23 2007 -0700
+
+ Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa
+
+commit e69da9d02ecdf47d930276783f8b8df1a3cd99dd
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Mar 6 16:26:22 2007 -0700
+
+ explicit calls to _mesa_unreference_framebuffer() not always needed now
+
+commit 1a6baf092b4c31d5fd30c934f1a17d69c9689f12
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Mar 6 16:26:02 2007 -0700
+
+ unreference old framebuffer, if needed, in _mesa_reference_framebuffer()
+
+commit 955906aa647d0d233b422c979e1ee81dc32abb87
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Mar 6 16:25:07 2007 -0700
+
+ fix renderbuffer mem leak
+
+commit 37fd6be41134df46cb9dad7f9201188ff9707629
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Mar 6 16:24:48 2007 -0700
+
+ formatting fix
+
+commit e10a1457e827f9cfb18a4438f3254151ddf1d60b
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Mar 6 14:07:48 2007 -0700
+
+ fix some int arithmetic problems
+
+commit 87c9ad6fd57a60c29dc83c8a538e70a93d125e25
+Merge: c05b6f8 1c70cde
+Author: Nian Wu <nian.wu@intel.com>
+Date: Tue Mar 6 16:01:23 2007 -0500
+
+ Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline
+
+commit fa8961069c5a99f118deeb5c0217e7c7e1de5f1a
+Merge: 091be11 a510bc3
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Mar 6 11:50:33 2007 -0800
+
+ Merge branch 'master' of ssh+git://idr@git.freedesktop.org/git/mesa/mesa
+
+commit 091be1119050f8cd158161aa3960b1f4260cd790
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Mar 6 11:50:21 2007 -0800
+
+ Fix cut-and-paste error in the name of GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB.
+
+commit 28ab1125c22bcb558e3b5e127d975120de76e103
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Mar 6 12:15:30 2007 -0700
+
+ more DEBUG_PROG code
+
+commit c6d930a11467730e1b6fed13d59680acab90b6df
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Mar 6 11:53:27 2007 -0700
+
+ fix vert/frag typo
+
+commit a510bc3ee1a696da120c09ee4ec33dc033f671ac
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Mar 6 10:07:59 2007 -0700
+
+ Fix/improve framebuffer object reference counting.
+
+ Use _mesa_reference_framebuffer() and _mesa_unreference_framebuffer() functions
+ to be sure reference counting is done correctly. Additional assertions are
+ done too. Note _mesa_dereference_framebuffer() renamed to "unreference" as
+ that's more accurate.
+
+commit 593802c0b0f451299ac2598c6de61e884fb44830
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Mar 6 09:49:15 2007 -0700
+
+ Take care of texObj reference in _mesa_free_framebuffer_data()
+
+commit 330d7e2080ec3f4385f83a6b68e4b46f28aee7a8
+Merge: a8ba888 6f9b1af
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Mar 6 09:03:18 2007 -0700
+
+ Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa
+
+commit c05b6f800a1d4726ea92a20aab99dde5d00b5e17
+Merge: 540e1c7 a783713
+Author: Nian Wu <nian.wu@intel.com>
+Date: Tue Mar 6 07:43:03 2007 -0500
+
+ Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline
+
+commit 6f9b1afc862851532e4820705c412388b497ad58
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue Mar 6 13:22:35 2007 +0100
+
+ r300: Call radeonSetCliprects from radeonMakeCurrent.
+
+ Based on a patch by Panagiotis Papadakos.
+
+ Among other things, this makes sure the framebuffer object associated with the
+ drawable has the correct size when _mesa_make_current is called, so the default
+ viewport is set up correctly.
+
+ Also update radeon->lastStamp in radeonSetCliprects.
+
+commit 1c70cde8881f794782780cbd695da0882f78c769
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Tue Mar 6 15:47:37 2007 +0800
+
+ fix for bug#10182
+
+ call _mesa_dereference_framebuffer instead of _mesa_dereference_framebuffer
+ in i810, i915, i915tex, i965 drivers.
+
+commit a783713432a1aed168688ace7d03bc11abf9b406
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Mon Mar 5 22:18:21 2007 +0800
+
+ fix for bug#9971
+
+ call swsetup_Wakeup before falling back to software rendering
+
+commit 540e1c70ccb756200dbec3441b8238fac8e1cebe
+Merge: 180c0d7 7ecdfb2
+Author: Nian Wu <nian.wu@intel.com>
+Date: Mon Mar 5 09:01:31 2007 -0500
+
+ Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline
+
+commit 7ecdfb2f08c8722ecad9269ef753420a49be3dde
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Mar 4 21:47:05 2007 +0000
+
+ Propogate UsesKill information.
+
+commit 180c0d70c43abe694e8b601159e02baf9af7b042
+Merge: 6a47e35 9557706
+Author: Nian Wu <nian.wu@intel.com>
+Date: Fri Mar 2 09:01:27 2007 -0500
+
+ Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline
+
+commit 95577064040ceeaaf7b0a460f91eac951cf8af18
+Author: Christoph Bill <egore@gmx.de>
+Date: Thu Mar 1 21:11:45 2007 +0100
+
+ r300: Use register name & add a register about shading.
+
+commit 0d2a68fc61ed6e47a7a8ae4197596b96bb11f886
+Author: Christoph Bill <egore@gmx.de>
+Date: Thu Mar 1 20:45:04 2007 +0100
+
+ r300: Use reg definition when available & add missing reg definition.
+
+commit ad3f2107ed698e794871e0a2bd996260b263b46a
+Author: Christoph Bill <egore@gmx.de>
+Date: Thu Mar 1 20:40:25 2007 +0100
+
+ Add early register descritpion.
+
+ This need more work on case where we can disable
+ or enable early (stencil, alpha might need it to
+ be disable).
+
+commit 5cb01764f647be7ca3cb5e891af9fe012914a93d
+Author: Rune Petersen <rune@megahurts.dk>
+Date: Thu Mar 1 20:36:19 2007 +0100
+
+ Optimize cos&sin instruction a bit more.
+
+commit a8ba888a351ceb4242fa334f3c41ef76d7f25bc8
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Mar 1 09:40:21 2007 -0700
+
+ move oldFb decl into tighter scopes
+
+commit 9fbb2e9e76aabc73148c464ce8fd6980a2c1d3f5
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Mar 1 09:17:01 2007 -0700
+
+ fix bad n_dot_h normalization code (bug 9977), plus clean-up the code in general
+
+commit d592eaeb8321d1e408050fe07bff2bf234615b4c
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Mar 1 07:56:11 2007 -0700
+
+ fix clipping, display name, warnings
+
+commit 887d3c67cbe1f09ec5a816eca859936addb3d3ec
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Mar 1 07:42:42 2007 -0700
+
+ s/unsigned int/size_t/ (bug 10135)
+
+commit 03b9e16507627e3163cfdf3d119af14e5fb1cd65
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Mar 1 07:39:27 2007 -0700
+
+ include assert.h
+
+commit 6a47e350656b1090e399144ff6a0cdabe94842e7
+Merge: 381b4b0 38a88db
+Author: Nian Wu <nian.wu@intel.com>
+Date: Thu Mar 1 09:01:58 2007 -0500
+
+ Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline
+
+commit 38a88db1fc69b774ded3b7a44126e0b0f61e886b
+Merge: 9f37be6 afa780c
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Feb 28 11:58:30 2007 -0700
+
+ Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa
+
+commit 9f37be694ed5fc14d783559055443d4042c73393
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Feb 28 11:58:06 2007 -0700
+
+ s/ARB/MESA/ in extension check (bug 10126)
+
+commit 0609b6afa8117893d7b36468158ac6ec2f5642bc
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Wed Feb 28 17:46:07 2007 +0100
+
+ i915tex: Sync pages differently when crossing pipe borders.
+
+ Don't flip (up to twice) immediately but just arrange things such that the
+ pages will be in sync on both pipes on the next flip.
+
+commit 3c578455e103664e6f93a7792999da7c06dd9a3f
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Wed Feb 28 17:42:54 2007 +0100
+
+ i915tex: Check that intel_rb is valid before trying to add it to an fbo.
+
+commit edf676cc5af26d8f82625a94788d4f27c464ab38
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Wed Feb 28 16:05:49 2007 +0100
+
+ i915tex: Also update intel_rb->vbl_pending when scheduled swap is not a flip.
+
+commit afa780c09d8e48c1c9ecaa4bce1bbe7e8e9c5e2c
+Author: Ben Skeggs <skeggsb@gmail.com>
+Date: Wed Feb 28 15:31:28 2007 +1100
+
+ nouveau: drm interface changes
+
+commit 07e62084bbfbce20b03b23664445c3ce6dcbd965
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Feb 27 16:45:40 2007 -0700
+
+ info about how the compiler works
+
+commit 381b4b0c91d476811420d8806eb8c058d0075927
+Merge: 675f7f6 e21096b
+Author: Nian Wu <nian@tinderbox.sh.intel.com>
+Date: Tue Feb 27 14:42:16 2007 -0500
+
+ Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline
+
+commit 59e56ee3e5c8f9aa9ec74e1817065a7ae14012ea
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Feb 27 11:09:48 2007 -0700
+
+ fix comment
+
+commit f30e31276304696558abffdd9a6e3df21d41c0f5
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Feb 27 11:09:28 2007 -0700
+
+ assert that fb->RefCount==0 in _mesa_free_framebuffer_data()
+
+commit 0e1bd2302537a9684158cb353b876af4ce6346e7
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Feb 27 09:54:50 2007 -0700
+
+ s/matrix_stack/gl_matrix_stack/ and s/mesa_list_state/gl_dlist_state/
+
+commit 2cf8d24131edec78778d7b6ce49ead9157c2b266
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Feb 26 18:35:34 2007 -0700
+
+ remove unused DriverMgrCtx
+
+commit fa4d0364246d24b3f86bc9a8486a9ad7db60f1b3
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Feb 26 18:33:50 2007 -0700
+
+ Add EmitHighLevelInstructions, EmitComments booleans to gl_shader_state.
+
+ These control code generation options. May be overridden by drivers, debuggers, etc.
+
+commit 4f26a52908d14b753199a529fd4c24da608ead29
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Feb 26 18:08:09 2007 -0700
+
+ re-enable var scope destruct in slang_operation_destruct()
+
+commit 553fe132d4dec3283afd59f81357ebb3c2b94c06
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Feb 26 18:07:26 2007 -0700
+
+ Fix a few bugs in slang_operation variable scoping. Seems to fix a double-free.
+
+commit aa6f4241f8d9e301e056968a1eb85bb27b7fa55a
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Feb 26 17:32:45 2007 -0700
+
+ formatting fixes
+
+commit e21096b07c5854d01114b58f87d08709e370f8b7
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Feb 26 17:05:52 2007 -0700
+
+ fix mem leak
+
+commit b58ea057feb7a00329fe92fe41e1d408e7c76065
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Feb 26 17:00:06 2007 -0700
+
+ fix mem leak in _mesa_ShaderSourceARB()
+
+commit 4b8d75e2e6ba72bbf772a75d7167c537c6e630f7
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Feb 26 16:32:00 2007 -0700
+
+ fix logic for reporting errors
+
+commit f446e58e45d7317173497eddbd8b26ea6c28fcb4
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Feb 26 15:13:34 2007 -0700
+
+ disable execute bit
+
+commit 6817407d498ff0c5074321b965673f6efdaaeb21
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Feb 26 15:06:56 2007 -0700
+
+ fix error flagging
+
+commit 365f8fb0dd19a8fa43b1de8e89793059095981db
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Feb 26 15:02:36 2007 -0700
+
+ re-enable some code
+
+commit ed0ae62ad746d10fe546c900a42e55af5d05c227
+Merge: 4e53ce8 ca279b8
+Author: Brian <brian@nostromo.localnet.net>
+Date: Mon Feb 26 14:34:57 2007 -0700
+
+ Merge branch 'glsl-compiler-1' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa into glsl-compiler-1
+
+commit ca279b80e686e2e590f1cf08ef22dabdead4d66f
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Feb 26 14:33:52 2007 -0700
+
+ Remove old error logging code. New slang_log.[ch] files.
+
+commit c4ac5ac9d70bf89366f8d8798d038dbbc71d833f
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Feb 26 14:32:53 2007 -0700
+
+ Overhaul of error handling.
+
+commit 7f01ef171fa99e9f423fcaae28eff27edefc8d85
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Feb 26 14:32:29 2007 -0700
+
+ Overhaul of error logging.
+
+commit e63c7e089334fd219e0c738fb089be2f75c689d5
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Feb 26 14:22:05 2007 -0700
+
+ Use new slang_emit_info struct for passing context info around.
+
+commit 25ea5ea27e7fa4bd7151723d7549a0c33ac1ceda
+Merge: 32fbbf3 3c1c999
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Feb 26 13:11:20 2007 -0700
+
+ Merge branch 'glsl-compiler-1' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa into glsl-compiler-1
+
+commit 928a70e4354d4884e2918ec67ddc6d8baf942c8a
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Feb 26 11:39:17 2007 -0700
+
+ Rewrite code related to buffer destruction.
+
+ Do proper reference counting so that we don't wind up with dangling
+ references to deleted windows/framebuffers. Should help with bug 7205.
+
+commit f30e8a4bdf8338dc3f8e985a9c91af61a3301990
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Feb 26 11:37:52 2007 -0700
+
+ if renderbuffer ptr is null, just return
+
+commit e6a9381f78605072cab52447fce35eaa98c1e75c
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Feb 26 11:37:37 2007 -0700
+
+ Do proper framebuffer refcounting in _mesa_make_current().
+
+ Also, added DeletePending field to gl_framebuffer used when a window has been
+ deleted, but there still may be rendering contexts attached to the
+ gl_framebuffer object.
+
+commit 344c3f7379ab4db749e7e8513be9be8fbb9f126c
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Feb 26 09:19:32 2007 -0700
+
+ updated version with new Khronos license/copyright
+
+commit 1a72c8ed3ff6ffc4a301f3c4a107d2693719edb8
+Author: Panagiotis Papadakos <papadako@csd.uoc.gr>
+Date: Mon Feb 26 07:59:14 2007 -0700
+
+ s/pdp/prp/ in DoBindContext()
+
+commit 3528d61820e9ae1aafb12fb90849155f3cab6d2c
+Author: Panagiotis Papadakos <papadako@csd.uoc.gr>
+Date: Mon Feb 26 07:57:31 2007 -0700
+
+ add missing param to _mesa_warning()
+
+commit 46d48802010975548338a4b749e237f8b3758299
+Merge: 9d8df47 c080123
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Feb 26 07:56:43 2007 -0700
+
+ Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa
+
+commit 4e53ce81cfa2a98d045433ffbc4d295a239ad0b6
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sun Feb 25 20:05:22 2007 -0700
+
+ remove unneeded includes
+
+commit 3c1c999226859216b8af35c4806413b4488f21b4
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sun Feb 25 19:11:44 2007 -0700
+
+ update comments
+
+commit 313d50e9036558185e189873acb861bfa73f41a1
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sun Feb 25 19:01:16 2007 -0700
+
+ fix bounds checking in get_register_pointer()
+
+commit b85d4d61a7f93a9f2d58a1d701808584e0fce8c7
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sun Feb 25 18:56:57 2007 -0700
+
+ define and use MAX_PROGRAM_ADDRESS_REGS
+
+commit 33eac56e4a48143aa8acd5757feb68570e860de5
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sun Feb 25 18:52:41 2007 -0700
+
+ Add EnvParams field to gl_program_machine, avoid passing ctx to a bunch of functions.
+
+commit 6774f32adba96237d7a2f422435044661772d70c
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sun Feb 25 18:39:46 2007 -0700
+
+ simplify _mesa_get_program_register()
+
+commit 21bcb2e1f64fe7161e05e4dbb7bea5609ba30e2a
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sun Feb 25 18:35:47 2007 -0700
+
+ s/GetFragmentProgramRegister/GetProgramRegister/
+
+commit cfd0011f2fe3aad2ea0f66c151b3fb12d05f644e
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sun Feb 25 18:30:45 2007 -0700
+
+ minor clean-ups in _mesa_execute_program()
+
+commit 8b34b7da4131d2b07037ce062c522fddd614f127
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sun Feb 25 18:26:50 2007 -0700
+
+ remove 'maxInst' parameter from _mesa_execute_program()
+
+commit 085d7d59f0e167bb546c4a1675e09631b14fc9f7
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sun Feb 25 18:23:37 2007 -0700
+
+ remove unused 'element' parameter from _mesa_execute_program()
+
+commit 12fd8faa5dd10457b2360493e9a56ab12659f282
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sun Feb 25 18:08:16 2007 -0700
+
+ s/attribs/results/
+
+commit 29796b62bd4a0f536525c8704577434e2248aab7
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sun Feb 25 17:33:46 2007 -0700
+
+ remove unused VaryingPtr
+
+commit e71a33bbf87649150bc748b85ca7213af7c737f4
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sun Feb 25 17:29:00 2007 -0700
+
+ Optimize the loop for copying output results.
+
+commit f68067e101d596e59b39f94fafc39483f1c71233
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sun Feb 25 17:24:40 2007 -0700
+
+ add texture rotation
+
+commit c080123998f28d9317331aec7ddfcd1074b29daf
+Author: Aapo Tahkola <aapo@aapo-desktop.(none)>
+Date: Mon Feb 26 01:51:39 2007 +0200
+
+ Fix #10071 - wrong max_index in vbo draw_prims. (Papadakos Panagiotis)
+
+commit 9854a17f292193c9720cf25ab00818ecc210f911
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sun Feb 25 12:47:25 2007 -0700
+
+ only copy used outputs
+
+commit 21625d729cc7050fc1b0991e1753b0b5f45a6db0
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sun Feb 25 12:46:56 2007 -0700
+
+ output texcoord in vertex program
+
+commit 675f7f627bec92315bf168a9c872ffc05f88c69c
+Merge: 51bfb8f c080123
+Author: Nian Wu <nian@graphics.(none)>
+Date: Sun Feb 25 09:40:28 2007 -0800
+
+ Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline
+
+commit 9d8df479961a6ee21a4848bbcd44f0bd63c0ed44
+Merge: 53bcded d9fb113
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Feb 24 18:29:57 2007 -0700
+
+ Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa
+
+commit 32fbbf38b4358acd46569fd3c2b21fbc21e417a8
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Feb 24 18:27:46 2007 -0700
+
+ Revert "option to test mipmapping"
+
+ This reverts commit a127537efb8a39cc341a09aacd3d86d50350e667.
+ Meant to do this on the trunk.
+
+commit a127537efb8a39cc341a09aacd3d86d50350e667
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Feb 24 18:20:35 2007 -0700
+
+ option to test mipmapping
+
+commit d9fb113e0571dba9ac29576015cb5816c53ac467
+Merge: 5317094 3f8c596
+Author: Brian <brian@i915.localnet.net>
+Date: Sat Feb 24 18:15:45 2007 -0700
+
+ Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa
+
+commit 53170942e37ccdf58e06a2cfbfeef6c0ec086ee6
+Author: Brian <brian@i915.localnet.net>
+Date: Sat Feb 24 18:14:53 2007 -0700
+
+ Fix broken cubemap mipmap layout (the cubemap.c demo was segfaulting).
+
+ In i915_miptree_layout() change the width, height parameters that are passed
+ to intel_miptree_set_level_info(). As it was, the width, height values were
+ larger than the source image dimensions and we segfaulted in memcpy() when
+ copying the original texture data into the texture buffer region.
+ This fix should probably be checked by someone more familiar with the code (Keith?)
+
+commit aeaad937b92ac0f5286343ed75c5c9f6876e2650
+Author: Brian <brian@i915.localnet.net>
+Date: Sat Feb 24 18:11:09 2007 -0700
+
+ clean-up, comment code
+
+commit 5cd30a2b202d12240eac60825f9882838fd66779
+Author: Brian <brian@i915.localnet.net>
+Date: Sat Feb 24 18:10:41 2007 -0700
+
+ make src ptr const
+
+commit fbc4929185ca1dc7d729ec737095ef0895f5b570
+Author: Brian <brian@i915.localnet.net>
+Date: Sat Feb 24 17:00:50 2007 -0700
+
+ add missing code for newer STATE_INTERNAL items
+
+commit efcfdbd4d16071088e60a59cb966abd730d9d111
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Feb 24 15:51:41 2007 -0700
+
+ Undo some changes to _mesa_UpdateTexEnvProgram(). Fixes broken i915 texturing.
+
+commit 292a80466d3e0b1cec998f2dc1b0abe25dc10fb8
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Feb 24 15:49:54 2007 -0700
+
+ Outputs[] array wasn't large enough, define MAX_PROGRAM_OUTPUTS, new assertions.
+
+commit 5e80c62f3178a65bebca942aa0b1e5d16c34b2a9
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Feb 24 15:39:37 2007 -0700
+
+ Remove unneeded _Fragment/VertexShaderPresent fields, update comments.
+
+commit 197af3dc3242af4cac5213e095ac6639f6c782cd
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Feb 24 11:16:58 2007 -0700
+
+ Use prog_execute.c to run vertex programs until t_vb_arbprogram.c is updated to
+ handle branch instructions, etc.
+
+commit 824dcd43990eb696210d2e0a25e4994bd9c6c644
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Feb 24 11:15:27 2007 -0700
+
+ remove comment
+
+commit 761728afe8b81fc0ff7928f99f8b5668a0a7824d
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Feb 24 11:14:57 2007 -0700
+
+ Fix assertion in get_register_pointer(), fix EXP case.
+
+ Note that GL_ARB_v_p and GL_NV_v_p define the z component of the EXP instruction
+ differently. We follow the ARB extension.
+
+commit f183a2d7ea31a4fea89af834dc19c5b232eb1970
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 23 17:14:30 2007 -0700
+
+ added ARL, EXP, LOG, relative indexing
+
+commit a2786a97d74647662f1fe6aa29257e70b9e3636a
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 23 17:13:30 2007 -0700
+
+ add some missing cases in _mesa_program_state_string()
+
+commit f1390a34241d5efcf931b0edec81dd802ad3b835
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 23 17:11:01 2007 -0700
+
+ fix fog breakage
+
+commit e80d901d9854b7c24a71fcd5a3377c33f408c8c0
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 23 16:53:24 2007 -0700
+
+ reindent
+
+commit 6df328e84d270ad0e6e2fab9a884313f0e780aa1
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 23 16:48:07 2007 -0700
+
+ don't pass program ptr to fetch_vector[14]()
+
+commit 3f8c5969ffea5485aa119f4d766cdfee7d4aadeb
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Feb 23 15:15:50 2007 -0800
+
+ Fix GLAPIENTRYP for OS X.
+
+ Fix build problems related to incorrect define of GLAPIENTRYP on OS X.
+ Reported by bushing on IRC.
+
+commit 064ae479a770bf434958d673baf6f7530f642697
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 23 13:40:13 2007 -0700
+
+ Update DRI drivers for new glsl compiler.
+
+ Mostly:
+ - update #includes
+ - update STATE_* token code
+
+commit 36a0ee199ddc5f29273f9761eeed8e18ad5c874f
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 23 13:38:37 2007 -0700
+
+ expose _mesa_load_tracked_matrices()
+
+commit 15b3bd1689c7e0de4cdb883120c3dc58cf424feb
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 23 11:58:46 2007 -0700
+
+ added linux-dri-debug
+
+commit cc6a08b2a01c1ac774eaf0ca22eca325f82a064b
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 23 11:45:15 2007 -0700
+
+ SWvertex no longer has texcoord field, use attrib field instead
+
+commit fce8409cbbe6aa5309163f3d63894233b8833308
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 23 11:44:44 2007 -0700
+
+ s/GLint/gl_state_index/, length is now 5 not 6
+
+commit 9fe3e2efc3a76b2a2fb82031041f6a6170c5b1d9
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 23 11:44:14 2007 -0700
+
+ s/GLint/gl_state_index/, length is now 5 not 6
+
+commit 0020d1022f4b5befe4adf783bedc4cf83e09f01f
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 23 11:43:44 2007 -0700
+
+ re-expose _mesa_print_alu_instruction()
+
+commit ef0cc9db547017309988c848376569174cfb90e8
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 23 11:43:14 2007 -0700
+
+ remove dead code
+
+commit aa9d22a1c0f3256497088985c290d4046e089456
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 23 11:21:03 2007 -0700
+
+ replace GLint with gl_state_index
+
+commit 99902198de9a81fa95ab058048d618c5ecb7856e
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 23 10:19:55 2007 -0700
+
+ comments, clean-up
+
+commit 5186ae9bbe8c630c2434c7488fbe5bffdfba46a7
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 23 10:12:38 2007 -0700
+
+ remove unused slang_atom_pool_gen()
+
+commit 308be21c2fe8e5d33bd63eca1d3e8250cd80199d
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 23 10:04:18 2007 -0700
+
+ added slang_label.c
+
+commit c2a261f4930f6f73595b6f5df5594d160f3249af
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 23 09:55:21 2007 -0700
+
+ comments, clean-up
+
+commit 75d4ed968d48d95c274a5965cc19b13a0e47ef9f
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 23 09:42:11 2007 -0700
+
+ Replace slang_ir_node::Target w/ Field. Remove Comment field. Clean-up.
+
+commit c18c75b0b78a7a4391d94864fdd3466a0095342f
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 23 09:38:46 2007 -0700
+
+ remove old _slang_gen_if()
+
+commit afbf7c7e6b7613d8d219807adaf7d17971ac2e6d
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 23 09:38:17 2007 -0700
+
+ Re-implement branching with slang_labels.
+
+ This eliminates the NOP instructions that had been used as placeholders for
+ branch targets.
+ Also, fix "return" statement bug.
+
+commit d8d07b2a8aa5cf9c5ce877b20351983b1aa8d01d
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 23 09:36:29 2007 -0700
+
+ label routines for implementing branches, jumps
+
+commit 0cc941963197fcdf8913462dbb225bc2bfca9d85
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Feb 22 17:46:20 2007 -0700
+
+ debug code for emitting variable allocation comments
+
+commit 059376c855cbeb160e98f438a35edb8bd88b8bb2
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Feb 22 17:45:32 2007 -0700
+
+ expose _mesa_swizzle_string()
+
+commit 5e66843733c8123e73cadc1bc5c6111d64abaf25
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Fri Feb 23 01:43:13 2007 +0100
+
+ r200 fix broken (by new input handling) fogcoord
+
+commit ff0cc92757b59c9343e4fda4d20c32fbfc7586c1
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Feb 22 16:29:48 2007 -0700
+
+ glslcompiler build instructions
+
+commit bc18ac45a3b8ef746ce4a3c8abf79bd984a4614b
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Feb 22 16:29:25 2007 -0700
+
+ updated for vbo
+
+commit da46353056c2e20f81ef620efe81d5d076ab0c12
+Author: Brian <brian@nostromo.localnet.net>
+Date: Thu Feb 22 16:14:02 2007 -0700
+
+ Remove obsolete files.
+
+commit 13e3b21b16b14112b416f3ee5742fc7bd1b2d823
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Feb 22 16:09:40 2007 -0700
+
+ New, unified interpretor/executor for vertex and fragment programs.
+
+ This replaces the code formerly in nvvertexec.c and s_fragprog.c.
+ Currently, DDX, DDY don't work.
+
+commit 7aaefcbe487aedf53a46a66d2bac8b265b0176bf
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Feb 22 16:08:30 2007 -0700
+
+ use _mesa_get_program_register()
+
+commit f6803de7396edda2223adf7ff7445579dbe475c9
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Feb 22 16:08:01 2007 -0700
+
+ Use the new unified vertex/fragment program interpreter from prog_execute.c.
+
+ Currently, DDX, DDY don't work.
+
+commit e382efc85d02ee5a0c582e1a9d9bc35ad262e70b
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Feb 22 16:07:17 2007 -0700
+
+ use new _mesa_execute_program() function
+
+commit 6cfe2114f19cdcaa372df1c30a7dc7be3b94a330
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Feb 22 16:06:54 2007 -0700
+
+ FORCE_PROG_EXECUTE_C cpp flag, misc changes
+
+commit fd89396012bf4e2f36315e79ee180f0ca4eaf32e
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Feb 22 16:02:18 2007 -0700
+
+ fix assertion
+
+commit 7c86e10193491a36433104a5f1f0f4cf37a6333f
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Feb 22 16:02:08 2007 -0700
+
+ emit high-level IF/ELSE/ENDIF for vertex progs now
+
+commit 740a8b0b66f0e00807f064e3105fd6b045e5a2d0
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Feb 22 16:00:54 2007 -0700
+
+ _mesa_ExecuteProgramNV is now a no-op
+
+commit ef64cda9786858c8247166ae2692fc043121b6f4
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Feb 22 16:00:31 2007 -0700
+
+ remove nvvertexec.c, add prog_execute.c
+
+commit 3ed1acd13c7876288a5d1ab6d288b1654f0c2e6d
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Feb 22 14:57:40 2007 -0700
+
+ use MAX_PROGRAM_ENV_PARAMS
+
+commit b7aeac0de1c9c533f78c5d6acf358bdc206161ab
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Feb 22 14:57:19 2007 -0700
+
+ added MAX_PROGRAM_ENV_PARAMS
+
+commit 79fb4527cad556792f514d9e94e8f623837752ad
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Feb 22 14:56:43 2007 -0700
+
+ added CallStack, StackDepth
+
+commit 29925c6dcd2ee707bce3a278f9c9ce3db5d00630
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Feb 22 14:56:22 2007 -0700
+
+ remove unneeded #includes, misc clean-up
+
+commit e47c60443f3a0261f975e36614de569322f1b71d
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Feb 22 14:55:35 2007 -0700
+
+ reorg/clean-up/indent
+
+commit 11b9ef9454db419865a5fc82fc333c061497ef81
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Feb 22 14:43:41 2007 -0700
+
+ start implementing conditions, branching
+
+commit 2eeaae6cbcc6d5b1d85ab7e9b681b59568fb8600
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Feb 22 11:00:10 2007 -0700
+
+ get rid of some unused slang_variable fields
+
+commit 50040573d7b4a34eb919016c5fe85aeaca9e9065
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Feb 22 10:56:41 2007 -0700
+
+ Replace slang_allocate_storage() with simpler _slang_attach_storage()
+
+commit b618ac8c0b6d8ebd8af6c6d44d368f6b033acae8
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Feb 22 09:39:25 2007 -0700
+
+ updated debug code
+
+commit 776bc9cf55b116e17dddde4d097985b51879c83f
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Feb 22 09:29:46 2007 -0700
+
+ Undo some STATE_POINT/FOG changes. Max length of state token array is now 5.
+
+commit 641c966e3de192eba17c693f00d6654742c72eb6
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Feb 22 17:24:09 2007 +0100
+
+ i915tex: Schedule flips when possible.
+
+ Also move vsync related state from context to window, so it's possible to
+ schedule several flips ahead of time with triple buffering.
+
+commit 3f4826a358cab8b6d638fc8eb46aef668a7bcf46
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Feb 22 09:10:38 2007 -0700
+
+ XXX comments about shaders
+
+commit 6ec7484ae8190fb8e61eae9a016b67db65011731
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Feb 22 09:10:24 2007 -0700
+
+ use ctx->VertexProgram._Current instead of ctx->VertexProgram._Enabled
+
+commit 96abc6bf72fe0ca6f2aceb87aa9324afe72d67ac
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Feb 22 09:08:53 2007 -0700
+
+ merge fix: add STATE_FOG_PARAMS_OPTIMIZED, STATE_SPOT_DIR_NORMALIZED
+
+commit 7b30053b264726156a018c822657270e745320ce
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Feb 22 09:08:36 2007 -0700
+
+ fix negative indentation problem
+
+commit 53bcdedc329807b4d77f0c8b3e23282e204103a7
+Merge: 18e9ca5 4a1d7d6
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Feb 22 08:57:36 2007 -0700
+
+ Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa
+
+commit 29c471aafc6a3fef23d553e31a555d1782854a77
+Merge: 6d4cf6b a4b344b
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Feb 22 08:53:33 2007 -0700
+
+ Merge branch 'origin' into glsl-compiler-1
+
+ Conflicts:
+
+ src/mesa/main/state.c
+ src/mesa/shader/program.c
+ src/mesa/shader/program.h
+ src/mesa/shader/programopt.c
+ src/mesa/shader/slang/slang_execute.c
+ src/mesa/sources
+ src/mesa/swrast/s_arbshader.c
+ src/mesa/swrast/s_context.c
+ src/mesa/swrast/s_span.c
+ src/mesa/swrast/s_zoom.c
+ src/mesa/tnl/t_context.c
+ src/mesa/tnl/t_save_api.c
+ src/mesa/tnl/t_vb_arbprogram.c
+ src/mesa/tnl/t_vp_build.c
+ src/mesa/tnl/t_vtx_eval.c
+
+commit 4a1d7d6641ab9e66edce9d98456b978fe90a0617
+Author: Dave Airlie <airlied@linux.ie>
+Date: Thu Feb 22 19:33:50 2007 +1100
+
+ r300: get rid of CB_DPATH legacy
+
+commit 6d4cf6be4e79c3a6ab18272577df17389e3834a6
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Feb 21 16:07:03 2007 -0700
+
+ updated info about arrays, predefined uniforms
+
+commit 5a2c1ad6258bf5b91dbebcc412d4f9221b93ef3f
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Feb 21 16:05:56 2007 -0700
+
+ disable debug
+
+commit 917a5086b34a057c636eb498f38635080d1de1e3
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Feb 21 15:57:55 2007 -0700
+
+ Use gl_LightSource[0].position intead of a light position uniform.
+
+commit 5d89b027ee6d36aa5fffc45a5d321cfb3b24cad3
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Feb 21 15:42:50 2007 -0700
+
+ remove unneeded #includes
+
+commit 502c132738bfe4259ecc478c72969b435271a28d
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Feb 21 15:42:10 2007 -0700
+
+ fix copy&paste errors
+
+commit f958aabdf3e3dc82827628cab97b159bd5089651
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Feb 21 15:23:11 2007 -0700
+
+ more minor changes to STATE_ indexing
+
+commit 78399d23dc75611d839c2fe1165f9fe3ab37c472
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Feb 21 15:22:17 2007 -0700
+
+ remove dead code
+
+commit f94189282989c0654599731ba0a61dfd34ccd80d
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Feb 21 15:21:58 2007 -0700
+
+ Reimplement the _slang_alloc_statevar() function.
+
+ After several tries at making a table-based system for examining pre-defined
+ uniforms to find statevar indexes, give up and do it the simple way (lots of
+ strcmp() calls). Not terribly elegant, but perfectly functional.
+
+commit 6531952b3c979be0dc95704beb3c3b9dad1dc37b
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Feb 21 11:08:21 2007 -0700
+
+ adjustments to STATE_ token layout/format so token[1] is always the array index
+
+commit c3301d038d404be7c8ecda9d1425617e650e6198
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Feb 21 09:15:39 2007 -0700
+
+ checkpoint overhaul of pre-defined uniform code
+
+commit aa7ddbd0ff97ad5233a766976bbbb31e7cb1cd51
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Feb 20 17:00:16 2007 -0700
+
+ clean-up, move IR_ELEMENT code
+
+commit 760c114b24fd679bb5c5d386c5935f53ef03e8e5
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Feb 20 16:56:49 2007 -0700
+
+ alloc IR_FIELD's Storage in codegen, like IR_ELEMENT
+
+commit a4b344baa2484c65a1618f3cce3a94c91dea8ef7
+Merge: f0bcee5 440759c
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Feb 20 15:19:23 2007 -0800
+
+ Merge branch 'master' of ssh+git://idr@git.freedesktop.org/git/mesa/mesa
+
+commit f0bcee5db0523edaacbd1fb0eaa74b435ae7c188
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Feb 20 15:18:53 2007 -0800
+
+ Delete two invalid assertions.
+
+ These two assertions are invalid for a couple reasons. Primarily,
+ when this code is compiled into the X-server, the symbols
+ "glSecondaryColor3fEXT" and "glPointParameterivNV" do not exist.
+
+commit 10f42ddb9ea75fcce05d5777e8c64cdf42152ff2
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Feb 20 15:22:38 2007 -0700
+
+ work on struct/array handling
+
+commit 361b60678e7d2c005593c289baf3263a1a461bf5
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Feb 20 15:20:46 2007 -0700
+
+ forgot to return length in parse_array_len()
+
+commit 440759c2cdfdd9a7fbc6500fca2afa519126c1a7
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Tue Feb 20 23:17:09 2007 +0100
+
+ nouveau: nv10: grr, ctx->DrawBuffer invalid?
+
+commit 79870d100f90555b520af342cf59496236ff8f20
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Tue Feb 20 23:13:48 2007 +0100
+
+ nouveau: nv10: also check ctx->DrawBuffer in nv10ViewportScale
+
+commit 102ad2e066b7a6fcd893db58c64ca685e49a3dfd
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Tue Feb 20 23:04:21 2007 +0100
+
+ nouveau: nv10: keep 24/8 depth/stencil value, don't check for depth bits
+
+commit 243c2dd7469fb3e6af7206b1a6e60bfe6134fb71
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Feb 20 14:03:43 2007 -0700
+
+ implement support for pre-defined uniform structs (state vars)
+
+commit 48d65aabbc1e679fbf56fb7c4f7d4d702d43501a
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Feb 20 14:03:10 2007 -0700
+
+ added slang_builtin.c
+
+commit e33a9d689415e00bded306699abdf93b96c0b9ad
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue Feb 20 19:14:23 2007 +0100
+
+ i915tex: Triple buffering support, only effective with page flipping so far.
+
+ Pending flips are tracked per renderbuffer and the colour renderbuffer
+ attachments of window framebuffer objects are rotated on flips to avoid
+ stalling the pipeline for pending flips unnecessarily.
+
+commit 356bf9563ed145de5ba4a14c9f23c379293f273a
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Feb 15 18:43:46 2007 +0100
+
+ intelWindowMoved: Some debugging output was accidentally left always enabled.
+
+commit bfbc1de02ea5a26dc9c05bdd267aa933f04891c8
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Feb 15 18:41:40 2007 +0100
+
+ intelRotateWindow: Only use back buffer and cliprects in very specific cases.
+
+commit 6f2bf34748c2dfcff09216132c48377db7d6f17d
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Feb 15 18:33:53 2007 +0100
+
+ intelCopyBuffer: Remove incorrect intel_fb->pf_current_page tests.
+
+ intel_get_rb_region already takes the current page into account.
+
+ This would result in broken rendering when multiple 3D windows are visible
+ and the pages are reversed.
+
+commit 6b99cafd69a791d03ce749d0fd2b9f59ca265677
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Feb 15 16:30:40 2007 +0100
+
+ i915tex: Support page flipping on both CRTCs independently.
+
+ No longer track page flipping state per context but per window, via struct
+ intel_framebuffer which wraps struct gl_framebuffer for windows.
+
+commit af64dd2ae0aa31261002335f10d46492000f552b
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Fri Feb 2 17:10:25 2007 +0100
+
+ i915tex: Make page flipping work again.
+
+commit d44027dbbd8837b2a32466b0617283649e770907
+Author: Adam Jackson <ajax@benzedrine.nwnk.net>
+Date: Tue Feb 20 12:48:50 2007 -0500
+
+ Fix parallel make in r300 driver.
+
+commit bd894c4705e214d1ddc0165e2420bf96e321305f
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Feb 20 10:40:08 2007 -0700
+
+ added SWIZZLE_XXXX, SWIZZLE_YYYY, etc
+
+commit 18e9ca5fb03c90ecf8041a63efed7e8812745c14
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Feb 20 09:24:06 2007 -0700
+
+ more branch info
+
+commit 906fd23e1d32bd19237525a261100e6d71f38f5e
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Feb 20 08:41:15 2007 -0700
+
+ glxext.h version 18
+
+commit 45b1f169b420dee39700d0337c2bc451158618e7
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Feb 20 08:40:55 2007 -0700
+
+ updated to version 18
+
+commit d2ffe4ca07f6d08cd5fd1813192303cec93474eb
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Feb 20 08:38:46 2007 -0700
+
+ glext.h version 39
+
+commit c226e44437ed13149046d5b6eef6662b52e79848
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Feb 20 08:38:29 2007 -0700
+
+ updated to version 39
+
+commit 20e851bb9a6737194bc0effcb155b2fdb23acaaa
+Author: Christian Neumair <chris@gnome-de.org>
+Date: Tue Feb 20 08:11:11 2007 -0700
+
+ set log level w/ env var
+
+commit 174c5554145a54d925444ec47f06777420e04ea1
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Feb 20 08:05:29 2007 -0700
+
+ remove accidental check-in
+
+commit 3d001b81c23dc1981cd5f4b0885d935d2c9a098b
+Merge: d434019 9449a4d
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Feb 20 08:04:40 2007 -0700
+
+ Merge branch 'glsl-compiler-1' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa into glsl-compiler-1
+
+commit d2b06403c6f06ee37f46c2a504983884382c8abc
+Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
+Date: Mon Feb 19 19:57:30 2007 +0100
+
+ i915tex: Fix performance regression with new vbo code and latest drm.
+ With current memory preferences, vbos ended up in AGP space
+ where reading from them got a bit slow.
+
+ Make sure buffer objects are initially created in system memory.
+
+commit 9449a4d8945de684609663468b96b7ed3aa884b9
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sat Feb 17 09:41:59 2007 -0700
+
+ s/PROG_PRINT_ARB/PROG_PRINT_DEBUG/
+
+commit 61d31ae10daf3a59ccbf9bcc4cda3ca4fdd195aa
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sat Feb 17 09:41:19 2007 -0700
+
+ info about stand-alone compiler
+
+commit cc153541a2cd83ef7249a0173da4a381b099e0e4
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sat Feb 17 09:15:39 2007 -0700
+
+ stand-alone GLSL compiler
+
+commit 501ee87180047dd04afc69103c31e1eae5374bf1
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sat Feb 17 09:15:00 2007 -0700
+
+ Lots of changes to prog_print.c code.
+
+ Mainly, allow printing programs in either ARB, NV or "debug" formats.
+
+commit 43c6b2f67fc13b80bfa7d4128666ed04903cf2a0
+Merge: 7ae8f38 515f495
+Author: Sean D'Epagnier <sean@depagnier.com>
+Date: Fri Feb 16 17:46:11 2007 -0700
+
+ Merge branch 'master' of git+ssh://geckosenator@git.freedesktop.org/git/mesa/mesa
+
+commit 7ae8f388cf81c187f0cbfcc4997c93b28cf6c26a
+Author: Sean D'Epagnier <sean@depagnier.com>
+Date: Fri Feb 16 17:44:13 2007 -0700
+
+ Commiting a few minor fixes to glut fbdev (segfault on a separate stack)
+
+ Updated all drivers that used the old _ac_ functions to use
+ the new _vbo_ functions. I know this fixed the fbdev driver,
+ it looks like it might fix some other drivers too.
+
+commit 515f495f4ee7b9618082135900e1c1ec5cfd0e2d
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Fri Feb 16 23:22:04 2007 +0100
+
+ doxygen: update doxygen project number to 6.5
+
+ doxygen number was laggin behind a bit.
+
+commit c2e0570831ae130fce1fa374bebe25bb9c561e29
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Fri Feb 16 23:18:56 2007 +0100
+
+ Update doxygen doc to reflet vbo changes.
+
+ Update doxygen doc, array_cache no longuer exist,
+ new shiny vbo modules is there. Tested on unix,
+ but i think i didn't broke that bat :).
+
+commit 21f2f7f26b5b9ab9f219f2bd22c68bcaa8cbdfe3
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Fri Feb 16 22:39:28 2007 +0100
+
+ nouveau: nv50: update
+
+commit 4cc4a753fa3c41e5ef1890a9a03c97d3c39b6535
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Fri Feb 16 22:39:12 2007 +0100
+
+ nouveau: nv10,20: wrong viewport clip setup
+
+commit 0fccb646e0c83f6bb4c8b453cc2e915e8cee21f1
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Fri Feb 16 22:09:42 2007 +0100
+
+ nouveau: nv20: texture matrix
+
+commit 66d8e55184ff8ebfdfef174336dbb5560c45e735
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Fri Feb 16 22:03:31 2007 +0100
+
+ nouveau: nv20: update
+
+commit f942dc5522682b70fb05df5b2d5d732bb65e6fe2
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Fri Feb 16 20:26:57 2007 +0100
+
+ nouveau: nv10: set clear value for 16 and 24 bits depth
+
+commit 9131536f00cca586be7dfc1cfbc47188c78e4920
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Fri Feb 16 19:54:55 2007 +0100
+
+ nouveau: nv10: rescale depth near and far
+
+commit 252d1de05430cbed532b5a716cbd7da0ee7dd0d1
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Fri Feb 16 19:46:54 2007 +0100
+
+ nouveau: nv10: fix viewport scale and origin
+
+commit 00647c39deec87cfaff6e4a694020875340fdd09
+Author: Brian <brian@nostromo.localnet.net>
+Date: Fri Feb 16 09:59:27 2007 -0700
+
+ remove dead code
+
+commit c1771918042a26c8f5f27f9e28cf1890c04d891f
+Author: Brian <brian@nostromo.localnet.net>
+Date: Fri Feb 16 09:56:19 2007 -0700
+
+ s/_slang_link2/_slang_link/
+
+commit 1c1a0a23d32f889971de61c2c25fa1eebb9889a3
+Author: Brian <brian@nostromo.localnet.net>
+Date: Fri Feb 16 09:31:35 2007 -0700
+
+ change all enum tokens to uppercase
+
+commit d15059b1283621ecbca3c24e89fdc449f15a9fa2
+Author: Brian <brian@nostromo.localnet.net>
+Date: Fri Feb 16 09:06:09 2007 -0700
+
+ abort upon errors (temporary)
+
+commit d30806b0c54c39351096c29c382d727a821b7da0
+Author: Brian <brian@nostromo.localnet.net>
+Date: Fri Feb 16 09:05:11 2007 -0700
+
+ added a comment
+
+commit 9ea2315d2df7034db1cf8d00a6c3e71da5612969
+Author: Brian <brian@nostromo.localnet.net>
+Date: Fri Feb 16 09:04:53 2007 -0700
+
+ Allow int->float argument conversion in _slang_locate_function().
+
+commit d003877c669414474fbe00ca423ebbb462939529
+Author: Brian <brian@nostromo.localnet.net>
+Date: Fri Feb 16 08:58:42 2007 -0700
+
+ implement IR_I_TO_F
+
+commit e4c772bead57c0190f74f1fa43dd129e170567f7
+Author: Rune Peterson <rune@megahurts.dk>
+Date: Wed Feb 14 23:10:52 2007 +0100
+
+ r300: Fix cos & add scs to fragment program.
+
+ So this do :
+ - Fixes COS.
+ - Does range reductions for SIN & COS.
+ - Adds SCS.
+ - removes the optimized version of SIN & COS.
+ - tweaked weight (should help on precision).
+ - fixed a copy paste typo in emit_arith().
+
+commit 1e2b46963595e02172b4d651cc8a219e9f5c8176
+Author: Etienne Clement <etienne.clement@autodesk.com>
+Date: Wed Feb 14 13:21:12 2007 -0700
+
+ test for POT before using sample_2d_linear_repeat()
+
+commit 7d8ed0f5f5960a492734cb415b8a85ef4ad79846
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Wed Feb 14 20:34:52 2007 +0100
+
+ fix typo preventing generic arrays from working with ARB_vp (bug #9952)
+
+commit 83cf4ce6e40ed1841b94f528dc89838e875c720d
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Wed Feb 14 20:28:31 2007 +0100
+
+ nouveau: nv10: there are 8 clipping regions
+
+commit 99dfca1e7fb32157135511bded07376ebb25acb3
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Wed Feb 14 16:38:32 2007 +0100
+
+ fix stupid bug in the optimized per-vertex fog generation code
+
+commit bc82b44db9dbb6ea0f02c2a9a430e8d402c85bd3
+Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
+Date: Wed Feb 14 11:11:23 2007 +0100
+
+ i915tex: Take into account various mapping states when dropping the
+
+ batch buffer after a resolution / rotation switch.
+
+commit ed490e4643f4b20b2b4b745f0285e32d099663a0
+Author: Brian <brian@nostromo.localnet.net>
+Date: Tue Feb 13 09:23:00 2007 -0700
+
+ remove dead code
+
+commit 1e6688742e6a6e11d002c1fce5dca3da3d58594f
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Mon Feb 12 16:38:50 2007 +0800
+
+ I965: fix a failure on waiting irq.
+
+ Wait until getting the right fence if drm/i915 resets the
+ counter.
+
+commit ebcc9b5d12995cc83c032beeff468c5ecb30b33f
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Mon Feb 12 12:16:49 2007 +0800
+
+ fd.o #BZ 9684
+ gcc may cast an overflowed float value to an negative int value on i386,
+ fix it to make sure at least some apps will not crash if it contains wrong normal data.
+
+commit ee5417bca883d82d618e1c0b65011940253555dd
+Author: Rune Peterson <rune@megahurts.dk>
+Date: Mon Feb 12 00:24:36 2007 +0100
+
+ r300: Add proper support for sin/cos instruction in fragment program
+
+ Getting proper SIN and COS wasn't as easy as it appeared.
+ I had to make make some changes to the fragment program code.
+ general FP changes:
+ - support HHH swizzle for vector instructions.
+ - don't copy a source to a temp when it is not XYZW swizzled, but
+ combine the two and have the swizzle resolve any issues.
+ (saves temps/instructions with more elaborate shader code)
+ - fix overflow in cnstv[].
+
+commit 3bacb68c70e4a0813bf944061a97e727cbd89c43
+Author: Rune Peterson <rune@megahurts.dk>
+Date: Sat Feb 10 18:19:43 2007 -0700
+
+ ctx->Point._Size fix
+
+commit 5620392d67278714f7c2a5ccc3101334ac35ab3f
+Author: Brian <brian@nostromo.localnet.net>
+Date: Fri Feb 9 15:40:15 2007 -0700
+
+ add prog_debug.c
+
+commit 942ee025908a95afc57990c57d6754ca1a626b04
+Author: Brian <brian@nostromo.localnet.net>
+Date: Fri Feb 9 15:40:00 2007 -0700
+
+ move GL_MESA_program_debug funcs to prog_debug.c
+
+commit 383ecc0374582900016c6411aff65d27829f876d
+Author: Brian <brian@nostromo.localnet.net>
+Date: Fri Feb 9 15:39:32 2007 -0700
+
+ Move experimental GL_MESA_program_debug functions into new file.
+
+commit b3893baf80f913499092d4339b3131527b912188
+Author: Brian <brian@nostromo.localnet.net>
+Date: Fri Feb 9 14:19:12 2007 -0700
+
+ comments, etc
+
+commit 3d479b96385963dd7aacfa9f17cd480256ca6b4f
+Author: Brian <brian@nostromo.localnet.net>
+Date: Fri Feb 9 14:18:41 2007 -0700
+
+ re-enable free'ing of IR trees
+
+commit cf490a7f81b393242ab5eeec085e79a60bcf6345
+Author: Brian <brian@nostromo.localnet.net>
+Date: Fri Feb 9 12:04:52 2007 -0700
+
+ always init param vars to silence valgrind warnings
+
+commit b2d30ca0cb01a80ff440a4a07b293daa16486e12
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Fri Feb 9 19:21:29 2007 +0100
+
+ optimize per-pixel fog program
+
+ use the same internal state as for vertex fog. From the old implemenentation,
+ this changes a SUB+MUL into a MAD for linear fog, and saves a MUL for EXP/EXP2,
+ plus saves a (constant) parameter. While here, fix the broken (forgotten)
+ swizzling. (untested)
+
+commit fcccf8943213a20957f305161e8aae7fef55baab
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Fri Feb 9 13:28:56 2007 +0800
+
+ array overflow fix
+
+commit 5e6908944bbc76be020a3f5306c2a674f944f42e
+Author: Brian <brian@nostromo.localnet.net>
+Date: Thu Feb 8 20:39:42 2007 -0700
+
+ do full swizzled matching in _mesa_lookup_parameter_constant()
+
+commit bd9615bbc59b0ce626bb32e2a005fccec20e7331
+Author: Brian <brian@nostromo.localnet.net>
+Date: Thu Feb 8 17:40:29 2007 -0700
+
+ Check for constant-valued while/do loop conditions.
+
+ Allows us to:
+ 1. avoid generating constant-valued BRK test for while(1)..
+ 2. discard entire loop for while(0).
+ 3. detection infinite loops at compile-time.
+
+commit c0a9f554be0b82f2e6ce2d9318854ecd24a1a890
+Author: Brian <brian@nostromo.localnet.net>
+Date: Thu Feb 8 17:11:18 2007 -0700
+
+ optimize conditional breaks/continues
+
+commit 421ce180f52ff55b866066fabd861a51dd6d2b26
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Fri Feb 9 00:36:53 2007 +0100
+
+ r200: simplify / unify input map handling for vp and fftnl
+
+ Use the same input map handling for fftnl and vertex programs. It doesn't
+ enable any new functionality (should make it easy to support per-vertex
+ materials though), but the code is much cleaner.
+
+commit 54dac2c84310536cce962101de29546d3eb80175
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Fri Feb 9 00:36:40 2007 +0100
+
+ optimize generated vertex programs a bit
+
+ Use new internal state to avoid per-vertex normalization of static spot
+ direction vector. Use internal state for simpler per-vertex fog computations
+ (MAD instead of SUB/MUL for linear fog, EX2 instead of POW for EXP/EXP2 fog).
+ Simplify point size calc (2 MADs instead of MOV, MUL, MUL, DP3), and while
+ there fix it up (RSQ instead of RCP). All untested...
+
+commit 6cf892eeb6edd69d4ba77d4ececa21a09ba317c4
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Thu Feb 8 23:54:28 2007 +0100
+
+ fix issues in vp when using FRAG_BIT_WPOS in a fragment program (bug #9910)
+
+ Redirect all VERT_RESULT_HPOS writes to a temp and use that for fixup.
+ The viewport transformation still seems to take some shortcuts, and it
+ still does not seem to work at all...
+
+commit 6230ae7faf46e0ebcb4807df051c8b50482089dd
+Author: Brian <brian@nostromo.localnet.net>
+Date: Thu Feb 8 15:09:47 2007 -0700
+
+ cont at top of loop, little clean-ups
+
+commit a1c2e87c4b7958b0f1a884bba893153b382973df
+Author: Brian <brian@nostromo.localnet.net>
+Date: Thu Feb 8 15:08:16 2007 -0700
+
+ remove some cruft
+
+commit fbf0f400b743686ccdf78b927fd5de477d764a9d
+Author: Brian <brian@nostromo.localnet.net>
+Date: Thu Feb 8 14:10:54 2007 -0700
+
+ fix broken BRA for return stmts
+
+commit 34af2b7194ad473c8ae20bcff933910f8386c3f0
+Author: Brian <brian@nostromo.localnet.net>
+Date: Thu Feb 8 14:10:19 2007 -0700
+
+ consolidate BRA with BRK, CONT
+
+commit c81aedeaeca431b6e91e34559eaabfce80a9796f
+Author: Brian <brian@nostromo.localnet.net>
+Date: Thu Feb 8 14:09:34 2007 -0700
+
+ change BranchTarget to GLint
+
+commit b768c485474baefdde63098776e9d32c17b859ab
+Author: Brian <brian@nostromo.localnet.net>
+Date: Thu Feb 8 13:23:17 2007 -0700
+
+ Use conditional break in for/do/while loops.
+
+commit 97125fb370faa6aee0967254fad69f27189b9325
+Author: Brian <brian@nostromo.localnet.net>
+Date: Thu Feb 8 13:22:31 2007 -0700
+
+ Simplify code with eval_condition(). Implement conditional BRK.
+
+commit 2c75ef62ea8dfd690aab6fa4f2c85afba569a21f
+Author: Brian <brian@nostromo.localnet.net>
+Date: Wed Feb 7 16:19:19 2007 -0700
+
+ remove old loop break/cont stuff
+
+commit b35b4566c2d3bbf21c8fd955912f4c3c671f2bb9
+Author: Brian <brian@nostromo.localnet.net>
+Date: Wed Feb 7 16:11:00 2007 -0700
+
+ high vs. low level if/then/else code emit
+
+commit c5e6bf63e6f8256c9e10bbbe8fb7a38de9d22921
+Author: Brian <brian@nostromo.localnet.net>
+Date: Wed Feb 7 16:09:13 2007 -0700
+
+ s/%f/%g/
+
+commit a7c2c7d6b28570230fb1b4fbc47b94581ef7e6fa
+Author: Brian <brian@nostromo.localnet.net>
+Date: Wed Feb 7 15:14:20 2007 -0700
+
+ Remove old functions for generating BRA-based looping.
+
+commit 4aa487e7968d015af4fe729f697105448fcb843f
+Author: Brian <brian@nostromo.localnet.net>
+Date: Wed Feb 7 15:12:13 2007 -0700
+
+ Use IR_LOOP to represent do-while and for-loops.
+
+ Also, start moving high vs. low-level instruction selection into slang_emit.c
+
+commit 1f99a7514e9c36b7ce2c6c1724a6584790656415
+Author: Brian <brian@nostromo.localnet.net>
+Date: Tue Feb 6 22:34:09 2007 -0700
+
+ BRK and CONT work the same
+
+commit f22ed0986a743e033d827c78371612c7115ff913
+Author: Brian <brian@nostromo.localnet.net>
+Date: Tue Feb 6 22:31:19 2007 -0700
+
+ Implement CONT, improve BRK.
+
+ IR_LOOP's BranchNode ptr is the head of a linked list of CONT and BRK nodes.
+ After emitting loop, walk over the linked list, filling in the CONT/BRK
+ instruction's BranchTarget field (location of the ENDLOOP instruction, or
+ one past).
+
+commit 5f7d4668c4b7de1c0d2269809d30aef6d0a089e9
+Author: Brian <brian@nostromo.localnet.net>
+Date: Tue Feb 6 21:33:29 2007 -0700
+
+ replace IR_BEGIN_LOOP/IR_END_LOOP with IR_LOOP
+
+commit 7e73bc32f565b3d07e9a5cfbe0736d1d6bd6a2c1
+Author: Brian <brian@nostromo.localnet.net>
+Date: Tue Feb 6 20:53:09 2007 -0700
+
+ new_node[0123]() functions
+
+commit 204336451678ba8710756111e6cf4867d6adb40e
+Author: Brian <brian@nostromo.localnet.net>
+Date: Tue Feb 6 20:45:43 2007 -0700
+
+ redo IR_IF node, removing IR_ELSE, IR_ENDIF
+
+commit f46c19d965fb05a49d361aa251e37b5ef32dd839
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Tue Feb 6 13:49:39 2007 +1100
+
+ nouveau: a couple of NV3x fixes
+
+commit d434019633ccc537f07ec4e7d409bc93134367c8
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Feb 5 18:04:35 2007 -0700
+
+ additional comments for BranchTarget
+
+commit 2755c798f3cb89fcd4ece16cd740af1cd86a6b99
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Feb 5 18:01:02 2007 -0700
+
+ BRK instruction's BranchTarget field now used for efficiently breaking out of loops.
+
+ BRK's BranchTarget field actually points to the top of the loop, not the
+ bottom, since we don't know the later's location yet. In the interpreter,
+ basically do an indirect jump to update the PC.
+
+commit 86080796471df6a9e126fd536b21c3b10cb5310c
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Feb 5 17:18:10 2007 -0700
+
+ Use IR node's BranchNode field for IF/ELSE/ENDIF instructions.
+
+ This allows us to back-patch the IF/ELSE instruction's BranchTarget field
+ to point to the location of the ELSE/ENDIF instructions. No longer have to
+ search for ELSE/ENDIF in the interpreter. Also makes it trivial to translate
+ IF/ELSE instructions into conditional/unconditional BRA instructions.
+
+commit 8518ddda7b5f8e43de4859042fe59f55aa0c2760
+Author: Jakob Bornecrantz <wallbraker 'at' gmail 'dot' com>
+Date: Tue Feb 6 10:22:47 2007 +1100
+
+ Add support for CN700 chipset in miniglx
+
+commit d9731b26e759671d63e357eee2c921e90448ada2
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Feb 5 15:17:06 2007 -0700
+
+ minor formatting changes
+
+commit 5e73284cee882bc3463e013c9b468a9b84c6dbc1
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Feb 5 15:00:48 2007 -0700
+
+ set UseHighLevelInstructions = false for now
+
+commit cf92c727979e434d148b23d20f2e4e0f4bc4de61
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Feb 5 15:00:07 2007 -0700
+
+ Initial implementation of high-level flow-control instructions.
+
+ IF/ELSE/ENDIF and BEGIN_LOOP/END_LOOP/BREAK instructions seem to work.
+ Disabled by default though until better tested.
+ Implemented IR_NOT, but needs optimization.
+
+commit 5db088d70fbd14620c2fc7840096a05993f8e2b9
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Feb 5 14:58:15 2007 -0700
+
+ indentation for program instructions (if/else, loops)
+
+commit 17c13b406f4f8a3e7cf755749aa65448f79f6a84
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Mon Feb 5 21:29:25 2007 +0100
+
+ fix issues when using mixed-mode pos-invariant vp and ff tnl (bug #9856)
+
+ ARB_vp requires vertex transformation to be invariant to fixed function tnl
+ if the position_invariant option is used. So the same function needs to be
+ used, otherwise z-fighting artifacts may happen with applications which rely
+ on the results being really the same due to precision issues when dealing with
+ floating point values (may not be a problem when using a non-optimizing
+ compiler strictly following IEEE rules).
+
+commit 01001d80e26143ac768115ccb2266db2b24d4fa0
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Feb 5 11:28:15 2007 -0700
+
+ Initial support of loop and subroutine instructions.
+
+ New high-level flow-control instructions, both at IR level and GPU instructions
+ for looping and subroutines.
+
+commit 5b8a50572d3de2b9801be904c7403fc79061d090
+Merge: d0b5c77 4b3679c
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Feb 5 10:29:58 2007 -0700
+
+ Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa
+
+commit d0b5c77c68f45f9da5421248a064ece831923b0c
+Author: Panagiotis Papadakos <papadako@csd.uoc.gr>
+Date: Mon Feb 5 10:29:10 2007 -0700
+
+ fix mem leak
+
+commit dd34fe8679fa200e55cfaf8e80bbecdecea084e3
+Author: Brian <brian@nostromo.localnet.net>
+Date: Mon Feb 5 10:10:01 2007 -0700
+
+ Merge SWvertex texcoord and varying fields into attrib[] array field.
+
+ Fragment texcoords and varying code is now unified in the point/line/triangle
+ rasterization code. In the future, merge color, fog, etc. attribs.
+
+commit 4b3679c6c5b8b47e8071a253bcea570b91e30b17
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Tue Feb 6 02:28:55 2007 +1100
+
+ nouveau: OUT_RINGp expects the size in dwords, not bytes.
+
+ This fixes the *actual* bug that the previous commit was supposed to fix..
+
+commit eab92fcdc23a8a9d333227e4c98e6a33a9cc1183
+Author: Panagiotis Papadakos <papadako@csd.uoc.gr>
+Date: Mon Feb 5 08:17:50 2007 -0700
+
+ fix mem leaks
+
+commit 47bd759fc9a8f886b90af9a5d53cbb896f37358e
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Tue Feb 6 01:57:04 2007 +1100
+
+ nouveau: fix a small bug in nv10 swtcl
+
+commit e7654b22aa02636d17a88a9a5ee1eeb213d81f30
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Tue Feb 6 00:39:50 2007 +1100
+
+ nouveau: new bufferobj code.
+
+ The old code suffered from a number of issues, the most severe being that
+ with the Mesa VBO merge even swtcl used the driver's bufferobj interface.
+ On most VBO types (or non-AGP cards) the buffer ended up in vram, and
+ killed swtcl performance greatly. All bufferobj's start in system memory
+ now, until they get referenced as a "real" VBO.
+
+ The other big change is that only potentially "damaged" areas are
+ uploaded/downloaded to/from the hardware.
+
+commit 3805ccf02015e8127748e6f53ae9d7419ae3f633
+Author: Panagiotis Papadakos <papadako@csd.uoc.gr>
+Date: Mon Feb 5 10:34:55 2007 +0200
+
+ break if we removed driver from Drivers list in driDestroyDisplay
+
+ Else we read memory we just released, in for statement.
+
+commit 296eeb882fa9fd7528f33ed307f87171dff7ee1c
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Sun Feb 4 13:10:23 2007 +0100
+
+ nouveau: nv10: add init for unknown 0x120
+
+commit 63568745863a54308fecc32dbb96397c35b22496
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sun Feb 4 03:17:06 2007 +0100
+
+ nouveau: fix nv04 and nv10 swtcl, more work on nv04 state.
+
+commit 93b975a1d9fcc4a10987676f7368809522f27d71
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Feb 3 17:24:24 2007 -0700
+
+ Add literal_size field to slang_operation.
+
+ Used to track the number of components in a float/int/bool literal.
+ Helps with some typechecking things.
+ Fixes problems with calls such as "distance(v2, vec2(1.0, 2.0))"
+
+commit 5ee684cba9b1f63090e184125e5890da4fc1d28c
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Feb 3 17:21:33 2007 -0700
+
+ minor tweaks to distance() funcs
+
+commit 82f53f45d96871cdaba3886275be78162ef838f5
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Feb 3 16:25:44 2007 -0700
+
+ remove unused slang_operation fields
+
+commit f8ec7f1398e600f4ed2ff3d0fb8d77d706f0fc18
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Sat Feb 3 23:46:58 2007 +0100
+
+ nouveau: forgot function declaration
+
+commit be85770f148a0b3cac1720f843b2fa34dd74295f
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Sat Feb 3 23:32:12 2007 +0100
+
+ nouveau: nv50: use nv50 state
+
+commit edf24e699ea75660eee0a62456ab2cbadf1b489f
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Feb 3 11:36:16 2007 -0700
+
+ shading language texture demo/test
+
+commit 00d63aafc6d938f13acc9b136ff210fb0bbb15f9
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Feb 3 11:35:02 2007 -0700
+
+ added FLUSH_VERTICES() in _mesa_use_program()
+
+commit 8e0c6fc0be503bc13a2817c7a86c83d1e67e72b0
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Feb 3 11:33:13 2007 -0700
+
+ added texdemo1
+
+commit 68fc4ff1d7f749670684119647e0ef945d23dfa9
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Feb 3 10:31:16 2007 -0700
+
+ Add _NEW_PROGRAM flag to _MESA_NEW_NEED_EYE_COORDS.
+
+ This fixes a segfault in the texgen code that can occur after we've
+ disabled a vertex program.
+
+commit 49a17a45fb893f0b2e93f27b16d54fe86f51c08c
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Feb 3 10:30:50 2007 -0700
+
+ Add _NEW_PROGRAM flag to _MESA_NEW_NEED_EYE_COORDS.
+
+ This fixes a segfault in the texgen code that can occur after we've
+ disabled a vertex program.
+
+commit 5aa997dafbe9cccba2c837d64ddc06e495f6fd71
+Merge: cf4ccd5 de24b01
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Sat Feb 3 17:37:01 2007 +0100
+
+ Merge branch 'origin'
+
+commit cf4ccd5020743591b8d2b29df279c729004ca393
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Sat Feb 3 17:32:02 2007 +0100
+
+ Fall back to software rasterization if r300_translate_fragment_shader() fails.
+
+ Aborting immediately is a bad idea with AIGLX.
+
+commit beffa17bb984b29696a99a0c54922ff6a7d0b386
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Sat Feb 3 17:24:22 2007 +0100
+
+ Remove unused r200 files from r300 driver directory.
+
+commit 0afc2d37c32540b90bcb7861186b80a781dc0a4a
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Sat Feb 3 17:23:19 2007 +0100
+
+ r300CreateContext: Really initialize r300->initialMaxAnisotropy.
+
+commit de24b01b05d4c7402c06851dd7dbbb5854b1ff41
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Sat Feb 3 13:22:42 2007 +0100
+
+ nouveau: fix viewport clipping initialization
+
+commit 1c25561e30ada8036d00aa84344377aa2a4f791a
+Author: Patrice Mandin <pmandin@caramail.com>
+Date: Sat Feb 3 13:20:16 2007 +0100
+
+ nouveau: use color pitch as depth pitch if depth disabled
+
+commit 2a441c488f4bcf11fe032ea7ba448bbfb7449c66
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Sat Feb 3 03:31:31 2007 +0100
+
+ disable r200 materials-between-begin-end check if vertex progs are enabled
+
+commit f697308ae583dbcdf0268e98232c32be7f25fac6
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Sat Feb 3 03:15:45 2007 +0100
+
+ remove now unused vtxfmt stuff from radeon/r200 header files
+
+commit 09e4df2c65c1bca0d04c6ffd076ea7808e61c4ae
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Sat Feb 3 03:15:14 2007 +0100
+
+ fix errorneously adding fog state params to all vertex programs...
+
+commit fee9bbe4751eb11947c1d739fbf1dd5e352fc433
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 18:05:43 2007 -0700
+
+ Only glUniform1i() can be used to set sampler uniforms. Generate error otherwise.
+
+commit a90e4c3ddfcdf9f0b9a0424a1a6a9d6496c6f218
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 18:00:26 2007 -0700
+
+ add vec4_texcube to AsmInfo[]
+
+commit 1b3092e4bb89b7a5bd64a3e27f82299d4b2669a2
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 18:00:03 2007 -0700
+
+ add _slang_multiply_swizzles()
+
+commit bf823b6b77d01b4c4839f4ad05383fc9ec8095be
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 16:46:50 2007 -0700
+
+ clean-ups
+
+commit 670e9007196fdabb698e2390dc55c0b26781cff4
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 16:45:07 2007 -0700
+
+ clean-ups
+
+commit 31d2a0019249256705ae00984e80b5d768fd3a73
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 16:41:52 2007 -0700
+
+ clean-ups
+
+commit b4f38a4d60bec9ceb68cc62546be0f418351fc23
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 16:38:04 2007 -0700
+
+ remove slang_builtin_vec4.gc
+
+commit 4bbef7a6442bfecb6291e981c3a42eda83faa9c2
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 16:38:00 2007 -0700
+
+ remove slang_builtin_vec4.gc
+
+commit d9dbb3e15442635df10333fbf31dbede0ce2797a
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 16:14:55 2007 -0700
+
+ remove slang_export.[ch]
+
+commit e1b47b68ecd4a91ec46f594d8dfbcbcabae87988
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 16:12:20 2007 -0700
+
+ reformat, clean-up comments
+
+commit 1f9def3163e26310b688336ef6dd513b99506151
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 16:10:02 2007 -0700
+
+ move _slang_locate_function()
+
+commit 9cfee527f6ff5ff3e4de43b46ef098cb86211d2d
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 16:08:45 2007 -0700
+
+ remove multibyte chars
+
+commit 3f71282850d97e8493c505f178365ba305754ce9
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 15:33:16 2007 -0700
+
+ remove unused field
+
+commit 72c3672857b3ee4bed34d82ed70a1cf9cf277131
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 15:32:32 2007 -0700
+
+ remove slang_asm_string()
+
+commit 0d1cd6d41c22836cf196e06656ae5f34e5148deb
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 15:31:21 2007 -0700
+
+ s/SLANG_ASSEMBLE_TYPEINFO_H/SLANG_TYPEINFO_H/
+
+commit 1bc71e32ea281077fed6f77bf4c1d63c65eb14f6
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 15:30:50 2007 -0700
+
+ s/slang_assembly_typeinfo/slang_typeinfo/
+
+commit fe45343df98ecdc06039b68d5a249a41f9e9e11e
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 15:29:48 2007 -0700
+
+ s/slang_assembly_name_space/slang_name_space/
+
+commit 884fdfeb2272802e3103321edfed9cb198950e90
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 15:23:38 2007 -0700
+
+ remove slang_library_texsample.[ch]
+
+commit 4a2ef4fd8811fca49d6e1cf3005a18b379af5f2b
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 15:23:33 2007 -0700
+
+ remove slang_library_texsample.[ch]
+
+commit 6c52dd38524a3f3edc48dcabee684bf94e605a22
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 15:22:05 2007 -0700
+
+ rename slang_link2.c slang_link.c
+
+commit 5c1763e7b53d161f646c05964d37cb51db74deba
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 15:22:02 2007 -0700
+
+ rename slang_link2.c slang_link.c
+
+commit f65091c94766b9a21abf29dfc17fa5e857a835b8
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 15:19:58 2007 -0700
+
+ rename slang_assemble_typeinfo.[ch] to slang_typeinfo.[ch]
+
+commit 7ace638da26d86c1805a4c454a466869715d3647
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 15:19:48 2007 -0700
+
+ rename slang_assemble_typeinfo.[ch] to slang_typeinfo.[ch]
+
+commit 4f22bdf3e561ac9df46f0cf1e19d9f69f419f5e3
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 15:17:46 2007 -0700
+
+ remove more slang assembly-related code
+
+commit 640afdf4f26746270ae45ec17711457ee643ae91
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 15:16:51 2007 -0700
+
+ remove more slang assembly-related files, codee
+
+commit 452217e29a9fc948140460c5d3ffc50cac9dcb61
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 15:10:34 2007 -0700
+
+ removed obsolete shader assembly files
+
+commit 11e92390f6be99d9f57554bb000a2d288f3ac287
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 15:05:46 2007 -0700
+
+ remove more assembly-related code
+
+commit b94c14114f8d5ec7983be0e9d6f286232e183894
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 14:51:34 2007 -0700
+
+ remove slang_assemble*.c files
+
+commit 8d396100374837519677c425342c10b738972260
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 14:51:09 2007 -0700
+
+ move some functions, disable some code in preparation for removing assembly code
+
+commit fa1fe5f6f3f33891abec491329e2a35adf7ffdca
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 14:47:03 2007 -0700
+
+ fix emit_tex() breakage
+
+commit 1b24e2d5a7a7f97c179d7881a014f4aa025cacf7
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 14:24:24 2007 -0700
+
+ remove slang_export.c and related code
+
+commit 5072fd3a641fa31cbfa7ecfbb34b2d8e782f9e06
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 14:05:55 2007 -0700
+
+ Remove old slang linker code.
+
+commit 8b60787e85a88216d1e56bf3fc5ae807d4f2392b
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 14:05:25 2007 -0700
+
+ remove slang_link.c and slang_analyse.c
+
+commit d79fd748716f4d5becdbf482ff6f8c3fbc3e5c8b
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 14:04:58 2007 -0700
+
+ remove old linker stuff
+
+commit a4f4ca7767b60371dce2d604025d363673ea6402
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 13:54:24 2007 -0700
+
+ added newline at end
+
+commit ccd3e7dcef8ed091a6947b672d87bd4ee72dcde5
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 13:53:28 2007 -0700
+
+ Remove obsolete files.
+
+commit 650d46a107f1a3c49cff93521f80ae84d30ecfe0
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 13:49:39 2007 -0700
+
+ remove slang_execute.c, slang_execute_x86.c
+
+commit d265bdf81aac9467119f5cbb6c84a0c4df8282d1
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 13:49:07 2007 -0700
+
+ Remove all dependencies on the old slang interpreter/executor.
+
+commit aa6866d63c63262d8e2353148337684e62105bf1
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 12:08:26 2007 -0700
+
+ reindent
+
+commit b12b13f832940d3df3447de0fd86775bd74eac79
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 12:07:57 2007 -0700
+
+ _slang_evaluate_int() no longer used
+
+commit 06daf74a7131fa092139d09ad7d035f737bc3fe1
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 12:02:53 2007 -0700
+
+ use _slang_simplify() to evaluate array sizes
+
+commit 70570d41996a3754be973ffdc34cd3ae4267878d
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 12:01:29 2007 -0700
+
+ Move guts of slang_lookup_constant() into a new function in slang_simplify.c
+
+commit 5c2174778360bd493573951d378e29f7097abf5b
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 11:42:04 2007 -0700
+
+ replace abort() with _mesa_problem()
+
+commit 2f5b3c9607fd48418a5b3d3dcd6035a3b976b166
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 11:37:58 2007 -0700
+
+ fix maxInst argument
+
+commit e53ec3a862692218437dcdb647e5b88ba68ee05e
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 11:32:59 2007 -0700
+
+ try to simplify variable initializers
+
+commit 6147ccba630f42a76666d72ef0425c5166bc4018
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 11:23:16 2007 -0700
+
+ unroll inner loop of interpolate_varying()
+
+commit 531348e814359a262eb1fe0a294749ab1b88045f
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 11:20:08 2007 -0700
+
+ simplify derivative-related code
+
+commit e4f976b8b9d74a74b5816146cb11880c3a493929
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 11:19:43 2007 -0700
+
+ simplify interpolate_texcoords()
+
+commit 9ab512ad8cf3a12f4f7f8494fa99bc9389f217db
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 11:01:01 2007 -0700
+
+ Replace color, z, w, texture interpolants with new generic attrib interpolants.
+
+commit 462d8f5fafcc5ac69ea89cac1222abadded642e2
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 09:46:43 2007 -0700
+
+ New span attrStart/attrStepX/attrStepY fields to replace fog, specular, etc. fields. More to come.
+
+commit 4e7fd7ad9604f6b9700a6011338c2bf1381b28da
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Feb 2 09:09:13 2007 -0700
+
+ get rid of unused span->start field
+
+commit b59657ad965f9471574e914b861bb1d2a17d772e
+Merge: 325196f 2ddc879
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Feb 2 12:26:10 2007 +0000
+
+ Merge branch 'vbo-0.2'
+
+ Conflicts:
+
+ src/mesa/main/texcompress_s3tc.c
+ src/mesa/tnl/t_array_api.c
+
+commit 2ddc8799a8e243cb10cd69ea9424f72b6c4de534
+Merge: 47d463e 8ebda47
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Feb 2 11:06:37 2007 +0000
+
+ Merge branch 'vbo-0.2-origin' into vbo-0.2
+
+commit 47d463e954efcd15d20ab2c96a455aa16ddffdcc
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Feb 2 10:59:58 2007 +0000
+
+ Modify assert to reflect rebase criteria
+
+commit 325196f548f8e46aa8fcc7b030e81ba939e7f6b7
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Fri Feb 2 14:37:24 2007 +0800
+
+ push commit 2dfb3a217f730d6783fb2ac8b73248dc682f923c to i915tex
+
+commit 51bfb8fc8c78bb066d24e6ecbc20f00af7210386
+Author: Wang Zhenyu <zhenyu.z.wang@intel.com>
+Date: Fri Feb 2 10:04:48 2007 +0800
+
+ Add Intel 965GM chipset info
+
+commit 6b6760d6bc23b98ee1de27ba78189e56e248ce9b
+Author: Wang Zhenyu <zhenyu.z.wang@intel.com>
+Date: Fri Feb 2 10:01:42 2007 +0800
+
+ Revert origin crestline pci id patch
+
+commit 2dfb3a217f730d6783fb2ac8b73248dc682f923c
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Fri Feb 2 09:35:17 2007 +0800
+
+ Fix fd.o #9686, when fall into vertex fog,
+ fog factors are precomputed in t_vb_fog.c compute_fog_blend_factors,
+ which is incompatible with appended fragment fog code.
+ That will make GoogleEarth display abnormally.
+ always use pixel fog.
+
+commit 9742547245f3dc4850faa9e83d178d17669d4c09
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Feb 1 18:11:19 2007 -0700
+
+ Fix logic in _slang_simplify(): vec2() constructor case wasn't getting used.
+
+commit 8ebda479d90b0c95df50f790316f451a32f4bd4e
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Thu Feb 1 20:59:45 2007 +0100
+
+ fix missing ADD_POINTERS, fixes crashes if the index elements are in a vbo.
+
+commit abeca8d17d0728e68ec0c7cb9d9ca91b06b560d0
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Feb 1 10:08:07 2007 -0700
+
+ comments
+
+commit 496aa47042527852ec232c712168fb7fe3c645c3
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Feb 1 09:52:26 2007 -0700
+
+ remove slang_label.c until it's ready
+
+commit f3e507ef9f75dbfc58ccd07b5fe8cfca10d9a9e3
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Feb 1 09:51:48 2007 -0700
+
+ New SWspanarrays attribs[] array.
+
+ Replace texcoord[], varying[], etc. arrays with single attribs[] array, indexed
+ by FRAG_ATTRIB_* values.
+ Eliminates need to copy data into fragment program machine input registers.
+ Will lead to future clean-ups.
+
+commit 81ef03be65f1458d627528a13cb86feb992d758f
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Feb 1 09:25:55 2007 -0700
+
+ silence uninitialized var warning
+
+commit 8fa6f7363e79740bafba5fb97e4d28f531fbf6d6
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Feb 1 09:24:41 2007 -0700
+
+ silence uninitialized var warning
+
+commit 3866558c9840f9c4fed6ac0bd2994ccc67f40f7f
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Feb 1 08:24:02 2007 -0700
+
+ move span-related types/tokens into s_span.h
+
+commit f673b24017b8b5e850a1be5c04bd28cefa811329
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Feb 1 08:18:03 2007 -0700
+
+ additional assertions, bump up MAX_EXEC
+
+commit af1d1e08e40c8c70dfa81e39724be11da94f938d
+Merge: 0930248 8628b38
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Feb 1 07:22:50 2007 -0700
+
+ Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa
+
+commit 0930248bb1336064337e636aab0f17ee0f8f7043
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Feb 1 07:22:25 2007 -0700
+
+ fix mem leak in __glXReportDamage (Panagiotis Papadakos)
+
+commit 5368ae5ec329ddad5963d55b17cd4eccbc83d32f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Feb 1 14:21:14 2007 +0000
+
+ Correct usage/meaning of max_index parameter.
+
+commit 605d428d20819ac3f46aaeb4a66707febec7ded2
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Feb 1 14:20:31 2007 +0000
+
+ Cope with internally-generated null inputs.
+
+commit 8628b382e4ac492d829fe720219187b758add003
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Feb 1 10:45:51 2007 +0100
+
+ driDestroyDisplay: Fix comment, it is called now.
+
+commit bed026e7dda14ac1c555f1fb16d70eadcd1a01fc
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Feb 1 10:43:10 2007 +0100
+
+ driDestroyDisplay: Remove Drivers list entry when dlclosing its handle.
+
+ This fixes a regression from commit f81b1dbe374fe446f6ef676e70a72952ffb47d4e:
+ Since then, driDestroyDisplay gets called from __glXFreeDisplayPrivate. It
+ dlcloses the handles associated with the display but fails to remove their
+ references from the Drivers list, so subsequent calls to OpenDriver return a
+ stale handle and an invalid createNewScreenFunc pointer. The attempt to call
+ the latter results in a segfault when running amoeba, e.g.
+
+commit a2104dc6e18879ed3ba2108a09b6779e461eaa17
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Thu Feb 1 01:09:26 2007 +0100
+
+ fix unitialized values in radeonClear
+
+commit d9d33b6fc883ede7ef231965e0b27792c8e58299
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Jan 31 17:01:52 2007 -0700
+
+ disable all x86 code, broken and will eventually be removed
+
+commit b63c100677c76bb20a1871ea15298ca708acd04f
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Jan 31 16:34:54 2007 -0700
+
+ Overhaul handling of writemasks/swizzling. This fixes two problem cases:
+ vec2 v; v.x = v.y = 1.0; // chained assignment
+ vec4 v; v.zx = vec2(a,b); // swizzled writemask
+
+commit 309d5b665051179b7e135d7329da1ea45bfeb8e5
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Jan 31 08:55:10 2007 -0700
+
+ New asm instruction and IR_CLAMP node type to allow clamping to [0,1] with instruction saturate-write option. Not finished yet.
+
+commit 9d5853813f90cf03581d5150b4f2d46fd847211b
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Jan 31 08:47:12 2007 -0700
+
+ allow fragment-only and vertex-only programs
+
+commit 5893474c741274cde7a312c920dacfb00790c302
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Wed Jan 31 09:47:02 2007 +0800
+
+ _mesa_pack_rgba_span_float: fix for packing data into group
+
+commit 716239877823e13a6111b5cff1bf2b446a37a537
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Jan 30 16:55:03 2007 -0700
+
+ fix _mesa_get_uniform_location() so it uses the given program handle
+
+commit 893526b8a823fe1b88f2b46376155afb91c84016
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jan 30 20:22:55 2007 +0000
+
+ Use new rebase helper. Remove other rebase code.
+
+commit 240641de0c8532009fd21be7d4b0b84e471e91e8
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jan 30 19:27:53 2007 +0000
+
+ Helper for rebasing draw requests where min_index != 0.
+
+commit 48c638b6712734a09b6d8632045b0e905195e345
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jan 30 19:19:51 2007 +0000
+
+ New tests for the array functions which also provoke rebasing.
+
+commit 876e372567ad44c03b9d9db6e57d3a06b684f6e1
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Jan 30 08:13:49 2007 -0700
+
+ regenerated
+
+commit d2c62e6065acf5ab6003f568e543c59a6e4d5cd1
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Jan 30 08:13:02 2007 -0700
+
+ s/params/pointer/ for glGetVertexAttribPointer
+
+commit 8811a9e38a9b71c5bb4f0c652ef0d77d5dd075fd
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Jan 30 08:11:50 2007 -0700
+
+ bump version to 6.5.3
+
+commit fea6a8e1f1d569163b4b2ea218d548707a21d4dc
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Jan 30 08:10:03 2007 -0700
+
+ s/params/pointer/ for glGetVertexAttribPointer
+
+commit 8be177a694c6910781da25134ff52b6bd4c6a6e3
+Merge: 832417f a4ddd64
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Jan 30 08:09:25 2007 -0700
+
+ s/params/pointer/ for glGetVertexAttribPointer
+
+commit 832417f31e81b415894414621500b7aef328652b
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Jan 30 08:02:20 2007 -0700
+
+ s/params/pointer/ for glGetVertexAttribPointer
+
+commit a4ddd64f3659b9db7719d3746c1469ece6bb44c5
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Tue Jan 30 16:51:50 2007 +1100
+
+ nouveau: argh
+
+commit f9345c7c4e22cd40d2efda73f1b044ab808f2c78
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Tue Jan 30 16:49:27 2007 +1100
+
+ nouveau: misc NV40 fixes
+
+commit d2c4d9ff9beb36895bb8ee7aabb65e70c3068816
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Tue Jan 30 16:00:20 2007 +1100
+
+ nouveau: NV40 glClipPlane support.
+
+commit ede8017d2c6c2f6da4c75c9ce0cc4d748e870973
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Tue Jan 30 12:33:00 2007 +1100
+
+ nouveau: rework shader param handling
+
+ Conflicts:
+
+ src/mesa/drivers/dri/nouveau/nouveau_shader_0.c
+
+commit de0cf18b096822cf8e113a46f12740ebeb10f8df
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Mon Jan 29 17:08:45 2007 +1100
+
+ nouveau: oops, build attrib map after we know how the final shader will look..
+
+commit 2d8b31610917e5e14a242725b047a21f6d2c14e0
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Sat Jan 27 18:54:42 2007 +1100
+
+ nouveau: remove an unused table
+
+commit 7fbf8d3324868e6920243e3b1abdeb6e398ea715
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Sat Jan 27 18:51:19 2007 +1100
+
+ nouveau: oops
+
+commit cafbc459f51ce6645e1fc4b6b2b7ec34efedd874
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Sat Jan 27 18:36:01 2007 +1100
+
+ nouveau: maintain a map of which vtxprog input corresponds to which array
+
+commit 0c5b42a99182be05a72c78fa9340b75f3be81220
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Mon Jan 29 16:39:19 2007 +1100
+
+ nouveau: unhardcode some more NV30TCL_FP_CONTROL values
+
+commit aa397fe47212d7686efe423aedd10f2c57f2c2b9
+Author: Matthieu Castet <castet.matthieu@free.fr>
+Date: Mon Jan 29 23:26:35 2007 +0100
+
+ nouveau : NOUVEAU_RING_TRACE
+
+ allow to print what we are really sending to the fifo.
+
+commit c97540065c6dce20dd6ace9a15d9872a3a66f71c
+Author: Matthieu Castet <castet.matthieu@free.fr>
+Date: Mon Jan 29 23:19:12 2007 +0100
+
+ nouveau : nv10 comment icomplete command
+
+commit fc5a7ea5dec3a0a3e01d49559ba3cdad6c62222b
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sun Jan 28 19:02:03 2007 -0700
+
+ noise() works now
+
+commit 7aece10039ad4786d7f85d61ec8614b9f287ea23
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sun Jan 28 19:01:35 2007 -0700
+
+ noise functions
+
+commit f94e4f216f56a12b9ea9150950b65e0e24794950
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sun Jan 28 19:01:04 2007 -0700
+
+ simple noise test
+
+commit a06f92936272dba3da4329a30ae3f08924428106
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sun Jan 28 16:26:09 2007 -0700
+
+ combine emit_unop(), emit_binop(), emit_triop() into emit_arith()
+
+commit 62e7c033c02149966c00100f3c256e2eb3fc3536
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sun Jan 28 16:11:11 2007 -0700
+
+ implement mix() with LRP instruction
+
+commit c7c0a6ddcddc8d91fde0a7cb5a2bce85c708d438
+Author: Matthieu Castet <castet.matthieu@free.fr>
+Date: Sun Jan 28 23:26:21 2007 +0100
+
+ nouveau : nv10 mixing cached stuff with not cached stuff is bad.
+
+commit 4de6fac4daecac25bb3f4339610312022b457b46
+Author: Brian <brian@yutani.localnet.net>
+Date: Sun Jan 28 12:49:47 2007 -0700
+
+ Lots of vartable clean-ups, fixes. Report an error message when we run out
+ of registers, rather than crash.
+
+commit 602dc1a63888af10b2ae491bdbb3afcb28004770
+Author: Brian <brian@yutani.localnet.net>
+Date: Sun Jan 28 12:13:27 2007 -0700
+
+ minor clean-ups
+
+commit bbec2fdb3a9e55bc43f8a72d5d52a7eeb7bea6d0
+Author: Brian <brian@yutani.localnet.net>
+Date: Sun Jan 28 12:11:10 2007 -0700
+
+ minor updates
+
+commit b0e86b2dbd11b3ff515172cf1741600c0879ad3f
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Sun Jan 28 22:55:35 2007 +1100
+
+ nouveau: fix nv30 line width
+
+commit aacea5218199b6fb614c75d4f6ee14dd27af70b3
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Sun Jan 28 17:02:40 2007 +1100
+
+ nouveau: initial GL_ARB_occlusion_query support
+
+ Only enabled on NV40, NV20/NV30 code is untested.. However, NV30
+ should be identical to NV40.
+
+commit 1879069eab58a80a27ff1ee0e34b7940643539ab
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Sun Jan 28 16:35:32 2007 +1100
+
+ nouveau: extend notifier interface to allow multiple notifiers in a memory block.
+
+commit 513325fa32f802ffb3d3c8323ecf8216782620d3
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sat Jan 27 20:29:33 2007 -0700
+
+ Clean-up of var/temp allocation function parameters.
+
+commit d6772f157a56bb53b754bb16c98e102b54c82a0e
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sat Jan 27 20:06:41 2007 -0700
+
+ Improved register allocation: allow four 'float' vars or temporaries to share a single register. Clean-up needed.
+
+commit ea55de3d654333b5615db4690cca6138b906b131
+Author: Claudio Ciccani <klan@users.sf.net>
+Date: Sat Jan 27 19:32:05 2007 +0100
+
+ Updated copyright header.
+ Switched to LGPL (GPL header was a cut-&-paste mistake).
+
+commit 04d60ea54c2f357aafdd0083e84b3b2421cc4f66
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Jan 27 06:25:31 2007 -0700
+
+ note that non-member posts are auto-rejected
+
+commit c00169fd25336c1425c5457fcd925ba10464f3cf
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Sat Jan 27 08:16:10 2007 +0200
+
+ Bug 9628: no entry for GetVertexAttribPointerv
+
+ This is because (in glX_API.xml) GetVertexAttribPointerv is aliased to
+ GetVertexAttribPointervARB which is then aliased to GetVertexAttribPointervNV.
+
+ Make GetVertexAttribPointerv alias GetVertexAttribPointervNV directly. Patch
+ by Ian Romanick <idr@us.ibm.com> and regenerate.
+
+commit d8df84aae1a8030414a550cb9e4b172803c269b6
+Merge: 1b62353 0931e21
+Author: Brian <brian@nostromo.localnet.net>
+Date: Fri Jan 26 19:08:58 2007 -0700
+
+ Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa
+
+commit 1b62353dd868a37ee20c20d66b2123e2020cc59f
+Author: Brian <brian@nostromo.localnet.net>
+Date: Fri Jan 26 19:08:34 2007 -0700
+
+ fix typo
+
+commit 0931e21eb62af217564f450e9e56bc7b6f0e15c7
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sat Jan 27 03:03:25 2007 +0100
+
+ nouveau: more work on nv04, this time buffer format/pitches/...
+
+commit 99c9bc386f54964eea0ed93f6b036477076dae57
+Author: Brian <brian@nostromo.localnet.net>
+Date: Fri Jan 26 19:01:55 2007 -0700
+
+ document, re-indent _mesa_ffsll()
+
+commit 1d74e565dbfc1a69c49fe67eed9c91f10d0ad2fc
+Merge: 7e85b0a 5a3d985
+Author: Brian <brian@nostromo.localnet.net>
+Date: Fri Jan 26 18:55:12 2007 -0700
+
+ Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa
+
+commit 5a3d9853958993174f13c8cff6bcf11993a48f65
+Author: Eric Anholt <eric@anholt.net>
+Date: Sat Jan 20 18:09:32 2007 -0800
+
+ Bug #9604: Fix a static buffer allocation failure.
+
+ The pool that the static buffer got allocated from was sized by pitch * height,
+ but the buffer generated from it had its size aligned to a tile boundary, so
+ allocation failed if pitch * height wasn't aligned. However, the 2d driver
+ ensures that the size ends at a tile boundary, so just pass the 2d driver's
+ buffer size rather than calculating it.
+
+commit 869b8ad499717eda4a1be04de4e516134123402c
+Author: Eric Anholt <eric@anholt.net>
+Date: Sat Jan 20 18:06:38 2007 -0800
+
+ Add _mesa_ffsll() for compatibility on OSes without ffsll(), and use it.
+
+commit dbb54b234cd919b8ef7e36e0603ec69f3ed3fc7f
+Author: Eric Anholt <eric@anholt.net>
+Date: Sat Jan 20 17:59:08 2007 -0800
+
+ Remove dead code causing a warning.
+
+commit 507167d7e2cf3bc64d1c112d927efeb1baa3b495
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Wed Dec 6 06:54:13 2006 +0200
+
+ Override Const.CheckArrayBounds for Xserver in XMesaCreateContext().
+
+ This leaves one last XFree86Server ifdef in Mesa core.
+
+ ---
+
+ Bug 9285: misc glcore, xmesa cleanups
+
+ ACKed by Ian Romanick.
+
+commit c9b33ecd7c07cace0a6553ccfdaf7b021959c934
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Wed Dec 6 06:43:23 2006 +0200
+
+ Drop old (pre-AIGLX) GLcore interface.
+
+ The old GLcore interface was replaced in Xorg 7.1 with the addition of AIGLX,
+ it is only used by DDX's which are known not to work with the new DIX glx code.
+
+ ---
+
+ Bug 9285: misc glcore, xmesa cleanups
+
+ ACKed by Ian Romanick.
+
+commit c6c65e7b22f8b64efa45887b7808260248a5f384
+Merge: 6aa62ba d5db167
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Fri Jan 26 07:05:02 2007 +0800
+
+ Merge branch 'master' of git+ssh://znh@git.freedesktop.org/git/mesa/mesa
+
+commit 6aa62ba43f64f617c608e52b63c7eaa7aae16fb4
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Fri Jan 26 07:04:15 2007 +0800
+
+ ARB_Occlusion_query should support multiple query at same time
+
+commit ea8b68e0f7e7a4025ce662d36380157273ce10a3
+Author: Brian <brian@nostromo.localnet.net>
+Date: Thu Jan 25 10:54:52 2007 -0700
+
+ asst fixes, tranpose span->varying array indexes
+
+commit ff13f0ea4d5e88ac86bf5d97373ca419ad4226e5
+Author: Brian <brian@nostromo.localnet.net>
+Date: Thu Jan 25 10:52:48 2007 -0700
+
+ fixes, clean-ups, transpose span->varying array indexing
+
+commit 38e9f8b6f297bafba639ce192fc9926c8e890271
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Thu Jan 25 18:52:40 2007 +0100
+
+ do not rebase index buffers as it does not work currently (tested with r200 and sw mesa)
+
+commit 5ef553da9a0dc9f6d7f01b967082c24849ee4abf
+Author: Brian <brian@nostromo.localnet.net>
+Date: Thu Jan 25 10:51:53 2007 -0700
+
+ new comments, ideas
+
+commit 78b64d911b4b50ab744f250522a88b3952859f98
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Thu Jan 25 16:39:02 2007 +0100
+
+ allocate larger minimum dstelt buffer
+
+ increase the minimum dstelt buffer size to avoid triggering an assertion later
+ because the split is triggered before the buffer is full. This fixes cases
+ where the vbo_split_copy path is hit because of maximum index limit, where the
+ dstelt buffer size needed could be very small (doom3 hit that assertion with a
+ vertex count of just 3)
+
+commit db79d7dea03d5129a05d48af19049cb740799669
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Thu Jan 25 14:32:06 2007 +0100
+
+ fix dstelt memory allocation to avoid hash corruption
+
+commit 327462d901cc1ff8e98bcbeba18ad54c77926390
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Thu Jan 25 12:12:54 2007 +0100
+
+ remove tnl/t_vtx_x86_gcc.S file from sources as it no longer exists
+
+commit 5970400476c5c0a1223a49e9ec2eb511ae94b246
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Thu Jan 25 12:11:03 2007 +0100
+
+ re-fix bug 9062 in vbo code
+
+commit d5db167c2cf9243c3153efb29582df72d819e7ac
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Thu Jan 25 15:12:49 2007 +1100
+
+ nouveau: unbreak NOUVEAU_RING_DEBUG
+
+commit 86996dfe32fccd5777dd0e410b5dbe964fb206d1
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Thu Jan 25 13:40:51 2007 +1100
+
+ nouveau: add result scaling to shader backend, use it in RSQ emul for NV40.
+
+commit 2d7687865e8831e365756f1270c03ee70298ba4c
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Thu Jan 25 12:08:49 2007 +1100
+
+ nouveau: and here's the "oops, I suck" commit :)
+
+commit 42bd32dad7f2bd9b4c4df8a7394328d31748f1f5
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Thu Jan 25 11:56:45 2007 +1100
+
+ nouveau: some extra debug output
+
+commit e713c21bd09468887faceebcba9a62a406321c07
+Author: Brian <brian@nostromo.localnet.net>
+Date: Wed Jan 24 14:15:01 2007 -0700
+
+ remove some parenthesis
+
+commit ff917003f6ed35b9ef966397a58c80dc7df98bff
+Author: Brian <brian@nostromo.localnet.net>
+Date: Wed Jan 24 14:14:14 2007 -0700
+
+ use FRAG_BIT_TEX()
+
+commit ccea3ff8a9eae16d2ca11b9cedef1318cffe3fb4
+Author: Brian <brian@nostromo.localnet.net>
+Date: Wed Jan 24 14:13:36 2007 -0700
+
+ fix varying interpolation
+
+commit 0552abce0ec54dbb3f8de2fb9665fd5e58451543
+Author: Brian <brian@nostromo.localnet.net>
+Date: Wed Jan 24 14:13:02 2007 -0700
+
+ only setup varying vars that will be used
+
+commit 07373512c72ca0fc19cccd1d102f14f1a41fd1bd
+Author: Brian <brian@nostromo.localnet.net>
+Date: Wed Jan 24 14:12:08 2007 -0700
+
+ added FRAG_BIT_TEX() and FRAG_BIT_VAR() macros
+
+commit 844e5610de6ffe6966072d120b50db541ea85104
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Wed Jan 24 16:07:43 2007 +0800
+
+ 965 glxswapcontrol fix
+
+commit bdc5394d22d7bc1215c9a38f735a419c9063ab05
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Wed Jan 24 15:47:15 2007 +0800
+
+ 965 ARB_Occlusion_query fix
+
+commit c920d201c23f1ff1dfba06d3827e5a0e0d756283
+Author: Brian <brian@nostromo.localnet.net>
+Date: Tue Jan 23 17:41:25 2007 -0700
+
+ updated comment
+
+commit 6d4e561e399a1e203a80f8440691d64aa3493347
+Author: Brian <brian@nostromo.localnet.net>
+Date: Tue Jan 23 17:39:25 2007 -0700
+
+ indicate which opcodes are used by Mesa GLSL, updated comments
+
+commit 223d7cb3c785ad58c869a3ee0fbf2f1d42c3310d
+Author: Brian <brian@nostromo.localnet.net>
+Date: Tue Jan 23 16:37:51 2007 -0700
+
+ fix g++ warnings/errors
+
+commit 7e85b0a025a82c3ffed060a757a3b4adae03d269
+Author: Brian <brian@nostromo.localnet.net>
+Date: Tue Jan 23 12:50:08 2007 -0700
+
+ silence C++ warnings
+
+commit 18d1fdebebcb52e7fcf50e62c4c02862d173af51
+Author: Brian <brian@nostromo.localnet.net>
+Date: Tue Jan 23 11:46:02 2007 -0700
+
+ fixes for C++ warnings/errors
+
+commit d46093b8d56f6d89b341d7437c5185ca6be597af
+Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
+Date: Tue Jan 23 09:04:58 2007 +0100
+
+ i915tex: Relocation fixes:
+
+ Increase the number of allowed relocations per batchbuffer.
+ Fix an assert to avoid an array index overflow.
+ (Reported by Steve Wilkins)
+
+commit fe9fef2cec2f9ed13370612a9a58df04b0075f15
+Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
+Date: Tue Jan 23 08:57:38 2007 +0100
+
+ i915tex: Fix randr resizing. Rotation still broken.
+
+commit 60c28739aa4afe543e0293c15a7aaf84ec2183ea
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Tue Jan 23 16:25:25 2007 +1100
+
+ nouveau: DPH and CMP for NV40 which doesn't do it natively.
+
+commit cf33bcf0b246f75094673beaa989034fa27c4b9f
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Tue Jan 23 16:07:12 2007 +1100
+
+ nouveau: allow for card-specific shader infos to be kept
+
+ NV30/40 fragprog: build FP_CONTROL per-shader, still some hardcoded bits for
+ this reg.. It looks like it has to do with the number of
+ temps used, but needs more looking at.
+ NV40 vtxprog : build VP_IN_REG/VP_OUT_REG during shader compile
+
+commit a8b9d13f745405e370353cfb4aca680314a42d46
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Tue Jan 23 13:36:45 2007 +1100
+
+ nouveau: fill in condition info for instructions
+
+commit ed69205684a0c3c69d27a9e2d13213997aaa5b93
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Tue Jan 23 11:06:16 2007 +1100
+
+ nouveau: unbreak nv40
+
+commit 50227f6fd23f3a4737dada1a98d26f6d0141af47
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Sun Jan 21 17:16:39 2007 +1100
+
+ nouveau: reindent shader pass0/pass2
+
+ if this gets rejected by the commit list, just ignore it..
+ nothing interesting to see here :)
+
+commit c3ac2709967299481928dee175a124bf8a72fecd
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Sun Jan 21 16:45:40 2007 +1100
+
+ nouveau: start converting shaders into a tree format again..
+
+ No branching stuff implemented yet. Works enough for gears, probably
+ other stuff broken.
+
+commit 95fc270b06f07268732ade745084410bbc877168
+Merge: ea44135 d1f0a55
+Author: Jeremy Kolb <jkolb@brandeis.edu>
+Date: Sun Jan 21 20:47:10 2007 -0500
+
+ Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/mesa
+
+commit ea441355d304ceff0d7eac4e112ed713ea08a43f
+Author: Jeremy Kolb <jkolb@brandeis.edu>
+Date: Sun Jan 21 20:30:31 2007 -0500
+
+ nouveau: Fixes for nv30.
+
+commit d1f0a55af42c8a34c2d59ca003e7d7a8263665fb
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Mon Jan 22 00:12:05 2007 +0100
+
+ nouveau: fix some bugs in the nv10 swtcl.
+
+commit bc5d480e2ca83855a343f1ad979e05f0ee59d2fb
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sun Jan 21 10:37:25 2007 -0700
+
+ added shading.html link
+
+commit 3c0961d29993a2203323b4c308ae6d7e418ac5aa
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sun Jan 21 04:06:57 2007 +0100
+
+ nouveau: add nv04 state support, and small nv04 fixes.
+
+commit 4f800c5bacb9734d3030fe11144c8003ec4f169a
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Sun Jan 21 09:48:33 2007 +1100
+
+ nouveau: rename pass0_arb to pass0.
+
+ I was expecting to have 2 frontends for the shader code (asm, glsl).
+ With Brian's work on GLSL this is unnecessary :)
+
+commit 029b81742ad474245e18e0b629d669afe588111c
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Sun Jan 21 09:31:00 2007 +1100
+
+ nouveau: kill off shader pass1.
+
+ It sucks, and we have someone who can do a much better job than I can starting
+ work on it soon. alloc_temp/free_temp is left in pass2 to workaround fragprog
+ temps/outputs overlapping, but this all belongs in the optimiser.
+
+commit ee3d0617f923cd4bcc8bfdc1ce878648480c2679
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Sun Jan 21 09:13:27 2007 +1100
+
+ nouveau: shader backend branching support for all cards that support it.
+
+commit 9595d1935c9934da60a09e659b6ea7d3b7d226e2
+Author: Brian <brian@nostromo.localnet.net>
+Date: Sat Jan 20 13:40:57 2007 -0700
+
+ Added a page with shading language status, tips, etc.
+
+commit 059e9014462fe5361055e529a344338dcbc43c5d
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Jan 20 10:47:10 2007 -0700
+
+ Add a simple mechanism for annotating instructions for easier debugging.
+
+commit f116fcc3287c7b84d31c114bcb8299bc7b1e541a
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Jan 20 09:46:02 2007 -0700
+
+ optimization: emit MAD instructions when possible
+
+commit 1f208c354694ff3d6664665f7b5e8d33ea48e9b2
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Jan 20 09:29:04 2007 -0700
+
+ remove unused swizzle parameter to -storage_to_src_reg()
+
+commit 5ae49cf3ed53fda6a904d7e90feef78495ae6903
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Jan 20 09:27:40 2007 -0700
+
+ Initial implementation of OPCODE_IF/ELSE/ENDIF instructions.
+
+commit a3e938b8da07e656775e88bb4b078429723689a2
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Jan 20 09:22:13 2007 -0700
+
+ Reimplement && and || to do short-circuit evaluation.
+ Improved shader error handling.
+
+commit 9f07ed00e4d4bca95189720dd44bf57a228baf02
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Jan 20 07:56:00 2007 -0700
+
+ rewrite more __postIncr functions
+
+commit 3cec66512de9c424088ff4fd9332bcceec8ee3c6
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Jan 19 13:13:15 2007 -0700
+
+ Implement do/while loops. Replace IR_CJUMP with IR_CJUMP0 and IR_CJUMP1 so
+ we can either jump on zero, or non-zero predicate.
+
+commit eff9690351c07940a976fade4302b480e9731917
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Jan 19 12:19:38 2007 -0700
+
+ Rewrite normalize(vec3/vec4) to use one less register.
+
+commit dceae2829e981236736513a95fc0e46564625d44
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Jan 19 12:02:31 2007 -0700
+
+ report error message when something fails
+
+commit 203946e1f965c76ba54d48c7e8bf06bfcbb65e8f
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Jan 19 12:02:06 2007 -0700
+
+ print error msg when there's a problem
+
+commit 74b27674a87b592520793527fe1759173c8fdec7
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Jan 19 10:31:52 2007 -0700
+
+ remove stray tab
+
+commit a0092c51b1c334ef8d4a58939dc583b2aafbce69
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Jan 19 10:15:34 2007 -0700
+
+ Implement fragment discard/kill.
+
+commit 8374ccb66ff13074a3f5938da1e22a48921c5328
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Jan 19 10:02:58 2007 -0700
+
+ change while-loop to create new scope for loop body, per spec
+
+commit 669fefd3da55e3946b4b65a5d1104540c04717cb
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Fri Jan 19 15:39:36 2007 +1100
+
+ nouveau: bump drm patchlevel
+
+commit 16183e6430d782ff3576e352e24310dfe53fa8ab
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Jan 18 17:29:23 2007 -0700
+
+ Implement constant sharing so that 4 float constants can share a single
+ float[4] register slot.
+
+commit ce6640001dd9a1f3062dc58b199973d6ca94b883
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Jan 18 17:23:48 2007 -0700
+
+ _mesa_add_unnamed_constant() now tries to re-use constants already in
+ the parameter list.
+
+commit d70771752f7df031c4fd9a7ad17ddcef6d91377a
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Jan 18 15:35:44 2007 -0700
+
+ Reimplement code for swizzling so that expressions like (p+q).x for vectors p and q works correctly.
+
+commit d885ff470a7d52f59538bd0ff3e2abb2452279ec
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Jan 18 15:33:13 2007 -0700
+
+ rewrite a bunch of assignment operators (like +=)
+
+commit e4e66476a90cca291b562dd48ef55258e1c690f4
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Jan 18 15:23:45 2007 -0700
+
+ remove debug code
+
+commit 3c59483ed7c5700a58f47ca9b4a61214d02c9307
+Author: Patrice Mandin <patrice@manoir.racoon.city>
+Date: Thu Jan 18 22:07:17 2007 +0100
+
+ nouveau: preliminary nv50 state
+
+commit f43eac3ed8772c13df448c4ce5b566458ab0154b
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Jan 18 09:22:44 2007 -0700
+
+ remove swizzle param from new_var()
+
+commit c171166987167db5e8ff67a09327283c0ef1b222
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Thu Jan 18 14:41:38 2007 +0800
+
+ 1. Fix bug #155
+ 2. I notice multiple ARB_occlusion_query should be able to overlap according to spec.
+
+ 3. Declaring extern variables in a .c file is evil, fix it.
+
+commit 62efc4ba3eb53ca75abbe9b52feabe49a5fd56b5
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Thu Jan 18 05:56:13 2007 +0200
+
+ support as much of GL_EXT_stencil_two_side as we can. untested.
+
+commit feeed10dfd1495eb15924868fec3b795fb4b1ba3
+Author: Aapo Tahkola <aapo@aapo-desktop.(none)>
+Date: Thu Jan 18 05:30:20 2007 +0200
+
+ typo fix. this case still fails.
+
+commit a3b4b1173950599785e4f05278e868180a2bf387
+Author: Aapo Tahkola <aapo@aapo-desktop.(none)>
+Date: Thu Jan 18 04:46:04 2007 +0200
+
+ Fix invalid enums passed to MapBuffer
+
+commit 2cb3594af9cd1434aa2c408cd6f8d51bcd12e8ea
+Author: Aapo Tahkola <aapo@aapo-desktop.(none)>
+Date: Thu Jan 18 04:17:56 2007 +0200
+
+ Fix invalid enums passed to MapBuffer
+
+commit 8a2368edce9531e1b17a604b136ae2709f215b31
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Jan 17 18:37:20 2007 -0700
+
+ rewrite additional matrix-related functions to reduce register needs
+
+commit 89a3bafe0438dae818cf585504830d168019fd03
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Jan 17 18:30:53 2007 -0700
+
+ rewrite mat4 * mat4 operator to use fewer temps
+
+commit 272622a2e016c2e378efd64f22b5e37e342a1f48
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Jan 17 18:21:00 2007 -0700
+
+ do bounds check in _slang_push_var_table(), added comment
+
+commit 2585b74e190585962da6f0a67c3b1ce830009f82
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Jan 17 18:06:40 2007 -0700
+
+ rewrite matrix constructors
+
+commit 4864aaeb02f25942226ce507b6b530b5b883ed63
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Jan 17 18:02:44 2007 -0700
+
+ handle var size > 4 in _slang_pop_var_table()
+
+commit f4e345c1a8e53ff720983849d6b3c945572ff751
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Jan 17 16:30:11 2007 -0700
+
+ minor fprintf() change
+
+commit eb0c478b1716b4d79d282f0af4970a94db3619ce
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Jan 17 16:29:51 2007 -0700
+
+ Rewrite a bunch of constructors. It's now important that the first
+ constructor for any given type be the one that takes the most parameters
+ as this is the constructor that'll be used when there's no perfect match
+ to the caller's arguments.
+ See the _slang_adapt_call() function for details.
+
+commit 3a3bb953b63e8e85afb330f5d7c887413ad43c1e
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Jan 17 16:14:03 2007 -0700
+
+ _slang_gen_function_call_name() now tries to adapt function calls (expand
+ vectors, insert casts) when a perfect match isn't found.
+
+commit eabb7e66bd6fa9770bcf17833cf9fc6317ae7948
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Jan 17 16:11:50 2007 -0700
+
+ New _slang_adapt_call() function.
+
+ This is used to modify function calls (when possible) to make the arguments
+ map to the function parameters. This includes "unrolling" vector types
+ and doing casts.
+
+ Example:
+ vec2 v2 = vec2(1.2, 3.4)
+ ivec3 iv = ivec3(false, v2);
+ Is converted into:
+ ivec3 iv = ivec3(int(false), int(v2[0]), int(v2[1]))
+
+commit 397b807ad5045c354f3fb2079b7779a6d671dc03
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Jan 17 16:05:03 2007 -0700
+
+ code clean-up, re-org. Added IR_F_TO_I support.
+
+commit bb53124fca80faf0f920d720cf01bba182e0988d
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Jan 17 15:58:24 2007 -0700
+
+ added IR_F_TO_I, update comments
+
+commit 0bad236cfbaabfc0ed4f20088e64fa89f81934ce
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Jan 17 15:54:14 2007 -0700
+
+ Added OPCODE_INT to convert 4 floats to 4 ints.
+
+commit 46a924124895a99b4028138c0e5997e0648b626c
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Jan 17 10:25:44 2007 -0700
+
+ add texturing, other options
+
+commit 811f54fa75a557380b34ac97929eaa0190d2d5aa
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Jan 17 09:54:31 2007 -0700
+
+ Fix/clean-up a number of things related to variable/temporary allocation.
+
+commit 3bfbe63806cee1c44da2625daf069b719f2a6097
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jan 17 08:44:13 2007 +0000
+
+ New debug config for linux-dri
+
+commit 747c9129c0b592941b14c290ff3d8ab22ad66acb
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Wed Jan 17 10:39:50 2007 +0800
+
+ I965: fix bug#9625-get the correct PV for quardstrip
+
+ The order of vertices in payload for quardstrip is (0, 1, 3, 2),
+ so the PV for quardstrip is c->reg.vertex[2].
+
+commit afba8f0d30974bf7fbb9533f23eb2f92d49ac526
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Wed Jan 17 10:17:10 2007 +0800
+
+ Fix bug#9673
+
+ Cast from pointer to unsinged long and cast to pointer from
+ unsinged long
+
+commit 552a65e4546bd543d60ffe87dc298a41d8a318be
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Jan 16 17:38:39 2007 -0700
+
+ Implement codegen for the selection operator ( b ? x : y )
+
+commit 3596903068fb989dceefe60ea44f6e98f691c277
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Jan 16 16:53:41 2007 -0700
+
+ fix typo
+
+commit 271d504ed72548a44a2a6e3712a10c17f62e243c
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Jan 16 15:27:11 2007 -0700
+
+ draw a box, press 'a' to animate
+
+commit 9d0ae967d42f968b4b41d6847e4d678930ebe8bf
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Jan 16 14:57:12 2007 -0700
+
+ added some VerteAttrib funcs
+
+commit f44ba11815fecedbbcd9eaaa9c43d2fd6537b88e
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Jan 16 14:55:43 2007 -0700
+
+ Added toyball and bumpmap tests using shaders from the OpenGL Shading Language (orange) book.
+
+commit 9b5dc1358a82949aaf9a25abb18c5df64d5f01a1
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Jan 16 14:52:22 2007 -0700
+
+ when automatically binding vertex attributes, start with attrib 1, not 0
+
+commit 4f027a33b90fc855de324ac07328a7df0568c6af
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Jan 16 14:19:37 2007 -0700
+
+ remove dead code
+
+commit 0f91310bf3e0955fad636e5d50c51ffabb9dcf82
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Jan 16 14:17:57 2007 -0700
+
+ comments
+
+commit d90c655b0571c474785fa94b4c64ab099a2229a2
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Jan 16 14:15:05 2007 -0700
+
+ implement logical or, xor, not
+
+commit 99e788fe561b1dd54ce083d3f05e6895fb91953a
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Jan 16 14:10:30 2007 -0700
+
+ some additional vector constructors
+
+commit 7c8f311e406a4502982fd03e09d61f6269e0e82c
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Tue Jan 16 21:43:54 2007 +0100
+
+ nouveau: Use the most recent card list.
+
+commit 156e583a350670cb877879673b8d050b11f973dc
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Jan 16 10:45:34 2007 -0700
+
+ fix _slang_gen_subscript() for the case when a simple vector is accessed as an array: convert index to a swizzle/writemask
+
+commit fea6e5a69588012cf0373f36dff99a45b0202f55
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jan 16 13:30:04 2007 +0000
+
+ Don't special-case index, edgeflag.
+
+ Remove display list opcodes for INDEX and EDGEFLAG, handle them
+ through the regular ATTRIB mechanism now that Mesa understands them
+ to just be regular attribs.
+
+commit c53df49b8b528feda28da7bd0f253d0b8902ef77
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jan 16 13:29:01 2007 +0000
+
+ Additional display list tests
+
+commit 3ad12fab454bc27334c8261780a1679da7d41cb1
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jan 16 11:24:08 2007 +0000
+
+ Merge vbo_0_1_branch
+
+ Hopefully leaving behind the cruft generated by the CVS import.
+
+commit 6a3fdc3a1ea6c306d9543791bf172dd1052d7382
+Merge: 0b412f8 a03fc82
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jan 16 11:22:57 2007 +0000
+
+ Merge branch 'master' of git+ssh://keithw@git.freedesktop.org/git/mesa/mesa into vbo-0.2
+
+ Conflicts:
+
+ src/mesa/array_cache/sources
+ src/mesa/drivers/dri/i965/brw_context.c
+ src/mesa/drivers/dri/i965/brw_draw.c
+ src/mesa/drivers/dri/i965/brw_fallback.c
+ src/mesa/drivers/dri/i965/brw_vs_emit.c
+ src/mesa/drivers/dri/i965/brw_vs_tnl.c
+ src/mesa/drivers/dri/mach64/mach64_context.c
+ src/mesa/main/extensions.c
+ src/mesa/main/getstring.c
+ src/mesa/tnl/sources
+ src/mesa/tnl/t_save_api.c
+ src/mesa/tnl/t_save_playback.c
+ src/mesa/tnl/t_vtx_api.c
+ src/mesa/tnl/t_vtx_exec.c
+ src/mesa/vbo/vbo_attrib.h
+ src/mesa/vbo/vbo_exec_api.c
+ src/mesa/vbo/vbo_save_api.c
+ src/mesa/vbo/vbo_save_draw.c
+
+commit 0b412f8f156b46b0e7220a2b61e0f41781769f66
+Merge: 5363e33 584def7
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jan 16 09:47:35 2007 +0000
+
+ Merge branch 'vbo_0_1_branch' into vbo-0.2
+
+commit 5363e3331ba016c9b1b9d5167473d69f32be3dac
+Merge: 6d104cb faba58c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jan 16 09:47:26 2007 +0000
+
+ Merge branch 'master-merge' into vbo-0.2
+
+commit 0d553461563e007826cb89b7897d63f42da0c14e
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Jan 15 17:48:19 2007 -0700
+
+ Use arrow keys to pan and z/Z to zoom in/out to explore the fractal.
+
+commit 2ccd26469541ef042bb1aec8ade3dc4736f694cf
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Jan 15 17:27:24 2007 -0700
+
+ Added new directory of GL shading language demos: glsl
+
+commit f6507157e290b783c036e9459886e0f7ae60ef7b
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Jan 15 16:54:38 2007 -0700
+
+ Reimplement the post-increment/decrement functions.
+
+ Instead of defining functions with an extra dummy parameter to distinguish
+ from the pre-incr/decr functions, just use new function names: __postIncr
+ and __postDecr.
+
+commit c41099465370721ae4aaf05cd0223b28a4835bc1
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Jan 15 16:38:12 2007 -0700
+
+ Implement the ++var and --var operators, improve some constructors.
+
+commit 0a097675f174ead793f9c7e3dcd17128279f079b
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Jan 15 16:34:33 2007 -0700
+
+ added vec3 constructor code
+
+commit 82258b7af3f939ce3b323dedf17ef7dadd567237
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Jan 15 16:33:54 2007 -0700
+
+ added IR_ELEMENT
+
+commit 04ac15fd80723fe4ae676c3dd9e7783a8f80f574
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Jan 15 15:51:49 2007 -0700
+
+ checkpoint: ++, -- and && operators
+
+commit 83d3ff590d0024b63501db91c9a3137e9ec959a0
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Jan 15 13:58:45 2007 -0700
+
+ Redo the way array indexes are handled. Resolve storage location at code emit time, not codegen time.
+
+commit a03fc8277180e2171519165a724849e2254ef0b7
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Mon Jan 15 21:19:52 2007 +0100
+
+ mesa: Update _Current along Current on fragment program bound.
+
+ Same as a previously committed patch for vertex program, we
+ update fragment program ptr _Current along the Current one
+ so that _Current can't end up pointing to a no more valid
+ program.
+
+commit c807169888c900dd303adb260c3cfeb744ed842d
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Jan 15 11:10:11 2007 -0700
+
+ remove old globals
+
+commit a5bbe206a8d6ee13cb90810d8e7011e332697910
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Jan 15 11:08:10 2007 -0700
+
+ comments
+
+commit 8de3dc17018a7060c536446803b86abe29386cb8
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Jan 15 10:44:11 2007 -0700
+
+ Move some global vars into slang_assemble_ctx.
+
+commit 7520478eb055350702d09e533db02258187d8c74
+Author: Patrice Mandin <patrice@manoir.racoon.city>
+Date: Mon Jan 15 18:58:24 2007 +0100
+
+ nouveau:nv10: fix setting clip region
+
+commit 4f5901b265dd00fd672a1f3ea5586363176c2371
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Jan 15 10:35:59 2007 -0700
+
+ fix the subassig, mulassign and divassign cases
+
+commit 629fd78f79ae49ca4a8fc2589ee479999130e550
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Jan 15 10:35:03 2007 -0700
+
+ clean-up slang_allocate_storage()
+
+commit 584def75ad8dd13add5b4ed7e364d13202539539
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 15 16:57:01 2007 +0000
+
+ Remove unused index buffer.
+
+commit 6ff9b48fe2bb2113689e45c89a7c643e44906d67
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 15 14:30:16 2007 +0000
+
+ Don't special-case FOG attribute initialization.
+
+ Initial fog value was being set to {0,0,0,0}. This results in vector
+ size 4, but isn't necessary. The regular {0,0,0,1} works fine.
+
+commit 50f76b9d9b4b17940798b44233b9b5af2f932117
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 15 14:20:21 2007 +0000
+
+ Correctly initialize current attribute sizes.
+
+ Some legacy attributes (eg color) have an initial value other than {0,0,0,1}
+ which means that their initial size != 1 either.
+
+commit 82152a2a8e1afeb61710318e769b1379be6c02c6
+Author: keithw <keithw@keithw-laptop.(none)>
+Date: Mon Jan 15 14:10:42 2007 +0000
+
+ Remove debug, reenable inplace splitting.
+
+commit 5464cd0a60f474753abc6af047fd21b0e29b8ac4
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 15 13:54:08 2007 +0000
+
+ Split too-large draw commands.
+
+ Use the vbo_split_ functionality to split incoming drawing command
+ to fit within the fixed-size buffers used by software t&l module.
+
+commit 2421b25dd777ebfd614ae45907fd4af8c2713102
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 15 13:40:38 2007 +0000
+
+ Remove special-case handling for index and edgeflag
+
+ This isn't required with the changes to core mesa and the new
+ attribute layout.
+
+commit 1b7c24c33c43e2c0db391735b2f2ca0026459cc9
+Author: keithw <keithw@keithw-laptop.(none)>
+Date: Mon Jan 15 11:58:06 2007 +0000
+
+ Hook in split functionality
+
+commit 4557dfe13206495916d4ff8557f1633194a12c0f
+Author: keithw <keithw@keithw-laptop.(none)>
+Date: Mon Jan 15 11:54:40 2007 +0000
+
+ Add vbo_split files
+
+commit a38cb37913b7cd2f9c3c7aa11dcbb9485d623924
+Author: keithw <keithw@keithw-laptop.(none)>
+Date: Mon Jan 15 11:52:58 2007 +0000
+
+ New files to manage splitting drawing commands
+
+commit 4c7d36b688866129a17c3f59aa9374b2f9a874de
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Mon Jan 15 12:38:24 2007 +0100
+
+ nouveau: Fix a bug in the nv04 swtcl.
+
+commit 16f35a3a22fa782f6bb8a51ef32d6668a5c60e85
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Mon Jan 15 17:28:56 2007 +1100
+
+ nouveau: Add 0x0244 pciid manually for now..
+
+ pciids.sf.net is slow to add it so our generator picks it up,
+ and it's *really* annoying me :)
+
+commit 634b4b3487dcb22e1660959b6a7ce9a42fa50fe2
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Mon Jan 15 17:23:04 2007 +1100
+
+ nouveau: fail CreateScreen on unknown cards instead of guessing.
+
+commit 89f91d1804c0c4919c25d6b9931973733db1e664
+Author: Carlos Martín Nieto <carlos@cmartin.tk>
+Date: Mon Jan 15 00:00:30 2007 +0100
+
+ nouveau: Implement much of the fog handling.
+
+commit e2295511f5ee5fc4f5b39cba9e9c1c7a2f4e1eb5
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sun Jan 14 22:39:37 2007 +0100
+
+ nouveau: Update nouveau_reg.h from renouveau to the latest version.
+
+commit 65e3d5e45e3d14f4ff98a15af0662e6c6e589cd2
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sun Jan 14 21:17:08 2007 +0100
+
+ nouveau: Make the state cache hierarchical.
+
+commit 8d7e5651fba9fd62e1055c05d1814c7d2de7f43c
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sun Jan 14 20:37:57 2007 +0100
+
+ nouveau: add the nv04 swtcl module (it's untested for now).
+
+commit d57ce408b34b604f9b85114eedc88b5463df4218
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sat Jan 13 23:56:55 2007 +0100
+
+ nouveau: Cleanup the nv10 swtcl module.
+
+commit 81bd826de8897f3784ad301023bde6e7eb77b5b2
+Author: Patrice Mandin <patrice@manoir.racoon.city>
+Date: Sun Jan 14 20:14:58 2007 +0100
+
+ nouveau: nv10: 16 bits color buffer format
+
+commit eae7acac168d4e5472488a9135aba0b4e081d5e8
+Merge: 8aabd63 9a4e49a
+Author: Patrice Mandin <patrice@manoir.racoon.city>
+Date: Sun Jan 14 19:56:30 2007 +0100
+
+ Merge branch 'master' of git+ssh://pmandin@git.freedesktop.org/git/mesa/mesa
+
+commit 8aabd636f5dd303774a07f8705068d812f7feef8
+Author: Patrice Mandin <patrice@manoir.racoon.city>
+Date: Sun Jan 14 19:55:45 2007 +0100
+
+ nouveau: nv10: added missing functions
+
+commit 9a4e49aef2abb277544138640c2b71169badaa42
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Sun Jan 14 19:31:30 2007 +0100
+
+ r300: Fix vertex program position invariant bug, force position reading.
+
+ When we have a position invariant program we need to force routing the
+ position otherwise you may handle transform quite random data which might
+ be funny but unlikely what you want :).
+
+commit 6dd967e74ff4cb03220d5785bd583203464d299d
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Sun Jan 14 14:49:36 2007 +0100
+
+ mesa: Update _Current ptr along Current when a new vertex program is bind.
+
+ On new vertex program bind only the Current ptr where updated to
+ point to the new program; this could lead to _Current pointing to
+ and out of date or even a no more existing program which in turn
+ could lead to a segfault in some driver. To avoid this _Current
+ ptr is updated along Current if _Current where previously pointing
+ to the same program.
+
+commit e7112be7321c58e6039fde28f47ffe3dce5cc205
+Author: Patrice Mandin <patrice@manoir.racoon.city>
+Date: Sun Jan 14 14:11:10 2007 +0100
+
+ nouveau: remove already defined NV15_TCL and NV17_TCL
+
+commit 86f10c7144d08bc0603a796a9b8aa53f1a37a7e0
+Author: Patrice Mandin <patrice@manoir.racoon.city>
+Date: Sun Jan 14 14:09:04 2007 +0100
+
+ nouveau: import color material r,g,b,a
+
+commit faada2485a864298562b5e59b0703748c6f6f9d5
+Author: Patrice Mandin <patrice@manoir.racoon.city>
+Date: Sun Jan 14 14:03:42 2007 +0100
+
+ nouveau: nv10: stencil functions
+
+commit 29484f24fb2c21772c6a3ddf33a77ec83d415fdc
+Author: Patrice Mandin <patrice@manoir.racoon.city>
+Date: Sun Jan 14 12:51:30 2007 +0100
+
+ nouveau: nv10: currently fails initcard and bindbuffers, till done
+
+commit f1ad10b338996275a376809d98c420cda4d6d05a
+Author: Patrice Mandin <patrice@manoir.racoon.city>
+Date: Sun Jan 14 12:45:15 2007 +0100
+
+ nouveau: nv10 blending done, remove nv10Viewport
+
+commit 64414ea0e9618608c427105a27d31cb8709d2952
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Jan 13 14:51:02 2007 -0700
+
+ added glUniform1fv_func, glUniform2fv_func
+
+commit 691ed5e54b0dc305c9a117a6a9804435041a86f0
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Jan 13 14:49:52 2007 -0700
+
+ Rework code related to temp register allocation, both for user variables
+ and expression temporarires. Much better register utilization now.
+ Lots of other fixes.
+ The OpenGL GLSL "orange book" brick shader demo works now.
+
+commit 5daa99d2a40fa12d51043c4e326bf62f66ef727d
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Jan 13 14:47:48 2007 -0700
+
+ slang_variable_scope now stores array of pointers to slang_variables.
+
+commit 97c7937c65ddcab2437e6b201d24bf0503a01f1b
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Jan 13 14:46:12 2007 -0700
+
+ added another vec4 constructor, updated += operator
+
+commit fb5f359b93073d85f4cae05cd89ff1012fafeda6
+Author: Patrice Mandin <patrice@manoir.racoon.city>
+Date: Sat Jan 13 14:14:19 2007 +0100
+
+ nouveau: update nv10 state
+
+commit 308ef2dc3208e9c274763726b541f28e2169324b
+Author: Patrice Mandin <patrice@manoir.racoon.city>
+Date: Sat Jan 13 13:56:18 2007 +0100
+
+ nouveau: Add clear color for nv10
+
+commit ca75853f9d9e7d131f25daeaa7c646894ab4807e
+Author: Patrice Mandin <patrice@manoir.racoon.city>
+Date: Sat Jan 13 13:22:03 2007 +0100
+
+ nv10 has alpha color mask
+
+commit 95a441112efbe14407f53d035e368b9632d06f06
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Jan 11 11:22:26 2007 -0700
+
+ Fix a problem with inlined "return" statements. Make some attempt to free temporaries.
+
+commit 063f3f7fc49e1fd5cf99cffd241e16af5e2d1823
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Jan 11 11:21:38 2007 -0700
+
+ disable some code that'll eventually go away
+
+commit 749ed66549fe194ff94824baf862722830de1297
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Jan 11 11:20:23 2007 -0700
+
+ new vec3 constructor, replace float_add w/ vec4_add
+
+commit c8e148e38ce335089817a8ecbc52df8cc57c880a
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Jan 11 11:19:11 2007 -0700
+
+ tweak output
+
+commit b55f1ec9af30ddc5fa44818f85518fffe4580dc6
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Thu Jan 11 12:53:06 2007 +0100
+
+ Fix typo from commit 1d312ae0137eb39bf74fac91eb97ed25c289a4ca .
+
+commit c0c31024a31a2e3225742f447af65614e1ff2ea3
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Jan 10 13:51:48 2007 -0700
+
+ checkpoint: codegen for global vars/constants now working
+
+commit 88e2dbfd10129eab2c7f4a935358a6ab2a18bf65
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Jan 10 13:33:38 2007 -0700
+
+ checkpoint: codegen for global vars w/ initializers
+
+commit 8a48f3557424cfa67269ae5e4dca100ae2a0ddda
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Jan 10 12:18:50 2007 -0700
+
+ assorted code clean-ups
+
+commit ee11842bfcdb928be269848835c5eb88b6d967ee
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Jan 10 12:18:33 2007 -0700
+
+ fix size bug in _mesa_add_attribute()
+
+commit 29bff4e12defa0037167ceb0940be632cc87b578
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Jan 10 08:37:59 2007 -0700
+
+ simplify _mesa_add_state_reference()
+
+commit 88f721231248854e441ccdaeabe1c471e64ddc0a
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Jan 10 08:15:35 2007 -0700
+
+ Update _save_VertexAttrib() functions for non-aliasing behaviour.
+
+commit 01a91eb65753c9090e1a05d728cf5c23ef49d5d4
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Jan 9 19:26:22 2007 -0700
+
+ get rid of STATE_USER_ATTRIB/STATE_AUTO_ATTRIB
+
+commit b7978af6936d186112727cb9858fe7740eef1a7c
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Jan 9 19:17:17 2007 -0700
+
+ clean up a bunch of program parameter stuff
+
+commit cc858bfa84d6a3525b1409db62f89bfd86c6948c
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Jan 9 17:49:53 2007 -0700
+
+ added a few more 2.0 functions
+
+commit 3209c3ed0d82c158eed1020759aacf51ba1c1ad5
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Jan 9 17:49:24 2007 -0700
+
+ Implement vertex attribute binding.
+
+ Users can set explicit binding with glBindAttribLocation(), otherwise the
+ linker will allocate generic attribute slots.
+
+commit 5e75db12d7b17f0295e8099bd357220df97d5013
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Jan 9 17:47:13 2007 -0700
+
+ more debug code (disabled)
+
+commit e8673143ea3d0edf1be7ba8e0723ddba61d8f3f8
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Jan 9 17:46:45 2007 -0700
+
+ add code for generic attributes 16..31
+
+commit 3dd243c59eb48bcf330a5d667d93b93c1226eae2
+Author: Eric Anholt <eric@anholt.net>
+Date: Tue Jan 9 16:39:10 2007 -0800
+
+ Track rename of DamagePost -> DamageAdd.
+
+commit 048412473bda3db3e58b9840de5ef82d2ecce3c0
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Jan 9 11:00:47 2007 -0700
+
+ added _mesa_count_texture_indirections(), _mesa_count_texture_instructions()
+
+commit 21f99792a916a62fcfae7c208f50f192d4ce5926
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Jan 9 11:00:21 2007 -0700
+
+ Moved NumTexInstructions, NumTexIndirections, etc. into gl_program since
+ they can now apply to vertex programs.
+
+commit ae80d13f6df1de6628c23635a98f4fcf1c5d34c8
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Jan 9 10:10:59 2007 -0700
+
+ remove old comment
+
+commit 829da4c3457c4690c53bc93e4e16eb3cb16780cb
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Jan 9 09:31:30 2007 -0700
+
+ Vertex program texture samplers done, but untested (need to add TEX/TXB to
+ the T&L vertex program interpreter).
+
+commit 855ebb26d1868d4c1e61a90c1533154b97bd41ff
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Jan 9 09:14:32 2007 -0700
+
+ Implement shadow samplers and dFdx(), dFdy() code generation.
+
+commit 96c5db5f7ae2cb9d98f534285c34217ce9c2abf3
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Tue Jan 9 14:42:22 2007 +0100
+
+ put back missing Driver.PolygonMode call (bug 9578)
+
+commit dfabf9660751f0d7cfc7cad6539af4d7ccd9147e
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Dec 21 18:06:58 2006 +0100
+
+ i915tex: Remove unused tex_program field.
+
+commit 92fb742065f4de941e444916c5a146db87c71701
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Dec 21 17:30:00 2006 +0100
+
+ intel_finalize_mipmap_tree: Only flush batchbuffer when necessary.
+
+commit 20aec24ac7b4fba169dc6889b093f4dcc2c62bb6
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Jan 8 16:56:52 2007 -0700
+
+ implement biased texture functions
+
+commit 41a4e828d9e06e42bba78166975cb283674c0d9f
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Jan 8 16:49:43 2007 -0700
+
+ check if _Current == NULL for TXB
+
+commit 8cad795a80077f661d70121f271ab59c68f8bff3
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Jan 8 16:10:55 2007 -0700
+
+ added 1D texture functions
+
+commit 9a78ef980d89c0d18f859036d5a0cdf82acd303c
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Jan 8 16:10:34 2007 -0700
+
+ Remove if (tObj) conditional so that texture units without a texture image
+ return black (0,0,0,1) when sampled.
+
+commit 85e0634b54c8cbe65c66f2a4b118ca77cfc1b8ac
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Jan 8 16:02:40 2007 -0700
+
+ update texture1D functions
+
+commit 42153d7858686cfd88e919c0889a56d3a13a603e
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Jan 8 15:58:14 2007 -0700
+
+ Implement projective texture sampling, 3D textures. Disable some debug output.
+
+commit 483ca39bca3c4a125e725e4711abde3f86a84b9e
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Jan 8 14:11:54 2007 -0700
+
+ Move some code around, add some comments.
+
+commit d3fe7398e31d76f5d2fd36856bec7d4483b5efe7
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Jan 8 14:06:00 2007 -0700
+
+ Move storage allocation functions from slang_emit.c to slang_codegen.c
+
+commit 27cc9068ce49ede4cb56d52b32c96e568e5fcbb5
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Jan 8 13:36:53 2007 -0700
+
+ checkpoint: more work on variable/storage allocation
+
+commit cf4d4342c905c9989abb2dcc5e38968db8aeaf57
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Jan 8 13:09:47 2007 -0700
+
+ Checkpoint: re-org of (global) variable allocation code. More to come...
+
+commit a27d3e43fe98837a851a6c0f6f0605f83a002187
+Merge: 6a632de d9dd901
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sun Jan 7 23:03:01 2007 -0800
+
+ Merge branch 'master' into crestline
+
+commit d9dd9013a8530bcafcdb2c5fed2b01a22bfca69b
+Merge: 62db3cc 026939b
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sun Jan 7 23:00:48 2007 -0800
+
+ Merge branch 'origin'
+
+commit 6a632de96dca87a28fe03afb3a9bac3b4a3519d7
+Merge: 92de58f 026939b
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sun Jan 7 20:57:56 2007 -0800
+
+ Merge branch 'origin' into crestline
+
+commit 026939b00897665f97669bafb1d486a71f90f935
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Mon Jan 8 11:53:45 2007 +1100
+
+ nouveau: allow the use of multiple subchannels/objects by default.
+
+commit 92de58f00162a6b3c40bf12635f3ee4f0480e09a
+Merge: caf8010 62db3cc
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sat Jan 6 17:14:14 2007 -0800
+
+ Merge branch 'master' into crestline
+
+commit 62db3cc34982d2fec9165633813ef6e656f7d497
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sat Jan 6 17:13:45 2007 -0800
+
+ Various warning fixes for i965 driver.
+
+ vertex/fragment programs provided as const.
+ bmSetFenceLock should return bmSetFence value.
+
+commit 9311c29558156859c6b26389c1b20a25d361d39d
+Author: Keith Packard <keithp@neko.keithp.com>
+Date: Sat Jan 6 17:13:29 2007 -0800
+
+ Initialize GL_ARB_occlusion_query only if DRM support is present.
+
+ DRM versions before 1.8 do not include the necessary ioctls to support
+ GL_ARB_occlusion_query, don't enable it on these versions.
+
+commit caf8010652f77e7687c0a3b7c267ba49d0a24d74
+Merge: f34cad0 8c1cc5f
+Author: Wang Zhenyu <zhenyu.z.wang@intel.com>
+Date: Mon Dec 4 15:48:04 2006 +0800
+
+ Merge branch 'master' into crestline
+
+ Conflicts:
+
+ src/mesa/drivers/dri/i965/brw_tex_layout.c
+
+ Michel Dänzer replaced the copy of the 945 mipmap layout code with that from
+ the 945 driver directly.
+
+commit 8c1cc5fd8084e7a927b15c88709a615fa16b06a3
+Author: Haihao Xiang <haihao.xiang@intel.com>
+Date: Tue Dec 26 16:45:02 2006 -0800
+
+ i965: Support linear format in i965.
+
+
+ Signed-off-by: Keith Packard <keithp@neko.keithp.com>
+
+commit ef02f8be10a9f95788fee48bb9e7801dea0c2ba6
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Wed Dec 13 15:27:17 2006 +0800
+
+ i965: xdemos/glxthreads get: Assertion `block->fenced' failed (9201)
+
+ Signed-off-by: Keith Packard <keithp@neko.keithp.com>
+
+commit 652ae2c3765a471f94ca7b7328a0d572182bb127
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Tue Dec 12 15:00:27 2006 +0800
+
+ i965: Take clip rects into account when computing max prim
+
+ Signed-off-by: Keith Packard <keithp@neko.keithp.com>
+
+commit 4068e2d1b766a9ccedcb8d7cd07c49d22dff39f0
+Author: Wang Zhenyu <zhenyu.z.wang@intel.com>
+Date: Mon Dec 11 00:01:56 2006 -0800
+
+ i965: ARB_occlusion_query support
+
+ Signed-off-by: Keith Packard <keithp@neko.keithp.com>
+
+commit 1b9f78195f62959601d440475a6cbba5e8046813
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Oct 18 00:24:01 2006 -0700
+
+ i965: Avoid branch instructions while in single program flow mode.
+
+ There is an errata for Broadwater that threads don't have the instruction/loop
+ mask stacks initialized on thread spawn. In single program flow mode, those
+ stacks are not writable, so we can't initialize them. However, they do get
+ read during ELSE and ENDIF instructions. So, instead, replace branch
+ instructions in single program flow mode with predicated jumps (ADD to the ip
+ register), avoiding use of the more complicated branch instructions that may
+ fail. This is also a minor optimization as no ENDIF equivalent is necessary.
+
+ Signed-off-by: Keith Packard <keithp@neko.keithp.com>
+
+commit e54ec49155052ab663d8671e7036d985992464a3
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Oct 11 12:16:09 2006 -0700
+
+ i965: Connect INTEL_DEBUG=sync up to cmd/batch ioctls.
+
+ Signed-off-by: Keith Packard <keithp@neko.keithp.com>
+
+commit f1fbaf39ff9b818c17c3a3f35e9517b4d826ec61
+Merge: ade39f5 c2b185c
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Jan 6 14:55:07 2007 -0700
+
+ Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa
+
+commit ade39f53f659ab9774ab14ebfefd18eb71f1d4ac
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Jan 6 12:58:28 2007 -0700
+
+ document 32-bit Z line/point fix
+
+commit 113b0a7f2e83f02ae9da6977ff416df5cf9671de
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Jan 6 12:55:17 2007 -0700
+
+ Use GLuint instead of GLint to store intermediate Z values. Fixes problems when using 32-bit Z buffer.
+
+commit c2b185cff82a6cdb723cda4e05ffe1a213a9de3e
+Author: Eric Anholt <eric@anholt.net>
+Date: Fri Jan 5 18:19:58 2007 -0800
+
+ Add reporting of damage by DRI drivers when the extension support is available.
+
+ With this, tools like ximagesrc in gstreamer correctly see updates from GL
+ rendering. Support requires that the Xdamage library be current (but will be
+ disabled if not present) plus a new X Server with support for the new
+ XDamagePost request. libGL now has a new interface version, and also links
+ against libXdamage and libXfixes to support it, but backwards compatibility
+ is retained.
+
+ Currently, all drivers report damage at SwapBuffers time through common code --
+ front buffer rendering doesn't result in damage being reported. Also, the
+ damage is against the root window, as our drivers don't yet render to backing
+ store when they should (composited environments).
+
+commit 5cf7326132a37f11357b5cb31bcc9238fef5b54c
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Jan 5 16:02:45 2007 -0700
+
+ Checkpoint glsl compiler work: sampler uniforms now implemented, linked properly.
+
+commit b2ab693d68f2ba1358b9c3f8bab53b9ebfb586fe
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Jan 5 16:01:43 2007 -0700
+
+ added PROGRAM_SAMPLER
+
+commit eef70ff79a3231780a4255befe652727364a638b
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Jan 5 16:01:26 2007 -0700
+
+ added Sampler field to prog_instruction struct
+
+commit 288c5396e6aa484d88819bd28a7cd49a3873f283
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Jan 5 16:01:11 2007 -0700
+
+ added PROGRAM_SAMPLER
+
+commit 9805e7674424182b17ca355da2cb3b14fab8a41c
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Jan 5 16:00:57 2007 -0700
+
+ added _mesa_add_sampler()
+
+commit b530d96216f8a01e2dd4100941f6b1aa4d9dfbcd
+Merge: 24cf67f 16f0efc
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Jan 5 08:42:45 2007 -0700
+
+ Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa
+
+commit 24cf67fc733be7327202e934443b3469d053e41e
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Jan 5 08:41:16 2007 -0700
+
+ document VBO bug fix 9445
+
+commit 7da7404fdf1be778534d2d155072114e3f92226a
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Jan 5 08:40:06 2007 -0700
+
+ Fix glPush/PopClientAttrib() for VBO state (bug 9445).
+
+commit 16f0efca605600bdac83898f1505af99c4c71048
+Merge: 5ca107a 1d312ae
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Jan 4 18:37:10 2007 -0800
+
+ Merge branch 'master' of ssh+git://idr@git.freedesktop.org/git/mesa/mesa
+
+commit 4cc90ee0b0fa30a71c275abe4cad68b7e99d025a
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Jan 4 17:44:04 2007 -0700
+
+ update TexturesUsed[] in slang_update_inputs_outputs()
+
+commit 4428e8f20f8b6f5db086d8bd8b68ea3da9e9b0f0
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Jan 4 17:43:53 2007 -0700
+
+ update TexturesUsed[] in slang_update_inputs_outputs()
+
+commit 64f78dd6a8596700a3cb5e657164775ebbc2e8db
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Jan 4 17:30:30 2007 -0700
+
+ compute InputsRead/OutputsWritten with slang_update_inputs_outputs()
+
+commit c9db223f902ce9d7e9f3038e6baac6da7f231b34
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Jan 4 17:22:19 2007 -0700
+
+ move TexturesUsed[] into gl_program since vertex programs/shaders can use textures nowadays
+
+commit 7edd2ecb55d4cdc4067303867453d7e534bfad38
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Jan 4 16:19:54 2007 -0700
+
+ simplify update_texture_state() a bit, compute _EnabledCoordUnits for shaders
+
+commit 5ca107a4f215b84176123fd7a2d5fe14508a9f62
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Jan 4 14:53:48 2007 -0800
+
+ Use glxbyteorder.h in server-side source files.
+
+commit 6d29e1de735b446b7a6e2d069375a6cc47c83ce4
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Jan 4 14:52:53 2007 -0800
+
+ Hack indent flags for indirect_reqsize.h to eliminate extra diffs.
+
+commit 92be800146ffa5aab1c3072fa4c9b48289985176
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Jan 4 14:47:41 2007 -0800
+
+ Add missing files to server generation list.
+
+ The files indirect_reqsize.c and indirect_reqsize.h were missing from
+ the list of files to be generated for the server. Add them back to
+ the list. Also, update the INDENT_FLAGS to prevent conversion of
+ 'GLbyte *pc' to 'GLbyte * pc' in function prototypes.
+
+commit ff81f074fb4165122b4599f602f89ecff6f611ff
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Jan 4 15:25:29 2007 -0700
+
+ minor formatting fix
+
+commit de03fe4a3f21aac730ad8b7b24bcaa897d4c182b
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Jan 4 15:06:50 2007 -0700
+
+ added texture attribs in slang_find_input()
+
+commit 7b4d10b4a353f6fabd2dfc8030ffcd2dcff5b1c7
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Jan 4 14:40:56 2007 -0700
+
+ added glUniform1i_func
+
+commit e64030060292cdab97096ee3924ef18b1f71111f
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Jan 4 14:40:02 2007 -0700
+
+ initial code to get texture sampling limping along
+
+commit 6a92d98d1a04629c09fae59585d94203580434c4
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Jan 4 14:38:45 2007 -0700
+
+ temporary disable some memory deallocations to work around a memory corruption bug
+
+commit 89dc48569a361f59ec8a610ec779b0ff3e7c7ac2
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Jan 4 14:35:44 2007 -0700
+
+ finish some loose ends in _mesa_uniform()
+
+commit 602045fd7bfb80a7a06c1fda5ffe66d9e4cc02b0
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Jan 4 14:33:42 2007 -0700
+
+ update_texture_state() updated for new shaders
+
+commit 1d312ae0137eb39bf74fac91eb97ed25c289a4ca
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Thu Jan 4 20:27:49 2007 +0100
+
+ r300: Correct bug introduced by fragprog rework.
+
+ Thx for Tilman who spoted the bugs.
+
+commit 439758353aea3ede1f6d7fc1be14777df8697db5
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Jan 4 08:21:09 2007 -0700
+
+ Fix some incorrect GL error values. Reorganize _mesa_compile_shader() code.
+
+commit 8d287d0f5e18246a3c8fbad6101ac32b4eaf6c32
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Jan 4 07:53:32 2007 -0700
+
+ s/unsigned/size_t/ (Matthias Hopf)
+
+commit bbfd963f492683dc359b7e3f8fcb7ceb2483f886
+Author: Patrice Mandin <patrice@manoir.racoon.city>
+Date: Tue Jan 2 14:31:16 2007 +0100
+
+ Update spot light params
+
+commit 254ce75ac300d8d20ba4e2fce81c4459c692d2b1
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Tue Jan 2 15:09:10 2007 +1100
+
+ nouveau: bump drm patchlevel.
+
+commit b6becfae1087f2577b489677bdd680d64a7ffb4c
+Author: Dave Airlie <airlied@linux.ie>
+Date: Sun Dec 31 10:01:17 2006 +1100
+
+ fix issue with i915tex advertising visuals it can't support
+
+ This may not be the proper way to fix this but it does work easily.
+
+commit 3943d7f8b12370dd77dda66e70aa8f1fcd217f9f
+Author: Haihao Xiang <haihao.xiang@intel.com>
+Date: Sat Dec 30 10:30:42 2006 -0800
+
+ Use the tiled flag in the sarea to determine region tiling.
+
+ This fixes mis-rendering if back/depth fail to get set up as tiled. While it
+ probably won't ever be the case now that the pitch limits are loosened, this is
+ still the right thing to do.
+
+commit 8c180c72d5fed5f26f258759f9649fc647a764ff
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Wed Dec 27 23:52:40 2006 +1100
+
+ nouveau: Use bufferobj interface for fragment program uploads
+
+commit 9a20ae70ecda2e78ea6b52c3fd829d283434c1ad
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Wed Dec 27 23:30:34 2006 +1100
+
+ nouveau: Initial buffer object support
+
+commit 1780fd4eeeef2358e929c23cfae2c348cb4a709e
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Wed Dec 27 15:54:30 2006 +1100
+
+ nouveau: We'll need syncNotifier for NV_MEMORY_TO_MEMORY_FORMAT too.
+
+commit 885a7cc38d80366396f463a54ef4af00c9fd07ff
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Wed Dec 27 15:50:59 2006 +1100
+
+ nouveau: add nouveau_mem_alloc/free debugging
+
+commit 2dd37534506e85351fb114c79fd6c994a9c355c0
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Wed Dec 27 15:39:52 2006 +1100
+
+ nouveau: record *actual* type of memory that was alloc'd, not the requested types.
+
+commit 7b59a424b519c37b7c94e4ea8c420794c6a0eb4c
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Wed Dec 27 15:38:09 2006 +1100
+
+ nouveau: Typo
+
+commit 297a35eb69382193a4cc9ba4b51619984a8969db
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Wed Dec 27 00:02:38 2006 +1100
+
+ nouveau: Add simple wrapper for NV_MEMORY_TO_MEMORY_FORMAT.
+
+commit f34cad0f972ca838cb223429acab54d26c2f6a57
+Merge: ead0f46 adccb08
+Author: Nian Wu <nian@graphics.(none)>
+Date: Tue Dec 26 16:46:51 2006 -0800
+
+ Merge branch 'crestline' into crestline-qa
+
+commit adccb084df57ea5aef1b2ff9c21038ce1b89f7e3
+Author: Haihao Xiang <haihao.xiang@intel.com>
+Date: Tue Dec 26 16:45:02 2006 -0800
+
+ Support linear format in i965.
+ Fix bug #117 #118
+
+commit 2dccca57e4325e77d7b2f0a08835eeccc11892cb
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Tue Dec 26 18:39:21 2006 +0100
+
+ Deleted unused file which likely have be reintroduced during git move.
+
+ This file was deleted longtime ago, guess that git migration
+ created it again.
+
+commit 257e3d1d5953a94892a31d71bd2e200204d7968f
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Tue Dec 26 22:03:12 2006 +1100
+
+ nouveau: Make use of NOUVEAU_DEBUG for shader disasm
+
+commit 3fcb7d388d71c6ab147769d35feab29b7f511521
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Tue Dec 26 21:33:58 2006 +1100
+
+ nouveau: Make the notifier stuff actually work..
+
+commit 0b2b2de6cff23bc224f5471cc8d0812661a0d363
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Tue Dec 26 21:10:38 2006 +1100
+
+ nouveau: Wait on notifier to check for completion of previous commands.
+
+ We can't wait on NV_PGRAPH_STATUS. We don't have the regs mapped, and there's
+ no guarantee that we'll catch PGRAPH idle when multiple channels are active.
+
+commit c0a63d8e5e33b7fe3057e32f04c22969ac2adc1d
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Tue Dec 26 20:59:49 2006 +1100
+
+ nouveau: Add notifier support functions
+
+commit b8769f318ff9c2e4a74fbb1d4b058eb521e36dda
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Mon Dec 25 23:34:56 2006 +0100
+
+ Rework r300 fragprog avoid using bitfield structure.
+
+ It seems that bitfield structure lead to some strange
+ problem on 64bits arch, don't want to waste time debugging
+ strange things like that so converted pfs_reg_t structure
+ to a GLuint and use good old masking and shifting spell.
+ (cherry picked from 2a7de9d095d8e60da12b11aaa1efe664b87b11d3 commit)
+
+commit d79323bd42864fc4768874f56734bad9dc6d8a9c
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Sun Dec 24 00:50:13 2006 +1100
+
+ nouveau: Kill some compile warnings.
+
+commit f54c725497cac19294e1465413d21a9416d4245f
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Sun Dec 24 00:13:34 2006 +1100
+
+ nouveau: Modify span routines to use nouveau_renderbuffer instead of driRenderbuffer
+
+commit cb6a400dcd26089101c8a29a4eee198bd7ad9a58
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Sat Dec 23 23:51:24 2006 +1100
+
+ nouveau: maintain numClipRects/pClipRects in context.
+
+commit ae8d8d132600cc544b7295c9554e6531bdbd8094
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Sat Dec 23 23:03:55 2006 +1100
+
+ nouveau: Don't fill nrb->dPriv for private buffers
+
+commit 1dd6759c059e054a9a2279d2339a5bd8bb83f6b4
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Sat Dec 23 10:56:19 2006 +1100
+
+ nouveau: get 16bpp working
+
+commit d8babcfc570ef97b284f88f01151f00eb188a2fd
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Dec 22 10:26:22 2006 -0700
+
+ fix typos
+
+commit aa710c3e6b17a4af54f2243de8888da4844d5c75
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Dec 22 10:18:50 2006 -0700
+
+ implement unary +, -
+
+commit 9b694589e9c47a777ce9f7fab6e4ef90d3c94c80
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Dec 21 18:12:03 2006 -0700
+
+ chmod a-x
+
+commit 01f2e7f62fd4791d838350502bb5a47bbcdebd62
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Dec 21 18:05:06 2006 -0700
+
+ checkpoint: pre/post incr/decr operators
+
+commit 392d9701e30f4c7b4cbd25cb8714a42ba2512bd4
+Author: Brian <brian@nostromo.localnet.net>
+Date: Thu Dec 21 17:50:22 2006 -0700
+
+ added INTERP_VARYING code
+
+commit eb2a6d62f9353d90be757fc1617040c7ccddac39
+Author: Brian <brian@nostromo.localnet.net>
+Date: Thu Dec 21 17:50:07 2006 -0700
+
+ s/attribute/varying/
+
+commit 2905385744a385bc8bc6cbd2d749673c93380462
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Dec 21 11:21:26 2006 -0700
+
+ comment about uniforms
+
+commit 58af54c76773bd9fc96d43fc209a0dc4db934ca7
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Dec 21 10:56:09 2006 -0700
+
+ checkpoint: rewrite vec/mat products
+
+commit c155ae1dfed9eaec167a06d341e2b8c8c8ef1730
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Dec 21 10:49:27 2006 -0700
+
+ fix typos
+
+commit a0d6b506cdb1faa74d53fcb9d93de49985bc3e95
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Dec 21 10:47:28 2006 -0700
+
+ added IR_NEG for negation
+
+commit 356f8ea2132ca8b7a19869e5ff6d7c59a12bd5f0
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Dec 21 10:45:49 2006 -0700
+
+ checkpoint: matrix/float, unary negation rewrite
+
+commit b766643e5c3c9ed174c59b54e520f94e3420e39a
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Wed Dec 6 06:40:18 2006 +0200
+
+ Drop mesa wrappers for XFree86.
+
+commit c73e07405ca1a4ce4fce76607a3e43ef47b9d8a9
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Dec 21 10:03:15 2006 -0700
+
+ checkpoint: ivec/int and mat/mat operations
+
+commit bb1bf8b3aaa20fba05851653adf8f6732ca57cd9
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Dec 21 09:40:08 2006 -0700
+
+ checkpoint: more basic math rewritting
+
+commit af0190bc6ece5ab71346ad436f5e2558d072ad56
+Author: Sean D'Epagnier <sean@depagnier.com>
+Date: Thu Dec 21 01:50:33 2006 -0700
+
+ Updated keyboard input so that glut programs can read from stdin without
+ problems if tty input is used. Also corrected a few stdin keycodes.
+
+commit a33532f5f4b06aab49238aa193452f8efee7a291
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Dec 20 18:04:59 2006 -0700
+
+ checkpoint: re-org assignment operator functions
+
+commit 1ff1e89ff4abf15be9442f06e5123547d1e64a5a
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Dec 20 17:56:29 2006 -0700
+
+ added glUniformMatrix2/3fv_func
+
+commit cec316c9eba31e31fc742a7610b2e67fcac52547
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Dec 20 17:55:42 2006 -0700
+
+ checkpoint: more basic math operator re-org
+
+commit 8d239a6880d347b30010330a630be5493e8610d6
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Dec 20 17:43:56 2006 -0700
+
+ Checkpoing: re-organization of basic arithmetic functions.
+
+commit 2a62cbd24b02b0c222d9857ccf9a13e5e167f03a
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Dec 20 17:19:45 2006 -0700
+
+ handle PROGRAM_UNIFORM, fix a _mesa_problem() call
+
+commit 3a8e2776a626c971bc02cd2ee3e576cb8b4267e9
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Dec 20 17:19:16 2006 -0700
+
+ Uniform matrix support.
+
+ Implement _mesa_uniform_matrix()
+ Support for program parameters/uniforms with more than 4 elements.
+ Store 4x4 matrices in column-major order in registers.
+ Update mat mul built-in functions accordingly.
+
+commit 83ca3ff384ac09524ff6946134cded4174590d92
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Dec 20 17:17:38 2006 -0700
+
+ added _mesa_print_parameter_list()
+
+commit 2cc7dba718aa45ce446c63cf9a64cb88b1a3c39f
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Dec 20 12:41:59 2006 -0700
+
+ New IR_COND node for evaluating conditional expressions (for if/while/for).
+
+commit 79a340bc15e13643b1016d011556ba622dd18a5f
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Dec 20 09:57:56 2006 -0700
+
+ use cast wrappers for sanity checking
+
+commit f2923613a40e07d06ce08d3355f3120d81b9e759
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Dec 20 09:56:44 2006 -0700
+
+ code re-org
+
+commit d881a9c1365a085ecb1f7e3ee406a2ce3fbf854f
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Dec 20 09:31:07 2006 -0700
+
+ Minor clean-ups, reformatting, comment changes.
+
+commit 9e4bae9ccac5a76a2361c5c3cbe377a3c6b6a95b
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Dec 20 09:27:42 2006 -0700
+
+ Fix shader object reference counting and hash table deallocation.
+
+commit 65a18442e5d846940714bb662f5b1bb47ab60c29
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Dec 19 18:46:56 2006 -0700
+
+ Clean-up and re-org of the main GLSL object types.
+
+ Use the gl_shader struct as it should be.
+ Renamed gl_linked_program to gl_shader_program.
+ Store both shaders and programs in the same hash table and use the Type field
+ to distinguish them.
+
+commit 0bf5dbe002a64e198f55724cc1542602c012490f
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Dec 19 18:02:41 2006 -0700
+
+ Overhaul of GLSL API functions, dispatching, etc.
+
+commit 5b01c5e9d2c0283cc31981b6c85dc6392144b3db
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Dec 19 18:02:03 2006 -0700
+
+ Overhaul of GLSL API functions, dispatching, etc.
+
+commit 46b06bdb2664b7a553fdc9e30367001ab39db804
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Dec 19 17:59:32 2006 -0700
+
+ Massive re-org of GLSL-related API functions.
+
+ Added new GLSL functions to struct dd_function_table.
+ main/shaders.c calls GLSL functions through the dd_function_table.
+ shader/shader_api.c implements the API functions.
+ Other assorted changes, fixes everywhere else.
+
+commit e3358dea660f5dec53a8be9e38d725f4fd829e14
+Merge: b497a0c 53d4064
+Author: Dave Airlie <airlied@linux.ie>
+Date: Wed Dec 20 09:30:32 2006 +1100
+
+ Merge branch 'nouveau-import'
+
+commit 2e76f0a846b8273843dca701543f1cba70284751
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Dec 19 09:52:07 2006 -0700
+
+ check for null Parameters ptr in _mesa_clone_program()
+
+commit af1d46b68acb2e272b06177f2bdb50bf81553018
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Dec 19 08:59:51 2006 -0700
+
+ lots of clean-up and re-org
+
+commit bb8f7627f7be71044a2e4cb5d583b8e2d59baab1
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Dec 19 08:59:36 2006 -0700
+
+ additional error checking
+
+commit 8473ae475fab751b14a42f76643f48c3a746d94c
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Dec 19 08:59:19 2006 -0700
+
+ new error msg
+
+commit 194bc5afbde4c6b144289e7542612ef52e0e5bd4
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Dec 19 08:58:56 2006 -0700
+
+ rewrite +=, -= etc for floats
+
+commit 8e20c417d40f8b28467591545dee76c3ffd9dfe3
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Dec 18 17:54:58 2006 -0700
+
+ Implement array indexing of simple vec2/3/4 types. A bit of a hack for now...
+
+commit d22079217c5a1954a07afb1193d06eecb2decbb6
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Dec 18 16:22:27 2006 -0700
+
+ Added instruction counter to catch infinite loops (temporary).
+
+commit b50280e95f3c044f53c0705d3a5619ebb2db4513
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Dec 18 16:21:58 2006 -0700
+
+ Check for inst->CondUpdate, print .C suffix.
+
+commit fbb71da2b918da0ce8a3f95159a3a5fda08e7ca5
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Dec 18 14:45:26 2006 -0700
+
+ Generate IR code for for/while loops, break and continue statements.
+
+commit 1aee657b0f0fb34a0d6717e47f3bdfd67de8bfc2
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Dec 18 10:05:24 2006 -0700
+
+ Implement if-conditionals and while loops, added temporary resolve-branches function in linker.
+
+commit 34ae99d6049b10115ca64daecdd1d879d3b5140d
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Dec 18 08:28:54 2006 -0700
+
+ GLSL API functions.
+
+commit ad2519ac6bd4f0464530c5d868045675392ff880
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Dec 18 08:28:06 2006 -0700
+
+ Use _mesa_free_linked_program_data()
+
+commit 962a9f2f9d0326408c9b400d765a6aa14c5a5f57
+Author: Brian <brian@yutani.localnet.net>
+Date: Mon Dec 18 08:25:23 2006 -0700
+
+ comments
+
+commit ead0f46d5f9213f03f6c4b956aa96eda8fd0f1df
+Merge: c34d026 77b862a
+Author: Nian Wu <nian@graphics.(none)>
+Date: Sun Dec 17 10:49:43 2006 -0800
+
+ Merge branch 'crestline' into crestline-qa
+
+commit 53d40646bdac2deb7954794e213154e0a4596278
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Sun Dec 17 03:38:21 2006 +0000
+
+ Don't build passthrough shader on <NV40
+
+commit 0031ea7d85ae8990872c2181d038fb97b566dc2b
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Dec 16 12:52:55 2006 -0700
+
+ fix comment, handle NOP
+
+commit f7159552ae12f6a47641f3325c9ece6f1c052feb
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Dec 16 12:52:19 2006 -0700
+
+ Initial code for conditional constructs.
+
+commit 3a2815370d26012b41d742540237985a333b6ae4
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Dec 16 12:51:34 2006 -0700
+
+ print BRA instructions
+
+commit 3e1f4bc15be920365a548f64cae6bff1c5ed3ec5
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Dec 16 12:51:12 2006 -0700
+
+ added cases for BRA, NOP
+
+commit b456413d7644978bf7bd40d9c1bcba83f637f685
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Dec 16 12:50:51 2006 -0700
+
+ cases for NOP, BRA
+
+commit b497a0cb7c607bfad3389c6831de0dfdc37ee5af
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Dec 16 11:17:41 2006 -0700
+
+ Don't update span->array->z[] values from SLANG_FRAGMENT_FIXED_FRAGDEPTH.
+ This restores the behaviour of Mesa 6.5.1, fixing a regression in 6.5.2.
+ See bug 9345. Revisit someday...
+
+commit 6ec4a03b9fef4903b30bd0c9bfb43c2f32c98191
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Dec 16 11:09:14 2006 -0700
+
+ initial release notes for 6.5.3
+
+commit 6d982e53ee079dc6a9a20bd5d80b7f856e943e5d
+Author: Brian <brian@yutani.localnet.net>
+Date: Sat Dec 16 11:07:00 2006 -0700
+
+ don't allow fog when using a fragment shader (bug 9346)
+
+commit de947e8a5b2f10eb3fd2bdeacc54209e55447e86
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Sat Dec 16 12:32:11 2006 +0000
+
+ Get nv10_swtcl.c working enough for glxgears on NV40.
+
+commit a4be1048870446a45a4a14178b47e2cb1a0d92d6
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Dec 15 17:05:53 2006 -0700
+
+ start implementing relational operators
+
+commit cb7ccc4b144e546239294ae754aa634bbebc4c62
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Dec 15 16:47:42 2006 -0700
+
+ start rewriting the matrix/vector functions
+
+commit f167d0e7d588ab65067ab2e7499664ebc5ab02ec
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Dec 15 15:37:32 2006 -0700
+
+ added assertion to catch use of too many temporaries
+
+commit fa8059a89c91405615c0e0f73b2c469ccb27fb91
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Dec 15 15:36:29 2006 -0700
+
+ fix double-printing of comment info
+
+commit 9b00fa9ac24cb5c2e8740dac4b8c2c28e6b861f5
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Dec 15 15:36:09 2006 -0700
+
+ code movement
+
+commit bfc02dd30f625c134638b20a903065dc78e9ccd3
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Dec 15 15:35:57 2006 -0700
+
+ Lots of assorted changes.
+
+ Implement assignment/move for types larger than 4 floats.
+ Fix codegen bug for "return expr" in inlined functions.
+ More clean-up of storage allocation code (slang_resolve_storage).
+
+commit 6579245800f39c14f738db8e8ae1d93a65a32a4c
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Dec 15 15:32:11 2006 -0700
+
+ redo mat4 addition, mat4 constructor from vec4s
+
+commit 24a495fd77f98b666c1f17e88a8134301cb8dee7
+Author: Gary Wong <gtw@gnu.org>
+Date: Fri Dec 15 17:18:36 2006 -0500
+
+ Fix copy-and-paste mistake in comment ("scaling" should read "translation").
+
+ Before _mesa_Translatef().
+
+commit c340dd7d842b3f20a6d3d2bec1ebb0d1de15728e
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Fri Dec 15 21:02:23 2006 +0000
+
+ NV1x/2x hw_func stubs.
+
+commit 4b4632f94c726c19d3c1efd05ceb5770a430cefd
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Dec 15 10:10:23 2006 -0700
+
+ vertex/fragment program field changes
+
+commit d6aff512feb102eacb41b36e9f9e750d94c299af
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Dec 15 10:10:01 2006 -0700
+
+ varying var changes
+
+commit 464b9f4f6c6514a7cfcc873923b5c127c1c6f60b
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Dec 15 10:09:49 2006 -0700
+
+ varying var changes
+
+commit 9abf73b8cc204a9348c751022bace78560d7cb3e
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Dec 15 10:09:33 2006 -0700
+
+ varying changes
+
+commit a7e252026db542d362bc4688d49c7e28c2f9f1ea
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Dec 15 10:09:12 2006 -0700
+
+ updated includes
+
+commit 60a7200c0de7fc2925430b466739b4021087d14c
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Dec 15 10:08:59 2006 -0700
+
+ updated includes
+
+commit 89f88058b9321d9aac50200f9e173a7302934c27
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Dec 15 10:08:24 2006 -0700
+
+ use MAX_VARYING
+
+commit e3b266886583cb8ab7feff4fd1df98ecda24d438
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Dec 15 10:08:15 2006 -0700
+
+ use MAX_VARYING
+
+commit a7a582296bf23556e3e9c013b33b619ccc0f795c
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Dec 15 10:08:02 2006 -0700
+
+ more debug output
+
+commit a90046f1097ad95de2aa95ca65741dff5cddced9
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Dec 15 10:07:26 2006 -0700
+
+ Lots of assorted changes for new GLSL compiler backend.
+
+ New datatypes, constants, variables.
+
+commit becb393d42504e59811a3a7c9f077baffab5ce5d
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Dec 15 09:31:14 2006 -0700
+
+ Use extfuncs.h helper. Added command line options for loading
+ vertex/fragment shaders from files.
+
+commit e55b771a1ee34df929da5b37d4c677f25442203e
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Dec 15 09:30:31 2006 -0700
+
+ simple extension function wrangler
+
+commit 39adc3025071927b6fd4ec1b9dbe9c03b20c82de
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Dec 15 08:55:49 2006 -0700
+
+ change/add/rm several filenames
+
+commit c968d3d410a1897ecbb41d3557adaef69a4c627a
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Dec 15 08:50:02 2006 -0700
+
+ Renamed s_nvfragprog.[ch] to s_fragprog.[ch]
+
+commit b78fb7abaff4e1b1e55d7f2c137ac9a1d40137f2
+Author: Brian <brian@yutani.localnet.net>
+Date: Fri Dec 15 08:49:27 2006 -0700
+
+ Renamed s_nvfragprog.[ch] to s_fragprog.[ch], program_instruction.h to prog_instruction.h
+
+commit 6232438acb205ea44dee2d5eb68fb618e40b47d6
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Dec 14 15:54:01 2006 -0700
+
+ remove unneeded includes
+
+commit 885afd59ec358135ca6121cd65c397c9766afa7a
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Dec 14 15:53:49 2006 -0700
+
+ remove unneeded includes
+
+commit 2c1f9758525431d870b32986b6144c2921760bc0
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Dec 14 15:50:34 2006 -0700
+
+ remove unneded includes
+
+commit 901c1bb402496427abcaa5d56c1f458329e2ec69
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Dec 14 15:49:09 2006 -0700
+
+ remove some unneeded includes
+
+commit 0831ef5038f851a9eec705a558e03b366b745ecd
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Dec 14 15:47:54 2006 -0700
+
+ include prog_print.h
+
+commit cc6a141dc16f9e56355c87e533c71965d7ea6f48
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Dec 14 15:47:34 2006 -0700
+
+ Remove some moved extern decls.
+
+commit 464b82b1e690b5ab690bd1673251e5b4edf69a62
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Dec 14 15:47:08 2006 -0700
+
+ Move some code from prog_print.c to prog_instruction.c
+
+commit 0ae74048355497ebca4f606e01311a659db6c120
+Merge: 5cc1292 fde9084
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Dec 14 15:20:15 2006 -0700
+
+ Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa
+
+commit 865f88afc0d59d886fb2ad50429e584ecf17fa81
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Dec 14 15:14:14 2006 -0700
+
+ Renamed from s_nvfragprog.[ch]
+
+commit 49f82803cc6ceaf1ecc3928a5417ef300f73f37d
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Dec 14 15:13:06 2006 -0700
+
+ Updated includes.
+
+commit 60417b646de390a71a15b3e13d2e662712e38294
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Dec 14 15:03:33 2006 -0700
+
+ chmod a-x
+
+commit 57d9531cd644226d15be4a09ad1492ab647165dc
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Dec 14 15:03:04 2006 -0700
+
+ Updated includes.
+
+commit c0551f0a465b577a17698ede46370a17e29b3df7
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Dec 14 15:02:37 2006 -0700
+
+ Updated includes.
+
+commit a7a89e362b8d0dd1586675c23aac4e0e5486262a
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Dec 14 15:02:19 2006 -0700
+
+ Updated #includes after splitting program.h
+
+commit 0560d81ce94d27f2162d77d981468cea1b2bbd8a
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Dec 14 15:01:28 2006 -0700
+
+ Move many functions into new files.
+
+commit 00cdc0a472c55330cbc58317f01b07f8f90be5a5
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Dec 14 15:01:06 2006 -0700
+
+ Split the program.[ch] files into several new files.
+
+commit 5cc12925089ba705e4f0af9649bc30b546d900ff
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Dec 14 14:27:05 2006 -0700
+
+ Replace __extension__ with LONGSTRING.
+
+commit 200736ebd8c82b03b781a6c6481d05deb1f0c8bf
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Dec 14 13:59:53 2006 -0700
+
+ Modify _mesa_strdup() so it handles NULL correctly.
+
+commit cc0c8b224880c6d6d5bf09f1d37b4275da476afd
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Dec 14 13:59:25 2006 -0700
+
+ Updates for new linker (merged varying/uniform vars).
+
+commit ef264c2971b43717c8f565f1d39f4149be3aaa85
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Dec 14 13:58:57 2006 -0700
+
+ Assorted fix-ups for the new linker.
+ Disable some of the excessive debug output.
+
+commit d4f7e4cc01a99811565dc8f488cdad972e926b6c
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Dec 14 13:58:32 2006 -0700
+
+ The new linker actually does a few things right now:
+ The varying vars used by the vertex and fragment shader are merged so they
+ agree.
+ Similarly, uniforms are merged (along with constants, etc).
+ The vertex/fragment program instructions are then cloned and rewritten
+ with the newly resolved uniform/varying locations.
+
+commit b2a3a8554a114d93691d5350c234d2022c2c2916
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Dec 14 13:56:58 2006 -0700
+
+ New functions for cloning programs and parameter lists.
+
+commit e7e4181361cf2820761c654555f4751e49978a13
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Dec 14 09:51:54 2006 -0700
+
+ Remove include of s_arbshader.h
+
+commit b56a5261fe43e7afead076b43a29fd34cad65962
+Author: Brian <brian@yutani.localnet.net>
+Date: Thu Dec 14 09:38:06 2006 -0700
+
+ Check in a long-misplaced spec update.
+
+commit fde908444af5c826bce84203a9cb4273d8341ed0
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Dec 14 12:57:59 2006 +0100
+
+ Fix copy-and-paste-o of my e-mail address.
+
+commit e0c9361a7cd16cc008220cf1933fba4371f46753
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Dec 14 12:47:44 2006 +0100
+
+ Avoid failing assertion in intel_miptree_set_image_offset() with cube maps.
+
+ Cube maps still aren't working quite correctly though.
+
+commit 81855f22cd8d8df5bd96fdbd76ff975b6cf4150b
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Dec 14 12:42:51 2006 +0100
+
+ Fix some corner cases in i945_miptree_layout_2d().
+
+ Based on a patch from Keith Whitwell, with some further fixes.
+
+commit 3416ef303af633668cece0b199b4a8b2388c1e2f
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Dec 14 12:32:41 2006 +0100
+
+ Share code to lay out >= 945 style 2D mipmaps between i915tex and i965 drivers.
+
+ Use the i965 version as it has some fixes over the i915tex version.
+
+commit cc1afed6718882d13ab66ba0bbeaab6334e0629c
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Dec 14 10:56:10 2006 +0100
+
+ intel_finalize_mipmap_tree: Add more conditions for rebuilding mipmap trees.
+
+ These are taken from the i965 driver and fix corruption of some mipmap levels
+ under some circumsances with 945 chipsets at least.
+
+ Also flush the batchbuffer after copying data between trees, or some apps fail
+ an assertion elsewhere.
+
+commit 5f8a3e586f21219d02912635a93ce312bcf5987c
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Dec 14 10:49:26 2006 +0100
+
+ intel_batchbuffer_flush: Don't assert cliprects when lock is not held.
+
+ This is a legitimate situation when copying texture data between mipmap trees.
+
+commit 4cb09df015068f6d75e6457b6c98836dd58aaf29
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Dec 14 10:24:09 2006 +0100
+
+ intelTexSubimage: Fix last parameter for intel_miptree_image_map().
+
+commit 9c09259b8bef8f120cc6f4bb1a44f0eae37d71b3
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Dec 14 10:01:43 2006 +0100
+
+ _mesa_swizzle_ubyte_image: Only use single swizzle_copy call when strides match.
+
+ This fixes texture data corruption with glTexSubimage (and probably glTexImage
+ under some circumstances) with the texstore swizzle path.
+
+commit 78a6e054393533a9cb2fe9f5a087d10b0f15bd9c
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue Dec 12 09:23:53 2006 +0100
+
+ mipmap_limits: Fix display of current texture filtering mode.
+
+commit 99878298daf37d02fbabb2dded3f7e7b52cd42fe
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Thu Dec 14 04:34:38 2006 +0000
+
+ Improve SwapBuffers a bit.
+
+commit c95557f48beb132f96cf103822bb433e00131829
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Thu Dec 14 04:12:05 2006 +0000
+
+ 0x4497 doesn't have NV30_TCL_PRIMITIVE_3D_NORMALIZE_ENABLE
+
+commit 15c7e8896ba4c0fedbe3510cb04c44ba3e8d644b
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Thu Dec 14 03:24:57 2006 +0000
+
+ Some more voodoo to get 3D going with a minimal initial context.
+
+commit 2a9950dcb37849a64a59c3a88a858a6f8c33d8b5
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Dec 13 19:20:45 2006 -0700
+
+ Remove unneeded -I directories (3Dlabs headers).
+
+commit 2956a0c8a8395e4d9ae00888aeb88ea5c38b89ad
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Thu Dec 14 00:34:44 2006 +0100
+
+ submit vertex weights to make World of Warcraft maybe happy (bug 8250)
+
+ submit the vertex weights to hw, which will enable broken vertex programs
+ errorneously using them to work. Note however that this will only work
+ if glWeight is used, there is no code in mesa at all to deal with weight
+ vertex array (glWeightPointerARB).
+
+commit 2cbfbcd972677b1afd1f8e479215179b7cab8b96
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Dec 13 15:38:07 2006 -0700
+
+ Obsolete.
+
+commit 33ae886bbd1443412799b506a49dea5b11040527
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Dec 13 15:36:26 2006 -0700
+
+ Remove unused 3Dlabs code.
+
+commit aed4f2cc2c4ed071adabcea433b4fea1ab4c3448
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Dec 13 15:36:00 2006 -0700
+
+ Remove unused 3Dlabs code.
+
+commit 05dab5eaa2703cd3f16f52e9ecc4eee04b969b62
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Dec 13 15:34:10 2006 -0700
+
+ Checkpoint GLSL compiler work. Add new sources, remove obsolete.
+
+commit 1fbb1c8d783e4d2cae08415619bac9ddbf74cdef
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Dec 13 15:33:41 2006 -0700
+
+ Obsolete.
+
+commit a5011d97534cb1c89d1f6a78c75f558b24e6299e
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Dec 13 15:33:09 2006 -0700
+
+ Not needed.
+
+commit 8dcfcad7a2598ba835930aac8f3fd6576e464c1c
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Dec 13 15:31:14 2006 -0700
+
+ Move all the code for computing ctx->_TriangleCaps into state.c.
+ ctx->_TriangleCaps should probably go away altogether someday...
+
+commit cefc983bec26b597a98a53932cd5ea05ded2b35a
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Dec 13 15:06:28 2006 -0700
+
+ Retire old GLSL shader code.
+
+commit 12ef1fbefcee964b715783d3ade6b69b2c699ed8
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Dec 13 15:05:23 2006 -0700
+
+ Checkpoint for GLSL compiler changes.
+
+ In brief:
+ Check for enabled fragment program by looking at ctx->FragmentProgram._Current.
+ New code for varying variables.
+
+commit a328e469d328f8b6fd5afdfc21d576fa1a2c43fc
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Dec 13 14:58:13 2006 -0700
+
+ Checkpoint work for new GLSL compiler back-end.
+
+ Among changes:
+ Remove ctx->FragmentProgram._Active
+ Remove _UseTexEnvProgram
+ Move _MaintainTnlProgram, _MaintainTexEnvProgram, _TexEnvProgram and
+ _TnlProgram fields.
+ Remove/disable old GLSL interpreter code.
+
+commit fe1d01cb398cbcb5b28a0b222845d3865c4d612b
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Dec 13 14:54:47 2006 -0700
+
+ Checkpoint of work for new GLSL compiler back-end. Lots of assorted changes.
+
+commit 8627bf14524a85cedc3d1794fce9f562fd12bf79
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Dec 13 14:49:41 2006 -0700
+
+ Rewrite/simplify most built-in functions to use updated set of __asm instructions.
+
+commit 77b862a84910713760665ca5af5e27fba48466dc
+Merge: ed7fbad 2956a0c
+Author: Nian Wu <nian.wu@intel.com>
+Date: Wed Dec 13 13:49:00 2006 -0800
+
+ Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline
+
+commit aff8e204d205b5d424d2c39a5d9e004caaa1eab1
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Dec 13 14:48:36 2006 -0700
+
+ Checkpoint new GLSL compiler back-end to produce fp/vp-style assembly instructions.
+
+commit ed7fbad2066f846bf9466b13b184a50d6f87f972
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Wed Dec 13 15:22:45 2006 +0800
+
+ Fix bug #93, i965 driver not thread safe.
+ I am not confident of it is 100% thread safe now.
+ bufmgr_fake.c need a total rewrite later
+ (cherry picked from 606632ca27558ee1335be2f4a5906f2baa240a6a commit)
+
+commit 4720cd00507f2c13becf318709f7c1fe24ba5146
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Tue Dec 12 14:56:59 2006 +0800
+
+ fix bug #99.
+ prim_count overflow when there is more than 1 cliprect
+ (cherry picked from 84b958d66fe7d3fe03ed12b493e3f3197f656531 commit)
+
+commit c9795c6ca253b25b2b15967b064f32d9b822a1c8
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Mon Dec 11 17:45:06 2006 +0100
+
+ minstall: Pass correct destination file path to $RM regardless of source path.
+ (cherry picked from 26626c0052cd5442f609659aa9ed25ac78e65b55 commit)
+
+commit bce82efe1fc57f88dc050f5c13508b2e442b7a0d
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Mon Dec 11 17:36:35 2006 +0100
+
+ minstall: Always remove destination file before (re-)creating it.
+
+ This avoids issues with overwriting files that are being used.
+ (cherry picked from d71a5647a3ed4aadd46edfa8a031ffc87d88c5f7 commit)
+
+commit aeda4c589ada4e6304577e55d55b5c50bc274793
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Wed Dec 13 13:25:12 2006 -0800
+
+ ARB_occlusion_query support
+
+commit 696fe3f52e0e7893740b430835f8c95611de3dd3
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Wed Dec 13 13:24:35 2006 -0800
+
+ if (tex width < 4), mipmap calculation will be out of range
+
+commit 6c305c083113075a1f11d5081b8c9dd1b98a7b1e
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Dec 13 08:57:06 2006 -0700
+
+ Remove the xdemo.c program from PROGS since it doesn't work with GLX/DRI.
+
+commit 73eee2402eec80b745141689ecff2d4ecf36035e
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Dec 13 08:30:26 2006 -0700
+
+ Use XDisplayName() when reporting errors (bug 8079).
+
+commit c34d026eb001a9178119ed7cdf70a7311cdc263f
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Wed Dec 13 15:27:17 2006 +0800
+
+ Fix bug #93
+
+commit 5b35132b41427798e02a66a8e39583fffbe9d232
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Thu Dec 7 18:01:13 2006 +0200
+
+ Bug 7260: mach64 texture memory mng cleanup
+
+ mach64 uses its own set of texture memory management routines which are buggy,
+ running a second DRI client kills the first one. This patch ports mach64 code
+ to the stock dri texture managment code.
+
+commit c180678d92e6427c60acd4e984c11d27853e1304
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Thu Dec 7 17:56:47 2006 +0200
+
+ Bug 7861: mach64 with render acceleration should restore texture state
+
+ RENDER acceleration uses texturing, thus when RENDER acceleration is enabled,
+ the mach64 DRI driver should restore texture state when acquiring the DRI lock.
+
+commit eed1a6de4b396ed6305cf34812a269c10c746d3c
+Author: George Sapountzis <gsap7@yahoo.gr>
+Date: Thu Dec 7 17:53:59 2006 +0200
+
+ Bug 7790: Polygons incorrectly clipped by mach64 driver
+
+ un-break strict-aliasing rules
+
+commit de90bbd0b7c7b8569209770e9294fd967e10dac5
+Author: Zou Nan hai <nanhai.zou@intel.com>
+Date: Tue Dec 12 15:00:27 2006 +0800
+
+ fix for bug #99
+
+commit d214138910218a24e8ae427d5ec6ff886dcb98a8
+Merge: 89433fe 26626c0
+Author: Eric Anholt <eric@anholt.net>
+Date: Mon Dec 11 10:50:25 2006 -0800
+
+ Merge branch 'origin' into crestline
+
+commit 26626c0052cd5442f609659aa9ed25ac78e65b55
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Mon Dec 11 17:45:06 2006 +0100
+
+ minstall: Pass correct destination file path to $RM regardless of source path.
+
+commit d71a5647a3ed4aadd46edfa8a031ffc87d88c5f7
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Mon Dec 11 17:36:35 2006 +0100
+
+ minstall: Always remove destination file before (re-)creating it.
+
+ This avoids issues with overwriting files that are being used.
+
+commit 89433fef0dc9b7494904f99dd343042ddbbc3d80
+Author: Wang Zhenyu <zhenyu.z.wang@intel.com>
+Date: Mon Dec 11 00:01:56 2006 -0800
+
+ ARB_occlusion_query support
+
+commit b4d9c0048f036c3c6b7449ab2cd5b22e37a46a2d
+Author: Wang Zhenyu <zhenyu.z.wang@intel.com>
+Date: Mon Dec 11 00:00:51 2006 -0800
+
+ if (tex width < 4), mipmap calculation will be out of range
+
+commit 9a94dae4c292bfc2aa94a3f86865550e2217b870
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Oct 18 00:24:01 2006 -0700
+
+ Avoid branch instructions while in single program flow mode.
+
+ There is an errata for Broadwater that threads don't have the instruction/loop
+ mask stacks initialized on thread spawn. In single program flow mode, those
+ stacks are not writable, so we can't initialize them. However, they do get
+ read during ELSE and ENDIF instructions. So, instead, replace branch
+ instructions in single program flow mode with predicated jumps (ADD to the ip
+ register), avoiding use of the more complicated branch instructions that may
+ fail. This is also a minor optimization as no ENDIF equivalent is necessary.
+
+commit 183abbcd6b48178a3412ee8992131ce8c7e7b69d
+Author: Eric Anholt <eric@anholt.net>
+Date: Wed Oct 11 12:16:09 2006 -0700
+
+ Connect INTEL_DEBUG=sync up to cmd/batch ioctls.
+
+commit 05362682672f5edbd57437fa29c3d5d7d2ad7aba
+Author: Wang Zhenyu <zhenyu.z.wang@intel.com>
+Date: Tue Aug 22 23:29:03 2006 +0800
+
+ adding pci id of Crestline
+
+commit d7b24fec245f90db4b8c66f4f7c167b8f20a9b9e
+Author: Eric Anholt <eric@anholt.net>
+Date: Sat Dec 9 22:35:07 2006 -0800
+
+ i965: Fix a crash with wine by not allocating >1MB on the stack.
+
+commit aadcf1a9ff7e3f92977380d16b4ad2e676d7eb18
+Author: Patrice Mandin <pmandin@freedesktop.org>
+Date: Fri Dec 8 18:56:51 2006 +0000
+
+ Update spot light params also for nv20 and nv30
+
+commit 5c80270b91a3054a00a3c95f7b15b7398c8dccab
+Author: Patrice Mandin <pmandin@freedesktop.org>
+Date: Fri Dec 8 16:40:34 2006 +0000
+
+ grr, always check twice before commit
+
+commit 65c54a685a0ac7d08ad608c25d0e3c318f8be43f
+Author: Patrice Mandin <pmandin@freedesktop.org>
+Date: Fri Dec 8 16:39:12 2006 +0000
+
+ Resend spot light parameters when part of it changes
+
+commit c04c74bc5da454478fd0dbf3b25dd54190ac0942
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Fri Dec 8 14:12:47 2006 +0000
+
+ Skeletal extension handling across chipsets.
+
+commit fe91d00e332b42d0aea9f7aa266f8cc28ac9ec39
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Fri Dec 8 12:36:26 2006 +0000
+
+ NV_44 uses nv30InitStateFuncs too
+
+commit 046ece3a2da89c30c8d1bfa25389b19caad0a64c
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Fri Dec 8 11:51:50 2006 +0000
+
+ state cache is automagically flushed on a normal BEGIN_RING_SIZE
+
+commit e62b2f9c2ec083db40abcf2991201e9e108861f1
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Fri Dec 8 11:45:39 2006 +0000
+
+ Implement a simple nv30Clear, and make sure we get a nouveau_renderbuffer
+ for the depth buffer and not a Mesa renderbuffer adaptor
+
+commit f79360858d4c94629ef543a35e4e44a13419ac0e
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Fri Dec 8 17:05:14 2006 +0800
+
+ fix bug#9237
+
+commit 5449f5a97524cb21194b20d05449d7211faaa51c
+Author: Xiang, Haihao <haihao.xiang@intel.com>
+Date: Fri Dec 8 17:00:59 2006 +0800
+
+ fix bug#9045
+
+commit bda66ac426e7ebd0c9383c665a43bc9dbe3154f7
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Fri Dec 8 07:27:39 2006 +0000
+
+ oops, typo
+
+commit 011377622fa78d141486ba0536a1546cea8cb8c6
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Fri Dec 8 07:15:43 2006 +0000
+
+ Create visuals for modes the ddx provides
+
+commit 1d6f13986c40c014708175ed3289811d03a8c724
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Fri Dec 8 03:04:10 2006 +0000
+
+ oops, we don't want this by default just yet...
+
+commit 4cfb762c3eb2ea9a764c7ba0811c338ef5fba8fe
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Fri Dec 8 03:01:33 2006 +0000
+
+ Some work on buffer handling, most likely not entirely correct and
+ incomplete. But, it works well enough that windows can be
+ moved/resized.
+
+commit 7a10d66590a4cebd2b453218e75fe82b02a3edcc
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Dec 7 11:03:48 2006 +0100
+
+ i915tex: Recalculate viewport related hardware state in intelWindowMoved().
+
+ This fixes vertically displaced rendering with some apps like Google Earth.
+
+ Simplify other parts of the function somewhat.
+
+commit 94136651c3442a1e8ad14d63dedeb296aefd89f1
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Wed Dec 6 18:11:27 2006 +0100
+
+ Make git ignore Emacs backup files.
+
+commit fcc54b5d34a87a79ea5527cc4b615c4236fd247f
+Merge: 7f82674 75e4cfd
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Dec 6 08:20:57 2006 -0700
+
+ Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa
+
+commit 7f82674a7efd4432059d9460c8e1272386112deb
+Author: Brian <brian@yutani.localnet.net>
+Date: Wed Dec 6 08:20:03 2006 -0700
+
+ Updated with new mesa-commit list.
+
+commit 75e4cfd997859806a0bc43ac314f2c65a6085853
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Wed Dec 6 15:14:43 2006 +0100
+
+ Make git ignore some more generated files.
+
+commit b46e359f583e73bec9b4531c3243e93bd46196f3
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Wed Dec 6 14:54:43 2006 +0100
+
+ glxinfo: When direct rendering is not enabled, print some hints.
+
+ If indirect rendering is forced, say how. Otherwise, suggest setting
+ LIBGL_DEBUG=verbose.
+
+ Inspired by http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=379323 .
+
+commit 14f92636b00e6961c419e5457151f44853bd297f
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Wed Dec 6 14:17:56 2006 +0100
+
+ Make git ignore files only generated at build time.
+
+commit 7daf30104617b95d83b014a13259e84e28e6aaf6
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Wed Dec 6 14:06:52 2006 +0100
+
+ Re-generate options.h with Swedish translations.
+
+commit e8c5e0f0b4bff3cb9ac91dc22332eac4c80af949
+Author: Daniel Nylander <yeager@lidkoping.net>
+Date: Wed Dec 6 13:21:02 2006 +0100
+
+ Swedish translation of driconf options.
+
+commit eb9033c72362ac217ef1d38d428a61e473ddd507
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Dec 5 16:36:35 2006 -0700
+
+ Replaced by .html file.
+
+commit 4a1976b2243290d6e23af61c9b3747e878cdd369
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Dec 5 16:36:12 2006 -0700
+
+ Replaced by .html files.
+
+commit 492e406fec1dc6b9d8731ee77ddf0af5cfc0a641
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Dec 5 16:27:31 2006 -0700
+
+ Removed/obsolete.
+
+commit d43ccf61c29a6a72f78da69681208c4397593905
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Dec 5 16:14:39 2006 -0700
+
+ New git repository info, links.
+
+commit 464e36391fb30c1913d5ecb88844391b3c887f7a
+Author: Brian <brian@yutani.localnet.net>
+Date: Tue Dec 5 16:14:14 2006 -0700
+
+ New info about Mesa's git repository.
+
+commit 3867bc97800ef3072a70565559c11badba3ed55a
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sun Dec 3 11:46:18 2006 +0000
+
+ Fix the swtcl module.
+
+commit f95fe81fffa42be756b0fa53b5f3b240006158d2
+Author: Patrice Mandin <pmandin@freedesktop.org>
+Date: Sun Dec 3 10:08:04 2006 +0000
+
+ Remove duplicate nv10 tcl defines
+
+commit d88d895e5a642cffaaf6b654b27686f2eac901d2
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sun Dec 3 09:08:26 2006 +0000
+
+ Merge the pciid work. Use lock step versioning with the drm.
+
+commit b4dcb99cbc21ad1dafa12e31086f9e0d5fc05e81
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Sun Dec 3 02:01:49 2006 +0000
+
+ Fix a copy+paste'o that caused some *very* strange bugs..
+
+commit 45b211f9d4dfd1efa7252c0e5156e5a4117ade3a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 2 19:26:01 2006 +0000
+
+ version bump
+
+commit 4f3ff14a06710066217e9560e46c0d3089486dc0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 2 19:22:16 2006 +0000
+
+ md5 sums
+
+commit eb667b979bc941f05b8f40a2fc39af6fac960ac5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 2 18:20:53 2006 +0000
+
+ remove directfbgl.h file
+
+commit b98c1e4a4b765c02da6c5e8d7a4d2f58330d28e5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 2 18:18:55 2006 +0000
+
+ remove bogus link
+
+commit f10acf8b7890e6cfc4c2c2c8b778cad66f5ab0e4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 2 18:18:41 2006 +0000
+
+ 6.5.2 release updates
+
+commit 50a81669ba60615689edd26853003b64f180189f
+Author: Gary Wong <gtw@gnu.org>
+Date: Sat Dec 2 02:20:05 2006 +0000
+
+ Add i915tex and i965.
+
+commit 7a43a6b4ff8377f260f5525062bc2f66c05570e1
+Author: Gary Wong <gtw@gnu.org>
+Date: Sat Dec 2 01:13:06 2006 +0000
+
+ Structure CopyPixels similarly to i915 do_texture_copypixels, to ease future unification.
+
+commit e99d6746edeb80d73e356230dfe0d8ae8c643b65
+Author: Claudio Ciccani <klan@users.sourceforge.net>
+Date: Fri Dec 1 20:58:26 2006 +0000
+
+ Be aware that the surface storage can change between locks.
+
+commit 73fdecca9fdd9e63aa5e57bcd67911fbb761d318
+Author: Claudio Ciccani <klan@users.sourceforge.net>
+Date: Fri Dec 1 14:12:05 2006 +0000
+
+ Remove DirectFBGL header from Mesa bacause since 1.0.0 DirectFB installs its own header.
+
+ Updated to the current DirectFBGL interface (i.e. added GetProcAddress()).
+
+commit 682393944c72ecfabe8df674af0b48975e90b98c
+Author: Thomas Hellström <thomas@tungstengraphics.com>
+Date: Fri Dec 1 12:41:43 2006 +0000
+
+ Fix an infinite loop error that may occur when many contexts are bound
+ to the same drawable in a multithreading environment. This one slipped out
+ of the texman merge.
+
+commit 40dc5902d39c875d014520a244d842189021d11a
+Author: Claudio Ciccani <klan@users.sourceforge.net>
+Date: Fri Dec 1 11:42:58 2006 +0000
+
+ Fixed compilation errors/warnings.
+ Duplicate destination surface to avoid saving/restoring the rendering state during each Clear.
+
+commit 10cbd089aeb1087a277baf3a7ef0b4d9223970dc
+Author: Sean D'Epagnier <geckosenator@freedesktop.org>
+Date: Thu Nov 30 03:25:28 2006 +0000
+
+ the following improvements to linux-fbdev:
+ 1. updated makefiles to build libOSMesa as well as libGL
+
+ these are improvements to fbdev-glut
+ 1. mouse cursor will timeout and be invisible if not being used
+ 2. do not restore colormaps to truecolor targets, this causes problems at
+ exit on my g450
+ 3. fixed a crash when cleaning up from failure by munmaping what had not
+ yet been mmaped
+ 4. Resize event handling is improved, the resize function is not invoked
+ from a signal handler now.
+ 5. The main loop can detect if it is running very fast (greater than 2khz)
+ 6. keyboard up and special up events are generated from stdin input mode
+ and if it is also not redrawing, it sleeps
+ 7. corrections in escape sequences for function keys for stdin input
+
+commit 21cf414489af84b8bb374f76c36db8f0f1919733
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Thu Nov 30 00:52:54 2006 +0000
+
+ fix mixed conventional / generic vertex arrays which caused a wrong array order leading to very bogus rendering (for instance WoW intro screen mentioned in #8250).
+
+commit e731d8aafa98bbf9d30f83e65f28b7718be55834
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Wed Nov 29 22:16:16 2006 +0000
+
+ check for target instead of program->Target in _tnl_program_string, avoids segfault if program is NULL
+
+commit ac8620f37531a2096841678723d993f3f085cbdc
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Wed Nov 29 19:18:50 2006 +0000
+
+ fix a bug in the sanity code when outputting vertex progs
+
+commit 5785e328e0467a6ca78920e8f553851072087e8a
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Wed Nov 29 16:41:28 2006 +0000
+
+ call Driver.ProgramStringNotify if a ati_fragment_shader changes and pick up the change in the r200 driver accordingly.
+
+commit 3cd06cf8c5ef6a27e36c584e12ba79ed8dacbf28
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Wed Nov 29 01:16:12 2006 +0000
+
+ Add accelerated CopyPixels for non-overlapping, 1:1 blits.
+
+ Submitted by Gary Wong <gtw@gnu.org>
+
+commit 716091a6a0a9a4cc03f0aa61a3a6518b0648f167
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 28 15:46:50 2006 +0000
+
+ indent, comments, etc
+
+commit c058f69daab817476582f8e04aedf8370f76d724
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Tue Nov 28 04:50:54 2006 +0000
+
+ add support to miniglx for updating drawables ..
+
+ requires hacks to DRM to remove MASTER from UPDATE_DRAW and ADD_DRAW
+
+commit 4a6f47c23bf6fcd03220289fb3bdf75238c4b940
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Tue Nov 28 04:50:07 2006 +0000
+
+ Update miniglx support for new memory manager
+
+commit d9a8cc430d2856c42ab74b672d9ca01a7001e015
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 27 17:48:59 2006 +0000
+
+ comments
+
+commit c0815bc01fc27185d2f6bedefe49a286dedcbed9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 27 17:40:07 2006 +0000
+
+ remove assertions to match i915tex code (bug 8726)
+
+commit 744c3a367b8adeb54433a8636813b8f7bfb4b8bc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 27 16:50:10 2006 +0000
+
+ get rid of meaningless XFree86LOADER test (bug 9144)
+
+commit 3e6ef125f06cf036831063e46ee08bd17c4c4417
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 27 16:33:43 2006 +0000
+
+ replace check for XFree86LOADER and IN_MODULE with XFree86Server (bug 9144)
+
+commit 98818f159baeaeba45d656d612b64b2f22c63753
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Mon Nov 27 01:57:37 2006 +0000
+
+ - Add InitInstruction to hw shader backend, and remove SetUnusedSource.
+ - NV30FP/NV40VP: Clear any fields before we OR new values into them
+ - NV40VP: It seems that it might be possible to write a result reg at the
+ same time a temp is written. In InitInstruction, initialise OUT_DEST to
+ OUT_DEST_TEMP so result regs don't get clobbered by default.
+
+commit 2f411b0a8bf9af96d7ef582564d8e462abd0f28d
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Sun Nov 26 13:18:41 2006 +0000
+
+ Fix RSQ emulation
+
+commit 6ff3d2577ec1099a90cce9292118814c00ab0e6a
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Sun Nov 26 10:19:44 2006 +0000
+
+ Fix progs/fp/tri-xpd
+ Fragprog consts are inlined, so make sure we update *all* occurances of a
+ param :)
+
+commit 85365e6aa4608ea684ff770def7f0f7b354173df
+Author: Tilman Sauerbeck <tilman@freedesktop.org>
+Date: Sun Nov 26 09:39:21 2006 +0000
+
+ Bug #6044: actually delete the texture object in mgaDeleteTexture
+
+commit 9c9e6abbf82fbf591575a9c352f86721bc72aa90
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Sat Nov 25 09:58:35 2006 +0000
+
+ Incomplete shader stuff, should mostly work for NV40. Other cards, not so
+ much..
+
+commit 902b26a0d670ca7d2f37103d1c4de242694ff337
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Sat Nov 25 06:02:10 2006 +0000
+
+ fix scissor
+
+commit 291155172733b08238d77440ae935f82bff70bf9
+Author: Patrice Mandin <pmandin@freedesktop.org>
+Date: Fri Nov 24 23:34:03 2006 +0000
+
+ nv10,nv20,nv30: send correct values for spot light direction X,Y,Z and
+ cutoff parameter C
+
+commit 78e5f414cbe0db6600609092390d795d2039d963
+Author: Patrice Mandin <pmandin@freedesktop.org>
+Date: Fri Nov 24 23:23:18 2006 +0000
+
+ nv10: rename spot light coefs like nv20,nv30
+
+commit 16e7ca9d72f7d1c24a12014ac482948e17be8d3f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 24 19:21:42 2006 +0000
+
+ call slang_variable_construct() inside slang_variable_scope_grow()
+
+commit e49d06e61955208b9cd3e18469034e7447394b95
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 24 19:01:14 2006 +0000
+
+ new slang_variable_scope_grow() function
+
+commit d4c4bdfa1e6bf35c84c4a2d5e18a70dbff11b101
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 23 16:56:55 2006 +0000
+
+ const correctness, clean-ups
+
+commit f6ed86a1a5443d9eb22c6acb9f341713a47137f2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 23 16:52:18 2006 +0000
+
+ indent
+
+commit 308b85f29f191409e42935a3ccd5c502bdf70608
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 23 15:58:30 2006 +0000
+
+ fix several program-related bugs (bug 9136)
+
+commit 897b9c5cb2e9d4d155b07dc6cf25de648fb3bf20
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Nov 23 10:13:22 2006 +0000
+
+ Haihao Xiang's edgeflag patch.
+
+commit c4649208f085fb9137c6b52dcdbdfa2810a0691b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Nov 23 10:12:05 2006 +0000
+
+ Haihao Xiang's pointsize initialization patch.
+
+commit 0faf23c26aca46568c32272bc189356e2e9fd373
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Thu Nov 23 09:21:44 2006 +0000
+
+ That was really stupid.
+
+commit 50b3f5654e24f0848cda5dc60f21b2c3256b9437
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Thu Nov 23 01:12:41 2006 +0000
+
+ realign some of the i830 code from the i915
+
+commit 17e97ea8692cccb6d526579c489b7a9c647468cf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 23 00:44:14 2006 +0000
+
+ fix typo
+
+commit ba02b07c754f8c7df834e8ebcb55f784a58889ea
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 23 00:43:23 2006 +0000
+
+ fix indirect glMap* bugs
+
+commit 14c427573e69e7555a7929c5569c824633415b82
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 23 00:42:25 2006 +0000
+
+ s/ource/source/
+
+commit d426c13e46b09239eb74c716bac27a6bef9ffbde
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 23 00:41:44 2006 +0000
+
+ move comments
+
+commit dfc98c0beccadf876da4e09614c7264b765ba527
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 23 00:38:50 2006 +0000
+
+ indent
+
+commit d98e1f3761860ad453a9acb446efeee6af97f00a
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Thu Nov 23 00:09:16 2006 +0000
+
+ fixup draw/depth region handling in i830 along lines of i915
+
+commit 6ab6518735b6c98b800ed601dfe217248def43ff
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 23 00:09:00 2006 +0000
+
+ clean-up, comments
+
+commit 0cb0a04eca51dc75441a9744e520070511a7a00b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 22 23:58:47 2006 +0000
+
+ indent
+
+commit 46e454863ea9dbe8618a67fb5b4b4a8c51607995
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Wed Nov 22 22:07:35 2006 +0000
+
+ decrease the current vertex count by 1 if an uneven number of vertices is copied by _tnl_copy_vertices. Otherwise, since in this case it will copy an extra vertex to avoid problems with vertex order in the new buffer, one triangle will be drawn twice. This fixes bug #9062.
+
+commit 40c7cb7e1768cd694bdfc6864cf3a55254ffce56
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 22 21:59:28 2006 +0000
+
+ const correctness
+
+commit 98ea0a3f1fe0cff912e4f6ac74c4d88a7eb905bf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 22 21:49:14 2006 +0000
+
+ new comments
+
+commit f9f4625367a7b8d462f4af67aabf61c29f11f500
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 22 21:34:47 2006 +0000
+
+ clean-up, comments
+
+commit 958a8af3b01be3d600b90acef2dd7761fb2d7141
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 22 21:34:30 2006 +0000
+
+ reindent
+
+commit 982ceb6773e2153c1fdc21a016e79c2d94115d76
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 22 21:33:44 2006 +0000
+
+ fix comments
+
+commit 7398748addd3e7a776f30f30376f4ed37f77da8d
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Wed Nov 22 20:15:56 2006 +0000
+
+ Some missing state init
+
+commit 22b74ff2b7995ad9be806695c532a750a102888c
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Wed Nov 22 19:37:21 2006 +0000
+
+ fix the gl version test
+
+commit b0d8b137771e51920ead94191ac9e6425fbfc2e3
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Nov 22 19:05:20 2006 +0000
+
+ Add tdfx updates to release notes.
+
+commit 7f9afedeb5d65b2bb85c13aa3896b8b49bb49f5f
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Wed Nov 22 17:54:31 2006 +0000
+
+ remove unneded call to _tnl_invalidate_state() in _tnl_need_projected_coords(). Connected to bug #9103, though that bug got fixed without this change too.
+
+commit 9540c9c04fa0b691202f419520d9c4d8d495588d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 22 16:01:48 2006 +0000
+
+ GLX protocol fixes for glMap* functions (bug 8899)
+
+commit 96c0a6de25de2ba8f9601c13f67c22e1aff17b29
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Nov 22 15:27:58 2006 +0000
+
+ Prune incoming state to the atoms of interest. Hopefully this will
+ prevent driver-initiated statechanges in the middle of
+ DrawElements/DrawArrays from disturbing this code.
+
+commit b72fbcbe63bd53460da07ce840094924f04d38e0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Nov 22 13:53:21 2006 +0000
+
+ Another fix
+
+commit 96228d952de153424d66ee87ceb8f06dc2b5ca46
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Nov 22 09:35:19 2006 +0000
+
+ Set _NEW_LIGHT when materials are present in display lists also.
+
+commit c8238aa0ff6c7604157537268ec80fb3285550e7
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Nov 22 09:34:55 2006 +0000
+
+ Move setting of _NEW_LIGHT to only occur when materials are present.
+
+commit 49a3ea81108cf776d8f61844d4f49b6b7993a25f
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Tue Nov 21 23:37:21 2006 +0000
+
+ fix segfault with ATI_fs when trying to use a not enabled texture unit (bug #9110).
+
+commit 3e4a5c0642c05b25e3987c762e07c04eec3f0603
+Author: Patrice Mandin <pmandin@freedesktop.org>
+Date: Tue Nov 21 21:44:16 2006 +0000
+
+ Enable nv10 tcl state
+
+commit ac09b567a8257960677be742cc92e3c9a4bd0fc7
+Author: Patrice Mandin <pmandin@freedesktop.org>
+Date: Tue Nov 21 21:15:49 2006 +0000
+
+ nv10,nv20: nvX0ShadeModel static function
+
+commit 677666eb70faea6ac30d69f99f2c4b776e9954bf
+Author: Patrice Mandin <pmandin@freedesktop.org>
+Date: Tue Nov 21 21:11:58 2006 +0000
+
+ nv10,nv20,nv30: color light components renamed from a,b,c to r,g,b
+
+commit 81ae0bd249d1da31e57123583a1bcec154c471cc
+Author: Patrice Mandin <pmandin@freedesktop.org>
+Date: Tue Nov 21 20:38:14 2006 +0000
+
+ ah, correct revision now
+
+commit 4ed78e20a4aa23d11e67a29a99aafb27e7f9f661
+Author: Patrice Mandin <pmandin@freedesktop.org>
+Date: Tue Nov 21 20:29:09 2006 +0000
+
+ update from renouveau
+
+commit b5e800068b8a5102bb7a7a34f1fa1b890ff9d443
+Author: Patrice Mandin <pmandin@freedesktop.org>
+Date: Tue Nov 21 19:56:15 2006 +0000
+
+ nv10: update state
+
+commit 8f008056b2e6347850ec52fdd6da7928b56c4ef9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 21 16:04:22 2006 +0000
+
+ list header files in sources files (Dan Nicholson)
+
+commit f332da515cdb8cacc3fdba8a74267d015b7c08be
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Nov 21 14:43:30 2006 +0000
+
+ blend, logicop changes for intelEmitCopyBlit backported to i915
+
+commit a75440bcf04efb7a4840e9b0d1f0903b40b952bf
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Tue Nov 21 14:03:06 2006 +0000
+
+ nouveauCreateDmaObject
+
+commit b1c102d37bb3c273a2623358cb8ebff00bdfb65e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Nov 21 13:22:34 2006 +0000
+
+ More fixes, glean seems to run now.
+
+commit fb6545070418820609a57f4dd975b41c93d499a9
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Tue Nov 21 13:07:48 2006 +0000
+
+ Remaining state cache changes
+
+commit 0ea45b1ad822ebdce2af3faef77ed776ca32d46b
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Tue Nov 21 12:43:16 2006 +0000
+
+ Add the state caching mechanism. It seems to work, from what I can see.
+
+commit 33d2835182f5f8a1f283811cbd13afe79cf6ea21
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Tue Nov 21 10:59:31 2006 +0000
+
+ Don't define as const's to avoid compiler optimization & warning.
+
+commit 64920ed10ac702ed9be33d4045faa71f06e05029
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Nov 21 10:50:01 2006 +0000
+
+ Fix more typos.
+
+commit 46c04525d2282fc7fb5632de8348fef379c71120
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Nov 21 10:43:16 2006 +0000
+
+ Gary Wong's patches for CopyPixels Logiop (enable) and Blend
+ (disallow). Slightly cleaned to disallow on all blend states for code
+ consiseness and turn a table lookup into a function to match other
+ code in the driver.
+
+commit f58ec215c5669f36c2649acc9cbeda7383b86879
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Nov 21 10:16:37 2006 +0000
+
+ Gary Wong's fix for 64 bit cleanness of vertex program inputs bitmask.
+
+commit d6f89107ba42724803321c9819f9c836d508b899
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Nov 21 10:11:02 2006 +0000
+
+ Commit Gary Wong & Keith Packard's changes for bug 8867 -- adjust code
+ after repositioning of INDEX value in BRW_ATTRIB enum.
+
+commit 0570fcfd93a29dcd9d41bc709edd78a7c1b4e1e7
+Author: Sean D'Epagnier <geckosenator@freedesktop.org>
+Date: Tue Nov 21 09:35:49 2006 +0000
+
+ Added correct include files to files,
+ No longer modify cmap if the device is truecolor (messes up dual monitors
+ with vt switching)
+
+commit 0337e5635f8d18fdf9dac734141e5302db6d1d49
+Author: Sean D'Epagnier <geckosenator@freedesktop.org>
+Date: Tue Nov 21 08:48:44 2006 +0000
+
+ glTexCoord3dv was not using third coordinate
+
+commit a20cf73053c2c834abe971c9dc824f14c31884fb
+Author: Jeremy Kolb <jkolb@freedesktop.org>
+Date: Tue Nov 21 02:47:13 2006 +0000
+
+ More state.
+
+commit 25e495d6050d3fbf2745ba78a85b0a68b3734d91
+Author: Rune Petersen <rune@megahurts.dk>
+Date: Mon Nov 20 19:57:10 2006 +0000
+
+ Disable fragment program debug messages.
+
+commit afb49fef9033d84d989d62928a03615ec5dbda04
+Author: Jeremy Kolb <jkolb@freedesktop.org>
+Date: Mon Nov 20 17:25:54 2006 +0000
+
+ Add state initialization to context creation.
+
+commit b24320bb309ab8fde11160d4e0f281204ca84a61
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 20 17:09:04 2006 +0000
+
+ added new 'sources' file to tarball (might not get used though)
+
+commit 479aca6bf10b9546deb523f42bc3be48b17081cf
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Nov 20 15:15:24 2006 +0000
+
+ Fix typos that meant vbos were never unmapped
+
+commit 7cc5522f86026a5058e4594a51685e96de2ca91a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 20 15:14:35 2006 +0000
+
+ fix glPopAttrib/color material bug #9091
+
+commit d2fc1c8384da403930e8d4b9ca95da55846d1696
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Mon Nov 20 14:04:04 2006 +0000
+
+ Committing in .
+
+ Solve small definition problem for OpenVMS
+
+ Modified Files:
+ Mesa/src/mesa/shader/descrip.mms
+
+commit dd60eaa6d9f61735141976db0e83d25176ac73c7
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Nov 20 11:49:58 2006 +0000
+
+ Don't perform dangling attribute check on POS attribute. It can't by
+ definition dangle (every vertex has a position). However
+ save->currentsz isn't properly maintained for this attribute, as there
+ is no current position value to track. Based on patch from Haihao Xiang.
+
+commit 87f602dd820b8cca5293bd30ba356123ab0f9e36
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Nov 20 11:45:34 2006 +0000
+
+ Don't perform dangling attribute check on POS attribute. It can't by
+ definition dangle (every vertex has a position). However
+ save->currentsz isn't properly maintained for this attribute, as there
+ is no current position value to track. Reported by Haihao Xiang.
+
+commit 50c85daf02b90fcee239172d7067b582680d2169
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sun Nov 19 23:47:24 2006 +0000
+
+ Cleanup the swtcl code.
+
+commit ac208c95cdef7711a9f4ba1a451dbb497912a40e
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sun Nov 19 23:39:16 2006 +0000
+
+ Use NONINC_METHOD for vertex data.
+
+commit 4165a1097243db8478650aefebdd4a39b3bd27f5
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sun Nov 19 23:16:29 2006 +0000
+
+ More work on the swtcl
+
+commit fe2e6100ece780437c622c8469efbec2b98f7a6f
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sun Nov 19 22:16:54 2006 +0000
+
+ More fifo debug fixes
+
+commit a8d34992eac7650aff3d1a2f935ff6369684bc24
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sun Nov 19 21:51:28 2006 +0000
+
+ Oops.
+
+commit 3613eba085dea61d11cda61d1f70bf9824282661
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sun Nov 19 21:29:41 2006 +0000
+
+ Fix the fifo debugging feature.
+
+commit 327e2c9220772724173ae7c53f4215400ed94355
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sun Nov 19 20:18:45 2006 +0000
+
+ New swtcl implementation. It's simpler than the previous one (doesn't use
+ templates) and it is probably faster as well
+
+commit a7139168d29e2cb112227ee6f2b5967c34eb91bd
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Sun Nov 19 16:05:59 2006 +0000
+
+ Don't bother touching lighting stuff if shaders are in use
+
+commit 80a0ce37df7b7afef9cd1994527c5ed472c5c4cd
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Sun Nov 19 15:52:18 2006 +0000
+
+ Fix nv30LineWidth, hw expects a ubyte.
+
+commit a2a747704d1b9572532ec0afd0ede6a4308ef032
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Sun Nov 19 15:46:31 2006 +0000
+
+ Avoid sharing subchannels with the ddx until context switching is done
+ properly..
+
+commit b3fd1556f9e94d6d6f6d3933c404fc37aec7b1a3
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Sun Nov 19 15:45:36 2006 +0000
+
+ More FIFO fixes.
+
+commit 08a0946fcc51a0980d1d7a06e11d72ef71efafcf
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Sun Nov 19 14:10:54 2006 +0000
+
+ Stupid bug..
+
+commit 82d0fd26d49f98517d3668dc1c78a7b4ac8e48e6
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Sun Nov 19 12:00:59 2006 +0000
+
+ poke the correct FIFO regs
+
+commit 2164cf77306856f7d20965354b4eeff3736ddf64
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 18 17:45:01 2006 +0000
+
+ move fix-up code into new slang_fixup_save() function
+
+commit 4d4373bb0fa06093d82796950ede5a26fbfdd1d4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 18 17:44:28 2006 +0000
+
+ delete shader objects when destroying shared context state
+
+commit a89e063149e183760e8dc2783922cbd389fc106e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 18 17:23:30 2006 +0000
+
+ comments
+
+commit 61068ba46bbf2c2bb2b1e434602a9361125e76e5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 18 17:22:44 2006 +0000
+
+ reindent
+
+commit 63c119f77158b7b009e840600622c1ed40011b46
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 18 16:58:14 2006 +0000
+
+ additional fixes for mipmap building (Greg McGarragh)
+
+commit c478f0d25b96fc8992e6de3d6df27783a9418523
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 18 16:44:30 2006 +0000
+
+ name mangling update/fix
+
+commit bdb1c3882f9b80d804040a8280aa35a3037c303d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 18 16:43:13 2006 +0000
+
+ need to specify Xlibs with APP_LIB_DEPS
+
+commit 1e04ff1741b4631c8c37d7cac3706760374b48c1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 18 16:40:09 2006 +0000
+
+ fix mgl name mangling problem
+
+commit ae9c633a21a20394f39cd3c8adfa34d212945fae
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sat Nov 18 00:36:22 2006 +0000
+
+ More state functions
+
+commit e722e3480f3a5b975c05b584f9acef222c2c9d6b
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sat Nov 18 00:19:22 2006 +0000
+
+ Add nv20_state.c ; hook nv10_state.c into the build ; do the renaming
+ required by the renouveau changes.
+
+commit 8532b6e0a56b09e03e034e37850589d26c20805b
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Fri Nov 17 22:11:13 2006 +0000
+
+ Small unneeded nv03 fix
+
+commit 08020927e826068a1ebc208e63c6a0d53711e96e
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Fri Nov 17 21:58:02 2006 +0000
+
+ Use RENDERINPUTS macros to access render_inputs_bitset
+
+commit 6c9cc81601e87b87f11b89669175dc5bbae4c36b
+Author: Rune Petersen <rune@megahurts.dk>
+Date: Fri Nov 17 19:12:42 2006 +0000
+
+ fragment.position support
+ World position is calculated in the vertex shader and passed to the
+ fragment shader via an unused texcoord.
+
+commit 0f614df7974a7126324a7fa5d80ee5c588a76f03
+Author: Rune Petersen <rune@megahurts.dk>
+Date: Fri Nov 17 19:08:05 2006 +0000
+
+ r300_select_vertex_shader4:
+ Makes the vertex program output from the fragment input.
+ It makes the driver capable of catching output-input mismatches safely. Primarily
+ based on some of Aapo Tahkola's code.
+
+commit 08d64dfbf623e21e4647ea8546283c42a15acecc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 17 19:06:32 2006 +0000
+
+ reindent, doxygen-style comments
+
+commit 83f52ffc529375c36f8822370739da587797e45b
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Fri Nov 17 18:55:34 2006 +0000
+
+ Comment and indent the atom functions.
+
+commit c15f6a991d4e96f3b9dcde655dd3a65be610f4f6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 17 15:59:19 2006 +0000
+
+ gluBuild2DMipmaps() fixes
+
+commit 8f28453987ab0d38897be6d0cbbfa0d3d0eb05d9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 17 15:57:31 2006 +0000
+
+ fix some gluBuild2DMipmap bugs (Greg McGarragh)
+
+commit a4806c994e796f06675ebf8860fafc3dffe9ed05
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 17 15:23:32 2006 +0000
+
+ add STATE_INTERNAL_DRIVER, etc (Rune Petersen)
+
+commit 10172f7485367182a5745a2114ed7e90830682f8
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Fri Nov 17 04:50:37 2006 +0000
+
+ Adapt FIFO code to deal with cases where the base GET/PUT value isn't 0.
+
+commit 9daf0812a15ed7df0e3a329019290faed58d21ef
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Thu Nov 16 23:43:39 2006 +0000
+
+ jkolb pointed out that face can also be FRONT_AND_BACK. Added stencil funcs
+
+commit 7984c70070ea3fee1600095b1f32b0f8adf2ad31
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 16 23:34:02 2006 +0000
+
+ revert prev check-in
+
+commit 0da68e2e6e2756e26040df414bc7d1719c884646
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Thu Nov 16 23:24:20 2006 +0000
+
+ Add nv30InitStateFuncs
+
+commit 523f5cfeb537e52baa892148b7b050fb076ef1b0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 16 22:31:34 2006 +0000
+
+ Add a lot of const qualifiers for const-correctness.
+ New comments, misc clean-ups.
+
+commit 1f0c86ee350f168a5b7420bfda7d80365432c811
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 16 21:58:35 2006 +0000
+
+ reindent
+
+commit 01a5a9afd8884e0015d6f155192621b76fe8d94c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 16 21:40:54 2006 +0000
+
+ remove unused imesa local var to silence warnings
+
+commit 3dedeaa0557f17770f6ab7f163dcdde8e93609b8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 16 21:28:35 2006 +0000
+
+ Initial implementation work for CAL, RET, and BRA instructions for fragment
+ programs.
+
+commit fa941e4267385427c27b5a35c29156b342cc3868
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 16 20:59:11 2006 +0000
+
+ disable yesterday's _mesa_add_named_constant() change for now
+
+commit cba90c17adfaa18b6240a553939d2cd7a63c80d7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 16 20:58:26 2006 +0000
+
+ fix bug 9046
+
+commit 9021df2d2ad348e1299a74a8ac8df2c13325538c
+Author: Patrice Mandin <pmandin@freedesktop.org>
+Date: Thu Nov 16 19:50:56 2006 +0000
+
+ nv10 state copy/pasted from nv30 state
+
+commit f7436f4c8a8864de934d564d7a5cba813bf72a83
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 16 16:13:55 2006 +0000
+
+ regenerate from gl.h
+
+commit bb69d3af36482a2b69731733de727a31ab75b0ab
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 16 16:13:43 2006 +0000
+
+ remove obsolete GL_MESA_trace stuff
+
+commit 7438a78cf4c220be18134a1d8dde7c776edbbbd3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 16 16:12:10 2006 +0000
+
+ use LONGSTRING to silence warning
+
+commit ebe4c893f8c0e80fe474743574a377d460b5f3e8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 16 14:44:23 2006 +0000
+
+ fix glDrawPixels(GL_COLOR_INDEX, GL_BITMAP) bug 9044
+
+commit b97947972193b6b004a0ee49da31146230d43dd8
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Nov 16 02:33:38 2006 +0000
+
+ Make sure vbo's are mapped before accessing their contents in
+ api_arrayelt.c. Reported by Haihao Xiang.
+
+commit 82eeb62a31ec96a55ba2349397b8e8549e07a6bb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 16 00:58:44 2006 +0000
+
+ reindent, clean-up
+
+commit 0c6723aee564a7b320ca122c3c9b003c863cc714
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 15 23:38:02 2006 +0000
+
+ Add a size parameter to _mesa_add_unnamed_constant() and
+ _mesa_add_named_constant() to indicate vector size (1, 2, 3 or 4).
+ Always 4 for now...
+
+commit 699a33ea77ecd164d7435811258eee96bd37aaa2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 15 23:19:52 2006 +0000
+
+ Add new _mesa_lookup_parameter_constant() to search for a GLfloat4 constant
+ in a parameter list.
+ Use it in _mesa_add_named_constant() and _mesa_add_unnamed_constant() to
+ avoid duplication of identical constants.
+
+commit 408e01b9394d39ecd7755ca63b36017bbc0521d0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 15 21:52:20 2006 +0000
+
+ reindent, add some comments
+
+commit 4a12160e8f0eec446158212e869e0b13e9c6e823
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 15 21:41:24 2006 +0000
+
+ reindent
+
+commit adbbf94fa4d30a9c0b612d9406cc8bd0f61ea019
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 15 21:39:57 2006 +0000
+
+ indent, comments
+
+commit 2d376a61f0f2524d4f4bc75fccc7134e6817b819
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 15 21:39:32 2006 +0000
+
+ s/int/GLboolean/
+
+commit 82a9ba92b4d50dec49c8301a4da53cb2b10fbcf9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 15 21:38:26 2006 +0000
+
+ improved error mesages
+
+commit 7c279f4dd7cd9b15c7eca284fb333fada4e74be4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 15 21:35:06 2006 +0000
+
+ fix casts to silence warnings
+
+commit 11a54c38f7d9c84da591ff084590c9928ac4ee0d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 15 19:54:25 2006 +0000
+
+ #define LONGSTRING __extension__ in imports.h and use it to silence gcc
+ warnings about long string literals.
+
+commit 12e710c8501df502a61638612f75f738f7796b89
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 15 18:56:48 2006 +0000
+
+ Comments for operations.
+
+commit 8f6a50a49cd3b7479d1cfcf195b53e6d9b0800dd
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Wed Nov 15 17:45:05 2006 +0000
+
+ Remove use of GetBufferSize (depreciated).
+
+commit 222930461f8afef0e130b435a91264a0d4473251
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 15 14:59:05 2006 +0000
+
+ more bug fixes
+
+commit 6cc5a82206503190c2387266b4ad1b075d9dec62
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Nov 14 14:22:43 2006 +0000
+
+ Make sure RENDER_FINISH is called on the zero pixel case. Reported by
+ Haihao Xiang.
+
+commit efa91b9a8f39dd49a59e4fc5524657f7cd5ae8ac
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Nov 14 00:10:34 2006 +0000
+
+ Enable GLX_SGI_make_current_read for tdfx.
+
+ Implement GLX_SGI_make_current_read for tdfx. Remove annoying debug
+ printf in tdfxSwapBuffers. Updated a comment in drirenderbuffer.h to
+ note that the tdfx driver uses a flag that was previously only used by
+ s3v.
+
+ This code was tested with glxgears, wincopy, and manywin.
+
+commit 0b69e4837ebf795ba0dbd56d610fc3bd94363f34
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Nov 13 23:34:35 2006 +0000
+
+ Clean-up compiler warnings.
+
+commit 37ce9b30e904e0dd3d4734792eb7488a48acdebb
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Nov 13 22:54:43 2006 +0000
+
+ Implement GL_ARB_occlusion_query.
+
+ Based on the old code that implemented GL_HP_occlusion_test, implement
+ GL_ARB_occlusion_query. This code passes progs/demo/arbocclude.
+
+commit ce526de6ffea41d70f6efb6608ffe308028cb47b
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Nov 13 22:51:11 2006 +0000
+
+ tdfxDDWriteDepthPixels can be called with mask == NULL.
+
+ Via depth_test_pixels (swrast/s_depth.c), tdfxDDWriteDepthPixels can
+ be called with mask == NULL. Test for this condition in the places
+ where mask might be dereference. This matches the behavior of several
+ other functions in this file with a 'const GLubyte mask[]' parameter.
+
+commit 038bd400e204bcfd9e0926b7e98122525d98f4d1
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Nov 13 21:53:04 2006 +0000
+
+ Major clean-up of tdfxDDGetString.
+
+commit 7fbe6a5c5155aa2f123a09ebba62b8c4dd8cda84
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Nov 13 21:21:40 2006 +0000
+
+ Eliminate use of deprecated GetBufferSize interface.
+
+commit e7ad10587ada74570a13c503aae274bc187910d3
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Nov 13 20:54:51 2006 +0000
+
+ Fix "3D driver claims to not support visual ..." warnings.
+
+ In 16-bit color modes the 3D driver was erroneously creating fbconfigs
+ with 16-bits of accumulation alpha. Since the 2D driver always
+ generates modes with zero bits of alpha, the lists of fbconfigs did
+ not match and warnings were generated by libGL.
+
+commit 47695f06894ed28602ad9ec1449739e658498c82
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Mon Nov 13 16:01:03 2006 +0000
+
+ Fix segfault in nouveauCalcViewport
+
+commit d5d00cf8c93d607876f66ca87e82087497f47d4a
+Author: Jeremy Kolb <jkolb@freedesktop.org>
+Date: Sun Nov 12 18:18:02 2006 +0000
+
+ Add include guard.
+
+commit 2af374716f351421b978050b113e93abae0e2dc8
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Sun Nov 12 08:38:44 2006 +0000
+
+ Some more nouveau_screen.c setup, not sure how correct it is yet though..
+
+commit b8e05366e192ab4ebaf69dc8a4a18da4e65cbf80
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Sun Nov 12 02:06:30 2006 +0000
+
+ We need nmesa->driFd and friends setup before we call nouveauFifoInit
+
+commit 6464787bfd1888ea93ebfe53528ceac3c27c993f
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Sun Nov 12 02:05:40 2006 +0000
+
+ Dont call exit() from the DRI driver, with AIGLX this is particularly nasty
+
+commit d037c84c33d6a164dc8f76dab4e352054a01f32f
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Sat Nov 11 20:00:29 2006 +0000
+
+ fix typo
+
+commit f65a4b8a8dd9f2dfb7f9fb0ce2b1a3ef3382aa84
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sat Nov 11 18:25:00 2006 +0000
+
+ Some nouveau_screen work for darktama
+
+commit 4f61fd18b2ba2dae38c68f4facb80ac2016d50ac
+Author: Jeremy Kolb <jkolb@freedesktop.org>
+Date: Sat Nov 11 16:48:14 2006 +0000
+
+ Fill in nv30PointSize and nv30Viewport.
+
+commit 994ea9556f7fb55546c6426639ebb4cc3970a5d5
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sat Nov 11 12:01:48 2006 +0000
+
+ Fix the texture init function name
+
+commit 0850289d8c66f75ac72347b1bf4bf6d15fb60139
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sat Nov 11 11:25:08 2006 +0000
+
+ Add the GL_LIGHING enable
+
+commit f82bc9110b3b06f3313e584e860d0e41d11965f0
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sat Nov 11 00:00:45 2006 +0000
+
+ Some work on nv30 state, heavily based on jkolb's work
+
+commit 466d4a1dd0ec3af1fc689e715bd4fc682d5897b6
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Nov 10 21:11:39 2006 +0000
+
+ Added information about added GLX_SGI_make_current_read support
+
+commit ded5517bd5d5e15def688a2b0dd2e2c89713424a
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Nov 10 21:06:23 2006 +0000
+
+ Bump driver date.
+
+commit 5c384721522d6a2f9a500e26f0805dda77a31126
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Nov 10 18:57:30 2006 +0000
+
+ Refactor savageXMesaSet{Back,Front}ClipRects.
+
+ Refactor savageXMesaSetBackClipRects and savageXMesaSetFrontClipRects
+ into a single new routine called savageXMesaSetClipRects. This allows
+ a few cleanups in the code.
+
+commit 6e2c95253718e9ba294a788ba3bb37b7c9603409
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Nov 10 18:47:22 2006 +0000
+
+ Enable GLX_SGI_make_current_read.
+
+ Eliminate use of deprecated GetBufferSize interface. Keep framebuffer
+ state associated with the read-drawable and the draw-drawable up to
+ date.
+
+ Tested with progs/demos/wincopy.
+
+commit 0a3a1c6ae9294634b3b3f496c8bd428b79de8cfa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 10 12:47:56 2006 +0000
+
+ fix -noprefix option for Solaris (bug 7722)
+
+commit 28623163098a92bf43af882fbc63e9ce9f910a26
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Fri Nov 10 00:32:35 2006 +0000
+
+ Fix up texture compression at least Get and TexImage, not too sure about
+ how to fix SubTexImage with compressed textures
+
+commit d7815f59134b0fb5cb3b56b72b22ba55002265ac
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Nov 10 00:14:30 2006 +0000
+
+ Implement GLX_SGI_make_current_read
+
+ Discontinue use of the old GetBuffeSize interface. Track both the
+ current read-drawable and the current draw-drawable. After moving
+ some context state to via_rednerbuffer, GLX_SGI_make_current_read can
+ be enabled.
+
+ The extension works, but the wincopy test prodcues a black window for
+ the destination window. After messing around with the window and
+ looking at the code, I believe the problem is in the handling of
+ buffer swap requests on a drawable that isn't the current draw-drawable.
+
+commit 3ce4adaa8fc0cb067dd9da3f358556490954f776
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Nov 9 22:28:09 2006 +0000
+
+ Remove unnecessary setting of GetBufferSize to NULL.
+
+commit c6f1d4c3a00ad6d0b82c1a0c32a6be01986c9c02
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Thu Nov 9 20:47:22 2006 +0000
+
+ Fix some && (logical) that should clearly have been & (bitwise).
+
+commit 4bb39f5899e7f004f6e06cb2f734d7847ab38dda
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Wed Nov 8 22:25:52 2006 +0000
+
+ remove drm stuff from libGL, this is now in libdrm 2.3.0
+
+commit 20802a7b695cdb580c479352bc3eab84d1481b2c
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Tue Nov 7 17:37:22 2006 +0000
+
+ Commit a small nitpick
+
+commit 0ddd50c8aec1ae6dfe2d649972abf8f36a4e103e
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Sun Nov 5 23:13:19 2006 +0000
+
+ fix vp lockups due to incorrectly set up / emitted attrib inputs.
+
+commit aee30f3f9d4c2936ddb735e07ec5988444e0a89e
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Sun Nov 5 22:21:11 2006 +0000
+
+ fix using VERT_ATTRIB_WEIGHT instead of VERT_BIT_WEIGHT when assigning vp inputs.
+
+commit 831d13bc42f998538a247b4082a992d3af45aa3d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Nov 5 15:30:41 2006 +0000
+
+ reindent
+
+commit e2b4d9b317104ff3c56a9bf108aa79084d49eba5
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sun Nov 5 13:46:48 2006 +0000
+
+ Architect the DRI :
+ - make use of the autogenerated nouveau_reg.h file
+ - add object creation to the DRI
+ - some work on screen and context creation
+
+commit e330a69ee509b4fc16b93ae554ca2e378c929e63
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Sun Nov 5 00:47:27 2006 +0000
+
+ Add sin instruction to fragment program.
+
+ There is a bug somewhere in fragment program.
+ tri-cos and tri-sin show the bug. Also we
+ should not emit multiple time the same constant.
+ for sin,cos,lit have to fix that.
+
+commit 0056ea5417d6d3c3ca875cf86a085611c83f8afb
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Sat Nov 4 23:50:27 2006 +0000
+
+ Add cos instruction and remove left over debug.
+
+commit 120584a1e650c5c72c889666a82624af4f5df1c1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 4 17:31:45 2006 +0000
+
+ Fix for glGetVertexAttribfvNV, bug 8883
+
+commit adf3a64b03c636007ce4d8d492c60aad8070c978
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 4 17:31:21 2006 +0000
+
+ fix error msg
+
+commit 590b557b10ccff7135d76ec800b944c8901c5141
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 4 17:28:38 2006 +0000
+
+ fix for glGetVertexAttribfvARB, bug 8883
+
+commit 64d952c92cf9393ec7e02902f2c6960d5028fe64
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 3 23:43:14 2006 +0000
+
+ #define _glapi_Dispatch _mglapi_Dispatch when USE_MGL_NAMESPACE is set.
+
+commit c9365b7ca4fe7ac7e7e56debe50b371c8ed721d6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 3 23:32:30 2006 +0000
+
+ Fix _mesa_IsProgram() and _mesa_IsShader()
+
+commit 2fbaddfa695986ed04e4d648bb91632fd66f326b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 3 23:28:36 2006 +0000
+
+ check for USE_MGL_NAMESPACE
+
+commit d2f80777e804742267efd700396275174928332d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 3 22:23:47 2006 +0000
+
+ implement _mesa_GetShaderiv()
+
+commit 3bef600024a27376680e1dab326c1dd22c562322
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 3 22:15:43 2006 +0000
+
+ implement _mesa_GetProgramiv()
+
+commit 7e6701cef10c481cad5e0d3c95046ccc8fcd4e73
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 3 21:51:58 2006 +0000
+
+ Simplify GET_CURRENT_LINKED_PROGRAM() macro and calling code.
+
+commit 2659ee9dfb32f76ae2b93d0d7234053a246d400a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 3 21:30:16 2006 +0000
+
+ Use inlined uniform() helper function in all the glUniform*() function to
+ reduce duplicated code.
+ Finish up _program_ReadUniform() for non-float types.
+ Implement _mesa_GetUniformivARB().
+ Simplify the _program_WriteUniform() function a bit.
+
+commit c64a06291817d8667eddc538abdbf5de2f011961
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 3 20:25:44 2006 +0000
+
+ plug in 2.0, 2.1 functions
+
+commit 39cc8e8a0676dea4409ac530c64d754ce4fd6def
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 3 20:20:28 2006 +0000
+
+ Added OpenGL 2.1 entrypoints.
+
+commit 33748aaad885c6edd8fa94b7f319d7b406f93153
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 3 19:55:01 2006 +0000
+
+ Set DO_DEBUG=0
+
+commit 3c1ce571ed7a5e8d811a3fb8ed1667e0f71b5bfc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 3 19:54:40 2006 +0000
+
+ only enabled memcpy timing if DO_DEBUG=1
+
+commit d00ef005fedb21a1b42c0a12264433089b7a10c5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 3 18:35:52 2006 +0000
+
+ replace CONFIG_H with MESA_CONFIG_H_INCLUDED
+
+commit 9e4a06a48232f013f1c400426c2df60e2ee83744
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 3 18:29:39 2006 +0000
+
+ added 1.3/1.4 function mangling
+
+commit 07bec141ac41b61299c9764aa607fd9e79ac4a4d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 3 17:43:20 2006 +0000
+
+ assorted updates for 6.5.2
+
+commit bdb251bcbf94e71f3adba4183c363259c01cde60
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 3 17:29:31 2006 +0000
+
+ Added OpenGL 2.1 glUniformMatrix* functions.
+ Refactor the _mesa_UniformMatrix() functions to use a helper function.
+ Implement GetUniformfv function (might need more work someday).
+
+commit e90e8278240f1c4c00b5cc466e92ffd671181b31
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 3 17:18:05 2006 +0000
+
+ reformat comments in Doxygen style
+
+commit 4d5744e66dbe1057244cace18e2970e64fb27e78
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 3 16:50:22 2006 +0000
+
+ reindent
+
+commit 61fd687c74610a5b3db5e9f3adb3ee2e9a5a6014
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 3 15:18:17 2006 +0000
+
+ Minor changes to get ready for OpenGL 2.1.
+
+commit 188a4db49c4c22429bfa7ae87d4b1a0c35bf0285
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Nov 3 13:04:08 2006 +0000
+
+ Fix compiler warnings.
+ Add missing code for translating non-GLuint elements.
+
+commit 029d18cd3d79ff956c50b3486078d968d15bf0fb
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Fri Nov 3 12:48:18 2006 +0000
+
+ enable generic arrays for r200 hw vertex programs by assigning unused color and texture inputs to them. Not widely tested yet. This should eliminate all fallbacks due to vertex programs, except writes to back facing colors, or when exceeding a hw limit (12 temps, 12 attribs etc.).
+
+commit c3da1501b81a31e92f485ee9fbd99e60cc3a4337
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Fri Nov 3 12:33:29 2006 +0000
+
+ need to call bind_arrays() in vbo_exec_DrawRangeElements.
+
+commit 25b2e50229592ecd4cc3d058471bdee1cb8a0c55
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Fri Nov 3 12:30:55 2006 +0000
+
+ remove remaining traces of r200FlushVertices...
+
+commit e7b71f69190c9fec567163dd7f63df593e069678
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Fri Nov 3 02:07:34 2006 +0000
+
+ remove setting some driver funcs explicitly to NULL, as they are no longer set up later. Thix fixes a segfault in _mesa_Bitmap().
+
+commit 4b43054c4bc3d145583d8d9fd3ed33dca0746f9d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 3 00:16:12 2006 +0000
+
+ added fsligght
+
+commit 24ea2c2cef6073c94e5e25e7d10566053de9dfa1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 3 00:04:06 2006 +0000
+
+ yet another deriviative of the fplight.c demo for OpenGL 2.0 shading language
+
+commit 83a5c2bf63ef285dea096612f4d84236e9c8d543
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 2 23:58:27 2006 +0000
+
+ Update gl_API.xml with OpenGL 2.0 functions, regenerate derived files.
+
+commit 7a28779b2e85bc346f0f3f4cda0d4f4e77d3719f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 2 23:56:08 2006 +0000
+
+ minor change in _mesa_ResizeBuffersMESA()
+
+commit fc69beecb680daa8cbc9cac173bd8c5650270f52
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 2 23:43:22 2006 +0000
+
+ include utils.h to silence warning
+
+commit ce55bbe9ef8077a0d5b93cf0d128306c888263d4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 2 23:41:37 2006 +0000
+
+ s/GLuint/int/ to silence warnings
+
+commit 7941474a219b8d690e9e6df301acaeec3e94085d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 2 23:40:24 2006 +0000
+
+ casting, type changes to silence warnings
+
+commit 15193e78c944aabd9d748e24a294525cc19e67c9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 2 23:34:02 2006 +0000
+
+ s/GLint/GLuint/ to fix sign warnings
+
+commit 071db86299d25b3d3110067fbafd8d6fdd220098
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 2 23:29:03 2006 +0000
+
+ fix typo, silence warnings
+
+commit dd0830228b5b4d7d730068a607c68e8bf85c2906
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 2 23:16:18 2006 +0000
+
+ Fix GL_EXT_packed_depth_stencil crash, but shadowtex still broken
+
+commit 05267501af5288a9d380df1306e5b74dcab1ec40
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 2 22:56:27 2006 +0000
+
+ comment about a valgrind error
+
+commit 71f71c2c8ab0b8af95cddc99df5dd01e4ca6af68
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 2 22:55:59 2006 +0000
+
+ s/GLchan/GLubyte/ in debug code
+
+commit 959571f83595dcc8026bc6c7eb52bb9ee50cc6d5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 2 22:54:18 2006 +0000
+
+ init SecondaryRasterColor
+
+commit e441427f40d564656771447ea96685a6028a8273
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 2 22:53:32 2006 +0000
+
+ Added GL_STENCIL_BACK_WRITEMASK
+
+commit af864bb0daf3aba9bc2526d207925eea0c44d162
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 2 22:40:43 2006 +0000
+
+ check for shader extensions for OpenGL 2.0
+
+commit e812081253b2857b59d17f40dc6c9909e1957d87
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 2 22:39:29 2006 +0000
+
+ Undo some of yesterday's ATI_separate_stencil changes. The ATI extension
+ doesn't exactly match OpenGL 2.0.
+
+commit d78f65cd6cf04dafcf50b4014de9d28546badcfb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 2 21:43:06 2006 +0000
+
+ Fix fragment program fog problems found with Glean.
+ 1. add PROGRAM_CONSTANT to switch() in src_vector().
+ 2. use _mesa_append_fog_code() to handle fog options in i915ProgramStringNotify().
+ 3. Re-enable some vertex attribute emit code that was previously disabled in i915ValidateFragmentProgram().
+
+commit 67a101759ec0b84e4f30fbb329e86ac5031cf7e7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 2 21:39:20 2006 +0000
+
+ Call _mesa_problem() from i915_program_error() so we get a nice error message.
+
+commit a93f4a73100f00d8114ee9931fd80eaa8f6f0375
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Thu Nov 2 20:44:03 2006 +0000
+
+ Move r300 to new fbo interface based on Keith Whithwell.
+
+ Tested with progs/redbook/varray.
+
+commit b6c2a6a0f295c078efc4737337ad67deaa7cee0a
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Thu Nov 2 20:02:26 2006 +0000
+
+ Add requested size to r300RefillCurrentDmaRegion.
+
+ This way we no longuer have the fixed RADEON_BUFFER_SIZE.
+ Anyway function calling AllocDmaRegion should check if this
+ succeed and fail gracefuly if not (see bug 8348).
+
+commit 94249ca333eef997f865d0e0862b913cec061c6c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 2 19:23:41 2006 +0000
+
+ remove GetBufferSize = NULL; assignment
+
+commit df5edb21f8f01f8d3e9b87b8103685690b35646f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 2 19:18:09 2006 +0000
+
+ Fixes Glean vertex/fragment test failures. Those tests never called
+ glViewport so the viewport was 0 by 0 pixels.
+
+commit c97bc619d63cafb7b0bb3724b07734e6cbd296e5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 2 19:16:08 2006 +0000
+
+ remove GetBufferSize code
+
+commit 7e9c3684ef45e0df8426317f28c883d16f27c031
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Nov 2 19:11:16 2006 +0000
+
+ Fix type-conversion of incoming vertices.
+ Fix mis-application of increment to pointer variable.
+
+commit 01e238e5d51dabd28646356de825aa43a7290373
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Nov 2 19:02:04 2006 +0000
+
+ Fix typo in last commit
+
+commit 6f676f4871b1701ec56298f9d22460677ed0e982
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 2 18:35:19 2006 +0000
+
+ always load frag prog state params for now (see comments)
+
+commit 51b115d5aec4ae7386d143f8bdd0289002802b7b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 2 18:15:26 2006 +0000
+
+ remove unneeded extern declaration of lockMutex
+
+commit 29ed8946338dde55e6a337dd9e64f6d003518ed3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 2 18:13:40 2006 +0000
+
+ bump driver date
+
+commit 301acdf34ad01315f41c14638d92aa7fe0c2d2dc
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Nov 2 18:02:17 2006 +0000
+
+ Similarly, fill in missing input slots in the vertex-array +
+ NV_vertex_program path.
+
+commit 5a652f595716a82ebd79e33011f6082199c4b0d0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Nov 2 18:00:43 2006 +0000
+
+ Fill in missing input slots in the vertex-array + no-vertex-program
+ path.
+
+commit 7a9c7c1133d5cf17d032c8568e8f040a7c171a72
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 2 17:51:04 2006 +0000
+
+ Use RGBA_LOGICOP_ENABLED() instead of ctx->Color._LogicOpEnabled since we often
+ need to check for this condition before the later field has been computed.
+ Fixes logicop bug #8860.
+
+commit abc73d9cba655479af493fabd13a488e5f7951eb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 2 17:49:47 2006 +0000
+
+ new RGBA_LOGICOP_ENABLED() macro
+
+commit 12fe1b3a580c267ccef53a5dbfd5183eaac1489b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 2 16:21:04 2006 +0000
+
+ s/_mesa_IsProgram2/_mesa_IsProgram/
+
+commit f49c0d0dfbae5624c4db57b24fff23bd7dbaae01
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 2 16:20:29 2006 +0000
+
+ Rename _mesa_IsProgram() to _mesa_IsProgramARB() to avoid collision with the
+ OpenGL 2.0 function of the same name.
+
+commit f961d394e30586fa61d53d93b65fe4424b5cef36
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 2 16:11:31 2006 +0000
+
+ OpenGL 2.0 entrypoints
+
+commit e71e4c9e476b0dae5aaff68e71e09b3a6ff3d63a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 2 16:09:10 2006 +0000
+
+ run indent on the code
+
+commit 036173e0d854313d407649bf53cae1b1ecaa4293
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 2 15:47:30 2006 +0000
+
+ test OpenGL 2.0 stencil funcs
+
+commit 6d104cb932080c5c0d951fbc0ec6d30fb7ebef45
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Nov 2 12:02:13 2006 +0000
+
+ merge current trunk into vbo branch
+
+commit 18d52f96bb1f20b1887b67e87506835bca05d73a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Nov 2 11:40:56 2006 +0000
+
+ Fix typo in display list attrib binding.
+
+commit 9827dc8bea422b940f1efcfbd1c0d76f8bbca844
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Nov 2 09:48:30 2006 +0000
+
+ Respect array->Normalized flag.
+
+ Import edgeflag attribute to array of GLbooleans as expected by
+ downstream code.
+
+commit c22f8a7787bd5260135a20a0c2ae8b743228497b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Nov 2 08:37:17 2006 +0000
+
+ missing file
+
+commit 467c773f798516f86425c14fe8406298e00baba1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 2 00:41:40 2006 +0000
+
+ Add ATI_separate_stencil and use it in preference to EXT_stencil_two_side
+ since the former is what's used for OpenGL 2.0.
+
+commit faba58c447c9eeeea0f7ef405fa1ba1f73991375
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 1 22:28:54 2006 +0000
+
+ update _mesa_select_tex_image() and _mesa_get_tex_image()
+
+commit 92c99bc51bc296a604f176cb5e98f53155d3f375
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 1 20:48:00 2006 +0000
+
+ update comments
+
+commit a5676795cfe2e24979b5da65c2f499049ab009d9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 1 19:35:22 2006 +0000
+
+ Remove x/y/width/height parameters from Clear functions.
+
+commit 533e5a73ee8fbc500b711aff566f00c10812ad4d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 1 19:26:18 2006 +0000
+
+ comment-out unused var
+
+commit 6a92324cf0d9758209bd2ea9f443221bde84c425
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 1 19:25:43 2006 +0000
+
+ remove unused vars
+
+commit d972c86876c4736ece5f3b85485a16c72ef88c7d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 1 19:25:19 2006 +0000
+
+ fix _mesa_select_tex_image() calls
+
+commit 7d08e3a117b7ba8fa0d64713b333f6263bff24d0
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Nov 1 19:02:27 2006 +0000
+
+ Write back gl_FragDepth to span->array->z.
+
+commit 9669804fe476f3497ac7e76e1e7b3e62d547fb6e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 1 18:51:43 2006 +0000
+
+ Don't use the x/y/width/height params passed to Clear(). Get them
+ after locking. Next: remove the params altogether.
+
+commit 26b5904d7080618718f9ac112bf3d9135366c4e5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 1 18:49:41 2006 +0000
+
+ disable debug printf
+
+commit 4db0c89d25d776f7d68a34fa9e489ce0294dacd3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 1 18:48:28 2006 +0000
+
+ disable debug printfs
+
+commit 361d137587d1b7a6a18ddc33c7862ff5e6ddd648
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Wed Nov 1 16:21:14 2006 +0000
+
+ Correct a little bug, radeon->glCtx is a pointer.
+
+commit 8d87196c12fc9ec8886f5b590f4cfb3c7c1b28aa
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Wed Nov 1 16:18:08 2006 +0000
+
+ Remove deprecated GetBufferSize interface.
+
+commit 351feae13086f01dc9a2a1e252fee1d507974c38
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 1 15:24:47 2006 +0000
+
+ recent updates/fixes
+
+commit 57f09b6e5eccd32ee34f82eab94cdeb7a7243c91
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Nov 1 15:23:50 2006 +0000
+
+ fix compiler warnings
+
+commit 8665b828fea2f18c9da5cfb027ad7cb43a5ea333
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Nov 1 15:20:23 2006 +0000
+
+ Patch from <haihao.xiang@intel.com> -- pass program string
+ notification callback through to tnl/ module, fixes glean crash.
+
+commit 48e6fff3a9d97fffa6d2dd63e63ffe94c25d2d96
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Nov 1 14:26:10 2006 +0000
+
+ merge the (rest of) texmem branch
+
+commit 5ac93f86210eb5c2a8dee74ec19b0ecd54376863
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Nov 1 14:21:57 2006 +0000
+
+ Merge texmem-0-3-branch.
+
+commit 232a489b41097b462fc0ad2b88f0df75a1abd4c3
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Wed Nov 1 12:03:36 2006 +0000
+
+ Add LIT instruction to fragment program.
+
+commit 6b9e31f3eb3dbe20cbc8493b963bbc6530e392c6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Nov 1 12:03:11 2006 +0000
+
+ Import texmem i915 driver to its new location as i915tex.
+
+commit 3c6e99ce95bdee526f95ce8aaadd0c8923b83af0
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Wed Nov 1 11:58:16 2006 +0000
+
+ Add CMPH instruction to fragprog
+
+ CMPH a0, a1, a2 -> if a2 > 0.5 return a1 else return a0
+ Guessed by examinating LIT instruction handling of FGLRX.
+
+commit fd60b2d5368e3385c1ba70c6d5d122b10ff20646
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Nov 1 09:35:26 2006 +0000
+
+ Patch from <haihao.xiang@intel.com> -- pass program string
+ notification callback through to tnl/ module, fixes glean crash.
+
+commit 1ebe921228ef896804384002d8a3acd0885afc98
+Author: Jeremy Kolb <jkolb@freedesktop.org>
+Date: Wed Nov 1 02:48:34 2006 +0000
+
+ Added OUT_RING* debugging macros. Compile with NOUVEAU_RING_DEBUG to use.
+
+commit 2d2d617dbc17817f214e0b523f929de1f5d8f48a
+Author: Jeremy Kolb <jkolb@freedesktop.org>
+Date: Wed Nov 1 02:45:12 2006 +0000
+
+ Oops. Forgot to check in the context change.
+
+commit 2581ba7f1e0352ad7ed5e863647a545a0eec851c
+Author: Jeremy Kolb <jkolb@freedesktop.org>
+Date: Wed Nov 1 02:44:27 2006 +0000
+
+ Fix compile errors. Add vblank_seq to nouveau_context.
+
+commit d106195ad2ee5df9a4a7ce57055e48e2b9a2d1d7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 1 00:14:04 2006 +0000
+
+ change DEBUG_FRAG conditions
+
+commit e6f47d1855354165c6eed5080d8a72024891f10f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 1 00:13:16 2006 +0000
+
+ fix some bugs in interpolate_specular()
+
+commit 90fcf6ccc345c287309d7d17b2ff256cc22fb2b7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 1 00:12:41 2006 +0000
+
+ Added a few new ctx->Const. fields for shader-related limits.
+
+commit 5050b565deca3cad165cd2f68badc084b9aa5377
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 31 19:53:38 2006 +0000
+
+ make use of Parameters->StateFlags in _swrast_update_fragment_program()
+
+commit ef987aa1d78b705dc75fb962941410f53238dbc8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 31 19:53:03 2006 +0000
+
+ minor clean-ups, simplifications and new comments
+
+commit 7e75f51b2791165dae6bd7eb1f6bab9bef40fb87
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 31 19:14:27 2006 +0000
+
+ fix MINGW32 problems
+
+commit 4e9e0aff790656821970ba74d8996718e415ea68
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 31 16:02:56 2006 +0000
+
+ We need to call _mesa_load_state_parameters() whenever a fragment program
+ is enabled and we've changed any GL state that might be referenced by a
+ fragment program (such as state.fog.params). Do this during swrast
+ validation, not in _swrast_exec_fragment_program().
+
+commit 72f49657e8f7eac9bdb09435230fbe8f6a2c854b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 31 16:01:11 2006 +0000
+
+ signal _NEW_LIGHT in _tnl_copy_to_current()
+
+commit ecd1743a0c88b7e574848c0cb100fdcd880979de
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 31 14:29:01 2006 +0000
+
+ In TEX instructions, use precomputed lambda only if using fragment.texcoord[k]
+ to sample texture[k]. Use zero otherwise. Not foolproof, but a good
+ compromise.
+
+commit 35ee4affc5bd2c7be3005725ce74a016a3da8b59
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Oct 31 12:12:15 2006 +0000
+
+ switch remaining drivers over to vbo
+
+commit 851d15ef3ae8e7f78f1d0ef1cf8a3ff6765354b0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Oct 31 12:11:56 2006 +0000
+
+ disable vtxfmt_a code, switch over to vbo
+
+commit 80c88304fc9d09531b2530b74973821e47b46753
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Oct 31 12:11:10 2006 +0000
+
+ remove vtxfmt code, switch over to vbo
+
+commit 70dd0126bd25f2cc2fedae60281ab5c256cb8664
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Oct 31 11:40:31 2006 +0000
+
+ pickup structs from vbo.h
+
+commit 1f07439fe8c6803f70a27a1cdb9d76360ae40571
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Oct 31 11:39:57 2006 +0000
+
+ move public structure definitions to vbo.h
+
+commit f2eb6434ab1cf72e938956c82d2f530368a6be4a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Oct 31 11:28:45 2006 +0000
+
+ cleanup code, compiles with vbo changes
+
+commit 256c96136c38f47824b5aaf584bc949788f913e7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 31 01:22:38 2006 +0000
+
+ For TEX instructions use lambda=0. When sampling from texture unit K we
+ were using the partial derivatives of texcoord[K] but the coordinate used
+ for texture sampling may be something totally different (and texcoord[K]
+ might not be a real texture coord at all). Net result was a bogus LOD is
+ sometimes used, often resulting in using the smallest mipmap level (a
+ constant color).
+ Just use zero for now (undef LAMBDA_ZERO to override).
+ Plus, some additional debug code.
+
+commit b14bae846678b0d340af5b26c36e762817929d5d
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Oct 30 23:44:54 2006 +0000
+
+ Fix bug #8799.
+
+ Properly resize bith the drawable and the readable in mgaUpdateRects.
+ Eliminate the use of the deprecated GetBufferSize interface. Bump
+ driver date.
+
+commit 86a465412d5b305356460e778c29107722b93f0f
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Oct 30 22:17:39 2006 +0000
+
+ Refactor mgaXMesaSetFrontClipRects and mgaXMesaSetBackClipRects.
+
+ Combine mgaXMesaSetFrontClipRects and mgaXMesaSetBackClipRects into a
+ single new function called mga_set_cliprects. This enables a small
+ refactor in mgaDDDrawBuffer.
+
+commit 5af5260f3cc6642c16d6b32b3f42693ffd50374b
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Oct 30 22:07:00 2006 +0000
+
+ Get DRI drawable from framebuffer object.
+
+ In the software rasterization fallbacks, get the __DRIdrawablePrivate
+ pointer from the driRenderbuffer that is passed in. This eliminates
+ the need for the mesa_drawable pointer in MGA context structure.
+
+ This partially fixes bug #8799. wincopy no longer produces a black
+ window for the destination window, but it does produce incorrect
+ results if the destination window is resized.
+
+commit a1a8a2c024efdc1df31a4f9f180341f0a77597c3
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Oct 30 20:29:13 2006 +0000
+
+ oops, get.c is autogenerated
+
+commit fd2756006a0baf63f60548d8f509de5b9a143608
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Oct 30 20:16:35 2006 +0000
+
+ Move edgeflag into the VERT_ATTRIB_SEVEN slot. This means that our
+ NV_vertex_program implementation has slightly incorrect aliasing
+ behaviour. I think this is reasonable given the simplification and
+ the fact that the mainstream ARB_vp continues to have the correct
+ behaviour.
+
+commit e8abd098b36c30d76b4c396970fd793ae58e0702
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Oct 30 17:12:05 2006 +0000
+
+ Remove wakeup functions. This code is intended to be active all the
+ time.
+
+commit 48f5deab94be832a782a440f55a7bc742d50a62f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Oct 30 16:56:56 2006 +0000
+
+ switch several dri drivers over
+
+commit 99efde461d3b8615863bdb7308e05289e0db0422
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Oct 30 16:44:13 2006 +0000
+
+ better handling of current attributes. Trivial dlist and varray tests work
+
+commit efef291dc71eb57f90785a26957f4b3e01733156
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Oct 30 16:43:39 2006 +0000
+
+ checkpoint - remove dead files, otherwise untested
+
+commit 075fae52001cfd2f99c2c9310208a9a615316454
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 30 00:22:28 2006 +0000
+
+ code tweaks, remove old comments
+
+commit 0f8405365f199b8d41974ac9cbe945f4dbf2c2bb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 30 00:13:31 2006 +0000
+
+ fix _mesa_problem() text
+
+commit a23e668d40b10236fcf5ca83fdbda93ab36fa86f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 30 00:12:05 2006 +0000
+
+ Move gl_vertex_program_machine struct out of mtypes.h and put into nvvertexec.h.
+ Massage nvvertexec.c code to work more like s_nvfragprog.c - another step
+ toward unifying vertex/fragment program execution.
+
+commit 0781339b395a9b2a89ff800eb827ed733f34a8a1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 30 00:07:22 2006 +0000
+
+ remove debug code
+
+commit e998c346471142db91a1bcb6c61551b8247b87e7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 29 21:17:18 2006 +0000
+
+ Rather than always allocating 100 instructions, put instructions into a
+ temporary buffer, then copy into a malloc'd array of the correct size.
+ According to Glean texCombine, we never need more than 21 instructions.
+
+commit ebcedd2d8909cc00d8528d76d3a1990315f270ea
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 29 18:33:14 2006 +0000
+
+ New _mesa_exec_vertex_state_program() function. Start of some re-org.
+
+commit abb1430c79024198bdc9816465d3c8bc963adf8b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 29 18:14:00 2006 +0000
+
+ fix wrong inequality
+
+commit d6272e06172f7ac7a0d6e8062e8ffba33e1ab3ba
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 29 18:03:16 2006 +0000
+
+ Change _mesa_init_instruction() to initialize an array of instructions.
+
+commit efd95c10844df0c93ee3eab41259f719f55f171f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 29 17:55:16 2006 +0000
+
+ Program instructions are initialized before parsing so no need to set
+ Abs, NegateAbs, CondMask and CondSwizzle fields to defaults here.
+ CondMask was getting mis-set. Removing the incorrect assignment improves
+ fragment program speed by 15%.
+
+commit a3c86828edc971319455d16153ea1657585d863f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Oct 29 09:54:17 2006 +0000
+
+ Fix compiler warning
+
+commit 0a0fb5e0b3cfe61749af41d4200d42982b551cef
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Oct 29 09:52:36 2006 +0000
+
+ switch over to vbo module
+
+commit 72b68455eb02460e2e9a64fff2448596a183923b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Oct 29 09:48:36 2006 +0000
+
+ remove this module
+
+commit b1f176039ae3690b38e3ccacb079b3d7c3e50402
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Oct 29 09:48:15 2006 +0000
+
+ Changes for new vbo-building module.
+ - Removed all the old immediate, array and display list code.
+ - Remove references to the old array_cache module.
+ - Added a _tnl_draw_prims() entrypoint.
+ - Added a simplified data import facility for converting
+ non-floating point data as required.
+
+ Checkpoint commit - trivial/tri works.
+
+commit fd12b37dbada6f945a94b93ecf332d0b6a8eef06
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Oct 29 09:46:11 2006 +0000
+
+ Checkpoint of new vbo-building code. Currently builds regular arrays
+ rather than VBO's - VBOs are easy but need to look closer at the
+ driver interface. The trivial/tri demo works.
+
+commit a90ab5290c6364535ef1ba4f7c09065f177287e9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 28 23:10:17 2006 +0000
+
+ Added PROGRAM_CONSTANT to get_register_pointer().
+ More DEBUG_FRAG code.
+
+commit 8ed319796f35ccd82863a270704752555706f1e2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 28 23:08:07 2006 +0000
+
+ special case END in _mesa_print_instruction()
+
+commit f5eea0cc7a8c568b00035427294812712c6c6081
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 28 17:14:47 2006 +0000
+
+ Implement _mesa_append_fog_code() for fragment program fog options.
+
+commit db5529573f40c5ad68d589ab6a5e4e47d6743b4c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 26 20:54:28 2006 +0000
+
+ If DEBUG, check that all array indices really do fall in [start,end] in
+ the DrawRangeElements() call. Warn the user if that's not true.
+
+commit b55a0ab7ab02be7d6de139d8180d5f073cd871e3
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Thu Oct 26 12:09:07 2006 +0000
+
+ remove code for inserting mvp transform into position-invariant vertex progs and instead use _mesa_insert_mvp_code().
+
+commit fe457474d4fe69a970e77471a7952575e57ce147
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 25 23:10:14 2006 +0000
+
+ Previously, if a fragment program referenced fragment.fogcoord but the
+ program didn't use the ARB_fog_linear option, the fragment program's
+ fragment.fogcoord register wasn't loaded properly.
+
+commit e9b923182ed8738fe5eb8bea1d688a6198db346e
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Wed Oct 25 12:14:26 2006 +0000
+
+ change some bogus comments regarding the base e exponential function used for fog in vertex programs.
+
+commit fc606f7db9072d4f40081aea8f92f1d4489a5115
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Tue Oct 24 22:37:51 2006 +0000
+
+ fix (per-vertex) fog when using ARB_vp by incorporating fog factor computation into the vertex program (not yet fixed for swtnl). Simplify (and correct) the VTX_TCL_OUTPUT_VTXFMT handling when using vertex programs, turns out it's solely driven by the needs of the past-vertex stage of the pipeline, this should fix lockups with ill-specified applications using vertex programs (for instance applications enabling fog but not writing to fog coord output will now get (conformant) undefined results instead of lockups).
+
+commit e4298b94927f12c4710443ede1b50a325103ac72
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Oct 24 20:50:08 2006 +0000
+
+ Add missing call to glutInit.
+
+commit 6340d6bf22ad0bfedf8565500336237a8da887f5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 24 13:46:39 2006 +0000
+
+ s/GLchan/GLubyte/
+
+commit 59e1f3ddd8b1bff2c2e61b8b32a4444d082e1286
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 24 13:45:08 2006 +0000
+
+ whitespace clean-up
+
+commit 759facb4d87843f6368fad9c5f20a5b1b3d95055
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Oct 23 08:43:26 2006 +0000
+
+ Emit cliprects in the userspace driver as required, rather than
+ passing them to the kernel. This works because all drawing commands
+ in the 965 driver are emitted with the lock held and the batchbuffer
+ is always flushed prior to releasing the lock. This allows multiple
+ cliprects to be dealt with, without replaying entire batchbuffers and
+ redundantly re-emitting state.
+
+commit b9786cfaae3bd58d8e487846cfa9c251e1246abd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 22 23:21:45 2006 +0000
+
+ assorted clean-ups
+
+commit 49a5a09adaac457860a8abb9d7b86f317353a23c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 22 22:58:42 2006 +0000
+
+ don't save color/z if fragment is killed
+
+commit 73dd09fdd3f644604754b84176edaef93c243509
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 22 22:37:30 2006 +0000
+
+ add minstall script to MAIN_FILES (bug 8720)
+
+commit a632128ffaeabba09135e8590ccd73d2f1063282
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 22 22:36:24 2006 +0000
+
+ minor tweaks good for about 12% faster execution
+
+commit ec9bbac7c7f42261de9df6f4029d7e051ae9225c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 22 22:25:46 2006 +0000
+
+ silence used var warnings
+
+commit 0b26e826bda0da7aeec9a79ee07fe21d54bb1263
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 22 17:18:50 2006 +0000
+
+ Color clamping fixes.
+
+commit 919cd2c3ba39bf4d8d2ffcea0daec7bab8645d34
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 21 23:21:35 2006 +0000
+
+ move/improve comments, clean up code in a few places
+
+commit ed324db249d068f14646eced55d106b5fe6b889c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 21 22:56:21 2006 +0000
+
+ fix another logic error in computing deferredTexture
+
+commit bb19e64d12eaf27e2adc3faac7e09555bb66d724
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 21 22:43:15 2006 +0000
+
+ For deferredTexture, need to check if the fragment program/shader writes
+ the fragment Z.
+
+commit 828d15a6e0907fe4bb7c564d453a2b1a05f109bc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 21 21:14:20 2006 +0000
+
+ move interpolate_varying() call
+
+commit 4676b6260f7e3c6144f4346c0660603a031b1834
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 21 21:13:40 2006 +0000
+
+ don't use params passed to Clear()
+
+commit f614a6190562e550257afca0d04e3846648942e8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 21 00:20:16 2006 +0000
+
+ Move interpolate_texcoords() and interpolate_varying() calls into shade_texture_span().
+ Added some INLINE hints.
+
+commit 61c89be3135cedc795e48d36283769298e250837
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 19 22:27:44 2006 +0000
+
+ Consolidate some code into shade_texture_span().
+ Clean up logic for deferred texturing/shading.
+
+commit cd5a623386f55704e5f9ac492fe397d75ac03945
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 19 22:26:29 2006 +0000
+
+ fixed Fixed/Int bug
+
+commit 7c760289371ce14228b1172195a07c2630ca6229
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 19 22:13:31 2006 +0000
+
+ remove temp code
+
+commit 79b5d3e539b89922afc82b2a1d85b9b82109da47
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 19 20:11:15 2006 +0000
+
+ remove some debug/test changes
+
+commit 464fcd0dd84cf4c705b992a087cdcb8b403eb8ef
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 19 20:09:05 2006 +0000
+
+ New bin/minstall script - a minimal replacement for 'install'.
+ Correctly handles symlinks so we can get rid of the COPY_LIBS stuff.
+
+commit c351858de8e51fa4a6425cf176cc43689189f3ff
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 19 14:02:42 2006 +0000
+
+ fix problem when CHAN_BITS == 32 (bug 8704), remove unneeded assertion
+
+commit a79d4e75c3f1da65a6f4d4d8d450ad96fa98767d
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Thu Oct 19 08:07:00 2006 +0000
+
+ Fix nonportable pointer+unsigned arithmetic. Use pointer+int.
+
+commit 31293910b4e982f2ef54d79aff78f2f854121da1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 18 23:14:02 2006 +0000
+
+ added clamp_colors(), updated assertions
+
+commit ff07d6de4c1db68bae1f652ed8c6146400ddebae
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 18 22:38:13 2006 +0000
+
+ minor re-org, doxygen comments
+
+commit fee08575cdb2d10c3692eaafb81c5dab15b854e5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 18 22:05:13 2006 +0000
+
+ Changed install filenames to libGL* and libOSMesa* so things work on Darwin
+ where GL_LIB_NAME = libGL.dylib but the other library name is libGL.1.dylib
+ Unlike other platforms, the version number is in the middle of the name,
+ not at the end.
+ See bug 8671
+
+commit 3beaff1e3cf227c493badfc55a69381c778b2ff7
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Oct 18 20:27:11 2006 +0000
+
+ Enable GLX_SGI_make_current_read for radeon.
+
+ Added code to track the drawable bound to the context for reading. In
+ addition, when a drawable is initially bound (for reading or drawing)
+ or when the size of the drawable changes, update the size of the
+ framebuffer object that back the drawable (for software fallbacks).
+
+ Deprecate the old GetBufferSize interface.
+
+ Bump the driver date.
+
+ These changes were tested with wincopy on both direct rendering and
+ accelerated indirect rendering (AIGLX).
+
+commit ec99e716a229e58233551d821418428cc1b90324
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 18 20:03:20 2006 +0000
+
+ Don't use x/y/w/h params given to Clear().
+
+commit 446972bc2756cf9770a82f51aa0dc4f529c6cae5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 18 20:02:42 2006 +0000
+
+ Want to stop passing x/y/width/height to Clear() function.
+ The coordinates need to be computed after we've got the hw lock.
+ Code updated to:
+ 1. Ignore all/x/y/width/height/ params passed to Clear func.
+ 2. Pass 0,0,0,0,0 to _swrast_Clear() until they're totally removed.
+
+commit ccb64bbb2a32761efa076ebafa7ccdaf2d412b0e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 18 18:35:09 2006 +0000
+
+ Don't pass x/y/width/height to ctx->Driver.Accum().
+ Compute the region after we've locked (and possibly updated the buffer's size).
+ Same thing is needed for ctx->Driver.Clear().
+
+commit 4e4c0bbef7a795d73685794e3329ea81654924b5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 18 18:03:54 2006 +0000
+
+ glDrawPixels, line clipping bug fixes
+
+commit a1a0a29a5ad93be00989881055931e78941304a5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 18 18:02:05 2006 +0000
+
+ Fix broken line clipping.
+ When both ends of the line were clipped, we were using the new v0 instead
+ of the original v0 when computing the location of the second vertex. Thus,
+ the second vertex's position was incorrect.
+ Thanks to Heath Feather for finding a test case.
+
+commit ff893a83f1a764ad4b093582bf28ff5e42860049
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 18 17:36:57 2006 +0000
+
+ Fix a dangerous use of ASSERT in an else-clause not enclosed in braces.
+ We've been lucky if this hasn't been causing line rendering bugs.
+
+commit c3caaa3dd45809e672177ab322445fe51d03af25
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 17 22:23:32 2006 +0000
+
+ Always convert colors to float before running a fragment shader/program.
+
+commit 32c3243e4d8237ecfeccd5a554abefaa0679e94b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 17 22:22:42 2006 +0000
+
+ fix fog color bug
+
+commit c2074645cd23e23ff86ed7f0a71845a3209f0bea
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 17 21:12:32 2006 +0000
+
+ Move struct atifs_machine into s_atifragshader.c
+ Add support for runtime colorbuffer types.
+
+commit e9d7190bb2b1bf3a057e27ecd7e79302360961a1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 17 20:40:22 2006 +0000
+
+ Seperate interpolate_colors() and interpolate_specular().
+ Fix bugs in apply_aa_coverage().
+
+commit b88af5b4681d2085cd784b930dc259b66a55347e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 17 20:22:53 2006 +0000
+
+ apply_aa_coverage() for ubyte/ushort/float
+
+commit 0c6c8d5f1c7bfbedc0acbf34a5a9701bdad29841
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 17 19:57:25 2006 +0000
+
+ new assertions - one of which is currently failing with arbfslight.c
+
+commit 1c1c7fb3610026345e956ad7845e101802f72033
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 17 18:54:19 2006 +0000
+
+ remove obsolete intelBufferSize(), bump driver date
+
+commit 42b26f688d82b2023ea882bfa1fd13bb6548d73a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 17 17:51:39 2006 +0000
+
+ Remove get_buffer_size()
+ Always check window size in XMesaMakeCurrent() in case glViewport is not
+ called.
+
+commit 544b94e15617fb69f77ebd57b1be49aafe2f64e6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 17 17:44:43 2006 +0000
+
+ Lots of fixes/changes to select color depth at runtime.
+
+commit 55e42e5b7298bbf4c75f2472fc077743dd4d9b85
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 17 17:43:47 2006 +0000
+
+ check if ctx->Driver.GetBufferSize==NULL and no-op
+
+commit af52ff0c99faa88f2047c62bb5873ae9a427104d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 17 17:03:21 2006 +0000
+
+ include x86-64.h to silence warning
+
+commit 1e3223c02a2f6155beb5784cadbea1f46703829a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 17 17:03:00 2006 +0000
+
+ Fix CHAN_BITS=32 issues.
+ Save/restore array->ChanType in case colors are converted.
+
+commit 8dff54e71d3ea22813e416910c3c99f7e3abbb2f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 16 23:22:44 2006 +0000
+
+ Added -clip option to test glCopyPixels beyond window bounds.
+ Clear dest window to black before copying.
+ Use glWindowPos2iARB().
+
+commit d40f20aebc6f9995b9fdb70cd5123b0c28d45589
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 16 22:02:33 2006 +0000
+
+ Init _UseTexEnvProgram to fix failed assertion in i915_render_start() - this may be temporary
+
+commit 16345022de1f443c7746f9f735bb495415e7a5ff
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 16 21:39:34 2006 +0000
+
+ Updates to intelWindowMoved():
+ Only need to call _mesa_resize_framebuffer() when we've detected a window
+ size change.
+ Set the drawFb->Initalized flag to GL_TRUE to avoid obsolete
+ Driver.GetBufferSize/ResizeBuffer calls in the Mesa code.
+
+commit 7b1ff326071658d5bd6e7feb2ad78d0e0209211d
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Oct 16 20:59:53 2006 +0000
+
+ Track the currently bound read drawable and make sure its info is up
+ to date.
+
+commit 8c5ae809163c49cf3785edaee9af0f5b6cfe5f4b
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Oct 16 20:57:09 2006 +0000
+
+ Fix build when DEBUG is defined but DEBUG_MATH is not.
+
+ A couple places attempted to call _math_test_all_*_functions when
+ DEBUG was defined. These routines only exist when DEBUG_MATH is
+ defined.
+
+commit 28081ae6c08378372651d4acdec48e5c88fc8cce
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 16 20:51:50 2006 +0000
+
+ s/X86_SOURCES/ASM_SOURCES/ in ALL_SOURCES to try to fix make depend warnings (bug 8669)
+
+commit 6ae157f9e776400b2cca0552e9028857e0a23f7d
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Oct 16 17:50:19 2006 +0000
+
+ Fix bug #8563.
+
+ Fixes a GLX protocol problem when binding an indirect rendering context
+ after a direct rendering context. In this case, the oldContetTag sent to
+ the server should be None, but the currectContextTag stored in the direct
+ rendering context (i.e., -1) was sent instead.
+
+commit 041d64812e4fa7a0444aa35c59d14ce85240b5de
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 16 17:26:30 2006 +0000
+
+ Set _NEW_BUFFERS in _mesa_resize_framebuffer(). This makes sure the swrast
+ module updates its state (CLIP_BIT) upon resizes. The driver could do this
+ instead, but doing it here is safer.
+
+commit dc8a0d19368a235ebd0fe86ce7b7142dfa911dff
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 16 16:39:54 2006 +0000
+
+ remove some old code that could cause infinite recursion
+
+commit 80fcbca7dff099be352a9b6237e05a02e321ef26
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 15 22:30:35 2006 +0000
+
+ allow >10 mipmap levels (patch by Benno Schulenberg) (bug 3130)
+
+commit cca1a27f7791a5b0be9f78391c968d817c308f08
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 15 22:29:16 2006 +0000
+
+ regenerated to get DRI_CONF_EXCESS_MIPMAP()
+
+commit 97f47f771a405377b94b4b139450a7bd2db0c827
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Sun Oct 15 21:47:56 2006 +0000
+
+ fix handling of textures with a base internal format that does not have all four rgba values set for radeon and r200 (discovered with a modified glean pixelFormats test, noone ever noticed in over 2 years). For radeon, use hw format I8 as previously, and change tex env to make the correct default values appear for both GL_ALPHA and GL_LUMINANCE textures. For r200, which supports GL_LUMINANCE just fine, use the AL88 hw format for GL_ALPHA textures, since it seems like it's probably not worth the effort to fix up the texture environment (certainly complicated in case of ATI_fragment_shader programs).
+
+commit 4d4add0972d1c4eca3b62edb581fe65697b061ff
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 15 19:26:43 2006 +0000
+
+ Added #if / #else / #endif around code related to framebuffer initialization
+ to describe what should be changed in the drivers.
+
+commit 606108ee4e3051e04c58dac90f1dc91ce369a3b0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 15 19:20:29 2006 +0000
+
+ updated comments, mark GetBufferSize() and ResizeBuffers() as obsolete
+
+commit 694a5b81a7d51208ae4dce0b4d5c163123aec123
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 15 19:08:11 2006 +0000
+
+ minor clean-up: s/intel->driDrawable/dPriv/
+
+commit a7a26503b67b8baa9df8b2bb194435d681559550
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 15 18:51:22 2006 +0000
+
+ Remove calls to _mesa_ResizeBuffersMESA() - generally replace with code to
+ check the current window size, then call _mesa_resize_framebuffer().
+
+commit a391384bad9e960989dc8c793386081afc55592c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 15 18:31:29 2006 +0000
+
+ Remove a bunch of "ctx->Driver.function = _swrast_Function" lines since
+ default/fallback functions are already plugged in by the call to
+ _mesa_init_driver_functions().
+
+commit f0775c7fccac2b91200dd4537686fe5c9b61c6ab
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Sun Oct 15 18:22:28 2006 +0000
+
+ Use endianness test function provided by mesa.
+
+ Use the _mesa_little_endian helper function insted
+ of the MESA_BIG_ENDIAN flag. There is still place
+ using this flag but we need to find how to submit
+ 16bits elements on big endian computer.
+
+commit 2b6d2e4dcbdc253e8148888d1a7e60d8466ba4e8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 15 18:18:39 2006 +0000
+
+ Remove Driver.ResizeBuffers = _mesa_resize_framebuffer lines.
+ This is already done by the preceeding call to _mesa_init_driver_functions()
+ which plugs in default functions like that.
+
+commit b947377add2edb87fc78dcd853cdf00a2119bb3e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 15 17:57:53 2006 +0000
+
+ increate MaxTextureLevels to 11 (bug 3130)
+
+commit a20c0f293e23cf95befcabf316733de10f359b50
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 15 16:38:09 2006 +0000
+
+ check if files exist before installing (Thierry Reding)
+
+commit 07fd19f572de30f872ab574528eb569e3c9e2ae5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 14 23:24:45 2006 +0000
+
+ allow specifying image size on cmd line
+
+commit 9cbe0e24ac3772ec5db303e532166351affc91c9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 14 23:02:26 2006 +0000
+
+ Some code movement so that the gl_framebuffer is fully initialized before
+ calling _mesa_make_current() to avoid hitting the initialize_framebuffer_size()
+ stuff in context.c
+
+commit d21fa9cd79e4198b673c1453b8bc05749f8a73eb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 14 22:52:17 2006 +0000
+
+ Big re-org of buffer size management.
+ All buffer resizes now handled by xmesa_check_and_update_buffer_size() which
+ uses the _mesa_resize_framebuffer() function.
+ Moved all low-level XImage/Pixmap resizing into xm_buffers.c file.
+ Also, update lots of comments for Doxygen.
+
+commit 2b46f4b85330a579ae919f3f31af1550b5affdee
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 14 21:33:06 2006 +0000
+
+ cut and paste error: s/Width/Height/
+
+commit 2458aba0e9037eaef77dcfeee56d676520560d77
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 14 20:28:36 2006 +0000
+
+ build fix: s/Table/TableUB/
+
+commit 63f6802077c2279e1b9551f9a628e6a313488f8d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 14 15:22:18 2006 +0000
+
+ assorted clean-ups
+
+commit cb977ae5f4c9fab5753c04bfdd8736978ad4feee
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Fri Oct 13 22:10:05 2006 +0000
+
+ implement ARB_point_parameters and ARB_point_sprite on r200. The code is nearly the same as outlined in bug #4707, except it disables perspective correction for point sprites to make them actually work. And, separate the state atom into two as the tcl parameters would overwrite vertex program parameters when active. Also implement the GL_VERTEX_PROGRAM_POINT_SIZE_ARB option to make vertex programs outputting a point size work correctly (untested). Smooth points will still always be size 1. While here, enable gouraud shading for fog when using fog coord.
+
+commit 40b88fd1f3dedd0137b170a7272854e2bf4c3210
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 13 17:45:08 2006 +0000
+
+ remove needless condition
+
+commit 5b0edff412f45fe64bd42fb481adeda7d34b0fa8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 13 17:41:23 2006 +0000
+
+ Consolidate, move, fix code related to color index and stencil image transfer
+ operations (shift, offset, table lookup, etc).
+
+commit 461651357713b1408400669d6a809f2e367182fe
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Oct 13 17:34:01 2006 +0000
+
+ Fix dumb build errors.
+
+ I always build with -DGLX_USE_TLS, so I never hit these paths. glapi.h is
+ required in some places because _glapi_Dispatch is declared there, but
+ _glapi_tls_Dispatch is declared in glthread.h.
+
+commit 176501dfff14b5bec78af2b3487207d42c26d37a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 13 16:34:25 2006 +0000
+
+ In _mesa_pack_rgba_span_float() we don't need to make a temporary copy of
+ incoming colors when applying pixel transfer ops. In all cases, the
+ caller either indicates there's no pixel transfer ops, or the incoming
+ colors are coming from temporary storage already and can be safely
+ modified.
+
+commit 8a9b5518fb946462fe55a62c1da1cab94d6d12cc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 13 15:11:47 2006 +0000
+
+ s/GLuint/GLbitfield/
+
+commit bf8647a58bcfcd2aacf91d2f7a4f1a55f1e1f138
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 13 15:10:55 2006 +0000
+
+ s/GL_FALSE/0x0/
+
+commit 6b998c5584b7b4be84551a7811d04dcff8487cc9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 13 15:00:35 2006 +0000
+
+ removed obsolete _mesa_pack_rgba_span_chan()
+
+commit c28d0f779aec13f937d452de01a1b34a2ec44de8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 13 13:28:48 2006 +0000
+
+ include glapi.h to fix broken build
+
+commit a2c50b0f4ad16855cf8a2ff2ab4029342f4297dd
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Oct 13 11:21:55 2006 +0000
+
+ Upload of interleaved arrays currently assumes that position is the
+ first element in the interleaved group. Add a test to catch cases
+ where this isn't true and use per-array uploads instead. Fixes compiz
+ glitches on x64.
+
+commit fd6341e57494e80f02aaf69461a7169e9048c39f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Oct 13 11:20:25 2006 +0000
+
+ Make sure instructions are zero'd out before use.
+
+commit e595ce79d6b917f7106f3b340795bd507e2625e8
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Oct 13 11:19:38 2006 +0000
+
+ Use unsigned long batchbuffer offset, fixes x64 warnings.
+
+commit b2367157698c561d9cd7da56afdbe97c177b6d32
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Oct 13 11:17:37 2006 +0000
+
+ Fix printf warning.
+
+commit 0dceffce3329be61624922f70ddc1a66296e9634
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Oct 13 11:16:45 2006 +0000
+
+ Use unsigned long cast for checking pointer alignment, fixes x64 warnings.
+
+commit f06b9e4a8d2a5b95cc3c19df564d7a53723ced76
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Oct 13 11:14:43 2006 +0000
+
+ Use mesa function to get opcode name rather than an internal table.
+
+commit 201e6b9b753ea9cc5432c1d577231223ded7951c
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Fri Oct 13 08:44:32 2006 +0000
+
+ Indent and cosmetic changes.
+
+commit e5a6fcc345867b550a159a7d94912a81e618279c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 13 00:44:31 2006 +0000
+
+ Revamp color table code.
+ Always store all color tables as both float and ubyte.
+
+commit e392c92250bf91c7aaaeb78e7ec598f86f2a1d6d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 12 23:48:57 2006 +0000
+
+ adjust_colors() function replaces old _mesa_chan_to_float_span() function.
+
+commit 0bfc56d7d36ddc86fdf7d5dad060fdf90f4bdbe9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 12 23:47:51 2006 +0000
+
+ use _mesa_map_ci8_to_rgba8() instead of _mesa_map_ci8_to_rgba()
+
+commit 5bc33fe6f1c66ff6e3d41909847cb96ee45d78f3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 12 23:47:19 2006 +0000
+
+ remove _mesa_chan_to_float_span(), rename _mesa_map_ci8_to_rgba()
+
+commit 556c2fa3a33001912c18b83893d513e4740fb67f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 12 23:18:05 2006 +0000
+
+ _mesa_map_ci_to_rgba_chan() no longer used
+
+commit 76e778dce59aa6f290db50242df945943fc47b05
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 12 23:17:02 2006 +0000
+
+ Lots of changes to support runtime renderbuffer depths.
+ _swrast_read_rgba_span() now takes a datatype parameter.
+ New optimization for glReadPixels(format=GL_RGB).
+ New glCopyPixels optimization for the simple, common cases.
+
+commit 4bb9f4115c4b1930a140da78feff953e80f8a4f5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 12 23:14:19 2006 +0000
+
+ don't use temp storage in _mesa_convert_colors() when possible
+
+commit 57d719afb1663da1c0b8272d01036be6816e4402
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 12 15:55:04 2006 +0000
+
+ remove some debug code invalidated by prev check-in
+
+commit f3f51bc844c8749250724d164722402cb9a07dc7
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Oct 11 22:37:14 2006 +0000
+
+ Fix bug #4681.
+
+ glDeleteTextures and glDeleteTexturesEXT were erroneously listed as
+ aliases of each other. For anything /except/ GLX protocol they are
+ aliases. This set of changes allows functions that are functionally
+ identical but have different GLX protocol to be listed as aliases.
+
+ When building with GLX_INDIRECT_RENDERING set, different static
+ functions are used. These functions determine whether the current
+ context is direct rendering or not. If the context is direct
+ rendering, the aliased function (e.g., glDeleteTextures in the case of
+ glDeleteTexturesEXT) is called. If the context is not direct
+ rendering, the correct GLX protocol is sent.
+
+ For a deeper explanation of what is changed, please see:
+ http://dri.freedesktop.org/wiki/PartiallyAliasedFunctions
+
+commit 8a5871a98c23ce1a1d893b681f59dc8c42228dd1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 11 22:21:55 2006 +0000
+
+ use GLvoid * for _swrast_write_zoomed_rgb/rgba_span() functions
+
+commit 55fa6a2fdbc9108f2d435b70cefb58e77bba903a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 11 22:07:01 2006 +0000
+
+ rewrite/simplify the fast_draw_pixels() function
+
+commit f971e24cf0341dd2779196a0836327b74fc82336
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 11 22:03:34 2006 +0000
+
+ use _mesa_convert_colors(), update some assertions
+
+commit 32a966dad9c5c6309adafcb58050cd0f70c32bde
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 11 22:02:36 2006 +0000
+
+ Added _mesa_convert_colors().
+ _mesa_clip_drawpixels() now handles Pixel.ZoomY==-1.
+
+commit 86f0e0b9cc5dd5a06f0571e864e513e82aab3e80
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 11 20:14:08 2006 +0000
+
+ support for runtime renderbuffer depths
+
+commit 94408682704b59af657f8849abc192ababccc44f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 11 17:45:06 2006 +0000
+
+ In xmesa_DrawPixels_8R8G8B() check if drawing into a window system buffer,
+ not a user-created FBO.
+
+commit c364c57a1cfd2ab8e6f7f86f9b8cebb2b5d1a89b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 11 16:34:23 2006 +0000
+
+ added shaderobjects_3dlabs.c
+
+commit bb252d696f24893b209eb4204892a18bdf765b43
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 11 16:26:09 2006 +0000
+
+ remove 3dlabs.c
+
+commit ed52be8c3ffbe439f73d400ae608d5699f2d2a5f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 11 16:05:59 2006 +0000
+
+ sources for X.org xserver build
+
+commit d3112d36d7bf06920d7bb4e5e76f2c82e65e7641
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 11 15:52:00 2006 +0000
+
+ List of source (.c) files in each directory.
+ To be included by X.org Makefile.am files so that lists of files don't need
+ to be hardcoded and frequently updated there.
+
+commit 81968ec49d9e06be0e095fa0084aa61b68b23d75
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 10 22:45:50 2006 +0000
+
+ a step toward moving run-time vertex program state out of GLcontext
+
+commit c61ecf373e58151aa7d3a4244ef139e015676b66
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 10 21:44:55 2006 +0000
+
+ fixed NV_position_invariant
+
+commit 39c4daa6bc15a83a97c3c0b456bf1795ef9e6099
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 10 21:43:31 2006 +0000
+
+ Move the fp_machine struct into s_nvfragmprog.c since (except for program
+ debug) it's only used there.
+
+commit 97a659337e6effe439434258350498311052f4af
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 10 21:25:27 2006 +0000
+
+ s/GLuint/GLbitfield/
+
+commit fe6947002f7d24e88286f19e05510b199e6990b3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 10 21:23:23 2006 +0000
+
+ If program is position invariant, set VERT_BIT_POS in InputsRead field.
+ Fixes broken "OPTION NV_position_invariant".
+
+commit d886423b3c0b800656ba5d4c6480bba90f8e5981
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Oct 10 08:58:43 2006 +0000
+
+ Use the mesa-provided texenv program rather than rolling our own.
+ Turn on texture crossbar support.
+
+commit fcd758868b494411247ef94e0ea7cbac3e3ed79f
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Oct 9 18:26:03 2006 +0000
+
+ Added dispatch.html.
+
+ This new file documents Mesa's implementation of GL function dispatch. It's
+ not quite complete, but I think there's enough there to make it useful.
+
+commit 5ab9dcd761a42042b769f021b122d53e49d890b1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 9 16:09:30 2006 +0000
+
+ return void instead of GLvoid for glClearDebugLogMESA(), glGetDebugLogMESA()
+
+commit b8f26126e2874a00321af084bc2cdb486a62aa8f
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Oct 9 15:25:03 2006 +0000
+
+ Updates for XCB. Bug 8560.
+
+commit d3b257374ef1c367de0e2a38924021818b19a37e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 9 14:57:50 2006 +0000
+
+ added a SyncHandle() call, remove UnlockDisplay() call. (bug 8521)
+
+commit 0a0cd3a8ae32fcdfd058969ae288449bbc87ca60
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 9 14:55:46 2006 +0000
+
+ Updates for XCB. Bug 8560.
+
+commit dba173077e24fc523cf41639284ac0130027b4d0
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Sat Oct 7 02:52:18 2006 +0000
+
+ Major clean up of MakeContextCurrent
+
+ Rearrange most of the internals of MakeContextCurrent. Put all of the code to
+ bind the new context up front. If that is successful, unbind the old context.
+ This saves a lot of code and removes some locking crazyiness.
+
+ This patch has been tested for indirect rendering with glxinfo, glxgears,
+ manywin, and wincopy.
+
+commit fa65447d8c3aa4c5e418c567a648dccacfbde0da
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Sat Oct 7 01:04:49 2006 +0000
+
+ do not import arrays for generic arb attribs if the array is not enabled (same as for generic attribs for nv vp is already done). Since the requested stride is 16, otherwise the code would end up doing lots of unnecessary import work (in doom3, trans_4_GLfloat_4f_raw caused by that was by far the single most time-consuming function in the r200 driver, not importing the disabled arrays caused the cpu time spent in the driver to drop from 45% to 30%, though real-world gain was pretty minimal as it's not really cpu bound here in the first place).
+
+commit 524bf7bbcf75bc4887dbc0f2f87ed79a8c44ab20
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 6 03:52:01 2006 +0000
+
+ rewrite clear_rgba_buffer_with_masking()
+
+commit e18d0f82b6271103e292fde5bab6fceccb96f90a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 6 03:49:46 2006 +0000
+
+ deal with union/aliasing in convert_color_type()
+
+commit 6e138dfa361c33b8e0adcf1cafa9781fb53e219d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 6 03:48:42 2006 +0000
+
+ rewrite of read_fast_rgba_pixels()
+
+commit fcb48e34229eba9db6835c24fcf8f8fde91b446a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Oct 5 19:16:46 2006 +0000
+
+ missing file
+
+commit 68da677ae29c0c38ca1bce1ce78087b9c7cf0e1a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Oct 5 11:35:57 2006 +0000
+
+ Accelerate glBitmap with a color expand blit. Nice speedup for demos
+ like 'fire' that display a help message or fps number this way.
+
+commit 1eca12a7d9f26ab5b68c5ba665c81c8aadec34fb
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Oct 5 11:34:01 2006 +0000
+
+ Quieten debug message.
+
+commit 496f9ddf351bd91ea17c257f94e3504e87992202
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Oct 5 11:28:45 2006 +0000
+
+ eliminate rhw divide under some circumstances
+
+commit e7b0ec9ae79d4ec4aba402b9124fde55d914da92
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Oct 5 11:27:13 2006 +0000
+
+ Quieten debug message.
+
+commit 6921063520006496544b41c916ac82c3c2a87548
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Oct 4 22:33:54 2006 +0000
+
+ Changes to generated code caused by the previous commits.
+
+commit 491a16fb0f753369931cac51762b7d0b4462486b
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Oct 4 21:59:51 2006 +0000
+
+ Fix the ordering of extensions.
+
+commit 990c8a9df9f7b7081b0406fcffcae6f37c1d39e7
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Oct 4 21:55:55 2006 +0000
+
+ Keep indentation consistent with indent.
+
+ Remove code in the Python scripts that keeps the indentation of the
+ generated code consistent for all cases. Instead, pass the generated code
+ through the indent command. Unix tools for the win!
+
+commit eaeaaf6205b304be290f2f869b3d224c318be749
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Oct 4 20:45:59 2006 +0000
+
+ Divide categories into four groups as they are processed from the XML. Add
+ an iterator to iterate over the categories in order, starting with "core"
+ versions, then ARB extensions, then numbered non-ARB extensions, and finally
+ unnumbered extensions.
+
+ Use the new iterator in a couple places to ensure that output that is
+ grouped by catgory is generated in a consistent order.
+
+ More changes to the scripts are coming. The generated files will be
+ committed one time after all the changes are in. Too bad we're not using
+ GIT, or this would be easy. :(
+
+commit 553b8334bbe6b0af9496722f05cb8fc2e4d43a01
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Oct 4 18:58:10 2006 +0000
+
+ Add utility method client_supported_for_indirect.
+
+ The new method client_supported_for_indirect is used to determine whether or
+ not the client-side library supports the function for indirect rendering.
+ The may or may not have associated protocol that needs to be generated
+ (e.g., glVertexPointer does not, but glVertex3fv does).
+
+commit 25e441e8e92688e596e4976b32818141d9fa3aab
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 4 16:22:24 2006 +0000
+
+ in MakeContextCurrent() use old display pointer for __glXSetupForCommand(), bug 8443
+
+commit 5ed4e35ba5d65c5b1fff8b2da0270b74ba1a065e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 4 15:22:11 2006 +0000
+
+ use _swrast_span_default_color() in the disabled code too
+
+commit 9b507639ab31b2d611344f061614e71d47c9a84c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 4 15:21:23 2006 +0000
+
+ call _swrast_span_default_color() to simplify _swrast_Bitmap(), improved comments
+
+commit da62bcecfb92978d7243928cfa0fb076b3de762d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 4 15:06:27 2006 +0000
+
+ minor formatting fix
+
+commit 3fd5aa88eaa6584c9d7292dd0d98499ff1055055
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Mon Oct 2 20:34:06 2006 +0000
+
+ Bugzilla 6242: [mach64] Use private DMA buffers (only)
+ https://bugs.freedesktop.org/show_bug.cgi?id=6242
+ Patch by George Sapountzis: https://bugs.freedesktop.org/attachment.cgi?id=6271
+
+ Update to new mach64 DRM 2.0.0 with private DMA buffers.
+ Handle EAGAIN in mach64FireBlitLocked: call drmCommandWrite up to
+ MACH64_TIMEOUT times when EAGAIN is returned.
+ Also handle EAGAIN in mach64FlushVerticesLocked.
+
+commit 346a239f0144b5ba7ebad39b70ee7e125264cd6e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 2 15:20:23 2006 +0000
+
+ return null if no context
+
+commit cdb27e8242215271364602995d85607cfc06d441
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 1 16:03:05 2006 +0000
+
+ New SWspan and SWspanarrays typedefs.
+
+commit 46929c93d8c3b1a9682c24b3f3f6d6ed1878e422
+Author: Michel Dänzer <michel@daenzer.net>
+Date: Fri Sep 29 10:22:54 2006 +0000
+
+ i915: Fix wait for scheduled swap on secondary display.
+
+commit 7fa99ed3d825707fd0a6abdd690abb9e6af5ba9d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 29 02:15:23 2006 +0000
+
+ updated protos for blend funcs
+
+commit d92da49bae30be612efb6ea20bdfda232ee3d01d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 29 02:12:07 2006 +0000
+
+ more changes for runtime renderbuffer depths
+
+commit 0ce6a2935c85118ca20f5dfc5911a39c481dc791
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 29 01:26:55 2006 +0000
+
+ include mipmap.h
+
+commit 24edd9015951dd41898902b6c3973fe605e5871a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 29 01:24:26 2006 +0000
+
+ Move mipmap generation functions, texture scaling functions into new
+ mipmap.c file.
+
+commit bb4b378c602a7a3f8c6453ecf3ce4bd1dbdb0c9a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 29 01:22:53 2006 +0000
+
+ updated info about name mangling
+
+commit af866291da0856482bd10d1c8e7ee907af2a0d39
+Author: Michel Dänzer <michel@daenzer.net>
+Date: Thu Sep 28 14:10:47 2006 +0000
+
+ Synchronize drawable to the pipe where the bigger part can be visible.
+
+ This requires the DDX driver to set the corresponding fields in the SAREA,
+ so check its minor version.
+
+commit 4abf2706e938a2c5d68c66985140bcad360eba3c
+Author: Michel Dänzer <michel@daenzer.net>
+Date: Thu Sep 28 14:10:07 2006 +0000
+
+ Add new I830 SAREA fields.
+
+commit ebc879014c8b3cba1db69f2d8f9006cc031ba350
+Author: Michel Dänzer <michel@daenzer.net>
+Date: Thu Sep 28 14:09:20 2006 +0000
+
+ Add helper function that returns the current vblank sequence of a drawable.
+
+commit 638ece315f4ee7be7f0fe0a0acd2550b4ccb8a7d
+Author: Michel Dänzer <michel@daenzer.net>
+Date: Thu Sep 28 14:08:38 2006 +0000
+
+ Add helper function to calculate the area of the intersection of two rectangles.
+
+commit 941c8667394a3ea5b4793d988796e0f397390626
+Author: Michel Dänzer <michel@daenzer.net>
+Date: Thu Sep 28 14:07:56 2006 +0000
+
+ i915: Handle DRM_VBLANK_SECONDARY when scheduling buffer swaps.
+
+commit c2f1a1857e553f4d11fc0715bb586f69ac147df0
+Author: Michel Dänzer <michel@daenzer.net>
+Date: Thu Sep 28 14:07:12 2006 +0000
+
+ i915: Attempt to schedule buffer swap on target vertical blank when possible.
+
+ This has some advantages over the traditional way of first waiting for the
+ target vertical blank and then emitting the buffer swap, e.g.
+
+ * glXSwapBuffers returns immediately, only the next time the driver needs the
+ hardware lock will it block until the target vertical blank. This should
+ allow applications that don't intermix rendering and other processing to
+ start processing for the next frame right away.
+ * It's less likely to produce tearing.
+
+commit 7585fc989de1eabe7b978226b8750f912f06778c
+Author: Michel Dänzer <michel@daenzer.net>
+Date: Thu Sep 28 14:04:19 2006 +0000
+
+ Add driGetVBlankInterval() helper function.
+
+ This can be used by drivers to determine the current swap interval of a
+ drawable.
+
+commit 7539fde334d3164bc9d33cdabac9c5741d61d012
+Author: Michel Dänzer <michel@daenzer.net>
+Date: Thu Sep 28 14:03:41 2006 +0000
+
+ driWaitForVBlank: Add support for secondary vertical blank.
+
+commit 6a2f5c6752213cea67b142727eba9e0900952346
+Author: Michel Dänzer <michel@daenzer.net>
+Date: Thu Sep 28 14:03:02 2006 +0000
+
+ Some restructuring of the driWaitForVBlank() code.
+
+ Also some minor fixes for detecting when the deadline is met or missed, in
+ particular wrt wraparounds of the sequence number.
+
+commit 24bb3b399847bdb11f0008820c2c1bad1e21d499
+Author: Michel Dänzer <michel@daenzer.net>
+Date: Thu Sep 28 14:02:05 2006 +0000
+
+ Make driDrawableInitVBlank() initialize the sequence number.
+
+ This prevents the first wait for vertical blank from timing out when the X
+ server has been running for a long time.
+
+commit 1d914fe465fd9ac4775b88481c3a84ea398ce66e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 27 14:00:37 2006 +0000
+
+ remove obsolete comment
+
+commit 07bacc226379dba36b245672af6d680a7d18e58f
+Author: Jeremy Kolb <jkolb@freedesktop.org>
+Date: Tue Sep 26 23:56:20 2006 +0000
+
+ Update to use the new XCB naming convention.
+
+commit 3d7ee324adca4f4c20a793d5d01921c6e757b681
+Author: Jeremy Kolb <jkolb@freedesktop.org>
+Date: Tue Sep 26 23:47:04 2006 +0000
+
+ Added function convertStringForXCB. Deals with the recent XCB naming convention switch.
+ Updated the generated code to use the new XCB naming scheme.
+
+commit b68788a1ca4d8dd7a8fa953ea81008df8f31b95d
+Author: Jeremy Kolb <jkolb@freedesktop.org>
+Date: Tue Sep 26 23:45:28 2006 +0000
+
+ Update linux-dr-xcb config file to use LIBDRM_CFLAGS
+
+commit 9e82552c30298bb77764f2d7bdf4fbb18008978b
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Tue Sep 26 17:35:41 2006 +0000
+
+ Remove r200 dependency
+
+ Remove r200 dependency from the code as r200 merged
+ driver never worked (right ?) and we want to clean
+ the code.
+
+commit c67d8678dd50f74906d3eb666fdd76144d1d293f
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Tue Sep 26 17:28:40 2006 +0000
+
+ Remove r200 dependency.
+
+ Remove r200*.h files dependency.
+
+commit ea87987ddaa4d963b00dfe51af3387615dd90594
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue Sep 26 16:06:35 2006 +0000
+
+ Prepend #extension 'MESA_shader_debug: require' to each shader.
+
+commit 27f660c16407d08e06fd0cc97bb247b41ae76f3b
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue Sep 26 16:01:11 2006 +0000
+
+ Add GLSL preprocessor.
+
+commit 4303d227396ab3a6f70c6c8318dcb9b30ca30755
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue Sep 26 12:10:33 2006 +0000
+
+ Fix Windows newlines.
+
+commit 16647b739baf9701e3d037fc7030f45e7bde5c7e
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue Sep 26 11:43:30 2006 +0000
+
+ Add syntax files for expression and directive preprocessor.
+ Fix syntax errors in builtin library 1.2 sources.
+ All derivative files (*_gc.h and *_syn.h) are generated by Makefile.
+
+commit a50b7dbc3ba1db8c92b4bbb4f7f06de8d6c039c4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 25 23:57:39 2006 +0000
+
+ Initial work for supporting different renderbuffer color depths at runtime.
+
+commit df8632ebd87219c809810d993f56fef1e6853a25
+Author: Michel Dänzer <michel@daenzer.net>
+Date: Mon Sep 25 16:34:40 2006 +0000
+
+ Fix and re-enable swizzling paths for big endian platforms.
+
+commit cbdd7e1094e55b4c3c8737141845e749e442471f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Sep 25 09:14:26 2006 +0000
+
+ bring in active_sz mechanism from i965 driver. Fixes bug 8410
+
+commit f1945796ed5a2d15a8c3694019e6e5e1ab58db3e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Sep 25 09:12:25 2006 +0000
+
+ Fixup one place where attrsz was being used instead of active_sz
+
+commit f515c78a2320369ead087c4e0efd583f17b4b78b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Sep 24 19:59:30 2006 +0000
+
+ Change logicop, blend, masking functions to use the colors/indexes in the
+ sw_span object, rather than an explicit parameter.
+
+commit ba001224a18fa12792696ef393e708e90092127e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Sep 24 19:46:42 2006 +0000
+
+ Roll the multi_write_rgba_span() code into _swrast_write_rgba_span().
+
+commit 0785b6052ae902bc9075a476b46ad82bbce3e60c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Sep 24 16:34:56 2006 +0000
+
+ use span.array->rgba instead of local var in accum_return()
+
+commit f11508c29f4e2cbe50c5580e054342a4c3ddb4c0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Sep 24 16:31:23 2006 +0000
+
+ use span.arrays for color/indexes instead of a local var when doing masked clears
+
+commit a05db7f505caef75296170bcb6884ba287b1ab25
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Sun Sep 24 13:16:23 2006 +0000
+
+ Kill all the current shader code.
+
+commit e184bd861c0b3023c5fd5596083e12aaedb2d5e2
+Author: Sean D'Epagnier <geckosenator@freedesktop.org>
+Date: Sun Sep 24 10:57:26 2006 +0000
+
+ corrected cursor drawing
+ added handling of SIGWINCH
+ fixed input of recieving SIGIO while handling SIGIO
+ corrected input code for return
+ uncommented normal calculation to models
+
+commit 1ad12874b30dcb2228621da1f519b846b4975fde
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 23 16:09:26 2006 +0000
+
+ allocate larger TempImage, use COMBO var to choose test format/type
+
+commit 7b803d649a02fa071b6f82f28e2308e7845d11c4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 22 19:28:36 2006 +0000
+
+ fix the broken fallback string/debug stuff
+
+commit 5174e7c18162d54bfa5985ce66dcbc5c2150ed7d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 22 19:09:50 2006 +0000
+
+ remove extra indentation
+
+commit 43715c711d2c1d1e7624cd7c9c8a44b8866510fd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 22 17:44:39 2006 +0000
+
+ Get rid of _swrast_mask_rgba_array() and _swrast_mask_index_array().
+
+commit 9f819dc0145aabe18717dcd1de6e83e62bb8b19a
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Fri Sep 22 15:48:50 2006 +0000
+
+ fix up access to vertex attrib components which don't really exist but are defined to some default value by the spec (fogcoord yzw, normal w, secondary color w), by replacing those components with zero/one respectively using swizzling.
+
+commit 9c5d75e592edd15b737294853fc247b66d74619e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Sep 22 14:43:09 2006 +0000
+
+ Explicit test for +ve pitches in intelEmitCopyBlit()
+
+commit 8a0fb128c30f7f8defcdd7f98b1ded47c83355f9
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Fri Sep 22 13:34:24 2006 +0000
+
+ don't skip user clip plane clipping when the current vertex program is position invariant.
+
+commit 7e9799ac3d7f3b1b90f098420d413be95916c541
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Sep 22 11:45:21 2006 +0000
+
+ Use _Enabled rather than _Active when checking for fragment shaders
+
+commit df058298e1570eea8712f9bb051f674fab2eaf24
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Sep 22 11:40:35 2006 +0000
+
+ Flush driver, not just tnl module.
+
+commit f9bfdb1ce47380a23218a8253ac1dde923ee13fc
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Sep 22 11:36:30 2006 +0000
+
+ resize buffers in MakeCurrent
+
+commit f118b9b40d5928c36fba9759e508d8f84fc2909d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Sep 22 11:33:46 2006 +0000
+
+ Remove unused variable.
+
+commit 424749c3d5a37807d8b600886e045f77da03db67
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Fri Sep 22 11:09:07 2006 +0000
+
+ Correcting directory name in OpenVMS-Makefile
+
+commit 57d705d5a939180bd992cad2f24d95c329b5b28c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 21 23:19:40 2006 +0000
+
+ remove rgb[] array from span_arrays_struct - was only used in a few places
+
+commit c7d0fe1c4bbd504e8fa043145f38c7b1876ff8bb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 21 23:04:29 2006 +0000
+
+ new comments, indentation fixes
+
+commit 4af404038c43d05de4d8a640cd54461c5df21db5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 21 23:02:21 2006 +0000
+
+ bump version to 6.5.2
+
+commit 76785cb70af51c99fd74d897faa2771d2e2702f5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 21 22:59:50 2006 +0000
+
+ move a conditional into an assertion
+
+commit 87c5ec817c02f497b5608b5756c207bb0c6b48ff
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 21 22:54:53 2006 +0000
+
+ updated doxygen info
+
+commit bb0862968e1915852a011cd296ec6918b1142518
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 21 22:53:15 2006 +0000
+
+ updated extension info
+
+commit 60955d7f96952e3815438711d8b595c63899972d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 21 22:51:16 2006 +0000
+
+ Re-org of per-release info.
+ From now on, put all release-specific info into the release-X.Y.Z.html file
+ rather than scattered between a relnotes file, versions.html and news.html.
+
+commit 248200737398a7d6403a23930a6c9d93db06b942
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 21 22:43:51 2006 +0000
+
+ replace assert(0) with error report, improved comments, etc
+
+commit bad5cf056ac653e97d96114d42b874f15a3c2ec8
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Sep 21 18:31:36 2006 +0000
+
+ Fix incorrect byteswap_mapping(). Disable swizzle path on bigEndian
+ until someone can figure out whats wrong there.
+
+commit 184b5d89380e18008d64adfe1756dca9736426f2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 21 15:51:55 2006 +0000
+
+ use new _mesa_little_endian() function
+
+commit 32e0efbdbeb06170befc63af685d67711acc6c81
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 21 15:51:06 2006 +0000
+
+ added _mesa_little_endian()
+
+commit 81e0d73780362c3b2671bce9e49cb05930c747bc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 21 15:16:36 2006 +0000
+
+ GLUT_FORCE_VISUAL env var to force glut to use a particular visual (debug only)
+
+commit b7d9b1e724b9e7b91679ba7b0608d72938e259da
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 21 15:14:30 2006 +0000
+
+ new code to init DirectColor colormaps
+
+commit 167ca59fe893a62e23e799f51608d18847dd590a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Sep 21 12:43:05 2006 +0000
+
+ Fix the dstMap for rgb888 and bgr888 texture formats, which are the
+ opposite to what you'd naively expect.
+
+commit cac5974bf9385f8c9bd46f9c90bfa8144f0c33d6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Sep 21 10:20:15 2006 +0000
+
+ Do a better job of choosing texture formats to avoid image conversions.
+
+commit afd244d4e8dc36895676c1b3bdbdba59f03a6962
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Sep 21 10:07:04 2006 +0000
+
+ use the requested internal texture format where possible
+
+commit 76dd385fed7fc9b5303fb0b7707a49c5500d7748
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Sep 21 10:06:18 2006 +0000
+
+ Catch a couple of cases where we would have to delete and recreate the
+ miptree object.
+
+commit 3974cc8c09a00274f87c418cb295ed0cdd7c9d1e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Sep 20 22:40:34 2006 +0000
+
+ Deal with the overloading of _mesa_texstore_rgba, which is actually
+ used to store all sorts of formats.
+
+ Software mesa fails the glean pixelFormats test, but it appears to be
+ failing even with the swizzle code disabled??
+
+commit 3aea82b396387bf3835f91bcc9121e02274c4c04
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Sep 20 22:02:48 2006 +0000
+
+ Extend swizzle support to all remaining source formats and texture
+ destination formats.
+
+commit 62d4dfbfe3f7c452f3c182bfdb9270a2f20e3f2d
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Wed Sep 20 19:11:56 2006 +0000
+
+ try to use a 8888 texture format which will result in only a memcopy in mesa's texstore functions whenever possible for r200 and r300. r200 can use hw formats argb8888, rgba8888 and abgr8888 (or the opposite on big endian), r300 can use argb8888, bgra8888, rgba8888 and abgr8888 regardless of endian, as it supports free component swizzling.
+
+commit 46c3bd29be4970a8b0c1c358aae0f1d7c05bc9f4
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Sep 20 18:56:19 2006 +0000
+
+ Support both big and little endian, more source types and more
+ destination formats through the swizzle path. It would be great to
+ see this tested on eg, PPC machines...
+
+commit 528de982f88bfc025425ce1188781a34f4d84f1f
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Wed Sep 20 18:22:19 2006 +0000
+
+ reenable code in _mesa_texstore_rgba8888 to avoid the generic copy path if only swizzling is required as it works just fine (tested with glean pixelFormats test and a hacked up r200 driver which always uses that format).
+
+commit 2e5c686c2b6f356895f33b2815e41386946ab55a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Sep 20 17:41:18 2006 +0000
+
+ Fix various typos to pass glean pixelFormats test.
+
+commit fce0d13b4fff04de50fd91a8f4dfdc248b6262e0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Sep 20 17:07:13 2006 +0000
+
+ Enhance compute_component_mapping() to convert to and from any of the
+ color base formats.
+
+commit 4f17378ec32844a483c45252ebd76fa892b8aca7
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Sep 20 15:04:05 2006 +0000
+
+ Add a comment about the interactions of negative pitches, overlapping
+ blits and the different ways of specifying a blit on this hardware.
+
+commit f1d6ad6fe2e7813fcb236d63ccddfdf58f8c2f37
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Sep 20 15:00:24 2006 +0000
+
+ remove some dead code
+
+commit b5d0f6c17f637e9926813bbc9f4fa241a5f876dc
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Sep 20 14:58:55 2006 +0000
+
+ Fix some warnings
+
+commit 85b6d0c4df5358579dafcd3ddf5b1ab60bace38d
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Wed Sep 20 14:56:21 2006 +0000
+
+ fix mixed texgen/non-texgen with texgen modes requiring plane parameters (GL_OBJECT_LINEAR, GL_EYE_LINEAR). This is a chip limitation, try to hack it up regardless or use a tcl fallback in some cases. Might still produce wrong results if fixed up, but so far this corrects celestia ring shadows (in multitexture mode), doom3 (arb renderer), quake4 (arb renderer and some less visible bugs in r200 renderer), and even the remaining texgenmix broken case (this is pure luck though, it is easy to construct artifical cases where it will break).
+
+commit e38114a5e4492684333251eb22bc60ee1038de55
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Sep 20 14:54:49 2006 +0000
+
+ Support ARB_texture_rectangle.
+
+commit b35121d54df4bb8700c4135203162c1d79ca637d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Sep 20 14:44:40 2006 +0000
+
+ 1) Add a new flag in the sarea (coopting the unused texAge value) to
+ identify context switches between members of a share group -
+ ie. multiple contexts in a single application, possibly on different
+ threads. In this case the contexts share a bufmgr instance and there
+ is no need to evict textures - so don't.
+
+ 2) Use a new flag 'need_flush' to ensure hardware rendering is flushed
+ prior to starting a software fallback.
+
+commit 3a5319293c9210ea3c0c9d84604fa0720a96f0e8
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Sep 20 14:39:53 2006 +0000
+
+ Broadwater seems to prefer this style of blitting.
+
+commit d41d29b8bde9bb9c277424a43d0b80838edfe254
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 20 14:39:47 2006 +0000
+
+ make current GLX context per-thread
+
+commit 0c54e47c0e93f725b8bc028b0d4614011dbe3fef
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 20 14:39:24 2006 +0000
+
+ fix a memleak in DestroyContext()
+
+commit 83c3f9658d00e9ede22461b97484e629714a80f9
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Sep 20 14:36:49 2006 +0000
+
+ add accelerated glCopyPixels path
+
+commit 187f2cfb4ace79fabc994f4ce2753db5b11528eb
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Sep 20 14:30:22 2006 +0000
+
+ Add a new internal program parameter value STATE_TEXRECT_SCALE which
+ provides 1/width and 1/height of the active texture, useful for
+ implementing ARB_texture_rectangle support on hardware which only
+ supports ARB_npot-style texturing.
+
+commit 0c9259f3b95615ceda134bd7074d871cd0186c89
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Sep 20 14:28:42 2006 +0000
+
+ Fix _mesa_swizzle_ubyte_image() to deal with RGBA->RGB->RGBA
+ conversions, ensuring that the final A value is 0xff in those cases
+ where we use a RGBA hardware texture format to store RGB textures.
+ Fix a couple of cases where hardwired texture conversions were
+ ignoring this restriction.
+
+commit 5658810660aabc6348ae1b14eccbc8a88ce679f0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Sep 20 12:57:54 2006 +0000
+
+ Export _mesa_print_alu_instruction() to allow drivers to roll their
+ own debug code for programs with driver-private opcodes.
+
+ Remove redundant loop in _mesa_num_inst_src_regs().
+
+commit cb54c056a6d46d03bfa0c4927f5ac8843feab8cd
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Sep 20 12:53:35 2006 +0000
+
+ restore debug output after brw_wm_fp compilation stage
+
+commit 285801a9eda72310aa34e39c82beb57ec5e752d3
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Sep 20 12:49:52 2006 +0000
+
+ Use DEBUG_SYNC to switch between per-primitive and per-frame aubfile dumps.
+
+commit 408ce7e861d3a09acaf0b049d738da30850dbfae
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 19 22:43:41 2006 +0000
+
+ added LIBDRM_CFLAGS (Javier Villavicencio)
+
+commit dc4bf43898e489cde5f6291d51c4ab4371fa285c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 19 16:31:37 2006 +0000
+
+ fix CFLAGS (bug 8344)
+
+commit c42afefda146f29b93b21139ecbd436fee4931c4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 18 22:55:13 2006 +0000
+
+ change make depend output redirection to 2>&1 (bug 8344)
+
+commit 876b41bc03c9a92263b824378fc2191f85e0a403
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 18 15:03:04 2006 +0000
+
+ check for n <= 1 in compute_min_mag_ranges(), bug 8320
+
+commit f7da4e687c4ed81495b532f3a43e0efdc32fea37
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 18 15:02:26 2006 +0000
+
+ set lambda to zero for textured points (bug 8320)
+
+commit 7d907ef69c3cbd6cd0c49f454bc933bc9c343d31
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sun Sep 17 17:46:36 2006 +0000
+
+ Some small changes
+
+commit 473a38622e46d46b74d7426d0a2f4b60f4a1d5d4
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sun Sep 17 15:30:40 2006 +0000
+
+ Rename nouveau_tris.* to nouveau_swtcl.*
+
+commit c67f54552077b780df574cbcdea70b2cc37076ef
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sun Sep 17 14:36:07 2006 +0000
+
+ Small changes
+
+commit e324c52237fd1184a1f8436c8735cdd9ade5e067
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sun Sep 17 12:09:11 2006 +0000
+
+ Make nouveau actually compile
+
+commit 908388b11841c50c94c1c746819276809a545a32
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Sun Sep 17 11:58:52 2006 +0000
+
+ Some work towards making the nv10 swtcl compile
+
+commit 3d70f9ff82d68c72c735d54356d04d6c68ab5ca4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 16 04:23:16 2006 +0000
+
+ 6.5.1 md5 sums
+
+commit 0321dac2cd2e55b6e33eef4e12b8f2919715ae6a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 16 04:13:20 2006 +0000
+
+ update 6.5.1 release date
+
+commit a3a640171f12de91202b5dc4777ffd53be10a0aa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 16 04:10:56 2006 +0000
+
+ added #ifdef tests for Windows for int64_t, uint64_t
+
+commit 8636981646b81853283adf3d850e62a23d326763
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 15 19:00:37 2006 +0000
+
+ replace GLAPI w/ static and init var to 0 (Michel Donais)
+
+commit 54d3ab48786c973189ce3cd4bb0d3943e04e75e6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Sep 15 10:41:54 2006 +0000
+
+ npot version of redbook/mipmap.c
+
+commit a3b99fcb56ef2ef0de8eae640c85184aacab9a5b
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Sep 14 21:07:17 2006 +0000
+
+ Use correct opcodes for GLX_EXT_texture_from_pixmap.
+
+ Set the correct opcodes for GLX_EXT_texture_from_pixmap functions. Changes
+ to the glproto package and the core X server are also required.
+
+commit eee85373c7f115e63c14f00f66c978da618f1e81
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 14 20:31:13 2006 +0000
+
+ set 6.5.1 release date
+
+commit 3dcf23171dab87f02f7692e5c1e63575cb0dfef1
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Thu Sep 14 17:44:58 2006 +0000
+
+ Fallback if ColorLogicOp is enabled. Cleanup a bit the fallback
+ function.
+
+commit 8c9366a807b1b61e622831580bfbdc356af6a2af
+Author: Michel Dänzer <michel@daenzer.net>
+Date: Thu Sep 14 16:17:06 2006 +0000
+
+ Remove MESA_LITTLE_ENDIAN guard for code that seems to work fine on big endian.
+
+commit 657f738ea2fc6c758de9ad43e6d159972ca8ecef
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Sep 14 10:37:09 2006 +0000
+
+ VS nr of urb entries is constrained to be one of a fixed set of values,
+ specifically {8,16,32}.
+
+commit 6babf624b72a34b7be78bbc896bd241db98deb2e
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Wed Sep 13 23:56:09 2006 +0000
+
+ always use argb8888 instead of rgba8888, this is far more likely to hit a faster memcopy path in mesa (at least on little endian systems, possibly on big endian too)
+
+commit 2e2a9813355993ba79eeb8070391e45aabb84f94
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Wed Sep 13 23:51:39 2006 +0000
+
+ detect some more cases which can use straight memcpy for _mesa_texstore_rgba8888
+
+commit 99e0236046436fba25afb60632a76ad9cdfbbc9a
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Wed Sep 13 23:20:10 2006 +0000
+
+ Always mark tex state atom as dirty when the texture image is dirty, this ensures texture cache gets flushed in case the new texture has the same offset as the old one (fixes glean pixelFormat test at least on r200).
+
+commit 43aa03408497d653b7716b2b0fac116dc03e7e6e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 13 22:49:48 2006 +0000
+
+ updated comment
+
+commit 888b1a9166abfb1b2873cf7c1eb2daf45a26c84f
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Wed Sep 13 22:41:46 2006 +0000
+
+ don't use derived value _ColorLogicOpEnabled as it's not current by the time we call the blend/logic op functions. Fixes glean logicOp test on r200.
+
+commit fd2e402359e39d2afb9dcce9c64fe09906c4a877
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 13 21:02:32 2006 +0000
+
+ added GL_CURRENT_RASTER_SECONDARY_COLOR query (OpenGL 2.1)
+
+commit bd5331f9e86bdb112624ac30bf6b843675a5830c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 13 20:26:43 2006 +0000
+
+ just comments and const qualifiers
+
+commit ac1d7370a715f89448498b13c7279df6cb54b1e9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 13 20:14:24 2006 +0000
+
+ fix broken do_EXP()
+
+commit cb08dcbbf29dfa82128c8302f7aa69e90478a5ea
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Wed Sep 13 17:35:44 2006 +0000
+
+ fix GL_REFLECTION_MAP texgen by not using tex matrix negation when lighting is not enabled (?). This fixes demos/cubemap as well as glean texCube test.
+
+commit 87d6028f28d35ae7f88a606c8119be627eb6599a
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Wed Sep 13 17:30:11 2006 +0000
+
+ make sure we upload the new vertex program if the program string changes.
+
+commit 25d59d296223fcc44723aaf7005927fcd39eb390
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 13 16:41:25 2006 +0000
+
+ make triangle smoothing a sw fallback (Martign van Oosterhout)
+
+commit 323414940fc42760e2af3dd42a061c8c696cb7e9
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Tue Sep 12 18:52:13 2006 +0000
+
+ Fix compilation warning.
+
+commit 6a65e6db3d9a64cd2b233155a05074a3eb5c1975
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Tue Sep 12 18:34:43 2006 +0000
+
+ Removing some of r200 dependency, cleaning up code a bit,
+ and fixing a couple of warning. More cleanup and shuffle
+ to come. I have tested this change they might broke things
+ especialy with r300_texstate.c change (format_x doesn't
+ seems to be use at all by r300).
+
+commit b1cb39d8bdb6707be2e44d38c52f44515bcbf16e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Sep 12 14:27:57 2006 +0000
+
+ quieten debug
+
+commit 16a22a5f4a9e0497164ef0fddcb4fe9ba1f6756e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Sep 12 13:54:31 2006 +0000
+
+ Potential fix for doom3 lockups. Seems that there is a conflict
+ between the vertex cache, the vertex shader and the clipping stages,
+ all of which are competitors for URB entries assigned to the VS unit.
+ This change reduces the maximum number of clip and VS threads by
+ enough to ensure that they cannot consume all the available URB
+ entries, and then reduces the number somewhat more up to an arbitary
+ amount I discovered by trial and error. Unfortunately trial and error
+ solutions don't inspire total confidence...
+
+commit 72e810db9db663dd3ff5f746d942423d87928e86
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Sep 12 13:51:09 2006 +0000
+
+ Disassemble active program when DEBUG_VS is set.
+
+commit 7b8c73460f670fd18aa4a1fd4729d683b92b6c60
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Sep 12 13:50:22 2006 +0000
+
+ Add code to tweak aubfile state and primitives on replay.
+
+commit e1ae10db2c211d33959f74d8c5c3faeec37fbccf
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Sep 12 13:43:10 2006 +0000
+
+ Encode a unique id in the aub header date fields.
+
+commit bd38df11f43d726d2df3ad0b66b6962e08cfe1d1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 11 16:39:04 2006 +0000
+
+ Win32 fixes (SF bug 1554931)
+
+commit 31a66ada72e5d9eb728f5149b72121bb04776016
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 11 15:25:49 2006 +0000
+
+ undo some accidental changes in _mesa_is_legal_format_and_type()
+
+commit 02aa5fba0375a6013cc7cbaeb4883cc1263bbef4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 11 15:04:23 2006 +0000
+
+ init accum buffer fields in _mesa_update_framebuffer_visual()
+
+commit 25847f2b5b50d9bbd58729e28e4a3032972e6c0c
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Sun Sep 10 19:19:13 2006 +0000
+
+ remove code to deal with non-normalized texture coordinates for tex rect targets (swtcl tex coord translation stage, tcl tex matrix adaption) and use the chip's native handling of such coords instead (!!!). Seems noone noticed those bits in the se_coord_fmt reg, even though it works fairly similar to r200 (except it's set per-unit and always active, so only enable it for texture rectangles).
+
+commit cb535550588852175f22fd17ad080bc213021881
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Sep 10 17:42:57 2006 +0000
+
+ Redefine the BYTE_TO_FLOAT() and SHORT_TO_FLOAT() macros to avoid problems
+ converting 0 to exactly 0.0
+ This goes against the OpenGL spec (see table 2.6) but solves problems
+ when doing byte -> float -> ubyte conversion for particular texture formats.
+
+commit ef8244df1a195f227b1cdf2f944b7fd7a9917adf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Sep 10 17:10:36 2006 +0000
+
+ don't use xmesa_DrawPixels_8R8G8B() if there's a software alpha channel
+
+commit 799896244439c586b9610c7eedfef715f652d51b
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Sun Sep 10 13:48:51 2006 +0000
+
+ cause a raster fallback if a yuv texture is used on texture unit > 0 as yuv conversion appears only to work on first unit.
+
+commit ae481e1560d0c99b6fb2c4b240f9b99dafd9c4b1
+Author: Patrice Mandin <pmandin@freedesktop.org>
+Date: Fri Sep 8 23:19:45 2006 +0000
+
+ oops, time to go to bed
+
+commit ddaf3060fa5105dd9c769086a4bbfdb2488ae86b
+Author: Patrice Mandin <pmandin@freedesktop.org>
+Date: Fri Sep 8 23:18:27 2006 +0000
+
+ nv10: vertex attribute output format
+
+commit cdd433b29be9ad39b0c2e69d76d2de51f29eba2b
+Author: Patrice Mandin <pmandin@freedesktop.org>
+Date: Fri Sep 8 21:52:25 2006 +0000
+
+ more macros, still missing the alloc_verts one
+
+commit 1961611247313603f72315285be91c6b97df7e03
+Author: Patrice Mandin <pmandin@freedesktop.org>
+Date: Fri Sep 8 21:41:58 2006 +0000
+
+ reimport sw stuff
+
+commit 7a968481a00216e07d9a7d6400de147ddab66efd
+Author: Patrice Mandin <pmandin@freedesktop.org>
+Date: Fri Sep 8 21:34:47 2006 +0000
+
+ render_primitive macro
+
+commit 07d4c63ddc39a41c1048bd92c41b22b8c11712f3
+Author: Patrice Mandin <pmandin@freedesktop.org>
+Date: Fri Sep 8 21:30:32 2006 +0000
+
+ vert_copy_spec macro
+
+commit ad0f65537695492a6651857d59d7bad27bae6c8b
+Author: Patrice Mandin <pmandin@freedesktop.org>
+Date: Fri Sep 8 21:27:17 2006 +0000
+
+ vert_copy_rgba macro
+
+commit 6f0388ec71aaab8673fe2facf6811259a9787797
+Author: Patrice Mandin <pmandin@freedesktop.org>
+Date: Fri Sep 8 21:23:04 2006 +0000
+
+ basic primitives
+
+commit 179c1013d2a8aa83e6bd716a791930863604c46b
+Author: Patrice Mandin <pmandin@freedesktop.org>
+Date: Fri Sep 8 20:17:59 2006 +0000
+
+ Remove useless reference to fifo_num field
+
+commit 02df36f394da4f699b4841c279a6b573fcb7c32b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Sep 8 10:36:32 2006 +0000
+
+ Basic facility for playing back captured aubfiles. Requires a small
+ hack to the drm to disable command verification on the cmd_buffer
+ ioctl. Doesn't exactly replay as commands are normally delivered as
+ batchbuffers but are captured and replayed as commands on the ring.
+
+commit a5e73e68878ebed7347532285019befc8c7b1106
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Fri Sep 8 00:54:55 2006 +0000
+
+ cause a vtxfmt fallback directly when hitting NewList for radeon and r200 drivers, otherwise we'll mix up tcl and vtxfmt path for some reason. This fixes a warzone2100 asssertion failure.
+
+commit 3e05902d304e71493d05edef4c31c6ed1a22bf17
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Sep 7 19:58:16 2006 +0000
+
+ Consistent return values from the bm* functions.
+ Get aubfile generation working again.
+
+commit 493b2ddecb47fdacc4b73d9c9a3ba2e46489105f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Sep 7 19:05:40 2006 +0000
+
+ Cope with memory pool fragmentation by allowing a second attempt at
+ rendering operations to take place after evicting all resident
+ buffers.
+
+ Cope better with memory allocation failures throughout the driver and
+ improve tracking of failures.
+
+commit c26f36c830cc6df1093a145eb43645f535004eb7
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Sep 7 18:28:35 2006 +0000
+
+ Add some asserts, fix some not-quite-bugs.
+
+commit e48db4430fe850cbaf55f2ea5c142ecea3c2a48b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Sep 7 16:29:37 2006 +0000
+
+ Fix glitch with pool alignments.
+
+commit 1456a0fff6a68dac046aaa57585eadf65ad66892
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Sep 7 16:23:22 2006 +0000
+
+ Use lower alignments where possible. Also pad out allocated blocks to
+ a multiple of alignment to avoid accumulating unusable free blocks.
+
+commit 133f14168009393c5f396d218521625cb79b653f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Sep 7 16:09:50 2006 +0000
+
+ Make sure bmBufferOffset is called for all active buffers every time
+ we render. Currenly requires that some state be re-examined after
+ every LOCK_HARDWARE().
+
+commit c5cb8e2c6f2ad089bc0b94eb89abb2f804dd6dfa
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Thu Sep 7 13:34:29 2006 +0000
+
+ make really sure R200_VAP_PROG_VTX_SHADER_ENABLE is never set when we're already in a tcl fallback, otherwise the chip will instantly lock up when vertex progs are enabled the next time not in a tcl fallback (fixes for instance guaranteed lockup running any program which uses vertex progs with tcl_mode=0 and then later with tcl_mode=1).
+
+commit 28e7219b96e647ac59f6a28abf6d2aea3779dc47
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Thu Sep 7 13:26:44 2006 +0000
+
+ only allow VERT_ATTRIB_MAX instead of _TNL_ATTRIB_MAX for inputs of vertex programs (fixes a segfault since the result of the shift is undefined otherwise, and it may happen that _TNL_ATTRIB_POINTSIZE will be tried to read, unlike all other attribs this however may be unitialized (might be a bug in itself)).
+
+commit d016d4e70f518a0221d63eddca482d56398ffe35
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Thu Sep 7 06:02:00 2006 +0000
+
+ Fix a leak of the screen's option cache on cleanup (copied from radeon).
+
+commit 14ec34d64733478b773190cb62be37b7b2871a7f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Sep 6 18:30:00 2006 +0000
+
+ Simplify the immediate and displaylist code. Treat VertexAttrib*ARB
+ as non-aliasing and cope with the >32 attributes that result, taking
+ materials into account.
+
+commit 2216aac8ea2ab90cdf71658379f88f30131426c5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 6 13:56:26 2006 +0000
+
+ comment out EXTRA_LIB_PATH, ?= causes problems on HP-UX
+
+commit bb2180dca34ba9be4c26fd489900fa84d4ca1617
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 6 13:49:17 2006 +0000
+
+ Fixes from Christopher Bell:
+ Use -O instead of +O3 or +O2.
+ Remove +Oaggressive.
+ Replace -Aa with -Ae.
+
+commit 7d767604c7996ae5f048c592e9fab69ed80c9280
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 6 13:44:57 2006 +0000
+
+ remove stray tab
+
+commit d9aebd84980c58df9767f2b01fc7b8ec7620b161
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 6 05:03:47 2006 +0000
+
+ for VERTEX_ATTRIB_WEIGHT, use break, not return
+
+commit 4a901667e5f397278bf14603d17588a0df882744
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 5 23:20:58 2006 +0000
+
+ document vertex.weight hack
+
+commit 3a55750d4884dfaecde71d1584e69f46f14fce86
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 5 23:15:29 2006 +0000
+
+ Hack for Warcraft (bug 8060): allow 'vertex.weight' to be referenced in
+ vertex program, even though it's not really supported. Results will be
+ undefined, but Warcraft doesn't actually use the attribute.
+
+commit 43cc1dc18f4eb992e70b10fa66d1befa3a3ca912
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 5 23:11:09 2006 +0000
+
+ fix typo in enable_parser_extensions(): s/point_parameters/vertex_blend/
+
+commit a088f160b32a1bd461291fe975b9efd064ff24a5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 5 23:08:51 2006 +0000
+
+ Consolidate common case of _mesa_set_program_error() followed by _mesa_error()
+ in new program_error() function.
+ Add const qualifiers in many places.
+ Reorder some debug code to prevent referencing free'd memory.
+
+commit 1f03339f1c7e71fd1fcc7a119d231325d6085fc9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 5 18:23:21 2006 +0000
+
+ updated info about glxproto.h
+
+commit d5cbb49c2229c3eee4f3a4643c9142af8f3ad379
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Sep 5 10:01:24 2006 +0000
+
+ Dynamically allocate instruction store for tnl programs according to
+ requirements.
+
+commit 74b2166ff8e285ab2f9e49b48531619863ac78b2
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Sep 4 23:34:36 2006 +0000
+
+ Fixes for calculating point attenuation
+
+commit f65ad97469c023f03f30ec27f4cf92ee3edb267f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Sep 4 18:27:40 2006 +0000
+
+ Don't export NV_vertex_program as it's not supported, it confuses
+ glean, and we no longer need to export it to keep Mesa happy as we did
+ at one time.
+
+commit ac7ea9403090a437b8a300ed666cfe1d1f862818
+Author: Rune Petersen <rune@megahurts.dk>
+Date: Mon Sep 4 16:20:16 2006 +0000
+
+ Managed to make a commit that can't build... Sorry again...
+
+commit c78e895f09298e35474e68b23dba4c1437b851c9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 4 14:07:04 2006 +0000
+
+ get rid of GL_BOOLEAN definition (bug 8113)
+
+commit e08557ad8ad165c72088d83d43c44d62e380e5de
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Mon Sep 4 06:26:08 2006 +0000
+
+ OpenVMS compile support update
+ (previous commit did send the wrong file to the CVS)
+
+ Modified Files:
+ Mesa/include/GL/vms_x_fix.h
+
+commit 8cf3c85fd7896be396ff5aa84829a4e74a0935cb
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Mon Sep 4 06:22:39 2006 +0000
+
+ OpenVMS compile support update
+
+ Modified Files:
+ Mesa/include/GL/vms_x_fix.h
+
+commit 014bfda235e5315baf84b1d47329be167dd2ec7f
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Mon Sep 4 00:57:39 2006 +0000
+
+ fog state atom contains (only) fog params necessary for tcl. Must not be emitted if vertex progs are enabled as it overlaps vertex param #94.
+
+commit 5300e8242f118738d3df8d71ae8f53ab604957e6
+Author: Rune Petersen <rune@megahurts.dk>
+Date: Sun Sep 3 20:31:52 2006 +0000
+
+ add missing change to skip low impact RAST fallback...
+ Sorry.
+
+commit 5b4e7cdca4be195bbce4620f26b8e7f644862b79
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Fri Sep 1 23:36:30 2006 +0000
+
+ fix the presumably broken check for the allow_large_textures and vblank_mode options (same as bug 8042).
+
+commit 91650469aeb01f249bcd553d9d309b3016c2f93c
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Fri Sep 1 20:21:12 2006 +0000
+
+ make sure vertex programs are only enabled on the hw when they are really enabled, not just when a program enables vertex progs (could still be not enabled due to some error). Otherwise the hw potentially would try to execute a not valid (not set up at all) vertex program, likely leading to lockups. Hopefully fixes #8060.
+
+commit 6ec2d37ae80cc8b99e8ab2705aac4d9dd574f77e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Sep 1 14:57:19 2006 +0000
+
+ Catch a few more cases of using a message reg as an instruction source
+ arg.
+
+commit db0e53af74beafa0ba07b200396bfe12fa9f5c89
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Sep 1 14:18:06 2006 +0000
+
+ fix a couple of cases where a message reg is used as an instruction source.
+
+commit 75faa1e19a6b95a96cb74aee22fffdc745a07909
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Aug 31 20:50:43 2006 +0000
+
+ Add API description for GLX_SGI_swap_control.
+
+commit d6c675f497950c6fa5afea531e86a25fd115d2a5
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Aug 31 20:41:16 2006 +0000
+
+ Fix problems with vertex program protocol
+
+ There were two sets of bugs in the vertex program (ARB and NV)
+ protocol. First, several of the ARB functions were missing the
+ 'doubles_in_order="true"' annotation. Second, after the ARB decided
+ that glVertexAttrib*ARB functions must not alias fixed-function state
+ for GLSL, Nvidia re-assigned GLX protocol opcodes for
+ glVertexAttrib*NV (circa Septeber 2004). For some reason gl_API.xml
+ was never updated to reflect this, and the updated version of the
+ GL_NV_vertex_program spec never made into the registry.
+
+commit 934a2dcf0fcbc0e1f422453b50ae60ad8f0d8d12
+Author: Rune Petersen <rune@megahurts.dk>
+Date: Thu Aug 31 18:19:50 2006 +0000
+
+ re-apply shader fix.
+ appears to have been reverted by mistake.
+
+commit d9cb0fc44ded2441c07e7a64f8f811e62fc50524
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 31 17:54:31 2006 +0000
+
+ version bump
+
+commit b237d7fa14269bcd2847f9b6e40e8cebfec1f318
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Aug 31 17:24:55 2006 +0000
+
+ When using the old technique to set up the front buffer mapping, there
+ is no need to add front.offset to sPriv->pFB, it seems. Fixes several
+ glean issues and frontbuffer rendering generally.
+
+commit 6c44c53e06f28d54d245a5926893132eaad2eceb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 31 15:19:44 2006 +0000
+
+ update link
+
+commit c09458c133322ef47c3c29f2bd2be194e611abe3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 31 15:18:04 2006 +0000
+
+ remove VERSIONS from tarballs
+
+commit 761d87485e16908190b0c06e3bdb647adb004a4d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 31 15:17:43 2006 +0000
+
+ updated 6.5.1 relnotes link
+
+commit e2859ea6ef2e405ea260d6da20065d4a019d3f26
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 31 15:16:10 2006 +0000
+
+ Convert VERSIONS and RELNOTES-6.5.1 to html, update links to them.
+
+commit 3cbfef3917451485aab723b81200156a1077a91c
+Author: Rune Petersen <rune@megahurts.dk>
+Date: Thu Aug 31 15:15:29 2006 +0000
+
+ Give the user posibility to choose speed over correctness.
+
+ It does 2 things:
+ 1) Allows you to disable S3TC, wine-games sometimes need S3TC enabled.
+ 2) Disable fallbacks that usually have low impact.
+
+commit 52e36cd8d9a727d786c2db14ae8291d48fad8e47
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 31 13:58:08 2006 +0000
+
+ check if ext->name is null before strcmp()
+
+commit 901f83f14efbef80d03485580484dbdbc8f1234b
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Thu Aug 31 01:10:07 2006 +0000
+
+ do not abort with not supported vertex prog output configuration, fallback instead
+
+commit 7986cfbee019fbdfce8bb0a86d7b7e633e541014
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 30 23:50:31 2006 +0000
+
+ remove extension defines/protos that are now in glext.h
+
+commit 3cd07d2c390099ca0f9b2e27a548920f880715c4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 30 23:46:41 2006 +0000
+
+ latest version from OpenGL ARB
+
+commit cdb12bd0aebb07337edc8ab7ffcefa8246c3b2fe
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Wed Aug 30 23:45:32 2006 +0000
+
+ Handle API and dispatch table changes that removed a bunch of extension entry points.
+
+commit c6f8176b3fcc4401b2bdd89b90ff8e838f3c58a3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 30 23:40:53 2006 +0000
+
+ make prog2 a legal program (texture reference fix)
+
+commit b7fc1c32f8f4814987b35e2e92891c2fd6f9973b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 30 23:38:03 2006 +0000
+
+ Check that we don't try to reference more than one target of a texture unit.
+ For example, referencing both "texture[0], 2D" and "texture[0], CUBE" in one
+ program is an error.
+
+commit f6de865e56c953c8d0ddec2468b5283e644675be
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 30 23:36:52 2006 +0000
+
+ s/0/VERT_RESULT_HPOS/
+
+commit a70d56485a2d0f15ee5b660e8931eb8657535e2d
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Aug 30 23:15:02 2006 +0000
+
+ Add missing parenthesis so that glXSwapIntervalSGI protocol is
+ correctly generated.
+
+commit c7f571eb7e44da65950054fa75f599453bceca0c
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Aug 30 22:36:29 2006 +0000
+
+ Add missing vec4 instructions to the interpreter.
+ Other cosmetic changes.
+
+commit 8a4366717a7856d7119a7203437653e1aaafedd5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 30 22:04:09 2006 +0000
+
+ fix Xlib driver mem leaks
+
+commit 6c06ce281aa7a7e20eab1934f573bc5c673d41cb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 30 21:17:51 2006 +0000
+
+ Use XAddExtension() to register an XCloseDisplay() callback function.
+ When the callback is called, free all Mesa's private visual and buffer
+ data structures which are tied to the display.
+ Fixes problems reported by Kitware.
+
+commit 12a5f812fcf00708ea2b6501e7adcdd5e7a47fac
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 30 19:02:45 2006 +0000
+
+ init a local var to silence warning
+
+commit a974aaaa3e77a04375e5a9ddd413507596bd743e
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Wed Aug 30 13:44:31 2006 +0000
+
+ Minor r200 vertex program cleanups. Remove disabled leftovers from r300 vertex program code. Fix authors. Correct slightly wrong check to determine if ran out of temps. Simplify check to determine if ran out of max instructions. Correctly report used native temps. Always kick off program translation when ProgramStringNotify is called (otherwise the reported native resources used queried might be wrong).
+
+commit e6de1edaf0479f44773e5c841612937c7a891978
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Wed Aug 30 11:55:18 2006 +0000
+
+ fix initialization of native resource usage of vertex/fragment programs
+
+commit ef3f00f67e26e8944c98012e42433291ba92de0b
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Wed Aug 30 10:26:31 2006 +0000
+
+ fix typo causing a segfault when a vertex program uses more than 96 parameters
+
+commit 8334c8a2169055cd87e55d32403d59b8e46deb59
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 29 22:32:31 2006 +0000
+
+ Move call to _swrast_update_rasterflags() since it depends on the
+ results of _swrast_update_fog_state().
+ Fixes bug where first frame of progs/samples/fog.c does not show fog.
+
+commit f7c4dc007f5ae964bc4357e9abefcf64131b84c9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 29 22:30:58 2006 +0000
+
+ _mesa_debug() should be a no-op when not compiled with DEBUG defined.
+
+commit 398471429be897cd4c8ef3497ed29c41a2c1acb5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 29 21:56:59 2006 +0000
+
+ set 6.5.1 release to Aug 31
+
+commit 70c2d512302f67ffd44fc408c67a6ccf02cbf669
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 29 21:54:01 2006 +0000
+
+ remove assertion that referenced &glSetFenceNV for debug test
+
+commit 0aab798a1898b52a1d75e6fef4896c951b0afe6a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 29 19:09:57 2006 +0000
+
+ replace abort with _mesa_problem()
+
+commit 8d675aa637a551c634b827b007c18e061d0ae2f6
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Aug 29 17:44:45 2006 +0000
+
+ Deprecate GL_EXT_vertex_weighting.
+
+ Nvidia no longer supports this extension, and they no longer export its
+ entry points from their libGL. There's no reason for us to keep dragging it
+ around either.
+
+commit dfdd0b4f30e12acca07c2076adb594293bdb15bb
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Aug 29 16:43:44 2006 +0000
+
+ More static dispatch function removal.
+
+ Make functions for the following extensions available only via
+ glXGetProcAddress. In cases where there are other aliases to the same
+ functions (e.g., between GL_EXT_histogram and GL_ARB_imaging), the alias
+ functions may still be statically exported.
+
+ - GL_ATI_blend_equation_separate
+ - GL_EXT_blend_equation_separate
+ - GL_EXT_convolution
+ - GL_EXT_color_sub_table
+ - GL_EXT_cull_vertex
+ - GL_EXT_depth_bounds_test
+ - GL_EXT_framebuffer_blit
+ - GL_EXT_histogram
+ - GL_EXT_multisample
+ - GL_EXT_stencil_two_side
+ - GL_EXT_timer_query
+ - GL_IBM_multimode_draw_arrays
+ - GL_INGR_blend_func_separate
+ - GL_NV_fence
+ - GL_SGI_color_table
+ - GL_SGIS_multisample
+ - GL_SGIS_pixel_texture
+ - GL_SGIS_point_parameters
+ - GL_SGIX_pixel_texture
+
+commit fc5b57b71375ef6c117482be036b442c2cb8ab23
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Aug 29 15:38:19 2006 +0000
+
+ Clean up GLX function exports.
+
+ Make functions for the following extensions only accessable via
+ glXGetProcAddress:
+
+ - GLX_EXT_texture_from_pixmap
+ - GLX_MESA_copy_sub_buffer
+ - GLX_MESA_release_buffers
+ - GLX_MESA_swap_control
+ - GLX_MESA_swap_frame_usage
+ - GLX_OML_sync_control
+ - GLX_SGI_make_current_read
+ - GLX_SGI_swap_control
+ - GLX_SGI_video_sync
+ - GLX_SGIX_swap_barrier
+ - GLX_SGIX_swap_group
+
+ Removed all remnants of the following extensions:
+
+ - GLX_MESA_set_3dfx_mode
+ - GLX_SGI_cushion
+ - GLX_SGIX_dmbuffer
+ - GLX_SGIX_video_resize
+ - GLX_SGIX_video_source
+ - GLX_SUN_get_transparent_index
+ -
+
+commit af1dc7e487615361fd906cdbb917d4abf62b61dc
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Mon Aug 28 21:19:34 2006 +0000
+
+ move initialization code aroudn so glPointParameter isn't called before checking the extension is present
+
+commit b5a2fc125516f46fade82a8c65527ffe77cab5c2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 28 19:42:41 2006 +0000
+
+ Check mesa_vp->Base.NumInstructions == 0 instead of mesa_vp->Base.String to
+ determine if we actually have a program. See "[r300] TCL fallback with Quake3".
+
+commit 258751f4a0ac505e66346d8e6ccaec7c5a585534
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Aug 28 17:40:45 2006 +0000
+
+ Add two new gl_function methods. dispatch_name returns the name of
+ the true static dispatch name (either the glFooBar name or the
+ gl_dispatch_stub_XXX name). static_name returns the name of the
+ static function for a specific alias of a GL function.
+
+ Adding (and using) these two functions corrects some problems in the
+ generated code related to functions with multiple aliases where some
+ of the aliases have true static dispatch functions and some don't. I
+ have verified that everything under progs, except xdemos/xdemo,
+ correctly link. I did this by doing 'make linux-dri-x86-64
+ PROGRAM_DIRS="demos redbook samples xdemos tests"'.
+
+commit 0bb27c084da7eae0dfe1d858a134bd19b29faa25
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Aug 28 17:35:54 2006 +0000
+
+ Add dependencies for all API XML files.
+
+commit e5bc35dd97bcc814069447d388db84da59990ddc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 28 15:16:49 2006 +0000
+
+ remove unused var
+
+commit e365b82be110246b8c05193efc8479e681f618f3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 28 15:16:36 2006 +0000
+
+ fix the check for force_s3tc_enable (bug 8042)
+
+commit b9ac4afff71dc2bca3a00841dc67e42fec450439
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 28 15:12:07 2006 +0000
+
+ omit installmesa script from tarballs
+
+commit a394f546a4e053f5a85001783ab4a47942e8c640
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 28 14:20:19 2006 +0000
+
+ check for GL_ARB_point_parameters
+
+commit 9cb82f7917b11288169146035700b992b86a7ec2
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Sun Aug 27 13:24:36 2006 +0000
+
+ close #6318
+
+commit a38aef93ab2a5006c3b8cfa50aaf48fafc0eb8d4
+Author: Sean D'Epagnier <geckosenator@freedesktop.org>
+Date: Sun Aug 27 01:16:09 2006 +0000
+
+ The colormap code is now simpler, 15bpp works where it did not before.
+
+ The input is fixed so that delete reports '\b' and backspace 127
+
+ The vt switching works both right and left.
+
+commit 7e9737b3704b92865242d7564825cdc57db5c4c9
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Sat Aug 26 21:26:55 2006 +0000
+
+ Explicitly store the names for each function that should have a static
+ entry point generated. This allows us to do things like generate a
+ static entry point for glPointParameterfvARB but not for
+ glPointParameterfvSGIS.
+
+commit 092d14be92259d4210e3a2b5d4b5e18886bb4d4a
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Sat Aug 26 21:21:34 2006 +0000
+
+ Fix bug 8010 - locking issues.
+
+commit 2fd72a7844067989714236694df22d44936899af
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Sat Aug 26 16:24:04 2006 +0000
+
+ fix #8008
+
+commit 0c46a1236597667ca57b605e8a71eb6d2861402c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 25 22:13:08 2006 +0000
+
+ delete buffers, destroy window upon exit
+
+commit 6827cf4d9afd92772d2a3fed27d5da15f406cd9d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 25 22:08:43 2006 +0000
+
+ include texobj.h to silence warning
+
+commit 96ee800cd48002d6738be266de146ba387bddc78
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 25 22:07:40 2006 +0000
+
+ 6.5.1 bug fixes
+
+commit 4277ea4c0b1a123571acaec86b0501d62fa8ecf5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 25 22:06:02 2006 +0000
+
+ Error detection/reporting was broken in several places.
+
+commit 3fea5910b9db41252da28bf0ab8ed763d1a129f8
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Aug 25 19:57:37 2006 +0000
+
+ Add a couple of the missing GL 2.0 functions. Enable GLX protocol for
+ glBlendEquationSeparateEXT. Add missing enum "get" information for
+ GL_EXT_texture_filter_anisotropic.
+
+commit 58d080b025c52710324eb719d6e74900cb4f64bf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 25 19:46:31 2006 +0000
+
+ Free vertex program TnlData, if any. Fixes a mem leak.
+
+commit 473f1aca7f4eb1dbb70e93cc6bf9a555512cd552
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 25 19:45:31 2006 +0000
+
+ clamp result.depth to [0,1] if written to
+
+commit 439d59926ad8581bac74751b73b07268aa47ab65
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 25 18:07:49 2006 +0000
+
+ Remove XFree86 CVS keyword.
+
+commit a360bc31dad079d4d1100aa84857758e3d9d6308
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 25 17:18:56 2006 +0000
+
+ Rearrange glBindProgram() code to do all error checking before changing
+ the binding. Prevent a potential dangling pointer error. SF Bug 1544507.
+
+commit 4bae9a48ecec6d2428b43989d7266e22ceb1a614
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 25 15:44:09 2006 +0000
+
+ In _save_End(), set CurrentExecPrimitive = PRIM_OUTSIDE_BEGIN_END if
+ we're in GL_COMPILE_AND_EXECUTE mode.
+ This fixes bug 7984.
+
+commit f38ac5fbacb4d661b94456c8a4c887976a1bf520
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 25 15:42:37 2006 +0000
+
+ improved comments
+
+commit 3c54e8376d639465277fac745b0b8134d2918a9f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 25 15:15:24 2006 +0000
+
+ Rename _mesa_append_modelview_code() to _mesa_insert_mvp_code().
+ The four DP4 instructions are now inserted at the top of the program
+ instead of appended to tail.
+
+commit 383c39e58e0ab888afac473526109b62ec0f8f6f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 25 15:14:25 2006 +0000
+
+ use _mesa_alloc_instructions()
+
+commit 9983a27cbe4f123f4e7fcce59c0d8b61b0f73924
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 25 15:13:25 2006 +0000
+
+ added _mesa_alloc_instructions() utility function
+
+commit a574c804a09c19fdbf5f6e6eac0767d3d8f57490
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Aug 25 00:56:34 2006 +0000
+
+ Add missing enums for GL_SGI_color_table.
+
+commit e53e0f47d0911df1f6da0ccf42a815aa5036b16b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 24 23:37:36 2006 +0000
+
+ recent bug fixes
+
+commit 6211a14137a9504bf90dfd6bc06df42bcd72389f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 24 23:37:13 2006 +0000
+
+ update MAX_INSTRUCTIONS limit
+
+commit ebf58ea3a392cbaddc9341b9f68a57da4f333104
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 24 23:28:01 2006 +0000
+
+ According to GL_NV_fragment_program, max frag prog length is 1024 instructions.
+ Updated MAX_NV_FRAGMENT_PROGRAM_INSTRUCTIONS to 1024.
+
+commit 77427a1e52ec8fc7547fe22af31a4480be90938a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 24 23:11:39 2006 +0000
+
+ Cg tries to bind NV fragment programs to the GL_FRAGMENT_PROGRAM_ARB target
+ with glBindProgramARB(). I guess the GL_ARB_fragment_program specification
+ allows that, but Mesa didn't.
+ Relaxed the check with a new predicate function: compatible_program_targets().
+
+commit e6940f0a33a571b199bab60b680c30b718c47445
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 24 23:08:01 2006 +0000
+
+ scalar sources such as 'time.x' weren't accepted by parser
+
+commit c6511ab950e2865e606ff13ce87f0ffc782c57ad
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 24 22:11:40 2006 +0000
+
+ Functions for vertex/fragment program transformations, optimizations, etc.
+
+commit beb32c4a5905d2a5347f49d2941e8340d6959206
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 24 22:05:35 2006 +0000
+
+ fix bad casts, carry over r200 fix to check for null program string in r300_translate_vertex_shader()
+
+commit 94ff996cae9951129fee1010b201b72e8453f406
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 24 22:03:38 2006 +0000
+
+ Check for NULL program string in r200_translate_vertex_program().
+ Fixes bug reported by Chris Rankin.
+ Added some new comments.
+
+commit a75439093c044301fd54dc42b30d0ee5a475d477
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 24 21:58:32 2006 +0000
+
+ use _mesa_realloc_instructions()
+
+commit 3b9b8de9b0bf2f1e69a450360a812090520b2b29
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 24 21:57:36 2006 +0000
+
+ Added _mesa_realloc_instructions() utility function.
+ Fixed/updated comments for parameter list functions.
+
+commit a5f2206077402f0a8700ec1348e09731e53c5bc2
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Aug 24 21:42:38 2006 +0000
+
+ GL_EXT_paletted_texture functions should alias GL_SGI_color_table functions.
+
+ The functions for GL_EXT_paletted_texture that do not share GLX
+ protocol with GL_ARB_imaging are supposed to alias the similar
+ functions from GL_SGI_color_table. They didn't. This patch corrects
+ this problem and enables GLX protocol for both extensions.
+
+ Since this removes 3 entries from the dispatch table, this change
+ creates a lot of changes in the generated files.
+
+commit bf83e652f6d023f1cdcf83ec3ebac024dc0032dc
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Aug 24 20:14:45 2006 +0000
+
+ Add a new offset mode to the GL API XML. This mode, called "assign,"
+ tells the scripts to assign an available offset to the function. The
+ important changes are in src/mesa/glapi/gl_XML.py and
+ src/mesa/glapi/*.xml.
+
+ Since the DRI drivers only depend on functions required by the ABI
+ (e.g., GL 1.2 + ARB_multitexture) having fixed offsets, all functions
+ not in the ABI use "assign" mode. This has caused the offset of
+ basically every function outside the ABI to change. I have verified
+ that a libGL with this patch works with a DRI driver without the patch.
+
+ Futher, several function were removed from the dispatch tables
+ altogether. These are the functions for the following extensions:
+
+ GL_SGIS_texture_filter4
+ GL_SGIS_texture4D
+ GL_SGIS_detail_texture
+ GL_SGIS_sharpen_texture
+ GL_SGIX_sprite
+ GL_SGIX_instruments
+ GL_SGIX_framezoom
+ GL_SGIX_tag_sample_buffer
+ GL_SGIX_reference_plane
+ GL_SGIX_flush_raster
+ GL_SGIX_list_priority
+ GL_SGIX_fragment_lighting
+ GL_PGI_misc_hints
+ GL_EXT_index_material
+ GL_EXT_index_func
+ GL_3DFX_tbuffer
+
+ This removes 50 functions from the dispatch table.
+
+commit 5947f8fd636004aa2f57fb792be0cf737610f2ba
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 24 19:06:02 2006 +0000
+
+ fix fragment.position initialization bug
+
+commit ce9767f863e7788d4ab0099404abce72399f0b2c
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Aug 24 18:06:37 2006 +0000
+
+ Make sure that _GNU_SOURCE is enabled in the linux configs that set
+ HAVE_POSIX_MEMALIGN. This eliminates a compiler warning. Also,
+ clean up some crufty linux-sparc* configs.
+
+commit 39f222a4217eb574fbd18ecb7786ffbd4228d03f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Aug 24 17:49:37 2006 +0000
+
+ add point-position.c
+
+commit 28536e6c4f23794e0b72937b523d115d050ef5d1
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Aug 24 17:48:53 2006 +0000
+
+ Test for fragment.position in points primitives. Currently renders
+ incorrectly on software mesa.
+
+commit 83304326c8c28943da6788701d413b377cd9f11a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 24 17:01:35 2006 +0000
+
+ added glut/mini/ sources to glut tarball
+
+commit 116411d5f00dd4af6bb2da3a98d57ca6fa2c1d82
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 24 15:57:12 2006 +0000
+
+ Check if mesa_vp->Base.Parameters is null before dereferencing (bug report
+ from Chris Rankin).
+ Also, fix some bad casts.
+
+commit 4169c220bdd65bb5a35ab50ae467ab9076f8c4f9
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Aug 24 00:26:47 2006 +0000
+
+ Fix some problems with the generation of the size tables. Enable
+ generation of protocol tables for Render.
+
+commit a95d5f0f58b9d95627e0f4225b6871dd24169c61
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 23 23:18:39 2006 +0000
+
+ silence warning
+
+commit 4d12a05e6c11ca8d7325503131b2594dfe304164
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 23 23:10:14 2006 +0000
+
+ Added _mesa_lookup_program() and _mesa_lookup_bufferobj() functions to avoid
+ a lot of casting elsewhere.
+ Use _mesa_lookup_texture() in tdfx driver, use _mesa_lookup_bufferobj() in r300
+ driver.
+
+commit 261a806f9e26347d756bddeae81f4e98325b8e84
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Aug 23 20:32:48 2006 +0000
+
+ New script and API description file to enable generate of GLX protocol
+ decode tables in the server.
+
+commit d21ccb49c078f69030424c31dfe0b70dfe269ba8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 23 19:46:17 2006 +0000
+
+ update glut fbdev sources list
+
+commit bd3e6ec0668355460566fc46a5e871c50103db09
+Author: Sean D'Epagnier <geckosenator@freedesktop.org>
+Date: Wed Aug 23 07:55:48 2006 +0000
+
+ VT switching now uses correct keys.
+ exiting when virtual screen size is larger than regular size doesn't corrupt screen.
+ colormap is reset when using stdin input on exit.
+ return is not reported as ctrl-m but '\r' as it should be
+ backspace keycode was incorrect and not working, fixed
+
+commit 43c9587ed48c315d44e5cc657a045e904a156265
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Aug 22 22:27:32 2006 +0000
+
+ remove duplicate pieces of code.
+
+commit cafb0617eaacf09d9d19b75a5596b4dd2a1f85ba
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Aug 22 21:54:50 2006 +0000
+
+ extend some DrawRangeElements cases to support rendering more than 65535 verts in one blast. ut2k4 cases in other words ...
+
+commit 50eae3af7a34e1b4a75e4aeec5c57b578e06850f
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Aug 22 21:05:37 2006 +0000
+
+ fix broken write-only depth setting. use early z where possible.
+
+commit 723db7212c7329129d38d8764e819ccbce4399c0
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Aug 22 18:44:58 2006 +0000
+
+ Correct the name of the GL_NV_texture_expand_normal extension.
+
+commit d319edff1e34696ac165bb553d085e8f2e3df4e3
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Aug 22 18:22:20 2006 +0000
+
+ The TLS dispatch functions for x86-64 are fixed-size, just like on
+ x86. This means that the position of each dispatch function can be
+ calculated as (dispatch_offset * size_of_function) + glNewList. This
+ allows us to not store the function pointers in glprocs_table_t.
+
+ This same optimization has been done for quite some time on x86. We
+ could probably also do this for some cases of the SPARC dispatch as
+ well.
+
+commit 4e4b5f40081cb3e4cefe4dce30712d8d330c0774
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Aug 22 16:34:38 2006 +0000
+
+ Add new attribute called static_dispatch to the <function> element. This
+ boolean attribute, which defaults to true, determines whether or not a
+ static dispatch function is available in libGL for applications to link
+ against.
+
+ Ideally, any new functions that are not part of the ABI should not have
+ directly accessable dispatch functions. This forces applications to use
+ glXGetProcAddress to access these functions. By doing this we can
+ gracefully remove functions from libGL without breaking the linkage of
+ applications.
+
+ Note that the static dispatch functions are still generated. However, they
+ are given names like gl_dispatch_stub_820 and are marked with the "hidden"
+ linker attribute.
+
+ All extension functions added since the previous Mesa release (6.5) have
+ been marked as 'static_dispatch="false"'.
+
+commit 6423ec914530a84ee16977d95b64116e63eca22c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 21 16:05:30 2006 +0000
+
+ move ALL_SOURCES to sources file
+
+commit b20814fd7d271599f99b3740be0c6033a090bf2d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 21 15:50:41 2006 +0000
+
+ remove FBDEV_DRIVER_OBJECTS assignment (in sources file)
+
+commit d5299bf9a1a6dd1082b34aa4211a234483830425
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 21 14:26:06 2006 +0000
+
+ various updates
+
+commit 1d67cad9af17d1a56c9370dc221eba7eeb74b1cb
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Mon Aug 21 09:25:11 2006 +0000
+
+ More GLSL preprocessor code:
+ Rename slang_version.syn to slang_pp_version.syn.
+ The #version directive understands version 120.
+ Cosmetic changes in version preprocessor.
+ Checks if requested version is supported by the compiler.
+
+commit 798ef5ce330fa308dad60e4550dd1a0437be5338
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Mon Aug 21 08:47:28 2006 +0000
+
+ GLSL 1.20 constructors and operators.
+
+commit bd4c8ec0ec1edcc96fe841ccc7159b7856ade5c1
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Sat Aug 19 08:54:03 2006 +0000
+
+ remove the now confusing option to manually enable software ARB_vp if drm is not new enough on r200
+
+commit c6fc82398722a165da4c5b89359035222b946d89
+Author: Sean D'Epagnier <geckosenator@freedesktop.org>
+Date: Sat Aug 19 00:28:36 2006 +0000
+
+ Removed ifeq from makefile, and corrected fbdev driver so it compiles
+
+commit cf4d2f7109bf928d3b01684593bbe6ccf453de4b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 18 20:24:54 2006 +0000
+
+ updates for 6.5.1
+
+commit 92c43b110c22474c5304c782193494c197256ab7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 18 20:20:28 2006 +0000
+
+ Fix-ups for linux-fbdev config. No longer build Xlib driver sources.
+
+commit 7e4152f0ed46f644a4247444e18dc7ad6c9832b0
+Author: Sean D'Epagnier <geckosenator@freedesktop.org>
+Date: Fri Aug 18 10:38:15 2006 +0000
+
+ The driver now compiles correctly without any x headers or libraries installed
+ The bitmap and stroke code can't be shared with glx anymore because of this.
+
+ The model for the mini teapot is restored and I have tested it to work with
+ linux-fbdev and linux-solo
+
+ The driver recognizes 32bpp where there is no alpha (my radeon 7500) It also
+ sets the correct number of cmap entrees (instead of 256 which can be an error)
+
+commit bd87c303e94659941a7c623d0b836e3ff317cfb4
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Aug 18 09:04:48 2006 +0000
+
+ Fix writemasks on texture arb fp instructions.
+ Cleanup invarient state emission.
+
+commit c1c282f36ad31f99b9d5b38a2d39118740bca928
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 17 14:27:10 2006 +0000
+
+ sort the FEATURE_ defines
+
+commit 9dc90cd5f35e1b286cc70f95f0dfe20ea356eeca
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 17 14:25:04 2006 +0000
+
+ added FEATURE_EXT_timer_query and tests
+
+commit 5928718475e85c4c28ef4ec0cea961442ed3bdca
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 17 14:16:03 2006 +0000
+
+ change #ifdef to #if
+
+commit 6206aec90ab47c34598c143c4dd141e42dd37c83
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 16 20:53:39 2006 +0000
+
+ change tex memory allocation calls (debian bug 383209)
+
+commit a7d02567451f69445ef31181a41b16e86487093d
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Aug 16 17:06:08 2006 +0000
+
+ When available, which is most of the time, use posix_memalign to implement
+ _mesa_align_malloc and friends.
+
+commit ab6cf9dd622c4659aa5f47cb1b5f86b8e38d5a85
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Aug 15 16:48:06 2006 +0000
+
+ Enable support for GL_EXT_gpu_program_parameters for R300.
+
+commit 8c41c757fe8efa04df0dd5cdfb33a75b84891c19
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Aug 15 16:47:34 2006 +0000
+
+ Add support for GL_EXT_gpu_program_parameters. Any driver that enables
+ either GL_ARB_vertex_program or GL_ARB_fragment_program should enable this
+ extension as well.
+
+commit 5208d93a418c2d1f9db67e3760117ceb659b7f7c
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Aug 15 16:44:32 2006 +0000
+
+ Add test for GL_EXT_gpu_program_parameters.
+
+commit daea7176347f15f1c916c4a1131fce0bd1f062bc
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Aug 15 16:26:34 2006 +0000
+
+ Remove extraneous trailing semicolon.
+
+commit 37b5b01217ab725a91c9dbb600dfe9e21c34151b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 15 14:28:03 2006 +0000
+
+ s/GLvoid/void/ to fix gcc 4.2 issue (bug 7875)
+
+commit 061a3fe34051327fba418cc99599ecff0016ee15
+Author: Michel Dänzer <michel@daenzer.net>
+Date: Mon Aug 14 15:53:37 2006 +0000
+
+ Bug #7169: Attempt to make libGL symbols visible to drivers.
+
+ Some applications end up dlopening libGL without RTLD_GLOBAL, so the libGL
+ symbols referenced by the driver can't be unresolved when libGL dlopens it.
+ This attempts to make the libGL symbols visible to the driver by dlopening
+ libGL (again) with RTLD_GLOBAL before dlopening the driver and dlclosing
+ the obtained handle afterwards.
+
+commit 24cd8e22f5a0fda3a0811976b07755bd8cecb75c
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Sat Aug 12 13:31:15 2006 +0000
+
+ gcc-4.1.1 compile fix
+
+commit 357addfc45ebb8359e0678e2f3c449b79a8bc762
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Sat Aug 12 00:11:05 2006 +0000
+
+ Add comments explaining a couple "mystery" bits.
+
+commit 32a9e9be0c9626fb15ae7c721a15bcf19330e13a
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Sat Aug 12 00:05:54 2006 +0000
+
+ Fix white-space problem in the prototype for glBlitFramebufferEXT that
+ prevented gl_mangle.h from picking it up.
+
+commit 8fbe16d4dd0664f7766f5241c055efb582cc06e5
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Aug 11 23:56:37 2006 +0000
+
+ Fix long standing bug that prevented newer drivers from working with
+ older libGL. The data in extension_helper.h erroneous instructed
+ drivers to expect all functions with establised offsets, even those
+ not in the ABI, to have a specific offset allocated. This is just
+ wrong. A function is either in the ABI and has a set offset or a
+ function is not in the ABI and has a re-map offset.
+
+commit 56f349515c75a93923255ba1eb7cdae67b432a53
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Aug 11 22:26:49 2006 +0000
+
+ Convert comment header for __GLcontextModesRec to Doxygen style.
+
+commit 8ff5e37f58cd4f4f0f3a9f800e95022e50050c32
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Fri Aug 11 13:59:37 2006 +0000
+
+ support shorts as vertex data
+
+commit 2332812644d5ab98d884cd0083e9d68c8e09b4cf
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Thu Aug 10 21:26:50 2006 +0000
+
+ Add padding to match the current xf86-video-intel DDX->DRI interface.
+
+commit 3775b566fa15ce7ffa0cf02a2f075dab1dffcebd
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Thu Aug 10 20:24:50 2006 +0000
+
+ mkdir -> mkdir -p, since /usr/include might not exist in the installroot yet
+
+commit be85fde82b148c4fc3639fcf3cfedb5de9381fc8
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Thu Aug 10 20:19:57 2006 +0000
+
+ linux-indirect target fixes.
+
+commit b7a661cf8c9adc5fdba31f11545e8caebac7995a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 10 14:57:24 2006 +0000
+
+ 6.5.1 relnotes
+
+commit 795e83f809f535cd56c0cb8856623c360f832272
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 10 14:54:19 2006 +0000
+
+ latest updates for 6.5.1
+
+commit a89b099c74c0129c975d3f7ba1cdccc6a8d6b6be
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Aug 10 13:14:24 2006 +0000
+
+ Fixup more PROGRAM_UNDEFINED problems.
+
+commit 8d97265711b172da4f387748f0e72da9267492b0
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Aug 10 13:12:00 2006 +0000
+
+ Fix some breakage after the PROGRAM_UNDEFINED change
+
+commit 7196cddb3a404292858101f9cd1a5061e422d2c1
+Author: Sean D'Epagnier <geckosenator@freedesktop.org>
+Date: Thu Aug 10 10:21:17 2006 +0000
+
+ Added initial multisampling support to glfbdev driver.
+ Fully implemented glutGameMode, and added vidresize stubs to make
+ Added support for glutReshapeDisplay to change video mode but not lose
+ current mesa context.
+ implementation glut 5 complient.
+ Fixed many minor bugs
+ Updated docs
+
+commit 54e15d65858c1d1eeea7291059766686cf2e1671
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 10 04:14:05 2006 +0000
+
+ finish up texstore for SL8 texture format
+
+commit 7ba08ac45a90ab1e34eec7dfa7cfae629eb37478
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Aug 9 21:22:59 2006 +0000
+
+ GLSL 1.20 built-in library.
+
+commit edefc658e4374fea96404715ce176b24942322d3
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Aug 9 20:05:26 2006 +0000
+
+ More GLSL code - more support for vec4 operations on x86 back-end.
+
+commit 9f344b3e7d6e23674dd4747faec253f103563b36
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Wed Aug 9 19:14:05 2006 +0000
+
+ Add Intel i965G/Q DRI driver.
+
+ This driver comes from Tungsten Graphics, with a few further modifications by
+ Intel.
+
+commit 7b52bed98729a05feab28f6d2b0677e4f84c44c3
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Wed Aug 9 19:10:23 2006 +0000
+
+ Add PROGRAM_FILE_MAX for i965 driver.
+
+ While here, make PROGRAM_UNDEFINED just the next value in the enum.
+
+commit 46f20579a28ac97dd6fd9cc505301b0764eb011a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 9 02:42:25 2006 +0000
+
+ implement some of the sRGB texstore functions
+
+commit 4b1e6a4b587a3b8839aaf4afcdd88995ff2b47a5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 7 14:09:13 2006 +0000
+
+ remove stray text from previous check-in
+
+commit 6545ebbd8d77424eefa8f2acb97607c32c7f8da3
+Author: Sean D'Epagnier <geckosenator@freedesktop.org>
+Date: Sat Aug 5 08:55:10 2006 +0000
+
+ Modified config to use glut/fbdev, added demo and sample directories.
+
+commit 288d4b6ebed85e0d3bf6d3aecf75f2627b70402d
+Author: Sean D'Epagnier <geckosenator@freedesktop.org>
+Date: Sat Aug 5 08:24:29 2006 +0000
+
+ Modularized code into multiple files.
+
+ Added gamemode stubs, iconify support, joystick stubs.
+
+ Fixed color index mode, added 8 bit alpha blending, enabled cmaps even
+ with 15, 16, 24, and 32 depths as some fbdev drivers need this.
+
+ Fixed compiling with -ansi
+
+ Using SIGIO for keyboard input, so that vt switching is enabled even
+ if the program is locked.
+
+ Fixed numerous small bugs.
+
+commit 0606ad45f65dacf1fe9c4893f739915178345d8b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 4 22:09:43 2006 +0000
+
+ fix typo, indentation
+
+commit 4818b0bea1b2f1b1e617b16014a9303a33c7d9ae
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Aug 4 19:45:29 2006 +0000
+
+ export new _mesa_* functions
+
+commit 5c488dcab2cef6c851e9d54f03168e4dee805102
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 4 13:41:25 2006 +0000
+
+ fix bug when pushing ReadBuffer state for GL_PIXEL_MODE_BIT
+
+commit 21dc092324bf4491b3dc9b8882115e482993db1a
+Author: Claudio Ciccani <klan@users.sourceforge.net>
+Date: Fri Aug 4 12:43:33 2006 +0000
+
+ Handle GLUT_DEVICE_KEY_REPEAT,GLUT_OWN_JOYSTICK,GLUT_JOYSTICK_POLL_RATE in glutDeviceGet().
+
+commit 3ab2dd9f912403cf6bd174c8f5f34ae4e3af1848
+Author: Claudio Ciccani <klan@users.sourceforge.net>
+Date: Fri Aug 4 10:49:43 2006 +0000
+
+ Moved glutDeviceGet() to events.c.
+ Implemented glutIgnoreKeyRepeat() and glutSetKeyRepeat().
+
+commit 0a4be7036864efa6b30d78e0aac449d34b812c13
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 4 03:44:53 2006 +0000
+
+ more work for GL_EXT_texture_sRGB.
+
+commit 2eb00b4388c6e9ca3a1303e7f849c060e99cd0a5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 3 17:10:45 2006 +0000
+
+ use WRITE_MASK_* instead of 0x1, 0x2, etc
+
+commit 31635428413709f1a93109350f3ac2590e3d2062
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 3 16:58:06 2006 +0000
+
+ Added a check to prevent rebuilding Mesa with a different configuration
+ without first doing 'make realclean'.
+
+commit 9c3876d7d852d84bcf317e625210699dd39696eb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 3 03:59:20 2006 +0000
+
+ New wrapper functions: _mesa_dlopen(), _mesa_dlsym(), _mesa_dlclose().
+ Eventually move them into imports.c
+
+commit 6c071592ab2c249e875edef4c61c13e1005b8fcb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 3 03:23:05 2006 +0000
+
+ added GL_EXT_texture_sRGB
+
+commit 8d214bc8044e5027e3fa9302b259d0c557270b00
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 3 03:20:52 2006 +0000
+
+ Initial work for GL_EXT_texture_sRGB.
+
+commit 35fe7cfae4903fbea8c0e8318d43bba99944740c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 2 21:26:15 2006 +0000
+
+ fix link for Aqsis
+
+commit b60a3da43f9a5fecf05058aa04bff12f710851f1
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Aug 2 14:51:24 2006 +0000
+
+ Enable vec4 extension for x86 back-end.
+
+commit 1616f5b621d5f3c24dc5a21673cccb0b4143df2a
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Aug 2 14:46:50 2006 +0000
+
+ Change fragment shader to utilize faster vec4 operations.
+
+commit 7a7039157570f5d178077289f70091399fd57863
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Aug 2 14:45:24 2006 +0000
+
+ Add test for vec4 extension.
+
+commit 3b5e02cc7cecc88887da0bda009d828b124499a2
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Aug 2 14:44:46 2006 +0000
+
+ Add vec4 extension.
+
+commit 60ba2d88b31b4858c019b41c982ca83ab5880dde
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Aug 2 14:22:06 2006 +0000
+
+ Fix mmFindBlock function.
+
+commit 365582dd6f632aafbc1c817aa57926d679bb2efc
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue Aug 1 20:07:31 2006 +0000
+
+ Clean-up FEATURE_ARB_shader_objects #ifdefs. Bug 7492.
+
+commit cc738e004f083566f3e1723f72623ef9875f72ec
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 1 20:03:29 2006 +0000
+
+ casts and assertions
+
+commit f05e7eba9598f1afaeed600a016afda5d426e610
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 1 20:03:05 2006 +0000
+
+ code to draw engine block
+
+commit 90d7b9c9eb94d9e215642407b99dbc5f30ce2a55
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue Aug 1 16:06:08 2006 +0000
+
+ Move GL_MESA_shader_debug from glext.h to gl.h.
+
+commit e724324894ec2829904341af59cbabc7a5902ad6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 1 14:33:05 2006 +0000
+
+ renderbuffer fixes (Sean D'Epagnier)
+
+commit 9a4f15ee59f83fce31541f47ec2d0c798af10134
+Author: Claudio Ciccani <klan@users.sourceforge.net>
+Date: Tue Aug 1 14:32:02 2006 +0000
+
+ Fixed warnings.
+
+commit 689df543db409e3c1d9c205f36bfea401bb876b5
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Mon Jul 31 23:21:50 2006 +0000
+
+ fix #6991
+
+commit 667dd3c3e8906f05c1a9f9d87bfad4741807ef8e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 31 14:25:53 2006 +0000
+
+ added glut fbdev files
+
+commit fe3242f00a44542dc3a062de38fbe70324aaa9e7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 31 14:24:21 2006 +0000
+
+ GLUT on fbdev driver. Sean D'Epagnier
+
+commit e8947a5fa020a24e7e07318f1ea9d85467d7d9e6
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Sun Jul 30 15:29:11 2006 +0000
+
+ Add support for GL_MESA_shader_debug.
+
+commit 91dbc04d5e50e2fb01dd74fe82955865f858e73c
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Sun Jul 30 15:19:19 2006 +0000
+
+ Commit enums for GL_MESA_shader_debug.spec.
+
+commit 32bf274f78920c24ea213452bdaa4d8b2b2a029c
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Sun Jul 30 14:48:01 2006 +0000
+
+ Program to convert .syn file to .h headers.
+
+commit fc434622b382e25b7457e67a93435861d72699e8
+Author: Claudio Ciccani <klan@users.sourceforge.net>
+Date: Sun Jul 30 14:47:51 2006 +0000
+
+ Clear window's event mask before enabling handled events.
+
+commit 4cc87c7248161e75fdbe2ad3e81819c5dd8b8502
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Sun Jul 30 14:45:25 2006 +0000
+
+ Add support for GL_MESA_shader_debug.
+
+commit c26999fd2c01328694db38f92ee03f2984c63ef8
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Sun Jul 30 14:33:53 2006 +0000
+
+ Fix dependencies.
+
+commit d2ac9ab6eed1b42cd7d953a0d02fb5d20240024a
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Sun Jul 30 14:28:38 2006 +0000
+
+ More text.
+
+commit 39dd5196e6fa126b5fd4bfd23b665c105ddbf95c
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Sat Jul 29 09:42:03 2006 +0000
+
+ Optimize shaders.
+ Use frame counter.
+
+commit 0e6ef1b1cdb546dfe6f36b7eb3e4a9223ec01ae4
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Fri Jul 28 21:30:14 2006 +0000
+
+ Fix build failure in the savage driver.
+
+commit 32d61d06164c6247bed0fbf301afd24ce5d3473e
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Thu Jul 27 22:51:14 2006 +0000
+
+ r300_emit.h cleanup.
+
+ Remove unused macro
+ Replace LOCAL_VAR, PREFIX*
+ Indent code
+ Remove radeon redundant CP type 3 packet
+
+commit a7722cb794be008f930c5f071f66fc14b38af65a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 21 20:52:43 2006 +0000
+
+ load SLANG_FRAGMENT_FIXED_SECONDARYCOLOR
+
+commit c28399baa76e515a7e9d22ef39a5d22c4b73f848
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 21 20:49:20 2006 +0000
+
+ just reindent
+
+commit a97492f4dfd29e2c8821de44a9df47c5f107611c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 21 19:56:52 2006 +0000
+
+ added arrayobj.[ch] files
+
+commit 9d9d7b1deef8b4330e29b5f601fbba93b6374fd8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 21 19:52:59 2006 +0000
+
+ check for non-nill pwc in WMesaMakeCurrent(), bug 7585
+
+commit 122629f27925a9dc50029bebc5079f87f416a7e1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 20 16:49:57 2006 +0000
+
+ Some structure renaming. Prefix vertex/fragment-related structs with
+ "gl_" to match other structs.
+
+commit 459db7bd72131e63ed7687956819c4d0520972dd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 20 04:34:36 2006 +0000
+
+ bump MESA_TINY to 1
+
+commit a623e008c651235769c7c50fc55f6e3782e4aaca
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 20 04:24:42 2006 +0000
+
+ move/update comments
+
+commit 2f12458fb3817a402ca15a5fd9bcef1728a3403a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 20 04:17:11 2006 +0000
+
+ use ctx->Light.ShadeModel instead of ctx->_TriangleCaps
+
+commit a1a6ac4af4ba5b1da7c768d892b84cb1204c4c7f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 20 04:16:26 2006 +0000
+
+ Instead of testing ctx->_TriangleCaps for flat/smooth shading, just use ctx->Light.ShadeModel
+
+commit 4e2de9531e4869edf12536c2cb37d3145ee4065c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 20 03:56:16 2006 +0000
+
+ remove unused NEED_TWO_SIDED_LIGHTING() macro
+
+commit ad15866ef0e77478508eeb534b28f0136462b644
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 19 16:13:15 2006 +0000
+
+ For glGetTexImage(), move the _mesa_validate_pbo_access() error check into
+ _mesa_GetTexImage() so it's not needed in the fallback or driver functions.
+
+commit 0749e2723b32ba430539791b94acd95dcf939a1d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 19 15:28:29 2006 +0000
+
+ Several loops over the map1/2 evaluator arrays were incorrect.
+ There's only 16 evaluator maps. Define new _TNL_NUM_EVAL constant for
+ those loops.
+ Also, fix priority of GL_NV_vertex_program generic maps - they override the
+ conventional maps.
+ See bug 7564.
+
+commit 69ddf6cc41a18c6947e7deeb0b4240946f5ddb34
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 19 15:09:42 2006 +0000
+
+ more 6.5.1 additions
+
+commit 114ecb9d67b1254d0929bfeec80dee8015834425
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 18 22:33:14 2006 +0000
+
+ indentation fix
+
+commit df926955be59a0128eea44141eb46fc52556dc05
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 18 22:27:02 2006 +0000
+
+ add missing 'return' after a few _mesa_error() calls in _mesa_GetTexImage()
+
+commit 813e56db511e783fcf1ad7bcfd40645451802bd7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 18 19:15:40 2006 +0000
+
+ Compute ctx->Color._LogicOpEnabled in one place instead of four places!
+
+commit f81b1dbe374fe446f6ef676e70a72952ffb47d4e
+Author: Tilman Sauerbeck <tilman@freedesktop.org>
+Date: Sat Jul 15 12:09:27 2006 +0000
+
+ fix a memleak (that code block has been commented out for years for unknown reasons)
+
+commit 416ac254c262d307608c14509725d1574205deff
+Author: Rune Petersen <rune@megahurts.dk>
+Date: Sat Jul 15 10:44:25 2006 +0000
+
+ A small logic error.
+
+ We need to call do_swizzle() when the scaler _or_ vector unit have a
+ swizzle other 000/ZERO/111/ONE.
+
+ This ensures that the gloss on banners in ut2004 is not angel-dependent
+ (since when was banners glossy?).
+
+commit f4e46e1a463be580d14d1b14fe1b9c85d4572e61
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 13 20:21:44 2006 +0000
+
+ define FLT_MAX_EXP to 128 if undefined
+
+commit 7ef4a07165d49e671f6f569ee87bfe893b1e7fcf
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Jul 13 15:27:37 2006 +0000
+
+ Move initialization of server_support from __glXProcessServerString to
+ __glXCalcualteUsableExtensions. By having both callers of
+ __glXProcessServerString initialize the bit-fields passed in, we guarantee
+ that the correct amount of data is initialized:
+
+ This fixes bugzilla #7353.
+
+commit 883f9891cb203dd087843b830ab058d6c9e160dc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 13 02:50:27 2006 +0000
+
+ LIB_DIR is now just 'lib' or 'lib64'
+ Replaced $(LIB_DIR) with $(TOP)/$(LIB_DIR), use LIB_DIR in install targets.
+ Patch by Hanno Böck.
+
+commit d9eff8ba1943fbffb88562d84ba1fd9a56be07f0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 12 20:14:43 2006 +0000
+
+ download/install updates
+
+commit b8528ea55e7b1f4114ab84e421c4e09b451520b6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 12 19:40:59 2006 +0000
+
+ New config var DRI_DRIVER_SEARCH_DIR to specify where libGL should search
+ (at runtime) for the DRI drivers.
+ See bug 2372.
+
+commit e5c28321b2047418ba960c5f9c3aa86cf2514bbb
+Author: Tilman Sauerbeck <tilman@freedesktop.org>
+Date: Wed Jul 12 17:06:49 2006 +0000
+
+ fix another memleak
+
+commit e77875dcbe3243224f24c2b06c7722fa312445fe
+Author: Tilman Sauerbeck <tilman@freedesktop.org>
+Date: Wed Jul 12 16:49:07 2006 +0000
+
+ fix a memleak
+
+commit 59cfd3cd3f3ecc677e3f962b9896e6075d4d7a59
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 12 02:34:43 2006 +0000
+
+ destroy window upon exit, remove CVS log comment
+
+commit d8bb5ea96704e2a7006f6bd6f3c9cc80c2cb4c73
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 12 02:32:21 2006 +0000
+
+ call glutDestroyWindow() to allow checking for mem leaks upon exit
+
+commit c04bb519e13dc6f983930736f9747a9d81b13e76
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 11 21:56:43 2006 +0000
+
+ free array objects properly (bug 7493)
+
+commit c60bcc8966ce3454bb5eba6beb9c881b3d72ae6a
+Author: Tilman Sauerbeck <tilman@freedesktop.org>
+Date: Tue Jul 11 20:13:28 2006 +0000
+
+ free GL2Objects unconditionally
+
+commit c0eb777cd8e67e266a2fd1bccda7f77c0f1bd097
+Author: Tilman Sauerbeck <tilman@freedesktop.org>
+Date: Tue Jul 11 19:36:27 2006 +0000
+
+ free the ArrayObjects hash table
+
+commit 17b5063c6f7973e83954fe00105b8f1f1ec34493
+Author: Tilman Sauerbeck <tilman@freedesktop.org>
+Date: Tue Jul 11 19:03:21 2006 +0000
+
+ only access ss->BufferObjects if it's declared
+
+commit aead688e7fc605fada2624626c7543445412791a
+Author: Tilman Sauerbeck <tilman@freedesktop.org>
+Date: Tue Jul 11 18:35:24 2006 +0000
+
+ _mesa_destroy_context() frees radeon->glCtx so we must not access it afterwards
+
+commit bbe197ec1d29647884ec4b2dd5812ff7b0cc8b05
+Author: Thomas Hellström <thomas@tungstengraphics.com>
+Date: Tue Jul 11 14:56:20 2006 +0000
+
+ Revert the SiS and Unichrome DRM version check changes.
+
+commit 85b4ae065435c8b4c4696b75e95f897130ee8bdf
+Author: Thomas Hellström <thomas@tungstengraphics.com>
+Date: Mon Jul 10 12:20:24 2006 +0000
+
+ The SiS and Unichrome drivers assume that the handle to the
+ AGP map is equivalent to the AGP physical address. Fix this.
+
+commit b9920ba7b7fd8ed9a3c45e0cebafd28b419f73e3
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Sun Jul 9 00:04:06 2006 +0000
+
+ Fix #7195
+
+commit 27908d2bcb18c33079013daf29f6ddaf0fdabda2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 7 14:32:47 2006 +0000
+
+ update comment, APP_LIB_DEPS
+
+commit 04f43226a810736a6b3bd74e14a8ba52f8453e44
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 7 14:32:02 2006 +0000
+
+ fixup OSMESA_LIBS and make clean target
+
+commit 8c140c9c37575f53f90f2f44819d0169906e0c34
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 7 14:31:28 2006 +0000
+
+ remove GLUT dependency
+
+commit 3ae19057444927aca2a138672eff0f9b12c9046a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 7 14:12:04 2006 +0000
+
+ remove dependency on GLUT
+
+commit 218ba1ff540625ea7b4aecb9c3f6bcb0f4d6f38f
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Thu Jul 6 07:28:25 2006 +0000
+
+ Don't include unused header files.
+
+commit 5906acad0850b9d16639e44c290ed029def68204
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Wed Jul 5 13:28:01 2006 +0000
+
+ R300_RR_ROUTE_1 still needs to be initialized.
+
+commit 1ff8daf21e570fe9525bc5075ecdd52d424891c8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 4 21:43:21 2006 +0000
+
+ New animated engine demo.
+
+commit 1ad914575a89f3fdbfa5bce863e14f8d4679ed3b
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Tue Jul 4 20:50:49 2006 +0000
+
+ Add R300_VAP_CNTL 0x2140 and cosmetic cleanup.
+
+commit 525eb0b621f660d7b310d277c3feea35b7cf3d22
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 4 16:49:58 2006 +0000
+
+ added linux-osmesa
+
+commit f385cf115a7e26301965480f03928feeae9ec3c7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 4 16:49:41 2006 +0000
+
+ simple libOSMesa.so-only config, no X
+
+commit c6e1784062b29aeca6ebb65860e9b021ec3ee43c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 4 13:37:19 2006 +0000
+
+ enable hw antialiasing (Martijn van Oosterhout)
+
+commit 2922aa236f11bbbb763cd5dd11075e6f633b3362
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 3 23:12:16 2006 +0000
+
+ fix linking bug (bug 7405)
+
+commit 77afb435191cdaa0446aa65871c8ef995500bbcc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 3 23:08:33 2006 +0000
+
+ additional clipping/viewport fixes (Martijn van Oosterhout)
+
+commit 46c1419c9342f68755636208307ee6bbd5c0cc24
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Mon Jul 3 22:14:54 2006 +0000
+
+ some minor simplifications (same as in r300 driver) since mesa's internally used swizzle and writemask flags are identical to the bits used on the hardware, use a macro to error out if these assumptions are no longer true.
+
+commit bf35d70635309e499aee666eb5811446aa8b489e
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Mon Jul 3 22:11:44 2006 +0000
+
+ check if radeon_drm.h from libdrm is new enough, otherwise print an error to make it easier to figure out why it won't compile...
+
+commit 69f31f54756106bb3e3af48bd0c9ea3bb6f7d4f7
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Mon Jul 3 21:35:07 2006 +0000
+
+ Add copyright header and minor cleanup.
+
+commit bfb2729f9ef6cba2b1351826ac83932ab0ed6a5f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 3 13:20:32 2006 +0000
+
+ disable a new mem leak check until we're sure it's valid
+
+commit a6c72b67f6d48d6fdc7f1cf908f026a7db03c666
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 3 13:17:00 2006 +0000
+
+ fix clipping bug on context change (Martijn van Oosterhout)
+
+commit 527cd2544fd9f63c645802191077e84f1ff9a2ae
+Author: Tilman Sauerbeck <tilman@freedesktop.org>
+Date: Sat Jul 1 21:27:34 2006 +0000
+
+ initialize offset to avoid bogus warnings from valgrind
+
+commit be9282bf0b9b56c595861a9cb0e1c0d2fa0fc147
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 30 17:56:50 2006 +0000
+
+ Vertex/fragment program patches (Rune Petersen)
+
+commit 0cdf2d7413838ab5aea2edb6a2792edeb8c659e5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 30 17:21:32 2006 +0000
+
+ clipping fixes (Martijn van Oosterhout)
+
+commit f63623779a44c677d8731cbd706a02a615e03b0f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 30 16:55:39 2006 +0000
+
+ clean-ups
+
+commit 28930729676fca2a3eebec29660cf4c4b1c5916e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 30 15:58:53 2006 +0000
+
+ use _mesa_HashDeleteAll()
+
+commit 66c9be06f963f23fb1d158dcf3df737521a16d0f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 30 15:57:05 2006 +0000
+
+ remove occlude.c demo since GL_HP_occlusion_test no longer available
+
+commit c7e164f091d26f8286bbc9ba2a05a7098a58cede
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 30 15:44:30 2006 +0000
+
+ In free_shared_state(), use new _mesa_HashDeleteAll() function to delete
+ textures, display lists, programs, VBOs, etc. Less code and more efficient.
+
+commit d179e16501c408e1c57e436d5cf597c91f7ef040
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 30 15:41:55 2006 +0000
+
+ Added _mesa_delete_list() to delete a display list, but don't remove from
+ hash table. Make _mesa_destroy_list() static.
+
+commit 9f6798d6e1a59b8a0ca258d49d6afae128735f41
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 30 15:39:23 2006 +0000
+
+ Added _mesa_HashDeleteAll() to delete all entries in a hash table with a
+ callback function.
+ Added _mesa_HashWalk() to walk over all entries in a hash table with callback.
+
+commit 7c583f5d1161a5d35d6295399de6bc33cf7569f7
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Thu Jun 29 20:01:35 2006 +0000
+
+ Fix typo.
+
+commit f7f5b2c41516b11204ff2f253a822b3ac35dcbe0
+Author: Tilman Sauerbeck <tilman@freedesktop.org>
+Date: Thu Jun 29 18:36:51 2006 +0000
+
+ destroy left-over VBOs on shutdown
+
+commit ff3a5b1842bf26783a487674c5ff4cb40f405f25
+Author: Tilman Sauerbeck <tilman@freedesktop.org>
+Date: Thu Jun 29 16:48:45 2006 +0000
+
+ instead of messing with _TNL_LAST_GENERIC and _TNL_FIRST_GENERIC, use _TNL_NUM_GENERIC. this fixes an off-by-one error (we didn't handle the final attribute)
+
+commit 8ca6250d724edb74f1ca980e2dcc8a6dfdf073c4
+Author: Tilman Sauerbeck <tilman@freedesktop.org>
+Date: Thu Jun 29 16:47:09 2006 +0000
+
+ cleanup, avoid magic values
+
+commit ff5b590382d716dccd9d3122ead9a9236f019aaa
+Author: Tilman Sauerbeck <tilman@freedesktop.org>
+Date: Thu Jun 29 16:45:57 2006 +0000
+
+ added _TNL_NUM_GENERIC
+
+commit 787f4965a2141902c6a7298cd0f2c6c992444ed8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 29 15:44:13 2006 +0000
+
+ only assert front/back pitch if double-buffered (bug 7663)
+
+commit b10ea9843b63df6aa91fb6736ea8a8420a077adf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 28 21:58:47 2006 +0000
+
+ added src/glx/x11/depend to DEPEND_FILES
+
+commit 6c334754244f11a1bfc01b9009c55ee5916f7dc7
+Author: Tilman Sauerbeck <tilman@freedesktop.org>
+Date: Wed Jun 28 16:26:20 2006 +0000
+
+ propagate errors from parse_generic_attrib_num in parse_attrib_binding (-> don't segfault when you're trying to access invalid generic attributes
+
+commit 7a7aa2aabb90a2f6833f582ff4701f3840d399f7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 27 20:11:00 2006 +0000
+
+ Don't use nested struct definitions in tnl_clipspace_fastpath.
+ Make attr_type into a top-level type: tnl_attr_type
+ See bug 7340.
+
+commit 4063b1730d217fc8ecf4414b33e83d32d59c537a
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Jun 27 16:13:13 2006 +0000
+
+ Remove the extraneous GL_ prefix from the enums for GL_EXT_timer_query and
+ GL_EXT_framebuffer_blit. Enumerants in the XML schema get the GL_ prefix
+ added to them automatically. This resulted in things like
+ "GL_GL_TIME_ELAPSED_EXT" in enums.c.
+
+commit 291fd257ebc7915137d0005e696313ce01175f36
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Jun 27 01:46:11 2006 +0000
+
+ Fix stencil clears that have caused problems with redbook/stencil, tests/stencilwrap and ut2k4 adrenaline pills.
+
+commit caf0176472ea024e70b2401d622947281b316a24
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Jun 27 01:26:47 2006 +0000
+
+ Fix generic vertex attribs (Rune Petersen)
+
+commit 4e0617849c5c6f459f534dc4b2be51909e0755a4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 26 23:00:15 2006 +0000
+
+ use trackball code for mouse rotation
+
+commit 96715484242760e771339a018ea187d7c7827588
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 26 22:59:28 2006 +0000
+
+ virtual trackball code
+
+commit 199729ff277c7401fe0e59945f16f5b86987abf8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 26 19:59:38 2006 +0000
+
+ locking fixes (Martijn Van Oosterhout)
+
+commit 78a6000cf2eb294181ea1af049fae6d4f6167bcb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 26 15:34:21 2006 +0000
+
+ Use $(LIB_DIR) instead of $(TOP)/lib since libraries sometimes go into lib64/.
+ Probably need to fix the install destinations too...
+
+commit 0deb088cf070ef42a68b02952e755dda47d7c235
+Author: Tilman Sauerbeck <tilman@freedesktop.org>
+Date: Fri Jun 23 16:47:08 2006 +0000
+
+ more cleanups
+
+commit 3cb56804cae3d719c51064f527bea80d06fb5959
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 23 15:27:32 2006 +0000
+
+ fix glut/freeglut links
+
+commit 0e794a1bc6885cf569c3dc07b7fd56725aee2c2e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 22 22:50:48 2006 +0000
+
+ New 'install' targets in makefile. See bug 2372.
+
+commit b4517527ebe9933cd3f49da29a9443c1abaa8242
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jun 22 16:32:19 2006 +0000
+
+ A bunch of tiny tests that I've found helpful bringing up drivers from
+ scratch. These exercise single pieces of functionality and provide a
+ gentler ramp than trying to use the mesa demos to bring up drivers with.
+
+commit 5fb9f80e3775dc2d8906cfd90c3ca48ce19178ba
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jun 21 14:04:04 2006 +0000
+
+ exercise min/max lod
+
+commit 942b5b7bc08227f385b6a99167ad763a2843dc9a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jun 21 14:03:39 2006 +0000
+
+ exercise position invarient vertex program
+
+commit feb0ff11e5d429e1444f9987137c929adfb09bc8
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Wed Jun 21 10:58:04 2006 +0000
+
+ Check for a valid context
+
+commit 4cd9e5c3c9dd80a8f2f0bc10b63ae504ca0660fb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 20 15:30:26 2006 +0000
+
+ rewrite gluErrorString() to be more legible
+
+commit bd0bfd1dc2430d80a7563ae2af0667633277ab00
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 20 14:52:22 2006 +0000
+
+ reorder a few token definitions
+
+commit c28834bfbb53a4f9a4801cabcd9d026ec7d7f263
+Author: Michel Dänzer <michel@daenzer.net>
+Date: Tue Jun 20 09:39:32 2006 +0000
+
+ Add M32R architecture to test for USE_IEEE and friends (Kazuhiro Inaoka,
+ from http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=374608).
+
+commit 1ec9ed4f2562bcf24edc64275ced39f62ec2a40e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 20 03:35:17 2006 +0000
+
+ fix span code compilation problems, bug 5858
+
+commit 4afcd8aa8b694264a37b1f796346916d99d87a1e
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Jun 19 16:39:49 2006 +0000
+
+ Print the hex value of the errant input when an invalid stencil function is
+ specified.
+
+commit 161de10ce885e73ca07a0c851d63bf1a732c1ea8
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Mon Jun 19 09:27:04 2006 +0000
+
+ If DrawBuffer isn't set, return immediately
+
+commit 11fceb19d3aa6adf9fe103ad733b37a69229caec
+Author: Tilman Sauerbeck <tilman@freedesktop.org>
+Date: Sun Jun 18 14:07:10 2006 +0000
+
+ no need to handle ARL in a special way, it's a generic scalar operation. only tested on r300.
+
+commit 16d1024f27695bd9ceb86ffcdda960396a23ed2c
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Sun Jun 18 12:50:27 2006 +0000
+
+ fix broken negate
+
+commit e6a17b605236145aa397201d52de3f015a22a97e
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Sun Jun 18 12:39:58 2006 +0000
+
+ fix broken address register reads
+
+commit 385f23edf91a366b2e81449632ba3862957a2a74
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 16 14:50:05 2006 +0000
+
+ Thread safety for Win32. SourceForge bug #1507315.
+
+commit c0168fabed24e9089b47895475c7030925cbf399
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 16 13:45:29 2006 +0000
+
+ glPush/PopAttrib fix (bug 6891)
+
+commit 65897c04c870dcb20126cc564f0f70224c2049be
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 16 13:41:05 2006 +0000
+
+ don't create include/GLES yet
+
+commit c97c5f0b6b612ef1df18febafdad093e3e5bc0cb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 16 13:40:06 2006 +0000
+
+ remove obsolete PointSizePtr
+
+commit c3c64383cae74e2777478c5271bea494272885eb
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Fri Jun 16 13:14:35 2006 +0000
+
+ OpenVMS compile support update
+
+ Modified Files:
+ Mesa/src/mesa/main/descrip.mms
+ ----------------------------------------------------------------------
+
+commit be906fe05e1fd6c488ff84b24379d7272a5ac5af
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 15 15:39:10 2006 +0000
+
+ added some comments, braces in _mesa_BindTexture
+
+commit 2d77b25c27cdb49b1f3f6eda4643eaeaf230b9a2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 15 15:36:06 2006 +0000
+
+ minor clean-ups
+
+commit 9960ddcd66b9c2c6f4b12fc7db7326ba83d65956
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 15 15:34:13 2006 +0000
+
+ comments for gl_array_object struct
+
+commit 0b994ef5893c0fb59b36f2a723f74aa7c35e8502
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jun 15 12:47:29 2006 +0000
+
+ Call _mesa_resize_framebuffer() within intelWindowMoved(). Fixes
+ googleearth glitches.
+
+commit d048b7d36e502a3013b19be894d0db6c68414955
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jun 14 10:48:09 2006 +0000
+
+ Protect _swrast_read_rgba_span with RENDER_START/FINISH
+
+commit 4f68411e770573d396cdac45ebdc516661212618
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 14 04:15:16 2006 +0000
+
+ s/ATTRIBUTE/GENERIC/
+
+commit 62e1fae858509615c6e54e0b9388cfa2691a5919
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 14 04:05:17 2006 +0000
+
+ A number of vertex buffer fields like NormalPtr, FogCoordPtr, etc are really
+ just aliases for members of the VB->AttribPtr[] array.
+ Begin replacing FogCoordPtr with VB->AttribPtr[_TNL_ATTRIB_FOG], and similarly
+ for NormalPtr, TexCoordPtr, PointSizePtr, etc.
+
+commit 62dc134771858638ac38687c16bbb0578d20c419
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 14 03:30:57 2006 +0000
+
+ Rename _TNL_ATTRIB_ATTRIBUTE* to _TNL_ATTRIB_GENERIC*
+
+commit 3c18d4960728661e4059a015e7deb7c676c5c7b1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 14 03:29:08 2006 +0000
+
+ new assertion
+
+commit ee061060826df059f0ddb904a2160ed610423579
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 13 23:06:25 2006 +0000
+
+ Do a cheesy implementation of glXWait/GetVideoSyncSGI() functions, but
+ disable reporting the GLX_SGI_video_sync extension anyway.
+ Google Earth works now.
+
+commit 2d087480b4b1207c058efcccc9a72faedcea4651
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 13 23:04:41 2006 +0000
+
+ GLX_BAD_CONTEXT checks in video-sync functions
+
+commit e49aea9cef00502fdbd164321f8556478c19a63d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 13 22:17:41 2006 +0000
+
+ remove debug printf
+
+commit f9d88c820414c208ab9dbb1b40901c7d520e19e5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 13 17:24:36 2006 +0000
+
+ clean-ups and new comments
+
+commit 4df010b29689f023ba55043432502b69b8a9bffa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 13 17:17:32 2006 +0000
+
+ fix glVertexAttribPointerARB's normalized behaviour
+
+commit 34a3779aae716bf24f59257077694d26d0dfec18
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 13 17:16:56 2006 +0000
+
+ remove unused index_attr1fv()
+
+commit 7dfdf3a5b74d3498a98f71d18eb2e706f2fedd04
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 13 17:13:15 2006 +0000
+
+ Rename some functions/macros to better reflect their behaviour:
+ 3F -> 3FN because integer types are normalized
+ 4FC -> 3FN because we can normalize non-color attributes
+
+commit 44b82dffe836b25d42c7a3d7b4e62d0eb7cc033f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 13 17:06:44 2006 +0000
+
+ In import_attrib(), use the from->Normalized flag to choose the right
+ translation function.
+ Before this fix the 'normalized' flag to glVertexAttribPointerARB() was ignored.
+
+commit 5c7c5a762e602b67e404e04db5ab429bdf2fce1a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 13 17:04:26 2006 +0000
+
+ s/0/NULL/
+
+commit 1c546ae5522fccfb922a672558188c36fb6b2b3f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 13 17:03:25 2006 +0000
+
+ When using an ARB vertex program, the generic vertex arrays do not alias the
+ conventional arrays.
+ Typo: s/writeable/writable/
+
+commit 8bc00c2047f69d8cd37d4fd70256850445b0fa1d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 13 16:45:28 2006 +0000
+
+ fix size assertions in _mesa_init_teximage_fields()
+
+commit 212d7e836979552eae7f91849295a8c7542fcf01
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 13 14:50:44 2006 +0000
+
+ minor simplification in texcoord array import
+
+commit 73e73ffdd5a3df45a61c3cd975b21c8cfc03f050
+Author: Michel Dänzer <michel@daenzer.net>
+Date: Tue Jun 13 08:37:03 2006 +0000
+
+ Fix command line parsing.
+
+commit bd1e587ebe053b5a6d3b8cc3597b226d670f4667
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 13 03:29:02 2006 +0000
+
+ remove some unneeded #includes
+
+commit 0395cc01fdb6ffa638df939e0f7d9d02c34761f9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 13 03:22:52 2006 +0000
+
+ Fix a few conversion bugs. For example, GLshort->GLfloat conversion
+ didn't work for color arrays.
+
+commit c25eb99f95eec9f905a603079603fc6d4252575a
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Tue Jun 13 01:41:18 2006 +0000
+
+ Fix all instances of calling __glXSetupForCommand before GetReqExtra.
+
+commit 18d0efb55577d676bc0264d6dc574a6d8c7ae03b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 13 01:14:48 2006 +0000
+
+ removed incorrect const qualifier
+
+commit 9853aac4950e9bd4bb7b41777cec444c8ce09080
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Jun 12 22:39:49 2006 +0000
+
+ Make r300 driver build with GL_APPLE_vertex_array_object changes.
+ Sorry for the breakage. These changes are only build tested.
+
+commit a3feff414f508c399b98a27a36541057b73a3190
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 12 20:02:45 2006 +0000
+
+ GL_APPLE_vertex_array_object is new
+
+commit 48c03d7c9fffd720b87195550951e6a4e8240a7d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 12 20:02:11 2006 +0000
+
+ s/buffer/arrays/
+
+commit d2fb24a6714ca4eacaf50e8741fd9b012f7a3560
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 12 19:59:34 2006 +0000
+
+ make do_vertex_attrib_enable() static
+
+commit f2ce358331eeab7973e157fbe61cf6f23fc02f46
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 12 19:56:57 2006 +0000
+
+ include glxclient.h to silence missing prototypes warning
+
+commit c8f8fbecd7e3b858d1fcbe64bb0ed3e2295f2d5d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 12 19:47:44 2006 +0000
+
+ remove const qualifier from glGenVertexArraysAPPLE() parameter
+
+commit 0e0e3b05ab09045c275cc7d43bb753ba99a3c557
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 12 19:46:14 2006 +0000
+
+ include arrayobj.h
+
+commit 050d39b3f457e8c1b36156422348fff3760c6875
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 12 19:45:43 2006 +0000
+
+ remove unused var
+
+commit ee34e6ef716bb630440299ac1efbc2055ef09ffd
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Jun 12 16:26:29 2006 +0000
+
+ Add support for GL_APPLE_vertex_array_object. Several test programs
+ and demos are also added.
+
+ Adding basic support to drivers should be as easy as just enabling the
+ extension, though thorough test would also be required.
+
+commit 6254d5904366ae17cb707ee70ff1ce76092f9c81
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Mon Jun 12 08:52:29 2006 +0000
+
+ fire vertices before context destruction.
+
+commit 51eb359ea96a048f942b5e72c5634d36d9859d97
+Author: Tilman Sauerbeck <tilman@freedesktop.org>
+Date: Sun Jun 11 09:12:27 2006 +0000
+
+ destroy the memory manager along with the context
+
+commit 5b90cf2f2f3dcda0d674c01859847149b4054608
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Sat Jun 10 00:51:54 2006 +0000
+
+ enable arb_vertex_program by default if drm is new enough. Do a fallback when it's a nv_vp as there could be issues.
+
+commit da4b01211bb47648f47e04c9600c4bff0783c2ab
+Author: Claudio Ciccani <klan@users.sourceforge.net>
+Date: Fri Jun 9 15:20:26 2006 +0000
+
+ Added some notes about this implementation.
+
+commit 4812a59754802d6ec5d18dfab7d37ca947f5fa3d
+Author: Claudio Ciccani <klan@users.sourceforge.net>
+Date: Fri Jun 9 15:19:05 2006 +0000
+
+ Enable setting invible cursors.
+
+commit 6acc6dd0c4955832f1f94d65d21d30ed53793cc5
+Author: Claudio Ciccani <klan@users.sourceforge.net>
+Date: Fri Jun 9 15:18:04 2006 +0000
+
+ Separated joystick pointer coordinates from mouse pointer coordinates.
+
+commit 52c5d9c5b785831c9f7af9444f9a7cda01da06ce
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Fri Jun 9 00:28:53 2006 +0000
+
+ shuffle some code to make some assertions in the _savage_texstore_a111xxxx functions compile without error...
+
+commit 5dbd0a400a35e997c1368d661dc80c450342fd86
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 8 23:42:07 2006 +0000
+
+ added info about prerequisites for building DRI drivers
+
+commit 11ea8cb0a218b582dddd3a14de33f1fda2b86a20
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 8 23:12:58 2006 +0000
+
+ fix glBegin error test
+
+commit ee7e58e11140e18ebac8dd44f358aa151f1fa880
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 8 23:11:35 2006 +0000
+
+ check for invalid mode in glBegin(), bug 7142
+
+commit a0daa1220fb9f0a4963565f3851ebb620efa222f
+Author: Tilman Sauerbeck <tilman@freedesktop.org>
+Date: Thu Jun 8 21:17:08 2006 +0000
+
+ include tnl/tnl.h for _tnl_program_string()
+
+commit 3ebf0418a9c82c6af7134f3c9109973d029c591c
+Author: Tilman Sauerbeck <tilman@freedesktop.org>
+Date: Thu Jun 8 21:12:21 2006 +0000
+
+ mark ARL operand as scalar (Roland Scheidegger)
+
+commit 0bc09bdace2f548618a1e694cabe2bff2051e117
+Author: Tilman Sauerbeck <tilman@freedesktop.org>
+Date: Thu Jun 8 21:09:17 2006 +0000
+
+ struct op_names: get rid of the 'output operands' field as it's not used (Roland Scheidegger)
+
+commit 0c65604eeb50bdd47865e11645a78e989128ed9b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 8 19:59:41 2006 +0000
+
+ links to ClosedGL and S3TC library
+
+commit d6213e6023ca96660db5ddc909acad9f21c3f2e9
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Thu Jun 8 17:46:21 2006 +0000
+
+ Improve slightly wrong CMP_SRCS test to avoid unencessary instructions. Clean up the r200 vertex program code a bit.
+
+commit 808809b061e2ffa57b7d09cedbd57a190855100c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 7 14:01:31 2006 +0000
+
+ updated Pixmap vs. XImage info
+
+commit 37474eca68ce5be9ac3746f700bc220b0f4c5420
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Jun 6 23:44:05 2006 +0000
+
+ prevent possible program mix up with sw vps (Roland Scheidegger)
+
+commit 9248882ca27b289180a76262aa3d9b26c0cb0e8b
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Jun 6 22:24:12 2006 +0000
+
+ prevent run_arb_vertex_program from running tnl programs unless ctx->_MaintainTnlProgram is set
+
+commit 9ba2006594a54173956b2af69055f633fa813bf8
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Jun 6 18:37:45 2006 +0000
+
+ make sure tex format is supported.
+
+commit 2f42558050fb9330719c13a6fb5b1f6a5fc14179
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Jun 6 18:25:47 2006 +0000
+
+ various fixes (Roland Scheidegger)
+
+commit 6d1f98da2ba921fa18cd19ef43f2760549a2aea4
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Sat Jun 3 17:15:50 2006 +0000
+
+ A couple of quick fixes, the original had some half-finished
+ modifications..
+
+commit ac9d1ecec2ad5f55742fa1ccc4853f560ca7fcd9
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Sat Jun 3 16:37:46 2006 +0000
+
+ Another TODO, so I don't forget..
+
+commit 5411b96c5fc9b50ca4cd1ae61eb9d8b00fe5ff9a
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Sat Jun 3 16:36:23 2006 +0000
+
+ Add start of vertex shader backend, will most likely not work correctly yet
+
+commit 4cb9fffa7e98a03443b9b9866f65f3c1b4c08d89
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jun 3 15:32:27 2006 +0000
+
+ Added simple lookup_bufferobj() function to wrap the _mesa_HashLookup() call
+ and cast. Simplifies the code a little bit elsewhere.
+
+commit 3696f0ee1dd510bb1d45efde457c9d3cf7742abe
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jun 3 15:17:07 2006 +0000
+
+ updates for using libdrm (Hanno Bock)
+
+commit 6f172f7abadc511504968ac795ef8e481bb93d19
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 2 22:51:45 2006 +0000
+
+ minor clean-ups
+
+commit 98c791b543c4ba86b8bb54488bd872b33b10b1aa
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Fri Jun 2 22:47:31 2006 +0000
+
+ implement arb_vertex_program in hw for r200. Code contains still some hacks, generic attribs cause a fallback, but otherwise it seems to work quite well. Passes all glean vertProg1 tests with the exception of the degnerated LIT case (which is a hw limitation), as well as runs the r200 render path of doom3/quake4 (1.1 patch needed for quake4). The code is heavily borrowed from the r300 driver as vertex programs encoding is almost identical. arb_vertex_program is not yet announced by default and still needs to be enabled via driconf.
+
+commit 65ced474536bad23ee204170918f56eb8f8c4bf9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 2 14:50:28 2006 +0000
+
+ Thomas Sondergaard's API tracer
+
+commit 21fbdb14e9a189272fd7398be525e087dbf017dc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 2 12:51:56 2006 +0000
+
+ set per-context GL_DRAW_BUFFER state regardless of currently bound FBO
+
+commit 79d8db77b970de8d16ffabf8cae53c3a36da5fa0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 2 12:47:42 2006 +0000
+
+ fix depth-format rectangular textures
+
+commit 2b04dd9d2cba6ec3506e78016e64cffce6e8abf7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 2 12:46:53 2006 +0000
+
+ fix depth-component test to allow rectangular textures
+
+commit b302419abe96cdb81878913c164d7ae2209ddcda
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Fri Jun 2 01:52:54 2006 +0000
+
+ remove code dealing with drmMinor version < 6 since all radeon drivers request at least drmMinor 6 anyway.
+
+commit 5377ac80dcabc717a93b270fbd84260b2dfe9d7a
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Thu Jun 1 23:21:43 2006 +0000
+
+ retry on EBUSY instead of EAGAIN in radeonWaitIrq (it appears this was the intention as drm seems to never return EAGAIN) in all radeon drivers.
+
+commit fe57ed4f2566e30384d0c786998842405d8e8990
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Thu Jun 1 22:56:40 2006 +0000
+
+ Fix extended swizzling in vertex programs by introducing special swizzle instruction, extend the 2 bit rsw field to 3 bit like used in other places. While here, also fix up rsw (negation), dph and try to fix up rsq with negative values (doesn't work, bug seems elsewhere) in the sse codegen code.
+
+commit 4d3ab19abfc262070ff82443bf28fb8b8a616e18
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 1 20:22:30 2006 +0000
+
+ document MESA_TEX/TNL_PROG env vars
+
+commit 1ec9b5a5a9fefc152062ea817fda9e6fa13bae21
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 31 20:36:52 2006 +0000
+
+ fix extension_supported() function, added comments
+
+commit e689a7fc6a743e15b1534732c8973119a39dd928
+Author: Tilman Sauerbeck <tilman@freedesktop.org>
+Date: Wed May 31 17:57:14 2006 +0000
+
+ SWZ is nearly identical to MOV. the difference is that SWZ supports per-component negation, which MOV doesn't. as that's handled transparently, we can use the same code for them.
+
+commit 49db174df5ede38de6d41b05dd544186a15ffe18
+Author: Tilman Sauerbeck <tilman@freedesktop.org>
+Date: Wed May 31 17:37:23 2006 +0000
+
+ pass src->NegateBase as-is in t_src() now, as the flags are equivalent to r300's VSF_FLAGs now
+
+commit 9efe17ed9152d29cfbc9acf6fd4e38d6a3a4ca2d
+Author: Claudio Ciccani <klan@users.sourceforge.net>
+Date: Wed May 31 17:06:05 2006 +0000
+
+ Updated config file.
+
+commit fe94d0b33508560f7b42dacd457f9eedcaf1a210
+Author: Claudio Ciccani <klan@users.sourceforge.net>
+Date: Wed May 31 17:05:11 2006 +0000
+
+ Added some example progs using DirectFBGL.
+
+commit b18191cf306c255fe5eff7762fc8e419e043a621
+Author: Claudio Ciccani <klan@users.sourceforge.net>
+Date: Wed May 31 17:02:45 2006 +0000
+
+ Added DirectFB GLUT implementation.
+
+commit 9400550c168f685e82a2ab7bfaf3344f985127ca
+Author: Claudio Ciccani <klan@users.sourceforge.net>
+Date: Wed May 31 17:00:10 2006 +0000
+
+ Fixed bug with multiple contexts.
+ Added support for ARGB4444 and ARGB2554.
+ Added hardware accelerated Clear().
+
+commit 55ad3cc05510aa0db3cd080c710b3a6e1c96b100
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 30 22:26:21 2006 +0000
+
+ fix bug 7077 - mem leak
+
+commit a8c4242395b1bce0eac2a20243e5289414a9f511
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 30 22:17:35 2006 +0000
+
+ Define new NEGATE_* tokens for setting the src register's NegateBase field.
+ Before, we were using GL_TRUE/GL_FALSE in a few places.
+ Note: only the SWZ instruction can negate individual components.
+
+commit e4cb9cd167b2993a4d73871b80216af9766f130b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 30 22:15:24 2006 +0000
+
+ remove redundant 'const'
+
+commit 8333012b56ba41380859eb78dd42b76d84788877
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 30 21:58:55 2006 +0000
+
+ free convolved image / fix mem leak (bug 7077)
+
+commit 1d0fa45bc1f54b073e026f494f5fd39b838ac976
+Author: Tilman Sauerbeck <tilman@freedesktop.org>
+Date: Tue May 30 18:49:20 2006 +0000
+
+ minor code cleanup, no actual changes
+
+commit 6be8127ea4151a4f3da933d6b2cca917ed3dbfad
+Author: Tilman Sauerbeck <tilman@freedesktop.org>
+Date: Tue May 30 16:57:52 2006 +0000
+
+ don't generate GL_INVALID_ENUM if GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB, which is actually handled
+
+commit 51fec69ea6dec237f996161ae5a4a30ae563a2f1
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue May 30 09:59:05 2006 +0000
+
+ Add x86sse.h.
+
+commit 4decba90bed688af01271abe9ccb3d42b491b3a5
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue May 30 09:45:33 2006 +0000
+
+ Remove not needed forward declaration.
+
+commit 23b7c7dc1469ba5bbd14f736a3c188c63cd4f280
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue May 30 09:38:16 2006 +0000
+
+ Make it running under Linux.
+
+commit 44d5c8668a43fc06115ea83554bb2249ea4d2c6f
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue May 30 09:35:36 2006 +0000
+
+ First draft.
+
+commit b20cdf1d2829eb8d9638d6a23a26e4a4c11c4e90
+Author: Tilman Sauerbeck <tilman@freedesktop.org>
+Date: Mon May 29 16:24:28 2006 +0000
+
+ don't do the check for >= MAX_VERTEX_PROGRAM_ATTRIBS twice, it's already done in parse_generic_attrib_num()
+
+commit 919f6a070c871a8e60053306145f0971c69d699b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 29 14:37:56 2006 +0000
+
+ generic attribute 0 wasn't handled correctly (Jesse Allen)
+
+commit 76b6e88e56a065eb7c169e9d2da57633fb83c486
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Sat May 27 09:09:56 2006 +0000
+
+ fix some whitespace in previous commit
+
+commit 8a6182105772280e2727de4a00809c8fb7b13c87
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Sat May 27 09:03:25 2006 +0000
+
+ preparation for r200 hw vertex programs. Increase R200_CMD_BUF_SZ to 16k instead of 8k (the reasons why it was exactly 8k are unclear). Add register defines, sanity code, fix potential issue with wrong statechange order when disabling fragment programs.
+
+commit 04fa003a501298500607c4e83e58cb0291ddc6e4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 24 03:34:17 2006 +0000
+
+ The ctx->_TexEnvProgram that's allocated in update_state() doesn't seem to
+ be needed (it's set in texenvprogram.c) and is a memory leak according to
+ valgrind.
+ Disable with #if 0 / #endif
+
+commit 65a51c0d6243f07491578e95b85bc483f923b817
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 24 03:30:31 2006 +0000
+
+ Roll _mesa_free_parameters() into calling function (the only caller).
+ Replace assert(0) with _mesa_warning().
+ Use new _mesa_align_realloc() function.
+ New comments, clean-ups.
+
+commit 5a67af97fabbc712bd8f1f944b485e86e93b3c03
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 24 03:25:22 2006 +0000
+
+ fix a small memory leak in _mesa_add_state_reference()
+
+commit 1798d9a8a4a779746f5e665357b6bc10a2894d0b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 24 03:15:46 2006 +0000
+
+ added _mesa_align_realloc()
+
+commit 0c1cbd5805e27914eba7278c51bdd7b3c42b4c52
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 24 03:01:58 2006 +0000
+
+ use GLbitfield for StateFlags, improved comments
+
+commit d9736db6676948e06712d4bcba46b7040452f870
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 23 02:44:46 2006 +0000
+
+ Add const qualifiers in a number of places.
+
+commit f5a2ac95c30b0d4cecc47aeebfb056ec6ac8e511
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 23 02:16:20 2006 +0000
+
+ init mask=0 to silence warning
+
+commit fe9026d04abd0e11799f1369f953f5d7ce053a54
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 23 02:13:53 2006 +0000
+
+ make mgaSetFence() and mgaWaitFence() static
+
+commit a6f7f10efadb3c3e1aea6502b1c444189ba77124
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 23 02:12:08 2006 +0000
+
+ prototype i915_udpate_fog() to silence warning
+
+commit b8f2f6fee147f423438ef7044984b1d7cfb5a428
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 23 01:55:31 2006 +0000
+
+ In cache_item(), there was sizeof(void) expression.
+ Replace void *key parameter with const struct state_key *
+
+commit acc9566b86fea90f588937aa6786448cec956f4d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 22 17:41:59 2006 +0000
+
+ GL_INDEX_OFFSET fix
+
+commit 17befff800084f9bbcfda86d2e087e646959f1f1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 22 17:40:07 2006 +0000
+
+ GL_INDEX_OFFSET didn't work with CI->RGB mappings.
+ Added some const qualifiers.
+
+commit 8065c120c45e89e49ca9f707408fd7bd14db6b23
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon May 22 16:09:27 2006 +0000
+
+ memory usage fixes for glean/conform, use a better hash function
+
+commit 64da16146fed68605f83ccf3b64075c0d5b6f052
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon May 22 14:30:58 2006 +0000
+
+ Fix typo
+
+commit 5ddc53f899598396003ec6c723f8132c76aafe79
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon May 22 14:17:32 2006 +0000
+
+ Better caching for texenv programs.
+ Initialize some values correctly.
+
+commit 7e3fa7e837aaf687996abdd8511f6bf32e2c9097
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon May 22 12:32:35 2006 +0000
+
+ Speedup the venerable mm.[ch] allocator with doubly linked lists and a
+ separate list of free segments.
+
+commit b0b6d1abe5c7e629baebd4bf3d3ee3b17ba6ff08
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat May 20 16:19:48 2006 +0000
+
+ In gl_texture_image, replace ImageStride with an ImageOffsets array.
+ Some hardware lays out 3D mipmaps in a manner that can't be expressed
+ with a simple image stride.
+ The ImageOffsets array is allocated and initialized to typical defaults
+ in the _mesa_init_teximage_fields() function. If needed, a driver will
+ then have to replace these offsets.
+ TexStore and TexelFetch routines updated to use offsets array.
+
+commit 226d0187b530482684f3a0dddd0934bd015eb986
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat May 20 15:18:23 2006 +0000
+
+ glxinfo -l expanded, fixed bug 6863
+
+commit 04d5d1641531bfa814c1c4f279bd5cc6cec51210
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat May 20 15:16:45 2006 +0000
+
+ remove some redundant functions, fix-up reference counting
+
+commit 89ffca52ac18103ebaa754241a882ea8438ff9c4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat May 20 15:12:42 2006 +0000
+
+ use new _mesa_remove_renderbuffer()
+
+commit 7ac5b7b934544c27d87b4852c95efb379889f1dc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat May 20 15:08:25 2006 +0000
+
+ use new _mesa_dereference_frame/renderbuffer() functions
+
+commit b52f02121bdfc68fbbba732f3d107c296f03d885
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat May 20 15:07:32 2006 +0000
+
+ Added _mesa_remove_renderbuffer() as a counterpart to _mesa_add_renderbuffer().
+ Added _mesa_dereference_renderbuffer() to encapsulate renderbuffer
+ reference count decrement, delete, locking.
+
+commit 2eb88c1752f3c2f2f858415a89fdfc96e6669fc8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat May 20 15:06:35 2006 +0000
+
+ Added _mesa_dereference_framebuffer() to encapsulate reference count
+ decrement, delete and locking.
+
+commit cbb19930b3bd902e79e59fe7ca1d1943d72d84b4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 19 17:31:09 2006 +0000
+
+ some new comments
+
+commit 20e11b233277da7091ef5052f04208e344b05334
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 19 17:27:33 2006 +0000
+
+ remove an assertion
+
+commit 4e470db0b94a69d149d54381a7d4785da7c9f73b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 19 16:48:42 2006 +0000
+
+ print 2D vs 3D in window
+
+commit 5ec34f0ff96d5104f30b63a66ab7ee55a5f7250f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 19 16:42:01 2006 +0000
+
+ also test 3D textures (press '2'/'3' to toggle)
+
+commit 083f8111aac27f47feb2f35a10970fc40b940eb1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 19 03:49:13 2006 +0000
+
+ added some CHAN_BITS tests
+
+commit 68bc7df63813d7dba2f03e74f028317b7247e358
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 19 03:47:16 2006 +0000
+
+ replace FORMAT var with RB_TYPE
+
+commit fd02ca7711b57b903f33654aabe5c0aaa52f641d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 19 03:43:39 2006 +0000
+
+ Demonstrate rendering 8, 16 and 32-bit/channel images all in one program.
+ Like older osdemo.c program, but test more OpenGL features like texturing,
+ blending, lines.
+
+commit e35b9058ce5b0cacfa962c05e038292ed1136fc9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 19 03:42:16 2006 +0000
+
+ updated docs for off-screen rendering
+
+commit d44248ca00ad404cfc18c2c1f4c1817936ee4eac
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 19 03:41:37 2006 +0000
+
+ Allow rendering 8, 16 and 32-bit/channel images without recompiling.
+ Uses new renderbuffer adaptors.
+
+commit 6a74f65c5876228cab96753d559d7d41fb465785
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 19 03:40:29 2006 +0000
+
+ install renderbuffer adaptors when color channel sizes need to be reduced
+
+commit d2e5598cd32786bf77a46dcc4cd27d8c0ec278af
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 19 03:37:41 2006 +0000
+
+ added rbadaptors.[ch] files
+
+commit e2db790a46a539ff5eee5b6f57862dbff149deab
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 19 03:35:38 2006 +0000
+
+ added rbadaptors.c
+
+commit 3c30b351341589364a22e5590f319a6f92c7a19a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 19 03:33:50 2006 +0000
+
+ Renderbuffer adaptors.
+ When compiling Mesa with CHAN_BITS=16 or 32, these adaptors allow rendering
+ into color buffers with smaller channel sizes.
+
+commit 23a5c57ceec4e7d555f1896a7ca825a9ac9969f6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 18 22:31:19 2006 +0000
+
+ minor simplification
+
+commit 0ca9082cbdf3c7a646a516b73b852fe7a8fd504c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 18 22:11:09 2006 +0000
+
+ texture EnvColor needs to be converted to GLchan, not GLint
+
+commit 787fd58186cbaffde7bf930f94a1a1bfa90a23b8
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Thu May 18 21:15:26 2006 +0000
+
+ Dont allow 16 tex units to be used at all.
+
+commit 5e51ebd8eb084a001d9573f115ea0a837c786fa3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 18 17:04:13 2006 +0000
+
+ use -march=i486 instead of -m486 (bug 6954)
+
+commit 0d957ca400045b2b21f5654eb1672b43c4c1950c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 18 14:16:43 2006 +0000
+
+ change initialization of texcoords - not all C compilers support non-constant array initializers
+
+commit 3d8a791ff90068b3aae60b014dd3bd35d55f52d4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 18 13:55:31 2006 +0000
+
+ add extra APP_LIB_DEPS (bug 6954)
+
+commit c717ffa146e655e6e69f133b808872910a18d0f1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 17 22:51:44 2006 +0000
+
+ added solaris-x86-gcc-static
+
+commit 7d848c330803e31010b91b4c188ea9e0c75a1cac
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 17 22:51:23 2006 +0000
+
+ generate shared lib, not static
+
+commit 9cc115e417153bd892e9d3d981098060f51224bd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 17 22:51:08 2006 +0000
+
+ formerly known as solaris-x86-gcc
+
+commit 4c6319db9cea911609d97fca20eeac142a575d44
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 17 22:44:18 2006 +0000
+
+ call reshape() after init() to set initial projection/viewing transform (see bug 6941)
+
+commit b99c801f733be48520af9ee9efe53edaef5d756f
+Author: Tilman Sauerbeck <tilman@freedesktop.org>
+Date: Wed May 17 16:39:40 2006 +0000
+
+ unbreak the build
+
+commit cea0c74bcbed69c4d066be85e5fcb85ed8cb9764
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Wed May 17 06:26:25 2006 +0000
+
+ add texture rectangle support for i815, I wrote the original patch about
+ 2 years ago, I finally dug out an i815 and got it working
+
+commit 601c02f7835bb01a9c25d232f5e6e11ba258d6d9
+Author: Tilman Sauerbeck <tilman@freedesktop.org>
+Date: Tue May 16 16:27:54 2006 +0000
+
+ bug 6941: fixed initial rendering problems in glxgears
+
+commit bd4256acfde303f559d99090519d4217c19f787e
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue May 16 10:37:16 2006 +0000
+
+ Fix typo.
+
+commit 0b9d7e477a5cdf1d7164bc4db56cbebbcff38fdc
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue May 16 10:11:29 2006 +0000
+
+ Add functions.
+
+commit 969c43108e0a5a9f4669d59b784dd8a065b52914
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue May 16 10:10:56 2006 +0000
+
+ Write attribs to slang machine.
+
+commit b4c590554992a2ce7d85283069d31cf7e51a34c2
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue May 16 10:10:10 2006 +0000
+
+ Change error message wording.
+
+commit b6e92d090c2f523ee4d9f53a095dd2144348d796
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue May 16 10:09:32 2006 +0000
+
+ Rename print() to printMESA().
+
+commit 563f8ad50a3534b9724374d4571580bb85eb5ef9
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue May 16 10:08:30 2006 +0000
+
+ Fix attrib handling.
+
+commit 21ef956e9a48ab21e724a480a592e17d651477e6
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue May 16 10:04:24 2006 +0000
+
+ Extend printMESA function to output also to shader's info log.
+ Fix float-to-int conversion for x86 back-end.
+
+commit a67330d157ffe05602a3163c946aa97e29cb6bb5
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue May 16 10:01:07 2006 +0000
+
+ Cleanup code. Change constructor prototype.
+
+commit d1b40400d64a8ab7f4dc64410e165e7c49d30a28
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue May 16 09:53:42 2006 +0000
+
+ Cleanup code.
+
+commit ecf2e5b0a159b880c91859509e80d4ba81f30be6
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue May 16 09:52:02 2006 +0000
+
+ Change constructor prototype.
+ Fix struct field accessing.
+
+commit d2b9e1c56074fdb6f04f6f509df150a0abb12963
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue May 16 09:44:08 2006 +0000
+
+ Remove carriage returns.
+
+commit d88c67fd81f630f92889289e457b4a4634554ba6
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue May 16 09:43:09 2006 +0000
+
+ Add GetInfoLogLength and WriteAttrib functions.
+ GetInfoLog for shaders if different - it is a concatenation
+ of compiler output and executor output produced by printMESA.
+ Fix bugs.
+
+commit a1a02e62034e051fb574ae6fea694a46290688c6
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue May 16 09:40:30 2006 +0000
+
+ Cleanup GLhandle-to-object translation macros.
+ Fix minor bugs.
+
+commit 32c2f939e6ddf840285c40253f78e025d4377d61
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue May 16 09:32:30 2006 +0000
+
+ GLSL regression test suite.
+
+commit 2ca741ad4b95ce5c91b99c4628e5e5e256f3e1d9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 15 15:35:38 2006 +0000
+
+ added a few extension #ifdef tests
+
+commit 5e2e96b6f010853abcc5a38fd7283768438003b2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 15 15:26:04 2006 +0000
+
+ Added a check_context_limits() function that checks that the ctx->Const.*
+ fields are legal. May catch some driver development bugs.
+ Called the first time a context is bound.
+
+commit c8ea111166d55ec0bc12f08694117b974d570da8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 15 15:14:37 2006 +0000
+
+ usage() function
+
+commit 20215ecc7ded503d7d9cb6e8ba2f7a9c1621dd15
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun May 14 16:42:20 2006 +0000
+
+ remove some unused macros
+
+commit d77a165eacc44a7c644b1fe26064d62cba440e70
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun May 14 16:27:10 2006 +0000
+
+ s/GLbyte/GLubyte/
+
+commit ed875a4cb3cf194637d696b2660b98fdc3b95b0f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun May 14 15:56:07 2006 +0000
+
+ fix typo, remove dead code
+
+commit ad7805dfee27fc8e5dd6f86609c68f1ff2fe42d2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat May 13 00:18:12 2006 +0000
+
+ Expanded output with -l option: vertex/fragment program and vertex/fragment
+ shader limits.
+ Misc sync-ups with x.org copy of glxinfo.
+
+commit f1dbacc6adcd7efde02d9a8f7ab0b4a5cac1869b
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Fri May 12 06:03:27 2006 +0000
+
+ the r300 should only use 8 until Mesa can deal with this
+
+commit 5d7ab75b02b023bc3fb258362221d9cda49fc547
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Fri May 12 03:50:10 2006 +0000
+
+ this should use the configured number not the MAX, this has no effect until
+ the core mesa swrast number is fixed, just spotted this on the way past
+
+commit 88cf5aa783fc16043b31bc4cc0744412712dc22f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 11 16:27:39 2006 +0000
+
+ In __glXPushArrayState() we weren't pushing the index field.
+ But later, in __glXPopArrayState(), we were using that field to set
+ the active_texture_unit. The value was garbage and could lead to
+ things blowing up.
+ See bug 6863.
+
+commit fa489dd04326fa0fcf05b078ae3700f379793f21
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 11 01:15:48 2006 +0000
+
+ simplify image setup code, added LOD Bias control (l/L keys)
+
+commit aecd02b391c6719210d14ae10dbeb064fb2359eb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 10 22:47:06 2006 +0000
+
+ simple texture compression test
+
+commit 932c2fc291e7905eba6483436871b2c24440c2bb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 10 22:44:26 2006 +0000
+
+ new test image - Delicate Arch, Utah
+
+commit bb2dd388d02ac28bafa25e66fe9a0148ea14f620
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 10 22:37:56 2006 +0000
+
+ Test program for exercising GL_TEXTURE_BASE_LEVEL and GL_TEXTURE_MAX_LEVEL.
+
+commit 1e7d84e258a006f1509de9f41c1bffc985dfb450
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 10 19:21:39 2006 +0000
+
+ move check for event.xbutton.button <= GLUT_MAX_MENUS (see sf bug 1484284)
+
+commit 700359ca5a9989e08739ff1a74e4806736bce99b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 10 19:21:16 2006 +0000
+
+ check if button >= GLUT_MAX_MENUS in glutAttacheMenu()
+
+commit adc0490420fa834197a37ffd1e64430333294d02
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 10 09:00:16 2006 +0000
+
+ Clean up previous change slightly
+
+commit 452be7e7ef0d9ac0205ce7b3277ad1f14558cc2c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 10 08:57:34 2006 +0000
+
+ Use a (much!) larger executable memory heap so that the glsl x86
+ allocations succeed. I'm not sure this is really necessary...
+
+commit 2b3aab071760c15abfbd99c070cf368d715e5173
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 9 14:51:57 2006 +0000
+
+ check event button against GLUT_MAX_MENUS (bug 1484284)
+
+commit ab13ec10ebd6f35286db93752739246076e0edb9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 9 14:41:08 2006 +0000
+
+ 16/32-bit chan fixes, texture compression fixes
+
+commit 791e7b385adbe865d0fa7b0aff3672095fdc0c7b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 9 14:36:58 2006 +0000
+
+ When error-checking 'unit' against num_texture_units, need to use >=, not >.
+ See bug 6863.
+
+commit 008ed1df83735c72c2731c509a3665938d3c7209
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 9 13:51:17 2006 +0000
+
+ Add a new 'all' parameter to _mesa_get_compressed_formats() to indicate whether
+ all formats or just those without restrictions/limitations should be returned.
+ We want all when validating the internalFormat parameter to
+ glCompressedTexImage2D but only want unrestricted formats when handling the
+ GL_COMPRESSED_TEXTURE_FORMATS query.
+
+commit 5e4c39dc0e0fd6bc4324aa9030430822348aa3b4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 9 00:00:46 2006 +0000
+
+ use _mesa_compressed_texture_size() for GL_TEXTURE_COMPRESSED_IMAGE_SIZE query
+
+commit a5467697336f201abee19cba1521be80e5c87d3b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 8 23:59:38 2006 +0000
+
+ two more texture compression fixes
+
+commit c3c19be8e0d0b13916cc128cf3c8e839935c912a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 8 23:52:32 2006 +0000
+
+ More updates for texture compression.
+ Added _mesa_compressed_texture_size_glenum() for validating the imageSize
+ parameter to glCompressedTex[Sub]Image1/2/3() which does _not_ call
+ ctx->Driver.CompressedTextureSize() - since that could return a padded size.
+
+commit 5999c5b620236fb6a996cf56759aec31f01c126b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 8 19:14:38 2006 +0000
+
+ Fix a number of texture compression issues.
+ Pass the MESA_FORMAT_* token to the _mesa_compressed_row_stride(),
+ _mesa_compressed_texture_size() and _mesa_compressed_image_address()
+ functions since we want to use the driver-chosen format, not the user's
+ internalFormat hint.
+ Consolidate code related to choosing the texture format in texstoree.c
+
+commit c93c18abf1950e1494f11166e3f52973efbd6b75
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 8 19:11:21 2006 +0000
+
+ fix warning
+
+commit 71b2504e0390fa19f133647c8686d830f8f40eb6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon May 8 09:03:35 2006 +0000
+
+ updates to dri drivers for recent stencil changes
+
+commit 960973b2ecfffc3b09563851e86c863e5304f48f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun May 7 16:16:23 2006 +0000
+
+ added CHAN_BITS != 8 test
+
+commit 85bc17495b5fe263f288904aa97dcf16d7eb6910
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun May 7 16:14:58 2006 +0000
+
+ misc clean-ups
+
+commit ca8b2351884e602f32b3e7ad23cf4beeae1c01fc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun May 7 16:14:13 2006 +0000
+
+ minor clean-ups around DepthScale/Bias
+
+commit 8a1848bf9972f7a131a754f030ccf7c8945fba36
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat May 6 22:39:33 2006 +0000
+
+ restore -O flag (bug 6814)
+
+commit 0c7cbf0a7cbba93e4bcb2f0fdd0a7ea2ef4ebc94
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat May 6 22:30:33 2006 +0000
+
+ Check for overflow when converting floating pt Z values to 32-bit GLuint.
+
+commit efbf170cfbb0ad8ad8a480a0be581b0908b53138
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 5 18:19:54 2006 +0000
+
+ updated GLX_EXT_texture_from_pixmap tokens (Dave Reveman)
+
+commit 9b20b68af16af6bd630e9a5ed5b56fdf837fa29f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 5 14:49:38 2006 +0000
+
+ check for float->uint overflow in _mesa_unpack_depth_span()
+
+commit 6717a7aca0aaab02bd9ef7b1a934f0853efdc953
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri May 5 09:26:40 2006 +0000
+
+ Define VERT_RESULT_EDGE
+
+commit 86740f1593d8fba66a368f98037897f7570a71aa
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Fri May 5 06:53:11 2006 +0000
+
+ remove temporary code from keithw, this in theory isn't used at the moment
+ anyways unless INTEL_BATCH is turned on
+
+commit 2364d9abd3d95ef29cc7c169033f31f40863e5f0
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Fri May 5 06:52:32 2006 +0000
+
+ Fix i915 driver after stencil changes in Mesa 6.5
+
+commit ab377ce414ba5ca286bab0ddc8e80769bcb88656
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri May 5 00:00:46 2006 +0000
+
+ Release temporary
+
+commit 6e2ab82f5c2bc41c1dcb146c0fe9606f3bfe4eb1
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed May 3 17:12:12 2006 +0000
+
+ Fix some silly spelling errors.
+
+commit ee251d4313b18ca18b96667b0d2edf314d2601db
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Tue May 2 08:58:42 2006 +0000
+
+ remove some unneeded includes
+
+commit bea7fe57c1f9720ea70654e8302d143579caa39a
+Author: David Reveman <c99drn@cs.umu.se>
+Date: Tue May 2 08:54:39 2006 +0000
+
+ Update to final EXT_tfp tokens
+
+commit 698b04c735f32418a55df34e21f210fc81f0a2d1
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Tue May 2 08:32:46 2006 +0000
+
+ move the pkg config flags for libdrm to the bottom
+
+commit 015762455764e3b467f0df769d51d0ed0ea3ee2c
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Mon May 1 22:25:18 2006 +0000
+
+ Update function signatures for EXT_tfp entrypoints.
+
+commit ae7f22f1ef53c79c8b27792a93a44b28271185d4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 1 16:01:17 2006 +0000
+
+ new, faster version of __gluInvertMatrixd(), bug 6748
+
+commit 0174d894ef79aa5d6f093af8c5c6f97a5edd4e86
+Author: Jeremy Kolb <jkolb@freedesktop.org>
+Date: Sat Apr 29 16:13:02 2006 +0000
+
+ Bumped support for xcb 0.9
+
+commit c5b3343e6551b488d002b7a0612af5b5eb5b65e7
+Author: Tilman Sauerbeck <tilman@freedesktop.org>
+Date: Fri Apr 28 21:57:32 2006 +0000
+
+ added a trailing newline to pacify gcc
+
+commit 9ecd280f338a722b356faf83872cf0ccaf19e0c6
+Author: Tilman Sauerbeck <tilman@freedesktop.org>
+Date: Fri Apr 28 21:50:41 2006 +0000
+
+ fptest1 requires GL_NV_fragment_program
+
+commit 6a769d97e3ad0c5275f918b9f36519d6c0254da3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 28 15:42:15 2006 +0000
+
+ fix second memory leak (bug 5557)
+
+commit 49a80ca2bcca1c1d9c341c332c5a4b07b6b3b2fd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 28 15:40:11 2006 +0000
+
+ fix first memory leak (bug 5557)
+
+commit c4fe46f0b8b45407ea40500b869ae1beca71063c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 27 02:50:31 2006 +0000
+
+ fixes for CHAN_BITS!=8
+
+commit 444cd293fd69d1848b2c55f75674d563e0582fba
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 27 02:47:50 2006 +0000
+
+ assorted clean-ups, fixes
+
+commit e814d5e89f10de0c20a5c35e317eeab89b47749b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 27 02:46:20 2006 +0000
+
+ replace a bunch of casts with GET_XRB macro
+
+commit edc16a5f7a89584490be0824a1d96e2f3426998b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 26 18:43:22 2006 +0000
+
+ fix a few stride computations in _mesa_texstore_rgba()
+
+commit e440bcf41a9d21d3e0b118472564eedaf09b44fe
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Wed Apr 26 12:00:53 2006 +0000
+
+ fix warnings.
+
+commit d44c3e647fe99a3aa1175fcbd6a2179d7d1f17fb
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Wed Apr 26 11:36:27 2006 +0000
+
+ R300_SPAN_DISABLE_LOCKING env var
+
+commit a4ebd5f684768843a185e444eb41d0e1dfa56953
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 26 03:31:59 2006 +0000
+
+ remove _glthread_INIT_MUTEX() call
+
+commit 65dccf377de51d6cbc15cb968eec85ba3f1febc1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 26 03:29:30 2006 +0000
+
+ fix an assertion
+
+commit faee3f0f1e1d3e678aea64cc2c9775f8b7b00562
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 26 03:19:54 2006 +0000
+
+ minor clean-up
+
+commit 901ac21938e452966fbb89496dd72d9654e28548
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 26 03:19:37 2006 +0000
+
+ remove old XFree86 tag
+
+commit 9c4fd26bcab7e4a5bd97a56deff89b8ea0ae5f1d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 25 22:55:19 2006 +0000
+
+ update some tests for visual bit depths to use renderbuffers
+
+commit 2486267dda524b612879386aa5cea2bef98602ff
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 25 22:26:21 2006 +0000
+
+ use _TNL_FIRST/LAST_MAT indexes
+
+commit 6acf1e93a291511cfb20b0e2aeda6e71ceb62a62
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue Apr 25 10:11:59 2006 +0000
+
+ Remove carriage returns.
+
+commit cb0ae25a4efd85128f47aa30b772abb7245d53f6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 25 00:55:47 2006 +0000
+
+ vertex attrib alias change, glPopAttrib/GL_DRAW_BUFFER bug fix
+
+commit 94b30dc390f1fdd526c080080830016fad3e2ee2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 25 00:53:25 2006 +0000
+
+ Put color index attribute into the 6th attribute slot.
+ Update a lot of loops, conditionals to use the _TNL_FIRST/LAST_* values
+ instead of specific vertex attributes.
+ Remove the EdgeFlagv function from the GLvertexformat struct.
+
+commit 5bdc6fdebc0ab59a888fba15136eb4a0ee2790e1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 25 00:31:22 2006 +0000
+
+ silence warnings
+
+commit 095c6699f449ed4803f23e844cc0227743a9c3e1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 25 00:21:32 2006 +0000
+
+ No longer alias generic vertex attribs with conventional attribs for GL_ARB_vertex_program.
+
+commit f12ea2d402e8f6d29dfd40c731351ff210887b58
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 24 16:33:25 2006 +0000
+
+ extended swizzle (bug 6727)
+
+commit 9cd1cc0535bd0b80c0c2550a03aeb872b10d7ff0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 24 16:32:05 2006 +0000
+
+ fprintf() clean-up (bug 6730)
+
+commit 263fff44b45e3ef0bb8ef19ebb8475a4662778de
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Apr 23 15:28:54 2006 +0000
+
+ updated assertion
+
+commit 44a22a2c28ca0f7eb04fb18ef2a7077b4d31e20f
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Sun Apr 23 08:04:50 2006 +0000
+
+ enable feedback rendering
+
+commit a55842b9b310749b410e38fa3a5e1928f5f572b5
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Sun Apr 23 07:59:40 2006 +0000
+
+ disable hw locking when entering span rendering for now
+
+commit 95cc7a6dacde330b6f30e4ef57e99c6c04387325
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Sun Apr 23 07:15:19 2006 +0000
+
+ need to hold before freeing
+
+commit aa93b4ced05708c20d095fdd905ebd6cd9f634cd
+Author: Benjamin Herrenschmidt <benh@kernel.crashing.org>
+Date: Sun Apr 23 05:54:06 2006 +0000
+
+ Enable USER_BUFFERS, RADEON_VTXFMT_A and HW_VBOS on big endian by forcing all elts
+ to 32 bits (it would be possible to do a half word swap for 16 bits if somebody is interested) and by using the input route mecanism to swap ubyte's properly in r300EmitArrays. Tested with cva, varray and quake3
+
+commit 2f92adb9e03c84dc6a6e0f90ba1a5c1ada4d6964
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Apr 22 01:20:20 2006 +0000
+
+ Fix yet another issue with popping GL_DRAW_BUFFER state with respect to
+ single vs. multiple outputs and what kind of FBO is currently bound.
+
+commit e60ce392d8f49948b7b5a644e23c3174d04ac6af
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Fri Apr 21 19:53:52 2006 +0000
+
+ Ensure all GART allocations are freed on context destruction, rather than
+ waiting for the DRM to reap them at process exit. Fixes (fatal) allocation
+ failures in AIGLX configurations.
+
+ Reviewed by: Aapo Tahkola
+
+commit ca98203cd9fe7d890091cd41fb310aea33d7c314
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Fri Apr 21 19:51:29 2006 +0000
+
+ Fix format strings for LP64
+
+commit b87957d59ab961a91b5151fc8af17464a6a8edef
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 21 02:44:35 2006 +0000
+
+ pass color index as float, not int
+
+commit ba999b1a3ff874714f90ad23f14effa6fcceee8a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 21 01:13:16 2006 +0000
+
+ depend is not a .PHONY target
+
+commit a95dd106e31217e05bf3621d67f819a65958e5b2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 21 01:02:49 2006 +0000
+
+ fix indentation
+
+commit fb87976ef6b4445767c2057b8503681edaef154a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 21 01:02:27 2006 +0000
+
+ use vertex.attrib[3] instead of vertex.color
+
+commit 8743d00571bbc4f4ec47afdc713a10b1b25b6dd6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 21 01:01:58 2006 +0000
+
+ s/NV/ARB/
+
+commit 34ba50522a843f52060e2b554e07f7dc7da8413a
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Thu Apr 20 19:43:21 2006 +0000
+
+ limit max program/param length to 255 (spotted by sroland)
+
+commit 8a97946e0a25aff2d56bbaf3ed20ba1588129993
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 20 15:06:40 2006 +0000
+
+ check glLoadProgramNV len < 0 (bug 6679)
+
+commit 45e05dccd9f6759eca2248c9e2523e735ecfd7f9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 20 02:29:26 2006 +0000
+
+ error_attrib() should generate GL_INVALID_VALUE, not GL_INVALID_ENUM.
+ New doxygen comments, misc clean-ups.
+
+commit 3538f81513389b75cbd9e9b04a3723ce9c15b497
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 20 02:16:55 2006 +0000
+
+ Make most of the _mesa_noop_*() functions static.
+ Generate GL_INVALID_VALUE, not GL_INVALID_ENUM when glVertexAttrib is called
+ with a bad index.
+ Use _mesa_noop_vtxfmt_init() in DRI drivers to initialize vertex format
+ struct.
+
+commit 34b3b40af97d2db6d46dcce46c4c49c198621fce
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 20 00:45:08 2006 +0000
+
+ some tentative code for _mesa_update_framebuffer_visual()
+
+commit b5d76b68588c3be2a6b73f80e41a169716463644
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Wed Apr 19 23:15:51 2006 +0000
+
+ SrcReg->Swizzle is always initialized to SWIZZLE_NOOP, and if the program
+ specifies a 2/3/4-compontent swizzle suffix, SrcReg->Swizzles is just ORed
+ against the new component values, without resetting it first.
+
+ Attached patch makes tests/vptest2 pass.
+
+ From Tilam Sauerbeck bug 6673
+
+commit 6e542f11c9cc792123992446900df919d6ea1a83
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 19 16:55:27 2006 +0000
+
+ minor updates
+
+commit 53f8b7190eaf84ba549c9d442b24ec0442fa610e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 19 14:42:01 2006 +0000
+
+ fix invalid free() problem (bug 6658)
+
+commit 5beff7c6c125768c9665bde008f2cbb756f6821f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 19 14:03:04 2006 +0000
+
+ updates for GNU/Hurd (bug 6657)
+
+commit 12ad488e598499cf17a619b221e8e4afea363d02
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 19 03:25:06 2006 +0000
+
+ Replace old README.X11 with updated xlibdriver.html
+
+commit b3282a3b9d449b819c9032076817d210fcc864c6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 18 12:56:11 2006 +0000
+
+ assorted AIX, IRIX fixes from Dan Schikore
+
+commit e34bf25d2d4c176db3c8f9e80e8b0e20a4d4fa25
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 18 12:55:48 2006 +0000
+
+ -arch AIX64 no longer needed
+
+commit 2f8496b5655cbd66711745fcfd87e0e528c50229
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue Apr 18 10:47:19 2006 +0000
+
+ Remove carriage-return chars *ONLY*.
+
+commit d55de658b559437272a88a5e8743304996044fff
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue Apr 18 10:30:29 2006 +0000
+
+ Add support for ARB_vertex_shader attrib binding and query.
+ Clean-up ARB_shaderobjects code a bit.
+
+commit fcdc6a7d2488defd66bc7e8398c6d8c9a6190a1a
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Mon Apr 17 18:58:24 2006 +0000
+
+ Add .note.GNU-stack section to assembler files to avoid the default behavior
+ of requesting executable stacks.
+
+commit 13a2d6698fce050732b421107a2a92b37a5e01f8
+Author: Jeremy Kolb <jkolb@freedesktop.org>
+Date: Mon Apr 17 15:20:29 2006 +0000
+
+ More context.
+
+commit ddf936193a574ce7efd387b0e3bbec51998736f8
+Author: Jeremy Kolb <jkolb@freedesktop.org>
+Date: Mon Apr 17 00:08:03 2006 +0000
+
+ Changed invalid context fields to valid ones.
+
+commit a7d88857680d3d4d2a0788f18c49149dd2118b6f
+Author: Jeremy Kolb <jkolb@freedesktop.org>
+Date: Sat Apr 15 00:21:44 2006 +0000
+
+ State changes.
+
+commit b0c4cfed608f21f255b8637ec5ff499fc36ee302
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Fri Apr 14 23:47:45 2006 +0000
+
+ More work on the tcl code... still have to make my mind on a number of
+ things
+
+commit 97d11ecd6c5d23f682db5c6ef7dfec89185ae307
+Author: Jeremy Kolb <jkolb@freedesktop.org>
+Date: Fri Apr 14 23:02:39 2006 +0000
+
+ Add more feilds to context.
+
+commit 911ec211a5bb801ef3d445f75c705259e53c7597
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Fri Apr 14 22:59:33 2006 +0000
+
+ ooops
+
+commit 4c850f346bde46fef009e43ec46aaac709e8da5a
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Fri Apr 14 22:58:30 2006 +0000
+
+ Added render index field to the context
+
+commit 576b3433dacd1f36fe5bb33dcf6c1dbadfe152c9
+Author: Jeremy Kolb <jkolb@freedesktop.org>
+Date: Fri Apr 14 22:50:14 2006 +0000
+
+ Cleaning
+
+commit 4b2d8b46c8c68b0d10d9d3fa4a3820fa44ef4738
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Fri Apr 14 22:48:03 2006 +0000
+
+ Silence the lock warning
+
+commit b7d4314fe1619223caf2f59b1b28e05d7ff0e662
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Fri Apr 14 22:43:44 2006 +0000
+
+ Added vertex attributes to the context
+
+commit 199512968be28aa5a4f41c4f30e0e311e31b252a
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Fri Apr 14 22:41:16 2006 +0000
+
+ Cleaned stuff in the tcl code
+
+commit 5fd11335f655e27515d9bf92fef5d9a8cd4f6bb5
+Author: Jeremy Kolb <jkolb@freedesktop.org>
+Date: Fri Apr 14 17:39:43 2006 +0000
+
+ Added the beginnings of state (not much there yet). Fixed some includes.
+
+commit 28bc3cdfbac8b8dda827e1bf03c44d14056a557f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 14 16:25:27 2006 +0000
+
+ another simple FBO test
+
+commit 3adee0829b868ef4e4af44a6c32566068a1ab628
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 14 16:20:55 2006 +0000
+
+ test glReadPixels speed w/ various formats/types, PBOs
+
+commit 1e1af99132b9d1cb66aa686b0781c64f66663540
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 14 14:14:51 2006 +0000
+
+ Use 'file' command in more places to determine the library ABI (IRIX, SunOS,
+ Darwin), removes need to pass in special -archopt flags.
+ Restore the -dlopen flag afterall.
+
+commit 6bef5e7621023d3e72298a3afdc528ba500d5166
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 14 14:13:00 2006 +0000
+
+ Don't have to pass ABI-related flags to mklib anymore.
+
+commit 9326962f065e8728104e7218f5ef25a5ed958789
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 14 03:43:39 2006 +0000
+
+ Silence a few -pedantic warnings.
+ Remove ^M chars.
+ Replace _mesa_get_string() with simpler copy_string().
+
+commit a76c216b3709c2f6b29f3265d58f3c1d6f0a1559
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 14 02:28:26 2006 +0000
+
+ s/MaxTextureUnits/MaxTextureCoordUnits/
+
+commit 780155ab31324f1c74f3505a0ab245cb9f2c8c81
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 14 02:26:40 2006 +0000
+
+ 6.5.1 fixes
+
+commit 730b26556bf0f82385059dfcb7488f4b9b349118
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 14 02:25:35 2006 +0000
+
+ When popping GL_DRAW_BUFFER state, need to re-do error checking since
+ validity depends on whether a window-system FBO or user-created FBO is
+ currently bound. glPopAttrib() may generate GL_INVALID_OPERATION because
+ of this.
+
+commit 61608ecfa70fffaee083c37ce2b0138566b0e327
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 14 02:21:04 2006 +0000
+
+ silence -pedantic warning
+
+commit 767ffdcc9f5d15c88fc4c2f1c5592b7739bd31dd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 14 02:20:47 2006 +0000
+
+ don't need s_depth.h
+
+commit ee4e75bd6f768b7210436feeb32b4545ed62e025
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 14 02:20:18 2006 +0000
+
+ Replace ctx->Const.MaxTextureUnits w/ ctx->Const.MaxTexture[Coord/Image]Units
+ in various places.
+ Note that ctx->Texture.CurrentUnit needs to be tested against Coord/Image
+ limits when referenced, not just in glActiveTexture().
+
+commit 1d886a81add08536f18d2453ae38fcac79f0b806
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 13 19:45:42 2006 +0000
+
+ If the image file is RGB, convert to RGBA (fixes segfault).
+ Added CheckError() calls.
+ Remove -ci option.
+
+commit da238ee06a8d169eb590aa5e50998136f1b5aba5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 13 19:21:58 2006 +0000
+
+ Fix comment about MaxTextureUnits, needs to be min of coord and image units.
+ See bug 5994.
+ Also add a few assertions.
+ Use MaxTextureUnits in get.c code.
+ There's probably other places where we need to clean-up the usage of the
+ MaxTexture[Coord/Image]Units constants.
+
+commit 564b2aa2ef8d5b859bb51d39024373a4865e93e9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 13 19:18:40 2006 +0000
+
+ silence minor warnings
+
+commit 13abf91b42b00c7eb64c373aff3a4c1bb3d8fb7f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 13 19:17:13 2006 +0000
+
+ casts to fix some -pedantic warnings
+
+commit f799745f50ff2e61f535816d623e643cc1eac944
+Author: Jeremy Kolb <jkolb@freedesktop.org>
+Date: Thu Apr 13 17:03:51 2006 +0000
+
+ Some compile fixes.
+
+commit ad38681a00fc13449b76c2bf1fde0d31b0f9aec8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 13 15:57:29 2006 +0000
+
+ Set array normalization flag for normals, colors (Keith)
+
+commit 56e0ee8efee74e01ece3dae1c5a92d31a2fdd8de
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 13 15:17:50 2006 +0000
+
+ remove the -dlopen option. Always make both kinds of libs for AIX, Darwin.
+
+commit cbed2f80613cb5d7ec019884d69cded7560aea2f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 13 03:10:16 2006 +0000
+
+ more updates (Dan Schikore)
+
+commit 294d9abf6fbbf130008a6ce38f6b87a48658fe30
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 13 03:00:14 2006 +0000
+
+ add new configs (Dan Schikore)
+
+commit cb32dcfa3390a8e379d134a9ca4e4717f45b0f7e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 13 02:59:29 2006 +0000
+
+ new configs, misc updates (Dan Schikore)
+
+commit fe14cf6951a8a925994dfe6a540784f2ed6ad3bf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 13 02:23:25 2006 +0000
+
+ Fixes for AIX, SunOS, Darwin. -dlopen flag to build dlopen()'able modules
+ for AIX, Darwin. (Dan Schikore)
+
+commit ecc0d10d2dc8b4c930a00589baa81054f8b9c2da
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 13 01:54:04 2006 +0000
+
+ Use -I$(INCDIR) to get Mesa, not system headers (Dan Schikore)
+
+commit a186c8078813b966f7860e3660045b6e79f890e9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 13 01:52:32 2006 +0000
+
+ updated tests for defining __FUNCTION__ (Dan Schikore)
+
+commit 09c8e41955f16592386813d23efe17bbba555d79
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 13 01:51:25 2006 +0000
+
+ added 'const' (Dan Schikore)
+
+commit c4a486421002c170036859511e485c179471b6aa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 13 01:49:45 2006 +0000
+
+ compile fix from Dan Schikore
+
+commit c82eadd1578d5a098d22225bf9fb61dc148f25e8
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Wed Apr 12 13:51:18 2006 +0000
+
+ GLboolean cannot hold GLuint! usage of tmus >= 4 no longer lock r300.
+
+commit 68ad7ca3baf135f8009cdd4a1c2b630280eb37ed
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 11 23:41:40 2006 +0000
+
+ allow rotation w/ mouse
+
+commit da21ca988a42f7aac4f093e3454e5e6bf451e62f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 11 23:23:36 2006 +0000
+
+ add missing 'union' keyword
+
+commit ba23f699f03e45a7519cb41cc853deba686ff8d9
+Author: David Reveman <c99drn@cs.umu.se>
+Date: Tue Apr 11 12:21:48 2006 +0000
+
+ FBConfig support for EXT_tfp
+
+commit ea2b71106178280903935f784de8abdabd1ab50f
+Author: David Reveman <c99drn@cs.umu.se>
+Date: Tue Apr 11 12:19:06 2006 +0000
+
+ Add attrib_list to glXBindTexImageEXT
+
+commit c6f8ae1085c84cd3f9292019b8be12d8f6623426
+Author: David Reveman <c99drn@cs.umu.se>
+Date: Tue Apr 11 12:12:13 2006 +0000
+
+ Add attrib_list to glXBindTexImageEXT
+
+commit 342d1de38c25c70f98783a8adc27b2acca2b84ab
+Author: David Reveman <c99drn@cs.umu.se>
+Date: Tue Apr 11 12:07:41 2006 +0000
+
+ Fix CreateDrawable
+
+commit bb38cadb1c5f2dc13096a091bdaf61dc3e3cfa4d
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue Apr 11 11:41:11 2006 +0000
+
+ More GLSL code:
+ - use macros to access and modify render inputs bit-field;
+ - un-alias generic vertex attributes for ARB vertex calls;
+ - use MAX_VERTEX_PROGRAM_ATTRIBS (NV code) or MAX_VERTEX_ATTRIBS
+ (ARB code) in place of VERT_ATTRIB_MAX;
+ - define VERT_ATTRIB_GENERIC0..15 for un-aliased vertex
+ attributes for ARB_vertex_shader;
+ - fix generic attribute index range check in arbprogparse.c;
+ - interface GLSL varyings between vertex and fragment shader;
+ - use 64-bit optimised bitset (bitset.h) for render inputs;
+
+commit d90ad3fd876860b7a2ba763c031e46f76e4c47c6
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Apr 11 11:20:43 2006 +0000
+
+ get fog going(for real)
+
+commit 3ed16bd9cce8809bde1a1afdaecb0e78825182a5
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Apr 11 04:20:25 2006 +0000
+
+ rectangular fp16 fixes (Ewald Snel)
+
+commit 6c419be40201323c83e5428f6de148be1eded28e
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Apr 11 04:17:50 2006 +0000
+
+ Fog support (Ewald Snel)
+
+commit 3a5ec72125075cbb59eda5c6ed6672524f4b48b3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 10 23:36:18 2006 +0000
+
+ use _mesa_debug() instead of message() - fixes poor formatting of output
+
+commit 8c3d15ce28f90e41002eaddc8ac9304c8b3dbab9
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Sun Apr 9 17:48:28 2006 +0000
+
+ Destroy the GL context after driDestroyTextureHeap, because the driver's
+ DestroyTexObj has a dependence on the glCtx and may segfault otherwise.
+
+commit 83a43aca233cfdf8f8cac26895ef4ea4105d96af
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Sat Apr 8 20:05:50 2006 +0000
+
+ fix some conflict happenings at context destroy by freeing buffers immediately. array locking can be done with vbos for vtxfmt_a so we dont really need to try to reuse them.
+
+commit ff2b910dd1a035f3a6f512cda0521d1167708939
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 7 15:20:33 2006 +0000
+
+ regenerate SPARC assembly dispatch (bug 6484)
+
+commit 9073c40c7ec21883275335e75e36f645cc48887f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 7 15:16:46 2006 +0000
+
+ added sunos5-64-gcc (bug 6484)
+
+commit 1936019cd1e59929e9fc151d367f42f910941446
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 7 15:11:51 2006 +0000
+
+ replace >&/dev/null with >/dev/null so it works with all shells
+
+commit 9f3bcd87db5641e339edcd1b0fcc4aff94d705c6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 7 14:29:52 2006 +0000
+
+ bump version to 6.5.1
+
+commit e2af1da1d3578f23e67ab9e259a9d59fec34f25a
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Apr 7 08:50:39 2006 +0000
+
+ Fix some warnings on x86_64
+
+commit 9d3de643d1cd84cd0f48ff72ab7218f20b158c28
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Fri Apr 7 03:20:56 2006 +0000
+
+ make miniglx use libdrm properly
+
+commit d25ad506f2c2ce28e7d01b8d3f31c1863ef15d63
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Fri Apr 7 00:05:50 2006 +0000
+
+ Coverity #943: Avoid a NULL chase.
+
+commit 03593f53e75295ca93bc5cc911094e75c9f38637
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Thu Apr 6 23:50:44 2006 +0000
+
+ Coverity #1083: Fix a use after free case.
+
+commit 0a605f93dbf85d4d4504885ccc789bce36cd424b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 6 22:15:27 2006 +0000
+
+ fixed line clipping bug 6512
+
+commit 51faca127005c41277df76bc8eafc8fd64ca0673
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 6 22:11:57 2006 +0000
+
+ Rename CLIP_ALL_BITS to CLIP_FRUSTUM_BITS to reflect the fact that the value
+ only includes the 6 frustum bits, not the user-clip plane bit, nor the vertex
+ cull bit.
+
+commit f51a32e82a907363a77d91b855e519f43191cad8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 6 22:07:01 2006 +0000
+
+ Fix line clipping bug 6512.
+ This fix is to discard the line if both dot products are negative.
+
+commit 05529fefa498cf2967494feb19a03fb2a2cccd01
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 6 16:50:38 2006 +0000
+
+ minor CFLAGS clean-up
+
+commit f4d5b1da7bd9084eda4745b1d4cb1916ce05e257
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 6 16:48:36 2006 +0000
+
+ Set DRIVER_DEFINES instead of DEFINES to fix duplicate flags problem
+
+commit 0dcab2a86a6e842571eb194591deb397bb98c023
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 6 16:47:51 2006 +0000
+
+ Replace DEFINES with DRIVER_DEFINES. If a driver needs to set extra flags,
+ do so with DRIVER_DEFINES.
+ This eliminates the duplicated flags we were passing to each cc command.
+
+commit 789eb27870e238b9e77f077313b77df7bdcaa60e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 6 16:46:34 2006 +0000
+
+ minor CFLAGS reordering
+
+commit c1c954e81baf9742bce5f73b622dba2016e0416a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 6 16:24:01 2006 +0000
+
+ remove unused var
+
+commit a1a9858ca31e47b1e567b2ba94ffbf01c20231a6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 6 16:23:40 2006 +0000
+
+ update a couple MESA_FORMAT_Zxxx occurances
+
+commit e099ce85ca5b30c9eb04f751fe54bdb7dae4a5d2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 6 04:34:09 2006 +0000
+
+ re-enable animation
+
+commit dc32eb8f93a884064e04f63eed8e557c54c43ea3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 6 04:25:48 2006 +0000
+
+ fix render to depth texture bugs
+
+commit a9bcf751030895494fc098f8d0ff56b2496bd993
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 6 04:23:58 2006 +0000
+
+ Replace MESA_FORMAT_DEPTH_COMPONENT_FLOAT32 with 32-bit integer format.
+ This allows render to depth texture (we don't support floating pt. Z buffers).
+ Rename MESA_FORMAT_DEPTH_COMPONENT16/32 as MESA_FORMAT_Z16/32.
+ Software fallback for glCopyTexImage now uses integer temporary image instead
+ of float, eliminates a lot of float/int conversions.
+
+commit 762c3618f52ef5033844092074c63eee545500fa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 6 04:11:28 2006 +0000
+
+ Added render to depth texture support with GL_EXT_framebuffer_object.
+ Only render the shadow/depth texture when really needed, not every frame.
+ Remove support for old SGIX shadow extensions.
+
+commit 5722338ea5376cea562f27cad3bce29276930f37
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 6 04:09:03 2006 +0000
+
+ do additional checking for setting up depth/stencil wrappers
+
+commit 32cd166971c0d78a51c3f87ded66ec904ef05316
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 5 19:58:37 2006 +0000
+
+ remove duplicated framebuffer attachment test
+
+commit f08f233d6f0d78bb5f5b27e97351754329845149
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 5 19:58:10 2006 +0000
+
+ Remove the code that checks for duplicated framebuffer attachments (which
+ generated the error GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT).
+ This was removed in version 117 of the GL_EXT_framebuffer_object spec.
+
+commit 59ebe1ff771f4d004be7663845bf35f311582b77
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 5 13:43:02 2006 +0000
+
+ pass -m32 or -m64 to linker for SunOS as needed (bug 6484)
+
+commit e80b9c24f4211dd99729eebbd4ed69f89a42cf40
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Wed Apr 5 07:13:17 2006 +0000
+
+ add tiling/fence support for the miniglx driver
+
+commit 2e7af79f48a7bfa37c682ba8ab3426b4701fe58c
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Wed Apr 5 06:20:58 2006 +0000
+
+ don't waste the reserved memory, take an approximation of the pool
+ allocator from the X.org driver - not as complicated
+
+commit c87809c9ed3579cdbd145479a3e55e4058489bf7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 5 03:29:46 2006 +0000
+
+ just some comments/docs
+
+commit 1979b6b2def208143a1357e0eef9baece5ea9d3b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 5 03:26:12 2006 +0000
+
+ set the texture border color for the depth texture
+
+commit 900da88dae01c3e7716a79788f83797e334a564a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 5 03:25:05 2006 +0000
+
+ first 6.5.1 bug fix - bug 6498
+
+commit 9ebe3b6d369c946e41b5f6a684a4ac4e3509b67c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 5 03:23:44 2006 +0000
+
+ Check/use texture border color when sampling depth textures. (bug 6498)
+ Silence some warnings.
+
+commit 28b014ee256290eb0494b967e40c475c0c895f57
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 5 03:05:17 2006 +0000
+
+ Silence minor compiler warnings (-Wextra).
+
+commit 027bb77e02cf38c553d1396a348783ddc1b7913c
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Tue Apr 4 13:03:20 2006 +0000
+
+ We always have a back buffer. Fixes visual problems.
+
+commit f8ca99d697e428936cea0c7c7fc03352cf909cc6
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Tue Apr 4 11:17:46 2006 +0000
+
+ use gart base from drm not try to work it out ourselves.. bump radeon client
+ to need 1.6 drm where this first appeared.. this fixes r300 on PCIE
+
+commit 6a9f0a27c3853738e4bbfb33e8b20464a7d92923
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Tue Apr 4 11:04:30 2006 +0000
+
+ switch to card_type rather than IsPCI, doesn't change any functionality yet
+
+commit 7473d172682a229d2463d0a9ae2ae638453bc6e3
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue Apr 4 10:25:23 2006 +0000
+
+ Add bitset.h.
+
+commit b7339d70237ffb460f158c61860ca225fec02e81
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue Apr 4 10:22:05 2006 +0000
+
+ Fix texcoord interpolation for fragment shaders.
+
+commit b4e9750bf4996ca5bb622bbbe28be4f071811bc6
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue Apr 4 10:18:07 2006 +0000
+
+ More GLSL code:
+ - add support for varyings;
+
+ GLSL fixes:
+ - pow was wrongly computed in x86 back-end;
+
+commit 607b61a994d8dca150d5611b18db9b55755f73b4
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue Apr 4 10:11:12 2006 +0000
+
+ Bit set.
+
+commit 1a5fecb4d6975418da055891f6899a9f4aaa0b31
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue Apr 4 10:08:27 2006 +0000
+
+ Return GLSL version string (1.10).
+
+commit ae76be49eb4954a691b765077fc77875964b37e1
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue Apr 4 10:06:39 2006 +0000
+
+ Define MAX_VERTEX_ATTRIBS to 16.
+
+commit 3c327c9f3a2eba7e3f9a6d2d1aa9ec8aec513e2e
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Mon Apr 3 22:23:52 2006 +0000
+
+ Fix license header to SGI FreeB. (Eric Kunze, SGI)
+
+commit 76a0797c3263edf319e8c98b04b8ef52aeed7380
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Mon Apr 3 21:28:07 2006 +0000
+
+ Bug #5754: Allocate texture memory correctly. (Richard Drummond)
+
+commit a9cc078b0e4340d36da2fdef08d45987f8e67145
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Mon Apr 3 16:54:25 2006 +0000
+
+ Fix problem reported by Bill Newman in read_rgba_pixels for 16 and 32 bit (GDI driver). Bug would cause the wrong pixel to be read if more than one pixel requested and could cause memory access violations.
+
+commit ac619f4912c7037e65884a87284d3f88f42b7b51
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 3 16:09:53 2006 +0000
+
+ 64-bit build for sunos5 w/ gcc
+
+commit edd270228708e586f07d24f2b61d7014bfcf9f58
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Mon Apr 3 07:41:31 2006 +0000
+
+ add miniglx sources to i915
+
+commit 225148ea0719a28d9b4eb286c4ab2bac52610bb3
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Mon Apr 3 07:41:14 2006 +0000
+
+ if DDX is -1 don't do DDX check
+
+commit a824813d22abf6f93dcabd7bc20fb4b1aa2cc669
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Mon Apr 3 07:40:44 2006 +0000
+
+ use Width
+
+commit 5bb5a1908f675360c4629b366a2cd2aa5791bcb8
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Mon Apr 3 07:40:28 2006 +0000
+
+ add pitch support and use new Width
+
+commit a951c80ae410bfe541cd6733fdef4972ee52dbfd
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Mon Apr 3 07:32:11 2006 +0000
+
+ setup to use pci access, comment out size bumps,
+ sest xres from real width, use new -1 ddx version
+
+commit 808a678d85d2d4486187d779dcf8a6e38cd884db
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Mon Apr 3 07:31:27 2006 +0000
+
+ do a drm lock/unlock sequence after the client close
+
+commit d61c1cc7c99dd5beaeeea481b5ecba5548de1981
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Mon Apr 3 07:30:48 2006 +0000
+
+ add width to struct for width != virtual width
+
+commit cf69d0920226b86f1062bee939f784ec65ef2313
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Mon Apr 3 07:30:23 2006 +0000
+
+ make miniglx use libdrm and libpciaccess
+
+commit b927a75979f9bbabca6e3b2601f222d29d70df49
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Mon Apr 3 00:18:03 2006 +0000
+
+ Coverity #459: Silly off-by-one error.
+
+commit 5ab5517ba8d2d0b4d590b5fe864797b8a8241cc5
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Mon Apr 3 00:00:53 2006 +0000
+
+ Coverity #468: Fill in the rest of the error_list to match the error codes
+ defined in glxproto.h. Avoids reading semi-random memory (and probably
+ crashing) when calling __glXErrorString().
+
+commit 05ddc4a6c59f4bd288d322594afe4ac561d07fa7
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Sun Apr 2 23:51:30 2006 +0000
+
+ Coverity #476: Avoid walking off the end of ->vtx.attrsz, it's declared to
+ be _TNL_ATTRIB_MAX long so that's not a valid index (woo zero based
+ indexing).
+
+ This code still looks wrong though, the asymmetry between _tnl_copy_to_current
+ and _tnl_copy_from_current has me worried.
+
+commit b3208c2de9ba2ba5c32af1fc6b11fec9418256ed
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Sun Apr 2 23:17:49 2006 +0000
+
+ Coverity #567: Fix a memory leak on a failure path.
+
+commit 1ee92f984b31b1ba2653f51bf739a2e03f386c63
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Sun Apr 2 23:15:35 2006 +0000
+
+ Coverity #650: Fix a memory leak when near OOM.
+
+commit 75f81ad5f96921eea70a30584eb59ca6b3b62403
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Sat Apr 1 13:38:45 2006 +0000
+
+ Assorted updates.
+
+commit b100484145d3518e4896d756b1ceccf61382c569
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Sat Apr 1 13:26:31 2006 +0000
+
+ Initialize renderbuffer size.
+
+commit 278736ff6f0659163e69392cf9e96006138746ca
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Sat Apr 1 04:40:01 2006 +0000
+
+ These messages really should be printed all the time, users want to
+ know this not have to set debug for it
+
+commit 57b61638af725ee68805b8c148e8645aa3fadc8e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Apr 1 02:29:40 2006 +0000
+
+ added MD5 checksums for 6.5 files
+
+commit 09b6b9e9c3e9f9b59bb40c5558069efe24d3c6b5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Apr 1 01:49:31 2006 +0000
+
+ added 6.5 relnotes
+
+commit 482d9dd21ddb7293a430ee1b34b6087391b064e1
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Sat Apr 1 00:57:57 2006 +0000
+
+ Don't index box by the box's index within numClipRects; just dereference it.
+ Fixes drawing with more than one cliprect. (Keith Packard)
+
+commit 9e8659f346d432b6e51a47e749995bb93ec40a1c
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Sat Apr 1 00:55:02 2006 +0000
+
+ Call driUpdateFramebufferSize when we've found an updated DRI drawable stamp,
+ like other drivers. Failure to do so resulted in incorrect buffer sizes for
+ resized windows.
+
+commit e3f41ce611afdd5afef5d0cfa579dbb6890f71fa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 31 23:10:21 2006 +0000
+
+ 6.5 updates
+
+commit 3a3e63dc4fc8b34de7e61607d0d69cf3a77255ca
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Fri Mar 31 20:53:12 2006 +0000
+
+ DMesa now uses OSMesa as a back-end.
+
+commit 3a46dff27d797f5ce067a305880ef1816e4a76d4
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Fri Mar 31 20:49:55 2006 +0000
+
+ Removed empty arrays.
+
+commit 29d833bd5299860f9e3fed066df4a91931a5de67
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Fri Mar 31 18:46:33 2006 +0000
+
+ Enough testing already
+
+commit 9305cba6a7dfe539e5c3b01f7b16fcf60cf20900
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 31 17:31:22 2006 +0000
+
+ bump version/date
+
+commit f2ad1b60c0da11283b399008f491792790cea294
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 31 15:48:04 2006 +0000
+
+ Dave Reveman's patch for GLX_MESA_copy_sub_buffer support
+
+commit df3d4e0bb9ce40b3380734cf4f209a7363d5dcfd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 31 15:22:09 2006 +0000
+
+ Fix the fetch_texel_ci8() code to deal with floating point color palettes.
+ Fixes Quake on Windows bug. (Karl Schultz)
+
+commit 6652dc8aac79265190efa0a90ebadab8831c6cca
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Fri Mar 31 14:11:41 2006 +0000
+
+ free rs300 and ban r350(according to r300.sf.net)
+
+commit 7da1daf0a2d45ff90282f0dfb4305d20f027ff1e
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Fri Mar 31 10:10:45 2006 +0000
+
+ make u_list adjustable
+
+commit 18b72d184ceec81788641a343a25925f47b63aea
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Mar 31 06:54:11 2006 +0000
+
+ updated again for 6.5.
+
+commit ef5b48dea17098d95ec394cefb4520b8401ea5ab
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Fri Mar 31 03:54:36 2006 +0000
+
+ warn about broken dxt 3/5
+
+commit 2cd4056fae0c4a4dfaf25d78be8343d03d7c9da8
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Fri Mar 31 03:50:29 2006 +0000
+
+ Dont rely on writebacks
+
+commit fb0175db931e1b1457b9b7ea2faa44f07d549266
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Fri Mar 31 03:16:39 2006 +0000
+
+ disable r300 chips. R300_FORCE_R300 to force
+
+commit aa70d92a1372cf471004688d25df05912532e1b1
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Fri Mar 31 03:01:28 2006 +0000
+
+ More meaningful warning.
+
+commit aba49671500b4192ea92c658ccaef514407d508b
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Thu Mar 30 22:44:51 2006 +0000
+
+ The pitches of the driRenderbuffers are in bytes, so no need to multiply by cpp.
+ Fixes software fallbacks. (Keith Packard)
+
+commit 174ce730c6c9739121c02c7d58e7d8be377d2231
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Mar 30 21:53:23 2006 +0000
+
+ Clean up data structures, finishing off some of the cleanup work suggested by Brian. Now also creating two renderbuffers, so apps can now switch with glDrawBuffer.
+
+commit 48547ee12924789cb62b594f5812dd4dab3a2153
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Thu Mar 30 19:26:54 2006 +0000
+
+ Clarify which version of Mesa we're talking about
+
+commit 823c581f7cbb90239d3f31f721cabd5bbf88dad9
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Thu Mar 30 19:23:38 2006 +0000
+
+ Revert my change from 1.37 as being bogus (see ensuing list discussion for
+ rationale).
+
+commit 898269798185a58304e52e83f0fc1f0353d4a4d3
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Thu Mar 30 19:21:20 2006 +0000
+
+ Update the install docs to make explicit note of libdrm version dependency.
+ Change pdx.fd.o to {anon,}cvs.fd.o as appropriate.
+
+commit 9542537cee93f53dcd4a0f0a35444c8b2cbb4885
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Thu Mar 30 19:20:25 2006 +0000
+
+ Style fix, drop the explicit -ldrm from the link line.
+
+commit c3f2c287cec8457a9830fd04901e4c13e99fd260
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Mar 30 18:03:41 2006 +0000
+
+ Fix logic error in viewport function so that we still resize the buffers if the viewport and the window both change to the same new size. This lets the gloss demo work with the -f option.
+
+commit 9e81d6ae3a6db9831d6aea0fe4d92722176e9f74
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 30 16:33:35 2006 +0000
+
+ When creating front/back renderbuffers, init the Red/Green/Blue/AlphaBits fields
+
+commit 94d6bf883b3c2bfa52e178aa8abf5929ff524949
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 30 16:32:16 2006 +0000
+
+ Init the Red/Green/Blue/Alpha/Depth/StencilBits fields in driNewRenderbuffer()
+
+commit 84c5d0a789d40f625932e4006cdde19eca2f5558
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 30 16:29:41 2006 +0000
+
+ comments regarding assertions
+
+commit dd7074736fa90f652a22da25b064bb20247b8513
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Mar 30 16:26:26 2006 +0000
+
+ Use [][3] for write_rgb_span_16
+
+commit ef8b89faeed1c62fbb39a39aa0a06c1082e1eb17
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 30 14:28:28 2006 +0000
+
+ some comments for Darwin
+
+commit 159ca321cb2b0da6cf67ab11732c6d83f8eebff5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 30 14:27:25 2006 +0000
+
+ added glfbdev.h to MAIN_FILES
+
+commit ec83f38e2e1c46278f047063fa20aa2147ea8714
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 30 14:26:29 2006 +0000
+
+ fix bad call to FindLine()
+
+commit 197d7256010de6a0e551572f87262c94e5b9e91e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 30 14:25:54 2006 +0000
+
+ added -f option for full-screeen
+
+commit 693a66aea94c9a043e9c056395cd4f6c29bee9e7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 30 14:24:58 2006 +0000
+
+ press '0' for glDrawBuffer(GL_NONE)
+
+commit 8ea3353ec3fa29f0eb2269b54fff6834f97a8c08
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 30 14:20:26 2006 +0000
+
+ XMesaDrawLine macro, not currently used
+
+commit 87af12dbdcb078b95391d57dabe53ce17b19f651
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Mar 30 07:58:24 2006 +0000
+
+ Fixes from Brian to help migrate to render buffer DD interfaces. Also fix bug in the viewport function that was using the viewport size to resize the buffer, when it should have been using the window size. Fix bug in write_rgb_span_32 where the incoming pixel data parameter was coded as a [][4] instead of [][3]. Now all the demos work correctly except singlebuffer.
+
+commit a8c9ecfab005088b1b201abc9d04f5169d1b3b64
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Mar 30 07:53:15 2006 +0000
+
+ Fixes from Brian
+
+commit 4ecb9f05321f20fd293b6cdeb26a7d0aab4e728f
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Thu Mar 30 05:47:08 2006 +0000
+
+ Fix up some incorrect pointers and clear screen
+
+commit 8b186e36957ca9a91a65e4a55655fb7b7f61b1ab
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Thu Mar 30 04:33:58 2006 +0000
+
+ add initial miniglx files for i915, not integrated yet
+
+commit e43edd3c70b2b6d7cc5c42674d2cb43cfafbad20
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Wed Mar 29 23:53:43 2006 +0000
+
+ Updated for Mesa 6.5
+
+commit 20e15f9381e59ec53b9968f567777bde05b49075
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 29 23:45:44 2006 +0000
+
+ Add -ansi -pedantic flags to OPT_FLAGS. This got lost at some point. Good for catching sloppy coding.
+
+commit 75a8383e8d9940bd933dea1ef3b33d8321a6a723
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 29 23:44:31 2006 +0000
+
+ Update the _WindowMap matrix in _mesa_set_viewport() and _mesa_DepthRange().
+ This is a temporary fix for the DRI drivers.
+ Should really only have to update the matrix via _mesa_update_state().
+
+commit 920023240c2fc42675f318732b43bdc6f339113c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 29 23:42:44 2006 +0000
+
+ put braces around RENDER_SPAN macro when called, not when defined. Fixes -pedantic warnings in x11 driver
+
+commit 62c325af3f3238ab46c1d68570ee5a3872a74603
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 29 23:20:49 2006 +0000
+
+ fix GETPROCADDRESS usage, remove carriage return chars (bug 6430)
+
+commit 32244ac7e9b9412e3999d1e3e4da1054fc03fa44
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 29 23:18:13 2006 +0000
+
+ s/glslnose.c/glslnoise/ (bug 6430)
+
+commit 3a6d968f37683835bd92b1b853e0ac8cadd0fdef
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Wed Mar 29 22:32:38 2006 +0000
+
+ Fixes to silence warnings in code generated by glapi scripts.
+
+commit cec74532bf62bb0cb29ea89a34fc7ae14b70648c
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Wed Mar 29 20:55:48 2006 +0000
+
+ Add newest source code files to project.
+
+commit f331bb03126e9064b80938815e0b21feb7d8838a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 29 18:54:00 2006 +0000
+
+ added some no-op virtual destructors to silence g++ 4.0.0 warnings
+
+commit c3051df8e18882d9c8ffb795622af24aded555b4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 29 18:46:46 2006 +0000
+
+ fixes from John Shell (bug 6339)
+
+commit db79d2abacfc946e80ae3ca6a27953925ccf50b9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 29 18:41:19 2006 +0000
+
+ minor clean-up
+
+commit c19de0b7f619e0e3677fc9b19bd63a4809e8b715
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 29 15:21:01 2006 +0000
+
+ FP textures and fixes (Ewald Snel)
+
+commit e5b6eee15d4ca3feff8c2759595b1327afa584c3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 29 15:17:57 2006 +0000
+
+ fix components initialization in two places (Ewald Snel)
+
+commit 006e183b6edb4d4a7cce69c42939ec24fe41578d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 29 15:15:37 2006 +0000
+
+ move NumNativeAlu/TexInstruction assignments (Ewald Snel)
+
+commit 180b0dab8b87ef7987b9f2c44068d1eea3f54939
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Wed Mar 29 12:09:08 2006 +0000
+
+ Committing in .
+
+ Removing <CR>
+
+ Modified Files:
+ Mesa/src/mesa/main/fog.c Mesa/src/mesa/main/hint.c
+ Mesa/src/mesa/main/mtypes.h
+ ----------------------------------------------------------------------
+
+commit a85fbb1d36693158f1d5d3b6bbeb490185fc6bdf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 29 04:53:02 2006 +0000
+
+ prep for 6.5 release
+
+commit 555478fed6240db06db364716d40ccfd235b466b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 29 04:51:03 2006 +0000
+
+ New code for rendering to depth/stencil textures.
+ Re-org of the renderbuffer wrapper code.
+
+commit 2742c4e4db63d61f585c014103eaeadffa8e0833
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 29 04:48:21 2006 +0000
+
+ new tests for GL_DEPTH_STENCIL_EXT
+
+commit 2b430ef56a5a1730843f3f056dfaa9ef9a0901bd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 29 04:47:34 2006 +0000
+
+ a few new assertions
+
+commit b7a5a9db88ebdff2283ea4a8ea2c8bfe99060f49
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Wed Mar 29 04:02:44 2006 +0000
+
+ Windows makefile to easily build all demo programs.
+
+commit 888ab86f854b6aa82cec9463100578b2038cee4e
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Wed Mar 29 04:01:25 2006 +0000
+
+ Repair corrupted file and remove rogue 'test' project.
+
+commit 2526152a107e4323161b95188e767620c4998639
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 29 04:01:05 2006 +0000
+
+ fix a GLuint vs GLushort test, new assertions
+
+commit 519a2e7cb7b8f026bd5fe711cdf12a20df1c46ae
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 29 03:59:34 2006 +0000
+
+ Move the computation of the viewport matrix into a new update_viewport_matrix()
+ function since the matrix depends on the viewport params and the framebuffer's
+ depth buffer resolution.
+ Fixes some renderbuffer / depth range issues.
+ This simplifies the _mesa_set_viewport() and _mesa_DepthRange() functions too.
+
+commit b687531f693548afc6d7cf7b5c6fb76926cc0dc9
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Wed Mar 29 03:42:32 2006 +0000
+
+ Undef a conflicting symbol in Windows.
+
+commit 54b65e080e16cd8411e5c35791a1157749a686f5
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Wed Mar 29 03:41:38 2006 +0000
+
+ add showbuffer.[ch] which could be in this dir after the targets are built.
+
+commit 3076557ca3df9d1e53c10e1279d8b3bb8e87cf2a
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Wed Mar 29 02:12:31 2006 +0000
+
+ Update for new Mesa entry points. I need to change the python script that generates this file to the new XML scheme, but for now, a manual update is OK.
+
+commit 4f21180416c4cb071e70379c2b5bc15338e0016b
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Wed Mar 29 02:09:47 2006 +0000
+
+ Remove unneeded includes of time.h
+
+commit c61763b5d26fdde05d3f301b8c0bdb609cd5b16f
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue Mar 28 21:40:14 2006 +0000
+
+ Match pixel addresses with `compute_row_addresses' in RGB mode (also obey RGB/UNSIGNED_BYTE rule).
+
+commit 08e62a147618ac796f5e548bdaa3380342ec2a78
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Tue Mar 28 17:22:57 2006 +0000
+
+ fix missing *_STATECHANGE in *UpdateViewportOffset for radeon, r200 and r300 (reported by Jim Duchek). Fix some potential problems with strict-aliasing with r200 and radeon drivers in *UpdateViewportOffset, *PolygonOffset and *UpdateWindow functions (some compiler warnings about strict-aliasing remain in the codegen vertex code, and there may be more problems unnoticed by the compiler).
+
+commit 0e26ca083441e3c76ddbae3699befde92b4933dd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 28 15:28:00 2006 +0000
+
+ updated comment about framebuffer's Visual field
+
+commit e44499480fb39c75ee07d1f78f561db5a67129c5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 28 15:25:44 2006 +0000
+
+ added known issue: render to depth textures not working
+
+commit 9f6ff49650646fcac29289ebabd7269c1795deed
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 28 15:24:50 2006 +0000
+
+ update conditional for render to GL_DEPTH_STENCIL texture, check for valid teximage before calling ctx->Driver.RenderTexture()
+
+commit c7a5d528c7e5f4812b423bf4c091d21c34af3cf1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 28 15:21:44 2006 +0000
+
+ a little code movement so we don't make invalid casts from gl_renderbuffers to xmesa_renderbuffers
+
+commit b8915340eab706776244e04547f64444f0ff2f8b
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Mar 28 10:26:34 2006 +0000
+
+ fix #6072 (Keith Whitwell)
+
+commit 1155f64cc094fcc865f55f22d07ce8b5e1fa2f34
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Mar 28 07:40:57 2006 +0000
+
+ Revert merge of new/experimental code from texmem branch.
+
+commit 255e8ebd581c34c5174783a191a12a3ac0c00cde
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 28 01:23:43 2006 +0000
+
+ enable GL_ARB_half_float_pixel, was GL_MESAX_half_float_pixel
+
+commit 95174c4eb2dcd6fe687ffcddc82bf7b8bf242ebe
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 28 01:22:48 2006 +0000
+
+ comment about byteswapping in _mesa_unpack_depth_span()
+
+commit f76ff7e4a7b728258606950f182a0a9a8cce791b
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Mon Mar 27 23:53:53 2006 +0000
+
+ make allow_large_textures 1 by default for radeon and r200, and consequently enable all texture units by default on those cards (3 for radeon, 6 for r200). Fix the usually forgotten DRIVER_DATE accordingly.
+
+commit 96aa403cee82a81fa09813a1b49c83255d045022
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Mon Mar 27 23:34:53 2006 +0000
+
+ remove unnecessary typedefs causing compiler warnings
+
+commit 004673d4d1345727cf21d4febf09e9920571393f
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Mar 27 17:34:31 2006 +0000
+
+ Disable `hidden' attribute for DJGPP
+
+commit 0ad1bda7a1f7d88556dd458e532815ff28c898ae
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Mar 27 17:32:22 2006 +0000
+
+ PutRowRGB was not initialized for OSMESA_RGB_565
+
+commit e72b745f32bba91592a0e1ee2b942a0ba9e65234
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Mon Mar 27 00:07:21 2006 +0000
+
+ Fixup makefile for solo non-egl
+
+commit ea4fe661d7f3a95d9db17e1475076f1badf8e1a6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Mar 26 05:22:17 2006 +0000
+
+ merge from texman branch
+
+commit 4cbd16ed3ffecd743b4921fab3a65f8510d151c9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Mar 26 05:09:03 2006 +0000
+
+ fix some PFNGL* typedefs
+
+commit 06049e24164fc0bda9dea12fbcbdb827a731badb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 25 22:52:39 2006 +0000
+
+ remove carriage returns
+
+commit 753af3a206e3976be9a0954578d866218fdbf30a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 25 17:57:52 2006 +0000
+
+ fix issue in _mesa_free_framebuffer_data()
+
+commit 70207b70c5761c7493294896535b849ce8519bcd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 25 16:16:37 2006 +0000
+
+ check for incomplete FBO in _mesa_Clear()
+
+commit 1bbc203c6e7fa200339204d4b686616ed030e6c1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 24 23:53:50 2006 +0000
+
+ Clean up the recent code related to texture_override(). Pass params in a
+ more logical order.
+ Remove a mess of stray ^M chars.
+ Fix a bug when checking if the texture object's format is GL_COLOR_INDEX
+ or GL_DEPTH_COMPONENT. This fixes a segfault when GL_TEXTURE_BASE_LEVEL!=0.
+
+commit 6494541eaa375bdf4241ea7b8f8a881cbb0debda
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 24 23:17:06 2006 +0000
+
+ lots of debug options, some code movement, etc
+
+commit 590cd26006959ba390d5ebe337cb363827087941
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 24 22:53:00 2006 +0000
+
+ added some missing formats in _mesa_source/dest_buffer_exists()
+
+commit ed4ab13cefce0eb403180b497a6552f1040984a2
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Fri Mar 24 16:35:08 2006 +0000
+
+ Make ARB_vp backends happy with nv arl
+
+commit af8d39861de25fc8af1a173b197eef9ee88b48a5
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Fri Mar 24 16:33:34 2006 +0000
+
+ secondary color fixes.
+
+commit c4f2710f9d474049bfbbebdb9dad2466e6a3ac94
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 23 17:17:23 2006 +0000
+
+ Added -l option for explicit locking around Xlib and GLX calls in
+ threaded code. Seems to improve reliability quite a bit.
+
+commit 436d72e99417c73b06f8a50ee9e698173348dbf4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 23 16:58:22 2006 +0000
+
+ Added -p option to create a display connection per thread.
+ This seems more stabile than using one display connection for all threads.
+ Still get an occasional Xlib: unexpected async reply error, unfortunately.
+
+commit d76ef5867d829cc0218252c6590919d3771fbbba
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Thu Mar 23 04:20:37 2006 +0000
+
+ make solo build complete
+
+commit 0a6040dc2d82e6a8655b466f66eb0524ddfe00f0
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Thu Mar 23 04:15:29 2006 +0000
+
+ fix coverity 1107: use after free
+
+commit eab896cc213157758d74a2f39b5e3b1e748c071f
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Thu Mar 23 04:13:37 2006 +0000
+
+ fix coverity 926: use before NULL check
+
+commit f756924fa59b53f4951e2f817144bcb5e5765535
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 22 22:02:07 2006 +0000
+
+ Need to check for new state and do readpixels/drawpixels clipping after
+ we call RENDER_START since that may involve validating the drawable and
+ updating its dimensions.
+
+commit 4fafe6390bff5c746b3e46116d1fcada887bf3df
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Wed Mar 22 21:29:27 2006 +0000
+
+ implement arl and enable hw nv_vp.
+
+commit 6fc864b9e6f98041479ca7cf1d8226985312a2de
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Wed Mar 22 21:29:15 2006 +0000
+
+ ARL dst idx was undefined.
+
+commit daffbe99dc77c0f1cae23fd03e02d61ef354c1dc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 21 21:57:00 2006 +0000
+
+ GL_EXT_packed_depth_stencil should be off by default
+
+commit 8995544bc90eac2f8ac8e877dc5a33e3cba97e64
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue Mar 21 10:59:14 2006 +0000
+
+ Silencium gcc warnings.
+
+commit 071357096e682e9af59ad45ea5abc444ab431837
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue Mar 21 10:37:40 2006 +0000
+
+ GLSL fixes:
+ - generate error on NULL pointers in glShaderSourceARB;
+ - reinstall program object, if current, in glLinkProgramARB;
+ - vertex and fragment shaders are optional in program object;
+ - floor asm was wrongly computed for x86 back-end;
+ - allow for (void) idiom in function prototypes;
+ - all fixed-state uniforms are updated;
+ - local variable initializers are working;
+ - implement texture* and shadow* functions for vertex processor;
+ - generate error if too many arguments in general constructor;
+ - trim unused data in general constructor;
+ - struct r-value field select was badly relocated;
+
+ Changes:
+ - add derived state gl_fog_attrib::_Scale;
+ - add derived state gl_light::_CosCutoffNeg;
+
+commit 519b23b21f9cd6945fd17cdb26e7a6f531cdeec0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 20 18:51:57 2006 +0000
+
+ Lots of changes/fixes for rendering to framebuffer objects.
+ - When deleting texture objects, unbind from FBOs if necessary.
+ - Changed driver hooks for starting/ending render to texture.
+ - Now properly handle case where gl[Copy]TexImage() is called after
+ glFramebufferTexture[123]D(). That didn't work before.
+
+commit 4991888fa0ea8e31e3cd2a0d87bb7e205ad1dccd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 20 15:27:55 2006 +0000
+
+ additional assertions and debug code for testing FBO completeness
+
+commit 34bd1233a9874fe12a822c4fcb926d48456e1f29
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 20 15:27:33 2006 +0000
+
+ additional error checking to be sure source renderbuffer exists for glCopyTex[Sub]Image()
+
+commit 457fb0e1286272c100888217862cde250e46f486
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 20 15:26:20 2006 +0000
+
+ use new _mesa_sourc/dest_buffer_exists() functions
+
+commit 7275d4d097f97a2154dfe8fa573dc193cb5b4bf1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 20 15:25:18 2006 +0000
+
+ added _mesa_source/dest_buffer_exists() function to easily test if particular renderbuffers are present
+
+commit f1038f81e40fe7cd7eddfd64d1c4f3dc0a1a074b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 20 15:20:57 2006 +0000
+
+ fix some buffer binding tests in _mesa_make_current()
+
+commit c27c382acc77e012c98f3dd994f4a58ed596cd60
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 20 15:20:30 2006 +0000
+
+ slightly improved error message
+
+commit 5319ed0e531b80038cebb4fef85f59bd2c3360a1
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Mon Mar 20 13:37:28 2006 +0000
+
+ Fix texrect upload conflicts.
+
+commit 070f2808959dde535cbbdf0938ca9490f6231374
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Sun Mar 19 21:17:14 2006 +0000
+
+ Disable tnl programs when doing software vertex programs. compiz with its texrect and lighting needs was broken because of this.
+
+commit 096dd541bd522c6c3590bac734dac31a16fe3dea
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Mar 19 19:07:12 2006 +0000
+
+ minor clean-ups
+
+commit 77174f0072be992eeffb6a53a3311fbd33463c5f
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Sun Mar 19 18:04:12 2006 +0000
+
+ -fix texrect fallback when using vtxfmt_a (glitz, xgl, etc.)
+ -struct vertex_buffer to struct radeon_vertex_buffer conversion
+ -vertex attrib arrays did not supersede conventinal arrays when enabled
+
+commit 21a4fb41376ab90afdfca67375e55e4a0ded6c0f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Mar 19 00:10:22 2006 +0000
+
+ Queries of GL_READ_BUFFER and GL_DRAW_BUFFER were still returning the
+ pre-GL_EXT_framebuffer_object state. Now return the read/draw state stored
+ in the framebuffer objects.
+
+commit 19b05d5009f4b0e83118b351b7261bb914e33f2b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 18 21:46:17 2006 +0000
+
+ Don't call Driver->Bitmap() if no image to render
+
+commit 2d2af2dcf716fd4ace91179245ebe4baaa234ded
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Fri Mar 17 14:38:41 2006 +0000
+
+ Committing in .
+
+ Mesa/src/mesa/main/imports.h : removed <CR>
+ Mesa/src/mesa/shader/slang/descrip.mms : added new sources
+
+ Modified Files:
+ Mesa/src/mesa/main/imports.h
+ Mesa/src/mesa/shader/slang/descrip.mms
+ ----------------------------------------------------------------------
+
+commit eec33cc310ce2b99164d182719c8d6d54b80a704
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 17 04:13:29 2006 +0000
+
+ Init FogCoordFuncs[0..5] too, remove some unneeded #includes
+
+commit 0f1d98c422129b002bd3d90699da7fe8286b3c47
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 17 04:10:03 2006 +0000
+
+ remove another test for IN_DRI_DRIVER
+
+commit 724df020732edb5a3a2f967f6dccd4a4233171bb
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Fri Mar 17 00:03:20 2006 +0000
+
+ Don't use glx_ansic.h functions (__glXMemset).
+
+commit 2b17741e1b7999dacf0974b0a2bcbc10adb26219
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 16 18:06:34 2006 +0000
+
+ added #undef GET_DISPATCH
+
+commit c6c0f947142c0cc82626c238804a68b4e8f53945
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 16 18:05:25 2006 +0000
+
+ Moved _glapi_check_multithread() call into drivers, instead of in
+ _mesa_make_current().
+ This removes an ugly #if !defined(IN_DRI_DRIVER) from core Mesa.
+
+commit ef8653a83800bc4b8e116e03ad52604097224378
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 16 04:44:00 2006 +0000
+
+ finish up some loose ends in _mesa_texstore_z24_s8()
+
+commit 514a15cea124b90e845b7ac3e7e330ddf28575e4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 15 20:56:22 2006 +0000
+
+ assorted code clean-ups, comments, etc.
+
+commit ac8b07b3aefb918246ec56cb02df86addeced000
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 15 20:42:00 2006 +0000
+
+ remove invalid assertion in _glapi_get_dispatch(), fixes additional thread safety problem
+
+commit e6606909857901e5d49776e51e0eb2fa6d44a1bd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 15 20:31:50 2006 +0000
+
+ Need to include glthread.h in glapi.h, not glapi.c so that GET_CURRENT_CONTEXT
+ is properly defined. Fixes long-standing, but unnoticed thread safety failure.
+ Also, updated comments.
+
+commit 30655c211c97a69f0eeb9ad6176ca1db67d15bf9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 15 20:30:17 2006 +0000
+
+ updated some printfs, added comment about sched_yield
+
+commit 59e0faaa5c601ace51608c6d03c57d17498f796b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 15 17:48:00 2006 +0000
+
+ sync with texmem branch
+
+commit eccb6a0698ba86a6feb0a407a5391bd84a62aaf2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 15 14:09:08 2006 +0000
+
+ rename enums, fixes compilation breakage (Michal Krol)
+
+commit 10f08cc20261409c8af2a48444e49b0123723a52
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 15 01:44:03 2006 +0000
+
+ use 'p' key to toggle use of GL_EXT_packed_depth_stencil
+
+commit b7e3e0d64ea53b58ffa4cfdb4d100aaea5656df0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 15 01:36:52 2006 +0000
+
+ s/GLuint/GLushort/ in read_depth_stencil_image()
+
+commit 19b83221696f124bfe1fa7e72842c62c3f72ee43
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 14 22:39:43 2006 +0000
+
+ init Red/Green/EtcBits = 0 in soft_renderbuffer_storage()
+
+commit 2a0d441ebb732496c2fd7d381bc19540803bbb77
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 14 15:41:53 2006 +0000
+
+ Set always_array=true for glGenProgramsNV (Dave Reveman)
+
+commit 15e74a64414ac88439f54f6cab2619c2a2655842
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 14 15:08:52 2006 +0000
+
+ replace dprintf() with _glu_dprintf() (bug 6244)
+
+commit 0f618b7eb7bea2d97212baefc71fbc80c78e7222
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue Mar 14 11:39:58 2006 +0000
+
+ Add slang_analyse.c and slang_library_texsample.c.
+
+commit 8af48fc4d62798dbcc00bcfbbd8bc8f3b47982c7
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue Mar 14 11:23:16 2006 +0000
+
+ More GLSL code:
+ - add texture sampling support;
+ - fix assembly codegen bugs;
+
+commit e9484e40858ffd4474571b27136e7ea0f2b682db
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Mon Mar 13 20:40:46 2006 +0000
+
+ Clean build.
+
+commit a0cf4ceb36cf3604fb035276efef4b640ab38c24
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Mon Mar 13 18:23:19 2006 +0000
+
+ Fix broken max mipmap leveling that was horribly wrong.
+
+commit 1c0230b39600de56b555b757272dfc0694da2d0f
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Mon Mar 13 11:30:41 2006 +0000
+
+ Cleaned up some code, made more files compile. Renamed nv20_swtcl.* to
+ nv10_swtcl.*, hopefully this is the last rename (this should be, as
+ NV05 really behaves differently).
+
+commit 5042778449c7d1b76d6a2a586c5709dae4d59c81
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Fri Mar 10 05:30:33 2006 +0000
+
+ Option to init vp temps(for testing)
+
+commit 9ebde216cc3e7a9dbe8090abe976db38f63d4717
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Fri Mar 10 01:43:39 2006 +0000
+
+ A little work here and there
+
+commit 9c32af5bb24d531d7140590085e229b7381747f8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 9 16:27:35 2006 +0000
+
+ Add prototypes for GLX_MESA_swap_frame_usage, GLX_MESA_swap_control, and
+ GLX_EXT_texture_from_pixmap to silence warnings while compiling glxcmds.c
+ XXX: Need to add the new tokens for GLX_EXT_texture_from_pixmap!!!
+
+commit 841a823d6ded26585aaecbc69a937b1ece8fccb2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 9 16:25:46 2006 +0000
+
+ s/GLint/int/, to fit GLX conventions
+
+commit 0d57301ba20568953b9196a4e191cd5656b22370
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 9 16:24:46 2006 +0000
+
+ Instead of adding extra flags to DEFINES with +=, define EXTRA_DEFINES instead.
+ This eliminates a bunch of duplication in the compilation commmands.
+
+commit 12d51beb7e2fd3bd4b58c941db4d0188dca5973d
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Thu Mar 9 06:21:17 2006 +0000
+
+ Kick VBOs out of GART if nothing else helps.
+
+commit e294d938f261527ba72f82fe3952ba261d131845
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Thu Mar 9 04:42:45 2006 +0000
+
+ Use the force Luke, use the force.
+
+commit f1b431b265abc445e962701c65916d721a0e0ddf
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Wed Mar 8 05:44:07 2006 +0000
+
+ coverity check bug fix going over end of array
+
+commit 9fc897af7a50ec8dd9349826f97704da6d3e2411
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Wed Mar 8 05:37:58 2006 +0000
+
+ coverity checker bug: Pointer dereferenced after NULL check
+
+commit d97ab9a7bd407e560366843e1715b1afcd948082
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Mar 7 22:46:52 2006 +0000
+
+ Fix broken DrawElements & DrawRangeElements.
+
+commit d9894e0d720706f7a1fcdcb9baa293ff673592d9
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Tue Mar 7 07:47:37 2006 +0000
+
+ Committing in .
+
+ Update OpenVMS makefiles
+
+ Modified Files:
+ Mesa/src/mesa/shader/slang/descrip.mms
+ Mesa/src/mesa/swrast/descrip.mms
+ ----------------------------------------------------------------------
+
+commit dba9c0bafd889d30f044d1e2e870b07ed60efd0a
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Mar 7 05:31:36 2006 +0000
+
+ Enable HW VBOs and other things needed by it.
+
+commit ba7ea2e697715b0dc7b31befe28847f88a123ecf
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Mar 7 05:15:24 2006 +0000
+
+ Convert to work with current DRM. + tag
+
+commit 50f319242b880f99c5717dec4adcf16505802c94
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Mar 7 05:09:48 2006 +0000
+
+ Various fallbacks, checks and tags.
+
+commit ca007cb4496ad511a974c52e4acd74f0eed40e9c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 7 03:01:26 2006 +0000
+
+ just a comment for check_compatible()
+
+commit d75963d2581f139de9a7fcbe95e3fb6a38231fe8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 7 02:57:04 2006 +0000
+
+ disable double-buffer test in check_compatible(), fixes pbuffer/visual problem
+
+commit 8ee311d36dd48ffdd23a48e1be3329fe54e809b2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 7 01:46:26 2006 +0000
+
+ print newline in _mesa_warning()
+
+commit 2e01918b553ad50f6df788bb762f487d618ad37e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 7 01:43:52 2006 +0000
+
+ call _mesa_update_framebuffer_visual() in _mesa_FramebufferRenderbufferEXT() to fix some minor glitches
+
+commit 168a7516b1aee46a142f0b250ee27ef6c6e96fbc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 7 01:11:05 2006 +0000
+
+ FreeBSD updates (Pedro Giffuni)
+
+commit 2560e65a9aa0479ebb564a2ac5161a1c47507ce0
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Tue Mar 7 00:56:30 2006 +0000
+
+ Added a missing field
+
+commit c107058e7e858c0b6da195e337cce0621f31b91d
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Mon Mar 6 19:28:10 2006 +0000
+
+ Port r200 tex tiling code to run on r300 but keep it disabled.
+
+commit 3bca4f679a411246306e7e141c562253cb5f4c2d
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Mar 6 18:31:50 2006 +0000
+
+ Later versions of Python handle formats like '% 5u' differently. For
+ whatever reason, a space is always inserted. That is not the desired
+ behavior.
+
+commit 9d881ea718e3d9139ed9de7922d758978f650381
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Mar 6 18:30:17 2006 +0000
+
+ Generate server-side GLX protocol decode functions using the 'make server'
+ target. The environment variable XORG_BASE must be set to point to the base
+ of the X.org server sources where the files are to be placed.
+
+ The 7.0.0 server release already contains files generated by these scripts.
+ The scripts should have been committed months ago. Sorry for the lag. :(
+
+commit 448d23331db9700ade9bd5a378e968b5e3645814
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Mar 6 16:42:12 2006 +0000
+
+ Display the correct bug number in the information text.
+
+commit 66df1731e6c5563bdfbb3f960aa373f77623fbc3
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Mar 6 16:31:50 2006 +0000
+
+ Don't try to bind to proxy texture target. This is defined by the spec to be
+ an error. Since we're working with a proxy target, don't bother using real
+ texture data.
+
+ Add a missing new-line in an error printf.
+
+commit 5569c2dfaee4a93a835a14178a7baca865614c5c
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Mon Mar 6 15:32:31 2006 +0000
+
+ Cleaned up the software TCL code a bit. Renamed nv30_tris.[c,h] to
+ nv20_swtcl.[c,h].
+
+commit 98e1b13802fb83b504353c14df1d90646eabe111
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Mon Mar 6 12:23:24 2006 +0000
+
+ Added some NV20 support - nv_30_tris.c should probably be renamed again.
+
+commit b9c4b7fc896f7ff3188065526b27707ff6e43c77
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Mon Mar 6 01:46:24 2006 +0000
+
+ More work on the nv30 software tcl code
+
+commit 5820f7998abf5c9e805263928c29af167979c20a
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Sat Mar 4 04:46:10 2006 +0000
+
+ Build test for bugzilla #3050
+
+commit 780d27031225a9e96c977ab03c1da1ee6d97ff5a
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Sat Mar 4 04:44:47 2006 +0000
+
+ Test case for bugzilla #3050.
+
+commit 4af665a843f8f3181b306711a14470a3cfe817fc
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Fri Mar 3 16:10:28 2006 +0000
+
+ Rename nouveau_3d_reg.h to nouveau_reg.h
+
+commit 84a20832f111f566f2266e0028364230ee0de93e
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Fri Mar 3 16:08:59 2006 +0000
+
+ rename nv40_tris to nv30_tris.
+
+commit e1e03b32ab651e992f7b979eba046fdc84fedf2e
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Fri Mar 3 15:03:04 2006 +0000
+
+ Use standard ARB names instead of vendor-specific NV names for the ARB/NV_vertex_program enums in common state handling code, and update comments accordingly. Change some slightly confusing code which gave the impression GL_VERTEX_PROGRAM_ARB and GL_VERTEX_PROGRAM_NV enums were different.
+
+commit f8ba07a77db4fea16b842f77ae17dcfa8be72105
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Fri Mar 3 14:11:19 2006 +0000
+
+ fix up the emit_func list in the experimental arbprogram sse code.
+
+commit 5e01f9a11489079d8509927774d8239c1857224a
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Fri Mar 3 02:46:03 2006 +0000
+
+ Fix bogus span mask in s_atifragshader.c leading to trouble when the pixel was later discarded by z test (this fixes doom3 r200 renderpath with swrast). Fix calling _swrast_alpha_test potentially leading to bogus results when Alpha Test might not be enabled. While here, don't disable deferred_texture (early z) when ATI_fragment_shader is active, as it is not necessary (for the record, this boosts doom3 swrast performance by roughly a factor of 2 (4 seconds per frame now...) with the r200 render path, might be a worthwile optimization for fragment programs which don't write z).
+
+commit f4ab5654d0a460736465edb420f78297c4e2be3b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Mar 2 20:16:34 2006 +0000
+
+ Add position_invarient support
+
+commit da16813f432c5e328b5b2666d468f185c0678a98
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Thu Mar 2 12:06:57 2006 +0000
+
+ Fix more enums defined not only by one extension when queried by glGet (GL_COLOR_SUM_EXT, GL_POINT_SPRITE_NV, GL_POINT_SPRITE_COORD_ORIGIN, GL_TRANSPOSE_CURRENT_MATRIX_ARB). Fix similar bugs (also those previously overseen dependant on NV/ARB_vertex_program) in glIsEnabled. Add missing GL_COLOR_SUM_EXT enum to glIsEnabled.
+
+commit 9227bca1032118eb94ff3ad14268335df0cece11
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 2 04:12:34 2006 +0000
+
+ added GL_EXT_framebuffer_blit, etc
+
+commit 81b8aa9ecd7a159a5d90fd0058334a2da4a04f83
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 2 03:54:14 2006 +0000
+
+ test glBlitFramebufferEXT w/ -blit flag
+
+commit 14d3ab96629907622bd25a103b3dadcfccb40b4c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 2 03:51:04 2006 +0000
+
+ improved error msg
+
+commit 904ab0c22cc5dbfb09ff3a0e4f1b716760890bd7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 2 03:46:33 2006 +0000
+
+ check FEATURE_EXT_framebuffer_blit
+
+commit afa1df58714c37b056fe9aee77500e900ee9dbf0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 2 03:45:28 2006 +0000
+
+ plug in BlitFramebuffer function
+
+commit c241d3b06a5c996cb8415a6ada23288621c1d254
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 2 03:37:18 2006 +0000
+
+ implementation of _swrast_BlitFramebuffer()
+
+commit 0e7e80ae106689bbd30148835b24e811f40198e9
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Thu Mar 2 00:42:37 2006 +0000
+
+ Some small improvements.
+
+commit 93da673904d4c520d3fbd2210e53777bf1598ac6
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Wed Mar 1 23:11:14 2006 +0000
+
+ Fix glGet with enums which are used not only in NV_vertex_program, but other extensions too (ARB_vertex_program, ARB_fragment_program, NV_fragment_program), if no support for NV_vertex_program is present. While here, fix return value if enum is used which is not supported by the exposed extensions (GL_INVALID_ENUM instead of GL_INVALID_VALUE). Fix some compile-time #ifs depending on NV_vertex/fragment_program which should also be dependant on ARB_vertex/fragment_program. See bug #6070
+
+commit cf6be2d5bd7032d120424f8bc4c926d9d137d223
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 1 15:44:20 2006 +0000
+
+ No need for _mesa_save_error() to be public.
+ glVertexAttrib() w/ bad index should generate GL_INVALID_VALUE, not
+ GL_INVALID_ENUM.
+ Misc clean-ups.
+
+commit dbfd246db89e194b332d4e76eb832998085263a2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 1 15:36:34 2006 +0000
+
+ added BlitFramebuffer() support
+
+commit 190e5595bc33a04630a1feefac572c680cd334d1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 1 15:33:56 2006 +0000
+
+ New comments. Use tuples () instead of lists [] in a few places.
+
+commit 68edf28df68701ac429e53c0fd6dbb70b39c3fd0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 1 15:32:38 2006 +0000
+
+ added Flush in glXCopyContext()
+
+commit 9b8059e53610d6d9d217f331b0671354e62ad47f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 1 02:09:40 2006 +0000
+
+ updated comment
+
+commit 6d4284e2bff012e3ceeb41157b07d1d887d7cfb1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 1 02:07:50 2006 +0000
+
+ Added glBlitFramebufferEXT function.
+
+commit 9974540c73e0c6e03f2da46483e38363d62a2e7b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 1 02:02:43 2006 +0000
+
+ remove temporary tokens, more error checks for blit function
+
+commit 2c61fdafd664ed10355577a8f26350297aa49444
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 1 02:00:58 2006 +0000
+
+ added s_blit.c
+
+commit 1eca891dbe39a4aad7a6ed267ce7cd55589073fe
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 1 01:57:30 2006 +0000
+
+ _swrast_blit_framebuffer() function
+
+commit a23109760923fd57fa6a652d85d245fef00bfabf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 1 01:54:59 2006 +0000
+
+ GL_EXT_framebuffer_blit tokens/functions
+
+commit fbe48ef01f263da09275044ceb871bc7190df1ec
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Feb 28 23:39:32 2006 +0000
+
+ Free temps when possible
+
+commit 71932ef85c0c9fd31ecc6b29bb906f3000e812aa
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Feb 28 23:22:48 2006 +0000
+
+ Dont let (possibly) undefined z component reach hw as its unused
+
+commit 6754e17138994dc3c67299177a0906535cb4ddcd
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Feb 28 23:17:00 2006 +0000
+
+ No need to call *_FIREVERTICES twice.
+
+commit f71fd439f5dd81e6d3935de627d8d2e02efd7ccc
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Feb 28 23:08:28 2006 +0000
+
+ Fix aliasing bug (Benjamin Herrenschmidt)
+
+commit 147f5091a11d1855398f1ef81a5c692489ef9b8f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 28 21:45:09 2006 +0000
+
+ Allow error checking to look for presence of either of two extensions.
+ See bug 6070.
+
+commit 176dac684a65d9140d3f1ce4d3bd4220ff5b653f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 28 15:48:43 2006 +0000
+
+ only run shader on active fragments in the span
+
+commit 34b60b001de080643aa5b7c9e0145b98b5653ed1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 28 15:48:19 2006 +0000
+
+ check if active fragment shader for deferred texturing/shading
+
+commit 3073cf21d2ce13b96c79c4af5ed488ef46a172f9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 28 15:44:33 2006 +0000
+
+ check for active shader, set FRAGPROG_BIT in raster mask
+
+commit d1d41216825c0ac8ece71768145834eb22379248
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Feb 27 15:45:38 2006 +0000
+
+ silence a bunch of warnings
+
+commit 9ac9605de156408580b81ba7e2780bd3f5372c6d
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Mon Feb 27 14:41:41 2006 +0000
+
+ More GLSL code:
+ - add x86 code generator;
+ - add full support for uniforms in ARB_shader_objects;
+ - add assembly instruction: global_addr;
+ - reorganize #includes;
+ - built-in uniforms accessed by index, rather than by name;
+ - add some entries to x86sse rtasm;
+ - add configurations to VC6 projects: 'Release x86' and 'Debug x86';
+ - #define SLANG_X86 active only on VC6 x86 builds;
+ - introduce code export table for a shader;
+ - remove GNU license from the noise library;
+
+commit c56f2c49a51e7ad1106c46e3e86dfe2756ef87c4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Feb 26 18:18:12 2006 +0000
+
+ re-formated with indent.
+
+commit be42f5302091d792728172ba8fddebaddbddd0b1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Feb 26 18:02:13 2006 +0000
+
+ Remove need to initialize the InstSize[] array elements by just storing
+ the instruction size in _mesa_alloc_instruction().
+
+commit a764b7eae0e93245b0fb644d32e72226d4cf42f2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Feb 26 17:16:37 2006 +0000
+
+ display list clean-ups
+
+commit 4e7766992607db215430ee388751f32692401c0a
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Sat Feb 25 02:03:12 2006 +0000
+
+ Add all pci ids known by ddx to radeon dri driver. Remove the entries not known by ddx (probably secondary ids, non-existant cards and similar). Add rs400 to the family enum, and configure the rv410 like a 2 quad chip (?)
+
+commit 2aabdc743fd1822477a0d7440b8908c61963f719
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 24 18:19:11 2006 +0000
+
+ fix broken _mesa_copy_context() for GL_LIGHTING_BIT
+
+commit ee2339f67364f0dde4bb4f198c767585dd45a634
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 24 17:58:48 2006 +0000
+
+ need to check for _NEW_BUFFERS in xmesa_update_state()
+
+commit 228d4a6de74fa7ca5d1b7a70b9186a89cd61e06d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 24 17:16:57 2006 +0000
+
+ Fix _mesa_copy_texture_state() so that we copy texture object bindings,
+ not the actual contents of texture objects. This makes glXCopyContext()
+ work properly.
+
+commit 1aad408b5a0f4b7253790d437b7e8d8ad4c80131
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 24 15:36:24 2006 +0000
+
+ EXT_framebuffer_object (Dave Reveman)
+
+commit 44a2e96729b730693f314b43e3d861b326968b5c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 23 15:36:39 2006 +0000
+
+ include inttypes.h if __osf__ defined (Randall Hand)
+
+commit 5b2ee9c1e9505b25db6bbaf4735507e59b250a5d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 23 14:29:03 2006 +0000
+
+ update Blender link
+
+commit bb390133b588c560d84dcfab829a8a1c44c9d3f4
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Thu Feb 23 12:55:56 2006 +0000
+
+ Import
+
+commit 0abf3937ce651d26b18a3ab93ed916f3e7bd04dd
+Author: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+Date: Thu Feb 23 12:55:56 2006 +0000
+
+ Initial revision
+
+commit 956fff6345966cad4585e2e5d2d4fdb1bfe9c8b6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 22 16:54:05 2006 +0000
+
+ add some #includes, fix some prototypes (bug 5992)
+
+commit 7b6fd8a0c6691a0ebe45567abf6374a9f3e8f396
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 22 16:44:04 2006 +0000
+
+ include proper header file, remove local extern declarations
+
+commit cebad151a11ea2f189d40a2a4c51e8469eed6267
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 22 16:43:26 2006 +0000
+
+ add missing prototypes, use _slang_ prefix on non-static functions
+
+commit 4f8b59d59b5500d1e025bbd07dbab74158f193c8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 22 16:35:34 2006 +0000
+
+ silence a variety of compiler warnings
+
+commit 49ad2d4ed198babd7c89503f924b535740b3ed49
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 22 15:50:57 2006 +0000
+
+ updated GLUT link
+
+commit cc1591667d55a6dbfafbd3d6a7afa9f9288c625d
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue Feb 21 12:35:06 2006 +0000
+
+ More GLSL code:
+ - uniforms (only GetLocation, Uniform1f and Uniform4fv for now for demos);
+ - fix bugs and optimize array size handling;
+ - 2D texture sampling (needs Enable(TEXTURE_2D) to work);
+ - decrease built-in library assembly size by 30%.
+
+commit 8986e36f368d11bcf3f1938d77b5df69aa2ee11b
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Tue Feb 21 12:28:34 2006 +0000
+
+ Committing in .
+
+ Update OpenVMS makefiles
+
+ Modified Files:
+ Mesa/src/mesa/shader/slang/descrip.mms
+ Mesa/src/mesa/swrast/descrip.mms Mesa/src/mesa/tnl/descrip.mms
+ ----------------------------------------------------------------------
+
+commit fcbbdf9991108394e18945d3e5486bae268f270b
+Author: Jeremy Kolb <jkolb@freedesktop.org>
+Date: Sun Feb 19 22:31:26 2006 +0000
+
+ Added xcb dri config file.
+
+commit 97a3023c9f2826b44428c85af4aa06b05d9dc368
+Author: Jeremy Kolb <jkolb@freedesktop.org>
+Date: Sun Feb 19 22:30:46 2006 +0000
+
+ Remove old linux-x86-xcb (didn't do anything).
+ Removed reference to linux-x86-xcb and added linux-dri-xcb in Makefile.
+
+commit 3654193a4d417560c90b4bbe47d8070919cdc348
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Sat Feb 18 15:11:18 2006 +0000
+
+ More GLSL code.
+ - general constructors allowed;
+ - implement noise functions (from Stefan Gustavson - thanks!)
+ - cosmetic stuff.
+
+commit e94be8d5c0b28c4eecf8492cb07ae9dff9026ada
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Feb 17 17:03:14 2006 +0000
+
+ Fix STENCIL_WRITE_MASK defn for bug 5902
+
+commit 8da9f448f4b90a05e01d82784de299e04bbd288c
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Thu Feb 16 19:50:40 2006 +0000
+
+ Skip ARL while we dont implement it. Fix broken nv vps but do it with software for now.
+
+commit 555b5fac4f47576f04d8e4159dc22f72a2b0a397
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Thu Feb 16 17:16:33 2006 +0000
+
+ Reinstate vertex format after a rasterization fallback for both r200 and radeon driver when a tcl fallback is active, fixes a blender issue with non-tcl hw (bug #5601)
+
+commit a176bc6c1781ccbd12cdd7ac215a15178b73d5bb
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Wed Feb 15 21:03:34 2006 +0000
+
+ Include dix-config.h if HAVE_DIX_CONFIG_H is defined. This will be used by the
+ X Server to get things like _XSERVER64 (for X headers) and NO_LIBCWRAPPER
+ defined consistently when its builds Mesa internally.
+
+commit ee40c4fb34bd06ecc6dd6f2e658ca2c2c20af952
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 15 15:59:37 2006 +0000
+
+ Set NumInstructions (bug 5864)
+
+commit a584e846d435070e67aff904fb79cfc9a6d7d05e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 15 15:51:01 2006 +0000
+
+ Fix a few warnings:
+ - nested comments (use #if 0 / #endif instead)
+ - missing default clause in switch statements
+ - use of possibly undefined variables
+
+commit dd02edf381a6bc68bad0cb881548db079aa706bb
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Feb 15 11:15:16 2006 +0000
+
+ Add support for forward function declarations.
+
+commit 88d994c3b2ddb824b5171aa43e7612f516367637
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Feb 15 11:12:47 2006 +0000
+
+ Add fragment shader execute entry.
+
+commit 50092f8f33e733f0fa63c0ef891548dea169615b
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Feb 15 11:09:26 2006 +0000
+
+ Add s_arbshader.c, s_arbshader.h.
+
+commit 870ebefb3b3a6f4d775d77b9bf0197f3a75b67f5
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Feb 15 11:07:56 2006 +0000
+
+ Add swrast/s_arbshader.c.
+
+commit a66393120411071b3f3ccce8583ab961a2935959
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Feb 15 11:06:00 2006 +0000
+
+ Add arbshader stage.
+
+commit 5bc35a823a7bdfd96d8a2428ed5630d04053ad34
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Feb 15 11:03:57 2006 +0000
+
+ Enable texcoords when program object in use.
+
+commit dc3a922cf30bf12cb01167bf1328d377ff3ee120
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Feb 15 11:02:07 2006 +0000
+
+ Get arbfslight demo running.
+
+commit 0c8e578a3834882a3a1ce0b755955ae18bdee645
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Feb 15 11:00:15 2006 +0000
+
+ Enable GL_ARB_fragment_shader extension.
+
+commit 3699751b0b6fc16489f0faa72005de85af0bb53b
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Feb 15 10:58:52 2006 +0000
+
+ Demonstrate GLSL fragment and vertex shaders.
+
+commit d5aca8bf0cbfc23d8cede95a19909605277f6a7b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 15 04:10:55 2006 +0000
+
+ remove stray 'foo' line
+
+commit 0c1438d331051010e8f12f0bbee03b4659b0b598
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 14 15:04:45 2006 +0000
+
+ replace size_t * w/ unsigned int * (Jurg Billeter)
+
+commit a5033a0421102f65d642c5419bfe10a4d466d023
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 14 14:57:04 2006 +0000
+
+ fix AIX issues (bug 5874)
+
+commit 2189d9c96e206f2f401069f7b7981782cf71b2ac
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Mon Feb 13 12:00:29 2006 +0000
+
+ Update OpenVMS compile support
+
+commit e7ffe4619fe5ba14630dd34aa01854061f7a613e
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Mon Feb 13 11:47:41 2006 +0000
+
+ More glsl code.
+
+commit 8a54fad6cda429bc28aea239d7f33cd3975865ce
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Mon Feb 13 11:45:57 2006 +0000
+
+ REVISION 3.
+ Remove illegal operators for overloading.
+
+commit ebcbf2f8535491e1ff30859263df30d5615a4bfa
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Mon Feb 13 11:42:48 2006 +0000
+
+ Cosmetic changes.
+
+commit 41eeae5fb1131b18b89b80e3e1a1f0e69b26c0ca
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Mon Feb 13 11:40:32 2006 +0000
+
+ Delete most of the comments.
+ Minor tweaks with the functions.
+ Add experimental print functions.
+
+commit 02eb9acc5e4307db09662592951ef44319a0cda5
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Mon Feb 13 11:38:37 2006 +0000
+
+ Get it running for ARB_vertex_shader.
+ Add experimental print functions to builtin library.
+ Some functionality missing:
+ - automatic arrays;
+ - general constructors;
+ - local variable initialization;
+ - texture sampling and noise;
+ - semantic error checking;
+ - function prototypes.
+
+commit 44e9ccc708bb0a92dfeaf038ded60295dfe2d3ae
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Mon Feb 13 11:31:16 2006 +0000
+
+ Rename current_program to CurrentProgram.
+ Temporary vertex_shader execution code.
+
+commit adef42c88da4a77b6fc74bee1fef6aebeac39b2f
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Mon Feb 13 11:27:33 2006 +0000
+
+ Add tnl\t_vb_arbshader.c.
+
+commit 7d376c76c94039a7996595f31d6e137abaff1690
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Mon Feb 13 11:25:43 2006 +0000
+
+ Add tnl/t_vb_arbshader.c.
+
+commit a2ea606377ed5679dc513eabcf2d398216b47d61
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Mon Feb 13 11:23:36 2006 +0000
+
+ Add ARB_vertex_shader stage just before render stage.
+ If enabled, all other stages, except render, are disabled.
+
+commit 2363fff347a064b9584ecb8e26d80d421cafbbbd
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Mon Feb 13 11:04:27 2006 +0000
+
+ Enable GL_ARB_shader_objects, GL_ARB_shading_language_100 and
+ GL_ARB_vertex_shader extensions.
+
+commit c92e688e151748d235b8477fe30888a9dded765d
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Mon Feb 13 10:56:54 2006 +0000
+
+ Rename current glsl program variable.
+
+commit 170f08d4b16e8a24d5a07378582eba542f7e8844
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Mon Feb 13 10:55:14 2006 +0000
+
+ Add _mesa_atanf and _mesa_asinf functions.
+
+commit 91c30771b63ae3498dbcd880930e6faa975c5928
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Sat Feb 11 02:59:38 2006 +0000
+
+ Add the ability to define NO_LIBCWRAPPER to avoid libcwrapper brain damage.
+ If it's true that libcwrapper usage isn't necessary ever in the DllLoader world,
+ then this code should probbaly all go away.
+
+commit f236300e3a79be14da7f417956227bbe8a680e87
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Fri Feb 10 21:46:17 2006 +0000
+
+ commit to fixup MGL namespacing for XGL
+
+commit a73094cc6ac2653ac115eaaf4f7ef657683f8084
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Fri Feb 10 17:26:44 2006 +0000
+
+ Workaround problems with NWN. (Tilman Sauerbeck)
+
+commit 42447365b200653ee0a509e2df29f242459157c2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 9 14:28:40 2006 +0000
+
+ remove the test for XFree86Server from prev patch (bug 5835)
+
+commit b77a225250ce1855b8a6d577b53ca836c33e671b
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Wed Feb 8 22:05:42 2006 +0000
+
+ Check DDX for 1.5.0
+
+commit d93615fc1e6c6da3908b1574f5a071cfcb9ce921
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 8 14:52:06 2006 +0000
+
+ include dix-config.h (Mike Harris) (bug 5835)
+
+commit 42725d6f545087d094b1479d1ebcbd45ec6ac15c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 7 00:39:56 2006 +0000
+
+ David Reveman's GLX_EXT_texture_from_pixmap extension patch
+
+commit 4cd0e24f86a5e3fa67774be546f922ca241cb0ea
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Mon Feb 6 00:09:58 2006 +0000
+
+ add vblank support to i915 driver
+
+commit 640ef7f8908a3c25390125f5727d154ca66c9505
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Feb 5 16:39:19 2006 +0000
+
+ EGL 1.2 tokens/functions/etc.
+
+commit 63b852f4f9a350f4004ef681c29441728cea218d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Feb 5 16:38:33 2006 +0000
+
+ fix typo
+
+commit ea970da0b680325154aa6a3353252edf367a118a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 3 17:21:54 2006 +0000
+
+ bring in changes from 6.4 branch
+
+commit e7276b7fa597f7914f7e10a2e50dae36ae50e10b
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Fri Feb 3 13:29:11 2006 +0000
+
+ replace the texture level hack used in radeon/r200 to allow larger textures with different methods to calculate the announced maximum texture sizes. Default is still the same (that is, radeon/r200 default to not announce anything which might not fit, i830/i915 default to 1 texture must fit). Bug #5785.
+
+commit 16a14510c4c134db9268719e9458bf6bf83e618a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 2 17:33:26 2006 +0000
+
+ use calloc instead of malloc so try_codegen field is initialized to zero (bug 5791)
+
+commit 725740c7c8664cde9bb09b88674ad09956e93c49
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 2 14:30:16 2006 +0000
+
+ add some assertions to check emit_func[] table validity
+
+commit 5951aab8236e964aa3ebc412bf13e31da99383bf
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Wed Feb 1 23:14:42 2006 +0000
+
+ fix texcoord unit assertion, the right one (bug 5780)
+
+commit 865ad82bb8af1251b0240fd03e89ae0793c0ef0f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 1 16:50:16 2006 +0000
+
+ fix texcoord unit assertion (bug 5780)
+
+commit 3b6f62fc736d8f337897e2cefbfa15d6d77586f3
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Wed Feb 1 01:05:40 2006 +0000
+
+ fix test for valid texunit in _mesa_ClientActiveTextureARB
+
+commit 111281f1fc0b51a224755057e8a0791e395d184a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 31 03:00:14 2006 +0000
+
+ s/malloc/calloc/, fix mem leak
+
+commit 663138a9510be5d2f3ee2bda41e3a8c86ab688b5
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Mon Jan 30 23:49:31 2006 +0000
+
+ fix broken assertions so dri drivers compile with -DDEBUG (replace GL_STENCIL_INDEX8 with GL_STENCIL_INDEX8_EXT). Fix potential problem with drivers which use 32bit z buffers.
+
+commit a45f23bed141fc23300b8cd6960ba95e883a57bf
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Mon Jan 30 23:36:42 2006 +0000
+
+ fix broken assertion to make radeon driver compile with -DDEBUG...
+
+commit 4b4cc650e1e7ba4925728c34c37358a3bc5a14a3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 30 17:13:19 2006 +0000
+
+ updated comment
+
+commit 781c54a5b84cb9af6d8e760c6a4222ed13bbdf98
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 30 17:12:10 2006 +0000
+
+ silence warning about duplicate M_PI definition
+
+commit 6a36407a00a6205a120e710394ba98bffa5a74aa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 30 17:11:47 2006 +0000
+
+ added more tests (Pedro Maia)
+
+commit 7905b19ec9edd661ee18fcb0b210dc113b58974a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 30 15:35:35 2006 +0000
+
+ use fmod() when incrementing CubeRot
+
+commit bd8c742762e1f4dc3195bbf0acd2fe21d3447c00
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Mon Jan 30 14:50:01 2006 +0000
+
+ Add shader/slang/slang_compile_*.* files.
+
+commit 9dc8bce88e84322171e16be190f2e430dee986ac
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Mon Jan 30 14:48:42 2006 +0000
+
+ Split slang_compile.c into several smaller files - it was just too big.
+ Minor fixes and cosmetic changes.
+
+commit b2006a40eb22899d38cd31691640555228e36975
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 30 00:10:55 2006 +0000
+
+ some initial EGL 1.2 work
+
+commit daf3093f28353b27d277da4406324fbc41676a5b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 28 00:30:07 2006 +0000
+
+ Test glCopyTexSubImage2D by drawing gears as texture on sides of a box.
+
+commit 5e9d73153c72b445620784b51c435b83e3720ef5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 27 20:12:06 2006 +0000
+
+ misc updates
+
+commit 0b3c2a9a245c2bff762263641c1ef8014d8ec542
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 27 15:44:40 2006 +0000
+
+ Don't do swapbuffers if -nodraw specified. Get t0 after setup code.
+
+commit 5594ddbcfe199e7a1dc21ddf39d51364d7419902
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Fri Jan 27 14:35:24 2006 +0000
+
+ remove broken non arb fp path
+
+commit 58e4aa0ec9e8a7ab6b65af19102ed8bbcb0e1375
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Fri Jan 27 14:09:05 2006 +0000
+
+ missing link in the fallback chain
+
+commit 0fcfa1c5b000f239cee1849a17f572ef5098cd31
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Fri Jan 27 14:03:22 2006 +0000
+
+ enable hw vertex programs by default
+
+commit e797bc8bbe23480c3fca3654ce1c980d103520d1
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Fri Jan 27 13:21:47 2006 +0000
+
+ per vp sw fallbacks
+
+commit 7d82d284e3cd8a46dfea8788d090eb58198752ca
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Fri Jan 27 13:09:59 2006 +0000
+
+ radeon driver doesnt have this so i assume we shouldnt either.
+
+commit a7bd2563c3ede7db0b06c61788a11b2a09583e0d
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Fri Jan 27 13:05:56 2006 +0000
+
+ drop all that (slow) locking stuff and make u_list per context.
+
+commit 875df252a7aac1f2a615e17ce168cc2e6360bed2
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Fri Jan 27 12:38:20 2006 +0000
+
+ R300_PFS_NODE_LAST_NODE -> R300_PFS_NODE_OUTPUT_COLOR
+
+commit e804370014cbf362de063a56aef0b78f4412b200
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Fri Jan 27 12:23:26 2006 +0000
+
+ Work around problems with t_vp_build.c
+
+commit 32551222bc9573ef2d7e705bb91a804db2e09411
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Fri Jan 27 12:18:58 2006 +0000
+
+ r300UpdateTextureEnv shouldnt be called.
+
+commit 77667266a7d08fd34881c1a2354d0bf9ad3f4d4e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 26 17:35:31 2006 +0000
+
+ Test glTexSubImage and glCopyTexSubImage rate.
+ Run with -nodraw to skip rendering of test quad to get "pure" sub-tex rate.
+
+commit 32a64680143df22529e3305f195b06f0b47c01b3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 26 16:37:47 2006 +0000
+
+ copypixrate.c - measure the speed of glCopyPixels.
+
+commit e65ad47a8f5ef1a4aafc86e0266e9644ecf2404e
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Thu Jan 26 16:28:54 2006 +0000
+
+ remove some testing code
+
+commit edc98df891d8962e607de3a10a68fa81598ceee2
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Thu Jan 26 15:53:18 2006 +0000
+
+ Fix a problem where offsets from disabled tmus reach drm
+
+commit fbcb37cac5a3609365fe7ebd08051fc1cc528368
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Jan 26 08:53:32 2006 +0000
+
+ remove i830
+
+commit 3a5bb1729d8c229a587e34ccd5ddc86e26811b9f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 26 01:32:47 2006 +0000
+
+ New comments, clean-up of fields related to point/line/triangle validation.
+
+commit 2219a15b06ba1f72d74b79047e52840d167f03b7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 26 01:28:00 2006 +0000
+
+ remove unneeded init of swrast->invalidate_line/triangle
+
+commit 74235b1cf12266a80cec9533d670d77ab9e808a5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 26 01:27:17 2006 +0000
+
+ remove the GL_HP_occlusion_test code
+
+commit f3cf636e571eaa719ea79a1076f2e11a9b9a43fa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 25 17:33:13 2006 +0000
+
+ WGL_ARB_extensions_string extension
+
+commit 166b0ff973b695c4a46b1825899c8bf10d1494b9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 25 15:05:36 2006 +0000
+
+ added wglGetExtensionsStringARB
+
+commit 7f1274fa8b98f334fc12e13f18caf23b2a79a415
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Wed Jan 25 06:02:55 2006 +0000
+
+ add wglGetExtensionsStringARB
+
+commit 99da2d30eb08e50edf4b0067518af3acdf2dabc0
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Tue Jan 24 23:04:51 2006 +0000
+
+ fix using a tmp without asking for one
+
+commit 8b1dc68662f2a18ea4e02c6d3247c5d1da741aa8
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Tue Jan 24 21:40:53 2006 +0000
+
+ pull in fix from 6.4 branch for XFree86Server definition
+
+commit 4dd8a8907e40126e42131a400b59e7d5da5e302a
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Jan 24 20:24:06 2006 +0000
+
+ fix broken get_half & get_zero
+
+commit 65573edd1bcd734e3b0d7f717149e023e66192e5
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Tue Jan 24 19:59:54 2006 +0000
+
+ remove very old i830 code
+
+commit f3134ca7add4a1894f119defde76fbe625a173a3
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Tue Jan 24 19:40:26 2006 +0000
+
+ use front.size instead of sPriv->fbSize
+
+commit f7360cd42d320b39889b1d9277284ad00e2c1f3d
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Tue Jan 24 19:28:49 2006 +0000
+
+ use screen->front.map instead of pFB from libdri
+
+commit 39c492bb14d706ffa8bf04f78048c05de735492b
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Mon Jan 23 10:10:48 2006 +0000
+
+ Add Intel 945GM support
+ Add rotation support
+ (Tungsten Graphics)
+
+commit acd1f16b356ee21d40c706eda14b7105a84c8001
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Sat Jan 21 15:16:53 2006 +0000
+
+ Do individual negetation in swizzling, thus we can
+ save one instruction in some case.
+
+commit c6f35dd8db5f85062454ee90c39ebbfc4970b92a
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Sat Jan 21 13:08:46 2006 +0000
+
+ Indent & wrap around 80
+
+commit f087d60f1803bb62e4f30545206b245c7271edd1
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Sat Jan 21 12:48:09 2006 +0000
+
+ Doesnt apply anymore
+
+commit 41a874f486d42d7200bef04a62c519d1943cb76d
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Sat Jan 21 11:43:37 2006 +0000
+
+ Add individual component negation.
+
+commit ef073b7a756e37be59308a2e598cfa9e0ba3a700
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Fri Jan 20 21:56:52 2006 +0000
+
+ Try to tackle bug #5148
+
+commit c90b569238f38981e49e070dcb1e5299ff3b1a66
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Fri Jan 20 21:16:28 2006 +0000
+
+ Sync from drm.
+
+commit 93a7605b1d26b2422025982b99ab5d0803181b26
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Fri Jan 20 20:48:05 2006 +0000
+
+ Fix ARGB1555 component swizzling.
+
+commit b42d5bcaff3cbc68461299aab52dbc27d859eee3
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Fri Jan 20 18:24:44 2006 +0000
+
+ Fix swizzling table & add struct.
+
+commit 37e86254c12c7d7ab844ad772360b7c6bb25b209
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Thu Jan 19 18:00:38 2006 +0000
+
+ Avoid a crash when the user has enabled glVertex{,Attrib}Pointer but hasn't
+ filled in a valid pointer for that attribute or vertex array.
+
+commit 216f729a9559136c404f83078127876b9810e295
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Wed Jan 18 20:57:02 2006 +0000
+
+ Search for makedepend in the PATH rather than hardcoding /usr/X11R6/bin
+
+commit 38da697546c2df44b1d8b00df994374a1eb8eb9f
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Wed Jan 18 00:29:35 2006 +0000
+
+ Nuke the old attempt at software DRI, it's broken and awful
+
+commit f93a228c389685e16135e150d77e086df6547f9b
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Wed Jan 18 00:22:21 2006 +0000
+
+ Start a software-only DRI driver for use in the new accelerated indirect
+ world.
+
+commit 1096eae18d1c871f33f46d0d34e5a894354c3c44
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 16 16:35:13 2006 +0000
+
+ properly free ATI fragment shaders (Tilman Sauerbeck)
+
+commit 361bccb4ecf90b56da1355e077a5da477aa2f520
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 16 16:17:18 2006 +0000
+
+ Free visinfo object (Tilman Sauerbeck)
+
+commit b4f70646b472776bb4651720fa3f10393daa6703
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Mon Jan 16 12:34:16 2006 +0000
+
+ remove some test code;
+ rewrite the intermediate code executor to address
+ 64-bit platforms and global memory;
+ store built-in library code in a precompiled form only;
+
+commit 8defce2cf1afa9933208ee001ddb8990c5d4eee0
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Mon Jan 16 12:27:22 2006 +0000
+
+ remove slang_*_gc.h files;
+ rename slang_*_gc_bin.h files to slang_*_gc.h ones;
+ store built-in library code in a precompiled form only;
+
+commit 0f488bb16d36edfff892609c4f58ef467145d441
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Sun Jan 15 13:53:54 2006 +0000
+
+ Missing bits of code spotted by Tilman Sauerbeck
+
+commit 1bcc323857c2632035e588c33848ac3bc24d0fd3
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Sun Jan 15 00:07:11 2006 +0000
+
+ Fix ARB_position_invariant handling
+
+commit 93d0935ef7937bb82885aaca7d556642e9bc7de1
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Fri Jan 13 16:34:00 2006 +0000
+
+ Fix the default target to remake readtex.o if needed
+
+commit 4078c647d56caf92d0526d3d9aece43e55e63e10
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Fri Jan 13 15:11:57 2006 +0000
+
+ namespace pollution fixes (Tilman Sauerbeck)
+
+commit 458479fedb3a044aa96ff33806b8b758494de375
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Fri Jan 13 15:03:57 2006 +0000
+
+ Fix invalid tex coord routing and couple other small things.
+
+commit 1814d6541b1fb4bad67fb6277a6fcbe518453230
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 10 15:48:56 2006 +0000
+
+ added a couple new assertions to help debug XGL problem
+
+commit 2d4ff6a8cf83ca3a829021482b08b95bea7aa31a
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Mon Jan 9 22:53:38 2006 +0000
+
+ Missing patch from Ben Skeggs:
+
+ Lots of changes, and fixes for some badness on my behalf.
+
+ 1. Disposable data used during fp compile is now per-context,
+ rather than per-program to save memory.
+
+ 2. Track usage of INPUT/TEMP registers from Mesa program, free
+ them when no longer required so the hw temps can be re-used.
+
+ 3. Changed LAST_NODE to OUTPUT_COLOR (see r300_reg.h)
+
+ 4. Implemented remaining ARB_f_p instructions, with the exception
+ of the trig/LIT opcodes.
+
+ 5. Treat ZERO/ONE swizzles the same way as other native swizzles.
+
+ 6. emit_arith changes, basically a complete re-write. Should
+ produce cleaner instructions, but no real functional changes.
+ internal reg -> hw reg routines shared with emit_tex. A bit
+ messy still.
+
+commit c217d5a3a84cd55456e3312873933db80ba00d67
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Mon Jan 9 20:00:03 2006 +0000
+
+ Fix pow <small> and a very stypid bug with dummy srcs(0 equals to tmp0.x)</small>. demos/cubemap looks perfect now.
+
+commit 0946e0f418abfdf8dd4841990f58c31cd9c6f3f1
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Mon Jan 9 19:20:46 2006 +0000
+
+ Fix cube maps.
+
+commit 7a028bd1caca9f9ce8fe99902ca876e4a18eb4e3
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Mon Jan 9 18:31:42 2006 +0000
+
+ Fix node setup(from Ben Skeggs)
+
+commit d469e5e5a03334f76cee4418dad97060661b1dc4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 9 17:57:47 2006 +0000
+
+ s/GLuint/GLbitfield/
+
+commit c2901e4f4c7a626a99526ccbb70f89253805cbb4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 9 17:56:55 2006 +0000
+
+ only call xmesa_set_renderbuffer_funcs() when really necessary
+
+commit 41b9756e9a2da55859581278e46da0e631866bc0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 9 16:59:30 2006 +0000
+
+ check XGetGeometry() return value
+
+commit 8bc4dae67e083c6415c07e6ff77e700f7395dc9e
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Sat Jan 7 20:42:16 2006 +0000
+
+ cube maps on r100 require newer drm than the same feature on r200 (regression from introducing unfied initialization). Fix wrong (so far unused) family assignment for r100 cards.
+
+commit eda59aa87e6f651a734d2dfd9f30271764712f35
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jan 5 11:01:18 2006 +0000
+
+ Oops - bad file-completion typo.
+
+commit ca188de0987528170097a82d233ff591fcc0320c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jan 5 10:57:57 2006 +0000
+
+ add simple test for program local parameters
+
+commit 30cc822163ba6bd7cab7123446526c9be195b938
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 4 20:10:16 2006 +0000
+
+ install GLw headers (bug 5396)
+
+commit 413a49ce590e2cb24a41f8991495f5d419f46250
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 4 20:06:13 2006 +0000
+
+ special-case Darwin (bug 4509)
+
+commit 31be39742bb76e524f9b9cba8ea68d8a668aa9f6
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Mon Jan 2 18:47:00 2006 +0000
+
+ Use X11_INCLUDES config macro instead of
+ hardcoded path in makefile.
+
+commit 3086efe357dd50dccb39cecd312bbb5aff6bcdff
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 30 19:15:40 2005 +0000
+
+ remove bogus wings3d link
+
+commit cabecbd3146bf010bb478c9474b34d77afc7431b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Dec 30 13:03:08 2005 +0000
+
+ recalculate state on drawable changes
+
+commit 1d43e729ec94217f3b742be481c753a8eaa65ea3
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Dec 30 13:02:27 2005 +0000
+
+ properly notify driver on scissor change in MakeCurrent
+
+commit 8c137e2f94a5710e59676598fb2c3f00565834e1
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Fri Dec 30 11:18:04 2005 +0000
+
+ fill out framebuffer egl stuff enable egl on R300
+
+commit fb83a42d31d7d720a1e9d3bc809086f304e49a3c
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Fri Dec 30 10:12:26 2005 +0000
+
+ fixup stamp so driver updates drawable info
+
+commit 456a513daa2165b1cc04ef06939384f964d13628
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Thu Dec 29 00:56:01 2005 +0000
+
+ add support for PCIE card to EGL, doesn't fully work yet but these changes
+ need to get off my hard disk
+
+commit 577d23011b57b6bf9cae1ba49e043732c872e5be
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Thu Dec 29 00:42:25 2005 +0000
+
+ add EGL to r300 makefile
+
+commit 369ae3e2c46a2f8b2f6cc060b2012a2d801c916e
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Thu Dec 29 00:38:12 2005 +0000
+
+ rv370 not rv350
+
+commit 77a7c2ad92e57549c71329218a96b3777211dfdf
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Thu Dec 29 00:37:24 2005 +0000
+
+ typo
+
+commit 4dac78463ef0e265818eafbc4b3859b7f3e08961
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Thu Dec 29 00:36:07 2005 +0000
+
+ add some card type ioctl support
+
+commit edf570da67978c319bb2e041c2f50fb24707d73c
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Thu Dec 29 00:30:53 2005 +0000
+
+ use card_type not isPCI
+
+commit 49b93550204efd2a3898138289507aec3bb91bc5
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Wed Dec 28 23:42:41 2005 +0000
+
+ add some r300 information
+
+commit 1b6a0818853e30fb3e1af7d00efdd7e5a109f7d5
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Fri Dec 23 08:42:29 2005 +0000
+
+ update to new API
+
+commit bc8390fa6cb748061ab325b789b828436eac7c5d
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Fri Dec 23 08:17:44 2005 +0000
+
+ this needs to be calloced
+
+commit ad960612cea4a42db915252d0fd4a6cc04de26bd
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Fri Dec 23 07:58:24 2005 +0000
+
+ fixup driver for some api changes
+
+commit 11decab34a7e537b2d847a23f3b7faff0a9fe15c
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Sun Dec 18 21:40:13 2005 +0000
+
+ Handle fatal case.
+
+commit 3ad366dff2b8d015fe57da6a284088ccec1cea3f
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Sat Dec 17 18:59:18 2005 +0000
+
+ Drop output checking.
+
+commit d57ce4a2c1ce5a3489fdc2542d1e5446c61ab6e4
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Sat Dec 17 12:28:58 2005 +0000
+
+ No you arent.
+
+commit 707343dcf509319fc0df6dfd318f412c553bfada
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Sat Dec 17 12:20:51 2005 +0000
+
+ Warn only when being enabled.
+
+commit feb7221ecb5d279dafec1ef87b11391ae5c59bc2
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Sat Dec 17 12:08:41 2005 +0000
+
+ I think this has been tested well enough already.
+
+commit 1d32fc7332a8eb7ed16ae572959a671c02397be9
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Sat Dec 17 11:59:13 2005 +0000
+
+ Enable CB_DPATH by default.
+
+commit fd1627312dcc8a10028cc7e72b367c05f1109cab
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Sat Dec 17 11:43:59 2005 +0000
+
+ Fix (likely) typo.
+
+commit e34700af7a5c8ca0ba1f0365f479c666a137a266
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Sat Dec 17 11:39:40 2005 +0000
+
+ Add some missing hooks. This should fix various little problems with window movement and 2d windows flashing on top of 3d windows. This problem was previously shadowed by r300ResetHwState as it gets called frequently.
+
+commit c9b4acfeb8044bfe3f9275cb51fed9ccd3651d95
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 17 05:37:15 2005 +0000
+
+ minor code movement
+
+commit 782291ab916dcb3f11fe8b7c934b1fd164c46020
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Dec 16 16:38:44 2005 +0000
+
+ fix thinko in last revision.
+
+commit 924fb5e916ae107df52181643927305ec4435255
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 15 15:23:54 2005 +0000
+
+ move va_end() call (Evgeny Kotsuba)
+
+commit 841c9018b140f3271dd1f6e29d9ca4f391823a22
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Dec 15 01:02:37 2005 +0000
+
+ Work In Progress. Move some of the frame buffer, render buffer, etc init code from the create context path to the make current path, where it is lazily initialized. This didn't buy me very much except to make it look closer to the X11 driver. Fix up some of this same code to correct some errors.
+ The next step is to reorganize the wmesa context data structure to inherit the gl_context by containment so I can have access to the wmesa context in the update state path. The driver is still currently not responding to changes in the Draw and Read Buffer state.
+
+commit b6d7a0c5a56d8a861225ea6dd58b0096ca440328
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 14 14:23:37 2005 +0000
+
+ regenerate to pick up glGetQueryObject[u]i64vEXT funcs
+
+commit 0970787228ce3ab540980d8b072b9bd5fb62a617
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 14 09:31:25 2005 +0000
+
+ Fix typo.
+
+commit c8d1741b78eda547762b35a6e4dea7ccb563ffa5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 14 03:06:16 2005 +0000
+
+ use GLbitfield instead of GLuint
+
+commit 1add059bd114f90e32c4b574be411d314eca6d90
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 14 03:04:58 2005 +0000
+
+ Removed the GL_SGIX/SGIS_pixel_texture extensions. Same thing can be
+ done with fragment programs nowadays.
+
+commit c9797f6b76a5d34a4bdbab49ef8158ca861e0c01
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Tue Dec 13 19:53:28 2005 +0000
+
+ fix from Roland for mipmapped compressed textures
+ remove some debug
+
+commit 0063084804d62402d80821a86978660663955442
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Dec 12 15:27:55 2005 +0000
+
+ silence warning, bug 5318
+
+commit 40332059e4f7b289e5524d10c5565232d27bffbe
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Dec 12 12:57:08 2005 +0000
+
+ Split _MaintainTexEnvProgram into two flags _Maintain and _Use. This
+ restores the ability to run the software driver with program TNL but
+ tradtional swrast.
+
+commit 3e1a5a38ae1d5f47d4a30fde2160ae1132cdd98b
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Sun Dec 11 07:42:37 2005 +0000
+
+ Regenerate for recent glapi changes (GetQueryObjecti64vEXT).
+
+commit 790ab0a0b6eda2f21f7d1d96a7f542d58078a3f0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 10 17:59:36 2005 +0000
+
+ s/eglShowSurfaceMESA/eglShowScreenSurfaceMESA/
+
+commit f06ce1ba71f79ac6aaae2240e5ade57caf195f23
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 10 17:56:00 2005 +0000
+
+ Rename eglDRIShowSurfaceMESA.
+ s/_eglAddMode/_eglAddNewMode/
+
+commit 98d9bb66a4b5123f7d6d5cbd7b9d92ce29665d5a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 10 17:55:15 2005 +0000
+
+ updates to match other changes elsewhere
+
+commit 215aa20f5ce28f8398a742685afd7461a5081d49
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 10 17:54:36 2005 +0000
+
+ rename eglShowSurfaceMESA, add EGL_SCREEN_POSITION_GRANULARITY_MESA
+
+commit 48822796339cb4a55714dc3f1abbe379562ec538
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 10 17:54:00 2005 +0000
+
+ Some initial per-thread support.
+ Rename eglShowSurfaceMESA to eglShowScreenSurfaceMESA.
+
+commit b04dd5c58763039a564c50b5e3c0bbc9755e7f72
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 10 17:53:07 2005 +0000
+
+ Added EGL_SCREEN_POSITION_GRANULARITY_MESA query.
+ Rename eglShowSurfaceMESA to eglShowScreenSurfaceMESA.
+
+commit ad6f8eba00359fcb7abff8105dcb7a9dd2f32fec
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 10 17:52:11 2005 +0000
+
+ lots of updates, mode sorting, etc
+
+commit 6002d2ff4ed9f465d1c5bf05caea83f1522ecf3d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 10 17:51:13 2005 +0000
+
+ implement config sorting for eglChooseConfig()
+
+commit 21b2784ff52cc4e61082e3aa9a8b1714862505b2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 8 17:49:50 2005 +0000
+
+ 'a' key to toggle animation
+
+commit 5abc246f8d56b52a7aaaa5458e655456e9e420a8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 8 14:51:36 2005 +0000
+
+ bump version number
+
+commit 72d1bb5756c670e6afef37da80689da04d466b22
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 8 14:50:28 2005 +0000
+
+ don't need LONGLONG typedefs
+
+commit 91ed68b2b9e0fcb70675ee575d805612a675a82c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 8 14:50:03 2005 +0000
+
+ do away with 'long long' usage
+
+commit 5262c225ba9eb90fc2a357c40a93a5bba2dd602a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 8 14:10:59 2005 +0000
+
+ remove stray _ from GL[u]int64_EXT
+
+commit 1acea5f2898cc46cdd18d0b2559eee4af90f6c6f
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Dec 8 04:36:42 2005 +0000
+
+ update for symbol export changes
+
+commit 5bdec89da520f763b6d0faad1781f64566a97fdd
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Dec 8 04:35:07 2005 +0000
+
+ add {} to RENDER_SPAN macro to fix compilation problem
+
+commit 59af97420e19ba382e0e9dd46005e0b720e4b2c5
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Dec 8 04:34:17 2005 +0000
+
+ use 64-bit typedefs for portability
+
+commit 0694adaf71d5048b4a3c64b2280f39efe5f0766f
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Dec 8 04:33:17 2005 +0000
+
+ add 64-bit typedefs for portability
+
+commit 4c3443b460748c1406b91baa5ffe20e3cbe9e61c
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Dec 8 04:32:02 2005 +0000
+
+ handle 64-bit types for Windows.
+
+commit f2b9fa03da5291f764262c91c820103a0ca4e328
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Dec 8 04:30:44 2005 +0000
+
+ reapply recent changes with Visual Studio instead of direct text editing.
+
+commit 0fa8c59e646b214ea61c077f723e8ffe1cc06733
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 7 14:48:19 2005 +0000
+
+ Updates for GL_EXT_timer_query:
+ New GLint64EXT and GLuint64EXT types (use C99's long long types).
+ New glGetQueryObject[u]i64vEXT() functions.
+
+commit 98bebc7212a47f97ef6d15d4fca45a0fa608aea2
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Wed Dec 7 05:09:14 2005 +0000
+
+ Fix bugzilla 5253. Add {} around code in RENDER_SPAN macros when code includes a variable declaration.
+
+commit abccd5b729209086e77b2b2f53fb2cdfdcf75a8e
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Dec 6 22:26:21 2005 +0000
+
+ Make missing interpolator inputs fatal
+
+commit 9309ba78d176f58ef9c15b3ce11311b8ca69f164
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Dec 6 19:49:18 2005 +0000
+
+ Fix secondary color for VP's
+
+commit 9580179dfb42d5b81ff6ec9704b82a556c7f1229
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Dec 6 15:41:43 2005 +0000
+
+ C++ fixes, mostly casts (Stephane Conversy)
+
+commit d5179613d5302173471a6a910fa9ec235c9ff046
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Tue Dec 6 10:38:37 2005 +0000
+
+ Add support for GL_EXT_secondary_color. It looks like using
+ NEED_SECONDARY_COLOR to turn it off/on was what we wanted -- now results look
+ correct using seccolor on Savage IX and Savage4.
+
+commit b4ebb682027e42c1f6525d0f8cee9ccd41e15ca0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Dec 5 11:44:09 2005 +0000
+
+ Add guard before calling ctx->Driver.BindProgram
+
+commit f27c07c99e6d55be623710cf87b8995b8fb4af3f
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Mon Dec 5 09:30:58 2005 +0000
+
+ Fix AL8
+
+commit 923257fe07ff41132a22ebba0405646ee657b59f
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Mon Dec 5 01:14:13 2005 +0000
+
+ update r300 drm minimum to 20
+
+commit f93feb7aedc194f3fa04fa2216b2a215548b2e4e
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Sun Dec 4 00:37:35 2005 +0000
+
+ Fix r300 rectangular texture upload and swtcl coordinate fixing same as radeon
+ sw tcl
+
+commit eb06704a7c0027136d5ced74d67a83ddaf1f82aa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 2 23:57:37 2005 +0000
+
+ Added PCI_CHIP_RV410_5E4B (Adam Kirchhoff)
+
+commit 99f13343cf270d8dfde8445ae363d9b05256e05b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 2 19:41:43 2005 +0000
+
+ Fix two failures encountered when running out of memory during XImage
+ allocation.
+ Append \n to _mesa_warning() strings.
+
+commit 1b3128cc9a6b51874bf98871ec1b171049770d71
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 2 18:17:11 2005 +0000
+
+ Test sizeof(drm_handle_t) instead of LONG64 when returning handles
+
+commit 8716e7570d17c3e6bcf7e5c1d8aa3a0c5035a5ac
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 2 18:06:01 2005 +0000
+
+ fix _mesa_ffs() return, test for more platforms (Evgeny Kotsuba)
+
+commit 5abff7bc4da6eedbfe2a6e98f81f7b13ea90a27f
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Dec 2 00:25:06 2005 +0000
+
+ Fix build issues on x86-64 due to missing include path in
+ glapi_x86-64.S.
+
+ Bug: #5602
+
+commit c9515bf1aec3a3d934535a9d2893e90e8b903043
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Dec 1 14:24:37 2005 +0000
+
+ Call ProgramStringNotify after creating tnl programs.
+
+commit bfba2705b68432e4f44e424698366add262177fe
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Dec 1 12:54:21 2005 +0000
+
+ Remove VB->LastClipped
+
+commit dd4f0d1a93c2faf22a5f75aa54fddc45878082b2
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Dec 1 12:53:15 2005 +0000
+
+ Clean up clipping somewhat
+ - no need to update ClipMask on generated vertices
+ - remove the VB->LastClipped value
+
+ Line clipping algorithm changed and simplified somewhat. The old one
+ was based on the triangle routine and probably wouldn't have recognized
+ lines that were clipped down to nothing (ie culled, but not by a single
+ plane).
+
+commit f285f0d8f60adafdfba5c1f0563b81c68bd398d3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 1 01:00:13 2005 +0000
+
+ remove uintptr_t cast
+
+commit 6b25193b9266fd1759845d65dcf41f3d5e3a0d3c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 1 00:59:51 2005 +0000
+
+ try removing need for the uintptr_t casts
+
+commit 0e31e02aef4fe44b1196d0bf6e351250d9d8f68c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 1 00:25:00 2005 +0000
+
+ Added FinishRenderTexture() device driver function to indicate when
+ rendering to a texture has likely completed.
+ Fixed refcount issue in texture renderbuffer wrapper.
+
+commit cf2702e3dbf41939a6be0a09f58b9578da88e910
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 1 00:18:49 2005 +0000
+
+ added comment about glTexImage and renderbuffers
+
+commit 31e739a18931fa48454f172818245b0927c8910f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 1 00:15:41 2005 +0000
+
+ get depthBits from the current drawbuffer
+
+commit 94ae2b4f25ba142da6b7c16a376156473f0d43e7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 30 14:47:34 2005 +0000
+
+ fxt1_decode_1() should not be static
+
+commit 5910dfacf100f3748a732cc262a7913e2922016e
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Nov 30 00:06:48 2005 +0000
+
+ This is a major re-work of the __indirect_glInterleavedArrays routine. The
+ big, ugly, error prone switch-statement is replaced with a compact table.
+ I also added numerous comments, including a comment explaining how the
+ format parameter is validated.
+
+ Explicitly pass GL_FLOAT as the type in the cases where that is the only
+ possible value (e.g., everywhere except the call to glColorPointer).
+
+ Validate that stride is >= 0.
+
+ Tested with all modes (including the two error modes) of
+ progs/tests/interleave.c.
+
+ Bug: #5001, #5058
+ Reviewed by: Brian Paul
+
+commit 96f216565e09032021bafa7a805aa7707777fda1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 29 23:01:43 2005 +0000
+
+ assorted fixes for server-side direct rendering (bug 5199)
+
+commit 2d8eb9eaf3f39ce001609c39e155ac8ad44605f3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 29 22:41:23 2005 +0000
+
+ remove dri_client/ dir from tarball
+
+commit 126482a12f7053a96f3d667f696d057865376ef5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 29 22:37:19 2005 +0000
+
+ use the files from the drm tree/package
+
+commit 9790e641ef24859833c01a1fa7004a1c2b73ddd1
+Author: Michel Dänzer <michel@daenzer.net>
+Date: Tue Nov 29 13:13:34 2005 +0000
+
+ If the DDX driver didn't reserve any video RAM for textures, fall back to
+ using only GART memory for textures instead of segfaulting in the texture
+ management code. (Bug 5115)
+
+commit 58f45fa44deeb0277154a2f193d33824bb4c1c85
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 29 04:44:33 2005 +0000
+
+ added _EGLExtensions typedef
+
+commit 5285c32a17a8ec260dcb5d412d862e50bced0ce9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 29 04:43:37 2005 +0000
+
+ Put extension flags, string into separate struct.
+
+commit f576450cae38ee247134f2463e8dbdeecb70ecf4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 29 04:18:38 2005 +0000
+
+ clean up the drmGetMap/drmMap code
+
+commit 4683e8e95447f0b10d59099d6c578126a4212757
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 29 03:00:02 2005 +0000
+
+ apparently need to load colormap after setting the mode to make it work reliably
+
+commit 2b8e66d210c333c1f9bdb4e2de079798f1c810f1
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Nov 28 13:17:15 2005 +0000
+
+ Remove the many aliases for 'struct mem_block' in mm.h
+
+commit aae2b8b8eba46594d0915725c57f45d2965b15d6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Nov 28 12:05:29 2005 +0000
+
+ Correct author attribution of mm.h
+
+commit 4f12aa5a6a00a4c3f1e65f8661c657691cfae0e4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 28 00:04:35 2005 +0000
+
+ check for driver_modes == NULL. Don't need driver_modes for EGL driver
+
+commit a913d9f2f7991b4ae4ac7cc1264efbc11c16237b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 28 00:02:06 2005 +0000
+
+ rearrange some code to put in more logical order, misc clean-ups
+
+commit 3070a581fca624a953a969c91cee34a4f9302610
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 28 00:00:08 2005 +0000
+
+ Lots of fixes, clean-ups, new comments, etc.
+ To set the FBdev video mode, need to add a \n char to the string.
+
+commit d548bf41d3a0fe443494f94f745d1fe49e5e432c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Nov 27 23:57:19 2005 +0000
+
+ Redo _eglInitSurface() so it can be used with all surface types.
+ Redo _eglInitContext() to do error checking, attribute list parsing, etc.
+
+commit 49b2d2e90f524d8d404de4b618dcd6250a14667a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Nov 27 23:46:55 2005 +0000
+
+ include stdint.h for BSD
+
+commit 024b5896f09650a599fdf60aa49aaf348941c3e5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 25 17:07:10 2005 +0000
+
+ use ADD_POINTERS macro instead of (uintptr_t) cast
+
+commit 96bf6abb6615a9175f56a85322dd98160291274d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Nov 24 10:59:10 2005 +0000
+
+ Use _mesa_exec_free for fp->func.
+
+commit 2a76d952b8f08570dd628ebf3fff0841d3cb60be
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 24 04:06:51 2005 +0000
+
+ use new _egl_api struct
+
+commit 1ac1c1c4239eb99f4befa00c501904f6b74e9694
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 24 04:05:27 2005 +0000
+
+ use _egl_api struct, make some functions static
+
+commit daf585d0f00df1d4d2e8dc5b465dad60a4bf0122
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 24 04:02:16 2005 +0000
+
+ Move all the EGL API function pointers into a new _egl_api struct.
+
+commit d2c64e0b83b37c551c774191f1cd97891d24ac7d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 24 03:53:46 2005 +0000
+
+ report error token in message printed in _eglError()
+
+commit b1abf1ea8e4cad0f574b059149cb9761f12c4053
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 24 03:48:19 2005 +0000
+
+ change error test in _eglParseConfigAttribs()
+
+commit ff707ead2b6453d24942ce1a1b3a41ce281b5b50
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 24 03:41:56 2005 +0000
+
+ init attribs to EGL_DONT_CARE in _eglParseConfigAttribs()
+
+commit 181f2b92cb2544b5274d1a72894d019e85662b46
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Wed Nov 23 13:02:25 2005 +0000
+
+ Couple changes that were missed.
+
+commit 023c95481b37b6a1e0ddbef0b0f8e9f6e792ae3a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 23 01:45:25 2005 +0000
+
+ check/print EGL_SCREEN_BIT_MESA, fix eglGetDisplay() call
+
+commit 957b517c4f79b07888e40e74f9b6c96a2e2dc1c0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 23 01:44:38 2005 +0000
+
+ Choose the display mode / surface size in an intelligent way.
+ Fix // comments.
+ More error checking, etc.
+
+commit 39591da355dcbc759c391465ec6b6b56ca3fa12b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 23 01:42:40 2005 +0000
+
+ update some comments
+
+commit a3d2c69e6173432c1dc608a253c89deb6d2e116d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 23 01:39:56 2005 +0000
+
+ fixed wrong return value in radeonShowSurfaceMESA()
+
+commit b8829facc7c7c63a4fab46b1d81c9aefcfdf7b95
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 23 01:38:30 2005 +0000
+
+ change error message
+
+commit b711eb793b68bb0c4561e5e345b76453dfac286b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 23 01:38:12 2005 +0000
+
+ use _eglLog()
+
+commit f049ca4e33e0e5d06223a1c05815bc564b4bf06e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 23 01:37:30 2005 +0000
+
+ New _eglLog() function to replace fprintf/printf calls for debug/info.
+
+commit 9bcc9e91745a6125f31d127410ac38e99660da67
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 22 23:29:27 2005 +0000
+
+ reference bug 5131 in comment in _tnl_free_vertices()
+
+commit 286f3fbb3a4707c93e511b374381aa31faa2d191
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 22 23:27:27 2005 +0000
+
+ disable freeing of fp->func, see comment (bug 5131)
+
+commit e6e1c3fc11cb421ce3a703b81e8fe7057c5134a9
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Nov 22 12:20:03 2005 +0000
+
+ Use correct enums for program output variables. Fixes
+ fp/tri-depthwrite.
+
+commit ec1ffd9f2578ec2f289a9dbd8e08c8821bafb169
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Nov 22 12:12:17 2005 +0000
+
+ track state flags which might invalidate parameter lists
+
+commit 5a771857d9069773e5a6ede9694b0e5b8a03ff67
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Nov 22 10:58:05 2005 +0000
+
+ Make sure tnl->_DoVertexFog is kept uptodate. Fixes fog in i915
+ driver.
+
+commit bf44f6cfac73ee9c96f4753fb32f6e49aab13d77
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Mon Nov 21 11:39:49 2005 +0000
+
+ bit 31 of this inserts a nop after the current instruction
+
+commit 1ea61b5cad77e0fc13f651327def1cfcdbfa788d
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Mon Nov 21 11:35:36 2005 +0000
+
+ get rid of some of those unknowns figured out from reg dumper
+
+commit ec770b8c60dc439f5a73c46d2bd25249b1dc1a1c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Nov 20 17:57:22 2005 +0000
+
+ move _mesa_init_instruction() to program.c
+
+commit 1a61462318c00f61faaa88111248d89eceac1c77
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Nov 20 17:54:29 2005 +0000
+
+ s/Saturate/SaturateMode/
+
+commit e31ac052236ea615b4995f9ec301d8af4b864531
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Nov 20 17:52:40 2005 +0000
+
+ Make Saturate a 2-bit field again, renamed to SaturateMode with three
+ possible values: SATURATE_OFF, SATURATE_ZERO_ONE and SATURATE_PLUS_MINUS_ONE.
+
+commit 22db53577603afef8fdf62c324ff5977de76b9d8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 19 23:45:10 2005 +0000
+
+ additional clean-ups and improvements
+
+commit 55194df0350fe8bb1e684c1f9318b9a7e1a67c86
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 19 23:29:18 2005 +0000
+
+ remove incorrect cast
+
+commit 1353ebed811e69f38993c388caecc3c6a28e3030
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 19 23:28:55 2005 +0000
+
+ Saturate is a 1-bit boolean field
+
+commit 5d7b49f7e77f9e3303e0910834b6c014e7267289
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 19 23:12:20 2005 +0000
+
+ Bunch of little fixes:
+ Fix mem leaks in _mesa_TexEnvProgramCacheDestroy().
+ Check if ctx->Driver.BindProgram is non-null before calling.
+ s/unsigned/GLuint/
+ Use MAX_INSTRUCTIONS instead of magic 100, check program length after it's made.
+ Use _mesa_init_instruction() instead of _mesa_memset().
+
+commit 1ad3b7e28b726fdafed459b3c9a6adf6e314b391
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 19 23:09:14 2005 +0000
+
+ call gluDeleteQuadric() to fix mem leak
+
+commit 6f445a106186ac5e7e99cd55c1e27ac23b5053fd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 19 17:08:15 2005 +0000
+
+ in run_texnorm_stage() check if the texture unit is really enabled before trying to normalize the texcoords
+
+commit 41c8eabe0ff32e85c8abb4eee63e3215241d2ddb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 19 16:50:36 2005 +0000
+
+ update some vars
+
+commit 63d683091fe3a9600b65ae7ef3b554168b805406
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 19 16:43:04 2005 +0000
+
+ No longer derive 'ati_fragment_shader' from 'program' class. Only the
+ program->Id and program->RefCount fields were used and ATI fragment shaders
+ didn't have too much in common with ARB/NV vertex/fragment programs anyway.
+
+commit 430c469c5b5edd33fd29db9ab59ac1dccc02af21
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 19 15:44:53 2005 +0000
+
+ remove #include arbfragparse.h
+
+commit 47e511c36d5e24b1b82fc8fb47970c83f45cc148
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 19 15:42:39 2005 +0000
+
+ remove #include arbfragparse.h, s/PI/M_PI/
+
+commit 9fd133511c4843675d7bdba620bc0b1674a5c213
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 19 15:37:00 2005 +0000
+
+ removed arbfragparse.[ch] arbvertparse.[ch]
+
+commit 8c41a14c5ef0b8d2b0f1a1cd094f5abc41fa48f8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 19 15:36:28 2005 +0000
+
+ Remove the _mesa_parse_arb_vertex/fragment_program() functions into
+ arbprogparse.c and remove arbvertparse.[ch] and arbfragparse.[ch].
+ Clean up quite a bit of the arb parsing code.
+ Rewrite parser extension code to avoid a mess of string operations every
+ time the parser was used.
+
+commit 57548094215c8c2d869417c09c9a391f1b7e28f2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 19 14:57:47 2005 +0000
+
+ update comments, remove ^M chars
+
+commit 8c765ad31253e171375c24bb8d8cd418fe7b198c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 19 14:49:25 2005 +0000
+
+ move a bunch of gl2/shading language structs from mtypes.h to shaderobjects.h
+
+commit ddf61bfec94bcc869da0ccbee2effb4d05f906d9
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Fri Nov 18 20:53:50 2005 +0000
+
+ Try to detect when native support to given texture width is not available.
+
+commit f31448f3c86697275bffe5363d473dd128cbd2ac
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Fri Nov 18 18:05:19 2005 +0000
+
+ Fix typo causing secondary color not to work properly.
+
+commit 40ca5b455f0710db3e8ceb65c8d8d2f047672e4c
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Fri Nov 18 17:57:27 2005 +0000
+
+ Reduce stderr noise.
+
+commit 311bcf5090f8ba0cc09c66f2507dccdf6546ac3c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 18 02:24:14 2005 +0000
+
+ In _mesa_RenderbufferStorageEXT(), try to avoid needless reallocation.
+ Simplify _mesa_GetRenderbufferParameterivEXT() queries.
+
+commit 948ab5d8a926d55615a4bfbdfc1e9668095dc81c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 17 05:01:26 2005 +0000
+
+ move _mesa_update_state() calls before error tests that depend on framebuffer completeness
+
+commit 74e9a43a2ad2d683c21be8c6b874f5520dbfb5df
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 17 05:00:17 2005 +0000
+
+ optimize drawing GL_DEPTH_STENCIL pixels into a GL_DEPTH_STENCIL renderbuffer
+
+commit 5ba41dfa81d9c94a9f5a92fcf6d4138ba247f53f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 17 04:51:56 2005 +0000
+
+ s/MEMCPY/_mesa_memcpy/ and fix typo
+
+commit 11f179e01bf768efc40d68feec8a66a402ea0a00
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 17 04:51:08 2005 +0000
+
+ optimize case of reading GL_DEPTH_STENCIL pixels from GL_DEPTH_STENCIL renderbuffer
+
+commit f81c78f87dab6af7256dc87b3f74d81b411ed232
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 17 02:08:10 2005 +0000
+
+ delete frame/renderbuffers upon exit, more error checking
+
+commit 547113c16cbef5db7753f4835ed7b7dd72e77380
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 17 02:05:42 2005 +0000
+
+ improved error checking in error_check_format_type()
+
+commit 154cc16d08c5de175f8bdf83c685991a8b2cd71b
+Author: Thomas Hellström <thomas@tungstengraphics.com>
+Date: Wed Nov 16 19:24:00 2005 +0000
+
+ Fixes for x86_64 Unichrome.
+
+commit 0ba7be0a5028ad3e6547eb0351967eb6083b7900
+Author: Thomas Hellström <thomas@tungstengraphics.com>
+Date: Wed Nov 16 17:24:26 2005 +0000
+
+ Bring in last minute 6_4 branch changes to the unichrome driver
+ to the trunk.
+
+commit 32fe233d54360f66d67314f3b06a6847570a4bd9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 16 14:48:11 2005 +0000
+
+ added -ds option to test GL_EXT_packed_depth_stencil with framebuffer objects
+
+commit 0f29ef6092b77a5047c92520bb8e773ef44bca7c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 16 04:17:20 2005 +0000
+
+ additional comments about GL_DEPTH_STENCIL buffers
+
+commit 94f70fab64038ea2105098496de8e50223d69dab
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 16 04:12:08 2005 +0000
+
+ added depthstencil.[ch]
+
+commit 1a5f1bdb428ea3ded1e77796590014f89fe78f77
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 16 04:09:26 2005 +0000
+
+ Use new gl_framebuffer _Depth/_StencilBuffer fields instead of
+ Attachment[BUFFER_DEPTH/STENCIL].Renderbuffer. The former may be wrappers
+ around combined depth/stencil renderbuffers attached at the later points.
+
+commit 909e8a7abbce61de467e059d9be57a1f32a3d344
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 16 04:06:32 2005 +0000
+
+ added depthstencil.c
+
+commit 847160466cb7d1af55f294578c328b01fb3fd3d3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 16 04:05:54 2005 +0000
+
+ Support for combined depth/stencil renderbuffers (GL_EXT_packed_depth_stencil).
+ depthstencil.c provides wrappers for treating depth/stencil buffers either
+ as regular depth or stencil renderbuffers.
+
+commit 06185363ddcbd53a7b8b60350e71d9725a1632d5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 16 04:00:31 2005 +0000
+
+ added _mesa_new_depthstencil_renderbuffer() for combined depth/stencil buffers
+
+commit c731d6223c171ecc33a1ad6e5c109f506c8d4132
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 16 02:47:16 2005 +0000
+
+ Added error checking in _tnl_Begin to detect incomplete framebuffer.
+ Set new tnl->DiscardPrimitive field to true when such error is
+ detected to discard the glBegin/End primitive when flushing.
+ Added some new comments.
+
+commit 0ad64faec79770ad97044257ab1baf0675187aea
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 16 02:00:34 2005 +0000
+
+ change an assertion
+
+commit 738f501f731d9b03a1ff130381ea087c05a7ad40
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 16 01:58:19 2005 +0000
+
+ Replace GL_POLYGON+1 with PRIM_OUTSIDE_BEGIN_END
+
+commit 62620d349bd30fda460f32d3c6ccfa2a093eac90
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 16 01:11:06 2005 +0000
+
+ add GL_INVALID_FRAMEBUFFER_OPERATION_EXT in _mesa_error()
+
+commit daeb0056df58afaa1a96a1eaea699571205c8d4b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 15 15:08:03 2005 +0000
+
+ fix color interpolation problem reported on VMS
+
+commit 7edf68e08178106a37094e1aed2df1898f3027cd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 15 14:50:55 2005 +0000
+
+ check for ctx==NULL, bug 4087
+
+commit 1e134cf7e402a9c16064b19a0c72ed17cb2fc189
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 15 04:01:29 2005 +0000
+
+ Fix problem in stencil_and_ztest_span() when using h/w stencil buffer.
+ Fix a comment typo.
+ Remove some unneeded #includes.
+
+commit 5ef524cd01822dfaf645f3baa659f36b384e809e
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Nov 15 01:55:46 2005 +0000
+
+ Two subtle things missed on the previous commit.
+
+commit a163256cc22cc914c8b6e0b4832ffcf308d37c7d
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Nov 15 01:46:49 2005 +0000
+
+ Add the ability for interleave to test passing invalid format enums
+ and invalid stride values (see bugzilla #5058).
+
+commit e5700a1ba3e4fc91c253994818962c31b7259a1f
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Nov 14 23:31:05 2005 +0000
+
+ Simple test of glInterleavedArrays functionality.
+
+commit cb6b47b795e3865690defc809416e5b5b95f226a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 14 18:23:56 2005 +0000
+
+ remove unneeded RasterPosValid check
+
+commit 7b98b40e4756108dd096299297f03261ec9fd617
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 12 23:25:49 2005 +0000
+
+ Improve _mesa_print_program().
+ Added make_state_string() to produce a string from a GL state vector.
+
+commit b3c095f07425ddb9e15ca24929ddd610037ad2ca
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 12 23:24:32 2005 +0000
+
+ fix comment for TexSrcTarget
+
+commit 662fbf8a629d93ae210837fefc0765381bf0b708
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 12 18:58:12 2005 +0000
+
+ Added _mesa_light() helper function so we can avoid transforming then
+ un-transforming light positions and spot directions when popping light
+ state off the attribute stack.
+
+commit ba3da6154c324cc916845bc5de3de077d0b59ffc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 12 18:44:29 2005 +0000
+
+ Added OSMesaColorClamp(), bug 4917
+
+commit e3636b4114327411a3ff7590a61a652d10c18a34
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 12 17:59:05 2005 +0000
+
+ update an assertion
+
+commit bed8363aa6ab9f3dbd8052acc8c12d3de14f1399
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 12 17:56:18 2005 +0000
+
+ update some assertions
+
+commit de99760bf3511d05185799c4fb4347f9e5f420f4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 12 17:53:14 2005 +0000
+
+ Move stuff common to vertex/fragment_program into the base class, including:
+ Instructions, InputsRead, OutputsWritten, and Parameters.
+ Also, added debug functions: _mesa_print_instruction(),
+ _mesa_print_program_parameters() and revamp _mesa_print_program().
+
+commit 77ee31930a1b0cc7766939415f4f04ed6a1fa4ac
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 11 15:33:36 2005 +0000
+
+ Make _mesa_is_proxy_texture() non-static and use in a few more places.
+ Use COPY_4FV() where possible.
+ Added some comments, clean-ups.
+
+commit 0325bc6359833fc51444618d7b1e188fca693eba
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Nov 10 16:25:37 2005 +0000
+
+ Support for "fragment program to C" and TCC has been removed from the
+ source code, so there is no reason for this config to exist. This
+ fixes fdo bugzilla #5004.
+
+commit 418a7dbd75bf02731bce9d373d7816bab8f3730e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 10 16:22:56 2005 +0000
+
+ s/MAX_LIGHTS/ctx->Const.MaxLights/ and spruce up some comments
+
+commit 6297799fee30bb3a7e875c22d5f827e902f5ebbc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 10 16:19:44 2005 +0000
+
+ fix popping of GL_SPOT_DIRECTION (bug 5005)
+
+commit db40ebfbb7585be0ecee01273e843b8adf514fc2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 10 05:10:49 2005 +0000
+
+ remove -DMESA_DEBUG
+
+commit 1984aabe8362ee2b29711d2fa08e56e341eafddd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 10 05:10:25 2005 +0000
+
+ Move code to enable FP exceptions into debug.c (set MESA_DEBUG=fpexceptions).
+ Get rid of MESA_DEBUG preprocessor symbol, just use DEBUG instead.
+
+commit a8446f72f45008974e356d103c2961d334a825c3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 9 16:52:21 2005 +0000
+
+ fix popping of GL_EYE_PLANE state (bug 4996)
+
+commit a8717180d9805de3bf1ca30eff5487575fcfb384
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 9 16:30:50 2005 +0000
+
+ Bug 4996.
+ Replace use of FLOAT_TO_USHORT with either CLAMPED_FLOAT_TO_USHORT or
+ UNCLAMPED_FLOAT_TO_USHORT. Same should be done for UBYTE, UINT, etc.
+
+commit cfca72cfb19367d824a3254b40566b3fc01723ea
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 9 01:17:33 2005 +0000
+
+ use UNCLAMPED_FLOAT_TO_USHORT/UBYTE in clear_rgba_buffer() (bug #4992)
+
+commit 8850a7e20f77c1bd79863667b2f1c64c2d730f38
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 9 00:56:51 2005 +0000
+
+ Move COPY_FLOAT() macro down into glide driver.
+ Rewrite COPY_4FV() macro to not use COPY_FLOAT(), and use integer moves as
+ originally intended.
+
+commit 5374e4ba7eaca2ee0ca73863ffbe9e639d090e3e
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Nov 8 22:54:22 2005 +0000
+
+ At keithw's request, remove all traces of the "fragment program to C" and
+ TCC experiment.
+
+commit 4884db6eb29d30a16e5bf72da08ea6095ecd3339
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Nov 8 22:40:26 2005 +0000
+
+ This patch adds the missing NV_vertex_program2 and NV_vertex_program3
+ instructions to the various internal tables. It does not add support for
+ them to the parser nor does it add support for them to the program
+ interpreter.
+
+ It also corrects some errors in the comments in program_instruction.h.
+
+ This patch breaks the instruction union in t_vb_arbprogram.h. The opcode
+ field in that union was only 6 bits. When there were only 59+3 instructions
+ that worked fine. However, this patch increases the base instruction count
+ to 69. This requires 7 bits. The problem is that increasing the opcode
+ width to 7 bits increases the size of instruction::rsw to 33 bits. I've
+ increased the size of the union to 64-bit, but this is just a temporary hack
+ (and probably breaks the build on some systems).
+
+commit e1a5edf083efb065f97ec08592ae2c4ff6fc6662
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 8 14:53:24 2005 +0000
+
+ s/_mesa_debug_fp_inst/_mesa_print_program/
+
+commit bdd80bf8190ccc640359674d37efa1ed5e1b73e7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 8 14:52:51 2005 +0000
+
+ remove _mesa_debug_fp_inst()
+
+commit 0bffb1192a599b11af11604ad590f6a50c054bf1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 8 14:45:48 2005 +0000
+
+ some initial work on upcoming GL_EXT_framebuffer_blit extension
+
+commit 3e9c099088424c149931dcf546ae0a4d9ac2ae76
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 8 14:44:07 2005 +0000
+
+ remove a bunch of extension stuff that's in glxext.h
+
+commit 02df9e1ed49a8b86a4e285cc55efbeda4908a835
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 8 14:42:52 2005 +0000
+
+ minor work in _mesa_print_program()
+
+commit 832026f90643f9162daceeb1be7c9b2f2e7b68c0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 8 14:41:41 2005 +0000
+
+ remove unneeded #includes
+
+commit beff21e7bf75913f923cc2e207cbf9eddc41ba51
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 7 17:36:34 2005 +0000
+
+ remove unneeded #includes
+
+commit 189bbe0b8c5c9b499a4c5a07dd608e60ec210ca6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 7 16:03:46 2005 +0000
+
+ s/_mesa_debug_fp_inst/_mesa_print_program/
+
+commit c657d8e3e4c2b14fa419c0902413fb9219e34ea0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 5 20:18:51 2005 +0000
+
+ s/_mesa_debug_vp_inst/_mesa_print_program/
+
+commit 30d6a4bffa9a24b2080d145c8823bf6b1b8cbee7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 5 20:18:18 2005 +0000
+
+ consolidate vertex/fragment program printing into _mesa_print_program()
+
+commit 237dae74f72370523776a3c679b7170248326648
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 5 19:33:13 2005 +0000
+
+ use _mesa_program_file_string() and _mesa_opcode_string()
+
+commit bf41bc03c2b461e246658704ba0b38474312cac5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 5 19:32:36 2005 +0000
+
+ added _mesa_program_file_string()
+
+commit b7c87974b38dbe68c52e729f0692f3e4875c097c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 5 19:24:08 2005 +0000
+
+ Use _mesa_opcode_string()
+
+commit c289f483426c6c0b5dbc39f5bc01fdf0758a94f5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 5 19:16:19 2005 +0000
+
+ use _mesa_num_inst_src_regs() and _mesa_opcode_string()
+
+commit b88fb724e6782109b112173286afc21f96b9d926
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 5 19:15:27 2005 +0000
+
+ use _mesa_num_inst_src_regs() instead of nr_args()
+
+commit 1fcdaf1c3b0ce07ea6acfc051cf4924e36c92030
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 5 19:12:36 2005 +0000
+
+ added _mesa_num_inst_src_regs() and _mesa_opcode_string()
+
+commit 637c375ee2e6dd835ac857ac061c02214027559c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 5 17:23:45 2005 +0000
+
+ s/Negate/NegateBase/
+
+commit 9ba4ef3102196844d663b82565c87765fa240e16
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 5 17:18:09 2005 +0000
+
+ s/TexSrcIdx/TexSrcTarget/
+
+commit 7e807510d8c3e88ee7ae6c697393201cf08f992f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 5 17:10:45 2005 +0000
+
+ Unify vertex/fragment program instuctions.
+ Based on patch by Ian (#4967) but also unify instruction opcodes.
+
+commit 73347516be1a515380af1a71cbeaec51001a46dc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 5 17:08:50 2005 +0000
+
+ remove unneeded #includes
+
+commit 41c8b71871d68a4465812130fd2995b9099af838
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 5 17:07:00 2005 +0000
+
+ remove unneeded #include
+
+commit 47adbde5e55c929a61fd48f1a5d695d49e649e6a
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Sat Nov 5 14:49:26 2005 +0000
+
+ Fix broken build.
+
+commit 8894a55d5fe9449075e99b6b1f6c19921956b606
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 5 03:12:06 2005 +0000
+
+ added MESA_GLX_ALPHA_BITS env var
+
+commit fd4395b8d1d6f8f018e7e7c3dd0c52fe52ab2794
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 5 03:02:28 2005 +0000
+
+ don't need MAKE_SWIZZLE() macro
+
+commit 613e1ad5d517d9964bd9cf94daa931dda33113fe
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 5 02:15:21 2005 +0000
+
+ Replace parameter_type enum in program.[ch], use register_file enums instead.
+
+commit 4d0b7618cb3ada3b13e9e9b650ace34f5131e318
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 5 02:12:44 2005 +0000
+
+ minor improvements in _mesa_init_teximage_fields()
+
+commit 95ebb5f4856d1299591edc9f943d4faa3f1826c5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 4 16:52:41 2005 +0000
+
+ use VERT_RESULT_HPOS, VERT_BIT_POS tokens
+
+commit 2cb1cf484ad2f78b9c4ec9aea025b5afc9b4b43a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 4 16:47:22 2005 +0000
+
+ better ffs() function (bug 4956)
+
+commit 8ff68b2bf3d67f84f52d92686143175cb5446f76
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 4 16:43:28 2005 +0000
+
+ just pass ctx to do_ndc_cliptest() rather than stuffing it in the arb_vp_machine struct
+
+commit c12ee99d119debe1a421a77c1cc6d99d958ae94b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 4 16:41:06 2005 +0000
+
+ MESA_GLX_ALPHA_BITS env var to force visual with alpha channel
+
+commit f805cdfedff6e502ab30285d6cd50a9db828376b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 4 00:58:17 2005 +0000
+
+ remove unneeded HIDDEN definition (bug 4956)
+
+commit 84f3ff91d967887545363cc826b118120a135a58
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 4 00:52:08 2005 +0000
+
+ fix MinGW problems (bug 4956)
+
+commit d78834b3061c8e43dde583363e0896cb554f2fcc
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Thu Nov 3 20:49:07 2005 +0000
+
+ s/dri.sourceforge.net/dri.freedesktop.org/
+
+commit 72030e0d91cc505db1eb7d39d5240b2f562cf710
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 3 03:30:34 2005 +0000
+
+ Streamline code generation by using a fixed size instruction buffer in
+ arb_program struct.
+
+commit ccfe3d4683bb6c97ffacd67267aa002dcb060433
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 3 02:35:15 2005 +0000
+
+ use WRITEMASK_* tokens
+
+commit 7ae9713a609531164b3c7690e0d5b993a00eaa77
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 3 02:28:47 2005 +0000
+
+ s/15/VERT_RESULT_MAX/
+
+commit 1624162b0ca78fe2174418dd303c51d8eb80ff25
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 3 02:26:47 2005 +0000
+
+ added a const, clean-up
+
+commit 45cd2f9305fb2c001044e3696e90a45e58c2eb62
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 3 02:25:10 2005 +0000
+
+ fix typo, minor clean-ups
+
+commit bcf4ae7816bcb4c9f7f39c9a8117c1ad440564e9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 2 21:01:26 2005 +0000
+
+ added osdemos/ dir to DEMO_FILES
+
+commit 60031ace7504a78af75284d66a2d0b4ed9a92b73
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 2 20:59:37 2005 +0000
+
+ implement USE_MGL_NAMESPACE for x86-64 dispatch code (Mark Bolstad)
+
+commit 90ebb581e60d29bd565ad4d8a49e642de7b0ce5d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 2 18:06:12 2005 +0000
+
+ Rename FRAG_OUTPUT_* tokens to FRAG_RESULT_* to match vertex program convention
+
+commit 5a02209cd2a634406fd54808ef19baf5f2c098a1
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Wed Nov 2 15:24:14 2005 +0000
+
+ Committing in .
+
+ Updated OpenVMS compile support (define tnl for include files)
+ Modified Files:
+ Mesa/src/mesa/drivers/common/descrip.mms
+ ----------------------------------------------------------------------
+
+commit eda460035e3733b42280905ce162c9b003120e1b
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Wed Nov 2 14:12:52 2005 +0000
+
+ Use ctx->VertexProgram._Current .
+
+commit 26b1c97a9dfba05334ecbe7ac312c7ee5b3a554e
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Wed Nov 2 14:07:03 2005 +0000
+
+ Remove some ghost code and adjust things a bit.
+
+commit e4894177ba725c85f75bfe87bdc03d2c94b0941b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Nov 2 12:58:38 2005 +0000
+
+ More useful ARL test
+
+commit 3a5626cb846ad767fe1c38fe35ebe4df3e3a0454
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Wed Nov 2 01:15:07 2005 +0000
+
+ First step of Radeon DRI unification:
+ - Makes all three drivers use the same screen structure and setup code, with a
+ few ifdefs for the separate compilation to deal with symbols not being
+ available to all drivers and the fact that we have no mechanism for dealing
+ with different config options for different chip families in the same driver.
+ These issues should be dealt with later.
+ - Introduces IS_R[123]00_CLASS(radeonScreenPtr) macro for code for taking
+ different paths depending on the general class of chipset.
+ - Adds many new R300-class PCI IDs, though not all those listed in
+ radeon_driver.c.
+
+commit a9b927cb6e5b4a98cf324faa2b0d61de1ce1a090
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Nov 1 20:29:59 2005 +0000
+
+ add an arl test
+
+commit a546abc8da5e03d4caf4c044726ba364d3688b32
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Nov 1 18:12:58 2005 +0000
+
+ Fix broken tnl stage.
+
+commit f4fbda35b001aac22342596f4beafd9539f2ebb9
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Nov 1 17:29:46 2005 +0000
+
+ Add a NotifyInputChanges() callback so that drivers (particularly tnl
+ drivers) can track when the sizes or strides of incoming VB->AttribPtr
+ arrays have changed.
+
+commit c3626a91cee5034528f3f92c802a8e5947ea5f92
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Nov 1 17:25:49 2005 +0000
+
+ Several fp and vp tweaks:
+
+ - Renumber VERT_RESULT_* values so that they match the
+ numbers of the corresponding FRAG_ATTRIB_ values.
+
+ - Add ctx->VertexProgram._Current and FragmentProgram._Current
+ values which point to either the current client-supplied
+ program if enabled, or otherwise to the current mesa-internal
+ program. Thus this program is always the correct one for
+ the current state, providing that the mesa flags to turn on
+ automatic generation are enabled.
+
+ - Add callbacks to ctx->Driver.BindProgram() in texenvprogram.c
+ and t_vp_build.c so that the driver knows when the generated
+ program changes. This is cleaner than trying to code all the
+ possible _NEW_* flags into the driver, and more precise as well.
+
+ - Add a UsesKill flag to identify fragment programs with that
+ instruction, as these can require special treatment.
+
+ - Move the FRAG_OUTPUT values to mtypes.h, near to similar defn's.
+
+commit 6aa6d440d9d312cb984020e746aa80c3dbf6ea2c
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Nov 1 16:59:13 2005 +0000
+
+ Re-enable fallbacks.
+
+commit e7d6bb9dc41433803bcaad671ea2cf3bf628e0be
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Nov 1 15:52:08 2005 +0000
+
+ -Fix first frame -bug
+ -Use 16-bit elts in vtxfmt_a path if possible
+ -Optimize VSF param uploading
+ -return in r300DepthMask looks suspicious, use r300Enable instead
+ -Dont use r300ResetHwState in invalidate state(disabled, missing hooks, possible instabilities)
+
+commit 3cf156df2b5561d52f3bdddf857fcc176e4134b5
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Nov 1 15:43:06 2005 +0000
+
+ Fix segmentation fault in _tnl_ProgramCacheDestroy().
+
+commit da70bc6baa3801be7d0210adcbac500d50a2204c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Nov 1 12:22:48 2005 +0000
+
+ Make colors match the fp tests (really)
+
+commit a605d9c3de0e3ed91156f34cc713d4fc1ee0e587
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Nov 1 12:20:13 2005 +0000
+
+ Make colors match the fp tests
+
+commit d9f362a66733cf016a54bae0a97805223d930062
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Nov 1 06:28:39 2005 +0000
+
+ standalone tests for vp instructions
+
+commit 05051037101dfa053798cf5ad91d1975fd1aa6a7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 1 04:36:33 2005 +0000
+
+ Re-org and clean-up of vertx/fragment program limits (instructions,
+ temporaries, parameters, etc).
+ glGetProgramivARB() now returns all the right things.
+ Updated i915 and r300 code to initialize program native limits and
+ current program's native instruction/temporary/etc counts.
+
+commit ffec105109f5b16bfe8282bd477d4aa32b550015
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 31 21:52:56 2005 +0000
+
+ fix problems found with gcc 2.96 (bug 4934)
+
+commit dcf4c17fb1624af47181c63af4c3ad29f919c17a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 31 19:46:55 2005 +0000
+
+ check swrast->_FogEnabled instead of ctx->Fog.Enabled
+
+commit 821b3dd562c0ec4560e50f29084c32653cf18c9d
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Mon Oct 31 14:37:33 2005 +0000
+
+ Need more than 200 instructions.
+
+commit 37f2eaa316d507b729ca392b651ae18ef92efcac
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Mon Oct 31 14:34:32 2005 +0000
+
+ Improve tnl program searching performance.
+
+commit 18e7c5c5fea090bd84e15f7c0fb1c56b99155987
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 30 21:46:00 2005 +0000
+
+ Simplify parse_attrib_binding().
+ Now only use VERT_ATTRIB_* and FRAG_ATTRIB_* tokens instead of
+ hard-coded numbers.
+ Note: previous check-in did similarly for output register parsing.
+
+commit 7aebaf3debc6482b49faee5ed38418ad3d35fc30
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 30 21:23:23 2005 +0000
+
+ Lots of clean-up in arb program parser.
+ Use new _mesa_init_fp/vp_instruction() function to initialize instructions.
+
+commit 094a1ddf2498d598da5abaef6d6ed53ec2dbe6dc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 30 16:52:02 2005 +0000
+
+ need to use absolute value for RSQ
+
+commit 5d04101d18270eec1692e691b1a4321a0ee3fb10
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 29 18:29:54 2005 +0000
+
+ added some assertions to catch unexpected swizzle values in cvp_emit_arg(), currently fails sometimes
+
+commit 32df89e12d0e812ee633c082565daed2b04bd3c9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 29 18:26:43 2005 +0000
+
+ Use MAKE_SWIZZLE4() macro in a few more places.
+ Clean up the parse_extended_swizzle_mask() and parse_swizzle_mask() functions.
+
+commit 5b3cf5af74fe459ea6ebda4dec803b26b40c5b1f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 29 18:18:46 2005 +0000
+
+ reduced swizzle comment
+
+commit 1a979736a6524a2987fcd6a8b1eda10016db96df
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 29 17:07:09 2005 +0000
+
+ Free old parameter list before assigning new one. FIxes memory leak.
+
+commit 5244fc6d60a365f04b85cbd035abf9bee93b3f4f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 29 16:51:34 2005 +0000
+
+ added warning about use of REG_SCRATCH
+
+commit 3c2f8b22b9b87ccc06e33ecc088703c68d8230d8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 29 16:17:01 2005 +0000
+
+ clean-up comments
+
+commit a2e696e521f3829d4de935f332b607bc32b4e879
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 29 16:15:47 2005 +0000
+
+ s/lenght/length/
+
+commit af13891dbdfd7ec46f85238f83eacaf6d1aeb2eb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 29 16:05:18 2005 +0000
+
+ fix LIT bug
+
+commit 4174f79b1916746c826352875b27f897484885e7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 29 16:03:19 2005 +0000
+
+ fix a few bugs in SWZ execution
+
+commit db02ab767f4b030ae2668c609ed147b9f464ee82
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 29 15:56:53 2005 +0000
+
+ fix errors in RoughApproxPower(), do_LIT(), _tnl_program_string()
+
+commit 4570364097eb27266eefaa4b2ffdd5dd22325805
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 29 15:52:31 2005 +0000
+
+ If parsing a program fails, don't change the vertex/fragment program object.
+ Specifically, don't attach a dummy program.
+ This change also fixes an occasional segfault.
+ Some code clean-ups. Use GLboolean instead of GLuint to return pass/fail.
+
+commit aba878d8c2d0d75b0762f7d8ae191fa438fc7d6a
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Sat Oct 29 00:27:01 2005 +0000
+
+ Bug #4901: Correct secondary color emission when lighting is turned off, tested
+ with seccolor on rv200 and r200.
+
+ Submitted by: sroland
+
+commit d7d41ceeb030d43974b713f8f0af44e972fa4d94
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Oct 28 18:41:03 2005 +0000
+
+ Add new test "texfilt". This test is a cousin to texwrap. Instead of
+ testing various texture wrap modes, this test examines various texture
+ filter modes, including anisotropic.
+
+ Add CFLAGS to a couple places in Makefile so that 32-bit builds on
+ 64-bit archs will work correctly.
+
+commit 3eec2901db92dd91d96203ab515296eaf4b32927
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 28 15:40:08 2005 +0000
+
+ Keith's fixes for RSW and XPD (need temporaries)
+
+commit 86734ddae4b093782005499197aae312b5e0edee
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 28 15:22:28 2005 +0000
+
+ include tnl.h to silence warning
+
+commit b3c98e6205c52616ea60e27f2b4537e24d8beac4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 28 14:41:06 2005 +0000
+
+ Added assert that result != arg0 in do_RSW. This currently fails and needs fixing.
+
+commit b5ee368baf6472a79d250f0be418200760f4b43d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 28 14:32:49 2005 +0000
+
+ TNL module needs to implement ctx->Driver.ProgramStringNotify() function
+ so that calls to glProgramStringARB() to specify a new program causes the
+ TNL-attached data to get recomputed.
+
+commit f51bf9e23c4b41ada5edeae91b31f64319534e48
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 28 13:12:28 2005 +0000
+
+ add newline at end of file
+
+commit 8cb29230388c679371183838fa7d82377a9eb493
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 28 13:11:00 2005 +0000
+
+ don't use -Wmissing-prototypes for C++ code
+
+commit ca33e211659b36449a5b91e47328ab5554a4c665
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 28 13:09:23 2005 +0000
+
+ silence a bunch of compiler warnings
+
+commit 5222c58a68d51da1bc7d552b74b5cf1a2f667ccd
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Fri Oct 28 12:43:41 2005 +0000
+
+ Silence gcc-4 warnings.
+
+commit dc44372ba7ce4d068d87e983f37a2e31a61f8997
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Fri Oct 28 12:14:58 2005 +0000
+
+ Fix texture mixup when two or more contexts.
+
+commit eb171b0c10ece5e2a4800cadf8680c24e0d92cda
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Fri Oct 28 12:05:25 2005 +0000
+
+ fix missing commit for span changes
+
+commit 3b3adf3daa9f92cb6904b0327a713baf2d529fc7
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Fri Oct 28 12:00:09 2005 +0000
+
+ fix up radeon span functions using latest r200 code from Brian,
+ tested with reflect on 32-bit.. not sure why depthHasSurface isn't needed
+
+commit a4af1119f5fb9322e1ddaa4808fed7579a758e4f
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Fri Oct 28 09:28:32 2005 +0000
+
+ Compiled arrays for vtxfmt_a path.
+
+commit 9c8f649930a523e8160d36d3971cd4505e73c103
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Fri Oct 28 07:00:41 2005 +0000
+
+ GC a bit of dead code I noticed while looking at texwrap.
+
+commit c57be49099428d6868b9f9215c6b2af9bcfd5a41
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Fri Oct 28 06:15:11 2005 +0000
+
+ Correct the ordering of the blend constant color.
+
+commit 4b9f1308e55003308a744ad15eed6cab676e4785
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Thu Oct 27 21:21:05 2005 +0000
+
+ Add support for GL_EXT_stencil_wrap, from hearing that the windows drivers did
+ it, and guessing that the two remaining entries in the 3-bit values were the
+ new funcs. Tested with modified stencilwrap test. Also, remove the commented
+ fallback stuff -- more modification to stencilwrap suggests that those issues
+ were just from span readback, not stencil implementation.
+
+commit 215c4c3a9c989b3d0e7090177ab2fc3eeab0ddaa
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Thu Oct 27 20:26:24 2005 +0000
+
+ Bug #1028: Add hardware-accelerated stencil support to r128. Testing with
+ stencilwrap reported many issues with various modes. Some of these were
+ complicated by the fact that spans are broken (Bug #1615), but some appear to be
+ real bugs. However, while spans remain broken, I found that visual results were
+ better by avoiding fallbacks rather than avoiding just a broken stencil
+ implementation. Note that this required changing the depth spans at 24+8bpp
+ into read-modify-write cycles. It would be nicer as a single write with
+ a mask, but the kernel span blits turn off masking.
+
+ Reviewed by: ajax
+
+commit 512c994b92126a7575bb3cc327da40710b43f52c
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Thu Oct 27 19:59:41 2005 +0000
+
+ Bug #4900: Fix the non-fogcoord fog test on r100 (and rv200) at tcl_mode=1 by
+ flipping the signs on two factors. While this contradicts the DDK, it matches
+ what r200 does, and it fixes the test.
+
+commit 170a61ec00b9eb1980511b793051e238e47ca2a1
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Thu Oct 27 06:01:50 2005 +0000
+
+ Add support for HW stencil spans, mirroring the depth spans support. Used for
+ Rage 128 stencil support.
+
+commit 2d0c92d81b5dab2215180d635b2ec8773820e3b7
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Thu Oct 27 01:46:39 2005 +0000
+
+ Bump driver date for recent extension adds.
+
+commit 03833ba2ca979ab05027155c788ce643e64dd4ea
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Wed Oct 26 18:02:37 2005 +0000
+
+ Cover my arse.
+
+commit d240b29b95573e37baa627650661a2ced109c68d
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Wed Oct 26 17:55:28 2005 +0000
+
+ Reduce stderr noise and fix some compiler warnings.
+
+commit 22605caea8af801185b7f4a64e3bb078b8712732
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Wed Oct 26 17:04:15 2005 +0000
+
+ Remove few outdated r200 files.
+
+commit 4dc3249f0d800f9e36ee11ec5c00351e67dbeee3
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Wed Oct 26 16:42:06 2005 +0000
+
+ Sync with my local tree.
+ Changes to current operation:
+ -Elts are no longer converted to 16-bit format
+ -Cube maps
+
+commit 23f076ca67912c1a8ddd7a43f8a3e34c4bc5128a
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Wed Oct 26 13:35:41 2005 +0000
+
+ Fix invalid vsf temp count for rv350.
+
+commit 5f79025e0d3a416dd8428f75612da93283775778
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Wed Oct 26 10:46:49 2005 +0000
+
+ Fix the RGB order of the specular color emit, and turn GL_EXT_secondary_color
+ back on. Tested using seccolor modified to use the blue channel instead of
+ green, since green stays in the same place across RGB/BGR mistakes. Also hook
+ in UpdateSpecular on COLOR_EXT change, which might have resulted in missing
+ statechanges before.
+
+commit f8a5898ca025ef48510d67f00f56fe4b2b7ef64d
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Wed Oct 26 10:11:34 2005 +0000
+
+ Add support for GL_EXT_fog_coord, tested using tests/fog.c. (Also, matches the
+ output from indirect rendering).
+
+commit 9eaed1178d4cc6dff85a4f5d3ad93dff0051763e
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Wed Oct 26 09:53:38 2005 +0000
+
+ Add built programs to .cvsignore.
+
+commit 896735e41296aef29278a9319ce53aa4485cf324
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Wed Oct 26 09:48:03 2005 +0000
+
+ Add a fog mode (normal and fog_coord, leaner/exp/exp2 mode) testing program I
+ wrote for sis, which has also exposed a few bugs elsewhere.
+
+commit 2330ed08c3d5f5fe3c02634d54e606501dff4862
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Wed Oct 26 09:37:53 2005 +0000
+
+ Add disabled support for GL_EXT_fog_coord. While it seems correct to me, it's
+ not respecting the coords (or perhaps interpreting them differently?) in my
+ testing. However, in the process it led to a fix of a secondary color handling
+ issue where it would be taken from the wrong offset, I believe, based off of
+ reading the r200 driver. Also add a minor tweak to save time in the
+ fog-but-not-specular case.
+
+commit a09d002bb5b9610681e10e3e3b09e5da5b971eaa
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Tue Oct 25 21:10:28 2005 +0000
+
+ Move the front.offset setting above a check to shortcut reallocating buffers if
+ width and height stayed the same. Rely on front.offset pointing at the origin
+ in the window (rather than the origin of the front buffer), and fix the coords
+ in swapbuffers, which were wrong. This is different from other drivers because
+ we've got a back buffer with a 0,0 origin at the window's origin, which makes it
+ more convenient to have the front buffer match it.
+
+commit f1113fa99d8767e58d223b5bbdd7e19e9e89613f
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Tue Oct 25 20:37:01 2005 +0000
+
+ Initial add of some (disabled) SiS 6326 drawing code integrated from Alan Cox's
+ last drop I saw, which was in turn based on a code drop of mine. Texturing,
+ culling, and several extensions are unimplemented, and some features could
+ probably be improved. It's untested, but there don't appear to be regressions on
+ the 300-series code, so I'd like to get these bits in now so that it can be
+ worked on as not a huge diff.
+
+commit 7e4cc1c29fc1fa32ba6bad4f827e357b9aa79f3a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 24 23:33:27 2005 +0000
+
+ updates from 6.4 branch
+
+commit 005070a62a679dfb7a5676f5645458a3183ca434
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Mon Oct 24 22:38:11 2005 +0000
+
+ Cut a bunch of code by not trying to precompute the blit commands and instead
+ just do it per blit. No noticable performance difference (or behavior
+ difference, in my tests), and a significant difference in sanity.
+
+commit 7040b7ad88b5f8ced609340f48ad6de1b1abc9cc
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Mon Oct 24 22:23:52 2005 +0000
+
+ In the last commit I added in a fatal error on unknown base formats so I
+ wouldn't get confused when adding support for new formats. However, it resulted
+ in dying in texenv instead of drawing something undefined for GL_DECAL. Do what
+ GLcore apparently does and just pass the fragment through.
+
+commit f33beed330c22b56bb97af73f56d83c34e985cb6
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Mon Oct 24 22:01:40 2005 +0000
+
+ Fix and enable GL_MESA_ycbcr_texture. Looks fine with yuvrect. I'm slightly
+ concerned that TEXEL_YUV422 looks like TEXEL_YVU422 and TEXEL_VUY422 looks like
+ TEXEL_VYU422 in yuvrect, but I'm happy enough for now.
+
+commit 81d3bf58ff2b143b7df16e5d7af8672b33626e40
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Mon Oct 24 21:30:06 2005 +0000
+
+ Add support for GL_EXT_secondary_color, tested with seccolor test.
+
+commit 310f1551b45b190b52ee4c7a7a2beda4becfcf3f
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Mon Oct 24 21:19:06 2005 +0000
+
+ Turn off the AGP dispatch path yet again, as it seems to be broken (found with
+ tuxracer and the upcoming support for secondary color).
+
+commit 32340aea1308153dad5c105fc0748aea1e4c37ee
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 24 19:28:36 2005 +0000
+
+ fragment program writing to result.depth.z was broken
+
+commit c92adf468235a8ebe17b09a1d85d08944ea4786b
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Mon Oct 24 17:42:55 2005 +0000
+
+ Add RV350 AQ chip. (popolon at popolon dot org)
+
+commit 414b742c97301e3894278ef9e821ebb1100d22f8
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Mon Oct 24 10:24:23 2005 +0000
+
+ Since we memcpy texture data synchronously to the card, idle the engine before
+ we start copying. I haven't seen it go wrong before, but I'm pretty sure this
+ fix is correct.
+
+commit 60b639b9a6df6e53997d3c8acdb768229b654a5f
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Mon Oct 24 09:59:43 2005 +0000
+
+ - Add a few more hardware internal formats that are supported. Some remaining
+ ones require custom texstore, so they aren't done yet.
+ - Add YCBCR support commented out, since the yuvsquare test didn't work with
+ just the bits I've added.
+ - Add the no-compression GL_ARB_texture_compression support.
+ - Add the driconf texture depth option and try to respect it.
+
+commit 971bdc193cb4ce07f4ca20bac13276095b5f0b83
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Mon Oct 24 09:02:07 2005 +0000
+
+ Fix the GL_BLEND case (and remove the fallback associated with it) by converting
+ the float values to bytes before packing them. Tested with texenv.
+
+commit 9e87119d873f3cde8b2b4d73155c315059a36ed1
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Mon Oct 24 08:27:30 2005 +0000
+
+ Fix texenv by moving a misplaced check for being in fallback (should cover only
+ render state, not texture state). While here, move a SIS_FIREVERTICES to a more
+ appropriate location, though it was harmless.
+
+commit 9192ab3f5d90d27d852fbd23dc44f5062e399f62
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Mon Oct 24 08:02:44 2005 +0000
+
+ Add support for GL_ARB_texture_border_clamp and GL_ARB_texture_mirrored_repeat,
+ tested using texwrap, fixing the sourcing of border constant values (use the
+ bytes, not the floats!). Remove the fallback on GL_CLAMP_TO_EDGE, which acts
+ properly, and add a note to GL_CLAMP about nonconformance (whcih is what the
+ fallback for CLAMP_TO_EDGE was probably targeting).
+
+commit 6efd595bf5a18186ffe159566710ba037442967e
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Mon Oct 24 07:21:56 2005 +0000
+
+ Fix a typo in a fallback string.
+
+commit dc793d4e9a71159da13b9230abde344309924287
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Mon Oct 24 06:40:56 2005 +0000
+
+ Add support for GL_EXT_stencil_wrap by guessing that the skip of two values in
+ the register header was meaningful. It turns out those were the proper values
+ for the plain INCR/DECR ops, while what we were using as INCR/DECR were the
+ _WRAP versions. Tested with stencil_wrap (didn't expose normal/_WRAP swapping)
+ and stencilwrap (exposed it nicely) tests. Props to idr for poking me about
+ adding this.
+
+commit 3265585b151d44c825fb7a82b16b076fb7fdca77
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Sat Oct 22 02:03:13 2005 +0000
+
+ disable yuv textures (GL_MESA_ycbcr_texture) on rv250 (hw bug, #2078). Change the initialization to fail if an unknown pci id is detected, instead of accepting all values which are not r100-based radeons.
+
+commit 1c04be573e49e26220cf467cc7d26564e12ff260
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Sat Oct 22 01:41:40 2005 +0000
+
+ Fix FreeBSD build by building libGL in the order desired, and doing a fix to my
+ mklib changes.
+
+commit 52f686c48080cec9a26aa23d16bc14bd3d302d70
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 21 21:39:10 2005 +0000
+
+ fix GLX server resize/crash when resizing windows
+
+commit 7d3b26022b75608e2c9d83c14157b89ef39cbd43
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 21 18:35:35 2005 +0000
+
+ check span.y >=0 (bug 4842)
+
+commit e516654dec111d8d781013ee537d5b37042fa933
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Oct 21 18:34:22 2005 +0000
+
+ new depth tests
+
+commit f28cbb6a7f3132ba7455b158bcb8269b51d74daa
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Oct 21 18:33:53 2005 +0000
+
+ simplify, remove sgi messages
+
+commit 32a7ab2197fc6df066b87940cc36cc537e44319c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 21 15:39:42 2005 +0000
+
+ Darwin version fix (SF bug 1334274)
+
+commit 54cfe69436c7b4749b01c5f8b74ba3d790ea2657
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 21 15:22:36 2005 +0000
+
+ fix broken SWZ instruction
+
+commit b3f2e1503530383de98dfa8e35c24c7b38a37b63
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 21 14:22:38 2005 +0000
+
+ fix broken KIL
+
+commit 3a09ea919c59cbaab59648570249a46bba00acfd
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Oct 21 10:27:37 2005 +0000
+
+ better looking tests
+
+commit 2ea6b800c0371a75ef4f6d22c7a83110c2eeaa43
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Oct 21 10:07:52 2005 +0000
+
+ Make test visible
+
+commit 8975cbb36b972f10f2360ad2957d1973f6fd9110
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Oct 21 08:34:06 2005 +0000
+
+ Better looking test.
+
+commit eedc45709f080bd0600e6cfaa20b66057d5d89e8
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Fri Oct 21 06:20:27 2005 +0000
+
+ add the tile bits for offset, and unk bit 31 of size
+
+commit f468dfde17e055f713bd8df14c34e2229c268255
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 20 22:51:50 2005 +0000
+
+ restore FASTCALL stuff
+
+commit adfd5510c0ec2100c37b80b1db1cff76f349a1af
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 20 22:04:01 2005 +0000
+
+ fix bad loops in TransposeMatrix[fd]()
+
+commit a90909e89234b95e44a2cd08181167ba234b5fac
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Oct 20 21:40:23 2005 +0000
+
+ A bunch of little tests which exercise each ARB_fp instruction plus
+ a couple of other interesting cases.
+
+commit f344be793c7322bc43d17c85e90a875383d8ade8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 20 21:29:32 2005 +0000
+
+ added mm.c mm.h execmem.c
+
+commit 255afe4abda548ca6273846fae2153ef892ef0df
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 20 21:25:41 2005 +0000
+
+ fix another renderbuffer wrapping bug
+
+commit c8f86105d0df2ef14c9dd9fc193f8cd40b58fc00
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 20 21:12:35 2005 +0000
+
+ Disable the FASTCALL optimization because it still breaks server-side GLX.
+
+commit 6f980dbf21893af4e7413dbb0373fb79761294c7
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Thu Oct 20 20:11:46 2005 +0000
+
+ Bump driver dates for the crasher fixes yesterday.
+
+commit b50a51118ce474a679b0f9e026557ef1b83cd344
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Thu Oct 20 13:06:03 2005 +0000
+
+ descrip.mms syntax correction
+
+commit 806e25a5d9c92d3b8e13d8ba3bc90fd3094803f3
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Thu Oct 20 06:06:18 2005 +0000
+
+ fixes for r300_tex.c from Aapo Tahkola
+
+commit 301c3dcb6cbbbf29e05e2b8497d676ccee75368f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 19 20:26:13 2005 +0000
+
+ s/glut_gz2/glut_bz2/
+
+commit 2420318cd9d42e1dda43e9e6ffb0accae1ff6b02
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Wed Oct 19 03:23:29 2005 +0000
+
+ Make SiS a little more like other drivers: Add SIS_DEBUG (only option being
+ "fall" so far) and make the fallback_force option be no_rast like other drivers.
+ Incidentally, makes no_rast not crash (though it still fails to render).
+
+commit e0cb784e03530d2c806e74b3ac9b66021b5791ce
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Wed Oct 19 03:07:05 2005 +0000
+
+ Remove some long-dead code.
+
+commit d76c7d7d3e37698a17274d9916c04c7c8d42f2df
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Wed Oct 19 02:46:42 2005 +0000
+
+ Fix a missed merge for idr's dispatch changes: failure to do driInitExtensions
+ in __driCreateNewScreen_20050727 resulted in crashing in dispatch.
+
+commit dc4070c7870b1bc9ed1c39908177c1e8d983b111
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 19 01:28:14 2005 +0000
+
+ updated for new mm.c, execmem.c files
+
+commit ca2db58166400acdd1c4f8209d1bb3fb3caf4f7a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 19 01:26:48 2005 +0000
+
+ s/memcpy/_mesa_memcpy/, s/FREE/_mesa_free/
+
+commit deadd47aab68d4914d70b19fa08f834623f2e0a7
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Wed Oct 19 00:53:05 2005 +0000
+
+ Bug #4615: Fix the SiS driver for the renderbuffer changes. Previously, all
+ drirenderbuffers pointed at screen offset 0 and NULL. Instead, set up the front
+ buffer at startup but leave the others for later, since sis allocates them on
+ demand rather than using the static method of the other non-sis-descendent
+ drivers. Some basic apps work, but fallbacks may be broken still.
+
+commit bf3f0bcf802af20b2d95890ad4dcc56c98289b10
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Tue Oct 18 23:48:59 2005 +0000
+
+ Fix a missed merge for idr's dispatch changes: failure to do driInitExtensions
+ in __driCreateNewScreen_20050727 resulted in crashing in dispatch. Rendering
+ remains broken.
+
+commit b83435f53b8dd487d48f1133118f69be87023aef
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Tue Oct 18 23:36:40 2005 +0000
+
+ Attempt to fix libGL on FreeBSD, where the library was being built without any
+ dependencies, breaking builds of third-party software.
+
+commit d99c37bca6c53535e748804b15ab5b614aa0da48
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 18 15:02:45 2005 +0000
+
+ move _mesa_exec_malloc/free() up near other malloc/free prototypes
+
+commit 1c236fd5c734b7388d7625ce8c3d4b2d6da9fcfb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 18 15:01:19 2005 +0000
+
+ Lots of clean-ups. Replace __inline__ with INLINE macro. Use the
+ _mesa_calloc(), _mesa_free() functions. Clean-up formatting, doxygen-style
+ comments.
+
+commit 005469005df6ba5f80e382d5371c6d069c27738b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Oct 18 13:29:59 2005 +0000
+
+ Add _mesa_exec_malloc() and _mesa_exec_free() for allocating
+ executable memory. Based on Thomas Hellstrom's patch.
+ TODO: glapi.c also needs this, but cannot access this code.
+
+commit 05e1a49ab4b0d34aba4bdf55ed7ffe5b6d4411f8
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Tue Oct 18 13:09:53 2005 +0000
+
+ on r200, don't emit fog coords when fog isn't actually enabled. Fix bug with vtxfmt not causing a fallback when fog coords are active.
+
+commit 730200303daabd603cd25b4c35099f2e6e5f9f8f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 17 22:38:44 2005 +0000
+
+ added some header files to DRI_FILES (Donnie Berkholz)
+
+commit 2d61d301171620efe624d83a5457f4094eb49cba
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Mon Oct 17 00:54:12 2005 +0000
+
+ add GL_EXT_fog_coord support to radeon driver. No vtxfmt code (just uses fallback) yet. May cause a tcl fallback if fog coord is used together with separate specular lighting. Fog factors are precomputed and then submitted instead of the raw coords (chip limitation, same as on r200).
+
+commit dd5a86339f8b10f72c8a0e15c14463af3e0f717d
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Sun Oct 16 22:45:59 2005 +0000
+
+ fix some obvious typos in radeon_reg.h (only currently unused bits affected)
+
+commit 247f3b3e81fffa86c50531070fab573e26ffb452
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Sat Oct 15 23:45:53 2005 +0000
+
+ enable cube maps on radeon (#2241 on bugzilla). No vtxfmt code yet (just generates vfmt fallback). Code by Andreas Stenglein, some small adjustments by me.
+
+commit ccf13781319b5b9d7ba306728f74b4ae2d099ad0
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Sat Oct 15 01:07:59 2005 +0000
+
+ fix two bugs wrt calculating max possible texture sizes for texture rectangles/cube maps.
+
+commit 30daa7529331057ecb470efb500152e9c4aa1ae5
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Thu Oct 13 14:30:20 2005 +0000
+
+ enable 3rd texture unit on radeon (default still 2 enabled units). Disable some multitexcoord codegen stuff noone understands to make it work. Replace most code testing explicitly for unit 0 and 1 with loops instead of adding test for unit 2, smaller/more readable code at the cost of maybe some slight performance hit. (Code provided by Andreas Stenglein, some adjustments by me.)
+
+commit ed2f8635f006886a16da07c77bcab8094229042c
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Thu Oct 13 00:35:51 2005 +0000
+
+ make sure texture matrix is updated often enough with texture rectangles
+
+commit 6ff023fe3a3fab14c33d20218155f82e1ed76b7e
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Thu Oct 13 00:33:46 2005 +0000
+
+ fix potential bug when emitting elts with lots of components
+
+commit 96e1ccedec19a3314b43461387c8c391a43ba78b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 12 19:46:48 2005 +0000
+
+ remove unused _mesa_log2() (bug 4468)
+
+commit c81de36223e17c0a95b9651dab26857e1549739f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 12 19:46:29 2005 +0000
+
+ change includes (bug 4468)
+
+commit f525d3e139529d3b7b3f18e24489ae4e7ecd83cc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 12 19:37:38 2005 +0000
+
+ fix GLAPI/extern problem (bug 4757)
+
+commit d084c3d4dcabf58cef921b50ab60d1287563cd43
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Tue Oct 11 17:55:54 2005 +0000
+
+ Minor driver cleanup. Remove unnecessery/unneded radeon/r200AllocDmaRegionVerts function. No longer compile the radeon_compat stuff which was for drm 1.1 compatibility presumably but unused since about forever into the driver.
+
+commit 44b1bd7597bea6d48d26551c2678de65ed5c3648
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Oct 11 16:56:39 2005 +0000
+
+ ifdef out some code to make glapi.c linkable in libglx.so (on the
+ server). This isn't strictly needed yet, but it doesn't hurt anything
+ either. However, the patches for fd.o bug #2996 require this to build.
+
+commit e7325294d0d35b34d1869f7c4e97a9be76faf181
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 11 01:21:40 2005 +0000
+
+ check for PIXMAP in clip routine (SF bug 1323215)
+
+commit ac04a4fa7fb2c705d518cb3e0c12a2df8fc05485
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 10 18:39:34 2005 +0000
+
+ fixed constant fogcoord bug (#4729)
+
+commit 8d29d463a376d1fa7d48d50ef07bfb8682bb5444
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Oct 10 17:11:02 2005 +0000
+
+ Add 'get' data for glGetFramebufferAttachmentParameterivEXT enums.
+
+ Remove an extra closing parenthesis in the Linux version of the SWAP_32 macro.
+
+commit 1c0f11046a6dff2568bf42f213983df583b765b9
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Sat Oct 8 23:41:20 2005 +0000
+
+ do not set format of the incoming vertices needed for fog_coord in the generic state functions. This is done in the vtxfmt/hwtcl/swtcl pathes respectively.
+
+commit 30f2d6f0cb34744c323c301573684b918332437f
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Sat Oct 8 23:36:35 2005 +0000
+
+ remove code dealing with drm versions older than 1.3. The driver requires (and requests) 1.3 since quite some time already to work at all.
+
+commit b4269c07f8fe51912a01a36ff6239f1565d0639c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 8 21:36:38 2005 +0000
+
+ change test for presence of accum buffer
+
+commit cf085db28a128ff25c3d9cdbc5277ca1fd2eff48
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 8 14:42:51 2005 +0000
+
+ Query/print GL_RED/GREEN/BLUE/ALPHA_BITS
+
+commit 474f28e57ca750ca39d7f684904a3c0e69a03f62
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 8 14:41:17 2005 +0000
+
+ Fix some issues with state updates and renderbuffers. Querying GL_RED_BITS,
+ etc. after calling glRenderBufferStorageEXT gave undefined results.
+
+commit 81a22ef53953d950052c7bd5a282e96107a25f24
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 7 17:18:51 2005 +0000
+
+ MATH_DEBUG changes from bug #4468.
+
+commit f2802c40fff686301a7ff99f0a0b1c57d5cf5625
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Oct 7 09:55:26 2005 +0000
+
+ Populate arb_fp_instruction negate field correctly.
+
+commit dfe7aedf845ce9117065c6cee2146df7eee1c0fa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 7 03:56:29 2005 +0000
+
+ Fix a number of point size attenuation problems.
+ Move size clamping into the rasterization function.
+
+commit 9dd973ec3b2b53f4b95d2ba0a746a0e52533becf
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Wed Oct 5 22:40:09 2005 +0000
+
+ fix problems with some texgen modes by putting the chip into LOCAL_VIEWER mode for lighting (potentially causes slight misrenderings with the specular components of lights if the light model is not set for local viewer).
+
+commit 24a44d74b6e9880dfc019bd1cfa9ce0351377c85
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Wed Oct 5 20:28:31 2005 +0000
+
+ reverse accidentally commited part of last commit (makes it compile again...).
+
+commit 44dace86eaf9eded8e6465adfadf6345658686dd
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Wed Oct 5 16:15:16 2005 +0000
+
+ enable point sizes larger than 1 (for aliased points only) by using the hw point sprite primitive.
+
+commit 26f69d87a4e6f4d39ce10864e9e70689646155ed
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 5 13:36:05 2005 +0000
+
+ fix byteswapping bug in _mesa_texstore_ycbcr() (Benjamin Herrenschmidt)
+
+commit ea20c324ae1dd6360ec88f83f95087ebbb79bd0d
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Wed Oct 5 13:09:15 2005 +0000
+
+ fix typo in radeon_maos_arrays.c from last commit (code currently unused, that path is compile-tested only).
+
+commit 11f763f5057490477a2771febe8923682f6a5ada
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Wed Oct 5 12:38:07 2005 +0000
+
+ remove unneeded parameter from radeonUploadTexMatrix.
+
+commit a3c8de2fa7fba22647e5b3e8cfb05c85d1a5a980
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Wed Oct 5 11:42:44 2005 +0000
+
+ Remove the tcl fallback for texture rectangle (by manipulating the texture matrix) (tested with texrect). Enable texgen for r/q coordinates (tested with projtex). Fix projected texcoords when an app uses TexCoord3x and the texture matrix to save on vertex size (fixes ut2k3 shadow projectors in tcl mode). From texgenmix, all cases with all texgen or no texgen work, with the exception of texgen enabled for s/t only, this one works with hw tcl, but not with vtxfmt (suspect issues with vtxfmt), the mixed cases do not work (which is expected, and should be rare in practice), with the exception of the first one which hits a tcl fallback.
+
+commit 06f606ce5761e673fca3f6b1f7dd40dace8a9906
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 5 04:07:50 2005 +0000
+
+ Remove _IsPowerOfTwo from gl_texture_object, not really needed.
+
+commit 198a88923c185bb0530787cd80cb9e1d700f2c91
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 5 02:11:15 2005 +0000
+
+ s/IntFormat/InternalFormat/ and s/Format/_BaseFormat/ for gl_color_table.
+
+commit 8184ec9fb6b08c6c8a0398040ae5d89dd0b0cfb8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 5 02:08:53 2005 +0000
+
+ added GL_INVALID_FRAMEBUFFER_OPERATION_EXT to gluErrorString()
+
+commit a9fc8ba756dd25a07dc19058fe60f65bda82a055
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 5 01:48:07 2005 +0000
+
+ In gl_texture_image replace IntFormat with InternalFormat and Format with
+ _BaseFormat to be consistant with gl_renderbuffer.
+
+commit 91802fdf730451aaa0246f514f6778ffaef92c50
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 4 16:01:02 2005 +0000
+
+ check if deleting currently bound frame/renderbuffer object
+
+commit 7edf1e80bd7ae3436e352cdb2ab1203afc0d9d33
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 4 15:16:27 2005 +0000
+
+ glBindTexture changes, new assertions
+
+commit 9e920fb93cc0c388a9fc727b515dedcf1d2f5d9b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 4 15:01:51 2005 +0000
+
+ fix glIsRender/FramebufferEXT() assertions
+
+commit bc6cced479b0ea854acff9f5fec253d462774290
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 4 15:01:27 2005 +0000
+
+ fix behaviour of glIsFrame/Renderbuffer()
+
+commit 14c38b8f4f1f3ffaf955fb4de4cb36a5f10d2bb2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 4 14:49:30 2005 +0000
+
+ Use Visual.depthBits rather than Renderbuffer::DepthBits for depth buffer
+ operations.
+
+commit eb063cfa386ccf64e01be2fc6e6a44f702d19da5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 4 14:48:24 2005 +0000
+
+ change initialization of renderbuffer DepthBits
+
+commit 199ef86b5e6354098bc800ffb56a6cab3e9a99a1
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Mon Oct 3 20:02:07 2005 +0000
+
+ Bug #1155: Define IEEE_ONE on Super-H as well.
+
+commit a6296dd2c3cd40fc58fb1cd52b299fdf6c37f8c2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 3 16:11:47 2005 +0000
+
+ disable a warning
+
+commit 071b30aba139aca90c920d6d9b502630c94355d7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 3 16:11:35 2005 +0000
+
+ added a few calls to _mesa_update_framebuffer_visual()
+
+commit b0e7d850d1471fd8e5aa99a67ec7ea9721b692ad
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 3 16:11:21 2005 +0000
+
+ finish up some missing code
+
+commit 8ef0519bbe0318920170e82b6b52853920a897c4
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Oct 3 15:05:40 2005 +0000
+
+ Change the 'count' for COMPRESSED_TEXTURE_FORMATS from "?" to "-1". This
+ signals to the script (glX_proto_size.py) that generates the server-side
+ size functions that a handcoded query is needed to determine the data size.
+
+ Also do s/FOG_COORD_SOURCE/FOG_COORD_SRC/.
+
+ When initializing the count in glx_enum::__init__, cast the local property
+ to int. Thanks to Python's dynamic typing, if this isn't done the type of
+ stored count will be a string instead of an int.
+
+commit 9a3a1497e5d709015486d0c7801688812ca446da
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Oct 3 14:59:26 2005 +0000
+
+ Remove the non-existant --get-alias-set option from the help text.
+
+ Update printPixelFunction (which is only used to generate code for the
+ server-side) to use the correct method for obtaining the dimensions of the
+ image parameter to a function.
+
+ Only use byteswap.h when building generated code on Linux. Elsewhere use
+ the (horrible!) macros from X11/misc.h.
+
+ Make sure that enums associated with the generic "Get" function get applied
+ to GetIntegerv, GetBooleanv, GetFloatv, and GetDoublev.
+
+commit 1fc4b21eb240cbb883b4fe734eaf113c17771e6b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 1 16:09:45 2005 +0000
+
+ check for GL_DEPTH_STENCIL_EXT
+
+commit 2794507289afcbfd6e2dd4f01b9fb404c507a587
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 1 16:09:26 2005 +0000
+
+ plug in _mesa_texstore_z24_s8()
+
+commit 184a9707227ab024d65d352fe7c09b3e287348e9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 1 16:08:27 2005 +0000
+
+ added _mesa_texstore_z24_s8()
+
+commit b0a0ca8bd9edc13e495a39709cc28953dd3fbd9c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 1 16:06:25 2005 +0000
+
+ GL_EXT_packed_depth_stencil changes
+
+commit 0899afae33a29d1f6d15ebc96dc6ea8a8371cdb6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 1 16:05:30 2005 +0000
+
+ additional error checking for GL_EXT_packed_depth_stencil
+
+commit cef88397a6fbd56a370fc0edb3b9763aa5162fd0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 1 16:04:38 2005 +0000
+
+ fix an assertion
+
+commit 7f78c93015fc65b351e765c2900ccd2f83d6d34e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 1 16:04:09 2005 +0000
+
+ simplify the read_depth_stencil_pixels() function
+
+commit 9758ef9e7bcd5fe85f0920d872c378897f546249
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 1 16:03:30 2005 +0000
+
+ fix broken z24_s8 fetcher
+
+commit 252194d74ef08b940395a2eb1c05415dfd0d6a91
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 1 16:03:00 2005 +0000
+
+ updated comment
+
+commit 31340f6645b34314469894c02b1df88886811e85
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 1 16:02:38 2005 +0000
+
+ added _mesa_pack_depth_stencil_span()
+
+commit 3d61c2e778e5592a52eef21fab6cc301b54f449e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 1 16:02:11 2005 +0000
+
+ move around some error checking
+
+commit d0529b67f48507ce52ce06305fb2673f5beb2851
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 30 15:03:33 2005 +0000
+
+ use fmod() to prevent overflow of angle variable
+
+commit 76560af99d36bbccb7e390c622ee83a9ec05a775
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 30 03:01:30 2005 +0000
+
+ implemented fallbacks for GL_EXT_packed_depth_stencil
+
+commit 82b29819a9ede846ad5c37ff70b71d45cf72357a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 30 03:01:11 2005 +0000
+
+ minor improvements
+
+commit f493a04be0e004bb07f84b2e28124ed8cb6a9b38
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 30 03:00:03 2005 +0000
+
+ added _swrast_get_row()
+
+commit 1ad6e0809069833f17578a9751ac8408362d410c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 29 18:46:27 2005 +0000
+
+ call glFinish if drawing to front buffer
+
+commit b2404b132dd7fc1058851d56414f9c1be17f0a2f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 29 04:28:21 2005 +0000
+
+ implement CopyPixels for GL_DEPTH_STENCIL_EXT
+
+commit 3fd819aef8139761ce86cb8d763de83a11c81b33
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 29 04:27:47 2005 +0000
+
+ added _swrast_put_row()
+
+commit 8d0edf015d82a705796389890f6fe9b32e19414c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 29 03:20:15 2005 +0000
+
+ Rewrite much of the pixel zoom code.
+ Zoomed DrawPixels of packed depth/stencil works now.
+
+commit 5208867f12abd4b13c517e8cd006afde6fadbed8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 28 16:20:34 2005 +0000
+
+ add error checks for framebuffer completeness
+
+commit d95000da2fdad78f25618fe9703f23806587b65a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 28 15:46:46 2005 +0000
+
+ check for framebuffer completeness, code clean-up
+
+commit f7a8d8ffbb1f08ed4ffef9759c98d8d7e13b4ef0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 28 14:20:06 2005 +0000
+
+ updated assertions (see bug 4590)
+
+commit 1ad7b99925e044f82e635f746c1ef2df77f69ac9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 28 02:29:50 2005 +0000
+
+ Initial work for GL_EXT_packed_depth_stencil extension.
+ glReadPixels done, glDrawPixels mostly done.
+
+commit b955474093445d6e5b8c5d3cfa69e2752a01bcf8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 28 02:28:42 2005 +0000
+
+ change initialization of rb->DepthBits
+
+commit 1b5d3d647e3abe89b11f6ac9ba66327050d0750e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 28 02:28:00 2005 +0000
+
+ added GL_EXT_packed_depth_stencil
+
+commit ac3ec5096a760daabb1f2be7400bd9723e5058a5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 28 02:27:22 2005 +0000
+
+ added _mesa_scale_and_bias_depth()
+
+commit dbd0fa920effdceacec34fa0d5ae9ab7a2f09614
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 27 16:10:49 2005 +0000
+
+ tweak glAccum error checking
+
+commit 78b3b667b5fc7dbd7f723682f8ffaa0091286abb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 27 15:52:27 2005 +0000
+
+ generate GL_INVALID_OPERATION in glAccum if read/draw buffers aren't the same
+
+commit 99796464c5f0fdb463c31a0e99b0896089b8bd80
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 27 01:25:24 2005 +0000
+
+ Lift all the format/type error checking out of the _swrast_Draw/Read/CopyPixels
+ functions into the _mesa_Draw/Read/CopyPixels functions.
+
+commit 70c3bebcde336c4cc282bc5dbd33d4180b92771c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 26 23:06:01 2005 +0000
+
+ glDraw/CopyPixels of stencil data didn't obey the stencil write mask. Fixed.
+
+commit afb9fb09655a87e1b78807b0c24c794e03f3632b
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Mon Sep 26 20:31:40 2005 +0000
+
+ remove identity check for texgen planes (which was just plain wrong).
+
+commit 84c9e671edcc1358307879491bddef9f7d96f14b
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Mon Sep 26 17:11:16 2005 +0000
+
+ fix projective texturing for (swtcl) texture rectangles. Fix wrong argument order for texgen/texmat matrix multiplication.
+
+commit ad271b8c98021dc82c0714d768a6642aee10794f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 26 00:38:00 2005 +0000
+
+ Added XMesaDrawable to xmesa_renderbuffer. Use it in a few places instead
+ of the XMesaPixmap field to avoid some X server-side issues with casting.
+
+commit 4aeaff2ae7f4a4b209e0d0ee2081b592951b7054
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Sun Sep 25 10:20:38 2005 +0000
+
+ Add support for texture compression to R300 driver
+
+ This isn't perfect, texcmp still has some issues with the small textures..
+ but its a good start
+
+commit 310a10b0f29d4aba36242b9d90f19d016505eddb
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Sun Sep 25 09:45:42 2005 +0000
+
+ add link for radeon_egl.c
+
+commit d997b904338bdef2269894d9d2f0cf2e0ed5c209
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Fri Sep 23 07:03:53 2005 +0000
+
+ Committing in .
+
+ 1) change compilation on VMS to use IEEE floating points
+
+ 2) one more problem with _mesa_sprintf solved
+
+ Modified Files:
+ Mesa/docs/README.VMS Mesa/progs/demos/descrip.mms
+ Mesa/progs/tests/descrip.mms Mesa/progs/util/descrip.mms
+ Mesa/progs/xdemos/descrip.mms Mesa/src/glu/mesa/descrip.mms
+ Mesa/src/glu/sgi/descrip.mms Mesa/src/glut/glx/descrip.mms
+ Mesa/src/mesa/array_cache/descrip.mms
+ Mesa/src/mesa/drivers/common/descrip.mms
+ Mesa/src/mesa/drivers/osmesa/descrip.mms
+ Mesa/src/mesa/drivers/x11/descrip.mms
+ Mesa/src/mesa/glapi/descrip.mms Mesa/src/mesa/main/descrip.mms
+ Mesa/src/mesa/main/texobj.c Mesa/src/mesa/math/descrip.mms
+ Mesa/src/mesa/shader/descrip.mms
+ Mesa/src/mesa/shader/grammar/descrip.mms
+ Mesa/src/mesa/shader/slang/descrip.mms
+ Mesa/src/mesa/swrast/descrip.mms
+ Mesa/src/mesa/swrast_setup/descrip.mms
+ Mesa/src/mesa/tnl/descrip.mms
+ ----------------------------------------------------------------------
+
+commit 79b4dbc4961a80e6a88235ae7455ffdcec23e982
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 23 03:24:27 2005 +0000
+
+ remove printf
+
+commit 048b13df65f222b10564091df3dfa2b6cab77631
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 23 03:22:20 2005 +0000
+
+ Replace gl_framebuffer's _ColorReadBufferMask with _ColorReadBufferIndex,
+ Streamline the _mesa_update_framebuffer() function a bit.
+
+commit d5861c06f2b7c4039e410a30df828c9b43958566
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 23 02:16:49 2005 +0000
+
+ fix clipped glReadPixels bug
+
+commit 36d9ee1828f031951a8d6579f89a8711ff142078
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 23 01:42:23 2005 +0000
+
+ added XOR line optimization
+
+commit 6d3637849bccf39843638d4c52d40bc4b9ddcdfc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 23 01:40:59 2005 +0000
+
+ Added a fast xor_line() function. Uses XDrawLine with GXxor mode.
+ Only used for front-buffer window/pixmap rendering, GL_FLAT shade model,
+ no Z test or other fragment operations.
+
+commit 0efc17c105f8239bf4fb128d570f2d343c45d430
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 23 01:20:09 2005 +0000
+
+ Add Wrapper field to gl_renderbuffer. Used for wrapping one renderbuffer
+ with another, such as wrapping a hardware/win-sys RGB renderbuffer with a
+ software-based alpha buffer.
+ Previous alpha buffer wrapping was conflicting with the X driver's
+ xmesa_renderbuffer structure containment/inheritance. That lead to
+ memory corruption.
+
+commit e5fce1694cdfca615022bf7b987835384902aceb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 23 01:17:07 2005 +0000
+
+ improve the test for using software alpha buffer
+
+commit 7b01068a231f7a1c21b58f5191a6f5f11df79d3f
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Sep 22 21:25:31 2005 +0000
+
+ Enable GL_ARB_texture_mirrored_repeat on Savage4. Refactor the code that
+ sets the texture wrap mode and texture filter mode for Savage4 to the new
+ functions savage4_set_wrap_mode and savage4_set_filter_mode.
+
+ This was tested with texwrap and tunnel.
+
+commit 676d0accf5cc43e86057b14cfb8bba9316932582
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 22 05:19:57 2005 +0000
+
+ Replace gl_renderbuffer.ComponentSizes[] with separate RedBits, GreenBits,
+ BlueBits, etc fields.
+
+commit f1e2826856d7df00d0e98106b93ddab51b26ff04
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 22 05:00:12 2005 +0000
+
+ When testing visual attributes, use the Draw/Read buffer, not the context.
+
+commit 4fd11949f03039a95dbdbfdae7865615d5a727d6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 22 04:58:42 2005 +0000
+
+ fix a debug message
+
+commit 63016507d7916231d139d7e3816b7c1b3809fa87
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 22 04:52:45 2005 +0000
+
+ changed a renderbuffer check
+
+commit 7d39e8297676841dbc9d096e62752ee4c5e04783
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 21 21:19:22 2005 +0000
+
+ s/GL_DEPTH_BITS/GL_TEXTURE_DEPTH_SIZE_ARB/ in _mesa_GetTexLevelParameteriv()
+
+commit 8bdc1ae358986aec81d4e6e3930a85f11680b73b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 21 18:16:33 2005 +0000
+
+ add missing scale factor in _swrast_read_depth_span_float()
+
+commit 978ef2bb6d9ca4996a24f95820a699e22c84f70b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 21 03:35:08 2005 +0000
+
+ Remove ACCUM_BITS.
+
+commit 3e37bafab0a339021354b9c78f983d05d433d735
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 21 02:47:32 2005 +0000
+
+ replace GLdepth with GLuint and remove GLdepth
+
+commit 4092fbd55ac92a59d09d5167ced328683bed049c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 21 02:46:17 2005 +0000
+
+ replace GLdepth with GLuint
+
+commit 5bfb9356d6df4c8b1e177ebda01631d99355ba25
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 20 21:04:02 2005 +0000
+
+ s/programss/programs/
+
+commit 543469501790a02988e3fcf5ab51dbd74ae2da88
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 20 15:51:44 2005 +0000
+
+ initial check-in
+
+commit 9e4e3adcf82a72e9a74f21b492fbf5552ebfd47f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 20 04:47:34 2005 +0000
+
+ remove 31-bit Z buffer work-around
+
+commit 8fadf8f900d4f979af50a86f98a3577946d93fd1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 20 04:47:04 2005 +0000
+
+ change mask[] test in put_mono_row_uint()
+
+commit 14570e6d7ccf43b228d09d6fc01a45b2ba31947b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 20 04:45:26 2005 +0000
+
+ compute z[i] as GLuint
+
+commit f39569f5509f9298cb5374b9758296d9149add9b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 20 04:36:50 2005 +0000
+
+ some improvements to _swrast_clear_depth_buffer()
+
+commit 000abaa12de276d757d59d65ca0d99574fc0f2a6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 20 04:35:40 2005 +0000
+
+ remove unneeded sizeof(GLdepth) test
+
+commit 7265556b9aa0367e9b5031e7cb15ed2a5d73866d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 20 04:34:29 2005 +0000
+
+ Change zLeft and zval to GLuint. Seems to fix 32-bit Z computation
+
+commit 22607975b49633a38ddf65127e26a30e9522d825
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 20 04:31:24 2005 +0000
+
+ replace STENCIL_BITS with stencilMax value
+
+commit 3211b28ee633707218fe7eb2bdfc604c10fd8d29
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 20 04:25:03 2005 +0000
+
+ remove STENCIL_MAX
+
+commit cd81190d5c5f7064e0013eb313f2ad5da863fad7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 20 02:44:40 2005 +0000
+
+ change location of ffs() code for windows
+
+commit 17d6fff30c6696b1624e1c019d31f22332c74622
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 19 21:16:29 2005 +0000
+
+ init a=0
+
+commit c650bb0b7d2f8b1c9823001ab2012c4cbecfbc6c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 19 20:32:21 2005 +0000
+
+ s/GLchan/GLubyte/, fix error string, add comment
+
+commit 02237f447f99478fe8d593ee645ade05d05f24f4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 19 20:29:34 2005 +0000
+
+ updated comment
+
+commit b3aefd1cfb6aacd1695c52911dd39da50d893ece
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 19 20:12:32 2005 +0000
+
+ additional wrapper updates, bug 4468
+
+commit a01cb26a90aaa8f631c94d741617715dff89168c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 19 17:17:58 2005 +0000
+
+ s/unsigned long/drm_handle_t/ to get compilation of fb driver to work
+
+commit 26bb7bc0253cf557cbb98f1f0ecaa28e7067e6f5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 19 17:17:18 2005 +0000
+
+ compilation fixes, don't know if runtime works
+
+commit 67074332728acba86da7630353673b458713bb8a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 16 21:15:27 2005 +0000
+
+ Fix potential segfault when trying to read pixels outside renderbuffer bounds.
+ Use _swrast_get_values() which does clipping.
+
+commit 82e314252f0b706c3ae1c748e9d64d8fa58812db
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 16 21:10:27 2005 +0000
+
+ remove unused _swrast_read_depth_span()
+
+commit f2ea634c0c6ff7079f3634adc85f130859d1e288
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 16 21:07:48 2005 +0000
+
+ lots of little clean-ups, improvements
+
+commit 6ae87475397d7ffabbc12d1441ecbf22ba0efff0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 16 21:06:57 2005 +0000
+
+ change some comments
+
+commit 62a2f8cdd60df797daad106d51c3bcc56943c236
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 16 21:06:33 2005 +0000
+
+ pass mask=NULL to write all pixels in clear_ci_buffer_with_masking()
+
+commit db64b60225c77fc3da0ff5a96bd239e1a11a9758
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 16 18:18:47 2005 +0000
+
+ remove unused ctx var
+
+commit aa2069586d434dd0487b0daa2b583efe801a0d51
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 16 18:14:24 2005 +0000
+
+ use mesa import wrappers, bug 4468
+
+commit 3cc67cb8cd1302c20218dda70599523102a29e10
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 16 04:18:09 2005 +0000
+
+ alphabetize
+
+commit aa8abf8081023c00469b6c88760ed0291033eb6e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 16 04:16:48 2005 +0000
+
+ Rework the texture filtering functions a bit.
+ No need to pass the texture unit number as an argument.
+
+commit 792a1bcbe4c4b4f5f96d6ac017fcb5376900ea75
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 16 01:42:07 2005 +0000
+
+ replace a couple macros with inlined functions
+
+commit 8885b077ed7180e93a002d93864a8ff7b0bb81f3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 16 01:41:03 2005 +0000
+
+ more GLuint->GLbitfield changes
+
+commit e00ac11d4dd05c56584622dc2707bbdcfe4b2707
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 15 05:00:45 2005 +0000
+
+ Replace GLuint with GLbitfield where appropriate. Also replace GLuint
+ with GLboolean in a few places.
+
+commit 0f540f4b0468f581f63fb0b6347fe66251fa545a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 15 03:58:52 2005 +0000
+
+ Code clean-ups, reorg.
+
+commit e64874ac2dc14f68ee93b86aeba1d3c3c78befe0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 15 01:58:39 2005 +0000
+
+ silence warning
+
+commit 63b5b8eaff13b671fc1c749741f57fd7ed5890f8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 15 01:55:40 2005 +0000
+
+ Remove a bunch texel fetch functions that can be handled by the new
+ adaptor functions.
+
+commit 9a22b555cf533f7801f79af7f568453860784166
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 15 01:08:24 2005 +0000
+
+ updated comments
+
+commit da9f65268db5d0468f91860d9ef9f244587c7f48
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 15 01:06:19 2005 +0000
+
+ New set_fetch_functions() to set a gl_texture_image's FetchTexel functions
+ from the gl_texture_format's functions.
+ Added "adaptor" functions to allow sampling a float-valued texture with
+ GLchans and vice versa. This will allow trimming down the number of
+ texture fetch routines.
+
+commit 7fb9352fe4889b8069349bcac39df2aaef144278
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 15 01:00:20 2005 +0000
+
+ replace s_texture.[ch] with s_texcombine.[ch] and s_texfilter.[ch]
+
+commit 55187ea63e980b32c7a701855571332f4357d634
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 15 00:58:03 2005 +0000
+
+ Update includes post-splitting of s_texture.c
+
+commit 2cd8791cad11ea3961533c0cd8f9c1bbf50ef6cc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 15 00:57:00 2005 +0000
+
+ Split the s_texture.c file into two new files:
+ s_texcombine.c - for texture combining/application
+ s_texfilter.c - for texture sampling/filtering
+
+commit 6ce60beb28fa96eeac22a90f6ce6156919d24e3d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 14 18:21:05 2005 +0000
+
+ remove unused vars
+
+commit 5f16244879066722820ab0af7745a71387129cd9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 14 18:09:15 2005 +0000
+
+ remove _tnl_MakeCurrent call
+
+commit a25fe61607cfb7da3546884c05a1afb1ea4d139a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 14 14:34:54 2005 +0000
+
+ initial 6.5 release notes
+
+commit b43671c8bf0ff640243c670ff98225d2a3c10632
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 14 14:32:20 2005 +0000
+
+ Remove _tnl_MakeCurrent() and the unused ctx->Driver.MakeCurrent() callback.
+
+commit 04adb70f32b25cee6f05ce97d1ddf16482636c27
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Wed Sep 14 12:08:32 2005 +0000
+
+ fix breakage from Brians changes earlier
+
+commit a702bbfff3a53db4e9183bdeda15333a52af1fc5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 14 03:11:36 2005 +0000
+
+ clean-up some _mesa_make_current() code
+
+commit 5250aa7c6ab53888070034ca93d8f90746dfcc25
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 14 02:18:43 2005 +0000
+
+ remove rm -f line
+
+commit 7a534dcab1db680319643cdcf3f97eb98231ba68
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 14 02:18:09 2005 +0000
+
+ remove .a file before creating new one
+
+commit 41cf68b4cb493444e38e84409e54f258ec751784
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 14 00:49:09 2005 +0000
+
+ pageflip change from radeon driver
+
+commit a400a1e4045e2478032bc5b8ae0b794964b24bae
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 14 00:42:33 2005 +0000
+
+ Instead of calling _mesa_ResizeBuffersMESA() in the Viewport function,
+ call driUpdateFramebufferSize() when window size/position changes.
+
+commit f157e2dee4741bec74f83040a604628c09e2aef7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 14 00:37:10 2005 +0000
+
+ make some funcs static
+
+commit ff9d235042bb80daf0a6f5af41f7abcb1d552a80
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 14 00:36:27 2005 +0000
+
+ Instead of calling _mesa_ResizeBuffersMESA() in the Viewport function,
+ call driUpdateFramebufferSize() when window size/position changes.
+
+commit 48799287b3e88105cdf3f83e97e8bb4a90f8650b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 14 00:33:03 2005 +0000
+
+ use mklib script to make drivers instead of gcc -shared
+
+commit a60ff20c584245c929ba755f5592e4b3791b2173
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 14 00:11:30 2005 +0000
+
+ updated comment
+
+commit 67a8decffeada987d10da616d72c1e6ec473dfa5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 14 00:10:56 2005 +0000
+
+ make some functions static
+
+commit e42a31350df04ae9d68b7ab4a14408f5d013b42f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 14 00:10:27 2005 +0000
+
+ Instead of calling _mesa_ResizeBuffersMESA() in the Viewport function,
+ call driUpdateFramebufferSize() when we detect changes in window size/
+ position in radeonGetLock().
+
+commit 9ae952a88c33b53b72852eb90e794ccceb9eb8ff
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 14 00:09:09 2005 +0000
+
+ added driUpdateFramebufferSize()
+
+commit f084f60f8bdba23b3f6125549045c0791d3fe138
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 13 23:37:50 2005 +0000
+
+ Move _mesa_add_soft_renderbuffers() from framebuffer.c to renderbuffer.c
+ Update some comments, code, etc.
+
+commit 7909dd920deadadbfaa2add0225e333a2af6cb56
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 13 18:18:47 2005 +0000
+
+ update like for MD2 viewer
+
+commit 56ff8ed6d8b284dff2a1e5e7ae66fdbe510c5e6a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 13 15:04:30 2005 +0000
+
+ replace semicolon with &&
+
+commit 363344f5b8e697ea9be9850cd63c986276f4d172
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 13 14:48:28 2005 +0000
+
+ print version with debug info
+
+commit 7bb7f9759476ff10b80a8df5b752dd07c0cc511f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 13 13:36:47 2005 +0000
+
+ fix FreeBSD problem (bug 4435)
+
+commit 914ec8ef583519ed8e83e4870b7a9e2ed9247b01
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Tue Sep 13 05:19:02 2005 +0000
+
+ Fix libGL build on FreeBSD by respecting ASM_FLAGS.
+
+ Submitted by: Diego Pettenò <flameeyes@gentoo.org>
+
+commit 878c371e6cf6eb28afacc482d8aeaa0119f00d5b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 13 04:42:09 2005 +0000
+
+ Replace ctx->Driver.StencilOp/Func/Mask() functions with
+ ctx->Driver.Stencil*Separate() functions.
+
+commit 42c34efd23d7ad05df9f3c71f7d52dd259e179d8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 13 02:59:53 2005 +0000
+
+ OpenGL 2.0's two-sided stencil feature wasn't implemented correctly.
+ See comment near top of stencil.c for info about OpenGL 2.0 vs.
+ GL_EXT_stencil_two_side.
+
+commit bdf8441f808b7bd0a8fa10c59025c015db482a58
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 13 02:57:07 2005 +0000
+
+ just some reformatting
+
+commit 56a2e084be4fa8baf9caf03f27f5d99d8545dc5c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 13 02:03:06 2005 +0000
+
+ Clear either 8 or 16-bit stencil buffers.
+
+commit b5932cfc9d48cf21554e2f9fdaccb7d8b52f2f8d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 13 02:02:03 2005 +0000
+
+ Use GLuint/GLint intead of GLstencil for stencil state.
+
+commit a96f889a57cd8f304dc60cd75f8660c440f36c0e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 13 01:19:29 2005 +0000
+
+ Move the ctx->FirstTimeCurrent initialization
+
+commit 5179f671e7f9366e278dbff519c283956ba0c2fe
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 13 01:17:01 2005 +0000
+
+ init StencilOpSeparate to NULL
+
+commit 8d2139e513b94630559d954031dc94fb02658d11
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Mon Sep 12 23:45:05 2005 +0000
+
+ add GL_ATI_fragment_shader support for r200
+
+commit fd9de710f5fb72a36c963d560391cc12fef0aa9b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 12 23:18:21 2005 +0000
+
+ added a return upon out-of-memory, remove a needless assignment
+
+commit f6e3234639ac818ded97119a598aba3278aaca90
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 12 21:41:45 2005 +0000
+
+ restore brace lost in previous check-in
+
+commit f20917de5bd2b1fc152e74304d3649a1f6042422
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Mon Sep 12 21:20:10 2005 +0000
+
+ add complete support for ATI_fragment_shader for the r200. Most of the new code is in the new file r200_fragshader.c. Reverse engeneered by Dave Airlie and me
+
+commit 11543624edbee91f1257a614f0778999bc170345
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Mon Sep 12 17:21:40 2005 +0000
+
+ remove unnecessary Swizzle parameter from struct (forgotten when the code was refactored)
+
+commit 28569c25f6c211796fd8720f98f386690bddd3c9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 12 15:19:19 2005 +0000
+
+ use ASM_API variable, bug 4415
+
+commit 68d436140d44a9f33cb5817577ecd980c694c889
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 12 15:05:57 2005 +0000
+
+ make lookup_query_object() static
+
+commit 758f447a1789cc92b2838f882bfe4efd0b463f58
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 12 13:59:29 2005 +0000
+
+ remove rendundant r,g,b,a vars (bug 4331)
+
+commit 2745df27749f24d45b723f7932cdc372abaeda3e
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Sun Sep 11 04:02:41 2005 +0000
+
+ add 1002:5460 M22 X300 card
+
+commit 654286eab1ba32d8f273da499961a45fdc7b2528
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Sun Sep 11 03:58:29 2005 +0000
+
+ fix dri drivers build
+
+commit 2eef2eca872e3fbff5c2876507b4cdff8e86c3a6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Sep 11 01:45:04 2005 +0000
+
+ Silence some warnings.
+
+commit 7f8cb30ccc88270eb1d7ca29f9dc69a4b7d540bf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 10 16:57:22 2005 +0000
+
+ bunch of updates
+
+commit 80cef697f483250a7c667d7accc9c843d391f974
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 10 16:54:05 2005 +0000
+
+ put GLUT sources into a separate tarball
+
+commit 26c7e65785df37c109f39967c3e21f9450565008
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 10 16:41:17 2005 +0000
+
+ Clean-up of sources/Makefile, bug 4111
+
+commit 5704b8e57a0c618ddf51502e99e9dbd48cc3e685
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 10 16:27:51 2005 +0000
+
+ fix a problem w/ color index mode when CHAN_BITS=16
+
+commit f15b499cfd575ad8ace74d6b9047ecb1266bf7ef
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 10 16:20:47 2005 +0000
+
+ make some vars static
+
+commit 392c93e3987a11b00548fab7ed2b8ca1f969c8ef
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 10 16:19:36 2005 +0000
+
+ fix GLubyte/GLchan inconsistencies (bug 4331)
+
+commit 0ca6715ba5c187b687edd544668ef98b9d1b1047
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Sat Sep 10 01:02:25 2005 +0000
+
+ new demo to test ATI_fragment_shader, not very creative but easy to know if the output is correct. Tests single-pass as well as multi-pass shader (only pseudo-dependant texture read though, and no tex coord swizzling), src and dst modifiers, src repetition, dst masks, constants, and some ops. Both shaders run succesfully with swrast as well as r200.
+
+commit c53d2d0ca81f4335c3b3bf9870635ba5ec2b3b52
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Sat Sep 10 00:31:11 2005 +0000
+
+ add the new drm packets needed for ATI_fragment_shader to the sanity code of the r200 and radeon driver
+
+commit 6c2e82b601268680c4c950e95e5c09c7b13141c2
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Sat Sep 10 00:11:27 2005 +0000
+
+ add reverse-engeneered register bits needed for ATI_fragment_shader (Dave Airlie, me)
+
+commit 402b2bea640ebf69f78d8122f98435dd3bbeb7df
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 10 00:10:15 2005 +0000
+
+ Add offset and pitch fields to intelRegion. Remove frontOffset, frontPitch,
+ backOffset, backPitch, depthOffset, depthPitch, textureOffset fields.
+
+commit 036a99452d26167b70cadafb97b7e77ebdafd78c
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Fri Sep 9 23:31:31 2005 +0000
+
+ add _tnl_arb_vertex_program_stage to all drivers which already have _tnl_vertex_program_stage. Fixes crashes when using vertex programs. Tested on r200 only (fix by Keith Whitwell)
+
+commit a3dd2ce29e2d7f1003d420b49ec678500645e728
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 9 22:57:05 2005 +0000
+
+ remove the redundant textureSize field, use tex.size instead, it's always the same value
+
+commit 338cbb0e5c6eab982bc4d05df08108e1c9ce97d1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 9 16:40:47 2005 +0000
+
+ don't generate selection hits for glBitmap, glDraw/CopyPixels. Misc clean-ups
+
+commit b346213960057a25edf404e3323fc9da4dc54c0e
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Fri Sep 9 15:43:11 2005 +0000
+
+ fix some bugs with handling of GL_DOT4_ATI, GL_DOT3_ATI and GL_DOT2_ADD_ATI ATI_fs instructions.
+
+commit 95db1f01273bcc4ab4f5405eaa0bc87b63c1f297
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Fri Sep 9 12:51:38 2005 +0000
+
+ add missing fallback string for ARB_vertex_program
+
+commit 7e3be5559e7236cb919fa3ab7bbc78ccd0bde2e6
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Fri Sep 9 01:38:21 2005 +0000
+
+ Fix wrong fallback bit being set by the tcl fallback caused by ARB_vertex_program. Disable ARB_vertex_program by default - it is incredibly slow, and just plain doesn't work anyway (arbvptorus fails an assertion, arbvpmesh has bogus output)
+
+commit 45ba4e43322076be27e994a1d78b8b4802c5ae72
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Sep 8 21:40:10 2005 +0000
+
+ use an explicit reserved field, rather than magic number in bound
+
+commit d9b9b4b3beafa824914ca460754bf0a9d7ee80b6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 8 18:47:36 2005 +0000
+
+ Fix the comment for the 'bound' field: it's a bitmask, not an index.
+ In driTexturesGone(), set bound = 0, not 99.
+
+commit b5cbaf945dd5213d5faf7bb7e4d68d0d25a25b55
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Sep 8 18:45:03 2005 +0000
+
+ Keep NumTemporaries uptodate.
+ Make sure oC alpha is populated when separate_specular enabled.
+
+commit b15f46a093b2be2a6c630d8f3a2848627a34d728
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Sep 8 18:36:39 2005 +0000
+
+ Treat NegateBase as a bitfield, not a boolean.
+
+commit 5cf13977106d9d7b75da0621a1a2c0bc299f4b3a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Sep 8 18:35:48 2005 +0000
+
+ be consistent in populating NegateBase field
+
+commit 4618a9bfc2cd57c47ddf3590782c751ec194d362
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 8 15:28:45 2005 +0000
+
+ check for either GL_ARB_depth_texture or GL_SGIX_depth_texture in a few places
+
+commit f36954ec3c25b673fc275877938e2dea48ec5682
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 8 13:55:05 2005 +0000
+
+ fix precision problem in depth clearing (bug 4395)
+
+commit f4ff4d36ed320b1551e1f41ee8f52e449c89a626
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Thu Sep 8 13:41:54 2005 +0000
+
+ fix incorrect swizzling handling. fix code so it can potentially handle implementations with less than 6 texture units correctly.
+
+commit 21ed29598f7f06008017004fcca3a5f397be0f23
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Thu Sep 8 10:05:37 2005 +0000
+
+ Committing in .
+
+ Define suseconds_t for OpenVMS
+
+ Modified Files:
+ Mesa/src/mesa/drivers/x11/xm_dd.c
+ ----------------------------------------------------------------------
+
+commit ce3350770c91f07a86466d59dfdab2a0c16cf282
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Thu Sep 8 00:12:57 2005 +0000
+
+ add a bunch of FLUSH_VERTICES to some of the ATI_fs functions, most notably when changing the global ati fragment shader constants.
+
+commit 692147ebf7f09d56a7de1659de2449478da4d1ba
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 7 23:28:41 2005 +0000
+
+ some clean-up and re-org for renderbuffers
+
+commit 526242614fd5200def246e1bbb9dca78020abc32
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 7 23:26:01 2005 +0000
+
+ some updates, but code still out of date
+
+commit ab8ef280ec1c435cd04a481f50cbc3cb6b024744
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 7 23:21:59 2005 +0000
+
+ new comment
+
+commit f0da327c878057d120d98e15b47a45dbf36fce73
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 7 23:21:40 2005 +0000
+
+ minor tweaks to _mesa_ResizeBuffersMESA()
+
+commit b683b0df45de5f9fc83759b09d630fff7064e394
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Wed Sep 7 21:59:30 2005 +0000
+
+ fix bug with ATI_fragment_shader in swrast (need to copy all 4 values due to later applied srcRep)
+
+commit 8693b70e8fccf5d942e51a0c24221f6410393791
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 7 18:32:29 2005 +0000
+
+ try to fix renderbuffer breakage, primarily in calculate_buffer_parameters()
+
+commit eba4ff6e0a101a86fc9634b33ce63c02fda896d6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 6 21:22:16 2005 +0000
+
+ minor formatting fix
+
+commit d869a43554be8791072f7e7070041ee3b2323815
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 6 20:42:23 2005 +0000
+
+ added viaRenderbufferStorage() function
+
+commit 20354edf3512d9984ff7ce188f2e580b29777af1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 6 14:47:57 2005 +0000
+
+ just changes/updates to comments
+
+commit bd07168eb23c032ee28691c9847319d2ad7f490f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 6 03:13:18 2005 +0000
+
+ added -Wmissing-prototypes to WARN_FLAGS
+
+commit 158a2aa488a0bab82381ec2c6eedd2b5bb7202ca
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 6 03:02:01 2005 +0000
+
+ Use mklib script instead of ar. Make libmesa.a instead of mesa.a
+
+commit c0b4b9fc3e51c09a864fe5e3d439da95f8f0edc5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 6 02:56:51 2005 +0000
+
+ remove DEFARRAY, CHECKARRAY stuff
+
+commit e2399effa03a706d8f63fa9a27e985ca7e3dc3cd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 6 02:55:34 2005 +0000
+
+ minor clean-up of texture_combine()
+
+commit 3622f4f27fe51edff0717e4a42623f62e2936e90
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 6 02:44:00 2005 +0000
+
+ don't use DEFARRAY/CHECKARRAY stuff
+
+commit fcb6a0fa3e1ff351b2613e4f7f4ab5bc91e6c95d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 5 21:17:44 2005 +0000
+
+ make some functions static
+
+commit 6575e37cbf222c4f2fe7cb59fc1bb13b245d12fc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 5 21:09:22 2005 +0000
+
+ make r128SpanRenderStart/Finish static
+
+commit e3c8a0c16d5a2ffdb9d107dbb980427979a541f7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 5 21:04:22 2005 +0000
+
+ remove obsolete CurrentBufferBit
+
+commit 3952d6d4bbb1f69a45f14a43b6b5f8e6a90a0e6f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 5 21:03:48 2005 +0000
+
+ remove unused var
+
+commit f66084b834ce37e7f0143e456df1265cd343a674
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Mon Sep 5 14:48:39 2005 +0000
+
+ Add support for memory contexts (Thomas Kaltofen). Cleanup compilation warnings.
+
+commit e15c2d077a89b1f4ca7121a85beaf9a0133c61e3
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Mon Sep 5 14:08:51 2005 +0000
+
+ remove _swrast_DrawBuffer
+
+commit 53a3c70580b2f7fd91de9960d83ee7e3b665ff2d
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Mon Sep 5 14:03:41 2005 +0000
+
+ Windows mesa.def file had been moved to the drivers dir tree some time ago. This copy is not needed.
+
+commit e81cbd876ed400ccb2ed452f375a7c2cb5ddd48f
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Mon Sep 5 13:45:23 2005 +0000
+
+ fix var declaration so that a C compiler can build it.
+
+commit b4b040f7d83f5f4917c48bf5833394d550e30421
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Sep 4 22:55:57 2005 +0000
+
+ just formatting clean-ups
+
+commit 16e7aebfe39bdd9c9fecb03ca3b0b617c2b449c8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Sep 4 22:20:07 2005 +0000
+
+ Simplify radeonSetCliprects(). Remove the 'mode' parameter.
+
+commit 87ce68e1b305b844f1ff72d79ef68dad48c63fc3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Sep 4 22:16:08 2005 +0000
+
+ Further clean-up and simplification of the span-related functions.
+
+commit 61ba6b5a74625a01e07ae267c6e4ebf192434e40
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Sep 4 22:13:42 2005 +0000
+
+ Add new void *addr and __DRIdrawablePrivate parameters to
+ driNewRenderbuffer().
+
+commit 6e0e6eff05727ac8833c2b2dffc51c6619427e77
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Sep 4 16:15:38 2005 +0000
+
+ Fix UpdatePageFlipping() function. Always call driFlipRenderbuffers()
+ with pfCurrentPage value, in case it's initially 1 instead of 0.
+
+commit d575a4c4a1795bda73ba1f6a1817b0dacac2174e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Sep 4 15:03:36 2005 +0000
+
+ minor clean-ups
+
+commit 0cfd4f92dde078bcc9f458ede91cc341a7b0ef5b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Sep 4 15:02:48 2005 +0000
+
+ replace GET_SRC_PTR, GET_DST_PTR with GET_PTR
+
+commit eae73dbd916d3109224fdb938120acd1abb6b646
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Sep 4 15:01:33 2005 +0000
+
+ Use InitPointers helper
+
+commit 90cfbd3dd5f30d73a4ed7f96cc740f11c7fb0af9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Sep 4 15:00:04 2005 +0000
+
+ Combine GET_DST_PTR and GET_SRC_PTR into just GET_PTR.
+
+commit f8cc27ecfc116b4480e2a6b83a4fdbfdcd078d26
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Sep 4 14:59:34 2005 +0000
+
+ Added InitPointers helper function
+
+commit 16f76703a54795377a4894be26cd5239f814417f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Sep 4 14:59:18 2005 +0000
+
+ replace assertion with a conditional return
+
+commit 05aed23d1bbc3dbcd9fe9fd592f4c3b245456123
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 3 17:33:16 2005 +0000
+
+ fudge set_component_sizes() a bit, see comments
+
+commit acafeeb6dce74382fb3a48b83ab72bf67b7581ea
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 3 16:57:58 2005 +0000
+
+ Remove last remnants of pre-renderbuffer code.
+
+commit 54be0763e1c24091ba522139e899d0254143ba7d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 3 16:55:02 2005 +0000
+
+ renderbuffer updates
+
+commit 2b81c8999f32999ee2e5822c4828c7325e3fe1ca
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 3 16:54:20 2005 +0000
+
+ SetBuffer, renderbuffer changes
+
+commit 6e57725061813a3b8cee30bb857f6c59a88a8592
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 3 16:49:35 2005 +0000
+
+ use new InitStencil/DepthPointer functions
+
+commit b0715811e8c100a2686ee2363e2f94c734565d60
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 3 16:48:48 2005 +0000
+
+ remove dead code
+
+commit f6540c625254ac6d88e8a6ac8fee88a4cab7d349
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 3 16:47:30 2005 +0000
+
+ remove SetBuffer
+
+commit 687918b794d12a0ff5d395b8cf87880dbe8012bf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 3 16:43:02 2005 +0000
+
+ SetBuffer, renderbuffer changes
+
+commit e6925b51e1e71dc45079636ce336a09806356999
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 3 16:42:19 2005 +0000
+
+ added flippedData field for page flipping, code to flip stereo color buffers
+
+commit c6262cd8c5e1ca8f702e9694c81749601287fb10
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 3 16:41:30 2005 +0000
+
+ added SetStencil/DepthPointer functions
+
+commit 3ba814ae0740fc9ceb79f05570bc889362cc288d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 3 16:40:44 2005 +0000
+
+ remove SetBuffer(). Misc renderbuffer changes.
+
+commit 7fa6c1afb9b85231c3b2e8c51672e9ca26efc070
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 3 16:39:57 2005 +0000
+
+ silence misc warnings
+
+commit 624ad14a581e9befdfda5335b775d8d1f55fbe56
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Fri Sep 2 23:52:05 2005 +0000
+
+ Check for ATI_fragment_shader enabled
+
+commit 712e5042de57bb49f5f5c804c56d5015b171a557
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 2 17:07:00 2005 +0000
+
+ fix some strict aliasing problems related to choosing framebuffer configs (Matthias Hopf)
+
+commit 93cfdfe1ef6f184a2e1687367fe4836185ecaa66
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 2 14:02:44 2005 +0000
+
+ GL_EXT_timer_query
+
+commit 14520eb25ef3fab29285f8d5d2dad372960274a7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 2 13:55:50 2005 +0000
+
+ comments
+
+commit c799e9ec248c5381ba7c1d806f7c1a4dd85698ad
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 2 13:43:26 2005 +0000
+
+ added GL_EXT_timer_query token
+
+commit 4fb995084e1b4b629667f09331adf060aa0fac4c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 2 13:42:49 2005 +0000
+
+ Prototype implementation of new GL_EXT_timer_query extension (not finalized yet).
+ Extends the query mechanism to query elapsed time while rendering.
+
+commit 8cdf3729468aefb7c67c8ecd32fd850adbf6d351
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 2 13:40:09 2005 +0000
+
+ replace -1 with PROGRAM_UNDEFINED when initializing instructions
+
+commit 350a1676357301f3d103b6d16d01c766644bf872
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 2 13:20:20 2005 +0000
+
+ set depthHasSurface for stencil renderbuffer
+
+commit 3c450b2917ee2eef06197b9ef546f19d06b7d76a
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Fri Sep 2 12:05:38 2005 +0000
+
+ ATI_fragment_shader fixes: fix bug in passTexCoord (caused by recent changes). Fix sampling from wrong texture unit. Apply swizzling before texture sampling, and hopefully get non-projected coordinates from swrast. (still does not work at all with sw doom3, way too dark just the same as with the doom3 arb2 path)
+
+commit a02febb8ccc8c716c28c3f6537d2836382f333c2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 2 03:39:31 2005 +0000
+
+ change scratch pointer from _int32_t to u_int32_t to silence warning. Is this field actually used for anything?
+
+commit a517cc1ef608af537e7462f3d4111b38a1208ca7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 2 03:36:41 2005 +0000
+
+ remove unneeded assertion in stencil/depth LOCAL_DEPTH_VARS code
+
+commit b343f06a0963dda416754ce2511b32afd3fadabe
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 2 03:28:08 2005 +0000
+
+ set depthHasSurface field for stencil renderbuffer
+
+commit f519a770d074dac9e188e3b450c828510506c46d
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Fri Sep 2 01:11:53 2005 +0000
+
+ add error checking to the GL_ATI_FRAGMENT_SHADER entrypoints. Fix bug with scope of ati fragment shader constants. Fix issues with specifying color/alpha instructions not pair-wise. Change internal representation of the shader (to better fit how the extension works, should make driver implementations simpler, and saves some memory). (still doesn't work correctly with doom3 and swrast, but not worse than before)
+
+commit b252e0f47f0bd5b4a086eabb5cc2d4f9cd61a785
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 1 20:14:50 2005 +0000
+
+ added an assertion to help debug broken stencil readback
+
+commit 238de2db120bb090a7f28a25093874b32a90c546
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 1 20:11:32 2005 +0000
+
+ added driFlipRenderbuffers()
+
+commit da84f0b642a65614c2618121869d5cd45ad986f5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 1 20:10:17 2005 +0000
+
+ fix page flipping breakage
+
+commit 98e92d261bbf11a35a1a26d1c1bdc3cfb304b2ae
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 1 14:04:45 2005 +0000
+
+ fix typo
+
+commit 4d11d45d84c61fbbd6cb165c97c0ae5ebfa39ac7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 1 14:04:32 2005 +0000
+
+ some missing renderbuffer changes (Roland)
+
+commit fcbfeb5d28aea87c60f2d02daa213d0c0c2516e8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 1 04:03:44 2005 +0000
+
+ Finish up some of the gl_renderbuffer work.
+ Use driRenderbuffer's offset, pitch fields in the span routines.
+ Remove the SetBuffer driver function.
+ Consolidate the code for setting CTX_RB3D_COLOROFFSET and CTX_RB3D_COLORPITCH
+ state in new radeonUpdateDrawBuffer() function.
+ Old code is surrounded by #if 000 / #endif, temporarily.
+
+commit 982e8e4d5c95e9e9040b4b70d7322a2a8a9396d9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 1 03:54:34 2005 +0000
+
+ Finish up some of the gl_renderbuffer work.
+ Use driRenderbuffer's offset, pitch fields in the span routines.
+ Remove the SetBuffer driver function.
+ Consolidate the code for setting CTX_RB3D_COLOROFFSET and CTX_RB3D_COLORPITCH
+ state in new radeonUpdateDrawBuffer() function.
+
+commit 8e5479c7f806ffd57eed26c147e3ca227a39f0a7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 1 03:50:54 2005 +0000
+
+ s/__inline/INLINE/
+
+commit f1d269060b050bbf3d7cc751c3c7333d795fb215
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 1 03:32:48 2005 +0000
+
+ use char* instead of GLubyte* in i915_program_error() to silence warnings
+
+commit f069e74dd8250e03b5891f13e869dfcd1b49ecaf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 1 03:19:45 2005 +0000
+
+ use proper datatypes to silence a bunch of warnings
+
+commit 5545245fe794519db577b2e8208277cd8fc7d276
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 1 03:07:29 2005 +0000
+
+ added a few more fields to help with DRI drivers
+
+commit db84ec2c6ddb197409e7d7288308d030fd4649eb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 1 03:06:28 2005 +0000
+
+ remove fxDDSetBuffer()
+
+commit af39910f94036a681f1f0f1c239cb713f96fe5e2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 1 03:05:39 2005 +0000
+
+ remove set_buffer()
+
+commit c958a9798a83e4c1924d939e3e5b5d490096066b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 1 03:04:41 2005 +0000
+
+ remove old set_buffer routine and misc code
+
+commit 26bb5239c8ee2b469ca09c8fab91d92b37be0f00
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 1 02:56:47 2005 +0000
+
+ remove the old set_buffer() routine
+
+commit 527835977a3f22d7a01f8d835d73ced5b13d0991
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 31 21:38:53 2005 +0000
+
+ Just additional comments.
+
+commit 36603539ccdb1c507724d8a1c314e6c9cc9863d9
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Wed Aug 31 19:11:09 2005 +0000
+
+ enable GL_ARB_texture_env_crossbar on r200, separate the enable bits for texture sampling and texture environment, optimize away texture sampling for units if the result is not used, always emit the env instructions in-order and try to eliminate GL_REPLACE env instructions.
+
+commit d5783737f1b7ce30d724b70566efbf52394b7759
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 31 16:42:59 2005 +0000
+
+ use 'f' key to toggle front/back buffer rendering
+
+commit 2c8524b4fb4aa8e56a6b2646b0a8e21732e7aed4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 31 16:04:17 2005 +0000
+
+ remove dead code, update comments
+
+commit cbafed8716d0be11db86f0ee4690c1e16f47c35d
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Wed Aug 31 15:11:21 2005 +0000
+
+ reverse a bogus patch
+
+commit 3d4d6d29e2209a2ca701bff2c781078a82c6b229
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Wed Aug 31 01:24:01 2005 +0000
+
+ complete fix for miniglx startup issue since driver version checks
+
+commit 275a563bea0c0eef7bcd52ddc493803acf94c37e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 31 00:39:32 2005 +0000
+
+ remove redundant ctx->Driver fallback assignments that were already done in _mesa_init_driver_functions()
+
+commit f830f640b63a51a152cc17d176a4e285a9a5af9d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 31 00:00:17 2005 +0000
+
+ fix a cast/assignment warning
+
+commit 513a553d4af8016a91479cddff3c0397ddd95279
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 30 23:57:04 2005 +0000
+
+ silence fprintf and casting warnings
+
+commit 16fb04ccb5d7631225b49114e8d87b50c9608971
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 30 23:50:23 2005 +0000
+
+ added some parenthesis to silence warnings
+
+commit f98b9853e10abf60cf90c5b9d3f76e734b5fc8f8
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Tue Aug 30 20:37:30 2005 +0000
+
+ drmUnmap correct size
+
+commit b41c025420baed83e09b866c4bad11790b95d704
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Tue Aug 30 19:46:08 2005 +0000
+
+ move via_dri.h to server
+
+commit 9165d46fdb2cacb0ca69fd51a4fa3d8f7b04731b
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Tue Aug 30 19:22:46 2005 +0000
+
+ define Bool for solo builds
+
+commit d5cc77e37c59b9ab635cbc90151f1b2fc69201c6
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Tue Aug 30 19:14:23 2005 +0000
+
+ Fixes from https://bugs.freedesktop.org/attachment.cgi?id=3077
+
+commit 156dc55628ee3d846598a6906d09afd18d2b8e1c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 29 22:45:52 2005 +0000
+
+ fix APP_LIB_DEPS
+
+commit f0d0e5099417796b629ad76e4e2fc19baa31c38d
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Aug 29 15:43:02 2005 +0000
+
+ Implement GL_ARB_texture_env_combine, GL_EXT_texture_env_combine, and
+ GL_ARB_texture_env_crossbar for i810. This passes both demos/texenv and all
+ of glean's texCombine tests.
+
+commit d9089ab96ecfbc9fbd8f6c772b08d2217dbeacaf
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Mon Aug 29 15:23:55 2005 +0000
+
+ remove drmAddress
+
+commit 3a165edc9ab875706fbe53d4e177dcea859f98e0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 29 14:45:30 2005 +0000
+
+ added note about IEEE vs VAX floating point (bug 4270)
+
+commit 49fd874f24b983f7730513545fb0d6c24058e10b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Aug 28 17:12:07 2005 +0000
+
+ fix a few proxy color table bugs (bug 4270)
+
+commit 082501a74c16d7b16ea4fb17b3d47aa24d05f4e3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Aug 27 14:04:37 2005 +0000
+
+ check the Ready flag when getting GL_QUERY_RESULT_ARB
+
+commit 23ffc3a85d6172f8a98d17d7f23610bab808d84e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Aug 27 13:56:08 2005 +0000
+
+ Rearrange the code related to GL_ARB_occlusion_object to generalize query
+ objects for future types of queries.
+
+commit ca1ac986a1d6d3f292e3d20540de884ad08d9816
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Fri Aug 26 17:50:39 2005 +0000
+
+ /dri/msg
+
+commit f4166a1fd76935f358c2db900c21b3532ba9d6a8
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Aug 26 09:37:41 2005 +0000
+
+ Fix the scripts for the cygwin & mingw changes
+
+commit adbf932ec12abae030ab7b961e41be122998cfba
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 25 23:26:51 2005 +0000
+
+ added singlebuffer demo
+
+commit 59d680db22572a4ec3780b6bf12f82c50099ec98
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 25 23:25:25 2005 +0000
+
+ Demo of how to do (nearly) flicker-free rendering with a single color buffer.
+
+commit 713635adef160b6dffaa929a00bfd72703f0b873
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 25 22:09:43 2005 +0000
+
+ fix comment and #if test
+
+commit a2c65f47930ab1c5a56a8c7c81b35dc77b08d472
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 25 19:43:38 2005 +0000
+
+ don't compile debug code (bug 4242: rand undefined)
+
+commit 2735b33638309a306257f13bec52389292cf8ab7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 25 19:38:42 2005 +0000
+
+ remove stray references to ctx->Depth.OcclusionTest
+
+commit 8bc0b3f9611f9634d497fe2174246e866920f865
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Aug 25 19:15:01 2005 +0000
+
+ Fix texture format selection. ChooseTextureFormat is supposed to select the
+ hardware format of the texture, and SetTexImages is supposed to use the
+ format selected by ChooseTextureFormat. However, both routines were making
+ their choices based on the texture's BaseFormat. This is wrong.
+ ChooseTextureFormat uses BaseFormat and SetTexImages uses
+ TexFormat->MesaFormat.
+
+ Once SetTexImages was fixed to use the right format values,
+ ChooseTextureFormat was cleaned up. It now uses the few available texture
+ formats supported by the i810 in a smarter way. This should improve the
+ quality of LUMINANCE, LUMINANCE_ALPHA, and INTENSITY textures.
+
+ I tested this by cycling through all the texture formats in demos/texenv and
+ tests/yuvsquare.
+
+commit 8de9d92acf3e2ec76245c34d90fac65c7bb1994c
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Aug 25 18:08:16 2005 +0000
+
+ update for mingw
+
+commit 8e247d52e34793e195e8164c0a461fb428c171af
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 25 17:46:04 2005 +0000
+
+ Update the glut idle function after a new window is created
+
+commit b8a804d24f1b0ea19ed10c3c666f0bd30817c075
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 25 14:24:49 2005 +0000
+
+ initial 6.5 changes (reflect demo, remove GL_HP_occlusion_test)
+
+commit 6e4f594a02fc384b17d5732be652d7d28618aec2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 25 14:23:38 2005 +0000
+
+ removed GL_HP_occlusion_test extension
+
+commit dd1a9f75dc1d29e3383f27aaa1cf024c83e5c8e2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 25 14:07:06 2005 +0000
+
+ fix segfault in Fake_glXCreatePBuffer(), bug 4235
+
+commit 7e6553c1aa5f1336c61b4826ba8125d2bf72665f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 25 13:18:53 2005 +0000
+
+ s/GLX_RGBA_BIT/GLX_RGBA_TYPE/ (bug 4237)
+
+commit 61d386a93f862005d1eddb45be91c7d5421aca83
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Thu Aug 25 03:38:07 2005 +0000
+
+ Attempt to fix the issue reported by Alan Grimes with DRM_RADEON_TEXTURE
+ erroring out when it shouldn't. The errno could be changed by usleep() between
+ the ioctl call and the loop check, if a signal was received. This could cause
+ an EAGAIN return from the DRM_RADEON_TEXTURE ioctl to not loop again.
+ Instead of checking errno, check thevalue of ret itself, since it is a saved
+ (and sign-flipped) copy of errno from the ioctl call.
+
+commit d545d916a838819af4ad577873aa8e590d9f5756
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 25 03:09:12 2005 +0000
+
+ make tiles a little smaller so they're all visible
+
+commit 9e385282fc51b5852bfcfa981d672173488cd5c5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 25 03:05:10 2005 +0000
+
+ also check for texture border in sample_linear_2d()
+
+commit 5d7c486d9092fdfba68f50374ebf9ab06c37149a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 24 21:32:02 2005 +0000
+
+ Added multi-window support. Press 'n' to create new window, 'k' to kill
+ a window. Good for exercising multi-window rendering.
+
+commit c58cea00853ad80efc9b5866bd1b95321a6d04ae
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Wed Aug 24 09:08:06 2005 +0000
+
+ Fix Windows build problems.
+
+ GCC's visibility attribute is for ELF systems, so undef INTERNAL
+ GCC's fastcall attribute interferes with __stdcall so undef FASTCALL
+
+commit 334f2d807766dd399c510f89e67d2ebb075fcee9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 23 14:50:02 2005 +0000
+
+ GLw demo doesn't belong here
+
+commit 17756df90378761a9ee8521c5ae641f6c5576e87
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 23 13:40:30 2005 +0000
+
+ removed lines that caused some files to be included in tarballs multiple times
+
+commit edf0d14bd4ea22120d5468e5a8738300aeea26a5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 23 03:50:12 2005 +0000
+
+ simplify, clean-up texel addressing macros
+
+commit 249160fdfab0cf2c15f486a6d1d1ac88d5d56d2e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 23 00:45:54 2005 +0000
+
+ update version to 6.5.0
+
+commit dfb6c56ed85d7b11b6e7e9b0a5ec7eddb1162510
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 22 14:28:19 2005 +0000
+
+ added GL_X_RENDERABLE to glXChooseFBConfig (bug 4181)
+
+commit dcf14aa3a79a3165f53fb09f9f9bb45b5e6052a4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 22 14:27:33 2005 +0000
+
+ bump version to 6.5
+
+commit 1e71d6af4825511a5d596f363bc721c97df9c570
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 22 14:27:13 2005 +0000
+
+ added .S DRI files to tarball (Donnie Berkholz), bumped version to 6.5
+
+commit 298af7a609038d81ade4067c3574bf7322748065
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Sun Aug 21 03:17:52 2005 +0000
+
+ fix up libdrm for egl
+
+commit ae27ef22195b7126daddd448ca4a255c5293198c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 19 23:44:35 2005 +0000
+
+ fix typo
+
+commit f350e22716991ef21b2eebb46b0c5d6fd13fe149
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 19 23:42:29 2005 +0000
+
+ md5 sums for 6.3.2
+
+commit eacd347fce6adc639bf0214797543970d1b3d703
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 19 23:34:10 2005 +0000
+
+ update MESA_DEBUG with FP info
+
+commit 8fcd1e028750ec7669aa311dfd63d86767097feb
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Fri Aug 19 20:20:03 2005 +0000
+
+ Convert libGL and DRI drivers to require libdrm.
+
+ libdrm can be had from:
+
+ http://people.freedesktop.org/~ajax/libdrm/
+
+commit 2ae5645115124ecc97bf4a0ba9f5542cf2409845
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Aug 19 18:53:26 2005 +0000
+
+ Fix a realloc problem with indirect vertex arrays. The actual head pointer
+ wasn't tracked and used for the realloc, so it tended to explode.
+
+commit b7c727e5006e26be3f70396030aab7512498f441
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 19 16:57:50 2005 +0000
+
+ updates for 6.3.2 release, plus other assorted clean-ups
+
+commit d912f6cfe3636e8ceded7871d93a003b0f4b39d7
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Aug 19 16:07:33 2005 +0000
+
+ Commit missing piece from Egbert's 32/64 bit patches
+
+commit f7eb54a12f65deb46a52e4d15a6e537f49f3287b
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Aug 19 00:48:25 2005 +0000
+
+ Enable ARB_texture_compression. The code has been in place for a long time,
+ but, for whatever reason, the extension wasn't enabled.
+
+ Add some comments to i810ChooseTextureFormat. There's some strangeness with
+ i810 texture formats.
+
+commit e0029b33effd299bb6b659ffd4309f8fa5c7afcf
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Aug 18 22:27:37 2005 +0000
+
+ Add support for NV_blend_square. This was tested with
+ progs/tests/blendsquare.
+
+commit ab5be2c5f7b18fb46116b1bfa968d0a70aeeb556
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Aug 18 22:16:46 2005 +0000
+
+ Make sure extension entry point offsets are properly initialized. This is
+ primarilly needed to support functions that are internally implemented using
+ extension entry points (e.g., glBlendFunc uses glBlendFuncSeparate).
+
+commit 61ac29e7c6db3a899edd9d80f8dbbb98fd7ccc90
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Aug 18 20:01:01 2005 +0000
+
+ Don't try to update hardware texture fields if there is no hardware texture.
+ This can happen when all the texture enables for a texture unit are disabled.
+
+ This fixes bugzilla #3195.
+
+commit b462855c24dc750b386fbd632b60f3fca3fe7d07
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Aug 18 19:52:44 2005 +0000
+
+ Add simple regression test for bugzilla #3195.
+
+commit e918bac8cd85aaefaef5d534d53398257b7df0f9
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Aug 18 19:51:11 2005 +0000
+
+ Make the i810 driver use driGetRendererString like all the other drivers.
+ The GL_RENDERER string now accurately contains the chip name. This was only
+ tested on a "plain" i810 (PCI ID 8086:7121).
+
+commit aa2a357bae017e6e4b0ce1745ed4e9232b3c1684
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 18 14:33:26 2005 +0000
+
+ Replace mult/div operators with bitwise operators in texel fetch routines
+ for better performance. (Roland Scheidegger)
+
+commit 05fe2871e3cc28681a82285758381b5a3f2433b8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 16 23:13:25 2005 +0000
+
+ Bump version to 6.3.2
+
+commit 926a19e10893d03c8ceb0efff01f5fe827fbfa32
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 16 23:12:37 2005 +0000
+
+ updates for 6.3.2
+
+commit 160b3284dd3cdad106ad9aebf5fed7e9ff7b142b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 15 23:25:33 2005 +0000
+
+ include stdint.h if WIN32 and GNUC (Colin Harrison). Patch forwarded to SGI.
+
+commit c2c2600728f944efd6c236804571acb357b8f449
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 15 22:57:30 2005 +0000
+
+ test the standard stencil op modes too (Philipp Klaus Krause)
+
+commit 7a362deb8c432ec520d70dde7330cd845b79e89a
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Mon Aug 15 18:24:12 2005 +0000
+
+ In _mesa_TexEnvfv, do not accept values for GL_OPERAND2_ALPHA and GL_OPERAND2_RGB which are only valid with ARB_texture_env_combine but not with EXT_texture_env_combine, when only EXT_texture_env_combine is supported.
+
+commit a3dd6efb0009110fdd8154640af51e4b15ad625c
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Aug 15 15:01:39 2005 +0000
+
+ Put back '-I/usr/X11R6/include'.
+
+ Make 'USING_EGL=0' the default for now. It's causing too much confusion for
+ too many non-developers (which in turn wastes too much developer time). It
+ is trivially overridden from the make command line. See comments in
+ linux-dri.
+
+commit dabec11d277e68b6940e741651e61102767240b9
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Mon Aug 15 06:59:24 2005 +0000
+
+ Add Egberts fixes for 64bit architectures
+
+ Add additional checks for the *DRIRec info structure passed in from the
+ device driver. This ensures that things fallback to indirect rendering if
+ the DDX driver has had modifications (i.e. removal of the drmAddress field).
+
+commit 69dc32cfac945bf664ddfbd6f0116404f893e66e
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Sun Aug 14 12:16:51 2005 +0000
+
+ Add a check which compares the passed in size of the DDX driver private DRI
+ structure to the 3D drivers view of it, and abort if they don't match.
+
+ This traps the case with the drmAddress removal in the DDX driver.
+
+commit 33f9c98aa6643abe587f71976db51d4138ccc2b9
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Sat Aug 13 01:43:28 2005 +0000
+
+ Enable support for EXT_stencil_wrap. The code was already there, but the
+ extension wasn't enabled. I have verified its correct function with Mesa's
+ stencil_wrap test. It is enabled on both Savage4 and Savage3D. Since
+ Savage3D uses a software fallback for *all* stencil operations, this is safe.
+
+commit 6fe7a0dc01887e39f028d8d400b98d199744c18f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 12 18:56:56 2005 +0000
+
+ added FREXPF() macro (bug 4060)
+
+commit f2876d1ee3b878a07b12ddcb464633a44f7c29e7
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Aug 11 20:29:45 2005 +0000
+
+ Remove the logic that determines at compile time whether or not HAVE_ALIAS
+ should be defined. It was flawed on some platforms (e.g., Darwin & mingw).
+ Instead, rely on the build system to define it on the compiler command line.
+
+ This also reverts ajax's hand-edit to indirect_size.c. I'll fix that on the
+ X.org side of things later today.
+
+commit fbcc5aedf2a06e14030a3e67d2be9fd043e3cf38
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Aug 11 19:47:06 2005 +0000
+
+ Remove support for the R200_NO_VTXFMT environment variable. Instead use
+ 'tcl_mode=1'. This fixes bugzilla #3972.
+
+commit 4c4e4bfa4e520a06d5421018247fe9be42124c1c
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Aug 11 19:37:55 2005 +0000
+
+ Makefile cleanups suggested by George Fufutos (bugzilla #3899).
+
+commit ac7c147aaf6434ba6c591c0a2b4dc765a571cc2f
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Aug 11 19:29:25 2005 +0000
+
+ Don't link with libGL, libEGL, or libEGLdri. On EGL setups libGL isn't
+ available, and on libGL setups libEGL and libEGLdri aren't available.
+
+commit b7ae3e478780d1682f6e9f9377b308c2d7ca05e9
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Aug 11 19:23:23 2005 +0000
+
+ Since Brian's recent commit, "-I/usr/X11R6/include/X11/extensions" is no
+ longer needed.
+
+commit 82dfd4b71f932f46e116743b204d0077a0875ab8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 11 14:18:53 2005 +0000
+
+ fix X #includes so they're relative to X11/ directory (bug 4047)
+
+commit ac887d421176364fe0756e8ebba9aac11d78b16a
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Aug 11 04:25:36 2005 +0000
+
+ Make ffb driver build on x86-64. The fix is two fold. First, use the
+ proper DRM_CAS_RESULT to declare the variable used to store the result
+ of DRM_CAS. Second, only use the "real" versions of LOCK_HARDWARE and
+ UNLOCK_HARDWARE on SPARC. That's the only platform where the hardware
+ can really exist.
+
+commit 967b006f518849e57fef68ab71359485b1535b3a
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Aug 10 23:54:15 2005 +0000
+
+ Remove _glapi_check_multithread from the interface exported by the loader to
+ the driver. The loader now takes care of this for the driver.
+
+ Remove _glapi_DispatchTSD and give _glapi_Dispatch its semantic (i.e.,
+ having a NULL value means that the application is multithreaded and
+ _glapi_get_dispatch must be called).
+
+ Gut all of the dispatch override code. This removes _glapi_RealDispatch,
+ _glapi_tls_RealDispatch, _glapi_begin_dispatch_override,
+ _glapi_end_dispatch_override, and _glapi_get_override_dispatch.
+
+ Remove _glapi_get_proc_address, _glapi_get_proc_name, _glapi_get_version,
+ and _glapi_check_table from the loader / driver interface.
+
+ Reviewed by: Brian Paul
+
+commit 1b8d0f149e0afac859c4c1e1e47772bb19da0187
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Aug 10 23:39:42 2005 +0000
+
+ Mesa uses the glVertexAttrib*NV functions to implement fixed-function
+ attributes in display lists. If a driver doesn't add entry points for
+ GL_NV_vertex_program, it will explode. This patch adds GL_NV_vertex_program
+ to the list of default extensions whose entry points are added by
+ driInitExtensions.
+
+ Thanks go to Roland Scheidegger for tracking the problem down and suggesting
+ the fix.
+
+commit 8c9cd63c89923e7c3cb751a1f24038c199d226d8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 10 17:04:03 2005 +0000
+
+ the PIXEL_MAP_I_TO_I table should be GLfloat, not GLint
+
+commit 63c9ebeaff0f238368b59cbe1cb6dc9bbf7cba7d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 10 14:42:21 2005 +0000
+
+ fix static assertion problem for gcc (bug 4022)
+
+commit 6b563bda433cdcb18fd4107725f77f34f050940c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 10 14:40:05 2005 +0000
+
+ disable the pointer size assertions (bug 4021)
+
+commit 5d4016943658756e60979057ec3dccf8f82033f0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 10 14:38:39 2005 +0000
+
+ fix indentation
+
+commit 738c9a073f6108df0f13c47daa3f24878d2d26ec
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Aug 10 14:13:45 2005 +0000
+
+ Check for prim/vertex store non-null before messing with refcounts.
+
+commit 258f005c6b83d537cd08f10aa6d01251605aa941
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Aug 9 18:54:12 2005 +0000
+
+ Add rules and target to build src/mesa/x86-64/glapi_x86-64.S.
+
+commit c91720fb1ab06af683a33b8734391a5a73cc23e5
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Aug 9 16:11:28 2005 +0000
+
+ Decrement the context's refcounts on part-used storage structs on
+ context destroy. Fixes memory leak.
+
+commit d2e289c70f2b9fb882f5b3992b610a9ea5c8357c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 9 15:17:19 2005 +0000
+
+ actually free the renderbuffer in xmesa_delete_renderbuffer(), fixes a memory leak
+
+commit e78a3c42e4ab40113ad9a69c2dc4e2294c2f7894
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 9 15:14:51 2005 +0000
+
+ delete display lists upon exit
+
+commit a1a6fa2fa18c4982aa8151042df7d04551e47981
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 9 15:13:32 2005 +0000
+
+ free display lists and destroy window upon exit
+
+commit ecde87054c48cc8c92c118a6efa848516bf0bf1c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 9 15:07:55 2005 +0000
+
+ _mesa_free_framebuffer_data() call frees the renderbuffers, no need to call the Delete methods after
+
+commit 24d55a1145d52d221c7aa7066e033ca34e3ddef5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 9 14:23:28 2005 +0000
+
+ free context structure (bug 1252316) and s/free/_mesa_free/
+
+commit aba4864a25fbf056b4c34dd20cc000b7e3221ad3
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Aug 8 23:22:46 2005 +0000
+
+ Make the linux-dri-x86 builds work on x86-64 again. mklib now
+ determines the bits (either 32 or 64) for libraries without the lib
+ prefix. progs/egl/Makefile passes CFLAGS on the link commands so that
+ things like '-m32' get propagated.
+
+commit 7bf08c23fdfe3e8a1dbfc44cad9e7e427f6e2630
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 8 21:42:51 2005 +0000
+
+ s/Disaptch/Dispatch/ (bug 3918)
+
+commit 63dffa4e773411997fb0ab026ad9a7360fa7bdbf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 8 21:30:12 2005 +0000
+
+ added directfbgl.h to tarball
+
+commit da0c5b2e2ca1d00b98d8c729a99c0e83431a5c37
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Aug 8 17:22:44 2005 +0000
+
+ Since glcontextmodes.[ch] are no longer used in the DRI drivers, removed the
+ IN_DRI_DRIVER cruft. This was suggested by George Fufutos.
+
+commit 0d942b740c6bf82bf769f77ab979df11682a338c
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Mon Aug 8 04:34:35 2005 +0000
+
+ fix up color tiling in miniglx radeon server code
+
+commit ac54de021a8f54b52cdb6d67fbdba5958de76f24
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Mon Aug 8 04:17:52 2005 +0000
+
+ fix miniglx setting virtual size of 832 for 800x600
+
+commit ae4e58c9ab9f9d14865479394fc1e8e79fa702e0
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Mon Aug 8 03:58:26 2005 +0000
+
+ Remove platform specific bits from radeon_egl.c
+
+commit 81b3c5e85c7788b1bc381e521c33091b336a04a8
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Mon Aug 8 03:27:28 2005 +0000
+
+ Dike out the linux-specific EGL bits unless it's a linux build.
+
+commit f1a261377f8f7fb0708c76ae68aecf93059ca761
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Mon Aug 8 03:26:18 2005 +0000
+
+ Since this isn't a bash script, don't use function and instead inline the usage
+ into the one place that it's used.
+
+commit 8e653f12bc0c77821ca2524b65c828c4feda3b9f
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Sun Aug 7 21:50:33 2005 +0000
+
+ Allow R300 driver to build on x86-64 and PowerPC.
+
+commit bf54a28384f70b80f1a523fe24312cc56b0827a1
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Sun Aug 7 02:30:32 2005 +0000
+
+ Add missing egldri.h header file
+
+commit 9a4dbf1cffc923cd3c6b0e70a6ddf1d9fe085ad2
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Sun Aug 7 02:15:27 2005 +0000
+
+ Fix up some of the sample to work with the r200 EGL driver
+
+commit 7e5da5d52629bfa68f83429254eab0304cf346bd
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Sun Aug 7 02:13:14 2005 +0000
+
+ Enable EGL support in 'linux-dri' config
+
+commit 94a4eb1e7806bfcb52f6cd48f8071238da7e2cf8
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Sat Aug 6 05:19:42 2005 +0000
+
+ Follow suggestion by Aapo Tahkola to fix giant memory leak from forgetting to free the key when entry was already found (presumably a common case).
+
+commit b8731903dff9fb2ec944a9e049cd81db2210b636
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Sat Aug 6 04:39:27 2005 +0000
+
+ Fix card_extensions by following corresponding r200 code.
+ Fix suggested by Ian Romanick.
+ R300 driver now works without segfault.
+
+commit 23a4f50c5b2080e97d1a48d7fb693ad8269fe0e7
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Aug 5 23:13:13 2005 +0000
+
+ Fixes bugzilla #1730.
+
+ Make sure that all the values used in the clean-up code are initialized at
+ some point. It is still unclear to me as to why GCC does not complain. I
+ suspect the problem may be due to the depth of if-statement nesting.
+
+commit 6965f2cb0a481e88fb87f34f82d775bc2080a460
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Aug 5 22:12:49 2005 +0000
+
+ Fixes bugzillla #812.
+
+ The weak version of _glapi_DispatchTSD was removed from dri_util.c. As
+ stated in the bug report, this was only needed to support versions of libGL
+ that did not have this symbol. Versions of libGL without this symbol are no
+ longer supported at all, so it is totally irrelevant.
+
+commit 928218a283b5a3d72350d94543ea8d256bd7b7c5
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Aug 5 20:47:59 2005 +0000
+
+ remove the drmAddress
+
+commit 6bc24c5c0560844e481b76600991665cc076eb2c
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Aug 5 19:13:51 2005 +0000
+
+ In order to create the set of available extensions, we have to know if
+ direct-rendering is possible on a given screen. It is not possible to
+ determine this by just looking at driDisplay.private in the display
+ structure. However, it is possible to determine this by looking at
+ driScreen.private in the screen structure. This field is only non-NULL if a
+ DRI driver has been successfully loaded and bootstrapped. Once we get to
+ that point, we know that direct-rendering is at least theoretically
+ possible.
+
+ This fixes bugzilla #2875.
+
+commit 126c89e35fb5179fe077f7593f31ea874c89dd65
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Aug 5 18:13:37 2005 +0000
+
+ Fix recent problems with display lists and other parts of the code.
+ CALL_by_offset, SET_by_offset, and GET_by_offset all had various problems.
+
+ The core issue is that parts of the device-independent code in Mesa assumes
+ that all functions have slots in the dispatch table. This is especially
+ true in the display list code. It will merrilly try to set dispatch
+ pointers for glVertexAttrib1fARB even if GL_ARB_vertex_program is not
+ supported. When the GET/SET/CALL macros are invoked, they would read a 0
+ from the remap table. The problem is that 0 is the dispatch offset for
+ glNewList!
+
+ One change is that the remap table is now initialized to be full of -1
+ values. In addtion, all of the *_by_offset marcos misbehave in an obvious
+ way if the specified offset is -1. SET_by_offset will do nothing,
+ GET_by_offset will return NULL, and CALL_by_offset, since it uses
+ GET_by_offset, will segfault.
+
+ I also had to add GL_EXT_blend_func_separate to the list of default
+ extensions in all_mesa_extensions (src/mesa/drivers/dri/common/utils.c).
+ Even though many drivers do not export this extension, glBlendFunc is
+ internally implemented by calling glBlendFuncSeparate. Without this
+ addition, glBlendFunc stopped working on drivers (such as mga) that do not
+ export GL_EXT_blend_func_separate.
+
+ There are still a few assertions / crashes in GL_ARB_vertex_program tests,
+ but I don't think that these are related to any of my changes.
+
+commit 33f5e47faf4ee545ac1f7755da652c7e003d0589
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Fri Aug 5 03:48:15 2005 +0000
+
+ Remove EGL from linux-solo makefile
+
+commit 485528f2acb69940a7c757638127f716c0cb2654
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Fri Aug 5 03:33:59 2005 +0000
+
+ More EGL prep. No impact on anything outside of EGL
+
+commit b507bd41607a8025866d125d99c5abbca1931cd7
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Thu Aug 4 22:23:34 2005 +0000
+
+ New files for radeon egl driver.
+ Still a work in progress.
+
+commit 711555d1e347f0e64e6b1b2d0e402e0ee72ace07
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Aug 3 23:05:25 2005 +0000
+
+ Convert all instances of XTHREADS to USE_XTHREADS. This fixes one of
+ serveral things that are broken when building on a system with X.org 7.0rc0
+ installed.
+
+commit 7f5925d57c1405ff40acb2fd40b41ab4f189f7a4
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Wed Aug 3 10:22:31 2005 +0000
+
+ Add color tiling support to miniglx for radeon
+ (Stephane Marchesin + Dave Airlie)
+
+commit 7adcedcd54f6a436512c172e22e98097bfbdbc50
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Aug 1 16:30:24 2005 +0000
+
+ Fix build problems related to finding Xthreads.h.
+
+commit 29206ae569c4c784ec6884084b4bd8631f66b866
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Jul 29 17:30:18 2005 +0000
+
+ Remove unused structures and data fields. These had been left in because
+ DRI drivers using the "old" interface relied on certain fields being at
+ certain offsets. Removing the structures would break that. Now that the
+ old interface is no longer supported, the dead data can finally die.
+
+commit dc6e2c778aa0e67b68fa02043443bfad4dbbccbf
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Jul 29 17:25:50 2005 +0000
+
+ Add a new config called linux-indirect. This build the GLX libGL just like
+ linux-dri, but it disables support for direct-rendering in it. This config
+ mainly exists so that I can verify that changes to libGL haven't broken
+ builds on non-DRI platforms.
+
+commit 4508bcc72c96d468ea121f75e33500a9359a786e
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Fri Jul 29 16:53:02 2005 +0000
+
+ Leave the AGP_BASE code in. It is pointless to bump the interface
+ for X on a miniglx fix. It can be removed later.
+
+commit a7d4bfed8a80fb42ef104a6c9fde68e20526693c
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Fri Jul 29 13:58:22 2005 +0000
+
+ Remove OUTREG(RADEON_AGP_BASE, info->ringHandle); from DRI driver
+ Code is already in DRM driver to do this.
+
+commit 4ce390b9333decc8ffa30ccfc73f8cf264aeea95
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Fri Jul 29 00:48:12 2005 +0000
+
+ Commit Ian's fixes from Bug 3877
+ I have tested these on miniglx and they seem to be working.
+ I'm sure Dave will give them a better test.
+
+commit df68d11b47ffda570b77de6a11bf1afc311f86b2
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Fri Jul 29 00:19:36 2005 +0000
+
+ Fix a == vs !- typo for glx_enable_extension
+
+commit 82e3ecf413704440ea64b3b582d68f82f7b83704
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Jul 28 23:33:18 2005 +0000
+
+ Use the routines supplied in the __DRIinterfaceMethods structure to create a
+ destroy __GLcontextModes structures. This eliminates the need for DRI
+ drivers to ever link with glcontextmodes.c.
+
+commit f7c9eafa856623d5ce72afb8b20b7ccbcc3e671d
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Jul 28 21:57:17 2005 +0000
+
+ glxEnableExtension is a platform-specific function exported by the loader.
+ Therefore, drivers should not require it to run.
+
+commit 68679d2b9e526a351c37c89c78ec50e36f2c9087
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Jul 28 20:55:26 2005 +0000
+
+ Remove '#if 0' block that was accidentally left in.
+
+commit 960467443eedfdf5de481b432cf7436a1dab7818
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 28 02:46:26 2005 +0000
+
+ SPARC, DRI interface changes for 6.3.1
+
+commit 14fa5f6a6088794b2c9c2129f89111d056e76ae9
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Jul 28 01:15:45 2005 +0000
+
+ The dri/*/depend files don't exist on a raw check-out, and that makes 'make
+ tarballs' have issues.
+
+commit 1585c234e0db4bfb7cd85c4111594f6da1582e6f
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Jul 28 00:29:51 2005 +0000
+
+ Major rip-up of internal function insertion interface. The old
+ _glapi_add_entrypoint has been replaced by a new routine called
+ _glapi_add_dispatch. This new routine dynamically assignes dispatch offsets
+ to functions added. This allows IHVs to add support for extension functions
+ that do not have assigned dispatch offsets.
+
+ It also means that a driver has no idea what offset will be assigned to a
+ function. The vast majority of the changes in this commit account for that.
+ An additional table, driDispatchRemapTable, is added. Functions not in the
+ Linux OpenGL ABI (i.e., anything not in GL 1.2 + ARB_multitexture) has a
+ fixed offset in this new table. The entry in this table specifies the
+ offset in of the function in the real dispatch table.
+
+ The internal interface was also bumped from version 20050725 to 20050727.
+
+ This has been tested with various programs in progs/demos on:
+
+ radeon (Radeon Mobility M6)
+ r128 (Rage 128 Pro)
+ mga (G400)
+
+commit 9f23a3a1bff6c8af93e651273c9887bbf119f555
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Jul 28 00:11:10 2005 +0000
+
+ Fix SPARC assembly for 64-bit
+
+ - The test for whether or not we're building for 64-bit is '#ifdef __arch64__'.
+ This appears to be correct on both Linux and Solaris.
+
+ - The test for Solaris is now '#if defined(SVR4) || defined(__SVR4) ||
+ defined(__svr4__)'. GCC 3.4.0 has all three defined on Solaris 9.
+
+ - Enables assembly language clip routines.
+
+ - Fixes to make GLSL code build on Solaris.
+
+ - Update gl_SPARC_asm.py.
+
+commit 3e36986e5a59c734b7bd198a16fb9af3314860de
+Author: Philippe Houdoin <phoudoin@freedesktop.org>
+Date: Wed Jul 27 19:56:33 2005 +0000
+
+ This precious BeOS include file was lost since some released MesaLibs. Fixed. ;-)
+
+commit 67d94e5a8645854491d9663f74e0f8e68106fa96
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Wed Jul 27 18:21:34 2005 +0000
+
+ test for the proper drm version, at least 1.17 is required
+
+commit a7df74ea024d5897040124784ed908e4c4ea4fe4
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Tue Jul 26 23:09:50 2005 +0000
+
+ typo
+
+commit 36d6e9df16face24cb173a311a74b6bb6eb3425f
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Tue Jul 26 23:06:10 2005 +0000
+
+ support GLX_DIRECT_COLOR in 1.4.0
+
+commit ab7c6ffadccbeb96b6f4ac58fb75e90697cd30c5
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Jul 26 22:53:38 2005 +0000
+
+ Remove the last remnants of GLX_BUILT_IN_XMESA. This allows the removal of
+ the evil, ugly GLX_PREFIX macro as well.
+
+commit 13613986004fcd43e8079b23d8128c2d572bca76
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Tue Jul 26 21:53:16 2005 +0000
+
+ Bump the required ddx to 1.4.0 as drmAddress has been removed so that 32/64bit
+ combinations work.
+
+commit 5c6fd3dd4c1b8e95c4da8cc4a52aa310ad324d45
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Jul 26 05:57:24 2005 +0000
+
+ No, really, get rid of all the remaining references to DRI_USE_NEW_INTERFACE.
+ A couple other remnants of the old interfaces hit the dust too. Thanks
+ Jon. :)
+
+commit a08d8a095c117bd845418401dc754851e6187aa4
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Jul 26 05:55:56 2005 +0000
+
+ Quote $(CC) and $(CXX) so that 'CC=ccache gcc' and 'CXX=ccache g++' will
+ work again.
+
+commit 5f1ba3e21b62cee1a4f900a2e6964728f3eeea9b
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Jul 26 02:44:01 2005 +0000
+
+ Fixes the glXGetProcAddress portion of the interface. Most of the functions
+ that are currently obtained via glXGetProcAddress and all of the XF86DRI
+ functions are replaced with a funciton table. This table will be passed to
+ __driCreateNewScreen.
+
+ One of the functions in the table is getProcAddress. This allows some
+ loaders to expose functionality not in all loaders. This will be immediatly
+ used for glxEnableExtension (formerly known to drivers as
+ __glXScrEnableExtension). libGL (and in the future libglx) expose this
+ function so that drivers can enable GLX extensions. libEGL should exposed
+ eglEnableExtension to enable EGL extensions. The same function cannot be
+ used for both because the extensions have different names and (possibly)
+ different semantics. Drivers can optionally use one, both, or neither.
+
+ The key parts are in the __DRIinterfaceMethodsRec structure in
+ dri_interface.h. A pointer to one of these structures is passed into
+ __driCreateNewScreen. Because of this, the version of the API is bumped to
+ 20050725. Since the previous version(s) were never in a release, their
+ existance is erased.
+
+ I was actually a little surprised by how much code this cuts from the
+ drivers. A lot of glXGetProcAddress calls disappear, and a lot of
+ version checks go with them. Nice.
+
+ The one thing I'm not sure of is removing __glXInitialize. For some
+ reason that function was in the glXGetProcAddress table, but *nothing*
+ in the Mesa tree used it. Did something with DRI conf. use this
+ function? It seems odd...
+
+commit 1201348a337aa00a85b6bc6dec4963cfc5898e77
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 26 01:04:53 2005 +0000
+
+ improve comments about win[0..3] values (bug 2554)
+
+commit 800c72ae61532fba4a9cada8713e60ed0d2d7347
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 26 00:10:53 2005 +0000
+
+ Fix bug 1858 - array subscript out of range in gamma driver.
+ Set ctx->Const.MaxTextureLevels = GAMMA_TEX_MAXLEVELS = 12
+ Remove bogus WRITE(level 12).
+ Max gamma texture size is 2kx2k (note: 2k = 1 << (MaxLevels - 1))
+
+commit 7c1ab4089868ed49a9317c76d875b2cef062bc61
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 25 23:49:50 2005 +0000
+
+ Add license/copyright.
+ Add -h/--help option for usage.
+ Minor clean-ups.
+
+commit 8dcc6736aba672916bd4bc70a964c30bb11eeafa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 25 22:59:58 2005 +0000
+
+ Added -linker option to mklib, used to specify a particular program for
+ linking, if relevant.
+ Updated Makefiles to use -linker option instead of setting CC, CXX env vars.
+
+commit e9dbe58b8b541d0abb9be9e1000a63776abe678c
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Sun Jul 24 07:38:23 2005 +0000
+
+ Gut a few more dead bits. Replace uses of the CreateNewScreenFunc typedef
+ (from glxclient.h) with PFNCREATENEWSCREEN (from dri_interface.h).
+
+ Remove the prototype for __driCreateScreen and fix the prototype for
+ __driCreateNewScreen (append the API version) in dri_interface.h.
+
+commit c39bf5e273a4995a279ae2af59fc29e06ab47e29
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Sun Jul 24 06:29:14 2005 +0000
+
+ All elements of pre-DRI_NEW_INTERFACE_ONLY are removed. This allows
+ 1,402 lines of code to be removed from Mesa (drivers and libGL). The
+ big winner is dri_util.c.
+
+ Primary changes are:
+
+ 1. Remove all "deprecated" entry-points from the various structures in
+ dri_interface.h.
+
+ 2. Rename the remaining fields to removed "version numbers." So,
+ bindContext3 becomes bindContext. Functions with "New" in the name
+ (e.g., CreateNewContext) were *not* changed, but that is an option.
+ Having "New" in the name is less annoying to me than having "3" in the name.
+
+ 3. Remove all compatibility code that handles cases where the driver or
+ the loader is too old to support the latest interfaces.
+
+ 4. Append the API version to the __driCreateNewScreen function name.
+ This is currently done by hand. In the future (i.e., the next time we
+ make an incompatible change to the interface) we'll want to come up with
+ a better way to do this. This prevents old loaders from being able to load
+ new (incompatible) drivers.
+
+ 5. Bump the API version to 20050722. All drivers (by way of dri_util.c)
+ require this version.
+
+ 6. All drivers are *required* to expose GLX_SGIX_fbconfig and
+ GLX_OML_swap_method (or the moral equivalents). Support for these
+ functions in implicit in the use of the "new" interface.
+
+ 7. Some cases still exist that need to be compiled differently in a loader
+ or core Mesa versus in a driver. These are identified by the define
+ IN_DRI_DRIVER.
+
+commit 7d40d230fa26abeb9f92bdcf8012eddbc585b118
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Sat Jul 23 02:09:58 2005 +0000
+
+ Add two aliases for some PointParameters entrypoints for libglx compatibility.
+ Doing this here rather than on the GLX side since the X monolith hasn't had
+ Mesa 6.3 imported yet.
+
+ idr, I know this is touching a generated file, but I haven't figured out what
+ needs changing in the generator scripts to make this change happen. If you
+ could add that I'd appreciate it.
+
+commit 3e2419a7cc0e42eebeb470e09054da29c3a182df
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 22 15:52:46 2005 +0000
+
+ Break the long list of MAIN_FILES and DEMO_FILES into subgroups.
+ rm/touch the depend files when making tarballs so they don't include
+ RedHat-specific paths (bug 3842).
+
+commit 70cf1f0cf83fc3f2df241cc638e23f8df3b89923
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Fri Jul 22 09:30:54 2005 +0000
+
+ ----------------------------------------------------------------------
+ Committing in .
+
+ _mesa_sprintf crashes on OpenVMS -> replaced it by the OS-supplied sprintf
+
+ Modified Files:
+ Mesa/src/mesa/drivers/x11/fakeglx.c
+ ----------------------------------------------------------------------
+
+commit 60a6a0eb51a6cafc9f65bff8028510e0788cf311
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 22 02:55:36 2005 +0000
+
+ some GLuint idx -> GLint idx changes
+
+commit fea5a428e900ee4a3e2b8a0f7f6cf0d5264b9112
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 22 02:54:14 2005 +0000
+
+ added vp negative addressing bug fix
+
+commit 61e694f270d8a4a03a3245b5e6eea805915ed74b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 22 02:53:38 2005 +0000
+
+ Make the vertex program source register Index field a signed int since
+ relative addressing can be negative.
+ Change some GLuint indexes to GLint in the t_vp_build.c file.
+ Added PROGRAM_UNDEFINED token for initializing the register File field to
+ avoid a gcc 4.0 warning.
+
+commit db251d72c84256267cd1f7c062071a7143455048
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 21 18:46:49 2005 +0000
+
+ bump version to 6.3.1
+
+commit 7a37189adc407af31f8c269e9beccc1464d65592
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 21 18:45:54 2005 +0000
+
+ 6.3.1 updates
+
+commit f87bb14b0b5bb10962843faaf1fdd0e6efa75a6e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 21 18:45:44 2005 +0000
+
+ updated with DRI building instructions
+
+commit dff11bb9a8f1d7ad4c15bfe0ba070d4fa51ec4ed
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 21 18:44:52 2005 +0000
+
+ bump version to 6.3.1 and include DRI/GLX files in tarballs
+
+commit 98b06bcbeba24bc5d3e8ac805d9b27c918344f8e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 21 18:11:24 2005 +0000
+
+ make i810PrintSetupFlags() static, first param const
+
+commit 7b5c506c0ed6730d050435d3aedf90e9f65961bb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 21 15:58:16 2005 +0000
+
+ first 6.3.1 bug fixes
+
+commit 7cf480e6fe9b2d2116d4d92a250a869c9ac7653d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 21 15:57:29 2005 +0000
+
+ s/2004/2005/
+
+commit 951dbf08e740ec5808c267f18199788c78f621d9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 21 15:48:39 2005 +0000
+
+ check for FEATURE_EXT_framebuffer_object to enable EXT_framebuffer_object
+
+commit 49e74989c3ca690b29ad8280765c467bac537f73
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 21 15:41:56 2005 +0000
+
+ remove ^M chars, disable shading language extensions
+
+commit 3e8efc3753e0aa248ba91f42a05a8794e4343f3d
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Wed Jul 20 23:24:55 2005 +0000
+
+ Clean up warnings in r300 code by making some symbols static, adding prototypes
+ for others, and being cleaner with types in fragment/vertex program structures.
+ One warning in r300_shader.c is still concerning.
+
+commit aeb0ee771b1ba82231a2d6caf8fb3371ad0e59ec
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Wed Jul 20 22:08:06 2005 +0000
+
+ Connect the r300 bits up to the build.
+
+commit 6ae76788a73be2348d1fa84e026928f5a7defc1a
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Wed Jul 20 22:07:29 2005 +0000
+
+ Add some missing defines, copied from linux-dri.
+
+commit e98494d0a423f1c5d756cecac2ca190fc881e027
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Wed Jul 20 21:35:27 2005 +0000
+
+ Forced commit to note repocopy from r300.sf.net CVS.
+
+commit 18014525a108829ec1fdbaf2e3df4007b7f80787
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 20 18:25:01 2005 +0000
+
+ fix some URLs
+
+commit 2276679c5304fb4e82dfaf73754d12cf002e1f5e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 20 18:20:45 2005 +0000
+
+ added md5 checksums for 6.3
+
+commit d4596584f61a14673a233f94022e87a8db666a40
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 20 18:07:11 2005 +0000
+
+ more updates for 6.3 release
+
+commit 6bb49eacfda3c64da2d2df874508be57690584a3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 19 21:01:46 2005 +0000
+
+ updates for 6.3 release
+
+commit bfb5ea307ec48b9b8d0d2eca0c03f6d02273d454
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 19 18:20:04 2005 +0000
+
+ replace fprintf() calls with _mesa_problem()
+
+commit 364ae78e69361618c49078edb1dee090a18025f5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 19 18:18:49 2005 +0000
+
+ remove fprintf()
+
+commit 8d7d9c22f6aacf1e3bddf39e4305dcc152a498a1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 19 15:34:44 2005 +0000
+
+ include driverfuncs.h
+
+commit 2d47c07398ff7d2e46f7f639abe0cb13b1fa423a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 19 15:27:03 2005 +0000
+
+ overlay planes test
+
+commit 7e152b83cbc3af028175a52450c60101cb16acf8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 18 20:07:19 2005 +0000
+
+ s/clippping/clipping/
+
+commit ed886336e12d54e897285ce609447b39cc62a08d
+Author: Philippe Houdoin <phoudoin@freedesktop.org>
+Date: Mon Jul 18 19:27:49 2005 +0000
+
+ Fixed warnings by using GLUTProc type instead of anonymous (void *) for
+ GLUT callbacks.
+
+commit 5343ae8304f3701a9bdd52e0ba45e9b2317651a4
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Mon Jul 18 13:53:03 2005 +0000
+
+ re-enable the ffb driver
+
+commit df88dfe1dfff12c755270b86ab10236486b89a59
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Mon Jul 18 13:52:34 2005 +0000
+
+ Fix the FFB driver for the renderbuffer changes
+ Support NEW INTERFACE as well
+
+commit c235a96a7198f5975baec3870e48ee83bf32e23a
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Mon Jul 18 13:50:06 2005 +0000
+
+ pass in the renderbuffer
+
+commit aa8ff1e75dbfccd73a15230ccd1f64bb26766860
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Jul 18 12:33:03 2005 +0000
+
+ Missed this on the previous commit.
+
+commit 9bdfee3a470a535ebe31074651fbacf680bcea6a
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Jul 18 12:31:24 2005 +0000
+
+ Wrap every place that accesses a dispatch table with a macro. A new script-
+ generated file, called src/mesa/glapi/dispatch.h, is added. This file
+ contains three macros for each API function. It contains a GET, a SET, and
+ a CALL. Each of the macros take a pointer to the context and a pointer to
+ the dispatch table.
+
+ In several threads on mesa3d-dev we discussed replacing _glapi_add_entrypoint
+ with a new function called _glapi_add_dispatch. For this discussion, the
+ important difference between the two is that the caller of _glapi_add_dispatch
+ does *not* know what the dispatch offset will be at compile time. Because of
+ this callers need to track the dispatch offset returned by
+ _glapi_add_dispatch.
+
+ http://marc.theaimsgroup.com/?t=111947074700001&r=1&w=2
+
+ The downside is that driver code then has to access the dispatch table two
+ different ways. It accesses it using structure tags (e.g., exec->Begin) for
+ functions with fixed offsets and via a remap table (e.g., exec[
+ remap->NewExtensionFunction ]) for functions without fixed offsets. Yuck!
+
+ Using the macros allows both types of functions to be accessed
+ identically. If a driver needs to set a pointer for Begin, it does
+ 'SET_Begin(ctx, exec, my_begin_function)'. If it needs to set a pointer
+ for NewExtensionFunction, it does 'SET_NewExtensionFunction(ctx, exec,
+ my_NewExtensionFunction_function)'. Furthermore, if at some point in
+ the future a static offset is assigned for NewExtensionFunction, only
+ the macros need to change (instead of every single place that accesses a
+ table for that function).
+
+ This code differs slightly from the originally posted patches in that the
+ CALL, GET, and SET marcos no longer take a context pointer as a parameter.
+ Brian Paul had suggested that the remap table could be stored as a global
+ since it would be set at CreateScreen time and would be constant for all
+ contexts. This change reflects that feedback.
+
+ http://marc.theaimsgroup.com/?t=112087194700001&r=1&w=2
+
+commit e0e993c5ff090058037875642dcd34727a3d8760
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Sat Jul 16 04:02:05 2005 +0000
+
+ XMesaResizeBuffers needs separate paths for client and server builds
+
+commit c529f6bf701dcb50741a444f496ede1fa6a44fe0
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Sat Jul 16 00:56:20 2005 +0000
+
+ strip out vestigial #ifdef HAVE_CONFIG_H stanzas, they're confusing the
+ modular X build
+
+commit 8d3aca655e0e7a7718c6f3a8cdbcbd0787cb85e3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 15 23:13:46 2005 +0000
+
+ disable call to via_sse_memcpy() until it's fixed
+
+commit 1f88391747ef11efd54d42770d99b3c3a0cca8a8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 15 23:08:06 2005 +0000
+
+ need to flush vertices for GL_OCCLUSION_TEST_RESULT_HP query
+
+commit d39760d71869b96140f7ac82b1029d0a3b79aae4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 15 22:48:09 2005 +0000
+
+ Check for null program->Parameters pointer in validate_vertex_program().
+ GL_NV_vertex_program programs can't directly reference GL state so this
+ pointer is always NULL.
+
+commit df0350b7ec11ea0d130a8d29642f94c8512b29bc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 15 22:47:00 2005 +0000
+
+ added comments
+
+commit b0489d4f822211f50c99a789ce797e9e10bf4a6c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 15 20:17:02 2005 +0000
+
+ remove duplicate "User disable" string
+
+commit 8ec981c469b43490b2e7939de443e978378a6445
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 15 14:31:31 2005 +0000
+
+ redo previous check-in, just set ARCH_FLAGS = -m32
+
+commit 4eb3a0f076a0a15ae240decf3b6a2dc8995d5ccb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 15 13:58:58 2005 +0000
+
+ define CFLAGS and CXXflags with -m32 (Egbert Eich)
+
+commit 4c72778251ef41053f417dc26408070c22c852d9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 15 13:55:20 2005 +0000
+
+ replace gcc with $(CC) (Egbert Eich)
+
+commit badad72383369fc9b1e32f7f550929af04ed3c4a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 14 23:16:41 2005 +0000
+
+ eglgears demo (Dane Rushton)
+
+commit c62c24c72f42bebce576c4e34d100acaaa5e674e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 14 23:10:21 2005 +0000
+
+ added a few more fallbackStrings (Andreas Stenglein)
+
+commit b127cfeb7a4a78d9e7da8b005fff74dff5fad4ce
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jul 13 17:49:22 2005 +0000
+
+ Use the LDEXPF wrapper macro.
+
+commit 3f7cb794ea154ddcc7b1a8d792eae658d077db81
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jul 13 17:47:40 2005 +0000
+
+ Add a LDEXPF wrapper macro.
+
+commit c472dcdac0b95cf48a6c8b2f355e14e063f72650
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jul 13 13:50:31 2005 +0000
+
+ Wrap RESTORE_FPU/RND_NEG_FPU declarations with check for USE_SSE_ASM.
+
+commit ce721143b4d44d239baefe965e499606149b15cb
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jul 11 10:10:38 2005 +0000
+
+ Cache texenv programs to avoid repeated compilation (Ben Skeggs)
+
+commit 9311bc253e0942af621b7efab0549ed75c0ce4a8
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Jul 10 11:23:10 2005 +0000
+
+ Add runtime compiled x87 implementations for most of the remaining
+ opcodes. When enabled via environment vars, gears runs and almost
+ looks right but other apps are still quite buggy.
+
+commit 0cfbd849ecaa59b842eca303d581d4ce90440bac
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Jul 10 11:14:00 2005 +0000
+
+ Add lots of x87 fpu instructions.
+
+commit 6d5d1f8a41a53db94596c170270a37b94bf00eb3
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Jul 8 21:55:56 2005 +0000
+
+ Restore linux-x86-32 config for Brian.
+
+commit 38e2fa385de8a77d4e967fa5cbf5b702f752df2b
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Jul 7 20:43:01 2005 +0000
+
+ Put back the glPopMatrix. This test was derived from blendminmax.c.
+ When extra code was cut from blendminmax.c's Display function, the
+ glPopMatrix call was also accidentally cut.
+
+commit 2550844c6e20286113ea7f8d72cd9a9e0b05bc3d
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Jul 7 19:35:30 2005 +0000
+
+ Correct the comments in the file headers. Oops.
+
+commit 259f096ed862b0566111378af5bcdd5c34039faa
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Jul 7 19:34:06 2005 +0000
+
+ Add regression test for bug #3101.
+
+commit f3186e578938f4f02268317da528c664d6be7b46
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Wed Jul 6 12:49:46 2005 +0000
+
+ Re-enable r200InitSpanFuncs, which was ifdefed out (probably by mistake?),
+ so r200SetBuffer, r200SpanRenderStart and r200SpanRenderFinish get called again.
+ Bugzilla #3705, #3706.
+
+commit 4cf6718725c7cf3bfb728118a8b14f8cf206c701
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 5 14:13:42 2005 +0000
+
+ The old MESA_PBUFFER_ALLOC() function allocated memory on 512-byte boundaries.
+ Restore that behavior with new _mesa_alloc_texmemory() function.
+ Should fix via_sse_memcpy() problem in found with flightgear.
+
+commit 78be0b5dadb3fb80e2283dbfa7f2ede146d80b41
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Sat Jul 2 21:28:01 2005 +0000
+
+ Put default back to the normal DRM path
+
+commit f0ff50d4edbeab5aa0df349772ed2eda64878282
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Sat Jul 2 08:29:57 2005 +0000
+
+ Add support for assembly (static) dispatch functions on x86-64. This
+ is basically patch #2939 from X.org bugzilla #3379. This does *not*
+ fix the bug as it does not dynamically generate stubs at run-time. It
+ just gets things one step closer.
+
+commit 1a9cac10b85aed9f93d765a1569dbaeb658a9def
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Sat Jul 2 07:48:41 2005 +0000
+
+ linux-x86-32 is unnecessary. The same thing can be acomplished by
+ 'make linux-x86 ARCH_FLAGS=-m32'.
+
+commit 9204e87b2ea2e9b441ab6422ae58bfebb5cdffce
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Sat Jul 2 07:38:40 2005 +0000
+
+ Massive refactor of (most of) the Linux config files. This reduces
+ the length of each config and brings a lot of much needed uniformity
+ to them.
+
+commit 4f178c6e3a95848257edc4623c72fb0a8eebf282
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Sat Jul 2 07:12:44 2005 +0000
+
+ Add $(CFLAGS) to the link commands. This makes 'make linux-x86
+ ARCH_FLAGS=-m32' work correctly on x86-64 systems.
+
+commit ef2ce9d003fc69741bb02262f89ea35e948cbb5b
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Sat Jul 2 07:11:54 2005 +0000
+
+ Make linux-x86 more like the other linux configs.
+
+commit c1c684b0f3860099b9e6e77df4451bb61474736b
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Sat Jul 2 01:09:10 2005 +0000
+
+ Expose the fact that we do not do either selection of feedback buffers - either with software or hardware rendering.
+
+commit 666dcaaf05cd6f2f3e21753a16973d6de50634f0
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Fri Jul 1 21:26:43 2005 +0000
+
+ Adding RV350_NJ ID.
+
+commit 7b1222025672510f602e506e367a56725d365eca
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Fri Jul 1 21:22:05 2005 +0000
+
+ Adapt extension string to new GL dispatch schema proposed
+ by Idr. This patch is based on Idr patch to radeon driver.
+ Change #if 1 to #if 0 (r300_context.c:l69) for old dispatch
+ tab.
+
+commit 5f79d27b82d14fb51d20abcaa582e4eef1e80555
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Jul 1 21:08:00 2005 +0000
+
+ Update notes with VC7 info.
+
+commit c136b41b0974b8e6b19087dfd15aaae94a8a7f32
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Jul 1 20:31:41 2005 +0000
+
+ Add windows VC7 project files to filelist for tar/zip files.
+
+commit ee850657e6605f7bedcf608ec6b8561e1ef5f82a
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Jul 1 20:25:57 2005 +0000
+
+ VC7 project file for building glut lib
+
+commit 0cf67634bb53be62f843e4ea75fec62c61306b90
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Jul 1 20:25:23 2005 +0000
+
+ VC7 project file for gears demo
+
+commit 101d05ad94bb312f3a1490de536436cfb8e6632c
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Jul 1 20:24:49 2005 +0000
+
+ VC7 Solution file for building glut and demos
+
+commit c5b6580c6fc9ebd58d65e2658647a772592a0f51
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Jul 1 20:23:52 2005 +0000
+
+ VC7 project file for osmesa
+
+commit 35a11c14ee58709f8b3be9bd68ede05d31cba753
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Jul 1 20:23:23 2005 +0000
+
+ VC7 project file for core mesa lib
+
+commit ec171b7d02a3cb88e6317cfd5ef0c1b8c888f8ed
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Jul 1 20:22:41 2005 +0000
+
+ VC7 project file for glu
+
+commit 2de5f6e252bc1b8babd3d29718bc6d617ae4b9a7
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Jul 1 20:21:45 2005 +0000
+
+ VC7 project file for gdi driver
+
+commit b64d60a2a6150ff5699b947aa869a4ad4ef10ace
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Jul 1 20:19:47 2005 +0000
+
+ Visual Studio 7 solution file for mesa lib
+
+commit eac76882315a576a91b26b84f06144d3c8083758
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Jul 1 20:11:46 2005 +0000
+
+ Don't #define __FUNCTION__ on a Microsoft C compiler new enough to have it.
+
+commit 219f3c4489168efbb9ad008575d86023cf0463ef
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jul 1 17:12:29 2005 +0000
+
+ Set fp->Opcode for OP_TEX_KILL case, fix from Ben Skeggs.
+
+commit 06abb854f03b247a449d5b6de37a08b80d79f422
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Jul 1 15:59:33 2005 +0000
+
+ Add new files to project.
+
+commit 7fe8696d017faaebce8d4238b447adabd00a9f4b
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Jul 1 15:58:02 2005 +0000
+
+ Use frexp on Windows; frexpf is not available.
+
+commit 9b5678198604a3f959af990f5a4dd39d799ef667
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Jul 1 15:56:14 2005 +0000
+
+ Fix a prototype
+
+commit 758f334717eaf6700defcde126cb9194155a2264
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Fri Jul 1 11:28:14 2005 +0000
+
+ convert sis and radeon driver to use spantmp2 instead of spantmp template. Remove old (pre-renderbuffer) span code instead of converting that too. Remove this old code from mach64 (the dead code was not fully converted to spantmp2 previously) too.
+
+commit 8e8fa63cb401f38b3320484faa7ea463cca9d8d5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 1 02:03:33 2005 +0000
+
+ comment-out some unused code to silence warnings
+
+commit 559c494fc8b4cc8b058a2f2046ce492d0294e51e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 1 02:03:00 2005 +0000
+
+ replace some free() calls with _mesa_free()
+
+commit 03f52fea632b0f9aa1c1f9aa79a9f92ba82ec222
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 1 01:55:30 2005 +0000
+
+ updates to file list for tarballs
+
+commit 6d3284efd4fcead463b69dc854258a8f32689536
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 1 01:54:38 2005 +0000
+
+ fix dependencies
+
+commit 58a9573b08d6201c4dc75a7378471296ffb4700e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 1 01:34:29 2005 +0000
+
+ added some glGetRenderbufferParameterivEXT calls, printfs, and assertions
+
+commit 0d34c0158d341ab42a3710d2bb195a8d3f2ac115
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 1 01:30:03 2005 +0000
+
+ fix typo in assertions
+
+commit f4f1c2959767a65cd592a978e238a039c15b9635
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 1 01:27:00 2005 +0000
+
+ Move the PYTHON2 and PYTHON_FLAGS assignments to configs/current, and
+ include $(TOP)/configs/current in glapi/Makefile so those vars can be
+ easily overridden by any system config, if needed.
+
+commit bb5c84fcbc22b4fef28cf4589d6410eb3c35a496
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 1 01:22:25 2005 +0000
+
+ Remove NEW_RENDERBUFFER stuff.
+ Now, OLD_RENDERBUFFER marks code that needs to eventually be removed when
+ all the drivers are updated to no longer need the SetBuffer() function.
+
+commit 446e25894099ed8e1c7034d812ca4baf30a84a56
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 1 01:10:36 2005 +0000
+
+ remove OLD_RENDERBUFFER code
+
+commit 54fb9226e4b1262f4dcae6dcfb552238aefd29e7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 1 01:08:29 2005 +0000
+
+ remove OLD_RENDERBUFFER stuff
+
+commit 30aea49cf6450f8f098001076b29aad85d0b9f25
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 1 01:04:31 2005 +0000
+
+ minor fixes
+
+commit cf5b2f7419b28cdd533c60e205d5a90d96e85c8e
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Fri Jul 1 00:08:46 2005 +0000
+
+ remove common macros used in the span functions of most drivers from the individual drivers and put them in common code. It is still possible for a driver to define its own macros if it has special needs. This affects CLIPPIXEL, CLIPSPAN, HW_CLIPLOOP, HW_ENDCLIPLOOP, and for drivers using the spantmp2 template also GET_SRC_PTR and GET_DST_PTR.
+
+commit c212abf99af494f024b0b981a83350f7ac9821ef
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Jun 30 16:00:48 2005 +0000
+
+ Replace add_newer_entrypoints (src/mesa/main/context.c) with
+ device-specific code. A new Python script
+ (src/mesa/glapi/extension_helper.py) generates a list of all
+ entry-points for all known extensions. Each driver the selects only
+ the extensions that it needs and enables the via either
+ driInitExtensions or driInitSingleExtension.
+
+ This code has been compile-tested on a drivers, but has only been
+ run-tested on mga and i915 (on i830 hardware).
+
+ These changes were discussed at length on the mesa3d-dev mailing list.
+
+ http://marc.theaimsgroup.com/?t=111947074700001&r=1&w=2
+
+commit 1ac8ae446af753ec1bdbb789d7b575a72ff56e8f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 30 14:24:44 2005 +0000
+
+ remove \n from warning message string
+
+commit aa70253cbbe65aee58a3715970f6758daf2093d5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 30 14:23:40 2005 +0000
+
+ added newline at end of file
+
+commit 049e320f46f3a3daaa36ef67cc680dc504c124d5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 30 14:22:23 2005 +0000
+
+ Add a set of predicate functions for testing matrices instead of directly
+ testing the flags field.
+ Move definition of all the MAT_FLAGs into the m_matrix.c file since they're
+ now private.
+
+commit f138b977d09327445a8e9c8126c493c4487c1630
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 30 13:42:10 2005 +0000
+
+ Redo all the GL_LINEAR interpolation code in terms of LERP macros/functions.
+ This cleans up and simplifies the arithmetic quite a bit.
+
+commit 4d652b7855d1f852fd81fcffe7dabf9c685c9a0b
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Thu Jun 30 11:42:56 2005 +0000
+
+ Fix crashes with pixel readback when using the optimized assembly functions.
+ Pixel count can be negative (this could be fixed elsewhere), so adapt the
+ functions to work with such inputs correctly (same behaviour as non-optimized
+ functions).
+ Bugzilla #2317
+ Submitted by idr
+
+commit b0d62880e8d10104999ac719f537f233d5c23197
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Thu Jun 30 04:37:19 2005 +0000
+
+ -"fix" page flipping
+ -use depth tiling if tiling is enabled
+
+commit 0e55891674799afdb27c8b510954ab5bc85736ae
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 30 02:34:07 2005 +0000
+
+ fix a few glitches
+
+commit ccda2162f6b03fdda68edc7b3993fe07a5027395
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 30 02:33:25 2005 +0000
+
+ fix Darwin dynamic lib naming
+
+commit b6c0d753fa6c68ae1cd27caa92627db238f877d2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 28 03:48:08 2005 +0000
+
+ just code clean-ups and new comments
+
+commit ec17e7941a2e6aae61372935d3fcb6135ec0b1c7
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Mon Jun 27 18:46:31 2005 +0000
+
+ Uncomment a couple of helper functions.
+ Fix slipup from CVS update that was commented out and did not show up during compilation.
+
+commit b6c5116171c686fb251320491dcdc1450e7b6212
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Mon Jun 27 15:56:14 2005 +0000
+
+ Rename unchecked state to match DRM driver.
+ Emit wait idle and pacify r300 before emitting state - this seems to improve stability.
+
+commit 84f8d7aafb40b5bcadfefc86e0b4e0ba0646974d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 27 00:45:36 2005 +0000
+
+ include t_vp_build.h
+
+commit 39a488ed63fdca1427124439e78ff1b0e9c5454a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 27 00:39:33 2005 +0000
+
+ remove unused MEMSET16 macro
+
+commit 2dbffb30f05fcf67658c64b8101e9efaf07ca388
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 27 00:34:17 2005 +0000
+
+ Get rid of the MESA_PBUFFER_ALLOC/FREE() macros.
+ If that stuff is still needed, lots of other updates are needed anyway.
+ Also, some misc MALLOC/FREE -> _mesa_malloc/free() changes.
+
+commit 397088ff5e904d5cb0fbff1f58fbd0d2bb498302
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 27 00:30:56 2005 +0000
+
+ added _tnl_ProgramCacheDestroy() prototype
+
+commit c43f03e38dd4bfbcbc0cc8414e2bacfbffad08a1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 27 00:30:37 2005 +0000
+
+ make create_new_program() static
+
+commit 3f9839a52b6152d349b5c6279cd7a3d3106b3999
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Sun Jun 26 21:57:23 2005 +0000
+
+ Fix crashes during rasterization fallback by avoiding _tnl_need_projected_coords
+ during fallbacks. In one case, _swsetup_Wakeup had just been called, covering
+ the need there, and in the other case, we can simply exit the entire
+ radeonChooseVertexState function, knowing that it will be called again once we
+ leave the fallback.
+
+ Bugzilla #: 2516
+ Submitted by: sroland
+
+commit a4eb693b5fa74df9a43042fe763814a01ddeb42d
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Sun Jun 26 21:54:43 2005 +0000
+
+ Remove the #if 0-ed out old span code.
+
+commit 32b898126eeba38245ed1dac7d7332c3f923a012
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Sun Jun 26 21:53:11 2005 +0000
+
+ Explain the reason for TCL fallback when GL_SPHERE_MAP happens with
+ RADEON_DEBUG=fall.
+
+commit 3b817fde8832ac577c307e64959e5049017b475f
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Sun Jun 26 21:02:58 2005 +0000
+
+ Zero out the ENGPACKET allocated on the stack, to avoid sending uninitialized
+ values to reserved fields on the card, resulting in all-black output and
+ sometimes hangs.
+
+ Submitted by: Thomas Winischhofer
+
+commit 845f2a73506837e4ec4e0cf8bb99a2d63bdaf1b4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jun 26 20:08:23 2005 +0000
+
+ fix for-loop in _mesa_GetDouble to avoid out of bounds memory read
+
+commit f8582b6c1f2403869d21bf57093f644284139802
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jun 26 19:57:17 2005 +0000
+
+ check for null oldBuffer in _mesa_realloc(), cleaned up some comments
+
+commit 394fd40a536faade5ccfbbb1f2920394e89ad4aa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jun 26 19:53:52 2005 +0000
+
+ need parenthesis in realloc call
+
+commit 4e1aae6e0ed9a0b49b50ff420822463442392e5d
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Jun 24 18:54:57 2005 +0000
+
+ Ignore files generated as part of the build process.
+
+commit 5aafea03af051fa06589580205342001a8eb2693
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Jun 24 18:35:31 2005 +0000
+
+ Fix non-x86 specific builds. The changes from glTexImage3DEXT to
+ glTexImage3D that caused me so many problems during the re-development
+ of the API scripts reared its ugly head again. This has been fixed by
+ tracking the parameter string for each entry-point individually.
+
+ This has the annoying side-effect that the names of the parameters in
+ all aliases of a function must be the same or gl_apitemp.py will
+ generate bad code. :( The changes in
+ src/mesa/glapi/{gl_API.xml,glapitable.h} and src/glx/x11/* are caused
+ by fixing the parameter names in various function aliases that didn't
+ match.
+
+ Reported by: Eric Anholt, Jacob Jansen
+
+commit 3fb86eefe8b22e8d95111ef49feb0a91d865fd00
+Author: Jeremy Kolb <jkolb@freedesktop.org>
+Date: Fri Jun 24 02:28:02 2005 +0000
+
+ Fixed the XCB implementation when always_array is true, thanks to Ian Romanick for pointing it out. Please review.
+
+commit 1c5caba184dc6f9bf7b2c730d8d3109a7a59ce52
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 23 15:09:32 2005 +0000
+
+ Remove the xmesa_set_buffer() function. No longer needed since the
+ span functions pass in a gl_renderbuffer to indicate which color
+ buffer should be drawn into. Optimized line/triangle routines are
+ smart enough to know which buffer to draw into as well.
+ The swrast->SetBuffer() routine should eventually be removed from
+ all drivers.
+
+commit 2636e853f60cf6944d04c9eb4bf25e8ef83c1cb3
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Jun 22 17:11:20 2005 +0000
+
+ Mark GenQueriesARB at 'always_array="true"'. This eliminates the need
+ to special-case the handling of that function in glX_proto_send.py.
+
+commit 814e5360b0f556e39f1f55ea4173de412df38f7d
+Author: Jeremy Kolb <jkolb@freedesktop.org>
+Date: Wed Jun 22 02:36:23 2005 +0000
+
+ Fixed a bug where GenQueriesARB was generating the wrong code for XCB and wouldn't compile. Not sure how that slipped through before but it should work now.
+
+commit 66a5548fbbf4c04a74b0bbc451718a8fc95502d9
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Jun 21 23:42:43 2005 +0000
+
+ Mammoth update to the Python code generator scripts that live in
+ src/mesa/glapi. Basically, the scripts that did simple things (like
+ gl_offsets.py) were simple, and the scripts that did more complicated things
+ (like glX_proto_send.py) were getting progressively more and more out of
+ control. So, I re-write the foundation classes on which everything is based.
+
+ One problem with the existing code is that the division between the GL API
+ database representation and the way the output code is generated was either
+ blury or nonexistant. The new code somewhat follows the
+ Model-View-Controller pattern, minus the Controller. There is a distinct
+ set of classes that model the API data, and there is a distinct set of
+ classes that generate code from that data.
+
+ One big change is in the class that represents GL functions (was glFunction,
+ is now gl_function). There used to be an instance of this calls for each
+ function and for each alias to that function. For example, there was an
+ instance for PointParameterivSGIS, PointParameterivEXT, PointParameterivARB,
+ and PointParameteriv. In the new code, there is one instance. Each
+ instance has a list of entrypoint names for the function. In the next
+ revision, this will allow a couple useful things. The script will be able
+ to verify that the parameters, return type, and GLX protocol for a function
+ and all it's aliases match.
+
+ It will also allow aliases to be represented in the XML more compactly.
+ Instead of repeating all the information, an alias can be listed as:
+
+ <function name="PointParameterivARB" alias="PointParameterivEXT"/>
+
+ Because the data representation was changed, the order that the alias
+ functions are processed by the scripts also changed. This accounts for at
+ least 2,700 of the ~3,600 lines of diffs in the generated code.
+
+ Most of the remaining ~900 lines of diffs are the result of bugs *fixed* by
+ the new scripts. The old scripts also generated code with some bugs in it.
+ These bugs were discovered while the new code was being written.
+
+ These changes were discussed on the mesa3d-dev mailing list back at the end
+ of May:
+
+ http://marc.theaimsgroup.com/?t=111714569000004&r=1&w=2
+
+ Xorg bug: 3197, 3208
+
+commit f292e13a20a262411360bf4af5337595976cebc7
+Author: Nicolai Haehnle <prefect_@gmx.net>
+Date: Tue Jun 21 17:18:00 2005 +0000
+
+ Back out the actual enabling of depth tiling.
+
+ Depth tiling breaks software fallbacks and depth buffer reads.
+ radeon_span.c **must** be updated for anything that is related to tiling.
+
+commit 1e4744d2b91156abdf792f63aa9c2224f44f2791
+Author: Nicolai Haehnle <prefect_@gmx.net>
+Date: Tue Jun 21 17:03:29 2005 +0000
+
+ Add PCI ID for R420 JI.
+
+ The driver appears to work reliably (i.e. lockup-free) with a card based
+ on this chip. However, I have not explored whether we could get anything
+ in terms of 3D performance "for free" just by setting some magic bits
+ in those registers that are still a mystery to us.
+
+commit ebd99043edab8297aafdf8dde6084e15c4a009c3
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Jun 21 15:41:03 2005 +0000
+
+ r300 driver side of color tiling support.
+
+commit a5fb15cb87a0734f5e0bf1b1dafe5204a32052da
+Author: Nicolai Haehnle <prefect_@gmx.net>
+Date: Tue Jun 21 15:21:14 2005 +0000
+
+ Make sure texture base addresses are used correctly.
+
+ They are relative to the card's address space, not relative to fbLocation,
+ which will be important once we program MC_FB/AGP_LOCATION in the way
+ they are programmed on older Radeon chips.
+
+commit 04f863e85669fdf42f3ec401c55b1533e8069dee
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 21 14:39:43 2005 +0000
+
+ check for NULL swrast->Driver.SetBuffer before calling it
+
+commit 23606a5704e41274c36f45c6cd6f40335ec66818
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 21 14:30:46 2005 +0000
+
+ updated to version 29
+
+commit 90b40c33e7118d8ed67ebd1c7e282b26b4966cea
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 21 03:38:10 2005 +0000
+
+ include light.h to silence warning
+
+commit dc137ddb3f128a6772027e3f917b3208969002f0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 20 18:29:28 2005 +0000
+
+ DirectFB updates (Claudio Ciccani)
+
+commit a6a3e01b099a9ea15c9868b4acf01b106c5f417b
+Author: Jeremy Kolb <jkolb@freedesktop.org>
+Date: Mon Jun 20 03:18:16 2005 +0000
+
+ ran "make" after update to glX_proto_send.py.
+
+commit 4378dee78ce08a66a0d81cc603abe5d64895093f
+Author: Jeremy Kolb <jkolb@freedesktop.org>
+Date: Mon Jun 20 03:12:35 2005 +0000
+
+ Fixed some issues where XCB replies were being freed and data was not being copied.
+
+commit 38332a6d94d4f9541bff939522230731f1705e04
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jun 19 14:57:34 2005 +0000
+
+ Define __FUNCTION__ as a preprocessor symbol in glheader.h if we're not
+ using GCC or VMS.
+
+commit 4e7df2746638e67c09c5e5d0e5157345f9470122
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Thu Jun 16 11:57:45 2005 +0000
+
+ Fix gloss breakage when using hw tnl.
+
+commit 3c6f17be3274d6a137fb52b0aacba81259bbb188
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Thu Jun 16 11:41:19 2005 +0000
+
+ Use depth tiling.
+
+commit af02907b4cbe212f0d87de25d85118b05303415c
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Thu Jun 16 10:40:39 2005 +0000
+
+ Support 16-bit modes.
+
+commit 463c1d6c57a3df87b57a74f9bdbd365eb99f2a42
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Thu Jun 16 10:27:04 2005 +0000
+
+ Fix problems with elts when immediate mode is on.
+
+commit 0e288e58ef3325d10412dde29f5581a8a655b3dd
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Thu Jun 16 10:21:01 2005 +0000
+
+ Turn off VBO's.
+
+commit 3176f8e2e1195b0f8bd0c9ba2fd44366ff1da520
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Thu Jun 16 10:05:18 2005 +0000
+
+ lost_context never gets reset.
+
+commit 6c2098ffd4ffb3f49d6330310dc771e7ee93c296
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Thu Jun 16 04:25:45 2005 +0000
+
+ Fix a few compiler warnings
+
+commit f445aaa67a14f2cda447ced6c60393c9b330e174
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Thu Jun 16 03:45:48 2005 +0000
+
+ Fix linux-solo build for mga check-in
+
+commit aa2691547281a09da86f7fcc3f991b92a29fc9c7
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Jun 14 22:51:44 2005 +0000
+
+ Adds support for MGA DRM version 3.2.
+
+ This patch makes use of two of the new ioctls added in MGA DRM version
+ 3.2. Specifically, the DRM_MGA_SET_FENCE and DRM_MGA_WAIT_FENCE
+ ioctls are used in mgaWaitForFrameCompletion. As a result the MMIO
+ register region and the primary DMA region are *not* mapped (if DRM
+ 3.2 is available).
+
+ This patch does *not* make use of the new get_param query was added to
+ differentiate between G4x0 cards and G550 cards. That is left to a
+ future update.
+
+ Xorg bug: 3259
+ Reviewed by: Eric Anholt
+
+commit fb818a0b115afaf43a5a3a32e649c86165ccc366
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Tue Jun 14 10:27:05 2005 +0000
+
+ Committing in .
+
+ OpenVMS updates
+
+ Modified Files:
+ Mesa/src/mesa/tnl/descrip.mms Mesa/src/mesa/tnl/t_vp_build.c
+ ----------------------------------------------------------------------
+
+commit 6b9d9c503945f20fbf471ec9936e13a7bac6c60c
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Mon Jun 13 14:21:34 2005 +0000
+
+ fbSwapBuffers needs to return a status
+
+commit 2d218885ecb0bf82cbfd33da1b9186bf6e09375b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 13 14:07:14 2005 +0000
+
+ mingw changes (Nolan Leake)
+
+commit 902e70875d421b14195f7fedb8303bb079607dcc
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Sun Jun 12 14:57:02 2005 +0000
+
+ Fixed typos.
+
+commit b675c48027b733de02eeb6b984200369b7571fe0
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Fri Jun 10 16:10:50 2005 +0000
+
+ Add definition for memory controller latency registers..
+
+commit 447697885634a92ffc3b9da2a23407406406af97
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jun 10 14:58:32 2005 +0000
+
+ remove debug prints
+
+commit 252d8e78cc07880239b085b713e2d37ddbba86f9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 10 14:37:32 2005 +0000
+
+ be sure we have span texcoords before calling _swrast_texture_span()
+
+commit 5d6ecf25f89b152638f68ba683611f73c51b52a4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 10 14:36:55 2005 +0000
+
+ pass mask array to PutRowRGB() in simple_z_textured_triangle()
+
+commit b4979ec178fd87d80666e201c91220d9ecc6363d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jun 10 13:59:49 2005 +0000
+
+ Allow the print opcode to compile
+
+commit 6c1948d593e0be6ddd49f73cb3966e679eb83c37
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jun 10 13:35:31 2005 +0000
+
+ Fix typo in spot attenuation
+
+commit 729cccba5d20e3b34e7168ffff7515f52c72c26e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jun 10 12:04:47 2005 +0000
+
+ Correct test for attenuation.
+ DISSASEM changes.
+
+commit 7e8e4c500eaa8fea530065717a80118a1c34c602
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jun 10 10:43:02 2005 +0000
+
+ remove depend files on clean
+
+commit f6e7cfb60d3c4ceb2242cbc57c7e87c3c8e362fe
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jun 10 08:33:37 2005 +0000
+
+ Fix colormaterial flag calculations.
+ Fix lighting alpha result.
+
+commit 52608d2d21d401ac243d84409ec4043731a4f21a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jun 10 08:32:27 2005 +0000
+
+ Add notes about intended precision of opcodes.
+ Remove dead floating point twiddles.
+ Fix bug translating MAD->MUL,ADD.
+
+commit 1c48986e540f573c63b98470f52338dba6353cea
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jun 9 22:10:23 2005 +0000
+
+ Fix a couple of buglets
+
+commit 1fc4bcbb17ec210a2d76fb82b5b108b129973022
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jun 9 19:03:18 2005 +0000
+
+ Another typo
+
+commit 44367aab2a987a03ee1acfb7aa3a9116f3618af0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jun 9 18:59:41 2005 +0000
+
+ Further clean up RoughApproxPow2 and disable the optimized version --
+ it's a very poor approximation.
+
+commit 2c6e8e90ec848de0693919bf6c584b1111d6281f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jun 9 18:52:42 2005 +0000
+
+ Fix typo in RoughApproxPow2
+
+commit 81032030ff42dd78133d85f7cabab5fb4c9aaf1e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jun 9 14:55:34 2005 +0000
+
+ Store compiled vertex program representations in a pointer in the
+ vertex_program struct.
+
+ Allow switching between regular and vertex_program implementations
+ of fixed function TNL with the MESA_TNL_PROG environment var
+ (previously this required recompilation).
+
+ Ensure program compilation only references program data, not the
+ wider context. This means that compiled programs only need to be
+ invalidated when the program string changes, not on other state
+ changes.
+
+commit a8534885efb13ec7f071192c1504513cd90d07de
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jun 9 14:52:08 2005 +0000
+
+ Build vertex programs using state from a 'state key' struct which is
+ distilled from the current state.
+
+ Maintain a list of vertex programs for various different tnl states
+ indexed by these state keys.
+
+ This cuts down the number of vertex programs generated and means that
+ time spent optimizing vertex programs for execution isn't wasted each
+ time the state changes.
+
+commit 79b7bd18bb27892f6c7f887c37373ca57449a40e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jun 8 22:14:29 2005 +0000
+
+ Turn off debug
+
+commit 8e5612278261284d4be1e2befdcb2b3426365326
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jun 8 22:10:34 2005 +0000
+
+ Add t_vb_arbprogram_sse.c
+
+commit ea93b2986b7e8c4c278b408d6a546442d40351f1
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jun 8 22:10:16 2005 +0000
+
+ Runtime generate sse/sse2 code for some vertex programs. Experimental
+ and only active when _TNL_FIXED_FUNCTION_PROGRAM is defined *and*
+ the MESA_EXPERIMENTAL environment variable is set...
+ Works for the arbfplight demo at least.
+
+commit 002d0ad3e96a22350cdeafc845ec3233224b14e4
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jun 8 22:06:29 2005 +0000
+
+ Turn off DISASSEM
+
+commit 562bdaf70e31d294a47f9e3bbf3be35288653f67
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jun 8 21:58:30 2005 +0000
+
+ New arguments for sse_shufps()
+
+commit 9899f58c76d3eaab940b4e2e33d722ac4721ea13
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jun 8 21:57:45 2005 +0000
+
+ Use ALIGN_MALLOC for parameter lists.
+
+commit dce3a91a8d755e394d80b6d594fb3114eed67e49
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jun 8 21:56:21 2005 +0000
+
+ Add some more opcodes
+
+commit 2d2f5a4b19a95477e1cf6915963fe9fdbfc461f7
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Wed Jun 8 15:05:19 2005 +0000
+
+ - Secondary colour
+ - Calculate tc_count in EmitArrays (enabled units != nr texcoords).
+
+commit ee7ad16f3f06140ebbeb195540c15b7016003d62
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 8 13:35:28 2005 +0000
+
+ regenerated
+
+commit 2c7336af4e92f29599c04822fcbd4db12a4c5cc5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 8 13:35:07 2005 +0000
+
+ put full prototype on one line to fix gl_mangle.h generation (Dave Reveman)
+
+commit 012de39c23524289453d977e2dc3ddac05f45538
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 8 13:07:33 2005 +0000
+
+ remove stray line
+
+commit 60339c7062276de0ba4136dfa101ab2a7c22848e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jun 8 10:03:29 2005 +0000
+
+ Remove ARL opcode from interpreter.
+ Revert SEL opcode to MSK.
+ Split out t_vb_arbprogram.h header file.
+
+commit 7fb16836e71fd06363fe6a764ba07b949591c4ce
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jun 8 10:02:28 2005 +0000
+
+ new file
+
+commit d45cb9a83636e0e6c5800e247bc8b2899403d503
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 8 02:18:22 2005 +0000
+
+ regenerate for latest glext.h
+
+commit 681b758f119a7c72175ccde5000996d7618295df
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 8 02:17:10 2005 +0000
+
+ fix some renderbuffer problems for Xserver build (Dave Reveman)
+
+commit a0b5c983645e672b6c86d2bd52764ad58fda5d70
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 8 02:14:55 2005 +0000
+
+ check for double-buffered buffer in XMesaDestroyBuffer() (Dave Reveman)
+
+commit 31d0cedd788d31915c81a2fd57b34befc7202f51
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue Jun 7 19:01:33 2005 +0000
+
+ updates from Paul Garceau
+
+commit 7477a7d366640ebc0623acd2ddf87064dddca367
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 7 15:30:12 2005 +0000
+
+ added GL libs to APP_LIB_DEPS (bug 3485)
+
+commit 4417d4cb6111ffb8ca255644192afbb984313be2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 7 15:25:08 2005 +0000
+
+ fix error in OSMESA_LIB_NAME line
+
+commit ed7f3aead819dfe089228363698b4860614e62e8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 7 15:03:40 2005 +0000
+
+ fix GL_ALPHA render-to-texture problem (Jon Smirl)
+
+commit 395280bf8877b023e07045e30dad812e7c32f444
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jun 7 12:46:30 2005 +0000
+
+ Initialize some variables.
+
+commit a4691981d99495f5d0427347981df6e989b56e9c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jun 7 12:45:29 2005 +0000
+
+ Add new runtime assembly files.
+
+commit 1d60469c4c0bcccd8b3310a49d18123a8c7f41e4
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jun 7 12:45:04 2005 +0000
+
+ Split out runtime assembly functions.
+
+commit 461a2a799a99a8c8aba7e09c96d7c2e5c3196dcf
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jun 7 12:44:26 2005 +0000
+
+ New files - split off runtime assembly functions from
+ t_vertex_sse.c.
+
+commit 757e0855adb1b1eb45b55e1fcf6acb47224b2853
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jun 7 10:59:37 2005 +0000
+
+ Simplify interpreted language:
+
+ - Expand operand argument specifiers so that all registers and
+ parameters can be referenced directly. Remove old PAR/PRL
+ instructions.
+
+ - No 3 operand instructions, translate MAD -> MUL, ADD. (No room for
+ 3 full operands in instruction struct).
+
+ - Translate SWZ instructions into 1 or 2 reduced swizzles at compile
+ time.
+
+ - Add hardwired code for moving input and output values to/from the
+ register file. Drop old INx, OUT instructions.
+
+commit 17d249d31b3b382af04610b2ca37d01b8f06abe4
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jun 7 10:56:17 2005 +0000
+
+ Add a VP_MAX_OPCODE entry to allow engines with internal opcodes to
+ place them sensibly.
+
+commit 4f923fb0bcb60b908170219b078d9f5d8513d719
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue Jun 7 05:29:38 2005 +0000
+
+ updates from Paul Garceau
+
+commit c20a2b0b72e083281485fbb1f6c99a97a79720a3
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Tue Jun 7 02:10:14 2005 +0000
+
+ Add SetBuffer to egl driver too
+
+commit ef9e0be0cb21f995d5b14060ca63a51e9b1cd52e
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Mon Jun 6 21:40:55 2005 +0000
+
+ Add a NULL SetBuffer function to the fbdev driver
+
+commit 2e7dcdd38bf23bb5303d9351fbdd4941d7639858
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 6 14:40:56 2005 +0000
+
+ this is auto-generated
+
+commit d59fbcdee5441a445777eea3239396400dd73f58
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Mon Jun 6 07:38:29 2005 +0000
+
+ TEX to output
+
+commit 3c4c6d1f80ba4881155eceba18c634099383346c
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Sun Jun 5 08:25:54 2005 +0000
+
+ Fix xyz/w interaction (needs a cleanup still..)
+ Use SRC0A instead of WZY/XXX combination for W in XYZ positions.
+ Remove dodgy hack from POW opcode, now works correctly without it
+
+commit 40b8b57ed488f41cb2139e53f86494675ae4adb4
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Sun Jun 5 02:10:58 2005 +0000
+
+ Make install install GLES too
+
+commit df5e2b934bc18cd17ac512e6746df64019014a7d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jun 4 22:09:27 2005 +0000
+
+ set OLD_RENDERBUFFER=0, need to clean up a few more things before totally removing that
+
+commit d96dd3cd49658669833c8110b2f2e8938fe6a544
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jun 4 18:25:39 2005 +0000
+
+ remove old span functions from swrast_device_driver struct
+
+commit bb8b302dbce4f830d060efecd8a9f75b10e25abb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jun 4 18:12:28 2005 +0000
+
+ remove old span code
+
+commit 5ec5c6b22262e83706f8b1c42d9e6b5b432a7f8b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jun 4 17:53:30 2005 +0000
+
+ fix an assertion
+
+commit 863bd565204c7fec515457dfd6c59066309cb136
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jun 4 17:45:50 2005 +0000
+
+ remove old span code
+
+commit 5821f3d70c80101b63530735f33072c11ce81642
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jun 4 17:44:42 2005 +0000
+
+ added comment
+
+commit 5b10d71559a238891c3623ac6660ea6e8845c70f
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Jun 3 15:24:55 2005 +0000
+
+ Fixup file lists for tarball/zip file creation.
+ - Adjust for recent changes to Windows build files.
+ - Add in at least some of the new slang files - enough to build on
+ Windows, but some of the other slang-related files may still need to be
+ added. (Will probably get corrected just prior to next release, if needed)
+
+commit 516546ad5b2b4bb275df9df0495bf88d31ca4a94
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Jun 2 23:17:02 2005 +0000
+
+ Updates for new Windows build system.
+
+commit 3fe9c40cb27b23d44e938a19fbf4f21e1b1e288b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 2 04:09:05 2005 +0000
+
+ Remove last of the old span code.
+
+commit 13c8f985d96fa7dda0fd71dc4f656ce01dcdbe85
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 2 04:07:08 2005 +0000
+
+ oops, undo previous change
+
+commit 1516f559bc1d8af1ca3a12c78b23937e9208b5c6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 2 04:05:45 2005 +0000
+
+ start removing old (pre-renderbuffer) span code
+
+commit c4fbdb090cb02f57e83e5f679cadf62c22ec286b
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Wed Jun 1 12:07:15 2005 +0000
+
+ Committing in .
+
+ OpenVMS makefile added
+
+ Added Files:
+ Mesa/src/mesa/shader/grammar/descrip.mms
+ ----------------------------------------------------------------------
+
+commit 589a3a3f6e9c7191462b0123976847b5ab776f65
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Wed Jun 1 12:05:34 2005 +0000
+
+ Committing in .
+
+ Update OpneVMS compilesupport
+
+ Modified Files:
+ Mesa/src/mesa/shader/descrip.mms
+ Mesa/src/mesa/shader/slang/descrip.mms
+ Mesa/src/mesa/shader/slang/slang_compile.c
+ Mesa/src/mesa/shader/slang/slang_storage.c
+ Mesa/src/mesa/shader/slang/slang_storage.h
+ ----------------------------------------------------------------------
+
+commit f090fdc50b290566a5b6aaf57ddd31b340f58de5
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Wed Jun 1 08:22:57 2005 +0000
+
+ Move fallback and other debugging under TDFX_DEBUG using the same mechanism
+ as other drivers.
+
+commit d638f6a0bbc7df246700ed78c11837af6e6c6246
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Wed Jun 1 07:44:52 2005 +0000
+
+ Add no_rast option.
+
+commit 502504de2336a64698be544c83697632e4628138
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jun 1 07:02:23 2005 +0000
+
+ Add a mode to test flat shading + separate specular.
+
+commit f772e3dd1527dcc4a910cbaf3db5ff1a8096740e
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Wed Jun 1 02:59:12 2005 +0000
+
+ Fix the 3dfx driver by correcting what appears to be a typo GL_RGBA8 instead
+ of GL_RGBA in driNewRenderbuffer of the backbuffer.
+
+commit c7264415b662225a5bdbad3157ecae6b2a3183e2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 1 00:50:23 2005 +0000
+
+ added code to detect GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT error
+
+commit 1b93953fbcbeb3c88dc50004a989a3d44d7fd99b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 31 23:55:21 2005 +0000
+
+ add support for GL_RENDERBUFFER_RED/GREEN/BLUE/etc_SIZE_EXT querie
+
+commit 5d5100aabcb1e9a740f1e69e8b01743b1c1d3ccd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 31 23:54:44 2005 +0000
+
+ remove temporary GL_EXT_framebuffer_object info
+
+commit 2e081cd90ee0f4b05417de44e2df2dfec394490d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 31 23:54:24 2005 +0000
+
+ updated to version 28
+
+commit 0009e3d97d1945ece440f82ff52b298fff5877e4
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Tue May 31 23:32:47 2005 +0000
+
+ Bugzilla #2708: Disable the fallback on GL_SPHERE_MAP. It appears to hurt more
+ than it helps, and we seem to have a handle on how to fix it.
+
+commit 628b18b8cac5e691e7145deb1026e91d3cf03094
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Tue May 31 18:10:03 2005 +0000
+
+ Add Intel(R) 945G support (Keith Whitwell, Tungsten Graphics)
+
+commit 4ec6eceea93e613b5078dc388925cf866ed8c88b
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue May 31 05:53:38 2005 +0000
+
+ Causes lockups on some rare cases.
+
+commit 8c2a9a916636f32192903b0f25bbf5aff8277862
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Tue May 31 05:31:43 2005 +0000
+
+ Pull locking out of HW_LOCK/UNLOCK and into SpanRenderStart/Finish. Also do
+ some cleanups on the span macros. This does not deal with the brokenness of
+ depth spans, but makes the code more readable.
+
+commit ef377c3c007611e57aef176cb66d8b4c18f1a6c3
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Tue May 31 04:26:13 2005 +0000
+
+ Correct the descriptions of the glBlend{Equation,Func} fallbacks in r128, and
+ remove those descriptions and the corresponding bits on r200, where they're no
+ longer used.
+
+commit b79c47e90ce421426e4608c85461148f3962f9a0
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Tue May 31 04:13:45 2005 +0000
+
+ Remove unused CTX_ARG2 define.
+
+commit 8a1df968627de01d04f3d692fd81108ba6492c18
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Tue May 31 04:04:24 2005 +0000
+
+ Bugzilla #2195: Convert the radeon driver to the t_vertex interface. This cuts
+ about 200 lines from the code and 25k from the binary, while matching other
+ drivers more closely. In the worst case (tcl_mode=0) it appears to have
+ a performance cost of 4.4% +/- 0.3% on quake3 (800x600 demofours, 1ghz p3,
+ rv200). Tested on ut2004, ut, q3, projtex.
+
+ Submitted by: Andreas Stenglein <a.stenglein@gmx.net>
+
+commit 9dff2ca07a6a74f65d831269b1cee8c3ee2c0103
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Tue May 31 03:47:39 2005 +0000
+
+ Move fallback debugging under MACH64_DEBUG=fall (matching other drivers) and
+ add pretty descriptions of the bits. GC one of the bits that was unused.
+ Also, now only the first thing triggering a fallback and the last thing
+ requiring one do the debug output. This also matches other drivers.
+
+commit 12eabeb3b9ffe12032ded88959430d36d4ced419
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Mon May 30 08:07:03 2005 +0000
+
+ Pull locking out from HW_LOCK/UNLOCK into SpanRenderStart/Finish. Provides a
+ factor of 5+ improvement in no_rast glxgears and 2.3 in no_rast quake3 (n=1,
+ 320x240, 16bpp, low qualities, 1ghz p3)
+
+commit c7f8d3645132b704a8cde9053c0a836874174e5f
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Mon May 30 06:50:17 2005 +0000
+
+ Fix software fallbacks by being safe with macro arguments in READ/WRITE_DEPTH.
+ Convert to spantmp2.h while I'm here. Tested with 16 and 32bpp no_rast
+ glxgears.
+
+commit 993d8ad5ef6d0485c578cd632cbe0621887dafee
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Mon May 30 06:41:19 2005 +0000
+
+ Add the no_rast debug option to mach64. It shows that software fallbacks are
+ pretty broken.
+
+commit b328dded7513c6092861197f6ba2edf9341e46d3
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Mon May 30 06:15:29 2005 +0000
+
+ Pull hardware locking out into SpanRenderStart/Finish rather than
+ HW_LOCK/UNLOCK. Provides a 61% performance improvement in no_rast=true quake3
+ (n=2, 320x240, 16bpp, p4 1ghz), and a factor of 3 improvement in no_rast
+ glxgears.
+
+commit c1b87b2a063034a0584d20ac21d5349f1e85d58a
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Mon May 30 06:11:22 2005 +0000
+
+ Add the description of the no_rast option fallback so that MGA_DEBUG=fall
+ doesn't segfault with no_rast.
+
+commit 0936eeb456e005535b976fd22eed1a54157edfaa
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Mon May 30 03:32:52 2005 +0000
+
+ Add the no_rast debug option, which I used in some testing.
+
+commit f2149a7a66f251da1cf55eca27d58dd651881757
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Mon May 30 01:59:39 2005 +0000
+
+ Remove unused CTX_ARG2.
+
+commit 0b73889d54add35aadbf5e623ac5441d70439e6f
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Sat May 28 23:45:39 2005 +0000
+
+ Put some fallback debugging output under DEBUG_FALLBACKS.
+
+commit 2962f88189c46e0bfe3fc33a1d46be9409cb9c10
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Sat May 28 22:56:16 2005 +0000
+
+ Add a missing EnsureCmdBufSpace, matching r200.
+
+commit f054fa85d8e9f5eadf4fe845764905e102802e88
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Sat May 28 20:17:06 2005 +0000
+
+ Add a freebsd-dri-amd64 config, and quiet makedepend slightly by making an
+ EXPAT_INCLUDES config variable (set on FreeBSD) which is then used in
+ Makefile.template's INCLUDES.
+
+commit 2ed4c296d93c2df905684fad374a516c828022b7
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Sat May 28 12:18:32 2005 +0000
+
+ Some fixes
+
+commit 22b0a42465bde9df92321876bda2f55504230363
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Sat May 28 10:55:23 2005 +0000
+
+ use shared-core
+
+commit 0bae91562ed1e974e2c1361371a170255de8058d
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Sat May 28 05:20:05 2005 +0000
+
+ Up MAX_AOS_ARRAYS to 16. Do we need more?
+
+commit 908dbc44c23ee96415ba758dc05050ae5fb0ca3c
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Sat May 28 03:19:56 2005 +0000
+
+ Play with swizzling a bit.
+
+commit 74e412c6956676d69adcd5210ca7046061629eec
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Sat May 28 01:02:00 2005 +0000
+
+ Programmable per-vertex point sizes and proper result reg assigns.
+
+commit 0080faf83ed9bd7a0516b92249b8c585526ac956
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Fri May 27 20:10:05 2005 +0000
+
+ More optimal r300Clear.
+
+commit d322810e13f8fed7d7830e5ba9ca02bd9fd72340
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 27 14:44:14 2005 +0000
+
+ properly pop the GL_TEXTURE_GEN_ enable state
+
+commit 6580a6d5610ea1d9e1bef4560c786983074b5727
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu May 26 18:22:13 2005 +0000
+
+ Account for moved/new/removed files.
+
+commit 70dbbbf89af4c1d6d9b52cbbb79ee7f9ad654592
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu May 26 16:59:47 2005 +0000
+
+ Fix gl_enums.py so that enums that are listed with the same name in
+ multiple places don't get generated multiple times.
+
+commit 497dd3e920bef8f72cd6a85b2551cd309fb7b631
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu May 26 16:34:58 2005 +0000
+
+ Minor correction to EXT_framebuffer_object XML. Fix gl_table.py so that it
+ generates the correct script name in the generated output.
+
+commit 249db89b009e64812d4bcec80d0c5a64f1d65aeb
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu May 26 16:24:35 2005 +0000
+
+ Make a couple minor corrections to gl_API.xml. Fixes the name of an
+ extension that was missing the GL_ part and uses the core GL type names for
+ vertex buffer object functions instead of the ARB names.
+
+ Also commits the resulting changes to the generated code. Some how, the
+ #if sequence disappeared in the 1.52 version of glapi_x86.S.
+
+commit 020225496ecd47374a2f147974c23519c706b867
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 26 11:42:19 2005 +0000
+
+ Bump driver date.
+
+commit 69509641a85d7c6a82533730759099b352b1804a
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Thu May 26 04:24:09 2005 +0000
+
+ make egl build first so we don't get wierd drivers linking to libs not available
+ yet
+
+commit 978d2fda3c67ff1f32d457c462304517795d59a5
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Thu May 26 03:47:34 2005 +0000
+
+ make linux-solo and linux-solo-x86 config files hierarchical
+
+commit ae516306b4df5d4a2a4bb67c8e705aa67891681a
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Thu May 26 02:33:57 2005 +0000
+
+ constant tracking
+
+commit e45b5a4fa8f5c8abf6853c528da2dfb1756a9440
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Thu May 26 01:40:34 2005 +0000
+
+ use shared-core rather than shared
+
+commit 8e5099d6a026d1267c8c2a52c95901e791704b25
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Thu May 26 01:40:00 2005 +0000
+
+ use shared-core instead of shared
+
+commit d2ee346a935d20e60068e14c9e98cbe82f784148
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed May 25 21:00:16 2005 +0000
+
+ Fix a couple typeos in enum names.
+
+commit 170999a103023c35e58f8475210026b5f66963a7
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed May 25 15:09:32 2005 +0000
+
+ change local var names from "asm" to "assem" - I guess it caused
+ gcc 3.3.5 to break, but not tested it
+
+commit d1834e8c107bc3242a3f95e096fca408103bcba8
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed May 25 14:58:22 2005 +0000
+
+ a small utility to convert .syn files to its binary forms;
+ does not require any command line params;
+
+commit 0432411837d206d8c69973d24bbb6d7d99e9fbe9
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed May 25 14:27:59 2005 +0000
+
+ silencium gcc warnings
+
+commit 0f71c6691ee2147ab839e9d059d1bb7c947590ef
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed May 25 14:24:34 2005 +0000
+
+ add shader/slang/slang_assemble_assignment.c
+
+commit fc534034cc3403f3e597c49a0daa9965c07a0f72
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed May 25 14:23:00 2005 +0000
+
+ more slang code
+
+commit 1de60fe47f83b4397601b258c8587046085bca51
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed May 25 14:19:24 2005 +0000
+
+ ncrease stack size
+
+commit c16264b13857abc9ede2c4c795a8555298c1a153
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed May 25 14:00:22 2005 +0000
+
+ update grammar_mesa.c path
+
+commit 1aadf1c039ef88168ddb7bee9e7a31d9c340fb6a
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed May 25 13:58:36 2005 +0000
+
+ moved from mesa/shader to mesa/shader/grammar
+
+commit 1008f57f6f47920071107df8abafda57cc679930
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed May 25 13:43:32 2005 +0000
+
+ remove the GLSL spec wording;
+ reorder some elementary operators;
+ disable assignment "=" and equality "==" "!=" operators - they are
+ handled internally by the assembly generator;
+ fix minor typos
+
+commit 2b73e5aaafc9bc3e495fa2da059644bed75c4278
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed May 25 13:37:56 2005 +0000
+
+ add mesa/shader/grammar to include list
+
+commit 863eca99730622851f5c8ab294abd139acd2fa76
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed May 25 13:35:39 2005 +0000
+
+ stand-alone vertsions of grammar_mesa - used by utilities;
+ DO NOT BUILD UNDER MESA
+
+commit 39e14d2cffb8627bf8b6587a6d5590f50c6910b0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 25 13:35:21 2005 +0000
+
+ Provide initial values for some variables.
+
+commit 741b9804336e291d6ea1f1b664a68e08d77d2e24
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 25 13:34:52 2005 +0000
+
+ add special case for flat shaded + separate specular triangles
+
+commit 3f6d9857532ee5161ae4032f9aa3d9d375c1b43a
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed May 25 13:20:59 2005 +0000
+
+ change the behaviour of enter and local_addr instructions
+
+commit 49109d01c00d4f18de57c919256dec1804ebb903
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 25 10:17:19 2005 +0000
+
+ Disable polygon stipple - it seems to break if certain specific stipple
+ patterns are used, including the one generated by conform.
+
+commit 8286abd7986564d22e540cef26aaa00ea164bb52
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 25 10:14:39 2005 +0000
+
+ Fix various issues with cliprects and MakeCurrent
+
+commit 53d13e014fbe29a3789f7845443c858e94430097
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Wed May 25 06:46:10 2005 +0000
+
+ - Remove one of the loops in emit_arith
+ - Handle REPL_ALPHA in emit_arith (possibly incorrect for some things)
+ - Start on getting demos/arbfplight.c to look right. Won't be animated yet,
+ need to re-work const emit so we can update consts without re-translating
+ the entire program.
+
+ Assertion in r300_state.c::setup_rs_unit needs to be disabled for it to
+ work.
+
+commit f387c83ec10b202c1951c4b8f29bb8109de102f5
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed May 25 03:30:06 2005 +0000
+
+ Commit the changes propagated from Jeremy Kolb's changes to the Python
+ scripts in src/mesa/glapi.
+
+commit e87ab8c05fb08c39432f5838c05df3b50e9a2694
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue May 24 23:03:15 2005 +0000
+
+ Only use x86 / SSE assembly when USE_X86_ASM / USE_SSE_ASM are defined.
+ This makes the driver build on x86-64 again.
+
+commit 6b5afb003645d2cbaabf7d9c0733f1f7891cb0a0
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Tue May 24 22:16:27 2005 +0000
+
+ Cleanup some Windows junk.
+
+commit 89bf62cd497f5f667ff68f529af1bb5e39915ab4
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Tue May 24 22:06:59 2005 +0000
+
+ project file for glut library
+
+commit 5dc31379c4a4c7107411b2258ecbcbc9871e2d66
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Tue May 24 22:04:03 2005 +0000
+
+ fix location of gears project
+
+commit c97a3a30381e82b736c62d765b0c1dbae9ef5556
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Tue May 24 21:57:45 2005 +0000
+
+ project file to build gears
+
+commit 7df5eddf6a24973714fd7402274b607c98e5e7b9
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Tue May 24 21:51:58 2005 +0000
+
+ Visual Studio 6 project file to build GLUT and some demos.
+
+commit f7c0c4f485ca4d661b6f033aaece5e3450d13931
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Tue May 24 21:17:42 2005 +0000
+
+ moved to windows build dir
+
+commit b4c8b34534b087175d60cd100c8bcde911377818
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Tue May 24 21:15:52 2005 +0000
+
+ moved to windows build dir
+
+commit 45ab8cb08aaf641a397c1a30ac19f0942498430b
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Tue May 24 21:12:43 2005 +0000
+
+ Major code cleanup and begin using new render buffer interface.
+
+commit b31b1f44f15f385f61e4cd42c10bb967cd2e5b91
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Tue May 24 21:06:41 2005 +0000
+
+ Change prototype for TextureMemCpy to return void* (was void).
+
+commit 7708b75d722ee6e0cfb1080b98308ff772e021b9
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Tue May 24 21:02:51 2005 +0000
+
+ Visual Studio 6 project file for OSmesa library.
+
+commit c73968af953205428d8bf2a8ffc2178791f56ce8
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Tue May 24 21:01:55 2005 +0000
+
+ Visual Studio 6 project file for core Mesa.
+
+commit 9a726cdf8ff679da96dd667a004991e357d714dd
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Tue May 24 21:01:05 2005 +0000
+
+ Needed to build .cc files in Visual Studio 6.
+
+commit 7179810375d8762c6d366806b16fe2a030e4fa09
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Tue May 24 21:00:03 2005 +0000
+
+ Visual Studio 6 project file for GLU library.
+
+commit a1b07e187eed5164275efd63cabea572b591eb34
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Tue May 24 20:59:07 2005 +0000
+
+ Visual Studio 6 project file for Windows GDI driver.
+
+commit 39c0e51329b33b4e57f4f780db845fdca3981caf
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Tue May 24 20:57:15 2005 +0000
+
+ Visual Studio 6 workspace for Mesa libraries.
+
+commit 2f9722863d0480183ee5ab60fd64f6065094d966
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Tue May 24 20:50:56 2005 +0000
+
+ Removing in favor of new Windows build directory.
+
+commit 731f1b12a0db69875e2f66cf1bc30b39dedb395e
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon May 23 22:02:53 2005 +0000
+
+ remove stupid flags
+
+commit 2d5f12ae6b08420592e2b94ff557f327bc471a74
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon May 23 21:10:01 2005 +0000
+
+ Initialize hw stencil renderbuffer.
+
+commit afa7f6a0f5b3e4266a455a0d4deca749dca1dc7e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon May 23 14:31:44 2005 +0000
+
+ Disable recent sse change pending more testing.
+
+commit eeada484979e9784ebb03f635f207e717a04e311
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Mon May 23 14:14:19 2005 +0000
+
+ Implement enough of ARB_fragment_program for Keith's texenv program
+ generation in Mesa. Requires most recent Mesa cvs to work correctly.
+
+ Swizzle code is possibly slow/buggy and will probably be replaced.
+
+ Old behaviour can be controlled by a #define in r300_context.h, if
+ no-one minds I'll remove the old code later on.
+
+ Also, disabled cube map extension. AFAIK We don't support it yet,
+ and it causes issues with UT2004.
+
+commit 0c4731b27ccf5faa1393102107862c28642b3d76
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon May 23 12:25:43 2005 +0000
+
+ Use SSE for vertex emit -- another good speedup.
+
+commit 17bcf9f816db3098db42acd7f0672f64554dd6a0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon May 23 12:17:27 2005 +0000
+
+ Import Thomas Helstrom's SSE memcpy code from the via X.org driver.
+ Add a TextureMemCpy callback, called from texstore.c when copying
+ texture data via the memcpy_texture() path.
+ Enable this code in the via driver - 100% speedup in texdown.c results.
+
+commit eb9d6f44a963d985d67991deff57a6f8d7d3f0f6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon May 23 12:15:19 2005 +0000
+
+ silence gcc warnings
+
+commit 241b6b7ab1a1a11c7fc516d1b6ff2c1bc8aba238
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon May 23 09:50:34 2005 +0000
+
+ Detect use of disabled textures as tex_env_crossbar sources.
+
+commit 2dea6df80b51ad8c5e2e88c2eb214b55889821c6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon May 23 09:37:32 2005 +0000
+
+ Support ARB_texture_env_crossbar. Changes the way programs are
+ generated somewhat, with all TEX instructions now emitted at the head
+ of the program.
+
+commit 6fe176a64859798db17fbaed6858cccc646aae38
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon May 23 08:08:43 2005 +0000
+
+ Restore the negate() function.
+ Add Ben Skegg's ATI_texture_env_combine3 support.
+
+commit eb8be5d923f1e3063aac330ced9fc7c7b63b2a88
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Sun May 22 12:24:52 2005 +0000
+
+ Small change to handle native case (7 natives case)
+
+commit 446980473d6f2449b139ffca48679179be6c0d87
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Sun May 22 12:06:50 2005 +0000
+
+ Adding r300 fragment program swizzle tab. Please some
+ one reread macro at begining see if i made any error.
+ A full reread would also be usefull there may be some
+ errors for some swizzle despite the great care i took
+ to done them :)
+
+commit b70a47736ad42bf10a9d6d051204fb140c1c67e8
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri May 20 18:40:11 2005 +0000
+
+ Add support for modes with a depth-buffer but no stencil-buffer. This
+ eliminates various "3D driver claims to not support visual" messages in
+ 16-bit color mode.
+
+commit 3cc2f82bb512edbe529aabfd772ece95b18ca839
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri May 20 15:12:12 2005 +0000
+
+ Remove debug printfs
+
+commit 923515b3f81019c59aa4348b4dde8a0110b98b46
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri May 20 15:06:41 2005 +0000
+
+ Re-enable X11 optimized triangle funcs.
+
+commit e3e8067db7f7dfdb36c4697687dc9026c9a2669b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 20 14:11:11 2005 +0000
+
+ use MAX_SCREENS instead of hard-coded number
+
+commit 8f384f0b67f133a384c30e483b1a332ae21de152
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 20 14:03:35 2005 +0000
+
+ fix reversed strstr() args, print mode string
+
+commit e58d32947eb903d6ebb1b93344e877c23848a042
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 20 14:02:02 2005 +0000
+
+ replace // with /* */
+
+commit 063efce6ee9928ae98dbcbd6ec89279260a55197
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Fri May 20 11:43:54 2005 +0000
+
+ Committing in .
+
+ Update openVMS compile support
+
+ Modified Files:
+ Mesa/progs/demos/descrip.mms
+ Mesa/src/mesa/shader/slang/descrip.mms
+ Mesa/src/mesa/tnl/descrip.mms
+ ----------------------------------------------------------------------
+
+commit bab559b1fa2db0127bd7ff4f89d34f8df52c6dab
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Fri May 20 01:17:38 2005 +0000
+
+ Remove some debug output
+ Add #if DEBUG_FRAG in s_nvfragprog.c
+
+commit 8f8e0f0b01c3662f0ebddebf97aa57fddc5397bf
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Fri May 20 00:44:37 2005 +0000
+
+ Use the 1.3 names for FogCoord*
+
+commit 18a74321aa825c355392f98f1563a971871794cc
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 19 20:25:32 2005 +0000
+
+ Invalidate current fastpath on changes to attribute size or offset within
+ the vertex.
+
+ Use existing facilities to check for sse2 and enable when available.
+
+ Turn on SSE/SSE2 codegen for t_vertex.c by default when USE_SSE_ASM is
+ defined. Disable with "MESA_NO_CODEGEN=t".
+
+commit c2745ffa49e25aa2ff685ee8538a79baad4de54f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 19 19:02:46 2005 +0000
+
+ Cope with the common 3ub and 1ub cases.
+ Fix a few typos.
+ Note that sse_movss sets high dwords to zero when reading from memory.
+ Fix a few related bugs.
+
+commit 9557401a98b9585289fe8f65be33b6c5fda79095
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 19 19:01:47 2005 +0000
+
+ Re-initialize viewport shadows each time.
+
+commit 67cc1f6ba6645b7eb231591a6de574eade9511a0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 19 15:39:37 2005 +0000
+
+ move osmesa demos to their own directory
+
+commit c70dace6942feda07d797feb845782d136097f5c
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Thu May 19 15:03:31 2005 +0000
+
+ Fix EGL fbdev palette problem. demo3 can save ppm of screen
+
+commit 6040d34109cdca111df3ed86f9854ddb6d90525c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 19 14:42:09 2005 +0000
+
+ Rename emit functions to reflect instruction set in use (ie
+ x86,sse,sse2,mmx). Add paths for sse+mmx vs. the initial version
+ which assumed sse2 was available everywhere.
+
+commit 8608978aba6df58b3b642b69410853fac3648acb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 19 13:32:41 2005 +0000
+
+ remove the XFree86 ID line
+
+commit 02168254a8bc269511093e20411c863979b2afac
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Thu May 19 11:50:53 2005 +0000
+
+ intermediate code generator (not finished);
+ generic back-end interpreter (interprets directly intermediate code)
+
+commit e5ff2b94ff16a05d4c5928a85199291e2e7f234e
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Thu May 19 10:22:28 2005 +0000
+
+ add static_assert macro
+
+commit 216f89318ee455ec5e74f836184c1e55e8ec8a92
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Thu May 19 09:28:01 2005 +0000
+
+ fix info log grabbing
+
+commit e3cdbca63f93420043001857eee2c8b333588fc9
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Thu May 19 00:03:50 2005 +0000
+
+ Ditch unused code and features that arent in subject to get supported any near time.
+
+commit 6bc9ea1df92a102c60c409c2f2261151503890b4
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed May 18 22:49:59 2005 +0000
+
+ In addition to dead-code removal and other clean-up, bump the required DDX
+ version from 1.0.0 to 1.1.1. 1.1.1 is over a year and a half old at this
+ point, so it should be pretty widespread. This allows the linecomp_sane
+ field to be eliminated from mga_screen_private_s.
+
+commit 9a1b5af3331361177cf73c1d0b18cea4e260688b
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Wed May 18 20:44:23 2005 +0000
+
+ Fix inverted y for egl fbdev, add egl demo3
+
+commit 8818eae253266b8e5df167ccd57567b36dbe32b6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 18 15:44:13 2005 +0000
+
+ To better exercise pixel packing, replace regular glReadPixels with four
+ ReadPixels that get the image piece by piece.
+
+commit 2b2bd08589099cb480b983835b01cc76a766a3c4
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 18 15:26:48 2005 +0000
+
+ Remove old t_vertex.c codegen infrastructure, tie in new code.
+ Currently disabled, can enable with MESA_EXPERIMENTAL=t.
+
+commit dc7fc173966e314f89502473044933a099c838ae
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 18 14:04:19 2005 +0000
+
+ Fix a few typos, initialize p->identity.
+
+commit 96582f4f28851f55f6726d1bba8a7f2616c327a4
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 18 14:03:02 2005 +0000
+
+ Eliminate a couple of swizzles.
+
+commit dd4c1dd0382277b080fb4981e027250e10658ae8
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 18 12:26:21 2005 +0000
+
+ Generates working SSE code for gears under the swrast driver.
+
+commit b745bf08cd5e772f86360267995a96e9b73384b0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 18 10:04:27 2005 +0000
+
+ Checkpoint commit: Preliminary version of a facility to emit x86/sse code
+ to implement vertex emit functions for the t_vertex.c mechanism.
+
+commit 2f74adc41f59db372d9d0fe58155bceb1654bd4d
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Wed May 18 08:43:30 2005 +0000
+
+ Stick texture LOD back on.
+
+commit e53fc72f67c2ba7f273a78740bb15de37f96baeb
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Wed May 18 08:22:36 2005 +0000
+
+ Polygon mode fixes.
+
+commit bd565e4bb7c4cff44d6fe7ac422ac7a6219f07dd
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Wed May 18 02:48:44 2005 +0000
+
+ Fix for writing the wrong sysfs variable when blanking
+
+commit 9a3da7ea7b61fcd71dd5caf9be9eaf485aa7947d
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Wed May 18 01:44:11 2005 +0000
+
+ Implement fbdev swapbuffers()
+
+commit 6e56f905d00f27257f252be3c2666dad52aeab45
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed May 18 00:37:32 2005 +0000
+
+ More comments. More dead-code removed. More clean-up.
+
+commit 2860e5f5360aeb06f1f6f973e696d53a3da3f398
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue May 17 22:21:08 2005 +0000
+
+ Disable leftover debug statements
+
+commit 22652f952fbd3968f3d5a3db7898911508d76145
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 17 19:29:46 2005 +0000
+
+ fix some BCOMP/ACOMP typos (fixes Brad King's vtk failures)
+
+commit ae818ed1da5ba8bbe06fe35b916a851750ef9080
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 17 18:44:33 2005 +0000
+
+ don't include strings.h
+
+commit 198d6d05b033ece21d094c46390ec0faa7612939
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 17 13:22:13 2005 +0000
+
+ remove eglQueryDisplayMESA()
+
+commit 5a0cb726d1e8dbd8cdb024d9e45169ad8c440777
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 17 13:21:46 2005 +0000
+
+ fix pbuffer sample code
+
+commit d2ab4eb2c2ed7a36e2e37fa3804c7581ecca81e0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 17 13:21:12 2005 +0000
+
+ remove glmode stuff
+
+commit 2ec2e94e2e22dff7b2912fb87c6ffe12dcb301f7
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Tue May 17 03:48:38 2005 +0000
+
+ Check error return from _eglInitPbufferSurface() correctly
+
+commit 40c1c723fb77b0d9c1a1958498597403d2238ee7
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Tue May 17 03:38:06 2005 +0000
+
+ Compute stride in the right order
+
+commit bf7f998f39852f5126ea455b1f48007f02d1ad11
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 17 02:18:38 2005 +0000
+
+ Added software-based pbuffer support (untested).
+ Use _eglConfigToContextModesRec() function and remove need for
+ the _EGLConfig->glmode struct.
+ Silence some compiler warnings.
+
+commit bb2c65200c023f7db4b0a4a72b18301e72c3b755
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 17 02:15:38 2005 +0000
+
+ updated demoCreatePbufferSurface()
+
+commit 511905632427aff302ddfb6cae285017451e0821
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 17 02:14:44 2005 +0000
+
+ update comments
+
+commit 4c80f8df46e6c70c9954364609cd0103030fa2a6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 17 02:13:00 2005 +0000
+
+ more work on _eglConfigToContextModesRec()
+
+commit e03b5cdf3fb4dafe565c06179124644e218e9cde
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Tue May 17 02:12:29 2005 +0000
+
+ Make EGL_NO_MODE_MESA work.
+
+commit 167b141e6eac1af5fc8fcd4129216a3125b08501
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 17 02:12:26 2005 +0000
+
+ added _eglInitPbufferSurface()
+
+commit d06da508880e9baee403b0d0046764b31087cdfd
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Tue May 17 00:59:13 2005 +0000
+
+ Fix several internal problems with generating the list of configs.
+
+commit c1082804a853233eee123c5b2408ba9b3faa7fd9
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon May 16 23:23:51 2005 +0000
+
+ Rearranged some code and added some comments to mgaAllocDmaLow. The
+ modified code performs identically, but cuts 16KiB from the resulting
+ mga_dri.so.
+
+commit ffd97d20aaa1cf7fa683d25deb0391f24ff14589
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Mon May 16 23:01:09 2005 +0000
+
+ Don't use _mesa_swizzle_ubyte_image if all three texture formats
+ involved in _mesa_textore_argb/rgba8888 (source, base-internal,
+ destination) differ. _mesa_swizzle_ubyte_image knows only about two of
+ the formats and can't handle the case that all three are different
+ correctly. Fixes https://bugs.freedesktop.org/show_bug.cgi?id=3111.
+
+commit a33f0d302445cbef740fb8c454ec0e2d5acb0458
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 16 19:07:45 2005 +0000
+
+ remove -ansi -pedantic -D_POSIX_C_SOURCE=199309L from CXXFLAGS
+
+commit 380991cb657dec71d754d5221ffd55360864358d
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Mon May 16 16:50:38 2005 +0000
+
+ Implement query of surface type.
+
+commit 3e8001a465ae67dbbbd1262115b71e7d4ef4c281
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Mon May 16 15:51:05 2005 +0000
+
+ Add error about write permission to fbdev attribs
+
+commit af1a72997224610420b1105f967b0f5a8272858d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 16 14:12:46 2005 +0000
+
+ another GLX / XCB patch (Jeremy Kolb)
+
+commit cf4f3c5061423ab7241ea2a59d4949dbfb9a3278
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon May 16 12:15:01 2005 +0000
+
+ Deal better with indirection and indirection accounting, developed
+ with Ben Skeggs.
+
+commit 4cf20d923627aa5f8fdce129b4259eef97f230c7
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon May 16 08:36:28 2005 +0000
+
+ Apply r200 tcl fix to radeon - compiles but untested.
+
+commit 72a313902bc8eca4b05641695877b255b9a5f06c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 16 02:21:57 2005 +0000
+
+ EGL_MESA_copy_context stuff
+
+commit f9bad3dfea43d792876c3a7221b9cfcd107085eb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 16 02:21:08 2005 +0000
+
+ use EGLint instead of unsigned long for eglCopyContextMESA, added comments
+
+commit a495ed372f7056c84cbf9c5a38622367c0fac36e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 16 02:17:49 2005 +0000
+
+ separate ext strings with a space
+
+commit d9789b78610a814e0f694312ee7ddf8f9ad2403c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 16 02:16:33 2005 +0000
+
+ s/Atrib/Attrib/, set extension enable flags
+
+commit 51ac95ba8945711cf65e94a2deba6c896dea5f0e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 16 02:15:42 2005 +0000
+
+ added boolean extension flags to _EGLDriver
+
+commit 6493bd07a7a766552c754920190972c91f5c336c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 16 02:14:50 2005 +0000
+
+ restore _eglSetConfigAttrib (for now), added prototype _eglConfigToContextModesRec()
+
+commit 7bfe8df08aa53f04031f0812d3bd4164581df559
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 16 01:32:57 2005 +0000
+
+ define M_E if needed
+
+commit 5873faf39b59dc566e1eae8c9f6d24ed5d4c388b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 16 00:45:03 2005 +0000
+
+ make _eglSetConfigAtrib() a static function, and rename it
+
+commit fdeda9c45831457ee0c30b80d5947d2d90006ed8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 16 00:32:09 2005 +0000
+
+ remove MESA suffix from _eglInitScreenSurface, use swAlpha value
+
+commit 9b134f641c3a2ee8d12e6b2a205e9fe6ff2cf401
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 16 00:31:29 2005 +0000
+
+ minor tweaks
+
+commit efeea95dcc9094528dcce59abc475046835ecd6a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun May 15 21:26:11 2005 +0000
+
+ fix GetRow parameters (Nicolai Haehnle)
+
+commit 45472672a2764e2ceaf499f586d7c337ddba731c
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Sun May 15 04:00:59 2005 +0000
+
+ A few egl patches needed for glitz, mainly config BITS
+
+commit aca2e0da3cd1e394673913b2a02ab85396a368a2
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Sat May 14 17:41:57 2005 +0000
+
+ Make gleans polyoffset test happy.
+
+commit d5084d42d4b91b5f5c368673d95f729b5cbb590f
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Sat May 14 16:52:32 2005 +0000
+
+ Dont assume GLbooleans are ones when true.
+
+commit 578f63f2bfac3481eece30a484cb963a9f987a19
+Author: Nicolai Haehnle <prefect_@gmx.net>
+Date: Sat May 14 14:56:25 2005 +0000
+
+ Cleanup blend state generation.
+ Do not set the NO_SEPARATE bit, as it causes problems with some
+ combinations of blend functions.
+
+commit 1c606a9aa1d1fa79fe5c92f42651385917322d5f
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Sat May 14 14:54:38 2005 +0000
+
+ Add empty placeholder for eglCopyContextMESA
+
+commit 09f433b97cc8fa36452a49c3f062b9d9d0c33b9e
+Author: Nicolai Haehnle <prefect_@gmx.net>
+Date: Sat May 14 14:51:17 2005 +0000
+
+ The kernel doesn't like command buffers over 64KB, so we don't
+ allocate buffers bigger than that.
+
+commit 8110df4f617cdcbaccb968365e87d32560033149
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Sat May 14 14:11:11 2005 +0000
+
+ Fix compiler warning about missing parameter list
+
+commit 9cf35d2876917ce79ee4f74ccc949549163244df
+Author: Nicolai Haehnle <prefect_@gmx.net>
+Date: Sat May 14 12:19:05 2005 +0000
+
+ Remove dead span functions code.
+
+commit 11bd5c1ac41b08c35c773264fc85c69ec8411b5b
+Author: Nicolai Haehnle <prefect_@gmx.net>
+Date: Sat May 14 11:43:04 2005 +0000
+
+ Fix span functions for stencil buffer access.
+
+commit 686e9b9f571cc9b6f2acd09be309af26f43890a3
+Author: Nicolai Haehnle <prefect_@gmx.net>
+Date: Sat May 14 09:17:28 2005 +0000
+
+ Don't print debug messages unless the user explicitly requested them
+ using the RADEON_DEBUG environment variable.
+
+commit aecc05627afc471cf75e55d444254d34bbf06ccd
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Sat May 14 03:51:18 2005 +0000
+
+ Add forgotten demo2.c
+ VS: ----------------------------------------------------------------------
+
+commit d0ddf190aa91b58c1791625075f04f29bc05bcd4
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Sat May 14 03:49:55 2005 +0000
+
+ Fix compile error in demo egl driver
+
+commit 5cb977fedf525f4cdc7348bbb271f32288bdd662
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Sat May 14 03:22:48 2005 +0000
+
+ Forgot to add fb_egl.c
+
+commit 296428dcf49cee49ce525baa52628466afbb1fc6
+Author: Nicolai Haehnle <prefect_@gmx.net>
+Date: Fri May 13 21:29:17 2005 +0000
+
+ Make software fallbacks work again:
+ We need to plug in swsetup functions into the TNL module's callbacks.
+ Also, resize the framebuffer size when the drawable size changes.
+
+commit ee83a1302fc54b82f496133d9bcc34426baa7acb
+Author: Nicolai Haehnle <prefect_@gmx.net>
+Date: Fri May 13 21:00:11 2005 +0000
+
+ Remove quiescence sequence from r300ClearBuffer.
+
+ The DRM is responsible for emitting this quiescence sequence when
+ appropriate.
+
+commit 7012d01d888d482f2c6ad1180231a482026d213a
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Fri May 13 18:31:35 2005 +0000
+
+ First attempt at getting egl support up on dumb framebuffer.
+ Seems to be mostly working. Not all of egl API is implemented.
+
+commit a6ed129dfc4ccfd898d347543f745f0b7745e31d
+Author: Nicolai Haehnle <prefect_@gmx.net>
+Date: Fri May 13 18:03:24 2005 +0000
+
+ Patch from Jeff Smith:
+ The type of vertex data is opaque in the emit_* functions, so use GLvoid*
+ instead of char*. This also eliminates some compiler warnings.
+
+commit 733bc876eeb7bc09136651bffe74c70c35d714b4
+Author: Nicolai Haehnle <prefect_@gmx.net>
+Date: Fri May 13 17:44:22 2005 +0000
+
+ Patch from Jeff Smith:
+ Fix a WARN_ONCE format string.
+
+commit 64034c4fb5c56f63d37faa6f64f3183ca106856a
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri May 13 11:56:13 2005 +0000
+
+ Remove MAX_VISUAL limitations of 100. If running dual head this can
+ be easily consumed. There are no limitations now and the VisualTable
+ is realloced when necessary.
+
+commit 846eb333aee2eeece35a6ec2f8ac8b40e99c5fcd
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri May 13 09:15:50 2005 +0000
+
+ Calculate render inputs for tcl stage correctly (hint: they aren't the
+ same as tnl->render_inputs). Fixes recent tcl problems.
+
+commit c9a69a69689e0cc26fb4708f7f76ab632af88eca
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu May 12 23:15:38 2005 +0000
+
+ Remove some unused structure fields, add some comments, and ifdef out some
+ dead code. This is just some clean-up work which should not have any
+ functional impact.
+
+commit 269e3895d9837ac7303b91948f003ca5c12c0fe4
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 12 10:28:43 2005 +0000
+
+ new MESA_DEBUG option: disassem
+
+commit 5c72837af9d3e358459c7f2e3ef9263c160d2a70
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 12 10:22:29 2005 +0000
+
+ Rein in debug slightly
+
+commit 5f430c9976c71d7167f9327623e1df5fce53a970
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 12 09:31:33 2005 +0000
+
+ Turn disassem off (oops).
+
+commit 714be699be31352af0faef0d99d11b8c4364ef00
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 12 09:07:12 2005 +0000
+
+ Add check for mask == NULL to the one routine missing it.
+
+commit 10432bcc0a2c89916bc98921bcf01e0fbb422dc5
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 12 08:54:13 2005 +0000
+
+ When lighting is enabled, but no lights are enabled, the scenecolor
+ becomes the result of lighting. When lighting is disabled,
+ pass-through incoming color value. Likewise, pass through incoming
+ texture values. (Based on patch by Aapo Tahkola)
+
+ Add compile-time configuration to switch between DP4 and MUL/MAD for
+ matrix-vector multiplications.
+
+commit 69a2f7cdd53f022dcac541a0e03317e105a85494
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Thu May 12 03:53:18 2005 +0000
+
+ fix warnings in r300_texstate.c (Jeff Smith)
+
+commit db21f1c84f32d4bd7696774acb86f5480f5138cd
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Wed May 11 22:01:20 2005 +0000
+
+ The "P" suffix on APIENTRY and GLAPIENTRY is to be used for pointers to
+ functions, not for functions that return pointers. Restore protoype
+ for glGetString back to its correct form.
+
+commit 4e68f4c1faa67c072fefe040271edf2c3a334eb7
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Wed May 11 17:28:13 2005 +0000
+
+ VBOs.
+
+commit 1e5772f0ba7300e19d1980c0e30e358e71c5c685
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 11 16:30:02 2005 +0000
+
+ Don't let FragmentProgram._Active influence choice of vertex vs pixel
+ fog.
+
+commit ac6728d2d9208c4e8147b1ebfde50efdf37a8428
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 11 16:28:33 2005 +0000
+
+ Previously in TXP and TEX instructions, lambda was passed to
+ fetch_texel as zero, but I believe this is incorrect. The spec uses a
+ pseudocode function:
+
+ vec4 TextureSample(float s, float t, float r, float lodBias,
+ int texImageUnit, enum texTarget);
+
+ to specify the behaviour of TEX, TXB and TXP instructions. For TEX
+ and TXP, lodBias is passed as zero, TXB is passed with texcoord[4]. In our code we have
+
+ static void
+ fetch_texel( GLcontext *ctx, const GLfloat texcoord[4], GLfloat lambda,
+ GLuint unit, GLfloat color[4] )
+
+ and were passing zero and a biased lambda value respectively. The
+ difference is that TextureSample() would add in the lambda term
+ itself, while in our code the caller is expected to do this. Thus in
+ the TEX and TXP cases, it is necessary to pass an unbiased lambda
+ value for things to work out correctly.
+
+commit 49d8cbe8d110e5c0a23300b5b82d110286bc3609
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 11 15:18:59 2005 +0000
+
+ Use _mesa_memset rather than memset
+
+commit 9d148e6b2be33fe7ac72aaa3be239dc1bc8878a9
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 11 15:18:23 2005 +0000
+
+ Don't let FragmentProgram._Active influence choice of vertex vs pixel
+ fog.
+
+commit 363d0bcf01b1e7b77c5a8d317bb0c6df8697a836
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 11 15:17:31 2005 +0000
+
+ Test for texcoord[3] == zero before dividing. Not so sure about this
+ test - if texcoord[3] is zero, we'd probably be fine except for an
+ ASSERT in IROUND_POS() which gets triggered by the inf values
+ created.
+
+commit e490242b9aeb50bd96fed7a9afbf529295a8ac0e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 11 15:16:35 2005 +0000
+
+ Fix glean/conform problems. Don't generate so much output when
+ disassembling.
+
+commit a5820159056fb9c3f5da6b3ae4570cd97b95835d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 11 10:30:13 2005 +0000
+
+ Fix valgrind complaint, conform vertex order test.
+
+commit 3509fd8c1b38d955a066a2bad429dbfba162fa30
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 11 08:34:19 2005 +0000
+
+ Rename temp_flag to temp_in_use. Use ctx->Const.MaxVertexProgramTemps
+ rather than MAX_NV_VERTEX_PROGRAM_TEMPS and deal with this possibly
+ being greater than 32.
+
+commit 93cd9237d793e38ba4479d1367be7548853f67f4
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 11 08:30:23 2005 +0000
+
+ Fix logic for allocating texture temporaries (Ben Skeggs).
+ Rename temp_flag, tex_temp_flag to make this clearer.
+ Respect ctx->Const.MaxFragmentProgramTemps limit.
+
+commit 1243b829bb776478619c16cf140ecbd2efd68b0d
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Wed May 11 01:33:50 2005 +0000
+
+ int -> size_t to fix compile on LP64.
+
+commit 2fcaf7a529f1e8bbdfbea6c8d9d6703adf5f17ba
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue May 10 18:24:50 2005 +0000
+
+ Ensure programs don't overflow allocated instruction store.
+
+commit a42fe19d8d16e082880900fb5376144696cb7304
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue May 10 18:22:19 2005 +0000
+
+ Fix some valgrind complaints
+
+commit e57d5c47428313a846f587e02693fc4fb2e30dc6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue May 10 18:10:32 2005 +0000
+
+ fix some valgrind complaints
+
+commit 5a5b4436cb71575884f76bc079156f77e30d72a7
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue May 10 18:10:00 2005 +0000
+
+ Improved detection of program changes.
+
+commit 3ffe8731e6cc07692be5ba1114d080bd4383477c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue May 10 18:09:17 2005 +0000
+
+ Double-buffer generated instructions and only notify driver when the
+ generated program differs from the previous one.
+
+commit c5f5055097e8fa23e8ba8bd39b0d9b747148c996
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue May 10 18:08:25 2005 +0000
+
+ Fix some valgrind complaints
+
+commit dbeea25bb834479a29712100888c862348112018
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue May 10 13:57:50 2005 +0000
+
+ Double-buffer generated instructions and only notify driver when the
+ generated program differs from the previous one.
+
+commit f29f2fc29464780eea6d877569cd5b7032266b88
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue May 10 13:56:23 2005 +0000
+
+ reduce the use of malloc and strdup for parameter lists
+
+commit ab81d1fd999b1696df4c733a86b651e4c38b9bcc
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue May 10 13:54:52 2005 +0000
+
+ don't be fooled into emitting padding for wpos when not used
+
+commit d9fdb6c2bb52b4909265f504287ee8e4bc2d919f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue May 10 11:41:33 2005 +0000
+
+ Missing from previous commit
+
+commit 9eef0da109414228bfd2b2c6409bcb948694be0f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue May 10 11:40:52 2005 +0000
+
+ Update for FragmentProgram._Active
+
+commit 8b88f62fbd62153500fc3483003f438561366a00
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue May 10 11:39:50 2005 +0000
+
+ Better driver notification on changes.
+
+commit 948fa3b295d384592ebc9396413a38aba4edf4a6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue May 10 11:38:56 2005 +0000
+
+ get fog working with _TexEnvProgram
+
+commit 586f2c59fe80a31b6342805e6ffc39ca878b098d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue May 10 10:25:16 2005 +0000
+
+ Temporary fix - delete and recreate texenvprogram so that drivers
+ notice when it changes.
+
+commit e3b0c19ec98cb97138e1d13d46fdb4a5449837f1
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Tue May 10 10:15:30 2005 +0000
+
+ Committing in .
+
+ OpenVMS compile support update for new buffer-code
+
+ Modified Files:
+ Mesa/src/mesa/drivers/x11/descrip.mms
+ Mesa/src/mesa/main/descrip.mms
+ Mesa/src/mesa/swrast/descrip.mms
+ ----------------------------------------------------------------------
+
+commit 9ca8815d3ba56ad718ba1c48c73aae3cdc0b8db0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue May 10 09:56:02 2005 +0000
+
+ Fix texenv segfault. Reported by Ben Skeggs.
+
+commit ecb6bfc0ce33b1daa84093dceeb58a4b741283e9
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue May 10 08:58:44 2005 +0000
+
+ Try not to use the same temp reg as a TXP destination more than once,
+ as this also constitutes a texture indirection. Reported by Ben
+ Skeggs.
+
+commit fee163a61ac42e7ea00c8c7e708e0e879cc10ab0
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon May 9 22:15:24 2005 +0000
+
+ pathetic attempt to accomodate new frambuffer changes (still some work to do)
+
+commit 0e26580c903a9b8b5952feeaac2e579a309ebf31
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon May 9 22:14:58 2005 +0000
+
+ accomodate new frambuffer changes
+
+commit c8542705f712732d178d07da5ee1b7b25362db4b
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon May 9 22:14:32 2005 +0000
+
+ fix some typos in FX code
+
+commit 435eff8b852f59e13554a57f83a48bf8035ec794
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon May 9 17:59:13 2005 +0000
+
+ i915 will use _TexEnvProgram (if active)
+
+commit 276330b2412910777f7016f427909085f02acbb8
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon May 9 17:58:13 2005 +0000
+
+ Use driver functions to create TexEnvProgram, TnlProgram
+
+commit ff6723e3264df15d443a0d6af8baafbab141089c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon May 9 17:42:18 2005 +0000
+
+ check for null DrawBuffer values
+
+commit 1180fc13db5fba0a3ec95630f520128f628c58ac
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon May 9 17:38:52 2005 +0000
+
+ Fallback (rather than fail) on unknown program targets.
+
+commit 5c6aec2f39e1c3bbb218ad19b5b475028125105a
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Sun May 8 05:01:03 2005 +0000
+
+ dri fb works using renderbuffers now in RGBA mode
+
+commit 86300c694501a8b2ca7c4a03f74e68af24586010
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Sat May 7 19:56:44 2005 +0000
+
+ fbdri can draw double buffered now. Next step is to convert it
+ to use RenderBuffers.
+
+commit fc3bc1ae14e7aa769fe01c007a1d68f2ff6db7b8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat May 7 18:27:58 2005 +0000
+
+ remove some dead code
+
+commit d3bd97bb145c2f4e479281e88ad283a4eab08eb1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat May 7 17:27:57 2005 +0000
+
+ x86_64 stuff
+
+commit 52064f6c3739a428d153ee960c15761699053b94
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat May 7 17:21:11 2005 +0000
+
+ added linux-x86-xcb config (Jeremy Kolb)
+
+commit 2eb147e7f5754a97cb1a5617db7d529754cfe002
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat May 7 17:14:50 2005 +0000
+
+ Patches for XCB (Jeremy Kolb)
+
+commit 6f3d16c64aee2ef0eb94aa0e4ab1ce53fd4a5579
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat May 7 17:06:49 2005 +0000
+
+ assorted warning clean-ups for x86_64, etc (Mikko T.)
+
+commit 42fa81275c67d7d1ad8d255120af0ffeeb46b963
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat May 7 16:59:58 2005 +0000
+
+ x86-64 transform optimizations (Mikko T.)
+
+commit e3f684b753c94d8657a1487655b41fdfc0119dba
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 6 22:17:24 2005 +0000
+
+ fix a bunch of html errors
+
+commit 883d20791ae08a81ff8c2da7a26474aa70a4c792
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 6 19:28:31 2005 +0000
+
+ fix cpp / bytesPerPixel problem (bug 1196554)
+
+commit b1d0ac64ab2e8285fd8a1f6b52f86a967162ae35
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 6 15:23:54 2005 +0000
+
+ remove bad assertion, added new ones in clear_pixmap()
+
+commit c64573997c4cfb13de5d82f6f83040b206bf6fd0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 6 14:44:16 2005 +0000
+
+ restore call to SetBuffer() in clear_color_buffers(), only temporary
+
+commit e133984f517f2273236ca8b22c2a94276c950c55
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Fri May 6 08:41:50 2005 +0000
+
+ Updated for EXT_framebuffer_object changes. I don't know if this is correct, but it seems to work
+
+commit bd8162aaac225fdbdc228c4419d08fa3751b9af6
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Fri May 6 05:50:41 2005 +0000
+
+ Fix problem generating mode db. Miniglxtest works now.
+ Miniglxsample is still broken with double buffering issues.
+
+commit 4a55d4ffa704956c8eed5a78aea847e7de06d5c3
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Fri May 6 03:18:40 2005 +0000
+
+ Missing setups that cause all kinds of problems with hw tnl.
+
+commit 6258b76c49f49a56a7c713914b798e80c6553b06
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu May 5 21:08:07 2005 +0000
+
+ Port Mesa to build on a P64 platform (e.g., Win64). P64 platforms
+ use 64-bit pointers and 32-bit longs. So, operations like casting pointers
+ to unsigned long and back to pointer won't work. glheader.h now
+ includes files to define uintptr_t, which should instead be used for
+ this sort of operation. It is an integer type that is the same size
+ as a pointer.
+
+commit 203dcb733d36cc91107554b0d323ed8ccef6e105
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 5 17:13:18 2005 +0000
+
+ fix for renderbuffer (Andreas Stenglein)
+
+commit bd1d9d96b2c52948a4178e3bcbba2af251252890
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 5 15:09:16 2005 +0000
+
+ remove some test code
+
+commit 9f8b3fac97a54746cf2d96bbd2803cdcc52c1d31
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 5 14:18:31 2005 +0000
+
+ minor face-lift for web pages
+
+commit 0355d3ff945c9f19c003275851f7aef2472ebec1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 5 14:18:04 2005 +0000
+
+ fix typo
+
+commit cb34c11663de15ab7d82d81bb3787e7f6d199e14
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 5 13:08:06 2005 +0000
+
+ added a comment
+
+commit 1077779c7d51f85d2f4ca69af59801eb0c63cc0e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 5 13:07:52 2005 +0000
+
+ add PROGRAM_DIRS line
+
+commit 1c39d183c4c14ffd86c4de74e07074616b4f75b3
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Thu May 5 06:51:00 2005 +0000
+
+ Getting rusty... 4278 was already there.
+
+commit fd4f7064e24654c89248be6d76f39c7baf22fce4
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Thu May 5 05:50:19 2005 +0000
+
+ Fix up origin in dri/fb driver
+ Calculated fbBPP
+
+commit db46e2a7ddc91ee1322897d68a2ae97912f28ed3
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Thu May 5 03:40:47 2005 +0000
+
+ Flat shading and bunch of clarifications to r300_reg.h .
+
+commit e7769cb34898ca20adb5b0e329161e6321403fc9
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Thu May 5 03:15:08 2005 +0000
+
+ Refactor COMMON_SOURCES up to Makefile.template
+
+commit d83c4e6dd164e97fbcce4c6ee5cc06e4338d24d4
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Thu May 5 00:28:37 2005 +0000
+
+ Minor touchups to fbdev renderbuffer support
+
+commit 73e8ffe9f36da6b857341a44cfdb94d957d50f31
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Thu May 5 00:28:31 2005 +0000
+
+ Pack tex coord regs at vertex program backend.
+
+commit 286c4cc201390e868c4f9b5ebe14c40db2d74a5d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 5 00:10:18 2005 +0000
+
+ more updates for users of s_spantemp.h
+
+commit b3e878ad900b9ab9d417fb31175a116c9dc1edc8
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Wed May 4 22:05:02 2005 +0000
+
+ Add drirenderbuffer.c to COMMON_SOURCES
+
+commit eae0439ae6027ba64fba49fe13360d105700905f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 4 20:20:02 2005 +0000
+
+ fix s_spantemp.h includes
+
+commit 79c0bb5264dd1f036b354c8eb4dc463594dd4150
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 4 20:18:23 2005 +0000
+
+ FBO changes
+
+commit 41a93f544e5e1df8cf4bd46cfa3ed4c17bb473f4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 4 20:13:59 2005 +0000
+
+ fix xm_span2.c reference
+
+commit e4b2356c07d31fbeeabb13b2fb47db703b473080
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 4 20:11:35 2005 +0000
+
+ Major check-in of changes for GL_EXT_framebuffer_object extension.
+ Main driver impacts:
+ - new code for creating the Mesa GLframebuffer
+ - new span/pixel read/write code
+ Some drivers not yet updated/tested.
+
+commit ebef61f5c0950572f9c6a81b08f447957461675c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 4 20:05:21 2005 +0000
+
+ html fix
+
+commit fe6ee3f5e69572fe8ea90183b2d5de7d76eecca2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 4 20:00:15 2005 +0000
+
+ EGLScreenMESA updates
+
+commit f5581bb9943c4b711ce5e7bea4979adacd9b85d8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 4 14:50:45 2005 +0000
+
+ don't call XTranslateCoordinates() if rendering to pixmap
+
+commit 47b29f511a8e917c65536fde90397d54d2ad23d3
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 4 11:44:44 2005 +0000
+
+ Add a facility to route all rasterization through a fragment program
+ which is automatically generated to match the current texture environment
+ state. Introduces a new value ctx->FragmentProgram._Active which is
+ true when either _Enabled is true or there is such a fragment program
+ ready to run.
+
+ To test out on a driver running the software rasterizer, set
+ MESA_TEX_PROG=t in the environment. It goes without saying that performance
+ is lower for the software rasterizer in this mode.
+
+commit c3f764f7bb5a0571ddb0bc8b37aff9d663188d79
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 4 11:21:46 2005 +0000
+
+ Sort instructions for clarity.
+
+commit 3151b27b0a10c46d25f1c97169f7a2543d869ce0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 4 11:21:25 2005 +0000
+
+ Include negate information in disassembly output.
+
+commit 209b090241d2b4e7bf557e34f7417c847b23f596
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 4 11:20:59 2005 +0000
+
+ Mark unused registers as undefined so dissassemblers can recognized
+ them easily.
+
+commit d8f9599403bb1b1ec433b071141db62e47599b9e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 4 11:20:20 2005 +0000
+
+ Improve the quality of the disassembly output for fragment programs.
+
+commit c6e1569b7f1f7004a3cb458ae60babde47ca3e1d
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Wed May 4 06:33:58 2005 +0000
+
+ Committing in .
+
+ OpenVMS compile update
+
+ Modified Files:
+ Mesa/src/mesa/shader/slang/descrip.mms
+ ----------------------------------------------------------------------
+
+commit 82761cb08bc3c1883d15c95bd363725d79e3863c
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Wed May 4 06:12:22 2005 +0000
+
+ DRI fbdev driver getting better. Now I can see something on the screen
+ but it isn't the right something yet.
+
+commit c22990c29a5cdff89e6e3914aa565acc88a6a407
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 4 03:33:21 2005 +0000
+
+ sync with latest EGL_MESA_screen_surface spec (EGLScreenMESA handles)
+
+commit 3aeae2068510a369ba5c90ae1355d0b0ed89d5f5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 4 03:32:39 2005 +0000
+
+ updates for latest EGLScreenMESA changes
+
+commit 884b5ade869de84a80ae6625458f8cc7afba9081
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue May 3 15:11:23 2005 +0000
+
+ Import all texture coordinate arrays. Import them only once.
+
+commit 138b7ef4d97734aea56d86c3d9add15dfa841dcf
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Sun May 1 23:36:43 2005 +0000
+
+ Add support to external tnl switcher and disable hw tnl by default.
+
+commit 3a934557bf695febc4710875764964f0dd4b18d4
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sun May 1 14:37:23 2005 +0000
+
+ Bumped the Savage driver date (a bit late) to mark S3TC support.
+
+commit 5f0bf772557e3c62a77c686667d61aa26afd14e5
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sun May 1 14:29:16 2005 +0000
+
+ Fixed and cleaned up programming of watermark registers. There may be
+ a marginal speedup, but I'm not sure this has the same effect on all
+ hardware. Tested on Savage IX and ProSavageDDR. For experimenting with
+ different values see the macros at the start of savagestate.c.
+
+commit 8af7ff1ded97af2f1d34b740cbbb2cf7f6d51603
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Sun May 1 00:21:27 2005 +0000
+
+ Improve the DRI fb driver, now it compiles.
+ Added code to support NEW_INTERFACE.
+ It still doesn't work. Made it build from make linux-solo.
+
+commit 1c54579e8687feee98a439b65c41d06f26804492
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Apr 30 18:30:16 2005 +0000
+
+ apply previous GL_COMPRESSED_TEXTURE_FORMATS_ARB fix to generator file, and regenerate get.c
+
+commit 7d33053e47c8e70a1530d810babab6294ae19782
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Sat Apr 30 11:06:14 2005 +0000
+
+ r300 side support for fixed function pipeline. This isnt functional with current Mesa.
+
+commit 47d18cbb6457316896524eb383f864d0ac0d638d
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sat Apr 30 02:09:23 2005 +0000
+
+ Fixed bogus ENUM_TO_BOOLEAN in
+ _mesa_GetIntegerv(GL_COMPRESSED_TEXTURE_FORMATS_ARB). Must be ENUM_TO_INT.
+ mesa/progs/tests/texenv now lists supported compressed texture formats
+ correctly.
+
+commit f1d053b19ad3839fb9d1d39350336f4420da255f
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sat Apr 30 02:03:18 2005 +0000
+
+ Added S3TC support to the Savage driver with some help from Mark Cass's
+ S3TC support for an older driver version. On Savage3D/IX/MX
+ GL_EXT_texture_compression_s3tc can't be enabled because DXT3 and DXT5
+ are not supported. However GL_S3_s3tc is enabled on all Savage chips.
+ Tested on a Savage IX and a ProSavageDDR
+
+commit 28d0a9c9dd68320482f506e9a36848f70d3807a0
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Fri Apr 29 22:25:21 2005 +0000
+
+ Fix include path to make build work
+
+commit 5f534aa1e2c53360bb1ae42fb196e41aa29d0d3d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Apr 29 17:32:27 2005 +0000
+
+ Format for 80 columns. Add alternate matrix mul based on MAD rather than DP4.
+
+commit e9e20fc47d0cf80caa585c814c12160883f49a7d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Apr 29 17:31:54 2005 +0000
+
+ Add DISASSEM define, similar to other program generator files.
+
+commit a5cb1aa211fafb8490867fc3ce4e64a1d2e63cd6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Apr 29 17:31:10 2005 +0000
+
+ Add linux-fbdev config
+
+commit 431417fec73c323a7af8a0a141ea731d0e6a5630
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Apr 29 17:30:29 2005 +0000
+
+ new config
+
+commit 5c81a4b9cd621d6685d8cf41818484e157bb8f47
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Apr 29 15:41:24 2005 +0000
+
+ Put back not-so-redundant #ifdef.
+
+commit a6ebcdfe7d577073212e1b2b4889a63cd98802c4
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Apr 29 15:37:27 2005 +0000
+
+ Remove redundant #ifdef, fix compiler warning
+
+commit 2c19069182ff5919ef2322d70e007a33c87d2b93
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Apr 29 15:36:38 2005 +0000
+
+ new file
+
+commit 15e75e00c7dc79c28aeac84891bcf18ffc77cff9
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Apr 29 15:11:39 2005 +0000
+
+ Maintain a fragment program for current texturing state.
+
+commit d59054e60bd98f42f41f53f96c782b0dc713f13c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 28 21:14:00 2005 +0000
+
+ fix _tnl_copy_to_current() so that current edge flag and rasterpos aren't trashed by color index updates
+
+commit 5cef1a1fedc583a5860f260d53b9b188a05f1e16
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Apr 28 13:16:23 2005 +0000
+
+ Stop gcc-4.0 complaining about "type qualifiers ignored on function
+ return type".
+
+commit 545515cbea96d1653f1953b57fc813417ca46efc
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Apr 28 12:05:58 2005 +0000
+
+ Stop gcc-4.0 complaining about "type qualifiers ignored on function
+ return type".
+
+commit 97e1e60b1c83f2c797409776022e4803dc8b0135
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 27 21:20:30 2005 +0000
+
+ move set_component_sizes() to fix bug 3135
+
+commit 69441868f6440705842f47f0a0e9521e58940a25
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 26 20:58:27 2005 +0000
+
+ no need to enable fog or set fog mode with fragment program
+
+commit 55d8dd4078e58e6d2fe2c513861ff06b6bc114fc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 26 20:56:21 2005 +0000
+
+ tweak previous fog/fragment program fix
+
+commit d09df24082d69e534470f9a5f667b30c34ae6d74
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 26 17:35:45 2005 +0000
+
+ added interpolate_fog()
+
+commit c03b6f40baae1d11deaa9d1c7951ec8b5f80be81
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 26 17:25:53 2005 +0000
+
+ enable fog render input if fragment program fog option set
+
+commit c039af165d5919008c6df599795951f85dea164d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 26 16:02:56 2005 +0000
+
+ comments and minor clean-up
+
+commit c3259fa436cb512bd3c3a446252c8e11a3aec432
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Mon Apr 25 09:50:45 2005 +0000
+
+ Fix as suggested by Ben Skeggs.
+
+commit b83aadb0e4cc61638ead165af25b954e5e070d07
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Apr 25 09:36:27 2005 +0000
+
+ Ensure all VB->AttribPtr[] are populated. Reported by Aapo Tahkola
+
+commit 576caad33e2db8f6950a33848e05cf3d42e2d918
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Mon Apr 25 03:03:10 2005 +0000
+
+ Minor changes to make linux-solo build again
+
+commit cbc8d7596a9939dcbaa2a1a2aaa65d7fc9d70127
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sun Apr 24 20:55:57 2005 +0000
+
+ Software fallback for glColorMask. Can be avoided on Savage4 when all
+ channels are masked (disable draw update). Bumped driver date to
+ reflect recent correctness fixes. The driver now passes all glean
+ tests except exactRGBA on both Savage4 and Savage3D-based cards.
+
+commit 6ffd0a4cf1aae2b5ea0fd683a2d7607e59cd3f68
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Sun Apr 24 09:08:31 2005 +0000
+
+ Modifying to build against current Mesa. Disabled r200*.c files since they didnt want to build anymore.
+
+commit 5c906924ed6ee664ba61764dd21bee36dce06d02
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sat Apr 23 19:54:30 2005 +0000
+
+ Fixed a segfault introduced by Keith's pipeline changes.
+
+commit 9b4536a654774e3df330e9f238475aa20e30f7a3
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sat Apr 23 17:18:57 2005 +0000
+
+ Texturing fixes for Savage3D/MX/IX:
+ - force emitting texAddr when the texture image changed (flush caches)
+ - set transparent texture color key to something improbable
+ (couldn't find a way to disable it completely)
+ - fixed texture environment modes GL_DECAL and GL_REPLACE
+ - made texture environment mode GL_BLEND a software fallback
+ - added two custom texture formats for promoting from GL_ALPHA to ARGB8888
+ and 4444. Since the hardware can't be made to ignore the RGB color
+ components, set them to 1 instead of 0. This gives the correct results
+ - disabled GL_EXT_texture_env_add on Savage3D/MX/IX
+ - map both GL_CLAMP and GL_CLAMP_TO_EDGE to hardware mode "wrap". It doesn't
+ match either mode exactly by the spec, so we should either fall back on both
+ or none. I chose the latter.
+ - fall back to software when s and t wrapping modes differ (hardware has only
+ one bit for both)
+
+commit df943a40411d2b71381e5053d7c59e8cd2400fff
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Apr 23 11:55:18 2005 +0000
+
+ Fix the worst problems with dangling edgeflag references in
+ display lists. These mainly arise from edgeflag being the only
+ attribute no longer stored internally as a float and requiring
+ various special case paths to accomodate it.
+
+commit 0d4af83f252d51f504b7df59a9fab7f83672b9ba
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Apr 22 22:47:09 2005 +0000
+
+ Updates for pipeline_stage struct changes.
+
+commit bf87f864934e174b3493592d5d107f012aac0842
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Apr 22 22:42:09 2005 +0000
+
+ First pass at updating these drivers with pipeline_stage struct changes.
+
+commit 963586b871e77d8bc34c2a02500f8f5313825fd4
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Fri Apr 22 21:36:37 2005 +0000
+
+ Added a French translation of option descriptions by Stephane Marchesin.
+
+commit fc06f9fb252264dd3fefe04afbb3820e885255ed
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 22 21:17:14 2005 +0000
+
+ demo / test progs
+
+commit 20d44dc9bc0f60afa93a6542ebcda44ee88f69ef
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 22 21:16:28 2005 +0000
+
+ types for Mesa implementation of EGL
+
+commit 11b0a76370c2a00ffe9e50e6d8384b4daeb7cee4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 22 21:16:12 2005 +0000
+
+ prototype EGL_MESA_screen_surface.
+
+commit adbff7e977c7c768e752a24fb643d68bdf961bfe
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 22 21:09:39 2005 +0000
+
+ initial EGL code
+
+commit a661654a33ba38990719ac9f5aea2910a5d5bf77
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Apr 22 13:02:04 2005 +0000
+
+ Move the call to _tnl_UpdateFixedFunctionProgram to make
+ it easier for hardware drivers to test this out.
+
+commit 6f973f33679e034b7cb63806f1ddfabdbdd70123
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Apr 22 12:51:19 2005 +0000
+
+ Simplify the pipeline_stage structure
+ - remove input/output fields, input tracking removed.
+ - remove state fields, the validate function now called
+ on every statechange.
+ - add an explicit 'create' function.
+
+ Add in code to build vertex program to implement current t&l state. Still
+ disabled, but turn on with a #define in t_vp_build.h.
+
+commit 6a13c7da4c79f7e811fbddc68f59441070ff0cc8
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Apr 22 12:46:13 2005 +0000
+
+ Up the value of MAX_NV_VERTEX_PROGRAM_PARAMS to a power of two.
+
+commit addcc6afbd5a94bf0c35ad04e914503056d0e994
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Fri Apr 22 10:43:36 2005 +0000
+
+ Add more error checking.
+
+commit 19fb77ee7b02782b383f5ffe30854d0b36dc845e
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Fri Apr 22 10:28:53 2005 +0000
+
+ Cosmetic changes.
+
+commit b10d080b1e1f64c2663dde5532b7bcae4fa75325
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Fri Apr 22 10:15:32 2005 +0000
+
+ Move some utility functions to slang_utility.c.
+
+commit 3ed1f07686d33abae54f6599260aa4e77354f901
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Fri Apr 22 09:51:46 2005 +0000
+
+ Provide precompiled binary versions of built-in library .gc sources
+ to dramatically improve shader compiling performance.
+
+commit 2cbbd3dc50eb3656cfabbd948a594e03c8134943
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 22 02:56:21 2005 +0000
+
+ undef DEPTH_TYPE at end
+
+commit a7fcac5e9252101610b3b48a019a36527096ca9b
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Thu Apr 21 21:50:54 2005 +0000
+
+ Fixed some suspicious pointer casts that caused lots of
+ compile-time-warnings on x86-64. Not tested on x86-64 yet, but a good
+ thing in general, so I'm giving up waiting for feedback. See also
+ https://bugs.freedesktop.org/show_bug.cgi?id=2924.
+
+commit 07d91bbb59e42abb9c5c6d84c850d004db1d964c
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Thu Apr 21 21:43:21 2005 +0000
+
+ Fixed TexEnv modes GL_BLEND and GL_ADD on Savage4-based cards. Disabled
+ the use of hardware texture format I8 as it produces garbage at least on
+ ProSavageDDR.
+
+commit b3474de7b50fc2a3e3531f4343e47e8aea50736d
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Thu Apr 21 19:09:54 2005 +0000
+
+ Adding some comments.
+
+commit 7c26b61f9366a397e353d7b7f1f1d1f6d0dcd0c7
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Apr 21 14:46:57 2005 +0000
+
+ Reduce the size of mesa's internal fragment and vertex program
+ representations by switching to packed structures for registers and
+ instructions.
+
+commit 88b69d799800bfec061943204de1627989f42fad
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 21 14:19:50 2005 +0000
+
+ use _mesa_pow() for LIT (bug 3087)
+
+commit f069e5e412eebabe64286d35598173caac5c132e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Apr 21 13:13:49 2005 +0000
+
+ Facility to construct a vertex program which executes the current
+ fixed function t&l pipeline.
+
+ Currently runs most of the Mesa demos OK, but still needs debugging &
+ polishing.
+
+commit 0ff98b03c6a54db609c82620d6093dbd24cdaec3
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Apr 21 13:11:02 2005 +0000
+
+ New software implementation of ARB_vertex_program. Similar in speed
+ to existing version, but with the potential for good improvements.
+
+commit 70375aff48292fe0ee78c4a93758166b1324c020
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Thu Apr 21 05:24:02 2005 +0000
+
+ Had some odd problems with add and temps so doing it with mad. Adding some MAD_2 cases.
+
+commit 52bf0054258a2b5220e2f93a2f366954a70b6f82
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 20 23:47:03 2005 +0000
+
+ fix state.light[n].spot.direction.w value (bug 3083)
+
+commit 8d51bbf2a3b4bac379855c84ebeed86c3578d0c6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 20 17:12:10 2005 +0000
+
+ clean up buffer creation code
+
+commit fc8f2021815b692b0e2b8d3e879edee0db538a11
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Apr 19 18:49:44 2005 +0000
+
+ Reorganized shader stuff.
+
+commit c4e1fd5a7f429c4ba3a10ace3346e2e40cf20361
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Apr 19 03:12:30 2005 +0000
+
+ Fixes for bugs that were nailed down when compairing against software vertex shading.
+
+commit f8ed0aa26804558cb732f6ea41fe0ebe3da91efe
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Mon Apr 18 22:41:43 2005 +0000
+
+ Fixing and enabling elt buffers by default.
+
+commit d03ab104db0b9ebacb4265787d4c924fc721fcda
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Apr 18 21:30:20 2005 +0000
+
+ If the file name passed to parse_GL_API is None or "-", read from standard
+ input. This allows use of GL API scripts in pipelines.
+
+commit 93d2d54e7a11cf1a01c976ede37db2320ccc2dff
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Apr 18 19:42:23 2005 +0000
+
+ Refactor a bunch of common code from the "leaf" scripts to a new functions,
+ parse_GL_API, in gl_XML.py.
+
+commit 8ea22650bd2f791f72b9b2970b88236d59234d61
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Apr 18 19:17:12 2005 +0000
+
+ Fill-in function offsets and correct a couple typos.
+
+commit 2510ba618d8b48819098b062fb30fec7b19c75ff
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Apr 18 19:16:07 2005 +0000
+
+ Convert all Python scripts to use XML namespaces.
+
+commit b7142567bc6badc952c1dac9b1b095c4517b2492
+Author: Peter Zubaj <pzubaj@gaya.sk>
+Date: Mon Apr 18 19:06:14 2005 +0000
+
+ Alpha test fix
+
+commit 61f08d8094cebffd18e47eb684bb6bcd54d17189
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Apr 18 18:36:57 2005 +0000
+
+ Move the DTD to its own file.
+
+commit f905145b6087fca66368bfff5c62788a626f1298
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 18 17:48:25 2005 +0000
+
+ comments and clean-up
+
+commit 02986cb2cc1b1d47b26a653e9ae0fa508365f616
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Apr 18 16:59:53 2005 +0000
+
+ Add support for pthreads and TLS to libGL for __glXLock / __glXUnlock and
+ for tracking the current GLX context.
+
+ This fixes bug #3024.
+
+commit 2e823f29e41d395c38804919076ba30f563266b5
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Apr 18 16:40:36 2005 +0000
+
+ Send GL_PACK_INVERT_MESA state to the server. This fixes bug #2538.
+
+commit b52673117b87d679def52d82085c8ad26a9a7556
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 18 14:21:44 2005 +0000
+
+ s/NORMAL/FOG/ (J.P. Delport)
+
+commit 49b1d95c1cae4547199eeb7f7a045edb16611474
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Mon Apr 18 13:05:24 2005 +0000
+
+ Updates for OpenVMS : New makefiles
+ added some type-casts
+
+ Modified Files:
+ Mesa/src/mesa/shader/descrip.mms
+ Mesa/src/mesa/shader/program.c
+ Mesa/src/mesa/shader/slang/slang_compile.c
+ Mesa/src/mesa/shader/slang/slang_preprocess.c
+ Added Files:
+ Mesa/src/mesa/shader/slang/descrip.mms
+ ----------------------------------------------------------------------
+
+commit e9a3d8a7726823efae8ed27f7f669e96a445950a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 15 22:20:46 2005 +0000
+
+ added SLANG_SOURCES to SOLO_C_SOURCES
+
+commit afb3fb4b77e3e25bddbd17e0615b37a0654bd769
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 15 22:16:18 2005 +0000
+
+ config for profiling with gprof
+
+commit 635ee2df37898fe408be565d189c2fb4dc5f61b1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 15 17:25:07 2005 +0000
+
+ added _mesa_share_state()
+
+commit 509710cfd7c45a21bf03c3746d78c0f155b8418b
+Author: Ben Crossman <bencrossman@freedesktop.org>
+Date: Fri Apr 15 17:17:47 2005 +0000
+
+ more gldirect compile fixes. Getting near the linking stage now. No build file yet.
+
+commit efb41b07ff213735e8ea08f38a7799f9d80459fc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 15 16:05:14 2005 +0000
+
+ remove carriage returns
+
+commit 78803b2667c1dfe1dc47e09b61a4c29303e09d0b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Apr 15 12:57:23 2005 +0000
+
+ Fix alpha value of STATE_LIGHTMODEL_SCENECOLOR. From the spec:
+
+ The "w" component of the program parameter variable is filled with
+ the alpha component of the front diffuse material color.
+
+ Make sure matrix inverses are uptodate also.
+
+commit a131d50fb76cfa4c129c2a9d6ec2a0c83d51b85a
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Fri Apr 15 10:30:43 2005 +0000
+
+ add shader/slang/slang_preprocess.c
+
+commit e3a846b0e32920f8c7750a77d263e5c5fd87b0b9
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Fri Apr 15 10:23:10 2005 +0000
+
+ implement info log; parse #version directive
+
+commit 65ce50897eb8d7547e4ef1cc1edf82a03e4a697d
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Fri Apr 15 10:21:34 2005 +0000
+
+ slang preprocessor
+
+commit 885566448995ec186ffe65bb336bf8c5516c0f19
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Fri Apr 15 10:20:30 2005 +0000
+
+ slang #version directive syntax
+
+commit 35725a92be64ecb2b5fd7ced66b585b496e50a54
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Fri Apr 15 10:19:27 2005 +0000
+
+ change __asm statement semantics
+
+commit d8aa5ffed5986587e5b93ca802c79d28be68aa8d
+Author: Ben Crossman <bencrossman@freedesktop.org>
+Date: Fri Apr 15 09:13:21 2005 +0000
+
+ Reverted the last change back to fix bug 3035
+
+commit 067e788acd80b5bb276aa0c1c6d7a67b234990da
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Apr 14 23:03:44 2005 +0000
+
+ Convert 'variable_param' from a CDATA attribute to a NMTOKENS attribute.
+ The main difference is that white-space is used to separate the names
+ instead of comas.
+
+commit 73b4c1b3885bacb3a0ec5be645dbfbbefb99b658
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Apr 14 23:00:34 2005 +0000
+
+ Refactor the handling of the '(true | false)' enumerated attributes.
+
+commit a3deff2404403fb75089c731d4189dd59ced21c0
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Apr 14 22:59:46 2005 +0000
+
+ Modify the DTD to use NMTOKEN, enumerants, and explicit default values
+ wherever possible. Correct a couple mis-uses of the 'counter' attribute
+ when 'count' was intended. Fix some errors in the DTD and in the data with
+ 'doubles_in_order'.
+
+commit 6cae4f3bc9b92f9bbda753843e8ff0f0bbbb8fb3
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Apr 14 21:05:55 2005 +0000
+
+ In GLX_USE_TLS builds, make GET_CURRENT_CONTEXT use the TLS verion of the
+ variable. Without this, GET_CURRENT_CONTEXT would *always* result in a call
+ to _glapi_get_context (because _glapi_Context is a const pointer to NULL in
+ TLS builds).
+
+commit f434e07a6ac849cd127d70eee8b3349da7cfb360
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Apr 14 20:35:33 2005 +0000
+
+ Add missing includes of indirect.h.
+
+commit 369404299c6e23ee0cc4b572c95e5533314064d7
+Author: Ben Crossman <bencrossman@freedesktop.org>
+Date: Thu Apr 14 19:54:15 2005 +0000
+
+ A few getenv() that werent using the mesa wrapper version
+
+commit b2b01a60dbba4ebd130898509c14ca80a847a679
+Author: Ben Crossman <bencrossman@freedesktop.org>
+Date: Thu Apr 14 16:58:25 2005 +0000
+
+ Some initial compile fixes. Still some left and warnings that need fixing. No where near runnable yet.
+
+commit 60e2810ae45b358699e6db0ddc95e0a4c1f45338
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Apr 14 15:53:30 2005 +0000
+
+ Disable CLOD (Lod constant) state emit. The values emitted were
+ possibly negative, hence clobbering the leading register-id byte.
+ Fixed the calculation of the values to prevent negative numbers being
+ emitted, but the code still doesn't implement texture LOD bias
+ correctly, so leave it disabled overall.
+
+commit 99b329ca13f92bc723c3e67d35a974adac235323
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Thu Apr 14 10:31:36 2005 +0000
+
+ hook to _slang_compile()
+
+commit ed5f790919da3ca982a0c3d2f0c705093ed6163f
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Thu Apr 14 10:30:08 2005 +0000
+
+ cosmetic changes
+
+commit 8c01903114c770e735b66e343302d9d9f122d22e
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Thu Apr 14 10:28:14 2005 +0000
+
+ ARB_fragment_shader state
+
+commit 6372ea0da03a4d5fcfaa5b59032d0299bd7ef965
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Thu Apr 14 10:27:19 2005 +0000
+
+ ARB_fragment/vertex_shader state
+
+commit 2a37053fd5591eeb21db33aa8f6ee444da1eee7a
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Thu Apr 14 10:25:49 2005 +0000
+
+ ARB_shading_language_100 bit;
+ Fragment shader derivative hint
+
+commit 1e8fc5ffea10f01ae7dffefbe4d44c39e39aab43
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Thu Apr 14 10:23:51 2005 +0000
+
+ add GL_ARB_shading_language_100;
+ reorder GL_ARB_shader_objects and GL_ARB_fragment/vertex_shader stuff
+
+commit 5c968cbc5e1d355a362018defde7ebe926dd1f65
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Thu Apr 14 10:21:30 2005 +0000
+
+ add FEATURE_ARB_shading_language_100;
+ remove FEATURE_shading_language;
+ add ARB_fragment/vertex_shader max values
+
+commit 98e35025ba22261bb82b9a6fce72c68179e52b57
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Thu Apr 14 10:19:19 2005 +0000
+
+ do not use isdigit() - can cause link errors
+
+commit fd451b6d01d147dfbe209df31d2135a10ff14a7b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 13 23:50:47 2005 +0000
+
+ updated procedure for getting CVS-write access
+
+commit 25fe93f0a11e6f4c8d470441ff91b9cddf7b3023
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Apr 13 20:59:15 2005 +0000
+
+ Add TLS support to libGL and, by virtue of using glthread.h and GL_CALL, all
+ DRI drivers. A TLS enabled libGL can load a TLS or a non-TLS DRI driver,
+ but a TLS DRI driver requires a TLS enabled libGL.
+
+ This fixes bug #1822.
+
+commit c604e457d1ebe9a884b0a1fb08af38a0ce486699
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Apr 13 18:41:33 2005 +0000
+
+ Revert revision 1.13. This allows server-side libGLcore (in X.org) to build
+ with Mesa CVS. This change was wrong in the first place, and the issue that
+ necessitated it has been resolved. For more background on the problem see:
+
+ http://marc.theaimsgroup.com/?l=mesa3d-dev&m=111333880529935&w=2
+
+commit 9a5ba4794c87c5798f7e8cddb641f42b0e5c4b13
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Apr 13 14:05:28 2005 +0000
+
+ add SLANG_SOURCES
+
+commit fa2802d4d0b563c5bb9463d5882046e3fda6265a
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Apr 13 14:05:06 2005 +0000
+
+ clean-up stuff
+
+commit 0e7836b500a8ec1e8dd8714204d69314d95b91b7
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Apr 13 14:04:41 2005 +0000
+
+ simple front-end compiler
+
+commit d3ea221d3ea12d4d42049db22fa9502d57c55070
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Apr 13 13:18:35 2005 +0000
+
+ add __fixed_input and __fixed_output qualifier support;
+ fix for_init_statement output;
+
+commit 2f951683be5766b7b9537cbb691f662cd1f49b16
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Apr 13 13:06:57 2005 +0000
+
+ cosmetic changes;
+ add __fixed_input and __fixed_output qualifiers for built-in variables;
+
+commit 5a382001224df9aad6137c825fbfc2d058b220b1
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Apr 13 13:03:23 2005 +0000
+
+ cosmetic changes;
+ fix syntax errors;
+
+commit f18d70b80493bf795e901424231b0e157251e0ad
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Apr 13 12:59:58 2005 +0000
+
+ cosmetic changes;
+ change first parameter's qualifier from inout to out for __operator =;
+ remove __asm instructions: int_add, int_multiply, int_divide, int_negate,
+ int_less, int_equal, bool_equal;
+
+commit cfcf86b37dbba0799cc143219f8f2c6bb5a8896a
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Apr 13 12:48:40 2005 +0000
+
+ converts a .gc file to a C header containing string form of the file
+
+commit 0ad2ef20a79a317c6648326b7c0bf109703a84c1
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Tue Apr 12 21:01:30 2005 +0000
+
+ Added a Spanish translation by David Rubio Miguélezand a Dutch
+ translation by Manfred Stienstra.
+
+commit ad0dbe6b04f5d6d580a0a5dfe2018027f986acbd
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Tue Apr 12 20:58:34 2005 +0000
+
+ Changed escaping of double quotes.
+
+commit 41bddcfa7bbc65bcd2fc60ada9761d3065e71388
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 12 01:41:04 2005 +0000
+
+ PF_8A8R8G8B pixel format (Dave Reveman)
+
+commit 55ba0dccc92797a0411ce315328100e28f6343b7
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Mon Apr 11 21:41:40 2005 +0000
+
+ Manage option translations in separate .po files to make translations
+ easier for non-programmers familiar with GNU gettext. For now there is
+ only a German translation but more translations are encouraged.
+
+ Translatable strings are extracted from t_options.h containing option
+ definitions with English descriptions. A corresponding header options.h
+ with all available translations of option descriptions is generated by
+ gen_xmlpool.py and included by xmlpool.h.
+
+ Many option descriptions were rephrased to make them unambiguous for
+ translation without context. They are hopefully more helpful to users at
+ the same time.
+
+commit aaa5a664331600139347039419cd5c8d9493b8aa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Apr 10 17:44:27 2005 +0000
+
+ set table size to 1023 and use new HASH_FUNC() macro
+
+commit 5f92c38f0efddf575466381a2ab47046255b29f1
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Sat Apr 9 18:35:57 2005 +0000
+
+ Bug #2945: Fix math error that left half the hash buckets empty.
+
+commit db382c5b1d3357cc9add8a55306ce702a5df0e5e
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Apr 8 23:54:20 2005 +0000
+
+ Remove all the radeon_subset files. They were completely unused. Keith
+ Whitwell says, "[T]he radeon subset code can probably be archived now."
+ This "fixes" bug #1623.
+
+commit a657c1aee85b7a2466d8608d8f3d44ebd015e476
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Apr 7 23:58:51 2005 +0000
+
+ Use the same dispatch.c source file for "normal" Mesa builds and DRI
+ libGL builds.
+
+commit d9c389dff6836ea0e3b79f3682378f6998875399
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 7 14:38:41 2005 +0000
+
+ Add shaderobjects_3dlabs.c back into build but use #ifdef FEATURE_shading_language to enable/disable relevant code.
+
+commit c51ed8c2364b9e86a138cdb07fe2293ccc88f678
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Apr 7 00:05:55 2005 +0000
+
+ Follow the GLX_SGIX_fbconfig spec and return the complete list of
+ available fbconfigs if attrList is NULL. This fixes bug #2917.
+
+commit c61782958b00aeaac4dae3b24b6ff26a1be53e8b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 6 22:41:46 2005 +0000
+
+ added wrappers/helpers for creating/destroying rendering contexts
+
+commit c3984fc01595e40cabc77ed45d9e76625a3152e2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 6 22:40:39 2005 +0000
+
+ changed implementation of GetAllFBConfigs()
+
+commit 481bdd383ac309cda8e471215b8fd3d6b5fa8cad
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 6 22:33:15 2005 +0000
+
+ Fix Fake_glXChooseFBConfig so passing NULL attribList causes a list of all
+ fbconfigs to be returned.
+
+commit bfc8a8dc6324f5e984566208bd0a1fa472102917
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Apr 6 21:34:34 2005 +0000
+
+ Make linux-dri-x86-64 more like linux-dri-x86. Add ARCH_FLAGS. This is
+ where things like "-m64" or "-m32" should be specified. Using this, a
+ 32-bit DRI build can be done on an x86-64 system by doing 'ARCH_CFLAGS=-m32
+ make linux-dri-x86'. Minor tweaks to linux-dri to support these changes.
+
+commit 29c909f81ceae4a0356718d6be0a14562c98c019
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Apr 5 20:43:06 2005 +0000
+
+ Make glxgears_fbconfig compile and respect the DISPLAY setting. Add it
+ to the Makefile as well.
+
+commit 5234d17514d88ad4e32bbe256aed31583df92c9b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Apr 5 10:30:05 2005 +0000
+
+ Don't call PrimitiveNotify with an invalid primitive. Fix ipers
+ wireframe mode.
+
+commit c39a4bc83c076a84669dcaac48d79a6eda094477
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 4 20:06:40 2005 +0000
+
+ s/Togle/Toggle/
+
+commit a92100a3c6f13597b9f9c47987d232dadd4ebe93
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 4 16:06:16 2005 +0000
+
+ updated warning string to match patch in bug report 2868
+
+commit fe1230f1c88fbe2e756f159625988ec3c66be2e6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 1 01:41:54 2005 +0000
+
+ Use FEATURE_shading_language to control whether the shading language
+ compiler is hooked in. May be enabled on compiler command line by setting
+ -DFEATURE_shading_lanuage=1.
+
+commit 26772ac988ee0f125da6b7bb15990bbf40d5f944
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Wed Mar 30 17:02:18 2005 +0000
+
+ Disable _mesa_3dlabs_create_{program,shader}_object references.
+
+commit 425569bbc530992560aa5a5955d4dd73eeaf85dd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 29 02:46:59 2005 +0000
+
+ Disable C++ shading language code yet again. Doesn't compile with older
+ g++ installations.
+
+commit 93b52d9484c9b4221aeeb53799e395f3ad9cd62e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 29 02:31:43 2005 +0000
+
+ re-enable shading language sources
+
+commit 1706ba410187688b6d419171f39c140c5b549ad7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 29 02:31:11 2005 +0000
+
+ re-enable _mesa_init_shaderobjects_3dlabs() call
+
+commit 9a54843a94801a2253a05e2b4b93fbaf09b59e96
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 29 02:28:21 2005 +0000
+
+ fix a variety of warnings/errors
+
+commit cb80e3905cfc3f38dc47cdf8936b6e33fdab9648
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 26 19:45:40 2005 +0000
+
+ disable 3dlabs shading language code until build is fixed
+
+commit 32e845f05eee2c0752d2b2e8ebb034afa215a2bc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 26 19:45:08 2005 +0000
+
+ disable _mesa_init_shaderobjects_3dlabs() call until build is fixed
+
+commit 7d4abc9b3a7d62b4c95bcb1bed02e1ffe182ba15
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 26 19:22:06 2005 +0000
+
+ remove INSTALL.GNU from tarball list
+
+commit a62fe7f5e3505008f91770d21174742a1227ee29
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 26 19:21:07 2005 +0000
+
+ obsolete
+
+commit 00e599e7836804fad0cba8d6112eda12994e36af
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Fri Mar 25 12:16:53 2005 +0000
+
+ implement gl2_3dlabs_shhandle interface; resolve few TODOs
+
+commit 1d7f71924dcfb7b44cb143ffaaad292d038d3ede
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Fri Mar 25 12:12:50 2005 +0000
+
+ cleanup query functions
+
+commit 05ab19ef432d3859b9fbc3f75d496ada59aede2d
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Fri Mar 25 12:07:31 2005 +0000
+
+ add _mesa_init_shaderobjects_3dlabs() declaration
+
+commit a095aa4f4b954d42e42ae41013c7541c85a41b53
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Fri Mar 25 12:05:30 2005 +0000
+
+ fix comments; fix TBuiltInResource typedef
+
+commit 675f802542679665eb2df9541617bf5be609bf41
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Fri Mar 25 12:03:58 2005 +0000
+
+ fix comments; disable DLL linkage for WIN32
+
+commit 116986bad573f0b6b2ca10bcf9785b051d7774d8
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Thu Mar 24 11:53:19 2005 +0000
+
+ Fixed segfault due to an off-by-one error in SAVAGE_TEX_MAXLEVELS.
+
+commit 798e753e072822781e57febe8bf58257deb03565
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Wed Mar 23 17:59:09 2005 +0000
+
+ Initialize texture addresses to something valid.
+
+commit ce1d7ee5ee482c05bbd4196d946590cdb93d8354
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Mar 23 12:01:08 2005 +0000
+
+ remove file after merge
+
+commit 068039eec1548307d25768274cda01de8983c3a9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 23 03:34:24 2005 +0000
+
+ no change
+
+commit 05bbafa01a336134263a8541b87d433dc75ca28f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 23 02:12:21 2005 +0000
+
+ use $(*_LIB) in the *_LIB_NAME definitions
+
+commit 8fb17f5b3f918e13e1f2f7164bbff75a0a959a95
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Mar 22 14:30:30 2005 +0000
+
+ rename mesaVis to try and improve clarity
+
+commit 3e62d3a8d88b48d4ed19e00ea2bbc3d0a2b6acf7
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Mar 22 14:27:10 2005 +0000
+
+ add FreeTexImageData hook to help single-copy texturing in drivers
+
+commit 050b77a9ac45afc5c3acb4d018f1d4858c2f4cc7
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Mar 22 14:25:55 2005 +0000
+
+ merge unichrome changes from branch
+
+commit 59b4b7e07e1374d63eede85c93665e4630a359b1
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Mar 22 13:34:27 2005 +0000
+
+ Remove test for defined(DRM_USE_MALLOC) around definition of
+ drmSIGIOHandler().
+
+commit 46d50d9e8ed5b060ef1591bf4b172de6d692cc9d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Mar 22 13:32:35 2005 +0000
+
+ Add more formats to test.
+
+commit de4fe1e3c5ce64b309884fd1c82b6cc9e6a4aedc
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Mar 22 13:31:35 2005 +0000
+
+ Add DRM_USE_MALLOC flag
+
+commit 7f8e10f96c1970d2c81ec8d4f3a45a3b006b3be1
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Mar 22 13:16:20 2005 +0000
+
+ Calculate haveAccumBuffer, haveDepthBuffer and haveStencilBuffer in
+ driFillInModes().
+
+commit e7c7a0f3536ad23fa0a5b8bba973da8fef9d72ce
+Author: Michel Dänzer <michel@daenzer.net>
+Date: Fri Mar 18 23:05:07 2005 +0000
+
+ Add support for production version of ATI RN50/ES1000. (ATI Technologies
+ Inc.)
+
+commit 6bd390743da6e01410f3fc124d79956629e2a6f2
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Fri Mar 18 14:44:27 2005 +0000
+
+ Misc fixes.
+
+commit 2fb2e27e28569371bd0d12aa74504d53bb04edc0
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Fri Mar 18 14:28:02 2005 +0000
+
+ update against 03-Feb-2005 release
+
+commit 5b641a516ecde984027d4fc1fe198195b7b861a7
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Fri Mar 18 14:21:07 2005 +0000
+
+ enable all 3dlabs front-end compiler sources
+
+commit 706bb1c714683fe8ff39962f38938e57301f9fc1
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Fri Mar 18 14:07:47 2005 +0000
+
+ a little program to change // comments to /* */ ones
+
+commit 1d5c727bbabf80b0d92dd3fb3822e476a42f347f
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Fri Mar 18 12:18:00 2005 +0000
+
+ glslang flex and bison sources:
+ flex glslang.l
+ bison -t -v -d glslang.y
+ mv glslang.tab.c Gen_glslang_tab.cpp (shouldn't be .c?)
+ mv glslang.tab.h glslang_tab.h
+
+commit a890ceee639e37e2dba5a17dcef668aac5ba6fe0
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Thu Mar 17 22:28:06 2005 +0000
+
+ Fix to get doom3 started.
+
+commit 8a7dcd97bdc560a12cb7ea6bd66b17939946d5a6
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Mar 17 22:01:39 2005 +0000
+
+ xmllint fixes. Revert 'note_unflushed' changes that were accidetnally
+ committed in the last version.
+
+commit a78bbd0816a894a366bf3824fbbfbc5c794cd61d
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Thu Mar 17 21:50:01 2005 +0000
+
+ Simple TCL stage and ability to disable vps.
+
+commit 80a939cafb7a67837a9fc82e45b5ec85c5912a06
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Mar 17 21:48:37 2005 +0000
+
+ Enable the generation of server-side __glGetBooleanv_size and related
+ functions. There are two parts to this. First, a size element with a name
+ "Get" is shorthand for having four separate size elements with names
+ "GetIntegerv", "GetDoublev", "GetFloatv", and "GetBooleanv". Additionally,
+ a count of "?" is treated specially. This causes a call to a handcoded
+ function named "__gl<base name>_variable_size". This is *only* needed to
+ support GL_COMPRESSED_TEXTURE_FORMATS. That enum can return a variable
+ number of values depending how many compressed texture formats are supported
+ by the implementation.
+
+ Fix a problem with glGetProgram{Local,Env}Parameter[df]vARB,
+ glAreProgramsResidentNV, and glGetVertexAttribivNV. These changes only
+ affect code generated for the server-side.
+
+ The changes to enum.c are caused by enums added for the server-side
+ __glGetBooleanv_size functions.
+
+commit 6af6a6931240b1e05b3bb7cc2b56df29193ea65a
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Mar 17 20:56:13 2005 +0000
+
+ Minor refactoring and code tweaking. The only notable chage is that
+ FilterGLAPISpecBase::xref is replaced by
+ FilterGLAPISpecBase::functions_by_name. The notable difference between the
+ two is that ::functions_by_name includes all functions, whether they have an
+ assigned offset or not. This feature will be useful (necessary) when more
+ server-side code is generated.
+
+commit 979f35fb78f39cec5de53795ce91f674bfb9df52
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Mar 17 20:36:20 2005 +0000
+
+ Minor vertex array support tweaks. These are in preparation for the
+ (eventual) addition of support for ARB_vertex_buffer_object. Elminitate the
+ need for array_state_vector::large_header. Make some very minor tweaks to
+ the handling of the indices pointer in emit_DrawElements_old.
+
+commit b81efaaa1ac8676a1092e4354079ffcbe7960af2
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Mar 17 20:13:09 2005 +0000
+
+ Minor vertex array support tweaks. Most of these are in preparation for the
+ (eventual) addition of support for ARB_vertex_buffer_object.
+
+ Move all the private vertex array data structures out of
+ indirect_vertex_array.c and into indirect_va_private.h.
+
+ Rename array_state_vector::enabled_array_count to
+ array_state_vector::enabled_client_array_count.
+
+ Make sure that both the GL extension string and the server GL version are
+ available when __glXInitVertexState is called.
+
+ Make sure that array_state::normalized is set correctly in the array's
+ gl*Pointer function.
+
+commit 00e760c971ccd6ffab7895a157b5256d54aba24e
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Mar 17 01:50:32 2005 +0000
+
+ Refactored some of the code for PrintGlxReqSize_[ch]. This ensures that the
+ same set of functions will be iterated for both the generated C-source file
+ and the generated header file.
+
+commit 3f35fbbf668dab4c1a572f77a0912f4b7c8d857c
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Mar 17 01:48:11 2005 +0000
+
+ Fix the handling of zero-sized output parameters (i.e., those with type
+ 'GLvoid *'). This fixes the GLX protocol for glGetProgramStringARB. This
+ fixes bugzilla #2747.
+
+ Remove the 'ignore="true"' from glVertexAttrib4bvARB. This fixes bugzilla
+ #2746.
+
+commit 9eae0b9f19f3e71dec6d6440db69dd5d140228de
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Mar 17 01:36:24 2005 +0000
+
+ Hard-code the client-side maximum GL version. It turns out that there are
+ some flaws in the calculation code when the highest version listed in
+ known_gl_extensions is supported. This code would also have some problems
+ with some of the new features (that don't have an associated extension) on
+ GL 2.0.
+
+commit c1aa3d1e6f6fd3971df93b11d4db139bec824c91
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Wed Mar 16 22:32:48 2005 +0000
+
+ Proper VAP output configuration as R300_RS_ROUTE_0_COLOR became optional and broke arbvptorus(takes no input color but produces output color). Also removing some useless code.
+
+commit dd9da8cdb58873daf51dd60839aa2b514a737c47
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Wed Mar 16 00:54:09 2005 +0000
+
+ Fixed some strangeness when mixing textured/flat primitives. Skipping texture units should render correctly also. Aapo, I dont think I broke glxgears again on you...
+
+commit fbe5296d1463e1052590b744f3d62ebb9e5d5dd4
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Tue Mar 15 22:23:29 2005 +0000
+
+ add support for user-configurable brilinear filtering on r200
+
+commit 75417943737d49670dd4fbc600cd05dc29e2ba51
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Mar 15 20:55:29 2005 +0000
+
+ Fix to get glxgears display anything.
+
+commit 3c4c86aff2b2536085d909344dfe3e23b9a2ea3c
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Tue Mar 15 17:09:35 2005 +0000
+
+ For some reason the Makefile didn't commit..
+
+commit 34dd4843d7b86eee8e0d18de275dd963ac2e3ffd
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Tue Mar 15 17:00:44 2005 +0000
+
+ Initial multitexturing support. Old behaviour can be re-enabled by changing ifdefs in r300_setup_rs_unit and r300SetupPixelShader in r300_state.c\nRequires DRM update.
+
+commit 7457a648d28a49a58d2f626dcbd82d30506c7679
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Mar 14 22:09:31 2005 +0000
+
+ If setting GL_PACK_INVERT_MESA results in a GL error, log it.
+
+commit bd5bba84705fd96ebf11493130d54e547a83d0fc
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Mon Mar 14 21:52:46 2005 +0000
+
+ When timestamping textures, need to emit the event with SAVAGE_WAIT_3D
+ set. Otherwise the 3D engine may still be using a texture that is
+ being overwritten. In order to minimize the cost of waiting, timestamp
+ textures only when needed: when a texture image changes, when a
+ different texture is bound to a texture unit or when a texture unit is
+ disabled. (Used to be after flushing every command buffer.)
+
+commit e2e4a5c992c7655cdd4374b962d339ec62bb5f5c
+Author: Peter Zubaj <pzubaj@gaya.sk>
+Date: Mon Mar 14 20:35:00 2005 +0000
+
+ Stencil support
+ Reflex from mesa demos doesn't work
+ TODO - double side stencil
+ I hope that I didn't break anything
+
+commit 02eb36fa8d51b9652fba546ea3e88e7be1d2ace8
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Mon Mar 14 12:43:59 2005 +0000
+
+ re-enable slang sources
+
+commit 0c7d2fff1e67ff45e8846871a64c35c5433def44
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Mon Mar 14 12:24:32 2005 +0000
+
+ make it compile under linux
+
+commit 5c9d21df3dc10a0b5fd7bedae54ca3b63beddd5e
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Mon Mar 14 12:23:14 2005 +0000
+
+ make it compile under gcc 3.3.2
+
+commit 8998de569c2f22fb91ec6c6a6a59fda0992df5b2
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Mon Mar 14 12:19:36 2005 +0000
+
+ fix enum comma
+
+commit 278c6025f93e51e2b9c3a8c7b53a1576d0964b61
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Sun Mar 13 12:23:08 2005 +0000
+
+ Replacing alpha test bits with values that give desired results as compaired to software rendering. Alpha test in textures is still completely broken as can be seen in progs/demos/fire and various games.
+
+commit 4f05e61543b890682b265a6abd986a89ef024fbb
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sun Mar 13 00:20:03 2005 +0000
+
+ Updated savage_dri.h from Xorg CVS. This removes definitions that are
+ not part of the DDX->DRI interface and should never have been in this
+ file in the first place.
+
+commit 45f26f9979f19e1d15b78a5a3ef47092e6c9cbbf
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sat Mar 12 23:00:53 2005 +0000
+
+ Removed savagedma.[ch]. They have been unused for a while and were only
+ kept around for reference. Now that command DMA is implemented in the
+ DRM module they are no longer needed.
+
+commit 203bd3e8ecf923bba3733b5ebe861c5700ffcb79
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Sat Mar 12 10:14:09 2005 +0000
+
+ Unlike radeon and r200 drivers r300AllocCmdBuf allocs dwords not bytes.
+
+commit 91c219d9063bf7d3a181ee0b289c68b4a68f3db6
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Mar 11 20:55:03 2005 +0000
+
+ Add support for ARB_draw_buffers and ARB_occlusion_query. The GLX protocol
+ for these extensions (as well as ARB_vertex_program and ARB_matrix_palette)
+ was just approved by the ARB on 8-Mar-2005. Now the only extension missing
+ for 1.5 support is ARB_vertex_buffer_object.
+
+ The opcodes for ARB_matrix_palette were also added to gl_API.xml. Since
+ this extension isn't supported by Mesa, no code is generated for it. Some
+ tabs were also converted to spaces in the comment for
+ GetCompressedTexImageARB.
+
+commit 522ea4271804b75d90f9bc72b81bfd025bb137d0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 11 14:54:51 2005 +0000
+
+ add MAT_DIRTY_FLAGS in _math_matrix_mul_floats(), (bug 2696)
+
+commit e24a9c10b54e4804812081e5f119b7a321657c92
+Author: Paul Mackerras <paulus@samba.org>
+Date: Fri Mar 11 11:38:23 2005 +0000
+
+ Add suitable definitions for the _REV formats, plus a comment
+ explaining why they are the same as the non-REV formats now that
+ textures don't get byte-swapped on their way to the chip.
+ Fix the ARGB4444 and L8 formats.
+ Add entries for the A8 and RGB332 formats.
+
+commit 96035d54f3c223e6d2f6dea79fb68dbfb2b74f0a
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Thu Mar 10 22:45:00 2005 +0000
+
+ - Flush before updating the timestamp of a texture heap from a bound texture.
+ - Flush before using a new texture or before disabling a texture unit,
+ because savageFlushCmdBuf can only update the timestamp of the last
+ used texture. This fixes corruption in quake2 with single-textured
+ lighting.
+
+commit 746df5671789aa5338c82a8e1b7fb50d342198e0
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Wed Mar 9 15:28:47 2005 +0000
+
+ If the texture image changed force emitting the texture address, even
+ if it didn't change. This seems to flush texture cashes. Fixes
+ multi-textured lighting in quake2.
+
+commit 5737fda093f8e1f4daabda3d55762dc7c4fe8ed9
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Wed Mar 9 05:31:31 2005 +0000
+
+ Don't use R200 texture constants - R300 fields are all different.
+
+commit 439f7feab1ed90eb1c323420f0fd608a2a155177
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Wed Mar 9 00:40:55 2005 +0000
+
+ Deal with texture formats in a more robust way.
+
+commit f0d484fa5aaa532c49d13c2b4a3bd5a37e1524d7
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Mar 8 22:29:45 2005 +0000
+
+ Replacing some RADEON cmd types with r300 counterparts.
+
+commit 2579c32a5f53a0ad89f5af6111d5935529fd3b45
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Mar 8 03:29:46 2005 +0000
+
+ Improving Vladimirs alpha test fix a bit as it turns out r300Enable didnt correctly disable alpha test. Vertex programs with high vertex count now run a lot faster as software fallback is no longer on. Also disabling 'temp to result'-instructions as they probably violate the spec and dont seem to be something thats needed.
+
+commit 0bd5373d94c9b74a7b724d74e2b2bc94c8d5bd77
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Sun Mar 6 08:55:39 2005 +0000
+
+ Actually *use* the count_scale value associated with a parameter.
+
+commit 9d05d3dd308c4655673a710d0c10f09cac9c0d83
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sun Mar 6 03:52:01 2005 +0000
+
+ Don't synchronize after each frame. Allow the GPU to be one frame
+ ahead of the CPU for more parallelism of CPU and GPU. Unfortunately
+ there seems to be some broken hardware (like my ProSavageDDR) on which
+ status register updates are delayed sometimes. This leads to very
+ jerky animation if the hardware can buffer more than the current
+ frame. A new option "sync_frames" can be used as a remedy on such
+ broken hardware.
+
+commit e6aa21156ace5bea0a8bcc8c58aceacb748e2627
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sun Mar 6 01:28:30 2005 +0000
+
+ - Fixed two bugs related to DMA buffer handling that showed up with the
+ new DRM version 2.4 and command DMA.
+ - Flush less.
+ - Bumped the driver date.
+
+commit a30402b56a979a865d445c8bca2ccdfad1a3a114
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Sat Mar 5 22:20:57 2005 +0000
+
+ Add format 15. It turned out to be X,X,X,X,X8.
+
+commit 07561c6b32d55128222283a7450c65c95d21df59
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Sat Mar 5 06:38:59 2005 +0000
+
+ Fixing memset on ia64 & other archs
+ From: Stephane Marchesin
+
+commit a4296239d41101ec778ef6cf998847d341433b72
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Sat Mar 5 06:31:36 2005 +0000
+
+ Enable VB mode rendering by default. If anyone thinks this is wrong, *please* feel free to change it back.
+
+ My reasons:
+
+ * immediate mode is broken
+ * vb mode is faster
+ * vb mode is the right way to do it.
+
+commit 3f9467c946ab79cd2ccb1858e78af4337f3603e2
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Sat Mar 5 06:10:09 2005 +0000
+
+ Do properly initialize ALPHA_TEST register instead of carefully preserving bogus value. This fixes many, many rendering issues which I wrongly blamed on texture programming or performance..
+
+commit 1bb14ad90c1bf88b45478a40f4c7d8b706070fdb
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Sat Mar 5 04:00:09 2005 +0000
+
+ fix for solo to set the mode, and make solo gcc2 friendly...
+
+ From: Stephane Marchesin
+
+commit 87030f6618cce065f8f552471648344de2f1d920
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Sat Mar 5 00:04:20 2005 +0000
+
+ remove one of the two _tnl_isolate_materials function calls
+
+commit 8ff72e97231da2f81de422d2f58c23d09562446e
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Fri Mar 4 20:18:55 2005 +0000
+
+ Add preliminary EGL headers.
+
+commit b47731f24db2e4c99073b107050376addf636c98
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Mar 4 17:53:24 2005 +0000
+
+ Import fixes from X.org tree (Søren Sandmann <sandmann@redhat.com>).
+
+commit bc6bf401f54ffaf0330de6e6b5ba37eff7354119
+Author: Rune Petersen <rune@megahurts.dk>
+Date: Fri Mar 4 15:48:40 2005 +0000
+
+ Set pipes for R420 cards. Gives a nice speedup. This needs to be tested on r420 cards with less than 16 pipes.
+
+commit 984d52762665d0a23b55e950a33e89174279eda3
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Thu Mar 3 23:18:19 2005 +0000
+
+ Add a couple of helper functions for completeness.
+
+commit fdb5a87f91c80e271f78cdaaa3359c7b4d81319b
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Mar 3 21:22:46 2005 +0000
+
+ Fix some errors in the parameter descriptions in serveral vertex / fragment
+ program related functions.
+
+commit ce77d372647f025854d497c263e45882d6f6b0a6
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Mar 3 21:21:59 2005 +0000
+
+ Check for some common function parameter description errors in the
+ endElement handler for <function>. This catches the errors as early as
+ possible and makes debugging other code easier.
+
+commit 6e776f25fd4d275722494824e2d5149a25ed4036
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Mar 3 19:56:11 2005 +0000
+
+ When building in the X-Server, attr.depth doesn't exist. Instead, use
+ (XMesaDrawable)w)->depth in the error message.
+
+commit c1f2f9090bcca309b9aeef7ae57acc280704db81
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 3 02:05:33 2005 +0000
+
+ change gl_buffer_object's Size field to GLsizeiptrARB type
+
+commit 7644bfb536c1cdb6dd3223469f1d6d2f1d5146c8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 3 01:44:42 2005 +0000
+
+ Added linux-x86-32 config to force building 32-bit objects in a 64-bit environment.
+
+commit 3e1961839ee570fe3b1257ceaf88d630635c0349
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 3 01:38:13 2005 +0000
+
+ if building 32-bit objects in 64-bit environment, use -m32 flag
+
+commit fff3b2f318a1d05228d0128f59fe556652c70dda
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Wed Mar 2 18:57:01 2005 +0000
+
+ use COPY_CLEAN_4V macro to replace using both ASSIGN_4V & COPY_SZ_4V
+
+commit b960c14cbb4eb701ea500f54695aec1c5948d3f1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 2 16:37:24 2005 +0000
+
+ Added a bunch of new comments, minor code clean-ups.
+
+commit 3db7ae3a38f712a89a44dab8c0f6975250683db0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 2 16:31:58 2005 +0000
+
+ Using glColor3 commands to update materials could result in an undefined
+ alpha value. Fixed.
+
+commit 7cd2ae9d97377bc68f66ce3c7734f56e3f5dfa6b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 1 02:51:07 2005 +0000
+
+ added stub functions for GLX_MESA_allocate_memory
+
+commit 03dc437363429d275b7f8cae74201a8e7993a52b
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Feb 28 19:37:10 2005 +0000
+
+ Clean-up some warnings caused by the addition of vertex / fragment program
+ protocol support (reported by Adam Jackson). Added code to validate the
+ 'type' parameter to the draw element functions.
+
+commit 80875253ce0e166bd8f529ba9b869139ce82902a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Feb 28 17:45:11 2005 +0000
+
+ additional parenthesis in TNL_CONTEXT macro (Nicolai Haehnle)
+
+commit d1e40c9bddc3516da0facf0d2f3f7db4533a1396
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Mon Feb 28 00:27:02 2005 +0000
+
+ fix for 'nasty bug' and some sanity checks to avoid buffer overruns. Bumping VSF_MAX_FRAGMENT_LENGTH as it seems a bit low otherwise.
+
+commit 6c0c91714c17da75d0386a48f7de7b558b3ec1a9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Feb 27 16:23:41 2005 +0000
+
+ silence warnings
+
+commit 87a2f3df641af0683ebddd34d31196f5ec394b02
+Author: hmarson <hmarson>
+Date: Sun Feb 27 12:12:25 2005 +0000
+
+ Added 0x4e51 - Saphire 9600 256MB
+ 0x4e71 - Saphire 9600 256MB - Second Head...
+
+commit ab7312ef63434d180eadad734b554f7210e3403b
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Sun Feb 27 07:43:18 2005 +0000
+
+ precedence precedence precedence.. add some brackets
+
+commit 67742383e87734130e35d08d7c63c75b9adcf655
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Feb 26 17:16:12 2005 +0000
+
+ Rename _mesa_update_buffers() to _mesa_update_draw_buffer_bounds() and do
+ additional checks.
+ Replace _mesa_init_buffers() with _mesa_init_scissor() and _mesa_init_multisample().
+
+commit 4932ba28adc2694161ec3fa7964cd76e3742182a
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Sat Feb 26 05:24:04 2005 +0000
+
+ Add a dri config option to enable the max texture level hack
+ make ycbcr depend on a CHIPSET define .. needs to be filled in though
+
+commit 8ca515097f4ea661fd7c2def5b608e2591cccf28
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Sat Feb 26 04:56:25 2005 +0000
+
+ use girl2.rgb by default
+
+commit c68233cb350998c3ba7d22c1be83600f12d924ae
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Sat Feb 26 04:51:47 2005 +0000
+
+ Add glXAllocateMemoryMESA demo app using ycbcr...
+ add girl2.rgb which is a slightly resized girl.rgb so client texturing works
+
+commit 9bfd9582d418c7e73f7b66f050fac80bd3e04115
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Sat Feb 26 03:55:44 2005 +0000
+
+ bring over structs from Xorg glx.h to make Mesa glx.h the one true glx.h
+
+commit 24dcc6b6bf995f663641f75c72d528510bee1fb2
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Sat Feb 26 03:51:17 2005 +0000
+
+ Add GLX_MESA_allocate_memory from Xorg glx.h
+
+commit f3a6e4fa5b40f2ae09e43b4fe0d46244e96f6505
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Sat Feb 26 01:09:35 2005 +0000
+
+ Fairly significant changes to enums.c and the way it is generated. enums.c
+ now contains 3 static tables. The first table is a single, large string of
+ all the enum names. The second table is an array, sorted by enum name, of
+ indexes to the string table and the matching enum value. The extra string
+ table is used to eliminate relocs (and save space) in the compiled file.
+ The third table is an array, sorted by enum value, of indexes into the
+ second table.
+
+ The [name, enum] table contains all of the enums, but the table sorted by
+ enum-value does not. This table contains one entry per enum value. For
+ enum values that have multiple names (e.g., 0x84C0 has GL_TEXTURE0_ARB and
+ GL_TEXTURE0), only an index to the "best" name will appear in the table.
+ gl_enums.py gives precedence to "core" GL versions of names, followed by ARB
+ versions, followed by EXT versions, followed, finally, by vendor versions
+ (i.e., anything that doesn't fall into one of the previous categories). By
+ filtering the unneeded elements from this table, not only can we guarantee
+ determinism in the generated tables, but we save 364 elements in the table.
+
+ The optimizations outlined above reduced the size of the stripped enums.o
+ (on x86) from ~80KB to ~53KB.
+
+ The internal organization of gl_enums.py was also heavily modified.
+ Previously enums were stored in an unsorted list as [value, name] tuples
+ (basically). This list was then sorted, using a user-specified compare
+ function (i.e., VERY slow in most Python implementations) to generate a
+ table sorted by enum value. It was then sorted again, using another
+ user-specified compare function, to generate a table sorted by name.
+
+ Enums are now stored in a dictionary, called enum_table, with the enum value
+ as the key. Each dictionary element is a list of [name, priority] pairs.
+ The priority is determined as described above. The table sorted by enum
+ value is generated by sorting the keys of enum_table (i.e., very fast). The
+ tables sorted by name are generated by creating a list, called name_table,
+ of [name, enum value] pairs. This table can then be sorted by doing
+ name_table.sort() (i.e., very fast).
+
+ The result is a fair amount more Python code, but execution time was reduced
+ from ~14 seconds to ~2 seconds.
+
+commit 4e262cfb072488a0fe0ff8f4ec3ddbd25379bb1f
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Feb 25 23:02:33 2005 +0000
+
+ Accidentally committed wrong version with the previous commit set.
+
+commit 40af76bbaa9e8909d63d8eeab4689ed2dfe1e19c
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Feb 25 22:46:30 2005 +0000
+
+ Add GLX protocol support for ARB_fragement_program,
+ ARB_fragment_program_shadow, ARB_vertex_program, NV_fragment_program,
+ NV_fragment_program_option, NV_fragment_program2, NV_vertex_program,
+ NV_vertex_program1_1, NV_vertex_program2, NV_vertex_program2_option,
+ NV_vertex_program3, and ATI_text_fragment_shader.
+
+commit 1fd3bbc42e8ad267c552a3818f64b0850c188927
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Feb 25 01:48:25 2005 +0000
+
+ Convert the static functions read_pixel_reply, read_reply,
+ setup_single_request, and setup_vendor_request to the global functions
+ __glXReadPixelReply, __glXReadReply, __glXSetupSingleRequest, and
+ __glXSetupVendorRequest. This will make it easier to add handcoded Single /
+ VendorPrivate / VendorPrivteWithReply functions.
+
+commit ac8020ea9cad98471f0cb6529982d585b3e0b03d
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Thu Feb 24 13:59:56 2005 +0000
+
+ Another nasty struct size bug found.
+
+commit 2c6f911e10761c0946261d494bf149b19072821d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 24 05:47:06 2005 +0000
+
+ More GL_EXT_framebuffer_object: rename some things, added device driver hooks.
+
+commit 7b7d00ca62d18c71cd3a14a81f5dc12e73248757
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Wed Feb 23 20:51:27 2005 +0000
+
+ Don't forget to update a heap's timestamp when a texture image is
+ changed. Other drivers don't need to do this because they're swapping
+ modified textures out of texture memory, which implies a timestamp
+ update.
+
+commit 365a0a7c153da53c5e4fb6433751f9dab9a16fa4
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Feb 23 20:06:52 2005 +0000
+
+ Missed the commit of glxext.c yesterday.
+
+ Fixed a flow control problem in glGet*v that could result in the display
+ not being unlocked. This also resulted in refactoring a lot more code
+ out of the glGet*v routines into get_array_data, which was renamed to
+ get_client_data.
+
+commit 2b1ec683d3501845c89fa3983c079cc96d6949fb
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Feb 23 19:24:30 2005 +0000
+
+ Put quotes around $(CC) and $(CXX) so that 'CC=cache gcc' will work.
+
+commit ba0fe1832e3573c7ec872ba9bfb1cf1773e384c6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 23 16:54:18 2005 +0000
+
+ minor changes to aid debugging, and a new comment
+
+commit 540b260cbd39c103c045410b5312d4c57a569e33
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Wed Feb 23 16:37:27 2005 +0000
+
+ With Savage DRM version 2.3.x or later use event counters for texture
+ heap aging, similar to the way it's done in the i810 and i855 drivers.
+ This avoids idling the engine on every texture upload.
+
+commit 8f5f6b3d59fa2ee25654283a235991f332bc8960
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 23 16:36:17 2005 +0000
+
+ Sort the enums in the Python code, instead of at runtime. (Zack Rusin)
+
+commit 6614766f3e8f0ff472d328b3c42677117781d1e4
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Feb 23 00:47:11 2005 +0000
+
+ Corrected the value for X_GLrop_SecondaryColor3svEXT.
+
+commit 57b5e8538e5aab627fd2e0640c9ba5738cfc3a65
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Feb 23 00:24:18 2005 +0000
+
+ Missed the Makefile with the previous commit.
+
+commit fdb07636f2e6324c5250cd5ee97778b7f5933bea
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Feb 22 22:36:31 2005 +0000
+
+ Added __glExtensionBiIsEnabled and __GLXcontext::gl_extension_bits. This
+ enables libGL to query which extension are exported to applications.
+
+ Refactored array-query functionality (from glGet*v) in src/glx/x11/single2.c.
+
+ Massive re-write of indirect vertex array support. The most noticable
+ effect is that glDrawElements now generates DrawArrays protocol. The
+ side-effects (and the main reasons for the re-work) are that it is much
+ easier to add support for new arrays (e.g., GL_VERTEX_ATTRIB_ARRAY,
+ GL_WEIGHT_ARRAY_ARB, etc.) and it is much easier to add support for the new
+ DrawArrays protocol (required to support ARB_vertex_buffer_object).
+
+ These changes were primarilly tested with progs/demos/isosurf.
+
+commit cb83f62e307be90532fcc58a0e5dd3e8cc7411b2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 22 15:42:30 2005 +0000
+
+ now generated with Python script
+
+commit 78123bb38b1e4638747f55ddaef39e561cd81d6e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 22 15:39:46 2005 +0000
+
+ generate enums.c file (Zack Rusin)
+
+commit 3c69df8a70efee6ae89615f28d25aac2323275ab
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Feb 22 05:16:42 2005 +0000
+
+ New elt buffer code should be fairly stable.
+
+commit e00b72971629e41d5ac0e85391a466655c790d66
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Mon Feb 21 06:09:30 2005 +0000
+
+ Add code to autogenerate vertex shaders.
+ This is needed for multitexturing to work properly.
+
+commit a2990a9d730e1fe579debbe0e4a7be46c5c2329b
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Mon Feb 21 00:20:19 2005 +0000
+
+ Add DESTDIR install target
+
+commit dee1c795c25c2915582c7928238498bb63d86234
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Sun Feb 20 10:46:34 2005 +0000
+
+ add more functionality to miniglx for glitz
+
+commit eb6560bf2b1f4775045eb648abfa5b5ccbad8a7b
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Sun Feb 20 03:01:09 2005 +0000
+
+ Adding support for front buffer mode, removing some code we dont really need and some new debugging stuff.
+
+commit 35bc4ac68062afeae17f96b8f4173a599cfc7f05
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Sat Feb 19 16:30:56 2005 +0000
+
+ Minor fix to border and blend color.
+
+commit ff3ce3dd96376d61e245cb5c34d320128b8f95a8
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Sat Feb 19 03:04:08 2005 +0000
+
+ Disabling some fallbacks as they cause misc programs not to start and adding some comments.
+
+commit 42896b2a18a89c74a2f95e491bed0b7352bef0aa
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Sat Feb 19 02:25:53 2005 +0000
+
+ Fix for buffer overrun caused by ALLOC_STATE not having args surrounded by parenthesis. Can you see it? HINT: Anything texture related should now work slightly better. And yes it took me several hours to find it.
+
+commit 10b892af96afa4fd8493810f5cf84a97c2e4adaa
+Author: Nicolai Haehnle <prefect_@gmx.net>
+Date: Fri Feb 18 22:07:20 2005 +0000
+
+ Print an error if idling the engine before the buffer copy fails.
+ Be a bit more useful about the sync message after flushing command buffers.
+
+ Add an "allmsg" debug name that enables all log messages but does not
+ enable syncing.
+
+commit 9605806d81bc8a378dc70e9a89199bce11f419e2
+Author: Michel Dänzer <michel@daenzer.net>
+Date: Fri Feb 18 20:03:33 2005 +0000
+
+ fd.o bug #2576: Add support for ATI RN50/ES1000. (ATI Technologies Inc.)
+
+commit 3f22c0966dcc26b3a8310afd8baa238ab857b611
+Author: Nicolai Haehnle <prefect_@gmx.net>
+Date: Fri Feb 18 18:57:38 2005 +0000
+
+ r300RefillCurrentDmaRegion: Retry buffer acquisition only once, after
+ waiting for the engine to idle. There's no way for another buffer to
+ become free anyway once the engine is idle.
+
+commit 8281cca82fb89001edd3e2360202e358bdc6bda7
+Author: Nicolai Haehnle <prefect_@gmx.net>
+Date: Fri Feb 18 18:28:52 2005 +0000
+
+ Always submit command buffers, even when there are no cliprects,
+ so that we no longer leak DMA buffers (plus, this just might fix some
+ state-setting related problems, if there were any - but that's unlikely).
+
+ Update the DRM to cope with cmdbuf->nbox == 0.
+
+commit 4d73f1af35aed1483804b7a9639f231be1ee4bf1
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Fri Feb 18 16:58:19 2005 +0000
+
+ We dont need to call r300EmitAOS if we arent going to draw anything(r300_get_num_verts returns 0).
+
+commit 26d812ae00e0bb5abb23e95a36492ef59d416c16
+Author: Nicolai Haehnle <prefect_@gmx.net>
+Date: Fri Feb 18 16:34:14 2005 +0000
+
+ Reset nr_released_bufs to 0 after the command buffer has been submitted.
+ Added a more verbose comment about nr_released_bufs in r300_context.h
+
+commit f448e632b60c3bb81cc3a01d92430f5e4a110327
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 18 14:49:27 2005 +0000
+
+ XMesaGetDepthBuffer() returned wrong bytesPerValue (Karl Schultz)
+
+commit 49f7430b12eec93287af96058026ede1649ba007
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 18 14:44:00 2005 +0000
+
+ s/0/NULL/ (Jeff Muizelaar)
+
+commit d73b929ef25cccb12258545ddc9e06ef5ee061f0
+Author: Nicolai Haehnle <prefect_@gmx.net>
+Date: Fri Feb 18 11:27:24 2005 +0000
+
+ Fix: RADEON_DEBUG is a bitfield, so use & to check for flags, not ==
+
+commit 6f37e76272a3a4b3898426b943304d1c5903d0ee
+Author: Nicolai Haehnle <prefect_@gmx.net>
+Date: Thu Feb 17 22:07:32 2005 +0000
+
+ Fixing *lots* of warning messages, especially concerning unportable
+ whitespace before preprocessor commands.
+
+ Please, can you try to keep the warnings down? Try running make with
+ make -s sometime to see just how bad an offender the current code is.
+
+commit 74477b24a8faef4ce0870b4a68270e586d107ff7
+Author: Nicolai Haehnle <prefect_@gmx.net>
+Date: Thu Feb 17 21:45:20 2005 +0000
+
+ RADEON_DEBUG is a bitfield, so use & instead of ==.
+ Also, put the hash in preprocessor directives at the beginning of the line
+ to fix error messages.
+
+commit 78152f85e7c1330d6038752381b9a7f2f732ce62
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Thu Feb 17 18:16:46 2005 +0000
+
+ Switching to start_index32_packet.
+
+commit 002a64cc48edea1dcd6f257c754dc1d2fcfe3e31
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Thu Feb 17 18:02:28 2005 +0000
+
+ magic_1 handling...
+
+commit ca4116bfceb26d033ddbc7ee43f0b97af6646291
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Thu Feb 17 14:34:51 2005 +0000
+
+ oops.
+
+commit 0846e52d46b36c411f79908df010072e03bb6437
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 17 14:12:50 2005 +0000
+
+ s/0/NULL/ (Jeff Muizelaar)
+
+commit 6e2fd966274af5818ce2ac16b2b35ea84f1ac034
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 17 14:11:56 2005 +0000
+
+ remove extern (Jeff Muizelaar)
+
+commit a9eb712fc9400f4f61806a5128aeeddbef816f8d
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Thu Feb 17 12:37:40 2005 +0000
+
+ Make immediate code do a LOAD_VBPNTR again
+
+commit 934be3266fe7c873f8fa1154af20d378282d2d47
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Thu Feb 17 11:13:59 2005 +0000
+
+ fix some 0->NULLs
+
+commit c8af2b5a52570cf8a9082c88e71cf99a0f07fe85
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Thu Feb 17 06:39:09 2005 +0000
+
+ Cleanup formatting a little bit.
+
+commit f321f16e83cae427d6496c11955fd1c898d0395c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 16 19:52:35 2005 +0000
+
+ fix non-Win32 definition of GLUTAPIENTRY, remove some cruft
+
+commit 41d180c899c9008edadc6ff4538fc33e9793259c
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Wed Feb 16 19:04:32 2005 +0000
+
+ Support for idx buffers. Leaving it on by default as it doesnt seem to cause any lock ups nor other issues. Tests with one object using elts should pass. Introducing more than one object will cause indices to mix up as far as i can see. DRM update is needed for this code to work\!
+
+commit 8eeef423e9d4f0c9e7ac6393288b8772d5c62190
+Author: Rune Petersen <rune@megahurts.dk>
+Date: Wed Feb 16 16:52:11 2005 +0000
+
+ small cleanup, remove some warnings
+
+commit 1ff8f50f2f9dae5a190d21ef1ba54a70b5984d3b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 16 15:08:29 2005 +0000
+
+ fixed problems with parse_float() (fd.o bug 2520)
+
+commit 2c28dd892cfb43445d7e54df8b6a8331192f4e99
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 16 15:02:25 2005 +0000
+
+ s/0/NULL/ (Jeff Muizelaar)
+
+commit 5c2f3d5d3aea45363d49bab0079ffe0219eaaaed
+Author: reist <reist>
+Date: Wed Feb 16 10:38:57 2005 +0000
+
+ get two textures to work
+
+commit d588311dbb5eff92bb71ba88bcf5342328a428ce
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Wed Feb 16 06:24:07 2005 +0000
+
+ Don't enable fog. It's broken
+
+commit f44602765670a4ccf284dd71e2b1af5ac9200d03
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Tue Feb 15 19:07:35 2005 +0000
+
+ Share routing code between immd/vb. Fix breakage of vertex programs in vb mode.
+
+commit 233d93d47e12cd5084be7bed9ae78a05da02085f
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Tue Feb 15 11:20:11 2005 +0000
+
+ Add missing texture formats for completeness
+
+commit 70f2be9cc6e04de4aed369198af5c977b21649ea
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Tue Feb 15 10:44:20 2005 +0000
+
+ add some missing texture formats and bits from r200 docs
+
+commit 9e5a0b88952e887d7984ca055ea2a80bea1e4735
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Tue Feb 15 10:40:34 2005 +0000
+
+ Added texture format table for big endian (this is a tempory hack).
+
+commit 09298228c64f14b6c74588a89f70b0de4d1ac6a4
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Tue Feb 15 08:40:24 2005 +0000
+
+ add EnableExtension so r200 enables all its extensions, add mesa memory
+ extension entry points
+
+commit e82cb7852b6d51325cbdbda2354f391bfea6d30b
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Mon Feb 14 17:37:52 2005 +0000
+
+ remove accidentally commited printf for tiling support
+
+commit 4ea4589302281e539d2a08437a036ca00d1ddc1f
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Feb 14 17:07:29 2005 +0000
+
+ Simple test for GL_MESA_pack_invert.
+
+commit a5f2dcb57bab73f8a269bfefdedef1b1e10b8ce1
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Feb 14 15:06:50 2005 +0000
+
+ updated doc
+
+commit 72b2af6035dac29410bbf514f612987c9d6df2eb
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Feb 14 15:05:24 2005 +0000
+
+ removed detritus
+
+commit 84396a72dffd04115e2952847793261143ba1f09
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Feb 14 15:04:52 2005 +0000
+
+ separated DOS GLUT from GLX GLUT.
+ added a few FreeGLUT specific functions.
+
+commit 0340663eb732d39a64b8e047cab3b2bfa19ce912
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Mon Feb 14 13:14:16 2005 +0000
+
+ Support for blend color(not tested), "proper line width/point size" clamps and fix for glxinfo problem.
+
+commit 8352666a9db11cfc5f41b9ca0b135750b606d2f2
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Feb 14 09:36:00 2005 +0000
+
+ mesa-fix-one-bit-signed-bitfield.patch from Jeff Muizelaar
+
+commit 8d12a6d537ca346291bc3e3bc90cc73509f4b419
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Mon Feb 14 09:27:38 2005 +0000
+
+ fix some signed vs unsigned warnings
+
+commit fbdd7a5e7487849bfe06a7bef68b4dad75f5d58c
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Mon Feb 14 09:25:08 2005 +0000
+
+ fix signed vs unsigned comparison warnings in tnl_dd
+
+commit aeee36a3117955ac6567fd2560432d07f391e0e0
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Feb 14 08:19:54 2005 +0000
+
+ killed a few warnings
+
+commit 2f99f6558cd59fed6cbea3c6c8b08f53d74f6533
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Feb 14 08:08:35 2005 +0000
+
+ added a bunch of const in the decoder
+
+commit b6082fd236286c50d2b47eb42f1686989516a69c
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Feb 14 08:02:50 2005 +0000
+
+ `static const' instead of `const static'
+
+commit 0a13cebaa178f63c0ecf9275ae0f359b18bb28c7
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Feb 14 08:01:59 2005 +0000
+
+ ProgramCallbackMesa must match the prototype
+
+commit baa832d311cf36785bbe300412b946781d15d5c2
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Mon Feb 14 06:57:27 2005 +0000
+
+ Change another usage of __AMD64__ to the standard __amd64__, and remove
+ __AMD64__ from the linux configs so it won't creep back in as easily. Fixes
+ hang on FreeBSD on the first lock grab.
+
+commit 1718e34352395196749813ac4fa6b8142154bd7e
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Mon Feb 14 06:54:50 2005 +0000
+
+ Don't forget to -L/usr/local/lib to grab expat.
+
+commit d5e008b84bc8cab491a1c9dd2b7577d1a9de19ba
+Author: Michel Dänzer <michel@daenzer.net>
+Date: Sun Feb 13 18:37:36 2005 +0000
+
+ Typo fix.
+
+commit 32713903628bc4e6af56c9d32475cd9e1c90f4c3
+Author: Rune Petersen <rune@megahurts.dk>
+Date: Sat Feb 12 21:29:51 2005 +0000
+
+ initial r400 support: r400 cards are treated as RV350 for now.
+
+commit 37cbb521d3ab8d96a8fcc0199424c0ddc70f0435
+Author: Michel Dänzer <michel@daenzer.net>
+Date: Sat Feb 12 20:37:07 2005 +0000
+
+ MMIO endianness fixes for Radeon drivers.
+
+commit 2752177ade76f36229dda8da42948b173bdf08bc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Feb 12 18:43:38 2005 +0000
+
+ unlock mutex upon error return (Jeff Muizelaar)
+
+commit f640ee2f6e1b69e332b46e48b3b4e9f33bbc6e39
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sat Feb 12 16:02:30 2005 +0000
+
+ Fall back properly when GL_COLOR_LOGIC_OP is enabled and != GL_COPY.
+ Add missing per-primitive fallback for polygon stipple.
+
+commit 25817dc26bbb195ad3d94a6289ad5075b920c7a0
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sat Feb 12 14:37:17 2005 +0000
+
+ Offset LOD bias by about 0.3 to match software rendering more closely.
+ Another small tweak to subtile upload (mostly cosmetic).
+
+commit ed9119b72a62cca2cbbf36ecca0efc7f7d6c1535
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sat Feb 12 14:35:17 2005 +0000
+
+ Make glean's masked clear test pass.
+
+commit 0872b85b1ea97850d42972c80c2d3350d5ae2d44
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sat Feb 12 14:03:05 2005 +0000
+
+ Savage3D-based chips seem so use a constant tile stride of 2048 for
+ vertically incomplete tiles, but only if the color depth is
+ 32bpp. Nobody said this was supposed to be logical!
+
+commit 6125515cec54ce31521bb815d0d6f216a1ca0c3d
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Sat Feb 12 11:15:55 2005 +0000
+
+ Enabled vertex buffer mode as default.
+
+commit cc701764461b5761b3a5cfd4595a69667c9f1c29
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Feb 11 18:25:55 2005 +0000
+
+ Turn _via_fastrender_stage back on.
+
+commit a0c85249244e1af8dac88076d5f384cf4bd01236
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Feb 11 09:34:05 2005 +0000
+
+ mesa-main-0-NULL.patch from Jeff Muizelaar
+
+commit 2d10924a14c439376816c5398cecd46e940482fd
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Fri Feb 11 05:59:13 2005 +0000
+
+ Port of r200 VB code. VB path should be as fast as the immediate path now, tuxracer should render correctly. Immediate path was left enabled.
+
+commit 4837ea30208d002bc36a836d2117f826d40c8bfa
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Thu Feb 10 22:36:06 2005 +0000
+
+ add texture micro and macro tiling to radeon/r200 driver. This can improve performance up to 15% in texture-intensive applications. Convert the driver to use the correct blit format and blit width instead of fixed blit format and blit width when uploading textures to make it work.
+
+commit 26d31591257d575362776972439f614948366dd1
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Thu Feb 10 21:59:20 2005 +0000
+
+ add the new RADEON_CUBIC_OFFSET/FACES state packets/registers to radeon (and r200) sanity code
+
+commit b66251f76da2e2b0419bc1fbaec4dd0c9f8867b2
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Thu Feb 10 18:28:44 2005 +0000
+
+ (Andreas Stenglein) fix projected textures with swtcl, they need the w coordinate of the vertex (bugzilla #1648)
+
+commit d9468c94052c4e99b4121deb231c81388722c37f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 10 16:08:07 2005 +0000
+
+ new comments, fix zoffset error test
+
+commit f901072afb4a48995e9e7c5a37d0c5704e55267c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 10 15:18:26 2005 +0000
+
+ lots of updates
+
+commit 1982a6683843c2de3ee132a41578c9652043ff6e
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Thu Feb 10 12:40:41 2005 +0000
+
+ Added kindly note about single buffer mode.
+
+commit 3f9bae90c36424763e11b7ac9d0e31fc9acd5b2e
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Thu Feb 10 11:02:55 2005 +0000
+
+ Updating master copy of r300_reg.h and turning immediate mode back on
+
+commit b97e478fe90f612041e27852eb8c95f45467bde8
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Feb 10 10:57:22 2005 +0000
+
+ mesa-tnl-0-to-NULL.patch from Jeff Muizelaar
+
+commit a9a4c5489ec12f6aa768d44578c332f654c536ea
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Feb 10 10:55:30 2005 +0000
+
+ Catch no-op vertex buffers consisting only of vertices which will
+ also appear in a future buffer.
+
+commit a85eb9c0a7eee87b76fc8deec5081628ed3e2ba8
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Thu Feb 10 10:45:54 2005 +0000
+
+ Removing some regs that are wrong and adding some comments to r300_reg.h .
+
+commit dd951e6ddeb35a7321980e41acc39a529633900a
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Thu Feb 10 08:56:35 2005 +0000
+
+ Support for PolygonMode. Not too far from working even though i almost gave up once already.
+
+commit d1907348757938295dbebbe5667bd34ce8b2089c
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Thu Feb 10 07:39:11 2005 +0000
+
+ Fix copy'n'paste errors.
+ Print command buffer sizes during startup (TODO: remove 1 || when the driver is more mature).
+
+commit 4afa1d7abbf4bdd368ebfbc5e18dc02f8b8ec21a
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Thu Feb 10 05:11:31 2005 +0000
+
+ Turns out unknown5 was border color. texwrap looks good now.
+
+commit 58010eb35ca55e487251a2b62965d42e18e5ef18
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Thu Feb 10 04:43:07 2005 +0000
+
+ Adding support for selecting line width. Stipple patterns still cause lots of trouble.
+
+commit 816c0c932ddccd6d3804430de9c8ae375fde782c
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Feb 9 22:16:38 2005 +0000
+
+ Simple test for ARB_texture_env_crossbar functionality. It is difficult
+ to come up with good tests for this functionality that don't require
+ either ATI_texture_env_combine3 or NV_texture_env_combine4.
+
+commit 4f1f5e336b50ac9f7ea615a550e3b65201350305
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 9 18:46:16 2005 +0000
+
+ glGet*(GL_FRAGMENT_PROGRAM_BINDING_NV) was returning the vertex program binding.
+
+commit a8d5b176b5208de61667ce0d901d69485eea1957
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 9 16:18:39 2005 +0000
+
+ Added a test/clamp in the scale_internal_*() functions to prevent reading
+ a row of pixels beyond the input buffer's bounds.
+ FDO/Mesa bug #2510.
+
+commit fe7aa08ad982ebca9d867905eccb5315fa4ed23a
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Wed Feb 9 05:53:34 2005 +0000
+
+ Enabled user-defined point size, enabled zbiases for rest of the primitives and fixed bad vertex number checks triggered by nurb.
+
+commit 1f6735a6a539021cf4576d6eb66de3f19c331b53
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 9 03:51:11 2005 +0000
+
+ initial support for GL_EXT_framebuffer_object
+
+commit f0bbbf66b8ab846ae55adf2f66941f05b5500071
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 9 03:50:30 2005 +0000
+
+ implement the 'completeness' tests
+
+commit d863424032deb7c6bcb3a0b906be29b573f18c2d
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Feb 9 03:11:23 2005 +0000
+
+ Generate GLX protocol for pixel single commands.
+
+commit 799bc13da22e05b6554695988b16f2a79abea9d0
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Wed Feb 9 00:45:16 2005 +0000
+
+ Fixed stride of incomplete tiles.
+
+commit 4754fc653f43903265dc878f27826ebcf26dfdcb
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Feb 8 20:52:02 2005 +0000
+
+ SUBPIXEL fixes from Dieter
+
+commit 85199453cce81738af8e28ee73277caf55ba2989
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Tue Feb 8 20:27:09 2005 +0000
+
+ Remove #ifdef's around PolygonOffset function.
+ Print number of missing entry for texture format.
+ Add alpha-luminance format.
+
+commit a91e0218a3965c0617b959b2b42e07e63fc9cc54
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Feb 8 19:52:26 2005 +0000
+
+ Correct a couple problems / omissions in the DTD.
+
+commit 5e4a7581df02f08edfee180383068cfeaad85dd3
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Feb 8 19:29:05 2005 +0000
+
+ Typo..
+
+commit 6a04cff065c9a28495fe515fb5d9cd159d53de71
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Feb 8 19:26:59 2005 +0000
+
+ Fix the bug and get zbias back into shape. There might still be some problems with initial zbias...
+
+commit 3dec3c7a74035bc85eab31a3c442e362d41ffe6d
+Author: Michel Dänzer <michel@daenzer.net>
+Date: Tue Feb 8 17:39:08 2005 +0000
+
+ Call _mesa_ResizeBuffersMESA() in r200Viewport(), fixes incorrect rendering
+ in bzflag 2.0. (Alexander E. Patrakov)
+
+commit 8e5f0e62dd7d6465dcd906d38dffd0b1b476e3b5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 8 14:44:01 2005 +0000
+
+ clamp anisotropy against max value
+
+commit 46cde1715f29dddf5d0a41d8c91ee117208d9685
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Feb 8 07:05:25 2005 +0000
+
+ BIG FAT NOTE: Theres a nasty bug somewhere thats causing vb color buffer clears and other things not to work. This bug can be triggered by extending struct r300_hw_state by two struct r300_state_atom's from its current size. Everything zbs and unk42B4 related is now covered with HAVE_ZBS and GA ifdefs. Who wants to fix it? Not i. :)
+
+commit d084982240bafba0169c4a6cacf02d45d6cfd8c1
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Tue Feb 8 05:46:53 2005 +0000
+
+ Bug #2477: Make GLU/GLw/glut build properly even with -fvisibility=hidden.
+
+commit 4885a9eb207655ac23b64274034e1d51d2c8e6ce
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Feb 8 05:33:44 2005 +0000
+
+ Better fix to get tuxracer working.
+
+commit 1764b78ee9ebb7c0d9740f275b97f3354fc32aa9
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Feb 8 04:46:39 2005 +0000
+
+ fog + immediate mode = bad things
+
+commit 315afce941a7247ecf79da520d974a59534e8779
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Feb 8 04:31:29 2005 +0000
+
+ Implemented checks that prevent r300 from locking up when bad number of verts are given. Also tweaked WARN_ONCE a bit to handle va-args.
+
+commit 3f847b73f3f480eb823f58e73edf53c2a5317a55
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Tue Feb 8 04:20:40 2005 +0000
+
+ Let Polygon Offset be turned on and off.
+
+commit 923b6fc4d96d342cdc7b33b660a8d3d193c9165e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 8 04:08:56 2005 +0000
+
+ just some comments
+
+commit 1864c7d79a0ef0bda54c503bad15977b62e0ed57
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 8 03:46:37 2005 +0000
+
+ a bunch of assorted fixes
+
+commit 386e997f450649f105f0986c3b55faae42e4349c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 8 03:46:08 2005 +0000
+
+ plug in GL_EXT_framebuffer_object functions
+
+commit 3d2e10564e8ee9041ffc3cb12f323351fb05dabf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 8 03:45:44 2005 +0000
+
+ removed GL_EXT_framebuffer_object tokens
+
+commit cf69e051ce36d9dc9dac59621aa18805ea58515d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 8 03:45:08 2005 +0000
+
+ added GL_EXT_framebuffer_object enums/funcs. Remove when glext.h is updated
+
+commit 78e6e5947776b72cc594e3bc711a9129de4edffc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 8 03:44:24 2005 +0000
+
+ Add new entrypoints for GL_EXT_framebuffer_object.
+
+commit 87440f531cf48d248e0fb0a5eeaf14f47e1ecb5e
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Feb 8 02:11:44 2005 +0000
+
+ Definitions for EXT_framebuffer_object. Just <include/> it in gl_API.xml
+ when ready.
+
+commit 6cfd4f7e5583aefebfcc66e0b3ee04f95ae3257c
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Feb 8 02:11:14 2005 +0000
+
+ Add the ability to include other XML files by using a
+ <include name="file"/> element as a sub-element of <OpenGLAPI>.
+
+commit 463642c0be7a6b8c0552bb32b5bc8e86ee352d67
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 8 02:06:00 2005 +0000
+
+ checkpoint latest work
+
+commit d1b1b372704c93a0672b78be11fc5ea92b828c27
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 8 02:05:13 2005 +0000
+
+ added missing prototype
+
+commit 0d22b9054094c863062c7787b45e1fb4d3834a67
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 8 02:04:49 2005 +0000
+
+ indentation fix
+
+commit 27f75a863e0d7e2bcfbfab1ebddb1d83e4ca4199
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Feb 8 01:49:03 2005 +0000
+
+ To cut the long and boring story short, polygon offsets should now work. vb mode colorbuffer clears are still mysticly broken by offsets... Maybe we need to merge zbs and unk42B4 together?
+
+commit 049290c584f19d5f551b234292e76154e2857179
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Feb 7 15:04:56 2005 +0000
+
+ improved warning message
+
+commit 71699df7de8cc732caf6d4b8adb4ab2d1f0c7c1f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Feb 7 13:20:17 2005 +0000
+
+ argb8888 optimizations from via branch
+
+commit 8d621b3bdd0ca43e5ba2ae8b4471fcf716decc78
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Feb 7 11:00:32 2005 +0000
+
+ More texture enums (Andreas Stenglein)
+
+commit 1f2b715988ff6bba6f31ef34081c29a5c63b3d60
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Feb 7 10:36:00 2005 +0000
+
+ GL_ARB_texture_rectangle enums (Andreas Stenglein)
+
+commit 3deaa01c2bd576ae81fc6d3ea67c583cb3c22159
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Feb 7 05:08:24 2005 +0000
+
+ additional work on GL_EXT_framebuffer_object
+
+commit 1e42244e82e387282849b0182bb71b6803ac27d3
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Sun Feb 6 12:37:23 2005 +0000
+
+ Added PCI id (0x4152).
+
+commit 66b48d6df6a586be57a9e442410b1ec90d58019e
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sat Feb 5 22:10:14 2005 +0000
+
+ Disable vertex DMA on SuperSavages.
+
+commit 5bdf2bc6c707f0a815cc46fb0bab7e2a209110a3
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sat Feb 5 21:21:02 2005 +0000
+
+ - Fixed scissor rectangle not moving with the window (Xorg bug #1731).
+ - Flush buffered primitives before changing scissors.
+ - Require Savage DRM version 2.1.0, so that the broken single-cliprect
+ code can finally rest in peace.
+ - Removed some more dead code.
+
+commit d9d972a944c9953d99ff09deeb2a739386aa0a76
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Feb 5 20:00:15 2005 +0000
+
+ added fbobject.c to sources
+
+commit ddc82eefca591f0ee93d3a77e1268571629a6d5c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Feb 5 19:56:45 2005 +0000
+
+ Some initial work on GL_EXT_framebuffer_object.
+
+commit 28865793244938bf7794d62b94e5af5fec7f4282
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Sat Feb 5 19:52:26 2005 +0000
+
+ Added PCI id (0x4152).
+
+commit bb7d5f8837a9c7658a18dbaf02d52583e29443e3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Feb 5 18:12:59 2005 +0000
+
+ Remove the Shared->TexObjectList pointer and Next field from gl_texture_object.
+ Was only used by two drivers to walk over all texture objects. Can do that
+ via the hash table instead.
+ Cleaned up some comments for struct gl_texture_object.
+
+commit 8c3ddf4270ff075ee783a67e5d5d04fa16a9cb45
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Feb 5 18:11:05 2005 +0000
+
+ add a few comments
+
+commit f955218bf165905ac0f75dad64b7f58085aef51f
+Author: Jerome Glisse <glisse@freedesktop.org>
+Date: Sat Feb 5 18:01:21 2005 +0000
+
+ Modified hw state for big endian computers.
+
+commit 7aafcc86c74a68206f4f48ca99c12faf469d47e0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Feb 5 17:43:33 2005 +0000
+
+ remove dependency on Shared->TexObjectList
+
+commit ce657cf7527bb5bb417577280a634a1e7b657509
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Feb 5 17:38:13 2005 +0000
+
+ remove unneeded code
+
+commit cf899d400d480d7017311d92f2cfd94391b785b4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Feb 5 17:37:00 2005 +0000
+
+ removed need for Shared->TexObjectList, walk over texture hash table entries instead
+
+commit 557dce9bc2e9a705a08969bef110f870ca8b37e3
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sat Feb 5 13:17:34 2005 +0000
+
+ Fixed a typo in an assertion. (Don't understand how this ever compiled.)
+ Found by Andreas Stenglein.
+
+commit b64d4a27cb44325803a348e3b2ccb7ef12af4ccd
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Sat Feb 5 03:13:34 2005 +0000
+
+ Warn of unknown texture formats.
+
+commit a02b83115a865a58d3f0d118a6b3ad2922a0ab75
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Sat Feb 5 00:59:57 2005 +0000
+
+ Fix some mixed spaces / tabs issues in generated code. Commit generated
+ files that have been trivially changed by other recent commits.
+
+commit 0a755ade51be419488ba621d843de939749ad76c
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Feb 4 19:29:30 2005 +0000
+
+ Enable client-side GLX support for texture compression extensions.
+
+commit 19064f818a4a5124fe52de1cee79e84372da172b
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Fri Feb 4 00:25:41 2005 +0000
+
+ Added an option texture_heaps that allows selecting which texture heaps
+ will be used. Implemented this option in the Savage driver. On my
+ ProSavageDDR uploads to AGP memory are about 1.5 times as fast as
+ uploads to card memory. On non-IGP hardware the difference may be even
+ bigger. Now mplayer -gl is getting really usable.
+
+commit cbff5db516f58304fbc24ae2c4653f426ef68947
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Fri Feb 4 00:17:21 2005 +0000
+
+ Made subtile upload a template. This speeds up tiled texture uploads by
+ about a factor 1.3.
+
+commit 64b85b456384c22834749a278d073eefd3056611
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Thu Feb 3 21:40:21 2005 +0000
+
+ Use all texture heaps in a fair way when textures need to be kicked in
+ order to make room for new textures. In particular this fixes texture
+ trashing on the first heap when the second heap is occupied by
+ currently unused textures (observed with Torcs and the Savage driver).
+
+ Heaps are weighted by their sizes by default but drivers can override
+ these and apply their own weights based on relative texture upload
+ speeds to the respective heaps.
+
+commit 9ea600ff3ffcddbb1431e478ae24517672d32423
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Thu Feb 3 19:51:57 2005 +0000
+
+ Removing some trash and disabling fog fallback as it seem its causing more harm than good. Tuxracer should now work at least with vbs. Fix for vb colorbuffer clear bug is underway...
+
+commit fe58074deac37d2a3601164857275d8ffd9babeb
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Thu Feb 3 19:43:27 2005 +0000
+
+ Changing vb code to handle inputs correctly.
+
+commit c326f9ffae6992ceb499106518f7d8661c50fa81
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Thu Feb 3 17:48:32 2005 +0000
+
+ Start beginning of pixel shader generator..
+
+commit 54b03eefda5288d96f5f9bf46b7b3ed74e27566b
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Thu Feb 3 16:05:21 2005 +0000
+
+ Forgot to increase the length.
+
+commit d26e464b6ab391be93f7c7cef8193f6e1567e0cf
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Thu Feb 3 16:01:46 2005 +0000
+
+ Looks like we need at least one instruction for pixel shader.
+
+commit 4c56261075500d7434e24fb47bf5b1a0196b2b11
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Thu Feb 3 15:44:06 2005 +0000
+
+ Get vertex programs supplied by the user work properly with immediate mode - vertex buffer mode worked by accident.
+
+ Fix alu_offset in SINGLE_TEXTURE_PIPELINE.
+
+commit 19b260119a8ef78bbe1815d8011ff64a22208b3d
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Thu Feb 3 06:33:44 2005 +0000
+
+ Since high bits can be used for flags, mask them out.
+ This stops arbvpwarpmesh from segfaulting and it actually works - with immediate mode rendering.
+
+commit 3f0926b612ca2aaf7a38c2b0ac9a48baa0d7502d
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Thu Feb 3 04:16:59 2005 +0000
+
+ Remove redundant instructions from fixed pipelines, looks like they do not do anything, at least on my hardware.
+
+commit cb085044c9e09742187bb5a1060473bbf03f1e13
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Thu Feb 3 03:48:22 2005 +0000
+
+ Mark ZBIAS definitions.
+
+commit f350617c24470f4b5ef4305e2951f8b9c07bb210
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Thu Feb 3 03:47:12 2005 +0000
+
+ This was too optimistic sorry - all that register does is something weird with polygon culling.
+
+commit f46de6f23b93cdcae5c33a5c107a3c1578cb9ed1
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Thu Feb 3 03:43:01 2005 +0000
+
+ Get Polygon offset fill to work.
+ Make WARN_ONCE message more informative.
+
+commit 94a20cbadfb5266d1acbb0597dba16aacfa1fe32
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Feb 3 00:38:40 2005 +0000
+
+ Added a bunch of extensions that were previously supported but weren't
+ in the gl_API.xml database. Add "official" support for SGI_color_matrix
+ and SGI_texture_color_table. These were previously supported only by
+ way of ARB_imaging.
+
+commit eba5b610b9d0c782e669efafa7ee1b785ce3254d
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Wed Feb 2 15:57:25 2005 +0000
+
+ Check for heap == NULL before driSetTextureSwapCounterLocation.
+
+commit 2eb9e67a5a53eeb386aaafb42e382c73c3873a4d
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Wed Feb 2 15:52:29 2005 +0000
+
+ Don't try to kick textures from a NULL tex heap.
+
+commit 8b21166c142392f8b9f12fa6400a4598d66714b3
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Wed Feb 2 14:43:03 2005 +0000
+
+ Fixed flushing of client-side vertex buffers.
+
+commit 1a141b916123e147f3677babad3bdf4bbcad4e42
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Wed Feb 2 14:42:00 2005 +0000
+
+ Fixed some debug output that was unconditionally enabled.
+
+commit 6286dda286515790daa8b827e5de43b548a4ff68
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 2 14:12:59 2005 +0000
+
+ clamp viewport against ctx->Const.MaxViewportWidth/Height instead of MAX_WIDTH/HEIGHT
+
+commit 1a1c49f8a6b0e46c1b551409534b3e2ebbbb401d
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Wed Feb 2 13:29:11 2005 +0000
+
+ Changed parts of r300_setup_routing to use WARN_ONCE.
+
+commit 3fec8c24ec14a5e07953828beba7e03d6367ae34
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Feb 2 00:54:45 2005 +0000
+
+ Small refactor. Add glXFunctionIterator, which derrives from
+ glFunctionIterator and is used by GlxProto. The difference between the two
+ iterator classes is that glXFunctionIterator skips functions that the GLX
+ protocol code does not care about.
+
+ Replace all the remaining occurances of glParameter::p_count_parameters and
+ glFunction::count_parameters with the count_parameter_list.
+
+ Add GlxProto::size_call to generate the C code to calculate 'compsize'.
+
+ These trivially modify the generated code.
+
+commit 6b158a7d23b8d2c290589a53d604f2e50d435922
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Feb 1 23:12:36 2005 +0000
+
+ Add a missing break and a reminder.
+
+commit b5c90ca7d9f4437e8d4ce4dda24aa1147f6a8ea3
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Feb 1 22:45:11 2005 +0000
+
+ Implement appropriate src checks for attribs/params.
+
+commit b5128c6e82cd2af564d2c161ffef28dcefd03549
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Feb 1 19:56:52 2005 +0000
+
+ Implemented bunch of ops.
+
+commit 7bccfa10269f228844d65ee198414970ad8cc881
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Feb 1 16:56:52 2005 +0000
+
+ Vertex programs work now with some restrictions. I expect arbvptorus to work
+ correctly when normals are delivered. Please note that some programs only
+ start in vb mode as there is something wrong in immediate mode vb code.
+
+commit 5dd4030e761d1c880e0860ba0d5173e8272da8d0
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Tue Feb 1 15:51:54 2005 +0000
+
+ Make WARN_ONCE messages more informative.
+
+commit 6d419feec75ab30fde2033db8d99b65da41cc4fe
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Tue Feb 1 15:46:23 2005 +0000
+
+ Reduce noiseness of the driver.
+
+commit 88e155e353cfa8fb7531c01c0187d74576e27631
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Tue Feb 1 15:27:36 2005 +0000
+
+ Get alpha in textures to work properly.
+
+commit d4697b0997a56df21105005dc1536173576a424c
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Tue Feb 1 06:55:58 2005 +0000
+
+ Properly set ABLEND and CBLEND registers. The older code worked, but by accident.
+
+commit 4a3c6095fcf6900ddb7a8f1110de4b4162673356
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Tue Feb 1 05:59:00 2005 +0000
+
+ Looks like we can define FIRE_VERTICES correctly.
+
+commit 0ab7fb56f58689474920cfd7ebd20829921c2df1
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Tue Feb 1 05:58:27 2005 +0000
+
+ It helps to print actual values instead of random ones.
+
+commit c2803587b6f2533514e1cfa9793d0a448e9c2c85
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Feb 1 00:28:47 2005 +0000
+
+ Small refactor. Move several utility functions from glX_XML.py to
+ FilterGLAPISpecBase (in gl_XML.py). When these functions are used to emit
+ common #define lines, the will automatically be undefined in
+ FilterGLAPISpecBase::printFooter if header_tag is set (i.e., the file is a
+ header file).
+
+ These changes do not modify the generated code.
+
+commit ba09c19ed65051cd9244c8a5ff380d08e7db1aed
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Feb 1 00:13:04 2005 +0000
+
+ Add GlxProto::createEnumFunction and add a 'context' parameter to the
+ glXEnumFunction constructor. The allows sub-classes of GlxProto to
+ over-ride the concrete class used for glXEnumFunction.
+
+ In addition to tracking p_count_parameters in glParameter, break the comma
+ separated list of parameter names into a Python list called
+ count_parameter_list. It is now possible to query if a name is the name of
+ one of the count parameters just by comparing
+ param.count_parameter_list.count(n) to zero. Eventually the remaining uses
+ of p_count_parameters will be replaced with uses of count_parameter_list.
+
+ Make sure that 'void *' parameters are handled correctly in
+ glParameter::size_string.
+
+ Add PrintGlxReqSize_h and PrintGlxReqSize_c. These classes emit prototypes
+ and functions used on the server-side to determine the expected size of an
+ incoming GL command.
+
+commit 886280763c8dfa7202bdacdeacf84ced69609b98
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Mon Jan 31 23:40:05 2005 +0000
+
+ Bug #2428: #ifdef GLX_DIRECT_RENDERING in DRI drivers is pointless.
+
+commit fc4cabbfa89154bce97fa1c076f4426cd6e55b68
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Jan 31 13:23:55 2005 +0000
+
+ makefile update (readtex, showbuffer)
+
+commit e61c8a5c6305d67ede3f69fd3ac83b3d196908ff
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Mon Jan 31 06:41:55 2005 +0000
+
+ Add magic sequence to prevent ClearBuffer from locking up.
+ Change Polygon.OffsetFill from fallback to warn once.
+ Quake demo now works, modulo texture rendering issues due to absent pixel shader pipeline.
+
+commit 9c1773e505307140f78eae139060feff09f9bc4f
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Mon Jan 31 02:52:59 2005 +0000
+
+ Use SecondaryColorPtr, not ColorPtr[1] (the latter is NULL).
+ This fixes segfault in tuxracer-demo. It locks up after this though.
+
+commit 15f108335aa315cf576fd02bc9294d690b072329
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Sun Jan 30 22:16:28 2005 +0000
+
+ My bad, the old code works fine if updated to newer Mesa tree.
+
+commit 0cd936c01ff0c65f58cf8c4e5b7200879de4a9f3
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Sun Jan 30 22:04:40 2005 +0000
+
+ struct ati_fragment_shader was not defined anywhere, define it to get r300_vertexprog.c to compile.
+
+commit b55117042fb0efbff17931af5d4b38e6b28d06af
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jan 30 17:18:08 2005 +0000
+
+ fix max viewport query
+
+commit 29d021cd31faa1d3892122e2ed2d4753a9e92c27
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Sun Jan 30 11:12:59 2005 +0000
+
+ Fix for compiler warnings.
+
+commit 3aa69b39bf9a79f97f1e049e3a8429cdfc4389f4
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Sun Jan 30 06:24:30 2005 +0000
+
+ add number of passes count to ati_fragment_shader
+
+commit 5ff53cb448aa8dcf752ceaa9eb47a7c8a9c3ab0c
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sat Jan 29 23:26:23 2005 +0000
+
+ * Fixed uploading of textures of certain sizes.
+ * When glTexSubImageND is used, track the set of changed tiles in a
+ bit vector and upload only dirty tiles later. This should improve
+ the performance of dynamic light maps and gl movie player plugins.
+ * Renamed debug item "lru" to "tex". Indicate which levels are
+ uploaded completely or partially.
+
+commit 9ff3c49ef2390d79f6a0bdd03af54ae4b02ba3d2
+Author: hmarson <hmarson>
+Date: Sat Jan 29 20:41:31 2005 +0000
+
+ Added 0x4e54 (Thinkpad r50p) as PCI_CHIP_RV350_NP
+
+commit 941d6b008fbfef4f98a98198fe270e2f5e53ee9e
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Sat Jan 29 17:57:07 2005 +0000
+
+ Beginings of program generation. This code havent been tested nor hooked up.
+
+commit 3bde211549b3a819c33793fb87f80121d0f028f2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 29 17:28:45 2005 +0000
+
+ remove stray span.y++
+
+commit 98a9ad9241cddcd2eafd72bf4179607fa4ef3039
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 29 13:48:43 2005 +0000
+
+ added osmesa16 stuff
+
+commit 371f576731967ebca2d3fb6568a075d2f3927e6c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 29 13:48:27 2005 +0000
+
+ assorted fixes
+
+commit 58f4d67703381003c23fecbd3fe114ef9d1730c3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 29 13:36:15 2005 +0000
+
+ fix initial viewport size bug
+
+commit c84cde7b0b4d7a216aa60e0d322ae407107c98f8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 29 12:57:36 2005 +0000
+
+ added missing glFinish()
+
+commit fbb478c946cc78177164a63e50ae1d7dbeee5e08
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Sat Jan 29 07:17:27 2005 +0000
+
+ Cleaning up.
+
+commit 16c3c7401846bbc7c300e6a9b433584ec5b68699
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Jan 28 19:00:54 2005 +0000
+
+ Refactor the code to emit multiple-inclusion protection to
+ FilterGLAPISpecBase. Since the size_h mode of glX_proto_size.py will be
+ used to generate multiple header files, add an option to specify the define
+ that is used for multiple-inclusion protection.
+
+ The changes to the header files in this commit are just a side-effect of the
+ changes to the Python scripts.
+
+commit 8d27148bbd13fbc8192f9c5aeeb9b39b92f1045d
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Fri Jan 28 18:39:26 2005 +0000
+
+ move file
+
+commit 54584df8cc0e663d931de0576a967ffec7fd3ce4
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Jan 28 18:20:43 2005 +0000
+
+ Properly annotate variable-length output parameters. Make sure that the
+ client-side code doesn't try to calculate the size of the output
+ parameters. The server will tell the client how big it is.
+
+commit 20b8d9c1b927f30390093750af0f4008adbfa5cf
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Jan 28 17:58:58 2005 +0000
+
+ Fix some get / set errors with COLOR_TABLE_*. SCALE and BIAS can be
+ parameters to GetColorTableParameter[if]v. FORMAT, WIDTH, and the SIZE
+ enums cannot be parameters to ColorTableParameter[if]v.
+
+commit fdb0527ddce8eb2927631d4fbf38e6625b0af8b1
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Jan 28 17:30:25 2005 +0000
+
+ Slightly modify the meaning of the 'handcode' attribute in a 'glx' element.
+ The attribute can now take one of 4 states. "false" (the default value)
+ means that no handcoding is required for the function. "client" means that
+ the function must be handcoded on the client-side only. "server" means that
+ the function must be handcoded on the server-side only. "true" menas that
+ the function must be handcoded on both the client-side and the server-side.
+
+ Version 1.14 of glX_proto_send.py accidentally contained a line of this
+ change.
+
+commit 1fca5632325e1da42e278909e404dd57e0a62252
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Jan 28 16:51:01 2005 +0000
+
+ Add an option to emit extra debug code in the generated protocol functions.
+ The debug version of indirect.c has proven very helpful during the
+ development of new client-side and server-side GLX protocol code. This is
+ put here instead of in the DISPATCH and DISPATCH_RETURN macros in dispatch.c
+ for two reasons.
+
+ 1. I only want the debug information when indirect-rendering is used.
+
+ 2. Functions that require a reply from the server, some of which do not have
+ a return value (e.g., glFlush, glFinish, glGetLightfv, etc.), do not need
+ the extra glFinish call.
+
+commit b365d286278a0864e771c17ba6fdec8c3a77689a
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Fri Jan 28 11:59:37 2005 +0000
+
+ Fix wrong comment.
+
+commit e451a95ecc1eef2eddd732f157ad8a663ba406dc
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Fri Jan 28 10:08:00 2005 +0000
+
+ Forgot one comment...
+
+commit f856b3f10f5c0feb5243d3f78c733099f47e1c54
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Fri Jan 28 09:57:06 2005 +0000
+
+ Add basic sceleton for vertex programs + some other fixes
+
+commit 6398a97affb8d2dde90dd77cb65aef8e9827e63d
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Jan 27 19:50:59 2005 +0000
+
+ Mark a couple more function parameters as counters.
+
+commit 82e22f50f1e1640d60dbe243ea093960aa682be1
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Jan 27 19:39:16 2005 +0000
+
+ Add numerous 'get'-type functions to most of the enums supported by the
+ server-side GLX implementation.
+
+ Correct the protocol for EXT_convolution. Several functions were
+ incorrectly listed as 'sop' that should have been 'vendorpriv'.
+
+ Remove TexParameter[if]v from the list of functions associated with
+ TEXTURE_RESIDENT. The state associated with this enum is read-only.
+
+ Sort the enums by value for each particular size. This ensures that the
+ signature is the same no matter what the ordering is of the enums in the XML
+ file. The side effect is that there are some extra changes in
+ indirect_size.c.
+
+commit d77359822443a323827c5259a44c43f4e179c030
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Thu Jan 27 04:42:52 2005 +0000
+
+ Add vector distance operator for vertex programs.
+
+commit 5aa6dc329b983b95071700c3af9353e3b35454d9
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Jan 27 01:08:48 2005 +0000
+
+ The 'mode' setting of a function within an 'enum' element is now used.
+ Parameters to glX_proto_size.py are now used to determine whether to emit
+ either get-type function, set-type functions, or both. When only get-type
+ functions are emitted, they can optionally alias set-type functions. This
+ would be useful if, for example, the two types were in different source
+ files.
+
+ The real work to implement this is in SizeStubFunctionIterator class. All
+ of the logic for which functions to iterate and in which order is
+ implemented there.
+
+commit 5b0dd893704157cb8f9c42ce4a32a9d3e2a7edef
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Jan 26 19:19:06 2005 +0000
+
+ remove a bunch of temporary #defines, now that glext.h was updated
+
+commit a205137423e42010a025c70b05af98a6c0564f28
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Wed Jan 26 18:05:03 2005 +0000
+
+ (Stephane Marchesin, me) Add support for color (framebuffer) tiling to the radeon and r200 driver
+
+commit 7104ce0a0e8f25bf097ad695d007b1a4b3e5d051
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Wed Jan 26 18:02:19 2005 +0000
+
+ new version check to allow to test for a range of ddx major versions, instead of just one major version
+
+commit 914746b400abd85b5e416ef9e212604b68743de0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 26 14:45:38 2005 +0000
+
+ remove a bunch of temporary #defines, now that glext.h was updated
+
+commit 0cbc25480f3108a9a49277d57ba2b9e2332d3ccd
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Wed Jan 26 14:20:14 2005 +0000
+
+ replace magic number with macro constant RADEON_ZBLOCK16
+
+commit 8f029f175e839e10f1fa5cadd35ea015eae59d7f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 26 14:02:50 2005 +0000
+
+ just comments/clean-up
+
+commit 7c58a00a5052f2cba6316ee4d33ad49b11c2e050
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 26 14:01:53 2005 +0000
+
+ added mutex to-do comment
+
+commit d01292bc546b8ea4beacffa6aa466d51478d371a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 26 14:01:28 2005 +0000
+
+ just fix a comment and update date
+
+commit b07390c8fddfc88016a9fcb2d46b9fc3c918685b
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Wed Jan 26 09:47:32 2005 +0000
+
+ RGB/LUMINANCE texelfetchers (float version) returned 255.0F for alpha channel, instead of 1.0F
+
+commit 38e6e09cb86ef0bfea87a907def49f00af67fd8f
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Jan 25 23:53:13 2005 +0000
+
+ Add a glFunctionIterator class to iterate over the functions stored in a
+ higher-level API object. Use this type of object to implement the
+ printFunctions method. Modify other functions that iterate over the list of
+ functions to use this type of object.
+
+commit e4d41524a229aa1e0788668b28151125b9c6581e
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Jan 25 19:09:23 2005 +0000
+
+ Fixes for clamp modes.
+
+commit f106493d8b9ee3575a0eea8a33eab1c22f2f3abf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 25 15:16:02 2005 +0000
+
+ Use the _mesa_HashNextEntry() function to walk over all textures in the
+ hash table.
+ Moving toward removing the gl_texture_object's Next pointer (only used by
+ glide and tdfx drivers).
+
+commit 01ec76dbd56a3f2137603db1acbc3782b4d0cfb4
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Jan 25 01:36:32 2005 +0000
+
+ Stupid text editor...convert wayward tabs to spaces.
+
+commit 85f0fa3761f8673ef48e46e0670ac816a34f000a
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Jan 25 01:20:11 2005 +0000
+
+ Add a "count" attribute to "enums" elements to set the default count
+ used for "size" sub-elements. In the future the "count" attribute may
+ be removed completely from "size" sub-elements, so gl_API.xml was also
+ updated.
+
+ Support was added for a (currently unused) "mode" attribute for "size"
+ elements. Basically, functions are marked as either "get" or "set". This
+ will be used in generating size functions for the server-side (where the
+ "get" functions have to know how much data to return). It could also be
+ used to help generate code for src/mesa/main/get.c.
+
+commit cb59bd44dbf0e56058dbb4595ca7fbbbacbd3670
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Jan 24 22:07:00 2005 +0000
+
+ Correctly set the name of the generating script.
+
+commit 00772ac42f0f7201d37d1d3bfb2f0b6f9623dfbc
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Jan 24 21:56:05 2005 +0000
+
+ Move all the code for generating "size" related functions to its own
+ source file.
+
+commit ad15f1bdeadd5370fba445b6565d60d8824101c8
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Jan 24 21:43:29 2005 +0000
+
+ Correct some of the dependencies and clean things up a bit.
+
+commit 5ff2b94630e89da1586628f14eb869b513071154
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Jan 24 21:29:13 2005 +0000
+
+ Remove glEnum::startElement, but refactor out some of the common code from
+ there and glXEnum::startElement to glEnum::process_attributes.
+
+commit 0246b2a5c0f45788a5c418d62ccf5a3a72d16d4a
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Jan 24 20:59:32 2005 +0000
+
+ Since only one of the places that used glXFunction::command_payload_length
+ actually used both values, it was refactored into command_fixed_length and
+ command_variable_length. glXFunction::offset_of_first_parameter was also
+ added.
+
+commit 7f958e9e11badab294339c8b83e7b2e58f7dfe21
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Jan 24 20:08:28 2005 +0000
+
+ Make sure that functions added to gl_API.xml that do not have any GLX
+ section are marked as ignored. Also ignore any functions that don't have
+ assigned dispatch offsets.
+
+ Fold Adam Jackson's changes to indirect_size.c into the generator scripts so
+ that they don't get lost. "DO NOT EDIT" really means "DO NOT EDIT". ;)
+
+commit f9f2db513211809bd7c6c5c9f5252444f2c5066e
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Mon Jan 24 19:26:20 2005 +0000
+
+ border_color causes lockups with vertex buffers. Disabling for now.
+
+commit d7d54423a850aeefb07c131a9cc3dbbd5244468c
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Mon Jan 24 17:09:17 2005 +0000
+
+ Remove lots of old code that dealed with "magic" texture formats.
+
+commit 5c6b391900abd6e600772204f73f55d34d33984c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 24 15:41:08 2005 +0000
+
+ reenable some assertions
+
+commit 428a5e82fc41689d1737d34560b10d921f28b98b
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Mon Jan 24 01:15:12 2005 +0000
+
+ Converted the Savage texture management to use Ian's common texmem code.
+
+commit c74ffb8266dc55914cba6a37143b38b5fd05b01c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 24 00:20:23 2005 +0000
+
+ Added _mesa_HashNextEntry() function to allow walking over all entries
+ in a hash table.
+ Added _mesa_test_hash_functions() for unit testing.
+ Updated comments, etc.
+
+commit 72e3664996721263858f3096e4a618a406550402
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Sun Jan 23 22:09:30 2005 +0000
+
+ reapply Keiths workaround for zbs emit that got dropped during
+ state change patches....
+
+commit 0b5a5a9efb7eebe41012f95122a4914285650f55
+Author: Nicolai Haehnle <prefect_@gmx.net>
+Date: Sun Jan 23 17:35:05 2005 +0000
+
+ Remove unused variables from r300_context
+
+commit 4ced594aa82aa5aeb52655cd38a9292313560064
+Author: Nicolai Haehnle <prefect_@gmx.net>
+Date: Sun Jan 23 17:28:04 2005 +0000
+
+ Fix more warnings and compilation issues.
+
+commit cb77dcf0b98b22503c10190edae7f5600f732c0f
+Author: Nicolai Haehnle <prefect_@gmx.net>
+Date: Sun Jan 23 17:05:32 2005 +0000
+
+ Synchronize r300_reg.h.
+ Fix unportable whitespace before preprocessor commands.
+
+commit 150ed2e43d5541556d282cae728cebeec692e07a
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Sun Jan 23 06:27:08 2005 +0000
+
+ add sync debugging to the radeon driver
+
+commit 999534216d14d85c7f07641dfa37f1aff28d2103
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Sun Jan 23 03:54:38 2005 +0000
+
+ HAVE_ALIAS was never defined anywhere, add some logic to turn it on
+ automagically.
+
+commit e82d5f2be944b1b4cbdfa5d531657766d427a34f
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Sun Jan 23 02:12:23 2005 +0000
+
+ silence makedepend warnings about non-portable whitespace
+
+commit 8736c228cb20e5e62cff01ae86c300633d607bad
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sun Jan 23 01:46:14 2005 +0000
+
+ Fixed initialization of draw destination to front buffer on single
+ buffered visuals. Also don't change span draw/read buffers in
+ savageDDDrawBuffer. Now glean's polygon offset test works (and PASSes
+ with fixed point depth buffer) with single buffered visuals without
+ winding up in an infinite loop.
+
+commit 3b50f004333a922a259a4f733395c27002965ded
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sun Jan 23 01:42:01 2005 +0000
+
+ My last attempt to fix polygon offsets with the reversed viewport depth
+ range used by the savage driver by negating ctx->MRD broke polygon
+ offsets with software fallbacks. This one adds a REVERSE_DEPTH parameter
+ to t_dd_tritmp.h (defaults to 0) that allows reversing polygon offsets
+ for hardware rendering but not for software fallbacks. For software
+ fallbacks depth values are reversed after polygon offsets have been
+ applied by the depth span functions.
+
+commit 36a35c5614336bffdac4827c1e04bcaa8ab2fa27
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Jan 22 14:38:00 2005 +0000
+
+ Determine ahead of time whether a display list will include vertices
+ which have to be processed in the 'loopback' path. If so, send
+ all vertices that way as the transition from playback->loopback has
+ several problems.
+
+commit 8fca9bdc35bfb5220012cfa5041504b0a05d2440
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Sat Jan 22 03:33:10 2005 +0000
+
+ Properly configure routing - based on advice by Keith Whitwell.
+
+commit f4cafc8d13ed196388bfb27edeccdf3a67cec046
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sat Jan 22 00:52:31 2005 +0000
+
+ Fixed polygon offset with reversed viewport depth range.
+
+commit 4ac53aed6c3f217d44e60b5004d3424b0e034e3e
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Fri Jan 21 21:30:55 2005 +0000
+
+ Properly input stencil info contributed by Wladimir.
+
+commit 10602119182a55985e9d8183b6cb846755c6f415
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 21 16:35:56 2005 +0000
+
+ fix glGetString funniness
+
+commit 308fbb7b64c9adb73bd1f875e75b7842c6093987
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Fri Jan 21 15:55:13 2005 +0000
+
+ add getstring.c; remove arb*.h nv*.h stuff
+
+commit 8346c5ee1d545c129d4f271b9c08ea132dea7482
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Fri Jan 21 15:52:17 2005 +0000
+
+ add slang/traverse_wrap.h
+
+commit b39665950e7eadc691065b9955bb97c32cf7beef
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Fri Jan 21 15:51:28 2005 +0000
+
+ Handy TIntermTraverser class wrapper
+
+commit e51b0b1d3072719090f8df3c6673d99fbbbf5a73
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Jan 21 09:50:48 2005 +0000
+
+ silence the 'using AGP/PCI' string unless VIA_DEBUG is used.
+
+commit fa15f6c840bcab5a37e42bca4b80668024352c98
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Fri Jan 21 01:39:09 2005 +0000
+
+ Small cleanup:
+ * Remove some unused (mostly empty) functions
+ * Added context parameter to WAIT_IDLE_EMPTY[_LOCKED] for consistency
+ * Added debug messages to WAIT_IDLE_EMPTY[_LOCKED]
+ * Don't flush empty command buffers
+
+commit 677d1d07c41050e7474f44c592641b14ffd73e8c
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Thu Jan 20 15:18:10 2005 +0000
+
+ * Added options for disabling the fast path (render stage) and vertex DMA
+ * Fixed disabling of the render stage
+ * Added debug output for per-primitive fallbacks
+ * Bumped driver date
+
+commit 14dee36fa78dc309919dd81ae37d0e8d13773104
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 20 15:07:42 2005 +0000
+
+ glext.h version 26
+
+commit edb9a165c14bd90938340a74a636ac5f65ac4c35
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Thu Jan 20 13:59:49 2005 +0000
+
+ Added support for ELTS to the _savage_render_stage. Requires at least
+ Savage DRM version 2.2.0. Otherwise the render stage is disabled.
+
+commit ddfa61ee194b9d4ec88d499c71cd6810e7f6a022
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Jan 20 13:24:08 2005 +0000
+
+ Enclose passed macro values in brackets to ensure correct read/write span
+ values.
+
+commit cb3bc2c49adee6533397bae73812527e50ab82f2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 20 04:03:37 2005 +0000
+
+ document new glDeleteTextures/Buffers/Programs behaviour
+
+commit ea2943efd95c0760a5423236ed37655d863b8a5e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 20 04:02:02 2005 +0000
+
+ Update glDeletePrograms/Buffers() so that the ID is freed immediately, like
+ texture objects.
+
+commit 36da0459e4d0b12ab46f0e2090d107a22f68844a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 20 03:55:10 2005 +0000
+
+ Use a simple CSS style sheet.
+
+commit 10378919d76a6ad4bc4fbb921424807cb469d791
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 19 21:41:24 2005 +0000
+
+ Removed gl_texture_object's DeletePending. Changed a comment.
+
+commit 31fb7648fc3b5b332c151226d61722c09c342570
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 19 14:52:13 2005 +0000
+
+ added texobjshare.c
+
+commit 4f6d9aaa9a3deca941cf13f325d28f9be587d58c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 19 14:51:41 2005 +0000
+
+ test program for texture sharing, deleting, etc
+
+commit 42fee73aadd7f37a4f18e57c167e98b7a6294508
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 19 14:50:52 2005 +0000
+
+ Change behaviour of glDeleteTextures as discussed on ARB list.
+ glDeleteTexture makes the texture ID immediately free for re-use
+ while the actual texture object lingers until its reference count goes
+ to zero (when no longer bound by any rendering context).
+
+commit 140f99f81cf801ac4ea69fa4da3e9648da3b1046
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 19 14:45:23 2005 +0000
+
+ make sure the new instruction Data pointer is set to NULL
+
+commit 7948bc02ed3e2a95eb31c6d60e6c019d1f40ccdb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 19 14:44:55 2005 +0000
+
+ fix a typo
+
+commit 4ef0e046ec66d1f54e24d32c7c1a857ba14bdaf7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 19 14:44:41 2005 +0000
+
+ minor formatting fix
+
+commit 2aa34ea98430047e28b4ac47d09421d53c4b77a2
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jan 19 12:09:33 2005 +0000
+
+ Bring the texcombine fixes to the trunk.
+
+commit bdb5725bab0fdfffb20bbfb4f2c3d7aa3482c1bc
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jan 19 12:06:17 2005 +0000
+
+ Always use ARGB8888 hardware texture format when mesa specifies
+ MESA_FORMAT_ARGB8888. Previously attempted to use ARGB0888 under some
+ circumstances, but glean failed and demos/texenv.c was also incorrect.
+
+commit 69310879581d8dedc7efb1a60e762059d14c249f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jan 19 11:39:23 2005 +0000
+
+ Remove depend on make clean
+
+commit 520e56f232dfe9f15e2f910be96238862aa5080a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jan 19 11:10:27 2005 +0000
+
+ Depend tweaks
+
+commit c98323bd896d51d1ad91b46e73e6eeebcfe78c4f
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Wed Jan 19 07:57:52 2005 +0000
+
+ make sure we avoid assertion failure wrt VB->ColorPtr[1]->stride
+
+commit 9ebce91a66a5775fbb0d3bfce162531d1ad2d975
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Wed Jan 19 07:52:49 2005 +0000
+
+ glVertex* is the provoking "cmd" (that is, by the time of glVertex*, we must have all other attributes already set).
+
+ i am committing this before i forget. however, i'm still leaving my code disabled, because the old code seems legal.
+
+commit 59c2e16e755c0cba78b27525681cd79456a2f496
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Wed Jan 19 07:43:13 2005 +0000
+
+ There is no point trying to detect SSE at all, when MESA_NO_SSE is defined. I am committing this because the current WIN32 SSE detection code crashes UnrealTournament2003.
+
+commit c47d19a1a2f42df3131d5e9e41cb2d4be2fbd417
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 18 22:58:13 2005 +0000
+
+ minor reorg of shader files, disable building for now
+
+commit 41db4e1be580bc9cd310f7e517fd8b07c29919c2
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Tue Jan 18 21:57:48 2005 +0000
+
+ remove some debug
+
+commit 95be63771aa798b0492fd337161ba6f192d7c7c9
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Tue Jan 18 15:06:01 2005 +0000
+
+ Fix tristrips (which fixes coloredTexPerf2 & coloredLitPerf2 glean tests)
+
+commit 4cfd97e3a8e6fcfe4d07afe6526c04f11f7e5181
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue Jan 18 14:21:50 2005 +0000
+
+ remove #ifndef linux, it isnt defined on Linux, where should I define it?
+
+commit c57a312978fa6873b07537204a74af5efbcb8470
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue Jan 18 14:19:46 2005 +0000
+
+ comment out _THROW calls, dont want to compile under Linux
+
+commit fa32c92ea569babc7771b01201fe5cab2cd5e38e
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue Jan 18 14:17:37 2005 +0000
+
+ add shader/slang/slang_mesa.cpp
+
+commit a885c7a6e086fb4c96aac2fd64fa2a01114cf5df
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue Jan 18 14:16:51 2005 +0000
+
+ change .cc suffix to .cpp
+
+commit 619f006bba9035204b84bb842c9630c2292fd950
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue Jan 18 14:02:52 2005 +0000
+
+ add slang preprocessor C sources; add slang include directories
+
+commit 955190fbad82d760e397bd3dcc335da0c6ef4b34
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue Jan 18 13:58:56 2005 +0000
+
+ fix // comments
+
+commit 092af29ea18723558a194e20375dce6e53a06bd8
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue Jan 18 12:04:53 2005 +0000
+
+ fix MAX_VERTEX_ATTRIBS_ARB query
+
+commit af72b4dd8e7f752786ae785795c726c2aada6ae8
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jan 18 08:41:55 2005 +0000
+
+ Fix calculation of last_count in _tnl_wrap_buffers()
+
+commit 7443c2caa6313bbc1655a41e25a192c8ad88817a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 17 22:33:50 2005 +0000
+
+ added rule for compiling C++ sources
+
+commit db99b8b29dc392097463e06a6dd5933c1c8f6058
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Mon Jan 17 16:25:08 2005 +0000
+
+ add slang/ directory tree
+
+commit ea28a5b5b30658771ce3da210e534d449be56805
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 17 16:16:35 2005 +0000
+
+ use FABSF(fogCoord) to fix fog calculation problem (Soju Matsumoto)
+
+commit 730fabd67ab86c6ab13b4b66de3f640a172e8e76
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 17 16:14:46 2005 +0000
+
+ fix some weirdness accidentally checked in in the past
+
+commit 7d079fd7802763efd8c2d8856117b5df0b3a14e4
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Mon Jan 17 16:01:49 2005 +0000
+
+ 2005-oct-19 3dlabs slang compiler, tweaked a little bit
+
+commit cc9ab78158049cee104101c608d4fa8082079214
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Mon Jan 17 15:52:20 2005 +0000
+
+ slang to mesa compatibility, tested only under Windows
+
+commit 434f622ede0fa8663025fd858d8f445a1bc3f494
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Mon Jan 17 15:47:57 2005 +0000
+
+ add 3dlabs_shhandle interface
+
+commit 0a7ea2b0c3a2bab1c548b7a4fd60dde1a9f1760f
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Mon Jan 17 15:35:46 2005 +0000
+
+ add [.slang] to INCDIR, fix comma in OBJECTS
+
+commit 389e292a1b9fb0fb16e45eb1c922f93f8d3dc94d
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Mon Jan 17 15:32:25 2005 +0000
+
+ add src/mesa/shader/slang to INCLUDE_DIRS
+
+commit ff39c65dee231b316acde81ba9be02bb16654999
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Jan 17 08:05:47 2005 +0000
+
+ cleaned up warnings
+
+commit 714c36c1202cd49c58cf6462afd391fd059b96c2
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Jan 17 08:04:39 2005 +0000
+
+ allow more internalFormat/format combinations (i hope i got it right)
+
+commit d98c47300ad0640f8456caced6f03675de06d3a9
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Jan 17 08:02:42 2005 +0000
+
+ fix compilation error for fx/Mesa
+
+commit 6a432a7c50927964bb73ede7b389b6a689fe1d6f
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Jan 17 07:48:53 2005 +0000
+
+ since we've already messed up this one, let we do it further and make it look like a fire...
+
+commit a6ddd2494ab145ed033858e27c77103e12af9e70
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Jan 17 07:47:41 2005 +0000
+
+ remove trailing slash from TOP definition
+
+commit 0a360cfab5a871a6e2c87129a1136f3c8ffc7d63
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 17 01:21:03 2005 +0000
+
+ silence warning
+
+commit 848ff851575241454935c205eace88e799966563
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 17 01:07:00 2005 +0000
+
+ clean up gl2 structs
+
+commit fc3028d2c7d72be621545aebd2dafe519c3550f9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 17 01:02:40 2005 +0000
+
+ silence a bunch of warnings
+
+commit 6c58ddae17f63cd14b10d9022baee2ca6346fad2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 17 00:40:29 2005 +0000
+
+ fix a few warnings
+
+commit b4199a1f71a29dc143e7beb0902a06b74fdfe718
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jan 16 19:42:46 2005 +0000
+
+ added getstring.c
+
+commit 5255044c00b45defc487d20943dee37742f13fdf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jan 16 19:40:15 2005 +0000
+
+ added a few OpenGL 2.0 tokens (temporary)
+
+commit 169a723d2ba90f91e3c16f7e186d0ed238da9a65
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jan 16 19:39:10 2005 +0000
+
+ _mesa_GetInteger/Float/Boolean/Doublev() are now generated with the new
+ get_gen.py Python script.
+ Moved GetString(), GetPointer(), GetError() into new getstring.c file.
+
+commit c07ec046b7492602f32f9139a13bfcc8db0253c3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jan 16 17:59:50 2005 +0000
+
+ make tnl_clipspace_attr->insert field const, to silence warning
+
+commit 14aea4a485346ad8241cc3285ac76b7f5a8e70e0
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Sun Jan 16 17:07:24 2005 +0000
+
+ This fixes it but why mipmaps still work?
+ It doesnt look like filter constants in r300_reg.h would define number of
+ levels.
+
+commit 781d512a0bd58eb2254b2b192240c71823244ff2
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Sun Jan 16 16:12:05 2005 +0000
+
+ I was wrong...
+
+commit 82d14217362faf9893fd47940981a2c5162cc623
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Sun Jan 16 13:28:49 2005 +0000
+
+ Looks like masking masking t->filter isnt needed anymore.
+ texwrap still shows some problems with clamp mode with nearest filtering.
+
+commit ad360a81bdc9076cc09f9241176116efdbba43e4
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sun Jan 16 01:28:26 2005 +0000
+
+ Added a fast path for emitting unclipped primitives directly to a
+ vertex buffer. ELTS are not supported yet (missing functionality in
+ the DRM). You need at least Savage DRM version 2.1.3, which fixes a
+ bug that screwed up triangle fans and strips.
+
+ Moved the texture normalization stage to savagerender.c.
+
+commit ca710a0a7f0ae7e637e3e73cc4edac0a81f6fe1c
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Sat Jan 15 20:44:23 2005 +0000
+
+ On the way to getting stencil working.
+
+commit 76de160b642aa7eac41db05883a9c6b414d17cb5
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Sat Jan 15 19:33:19 2005 +0000
+
+ On the way to getting stencil and texture formats working.
+ Looks like the matter of texture formats is a lot simpler, with the wrong
+ display in quake explained by the fact that we are not handling texture combine modes.
+
+commit b5f49e6f91664a82f2356d667eaa8504ba56b7c0
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sat Jan 15 14:37:33 2005 +0000
+
+ Converted to use spantmp2.h.
+
+commit c478a09a5b44fe0aff4851094a00775bf3f33757
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sat Jan 15 14:35:35 2005 +0000
+
+ Use HW_READ_LOCK and HW_READ_UNLOCK in assembler-optimized span read
+ functions.
+
+commit dbb3ec35a7acdc795d8d428f2ac35f6167aab464
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Sat Jan 15 04:17:27 2005 +0000
+
+ Use symbolic constants to describe pixel shader ALU instructions.
+
+commit ffe7496ac37a61b94c1db676e105fda2c3e6eb18
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Fri Jan 14 21:53:00 2005 +0000
+
+ Added fixes for filter modes and support for anisotropy filters.
+ Wrap modes would work perfectly but i messed up something when cleaning up
+ the code :/ Border color code is incomplete because i forgot to check how to
+ set border size :)
+
+commit afa05e68b8e0f7a1fac60439218b8b543b0fcf30
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Jan 14 16:56:52 2005 +0000
+
+ Enable line stippling.
+
+commit 4ccee80190532fc70631331eab66b9e5712adbe9
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jan 14 15:03:00 2005 +0000
+
+ Fix previously un-noticed issue with flat-shaded points.
+
+commit faf96a157df67281ece24fe19a72e7b557e628da
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Jan 14 13:11:34 2005 +0000
+
+ silence a warning
+
+commit 42cfcce8d44d145b8f01ca9de71813608a7f2be4
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Jan 14 13:10:50 2005 +0000
+
+ Get PolygonStipple working.. (or seemingly too). It seems to do the right
+ things now given the demos I've used and passes glean's paths test.
+
+commit 38595eda3912c29b48b4e5ddef39aab7b7dec17a
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Jan 14 13:02:53 2005 +0000
+
+ 16bpp doesn't support masked clears, so fallback when they're enabled.
+
+commit 96d375c682fdefbd0cfe0cfa26c1d3ef41ebed87
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jan 14 13:01:21 2005 +0000
+
+ Populate WriteMonoDepthSpan in 24/8 modes.
+
+commit 404273ad09f0f7bb079386929767e2151a355024
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Fri Jan 14 08:50:08 2005 +0000
+
+ changed coding style. made `glutTimerFunc' less accurate, but far more reliable.
+
+commit 0c685896736da5e17cb995b49fc3acce32081bad
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Fri Jan 14 08:44:29 2005 +0000
+
+ changed coding style. added possibility to use default timer instead of PC/HW timer.
+
+commit aa7a27b38e7351718a480fdfb0c8bf0ecec94752
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Fri Jan 14 08:40:43 2005 +0000
+
+ changed coding style. added a NULL pointer check.
+
+commit 7da875d55f6dc9f18e23dd8af9ae7f5782cd3a72
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Fri Jan 14 08:37:20 2005 +0000
+
+ changed coding style
+
+commit f4bff83c3211297159e498c1115b993a5cba9b4b
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Fri Jan 14 08:31:50 2005 +0000
+
+ doc update
+
+commit 52f5ff525b18c360a2b4a2c96609905cacc36391
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Fri Jan 14 06:39:14 2005 +0000
+
+ Remove redundant register.
+ Hook up some functions in r300Enable().
+
+commit 517ac1bf252de9618a7bfb93732bf2188ed46dac
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Fri Jan 14 05:26:17 2005 +0000
+
+ Reduce amount of stderr output.
+ Switch to using R300_EASY_TX_FORMAT() macro everywhere.
+
+commit 2821b05a0fbe9e3fe4428e71fe03a6bc0f444505
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Fri Jan 14 04:21:55 2005 +0000
+
+ Incorporate latest data from Wladimir van der Laan.
+
+commit d2001bd88ff10b191fa13a84b8d8a77352616fa6
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Thu Jan 13 23:13:52 2005 +0000
+
+ Sync with master copy.
+
+commit f11d6d4cb4792f4fb358da3c97a66bcf2fd49cea
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Thu Jan 13 22:38:21 2005 +0000
+
+ add -DUSE_EXTERNAL_DXTN_LIB=1 so compressed textures are enabled for solo
+
+commit 288114b9db2d6c20e1be06db7664f765dce10159
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Jan 13 17:53:01 2005 +0000
+
+ remove some dead texture code
+
+commit a7ab2b2e0b56e64d1d11a811e31309793f6a8caa
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Thu Jan 13 16:02:05 2005 +0000
+
+ Make sure DMA buffers are released in savageDestroyContext. Usually
+ the DRM would reclaim DMA buffers, but if one process creates and
+ destroys many contexts it can still run out of DMA buffers.
+
+commit b1d322a1e76f27a22b4c876ef96655728f4de692
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jan 13 15:58:05 2005 +0000
+
+ Fix loop for quads-as-triangles.
+
+commit c06f8cb9e55078b307caf35cb863943cbde45562
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jan 13 15:49:39 2005 +0000
+
+ Rename via_fastrender_* to avoid confusion with similar functions in
+ via_render.c.
+
+commit a0371b0b3cdf3901985215d98e265b1a2131455a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jan 13 14:57:34 2005 +0000
+
+ Simplify viaChooseVertexState slightly.
+
+commit d9af44f358653db808597a838804fbc2dfddbeb6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jan 13 14:54:44 2005 +0000
+
+ Remove misleading comment.
+
+commit edd21a6f72d91fa4e50f9e9002619bac9ccb511d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jan 13 14:52:24 2005 +0000
+
+ Typo
+
+commit db19ae89f293282711dd7e1e77b844b4aa6d8ed9
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jan 13 14:38:17 2005 +0000
+
+ Emit constant colors for texunit 1 blending.
+ Change comments and some code to match naming used in the docs.
+
+commit 436f4bbd62b1470f26f375bbbaa89aae52e8f1eb
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Thu Jan 13 14:15:36 2005 +0000
+
+ add s_atifragshader.c, s_atifragshader.h
+
+commit 7f3e2dac7a5099c1d41f17f190ac19aed3f5e2f7
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Thu Jan 13 14:14:55 2005 +0000
+
+ 3dlabs glslang frontend
+
+commit 302a414b34ec4ebba1c52c1e2491d43cd2e6a391
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Thu Jan 13 14:14:11 2005 +0000
+
+ 3dlabs glslang frontend, not complete
+
+commit 01d38cdf0c4c964fc4d59ebd51444f4638d9747a
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Thu Jan 13 14:13:19 2005 +0000
+
+ cosmetic changes
+
+commit 6324f73b932bea74329f6f617021e593274e637c
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Thu Jan 13 14:12:50 2005 +0000
+
+ implement ARB_shader_objects, not complete
+
+commit 8b7cc45f3d218ec125cc9cef72d79c23cd84d829
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Thu Jan 13 14:12:01 2005 +0000
+
+ add atifragshader.c, shaderobjects.c, shaderobjects_3dlabs.c, atifragshader.h,
+ shaderobjects.h, shaderobjects_3dlabs.h
+
+commit b05e75bf696e99631c9a56156a3638af50e584d3
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Thu Jan 13 14:10:37 2005 +0000
+
+ add shaderobjects_3dlabs.c
+
+commit 3d52858c784cebaafc80d51608898ef571fef7b7
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Thu Jan 13 14:09:58 2005 +0000
+
+ add ARB_shader_objects interfaces, shared and context state
+
+commit 0e85388ba8e54569c14306b5715c5cb1c20b6cb9
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Thu Jan 13 14:09:18 2005 +0000
+
+ enable ARB_fragment/vertex_shader
+
+commit 9b3752c8ab721325d02759e1292f94ce566aa3ae
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Thu Jan 13 14:08:47 2005 +0000
+
+ init ARB_shader_objects subsystem
+
+commit 8f8534f691e92e85053a96bd222603d7bac23100
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Thu Jan 13 14:08:00 2005 +0000
+
+ add shader/shaderobjects_3dlabs.c
+
+commit df14522540365d04e0077a3da5666084aafb68c7
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jan 13 13:00:23 2005 +0000
+
+ cut out dead texture state code
+
+commit 5bd6a5f2dfe855ad6aabb2126c518245cdc20e37
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Jan 13 12:03:00 2005 +0000
+
+ revert some makecurrent code
+
+commit db93e6165e437ca76c4fecd238e0243c1472a42e
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Jan 13 10:20:16 2005 +0000
+
+ Fix glean scissor test
+
+commit d4330fc3223c9809042b3102b3e1551ca58dd404
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Thu Jan 13 09:08:58 2005 +0000
+
+ Prevent "disabling 3D acceleration" message from printing - we do not define raster functions anyway.
+
+commit d456ef48e5e23bc8c9d90bfe80f781eafe65eb39
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Thu Jan 13 09:05:31 2005 +0000
+
+ Incorporate TX_FORMAT information contributed by Wladimir van der Laan.
+ Attempt to use it in r300_state.c
+ We are still missing something and the formats do not quite work.
+ Perhaps something in texture management code ?
+
+commit 3ff4eca05c67b2969386db36ee8123fc8a5e55ac
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Jan 13 00:15:28 2005 +0000
+
+ As we fallback for polygon stipple on the CLE266 for now, ensure we
+ don't turn on the polygon stipple hardware bit.
+
+commit cce4d5cb700ae700795aad22a12f35b5f1be7ad7
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Wed Jan 12 23:16:28 2005 +0000
+
+ Use the faster span read/write template for 16bpp
+
+commit 88440d2d7524c64c4db52a93d1952d4ab859e5ce
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jan 12 21:55:47 2005 +0000
+
+ Don't special-case 16bpp for colormask register - not needed.
+
+commit 8e5281fbe1a7b9beea77b93a9cdd1e842a3edfa0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jan 12 21:04:03 2005 +0000
+
+ Simplify usage of drmHash functions and fix bug in
+ __driGarbageCollectDrawables which would get confused while walking
+ the hash values.
+
+commit 0aca086f7a8d13efa548753c6c7836a98719dbde
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jan 12 19:38:41 2005 +0000
+
+ free buffer in t_vertex_c.c on context delete
+
+commit 8e46534b3b776f1dd0f96fc6ba5244f16a2868ab
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jan 12 19:27:49 2005 +0000
+
+ Remove bogus write to freed memory (valgrind).
+
+commit 118b82145ae94e082c60b7c377ab90266e0ff331
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Wed Jan 12 19:24:39 2005 +0000
+
+ Check for deletion of currently bound context
+ Other minor cleanups
+
+commit f9b89910d1e98e03dc49fea97678592bb301faa8
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jan 12 19:11:47 2005 +0000
+
+ new test to exercise context and window create/delete
+
+commit 7ea2084513d59a26a25c05cf881b7c3313fad30c
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Wed Jan 12 18:32:51 2005 +0000
+
+ Fixes lockups initializing AGP DMA.
+
+commit 4676a6ab7b9346e88ad15f5f0a255e4559d5f547
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jan 12 18:14:42 2005 +0000
+
+ Expand out the N(x) macro so that tags can find functions like
+ drmHashFirst(), etc.
+
+commit 2937d403db37e04d9523b8ed268dfc4afac5aec9
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Wed Jan 12 17:33:09 2005 +0000
+
+ build fixes and enable agp dma
+
+commit 708e25142b0ce7b01028613481dc43f1e628786b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jan 12 17:20:29 2005 +0000
+
+ Add flag to clear texture caches after texture upload.
+
+commit 5ba7d85fea3c3fc687fbd309226a894077afb91c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jan 12 17:20:08 2005 +0000
+
+ Don't emit HC_SubA_HSPXYOS on CLE266.
+
+commit 09ac1d1125d6b69dafc548c24a4175d268c7a7bb
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jan 12 13:33:27 2005 +0000
+
+ Allow two GL primitives to be combined to one HW primitive
+ if possible.
+
+commit 26dcb88fb97e2ecea11b5da770c7c6e65f0b790b
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Wed Jan 12 12:45:42 2005 +0000
+
+ Fix multitexturing.
+ The multiarb test works now when disabling texunit0/1.
+
+commit a9531eb2c54bbdbedd7f03583d540a32d9fd918f
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Wed Jan 12 09:25:37 2005 +0000
+
+ some "safer" type-punning (gcc optimizes float moves with integer moves, anyway).
+
+commit d7b837ad4aa5306bd318fafa32f40599622f2c2a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 12 04:06:55 2005 +0000
+
+ temporary prototypes for OpenGL 2.0
+
+commit 2a34e66d6aad93af9247d1a7d10da169a731437a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 12 04:01:54 2005 +0000
+
+ OpenGL 2.0 StencilFunc/Op/MaskSeparate functions
+
+commit a9e34c68ac0538699a144f67d3ce83ccb8f49be9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 12 04:01:08 2005 +0000
+
+ Some initial work for OpenGL 2.0: glStencilFunc/Op/MaskSeparate() functions.
+
+commit 591b72b6a9718e908b11c7c2fd3bbf9e5b432677
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Jan 11 23:50:01 2005 +0000
+
+ Added a couple missing proxy types.
+
+commit ff04e50e2e4f423b7d8866b85d299c9acce5fed6
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Tue Jan 11 23:34:55 2005 +0000
+
+ Mipmapping and other texture filters now work.
+ Beaware that R300_TX_MIN_FILTER_MASK might be incorrect because i havent
+ been able to confirm that all filters operate correctly. Because of this its
+ also pretty pointless trying to get other features that use filter field to
+ work.
+
+ Lod bias should also work but have been unable to test it because lodbias
+ test doesnt work.
+
+commit d24e49f301db9612349ed09594e476a8dbc896a5
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Jan 11 22:43:45 2005 +0000
+
+ Put quotes around the CC and CXX variables passed to mklib. This make
+ them work with multi-work compiler names (e.g., "ccache gcc").
+
+commit 5b28844dba15c0bcce4c5a9ee9f3ed82d6b90fdc
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Tue Jan 11 18:43:21 2005 +0000
+
+ fix a typo
+
+commit 3bd6e3d532d5c4e0d1c7ef17b13d9784589771c4
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jan 11 17:12:48 2005 +0000
+
+ Disable bogus pbuffer code (though this could be revived with a little
+ attention).
+ Correctly advertise FBConfigs with GL_BGRA rather than GL_BGR.
+
+commit 5b5e6cc120727a38592d7e4d240ed54f759f446d
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Tue Jan 11 17:09:47 2005 +0000
+
+ Fix the calculation of the alpha reference value which negates the
+ need for the big nasty fallback - so I've commented out that code.
+
+commit aac4d8857af31984108896c11ea1ac98b9776b3e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jan 11 17:06:09 2005 +0000
+
+ Temporarily disable pageflipping assert.
+
+commit 8e039bf40af71b574bf409b9e145f98a4ce3fe70
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Tue Jan 11 16:44:18 2005 +0000
+
+ uncomment
+
+commit f29aaf80a47e28f03cd60ebba0948961e8a73524
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Tue Jan 11 16:42:56 2005 +0000
+
+ Fix ColorMask
+
+commit cdb65416342d5ca9635685b898c68a76f4a6e862
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 11 15:56:47 2005 +0000
+
+ prototype _mesa_init_ati_fragment_shader()
+
+commit 43343913b98d7e113977940bc9c49f9df45add29
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Tue Jan 11 15:47:16 2005 +0000
+
+ aliasing was broken
+
+commit b13eaf269895df3b688e2c014c9fdfb93de48462
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jan 11 15:40:06 2005 +0000
+
+ Add a big nasty fallback for AlphaTest -- seems to always be wrong
+ on CLE266 because Z values are written even for fragments which
+ fail the test.
+
+commit 51365b2d0daf0e340074f07b2362896ae9c60a9e
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Tue Jan 11 15:24:24 2005 +0000
+
+ fallback on polygon.stippleflag (thanks Keith)
+
+commit 0275d921ac344e91cf25f097d6b262b2ac06ff7e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 11 15:23:08 2005 +0000
+
+ VMS updates from Jouk Jansen
+
+commit 94dd520210293750ab6f3094a6a8c67e23f61ef2
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue Jan 11 10:56:39 2005 +0000
+
+ applied Keith's patch for "safe" type-punning.
+ made IS_NEGATIVE produce a boolean (useful when xoring with other booleans).
+
+commit 5358682aa7b8d495c45991fcd750250883e78444
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Tue Jan 11 09:52:10 2005 +0000
+
+ Fix usage of texture units, when TEX1 is enabled, but not TEX0.
+
+commit 0cb0a36d8c0a5c201eece033d331b0f9321abf22
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Tue Jan 11 06:22:55 2005 +0000
+
+ Get NeHe lesson08 to work. Note: it appears the filtering does not work properly. Need to find place where it is broken and put an fprintf() complaining about it.
+
+commit d5432ac584f922527922c6813f39f6caa00b9037
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Tue Jan 11 05:59:07 2005 +0000
+
+ Switch back to using immediate mode code - use of AGP space is interfering with texture management.
+ Ideally, r300_render is ready to be rewritten to use standard Mesa include files, but I don't think I'll get around to it.
+
+commit 864137984a80b2ad2c26d54f9281546b4b43c6ae
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Tue Jan 11 04:11:05 2005 +0000
+
+ Move the few definitions from r300_lib.h still in use to r300_emit.h.
+ Rework *vb* function to not use AOS_ARRAY structure, but rather work directly with r300->state.aos.
+ Remove references to r300_lib.h and r300_lib.c
+ Remove r300_lib.[c,h].
+
+commit 086ca3dffbf0003eac20fe5fe6fbcf993c414f0b
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Tue Jan 11 03:55:04 2005 +0000
+
+ Switch r300_state.c to use r300_fixed_pipelines.h instead of r300_lib.h.
+ This fixes potentially buggy memcpy()'s between potentially different structures.
+
+commit dd4837502c5cd22db63fa5be80769074a2eaaedc
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Tue Jan 11 03:50:04 2005 +0000
+
+ Copy sample pixel and vertex shaders to r300_fixed_pipelines.h
+
+commit 14e98b7d7c64c306028121a589cfb68845628ccf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 10 23:16:49 2005 +0000
+
+ remove a debug line
+
+commit ff53a4ee13f67acc0e975533b500662d3efd7389
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 10 23:15:59 2005 +0000
+
+ tweak output formattting, fixed uninitialized var error
+
+commit 86f1439f82e499f1d8de965510a503404426ad9e
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Mon Jan 10 22:49:00 2005 +0000
+
+ Fixes to cope with the lack of AGP textures. This is all that's needed
+ to support PCI Savages on the Mesa side. Bumped driver date.
+
+commit 9db66a3f9f745267d7ed20f1d6fde0272bd37949
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Mon Jan 10 19:44:59 2005 +0000
+
+ Fallback on PolygonStipple for CLE266 hardware.
+ Only upload stencil configuration when a stencil buffer exists.
+
+commit eaf2b170fffbd573ca8482a7dfa30af24f39a4a1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 10 16:23:21 2005 +0000
+
+ Windows/ReactOS patch (Gregor Anich)
+
+commit 574f3c7daf755c6b61aee661a1d322e1226d9cbe
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 10 14:36:25 2005 +0000
+
+ More changes to cope with color stride == 0
+
+commit a887a44b2da48dfa50b5c19c2be9ebbef79ae2db
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 10 12:30:08 2005 +0000
+
+ Fix segfault in pipes by dealing with stride == 0 case in generic_interp_extras
+
+commit 8c231d2e28fde9e9218da3da74dc431075e6fd3f
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Mon Jan 10 05:24:28 2005 +0000
+
+ Bring vertex buffer code up to date..
+
+commit 6867117b589d46e496886b7cca99c37e6ec5b36b
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Mon Jan 10 03:42:50 2005 +0000
+
+ For some reason we need r300Flush when using textures. Perhaps the problem is
+ with BITBLT_MULTI call ?
+
+commit 5f61c6f21f08be622112630dba2cbdc05e118022
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Mon Jan 10 03:22:54 2005 +0000
+
+ Clean up the code and make it unnecessary to issue extra calls to Setup*Shaders
+ in the r300_run_immediate_render function.
+ Bumps up glxgears fps count by about 100 points.
+
+commit 8ad31013b2d540645c14f37587ec6b418b865b03
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Sun Jan 9 23:37:03 2005 +0000
+
+ Port EmitPixelShader from cmdbuf.c to SetupPixelShader in state.c.
+
+commit e9acd0ca5f0449588e3772024546e107b1e807c4
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Sun Jan 9 22:38:53 2005 +0000
+
+ Implement a more elaborate hashing scheme for texture formats. Still not perfect.
+ Transform EmitVertexShader in cmdbuf.c to SetupVertexShader in state.c.
+ The latter is only temporary and is to be rewritten to auto-generate shaders based on current GL context.
+
+commit 527af7571ef1ccfc772f444224e55534bf9dffe3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jan 9 18:05:02 2005 +0000
+
+ minor readtex fixes
+
+commit 612bf1fa2ef1aaf2ab38877346bc37aefcb3760f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jan 9 18:00:49 2005 +0000
+
+ improved animation rate
+
+commit 7a663b315e790d0fa8ded72489d2d105234de165
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jan 9 17:52:48 2005 +0000
+
+ rotate at fixed rate, changed fire effect (Marcelo Magallon)
+
+commit a00c59151172cb7d77773ca0bb8adb388f58ea77
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jan 9 17:50:27 2005 +0000
+
+ rotate at fixed rate (Marcelo Magallon)
+
+commit a4a31c5d76874be8dd30f6809cc63fb27069c135
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jan 9 17:39:36 2005 +0000
+
+ use #ifdef to test for extension
+
+commit 2d84ed83c421cb472f4fce5cdcd6191a49345f51
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jan 9 17:39:06 2005 +0000
+
+ include readtex.h
+
+commit 92eddb0fd404624ca198f19e4088927701eec7f5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jan 9 17:37:50 2005 +0000
+
+ better animate rate (Marcelo Magallon)
+
+commit 516f9bc6e306fe7820649ead125d557b46ca8419
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jan 9 17:26:08 2005 +0000
+
+ some new/improved rules
+
+commit 575d24a5ffb84b9122a3d3d85d138a7bbe06284b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jan 9 17:15:41 2005 +0000
+
+ include readtex.h instead of readtex.c
+
+commit 0fe7f406be7ffa8e849d9097e00a4d6229c138bd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jan 9 17:06:22 2005 +0000
+
+ include readtex.h instead of readtex.c (Marcello Magallon)
+
+commit b58091a336d767bf82dbf12d6161997206a44bcf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jan 9 17:00:57 2005 +0000
+
+ Add #ifdefs for extension testing (Marcello Magallon)
+
+commit 429efa9f00b63f08ba4bc76e5b8ba80aceee24ec
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jan 9 16:52:53 2005 +0000
+
+ animation rate patch (Marcello Magallon)
+
+commit 1b058a06c2e17e44930ed99a32f46f8e5c484fba
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jan 9 16:48:52 2005 +0000
+
+ rotate at a reasonable rate
+
+commit c1065ee977f70042e54a930a6cd3af819d4a9806
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 8 23:52:01 2005 +0000
+
+ compute reasonable animate rate (Marcelo Magallon)
+
+commit 0261042bebe4c17afd3b581fac0ab5274dac3740
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 8 23:51:50 2005 +0000
+
+ fix-up rules for sphere demo, which uses readtex utility
+
+commit b45ce5c6079afc9be98e2c2ad50897455b33c5bc
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sat Jan 8 23:39:19 2005 +0000
+
+ * Flush and wait in per-primitive fallback functions. Fixes flickering
+ stars in glplanet.
+ * Refactored vertex format choosing code. Improved the Savage4 version
+ to choose a format suitable for DMA (size = 32bytes) whenever
+ possible.
+
+commit e4499ed2768ab3ba71e45cb724d5d0591d619058
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sat Jan 8 15:51:11 2005 +0000
+
+ Added missing break; to fix infinite recursion between choose_emit_func
+ and emit_viewport4_bgra4_st2_st2.
+
+commit 675b92515ab016038ab47f37d83631fb3713384e
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sat Jan 8 15:03:25 2005 +0000
+
+ Added state debugging option (SAVAGE_DEBUG=state).
+ Fixed: Use savageEmitChangedRegs instead of savageEmitContiguousRegs for
+ emitting Savage4.
+
+commit 1074eae704f4f68a721cfb9810cd0fde3d3aed07
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Sat Jan 8 03:54:38 2005 +0000
+
+ Enable libGL to be built with DRI_NEW_INTERFACE_ONLY (but don't do it yet).
+
+commit ccaa15a0812f3cdac5669cb315e5e7e9eaba9685
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Sat Jan 8 03:16:04 2005 +0000
+
+ Parallel build fix. Multiword variables on the target side of a : get
+ expanded into individual rules for each word, so parallel builds will
+ start multiple instances to create the server/ symlinks and fail when they
+ already exist.
+
+commit f1481aa2d7fe24dfe03e3c54305e4ed8111aae9f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jan 7 18:35:28 2005 +0000
+
+ Add t_vb_cull.c (Bernard Blackham)
+
+commit f0e4f5e5567a91e362cdefce4bca0103ae9d56b4
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jan 7 16:43:39 2005 +0000
+
+ And fix the obvious bugs in higher-numbered templates.
+
+commit ae73b3d5edc1361a666fc83b9d47e461f8dffda3
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jan 7 16:25:40 2005 +0000
+
+ Templatize the fastpaths.
+
+commit fa1362241b2e315578040143a9ea1a7facca143a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jan 7 15:54:48 2005 +0000
+
+ Add some more hardcoded fastpaths.
+
+commit 5fff0c135da68f58914b926cb73c21d9a6620045
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jan 7 15:27:41 2005 +0000
+
+ Cope with the possibility that incoming vectors may have
+ count < VB->Count.
+
+ Remove code to deal with the (should-be) impossible situation of null
+ input vectors.
+
+commit 5911d8731564e6bdadcb011b949dd6cde5b46f64
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jan 7 15:26:02 2005 +0000
+
+ Use the 'to' vector to determine the loop count.
+
+commit e0be62e2c53991986ac5aa8caab285c55045cb6c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jan 7 15:24:59 2005 +0000
+
+ Remove -C flags for install which aren't universally supported.
+
+commit 85243b8120c1a61c88e57b578ea927c322a5170b
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Fri Jan 7 10:55:13 2005 +0000
+
+ Fixed: ptex drawing functions were overridden with standard drawing
+ functions if ANY_RASTER_FLAGS|ANY_FALLBACK_FLAGS were set.
+
+commit b3d772bd9a09cfdcfbbf31c54d888d88311318ee
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jan 7 10:36:14 2005 +0000
+
+ Add a clean target to remove generated files.
+
+commit 5cd24d4dc2dc8520a60b61fc696a899062de6e5c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jan 7 10:35:51 2005 +0000
+
+ Add a noop install target
+
+commit 8764441b58a2490600494a30ad40645982bcbbaa
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jan 7 10:35:23 2005 +0000
+
+ Improve the semantics of the 'install' target to make sure the right
+ file is really being installed. Useful if you have multiple versions
+ of a single driver directory hanging around and want to switch between
+ them for testing.
+
+commit 000dd4afe2f4bad50101da6882354ea67444aeb2
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jan 7 10:34:13 2005 +0000
+
+ Add an install target
+
+commit 1837dda4d868b65441062942ec27ce8dd56e12bc
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jan 7 10:34:00 2005 +0000
+
+ Make clean in the x86 directory.
+ Propogate 'install' target down to dri driver directory.
+
+commit a11659adaf95d68ec03aed89ad59f344ad0dd567
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Jan 7 03:41:48 2005 +0000
+
+ Use GNU AS label aliasing, if available. This must be enabled by adding
+ '-DHAVE_ALIAS' to DEFINES in the config file used for building. On the
+ linux-dri-x86 build, this cuts 4KB from libGL.so. HAVE_ALIAS is not
+ currently enabled in any of the configs.
+
+commit 0f34f3efb894fb78c293e94cd51fe20a65cf9ae4
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Jan 7 03:23:59 2005 +0000
+
+ Script to generate rough GLX protocol documentation (as might be seen in
+ an extension spec). It's not perfect, and it doesn't support certain
+ functions that other scripts here can (e.g., pixel functions). However,
+ it is a good start and has already proven useful to me.
+
+commit a285acbbef997d223de819e960d55724f52757d4
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Jan 7 03:22:56 2005 +0000
+
+ Track the GLX protocol names for GL types.
+
+commit 70d2f152f8e312a6c51dd4547d39b09284b2c0de
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Jan 7 02:53:04 2005 +0000
+
+ Refactor the code that converts a transpose-matrix enum to a
+ regular-matrix enum.
+
+commit 5f1f229f8da255ca9b390da1757ad781978cf619
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Jan 7 02:39:09 2005 +0000
+
+ Pixel oriented render functions are now generated by the
+ glX_proto_send.py script. This eliminates ~600 lines of non-generated
+ code. With proper compiler optimization settings, it also decreases the
+ size of libGL.so by about 3KB.
+
+commit 3385d7cec3308129f6f1fc5990023417e4e4be47
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Jan 7 02:29:42 2005 +0000
+
+ The generic_*_byte functions did not rount the command size to a
+ multiple of 4 correctly in some cases.
+
+commit ba5ceda7e0f55fb59a674a5439a44464cae4b28d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 7 01:17:42 2005 +0000
+
+ added GetAllFBConfigs()
+
+commit 7e3379b1a0f1837e432323f60885e5c8e38c2699
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Jan 7 00:48:24 2005 +0000
+
+ Revert some accidental cross-merge changes. Remove i915GetString. Migrate
+ a couple extensions that appeared in both device-specific card_extensions
+ strings to the shared one.
+
+commit 71fc6a3fc9177efa335e5c09867faf0bde6584a2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 6 23:59:37 2005 +0000
+
+ New GetAllFBConfigs() function. Some FBConfigs weren't reported before.
+
+commit 1f98ee90228aa56df207cdbd223bb4b8c0bb15d9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 6 21:56:16 2005 +0000
+
+ In choose_visual() we need to know if we're being called from
+ glXChooseVisual() or glXChooseFBConfig() so that we handle the
+ GLX_DOUBLEBUFFER and GLX_STEREO tokens correctly.
+ Added some new error checking in those functions too.
+
+commit 8bb717d2d54c6e74db3008d30ea90200e578e42c
+Author: Aapo Tahkola <aet@rasterburn.org>
+Date: Thu Jan 6 19:26:25 2005 +0000
+
+ Add radeon 9550 pci id.
+
+commit a61ee6591028ca92f28309a5b7c93a0ba5c93a77
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jan 6 17:12:56 2005 +0000
+
+ Redraw on keypress, as apparently intended.
+
+commit a2db56b34b7fe0fb58441d293ba56b8ed48141a8
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Jan 6 14:35:44 2005 +0000
+
+ Add Intel i915GM support, and these extensions.
+ * GL_ARB_texture_cube_map
+ * GL_EXT_blend_equation_separate
+ * GL_ATI_blend_equation_separate
+ * GL_ARB_point_parameters
+ * GL_NV_blend_square
+ * GL_EXT_cull_vertex
+ * GL_ARB_depth_texture
+ * GL_SGIX_depth_texture
+ * GL_ARB_shadow
+ * GL_EXT_shadow_funcs
+ * GL_3DFX_texture_compression_FXT1
+ (Keith Whitwell, Tungsten Graphics)
+
+commit 9f149bf2068c8897497d2b795006ae7334cfc3f6
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Thu Jan 6 14:34:48 2005 +0000
+
+ semantic in parameter names
+
+commit d401faf877f0b6e98b179e1e1d0bb83cfdf4a9fb
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Thu Jan 6 14:09:18 2005 +0000
+
+ semantic in parameter names. changed emitter function.
+
+commit 4c1d373ce17ad0831a986c9e88f65425e5dab4f4
+Author: Thomas Hellström <thomas@tungstengraphics.com>
+Date: Thu Jan 6 13:51:37 2005 +0000
+
+ Small Unichrome fixes:
+ 1. Unlock hardware before aborting and dumping DMA buffers. Otherwise display system may deadlock.
+ 2. Fix DMA init IOCTL call that got mixed up in one of the previous commits.
+ 3. Fix AGP command alignment
+
+commit dd1ef7c0d78fdb2dd6587c87394680c6e8c79648
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Thu Jan 6 07:46:37 2005 +0000
+
+ semantic in parameter names
+
+commit 5135d37813fe23a3a1ea19c6e116933052faf1b3
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Thu Jan 6 07:45:17 2005 +0000
+
+ solved classic "char*" vs "char[]" conflict. we were mimicking a pointer variable at desired location and then we took its address. using array is more intuitive, as they give us the starting address instantly.
+
+commit ed1fc20199856d20f904f3d2c3d0f8b40e485fc2
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Thu Jan 6 07:40:33 2005 +0000
+
+ protected against elfish directives
+
+commit 9b7367154baaa7abcbb58c413490278095fd798b
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Thu Jan 6 07:38:28 2005 +0000
+
+ semantic in parameter names
+
+commit 994d5cc5f48cc2f08c59ccd6de31b7fb05f8349e
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Thu Jan 6 07:37:32 2005 +0000
+
+ removed detritus
+
+commit 7047cb08ebf4045b33738d67281170ab64926f28
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Thu Jan 6 07:36:56 2005 +0000
+
+ added "default" branch in `convertPalette'
+
+commit 50122c9d2de568f7b8f37bd63ea252898008010b
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Thu Jan 6 07:35:46 2005 +0000
+
+ fix dstRGB factor
+
+commit e09c843c137d91a20e5c705c6c4b8a75579d8232
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Thu Jan 6 04:39:51 2005 +0000
+
+ Turns out the kfountain.kss (as well as lesson19) had a bug - the size was set wrong. Fixed.
+
+commit 91538b44322ca8970f8423395ff37cb1c38e8c32
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Thu Jan 6 04:02:52 2005 +0000
+
+ Add texture format to get lesson19 working again.
+
+commit dbc125eedeb79a218031c51f2eacbe0e4c58278a
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Thu Jan 6 03:56:18 2005 +0000
+
+ Switch to a more complicated scheme of choosing texture formats, as it looks
+ like the old one was prone to collisions (different value of format field was
+ required for same values of t->format going in).
+ Now use a hash for these purposes - this got kfiresaver.kss and lesson06 workingfrom the same code.
+
+commit 7b51aa54be958b3bf5710df7eedf1b7a2aeddd84
+Author: Ben Skeggs <darktama@iinet.net.au>
+Date: Thu Jan 6 00:10:11 2005 +0000
+
+ Added GL_POLYGON primitive. Single primitive between glBegin()/glEnd() now works.
+
+commit 3e4d4aca77479f7c9cef8fdc218c20d1f2876433
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Wed Jan 5 23:56:16 2005 +0000
+
+ * Fixed handling of scissors
+ * Only set scissor regs directly if drmMinor < 1
+ * Don't set texaddr to 0 when a texture unit is disabled. That would trigger
+ the tightened texture state check in the DRM if the texaddr and texdesc
+ registers were not emitted atomically.
+
+commit 1e21673ea14ad1368fcebbc4d5dde8746497d782
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Wed Jan 5 22:40:34 2005 +0000
+
+ support 720x480 and 960x540 modes
+
+commit ee2761f2f33f95330f087977c54fa8bcb2859202
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Wed Jan 5 21:49:52 2005 +0000
+
+ Only try to free the front buffer when it's a pbuffer.
+
+commit 699fc6baf99f2997d7405651c84d0ea0b7e6423a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jan 5 20:56:05 2005 +0000
+
+ Make the format of the fastpaths cleaner at the expense of a little
+ performance.
+
+ Add fastpaths for some more common vertex formats.
+
+commit 609e54820cfee142c9ec89c7fc22a0eeb091780e
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Wed Jan 5 20:13:04 2005 +0000
+
+ fix build problem
+
+commit 99fc261c47005b0674e2e45f5c6445bc2ce0d8e4
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jan 5 18:14:38 2005 +0000
+
+ Improve some quad paths, gives gears a little boost.
+
+commit dd9666bc1def9e99a5050545ab71d24037cf5af0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jan 5 18:06:05 2005 +0000
+
+ Give attributes with zero-stride a count of 1 to make it easier
+ to avoid transforming the same attribute multiple times.
+
+ Don't light a single normal multiple times in light_fast_rgba*
+
+commit 30f64862766c573505fb7cd03a1c10bbf584c183
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jan 5 13:51:38 2005 +0000
+
+ make alloc-dma functions inline, rearrange some debug
+
+commit 830e046972842482283f8d0eade8544780ae455f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jan 5 13:51:03 2005 +0000
+
+ Avoid a segfault in multiarb.c
+
+commit e3fe80a60f36fad8f12220ba435bfecc8685c264
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Wed Jan 5 13:45:09 2005 +0000
+
+ Bring VIA driver up-to-date with regard to drm_*_t changes and remove
+ the xf86drmVIA.[ch] files.
+
+ Bring in the IRQ handler and Ring buffer code, but ring buffer is disabled
+ as it is with the Xserver. It certainly locks up the CLE266.
+
+commit 9a8a9fb01fa5beeb843415277b48b086b099aa97
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jan 5 12:58:14 2005 +0000
+
+ Add a couple of hardwired fastpaths to t_vertex.c.
+
+commit d5b1605449b3a29c02ee74e042a0a32720f3561a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jan 5 11:10:05 2005 +0000
+
+ If there is only one normal, don't transform it multiple times.
+
+commit 380ba2daec31a72d3484aabb6bc34905463c46c9
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Wed Jan 5 04:56:23 2005 +0000
+
+ Reduce the amount of debug output, while still printing important messages.
+ Make guessing texture formats easier.
+
+commit e99f390ff6b46495625b207e0e51f9431a564866
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Wed Jan 5 00:18:46 2005 +0000
+
+ Play a little bit with texture formats.
+ Get NeHe demos 06, 07 and 19 working.
+
+commit 065f725672434319da6e5d91cc17c37a2e9c50eb
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Tue Jan 4 22:52:53 2005 +0000
+
+ Sync with master copy.
+
+commit 6b185aaedfacf3cc435d575585cc5f2e029bece6
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Tue Jan 4 20:25:11 2005 +0000
+
+ Port code from r200 that implements color blending. Seems to work.
+ This can be tested with lesson19 from NeHe.
+ This has also shown that the alpha code does not work - we pick up a red tint
+ for transparent pixels somewhere.
+
+commit 55ee1daaf929b9dca436a238f87715caec184445
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Tue Jan 4 19:15:37 2005 +0000
+
+ Unify rendering of textured and non-textured primitives.
+
+commit 638faa92fc4ae01bd41b299ac11f66a1733e67b5
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Tue Jan 4 18:59:47 2005 +0000
+
+ Major code restructuring:
+ * move proven code into the r300_state.c
+ * update ClearBuffer to cope with more dynamic state
+ * cleanup !
+
+commit 85edffd5fff0328f96c73615d6bf98c4516b4ee4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 4 14:48:14 2005 +0000
+
+ added GLX_NV_float_buffer
+
+commit 932dee87e3002be87dc3bcc49efd8ac9ac3e1fa4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 4 14:33:47 2005 +0000
+
+ use HIDDEN macro to export fewer symbols (bug 2210)
+
+commit bdbdab837eb8d84e2c2388ff2a780f5c0931473f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 4 14:19:25 2005 +0000
+
+ directfb changes (Claudio Ciccani)
+
+commit 6650264802ae5da354ccdd5e4d6f6ae7d394f8ab
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jan 4 12:57:02 2005 +0000
+
+ Add GL_EXT_fog_coord
+
+commit 31c25f2edcda018730d829b80977a9b3de202a3b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jan 4 12:56:17 2005 +0000
+
+ Add GL_EXT_secondary_color
+
+commit e024cae14bc19c1ce7519d3d05140e3e63383ddf
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jan 4 12:53:41 2005 +0000
+
+ Turn specular lighting state on/off appropriately.
+
+commit b6ab7a1bf1b6d4c6e44c4b167e072c4169e6923c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jan 4 12:18:05 2005 +0000
+
+ Change to use the t_vertex.c mechanisms for building vertices,
+ including Felix's ptex code.
+
+ Re-enable some assembly for performance.
+
+commit f72e4424d960b1751845d9e0579e8fdcca93b3d0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 4 00:58:29 2005 +0000
+
+ Use the GLX 1.3 pbuffer/fbconfig functions in preference to the SGIX ones.
+ Added more functions to pbutil.[ch] to better isolate API differences.
+
+commit e3748eb19ba444f411ad66905dfddbe809225ca0
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Mon Jan 3 22:24:44 2005 +0000
+
+ Added support for floating point depth buffers on Savage4-based
+ hardware. By also reversing the depth range this can compensate the loss
+ of accuracy of far objects caused by the projective transformation.
+ Software fallbacks work but are slightly slower since floats in a custom
+ (non IEEE) format have to be encoded and decoded. I havn't done anything
+ about polygon offsets yet. There doesn't seem to be an easy way do get
+ it right except making the offset unit as big as the lowest resolution
+ of depth values. For now float depth is disabled by default but can be
+ enabled through driconf (though I have seen only positive effects so
+ far).
+
+commit 87889aeab46ece5800cca9390fe95e83515b313d
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Mon Jan 3 22:15:41 2005 +0000
+
+ Added a boolean option for a floating-point depth buffer.
+
+commit 3276c192b7bfe4fd21967224b3d13e1c1681758e
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Jan 3 21:03:03 2005 +0000
+
+ The opcode and command length fields of RenderLarge commands were
+ mistakenly emitted in the wrong order.
+
+commit dd1a817c501ae52b92d9ebf02876152d7a42ec27
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 3 15:55:51 2005 +0000
+
+ latest updates
+
+commit a5039af357f58369bb9db007f911a86b5ff123f2
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Mon Jan 3 15:45:10 2005 +0000
+
+ Add structs describing vertex and pixel shader state to r300_state.
+ Take apart program_pipeline() and move it into appropriate pieces within the driver.
+ Test the framework on run_flat_render()
+
+commit 8e73b1422814b0a540f1c61a6c8c8a8d8110f693
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 3 15:36:27 2005 +0000
+
+ bump version to 6.3, etc.
+
+commit 81ca616e7e84768cf91234e4132df9d737b98d94
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 3 15:35:00 2005 +0000
+
+ DirectFB driver (Claudio Ciccani)
+
+commit 6563c16e381c2302ef8f76d78f8283e68aa3eb07
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 3 15:01:26 2005 +0000
+
+ updates from Jouk
+
+commit 25faa2d56e2c417d64c3ad50f43e421002bcd29a
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Mon Jan 3 06:53:38 2005 +0000
+
+ Turns out I left flat primitives in vertex buffer mode. Switch them back to immediate which works correctly..
+
+commit 63473a8e76dadc0f56e222866066bb4a242700d9
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Mon Jan 3 06:48:50 2005 +0000
+
+ Enable code to compute other constants that were used by R200 code.
+ Add fprintf to print these constants.
+ Correct t->size computation, so it works now.
+
+commit 2fc9351ee768ce0c123ce1d9b210dc6958ab41b2
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Mon Jan 3 05:44:20 2005 +0000
+
+ Port texture allocation code from R200.
+ Hook it up, so lesson06 displays red colored textures.
+
+commit 63fd67e561e0bf303981c0800dc2dee02ba93487
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Sun Jan 2 21:53:53 2005 +0000
+
+ Add texture units registers
+
+commit f50a1964d1296a1aaf0685134b402cc9c42f4673
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Sun Jan 2 06:16:44 2005 +0000
+
+ Cleanup !
+ I can not trigger any lockups now..
+
+commit d6be8dd651dc9d57a85aa408bfd572bc142bb6a1
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Sun Jan 2 05:57:15 2005 +0000
+
+ I think I fixed the lockups issue.
+
+commit 9a04b25c60a2dd18839f5e69ae5c9abee9635d84
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Sun Jan 2 04:46:25 2005 +0000
+
+ Get textures to work with NeHe lesson06.
+ The code is still disabled since we are displaying random image data instead of actual texture and because I had to put a sleep(1) in lesson06 drawing loop to prevent lockups.
+
+commit 3c80f5c56b835f15eddade6dd86e109a8a340f73
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Sun Jan 2 03:36:53 2005 +0000
+
+ linux-dri-x86 build fix from Andreas Stenglein.
+
+commit 7a231da442838bbdd20ae3121dc4ec9ddcf8145a
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sun Jan 2 01:22:10 2005 +0000
+
+ Improved the performance of software fallbacks by not waiting for idle
+ in every single span function. Instead flush and wait in the
+ SpanRenderStart hook and in wrappers around _swrast_Copy/Draw/ReadPixels.
+ Misc. cleanups in savagespan.c while I'm there.
+
+commit 1067ce0cea1392b4ea1cc1c2c940cec33efb9c96
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sat Jan 1 20:40:14 2005 +0000
+
+ Removed all direct hardware access (MMIO, BCI) from the Savage DRI
+ driver. It uses the new DRM version 2.0.x now, which has just been
+ committed to DRM CVS.
+
+commit 467d64a177d611293c6db14daf97997b389f3cb0
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sat Jan 1 20:33:45 2005 +0000
+
+ Use DRM headers from $(DRM_SOURCE_PATH)/shared-core instead of .../shared.
+
+commit 404d925b58b8fa0322ba79e7dfb14132ac57ae56
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Sat Jan 1 18:41:43 2005 +0000
+
+ Add a convenience function to issue CP delays.
+
+commit e443d1ec470b252e694a15d782b1386122b4f085
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Fri Dec 31 21:28:36 2004 +0000
+
+ Qualify the magic 20B0 register as SE_VTE_CNTL similar to R200. Looks like disabling Z offset and scaling displays gears properly, not sure why. Perhaps the meaning of the bits has changed ?
+
+ Cleanup code a bit.
+
+commit 92d47e79f1dcd9101de0116835782084bc4f7209
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Fri Dec 31 20:57:48 2004 +0000
+
+ Sync with master copy.
+
+commit 11374bdb86bf7d5d57850be2e014c0801d4e8424
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Fri Dec 31 19:39:03 2004 +0000
+
+ Add texture drawing code. Note: it is broken at the moment and is disabled in CVS. However, all hooks are there.
+ Fix vertex buffer drawing code.
+
+commit 24b5e4914138a31599f55e1059ef3e34063a5917
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Thu Dec 30 20:24:30 2004 +0000
+
+ Rework slightly r300_get_primitive_type - make it clearer and more compact..
+
+commit 179cc373f1ecb4d65a413fdc64c74f98e27dac79
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Dec 30 17:47:08 2004 +0000
+
+ Get scissor test working again. Passes glean scissor test.
+
+commit c664f0c5155da800c34de1783754313e86654eda
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Dec 30 16:30:26 2004 +0000
+
+ Calculate DEPTH_SCALE correctly for polygon offset.
+
+commit 8be4747fd642aef719f9ee55a42f05fe69a043eb
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Dec 30 16:13:35 2004 +0000
+
+ Simplify viaBlit a bit more.
+ Implement masked clears.
+
+commit 4a04f002dbc1c39059216dfad4be3d6c874c5408
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Thu Dec 30 16:06:37 2004 +0000
+
+ Add missing files.
+
+commit 8f1ba083baa14182d508cdb9f94e2e41726984e9
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Dec 30 16:05:07 2004 +0000
+
+ Initialize depth pointer correctly.
+
+commit 58cc2e9124dc76492f2e7d8843f74df511e4054e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Dec 30 15:58:45 2004 +0000
+
+ Don't need to adjust for drawXoff in fallback clipping.
+
+commit 18551e75ea20ad49a10309b4f7e9eeea76d45290
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Dec 30 14:32:19 2004 +0000
+
+ fix regression with fallbacks from recent commits
+
+commit 6fcc6c49654d9e87fbcadba14bc2f45e9bdbf8f7
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Dec 30 14:21:46 2004 +0000
+
+ Fix MagFilter state for texunit 0
+
+commit bcd1a9ed68cee96022af0816a1d22de86691fc77
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Thu Dec 30 11:43:04 2004 +0000
+
+ Update vertex buffer code (still does not work properly..)
+
+commit 2269445f6d20c49e6fc64f60dca8954a6ac0176c
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Thu Dec 30 11:17:42 2004 +0000
+
+ Update to recent r300_lib.
+ Cleanup code that is not relevant anymore.
+ Play with unknown2 parameter.
+
+commit b53030a94cf582da007f0ce3d427618989aa7dea
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Thu Dec 30 10:27:04 2004 +0000
+
+ Hooked up projection matrix - the gears actually rotate !
+
+commit a656dc251e1a7ee1b989e05a0e46939376c64e85
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Thu Dec 30 10:11:39 2004 +0000
+
+ Restructure code.
+ Add drawing code that uses vertex buffers - does not lockup, but does not draw correctly either.. Perhaps something to do with vertices being overwritten ?
+ Start using hardware state retained by the driver and cut back on direct register writes significantly.
+
+commit 51050efe0e1cc8fb690808e1258eea96a57a54c5
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Thu Dec 30 07:50:15 2004 +0000
+
+ Change default RS settings so that glxgears will display something..
+
+commit 7d8c1fb03a738d63706eb07708a87712bd6fe102
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Thu Dec 30 07:11:28 2004 +0000
+
+ Clarify some of the unkXXXX atoms.
+
+commit 74bf43051c5a0abbe83f431ca8e1d8d4d2b068c4
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Thu Dec 30 06:06:54 2004 +0000
+
+ Port viewport setting code from R200.
+ Take it outside R300ResetHwState.
+
+commit 5be14fd59a24612afd09da13688d611a1711d6da
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 29 21:17:06 2004 +0000
+
+ Fix some wrapping bugs in the last commit. Probably there are more
+ remaining.
+
+commit 490e764d7affc093feff80192ed3f3d4642fcb8f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 29 20:46:27 2004 +0000
+
+ Simplfy clear() and swapbuffers() code.
+ Fix various mishandling of cliprects.
+ Allow multiple primitives to be emitted to a single dma buffer, which
+ was largely impossible previously.
+ Re-enable the fast unclipped render stage.
+
+commit ef494c06b6e4dc720f32700f899ddad7cadb0a95
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 29 14:38:17 2004 +0000
+
+ Use Point._Size in calculation
+
+commit 54ef88109b3e135f7cc1feabbbc7dbf640a5d8cc
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 29 14:36:58 2004 +0000
+
+ use clamped Line._Width in calculations
+
+commit e158292ee39646c57280fd8a23deec2392bfe0e6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 29 14:09:21 2004 +0000
+
+ Don't advertise wide lines or points.
+
+commit e972497310f752994a8b42636a51239d2b9d0c44
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 29 14:06:09 2004 +0000
+
+ Make line stipple a fallback.
+ Make sure fallbacks are wrapped by SpanRenderStart/SpanRenderFinish
+
+commit f102f7ae3d45a4a6d6a00d9e389c061a9d4bb852
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 29 14:05:16 2004 +0000
+
+ Don't pingpong cliprects through sarea on CopyBuffer().
+
+commit cb0cc796d2eb21bceb3202c7f1cbfa72389cdb56
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 29 13:03:12 2004 +0000
+
+ Fallback on 3d textures correctly.
+
+commit 3b486d795d0aa5384846aabf0669b25b95e521b1
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 29 12:48:50 2004 +0000
+
+ Get twoside-lit triangles working again
+
+commit 13ae06cf36f9d04c0a04cdc19196f400d7a8c642
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 29 12:39:50 2004 +0000
+
+ Large update
+ - Remove via duplicates of shared template files
+ - Update driver to work with current versions of the above
+ - Rework dma accounting
+ - Rework emitting to dma to use a consistent set of macros
+
+ The handling of cliprects in the driver is still pretty questionable.
+
+commit 7b05b70c2af9f76222a40941b393b5f04ce83048
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Wed Dec 29 04:51:46 2004 +0000
+
+ Rearrange code so we don't dump state as often.
+
+commit 4c3f0418629f81c921d30b2e8d593dea3b3a3329
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Wed Dec 29 04:33:33 2004 +0000
+
+ Get most primitives working using immediate mode.
+ Glxgears displays "rotating" gears, all in the same place (no transform mode, remember ?)
+ Work needs to be done to understand how to have glxgears working properly.
+
+commit 5bdb4652f9f9b5bfd40ada2865e673ee3b9e5d4e
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Wed Dec 29 03:48:05 2004 +0000
+
+ Bring in latest revision of r300_lib.
+ New capabilities: using vertex buffers, immediate vertex data, immediate indices.
+
+commit 6a50fc43cb856ce3e3b2a5ad7ca67bd5135cf4c6
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Mon Dec 27 23:30:39 2004 +0000
+
+ Use R300_CMD_END3D for end_3d().
+
+commit c6cca6a3b8f3572687544514be52fb400e578878
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Mon Dec 27 22:57:05 2004 +0000
+
+ Fix read-from-uninitialized in s3vMakeCurrent()
+
+commit 29c88396db888e117c3b4408ba0c816b8ad4386b
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Mon Dec 27 22:08:34 2004 +0000
+
+ Unused variable cleanup.
+
+commit d9fcfa27976788365c2b7846e13d3081bb3aa9d1
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Mon Dec 27 21:52:17 2004 +0000
+
+ Bug #1859: Initialize 'size' before first use in intelTryReadPixels()
+
+commit 0983c9dd993a4cdabccc1ea3c5bc09a0f1ed507c
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Mon Dec 27 20:38:29 2004 +0000
+
+ Build s3v and trident by default too.
+
+ Smoky the bear says: Only you can prevent bitrot.
+
+commit c3eaa17b37ef83d43a4de211c1b4f616b3bc0a3d
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Mon Dec 27 20:31:56 2004 +0000
+
+ Get s3v building with a minimum of warnings.
+
+commit 99edafd4e87fdfb53a46d10d497250a9ba1fa91b
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Mon Dec 27 17:18:48 2004 +0000
+
+ Implement rendering of (flat color) QUAD primitives as an experiment.
+
+commit 83fcf49647f423741a0a2143e03dbaa2d43d31a1
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Dec 27 08:29:54 2004 +0000
+
+ Fixed two problems with the handling of GLX protocol replies. The logic
+ for determining when extra data needed to be read after a reply (to ensure
+ 4-byte alignment) and the logic to determine whether or not to read reply
+ data after the SingleReply packet were both slightly wrong.
+
+commit 3cbc2bd833b426057c4174ad44ae21ecb04f96e5
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Sun Dec 26 21:42:14 2004 +0000
+
+ Expose primitive types being rendered, in preparation to implement fixed pipeline primitive drawing.
+ Note: these are only visible when export LIBGL_DEBUG=verbose is specified.
+
+commit 1b2a6555211567202f458fcfa6c3ce4bd1b46ba4
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Sun Dec 26 19:32:21 2004 +0000
+
+ Update with most recent version.
+
+commit 46a35b2284211e2c068c4c37f8bd3aced240e47a
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Fri Dec 24 03:04:14 2004 +0000
+
+ Get trident building and -Werror clean.
+
+ - Added Makefile
+ - Deleted references to old headers
+ - Added prototypes all over the place
+ - Lots of type updates (drmHandle -> drm_handle_t etc.)
+ - Added __driCreateNewScreen(), deleted __driCreateScreen()
+ - Fixed context creation to match other drivers
+ - Fixed various bitfield names
+ - Bumped driver date
+
+ Still nowhere close to usable, the DDX isn't DRI-aware and there's no DRM.
+
+commit 1c86c7ad9c38b5ef1baa19677b78076889b60e7f
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Thu Dec 23 20:26:59 2004 +0000
+
+ Simplified and optimized _savage_texnorm_stage.
+
+commit 3deaf2174544f25df812af886c424383ba1dafdf
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Dec 23 18:26:40 2004 +0000
+
+ Remove the VIA_PERFORMANCE code. A step towards moving the driver
+ back to using the shared template files.
+
+commit 9876730f7ac0497dcb6342997006be752536b0e3
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Dec 23 18:16:22 2004 +0000
+
+ Chop out more dead code.
+ Get the drawXoff adjustment working a bit better.
+ Seems to pass the glean orthoPos tests.
+
+commit 15da29b5e74a92437b9dc95590a9289e33e0a9a6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 22 19:31:10 2004 +0000
+
+ Fix merge error.
+
+commit 7db50bb3a893ba0ec0ec2fe1ec54a07ff6472435
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 22 19:30:02 2004 +0000
+
+ Remove dead code.
+ Fix 24/8 depth/stencil visuals.
+
+commit 922bfd70ffdf5e668f197d06937bd79ff6026557
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Wed Dec 22 16:12:59 2004 +0000
+
+ Enabled hardware rendering of 1D textures. No need for a software fallback.
+
+commit 80dd3c79172227ab8826d7449b65bfdf53ee15f8
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Wed Dec 22 00:21:32 2004 +0000
+
+ - Fake projective textures on a single texture unit. A fallback is only
+ needed if a second texture unit is enabled.
+ - Also worked around an application bug in Chromium B.S.U.: it sends 3D
+ texture coordinates while only a 2D texture is enabled. This used to
+ trigger a PTEX fallback. Now the 3rd coordinate is just ignored.
+ - Fixed the _savage_texnorm_stage to never normalize homogenous texture
+ coordinates.
+
+commit 8bdaa927ebca0a23a3bdeed3f4bb11b0f1600684
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Dec 21 23:07:13 2004 +0000
+
+ Remove debug code which referenced an old global variable.
+
+commit 990dec7ea0ad9eca8340d39fd022baa151c05a03
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Dec 21 23:06:02 2004 +0000
+
+ Used GCC's __builtin_expect when available. Change the way code is
+ generated for commands that can use RenderLarge packets. Tweak the code for
+ __glXFlushRenderBuffer slightly.
+
+commit 302c5694c681fb19e4b1855ed82a87c2d0ba5de4
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Dec 21 22:42:00 2004 +0000
+
+ Push a number of global variables into the viaContext struct.
+ Remove the bogus 'current_vmesa' pointer.
+
+commit 1d27084043855d2609b54d3435f0bd85e39762e2
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Dec 21 21:26:36 2004 +0000
+
+ Added some comments and fixed typeos. Slightly refactored the way
+ function parameters are iterated. There are no changes in the generated
+ code.
+
+commit b756990b8407d67a15cf7f63683d50dd7f9e3a4e
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue Dec 21 15:45:41 2004 +0000
+
+ `t' was not initialized (use `texture' instead?)
+
+commit 3ec0631e955cb79cf6009e391cd9b4f6a263b989
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Dec 21 15:13:41 2004 +0000
+
+ fix bug in _mesa_IsTexture()
+
+commit 50694eeff993043df45b6343eb853d92589946a5
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Dec 21 13:23:10 2004 +0000
+
+ Note that state is dirty on contended lock. Allows two applications
+ to run together correctly, though scheduling between them still isn't
+ great.
+
+commit 3955313e7caac1a085ab87253b268578923153c0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Dec 21 12:35:04 2004 +0000
+
+ Add missing swap-control calculations.
+ Remove debug printf.
+
+commit 314f8e4d9d600f9db95977ebf931a3fb9bb8ce79
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Dec 21 11:57:03 2004 +0000
+
+ Add vsync swapbuffers. This waits on the irq so gears run in this mode
+ will have a very low cpu utilization (and also a very low framerate).
+
+ Fix up the pageflipping code. This works now but is totally oblivious
+ to the X server (ie. it works but it's broken). Turned off by a #define.
+
+commit 91a04617c40a740ade27e2f60e78a761a297a1d3
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue Dec 21 08:21:52 2004 +0000
+
+ added GL_EXT_stencil_two_side (yes, it works)
+
+commit d7b9d6046d0cca704c712ebb8823b78dc06f9bf5
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue Dec 21 08:05:43 2004 +0000
+
+ missing `or' in preprocessor conditional
+
+commit 16db15718dcb109c9c02ef8c2611ae973a6dbbe6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Dec 20 14:48:19 2004 +0000
+
+ Add a -fullscreen option
+
+commit 14bc68499025127060e794781cf67fcf4bcf7ee2
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Dec 20 12:52:21 2004 +0000
+
+ Remove #ifdef DEBUG's in code, but still allow compiler to remove debug
+ code if DEBUG not defined.
+
+commit b51600716e0f9563dee2fe6990ade91a96d62801
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Dec 20 08:24:10 2004 +0000
+
+ put back clipmask code; it proved to be a MinGW/gcc 3.3.x error in t_vb_cliptmp.h(47), where it would still send clipped vertices to the hw... oh, dear...
+
+commit 6bb1be010e4fdfafe68230b743ef12b6df846043
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Dec 20 08:20:39 2004 +0000
+
+ use float constants.
+ fixed a small debug error.
+
+commit 77992944599b52fa0af4d80b7884cf38958f47eb
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Dec 20 08:19:28 2004 +0000
+
+ removed ifdef'ed out code (to whom it may concern: it can be found in dri/tdfx driver)
+
+commit 16d4166d1439e36a0a66a5330182fd4a18439ea8
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Dec 20 08:18:19 2004 +0000
+
+ removed detritus (ncc).
+
+commit 7b50d773d3ee85fede5f220eed9265dda5ab681c
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Dec 20 08:17:36 2004 +0000
+
+ comment reorg.
+ removed detritus (ncc).
+
+commit ad149e3e65f441669f3067b3fb428ff3472aa6a0
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Dec 20 08:16:24 2004 +0000
+
+ made some functions static.
+
+commit 9e821269fc0842d88cca37f7aca38fb934695c9d
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Dec 20 08:15:50 2004 +0000
+
+ comment reorg.
+ made some functions static.
+ hide vp behind an envvar.
+ removed unnecessary multitex constraint for napalm hw.
+
+commit 6a7b4690e32daac59bb66af3eba7de8585ee598f
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Dec 20 08:12:09 2004 +0000
+
+ allow greater swappendingcount for older hw (v1/v2)
+
+commit 00b7aba5678c4aefadbefba679f97ebc854a858c
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Dec 20 08:09:25 2004 +0000
+
+ misc cleanup
+
+commit 0d7da6c3e00b62be901645418c2d525ec7b1a341
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Dec 20 08:08:15 2004 +0000
+
+ allow ARB vp/fp query program errors
+
+commit 2982dce27e242c89e4bc99979a878263df33ad2f
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Dec 20 08:03:01 2004 +0000
+
+ really protect against npot compressed textures (logbase2 never returns -1).
+
+commit 0d84c68313cba241b8020f12211f2abdfd53a955
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Dec 20 04:53:00 2004 +0000
+
+ Use GLX protocol code generated by glX_proto_send.py.
+
+commit 46be433c47027ad1bed6ccaa0200fa2ffa6a7b2c
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Dec 20 04:47:46 2004 +0000
+
+ No GLX protocol for GL_ATI_fragment_shader.
+
+commit 55fb41ade81b46685dd0fcb145a9b1161b197110
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Sun Dec 19 15:39:40 2004 +0000
+
+ Fix cut and paste error (reported by Jerome Glisse)
+
+commit 7f752fed993e5e9423abac200dd59141edbada56
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Sun Dec 19 03:06:59 2004 +0000
+
+ Implement software ATI_fragment_shader
+
+ no error detection, slow, may not be 100% correct but a good start
+
+commit a803b0c891404dcd7c376e91f6a033cd4e42abc3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 18 22:03:07 2004 +0000
+
+ Consolidate _swrast_write_texture_span() into _swrast_write_rgba_span().
+
+commit feac30256730614bd60debe2167202bccb577aea
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 18 16:19:08 2004 +0000
+
+ added GL_ARB_pixel_buffer_object extension string
+
+commit 2a5afe3ab8d4c3624ed72b99a11b6a9017078d1c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 18 16:18:00 2004 +0000
+
+ Added PRINT instruction for GL_NV_fragment_program.
+
+commit 6cec977773c87ac95ca66089eb50850c9f0a27ed
+Author: Thomas Hellström <thomas@tungstengraphics.com>
+Date: Sat Dec 18 12:16:12 2004 +0000
+
+ Unichrome DRI driver:
+ Fix for proplem where polygons partly outside the drawing window would get
+ one vertex clamped to the opposite window side. This bug could also cause
+ a hardlock. (Bugzilla #2066, Yann Vernier)
+
+commit 3d0487980196d386e75235fe9be0513546083613
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Fri Dec 17 15:55:17 2004 +0000
+
+ Made debugging output controllable via environment variable
+ SAVAGE_DEBUG. Added fallback debugs. Added no_rast option to disable
+ hardware rasterization (everything as software fallback).
+
+commit 538541e3002e7271fad21c0e5c21b65c0db90e45
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 17 14:48:00 2004 +0000
+
+ VMS update
+
+commit cf9516954295203b6d40887da6e73269b811a0a2
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Fri Dec 17 10:40:32 2004 +0000
+
+ fxRasterPrimitive wasn't always receiving the reduced primitive
+
+commit 02978f109265f7a598a4a6a8d81d134d8308785e
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Fri Dec 17 08:08:37 2004 +0000
+
+ fxRasterPrimitive wasn't always receiving the reduced primitive
+
+commit 0d39c4ebc9a5558c6b7514e33297e14445c5853f
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Fri Dec 17 00:01:15 2004 +0000
+
+ Added a TNL pipeline stage that normalizes texture coordinates as a
+ workaround for bad Savage hardware interpolation of big texture
+ coordinates.
+
+commit c403bcb8a7be437976d5adce41189fff1e7f690f
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Thu Dec 16 19:26:23 2004 +0000
+
+ Import s3virge and trident drivers. Not functional yet; no Makefile, no DRI-aware DDX.
+
+commit 8662c5d98febd8efaf5f8ee47d34c7fcfd597ce3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 16 17:33:36 2004 +0000
+
+ fix typos in texcoord setup - fixes perspective correction bug
+
+commit 7771c92d3548cd0964f79af6b2c3e002b83935ab
+Author: Vladimir Dergachev <volodya@freedesktop.org>
+Date: Thu Dec 16 14:04:49 2004 +0000
+
+ The types uint32_t and uint8_t are not used in Mesa tree.
+ Put a couple of defines to use GL counterparts.
+
+commit 575700fbdcdde9c31ee6ccdd0369604b8ee2df91
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 16 03:07:18 2004 +0000
+
+ Experimental PRINT instruction for NV_vertex_program.
+ Basically, this lets you put a "PRINT 'mesage', register;" statement in a
+ vertex program to aid in debugging.
+
+commit c75900e7a2ad17ecf832e7e9aa41e714a1a78f2a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 16 02:14:19 2004 +0000
+
+ don't divide texcoords by q if using a fragment program
+
+commit d16aa9859c9f5a3a7bf74a13dbbdd20688d3ad84
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Thu Dec 16 00:23:47 2004 +0000
+
+ Also PUBLICize the config option table
+
+commit 3d7aec70c983ed12beac0ad0aa528ac270b6b01a
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Wed Dec 15 23:26:49 2004 +0000
+
+ Mark __driCreateNewScreen PUBLIC
+
+commit 791ce022442f70943b2ce4654d337efe5b3a84db
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Wed Dec 15 23:14:29 2004 +0000
+
+ _glapi_* is effectively PUBLIC API for the DRI drivers.
+
+commit 4890f2605ea7f0d8ad157add2ca0dc2d3b19e848
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Wed Dec 15 23:07:55 2004 +0000
+
+ Mark the XF86DRI client-side extension API as PUBLIC.
+
+commit 2719b54f532d12fe860deab12ba59e2f04ba6a7e
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Wed Dec 15 22:57:59 2004 +0000
+
+ fxt1_decode_1() needs to be non-static for the tdfx and glide drivers.
+
+commit 20456d6a3d18970988eedc1ab84ccde13d1ce900
+Author: Thomas Hellström <thomas@tungstengraphics.com>
+Date: Wed Dec 15 21:59:25 2004 +0000
+
+ Unichrome DRI:
+ Updated the driver to the new VIA security mechanisms in DRM. All command
+ submissions now passes through DRM ioctls. If the DRM AGP ring-buffer is
+ not enabled, it will use a DRM mechanism for submitting commands to the
+ hardware via a PCI bus mechanism.
+
+ Removed all direct write accesses to the hardware. Among other things the
+ VQ was previously turned off for the PCI path, apparently for Tuxracer.
+ That seemed unneeded and was removed. No visible impact on Tuxracer.
+
+ Abstracted all buffer blit operations in via_ioctl.c. The blitter context
+ is now reprogrammed before each blitting operation.
+
+ Updated driver date and drm version requirement.
+ (Bugzilla Bug #1950, Thomas Hellström)
+
+commit b4f58e99ebfa7d746781b992aca8189821fb26b0
+Author: Thomas Hellström <thomas@tungstengraphics.com>
+Date: Wed Dec 15 21:27:49 2004 +0000
+
+ Unichrome DRI:
+ Stop the driver from giving empty texture levels with erroneous HW addresses
+ to the hardware. These will get caught and rejected in the DRM command
+ verifier.
+
+commit de541439d31415a4cd7393e3507e980d2ab1fc19
+Author: Thomas Hellström <thomas@tungstengraphics.com>
+Date: Wed Dec 15 21:17:51 2004 +0000
+
+ Unichrome DRI:
+ Fixed an apparent race condition during locking and drawable info updating,
+ the result of which was the DRI client leaving traces on the screen rendering
+ where the drawable previously had been.
+ If the driver hangs X for a second or so and then restarts, this is probably
+ the place to look. (Thomas Hellström)
+
+commit a47c4c37ce7ca45974b10f2bbb49bc88fad64a54
+Author: Thomas Hellström <thomas@tungstengraphics.com>
+Date: Wed Dec 15 21:05:26 2004 +0000
+
+ Unichrome DRI driver:
+ Check for texture allocation failure (Bugzilla #1633, Bartlomiej Krol)
+ Reenabled AGP textures (Thomas Hellström)
+
+commit 58f5b91b1bd3d329f98969c7d6c8434107b3ec6d
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Wed Dec 15 17:45:23 2004 +0000
+
+ Added configuration support to the Savage driver. Three options are
+ supported so far.
+
+commit 489ccef3982267b0d35c8548921f58d553c25a3a
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Wed Dec 15 17:18:06 2004 +0000
+
+ Fix up glx/x11 to work when built with -fvisibility=hidden.
+
+commit 5566127701df5c97aca94dd99b066f94943ea969
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Wed Dec 15 16:59:58 2004 +0000
+
+ Fixed GL_CLAM_TO_EDGE. It's not supported in hardware. Use GL_CLAMP
+ instead of GL_REPEAT.
+
+commit e9fbc23024bb831ae781060c414b7906cdfa6d34
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Wed Dec 15 16:54:19 2004 +0000
+
+ Fixed initialization of some stencil-related S4 registers, which was
+ misplaced in savageDDInitState_s3d, where was overwriting completely
+ unrelated S3D registers with garbage.
+
+commit 91fd299b6b781f0e62723ceba050e005a794710c
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Wed Dec 15 16:50:57 2004 +0000
+
+ Moved some code from savageCreateContext to savageInitDriver, where it
+ belongs. Removed some obviously useless code. Fixed computation of
+ MaxTextureLevels.
+
+commit 9fb668c57641d68f4b47b8335ea62f21f9773bba
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Wed Dec 15 15:44:28 2004 +0000
+
+ Fixed some missing uint8_t -> u_int8_t.
+
+commit cc488b03a387aeb2ea25bb7ed22548cbf612fce2
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 15 13:59:47 2004 +0000
+
+ Add _mesa_delete_texture_object() call to viaDeleteTexture
+ [Freedesktop BUG 2080]
+
+commit ae68c3212b46024534217e5d9270916b1156c15f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 15 11:03:41 2004 +0000
+
+ Add some catchall commands to realclean target to remove built files
+ which are forgotten about when the configs/current symlink changes.
+
+commit 3f1205819abc893151c8572b72be51ae5f5bc150
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Wed Dec 15 08:00:43 2004 +0000
+
+ updated makefiles for gcc 3.4.3 and bnu 2.15
+
+commit 65dfab66e5b1a8e6d78134d327f9030cf62f478c
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Wed Dec 15 07:56:49 2004 +0000
+
+ minor info update
+
+commit 8b563fd4c540d23d16c6b0784a6bf25f5a0701d0
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Wed Dec 15 07:55:38 2004 +0000
+
+ added DMesaProc type to prevent gcc 3.4.3 warnings
+
+commit 654dccfd856329bbb66f10d6096a206e33fa397a
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Wed Dec 15 07:54:20 2004 +0000
+
+ added DMesaProc type to prevent gcc 3.4.3 warnings.
+ sw tc is disabled by default
+
+commit ea3885812704645944752887d892c38a46710956
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Wed Dec 15 07:52:35 2004 +0000
+
+ protected elfish code against non-elf compilers
+
+commit 3df033a93b45e206329e1d3d91ae20558a6ba6c0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 15 01:13:39 2004 +0000
+
+ fixes for fragment programs
+
+commit 69a5896238c3553422fcf80feebe5fa39e636006
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 15 01:11:36 2004 +0000
+
+ init span.w, dwdx, dwdy in case we're running a fragment program
+
+commit 55481b3a2977179f47b6d8cec0700e0991dba462
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 15 01:07:52 2004 +0000
+
+ tweaks to the LIT instructions
+
+commit 244adeb639cf13c531bcce78734b911fc19b943d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 15 00:54:17 2004 +0000
+
+ s/DP3/DP3_SAT/ to prevent negative values
+
+commit 968cbf94d90755a6bfb016ac501aca4d9006cbc8
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Tue Dec 14 22:37:46 2004 +0000
+
+ uint*t -> u_int*t
+
+commit fc84bec654cced24883696bf97db2b52c86bc721
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Tue Dec 14 10:59:37 2004 +0000
+
+ fix warning
+
+commit 38b317d508a2a3a4cc6d700ebca80c3b06c913e2
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Tue Dec 14 09:11:52 2004 +0000
+
+ uint*t -> u_int*t changes
+
+commit 9fb024ba970b808d357a00ab7b8739a78559b39e
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Dec 13 23:58:09 2004 +0000
+
+ Added many (hopefully all) missing 'output="true"' attributes. Added
+ missing enum information for GL_EXT_cull_vertex and
+ GL_SGIS_texture_color_mask. Added GL_SUN_mesh_array. Corrected the
+ spelling of the "length" parameter to GetActiveUniformARB.
+
+commit dea44ca491f379094b9da5848e532cd2f0553995
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Dec 13 21:26:50 2004 +0000
+
+ Trivial shell script to search the API definition file and print out the
+ next numerically available API entry-point offset.
+
+commit 8c0b1d882612800d7c70cba27dceabd066a22271
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Dec 13 08:44:46 2004 +0000
+
+ disabled ClipMask usage in vb emitter (clipping bugs?)
+
+commit 8402149766f4feb3f894d5d32c1e09d8897a1ae0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Dec 12 22:24:09 2004 +0000
+
+ removed unused visInfo var
+
+commit af808afbe7c6c066ba35248b881f2c2c69ba7e40
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Dec 12 22:22:10 2004 +0000
+
+ fix recursion problem introduced on Nov 27
+
+commit 68d293b03535ca50daf70650b32db780f1718a3b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Dec 12 19:03:16 2004 +0000
+
+ Added driver hooks for GetTexImage() and GetCompressedTexImage().
+ Added fallback _mesa_get_[compressed]_teximage() routines to texstore.c
+
+commit 5aa1a111a443e51e27e32037a785c49388346495
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Dec 10 17:18:00 2004 +0000
+
+ Fix a couple of glitches
+
+commit 3cc28c96cd2003f9a598a36520305bba58d6489f
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Fri Dec 10 07:36:35 2004 +0000
+
+ allow GetTexImage with RGBA format and COLOR_INDEX internalformat
+
+commit 7af80ca8c1f14db306f1dc413bec389ee7ffcdb7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 9 23:23:14 2004 +0000
+
+ typo
+
+commit a8158599dfdbeded7fc9e9a4d1680703c20e2b05
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 9 23:21:36 2004 +0000
+
+ bring in 6.2.1 changes
+
+commit 8597dd3e96fdf36d3b6e13b4014c2fd064e99050
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 9 16:23:03 2004 +0000
+
+ check if using a PBuffer in clip_for_xgetimage()
+
+commit da3e15c2fd5c08a7f28c1bda5a2f3298a8b09a15
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Dec 9 08:42:19 2004 +0000
+
+ Get linux-solo dependencies building correctly,
+ Make sure symlinks are built in driver directories before running makedepend.
+
+commit 2fc3a958a4f2ac1439715e7bea011f3072c07103
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Thu Dec 9 07:44:37 2004 +0000
+
+ make sure we're cleaning up everything
+
+commit a280d3347a639c2f41986733b77eced1c89738d0
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Thu Dec 9 07:43:59 2004 +0000
+
+ simplistic ICD implementation for fx/Mesa
+
+commit 0e01b23798825774cd398d7a694d6b68386a9b47
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Thu Dec 9 00:25:06 2004 +0000
+
+ back out Keiths last checkin - for Solo the include order is important
+
+commit b2ad61fd40bd5a689ec6cd3ce21886f20decd30b
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Thu Dec 9 00:18:59 2004 +0000
+
+ fixup pci code for Jon's last checkin for changing page size
+
+commit b31b7836d6e7abf80dd4feacce333d4b1fe6e4ab
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Wed Dec 8 17:32:46 2004 +0000
+
+ (Stephane Marchesin, me) add hyperz support to radeon and r200 drivers. Only fast z clear and z buffer compression are supported for now, hierarchical-z is not. Still problems with multiple apps and z/stencil readback, which is why hyperz is disabled per default. Also add the new point sprite packet drm 1.13 accepts to the sanity code.
+
+commit fc236723273d4d872ae5e7cac876ea20175df10d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 8 15:16:36 2004 +0000
+
+ Improve the behaviour of the build system wrt depend files.
+
+ - Remove the -Y option for makedepend, so that the standard
+ directories are searched
+ - No longer pipe the multiple errors that the -Y option caused
+ into /dev/null -- we want to know about these failures.
+ - Fix up a few other misc makedepend failures.
+
+commit e5aa3dd29b0b596a0dafab86ccec6e1f0013076f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 8 14:56:40 2004 +0000
+
+ Demonstrate using a color matrix for yuv-to-rgb conversion at texture
+ upload time.
+
+commit c69d60fbe458bec800583bc57d5b3bad61fa72e4
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Wed Dec 8 14:26:48 2004 +0000
+
+ Use union type to avoid strict aliasing problems.
+
+commit c63f3cf85d9719581262b4cf9d69789926879eba
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Wed Dec 8 14:00:46 2004 +0000
+
+ silence warnings
+
+commit 86356155018fce96ba3367fd1a48a18cd6db3c40
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Wed Dec 8 12:59:15 2004 +0000
+
+ Check for some header defines before redefining functions. Silences warnings.
+
+commit 03dc05a6051abe94590f21dd1451dc45ec0ac306
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Wed Dec 8 12:35:55 2004 +0000
+
+ silence warning
+
+commit 23b033ad28331e40287ab8b5c9150bc6be5c608f
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Wed Dec 8 06:15:01 2004 +0000
+
+ From: Stephane Marchesin <marchesin@icps.u-strasbg.fr>
+
+ Attached is a patch that adds pci init code for mesa solo on radeon. It's been
+ tested on an itanium 2 with a radeon 7000 and it works here.
+ The patch adds a new field in the miniglx.conf config file, to choose between
+ pci and agp.
+
+commit e1b4fec71c1a22ea7415a115700802a93b52fcc7
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Wed Dec 8 03:07:34 2004 +0000
+
+ fix depth/stencil readback if coordinates are larger than 1023 (https://bugs.freedesktop.org/show_bug.cgi?id=2010). Should now work up to 2047, which is the current limit for 3d rendering.
+
+commit 3b65cab455fb74156258af063aa1278124c65788
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue Dec 7 15:57:33 2004 +0000
+
+ fixed an include path
+
+commit c049d4bc897f92fd25ed961f1acedaa9d33cc5af
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Dec 6 08:11:14 2004 +0000
+
+ explicit cast in a few places
+
+commit d033ce63da2c78044c4fbef52e8583b908637d6f
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Dec 6 08:10:33 2004 +0000
+
+ disable junk for mingw
+
+commit ac7091078fab404284bdac5d38f5cd26838f5c76
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Dec 6 08:10:01 2004 +0000
+
+ small fix for debug paths
+
+commit fa9ab2d052ee108e846d154d7d118c8d5dd163aa
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Dec 6 08:09:22 2004 +0000
+
+ sync with glut/glx
+
+commit ddfd2067aeb20a58cf668efce5fd9e745f546ac4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Dec 5 18:03:21 2004 +0000
+
+ report bugs at freedesktop.org
+
+commit 86cbfc2fac1a447cbb55847460376d9f68fbfc8b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Dec 5 18:02:01 2004 +0000
+
+ direct bug reports to freedesktop.org
+
+commit 74764061facb8f518c3ac7ebdb844bcd27a36ee0
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Dec 3 20:31:59 2004 +0000
+
+ Move common GLX code to glX_XML.py. This will make adding glX_proto_recv.py
+ easier later on.
+
+commit 47719fda0c2fba13c81e84e33523d5489263182e
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Dec 3 20:24:50 2004 +0000
+
+ Fix a minor bug in glXEnumFunction::PrintUsingTable. Add some comments.
+ Add the (currently unused) utility funciton glXFunction::opcode_real_value.
+
+commit cbc527cd17f587242944158319e32187458e1651
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 3 18:12:08 2004 +0000
+
+ mask color indexes against palette size, per the spec
+
+commit 0fdb7ef8779adf6ae07c73bb0559651846fbe8c6
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Fri Dec 3 18:09:40 2004 +0000
+
+ only enable GL_MESA_ycbcr_texture for real r200 chips, not the derivatives, since yuv textures do not work for some reason on the other chips.
+
+commit de7b071b5534fc423a056abd521de8bf9120f89e
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Fri Dec 3 17:26:41 2004 +0000
+
+ enable GL_EXT_stencil_wrap (patch from idr), including some hacks for original radeons which have some broken stencil ops.
+
+commit 25b67e64049c291bd4e845c076d450653ba45f8d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 3 15:58:07 2004 +0000
+
+ Use the GL datatypes. Lots of assorted clean-ups.
+
+commit 404055216d22167365ac0522268a1f12e971d9e3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 3 15:39:58 2004 +0000
+
+ silence warning
+
+commit 2d846b712c44ebcf7bedce43bb58765c7493d89e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 3 15:39:08 2004 +0000
+
+ re-disable TRACE
+
+commit a760ccf6d8a1f94d505b4c211ff4c30bc1d325a8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 3 15:24:34 2004 +0000
+
+ silence a variety of warnings found with g++ 3.4.2
+
+commit 025aa9efcd8213ce530818cfd8be1b6d9e945b2c
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Dec 2 14:50:13 2004 +0000
+
+ silence warnings
+
+commit 869428505332df2468ff954539f211fdec12f2e7
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Dec 2 13:32:55 2004 +0000
+
+ reverse some debug that slipped through
+
+commit 22ae633d1ea636e0e07ba044a0f8fa2195c83bc6
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Dec 2 13:29:40 2004 +0000
+
+ Fix some warnings
+
+commit ba807fbe2914cf1135297428f7a3163707203073
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Dec 2 00:01:12 2004 +0000
+
+ Updated the schema. Added comments explaining some of the non-obvious
+ attributes. Modified a couple handcode functions to use the count_scale
+ attribute instead.
+
+commit 00d153eb726b6869ad9aa6a099c5ce31013d5535
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Dec 1 23:53:43 2004 +0000
+
+ Corrected a problem with the sizes of the MAP[12]_* enums.
+
+commit 5ee2f9aed427c28ebab992ff5f97e278e60ab1c6
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Dec 1 21:25:52 2004 +0000
+
+ Added a couple missing always_array annotations and a couple trival
+ enum-only extensions.
+
+commit 596ccff6990adbda4f99dd4b717826b051a0e79e
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Dec 1 20:20:13 2004 +0000
+
+ Prevent possible divide-by-zero error.
+
+commit 77e297c368be479d08822ea8bd186d7d7f5ea423
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Dec 1 09:41:14 2004 +0000
+
+ Refactor ExtractDir and OpenDriver to be a bit more clear.
+
+commit 9bba1cfc39d35b847c479dcc1afef3d5d8fb0bfc
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Dec 1 09:11:04 2004 +0000
+
+ Use indirect_size.c and indirect_size.h generated by using
+ src/mesa/glapi/glX_proto_send.py with the '-m size_c' and '-m size_h'
+ options.
+
+commit b53df18624a1b3870c1dcfe3981c07c089efe262
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Dec 1 09:06:34 2004 +0000
+
+ Slightly tweak the format of the size prototypes.
+
+commit 548435215dc43ff4940c74f0082f48f897080ccf
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Dec 1 08:49:41 2004 +0000
+
+ Use the indirect_init.c generate by using src/mesa/glapi/glX_proto_send.py
+ with the '-m init_c' option.
+
+commit 4f4854a4af069f7b2369a2d497c65e837b7cd046
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Dec 1 08:47:35 2004 +0000
+
+ Make the transition to script-genereated GLX code easier.
+
+ Convert GL 1.4 function names to EXT_blend_func_separate names.
+
+commit 529381ff750774a67d7f17de89e554123c221c86
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Dec 1 08:42:31 2004 +0000
+
+ Make the transition to script-genereated GLX code easier.
+
+ Convert GL 1.4 / ARB_point_parameter function names to EXT_point_parameter /
+ NV_point_sprite names.
+
+commit e9789cf07186e710ee212effb2c25be96f7cbff2
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Dec 1 08:35:37 2004 +0000
+
+ Python script to generate various bits of client-side GLX protocol code.
+
+commit 6b89a8363b4934e4b5bbad10f84bbe7e38f22f9b
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Dec 1 08:31:15 2004 +0000
+
+ Make the transition to script-genereated GLX code easier.
+
+ Move "handcoded" ARB_window_pos / MESA_window_pos functions to their own
+ file. Modify the ARB_window_pos functions to use the MESA_window_pos names.
+
+commit bb427b10b156225f1f79fed01930e1e2d3b2093f
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Dec 1 08:22:44 2004 +0000
+
+ Make the transition to script-genereated GLX code easier.
+
+ Move "handcoded" ARB_transpose_matrix functions to their own file. From
+ here on out, such handcoded functions should go in a file named
+ indirect_FOO.c, where "FOO" is some logical name for the functionality
+ (e.g., part of the extension name, etc.).
+
+commit c8c24d049d8d359894130aa7bcdf2319ef4e09df
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Dec 1 08:15:01 2004 +0000
+
+ Make the transition to script-genereated GLX code easier.
+
+ Move EXT_vertex_array wrapper functions from indirect_init.c to vertarr.c.
+ Fix problems with EXT_multi_draw_arrays function names.
+
+commit 345ed3ac8c5a26b8d99c21cf467d05da7e8edfc8
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Dec 1 08:02:50 2004 +0000
+
+ Make the transition to script-genereated GLX code easier.
+
+ Eliminate the need for indirect_wrap.h and NEED_GL_FUNCS_WRAPPED.
+ Basically, this means prepending __indirect_ to all the definitions and
+ calls of GL functions that don't already have it.
+
+commit 249a5552f122c1ae7b58d1a5f693607d04c22e05
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Dec 1 07:34:25 2004 +0000
+
+ Make the transition to script-genereated GLX code easier.
+
+ Convert GL_ARB_texture_compression related functions to use the extension
+ version of the names instead of the GL 1.3 versions.
+
+commit 4f0a75e7241ca1545b67ccabe007b94c8cf9b429
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Dec 1 00:29:48 2004 +0000
+
+ Added the ability to get the size of a parameter as a string. Changed the
+ meaning of "variable length array" to include variables that are "counted"
+ instead of just ones that use an enum to map to a count. Added glParameter
+ to the glItemFactory.
+
+commit 9001d673094b884e91a65389699b104a715f8203
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Dec 1 00:25:46 2004 +0000
+
+ Added enums for GL_OES_read_format.
+
+commit fc43857cc936a7c6bd003f9c2136145cb8184f97
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Dec 1 00:20:22 2004 +0000
+
+ Add trivial support ARB_texture_rectangle and OES_read_format.
+
+commit 05f4a2b92db19c319d10220f1e93734af86f415d
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Dec 1 00:18:01 2004 +0000
+
+ Missed GL_OES_read_format_bit in last commit.
+
+commit f1f18cd1b899fd614e788942e6474050944490b3
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Nov 30 23:29:51 2004 +0000
+
+ Since we know the problem with HP_occlusion_test is / was on the server-side,
+ re-enable the extension on the client-side.
+
+commit 6106502fdfaef6a9fe08c17b7a0d29f396dc9d9d
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Nov 30 23:27:33 2004 +0000
+
+ PrioritizeTextures, GetClipPlane, and WindowPos3fMESA don't need to be
+ handcoded, but Enable and Disable do. Corrected some minor problems in the
+ PixelMap functions and some ARB_vertex_program functions. Added size data
+ for the enums that can be passed to the Map[12][fd] functions. Added the
+ enums for EXT_pixel_buffer_objects.
+
+commit 4f144b6087081db334ff87da90631ec893bfa51d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Nov 30 19:15:06 2004 +0000
+
+ EXT_422_pixels test
+
+commit bf4c23d00fd2cc96336745430ceec89dbeacaead
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 29 17:31:03 2004 +0000
+
+ no need to include stddef.h anymore
+
+commit dc991a2085f2115d4f2faa35fc1b8939306ce8ba
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 29 17:30:21 2004 +0000
+
+ silence a warning
+
+commit 55656a53d4286eb49106e1fcc80dd2fe9432caf0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 29 17:26:19 2004 +0000
+
+ added __glXFindDRIScreen to glXGetProcAddress (bug 1068879)
+
+commit 0d5e6ccfd6f1358e5a515ab5f149cd3b05cb7d66
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 29 17:23:12 2004 +0000
+
+ fixed OSF/1 shared lib problem (bug 1065260)
+
+commit e25c7c2ad51787fcfaba7f23242eca7fe7d94487
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 29 14:41:46 2004 +0000
+
+ update from Jouk
+
+commit 9cf65c5a5b2cccf180b5850c7a7346c4ca339932
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Nov 28 18:07:33 2004 +0000
+
+ fix missing width/height error
+
+commit 65a66f5bc37383c00423c21baf8ba9d6771e0259
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 27 22:47:59 2004 +0000
+
+ Remove _mesa_ResizeBuffersMESA() call from _mesa_set_viewport().
+ Now, the driver's Viewport routine should call _mesa_ResizeBuffersMESA()
+ if necessary.
+ Cleaned up code related to GLframebuffer width/height initialization.
+ Set initial viewport/scissor params in _mesa_make_current2(), instead of
+ in the drivers' MakeCurrent functions.
+
+commit 118a8bad73bda88fc54f802b2beeb687c8ddb45a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 27 22:44:35 2004 +0000
+
+ new comments and assertions
+
+commit 29926a11b16ec7a235947d95e9a46777605dd30e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 27 21:20:37 2004 +0000
+
+ Remove the redundant width, height fields in xmesa_buffer struct. Just use
+ the values in the contained GLframebuffer.
+ Removed some other unneeded code.
+
+commit b371e50d6d249a455e0952f7a66760dbc6ac6f5a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 27 20:21:25 2004 +0000
+
+ remove _glapi_add_entrypoint() calls, they're already in context.c
+
+commit de43484c73a4e5b5b229afc3736fecbf794dc878
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 27 20:14:03 2004 +0000
+
+ add a few functions in add_newer_entrypoints()
+
+commit b5b8d22c4ee921dff99b898a5907023b20670a27
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 27 20:07:08 2004 +0000
+
+ Change the dispatch offsets for the VertexAttrib*NV functions so they don't
+ alias with the corresponding ARB functions.
+ GL_ARB_vertex_shader (and OpenGL 2.0's) VertexAttrib functions don't alias
+ with conventional vertex attributes, as GL_NV_vertex_program does.
+ So, the ARB and NV version of VertexAttrib need to be distinct.
+
+commit 0699b0bb171ffba453222154c4b2c047a30a2a8b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 27 19:57:46 2004 +0000
+
+ silence warnings
+
+commit 6bca16b8773fdd7fbf004a00b1e673d7adf1fd3b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 27 19:42:16 2004 +0000
+
+ misc updates
+
+commit 91d09a9ffad4ed838d7604ca39d301844c17812f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 27 17:32:03 2004 +0000
+
+ Set symbol visibility to 'default', if supported by gcc.
+
+commit 819b5195346c2f3661d5c6643feb6622a112c8ab
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 27 17:30:41 2004 +0000
+
+ use new PUBLIC macro for symbol export
+
+commit 3903c1f2bcd96cd115eae0ed0f42e492684237ec
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 27 16:57:06 2004 +0000
+
+ don't need glut_fbc.c
+
+commit 1d97c277e0cb2b75559d495a58222f2511212a66
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 27 16:49:52 2004 +0000
+
+ new GetOverlayInfo() function to reduce code and silence warnings
+
+commit 4d880987d248ff078845027cc21ba437564ac07d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 27 16:24:39 2004 +0000
+
+ Have OSMesaGetProcAddress() return new OSMESAproc typedef.
+
+commit 21f6978c532eae50d9daefd481b5ab936225fd27
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 27 05:05:32 2004 +0000
+
+ clean up code related to dispatch table initialization
+
+commit 13435525c4899265a19662ce78c158ae0698abb6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 27 04:58:39 2004 +0000
+
+ clean up 'depend' commands
+
+commit 2dd5b9edaa8238c4f50f6191b3e50ba59db5ad47
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 27 04:54:48 2004 +0000
+
+ typedef GLUTproc, return it from glutGetProcAddress()
+
+commit 59fcd54f29e77c245674a91bd3f8fb253fd526dc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 27 04:50:34 2004 +0000
+
+ remove -Wmissing-prototypes from g++ flags, per gcc 3.4
+
+commit 11a0a99d1b0bccc45b484cd24eeaf97cda0e8d86
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 27 04:37:25 2004 +0000
+
+ use @ to silence some unneeded output
+
+commit 209bd3a5b41c2bc4fa6ec4667e6acbbb32101d98
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 27 04:02:32 2004 +0000
+
+ make get_static_proc_address() return a _glapi_proc
+
+commit 7ee79c80ea19a7df6069265fc3656f0b29e78d7a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 27 03:51:25 2004 +0000
+
+ use _glapi_proc
+
+commit 767e15a78afdb2042cc5eb693afb5791c046c995
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 27 03:51:11 2004 +0000
+
+ Use new _glapi_proc typedef instead of void * for function pointers.
+ Misc clean-ups in glapi.c
+
+commit 1136412013d76a5cc197a10fcab99da03c642378
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 27 03:47:14 2004 +0000
+
+ fix typo, update version/date
+
+commit 911a8bc62cb274b3264bc85ad65f3c8ad03796d9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 27 03:29:39 2004 +0000
+
+ remove the GLAPI/GLAPIENTRY defines - they're already in gl.h
+
+commit 39c86eac9bc4215c617f57e7fa0761a1a5068c64
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 27 03:21:43 2004 +0000
+
+ removed a bunch of #define cruft, in case anyone still uses this code
+
+commit 568f7578d3789f58d52394d9d42a818b85d9a196
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 27 03:14:57 2004 +0000
+
+ Removed GLCALLBACK stuff - apparently never used anywhere.
+ Removed GLWINAPI stuff - only used (unnecessarily?) in enums.c
+
+commit d2c1027d40d744e043742d5f2ef957feb1dc0edc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 26 16:23:22 2004 +0000
+
+ added X11 and OSMESA source to ALL_SOURCES, updated etags command
+
+commit 4fe34f340c15199a7bf209743f677b79cfad240d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 26 13:43:17 2004 +0000
+
+ (GLint*) casts in glGetIntegerv calls
+
+commit 59651a076dfc6ca16e4141907954e8aacfd946df
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 26 13:34:45 2004 +0000
+
+ update some type names
+
+commit c5f9aa7750633e2989a6a139c283419d536ee3f7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 25 23:26:16 2004 +0000
+
+ Use a generic function typedef instead of void * to avoid gcc 3.4 warnings.
+
+commit be2de8b299c9fc7bdc22372ed799e894a8582c62
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 25 23:25:33 2004 +0000
+
+ Use __GLXextFuncPtr type instead of void * for generic functions to
+ avoid gcc 3.4 compiler warnings.
+ Remove the unused/obsolete GLX_render_texture stuff.
+
+commit 4dafbc3dc75be565704f437016f70a63c48d1539
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 25 23:23:40 2004 +0000
+
+ Some new comments, clean-up formatting, etc.
+
+commit 936028f8b0db83595fda77ed4b9f30452cdf9c8b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 25 23:22:56 2004 +0000
+
+ Started some assorted clean-ups in #defines, typedefs, etc.
+ Next: move all the Windows/WGL stuff into the drivers/windows/ directory.
+
+commit b653aaede5abf39f91f9d1152bb411572950184f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 25 23:20:07 2004 +0000
+
+ minor APIENTRY clean-ups
+
+commit 7a293a996224aa4fcb20bee70609f863a534d0de
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Nov 25 14:05:05 2004 +0000
+
+ Update expected DRM version to 2.0.0
+
+commit 6dbb8ead0ff4ea788d92e0c5f49d6996e96e3527
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Nov 24 18:55:45 2004 +0000
+
+ Added support for several additional enum-only extensions:
+ ARB_texture_rectangle, EXT_texture_env_dot3, EXT_texture_mirror_clamp,
+ ATI_texture_mirror_once, IBM_texture_mirrored_repeat,
+ NV_packed_depth_stencil, and NV_texture_rectangle.
+
+commit e0a1cd31126c9b74e3126e81f629a13f22f65b49
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Nov 24 18:13:43 2004 +0000
+
+ Added information about numerous enums to aid the development of automatic
+ code generation for GLX protocol. This includes adding support for several
+ additional enum-only extensions: EXT_filter_anisotropic, NV_expand_normal
+ NV_fog_distance, NV_texture_env_combine4, SGIS_generate_mipmap,
+ SGIX_clipmap, SGIX_depth_texture, SGIX_fog_offset, SGIX_shadow,
+ SGIX_shadow_ambient, SGIX_texture_coordinate_clamp, SGIX_texture_lod_bias,
+ and SGIX_texture_scale_bias.
+
+commit 6b6c96bdeb580052cb9fa3831f1cd574f0e85728
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 23 23:29:42 2004 +0000
+
+ update _mesa_store_teximageXd() comments and minor code clean-up
+
+commit ba6274126180368cf108b3afff2dbb0a0b34e8b5
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Tue Nov 23 18:49:18 2004 +0000
+
+ revert enabling of hw quads for swtcl. It lead to problems with quad_strips, since they'll get reduced to quads sometimes if hw quads are enabled. But this needs more thought, since it looks like clipped primitives will always be emitted as polys, so the reduced primitives for triangles, quads, quads_strips, polys all need to be the same, otherwise get lockups with for instance the olympic test. Render templates would probably need to be changed for this to work.
+
+commit 180b0db3440833b58303990b9095318f56c11b75
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Nov 23 00:19:51 2004 +0000
+
+ Set the "ignore" flag for any functions that the open-source libGL doesn't
+ already support GLX protocol for.
+
+commit a789252feb41e82e753ba5976311e25b10ad375c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 22 20:01:25 2004 +0000
+
+ Don't allow queries/etc of buffer object 0 - it's invisible to users.
+ Misc clean-ups.
+
+commit ebe8d3152d864b9f4a0501c868c54e472c9d67a4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 22 19:58:59 2004 +0000
+
+ added GL_RED/GREEN/BLUE to is_color_format()
+
+commit d0a82a652ddf0a8621e3e9c8be1e47e643e7af7a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 22 19:39:16 2004 +0000
+
+ silence warning, minor clean-up
+
+commit c247c7f66f7d38bb35cedb84b1a2c3655c356ac1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 22 19:27:40 2004 +0000
+
+ applied SPARC patch (freedesktop bug 1898)
+
+commit 263317d00a4b3c4ee083cd74470c38083038e1ee
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 22 19:11:01 2004 +0000
+
+ include <X11/Xthreads.h> instead of "Xthreads.h"
+
+commit 65b79057b96e621de1bbd7b9c81cdbcee6bfa5b1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 22 17:49:15 2004 +0000
+
+ misc updates
+
+commit f76be3d6f2b054e5316aeb7b265ed28bda28c8ae
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Nov 22 08:46:53 2004 +0000
+
+ handle ENABLE_BIT for EXT_stencil_two_side
+
+commit 4b4e7a982a4bdd7b8c69dfde93241b089ad8d217
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 15 16:54:14 2004 +0000
+
+ fix APP_LIB_DEPS (bug 1065260)
+
+commit ad919c30df71bc191be6f107385638b456da6a0f
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Mon Nov 15 15:31:32 2004 +0000
+
+ Sync with Xorg head: mingw build fixes from Alexander Gottwald.
+
+commit c0be56e5e8b0f42110b86eb5e9b888ed8ff3534b
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Nov 15 10:54:57 2004 +0000
+
+ moved windoze specific code outside drivers/glide/
+
+commit 4ffc5fa7a58519853a7578838f5574b65e9f39a3
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Nov 15 08:06:55 2004 +0000
+
+ work around a bug in gcc 3.3.3 (which duplicates ASM block)
+
+commit fdd74136b32e27c9193748176be1e2b87fae4075
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Nov 15 08:05:59 2004 +0000
+
+ fix _mesa_image_address2d invocation
+
+commit 37918cf3d9b75fe924d05e2c8c80216c3f2c6944
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Nov 15 08:04:33 2004 +0000
+
+ use float constants
+
+commit fd9b30750a0690a1fd13fcddb9141cdcaa61b117
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Nov 15 08:03:22 2004 +0000
+
+ use parentheses to avoid warning
+
+commit 16e6f057725982731d38fda05effb1baaca96f0a
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Nov 15 08:02:24 2004 +0000
+
+ the win32 interface will be moving under windows/
+
+commit 05cb9468f37dab7a829ba5b798e486a4a4e0437f
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Nov 15 08:01:20 2004 +0000
+
+ emphasize on the contents of Glide SDK
+
+commit e6cd5d675ffb8d50347f15d574463489e7be2470
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Fri Nov 12 18:34:35 2004 +0000
+
+ enable hw quad primitive for swtcl
+
+commit ce055c26f08556a46ee8b4b88e5fd15eb4d2acd1
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Fri Nov 12 18:29:51 2004 +0000
+
+ add LOCK_HARDWARE/UNLOCK_HARDWARE to radeonClear so state gets updated which hopefully fixes lockups (?) (from r200 driver)
+
+commit 8e3926575264d31b3caacb9cbb606f8f2914f57d
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Fri Nov 12 18:27:14 2004 +0000
+
+ (from r200 driver) If an application cleared before any state had been emitted, that clear would
+ happen before any state had been set, causing a hang later on. Fix this by
+ calling radeonFlush instead of FIREVERTICES (which checks if any state has been
+ emitted but not flushed, before calling Flush) in radeonClear. While here, add
+ some more debugging info which was useful, and remove an unnecessary
+ save/restore in BackUpAndEmit.
+
+commit 6cf002c0c2b4025492281840fb24eb2764eccc6f
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Fri Nov 12 18:00:44 2004 +0000
+
+ fix quads to use GL_QUADS instead of GL_TRIANGLES as primitive
+
+commit 8d88f826b9988b19f473b13a7cbe0c2e0389b3d0
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Fri Nov 12 15:00:30 2004 +0000
+
+ small note regarding SSE under pure DOS
+
+commit 0676fc357a12879531e6509354ecc7447c99d148
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Fri Nov 12 14:58:26 2004 +0000
+
+ added a few sanity checks
+ made coding style a bit more consistent
+
+commit 885f10706a096037eea815803dbf4b4d28c3bd27
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Fri Nov 12 10:23:10 2004 +0000
+
+ added DD_TRI_TWOSTENCIL to ease EXT_stencil_two_side in device drivers
+
+commit f37383c1c6a9cf83c556f2131fab1adef0efc17e
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Fri Nov 12 10:11:04 2004 +0000
+
+ wip hack for EXT_stencil_two_side
+
+commit 79a98dea915463803ee13768ee0cacf9b547d963
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Fri Nov 12 09:56:33 2004 +0000
+
+ pop(stencil) for EXT_stencil_two_side
+
+commit a2c2393d9185030bded93311880a770aa62f931d
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Fri Nov 12 04:20:15 2004 +0000
+
+ brown paper bag, r100 can't do hardware quads.
+
+commit 4d17d00bfc8ad5cb331e2fca235df60d84310b32
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Fri Nov 12 04:13:27 2004 +0000
+
+ make render_quads_verts call EMIT_PRIM with the arguments in the right order,
+ and enable hardware quads on r200 and radeon. samples/prim renders quads
+ correctly now.
+
+commit b271ce8eda2fe3c349f03d7c7774f58672cf2cc4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 10 23:16:22 2004 +0000
+
+ allow specifying image file on command line
+
+commit 60909388ab136d849d99eab49e782a53772a618f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 10 15:46:52 2004 +0000
+
+ GL_(UN)PACK_SKIP_IMAGES should only be applied to 3D texture pack/unpacking
+ and ignored for 1D and 2D images.
+ Need to pass in image dimensions (1,2,3) to the _mesa_image_address() function.
+ This change gets propogated to some other routines.
+ Also added new _mesa_image_address[123]d() convenience functions.
+
+commit f00d7edd746e4d1eec2d497419f21fb3b04f8bd4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 10 15:25:37 2004 +0000
+
+ added shaderobjects.c
+
+commit de08b0d7ed8af9d56bf8f82762095de3fe094c95
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Wed Nov 10 01:49:01 2004 +0000
+
+ add some chip ids
+
+commit b12594d2a0bbe22da092b6b08917259b9f5871b7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 9 01:20:57 2004 +0000
+
+ do clipping prior to XGetImage, just in case the image would extend beyond the screen's bounds
+
+commit 2a10ad16a65696163e91e46452845f3d4a60f7ad
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 9 01:10:36 2004 +0000
+
+ use the new _mesa_clip_readpixels() routine
+
+commit e677da9e54e836609f94a3aaca27d68a0bacbb96
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 9 01:08:04 2004 +0000
+
+ added a comment and assertion in _mesa_clip_drawpixels() for PixelZoom
+
+commit c55c963f4c3ec6101241501de0f759520b985853
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 9 01:04:50 2004 +0000
+
+ Removed _swrast_clip_pixelrect(). Use _mesa_clip_drawpixels() instead.
+
+commit 4084e3c215d4db6370422fc718217bade7445618
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 9 01:03:49 2004 +0000
+
+ added _mesa_clip_drawpixels() and _mesa_clip_readpixels()
+
+commit 4f28c9c35a27c6171073b4045f173a6deeceb604
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 9 00:55:13 2004 +0000
+
+ don't use ctx->Pack, use the function argument
+
+commit 83889ffd970a807074d834849677fd233c031dc7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 8 15:08:48 2004 +0000
+
+ Remove need for defining _MSC_VER when building Mesa for windows with
+ a non MS C compiler (MinGW). (Gregor Anich)
+
+commit 5849e3d353d956643dd40a3d5f53c31e79ae8cf0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 5 18:32:02 2004 +0000
+
+ shorter error messages when calling a GL function without a bound context (FDO bug 1775)
+
+commit cb7f212f934fcc21f2985b24a87833bb24b224ac
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Nov 4 22:32:41 2004 +0000
+
+ Add EXT_stencil_wrap test that doesn't depend on stencil read-back
+ functioning.
+
+commit 473fe6d6bfe039c27f0f1751dbdb9d49fe83ecb0
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Wed Nov 3 18:55:31 2004 +0000
+
+ constify a few arrays.
+
+commit 5dd18e95d9aba8cc444a511808a1df15ca7a037a
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Wed Nov 3 18:55:20 2004 +0000
+
+ static char * -> static char []
+
+commit d294f79190a5b25ef0fbbbf3ac94b15c9402d009
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Wed Nov 3 17:29:39 2004 +0000
+
+ enable GL_EXT_fog_coord. Calculate fog factors and submit them instead of fog coords (it seems the chip cannot do fog factor computation when not using fragment depth as fog coord source). vtxfmt uses fallback for now (most code present but some magic would be needed if replaying vertices is necessary later on).
+
+commit bdd53efe8302e85fd1be4ceda0aa576e0119b14e
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Nov 2 18:25:45 2004 +0000
+
+ Added MMX optimized version of the RGB565 ReadRGBASpan routine.
+
+commit 2302cc1a25f7ab55b7e7d6647175308cd64ab7f1
+Author: Nicolai Haehnle <prefect_@gmx.net>
+Date: Tue Nov 2 13:06:45 2004 +0000
+
+ No visible changes, but commit the groundwork for further experiments:
+ - Install custom (though inactive) pipeline
+ - Track depth test and culling state in hardware registers
+
+commit b187341e63f417c191b5d13be6b76cbd63555802
+Author: Nicolai Haehnle <prefect_@gmx.net>
+Date: Tue Nov 2 13:05:40 2004 +0000
+
+ Add culling registers, sync versions of r300_reg.h
+
+commit b17a1a1826fb25707ab1d2b4c739a31a0ac3f6a4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 1 22:28:42 2004 +0000
+
+ merge the AIX and AIX64 cases
+
+commit cc78e40172589a2154f9f74c5ff4461b93db14fd
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Nov 1 20:27:43 2004 +0000
+
+ Nicolai's sw-clipspan-fixes.patch
+
+commit 3d2b4bfa95c6a1d8c481f0ee2a18585c4d0627da
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Nov 1 09:06:17 2004 +0000
+
+ cleaned up the mess a bit
+
+commit 95e2a8099ba162b17479b0425e3f3bfdf9f22c29
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Nov 1 08:49:55 2004 +0000
+
+ small aesthetic correction
+
+commit e14119f143c42621f96754c0e086c627f4731191
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Nov 1 08:40:03 2004 +0000
+
+ updated "clean" target in makefiles
+
+commit 63a2f2a9774d21aa1983b9c8b5b2c7532d5d4a3c
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Nov 1 08:38:12 2004 +0000
+
+ protected against old djgpp distros
+
+commit 3c17d73c87ca2dc49487a9ab26c0d654e404b782
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Nov 1 07:40:53 2004 +0000
+
+ fixed compilation error
+
+commit 051cf9df6a729fcac37e054fd0632521e990c3ae
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 1 01:00:16 2004 +0000
+
+ fix convolution regression from revision 1.48 to 1.49
+
+commit a6c21a2af15fa768c5a0df14cee6f62521f98a85
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 31 18:55:00 2004 +0000
+
+ don't advertise GL_ARB_vertex/fragment_shader until they're done
+
+commit a196565e04d1aa82b71c2ba3fb67be518b22f908
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 31 18:54:10 2004 +0000
+
+ added a cast to ADD_POINTERS macro
+
+commit aea02adc7b06de3aa962cef4f78913f8c4721946
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 31 18:44:24 2004 +0000
+
+ remove PBO work from to-do list
+
+commit 753476c162bc37b8ea2f0fde6fc4f79e07c1dad8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 31 18:43:46 2004 +0000
+
+ finished up PBO support
+
+commit effb720882c94fc92fd5ad80ba2966e2101d77f1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 31 18:41:38 2004 +0000
+
+ indentation fix
+
+commit 450e917c9d71f696bca2ba11960a521e64385ec2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 31 18:40:55 2004 +0000
+
+ Use the _mesa_scale_and_bias_rgba() function in the convolution functions.
+ Minor clean-ups.
+
+commit 331cc1dcba8705116288e487f43f460852c2159f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 31 18:31:07 2004 +0000
+
+ PBO support for gl[Get]PixelMap functions
+
+commit 66f3231322c8c1c398cc95617813da5b4aa6bddc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 31 17:56:28 2004 +0000
+
+ PBO support for glColorTable, glColorSubTable, glGetColorTable, etc.
+
+commit bd3b40ad75d50483aaa99ad2d08a3dd8f20cdb42
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 31 17:36:23 2004 +0000
+
+ PBO support for glConvolutionFilter1D/2D, glGetConvolutionFilter, etc.
+
+commit d56928f10dee6a60f0df83391564550ec9d44b80
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 31 17:04:07 2004 +0000
+
+ updated for PBOs
+
+commit b6f97582dd0327eee1bdbef38d5e96d83d88b86f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 31 16:52:48 2004 +0000
+
+ glPolygonStipple() and glGetPolygonStipple() updated for PBOs.
+
+commit 1c868139226c07b1537e1951ad237bc070585161
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 31 16:35:06 2004 +0000
+
+ PBO support for glGetCompressedTexImage().
+
+commit b46712ca9d379d9c091f5543500088d82cf9776c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 31 16:24:32 2004 +0000
+
+ glGetTexImage() now works with PBOs.
+
+commit c0ebc4931a003b7b14e92c3b537b6ba76259507c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 31 16:18:07 2004 +0000
+
+ Map/Unmap PBO as needed so that the texstore routines can work with
+ hardware-based PBOs in the future.
+
+commit ba164c4614288f1642fc8e2f83d2895991b22d70
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 31 15:49:59 2004 +0000
+
+ Removed _swrast_validate_pbo_access().
+ In x11 driver, map/unmap PBO as needed in DrawPixels functions.
+
+commit 355467bed8cf34cf5967c7be3c5f1b87ff08f845
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 31 15:39:04 2004 +0000
+
+ Allow the software fallback glDrawPixels, glReadPixels, glBitmap commands to
+ work with real, hardware-based PBOs in the future by mapping/unmapping the
+ PBO buffer as needed.
+
+commit c6136ea62c40e24bb571105a73eca1f5b1e95318
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 31 15:27:12 2004 +0000
+
+ unbind GL_PIXEL_UNPACK_BUFFER_EXT before calling glBitmap!
+
+commit 7eab337d9c85105ee18a4b5b3ba7b070d5857840
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 31 15:23:42 2004 +0000
+
+ use _mesa_unmap_buffer by default
+
+commit 2daa4137b658569da542180442fc32ebc5608102
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 31 00:17:42 2004 +0000
+
+ Remove redundant error checking.
+ Added _mesa_buffer_unmap().
+ Minor clean-ups.
+
+commit 9ae96a5ce833ab3a65979ca9bedba06687d59c44
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 29 19:31:52 2004 +0000
+
+ remove debug code
+
+commit 7520e259950f7ed356f9737e68d4514e7eec8f06
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 29 19:12:08 2004 +0000
+
+ Updated getprocaddress test to use gl_API.xml instead of old APIspec file.
+
+commit efb8b3e251aa07029a2b001dc637d28f3a52a649
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Fri Oct 29 17:09:40 2004 +0000
+
+ slang syntax conforming spec rev. 1.10.59
+
+commit b0996b19f0af063da5a563778acd3119cde7ce09
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Fri Oct 29 13:35:56 2004 +0000
+
+ make sure we don't generate random alpha
+
+commit 03501e7a29138e030b43746dcc71781b9652a113
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Fri Oct 29 13:25:44 2004 +0000
+
+ decoder "width" parameter represents "stride-in-pixels"
+
+commit 7faf519233aaea368f0e5ea28fe35ff011ca9f15
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 29 04:00:50 2004 +0000
+
+ VertexAttrib3svNV was incorrect
+
+commit 0b8acd90b3442d405962240d0e45b31b2d6dd597
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Fri Oct 29 00:10:43 2004 +0000
+
+ libGL needs libXxf86vm.a.
+
+commit 4e120c97187b28b98a78f42d7c278784663afa23
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 28 22:18:52 2004 +0000
+
+ obsolete
+
+commit 98fa2bf3641633bbde6a8f037c242bc3cd5ec0d9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 28 21:11:02 2004 +0000
+
+ minor clean-ups, found with pychecker
+
+commit fa557e904d02c4869cd1d57f2f09437c3585c7d2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 28 21:03:19 2004 +0000
+
+ name parameter to glGetActiveAttribARB() should not be const.
+ Added shaderobjects.c to sources file.
+
+commit af7a8076509600f644497629a36ef6f34284a165
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Thu Oct 28 11:14:02 2004 +0000
+
+ renumber ARB_shader_objects and ARB_vertex_shader offsets
+ to get BlendEquation have offset 710
+ fix param name lack with GetInfoLogARB
+
+commit cc182213c81a4bfa094ac4cb06b65fa2b074b1e9
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Thu Oct 28 00:19:21 2004 +0000
+
+ Add FreeBSD DRI build targets. Doesn't build at the moment, due to the same
+ problems as Linux.
+
+commit 948f2720f754450b048ba6f7a60b842bbf8e633a
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Thu Oct 28 00:18:02 2004 +0000
+
+ Use the generic __amd64__, instead of __AMD64__ which has to be defined by hand.
+
+commit 51c026b2650fc7df063ddfcfb3133498a6574bd4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 27 23:01:47 2004 +0000
+
+ updated PLIB URL
+
+commit 3291de6d06ea4d51f3aeef2936c726064b9648ab
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Wed Oct 27 17:50:09 2004 +0000
+
+ Bug #1713: Some rare libGL's have __glXFindDRIScreen defined but do not
+ export it via glXGetProcAddress. These are not supported anymore, so print
+ an error message to that effect.
+
+commit b28031d57e27c37e47e244157cd59409cd51c269
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Oct 27 17:36:23 2004 +0000
+
+ remove unused entries
+
+commit 80d468c1c976d9e3c00edcf82e56f42e168c8b9a
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Oct 27 17:34:27 2004 +0000
+
+ fill api entries for ARB_shader_objects and ARB_vertex_shader
+
+commit 678ea6cd5cb68d22668c93bf4ed830226ef26b0c
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Oct 27 17:27:57 2004 +0000
+
+ add entries for extensions ARB_shader_objects, ARB_fragment_shader and
+ ARB_vertex_shader
+
+commit 2f11cbd15bed4422d96b3c6809f7bb13c670d043
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Oct 27 17:16:06 2004 +0000
+
+ add FEATURE flags for ARB_shader_objects, ARB_vertex_shader and
+ ARB_fragment_shader
+
+commit c1fe4698704b098df77ebe6bf3ea04d822d77f69
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Oct 27 17:09:10 2004 +0000
+
+ by karoshi - ARB_shader_objects implementation
+ empty routines by now
+
+commit ed2c18c08c54119aecda603458710cdfc73b8ea7
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Oct 27 16:57:04 2004 +0000
+
+ by karoshi - header file for ARB_shader_objects implementation
+
+commit 26bf36ce49b1766e763a84b23861c6f22f63f37a
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Oct 27 16:46:26 2004 +0000
+
+ add support for ARB_shader_objects and ARB_vertex_shader
+
+commit beb95542736c70e3a3db1be6cfeef1fbe0f6ed7b
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Oct 27 16:39:09 2004 +0000
+
+ add support for ARB_shader_objects and ARB_vertex_shader
+
+commit a97bc422d6e46a85bd6bab0230adf7fb8c6aa4a0
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Oct 27 16:37:24 2004 +0000
+
+ assign api offsets for ARB_shader_objects and ARB_vertex_shader
+
+commit 71eb0a7fd6d2efeff68b1d85c729511c41213261
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Oct 27 15:40:46 2004 +0000
+
+ regenerate with correct script
+
+commit b7293dc2b7396470c274eefdbbe66cca250882b3
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Oct 27 15:34:31 2004 +0000
+
+ regenerate with correct script
+
+commit ec3ad666965aabf2b2464dd9918e902fe77ee222
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Oct 27 15:29:05 2004 +0000
+
+ fix DrawBufferARB entry
+
+commit 1c0f9d71bdcf68338fb559d4add18cf6ec79e247
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Oct 27 15:27:08 2004 +0000
+
+ fix DrawBuffersARB entry
+
+commit 455c8177adbd0c003cd4a284d1032ec4a0c84481
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Oct 27 15:20:08 2004 +0000
+
+ the file was empty!
+
+commit b15fd4ba766b6a8451fafc6dbf32a362f0cace9a
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Oct 27 15:06:18 2004 +0000
+
+ by karoshi - add support for ARB_shader objects and ARB_vertex_shader
+
+commit 95ba3524970f9f63aa518d6c3dd4e702c4941861
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Oct 26 19:20:40 2004 +0000
+
+ As per suggestions my Michel Daenzer, improve the fix for bugzilla #1513.
+
+commit 640492aec90b955820a762ce7724ebf681f924a8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 26 17:29:59 2004 +0000
+
+ added an attention-getting comment for developers who get stopped in _mesa_test_os_sse_support() while debugging
+
+commit 208313164362411fcaace01db22b13dba3fe79f0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 26 14:36:32 2004 +0000
+
+ added stereo option (Jacek Rosik)
+
+commit 1cda832fd90c79d8a5bb81a2a141c207e68aa74b
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Mon Oct 25 22:19:43 2004 +0000
+
+ remove a -Werror from testing.
+
+commit 61702d4afe7ed141dc7a3f39f1933c810cde922e
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Mon Oct 25 21:23:08 2004 +0000
+
+ Add glx/x11 to the DRI configs, and change the Solo configs to build glx/mini.
+
+commit 312c68fab3c179c6173bd25aae07be09d299ce20
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Mon Oct 25 21:20:29 2004 +0000
+
+ Add DRI_LIB_DEPS for the DRI drivers to link against. Remove expat from the
+ link list for libGL itself under DRI configurations, since the XML parsing
+ code is in the drivers themselves.
+
+commit 7badefa6c4918b5c3198a4cd798556c9f52adde6
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Mon Oct 25 21:18:52 2004 +0000
+
+ Bug #1679: Link DRI drivers against DRI_LIB_DEPS, not GL_LIB_DEPS.
+
+commit cb3610e37c4c0a40520441b8515d044dabcc8854
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Mon Oct 25 21:09:16 2004 +0000
+
+ Import the GLX client side library, formerly from xc/lib/GL/glx. Build it
+ by adding 'glx/x11' to SRC_DIRS in your build config.
+
+commit bcd8735546f3842f917f2cdc4ff530e4215f01a1
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Mon Oct 25 20:52:11 2004 +0000
+
+ Import sarea.h from Xorg, needed for client GLX code.
+
+commit 5a9fd2afc67ce526c5255505c2e35fb3a9495112
+Author: Nicolai Haehnle <prefect_@gmx.net>
+Date: Sun Oct 24 06:17:20 2004 +0000
+
+ Implement ColorMask
+
+commit d586540eaf43a61e53a0c0e4b087d2757f0f4ca5
+Author: Nicolai Haehnle <prefect_@gmx.net>
+Date: Sun Oct 24 05:52:10 2004 +0000
+
+ Hardware accelerated depth clear
+
+commit 94987beb2c9e87d9c55db5cb7c089dc77f78df94
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Sun Oct 24 02:05:40 2004 +0000
+
+ Bug #1682: Mesa core code that gets linked into DRI drivers should never call
+ through the GL API directly, but should instead use the GL_CALL macro.
+
+commit 07553c58fd068a0e1b43e564fba1baffa6ea222d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 23 18:55:48 2004 +0000
+
+ wrap angle value (Philipp Klaus Krause)
+
+commit e57b6d5a4fee3f2540ebf6fff0702583bdc8e6d2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 23 16:58:32 2004 +0000
+
+ addes osdemo32 target (J.P. Delport)
+
+commit 0aa0343fb00eb1058e07d8c17bda77d73be1d71a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 23 16:57:44 2004 +0000
+
+ minor fixes from J.P. Delport
+
+commit 74b00800862e917673a0bf06eace2c5266b531ac
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Sat Oct 23 00:42:17 2004 +0000
+
+ Big-endian fixes for R200 sw TCL path.
+
+commit cb499595aa157254a88b431aee82927e604cf227
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Fri Oct 22 12:42:37 2004 +0000
+
+ - add decimal literal integer support
+ - fix bug with c-style comment closing - sequences
+ like /***/ were not correctly parsed
+
+commit c69ceaf8ebfe0f8f2c1d085e05d5974fe8b9b295
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Thu Oct 21 14:11:06 2004 +0000
+
+ forgot about revision increment
+
+commit b80bc055bc94b8b13fad68705e497be8bd2bff71
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Thu Oct 21 14:09:54 2004 +0000
+
+ - use new program option values from arbprogram.syn
+ - remove redundant check of parsed program target
+ - remove redundant check of relative addressing range
+ - use faster grammar interface
+
+commit ed60e19d8a5ad0d22e3164ebfe8b056a352106d4
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Thu Oct 21 14:06:18 2004 +0000
+
+ remove redundant check of parsed program target
+
+commit 718ba9773bf570b9f5e2cf2a98a6ccf4980da537
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Thu Oct 21 13:57:24 2004 +0000
+
+ change program options numbering to accommodate future
+ options (up to 256)
+
+commit cbef98c2eae6f4ec3874a226af65f25c5b8526e2
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Oct 20 15:19:58 2004 +0000
+
+ add new grammar_check_fast entry for faster parsing
+
+commit 904ef741de76b41825d9f18153e3535a89390d5b
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Oct 20 14:54:17 2004 +0000
+
+ - speed up syntax parsing - the parser is now 4 times faster
+ note: to use it you must use grammar_check_fast entry
+ - allow decimal format for literal integers in .syn files
+ - raise am error if syntax has duplicate or unreferenced
+ symbols
+ - do some little clean-up with linked-list stuff
+ - make macro APPEND_CHARACTER a function
+ - fix minor typos and bugs
+
+commit a7855e835dc5e806a232a50ee7f2bea0ceb7dc9b
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Wed Oct 20 11:59:28 2004 +0000
+
+ fixed compilation errors
+
+commit 05517d02be557d49b3ce043a4b2c179320e42412
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue Oct 19 06:35:01 2004 +0000
+
+ fix compilation error in `convertPalette' (still have to fix the issue, though)
+
+commit f404ff7b76d70a495d4246851127125a194a1adf
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Oct 18 23:24:51 2004 +0000
+
+ Small optimization for big-endian (e.g., PowerPC) systems.
+
+commit f459b9f9c0ac4f0634028a7edb6275bb1201a055
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Mon Oct 18 12:18:33 2004 +0000
+
+ conform to shader spec 1.10.59
+
+commit cfb62331bc9cd229eea6aa6b96339c570456495d
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Mon Oct 18 09:49:25 2004 +0000
+
+ conform to language version 1.10 rev 59
+ resolve TODOs
+
+commit a0720cf1046621734540138618768d6c123b7946
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Oct 18 08:17:17 2004 +0000
+
+ print an error message in convertPalette before dying.
+ this is NOT a fix, but it'll have to wait a little...
+
+commit c99a99b3bc4595162f8a8927b8d2d53c78edc1a0
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Oct 18 08:07:26 2004 +0000
+
+ small fix to match new _mesa_rescale_teximage2d
+
+commit 1cfe1e8925f8e1b89df5330895255a038be7f122
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Oct 18 08:04:21 2004 +0000
+
+ changed _mesa_rescale_teximage2d to allow rescaling of padded images
+
+commit 8cd728f43639f0f0a1f9ad22ea00821b0ccd2b80
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Oct 18 07:54:09 2004 +0000
+
+ added dstRowStride to dxtCompressTexFuncExt;
+ good for subimages, padded images and such.
+ NB: intentionally, this is the last parameter, to avoid
+ breaking the current API! adding a new parameter
+ is not harmful, at worst it will be ignored, since all
+ platforms use a CDECL calling convention.
+
+commit 13ec04c480a9b681f35b191d93e5aa00ded70b54
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Oct 18 07:49:26 2004 +0000
+
+ use RowStride instead of Width in texel fetchers.
+ changed some pointers to be (char *) instead of (long)
+
+commit b430a1ae226308c04dab2a62b5e9127dfed25b2c
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Oct 18 00:00:41 2004 +0000
+
+ Fix compile errors when DEBUG is defined.
+
+commit 48da4a4a86fb17d972c4aa536a18988a3cdc51c1
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Sun Oct 17 21:54:41 2004 +0000
+
+ Fix t_vertex byte-ordering issues for PowerPC. This was tested with gears
+ and tunnel (for fog).
+
+commit 40e852271b1a2f6a41e335c2089e683b24afe57c
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Sun Oct 17 21:53:43 2004 +0000
+
+ Add ARGB modes to support big-endian systems.
+
+commit add38812f0b878e083419027fa451eaa24893867
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Sun Oct 17 21:29:58 2004 +0000
+
+ Fix hangs on big-endian (e.g., PowerPC) hardware.
+
+commit ff42a00402deab3034163c2b76c2082cce39d901
+Author: Nicolai Haehnle <prefect_@gmx.net>
+Date: Sun Oct 17 20:26:06 2004 +0000
+
+ - FIX: flickering
+ - Scissor support works now
+
+commit 158a251a6b8ffa02387c767a00dc960b49098022
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 16 15:10:45 2004 +0000
+
+ added initial support for -exports option, Linux/OpenBSD only for now
+
+commit 901d9b9a92480ee9965558cf27f309c7e186ba08
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 16 15:04:43 2004 +0000
+
+ GL_OES_read_format info
+
+commit c4987427684260ead76116830784d23195e4bda0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 16 15:02:16 2004 +0000
+
+ if CXX or CC env vars aren't set, use g++, gcc by default (Linux)
+
+commit 3152b1586cfdb06df204c5291db7b0f3850d8cb9
+Author: Ville Syrjala <syrjala@freedesktop.org>
+Date: Sat Oct 16 11:26:06 2004 +0000
+
+ Removed two unnecessary variables.
+
+commit 63e9a968ffabb0d7adcfd39aeb2f019b943ebb59
+Author: Ville Syrjala <syrjala@freedesktop.org>
+Date: Sat Oct 16 11:09:26 2004 +0000
+
+ Fixed off by one errors in clipping.
+
+commit b1ebd306bf4fdc4076d3d3daa410b08f477cb4c4
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Sat Oct 16 03:36:14 2004 +0000
+
+ Add code to support projective texturing and fix mixed enabling of texture
+ coordinate generation. Original code by Roland Schiedegger, with changes by
+ myself. While here, ensure that the swtcl path does tnl_install_attrs enough
+ when fog/specular are being (en/dis)abled.
+
+ Notable effects:
+ - projtex test works with TCL and is closer with swtcl (Bugzilla #1461)
+ - 8/9 squares work in texgenmix instead of 3.
+ - texcyl "reflect" mode works (GL_SPHERE_MAP is now a fallback -- unclear if the
+ hardware can actually support it).
+ - flickering in doom3 replaced by just plain darkness.
+ - blocktube fixed (Bugzilla #984)
+ - fixes stex3d
+
+commit a1af92877d3d91886cf01be9e6c65311960e3baf
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Sat Oct 16 01:58:02 2004 +0000
+
+ Always turn on the TAM_DEBUG3=0x6 workaround on real r200s. It appears that
+ the current cases for turning it on were insufficient (Bugzilla #1519, 729, 814)
+ and it has no significant performance impact. Performance tested with quake3
+ in GL_LINEAR mode both with and without anisotropy, with the workaround always
+ on or always off.
+
+commit 33899b7c351fda77bed6dee5e5d02e31c2f7e0e5
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Sat Oct 16 01:16:54 2004 +0000
+
+ Add support for OES_read_format. As soon as glext.h is updated with the
+ enums for this extension, the changes to gl.h can be removed.
+
+commit 83c74b72792928b5a5ac540eeef65fca3145ddb6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 16 00:29:03 2004 +0000
+
+ fix if/else bug in _mesa_ProgramEnvParameter4fARB (fdo bug 1645)
+
+commit 1aa37f97c484dbe62bfd8b27ed6d9b0c744a2b35
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Sat Oct 16 00:03:27 2004 +0000
+
+ Only build the MMX/SSE/SSE2 versions for ReadRGBASpan when the pixel format
+ matches what they optimized versions actually expect.
+
+commit 12b53f207919bd02506bd3b337ab501ee2c8092b
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Oct 15 23:46:53 2004 +0000
+
+ Fixed a few places that should have been using GET_SRC_PTR.
+
+commit ea6786b453dfd5d1acf0dffcbe845c70d69debdc
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Oct 15 23:00:52 2004 +0000
+
+ Convert MGA driver to use new spantmp2.h interface.
+
+commit 5696710f96f9517d24958208fb90a5a72d145a26
+Author: Nicolai Haehnle <prefect_@gmx.net>
+Date: Fri Oct 15 20:52:47 2004 +0000
+
+ Huge dumb drop. State:
+ - Color buffer clear is accelerated, but flickers (possibly caused by a
+ recent DDX or Mesa change or bad merge)
+ - Everything else uses software fallback rendering
+ - There should be no clipping-related artifacts with the
+ sw-clipspan-fixes.patch against Mesa (posted on dri-devel)
+ - Multiple clients should be rock solid with a DDX patch that is soon to
+ come (soon = within the next hour or so)
+
+commit 06487945186f546094b78cc7021a2bc1e695c17b
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Oct 14 00:59:12 2004 +0000
+
+ Add support for optimized versions of the code underlying ReadPixels
+ (and DrawPixels). The R200, R128, and Unichrome drivers get support
+ in this commit. Other drivers would be easy enough to add for people
+ that have the cards.
+
+ The DRI (CVS) build will need to be updated to account for the new
+ source files.
+
+commit dc45ee7a4b07603646a0b0f502f74941a4b73f3d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Oct 13 23:16:02 2004 +0000
+
+ Add a license to this file. It was written on VA's watch, so they get
+ the honours.
+
+commit 07bd4c585ccd01b47d6462385a710f0c7a0486b2
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Oct 13 22:38:31 2004 +0000
+
+ Added some documentation that I managed to figure out through
+ experimentation.
+
+commit 82f2e80f14240aae25b23744264c6ebc5af00536
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Oct 13 22:36:26 2004 +0000
+
+ Make the GL_RENDERER string include the actual chipset information
+ instead of always saying "CLE266".
+
+commit 447cdd536fe4539b724e8a7024659e3f4cd724d1
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Oct 13 19:56:15 2004 +0000
+
+ Initial support for PowerPC specific code in Mesa and DRI drivers. DRI
+ drivers built on PowerPC systems should now show things like "PowerPC" or
+ "PowerPC/Altivec" in the GL_RENDERER string.
+
+ The VMX moniker is used for Altivec/Velocity Engine/VMX SIMD additions. I
+ chose this not because I work for IBM but because it's a LOT shorter to
+ type. :)
+
+commit b72ed81818e63a70c1ded2789b9e22ee4c516aae
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Oct 13 19:23:26 2004 +0000
+
+ Refactor the code in driGetRendererString a bit to make it easier to
+ add support for features of non-x86 CPU types.
+
+commit f599716b93433f423cd2e1be34ec0114a9861d3c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 13 17:29:46 2004 +0000
+
+ updated fsv URL
+
+commit 81f67fc4e9621f08f46c8219f5ab5dc5c329b146
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Oct 13 17:29:33 2004 +0000
+
+ Eliminate the funky SSE exception test from DRI builds. It's not need
+ (see the comment in the code), and it's just annoying.
+
+commit 612d5f6e84865e9ba2ac97bd2e263e279caeed41
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 13 15:57:55 2004 +0000
+
+ initial 6.3 changes
+
+commit dfe508ca7af1a6d1099cd65e257512ed1e17d893
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 13 15:54:48 2004 +0000
+
+ Fix minor fog / fragment program state bug.
+ Don't add diffuse and specular colors when using fragment program.
+
+commit 886df0926fe6b3d8f82cff62747abfdb95540aa0
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Wed Oct 13 14:33:49 2004 +0000
+
+ Bug #1588: abort if no palette format matches. (Egbert Eich, Stefan Dirsch)
+
+commit f58c61ddb5cf62c96ad0a5d536d636f1e0ccda06
+Author: Philippe Houdoin <phoudoin@freedesktop.org>
+Date: Wed Oct 13 01:23:32 2004 +0000
+
+ Let's build again after the support for GL_ARB_draw_buffers was added.
+
+commit d334067193271f366b54836e8f50c7d145a7dee0
+Author: Philippe Houdoin <phoudoin@freedesktop.org>
+Date: Wed Oct 13 01:17:52 2004 +0000
+
+ Fix a potential memory leak.
+
+commit fd7f62a50899ee385d5f2158941ab90cec7f9645
+Author: Philippe Houdoin <phoudoin@freedesktop.org>
+Date: Wed Oct 13 00:35:55 2004 +0000
+
+ Forgot a contributor.
+ Update build requirements since we can build with BeOS vanilla gcc *and*
+ more recent gcc 2.95.3 versions (recommended for best performance).
+
+commit ac855a66886520aa2e8e1488f960eb621b126cf6
+Author: Philippe Houdoin <phoudoin@freedesktop.org>
+Date: Wed Oct 13 00:29:21 2004 +0000
+
+ Implement BGLView::CopyPixelsIn/Out().
+ BGLView::ErrorCallback() is now actually called on error!
+ Plus usual minor changes.
+
+commit 701c289ff351386240763dc92ba43cc2f2e73ac5
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue Oct 12 07:33:03 2004 +0000
+
+ support for external libraries
+
+commit 3c9faa448ccef15a514a5580fe76838822dd2a9e
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue Oct 12 07:32:11 2004 +0000
+
+ SWTC trick (disabled for now)
+
+commit 2bff8bd8de1cdb0398a4c6f4519c5716c90343ab
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue Oct 12 07:31:26 2004 +0000
+
+ SWTC trick, enabled new extensions
+
+commit 92e1d5fd34491814c48310e4e6d5207c434dcc3f
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue Oct 12 06:44:34 2004 +0000
+
+ SWTC trick
+
+commit 65a9ca33816773f4edcd1c88bf7bf139eb440f4c
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue Oct 12 06:43:57 2004 +0000
+
+ bump version numbers to their real values
+
+commit f5e7629685e30c6c5e6c7bb3bb8ebc330f91e053
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue Oct 12 06:43:00 2004 +0000
+
+ doc update
+
+commit 189f7e31d652064e5c8a4b492206b180c6d99020
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue Oct 12 06:42:02 2004 +0000
+
+ avoid the patch if Mesa_DXTn flag is set
+
+commit 76908ab9d46a46c08815162971395176dfc7780a
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue Oct 12 06:41:20 2004 +0000
+
+ add more mess to the dynamic linking system
+
+commit 3d322f6c5ee8a504ea9c554696da4807e37ecdc0
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue Oct 12 06:37:18 2004 +0000
+
+ add newline to end of file
+
+commit def29a3f870b1f857152fa633b2721782a36a125
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Mon Oct 11 22:26:40 2004 +0000
+
+ Fix strange white space that gcc didn't like.
+
+commit ab2c0bed5a0d1b7e55826390a5f98e840edb0463
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Mon Oct 11 15:06:02 2004 +0000
+
+ Prefix operator and constructor keywords with two consequtive underscores
+ ( __ ). This will be more compatible with glslang spec.
+
+commit ad22ce8143c86cc3d61ba64022b1a8b638d386c1
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Mon Oct 11 08:13:25 2004 +0000
+
+ Enable draw_buffers only if GL_ARB_draw_buffers string is
+ present in GL_EXTENSIONS string.
+ Parse OPTION ARB_draw_buffers.
+
+commit 739823d25075a5676e566f4af14e114bd4b99069
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Sat Oct 9 23:29:07 2004 +0000
+
+ This statechange is vtx state, not tcl.
+
+commit 57f1b25caf9c3ef6c274bff18785901cb9ec8b3b
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Fri Oct 8 23:24:04 2004 +0000
+
+ Use the right FALLBACK macro for projtex so that projective textures actually
+ cause a fallback, and simplify the tmu handling a little.
+
+commit ea6f4f6079de8f35b6e3d597525d958bcedc7bad
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Fri Oct 8 23:03:38 2004 +0000
+
+ Add fallback debugging (R128_DEBUG=fall) output, and set DO_DEBUG=1 by default
+ so that we can use the env var to get output. Add a no_rast driconf option to
+ force software fallbacks.
+
+commit b4d269f35f0f0e0c87793a319a77f571a54a5a47
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Fri Oct 8 22:21:09 2004 +0000
+
+ Don't compile WriteMonoDepthSpan if HAVE_HW_DEPTH_SPANS is defined -- it won't
+ be used in that case, and it wanting WRITE_DEPTH was making r128 die on
+ the undefined symbol.
+
+commit f6cdaa9c81611f03f6e1eb2e4a5920b858f1673f
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Fri Oct 8 21:37:08 2004 +0000
+
+ Add support for NV_blend_square, and print errors if an unsupported blend
+ function is used.
+
+commit 3eccddb746b797b4674d147839956116d8b40ae7
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Oct 8 01:15:52 2004 +0000
+
+ Massively cleaned up the code that calculates front/back/depth buffer
+ pitch and size. Cut out a bunch of dead code.
+
+ This fixes bugzilla #1555.
+
+commit a2dc424acfe83f3c66d3509f5a1efc24ce884367
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Oct 8 01:03:10 2004 +0000
+
+ Reject unsupported texture formats passed to glCompressedTexImage?D. This
+ fixes Mesa bug #1028405.
+
+commit af0a4690db6d7f30ecc87b72d447856cd8c0a929
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Oct 8 00:56:08 2004 +0000
+
+ Add simple test program for Mesa bug #1028405.
+
+commit cb1642a75cc5fd795d43d15f79118162d922f429
+Author: Alex Deucher <agd5f@yahoo.com>
+Date: Fri Oct 8 00:31:51 2004 +0000
+
+ Apply Eric's stencil wrap patch (Eric Anholt)
+
+commit d09209f5530e8bba78e4e0ec62b2027c588cc8f3
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Thu Oct 7 23:30:29 2004 +0000
+
+ Add Roland Scheidegger's S3TC patch. This patch does not implement the
+ (patented) S3TC/DXTC algorithms, but adds an option to dlopen a library module
+ providing functions to do so. Because it uses dlopen, it is only enabled if
+ USE_EXTERNAL_DXTN_LIB=1 is defined (which is only in linux-dri config, so far).
+ It adds support for S3TC to several DRI drivers, and adds a DRI config option to
+ force enabling S3TC even if the software compression/decompression is
+ unavailable. This may allow people to use apps that require S3TC even though
+ they don't have a license to implement the patented material themselves, if
+ those apps use precompressed textures.
+
+ Ideally we would get permission from the current holder of the patents to
+ implement the algorithm in Mesa, at which point the dlopen mess could go away.
+ Until then, this allows some to run applications they couldn't otherwise, and
+ hopefully will provide us with more push to get the final step of getting that
+ permission done.
+
+commit 554e5a2eaf4b681b5c43b6aeb66f100a66da4a42
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Oct 7 16:39:20 2004 +0000
+
+ Prevent Y-offset from exceeding valid range in texture upload code. This
+ fixes bugzilla #960.
+
+commit 1695cfe991984356ffd4c8971c2ae3212ad227ed
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Thu Oct 7 10:07:35 2004 +0000
+
+ Fix emitting fog without secondary color and vice-versa.
+
+commit 89353febc0fdb1db6ff14633da604a59eee3913a
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Wed Oct 6 21:45:48 2004 +0000
+
+ *** empty log message ***
+
+commit fb170c8bd71e649807a9e86e7290c973bc34b206
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 6 15:56:38 2004 +0000
+
+ more GL_ARB_draw_buffers updates from Michale Krol
+
+commit 0b89f7a93a234491b4fa967450de500c4e29e789
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 6 15:52:43 2004 +0000
+
+ fix GetVertexAttrib problem
+
+commit be50caa52c6dd87f5b4e430d67265adca7584126
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Oct 6 02:02:53 2004 +0000
+
+ Convert tdfxDDInitExtensions to use driInitExtensions.
+
+commit e9be96d39e5f6e31f7c8e6048bd41a69a69c1ac7
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue Oct 5 08:43:22 2004 +0000
+
+ put Rush in the list of supported HW
+
+commit 0efa4a8f966d9f306e9402c0eb7bf9d4dea2a194
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue Oct 5 08:42:10 2004 +0000
+
+ stencil wrap works, either HW or SW (Ian Romanick)
+
+commit cb932046a8241279436d78754b067d6590aceb4f
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue Oct 5 08:39:32 2004 +0000
+
+ enable 2_0 extensions
+
+commit 617add69cade28c21b80b0c4f7cd55cf3afa72e2
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Oct 4 22:58:39 2004 +0000
+
+ Use the driFillInModes utility function.
+
+commit ee3b7e390a8d4f20b4571254b93193bca72c3332
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Oct 4 22:23:29 2004 +0000
+
+ Also export fbconfigs with 0/0 depth/stencil modes. This fixes "driver
+ claims not to support visual 0xXX" warnings in X.org 6.8.1.
+
+commit b82333db3e88b86e36c090a5b20b20d021b54b89
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Oct 4 17:17:49 2004 +0000
+
+ Add some Savage3D stencil documentation based on discussions during the
+ 20-Sep-2004 #dri-devel meeting.
+
+commit ddfec59bcdf84f26b7be206bf8c7fca9b8426cca
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 4 14:47:48 2004 +0000
+
+ make clean should remove depend.bak too (Sérgio Moneiro Basto)
+
+commit be76b7fe1e09ae52204f6225331355414c05f91d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 4 14:40:05 2004 +0000
+
+ ARB_fp support for GL_ARB_draw_buffers (Karl Rasche)
+
+commit 00fb3a054a7499a9db6f87088356bee5c4e8f135
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Oct 4 03:19:01 2004 +0000
+
+ Set MaxTextureImageUnits and MaxTextureCoordUnits to match MaxTextureUnits.
+ This fixes bugzilla #1511.
+
+commit 5e243bd57e4c53206a986d67a2bd05450e7fc238
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Oct 4 02:54:49 2004 +0000
+
+ The alpha post-scale and the RGB post-scale were mistakenly reversed.
+
+commit e8250c6271c87c0dbe90214a86d5be7b3528c048
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Sun Oct 3 18:09:57 2004 +0000
+
+ Remove empty r128_vb.h.
+
+commit 58d84409a3cb11fe49cc8517bb2e1ce1302b8570
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 2 22:48:59 2004 +0000
+
+ put glapi_x86.S into the x86/ directory
+
+commit 788ff5b5c7eca4f9ca689a4224a2cf944ee60edc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 2 22:47:48 2004 +0000
+
+ remove unused413 stuff, glDrawBuffersARB uses that slot now
+
+commit feac4f6ba56d12c5d865b5a4b976f1939b557602
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 2 22:43:44 2004 +0000
+
+ GL_ARB_draw_buffers
+
+commit 3298ec4670378c69eda8c54ea81effe7bd327b51
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 2 22:38:43 2004 +0000
+
+ fix _DrawDestMask[0][0] typos
+
+commit 53f82c5aadbb15585754bfacf3237093eccdb2ce
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 2 16:39:09 2004 +0000
+
+ added support for GL_ARB_draw_buffers
+
+commit 289ffee2a017308a9a97689662293613dc62d9e9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 2 15:56:50 2004 +0000
+
+ fix indentation
+
+commit cbef8c47760425c6e77b57deec8ee52d096040ff
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 2 15:56:33 2004 +0000
+
+ fix a comment
+
+commit 83fb8c34fb1f5ea79b0300b763fb22fcf3174eb8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 2 15:43:26 2004 +0000
+
+ bump version to 6.3
+
+commit 9cef3efc299b7cafb5720782fc1ed5731f47d7ce
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 2 15:43:14 2004 +0000
+
+ initial stuff for 6.3
+
+commit 7e73b1afa2de1989251aee4ad2d609ff141f4a5e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 2 15:26:25 2004 +0000
+
+ a few more updates for the 6.2 release
+
+commit 9ca83924848070d02a5ac2f0aa4e20444eec2183
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 2 15:16:59 2004 +0000
+
+ fix LoadProgramNV regression when I had fixed the RefCount bug
+
+commit 07dead7a51f1c35f3b6185ffba2afc09e24f6cdb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 2 14:59:29 2004 +0000
+
+ added PBO known issues
+
+commit bdd3c2e44e284d6f648f037542e7e4b887ad093a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 2 14:56:17 2004 +0000
+
+ set 6.2 release date
+
+commit 599ea624a3b95f397d7837a0254c39c9bd0ab0ed
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Sat Oct 2 05:22:19 2004 +0000
+
+ If an application cleared before any state had been emitted, that clear would
+ happen before any state had been set, causing a hang later on. Fix this by
+ calling r200Flush instead of FIREVERTICES (which checks if any state has been
+ emitted but not flushed, before calling Flush) in r200Clear. While here, add
+ some more debugging info which was useful, and remove an unnecessary
+ save/restore in BackUpAndEmit.
+
+commit e5856a2960b6a65e1e5bb55d98a7e40498b5bf6d
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Sat Oct 2 01:33:46 2004 +0000
+
+ Convert Rage 128 over to t_vertex.c. While it's slightly slower (10% in ipers)
+ it's not that big of a deal in more normal apps, and axes a good bit of code.
+ And I assume that t_vertex will only get faster. Removes ~43k from compiled
+ binary.
+
+ Tested with: quake3, ut, ipers, texcyl, chromium, tuxracer, neverball (kinda)
+
+commit fc552c530fa663b47961b947be5600a061a0b116
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Sat Oct 2 01:28:38 2004 +0000
+
+ Add an option for vertices emitted to be swapped CPU_TO_LE32, to be used by the
+ r128 code.
+
+commit 5b73371e05e48d1b835579b8db81b12df203ce67
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Sat Oct 2 01:23:46 2004 +0000
+
+ Cut out all of the old texture environment code and rewrote it from
+ scratch. There were just too many cut-and-paste errors in the code,
+ and it was too hard to follow.
+
+ This fixes Mesa bugzilla #1508. #1509 is probably also fixed, but
+ I'd like to do some more testing before I close that particular bug.
+ Additionally, this cuts almost 4,600 lines of code from the driver.
+
+commit 7ff3c9e4fc46e8fe2efc7ce2fe53255777f7b858
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Oct 1 21:22:10 2004 +0000
+
+ minor updates and improvements
+
+commit 4c2fbb0538192c25a948f1fc2c900d10f033ef73
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Oct 1 20:55:23 2004 +0000
+
+ Add the glut project to the demos workspace.
+
+commit 030340973203d214fd0cb482c3be0952168ee1f2
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Oct 1 20:53:28 2004 +0000
+
+ Remove glut project from the Mesa workspace. This allows users to build
+ this entire workspace by only unzipping MesaLib.zip. The project will
+ be moved to the demos workspace, which is contained in the MesaDemos zip
+ file.
+
+commit 786eef2b1edea5c5c9081c3573c59ff042a708e6
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Oct 1 20:19:16 2004 +0000
+
+ Add HP shared lib configs.
+
+commit ba52e79b4e38249342d6be48177cd2180a016c8b
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Oct 1 20:18:42 2004 +0000
+
+ HP shared lib config
+
+commit bf4b63f8366c752e665caf96f9250364313a3638
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Oct 1 18:32:25 2004 +0000
+
+ Replace the numerous switch-statements to derive GL_COMBINE post-scale
+ state with a function. This function sets the bits correctly. Did some
+ trivial refactoring on some of the GL_COMBINE code.
+
+ First pass at replacing classic texture environments with GL_COMBINE.
+ This is controlled by the EXPERIMENTAL_COMBINE_MODE define.
+
+commit 5e2e9ef45c4982c7aea33daf46386b57ce614252
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Oct 1 16:29:39 2004 +0000
+
+ fix problems in previous version
+
+commit a16bdb5fb7032aa64d1f4bcb249164211a221560
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Oct 1 13:33:26 2004 +0000
+
+ Enable builds on AIX 64-bit
+
+commit 75672d2e94e351cb8a65069e20cbcc941e046a1a
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Fri Oct 1 04:34:01 2004 +0000
+
+ Fix mesa solo with doublebuffered apps, the drawable index/stamp weren't
+ being updated properly..
+
+commit 75e2f0698e6977989e0b4425dbd7b48d35b77450
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Sep 30 21:18:23 2004 +0000
+
+ Factored out code for setting texture coordinate wrap bits. Added support
+ for GL_ARB_texture_mirrored_repeat. Enabled GL_NV_blend_square. It has
+ always actually been supported. Removed redundant EXT versions of ARB
+ extension strings.
+
+commit ba467e86fe2a6f6e34221e5f3f718f9c708df1b4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 30 15:39:43 2004 +0000
+
+ set span.y prior to each span write in draw_depth_pixels, like Karl's other fix
+
+commit 6a2ca962db23f6affb4b93458211849db5a73044
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Thu Sep 30 00:40:21 2004 +0000
+
+ Bugzilla #1058: Fix some potential 64bit pointer issues by storing differences
+ between pointers in appropriate types.
+
+ Submitted by: Ronny V. Vindenes <s864@ii.uib.no>
+
+commit 7a086dc05e665a78f7e9d069aa4fc70e844b8988
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Thu Sep 30 00:08:05 2004 +0000
+
+ OK, one more time. Simplify the state-backup system by just storing the full
+ state in a ready-to-emit cmdbuf, which avoids the issue Nicolai Haehnle reported
+ where the check() could return differently during backup-and-emit than it should
+ have if it were called at the right time. Move the lit emission before most of
+ the TCL state emission on r200, which fixes neverball issues.
+
+ Tested with: r100/r200 with neverball, tuxracer, chromium, quake3, ipers
+
+commit fa569c0a73576d3cca7cd1d0363064be099a6a22
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Tue Sep 28 18:53:44 2004 +0000
+
+ Fix bug in glDrawPixels when writing color indexed images on color indexed
+ devices. In draw_index_pixels(), use the correct variables for the span Y
+ and span end values.
+
+commit f30d53e0498a558100a1b9d9651ff375a7b3c7b4
+Author: Nicolai Haehnle <prefect_@gmx.net>
+Date: Tue Sep 28 10:59:23 2004 +0000
+
+ Initial revision
+
+commit bbe364603c4ff74ecdc0adb9ccdfd43926c5ef33
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue Sep 28 06:44:46 2004 +0000
+
+ use GLuint instead of uint
+
+commit be91a0be5899a1c542096f545ccd78a43794d4ac
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 27 22:40:31 2004 +0000
+
+ version bump
+
+commit 4f1e3709de54c3a511d6eb0bb7670956fb8f8d2c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 27 22:40:22 2004 +0000
+
+ change include of glx_mangle.h to match other headers
+
+commit 44254d3accd6369e42bb7ce53c70ae4b69a7e598
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 27 22:38:47 2004 +0000
+
+ remove beos/*.h files from tarball list
+
+commit c7a24118e2d4c29a04e610b6c25a358d73998bc3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 27 22:38:25 2004 +0000
+
+ bump minor version to 2
+
+commit 293ad985103ceab90c126236af2f75617fce6b2b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 27 16:19:17 2004 +0000
+
+ VBO RefCount fix (David Reveman)
+
+commit e60c9311daeba49fcc221da82c29b35558ffc6ab
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Sep 27 07:23:20 2004 +0000
+
+ stencil wrap works, either HW or SW (Ian Romanick)
+
+commit 8018f7104b9f33f3574823a1ee5550b5065ff394
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Sat Sep 25 21:08:56 2004 +0000
+
+ Bump driver_date for today's fixes.
+
+commit 97ac8282f518210f640293e427b0e811801f7b9f
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Sat Sep 25 21:08:30 2004 +0000
+
+ Can't bail in sisDDLogicOpCode when logicop is off, because it's called with
+ GL_COPY to turn off logicop. Fixes glean's logicop test.
+
+commit 18c459c10b7906791b4bfc092cf43071bcdc9038
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Sat Sep 25 21:06:58 2004 +0000
+
+ Triangle stipple is a fallback, since we don't have code for the stippling.
+ Doesn't seem to help with glean's paths test, but I'm pretty sure it's correct.
+
+commit 5565d32b57e06a83a36fb5d43c4f09a3fe9bfbf8
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Sat Sep 25 19:43:30 2004 +0000
+
+ Correct a couple of comments.
+
+commit 7b363b0dd492e7222e8503e24f35c651de0a0bfc
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Sat Sep 25 19:01:18 2004 +0000
+
+ Fix SiS AGP vertex dispatch by not trying to emit 0 vertices, which would hang
+ the hardware. Re-enable AGP by default.
+
+commit d166f2bffdb9cd8ab22825a2901baa513c4bc1eb
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Sat Sep 25 16:56:58 2004 +0000
+
+ Add sis to the list of DRI drivers, since it had already been converted to the
+ new interface.
+
+commit 0a21a4aaf9c210dd03d489ce0764c45bf8e38c9d
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Sat Sep 25 07:11:12 2004 +0000
+
+ Refactor the linux-dri config files so that linux-dri-x86 inherits from
+ linux-dri. Turn on -O by default (-O2 provides a slight improvement in
+ performance, at a large cost to debuggability). Turn off -fPIC on x86 by
+ default. Turn on -Wall, to catch more stupid mistakes. This could be both done
+ cleaner, and done for more config files, but it works for me for now.
+
+commit 5562fe653cf88454bbf2c50f77a8b56b0dafe01b
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Sat Sep 25 07:00:15 2004 +0000
+
+ The previous code would emit a full set of state during the first EmitState on
+ a new cmdbuf, to ensure that state wasn't lost across UNLOCK/LOCK pairs (in the
+ case of context switching). This was rather inefficient. Instead, after
+ flushing a cmdbuf, mark the state as needing to be saved on unlock. Then, at
+ the beginning of flushing a cmdbuf, if we actually have lost the context, go
+ back and emit a new cmdbuf with the full set of state, before continuing with
+ the cmdbuf flush. Provides a 10-15% improvement in ipers performance in my
+ tests, along with other apps.
+
+ Tested with: ipers, glxgears, quake3
+
+commit 4010481ba3bce98d95a20e9a061fb62922bdcb83
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Sat Sep 25 06:12:40 2004 +0000
+
+ Fix texturing in quake3. Some code was left over from the dirty/clean list
+ setup that now removed atoms from the atomlist on texture deletion.
+
+commit b4e2e9c65a8c840031065812d3c16add9d61b98b
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Sat Sep 25 03:00:27 2004 +0000
+
+ Bump DRIVER_DATE for yesterday's changes.
+
+commit b45aaa232890299a933613d245ead722a525b54b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 24 23:01:21 2004 +0000
+
+ moved to demos/ directory
+
+commit 7d01c3480dbe4afd7b6e49f3890ea71abf7c435f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 24 23:00:52 2004 +0000
+
+ moved in from the tests/ directory to include in distro
+
+commit 58be9e6c37565582553886ec82cfa2d3cabb7887
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 24 20:31:02 2004 +0000
+
+ updated osmesa info
+
+commit 328a039413fd2b8649511f1ca130df2a59f2c71c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 24 14:30:13 2004 +0000
+
+ patches for clearing hw depth buffers from software fallback (Nicolai Haehnle)
+
+commit d9873c59ef4d14b5e3137cb2d7c765797f82ac56
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Fri Sep 24 07:03:53 2004 +0000
+
+ added (back!) option to use non-packedcolor
+
+commit 303c342d5353e7fb1b480da97ce505357eafe0c0
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Fri Sep 24 04:20:58 2004 +0000
+
+ -O -Wall warnings cleanups in r200.
+
+commit cddd5c99e526f0e8e550caffcbf87100957845b8
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Fri Sep 24 03:09:49 2004 +0000
+
+ Clean up some warnings in the R100 driver with -O -Wall.
+
+commit 106ab07acd3de9450ddbd675bf512707d96ba6a9
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Fri Sep 24 01:33:15 2004 +0000
+
+ Remove an unnecessary calculation of the dest pointer.
+
+commit 529e0a98d477e33f41f680926f8b9c745aebbe90
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 23 17:34:52 2004 +0000
+
+ don't test for NULL pixels pointer here, do that in the 'store' routines after validating PBO address
+
+commit 1fd4a55d09b6127bb4f0af5215d21e37be0e743e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 23 17:32:12 2004 +0000
+
+ removed hacked GL tokens, fixed a printf
+
+commit 7e0c5888eaf72483319533a805ce491e2ea7de92
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 23 17:31:21 2004 +0000
+
+ added a comment in BindTexture
+
+commit 7287bbf4fc7c52da2aa31cae897ed70deda645bb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 23 17:30:54 2004 +0000
+
+ just some comments and formatting changes
+
+commit a1f8ecf9627271110b11e04e3ff2dba37b4932be
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Thu Sep 23 08:24:03 2004 +0000
+
+ fix for Erics new emit state code, rework out the dest pointer
+ after we check the buffer
+
+commit 0c8f8d3dc9d60ed34eeca7f3606651420a81753c
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Wed Sep 22 06:27:02 2004 +0000
+
+ The previous code would emit a full set of state during the first EmitState on
+ a new cmdbuf, to ensure that state wasn't lost across UNLOCK/LOCK pairs (in the
+ case of context switching). This was rather inefficient. Instead, after
+ flushing a cmdbuf, mark the state as needing to be saved on UNLOCK. Then, at
+ the beginning of flushing a cmdbuf, if we actually have lost the context, go
+ back and emit a new cmdbuf with the full set of state, before continuing with
+ the cmdbuf flush. Also, remove the dirty/clean atom lists, since atoms are
+ emitted in a fixed order these days, and go with a simpler single list.
+
+ Provides a 14% improvement in ipers performance in my tests, along with other
+ apps.
+
+commit 029ee9c680cd097b82d3d301b3854d57993d4464
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Tue Sep 21 00:39:59 2004 +0000
+
+ Add xmlconfig to the i810 makefile
+
+commit e2b13e4af3a31da9097ec8a1bbbaaf897c52b8f3
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Sep 20 08:33:38 2004 +0000
+
+ clamp size of wide points
+
+commit c59270e2b82abe9bcb0af6a1593b81772f6306d3
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Sun Sep 19 08:03:46 2004 +0000
+
+ Add GL_ARB_texture_cube_map support for i830. Most of the code was
+ lifted from the i915 side. i830 will now report version 1.3! Hurrah!
+ With the exception of GL_EXT_texture_compression_s3tc, the i830 driver
+ now supports all the extensions that its Windows counterpart supports.
+
+commit b9bbe780313d584974307389a67ca94ad65de3c0
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Sun Sep 19 07:15:38 2004 +0000
+
+ Added GL_ARB_point_parameters support for i830.
+
+commit be3359bad5930a7aa27237d48aa67e6c7b11975b
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Sun Sep 19 07:01:26 2004 +0000
+
+ Merge in all the i830 functional differences from the old i830 driver.
+
+commit ffe52c64448a4a3cf10565d3b01591fa9f520c42
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Sep 17 22:02:05 2004 +0000
+
+ rearrange a couple of lines of code to avoid compilation error in VC 6,
+ probably due to a compiler bug.
+
+commit 6616146698834eb99d1413b6ca400bc47aa0d217
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Fri Sep 17 05:10:33 2004 +0000
+
+ Symbol names are prepended with an underscore on CYGWIN as well.
+
+ X.Org Bugzilla: 1079
+ Submitted by: Alexander Gottwald <ago@freedesktop.org>
+
+commit a511b70f44378368ebf0db5479b66a82dee2ca4f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 16 19:40:22 2004 +0000
+
+ silence warnings
+
+commit 37c0497d98fce307d5c5f996366f068c6d7d1551
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 16 19:39:04 2004 +0000
+
+ silence warnings, re-indent code
+
+commit 4ebf9590c39dde4bb67054f26763569363c37ba8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 16 19:33:44 2004 +0000
+
+ VBO refcount and spriteblast fixes
+
+commit 6fedd4e3bfb854f7de636f6ace2d19abb4a46fb5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 16 19:32:49 2004 +0000
+
+ clean-up the hokey transformation code so that window resizes actually work
+
+commit b18715fea310978683ba8eacdfcef6f746d0b2c4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 15 14:49:33 2004 +0000
+
+ replace glNormal3f(v) with GL_CALL(Normal3f)(v), etc (Andreas Stenglein
+
+commit d4aaa68979c96df01fbe7122a1dcd663ef83b441
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 15 14:40:14 2004 +0000
+
+ in _mesa_problem() include version number in error message
+
+commit 765f1a12c6256282fe175ec92a0d01b45e4322c7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 14 22:28:27 2004 +0000
+
+ also fix possible delete bugs with buffer objects and vertex/fragment programs
+
+commit 8de924dbb0447579fa455c94a1e410c69e5ce4b5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 14 20:43:22 2004 +0000
+
+ fixed glDeleteTextures bug
+
+commit 6917201ede05935c27e7db9fa1c6cded126a2bc6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 14 20:42:53 2004 +0000
+
+ Have the rendering contexts share textures.
+ Put simple checker pattern on the objects.
+ Press 'd' to delete texture, 'u' to unbind it.
+
+commit f18fc687071a71a6f821a779a83b435f80d55b64
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 14 20:40:55 2004 +0000
+
+ Repeatedly deleting a texture ID with glDeleteTextures() could lead to a crash.
+ Added a DeletePending flag to texture object struct to fix that.
+ Other misc clean-ups.
+
+commit d84f09306cc0413b7a8d9529769daf9d69b68c3d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 13 21:04:48 2004 +0000
+
+ Replace -lGL with -l$(GL_LIB), etc.
+ Remove GLU_LIB_DEPS, OSMESA_LIB_DEPS lines if identical to 'default' file.
+
+commit 86cdad1b2f7b233f44d78f819aa1359f76aca2f9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 13 19:59:06 2004 +0000
+
+ added GL_MAX_VERTEX_ATTRIBS_ARB bug fix
+
+commit c3912b66abb23ce2db00723a4cb79ac84ae4a086
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 13 19:58:27 2004 +0000
+
+ Handle GL_MAX_VERTEX_ATTRIBS_ARB in glGet*().
+ Define 2.0 point-sprite related tokens in glheader.h (temporary).
+
+commit 4ef9ad22ae07b861e7f7ec6448ed589b14ac15d8
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Sep 13 16:36:44 2004 +0000
+
+ Minor extension string tweaks. Added support for vertex program extensions.
+ Tested with arbvptorus, arbvpwarpmesh, vptorus, and vpwarpmesh.
+
+commit 051f6a5cb01c3dc8cb2225ab09757f8b360256dd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 13 14:55:07 2004 +0000
+
+ remove ARB_texture_non_power_of_two from _mesa_enable_1_5_extensions()
+
+commit 1fcac8b1c19d0603a9feac44306a86d811ea865a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 13 14:54:19 2004 +0000
+
+ adjust texcoords for texture rectangle sampling
+
+commit 114246eb86c3f0571d5596e01e2586f955ccfb24
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 13 14:53:02 2004 +0000
+
+ tweak texcoord for sampling texture rectangles (Dave Reveman)
+
+commit b66f674410dfb48c0da66374da99bfc3c3b13205
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Sep 13 09:31:28 2004 +0000
+
+ cleanup and bugfixes for fxDDClear()
+
+commit 802632e62d68896047a0ab14787589e4da0f383f
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Sep 13 09:29:30 2004 +0000
+
+ cleanup and some changes towards GL_ARB_point_sprite (two-zero)
+
+commit eabfd43ad402539f58bcb16bc736e71516bb9aba
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Sep 13 09:27:03 2004 +0000
+
+ cleanup
+
+commit a9ea1628da5f17274cd7ee023f438046dc992073
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Sep 13 08:47:01 2004 +0000
+
+ changes towards GL_ARB_point_sprite (two-zero)
+
+commit e54464e9d3035e3f785bcfaf924e947b522427d6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 10 22:13:18 2004 +0000
+
+ updated ggi files in tarball list
+
+commit 89ac4fc6bf745f7e2d9eb264f24b508317acb782
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 10 22:12:36 2004 +0000
+
+ applied patch #1026109
+
+commit 0479ce06d444871eb2e16cba2126bcf2591afaa9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 10 22:12:14 2004 +0000
+
+ updated from patch 1026109
+
+commit 5cc7111f72cbdc2d29b03ad9d9f76dba40f6c27f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 10 22:11:33 2004 +0000
+
+ new file (bug 1026109)
+
+commit 0a55db041da463b5cccd19b999db7bd6db3adbdf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 10 22:08:33 2004 +0000
+
+ removed (bug 1026109)
+
+commit a290fd6aa18fbbd91b7636c8f4f64f47330b759e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 10 19:20:56 2004 +0000
+
+ ggi updates
+
+commit 0cabfa68c37041028d634a7697daf6de9fc10c72
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 10 19:19:24 2004 +0000
+
+ assorted updates (bug #1025977)
+
+commit e14c225597c83994e62c58285cb4a03b5c007ef8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 10 16:42:40 2004 +0000
+
+ misc updates for 6.2 release
+
+commit 8a970af976ef1b0c37a7a6d5967b5ad698688c77
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 10 14:41:55 2004 +0000
+
+ updated error msg
+
+commit a9a155e574d114c3d7e9f081a1585573152919ce
+Author: Jose Fonseca <j_r_fonseca@yahoo.co.uk>
+Date: Fri Sep 10 11:47:51 2004 +0000
+
+ Use CSS in custom headers.
+
+commit 5c6ede20603491af9fd1ccac92cbf8a3737698fc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 10 01:07:05 2004 +0000
+
+ fix matrix classification and program parsing error state bugs
+
+commit 7f76b8ffd141f3cee89b3f751e0a6985b88fa049
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 10 01:05:39 2004 +0000
+
+ reset error state before parsing (David Reveman)
+
+commit 253204f9f0a1942a65e45d876f8d5f16d1a196a1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 10 00:45:12 2004 +0000
+
+ More updates for Doxygen.
+
+commit 7e5c452efbee3f4df406d3c702e25c1d02285971
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 10 00:44:09 2004 +0000
+
+ added glapi and shader modules, misc updates
+
+commit 375457bcef0b43c4b7a022b4fe74207dd1faf6dc
+Author: Jose Fonseca <j_r_fonseca@yahoo.co.uk>
+Date: Thu Sep 9 22:23:24 2004 +0000
+
+ Update the doxygen configuration file.
+ Minor updates/fixes to the source documentation.
+
+commit 2dab997cb9ddbe47ff414b74679fb99346bb9a06
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 9 19:58:03 2004 +0000
+
+ fix a bug in analyse_from_scratch() reported by Wes Bethel
+
+commit 7dc9a8827d7c248826adc5db0d1bf148d2e233f7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 9 19:57:26 2004 +0000
+
+ clean-ups and comments
+
+commit 281f8556291710a76d27440d04e7b5a96047bebc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 9 18:17:36 2004 +0000
+
+ initial bits for DRI_FILES for putting DRI driver sources into the tarball
+
+commit d86d1483ac7da934e935372722999164bfcf6ef7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 9 18:13:35 2004 +0000
+
+ Another attempt at fixing name mangling and gl__unused413().
+
+commit c18fe0c92b69e25a95f773875825f092caa43cc2
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Wed Sep 8 08:51:12 2004 +0000
+
+ updated patch for vertex program
+
+commit 0866b67fdb8503b38715da310ddf78dd15c92f8f
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Tue Sep 7 09:56:19 2004 +0000
+
+ This patch enables GL_ARB_vertex_program and GL_NV_vertex_program
+ support in the r200 driver. Both extensions can be enabled via
+ options, GL_ARB_vertex_program is on by default, GL_NV_vertex_program
+ off. Option descriptions are in german, english and french.
+
+ From: Philipp Klaus Krause
+
+commit e520b72e8901058729780620e3a98b4014f736f2
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Tue Sep 7 00:41:40 2004 +0000
+
+ Add a solo-x86 config, and make solo use the x86 glapi
+
+commit 58c4937e124138dd11bfd36e37d401ff73f5e7c4
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Fri Sep 3 06:32:18 2004 +0000
+
+ make sure the HW is clean before shooting the pipeline
+
+commit f3d960054eed561addcd48c08e88e4de6874e46a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Sep 2 07:33:41 2004 +0000
+
+ r200-maybe-flush-less-3.diff
+
+commit 72b395fbbae9e32793432917f20672e409a1ff87
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 1 04:36:29 2004 +0000
+
+ also test for __arm__ for setting USE_IEEE (X bug 1155)
+
+commit 535408addad103421f8cc82705385de754871963
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Aug 31 11:36:14 2004 +0000
+
+ The i915 driver was merged after EMIT_*_BGR bug was fixed. This brings
+ the driver into line with the correct meaning of those symbols
+ and fixes color corruptions.
+
+commit c372549036c8784e8e86d040f13685faa76f6d4d
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue Aug 31 06:34:51 2004 +0000
+
+ newer Glide3x snaps vertices internally for V1/VR/VB
+
+commit 2b0f589328c3b64dfc44ae6e3d12fc6ca20df4ad
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue Aug 31 06:32:34 2004 +0000
+
+ document MESA_FX_NOSNAP
+
+commit dbc4830d87499171ca38ae7328d498267ca4b62a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 30 20:53:49 2004 +0000
+
+ updated CFLAGS (Anich Gregor)
+
+commit 171614abbd3a6aee9aba8d49b1a9340d5608ba16
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Aug 30 09:10:34 2004 +0000
+
+ remove CR
+
+commit 367850dbfed810a58a8351d74290798f1082079e
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Aug 30 09:06:27 2004 +0000
+
+ cleanup
+
+commit 7a42f1562d74e631616e03aed20190a27c22859b
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Aug 30 09:05:01 2004 +0000
+
+ revived unused code, but got rid of warnings
+
+commit 5b2434c5d1fea37889d4e854041dee9ba236cbfc
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Aug 30 08:44:32 2004 +0000
+
+ cleaned up extensions a bit
+
+commit d4462dc975c5e542e6feb3f37925eb2e65f7099c
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Aug 30 08:43:26 2004 +0000
+
+ clamp lodbias
+
+commit d17c1769cab04cc6f78f28e66d461056db7b94ef
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Aug 30 08:41:25 2004 +0000
+
+ fixed automatic mipmap generation
+
+commit 554321af7b6b33fe0e6e6578a6444362110d891d
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Aug 30 08:40:05 2004 +0000
+
+ fog really needs W
+
+commit b1f709cc881138d8aef06381edb0fde927f69307
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Aug 30 08:37:57 2004 +0000
+
+ remove CR
+
+commit eec588be6fd9b3c082aae8588e9bfeafb23d95dc
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Aug 30 08:34:52 2004 +0000
+
+ Werror is bad, unless you know what you are doing
+
+commit a5bc6421dfe5c7b0153a28b999c444267835f02b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 27 15:31:20 2004 +0000
+
+ bump version to 6.2, add installmesa to tarballs
+
+commit a9aa19e4cebaa999bc9e1699309f6aaa177ed858
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 25 22:57:20 2004 +0000
+
+ ICD update from Gregor Anich
+
+commit b7d048405cbcefc49dba56e5e3abee0d621f6c18
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 25 19:12:35 2004 +0000
+
+ move (void) foo; instances after local declarations
+
+commit d0bdae8a28c3d20fc679154b9d998e1e6efba6ea
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 25 17:36:34 2004 +0000
+
+ print internalFormat value in r200ChooseTextureFormat() error message
+
+commit a6c423d95663cfd8601cf84e10e8e1b12fa6ef15
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 25 15:59:48 2004 +0000
+
+ Silence gcc 3.4 warnings on ReactOS. Mostly unused var warnings. (patch 1015696)
+
+commit 866286936ac34070826382f1d1cd28b613dd4bd1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 25 15:33:49 2004 +0000
+
+ regenerated with license info
+
+commit 0e9929ac1007fe72d54e984be6a255b7ed26f5fb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 25 15:33:11 2004 +0000
+
+ Makefile for python-generated files (Ian Romanick)
+
+commit cd248854290579b621f9f6450687e8f9ef653b49
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 25 15:22:35 2004 +0000
+
+ use version generated from the XML database
+
+commit d99e5505f39459cc2980a9b2df0ceb0723379d2a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 25 15:20:56 2004 +0000
+
+ fix MGL namespace warning (patch 1014800)
+
+commit 9554411af6f8fab535b17e63e0397e6219a8a56d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 25 15:19:40 2004 +0000
+
+ return type for MapBuffer was not specified
+
+commit 5920b722b7fb59c340b82ea279033c13a2a01508
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 25 15:10:51 2004 +0000
+
+ Fix mgl name mangling (patch 1014800)
+
+commit 86e001b78cb46c1d5a216dd50b3d7fe32db23575
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 25 14:59:45 2004 +0000
+
+ Windows ICD driver code (patch 1014800)
+
+commit 7c544d36850c6e3627adbbd66df9b12bbe0f185b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 25 14:52:01 2004 +0000
+
+ fix a couple bad casts
+
+commit be9b759ab05b6d3f837716daec3ec32b4ffe7a9b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 25 14:51:18 2004 +0000
+
+ remove BeOS conditional code. oglinfo should be moved to xdemos since it's a GLX program
+
+commit 0ad65543388f7c8048b2040450766bbc3a312a69
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 25 14:49:41 2004 +0000
+
+ print current config name before building src and progs
+
+commit 3b550e1e3c4d84a24130a50c24b7140c7696656e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 25 14:39:40 2004 +0000
+
+ work around a param bug (Adam Jackson)
+
+commit f43cc67616e5f48265be50e9b3867f004f69a61b
+Author: Philippe Houdoin <phoudoin@freedesktop.org>
+Date: Tue Aug 24 08:54:04 2004 +0000
+
+ Disable x86 iround() version on BeOS with gcc < 2.95.x, as it choke GAS.
+ BTW, that's remove the requirement to build Mesa on BeOS with gcc 2.95.3.
+ Still recommanded for performance, thought ;-)
+
+commit 0f539de57e715d00cdd7f8fc34e56491cae59a5f
+Author: Philippe Houdoin <phoudoin@freedesktop.org>
+Date: Tue Aug 24 08:31:57 2004 +0000
+
+ Todo list updated. Build instructions detailed.
+
+commit b227e908373580c98e624a5a6d077201fb3d6064
+Author: Philippe Houdoin <phoudoin@freedesktop.org>
+Date: Tue Aug 24 08:17:08 2004 +0000
+
+ Duplicate CFLAGS in CXXFLAGS removed. Now define DEBUG symbol in debug build.
+
+commit c2530b573076fe0b257710a456a2b8cd714c0d0a
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sun Aug 22 20:31:40 2004 +0000
+
+ Converted the Savage driver to the new DRI interface and enabled compilation
+ in the Mesa tree.
+
+commit b1e178c69bb7ce22a1d890bb4c5f84da71dde58d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Aug 22 17:43:31 2004 +0000
+
+ release notes for 6.2
+
+commit b0f08737baec2bc0c5df05b638cf5af585f99c22
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Aug 22 17:42:03 2004 +0000
+
+ IRIX fixes
+
+commit 9debd5620d39a91a59a2271edf00be42db969c29
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Aug 22 17:41:44 2004 +0000
+
+ added src/glw/depend to tarball list
+
+commit 17386de1d91e8849adf5a175ce4c0205464d5cf8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Aug 22 17:24:27 2004 +0000
+
+ cast to fix a warning (in disabled code anyway)
+
+commit bc3a5336d941239cdfd5d9cfd6b407e769c2ac70
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Aug 22 17:23:22 2004 +0000
+
+ don't use __FUNCTION__ - not portable
+
+commit 370b47802ecd54a7830dbb6c22d78e9838170dfa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Aug 22 16:57:40 2004 +0000
+
+ check if __mips or _MIPS_ARCH is defined to set IEEE_ONE (bug 1003026)
+
+commit 5f9c21ae6767b65ee51ba50a22feaee7feaa784b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Aug 22 15:19:03 2004 +0000
+
+ also check for __hppa__ and hpux for IEEE support (bug 1003026)
+
+commit edfe0fe78b299cd3ddc5b447459cbcf9e94f534f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 20 14:21:20 2004 +0000
+
+ enabled GL_ARB_texture_rectangle
+
+commit d4edb532012bffbeac7b3aa038aba11977cdf572
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Fri Aug 20 08:34:30 2004 +0000
+
+ hide GL_ARB_texture_compression from non-VSA cards
+
+commit 14c532f767e226842e80f4d8e3fb4a26f8356d60
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Fri Aug 20 08:29:24 2004 +0000
+
+ cleanup
+
+commit e4a4d0417093bf3f81593e823ab3f3dda24c8008
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 19 18:34:41 2004 +0000
+
+ first bug fix for v6.2
+
+commit b160cbf87a19dbf6388d2fdafb9dd1e9a786297a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 19 18:34:15 2004 +0000
+
+ bump version to 6.2
+
+commit a1dad07249ad9bbb4ff1683b9e19e2499555c3ff
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 19 18:33:13 2004 +0000
+
+ don't check for ARB_texture_non_power_of_two for OpenGL 1.5 (Philipp Klaus Krause)
+
+commit b8e148c2c95c362b94a795b8bc132decb61b1174
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Thu Aug 19 14:21:18 2004 +0000
+
+ Committing in .
+
+ Missing .'s
+
+ Modified Files:
+ Mesa/src/mesa/main/descrip.mms Mesa/src/mesa/tnl/descrip.mms
+ ----------------------------------------------------------------------
+
+commit 5d0efec19051d874e79394ebce63f35d742cc009
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Thu Aug 19 06:59:05 2004 +0000
+
+ why is GL_ARB_texture_env_combine different from EXT?
+
+commit 50a84ce41e669f6e370112f803e377b128656764
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Thu Aug 19 06:58:00 2004 +0000
+
+ "const int _nc" was really stupid...
+
+commit 55497973be7c8afa888581204e1cc0ba4f4ce99c
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Thu Aug 19 06:56:51 2004 +0000
+
+ cleanup
+
+commit fd9757d3b98b89b68dbf62bb9eee0f9dca30d95b
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Thu Aug 19 06:51:48 2004 +0000
+
+ silence compiler warnings
+
+commit 740cbb1559284bf164d6e7e81c45db25a89885f4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 18 22:41:09 2004 +0000
+
+ added Mesa 6.1 release info
+
+commit efb2ade520f47187ac70abe57185358017b63caa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 18 18:45:25 2004 +0000
+
+ check for either GL_NV_vertex_program or GL_ARB_vertex_program for some enables
+
+commit e41460bf774f5afb4ec60b9c4f70e3dd0d80ef94
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 18 14:47:16 2004 +0000
+
+ updates from Jouk
+
+commit 6aa5b4cb914daeeeaf0d1b7a4e0276f2294812d3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 17 22:58:23 2004 +0000
+
+ set release date for 6.1
+
+commit 626f825bcc91a3068e2e1c68e7467b42826c51ea
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Tue Aug 17 20:10:29 2004 +0000
+
+ Revert the move of lost_context setting to UNLOCK_HARDWARE that was done in the
+ last commit. I've been convinced by keithw that it's sufficient, and put a note
+ in the code about it.
+
+ Close another race for state in the Clear functions. I made the situation worse
+ in my last commit, but this should fix things. Might be a slight performance
+ hit, which could be regained by splitting the R*_FIREVERTICES calls in r*Clear
+ up so that the EmitState doesn't happen in a separate new cmdbuf.
+
+commit ffdea1ae80a1405fe805cd197c7650d9c5157e2e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 17 19:25:55 2004 +0000
+
+ don't enable the float texture and GLhalf pixel extensions yet
+
+commit 6fc61be869a5db3842aa3ca95565984c754251cd
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Aug 17 17:03:24 2004 +0000
+
+ Fixed an assembler warning / error (depending on the version of GAS used).
+ Fixed a crash in the optimized pthreads dispatch path.
+
+commit 51830613a941d07e19f38f328657864ca2326111
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 17 14:08:59 2004 +0000
+
+ some updated info about adding new extensions
+
+commit 6f3cc6a5226fd4b5d44cca91e2f76216ecaff831
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Tue Aug 17 01:41:29 2004 +0000
+
+ Close some races with locking on R100 and R200 which could manifest as rendering
+ errors on r100 and rendering errors and hangs on r200 (same for R100 without
+ OLD_PACKETS).
+
+ If a command buffer filled after some state (EmitState or a VBPNTR write) was
+ emitted, the lock was grabbed, the buffer flushed, a new buffer prepared, and
+ the lock dropped. Another client could come in, set its own state as part of
+ rendering, and when the first client flushed the rendering commands depending
+ on the previous state, it got the 2nd client's state. This is fixed by checking
+ for enough space before beginning a set of state emits and rendering, and
+ flushing the buffer first if so. This guarantees that the buffer won't wrap.
+
+ Also, move the "lost_context = 1" from the end of cmdbuf flushing to
+ UNLOCK_HARDWARE for clarity (at a minimum) that any time the lock is dropped,
+ state may get overwritten. We don't have enough information at the point of the
+ LOCK_HARDWARE to reset our state to the last UNLOCK_HARDWARE point in the case
+ that we did lose our context, but saving the information to rebuild that state
+ may be a useful optimization (ipers data suggests up to 5%).
+
+commit 7e27ab4c6ae528daa0f64b9ce79231ff39a58b79
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 16 17:11:10 2004 +0000
+
+ whitespace clean-up, new 'clean' commands
+
+commit 153f479697771dbfd1b3e02748fc8f1927ad2c32
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Aug 16 08:47:19 2004 +0000
+
+ prepared for release
+
+commit 479b3d074589b1582e85aec90e53b82154ebcc2d
+Author: Philippe Houdoin <phoudoin@freedesktop.org>
+Date: Mon Aug 16 08:46:38 2004 +0000
+
+ Add glutGetProcAddress(). Not all GLUT version 5 APIs are supported yet, thought.
+ -> #define GLUT_API_VERSION 4.5 ? ;-)
+
+commit 375047ba7218f56a72477507e5d02cfa85fe00e2
+Author: Philippe Houdoin <phoudoin@freedesktop.org>
+Date: Mon Aug 16 08:42:05 2004 +0000
+
+ make clean at root now clean the glu/$(GLU_DIRS) too.
+
+commit ac07d89fd37cb2b145c175b5557ef0475179c7f3
+Author: Philippe Houdoin <phoudoin@freedesktop.org>
+Date: Mon Aug 16 08:39:36 2004 +0000
+
+ Stupid me. I don't know why I moved the GLView.h here at first, but now I know why
+ I shouldn't:
+ Official BeOS GLView.h defines a virtual ErrorCallback(GLenum) method, assuming
+ a unsigned long GLenum.
+ But under Mesa, GLenum is unsigned int.
+ To keep binary compatibility, BeOS apps including Mesa GL/gl.h MUST include *our*
+ GLView.h, or linker will report a missing ErrorCallback(unsigned int) symbol. Glup.
+
+commit ddff3525869850229a6a79ee2bd58b391c8bbfe6
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Aug 16 08:34:13 2004 +0000
+
+ cleanup
+
+commit 624477afbba684922d02fa5c76b4d10664df9063
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Aug 16 08:32:06 2004 +0000
+
+ fixed texture fetchers, fixed automatic mipmap generation, some cleanup
+
+commit cd643491ad57fc1d21a1638de7e7d79881ccfac1
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Aug 16 08:30:41 2004 +0000
+
+ fixed pixel drawing routines, some cleanup
+
+commit 616a5b64f9303a804072445eec3f58fe94fd889f
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Aug 16 08:01:43 2004 +0000
+
+ disabled stereo checking in wglChoosePixelFormat
+
+commit a95aba7d1f5732048ee4246b958c2050e3eda00b
+Author: Philippe Houdoin <phoudoin@freedesktop.org>
+Date: Mon Aug 16 07:46:28 2004 +0000
+
+ Clearer guard message text.
+
+commit 0de671f19a49fb55906803e112e4b1d2c2fc09f5
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Mon Aug 16 04:38:48 2004 +0000
+
+ Remove unused HAVE_INDEX define.
+
+commit 4ad28c9d9a992f387eadfaf057a815e7bbbf9a8e
+Author: Philippe Houdoin <phoudoin@freedesktop.org>
+Date: Sun Aug 15 14:06:00 2004 +0000
+
+ GLInfo now show GLU and GLUT infos too. Fix the includes paths
+
+commit af2f26f7de01364964c90473417df2677d47c0b7
+Author: Philippe Houdoin <phoudoin@freedesktop.org>
+Date: Sun Aug 15 11:43:47 2004 +0000
+
+ Obsoleted as demos programs build on BeOS with standard Makefile system.
+
+commit 98ae32c0f78a95d94eef08c26aed1d263fe4a6e2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Aug 14 21:53:14 2004 +0000
+
+ fix swrast/shader typo
+
+commit d48ef3ebe7cee17c20fcbeff24fb14437a83d0c8
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Sat Aug 14 21:42:50 2004 +0000
+
+ add shader.dsp and descrip.mms to tarball list for relatively new shader dir.
+
+commit 244af16c436617b3590555d5b93fe561302561db
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Aug 14 21:12:37 2004 +0000
+
+ updated tarball list for BeOS changes
+
+commit 931ef21c423768d2ff9999fcb0c1067c8053dcae
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Sat Aug 14 20:07:01 2004 +0000
+
+ Update Visual Studio Project file for src tree updates.
+
+commit 7a7e04039ee1165d0de783f61f12b1323ce78194
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Sat Aug 14 20:02:59 2004 +0000
+
+ New Visual Studio project file for this directory.
+
+commit cec756ae3a4639d2ceb9bbe2c119ccc00d8554b7
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Sat Aug 14 19:28:48 2004 +0000
+
+ Minor tweaks to deal with vsnprintf and __FUNCTION__ on WIN32
+
+commit 4d69189ac022202221025298217fabcf656477ae
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Aug 14 15:23:51 2004 +0000
+
+ minor update to intro, and some word wrapping
+
+commit 946765a95f32f362794c2f89264d2e8c5295bc65
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Aug 14 15:21:17 2004 +0000
+
+ BeOS updates, memory leak fix, updated release notes
+
+commit b784b8f21f790ee9214a4e46b9b3bb349fb130b4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Aug 14 14:30:36 2004 +0000
+
+ indentation fixes
+
+commit 25f2d96a8fb16b4f144aeaba7f973675eb700332
+Author: Philippe Houdoin <phoudoin@freedesktop.org>
+Date: Sat Aug 14 14:29:21 2004 +0000
+
+ Turn gcc optimization up to -O3.
+
+commit 21841f0ae5ca9b55ee23ecaa3513e91b6752aa16
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Aug 14 14:28:11 2004 +0000
+
+ fix some memory leaks (bug #1002030)
+
+commit f226191d52b98eab83a1761f48c88688a4a27408
+Author: Philippe Houdoin <phoudoin@freedesktop.org>
+Date: Sat Aug 14 14:27:32 2004 +0000
+
+ Remove obsoleted BeOS-specific makefiles.
+ Add a makefile to build old Mesa GLU, whatever it worth.
+ Add a guard to stop building libGLU.so on BeOS, as it's build into libGL.so.
+
+commit 92cb9143213ccef5d6f9b825796490bd3c1c0881
+Author: Philippe Houdoin <phoudoin@freedesktop.org>
+Date: Sat Aug 14 14:24:48 2004 +0000
+
+ Add a guard to stop building libGLU.so under BeOS, as it's build into libGL.so.
+
+commit 8c6f59ce549f716b8572623b1d4a6075db0c67d5
+Author: Philippe Houdoin <phoudoin@freedesktop.org>
+Date: Sat Aug 14 14:22:35 2004 +0000
+
+ Forgot to commit this valuable file! :-)
+
+commit 18985fb2316ef40b04f014047c660399916dd11c
+Author: Philippe Houdoin <phoudoin@freedesktop.org>
+Date: Sat Aug 14 10:49:31 2004 +0000
+
+ Remove obsoleted BeOS-specific makefile as the main Makefile system now
+ support BeOS platform too.
+
+commit b8b12a993360ff1dd6762a15ffd57633694349e2
+Author: Philippe Houdoin <phoudoin@freedesktop.org>
+Date: Sat Aug 14 10:42:57 2004 +0000
+
+ Replaced the .cpp-ized (for build issue) common GLUT source files by their
+ standard .c version.
+ Remove unused libglut.def.
+
+commit bba512b75bdc3bc27cecb17b7664030c66652996
+Author: Philippe Houdoin <phoudoin@freedesktop.org>
+Date: Sat Aug 14 10:37:03 2004 +0000
+
+ Replaced the .cpp-ized (for build issue) common GLUT source files by their
+ standard .c version.
+ Remove outdated Makefile.orig.
+
+commit a041e62418a72f0fd379e50263e1c9d2e6c6bb55
+Author: Philippe Houdoin <phoudoin@freedesktop.org>
+Date: Sat Aug 14 10:27:08 2004 +0000
+
+ Update to Jake Hamby's BeOS GLUT 3.7 port.
+
+commit fad0e5d448d9a2b55a7faa3fcb569470c381fb4b
+Author: Philippe Houdoin <phoudoin@freedesktop.org>
+Date: Sat Aug 14 10:21:08 2004 +0000
+
+ Move to $(TOP)/configs/default-based makefile.
+
+commit ef4dd5ad79555d3c018cf87f85080ff5abf60d25
+Author: Philippe Houdoin <phoudoin@freedesktop.org>
+Date: Sat Aug 14 10:12:38 2004 +0000
+
+ Update BeOS mklib to set mimetype and version.
+ Static lib build support added.
+
+commit 92ec9975fe1d5ce9ae93175025d4a7b8776e0d7f
+Author: Philippe Houdoin <phoudoin@freedesktop.org>
+Date: Sat Aug 14 10:10:42 2004 +0000
+
+ BeOS now officially moved to main Makefiles chain. To build under BeOS: "make beos"
+
+commit b44cf6df1cf960ba1134f1f18ab7cdf8e1c90583
+Author: Philippe Houdoin <phoudoin@freedesktop.org>
+Date: Sat Aug 14 10:06:21 2004 +0000
+
+ Updated according to new way to build under BeOS.
+
+commit 789dd56699f11d10b99649b324943e790e517a3f
+Author: Philippe Houdoin <phoudoin@freedesktop.org>
+Date: Sat Aug 14 10:05:33 2004 +0000
+
+ Obsolete the BeOS-specific makefile as we now build using standard Makefiles chain.
+
+commit ea446b56abab8752969241de995ba87eb111bc58
+Author: Philippe Houdoin <phoudoin@freedesktop.org>
+Date: Sat Aug 14 10:03:11 2004 +0000
+
+ Obsolete BeOS-specific makefile.
+ Removed the oglinfo target from samples from BeOS build, as it depends on X.
+
+commit f17ddd4884cccdbd15e7a3bebaeec32de4b6658e
+Author: Philippe Houdoin <phoudoin@freedesktop.org>
+Date: Sat Aug 14 09:59:16 2004 +0000
+
+ Fix demo.cpp, which wasn't working as expected.
+ Add a GLInfo app, a graphical tool displaying GL Info as a treeview.
+ Usefull to see which OpenGL renderer you use and which extension(s) is supported.
+ Convert the Makefile to be $(TOP)/configs/default-based.
+
+commit 41ea1558786cade1c313cb86d6c50d8827b0a5f3
+Author: Philippe Houdoin <phoudoin@freedesktop.org>
+Date: Sat Aug 14 09:52:18 2004 +0000
+
+ Obsoleted. Now, the BeOS targets build by main Makefiles chain.
+
+commit 428be67663d238f1ddd44053f2c4bfb3a115e80b
+Author: Philippe Houdoin <phoudoin@freedesktop.org>
+Date: Sat Aug 14 09:51:30 2004 +0000
+
+ Silent compiler "variable may be used uninitialized" warnings.
+
+commit b4907820c23887e3f2447586d925cb52fd38ea41
+Author: Philippe Houdoin <phoudoin@freedesktop.org>
+Date: Sat Aug 14 09:48:57 2004 +0000
+
+ BeOS's _glthread_DECLARE_STATIC_MUTEX() couldn't be used outside a function
+ because she called create_sem(). Now the semaphore creation is made at first
+ _glthread_LOCK_MUTEX() call.
+
+commit 4b3be4d8be05da426e9f9b06d6d8317e86e70d68
+Author: Philippe Houdoin <phoudoin@freedesktop.org>
+Date: Sat Aug 14 09:43:07 2004 +0000
+
+ Fix a bug that set RGBA bits length always to 0 (reported by Marcin Konicki).
+ PPC byte order now supported (thanks Nathan Whitehorn).
+ Double buffering is now always forced.
+ Unlock the BGLView looper only if needed. Should fix the GLUT-based apps crash
+ at window closing.
+ SwapBuffers() now can wait for next vertical retrace.
+ And several other minor changes...
+
+commit 7b0c30574c7bb74036c3afb925cc702a4d7fe0b1
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Sat Aug 14 09:29:24 2004 +0000
+
+ build fix from XFree86 tree
+
+commit 31848304870b5ddba91b82545a4ed7a097f7ec4c
+Author: Philippe Houdoin <phoudoin@freedesktop.org>
+Date: Sat Aug 14 09:23:09 2004 +0000
+
+ Move BeOS build into main Makefiles chain.
+
+commit af8031ce5ca14f12f96da91c7c139887b3405673
+Author: Philippe Houdoin <phoudoin@freedesktop.org>
+Date: Sat Aug 14 09:18:04 2004 +0000
+
+ Add a BeOS build config.
+
+commit 1cdfb6911638c65fd7659152d55b2f14e6adade9
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Sat Aug 14 09:09:56 2004 +0000
+
+ bring over change from xorg trunk - let build on non-i386
+
+commit 56999adb21648d2578ed562269f5a8df6c79aeff
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Sat Aug 14 09:08:27 2004 +0000
+
+ bring over build fix from xorg tree
+
+commit b1872fed15311b439cba386991d435ff7532530a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 13 21:05:02 2004 +0000
+
+ silence a warning
+
+commit 2fe6e913ca9ec82d2b7e5b9421a8048cf4118da7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 13 21:04:04 2004 +0000
+
+ minor fix for newest glxext.h header
+
+commit 02ca8fe85ddab42fae710a1ea569e44338b708c2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 13 20:58:59 2004 +0000
+
+ added some missing sources to tarball list
+
+commit b292642de04af01a0e6050bb144de3244ffdbfe3
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Thu Aug 12 21:50:03 2004 +0000
+
+ Fix dri_util.c build with new headers.
+
+ Submitted by: John Lightsey <john@nixnuts.net>
+
+commit 3bbdcdcdb8810595008eaab99548a79f680fbffe
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 10 15:42:14 2004 +0000
+
+ cvs ignore file
+
+commit d462841384f69dafb4408448b32fbe88828822c5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 10 15:40:20 2004 +0000
+
+ updated glext.h and glxext.h files
+
+commit 52a5cc0baef6cb1a6b516e28b93302a6da9c7ebe
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 10 15:39:00 2004 +0000
+
+ minor anim tweak
+
+commit 5222662f520b4b116116ac01b3ed1d74193a09d9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 10 15:36:46 2004 +0000
+
+ silence warning
+
+commit 16c8dce363c3fd3384eb47ebb3ca90ab0e737fd0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 10 15:36:31 2004 +0000
+
+ use 'a' to toggle animation
+
+commit 47a6749b33ab945018599dee96296668fa1a9813
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 10 15:34:51 2004 +0000
+
+ minor tweaks
+
+commit f2afdcae9a706c1a3b426da47935f0c4f2128a54
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 10 15:32:25 2004 +0000
+
+ query/print max convolution filter size
+
+commit dfbb84ea2c0d1ddcc563ca3ec61b6a50ec68479a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 10 15:30:41 2004 +0000
+
+ added some handy debug code (disabled)
+
+commit cec85c778f66c60452ab83c16a4cb18121ecec0f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 10 15:30:16 2004 +0000
+
+ added a few more debug printfs (disabled)
+
+commit 521ebf670a6dbe6f9ab875ffece31664a7d668b0
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Mon Aug 9 22:14:57 2004 +0000
+
+ Fix from Rogelio Serrano for miniglx double buffering
+
+commit 8bd0a627fd97fea7c0a87625a71f6f587d14d941
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Tue Aug 3 13:03:33 2004 +0000
+
+ fix incorrect overflow detection when emitting R200_SS_MAT_1_SHININESS
+
+commit a032297b32fd692459d0d143068ef2b065886c0a
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Sat Jul 31 08:14:50 2004 +0000
+
+ xorg-r200-uninitialized-variable-used.patch from Redhat xorg
+
+commit d9166e132e150945e04d2fc9214da0796cd36a02
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Thu Jul 29 08:31:26 2004 +0000
+
+ disabled automatic mipmaps until we can handle 565 textures.
+
+commit 10e768c11b5b4e86e17c4b9356dd18cde1a8a61d
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Thu Jul 29 08:25:03 2004 +0000
+
+ fixed conflict between depth & alpha in 16bpp
+
+commit 0a10abf93e70907b76e90f541ca127e1f1baa3a3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 28 15:55:13 2004 +0000
+
+ vtk and Paraview links updated
+
+commit 6ade8a36b63caf93d7ffda8f789e2c94bad12c31
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 28 13:23:11 2004 +0000
+
+ version 6 from oss.sgi.com
+
+commit 196fb036d68fac6258569270fa9013a4a5e05784
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 28 13:22:46 2004 +0000
+
+ version 24 from oss.sgi.com
+
+commit c2800e08ec863f49ac9caeb7c0c271734ed30193
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 27 16:32:37 2004 +0000
+
+ don't use GLuint or GLvoid in function declaration
+
+commit 27df1ec1cde0b83871cfe1f2d594ac6fd1c85897
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Jul 26 15:10:34 2004 +0000
+
+ disable W1 when single-texturing
+
+commit 146852881fab329e0116044b55fc53bce0b0272e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 26 15:09:22 2004 +0000
+
+ consistantly use unpack parameter, instead of ctx->Unpack (Daniel Borca)
+
+commit fff87eecbe94ca3ac4ca0e7e8647ee7cae7fae56
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Mon Jul 26 12:42:36 2004 +0000
+
+ Fixed hash table allocation to avoid an assertion failure due to a
+ bad config file. Fixed two more typos.
+
+commit dec1191d45f08ab916aa9d6581a00efdb1f76383
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Jul 26 08:04:22 2004 +0000
+
+ Rush is back on ZBUFFER
+ added DrawPixels555 and DrawPixels565
+
+commit 6b41bf3afc027ce2ca00ff659cd73e866fa91d48
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jul 24 15:18:36 2004 +0000
+
+ use GL_CALL() macro (Andreas Stenglein)
+
+commit dfa5c2bfbbba1e24829582863caeafd97f124d5e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 23 23:32:15 2004 +0000
+
+ new MESA_GLX_DEPTH_BITS env var
+
+commit eae26ca4ba62506f6751ec6ca3e3d50709f28d81
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 23 22:56:29 2004 +0000
+
+ minor comments
+
+commit 840565cd47fd523133fd63f50748ab498ac038ef
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 23 19:30:33 2004 +0000
+
+ updates from Stephane Marchesin
+
+commit 4f6b1ad95252e77d887729e81f49ca757aedb19c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 23 15:49:12 2004 +0000
+
+ added MESA_GLX_FORCE_ALPHA env var
+
+commit a13331d59b535aa4a1ddad695420de5d6f814550
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 23 15:47:04 2004 +0000
+
+ added support for MESA_GLX_FORCE_ALPHA env var
+
+commit b8f29f29eb611c92d43aaf8ffcd2d9743b3af967
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 23 15:45:56 2004 +0000
+
+ ALIGN16 macro repairs
+
+commit a48edcf69ca6320e34d160bd7b6e69a3549fe8f2
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Fri Jul 23 08:59:09 2004 +0000
+
+ fixed pixelpiped DrawBitmap / DrawPixels (clipping was upside-down)
+
+commit 1635040a9e4fcf20b421ff2a6124ee777c7eef4f
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Wed Jul 21 08:46:55 2004 +0000
+
+ partial GL_BLEND for Voodoo1
+
+commit 15a0b086b409363e74a66afae8987d39dd75b48f
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Wed Jul 21 08:45:35 2004 +0000
+
+ minor doc update
+
+commit 1b868b1e548b491c3e873824b60eb4b22f1ae202
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Wed Jul 21 08:44:26 2004 +0000
+
+ fixed a bug in clear routine
+
+commit 782a32b847d097c33a8fc44d3443be08f967e616
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 20 21:16:07 2004 +0000
+
+ fix compare w/ zero warnings (bug 988766)
+
+commit 5fe90292f8720671704236552079412a319308b8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 20 21:15:13 2004 +0000
+
+ error message fixups and some debug code
+
+commit bd997cd11fd30908fe35bacd5bfb0c2dd5fdde30
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 20 21:12:56 2004 +0000
+
+ fix compare w/ zero warnings (bug #988766)
+
+commit 5f3b3a3827a2056f09aff98ac6e6204e160e238c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 20 21:00:34 2004 +0000
+
+ new image (see mesa bug #993926)
+
+commit 9408fe0c092d6b1b096a43d2585bce3a29fe7969
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 20 20:43:24 2004 +0000
+
+ remove -lXm (motif) from GLW_LIB_DEPS since it's not needed by default
+
+commit 6beec975219ee8216c2c7347d4dbec4572487595
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue Jul 20 10:33:21 2004 +0000
+
+ GL_EXT_texture_env_add shouldn't be conditioned by multitex, or should it?
+
+commit e7e86eaf3efcd35b2aceeb64cdf83063ae1360ab
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Jul 19 14:08:46 2004 +0000
+
+ trying vertex_program...
+
+commit 1c2a498119d3b6a194033bca6bfe5d3fb4665371
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Jul 19 08:06:00 2004 +0000
+
+ several new bugs
+
+commit 25f0e8227f1f8131a1add3cdcd8eb47a1e7e8f89
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Fri Jul 16 07:54:46 2004 +0000
+
+ minor corrections
+
+commit 1ff6188c0937f0425d1a9b6cd10a42c7cf9f50c1
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Fri Jul 16 07:53:53 2004 +0000
+
+ GL_MODULATE/GL_REPLACE multitex (wasteful, but apparently needed by some apps)
+
+commit 0f7eb92249e3ea229e8c22f0c9a71d76b577d9fb
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Fri Jul 16 07:53:02 2004 +0000
+
+ SGIS_generate_mipmap
+
+commit dc8a7603a39bade5b7411e79d5773834b89bd023
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Fri Jul 16 04:27:00 2004 +0000
+
+ Miniglx clients now authorize with server DRM
+
+commit 84e6b16d8fcaaf676474488d369d2df0c2117160
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Thu Jul 15 10:51:17 2004 +0000
+
+ add debugging for compresssed textures
+
+commit c058917343e51610ddc4f1ad32e3f02d7c131129
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Thu Jul 15 10:47:13 2004 +0000
+
+ fix up heights for i830/i915 texture compression
+
+commit 78e19b5f9891705e845f2d21a4f7370504fd0d31
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Thu Jul 15 08:50:27 2004 +0000
+
+ move config options to same place as other drivers (again for S3TC patch later)
+
+commit 620c998b165da6b26b61b6f750bf97339798e48c
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Thu Jul 15 08:41:26 2004 +0000
+
+ use a switch statement makes integrating the s3tc patch easier
+
+commit 11a03a18addacb2c893786830331029e7ab79f93
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Thu Jul 15 08:08:44 2004 +0000
+
+ enable FXT1 texture compression for ixxx chipsets
+ commented out Keiths extensions strings
+
+commit 43942fd5e32b2c7e64959ba2ab5901a4ef79f228
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Thu Jul 15 06:29:16 2004 +0000
+
+ move over changes to intel driver from i830 driver for modes
+
+commit ba3d088e27aa1a2bba9b91fd452cc4091aab1fe1
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue Jul 13 06:45:56 2004 +0000
+
+ fixed vertex RGBA
+
+commit 9a9614e4e90e7f22772afecde0665bdbba97bee0
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Sat Jul 10 21:17:52 2004 +0000
+
+ Make solo radeon/r128 drivers track fix for DRI bug 849
+
+commit bdf3e2ba1fa8c0505262e94effadd6cb81acce60
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Sat Jul 10 19:14:18 2004 +0000
+
+ Remove DRM_PAGE_SIZE from fb and i810 drivers since it was being used.
+
+commit 65293d8f73cfaf783607d8ba42648a43cb905cba
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Sat Jul 10 17:09:57 2004 +0000
+
+ Fix unichrome solo build to not need X11 headers. Minor change to
+ use mesa_alloc/free.
+
+commit 486e5c26dc3164493b4f045b533fc1b9e1847581
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sat Jul 10 11:25:02 2004 +0000
+
+ Make GET_PROGRAM_NAME work with uCLibc using the __progname hack.
+ Improved that hack to remove leading directory names.
+
+commit 368f3c551befc29051d0061c33f408249c88b1f8
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Fri Jul 9 18:46:51 2004 +0000
+
+ Fix mesa-solo config to define _GNU_SOURCE so that program_invocation_short_name
+ will be correctly defined.
+
+commit d53d429ed298c500cf785991e648b2862e130dda
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue Jul 6 12:37:09 2004 +0000
+
+ use tnl_emit_func, it's safer
+
+commit d2dbb253726c48758b774877bbf53d87cdc165d8
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Tue Jul 6 00:32:03 2004 +0000
+
+ correct X86_DISPATCH_FUNCTION_SIZE if THREADS is defined
+
+commit 1e7ce9f6f1766847fc783d54fcbc3195874e2723
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Mon Jul 5 23:51:48 2004 +0000
+
+ Convert miniglx to use xf86drm from dri/drm/libdrm instead of src/mesa/drivers/dri/dri_client
+
+commit 550009441375e55bda3896eba7375b9228c7fdec
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Mon Jul 5 23:42:02 2004 +0000
+
+ Convert miniglx to use Ian's fancy new driver config code.
+ This removes the miniglx driver function InitContextModes().
+ All of the server directories were edited to remove the implementations.
+
+commit 10b3bf60137b1f5faae46d2266f54faa89798570
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Jul 5 22:42:14 2004 +0000
+
+ Fix typos in comments.
+
+commit 6c5402bccdc83173f645de34830a45cbb52436a4
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Jul 5 22:40:54 2004 +0000
+
+ Another "if it ain't broke, don't fix it" moment. Revert some more
+ code in _glapi_set_dispatch to its 1.74 form. This fixes a "problem"
+ with buggy apps that make GL calls with no bound GL context (i.e.,
+ Enemy Territory during shut-down).
+
+commit 8a088535368d4e6b3e7b5fd94f982122644a311c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 5 14:54:16 2004 +0000
+
+ fixed AIX color interpolation bug
+
+commit cbc96b705d1dc1c6aedba29ad6ce16d526e3b50e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 5 14:50:12 2004 +0000
+
+ patch for AIX (bug 983144)
+
+commit cacf47373251e4d17eae6d2f77c78096ed6f5c53
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 5 14:48:15 2004 +0000
+
+ added cast to fix AIX color interpolation problem (bug 983144)
+
+commit 3e94fd34449210c8b548a2a30f248fb5bd73478b
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Jul 5 06:47:17 2004 +0000
+
+ added GL_ARB_point_sprite.
+ color masking correctly implemented for 15bpp.
+ small fixes for textures and tri engine.
+
+commit fd003824ad18fd78cbecf32fb5e8e58cf2f9cdba
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Jul 5 06:15:37 2004 +0000
+
+ fixed non-threaded codepath
+
+commit 3e77737955104879ca8747f82bdd5fd5b0169cc1
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Sun Jul 4 20:49:04 2004 +0000
+
+ Bugzilla #755: Fix polygon offset by setting DEPTH_SCALE to depth_scale instead
+ of 1.0.
+
+commit aaebfc88c08c79cd70f1e0d1d262a25e9ded47d1
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Sun Jul 4 20:33:48 2004 +0000
+
+ Patch removes _SOLO definition needed for mesa-solo. mesa-solo
+ uses the NEW_INTERFACE now so _SOLO isn't necessary anymore.
+ Tested with the hardware that I own.
+
+commit 2371033bbaf6e7477bfa893654a0467a084f335b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 2 16:39:59 2004 +0000
+
+ document some assumptions made about compressed texture tile size
+
+commit 1675058a346a57d89a18147799579c0ad574bfd2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 2 16:36:29 2004 +0000
+
+ a few comments
+
+commit bbea6ec0b62fbb2dd082b59ed5b2cfa4ed28e9dd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 2 14:35:50 2004 +0000
+
+ disable some debug printfs
+
+commit d07859e718767ef1dfd86ab5a80675aed0acf231
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 2 14:35:05 2004 +0000
+
+ redo the event loop to make event response better
+
+commit 3bdc8535fc7be3e0524e9dd728ef9f63532fd789
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 2 14:22:42 2004 +0000
+
+ init some vars to silence warnings
+
+commit 009542a0f7c2f90e3057f10bd1b17ae65f906d72
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Fri Jul 2 10:34:48 2004 +0000
+
+ added GL_EXT_fog_coord.
+ added GL_EXT_blend_equation_separate.
+ minor cleanup.
+
+commit 3aa364c8e11f10cc7cec384869ef59ff2f57c249
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Fri Jul 2 10:32:52 2004 +0000
+
+ put back the correct dispatcher for non-threaded builds.
+ fixed x86 entrypoints for Mingw/DJGPP.
+
+commit d14d103a0c786e895fa6a801587ed5d807df6da4
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Jul 2 00:01:09 2004 +0000
+
+ Fix a potential race condition. Fix a couple of places where
+ _glapi_DispatchTSD wasn't properly handled.
+
+commit 2491d5135ba9aa595041b3db1639ad06e6424f99
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Jul 1 23:58:15 2004 +0000
+
+ Make sure THREADS is set no matter which threading model is selected.
+
+commit dedff2c3b2710b81b27503e16cbb37c692dbd7a4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 1 20:13:26 2004 +0000
+
+ just a test; no change
+
+commit 953f2a6a2b0c65e9ad00e8317de0fe648d16be54
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 1 20:12:44 2004 +0000
+
+ just a test; no change
+
+commit 9eaecaf21add9b0511f880dfa013dfae68fa399e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 1 17:57:00 2004 +0000
+
+ just a test; no change
+
+commit 41fc5952e52cf7fa959482a24a0c56b80127a44a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 1 17:56:29 2004 +0000
+
+ just a test; no change
+
+commit 04e29afdff39041cc0ca7aa4aa9d700d2fc74cf0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 1 16:06:32 2004 +0000
+
+ just a test; no change
+
+commit 76cfed853fb7ba95ce0a8cdf9c714df1daefbe68
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 1 15:33:14 2004 +0000
+
+ added commands for AIX shared libs (Shane Blackett)
+
+commit 6d50d91ae4cd741a17b9b024725f5fbe19729b51
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 1 15:32:51 2004 +0000
+
+ added aix-static config, make aix config build dynamic libs
+
+commit 3d38361b718d490e1e7fda64519952ec887cd149
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jul 1 13:14:05 2004 +0000
+
+ Rename the various function types in t_context.h to include a tnl_ prefix.
+
+commit c3c8c71846fb507b57282128d53ba9666e66fe03
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jul 1 13:00:19 2004 +0000
+
+ Remove __driRegisterExtensions
+
+commit f8b1825f9725f5d270ecf52f560e59ce651de254
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jul 1 12:01:59 2004 +0000
+
+ Rename 'emit_func' usages in drivers. Will also rename the ones in
+ t_context.h.
+
+commit 869fc59b63ee99ced26fbfa02492abb8cd16586d
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Jul 1 11:35:53 2004 +0000
+
+ fix for older gcc's (from freedesktop bug id #419)
+
+commit 160215bdeb252c73547cc5247c47e8c5770972e3
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jul 1 05:35:12 2004 +0000
+
+ Add t_context.h include for drivers.
+
+commit 009aa3ef5ea6bc13c903d6f902b7039adef8fc74
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jun 30 11:48:21 2004 +0000
+
+ Add infrastructure for t_vertex.c codegen. Add an example driver
+ for this which spits out C code for the generated functions.
+
+commit 8e77da1cd7d63af5e7ffcf7ea220cdaf1bdc8162
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Jun 29 19:08:20 2004 +0000
+
+ First phase of TLS work. At this point SPARC assembly dispatch is
+ broken, but it will be fixed "shortly." This is pretty much the same
+ as the patch I sent to the dri-devel list on 22-Jun-2004.
+
+commit c61c7cb8e4100476d5feb976c39a23b1ed7b564a
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Tue Jun 29 04:50:29 2004 +0000
+
+ This should make most linux-solo drivers work again. Mainly a fix
+ for changing SAREA size form DRM_PAGE_SIZE to SAREA_MAX. fb driver
+ is still broken.
+
+commit 7c1207a2ec3f548921caad2e41807f3df9e1536d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 29 00:30:06 2004 +0000
+
+ fixed vertex program state references
+
+commit fc84e82b282e97e6f09a05509847df29ce94a2e2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 29 00:21:04 2004 +0000
+
+ fix another bug in get_register_pointer()
+
+commit 80cc018a68e1b07689e329635951de72c5c0c65d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 29 00:03:59 2004 +0000
+
+ the get_register_pointer() function was pretty well broken in a few ways
+
+commit ac33dd1312530e0bab0c7e5d25c9d70f4e884753
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 29 00:00:29 2004 +0000
+
+ disable some debug code
+
+commit 824fdf035ee4f1119f1bf811e27aa14111f7ad32
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 29 00:00:06 2004 +0000
+
+ remove trailing whitespace and misc clean-ups
+
+commit 26755698c8b8981be8778527c4381d69f790e291
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Mon Jun 28 22:32:38 2004 +0000
+
+ add missing R200_RB3D_BLENDCOLOR to r200/radeon_sanity.c
+
+commit dbe1ecaa1d82be41c1d2f2ae2e78e8bd69a62b19
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 28 22:03:44 2004 +0000
+
+ option to test with display lists
+
+commit 36bdb0786001a138547064b408e7a025d896fc74
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 28 22:02:23 2004 +0000
+
+ glBegin/EndQueryARB bug fix
+
+commit d322dc1469587d4dc9274c803561f6074c21ed42
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 28 22:01:12 2004 +0000
+
+ glBegin/EndQueryARB didn't work inside display lists
+
+commit 625a339a8ac0bef20285877d27eadff97fc2333a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 28 15:16:28 2004 +0000
+
+ make sure Q has a good value before drawing a sample
+
+commit c2bffec91a5b6ba72514c875b70dbc96ac97431d
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Sat Jun 26 17:16:42 2004 +0000
+
+ Mesa-solo builds with these changes. There are still more fixups needed to
+ get individual drivers working again. This converts miniglx to the new
+ dri interface. Thanks to Erdi Chen for the new interface code.
+
+commit e16f6e3f234391027b300ec2ca8b56fc13aac825
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Sat Jun 26 00:02:51 2004 +0000
+
+ Re-enable SPARC assembly on sunos5-gcc platform.
+
+commit 9eecb03226a534e0fe59973133371b72e7c0d63d
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Jun 25 22:51:39 2004 +0000
+
+ Make sure mklib sees the definition of CC and CXX. Make mklib respect
+ the definitions of CC and CXX on Linux. This fixed build issues with
+ sunos5-gcc and build issues on GCC 2.x Linux when CC and CXX are set
+ to a GCC 3.x compiler.
+
+commit 74b380b2ec16b387628b4e01f25eca7baf634048
+Author: Erdi Chen <erdi@freedesktop.org>
+Date: Fri Jun 25 20:31:40 2004 +0000
+
+ Corrected a float to ubyte conversion bug with fog enabled.
+
+commit c9a415663ad92a703b5b1e1e70cd41727114b760
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 25 14:46:48 2004 +0000
+
+ remove program from hash table when deleted (bug 979514)
+
+commit a09db0a7fa38c8161374ae4df3aa375efd5acbb0
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Fri Jun 25 13:49:46 2004 +0000
+
+ new test which uses mixed texgen/non-texgen texture coordinates to exhibit potential bugs in hardware drivers
+
+commit 9a47d2b7cfd18dc86f2b12eb4ce7249cb5a10f9d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 24 16:39:53 2004 +0000
+
+ fix GL_HP_occlusion_test bug, use glext.h version 23
+
+commit 939dd17653245621bf7488803f09418244b7b0b7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 24 16:35:18 2004 +0000
+
+ fix HP occlusion testing when using generic span path
+
+commit de67b3ea18c68f69e0303f1ba88dbb26066049de
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 24 16:32:27 2004 +0000
+
+ fix capitalization, new comments, etc
+
+commit 6cf3f579ef24f240190b56c3cf730e1d7a0e9456
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 24 15:35:42 2004 +0000
+
+ added library dependencies (bug #978758)
+
+commit adf6d0d9f7bf4942f72b3563cdf77dfecea5ec7d
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Thu Jun 24 06:48:05 2004 +0000
+
+ hack for compressed textures with aspectratio greater than 8:1
+
+commit 701987c877b5346f39b2258c45cf2b6c989fd9cc
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Thu Jun 24 06:44:38 2004 +0000
+
+ disabled unnecessary assertions in texture replicator
+
+commit b3eda2443ad0e260997c9c3df789b297326114c1
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Thu Jun 24 06:42:21 2004 +0000
+
+ added back x86 entrypoints
+
+commit 0349b4b2abac65f67a638a9f8bb5d1a3d48ddf95
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 23 22:47:46 2004 +0000
+
+ Fixed occlusion_zless_triangle() to work with 16 or 32-bit Z buffers.
+ Removed some unneeded lines, other minor clean-ups.
+
+commit d7ea75061c1678bfca422e8776bd35f6546066f5
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Wed Jun 23 17:37:16 2004 +0000
+
+ revert accidental change from rev. 1.10
+
+commit e4fbcd0fca4bf7b1534fdde097562fda2157e3b2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 23 14:48:04 2004 +0000
+
+ updated to version 23
+
+commit ea93e6d3785cdcd17da1d7cc47a394ba684735db
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Jun 22 21:32:59 2004 +0000
+
+ Don't include glapi_*.S files in DRI / solo builds.
+
+commit 6b869d4fe19dc0ed35bdd17c843f25553e9e887c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 22 17:16:02 2004 +0000
+
+ Alexander Gottwald's patch for cygwin
+
+commit a64feeffcabef7d7146fd362b59cb595e7761ff1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 22 17:06:30 2004 +0000
+
+ check for NULL pointer to glTexImage (fix verified by Adam Jackson)
+
+commit 3ea9cf0d5ceb9c1451e9919e5252cbb2d0423fc7
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Jun 21 10:41:01 2004 +0000
+
+ added support for non-64bit compilers
+
+commit 0590786f8af98bb849cee11fffd51be7db04f1b5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jun 20 20:57:22 2004 +0000
+
+ call ctx->Driver.NewProgram() instead of CALLOC/etc in _mesa_LoadProgramNV. Fixes problems found with Cg demos.
+
+commit 26359143b673db7793d06ff2b4217198aa0266d6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jun 20 20:55:36 2004 +0000
+
+ remove redundant program field initializers in BindProgram(); ctx->Driver.NewProgram() does the inits
+
+commit 636d4db60817c49917417a6f697b8c30c541a63a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jun 20 19:17:39 2004 +0000
+
+ latest bug fixes, etc.
+
+commit 7576b9b19d433f90c7f9daae01888e7bfea7e7b9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jun 20 19:16:55 2004 +0000
+
+ store's to RC/HC didn't work (bug 976287)
+
+commit f252f64430ccb957698fcf85e84c9d64008147eb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jun 19 17:44:23 2004 +0000
+
+ Big-endian texture fixes from Michel Dänzer.
+
+commit 07694b8935f69f69352648dd7ebf59a7222f1c8e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jun 19 15:38:31 2004 +0000
+
+ Remove ADD_POINTERS code from import() function - it broke UT2004.
+ Code clean-ups, reformatting, const-correctness, etc.
+
+commit f0f23aaba820d64d57b60e8bc113d15038e9f1b5
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Sat Jun 19 11:07:58 2004 +0000
+
+ Hack for linear fogging. Added empty routines for WGL_ARB_pixel_format WGL_ARB_render_texture WGL_ARB_pbuffer
+
+commit 1e93e197f962a3133eba08c91aa39874ee4cbaba
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jun 18 10:58:30 2004 +0000
+
+ Use correct macros for packing pixel colors -- this bug is probably
+ present in many of the other drivers as well.
+
+commit 594c3f67ac8fceb061e47b090ec4d149c55a1940
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jun 18 10:54:48 2004 +0000
+
+ add missing license texts
+
+commit 8ad28091aef4e98916e3ae45de5e405dc0988904
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Thu Jun 17 21:19:21 2004 +0000
+
+ use I8 internal format for GL_INTENSITY, GL_ALPHA and GL_LUMINANCE texture formats. Fix various small bugs with tex env combine mode GL_DOT3_RGB(A)/GL_DOT3_RGB(A)_EXT
+
+commit e3f926ad514d915a983a873540f201fc19d8d913
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Thu Jun 17 21:08:02 2004 +0000
+
+ use I8 internal format for GL_INTENSITY, GL_ALPHA and GL_LUMINANCE texture formats. Fix potential bug with tex env combine mode GL_DOT3_RGB/GL_DOT3_RGB_EXT and ALPHA_SCALE
+
+commit 6c1833e37223edbcb818b6d98bd62058ce14dd86
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Thu Jun 17 20:54:46 2004 +0000
+
+ fix tex env mode GL_BLEND for GL_INTENSITY texture formats
+
+commit fb75ca1b65e5fe8d099c29dc984ad42cbe269447
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Jun 17 20:53:07 2004 +0000
+
+ Make the test check for core GL version 1.3 in addition to testing for
+ GL_ARB_texture_compression. Also make the test list the compression formats
+ the driver "encourages" the app to use.
+
+commit 919498e41c7fd766165db6905ca2f36449d27522
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Thu Jun 17 13:42:45 2004 +0000
+
+ Fix up texture compression mipmapping .. not sure if it fixes FXT1 but
+ with S3TC patch it fixes those
+
+commit 85ffbdd8d7ee03698dabb15db0c479f0d49599b7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 16 16:49:59 2004 +0000
+
+ fix component indexing bug in _mesa_texstore_al88()
+
+commit ed60bc6fdcccde800a242bfe4c39670951b03ed3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 16 15:33:33 2004 +0000
+
+ don't use // comments (Thomas Hellstrom)
+
+commit 972ff46a0bf76e617d5d6ea4813f440ae2786a38
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Wed Jun 16 12:38:47 2004 +0000
+
+ remove unused mode function
+
+commit 1a544b0500ebacb52a7412ad17c4a2002a00ff94
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Wed Jun 16 12:31:23 2004 +0000
+
+ switch to using driFillInModes fix depthbuffer = 0
+
+commit 6d43ce54024ede3ef91fc00d00bf19b815f6396e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jun 16 12:03:53 2004 +0000
+
+ Fix batch.ptr when dropping a batchbuffer segment due to zero cliprects.
+
+commit fff749e893b0adbfb57d08370cb4d2a10608bc52
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Jun 15 16:22:45 2004 +0000
+
+ Fix a couple typeos in the tables for driFillInModes.
+
+commit 997e81fe75ce32ed3d8bb4d8f73a226644cf3a2f
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Tue Jun 15 14:11:09 2004 +0000
+
+ added more compressed formats to is_color_format()
+
+commit 09c9bfb22d40228a6d11319a20e6e82acfd363c7
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue Jun 15 09:06:53 2004 +0000
+
+ fix correct parameters passed to StoreImage
+
+commit f449e370db9ebca0799f7713b905399155196680
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Mon Jun 14 23:38:00 2004 +0000
+
+ _really_ fix parameters to StoreImage calls.
+
+commit 3405708e21ae36ce3ea92bbaea900bacc70a0034
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 14 21:01:08 2004 +0000
+
+ added compressed formats to is_color_format() and updated some comments
+
+commit 3dc3cc9d40ea37dcf69d242d00f623e580ed9bde
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Jun 14 09:11:13 2004 +0000
+
+ Fixed a bug in vertex emitter (untile we move to t_vertex.c)
+
+commit 2a28636274f5a25d2ab174e3fc59537ec7bf667d
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Sat Jun 12 02:36:42 2004 +0000
+
+ add i915 as it seems to build okay..
+
+commit 7aa0e6125d9bf5f29023b21e073129589228bd7b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 11 22:47:47 2004 +0000
+
+ just a comment
+
+commit 5b05a187dc34fa3ab6b5ab6bc1a6e98df80a2553
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 11 22:47:22 2004 +0000
+
+ disable GL_INTENTSITY in _mesa_is_legal_format_and_type(). See table 3.6 of the 1.5 spec
+
+commit 916e749241e86fe6f2e418f38bbff770e834a020
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 11 22:44:55 2004 +0000
+
+ s/_mesa_get_current_context()/GET_CURRENT_CONTEXT()/
+
+commit 8b33258d07650a9c97e0ab0828fcee2c97feafdc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 11 22:44:22 2004 +0000
+
+ remove the 3dfx CatchSignals stuff (the var was alwasy set)
+
+commit beef59e73aad91ca52d72fd0224e696826038318
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 11 19:08:55 2004 +0000
+
+ added GL_BGR and GL_BGRA to is_color_format() (Ronny Vindenes
+
+commit 3f3d11d067034be167861fcce8230911956e8c51
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 11 17:18:26 2004 +0000
+
+ fix some minor glitches in glGetTexParameter code
+
+commit 7cbc9663240bf43c5715607c2b1e53a0e04af71c
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Jun 11 15:36:42 2004 +0000
+
+ re-enable rect texture
+
+commit 4102a3045cb64a7875c524a58f13766a48bbe164
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 11 15:23:04 2004 +0000
+
+ fix minor typo in comment
+
+commit 22dad683b18e822579fab03b2ae96b62f1a4e740
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 11 15:07:23 2004 +0000
+
+ don't pass GL_INTENSITY for <format> to glTexImage2D - it's illegal
+
+commit 694b10ca6d73e710a3521990df498779f6807d05
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 10 20:48:46 2004 +0000
+
+ document recent changes/fixes
+
+commit 601df9c742939c1f77de489561fe3e1d02f49618
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 10 20:46:23 2004 +0000
+
+ Additional error checking for glTexImageXD.
+ Only allow 1D and 2D GL_DEPTH_COMPONENT textures.
+ Make sure internal format and user format are in same catagory.
+
+commit 13ad04719e292a2bee7e1b3155da74a97921c035
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 10 17:26:05 2004 +0000
+
+ Roland's patch to fix promotion of alpha or luminance textures to the
+ luminance_alpha format. In particular, using the al88 format to store
+ GL_ALPHA textures with r200 driver.
+
+commit 41b58954e1742493452b91d9ecdb761db5de3bed
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jun 10 12:48:07 2004 +0000
+
+ New driver for i915 as well as older i830/i845/i865 chipsets.
+
+commit d7f76c7c8830882d849b42777ca601859ffac15a
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Thu Jun 10 10:01:14 2004 +0000
+
+ try and find the drm in a more likely place
+
+commit d4dcc6b5c0e2e23c5da3515b8595dfa6ac0b2e45
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Thu Jun 10 09:54:45 2004 +0000
+
+ Add FXT1 compression support to i830 driver
+
+commit 932e6fb420f3148cba101b321b0e031757bc6915
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Thu Jun 10 09:13:31 2004 +0000
+
+ Fix an "overflow in implicit constant conversion" warning in mEndPrimitive when
+ more warning flags are enabled (such as in the DRI tree). Make the second line
+ prettier, too.
+
+ Reported by: ajax
+
+commit 8a41ead407bde36dfd7a632aa2607b4757b09e84
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Thu Jun 10 08:52:37 2004 +0000
+
+ silence a warning
+
+commit b3a4a07c61775f8be4251765c9873ee64b53f3e8
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Wed Jun 9 05:10:29 2004 +0000
+
+ remove unused stuff, fix non-native build
+
+commit 15be94fc2641fe7bcb376ab9213146c7e01081a3
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Wed Jun 9 05:04:46 2004 +0000
+
+ fix mach64 non native.. no reason to use it...
+
+commit 59b0db30087b2937845ae3530278598c72b16473
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Wed Jun 9 04:59:30 2004 +0000
+
+ Fix reflect demo: We were using the 3D Clear path unnecessarily, which appears
+ to be broken in the stencil case for unknown reasons.
+
+commit 695a69029fbf6c83a301a10dcefbdbe88f2e3325
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Wed Jun 9 04:58:03 2004 +0000
+
+ * sisChooseRenderState doesn't depend on _NEW_TEXTURE at all.
+ * Clean up definition of _SIS_NEW_RENDER_STATE.
+
+commit e5a916d5b99fb827cc57ace8478139b3cfbe53da
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Wed Jun 9 02:44:14 2004 +0000
+
+ make rm for common not complain
+
+commit 9e9feacb437b58bb3f250174a5d1797e2abc3c72
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Wed Jun 9 02:43:26 2004 +0000
+
+ remove depend on clean
+
+commit 37a94995cfa062d41b311e035f65af980bf57bec
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Wed Jun 9 02:29:22 2004 +0000
+
+ fix bug with emitting spec/fog report by Eric Anholt, this isn't the prettiest
+ fix but it does work
+
+commit 0590895ea78cb3e7be25ca833bfeca5f56dc7e21
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 8 15:20:23 2004 +0000
+
+ fix parse error in sign of exponents (bug 968323)
+
+commit 7c381a267aa97b44620ae37aeec7c4b45583e1e2
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Tue Jun 8 10:21:59 2004 +0000
+
+ Fix rectangular textures on i830 - well texrect at least
+
+commit e84f77be215ec1fc7a27388819b6c3a711057e4a
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Tue Jun 8 09:19:17 2004 +0000
+
+ * Convert to use t_vertex.c instead of sis_vb.[ch]
+ * Don't dispatch vertices directly to MMIO; queue them up in dma-like buffers
+ first. This makes things more uniform between AGP and MMIO paths, cleans up
+ some locking ugliness, and makes the driver look more like other drivers.
+ * Don't use the AGP Cmd buffer provided by the server. Instead allocate one in
+ the client, which avoids the need for lots of synchronization stuff.
+ * Mark some MMIO accesses volatile that should have been.
+ * Disable the AGP submission path by default (agp_disable=true) due to
+ unresolved issues in the new code. The old code had its own (serious) errors
+ with AGP, so this is not really a step backwards.
+
+commit a94185474d38f88f141d45d8d42bf9ea081c483d
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue Jun 8 06:08:56 2004 +0000
+
+ corrected a bug wrt point_size
+
+commit 06668ed20ac0ae3fd031ee3f99e61ca58476995c
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Tue Jun 8 04:38:33 2004 +0000
+
+ Clean a little whitespace that's been bothering me.
+
+commit 7c46033130b1b4d6098647d85c2710367572e079
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Jun 7 21:23:12 2004 +0000
+
+ Fix up some remaining include issues. Replace Xmalloc / Xfree with
+ _mesa_malloc / _mesa_free. Replace Bool with GLboolean.
+
+commit 03d7596b84bbe1e913206ebca91b9d05ed57e0ab
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Jun 7 20:18:43 2004 +0000
+
+ The required DDX and DRI version numbers were switched. This went unnoticed
+ on several drivers (i.e., R200, Radeon, R128, Unichrome) becuase the
+ required DRI and DDX versions were 4.0.0. Mach64 was already fixed.
+
+commit 635ba1565cfbb02fbdd19de72651dbda9bb3c3b3
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Mon Jun 7 19:13:18 2004 +0000
+
+ Add NEW_INTERFACE bits.
+
+commit 1312498709d864b8d28b3179cfa7597a92f12bbe
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Mon Jun 7 13:26:05 2004 +0000
+
+ fix all those warnings
+
+commit f9b107d876327a115509e2740a75f15912176851
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Mon Jun 7 12:51:05 2004 +0000
+
+ use the mesa defines
+
+commit 6fc70e87ed34b641957448c257405d5afdad1157
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Mon Jun 7 12:35:38 2004 +0000
+
+ oops fix a bug I introduced
+
+commit cbf863ee71196fb06e3d2466a2d4c813dc36bfe3
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Mon Jun 7 11:58:59 2004 +0000
+
+ fix the versions
+
+commit 2c161cf395b84576427d7dad53aea99072f325a3
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Jun 7 06:03:08 2004 +0000
+
+ small corrections
+
+commit edea87529ef3505a3f5f6b12d9c6c7f46fa88b89
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Mon Jun 7 00:29:40 2004 +0000
+
+ make endian code work on BSD
+
+commit 4ffbb81bd3a7af8a1297e93d1fd4dda61f012a53
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Sun Jun 6 23:32:12 2004 +0000
+
+ Remove use of X windows include
+
+commit e1a7f31c2b47e053ad70f5c4c519e294c273724c
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Sun Jun 6 02:20:20 2004 +0000
+
+ Remove the rest of the need for glxclient.h and remove it from the tree.
+
+commit 75046c5e594173c331e5978f2c856be7d8efd0ad
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Sun Jun 6 02:19:24 2004 +0000
+
+ Remove drivers that have not been converted to the new interface from
+ the DRI builds.
+
+commit a704e44f0ad4401409892559975642a80d815426
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Sun Jun 6 01:36:30 2004 +0000
+
+ Bool may not be available when DRI_NEW_INTERFACE_ONLY is defined.
+
+commit 45e7b47d5659f435ab8a134e47b2db280b62c476
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Sat Jun 5 00:48:48 2004 +0000
+
+ Enable use of new DRI interface in Unichrome driver.
+
+commit e3a07ba609b844de1d8378056261c8dd9f073cdb
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Jun 4 22:43:52 2004 +0000
+
+ Start to "modernize" the driver.
+
+commit e3789ebe7ddd6fafdaaa38d7570173bd26d226f9
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Jun 4 17:31:46 2004 +0000
+
+ Replace 'Display *' with '__DRInativeDisplay *'.
+
+commit 98e7d810e1dc67405075efef83a46504c35b8a19
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Jun 4 00:46:23 2004 +0000
+
+ Enable GL_EXT_blend_subtract and GL_NV_blend_square.
+ GL_EXT_blend_subtract was already enabled via GL_ARB_imaging, but now
+ one of the added modes is supported in hardware. GL_NV_blend_square
+ was tested with progs/tests/blendsquare on an Rage128 Pro with PCI ID
+ 1002:5046. I know there are some differences with some versions of
+ the chip.
+
+commit d672f38709352da01b5a4a04a1777f3a40d09180
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Thu Jun 3 23:30:33 2004 +0000
+
+ Redo of removing __driRegisterExtensions(). I accidentally undid the previous check in.
+
+commit 82a558108950ff74a0384a8ba243296f25d0cf90
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Jun 3 23:16:58 2004 +0000
+
+ Enable use of new DRI interface in Rage128 driver.
+
+commit 4d8c0398f19c249d3e3917d52311acf5cf8cccd9
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Thu Jun 3 20:53:27 2004 +0000
+
+ fix minor signedness issue in assertion
+
+commit da1766f12f79ae512007ab3457bdd34ec65347ab
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Jun 3 19:08:36 2004 +0000
+
+ Remove fill_in_modes and use driFillInModes instead.
+
+commit 74396056977776919aaa7c22be1a3d17774ae321
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Jun 3 18:57:18 2004 +0000
+
+ Add a new function, driFillInModes, that is to be used by drivers to
+ create the set of support __GLcontextModes. This should replace the
+ current driver-specific fill_in_modes functions.
+
+commit 173bc32195f2dbce8d148d0efec3a5b3f6e5c2a2
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jun 3 13:52:10 2004 +0000
+
+ Fix problems when sizeof(Node) != sizeof(float)
+
+commit 93c91c3863737808ceca6f17e3bc61114bca2eeb
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Thu Jun 3 07:14:27 2004 +0000
+
+ masked out unsupported glBlendColor (some games check only the proc addr)
+
+commit 8f980b0e748f7c5a49e75c00ef4fa0b077d78197
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Thu Jun 3 02:34:31 2004 +0000
+
+ Open/Close FullScreen die. unichrome and savage implemented, code is ifdef'd out
+
+commit ba3d643c49ce16f8dcddac56308588839c55bc87
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Thu Jun 3 01:56:07 2004 +0000
+
+ kill __driRegisterExtensions(), none of the functions did anything
+
+commit 5b98ada88071a752b6000756949a1951183cdd0b
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Jun 2 22:48:03 2004 +0000
+
+ driCheckDriDdxDrmVersion uses a function that is not available to
+ drivers when DRI_NEW_INTERFACE_ONLY is defined. #ifndef it away in
+ that situation.
+
+ Add a new function, driCheckDriDdxDrmVersion2, that is passed in the
+ version information that is already supplied to __driCreateNewScreen.
+ Part of the reason that information is supplied to
+ __driCreateNewScreen is so that the driver doesn't have to make those
+ calls to get it!
+
+ Modify all drivers that support the new interface to use the new
+ function instead of the old. As soon as all drivers support the new
+ interface, driCheckDriDdxDrmVersion can be removed.
+
+commit ffb36d57a5f6359b5b91b73af60482a0016dd431
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Wed Jun 2 22:45:00 2004 +0000
+
+ Removed need for sarea.h, various touch ups to get rid of type mismatches.
+
+commit 1960182ece3f1eca06d2e439f64dd61be8a03ff5
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Jun 2 22:24:00 2004 +0000
+
+ Require libGL API version 20040602, which actually exports
+ __glXGetDrawableInfo. Make sure driCreateNewDrawable sets
+ pdraw->private to NULL for all failure paths.
+
+commit 5c113461df885d2de7eae405e058fb97cf4028dc
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Jun 2 22:12:24 2004 +0000
+
+ Make sure USE_NEW_INTERFACE is defined if DRI_NEW_INTERFACE_ONLY is
+ defined.
+
+commit 48ccaf200940613032dfaaafe71382947f398004
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Wed Jun 2 22:09:11 2004 +0000
+
+ add support for more than 2 texture units (max 6, default 4). use hang workarounds only for r200, not derivatives.
+
+commit 2665a4e74ca0aa56f21ddc91eacc83ec2472cbda
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Wed Jun 2 21:40:03 2004 +0000
+
+ change GL_ARB_texture_env_crossbar implementation behaviour to OGL 1.4 core specification instead of extension specification (undefined behaviour instead of disabled blending if not enabled texture units are referenced). Fix minor signedness bug.
+
+commit 749e842953a9ea6e1c9070af7f7211bfc48aa1fd
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Jun 2 20:46:03 2004 +0000
+
+ Replace Bool with GLboolean.
+
+commit bb45fec07460748f7762e709eeed8b7111c5a3c8
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Jun 2 20:45:19 2004 +0000
+
+ Minor changes to make it work better outside X. "Success" is replaced
+ by explicit 0. Several functions that are not needed with
+ DRI_NEW_INTERFACE_ONLY are blocked with '#ifndef DRI_NEW_INTERFACE_ONLY'.
+ Some further work is still required to make it build without any X
+ include files, though.
+
+commit 6632a751be851699eebc85082ebb83a2c3a9da79
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Jun 2 20:41:16 2004 +0000
+
+ Replace use of XID with __DRIid.
+
+commit e3490edc59c86068c9e2b0e59ae4866bb3348a85
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Jun 2 17:48:43 2004 +0000
+
+ Re-import from DRI tree.
+
+commit 18a5ecec899af37f7ee44d7170e19e6dce11838d
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Jun 2 17:48:16 2004 +0000
+
+ DRI_NEW_INTERFACE_ONLY is now the only support way to build in the
+ Mesa tree. If you need a driver that supports the old libGL/DRI
+ inteface, it must be built in the DRI tree.
+
+commit 318aa8409983f3292b4919196df2ca42f4de6a16
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Jun 2 17:37:09 2004 +0000
+
+ XF86DRIDestroyContext, XF86DRICreateDrawable, and
+ XF86DRIDestroyDrawable are all called directly from DRI drivers using
+ the new interface. Therefore, prototypes, using available datatypes,
+ must be available in dri_interface.h. Since the prototypes are
+ available there, xf86dri.h is no longer needed for
+ DRI_NEW_INTERFACE_ONLY builds.
+
+commit 9fcb9c3ac7adb7eaa37a8da4e741ce99dcd651a2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 2 15:51:31 2004 +0000
+
+ fix stencil index bug (#964704)
+
+commit c06b25594e5effe34a90c067e1a3da0f61cf2b13
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Jun 2 05:07:10 2004 +0000
+
+ Replace drmHandle, drmContext, drmDrawable, drmMagic and related types with
+ drm_handle_t, drm_context_t, drm_drawable_t, drm_magic_t.
+
+commit d203091d204ea2e543cd41ea85d0fc57aa794a4b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 2 00:16:42 2004 +0000
+
+ Check for NULL texture object when choosing texture sampler. Fixes segfault when fragment program references an incomplete texture
+
+commit a4436a8f4476344f1ec81cacf35f5693d58dcc06
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Jun 1 23:14:19 2004 +0000
+
+ Fix dumb mistake from a previous commit. __driCreateScreen is now
+ properly block with '#ifndef DRI_NEW_INTERFACE_ONLY'.
+
+commit 7a6eda7137b4b4a384022b7e0e7db7f9ef98fbbc
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Tue Jun 1 23:04:10 2004 +0000
+
+ add support for GL_ARB_texture_env_crossbar
+
+commit 60b0e12830310e7c05b4043857ed277b28b1c781
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Jun 1 20:24:59 2004 +0000
+
+ Convert 'Display *' to '__DRInativeDisplay *'. Only portions of the
+ interface that are not *strictly* part of the old interface were
+ changed. Replace GetDrawableInfo type (dri_util.h) with
+ PFNGLXGETDRAWABLEINFOPROC (dri_interface.h). Wrap __driCreateScreen
+ (in drivers that use the new interface) with '#ifndef
+ DRI_NEW_INTERFACE_ONLY'.
+
+commit ec032cb17b2ffb7b9401604258234998612b445f
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Jun 1 19:20:12 2004 +0000
+
+ Fix a couple issues related to GetDrawableInfo. In the new DRI
+ interface, it must be available from libGL, and the the typedef in
+ dri_util.h was wrong.
+
+commit 0521ab46c1340d785ecfe64f4041c86912bc86af
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Jun 1 17:06:09 2004 +0000
+
+ Replace occurances of GLXDrawable and Drawable with __DRIid.
+
+commit fabe2b9ba38e95bd21a35b265bfc403fa3cb2883
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Jun 1 16:38:56 2004 +0000
+
+ Replace all occurances of XF86DRIClipRect (and related typedefs) with
+ drm_clip_rect_t.
+
+commit a249ad756f72835c5894e389150207b98532e114
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Jun 1 15:42:14 2004 +0000
+
+ Fix a couple typos that prevent building with DRI_NEW_INTERFACE_ONLY.
+
+commit 0c0f5c2b728da25e7f390922c6ceb252b42ce0ff
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Tue Jun 1 02:00:25 2004 +0000
+
+ Remove unnecessary #include "mach64_common.h" which breaks the build for me.
+
+commit f016e2509efd07f789793c12cf44caacc8bac9aa
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Tue Jun 1 00:39:34 2004 +0000
+
+ Missed in last commit:
+ Build fixing for FreeBSD. GNU make is installed as gmake, so make a MAKE
+ variable (defaults to "make") and use that. Use the MKDEP and MKDEP_OPTIONS
+ more. Our shell isn't bash, so change the instances of ">& /dev/null" to a more
+ compatible "> /dev/null 2>&1".
+
+commit 2fb5d15ce38d8d298c4fbf8c0bb336154a314b13
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Tue Jun 1 00:06:14 2004 +0000
+
+ Build fixing for FreeBSD. GNU make is installed as gmake, so make a MAKE
+ variable (defaults to "make") and use that. Use the MKDEP and MKDEP_OPTIONS
+ more. Our shell isn't bash, so change the instances of ">& /dev/null" to a more
+ compatible "> /dev/null 2>&1".
+
+commit c1311d80bd0b2661581bb510c18780d7603cd014
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Mon May 31 22:34:49 2004 +0000
+
+ Use MKDEP make variables instead of hard-coding.
+
+commit e35282cc13acc61d1a789ab729ae6a0ea72aa17b
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon May 31 06:24:36 2004 +0000
+
+ reworked FXT1
+ minor fixes to fxMesa
+
+commit 54f4f44843a2ea422cf78a04720562ecc1a5abfd
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Mon May 31 00:58:34 2004 +0000
+
+ fixup mach64 for newer build/types
+
+commit 11b3028e7ba2fc3b985ab84d7227c290608f83f6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat May 29 14:41:52 2004 +0000
+
+ check for null pointer in Fake_glXCreateGLXPbufferSGIGIX() (bug 961376)
+
+commit 2ac56c66d2d935786eb76b9fea4f94a78cdc41ff
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Fri May 28 19:27:33 2004 +0000
+
+ use new interface for tdfx (phase 2)
+
+commit cd630037a2ec50296f60f22a25ed101b7663324a
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Fri May 28 16:50:42 2004 +0000
+
+ Fix type conflict.
+
+commit 1071162b366d733ff2f46f6234d66e1db5282f32
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Fri May 28 14:55:07 2004 +0000
+
+ update so it compiles again (untested driver path!). Basically ported changes from r200_maos_arrays.c cvs rev. 1.3-1.5.
+
+commit 957b7343228e28d62a1c1e96903bb2a0b74dec20
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Fri May 28 14:50:36 2004 +0000
+
+ remove never finished verts path (r200_maos_vbtmp.h, r200_maos_verts.c) and unused R200_OLD_PACKET macro
+
+commit 8cdccc82d7948daee256e092a5253d49e277ef75
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu May 27 22:49:12 2004 +0000
+
+ Define PFNGLXGETMSCRATEOMLPROC so that DRI will build without including
+ glxext.h.
+
+commit b3981ab6e6762b4205ca5302d93be129f648a9cf
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu May 27 22:31:06 2004 +0000
+
+ Move dri_util.[ch] and glcontextmodes.[ch] from dri_client to common.
+
+commit aaaf38d37215aa1536ff34ec370ecfc04111af22
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Thu May 27 16:56:47 2004 +0000
+
+ change some explicit references to texture units 0/1 to unit < MaxTextureUnits (Andreas Stenglein, Ronny Vindenes)
+
+commit d44e9e39da2663bc2fc610ba1a117ac3ea0b4c8a
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu May 27 15:21:44 2004 +0000
+
+ Build the fogcoord demo.
+
+commit 7867799c72c3420994389406c5f64263304b74d6
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu May 27 00:05:13 2004 +0000
+
+ Modify glprocs.h to have two tables instead of one. The first table
+ is just a huge string will all the function names in it. The second
+ table contains offsets into the first table instead of pointers to
+ strings.
+
+commit c1d455f5827e7044dcb316dadc755a6f91299906
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu May 27 00:03:53 2004 +0000
+
+ Convert all calls using _glapi_Dispatch to use the new GL_CALL macro.
+
+commit 77bbbb3759c83e66f0391651597c400fea2d95e4
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed May 26 17:12:56 2004 +0000
+
+ Minor code simplification.
+
+commit 63b2e426acc81b0b5da82ca290ea42b5c9db7423
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed May 26 16:38:38 2004 +0000
+
+ Test the overhead of just calling a GL function. The Python script is
+ a helper to do multiple runs and compare the results.
+
+commit e6e0ba781b0a6a1b8747cae49ca622a6a61b1bf8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 25 22:29:52 2004 +0000
+
+ only use simple_z_textured_triangle if depthBits <= 16
+
+commit 3953e12890a7c1d45705126f581ae4c0893e917b
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue May 25 21:14:47 2004 +0000
+
+ Added a couple fog coordinate related register defines.
+
+commit a1cafadb260f1407af715653fa1b7f0727c6c2e3
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue May 25 16:51:56 2004 +0000
+
+ Modify the generate assembly code to not use global registers %g2,
+ %g3, %g6, or %g7. This should eliminate the warnings about global
+ registers used without a ".register" directive.
+
+commit 680d390550ab4f4e62e3253256bc21c9a7d5b98d
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue May 25 14:19:30 2004 +0000
+
+ oops
+
+commit 6db87bc889ce33a1483ae2299e7e534c6fe235d6
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue May 25 07:22:41 2004 +0000
+
+ FXT1 texture compression (initial draft)
+
+commit fb4449033bfb1363cdffefd8810247fe7a92dc0d
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon May 24 23:05:09 2004 +0000
+
+ Fixed a bug that caused every dispatch function to call glNewList.
+
+commit 0f8a2718a3b4f5f89b6a0ba324da890e3a0377bf
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Mon May 24 22:26:49 2004 +0000
+
+ WAIT_IDLE_EMPTY in savageSwapBuffers until real frame throttling is possible.
+
+commit bbd557fc53669132fb1f93f7bb28b2939fa70f51
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Mon May 24 20:48:27 2004 +0000
+
+ Clean up some warnings by making sis_fatal_error a macro, and let it take an
+ argument of a message to print. Make some assert(0)s use sis_fatal_error.
+
+commit 8c805fed0f8ec97ce8748918e382ceafab291c8d
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Mon May 24 20:09:59 2004 +0000
+
+ Add missing sisInitDriverFuncs call. Fixes segfault.
+
+commit 958103c77c7857ed3ba768814ceccd944567c0f8
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon May 24 17:48:21 2004 +0000
+
+ Generates assembly dispatch stubs for SPARC. Generates different output
+ than glsparcasm.py, but the assembled code should be the same. The seems to
+ only work with GCC version >= 3.0. The older preprocessor doesn't like the
+ embedded # in the GLOBL_FN macro. On the SPARC system I used, /ccs/bin/as
+ didn't like the @function, it would only accept #function.
+
+commit 257e474474b929b9a407e284601c8665cdc42111
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Mon May 24 10:43:43 2004 +0000
+
+ stop crash when debugging
+
+commit 9e29536f285a9ce3f23305417c50e96a6514ed54
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Fri May 21 17:03:38 2004 +0000
+
+ use OGL 1.1 color logic ops in addition to GL_EXT_blend_logic_op
+
+commit cbde37a31c3e5a91686c1d1c89f2939329a9c4a7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 21 15:57:11 2004 +0000
+
+ fix bug #957792 (swap buffers), plus misc clean-ups
+
+commit 27eb8fa35a76c7c9d79130d1fb9138dbeb455182
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 21 15:51:13 2004 +0000
+
+ remove duplicate GLX_DRAWABLE_TYPE token, sorted tokens by enum value
+
+commit 7225a7292a0e2a895607b1b358c64ced6280aacd
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Fri May 21 14:51:33 2004 +0000
+
+ (Dieter Nuetzel) fix typo in help screen
+
+commit 254d519c6a55a2700564b99f5ffcd8ba7984ae93
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 21 14:48:58 2004 +0000
+
+ s/core/main/
+
+commit 1bf9499ee172b25a9021e7b00b766e97faa34ad4
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Fri May 21 14:20:26 2004 +0000
+
+ fix constant texture environment color setup for texture units > 0
+
+commit ad447964e07031a1fe722e938351668e50ddf51d
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri May 21 03:51:55 2004 +0000
+
+ s/sop/rop/ in a couple places to fix some bugs. Added some parameter
+ information to several functions.
+
+commit 4a54ace195b3775ba5408e6f71464d924ede0237
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 20 22:27:59 2004 +0000
+
+ lots of updates
+
+commit 1d91a0b9086452472dc7c336add6305d16415ae7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 20 22:27:30 2004 +0000
+
+ updated URL
+
+commit 0c963b31422fda4de5ef3c001787b2125332b549
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu May 20 21:24:27 2004 +0000
+
+ Added all of the missing ARB extensions. Added all the enums and
+ types for all core versions and ARB extensions. Converted all tabs to
+ spaces.
+
+commit a863d4bffba3abfa7226e7b727d3c44bbb8d82be
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Thu May 20 06:11:16 2004 +0000
+
+ doc update; minor changes
+
+commit 033728555cb2f39d8c77f228e1eccc45329bb40a
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Thu May 20 00:31:26 2004 +0000
+
+ Add support for GL_EXT_blend_[func|equation]_separate. Fix GL_EXT_blend_color. Remove support for GL_EXT_blend_logic_op (cannot be supported together with blend_equation_separate unless a software fallback would be added).
+
+commit a671fea40498153605a529e5fc93a7293cceb733
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Thu May 20 00:23:30 2004 +0000
+
+ add check if drm is new enough for packet R200_EMIT_RB3D_BLENDCOLOR
+
+commit b6933b68114a6eeeab7ad064a553e20b64e16e82
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Thu May 20 00:19:48 2004 +0000
+
+ add missing R200_RB3D_BLENDCOLOR register
+
+commit a9d033c4603b9e5d5ed05fd4b3738e61f1ee4e72
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed May 19 23:33:08 2004 +0000
+
+ Added some in-code documentation. Modifed glParameter to be a
+ subclass of glItem.
+
+commit d54549df239cd0fd64c94f59d632a64cf3115b75
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed May 19 19:12:05 2004 +0000
+
+ Re-ordered categories. Added extension number information.
+
+commit fc332f008c8de215de59436c0ff5550b7ffd08e2
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Wed May 19 08:16:44 2004 +0000
+
+ added GL_NV_blend_square
+ fixed alpha blending modes for Napalm
+ minor fix in compressed texture aspectratio adjust
+
+commit 73f59b01eacf62c2e0ba720d4fbf250773aeabf2
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue May 18 18:33:40 2004 +0000
+
+ New scripts for processing the XML version of APIspec. Mail is being
+ sent to mesa3d-dev with a more detailed description.
+
+commit 3e15e861b266d7bb7effc3664a299e4141759264
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue May 18 07:13:54 2004 +0000
+
+ added some core-level extensions
+
+commit b7460bb62a6a021b4a0541c45437e2c6686c60d2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 17 14:19:57 2004 +0000
+
+ fixed some bogus array enable tests (Soju Matsumoto)
+
+commit 3ef972f538e1ff207f5919a8068bf14af18fb270
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun May 16 22:07:02 2004 +0000
+
+ Replaced 'core' with 'main'.
+ Other minor updates.
+
+commit de4b3bb7766f242cd7c46841250405f5fd6bb7d3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 14 23:11:53 2004 +0000
+
+ minor doxygen updates
+
+commit d72834dd0ba471bbd7fe16aedc800f290ea46651
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 14 14:39:59 2004 +0000
+
+ Minor fixes/optimizations to type conversions in draw_depth_pixels().
+ Fix off by one errors in a few assertions.
+
+commit b9cbd5272452dcaae1d1b2462ed3001d64dc55e8
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Fri May 14 13:01:08 2004 +0000
+
+ Fix GL_MIN and GL_MAX blend equations (set blend factors accordingly). Fix errors when blending is disabled (set blend equation and function to default values).
+
+commit d359f96a180596389e975746c1de0df0a24ca59c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 13 18:24:20 2004 +0000
+
+ cast driHwLock assignment
+
+commit f4bc136273576ec73a9cf57513b6e71f56856890
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 13 18:09:53 2004 +0000
+
+ silence warning in assignment to gp.value
+
+commit 7d749ec9beaba62c5d5264eb9657cd9651bd4769
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 13 18:07:30 2004 +0000
+
+ fix parameters to StoreImage()
+
+commit defb035b6cf03c555318d9dd48864242ed036f39
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 13 15:26:51 2004 +0000
+
+ Another pass at implementing byte-swapped texture formats.
+ More code re-use this time.
+ Most formats now tested/debugged with new packedpixels.c test.
+
+commit 46bc595969e23ea1a61b684076f8b0608ff4d714
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 12 23:05:21 2004 +0000
+
+ Test program to check that packed pixel formats work as expected with
+ glTexImage2D. All samples should appear identical. Press f/F to change
+ the internal texture format.
+
+commit db862e4d4c575fa9ea306fd4d271b58d1b77e83b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 12 22:54:47 2004 +0000
+
+ GL_BGR can't be used with the packed types, according to the GL spec. Enforce such.
+
+commit f35b47fa623991b296b7a9a4e280956a5106f976
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 12 21:53:34 2004 +0000
+
+ some component ordering bugs in extract_float_rgba()
+
+commit ba8788fee7fccafa2db7dd4ee3c7878031ef9fc5
+Author: Erdi Chen <erdi@freedesktop.org>
+Date: Wed May 12 18:37:11 2004 +0000
+
+ Fixed code that has computed incorrect number of modes.
+
+commit c318d507170d1b7cec14b76647e93ab28fb93462
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed May 12 16:36:30 2004 +0000
+
+ Added support for GL_EXT_blend_equation_separate and
+ GL_NV_blend_square. Fix a bug in the way the GL_MIN and GL_MAX
+ blending modes were handled.
+
+commit 0e22d598e679b2d2c56b4dbd63c3212a5800d999
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed May 12 16:29:55 2004 +0000
+
+ Fixed a bug that showed up in several multitexturing games (Quake3 and
+ ThinkTanks were tested) that was related to the recent 4 TMU changes.
+ Removed the un-needed TexBlendColorPipeNum field from the hardware
+ context.
+
+commit f1cfb4b7a79c38a6c03795eb5e3dd9076e51d9ef
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 12 15:29:36 2004 +0000
+
+ fix compiler warnings (Jerome Glisse)
+
+commit 2e66f7eef79610675d66624aba97190ecca26299
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 12 15:05:53 2004 +0000
+
+ fix parameters to StoreImage calls
+
+commit 71e373f18648584ade680bca7840a57e0d3cb725
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 12 15:02:49 2004 +0000
+
+ remove last remnants of NEWTEXSTORE stuff
+
+commit 5726a238d4d0d6dbe19ddb58cd07f7eeefb58fa2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 12 14:51:51 2004 +0000
+
+ remove the last line of the previous patch
+
+commit 86c7541f9b9b8f24d53724187729fdca25a84056
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 12 14:48:39 2004 +0000
+
+ fix red/green/blueBits typos
+
+commit 751c9d096d7bca4cc7d2f8a8a4660d160d785134
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 12 14:04:29 2004 +0000
+
+ obsolete in favor of regular Makefiles
+
+commit 8813cb56b0e5c61cfcf1a33ed887f46d4f5dbf09
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 12 14:00:36 2004 +0000
+
+ yank bgr233 texformat. minor comment updates.
+
+commit e61d60eb813ae1891e5c9f65c16f23cc45a48841
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Wed May 12 05:36:24 2004 +0000
+
+ minor fixes
+
+commit a156b49800c1419785d0709b78ef0d35e6dab5df
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 12 01:50:30 2004 +0000
+
+ Added big-endian texture formats.
+ Moved CI->RGBA palette lookup into texel fetch function.
+
+commit 939f6a724e991a9f994c6e2fffe96c5971a1f749
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue May 11 19:59:13 2004 +0000
+
+ Added a 4th square to the output. Expanded the message written to the
+ console.
+
+commit 5f6691f371c5f864d08521cc3431323e6b121098
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue May 11 19:57:58 2004 +0000
+
+ Added simple EXT_blend_minmax test.
+
+commit d2f18ec6fab27e2b09879b4ecd6b65a3d9bfc56f
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue May 11 17:48:33 2004 +0000
+
+ Added simple NV_blend_square test.
+
+commit 366a27d2b99ef9e15623d139e74b596161ddb4de
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue May 11 16:17:49 2004 +0000
+
+ Fix a possible segfault caused by the SGI_make_current_read changes.
+
+commit 4e0d575c64536bef8d3221ba5b9bd2410a8d330b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 10 22:37:20 2004 +0000
+
+ Don't call calculate_derived_texenv() from in _mesa_TexEnv().
+ Minor code rearranging.
+
+commit d6693c4294249c041ac20ad4e67a1bfa23f677e8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 10 22:07:57 2004 +0000
+
+ s/GLX_PIXMAP_BIT_SGIX/GLX_PBUFFER_BIT_SGIX/
+
+commit 352d4dbfb24c65f327759c00c7db7d30a9482e35
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon May 10 18:16:03 2004 +0000
+
+ Add EXT_vertex_cull support to mesa
+
+commit 39fe9a7fe38081d6f40c4bf388a132c583330912
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon May 10 07:42:26 2004 +0000
+
+ fixed bugs in fxddtex.c
+ cleaned up win32 definition files
+
+commit 1cbee9c159384e210e7dbbe0f5acd9d78cf4ce23
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Sun May 9 04:38:42 2004 +0000
+
+ Fix solo build, add missing #ifdef NEW_INTERFACE
+
+commit 302781f6cc09434c379b3c39a80edab346910915
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sat May 8 10:08:21 2004 +0000
+
+ Added german translation to option texture_units.
+
+commit c753f367eb838030c90d9dd07e317c1d810fa3e3
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Sat May 8 07:48:13 2004 +0000
+
+ Don't mix variable definitions and other statements (fixed build on old
+ compiler).
+
+commit c94a96bae4225f6c31b5908f633703c03aee7079
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri May 7 22:46:37 2004 +0000
+
+ Add support for GLX_SGI_make_current_read.
+
+commit 3d769b81faea6a066c07c4e5ee0df9cf12870b92
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri May 7 22:43:52 2004 +0000
+
+ Warning clean-ups.
+
+commit 216d980d53ab2c4237e764c4032a3338193596f1
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri May 7 18:20:43 2004 +0000
+
+ Uses either the GLX_SGI_make_current_read or GLX 1.3 interface,
+ depending on which is available.
+
+commit ed046bf842a6c29b84539af5b8e11b5b7e958e35
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri May 7 18:04:23 2004 +0000
+
+ Enable use of new DRI interface in i830 driver.
+
+commit d81d2aeca8ee43ddec39a043a5acb4cb44be70ac
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri May 7 17:30:31 2004 +0000
+
+ Add support for the 3rd and 4th texture units. The actual number of
+ available units is configurable via the texture_units option.
+
+commit f539860f792feaec69f8033f2b0b86cc2212ee0b
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri May 7 17:29:48 2004 +0000
+
+ Added a config option to set the number of available texture units. A
+ German translation is still needed.
+
+commit 4a1d4a25e2efd0be02d7aa2b31337fbcd2aac24b
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Fri May 7 06:00:53 2004 +0000
+
+ documentation update
+
+commit 54f1027362fa9463dde0caa195c8fb2940aa2042
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri May 7 00:33:12 2004 +0000
+
+ Refactor "classic" texture environments to be implemented in terms of
+ ARB_texture_env_combine state. Add support for
+ ARB_texture_env_crossbar. Combiner state is only emitted for operands
+ that need to be emitted for the combine operation.
+
+commit 4ab8b77520f77a7a28a688c7599c917703f1a5e7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 6 20:28:26 2004 +0000
+
+ fix rectangle texture clamping and border-related code
+
+commit 122910070360b5044b768f08c742f871a5579bfa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 6 20:27:32 2004 +0000
+
+ Added menu options to test border modes and linear/nearest filtering.
+ Adjust texcoords so we always have to sample the border.
+ Other misc changes.
+
+commit eec8dbd512cc4fd197df85a1805009d0829909c0
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed May 5 21:32:16 2004 +0000
+
+ Remove a debug printf that should not have been left in.
+
+commit cd6ca58c3f50dd8647c5b48b1350bbd87e27219b
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed May 5 20:17:19 2004 +0000
+
+ Modified to use vertex arrays. Vertex arrays and immediate mode calls
+ are toggled with the 't' key.
+
+commit 95a0bd6762737bb25bdf5c4147da9d1372f6aac3
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed May 5 20:16:17 2004 +0000
+
+ Added support for the 3rd texture coordinate for cubemaps and 3D
+ textures. progs/demos/cubemap and progs/demos/stex3d seem to work
+ correctly at all tcl_mode settings. x86 / SSE codegen is currently
+ disabled.
+
+commit 4045b6e5b85ee407a21559155c34d16fd63dc79c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 5 00:28:17 2004 +0000
+
+ don't need auto mipmaps
+
+commit 9c1b13ff6a2fb873cada61271f382a912ad99631
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 5 00:28:01 2004 +0000
+
+ fix a few bugs when using GL_REDUCE convolution mode
+
+commit 07cc9af601301eb3c447833337f549fef51b932a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 5 00:02:23 2004 +0000
+
+ documentation for TexImage code changes
+
+commit cb40ebd8a24ba9c41c7c4c6fdd2f22a506787dd4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 4 23:57:12 2004 +0000
+
+ added -c option to exercise convolution of glTexImage2D
+
+commit 2b012578ee519561365640e23272b71898378c45
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 4 23:56:24 2004 +0000
+
+ fix a bug on the convolution path
+
+commit 71f88aeb10d67766d7b69e59e2cd94ba2c55ef1d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 4 15:17:44 2004 +0000
+
+ obsolete
+
+commit 07281d37a7d37f9d5b49cee786dc158a0e5b48c6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 4 15:12:22 2004 +0000
+
+ remove unneeded line
+
+commit bdd15b5749b45929fa642c3e47997f52eb07fbe5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 4 15:11:06 2004 +0000
+
+ Fix minor warnings found with g++.
+
+commit 33ffbd1c58dc8582f67d946f9eb26127e9851a10
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue May 4 06:27:06 2004 +0000
+
+ texture compression: getting warmer
+
+commit abe4a72cfcde712d4b18832e2751d26b94a7718e
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Tue May 4 00:12:22 2004 +0000
+
+ add r200 x86 sources
+
+commit b05d87d6f53930cb24eb5b3b96b09f896222ee39
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Tue May 4 00:10:24 2004 +0000
+
+ use X86 sources in X86 build, use none in other
+
+commit 0a8b528bf5e2fc7f2af2f478fd2fdd36ee57245f
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Tue May 4 00:09:47 2004 +0000
+
+ switch to X86_SOURCES
+
+commit 4d6f05c971a042eed200984233e33522ca3ed4e7
+Author: Adam Jackson <ajax@freedesktop.org>
+Date: Mon May 3 23:33:21 2004 +0000
+
+ Skeletal fallback-only DRI driver. Initial checkin, not quite working yet.
+
+commit e25dd06b4ac56efa7a73cb7d320876c271debadc
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Mon May 3 11:31:29 2004 +0000
+
+ remove this use the one from the DRM
+
+commit 898c03a5736fea3255d76252050def25070e43b5
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Mon May 3 11:30:37 2004 +0000
+
+ add linux-dri-x86 target
+
+commit e8e5b418628e228abaa911c26d7c6396b98f1a26
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Mon May 3 11:29:19 2004 +0000
+
+ the config is included by the Makefiles that includes this file...
+
+commit 47244a8181e1eedd390116a5787d79d17ed94c72
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Mon May 3 11:28:35 2004 +0000
+
+ add asm sources
+
+commit d388f64c0ea5df7b50232642da25e4046cf8d58c
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Mon May 3 11:01:38 2004 +0000
+
+ clean up the common objects..
+
+commit 5f0b6c9f8f72af9c2e1acde4596173d00e47bb69
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon May 3 07:35:57 2004 +0000
+
+ unbloat namespace
+
+commit aa9767c683b5fc09f58b7b73fa2d8214951e8015
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Mon May 3 06:54:54 2004 +0000
+
+ get rid of last few XF86DRIClipRect
+
+commit f7423f462882ce96725e84cf7f28cee2c45f801b
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Mon May 3 06:49:40 2004 +0000
+
+ fix up build for solo/dri
+
+commit 79518b6f37cc5feca1931de558dc8033d2c643a7
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Mon May 3 06:48:33 2004 +0000
+
+ DRM_SOURCE_PATH is in default
+
+commit edc09004fdfda4fec1fd5345b5ee78938e2c896f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun May 2 14:32:44 2004 +0000
+
+ fix StoreImage calls, remove dead code (Adam Jackson)
+
+commit 80fc5ea53e0f1dac9df529965687c159acae057f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun May 2 14:30:46 2004 +0000
+
+ restored _mesa_rescale_teximage2d()
+
+commit 883e7a5906b3e287520c1e52bdb76c47ba9bb4a5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat May 1 18:28:49 2004 +0000
+
+ minor vertex/fragment program tweaks
+
+commit c5cb215e3e89f9307c02395cdfb45f303228d628
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Fri Apr 30 09:48:21 2004 +0000
+
+ FXT1: getting warmer
+
+commit ef5c82bd02926ac851537f1382352f8f6af33ece
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Apr 30 09:44:22 2004 +0000
+
+ If we can't allocate the rowimage - bail
+
+commit 739f50f542392b06fcec1a2dcafcb4a8ef85441d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Apr 30 09:15:58 2004 +0000
+
+ Define GLX_DIRECT_RENDERING in Makefile.template
+
+commit 69ab4fec1220d831afbabc3f578634094bc63b2b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Apr 30 08:29:04 2004 +0000
+
+ AMD64 changes from Ronny V. Vindenes.
+
+commit 4d46e4b26a1b93507663f3c25f8bf9d5a8466ce0
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Apr 29 22:16:29 2004 +0000
+
+ Remove several files that are only used in the XFree86 / Xorg libGL.so.
+ They are *not* linked into the *_dri.so drivers.
+
+commit 74d563cdfbfb07cc666d60dc909e90ddb9949cbb
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Apr 29 12:23:39 2004 +0000
+
+ Allow *_dri.so to build in Mesa tree with the 'linux-dri' target.
+
+commit c35dcfcf0adb335a28fdb1503447655dbb809927
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Thu Apr 29 09:01:41 2004 +0000
+
+ FXT1 preparations
+
+commit af503f3438c53962c1ee65ec69c07cb584672198
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Wed Apr 28 08:39:45 2004 +0000
+
+ updated makefiles
+
+commit eb2281f8c4790085a3c6e208fbbf902ea57099ae
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Apr 27 18:38:23 2004 +0000
+
+ Use the dispatch table directly instead of calling GL functions.
+
+commit d100dfbf27f4695fef039ed5de6ec4ee4c3023d3
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Apr 27 18:37:13 2004 +0000
+
+ Remove include of texutil.h to get build working.
+
+commit 65fdeaca6c1d61dd0297464f22f8073584eedc34
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 27 13:41:56 2004 +0000
+
+ updated other makefiles
+
+commit 8f04c12e0ad876baa7eb9ed379e2b00150b376e0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 27 13:39:20 2004 +0000
+
+ Removed the old teximage code.
+ Moved all code related to specific texture compression modes into
+ new texcompress_s3tc.c and texcompress_fxt1.c files (but not implemented).
+
+commit 186d4d8cf4bd99c46b388e6ea0c60ec1d039be07
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 27 12:55:08 2004 +0000
+
+ added pointer to Vincent (OpenGL ES implementation)
+
+commit bc04d041eb0365913553cdea2c07b83dab8f5414
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue Apr 27 05:59:52 2004 +0000
+
+ transfer routines for compressed formats (avoid SEGFAULT, also prepare for external packers)
+
+commit 5be4c27b28e141506578008a176f41bc1a15fa75
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Apr 26 14:23:33 2004 +0000
+
+ accomodate newtexstore
+ fixed wgl interface for fxMesa
+
+commit 18514500c47ce8f30bb9cc93ab48bf55ccdb9873
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Mon Apr 26 12:45:06 2004 +0000
+
+ remove DitherValues
+
+commit 462183fe4cb6df6d90632d9e2cee881c8d26b1cb
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Mon Apr 26 10:10:22 2004 +0000
+
+ bring over build fixes from stable branch
+
+commit 08fa6de85035c428d77cb88b11a4638b706794b5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Apr 25 15:18:36 2004 +0000
+
+ s/-mv8/-mcpu=ultrasparc/ (bug 941338)
+
+commit ac0cfee885b1a1aa1d03c1005de7b90ab59ff7e6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Apr 25 15:13:56 2004 +0000
+
+ fix HP-UX typo (bug 941576)
+
+commit 41318937efb006e71614633caf2a6272ffb9d945
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Apr 24 14:55:02 2004 +0000
+
+ call drmUnmapBufs() in mgaDestroyScreen (Tilman Sauerbeck)
+
+commit f7b4e0d376359cdbf365337b060127100c41c4d5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 23 20:33:07 2004 +0000
+
+ minor fixes for entrypoint name mangling
+
+commit e946688edac5cdf153652defae3ef732a3487416
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Apr 23 20:20:07 2004 +0000
+
+ Convert R200 driver to use the t_vertex interface.
+
+commit 199972cef06476d308c62c9b21f1ccffeb72cdb6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 23 18:00:00 2004 +0000
+
+ move #define for GL_DOUBLE, to put enums in right order
+
+commit f2f33507748260fe766742a0ed8b02c49d548bd8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 23 17:58:06 2004 +0000
+
+ GL_DOUBLE doesn't follow GL_FLOAT, fix indexing (Keith Harrison)
+
+commit 948dff8932ff52eb90ebd86b24ebb926fd2620f3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 23 17:53:28 2004 +0000
+
+ init mgaScreen->irq (Tilman Sauerbeck)
+
+commit 6d460af6af77a0d5a5b568bcd6094b98e249ba93
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 23 14:16:46 2004 +0000
+
+ Added ctx->Vertex/FragmentProgram._Enable flags. Set when vertex/fragment
+ program is enabled AND the currently bound program is valid.
+ Check _Enable instead of Enable to prevent things from blowing up
+ when someone calls glEnable(GL_VERTEX_PROGRAM_ARB) without actually
+ defining a program.
+
+commit 384800fe12e368f3489111de4572dbc8846a7dea
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 23 14:14:04 2004 +0000
+
+ assorted fixes
+
+commit 180e28e6d49ea0c4cdfbf7b80c4ce26c67574d9a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Apr 23 14:06:02 2004 +0000
+
+ Add fps output
+
+commit 031e86b59723af208f0602afdcc5b729abc055b7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 23 13:58:44 2004 +0000
+
+ remove some errant code from previous check-in
+
+commit fe4b9662936e6749de7b06d55005ba9f31707800
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 23 13:13:30 2004 +0000
+
+ new CYGWIN docs from Eric Lassauge
+
+commit 6e167151f950f024ece04716cc26f977a71fbc8c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 22 23:51:15 2004 +0000
+
+ s,CHAN_BITS/8,sizeof(GLchan),
+
+commit 6d3dc3b8d66843ae23d374ab2d69b8e0c9717a68
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Thu Apr 22 20:04:08 2004 +0000
+
+ fix bracket at wrong place
+
+commit 580548d0461515b4665024c15dfa41d2e0ca7e37
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 22 16:16:42 2004 +0000
+
+ added CYGWIN support
+
+commit 7bd5343990ccccdc5d2d06b8b11dd20fa8e04255
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Apr 22 08:14:48 2004 +0000
+
+ Fix order of EMIT_4UB_4F declarations
+
+commit 66fdc3c948096a53dd304f1906135a041075c0b7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 22 01:10:09 2004 +0000
+
+ added floattex.c to test floating point textures
+
+commit 5b45c1148624f0ee2b93cc15f5c3ae21667f5463
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 22 01:08:36 2004 +0000
+
+ use FetchTexelf() in GetTexImage() to return float textures correctly
+
+commit 3623733472905773957158444aff7d4606d640ff
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 22 00:54:53 2004 +0000
+
+ fix some include file glitches
+
+commit 2fae1bb6df99b3823a47d28ad9c63a9f994f3c9f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 22 00:47:28 2004 +0000
+
+ minor clean-ups
+
+commit 362f1df210d4142259f22d51c5269ed89dc396f3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 22 00:42:38 2004 +0000
+
+ obsolete
+
+commit f959f6e1dc27c71fc0ccc56e09b29101b3bf3b97
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 22 00:27:31 2004 +0000
+
+ New glTexImage code.
+ The gl_texture_format struct now has a StoreTexImageFunc that's called
+ by glTex[Sub]Image[123]D to convert the user's texture data into the
+ specific texture format layout. Now it's much easier to add new texture
+ formats (like the 16/32-bit floating point formats).
+ The texutil.[ch] and texutil_tmp.h files are obsolete.
+
+commit 05a6f2fd484bab59c6e6a381f58808adc26619f1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 21 18:09:14 2004 +0000
+
+ Fix up some assorted issues with initialization of vertex program registers.
+ Some need to be set per-vertex, other per-primitive. Cleared that up.
+ Only need to init temp/result registers if executing an NV vertex program.
+
+commit 6164ae2b5a7ad00181aa2a80634e80e58c8c3fb6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 21 17:51:21 2004 +0000
+
+ only init temp regs to zero if executing NV fragment program
+
+commit c45b7364dab6c3daebc1f1d8d11124af4129074a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 21 16:11:27 2004 +0000
+
+ check return values of _swrast_CreateContext, etc
+
+commit f693b1dc2ef78aab08e0aef40d1ee77b89533ef0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 20 23:25:47 2004 +0000
+
+ removed non-existant arbfpwpos.c, added UTIL_FILES target
+
+commit 74339bf471b2719b0385a0a6062ceee18c663464
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Apr 20 13:03:36 2004 +0000
+
+ Add printing for recently added opcodes.
+
+commit 485438e2be08c6d57110101f76dd41a5f484a4ee
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Tue Apr 20 11:13:11 2004 +0000
+
+ add SciTech's GLDirect driver for Windows.
+
+ This code is donated to Mesa which allows the usage of
+ a Direct3D layer (DX7, DX8, DX9 or complete software fallback).
+
+ No build system exists for this code yet, that will come.....
+
+commit 319f5fd5ec85b4ca845028e6cdb94cca0a00d3d5
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Apr 20 10:28:15 2004 +0000
+
+ Simplify last fix slightly, apply to vtx paths as well.
+
+commit 30a8a0b8fa9e66efb97aef630765e4cdf6d9cb68
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Apr 20 10:18:33 2004 +0000
+
+ When upgrading copied vertices, distinguish between an attribute
+ entering a vertex for the first time and one which was already present
+ but increasing its size. Fixes Brian's normal.c bug.
+
+commit 8be72c5b5dca9b8390914a6d7b8b8a3fb6196df8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 19 23:13:36 2004 +0000
+
+ apply texgen/texture matrix in glRasterPos
+
+commit adcb228fed7c98a2b8ece88946bc31bebbad78b0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 19 22:23:10 2004 +0000
+
+ linux-solo-ia64 config (Stephane Marchesin)
+
+commit 1fc35a44ef1477222570fb2865698682a51019ea
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 19 20:26:30 2004 +0000
+
+ glTexEnviv bug fix
+
+commit ac96356300c90a21f9088eaac5e7f876b00b5d94
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 19 20:24:49 2004 +0000
+
+ in TexEnv functions, check if pname == GL_TEXTURE_ENV_COLOR and fetch appropriate number of param values
+
+commit e63cb85cbc13c083f5d9f4640bb81ba9417a4f28
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 19 15:03:16 2004 +0000
+
+ do texcoord projective division in _swrast_span_default_texcoords()
+
+commit 4697419c43c79585abd067d1dea438861691b9ae
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Apr 18 20:23:24 2004 +0000
+
+ bug fixes for ARB/NV fragment program texture instructions
+
+commit 8e048e72c1cb943a066dc8481a14fcd60257bc04
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Apr 18 20:21:16 2004 +0000
+
+ check for __ia64__ when setting USE_IEEE
+
+commit f4b909bed00cf2b20280bd94be00a4db9d6aa832
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Apr 18 20:17:14 2004 +0000
+
+ updated instructions for new directory tree and makefile system
+
+commit eca88f80195334bd8f1d9be6433468c0a1f48082
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Apr 18 20:14:11 2004 +0000
+
+ added missing SHADER_SOURCES to ALL_SOURCES
+
+commit 51060afb4e252ecf813134659c45f15e07ccd532
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Apr 18 20:13:21 2004 +0000
+
+ hack to use glTexCoord4f and Q variable to test projective texcoords
+
+commit d8b82147c3cb17a06bf41e97141b8427b4580459
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Apr 18 20:11:52 2004 +0000
+
+ Audit/fixes for NV/ARB TEX, TXP, TXB, TXD instructions.
+ Some texture instructions were using wrong LOD.
+ Fixed interpolate_texcoords() so it doesn't do texcoord projective division
+ when using a fragment program. The TXP instruction does that.
+
+commit c83d09e3b09b0b7a48eb0e025c220e95453c2033
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Apr 16 08:30:12 2004 +0000
+
+ Make sure ctx->Driver.NeedFlush is set for Eval-generated attributes.
+
+commit aa9049591564130c236463c3b733ab6b6a50a20d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Apr 15 11:20:48 2004 +0000
+
+ Make _SAT instructions compile correctly.
+
+commit 4d914b80e1f7b8a0ce9ce9566699eaf7847728e4
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Thu Apr 15 05:55:26 2004 +0000
+
+ make sure matypes is built
+
+commit 5772d998f4e0aa10ff06b12d37671d3849f719b1
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Thu Apr 15 04:50:20 2004 +0000
+
+ add drm source dir for solo includes
+
+commit 85dc9fe5436e9eadb8cae09915e7ec9ba1fb7684
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Thu Apr 15 01:35:25 2004 +0000
+
+ get the libraries the right way round..
+
+commit ab37fddbfdb08d339e6a271b104ecd8c636f4c4c
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Apr 15 01:24:57 2004 +0000
+
+ Correct the comments about when the bindContext3 / unbindContext3
+ interface was added.
+
+commit a7abda582082ca345bf1b883cc3c125b3918d5b8
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Thu Apr 15 01:15:38 2004 +0000
+
+ set default page flipping to zero can be changed in header file
+
+commit 643020dd82e05d0e4b06824b2d1b6aa9852a4a17
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 14 23:23:19 2004 +0000
+
+ wrap file in #ifdef USE_TCC, otherwise compilation failes
+
+commit 06535d239bc593ae18c73619f163a1702e8a8999
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 14 21:35:47 2004 +0000
+
+ set CONFIG_NAME = linux-tcc
+
+commit 9a543e56450dd8935bd2b75850b300f009d0574e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Apr 14 21:20:00 2004 +0000
+
+ new file
+
+commit 6fb235661a3a78174e7554b292332a1dbb24f171
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Apr 14 21:19:34 2004 +0000
+
+ Use tcc and the emitted C code from s_fragprog_to_c.c to dynamically compile
+ and execute fragment programs. Very limited and experimental, but works
+ well enough to run arbfplight.c.
+
+ http://fabrice.bellard.free.fr/tcc/
+
+ Compile with 'make linux-tcc', being sure to make clean first.
+
+commit e3b0dde49c8f14d7e5de440e9e914612868078f5
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Apr 14 14:41:18 2004 +0000
+
+ Fail if any subdir fails.
+
+commit f2b3d0828e154f4e3bbd57a88b82fa851b07f26b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Apr 14 13:32:37 2004 +0000
+
+ Hack to get things compiling - include "drm.h" instead of "xf86drm.h".
+ Need to fix this, or get maybe rid of xf86drm.h which seems redundant
+ in a standalone build.
+
+commit 6b3780cd83a5c8aade00d99e3d1517b4f6b7bb5b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Apr 14 13:31:09 2004 +0000
+
+ Link against GL_LIB_DEPS
+
+commit 01e6ff312ee36f50b00ff38a2b74e40fcb4322be
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Apr 14 12:54:31 2004 +0000
+
+ Remove mesa.a when making clean
+
+commit e61df587295e585a3643b523c499d6594962f76a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Apr 14 12:44:07 2004 +0000
+
+ First attempt at building a dri module in this tree
+ -- make target is linux-dri
+ -- will attempt to build i830_dri.so
+
+ The object builds but hasn't been tested.
+
+commit 680ec7f85158eae58fd5ab56da8c66a645883cb0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Apr 14 12:39:58 2004 +0000
+
+ First pass at support for building DRI drivers in mesa tree.
+
+commit 00e01091ceeb7f2d9e81962a7e0e57077e4d37f7
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Apr 14 10:26:47 2004 +0000
+
+ Don't try to use .c=.o rule on .S files when building mesa.a
+
+commit 3a590805d17579dc4a4744aa448208a1bb77ba0f
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Wed Apr 14 08:25:57 2004 +0000
+
+ disable under _SOLO build
+
+commit edf4f53c15254ac53ab80ed127f3ff88f35dff8d
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Wed Apr 14 08:00:52 2004 +0000
+
+ documentation updates
+ Glide3 driver: POINTCAST palette fixes
+
+commit 377ced2bf1423fbb982395c8a35b67ed9a6e0bf7
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Wed Apr 14 02:14:15 2004 +0000
+
+ Add agpmode to the example config file
+
+commit f833df0781d8b32009f6b52a4eff97750968041b
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Wed Apr 14 02:09:52 2004 +0000
+
+ get agpmode from config file
+
+commit 50a8b7b611b324ee837db61efe6fdac8fb062086
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Wed Apr 14 02:08:37 2004 +0000
+
+ Add shader sources for solo build
+
+commit ec5f71d0f3e40a63299d021df6f2f922520750f0
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Wed Apr 14 01:40:18 2004 +0000
+
+ make solo work like before new makefile merge
+
+commit 5d8f7b1197f641edbc0ed18d96a431e95e1923b5
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Wed Apr 14 01:33:27 2004 +0000
+
+ add agpmode to miniglx config file
+
+commit c50d77a7f1b6fcfd9dd7be47ddadf5fad34a25c3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 13 17:35:17 2004 +0000
+
+ minor tweak for Darwin
+
+commit e4e323f388767e2e94713fb735dbdafef7b9b385
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 13 14:11:20 2004 +0000
+
+ check for __AMD64__ when setting USE_IEEE (Ronnny Vindenes)
+
+commit 563dadd674c7679d6246abfd982019287b4d58e7
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Apr 13 13:43:48 2004 +0000
+
+ Build a single string containing the generated 'C' code.
+
+commit bfaca5c64907c78589ed41a2e6bd11c7c7f5640a
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Tue Apr 13 09:43:51 2004 +0000
+
+ fix the usage of GLX_MESA_allocate_memory
+
+commit fb7766853d7fe77b1416afb32f32fb6dc2c442d1
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue Apr 13 07:08:34 2004 +0000
+
+ updated Glide driver documentation
+ fixed SAL/SAR in assyntax.h (NASM)
+ fixed a bug wrt NULL pointer assignment in t_vtx_api.c
+ cosmetics to t_vtx_x86.c & t_vtx_x86_gcc.S
+ enabled STDCALL with codegen (MinGW)
+
+commit 4ba589bbf076f49bd899c7bca90fb186434f23da
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Tue Apr 13 04:58:10 2004 +0000
+
+ make this exactly like XFree86 .. allows 4x to work
+
+commit c0b0b48e5be32a23ad347ab4e80e1c1406bd5b86
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Tue Apr 13 04:11:32 2004 +0000
+
+ Add DRM_SOURCE_PATH to make system.
+ Needed for linux-solo to build
+
+commit 231603893db712d1c467e1b31c5818a9d84ad9e1
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Apr 12 22:41:47 2004 +0000
+
+ Missed one with the last commit.
+
+commit ee22ed2fb4294612e3c4d5d6723e28d723bbb45e
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Apr 12 22:40:54 2004 +0000
+
+ Conditionally compile code for x86 specific TNL codegen. This fixes problem
+ with x86-64 and PowerPC.
+
+ Reported by: sublett on #dri-devel.
+
+commit 7873f856848ce5489f05c79581e2439aaff4bae7
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Sun Apr 11 22:22:23 2004 +0000
+
+ build fix for VMS
+
+commit 2db8fe2906ee3942dcd18d86eba2841e6539018e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Apr 10 19:50:33 2004 +0000
+
+ fix minor glitch with GL_DEPTH_COMPONENT textures
+
+commit 089645799cad23784d02db229cec44422c46cdce
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 9 18:11:45 2004 +0000
+
+ fix max buffer size test (Kyle Bateman, bug 912828)
+
+commit 5eb921382ff378de224ddddf0f66321eb773a38c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 9 17:18:22 2004 +0000
+
+ added extern "C" for C++ (bug 930933)
+
+commit fb31a01f879610341b4000921ce395a0ce97d053
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 9 14:13:58 2004 +0000
+
+ added SPECULAR flag for sprite point functions
+
+commit d0c8352853fe4775a09f57c4fb079dd084a958e7
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Apr 8 23:16:17 2004 +0000
+
+ make note about needing to fix the drm driver to enable SAVAGE_CMD_DMA
+
+commit 32aee1fcc0229d7aca833e68ffb28396d5a7e735
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 8 22:45:02 2004 +0000
+
+ added zreaddraw.c
+
+commit f3b732f5e51afdecdd62ccdb41fce2edc8dde77f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 8 22:40:57 2004 +0000
+
+ use MKDEP var
+
+commit dd74e3676312e0655ddcdc6bb07a983fc31a6167
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 8 22:26:22 2004 +0000
+
+ added -noprefix option for making DRI drivers
+
+commit a3df5990d79220e3461c4d18dd54caa6b2d4afc7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 8 22:25:53 2004 +0000
+
+ minor fix
+
+commit 18e9b2e5f838ee18170f229c17974673f5af0024
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 8 22:25:29 2004 +0000
+
+ lots of Makefile updates for new build system
+
+commit 01eab7c83403b67bda60dcc42cf5fc25c46d797d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 8 22:25:03 2004 +0000
+
+ move pSAREAPriv declaration to be C-compliant
+
+commit 62d3309dc223dd8281f1f618e9c784a2dd804e81
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 8 21:11:12 2004 +0000
+
+ no depend file
+
+commit 78c3edc174b5c28191ed2cfd29b5739b53dc839e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 8 21:10:31 2004 +0000
+
+ don't include GL/gl.h, rely on glheader.h
+
+commit bb16df17674eafa5691e2ec645de78e6e407af24
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 8 21:10:07 2004 +0000
+
+ move 'id' declaration so it's C compliant
+
+commit b303217c1459134e242e6078088088a2428547b8
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Apr 8 08:54:23 2004 +0000
+
+ build fixes
+
+commit caa5f7e75ecdbfa8bae03acfb9369a77baa7833e
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Apr 8 08:10:37 2004 +0000
+
+ remove non-portable whitespace
+
+commit 9f4ccd8aa004054a023cf4add15c990499ac8fc1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 7 23:15:26 2004 +0000
+
+ use new MKDEP, MKDEP_OPTIONS variables
+
+commit 216aedbbc6b2e3532821feec173a089f99fdf340
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 7 22:46:40 2004 +0000
+
+ use # comments instead of //, etc (ajax@nwnk.net)
+
+commit cdd6ba3096769a441096655923758b4eb9362fa8
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Wed Apr 7 11:39:33 2004 +0000
+
+ removed wfx makefiles
+
+commit d3746ca27ece1052c23b4fc1b7d78e5b79868e07
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Wed Apr 7 06:37:50 2004 +0000
+
+ revived linux-glide build process
+ some small Makefile changes for MinGW & DJGPP
+
+commit 40322e1dfa3366a779ba3f4a6ec4418ab9227715
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Mon Apr 5 08:50:36 2004 +0000
+
+ Committing in .
+
+ Correction on last commit (My FTP-server on linux is playing games with
+ <CR>'s)
+
+ Modified Files:
+ Mesa/src/mesa/drivers/common/descrip.mms
+ Mesa/src/mesa/main/descrip.mms
+ Mesa/src/mesa/shader/arbprogparse.c
+ Mesa/src/mesa/shader/descrip.mms
+ Mesa/src/mesa/swrast/descrip.mms Mesa/src/mesa/tnl/descrip.mms
+ ----------------------------------------------------------------------
+
+commit 8cc059ea6474c13bbba4f520ea1a63fd97a32450
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Apr 5 06:49:36 2004 +0000
+
+ protected all codegen behind AllowCodegen
+
+commit 8ef874f1a543c693cfef9c935bed05903800fbfe
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Mon Apr 5 06:12:01 2004 +0000
+
+ Committing in .
+
+ Updated OpenVMS compile support due to shader directory.
+ Removed <CR>'s in arbprogparse.c
+
+ Modified Files:
+ Mesa/src/mesa/descrip.mms
+ Mesa/src/mesa/drivers/common/descrip.mms
+ Mesa/src/mesa/main/descrip.mms
+ Mesa/src/mesa/shader/arbprogparse.c
+ Mesa/src/mesa/shader/descrip.mms
+ Mesa/src/mesa/swrast/descrip.mms Mesa/src/mesa/tnl/descrip.mms
+ ----------------------------------------------------------------------
+
+commit fbb60ede3d5005328cedc9c2fa587e14e6309ed6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Apr 3 16:17:46 2004 +0000
+
+ update revision history
+
+commit 29f0190be772bc46ba2ddb4032e112f49d384cf5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Apr 3 16:16:16 2004 +0000
+
+ minor corrections
+
+commit c2b989f351f160e2c2d6942822903e3187a1d07e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Apr 3 15:28:57 2004 +0000
+
+ minor tweak
+
+commit 51aa7a93ad6a16fa3f77e0f6a975d36fd4a00401
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Apr 3 15:18:13 2004 +0000
+
+ for make clean, include tests directory
+
+commit 3c5d58ccaf97fd1ed65ca9e08faaf911b9bf12d1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Apr 3 15:17:43 2004 +0000
+
+ shouldn't be in CVS
+
+commit 347f1d966ed99a2e9da11eea986a7d7ab8064674
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 2 23:41:18 2004 +0000
+
+ reorder 6.0 / 6.0.1 entries
+
+commit 2501fa1197d4a2b20fccd53e049575f394926f56
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 2 23:37:02 2004 +0000
+
+ merge from 6.0 branch
+
+commit 8b7da14b823145646da44e10cced0adeaa29d884
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 2 22:07:53 2004 +0000
+
+ added some assertions, just to be safe
+
+commit ec38d1c22c5960cf4a611b28e872ea6b07c45782
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 2 22:07:23 2004 +0000
+
+ fix bad array indexing in _save_current_init() that caused context state to get clobbered
+
+commit ff1a015ca86ed4ea2ca3fdd49ed9daaae19359a2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 2 17:27:46 2004 +0000
+
+ Implement ARB_f_p KIL correctly.
+
+commit 17355e8b38d4581a069d3daf1d1bba87f1eb3612
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 2 17:17:00 2004 +0000
+
+ add braces to silence warnings
+
+commit 7feb5289056993f7e29a93296f06278cb162898b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 2 17:01:01 2004 +0000
+
+ added FLUSH_CURRENT() call in GetMaterial() calls
+
+commit f17980cdb7ff544a366a16775688e3bb237acc57
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Fri Apr 2 09:34:39 2004 +0000
+
+ got rid of the notify routine as intermediate step
+
+commit 94922b9d2d801b780b00b030d4ec60381c2eef26
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Fri Apr 2 09:12:42 2004 +0000
+
+ disabled naughty cheats and protected the choosers behind AllowCodeGen
+
+commit 77865f81c9ce422b6f23bb105c632c2c6fb9bd67
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Fri Apr 2 06:42:04 2004 +0000
+
+ added codegen'ed choosers
+
+commit 8b0afe0a67ee348bd0d71cc52d980e570f6daa2c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 2 05:10:17 2004 +0000
+
+ fix error in rgb332 texel fetch function
+
+commit 96f17ea93811e77f35f7d23d8c89e5256c45f9ad
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Apr 1 17:34:09 2004 +0000
+
+ Rename _x86_ symbols to avoid conflict with r200 driver
+
+commit f41579cd9edca26a9d601fc94deaf50ffdd87996
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Apr 1 17:32:14 2004 +0000
+
+ Remove test for USE_X86_ASM & HAVE_NONSTANDARD_GLAPIENTRY
+
+commit d1c1056309dcfd771da97cf53d46676533b9e419
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Thu Apr 1 11:10:18 2004 +0000
+
+ Define empty _tnl_x86_exec_vtxfmt_init if USE_X86_ASM is undefined. This
+ fixes a missing symbol in libGLcore.a.
+
+commit e5c7f44009cdc9817d7026fda2a3fadbba0e65df
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Thu Apr 1 06:53:22 2004 +0000
+
+ codegen'ed versions of the 2nd level dispatch
+
+commit 13822537a7b0149034edee1b43ac51fd62dcb977
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Wed Mar 31 08:31:41 2004 +0000
+
+ fine-tuning x86 gcc codegen
+
+commit b48c575983dcd6bbffa3925565d45cadbb95fae2
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Mar 31 06:36:30 2004 +0000
+
+ dynfn --> _tnl_dynfn
+
+commit 3e280b3fe7e295b063c7985273c0623a4a2e22bd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 30 23:05:56 2004 +0000
+
+ these are now in the shader/ directory too
+
+commit 27eb79c9dc2ac16114bf617d6c2919e702086354
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 30 22:52:00 2004 +0000
+
+ these files now live in the shader directory
+
+commit bcc6a02afc1c6e3bfc233d3fad8d2fd9e85d3130
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Mar 30 21:55:14 2004 +0000
+
+ Why are there two copies of this file?
+
+commit 41356014599ff1ce23279e49a8a1f5b209497d5e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Mar 30 16:34:45 2004 +0000
+
+ Make the output a little more likely to compile...
+
+commit a7f52a9ba1175174efb98a145248da331c9d4c54
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 30 15:55:10 2004 +0000
+
+ Reorder some code so we don't upset program state when there's a parsing error.
+ Be sure to assign program.Base.String pointer.
+
+commit 41d389909bc87d21cf7ef8639bead1b4494e3b0e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 30 15:53:58 2004 +0000
+
+ Insert original fragment program instructions as comments.
+ s/__inline/INLINE/
+
+commit ff7d3bb7df7a9d526d10dd408aa7ac4eb8b980c4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 30 14:56:47 2004 +0000
+
+ added hpux10-static config
+
+commit 52fb07e2b2e4b207fa519f25468a3d2105fca393
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 30 14:47:02 2004 +0000
+
+ merge from 6.0.1 branch
+
+commit 257c085db9df083673e2826c93b7625345aa959d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Mar 30 11:12:37 2004 +0000
+
+ Amusing utility to print ARB_fp programs as C code
+
+commit d1c38f74722b03427a3fb015220b05455d3d7488
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Mar 30 00:23:25 2004 +0000
+
+ Add #ifdef protection around the file to prevent DRI build breakage.
+
+commit 388c45596052823b9b3dbc132c5e801a3408acf8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 29 16:34:01 2004 +0000
+
+ fix array indexing for UP4B and UP4UB
+
+commit eeb5eeb2a62627d2a547f6739105c1418caf6d9d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Mar 29 16:01:18 2004 +0000
+
+ Accomodate ARB_fp XPD opcode separately from NV_fp's X2D.
+
+commit 292fa335d68ba82184e46b2dce87091f85e29e46
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 29 14:58:42 2004 +0000
+
+ Take a stab at updating the VMS files.
+
+commit 788461fc819d7954461e98cce4cad60dda3193e0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 29 14:53:49 2004 +0000
+
+ fix the build
+
+commit 076c1c200082ae8062f2bd49b76bdc8f929cf3ae
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Mar 29 14:01:56 2004 +0000
+
+ new files
+
+commit 2861e737e84e4884109b9526ac645194ba892a74
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Mon Mar 29 11:09:34 2004 +0000
+
+ Moved from src/mesa/main
+
+commit c8100a02d28c8a424f69723778abebd950914bc6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Mar 29 11:05:02 2004 +0000
+
+ First round of codegen for t_vtx_api.c -- ie the Begin/Vertex/End code.
+ Enable with env var: MESA_CODEGEN=t.
+
+commit 638ea113b962bfba322033ffc4658335a10cb865
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Mon Mar 29 11:01:57 2004 +0000
+
+ This wont be needed any more
+
+commit cfccb7e0ca7d8df3ac925efc338d1af6ba510019
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Mon Mar 29 10:58:58 2004 +0000
+
+ Moved to src/mesa/shader and renamed to arbprogram_syn.h
+
+commit 31df7c92a2bf1b5f21d99e8236cb8c50e4f04b1d
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Mon Mar 29 10:57:16 2004 +0000
+
+ Moved to src/mesa/shader and renamed to arbprogparse.[ch]
+
+commit 9661d911ee91122ea5829e8f3c9a0e2967cc76a6
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Mon Mar 29 10:54:32 2004 +0000
+
+ Moved to src/mesa/shader
+
+commit 71c7c1feb6ed3453d1f3238ffefa8f7827ad2c8a
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Mar 29 06:51:41 2004 +0000
+
+ code cleanup heheh
+
+commit 238693544cc77c53395b8cdade0c5df3b844aaa7
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sat Mar 27 01:04:09 2004 +0000
+
+ Forgot to set SAVAGE_NEW_CULL in savageDDEnable_s3d.
+
+commit 5c2040c7684c4aa9230e2ed344c4bde6ee49552d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 26 23:58:08 2004 +0000
+
+ minor fixes
+
+commit 1c8e825c2a926c65d0728f7884d61b0ba38e57a6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 26 23:57:32 2004 +0000
+
+ added GLW_SOURCES for IRIX
+
+commit 79b372b92a42aeee11f0500fefe8fc92126e39e3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 26 23:54:53 2004 +0000
+
+ fix some warnings
+
+commit 7b776de12c3e2035f49ccd09d42a655dde90d26d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 26 23:52:47 2004 +0000
+
+ tweaks to APP_LIB_DEPS (Dan Schikore)
+
+commit 58fa2a8c5049b209b6bcaffe2530daea0314ef27
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Fri Mar 26 23:27:24 2004 +0000
+
+ Enable drawing directly to the (now tiled) front buffer.
+
+commit 1e50e4046f6a85319ef33033d4b529345fd08ddd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 26 22:50:04 2004 +0000
+
+ added .SUFFIXES : .cc line
+
+commit 533befc8f9c178df024c6d3a70e6b31966981f0d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 26 21:48:09 2004 +0000
+
+ don't try to make GLwMDrawA.c by default since it needs Motif
+
+commit df8bc572587f04b29055bb3a36f8c3b724c63b96
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 26 21:38:45 2004 +0000
+
+ Don't use pushd/popd.
+
+commit d6de4d8b33e72cde9f5f14c0d2d21071ea007fc2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 26 20:37:19 2004 +0000
+
+ new Makefile
+
+commit 46727c74964faa1e165be81cdbe61c6dbd105b4c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 26 20:31:05 2004 +0000
+
+ Tweaks for make clean / realclean.
+
+commit 7a5eb9a7606bd951cb9cba56b0ff96c121084d44
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 26 18:06:23 2004 +0000
+
+ increase MAX_TEXTURE_LOD_BIAS to 11.0
+
+commit f132413965a49c0554988a88edb8b101de657493
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 26 18:05:36 2004 +0000
+
+ clamp BiasMin, BiasMax to reasonable values
+
+commit 04800374eef6eb906203e8721a2b8b208af2486f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 26 15:48:21 2004 +0000
+
+ obsolete
+
+commit f4044955cadd2442ca0d2bf5a56d1e1341e32a4b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 26 15:46:53 2004 +0000
+
+ added glw to SRC_DIRS
+
+commit 57dcbb5d4b879f03fe4d099c5ecf05de56718cf5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 26 15:37:26 2004 +0000
+
+ added _DEPS lines to specify -L/usr/X11R6/lib
+
+commit 1f54fc9b8256ba8cad9148cd4f5125af67d0da87
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 26 15:36:33 2004 +0000
+
+ added OSMESA_DRIVER_OBJECTS and COMMON_DRIVER_OBJECTS
+
+commit 22388c1902b4d00d1def0b416e690c58cadf69da
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 26 15:31:44 2004 +0000
+
+ omit CVS from configs list
+
+commit 26f334a679dcb09c1217d34e89e98ac44471c094
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 26 15:20:08 2004 +0000
+
+ updated Makefile info
+
+commit d8944fb6cf0cec7f3ff1504477a5b72ad88375c5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 26 15:19:53 2004 +0000
+
+ Mesa installation script
+
+commit de0ee3187c8fffb52327f9a5680a3eafea872276
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 26 15:19:11 2004 +0000
+
+ New Makefile system
+
+commit a70ad91209b08ebe7122ace6d6656b11d9b04542
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 26 15:16:35 2004 +0000
+
+ new system configurations
+
+commit f262b70d5a3fb7bcc2b280735fc7ff643cebe433
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 26 14:21:18 2004 +0000
+
+ tweaks for 64-bit linux configs (Dan Schikore)
+
+commit 68b38d275117182f416c9f2afdcae6135bffa0dd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 26 14:17:31 2004 +0000
+
+ check for GLX 1.3 during init
+
+commit 3623579e43b4c3a8d2eb7edb6efaa6f178279ec9
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Mar 26 02:02:48 2004 +0000
+
+ Make sure drivers don't dereference a NULL pointer if
+ __driUtilCreateNewScreen returns NULL.
+
+commit 301e55c6cd27e50a9186f096a974321b6df2c511
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 25 21:55:35 2004 +0000
+
+ merge changes from 6.0.1 branch
+
+commit c05658d15ee10b8cb5ac8d927b852d871777bfab
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 25 21:18:32 2004 +0000
+
+ more Darwin tweaks
+
+commit 77b47bb27bb8f36d2b0980ed78175d859a7d2bed
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 25 21:17:48 2004 +0000
+
+ re-order arguments to mklib
+
+commit f28570679f3f1ab90ce8a36d8f92e1c75ca5f419
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Thu Mar 25 15:19:23 2004 +0000
+
+ Recalculate the viewport matrix in savageEmitDrawingRectangle.
+
+commit 209fee4d33429bc7d609e4439ab6c5a50c76a1d9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 25 14:58:39 2004 +0000
+
+ silence warnings
+
+commit bb9054b96d6ffe805b253882fae0fd16aea14c94
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Thu Mar 25 13:24:28 2004 +0000
+
+ The OpenGL Shading Language Runtime Library for Legacy Target.
+ Sounds good :)
+
+commit f61487947b226369594d308ef4205374406e532e
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Thu Mar 25 09:06:12 2004 +0000
+
+ small changes (version string)
+
+commit 16133d3cc115bea3c9ef05e7b89683de02c8f4ba
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 25 01:51:38 2004 +0000
+
+ added linux-x86-opteron (bug 922735)
+
+commit d3b09fe29b112ddf114d14849e917befafd8387a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 25 01:42:41 2004 +0000
+
+ update my email address
+
+commit 6e963e965cd00d69de0d868882c2c5322b39f578
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Thu Mar 25 01:16:27 2004 +0000
+
+ More state management changes:
+ - Don't lock in savageDDUpdateStatte, don't call savageEmitHwStateLocked
+ - Need to grab the lock for texture uploads now
+ - New SAVAGE_NEW_CULL bit in new_state to make sure that culling state and
+ raster_primitive are not examined at the wrong times.
+
+commit adf33a1c6f087075b65f0fbc756839481a38e10d
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Wed Mar 24 22:05:25 2004 +0000
+
+ Make sure hardware culling is disabled for unfilled primitives,
+ points and lines.
+
+commit 844585be4c392d7e06a8954e56c3756cafa74a39
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 24 17:17:25 2004 +0000
+
+ use Driver.WriteMonoRGBAPixels() when possible (Dan Schikore)
+
+commit e1e439c51239f8129e678e437d7afb999232db8a
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Wed Mar 24 16:18:05 2004 +0000
+
+ Missing in last commit.
+
+commit 67d03433772867abc23272c9cf323b15285dde47
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Wed Mar 24 16:15:28 2004 +0000
+
+ Buffer vertices and emit them in batches. Still using conventional drawing
+ commands, no vertex DMA.
+
+commit fda7215db36ddee1900cab38b1435f1d73ac7858
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 24 15:59:44 2004 +0000
+
+ rename class to c_class if using C++ (bug 922294)
+
+commit ae608522067dce62c6c9afa9780c58b1dd13753e
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Mar 24 15:02:37 2004 +0000
+
+ Slang internal include file defining constructors and operators
+ for built-in data types.
+
+commit aaba0751d530408ce566e073d79f94d4ed8f51ed
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 23 23:25:47 2004 +0000
+
+ tweaks to Darwin code
+
+commit 19bb7f71f1cef2646be2b95164792928e5b248d5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 23 15:40:18 2004 +0000
+
+ additional updates from Dan Schikore
+
+commit 645778fe6928c698afdab2512f99434cc7dd1351
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Tue Mar 23 07:13:11 2004 +0000
+
+ Committing in .
+
+ Adding s_auxbuffer.c for compilation
+
+ Modified Files:
+ Mesa/src/mesa/swrast/descrip.mms
+ ----------------------------------------------------------------------
+
+commit 192c988c7360d026a6f345b21acc2cdf41977915
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 22 23:31:29 2004 +0000
+
+ new DRI interface header
+
+commit b87c5d08c778c9759011bf2e649a513aba22bd85
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 22 16:28:02 2004 +0000
+
+ added some code to test buffer deletion
+
+commit f6a93d3dffcd285d8c8f45d96d304caf36dd3023
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 22 16:27:13 2004 +0000
+
+ use GL state vars instead of program parameters
+
+commit 3b6eb9005006f786eefdc5331c1cd31e7f24ac9a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 22 16:23:15 2004 +0000
+
+ added s_auxbuffer.c
+
+commit 1cb63cfc984065f01bb0ce0ed4de77289a0bc58d
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Sun Mar 21 23:35:14 2004 +0000
+
+ more i810 to new interface
+
+commit 03762ba8dac3cc5db199fb0354adba66db56995b
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sun Mar 21 21:58:03 2004 +0000
+
+ ctx->Const.MaxTextureLevels is not the highest mipmap level but the number
+ > of levels, including 0.
+
+commit 7e4a56d110bbac1fa7887253385006010940717e
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sun Mar 21 18:50:21 2004 +0000
+
+ Improved MaxTextureLevel computation to take the nr. of tex units and both
+ texture heaps into account.
+
+commit 57ff474cb01160d9e6b12512135b945fb1f151a1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Mar 21 17:09:59 2004 +0000
+
+ added aux buffers item
+
+commit 04da5cea31e7152232824bd6519bd950756b568f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Mar 21 17:07:30 2004 +0000
+
+ test of aux buffer rendering
+
+commit 894844a8d956a0ee5f95836331dc318f49fdb845
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Mar 21 17:05:03 2004 +0000
+
+ Implemented support for software-based AUX color buffers.
+ Only available with Xlib driver for now.
+ Assorted clean-ups related to Draw/ReadBuffer().
+ Renamed FRONT_LEFT_BIT -> DD_FRONT_LEFT_BIT, etc.
+
+commit 009501642533c7378fc4f061f1abe2ed4473a3f6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Mar 21 16:12:13 2004 +0000
+
+ fix array index error in _swsetup_Translate (Felix)
+
+commit 7ab89a977037efdfa4cf3a44234a8a72a04a59c5
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sun Mar 21 12:05:24 2004 +0000
+
+ Removed some useless definitions, artifacts from the Utah-GLX i810 driver.
+
+commit 21fb1f9180918d6dc40967b412c4146f8d1492a2
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Sun Mar 21 11:47:03 2004 +0000
+
+ Add new interface support don't switch on yet ..
+
+commit 416b7a87889b99de392db182796b913e75d89cd3
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sun Mar 21 11:28:07 2004 +0000
+
+ unsigned int -> uint32_t, unsigned char -> uint8_t where the size matters.
+ A bit more cosmetics.
+ Improved state emit on Savage 3D/IX/MX.
+
+commit 9d688919018ee8cfd74e1aee119e6765c37c7e38
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sat Mar 20 22:05:29 2004 +0000
+
+ Fixed texture LOD bias.
+
+commit fd8a7dc26b48876de025ff9b93cc6dea5659496b
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sat Mar 20 19:40:09 2004 +0000
+
+ Fixed MAXFIFO_S4. Removed WAIT_IDLE_EMPTY from savage_BCI_swap which resulted
+ in another small speedup. Fixed a problem that was masked by that
+ WAIT_IDLE_EMPTY:
+ - flush command buffer and WAIT_IDLE_EMPTY before uploading textures
+
+commit ef8cb129f452555a11e0c347b5b4f16604124c3b
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sat Mar 20 17:12:06 2004 +0000
+
+ Cleaned up and fixed stencil fallback.
+
+commit a212e9670ba31b062c48ed9dd23f28f08fa15b5e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 20 00:22:27 2004 +0000
+
+ minor clean-ups
+
+commit 23be8efd6f2fd9b7075448c0f60ae1603bac4804
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 20 00:08:20 2004 +0000
+
+ make null-terminated copy of program string so that parse works correctly
+
+commit e29ac89dcd1b31cddfa645d2575a73235967e907
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 19 23:11:13 2004 +0000
+
+ add missing else statements
+
+commit 00d2b873a980ac6ec9339ffaffdea9c9b8c0a26f
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Fri Mar 19 10:20:23 2004 +0000
+
+ Add includes to make mach64 build
+
+commit dde10b7c12e805a1446e71c44d71a6c30078168e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 18 18:17:33 2004 +0000
+
+ remove redundant call to ctx->Driver.Viewport(), and clean-ups
+
+commit ba9a2bd6415eb8b3ae360dfbf0e50839152100cc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 18 16:02:27 2004 +0000
+
+ additional configs (Dan Schikore)
+
+commit c193bd0654e5b6dd2fa5ecfcbece83758add2666
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 18 15:41:59 2004 +0000
+
+ assorted updates and new AIX support (Dan Schikore)
+
+commit 6af3dca18a2315ea431b5ea868913093d2111491
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Mar 18 00:16:44 2004 +0000
+
+ Convert int(8|32)_t to uint(8|32)_t, like should have been done the first time.
+
+commit 16c704e8f7cd9b7d7c5d6667cb38e016e3b608d1
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Mar 17 20:50:12 2004 +0000
+
+ Convert all uses of CARD32 and CARD8 to int32_t and int8_t.
+
+commit aae2fde0e6758769c11611d0951b2cb0e4ee24eb
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Mon Mar 15 23:27:33 2004 +0000
+
+ remove version number faking, shouldn't be needed anymore
+
+commit 35de80d0cb9889e2557373e8896ab4062f593803
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Mon Mar 15 23:26:49 2004 +0000
+
+ extend SOLO code so the DDX version isn't checked
+
+commit c5fb1b79226a52864e8b29a10e9641226b049fdc
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Mar 15 15:41:46 2004 +0000
+
+ Sketch of codegen templates for t_vtx_api.c, not complete
+
+commit 5262dcccc87caf8083cb7867155d91ac2f38ffef
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Mar 15 14:36:16 2004 +0000
+
+ Streamline the error path in VertexAttrib functions. Makes things
+ slightly easier for codegen.
+
+commit d83e9d9c00e0e89051bc756d58c6e227fd35f9f7
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Mar 15 09:17:07 2004 +0000
+
+ unfinished SOLO driver for TDFX
+
+commit e8036d23d7bb6b705f12a175c1d4736c0b361a9d
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Mon Mar 15 06:30:37 2004 +0000
+
+ couple of steps closer still not fully working.. something amiss in ring
+ buffer ..
+
+commit 6ff468d19e369f61834b7576b1d3244fdb447839
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Mon Mar 15 05:20:08 2004 +0000
+
+ Initial i810_dri.c for miniglx isn't fully functional yet...
+
+commit f4d07d41188a52ddc84beefe4ab56e8be50a9d3c
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Mon Mar 15 03:39:52 2004 +0000
+
+ use utility function to check versions
+
+commit 7d05e484783cc81d2f9d4ceb2b1e1252555ffef0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Mar 14 18:12:06 2004 +0000
+
+ more TRIANGLE_WALK_DOUBLE tweaks (Justin Novosad)
+
+commit 3340a9ea9ea31e6bd7f37d5c1f25ffcc97f20a6b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Mar 14 16:41:49 2004 +0000
+
+ fix stride bug in RGB and BGR span rendering
+
+commit 746e59f207182846993dad2b150f30c355d63088
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 13 18:31:14 2004 +0000
+
+ GL_EXT_pixel_buffer_object test
+
+commit fde4c53a7d460a7fed929ef457172f3b245d875d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 13 18:27:06 2004 +0000
+
+ Added some comments. Minor const, int->GLint type changes, etc.
+
+commit 7a6b71ef2944bae1718e8167b2faaceb8422071c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 13 18:21:40 2004 +0000
+
+ Implementation of GL_EXT_pixel_buffer_object extension.
+ Note: extension may not be finalized yet - subject to change!
+ Note: implementation not fully suitable for h/w implementation yet.
+
+commit 5498e8b9f34718aba506421988116ccb1e5e3de7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 13 16:32:58 2004 +0000
+
+ more descriptive error messages for matrix stack over/underflows
+
+commit 6ddfdff659196cf4eeb0e5fed70ddd1ced0d16fc
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Fri Mar 12 20:03:54 2004 +0000
+
+ Adjust includes to help DRI build
+
+commit d613cca2e47b5b2b4ce6f5222fde2cf137e989ef
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Fri Mar 12 05:22:13 2004 +0000
+
+ Adjust mga drivers to remove redundant h file for sarea and IOCTLs
+
+commit ba5c49ab427d33915562b2c257db582c84eb7dd0
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Fri Mar 12 03:50:30 2004 +0000
+
+ Make R128 driver use sarea/defines from DRM. removed r128_common.h
+ and r128_sarea.h since they are redundant now.
+
+commit 5fb0763d2ea6eeb12000f40b96ce556c35fe115f
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Fri Mar 12 01:18:19 2004 +0000
+
+ These files are redundant now. Definitions come from DRM files.
+
+commit ae4a1cc0666860bf5cc37a5cb549afc9aa5448b0
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Thu Mar 11 20:35:38 2004 +0000
+
+ Adjustments to make everything use IOCTL/sarea defines in DRM instead
+ of glx/mini. removes glx/mini/drm.h glx/mini/sarea.h
+
+commit 157ec8bcf8b56d7951416d9ee13c98b7e82d099d
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Mar 10 18:02:01 2004 +0000
+
+ Moved from src/mesa/main.
+
+commit ab928e57b9637abd253c5114d0c90d7e3cb3f7fd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 10 16:17:35 2004 +0000
+
+ don't futz with GL_CLIENT_ACTIVE_TEXTURE in glClientActiveTexture (Robert Merrill)
+
+commit 30e6dda36837c47dfc75e5d54eef998c998e2a9a
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Mar 10 14:54:47 2004 +0000
+
+ Fixed a number of typos.
+
+commit 7463640e177cd3eec4e62a3dbca67fba583d7af2
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Wed Mar 10 03:45:28 2004 +0000
+
+ add xmlconfig.c to solo build
+
+commit d4b672425339307d39b31c4733273cf994f51e05
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Wed Mar 10 03:43:15 2004 +0000
+
+ back port span changes from i810, these have been in my tree for a while seem
+ fine ..
+
+commit b2dd5095c42a2e1323c5ccf8d657c7b37d3e8c2e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 9 18:04:04 2004 +0000
+
+ remove unneeded casts
+
+commit 1e4731f6443a6efdfc4e425977490ddd5387caa3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 9 16:58:26 2004 +0000
+
+ Fix color index mode rendering.
+ Changed SWvertex's index field to GLfloat and fix a few other bits.
+
+commit 7bcada8c278a17e6170e35f1aaf74dd88294ddc5
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue Mar 9 11:23:39 2004 +0000
+
+ fxMesa: remove buffer_obj_ext, cos it breaks UT2004
+
+commit 15941b1d90f133453fbe34efe0add9e9ad641953
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Mon Mar 8 23:01:47 2004 +0000
+
+ Cleaned up and slightly optimized the texture upload code.
+
+commit f76314a69ad6ece95cc319b18be90e0a045a3cce
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 8 18:30:45 2004 +0000
+
+ remove redundant macros (also in m_matrix.h)
+
+commit 0c19008f099861923d936cad00b51b520f38737d
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Mar 8 07:52:18 2004 +0000
+
+ Voodoo Rush fixes
+
+commit 446d8d0b86d05089c56d53e9887cdf03574a1441
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Mon Mar 8 00:34:43 2004 +0000
+
+ Swapout textures who's space is claimed by a new texture. Don't destroy.
+ This finally really fixes assertion failures in savageBindTexture.
+ I think the same situation with several contexts is still broken though.
+
+commit a5c68c872ddcac6b844aa666edee72196af93a4a
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sun Mar 7 23:32:31 2004 +0000
+
+ Fixed texture tiling format for 8bit texels on ProSavage and Twister.
+
+commit 156df3e83417149efc1f18e9e47ed7d5dbba629c
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sun Mar 7 20:41:42 2004 +0000
+
+ Rewrote tiled texture upload. Small mipmap levels work correctly now.
+
+commit 2cd815b66009eea8e06dc4b6dfd32cb7898ff416
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sun Mar 7 01:36:50 2004 +0000
+
+ Fixed two small problems in the vertex setup.
+ - make sure that vertex setup is initialized
+ - Savage seems to need the W coordinate for smooth shading
+
+commit 2c8dacea5fa52e793bc594c97f6bc730459f915d
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Thu Mar 4 22:11:38 2004 +0000
+
+ Small texture management fixes. Should get rid of assertions some people were getting in savageBindTexture.
+
+commit 9b71f621d1e242c798c90062e06c49221f34c2b1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 4 17:14:08 2004 +0000
+
+ plug in _mesa_BlendFunc into dispatch table
+
+commit d5e4f29cb9ef5af7214887e84fb31f27fbfe1100
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 4 16:22:01 2004 +0000
+
+ a bunch of assorted clean-ups, etc to fix warnings, etc
+
+commit ff6031c2091b9a80af132a8459310a64c6de4feb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 4 16:20:38 2004 +0000
+
+ remove some unneeded macros
+
+commit f753320f0fd2be61c0fa99cffb1c3e5107109c4e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 4 14:56:34 2004 +0000
+
+ casts to silence warnings
+
+commit c26c1ddd5644c40992ec050e81027b9a763bc4e5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 4 14:52:59 2004 +0000
+
+ silence warnings
+
+commit 94ec525ba5bc763210b1fb0198beeee2fe601b99
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 4 14:46:00 2004 +0000
+
+ yet another take on VBO deleting and reference counting
+
+commit 3f94cef027041f57029de4cc165e0bad1e6634fa
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Thu Mar 4 13:15:32 2004 +0000
+
+ Initial changes after moving from src/mesa/main/.
+ Needs testing - it havent been even compiled yet.
+
+commit a904b493a9f86a9cfcfff032255352b7050ef271
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Thu Mar 4 13:07:52 2004 +0000
+
+ Added missing Copyrights.
+
+commit 2462f6bfa0ca71390439104f751310da89a69d1a
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Thu Mar 4 00:27:36 2004 +0000
+
+ Clearing rectangle was one too big in each direction.
+
+commit 0e7b1d88118621c34f6a7b64abf3ff4b2ff20679
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Mar 3 18:10:40 2004 +0000
+
+ Grammar package supporting 8-bit registers.
+
+ TODO:
+ - add checking for duplicate symbols (or is it done already?)
+ - move all the statics (grammar objects list and last error message)
+ to the GL context state; I think simple pointer initialized in a
+ first call to ProgramString() is sufficent.
+ - apply an optimized version of match() - this will be needed for
+ glslang compiler.
+
+commit e05d4fbf0f9382933ee7b817930f4377ad87b742
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Mar 3 18:01:58 2004 +0000
+
+ Added support for ARB_fragment_program_shadow.
+
+commit 7bce4863270eb155debc8da6b13eb4e8935f4310
+Author: Michal Krol <mjkrol@gmail.org>
+Date: Wed Mar 3 17:59:49 2004 +0000
+
+ Initial registry for ARB_fragment_program and ARB_vertex_program.
+
+commit 7c6a04f6d8ef3c8a47a708a76bb4f4ac65c6b20f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 3 15:50:28 2004 +0000
+
+ added clamping to polygon offset to prevent potential negative Z values and FP exceptions
+
+commit 9a20a72cdcab2a6c1678b83c782b61c047e765e3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 3 15:36:53 2004 +0000
+
+ comments, capitalization, misc-clean-ups
+
+commit e22540c2765e034fed558ea1d44488a03fbba170
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 3 15:36:01 2004 +0000
+
+ s/_swrast_exec_nv_fragment_program/_swrast_exec_fragment_program/
+
+commit 26895aa797060a38b42dfad21301f4b34b7de0d2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 3 15:35:08 2004 +0000
+
+ more changes to VBO reference counting and deletion
+
+commit 5ee631c6ee0a7f60a310471df74d9bd24f40a261
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Wed Mar 3 09:07:43 2004 +0000
+
+ _tnl_allow_*_fog(...)
+
+commit 3abf2e474026ea5f7704315c6f846315ea0f45d3
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Wed Mar 3 09:03:40 2004 +0000
+
+ made NASM opcodes consistent
+
+commit fc17a6a35c94c1fbcbb95767db58ecab41c04283
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Tue Mar 2 23:48:32 2004 +0000
+
+ Cope with float colors in VERT_SET_RGBA and VERT_SET_SPEC macros.
+
+commit 2517a0ef217f2f66494c55fc5342362d49ee208d
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Tue Mar 2 23:45:40 2004 +0000
+
+ Fixed some small state tracking issues while hunting a different problem.
+
+commit af745e5d4d6077fe46bd5692408475890848d66c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 2 17:28:56 2004 +0000
+
+ fixed linux-osmesa16-static. Added linux-static config
+
+commit 411b8faac47317e73ab9c285a85631a340a4ad53
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 2 15:21:51 2004 +0000
+
+ added missing error check in _mesa_BeginQueryARB (Cedric Gautier). minor clean-ups.
+
+commit fa21787b52d85a7aeaf5de64a39e019f39fcfa07
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue Mar 2 08:15:24 2004 +0000
+
+ workaround for crash-upon-exit in verbose mode
+ fxMesa now uses grQueryResolution
+ minor fixes to X11 and DOS drivers
+
+commit 725a56f157506a0122912da9f8df92b275da5b98
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Mon Mar 1 23:29:27 2004 +0000
+
+ Fix calling fallback_drawarrays() with the wrong arguments
+
+commit 8cff2ede6eec1dd480bb8a4835b6985955514d87
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Mon Mar 1 17:49:59 2004 +0000
+
+ Add support for the new DRI driver interfaces to the radeon driver (patch ported from the r200 driver, r200_screen.c rev. 1.8 - 1.12)
+
+commit dbb0d2751f98da7630bfbfa86ca5f76d3dddbf72
+Author: Michel Dänzer <michel@daenzer.net>
+Date: Mon Mar 1 13:02:29 2004 +0000
+
+ Inline get_size as an interim measure to get rid of function call overhead.
+
+commit cac8d425a8147210dafaa25cefd7becb9e23c446
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sun Feb 29 20:43:54 2004 +0000
+
+ Corrected the maximum vertex size argument of _tnl_init_vertices.
+
+commit c6338e60ffac532a4e10013d5720597a431cbc34
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sun Feb 29 20:42:22 2004 +0000
+
+ Reorganized hardware state data structures and state emission. Don't track
+ which registers changed in all the functions that change the state. Instead
+ check which registers changed in the end when the hardware state is updated.
+ Tried to avoid cosmetic (whitespace) changes in this commit.
+
+commit 4923e1926ad7b7eb7de017eda8e7db64d357e5c8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Feb 28 22:30:58 2004 +0000
+
+ Remove clamp parameter from _mesa_unpack_color_span_float(). Pass the
+ IMAGE_CLAMP_BIT if needed.
+ Added ClampVertexColors and ClampFragmentColors to GLcontext in anticipation
+ of upcoming extensions (not fully used yet).
+
+commit 94f9d4c0dd2b62e01032c2b0dd9b8a25466690c2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Feb 28 21:19:27 2004 +0000
+
+ minor clean-ups
+
+commit 833d96aa913dcb0c5ca085cc7ebee3df90f7fbf8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Feb 28 21:10:19 2004 +0000
+
+ consolidate image transfer operations in new _mesa_apply_rgba_transfer_ops() function
+
+commit 8cfd08b6134e2036ddceb1facfa82e15026068a2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Feb 28 20:35:57 2004 +0000
+
+ rename some span pack/unpack functions for better uniformity
+
+commit d0582776a619cc0633a0cbeea010a0db5e3e210f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Feb 28 20:12:33 2004 +0000
+
+ move _swrast_texture_table_lookup() to _mesa_lookup_rgba_chan()
+
+commit 456734aa0a6da47ad586f2ec021a429526e3152a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Feb 28 19:58:19 2004 +0000
+
+ consolidate some code
+
+commit aaad687d510b3c933e4ca532e1c12ec723d33588
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Feb 28 19:34:05 2004 +0000
+
+ replace color table FloatTable boolean with Type enum
+
+commit d14da2d5aefaaef6afb864098c15c6fc3ca746ee
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Feb 28 19:33:03 2004 +0000
+
+ paltex demo from recent texcombine changes. Minor clean-ups
+
+commit e2df3d01afaa6919b82962a087056f517bb94193
+Author: Michel Dänzer <michel@daenzer.net>
+Date: Sat Feb 28 13:25:25 2004 +0000
+
+ Only print message about disabling HW TCL if the chip supports it in the
+ first place, and make the message a bit clearer.
+
+ + Remove some extraneous whitespace.
+
+commit 1cb11ce1c50feb1b911545a793934158097a0f44
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Feb 27 19:12:29 2004 +0000
+
+ Create all the right modes for 16-bit screens.
+
+commit ad1e06fafe8061984fd993b0fc2a70fb4aa94bf0
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Feb 27 19:11:08 2004 +0000
+
+ Fix a problem with 24-bit screens. Modes with 0 stencil bits were
+ erroneously marked as GLX_SLOW_CONFIG.
+
+commit db79b5683cfc3f2ea3f9b0aca8c4d149bf9a63f7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 27 02:13:29 2004 +0000
+
+ move _mesa_load_state_parameters() to state validation stage
+
+commit 579ea7ff7a98c95ae5c11f7483910d4d82662ca3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 27 01:28:24 2004 +0000
+
+ fix PK2H, UP2H, PK2US bugs
+
+commit fca9121a21155701027b307897e508dc2e42bbc5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 26 22:20:29 2004 +0000
+
+ check for null paramList
+
+commit e6149fac64da1653a315687465a1d83bd8373612
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 26 22:13:32 2004 +0000
+
+ check for invalid fragment program in glDrawPixels, glCopyPixels and glBitmap
+
+commit 1ef3d3a7589eeabf0229cb3c6a9419d0eef2a681
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 26 22:09:28 2004 +0000
+
+ check for invalid vertex/fragment program in glBegin
+
+commit 04207ab7e2bd6be14ea946de7f741490a7194a95
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 26 22:09:05 2004 +0000
+
+ fix another glDrawArrays indexing bug, jump through _glapi_Dispatch functions
+
+commit 09a4f915d3a7c80ff44a990ea36a2551c29c1211
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 26 15:21:41 2004 +0000
+
+ fix library naming glitches (bug 904867)
+
+commit c8957aa89612d7f73d16b0884aa588574ffd9377
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 26 14:58:11 2004 +0000
+
+ Fix C/C++ calling conventions problem (Bug 904854)
+
+commit 89d04e4623635d07cde447f97dd35495a754e9db
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Thu Feb 26 13:22:16 2004 +0000
+
+ Set ctx->Const.MaxTexture[Image/Coord]Units correctly. Fixes corruption in q3.
+
+commit 76283a9079846e8b31c03719774b7d2e24832e48
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Thu Feb 26 12:19:41 2004 +0000
+
+ Adapt the VERT_SET/COPY/SAVE/RESTORE_RGBA/SPEC macros to copy with all savage vertex formats.
+
+commit 229654d815766c732e45b0de70485b0bed5121fd
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Thu Feb 26 01:00:00 2004 +0000
+
+ Forgot to remove savagevb.h in last commit.
+
+commit d9a033087200548efabbd1f0cf0a2e2ecbf5809f
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Thu Feb 26 00:59:00 2004 +0000
+
+ Converted vertex setup to use t_vertex.[ch].
+
+commit 795f1faf81b988ac969356945e25dc712bcc6a94
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Feb 26 00:33:22 2004 +0000
+
+ Create all the right modes for 16-bit screens.
+
+commit 04bcaac383cb6d3d5bceb7ecf65ff97c10aa7111
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 26 00:28:03 2004 +0000
+
+ added _tnl_allow_vertex/pixel_fog() calls
+
+commit 21893e56e0be42691611141d0adab86819fda8c9
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Wed Feb 25 20:47:46 2004 +0000
+
+ Call _tnl_allow_pixel/vertex_fog in savageCreateContext. (Brian Paul)
+
+commit 54056db8db4cba5163ef40a30511bbdd35f8a47a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 25 16:14:16 2004 +0000
+
+ use ABS(Z) when computing blend factors
+
+commit 20e25ca50a6335fda3769f746165b5bbc2dfa95b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 24 16:11:30 2004 +0000
+
+ call _tnl_allow_pixel/vertex_fog() funcs
+
+commit 8d407300c2b94f32c955b6dd75c2e18d6d58caa5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 24 16:10:52 2004 +0000
+
+ turns out we probably need a _tnl_allow_pixel_fog() function afterall
+
+commit 4d5dddd125ec99f25bc0abafcca90033392a100e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 24 15:08:22 2004 +0000
+
+ jump through dispatch table instead of calling gl functions directly
+
+commit 9d1ff8c1bb56b9ba0d3bf4552351d8bff6620ef2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 24 14:59:26 2004 +0000
+
+ fix incorrect texcoord attribute index
+
+commit 2615e81620bf91cc642b3373c41353b440242fee
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 24 14:47:01 2004 +0000
+
+ added some GLAPIENTRY keywords, minor clean-ups
+
+commit 4a048e5e48c67ca358042e176548606c7232c25b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 24 04:57:48 2004 +0000
+
+ s/transform/tnl/
+
+commit 0adce8f7c7f5d62f92d267c1952d7393edec5345
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 24 03:01:27 2004 +0000
+
+ upgraded to version 22
+
+commit 1e3d868ffbec46eecb85b4aaf6990d9ad69e830f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 24 02:49:43 2004 +0000
+
+ Yet another revision of _ae_update_state(). Issue both conventional AND
+ generic vertex attribute commands, ignoring ctx->VertexProgram.Enabled
+ since this function may be used during display list compilation.
+
+commit 0f1e19c03cdf5bd8a7c3db59cf395a0833ab0173
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 24 02:47:05 2004 +0000
+
+ added some const keywords
+
+commit ffa7eff9ff459060364f0ed93865351f7fc15035
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 24 02:42:46 2004 +0000
+
+ glDrawArrays loop was wrong
+
+commit cf20f8cc3f92fcc6441b55a793bcede0d83a2a69
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Feb 23 21:07:12 2004 +0000
+
+ updates from Erdi Chen
+
+commit 537f42e24042292a34048a2e48844fbe4e9267e0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Feb 23 20:26:58 2004 +0000
+
+ fix typo (Matt Case)
+
+commit c00fbd55ba45e0c9e4e8ed246103e75cc7fe0af5
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Feb 23 17:37:36 2004 +0000
+
+ The available GLX version is now logged in addition to the client
+ version and the server version.
+
+commit 001dc022fc8c463ff20030e2a54934c93d50c969
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Mon Feb 23 06:35:22 2004 +0000
+
+ delete the textures
+
+commit 263581bba4d61291c54313648063a30c47106f0b
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sun Feb 22 16:11:12 2004 +0000
+
+ Imported the Savage DRI driver from the savage-2-0-0-branch of DRI CVS
+ with modifications to make it work with current Mesa 6.
+
+commit 6e450f22bb86a18b66ec4053d5aacdf7788753dd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Feb 21 18:08:41 2004 +0000
+
+ some minor tweaks
+
+commit 2aa84490c02bc304f31198c6f3d44a31093e664b
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Fri Feb 20 09:47:42 2004 +0000
+
+ fixed some typos
+
+commit 304d3aa9cb727eb4cd4797c33f8e13e5ac4285a9
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Feb 19 00:57:04 2004 +0000
+
+ Refactored several variables out of XMesaVisual in favor of identical
+ fields in __GLcontextModes (the base type). Removed the need to keep
+ the XMesaVisualInfo pointer when building inside the X-server.
+
+commit e01370271eebb6cf86d8119c3c37b3f6f9db1d8b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 17 23:38:05 2004 +0000
+
+ recent bug fixes/changes (fog, glArrayElement, triangle rasterization)
+
+commit 0733dbb0110583894b9df028e48ffd074cfd5380
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 17 22:14:18 2004 +0000
+
+ A few more tweaks to fog code.
+ Remove unneeded FABSF() macros.
+ Added blend factor clamping in a few spots.
+
+commit 4e41eb1061834c9ed1c0702efdb887197043dc55
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 17 22:00:45 2004 +0000
+
+ compute fog coord in eye space, not clip space
+
+commit 09da0b8e6621a831e3eeb9381430f2bed18a22ad
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 17 21:03:03 2004 +0000
+
+ A bit of an overhaul of the fog code.
+ glFogCoord didn't always work reliably.
+ ARB fragment program fog options work now.
+ Per-fragment fog computations are now perspective corrected.
+
+commit 9a389d4bdb8026063034767e1599be975cb4e2f2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 17 17:59:59 2004 +0000
+
+ define DO_FRAGMENT_FOG=1 to test fragment program fog option
+
+commit a60c89e8c8348a348dcdd770a033f4976ea93206
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 17 14:08:23 2004 +0000
+
+ added SPAN_W
+
+commit 230ebaff2aecdd9f2bf667889d54bfc3dd032bbe
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 17 04:28:37 2004 +0000
+
+ just some reformatting
+
+commit 4250c7acacc35f29a3716f96b8e4fa31d9d30d2b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 17 04:26:42 2004 +0000
+
+ some debug code
+
+commit 5cd79f9267c5ce71d9fc3355ab0ba8fe5fdf636a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 17 04:25:24 2004 +0000
+
+ added FogOption to fragment_program struct
+
+commit c2f6d6d092cb769416af453a9b8e216b20747bec
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 17 04:24:52 2004 +0000
+
+ added FixedToDouble() macro
+
+commit 84b4a3a087a1475d4e9bd713e4bae91ba6363a50
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 17 03:51:47 2004 +0000
+
+ Added TRIANGLE_WALK_DOUBLE to optionally walk triangle edges with GLdoubles
+ instead of GLfixed. (Justin Novosad)
+
+commit bb1dcb4fadb86ba89eeb2ba5e0ade3ead219ef67
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Mon Feb 16 17:34:03 2004 +0000
+
+ texture env combine refactor (Andreas Stenglein), following the same principles as the refactored code already present in the R200 driver
+
+commit 64d6ddabaa99dfd376997421d686b39adc6fd4a3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Feb 16 16:44:40 2004 +0000
+
+ remove incorrect negation in fog coord computation
+
+commit 477363455d250bf7545f1cf89271025f9183dfb5
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Feb 16 15:15:24 2004 +0000
+
+ Add _tnl_set_attr() to complement existing get_attr() call.
+
+commit 7b5199e8a44dc478f8800950422efe94fa364de4
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Feb 16 14:45:56 2004 +0000
+
+ glutInitWindowPosition
+
+commit 45f4c5ec3bf30d421dba1ffbffa97f5c4a14e942
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Feb 16 07:32:27 2004 +0000
+
+ cleanup and some WGL PIXELFORMAT issues
+
+commit a49a08d014a36a06afc0a8bec0bfefb1c2243b31
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Feb 16 07:31:29 2004 +0000
+
+ fog_coord demo
+
+commit 05ad3078a908f33ab043de784e2961638f819fa0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Feb 15 17:45:17 2004 +0000
+
+ some code clean-ups
+
+commit 7c4a61c57fea4c8f112fc22278f643bee2fbaa45
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Feb 15 16:21:07 2004 +0000
+
+ Minor clean-ups of variable scopes, initializations, etc.
+ New comments discussing FIXED_FRAC_BITS, SUB_PIXEL_BITS, max viewport size
+ and rasterization accuracy.
+
+commit 0200947f5e35f1dc7baae776d2e3a8206860335a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Feb 14 15:49:55 2004 +0000
+
+ Remove debug
+
+commit 964e5325bdcca702cfb2f210e0b89809e42847ef
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Feb 14 15:00:42 2004 +0000
+
+ Make it easier for drivers to create "subclasses" of the existing
+ program struct hierarchy.
+
+ Add driver callbacks to enable the above and make it possible to track
+ more changes to program objects.
+
+commit 70dacabfe503e89d8c4a8df9fa6568aa5613a25b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 13 18:29:42 2004 +0000
+
+ added note about kernel modules
+
+commit 659dce40e2e914e7d897b98716ca0596b4f2bf75
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Feb 13 17:38:41 2004 +0000
+
+ Minor tweaks to get the fbconfig list returned by __driCreateNewScreen
+ to pass through filter_modes (in libGL) properly.
+
+commit 9ad80a475dad36532e5d0533487b9d5a584ca13b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 13 15:50:13 2004 +0000
+
+ info about precompiled libs for Solaris
+
+commit 88bf0387080da5120fbdd37bb88d90066cf2d5c9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 13 15:30:08 2004 +0000
+
+ init secondary color to (0,0,0,1). remove some redundant initializations.
+
+commit 85ad44b29294c2b40e147dba17cbdd8698355ca5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 13 14:04:26 2004 +0000
+
+ set buffer object default Usage and Access
+
+commit de47068b85758039826c6c29900cf0ba32329043
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 13 03:00:11 2004 +0000
+
+ new comments, rename some stuff
+
+commit 71996ddbe191b1289aa5f3d83d6b1c951d79eba0
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Feb 12 23:03:19 2004 +0000
+
+ Fix a problem that caused the new interface code to not actually be
+ used. Fix a couple problems that confound the fbconfig filtering code
+ in libGL.
+
+commit 0370d0829b67a3e85cad81bb20fa8028a7381745
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Feb 12 22:59:03 2004 +0000
+
+ Enable use of new DRI interface in MGA driver.
+
+commit 193d211a190ce26ca82923377c22941cdf184766
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 12 21:57:29 2004 +0000
+
+ Minor re-org of state for fog and precision options.
+
+commit 5396ab27427b8ec8d703af11e11b9e2933882ef6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 12 14:48:52 2004 +0000
+
+ bunch of assorted updates/changes
+
+commit d03814f426123a4525c0bd6f6843957b8c315449
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Thu Feb 12 12:05:54 2004 +0000
+
+ minor cleanups from t_dd_vb.c
+
+commit 7b6ceb5b124673df2d94c2fe7dd2e779629f0354
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Thu Feb 12 11:52:38 2004 +0000
+
+ remove vertex_stride_shift, fix up code to not need it
+
+commit da8337ed5e52741321ee5171ce0b0c43f09036c9
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Thu Feb 12 11:20:29 2004 +0000
+
+ fix up specular color/fog and triangle vertex retrieval
+
+commit 9a78c29f7a48221e5211d918a53270a5edf9edaa
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Thu Feb 12 06:39:57 2004 +0000
+
+ fixup vertex building code ..
+
+commit d2f0be152e3eeb88639f44c13adfb4a23688a23b
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Thu Feb 12 01:57:43 2004 +0000
+
+ more updates , gears sorta works
+
+commit 0d4393a38a2237bb65fbd38b8da73ac328a967d0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 11 22:53:38 2004 +0000
+
+ Fix the problem found with UT after I had added support for glVertexAttrib.
+ The problem came from using the _glapi_Dispatch->VertexAttrib*fvNV pointers
+ since they can change from one glArrayElement call to the next.
+
+commit d4baed717f8da74ab641338a134a610daeb2e7dd
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Wed Feb 11 22:53:12 2004 +0000
+
+ initialise VBLANK
+
+commit 2020278d06f927eed0bcba919f70846df090fc45
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 11 22:06:05 2004 +0000
+
+ Do more bookkeeping of vertex buffer object reference counts.
+ Incr/decr counts when doing glPush/PopClientAttrib(GL_CLIENT_VERTEX_ARRAY_BIT).
+
+commit 840e82163d0efb6275ccfe766f063a4e1079c26f
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Feb 11 20:16:26 2004 +0000
+
+ Added a test case for Mesa bug #508473 that I wrote a long time ago.
+ Fixed the Makefile.X11 to actually build glxgears_fbconfig when
+ invoked from the top level.
+
+commit 0b87abd11bf53034bd368adbbd7f084e3c6eb850
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Feb 11 08:11:58 2004 +0000
+
+ Initial pass at adding support for the new DRI driver interfaces to
+ the R200 driver. Not as clean / well commented as it should / could be.
+
+commit 1d6e08db95cfdcd93f4d33a71894deaf5c593391
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Feb 11 08:00:42 2004 +0000
+
+ Added yet another version of gears. This one uses fbconfigs, and is a
+ rudimentary test of fbconfigs that doesn't use pbuffers of
+ GLX_SGI_make_current_read.
+
+commit faaf78aeb0e18c75c9b204a634f296b9c056cf5c
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Wed Feb 11 01:06:03 2004 +0000
+
+ revert to version 1.18 for now to fix segfaults in some applications
+
+commit f64f940281f0d716e0ddc641e7ef1728f143d67f
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Tue Feb 10 23:52:18 2004 +0000
+
+ change lighting to use MULT instead of PREMULT (i.e. move some lighting color calculations to the GPU)
+
+commit 53c50f1667bae76b543196335ed77e1fb80b6b4d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 10 23:41:20 2004 +0000
+
+ some useful matrix functions
+
+commit 22633805fa4edf5771a4aa951de947e3346f76be
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue Feb 10 07:46:07 2004 +0000
+
+ fixed back fxMesaGetCurrentContext to match MakeCurrent
+
+commit a1b9b1a4409729fa8b6714e5847544576fcee404
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Tue Feb 10 02:20:29 2004 +0000
+
+ Changed lighting to use SOURCE_MATERIAL instead of PREMULT (moves some light color calculations to the GPU). Two-side lighting fallback no longer needed and eliminated.
+
+commit 1440f732122be143cb9e78efcc63d3728a2fcc88
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Feb 9 08:46:38 2004 +0000
+
+ reorganized DMesa to fxMesa wrapper
+
+commit 89625ef6341054743c0c24e92ac0c34cabf9abf3
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Feb 9 07:39:03 2004 +0000
+
+ deal with combine_ext refactor
+
+commit 53ad0369721966c67bf6edad59c74e9ba7891fa5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Feb 9 00:24:48 2004 +0000
+
+ Restore some of the previous code for handling conventional vertex attributes
+ more efficiently.
+ Remove switches/conditionals from vertex attribute wrappers.
+ glMultiTexCoord is implemented in terms of glVertexAttrib.
+
+commit 646dffd44d85643553600b5698f87926fafe6f2e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Feb 8 17:17:09 2004 +0000
+
+ tweak solaris-x86-gcc and ggi targets
+
+commit 0aa8a1062a06616fad18a1901afb5fa67fdcf82a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Feb 8 02:03:41 2004 +0000
+
+ Updated to handle generic vertex attributes accessed vi glArrayElement().
+ In fact, handle all conventional vertex attributes in terms of generic
+ attributes (execept for edge flags and color indexes).
+
+commit 08a45d4d4f01100d3c99d1c8fc4b7db1242b78ef
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Feb 8 00:37:32 2004 +0000
+
+ fully parameterize the macros for fixed-point arithmetic
+
+commit 875f763c9fbe00661335e6b252aa3740101ea8d0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Feb 8 00:36:56 2004 +0000
+
+ added an additional comment about mipmap generation
+
+commit 529614cd1a1e426ca7ad019795a6b72ad51cd9e6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Feb 8 00:11:14 2004 +0000
+
+ implement Fake_glXCreateWindow() to fix bug #890894
+
+commit 54447772d5add50efccc5c6aa68ee1ee8e21eab6
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Sat Feb 7 10:56:13 2004 +0000
+
+ removed MGA driver from DMesa
+
+commit d039b43e3074d14193944408ef211a9abf10608b
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Sat Feb 7 10:54:36 2004 +0000
+
+ added NUL driver for DMesa
+
+commit 07d6a983595b7ee52c8448fc579d952ce36472b8
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Feb 6 17:39:03 2004 +0000
+
+ Refactor "class" texture environments to be implemented in terms of
+ ARB_texture_env_combine state.
+
+commit c71ee917e325e8b8c1591047d6e33adb4e051da8
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Fri Feb 6 15:27:42 2004 +0000
+
+ inform driver of changed wrap/filter parameters due to binding of nv_texrect texture
+
+commit 4c6b629b3856c3e4acb51bf18fd9915532345967
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Fri Feb 6 15:25:37 2004 +0000
+
+ remove bogus check of texture target in R200TexParameter
+
+commit c2f28a3fd1b3831efb34ce8cb472381efd9456b3
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Fri Feb 6 15:24:51 2004 +0000
+
+ align blits for texture rectangles correctly, fix potential problem overwriting dma region
+
+commit 786e822cd4e4f5fb7a4177f7711683b14d2f2bc9
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Fri Feb 6 15:23:20 2004 +0000
+
+ fix potential problem overwriting dma region
+
+commit 531b59db3c466aad00bc07ec2863b7dfac57148d
+Author: Roland Scheidegger <rscheidegger@gmx.ch>
+Date: Fri Feb 6 15:20:59 2004 +0000
+
+ remove bogus check of texture target in RadeonTexParameter
+
+commit e5a94ba138f9a628b1237fa815c2af9c9da077eb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 6 02:01:47 2004 +0000
+
+ Added flags for _all_ extensions to the gl_extensions struct so that drivers
+ can disable any extension if necessary.
+
+commit 1f3d9eedad03d578d8d4d86924e2168fec5bdc8d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 6 01:17:30 2004 +0000
+
+ added GLU_INCOMPATIBLE_GL_VERSION
+
+commit 74eeb37c00e2ce0f6288628f195fc3304eacefa7
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Fri Feb 6 00:42:58 2004 +0000
+
+ fix missing include for SOLO build
+
+commit 6c7bb5ebbde6dfe19ecf0e9c6790c28b8b2e8d1e
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Fri Feb 6 00:16:26 2004 +0000
+
+ Remove warnings from mach64 build, fix up some _SOLO stuff,
+ update to newer Mesa interfaces...
+
+commit 0fbeff2fa2e831e45e4dc6014c8f1e6abaa44aa1
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Thu Feb 5 22:45:00 2004 +0000
+
+ Initial mach64 driver import for DRI mach64-0-0-6 branch,
+ this compiles but I doubt it works but it is a better starting point
+ than the branch
+
+commit 493e6e1e900b3286c90db6dc1686162a9c869bd9
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Feb 5 17:36:02 2004 +0000
+
+ Add comments to make decyphering the faces easier
+
+commit c2f739169efed62cb3a1f80a02e9afa9da7092dc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 5 15:23:12 2004 +0000
+
+ update function mangling and add comment about it to gl.h
+
+commit e2e9dc221d4f091b26713169dabfd43a3d8a635c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 5 15:05:09 2004 +0000
+
+ bring in Keith's _math_matrix_ortho() compiler work-around
+
+commit 540bb3a8303a051ba690d7d9ecaee4d83b74cdbb
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Thu Feb 5 06:39:20 2004 +0000
+
+ fix ugly bug triggered by macro expansion
+
+commit b3063ac398b72e6a4fd2015d4e220495b9779294
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 4 23:39:19 2004 +0000
+
+ fix glXChooseFBConfig bug 890167
+
+commit ef18e23bf8bfb793da9face514263598276f3541
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 4 23:36:00 2004 +0000
+
+ fix typo
+
+commit 36ff43b596f3bc122f2379b2c161ff9d4e05eeec
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Feb 4 16:59:30 2004 +0000
+
+ Fix off-by-one in calculations for wrapped trifan, polygon primitives
+
+commit b19cb627e002ec06dc92ab42c8107a3e34f2d181
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 4 15:44:53 2004 +0000
+
+ fix stores to vertex state program registers
+
+commit 72aeea4eea1454efcdd78908343bbebd99ebcc01
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Feb 4 15:27:39 2004 +0000
+
+ Use quads instead of lines to ensure this is testing stencil functionality
+ rather than rasterization. A crutch to hw with wonky line
+ rasterizers.
+
+commit 867fa0b5726f7b6c56961eecc33049b6755e58bf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 4 03:34:30 2004 +0000
+
+ another tweak to two-sided detection test
+
+commit 609f35274c9dcf8607673ec1970efff583c97ed7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 4 03:00:42 2004 +0000
+
+ fix two-sided lighting / vertex program bug (#887330)
+
+commit d761adad5db052d5a2dcba5014e5d36439cf0c40
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 3 23:36:59 2004 +0000
+
+ added Daniel Stone for getting CVS access
+
+commit b6a9cb70950158e57663faacc21c3794b913d0db
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 3 16:23:38 2004 +0000
+
+ another pbuffer demo (Andrew Lentvorski)
+
+commit 20c831bb899301642e3b7f808315459a6126e731
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Feb 2 22:36:58 2004 +0000
+
+ s/getenv/_mesa_getenv/
+
+commit b07d6a8158ea5b367289cb63f698e8bfead3e7e4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Feb 2 22:35:55 2004 +0000
+
+ updated list of env vars
+
+commit cc5d04574406a86d9a4d7991370359dc3c94f9a7
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Mon Feb 2 21:26:40 2004 +0000
+
+ Include context.h in radeon_state.c.
+
+commit 3a99674980c1fd76649ac48a95402bedc75a5e46
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Feb 2 15:40:21 2004 +0000
+
+ glXChooseFBConfig() didn't handle GLX_FBCONFIG_ID option
+
+commit 18a949000cee8f8e63b633b628bbdbc8196fe7de
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Feb 2 15:38:26 2004 +0000
+
+ tweak comments
+
+commit 61bc62cc40764b58ac8bceb48a579534841fca93
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Feb 2 07:47:23 2004 +0000
+
+ added glutGetProcAddress in DMesaGLUT
+
+commit 4c7883e402dd0733a56870f4517e455e46523cf4
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Feb 2 07:46:27 2004 +0000
+
+ fixed a bug in GL_NEAREST sampler
+
+commit c9e1c8098b40e28a1273b2846972f2434076156b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 31 19:57:25 2004 +0000
+
+ added display list option (l key)
+
+commit 1e71d2af5ee64d2eec4e2e4bad044d662ee5f066
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 31 19:49:10 2004 +0000
+
+ minor #ifdef fix
+
+commit 6bbcae9473eb29b4621aaa344013ebf3bb59ccf5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 31 19:39:04 2004 +0000
+
+ added _NEW_PROGRAM to check_state flags for pipeline stages (fixes vparray demo bug)
+
+commit 27ec7a5bf1e2a864ca1b9e78a7af312b08bd04f5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 31 19:15:57 2004 +0000
+
+ add vparray.c, fix indentation
+
+commit 919404fd1df30bbe5d391ddfbdd7ceb6d817525b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 31 19:15:43 2004 +0000
+
+ enable program and arrays by default, minor clean-ups
+
+commit 041e66b0d69b0b3288fbec8814fd1b941af9dbbe
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 31 19:08:45 2004 +0000
+
+ don't call gl functions directly, jump through _glapi_Dispatch table
+
+commit f5dbba7ec33cc5508c83d2994114716012e2a65a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 31 17:12:19 2004 +0000
+
+ add missing CXX, CXXFLAGS for osf1 (Bug 886628)
+
+commit 111156affeab383f6b6f4a1c104bcd5c14999ef7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 30 23:36:35 2004 +0000
+
+ glBindProgramARB wasn't getting compiled into display lists (bug 887383)
+
+commit 26baf96beae8cfad312365276c8f371b4c233d99
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 30 23:32:19 2004 +0000
+
+ added unichrome directory
+
+commit f924a933b4ead8883e918f65ca59824c0dab1f8e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 30 23:31:51 2004 +0000
+
+ Minor fixes for recent Mesa 6.1 changes
+
+commit f18598cbd2802e61c2cbb1d610630da9b5951169
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 30 23:26:19 2004 +0000
+
+ Via Unichrome/cle266 driver (Erdi Chen)
+
+commit 2726d77b2e0610c45019d0070ba21ee8ff47668d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 30 17:39:11 2004 +0000
+
+ more descriptive error strings
+
+commit bacd9d1739da02bf67a522820ea6c580dc96c39c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jan 30 11:16:12 2004 +0000
+
+ Fix extract_3f_xyw().
+
+commit 229d6a9624c9da4365ca3c7a54e8d0d0b9ca276b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 29 16:32:18 2004 +0000
+
+ replace spaces w/ tabs
+
+commit 4fe1303e833183319f50107a98b8627f36633c65
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Thu Jan 29 15:46:02 2004 +0000
+
+ GL_TEXTURE_1D and other stories...
+
+commit f8c31fcba38f55932a9209a1778265c66466b623
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 29 15:21:47 2004 +0000
+
+ more IRIX tweaks
+
+commit dc8f8bd88f729b9c292afb7b427a7734a4c2f16a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 29 14:46:16 2004 +0000
+
+ fix ARCHOPT typo
+
+commit 9ca723f5f547a31c074b290fc5aad25017c2b5ab
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 28 22:54:33 2004 +0000
+
+ fix C++ link issues on IRIX
+
+commit b72902e061b0efbe442945dc319e60fcbccf9e8e
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Wed Jan 28 22:24:12 2004 +0000
+
+ Add GLAPIENTRY function decorations for correct operation on Windows.
+
+commit 5e83c2a081f4806c2ee0ecc9dd7f36feb4b2b20a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 28 22:01:47 2004 +0000
+
+ tweak the #if test for defining _ASMAPI (fixes IRIX problem)
+
+commit 938014f8501738be46fae03a8bd5c336b4f94431
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 28 22:00:13 2004 +0000
+
+ minor fixes to glw's touch depend
+
+commit 77650b4672ad74a5179c16f726fecdb2b94ae0b3
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Wed Jan 28 19:46:12 2004 +0000
+
+ Fix compiler options regarding exception handing to resolve warnings.
+
+commit 1ce9940c79e2f64db8cce04a1fcfa9a5402591ab
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Wed Jan 28 19:00:34 2004 +0000
+
+ Avoid setting NOWIN98 compiler optimization with VC 7.
+
+commit 253428f06a45d59cc50c9ccc4c8d17cd8c02c25d
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Jan 28 17:35:49 2004 +0000
+
+ Fixed a cut-and-paste bug from the BlendFuncSeparate driver interface
+ change.
+
+commit 29b2ced167db4f89845734e2c34f66912075f9cd
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Wed Jan 28 16:28:53 2004 +0000
+
+ fix printf warnings
+
+commit e8df62b5a7b2f9a973cdd1fa005c2e8799e09e04
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 28 15:15:14 2004 +0000
+
+ patch from bug 885992
+
+commit c24d40b17897362913c3cc4373ed1ec96a6ea6a4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 28 15:14:09 2004 +0000
+
+ s/BlendEquatioRGB/BlendEquationRGB/
+
+commit eabe7beeaaff94144b22e253211cf7c1b6c87726
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jan 28 10:09:59 2004 +0000
+
+ add glutInitWindowPosition calls
+
+commit 469d1b0f221d93a296b1e67f1c97d8e850780c60
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jan 28 10:07:48 2004 +0000
+
+ Add glutInitWindowPosition call
+
+commit 27413ed249d5614de3057eda3401a6cc9ca5b324
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jan 28 09:29:21 2004 +0000
+
+ Move FRAG_BIT_ definitions to mtypes.h so that NEED_SECONDARY_COLOR() macro
+ works globally.
+
+commit 43b57728340e70827a114c384192ed319abdb5c6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jan 28 08:21:05 2004 +0000
+
+ Use NEED_SECONDARY_COLOR() for checking specular state at all times
+ when ctx->_TriangleCaps might be inaccurate (ie while ctx->NewState might
+ be non-zero).
+
+commit c78a89d761a104dfe92ab42d3d52bb69c43105c1
+Author: Dave Airlie <airliedfreedesktop.org>
+Date: Wed Jan 28 03:58:49 2004 +0000
+
+ fix breakage associated with pointers not being initialised in
+ mesa_create_context
+
+commit 5102075330933605ca6ac58d6fe9e4d537808646
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 27 22:44:35 2004 +0000
+
+ change PFNGLXGETUSTPROC's argument from uint64_t to int64_t to match the DRI
+
+commit 74cf25b0816f7b8e00ed9cbe2e028e943a92170f
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Jan 27 21:40:35 2004 +0000
+
+ Missed this commit as part of the addition of
+ GL_EXT_blend_equation_separate / GL_ATI_blend_equation_separate.
+
+commit c93105eb9e2499efb237fd89dba0cebd48f18375
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Jan 27 18:52:40 2004 +0000
+
+ Added support for EXT_blend_equation_separate / ATI_blend_equation_separate.
+ The internal driver interface was also changed to use
+ BlendEquationSeparate instead of BlendEquation.
+
+commit dd9e6e7e37fbb8c30c8085ed784539d94110aa3e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jan 27 18:44:50 2004 +0000
+
+ Catch and shortcircuit no-primitive and no-vertex cases in _tnl_wrap_buffers()
+
+commit da2be88f18756f9caca95491dff81f9e77cbe0e8
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Tue Jan 27 18:28:58 2004 +0000
+
+ Add new driverfuncs.
+
+commit 18fa367ac6e035341f5eb86ecc4231124b2921e3
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jan 27 16:34:45 2004 +0000
+
+ Consolidate texObj->Pos/Neg/X/Y/Z and texObj->Image into a single
+ array, texObj->Image[face][level].
+
+commit 740f7de085f143b2bb1fe623d68c5efb3560e1a7
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jan 27 16:18:00 2004 +0000
+
+ Tweak: set z scale to one, else tnl thinks we have a 3d texcoord.
+
+commit 727d345b41c396af419a389808fdaec11aeafc3e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 26 23:57:19 2004 +0000
+
+ remove bogus assertion in DeleteTexture() function
+
+commit 8135a445f3b0ae207ec5e4485b5936050d438320
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Mon Jan 26 23:38:12 2004 +0000
+
+ Make the drivers using the common texmem code work with NewTextureObject
+ in Mesa. This is analogous to changes idr made to the r200 driver. Patch
+ submitted by Andreas Stenglein.
+
+commit ef167c63282bb9b98492f46f9a3ad8f861db1a30
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 26 21:34:28 2004 +0000
+
+ Fix for recursion in generic_copy_pv_extras.
+ Add a comment.
+
+commit cb7c689e1411ebf4a66b6bf36711257352abc822
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 26 16:16:16 2004 +0000
+
+ replace MALLOC w/ CALLOC to silence valgrind warnings
+
+commit ab41a96ae7df4479bc247ed6d7a06ade350fd149
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 26 13:45:42 2004 +0000
+
+ Add tests for ARB_fp trig instructions and also for 1D texturing
+
+commit 5d3568f36cbd58210914706fb07dc822adbdd6a9
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Jan 26 10:43:50 2004 +0000
+
+ minimize the number of DIVs
+
+commit 8d2cfa9ea0bdc56458567707685faed5dbc49076
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Jan 26 10:41:39 2004 +0000
+
+ glutTimerFunc cleanup
+
+commit d3682ce37616bb1b33c587263bcb6c4e4eeac313
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Jan 26 10:38:46 2004 +0000
+
+ accomodate FetchTexel and fix some memory leak bugs
+
+commit c9d2f4ca474c7ae0fcd6d4a7ea6da671b9a4725f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 26 00:30:08 2004 +0000
+
+ updated GLUT link
+
+commit 1749a25ca889d514889b34cf6311c8014d97bf66
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 24 17:17:25 2004 +0000
+
+ New error checking in _mesa_GetTexImage().
+ Updated comments and some better function parameter names.
+
+commit fe03108ce0349cf6016fc88b0496735a8db3e804
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 24 17:02:19 2004 +0000
+
+ Some initial RGB and RGBA floating point texture formats.
+
+commit c6bf130e98b3c5b691ecaf4d99d401f2aab48e03
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 24 16:53:20 2004 +0000
+
+ initial info for version 6.1
+
+commit b4b35bcc42f230fcf56af228b127d4943d4a2c1b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 24 16:50:35 2004 +0000
+
+ New glXUseRotatedXFontMESA() function. Like glXUseXFont(), but takes
+ a rotation parameter (either 0, 90, 180 or 270 degrees).
+ Also, a demo program.
+
+commit eaaf618bb8d085ea696bd1b610ce6e896d2cc50d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 24 15:20:24 2004 +0000
+
+ added link to ORSA (per request)
+
+commit 83e0cfb8a0bf3a14b6f495060749251cf94719d9
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sat Jan 24 14:41:24 2004 +0000
+
+ Parse radeon, not r200 configuration in radeonCreateContext.
+
+commit 78bb0803cf722ad5273fc495791eb573bf8b4d21
+Author: Michel Dänzer <michel@daenzer.net>
+Date: Sat Jan 24 12:35:13 2004 +0000
+
+ Fix hardware ROP state handling (Roland Scheidegger)
+
+commit 4d859f73fce9918381c65da55f046a7c605c9e65
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 23 18:57:05 2004 +0000
+
+ added device driver hooks for BindProgram, NewProgram, DeleteProgram
+
+commit f2ce4dc7dae1a1878c182f3e06fd7d9b64ab9027
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 23 18:56:25 2004 +0000
+
+ Change software alpha plane pointers from void* to GLchan*, eliminate some casts.
+
+commit 292615071a3867ab90dc7c444f72bcfadd2869f3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 23 18:51:00 2004 +0000
+
+ more fixing for tdfxUpdateTexturePalette
+
+commit 7f7b2d86bc9f6a1811bab65c3bd2a3af83fb135e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 23 16:08:35 2004 +0000
+
+ a few more tweaks
+
+commit 75a0d31aaaa6125152f0ce356a72bcc22680c861
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 23 16:03:33 2004 +0000
+
+ fix assorted compilation issues
+
+commit 3d06dc75816ef7f1c6e2c3f24a98dd2934c4c385
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Fri Jan 23 15:57:52 2004 +0000
+
+ accomodated new driver_func initialization
+ added DMesaGetProcAddress
+ some other minor fixes
+ updated documentation
+
+commit 3abf746a7eae52220485cd031aecec2ca9e6103e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jan 23 14:46:27 2004 +0000
+
+ Don't set extra bits in FLUSH_VERTICES, fix several state bugs.
+
+commit 5c161cf615a073a9a69916957babdd234eba2174
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Fri Jan 23 10:13:40 2004 +0000
+
+ Committing in .
+
+ Trying to remove the <CR> at the end of each line.
+
+ Modified Files:
+ Mesa/src/mesa/descrip.mms
+ Mesa/src/mesa/drivers/common/descrip.mms
+ Mesa/src/mesa/drivers/osmesa/descrip.mms
+ Mesa/src/mesa/drivers/x11/descrip.mms
+ ----------------------------------------------------------------------
+
+commit ff2cc41ccb9f5a5f0411d4bbfe2d5eb9655c2cc4
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Jan 23 07:57:32 2004 +0000
+
+ Modified error messages in _mesa_BlendFuncSeparateEXT to note that the
+ same function is used internally for glBlendFunc and
+ glBlendFuncSeparate.
+
+commit a2c97eb2ffad0471aae34ab185461774318a57d6
+Author: Michel Dänzer <michel@daenzer.net>
+Date: Fri Jan 23 03:33:04 2004 +0000
+
+ Call UpdateMaterial() unconditionally on GL_COLOR_MATERIAL state change
+ (Roland Scheidegger), and update lighting state unconditionally there.
+ Fixes lighting oddities in the xscreensaver endgame hack, bzflag and
+ possibly elsewhere.
+
+commit 5d00e131d8a264498b8d050c3eded093ee5c42f2
+Author: Michel Dänzer <michel@daenzer.net>
+Date: Fri Jan 23 03:19:47 2004 +0000
+
+ Fix attenuation hardware state handling, inspired by the R200 DDK reference
+ driver (our r200 driver basically didn't do this at all, maybe got lost
+ along the way?)
+
+commit 4f295cee73bae1f687efe2dc062522b40d90b1e4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 23 01:59:54 2004 +0000
+
+ Initial support for floating point and signed texture formats.
+ New "FetchTexelFuncF()" function returns texels in floating point format.
+ Only used for depth component images at this time.
+ Changed original FetchTexelFunc to return GLchan instead of GLvoid, removing
+ need for a bunch of ugly casts.
+
+commit edd1d86c740811e59272e2ba0f7ebe0caf9cf57c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 23 01:56:26 2004 +0000
+
+ misc updates
+
+commit dca71ea44bc4a9d454550c70e20b38f678b18a7e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jan 22 22:40:40 2004 +0000
+
+ Minor tweaks to help out at a driver level.
+
+commit 004d71f55429a97513457c1cc67b910d86e8bca9
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Jan 22 16:25:02 2004 +0000
+
+ Corrected a comment about how the DOT3 hardware works in the R200.
+
+commit 03166f73f33970245d22b61b629f91647196e0f1
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Thu Jan 22 15:02:17 2004 +0000
+
+ Committing in .
+
+ Updated OpenVMS compile support
+
+ Modified Files:
+ Mesa/Makefile.X11 Mesa/src/mesa/descrip.mms
+ Mesa/src/mesa/drivers/osmesa/descrip.mms
+ Mesa/src/mesa/drivers/x11/descrip.mms
+ Added Files:
+ Mesa/src/mesa/drivers/common/descrip.mms
+ ----------------------------------------------------------------------
+
+commit afa446db83ecf5dcb38ce46648fb12911628de32
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Jan 21 17:03:58 2004 +0000
+
+ Silence some compiler warnings.
+
+commit 169223c9eee5ee365bb4575939d92f852383d562
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Jan 21 16:42:30 2004 +0000
+
+ Make the R200 driver work with the NewTextureObject in Mesa. Other
+ drivers that use the texmem interface will likely need similar changes.
+
+commit 34a78574114d5f3ff814cf55c222fe26bded334b
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Jan 21 16:26:05 2004 +0000
+
+ Silence a compiler warning DRI builds using gcc3.
+
+commit 66691ef5b56862e98a0254703751177b883d454a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jan 21 16:24:05 2004 +0000
+
+ Use new EMIT_PAD functionality for spec and/or fog as available.
+ Fix a couple of problems with texture emit.
+
+commit 20a17e42d7fc9fe65aabe612fe1e513c3103d121
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Jan 21 16:08:43 2004 +0000
+
+ Remove dd_function_table::BlendFunc. All drivers now use
+ dd_function_table:BlendFuncSeparate. If a driver does not actually
+ support EXT_blend_func_separate, it can assume that the RGB and alpha
+ blend functions are the same.
+
+commit 4d36f334c9b3ab6b4e6901802e64ee7391a422ef
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jan 21 15:31:46 2004 +0000
+
+ Another mechanism to create vertices with holes - a new EMIT_PAD style
+
+commit e98986bdd3bb33583e9c0f275a93e4cfddd3b11d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 21 04:13:49 2004 +0000
+
+ don't call glVertex functions directly, call _glapi_Dispatch->Vertex(), etc
+
+commit a999e809af97e32cc1198ca816dcacc735a0a4af
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 20 23:55:45 2004 +0000
+
+ remove _mesa_check_driver_hooks() - it's really not too useful anymore
+
+commit 4e713913fb88bc221eea1a18822cc782ca39af4d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 20 15:24:50 2004 +0000
+
+ Undo some bits from last check-in related to the ctx->Driver.NewTextureObject
+ functions. Don't allocate the driver-specific data during texture object
+ creation but do it later as needed (as code originally was).
+
+commit d4636e74c86fad221c57a3a1704106e2367fc230
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue Jan 20 14:15:35 2004 +0000
+
+ fixed a bug in VGA initialization routine
+
+commit e755144e797ded1679d828ba58cff9e7861e59cd
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jan 20 11:22:20 2004 +0000
+
+ remove duplicate t_dd_* files
+
+commit d8059008a2aa8d3702c996d4f89b4c297fb7ce55
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 20 02:54:51 2004 +0000
+
+ initial 6.1 release notes with info about recent _mesa_create_context changes, etc.
+
+commit d3fd7ba8af15bead2f770d68a893449adeb11397
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 20 02:49:27 2004 +0000
+
+ Before calling _mesa_create_context(), initialize a dd_function_table struct
+ by calling _mesa_init_driver_functions() and then plugging in the driver-
+ specific functions.
+ In particular, make sure ctx->Driver.NewTextureObject points to the
+ appropriate driver function so that _all_ texture objects are augmented
+ with the driver-specific data.
+ Put in a bunch of assertions in the texture-related driver functions that
+ texObj->DriverData is valid. Remove old dead code in near future.
+
+commit 988a8862c8379c0312d40353ee4b35537dff59a1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 20 02:36:44 2004 +0000
+
+ _mesa_init_driver_functions() to initialize dd_function_table
+
+commit 8d97ad18a7bd34e91d2f990b9349ea59391d4053
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 19 23:29:40 2004 +0000
+
+ some more count vs. end confusion
+
+commit 6bf808bc6c074028b51a98928b4883648c6dac05
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 19 18:06:30 2004 +0000
+
+ replace -lm with $(GL_LIB_DEPS) to get -lexpat
+
+commit 9c0b83556dae35cf7260567f30fc156efa8c9742
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 19 17:41:02 2004 +0000
+
+ replace CALLOC with MALLOC in _mesa_new_texture_object()
+
+commit c929f13701634a145a217ebb1ddec80742234d5d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 19 17:35:41 2004 +0000
+
+ remove incorrect comments, added _mesa_bzero() call in _mesa_initialize_texture_object()
+
+commit 75c8a2e7be7c2925393ce7fc693044ed599fe1e5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 19 16:56:50 2004 +0000
+
+ omit CVS directories from tarballs, bump version to 6.1
+
+commit ed43ecee90ad6fdde1e604f7f820ef7f8cd1251b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 19 10:41:35 2004 +0000
+
+ Migrate i830 driver to t_vertex.[ch] for building hw vertices.
+
+commit 41abe9e73f4d6cebd7bdfcc187c566e715894f0d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 19 00:32:43 2004 +0000
+
+ fix glitch from previous check-in (pointer vs int)
+
+commit 77d240858e83cdaae799ef95188f59b7f2eda464
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jan 18 17:22:50 2004 +0000
+
+ minor changes to silence warnings
+
+commit 6a82d44d9cb25b8ef1e1697adfcfe91a964c221f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jan 18 17:22:25 2004 +0000
+
+ Change get_ust_nop()'s parameter from int64_t to uint64_t to silence warnings.
+
+commit 87745ce771cb2e15d3f4c919a96f7a1e72fdfcbf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jan 18 17:21:15 2004 +0000
+
+ change Data ptr from GLbyte to GLubyte to silence warnings
+
+commit 013dee06c19ac342a7ce6b94b4630f7f45b26aa9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jan 18 17:20:41 2004 +0000
+
+ include texobj.h to silence warnings
+
+commit e093e94298d4c73974ed90213d4ae17b26a9ce2a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jan 18 17:19:45 2004 +0000
+
+ s/char/GLubyte/ to silence warnings
+
+commit ef77464a7ab966996a7d07649d2e381713c904c9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jan 18 17:19:05 2004 +0000
+
+ include sched.h to get sched_yield() prototype
+
+commit 97fcc0e77b55f2d11a4fe34fbe71605d0550e6c8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jan 18 17:18:43 2004 +0000
+
+ make second param of driParseConfigFiles() const
+
+commit 5b9a9d46d4a55a70cebbe238ac712631013b680b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 17 18:31:12 2004 +0000
+
+ tweak OpenBSD and SunOS commands
+
+commit 4eb16e3a6761cae2d51801f72836549a02687c1a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 17 18:30:52 2004 +0000
+
+ tweak openbsd config
+
+commit 66f2fd89ea6e46cd76ea62f59c0b2fcdf80b2247
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 17 17:33:22 2004 +0000
+
+ added some missing FLUSH_VERTICES calls
+
+commit 8d83242c8c90846082d15cc3cfe204f4f8a4937d
+Author: Michel Dänzer <michel@daenzer.net>
+Date: Sat Jan 17 16:05:40 2004 +0000
+
+ Fix cosmetic GL_RENDERER string problem (Andreas Stenglein)
+
+commit edc9ffc748d0a0a17f1968c0c31a5cb8b76b2666
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 16 21:26:30 2004 +0000
+
+ bump version to 6.1 (new development)
+
+commit 4a53f7bc74fbbd84a3d0a28fc3316cdf5e826121
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jan 16 13:41:18 2004 +0000
+
+ Respect the 'in_use' field in the global LRU as a marker for
+ kernel-reserved memory regions.
+
+commit 48e89df25bb3f54a719f4c11fb51254206fc71a6
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Fri Jan 16 06:59:50 2004 +0000
+
+ fixed refresh rate control in Glide wrapper
+
+commit 546214f3c8aa7c63df8c77267dab16831dc7f884
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 15 15:47:57 2004 +0000
+
+ tweaks for 6.0 release
+
+commit 46d6bd368d343a40eaa98a0583b524b982e9421f
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Jan 15 15:43:07 2004 +0000
+
+ add casts to quiet compiler warnings
+
+commit 6290ca42f2c3c9d4c441086eb2f5e6425ceecdc7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 15 14:24:37 2004 +0000
+
+ fix -fomit-frame_pointer typo
+
+commit f8761dc0409000c6695467f72b32adf63e48361e
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Thu Jan 15 08:30:05 2004 +0000
+
+ implemented glutTimerFunc
+
+commit 0849ed12755e21d5df2b83c9e8cc91f15ee1d896
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Thu Jan 15 07:17:31 2004 +0000
+
+ documentation update
+
+commit 4d5e6623d36183b9c0380aa5da8fa37a979ce441
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Thu Jan 15 07:16:06 2004 +0000
+
+ _mesa_delete_texture_object and some other updates
+
+commit 3663c0f82527d972a7e5b85937d8da60253eb6f3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 15 00:29:51 2004 +0000
+
+ Cosmetic changes.
+ Added a bunch of const qualifiers.
+ Use _mesa_memcpy() instead of memcpy(), etc.
+
+commit 5bae6b90f93bb1bc2d85efe3de963fb49a38fed1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 15 00:09:01 2004 +0000
+
+ change MALLOC to CALLOC to silence valgrind error in _playback_copy_to_current()
+
+commit 4b603440f64f0bb1d762c4eae9496d12455cdbb1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 14 23:18:47 2004 +0000
+
+ use -G not -shared for gcc on SunOS
+
+commit ae7666385d6bb2885fce2590d4f07c6caa8b3260
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 14 19:51:19 2004 +0000
+
+ added blurb about NVIDIA extensions
+
+commit e6089db8c082da62f85a3510e6bd06f5d8f0405e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 14 19:49:22 2004 +0000
+
+ latest changes, bug fixes
+
+commit 8533b915437464f335f52bfacf93292098f64f4d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 14 19:48:58 2004 +0000
+
+ bump MAX_WIDTH/HEIGHT to 4K pixels
+
+commit d48382c77895307eea9e9f615933feb81da47e2d
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Wed Jan 14 17:45:24 2004 +0000
+
+ Generate mesa.def file for Windows.
+
+commit c85f0fa177db965a8759b8aed9b44df62dbcfeec
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Wed Jan 14 17:38:14 2004 +0000
+
+ Replace with version generated from new python script.
+
+commit eb7935c63b647df38325fcc77ce86587558fb7c5
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jan 14 10:52:51 2004 +0000
+
+ Fix up more confusions with count vs end in array functions
+
+commit 43ed92b3a1abceb03dd2c0bcc05f466e9a3f620a
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Wed Jan 14 07:10:12 2004 +0000
+
+ fixed a bug in texture memory manager when in UMA mode
+
+commit 067603db91072fc3b02e1583195641972f81168f
+Author: Michel Dänzer <michel@daenzer.net>
+Date: Wed Jan 14 02:26:28 2004 +0000
+
+ Fix initialisation of cubic tecture offsets (Andreas Stenglein)
+
+commit 5da27de003e62a9086cacf0aca0534485c2ad1cb
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Tue Jan 13 23:45:42 2004 +0000
+
+ add new entrypoints
+
+commit 0ce75a77c017e199d9ca00dbe18e409e75f8c30d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 13 23:39:34 2004 +0000
+
+ tweak aix-gcc config
+
+commit e54f2601707a54be8869fb3b0be26503d1c9916e
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Jan 13 16:21:06 2004 +0000
+
+ Added support for EXT_texture_mirror_clamp.
+
+commit b44d4a0d6a7dcc1eebe4f055b98c236e64cb8da1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 13 16:18:33 2004 +0000
+
+ updated glext.h, fixed bug 876160
+
+commit a7e6f7ba35a65bec295052fe8b394a9580c58b20
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 13 16:17:21 2004 +0000
+
+ exercise glDeleteProgramsARB
+
+commit 7a28156666f73a4e89354bd06acecaa6bfb8f9f4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 13 16:14:09 2004 +0000
+
+ glDeleteProgramsARB() failed for fragment programs (bug 876160)
+
+commit 1e274517b83cc563fb1ab4e5c62753b2410943ee
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Tue Jan 13 16:04:46 2004 +0000
+
+ Committing in .
+
+ optional compilation of progs/test/ since it seems not to appear in the
+ releases.
+
+ Modified Files:
+ Mesa/descrip.mms
+ ----------------------------------------------------------------------
+
+commit 09a4fcb59272afdf460032916b008e610d2d7eca
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue Jan 13 08:47:44 2004 +0000
+
+ added support for textures bigger than HW can support (SW rescaling)
+
+commit b005b8258d4c8ee5c99e4942575c20b8621f0435
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue Jan 13 08:46:46 2004 +0000
+
+ re-enabled trilinearness
+
+commit d0753661073125dad9aaaa6a37385b5f84a50a40
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue Jan 13 08:46:12 2004 +0000
+
+ small fixes
+
+commit 66304ec6d12350073a339a54d308d625c3923125
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue Jan 13 08:24:43 2004 +0000
+
+ updated FX wrapper
+
+commit eba6bacc88461a7d4083cdd1d4799c7d37307a44
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Jan 13 02:18:58 2004 +0000
+
+ Removed some dead code. R128 does not (as far as I can tell) support
+ GL_ARB_texture_border_clamp. The ATI drivers for Windows support it,
+ but I can see no way to make it work without a fallback.
+
+commit 3d8f7d4c8c9b28272f152aebbaf775bf0d788ab7
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Jan 13 02:15:29 2004 +0000
+
+ Added some missing extension strings.
+
+commit cdde03efe2164b4bd23a8f59a797144c14ec6cce
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 13 02:04:57 2004 +0000
+
+ remove stuff that's now in glext.h
+
+commit c661cccf3772ab137da5112c9bf43674330ed4ec
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 13 01:54:03 2004 +0000
+
+ updated to version 21 with OpenGL 1.5 support
+
+commit c6c4cd8b6f1b4b34ad84bdb31095458bde011fb0
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Tue Jan 13 01:11:09 2004 +0000
+
+ silence compiler warnings
+
+commit 4f7a8f3a4753d4662c311e0dd99d94cb7dcd0f71
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Tue Jan 13 01:10:05 2004 +0000
+
+ remove unused variable
+
+commit 1852f4fa338765bf62b21ea7644e43cc19a1d77f
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Tue Jan 13 01:09:17 2004 +0000
+
+ change type of loop index var to remove compiler warning.
+
+commit d575248903d0e012c8876c2b2ff4b268d70bedaf
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Tue Jan 13 01:08:23 2004 +0000
+
+ add cast to quiet compiler warning
+
+commit 1c5a45eafe7dae6db88484540edcdc17c39a0ee6
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Tue Jan 13 01:07:28 2004 +0000
+
+ init an uninitialized variable. This doesn't fix a latent bug because
+ the variable was multiplied by zero.
+
+commit 9bb7a55de9675e2e65c97eaa771554a9cef005ab
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Tue Jan 13 01:05:28 2004 +0000
+
+ add casts to silence compiler warnings
+
+commit d612d7e2eec591765e175e618a4eabd6df9da648
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Tue Jan 13 00:24:03 2004 +0000
+
+ add t_vertex.c to project
+
+commit 22e68de957cb03d8831626c84491fe5c145c44e4
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Tue Jan 13 00:23:31 2004 +0000
+
+ remove ss_vb.c from project
+
+commit 8bec7c09bbe3a22109f97312ca2cc4e46da282a1
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 12 23:21:54 2004 +0000
+
+ Don't call _tnl_draw_range_elements() unless start == 0.
+
+commit 553a8e0e7b0e8ec2f208a582c6e644cd340dba53
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Jan 12 22:50:01 2004 +0000
+
+ Removed redundant extension strings. The Mesa extension mechanism
+ automatically enables "duplicate" extensions without the driver
+ explicitly enabling them.
+
+commit e96d5b984635b0e54ba72458388034dafc07dc50
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 12 15:30:55 2004 +0000
+
+ latest bug fixes
+
+commit f7650b647ac17b1aa774e13d05665e04f0fbefd0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 12 15:30:42 2004 +0000
+
+ added note about mklib permissions
+
+commit a62bccff67c6219799a831db0e7308c3e42be076
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 12 14:52:21 2004 +0000
+
+ make executable
+
+commit 1b65e52fb19599688494e7dcb292ab3bd1eee1b3
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Jan 12 12:28:05 2004 +0000
+
+ Glide driver (windowed mode) fix for Voodoo2
+
+commit bf30122484a447f67e8aac5b7c845113e41a41ac
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jan 11 17:15:03 2004 +0000
+
+ comment-out the touch/rm depend lines
+
+commit ebe0ca3937eabaaed614a9def38ce05bf045cdf3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jan 11 17:14:37 2004 +0000
+
+ change -O to -O2 for aix-gcc
+
+commit b673fc49b9d3a436c8fde79d1eb238afd72b55de
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jan 11 16:48:14 2004 +0000
+
+ fix vertex program debugger issues (Bug 874382)
+
+commit 8bc3ce92a2fa1b8b4ae2b928d4102389f2298917
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jan 11 16:27:53 2004 +0000
+
+ call _mesa_delete_texture_object() from in the driver's DeleteTexture function
+
+commit add9f2168a5d6b15eb9955ee761246c4f4cf8458
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jan 11 16:21:13 2004 +0000
+
+ add GL_TEXTURE_CUBE_MAP_ARB to _mesa_max_texture_levels(), reordered some comments
+
+commit 4dd4ac3fc0241910ecc8331659db09bf68399a60
+Author: Michel Dänzer <michel@daenzer.net>
+Date: Sun Jan 11 13:10:08 2004 +0000
+
+ Actually disable HW TCL capability when SW TCL is forced.
+
+ + remove some gratuitous whitespace
+
+commit b07430817c8470dc7faa3ca3782c692521a4c22e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jan 11 00:05:34 2004 +0000
+
+ more aix-gcc tweaking
+
+commit da93ecd3ec0c765a61b2b9be67a5c809e3f41d60
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 10 22:42:34 2004 +0000
+
+ aix-gcc tweaks
+
+commit e3cc5c31b9359ac1e9e7c51edb64e5d3f1d9d85a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 10 22:22:41 2004 +0000
+
+ removed MAKELIB lines. tweak openbsd config
+
+commit ff3515831e3aed708c2ab7452fa1d470eb1fa1ae
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 10 22:18:41 2004 +0000
+
+ added OSMESA_LIB_DEPS needed for some platforms
+
+commit ae6c594908567e6f980be20cda9a96d8fffe56b7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 10 22:14:51 2004 +0000
+
+ added aix-gcc config
+
+commit 12d6caea08e5840e7852573a1dcb34b4c6f16192
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 10 22:12:21 2004 +0000
+
+ Use same steps for Linux and OpenBSD.
+ Added AIX/gcc support.
+
+commit cf75101bba7b944b597f29adc3a7f83d85c0d4b1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 9 20:34:04 2004 +0000
+
+ regenerated to support new 1.5 functions, etc.
+
+commit bd09d49eb4c6b7e14b7ba68d83fd556976724fa5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 9 17:14:22 2004 +0000
+
+ re-enable SSE code, except for the _mesa_sse_transform_points4_identity() function. Use the x86 version instead
+
+commit ed98b867af836d7b87529716e95bc611a5695d4d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 9 15:31:08 2004 +0000
+
+ Change < to <= when testing counts against ctx->Const.MaxArrayLockSize,
+ per Daniel Borca.
+ Also, added XXX comments to mark where there may be a problem with the
+ calls to _tnl_vb_bind_arrays(). Is the last parameter a count or index?
+
+commit a05b1549f7b6da7d9313b9addf2d01b9c61f34d7
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jan 9 09:28:40 2004 +0000
+
+ Roland Scheidegger's r200_changeemitorder.diff.
+
+commit 0f47e002bcec7524545c03e41c8f949c4647b963
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Thu Jan 8 22:49:26 2004 +0000
+
+ Fixed a few typos in the german translation.
+
+commit 088eb4fb9baef8350bc7af5fadcca646e2829fe0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 8 14:23:42 2004 +0000
+
+ set StringPos field in parse_vp_instruction (Mesa bug 873011)
+
+commit 332a6741d5a5399ba33fd5f038f3c5a6736366f1
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Thu Jan 8 14:14:02 2004 +0000
+
+ Committing in .
+
+ Update OpenVMS makefiles
+
+ Modified Files:
+ Mesa/src/mesa/swrast_setup/descrip.mms
+ Mesa/src/mesa/tnl/descrip.mms
+ ----------------------------------------------------------------------
+
+commit fb2a95b39142a2507e710d8a8e973f107fffb654
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jan 8 13:55:24 2004 +0000
+
+ Perform check for dstclip[3] == 0.
+
+commit 2fa774edba710b32bc6999a65b92ade2db415589
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Thu Jan 8 09:04:27 2004 +0000
+
+ keeping things safe: sanity check back
+
+commit a71d4445b4c1666702f308a4ef462f5722ad4b80
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Thu Jan 8 07:37:21 2004 +0000
+
+ envvars to control run-time
+
+commit 1a2a1f039d8730aa45a1f41819a3f3827f905d10
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Thu Jan 8 07:36:37 2004 +0000
+
+ updated makefiles
+
+commit d994f6dda5fae94c0ad159e2cc36b73145bf4a9f
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Thu Jan 8 07:32:06 2004 +0000
+
+ removed unnecessary (now) sanity check
+
+commit 94de418fd053a2a970d1a1312765f14be7aeb6f6
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Wed Jan 7 23:35:00 2004 +0000
+
+ Use hand-made number parsing functions as the libc routines are locale-dependent. Thanks to Pavel harry_x Palat for pointing that out.
+
+commit 49bef526fde084b3ab20e9ff19bb89ecc31d4e55
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 7 15:18:17 2004 +0000
+
+ reindent the code
+
+commit d7af11a041fb072f72ccac8587b8af1d2e43dfe7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 7 14:51:30 2004 +0000
+
+ updates for 6.0 release
+
+commit 731852f8a17c39dd0b7be92175621373320bae5d
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Wed Jan 7 13:58:04 2004 +0000
+
+ bugfix in texture swapping mechanism (multitex)
+
+commit 6471160770601a5f9b71252549002aa439b4091e
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Wed Jan 7 13:57:23 2004 +0000
+
+ temporary workaround for bad primitives in fx_render_vb_quads
+
+commit 4c75d90ad21d40ae9a1965868cc992470421caff
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Wed Jan 7 13:54:17 2004 +0000
+
+ protect against broken apps
+
+commit 63f025c5adba242c760fc3156b4aa92ee6f29f76
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Wed Jan 7 12:50:30 2004 +0000
+
+ teensy bit of optimization in interp code
+
+commit e1ecdc337e2047873e8dad63c7c0388348d1d5b7
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Wed Jan 7 12:49:47 2004 +0000
+
+ wgl interface
+
+commit 972f3ccedfbe0591a76bee95d8eabf4a4a588c29
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Wed Jan 7 12:49:22 2004 +0000
+
+ cleanups
+
+commit 17f2e550099db465f56081e4086c171b354e4faf
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Wed Jan 7 12:39:45 2004 +0000
+
+ sanity check for vertex counter
+
+commit 722cb89a1300e59725a5e584017f18d1946efa6e
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Wed Jan 7 12:37:09 2004 +0000
+
+ no-op table on par with main dispatcher
+
+commit ff1c766f7c83fd1da91acdb28ba50be396a5eeae
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Wed Jan 7 12:34:28 2004 +0000
+
+ Mingw3 prototypes
+
+commit 203dca4287f263f4a2fd6e1fa15e5286894ac666
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jan 6 20:13:41 2004 +0000
+
+ Testing
+
+commit a48a280e27d714b5fba1696257fc992dfc1519cc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 6 16:36:48 2004 +0000
+
+ added Aqsis link
+
+commit b4b04651f57679c5b80177bd8a9f9c3a0a7b8b7f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 6 15:33:48 2004 +0000
+
+ remove BMRT link
+
+commit 85138fa443f5d50fa54b3b154a208ec86075d668
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jan 6 12:20:20 2004 +0000
+
+ Add comment regarding sse disable
+
+commit 20caac0967dbe73306d1f130bea561be411fc067
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jan 6 12:19:40 2004 +0000
+
+ SSE segfaults in conform - disable for now.
+
+commit 38bf45d4bbc576a695a2f7bb7d9ae3caf28a6838
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jan 6 00:18:23 2004 +0000
+
+ Fixes for _swsetup_Translate()
+
+commit 44d4a8f64521fe9d398ecca5dc886171d8a40a7e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jan 6 00:18:03 2004 +0000
+
+ Apply attribute offset when calling extract().
+ Simplify stride calcs.
+
+commit 10095c9024efb1767fb3df0b59672299c090ad10
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Mon Jan 5 23:19:21 2004 +0000
+
+ Add support for Radeon IGP chipsets, based off of mcgrof-radeon-igp-v3.diff
+
+ XFree86 bug: 314
+
+commit 283507075acac9833ef2d5aeaaa08046af034419
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 5 16:42:34 2004 +0000
+
+ added missing descrip.mms files to tar file list
+
+commit 16f54219f53f9345836e3348cffd9d93b0646a33
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 5 15:55:01 2004 +0000
+
+ Slight cleanup
+
+commit fc9f313b9d8e19cebb828ef59dcda88117e0bf30
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 5 15:31:22 2004 +0000
+
+ Remove debug
+
+commit 588225770c60834dfd2a95850435cc549167dc05
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 5 15:24:53 2004 +0000
+
+ Beef up t_vertex.c:
+ - cope with input vectors with size less than that of the emitted
+ attribute.
+ - cope with vertices with 'holes' inside and between vertices.
+
+ Fix calculation of tnl->render_inputs to work with fp programs.
+ Mirror VB->PointSizePtr in VB->AttribPtr so that it can work with t_vertex.c.
+
+ Transition swrast_setup/ to use t_vertex.c to build swrast vertices.
+
+commit ce81fe69da00f86464a109243d6e109b71335329
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 5 10:06:49 2004 +0000
+
+ Add t_vertex.c
+
+commit 790734045b69c47b1525fbf9106a7ca5a8eb7416
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 5 09:43:42 2004 +0000
+
+ Re-commit t_vertex.[ch] changes to fd.o server.
+
+commit effc73931f86c7961b4eb296d2d4c5d91624a9e3
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Mon Jan 5 02:40:28 2004 +0000
+
+ Added def_max_anisotropy and no_neg_lod_bias options to radeon and r200.
+ The def_max_anisotropy option breaks driconf. :( I'm going to upload a
+ fixed version soon.
+
+commit dbfe7ae848dc008ec878a7da8c39e4091996bb74
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Mon Jan 5 02:35:45 2004 +0000
+
+ Added two new options: def_max_anisotropy and no_neg_lod_bias. The latter one
+ is for disabling faked "anisotropy" in e.g. FlightGear.
+
+commit 22d1acf2ee25280c3294c2cfded232e612ffac2e
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sun Jan 4 22:08:31 2004 +0000
+
+ New, less expensive workaround for state-change lockups.
+
+commit 9741dd6cf40d90cc10357ce06ad9c48dbc0c678c
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sun Jan 4 16:39:29 2004 +0000
+
+ Reenable the vtxfmt code paths in the radeon and r200 drivers.
+
+commit 41c310b20a97a9719100f61c6871e9fd4b3ff5f9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 1 17:13:12 2004 +0000
+
+ whitespace changes and new comments
+
+commit 4d1b773dd32bc03dc386a66764217b7bdade6cf6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 1 15:18:50 2004 +0000
+
+ latest updates
+
+commit d7a3b7e27be2803574e86a5b822fb875a0a9b486
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 1 15:17:20 2004 +0000
+
+ added -fPIC -fomit-frame-pointer etc to sunos5-gcc configs (bug 868737)
+
+commit fc528e27c6cf51cca758aa481fd3b8e3aa3f338a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 31 20:59:51 2003 +0000
+
+ added info about S3TC texture compression
+
+commit 1fdfd54ba246cbcc4f2569ff496daf06fde832ee
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 31 20:47:37 2003 +0000
+
+ updated CVS info
+
+commit 27889274101df1c2dac05e9979d3b8002663bdc6
+Author: Felix Kuehling <fxkuehl@gmx.de>
+Date: Sun Dec 28 15:07:38 2003 +0000
+
+ Fix TCL_LIGHT_MODEL_CTL setting in radeonColorMaterial.
+
+commit 7a57932a025cf786527d31f4951c8a6d0f25aeec
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Dec 27 22:06:39 2003 +0000
+
+ Don't allow lighting in model coordinates when fog is active,
+ from radeon_state.c, noticed by Dieter Nuetzel.
+
+commit eff4abcbd87d59aec62370dbe489d97f926f3638
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Dec 27 20:03:26 2003 +0000
+
+ Correct sense of ctx->_ForceEyeCoords (Felix Kuhling)
+
+commit f903e1142d2c1c22071c4f620229de27e73199a2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Dec 23 21:43:54 2003 +0000
+
+ the optimized UNCLAMPED_FLOAT_TO_UBYTE macro was broken
+
+commit 0ee5f6203c125898fdffbec8d5eea9269aa1559e
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue Dec 23 14:11:22 2003 +0000
+
+ reverted TMUs for proper multitexturing
+
+commit fabb9734ddd1a9b43e7835190f2f4828add2db3c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Dec 21 17:54:31 2003 +0000
+
+ new files
+
+commit 259b880bc77afd5ef288ac9c38a6d4cb31d286f5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Dec 21 04:06:31 2003 +0000
+
+ Version bumps, etc for Mesa 6.0
+
+commit e9e98405e720845f06f7a375585491e938f4dacd
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Fri Dec 19 11:26:46 2003 +0000
+
+ DMesa: removed MGA2064W driver
+ DMesa: added capability to query visuals
+ fxMesa: WGL_3DFX_gamma_control
+ fxMesa: minor fixes to interface (fxQueryHardware vs fxMesaSelect...)
+
+commit eee77bf82fda5b9f3cf34e96e7d0010bf18db748
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 18 00:42:16 2003 +0000
+
+ added link to RELNOTES-5.1
+
+commit 9ccc84160b89829e5a7e7493db8759ad1fb01f12
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 18 00:32:05 2003 +0000
+
+ added MD5 checksums for 5.1 tarballs
+
+commit ede655c2306a02c064b5837a6ddd20200fc0b2dd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 17 23:54:23 2003 +0000
+
+ updates for 5.1 release
+
+commit 63a5cbb177a24988a89ab95867fe91debec438d6
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Wed Dec 17 21:35:44 2003 +0000
+
+ Fix to work with the C preprocessor in GCC 3.3.x.
+
+commit 829adaee79dbe33a1d86ee4110b2698e7d777012
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 17 15:14:31 2003 +0000
+
+ updated location of config.h
+
+commit 65aeac065c6990be538412f2f205bb9c0a1278d6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 17 15:11:41 2003 +0000
+
+ s/Makefile.X11/Makefile.solo/ for make clean
+
+commit 63f4e198b41ad5a25200db3d126a6320d6cf8dcc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Dec 15 18:04:17 2003 +0000
+
+ fix GL_MIN/MAX w/ glBlendFuncSeparate bug (Ian Romanick)
+
+commit b3b725b1e6044d29fb5f484979766d1ef8a7fa9f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Dec 15 16:14:55 2003 +0000
+
+ Assorted mklib tweaks.
+ Added Intel icc support to mklib.
+
+commit f80220d05015c851879f4b347021f98c1690f93b
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Dec 15 10:38:12 2003 +0000
+
+ EXT_secondary_color and EXT_separate_specular via multipass
+
+commit 7aa77b679d0d273b941029bb2c912f87f94d055b
+Author: Karl Rasche <karlrasche@gmail.com>
+Date: Sat Dec 13 15:12:58 2003 +0000
+
+ Problem computing specular value in OPCODE_LIT - pulled in value from
+ vertex program execution of LIT
+
+commit 79ce2095532409e2246b2e0a9928f319245451f8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 13 01:58:41 2003 +0000
+
+ fixed bad touch command
+
+commit 82e9f0099d8ef50cb56289784b81cd37c2f864f5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 13 01:58:20 2003 +0000
+
+ fix some matypes.h glitches
+
+commit 3c7b7df6d5d7fefeec601c6e23024692a9ba77e7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 13 01:55:49 2003 +0000
+
+ call _ae_destroy_context() and _ae_invalidate_state() from the proper places
+
+commit c360a721e7081c08cd33621462056a62335908a7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 13 01:35:33 2003 +0000
+
+ init vars to silence warnings
+
+commit e39e7bc17c75903b764faf437a92a761f8fb02be
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 13 01:33:36 2003 +0000
+
+ added BeOS files, src/mesa/sources file
+
+commit 50f20ec7f5a10b3c07d41912be3bcec082c43711
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 13 01:26:14 2003 +0000
+
+ Updates from Philippe Houdoin.
+
+commit 3b81ccd826271925bbc9286df84a802027645875
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Dec 12 22:35:02 2003 +0000
+
+ fix for C++
+
+commit 74466be8cb53109c519bb00e5b18df11802d05a7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 20:19:13 2003 +0000
+
+ check swrast->NewState in Draw/CopyPixels functions
+
+commit 4a3110fb213f419a47822eb44c5f2fcd74bb3b0d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 18:40:02 2003 +0000
+
+ remove TexCoordInterleaveFactor. Clean up _mesa_InterleavedArrays()
+
+commit d450d0b0e228e5b16c04b2a1acb9ea549aa690f2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 16:38:57 2003 +0000
+
+ applied Felix's patch for configuration system
+
+commit 177db2bc9bc5ac1103068dc874865263f6aa600c
+Author: Karl Rasche <karlrasche@gmail.com>
+Date: Fri Dec 12 16:30:15 2003 +0000
+
+ - Test instruction count
+ - Throw an error for VPs if we set position invariance and then write to the output position
+
+commit d7a2a7f4a80ef62dd2853abc6d950e7d2f694642
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 15:44:11 2003 +0000
+
+ updated list of files
+
+commit 9cefb392bcd17797c72c1e06ba44a56918602134
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 15:39:30 2003 +0000
+
+ uncomment-out tdfx driver
+
+commit 520ef4b5bcb8e950675c6e0d55cb50dd590c1bc7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 15:33:51 2003 +0000
+
+ new makefiles
+
+commit c882e19643a2403e9a339683649efe9aa182ffea
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 15:32:25 2003 +0000
+
+ makefile improvements
+
+commit ecc150c626a3722e26c4efd23d5e7ef735b060fe
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 15:31:50 2003 +0000
+
+ improved makefiles
+
+commit 107564b0902044d80a9518fb6099367a71cbe256
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 15:31:17 2003 +0000
+
+ lists of common source files
+
+commit b8cbca4807d6e477cccedaaf1a8ea0a9fe3a379d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 15:30:52 2003 +0000
+
+ new Makefiles
+
+commit 013056ac651383579b1395c18ad96bd0dca620dd
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Dec 12 10:06:02 2003 +0000
+
+ set MaxTextureImageUnits, MaxTextureCoordUnits
+
+commit e01d671668a2f618de689e72cce5caf21f57d4a0
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Fri Dec 12 08:19:20 2003 +0000
+
+ small bug wrt culling
+
+commit 379641956d134b8dc761b6411d7c4dca8f94a092
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 00:08:01 2003 +0000
+
+ fix visinfo typo
+
+commit a9a1c3f20f2d6aad4afc47cf2b29c5393fddb6b6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 12 00:01:17 2003 +0000
+
+ check for null dpy in Fake_glXGetConfig()
+
+commit c3fb2558f036ca8dd9f9a62269b57636ca3b5e4c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 11 23:55:55 2003 +0000
+
+ replace gl/mesa_wgl.h with GL/mesa_wgl.h (Simon Goodall)
+
+commit d8be4a54fad35da25a2f29a5b327192eeb04d014
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Dec 11 20:49:59 2003 +0000
+
+ Don't evaluate GET_CURRENT_VB_MAX_VERTS() until after calling INIT()
+
+commit 7ed58285abede813fbf5fa0a2e29982043f1bbbe
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Dec 11 19:06:32 2003 +0000
+
+ add driClipRectToFramebuffer helper function
+
+commit 844cdaf461e3e181bcf1d4c0ba79ef5c4140cb4e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Dec 11 16:49:55 2003 +0000
+
+ Updates to tnl_dd_dmatmp.h
+ - Allocate vertices explicitly, rather than trying to talk
+ about dma buffers.
+ - Clean up the various Flush() operations.
+ - Don't allow fallbacks any longer. Provide a support function
+ to detect them ahead o ftime
+ Updates to tnl_dd_vbtmp.h
+ - Get rid of power-of-two vertex strides. Pack all vertices tightly.
+ - Get texunit 2,3 emit working coorrectly.
+ Other stuff:
+ - Get rid of lingering Ubyte color support.
+ - Fix a few compiler warnings.
+
+commit 2dc621f3fdb585f23013aa3e220f2148f9405538
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Dec 11 16:25:36 2003 +0000
+
+ Updates to tnl_dd_dmatmp.h
+ - Allocate vertices explicitly, rather than trying to talk
+ about dma buffers.
+ - Clean up the various Flush() operations.
+ - Don't allow fallbacks any longer. Provide a support function
+ to detect them ahead o ftime
+ Updates to tnl_dd_vbtmp.h
+ - Get rid of power-of-two vertex strides. Pack all vertices tightly.
+ - Get texunit 2,3 emit working coorrectly.
+ Other stuff:
+ - Get rid of lingering Ubyte color support.
+ - Fix a few compiler warnings.
+
+commit 5bcf52b4d6951f9058b5ef00cf2438b3bdfbeea0
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Thu Dec 11 16:16:33 2003 +0000
+
+ fixed prototypes for wglGammaRamp3DFX
+
+commit e0ee87422be17a76e11241c408a3b85b7495540c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Dec 11 15:47:43 2003 +0000
+
+ Quash annoying compiler warning
+
+commit a9fc4b1b1c12b9f5cd69638b3fd79b876935541b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Dec 11 13:10:20 2003 +0000
+
+ Remove dead file glcore-new.h
+
+commit 2ed479784859e01441eeaffc67e916aa6b863def
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Wed Dec 10 19:12:49 2003 +0000
+
+ fix from DRI trunk
+
+commit 28442852978e8ca0bcc5fda6393fc7b94fcf2bbf
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Wed Dec 10 15:24:49 2003 +0000
+
+ got rid of __FUNCTION__ :(
+ Texus2 functions are dynamically linked now
+ made getRegistryOrEnvironmentString more portable
+ bugfix: unnecessary total SW fallback -- glColorMask
+ bugfix: when shared palette was not loaded correctly
+ point_attenuation_stage back in business (point size/atten)
+ fxTexGetInfo is not required for fxIsTexSupported
+ fxDDChooseTextureFormat optimized for RGB/RGBA textures
+ accelerated Quads with Triangle_Fans
+ more WGL extensions/functions (also updated export file)
+ DXTC/S3TC -> FXT1 wrapping hack
+ quick & dirty fix for Quake2
+
+commit 43be8ee414369f2745de0cf936f9767ee31df991
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Wed Dec 10 14:10:45 2003 +0000
+
+ fix typo
+
+commit 13861dbff9f6b6188a53e71676852a9aceaa04c3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 10 02:44:38 2003 +0000
+
+ added fbdev/glfbdev.c to tarball list
+
+commit 527078afcaf27fc517ce3029e623235fa381877b
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Tue Dec 9 23:59:16 2003 +0000
+
+ Fix definitions for Intel compiler.
+
+ Submitted by: Mikhail Teterin <mi@FreeBSD.org>
+
+commit b44fb3577089d4cab7d0f3ff87c6d9f4a7c42a35
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Dec 9 19:35:45 2003 +0000
+
+ In fact, bring all the changes from mesa/tnl_dd to mesa/drivers/common.
+
+commit 10637fed2229586fb81a2bd1ff2f0247ae51499d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Dec 9 19:30:22 2003 +0000
+
+ Remove old ubyte-color support code. Update interp, copy_pv for float
+ colors in VB arrays.
+
+commit 2e5ec27845930607ecd3f545b8f0a46aa09b52fd
+Author: Karl Rasche <karlrasche@gmail.com>
+Date: Tue Dec 9 19:14:41 2003 +0000
+
+ Arg. I can't code.. Test that we don't recongnize '0' as having a leading zero..
+
+commit a8a4ad452ee3b7c99737cee053f849f3b5039988
+Author: Karl Rasche <karlrasche@gmail.com>
+Date: Tue Dec 9 18:17:04 2003 +0000
+
+ added parsing exercises for ARL and relative offsets in ARB_vp
+
+commit ff10a796feb5e10dea08927ca36df57bee4b1f83
+Author: Karl Rasche <karlrasche@gmail.com>
+Date: Tue Dec 9 18:13:12 2003 +0000
+
+ - New grammar (0.5) from Michal Krol, merges many opcodes and adds range testing
+ - Proper header on arbparse_syn.h
+ - Handling of relative offsets for ARB_vp
+ - s/MaxFragment/MaxVertex
+ - Check for leading 0's in the fraction portions of floats in parse_float()
+
+commit 057dfcb06c04883f156692633b0d4ca86396eabe
+Author: Karl Rasche <karlrasche@gmail.com>
+Date: Tue Dec 9 18:04:52 2003 +0000
+
+ - handle IsPositionInvariant
+ - tweak assertion to allow for relative offets from ARB_vp
+
+commit 82efdff66f8ede02e4b673102081e8f794c17f9d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Dec 9 16:22:33 2003 +0000
+
+ Fix typo.
+
+commit 8069ada29bc7484df48e081289284b6df569c799
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Dec 9 16:21:31 2003 +0000
+
+ MGA only has one vertex format.
+
+commit 9556a5286730aa6839b9aa7cbbb2fe815a318e28
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Dec 9 16:14:24 2003 +0000
+
+ Fix VERT_SET_RGBA, VERT_SET_SPEC macros to account for change to floating
+ point colors throughout mesa.
+
+commit 425deefdd04fbc58aa1c357697ce602ff3013516
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Dec 9 16:09:24 2003 +0000
+
+ Fix VERT_SET_RGBA, VERT_SET_SPEC macros to account for change to floating
+ point colors throughout mesa.
+
+commit 8592ba94b85b3f0f93ae875eece259b4626a6759
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Dec 9 16:02:43 2003 +0000
+
+ Fix use of uninited value 'flags', removed unused vars.
+
+commit c4f7de5d785266237fd46ee420d4715771f67dfb
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Dec 9 16:00:38 2003 +0000
+
+ Fix VERT_SET_RGBA, VERT_SET_SPEC macros to account for change to floating
+ point colors throughout mesa.
+
+commit 47909141985a5aa38a49ea45b3aea795f1922dfb
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Dec 9 15:33:45 2003 +0000
+
+ Fix incorrect removal of PRIM_PARITY code (ie remove the parity code, not the
+ non-parity code).
+
+commit 688193800789d0ad883ca72edf2da392295cf734
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Dec 9 14:19:41 2003 +0000
+
+ Call UpdateMaterials when they have changed
+
+commit a70fa7129cf8549f8c01b01d5e317a5a07485706
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Dec 9 14:18:41 2003 +0000
+
+ clean up some compiler warnings
+
+commit 8a340279f4366e097adce479241a2ede8e977128
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Dec 9 14:18:18 2003 +0000
+
+ No need to call UpdateMaterial() from RunPipeline().
+
+commit e6abd5c415ed391d1d749514abb4135e4432a25e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Dec 9 14:17:40 2003 +0000
+
+ No need to call radeonUpdateMaterial() from RunPipeline().
+
+commit 48383f10c9969a63fb429cc4e3e9d04c5482a6aa
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Dec 9 11:54:50 2003 +0000
+
+ Remove $Id tag
+
+commit 7ac913362770b9f15093bd43769068d966bf913f
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Tue Dec 9 10:11:27 2003 +0000
+
+ Committing in .
+
+ Small VMS issue : sys/param.h is not available on all systems and not
+ needed anyway.
+
+ Modified Files:
+ Mesa-newtree/src/mesa/main/vsnprintf.c
+ ----------------------------------------------------------------------
+
+commit 853bda3e7c4dfa7d8cc462729f6a3dce89e44963
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Dec 9 01:53:03 2003 +0000
+
+ Update NEED_SECONDARY_COLOR macro to test if either vertex/fragment
+ programs are enabled and if they need secondary color input register.
+ Patch by Karl Rasche, with tweaks by Brian.
+
+commit e8bec8832b50b8c2310e40951bea8bd78f89715c
+Author: Eric Anholt <anholt@FreeBSD.org>
+Date: Tue Dec 9 00:00:40 2003 +0000
+
+ Remove usleeps from sis driver. We probably aren't doing anyone a service
+ sleeping with the lock held. Also, rename cEngineState to engineState since
+ it isn't a char any more.
+
+commit 73c3c397e4c07b48dcc845add9d80df025e1f0cd
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Mon Dec 8 22:43:10 2003 +0000
+
+ fix bogus assertion that checked for an empty texture heap list before
+ deleting the textures. Essentially move the assertion after the destruction
+ of the heap.
+
+commit 93c2dacca6a995134ff6d78273385394e7d8ae49
+Author: Karl Rasche <karlrasche@gmail.com>
+Date: Mon Dec 8 21:43:55 2003 +0000
+
+ A quick little test to show disapeearing specular color between vertex and fragment program execution
+
+commit 6b9e8279dd734d2fa82be485bd335262c2ad2b34
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Dec 8 17:32:58 2003 +0000
+
+ Provide dummy definitions of __driConfig externs
+
+commit f7c17fef7440f902786e2c3f567651c0f7840857
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Mon Dec 8 17:27:33 2003 +0000
+
+ turn on tdfx in SOLO build
+
+commit 1cb5d2e01a756ed1d7d10c0e0c70849b0d19fac9
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Mon Dec 8 17:26:59 2003 +0000
+
+ some changes for SOLO build
+
+commit 8ed323166978145afaa10651039e473367d78a63
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Mon Dec 8 17:14:47 2003 +0000
+
+ build in SOLO environment
+
+commit 243093f544ab79ed92cac9d615b5b9659f56dea3
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Mon Dec 8 17:07:41 2003 +0000
+
+ kill a warning
+
+commit 18343db1d86aa98dddf17f010dc94d5d98445e27
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Mon Dec 8 16:57:21 2003 +0000
+
+ reverse Keith's 'XFree86Server' glue.
+
+commit 3abad78e26e561ffb30ef63a559eb8f9682e4f44
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Dec 8 15:00:24 2003 +0000
+
+ Can't include <stddef.h> when building XFree86 server - define
+ ptrdiff_t to int instead
+
+commit 07851ca039a3c9c54a21f8e364e740f918e8b3ec
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Dec 8 13:33:07 2003 +0000
+
+ get ffb compiling
+
+commit c11039979c0736877d161c219cd9cd257300bf21
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Dec 8 13:21:22 2003 +0000
+
+ get tdfx compiling
+
+commit 8fee8dfcaaf2dae5a8a022077f2d888b9943b5a2
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Dec 8 13:00:50 2003 +0000
+
+ fixed a bug in texgen (T coord for GL_REFLECTION_MAP_NV)
+
+commit 034da5d817971ca8a8d25f6aab8c3c301cce5640
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Dec 8 12:32:50 2003 +0000
+
+ Remove PRIM_PARITY reference
+
+commit 58f88a29d2eeb9cc5f4658113d0ebe11f60ab61c
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Mon Dec 8 09:03:35 2003 +0000
+
+ Committing in .
+
+ OpenVMS compile issues
+
+ Modified Files:
+ Mesa-newtree/progs/tests/cva.c
+ Mesa-newtree/progs/tests/dinoshade.c
+ Mesa-newtree/progs/tests/multipal.c
+ Mesa-newtree/src/mesa/main/descrip.mms
+ Mesa-newtree/src/mesa/tnl/descrip.mms
+ Mesa-newtree/src/mesa/tnl/t_vtx_api.c
+ ----------------------------------------------------------------------
+
+commit 2799d2535ab013ec82c79e3f98f92cdef43dbdf3
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Mon Dec 8 08:58:52 2003 +0000
+
+ Committing in .
+
+ Solves array boundary out of bound which causes problems on OpenVMS (and
+ maybe other systems)
+
+ Modified Files:
+ Mesa-newtree/src/mesa/tnl/t_vb_lighttmp.h
+ Mesa-newtree/src/mesa/tnl/t_vtx_eval.c
+ ----------------------------------------------------------------------
+
+commit 173f9ae031b43ae15d4d1ff1563eefeb83647895
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Mon Dec 8 00:43:34 2003 +0000
+
+ add SETPARAM ioctl
+
+commit 99ef0a03292e7dc6aa2465aaaa620f394d2c286b
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Sun Dec 7 23:53:32 2003 +0000
+
+ merge some more of the radeon DRI driver from the DRI trunk
+
+commit 273e52f86fa41564f573c8e84d013f995e01a8f0
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Sun Dec 7 23:47:56 2003 +0000
+
+ sync some more of the r200 driver from the DRI trunk
+
+commit 297807d431aed30d7fff3749eea91bde84f60cfa
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Sun Dec 7 23:40:13 2003 +0000
+
+ merge i830 DRI driver from DRI trunk
+
+commit a5a7d208c484c114990ee0a575629d073d847016
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 6 17:59:08 2003 +0000
+
+ added drivers/fbdev/glfbdev.c
+
+commit 8172cec94308d39a7da22df7c9101624cd3ec5b2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 6 17:58:30 2003 +0000
+
+ conditionally define GLAPIENTRYP to prevent some warnings in linux-solo
+
+commit 1a644b333cdeb61fc0d3f1d4cc2b152cbd0e0894
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 6 17:57:12 2003 +0000
+
+ tweaks for SunOS
+
+commit 99cfc4ecbcefb73ce0e2f99d2c802175c1e791d9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 6 17:26:50 2003 +0000
+
+ Basic info about the glFBDev interface/driver.
+
+commit a763123b35ac4f7bd1b3a47b5b3180f217a3b81d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 6 17:20:10 2003 +0000
+
+ glFBDev driver from embedded-2 branch.
+ Probably won't be actively used/maintained, but bring it to the trunk so
+ it doesn't get lost.
+
+commit fde2b9750ea9f37b018aaa26c9bbb6454cd1c016
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 6 17:17:42 2003 +0000
+
+ basic API work for FBConfigs & Pbuffers
+
+commit fe54ba39522f6ebed447e083936d88b07b46189b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Dec 6 12:58:47 2003 +0000
+
+ Relax assertion to account for empty primitives.
+
+commit 78c58413649838ff83e416e5a76d5cf15ee89b87
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 6 01:49:54 2003 +0000
+
+ s/APIENTRY/GLAPIENTRY/ for 1.5 functions
+
+commit cc140115965210d1d9aa37d6b91d4632381ab60a
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Dec 5 22:35:57 2003 +0000
+
+ fix _SOLO build problem
+
+commit 87ae8db37441e09b9af8be95c271c12258cff390
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Dec 5 22:34:11 2003 +0000
+
+ fix a _SOLO build problem
+
+commit e616ad78d8daa333ea4bac23d0a8ceab61b00bad
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Dec 5 22:26:35 2003 +0000
+
+ fix _SOLO build problem
+
+commit e412eef73f21a60161bc22e9f3b41dfa7aa2e066
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Dec 5 22:24:31 2003 +0000
+
+ fix some _SOLO build problems
+
+commit d907a75498360fb96ec2314bb0abb105be74d500
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Dec 5 22:12:07 2003 +0000
+
+ xmlconfig fixes
+
+commit e4b5ff8e773eb376e0b370df3d61c5b9bb02ea64
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Dec 5 22:11:15 2003 +0000
+
+ xmlconfig fixes for the new options
+
+commit 94965f2738c42b894f84fc8b46a979568f8f095f
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Dec 5 11:51:39 2003 +0000
+
+ merge r128 DRI driver from DRI trunk
+
+commit 98165fb1cf6d490ab152084710f11aee559bfec6
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Dec 5 11:47:35 2003 +0000
+
+ merge i810 DRI driver from DRI trunk
+
+commit a87bf1599c970a61a56f6271e2fb0b107c299893
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Dec 5 11:25:15 2003 +0000
+
+ fix compiler warning
+
+commit c0b0b1790a1a055013ae43be534d449a9167daa8
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Dec 5 11:22:07 2003 +0000
+
+ remove duplicate declarations
+
+commit fcf02034b4d8cf8c678bba653047e187a23fc02d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Dec 5 08:57:25 2003 +0000
+
+ Backout last change on the displaylist path to fix gears (and probably
+ everything else).
+
+commit b25439a3bcce95befbfa2ec0969dd117a361c225
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 5 00:48:37 2003 +0000
+
+ include glheader.h first, to prevent warnings about GLAPIENTRYP being redefined
+
+commit dd7f735f5318735752c2c82d33eb7fb9148c5348
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 5 00:46:06 2003 +0000
+
+ don't include GL/gl.h, define GLAPIENTRYP if not defined
+
+commit a6ad01c14e8b7d819783d81c1febfa8e72063bf3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 5 00:44:01 2003 +0000
+
+ Fix a front/back CopyPixels glitch.
+
+commit 15f7f4e31f1a90d58a4e897299039c9fd39782f9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 5 00:39:48 2003 +0000
+
+ press f key to toggle front/back drawing/copying
+
+commit eed5ac284cb4edca5400d55040e83fdf2f329f84
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Dec 5 00:32:15 2003 +0000
+
+ bring over latest mga DRI driver from DRI trunk
+
+commit 1f2d9ae69fa6d368b1df3f316e7bb7186ca8f746
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Dec 5 00:19:32 2003 +0000
+
+ bring in common from DRI trunk
+
+commit 0cbb006942560788b70a9706694f53f3f034e8ee
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Dec 4 23:24:12 2003 +0000
+
+ disable some DEBUG
+
+commit f9b0ac691c0b62a49bce92f41cebc0a88911cc3b
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Dec 4 21:03:08 2003 +0000
+
+ Windows needs to #define GL_GLEXT_PROTOTYPES
+
+commit 9b9a57a25cc63200a7ec86c96433924351674650
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Dec 4 20:55:58 2003 +0000
+
+ Change
+ #define GLAPIENTRYP __stdcall *
+ to
+ #define GLAPIENTRYP GLAPIENTRY *
+ These two defs end up doing the same thing, but the compiler can squawk
+ because they look different. Also matches the way it is declared in gl.h.
+ Do same for GLCALLBACKP.
+
+commit fed1cda2ade715a62ffd57be18ece18cc3934f51
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Dec 4 20:44:49 2003 +0000
+
+ update files
+
+commit 44c00033f2bfc28cc100ebedd3a8b845516a8f00
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Dec 4 20:43:24 2003 +0000
+
+ Add missing GLAPIENTRY
+
+commit d6745697b625a6a5b7d6e3d7dd5f5510f96e277a
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Dec 4 20:23:44 2003 +0000
+
+ Add missing GLAPIENTRY
+
+commit ddd3fad6e510a765bbbdd1406d9100d753e3dc2b
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Dec 4 20:10:54 2003 +0000
+
+ use _swrast_CopyPixels for XFree86
+
+commit e78dd78e4af644fbad6cd8f3135ec7364bd54a5f
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Dec 4 18:17:32 2003 +0000
+
+ merge latest DRI sis driver changes from the DRI trunk
+
+commit ecb1a5f7f98b9e42965318db99b6996f12b87e59
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Dec 4 16:58:29 2003 +0000
+
+ build fix
+
+commit 21a218f5bf18255c3f4db50a1fe232dc5eccf442
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Dec 4 16:57:43 2003 +0000
+
+ build fixes
+
+commit 164c703e98e5e2e195b6ca124a8a91913645a6ab
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Dec 4 16:38:05 2003 +0000
+
+ build fixes
+
+commit 4abac931e8711468b874071a0d611f52d7aa2c9b
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Dec 4 16:07:17 2003 +0000
+
+ build fixes
+
+commit faf4059aa8cc477732eaebffe2af2d3ace10d043
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Dec 4 15:59:41 2003 +0000
+
+ check if GLAPIENTRYP is already set
+
+commit f82c775fff7974ef9537332cdb5ade70703ba38c
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Dec 4 15:59:03 2003 +0000
+
+ #define GLAPIENTRYP GLAPIENTRY *
+
+commit 1d7b75c3adfaccb37a2fe8b3c0792c759968c8b7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 4 15:29:10 2003 +0000
+
+ don't use new glDrawPixel routines in Xserver
+
+commit 8ea178d68f23fe04e9a83ad7f96083318ad1cc92
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Dec 4 14:30:53 2003 +0000
+
+ remove duplicate declaration
+
+commit b97faf113d31b376c8a84d3cfa43b62d3be0dbeb
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Dec 4 14:04:35 2003 +0000
+
+ build fixes
+
+commit 4e638426fdf7b585b0cb12a306e6b8c4e79bce17
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Dec 4 14:00:56 2003 +0000
+
+ build fix
+
+commit 84f6b5206fba0aadf01caf3879f381c4198a880a
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Dec 4 13:40:28 2003 +0000
+
+ build fixes
+
+commit 13e6a4849c6800eac454fd1010cb2320874f2ed6
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Dec 4 13:38:06 2003 +0000
+
+ add SPARC ffb DRI driver
+
+commit 15af25aca0ed6a2390fe9e0d91055cfc01134ce2
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Dec 4 13:28:10 2003 +0000
+
+ build fixes
+
+commit e05ab2795b7463a053562b233d75e62f4138e0d3
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Dec 4 13:27:05 2003 +0000
+
+ add tdfx DRI driver
+
+commit 3eb58b4c1eb85ad2a68e7d4aed523026d8c7bbf8
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Dec 4 12:33:15 2003 +0000
+
+ bring over glcore.h changes from DRI trunk
+
+commit b305028464f02947c0cce0476af0e35f4ed1fafa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 4 03:19:46 2003 +0000
+
+ Port over changes from XFree86/Mesa 5.0.2, mostly to silence compiler warnings.
+
+commit 03e29a5f77c13b7b888bd8443cb2752850e47d6a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 4 03:16:27 2003 +0000
+
+ Fix some problems with glDrawElements and vertex buffer objects.
+
+commit 6ff60049a4ab1abac46e5c8e317b0dd842e088c2
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 3 10:15:17 2003 +0000
+
+ Ensure PRIM_BEGIN marker isn't lost when incomplete primitives are wrapped.
+
+commit 9b0dcfd4080200a35478f2a006969ea529763ed3
+Author: Karl Rasche <karlrasche@gmail.com>
+Date: Tue Dec 2 22:46:30 2003 +0000
+
+ s/inverse/invtrans.. whoopsie
+
+commit ce0f8fef8672b509d4c8fe014ff4d8d679658fa7
+Author: Karl Rasche <karlrasche@gmail.com>
+Date: Tue Dec 2 22:41:45 2003 +0000
+
+ Remove things having to do with ARB_matrix_palette/ARB_vertex_blend
+
+commit 80e89c536875fed6ef84a1908cbd9f8c10552e7b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Dec 1 22:43:31 2003 +0000
+
+ added description of faster glDraw/CopyPixels code
+
+commit 9a90cd40c6e510484e018afd087a4c239b616ee0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Dec 1 22:40:26 2003 +0000
+
+ fix __sparc_v9__ test to exclude linux (bug 852204)
+
+commit 06cfb4456455afad149955dbaa853b9f4f18a066
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Dec 1 22:33:07 2003 +0000
+
+ updated list of files since merging vtx branch
+
+commit 870a9acd0218f074515ede9211ed40481ca15899
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Nov 30 19:55:13 2003 +0000
+
+ s/texUnit->Enabled/enableBits/ (Karl Rasche)
+
+commit 1df1547f9e76232459a471c30b37cc0eaeb783ab
+Author: Karl Rasche <karlrasche@gmail.com>
+Date: Sun Nov 30 15:59:28 2003 +0000
+
+ Fixed compiler warnings
+ Assign the correct thing to TexturesUsed[]
+
+commit de0dd65aeec33284019a766ac113028cf9bffe5b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 29 19:36:08 2003 +0000
+
+ Use XPutImage() for glDrawPixels() and XCopyArea() for glCopyPixels() when
+ possible (when pixel formats match and drawing to front buffer with no
+ raster operations).
+ Results in 10-100x speed-up when applicable.
+
+commit e90de7883a3bd9afd27ac83314f08cf9f03f60e3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 29 19:33:33 2003 +0000
+
+ Fix generic/conventional vertex array glitches.
+ Changed _NEW_ARRAY_ATTRIB_0 back to 0x10000 so that the conventional and
+ generic enable bits do not alias.
+ In ac_import.c test Array.Normal.Enabled instead of Array._Enabled & _NEW_ARRAY_COLOR0, etc.
+ In t_array_import.c give priority for generic arrays over conventional
+ arrays on an individual basis, not all or none.
+
+commit afb6fe034c3df9377ca8c0393a60c7996af92faf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 28 21:06:40 2003 +0000
+
+ more tweaks to error checking and reporting
+
+commit deb4a63a867d58b400a2b8d45ea5db5a54d71fac
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 28 20:30:36 2003 +0000
+
+ if id==0 in glGetQueryObject, raise GL_INVALID_OPERATION
+
+commit c99e2dd1d38db25d393a33870778a8eeb1a23020
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 28 18:18:50 2003 +0000
+
+ fix an error test
+
+commit ba9dc7ecf385a8896c84888e61d6a3573e72a78d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 28 15:06:02 2003 +0000
+
+ updated NetReality -> Pansophica
+
+commit 326bc7150d31e052f018bb40f23cf9f60cb9c35d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Nov 28 09:43:18 2003 +0000
+
+ Save and restore front colors on backfacing triangles rather than trying to
+ pull them again from the VB pointers. Avoids stride issues.
+
+commit acbc1e0c917cf0720c7b5c14ca4bab4fa8c75001
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 26 18:10:31 2003 +0000
+
+ added link to Chromium
+
+commit 69449a9d5101a62cb17a79c889338a33f23a5d6d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 26 18:10:19 2003 +0000
+
+ updated CVS info
+
+commit 854b4a3b5456e0a381df49de854fdb315899dfc2
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Wed Nov 26 08:32:35 2003 +0000
+
+ accomodate vtx-0-2-branch
+
+commit 0f3cd3f894612d156de454178effa4c732f96da7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 25 22:45:59 2003 +0000
+
+ current raster color index should be GLfloat
+
+commit 7df4f95314a91afe92ca7d1eb0effa1dda7ac844
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 25 21:13:26 2003 +0000
+
+ added SoftGL link
+
+commit 7939ed0e8e36ddea89cbc4076a05dd2502499a2a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 25 16:45:33 2003 +0000
+
+ Otto Solares' patch to add radeon 9200
+
+commit 8236a534b7c31b5d3b688323de05cfa5e446f70d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 25 16:39:31 2003 +0000
+
+ fix assorted g++ warnings
+
+commit 2c9f50dd4acc65ddfeb8e3fde98137711167e579
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 25 16:21:51 2003 +0000
+
+ casts for g++
+
+commit 3bc7f3f864e76e20c644910620f22b23e03547dc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 25 16:18:31 2003 +0000
+
+ fix a lot of warnings found with g++
+
+commit 97d8a35fa8bf906be5413dbde822e828f9075604
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 25 16:02:39 2003 +0000
+
+ silence a warning
+
+commit 47b0bc1a36f4a6c3af1c9c76ee96e97c29376d71
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 25 16:02:24 2003 +0000
+
+ remove __FUNCTION__ hack
+
+commit 4ccbe9e666b55b97e6482e0655277c33e434ff32
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 25 16:00:25 2003 +0000
+
+ added a cast
+
+commit b65bc4f87b356cf6228151cd2f341432e80dc6b8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 25 15:58:22 2003 +0000
+
+ Remove unnecessary usage of __FUNCTION__.
+ #define MESA_FUNCTION to __FUNCTION__ if MESA_DEBUG is defined.
+
+commit e749be22b03312c3927964c85d589868e3292977
+Author: Karl Rasche <karlrasche@gmail.com>
+Date: Tue Nov 25 02:08:05 2003 +0000
+
+ - New version of the syntax rules from Michal Krol
+ + Handles '1' as a float, just like '1.'
+ + Remove switch collision between vp and fp #defines
+ + result.color.xyz no longer requires result.color.primary.xyz
+
+commit 9bc3753a513f2045f3613389c2ddb604df8693e7
+Author: Karl Rasche <karlrasche@gmail.com>
+Date: Tue Nov 25 00:04:36 2003 +0000
+
+ added support for generic vertex attributes (ARB_vp) and their error checking
+
+commit 18199d395465537e993edd27c5e29112cb82b9bc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 23:14:53 2003 +0000
+
+ updated after APIspec fixes
+
+commit 2171fadc262e32c2c079dd977d4346264bdc0def
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 23:03:29 2003 +0000
+
+ oops, fix glitches in 1.5 functions
+
+commit e1a107c4e7eeae3bb070e7f1f842ea1590b34867
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 22:32:16 2003 +0000
+
+ minor cast fixes
+
+commit 62b6eb320e210225931f88fe71ba97814e214d14
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 22:30:32 2003 +0000
+
+ generate the OpenGL 1.5 entrypoints
+
+commit 76f51ca9ea105eed0f4c7ffb2d8ae25cdd969ab1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 17:13:10 2003 +0000
+
+ updated list of new/old src files
+
+commit b52559eb8c87b4910a27eb07ca5e776b03b33fbd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 17:00:03 2003 +0000
+
+ set the VB->FogCoordPtr with the other legacy pointers
+
+commit c515f90ec3adca875e93b4a705e14f4a0a1661b4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 16:51:26 2003 +0000
+
+ fix YCBCR assertion and disable assertion in auto-mipmap code
+
+commit 7f28ab7d243671b0ee17c18f3cb750f6eb3f8733
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Nov 24 15:42:24 2003 +0000
+
+ remove dead files
+
+commit 8a299e78882f10b1895ad1af7bbbf778d20b7e33
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 15:41:39 2003 +0000
+
+ whitespace and comment changes
+
+commit 7e86eb991b50e0f52e6a0404289ca73126da6414
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 15:40:52 2003 +0000
+
+ minor error string improvement
+
+commit 0dde1904c898a1b6b2181cae85477b8338f95765
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 24 15:39:55 2003 +0000
+
+ added GL_ARB_vertex/fragment_program and new vertex code
+
+commit ae0eaf93e092ac8e8b1c98f3e986de96940663fa
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Nov 24 15:23:18 2003 +0000
+
+ Merge vtx-0-2-branch
+
+commit 57c9814b9e87924696df4c741861c29d4236d1eb
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Nov 24 15:21:14 2003 +0000
+
+ Import vtx-0-2-branch
+
+commit 5b5cf9cb8b3f540365e3da8e4a70f6a5040a1c6c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Nov 24 15:19:27 2003 +0000
+
+ Remove a lot of rcs tags, avoid merge conflicts
+
+commit dda09a61548218f3769f50ad7f901395ef5d0e96
+Author: Karl Rasche <karlrasche@gmail.com>
+Date: Mon Nov 24 13:29:54 2003 +0000
+
+ Moving NV_fragment_program tests to ARB_fragment_program
+
+commit 79e0dad79e24668fbb35aad970cb2b7b629a11fa
+Author: Karl Rasche <karlrasche@gmail.com>
+Date: Sun Nov 23 19:29:18 2003 +0000
+
+ - parse_alias() Was totally borked
+ - forgot a ++ in texSrcBit switch
+ - copy/paste error in arbfragparse.c
+
+commit 4eebfa14e72c7c1f2572dbbc3bc7e85cf71f5926
+Author: Karl Rasche <karlrasche@gmail.com>
+Date: Sun Nov 23 17:54:39 2003 +0000
+
+ - Create a dummy program to keep from segfaulting when parsing
+ fails
+ - Change to grammar .emit to fix single LOCAL/ENV param usage
+
+commit 15955f1c5e040dc56ad874177577f88f0e86d77b
+Author: Karl Rasche <karlrasche@gmail.com>
+Date: Sun Nov 23 17:48:15 2003 +0000
+
+ Porting NV_vertex_program demos to ARB_vertex_program
+
+commit 4814d79c990fed1b7b5ad8d0d512ca63fb98cdff
+Author: Karl Rasche <karlrasche@gmail.com>
+Date: Sun Nov 23 17:44:02 2003 +0000
+
+ Porting NV_vertex_program tests to ARB_vertex_program
+
+commit 91b6a4aa901e09b395cf6d81ed29dfe281dbc9f7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Nov 23 16:22:54 2003 +0000
+
+ include malloc.h to get ptrdiff_t for vertex buffer object's GLintptr
+
+commit 8525fae3b8276441883604a1ced32a46b85d5adf
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Nov 23 10:27:10 2003 +0000
+
+ build fixes, rh9
+
+commit 67f8a1d4ad5c6f94067ef9a621b513fe8f708c72
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 22 18:44:10 2003 +0000
+
+ added OpenGL 1.5 tokens and functions not yet put into glext.h
+
+commit 4774cd9568b42e780f9694b7720dfdd8c9b23819
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 22 18:29:43 2003 +0000
+
+ pass ctx to fetch_vector4_deriv()
+
+commit 96ad2cde2c03bc0fe352b473e61f6e97a2baedbc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 22 18:28:21 2003 +0000
+
+ GL_ARB_point_sprite is not part of 1.5
+
+commit 533733d1d497aa3f9b41884b52c6bc92807972fe
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Sat Nov 22 11:27:33 2003 +0000
+
+ updated core makefiles to include arbparse
+
+commit a1769b0287ef77d003fa99fb30e1deb848f9d8ab
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 21 20:48:16 2003 +0000
+
+ fix some bugs in computation of DDX, DDY commands
+
+commit b9c5672d223f02820c8b1e9a44cdd7dd639cfced
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 21 17:07:59 2003 +0000
+
+ s/byte/GLubyte/ and other minor clean-ups
+
+commit 6d66ba171ed03263a50a98f9822e31217a1fdced
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 21 16:50:03 2003 +0000
+
+ reformat comments for 80-column viewing
+
+commit ba254c08c0fa896ac425961c7900b99775979e16
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 21 16:38:56 2003 +0000
+
+ fix a bunch of warnings
+
+commit 663a9e1b7ef7b8384abe2f81e1a8749b942f6d3a
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Fri Nov 21 09:56:50 2003 +0000
+
+ more texture compression
+
+commit 8b07e9d8a4342ec2a24fec37932398189ef80eb5
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Fri Nov 21 08:24:40 2003 +0000
+
+ Committing in .
+
+ - Added arbparse.c to OpenVMS makefile
+ - Added 2 type casts in a strcmp call to make my compiler happy.
+
+ Modified Files:
+ Mesa-newtree/src/mesa/main/arbparse.c
+ Mesa-newtree/src/mesa/main/descrip.mms
+ ----------------------------------------------------------------------
+
+commit a6a4257f76abbdd1ced815f3262525ee8b067ab0
+Author: Karl Rasche <karlrasche@gmail.com>
+Date: Fri Nov 21 01:22:46 2003 +0000
+
+ Caught missing parse_color_type() [Jacob Jansen]
+
+commit 08e6fb367efc28b449a11df3057f966cada10f4c
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Thu Nov 20 17:07:31 2003 +0000
+
+ texture compression testbed
+
+commit c07cd5b99f6b6487fa2279cbd230e81f6b717a40
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Thu Nov 20 17:05:56 2003 +0000
+
+ small matters
+
+commit 00ad4e109a101cff6169ea47b3e96699989cb435
+Author: Karl Rasche <karlrasche@gmail.com>
+Date: Wed Nov 19 13:21:20 2003 +0000
+
+ Initial checkin of new ARB frag/vertex program parser
+
+commit 75b5cb43173cda966682c8c9b9353c48ab6ad285
+Author: Karl Rasche <karlrasche@gmail.com>
+Date: Wed Nov 19 13:17:33 2003 +0000
+
+ Initial checkin of new ARB_frag/vertex program parser
+
+commit 1c27a1e957546ed849b3fd0c35904e9680f113f8
+Author: Karl Rasche <karlrasche@gmail.com>
+Date: Wed Nov 19 13:15:13 2003 +0000
+
+ Initial checking of new ARB_frag/vertex program parser
+
+commit ef563d011b5a11dc5f7a0da6445e68f14cc33062
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue Nov 18 12:18:13 2003 +0000
+
+ doc updates; GLUT timer additions; fixed compilation warnings
+
+commit aa0d6dcd652ca3f6ece2e9314020283589d79a2a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 18 03:44:53 2003 +0000
+
+ added reference to original half/float conversion code
+
+commit 10b09212e8e3adc1751ae32bb632ad9bd8287c64
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 18 03:42:17 2003 +0000
+
+ added missing <type> error checking in read_index_pixels()
+
+commit 7eb3e9b9648938500c6172a88fb2998e6264467f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 18 03:41:14 2003 +0000
+
+ Some groundwork for supporting GLhalf datatype.
+
+commit 56fe4dc391b78c93c63c41052ec0a12f718c55da
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 18 00:48:24 2003 +0000
+
+ fix comments about Cr==V, Cb==U
+
+commit a4e65d69dc745a78fb3dbcbb0ee194e1b6877c5d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 17 15:15:18 2003 +0000
+
+ fix texgen bug 597589
+
+commit 16c119bab22aa5b196418a753c1b81976ecb6d21
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 13 23:09:43 2003 +0000
+
+ remove GL_GLEXT_LEGACY
+
+commit 0ce7d7725aa3547467253b632628d5398197b39e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 13 22:24:36 2003 +0000
+
+ added glAccum bug fix
+
+commit 3a0e0b284fd74aa6cb7b380a59cf20e62f8f8ffd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 13 22:16:45 2003 +0000
+
+ no-op glAccum in selection/feedback mode (per Mark Kilgard's updates to the 1.5 spec)
+
+commit af6162e3406ec4e0c58e4c58d225e371c05d5008
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Thu Nov 13 16:27:25 2003 +0000
+
+ vanilla extensions disabled
+
+commit 34a8bf51353d79cbfdaa5484b086c1061d84eaa9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 12 15:39:13 2003 +0000
+
+ added Ville's RGBA blend fix
+
+commit 6eb2547317af7e9c1cca46e087f2c4c1deda02af
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 12 15:32:57 2003 +0000
+
+ updated 5.0.2 tarballs
+
+commit 57857ca0925116d6d254fef7e705cfe0b650d77f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 12 15:27:52 2003 +0000
+
+ Ville Syrjala's logic op patch
+
+commit 80ee4b1e9dbf62f9aa86c3b8531615d14f077dd9
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Wed Nov 12 11:55:21 2003 +0000
+
+ dirty hack to advertise vanilla extension names
+
+commit a2b9bad251b058f6255fa037b842c5465c0609a2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 10 19:08:37 2003 +0000
+
+ Redo array element checking for vertex array buffers.
+ Now, compute ctx->Array._MaxElement as the min of enabled array's max element.
+ Test against ctx->Array._MaxElement in glDrawArrays/Elements.
+ Note: testing in glArrayElement not done yet.
+ Only do element checking if ctx->Const.CheckArrayBounds is set.
+
+commit 5e99ad19f5737fff6aaad623a97fc61ef7fcf273
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 7 17:28:46 2003 +0000
+
+ s/GGIMesaContext/ggi_mesa_context_t/
+
+commit 33267a41e014633b7b252b16473315387b728d62
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 7 17:28:24 2003 +0000
+
+ fix comments
+
+commit 666b0a3f6e992174831cc9f257c7dcdb0810f013
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 7 14:53:17 2003 +0000
+
+ added glTexSubImage3D bug
+
+commit c5853c63d0b333b71fef0ae3b7ffa6434ce694cb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 7 14:52:09 2003 +0000
+
+ s/xoffset/zoffset/ (Cedric Gautier)
+
+commit d96651bdc59b1ddd6909a70b803ad60f07654cb5
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Fri Nov 7 13:17:21 2003 +0000
+
+ NCC fixes and some cosmetics
+
+commit e83cf6ddf2b3f2f652ee0dfb1b0951649331c4e8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 4 23:38:33 2003 +0000
+
+ added wgl bug fix
+
+commit afa6e978b9c74bcd013571a53aca47cbb8ca7b10
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 4 23:37:53 2003 +0000
+
+ fix AccessViolation bug (#835861)
+
+commit f023391e1a18ffe714d7221168dc7566b97de14f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 3 21:59:36 2003 +0000
+
+ another tweak from Matt Sealey
+
+commit 0768744fde0b31b1a05f86bedb52ff0168d60608
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Nov 3 12:16:22 2003 +0000
+
+ small fixes wrt texture handling
+
+commit ef387549bda21c6338817c83ecfb248dc92cd001
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Nov 3 12:13:23 2003 +0000
+
+ small fixes wrt texture handling
+
+commit 313e12e05843dadb12a3a53d2dd161478c9b3202
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Nov 3 12:01:03 2003 +0000
+
+ Voodoo2 happiness
+
+commit 7093114285bb315070af572ff4aecc204c400ef4
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Nov 3 12:00:24 2003 +0000
+
+ accomodate decorated names
+
+commit f807a35cd24b22c625fb5ea2921c40db2e123809
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Fri Oct 31 11:07:39 2003 +0000
+
+ removed detritus
+
+commit e81b180065f0a9f80c1310ac447509b1debc4559
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Thu Oct 30 11:44:19 2003 +0000
+
+ bugfixes wrt texture compression
+
+commit 63a5ca08f3bdaee975c9b059caf15ffd3ddd8d38
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Wed Oct 29 14:40:43 2003 +0000
+
+ changes to accomodate texture compression
+
+commit 40bd9d0b190e11d39350d1b08d2c2b28e3040bca
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Wed Oct 29 14:35:31 2003 +0000
+
+ texture compression
+
+commit e96a12101003ffdd61ce37f131631f4e6edaaa91
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 27 20:04:43 2003 +0000
+
+ prefix MAKELIB with TOP in default case (Matt Sealey)
+
+commit 20f40fa4273b8800fe05f20c02dd19d5d1203ce5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 27 18:33:34 2003 +0000
+
+ minor fix to glutSetColor prototype (Evgeny Kotsuba)
+
+commit 73d4f69283cba75e85f5058e646d5fd2092f2f66
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 27 18:24:37 2003 +0000
+
+ Pass $(MKLIB_OPTIONS) to mklib script to allow setting extra options.
+
+commit 65e2ab3903a3b5f9e42c4be19fdde8eb757ea242
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 27 18:13:37 2003 +0000
+
+ added MorphOS instructions (Matt Sealey)
+
+commit b55921db4816afd2810b8bb59d7301b936ba162c
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Fri Oct 24 20:44:55 2003 +0000
+
+ Fix for missing GLAPIENTRYP definition
+
+commit c0d83cd054bd6d90f0707812787bef1752863fa1
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Thu Oct 23 13:57:31 2003 +0000
+
+ entrypoints... again
+
+commit 79fa6b98818bc0e6e1bfb221aeccbe3b08d7ae8a
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Thu Oct 23 13:28:05 2003 +0000
+
+ more MinGW fixes
+
+commit 76692c5ce2a5fab129c91f870e9b9459edd9838e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 23 12:19:10 2003 +0000
+
+ s/GLuint */GLvoid */
+
+commit 3fe2af23ef323b9b25b54e171aa29c7004fe05fd
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Thu Oct 23 12:02:36 2003 +0000
+
+ added a few missing GLAPIENTRYs to make MinGW compile again
+
+commit c5b1e81de48de5d8830bf5d92ff767ad1985e46e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 22 22:59:07 2003 +0000
+
+ Initial work for bounds checking of vertex arrays and vertex buffer objects.
+ Only glDrawArrays() done so far.
+ Simplified glVertex/Color/etcPointer functions.
+ Misc casts added here and there.
+
+commit 15c37348a5d47ece17ffef38978aa8253363e6ee
+Author: Kendall Bennett <KendallB@scitechsoft.com>
+Date: Wed Oct 22 21:02:15 2003 +0000
+
+ More SciTech SNAP updates. Some of these files didn't really change, but
+ they show up in the list (GLU stuff) for some reason. The major change
+ here is the addition of code in the glx86asm.py file to generate assembler
+ stub entry points with the correct name decorations for _stdcall calling
+ conventions so this can be used on Windows boxes.
+
+commit 23f45833aa6c9b90f48ce5aa08dca6dadc49f62f
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Wed Oct 22 11:34:22 2003 +0000
+
+ cosmetics and memos
+
+commit e87d106d66619791c54c71908c957af1d869c6fc
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Wed Oct 22 11:33:14 2003 +0000
+
+ small fixes to accomodate Intel compiler/linker
+
+commit 758cbc68de49ee7735611c1d50fc678698849731
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Wed Oct 22 11:30:37 2003 +0000
+
+ fixed a typo (array size)
+
+commit c329e5a3d81a56437de4e19fec1de3eca2a1afb7
+Author: Kendall Bennett <KendallB@scitechsoft.com>
+Date: Tue Oct 21 23:53:34 2003 +0000
+
+ Updates to SSE assembler support for Open Watcom
+
+commit c40d1dd62dd9bcbb97128e37a75d991a8d3b2d8c
+Author: Kendall Bennett <KendallB@scitechsoft.com>
+Date: Tue Oct 21 22:22:17 2003 +0000
+
+ Added GLAPIENTRY decorations for all first level OpenGL API function entry
+ points so that the calling conventions will work correctly with the assembler
+ stubs with the Open Watcom compiler.
+
+commit b1ca87a565033a767042120288b2c45723cf79cc
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Tue Oct 21 21:49:23 2003 +0000
+
+ prevent from optimizing out by some compilers (from XFree86 CVS)
+
+commit 35b52c72d007ef2c813ab9273b9678043f278196
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 21 14:56:53 2003 +0000
+
+ added more debug code and tests
+
+commit b4590f1c94872dd61a291b12ba0c609fbfafe711
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 21 14:55:27 2003 +0000
+
+ wrap in #ifdef FX / #endif
+
+commit ce8e13dc794d86872f5448cba58e3aecd6146c49
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 21 14:54:16 2003 +0000
+
+ fix an error message
+
+commit 1b6cca67b5f7c658b6a141e83bbb20ce45a3b85c
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue Oct 21 11:15:52 2003 +0000
+
+ documentation update; also new makefiles for Win32 MesaFX build
+
+commit 1d61db5f314e7b7e2f1ab4a5cb4452f6a458ed34
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Tue Oct 21 10:12:47 2003 +0000
+
+ Committing in .
+
+ The latest version of the OpenVMS DECCRTL contains (v)snprintf
+ If this one is beeing used the (v)snprintf routines are not compiled in
+ from mesa's source.
+
+ Modified Files:
+ Mesa-newtree/src/mesa/main/descrip.mms
+ Mesa-newtree/src/mesa/main/imports.c
+ ----------------------------------------------------------------------
+
+commit 6d4afe2a959f9ce7733ab50d032402c60610fbda
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue Oct 21 08:33:10 2003 +0000
+
+ fixed some NASM opcodes; added segment overrides and temporary labels
+
+commit f03cb2e4eea23fd82e9837e05f0ab3a83cb474c7
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue Oct 21 08:31:02 2003 +0000
+
+ Napalm total immersion
+
+commit 3f60e4f21b9ff5bf3a83734d38ee90aff8a67fa0
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue Oct 21 08:27:21 2003 +0000
+
+ cosmetics; translated asm routines for use with ASSYNTAX.H
+
+commit 1aa28b3fe398f083f73d805a6eb004b3eed02aae
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Tue Oct 21 06:26:05 2003 +0000
+
+ Clean out some unused files
+
+commit bcc6eddd335e97d49ed2ef3a1440f94d58dce12d
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Tue Oct 21 06:05:39 2003 +0000
+
+ Update DRI drivers to current DRI CVS and make them work.
+
+commit 906449753f126f74ad3321d0af897f6609880c17
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Mon Oct 20 17:36:41 2003 +0000
+
+ Define GLAPIENTRYP properly so that GLU compiles on Windows.
+
+commit ec7eb274ab7728bf46cf4d42cd8f52db44fedd86
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Mon Oct 20 16:48:14 2003 +0000
+
+ Fix error in last check-in.
+
+commit 3aaeec6a01ca588b370dd06e867b67b26e5df610
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Mon Oct 20 16:28:00 2003 +0000
+
+ Add missing files for building Windows distribution.
+
+commit 3e4a50f0d28f90791f1c2eec2ece660c53dd4845
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Mon Oct 20 02:17:32 2003 +0000
+
+ Fix Makefiles to copy lib to $(TOP)/lib if missing
+
+commit 0f85b91c8ace21c25329b455e041bb39218c812f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 19 15:10:36 2003 +0000
+
+ Move initialization of default ctx->Driver.buffer-object-functions into
+ bufferobj.c so all the drivers don't have to worry about them.
+
+commit 2bd4b68c5ec6a302a839043cda25513552a09b6e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 17 14:09:54 2003 +0000
+
+ fix CVS info
+
+commit 7c276acb6f2a666888b5e299e71474a185476c42
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 16 19:30:22 2003 +0000
+
+ add .dsp files to tarballs
+
+commit 5cd54509f58ebc53994ce695e4bef36c02015694
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 16 19:25:24 2003 +0000
+
+ update list of files for tarballs
+
+commit e8db87ee886f9ab1167c074027183c8606a52d28
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 16 16:33:51 2003 +0000
+
+ obsolete
+
+commit 3eb0edb31f06d36b22fa524a3ae98ea94843fa8e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 16 16:33:05 2003 +0000
+
+ added GL_ARB_point_sprite tokens
+
+commit 93dc6942eb31e06fd0ec0c7ff19bb327d816808d
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Thu Oct 16 04:54:24 2003 +0000
+
+ Define SOLO so that check is possible for SOLO in project makefiles
+
+commit 3fc0db95e4b44fab108fd0495933f0d83c9b6336
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Thu Oct 16 04:50:42 2003 +0000
+
+ Minor changes to make linux-solo build again
+
+commit f62b8985d6f1a73b46aa4ccdd7ed8289352d9bc6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 15 21:13:15 2003 +0000
+
+ protect whole file with #ifdef FX
+
+commit 4eaf56a1607421c9ac0d256025d2525c985e77bb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 15 21:11:13 2003 +0000
+
+ fix minor warnings from g++ 3.2
+
+commit 16927d02bcf99e12942c735d13fad73eaa082e88
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 15 20:51:28 2003 +0000
+
+ initialize GetBufferSubData pointer
+
+commit 49aefce5e593c3e522f3a155824548c060167e54
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 15 20:50:41 2003 +0000
+
+ minor tweaks
+
+commit 596d57c42a24430e72e225c051270918d0b2e864
+Author: Kendall Bennett <KendallB@scitechsoft.com>
+Date: Tue Oct 14 23:48:57 2003 +0000
+
+ Updates to SGI GLU code to get it to compile clean with the Open Watcom compiler.
+ Most of the changes were to get rid of warnings, but many of the warnings could
+ not be removed in the code so I also added #pragma's to disable the warnings.
+ Someone really should clean up this code, but I didn't want to mess with it
+ that much (and potentially break it).
+
+commit 9b77fb7dab3fd4e4a9228e5c0609cc494aa01211
+Author: Kendall Bennett <KendallB@scitechsoft.com>
+Date: Tue Oct 14 23:47:21 2003 +0000
+
+ Updates to x86 assembler support for Open Watcom and SNAP
+
+commit 0f22705b0b3927beead3b88b5fc745579c35a5ae
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 14 16:59:44 2003 +0000
+
+ remove some cruft
+
+commit 4524274377f0a9cb088fa9b16105cfb92e3c2d3c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 14 15:49:12 2003 +0000
+
+ exercise more vertex buffer object functions
+
+commit 0bb281ba2184313eb211a230dc99697d0c064268
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 14 15:48:39 2003 +0000
+
+ bufObj->Access wasn't being set
+
+commit 0219d1168e14efc3277822f64aa3d822b7bf5bba
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Tue Oct 14 14:56:45 2003 +0000
+
+ minor fixes + doc update
+
+commit 4b6f6e1b3d50a972fa82ea90e1409f28eda26550
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 14 14:49:39 2003 +0000
+
+ minor fix in buffer_object_get_target()
+
+commit fd83bc2b33f34195f05300eee6ebfe18570177a0
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Oct 13 11:14:58 2003 +0000
+
+ glide driver (wip)
+
+commit 6c520ef3d30c86aeb856e7db5076fb474d008d84
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Mon Oct 13 11:05:36 2003 +0000
+
+ GameMode
+
+commit e4db8eb6fab609d81daa2a864da697ffe8745621
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 11 16:42:15 2003 +0000
+
+ added GL_ARB_point_sprite demo, texgen bug fix
+
+commit 2655e68504786b62a8463d04eaa74a953e5d2871
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 11 16:34:32 2003 +0000
+
+ fix some sphere texgen bugs (reported by Daniel Borca)
+
+commit 4128d88b98e22676fa05ed586da1641c85a0bde2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 11 15:41:34 2003 +0000
+
+ s/GL_COLOR_INDEX/OSMESA_COLOR_INDEX/
+
+commit 5dce1e5c420872ae096854841a9665f8d3d649fb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 11 15:39:11 2003 +0000
+
+ don't request accum buffer in color index mode
+
+commit dd29e04bd6097ad169bb841bd137ecabf3d7a3de
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 11 15:30:14 2003 +0000
+
+ don't use color table's format to determine texture env functions
+
+commit ad5cd6d337589af1a5cd03a93baf943745db583c
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Oct 10 22:09:05 2003 +0000
+
+ Add missing entry points. (Warren Cashen)
+
+commit e6804945b332c90c72dd919feff565e6151414cf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 10 18:11:17 2003 +0000
+
+ add switch defaults to silence warnings
+
+commit db40aec48c3db8164968df24184750a41be6e99f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 10 18:10:54 2003 +0000
+
+ remove bogus _swrast_texture_table_lookup() call (Eric Plante)
+
+commit 78f8292a54b8518ee0db58dc2d6c35fe6775bec1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 10 18:00:57 2003 +0000
+
+ old/unused
+
+commit 1c4b7116c4841d08f24cb2853dae44a8051423fc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 10 17:58:38 2003 +0000
+
+ Eric Plante's updates for OSMesa16.
+
+commit faa2b090126928f098db6f2126c8b3336ee56364
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Oct 10 17:13:47 2003 +0000
+
+ Add notes about building with the mangled namespace on Windows.
+
+commit d4155bd1dfb042e28574d15ff9bfbdb42de02b1d
+Author: Kendall Bennett <KendallB@scitechsoft.com>
+Date: Thu Oct 9 22:39:07 2003 +0000
+
+ Added missing #undef SPAN_VARS to swrast/s_spantemp.h
+
+commit 009d7f8ba13cfa2fcd2064d97a3424d04584f816
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Thu Oct 9 15:15:07 2003 +0000
+
+ Minor MinGW fixes
+
+commit 1ffdad4939f7e52f27a131670a02749a3e251196
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Thu Oct 9 15:13:30 2003 +0000
+
+ FEATURE_ARB_vertex_buffer_object
+
+commit d9f1e453ea775f2394d6e9cf0d307ab4e5334fec
+Author: Daniel Borca <dborca@users.sourceforge.net>
+Date: Thu Oct 9 15:12:20 2003 +0000
+
+ Reorganized combiners. Added optimized span functions.
+
+commit bcb3957b6c22caf35d9b300440648c3e656e8b4c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Oct 9 11:33:38 2003 +0000
+
+ Eric's mesa-depth32.diff
+
+commit 2cdd699a77f7801b1e37b72108a33fa95354e67a
+Author: Kendall Bennett <KendallB@scitechsoft.com>
+Date: Wed Oct 8 01:53:30 2003 +0000
+
+ More SciTech SNAP specific changes to glheader.h. Also modified the macros
+ in swrast/s_spantemp.h to allow dithering to be used in the SNAP drivers.
+
+commit 4e5b58f48382862922dbc387080bfb2378a43b47
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Oct 7 12:37:23 2003 +0000
+
+ index wasn't being calculated correctly (result was being discarded)
+ in light_ci()
+
+commit a4fc8035f154c4c24b263f629308a0a659ce4563
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Oct 6 17:57:48 2003 +0000
+
+ VertexAttrib4fv wasn't being installed (4f was).
+
+commit 3e291c01ea426247326e83bfd46a22d417e1fca7
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Oct 6 14:19:53 2003 +0000
+
+ Fix typo
+
+commit facb597f48e6ecc782f5fc1919499236b4a2294a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 3 14:37:18 2003 +0000
+
+ fix error message (bug 816876)
+
+commit 5fd77da4f691ee7ace6dfa9d2ff49535899f895d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 3 14:03:14 2003 +0000
+
+ improved 'clean' targets (Otto Solares)
+
+commit 7d8eb0604ab8b59bea5977741729e719f7327363
+Author: Kendall Bennett <KendallB@scitechsoft.com>
+Date: Fri Oct 3 01:38:28 2003 +0000
+
+ Removed bogus OS/2 floating point->integer conversion routine
+
+commit d7fe183f76c4e96d5c264c84b7dfc1665b69038b
+Author: Kendall Bennett <KendallB@scitechsoft.com>
+Date: Fri Oct 3 00:15:13 2003 +0000
+
+ Fixed incorrect Watcom assembler macros
+
+commit adbbea9b5123b7866cf5b31a6011b428b5ccc079
+Author: Kendall Bennett <KendallB@scitechsoft.com>
+Date: Thu Oct 2 23:50:44 2003 +0000
+
+ Fixed bugs in Mesa software span rendering for color index modes
+
+commit a75246f8f5fa951d62b6b40db5bf47517b50d459
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 2 17:36:43 2003 +0000
+
+ updates from Daniel Borca
+
+commit d6643331ab1a2215338be19177296d255170c798
+Author: Kendall Bennett <KendallB@scitechsoft.com>
+Date: Tue Sep 30 20:02:27 2003 +0000
+
+ Updates required for building the SciTech SNAP version of Mesa. This includes:
+
+ 1. Changes to the main header files to exclude some stuff is __SCITECH_SNAP__
+ is defined. The main GL/gl.h header file in SciTech SNAP is actually a wrapper
+ that defines a bunch of necessary stuff and then included GL/gl_mesa.h which
+ is the normal Mesa GL/gl.h header file renamed.
+
+ 2. Changed APIENTRY * to APIENTRYP macros in the GL/gl.h and GL/glext.h header
+ files. This will better support other compilers like IBM VisualAge C++. I
+ added a basic macro for APIENTRYP to GL/gl.h (inside the !SNAP block), so
+ existing code will compile the same, but when the SNAP version is being
+ built we will use the correc definitions for the target compiler.
+
+ 3. Changed a few more void * declarations to GLvoid *'s to avoid Open Watcom
+ compiler complaints.
+
+ 4. Updates the OPENGL_VERSION macro to include a patch number (set to 0 for
+ now). Probably not necessary, but the original macro was wrong and we use
+ that macro in our code.
+
+ 5. Changed _tnl_end() to _tnl_end_ctx() to avoid conflicts with _tnl_End when
+ using a compiler that has a case insensitive link.
+
+commit 7214e1a1c45ea444777816d4241e09dcd91125a6
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Tue Sep 30 12:59:17 2003 +0000
+
+ char -> GLubyte
+
+commit e508f7f08e6fa4292136a377150fc058c041fbc0
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Tue Sep 30 11:28:16 2003 +0000
+
+ add gamma driver - no kernel driver yet
+ (build tested, not physically tested)
+
+commit 0f2e1869263ef04b3bc47d9817278a555201bda8
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Tue Sep 30 11:13:31 2003 +0000
+
+ add the SiS driver - no kernel driver yet
+ (build tested, but not physically tested)
+
+commit 525dda4f2689469bd3179eb0ee21fd7e04413a1c
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Tue Sep 30 11:05:46 2003 +0000
+
+ fix cut & paste errors
+
+commit 6bec5b30e1144fb530971b34087e86afd7162441
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Tue Sep 30 11:02:38 2003 +0000
+
+ add the i830 driver - no kernel driver yet
+ (build tested, but not physically tested)
+
+commit 73b0420bba16b5dcfbb75b32bc519295f925041a
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Tue Sep 30 10:54:15 2003 +0000
+
+ add the i810 driver - no kernel driver yet
+ (build tested, but not physically tested)
+
+commit 5b5142b54376493081835cb2b4836b81a652cb36
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Tue Sep 30 10:29:15 2003 +0000
+
+ mkdir the server directory, as using cvs with -P would prune an empty
+ directory
+
+commit cafc787027fd56975be4e0fdb155c679bde12df1
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Sep 25 19:17:30 2003 +0000
+
+ Add project file for new spriteblast demo. (Update dependency)
+
+commit 26577e49394daf5d1bfea68b11a5743123f383c0
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Sep 25 19:15:22 2003 +0000
+
+ Add project file for new spriteblast demo.
+
+commit 1a89978d8301803d4f90825c41c01876ea47e825
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 24 20:41:53 2003 +0000
+
+ GL_ARB_point_sprite demo
+
+commit 77a505a4bbb558c9c6aedc8ec0cee5e9849797f6
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Wed Sep 24 17:37:00 2003 +0000
+
+ MS dev studio project file for teapots demo.
+
+commit c1cbde2ae1bbae3706b76965c97008a96a960302
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Wed Sep 24 17:36:00 2003 +0000
+
+ Workspace file for redbook programs
+
+commit 2c9618bb1290d23bd7fa52bece48608fbd92626a
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Wed Sep 24 17:34:32 2003 +0000
+
+ Change projection transform so that the top row of teapots are now visible.
+
+commit 9b101c34da4d8c4831e1d8d574061de1de84eb49
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 23 15:40:57 2003 +0000
+
+ added info about vertex/fragment program debugger
+
+commit b0cde8390681c32ab48f95911813a475aec02c0c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 23 14:46:11 2003 +0000
+
+ enum updates
+
+commit d7dabacfa3b3143ee418919460e2edeefef1867a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 23 14:44:33 2003 +0000
+
+ new enum values for GL_MESA_program_debug
+
+commit 8f7141e97041a88d3f00ea60fb2aa05b38777642
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 23 14:42:52 2003 +0000
+
+ minor clean-ups
+
+commit d01681d6c9dbbc42d74b35ce96b3723ffdb944cd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 23 14:41:02 2003 +0000
+
+ remove a _TriangleCaps reference
+
+commit d11bb2b297a69878a50bf135e9d1f96ce6d3d65d
+Author: Karl Rasche <karlrasche@gmail.com>
+Date: Tue Sep 23 00:45:56 2003 +0000
+
+ Add extra cases and enums for _mesa_fetch_state(), and set the length of
+ program_parameter.StateIndexes[] to 6, used for fetching matrix state
+
+commit f3a63d69ff02a525ebe4c927b5d055c6598d62bf
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Mon Sep 22 18:21:19 2003 +0000
+
+ Create 'all' project to make it easy to build and clean all the programs in the demos directory.
+
+commit ea9365b48a3cb592326223e6c5d5b9f6bab38275
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Mon Sep 22 18:03:09 2003 +0000
+
+ Add remaining demos.
+
+commit 6872c21ace6756cdf7988a562142f253043b26cf
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Mon Sep 22 18:02:45 2003 +0000
+
+ New visual studio project fiile for building demos.
+
+commit 9d553944711c7dcd1027c1505d6e41f74ceb5ff0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 22 15:18:50 2003 +0000
+
+ apply patch #740145 from SourceForge
+
+commit a13fb034cb50007051ba38b59ee9d59bead3f4ba
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 19 15:39:11 2003 +0000
+
+ casts
+
+commit e4fcea2e06571b71a85b4f100c95d866a82f7c19
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 19 15:38:15 2003 +0000
+
+ Assorted casts to silence g++ warnings.
+
+commit 74c33393b4ebcc1616c0d8f1b6f43d658aed3f22
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Sep 19 15:28:45 2003 +0000
+
+ Add include for context.h to define NEED_SECONDARY_COLOR.
+
+commit ff750fe8cb0085cb043b90f5c335a9c88d9b6ad8
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Sep 19 15:08:42 2003 +0000
+
+ Make binary - even though this is a text file, common practice is to store MS studio files as binary
+
+commit 04e6987de1e9a8a07aa1d89fce9b5494beb54537
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 19 15:07:57 2003 +0000
+
+ summary of Mesa's extension enum values
+
+commit b263802bcfbf7207a96cd9df411ab87d991364e5
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Sep 19 14:58:35 2003 +0000
+
+ Make binary - even though this is a text file, common practice is to store MS studio files as binary
+
+commit 361a9ac9663205b10ae78022ed777dfeda2a8ea4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 19 14:58:21 2003 +0000
+
+ minor updates
+
+commit a588e5af3bade6341f65189c89ed7bccf7f8c866
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Sep 19 14:49:54 2003 +0000
+
+ Make binary - even though this is a text file, common practice is to store MS studio files as binary
+
+commit effa9af9b15906f0e2a8d27f9e7af459cf3ee0c4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 18 23:42:08 2003 +0000
+
+ added note about _TriangleCaps
+
+commit 98cdf71f5a4776b673e90da32a18ac419d01baeb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 18 23:36:07 2003 +0000
+
+ a few less occurances of _TriangleCaps
+
+commit 29b4076f9acff96a867760fc885f5eaeb7586977
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 18 23:21:08 2003 +0000
+
+ Move away from using the ctx->_TriangleCaps bitfield.
+ New macros in context.h for testing state: NEED_SECONDARY_COLOR
+ and NEED_TWO_SIDED_LIGHTING.
+
+commit 1a8ebb8c2f939609004a13b75d2b85236e709716
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 18 23:10:36 2003 +0000
+
+ tweak an error message
+
+commit 87f858dd7cbca2280c983c77a239013a187c3e9a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 18 22:25:31 2003 +0000
+
+ s/_backface_sign/_BackfaceSign/
+
+commit e4b40a7cf154eddc59f1b11821a7664b0b95e7cf
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Sep 18 19:10:53 2003 +0000
+
+ Updated for new Windows build system.
+
+commit 85be17868cf5c613b6c7c61a5d09c490be653d6e
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Sep 18 18:40:22 2003 +0000
+
+ Now obsolete.
+
+commit 84c27308667abf8e9d4eb55f6bba91c58db8be86
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Sep 18 18:39:53 2003 +0000
+
+ New visual studio workspace and projects for building demos.
+
+commit 80d719f11a91344329b1aa7bbd383a68a8ed3531
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Sep 18 18:35:29 2003 +0000
+
+ Remove first attempt at using visual studio projects to compile demos.
+
+commit 315e78b0b5cd51c3838618d1b76dab03d6de2b7b
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Sep 18 18:32:13 2003 +0000
+
+ Update with current set of gl* entry points.
+
+commit 2c5f5dc7fe3f69eac75b6a31a91e3294de26a760
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 18 17:00:14 2003 +0000
+
+ Move macros from header to C file. Updated some comments
+
+commit 06588db3fa2c8292db57b3537bb3ad8811d82f46
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 18 16:45:44 2003 +0000
+
+ Move context ASSERT/FLUSH macros to context.h
+
+commit 3173277e20d7a2ed640298aa4f536f3903a0ef8b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 18 16:39:09 2003 +0000
+
+ remove MESA_TRACE stuff
+
+commit 8512074b90ce965166b8a82f0bba7d98a2c4a6e5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 18 16:34:35 2003 +0000
+
+ version tweaks
+
+commit bd3096edc30530a2b77770b773d725081c4d804f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 18 16:33:10 2003 +0000
+
+ removed unused NoRaster and Rendering fields from GLcontext
+
+commit 99823b37443044fd0d96e75d52c747f0c77d1730
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 18 16:18:43 2003 +0000
+
+ Remove FLT_MIN definition to imports.h
+ Assorted code clean-ups in light.c
+
+commit 0c415bca5c718468449535f075652ce86aa8461f
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Sep 18 15:41:01 2003 +0000
+
+ Copy the DLL files to the lib directory instead of libexec.
+
+commit 4ba2986c06651daf558f9ad18a3af28555fdab5e
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Sep 18 15:15:38 2003 +0000
+
+ Add symbols to export private entry points to osmesa.
+
+commit a01566e46811cf976996a763d2a2c4ef612e0ff6
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Sep 18 15:14:58 2003 +0000
+
+ Add casts to prevent double->float conversion compiler warnings.
+
+commit df8d337eec9b9f6f1d6ed0b4a7044b4f4420c52b
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Sep 18 15:14:10 2003 +0000
+
+ Add casts to prevent signed/unsigned compare compiler warnings.
+
+commit 65f605849af1a14eaa79dab6c9d80575d5c85db0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 17 21:36:08 2003 +0000
+
+ assorted updates
+
+commit 83f57e32ca4ace7f37030841f108f008a94e3845
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 17 21:22:54 2003 +0000
+
+ updated with new extension info
+
+commit bbd9a0c2b4d314059e7212f973034fcc774093e0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 17 21:18:46 2003 +0000
+
+ remove unused Target field from gl_buffer_object
+
+commit 66e6e3e8e114e5dde95640d0f532129aebf3be1b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 17 21:18:22 2003 +0000
+
+ Fixed/added some error checks.
+ Allow one buffer to be bound to multiple targets.
+ Rebind buffer 0 when deleting currently bound buffer.
+
+commit ea7bf8b130604bcf5bcc455d510515fd3a6b30fb
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Wed Sep 17 21:14:22 2003 +0000
+
+ Add cast to remove compiler warning
+
+commit 6296276ebe2b30080af0eb8503b15f5b379c9b87
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 17 18:58:09 2003 +0000
+
+ unbind vertex arrays from buffer in DeleteBuffersARB()
+
+commit 1ceeac29ec67816fe62c15c8e9386a24911628a2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 17 18:20:52 2003 +0000
+
+ s/GL_READ_WRITE_ARB/GL_WRITE_ONLY_ARB/
+
+commit de8d410a99d29f496a033bd9335d07128b58c38b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 17 18:15:47 2003 +0000
+
+ Exercise the GL_ELEMENT_ARRAY_BUFFER_ARB path
+
+commit d2afb39d1997e9f2e3c64fc9fa49393e2839d8a1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 17 18:15:13 2003 +0000
+
+ Implement GL_ELEMENT_ARRAY_BUFFER_ARB for buffer objects.
+
+commit 1a5709dc5bb5dcb0dbb1b0e6c7b058c7a3039f16
+Author: Jose Fonseca <j_r_fonseca@yahoo.co.uk>
+Date: Wed Sep 17 17:14:11 2003 +0000
+
+ Change the hyperlinks names in the main page to match the Doxygen generated ones.
+
+commit 9109625c03217680cfd03752214ad44a6ad39ca4
+Author: Jose Fonseca <j_r_fonseca@yahoo.co.uk>
+Date: Wed Sep 17 17:07:24 2003 +0000
+
+ Seperate the Doxygen configuration files (for full Mesa only) in a common part and an individual module part.
+ Rewrite the Makefile in order to avoid the double pass when the tag files already exist. A double pass can still be achieved by doing 'make clean all'.
+
+commit 6bced0148e11ca48ce9820fce0126ea4ac3c570e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 17 16:27:07 2003 +0000
+
+ test GL_ARB_vertex_buffer_object
+
+commit 57d882b6847128fe5f72575f61a2b2dace7ac46c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 17 16:06:49 2003 +0000
+
+ GL_ARB_vertex_buffer_object working now, at least for non-indexed
+ vertex arrays.
+
+commit 397d1e4d5750bda09e52451cfeb0a69126602a56
+Author: Jose Fonseca <j_r_fonseca@yahoo.co.uk>
+Date: Wed Sep 17 16:00:10 2003 +0000
+
+ Merge the Doxygen configuration files from the embedded branch.
+
+commit 5543901b96660b467549b09265bd9ff35aff4af5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 17 03:46:34 2003 +0000
+
+ new casts
+
+commit 84351999ec6ad07e0cfc31c0b3a8c86da4134bfe
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 17 03:42:14 2003 +0000
+
+ added call to _mesa_enable_1_5_extensions()
+
+commit 148a2847a105ce9d9189ad3081091de60f803a33
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 17 03:40:11 2003 +0000
+
+ More work on ARB_vertex_buffer_object.
+ Use GLubyte * instead of void * for gl_client_array->Ptr to simplify upcoming
+ pointer arithmetic changes.
+
+commit 4561f8418331f74cabf29649e9a4df7e92504a90
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 17 03:34:29 2003 +0000
+
+ changed a comment
+
+commit 278ce9917189da468521c4e7b4e6869b930a062d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 17 03:33:54 2003 +0000
+
+ move a comment
+
+commit b04633d7270aa326519cd1ce14581df681d708db
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 17 03:33:10 2003 +0000
+
+ move some functions, add some comments
+
+commit 458c900d3b6fcf9a939884f843e1cadd5be1ed22
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 17 03:32:12 2003 +0000
+
+ set ARB_vertex_buffer_object in _mesa_enable_sw_extensions()
+
+commit 978646d86fd19c0f564b01a469ffe0432fc5ab98
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 17 03:31:30 2003 +0000
+
+ fix up FEATURE_* defines
+
+commit 1d57658ee545f6ad01c378dea46058e5513f629c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 15 19:57:11 2003 +0000
+
+ minor simplification
+
+commit aa00d122b81a118eca3b43c66f17d988b1aa62d3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 15 19:55:10 2003 +0000
+
+ Some work on ARB_vertex_buffer_object.
+ Use GL_CLIENT_ACTIVE_TEXTURE when returning texcoord array values in get.c
+
+commit b29b8ca47d322f1f93f5321be7529cf0c440c695
+Author: Kendall Bennett <KendallB@scitechsoft.com>
+Date: Fri Sep 12 22:01:01 2003 +0000
+
+ Updates to fix problems building with the Open Watcom compiler.
+
+commit 438a898dcfdb202e4cc0768fc641846ed2ab7131
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 12 15:04:12 2003 +0000
+
+ allow glTexImage1/2/3D width/height/depth = 0
+
+commit 973da83f6237b5af4a9ee77f32fdfa5c04ecabc8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 12 15:03:12 2003 +0000
+
+ Allow glTexImage1/2/3D to specify width/height/depth = 0.
+ This allows texture state to be resettable to default state.
+ Not allowed according to the spec, but allowed by all other OpenGL libs.
+
+commit 5c480a4887aaca56bd70bde91bddbc13f71e721e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 9 15:35:37 2003 +0000
+
+ display list support for ARB_vertex/fragment_program
+
+commit 90f673e3ecdf5546b13ab8b549bb1b7023669107
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 9 15:10:44 2003 +0000
+
+ plug in vertex buffer object functions
+
+commit ca29a7c7315d36cfebd2e909323133dd7608b328
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 9 15:08:44 2003 +0000
+
+ remove duplicate sunos5-smp entries
+
+commit c7b872a2774e14d06b7e041d444c9e6e922ce5f5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 9 13:44:40 2003 +0000
+
+ Added prototypes for internal functions to bufferobj.h.
+ Minor code clean-ups.
+
+commit 39c65bfb93365d5b4ce16e4339517769545d01e8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 9 13:33:12 2003 +0000
+
+ remove last of mklib.solaris stuff
+
+commit 0207b47aafebc06cf83fbdb8c9b01f63374fac66
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Sep 9 00:10:12 2003 +0000
+
+ Added most of the infrastructure required to support
+ ARB_vertex_buffer_object. THIS IS INCOMPLETE.
+
+commit 0a363f4e87742680ac9193c3a276f5e93ac6adef
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 8 15:23:55 2003 +0000
+
+ fix timer bug (801485)
+
+commit 50253ea0a3d9fb4a4f0436825cdb37616be6f238
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 8 15:06:23 2003 +0000
+
+ Remove all the swap_control stuff from glxgears demo (restored to vers 1.2).
+ New glxswapcontrol.c file added.
+
+commit 176108767d6db89bc1a0b9d964750059e919c796
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 8 14:59:11 2003 +0000
+
+ SunOS tweaks (Greg Menke)
+
+commit e39cbf63f6cc026bb1ee107304ed2f6ef7ff5478
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 8 14:58:05 2003 +0000
+
+ update sunos5 targets (Greg Menke)
+
+commit 445ecdcebd3f075b3c7f09de342dd351f9199fa7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 8 14:56:41 2003 +0000
+
+ use GL_GLEXT_PROTOTYPES
+
+commit 91253e7be59659f9912398fd764de48b1445cac1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 5 19:34:58 2003 +0000
+
+ more debugger development
+
+commit 054fedb4558788bf9e40936faddad2cb75009998
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 5 19:34:25 2003 +0000
+
+ fix typo
+
+commit 94f944762d5ea51a1a573184ec2583c75b84b121
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 5 19:27:25 2003 +0000
+
+ move GL_MESA_program_debug code into program.c
+
+commit 6c57b379a41615d148ba20b4f3ce083882475730
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 5 14:53:25 2003 +0000
+
+ misc updates
+
+commit 1ac73bc993ea4dd90929b6fdf3647fd7a8385fe5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 5 14:47:24 2003 +0000
+
+ update directories
+
+commit 5f37abfc436f6ee6aaf2a34d8798faea799c70c4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 5 14:47:07 2003 +0000
+
+ updated info for Mesa 5.1
+
+commit ade4de9b5d338c7c8a031b7b713cf6dc700dfa94
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 5 13:39:39 2003 +0000
+
+ Updated for 5.0.2 release.
+
+commit 044f20d1eadfe843e79b5fdb42c21317038002f5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 5 12:51:24 2003 +0000
+
+ files for CVS to ignore
+
+commit 054b5aef924a04bffd16c7f6422319eb0e6f6c16
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Fri Sep 5 09:37:32 2003 +0000
+
+ Committing in .
+
+ Added missing include files.
+
+ Modified Files:
+ Mesa-newtree/progs/demos/isosurf.c
+ Mesa-newtree/src/mesa/main/nvvertexec.c
+ ----------------------------------------------------------------------
+
+commit d402cb97bd241d8bb762ace76967eb084f2021a6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 4 23:55:33 2003 +0000
+
+ implement SWZ and TXB. some code clean-up
+
+commit 0d08399d8df6d7c52b1d85b0b54ec8d4c4fa6a28
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 4 23:38:03 2003 +0000
+
+ move SWIZZLE_ZERO/ONE tokens to program.h
+
+commit 0ac157ddc44e840682190c6c1fb803cb6a36a016
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 4 23:10:38 2003 +0000
+
+ import 5.0.2 info
+
+commit 9c9c2cd7255a50559c97c512416c2be17b869a03
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 4 15:18:22 2003 +0000
+
+ Added new opcodes for ARB_fragment_program, like ABS, CMP, TXB, etc.
+
+commit e082348a4b59af0221b88a11c87acdb46f67eaa1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 3 23:10:31 2003 +0000
+
+ a little more MiniGLX info
+
+commit afc0428b5c5380fa5beaaa28c78faddd41da5284
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 3 23:04:31 2003 +0000
+
+ assorted updates
+
+commit 56e9efa15de5fdc952e56f04276285870214b24d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 3 23:04:02 2003 +0000
+
+ added fbdev/DRI and MiniGLX info
+
+commit eaf2f5bb4feef6bc2dee7024353c0127b62481e8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 3 20:48:05 2003 +0000
+
+ fix a few typos for linux-solo
+
+commit feb9e4c4324c494a79dbad8e43c15d0c9c4c3a4b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 3 18:04:02 2003 +0000
+
+ ARB_point_sprite is not part of OpenGL 1.5
+
+commit 03f0ddbe4ca748a8fb3081d08eeb129661656d7d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 3 17:21:51 2003 +0000
+
+ include math.h
+
+commit 67c1fd2fdb3e26e158b00bab590ff38309321b4d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 3 14:34:55 2003 +0000
+
+ add -lCrun for sunos5, added sunos5-smp (Greg M)
+
+commit c8363a31cfcd8e3c60387df31525158847ab1457
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Tue Sep 2 19:25:17 2003 +0000
+
+ Added support for EXT_texture_mirror_clamp and the single wrap mode
+ that it addes to ATI_texture_mirror_once. This includes updating the
+ texwrap test to exercise the new mode.
+
+commit 886bc6f36c698df17cc8bcab0717ff0a039f3dd6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 2 18:19:53 2003 +0000
+
+ remove -malign-loops=2 -malign-functions=2 (bug 738020)
+
+commit c86eab84789a64a1d443b7e305154944800a64c1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 2 18:06:18 2003 +0000
+
+ added GLUT_CFLAGS to compile GLUT with -fexceptions (bug 726223)
+
+commit 352e0d0d2752426162f360a3d7dd2cf68226f6ae
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 2 16:58:14 2003 +0000
+
+ pbuffer info
+
+commit 21d956106ef02c55c4288c7ac61f048316ca8a6a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 2 16:43:01 2003 +0000
+
+ fix-up CXXFLAGS (bug 757292)
+
+commit 08dbe5664dac538c7c9fa2b2c287f5874dc66d4d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 2 15:10:32 2003 +0000
+
+ add missing glNormal, glVertex calls (Michal Wozniak)
+
+commit 77e85f133c40b5b24a9ae7bd49ab77ab9af78ae0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 2 14:47:51 2003 +0000
+
+ update from Daniel Borca
+
+commit 0d4da529bd2012469ea620cb13f0ab18b3f99bbe
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 2 13:36:03 2003 +0000
+
+ fix fog.End error
+
+commit b3680df593acc113fbbd1cef92baf441276ace31
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Aug 31 19:06:10 2003 +0000
+
+ s/DP4/DP3/
+
+commit 254e20172167a090575a4854c15806db313a0e0e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Aug 31 18:57:17 2003 +0000
+
+ s/DP4/DP3/
+
+commit 2b7a01a39ba5257407dddde38ef049856c34aa01
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Aug 31 18:55:55 2003 +0000
+
+ always assign texcoord[i][3] to silence valgrind
+
+commit 7961e67c2ae75f6cd32d7ac7cbe9f887da10c865
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Aug 31 18:55:23 2003 +0000
+
+ update parameter indexing
+
+commit 1c5ff572aaaf533377f91dbd4bcd4411d855fabc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Aug 31 18:54:52 2003 +0000
+
+ added program.c plus minor fixes
+
+commit bd7a3de4b35f8bb1a1ea033ba2893315a4efcc29
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Aug 31 18:53:45 2003 +0000
+
+ added minor assertion
+
+commit 04a81da03bef5020d863e46aa597eddf7aaac016
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Aug 31 18:52:47 2003 +0000
+
+ Moved some shared vertex/fragment program code into new program.c file.
+ Implemented new program_parameter_list type and functions for dealing with
+ named program parameters, constants and GL state references.
+ New state_index enum for describing GL state referenced within ARB vertex/
+ fragment programs. Plus, functions for fetching named GL state.
+
+commit e38a55ecb27562a52d48bf1d673803a10d8a5bce
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Sat Aug 30 16:08:35 2003 +0000
+
+ Generate browse info for Debug version.
+
+commit dc24230de7f913969b52dee3579bb8fa3d50a8c0
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Sat Aug 30 14:45:04 2003 +0000
+
+ Silence compiler warnings about implicit casts or conversions by supplying explicit casts and/or tweaking constant and variable definitions.
+
+commit d12a871b21adee531661f4cf6561d2ffda685359
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 29 14:45:45 2003 +0000
+
+ s/GLuint/GLint/
+
+commit e39a334f1aadefdea619d14adb589a5d641bf3c1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 29 14:45:15 2003 +0000
+
+ fix minor warnings with casts
+
+commit c769a7febf03e449724dfb92ecd390edd2d3e918
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Aug 29 13:57:27 2003 +0000
+
+ add arbfragparse.c to project.
+
+commit f5515cb4af6a4d745e4764d4ca1ed2eb30932319
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 28 23:31:00 2003 +0000
+
+ Move clamping of texture LOD bias to texture application time.
+
+commit 760960028f189e3afcbfef1f877dbd5b86fd1ae4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 28 16:57:01 2003 +0000
+
+ Updates from Daniel Borca
+
+commit 9e94aaf6e377843194c4b9ab6e2e96f06aef88f2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 28 03:10:41 2003 +0000
+
+ remove unused bytes variable
+
+commit 3a604da4cc03ef0b851fd55f926f35cf85f3ba88
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 28 03:10:00 2003 +0000
+
+ added GL_EXT_texture_lod_bias to OpenGL 1.4 feature list
+
+commit 58c5df87becefd6b343d2802454ea75b908cdde9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 28 03:08:40 2003 +0000
+
+ remove a bunch of the extension definitions from the legacy section
+
+commit 0b126507016a9b9d9bae88006f6c21e1e249aff3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 28 03:07:49 2003 +0000
+
+ space bar to toggle animation
+
+commit 781fb93877ea3a6faeefcdb48d9b463da7d954a3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 28 03:04:41 2003 +0000
+
+ Added OpenGL 1.4's per-texture LOD bias.
+
+commit a6ed6f48e6bf4ca5427d921cac863cf3b42f7efc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 27 14:48:16 2003 +0000
+
+ make _glapi_get_proc_address() return NULL if function doesn't start with gl prefix
+
+commit d49acd629b67ad0a59038f47aab7be578a62db72
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Wed Aug 27 11:12:35 2003 +0000
+
+ Committing in .
+
+ Added a type cast to silence the OpenVMS DECC compiler
+
+ Modified Files:
+ Mesa-newtree/src/mesa/swrast/s_nvfragprog.c
+ ----------------------------------------------------------------------
+
+commit d2d3052378e8e17e9db69d58a5d6c4141debc0fd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Aug 24 14:56:20 2003 +0000
+
+ latest extensions and updates
+
+commit 371f7cdb7a44cae904584cebcc59a495f17a9d8e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Aug 24 14:49:53 2003 +0000
+
+ fix PFNGLMULTIMODEDRAWARRAYSIBMPROC
+
+commit f9dbd07e148fe2044b331d6b4cfbf90381878cd5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Aug 24 14:42:11 2003 +0000
+
+ regenerated for GL_IBM_multimode_draw_arrays
+
+commit dc22a652c98187b68114c03f7fd7a0facdef1a4b
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Sun Aug 24 04:44:23 2003 +0000
+
+ Fix compile problems with `glMultiModeDrawArraysIBM'
+ Adjust makefiles to create depends and not store it in CVS
+ Remove dependency on kernel pci_ids.h
+
+commit d620015abd42d166d4417344bc742e4d5954c496
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Aug 23 21:44:08 2003 +0000
+
+ indentation fix
+
+commit 2230b8518ea98df5e8039c2d5d4976e6f4fc850f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Aug 23 21:42:57 2003 +0000
+
+ test program to exercise glDraw/ReadPixels(GL_DEPTH_COMPONENT) and pixel zooming
+
+commit 4be6c0f04b9ba81dba144b45f92ab807e141755f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Aug 23 21:40:21 2003 +0000
+
+ glDrawPixels(GL_DEPTH_COMPONENT) with glPixelZoom didn't work
+
+commit a3a10e6dfc4eadcb8a11b884decdeee607dcf535
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Sat Aug 23 05:05:11 2003 +0000
+
+ Add missing assembly file from radeon build
+
+commit e28a4c147c93fdd03b38de250c28c1cead5f711d
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Sat Aug 23 05:01:38 2003 +0000
+
+ Remove files not used in current MGA driver
+
+commit 1da1f1e4baf9899cf85e69ad133863bd7621d8bd
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Sat Aug 23 04:58:24 2003 +0000
+
+ update fb makefile for new directory structure, add depends
+
+commit 7c819439bac396a8f37e38a3acb137626946c6c5
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Sat Aug 23 01:34:56 2003 +0000
+
+ Rename Makefile to Makefile.X11, add depend support
+
+commit 52f246bd23c7dffa0589bf122955d8e6759fbdf1
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Sat Aug 23 01:28:59 2003 +0000
+
+ Added missing includes for standard header files
+
+commit 724c2c7f6f5638f0e761f7bb181480695c275831
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Sat Aug 23 01:25:30 2003 +0000
+
+ Add file miniglx.h
+
+commit ae530c2ff9e2b2c2a258724bfa79ad5ab6dee013
+Author: Jon Smirl <jonsmirl@gmail.com>
+Date: Sat Aug 23 01:12:35 2003 +0000
+
+ Renaming Makefile to Makefile.X11, added depend support, adjusted paths
+
+commit 63736723678ef30e7f90835cfbd48c520e39bf11
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Sat Aug 23 00:12:46 2003 +0000
+
+ Trivial changes to add support for GL_ARB_point_sprite, which is a
+ subset of GL_NV_point_sprite (which was already supported).
+
+commit 3baefe663bb15b4fd60921155de38c12ec2758c4
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri Aug 22 23:28:03 2003 +0000
+
+ Added support for GL_IBM_multimode_draw_arrays.
+
+ Added non-static entrypoints and the name string for
+ GL_SUN_multi_draw_arrays (identical to GL_EXT_multi_draw_arrays).
+
+ Made add_newer_entrypoints (in src/mesa/main/context.c) table driven.
+ This reduced the size of context.o by about 3KB.
+
+commit 5df82c82bd53db90eb72c5aad4dd20cf6f1116b1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 22 20:11:43 2003 +0000
+
+ patch to import Jon Smirl's work from Bitkeeper
+
+commit 1a84876d7907df90add3f59d3396ce0bbb905040
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 22 18:06:59 2003 +0000
+
+ restore gcc-sl config
+
+commit 4778beb76129fa68dd57b74ac2f25fd604465289
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 22 13:47:08 2003 +0000
+
+ updates from Daniel Borca
+
+commit 12c037dbff3d5a812e31624645d577413cd54122
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Aug 20 07:21:41 2003 +0000
+
+ Use correct conversions when translating array colors.
+
+commit 9ec58c2c5bbf90428a0e8e1c4f4af3805c602cd3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 19 15:52:51 2003 +0000
+
+ DOS and glide driver updates from Daniel Borca
+
+commit 3dc8cc4ebc63624dd521923271e63c2ac5a8aaae
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 19 01:09:57 2003 +0000
+
+ glPixelMap fix
+
+commit 9d73b81068182b72e332b762786d3e89f8dcac71
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 19 01:08:24 2003 +0000
+
+ Fix glPixelMap: s/GLint/GLsizei/
+
+commit d4576154e60d1cc574de15e76fea8fd26c45e230
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 19 01:07:26 2003 +0000
+
+ glPixelMap[f/ui/us]v()'s size parameter is GLsizei, not GLint.
+
+commit bb9387013343261d6a6c58e6a73d6204c6469de6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 19 01:06:24 2003 +0000
+
+ simplify some python code
+
+commit 8a033fa13514e3b78612ba1678182c9ea8290cd4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 18 19:45:42 2003 +0000
+
+ minor code improvement in glGenTextures
+
+commit 01bb309cce71fde03945f3d9ded7855f71674224
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Aug 17 17:12:35 2003 +0000
+
+ register file changes
+
+commit f2dd273322cc9ec0cfe80a609f9a1e5db5931e2e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Aug 17 17:11:50 2003 +0000
+
+ Re-org of register files for vertex/fragment programs. Will be easier to
+ hook in global state references, etc. for ARB programs.
+
+commit 4f12be02491713d6998fa43e3efc19daf2faffeb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 15 19:10:47 2003 +0000
+
+ fix some broken links
+
+commit 3bbe68510f70c0ad140608a3353792280c16483a
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Mon Aug 11 11:46:36 2003 +0000
+
+ Committing in .
+
+ Update OpenVMS makefile due to new source files.
+
+ Modified Files:
+ Mesa-newtree/src/mesa/main/descrip.mms
+ ----------------------------------------------------------------------
+
+commit e17c1abd672f6baf4c87f3c014d3182ddfc86c0a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 6 19:24:44 2003 +0000
+
+ added arbfrag/vertparse
+
+commit b5a41d6050a06204f5450f63a98862e70585b7f9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 6 19:24:02 2003 +0000
+
+ prep for OpenGL 1.5
+
+commit 2c50b922d615b5f3c6f4cb2e399e1bd6fec1e278
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 6 19:23:20 2003 +0000
+
+ fix a bunch of warnings
+
+commit 49555d14a89f4e240825682eabbb0d422d7e5a04
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 6 19:22:59 2003 +0000
+
+ remove temporary prototypes
+
+commit 8f44286b291ad5f1ec918018b8d4a0398bf7ffd8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 6 19:22:37 2003 +0000
+
+ placeholder files
+
+commit 1b252a4f6f7de91f2de66b6e2b2e1130eb4bb476
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 6 19:16:48 2003 +0000
+
+ added info about Mesa-newtree
+
+commit 824a4fc34f896aa8b34d69714de8cf1099613d10
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 6 19:05:26 2003 +0000
+
+ updated item 1.4
+
+commit 93a458840c77b784fb74738f734ba2c5d22ca7a7
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Aug 6 18:12:22 2003 +0000
+
+ Shared dri driver resources
+
+commit b32a036059932fa5000e63a2ecb6d90d98864eb5
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Aug 6 18:11:57 2003 +0000
+
+ Not-quite-functional swrast-only dri driver
+
+commit b93652d67ed976562edc121b319b0594f79cc00a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Aug 6 18:10:59 2003 +0000
+
+ Shared radeon/r200 init code
+
+commit 676cf71852162fe483bd14ca088a7a124ec2fdfd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 6 18:04:32 2003 +0000
+
+ Added TOP to point to top of tree to find includes and libs
+
+commit 848ff108a06c1a8171bab879669c08c9274908f5
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Aug 6 18:01:13 2003 +0000
+
+ mga driver, brought over by Jon Smirl
+
+commit adbec39bbf671ad80f6c557801e274cac0d305fa
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Aug 6 17:59:57 2003 +0000
+
+ r200 driver, brought over by Jon Smirl
+
+commit a7ea785a104a2254ace3b17ff0bde8231295f0fa
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Aug 6 17:47:15 2003 +0000
+
+ miniglx test programs
+
+commit fb4d5492e01dffc83ce9129263409eebf4b220aa
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Aug 6 17:15:29 2003 +0000
+
+ Newer version of this file
+
+commit ff56908e09c0351179478deb19677cf56eec1f64
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Aug 5 18:55:49 2003 +0000
+
+ Store material attributes in an Attrib[] style array. This is a
+ first step to reviving/rescuing the 'vtx' rework from the old mesa
+ tree.
+
+commit e6dea091c0a1fe9ad9720c07ddf7164e5fc45ac6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Aug 5 18:12:55 2003 +0000
+
+ Fix samples/fog.c regression - missing test for NeedEyeCoords.
+
+commit 304d11e0e152d48902becd73004c4e8768b78f3e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 5 15:54:08 2003 +0000
+
+ Updates from Daniel Borca.
+
+commit 288066985374bcad743c5923474257fb2c52a623
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Aug 1 20:30:20 2003 +0000
+
+ Fix typo (& instead of &&) to fix olympic.c bug
+
+commit 1a615070ed959359c949aecc3b52a199b999b2a5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 30 23:13:39 2003 +0000
+
+ replace assertion with conditional
+
+commit f88d84625594cfb6fc7b77462417824cf33a8585
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Sat Jul 26 12:44:37 2003 +0000
+
+ Moved.
+
+commit acad0fae7f22d5570a1761c04bed040f4500c991
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Sat Jul 26 12:43:39 2003 +0000
+
+ Add the C++ and response files to the project so that they show up in the project file list.
+
+commit e7d9b3fdd7e22b51e95d827e61748b0e3699b166
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Sat Jul 26 12:42:45 2003 +0000
+
+ Reorganized projects so there is one project for each Mesa source subdir, and put the actual project files in each subdir.
+
+commit 1b41c0d3d83b10ca1ae9762003da04e7b3c8ea3a
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Sat Jul 26 12:38:06 2003 +0000
+
+ VC 6 Project File
+
+commit 4894df6cf2d2da3c3a2593c28209cd7545e02c92
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Jul 25 16:43:31 2003 +0000
+
+ minor option tweak
+
+commit b9d9c1f40decf2448af9e472fc378bd44fd04423
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Jul 25 16:38:17 2003 +0000
+
+ Compiler/Linker "response" file containing compiler options and list of files to compile/link for the C++ files in the glu library. It is easier to edit and maintain this infomation in flat files instead of trying to enter it into the VC project menus. The C++ files are compiled as a "pre-link" step.
+
+commit 9b0bb3d0523161946b84fedbb1f84e4222e340ce
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Jul 25 16:35:25 2003 +0000
+
+ Add documentation.
+
+commit fd5889f975b6fc6ce3b1cb69043ebd899ae9015e
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Jul 25 16:35:05 2003 +0000
+
+ Project now builds the C++ sources (with great difficulty). Add module definition file (glu.def) to project.
+
+commit c2b39d03129007860bb1cc68a02b082ca3da17e7
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Jul 25 16:32:50 2003 +0000
+
+ add a dependency so that osmesa builds
+
+commit 00d7f16dbd8c4dd1407fbc19001126164018e2a9
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Jul 25 14:44:57 2003 +0000
+
+ cleanup - add comments and sort names.
+
+commit c2aee04666078f7c80e2b4b59f5fabc5d38848fc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 24 22:41:17 2003 +0000
+
+ don't include malloc.h (bug 776574)
+
+commit 838bb33fe1a0bb9efb06d966429d03f8683d3383
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Jul 24 17:45:27 2003 +0000
+
+ add osdemo project
+
+commit 0a5957bfb13e66bda7f1b7130dd7eec854750f3b
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Jul 24 17:45:09 2003 +0000
+
+ project file for osdemo
+
+commit eb226f118f0a9e2b513394656dd96a7ebce09fd4
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Jul 24 17:44:17 2003 +0000
+
+ Add osmesa project
+
+commit a3286498e68c4fcff70aaba137d2b82372c639f5
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Jul 24 17:43:40 2003 +0000
+
+ add symbols needed by osmesa.
+
+commit bd36e5f17b5d074b0744b8bc92038e17523f889c
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Jul 24 17:43:11 2003 +0000
+
+ Project file for osmesa
+
+commit 4e245c334d1e5b6ff91d4f8bc51dd9c0f4d95cd2
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Jul 24 17:10:03 2003 +0000
+
+ moved to top of tree.
+
+commit 7d3bf7f6d1a734ee3b1e402559fd0798953241d9
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Jul 24 17:09:29 2003 +0000
+
+ Microsoft Visual Studio 6 Workspace file for building Mesa and related libraries. (Moved from src/mesa/drivers/windows to make it easier to find.) The project files belonging to the workspace are located elsewhere in the tree, closer to the modules they each build.
+
+commit 3a25e2350a110031c14921b04c49232d1d4512ff
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 24 13:33:22 2003 +0000
+
+ if texture color table is enabled, use the color table's format to evaluate the texture env function
+
+commit df03f8ed6d6ad7e35e1f17b8af2d91d694ece483
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Jul 24 04:11:36 2003 +0000
+
+ fix location of mesa.def
+
+commit adb5e0bb1d210fc61200e7dec2a5a077d8d9bddc
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Jul 24 04:11:07 2003 +0000
+
+ linker exports defs
+
+commit 95a791bb3e7704ece6420ccafb866b767d222ba6
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Jul 24 03:55:25 2003 +0000
+
+ Project to build the gears demo program.
+
+commit c7363f7a484e5d18352202474b4ce811ef93b8db
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Jul 24 03:54:46 2003 +0000
+
+ Workspace to build Mesa demos and sample programs.
+
+commit c06ff13b14b0352e91fc86f6bc0031c8a5501115
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Jul 24 03:52:43 2003 +0000
+
+ Project file to build GLUT32.DLL
+
+commit 5c04693a3fc22e52fc90ddc2f456778d72cbda7b
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Jul 24 03:51:43 2003 +0000
+
+ Project file to build GLU32.DLL
+
+commit b6a74a4f6e17dc95c5b3fed73f77fb9b7d9ea806
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Jul 24 03:47:46 2003 +0000
+
+ Source code for GDI driver.
+
+commit fbd052efedfe1a405ece5edf0b35dce48fa82f27
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Jul 24 03:47:22 2003 +0000
+
+ Project file to build gdi driver and OPENGL32.DLL.
+
+commit 9baab01c1faa58195b5a7e298b232ad0ed81c90e
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Jul 24 03:46:20 2003 +0000
+
+ Project file to build tnl - creates static LIB that is later linked to make a DLL.
+
+commit bff1bf9794388a8b72e64cca778673e43aeacf0b
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Jul 24 03:45:58 2003 +0000
+
+ Project file to build swrast - creates static LIB that is later linked to make a DLL.
+
+commit b1bc0dc3f45e38cd7070edd18e9ea7a15847c88e
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Jul 24 03:45:27 2003 +0000
+
+ Project file to build core mesa - creates static LIB that is later linked to make a DLL.
+
+commit 341313b60169d8604fcd871b7d216b25a5e50bf1
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Jul 24 03:40:29 2003 +0000
+
+ Visual Studio Workspace file for building Mesa. This workspace contains projects for building core mesa, backend drivers (e.g., gdi, dx7, ...), GLU, and GLUT. The project files are placed in the appropriate places in the Mesa tree.
+
+commit f78311ed643255b88954b7a17043c58e12c455c6
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Jul 24 03:37:01 2003 +0000
+
+ Removing from this directory. Will be added to new gdi driver directory.
+
+commit 6ff00f91c8f0164fc529a0ce023c4cd9536e7543
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Jul 24 03:35:34 2003 +0000
+
+ Remove obsolete file.
+
+commit 6b4716c63aeaec28ba488be971aa7d524133299c
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Jul 24 03:18:44 2003 +0000
+
+ Windows does not define HUGE_VAL, so use the IEEE hex constants.
+
+commit 9c7b81697b2a381d7083e8e4c52f919f36ea9fa1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 23 21:21:30 2003 +0000
+
+ fix a few more glitches from last big check-in
+
+commit 9f9bed9c8ea8a1baa922320debbf04128b2b58de
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 23 17:13:48 2003 +0000
+
+ fix GL_SGI_texture_colortable bugs
+
+commit d19b5db5dce92efd55359607006a32076dc95d12
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 23 15:45:25 2003 +0000
+
+ fill in chapter 5, 6 text
+
+commit ad6ecf022787aa65830aa12e445aacbafcd763fa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 22 18:34:27 2003 +0000
+
+ remove printf
+
+commit 6a940e89466cad5d5a85ee13093b75c712e7452e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 22 03:53:44 2003 +0000
+
+ New interactive debugging code - vertex or fragment program.
+
+commit 05944c031cd6bea985050f0e88a19f0794f57887
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 22 03:51:46 2003 +0000
+
+ Restore more code lost during last big merge.
+ Rename colortable-related functions.
+
+commit f7fda86c6dcb7894157bd35a0cf15d003d48b441
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 22 03:34:54 2003 +0000
+
+ Implement debugger callback, etc for vertex programs. Misc clean-ups.
+
+commit 389858ee7b5207d356c9211386024af8ff9797f5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 21 04:30:25 2003 +0000
+
+ tokens, functions for GL_MESA_program_debug
+
+commit 64da663f51ea93b1571f4932de044757e3d00b56
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 21 04:23:32 2003 +0000
+
+ vertex/fragment debugger extension
+
+commit 5366b01d86c1ce17fcffe9d117acf1c2aa782a2f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 21 04:22:59 2003 +0000
+
+ test program for GL_MESA_program_debug extension
+
+commit 08ff059f203f05a0cc417a46fe37f83929963db5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 21 04:22:40 2003 +0000
+
+ Initial implementation of GL_MESA_program_debug - a vertex/fragment program
+ debugging extension.
+
+commit 190c11e06d0f33c6815c19f36bb6f8f90d2ac2be
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 18 16:45:38 2003 +0000
+
+ Numbered productions for ARB_vertex_program grammar (Karl Rasche)
+
+commit 9a0d97a21c94f8e1ae673b8b96737956a27ae201
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 18 16:43:45 2003 +0000
+
+ Karl Rasche's ARB_vertex_program parser
+
+commit f44898c0883c15f3565d0af55a66d82fe3da169f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 18 15:44:57 2003 +0000
+
+ Fix up FEATURE_* defines in config.h
+ _glapi_add_entrypoint() updates in context.c
+
+commit 702ca20bf08be7a4007defc5d91094e8b7d2ef8e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 18 15:22:16 2003 +0000
+
+ Fix up some loose ends from the last big check-in.
+
+commit c19cbb58cd2862393d67b62a5fc523b6fa1ac9a6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 17 14:50:11 2003 +0000
+
+ more DOS updates from Daniel Borca
+
+commit 6dc85575000127630489b407c50a4b3ea87c9acb
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jul 17 13:43:59 2003 +0000
+
+ Merge Jose's documentation and core Mesa changes from embedded branch
+
+commit 44c699949ac09459771304a8aec8f2fc622057fb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 11 16:33:43 2003 +0000
+
+ DOS updates from Daniel Borca
+
+commit 356959952c93b64b5b6227c4fc2b3c4e9e08d6a1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 10 14:39:57 2003 +0000
+
+ added GL_VERSION check
+
+commit f6e76fe9b5c4c57ac6dc81143b4474ebfee879d2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 7 17:01:18 2003 +0000
+
+ fix conformance glitch introduced with NPOT extension
+
+commit ef751eb08b055d3c5b86ee10edc834a8767b7bc3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 7 16:46:27 2003 +0000
+
+ minor fixes in _mesa_TexGen[id]v() to silence valgrind
+
+commit 92d31641d2116110da84a1b1fc1d882b7aa1b095
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 3 15:08:25 2003 +0000
+
+ fix int/float conversion for GL_TEXTURE_PRIORITY in gl[Get]TexParameteri[v]
+
+commit b464dee72be7a2d00755a60ef5bcfde1262934d3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 3 03:11:56 2003 +0000
+
+ bigger window
+
+commit 7568561fa736c86d1ec8e669899fa02626d0877e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 3 03:10:50 2003 +0000
+
+ GL_ARB_texture_non_power_of_two test program
+
+commit 235c150f0a369a1d4f70f88a2864ce84e1e95cfa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 3 03:07:12 2003 +0000
+
+ added GL_ARB_texture_non_power_of_two
+
+commit 887e2cf01a99f7fe1b7c94320b7bdbbf0d6ad2f8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 3 03:05:48 2003 +0000
+
+ Implemented GL_ARB_texture_non_power_of_two (except for auto mipmap generation).
+
+commit 32bac60519dab482cd3f44355563750a4521f4cb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 3 03:02:44 2003 +0000
+
+ tweak checks for display list zero
+
+commit de4f460e20cf76ece883530ffe3f82a0afc817f3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 3 02:15:06 2003 +0000
+
+ Simplify extension string handling.
+
+commit 9826ca3ef533bf6155511b169509ffc09e9701ef
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Wed Jul 2 14:23:49 2003 +0000
+
+ Committing in .
+
+ Enable installation on OpenVMS ODS5 disks.
+
+ Modified Files:
+ Mesa-newtree/progs/demos/descrip.mms
+ Mesa-newtree/progs/tests/descrip.mms
+ Mesa-newtree/progs/xdemos/descrip.mms
+ Mesa-newtree/src/glut/glx/descrip.mms
+ Mesa-newtree/src/mesa/array_cache/descrip.mms
+ Mesa-newtree/src/mesa/drivers/osmesa/descrip.mms
+ Mesa-newtree/src/mesa/drivers/x11/descrip.mms
+ Mesa-newtree/src/mesa/glapi/descrip.mms
+ Mesa-newtree/src/mesa/main/descrip.mms
+ Mesa-newtree/src/mesa/math/descrip.mms
+ Mesa-newtree/src/mesa/swrast/descrip.mms
+ Mesa-newtree/src/mesa/swrast_setup/descrip.mms
+ Mesa-newtree/src/mesa/tnl/descrip.mms
+ ----------------------------------------------------------------------
+
+commit 4e28d962ffdf0ae34c562cddfef95ead3a8cb2e7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 30 21:51:31 2003 +0000
+
+ DOS updates (Daniel Borca)
+
+commit a58214e4172925c9332a14895dd7bcd109346e2a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 27 15:26:56 2003 +0000
+
+ add a few more digits to PI to make Evgeny happy
+
+commit fb8105fbaa699fcda00349127864868c0c8a4ef5
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Tue Jun 17 07:22:29 2003 +0000
+
+ Committing in .
+
+ OpenVMS compile support for new directory tree
+ One file was missing in the previous commit.
+
+
+ Modified Files:
+ Mesa-newtree/src/glut/glx/mms_depend
+ ----------------------------------------------------------------------
+
+commit ccb8284a5b98315bffdbc1df56f54c7ba23e123c
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Tue Jun 17 07:20:22 2003 +0000
+
+ Committing in .
+
+ OpenVMS support for new directory tree
+
+ Modified Files:
+ Mesa-newtree/progs/demos/descrip.mms
+ Mesa-newtree/progs/tests/descrip.mms
+ Mesa-newtree/progs/xdemos/descrip.mms
+ Mesa-newtree/src/glu/sgi/descrip.mms
+ Mesa-newtree/src/glut/glx/descrip.mms
+ Mesa-newtree/src/mesa/main/descrip.mms
+ Added Files:
+ Mesa-newtree/descrip.mms Mesa-newtree/mms-config.
+ Mesa-newtree/src/descrip.mms Mesa-newtree/src/glu/descrip.mms
+ Mesa-newtree/src/mesa/descrip.mms
+ Mesa-newtree/src/mesa/array_cache/descrip.mms
+ Mesa-newtree/src/mesa/drivers/osmesa/descrip.mms
+ Mesa-newtree/src/mesa/drivers/x11/descrip.mms
+ Mesa-newtree/src/mesa/glapi/descrip.mms
+ Mesa-newtree/src/mesa/math/descrip.mms
+ Mesa-newtree/src/mesa/swrast/descrip.mms
+ Mesa-newtree/src/mesa/swrast_setup/descrip.mms
+ Mesa-newtree/src/mesa/tnl/descrip.mms
+ Mesa-newtree/vms/analyze_map.com Mesa-newtree/vms/xlib.opt
+ Mesa-newtree/vms/xlib_share.opt
+ ----------------------------------------------------------------------
+
+commit 642699a19f1c07336a6fadacd6d5a9028f5d346f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 16 14:32:44 2003 +0000
+
+ DOS updates for new tree (Daniel Borca)
+
+commit 710207c46f523ca3607c522ffa45a7c07a3354b4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 16 14:30:57 2003 +0000
+
+ fix include paths (Daniel Borca)
+
+commit 225517aff0afc3270fab277d1c9ac2864053820c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 13 21:49:46 2003 +0000
+
+ GLUT for OS/2 (Evgeny Kotsuba)
+
+commit 8fa507592b7bdb087c9eb32ed2322cb805b724ec
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 13 02:42:57 2003 +0000
+
+ fix typo, added space/anim control
+
+commit 86258034d5527ba78dd00da65336ff27e1925143
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 13 02:38:35 2003 +0000
+
+ GL_ARB_occlusion_query demo.
+
+commit b17a722ca3989e8563ee04cb2939f4835f8a171e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 13 02:37:27 2003 +0000
+
+ Implemented GL_ARB_occlusion_query (not 100% finalized).
+
+commit 0c0e583c01116c9e26ac99735e581ea2b842a88d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 13 02:32:28 2003 +0000
+
+ More clean-ups and re-org
+
+commit 93db675bd9d46bfeb51c7ffd7282da5453645212
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 13 02:31:42 2003 +0000
+
+ added new GL_ARB_v_p instructions
+
+commit 6a0db5626987adebb5078bacf7548d89976576a4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 12 16:01:42 2003 +0000
+
+ s/ATTRIB_h/ATTRIB_H/
+
+commit 5ac9e660a65f4ab06120abbc20598a93a87ded49
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 11 18:48:54 2003 +0000
+
+ added null pointer check in tnl_copy_to_current()
+
+commit b1d53d909d1077f312d8f1750e025c7986a4cb2f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 11 18:48:19 2003 +0000
+
+ new buffer/context visual compatibility test (Phil Brown)
+
+commit 196a90b5111b5170b9517d83e24d454363a09dd5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 11 18:47:51 2003 +0000
+
+ added missing types to _mesa_VertexAttribPointerARB()
+
+commit 5c08c5bff3178c1f5b8e8b3d891daa2eaa0be9be
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 11 14:38:17 2003 +0000
+
+ clean up _tnl_copy_to_current()
+
+commit f499860de4c72243c71a9c43f08e3558574fb67b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 10 21:55:20 2003 +0000
+
+ moved from main/ to glapi/
+
+commit de5496d2a6a3138ec5924026de5ef5afe92419cc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 10 21:47:59 2003 +0000
+
+ Further makefile clean-up, concentrated on the x86 assembly files.
+
+commit 5f3439916b74ed792ad12d1e614a2a5bc0a94b3a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 10 19:06:20 2003 +0000
+
+ fixes for x86 builds
+
+commit 5e04bcf6de7a0fceb8ea0893238919c24cef137d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 10 15:01:45 2003 +0000
+
+ GL_EXT_texture_rectangle, directory tree info
+
+commit 66a83c9e175c948d1ed8dd860fba42b4cb42ee34
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 10 14:56:40 2003 +0000
+
+ fix GL_CURRENT_VERTEX_ATTRIB_ARB queries
+
+commit 9a2121cfb66ac715273dd1fcc5eadc17ee05a73e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 10 14:54:37 2003 +0000
+
+ update for new directory tree
+
+commit cd0fbde699cd61cb037d887f601fe33d97e69ce6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 10 14:48:47 2003 +0000
+
+ add missing vertex attribs in _tnl_copy_to_current()
+
+commit 829703316dc3c84cf6f0dd5a49dfcd3e4fedaea5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 10 14:47:46 2003 +0000
+
+ fixed secondary color typo
+
+commit b953bebc250b36c9a01dbeafe420f808aa3522d6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 10 14:46:24 2003 +0000
+
+ updated old-style makefiles for new tree
+
+commit 9ac51f57efe07ed43a1e4224a7f5daddec401b36
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Thu Jun 5 00:50:18 2003 +0000
+
+ Removed all RCS / CVS tags (Id, Header, Date, etc.) from everything.
+
+commit b9e1411660d80612ec9706c443eacb0f46caefad
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 4 17:18:09 2003 +0000
+
+ comments regarding window sizing
+
+commit 3c28d1e2a9d758583efd8e51c42992987e6be982
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 4 12:59:01 2003 +0000
+
+ Added GL_EXT_texture_rectangle (identical to GL_NV_texture_rectangle)
+
+commit 09dbc1e5aea9d584d7d031bcf0c945aa16cef2a1
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Mon Jun 2 20:37:16 2003 +0000
+
+ Removed fields from 'struct gl_extensions' for extensions that don't
+ need them. Added "always on" extensions for extensions that are part
+ of core versions 1.1 and 1.2.
+
+commit a189e4c1e13f0c1fbbbe4b2346fa96cce9a4853e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 2 16:46:48 2003 +0000
+
+ s/DrawBuffer/ReadBuffer/ in _mesa_ResizeBuffersMESA (PHil Brown)
+
+commit c9ab99ced1fbfb230b3ccead51eb6c544a39e4fe
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 2 15:42:23 2003 +0000
+
+ updated rule for make OSMesa lib (Brad King)
+
+commit 45e9a5c46b8e18e7815ce69d0c2da9200b323f0f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 2 15:21:16 2003 +0000
+
+ Added GL_LIB_NAME / GLU_LIB_NAME so the default name for the libraries
+ can be overridden (Brad King).
+
+commit 698e67d40996b48720453337826c7da9972437ab
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jun 1 16:28:46 2003 +0000
+
+ remove test file
+
+commit 68155873bd10b0ee6ab7fed31c4542297a819790
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jun 1 16:28:00 2003 +0000
+
+ updated release steps
+
+commit c0e1189bad89371f5117f11590dc22298c399706
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jun 1 16:27:37 2003 +0000
+
+ latest updates for 5.1
+
+commit 3ba8a49c810d5976c705160e8c96ae682ab85250
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jun 1 16:25:02 2003 +0000
+
+ Remove a bunch of really old/obsolete configs.
+ Use the new mklib script.
+
+commit 8c20c7ba0c786c816d9a5c826da318beb2d2c0b7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jun 1 16:21:45 2003 +0000
+
+ Replace most mklib.* scripts with a new uber-mklib script with more features.
+
+commit f1163a37695ad07d9d4a5cdd1a9104932c157535
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jun 1 15:39:58 2003 +0000
+
+ setup default programs for GL_ARB_vertex/fragment_program
+
+commit 236d2dbc7289cd9106729e619714a509bc402fd7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 30 22:31:41 2003 +0000
+
+ minor error check tweaks for NV_light_max_exponent
+
+commit 80f669b9b0874d7a11fd843be9c986c08eae288e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 30 22:30:31 2003 +0000
+
+ added GL_NV_light_max_exponent
+
+commit 882caa18c6c551cbe60f205795b00a6a5361a986
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri May 30 21:37:14 2003 +0000
+
+ Added support for NV_light_max_exponent.
+
+commit b2a4aecd806fc7b492534e329d029e002ff07d79
+Author: Ian Romanick <idr@us.ibm.com>
+Date: Fri May 30 18:41:38 2003 +0000
+
+ Removed an accidental addition in the previous commit.
+
+commit f8f830d59d2ef1fdff79510c846215b571069d43
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 30 15:42:22 2003 +0000
+
+ minor clean-ups
+
+commit 62dc802818f865484b53b28548b6b51e67fdff09
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 30 15:38:26 2003 +0000
+
+ misc changes from testing
+
+commit 80b86654384860b8e8cabca08a860cfc61aa4d14
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 30 15:37:47 2003 +0000
+
+ include readtex.h
+
+commit f98921d344fdcab1ae603c2b2723b9cf631adcc9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 30 15:36:04 2003 +0000
+
+ display both YCbCr and RGB image (Ian)
+
+commit 785774deb261512b69789682078c31c35f508baa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 30 15:30:16 2003 +0000
+
+ applied Ian's misc patches
+
+commit dc3e0f0f5da32be3d5350438a2e8bd19c1ad14bd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 28 19:20:13 2003 +0000
+
+ s/_T_VBXFORM_H/_T_IMM_EXEC_H/
+
+commit d18c08fe890e100269be8d5cccbaf7cd7bf9916d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 28 15:30:53 2003 +0000
+
+ silence some warnings (Evgeny Kotsuba)
+
+commit 0b52018df2a64a159f697756fbda47bcd1de3ef4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 28 14:30:45 2003 +0000
+
+ added MESA_VERSION() macro, etc (Holger Waechtler)
+
+commit e8e93e9cc641e31c9c0e6a2bb1ac3e44d0bdec5a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 28 14:26:03 2003 +0000
+
+ glBindProgramARB dispatches to glBindProgramNV (remove _mesa_BindProgramARB).
+ Removed VertexAttrib*ARB() stubs.
+
+commit 2c5f93784ea1ba28ae15181917ff3e47656a93ad
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 27 21:24:40 2003 +0000
+
+ Version defines. include "version.h" in a few files.
+
+commit 8750668ad71d45d97a0b07a2c23e68322aac4b10
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 27 15:20:43 2003 +0000
+
+ check buffer->UseSoftware*Buffer in _mesa_free_framebuffer_data()
+
+commit a3793214e941607b31faac33e73a23387ed2163e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 26 14:37:54 2003 +0000
+
+ a couple casts (Evgeny Kotsuba)
+
+commit 27358a24a0113a62492923abe35e8660ed7335ef
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue May 20 09:54:58 2003 +0000
+
+ move LoadYUVImage into readtex.c
+
+commit eea72ff722975d91bc2293a403bb43d69e5858d0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue May 20 08:50:02 2003 +0000
+
+ Test programs for ycbcr extension
+
+commit 0421ce4b46a3bfe43d06e31cfc6cc62060004657
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 15 14:04:27 2003 +0000
+
+ autoconf/automake updated for newer versions (bug 734362)
+
+commit 12f8fb60844be2e074b878b8d6f55ef724b65ac3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 15 13:38:24 2003 +0000
+
+ added a couple casts
+
+commit 06a03bfb2ada23cfbc0f86055842d3d941918299
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat May 10 04:48:16 2003 +0000
+
+ updated with new glext.h stuff
+
+commit 3ef8ed72ca1b7dfebad8bc9709f74762127c0e0c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat May 10 04:39:05 2003 +0000
+
+ version 18 of glext.h
+
+commit b93df0af47f107f0abc06bbd6806f7642cd25e7c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat May 10 04:38:24 2003 +0000
+
+ remove temporary stuff
+
+commit e591ad7350c4386f2d61e12f19724ec3e4ce5e95
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat May 10 04:37:47 2003 +0000
+
+ added GL_ARB_vertex_program functions
+
+commit 0295088118674c87f49b8061c6391be6fe206b3d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat May 10 04:37:24 2003 +0000
+
+ initialize condition codes before running program
+
+commit 3fdb8fbfc5eb82822ac8b5f3e2376249ae7c73ca
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat May 10 04:36:11 2003 +0000
+
+ fix scalar literal parsing glitches
+
+commit ea31ca47200d96b7cc687989ee7f9953819fddbb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat May 10 04:35:09 2003 +0000
+
+ fix MapBufferARB() return type
+
+commit baa42c3364b58a7eaf08856c7d213d9ae0e3b021
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat May 10 04:34:15 2003 +0000
+
+ clamp fog color
+
+commit a96d596be9349d83eda992235eedd26746fa46ee
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 8 16:00:45 2003 +0000
+
+ added comment about MAX_WIDTH and textures
+
+commit 6636a6141800fd367689e9d3bcdd61c298df64ff
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 8 15:47:00 2003 +0000
+
+ fixed delete statement (bug 721765)
+
+commit 7357f20b1ee3ab0c58c7a20f44bf83fdfe0e256e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 2 15:05:02 2003 +0000
+
+ minor updates
+
+commit c784d87b0f07590a2bb87307ca6a264b2ec99b31
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 2 15:04:20 2003 +0000
+
+ updates from Ian
+
+commit e53aa5022f5d70abe81d5b97dccebcb389cf4647
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 1 22:45:57 2003 +0000
+
+ more docs (Klaus Niederkruger)
+
+commit 92f9785c727ea10ff5f8dc9770f0e8f388fcea70
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 1 22:44:02 2003 +0000
+
+ Use ctx->Const.MaxTextureImageUnits and MaxTextureCoordUnits in more places.
+ Misc vertex array / vertex program changes.
+
+commit 09b00c5ded8e6211c9c79be600bb8c8ecad0d8fc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 1 19:12:23 2003 +0000
+
+ Ian's buffer swap extensions
+
+commit 1a8d64e6e9c6f59eb40c5a73690f3ef9d5c2b327
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 30 15:20:37 2003 +0000
+
+ change global_grid_u0/u1 to REAL (Eric Cazeaux)
+
+commit 5329d0ca7ab830e8bf71ebe63988e098aa70cffd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 29 22:20:36 2003 +0000
+
+ updated for glIsBufferARB
+
+commit f34de59b3eb631f98db907aea04b055c87f77900
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 29 13:16:37 2003 +0000
+
+ don't try to clear non-existant buffers
+
+commit 370d7ad007fc9a083c958fe12c1fa834aefb3c61
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Tue Apr 29 07:15:48 2003 +0000
+
+ Committing in .
+
+ Updating OpenVMS compile support
+
+ Modified Files:
+ Mesa/src/descrip.mms Mesa/xdemos/glxgears.c
+ ----------------------------------------------------------------------
+
+commit 9e3a7cd6dd02b12f880d9e9e220bfdadc09417e1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 28 15:24:17 2003 +0000
+
+ LOG2() clean-up (Klaus Niederkrueger)
+
+commit c8f2f456f94232671511745e1b236339af6b44ce
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 28 14:56:24 2003 +0000
+
+ new comments (Klaus Niederkruger)
+
+commit c6506004d4924740b3b6265a688a9c103106af94
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 28 14:42:33 2003 +0000
+
+ fix glIsBufferARB() prototype
+
+commit 3e50d140f505cc579267de6534d2a9ad68a5efcf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 23 20:23:17 2003 +0000
+
+ updated with newest functions
+
+commit e78f8237241d241989c976913268e152015b49b1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 23 17:42:07 2003 +0000
+
+ fix function prototypes for manging (Bill Hoffman)
+
+commit a83b4b1f2ce4fbff173a1ba5d0da9231b6ae3be2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 21 15:05:20 2003 +0000
+
+ remove unneeded fragment program test
+
+commit 464bc3b6747108dd32e4a9fcfe6549a9d4a52a95
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 21 15:04:30 2003 +0000
+
+ remove unneeded unsigned int / zero comparisons
+
+commit 7bb832f9f7f417616c949e7152b955572b9d0212
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 21 15:03:46 2003 +0000
+
+ fix DDX, DDY instructions (probably not finished though)
+
+commit e5b244ff7f984805c1bcc020342f1300f2639c71
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 21 15:02:17 2003 +0000
+
+ Implemented GL_EXT_depth_bounds_test.
+
+commit 2780bb824f542c47d5412a3909eaa84ed3f13451
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 21 14:57:07 2003 +0000
+
+ added GL_EXT_depth_bounds_test
+
+commit b0b9b798ac0620aeba15143f84c1d1ef2ddd44db
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 21 14:53:40 2003 +0000
+
+ alias ARB/NV program functions where possible
+
+commit e4eae45512d11f29d821ec95206bb08626bd3b19
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 21 14:52:32 2003 +0000
+
+ silence warning
+
+commit 8eb2fe0e15c70dce08b7882b67df978552f01f7e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 21 14:51:49 2003 +0000
+
+ added a cast
+
+commit d93b68f17aa4bc980fcda57e8efe29a831a44cdc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 21 14:51:16 2003 +0000
+
+ silence warnings
+
+commit ff389b00a5b76e93308163fcb858913d8594af80
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 21 14:50:49 2003 +0000
+
+ casts
+
+commit 95210bc8064113e9810c8ea46e2afbb7d5f80fcb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 21 14:50:12 2003 +0000
+
+ fix minor warnings
+
+commit e5db876329126ff799999223fcd0813c3e5ed95c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 21 14:06:01 2003 +0000
+
+ use INDEX8_SPAN_ARGS
+
+commit a0ef56fd15550b1cb9443daaa78a2962cf7997c8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 21 14:04:27 2003 +0000
+
+ fix .c / .h typo
+
+commit edd677454dc38a590bd6fc1cd3e2759d2a4d55e3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 18 18:02:43 2003 +0000
+
+ minor re-org of program matrix, program local parameter limits
+
+commit 9b14e0fbfd96d02574f8f5910ebc8a52c62a24aa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 18 01:56:44 2003 +0000
+
+ more GL_ARB_fragment_program tokens
+
+commit 77eec61e21cf1ff4ef3c95fcc42700ca4a0a2c4f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 18 01:56:11 2003 +0000
+
+ more GL_ARB_vertex/fragment_program bits
+
+commit 5e92a7c7457f53fed576b65105a7a996a6044f55
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 17 23:14:30 2003 +0000
+
+ fix some glBindProgramNV/ARB details
+
+commit 3ca3ab0cd1856c66ab488b447f9e3def51fc541f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 17 21:43:55 2003 +0000
+
+ clean up usage of extension function pointers
+
+commit 24339179a48599510f6b4d24d2abc62c26ddda10
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 17 19:20:54 2003 +0000
+
+ Demo of using GL_ARB_vertex/fragment_program to do per-pixel lighting.
+
+commit da74a60e4cf49a7bb59b878843a014ea2676b766
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 17 02:44:13 2003 +0000
+
+ added LoadProgramNV and RequestResidentProgramsNV
+
+commit 5960105ca35d5f51ef3881d201faf2cda99ead0c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 17 02:33:08 2003 +0000
+
+ Added arbprogram.c to Makefiles.
+ Added display list support for GL_NV_fragment_program.
+ Assorted clean-ups.
+
+commit af0c2470210632abf365b149bc81274aa7b04258
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 17 01:48:56 2003 +0000
+
+ temporary GL_ARB_fragment_program tokens
+
+commit 451f31093e950e2c76e8d7dee3cb097049a906b5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 17 01:48:19 2003 +0000
+
+ checkpoint: more infrastructure for GL_ARB_vertex/fragment_program.
+
+commit 2db8041ffed9db2e68c55f18eedeaa95c23ac761
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 14 17:08:53 2003 +0000
+
+ fix depth texture tex env bug (#719903)
+
+commit d0492cf1377897c8113a109aa936ee7a7084b9c8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 11 01:20:06 2003 +0000
+
+ Some groundwork for GL_ARB_vertex/fragment_program.
+
+commit 6cfaff16334981a247694b2ca30fffc398a330d0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 10 19:57:19 2003 +0000
+
+ remove a const
+
+commit bf7128a682fad669aa215d7fadd9b50a6de49a32
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Apr 10 10:03:30 2003 +0000
+
+ drawarrayrange fix
+
+commit ebab631c9c4c50fb2510ecc4f8ce3d7148355d92
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 9 22:50:52 2003 +0000
+
+ fix typo
+
+commit 0b77a1c6350943af4a65cffa182bf3ab0d42ef2e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 9 21:50:08 2003 +0000
+
+ fix typo
+
+commit ad80233d5de6f1e4527ffe3f1ed552c0da095d7e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 9 21:47:19 2003 +0000
+
+ add support for swap and sync extensions (Ian Romanick)
+
+commit 4c928471c182761b6649415ff0614715f0247770
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 9 02:32:56 2003 +0000
+
+ Added function pointer typedefs for GL_NV_fragment_program
+
+commit ef393cbb54f49e229df623ab7c91b4dbc78b6df7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 9 02:32:12 2003 +0000
+
+ Added GL_ARB_vertex_buffer_object tokens
+
+commit aac732546a235ca52b3236e3bceb493d77ba7326
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 9 02:31:35 2003 +0000
+
+ basic work on GL_ARB_vertex_buffer_object
+
+commit c708ac2afe2a03ed2323f3e078895fc0843c8976
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 8 18:02:27 2003 +0000
+
+ fix string compare bug
+
+commit 38c619bf15609037e89d9b6377fe1d033d707ff1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 8 13:33:41 2003 +0000
+
+ add missing return in raster_pos4f()
+
+commit dcf3d8d61dbc22353560a66af8d72e620e94b147
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 8 02:57:36 2003 +0000
+
+ fix some problems parsing scalar source arguments
+
+commit 36a0a3252e1e20df69b53f70ba93bc74c4a4bf0e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 8 02:27:16 2003 +0000
+
+ Added ctx->Texture._EnabledCoordUnits bitfield.
+ Fixed some vertex array / vertex program glitches with glDrawElements.
+ Fixed some fragment program runtime bugs.
+ Non-trivial Cg programs are running now.
+
+commit 0cebd5822a39ad3b3d7621f8e59efab329bfb5b9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 8 02:22:41 2003 +0000
+
+ added _mesa_realloc()
+
+commit b8ca0172e7562f2ed92ef99903980aae2e806a94
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 7 23:12:00 2003 +0000
+
+ scalar source reg can be a scalar or vector literal
+
+commit 071a4ddd92229b102b0b67410303505681114cd7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 7 23:07:50 2003 +0000
+
+ initialize attribute vectors to 4 components
+
+commit 4cef881e1f7691b4d0b3704f868713b22fb456ae
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 7 23:05:50 2003 +0000
+
+ Demo of per-pixel lighting with a fragment program.
+
+commit 14995b3d3b8e83bb53fa026d08d76d13e5989bc1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 7 14:58:58 2003 +0000
+
+ minor parser fixes, program print-out fixes
+
+commit 670c8780f79675a9771e6f21dc96c3efba7c5e55
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 7 14:57:27 2003 +0000
+
+ fix typo
+
+commit 0e7f2952fe6cb3fb61cd734b184c39b42fe104af
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 7 14:54:01 2003 +0000
+
+ fix color array mixup
+
+commit e3dd0a4e7fefb3d095f64f5bdf6464d689b019a0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Apr 7 14:53:28 2003 +0000
+
+ Don't unset FLUSH_STORED_VERTICES in _tnl_execute_cassette as this may
+ break driver callbacks.
+
+commit 69ffa43656d97595e620718e97b8b5526c40f022
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 7 14:45:52 2003 +0000
+
+ Added gcc-sl target and shared lib shell script (Philip Brown)
+
+commit 33ce405e8678f7f939b1aba21487a5f42a17bda2
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Apr 5 07:29:23 2003 +0000
+
+ Pass 4th element correctly in loopback_VertexAttrib4svNV
+
+commit c0eebd723f21228b31c4e936c85ae5ab3d621b67
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Apr 5 00:38:40 2003 +0000
+
+ test glProgramNamedParameter4fNV()
+
+commit ce7f006e66533da9f6db61e368273f1ffcc12ace
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Apr 5 00:38:09 2003 +0000
+
+ fragment program named constants and named program parameters basically work now
+
+commit 738318bb75dea8dac4465f53850987f6062a732d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 4 17:17:50 2003 +0000
+
+ Rework gl[Copy]Tex[Sub]Image() error checking so that all level, width, height
+ and depth checks are done via ctx->Driver.TestProxyTexImage(). This allows
+ more flexiblity, like supporting larger, non-cubic 3D textures.
+
+commit b0e90cc839c6b7fcd3bd76759862eb3bc423e50a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 3 21:01:33 2003 +0000
+
+ more memory-related fixes
+
+commit 78233887446a8f5fe66d674caf1b7ee838647ac1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 3 20:57:49 2003 +0000
+
+ some texture compression odds & ends
+
+commit bb5ebf17248d1d389525d4fcd9e238fb13b695bf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 3 20:34:38 2003 +0000
+
+ simplify CEILF, FLOORF, FABSF stuff
+
+commit 0983163fde91f1026146903155fd414725a79879
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 2 19:34:36 2003 +0000
+
+ fix double-memory free in XMesaDestroyContext
+
+commit 27f4484fb73ac7bf4f790ca2d3efd50b6bea25c3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 1 22:23:11 2003 +0000
+
+ added GL_PROXY_TEXTURE_RECTANGLE_NV to is_proxy_target()
+
+commit dd26d02889d038aa1cdb88a187f00568c82b3e32
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 1 22:20:42 2003 +0000
+
+ clean-up current state initialization
+
+commit 12fca20e1f2fe38a6ccedae8ab097b71d8a4ed8e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 1 19:07:35 2003 +0000
+
+ added GL_FRAGMENT_PROGRAM_NV (Alan Matsuoka)
+
+commit b852f048ee01b8ccbc8834139d46ab2bd9cb1f1b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 1 18:57:36 2003 +0000
+
+ minor initialization fixes
+
+commit 8d7a2504c36a855949d57a9fe3f972abb88e267a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 1 18:56:30 2003 +0000
+
+ improve some error messages
+
+commit 4b28b5a885078dc4c8274a26c263c6586166e2e3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 1 18:27:07 2003 +0000
+
+ GL_SECONDARY_COLOR_ARRAY_SIZE_EXT query was returning stride
+
+commit 97bc3d7e78926ada206511dae2381468c608865c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 1 18:22:23 2003 +0000
+
+ GL_FOG_COORDINATE_SOURCE_EXT query was missing
+
+commit 525f04389f7f73ae2651f97590331d216b8ac10d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 1 18:16:33 2003 +0000
+
+ fix GL_LIST_MODE, GL_CURRENT_MATRIX_STACK_DEPTH_NV and GL_CURRENT_MATRIX_NV queries
+
+commit f0805670a1b8e624c6f9a468a14c4bfbca446d1c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 1 18:10:10 2003 +0000
+
+ fix default compare mode
+
+commit 6fafc7ad19a8b7400e57a86b588766b6f3811a05
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 1 17:28:55 2003 +0000
+
+ s/gl_ctx/mesa/ and misc clean-ups
+
+commit 1e24d3318df57b36e3b68695ff64b4b8bd822c9e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 1 17:28:10 2003 +0000
+
+ use structure containment to derive xmesa_context from GLcontext
+
+commit a3f137094cd965d27e1b088499dd609b81a91906
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 1 16:41:50 2003 +0000
+
+ New device driver hooks for texture object and texture image creation to
+ allow drivers to implement C++-like inheritance via containment.
+ Lots of assorted clean-ups related to texture objects.
+
+commit 926c34f89453c9b0455910bbdbe20b52d909d962
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 1 16:39:25 2003 +0000
+
+ comments
+
+commit e9f4ee87d84eefd3dadc3801fc4027f6b28204e6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 1 16:17:03 2003 +0000
+
+ _mesa_realloc() fix
+
+commit 8412c604518893d66b78bf78ffda2c02f861d5a9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 1 15:33:08 2003 +0000
+
+ added gnumake/gmake info
+
+commit b8b50cc5c45faaed6a89c889a004de60112cb043
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Tue Apr 1 13:43:41 2003 +0000
+
+ Committing in .
+
+ added bufferobj.obj
+
+ Modified Files:
+ Mesa/src/descrip.mms
+ ----------------------------------------------------------------------
+
+commit dc27b33fb46b6419e2f3075af9733077909387b4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 31 23:47:31 2003 +0000
+
+ Remove dead code.
+ Replace blocks of per-attribute code with for-loops.
+ New comments/docs.
+
+commit d78c57e8b545685e3e239b9259821dda229da5f8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 31 23:08:59 2003 +0000
+
+ clean-ups, const qualifiers
+
+commit 6045b0501d8301a42a76962a1e78fd73bf3027b9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 31 23:06:50 2003 +0000
+
+ minor clean-ups, const qualifiers
+
+commit 05b26510668fc1e5039c6c9088247f9b3c508cb7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 31 18:19:56 2003 +0000
+
+ reduce memory needed for vertex attributes (allocate on demand)
+
+commit 55b0ff2193ab772249442712381908f6503508e5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 31 16:51:38 2003 +0000
+
+ use gluSphere instead of glutSphere so we get texcoords
+
+commit c765d446507b25f3531be3a116d1b5de598bb9ad
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 31 16:48:35 2003 +0000
+
+ fixed bad texgen Q problem
+
+commit a376e339a5f7cb15de6c74556b1e1b219d84374a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Mar 30 16:54:36 2003 +0000
+
+ minor updates
+
+commit 954a9b88854f47452fef504b774789d90f6fab0a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Mar 30 16:45:02 2003 +0000
+
+ added MD5 checksums
+
+commit bc6dfeb8650c6e5bfecdfc8d8dfc35ba8910b769
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Mar 30 16:20:23 2003 +0000
+
+ added 5.0.1 info
+
+commit 871a881899ddcb96014b356c2f86714dd6df3f2b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Mar 30 16:18:30 2003 +0000
+
+ minor change
+
+commit 7f223f2060e0e1eb1ce3095c9e9c4975d97596e2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Mar 30 16:17:54 2003 +0000
+
+ 5.0.1 updates
+
+commit 408722351d1ad7dab1fff017ba2403642f231df5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Mar 30 15:49:01 2003 +0000
+
+ enable 1.4 extensions
+
+commit 56fe21b3e7eb84a9bc9afaa69e7ce60381b9f004
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 29 17:09:42 2003 +0000
+
+ remove debug printf
+
+commit 1c455e4843e2dabc5e2fa2ce60c2d605643bf5df
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 29 17:07:03 2003 +0000
+
+ remove duplicate line
+
+commit 6061df09a45c42745253965df012ddf76910ea33
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 29 17:01:00 2003 +0000
+
+ Basic infrastructure for GL_ARB_vertex_buffer_object.
+
+commit c13a05547de406985b3bf3f5e4473eff050b5ac7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 29 16:42:57 2003 +0000
+
+ print GL_MULTISAMPLE_ARB
+
+commit c31057021593e236240b388490cf791135111f10
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 29 16:40:23 2003 +0000
+
+ fix texgen msg strings
+
+commit 9c27050e277e571c5ad9737ea2bd4fb828f7f7ef
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 29 16:39:52 2003 +0000
+
+ minor updates
+
+commit 997d468afeca6791d21ce703af36d8604e72a0c1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 29 16:39:21 2003 +0000
+
+ added GL_ARB_vertex_buffer_object functions
+
+commit 88e3ed2d816cd619b26a20755262bae85e05175e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 29 16:38:37 2003 +0000
+
+ disable normal xform code for now
+
+commit 29af3b2be65de1f0768fa51637835d115c00772c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 29 16:38:08 2003 +0000
+
+ added _mesa_print_nv_vertex_instruction()
+
+commit 52334967edb3bf79c3eecbd599dcef667ba63239
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 29 16:37:07 2003 +0000
+
+ proper dispatch for NV_fragment_program functions
+
+commit c6d030a5972c5b1b2902df76a125febe10d8586b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 29 16:36:59 2003 +0000
+
+ GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_NV_fragment_program entrypoints
+
+commit 861a60fd406aed96d64395646eba1fbebb1ff840
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 29 16:35:09 2003 +0000
+
+ added entries for GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_NV_fragment_program
+
+commit 183aea64d3d45bfed30f07079a0c68fa7165bc0b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 29 16:14:01 2003 +0000
+
+ DOS updates from Daniel Borca
+
+commit a8d4963fbcfe370a571671a250a1ae8dd894a94a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 29 16:04:31 2003 +0000
+
+ fix EXP instruction and ARL-relative addressing
+
+commit 8856cece54df5183853aaebc1af8c60436d699c0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 28 01:39:04 2003 +0000
+
+ minor clean-ups, comments, etc
+
+commit 98fc9b36b641ab323da9826d2ea430b1441e9d96
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 27 17:51:33 2003 +0000
+
+ fixed ColorMask problem for front-buffer rendering
+
+commit a5607f2a04e6a85bec6bc9f016313713289fc8c6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 25 02:29:46 2003 +0000
+
+ remove some unfinished code accidently checked in
+
+commit a46bd6f96a78525dc98bcb2176494e6d6dce5dce
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 25 02:26:28 2003 +0000
+
+ histogram code move, remove s_histogram.[ch] from Makefiles
+
+commit 45bc887da226403f2c41077e40ca38b6f60f1359
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 25 02:23:44 2003 +0000
+
+ replace _mesa_ prefix with _swrast_, remove s_histogram.[ch]
+
+commit af1bfb7281eb8175adb7bb9774aeafa020e3831b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 25 00:00:29 2003 +0000
+
+ store correct EXP result
+
+commit 6d6efd605f662c1f07e183e58416db804f0a058f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 24 23:41:10 2003 +0000
+
+ disable prototyped GLX_ARB_render_texture extension
+
+commit ee2b34215fc91b1c8b36b0b998df4ec9d9526fb8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 24 20:00:09 2003 +0000
+
+ add 2, not 4, in _mesa_get_compressed_formats()
+
+commit bb21846b2f3cd6bcb0e9580ae7d71dc66b0e17b1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 22 18:35:53 2003 +0000
+
+ subset spec (was subset.html in embedded-1-branch)
+
+commit d40f9fa0ec4699627aad37f0c06409ead5ee002a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 21 13:18:33 2003 +0000
+
+ fix GL_COLOR_MATERIAL bug
+
+commit efe5671eefe62c274bf90f7fae3f16cd7d099c06
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 19 19:15:28 2003 +0000
+
+ remove/obfuscate all remaining email addresses
+
+commit b0f347872d20d7a3540522de01e1770a8951bf2e
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Wed Mar 19 07:15:35 2003 +0000
+
+ Committing in .
+
+ Added some type casts
+
+ Modified Files:
+ Mesa/src/swrast/s_nvfragprog.c
+ ----------------------------------------------------------------------
+
+commit 451566305287161d51eb5643a5fd398809ac03c1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 19 05:34:24 2003 +0000
+
+ Rewrite of fragment program named parameters, constants, etc. Not done.
+
+commit 762c115242d8f410b7a54b3bc6e3d677755a9c1e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 19 05:33:09 2003 +0000
+
+ added comments
+
+commit aaa46798f1d0b009e35fcd88504f6f1e1f69672f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Mar 17 21:38:47 2003 +0000
+
+ Fix typo
+
+commit c6dcb0fe89aed5ca3659c9bd0206bbd6ab352e44
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 17 15:13:43 2003 +0000
+
+ move #include glheader.h before extern C namespace
+
+commit 54e92e8420a028f07b0971ee8aa93be9b4214579
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Mar 16 22:02:36 2003 +0000
+
+ Store partial derivative values in sw_span structure.
+ Implemented DDX and DDY fragment program instructions (whew!)
+ Not fully tested yet.
+
+commit a79b55ae65a4a85a2aeaa2a5b1cb757c6e88849d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Mar 16 20:10:01 2003 +0000
+
+ use TEX_UNIT_LOOP macro to coalesce some code
+
+commit dec3ed69e21baa1113938132e344761f39320f5f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Mar 16 18:42:13 2003 +0000
+
+ clean-ups, re-org in preparation for fragment program work
+
+commit b0eee798689ddc2458ccd507230608d8f7a721c1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Mar 16 16:43:04 2003 +0000
+
+ added -lstc++ info, convert more plain text to html
+
+commit 350353adcd75f94fda63c787c86961716114e0bf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 15 17:33:25 2003 +0000
+
+ Fix up some fragment program texture enable issues.
+ Implemented TXD instruction.
+
+commit add99d01ee7bf22e87c2c13b3476f6d70d0b3a7d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 14 15:43:46 2003 +0000
+
+ added fptest1, fptexture, texrect, etc
+
+commit 5b8ed5150141d714354f26051c8c052a446f2cbd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 14 15:41:51 2003 +0000
+
+ simple NV_fragment_program texture test
+
+commit f386f73f9e4054a750d453fa2f5449c2f1d2e242
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 14 15:40:59 2003 +0000
+
+ Clean-up of parser error handling/reporting.
+ Basic fragment program texture instructions are limping along.
+
+commit a2da1155c285fde2a5e5824d50ee8a57c6e982f5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 14 15:38:04 2003 +0000
+
+ include macros.h
+
+commit 57ad382b8d7717e719c130dcf763597228030493
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 11 15:42:48 2003 +0000
+
+ DJGPP tweaks
+
+commit 971e4d6160dda9f1c754e2f8fd018ade22e4f3b6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 11 15:34:42 2003 +0000
+
+ DJGPP tweaks
+
+commit 7954480d65b2edceec79c3feb10989aabac9312c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 10 14:01:05 2003 +0000
+
+ added Klaus Niederkruger, html clean-up
+
+commit 24e81fda4d3c55003294a818de7c0faf7ae1552d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 10 00:26:24 2003 +0000
+
+ fix/improve glAreTextures/ProgramsResident (Jose Fonseca)
+
+commit 08953c318e66bd3cefaa0fbc45975358d76acbd8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 8 19:05:45 2003 +0000
+
+ test GLfloat OSMesa rendering
+
+commit 47d8adde43c71f32d3677bb8ad965f262b6f3150
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 8 18:28:14 2003 +0000
+
+ DOS update (Daniel Borca)
+
+commit f4b21ab6458db9df6ef320cbefab7c05ea80e7ea
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 8 17:45:44 2003 +0000
+
+ minor tweaks
+
+commit 0b27aceae2464db3dd149cf4fd667e353a655c5e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 8 17:38:57 2003 +0000
+
+ Documentation/website overhaul. The website content and doc/ directory
+ are now merged and are one and the same.
+
+commit dc32636cfd38916ad7b2150e10765026dbb64ce5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 7 20:21:51 2003 +0000
+
+ minor updates
+
+commit 009bbccb69fbf9a6872b34c22c32f55d5aa6888a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 7 14:54:22 2003 +0000
+
+ added OS/2 version of IROUND (Evgeny Kotsuba)
+
+commit b5a56e2480c71581a5c1345fa4b6acc2d67f17cf
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Wed Mar 5 15:54:56 2003 +0000
+
+ Committing in .
+
+ Removed src/mmath.c from OpenVMS makefile
+
+ Modified Files:
+ Mesa/src/descrip.mms
+ ----------------------------------------------------------------------
+
+commit cc9464e082b82179e3c4b51ea460212c10b2bf0c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 4 19:16:47 2003 +0000
+
+ fix GLchan=GLfloat problems
+
+commit 612cf792dbcb8b69819751c62f8df5fe47aae9b4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 4 19:16:23 2003 +0000
+
+ silence a GLchan=GLfloat warning with a cast
+
+commit f9b1e5241facc8cf255c258082d5cb5b04783e93
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 4 16:33:53 2003 +0000
+
+ added _mesa_inv_sqrtf() and INV_SQRTF() (Josh Vanderhoof)
+
+commit 386578c5bcc5c6701a6b9692cdc04cfe4064ca06
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 3 21:44:39 2003 +0000
+
+ disable using optimized _mesa_sqrtf() for now
+
+commit 42ad8664f972aaecff80934b5ec7d135d04ea767
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 3 15:37:41 2003 +0000
+
+ better error messages (Leif Delgass)
+
+commit 078418208fc521c3c621961cf76f39e6b6659bdb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 3 03:14:25 2003 +0000
+
+ added glFinish with comment
+
+commit a59ce9041df800936905f64287b82bc2d42d1c8b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Mar 2 19:38:24 2003 +0000
+
+ added extern "C" for C++
+
+commit 0168240c5c9fb7b2f072b16c6937637eb7ba8b9f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Mar 2 19:36:09 2003 +0000
+
+ removed extra _mesa_memset16() prototype
+
+commit 490a8b83152a5c6bf79ef6e9805eabe6230c812e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Mar 2 19:31:15 2003 +0000
+
+ remove some MESA_DEBUG stuff
+
+commit 27558a160a9fe91745728d7626995cd88f8fe339
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 1 01:50:20 2003 +0000
+
+ Killed mmath.[ch]. Moved low-level functions/assembly code into imports.[ch]
+ Moved type conversion and interpolation macros into macros.h
+ Updated all the files that used to include mmath.h
+
+commit 4e50ab5f70582f4e362c4572b22a4c3f87c71a14
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 1 01:50:13 2003 +0000
+
+ document latest source code changes
+
+commit 001a3012ac66c279ba8076a13c59d71d025f2ed9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 28 16:31:32 2003 +0000
+
+ updated version
+
+commit 7acd88c6d9bc62fd04551a3f82d7d35705f02562
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 28 15:09:02 2003 +0000
+
+ minor typo
+
+commit a20ed720032d1a04a5206374020234140dd5ef08
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 28 15:08:49 2003 +0000
+
+ fix GLchan==GLfloat bug in solve_plane_chan (bug 694546)
+
+commit 13c4c046a5ff6130fa27385bb93d2464e0ff0f83
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 27 23:37:53 2003 +0000
+
+ fix a cast (bug 694546)
+
+commit e9218448caa44708fe38646e077ca89058d9d4e1
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Feb 27 19:43:02 2003 +0000
+
+ fix compilation for windows
+
+commit 65098ec9f57b8d3a8883c186965220ff12986873
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Feb 27 19:40:45 2003 +0000
+
+ fix compilation warnings on Windows
+
+commit 72baa3126bb43a7ad0d54206c4def862faa0620e
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Feb 27 19:00:00 2003 +0000
+
+ Fix function definitions for Windows.
+
+commit 6a98bef96189fbacc326ad9e407c1d4423aa8572
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 27 18:15:18 2003 +0000
+
+ fix float color interpolation (bug 694461)
+
+commit 759c8f92e9640128ea476fef6761f14e1319f87d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 26 01:28:15 2003 +0000
+
+ More clean-ups. Parse scalar/vector literals and defined identifier sources.
+
+commit 730c924943e08aa4b53e699c27d910eb933d8933
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 25 20:07:43 2003 +0000
+
+ s/Parse_SwizzleSrcReg/Parse_VectorSrc/. Parse +/- and absolute value syntax.
+
+commit ec35842990c0ef0f59e14f78fbd84a4f79373823
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 25 20:06:35 2003 +0000
+
+ more parser test programs
+
+commit 9f4d812aa70bfd9a4507d52b994e55f25e2d2c3d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 25 19:30:59 2003 +0000
+
+ set MAX_NV_FRAGMENT_PROGRAM_OUTPUTS to 3
+
+commit f9ff2657c4ee289edacd583b0ee943cb7356fc3b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 25 19:30:27 2003 +0000
+
+ assorted clean-ups and improvements
+
+commit 8488c9f3cb5f549f48bfd100706ff6b5aab6eb93
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 25 19:29:43 2003 +0000
+
+ pass the instruction to store_vector4(). implement KIL.
+
+commit 1bdc52f86edd88632a3748693fa01d1664f993c2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 25 19:27:54 2003 +0000
+
+ parser clean-ups and simplifications
+
+commit adb1a2911aaaa2dad09b955b20834eb3e1e9caf7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 25 19:27:06 2003 +0000
+
+ move matrix type enum out of GLmatrix struct
+
+commit a10be7fb8546d985b532cabfca95d56726e79856
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 25 19:26:30 2003 +0000
+
+ fix-up pixel_format enum stuff
+
+commit 4039cb8ca82d59451a6de8902fe35e693cdca3ba
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 25 19:25:52 2003 +0000
+
+ casts to silence g++ warnings
+
+commit b10c434a8f1b760e5a5516729761944d3e84d894
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Feb 23 05:25:16 2003 +0000
+
+ use _mesa_find_line_column()
+
+commit d804fd1f4d84369f3d26878912e6742fba23e028
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Feb 23 05:24:39 2003 +0000
+
+ parser clean-ups (use struct parse_state)
+
+commit 25fea6be0a210199478da48dc7cb65a0f0f8a103
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Feb 23 05:23:53 2003 +0000
+
+ added _mesa_find_line_column()
+
+commit 736d10c2741397ca43ff9c41295a81be1d358d23
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Feb 23 04:23:43 2003 +0000
+
+ silence warning with a cast
+
+commit 25060c1f29f3ad52f9a3b5f6f68df238dbc2de8a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Feb 23 04:12:57 2003 +0000
+
+ test if active texture is really changed in _mesa_ActiveTexture()
+
+commit b8d6607acd3b6d18dab0c7247d5e0fc72e98ceae
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Feb 23 04:10:54 2003 +0000
+
+ Move span stuff from swrast.h to s_context.h (it's private).
+ Implemented remaining fragment program instructions.
+ Initial changes to implement fragment program texture sampling.
+
+commit 4e44d8c4c68c8a4e68b42f1fb2689d348369da86
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Feb 23 04:09:21 2003 +0000
+
+ parser clean-ups
+
+commit 14e6bbccffa0a4d6b9d505212e812521da3677b6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Feb 23 04:07:28 2003 +0000
+
+ added TEXTURE_*_INDEX tokens
+
+commit 3a4231e132bf56d15679c9608b6d5a100d06d9dd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 21 21:00:20 2003 +0000
+
+ use IROUND to convert depth values from float to int (bug 690728)
+
+commit ea20dfa7a8788870959f136bff0c3a20e4c2bb31
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 21 00:17:58 2003 +0000
+
+ fix zoom/clipping bug 689964
+
+commit 19b3b0a0ff6a348b8b033fdb2c5c7790840fda5a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 20 15:53:38 2003 +0000
+
+ updated DOS files for tarball
+
+commit 60f84fcc91c5fb86843c528416399303da113a2f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 20 15:43:52 2003 +0000
+
+ latest DOS updates (Daniel Borca)
+
+commit 449e47f06a46c42fb9895d13f37b599600225e56
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Feb 17 16:35:56 2003 +0000
+
+ Replace some #defines with enums. (Klaus Niederkrueger)
+
+commit 85109b063c24945ec9d8e4878e961666cdf0039b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Feb 17 15:41:05 2003 +0000
+
+ fixed bad zoomed.zStep assignment (bug 687811)
+
+commit 04cbad84e8241ced16f146e36b6959e4c78cfac1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Feb 17 15:38:03 2003 +0000
+
+ Implement parsing of texture instructions and prototype execution.
+ Misc parser clean-ups.
+
+commit 2c1912fe84d110d4c8cccc207827a154c09dd09a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Feb 16 23:07:34 2003 +0000
+
+ more work on DEFINE/DECLARATION statements, symbol tables
+
+commit a89cc0edad31001a4207e180e618004fc43c82eb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 13 16:01:33 2003 +0000
+
+ version bumps, etc
+
+commit f2f5f4f8842b984d58f8a24f0a6c3c150f53baad
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 12 23:56:21 2003 +0000
+
+ replace APIENTRY with GLUTAPIENTRY to be consistant with glut.h
+
+commit 095f59a30347fea0fc804400620a64dbb7a9273c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 12 16:04:07 2003 +0000
+
+ added OS/2 includes
+
+commit e07618fb572b79016c1d054aa68052c2cff5fdf7
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Mon Feb 10 20:31:11 2003 +0000
+
+ cast GLfloat
+
+commit 615991ac660346edfd2309fcc81baa04bfe1bbec
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Mon Feb 10 20:22:08 2003 +0000
+
+ fix fragment_program for Windows
+
+commit a4a5da745b6cf599e199163708c5941c104608f4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Feb 8 22:09:04 2003 +0000
+
+ added rules for making bz2 files and md5 checksums
+
+commit b6b39455e3ed2872081741d5dc94f68ea3ac009a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Feb 8 16:23:44 2003 +0000
+
+ added cvsclean target
+
+commit 92d79350743d6f8d52bf78f866d9ffe69da70d02
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Feb 8 15:56:34 2003 +0000
+
+ replace _mesa_strtof() with _mesa_strtod()
+
+commit b8e3eb95d079aaec8b1c4c5a7e67c612af0848f6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Feb 8 15:43:39 2003 +0000
+
+ disable normal xform code - see bug 673938
+
+commit c8e28650c9cdec9611348cf077d3a3bda4305f59
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 6 13:50:57 2003 +0000
+
+ fix assertion in transfer_teximage() (Laurent Desnogues)
+
+commit 7d0522e16a73dcd356526fa37ead82ad4ad02c31
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 6 13:44:55 2003 +0000
+
+ replace | with & (Laurent Desnogues)
+
+commit 66dce0875ee6ed61fcfca56f23b367e75f1c9584
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 5 15:24:28 2003 +0000
+
+ fix bug in popping texture color table state
+
+commit 6cf845f338fc12022dcc68508bfe2d59117a558f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 4 14:40:56 2003 +0000
+
+ added a comment for _tnl_need_projected_coords()
+
+commit dd5f1f43ac3c6ba531d6631e7f7423c2e6e34c41
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 4 14:40:02 2003 +0000
+
+ Use 'ndc' instead of 'proj' terminology.
+ Added a bunch of const qualifiers.
+
+commit e5ed2f07d8ee7c25c331aed3c125da7763918db4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 4 12:34:02 2003 +0000
+
+ read/write files, not stdio (Daniel Borca)
+
+commit 398c6b7980ac52ba15af78f45e71f49f33ded1aa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 4 02:43:27 2003 +0000
+
+ DOS updates (Daniel Borca)
+
+commit 657a9d64d74d987af0d6c9c847af98cc65d9d76e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 4 02:41:25 2003 +0000
+
+ unneeded (Daniel Borca)
+
+commit 95e67dc99db392cd5f412669297102432afd2dfc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 4 02:35:00 2003 +0000
+
+ use ARB flavor of window_pos extension
+
+commit 3d7071b8a50e9e5aef6013cfe95cd935b8688688
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 4 02:29:21 2003 +0000
+
+ updated with new functions (Bill Hoffman)
+
+commit c0f1a69a96e0101d4e49028333e2984fd650c0c8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 4 02:22:51 2003 +0000
+
+ print debug message when SSE is disabled by user (Klaus Neiderkrueger)
+
+commit 4f615d7fa3a863de803a1ec9731e128d9594337d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 4 02:21:50 2003 +0000
+
+ update version numbers (Klaus Niederkrueger)
+
+commit 839bef921c67c59eb6d8dfbce3e8ef8925df308f
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Jan 30 15:47:06 2003 +0000
+
+ Check only LEFT bits for clearing alpha buffer. (Evgeny Kotsuba)
+
+commit 4c3bb69a94d665b794e38024d7e99ef4722adb72
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 30 14:30:24 2003 +0000
+
+ fix reported 3Dnow bug in _mesa_normal_tab (Felix Kuhling)
+
+commit 5c31f8678b7ad10145c434c00461115449a357e0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 28 22:41:18 2003 +0000
+
+ fix prefetch bug (Felix Kuhling)
+
+commit 35d03a6b3efe33dcf8823e3f2739d0fb335e7971
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 28 15:31:35 2003 +0000
+
+ updated version test
+
+commit 02de45dcedc38b0e4ceacba440bfc11930ec90bb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 28 00:14:32 2003 +0000
+
+ move ltor computation
+
+commit f4418f4d1c6dfe06af760226c5303e653b25b879
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 28 00:10:41 2003 +0000
+
+ some casts (Evgeny Kotsuba)
+
+commit 45b47d079f6a749c15498a6cef78d891f8acb665
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jan 26 14:37:15 2003 +0000
+
+ Make GL_SGI_texture_color_table work per-texture unit.
+ Clean-up and optimize _swrast_texture_table_lookup().
+
+commit 7cac85d00a6110aa92236b2e841faeeb34f684c1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jan 26 14:34:56 2003 +0000
+
+ remove bad assertion, fix minor bug in _mesa_lookup_rgba()
+
+commit 9067c26e5dd2ad367c0c4aa4872e08c7790a30bb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 25 18:57:13 2003 +0000
+
+ optimize compute_coveragef (Evgeny Kotsuba)
+
+commit 9d169138d03c38c5f138ef7e8edfe1b63353dcdc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 25 00:46:46 2003 +0000
+
+ new texture enums (Leif Delgass)
+
+commit b7209b54f71a801af394dc478bd726db944cf25e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 24 21:42:27 2003 +0000
+
+ remove unused vars
+
+commit 388781a5264266e99822ab50b8818cb3ec744a0f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 24 21:41:08 2003 +0000
+
+ silence warning
+
+commit b3f717037dcba37b4ac32c9ec17061781414a8ca
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 24 21:38:19 2003 +0000
+
+ silence some warnings
+
+commit d737ad52720f2c6b10ea02cef1e3c046e52bee15
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 24 15:33:22 2003 +0000
+
+ renamed dither-related preprocessor symbols (bug 536406)
+
+commit a7c52c61e5bb5dc1f1781453b757bdb9904f6a1e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 22 17:58:52 2003 +0000
+
+ push/pop color table state (Eric Plante)
+
+commit a2473160d45f5f33f720a8af31444db227843abb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 22 15:03:09 2003 +0000
+
+ improved solve_plane_chan() (Evgeny Kotsuba)
+
+commit 7ab14f00f02540520d6d36dd576b5e88db909923
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 22 00:42:45 2003 +0000
+
+ glGet(GL_CURRENT_SECONDARY_COLOR) should return 4 values, not 3
+
+commit 041d5d3aee42f06522baec9a12f353d8173fcde6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 21 23:58:29 2003 +0000
+
+ added missing break (Leif Delgass)
+
+commit ccec647f1c4f2d3f765f6cfff99f9d0240ef60c6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 21 21:48:29 2003 +0000
+
+ GL_SGI_texture_color_table
+
+commit 418ac00e7583bf3136816a43b3357e0d0b0c776d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 21 21:47:45 2003 +0000
+
+ GL_SGI_texture_color_table extension (Eric Plante)
+
+commit 068a4812fc1d9e321aa65a91ceb8bc824bedc69a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 21 16:13:55 2003 +0000
+
+ new X86 CPU detection code (Petr Sebor)
+
+commit 943f0c6a41aa66705ffba90a55cf75296b0bde1d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 21 15:49:06 2003 +0000
+
+ GL_ATI_texture_env_combine3 extension
+
+commit 19ad3fee8c721f35ea3467c9ba4c84d1fd9ef10c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 21 15:45:39 2003 +0000
+
+ check for NV_fragment_program for glGetString(GL_PROGRAM_ERROR_STRING_NV)
+
+commit 64b4298181373d64ef2226935f70e9062536de8b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 20 15:21:41 2003 +0000
+
+ fix an assertion
+
+commit a12d12d1190f1baecdedc74a0ff1b62d22615dab
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 20 15:20:27 2003 +0000
+
+ use COPY_CHAN4 macro
+
+commit 8f95d790daee7c012364d689e7d86524340469c1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 20 00:25:17 2003 +0000
+
+ use R/G/B/ACOMP indexes (Evgeny Kotsuba)
+
+commit 2e5c1dce4e6fc27a6968ac91986564200bc5f3bd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 20 00:24:22 2003 +0000
+
+ fix IBM CPP warning (Evgeny Kotsuba)
+
+commit 47ecdf55daa836b13f049fd28d0e2263dff8884f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jan 19 15:27:37 2003 +0000
+
+ add some casts
+
+commit 5e9dd0407719be20b119259a3f4aeae1a0a1c8c1
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu Jan 16 19:10:46 2003 +0000
+
+ fix for framebuffer width and height when window hasn't been realized.
+
+commit 1596bf398cdb4f791467ac89787f1268661af985
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 16 18:57:44 2003 +0000
+
+ another fix for glDrawPixels + clipping
+
+commit 08e1ef79ccaf98f64ee9f76c8a6e5a2405ce85ce
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 16 15:22:13 2003 +0000
+
+ update CurrentStack in glActiveTexture if needed (bug 669080)
+
+commit ed96f466373035c1b7033d57b22a483d7bd48185
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 15 23:46:34 2003 +0000
+
+ fix glDrawPixels hang when clipping
+
+commit b6f2dd2a99b49f1decf7ae258ef799634a679638
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Wed Jan 15 13:37:47 2003 +0000
+
+ Committing in .
+
+ the latest changes were in UNIX and not VMS makefile syntax.
+ changed to VMS syntax.
+
+ Modified Files:
+ Mesa/src/descrip.mms
+ ----------------------------------------------------------------------
+
+commit ec4c882e4766d80bcc8a462af90c71bc3be98791
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Wed Jan 15 00:34:16 2003 +0000
+
+ Fix SourceForge bug 664908. wglDescribePixelFormat should return the
+ number of valid PFD's if the PFD pointer is NULL, without checking
+ the validity of the other parameters.
+
+commit 4fc647c3976e3bc7d0352d49e983f9dc08689a00
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 14 22:50:02 2003 +0000
+
+ simple GL_NV_fragment_program test
+
+commit 890bcc0be3c780ade5d92566d8a79dcffd03281d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 14 04:57:47 2003 +0000
+
+ fragment program execution
+
+commit 610d59981a9f43fefe29b34ef19c184d28e2bef5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 14 04:55:45 2003 +0000
+
+ First batch of code for GL_NV_fragment_program.
+ Re-org of some GL_NV_vertex_program code.
+ Replace MAX_TEXTURE_UNITS with MAX_TEXTURE_COORD_UNITS and MAX_TEXTURE_IMAGE_UNITS.
+
+commit cf01d97dc3e23af067dd9633a2bfa61a6a794ce6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 14 04:50:14 2003 +0000
+
+ GL_NV_fragment_program
+
+commit e58286ccb6e47a91ea5bc06e7dc54a17b674c9c3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 14 04:49:31 2003 +0000
+
+ prototype render-to-texture
+
+commit 3c5bfac63bcbc4028c552fe74d904e6a3416ff36
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 14 04:49:07 2003 +0000
+
+ initial code for render-to-texture
+
+commit e1e446bf775a7f2ea93b4e54c7748ef603500977
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 14 03:05:38 2003 +0000
+
+ remove const from _mesa_strtof()
+
+commit 44257dacc0d5e2032b2d5eb6a6b35127c0f77a76
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 14 03:02:13 2003 +0000
+
+ added _mesa_strtof()
+
+commit 4097ea012a14656f468f3e41480ef4cbec926038
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 14 03:00:54 2003 +0000
+
+ OSMesa16 updates (Eric Plante), added _mesa_strtof()
+
+commit dad19f51c3a68243987fac25aa921e5fb49ea784
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 13 15:47:52 2003 +0000
+
+ fix fog stride bugs (Michel Danzer)
+
+commit ce352387fbff63f652ac0908659da41bdb767909
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 9 23:43:02 2003 +0000
+
+ remove ADD_L altogether
+
+commit e27f5e52543c339e753b23d3e1ec5b0d26c3ce70
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 9 18:03:20 2003 +0000
+
+ s/16/32/ (Josh Vanderhoof)
+
+commit 25e38ce9e544d05910b668d629f16355829ac759
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 9 14:56:25 2003 +0000
+
+ moved ADD_L instruction (Linus Torvalds)
+
+commit 9108b29dbf4351394be0f414d4fd39546c52ceda
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 9 14:36:54 2003 +0000
+
+ added font-related symbols
+
+commit e772bee10b036e8df0a4a0c44a416e02ae7b1545
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 8 21:32:33 2003 +0000
+
+ fix some float/ubyte mistakes (Daniel Borca)
+
+commit ff9ef3baed31b7b6bf1706aedf7f1127fcfb6a1d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 8 16:48:04 2003 +0000
+
+ move t->Image[i]->Format test (bug 659012)
+
+commit 1e091f48f0434e8fb9713fbebc9d74ad68a75e34
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 8 16:42:47 2003 +0000
+
+ fix typo in rotation code (bug 659677)
+
+commit fa268adc9df30c8e3413990ee0e68c139ca0c069
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 8 16:24:05 2003 +0000
+
+ fix glCopyTexSubImage2D error checking (bug 661907)
+
+commit 95249b2d189de093ff4a19af3f27efe4ad3e82cd
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Mon Dec 30 19:24:05 2002 +0000
+
+ Check that ActiveTextureARB doesn't overflow MaxTextureUnits
+
+commit 0070285b32e06a1b33b96af30bdf96d0e1ef3a84
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Dec 19 18:36:01 2002 +0000
+
+ Add missing break statements
+
+commit 518b6f44b43c1ba6b2f054f17f9d3dcd9553b709
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 19 15:18:22 2002 +0000
+
+ added new DOS files
+
+commit 10d2259baa7fff40bbef7fe4ffd8c3f998e63d1b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 19 15:15:24 2002 +0000
+
+ obsolete
+
+commit 2df7cd4f0ceee806abf19c9189b8bb1b2b6918b0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 19 15:14:58 2002 +0000
+
+ DOS updates
+
+commit 03516d9efa76720be2b0b8677573a5f93845c2da
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 18 15:06:36 2002 +0000
+
+ DOS updates from Daniel Borca.
+
+commit c0fc0d4e5f5c246fc2459348a3d114b232d0c545
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 18 15:02:19 2002 +0000
+
+ comment changes
+
+commit 866023da660d25c60ef4646a8273dd42fb23d27d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 18 15:01:26 2002 +0000
+
+ improved error message
+
+commit 7c0e32bbf0e17718875574da69c89c530e1ed123
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 18 14:57:34 2002 +0000
+
+ added RELNOTES-5.1 file
+
+commit 7956321bf1df0368a5cd11700c6c90464fc19001
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 18 14:56:59 2002 +0000
+
+ bug fixes
+
+commit e15fd85727636627e0cc7d4fd2d5367e178e42cc
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Dec 12 13:03:15 2002 +0000
+
+ Add mechanism to destroy mutexes. Important on OS's where mutex initialization
+ allocates memory (like FreeBSD).
+
+commit 76d2a77291eb323c138751c0c605d120efe6cb38
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Dec 10 16:51:28 2002 +0000
+
+ use/test GL_SGIS_generate_mipmaps if available
+
+commit 6f458650bf27fc7a86e90338cf583bd44fc630c2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 6 03:10:59 2002 +0000
+
+ let _mesa_problem() take variable arguments
+
+commit 46b99c9016860af0cf4c4b19329fa82bddecb8ee
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Dec 5 11:49:46 2002 +0000
+
+ Don't crash if End received without a Begin...
+
+commit 6cb5b3475d0d4a40479702e93b3c6a7a4129bb41
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 5 04:51:57 2002 +0000
+
+ added _mesa_print_texunit_state() for debugging
+
+commit 93e0ba8b80338e3526dcf686afef369e39391b45
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 5 04:48:53 2002 +0000
+
+ properly handle very wide images
+
+commit 6e179ad9efe2b9febec6411704b7b08f769c434f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 5 04:46:54 2002 +0000
+
+ clean-ups, comments
+
+commit 91e98cd153da9e17fa1abda2acf9c4bd5ee0976a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 4 14:24:44 2002 +0000
+
+ fix bad _mesa_printf() calls (mesa bug 646753)
+
+commit 66fa33e5767ff4fb1f6e689cebe8963083bf29ad
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Dec 3 03:13:17 2002 +0000
+
+ updated to use ARB extensions
+
+commit 2a7243481a40dee437d4a95ac39b84e550aa98f6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Dec 3 00:05:48 2002 +0000
+
+ added GL_DEPTH_COMPONENT to two assertions
+
+commit e7cf569475a2baed8f372d81657fc3516666d6ac
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Dec 1 13:59:11 2002 +0000
+
+ declar vsnprintf for OS/2 and VMS (Evgeny Kotsuba)
+
+commit d37363d4c042c951cf270dfb88926590658f3262
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 30 17:18:46 2002 +0000
+
+ added const to casts
+
+commit 2569c3c744c20337b485253a3dc722cb8499eb0a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 30 17:04:04 2002 +0000
+
+ remove GLUTAPIENTRY from __glutCloseDownGameMode
+
+commit 0f8daaf6704090fb720a2462710d2342e532308a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 28 15:56:06 2002 +0000
+
+ mask is always non-null in write_rgba_pixels and write_monorgba_pixels
+
+commit 1b94df053d9eabf774d7f5c957f96aeedfe29f51
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 28 15:51:55 2002 +0000
+
+ use polygon offset to avoid multi-pass Z-fighting artifacts
+
+commit 957a0cdb13d2564a17c1fc9f6600d6cd56cb48d7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 26 03:00:04 2002 +0000
+
+ added missing call to _mesa_write_mono_alpha_span()
+
+commit f345c61a59d9d979eb31fe7e9c6a035f71ac2075
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 26 02:58:43 2002 +0000
+
+ fixed bad clear value
+
+commit a87514f58e1ef21bad296e1d75b75627ca1f0568
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 25 20:27:47 2002 +0000
+
+ added missing ctx parameter to _tnl_flush_immediate() calls
+
+commit 3ac375b1749102f434e34197f1a67212c33797b9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 25 20:26:59 2002 +0000
+
+ set default texcoords for glBitmap/glDrawPixels
+
+commit e44bf40402f27171305df8506e6d53c7ba9c596b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Nov 25 13:55:31 2002 +0000
+
+ Flush IM if very small number of verts left -- prevent copy errors
+
+commit 3ac8105e9cbed4c531c38636f83065b2ef3ab002
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 20 21:39:39 2002 +0000
+
+ fixed cube texture auto-mipmap generation bug (641363)
+
+commit 3a212032e76898df9cf32e179cade2fa5eb60732
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 19 15:25:00 2002 +0000
+
+ put FEATURE_NV_vertex_program around vpstate.h include
+
+commit d6113fc20d68f5720740b89c594227d0312bab3e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 18 15:11:49 2002 +0000
+
+ bring in a few AGP-related bits from 4.0.4
+
+commit a8f002f4f494aca72eaddeb47c754ac5a0b46681
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 18 14:45:14 2002 +0000
+
+ enable 1.4 extensions
+
+commit 1fe3b1d96459b59381be449a8dc869421071a430
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 15 15:05:04 2002 +0000
+
+ more clean-ups
+
+commit 69e3c8b323d5bbbc0b9a228f7dd0bffa3c5df6c8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 14 16:14:50 2002 +0000
+
+ bump version to 5.1
+
+commit 22a47c5251ee7b91dc8f7f4f7dbeb3ad5a117b70
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 14 03:48:03 2002 +0000
+
+ Overhaul of line drawing template code. Make better use of sw_span mechanism.
+
+commit 483982458717a285e18ff86b3a69250c7f507948
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 13 22:22:20 2002 +0000
+
+ fix compilation problem (Philippe Houdoin)
+
+commit 1b260aee248c7a84d52685793e95f05593d87149
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Wed Nov 13 20:59:07 2002 +0000
+
+ Add _mesa_enable_1_4_extensions and _mesa_problem
+
+commit 9c799cdc49e9200f5a1c7c7d9787d5729b5b0082
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 13 16:57:44 2002 +0000
+
+ Lots of clean-ups.
+ Use new s_spantemp.h to generate all the span functions.
+ Updated triangle functions (#define NAME, etc)
+
+commit b4497c58439455297440635b297e9c87b7904fdc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 13 16:54:01 2002 +0000
+
+ template code for span functions for flat, memory-based frame buffers
+
+commit cdf2da368d180205df3573697b51b8764048ad6e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 13 16:51:01 2002 +0000
+
+ moved function declaration into the template, define the NAME to specify the function names
+
+commit 36723b6538f1b9b59981cb6402a2dd807debee27
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 13 16:48:47 2002 +0000
+
+ check for NULL span argument
+
+commit e21a79bfdd75b77385fb7e196c2898d96420d478
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 13 16:47:18 2002 +0000
+
+ added comments about NULL mask parameter to span-write functions
+
+commit 4d7a1289ed5e82004ef675ba2fbb084b968d96b7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 13 16:46:19 2002 +0000
+
+ optimized color buffer clear fallback (use mono-color span functions
+
+commit 9d88c7d8f47bd4bed5f7c9ba60e5fdf8a5c98bb2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 13 15:33:50 2002 +0000
+
+ last tweaks for 5.0 release
+
+commit 21709b354b45ad6aa4669d9ef028df9c902d3552
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 13 15:04:29 2002 +0000
+
+ init facing to zero
+
+commit 62d821786c2b80f6b2a663f106a39e69116b02d5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 13 15:03:31 2002 +0000
+
+ include imports.h
+
+commit 101b16cf4172b55e8f2b5b11b609d8ab41680748
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 13 03:08:15 2002 +0000
+
+ minor update
+
+commit 069ad023b5c580686f15fd010c5817c4d164f160
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 13 02:34:53 2002 +0000
+
+ omit dmesadxe.h from tar file
+
+commit 43cb96cbf6c317064d1eeced95cb341703bd836c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 13 02:28:20 2002 +0000
+
+ html index to doc files, doxygen files
+
+commit 1e9d43f56c03dd719a71327197013e4426e8fbe9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 12 19:32:09 2002 +0000
+
+ latest 5.0 bug fixes
+
+commit 7069a7e3d670a27573aa158fe53c9e906f40fe19
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 12 19:27:24 2002 +0000
+
+ apply scale factor before clapping for DOT3
+
+commit d5cbe1e924b4daf3f04de17148d973e88e4d4de8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 12 02:49:14 2002 +0000
+
+ removed -malign-jumps
+
+commit d8c6273cf6e6ad19d875c5e32357517c848a3b1a
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Mon Nov 11 18:56:36 2002 +0000
+
+ Tweaks for hpux. The hpux10 and hpux10-sl targets now build pretty
+ cleanly.
+
+commit 68b1d5c3158f48ef29287aa9568299285f8fea5c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 11 18:42:38 2002 +0000
+
+ compilation fixes
+
+commit f104619b8f6ece7a60aa365c859b03fbc1d74592
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Nov 10 17:07:06 2002 +0000
+
+ changes to vishandle usage to prevent segfault in some circumstances
+
+commit 04cf6f49587e21d23db2a4c3409ddfeb07b1f182
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 9 21:29:08 2002 +0000
+
+ added Z calculation fix
+
+commit ad8cd6111e022c90c93df106c0fde6f64d205816
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 9 21:28:41 2002 +0000
+
+ fix float->int Z calculation in _mesa_span_default_z()
+
+commit e307931314f1145305ac2946f13f5e2f020313ec
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 9 21:26:41 2002 +0000
+
+ fix one-bit error in float->int Z calculation
+
+commit 2dee6187e45ce98b0f3c563a2cbc823bb7340e6c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 9 20:41:13 2002 +0000
+
+ added P4 / 3DNow bug fix
+
+commit b6d90e50ea363f642027cbf31ae1b98a25443c8a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Nov 9 17:43:58 2002 +0000
+
+ fix 3dnow misdetection on new p4's
+
+commit aa80f0548499f693a0fda1bdab5af416f21025e8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 8 18:30:26 2002 +0000
+
+ multisample / polygon smooth test
+
+commit af76b4280caabec60746de522b1dbf9b9da440fc
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Nov 8 18:00:04 2002 +0000
+
+ Add instructions to unzip both zip files into the same directory.
+
+commit 456bc69ac4d1d463450b1ad03aa584082d15aa9d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 8 17:38:13 2002 +0000
+
+ declare tempI as Int, not Real (Jon Perry)
+
+commit 872c9baf000c768cfa44d6c2afabe0aa9ee72b95
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 8 15:51:17 2002 +0000
+
+ fixed active stencil face query
+
+commit 0b0245c16019b0fde3f669260971b5e160fca38f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 8 15:49:31 2002 +0000
+
+ minor clean-up
+
+commit 2c9e7ae38baacc6d5167bca53b4ae1ac23a766d0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 8 15:39:58 2002 +0000
+
+ fixed active stencil face query bug
+
+commit 7a4a6a3c4ca06e90b5e74d5c361173042d76b2bf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 8 15:38:48 2002 +0000
+
+ fixed a few category lines
+
+commit d1efbf04562be8b9fb4417ebde005532736003ea
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 8 15:35:46 2002 +0000
+
+ implemented automatic code gen and individual function validation
+
+commit 6e40539490082d37791bcc2678598718641918af
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 7 16:37:12 2002 +0000
+
+ added a few more missing 1.4 entrypoints
+
+commit 7348df59378a02172917f38c8793aed6d6926c93
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 7 16:34:58 2002 +0000
+
+ added glBlendFuncSeparate, glMultiDrawArrays, glMultiDrawElements
+
+commit c5423510851e2f575d3fe954f3af91007d3796d5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 7 16:24:27 2002 +0000
+
+ added glFogCoord functions
+
+commit 1cfae1adb24f49281533a69f8adacab610ef3de1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 7 16:23:40 2002 +0000
+
+ added 1.4 functions
+
+commit 42ace1c150429d0c26fd550f48779e1a6ecf43a6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 7 16:20:20 2002 +0000
+
+ added missing 1.4 glFogCoord functions
+
+commit cf1c860a344f5845ef8d3bf31b78a2d59d138bd0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 7 14:17:05 2002 +0000
+
+ surround fixedEdges decl by #ifndef NDEBUG / #endif
+
+commit 8bfc9d71aa37fd0a741d88a4334eab793af0364d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 6 16:09:04 2002 +0000
+
+ restored fixedEdges var (for VMS)
+
+commit 36b9b0e9d1479a2ae956d763d891c6b16adada5d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 6 15:18:26 2002 +0000
+
+ latest 5.0 bug fixes
+
+commit f48216ad0f75dc2eecc34ab6978986f564c90334
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 6 15:16:23 2002 +0000
+
+ a few dispatch pointers weren't set (glGenTexturesEXT for example)
+
+commit 0d88328c7e789f691a17ad5e0997fbc9068208d8
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Wed Nov 6 13:39:23 2002 +0000
+
+ Committing in .
+
+ OpenVMS issues
+
+ Modified Files:
+ Mesa/si-glu/mesaglu.opt Mesa/src/mmath.h
+ ----------------------------------------------------------------------
+
+commit 66ab7271016615cf485fb0b71832833d2e0f99a7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 5 21:11:18 2002 +0000
+
+ minor multi-sample clean-ups
+
+commit 25af66a67f6968d29e5a4bed33a41406ff870085
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 5 20:59:16 2002 +0000
+
+ added some printfs to show current polygon mode and cull state
+
+commit aca31cf6de0116b65bf55aadf9ebdff7fea7dfd6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 5 20:58:37 2002 +0000
+
+ fixed glTexParameteriv(GL_TEXTURE_BORDER_COLOR) error
+
+commit c4b40cc40478ae1081426fd9d5cc98b4d68d145f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 5 20:53:42 2002 +0000
+
+ added GLUT and DOS updates
+
+commit aa3029bce1bc5bb59e91373d15035653f75d6818
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 5 20:52:07 2002 +0000
+
+ Updates for DOS driver from Daniel Borca.
+
+commit 8a738db519a3cfb7a0a87a3c97090709bbbd6024
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 4 22:20:28 2002 +0000
+
+ support for GLX_ARB_multisample
+
+commit 4b01eb6e08c7df44728a3e1c578b1cd8595e12eb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 4 20:31:55 2002 +0000
+
+ minor revision to 4.1 features
+
+commit 7d4d41a9843622df5a59e2a9dd3e328f8bb33fc5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 4 20:31:09 2002 +0000
+
+ FX driver fixes
+
+commit 8115e29ddc2ea0407c3680bcc17c845f0db86332
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 4 20:29:04 2002 +0000
+
+ misc driver updates (Daniel Borca)
+
+commit df45a985ed20a425c508a2a38a97f17bedd71eb5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 4 16:25:42 2002 +0000
+
+ glxinfo update
+
+commit d2e39bb0509fac2c4e3424376ea5f71e73066042
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 4 16:24:18 2002 +0000
+
+ add support for GLX_ARB_multisample
+
+commit 969e1ac233f7b1b995bb607642a6ac8e629fbced
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 1 23:49:59 2002 +0000
+
+ fix for HPUX
+
+commit 772752449d53bb01cc2461a428aab876ffbf075f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 1 23:46:53 2002 +0000
+
+ HPUX fixes
+
+commit a85fae9cb0ee1f7f24fbf4d41c62fe771673ef2f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 1 23:45:30 2002 +0000
+
+ silence a bunch of warnings
+
+commit 034e8641bb2e3a8ff9b313719ba3c44282bf07c1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 1 23:35:07 2002 +0000
+
+ renamed abs() function glu_abs()
+
+commit 026b40f41617d0cda62a253143136bb5657829d6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 1 17:42:03 2002 +0000
+
+ fix a typo
+
+commit 561e6723cf6198e25ba8b5446f6a355f3cf7ebee
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 31 17:19:03 2002 +0000
+
+ list bug fixes in 5.0
+
+commit e89f0792eb224d8876321668a8a39d5c58e154ab
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 31 17:14:37 2002 +0000
+
+ tweak pipeline flags for vertex programming
+
+commit e0e6bd7ae11c40e5141b2fb700a3e4bc186e1357
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 31 17:14:16 2002 +0000
+
+ fix the occasional missing triangle bug
+
+commit 36481524bad56214fa5a00e5899293636f0d46d3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 31 15:25:07 2002 +0000
+
+ simple GL_EXT_stencil_wrap test program
+
+commit 07624e347bdef90b97bfa96eb955c12df4420ca7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 31 14:58:36 2002 +0000
+
+ fix a few HPUX problems
+
+commit 9627ed0631240044bbcf0f071d635c08b853ae4d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Oct 31 12:38:32 2002 +0000
+
+ Add a note about window map behaviour and the autotuning of nr of loops which
+ can conspire to make it look like clearspd is exposing an intermittent driver
+ bug...
+
+commit 8d439768589ca61b24c006c2fdb21401d4de67ec
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 30 20:40:46 2002 +0000
+
+ added a comment about future work
+
+commit 9167d04dea5b66e07cb0f133295d56367868e19c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 30 20:25:15 2002 +0000
+
+ s/getenv/_mesa_getenv/
+
+commit 2ad5921cf3c9737796c3485bd5b9f738fb4a3cb9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 30 20:24:45 2002 +0000
+
+ use wrappers from imports.h rather than stdio, stdlib, etc functions.
+
+commit e1e867c3b250506f7497dd8ecd1e3960d4d76354
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 30 20:18:38 2002 +0000
+
+ remove some stray debug/abort code
+
+commit 4663bd50f1e2f219bd1b2a4d902b11b936512398
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 30 20:16:43 2002 +0000
+
+ don't call abort()
+
+commit 68a7ee5cbbc93c0e746dc843e0fcc1e65ad1baf6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 30 19:59:33 2002 +0000
+
+ s/printf/_mesa_printf/
+
+commit 36b518a7ca98e49d95c3fe54544700004716cdef
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 30 19:58:58 2002 +0000
+
+ s/sprintf/_mesa_sprintf/
+
+commit f16a66e97dd2586179ca8f128bb9c6c181547b00
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 30 19:57:21 2002 +0000
+
+ remove debug printf
+
+commit 6ec6b845fdf3c44436028ad6fff9471d18928719
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 30 19:49:29 2002 +0000
+
+ s/BZERO/_mesa_bzero/
+
+commit 9dc11a3e38a0ac0e650675157a0ccb90dcdce976
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 30 19:44:41 2002 +0000
+
+ test both XFree86LOADER and IN_MODULE to see if we're being built as the glx module
+
+commit c5934054f3f3e2174a9897e901409da17c1a296e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 30 19:40:20 2002 +0000
+
+ fix potential bug in _mesa_align_calloc/malloc (Frank van Heesch)
+
+commit 3160edec3305a81e13aa2b5a3387a0a75c1747bf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 29 23:53:22 2002 +0000
+
+ more version bumps
+
+commit b2289a944ecbc195cf8b772bfba9fc265b4131cb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 29 23:42:48 2002 +0000
+
+ minor updates
+
+commit 42649700e2043602223cf8028f73e75169b34246
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 29 23:09:37 2002 +0000
+
+ bump OpenGL version to 1.4, Mesa version to 5.0
+
+commit ebe0b30c3e3e86160ee929dfbb205abd0ce5381a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 29 22:42:04 2002 +0000
+
+ preparation for 5.0 release
+
+commit 9bd8f97ea48baf46fc1d688b15741c192adb5436
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 29 22:32:50 2002 +0000
+
+ update versioning/extensions for OpenGL 1.4 / Mesa 5.0
+
+commit 46b3f976542190dd3c217a46653159f77552764a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 29 22:25:57 2002 +0000
+
+ fix culling problem (bug 630649)
+
+commit 05a4b37707d2c598ea68c05d07a3d65bcbf5a076
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 29 20:28:36 2002 +0000
+
+ updated email addresses
+
+commit fd062077c649406047451cbc650fb27943e85240
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 29 15:06:37 2002 +0000
+
+ set release date
+
+commit 153f15497cad3fbcb7a61362deb50b40d45c91a0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 29 15:04:35 2002 +0000
+
+ init a few more fields in _mesa_initialize_visual()
+
+commit dec2a4d4b719069c0a306cc51280cacb1b61a18a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 29 15:03:14 2002 +0000
+
+ added some casts for mallocs (bug 630379)
+
+commit d3975341e743b3436a69dedd864ccedc56b0db03
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Mon Oct 28 23:01:24 2002 +0000
+
+ Add casts to quiet compiler warnings.
+
+commit 5f1651ddc5149633dc9027f81060b8de660c9432
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Mon Oct 28 23:00:50 2002 +0000
+
+ export new functions.
+
+commit 367d308b8267ad86cd7623590b7bfd4737b5fbf5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 25 21:06:26 2002 +0000
+
+ wrapped a few more C library functions
+
+commit e781aec85d30182eea1b6dab5fb9dd06594f5671
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 25 18:47:56 2002 +0000
+
+ #include fixes
+
+commit a4f0b6884ceb966305181045bbdced013e857d38
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 25 17:20:26 2002 +0000
+
+ added skybox and options to load real images
+
+commit 92c195211a9f9d6cfcf369230c799a468fa2dc37
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 25 13:50:48 2002 +0000
+
+ remove all.h, mem.h, mem.c
+
+commit c2836e9ac6ab643d293f9db8b52239299132c5bf
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Fri Oct 25 08:26:26 2002 +0000
+
+ Committing in .
+
+ Removed src/mem.c from OpenVMS makefile
+
+ Modified Files:
+ Mesa/src/descrip.mms
+ ----------------------------------------------------------------------
+
+commit 46458ba2130ba60983f9e2a651eb84970246ec1c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 25 00:01:58 2002 +0000
+
+ include GL/glx.h
+
+commit 3c63452e64df7e10aa073c6c3b9492b1d7dabbb8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 24 23:57:19 2002 +0000
+
+ Header file clean-up:
+ 1. Remove all.h and PC_HEADER junk.
+ 2. Rolled mem.c and mem.h into imports.c and imports.h
+ 3. Include imports.h instead of mem.h
+ Restore _mesa_create/initialize_context() to be like they were in 4.0.4
+ New wrappers for a few std C functions: _mesa_atoi(), _mesa_strstr(), etc.
+
+commit d0add7cf1a6b99cafd25e23fe2fc9d0b6657079a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 23 14:53:27 2002 +0000
+
+ added missing code to copy texrect state
+
+commit cca4dedbfdb7a424a37faadf593ff4ca0af1f971
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 23 14:01:38 2002 +0000
+
+ stex3d updated
+
+commit 4fbdedc0d5aa32772f7a5d72472a552cab5c90f3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 23 14:00:01 2002 +0000
+
+ massive overhaul, see new keyboard options
+
+commit 47fe2fc105dfa466aeade34d615e08a250b1674a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Oct 23 10:24:27 2002 +0000
+
+ Fix projtex interp bug
+
+commit 8e6926f7c3b5750a71bbbcd3971a54a4a59410e1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 22 15:17:34 2002 +0000
+
+ added glDeleteTextures refcount bug fix
+
+commit e9283774dc32c8f6526448e6b666b9975dae7230
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 22 15:15:41 2002 +0000
+
+ remove debug printfs
+
+commit cf462086246692282a4b51db4412bfb89f9c8c9b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 22 15:14:49 2002 +0000
+
+ fix refcount error in _mesa_DeleteTextures (Randy Fayan)
+
+commit e6962b183db6af2ed9d14b8b46eeaa42fde68b56
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 22 15:08:59 2002 +0000
+
+ add missing texture rectangle code in _mesa_DeleteTextures()
+
+commit 60b003e197f87fa779d4fcdaf44ed200ed455eb3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 21 15:53:06 2002 +0000
+
+ added GL_ATI_texture_mirror_once
+
+commit c7a219ec6f6047b691a9bb32e55ec4a889ba2814
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 21 15:52:34 2002 +0000
+
+ GL_ATI_texture_mirror_once extension (Ian Romanick)
+
+commit ac9a65b1dd6694fa9cd3bde640d253bbb996addc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 21 15:06:26 2002 +0000
+
+ doxygen comments (Klaus Niederkrueger)
+
+commit ef31f60b12abc2109568fb8d9a2aaa70ec5c71cc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 18 18:03:04 2002 +0000
+
+ new _mesa_max_texture_levels() helper function - not used everywhere yet
+
+commit 53d30c56eb1a0865a6a88cf05c4c74673d41b2a4
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Oct 18 17:47:35 2002 +0000
+
+ Quiet compiler warnings.
+
+commit 2ce0654ebabc7fc6a2881f51e496e4e1f7533087
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 18 17:41:45 2002 +0000
+
+ implement auto mipmap generation for compressed textures
+
+commit 8eaa2902162e145cd07a9427ec99ab0ca85aa35a
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Oct 18 17:02:00 2002 +0000
+
+ Add casts to quiet compiler warnings.
+
+commit 6ac04f2fc6e9a5448691df59495d680ddcc740c8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 18 13:40:59 2002 +0000
+
+ fix bug in GL_MIRRORED_REPEAT_ARB (Ian Romanick)
+
+commit 6e1ceff48b079d35fe48810aed657ac2fa0cba97
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 18 13:28:55 2002 +0000
+
+ latest fixes
+
+commit e71654961868eac559210ced359c1af114138d8a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 18 13:24:08 2002 +0000
+
+ only allow intformat==GL_COLOR_INDEX if EXT_paletted_texture is supported
+
+commit 8c2a1f0e4d75515b460e6ee4c61a25fdefa97e8c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 18 13:23:19 2002 +0000
+
+ check for GL_EXT_paletted_texture
+
+commit 798d83cf67098a7df293c711e0d2c8c296fc4c8f
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Oct 17 22:26:06 2002 +0000
+
+ Add casts to quiet compiler warnings.
+
+commit 6afdc0bec2e75374875578375772aa7776774851
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Oct 17 21:03:22 2002 +0000
+
+ Put back the include of windows.h so we are back to version 17 of the file.
+
+commit 3e2fa3fd5cafdc641138844276c4260e028684ac
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Oct 17 19:39:31 2002 +0000
+
+ Change for Windows only: Make demos and examples build again.
+ Move the inclusion of windows.h from glext.h to gl.h. There are a few
+ good reasons for this:
+ - Including it in gl.h is more strightforward and makes it easier to
+ troubleshoot include file problems. It was sometimes hard to find it
+ in glext.h.
+ - Needed to define APIENTRY correctly. APIENTRY is used in gl.h.
+ - glut.h needs windows.h but does not include it, expecting the app to
+ include it. Including it in gl.h if not already included by the app
+ makes glut.h happy. This allows one to write a gl/glut app without
+ explictly including windows.h, which may only be really important for
+ toy apps like our samples and demos. But a "real" app can still
+ include windows.h if it wants.
+
+commit bc36ee25d88b8330237490a2a803d8fd7f790e7a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 17 17:39:37 2002 +0000
+
+ new wrap modes (Ian Romanick)
+
+commit 944ea204a8784789249d6fdd70c318380140a422
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 17 16:29:17 2002 +0000
+
+ s/functionOffset/offset/
+
+commit 10d343f407bddf011be3d2b79a6541815759785a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 17 15:26:38 2002 +0000
+
+ patches from Gerk Huisma for float-channel rendering
+
+commit 673077c613319218be6e9dcee55035d471f87977
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 17 14:25:30 2002 +0000
+
+ applied Philippe Houdoin's patch, plus minor clean-ups
+
+commit 8dfc5b9863f08a713177fd92847573e17febbac9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 16 17:57:51 2002 +0000
+
+ surround vertex program code with #if FEATURE_NV_vertex_program/#endif
+
+commit e32b9090541f0e8e44d10953017617621edb5635
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 16 17:57:03 2002 +0000
+
+ remove some crud
+
+commit 2efb3029f0fb9431742cd6ed6c7726679d102076
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 15 15:55:45 2002 +0000
+
+ remove lowpc.c and highpc.c
+
+commit 10882b17c9d2305283be49a1970ddfcef183a8d1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 15 15:54:23 2002 +0000
+
+ removed highpc.c and lowpc.c
+
+commit 0977fa67b82fcd5ea4e8583c449b91c8e7af09c5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 15 15:40:57 2002 +0000
+
+ update file list for tar file
+
+commit f7657d037eb262ee6437d7714f709026f2ecea85
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 15 15:36:26 2002 +0000
+
+ make a few static function non-static for highpc.c
+
+commit d2ec14c4aacebd68a9918a9c2f280fa60eee8ebe
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 15 15:23:16 2002 +0000
+
+ remove 'beta' from GL_VERSION string
+
+commit d4ffbe4cca0c1cba6728d9c897b9bdd545a3ee9c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 15 15:23:02 2002 +0000
+
+ allow querying of glut functions via glutGetProcAddress()
+
+commit dfedb8b78ed13eed0705dbd86e5906f610730537
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 15 14:45:19 2002 +0000
+
+ added gluTessNormal() dummy function
+
+commit 9d00b684825019984969b7cc94e416f4fa666303
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 15 14:44:53 2002 +0000
+
+ added missing glFinish()
+
+commit 7c5282d2a8bb6b4c8d265ad3fc1a1652c55df167
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 15 14:43:55 2002 +0000
+
+ minor updates
+
+commit f2e21e1026a8e78345108b470d93e9bfa56e3c84
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 15 14:41:48 2002 +0000
+
+ added latest 4.1 changes
+
+commit 11fd2d75580d907247b93869ba83b52b2d5a3a7d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 14 17:12:01 2002 +0000
+
+ disable wsPriv field in __GLdrawablePrivateRec to match XFree86/DRI
+
+commit 60b6e4fd7e85ca0ad1c4ab22433b745bf97e9280
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 14 17:08:17 2002 +0000
+
+ context-related cleanups (ex: _mesa_notifySwapBuffers instead of _mesa_swapbuffers)
+
+commit 795ae30787e6fd9413a495586edf4973e4987417
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 14 14:19:11 2002 +0000
+
+ Glide driver disabled by default
+
+commit 45c569860ca988de5a93c028dfa363be5aa32e4a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 14 13:57:23 2002 +0000
+
+ print transparent pixel info when using -v option (Gerd Sussner)
+
+commit cb4253a546ce65d22c277ba34acebb49f301b0be
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 14 13:52:27 2002 +0000
+
+ added missing GLX_TRANSPARENT_RGB
+
+commit 2871f57bcfc0a630b00743d8e5262d3685a189f7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 11 21:42:08 2002 +0000
+
+ check EXT_point_parameters before calling PointParameterfvEXT()
+
+commit 32d0d5aec4f905fe443ffdfdfae20c5b92ffb0db
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 11 17:50:59 2002 +0000
+
+ init swrast->CurrentBuffer
+
+commit f58826db573ac3d837c0cc6368c52657594a6973
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 11 17:42:48 2002 +0000
+
+ updated info about glRead/DrawBuffers()
+
+commit 8ad1076dc2afda8ed37e5a9f6a757583eba90375
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 11 17:41:03 2002 +0000
+
+ Another round of glRead/DrawBuffer() clean-ups and simplifications.
+ Replaced ctx->Color._DriverDrawBuffer with swrast->CurrentBuffer.
+ Replaced ctx->Pixel._DriverReadBuffer with ctx->Pixel._ReadSrcMask.
+ swrast->Driver.SetBuffer() takes FRONT/BACK_LEFT/RIGHT_BIT values now.
+ Added tokens and code for GL_AUX buffers, for completeness.
+
+commit 9e84910749744efcba06670f622cc00d279f26f1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 11 15:17:12 2002 +0000
+
+ undo previous check-in (check if ctx->Color.DrawBuffer == mode)
+
+commit b110ca34f0d3926bed1bd4afe77baba93eba7f1e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Oct 11 08:24:13 2002 +0000
+
+ lineloop fix
+
+commit d54d4633fdfafef71d61486b5d740a237f380055
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 11 00:02:16 2002 +0000
+
+ check mode for no change in _mesa_Read/DrawBuffer()
+
+commit 813c96f4584f90a64b093f21486b71d48f9c117f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 10 23:49:02 2002 +0000
+
+ updated porting info
+
+commit fbc236b401c6c0ddff2d5e9f82511a264045e71d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Oct 10 18:03:44 2002 +0000
+
+ add GL_UNPACK_CLIENT_STORAGE_APPLE gets
+
+commit 23cdcede5d225f90928ae072edf42e2fe1b12ccc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 10 14:12:09 2002 +0000
+
+ check texImage->IsClientData before freeing memory
+
+commit 71072be182f053873728ab7012bc0b92361297bb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 10 00:22:13 2002 +0000
+
+ disable _glapi_set_warning_func() call as it's not present in older libGLs
+
+commit 0670eb259d2ede9d1ca1762759737b8cc31a67a4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 9 23:56:32 2002 +0000
+
+ removed old TEXTURE0_ defines
+
+commit 433a084130322a20a816d6603552e6c612eb13d1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 9 19:45:53 2002 +0000
+
+ removed old VERT_* defines, use VERT_BIT_* instead
+
+commit 008a5dd7bb0636e4faa0606e9e4aac51d5517e16
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 9 19:38:32 2002 +0000
+
+ use new vertex bitfield tokens
+
+commit 85678e0399eef682aa283fc1f952afa258af92a7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 9 19:37:32 2002 +0000
+
+ disable wscx field in __GLimportsRec to be consistant with XFree86
+
+commit c20579d65162d8e1b4d10aca27c277d9dee068c2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 9 19:36:24 2002 +0000
+
+ XFree86 fixes (clib macro wrappers)
+
+commit f2c5296dd7c990f566187621835414c3015058a1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 9 19:35:11 2002 +0000
+
+ disable XMesaCreatePBuffer() for XFree86
+
+commit 59c5cf35c92e969f66eefd27809e72089b731701
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 8 23:59:33 2002 +0000
+
+ finally get rid of ctx->Texture._ReallyEnabled field
+
+commit 614301facaf7f9943270f227a5c6503b47871a90
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 8 23:58:55 2002 +0000
+
+ fix a typo
+
+commit ece3e63c98f1e8aac91f4514d0abbd5972dc722f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 8 23:57:50 2002 +0000
+
+ change fog from GLfloat to GLfloat[4] (like other vertex attribs)
+
+commit 5fd1cc2e0e3d0bd529c3f0e347b73517bb7f162d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 8 23:57:13 2002 +0000
+
+ s/glVertexAttrib4fNV/_glapi->Dispatch->VertexAttrib4fNV/
+
+commit d3f6b0559f1465fa87b67e2e7f47e7ea9e95450f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 8 23:16:26 2002 +0000
+
+ added missing dispatch code for new AGP-related functions
+
+commit b5974db2771bff12508441a76f72648c8afb52a1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 8 23:14:43 2002 +0000
+
+ import from DRI CVS
+
+commit 8455203bc7231f4ad4ee517faef3df024bf38070
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 8 22:47:53 2002 +0000
+
+ GLX_NV_vertex_array_range and GLX_MESA_agp_offset extensions
+
+commit f72a3da6979a91d8899f1f3b198718e54b108b8b
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Tue Oct 8 08:38:26 2002 +0000
+
+ Committing in .
+
+ Add compile support in the xdemos directory for OpenVMS
+
+ Modified Files:
+ Mesa/descrip.mms Mesa/xdemos/descrip.mms
+ Mesa/xdemos/glxgears.c
+ ----------------------------------------------------------------------
+
+commit cf69eeb1aa566386a0b1923b2a5e4dfbce6de9da
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 7 15:03:14 2002 +0000
+
+ removed old comment
+
+commit 73029c5d750dd1cadcc62305f90f894a1d7b7afd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 5 18:32:38 2002 +0000
+
+ added GLX_SGIX_fbconfig and GLX_SGIX_pbuffer
+
+commit 568774076223d2612637fd433b41f8a9f7a70da9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 5 18:30:46 2002 +0000
+
+ added pbinfo and pbdemo programs
+
+commit 21666e3db410d3ab9c7e4b18a3c29ae78a04fa95
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 5 18:30:13 2002 +0000
+
+ pbuffer info and demo programs
+
+commit e4656003caee346d9c4eb23256d73409271291a7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 5 18:27:41 2002 +0000
+
+ Pbuffers seem to work!
+
+commit fa647e8336767654e1f67729b7eca61fbf76ff41
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 5 03:03:37 2002 +0000
+
+ added XMesaCreatePBuffer()
+
+commit 3265fe5f8e47bfa42dd9e5e4a0e717816ad058a0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 5 03:02:34 2002 +0000
+
+ more work on fbconfig/pbuffer support
+
+commit f42d366bb6fadefb5a0e4fe19c35f88ce1345906
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 5 03:02:01 2002 +0000
+
+ GLfloat/GLchan updates
+
+commit 4b334b2db68b1f448165c37fe756cc0aa80b56c5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 5 03:01:28 2002 +0000
+
+ restore ACCUM_BITS to 16
+
+commit 6640bc3bfa59f88c8665803c1f99baf8e4a41028
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Oct 4 23:11:03 2002 +0000
+
+ include procs for compressed textures
+
+commit 248b3cf727211867fca05fb42f1ef7bbdd0862cf
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Oct 4 23:10:06 2002 +0000
+
+ remove const storage class specifier for the decl of a var that isn't
+ a const.
+
+commit 072edaf126ff039b69773afafad1e4c2137525e4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 4 19:10:27 2002 +0000
+
+ updated list of internal changes in 4.1
+
+commit fc80ad6e62fb2b53d53756593099330477a44c52
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 4 19:10:06 2002 +0000
+
+ Changed a number of context fields from GLchan to GLfloat (such as ClearColor).
+ Also changed parameter types for some driver functions (like ctx->Driver.Clear-
+ Color). Updated all the device drivers.
+ Someday, we want to support 8, 16 and 32-bit channels dynamically at runtime.
+
+commit f782b8189e718974a40d72ac4f6b8d213ca99e1e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 4 17:37:45 2002 +0000
+
+ multiple GL_POINTS can now be rendered together into one fragment span
+
+commit f8acbed50d96d35d2a354f1fe7e81594d79a3186
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Oct 4 15:58:33 2002 +0000
+
+ Fix for bug 618459. Mods to allow compilation on VC++ 5.0 (Michael Krause)
+
+commit a42e7c9172f1c41dd15da739274cb83a827c31a3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 3 23:27:22 2002 +0000
+
+ record GL_INVALID_VALUE in glVertexAttrib*NV() if index > 15
+
+commit be99e845bd7979fe46d38d9b294c1ba0a0aa95b8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 2 23:24:04 2002 +0000
+
+ finished up GL_EXT_stencil_two_side
+
+commit 0adce5d0ed20910a41c2115e4dd0173fdcc53cdb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 2 22:05:55 2002 +0000
+
+ removed unused ctx->Polygon.OffsetMRD
+
+commit 641b2307ec77e70a5b1db75934438d2fbb75613c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 2 21:44:08 2002 +0000
+
+ removed ctx->Polygon._OffsetAny - not really needed
+
+commit 8420ad94f28532a736f99607fb274466506b3bca
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 2 17:32:26 2002 +0000
+
+ bring over from 4.0.4 branch
+
+commit d8419c730e73c3be2eadfb0bee176ab06885766a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 2 17:25:05 2002 +0000
+
+ better error checking related to YCbCr images
+
+commit 54f3aab0c7fb30dccb41c8c79ba9dc190dbb029e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 2 01:51:44 2002 +0000
+
+ _glapi_get_proc_address() now always returns a valid dispatch stub function
+ (provided we're on x86 or SPARC). Later, _glapi_add_entrypoint() will fix-up
+ the dispatch offset (which was -1). This will allow DRI libGL to avoid
+ probing for drivers.
+
+commit a329d689038ce1873dea7f447b42981b96eb99bf
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Fri Sep 27 14:47:24 2002 +0000
+
+ Committing in .
+
+ texcompress.c added to OpenVMS makefile.
+
+ Modified Files:
+ Mesa/src/descrip.mms
+ ----------------------------------------------------------------------
+
+commit 89fb06fcc11cbe3f23521312155d6c55d869f526
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 27 02:45:37 2002 +0000
+
+ new texture compression infrastructure
+
+commit 1a0bfdc8c1d798bf09daa3a07f9f873562f6c112
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 23 17:21:53 2002 +0000
+
+ fix bug in index_mask() (bug 609837)
+
+commit 681b8c9d1ba06c8c82e687a5ced369b72e6b1eb9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 23 16:37:13 2002 +0000
+
+ merge gl_texture_image RowStride from DRI 4.0.4
+
+commit b7808884bb26b6abdd44a03ff47885fb646686a5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 21 22:45:37 2002 +0000
+
+ update from Daniel Borca
+
+commit 551b65f13754e6760e5c272ff86f8873c9c13e5c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 21 17:34:56 2002 +0000
+
+ GL_MESA_pack_invert
+
+commit c5b995066020191982b2315fc45d05e068eee761
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 21 16:51:25 2002 +0000
+
+ updates from 4.0.4 (MESA_ycbcr_texture, APPLE_client_storage, etc)
+
+commit c62aeed003cc20b189d71bc53256419e0d630aaf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 21 16:47:09 2002 +0000
+
+ merge updates from 4.0.4
+
+commit f022463aa6541200c8e958474930ee938c521390
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 19 16:36:52 2002 +0000
+
+ added src/BeOS/*.h to file list
+
+commit 5b18bb6a6018701f540d9c9b66b9dc8ca2cc9e0e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 19 16:34:55 2002 +0000
+
+ stencil two-side and 3dfx fix
+
+commit ca6647b307951740c28f6c7d1edeada5c634d92f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 19 16:34:29 2002 +0000
+
+ two-side stencil info
+
+commit 473e51f2fbfb003717bb88616ea585fc8d76f75e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 19 16:19:43 2002 +0000
+
+ Updated BeOS support (Philippe Houdoin)
+
+commit cbc1fb0a9a4c97a36608fb20483246559b4c2f76
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 19 16:07:32 2002 +0000
+
+ push and pop ESI (Daniel Borca)
+
+commit b6e04ee7c80dc47bad6d67c9b349332b880551cf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 19 16:05:01 2002 +0000
+
+ obsolete
+
+commit a9be374f82ace523c126c661399030c869201dab
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 17 15:46:34 2002 +0000
+
+ pull-in changes from DRI/Mesa-4.0.4
+
+commit e1cb2fb571ee47b59020db7627e554b7d227e454
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 17 14:14:18 2002 +0000
+
+ remove GLint t, pass target to _mesa_init_teximage_fields()
+
+commit d5bbbd41c431ad93c0867d5b0b234426d8570499
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 16 17:57:14 2002 +0000
+
+ fixed _mesa_generate_mipmaps() target problem
+
+commit 8cd2d0e7828186f1ffffb775466b1dfd21eeef33
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 16 17:56:02 2002 +0000
+
+ more detailed _mesa_error() messages
+
+commit c84e84a7342f4a10a69c0ab96f649f54586afb9d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 16 17:55:36 2002 +0000
+
+ doxygen comments
+
+commit 57aca2bf6e82cdab43575123530fce2ba54bf9c7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 14 16:51:34 2002 +0000
+
+ fixed pixel pack bug in glGetTexImage()
+
+commit 99683bd830b46737e83aa4adacfa0941c6e098bf
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Sep 12 17:05:55 2002 +0000
+
+ Mark destroyed context as not current. (Frank Warmerdam)
+
+commit 4991d0f9f39b3fca8458af77ad0a060e76eb5594
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 12 16:26:04 2002 +0000
+
+ optimizations to _math_matrix_rotate() (Rudolf Opalla)
+
+commit 3ce6dc7f1ded54f5345e2cf87f4c42b1e7c85cfd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Sep 8 17:29:16 2002 +0000
+
+ more detailed _mesa_error() strings
+
+commit 6c25e3a111e19587b288dcf5384b8e5eda3edc80
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 6 14:42:04 2002 +0000
+
+ incorrect dimenstion passed to texture_error_check() in compressed teximage functions
+
+commit 3f25b1a3588f54d4c147df6c0768ed10e486f52a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 6 13:00:50 2002 +0000
+
+ removed GL_MAX_CONVOLUTION_WIDTH/HEIGHT
+
+commit 57df24a86ce9d80b193a0bad458b0cbbe858d1aa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 6 12:58:56 2002 +0000
+
+ don't query GL_MAX_CONVOLUTION_WIDTH/HEIGHT
+
+commit 28bc6cb4791dd0bb87dd27df1d5950f7e61b606e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 6 03:47:34 2002 +0000
+
+ minor updates to sync with XFree86
+
+commit 2f7ef5fae8303ad312434e83620a9fbf43ad8e60
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 6 03:35:43 2002 +0000
+
+ added -l option to print interesting OpenGL limits
+
+commit e41c57758d30c59cf5986f50c6f2326815c6ac53
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 6 03:30:20 2002 +0000
+
+ fixed glSampleCoverage typo
+
+commit 7d7ec0ea917e6abb5711b7c8dad0b17c8469482f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 6 03:25:03 2002 +0000
+
+ implemented glProgramParameters4[df]vNV()
+
+commit 6a1e1623fd3dca1d7fc145979d9bc05146c31596
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 6 03:20:21 2002 +0000
+
+ hook-up dispatch for glActiveStencilFaceEXT()
+
+commit fdaa72bc434394755353d2b649950871001e9cbf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 6 03:19:32 2002 +0000
+
+ added GL_EXT_stencil_two_side and GL_NV_fence
+
+commit 5f60a0b50ada1865d4fc6a724366e8ea0cc9a72f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 6 02:56:08 2002 +0000
+
+ GL_EXT_stencil_two_side extension, not 100% complete yet.
+
+commit a2ae6faf1a853655ac6c58b80a7dc3b1811a8740
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 6 02:52:23 2002 +0000
+
+ removed glext.h fix-ups corrected in glext.h version 17
+
+commit e14c151f0ac26ff662c3933f7fe3b7e90c7d3768
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 6 02:48:09 2002 +0000
+
+ version 17
+
+commit 530d4611ebe639fab15a2de9ff03c68b108e06fd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 6 02:46:08 2002 +0000
+
+ added OpenGL 1.4 entrypoints
+
+commit 3a03211aeeec5f5232a711f2f0887a93be4013e2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 5 21:16:30 2002 +0000
+
+ added GL_IBM_texture_mirrored_repeat (Ian Romanick)
+
+commit e7abc078ab09525f449911c428c8892037d9bf21
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 5 21:14:36 2002 +0000
+
+ test for ARB_texture_cube_map when getting GL version(Ian Romanick)
+
+commit 0a7fc572a7defdb7f7f23d4288bf8bbbc1ca48bd
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Thu Sep 5 08:38:01 2002 +0000
+
+ Committing in .
+
+ Adding vsnprintf support for OpenVMS (needed in src/imports.c)
+
+ Modified Files:
+ Mesa/src/Makefile.am Mesa/src/descrip.mms
+ Added Files:
+ Mesa/src/vsnprintf.c
+ ----------------------------------------------------------------------
+
+commit 7e35cc53ceaa85be27ffc758d43c9f4114d009b0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 4 14:14:36 2002 +0000
+
+ updated wglGetProcAddress
+
+commit 528afb5ff4c2fbcfdb5b12880e40d734f1693f33
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 3 18:14:08 2002 +0000
+
+ updated DOS file list
+
+commit 05ed911aca5ad0a6842ea0d6f3ac99b79ec752db
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 3 18:11:32 2002 +0000
+
+ updates from Daniel Borca
+
+commit b9f75444e60477e7a523e7eec1bb49a8232fd4e7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 3 18:05:17 2002 +0000
+
+ improved error string
+
+commit ba88dd0d92e818df20752ca5a4b1cd5fb0c49f76
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 3 18:03:45 2002 +0000
+
+ s/5/NUM_TEXTURE_TARGETS/
+
+commit ed00b2ef33bc400f5baedbeefd065d53297beefa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 3 17:10:54 2002 +0000
+
+ fixed compilation problem for swdd->SetBuffer
+
+commit 391876e5e6a710ba99b0752bbcc1b3b8af0469b6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 29 14:02:27 2002 +0000
+
+ fix up stuff accidentaly checked in a few days ago
+
+commit 53880a85b647e2964b7d46c96483b00197007263
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Wed Aug 28 18:26:38 2002 +0000
+
+ Don't call _mesa_initialize_context because we are using
+ _mesa_create_context. This avoids calling initialize twice and fixes
+ memory leaks. Add call to free the GL context because we are creating it
+ with _mesa_create_context, fixing another leak.
+
+commit 41771982c4e85e5a37d8ddac6b83de46391af478
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 27 21:47:31 2002 +0000
+
+ define GLAPIENTRY and GLAPI if not defined in gl.h
+
+commit fb657ef91da29120ff65580f0b27914752273025
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 22 21:10:37 2002 +0000
+
+ added glXAllocate/FreeMemoryNV()
+
+commit 8fefafa2200d3ea44ec46592b190654a10685b46
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 22 21:10:01 2002 +0000
+
+ stub functions for glXAllocate/FreeMemoryNV()
+
+commit 2188d002df22ac4495444fa7705af1963508f766
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 21 16:39:39 2002 +0000
+
+ minor error message changes
+
+commit 62166908a947602ba8909059794fb6b9fe6813b9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 21 13:07:17 2002 +0000
+
+ re-enable ASSIGN_NORM_GROUP( 3dnow )
+
+commit 1e0241d3c6b619f7024c9bb98c182598642a5bc2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 21 13:05:37 2002 +0000
+
+ replace Current.Color with Current.Attrib[VERT_ATTRIB_COLOR0]
+
+commit 713800a495152c5b39973a781ef3659835184d21
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Aug 21 10:39:59 2002 +0000
+
+ update colormaterial state on swtcl wakeup
+
+commit 2b930072b382fc7b8bf284bd8d341bf8f09ad1e7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 21 02:59:31 2002 +0000
+
+ s/DrawDestMask/_DrawDestMask/
+
+commit b79e99ad6047c18f28b65c6b027ee703f5042918
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 21 02:59:00 2002 +0000
+
+ s/ProjectedClipPtr/NdcPtr/
+
+commit 3ac01f5e4780b90659a44b2e8d0834940548ab1f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 21 02:57:58 2002 +0000
+
+ fix problems in FXgetImage()
+
+commit 34713c1a3c140b58b6d582f0ccf49505bce0896f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 21 02:56:58 2002 +0000
+
+ fixed array index typo in VERT_SAVE_RGBA() macro
+
+commit 5117a8214df17f6219276fdfba06dccc7d9f4bae
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Aug 17 00:30:36 2002 +0000
+
+ added multitexture and line stipple
+
+commit f569dc447ad9e217a2aa03e92b7c72ab5624e5a6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Aug 17 00:29:55 2002 +0000
+
+ minor tweaks
+
+commit 9f7011b88bd8dfeb0ddeed65c4c1ef39ad44798a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Aug 17 00:26:29 2002 +0000
+
+ added error checking for glCallLists() type parameter
+
+commit af3265fabd7f385aa8aaf207416674799869dc95
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Aug 17 00:23:19 2002 +0000
+
+ added new GLUT features
+
+commit 6bf6cd34182d38d45a7c35976de0e7294d437a31
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Aug 17 00:20:48 2002 +0000
+
+ bump lib version to 3.7.1, more make clean commands
+
+commit 7ae671446a64fde913474de4e3c6314b5ecd195f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Aug 17 00:12:48 2002 +0000
+
+ added glutGetProcAddress()
+
+commit 46a035f76d3b7a2355f7655c9dd7e519d4238cdc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Aug 17 00:12:12 2002 +0000
+
+ added glutGetProcAddress() and GLUT_FPS env var option
+
+commit 10730663a128c35c0241a79d885665e6272014d7
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Aug 15 15:13:31 2002 +0000
+
+ Add note about needing to run VCVARS32.BAT when compiling.
+ Add book and samples to the list of dirs that are built.
+ Reword some notes about the build process.
+
+commit 1972ac661c7a1f06579ccc1dfd730703889049cc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 8 17:12:38 2002 +0000
+
+ added (char *) casts
+
+commit 3efe5beefc9f9665c565f1ec5e74287b12c117e9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 8 16:55:56 2002 +0000
+
+ fix up resulting FOGC and PSIZ when needed
+
+commit 352c13f7835918c3d2cb07f8e7dbe33e8319fcab
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 8 16:55:17 2002 +0000
+
+ init tmp->Normal.size = 3
+
+commit ebe671cfad0cdf185255b4a98b9ae561e6aa77b2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 8 16:54:43 2002 +0000
+
+ comments
+
+commit ea53a5b5abcd22abce33a577daafa298bac0ab15
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 8 16:53:12 2002 +0000
+
+ change GLvector3f to GLvector4f for normal transformation
+
+commit 946ad2720a00696a59a253d81110ea96d397a463
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 8 15:36:50 2002 +0000
+
+ change dest stride to 16 bytes instead of 12
+
+commit 2a1abe3b46f6671610653059df00664a8b70399c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 8 00:41:11 2002 +0000
+
+ initialize SWvertex array to zeros
+
+commit fb8ca95dff04eb9a7b7edf49394b616f9ac99f5a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 7 16:40:18 2002 +0000
+
+ changed normal stride from 12 to 16 bytes since normals are now GLfloat[4] (for vertex program)
+
+commit a4ac844979a17e0d6b6967e082974a11884f2655
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 7 15:18:42 2002 +0000
+
+ re-check-in - something didn't work on the previous check-in
+
+commit e968686133000c099a636bd686bdb431d6e4892f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 7 00:46:17 2002 +0000
+
+ latest bug fixes
+
+commit 77df88727cb0a423dd5cb41498c2302d9df4fce7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 7 00:45:07 2002 +0000
+
+ struct sw_span is again allocated on the stack, but the arrays of span
+ data are broken out into a new struct span_arrays which is allocated
+ per-context (to avoid huge stack allocations - a problem on Windows).
+ This lets us use span.redStep instead of span->redStep (for example) to
+ hopefully get slightly better performance in the triangle functions.
+
+commit 2353e96c320d4bd26d10dc29b57df3e9f882e6d3
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Sat Aug 3 16:19:20 2002 +0000
+
+ Coerce vsnprintf to _vsnprintf for windows
+
+commit 971df9b3892559f4a599fe18eee83ebdb3dc4d4d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 1 15:16:46 2002 +0000
+
+ misc updates
+
+commit c2656d588be17ba4bd453d2164b84f606be83dd2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 1 15:10:23 2002 +0000
+
+ define MAXSTRING and use vsnprintf to preven overflows
+
+commit f1dee4fe8f2dd4049bd768ab09706f6d78cc915f
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Mon Jul 29 00:01:00 2002 +0000
+
+ Catch up windows driver with recent context mods
+
+commit 54572c1b93559caab2c53fe08a2f56dc8cfb1b33
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Sun Jul 28 18:01:36 2002 +0000
+
+ export new symbols for osmesa lib
+
+commit c712425d0da07993e544c6967c56375203cdf6e4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 22 13:45:31 2002 +0000
+
+ fix warnings (bug 580528)
+
+commit 5c711e3671b9e01f0bf6c1b8e64e486c5c3afe6f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 12 16:00:57 2002 +0000
+
+ fix patching offsets (Sven Panne) (patch 544637)
+
+commit e237491493087e06eddd9da1690b3d163fcf421a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 12 15:54:19 2002 +0000
+
+ silence warnings
+
+commit f02a5f6cc55fc61229a038ac72edb3ce97cb6950
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 12 15:54:01 2002 +0000
+
+ Pedantic compiler fixes (Sven Panne)
+
+commit 902d2faadf37a5627ab2cbcd8993825c8749ec82
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 11 15:33:02 2002 +0000
+
+ applied Eric Anholt's patch for Athlon SSE
+
+commit 8eaffa2a1c807f2f966f7f48c705c91fdd3b9ab5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 10 01:25:50 2002 +0000
+
+ re-enable X86 code
+
+commit 55c82c596e1c1e597da183942db002d3d0b8f29f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 9 01:28:03 2002 +0000
+
+ added Read/DrawBuffer porting info
+
+commit 3b4fbbc129c711a5aec8d653d5c6eb2e195f947c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 9 01:22:50 2002 +0000
+
+ Overhaul of glRead/DrawBuffer() code. Now, swrast->Driver.SetBuffer()
+ indicates the read AND draw color buffer for all software rasterization.
+ Lots of related clean-ups. See RELNOTES-4.1 for details.
+
+commit b4338e58879a4f2eabf8af09f9dfa7adf6e9f9f2
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Mon Jul 1 08:26:00 2002 +0000
+
+ Committing in .
+
+ Adding a missing ',' in a parameter list of a routine called
+
+ Modified Files:
+ Mesa/src/imports.c
+ ----------------------------------------------------------------------
+
+commit 89f9cf8addb7f6d36f466ffdcd622b70fa607ffb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jun 30 16:58:11 2002 +0000
+
+ Added divide by zero check (Jon Perry). Remove dead vars. Fix indentation.
+
+commit c2fa38d5aeb73f99572cc0fdf4d0c987a9c401a1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jun 30 16:16:03 2002 +0000
+
+ added Gerk Huisma's GLchan=GLfloat fixes
+
+commit 4336c28c843923db3d9c8dc0a0cb2440ba94f064
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jun 30 16:07:18 2002 +0000
+
+ CHAN_TYPE==GL_FLOAT clamping. call _tnl_MakeCurrent. (Gerk Huisma)
+
+commit e201bef913bbb869e9c4012fcfff2406e9d55393
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jun 30 15:57:45 2002 +0000
+
+ blending fixes for CHAN_TYPE==GL_FLOAT (Gerk Huisma)
+
+commit 3c342ebd784fa8defa6d97e47d3f8d2f39826d4e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jun 30 15:49:03 2002 +0000
+
+ added GL_EXT_multi_draw_arrays
+
+commit e8ed14d0c20cf5b92147f8c52cbdd86bcf1ab228
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jun 30 15:47:43 2002 +0000
+
+ added unofficial dispatch offsets for GL_EXT_multi_draw_arrays functions
+
+commit 2525bc7d305f6dcab3beb75535da25a488c969b0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jun 30 15:47:00 2002 +0000
+
+ Implemented GL_EXT_multi_draw_arrays: glMultiDrawArraysEXT() and glMultiDrawElementsEXT().
+
+commit 1074d8c3613bb44f12ed5dc28aec4fd7fdd79f19
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jun 29 20:04:57 2002 +0000
+
+ indentation fix
+
+commit 487047c06040112e1a2648982e378e0cca4874b8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jun 29 20:03:13 2002 +0000
+
+ prep for OpenGL 1.4 feature set
+
+commit 4e9676fb13f60ecdbc247b120031f18cd3febcb0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jun 29 19:48:15 2002 +0000
+
+ Applied Matt Sealey's patch to remove/isolate all stdio.h function calls.
+ Instead of mstdio.[ch], use imports.[ch] to isolate these functions.
+
+commit f1ad551604122dd2679dbd31ae6b2fa1197e9848
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 26 14:56:20 2002 +0000
+
+ fix CHAN_TYPE==GL_FLOAT compile problem
+
+commit 058f319f60021a48961ed8526453f4034c5012a0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 26 02:36:34 2002 +0000
+
+ pull in 4.0.3 docs to trunk
+
+commit 7082420653d06d572ed04843abad651f71a9f90d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 25 15:25:17 2002 +0000
+
+ removed extra right-paren
+
+commit 07bb9884a5decd19119d9474af06c0d7ddc726b5
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jun 25 08:44:27 2002 +0000
+
+ FRONT_AND_BACK culling
+
+commit 82d9f3c034ca60da03f3f004f63f19ac51664410
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 25 02:56:45 2002 +0000
+
+ finish-up vertex program evaluators
+
+commit 0c3f820bf069785723510f4ad2bf4b69ba7f72e0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 25 02:31:37 2002 +0000
+
+ remove an unneeded statement in update_polygon(), added a comment
+
+commit 4db3c48a138931db9db64d34d27b67378f7bf72c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jun 23 02:57:33 2002 +0000
+
+ test program for NV_vertex_program and evaluators
+
+commit 581cc2025f6f64dbca4c78ed19510800cb05d576
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jun 23 02:53:22 2002 +0000
+
+ fix problems in _mesa_debug/printf()
+
+commit 8e7bd03760e8dec4600cb548e9027466aebdc15a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jun 23 02:52:18 2002 +0000
+
+ added some _mesa_debug() calls
+
+commit 2abbb660a2d4d89b7577998e571011c8b56261a8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jun 23 02:47:38 2002 +0000
+
+ checkpoint: updates for NV_vertex_program evaluators - a bit more left to do
+
+commit d65e0beb688210a74a9814dd86c896262c5f03de
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jun 23 02:40:48 2002 +0000
+
+ set stage->inputs properly (I think), plus debug/comment updates
+
+commit 455d262c55c50f5693e4385c1a997e76e9416f62
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jun 23 02:36:27 2002 +0000
+
+ added support for NV_vertex_program evaluators
+
+commit 837bf6e2dfe9600ed47701ec67fcf0d790776022
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jun 23 02:32:39 2002 +0000
+
+ Added new bitfields to tnl_eval_store for NV_vertex_program evaluators
+
+commit 775669f6efcc5c1ec5c6b1aa9db2b3a61d52824a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 19 21:49:37 2002 +0000
+
+ put XSync in get_buffer_size(), plus clean-up
+
+commit 02c03ef6b4762adf33b73528c9fd672ef4697763
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 18 16:53:46 2002 +0000
+
+ Moved GL_PROGRAM_ERROR_POSITION_NV state (it's not per-program).
+ Finished all glGet* queries for GL_NV_vertex_program.
+ Improved error reporting in glEnable/Disable/Get, etc.
+
+commit f92298623872d0e67749479886a445918347fde5
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Tue Jun 18 08:35:25 2002 +0000
+
+ Committing in .
+
+ Added mtypes.h inclusion
+
+ Modified Files:
+ Mesa/src/imports.c
+ ----------------------------------------------------------------------
+
+commit 10d7f540ff48aba45225463b36a5c274e5c8e173
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 17 23:38:14 2002 +0000
+
+ new fix for initial window size problem
+
+commit 85d816028a2472e0378afda65e7ab6f7ff4d76b4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 17 23:36:31 2002 +0000
+
+ Port glXCopyContext bug from 4.0 branch.
+
+commit d373819b8cfd0d4d44eaf495dd3ff90d8481572b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jun 16 03:57:48 2002 +0000
+
+ Joe Krahn's context sharing test program
+
+commit 83b820aa98931ef30fa73c72b2a96fe23885955e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jun 16 03:56:11 2002 +0000
+
+ Fix glXCopyContext bug
+
+commit 1043a6498a7f94922be5f4b5deac89fd05cfa670
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jun 16 01:14:22 2002 +0000
+
+ fix a comment
+
+commit d834e8da8847dd411d189684c56e1d7960f97303
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jun 16 01:11:10 2002 +0000
+
+ fixed window size initialization bug
+
+commit 8816c70a6116d790da856d8d18228d4013e7b8d6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jun 16 01:10:41 2002 +0000
+
+ added a comment
+
+commit d66ca10c53babe3d78b8b7e8a32a947566be3448
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jun 16 01:09:16 2002 +0000
+
+ added some braces
+
+commit e514cfea74c3322b7faba8c41191f8bf883dd24b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jun 15 03:15:16 2002 +0000
+
+ the GGI driver is up to date
+
+commit 4e99da15eb4323b8d91086816f7845def9ab5555
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jun 15 03:08:19 2002 +0000
+
+ test for GL_NV_texture_rectangle
+
+commit 9c0babf24fe93822bdcab7ed5210e5e05875f629
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jun 15 03:06:16 2002 +0000
+
+ added GL_ARB_texture_env_crossbar
+
+commit e769cda1ebc6b858a84e6933f1c0faa485ad5898
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jun 15 03:05:36 2002 +0000
+
+ updates to 4.1 features
+
+commit bfa168e3fcaf8a77897507d41a3d8bab3c70e2b8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jun 15 03:03:58 2002 +0000
+
+ updated with 4.0.x -> 4.1 porting info
+
+commit 8afe7de8deaf3c9613fd68b344de8c52b02b1879
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jun 15 03:03:06 2002 +0000
+
+ Implemented GL_NV_texture_rectangle extension.
+ Replace struct gl_texure_object's Dimension w/ Target field.
+ Added _EnabledUnits to struct gl_texture_attrib - the _ReallyEnabled
+ field is obsolete, but still present for now. This effectively
+ removes the 8-texture units limit, 32 units now possible, but unlikely!
+ New TEXTURE_1D/2D/3D/CUBE/RECT_BIT tokens for unit->_ReallyEnabled field.
+ Updated device drivers to use ctx->Texture._EnabledUnits.
+
+commit 8bdd0dc8d0e9c9cb2c71fbdd4c77e982cfc0b350
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jun 15 02:55:22 2002 +0000
+
+ #ifdef-out unused big-endian texel fetch functions
+
+commit 9d47f3d6b8e8054602a637fad70d4769427df8b4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jun 15 02:54:01 2002 +0000
+
+ added missing ctx parameter to _mesa_debug() calls
+
+commit 4753d60dd070bb08d0116076bcc08025c86ce857
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jun 15 02:38:15 2002 +0000
+
+ Added ctx parameter to _mesa_debug()
+ Added _mesa_printf()
+ Updated SetDrawBuffer() function in all drivers (ala 4.0.3)
+ Import 4.0.3/DRI changes.
+
+commit 5e54ddc3a69df060c3ca2acbdd45247e30c947d6
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Thu Jun 13 08:27:32 2002 +0000
+
+ Committing in .
+
+ Added <stdarg.h>
+
+ Modified Files:
+ Mesa/src/imports.c
+ ----------------------------------------------------------------------
+
+commit f8035450bbc6c09e9c046b0206162de486cd5f71
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Thu Jun 13 07:22:59 2002 +0000
+
+ Committing in .
+
+ Removed config.c
+
+ Modified Files:
+ Mesa/src/descrip.mms
+ ----------------------------------------------------------------------
+
+commit 4c4663747cea363e2254fccfea3c9419c2491285
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 13 04:50:09 2002 +0000
+
+ added Porting Information section
+
+commit d09a1d8b29ae5841ae39b5c24c3f4693dd750559
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 13 04:49:17 2002 +0000
+
+ more removal of fprintf() calls
+
+commit 2f35d5e9d53165f6baf2d4a7fece3bb39d945323
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 13 04:31:09 2002 +0000
+
+ fixed a couple dumb mistakes
+
+commit 9a33a11d714c90162d32781ebbd2c1dfab52cfd1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 13 04:28:29 2002 +0000
+
+ New _mesa_debug() function to replace fprintf() calls.
+ Some source files updated to call _mesa_debug(), but not finished.
+ Added __GLimports as a parameter to _mesa_create/init_context() and
+ updated drivers accordingly.
+ Fleshed-out more of the __GLimports and __GLexports functionality.
+ Removed run-time config file support (config.c)
+
+commit 1013e4650473ef0aceac7f3cd571b982ff249250
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 12 00:52:50 2002 +0000
+
+ Moved big/little endian code to glheader.h.
+ Define either MESA_BIG_ENDIAN or MESA_LITTLE_ENDIAN.
+
+commit 35883ceb9389f9e5b4be8233f2326367c6aecddb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 11 01:26:58 2002 +0000
+
+ Fix NASM problems, remove static var in SSE detection code. (Josh Vanderhoof)
+
+commit 4fe2f3f1a01b3825a6d24f5694d705aee6911a3b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 10 17:01:46 2002 +0000
+
+ Added CPLUSPLUS for sunos5 entries
+
+commit b58c5ad7b0a2c3ed3ecf189f284e23118091fa68
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 10 15:16:44 2002 +0000
+
+ GGI driver updates (Filip Spacek)
+
+commit dd41748f63b819c36c4234a525e5609660ceb395
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jun 8 12:39:18 2002 +0000
+
+ added missing texture cube map targets
+
+commit 3f058cd2c5a7e71eaff6adb011a78d797231e470
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 7 20:21:12 2002 +0000
+
+ version 15 of glext.h
+
+commit 9800adaed223035e90e53de4c31d59fd04237833
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 7 19:29:49 2002 +0000
+
+ s/GL_MAX_TEXTURE_RECTANGLE_SIZE_NV/GL_MAX_RECTANGLE_TEXTURE_SIZE_NV/
+
+commit 112f7cdeabebb487418ca10e5911920adfb7832b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 7 16:01:03 2002 +0000
+
+ fixed point sprite bug
+
+commit f21a4872e8218c0454107686a531eb0ff19c36bb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 6 16:31:24 2002 +0000
+
+ replaced hard-coded 4 with NUM_TEXTURE_TARGETS
+
+commit e0107e87a71ffcddc9400287ee675f0011cdc31b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 6 16:19:25 2002 +0000
+
+ replaced 0xf and 0xf0 with TEXTURE0_ANY and TEXTURE1_ANY
+
+commit 241afd837c09d42d38a23f9c5e988c50bfacfc30
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 6 15:33:37 2002 +0000
+
+ NASM fix for *_CONTENT() macros (Josh Vanderhoof)
+
+commit af2a1c1d679f870a8f30b17d3cf308807be3fb0e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 5 16:48:54 2002 +0000
+
+ more big-endian tweaks
+
+commit 28b03c6acb203bd4b523ea5ed39920bc52fc8fe5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 4 21:29:20 2002 +0000
+
+ use CONTENT() macro on line 205 (Josh Vanderhoof)
+
+commit f5a078197552bc956322e2fa292b034e4ccb9d82
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 3 16:06:34 2002 +0000
+
+ bring over Michel Daenzer's DRI changes
+
+commit 91d6f12b4ad4d5dde42ef0c86e4531a60f770dbd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 29 15:23:16 2002 +0000
+
+ added another spot-check to verify dispatch table correctness
+
+commit 60f1a3c288dd663ff420fada558763d7524e499b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 29 15:16:01 2002 +0000
+
+ Added GL_NV_point_sprite functions: glPointParameteri[v]NV().
+ Removed dead ARB_window_pos functions (we alias the MESA_window_pos funcs).
+
+commit 1d155c1dd878d59f7cfdb6c4dfd5fc2ac2853573
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 29 15:14:13 2002 +0000
+
+ added GL_NV_point_sprite entrypoints
+
+commit 4290dbac4d8a2789e7b6496ca0239096d82bd90b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 27 17:13:42 2002 +0000
+
+ added -axK to linux-icc CFLAGS
+
+commit a078d75a27b99252ede6520e24b145106ab98aa2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 27 17:06:59 2002 +0000
+
+ some initial work for fbconfigs/pbuffers
+
+commit 1c40d5001456ae5cae8ab0837761ea4e2fff4473
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 27 17:05:51 2002 +0000
+
+ added GL_NV_point_sprite
+
+commit f105bc409511ecd4d9bdb91c10963123cdf999fa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 27 17:05:19 2002 +0000
+
+ removed experiemental GL_MESA_sprite_point extension
+
+commit 6c408b46678637959dba04663fbc34eb9c4bc397
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 27 17:04:52 2002 +0000
+
+ replaced experimental MESA_sprite_point with NV_point_sprite
+
+commit 23d8ef3937b3b66684f7feb62446abca8e91d307
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 27 17:03:08 2002 +0000
+
+ dispatch offsets for ARB_window_pos
+
+commit 22538b23b4e6026211cc795e16645c8c4778b369
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 27 17:00:18 2002 +0000
+
+ updated vertex program dispatch
+
+commit ee29d3b42adba1dbb685f9a1066199ca4e6e87c8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 27 16:58:24 2002 +0000
+
+ updated vertex program dispatch offsets to official values
+
+commit 02e0de263eb784e19f23182652619a2f064d6dec
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat May 11 08:38:25 2002 +0000
+
+ another checkpoint of struct immediate replacement code
+
+commit 002483e009e7c8610a5abfbf61a43694cb34e1d3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 9 21:54:16 2002 +0000
+
+ Minor change to current raster position and texcoords.
+
+commit 9228a9362cbdc6894731bf6e4ba38162eea1e6db
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 9 20:51:05 2002 +0000
+
+ Fix FETCH(argb1555) mask values
+
+commit 79cfdebbe071965e75ca3f9694fb62217215b900
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 6 15:46:05 2002 +0000
+
+ remove -xK flag from linux-icc
+
+commit 30ec9dbaedacfd89d07aae6330d863d732a589bd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun May 5 16:00:06 2002 +0000
+
+ added linux-icc config (Marc.Dietrich)
+
+commit a5cdf99951cbee5d23d681297742a6436152c09c
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu May 2 09:17:59 2002 +0000
+
+ remove test code
+
+commit 056b35874bce92bafa145f867de9e628a61eaacf
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Thu May 2 09:15:22 2002 +0000
+
+ glutSwapBuffers implicitly does a glFinish when swapping back to the front
+ buffer. We now issue a glFinish when not issuing SwapBuffers to ensure
+ the pipeline is complete.
+
+ (Problem found with Chromium).
+
+commit f595212336ae63c981f0f39f4ea1dec67ff7fe25
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 2 00:59:20 2002 +0000
+
+ Implemented GL_ARB_texture_env_crossbar.
+ Simplification of some of the texture application code.
+
+commit c450d57991628318696ee7a2bd052f91f480cda3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 26 13:59:09 2002 +0000
+
+ replaced GLshort with GLushort in _mesa_sizeof_packed_type()
+
+commit 18385b0f4e9ceb0919c4870cd330c1d8fc240c3e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 26 13:40:11 2002 +0000
+
+ added GL_TEXTURE_MAX_ANISOTROPY_EXT to glGetTexParameteriv()
+
+commit 57c35b162e0d857a7f6ee80c9248b5ac1b8ab98d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 25 22:11:33 2002 +0000
+
+ added GL_TEXTURE_MAX_ANISOTROPY_EXT to glGetTexParameter (bug 548812)
+
+commit df7bd4bf11dfab769cab2043c53ca99a347ca1a5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 24 20:11:20 2002 +0000
+
+ test mapsize against 1, not 0 in glPixelMap()
+
+commit fb689193622362976c8e0fe3d85b8f52e6a34246
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 24 20:05:26 2002 +0000
+
+ added GL_EDGE_FLAG_ARRAY_COUNT_EXT to glGetBooleanv() (Bug 548277)
+
+commit dc2270b461cd84df4ea02a7ac024198949f55e8b
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Tue Apr 23 18:39:09 2002 +0000
+
+ Apply alpha buffer control fix to accum buffer too.
+
+commit e694a8765a2406838354e39d5c40dab5fbb744e9
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Tue Apr 23 18:23:32 2002 +0000
+
+ Fix up alpha buffer handling for Windows.
+ - add two new Pixel Format Descriptors that do not have alpha bits to
+ mirror the two that do.
+ - add logic to wglChoosePixelFormat to match PFD's with respect to alpha.
+ - Create/clear software alpha buffer as required.
+ Now a wgl or GLUT program can control the creation of a software alpha
+ buffer via the PFD or GLUT parms, respectively.
+
+commit 62c36a2ff39d775c1f1bc377b9ddbc69e2340799
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 23 16:44:46 2002 +0000
+
+ call _mesa_sizeof_packed_type() in _mesa_GetTexImage() (bug 547203)
+
+commit dec0131a29584171f88e6734c0ec6a429c22b007
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Mon Apr 22 20:00:16 2002 +0000
+
+ Test for NULL pointer for LoadMatrix(), MultMatrix() and
+ Load/MultTransposeMatrix() and return without recording any errors or
+ doing any multiplication.
+
+commit fdd631a941b4c71c50b64cea2575ab0e3bbe1968
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 22 16:03:37 2002 +0000
+
+ removed CVS $Log comments
+
+commit 62954c8c30cf7ca321ef0de0c02edb46950664ec
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 22 15:53:54 2002 +0000
+
+ test program for NV_vertex_program + vertex arrays
+
+commit bcc5d46b08ce81c993266f6bd73ee73892ecbadb
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Mon Apr 22 10:29:43 2002 +0000
+
+ Committing in .
+
+ Remove __FUNCTION__ macro definition from CC compile definitions.
+ (OpenVMS only)
+
+ Modified Files:
+ Mesa/src/descrip.mms
+ ----------------------------------------------------------------------
+
+commit f55b303fc2775e36989c7f5168f2917719a20605
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Apr 21 21:12:49 2002 +0000
+
+ added to-do list for the 4.1 release
+
+commit 61bac6014aa15e0bec134e290aebac18f9815299
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Apr 21 21:04:46 2002 +0000
+
+ check for vertex program mode
+
+commit 28c61d5b4918cec89ada335bfb9f83d5ae3872f0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Apr 21 21:03:02 2002 +0000
+
+ fixed assertion, replaced switch() with if/elseif
+
+commit 12bab63f09975504c20a5dc9b9831a8072c43506
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Apr 21 20:37:04 2002 +0000
+
+ Vertex program attribute arrays seem to work now. This includes fallbacks
+ to the conventional arrays when attribute arrays aren't enabled.
+
+commit f3781eaafa54d1e4fef0de427b294c02257a3c4d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Apr 21 19:39:48 2002 +0000
+
+ added support for vertex program attribute arrays
+
+commit b7752724d930aa8b93617829d814b20509f85069
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Apr 21 18:49:18 2002 +0000
+
+ vertex program attribute array work
+
+commit 1113e3266f1a9df3506fb80189bfe00d9681b55e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Apr 20 17:54:55 2002 +0000
+
+ fixed Width/Height cut&paste typo
+
+commit 04df3bbe8e12d7ac44936d5de75933b28a51a8e3
+Author: Jose Fonseca <j_r_fonseca@yahoo.co.uk>
+Date: Fri Apr 19 21:27:12 2002 +0000
+
+ Re-scheduling of the instructions according to the MMX pairing rules. This is dificult to quantify but the improvemnet reaches about of 0.7% in some cases in a Pentium III. In older Pentiums the improvements could be quite substancial due less capable integer pipelines.
+
+commit 3fe2bb8933c15a7091838fd982dbad402fe6ad43
+Author: Jose Fonseca <j_r_fonseca@yahoo.co.uk>
+Date: Fri Apr 19 20:12:30 2002 +0000
+
+ Added min and max blend functions.
+ Slight optimization of _mesa_mmx_blend_add.
+
+commit 4fa66fa85ccc1b35411c1deb65119cde6c9d44a4
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Apr 19 15:49:40 2002 +0000
+
+ Provide a reasonable replacement for __FUNCTION__ when using non GNU C
+ compilers. This allows Mesa to compile with non GNU C compilers again.
+
+commit bf80e1ed620836e2ca0dd3f7d2d4cb187d17563d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 19 14:05:50 2002 +0000
+
+ Allocate a sw_span struct in the swrast context instead of allocating it
+ on the stack frame in the point/line/triangle functions. (Klaus Niederkrueger)
+ This should solve the performance problem Karl found on Windows.
+
+commit 05be7ae1253ad68d80816395c3d09665e5619ebc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 19 12:32:14 2002 +0000
+
+ pass context pointer to _tnl_free_immediate(), removed backref pointer
+
+commit 0c527ab0546eb1de9ee10cc31bc386a40e6b3f98
+Author: Jose Fonseca <j_r_fonseca@yahoo.co.uk>
+Date: Fri Apr 19 10:53:08 2002 +0000
+
+ MMX add blending function added.
+
+commit 533e88824af9f60a926e7b70ddd40ad1386be686
+Author: Jose Fonseca <j_r_fonseca@yahoo.co.uk>
+Date: Fri Apr 19 10:33:34 2002 +0000
+
+ MMX modulate belding function added.
+ Factorization of more common MMX code.
+
+commit 68c48df2bf8dd57ce96db430fff1b69f40a793ce
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Apr 19 08:38:23 2002 +0000
+
+ Correct check for noop array state change (Raystonn)
+
+commit 26e2fb062ad4513fe88cd7c40384c58b70d88819
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 19 01:08:48 2002 +0000
+
+ removed a stray debug printf
+
+commit 4c5f8a82072e7c88bec67fd1c971db28bd1e4462
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 19 00:47:07 2002 +0000
+
+ C++ fix
+
+commit 7322cccfb9a6b640743ca8cb527f7af922260cb8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 19 00:45:50 2002 +0000
+
+ new casts
+
+commit 6c5b7029b3b805ecfae310a6e5fef15a5609a521
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 19 00:42:20 2002 +0000
+
+ added two (GLchan *) casts
+
+commit a670c1280b78e6da3b298b61f623e4c733c6be94
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 19 00:38:27 2002 +0000
+
+ casts to fix GLint/GLuint mismatches
+
+commit db07de057f10ab7ab5be84352b674b200a0a9e22
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 19 00:23:08 2002 +0000
+
+ added some casts
+
+commit 36c3df78f4592443de7c065b6d539f4c2914d870
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 18 14:57:00 2002 +0000
+
+ restored writeAll = GL_FALSE test/assignment
+
+commit 55d9ee83b4c29e8f7c373ee6326bbb4f77402bee
+Author: Jose Fonseca <j_r_fonseca@yahoo.co.uk>
+Date: Thu Apr 18 11:57:28 2002 +0000
+
+ Definition of several utility macros for self-contained MMX operations such as scaling and lerping.
+ Restructured the MMX blending function to use a template, being only necessary to specify the main loop, which is also used for making the runin and runout sections.
+ Optimization of the MMX function after remembering that the multiplication was commutative (how can somebody forget this..) resulting in less register usage. Now there is no need for generate or read from memory any constant inside the loop.
+
+ Assemblers other than the GNU assembler can choke on the output of the C preprocessor since it was necessary to add line separators ';' to the defined macros.
+
+commit 9ff3e9d992bcd7b195feb39a2aacc7d0ea43bd5a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Apr 18 08:17:03 2002 +0000
+
+ Core of the future vertex engine. Isn't built yet, nor will be for a while...
+ Checkpoint commit.
+
+commit ef65c60d887e47d9f5da72b415b52e215850988d
+Author: Jose Fonseca <j_r_fonseca@yahoo.co.uk>
+Date: Thu Apr 18 08:09:50 2002 +0000
+
+ Removed code that was proven to have faster alternatives to reduce complexity and facilitate reusability.
+
+commit 4c1f79264e1923b21571abb13983f38ea1a90dee
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 17 19:30:41 2002 +0000
+
+ fixed problem with swap() function and GCC3 (patch 414404)
+
+commit 620735af454cc2617d3d2fc681cf86f1bf47f833
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 17 19:08:32 2002 +0000
+
+ Disabled SPARC cliptest functions for now. See bug report 544665.
+
+commit d60bb2fbc8b61e9748ce9c235acd4e870a2df613
+Author: Jose Fonseca <j_r_fonseca@yahoo.co.uk>
+Date: Sun Apr 14 11:33:54 2002 +0000
+
+ Remaining patch for the 255x255=255 identity correction be
+ made also in the runin and runout section of the code.
+
+commit cffb351a62ebc0e1954422cf749458106671b9d6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 12 21:56:42 2002 +0000
+
+ Jose's latest patch (GMBT_GEOMETRIC_CORRECTION)
+
+commit 8c598cfd8280357de7777019afa2a3d6ae0a7781
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 12 21:17:28 2002 +0000
+
+ fixes for corrected GL_DOT3_RGB[A]_EXT token values
+
+commit cb445412fc57a9622d75cb3bf09c3477f9e2c1b0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 12 21:09:12 2002 +0000
+
+ version 13 of glext.h - fixes GL_EXT_texture_env_dot3 token values
+
+commit d23de4d33493e6d90f82bf067e4bbc663163258a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 12 15:47:21 2002 +0000
+
+ updated a few comments
+
+commit b7f5e92f1749ce4601a758f66ddc64959f11742b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 12 15:39:58 2002 +0000
+
+ Klaus Niederkrueger's latest changes: use INIT_SPAN() to init span primitive
+ type, width, interp mask and array mask.
+
+commit 9add9a21d8c51ee4238169265541fa9a40f0a8b0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 10 16:32:32 2002 +0000
+
+ new MMX blend code (Jose Fonseca)
+
+commit 0cd8a1ea13f013df8e3fd16793a2a0aea4fed68d
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Wed Apr 10 13:17:59 2002 +0000
+
+ Committing in .
+
+ Update OpenVMS makefile
+
+ Modified Files:
+ Mesa/src/descrip.mms
+ ----------------------------------------------------------------------
+
+commit 306d3fcdbad523428501833405e47e9897896def
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Apr 9 16:56:50 2002 +0000
+
+ bring in changes from dri tcl branch
+
+commit e503d8b56f45aceb719adc3db3a855a0bda6bb13
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Tue Apr 9 15:33:49 2002 +0000
+
+ Update filelist to reflect two removed source files.
+
+commit 0a79baf1bff93718e50a3ba4bad6390ea1cfb01c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Apr 9 14:58:03 2002 +0000
+
+ remove dead vertex assembly
+
+commit 851de7ded1e16aa0360ef290ec342c66463b25b2
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Apr 9 14:47:57 2002 +0000
+
+ remove dead vertex assembly
+
+commit c030a18ea6a07f10fc0873695fb34c11d8239423
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 8 15:37:13 2002 +0000
+
+ tranforming display list normals by non-uniform scale didn't work (Carlos Pereira)
+
+commit 17642eddf49acea0d9409426aab719539e7dcb6d
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Apr 5 17:40:20 2002 +0000
+
+ Added -perf option to measure frame rate. This is useful for measuring
+ Mesa in a more environment-independent way.
+
+commit ebe4e3237c65d85bd25e66c2cf7125c2cf536a1d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 4 23:59:14 2002 +0000
+
+ repair Array.NewState flags (Michael Fitzpatrick)
+
+commit 14209028b611a6c0056d165c6ef0fa2234fb3754
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Apr 4 18:27:49 2002 +0000
+
+ export more symbols for osmesa (win32)
+
+commit 4d030ba65177842dbc022160ba18d5451dc140e4
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Apr 4 18:25:40 2002 +0000
+
+ casts to silence compiler warnings
+
+commit db0944b08a9bf2983cfed56039dab6ca800f02b4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 4 17:01:50 2002 +0000
+
+ latest 4.1 features and bug fixes
+
+commit 42f916de5cb3f4362e4682cdaa5eea00fe2de857
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 4 16:59:05 2002 +0000
+
+ fixed some 3D texture image stride bugs when using 16-bit channels
+
+commit 01dc182ee86922845ba0b17a2cda9af19150c93a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 4 16:58:04 2002 +0000
+
+ added OSMesaGetProcAddress()
+
+commit 486734a5d50ff9114b567b5e9eac6337248a80e6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 4 16:56:24 2002 +0000
+
+ Texture combine alpha subtraction was wrong. Fixed 16-bit channel glitches
+
+commit 09784e1e158c6b025342a44b3a2e8e1c336199e3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 4 16:53:59 2002 +0000
+
+ use NULL lambda array for pixel texture
+
+commit d5c94ef40d9dfef9ad4ecaa56218150f903014e3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 4 16:53:26 2002 +0000
+
+ fixed 16 bit/channel problem in blend_modulate()
+
+commit 543381510d942246020dfe5f71748539fed0d290
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 4 16:53:00 2002 +0000
+
+ fixed 16/32-bit channel problems in CopyColor[Sub]Table()
+
+commit 1d84421b7e29079e25689185edcff62e7ba42e0a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 4 16:51:52 2002 +0000
+
+ fixup float/ushort conversion macros
+
+commit 6b50a004ffb885dd86dd611979348bdf69b1151c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 4 01:40:18 2002 +0000
+
+ blend_add() modified for GLfloat channels
+
+commit 02ee456248c75cfee324164ec6fd81a3b77ec2bf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 4 00:54:02 2002 +0000
+
+ call _mesa_ResizeBuffersMESA() in OSMesaMakeCurrent() to reconcile buffer size changes
+
+commit db30cc8d0011b3668d2ff371675796a10da80ae2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 2 23:53:56 2002 +0000
+
+ added an error check
+
+commit 99aab341998e84d9fa208c525cae8021b3845812
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 2 23:52:53 2002 +0000
+
+ return NULL from Fake_glXCreateContext() if dpy or visinfo are NULL
+
+commit b63e8556fa9655bdfcc69fa04663e854f7fb2fbd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 2 23:36:50 2002 +0000
+
+ more blending updates from Jose
+
+commit 31fe0ade35a4d09087c575e99ecbbe6505b6e4de
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 2 16:20:00 2002 +0000
+
+ minor re-org
+
+commit 9de4782e49fd84951e3eb322eec6f1332680b2e8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 2 16:19:21 2002 +0000
+
+ added GL_ARB_point_parameters
+
+commit f9e75c31e8c22828ca9829a1a32226f6569cc5f2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 2 16:18:20 2002 +0000
+
+ DJGPP updates
+
+commit 17b7cc4caeeb8f3daaf417d417e7e3a9a5d639d1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 2 16:16:45 2002 +0000
+
+ faster blending (Jose Fonseca)
+
+commit 01bcd83defe1e258007a4449edb8bd3072f008b0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 2 16:16:14 2002 +0000
+
+ updates from Jose Fonseca
+
+commit 1537b63fce36f87b3606d0e7cdca2d10bbdffd56
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 2 16:15:16 2002 +0000
+
+ GL_ARB_point_parameters support
+
+commit 86a7cc6f2c6ec49b5f09f03a872a49bce5afbe85
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 1 17:03:38 2002 +0000
+
+ minor optimization in GL_TRANSFORM_BIT popping
+
+commit 6c921af034525fc28f006e447f62a31e00649f2c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 1 17:01:33 2002 +0000
+
+ DOS driver update
+
+commit a97d216adb6cd97926d760a4b5eadfaf1fda29f7
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Mar 29 23:49:51 2002 +0000
+
+ Add _glapi_get_context to export for osmesa.
+
+commit 103bc0f75c00dfcf671dc50d8d9666f88a42a59d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 29 17:27:59 2002 +0000
+
+ Replaced ClipEnabled[] array and _AnyClip with ClipPlanesEnabled bitmask.
+
+commit 23d319fc7dda3ae3639c05cd2c7a8bcdac9eac36
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 29 17:20:48 2002 +0000
+
+ use _glapi_get_context() instead of GET_CURRENT_CONTEXT(ctx); in buffer_size()
+
+commit a68b8dfd76fa25b8e4ecaf1c6961a958e0fdfd3b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 29 17:18:08 2002 +0000
+
+ Use invert_matrix_general() instead of invert_matrix_perspective() because
+ the later fails for some projection matrices (ala Vis5D with Chromium).
+
+commit f66de793654e20704a8180538207a4736ada7996
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 28 22:45:45 2002 +0000
+
+ decrement Transform._AnyClip when clip planes are disabled
+
+commit 934bee04f2e89ecca9861672e48fa0f958c78867
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 28 22:42:41 2002 +0000
+
+ popping of user-defined clip planes was broken
+
+commit 7c8b5399f079e35a5b5d91fc7c59a2d969b51d85
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 28 16:24:14 2002 +0000
+
+ reset span.end to zero after rendering the span
+
+commit c02861778493ca65508e4dbbc2b907751811c845
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 27 15:49:27 2002 +0000
+
+ fixed inequality in an assertion
+
+commit e6f2b4174b988b88d341d18d2d12ff031e8f1eb2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 25 17:24:43 2002 +0000
+
+ removed a bad assertion
+
+commit 2161b8cf0349f6d0759bb4acaa4531f9f37aac9d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 23 16:35:40 2002 +0000
+
+ more extensions
+
+commit 3c70f6f2ac833dbbe9b6a9908e344095e499f295
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 23 16:34:18 2002 +0000
+
+ exercise GL_EXT_shadow_funcs
+
+commit 636b2801d981872d3111be0cd11aa79b4cc8643b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 23 16:33:53 2002 +0000
+
+ Test implementation of proposed GL_EXT_shadow_funcs extension. This just
+ generalizes the R/texture comparision operators to include all eight of
+ the depth test comparisons.
+
+commit 25b85bf02a7b8c0c689b7505a1e4dae7f445a8f2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 23 02:38:39 2002 +0000
+
+ bring over from the 4.0 branch
+
+commit 4544bd22fdd3fddbf77701c13c899f63e58aaed3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 23 02:38:10 2002 +0000
+
+ added 4.0.2 info
+
+commit 252250ae64c8befb7bfed20089e8f418cfd09a11
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 23 02:37:17 2002 +0000
+
+ re-adding a lost file
+
+commit e69bfe74d7f887fb516f300f575d43b9903d9ab3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 23 02:34:07 2002 +0000
+
+ DOS/Mesa driver updates (Daniel Borca)
+
+commit 6211144e056954f5b7a2d5c29f5a337154895217
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 23 02:30:18 2002 +0000
+
+ use -O3 to compile osmesa16/32 targets
+
+commit 7de02fef5b912995a974939124ed0201e400a03f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 23 02:29:37 2002 +0000
+
+ replaced an assertion with a conditional
+
+commit 819505ad2a77679bbb71a60a9aae8b2d6ddffa06
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 23 01:49:58 2002 +0000
+
+ removed temporary GL_ARB_texture_mirrored_repeat enums
+
+commit 8334c89e70cbbd57092e3e11b9c894138b3a7953
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 23 01:48:18 2002 +0000
+
+ removed temporary ARB_texture enum defs
+
+commit e3af5354a6090666a03586693865fd0d51d994d0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 23 01:47:27 2002 +0000
+
+ latest extension headers from SGI
+
+commit 491e573c38ae5e0910e9690cd188e0eee9a922c8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 20 22:07:17 2002 +0000
+
+ removed glSamplePass()
+
+commit 80ac8d171ce5d20fb4b2fc125797694828758581
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 19 16:48:06 2002 +0000
+
+ don't set plane mask for xm_buffer->gc, it causes an accum buffer conformance problem
+
+commit aeb4434563c4014a662ea334878b60d3031bb3c1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 19 16:47:04 2002 +0000
+
+ Use MESA_PBUFFER_ALLOC/FREE macros to allocate all framebuffer and texture
+ memory. These can be overridden by applications which need to manage this
+ memory specially. Contributed by Gerk Huisma.
+ Also, new code for 8-bit -> 16-bit/channel texture image storage which
+ fills in the least-significant bits properly.
+
+commit d0570646bd67eae8152b63ccaf5c73970b1f56ea
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 19 15:22:50 2002 +0000
+
+ fix Intel C compiler warnings (Gerk Huisma)
+
+commit f7c830e35ca243c391bde1bfd0ae059c292ac649
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 16 18:07:39 2002 +0000
+
+ rename ResizeBuffersMESA to ResizeBuffers
+
+commit ac5bbe4c4a7271b60c6c0da45b4d82d4b915bd81
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 16 18:03:40 2002 +0000
+
+ added latest 4.1 bug fixes/updates
+
+commit 31f12f504e61cb2ad65b8890a68eb7154edcb64b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 16 18:02:07 2002 +0000
+
+ New mipmap lambda calculation. Previously, trilinear filtering could
+ result in _very_ blurry textures. Still need to do some optimization
+ of the new code in s_span.c
+
+commit bc6b60c4ff81c4d677251e4c7262c0df26cda6a6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 16 00:57:14 2002 +0000
+
+ buffer resize changes
+
+commit 93c132a058eb44e824615f10cf53f30f2326d807
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 16 00:53:48 2002 +0000
+
+ added XMesaResizeBuffers()
+
+commit 18a285a5e244b7405b85feb7315a30d99920ec5d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 16 00:53:15 2002 +0000
+
+ Lots of changes related to framebuffer/window buffer resizing. Basically,
+ instead of passing a GLcontext* to ResizeBuffers(), pass a GLframebuffer*.
+ The idea is that a window can be resized without it being bound to a rendering
+ context. This makes for a nice clean-up in the XFree86 server-side GLX code.
+ Renamed ctx->Driver.ResizeBuffersMESA() to ctx->Driver.ResizeBuffers().
+
+commit 8d687e7e58a148f3f16573636023e54755372010
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 15 18:43:25 2002 +0000
+
+ protect currentReadable reference with #ifndef GLX_BUILT_IN_XMESA
+
+commit 1d822ea8cfa765802fe63b1a5d8d2bd83118007f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 15 18:33:12 2002 +0000
+
+ updated comments. removed dead code.
+
+commit a72edf01ba366b305e37dae6bba5cef4e6323a7a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 15 18:24:53 2002 +0000
+
+ remove a debug printf
+
+commit 8843d52af1c139d78b9f831dfc117a8390a51fda
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 15 18:05:49 2002 +0000
+
+ fixed typo in CONVERT_TEXEL_DWORD for convert_abgr8888_to_ai88 textures (Michael Fitzpatrick)
+
+commit 612fc012934d9ec61972c3cfd914923937339611
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 14 22:09:25 2002 +0000
+
+ fixed pointer arithmetic error in glCopyPixels
+
+commit d488af5b34e390a9b81dac96053bd45f34ffffff
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 13 04:34:32 2002 +0000
+
+ added _mesa_image_image_stride()
+
+commit 9a888bdc2a40fd329cbc68de1c465228a5c3887c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 13 04:33:32 2002 +0000
+
+ added a comment
+
+commit f9708e45ac819a0c589e14ea81e635fbbc8033f8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 13 04:33:16 2002 +0000
+
+ initial work for NV_vertex_program1_1 extension
+
+commit 1d01794e6efa2a366057412f24f82504cc3c2d87
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 12 21:55:50 2002 +0000
+
+ Removed the xm_context field from XMesaBuffer. It was preventing N threads
+ from rendering into one window in parallel and wasn't really needed anyway.
+
+commit 5033f21d05eb266c7c4edfdee8d133b0d6a8739e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 11 14:59:50 2002 +0000
+
+ tweak file list for tarballs
+
+commit 1c91fe2e3f6d215129a33783ad62d13ec91b7b3d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 11 14:57:40 2002 +0000
+
+ obsolete
+
+commit a3e44f453190114281a83e93740be8c2b25274b6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 8 19:44:28 2002 +0000
+
+ fix some minor warnings
+
+commit b43a828ad44d0ff092c667f0ba289b8200aef22c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 8 19:27:17 2002 +0000
+
+ DOS driver updates from Daniel Borca
+
+commit 7fd50afbbf8bb36642efe0254706039af3c9c588
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 8 19:24:56 2002 +0000
+
+ new DOS driver files from Daniel Borca
+
+commit 2b9ba3f84f98d81ab6af55d292499b44f92b7cad
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 8 00:09:18 2002 +0000
+
+ new assertions, use INLINE macro (Klaus Niederkrueger)
+
+commit 5104b4d9df28f5bcb879b16bf5cef4ab0addda85
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 7 21:50:41 2002 +0000
+
+ minor patches from David Dawes
+
+commit 0b2fa873c6da02f169a76d74d3bedd91236f8e28
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 7 21:40:08 2002 +0000
+
+ syntax fixes for Solaris (David Dawes)
+
+commit c5a76cbed41b5816d2f5284f90c70364b062aea4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 1 04:28:32 2002 +0000
+
+ silence gcc warnings (Marc La France)
+
+commit 09a0cb464d2bc661859c6435f2145e8a5ece005a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 1 04:23:36 2002 +0000
+
+ updated comments for CHAN_BITS=16 or 32
+
+commit aa24e9171aa6279de40a11835d84ba431b7ed48c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Feb 25 22:18:14 2002 +0000
+
+ use official enum values for GL_ARB_depth_texture and GL_ARB_shadow
+
+commit e0193a9425807cc61779c3b8680c5b551685ba65
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Feb 23 17:11:27 2002 +0000
+
+ DOS updates from Daniel Borca
+
+commit c7a3356746b8751fa0f04c8c0b674e26d73fdb76
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 21 15:12:31 2002 +0000
+
+ Fixed out-of-bounds memory write problem (CONVERT_TEXEL_DWORD macro).
+ Renamed 'packing' to 'unpacking' since we're moving data from client -> GL.
+ Rnamed DST_ROW_WIDTH to DST_ROW_BYTES.
+
+commit d0271502f81a24cbe5959e1159eddba49b7d66ce
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 20 23:59:03 2002 +0000
+
+ check for initialized XMesaBuffer in XMesaGarbageCollect()
+
+commit ad7306b23cbcc55cb9c943de8da2e3f80b3b46c4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Feb 17 17:58:31 2002 +0000
+
+ Updated 1D/3D/cube mipmapping code to work like the new 2D code.
+
+commit 9ff74a0f15aec40a2213f71cf6f5809793574b77
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Feb 17 17:37:55 2002 +0000
+
+ undo some debug changes mistakenly checked in earlier
+
+commit 711e27fda27e4235b20a4cf73c2767c984ab2b81
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Feb 17 17:30:57 2002 +0000
+
+ Simplified fog code.
+
+commit 983bc3e018ad6a36f0feeac70974cb30a90698b8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Feb 17 17:30:23 2002 +0000
+
+ don't include s_fog.h
+
+commit 4f252bd98048736a489b07f973c8e7f39d713877
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Feb 17 01:58:59 2002 +0000
+
+ Lots of improvements in the 2D texture sampling code. Fewer function calls
+ and no more switches inside loops. To do: give the 1D/3D/cube routines the
+ same treatment.
+
+commit c14a5a6c6285b29860a722359faa11a16da4eac9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Feb 17 01:49:31 2002 +0000
+
+ Optimized the interpolate_texcoords() function:
+ Use fast approximation to log().
+ Check for dq==0 to avoid a per-pixel divide.
+
+commit 8baae48fb7e8cdc3490b9e090c1a7e321b243992
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Feb 16 23:44:46 2002 +0000
+
+ removed dead code
+
+commit f204c9d2bbf7351420054494fe2f90031f572f11
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Feb 16 14:54:18 2002 +0000
+
+ updated to use GL_ARB_depth_texture, GL_ARB_shadow, GL_ARB_shadow_ambient
+
+commit 9ac7182ec4558cb0c3a6481c72732f05feb50a60
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 15 19:15:33 2002 +0000
+
+ use separate GC for SwapBuffers to avoid colormask problem
+
+commit 026c036be0cff7921341a6ea66bc99c4c4761557
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 15 16:48:48 2002 +0000
+
+ include string.h to silence warning
+
+commit 78a21f96b5664b813c0d7b19db5cebd60c644deb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 15 16:41:36 2002 +0000
+
+ added new depth_texture/shadow tokens (temporary)
+
+commit 2e47ff7b9c4b7092c9a1d6c29eb03f440cd701a0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 15 16:37:36 2002 +0000
+
+ Finished up GL_ARB_depth_texture and GL_ARB_shadow
+
+commit 9a3061715cfa8339fa792f67d5c32ea12fee3def
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 15 16:32:36 2002 +0000
+
+ updated VERT_BIT_* definitions
+
+commit 4182cf60d96a077a66675e89694529b5f9e4b329
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 15 16:32:06 2002 +0000
+
+ Finished up GL_ARB_depth_texture and GL_ARB_shadow.
+
+commit c9ceef41fe89f5ba6e16ec51c1f9b7bfd8119c64
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 15 16:27:13 2002 +0000
+
+ GL_ARB_window_pos fog fix
+
+commit a8f2efd1476878c3acad2a03f3164b5a691ea366
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 15 16:26:08 2002 +0000
+
+ finished up GL_ARB_window_pos
+
+commit 70b8d304bb5224698aaf9d76dd603c8293d0bbf3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 15 16:25:16 2002 +0000
+
+ added a glClear() error check
+
+commit 4ba35633d65be1ade60946bba36b5dd51880e13a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 15 16:24:37 2002 +0000
+
+ fixed a multitexture MatrixMode() bug
+
+commit c4c4213b69b599bcdefe1c7720908fe5884f44b6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 15 14:10:19 2002 +0000
+
+ obsolete
+
+commit ce57201825e661800ce39e98eeae090ac118cdcf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 15 03:41:47 2002 +0000
+
+ uniformly pass texcoords as GLfloat [4]
+
+commit 09700ee358cd07634161ac7802e97ddbe6c075bf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 15 03:41:00 2002 +0000
+
+ added alternate glBitmap code (disabled)
+
+commit a048da076711e38829402418d1d96acfaa8360ee
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 15 03:39:37 2002 +0000
+
+ added SPAN_SPEC flag in smooth_multitextured_line()
+
+commit 3ff07d20621811178b64a935f1de0400bde902aa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 15 03:38:12 2002 +0000
+
+ fixed float->int conversion. Fix conditional for 16-bit Z buffer path
+
+commit ca7596e8348f3e065609b9840e8fe98d177aa89d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 14 00:40:24 2002 +0000
+
+ updated GL_VENDOR string
+
+commit 95e2c72fd52d87163eb543555345f115f050f3aa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 14 00:39:53 2002 +0000
+
+ minor clean-up
+
+commit d4e02d60260cd93446d42fcf30b24430b396478e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Feb 13 23:53:19 2002 +0000
+
+ Remove debug
+
+commit cbd9a0254ec5da80b87cd5821d3871d0606234f2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 13 02:23:33 2002 +0000
+
+ now supports > 2 texture units
+
+commit 0cb28418d06c30e431bdff515c1d36a812d5950d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Feb 13 00:53:19 2002 +0000
+
+ More suport for t&l drivers
+ Fix GLuint compare bugs
+ Fix RESET_STIPPLE calls
+
+commit 12a1024d9d003afe1212cc48af04dac81c034299
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Tue Feb 12 16:45:22 2002 +0000
+
+ fix compiler warning (windows)
+
+commit 38d042a4ad76ccc30b50571135bbf0fdb912d656
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 12 16:07:47 2002 +0000
+
+ silence compiler warnings
+
+commit 69d4ae7bb3bf4a535673cb9ba99d181c12a52e43
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 12 03:28:48 2002 +0000
+
+ add new DOS files to tar file list
+
+commit db41d2ea8c8b6ceddf54f87268085a83d8f342ba
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 12 03:24:56 2002 +0000
+
+ Daniel Borca's new DOS/DJGPP driver.
+
+commit cc27365d775632647a1d07d78203421d27e8cd1c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 12 03:24:06 2002 +0000
+
+ Daniel Borca's GLUT for DOS/DGJPP.
+
+commit bcb148de9201c7f90a68c7c46434e7ebf7204000
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 6 03:22:47 2002 +0000
+
+ added an assertion, fix typo
+
+commit 2784dadafc82595e885fa3158ac8bdfb68c362a5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 6 03:22:00 2002 +0000
+
+ fixed typo in depth_test_pixels(), should fix reported VTK failures
+
+commit c4afba36c3d4b45105bbba3252a3bd7f501bee22
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 5 23:21:45 2002 +0000
+
+ fix evaluator data and matrix stack mem leaks (Robert Bergkvist)
+
+commit 79c2f534916046fab91f53ebd37f705bd25f7dcb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Feb 4 15:59:29 2002 +0000
+
+ Clean-up and remove dead code related to depth/stecil testing.
+
+commit ac8c241e6419f1bd85aa37849a8d7b3c050ff97b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Feb 2 21:41:58 2002 +0000
+
+ removed references to removed source files
+
+commit b37a084357dd08573b86d6d8c5ba43d65bdc1bd7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Feb 2 21:40:33 2002 +0000
+
+ Converted line drawing over to new span code, pb no longer used.
+ Big clean-up of line drawing code.
+ Removed many obsolete span processing functions.
+
+commit 733a4b602bbbfda83ee03b7ae4f3737bbe659034
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Feb 2 17:24:11 2002 +0000
+
+ sw_span can now hold x/y arrays of fragment positions - getting ready to
+ ditch the pb (pixel buffer) code.
+ Converted point drawing, bitmaps and aa lines to use new span functions.
+
+commit ceb39f4f8dc4863fde17d668c752533a2184476e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 31 00:27:43 2002 +0000
+
+ Clean-up and optimize alpha test code.
+ Major clean-up of pixel zoom code.
+
+commit e79de014c51b854356e1565c4f7b131906a85149
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 30 21:54:37 2002 +0000
+
+ removed GLUT reference
+
+commit e0bafefd7ac911ec101876f4ea0d201309e841f2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 30 16:54:02 2002 +0000
+
+ don't use affine/persp_textured_triangle funcs when CHAN_BITS > 8
+
+commit 1cefc83a8802deb53a176e20fd2d23b8ce47909f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 30 16:53:03 2002 +0000
+
+ return GL_RENDERER = Mesa Offscreen16/32 when CHAN_BITS = 16 or 32
+
+commit eae38ca1b23cb78d0130d8b30d167a9d12b9f4b2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 30 16:52:02 2002 +0000
+
+ replace GLushort w/ GLubyte in DEST_4US template (fixes 16-bit GLchan problem
+
+commit 6e1666437ea091ecc50ab2b56d87129318f641d2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 28 04:25:56 2002 +0000
+
+ Still more texture/span simplification and clean-up.
+ Updated comments, fixed indentation, etc.
+
+commit 7956292a765910077f50352d7cd0174e1e66d26c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 28 03:42:28 2002 +0000
+
+ More span improvements. Removed _mesa_write_monocolor_span().
+ Removed last of span.filled* flags and Klaus's macros.
+ More simplification of triangle functions.
+
+commit f1e236987829393c81dc86ea19cb49eefe190317
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 28 00:07:33 2002 +0000
+
+ More span clean-up, mostly texture-related.
+ _mesa_rasterize_span() is gone, replaced by new _mesa_write_textured_span().
+ Removed some unneeded triangle functions - more simplification possible.
+
+commit 2a182a98973edc9ecf2936b1288485bb2b3fa722
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jan 27 18:32:03 2002 +0000
+
+ LOTS of changes, building upon Klaus's work.
+ struct sw_span is used throughout span/fragment processing.
+ This is leading to less code and more chances for optimization.
+
+commit 6a731f343e847226537080122e2fb327e2486564
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 26 17:49:30 2002 +0000
+
+ added fog and raster Z position controls
+
+commit ad7e727024449e6fde229a928b2ddbda4d3682a2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 25 16:05:31 2002 +0000
+
+ more info about building for Motif
+
+commit 6ee7a02852e45efbfe2843c450dd72243f703430
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 22 18:40:46 2002 +0000
+
+ added missing IsEnabled() cases for fog coord and secondary color arrays
+
+commit 8bd13de4cca7fd04d4e3a72b8e95f61e5b9653fd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 22 18:37:05 2002 +0000
+
+ fixed array_cache.tag mistake
+
+commit 4c8fadc6d996c8c433826c4c763104b7d69cf7e5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 22 14:35:16 2002 +0000
+
+ Clean-up/renaming of the per-vertex attribute bits, specifically, the
+ VERT_BIT_* flags are new and used in many places (esp in T&L code).
+ Updated some comments for doxygen.
+ Various code clean-ups.
+
+commit 9b681dcc17c9c6d25aa40fa59cd617ae911cf988
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 22 14:31:09 2002 +0000
+
+ added array_cache to TAGFILES
+
+commit 2bc668d0928c22ab22b2deb16abcb24608997794
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 21 21:21:22 2002 +0000
+
+ minor update
+
+commit ac9aa2217423431c38d9d37496355e85666b5ebb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 21 19:29:55 2002 +0000
+
+ files to support doxygen (source code documentation)
+
+commit 2ef866d1fc0a5cc5ef8543d65744dfd4da4dbbaf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 21 18:12:34 2002 +0000
+
+ Klaus's latest patches and some clean-up
+
+commit 674012f083dde5a58742a74a6b4adf266ea17ed7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 18 14:55:40 2002 +0000
+
+ updated gl_mangle.h (Ray Tice)
+
+commit 9958ace40144f01b2428d87610789422b7c7f029
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 16 23:51:09 2002 +0000
+
+ new gl_mangle.h with korn shell script to regenerate itself from gl.h and glext.h (Ray Tice)
+
+commit 658702df9706860c0b6777593bf3a1791cc988e6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 16 20:15:00 2002 +0000
+
+ changed PB (pixel buffer) to use texcoord[4] array
+
+commit 028fe46fc5c48b6481be2850c0cfa8c929b45728
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 16 18:22:19 2002 +0000
+
+ set PB->haveSpec in line functions that emit specular color
+
+commit 72574b959c39981033069e367a12c5ae595dd93a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 16 16:04:50 2002 +0000
+
+ added another test in regions_overlap() (Klaus)
+
+commit 78940758e90069ceaca2b6cddb6438488fbad5cc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 16 16:00:03 2002 +0000
+
+ latest changes from Klaus
+
+commit b311950dde6fb7e59cc1742a848e7e3e4a8d73bf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 16 15:45:54 2002 +0000
+
+ added latest bug fixes
+
+commit 4197c0ea9b6784d293b26d68c4c62e5edb87cda6
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Wed Jan 16 15:42:17 2002 +0000
+
+ Fixes for 24-bit Windows devices. The old code was trying to do 3-byte
+ stores with a full DWORD store (yuk). (Jeff Lewis)
+
+commit 43df32e4387d978bf07f3aa3edd9f6d2b9c67306
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Wed Jan 16 14:32:46 2002 +0000
+
+ Committing in .
+
+ -Compile support for tests on OpenVMS
+ -Fixed missing header file
+ -Fixed missing return value on function return
+
+ Modified Files:
+ Mesa/descrip.mms Mesa/tests/sharedtex.c
+ Added Files:
+ Mesa/tests/descrip.mms
+ ----------------------------------------------------------------------
+
+commit 40fac75370507924b013908ecaa5fb37e8501dba
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Wed Jan 16 01:03:25 2002 +0000
+
+ get tests working on windows (Robert Bergkvist)
+
+commit 3d587f643229a29f615d5047e47e4a3805930588
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Wed Jan 16 00:57:54 2002 +0000
+
+ Samples working for Windows (Robert Bergkvist)
+
+commit 164ce1220232e03660633e16681737782c73059e
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Wed Jan 16 00:48:43 2002 +0000
+
+ Demo updates for Windows (Robert Bergkvist)
+
+commit 83356781e104cea412da9bd6d1127b56e0d7a6c4
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Wed Jan 16 00:41:16 2002 +0000
+
+ Removed missing files and added new ones (Robert Bergkvist)
+
+commit 858b694b6478c0139fbe4a6da16fc97d99fcf5c4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 15 21:49:57 2002 +0000
+
+ added some missing error checks
+
+commit 25c5f1b448bc45e10bfbcfbfa816239ab809cdab
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 15 19:04:52 2002 +0000
+
+ Fixed Windows compile problem with gl__unused413() function.
+
+commit 2ff30b21bc75d4121d4107e67b13f494664e5687
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Tue Jan 15 18:41:53 2002 +0000
+
+ Correct typo (vpstate.c) so that makefile works.
+
+commit e19f5d7cb77c5ce019736c4729499a5492c4633b
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Tue Jan 15 18:30:58 2002 +0000
+
+ Remove phantom tab on a blank line to allow compile on IRIX.
+
+commit 47507f4464ebe854c1c7ba05a28853ece971bc9a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 15 18:27:33 2002 +0000
+
+ removed api_compat stuff
+
+commit f2e5c19a2fb2265fc686c06c0f58e2980a11b0ef
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Tue Jan 15 18:14:34 2002 +0000
+
+ Fixed pixel color component problem and clear code for 24-bit Windows
+ devices. (Jeff Lewis)
+
+commit 807aea838b4e83d1aebd4b2c33e03a100c3c2e31
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Tue Jan 15 18:11:36 2002 +0000
+
+ Remove trailing CR's. No logical changes.
+
+commit 24f7c0c9448d53a3de694cb5d9c68acd1339068a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 14 16:07:33 2002 +0000
+
+ remove api_compat.c
+
+commit 03c0c2e8aa5e5f1b430c4b3faa1f9ad92b1b71eb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 14 16:06:35 2002 +0000
+
+ Removed api_compat stuff, there's a better way.
+ Fixed FogCoord / SecondaryColor mix-ups in api_arrayelt.c
+
+commit fe9f62ff18a093bf3ecff6edea509cb72c9d14a6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 14 15:47:10 2002 +0000
+
+ oops, missed vpstate.c
+
+commit 7fc487d38bef888a8f59d582c304fc2b88e3846a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 14 15:46:19 2002 +0000
+
+ added vertex program sources
+
+commit 1bb17ed0f2fd2fbb0f140c9dc45dd767e5f67050
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 12 16:19:04 2002 +0000
+
+ added glReadPixels / scissor bug fix
+
+commit 21cb88911a1976b4fcdfe4706d3e9853848d980d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 12 16:12:52 2002 +0000
+
+ don't apply scissor box in read_fast_rgba_pixels()
+
+commit 3e276d43a22b043c1aa33c21ef3513a66d382dca
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 12 03:01:23 2002 +0000
+
+ added some comments
+
+commit 166718f7499b41f5fbab2c5d69b75174ef9fe66b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 12 02:57:14 2002 +0000
+
+ updated some comments
+
+commit c6755aa6d55493a000644ba74233387d408d070f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 12 02:55:30 2002 +0000
+
+ set _NeedEyeCoords to zero if vertex program is enabled
+
+commit 8e6d305c89fa2e6d36801707390ed4dbe14fd824
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 11 17:26:54 2002 +0000
+
+ Changed gl_client_array's Enabled field to GLuint so it can actually
+ hold the flags we're storing in it!
+
+commit 2edd1807f85a5118dcd0c20156a2d68f5c23d145
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 11 17:25:35 2002 +0000
+
+ Moved _mesa_VertexAttribPointerNV into varray.c.
+ Removed dead placeholder functions from vpstate.[ch].
+ Changed gl_client_array's Enabled field to GLuint so it can actually
+ hold the flags we're storing in it!
+ Always do the switch (type) code in the vertex array functions to that
+ <type> gets error checked!
+
+commit 9927f1978da8530416f699d084dda099720e43e6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 10 16:54:28 2002 +0000
+
+ Klaus's latest patches: change texcoord[3] to texcoord[4] everywhere
+
+commit 2e99cbd9539cf686a45ffdfb9ec6c6a88e3aaa47
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 10 15:50:12 2002 +0000
+
+ init whole immediate struct to zero
+
+commit 26c878ac16da0e3cc535e810d66438b62e6259a1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 9 02:16:58 2002 +0000
+
+ added glTexEnviv bug fix
+
+commit 0c5c1392abcd619f7f0a17c986b156d877738d40
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 9 02:14:29 2002 +0000
+
+ fixed int->float conversion bug in _mesa_TexEnviv()
+
+commit a701a1445c9c3ad3bda480c41377b90a9a48fad2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 9 00:30:01 2002 +0000
+
+ added GL_REPLACE / GL_RGB texture bug fix
+
+commit 35e5e89f5614ebb032479b02dec888563f829b30
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 9 00:27:49 2002 +0000
+
+ fixed GL_REPLACE / GL_RGB bug
+
+commit 8927fbe9c5d0e0657cce61dc8bf9665d00765a61
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 9 00:14:13 2002 +0000
+
+ added GL_BLEND/texenv color bug fix
+
+commit fd1727bd1064ee2323c924cb4002d4d9a89780bf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 9 00:09:33 2002 +0000
+
+ texture env color wasn't used correctly in GL_BLEND mode
+
+commit d599190575d1dca256070d03cf20c6b896a42d32
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 8 15:58:32 2002 +0000
+
+ compile with -DNDEBUG
+
+commit 97291208cb34ab97e63a3c32edacae2d580675a6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 8 14:56:51 2002 +0000
+
+ work-around for QNX compiler problem
+
+commit 571a1ac6eead573777b990b31fce16987d894adb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jan 6 20:39:03 2002 +0000
+
+ implemented vertex program point size control
+
+commit 363049160da54f4aafe88f99bb2140a9bfed142b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jan 6 03:54:12 2002 +0000
+
+ Another vertex program checkpoint: clean-up of vertex attribute storage
+ in vertex_buffer. Improved vertex program pipeline stage such that
+ output registers can be processed in a loop. Getting closer to where
+ we need to be in order to implement performance optimizations...
+
+commit e2053d16901732f4947c702cdc5ef72993d8d130
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 5 21:58:42 2002 +0000
+
+ minor clean-ups
+
+commit bc42c19f22c3b719712529d86faea818f34150a2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 5 21:53:20 2002 +0000
+
+ infrastructure for vertex program attribute evaluators
+
+commit bd1a9dacf6a45e6aa6954eeb490d55ebcc80ace8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 5 20:51:12 2002 +0000
+
+ Vertex program checkpoint commit: converted all vertex attributes (color,
+ normal, texcoords, fogcoord, secondary color, etc) to GLfloat[4] datatype.
+ Aliasing of glVertex, glNormal, glColor, glFogCoord, etc. to glVertexAttrib
+ now complete.
+
+commit ca209ae1f95760bef87a10bca031bdbd6fb3ac3c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 5 14:12:24 2002 +0000
+
+ comments, clean-ups, added lots of const qualifiers
+
+commit cab83b8aa9e8269ad9c6f905e1bc850689b8ef5c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 5 14:03:33 2002 +0000
+
+ comments, clean-ups, added lots of const qualifiers
+
+commit f48bfd66dace8c80ae8a0d90342c17a5a8c93362
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 4 23:00:19 2002 +0000
+
+ test multitexture and vertex arrays
+
+commit 714cdd88a4f0b6bdfe39b6562813ca58740bbbe6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 4 21:05:57 2002 +0000
+
+ added some assertions to exercise glIsTexture()
+
+commit 5e1a4fdc3c00f3bc3ff10dae731d07d930917b31
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 4 14:42:35 2002 +0000
+
+ added info about which drivers work and don't work
+
+commit 8d0499b75ed783fe52094d841b533b559aa3f2b1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 4 14:35:46 2002 +0000
+
+ fix bug 498555 - test for __GNUC__
+
+commit 735d92029c2c40e3d884b707d371a2aca08d5b16
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Fri Jan 4 09:47:17 2002 +0000
+
+ - Clean up state bitmask.
+ - Add (somewhat broken) PolygonMode bit, toggles between GL_FILL and
+ GL_LINE. Somewhat useful in mimicking certain Viewperf tests.
+
+commit 78c2aa0b51925bf617728842d7f9d4dc822a33d7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 3 16:35:08 2002 +0000
+
+ regenerated from updated glsparcasm.py script
+
+commit efe2baadb8752c7bc9e9f34f750aa1c6ea607461
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 3 16:33:59 2002 +0000
+
+ don't use macros, just expand them in-line
+
+commit a0f923d2863e54068b865880800d7ad3de58d858
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Fri Dec 28 06:37:40 2001 +0000
+
+ Add missing items from .cvsignore files, tests/Makefile
+
+commit 1fb0a43c16190f4d043b8a0918361bee76b37e5f
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Fri Dec 28 06:28:10 2001 +0000
+
+ Remove warnings about the difference between function pointers and
+ (void *) pointers.
+
+commit 1a6f4889084794827d61caa0dfa3074aef576e79
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Dec 21 15:48:23 2001 +0000
+
+ add _compat_VertexAttrib4fNV
+
+commit 2391f4cec627def55119738413592d8a1fbfc50f
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Dec 20 18:59:39 2001 +0000
+
+ Define finite as _finite for Windows.
+
+commit fc00cbe8d1ac48faf345e41a13757a8a1e2e5ebe
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Dec 20 15:30:45 2001 +0000
+
+ Further help with dri libGL version skew
+
+commit 1643203a936ae5503d5cf23177e444ac5971e7d1
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Dec 20 09:54:20 2001 +0000
+
+ Fix clipping problem on mga
+
+commit a359d3488a31132d9fce3f9bc4586e730fde35bd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 19 02:36:05 2001 +0000
+
+ some display list support for vertex program extension
+
+commit 3f9be68dc42a58d630b3f80638cae18f0e43543a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 19 01:29:58 2001 +0000
+
+ added separate specular bug fix to 4.0.1 list
+
+commit fa6b2fba7ad0504a63ab262f602c6f50f336ca1b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 19 01:09:46 2001 +0000
+
+ fix a comment typo
+
+commit f47efb5ab32534fc5c42b5bc88a6b24cb514ce53
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 19 01:08:49 2001 +0000
+
+ have to clamp color+specular in _swrast_add_spec_terms_triangle()! (fixes Chimera bug)
+
+commit c6a14906c61d3cc1a9849d20d587e719ba8672b9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 19 01:07:50 2001 +0000
+
+ remove some cruft
+
+commit 530da27edb89df046fba3463d2dc9d936547da5e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Dec 18 14:08:23 2001 +0000
+
+ bring 4.0.1 info into trunk
+
+commit 30f51ae067379c2b3573c06b707d25a9704df7be
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Dec 18 04:06:44 2001 +0000
+
+ Replace old matrix stacks with new code based on struct matrix_stack.
+ Moved vertex program hash table into shared context state.
+ Implemented reference counting for vertex programs.
+ Replaced tnl "ProjectedClip" with "Ndc" (normalized device coordinates).
+
+commit 645ced29552da1af5c759d0497d98c8f55b72935
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Dec 17 22:41:45 2001 +0000
+
+ disable prototype matrix stack code
+
+commit aea09490f5fc23a1fb65cd1f113912b9c5cb0924
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Mon Dec 17 09:02:55 2001 +0000
+
+ Committing in .
+
+ Update OpenVMS makefile for vertex-routines
+ #ifndef __VMS added for one print statement containing __FUNCTION__
+
+ Modified Files:
+ Mesa/src/descrip.mms Mesa/src/tnl/t_imm_api.c
+ ----------------------------------------------------------------------
+
+commit 3ade8af7ffce434bb612df67f8e5a780885f991c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Dec 17 04:58:50 2001 +0000
+
+ added some debug printfs (disabled)
+
+commit 10f30eb43835c57c00783390a02d72daf4f78e26
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Dec 17 04:54:35 2001 +0000
+
+ first checkpoint commit of Klaus's new span code (struct sw_span)
+
+commit 57d6e1aebf1f850686a2c8d3a246fb388ec23979
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Dec 17 04:47:57 2001 +0000
+
+ first checkpoint commit of Klaus's new span code (struct sw_span)
+
+commit c843a1a039685e143b21297ef5be0e16ea18dfd5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Dec 17 01:46:58 2001 +0000
+
+ remove conditional in RESET_STIPPLE to fix conformance failure
+
+commit 54772892bd3d54ab0c257b6def639a704e640a66
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Dec 16 11:28:20 2001 +0000
+
+ updated vertex buffer identifiers
+
+commit c11120270cefa3656a46029934dc20c4d70ffcb6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 15 23:28:15 2001 +0000
+
+ warp a quadmesh with a gravitational source via vertex program
+
+commit 9cb3947c56f7415b9172f3cdd27ea82cbcc762a6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 15 22:33:59 2001 +0000
+
+ rotating, lit torus via vertex program
+
+commit e3a0f3982421aa8773735e9727b12bba8af6610a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 15 22:31:23 2001 +0000
+
+ divide by W and clipping now work - in pretty good shape now
+
+commit 56790ced1a1896244afcfeceb77f25b7c5b8991a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 15 21:31:28 2001 +0000
+
+ temporary hack for divide by W
+
+commit b15a3b4d132cff44fa7881ac36313764f88e4340
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 15 16:42:59 2001 +0000
+
+ better api trace/log messages
+
+commit d2237d48eccbd47a4e69078c25de09453730d298
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 15 02:14:43 2001 +0000
+
+ vertex program fixes
+
+commit c3d90f3211d3214722a60c46ec5cef7c65836b39
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 15 02:13:32 2001 +0000
+
+ disable debug printf's, fix a crash
+
+commit 36c77a81add227cbd04489c679ede111b1d7754c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 15 00:49:00 2001 +0000
+
+ free the NormalLengthPtr if non-null in _tnl_free_immediate()
+
+commit 9745d479913af5cff71821bb4bee42c3d9d0fb26
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 14 21:56:50 2001 +0000
+
+ added newline characters to trace strings
+
+commit 5cbd179121e3620947d2bcaa65d01687a2aacc83
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Dec 14 17:48:19 2001 +0000
+
+ Use $(MAKE) on the irix targets, instead of hard-coding pmake,
+ as suggested in SF bug 482149. People can still use
+ pmake -v -f Makefile.X11 if they want to use pmake (works great for me).
+ Sorry, this should have been in the last check-in.
+
+commit 92512085d5d002daeffce83a469a4c246ae2a347
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Dec 14 17:19:32 2001 +0000
+
+ Add .cc as a valid suffix.
+
+commit 16e2d94cc793c003fbd4590537be8ee316bcd787
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Dec 14 17:14:45 2001 +0000
+
+ Cleanup for IRIX 6 platforms. Build src-glu instead of si-glu due
+ to problems with building the c++ code in the si-glu.
+
+commit c589af2fe20ea9025e753d134ad9bce0ee45b2f4
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Dec 14 16:42:23 2001 +0000
+
+ Fix up targets for
+ irix6-o32, irix6-o32-dso, irix6-n32, irix6-n32-dso
+
+commit 7c8db694ccb1034b103d212fe52493ceb4d1059e
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Dec 14 16:35:55 2001 +0000
+
+ Remove rules that were put into place to deal with compiling files that
+ are in subdirectories of this directory. The list of rules that were here
+ was out of date for Mesa 4 and would likely get out of date again. It is
+ better to have make handle it (e.g., use pmake -v on IRIX).
+
+commit 1668d4bab812e925d1c2d0090bb8d17d8788080a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 14 11:40:14 2001 +0000
+
+ s/glxGetProcAddress/glXGetProcAddressARB/
+
+commit eaf0eac7d327468a617a64820e1f41279eef1a8d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 14 03:19:06 2001 +0000
+
+ oops, wrong value for GLX_SAMPLES
+
+commit b70f5c21e713d9df0a1fcd4c6871f80caabdaace
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 14 03:18:08 2001 +0000
+
+ added GLX_SAMPLE_BUFFERS, GLX_SAMPLES
+
+commit 15d4a2327d083c0161e2ab1a9609811dcd2d0d37
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 14 03:17:00 2001 +0000
+
+ minor tweaks
+
+commit a19d7c35cdb8d2ff2e507c597768aa448937314c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 14 03:16:06 2001 +0000
+
+ 4.1 extensions
+
+commit 1d1635d27ba6a075444fe228c97b6955606565ba
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 14 03:14:49 2001 +0000
+
+ planned extensions for 4.1
+
+commit b638c34381004aa2a778227bad51d259d05a9b53
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 14 03:13:04 2001 +0000
+
+ minor dispatach table changes
+
+commit 797ea81d63e98949656b94aad43158327ad3a230
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 14 03:03:38 2001 +0000
+
+ vertex program test program
+
+commit 86b842790b720cd6b1499ce8edca8a4e9c8dc029
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 14 02:50:01 2001 +0000
+
+ vertex program check-in
+
+commit 680522f74c8b7bf982eab1bc127269521c48a632
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 14 02:48:10 2001 +0000
+
+ add dispatch offsets for vertex program functions
+
+commit faaa88fc488c3046a7391dba6bb75c07e0aaebc5
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Dec 13 19:58:20 2001 +0000
+
+ Remove const from save_TexParameteri to match prototype for glTexParameteri.
+ Allows compilation on IRIX.
+
+commit d313068dc8b655b0e992a1f1c3e259b034d11269
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Dec 13 19:15:58 2001 +0000
+
+ Added missing entry points
+
+commit d9331ae71ee6fbba0f2b17d68b2f0f45e98a38f9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 13 19:12:42 2001 +0000
+
+ fixed errors in feedback for glDraw/CopyPixels and glBitmap
+
+commit 59235bd5da794557613463bc942de0c634d2d961
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 13 16:14:26 2001 +0000
+
+ special case blend optmizations (Jeremy Fitzhardinge)
+
+commit c3209d45adc2d739ecec34fb1c9d2b675c2e4b21
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 13 16:02:11 2001 +0000
+
+ call FLUSH_VERTICES() in _mesaTexParameterfv() (bug 491832)
+
+commit 5246b6c9d1c67bf8ed9019e6c5ddfff62616ab1e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Dec 13 10:51:41 2001 +0000
+
+ fix for ubyte colors
+
+commit 59e5b90452f069e44780420e681dba67c462ae88
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Dec 13 10:49:04 2001 +0000
+
+ fix primitive calculation in 1-line dlist immediates (molecules)
+
+commit 09fc9324f6fd0f408cf3191a2eac4f704de502ab
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Dec 11 15:13:57 2001 +0000
+
+ fix glut tess lockup
+
+commit 74df2ef732abba668ca784190617023419c0b965
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 5 22:01:13 2001 +0000
+
+ added enums for GL_ARB_depth_texture/shadow/shadow_ambient (temporary)
+
+commit ef4f5b391e560e535b25b372f797e41edeef09f1
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 5 10:24:31 2001 +0000
+
+ add inf and nan tests to swrast functions
+
+commit aecfb51c304a6d71810ba5ae6ab9c4e344b816a9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Dec 4 23:45:31 2001 +0000
+
+ fixed potential array overwrite problem
+
+commit 014ec1ac5e98e86836285a176d7674bc43a00cd7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Dec 4 23:44:55 2001 +0000
+
+ prototype implementation of GL_ARB_depth_texture, GL_ARB_shadow, GL_ARB_shadow_ambient
+
+commit 471a774f433c23b263828aa591415741e78a35da
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Dec 4 23:43:31 2001 +0000
+
+ dispatch changes to minimize hassle with XFree86 libGL
+
+commit c34cb25bdd63766a26db771353d7a96c07f112a8
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Dec 4 13:04:29 2001 +0000
+
+ further tweak to dlist change
+
+commit aa46094ca671a9a110338c4649a9f28bad83f5b9
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Dec 3 17:48:58 2001 +0000
+
+ guard ResetStipple calls
+
+commit 4ea18fc2dc25abc62427e8fb84d6f0655f46a587
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Dec 3 17:47:04 2001 +0000
+
+ fx another place where PRIM_PARITY is calculated
+
+commit a8b25ada45f7bb845cfda5c77855306ef2ba180b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Dec 3 17:41:58 2001 +0000
+
+ simplify drawarrays paths
+
+commit 3a825a85f13b86b3a9658aeb7d3793b98fcb48cf
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Dec 3 17:39:12 2001 +0000
+
+ avoid side-effects in macro param
+
+commit bfd2ae6e99535a729d09f110b7c06cf62ad83041
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Dec 3 17:19:14 2001 +0000
+
+ correctly reset input after dlist execution
+
+commit e6373ba6d7dcb667280d87065cd0bdff6900bdd7
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Nov 30 22:11:45 2001 +0000
+
+ Corrected bad line breaks in macro definitions within code compiled
+ when BEOS_THREADS is defined. This usually does not cause a problem when
+ BEOS_THREADS is not defined, but the bad line break in this case put
+ the "#name" text as the first non-white space in a line, causing the
+ IRIX C preprocessor to think that it was a preprocessor directive, and
+ that generated a distracting warning. I also fixed a couple of other
+ line breaks that seemed wrong to me.
+
+commit 3ac348c17a3d3a1af5da2da6235d8a0a1d26516d
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Nov 30 19:41:19 2001 +0000
+
+ Add darwin target
+
+commit fcc0abe6cf90e463778a51beb61367b5e2bbadb3
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Nov 30 19:35:22 2001 +0000
+
+ malloc() prototype is in stdlib.h for darwin
+
+commit bce1689d5ba745d88cd2f56f7eebd61c43f68036
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Nov 30 15:43:53 2001 +0000
+
+ Don't reset _tnl_CurrentInput when in DestroyContext.
+
+commit 7b2a146d3a7d3bb7ab6b60a829e25e076197da29
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Nov 29 23:13:12 2001 +0000
+
+ main trunk is now 4.1
+
+commit 209e1348bd7bec0c9824819bed9d873939e9822b
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Nov 29 22:54:33 2001 +0000
+
+ update to version 4.0
+
+commit 8ff271548a4813200e0e1f4745bda31efda796ed
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Nov 29 16:55:37 2001 +0000
+
+ Update notes on si-glu NURBS.
+
+commit 9c8cbe6950096c4ec2fd1963edbc6c993c86947f
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Nov 29 16:16:55 2001 +0000
+
+ Fix compilation errors and warnings for NURBS support. (Robert Bergkvist)
+
+commit 4e6c835210bd0e8e8467a1c75723af6af4b41fb4
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Nov 29 15:15:20 2001 +0000
+
+ use smaller buffer when decomposing large drawarrays, for cache goodness
+
+commit d8af040f5eb2dd2e40339b83a02f4a42b64619ad
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 28 17:18:36 2001 +0000
+
+ updated comment about CHAN_BITS
+
+commit e4eba730604eaec5328988fb5236b461ad15de97
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 28 16:11:32 2001 +0000
+
+ use v2 color, not v0 in flat_ci_triangle()
+
+commit 253270dfcce980c88be6b21204a0c13a0becb2de
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 27 02:55:58 2001 +0000
+
+ use glXGetProcAddressARB to avoid extension linkage problems
+
+commit 2f3d6203989e3a9843a548796b2c2062f470517e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 27 00:05:35 2001 +0000
+
+ don't directly call glSecondaryColor*EXT() or glFogCoord*EXT()
+
+commit 70c05e67814a25c5a61b359e78323eea9b6f512f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 26 23:41:24 2001 +0000
+
+ don't use near and far for parameter names
+
+commit 20517ce040bc9462129d286f084bfc5a50c587e4
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Mon Nov 26 22:55:28 2001 +0000
+
+ avoid using near and far as variable names since they are reserved words
+ in the windows compiler.
+
+commit 1b2976f79bd06c392a7d49d14a23637d30fbb8e6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 26 17:21:46 2001 +0000
+
+ fix some warnings
+
+commit f660ec6ff82e06b08e088a7be93dbf75dc324039
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Nov 26 12:56:07 2001 +0000
+
+ Possible fix for vtk tristrip bug
+
+commit 358ed73e1db4826fca3c33f78553ffd9322df109
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 23 20:44:12 2001 +0000
+
+ fix for bug 474479, remove Trace/* stuff
+
+commit 3183af39d043fe24156385d01244cfb2b8397cc9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 23 20:09:26 2001 +0000
+
+ fixed bug 484142, missing backslash
+
+commit cbf9731119647e5c75be9dbb3042155c9b952292
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Nov 22 09:23:36 2001 +0000
+
+ Another locked drawarrys fix
+
+commit d4ece7b2f4c209b199ec4c5fcf15837b64ae2a8f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 21 17:21:41 2001 +0000
+
+ minor update
+
+commit d3be9827839efc26516a0f90d7415e2d7b305fb0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Nov 19 13:52:41 2001 +0000
+
+ 3dnow normalize_normals broken, disable
+
+commit 3f766b7a89cfb63867857fc3d97f8dca50895981
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Nov 19 10:22:41 2001 +0000
+
+ possible fix for cva ignore start index bug
+
+commit 71340e861edf35bfdeb536718cd230fc33c41ee2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 19 01:18:28 2001 +0000
+
+ More span rendering optimizations from Klaus Niederkrueger
+
+commit 71515b9175df29e0b230c1930a1786779325e70d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 19 00:41:32 2001 +0000
+
+ added test implementation of GL_ARB_window_pos
+
+commit 6d9b899342af68a01dea9ab0891f8c488015fd04
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 19 00:40:33 2001 +0000
+
+ fixed a glitch
+
+commit 50c31d6861369400d5ebcdcc19ca44e4579cd70b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 19 00:13:45 2001 +0000
+
+ added test implementation of GL_ARB_window_pos
+
+commit 5b7dab2e4c7df1fde0a7fcf28b8b54745b9fcd2e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Nov 18 23:52:37 2001 +0000
+
+ added test implementation of GL_ARB_window_pos
+
+commit 17fe22d3bfcce0471ab9ae638cc6b0c91f7d8e65
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Nov 18 23:16:56 2001 +0000
+
+ test for glXGetProcAddress()
+
+commit a6fdefa322b7cda81936069d85a9ca1c98466167
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Nov 18 23:11:45 2001 +0000
+
+ remove -DMESA_TRACE from linux-debug config
+
+commit 94dd6b89277afc1a1305f940a89ed5ead4effc9e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Nov 18 23:03:53 2001 +0000
+
+ remove Glide and SVGA support from mesa-debug config
+
+commit a6a997c2340d54c02452c8217e796ce8a6384046
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Nov 18 22:52:22 2001 +0000
+
+ included by glapi.c
+
+commit b5fd886ee12ef52126969f712dee0bd4b2eea706
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Nov 18 22:48:11 2001 +0000
+
+ API dispath updates
+
+commit 4fe0f9d2a92b4a35b3bf993fe5b6e828e84b4bda
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Nov 18 22:43:16 2001 +0000
+
+ new, simpler API specification file
+
+commit 6c0d72f9c05f490a52a9f8c8108cd8598e65942c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Nov 18 22:42:57 2001 +0000
+
+ new Python API generator scripts
+
+commit 199b931c071dfeb03a036765ae0f316dd7236a33
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Nov 18 22:16:07 2001 +0000
+
+ added missing const to glXGetContextIDEXT() prototype
+
+commit 0ee6a5604d6e7c9d35733285941ed7624b6be63b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 13 00:26:39 2001 +0000
+
+ improved AA subpixel sample positions (Ray Tice)
+
+commit 1b37d6c3055150fc5321e003bdca057a5b0daafa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 12 23:50:12 2001 +0000
+
+ BeOS thread support (Philippe Houdoin)
+
+commit cd060fc3b44fb41629b5da640f10c3aa3e3c8cfd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 9 22:04:24 2001 +0000
+
+ fix typedef problem found with MSDev 6.0
+
+commit c32fe22168f9879d8f91e3bb65750821639f5bc7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 9 22:01:02 2001 +0000
+
+ added GLX 1.4 function manglers
+
+commit 853a4abab2c1fa16c5bdacdb9b904588f6b0173b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 9 22:00:53 2001 +0000
+
+ added 1.3 function manglers
+
+commit fe9b705a2c420d921e2acdd0f581fe4d71aeb593
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 9 21:54:30 2001 +0000
+
+ define GL_VERSION_1_3 (doh!)
+
+commit 4b7ccad6829d11c07f1ceac3b3d12f8aec9e640b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 6 16:01:19 2001 +0000
+
+ casts to silence warnings from gcc 2.96
+
+commit 87c964d3885d84959f86d5d7d9c4358240b6da3c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 6 15:53:00 2001 +0000
+
+ added missing GL_MAX_TEXTURE_LOD_BIAS_EXT query
+
+commit 85e7d7c1d889f867762c6f62070729089f1877ac
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 3 04:11:26 2001 +0000
+
+ fix error in error checking conditional (bug 476846)
+
+commit dc31d67c0e48a8380baad738bec2673416c44911
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 2 00:57:04 2001 +0000
+
+ init the hash table mutex in _mesa_NewHashTable (Won-Suk Chun)
+
+commit acf0c0a1e1a5dd3e99e4ae41ae81a67d2b2864b7
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Nov 1 22:44:47 2001 +0000
+
+ Updates for improved DirectDraw support (Daniel Slater)
+
+commit 52ef4cc59a4205c2b469d2158f1a72124e9bddf8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 1 00:39:24 2001 +0000
+
+ added some (void *) casts to silence gcc 2.96 warnings
+
+commit 9baad8e1ff22e02cdc94c4ffe96b1dea3c6b0532
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Oct 26 21:21:11 2001 +0000
+
+ Change name of glut lib from glut32 to MesaGlut.
+ This helps avoid confusion with other gluts on the system that may be
+ lined with OpenGl32.dll and Glu32.dll.
+
+commit b10f995edfcecf59e116bf98e53cb1a6e5ca2f21
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Oct 26 21:01:45 2001 +0000
+
+ Copy the readtex.[ch] files from ../util
+
+commit a4b42200e9f329ad31a322ef87d44a833964f437
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 25 23:21:28 2001 +0000
+
+ added a bunch of missing breaks for multisample gets
+
+commit 0878456b46363ddb18ba879af398bac56d02fb65
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 22 22:57:23 2001 +0000
+
+ template for 4.1 release notes
+
+commit 3de5462ab1bb00f534c6f3d10eeb3b422f04c7c5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 22 22:45:18 2001 +0000
+
+ version bumps, etc for 4.1
+
+commit a7f81171534d46a964b4216f67abae72382cd6c4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 22 16:04:46 2001 +0000
+
+ added latest bug fixes
+
+commit 45d21ca58755098e8fd47e1083c68e244c4f903c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 22 01:21:16 2001 +0000
+
+ applied Andrew Lewycky's patches
+
+commit 52d4c6ebb52a40a707ea12058c07875b71c7f4e7
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Oct 20 00:13:45 2001 +0000
+
+ forgotten diffuse alpha fix
+
+commit 12e875ce4df9ddb15e76b3b52502730d3444b24a
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Thu Oct 18 08:04:57 2001 +0000
+
+ Committing in .
+
+ Modified Files:
+ Mesa/src/context.c
+
+ Initializing ctx->Driver.CurrentExecPrimitive to 0, just after the allocation
+ of the context. I hope this solved a very rare crash of the molecule mode
+ of xlockmore on my VMS-machine. (I have not seen any crash the last week.
+ Normally it crashed at least once in the 3 days)
+
+ ----------------------------------------------------------------------
+
+commit 5d2621928823a06006c1586efe78fe8bf65a7e1f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 17 23:03:56 2001 +0000
+
+ added a few comments
+
+commit 40ba618a6f3167ebc00759761d0254e12362b677
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 17 23:03:34 2001 +0000
+
+ warning fixes (Karl Schultz)
+
+commit e8245c14096ad3b2fa7008fed578bfcc5c5dbfe3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 17 20:44:26 2001 +0000
+
+ added some missing Win32 files to tar file list
+
+commit ebc8b0aa5acac1962eb40204bf74e78261d326d1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 17 14:59:21 2001 +0000
+
+ minor updates
+
+commit 7d63ac1e6bfe3ddd127ecd9297f64c1b3b1d7e09
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 17 14:57:16 2001 +0000
+
+ removed src/mms_depend from tar file list
+
+commit fca1ce3a2645ab68ec7b7b4c30c5cdd59a63b031
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 17 14:33:05 2001 +0000
+
+ added new entrypoints for 1.3
+
+commit e715c910004f6de30c983628ef5fc4e3e306ebff
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 17 13:34:08 2001 +0000
+
+ updated for new glext.h
+
+commit e11f089f821ea90754d8cbe56278eba4cf5665f4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 17 13:31:07 2001 +0000
+
+ added GL_ARB_texture_mirrored_repeat
+
+commit 470d3cd4a2c49a36babfc66933140d57535d724f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 17 13:29:02 2001 +0000
+
+ minor updates for new glext.h
+
+commit 3d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 17 13:28:14 2001 +0000
+
+ updated extensions
+
+commit b5bfe2f6ae4b06cb566bbeb46f83b1e7f863e308
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Mon Oct 15 20:38:12 2001 +0000
+
+ Updated for Mesa 4.0
+
+commit 439ded4e2a240f02e378eb0c4b482688d5c8b36e
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Mon Oct 15 17:28:53 2001 +0000
+
+ Fix comments.
+
+commit b66103971c77e55b1df060c71c8e74af996d2dec
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Oct 5 15:47:28 2001 +0000
+
+ Fix the clear() function
+ - add checks for the ColorMask and IndexMask (like osmesa)
+ - correctly handle the DD_*_BIT flags so that we don't also ask the
+ swrast to clear the color buffer after we cleared it ourselves. (doh!)
+ This gives nearly a 2X improvement in the frame rate in a program like
+ gears.
+
+commit bffae58175b50bda3cc258c5aecb389adb2d9b5e
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Oct 4 19:14:26 2001 +0000
+
+ Allow to compile in Windows.
+
+commit 3978d026eaf3d449adaecf336a1fa9d7e631dc19
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Oct 4 19:13:36 2001 +0000
+
+ Build a few demos that now work with Windows.
+
+commit 8f475635594f0c0e00461d01b43ef6f42006aa88
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Oct 4 19:06:31 2001 +0000
+
+ Need to define MESA_DEBUG in debug builds. Otherwise, NDEBUG gets
+ defined, which is bad for things like assert().
+
+commit 47bcda78e2ebf72bf1829bf89cd972e9c7cc3e99
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Oct 4 19:04:56 2001 +0000
+
+ Updated Windows driver for Mesa 4.0.
+ Needs optimization.
+
+commit d3788b60ae92f9f4aa011b34168675a742862881
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Oct 4 19:03:11 2001 +0000
+
+ remove extra CR chars
+
+commit 31c40f0905331ca51d705f8a072a9d239d692966
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Sep 25 17:38:11 2001 +0000
+
+ use correct vertex for flatshading
+
+commit 954f511473e4e8cf643751d1f7c03d59c0bd48bf
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Tue Sep 25 16:25:41 2001 +0000
+
+ Fix up Windows makefiles so that the debug build leaves debugger info
+ in the libraries. Make with NODEBUG=1 builds optimized without debug
+ info (doc'ed in top level Makefile.win).
+
+commit 968e557dcd6c4611d5517ea0550dc56256ccb99c
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Tue Sep 25 16:22:40 2001 +0000
+
+ disable some more code so that it compiles quietly on Windows.
+
+commit b1ee387ab5933bc6ad75655f06063558f8ee3f7b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 24 19:18:03 2001 +0000
+
+ replaced x86_xform_raw4.S with x86_xform4.S
+
+commit 220e77a3f7a8e3ad165fa4ea4564564a2832a803
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Mon Sep 24 15:29:27 2001 +0000
+
+ use OSMESA_* enums for OSMesaCreateContext instead of GL_*.
+
+commit 0e94067d0dc4a8d17bfe12e9714d730829d88169
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 24 14:15:58 2001 +0000
+
+ removed duplicate GLX_AUX_BUFFERS_BIT definition
+
+commit 001f826f71c7455f4582fc182fe103a26fc65138
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Mon Sep 24 09:40:40 2001 +0000
+
+ Committing in .
+
+ Modified Files:
+ Mesa/si-glu/libutil/glue.c
+
+ added some type casts to silence compiler warnings.
+
+ ----------------------------------------------------------------------
+
+commit 2427575c21c7c04b52f4a3605ad87c142c01f840
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Sep 23 21:17:03 2001 +0000
+
+ [rgba]shift values weren't always correct, only effected blended lines
+
+commit 7bb6fcc19df28e57eb28b6574df7b540a0aa728a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Sep 23 18:32:51 2001 +0000
+
+ added missing tnl_dd files
+
+commit 57344210789ec97439d972c2a15af2f00663275f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Sep 23 18:19:30 2001 +0000
+
+ 4.0 updates
+
+commit 97856fd98a308b73a8cea11de48b9475a51da929
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Sep 23 16:53:28 2001 +0000
+
+ updated version info
+
+commit 5ac8282a2214fe19504e89818b5d1f6d65ec7365
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Sep 23 16:50:01 2001 +0000
+
+ fixed some configure;make build problems. cleaned-up copyright info.
+
+commit a573803ed3fe9ef6489f45bd4c5455b77cb33a43
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Sep 23 16:10:02 2001 +0000
+
+ updates for Mesa 4.0
+
+commit 78a03d3c455fec1ce5c26edec6016a6806d437b8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Sep 23 16:06:13 2001 +0000
+
+ bump versions to 4.0
+
+commit 497d6eab6603699d57d6a742a7940557c430afae
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Sep 23 15:19:16 2001 +0000
+
+ More of the same
+
+commit 05ba9becc3211795af539d79b70c8a6af2688108
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Sep 21 21:32:14 2001 +0000
+
+ Make osmesa a DLL instead of a static lib (Windows). This is more
+ consistent with the other modules and platforms. It also makes the
+ API and linkage on Windows more consistent.
+
+commit 445e3cbd0dd2a526cb6628975f5351cbab3956a8
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Fri Sep 21 20:39:03 2001 +0000
+
+ Add GLAPIENTRY to typedef for callback functions (used by tessellator).
+ This is important now that we're using __stdcall instead of the (default)
+ __cdecl on WIN32. This gets apps using the tessellator working again
+ on Windows.
+
+commit 38112f5b60e50cf8ba4cae18034c5ddc90bb2c12
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 21 17:23:30 2001 +0000
+
+ added __glCoreCreateContext and __glCoreNopDispatch
+
+commit 80d58556922d466620facd5917ada4d3cad612b2
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Sep 20 22:19:41 2001 +0000
+
+ add the same conditional mangling stuff that gl.h has.
+
+commit 448b88bb8025f01a497f929d9f077e1ccb6f9836
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Sep 20 22:18:47 2001 +0000
+
+ add mangling for new entry points
+
+commit cfe52d8ae0b7ff16c9369787c149a78226aff06f
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Sep 20 21:50:53 2001 +0000
+
+ Don't use "errno" as a parameter name - it is also a function and that
+ confused the Windows compiler. Also make messages unsigned char for
+ consistency.
+
+commit f2a50b141e29353b1bb324dfae13e5fc52327ec9
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Sep 20 21:47:52 2001 +0000
+
+ compiler warnings
+
+commit 8674e709ee401e0fd69b2108e02af0c9d60c4367
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Thu Sep 20 20:47:26 2001 +0000
+
+ Change UnProject4 prototype to use nearVal and farVal instead of near
+ and far because Windows compiler can get confused over these old keywords.
+
+commit 62eb2e59097da8b0ec312d64363e0a12b55db7b4
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Sep 20 19:25:31 2001 +0000
+
+ very brief overview of swrast
+
+commit fffc27015b60d4621316ef567a81c5c5dfcb182c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Sep 20 18:59:05 2001 +0000
+
+ (very) Brief overview of tnl module
+
+commit 7152305e0a7d963f49c05bc530e495dc3ad82e3b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 19 22:21:13 2001 +0000
+
+ GL_ADD texture mode was incorrect, renamed some vars
+
+commit 7c4268176eaaeb45003db4d5042a518b84c9f6dc
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Wed Sep 19 20:30:44 2001 +0000
+
+ silence compiler warnings (last batch for src)
+
+commit 2fc06af470da1929ac2fffc8d38a5d5ac87490bb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 19 03:37:16 2001 +0000
+
+ set GR_STWHINT_ST_DIFF_TMU1 flag in the init() function (fixes multiarb demo)
+
+commit b6bcfc1f6a6d5f19cb54e61f96c5b9bd235f882a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 19 02:55:45 2001 +0000
+
+ fix fallback for stippled polygons, removed a debug message
+
+commit 37f2d5e6961ad9563a50287d357eb18bb94c072c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 19 02:54:56 2001 +0000
+
+ compute dst->ooz, not dst->z in clip interpolation function
+
+commit 7b9fe820a3fba3849864682fbb1cb512362934ab
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Tue Sep 18 23:06:14 2001 +0000
+
+ more compiler warning fixes
+
+commit c98541f54bad9c706092b1eae81739f78660b000
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Sep 18 22:07:54 2001 +0000
+
+ remove some debug
+
+commit e9479f24ab12081e6ad48b70b80822ff97f5cd3d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Sep 18 22:05:36 2001 +0000
+
+ Fix FX driver to the point where gears & morph3d work.
+ Textures are broken (eg. isosurf).
+
+commit 573dd2206b1f3653fd10796e1de13c058d878e32
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Tue Sep 18 20:47:23 2001 +0000
+
+ clean up makefiles some more for Windows
+
+commit 4742735a5c22f2400a2777965e08e757ec384979
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Tue Sep 18 16:51:45 2001 +0000
+
+ compiler warnings
+
+commit b14dcea4184f5b0a283e5a0d05ce203c9feee759
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Tue Sep 18 16:39:38 2001 +0000
+
+ remove carriage return chars
+
+commit 94a6ec8f0c8a25aeeb5880e2285ae6042cfb99db
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Tue Sep 18 16:16:21 2001 +0000
+
+ compiler warnings
+
+commit 57c946096eecbc07b385e4473e04e5a0cafdc12d
+Author: Karl Schultz <kschultz@freedesktop.org>
+Date: Tue Sep 18 15:27:18 2001 +0000
+
+ compiler warnings
+
+commit fde5e2c5f182759aff78bdd12e6c928f3f13bbdc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 15 18:02:49 2001 +0000
+
+ more warning fixes (Karl Schultz)
+
+commit 1f20952a92aa8b8fe000222a9c71086df8fc63d8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 15 18:00:28 2001 +0000
+
+ removed carriage return chars
+
+commit 04120f6cce0aa9e3604a64c740c25b99ca3999dc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 14 22:19:18 2001 +0000
+
+ Win32 updates (Karl Schultz)
+
+commit 7c276329e815c84ea2403bb08c44ff60179c0cd6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 14 21:36:43 2001 +0000
+
+ more warning fixes (Karl Schultz)
+
+commit edf8c06270a0e62f33e3f45e1f0307acfeff3b5d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 14 21:30:31 2001 +0000
+
+ more warning fixes (Karl Schultz)
+
+commit 7cc49c2dc84ce17a9b4cc1a376da74515a724c92
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 14 17:23:39 2001 +0000
+
+ silence more warnings (Karl Schultz)
+
+commit 5ce1f374da35fb8f43874a790d27aab5b35a6969
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 14 17:00:42 2001 +0000
+
+ silence minor warnings
+
+commit 675343c517b2595be0423a3af80f4a3c537b1528
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 14 02:59:08 2001 +0000
+
+ replaced gets() with fgets()
+
+commit 94666c4b55c33c35994bfab2fb4177a7d5198fd1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 14 02:48:53 2001 +0000
+
+ more GL 1.3 updates
+
+commit ba57e5297d60eef37e43dd4d7f10d1e62f5e97ce
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 14 02:43:03 2001 +0000
+
+ more GL 1.3 and GLX 1.4 updates
+
+commit dcbe4d6d2f3eb2c099838875780991da34884646
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 13 22:12:54 2001 +0000
+
+ minor optimizations for flat shading (Klaus Niederkrueger)
+
+commit d22554d2cec07d6a8c11d5aef07835aef8d9a030
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 13 21:54:29 2001 +0000
+
+ replaced some tabs with spaces
+
+commit 097d2a025ea4195085b7cc3cabfcb1051ac969c7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 12 03:32:29 2001 +0000
+
+ minor re-org
+
+commit e79f4b08d5005a4053230a1e4c66455fb9e56430
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 12 03:30:02 2001 +0000
+
+ hook compressed texture functions into driver
+
+commit 517903edcde914f03a586fe515d40dccb54a1238
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 10 19:28:22 2001 +0000
+
+ add new WindML/Mesa man pages to tar file list
+
+commit 306933046cdc70e20af7facea8bc8a975812787e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 10 19:21:13 2001 +0000
+
+ WindML updates (Stephane Raimbault)
+
+commit 30230a9cd171128c34c55bd751242dbe07dc3a89
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 10 18:53:45 2001 +0000
+
+ fixed s/w alpha bug 458411
+
+commit 9348cfc6e8d72dea6b4ee248b7ef69ad639efea2
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Fri Sep 7 06:55:59 2001 +0000
+
+ Committing in .
+
+ Modified Files:
+ Mesa/src/tnl/t_imm_alloc.c
+
+ added initialization for Normals
+
+ ----------------------------------------------------------------------
+
+commit 190d34874cdf2a074364980d1cf2d3fa201ac7a1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 1 20:27:31 2001 +0000
+
+ minor changes, prototype Pbuffer support
+
+commit 62f75054cbf35d632b30765421f474dbec178e1f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 1 20:26:51 2001 +0000
+
+ update version to 3.5.1, minor OSMesa changes
+
+commit 7d5656bee7d3e0c4ba54005c7af6f59f4bf8aea0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 1 20:23:25 2001 +0000
+
+ prototype work for Pbuffer support
+
+commit 7e975ba3aa103df12c2069264e755b73e2fabf05
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 1 20:17:16 2001 +0000
+
+ added GLX_RGBA_TYPE, fixed GLX_LARGEST_PBUFFER typo
+
+commit 9bed64cbf193e87e0dba46edf5cfaec267b0d8e6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 31 04:30:14 2001 +0000
+
+ fixed dangling pointer problem (Chris Burghart)
+
+commit 04ec0fd71e3ba758e0ddc950ec68c3af4c58b1ab
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 29 03:58:42 2001 +0000
+
+ changes to allow the driver to compile - still doesn't work though
+
+commit a0037ad8b38e25bdb16e64e4da6e5c75cc66a9cd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 28 23:12:37 2001 +0000
+
+ added OSMESA_MAX_WIDTH/HEIGHT queries
+
+commit a07e02fd0162d4b951dee7b0182510224b2e5cab
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 28 22:54:47 2001 +0000
+
+ version 3.5.1 updates
+
+commit 0d6fd1584023c4c0058072bf6861d3e2362efe71
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 28 22:53:44 2001 +0000
+
+ minor updates regarding OpenGL 1.3
+
+commit a8b07a539b42b04111f48aa145bc3b2633fd5387
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 28 22:49:32 2001 +0000
+
+ added OpenGL 1.3 tokens and prototypes
+
+commit 2a88946f9ad82350c2f7edc2185bf9394d2d4764
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 28 22:46:22 2001 +0000
+
+ OpenGL 1.3 support
+
+commit afe4f5e6c165e21e1353388ad0f95822569b901b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 21 14:25:31 2001 +0000
+
+ simple multi-window GLUT test prog
+
+commit e7df7cd6add3e0dcb605d52f6d7117348cd28f11
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Tue Aug 21 05:42:11 2001 +0000
+
+ Get rid of unfinished demo.
+
+commit c123a9b2edc5852cb50485f344219508254081a8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 20 21:45:15 2001 +0000
+
+ removed a semicolon in the USE() macro
+
+commit 9babb737899a4bbece7179654ad77a6e14e52db3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 20 16:45:02 2001 +0000
+
+ added textured line bug fix
+
+commit d9fc8e20e3e8fee60a603ed3e5f1a77ab8f998f3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 20 16:44:43 2001 +0000
+
+ bumped version string to 3.5.1
+
+commit ac6daf97e173345e9a87b24d98fb1ed599c0ffac
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 20 16:43:02 2001 +0000
+
+ better error messages
+
+commit df631a866dfae8826d1b2d3f841bfed613d1d333
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 20 16:42:40 2001 +0000
+
+ better error reporting
+
+commit 233aafbb30594d0193b00705d0532be97060ebd1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 20 16:41:47 2001 +0000
+
+ new debugging code
+
+commit fc1eadefeb749d1737edf95f21bcc05ff468b05a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 20 16:16:36 2001 +0000
+
+ added WindML driver
+
+commit 976c26ca34f2ae8cc6f8b9f9b091efeba1311a94
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 20 16:07:10 2001 +0000
+
+ WindML driver (Stephane Raimbault)
+
+commit 60174c1aef7c6650a800f16f103a4f9ed2d1004e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 14 14:08:44 2001 +0000
+
+ Fixes for 32-bit GLchans: smooth/flat/textured triangles seem to work now.
+
+commit 76a52525c7edcefcb40a1cbc9ce88d6c6e402f1a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Aug 14 00:59:08 2001 +0000
+
+ Reenable, but only in the size four case...
+
+commit bd9b4056d7e93529782f104b9e7bd7fdfa685878
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Aug 14 00:52:47 2001 +0000
+
+ Undo last change - breaks other stuff.
+
+commit 3d1df5554e0038c9e8ea95e86317355050a74cc6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Aug 14 00:50:44 2001 +0000
+
+ Compute first partials before taking cross product to calculate normal.
+
+ Fixes diego santa cruz' nurbs lighting bug.
+
+commit 9a9077501043f33c24567dd574e53f17d3133fb8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 13 22:36:31 2001 +0000
+
+ replace PI with pi
+
+commit b1a2393bb7dfa4a930d5302a4dfd6afd9034c413
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Aug 13 22:17:19 2001 +0000
+
+ Fix problem with colormaterial (bug #441859)
+
+commit c8a27838a0b9e59d5c875f92202fccf49a0a3e44
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Aug 13 22:15:54 2001 +0000
+
+ Removed optimizations (this code is now seldom used)
+
+commit d922109eb37e943661f1c88c6a97284f6b6267ea
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 13 18:09:34 2001 +0000
+
+ added GL_EXT_texture_edge_clamp
+
+commit 978a2a0a43ccdb9090cf19b38347b1aa2d4c8f5e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 13 16:52:18 2001 +0000
+
+ fixed Solaris compilation problems (Bug 441817)
+
+commit 2e5a20ae21ab8c25cc3eb211e713a5712c3ee5cb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 13 16:51:08 2001 +0000
+
+ rm .lo .la files for make clean
+
+commit b22fe91cdba8ba1d38a1e4cbae3f1c1806b733c9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 13 16:37:44 2001 +0000
+
+ removed ss_interp.c
+
+commit 8b59b522970ad55b6b659ece85edebfdda0ba480
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 7 23:13:54 2001 +0000
+
+ added latest 3.5.1 bug fixes
+
+commit 58cfa0fd903979bd0c5127262683cdd8aa48e133
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 7 23:10:55 2001 +0000
+
+ fixed a glPush/PopAttrib bug related to texture binding (reported by Wes Bethel)
+
+commit c6182ab54c6d11371ad523a89e22380996cf0742
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 7 22:16:06 2001 +0000
+
+ fixed bug in DEST_4F template function
+
+commit 94f494e780b8dc920c773189d458ccd733f39b27
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 7 22:05:11 2001 +0000
+
+ removed some now bogus assertions (due to Klaus's latest optimization)
+
+commit ebc9f221b2f02a0256cd7c5426155933e50ab3b7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 7 21:46:52 2001 +0000
+
+ fixed NewState update bugs in _mesa_PopClientAttrib()
+
+commit b5797a50854994173ee05ee5803d3557c9538b23
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 7 17:34:10 2001 +0000
+
+ Win32 fixes, etc. (Gerk Huisma)
+
+commit 696cd3d2b6f2a76183a596886c0f9b593bd03250
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 7 17:26:10 2001 +0000
+
+ optimization to sample_lambda_2d() (Klaus Niederkrueger)
+
+commit bb40d0783040cdf0b2d2dbc0ddf1d26a76d8e3a3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 7 16:02:48 2001 +0000
+
+ added GLX context share bug fix
+
+commit 5e1680ce1d8296b2182e8909856927bbeddf3b95
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 7 16:01:34 2001 +0000
+
+ fixed GLX context sharing bug (reported by Eric Plante)
+
+commit 636fb6cae7d26b4ab453b204b305d91481e391e5
+Author: davem69 <davem69>
+Date: Fri Aug 3 13:16:31 2001 +0000
+
+ Use #function instead of @function
+ in .type directive so it works with Solaris
+ assembler as well as GNU assembler.
+
+commit 84170351dbac4b21238e7b84bcfdd3a27df42016
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Aug 3 00:16:36 2001 +0000
+
+ Fix VERT_RGBA special case.
+
+commit 76ca0f5232682665a899841026c47f171c7ec05c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Aug 2 22:39:51 2001 +0000
+
+ Fix SGL testLights.exe bugs (interaction of copying and fixup in display lists)
+
+commit 554ceab8ecc9805afb89cfa5975852fd57cad1e6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Aug 2 21:30:10 2001 +0000
+
+ Fix SGL testGeoSets.exe polygon mode problem (wrong interpretation of
+ count parameter in DrawArrays)
+
+commit 51184566fb6686ae34a39a5532812d7f1d8edb94
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Aug 2 19:58:07 2001 +0000
+
+ Fix SGL monoindexed bug (glDrawRangeElements in dlist)
+
+commit c618005dcff0d4011a77cfebd109880eb784d581
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Aug 1 05:10:42 2001 +0000
+
+ Fix copying problem (light spots) on evaluated surfaces.
+
+commit 3670e206a76d3c197bdfab8293e48623a87c7827
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Jul 28 21:04:21 2001 +0000
+
+ Fix core in fixup_normal_lengths
+
+commit 46af1f87c897ef03470d205e9fd147e93911cbce
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Jul 28 19:28:49 2001 +0000
+
+ Remove _BaseAlpha, fix reflect lighting bug.
+
+commit 616f470629487f303979c7e878062d66658ac812
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 27 19:09:58 2001 +0000
+
+ more GLAPIENTRY fixes (Karl Schultz)
+
+commit 2f65b316ffec94e65fcc6497cdb8d46e19d85946
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 27 14:49:08 2001 +0000
+
+ added latest 3.5.1 bug fixes
+
+commit 8a8d4740683197aa47f5b62bc23cdd0cd268fe3c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 27 14:38:17 2001 +0000
+
+ undo previous check-in (restore the @ symbols)
+
+commit dae1774e206188d951332d2285ea9cf8796d1a64
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 27 14:30:50 2001 +0000
+
+ check if deleting _Current texobj in _mesa_DeleteTextures (Bart Barenbrug)
+
+commit 086f1b8428dc9108d7186225c31ac1a13fe90c70
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 27 14:26:27 2001 +0000
+
+ added four missing GLX 1.3 tokens
+
+commit 24d9350897a69b972fbb46bc2848f858368e749e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 27 14:06:35 2001 +0000
+
+ replaced @ with ## or # to allow compilation on SunOS 5.6 (Bug 442742)
+
+commit 73fc243420574801a6a9aa0888b57b1e531b2bec
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 27 14:03:55 2001 +0000
+
+ wglUseFontBitmapsA() update (Frank Warmerdam)
+
+commit 172281dad8d1f1d32f5f31583a5fa565aa1bf5da
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 26 20:02:10 2001 +0000
+
+ fixes for proxy cube map texture images
+
+commit e2df5de01cbaf73c7f2b52459b318f9951f1e85a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 26 16:04:10 2001 +0000
+
+ use GLAPIENTRY when declaring a couple function pointers (Gerk Huisma)
+
+commit d4cff4f2fa43b22effdd5c339bd48508669a0a42
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 26 15:57:49 2001 +0000
+
+ Applied Klaus Niederkrueger's latest flat-shading clean-ups and some of my own.
+
+commit bbf6a41d2fd4a3d54e6b5dea50bba24768c01ece
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 23 16:47:53 2001 +0000
+
+ GLchan and GL_ADD clamping changes (Klaus Niederkrueger)
+
+commit 62c734f49948df7aeef55ad23a6664cbf3e11533
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 23 16:18:18 2001 +0000
+
+ don't make default teximage if glTexImage's pixels=NULL (Gerk Huisma)
+
+commit ae40b2281de9df67e3ba9ea76e420b1600720aa7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 23 16:10:03 2001 +0000
+
+ rename ERROR macro to TE_ERROR (Gerk Huisma)
+
+commit 3c03f3232dcd490b76b3e73d92f1039e4366d7b5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 23 16:08:59 2001 +0000
+
+ fix some Win32 warnings (Gerk Huisma)
+
+commit 4fa5c1966a985f81c615a9f5ef2f64dd466b252a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 23 16:08:19 2001 +0000
+
+ don't clamp colors if GLchan==GLfloat in add_colors()
+
+commit 55180f4b9216f8feb86dd6ecb4426fc6394c54b3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 23 16:07:39 2001 +0000
+
+ GLubyte -> GLchan change
+
+commit f3b85c983f469875ac76081a61539a6c7b26777c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 23 16:07:12 2001 +0000
+
+ check for pixels=NULL in _mesa_store_teximage[123]d()
+
+commit 89480f73823514364928fc08b5d9e256110712c9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 23 15:09:52 2001 +0000
+
+ added vms_x_fix.h to tar file list
+
+commit 46e6c7ad54776d9434d1a3634420e2a9209ec860
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Fri Jul 20 11:20:32 2001 +0000
+
+ Committing in .
+
+ Modified Files:
+ Mesa/si-glu/libtess/memalloc.h
+
+ malloc.h is non-standard on OpenVMS. If it is present it only includes
+ stdlib.h. therefore for VMS malloc.h is replaced by stdlib.h.
+ ----------------------------------------------------------------------
+
+commit 48f3bdaeb3e60455364efed4f276c1d75263595d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 19 16:12:03 2001 +0000
+
+ GLchan changes
+
+commit fd28445e102800b84e49e3f2299ef7dd8af8b89d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 19 15:54:34 2001 +0000
+
+ Added Win32 memory debugging and fixed a few memory leaks (Gerk Huisma)
+
+commit 2a9eca0ed4d07329141bf8226b60eef83101a216
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 18 14:10:51 2001 +0000
+
+ do some 16-bit GLchan computations in floating point (Gerk Huisma)
+
+commit 3b925120a672d18850094bda1104f034688cffe2
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Wed Jul 18 11:17:35 2001 +0000
+
+ Committing in .
+
+ Modified Files:
+ Mesa/si-glu/libnurbs/interface/glcurveval.cc
+
+ Corrected declaration of putCallBack
+
+ ----------------------------------------------------------------------
+
+commit 277fd2e66e0f43d415c63d140075d08b01a2870b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jul 17 21:44:37 2001 +0000
+
+ Fix Alan Barnett's 'try10' display list bug.
+
+commit 53560311294814ae0daa8457307a2b25077bf4e9
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jul 17 19:39:32 2001 +0000
+
+ Lighting now emits colors as CHAN_TYPE, as it used to. This will require
+ minor adjustments in the dri drivers for twosided lighting to work again.
+
+commit 4ae22b9721e4f123354aad9921da1613fd078367
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 17 15:39:13 2001 +0000
+
+ include glu.h
+
+commit 461b99050811b345e77de01f4610e7c22a259141
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 16 20:45:55 2001 +0000
+
+ disable MMX blend code until it gets fixed
+
+commit a1503b00f863a48a517939a42d512f9cfe77f79c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 16 15:54:23 2001 +0000
+
+ Various 16-bit GLchan fixes and Win32 fixes (Gerk Huisma)
+
+commit fba5e9546874e1e140a3862b31e35b68832cc22d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 16 15:46:42 2001 +0000
+
+ assorted fixes for Win32 (Gerk Huisma)
+
+commit 96385fa15569e25cd0977e678c0ff3bdab6ef316
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jul 14 17:53:04 2001 +0000
+
+ more work on float colors (still not finished)
+
+commit 274fc30d31803a1c73d7d05e041e71e6b683229e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jul 14 16:30:56 2001 +0000
+
+ added latest 3.5.1 bug fixes
+
+commit ac3958ea1bf8f7b1648f9c1b2ffbe93ffd40b602
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jul 14 16:05:44 2001 +0000
+
+ removed unused tiny triangle test code
+
+commit ee6cf4c6b081dbad7366b80637718d068530d79c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 13 20:12:44 2001 +0000
+
+ undo previous check-in (unfinished code)
+
+commit 601ce1d624466feed19cabbdc40484be4bc6ceec
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 13 20:09:18 2001 +0000
+
+ minor tweaks
+
+commit 5b22aa1e339b77fa7e3e8ba134619c7e5ef93900
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 13 20:08:42 2001 +0000
+
+ added linux-osmesa32 config
+
+commit f431a3fb4dc1bf860203d79e54657e3a62bc50df
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 13 20:07:37 2001 +0000
+
+ assorted changes for supporting GLfloat color channels (not done)
+
+commit bc07a99cc3faeb1aa48700065b34baa76c201e7d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 13 17:26:39 2001 +0000
+
+ replaced __inline with INLINE
+
+commit cff1cfd90d94548c7b9499ffcac5bd13ca338f85
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 13 16:39:19 2001 +0000
+
+ silence an uninitialized var warning
+
+commit 5c749d9e3c7824c0ba5b22e37d0ea5cbd54d6d2d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 13 16:38:44 2001 +0000
+
+ silence a warning
+
+commit b23f5b5a5ccf5910f1d11d749c2e440e6a46259b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 13 15:44:21 2001 +0000
+
+ replace _NEW_PIXEL with _IMAGE_NEW_TRANSFER_STATE to catch color matrix changes
+
+commit 77a4754d73ae4b9f69e8a3b7fdb0f17cb000c84a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 13 15:24:34 2001 +0000
+
+ fixed two bad casts (Stephane Conversy)
+
+commit 0cab1db7763392f9df2c3dfa598d6a81d5af4606
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Fri Jul 13 11:28:07 2001 +0000
+
+ Committing in .
+
+ Modified Files:
+ Mesa/src/descrip.mms Mesa/src/FX/fxtris.c Mesa/src/FX/fxvb.c
+
+ -updated OpenVMS makefile
+ -fixed compilation if FX is NOT defined.
+ ----------------------------------------------------------------------
+
+commit 1182ffeec39bf419928ba862c225e80a439fee7a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jul 12 22:09:21 2001 +0000
+
+ Rename some of the tnl->Driver.* functions to tnl->Driver.Render.*, to make it
+ clear that these are owned by t_vb_render.c.
+
+ Make swrast_setup opaque - it now hooks itself directly into
+ tnl->Driver.Render.*. Add a _swsetup_Wakeup() call that does this.
+
+ Update X11 (tested), osmesa and FX drivers for this change.
+
+ FX compiles but is probably broken as the changes there are large. It was the
+ only remaining driver that used the internal _swsetup_ functions for
+ interp and copy_pv. This usage has been replaced with code from the DRI
+ tdfx driver.
+
+commit fae7b778b81b686ef419f971064b5fe12fb4ead3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 9 16:24:30 2001 +0000
+
+ fixed flat shading bug in affine_ and persp_textured_triangle() functions
+
+commit 571c8ecc8f9442fb8bbaa1f29b1d0d4f8e5b3cad
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 9 16:16:20 2001 +0000
+
+ added missing \'s
+
+commit ac541734146071e279a8c379bce98f40195069e5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 5 15:31:21 2001 +0000
+
+ fixed segfault (NULL _ShineTable[0]) in shade_rastpos()
+
+commit 5233ca8d3061e9e126c73073dccf56c65869bb61
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 5 15:12:13 2001 +0000
+
+ fixed logic error in OSMesaMakeCurrent() for 565 pixel support (Lars Andersson)
+
+commit 8564f0536b2b3f6166c80ce43ae1ba44cf81d72a
+Author: pesco <pesco>
+Date: Mon Jul 2 11:41:02 2001 +0000
+
+ More .cvsignore updates.
+
+commit 47a28c0b4d4ca27592e3cbb8e4b17d1cd8f7997d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jun 28 17:34:14 2001 +0000
+
+ restore normal length optimization in dlists
+
+commit 206eda8b69ab3c63e9597015189f49d1bda9356f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 27 13:56:17 2001 +0000
+
+ support for RGB_565 pixels (Lars Andersson), untested
+
+commit 9c38ae35ebc66cf184068c75dd570e6ad0562496
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jun 27 12:52:12 2001 +0000
+
+ Add -f to rm in make clean to avoid error messages
+
+commit acc722d4b890da7ed0ede24751e2bcaf28cc1468
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 26 21:15:35 2001 +0000
+
+ More raster fog coord fixes.
+ New truncate vs. floor comments in drawpixels.c
+ Added current raster secondary color state, not used yet.
+
+commit 33170eeb185f5fe766374a749464497cdfab6931
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 26 15:33:28 2001 +0000
+
+ optimized texture triangle updates (Klaus Niederkrueger)
+
+commit 4f76d0e215c201ab8185a54eef0dc55b72f747cc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 26 01:33:15 2001 +0000
+
+ added initial 3.5.1 info
+
+commit 8c2f6c5059a60d845716277973c826f4069926e6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 26 01:32:48 2001 +0000
+
+ added GL_IBM_rasterpos_clip extension
+
+commit 657323bf03a575bf40cff83119f201a9dcd1478e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 25 15:29:11 2001 +0000
+
+ added missing GLX_PBUFFER_WIDTH/HEIGHT tokens
+
+commit 5e7591f94ca8c7fe909d6088430358861d668124
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Thu Jun 21 12:19:43 2001 +0000
+
+ Modified Files:
+ Mesa/src/descrip.mms
+
+ Removed obsolete .obj files.
+
+ ----------------------------------------------------------------------
+
+commit 9e5e5e35a0081211e3e108984bf18d7f4f31f7ea
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 20 19:52:11 2001 +0000
+
+ bumped version numbers
+
+commit 4d99e5b2e765b24135218f23077b8d912adee07d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 20 19:12:30 2001 +0000
+
+ also print GL_MAX_TEXTURE_SIZE
+
+commit f6df34ecbe384f1e426c0758b07915463bd47cec
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 20 19:02:48 2001 +0000
+
+ updates for the 3.5 release
+
+commit d491f7bc1444b48c36885881e7dcf29f9b64b331
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 20 18:54:43 2001 +0000
+
+ removed beta from version string
+
+commit 1fb583c50d8bdb3867f28b8d35a5dbd64fee0f86
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 19 21:49:06 2001 +0000
+
+ added a few missing si-glu files
+
+commit 6738d2ac78c504ff3249aca30bafe0cf0460c765
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 19 19:51:23 2001 +0000
+
+ add m4/ directory to tar file list
+
+commit 293b786ceeb2975db7a3e0ac2bb954395072ed55
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 19 18:06:41 2001 +0000
+
+ more updates to tar file lists for 3.5
+
+commit af197f5f8f182c04ab29cd3c7a18a0cb95a1d9b7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 18 23:55:18 2001 +0000
+
+ fix glDraw/CopyPixels w/ fog bug. minor fog code clean-ups.
+
+commit aba535e765336ceddd23a303514ef7e223b8dc28
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 18 23:39:38 2001 +0000
+
+ tar file list updates for 3.5
+
+commit 76f8274dafef744e98b2504f30439108d69b8d27
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 18 22:45:16 2001 +0000
+
+ replaced -g with -O3 under linux-x86
+
+commit 1b258989462e907e45abbdf8743b0a75f22c02b3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 18 17:26:08 2001 +0000
+
+ Consolidated source files. Since the re-org a number of source files
+ only had one or two functions left in them.
+
+commit 24ae7c4c1f18c3086a779a2ee8f480ee5f4e7612
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 15 15:22:07 2001 +0000
+
+ Added fi_type union typedef to glheader.h.
+ Replace various float/int casts with the fi_type union cast.
+ Fixes -fstrict-aliasing problems.
+
+commit e4276667dafc8de0c6e64af8300fc7598437de6e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 15 14:18:46 2001 +0000
+
+ Enable GL_ARB_texture_compression for XMesa/GLX driver. Texture
+ compression isn't really implmented. Just updated glTexImageXD()
+ to accept compressed internal format tokens.
+
+commit 65c6ca91795a71cf38dbe5f49f2d73fd9d4049cd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 15 13:41:12 2001 +0000
+
+ replace 255 with CHAN_MAX
+
+commit 03d6c4c2db21774a40c748f139e37e00b956b482
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 14 21:37:43 2001 +0000
+
+ define both GL_ALL_CLIENT_ATTRIB_BITS and GL_CLIENT_ALL_ATTRIB_BITS (spec and SI don't agree)
+
+commit 2db44ffe9d591b0686755e2128ae9a6a1611f2a5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 14 18:30:14 2001 +0000
+
+ fixed a comment
+
+commit e9ba8e92141f9824bdb0cb3db91467bb2f0c51d7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 13 14:57:55 2001 +0000
+
+ disabled an assertion that doesn't seem to be needed
+
+commit cd1cefae9146fc14b35ee93a04bdb1b1590fba7b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 13 14:56:14 2001 +0000
+
+ Allow different max texture sizes for 1/2D, 3D and cube maps.
+
+commit cc22179cd855dad85a28c40416873a07e8b7cc0c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 13 14:55:25 2001 +0000
+
+ fixed an assertion
+
+commit 1178ed817f835e2a9b1fdd33b32d39e2d6070cc8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 13 14:53:52 2001 +0000
+
+ fixed a +/- typo in the Y coord setup
+
+commit 688601911cf3f7a8718c59b7f18db99933432c08
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 13 14:33:16 2001 +0000
+
+ moved glTexEnvi calls to better logical locations
+
+commit ae47121fa336f53c5ab51df3dc699db018feff18
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 12 22:08:41 2001 +0000
+
+ removed old, redundant CurrentTransformUnit state var
+
+commit 1676268eab04523fe4fe325d39d427fc098e52a5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 12 22:06:53 2001 +0000
+
+ always feedback unit 0 texcoords
+
+commit baace9ffca69dd7919b5c3cf53bd87affa9c1e25
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 12 22:06:10 2001 +0000
+
+ don't compile glClientActiveTextureARB() into display lists, per the spec
+
+commit 5ed63e089564a3d10e65bc22902ac722f92bdd29
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 12 22:05:34 2001 +0000
+
+ disable pixel transfer ops for glGetTexImage(), per the spec
+
+commit d3778fc129222895a57a480703be07a3cd74e3a5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 12 14:32:15 2001 +0000
+
+ added latest line and triangle bug fixes
+
+commit a2162e42280f2aa17a5dfd36b18ff4f6026dade5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 12 14:18:58 2001 +0000
+
+ Snap triangle x,y vertices to 1/16 subpixel positions.
+ Disabled tiny triangle threshold test.
+
+commit 57b46ee6ea62f233b20d20aabedbacd814a15697
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 11 19:44:01 2001 +0000
+
+ check for PB overflow in general_flat_rgba_line()
+
+commit e67d632d999fa962377060faacf25e24b17dc341
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 11 19:17:11 2001 +0000
+
+ fixed minor display list bugs (#431517)
+
+commit 5891a5dd5545c67c7360d08566f62f54e37a4897
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Mon Jun 11 07:52:51 2001 +0000
+
+ Committing in .
+
+ Modified Files:
+ Mesa/src/macros.h
+
+ Added
+ #define COPY_4UBV()
+ for non i386 machines
+ ----------------------------------------------------------------------
+
+commit 0ce9f39d237bf86dc50d2822dafde3d6bdc279e1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 8 20:10:55 2001 +0000
+
+ add check for NULL malloc (from Stanford metacompilation analysis)
+
+commit 5fd13173a1f8863761de835611f6f4026ffac654
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 8 15:47:48 2001 +0000
+
+ added COPY_4UBV bug fix
+
+commit fabc30cfdd6576a1d1edee4ad4ee01e41fabb3fa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 8 15:46:30 2001 +0000
+
+ only copy GLubyte[4] as a GLuint on x86
+
+commit 36822c50ad84d255f1e7c94b56cfff1cd8bcef85
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 8 12:49:38 2001 +0000
+
+ use unoptimized COPY_4UBV code on SPARC to avoid memory alignment problems (bug 430689)
+
+commit 4a497e649b33f8b73696bbef0e6da221491460fe
+Author: davem69 <davem69>
+Date: Wed Jun 6 22:55:28 2001 +0000
+
+ Remove dependency on MESA sources from gl* files
+ in SPARC glapi optimizations by moving the icache
+ flush into the glapi_sparc.S file.
+
+ Brian, how is this?
+
+commit a5455bb374571833080fcbd6728edcba13d45b38
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 6 18:12:35 2001 +0000
+
+ test for X86_FXSR_MAGIC to be sure we have the _fpstate.magic field, needed for SSE signal handler
+
+commit 6f365c21d796310a9ea70d8420e6879eb5abb6ae
+Author: davem69 <davem69>
+Date: Wed Jun 6 11:46:04 2001 +0000
+
+ SPARC normal tnl optimizations.
+
+commit 775355a88a0927e2e3a855036c26950397a61d7b
+Author: davem69 <davem69>
+Date: Tue Jun 5 23:54:00 2001 +0000
+
+ Sparc optimized GLAPI dispatch table.
+
+commit 0fab0702b03a0036e20cd823ad31bdc361f8fc1b
+Author: davem69 <davem69>
+Date: Tue Jun 5 22:25:07 2001 +0000
+
+ Generate this now that I know which
+ gl.spec file to use.
+
+commit 470a7b48745d0e467973c9b9d751a8be4abec0e6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 5 21:41:05 2001 +0000
+
+ minor clean-ups
+
+commit a1164746e7f5b574fa12c1e3c45986243049880d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 5 19:29:41 2001 +0000
+
+ filled in a bunch of the function template strings
+
+commit ae14499101314f87099199738fa7f6715603681a
+Author: davem69 <davem69>
+Date: Tue Jun 5 04:30:03 2001 +0000
+
+ Python script for making glapi_sparc.S
+ Unused until Brian shows me what gl.spec file he is
+ actually using for glapi_x86.S as all the ones I can
+ find seem out of sync.
+
+commit e4f84b4936b72f17ee54b0b1e17bd94831f772a8
+Author: davem69 <davem69>
+Date: Tue Jun 5 03:58:20 2001 +0000
+
+ Add USE_SPARC_ASM diagnostics to print_info.
+
+commit b20cea3902122565f843e689ef4f6ab139ed69cf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 4 22:33:02 2001 +0000
+
+ removed some code in XMesaDestroyContext() which could lead to a segfault
+
+commit 51b36396ae45f9ee9cec8d612787d038641dc6c8
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jun 4 16:09:28 2001 +0000
+
+ Adaptor code that lets tnl convert compiled (display list) cassettes back
+ to glVertex() type calls. Allows driver-supplied tnl modules to avoid
+ fallback on glCallList inside begin/end pairs.
+
+ Still a little buggy...
+
+commit abd5134965665ad9f7154a08b13edfed15f00135
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jun 4 15:34:31 2001 +0000
+
+ fixed some GL_POINTS probs
+
+commit bd58a63fe891f6e42c71e8a8f2c8a7990b59eae8
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jun 4 13:57:35 2001 +0000
+
+ New files to provide glEvalPoint, glEvalCoord implementations for
+ driver tnl modules.
+
+commit 2c2a956a3a88f5f5868b701f0157320169d19bd4
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jun 1 22:22:41 2001 +0000
+
+ Add api_arrayelt.c
+
+commit 4b7d6f216bf768482e07e4d7feb8ca3e1be92d53
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jun 1 22:22:10 2001 +0000
+
+ Working implementation of glArrayElt that decomposes to regular
+ glVertex/glNormal/etc calls.
+
+commit a7de8b6776ed0fe7e79075d780f810109335fb1f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 1 16:29:18 2001 +0000
+
+ added minor comments
+
+commit 8a039ffe0ad8ed6c919aafbbded3d6249d894d16
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 1 13:23:27 2001 +0000
+
+ applied Klaus Niederkrueger's CHAN_BITS==32 patch
+
+commit 741c2e6434f2c4f273c7cdecb227514bacd3cc8a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jun 1 12:07:15 2001 +0000
+
+ apply David Miller's quad/backcolor patch
+
+commit 4097590bc6e13c1903760dbfb1d60123ee0f527d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 31 23:06:01 2001 +0000
+
+ replaced #ifdef 0 with #if 0
+
+commit 21f80baa35dca54394f100d2655d28eec10cca0a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 31 23:03:05 2001 +0000
+
+ swapped in/out arguments to interp_func. Improved comments
+
+commit e715c4a62d57eacb4b5b3b94276f251b7a4e5d22
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 31 19:25:25 2001 +0000
+
+ fixed s/w alpha channel bug
+
+commit 987caacbeba4396c7333ea406357acdceac1dbbe
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 30 17:44:14 2001 +0000
+
+ GLubyte -> GLchan fix
+
+commit b5d3f2c52103c6bd834838695cd753ca26991bd6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 30 15:22:04 2001 +0000
+
+ added current raster fog coord and related code
+
+commit 529e48bb0fd53e3a47d01f42c0acfe7faa373912
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 30 14:43:17 2001 +0000
+
+ added test for EXT_fog_coord
+
+commit 47a3c67fa6696cf408378f3593e9a39b39269d37
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 30 14:39:47 2001 +0000
+
+ forgot to check-in yesterday
+
+commit 71f2c401c5657c6f2fc2236fd019aa70d538daac
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 30 10:01:41 2001 +0000
+
+ rerun vertex stage on _MESA_NEW_NEED_EYE_COORDS
+
+commit 84cac8441fcf5f692cd220e9fa86cab398a4c159
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 29 23:15:07 2001 +0000
+
+ more DRI libGL-related changes
+
+commit e4a01fd7e1e37e653837a22a6b485cfdc54f4d3b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 29 22:06:13 2001 +0000
+
+ added math/m_debug_clip.c
+
+commit 655ba5d9927187e76b66f5886d090624dc4b1dd9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 29 19:48:46 2001 +0000
+
+ removed some old DRI-isms
+
+commit ffa10b1c3b3c944438d0a75c84acdbd92091c35c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 29 16:23:26 2001 +0000
+
+ added new functions to GLX_functions[]
+
+commit 645c1cef13475db0db6433574807ee01ff0ceb28
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 29 15:44:06 2001 +0000
+
+ s/void */GLvoid */
+
+commit 736fcbec4732830e7976fb5eb309b13e03be132c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 29 15:23:48 2001 +0000
+
+ infrastructure for GL_ARB_multisample
+
+commit 5ff1c613ea25be455eda9037a4955d47669a8c79
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 29 15:23:15 2001 +0000
+
+ removed unused var
+
+commit b0bb4f6226a18e0a6eb40046c7f7b5a841c75eda
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 25 21:51:02 2001 +0000
+
+ more work on XMesa / libGL integration
+
+commit b95884c53de33bdd6ec843a8ddd7243cfb93a208
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 25 15:44:06 2001 +0000
+
+ added void to __GLXextFuncPtr
+
+commit 2a3cc7d90742bc173666b7b32153bce944c019e0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 25 15:41:29 2001 +0000
+
+ added missing GLX_SGIS_multisample tokens
+
+commit c98da4d99acac9c402efca9923890fef8ba4f294
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 25 15:40:29 2001 +0000
+
+ changed #if OLD_VMS to #ifdef OLD_VMS
+
+commit 12c1bee87fcc3a0912685bb6e83447972e5de64e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 24 20:05:32 2001 +0000
+
+ added some casts so that older glx.h can be used
+
+commit e203c9cdd8ef0b0b053923e630e291f5671a9ab4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 24 19:07:14 2001 +0000
+
+ change GLXContext and GLXFBConfig typedefs
+
+commit 7cf50e137da497a590ec9001a9918972a6246142
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 24 19:06:21 2001 +0000
+
+ Initial changes to allow Mesa and its fake GLX to be built into XFree86 libGL.
+
+commit bcebfe647f4f26681e100c5499684ab6ee4b8813
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 24 14:49:14 2001 +0000
+
+ added GL_SGIS_generate_mipmap
+
+commit 9228e17bb5bf219269daeed5cbfdd912c118e926
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 24 14:47:56 2001 +0000
+
+ Finished GL_SGIS_generate_mipmap. Should be trivial to enable in DRI drivers.
+
+commit 55ed11bac511bb9ba80c1e2d2115d91e32621be4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 24 00:00:57 2001 +0000
+
+ prototyping some new stuff
+
+commit 874ae7249522261a6274856acfed1c994c0b7029
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 23 23:55:52 2001 +0000
+
+ added color table clamp bugfix
+
+commit f6e0e92beb1cc374a8623390975278f243af881a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 23 23:55:01 2001 +0000
+
+ fix bug 426657: need to clamp RGBA before color table lookups
+
+commit 6f0ab1d8686a12a1711e5f503b8a0acaafc78fbb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 23 14:45:01 2001 +0000
+
+ import from 3.4 branch
+
+commit e34d63f087e05080cddaad97cd6e3d885ce57251
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 23 14:44:12 2001 +0000
+
+ added 3.4.2 changes, SPARC assembly
+
+commit 04a6c35819f0a386c98d65bf5d4bf0e5e776f04c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 23 14:42:47 2001 +0000
+
+ updated copyright
+
+commit 7943b349d696f8030f0d2f836ad42a762f4c6026
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 23 14:27:03 2001 +0000
+
+ SPARC assembly optimizations from David Miller.
+
+commit 8bd06931018d5662b92f1cfeee2abaf352d0044c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 22 21:49:03 2001 +0000
+
+ a little more work on GL_SGIS_generate_mipmap
+
+commit 6b1e4ea5a54ea852a904440cd9fa50251f63f64c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 21 18:13:43 2001 +0000
+
+ fixed a number of multi-texture line bugs
+
+commit 300e1056f5ef56da8e7df8a689e5e66f57af3c3a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 21 17:45:25 2001 +0000
+
+ added multitexture support
+
+commit 3893e638e6521b9c070e01c0b31d22754ff97a88
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 21 16:41:03 2001 +0000
+
+ initial support for GL_SGIS_generate_mipmap extension
+
+commit e7e38a47a8dd567fd5a848cbef09b14018fb2fe0
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Mon May 21 16:33:41 2001 +0000
+
+ Initial commit of cliptest work. More to come shortly.
+
+ - Add debug, benchmark code.
+ - Change linux/x86 FAST_MATH code to GCC/x86, and clear FP exceptions
+ before exiting the fast math block.
+ - Remove divide-by-zero test in x86 cliptest, and set clipped vertices
+ to [0,0,0,1] instead of leaving them uninitialized.
+
+commit e9482d004f7b4bdc99312a89c33c061f31552bda
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 21 14:46:33 2001 +0000
+
+ s/Height/height/ (Jeff Potter)
+
+commit d577248b8973bee8fa4f84be9f6c87eb33a3f163
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 18 23:58:26 2001 +0000
+
+ added missing #undefs at end of file
+
+commit ca78774fc71aa0197c451e924588ad77693447c9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 18 22:10:49 2001 +0000
+
+ fixed a bad error string in ClientActiveTexture()
+
+commit 569b5f32b97164b733d47db6c1d4722076b02ea7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 17 21:33:14 2001 +0000
+
+ fixed two GL error calls
+
+commit 758a21f1043b52a8a2fa2397d3c963c0c40c268a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 17 20:18:45 2001 +0000
+
+ fixed Width/Height typo (Jeff Hartmann)
+
+commit 1341f40dfede5324a56ae20651bf5daf2f872bf6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 17 14:49:38 2001 +0000
+
+ removed (void) index; statement
+
+commit 5439ab0683d38b000ef2e5aa1dfc5088e6ffc957
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 17 11:33:33 2001 +0000
+
+ Comment out __FUNCTION__ usage.
+
+commit 89dae684aa1d74b06a4f70cb76b33671d0cef9e6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 17 09:32:17 2001 +0000
+
+ Fix order of decomposition of quad.
+ Remove 'swrast->_MultiTexEnabled' derived value.
+
+commit 47cf442c1164b6b406117fccfb8b564602741ee3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 16 20:27:12 2001 +0000
+
+ use DEFARRAY, etc macros to work around 32k data limit on Macs (Tom Goon)
+
+commit 441a4af435b46e1b475318fbaf4e80b774390cb0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 16 17:06:28 2001 +0000
+
+ generate INVALID_OPERATION if active texture != 0 in glMap[12][fd]
+
+commit dbd0dad580a6bf501441df95fccf2db718fd5d45
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 16 09:28:32 2001 +0000
+
+ fix for Jouk's glplanet bug
+
+commit c47a5327d38a978324361a8b1e4201253645da0c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 15 21:31:36 2001 +0000
+
+ added latest 3.5 changes
+
+commit 5071b0812fc73bcba92e2b6fcbad2f53f063fc32
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 15 21:30:26 2001 +0000
+
+ Apply antialiasing coverage factor to alpha after texture application,
+ not before.
+
+commit a51f07d5a148705c1c118dece1630972753ca349
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 15 21:21:08 2001 +0000
+
+ _mesa_pack_index_span() was broken for non-GLubyte datatypes
+
+commit 9e48553ccc591a8d0559dac6ef9cd5a956dbd41e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 15 20:52:51 2001 +0000
+
+ increase FOG_MAX to 10.0 to fix CI conformace failure
+
+commit 80532da3bf2a83448c6f38c34dbaf32898acea2d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 15 16:18:13 2001 +0000
+
+ minor clean-ups and more comments
+
+commit d57bcbed46207cb1810902e1435faf504047cd58
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 15 15:27:43 2001 +0000
+
+ moved some misplaced compiler flags from CC assigment to CFLAGS
+
+commit 0ab16e01348a8feceda9ee55f14b035e400d3c01
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 14 23:11:12 2001 +0000
+
+ New IFLOOR, ICEIL macros from Josh Vanderhoof. Fixes problems with
+ IFLOOR(1.99999)==2, for example. Moved some macros from config.h to glheader.h
+
+commit 649971518c6b79bc510d3a15b025250a7f947def
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon May 14 16:34:24 2001 +0000
+
+ typo
+
+commit f89035b8c45ff13392fe7cb3ce0c2bdb7e4166be
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 14 16:25:18 2001 +0000
+
+ changed MAX_HEIGHT to 2048
+
+commit 9bf68ad963ba92b5d1e725f965979042495a5313
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 14 16:23:04 2001 +0000
+
+ New triangle rasterization code. Store per-span initial/step values in the
+ new triangle_span struct. Much cleaner code and possibilities for future
+ optimizations.
+
+commit 9cf779e7ac5509aa2d8706b882e9a6b43837cebd
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon May 14 09:00:51 2001 +0000
+
+ Fix for glean texgen test.
+
+commit b8d091d3503415a29a309dca0ce13b24509bd763
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon May 14 08:57:36 2001 +0000
+
+ increase blocksize, remove dead opcodes
+
+commit 53e4ebd4e36c0ae462d71c87cda3533f9d001324
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Sun May 13 18:55:15 2001 +0000
+
+ Fix long-standing FP exception bug in _mesa_x86_cliptest_points4().
+
+commit d29e9dfe93cc4ff22cbffba400741f726b953c66
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 11 18:58:32 2001 +0000
+
+ fixed scissor clear problem (Michael Saunders)
+
+commit c6083e1dc47057b64179079715c5eac8f6010467
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri May 11 15:53:06 2001 +0000
+
+ Clean up _tnl_Begin/begin/hard_begin.
+ Fix some problems with draw_arrays, draw_elements.
+
+commit b8f9980999cb3619b3b60c089e6fa3b780a52292
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri May 11 15:47:02 2001 +0000
+
+ fix a couple of small bugs
+
+commit 5759f53934d3f70dd3968fd747cf5bcb92563f21
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri May 11 12:08:15 2001 +0000
+
+ made render path selection more flexible
+
+commit 6d1055c9675fb8c39d3843b550beaa168e031fc9
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri May 11 08:11:31 2001 +0000
+
+ Clean up translation of array elements, copying of elts in pure-elt
+ cassettes. Fixes problem with isosurf/compiled-array-elt/strips.
+
+commit 1a3e034b122267c4e63ba994c56caead5d9d6434
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 10 18:01:19 2001 +0000
+
+ redo previous change in a more defensive way
+
+commit a5cc6155d425b1a94e576e0c87140557051b7505
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 10 17:55:54 2001 +0000
+
+ added check for zero-length spans, avoids potential problems later
+
+commit dbed2027444338dc09fc102d6f4bd5c707c238d7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 10 17:41:41 2001 +0000
+
+ fixed some divide by zero problems found w/ conform
+
+commit bd3d9b9d0497e64feec50153ad953a58a35bcd89
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 10 16:54:12 2001 +0000
+
+ RGBA mode GL_NAND was wrong, fixed 16-bit GLchan support
+
+commit 8b6a91a93f1b3f79796f398884aaca77a8a09198
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 10 15:42:42 2001 +0000
+
+ Set 'prefer_float_colors' true, now that tnl uses them natively.
+ Apply Jeff Epler's optimization to ci spans as well, remove old code.
+
+commit e296d7f0e455ebb1776d01196020a3b4ce2507fb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 10 14:21:17 2001 +0000
+
+ applied Jeff & Keith's optimization to write_span_mono_pixmap()
+
+commit ad51be1ad4c60ad678405a860735901ef1e6ce94
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 10 12:57:12 2001 +0000
+
+ fixed bad texture border test (sometimes caused a segfault)
+
+commit 72deb502d7ed2c1e447195dfaafac818ad88b218
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 10 12:33:28 2001 +0000
+
+ minor clean-up
+
+commit bc69de5f21ebb4d6e1c65bf5652d17a9fc87dda7
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 10 12:22:32 2001 +0000
+
+ Driver interface changes
+
+commit 7954a0cafdce545cde193e8ec317afa85be2b736
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 10 12:18:38 2001 +0000
+
+ Replace PipelineStart, PipelineFinish with RunPipeline. Clean up
+ _tnl_run_pipeline() a little.
+
+commit f2bcadec7c45727058050521cca1c52b6226aa68
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 10 03:00:58 2001 +0000
+
+ removed linux-386-opt-V2-glide config since FX_V2 symbol has no significance anymore
+
+commit f50bbbf8556483a8def9862c0d05382e43177eb0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 10 02:59:04 2001 +0000
+
+ check hardware type and use SETUP_SNAP if needed
+
+commit 8acb7e9ea211423e196dac4dfde312ffeb78619a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 9 22:24:22 2001 +0000
+
+ fixed loop bug in _mesa_ConvolutionFilter2D()
+
+commit 20dc7e69459a9b529ce99f0669b78ea83162a78d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 9 21:58:19 2001 +0000
+
+ minor clean-ups
+
+commit b9f2494bfc990fe7269feeb441a3893aceb7569e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 9 21:36:52 2001 +0000
+
+ fixed FP underflow problem in kfact computation
+
+commit 91979127ecec0f3d60507f9197b1f9fd00e4e145
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 9 20:45:00 2001 +0000
+
+ fixed font/bitmap x-offset bug (Frank Warmerdam)
+
+commit 7884aa151fb630b3533e060d24f1e0f51724f08b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 9 20:42:37 2001 +0000
+
+ fixed Y flip problem in read_rgba_pixels() (Frank Warmerdam)
+
+commit a41edc31ce81daf69157a345525933ca6c560004
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 9 20:02:28 2001 +0000
+
+ check for tiny values in dir[] vector in calcposobjs(), prevents FP underflows later
+
+commit 61cb081a357e60e988ecfa2fd945a8d2657c49f0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 9 17:31:46 2001 +0000
+
+ missed a GLfixed->GLfloat fog change
+
+commit 78023e980891954ab1cd08a25dc3bac521220098
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 9 17:21:51 2001 +0000
+
+ don't call _mesa_win_fog_coords_from_z() if fog is disabled, fixes FP exception
+
+commit 7b9ff48d022f43e129ad94e7ca9783a0b007a2c4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 9 17:14:19 2001 +0000
+
+ make sure rotation plugged into sin/cos lookup tables is always positive, fixes FP exception
+
+commit f2bfc66c5db02d26e32af5e46b2abb3ceb75ae34
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 9 16:34:09 2001 +0000
+
+ fixed minor logic error in _mesa_StencilOp()
+
+commit cd487af90b0bc95f2dd62d0ebb98e752bfb17c02
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 9 15:34:08 2001 +0000
+
+ remove debug code
+
+commit 5f2230c7bf9432187103ab6c890c0d560c203d5c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 9 14:12:34 2001 +0000
+
+ add missing translate functions
+
+commit bcf749e83a4844972b8fbb84e9762a9b1ec77c5f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 9 13:53:36 2001 +0000
+
+ fix possible segfault on destroy context
+
+commit 335634b807921285bec0709ee92c454cee87ee88
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 9 12:48:21 2001 +0000
+
+ Add FLUSH_CURRENT() calls to fix ordering problems (incl. hierarchical
+ dlist calls).
+
+commit e809379cafa1ce24572004cf9f496798b4d94903
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 9 12:25:40 2001 +0000
+
+ Use correct PV when clipping.
+
+commit 0a716cdff834624b95832f200446b6a3fe36789c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 9 12:24:51 2001 +0000
+
+ Don't scale basealpha by 255 now it's a float.
+
+commit 0ff31445f20238112c4ee840901e5e5fe9b4c314
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed May 9 11:06:30 2001 +0000
+
+ fix eval/colormaterial interaction
+
+commit bc920f08f5c6f75c8945bc90a71db93bb16ac1f8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 7 16:32:51 2001 +0000
+
+ set MRD to 1.0, fixes new Glean polygon offset failure
+
+commit dae62174c5e7736aa93da8c17a20ea356d2f9bdf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 7 16:01:59 2001 +0000
+
+ sample plane equations at fragment centers, not lower-left corner
+
+commit c5e907e501f7a3d08598eaaa5f2d805cef24edb9
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Mon May 7 14:16:19 2001 +0000
+
+ Add new tests.
+
+commit 95d0fe9c11124b9e9c4b2ae5222855c8967278f0
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Mon May 7 14:06:15 2001 +0000
+
+ More cleanups.
+
+commit c329f0824caf6756041516cfee843fc6f6cd3f8a
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Mon May 7 13:58:00 2001 +0000
+
+ Initial new Win32 build support. More to come.
+
+commit 43caa5c09a5059c1ee05f5ecc7030f5a1c642531
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 4 17:42:53 2001 +0000
+
+ added info about driver status in 3.5
+
+commit a2519c8aed0bf2019d0a664974ff848e918cc510
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 3 23:55:38 2001 +0000
+
+ do FLUSH_VERTICES() in glGet*() functions to make occlusion testing work, perhaps needed for other cases, like GL_CURRENT_COLOR
+
+commit 1b3528fe635242f782fbcdde3ba74b5b7359a362
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 3 22:13:32 2001 +0000
+
+ interpolate fog valus as floats, not fixed - fixed the swrast fog problem
+
+commit 652a14a2153baf011a9347c6a8820e15ebf9aa2d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 3 16:49:27 2001 +0000
+
+ fix for moebius infinite loop
+
+commit a03463303dce5526f9439f704b28625329bde554
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 3 16:11:16 2001 +0000
+
+ added assertion to catch infinite loop in _tnl_fixup_compiled_cassette() - might help Keith
+
+commit 9e351d52ae52927fbe505e8808e70de3e646be79
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 3 14:11:18 2001 +0000
+
+ minor clean-ups and warning fixes
+
+commit 5028216c81706070fab906f4e56a14c1e2d61cbc
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu May 3 09:11:03 2001 +0000
+
+ add disabled test to turn on vertex snapping.
+
+commit 531ac77263084f4ebb6b39bc739fc1efe6f2319e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 2 23:08:35 2001 +0000
+
+ fixed vertex color problems
+
+commit fe5cb830b19b4a74b3a88a9f3984bdcb2cae99a1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 2 21:04:08 2001 +0000
+
+ teximage updates. seems to work fine.
+
+commit 104c9fde4edc43c28dcc577d542683c8bbca6783
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 2 21:02:38 2001 +0000
+
+ changed parameters to _mesa_rescale_teximage2d()
+
+commit 70bb9072864801a8110c4c63c6fb8fe8469e7fe6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 1 22:01:11 2001 +0000
+
+ minor XFree86 change
+
+commit adcc2ce92bcb6469fcbf389fa19e41faa844e798
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue May 1 19:17:15 2001 +0000
+
+ float color changes
+
+commit 7448e33768b5052530138cd5b893245f7361662b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 1 14:56:00 2001 +0000
+
+ applied Diego Santa Cruz's patch to triangulateRectCenter()
+
+commit 5b976943ee1a5449e5f73d2a44ac3053b92c75d8
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue May 1 13:15:28 2001 +0000
+
+ removed debug
+
+commit f4a003c3ca15513d69ac07af6403b54b55003af3
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue May 1 07:25:41 2001 +0000
+
+ fix from Jouk
+
+commit 0e14d6d68eae5b9a3f8d21d63d8129db947e3580
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Apr 30 21:08:51 2001 +0000
+
+ Lots more eval fixes
+
+commit 16837e4219e03df36c34f08cee1967b946c44536
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Apr 30 09:04:00 2001 +0000
+
+ Restore optimization for cva glArrayElement operation.
+
+commit ac4a41d198111fb1b0f564cbd2b82217dd6fc265
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Apr 29 19:31:45 2001 +0000
+
+ sync with XFree86/DRI glcore.h, now identical
+
+commit 3d49061bfc5c40a6238eb972bd47489734d289f8
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Apr 29 08:48:43 2001 +0000
+
+ typo
+
+commit d92f615fe55a26776ded6b9b97e0d01862467cc9
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Apr 29 08:44:30 2001 +0000
+
+ More HW_DIVIDE checks.
+
+commit 1018a16f392a642da227f2875ab576b78762fc5d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Apr 29 08:41:09 2001 +0000
+
+ Allow drivers to provide a dynamic CHECK_HW_DIVIDE, to turn the divide off
+ according to a runtime test.
+
+commit f358988f2e121bb164002e9d1b536eb25b446f14
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Apr 28 15:47:48 2001 +0000
+
+ fix color copying in twosided quads
+
+commit 04a374bd0506c565e362faaee7fa78ce0566731a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Apr 28 15:26:43 2001 +0000
+
+ add specialized interp for backcolor, edgeflags
+
+commit 51c0c71811508b6658e0d5dcff8426b618322a73
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Apr 28 08:39:17 2001 +0000
+
+ Support for floating point color representation in tnl module.
+
+commit 27b0758a940f19ce344f21b8db708d91933ce06d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 27 21:19:13 2001 +0000
+
+ added -display option
+
+commit 1832f1cc86758fdcbd122edd5bf9e7a29ccade20
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 27 21:18:25 2001 +0000
+
+ changed xmesa_visual and xmesa_buffer structs to directly include GLvisual and GLframebuffer structs instead of pointers
+
+commit 75978bd85ea86b4e0a4153d623eaf1d40976f49b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 27 21:17:20 2001 +0000
+
+ added _mesa_free_framebuffer_data()
+
+commit 4dbd625eaf4a2abd0772b1acb0da17ac0c646f3c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 26 22:33:34 2001 +0000
+
+ added 16-bit/channel rendering info
+
+commit 785c3469f45ef4b96f2622cd1575229a1fd9d250
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 26 22:27:09 2001 +0000
+
+ Added Makefile support for building libOSMesa16.so which is Mesa compiled
+ for 16-bit color channels, using the OSMesa driver.
+
+commit f20ea88f88398f38ea6029c35260e481b15116ed
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 26 19:28:02 2001 +0000
+
+ fixed mem leak in XFreeFontInfo() call
+
+commit 11785d441da6c729e89243183b5fcb466c622e8f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 26 19:14:35 2001 +0000
+
+ flush pipeline in WMesaSwapBuffers (Frank Warmerdam)
+
+commit 908be619fdba608b057ae512834dcc7a76aa3224
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Apr 26 14:53:48 2001 +0000
+
+ first pass at eval fixes
+
+commit 8bce6a217ab97ecf732ea9dcf86c94396b79f774
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Apr 26 14:51:06 2001 +0000
+
+ no-copy drawarrays for remaining non-fan primitives
+
+commit 5a2f32b102ab862fb10ba6b89e0b68a71552c674
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 25 18:21:05 2001 +0000
+
+ fixed a potential tex obj reference count problem involving multi-texture
+
+commit 830bf652758050bb1c90a77a7f868f2bcf5be60d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 25 15:52:15 2001 +0000
+
+ added -Wundef to linux-debug compiler flags
+
+commit 73ccfa0e9ae2b00e463d776fcb96c9b2605ca50f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 25 15:51:32 2001 +0000
+
+ added ShowAlphaBuffer feature - 'a' key
+
+commit 3bfd0e6f9fee39c00cdbaf03d843a997ef16e827
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 25 15:41:22 2001 +0000
+
+ minor simplification in glGetTexLevelParameter
+
+commit 31acab88f29deeccb30ec608634bad7e020b3f57
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 24 21:52:36 2001 +0000
+
+ fixed typo in GL_ARB_transpose_matrix
+
+commit 08b3ff10d39a41884287636589960d54312dd57d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 24 20:57:36 2001 +0000
+
+ added -i and -h options
+
+commit df4fd765d5244cc09f18f6b0371909e7bf13be87
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 24 16:12:48 2001 +0000
+
+ reordered a few blend enums
+
+commit 8753bd89002c31f4cc747cceafbb12368424b8f3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 24 16:11:35 2001 +0000
+
+ fixed problems with texel component size queries in glGetTexLevelParameter()
+
+commit 691f58930b84f5baa566052a270dc2df05806a81
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 24 03:02:23 2001 +0000
+
+ texture image code updates (not finished)
+
+commit 29acfe5bd40e1741c07959c4b44a9bf46d250283
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 24 03:00:17 2001 +0000
+
+ assign texImage->FetchTexel only if NULL
+
+commit ad608fe44d1593b4283719e885122260f2776212
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 23 18:06:09 2001 +0000
+
+ fixed two mistakes in texture combine code
+
+commit cb6ae7b16b196a0995efd8aeaecc992785091fc6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 20 22:51:55 2001 +0000
+
+ compilation fixes - texturing isn't working at this time
+
+commit b570a180dada9e54ff55905ff11ea882ad8cb57d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 20 19:21:41 2001 +0000
+
+ Minor fixes for Win32 (Karl Schultz).
+
+commit 0a31a672692c7e5f821f6c2f737b0b15f97bf2d9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 20 17:16:52 2001 +0000
+
+ improved a glBindTexture error message
+
+commit 1c85aa33321821b44bea83d3dee702ab4e05f406
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 20 16:46:04 2001 +0000
+
+ Fixed a texture conversion problem: sometimes need to produce an intermediate
+ texture image in the base internal format between user->Mesa format
+ conversion. See comments in texstore.c
+
+commit 3518a7950f3d1d57edb0a5d346c28bccade6fb61
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 20 02:34:12 2001 +0000
+
+ check-in of old updates
+
+commit e3a7cc1f9e32c27248d11c88700004835dc7d870
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 19 22:40:45 2001 +0000
+
+ removed glext.h hacks
+
+commit 5ff4075a6961b26042dc2d7f4adcf333439823f4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 19 22:39:50 2001 +0000
+
+ bug fixes, added missing state query cases
+
+commit 4c00e30ef0190a0d22a3035fb27a66a5e74af6a6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 19 22:34:05 2001 +0000
+
+ added GL_ARB_texture_env_combine GL_ARB_texture_env_dot3 GL_ARB_texture_border_clamp (temporary until SGI updates this file)
+
+commit 54207dfde64f976ea2c00d3a3fcd0bf6d0b05b36
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 19 22:33:03 2001 +0000
+
+ added SecondaryColor functions
+
+commit 18acf6e6f18705ed7f09250b246312c0218476f5
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Apr 19 13:12:40 2001 +0000
+
+ Add more options, including '-10','-100' and '-1000' to limit nr of vertices.
+
+commit 3004bf8fd70e0cf3f68c6ddbd78101d851a49ae2
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Apr 19 12:23:07 2001 +0000
+
+ Remove values from VB->importable_data as those arrays are removed
+ from the VB.
+
+commit 2b7c042525c6895016ab547745b15880b2751f36
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Apr 19 12:22:09 2001 +0000
+
+ Fix striding of color material inputs. (Fixes glean colorLitPerf)
+
+commit 72fc93302cd1d3738a79e981118562a20d3888fb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 17 22:08:28 2001 +0000
+
+ minor optimization to dot3 computation
+
+commit bcfe3936a8722f43639ad853649c7f0ea8591cf3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 17 21:25:53 2001 +0000
+
+ Fixed a number of minor GL_ARB_texture_env_combine/dot3 issues.
+
+commit 15eddf38fb2418f2e9703569e66e9f94a614e405
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 17 21:08:32 2001 +0000
+
+ another fix in import_texcoord()
+
+commit a6c6fce7e8515d8d33e542c9567a73d577165255
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 17 20:37:44 2001 +0000
+
+ replaced ac->count with ac->count - ac->start in import_texcoord(), as in the other import functions
+
+commit 0d47d26a68af99c0433c3e88bd062b36146291a7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 17 17:01:33 2001 +0000
+
+ fixed mis-ordered args to _math_trans_4f() in _tnl_fill_immediate_drawarrays()
+
+commit 62c24f315bd8fba0c72e4af4076cfb6985d57c1b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 16 21:07:33 2001 +0000
+
+ return hex string for unknown tokens in _mesa_lookup_enum_by_nr()
+
+commit a2ade36eb1905bf8ead7143fa1ec8170579552f5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 16 21:06:54 2001 +0000
+
+ added missing 'break' in _mesa_TexEnvfv(), better error messages
+
+commit bf478280ebed8a60a5d007884d9817391e206987
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 13 00:13:51 2001 +0000
+
+ added a work-around in _swrast_copy_texsubimage[123]d() to fix alpha channel problem in some DRI drivers (see comments)
+
+commit 77ff5e038a141317e4db6eb4fb7262320052a55f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 12 20:50:26 2001 +0000
+
+ b-key toggles between textures w/ and w/out border
+
+commit 608889d18f78727753d63d0f867ec4d216e04c4c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 12 15:18:07 2001 +0000
+
+ Moved FRAC macro out of mmath.h into s_texture.c since it's only used there
+ and doesn't do what one might expect for negative values.
+ Reimplemented FRAC in terms of floor() to fix glitches seen in tests/texwrap.c.
+ Minor fix for problem with GL_CLAMP_TO_BORDER_ARB with GL_NEAREST sampling.
+
+commit 93de8d3d8617e991c091f29236dc7316203a5b8d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 11 23:22:20 2001 +0000
+
+ Reimplemented glPopAttrib code for GL_TEXTURE_BIT. It now calls the
+ various texture API functions to restore state. Before, the device
+ drivers weren't getting notified of important texture state changes.
+
+commit 6ac852d45b3a53dc51414773454e6bae7126fe33
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 10 15:46:51 2001 +0000
+
+ fixed some divide by zero conformance problems
+
+commit 33143303feaf84afbef2e63ac0adab2d70b3c344
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 10 15:25:45 2001 +0000
+
+ Added IROUND_POS() macro to mmath.h and use where appropriate. (Klaus Niederkrueger)
+
+commit 148bd34079a677138af570a4824c50ddc6c6e786
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Mon Apr 9 15:41:11 2001 +0000
+
+ remove a HAVE_ELTS that I'd stuck before.
+
+commit 8a09c3a34bae4c262512d3a8ec3630732a686206
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Apr 9 14:47:34 2001 +0000
+
+ Perform fixup on material values
+
+commit c818d6cce55098f48e953f1b7c96bdf188006bb6
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Mon Apr 9 10:16:01 2001 +0000
+
+ fix use of projected vertices with notex vertices when DO_PTEX isn't set.
+
+commit 30c75badd18253c75cc1980b5171ca0f54b1a268
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Sat Apr 7 16:16:58 2001 +0000
+
+ Add quad and quad_strip
+
+commit d3abe14a3a2e7d098986f0fb3c1435ba60cc8768
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Fri Apr 6 16:26:41 2001 +0000
+
+ add FINISH function at end of each render_* function
+ fix typo.
+
+commit 2aacac9a5d14498149c7d493c6e4776db17ef925
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 4 23:56:33 2001 +0000
+
+ replaced IntFormat GL_BGRA with GL_RGBA, fixes problems calling _mesa_base_texture_format()
+
+commit 01429fa46a05cba7d2d11825facd7d8e6117dacd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 4 23:22:38 2001 +0000
+
+ GL_INTENSITY case was incorrect in extract_float_rgba()
+
+commit 36f3712e85cafef1b038189678030f6ef4f8b7e9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 4 22:41:23 2001 +0000
+
+ fixed tmpTexelSize computation bug
+
+commit 7d58f44f73be59bd3583e6dfeedf56c43f7fbd55
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 4 21:54:20 2001 +0000
+
+ More texture image changes.
+ 1. Added ctx->Driver.ChooseTextureFormat() function. Examines user's
+ internalFormat, format, type params and returns a gl_texture_format.
+ 2. _mesa_store_teximage[123]d() calls ctx->Driver.ChooseTextureFormat(),
+ allocates storage and transfers the image into the desired format.
+ 3. _mesa_transfer_teximage() now takes a gl_texture_format to describe
+ the destination format. Any combination of input format/type and
+ output gl_texture_format is accepted. Uses optimized _mesa_convert_-
+ texsubimage[123]d() functions when possible.
+ 3. DRI driver's TexImage[123]D functions should be a lot simpler now.
+
+commit bb0830da9e35666f26bb0e5e530d18d8b9ec8e71
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 4 13:38:51 2001 +0000
+
+ Updated bug report info in _mesa_problem()
+
+commit bb95cf8934db217b3dbdc79f24af8941d69e9263
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Wed Apr 4 12:02:12 2001 +0000
+
+ Committing in .
+
+ Modified Files:
+ Mesa/src/descrip.mms
+
+ Removed glapinoop
+
+ ----------------------------------------------------------------------
+
+commit bc80faa7d940bb64421577994490b91a2e6b03de
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 3 17:35:54 2001 +0000
+
+ another fix to clear_32bit_ximage()
+
+commit a9e2abdcfbb39d255ee0bf2a14cbae75068371c7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 3 16:32:29 2001 +0000
+
+ include fxdrv.h before other headers (Ivan Kalvatchev)
+
+commit 2e1ed6447a1eea18bf7d8180f86381574127e370
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 3 16:25:54 2001 +0000
+
+ fixed wglUseFontBitmapsA() bugs (Frank Warmerdam)
+
+commit 9d205e3542dbcec948725be74732745fc4dda95a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 3 16:19:54 2001 +0000
+
+ clear pixel value wasn't byteswapped for scissored clears in clear_32bit_ximage()
+
+commit 373aea11c83332eaa61607f7b48df43f46f4fb9a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 2 22:45:07 2001 +0000
+
+ applied David's patch for parsing display's server:screen string
+
+commit 67f755423248e044a94a02a3e9e6856018610909
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 30 21:14:30 2001 +0000
+
+ querying proxy texture image info was segfaulting because of NULL TexFormat pointer
+
+commit 347b3f0dafe8d0cc30e9d1e7595d12b0ac31bb4a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 30 21:12:15 2001 +0000
+
+ add texture border width to x/y/zoffset in gl[Copy]TexSubImage*D() functions to accomodate negative offsets correctly
+
+commit e116d3b3e55a70ceb4af270ecd1b614117f631a2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 30 15:31:44 2001 +0000
+
+ texImage->FetchTexel wasn't getting initialized in _mesa_CopyTexImage1/2D()
+
+commit 7b0b2ec73ac27d571fbaddeb4b23b8cabde7f963
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 30 15:16:12 2001 +0000
+
+ fixed compilation problems related to ctx->_Enabled removal
+
+commit 5e23af22f708a66695c0e44e599c26f02d8d4dcd
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Fri Mar 30 14:44:43 2001 +0000
+
+ Remove all traces of CULL_MASK_ACTIVE.
+
+commit afc5699b08b7eb4d29f2872c308800f2ae43d6b0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Mar 30 00:39:02 2001 +0000
+
+ Fix calculation of fog coordinate in translate_vertex().
+
+commit ed39a43b8cb2e1cf69b097fc89365cde470ebf51
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Mar 29 21:16:25 2001 +0000
+
+ Remove ENABLE_* flags, ctx->_Enabled.
+ Replace with ctx->Texture._TexMatEnabled, ctx->Texture._TexGenEnabled.
+
+commit 2780ed4b978b32a08be6eecb0e923250e7b907ee
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 29 17:15:21 2001 +0000
+
+ silence a compiler warning
+
+commit 3d5815f4636be0aa9f1788ca80908d5809d26481
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Mar 29 17:08:26 2001 +0000
+
+ Removed DD_STENCIL, DD_FEEDBACK, DD_SELECT.
+ Added some switchable debug to s_context.c
+
+commit ee403ff0ba272f5be539ddc921d3fffb3d250cc4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 29 16:50:31 2001 +0000
+
+ Removed DD_Z_NEVER.
+ Replaced SEPERATE with SEPARATE.
+ Renumbered _NEW_ flags.
+ Removed _NEW_COLORTABLE.
+
+commit 1b2fef5c28a40cd001598071e25b876ad4fccdd1
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Thu Mar 29 06:46:15 2001 +0000
+
+ Consolidation of asm code in 3.5
+
+commit 8e48a232fe48e4b6855cecb1d02363fb142365ae
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Thu Mar 29 03:41:39 2001 +0000
+
+ Make generation of matypes.h more transparent.
+
+commit c41edfb7c4d5445f95c057184ccb002d9fc40061
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Thu Mar 29 03:14:48 2001 +0000
+
+ Add missing GEN_SOURCES definitions.
+
+commit 3d9168025c97b25d7a26f30a3d5e61284861f2ae
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 28 21:39:49 2001 +0000
+
+ compilation updates
+
+commit f1f288182ec07eddeefa591fce20fe69ce3744e2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 28 21:37:24 2001 +0000
+
+ adjustment to coverage sample positions
+
+commit 16a8e986cebae6560d00992b6b9f54549e1d03c6
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Wed Mar 28 21:36:31 2001 +0000
+
+ - Restore texImage->IntFormat.
+ - Fix FX driver texture image conversions.
+
+commit d082417daeb3f8a35a490eb44b6c88463289fa5d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 28 21:36:31 2001 +0000
+
+ check for startX off the right edge of the window
+
+commit 5bfaa2f12e35a9de4a4116968e34ee24007973e7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 28 21:31:54 2001 +0000
+
+ use Image[i]->TexFormat to check for mipmap consistency
+
+commit 38e3675d7dc6c373366e576e3ca1a1eb966e4dac
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 28 21:31:24 2001 +0000
+
+ simplify test for specific texture formats
+
+commit 0a59ca6cae6ef24990f1c41c8c7857214489443c
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Wed Mar 28 20:44:43 2001 +0000
+
+ New type system for assembly code. Asm files should now include
+ matypes.h, which includes assyntax.h and is generated from the core Mesa
+ header files.
+
+commit 38f28665bf9fb5b2464738ca5074848ec2777ae1
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Wed Mar 28 20:40:51 2001 +0000
+
+ More texture format updates. Drivers now need only plug an appropriate
+ format into texImage->TexFormat, the rest is handled by core Mesa.
+
+commit 53933fe9dbfae168dce0688b406810462a6d577b
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Wed Mar 28 20:25:14 2001 +0000
+
+ More informative display of texture parameters.
+
+commit 29cded26543bf9037cfa030af74db6d83160f055
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Wed Mar 28 20:17:55 2001 +0000
+
+ Delete libGLU.so* from ../lib before installing it.
+
+commit c7aeb8bf1fda8dbe4b59fcff2d9129ee69527478
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 28 17:39:12 2001 +0000
+
+ removed a debug message
+
+commit 46560b94aecc67ba9876109adb0d600accb7661f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 28 17:22:11 2001 +0000
+
+ remove TEST_L and JZ instructions; always jump through the _glapi_Dispatch pointer
+
+commit 3c257e187bded9417d00471286d86ea4e483a98a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 28 17:19:58 2001 +0000
+
+ New mechanism for thread-safe GL API dispatch. C-based dispatch is faster.
+ Folded glapinoop.c code into glapi.c.
+ Added code to glapitemp.h to fill in dispatch tables.
+ Updated Makefiles.
+
+commit fb8af6fc9780e6238c309487d265822fc7052a0d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 27 20:32:24 2001 +0000
+
+ pass dst and src to CONVERT_TEXEL() macros to fix non-ANSI problems
+
+commit 81e3955acff2c366f9591bc3010ca0024c968d91
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 27 20:26:37 2001 +0000
+
+ fixed RGBA/RGB typo
+
+commit 197c526d63e1d4ea96f29eece392cdc389770b38
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 27 20:26:10 2001 +0000
+
+ texFormat was a random value in _mesa_store_teximage3d(), fix by undoing last changes
+
+commit 19d1e432612cf7db797da11793b13a6c1c6aac16
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Tue Mar 27 19:18:02 2001 +0000
+
+ Updates required for DRI drivers on mesa-3-5-branch.
+
+commit a767bff929b6c6e9e525402c522972aa0b05d065
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 27 17:44:35 2001 +0000
+
+ added rules for readtex.c and readtex.h
+
+commit 5479e9303126490a6638eb0f68f3cc7e6bd1a9d2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 27 17:38:28 2001 +0000
+
+ double buffer by default. if drawSmooth, use 50% alpha at top of polygon
+
+commit 8afa9e593b603583a61a147009d14dfaaa68e617
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 27 17:35:26 2001 +0000
+
+ set initial window pos
+
+commit 0a355dc01078ffd52873fa220feaf207dad10d9b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 27 17:30:51 2001 +0000
+
+ clean-up of tunnel demos
+
+commit 25a5dc2ea718863af84511491b9184d06a8c2931
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 27 17:08:20 2001 +0000
+
+ moved shadow code into teapot.c
+
+commit 06ed3f0a0af158fc3591771fdeaeac363ced57f6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 27 16:42:37 2001 +0000
+
+ silence compiler warnings
+
+commit 6dbb39025cac10aac98e37ee72539e3c2a81a161
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 26 23:36:51 2001 +0000
+
+ removed DO_GEOMETRY
+
+commit 5535aca5dffdfb8ad9a1970a062e6109227aa17f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 26 20:02:38 2001 +0000
+
+ change glTexImage3D() internalFormat to GLenum to match other OpenGLs
+
+commit 0bc933a4603da8d8224acb3b5cb8c99db5ea2e88
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 26 19:45:57 2001 +0000
+
+ test texture wrap modes
+
+commit 2bb04cad14f5edd9e2657a1122ceeb1fb468f4a9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 26 19:42:40 2001 +0000
+
+ added GL_ARB_texture_border_clamp
+
+commit 425fea1c346438f1c60a768514e74f655f05417a
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Sat Mar 24 06:01:27 2001 +0000
+
+ - Minor cleanups of ctx->Driver.Current*Primitive usage.
+ - Remove unused gl_reduce_prim array.
+
+commit 577f318e0edd159d701a1f36893bbdee3c9e8c41
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Sat Mar 24 05:23:46 2001 +0000
+
+ Fix ASSERT_OUTSIDE_SAVE_BEGIN_END() macro as well.
+
+commit 63fae717134c2ef74603acd49d1dcd5dfee8e6f6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 23 22:48:35 2001 +0000
+
+ added glxgears
+
+commit 355da23785138f9f0026a7c357fb9b8dc4bd8b9d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 23 22:46:26 2001 +0000
+
+ gears using GLX instead of GLUT
+
+commit 39557c39218b5ea2f48b8ce9dfecbf576518d31b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 23 21:41:44 2001 +0000
+
+ added silly mesa_hack() function and -b option
+
+commit 6d62d7f32189d6a7b053420d16495217dc62f66f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 23 21:37:05 2001 +0000
+
+ minor tweak to visual setup for accum buffers
+
+commit 4672b2d88cac92d1dde4909b16b7477e7793d17f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 23 18:53:26 2001 +0000
+
+ fixed Min/Max lod clamp bug
+
+commit b3678f108044302dc6f50a14568d47c1b345df9b
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Fri Mar 23 06:07:31 2001 +0000
+
+ Some more minor cleanups of macros.
+
+commit 8b7dfa852626f73894763e278e365609e81f1220
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Fri Mar 23 06:01:03 2001 +0000
+
+ Remove compiler warnings about ASSERT_OUTSIDE_BEGIN_END() macro.
+
+commit 7387394e5923795a9302e264357e29c831d82ffb
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Thu Mar 22 15:24:15 2001 +0000
+
+ Initial demo of GL_EXT_texture_filter_anisotropic extension.
+
+commit 19bf744556bfb32b7ac4d3f9efbdbbf2b057434b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 22 14:42:24 2001 +0000
+
+ enable GL_ARB_texture_env_combine and GL_ARB_texture_env_dot3 in _mesa_enable_sw_extensions()
+
+commit 3427e3547ed67096d6ae966da6deddc82c9f66fd
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Thu Mar 22 11:41:40 2001 +0000
+
+ Modified Files:
+ Mesa/si-glu/libnurbs/nurbtess/monoTriangulation.cc
+ Mesa/si-glu/libnurbs/nurbtess/sampleCompRight.cc
+
+ gluos.h included in order to bypass compiler warnings on unreachable code on
+ VMS systems.
+ ----------------------------------------------------------------------
+
+commit df1e73af7a46911935a9746e29ad7c5f1644e789
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Thu Mar 22 11:38:36 2001 +0000
+
+ Modified Files:
+ Mesa/descrip.mms Mesa/mms-config Mesa/demos/descrip.mms
+ Mesa/si-glu/include/gluos.h
+ Mesa/si-glu/libnurbs/internals/bufpool.h
+ Mesa/si-glu/libnurbs/internals/mysetjmp.h
+ Mesa/src-glut/descrip.mms
+ Added Files:
+ Mesa/si-glu/descrip.mms Mesa/si-glu/mesaglu.opt
+
+ changes needed to compile SI-GLU on VMS.
+
+ ----------------------------------------------------------------------
+
+commit ea1bfcc80a524ee2466874081194c1697e1fc936
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Thu Mar 22 06:26:18 2001 +0000
+
+ Remove formats that no longer exist.
+
+commit 2f177e29060ded1edf7434ae5adbec92510c599c
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Thu Mar 22 06:25:23 2001 +0000
+
+ Minor updates.
+
+commit 7acad72a1acc5f1d44a5301403e58d0d7d40f97d
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Thu Mar 22 06:23:56 2001 +0000
+
+ Fix texture format enum values (Brian Paul).
+
+commit 8806915c3ad023bacc0569b03b6394b0f88b7606
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 22 04:57:09 2001 +0000
+
+ added GL_ARB_texture_env_dot3 enums
+
+commit a13df148df3b663fe5ccd9a2dce1925a9cf84093
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 22 04:56:50 2001 +0000
+
+ minor comment update
+
+commit 1a59875367b4e38710b37422143efb702b0b1420
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 22 04:54:58 2001 +0000
+
+ added GL_ARB_texture_env_combine, GL_ARB_texture_env_dot3
+
+commit e9313a64c182701d22a5c6d2a82863c658e7424f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 22 04:54:08 2001 +0000
+
+ clean-up in _swrast_choose_triangle()
+
+commit d2733fa1963ddaa6dd4bb41ef488a029964dd8f1
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Thu Mar 22 00:36:27 2001 +0000
+
+ Add PolygonOffset driver callback.
+
+commit 8ac1f97e9ecbd2f5ef9cda5d3c51411e0e36bb26
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 21 18:23:39 2001 +0000
+
+ added teximage rescaling code. untested at this point
+
+commit 6f3178a3bed43b49407f0bde92c2e6d85c40d190
+Author: pesco <pesco>
+Date: Wed Mar 21 17:11:32 2001 +0000
+
+ * src/swrast_setup/ss_tritmp.h (quad): Changed name of this function to
+ quadfunc.
+ * common_rules.make: Use tabs for command indentation.
+
+commit 1639518b64297b393d8eed79a2a5ff4ec89d8efd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 21 16:47:33 2001 +0000
+
+ minor updates for 3.5
+
+commit 935d5e5daacd363f38ee6f020b6681a2b96e0198
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 21 16:47:19 2001 +0000
+
+ use new texture conversion code, still have to do image rescaling
+
+commit 0299ad753224372c7a6147f598fdad33f576a714
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 21 16:44:08 2001 +0000
+
+ renamed some vars, added a bunch of comments
+
+commit c8cfbf7c19d7c3c213d5b48e1ef5ce5c19d3a656
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 21 16:04:49 2001 +0000
+
+ minor re-org in sample_depth_texture()
+
+commit 2743def830bc1dc3bedb302f13db3d65dc4705d7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 21 16:00:17 2001 +0000
+
+ sync'd with the latest changes in XFree86 (cygwin stuff)
+
+commit fa6be6e77a25236481dd78c6912f4bfefeda8b17
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Wed Mar 21 02:47:32 2001 +0000
+
+ Fix compilation with GLU 1.1
+
+commit f5328c534d6f2c296b95d2cad5da16434d270dfd
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Wed Mar 21 02:44:36 2001 +0000
+
+ Make ESC quit.
+
+commit 16cdc6ab12f440b32cc5769f375576dd1bb17706
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Wed Mar 21 02:43:14 2001 +0000
+
+ Revert back to new tessellator, check version string to be sure we're
+ running with a valid GLU library.
+
+commit 56671022f97cfbc199a47b3338125431e42030ee
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 21 01:08:37 2001 +0000
+
+ depth images were broken by latest teximage changes, this fixes the problem
+
+commit b5f0de18b9b6fb291b6f086bdae3ee01b895d3dc
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Tue Mar 20 18:35:23 2001 +0000
+
+ Make COPY_FLOAT available to a wider audience.
+
+commit 23f48064b87d9adb0b6270eee74e18a7df9e7feb
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Tue Mar 20 18:33:41 2001 +0000
+
+ More updates. Radeon tnl module still disabled by default.
+
+commit 815ad714b44281f367dc8e27d607994d714f749f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 20 17:56:10 2001 +0000
+
+ fixes to make old GLU code compile with new GLU 1.3 header
+
+commit f3e31787514269c75b21cbee6c6e98fab4c40b01
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Tue Mar 20 10:18:13 2001 +0000
+
+ Committing in .
+
+ Modified Files:
+ Mesa/src/descrip.mms Mesa/src/texutil_tmp.h
+
+ -Updated VMS makefile
+ -__FUNCTION__ is not a defined on VMS (and maybe other systems) For VMS
+ __FUNCTION__ is defined to in texutil_tmp.h
+
+
+
+ ----------------------------------------------------------------------
+
+commit 68af9a0773d506aa04c79a178922464aa0c64ad5
+Author: pesco <pesco>
+Date: Tue Mar 20 00:33:18 2001 +0000
+
+ * common_rules.make: Created to hold the conditional build rule
+ override. All Makefile.am's updated.
+
+commit 4e856077b798c70e14c2d0bb5ea27be9cc87e5c8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 19 22:45:52 2001 +0000
+
+ fix for gl_ztrick bug (Ove Kaaven)
+
+commit 6507d9249d8bd47bc6aad10b9b3bb570edf2b84f
+Author: pesco <pesco>
+Date: Mon Mar 19 17:52:02 2001 +0000
+
+ * si-glu/libnurbs/: Undid move of glimports.h, mystdio.h, mystdlib.h.
+
+commit e18599a6c3219716b381c18b5e43f05172bff5f6
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Mon Mar 19 13:58:45 2001 +0000
+
+ fix glxinfo to query current display.
+
+commit 92eac1c76517b1df8183749a0d056ab0618c3f25
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Mon Mar 19 13:27:15 2001 +0000
+
+ fix cast
+
+commit b048d8e084597e43af277f77f3c968ce2d5305c6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Mar 19 02:28:59 2001 +0000
+
+ New files
+
+commit 709892459922a32096fe9dd8261d0d92337bb02f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Mar 19 02:25:35 2001 +0000
+
+ Split driver struct into swrast/tnl/core components.
+
+commit d9bf6ccce9f5fea22d6a478c4afafea3c3c525c5
+Author: pesco <pesco>
+Date: Sun Mar 18 15:40:45 2001 +0000
+
+ * gen_srclists.sh: Use getopt to parse the command line. Added command
+ line option -n (dry run) and -h. Directory list can be specified on the
+ command line.
+ Added command line options -p and -l. Some other tweaks.
+
+ * si-glu/libnurbs/glimports.h, si-glu/libnurbs/mystdio.h,
+ si-glu/libnurbs/mystdlib.h: Pulled these out of
+ si-glu/libnurbs/interface and si-glu/libnurbs/internals. All include
+ paths updated.
+
+commit 371ef9c058b0d59bfb62689b64af1b29a2214d9e
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Sun Mar 18 14:06:25 2001 +0000
+
+ Add missing header file include.
+
+commit ad7ce7360968ef536bb20675844152c40b62084b
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Sun Mar 18 14:05:32 2001 +0000
+
+ Remove #endif.
+
+commit 264c6fd1774019d059876558eafffa1c191045a7
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Sun Mar 18 13:40:58 2001 +0000
+
+ Make assertions take new GLchan formats into account.
+
+commit 3fa4bd008c900ce42bf44818fadacbc55578e1c4
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Sun Mar 18 13:37:18 2001 +0000
+
+ Fix error message.
+
+commit 7ea33579e733345393410d2c111a638b46e3d241
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Sun Mar 18 13:34:24 2001 +0000
+
+ Fix header info.
+
+commit 6b406bf09dc18f4d84ccb636d043c990a30da4e1
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Sun Mar 18 13:31:52 2001 +0000
+
+ Remove old code, fix a few comments.
+
+commit 2f9757f344a05fa0ecb758f8b6a8ee1d631b0478
+Author: pesco <pesco>
+Date: Sun Mar 18 13:06:19 2001 +0000
+
+ Forgot to add newly created files.
+
+commit 2c3d34c905fa6b831a066afae83b938de05eb241
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Sun Mar 18 08:53:49 2001 +0000
+
+ - Port 3.4 texture utils, texture format work to 3.5 (including new
+ FetchTexel routines).
+ - Initial hooks for GL_EXT_texture_filter_anisotropic.
+
+commit 6e550baa0a2b72bb0e4f5b19fdf74e5d3f377565
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Mar 18 00:46:04 2001 +0000
+
+ Fix lineloops.
+
+commit bcc513ebf5011a307ec7b1b383f8522e9dc28404
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Mar 17 18:04:54 2001 +0000
+
+ Fix cut&paste bug exposed by clipbug.c demo.
+
+commit 47489c0721348d8f5e5f17b4af63b1c601045116
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Mar 17 17:43:04 2001 +0000
+
+ Remove dead #define.
+ Add case for triangles culled front and back -- not handled by the
+ culling code inside swrast triangle routines.
+
+commit c6e2d29cdebc4b14cb4d5bea44ee67f7e22dd21d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Mar 17 17:31:42 2001 +0000
+
+ Revert earlier changes protecting against null VB->TexCoordPtr[x]. Do
+ this a better way via check_tex_sizes().
+
+commit eb11fa73ec505278fa9e7c9a1592bd1f5fd11770
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 17 00:47:19 2001 +0000
+
+ added SI GLU info
+
+commit 47cbbcc1b6c0be5b64b63c4958eb0f99202f84ec
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 17 00:45:01 2001 +0000
+
+ updated for SGI SI GLU
+
+commit 1bb327ebdb2e68bfbd653abe91f351fb7ec82ab3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 17 00:29:47 2001 +0000
+
+ SGI SI GLU 1.3 header
+
+commit 84c896411695e75a0a871ab863ec9198d0f8da9b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 17 00:27:04 2001 +0000
+
+ added CCFLAGS and CPLUSPLUS definitions
+
+commit 77cc447b96a75106354da02437c4e868265d27bb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 17 00:25:40 2001 +0000
+
+ SGI SI GLU library
+
+commit 24fab8e2507d9ccc45c1a94de0ad44088cfb8738
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 15 18:21:01 2001 +0000
+
+ removed ARB_texture_env_add bool flag, use EXT_texture_env_add flag
+
+commit b082abc28f4462cb702ba3254a70378989b8ab84
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 15 16:45:30 2001 +0000
+
+ use IROUND() instead of (int) cast (Klaus Niederkrueger)
+
+commit c6742cedee09d6f359a11b24bc98d5e50c9714ac
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Wed Mar 14 08:51:09 2001 +0000
+
+ Fix typo.
+
+commit 3709db0e17fb3d70fe27b60d81df2c5faf11b7b9
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Tue Mar 13 17:39:56 2001 +0000
+
+ Initial templates for immediate mode fastpaths, or custom tnl modules.
+ Completely untested and incomplete. More to follow.
+
+commit 3df1e04b10a2d04721cd2fdf92348ca5e704d7a5
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Mon Mar 12 02:24:53 2001 +0000
+
+ Nope, -ansi spoils that...
+
+commit 2a938d3ab79e7d1e2ee80478743d970c8b3c5cf9
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Mon Mar 12 02:13:39 2001 +0000
+
+ Undo -D_POSIX_SOURCE change, fix the way the katmai support test is
+ done.
+
+commit 79b2d13ae2280650070d5a0f157afecbfa02f9e6
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Mon Mar 12 02:02:36 2001 +0000
+
+ - Add -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L to linux builds, we've
+ been using it with the DRI for long enough without any issues and we
+ need it to include the katmai functions.
+ - Make katmai assembly work with the debug tests.
+ - A few general cleanups.
+
+commit d4eb665c60eff14c31486986703255b836dd1574
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Mon Mar 12 01:32:20 2001 +0000
+
+ Add missing header file.
+
+commit 467037de2233e1512b1e2981e4092a5d9764a4ee
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Mon Mar 12 01:06:44 2001 +0000
+
+ Add missing header file include.
+
+commit 22144ab7552f0799bcfca506bf4ffa7f70a06649
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Mon Mar 12 00:48:37 2001 +0000
+
+ Consistent copyright info (version number, date) across all files.
+
+commit 57ffddba9870a0e602ae454e13072a0af48fa150
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Sun Mar 11 23:55:19 2001 +0000
+
+ Minor cleanups.
+
+commit de6a2e0d194d1afa1a917cff7e80d77773b73c39
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Sun Mar 11 23:49:20 2001 +0000
+
+ Clean up install, restore for exec vtxfmts.
+
+commit d8aa0269cdadba1608522287bcb3b446c5848c09
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Sun Mar 11 18:49:11 2001 +0000
+
+ Support for swappable tnl modules.
+
+ Core Mesa provides a neutral tnl module that verifies the currently
+ module before installing the tnl function pointers in a lazy fashion.
+ It also records which tnl functions have been swapped out, and only
+ restores these when tnl modules themselves are swapped.
+
+ Fallback strategies:
+
+ Drivers set a bitmask of dangerous stage changes. When such a state
+ change occurs, the driver should restore the neutral tnl module via
+ _mesa_restore_exec_vtxfmt(). The neutral tnl module will call
+ _mesa_update_state(), followed by ctx->Driver.ValidateTnlModule() if the
+ validation bitmask matches the new state bitmask. The driver should
+ call _tnl_wakeup_exec() if it can no longer handle the current state,
+ which will revert to the default tnl module. In this case, previous
+ vertices should be replayed as required (depending on the current
+ primitive) after the new tnl module is installed.
+
+ If the driver uses chooser functions for any part of the tnl module,
+ these should generally be reinstalled as part of the fallback to the
+ neutral tnl module. For example, if the lighting state changes, a
+ driver might fall back to the neutral tnl module, verify that the
+ current lighting state can be handled, and use the chooser function to
+ pick the most efficient implementation of the current lighting state.
+
+ It is up to the drivers to detect and handle fallback cases caused by
+ tnl function calls themselves (such as glTexCoord4f* if the current tnl
+ module can't handle projected textures, for example).
+
+commit b1b403665635350df3f30db992faf50776606545
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Sat Mar 10 02:50:42 2001 +0000
+
+ Add a couple of missing functions.
+
+commit 53e4bf9afd304b91902eeef97617d855a6a2f823
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Fri Mar 9 16:08:13 2001 +0000
+
+ More generic vtxfmt template, useful for creating neutral tnl module as
+ well as fallback functions for driver tnl modules.
+
+commit ca8c6a03372229ed454b941185a9480bd0e8f110
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 8 22:27:41 2001 +0000
+
+ fixed RBGA ifdef typo
+
+commit 95e02a210ed339ad20b0c16284dcdcf9af2dc755
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 8 17:33:33 2001 +0000
+
+ do fog interpolation if INTERP_FOG is defined, not when INTERP_Z is defined
+
+commit 896e8bd2d7eb1385ca89e71b7eac146577320e00
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 8 17:17:28 2001 +0000
+
+ processed by indent to improve readability
+
+commit 417ed16a88bd6c695e9792c2023e3f1737ee1e64
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 8 17:15:01 2001 +0000
+
+ changed bincoeff var to GLfloat, fixes bug introduced in previous check-in
+
+commit a28fa45ab778471fc76eced3de654ada1fbf09a0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 8 15:24:18 2001 +0000
+
+ test 16-bit/channel rendering
+
+commit 01915e90e6912f06d43d443a09157f7bbc96ddc5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 8 15:23:46 2001 +0000
+
+ More g++ warning fixes. Fixes for CHAN_BITS==16, it seems to work.
+
+commit eac57f009ea347cfce0d70452c1bdeb0e6c9eeae
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 7 23:22:08 2001 +0000
+
+ added an assertion in the init code, just to be safe
+
+commit 9cb9401e8787bf524b8e647d63a3de9d8d1a1dd1
+Author: Jon Taylor <taylorj@ggi-project.org>
+Date: Wed Mar 7 20:42:14 2001 +0000
+
+ Misc build fixes
+
+commit 4da75f6d91801dbe5efc93a74b6301c535d305b9
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Wed Mar 7 18:16:40 2001 +0000
+
+ Add missing copy in _mesa_noop_Color4fv().
+
+commit b51b0a847d7e7daaea69f77ab569086ef81c24a2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 7 05:06:11 2001 +0000
+
+ fixed a bunch of g++ warnings/errors. Compiling with g++ can help find lots of potential problems
+
+commit 249aebdd357d20f6326137c967c6b3923bef6c05
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 7 04:50:49 2001 +0000
+
+ _MinMagThresh[] should be GLfloat
+
+commit 90ea5261149f74ca81c723c00b5883209952d1d8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 7 03:20:38 2001 +0000
+
+ added some casts in the 16-bit GLchan macros, just to be safe
+
+commit be3d539dac3948458931be63fa3e97e072871550
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 7 00:21:32 2001 +0000
+
+ added Driver.BlendColor() function, for completeness
+
+commit ac859a4cbdd55aa51275ab8ed44e67b0c5ba71db
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 5 22:40:10 2001 +0000
+
+ fixed segfaults when tex unit 1 enabled, but not unit 0 (conform)
+
+commit 75280a2c742ee241d392618a3b29548fce1520a9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 5 22:18:23 2001 +0000
+
+ added missing ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH() macros
+
+commit 89700a4abdf0eaa1da80fc9e0c1f856c39a1a9a4
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Mar 5 19:54:03 2001 +0000
+
+ DO_POINT renamed DO_POINTS
+
+commit 0ceb82b83843735437a994337d6f743f0460d7cb
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Mar 5 18:52:18 2001 +0000
+
+ Changes for ffb
+
+commit 3db5374e66c902667d260e8ebf31fe419922924e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Mar 5 18:04:38 2001 +0000
+
+ Fix typo
+
+commit d395251b35932365d9607d464d6db23278a580a2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 5 17:50:35 2001 +0000
+
+ GL_EXT_secondary_color test
+
+commit d49081302a49258701c248ba19f2765fdcadbe97
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 5 17:31:57 2001 +0000
+
+ GL_EXT_fog_coord test
+
+commit 3c646597cf18d19fc89345423061a728dce1b4cc
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Mar 5 16:41:47 2001 +0000
+
+ Add missing cases for viewport transform. Remove INVALIDATE_STORED_VERTICS
+ macro
+
+commit a11c0bcf97b00c93dbb156523ace86b9b19b74ba
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 5 15:57:59 2001 +0000
+
+ replaced gl_test_os_katmai*() with _mesa_test_os_katmai*()
+
+commit 865322f931197c5c73c57b366b64300894565dab
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 3 21:11:32 2001 +0000
+
+ more clean-ups
+
+commit d62269757b3e40e4ddae54cc8bf0cc0e1d5d1eae
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 3 20:59:06 2001 +0000
+
+ used indent to clean-up the code
+
+commit 188f2949eaf181f4aab041a6dad26fa76e746eee
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 3 20:56:59 2001 +0000
+
+ more namespace clean-ups
+
+commit 08836341788a9f9d638d9dc8328510ccd18ddeb5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 3 20:33:27 2001 +0000
+
+ lots of gl_*() to _mesa_*() namespace clean-up
+
+commit 19bbfc62638b60dd1a41e84686f24483adea5b03
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 3 00:37:27 2001 +0000
+
+ optimized lambda calculation (Klaus Niederkrueger)
+
+commit 85312e6db1d04e57a48db097fe5149d91251cf64
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 3 00:12:47 2001 +0000
+
+ changed AlphaFunc() ref from GLclampf to GLchan
+
+commit eb2b63877a5554ac0a5c9e4653f0a695560cf249
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 2 16:01:22 2001 +0000
+
+ fixed _mesa_getenv() weirdness
+
+commit 6a2d72ecff29038a131bc4b4609e7368950dec96
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 1 18:30:47 2001 +0000
+
+ fixed mistake in alpha buffer clear test
+
+commit 6da33b12495e5a205732e23318e6dfee44a1ed9c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Mar 1 18:18:05 2001 +0000
+
+ Uncomment some defaults.
+
+commit 0fe593a71e4f78c5683455cf71d5873a3664f146
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Mar 1 17:40:14 2001 +0000
+
+ Bugfixes for vertex format, templates
+
+commit d89c87ac40631cb7c8c7da71c61770fc93903a33
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 1 00:05:05 2001 +0000
+
+ added s/w alpha buffer clearing
+
+commit b4203c1c49d637432a6ede6e77fe95f6734729bf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 28 19:31:39 2001 +0000
+
+ removed some bogus error checks
+
+commit 0221e4d6c8a577e2355696de260d101ce28a9570
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 28 18:41:50 2001 +0000
+
+ Now there's four possible display modes:
+ 1. normal, shadowed rendering
+ 2. display depth texture image
+ 3. display depth texture mapped onto scene
+ 4. render grayscale scene where gray level = distance from light source
+
+commit feb555af03731cb785cbc484d28e53766e22d8b1
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Feb 28 18:19:27 2001 +0000
+
+ Templates are in working order.
+
+commit be3602da412ae56b5ee019fc47cc282eb3d66fad
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 28 00:27:48 2001 +0000
+
+ GLvisual inside GLframebuffer is no longer a pointer, copy the struct instead.
+ Added context/drawbuffer visual config sanity checking in _mesa_make_current2().
+ Added some 'const' keywords.
+
+commit 6a9851d72d6cf9f5a6b0e3bd5bbb05706e071387
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 27 22:33:59 2001 +0000
+
+ fixed glitches in error checking of imaging extensions
+
+commit bf8b5f99a11ad43bb3404ed4ae04eceb3027bbab
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 27 22:16:27 2001 +0000
+
+ signal _NEW_TEXTURE in all teximage functions
+
+commit 2eb801cda2f463513d25629928921072cd62931a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 27 21:58:59 2001 +0000
+
+ added fog coord clamping
+
+commit 8753b1c397d8f5778fa527bf4f6bb6b0cb435874
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 27 16:42:01 2001 +0000
+
+ colortable w/ size=0 wasn't handled correctly
+
+commit bed4c5bf58c91f37e2526bbb98fbda27c65455ff
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Feb 27 16:14:35 2001 +0000
+
+ Initialize Line._Width
+
+commit 18c516655faa7973f981726e91928b525d046df6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 27 00:13:25 2001 +0000
+
+ more tweaks
+
+commit 01a5dd879b2b29a1d30622eac3ff81bddf6b28a1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 27 00:05:27 2001 +0000
+
+ minor extension tweaks
+
+commit 6975540db26309cdfa8f27b3b6dadf3dbf4a1746
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Feb 26 23:58:12 2001 +0000
+
+ Disable most extensions by default. Drivers should enable them as needed.
+ Renamed gl_*() functions as _mesa_*().
+
+commit 806e20f463c9b98b945f0095e07642362720256a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Feb 26 22:07:03 2001 +0000
+
+ fixed extension checking in _mesa_BlendEquation()
+
+commit 511378b05d57ee85879197cd3026e5f2571e6edc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Feb 26 18:26:32 2001 +0000
+
+ added filtering option, compute shadow tex size from window size
+
+commit eb198d2702aa876a3fd7041c3a51f211407108be
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Feb 26 18:25:25 2001 +0000
+
+ tiny change to a gl_problem() call
+
+commit 1f57563b9dccfb6ce5026eaf5b7a418dc4dd52b9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Feb 26 18:24:55 2001 +0000
+
+ added a cube map error check
+
+commit 30038ecaa23a5acb1a532dd32f22a02b910fc17c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Feb 26 18:24:37 2001 +0000
+
+ bilinear sampling of depth textures
+
+commit feca368c2995e5c861e71253f3c53ebb231919b2
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Feb 24 18:25:52 2001 +0000
+
+ Template work
+
+commit 0d04827f6dd99bd2fb8055ccfff03482802e8500
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 23 23:14:11 2001 +0000
+
+ another fix in _mesa_stencil_and_ztest_pixels() for hardware fallbacks
+
+commit 74b775e14de000027492f6ea3c836aa82f850d21
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 23 20:08:29 2001 +0000
+
+ fixed bug in _mesa_stencil_and_ztest_pixels() found w/ DRI mga driver
+
+commit dab76b4dc585f5833003ff3a0e53c256bf974d47
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 22 17:59:24 2001 +0000
+
+ improvements to regions_overlap() function
+
+commit ea83bacf9cd05825daf56369279b185dab3d2632
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 22 17:50:13 2001 +0000
+
+ removed some bogus code
+
+commit 69c283e061be8d7c35daf9fc02cbb5fecd53bd4c
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Thu Feb 22 08:52:30 2001 +0000
+
+ Committing in .
+
+ Modified Files:
+ Mesa/src/descrip.mms
+
+ old files removed/ new files included in VMS makefile
+ ----------------------------------------------------------------------
+
+commit abe094e4a158fcefc40eee9605d5214846881534
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 21 16:02:27 2001 +0000
+
+ fixed GL_LUMINANCE_ALPHA bug in fetch_2d_texel()
+
+commit 4eebc90a174722422daea6352d4e980bc81b4bb2
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Feb 20 18:28:52 2001 +0000
+
+ Added GLvector4chan type, removed lots of CHAN_TYPE ifdefs.
+
+commit 8bbc71f2eb6a3d7acce6bc1a66a4caea54d3fc8d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 20 17:08:55 2001 +0000
+
+ more 3.5 updates
+
+commit 0a0595f2d3185d5b08e8948f7f51ed6005a653a5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 20 17:06:35 2001 +0000
+
+ added extension #ifdef/#endifs
+
+commit 03ca5eb58f586cd613a7efba65ddea5f9df2849d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 20 17:05:04 2001 +0000
+
+ added shadow extensions
+
+commit d6c3f73fb45ab6429648a6f5c14ae8e95bbc6a35
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 20 17:04:52 2001 +0000
+
+ added shadowtex
+
+commit 1399d7650d1726dfc04796345db7a4c61a831bb0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 20 16:43:50 2001 +0000
+
+ demo of GL_SGIX_shadow
+
+commit c499ce31baf820e84d133c2189f88e15a1a36672
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 20 16:42:25 2001 +0000
+
+ Implemented GL_SGIX_shadow and GL_SGIX_shadow_texture.
+ Added some const keywords in the s/w texturing code.
+
+commit 0c75c4c41754a4f66cdc124b4328e92635b473fe
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Feb 19 20:14:57 2001 +0000
+
+ plug in fallback teximage DD functions
+
+commit 2aadbf41dfd4f63c6118d0ad2d8659d289cbe454
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Feb 19 20:01:41 2001 +0000
+
+ Updated Driver.CopyTexImage[12]D and Driver.CopyTexSubImage[123]D functions
+ so they work like the other teximage functions. Added fallback routines to
+ texstore.c for drivers to use.
+
+commit aaf5a9bb08a596a6bd5cc1150dcd50cb710db919
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Feb 19 18:28:59 2001 +0000
+
+ added a bunch of extensions (Ray Tice)
+
+commit e75d2424e53d6023f4414e40694cd467e5392b96
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Feb 17 18:41:01 2001 +0000
+
+ Changed FetchTexel() function pointer arguments.
+ Implemented glGetTexImage(format=GL_COLOR_INDEX).
+ Changed _mesa_unpack_depth_span() args.
+ Minor changes/clean-ups in mtypes.h.
+ Histogram counter component sizes were wrong.
+
+commit 8f9a594ac8116ed5cab7f8eca14c17ec3e250dad
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Feb 17 00:17:31 2001 +0000
+
+ added MESA_GLX_FORCE_CI env var (useful for conformance testing)
+
+commit f7e1dfeaefda8865252513bc4d880ea8640efe4d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Feb 17 00:15:39 2001 +0000
+
+ Work in glGetTexImage() to return GL_COLOR_INDEX images.
+ Prototype code for GL_SGIX_depth_texture / more flexible teximage code.
+
+commit 23e8d46e072669e0974d7b2c168d4770183106bd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 16 23:29:14 2001 +0000
+
+ moved depth/index/stencil span packing into image.c
+
+commit 8a42f6b3599bab8eacf8fc8ff5038e4da7972803
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 16 21:48:16 2001 +0000
+
+ added n-key to toggle nice fog, other minor clean-ups
+
+commit 4539e9195d2711fb977fbb6589427e0456102214
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Feb 16 18:56:46 2001 +0000
+
+ Fix state bitmasks for invalidating line,tri,point functions. (won't fix
+ the fog problem, I don't think)
+
+commit 46b0988c673b28e072fd0cbf477632a9ab6f9f18
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Feb 16 18:14:41 2001 +0000
+
+ Allow swrast to cope (fairly) cleanly with GL_SEPERATE_SPECULAR when
+ texturing is not enabled, and without requiring the two colors be
+ added externally.
+
+ As a part of this, collapsed the decomposition of quads into triangles
+ inside swrast to be hardwired into _swrast_Quad; removed s_quads.[ch].
+
+ Removed checks on texture state from t_vb_light.c, which was previously
+ required by swrast.
+
+ Moved the t_dd_ templates to a new directory.
+
+commit 2448fc7deeaa870d879de17158f243f239c05b15
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Feb 16 00:35:34 2001 +0000
+
+ Fixed conform problems with recent material tracking change.
+ Remove redundant 'update_materials' stage.
+ Fix conform segfault with seperate specular colors in mustpass.c. These
+ tests still fail, however.
+
+commit 86ca15ece74ccb5a8f4d566a4b2c8024b178d73b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 15 22:59:01 2001 +0000
+
+ minor scissor optimizations (Klaus Niederkrueger)
+
+commit c6b2a92613a5110dbf387721af8ec505744183b9
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Feb 15 01:33:52 2001 +0000
+
+ Fix propogation of material values in VB's that don't reach the lighting
+ stage. (Materials now treated more like colors, etc.).
+
+ Continue whipping the dd templates into shape.
+
+ Remove old NormalLength code; may come back as a driver helper, but not
+ useful for, eg. hardware t&l drivers.
+
+commit 4e52e192b2507a001817c8172713016cef69206b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 14 23:00:42 2001 +0000
+
+ fixed a CI-mode spot light conformance failure, but still not clear why
+
+commit 4de3ded28aed48a50b97ecf72f12737267549034
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 14 22:59:50 2001 +0000
+
+ updated with 3.4 and 3.4.1 entries
+
+commit 4e492363f01e6700fc49d13d61c56a70fc23308d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 14 22:40:21 2001 +0000
+
+ removed a misplaced _mesa_logicop_ci_span() call
+
+commit b5fb4fd55bb49fb969ae483f77aa6f9db8348c20
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 13 23:59:34 2001 +0000
+
+ fixed a CI mode segfault, minor clean-ups
+
+commit 88c5ceb6500d6cb442b4e675f0d7928ddd99b1cf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 13 23:58:38 2001 +0000
+
+ fixed an assertion
+
+commit c3a4dbfbd693de951ec0d6dbd0a9f0613839badb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 13 23:57:48 2001 +0000
+
+ fixed a few CI mode span bugs and a dither bug
+
+commit 45323646bdf1e5fa4410a89c2e82908a571b546a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 13 23:55:30 2001 +0000
+
+ fixed bug in gl_validate_all_lighting_tables() found with CI mode conformance tests
+
+commit 10686f42c90673daaac61971be553a78fcdb2ab1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 13 23:54:12 2001 +0000
+
+ removed bogus assertions
+
+commit dc866313affb0b4f2073f1234f69a4804f02c7a7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 13 23:51:34 2001 +0000
+
+ gl_error clean-ups
+
+commit 8f28f4850bbf4f32e84f25ee1a8d72b16b8a41d1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 13 23:50:25 2001 +0000
+
+ fixed GL_SET bug
+
+commit 479fa1db1dc7cb8e48219ac28edfb2f2a9c971b2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Feb 12 19:04:30 2001 +0000
+
+ added debug assertions to be sure drivers initialize all required function pointers
+
+commit a81b3532f7c984878ba1d4b38f796abf731f76b1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Feb 12 18:32:26 2001 +0000
+
+ added ctx->Driver.ResetLineStipple, misc clean-up
+
+commit 3c84ab90f23df09d3114ae0b78cbc65658d5931c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Feb 12 17:02:00 2001 +0000
+
+ fixed RGB over/underflow bug for tiny triangles (bug 128969)
+
+commit 15bf1cd129ce03a985464c52c311a489da92c4be
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 9 23:39:02 2001 +0000
+
+ minor updates to sync w/ XFree86 changes
+
+commit ccc8b9239c8ae5c1f5364a5b99ffa3f8b5a731ab
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 9 23:23:43 2001 +0000
+
+ minor changes from XFree86 (dawes)
+
+commit 18ce0f12540b016cbb08b7d304d80af0f7bb168b
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Fri Feb 9 12:19:17 2001 +0000
+
+ Committing in .
+
+ Modified Files:
+ Mesa/src-glut/glut_event.c Mesa/src-glut/glut_get.c
+ Mesa/src-glut/glut_init.c Mesa/src-glut/glutint.h
+
+ Patch for compilation on very old VMS (version 6.2 and earlier)
+
+ ----------------------------------------------------------------------
+
+commit 9db3f95acea5622573803890afd506ebcdaab3b3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 8 23:52:29 2001 +0000
+
+ fixed bytesPerValue bug in OSMesaGetDepthBuffer()
+
+commit 1f12a07380e8cd4165d94c33661f1ada31f22222
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 8 15:57:01 2001 +0000
+
+ fixed bugs in _mesa_clear_depth_buffer(), bug #131366
+
+commit 1ceda0f84fdfe07951071fdf4fa643d07f09a4d7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 7 19:02:23 2001 +0000
+
+ GLchan fixes
+
+commit 9a0b12ab00a82a6060ca33e17fc135179024751c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 7 18:59:45 2001 +0000
+
+ fixed texel indexing bug in _mesa_GetTexImage()
+
+commit b4736f5e17b23d82ab369c26370c8ff26c45d1d1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 7 18:44:55 2001 +0000
+
+ added divide by zero checks
+
+commit 5c55aa4e61adcf136a18f2aea08a44f69840c4a0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 7 18:36:52 2001 +0000
+
+ fixed divide by zero problem
+
+commit a1f1586bcb9fcd4a30930fd14b73323642ce85c5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 7 16:27:41 2001 +0000
+
+ added some code for proxy texture tests
+
+commit b8e1c70ec104f51f9a8e763bd8c582d3ff5c1d8d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Feb 7 16:00:58 2001 +0000
+
+ Correctly calculate size for disabled texcoord arrays.
+
+commit fb1565bcddc131c687d6ceec9495c82420ae67bb
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Wed Feb 7 09:15:41 2001 +0000
+
+ VMS compile update
+
+commit 6830123a4c07fd521b5d23aead9ed6345d7310d2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 7 03:55:31 2001 +0000
+
+ check texture texel type before using optimized sampling functions
+
+commit 43bc364af4752ae8c673aa9fff8009f8a228b7ef
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 7 03:53:07 2001 +0000
+
+ remove unused functions
+
+commit 03d967abb59c2e720e1936cbc76ef37622616cd1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 7 03:30:07 2001 +0000
+
+ new texture image routines work now
+
+commit 6628bc9cff74a6d524165e809f73eabc85ba34b5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 7 03:27:41 2001 +0000
+
+ made some changes to the initialization of gl_texture_image fields
+
+commit dde2da64b5176a06638efcd0be7fbaaf6a950363
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Wed Feb 7 03:04:58 2001 +0000
+
+ Force texture download every time to handle lazy texture downloads.
+
+commit 78ad878b661d72ce1246b8c66ce97b7f67bed4e7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 6 23:35:49 2001 +0000
+
+ updated texture image handling - STILL UNTESTED
+
+commit f378ab825c0c74aab263e7dec30194eead22c288
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 6 23:35:26 2001 +0000
+
+ added a number of debugging tests to be sure drivers handle texture images correctly
+
+commit 8e39ad2cd67d49be40ff0822f3269affdf83d601
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 6 21:42:48 2001 +0000
+
+ Overhaul of texture image handling.
+ 1. gl_texture_image struct's Data pointer points to images in driver's format.
+ 2. Added FetchTexel() function pointer to struct gl_texture_image.
+ 3. Changed Driver Tex[Sub]Image functions, return void now.
+ 4. Texture storage/fetch code in new texstore.c file.
+ 5. Removed texture.[ch] - functions moved to state.c
+
+ Note: FX driver updates not finished yet.
+
+commit 16461f7c53f3bd88ec20458edfc247df14cde721
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 6 17:22:16 2001 +0000
+
+ added _mesa_adjust_image_for_convolution()
+
+commit d1baa05439c7157eeca42ec191d5375821725bdd
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Feb 6 04:06:34 2001 +0000
+
+ Use a lookup table to compute exponents in tnl fogging code. Slightly
+ clean up the shine table lookup macro.
+
+commit 8fd9f1748d12751683cf8039401a7f7f66ab73fa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 6 00:03:47 2001 +0000
+
+ misc updates to match latest device driver changes
+
+commit 228748bc494b391d2444f96789591803e72779e6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Feb 5 19:17:31 2001 +0000
+
+ added mesa_profile extern decl
+
+commit d8bc5a9eba720ffb6a503d32715f895dbdad7197
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Feb 5 18:48:52 2001 +0000
+
+ replaced frustrum with frustum
+
+commit db7a3318aa82d99a908f16040ef1575ccea7cd2d
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Mon Feb 5 08:56:12 2001 +0000
+
+ Committing in .
+
+ Modified Files:
+ Mesa/src/descrip.mms
+
+ Updated VMS make-files
+
+ ----------------------------------------------------------------------
+
+commit 71270195d5f48726d22e8371d0119806d9dcb8e0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Feb 4 00:47:28 2001 +0000
+
+ rework to correctly respect _ac_import_range()
+
+commit 6e9f8b7cdbe5daf1767d192faef1cbe98ada1324
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Feb 4 00:44:36 2001 +0000
+
+ Fast no-copy drawarrays for large tristrips
+
+commit fe69cb4b9bff800b6078ea7da5ea18bab05678d8
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Sat Feb 3 08:41:03 2001 +0000
+
+ Some more work on interal debugging, timing routines for things that
+ will have implementations in assembly code. To come: texture image
+ conversions, more of internal T&L pipeline and so on.
+
+commit 6d689e8a69cdd89db181691f5bc21b71518398b0
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Wed Jan 31 14:10:16 2001 +0000
+
+ Committing in .
+
+ Modified Files:
+ Mesa/src/descrip.mms
+
+ Updates VMS compile-support
+ ----------------------------------------------------------------------
+
+commit eeb861df0b1843ffd765b969ed80394f663a7dc9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 30 18:08:51 2001 +0000
+
+ make gluPerspective() call glMultMatrix() instead of glFrustum() to get correct error semantics
+
+commit d68b699291097b49cac0d5c0f3ec4cb6ac14b972
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 30 17:46:34 2001 +0000
+
+ added packed types to glGetMinMax and glGetHistogram error checks
+
+commit e56cc3970f19229fd93e246c83aab35d2b7e3116
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 30 16:38:20 2001 +0000
+
+ fixed half pixel offset bug in aa point code
+
+commit f2515fa83eea42d0c5abe168b873ddd5026d5f83
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Tue Jan 30 15:02:34 2001 +0000
+
+ Upgrade to (patched) version 7 of glext.h
+
+commit 426628c374d043c5ae2bb73079aff577fc31c138
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 29 23:38:41 2001 +0000
+
+ last segment of AA stippled lines wasn't drawn
+
+commit 326f9ddd8ae215173de18827ffe60939961a1e3b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 29 22:40:23 2001 +0000
+
+ fixed inverted Y coord for dithering in write_span_DITHER_5R6G5B_ximage()
+
+commit ba70e59e829b9ef0db0ce6fbf8227d3911f0e43c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 29 22:15:44 2001 +0000
+
+ GL_SHADE_MODEL wasn't popped correctly
+
+commit 961b7cad05d525850cb8f25147f847b0291f3046
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 29 22:10:37 2001 +0000
+
+ removed unused vars
+
+commit 184a575a00a7d325454bff8f352ab0f407ff19b1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 29 22:10:24 2001 +0000
+
+ only compute separate specular if texturing really enabled
+
+commit 407b487017a5c5a213f399ec1667fe2aa7ed340d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 29 21:47:13 2001 +0000
+
+ fixed computation of _MultiTextureEnabled (again)
+
+commit d98fdad3bfc7018740cf781e00fa53ad9a4479cd
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 29 20:56:32 2001 +0000
+
+ Update implementations of Driver.Clear().
+
+commit 5c1e7fa6ee72f4403d9ec9d12830dd689b966e71
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 29 20:47:39 2001 +0000
+
+ Removed knowledge of swrast Clear/Bitmap/Accum/Draw/Read/CopyPixels
+ functions from core mesa -- if drivers need these fallbacks they
+ must now call them themselves.
+
+ Introduced hooks for clip-vertex-interpolation and the rendering
+ of clipped lines and polygons. Allows drivers to interpolate
+ their hardware-format vertices directly. Used in dri drivers to
+ replace fastpath code.
+
+ Slight optimizations to pipeline build/run routines.
+
+commit 4b90e68ac6d0fe4ffca5e2cd51794bb4350cac28
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 29 18:51:25 2001 +0000
+
+ optimized lambda computation (Klaus Niederkrueger)
+
+commit e5dfe384ad74c68529cca02388802996b14421fa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 29 16:18:37 2001 +0000
+
+ updates to the trace extension
+
+commit d6dd0fceb15d65fd82efd15a5a18a906c6a79e3e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 29 16:10:18 2001 +0000
+
+ updated spec
+
+commit f3da389ae01db060dff84593dacceac9ba682b03
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 24 15:27:10 2001 +0000
+
+ redo _mesa_PopAttrib() to call Mesa state functions so derived state is updated
+
+commit ab36c9aa1c4af92dd9f4ec48028f1eb2e98d1ccc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 24 04:56:19 2001 +0000
+
+ removed the unused/broken GL_PGI_misc_hints extension
+
+commit 9533fd18420b8ce5f229b43cf16408e64a10adaf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 24 00:07:01 2001 +0000
+
+ minor tweaks
+
+commit 74b493a5e61237de081a438e774e5d8139d4c6b7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 24 00:04:58 2001 +0000
+
+ Lots of GLchan datatype changes.
+ Added GLvector4us datatype in math/m_vector.[ch]
+ Added _math_trans_4us() in math/m_translate.[ch]
+ Choose GLvector4ub, GLvector4us, GLvector4f at compile time based on CHAN_BITS.
+ Made Driver.ClearColor() and Driver.ClearIndex() optional driver functions.
+ Changed args to Driver.ClearColor(), updated drivers.
+ Reordered files in Makefile.X11
+
+commit 125fddc31dc9959901d9f1ece693b09f04426d48
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 23 23:45:05 2001 +0000
+
+ added DestroyHeads() to test clean-up code
+
+commit 6140a8c65fc0ee23f8370bd41d52c79a77dbb156
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 23 23:44:39 2001 +0000
+
+ minor tweaks
+
+commit 4e3e9ac8fb033cad54a02062d40346d6a14c4acc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 23 23:44:15 2001 +0000
+
+ added support for 4 texture units
+
+commit 2b2e62154df4206f8340f74cb18aba4fabe4805c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 23 23:43:53 2001 +0000
+
+ space-bar = pause animation
+
+commit b6bcae5698df88f7730d40004ce7ce0462e97a20
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 23 23:39:36 2001 +0000
+
+ Replaced struct gl_visual with struct __GLcontextModesRec from glcore.h.
+ Replace "RGBAMode" with "rgbMode", etc.
+ Other minor clean-ups.
+
+commit ab0c886a6c0dd38ac6168c2a239720a761e6578f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 23 23:35:47 2001 +0000
+
+ added dispatch override mechanism, used by trace extension
+
+commit f2718b0966f54049056e16e7cca08718341557b2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 23 23:35:23 2001 +0000
+
+ fixed glTexSubImage error check bug #128775
+
+commit 39927e60eafd8b9f5c9b2fea44d2ccd490d8ca35
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 23 23:29:15 2001 +0000
+
+ test check-in
+
+commit c0bcd2ca99609fe8b6e992e2277ef8612d46fdfe
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jan 17 02:49:38 2001 +0000
+
+ Fixes for performance bug on compiled array element paths.
+
+commit 547bbcabffffad1a630c261830998c511efc2b96
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 16 21:16:56 2001 +0000
+
+ updated ctx->Driver functions for s/w setup
+
+commit d292b83d1a98bffe3ad23d4468c3fd18bc892592
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 16 15:25:11 2001 +0000
+
+ fixed a small error in import_color(), include m_translate.h
+
+commit d43a5943d8952367d9292653800b47a85f905343
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Jan 16 05:29:42 2001 +0000
+
+ Fix several conformance problems. Hack solution to line stipple problem.
+
+commit 230928ad5f325614288bc481d7135388c052f3ab
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 15 20:04:28 2001 +0000
+
+ removed unneeded TXTR_COORD macros (Stephen Tse)
+
+commit 3fd01320f1ce3b78584c1fec9b1d6805e8ee6786
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Jan 14 06:14:21 2001 +0000
+
+ Fixed conform feedback and drawelements tests.
+ Use correct pv when rasterizing unfilled polys.
+
+commit ab8b047ae59c111b4e4ab4fd43a2c6573caf5b85
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Jan 13 18:28:19 2001 +0000
+
+ fix conform dlist test
+
+commit 8415686ea22bc9165720590261581ff997f2eb7a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Jan 13 07:13:28 2001 +0000
+
+ Use correct pv in swrast lines routines
+
+commit 321f67c4729adeebd7aa9ef9e22c95e709952851
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Jan 13 05:48:25 2001 +0000
+
+ Fix crash in book/stencil.
+
+ Allow drivers to perform the perspective divide themselves. Assembly
+ to do cliptesting without perspective divide for size-4 vectors.
+
+commit a087c7421bef25747e1d692f62062393d849c501
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Jan 13 05:47:06 2001 +0000
+
+ Resync with new XFree version of this file
+
+commit 3f9ee180a887635134ce4303b33c684bc770dbe9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 12 22:34:27 2001 +0000
+
+ initialize Driver.RenderPrimitive to _swsetup_RenderPrimNoop
+
+commit e448d6cf0c671822f0cb59395c88ff667f4da867
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 9 00:02:55 2001 +0000
+
+ Added PointSize and PointParametersfv to dd interface, for completeness.
+ Clean-up and updated comments in dd.h file.
+
+commit ce656b6a0a103ae9cb41d509be353f0e661e3574
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 8 21:55:59 2001 +0000
+
+ Fixed 'IRound' to 'IROUND' in mmath.h
+
+ Fixed fallback path for drawarrays/_tnl_hard_begin.
+
+ Removed disabled debug code.
+
+commit bfa023921c9d1aa872237e0ac6085160f7c2cbc5
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 8 17:42:13 2001 +0000
+
+ Still need 'DD_TRI_CULL_FRONT_BACK'
+
+commit d7fc376de870c7304d1a7d08be5616784ec9ac3e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 8 17:41:15 2001 +0000
+
+ Add call to Driver.RenderPrimitive()
+
+commit 7a1f3a37a10b162b067239dafa19fc6865a41f14
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 8 04:55:22 2001 +0000
+
+ revert XMesaCreateContext changes
+
+commit b980b2eeb62dc48101a7481d02d196c80b9da397
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 8 04:09:41 2001 +0000
+
+ Add a 'RenderPrimitive' callback to t_vb_render.c. Helps out drivers
+ that used to require a 'ReducedPrimitiveChange' callback.
+
+ Various compilation fixes for XFree86.
+
+ Reverted to the older version of glcore.h used internally in XFree86, and
+ moved it to 'Mesa/include/GL/internal/glcore.h', for compatibility with
+ XFree86.
+
+commit 44d8de433e684cb4c2bc4dfc5cc6919af1f3cc55
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 8 04:06:56 2001 +0000
+
+ Bring the FX driver into line with core mesa changes.
+
+commit e9bf776711b22ce336cd462adf534ad3e2d61eec
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 8 04:06:20 2001 +0000
+
+ Modify X11 driver and fake glx to store a GLcontext
+ (ie a 'struct __GLcontextRec *') instead of an 'XMesaContext'.
+
+ This is to fix conflicts in XFree86 where both the indirect XMesaContext
+ and the GLcontext were calling themselves __GLcontextRec's.
+
+commit 78477947de9c8a69bd4beec2ef24abd0d142d080
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jan 8 03:56:53 2001 +0000
+
+ Moved glcore.h to a location prefixed by 'GL/internal', for compatibility
+ with XFree86 and the SI code there.
+
+commit ba8f6172bdfb44594537a304225b54152584d701
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Sat Jan 6 22:46:13 2001 +0000
+
+ Implementation of GL_EXT_texture_env_dot3.
+
+commit c85164605031cd64afbc57ca5ab1331377af887b
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Sat Jan 6 20:38:03 2001 +0000
+
+ Add GL_POINTS as a primitive, including with CVA DrawElements. Useful
+ for testing non-triangle primitives on hardware driver fastpaths.
+
+commit 8cbc573eae500aff6d121b2eef93fb00822622f1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 5 21:28:31 2001 +0000
+
+ Fixed bug in MinMagThresh computation.
+ Renamed gl_texture_pixels() to _swrast_texture_fragments()
+
+commit 2d7e25c9ffea6f8fb64d54c57bcd0ade5559bb35
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Fri Jan 5 08:09:46 2001 +0000
+
+ Committing in .
+
+ Modified Files:
+ Mesa/src/descrip.mms
+
+ VMS makefile update
+ ----------------------------------------------------------------------
+
+commit f4b02d1a2675d4a0699b8995a422fbd413c32301
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jan 5 05:31:42 2001 +0000
+
+ various compilation/warning fixes
+
+commit 58e991705392a2e17a1c8b034f4083a0adaf1943
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jan 5 02:26:48 2001 +0000
+
+ Remove 'pv' parameter from Line/Tri/Point funcs. The provoking vertex
+ is always the last vertex parameter.
+ Modify clipping to preserve pv colors.
+ Modify swrast and X11 driver to expect the pv in the last vertex
+ (was looking in the first vertex previously).
+ Remove all handling of flatshading from swrast_setup.
+
+ Allow drivers to override the unclipped render tabs in tnl_render_stage
+ directly. (Like in 3.4). Removed fxsimplerender stage.
+
+ Modified t_vb_rendertmp.h to remove the need for 'parity' arguments
+ in RENDER_TRI macros.
+
+commit f22c04cdaec47dfef1068af0e90822062478631b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 4 16:22:18 2001 +0000
+
+ added underflow check in validate_shine_table()
+
+commit 6517211e12c4f19c784b31727f6052561956fb7b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 4 15:32:32 2001 +0000
+
+ added divide by zero check
+
+commit 2fd9c8690fa86b17c42afcc73307d2232b8f79f6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 4 15:32:10 2001 +0000
+
+ changed some point functions, new picking code
+
+commit 63cca75e6333281d71e3a3b20496113f0e3ad455
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 4 15:31:38 2001 +0000
+
+ minor bug fixes
+
+commit 1c768645c5449f3bb66edb198821cf4947998a68
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 3 22:56:23 2001 +0000
+
+ added divide by zero check
+
+commit d14fce03f0b5db720cfc52a3c81f407626e28111
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 3 22:55:26 2001 +0000
+
+ added divide by zero checks
+
+commit 08dfacd4259b4c6f6d89e4d0c52ade17e811e314
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 3 22:17:16 2001 +0000
+
+ New point rasterization functions based on template code that
+ handles CI/RGB, texture, antialiasing, attenuation, etc.
+
+commit 6532db986883ea1a431c043126de4947465834a1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 3 15:59:30 2001 +0000
+
+ More color macro clean-ups.
+ FLOAT_TO_CHAN() macro removed.
+
+commit 3b399df6382d3cfb3cf9bfde4888878bebd2903f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 3 15:56:41 2001 +0000
+
+ minor clean-up
+
+commit c1d89d43916933237ed40d5f70739c3c04393924
+Author: Jon Taylor <taylorj@ggi-project.org>
+Date: Wed Jan 3 02:43:46 2001 +0000
+
+ Added missing #include "mmath.h"
+
+commit a580e1adb7c85711338c23a6703dfe82acbc8310
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 2 22:05:55 2001 +0000
+
+ missed a few color macro changes
+
+commit 3041d05bbcccfddba01a1eeaba01e5da0e1e99af
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 2 22:02:51 2001 +0000
+
+ Removed fixed.h (GLfixed now in mtypes.h, fixed-pt macros in mmath.h)
+ Clean-up of color conversion macros.
+ New mmath.h macros (IROUND, IFLOOR, ICEIL, FRAC) used in various places.
+
+commit 8446d1bab15ef82b35b8980a0a56072ace6feb04
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 2 21:40:57 2001 +0000
+
+ include state.h
+
+commit 6f89984fede5ba137b5987201cabcfd280b3773f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 2 21:09:50 2001 +0000
+
+ minor GLchan-related changes
+
+commit ef68e7bf718cc81ce25f97d837207c7da5966629
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Tue Jan 2 10:07:33 2001 +0000
+
+ Committing in .
+
+ Modified Files:
+ Mesa/demos/descrip.mms Mesa/src/descrip.mms
+ Mesa/src/dispatch.c
+
+ -Updated VMS compile suppport
+ -Included glthread.h in dispatch.c to make sure that THREADS is defined if
+ i.e. PTHREADS is defined in the makefile.
+
+ ----------------------------------------------------------------------
+
+commit 88f3b89a2cb77766d2009b9868c44e03abe2dbb2
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Dec 28 22:11:04 2000 +0000
+
+ Add render stage for unclipped vb's to fx driver.
+ Bump MAX_TEXTURE_UNITS to 8
+ Fix mem. leak in destroy_lists
+ Fix crash in q3 (cva generally)
+
+commit e5d6fb20a5c2519ac216a9fa247b5922e76528c1
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Dec 28 16:42:37 2000 +0000
+
+ try and force a log message
+
+commit 123ff6549b89f0450653a80832c68f1e6a1141b6
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Dec 28 16:35:42 2000 +0000
+
+ try and force a log message
+
+commit bc28306f4a6d1c5543444c85b29ec4876f1a9316
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Dec 28 16:32:22 2000 +0000
+
+ try and force a log message
+
+commit 4e96ac080ae05a4439d3104638e645b3a7494642
+Author: Jon Taylor <taylorj@ggi-project.org>
+Date: Thu Dec 28 02:00:27 2000 +0000
+
+ Fixed GGIMesa build problems.
+ Swrast triangle drawing fixes.
+
+commit a884b4b81168df26b2e049ea765af92c393b850b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 27 23:01:25 2000 +0000
+
+ try and force a log message
+
+commit 4292e9c06b1c3f98738e5e76d606e06918b58073
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 27 22:59:46 2000 +0000
+
+ try and force a log message
+
+commit 20911cb17ca2fa418c991c189641d978fc6cde2b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 27 22:57:13 2000 +0000
+
+ try and force a log message
+
+commit 1b686cedf4f9f4baa1e9b3f399746cd0ebb9b521
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 27 22:55:09 2000 +0000
+
+ try and force a log message
+
+commit 376d022e4a5a56f81f089a13a34438981fe83178
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 27 22:52:45 2000 +0000
+
+ fix demos/fire, enable lazy vertex flushing
+
+commit ae8ec0b30d799c29034da5bf616b4e324d42d918
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 27 22:30:29 2000 +0000
+
+ Fix evalpoints bug (samples/nurb)
+
+commit 93259cdfa10cfd484323b88cf00c9e8422c06bc5
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 27 21:49:40 2000 +0000
+
+ fix sproingies bug
+
+commit 719344b23ed7b1947af1db9281389f3fc74c3fc5
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Dec 27 19:57:37 2000 +0000
+
+ Fixes for compiling assembly (disable unused 'masked' versions)
+ Fixes for compiling without debug.
+ Fix line clipping
+ Fix unfilled polygon clipping (should be correct now).
+
+commit 770169f230a197d969f64df76cfaee1f0e27874f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Dec 26 15:14:04 2000 +0000
+
+ The array cache.
+
+commit 9ef50d5826c92aa7c9dd19702f18b0dfec59f03c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Dec 26 07:41:32 2000 +0000
+
+ fix xscreensaver cores
+
+commit cab974cf6c2dbfbf5dd5d291e1aae0f8eeb34290
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Dec 26 05:09:27 2000 +0000
+
+ Major rework of tnl module
+ New array_cache module
+ Support 8 texture units in core mesa (now support 8 everywhere)
+ Rework core mesa statechange operations to avoid flushing on many
+ noop statechanges.
+
+commit d1ff1f6798b003a820f5de9fad835ff352f31afe
+Author: pesco <pesco>
+Date: Sun Dec 24 22:53:54 2000 +0000
+
+ * demos/Makefile.am (INCLUDES): Added -I$(top_srcdir)/util.
+ * demos/Makefile.X11, demos/Makefile.BeOS-R4, demos/Makefile.cygnus:
+ Essentially the same.
+ Program files updated to include "readtex.c", not "../util/readtex.c".
+ * demos/reflect.c: Likewise for "showbuffer.c".
+
+
+ * Makefile.am (EXTRA_DIST): Added top-level regular files.
+
+ * include/GL/Makefile.am (INC_X11): Added glxext.h.
+
+
+ * src/GGI/include/ggi/mesa/Makefile.am (EXTRA_HEADERS): Include
+ Mesa GGI headers in dist even if HAVE_GGI is not given.
+
+ * configure.in: Look for GLUT and demo source dirs in $srcdir.
+
+ * src/swrast/Makefile.am (libMesaSwrast_la_SOURCES): Set to *.[ch].
+ More source list updates in various Makefile.am's.
+
+ * Makefile.am (dist-hook): Remove CVS directory from distribution.
+ (DIST_SUBDIRS): List all possible subdirs here.
+ (SUBDIRS): Only list subdirs selected for build again.
+ The above two applied to all subdir Makefile.am's also.
+
+commit 05ecec6f49732d8804982cdb350798a9fc7b81d9
+Author: pesco <pesco>
+Date: Thu Dec 21 20:04:14 2000 +0000
+
+ * include/GL/Makefile.am: ENABLE_GLUT_BUILD -> NEED_GLUT
+ * bootstrap: Fixed stupid mistakes.
+ * configure.in (LIBGL_VERSION): Include Mesa version as tiny number.
+ (LIBGLU_VERSION): Likewise.
+
+commit 9da422c639c9e2bb25a4d49aa6b2c2332217c224
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 16 00:21:28 2000 +0000
+
+ set visual->MRD to 2.0
+
+commit f1d6b384415a083c358d3824e77f3d434f08bfcc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 16 00:19:12 2000 +0000
+
+ Polygon._OffsetAny wasn't being computed
+
+commit 74e2dd38ed2d4be3454683c3b3f6959738ef235a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 15 16:42:30 2000 +0000
+
+ minor fog clean-ups (Klaus Niederkrueger)
+
+commit 783d7dfcbf40f727c85915b3e5ea5ff6682eaa48
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 15 04:02:50 2000 +0000
+
+ added more GLX extension function stubs
+
+commit 083e466f88e1203f08b7699fa34b05d0e45b3172
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 14 20:25:56 2000 +0000
+
+ Renamed texture object _P to _MaxLevel and _M to _MaxLambda.
+ Now add BaseLevel in _MaxLevel computation.
+
+commit daabce72db97dc10fce5928169a4b29334b76e5f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 14 17:44:42 2000 +0000
+
+ updated glXSet3DfxModeMESA() prototype types
+
+commit 4536021a62e02fceaa6e8eb889b0f61743109cc4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 14 17:44:08 2000 +0000
+
+ added some more GLX extension entrypoints (fix GLUT link problems when using glxext.h)
+
+commit a2003c2895b2231ff47ae5fa870887f1ef66ad29
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 13 23:13:45 2000 +0000
+
+ fixed conformance problems in min/max and histogram result packing
+
+commit b0dbd3ed131c1097177d9091ad52b03374eda748
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 13 17:35:43 2000 +0000
+
+ replaced GLfixed with GLfloat in _mesa_fog_ci_pixels() (Klaus Niederkrueger)
+
+commit ac522d475638ec8bb53428353120f6a6a72d2ef5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 13 16:24:39 2000 +0000
+
+ use inverted Y coordinate for choosing dither value (conformance fixes)
+
+commit 813882526d455fc3d31cfd4b6e84ba9ac5963b41
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 13 00:48:02 2000 +0000
+
+ added glReadPixels item
+
+commit 3cbbef53bcf9a74beec3d6699a03e8d0c2eb24e2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 13 00:47:10 2000 +0000
+
+ tweaked truecolor dither kernel setup code
+
+commit 062bc07bde9520d12c3cc051779d67a9543c0ff7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 13 00:46:21 2000 +0000
+
+ improved precision of glReadPixels for colorbuffers < 24bpp
+
+commit 75639547e70f45b7782cf528b118a39b82b06ba3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Dec 12 00:31:45 2000 +0000
+
+ disabled two optimized textured triangle functions because of texcoord interpolation errors
+
+commit b38ad54c41aec2d08fdd26a4a8ea4dcdca8b1dfd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Dec 12 00:27:51 2000 +0000
+
+ clipping, fog, texture optimizations (Klaus Niederkrueger)
+
+commit 3afb7a0f7098bb51e539c8e62261df0815ea44d3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Dec 11 15:42:53 2000 +0000
+
+ disabled GLX_SGIS_multisample (temporarily) since its tokens aren't defined
+
+commit b04bcd14ee329a12acc1b7895ee9ac4aa74344e3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Dec 11 15:41:47 2000 +0000
+
+ minor changes to fix compile problems/warnings
+
+commit 14586916b9b888bec0b08b9646f90e74c0833183
+Author: Jon Taylor <taylorj@ggi-project.org>
+Date: Mon Dec 11 05:22:11 2000 +0000
+
+ Added a new configure.in flag, --enable-glut-build.
+ This defaults to "off", so GLUT is not built by default.
+
+commit 90f042ae8dbc00ecedab5cc68dbc6abae4228af5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Dec 10 19:23:19 2000 +0000
+
+ generate GL_INVALID_OPERATION error for bad image format/type combinations
+
+commit 8aa019d2efcf0295beae51989fe4b419ca50ca17
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 9 22:09:50 2000 +0000
+
+ _MultiTextureEnabled was being computed incorrectly
+
+commit ab6e78f3a0abac7becbd8a58ed2c89f860cc6b0b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 9 21:30:43 2000 +0000
+
+ adjust texture size for convolution in glCopyTex[Sub]Image[123]D()
+
+commit 89c9a4cbf20742359b3269b778497f79f39bcdc6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 9 20:51:12 2000 +0000
+
+ set default table size to 0, minor error check fix
+
+commit 2f911cdf17e98e8ba7f0f7559f3a21708d366769
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 9 20:36:18 2000 +0000
+
+ define GL_ARB_imaging
+
+commit 67adba15a2a454cadb27a86b24e5e67ba65ae6b0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 9 20:35:54 2000 +0000
+
+ initialize convolution filters to zero
+
+commit 90f8ebfd8f68a888e404206aa3dd9bed1e786be6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 9 20:35:32 2000 +0000
+
+ added queries for convolution enables
+
+commit 2e5819270b4d4283d060fc821cde22be4b40d1ad
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 9 19:55:18 2000 +0000
+
+ added GL_RESCALE_NORMAL cases
+
+commit ec15398681249fca439794de03bf2a89d04f6c55
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 8 18:09:33 2000 +0000
+
+ more detailed texture error messages
+
+commit 23b1503d79bc148521f8cff3c7b5f5faa146d1ac
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 8 18:08:15 2000 +0000
+
+ include glxext.h unless GLX_GLXEXT_LEGACY is defined
+
+commit fed386cdc02d1f49f68e490f316f2533451e4616
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 8 18:06:35 2000 +0000
+
+ standardized GLX extensions header
+
+commit 536ede7e00ff5e2f10be3bf9b60cd2cfa80b3518
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 8 17:37:00 2000 +0000
+
+ fixed bug 123918: glXCopySubBuffer() y position off by one
+
+commit 1c6701e1e19a7d104ea8e2db560e4abef4be4ad0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 8 00:28:59 2000 +0000
+
+ added LL_MESA_sprite_point extension
+
+commit cba2ca94f19a0462c69fdda886c5f4ee2ee4d891
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 8 00:21:02 2000 +0000
+
+ initial draft
+
+commit 06d05afdd687fcd1d59d46c6a86c2e5707e1859b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 8 00:20:15 2000 +0000
+
+ Initial work on GL_MESA_sprite_point extension.
+ Still need to resolve clipping issues, finalize the spec.
+
+commit fb7899bfec447e5840c2c1ea96619084093be424
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 8 00:18:39 2000 +0000
+
+ Compute attenuated point size in a new pipeline stage.
+ Store computed point size in the SWvertex struct.
+
+commit c1b97d91c7e38290be85eb1ff56e6c108e1e47ca
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 8 00:09:24 2000 +0000
+
+ minor comments, clean-up
+
+commit 83886a5a7f416b4a8c9dc8ef3a587d9b3fab9c59
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 7 21:50:39 2000 +0000
+
+ call glFinish() before getting t1 time
+
+commit ab9e273c75e2d752e5027f7790480120c672ce01
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Thu Dec 7 02:36:38 2000 +0000
+
+ Allow operating system SSE support test to be overridden with an
+ environment variable.
+
+commit 2ac44e2509dff861d50239d3248c60bf08f3ed92
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Wed Dec 6 14:41:47 2000 +0000
+
+ Merge Mesa 3.4 test for operating system support for SSE.
+
+commit fac5fd258ca18f28290419f9de3f279f7b4a6ede
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 2 20:33:05 2000 +0000
+
+ added -s option to control when glXSwapBuffers() is called
+
+commit 785390137287cca1fd6ae61a4914cb71854396a8
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Thu Nov 30 03:06:56 2000 +0000
+
+ Enable double-buffering, count not even multiple of three.
+
+commit 28861b192f8c83919676466b04aca89c618ba300
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Thu Nov 30 01:44:24 2000 +0000
+
+ Add basic timing information.
+
+commit 7f55eb2b149a0994a526307d01388cc123868eb9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 28 22:34:46 2000 +0000
+
+ changed error tests for depth and stencil buffers
+
+commit 86ca491ade2322fbc652b78489cea67759bd09b8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 28 21:34:04 2000 +0000
+
+ fixed parameter mis-ordering bug in Driver.StencilSpan calls
+
+commit bfea97321ca4ae0ca65b560d7bd2bb30c7ca8a07
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Tue Nov 28 08:03:22 2000 +0000
+
+ Committing in .
+
+ Modified Files:
+ Mesa/src/swrast/s_copypix.c
+
+ changed one occurence of rgba to rgbaFloat
+ ----------------------------------------------------------------------
+
+commit 45015e4d79d63183f6d9c4e4fad655921e07b0ab
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 28 00:07:51 2000 +0000
+
+ Pass scale and bias values to _mesa_scale_and_bias_rgba().
+ Implemented post-convolution scale and bias operation.
+
+commit 4304790e3ea6e8ba953fb53e4304777894358a93
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 28 00:04:39 2000 +0000
+
+ fixed a convolution pixel store bug
+
+commit 6a35de3cc3b963be4be0358dfd8ab86d5b943c59
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 27 19:13:16 2000 +0000
+
+ added new source directories to LIB_FILES
+
+commit 72ef753d5c8eedc3375af77da083cf93447a73a3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 27 18:59:09 2000 +0000
+
+ Set ENABLE_LIGHT according to ctx->Light.Enabled whether or not
+ individual light sources are enabled.
+
+commit 297dfa0fbf38a415d70caaab29d93dad585df1d2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 27 18:53:59 2000 +0000
+
+ minor changes to fix compiler warnings
+
+commit a864432fb4333dfbbe669554de7485d8426e1c38
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 27 18:22:13 2000 +0000
+
+ Added MaxClipPlanes and MaxLights to gl_constants struct so T&L
+ drivers can report non-default numbers of lights and clip planes.
+
+commit 50478ded80fe04ab384b702723f227f53516212c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 27 18:17:09 2000 +0000
+
+ map glIndex* functions to glIndexi() (glIndexub was looping back to glIndexub)
+
+commit 33b2dcf0dad710ddfb92bf63ca69fa4f67684518
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Mon Nov 27 09:05:52 2000 +0000
+
+ Modified Files:
+ Mesa/src/tnl/t_context.c Mesa/src/tnl/t_debug.c
+ Mesa/src/tnl/t_pipeline.c
+
+ Some updates to silence warnings on my VMS-machine
+
+ ----------------------------------------------------------------------
+
+commit 68656667b2f63c285ccd75fb16a17a8a04a9f552
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 25 18:52:58 2000 +0000
+
+ fixed GLX_PBUFFER value
+
+commit 9aff6cfdc37f83a2528463179ad0b50893bf0c58
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Nov 24 15:21:59 2000 +0000
+
+ Fixed a couple of bugs that crept into last commit
+ - Eval not compiled correctly
+ - Material colors computed incorrectly
+
+ Reworked the VERT_TEX flags, now support upto 12 texture units in tnl.
+
+commit 65dcc30599348c2bfd7952b888db27edd1670fc6
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Fri Nov 24 13:55:59 2000 +0000
+
+ Committing in .
+
+ Modified Files:
+ Mesa/src/descrip.mms
+
+ Updated VMS-compile support
+ ----------------------------------------------------------------------
+
+commit b014986fdb259eb60bd3e5a3fbcfcb218969f5f5
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Nov 24 10:30:04 2000 +0000
+
+ New files...
+
+commit ad2ac216fa0cbebc36530bf9e5256e902710b892
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Nov 24 10:25:05 2000 +0000
+
+ Support for swappable t&l modules, including an example one in the FX
+ driver (enable with FX_ALLOW_VTXFMT=t).
+
+commit 00608a79dce1ea5e274f35b0a1883f7b623b9d7a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 23 16:36:36 2000 +0000
+
+ minor updates for widgets-mesa/
+
+commit cdfba5d37519f7be2e1cf728588b632ea06028cb
+Author: Jon Taylor <taylorj@ggi-project.org>
+Date: Thu Nov 23 02:50:56 2000 +0000
+
+ More auto* build system updates
+
+commit 30e5ef86a0e72582db428e6bed47e8652b7d3b23
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Wed Nov 22 09:01:04 2000 +0000
+
+ Modified Files:
+ Mesa/macos/src-gli/MDD.h Mesa/macos/src-gli/mgliContext.c
+ Mesa/macos/src-gli/mgliContext.h
+ Mesa/macos/src-gli/mgliError.c Mesa/src/D3D/D3DMESA.H
+ Mesa/src/D3D/D3Dvbrender.c Mesa/src/D3D/NullProcs.c
+ Mesa/src/S3/S3mesa.c
+
+ Some more files with capitals.
+
+ ----------------------------------------------------------------------
+
+commit dbd1e2b5990a3689bf718296c57c14fc3ba38db5
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Wed Nov 22 08:55:51 2000 +0000
+
+ Modified Files:
+ Mesa/src/Allegro/amesa.c Mesa/src/DOS/dosmesa.c
+ Mesa/src/FX/fxdd.c Mesa/src/FX/fxdrv.h
+ Mesa/src/FX/fxfastpath.c
+ Mesa/src/GGI/include/ggi/mesa/ggimesa.h
+ Mesa/src/OSmesa/osmesa.c Mesa/src/SVGA/svgamesa.c
+ Mesa/src/Trace/tr_control.c Mesa/src/Windows/wgl.c
+ Mesa/src/X/xmesaP.h Mesa/src/X86/3dnow.c Mesa/src/X86/katmai.c
+ Mesa/src/X86/x86.c
+ Removed Files:
+ Mesa/src/mms_depend
+
+ Oops,... all files containing Caps in directory name or file name were
+ missing in my types->mtypes commit.
+
+ ----------------------------------------------------------------------
+
+commit 22f5dc74c75a4a2fdf06392719060f12f358b552
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Wed Nov 22 08:42:14 2000 +0000
+
+ Modified Files:
+ Mesa/src/descrip.mms Mesa/src/swrast/s_lines.c
+
+ VMS compile support
+ Added some Type casts to avoid warnings
+ ----------------------------------------------------------------------
+
+commit 5e3bc0c2a2bcdf59949410f94c9b705fc1281ce8
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Wed Nov 22 07:32:16 2000 +0000
+
+ Committing in .
+
+ Modified Files:
+ Mesa/macos/gli_api/gliapi1.h Mesa/macos/gli_api/gliapi2.h
+ Mesa/macos/gli_api/gliapiext.h Mesa/macos/src-gli/fxgli.c
+ Mesa/macos/src-gli/fxgli.h Mesa/macos/src-gli/fxgli2.c
+ Mesa/macos/src-gli/fxgli_tridebug.c Mesa/src/accum.c
+ Mesa/src/accum.h Mesa/src/all.h Mesa/src/alpha.c
+ Mesa/src/alpha.h Mesa/src/attrib.c Mesa/src/attrib.h
+ Mesa/src/bitmap.c Mesa/src/bitmap.h Mesa/src/blend.c
+ Mesa/src/blend.h Mesa/src/buffers.c Mesa/src/buffers.h
+ Mesa/src/clip.c Mesa/src/clip.h Mesa/src/colortab.h
+ Mesa/src/config.c Mesa/src/context.c Mesa/src/context.h
+ Mesa/src/convolve.c Mesa/src/convolve.h Mesa/src/copypix.c
+ Mesa/src/copypix.h Mesa/src/debug.c Mesa/src/depth.c
+ Mesa/src/depth.h Mesa/src/dlist.c Mesa/src/dlist.h
+ Mesa/src/drawpix.c Mesa/src/drawpix.h Mesa/src/enable.c
+ Mesa/src/enable.h Mesa/src/eval.c Mesa/src/eval.h
+ Mesa/src/extensions.c Mesa/src/extensions.h
+ Mesa/src/feedback.c Mesa/src/feedback.h Mesa/src/fog.c
+ Mesa/src/fog.h Mesa/src/get.c Mesa/src/get.h Mesa/src/glapi.c
+ Mesa/src/glthread.h Mesa/src/highpc.c Mesa/src/hint.h
+ Mesa/src/histogram.h Mesa/src/image.c Mesa/src/image.h
+ Mesa/src/imports.c Mesa/src/light.c Mesa/src/light.h
+ Mesa/src/lines.c Mesa/src/lines.h Mesa/src/logic.c
+ Mesa/src/logic.h Mesa/src/masking.c Mesa/src/masking.h
+ Mesa/src/matrix.c Mesa/src/matrix.h Mesa/src/pixel.c
+ Mesa/src/pixel.h Mesa/src/points.c Mesa/src/points.h
+ Mesa/src/polygon.c Mesa/src/polygon.h Mesa/src/rastpos.c
+ Mesa/src/readpix.c Mesa/src/scissor.c Mesa/src/scissor.h
+ Mesa/src/state.c Mesa/src/state.h Mesa/src/stencil.c
+ Mesa/src/stencil.h Mesa/src/teximage.c Mesa/src/teximage.h
+ Mesa/src/texobj.c Mesa/src/texobj.h Mesa/src/texstate.c
+ Mesa/src/texstate.h Mesa/src/texture.c Mesa/src/texture.h
+ Mesa/src/texutil.c Mesa/src/texutil.h Mesa/src/varray.c
+ Mesa/src/varray.h Mesa/src/X/fakeglx.c Mesa/src/X/xm_api.c
+ Mesa/src/X/xm_dd.c Mesa/src/X/xm_line.c Mesa/src/X/xm_span.c
+ Mesa/src/X/xm_tri.c Mesa/src/swrast/s_aaline.c
+ Mesa/src/swrast/s_aaline.h Mesa/src/swrast/s_aatriangle.h
+ Mesa/src/swrast/s_accum.h Mesa/src/swrast/s_alpha.h
+ Mesa/src/swrast/s_alphabuf.h Mesa/src/swrast/s_blend.h
+ Mesa/src/swrast/s_context.c Mesa/src/swrast/s_context.h
+ Mesa/src/swrast/s_depth.h Mesa/src/swrast/s_drawpix.h
+ Mesa/src/swrast/s_feedback.h Mesa/src/swrast/s_fog.h
+ Mesa/src/swrast/s_histogram.h Mesa/src/swrast/s_lines.h
+ Mesa/src/swrast/s_logic.h Mesa/src/swrast/s_masking.h
+ Mesa/src/swrast/s_pb.h Mesa/src/swrast/s_pixeltex.h
+ Mesa/src/swrast/s_points.h Mesa/src/swrast/s_quads.c
+ Mesa/src/swrast/s_quads.h Mesa/src/swrast/s_scissor.h
+ Mesa/src/swrast/s_span.h Mesa/src/swrast/s_stencil.h
+ Mesa/src/swrast/s_texture.h Mesa/src/swrast/s_triangle.h
+ Mesa/src/swrast/s_zoom.h Mesa/src/swrast/swrast.h
+ Mesa/src/swrast_setup/ss_context.h
+ Mesa/src/swrast_setup/ss_triangle.c
+ Mesa/src/swrast_setup/ss_triangle.h
+ Mesa/src/swrast_setup/ss_vb.h Mesa/src/tnl/t_clip.c
+ Mesa/src/tnl/t_clip.h Mesa/src/tnl/t_context.c
+ Mesa/src/tnl/t_context.h Mesa/src/tnl/t_cva.c
+ Mesa/src/tnl/t_cva.h Mesa/src/tnl/t_debug.c
+ Mesa/src/tnl/t_debug.h Mesa/src/tnl/t_dlist.h
+ Mesa/src/tnl/t_eval.c Mesa/src/tnl/t_eval.h
+ Mesa/src/tnl/t_fog.c Mesa/src/tnl/t_fog.h
+ Mesa/src/tnl/t_light.c Mesa/src/tnl/t_light.h
+ Mesa/src/tnl/t_pipeline.c Mesa/src/tnl/t_pipeline.h
+ Mesa/src/tnl/t_shade.c Mesa/src/tnl/t_shade.h
+ Mesa/src/tnl/t_stages.c Mesa/src/tnl/t_stages.h
+ Mesa/src/tnl/t_texture.c Mesa/src/tnl/t_texture.h
+ Mesa/src/tnl/t_trans_elt.c Mesa/src/tnl/t_trans_elt.h
+ Mesa/src/tnl/t_varray.c Mesa/src/tnl/t_varray.h
+ Mesa/src/tnl/t_vb.c Mesa/src/tnl/t_vb.h
+ Mesa/src/tnl/t_vbcull.c Mesa/src/tnl/t_vbcull.h
+ Mesa/src/tnl/t_vbfill.c Mesa/src/tnl/t_vbfill.h
+ Mesa/src/tnl/t_vbindirect.c Mesa/src/tnl/t_vbindirect.h
+ Mesa/src/tnl/t_vbrender.c Mesa/src/tnl/t_vbrender.h
+ Mesa/src/tnl/t_vbxform.c Mesa/src/tnl/t_vbxform.h
+ Mesa/src/tnl/tnl.h
+ Added Files:
+ Mesa/src/mtypes.h
+ Removed Files:
+ Mesa/src/types.h
+
+ Changed Mesa/src/types to Mesa/src/mtypes.h to avoid conflicts while
+ compiling on a VMS system.
+
+ ----------------------------------------------------------------------
+
+commit fbe3726050f2cd69694df9f24986e951b4c2737e
+Author: Jon Taylor <taylorj@ggi-project.org>
+Date: Wed Nov 22 06:49:43 2000 +0000
+
+ More auto* build system fixes
+
+commit e3048be8baea4874610bc60d5d713634aaae5f0c
+Author: Jon Taylor <taylorj@ggi-project.org>
+Date: Wed Nov 22 06:45:38 2000 +0000
+
+ swrast setup fixes
+
+commit 0c000ec90c8ca38bfcb94394001665d0be3112dd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 21 23:26:13 2000 +0000
+
+ call gl_update_state() if needed in glGetColorTable, glGetConvolutionFilter
+
+commit c34cea7de54525a337c904cf22fc026b7ca31578
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 21 23:25:40 2000 +0000
+
+ call RENDER_START/FINISH in read_color_image()
+
+commit 26d729581fcf1991fbcc8320f64fa40d73170e95
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 21 23:17:36 2000 +0000
+
+ minor clean-ups (Klaus Niederkrueger)
+
+commit 5c0dccc8969d2561c78264aac3fdaa39f880cc22
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 21 23:09:18 2000 +0000
+
+ minor clean-ups
+
+commit baf3e77ee2ea0a8721715d540d88066771f2dd67
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 21 23:01:22 2000 +0000
+
+ added some RENDER_START/RENDER_FINISH macros. Minor GLchan changes
+
+commit 3c2e1022ed0a9fab82fddedd3ba4e20361665336
+Author: Jon Taylor <taylorj@ggi-project.org>
+Date: Tue Nov 21 05:17:13 2000 +0000
+
+ More auto* build fixes
+ Removed spurious trace/Makefile from repository
+
+commit 189476f265e2acb69179420f0814b99dffc90b65
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 20 18:06:11 2000 +0000
+
+ minor multi-tex changes, changed MAX_TEXTURE_UNITS to 4
+
+commit ce2733b7cc35d79082164afc1bb55c5f6861612e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 20 15:16:33 2000 +0000
+
+ removed #include <tgmath.h>
+
+commit 2ac294e67f4c94e0f72ef3ccae45ee628b84d117
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Nov 20 13:39:36 2000 +0000
+
+ fix lvalue cast on ctx->swtnl_im
+
+commit 1487b3ea3ed0d30fa70655247e65d0ede3eef3af
+Author: Jon Taylor <taylorj@ggi-project.org>
+Date: Sun Nov 19 23:42:32 2000 +0000
+
+ * More work on the auto* build system
+ * Added missing #includes all over the place
+ * Added GGI-style debugging harness to GGIMesa
+
+commit a852378a6289d154364dde440f89a39bbfc33e2d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Nov 19 23:10:25 2000 +0000
+
+ Replaced Texture.CurrentD[] with separate Texture.Current1/2/3D vars.
+ Completely removed the dirty texture object list. Set texObj->Complete
+ to GL_FALSE to indicate dirty.
+ Made point/line/triangle/quad SWvertex parameters const.
+ Minor code clean-ups.
+
+commit b12d8e3b0ddf6dc56dc866530b66230bdc5d73db
+Author: Jon Taylor <taylorj@ggi-project.org>
+Date: Sun Nov 19 07:41:26 2000 +0000
+
+ Added GGI-style debugging harness to GGIGLUT.
+
+commit 54d7a7453250fa3d5d9e0d8d8bcab21a6216cbfb
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Sun Nov 19 02:18:33 2000 +0000
+
+ - Fix tnl/t_context.h inclusion.
+ - Some SSE asm updates, more to come.
+
+commit a13fab59ae03ebafefe78bfd5ecb758261cce988
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 18 17:13:04 2000 +0000
+
+ added more programs
+
+commit ede37839aef5969e1ea1c18c1fe62bfdb8b71bae
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 18 17:12:33 2000 +0000
+
+ test texture palettes with multitexture
+
+commit 9b5bb5939b0cd10cdb9975180b3f8b872ec39225
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 18 17:10:07 2000 +0000
+
+ Mark Kilgard's reflection/shadow dino demo
+
+commit 6b2eab1869761f4ef93b964750699f99e9b8ef56
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 18 17:07:39 2000 +0000
+
+ hacked demo to test multi-texture projective textures
+
+commit 912d3a04c191b835be07b8f104eed240d6cf0ada
+Author: Jon Taylor <taylorj@ggi-project.org>
+Date: Sat Nov 18 08:10:21 2000 +0000
+
+ * Auto* build fixes
+ * Added missing includes to math/*
+
+commit 5a9026c65d260dc185e072163999f5d810015108
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 17 21:01:25 2000 +0000
+
+ Minor header file changes to silence warnings.
+ Added _mesa_enable_sw_extensions(), called by software-only drivers
+ to enable all s/w-supported GL extensions.
+
+commit 9e83e8c790d8b612a7256c630f6ff7e063faaccb
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Fri Nov 17 11:00:55 2000 +0000
+
+ Committing in .
+
+ Patches to compile Mesa on VMS.
+ -Updated for new directory tree
+ -Now compile with PTHREADS on
+
+
+ The patch in glthread.h is temporarily. The include file src/types.h
+ conflicts with the system defined types.h. In future the mesa supplied one
+ should be renamed.
+
+ Modified Files:
+ Mesa/include/GL/vms_x_fix.h Mesa/src/descrip.mms
+ Mesa/src/glthread.h Mesa/src/mms_depend
+ ----------------------------------------------------------------------
+
+commit 23caf20169ac38436ee9c13914f1d6aa7cf6bb5e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Nov 16 21:05:34 2000 +0000
+
+ Move the transform and lighting code to two new directories
+ math: Provides basic matrix and vector functionality that
+ might be useful to multiple software t&l
+ implementations, and is used by core mesa to
+ manage the Model, Project, etc matrices.
+
+ tnl: The real transform & lighting code from core mesa,
+ including everything from glVertex3f through vertex
+ buffer handling, transformation, clipping, lighting
+ and handoff to a driver for rasterization.
+
+ The interfaces of these can be further tightened up, but the basic
+ splitting up of state and code move is done.
+
+commit 179516673211a2350e479d5321840291f339f5dd
+Author: Jon Taylor <taylorj@ggi-project.org>
+Date: Thu Nov 16 10:38:39 2000 +0000
+
+ Small compile fix
+
+commit 0a82c75eab24bb51448630894abc19a4c8bdfd87
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 15 16:38:59 2000 +0000
+
+ added includes to silence warnings
+
+commit 24a32627d9a1b23323429b989bb5705a695fb4c1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 15 16:38:40 2000 +0000
+
+ Replaced ctx->Point.Size with ctx->Point._Size
+ Replaced ctx->Point.UserSize with ctx->Point.Size
+
+commit 30971cd098d147a4363df0dec0c338587dc1478f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 15 00:26:01 2000 +0000
+
+ rewrite of _mesa_win_fog_coords_from_z() so that both perspective and orthographic projection are handled correctly
+
+commit 4fae0260a6b9f73bbca8959b6d8f04fb43426a45
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 14 17:51:15 2000 +0000
+
+ more Driver.Color, Driver.Index updates
+
+commit f930330d5f8dbc61d449be65da9e6a951b18a909
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 14 17:50:07 2000 +0000
+
+ removed unused set_color() and set_index() functions
+
+commit c19d783e0715ac01ad4d3fd0705500d2bf6f7039
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 14 17:40:13 2000 +0000
+
+ Removed Driver.Color() and Driver.Index() functions.
+ Pass color or color index directly to WriteMono*() span functions.
+ Updated current s/w drivers accordingly.
+ Clean-up of X gc handling in XMesa driver.
+
+commit 1e1aac034c986a08248861363c0baa27dc2ae2d5
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Nov 13 20:02:56 2000 +0000
+
+ Cleanup of derived state calculation prior to seperating software T&L
+ into a new directory. Specifically the handling of changes to lighting
+ lighting space (light in model vs. light in eye) have been revamped.
+
+ Moved several derived values used only by swrast into that directory.
+
+ Removed direct calls to swrast_flush() from vbrender.c -- pushed into
+ ctx->Driver.RenderFinish.
+
+ Optimized flat-shading case in swrast_setup.
+
+commit 6b8ae62d6b6a3b06c51628123fc30634cacf9c7c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 13 15:33:56 2000 +0000
+
+ removed unused var
+
+commit a2c4c98023ac94bbd9021c3c87983de4c0b6cf63
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 13 15:33:17 2000 +0000
+
+ bumped version to 3.5
+
+commit d45fdeae3531634bb4c5ea48e934e535372fb527
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 13 15:25:26 2000 +0000
+
+ fixed another texImage mistake in _mesa_GetTexImage()
+
+commit dd11e7664da245ca86e9e58996329836d323bc82
+Author: Jon Taylor <taylorj@ggi-project.org>
+Date: Mon Nov 13 04:15:44 2000 +0000
+
+ * Updated the autoconf/automake/libtool build system
+ * GGIMesa's stubs targets now uses swrast
+
+commit 7351049dbadcfd1c8dbc04090225d9c38de01a0f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 11 20:23:47 2000 +0000
+
+ init WrapR to GL_REPEAT mode
+
+commit e7f55e76db47eb1f198d3f86980fdd066f01542f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 11 19:09:29 2000 +0000
+
+ removed tr_attrib.c
+
+commit bc58b7b409ed75901158889a18f3db52a5a7ecd7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 11 01:43:03 2000 +0000
+
+ latest sources from Loki
+
+commit b5012e1ee1b0172dda3921bcf12e3605b1be589b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 10 18:31:04 2000 +0000
+
+ replaced _NEW_IMAGING with _NEW_PIXEL
+
+commit df37d5f2dbf3821f6b3f24771b83ad34584ca383
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 10 18:29:18 2000 +0000
+
+ replaced s_imaging.h with s_histogram.h
+
+commit 8a9507442a9811e2c4a4bac6a993e8a900c50d4d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 10 18:06:14 2000 +0000
+
+ renamed imaging files to histogram since that's what's inside
+
+commit 78bb78d1c3f3d0e41b647ea32f5dd57b986744de
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 10 18:05:13 2000 +0000
+
+ renamed to histogram
+
+commit ba41b8afb1b40b967cf5c0e604bbf09793eb8fee
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 10 17:45:15 2000 +0000
+
+ minor changes to silence compiler warnings
+
+commit 6c4268204b0e62218c53f95a7e1c53214e5fc4d7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 10 17:36:42 2000 +0000
+
+ removed old TexImage() and TexSubImage() functions
+
+commit db6aa58267cad3f502f03ab80b9deb6b75320a91
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 10 17:23:02 2000 +0000
+
+ patched to silence compiler warnings (Martin Lindhe)
+
+commit 8e3366fda795797d92afb6877cd280cf96a6d4e7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 10 15:32:07 2000 +0000
+
+ restored call to _mesa_select_tex_image() in _mesa_GetTexImage()
+
+commit 3d960a0d84be0ffdd491dd37ff80bedf4a44fe92
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 9 23:25:06 2000 +0000
+
+ GL_BGR case was misplaced in _mesa_is_legal_format_and_type() (Jeff Hartmann)
+
+commit 71be653edceb45c0afd4240a1d16b5d1cb92471d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 9 22:41:25 2000 +0000
+
+ updated with bug fix from 3.4 branch
+
+commit 560538519489562e5b6721714dd15dae79ce445f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 9 16:53:26 2000 +0000
+
+ fixed mipmap setup bug
+
+commit 14425aeca18fdf1223625a9b5b6d32f619715bee
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Nov 7 19:17:23 2000 +0000
+
+ fixed very obvious fog bug
+
+commit 7298e71360ca1f38e7f0e0426fbf1a8dcbafdbd7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 7 16:40:37 2000 +0000
+
+ adjust x/y/zoffset parameters to fill_texture_image() by texture border width
+
+commit 2d595d70202bad560c27ea81ec71b740415b3355
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 6 17:28:51 2000 +0000
+
+ test ctx->RenderMode in chooser functions
+
+commit 8d915cb6fbe2c2ed06f01d5f4838e1dd2fe406b4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 6 17:28:20 2000 +0000
+
+ test ctx->RenderMode in chooser functions, removed dead code
+
+commit 4f3e7cd3cf44ef36c77f60105898d506fa08a5ea
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 6 17:08:02 2000 +0000
+
+ added a setup function for selection/feedback
+
+commit 8fa6b363dbed32f4e18b4b83866658c62fba8d39
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 6 15:52:48 2000 +0000
+
+ added buffer test to xmesa_choose_point(), fixes X protocol error
+
+commit 790ea3dc7fe1ce7c5363e9e6391872efb11095d9
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Mon Nov 6 13:04:05 2000 +0000
+
+ Committing in .
+
+ Modified Files:
+ Mesa/src/descrip.mms Mesa/src/mms_depend
+
+ Updating VMS compile support
+
+ ----------------------------------------------------------------------
+
+commit 861ca519ab68f6f215e2de186c76b9836ba2d403
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Nov 5 23:21:12 2000 +0000
+
+ removed obsolete VB vars
+
+commit b2ad0754b0724c62cbdd838f04db953e0fd13219
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Nov 5 23:19:23 2000 +0000
+
+ added swrast/s_aaline.c
+
+commit 0070d398d13759adc519f9bc764ffd39bc88890e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Nov 5 23:18:36 2000 +0000
+
+ hooked in new AA line code, minor clean-up
+
+commit 7798374e472a8fa2f8699d38873e6b8490d853a4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Nov 5 23:15:16 2000 +0000
+
+ New implementation of antialiased lines. Mesa should now pass the remaining
+ GL conformance tests for AA lines (but not tried yet).
+ TODO: improve code sharing with the AA triangle code.
+
+commit 14940c4ffe066a8b85bc14274c19ad3d8e334d61
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Nov 5 18:40:57 2000 +0000
+
+ - Changes for new software rasterizer modules
+ - Remove support for choosing software fallbacks from core code
+ - Remove partial fallback code from vbrender.c -- drivers are now
+ expected to be able to find a triangle/quad function for every state,
+ even if they have to use _swsetup_Triangle or _swsetup_Quad.
+ - Marked derived variables in the GLcontext struct with a leading
+ underscore '_'.
+
+commit 1e885f6e6ce9c46c3220eb0472bdfe2aa7946596
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Nov 5 18:28:01 2000 +0000
+
+ Reworked to use the new software rasterizer. Optimized line/tri functions
+ are hooked into the software rasterizer.
+
+commit ec0585883a85a495d94e24970d64e5d6fc889147
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Nov 5 18:26:12 2000 +0000
+
+ Use the new software rasterizer. Reworked optimized line,tri,point
+ functions to fit into the framework provided for extending the
+ software rasterizer.
+
+commit cd03ed4f54444d96e4e47cdb118a3dfd94d92bb0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Nov 5 18:24:40 2000 +0000
+
+ Reorganized software rasterizer as a module which manages its own state,
+ with tighter interfaces with the rest of the world.
+
+ Proper documentation to come.
+
+commit 7c20642b1091df1aab7d9076a3fe2fb11c6f011c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Nov 5 18:20:18 2000 +0000
+
+ A new module to provide RasterSetup and advanced triangle/line/point
+ functionality layered on top of the software rasterizer.
+
+ An example entrypoint:
+ void _swsetup_Triangle( GLcontext, GLuint, GLuint, GLuint, GLuint )
+
+ will coerce the software rasterizer to draw flat, twoside-lit,
+ unfilled and offset triangles (including decomposition to points or lines).
+
+commit c6f348cbc908556da4f68a65cdf218ebd4e678be
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Nov 5 18:16:51 2000 +0000
+
+ Lots of changes:
+ - use the new interface to the software rasterizer.
+ - manage all fallbacks internally, hooking in swrast or
+ swrast_setup if necessary.
+ - removed lots of marginal code no longer appropriate in a
+ maturing driver.
+ - reworked the vertex-setup and triangle routines, including
+ drawing unfilled triangles from within the driver.
+
+commit a190221f70000a4be97a1a3f81fc125f88d3e7cb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 3 15:14:18 2000 +0000
+
+ update to GL_MESA_trace extension enums
+
+commit 8e4fa8c3e690ef106c3ec8944b9202716fb1e193
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 3 15:10:04 2000 +0000
+
+ MESA_trace extension (Loki)
+
+commit 44bd53f2599b5045133a185091fbf9d8c7696905
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 3 15:01:38 2000 +0000
+
+ added GL_MESA_packed_depth_stencil extension
+
+commit fcb23bbd6ecd5e773d98e80b830a486787fa095a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 3 14:58:45 2000 +0000
+
+ GL_MESA_packed_depth_stencil extension spec
+
+commit 75d7425061a2ce70c1f81d730446ba510fbdffa3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 3 01:37:10 2000 +0000
+
+ added some missing backslashes
+
+commit 5f5632c42497f2784fbae23fd3bc11c9e326597a
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Fri Nov 3 00:09:31 2000 +0000
+
+ Change transformation from ortho to perspective so we get the MGA elt
+ path by default.
+
+commit 861eb8eb16b1e6e527e09a2c31d460d955f771db
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 1 16:02:52 2000 +0000
+
+ update for separate libOSMesa.so lib
+
+commit 563d26b247395c1eaf0780a2b7536c52ceea9cc1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 1 16:02:01 2000 +0000
+
+ print number of texture units
+
+commit b35ec1ca05faa7dc83cd2791392b3115c8f96fc6
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Wed Nov 1 15:53:02 2000 +0000
+
+ Committing in .
+
+ Modified Files:
+ Mesa/src/descrip.mms
+
+ Updated Makefiles for VMS
+ ----------------------------------------------------------------------
+
+commit 9f568e512f54b452a4c533b766b40ad2e64446bc
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Wed Nov 1 03:14:12 2000 +0000
+
+ Added trivial CVA test for testing HW driver fastpaths, good for testing
+ indexed vertex buffer implementations for instance.
+
+ Cleaned up Makefile to make building and adding more tests easier.
+
+commit acdb6db846de9f3dcf97ab918e2d89781f238592
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 31 23:11:06 2000 +0000
+
+ Always call Driver.SetReadBuffer() in copy pixels functions, just to be safe
+
+commit fda3b1a4b18c917f15fe9aa2b83f166a2fa9d24b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 31 20:41:06 2000 +0000
+
+ added comment explaining why the demo is flawed
+
+commit 724abeb058ca9372c5a9b9e38ee43dde1accaa41
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Oct 31 18:09:44 2000 +0000
+
+ Moved the software rasterizer to a new directory.
+
+commit e3a051e0538a605551f4d58294c94f5eb00ed07f
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Oct 31 18:00:04 2000 +0000
+
+ Moved software rasterizer functionality to new directory.
+
+commit 6e0f0f51e0371688a434ed65c4ae0da1b061a4b5
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Oct 31 12:40:57 2000 +0000
+
+ Remove dead code in FX driver.
+
+commit 039bf534aaeb618d458938b4ce3b2edeadcfb7f3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 31 01:20:06 2000 +0000
+
+ removed debug printf
+
+commit efeddebe814c04d2c7f43f66bb9a77a4388fa842
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 30 22:38:55 2000 +0000
+
+ big overhaul of the demo, works better now
+
+commit 365dc68c3978de3c28e61d4c7151aece219694d7
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Oct 30 18:50:42 2000 +0000
+
+ Rearrange VERT_* flags to support 4 texture units.
+
+commit 9499e017b7e05411a32b3e4fa94885eaec0d7277
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 30 16:32:42 2000 +0000
+
+ Removed UPDATE_IMAGE_TRANSFER_STATE, use _NEW_PIXEL flag instead.
+ More minor GLchan changes.
+ Silence some compiler warnings in cva.[ch]
+
+commit caef4a35d602669f742524757bef3c63f0c164a8
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Oct 30 16:30:56 2000 +0000
+
+ Removed references to gcc's __FUNCTION__ macro.
+ Removed dead file fog_tmp.h
+
+commit 6ad2c5b59aff29d28029bffe9d34ac73cdcb8079
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 30 16:27:21 2000 +0000
+
+ set *t->flag = enabled in gl_extensions_add(), otherwise, extension booleans weren't set
+
+commit 69676ac379cf14ffa84c7cc486689089cf8bdbfb
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Oct 30 16:00:42 2000 +0000
+
+ test cvs commit logging
+
+commit a96308c37db0bc0086a017d318bc3504aa5f0b1a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Oct 30 13:31:59 2000 +0000
+
+ Replace the flags Mesa was using for ctx->NewState with a new set
+ based on the GL attribute groups.
+
+ Introduced constants describing the circumstances under which some
+ key derived values can change:
+ _SWRAST_NEW_RASTERMASK -- ctx->RasterMask
+ _SWRAST_NEW_TRIANGLE -- The software rasterizer's triangle
+ function
+ _DD_NEW_FEEDBACK -- the 'DD_FEEDBACK' bit in ctx->TriangleCaps
+
+ These are helpful in deciding whether you need to recalculate state if your
+ recalculation involves reference to a derived value.
+
+commit a4575499679d9d91055a35c7673b81872ec127cb
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Mon Oct 30 08:39:38 2000 +0000
+
+ Committing in .
+
+ Modified Files:
+ Mesa/src/X/xm_api.c
+
+ included macros.h
+
+ ----------------------------------------------------------------------
+
+commit 193005393d6b1422ad9084f8e71004f4f055b88f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 29 19:02:23 2000 +0000
+
+ renamed Current.ByteColor Current.Color
+
+commit ebb248aa5c018dc676d389221d76ed329059789e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 29 18:23:16 2000 +0000
+
+ more minor header file re-org (moved CONST, ASSERT, INLINE to config.h)
+
+commit 699bc7b73d2fede77d3290f66c1ec355afd0373e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 29 18:12:14 2000 +0000
+
+ More GLchan color channel changes.
+ Some header file re-org:
+ Move matrix, vertex buffer structs to types.h to fix #include mess.
+ Remove typedef, extern declarations from config.h
+
+commit c893a015d8a50a38cd3f727d99835e7e7e2ccea9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 28 20:41:13 2000 +0000
+
+ New colormac.h file for color-related macros.
+ Lot's of clean-up in macros.h and mmath.h
+
+commit ba643a2094a1e844b6ce60f468057057557859ce
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 28 18:34:48 2000 +0000
+
+ Basic work to support deep color channels:
+ Replace GLubyte with GLchan
+ Replace 255 with CHAN_MAX
+
+commit a897b335bec7465ab688ef369c75b468b7251b05
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Oct 28 11:42:12 2000 +0000
+
+ Do per-pixel fog when GL_FOG_HINT is GL_NICEST.
+ Fix scaling bug in per-pixel fog calculations.
+
+commit 1aa958bc9cbca2d2274124d131968b51ee72d7ed
+Author: Jon Taylor <taylorj@ggi-project.org>
+Date: Sat Oct 28 10:02:44 2000 +0000
+
+ Lots of misc. bugfixes to bring GGIMesa in sync with the latest Mesa sources.
+
+commit 1c4b3f4dfbd71dfd0d414ecad1499bf44d31a919
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 27 18:38:35 2000 +0000
+
+ restored test for __alpha in _mesa_win_fog_coords_from_z()
+
+commit 7dd57a48e1cd637c8f04178a867ad642d2447f54
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 27 18:32:55 2000 +0000
+
+ added info about GL_EXT_secondary_color and GL_EXT_fog_coord
+
+commit a14cbff8e5b30539d8fdc3497a0e128992efa6c9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 27 18:31:21 2000 +0000
+
+ Enabled GL_EXT_secondary_color. Fixed a bunch of typos in the dlist.c
+ and state.c file for plugging those functions into the dispatch table.
+ Don't use Mesa 3.5 for DRI until SGI approves the new dispatch offsets.
+ Commented-out references to ctx->FogMode and VB->Specular in FX driver.
+ Minor clean-up in extensions.c
+ Removed unused prototype in fog.h
+
+commit fe5d67d95f3a5fc84c5421d409a6464642aaf2cb
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Oct 27 16:44:40 2000 +0000
+
+ Implement EXT_fog_coord and EXT_secondary_color.
+
+ EXT_secondary_color is disabled until we get some dispatch offsets from SGI.
+
+commit ba58a6665f21319a636ec4c09f7f592fbc8e36b5
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Fri Oct 27 02:49:17 2000 +0000
+
+ Change animated apps to double-buffered visuals by default.
+
+commit b4df56fcd9e8e7ac8d9f585daf90ac2f246fa508
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 26 21:48:18 2000 +0000
+
+ added GL_BGR case to bytes_per_pixel()
+
+commit 7460cfabbc637bf23002aaf57e0c8a484633f7e8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 26 19:36:14 2000 +0000
+
+ removed X86/*.m4 files from tar archive
+
+commit 66202b75d561b2275022bea8b5936a7482c1c315
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 26 19:26:18 2000 +0000
+
+ clarified meaning of DEFAULT_SOFTWARE_DEPTH_BITS value
+
+commit 7ceffd0e0d52da8b0396b795e7e1395a7a8e3424
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 26 15:32:54 2000 +0000
+
+ fixed value for GLU_NURBS_MODE
+
+commit 27a26bfc4b7f24710e43b78e7e2539ebe414222c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 26 15:26:14 2000 +0000
+
+ added a glFinish() call
+
+commit 21d073d55ad668494fa19977fe06369194eb1ec5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 24 02:53:18 2000 +0000
+
+ added incomplete() debug function/macro
+
+commit 9a4a958a5c45024abeb5ec97419362c05c8b76ac
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 24 01:13:58 2000 +0000
+
+ signal NEW_TEXTURING if there's a Driver.BindTexture() function
+
+commit 6cdf09749c31423b0237c2a4fa493944301b21af
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 23 23:32:22 2000 +0000
+
+ Put a white texel in each corner of each texture.
+ Draw polygons using the texture's aspect ratio.
+ The tdfx-3-0-0 texcoord bug is obvious with the -randomsize option.
+
+commit 0448488e1128e39520cd20182c7abcccdacb5120
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 23 20:06:36 2000 +0000
+
+ added idle() func, enable fog by default
+
+commit 5a501fbd093080e213b686be1b44b375b4c72a25
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 23 19:46:11 2000 +0000
+
+ added libOSMesa.so info
+
+commit 5bb27edac0075ed3142559bee2287e51312a81cb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 23 19:43:36 2000 +0000
+
+ generate separate libOSMesa library ala XFree86/DRI
+
+commit edda9ae9fba24cf79ded32f49553db9281559022
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 23 19:33:55 2000 +0000
+
+ fixed 386/x86 mismatches, reordered a few configs
+
+commit ac018f5494dad2af008a4a64e9c5648b3ec2fcaa
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Mon Oct 23 00:20:50 2000 +0000
+
+ Major audit of all Mesa's x86 assembly code. This round is basically
+ general cleanups - more to come.
+
+ Added P6 architecture timing to debug_xform routines. Still need to add
+ test_all_vertex_functions test for the v16 asm. Dynamic reconfiguration
+ of counter overhead for more accurate benchmarking.
+
+ Removed redundant x86 assembly build options, replace with linux-x86 and
+ so on. This will build all x86, MMX, 3DNow!, SSE etc assembly into
+ libGL - preferred over many different options to include some but not
+ all assembly code. Note that linux-3dnow and linux-katmai options have
+ thus been removed.
+
+commit fc2427e81b1c648550d0368652d6a475df785027
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Mon Oct 23 00:16:28 2000 +0000
+
+ Major audit of all Mesa's x86 assembly code. This round is basically
+ general cleanups - more to come.
+
+ Added P6 architecture timing to debug_xform routines. Still need to add
+ test_all_vertex_functions test for the v16 asm. Dynamic reconfiguration
+ of counter overhead for more accurate benchmarking.
+
+commit e188b6e1f1d1e5e72985fdc3d69d26eeab26e987
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 21 04:29:02 2000 +0000
+
+ added a proper idle() function
+
+commit eb326f5f01ed2d904e23ada533b92d5570beafee
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 21 01:29:12 2000 +0000
+
+ fixed a texture enable bug
+
+commit d0d7d62120d7448924655c4683bab6bd5667256e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 21 00:02:47 2000 +0000
+
+ polygon offset changes; added Visual->MRD field
+
+commit d475730357ff1595470fbe9856b2c88ad0a771ca
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 20 19:54:49 2000 +0000
+
+ Changes for multitexture > 3, code clean-ups.
+ Added GLboolean ctx->Texture.MultiTextureEnabled to determine when
+ multitexture is enabled. Eventually ctx->Texture.ReallyEnabled may
+ become a boolean.
+
+commit a2d2aed64aebcce9cb3aa777628bc14a08f595aa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 20 17:26:57 2000 +0000
+
+ use 1.1 glPolygonOffset instead of glPolygonOffsetEXT
+
+commit 9c7ca850fdc35afa75512db70d14a14ebf162d8c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 19 20:13:12 2000 +0000
+
+ Rewrote get_static_proc_address(). It made mistakes in some situations
+
+commit a5b66333fb1f6c60332d49be62cf15071a7b633a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 19 20:09:47 2000 +0000
+
+ glPixelStore(GL_PACK/UNPACK_SKIP_IMAGES) wasn't handled correctly
+
+commit 9f0bb59c53f1413531ca679e7d3516bf8d30cae3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 19 18:17:19 2000 +0000
+
+ call Driver.SetReadBuffer() in clear_color_buffers() to fix colormasked clear bug
+
+commit cc50ed60b374e126a85919f20a3c3a033e558aca
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 19 18:08:05 2000 +0000
+
+ improved blending accuracy to fix Glean test failures
+
+commit 6aafd2491c17a92a2fea1de82a7f05307689adfe
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 18 15:14:48 2000 +0000
+
+ GL_MAX_TEXTURE_UNITS_ARB is now 3
+
+commit ce938b307e5dcd06a03baf60903c2ecd682cd8d5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 18 15:02:59 2000 +0000
+
+ More fixes for MAX_TEXTURE_UNITS > 2. Seems to work now.
+ Misc code clean-ups, minor bug fixes.
+ MAX_TEXTURE_UNITS now defaults to 3.
+
+commit d3672166787028857ea51ad9570cab7e173898c3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 17 00:42:02 2000 +0000
+
+ ported render begin/end calls from Mesa 3.4
+
+commit 1873b567b28a3e3f4d94d0eacb27ffd235ec9529
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 16 23:43:12 2000 +0000
+
+ added _mesa_get_teximages_from_driver()
+
+commit 1100b4daa30ba6604a4d01aa6d46780dd8ef256b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 16 21:24:39 2000 +0000
+
+ use gray background, memset TempImage to white to help with debugging
+
+commit 35324a6c60cedf217934db1a7a0c11a7f553d2d4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 9 22:42:40 2000 +0000
+
+ if depthBits == 0, set DepthMask = 2^16 to fix per-fragment fog problems
+
+commit 1791901468a4eea3cc1a9c9f3a6c4913ff8a35eb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 5 23:10:42 2000 +0000
+
+ update TriangleCaps in GL_POINT/POLYGON_SMOOTH cases
+
+commit fdf2033bdae7279f4c36b1fab05ef36a656d4395
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 5 21:57:00 2000 +0000
+
+ brighter colors
+
+commit 2c7e6334ec81c2fab2cce9e0fe52cd30256e37ea
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 5 17:38:21 2000 +0000
+
+ better handling of GLX_DEPTH_SIZE in glXChooseVisual()
+
+commit fa849a0e1622039bf66ef2b7506669aba8d77d91
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 5 16:22:22 2000 +0000
+
+ drawing color-index image to RGB window was broken
+
+commit 55590ee810a493f151299d70d0defa7cbae041a2
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Thu Oct 5 07:17:43 2000 +0000
+
+ Committing in .
+
+ Modified Files:
+ Mesa/demos/paltex.c
+
+ Silenced compiler warnings
+
+ ----------------------------------------------------------------------
+
+commit 476609c539103c7981c972f24d4eaea499894050
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 4 18:15:39 2000 +0000
+
+ improved to test alpha blending with texture palette
+
+commit 16eb23a0cb0edfede3968c0e938f533b9abe885c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Oct 2 15:45:12 2000 +0000
+
+ more work to support N texture units
+
+commit 22f1ca0131fef434473b95b1dc3a2bec43376992
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 30 18:48:33 2000 +0000
+
+ textured line test
+
+commit 9c05c0494d06dcf429d8489107be49e339305690
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 30 18:42:29 2000 +0000
+
+ support for N texture units
+
+commit 4f66498304674aa2e016267e4d6c4b878c3ad1e5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 29 23:09:39 2000 +0000
+
+ added fps output
+
+commit e92dd16605dbad8dbf374ca40b8440ef4034a5d4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 29 16:58:44 2000 +0000
+
+ generalized support for N texure units
+
+commit eb6c6439ae23e47b79b72f3737b6d0d14e1f9f26
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 28 22:44:30 2000 +0000
+
+ removed ctx->Texture.Enabled, use ctx->Texture.ReallyEnabled instead
+
+commit 37a6211795cfd0a4431bdb7c676acf54f29df994
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 28 18:30:39 2000 +0000
+
+ new params for SpecificCompressedTexFormat() (Bill White)
+
+commit 574c456a5ac6ca13f293a2884c3a90fd28edd4e1
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Wed Sep 27 10:59:15 2000 +0000
+
+ Committing in .
+
+ Modified Files:
+ Mesa/src/descrip.mms
+
+ inserted imports.c
+ ----------------------------------------------------------------------
+
+commit f142a0830a76b7ba473ad76bf312405fe726a1cc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 27 03:30:49 2000 +0000
+
+ include types.h
+
+commit 643be9541689e23e7ffcf79f5b0e4f9433bba9be
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 26 21:28:39 2000 +0000
+
+ renamed gl_copy_context to _mesa_copy_context
+
+commit 6542324cb0985697716293ce9b61c7260c8c55cb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 26 21:22:20 2000 +0000
+
+ added imports.c
+
+commit b1394fa92aaaf859ce9efc8b5fc194397921320c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 26 20:53:53 2000 +0000
+
+ First batch of OpenGL SI related changes:
+ Renamed struct gl_context to struct __GLcontextRec.
+ Include glcore.h, setup GL imports/exports.
+ Replaced gl_ prefix with _mesa_ prefix in context.[ch] functions.
+ GLcontext's Visual field is no longer a pointer.
+
+commit 3b18a36f210da9d66acd1228d24948cd77c2e81e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 26 15:27:20 2000 +0000
+
+ Replaced preprocessor symbol GL_MESA_TRACE with MESA_TRACE.
+ Changed src/Makefile.X11 to compile Trace sources like other drivers.
+
+commit 63c113a31be2de3a53f38aab622565308d9724b9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 26 15:25:01 2000 +0000
+
+ use GL_NEAREST texture filter
+
+commit 423f2b28845dc8cc93c16a4608d6e19b6b059e6f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 25 16:03:59 2000 +0000
+
+ added GL_ARB_texture_env_add
+
+commit b9b329d1e536896368f7035086bca62b98fd43e9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Sep 24 16:11:55 2000 +0000
+
+ removed unused display_list struct
+
+commit 5e0bb98abd76cdad67ed430c257b76e0d3673658
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Mon Sep 18 22:49:04 2000 +0000
+
+ Added SSE streaming store instructions, external symbol directives.
+
+commit 5aa1c1cd5fb9259b59709255f6c6635d1fa4d9cb
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Mon Sep 18 16:57:16 2000 +0000
+
+ Added SSE prefetching instructions. General cleanups.
+
+commit 1c56fdc7072c040de68868748dc2d03c58f5ee22
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Sep 17 21:56:07 2000 +0000
+
+ new comments, misc clean-up
+
+commit f3c399ec11947add49d3a5e9d36d93ff6b45d93e
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Sun Sep 17 21:12:40 2000 +0000
+
+ General cleanups. Disable gl_katmai_project_vertices and
+ gl_katmai_project_clipped_vertices for now as they are broken.
+
+commit 345a71a9cb516ba7df775b4c8f6c1655e4f20d8c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 15 23:59:46 2000 +0000
+
+ set default window pos, changed 4 to GL_RGBA
+
+commit 4ed1d0b2c0c30c0b415cbf78aa90f334da91f543
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 15 19:57:51 2000 +0000
+
+ added some missing const keywords in GetString
+
+commit 1ff933b4522b7be7d08e015f9e792eea5b53cd5f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 15 19:45:40 2000 +0000
+
+ added GL_MESA_trace support
+
+commit 98b3dd40f7969ace61654a5b57366db923502dcb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 15 19:45:00 2000 +0000
+
+ Added GL_MESA_trace extension (Loki)
+
+commit 771b97552864226bd2390e48c0443d2d1f0c9a43
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 15 19:44:39 2000 +0000
+
+ added trace support (Loki)
+
+commit 4360bd7c76a2c972da761fb82913f88e014a8edf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 15 17:04:35 2000 +0000
+
+ removed unused struct display_list_compilation
+
+commit cefc42f1ba2efbd75a6f9b25dc777665b26ac158
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 15 16:43:57 2000 +0000
+
+ added FPS calculation
+
+commit 008e4e7e3912fd9d05aba8e75b47e86bdd8b8ef7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 15 15:55:24 2000 +0000
+
+ added more warning options to linux-elf-debug config
+
+commit 0e52184c48f47023a5d28167a99ee3651bd7af6e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 15 15:54:25 2000 +0000
+
+ moved DECLARE_XFORM_GROUP macros outside of gl_init_3dnow_asm_transforms() to silence compiler warnings
+
+commit f7a4bcaf7970c18ad2ca1d1714babbc307775e70
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 15 15:42:45 2000 +0000
+
+ use cpml.h on Alpha (AlanH)
+
+commit 64a23a0f9c6a08f6118f6488c191a079c43245a2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 14 23:13:51 2000 +0000
+
+ updated comments
+
+commit 23316033db12a4d0df10a7d9dbe51b409856a3ac
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 14 23:13:23 2000 +0000
+
+ explicitly init some texture vars
+
+commit ae18872bc70df370cd6790e7bdd23f2befd14930
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 13 23:01:52 2000 +0000
+
+ added cursor key info to instructions
+
+commit a94ee16534539febc91d81374ca342deab64142a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 13 22:07:20 2000 +0000
+
+ replaced GL_RGBA with GL_BGRA for GL_UNSIGNED_SHORT_1_5_5_5_REV datatype
+
+commit 881ec9ee6740b509e59cdcf0344c5b73f3f6fa8a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 12 21:10:25 2000 +0000
+
+ packing of GLushort packed types was broken
+
+commit 8d4bd87c1ad8db33b7cb7eae309abf36f14986d8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 12 21:09:24 2000 +0000
+
+ added format/type error check to draw_rgba_pixels()
+
+commit e4b684ce49188f906ff032e2df7675257143ec21
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 12 21:07:40 2000 +0000
+
+ init mutex
+
+commit d49b34a233628a476b87dd2e2609405d76ac8866
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 12 18:44:45 2000 +0000
+
+ better FPS calculation
+
+commit b8cc1508362ccad0182d838faa3c4079632cd7fb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 12 17:58:27 2000 +0000
+
+ terrain demo data
+
+commit 4df1f7c7ba9fe52de6c13e3290df831d1eb245c9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 12 17:38:22 2000 +0000
+
+ better fps computation
+
+commit 82cfcfa63a7823a97c368c26e049926044abf89b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 12 17:03:59 2000 +0000
+
+ added some casts (Takaaki Nomura)
+
+commit b9466fca3e5e9c2b46f6588e580a92e7e703d15d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 12 15:46:43 2000 +0000
+
+ Win32 updates (Chris Morley)
+
+commit 8f39dd1e620345ae3d2a422ef8e38025addf3349
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 12 15:41:46 2000 +0000
+
+ Win32 update (Chris Morley)
+
+commit 038573aae7c38e15c13cee8e1876e7674bd2e630
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 11 18:49:06 2000 +0000
+
+ Removed immediate struct's maybe_transform_vb pointer.
+ Call _mesa_maybe_transform_vb() directly.
+
+commit b506d8753d8d758d5c47c0a65d94d784555fd7fe
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Sat Sep 9 07:05:32 2000 +0000
+
+ Committing in .
+
+ Modified Files:
+ Mesa/src/descrip.mms
+
+ Corrected a typo
+ ----------------------------------------------------------------------
+
+commit 9a2da667f3002a888238ef0576a077f01551fe78
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 8 22:39:09 2000 +0000
+
+ added Dither, NEW_DRVSTATE info
+
+commit 399ae35ac64bd02a294d5db894b70def4eed0aa8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 8 22:07:29 2000 +0000
+
+ removed unused NEW_DRVSTATE flags
+
+commit 9d3e5db9fc17643e8dfe0f85d38bf5718aca9b97
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 8 21:45:21 2000 +0000
+
+ added dither key option
+
+commit 7f7b205259b228f81442f89e8318829737b08db6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 8 21:44:55 2000 +0000
+
+ removed ctx->Driver.Dither function
+
+commit 48c6a6ecd2b94d73317f1579193d98101566217a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 8 21:28:04 2000 +0000
+
+ changed gl_frame_buffer Xmax and Ymax to be exclusive boundary values
+
+commit e18e0e98fea2384892324c84bf463d65c1159f7b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 8 16:42:44 2000 +0000
+
+ added OSMesaCreateContextExt item
+
+commit 46dbaec56af26bbb76e275fb08febeded908fc41
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 8 16:42:06 2000 +0000
+
+ Use OSMesaCreateContextExt() if using Mesa 3.5 or later
+
+commit 2bf5d9470d3232763cb49b5589209940d4d5398d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 8 16:41:38 2000 +0000
+
+ added OSMesaCreateContextExt()
+
+commit 8ad306baf6b9cbc956dfba9ae11af2b1d45c8788
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 7 15:46:05 2000 +0000
+
+ added device driver changes
+
+commit c4c639c9a46967678725370cb9824031a068633c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 7 15:45:26 2000 +0000
+
+ Removed ctx->Driver.LogicOp().
+ ctx->Driver.Index/ColorMask() now return void.
+ Removed SWmasking and SWLogicOpEnabled variables.
+ LogicOps and color/index masking are no longer special-case device
+ driver functions. The Xlib driver was the only driver that used
+ them. Things are more uniform now.
+
+commit 18f73b622ffa1d1cebea5556b9ebe53a9adc31ac
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 7 15:42:38 2000 +0000
+
+ added xmesa_update_span_funcs()
+
+commit 16c3ea9459c327c4bf357d7d719fbc84710312b6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 7 15:42:13 2000 +0000
+
+ renamed Xlib driver files
+
+commit 693f81be4c16bcec4e017e9b3189f518d157d85f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 7 15:40:30 2000 +0000
+
+ newly organized Xlib driver files
+
+commit 38d3f3d660225150715bc06f6b33e394ba803299
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 7 15:38:49 2000 +0000
+
+ added device driver function for texture proxy testing
+
+commit 724f2939f4cf351dba37a8d80e1a01fdcf07f3c2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 6 17:44:52 2000 +0000
+
+ silence compiler warning (zoomY0)
+
+commit afa61173a86166cd0ea3389c6f5b4c617789afb7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 6 17:34:41 2000 +0000
+
+ test for __bsdi__ for XFree86
+
+commit 37cfb3b5c27e1965dc089e37065750e4845b2d49
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 6 17:33:40 2000 +0000
+
+ replaced ## with CONCAT macro
+
+commit f96ce6a707979cbece10cd42f8b03a25d26cac65
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 6 15:15:43 2000 +0000
+
+ oops- forgot convolution for glGetTexImage. Done now.
+
+commit c52fc9b49cbd6158da9e96ccd57a38197293a3e0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 5 22:11:38 2000 +0000
+
+ passing proxy targets to glGetTexImage() should generate GL_INVALID_ENUM
+
+commit 9c27278acfb786c8f2fc591eef9ed0c25135bcf0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 5 22:04:30 2000 +0000
+
+ use clear_proxy_teximage() instead of MEMSET()
+
+commit f75d697c0319e43ac15b42c8bbd5e956286c7005
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 5 20:28:56 2000 +0000
+
+ GetConvolution/SeparableFilter() now finished
+
+commit 45f3634ce3e48ff891432c4f22b3e9e0d68d4c7a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 5 20:28:06 2000 +0000
+
+ added tracing facility from Loki
+
+commit 3a71d05e538c24b23fbe356295e2096f8bb692d1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 5 20:17:37 2000 +0000
+
+ added tracing facility from Loki
+
+commit dca39e89119b8c2c35831ee745b2ff7da3bf11ba
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 5 15:41:25 2000 +0000
+
+ added const to _mesa_select_tex_object()
+
+commit 01e54753ff2bc1831359b04a1906f462d39f33e1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 5 15:40:34 2000 +0000
+
+ Fixed bug in fill_texture_image(). Clean-up in _mesaGetTexImage()
+
+commit bc6f07856f64a285cc36e20d4e2a6aba52307f4a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 2 17:54:28 2000 +0000
+
+ added convolution, ARB_imaging items
+
+commit 513d486e75a15733729a17e4d3e0f8a164f54242
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 2 17:52:53 2000 +0000
+
+ enabled GL_EXT_convolution and GL_ARB_imaging
+
+commit a805bb969199a0f2a5ca7224898a87112ccd2177
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 2 17:52:21 2000 +0000
+
+ finished convolution
+
+commit bfc6ee1b1371605af434cc411b6e0cc9e987f95b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 1 22:01:12 2000 +0000
+
+ destBytesPerRow was uninitialized in make_texture_image()
+
+commit e8a84a93aab544f1e47398c43facd0ed1378faa3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 1 21:01:18 2000 +0000
+
+ initial check-in
+
+commit bed573586edb3abaf0a999d6ff4a665cc5ec0cc5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 31 23:04:17 2000 +0000
+
+ added new extensions
+
+commit 328cb0b512a9abfdab7932810552373c8eb56d37
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 31 23:04:03 2000 +0000
+
+ added Glide3 bug fix info
+
+commit b3fdfa1246c86c051516f3abb94902a79b24ce4a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 31 22:32:45 2000 +0000
+
+ fbiRev and tmuRev weren't getting initialized when using Glide3
+
+commit 15915b03d06a34d103666235f346f1c81fb3e665
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 31 22:08:04 2000 +0000
+
+ added more resolutions (Andy Sloane)
+
+commit 5a0d3dc7b39c041a373cb0389bc3563c87ff6c81
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 31 15:24:39 2000 +0000
+
+ convolution for glTexImage[123]D now works
+
+commit b92d64e150a3b1389f5a4b6cbfe57425a77f24bf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 31 15:24:07 2000 +0000
+
+ renamed some variables
+
+commit f93b3dd69e744cf1dd6b102a11cdb07c2df4a967
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 30 18:22:28 2000 +0000
+
+ more convolution work
+
+commit 116970154dc3bb148178e1a9fe38554fbbd133c8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 30 18:21:37 2000 +0000
+
+ added _mesa_pack_float_rgba_span()
+
+commit 8e053916c8052b47c191f68991c126f47c72c3f3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 30 18:21:06 2000 +0000
+
+ added more extensions testing code
+
+commit 289d47eee5342bd7ec1c25a29d9bdc8d6f9dc4ed
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 29 23:31:23 2000 +0000
+
+ finished compressed texture support (Bill White)
+
+commit 148fb313c5cd60cc2920e2c91fc9d632252a62f8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 29 23:30:53 2000 +0000
+
+ added MESA_FF_R8_G8_B8 (alpha filled to 0xff) format
+
+commit e8e20ae5982c71b2142f4b37c3926682e1f96998
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 29 21:17:38 2000 +0000
+
+ changed default Shininess to 6
+
+commit 8aee2a3326a5a634df865c50b9f2331744a4c6fc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 29 18:57:58 2000 +0000
+
+ don't free ctx inside _mesa_initialize_context() if error, caller does that.
+
+commit ef9025a641624991113b7df2eecdf7c8e330a31c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 29 14:25:30 2000 +0000
+
+ updated some comments
+
+commit 5d3a95714c7a5ba6c04c832972c4ad83e53c7e26
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Thu Aug 24 08:48:27 2000 +0000
+
+ Committing in .
+
+ Modified Files:
+ Mesa/demos/descrip.mms
+
+ One forgotten file for VMS to support /name=(as_is,short)
+
+ ----------------------------------------------------------------------
+
+commit cf8eebee075e3f69c3daa4ea88994e07527055e4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 23 14:33:04 2000 +0000
+
+ added convolve.h header
+
+commit 732dd6f4173917ca1e21901b9c3fa29dbd5f019f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 23 14:32:06 2000 +0000
+
+ enabling 1D convolution caused a problem
+
+commit 147b08328a2ccb0c1150feaf7871037683236e33
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 23 14:31:25 2000 +0000
+
+ moved convolution API functions to convolve.c
+
+commit 7e70874420266fb81bed13c8464ee4c0309d75b2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 22 18:54:25 2000 +0000
+
+ finished separable filter functions
+
+commit b5b5c52034840dbfcd3f76a9e7cde8b379e7d517
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Tue Aug 22 13:31:00 2000 +0000
+
+ Committing in .
+
+ Modified Files:
+ Mesa/include/GL/glx.h Mesa/include/GL/xmesa.h
+ Mesa/src/descrip.mms Mesa/src/X/glxheader.h
+ Mesa/src/X/xfonts.c Mesa/src/X/xfonts.h
+ Mesa/src-glu/descrip.mms Mesa/src-glut/capturexfont.c
+ Mesa/src-glut/descrip.mms Mesa/src-glut/glut_cmap.c
+ Mesa/src-glut/glut_event.c Mesa/src-glut/glut_fullscrn.c
+ Mesa/src-glut/glut_gamemode.c Mesa/src-glut/glut_init.c
+ Mesa/src-glut/glut_input.c Mesa/src-glut/glut_menu.c
+ Mesa/src-glut/glut_menu2.c Mesa/src-glut/glut_overlay.c
+ Mesa/src-glut/glut_win.c Mesa/src-glut/glut_winmisc.c
+ Mesa/src-glut/glutint.h Mesa/src-glut/layerutil.h
+ Mesa/vms/analyze_map.com
+ Added Files:
+ Mesa/include/GL/vms_x_fix.h
+
+ Patches effective on VMS only. This allows for compiling with
+ /name=(as_is,short). This breaks the binary compatibility with previous
+ versions for VMS, but is the only way to combine Mesa with GTK for VMS.
+
+
+ Jouk
+ ----------------------------------------------------------------------
+
+commit f4f4dab25a6c52d403a0b19ab28b443cda8f5730
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 21 21:05:39 2000 +0000
+
+ changed quad vertex colors to be tessellation invariant
+
+commit 043654bbfbee4f30d7596090cb00681b5972725c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 21 20:04:55 2000 +0000
+
+ print UNDEFINED MODE over samples that are undefined in the GL spec
+
+commit 9b61162d431ecf4944f6390f7df46765a839a2d1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 21 14:26:01 2000 +0000
+
+ use ImageTransferState
+
+commit 3f8a70e5dde42ea30bc7d3ab02e3cd5c2b0cc3d6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 21 14:25:25 2000 +0000
+
+ added convolve.c to file list
+
+commit a6d46f6b9922327fe9a268b003134a27ba8b931f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 21 14:24:53 2000 +0000
+
+ increased max convolution filter size
+
+commit d4b799b60c693ecebbbdcdb3fd6931a78b7a0e30
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 21 14:24:30 2000 +0000
+
+ more convolution work, not done
+
+commit 46e8a513837ae8af03c2e69bf81dba5ae80eebfe
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 21 14:24:10 2000 +0000
+
+ basic glDrawPixels convolution implemented
+
+commit 6339e621f5351e4677c5139bd91fefe6d65ef502
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 21 14:23:09 2000 +0000
+
+ fixed image transfer errors
+
+commit fa4525e289b475b928a7b2c4055af9dd7fe46600
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Aug 21 14:22:24 2000 +0000
+
+ implemented new ImageTransferState bitmask
+
+commit b1097f24a8410b623deb52069ad7e66bae35944c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 16 20:51:53 2000 +0000
+
+ optimized glDrawPixels for glPixelZoom(1,-1) (Andrew Gee)
+
+commit e716184cae80d8e3b66017e237d68120b6071b53
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 16 20:36:34 2000 +0000
+
+ added missing radius multiplication factor to sphere code
+
+commit 6f0294ca4706f5edc70c825a4efde860c7ffb7d2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 16 17:32:42 2000 +0000
+
+ fixed typo which disabled simple_DrawPixels
+
+commit e98276c8598969c101c1f4f5a908b6cc77758fd2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 16 17:26:06 2000 +0000
+
+ fixed some warnings (Alan H.)
+
+commit dff7924e25f83f18568b04aa3fe3f740314dde46
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Aug 13 03:57:21 2000 +0000
+
+ removed all dependencies on XMesa
+
+commit 094e2f1a67b522cc9e8d20add86d31b055e4a9e6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Aug 13 03:44:08 2000 +0000
+
+ fixed segfault problem when using MESA_GLX_FX
+
+commit 7aac6d6b8eea3fe364da0fff0904fdc668fa56ae
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 9 17:56:27 2000 +0000
+
+ fixed depth mask bug in fxddClear(DD_DEPTH_BIT)
+
+commit 8deec7bf5fa0a1d1a899bfaa3406a8bdfcbb2300
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Wed Aug 9 06:24:55 2000 +0000
+
+ Committing in .
+
+ Modified Files:
+ Mesa/src-glu/descrip.mms
+
+ Update VMS-makefile for "old" GLU
+ ----------------------------------------------------------------------
+
+commit 963946d3d7561c2bc7be2e0c739506b8d6d42815
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 8 16:20:32 2000 +0000
+
+ updated version to 3.5
+
+commit d4f6695a3e9db01ea8c1565fc4b078bf3dcc481a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 8 16:16:22 2000 +0000
+
+ bumped MESA_MINOR to 5
+
+commit 042066887b09f81435f96c2a14702355d05d8290
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 8 16:15:14 2000 +0000
+
+ added GetInteger/Float/Double/Boolean/Pointer device driver functions
+
+commit 507d83e4cc0eb2fbc4a5ce3b87ed0b40634df5a8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 3 14:03:17 2000 +0000
+
+ added NULL parameter checking to API functions
+
+commit ddf69f247fdb246b99ef6525fcfa6eda7b2e2aa7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 2 20:35:09 2000 +0000
+
+ updated Phil's email address
+
+commit 585d191ae70b12aa9eb190746e6945aaa605b9ab
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 2 20:29:03 2000 +0000
+
+ updates from mesa3d@billbaxter.com
+
+commit bd0f7f42d6413577b78c342ab2f73b8d05c81d2f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 2 20:16:03 2000 +0000
+
+ fixed return val bug in glAreTexturesResident()
+
+commit 6f173cafbdf4fe370b9d7b365e28ccbc12bc7844
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 2 20:14:23 2000 +0000
+
+ added include/GL/mesa_wgl.h to tar file list
+
+commit b8d907a9bbcde2615701d4d907d442a625b406ff
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 2 20:09:09 2000 +0000
+
+ updated by Alessandro Pisani
+
+commit ee2ef90b7fb992730a74a1fefe020de69a4006a3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 2 17:57:56 2000 +0000
+
+ test handling of lots of textures
+
+commit 769439a23dbfbd1ec8e1d6a1b2e852a848cc0000
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 2 14:08:48 2000 +0000
+
+ removed GLU 1.2 symbols
+
+commit 00277e836df1048eb39940e83d59cd3149a374a1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 2 00:41:21 2000 +0000
+
+ define GL_GLEXT_PROTOTYPES before including mesa_wgl.h
+
+commit 6d04725282f32cbd32acbc8b79294a2a056b2158
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Aug 2 00:38:25 2000 +0000
+
+ initialize texture priorities to 1.0, clean-up of _mesa_PrioritizeTextures()
+
+commit 390488d12ead1859b075caf80d337397d99436a2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Aug 1 17:33:53 2000 +0000
+
+ glGetTexParameter(GL_TEXTURE_RESIDENT) didn't query device driver
+
+commit 85dc4e7a773de62ea10e7c884c65909f192cf9bb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 31 15:31:29 2000 +0000
+
+ test against an epsilon magnitude in gl_rotation_matrix()
+
+commit 974e468e6d7773cd99d0299bf1616260a68a7386
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 31 15:27:11 2000 +0000
+
+ install glext.h too
+
+commit 6998c714581da64a0fac1594f29e77857c94e870
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 31 13:59:22 2000 +0000
+
+ added missing widgets-mesa/src/*.c files, updated version numbers to 3.5
+
+commit 5c8de84f5f30695052ef588c8369db26017cee2f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 31 13:58:04 2000 +0000
+
+ 3.5 release notes
+
+commit 1357249aa9cd29053d959d54ddae56c70c495d3b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jul 31 13:57:40 2000 +0000
+
+ added placeholders for 3.4 and 3.5 info
+
+commit 5d5b09cf7915ef6ec51ae0bf3f3cb06192412f96
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 21 16:36:35 2000 +0000
+
+ fixed glitches in zip file rules
+
+commit 14adbf467d0b9e28e760ba7f6866743b032f747c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 21 16:32:33 2000 +0000
+
+ imported from 3.2.1 release
+
+commit ebc22c032aef8e3ec5baf0b123932b45aa63de92
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 21 16:26:41 2000 +0000
+
+ lots of updates for 3.3
+
+commit d9772291ee0188c31ec62c3ec35383df4b060fcb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 21 16:26:28 2000 +0000
+
+ removed beta occurances
+
+commit 8b4738ca479d93fa7cd1c6c870c2c14ab80ea18d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 21 15:41:59 2000 +0000
+
+ added 3.2.1 info and final 3.3 info
+
+commit f7d503376fd4a832e6fee31993551ae3852b16b0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 21 15:41:08 2000 +0000
+
+ removed beta from version string
+
+commit c7d1444f9c12263239c148c97b61d9a22343f8d9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 20 20:12:17 2000 +0000
+
+ added GLX multi-thread demo
+
+commit cc70e78d65832ad532766d091e502bca3d56f31a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Jul 20 15:53:17 2000 +0000
+
+ fix for eval regression
+
+commit cf89b89be8f6d9f00b8dd571ad0b80af1b7c12a1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 19 23:57:24 2000 +0000
+
+ call glutInit()
+
+commit 206bd46e2b030a9e8a88eadbe770030cb50aee6d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 19 23:26:35 2000 +0000
+
+ a bunch of thread-safety changes
+
+commit 26f3b05fe56efc5a21996ee6b956efcc295be777
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 19 20:58:59 2000 +0000
+
+ initialize GenBit[STRQ] in init_texture_unit()
+
+commit d283df605eb7bdc4c519fff2701de350b94c6f4f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 19 18:34:00 2000 +0000
+
+ restore driver depth test enable/disable state in PopAttrib()
+
+commit 912ed380fe48a42b25fd279e2e948aca1e5a4c23
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 19 15:08:55 2000 +0000
+
+ removed two bugs
+
+commit a0faa7f0ec61ed1fc404b0cd88ab160e907b4a07
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 18 16:55:56 2000 +0000
+
+ Fixed off-by-one error in compute_shine_table(). Minor code clean-up
+
+commit 33e13e78e97a44b4bb0ff51c69a4029999ba8453
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 18 14:31:59 2000 +0000
+
+ added: touch widgets-sgi/depend
+
+commit 936d2407180007fa7540c04d1c437085ab2dbc3e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 18 01:30:36 2000 +0000
+
+ removed more redundant files from tar archive
+
+commit 1e8b5f539e2c76b0180de3a3a2a6a981b426f480
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 18 01:14:38 2000 +0000
+
+ removed redundant configure file from tar list
+
+commit fb0c3fccc0cf1566da4be6898f0056cd9edb3862
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 18 01:13:28 2000 +0000
+
+ changed version string to 3.2.1
+
+commit a62875d20e4eb1d83a4d2ae700f6118b3b5db8d2
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jul 17 12:53:33 2000 +0000
+
+ Fix for gloss and sgl eval bugs.
+
+commit d126c7f8d8ae16748a61ab4d05e3a59ee55c759f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jul 15 03:14:25 2000 +0000
+
+ another tweak to optimized GL_RETURN code
+
+commit 6fae9eb4b46ec0569b0ccad7c529fbcfd8b5f1cb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jul 15 03:13:43 2000 +0000
+
+ fixed AA sampling problem, misc clean-up
+
+commit 3284b5ddbae2792dd008c27bda55d2c7a18f3f24
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 14 14:55:04 2000 +0000
+
+ removed references to fx_regoff.h and fx_gen_regoff.c
+
+commit f19cba049d7af1824ddc0236e4ff1e910d6002a7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 14 14:04:07 2000 +0000
+
+ Fixed pixel color problem in general_flat_rgba_line(). Added debug code
+
+commit f8246e2fdad5180ce300ad1ff187c248d75c12ad
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 14 04:15:37 2000 +0000
+
+ added extra check to optimized GL_RETURN case
+
+commit 7eb0603574ebf36059a0813397398400221cc1e3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 14 04:13:40 2000 +0000
+
+ test for MESA_DEBUG = silent in gl_error(), misc clean-up
+
+commit 4bb651306c322f7be075a863684c205d8319a362
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jul 13 17:45:13 2000 +0000
+
+ replaced GL_CLIENT_ALL_ATTRIB_BITS with GL_ALL_CLIENT_ATTRIB_BITS
+
+commit cc8e37ffb393c892bbbf8850fef0e208c71d00f4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 12 13:00:09 2000 +0000
+
+ first bits of convolution code
+
+commit 96943544ba59a36aa83031837caffae772d299f9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 11 20:39:00 2000 +0000
+
+ allocate 1-larger knot array in explode_knot() (Mesa bug 104881)
+
+commit fb88eeee9f9dc759570a1d09ec9a262ae8c3b5c2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 11 16:05:29 2000 +0000
+
+ use indirect context, added error checking
+
+commit c4266ac71ec7e6b31dd965ee9dbbc201ed586fd2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 11 14:11:58 2000 +0000
+
+ reverted to old tessellator
+
+commit f88602394d7cc340cc850622308ce1cbbff332a5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 11 14:11:04 2000 +0000
+
+ reverted to old tessellator (GLU 1.1)
+
+commit f545e2aedde0d0c09c76a7e772b333163fddba17
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jul 10 13:22:01 2000 +0000
+
+ Fix for miscolored rects in display lists.
+ Forward-port stipple bugfix.
+
+commit bdce2d3a19aa1450bee5332b537a0098d4071c99
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jul 7 15:10:35 2000 +0000
+
+ test
+
+commit a6ec02924746e8af94e7d6480aaa3038396cf510
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jul 7 15:02:18 2000 +0000
+
+ test
+
+commit ad2ef3347f4158c873c572a50fff36b0dd7e9fb0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jul 7 14:59:32 2000 +0000
+
+ test
+
+commit 56c760668ad9d49744f412397c2e8204e18bef0c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jul 7 14:57:47 2000 +0000
+
+ test
+
+commit baf8bbe918ce1bd63d09b3039e962418ff3c4328
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jul 7 14:56:22 2000 +0000
+
+ test
+
+commit 9fbedc8773b034d9465c1aae5f7033ae36ba5da7
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jul 7 14:54:17 2000 +0000
+
+ test
+
+commit 1de8f11705df6e36cf41730ea17e7fb4f0b98059
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jul 7 14:50:20 2000 +0000
+
+ test
+
+commit a9c909df5be616b4b6fe60cee4fb56d89761de51
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jul 7 14:46:31 2000 +0000
+
+ test
+
+commit dd0b2b7f7152e8964c09518f64b74d3b53dbe7e8
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jul 7 14:44:38 2000 +0000
+
+ test
+
+commit 7c7de76f825f155feac3a8e87ad0267f2eed4ebc
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Jul 7 14:43:01 2000 +0000
+
+ test
+
+commit a38e117fe61efeee57adfb142296e213b6ca1ba0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 5 22:40:30 2000 +0000
+
+ changed MAX_WIDTH to 2048 to handle 2K textures
+
+commit 6479a175e4e633fa15075030b729553a5481c4cb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 5 22:26:43 2000 +0000
+
+ added texture cube map state save/restore
+
+commit 08b082ae1a7e718144615e4ed7f060f77c4aead7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 5 16:14:24 2000 +0000
+
+ Holger's fixes for GL_EXT_texture_env_combine
+
+commit ae01d0837dfcd691c833cb372d6ed8e22b467428
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 5 16:05:44 2000 +0000
+
+ added GL_ARB_texture_cube_mapping and GL_EXT_texture_env_combine
+
+commit 595fce04f6e3477a898d6634e51653d809fcb35b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 30 22:19:41 2000 +0000
+
+ added histogram sink test
+
+commit 6c50e16b3dfde581e23791f97697470e8f45d23d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 30 22:11:04 2000 +0000
+
+ initialize some color table scale/bias factors
+
+commit c29714dccb664562958cf36cdedee9c4377585d2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 30 22:09:47 2000 +0000
+
+ enabled GL_POST_CONVOLUTION_COLOR_TABLE
+
+commit 20df8f5f92d3c7f83fc2138ed67fe65b58648f23
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 30 14:14:37 2000 +0000
+
+ NeedEyeCoords if non-uniform scale transform
+
+commit fd9f740045f018ebde018ea073911faacdfb9f0f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 29 22:06:22 2000 +0000
+
+ fixed GL_ONE_MINUS_CONSTANT_ALPHA bug (geza)
+
+commit 86586aa6f9331ededba194b7f37ebfce7908f9c8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 29 18:55:52 2000 +0000
+
+ added GL_TABLE_TOO_LARGE to gl_error()
+
+commit 0dc5edf3ae86a868840796ac87b530e951339c5b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 29 18:54:29 2000 +0000
+
+ several colortable fixes
+
+commit f174cda80cc91da1893dd1c400f18561b760edd8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 29 14:31:31 2000 +0000
+
+ minor update
+
+commit c535ba5a10d068a77615bdf74a40d7b6b1f054d4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 29 04:56:30 2000 +0000
+
+ don't add light's ambient color to BaseColor in gl_update_lighting()
+
+commit ae41a955fbafba1481264f27b11e5ad9ded384b3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 28 23:11:10 2000 +0000
+
+ add separate specular color support in multitextured_rgba_points()
+
+commit 36b303f15d3b080ce5e67faf65e83a86e0aafbbe
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 28 23:09:36 2000 +0000
+
+ added flat_multitextured_line()
+
+commit 73b5e3766fb3d0115946c6a9f6b37e53671f3a3b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 28 15:48:32 2000 +0000
+
+ fixed two proxy texture typos
+
+commit c079d690da94c103e632ecb799f02072a11e35a6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 28 14:34:30 2000 +0000
+
+ added GL_EXT_texture_env_combine
+
+commit 3c6ffb53f7631a9f431323fa24afe63ef626d559
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 28 04:43:50 2000 +0000
+
+ minor updates
+
+commit 77d61af876de5ae5c309e82ece6070530cc49dfb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 28 04:20:21 2000 +0000
+
+ added code to initialize shininess tables
+
+commit 904ecb2355978fb5bf709d287e82c9a8c6aeeca2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 27 23:38:45 2000 +0000
+
+ initialize TextureStack matrices
+
+commit 2d8db39301349f67e17fc1b21e5d33d5f44cd521
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 27 22:10:00 2000 +0000
+
+ added aligned memory allocations (Gareth Hughes)
+
+commit 24507ff6ab91a85f98da60745bd6585499968b60
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 27 21:42:13 2000 +0000
+
+ added GL_EXT_texture_env_combine (Holger Waechtler)
+
+commit 92009554ce2e4c38c5abd4f09365ee8211570d4c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 27 17:54:44 2000 +0000
+
+ added LoadRGBMipmaps2()
+
+commit dbd52e50ff958d6e5c38b27f4fade701adb51834
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 27 17:53:21 2000 +0000
+
+ updated demos/ info
+
+commit 08df6e0a83fcbcdc61775cd98a8e273ac460ff35
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 27 17:37:17 2000 +0000
+
+ removed 3Dfx directory
+
+commit f7688171c48980b23c351a2391513c8b825ae991
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 27 17:12:10 2000 +0000
+
+ minor tweaks
+
+commit d88f8e9cacac544c5524731f54090d5c3a6076e4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 27 17:11:24 2000 +0000
+
+ initial check-in
+
+commit 02e8a035934a7400d0194687061107bdaa1bba77
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 27 17:04:43 2000 +0000
+
+ fixed compiler warnings
+
+commit 9e7f9b3e99cf4963e3bc684b5f9fc095be059a82
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 27 17:04:21 2000 +0000
+
+ initial check-in
+
+commit 0674c22e010b9629dc71fb04972dd4529152deb0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 27 16:54:18 2000 +0000
+
+ added 3dfx demos
+
+commit 5b0a7f397104ff1938908410b422e529120acde5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 27 16:52:38 2000 +0000
+
+ initial check-in
+
+commit e4b40b0211db61c219b6349e16835d4cdf4641aa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 27 15:56:46 2000 +0000
+
+ added texenv demo
+
+commit f13a330e448effc8301721e0a77101e5e0e2da36
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 27 15:55:47 2000 +0000
+
+ initial check-in
+
+commit 2a1f50aee4f30dbd0c55d8f0b7185b690c841051
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 27 15:47:59 2000 +0000
+
+ fixed GL_INTENSITY error checking bug
+
+commit 498c09040ecd5208326eac2e16ae0473effc4445
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 27 15:34:35 2000 +0000
+
+ print GL_RENDERER upon startup
+
+commit 6a06707f598e47a999bbc8d4ee501326a4f3c4ac
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 27 15:33:44 2000 +0000
+
+ draw a solid cube too
+
+commit 37283bb248c4b459154ae4a2fd9389d346d41bda
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 27 13:39:55 2000 +0000
+
+ another patch for win32 joysticks
+
+commit 86a2de4f1f620a50a1a74c07f3003be640e63b56
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 27 04:33:59 2000 +0000
+
+ removed bad DrawDestMask assignments
+
+commit 308a7152b2adac7c6e4429e42618696aeac07a48
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 27 04:32:16 2000 +0000
+
+ fixed type checking error
+
+commit 5f1eb35ee2be8cca48aab9a53a989c9a5ff73438
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 27 04:31:29 2000 +0000
+
+ fixed an assertion and minor bug
+
+commit a25f7e1d90afa2a824e653c54be8e8686579ec3b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 27 04:29:22 2000 +0000
+
+ init Point.UserSize
+
+commit fd3df4b0f78d7e72aeac6c99c3691d45378cff25
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 26 23:38:18 2000 +0000
+
+ disabled some ctx->NeedEyeCoords shortcuts
+
+commit de82d063d4dfaaec06d01a51b1a5b811c61712aa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 26 23:37:46 2000 +0000
+
+ updating mat ambient/emissive was broke. always compute ctx->EyeZDir
+
+commit daf3778e86dce7c52fbf4db48f62e3e80ed73815
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Jun 24 11:57:35 2000 +0000
+
+ Performance fix for unfilled triangles on mga and i810 hardware.
+
+commit 39103d2e20d998fe05e23a0d9332155fb865afe3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 23 20:28:30 2000 +0000
+
+ fixed ColorMask test in update_rasterflags()
+
+commit 401fc936f1c368a34e285075efe4070017054a7f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 23 17:39:18 2000 +0000
+
+ added extension numbers for Mesa extensions
+
+commit dd18a4f335984081ccf5c2145b7983168ab3e074
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 23 17:34:47 2000 +0000
+
+ updated with version numbers, edits from Jon Leech
+
+commit 4ec13a48b186c92c293fce8d7f6e071b8586dba8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 23 16:21:55 2000 +0000
+
+ applied joystick patch from Michael Champigny
+
+commit 3c8299c77967611db138169c56a7c6a1c0086d1c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 22 21:26:51 2000 +0000
+
+ Added FREE(depth) in error clause before return
+
+commit 2af2c2b556bbac7d2d6bab416af14aecef594eea
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Jun 19 14:35:17 2000 +0000
+
+ fix GL_BACK color material bug
+
+commit e4b65b6e59d3103c2e63c0b1ae6f04520dc780e5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 19 00:42:24 2000 +0000
+
+ check for special cases of value = 0 or 1 in glAccum
+
+commit b92471b74c3902765225d2d71f4f243f052ab947
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 16 03:55:37 2000 +0000
+
+ replaced fxTMReloadSubMipMapLevel() call w/ fxTMReloadMipMapLevel() to work-around subtex bug
+
+commit 7dac13272a959654f1010b80c1f1ec6dcae5a4fa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 15 19:57:14 2000 +0000
+
+ revamped glCopyTexSubImage1/2/3D() to be more like glCopyTexImage1/2/3D()
+
+commit 4cc11a4fb3b1f8e35ba4deb56a36d876801da02d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 15 18:46:09 2000 +0000
+
+ added Motif info message
+
+commit 9f60fd21546f5dd3cb46c3ec32d9f084eda17c7e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 15 15:11:40 2000 +0000
+
+ removed non-windows exit() prototype
+
+commit 479fab6a3452e9827da46b9e782a015245a87a2c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 15 14:25:48 2000 +0000
+
+ call glutInit() in main()
+
+commit 55336ae09d422842a72d8795154fe30992a4f648
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Thu Jun 15 07:33:48 2000 +0000
+
+ ----------------------------------------------------------------------
+ Committing in .
+
+ VMS : >31 character-external problem
+
+ Modified Files:
+ Mesa/include/GL/glext.h
+ ----------------------------------------------------------------------
+
+commit a179cbf0dd2647f4e2c62ae4c7ed3e706dbafe37
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Jun 14 23:24:50 2000 +0000
+
+ Re-enable the keyboard functionality.
+ Add a -db option for doublebuffering.
+ Add a 'benchmark' keystroke like isosurf.
+
+commit 5b2a619fb245d6e33dd4bc88db26a35af2b1edaa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 14 23:11:11 2000 +0000
+
+ moved #define of LLBL into assyntax.h file
+ removed spaces from all uses of LLBL macro, for FreeBSD
+
+commit c3501b01d1e3c8d107ee4da79549652c26bb05bc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jun 14 21:55:11 2000 +0000
+
+ added dummy function to silence compiler warning
+
+commit 9b08f27000b94364fb2045d2e305edbfb46e49ff
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 13 19:42:05 2000 +0000
+
+ added glxheads, manywin
+
+commit 0852d0b95eaf6ebce676fc3c6947579e5c140608
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 13 19:41:30 2000 +0000
+
+ initial check-in
+
+commit d27e256f4971375f956a5f2599dbd120b3a4eefd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 13 18:45:54 2000 +0000
+
+ use GL_CLAMP_TO_EDGE
+
+commit e7268d83414cdefe93fb0974ff7d5122f2c41d4c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 13 00:36:58 2000 +0000
+
+ now using SGI's glext.h instead of original Mesa file
+
+commit 63ec4238236479a57420c6b43a09d79eff624928
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 12 16:09:49 2000 +0000
+
+ GL_TEXTURE_BASE_LEVEL wasn't working correctly
+
+commit 9fb1279b71c1aa47a5802f70e4dbabcd555838b8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 12 15:40:47 2000 +0000
+
+ define GL_GLEXT_PROTOTYPES for glext.h
+
+commit b3a58bbf1df101bc15a20a52cb253d7aee787dc9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 12 15:38:43 2000 +0000
+
+ changed dispatch of GL_EXT_vertex_array functions
+
+commit 614ff87923b967cff5660786b7d8398b44671c00
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 12 15:37:18 2000 +0000
+
+ added EXT version of vertex array functions
+
+commit 1f0e213bf88500e9c2f7ca92e57392efae5e4459
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 12 15:30:51 2000 +0000
+
+ added EXT version of vertex array functions
+
+commit ffd561e4b5dcc0f13d30519f08af0f2b5aba1419
+Author: Jon Taylor <taylorj@ggi-project.org>
+Date: Sun Jun 11 20:11:55 2000 +0000
+
+ Lots of small updates to GGIMesa, tracking LibGGI internals changes
+
+commit 7b2c0f9148eb7eb30326173899ed366fcef8d437
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jun 9 00:22:02 2000 +0000
+
+ initial check-in
+
+commit 4c07bd5709830bd11cb29d4d8b8a56e757dc0365
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 8 22:50:28 2000 +0000
+
+ variety of updates to better conform to real GLX
+
+commit 07b220ad46d5f30218210b5512c9037214a7ff89
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 8 22:50:24 2000 +0000
+
+ clean-up in anticipation of glxext.h
+
+commit 77ee5aad27a3037895b3c645d910a1213faa62a3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 8 22:47:24 2000 +0000
+
+ added GL_EXT_packed_pixels extension, subset of GL 1.2
+
+commit 0c03647f0828d62f98261c68ec0d3df0bdf2c5a4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jun 8 15:19:12 2000 +0000
+
+ updated OSF/1 CFLAGS (Jeremie Petit)
+
+commit 9540a1dbcf213645b23c6cd9284e92a1152cca05
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 6 17:03:38 2000 +0000
+
+ more work on GL_ARB_texture_compression
+
+commit c470d8663341faed6943a52a3b307e89b52a24ba
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 5 23:53:06 2000 +0000
+
+ fixed bugs in fxSetupDepthTest()
+
+commit 97529e8e1ae39e8d7e968ffdf04c3dbe591625c0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 5 16:33:09 2000 +0000
+
+ updated 3.2 section, added 3.2.1 section
+
+commit aa19f80f406760c99e7d1ce6066fede03be5d03c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 5 16:27:41 2000 +0000
+
+ added missing GL_BGRA case
+
+commit c45e83e78758f9f49524540e96fa4bf5bd5a842d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 5 14:40:11 2000 +0000
+
+ added VMS files to Makefiles
+
+commit bf996dace40a8ac271cde103cd58c6ed720e3920
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jun 5 14:33:06 2000 +0000
+
+ added ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH() in _mesa_Fogfv()
+
+commit 7d84f5dc5b667510ab9b7cb1366ef63c9563e2a2
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Mon Jun 5 07:28:49 2000 +0000
+
+ Committing in .
+
+ VMS max 31 character external problem.
+
+ Modified Files:
+ Mesa/src/teximage.h
+ ----------------------------------------------------------------------
+
+commit ad68f17a06cc07520e1462a7261a9d1c51a136a9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 30 02:28:03 2000 +0000
+
+ initial work for GL_NV_blend_square extension
+
+commit aea03c424d4223aee334a66a5702d37e1e1a08cc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 30 01:19:49 2000 +0000
+
+ added cubemap demo
+
+commit d04d20974e2235c0677ffab5a0d8dd8ee614da0e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 30 01:18:29 2000 +0000
+
+ initial check-in
+
+commit ad817704fa2c6d8449f55565f07ab5592a574fb6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 30 00:27:24 2000 +0000
+
+ more work on GL_ARB_texture_cube_map
+
+commit eed6f691991ed0d64752fa712c83f67eb700b9ad
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 26 16:17:00 2000 +0000
+
+ include glheader.h instead of system headers
+
+commit 1e0163272b8a7774db359b0d940d83a304efbd24
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 26 15:52:06 2000 +0000
+
+ applied Eero Pajarre's patch for Windows
+
+commit 16541de30e48620e7dfe38147d4f7e8852af43d8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 26 14:45:25 2000 +0000
+
+ Added GL_ARB_texture_cube_map
+
+commit 413d6a21f849a689b5c83ea04395856b44fc65a8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 26 14:44:59 2000 +0000
+
+ more work on GL_ARB_texture_cube_map
+
+commit 2c3a62013333fe624a431115c7913ae007bdd850
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 24 17:53:30 2000 +0000
+
+ replaced assertion with a conditional in _glapi_add_entrypoint()
+
+commit 5fb84d263b8068467a2429942ecf113a0a4c8a60
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 24 15:04:45 2000 +0000
+
+ changed allocation/initialization of API dispatch tables
+
+commit f658ab0e2e9c4f319c0e6e77e7d08031be74f93b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 24 15:04:01 2000 +0000
+
+ always define GL_ARB_multitexture (OpenGL 1.2.1 feature)
+
+commit aea66b135eaa5a5f2bc8c652fa7a1a42cca2fe83
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 24 14:04:06 2000 +0000
+
+ more work on GL_ARB_texture_compression
+
+commit 98b88b3e70c079ce2b98221f7ef155af6417daf8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 24 14:03:04 2000 +0000
+
+ replaced _mesa_base_tex_format() with base_colortab_format()
+
+commit 478beace4758e35a61b5d5fb1aa5caed31376f18
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 23 23:26:30 2000 +0000
+
+ enable and clean-up of paletted texture code
+
+commit f59afc9aad4c1600e72262e90581c424b6b01e31
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 23 23:23:00 2000 +0000
+
+ register recent GL extensions for libGL compatibility
+
+commit 4d5984444e10c950e665c6c42bf366bd4315cfff
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 23 23:21:00 2000 +0000
+
+ set default window pos
+
+commit 90fbef490e0f5b66705d0a407549a60d6840bbc6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 23 22:41:51 2000 +0000
+
+ changed glext.h include
+
+commit 1207bf057aeea3376e5e0f03f789a5d67ed4d29d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 23 20:10:49 2000 +0000
+
+ initial work for GL_ARB_texture_compression
+
+commit 35d5301a54153930ee6fd60dff1010ce9f901397
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 23 17:14:49 2000 +0000
+
+ more texture cube work, misc code clean-up
+
+commit fc4b44399a07a7a7559f20ceab8a791209b4d875
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 23 15:17:12 2000 +0000
+
+ more work on GL_ARB_texture_cube_map
+
+commit df54463363729a25a7c11739d3b09f5a1e3083ef
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 22 19:41:34 2000 +0000
+
+ replaced __CYGWIN32__ with __CYGWIN__, misc clean-up
+
+commit 8da58f31846bd119070af78fac340a3e5da4f056
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 22 19:40:43 2000 +0000
+
+ replaced __CYGWIN32__ with __CYGWIN__
+
+commit f2fc19d7851526e4fd4de73b4b9b053a6a87153d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 22 18:46:52 2000 +0000
+
+ added GL_EXT_blend_func_separate
+
+commit 86fc370d399167ec9bb978d053d4a72215c86c16
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 22 16:33:20 2000 +0000
+
+ initial code for GL_ARB_texture_cube_map
+
+commit 87a7897d38fe1fa4458901d15475e3306270b51e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 22 16:30:47 2000 +0000
+
+ added Window-isms previously in gl.h
+
+commit 4951c0e0a815114f92aca8d3a03a0c2ae1227438
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 22 16:26:52 2000 +0000
+
+ defined APIENTRY if undefined
+
+commit 57a055c82fad435551c2819f01b81b7160f520e6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 22 16:25:37 2000 +0000
+
+ added some Window-isms formerly in gl.h
+
+commit af7ad8dded32d99631b1b42cd0dd1a1d0bdede5e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 22 16:25:03 2000 +0000
+
+ update for Glide3
+
+commit 0890ed3148ca1a6377f8124eb030a4ed3680c94b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 22 16:22:47 2000 +0000
+
+ include glext.h if GL_GLEXT_LEGACY not defined
+
+commit 08f0374bfaccc41a497f18a6535fa0d13277abde
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 22 16:21:27 2000 +0000
+
+ moved a lot of Window-isms out of gl.h into other files
+
+commit dec7e16cc0a97ecb1999649c58cdbf8c1e3340eb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat May 20 23:16:14 2000 +0000
+
+ minor tweaks for GLU and GLUT tar files
+
+commit fbbac25ad304e09a4cde52bd09b4940ac4785623
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 19 22:35:44 2000 +0000
+
+ fixed alignment bug in _mesa_image_row_stride()
+
+commit cc2b08ddf0c6f522172f972526ce34f74a242141
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 19 16:08:11 2000 +0000
+
+ changed internalFormat to GLenum in TexImage4DSGI and all compressed textimage calls
+
+commit b1bc367ab31361a1637a98a2b516ade9ef661886
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 19 15:41:09 2000 +0000
+
+ protect PFNGLCOLORSUBTABLEEXTPROC from multi-defined
+
+commit 58f71ace5061339e3ceaab1da5d72285453cf3d0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 19 13:12:29 2000 +0000
+
+ added a bunch of imaging functions
+
+commit 2765e6848abb8def62c5b3eb4d26704446a436f1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 19 13:11:38 2000 +0000
+
+ added const to compressed tex image functions
+
+commit 43ddff4549dbb5459b7a30e3a04e2416023708dd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 19 13:08:01 2000 +0000
+
+ Pass pixel format to xmesa_color_to_pixel(). Compute clearpixel without dither
+
+commit e160138d1340eca42dd30113408b4b57fb9d4e87
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 18 22:02:24 2000 +0000
+
+ added glTbufferMask3DFX(), enabled texture compression functions
+
+commit f77064e9e2a0c6c69e1300c5975dcee4e6901a58
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 18 22:01:13 2000 +0000
+
+ DeleteTexturesEXT was missing
+
+commit 70a9328de3ae7c767253737dd918d39b70d96f62
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 18 18:34:23 2000 +0000
+
+ changed ATTRIBLIST_SIZE to 32
+
+commit 65300223fb4dc882abef70f376782330887fc6f6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 18 18:15:16 2000 +0000
+
+ now generated from bin/glx86asm.py script
+
+commit 4420246955e629b24f341cc049c7dead0642e658
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 18 18:14:22 2000 +0000
+
+ bunch of updates to static_functions[]
+
+commit 21301cdc06e7ff66af5f43d959ee8d798d8a9c2f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 18 18:13:15 2000 +0000
+
+ added tbuffer and compressed teximage extension functions
+
+commit 3a94f5c0ac15b233e2db429bec4de7d1e5f6e72a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 18 18:12:36 2000 +0000
+
+ added Kevin's 32bpp Z buffer fix
+
+commit 0c74657fe0bd8dc126062056d53a84dfee44076d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 18 18:11:35 2000 +0000
+
+ replaced components with internalFormat
+
+commit 0914fbaec1202bcd09ce5d8aeb7a30186a1b40f9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 18 18:10:42 2000 +0000
+
+ updated to version 10
+
+commit e2f66e40dfa67e4ce49781bcf4f4d2ca5bc5728d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 18 18:09:38 2000 +0000
+
+ added glPointParameterf[v]SGIS()
+
+commit 5a8a6d9ac58a8aada0b6fd51ba3b898fa34db340
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 11 23:14:57 2000 +0000
+
+ generate X86 dispatch code
+
+commit ecfdd8814e23fa1fc4c0635c2ffc45a927e87e1b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 11 17:45:20 2000 +0000
+
+ recover from offset=? condition, code clean-up
+
+commit 3ee628f83a29753cc0a67719ecf3eba298167d49
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 11 17:44:42 2000 +0000
+
+ recover from offset=? condition
+
+commit da99cded2609312feeb656979b0c26328ed7294a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 10 22:36:05 2000 +0000
+
+ fixed PB bugs, removed MutablePixels, MonoPixels from GLcontext
+
+commit 7a39d2f833807f8defd2304b0ff180944c23ea0c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 10 14:39:53 2000 +0000
+
+ more GL_EXT_convolution work
+
+commit 102860a4590b64b74af25880e06483da938a2b88
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 9 23:54:09 2000 +0000
+
+ removed printf
+
+commit 0fc001210dcbe876f1e7ae713293ac9b3487a4c4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 8 18:20:13 2000 +0000
+
+ a few Alpha tweaks (Michael Champigny)
+
+commit e691ee275313cc3b76e72f27e3373be06ce681f4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 8 14:53:57 2000 +0000
+
+ fixed bug in loop over screens
+
+commit 0665d482d2bafae09cc36ad05fa58e292cfe4ca8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun May 7 23:18:54 2000 +0000
+
+ Added point UserSize, cleaned up point drawing code
+
+commit 6698b2294f9a151b777dd4e0d1f1c3e86204617a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun May 7 20:41:30 2000 +0000
+
+ Err, initial code for GL_EXT_convolution, not histogram
+
+commit 82b02f0ef24bf139778c8eec8d62dfa3366dff35
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun May 7 20:37:40 2000 +0000
+
+ initial code for GL_EXT_histogram extension
+
+commit 9cff55806449786af8fade599a2b96487d55ea65
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun May 7 18:07:23 2000 +0000
+
+ more error reporting
+
+commit 293cee76699643596b3f80404f314e07fb5e82d1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 5 23:54:08 2000 +0000
+
+ fixed glDrawBuffer(GL_NONE) bug
+
+commit cf576500dcc9ab613abdd0556966c20ff89db036
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 5 23:42:23 2000 +0000
+
+ replaced buggy fxDDReadRGBAPixels() with read_R5G6B5_pixels()
+
+commit 1afd946ce850fe5ffa01b24c3528fa382559ebcc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 5 23:41:52 2000 +0000
+
+ toggle DD_LINE_SMOOTH in GL_LINE_SMOOTH case
+
+commit cafc3b35c73b71857a6807b9b591c0ac5fbb5cec
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 5 22:38:37 2000 +0000
+
+ added check for tmuRam==4 for Voodoo2 (Bernd)
+
+commit 9635376e446999913017c9e4e87315e5893c8264
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri May 5 17:02:33 2000 +0000
+
+ fixed the nested extern warning
+
+commit 9f0289dfac0c28feee4901eb72903fa4108624d1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 4 16:15:33 2000 +0000
+
+ EnvMode GL_BLEND and tex invalidate changes from Daryll
+
+commit a14d28c2bd0e41e9153dc1ae13bdb2451191aafc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 4 14:12:28 2000 +0000
+
+ removed GL_HAS_GLEXT
+
+commit 474e2f4dbb29bd26106d899095ea4a9115e7bc93
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 4 14:12:02 2000 +0000
+
+ added a bunch of missing token values
+
+commit d78acfa3655733ac862fc688b1082efc8083e275
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 4 14:09:41 2000 +0000
+
+ removed software alpha flag from GLvisual struct
+
+commit 065607e884e26f0df38c455cab83de8398c68ff2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 4 13:55:52 2000 +0000
+
+ conditionally include some fields in the context struct for DRI / non-DRI
+
+commit 0b5566a9d6eb66dc503e4551fe8824559ddde901
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 4 13:55:24 2000 +0000
+
+ made fxMesaCurrentCtx static
+
+commit e70c623cf07f93a3e825116068d3108067988189
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 4 13:53:55 2000 +0000
+
+ removed software alpha flag from GLvisual struct
+
+commit ad08108616b8ec0e64cc84ae2e93db44b33c1d5e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 4 13:50:33 2000 +0000
+
+ added GL_EXT_histogram
+
+commit 1a1cf7ed75d799bbda34399ddab7949b8c06686e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu May 4 13:48:49 2000 +0000
+
+ implemented GL_EXT_histogram extension
+
+commit f8825778121b2fe8c012b0ecb2c098865cbe84cb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 3 15:03:27 2000 +0000
+
+ fixed backslash typo in sunos configs
+
+commit b0ef7454f4101dc3f872ed052127ba928630da40
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 3 15:01:08 2000 +0000
+
+ fixed tar file list of widget files
+
+commit 07ec12f745ecdb58dd476c2fcdfd99158b9f62ab
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 3 14:18:25 2000 +0000
+
+ removed glxdpyinfo
+
+commit f3b3ab924fc1bea332743791dd91a1c3ef076fb9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed May 3 14:17:50 2000 +0000
+
+ Removed. Use glxinfo instead.
+
+commit ede979fcb5ba2c7dacb97535c7abcafdbd95af64
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 2 02:30:01 2000 +0000
+
+ removed all DRI-isms
+
+commit 8c7889d99fe87d622a65bb4972496fe58dde553c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 24 15:29:11 2000 +0000
+
+ removed extra /
+
+commit 34fb5db643137e7d953f832e2ff527e521623d60
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Apr 22 20:31:23 2000 +0000
+
+ more error checking. Query GLX client vendor string
+
+commit df81387dfae199a71bc55138ea5856dc05eacf24
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Apr 22 01:05:40 2000 +0000
+
+ call _mesa_initialize_context()
+
+commit 178a1c5a25b84bab1d5aae9e14694b531feea3ca
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Apr 22 01:05:00 2000 +0000
+
+ added _mesa_initialize_buffer/visual()
+
+commit 9ad2ce070ee8ccf4c1b98c6a3de7a978d5465335
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Apr 22 01:03:22 2000 +0000
+
+ removed old profiling code
+
+commit 96461a25c33219d0204e86a514a22ad960c52dde
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 20 01:56:09 2000 +0000
+
+ updated RENDERER version
+
+commit ca4a891bb36a08ae6e9c4d45b21e25820c851c3e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 20 01:54:52 2000 +0000
+
+ minor clean-up
+
+commit 0f32948dab9fb4cc83ca63938863e568cd8af59c
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Apr 19 23:58:31 2000 +0000
+
+ Use smooth shaded triangles always. Fix SoF bug.
+
+commit 71dea349d2be623b7819389428b0d6a124e8d184
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 19 01:44:01 2000 +0000
+
+ minor clean-up
+
+commit 353479fa8a63aebc21825ad614115b7b5434fe0d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 19 01:40:00 2000 +0000
+
+ added GLX_EXT_import_context, 1.3 misc clean-up
+
+commit c397a6b28351ad97f996f913cfe9266b9f9096f6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 18 14:32:10 2000 +0000
+
+ more color table and imaging work
+
+commit 7b5f09c7ded33ef41955f4c9fa3e35d4c34f313a
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Apr 17 18:18:00 2000 +0000
+
+ New clipping to avoid division by zero bug.
+
+commit 4bdcfe50f8886e43714f9b7edd25cbff19e6a97d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 17 17:57:04 2000 +0000
+
+ dynamically allocate color table data, uses less memory
+
+commit 0bb0c7cc85f8b41a36d8a7b723ac3d6755954879
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 17 15:14:33 2000 +0000
+
+ GL_SGI_color_table info
+
+commit a5f4cae20a5d47bf5e0f8d1aa35650d16391097d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 17 15:13:53 2000 +0000
+
+ work on GL_SGI_color_table
+
+commit 0c12733fb7a9bff685300346b55c19b4a304d1d0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Apr 15 23:19:05 2000 +0000
+
+ added a comment about FP overflows
+
+commit 83aeeb0967a5ea4b6942fd255871537026d360c4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Apr 15 23:05:39 2000 +0000
+
+ cleaned up whitespace
+
+commit 0501b25d69f4adca3356434570c4917615d43d73
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Apr 15 23:04:54 2000 +0000
+
+ minor updates
+
+commit bc95b628fe86594b24a3663086101f43914ad561
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Apr 15 23:04:11 2000 +0000
+
+ wrapper for grTexLodBiasValue()
+
+commit 825fb31e58c822b0c63cc478e8c503cad37f6ea1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Apr 15 19:50:44 2000 +0000
+
+ added GL_NV_texgen_emboss
+
+commit e9cd76e23965fb95e57d47ae8670de2769a5d76b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Apr 15 19:44:47 2000 +0000
+
+ added some missing NV token values
+
+commit eae28ca68c10c2f6fc6fb17df0dc9b0c28de9c56
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Apr 15 19:24:18 2000 +0000
+
+ more clean-up
+
+commit 76713fb0b05128a09995cd6b38cfadb288c542a7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Apr 15 19:18:06 2000 +0000
+
+ version 8, added GL_EXT_texture_cube_map
+
+commit 2511ba7c927af49a7595a367ce4f64f00ea7d7d3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 14 21:40:56 2000 +0000
+
+ applied Bernd's changes to useBGR code
+
+commit ddf9b3aa482b21375c8a72b5c854b600014c3dbf
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Fri Apr 14 07:42:46 2000 +0000
+
+ Committing in .
+
+ VMS support for pixeltex.c
+
+ Modified Files:
+ Mesa/src/descrip.mms Mesa/src/pixeltex.h
+ ----------------------------------------------------------------------
+
+commit ad2f32155f6db21c19fc2dfb002853a0bc0649af
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 13 14:53:25 2000 +0000
+
+ applied Keith's fix for the Loki ice bug
+
+commit 179870a5b806a3ee84cb56fa20c3a003f9fc5b97
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 12 18:54:48 2000 +0000
+
+ more work on GL_SGI_color_table, pixel transfer code clean-up
+
+commit 7a6bb1bb8248edd7d91a1567965f57af1ea8e65c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 12 01:08:30 2000 +0000
+
+ lots of clean-up, added d/s keys
+
+commit 13811376c99addb0616c9397cc7d5715befcd8d4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 12 00:27:37 2000 +0000
+
+ more GL_SGI_color_table extension work
+
+commit 5223c4d33f6f1f66a30c482cd515558f0591c24a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 11 21:36:29 2000 +0000
+
+ renamed alpha buffer functions
+
+commit 716be936866dcb4cd51e774e5403e28645d5c685
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 11 21:26:57 2000 +0000
+
+ renamed stencil functions
+
+commit 67c01f5f67cf93dc882cbe5b783acad9f8fc338f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 11 20:54:49 2000 +0000
+
+ fixed duplicate variable problem
+
+commit ce8e1a4f13c93679ac44233cc5eae17d12a3f8c4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 11 20:43:58 2000 +0000
+
+ silenced warnings in FX_grSstPerfStats()
+
+commit b5410da76e15d670063de544569ae07f5ca9a00f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 11 20:43:12 2000 +0000
+
+ fixed bug in XF86 writeRegionClipped()
+
+commit d0130a989a3b331eb8114f1ee4addb95ce31e0e2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 11 20:42:22 2000 +0000
+
+ clip depth/stencil spans to window bounds
+
+commit 4fe34b27f641459acae8150cde927eb4952277ad
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 11 15:07:48 2000 +0000
+
+ initial work on GL_SGI_color_table extension
+
+commit ff3e00320e3d9a9a047dd8516ae92cadaa1e21fc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 11 03:06:07 2000 +0000
+
+ fixed stride problem in read_R5G6B5_span
+
+commit 43d8e2123f32c8d07f33f4a86f44951bb221837c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 10 23:13:51 2000 +0000
+
+ added some more functions
+
+commit 5605798e56ca6e9f968623f33b58ee7ca90594af
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 10 21:13:19 2000 +0000
+
+ added glXGetFBConfigs(), fixed glXChooseFBConfig()
+
+commit a28a4f782087b3a6dcd4ea557e879396ba37f7f6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 10 21:12:37 2000 +0000
+
+ removed bogus GL_ALLOW_DRAW_SPN_HINT_PGI token
+
+commit 47e719fa44c784d60480a4096d35f9b14b70cc1f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 10 21:12:20 2000 +0000
+
+ added missing 1.3 token values, added glXGetFBConfigs(), fixed glXChooseFBConfig()
+
+commit a8ede6b076974084fd1f2b4ed9f5554ed9a06d07
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 10 16:25:15 2000 +0000
+
+ fixed visual selection and reporting results
+
+commit 8cce314c325525498c2fa093a9a69ee4ca9f6832
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 10 15:52:25 2000 +0000
+
+ fixed GL_PGI_misc_hints identifiers
+
+commit ada5f1cd066efd1cd559775635e97576f5e7fb40
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Apr 9 17:08:09 2000 +0000
+
+ removed a printf
+
+commit 39350966ad982b4dc1273338a658dfda80ceb435
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Apr 8 18:58:05 2000 +0000
+
+ added GL_EXT_color_matrix extension
+
+commit 250069dbb443f26f4dcc409c9c873019a5f50f9d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Apr 8 18:57:45 2000 +0000
+
+ added GL_SGI_color_matrix extension
+
+commit a518b47e5bcff6e3feaeb378ccb06fd1ea1da760
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 7 17:07:32 2000 +0000
+
+ initial check-in
+
+commit 767e2cf2519707f093da61495dafc80ffc82fc99
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 7 16:45:26 2000 +0000
+
+ added GL_SGIX/SGIS_pixel_texture
+
+commit 853fb984de45d17bee83c3bba62836315343a8e7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 7 16:32:21 2000 +0000
+
+ added pixel texture extension info
+
+commit d6972897464a845d08f6e426f4cb61537b49fc42
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 7 16:30:46 2000 +0000
+
+ added pixeltex demo
+
+commit 5cedb32f6b59e370ab42c628bc319580c28c5ca5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 7 16:29:08 2000 +0000
+
+ initial check-in
+
+commit b0362de32bc0ecdb022e593cdf721b7061dd6a88
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 7 16:28:37 2000 +0000
+
+ added pixeltex.c
+
+commit 2b2e925ea4a5652b0ab73b1efbce345a42663842
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 7 16:27:26 2000 +0000
+
+ added GL_SGIX/SGIS_pixel_texture extension
+
+commit ede4887b1650b18b3a2db3f175fcc33826bbab4d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 7 16:22:37 2000 +0000
+
+ fixed a typo
+
+commit 985d6b29878f55f61074879891813e9ff6e9f11f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 7 16:21:16 2000 +0000
+
+ version 7 check-in
+
+commit 4e0445550d6cdb0f2045507c1f63219a8a0b8d4c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 7 00:30:02 2000 +0000
+
+ silenced a warning
+
+commit 15724afd62a1466d616ac6ca4d292c46c6f86648
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 7 00:29:01 2000 +0000
+
+ new read_R5G5B5_span() function
+
+commit 0771d159d59a856135e375ba89f6af2a057d4f5b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Apr 7 00:19:41 2000 +0000
+
+ initial histogram and min/max work
+
+commit 3eae261da989f44c4920b1bfe247c2e1be8724ad
+Author: Holger Waechtler <holger@akaflieg.extern.tu-berlin.de>
+Date: Thu Apr 6 11:51:24 2000 +0000
+
+ added CONCAT(x,y) macro in NASM/MASM section
+
+commit 3cd7738c9b07bb730c9fa7b88e41751c116fcb80
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 6 02:22:59 2000 +0000
+
+ silenced warnings
+
+commit 32afff3fe3cc9e6b2b1f9662acc37e5366a02276
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Apr 6 02:22:23 2000 +0000
+
+ silenced a bunch of warnings
+
+commit c8735e8f8299676e443e6ca0ffd339ab94e013f9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 5 22:09:58 2000 +0000
+
+ new arguments to XMesaCreateVisual()
+
+commit d4a736d52cb2d6d82d2fbc56aa00f5cfea7ba54c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 5 22:09:10 2000 +0000
+
+ added some casts
+
+commit d708c74ed56c04f49f37bfac6e0a9e7c26617fc1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 5 22:08:54 2000 +0000
+
+ added extern for gl_fog_coord_stage
+
+commit c69208451ee0d4db118518fb25b2a4aabd08c994
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 5 21:36:31 2000 +0000
+
+ removed unused vars
+
+commit 9d0bc1d63347755fa708c1da9d4359108f226f3c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 5 21:36:03 2000 +0000
+
+ fixed compiler warnigns
+
+commit 8fbd189d8157fe498e91be86f53330a5a11b79db
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 5 21:35:46 2000 +0000
+
+ added missing braces in initializers
+
+commit db5c2748515e401a203e69246c43c61a75c23cc0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 5 15:33:44 2000 +0000
+
+ updated to version 6
+
+commit 9c4f016d2171319ad8cde2366d76fd7f70520621
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Apr 5 14:40:04 2000 +0000
+
+ minor clean-ups, renaming
+
+commit 2f8b4c9d2f9a313af9c1d4ce1dbbd5fdc1fafa16
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 4 23:29:32 2000 +0000
+
+ added version number
+
+commit ed388938a1384fc1bd4ade7f013897abb31f4207
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 4 15:20:20 2000 +0000
+
+ changed a comment
+
+commit a74394c3a8090ba95b9ceffa63da94e281d78e2f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 4 15:20:17 2000 +0000
+
+ added copyright info
+
+commit 87a6230d59cde699f1c36a8c75a12489cbb9a9ea
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 4 15:14:48 2000 +0000
+
+ updated for Mesa 3.3
+
+commit 7e67fb41fb54e050f6983b4de09ed3a317d6148f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 4 15:14:10 2000 +0000
+
+ more GL_HP_occlusion_test work
+
+commit 941dcc797e1a6317808c1ec43476817286d576ba
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Apr 4 00:54:23 2000 +0000
+
+ use BCOPY macro on FreeBSD
+
+commit a9c53fa9ee07ac3fdf7cdc01ddaa67f07ab23e26
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Apr 3 15:45:34 2000 +0000
+
+ minor clean-ups
+
+commit 98a8662f650dfd95da1f78009c2accce8f3f3da0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Apr 1 06:01:17 2000 +0000
+
+ added GL_HP_occlusion_test items
+
+commit bb128de7446fdf60e511c7e83fb35210f12c1bb9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Apr 1 05:57:41 2000 +0000
+
+ added occlude demo
+
+commit 16b647d8b22338c5d651329df05293b8f9960220
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Apr 1 05:53:31 2000 +0000
+
+ initial check-in
+
+commit 199d039bc365ce6b3f42037497b1e7ebe232bc69
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Apr 1 05:42:06 2000 +0000
+
+ changes for GL_HP_occlusion_test
+
+commit 25673f0cbadd657867e05ef1838779524593049b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 31 18:17:51 2000 +0000
+
+ added support for GLX_EXT_visual_rating
+
+commit 962f4269153ba954e137aab94ff4eaad4a7b02ae
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 31 18:17:01 2000 +0000
+
+ fixed mistake in glXGetConfig(GLX_VISUAL_CAVEAT_EXT)
+
+commit aa51bb083bf392962a6828cdd6a8c804aa19bd42
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 31 17:07:10 2000 +0000
+
+ mask/disable stencil/accum clears in fxDDClear()
+
+commit 3da3b9e84ce4ade33a7e0284762492099a48935e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 31 16:20:47 2000 +0000
+
+ added glu_tar and glut_tar targets, misc clean-up
+
+commit 37d34bc12f62c8dfa80364c8d63dc5fec847879f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 31 14:48:28 2000 +0000
+
+ fixed typo in GLX_SLOW_VISUAL_EXT
+
+commit c140020182eb49d149fb602a64d999a829ac7183
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 31 05:49:45 2000 +0000
+
+ clean-up of info messages
+
+commit 7909019a3eb4a597c6d064d6e0e4ef88515e6ea7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 31 05:49:08 2000 +0000
+
+ fixed Voodoo1/2/ stride problem in fxDDReadPixels()
+
+commit 3bbbfbf20223d753b3b82d4bf6e6769a04886b69
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 31 05:48:14 2000 +0000
+
+ misc clean-up
+
+commit 4a3ccfee8042a0a88ef423cbe9c18122ffebc432
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 31 05:09:55 2000 +0000
+
+ added more debugging code
+
+commit 59bcfe3b3b432cc7bde3b446c40e1b79cad4157d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 31 01:18:54 2000 +0000
+
+ added GLX_EXT_visual_rating
+
+commit e1210b176926349b258c7ec77b7f36716025c82a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 31 01:17:52 2000 +0000
+
+ added rest of GLX_EXT_visual_rating extension
+
+commit fc68be6b111473a0bf8f991468f973bb9dd275f4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 31 01:12:40 2000 +0000
+
+ minor tweak to GLX_VISUAL_CAVEAT_EXT query
+
+commit b2e460018375f699198073a6167e0ee96ba1d267
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 31 01:07:13 2000 +0000
+
+ updates for separate R/G/B/A accum buffer sizes
+
+commit b371e0da2b51da7d941de557b62434aaaca5be02
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 31 01:05:51 2000 +0000
+
+ added _mesa_create/destroy_visual()
+
+commit f2123080b51f4a242bf1d73a8e566b9abb202897
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 31 01:04:52 2000 +0000
+
+ separate R/G/B/A accum buffer size fields
+
+commit a5724069f146e840795f1884e7230ff3882bcdb6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 31 01:04:07 2000 +0000
+
+ added XMesaCreateVisual2()
+
+commit bd2055cf7e740886e5fce1d814d17ca2662bc64d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 31 01:03:41 2000 +0000
+
+ added GLX_EXT_visual_rating
+
+commit d3d72804b0737835e50cc3565a2c46b946506f63
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 31 01:01:31 2000 +0000
+
+ tweaks to allow different read formats/types
+
+commit 047fdf06cc6596cc250a6dc8b4ff47dbd29a0988
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 30 18:39:18 2000 +0000
+
+ optimized glReadPixels()
+
+commit e5d68a2b7dba4d4402ee117dcaebde0b35c87956
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 30 18:37:51 2000 +0000
+
+ improved PrintTexture debug function
+
+commit aed8a96ef22f29b29315c14af6e2148bb9e2bbda
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 30 18:37:32 2000 +0000
+
+ fixed typos in generate_lookup_tables()
+
+commit 03b7aee4387aac9ad896f2b6d26ddbb16bdffcf9
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Mar 30 17:58:56 2000 +0000
+
+ Added stipple mode
+
+commit 5ca0d13823339f7a49cb0b4e0397d599f47bea1c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 30 17:24:02 2000 +0000
+
+ fixed subtexture address calculation bug
+
+commit 1e35590f14dfd653e72fc8d4cebf8e7565f6162c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 29 23:57:20 2000 +0000
+
+ removed GL_HP_occlustion_test code, added -exit option
+
+commit fffb809777837c6e77c761c4798967c0fe767880
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 29 18:46:11 2000 +0000
+
+ renamed mesaStrDup() to str_dup()
+
+commit 57e7108b755074e97434fd791a60009e9a6ab285
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 29 18:14:32 2000 +0000
+
+ new texture image download code
+
+commit 845bf3c2b177904443a66a79ecc1bb5d64188f3c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 29 18:14:08 2000 +0000
+
+ lots of new work
+
+commit 4827179cc0d314f69671e97dcb016f5a3b90a213
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 29 18:13:59 2000 +0000
+
+ changes for single-copy textures
+
+commit 8fd9fcbc2d6fd6563165fad98258b0d6d974fc62
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 29 18:02:52 2000 +0000
+
+ hit space bar to rerun benchmark
+
+commit 5a564056f59d3ee9b0ff20c45fbe5234a47d5149
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 29 17:56:02 2000 +0000
+
+ added error checking on file open
+
+commit 070b2644c6d3b0b4c6da64addd85245d730b6240
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 29 15:56:53 2000 +0000
+
+ added missing GL_INTENSITY case in _mesa_components_in_format()
+
+commit a14ee6b081e7436cb48c7e384f9c4a3b1d3fdae8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 29 15:48:43 2000 +0000
+
+ fixed some buffer clear bugs
+
+commit 7d69e9e93f9f5e87fc7e4782a2eeecccf1b65c8e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 29 15:47:48 2000 +0000
+
+ lots of changes
+
+commit a1cfd0f7a1cf661921cbc8e043b3baefde41ee84
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 29 15:46:53 2000 +0000
+
+ version 5: added texture compression extension
+
+commit 23ee049401fdaaa77240a3eb02ca4dcce421a939
+Author: Randy Frank <rfrank@rsinc.com>
+Date: Tue Mar 28 16:59:39 2000 +0000
+
+ Implemented support for the HP occlusion test extension (osmesa and X)
+
+commit 9d4d85520834361af3797c720c1b9b223f083d59
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 28 16:10:43 2000 +0000
+
+ added optimized read/drawpixels for 16bpp TrueColor
+
+commit d7361e171738d92af6b4201d69faea0c55c2601c
+Author: Randy Frank <rfrank@rsinc.com>
+Date: Mon Mar 27 21:13:58 2000 +0000
+
+ Updated to compile under Irix 6.5
+
+commit ba3d9d0ce958dfc6161de41d9423a4b9547fb35c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 27 19:08:40 2000 +0000
+
+ removed tfxMipMapLevel's used and translate fields, initial teximage clean-up
+
+commit de5c19d139f010cf08c05af440ee3c7e5241cead
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 27 18:56:26 2000 +0000
+
+ added _mesa_unconvert_teximage()
+
+commit 021a525616bef2bafc8f60edc193b975ed2b0efa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 27 17:54:17 2000 +0000
+
+ put _mesa prefix on some functions
+
+commit d25df3515477d28b7f61d07b2f6a1e17668bcba5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 27 15:46:12 2000 +0000
+
+ added missing glEnd() call (Tim Beckmann)
+
+commit 56edca9f62e64189381065375a0c5efb0149a493
+Author: Jon Taylor <taylorj@ggi-project.org>
+Date: Mon Mar 27 04:31:15 2000 +0000
+
+ Minor fixups
+
+commit 9fd2b0a698163b397b0a17493e52b27273e51b63
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 24 23:59:06 2000 +0000
+
+ fixed a Driver.TexImage call typo, misc clean-up
+
+commit d03dc2547756f5ed0b5538646c75e88f1fd7b526
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 24 20:56:50 2000 +0000
+
+ added texutil.c source
+
+commit 7553e3027c433964f05db622009207520427c3a6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 24 20:54:21 2000 +0000
+
+ initial check-in
+
+commit afb8c934703cc89c395a0efefed6edfa8ebc7a76
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 24 19:16:19 2000 +0000
+
+ version 4, all extensions up to 197, added some missing enum values
+
+commit 4f6d60e9cf73441b0779197dd750f8ab923b6e9f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 23 19:47:25 2000 +0000
+
+ added benchmarking
+
+commit 9891bf086de8f0840b45521a008c4a9b00ca6ece
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 23 17:00:35 2000 +0000
+
+ changed some Linux -O2 flags to -O3
+
+commit d6998a714cba8bb6f487b792db5d2d271db20d86
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 23 16:58:24 2000 +0000
+
+ added new texture image functions, minor clean-up
+
+commit 45c7e2abe7564880cd6d6939d8be6ab80fbdd7a5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 23 16:57:56 2000 +0000
+
+ added some comments and new texture image functions
+
+commit 0d24f7b50e93f41d284fe22b1e78211f516654d9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 23 16:57:14 2000 +0000
+
+ replaced HaveTexObj with UseTexObj
+
+commit bed91a3fcd69b8e3dfc94c1557e2ea05b78fd5a0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 23 16:55:13 2000 +0000
+
+ added 3.3 To Do items
+
+commit 08627219583482c4d187016b4fb8bf8ffad3253d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 23 16:54:50 2000 +0000
+
+ removed some unpopular extensions (now in glext.h)
+
+commit b132e8da5e5f2b7da1f2141e0322e66bb0608e02
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 23 16:23:14 2000 +0000
+
+ replaced decode_internal_format() with _mesa_base_tex_format()
+
+commit f87c5e229f9721aba6a298230979feb18041c084
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 23 16:22:36 2000 +0000
+
+ more clean-up and rearranging
+
+commit bd3355bbcd29accd8d1060eff834aad01a747163
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 22 23:48:16 2000 +0000
+
+ added instructions to build widgets-sgi
+
+commit 9dd2747e5f23323d693820121fd123e19e49900c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 22 23:43:53 2000 +0000
+
+ minor tweaks
+
+commit ca1f44b401bcc6b06017d32905a1a6f133a598db
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 22 23:21:27 2000 +0000
+
+ added Daryll's patches for texture alignment
+
+commit 780c4e057bbd940242874ac193dfec8738efb987
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 22 23:20:12 2000 +0000
+
+ added code to die on FP exceptions if DEBEG env var set to FP
+
+commit 3769b3fed4f453fc622ddc5feaab4d81cfb72bf3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 22 23:14:54 2000 +0000
+
+ changed TDA to [4] for glMaterialfv() calls
+
+commit 49dcae8c805b45ee6f66ea8152ce4c56a890f32d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 22 19:48:57 2000 +0000
+
+ converted from GL_EXT_texture3D to GL 1.2
+
+commit d21cdb6d84c75b56b482d605f4848aa4912e89e3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 22 18:38:47 2000 +0000
+
+ tweaked the animation rate
+
+commit 29d39d52a0ac1b21f593ccb8ae3e3452f342257f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 22 17:39:15 2000 +0000
+
+ updated renderer string version to 20000322
+
+commit 0293878846551bfe349a4aa029a0489f9a73f1ff
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 22 17:38:11 2000 +0000
+
+ lots of changes for single-copy texture image DD interface
+
+commit 42ad53f67eb88a91c4cfe51a66a828c1aecc05f4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 22 16:01:21 2000 +0000
+
+ fixed Cygwin patch typos
+
+commit 9b8094a663f08b50f01e3bcce8d22e4415b253e4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 21 22:20:42 2000 +0000
+
+ removed a few const keywords because of mutex calls
+
+commit 832179c50e2cf5de9735241e4767aea4d6fc33bf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 21 17:42:27 2000 +0000
+
+ added more locking
+
+commit fd2e6dbbc8f5d2283b2cf282687a06d68b056e59
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 21 16:10:22 2000 +0000
+
+ removed retainInternalCopy from TexSubImage functions
+
+commit 279d9e3ea7551332d5639b514e004ee66c37d08b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 21 16:09:37 2000 +0000
+
+ made _mesa_native_packing const
+
+commit b7d076fc96ac27117421653a043d00a95f789d24
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 21 01:03:40 2000 +0000
+
+ changed imaging functions to _mesa_ prefix
+
+commit 43911c8ef06c44d486a17cf9a8fa8ea263b08ade
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 21 00:49:33 2000 +0000
+
+ clean-up of texture image construction
+
+commit ae40595b6943d41dfad0e9b500d5db70b2ad8c6e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 21 00:48:53 2000 +0000
+
+ added _mesa_image_row_stride()
+
+commit 8a4014c6fbc1ee3ac487ab10e3b073c62f62b85e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 20 23:54:54 2000 +0000
+
+ more reorganization and clean-up
+
+commit 633e1dcb2b8164f8b3229758a3317b7769c56a24
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 20 23:45:59 2000 +0000
+
+ rearranged order of some functions
+
+commit 2090b979980f389a764d2114850a03dcf1a0601f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 20 23:40:57 2000 +0000
+
+ added new TexImage and TexSubImage functions
+
+commit 77ce6da028589efc2f3f16cece287f56fd98ce8e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 20 23:40:12 2000 +0000
+
+ added new_texture_image()
+
+commit a937128030d7960e930165542acd0584dbaf9b21
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 20 22:02:11 2000 +0000
+
+ added lodbias demo
+
+commit aa80e2938645a6cbe5148d3f5961cbd03287509c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 20 22:00:22 2000 +0000
+
+ initial check-in
+
+commit d7c4f043feac75368a9a2ae2ef48ac6cca5c8de8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 20 21:31:29 2000 +0000
+
+ added more extensions, now at version 3
+
+commit d94aa337bfb73822585d22e9ad1fae90d917fbff
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 20 21:31:15 2000 +0000
+
+ removed test for MESA symbol
+
+commit 1ea2d444fac993615c3329ce309066a4d07a8da9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 20 19:26:51 2000 +0000
+
+ Cygwin changes, removed two ARB extensions, now in glext.h
+
+commit 66ae25078ef01bcfa2e9eb1ccdbbb5f038c71179
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 20 19:26:01 2000 +0000
+
+ patched for Cygwin (Sven Panne)
+
+commit f7b5707d66678f09bec652ecce024a0da6cc4a4b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 20 14:37:52 2000 +0000
+
+ added device driver functions for CopyTexImage, CopyTexSubImage, GetTexImage
+
+commit 8a90cabf8190eaaf37ec1eb265b71d2e163641e3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 20 00:29:24 2000 +0000
+
+ added aa triangles
+
+commit 0555a98926fca7b15cd6c67d22d31b8efc8cc67c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Mar 19 23:44:24 2000 +0000
+
+ removed GL_FXMESA_global_texture_lod_bias extension
+
+commit e7eb459d27477ded5805bcb7ae841ac0bfd4b2bf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Mar 19 23:35:42 2000 +0000
+
+ removed debug printf
+
+commit 4ce2d87cf6bd06104caa4dc3a30baf996b9ff08c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Mar 19 01:13:13 2000 +0000
+
+ updated for Mesa 3.3
+
+commit 959f802dabd4f4347dc0ea925ae687abb6938588
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Mar 19 01:10:11 2000 +0000
+
+ fixed compiler warnings on BeOS R4
+
+commit a742e9bccd683f2a899dafc3703e4d59037c4437
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Mar 19 00:16:41 2000 +0000
+
+ added glext.h to tar file list
+
+commit 7621c4d66b7b910287b792e4aca891776fde6b01
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 18 23:40:37 2000 +0000
+
+ removed MGL files
+
+commit 586b4f66a88cb64119c57396cdb804b96f12043a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 18 01:13:29 2000 +0000
+
+ colors were computed incorrectly (Hans Nelles)
+
+commit e7b16b74bf5d13331b5a88bbbbb9096560297b63
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 17 15:33:09 2000 +0000
+
+ silence some warnings
+
+commit 39c897780276f80c2df82ada6c711b8d4d744391
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 17 15:32:04 2000 +0000
+
+ added missing error checks
+
+commit 650cb74bcb913d2589355d56a14da1ab0307d1fc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 17 15:31:52 2000 +0000
+
+ removed old Depth buffer pointer var
+
+commit 46f717f949dd13d7be1621873f76d6fbc620149d
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Mar 16 07:36:33 2000 +0000
+
+ fix for tristrip bug and unfilled quad/polygon bug
+
+commit 27b2e83805b77a7d2cae5a33af41b041e4d2e4a9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 13 18:32:37 2000 +0000
+
+ removed old comment
+
+commit 7c652d77220610ecc19aaefa20876216b035e961
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 13 18:31:51 2000 +0000
+
+ fixed polygon stipple packing/unpacking
+
+commit 3cb112129998e8a4ae8499b47a7c5325ef08bc64
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 13 15:48:51 2000 +0000
+
+ added final GL_HP_occlusion_test values
+
+commit ab07ef40930a187f8a9356f57533ec8b74702731
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Mon Mar 13 10:31:57 2000 +0000
+
+ Committing in .
+
+ VMS compile support-update (AATRIANGLE.C)
+
+ Modified Files:
+ Mesa/src/descrip.mms
+ ----------------------------------------------------------------------
+
+commit 9aafc4fd5d92ff0f81f20a3b0d4152ad0dc2f1f7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 11 23:24:01 2000 +0000
+
+ gave temp values to GL_HP_occlusion_test tokens
+
+commit 1b2ff69f468d609a88b1cd31041df2b81931816b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Mar 11 23:23:26 2000 +0000
+
+ initial implementation of GL_HP_occlusion_test extension
+
+commit 516b8363bbe8e625e8e773630772da950eff7d2a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 10 22:12:22 2000 +0000
+
+ glPopAttrib() now calls Driver's ClearColor, ClearIndex and ColorMask functions
+
+commit fca17350b630ce26e2335ffb29d58c9bf897accb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 7 18:24:49 2000 +0000
+
+ removed Driver.UseGlobalTexturePalette()
+
+commit 7a7ca3f345361d26a56de767fc63a1f2d2934ea8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 7 18:24:14 2000 +0000
+
+ minor clean-up
+
+commit 56b99de2fa355533177c2934a6dd100b1479609f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 7 18:23:20 2000 +0000
+
+ implemented FX_grSstPerfStats()
+
+commit 9360a4450da12738f0121958096e31bd21bef71f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 7 17:59:54 2000 +0000
+
+ added GL_EXT_texture_lod_bias
+
+commit 64eef48741a858c6783eea33d7646014af8be09b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 7 17:55:40 2000 +0000
+
+ added GL_HP_occlusion_test, GL_EXT_texture_lod_bias
+
+commit aabf086a03f27aace21f56098989f94b5697c8dd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 7 17:54:58 2000 +0000
+
+ added GL_EXT_texture_lod_bias extension (Michael Vance)
+
+commit 4f92969899df9eb37d3c831cf3e17545877eda6e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 7 17:40:34 2000 +0000
+
+ made gl_make_fog_coords() static
+
+commit b3f16c43508e2875d755e41aba0cd31e3d076d02
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Mar 7 17:11:29 2000 +0000
+
+ added target parameter to Driver.TexEnv()
+
+commit e02ffc1226bdc741eed43e528ec0f0366c987fcc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 6 23:56:21 2000 +0000
+
+ now save Targa image. misc clean-up
+
+commit 463d15add9d33ff75d6902cc8807a7dba706e6ae
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 6 23:35:51 2000 +0000
+
+ added demos/geartrain
+
+commit b50d03e5bc19f937720a784e4a96376bf898518e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 6 23:35:06 2000 +0000
+
+ added geartrain
+
+commit 392a7008d120d8266e7e02a8cb6f1983eff0c4c6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 6 23:34:42 2000 +0000
+
+ initial check-in
+
+commit 7fc29c5fa7b1fc2cc014c7128ac869d0d3c24c7f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Mar 6 17:03:03 2000 +0000
+
+ fixed off-by-one errors in matrix stack setup/cleanup
+
+commit 3f600e47cf36080abbc00a1f08c7e80fd5137a67
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Mon Mar 6 12:59:24 2000 +0000
+
+ Committing in .
+
+ VMS : C++ & Xlib.h problems.
+
+ Modified Files:
+ Mesa/include/GL/glx.h
+ ----------------------------------------------------------------------
+
+commit 0223baaf578598454a36cfdfd7fbeff3358f40ce
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 3 23:21:57 2000 +0000
+
+ removed obsolete logicop function
+
+commit 1b6592aae72e7974a16437c64f90152e83917450
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 3 18:55:45 2000 +0000
+
+ added LineWidth device driver function
+
+commit 4f980f4ebb0fc9ec9032a31d54cc1fd745359e0b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 3 17:53:26 2000 +0000
+
+ depth buffer change, BGR/RGB setup change
+
+commit b440dfeee6a8823c685cfd5a0e505ce163a0d2d3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 3 17:51:35 2000 +0000
+
+ clean-up warnings
+
+commit ed30dfa1264ec8875a3162c3c8778bc703bf11d5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 3 17:47:39 2000 +0000
+
+ runtime selectable depth buffer depth
+
+commit 8df3d8ae6c48cbbe649e8cfeebd8a99f983784f7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 3 17:45:21 2000 +0000
+
+ save ColorTable and ColorSubTable commands
+
+commit 4ee75bdab562d2125836668afab22e3726732c4c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 3 15:39:13 2000 +0000
+
+ moved device driver DrawPixels call
+
+commit c232ecbfdf9e098666853df2013e1f2c4c22cf53
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 3 15:38:57 2000 +0000
+
+ added device driver ReadPixels and CopyPixels functions
+
+commit 54ec0cbfa9b42a0f03c6a5fe945cac94b37e4885
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 3 15:35:51 2000 +0000
+
+ removed GLX_VERSION_1_3 for now
+
+commit 4c7e3c29f7cbf9443b7abe11881504fff3cbfcc2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Mar 3 15:00:14 2000 +0000
+
+ changes to _WIN32 test and APIENTRY test
+
+commit f9b9cd71d68528171a4253be027b7c182fc63ad8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Mar 2 18:34:34 2000 +0000
+
+ minor clean-up
+
+commit 9d823a35134f47b9b0ed2493ff0fe49d9571c10f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 1 23:34:03 2000 +0000
+
+ simplification of GLNAME macro setup (David Dawes)
+
+commit 65d54604c387dca986c876e811362d8e8517dcac
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 1 23:28:20 2000 +0000
+
+ inserted static const in make_null_texture()
+
+commit 3bc58af79d88d1822a2039af32a0a9604aa6710d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 1 20:43:30 2000 +0000
+
+ minor reformatting
+
+commit 15da01e16b73d061a6f20e0664e0c03cc548b0e6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 1 16:24:29 2000 +0000
+
+ added readpix program
+
+commit eca1bc983d564e1be8231b2e1b3f393a2761b2f9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 1 16:23:14 2000 +0000
+
+ test glDraw/Read/CopyPixels()
+
+commit 6b729d41f055ec29b8e229663147a1af891a35f1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 1 03:44:10 2000 +0000
+
+ added GL_GLEXT_VERSION_EXT
+
+commit 058a3ab4cbfba0d5ae229c21c6907e38f594cc55
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 1 03:36:40 2000 +0000
+
+ test for GL 1.2
+
+commit aae9db03e43c36d164a86e2b512202ac510b8084
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Feb 28 20:38:37 2000 +0000
+
+ added proxy texture targets to GetColorTableParameter (Steven Fuller)
+
+commit 26a89579e44d49c397e91bcf9435a1f198ae8ecc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Feb 28 14:51:43 2000 +0000
+
+ added GL_BGR and GL_BGRA support
+
+commit e5ed37fa4ed1cf2323b50d96eafb1dc00c1d6d42
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Feb 27 20:38:15 2000 +0000
+
+ add callbacks for stipple
+
+commit 3994b77bab8c62a4c1a4dffdfba233ef46662b99
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Feb 27 18:26:54 2000 +0000
+
+ changed glXCopyContext() mask to unsigned long, per GLX spec
+
+commit 0f21a5d36b5ec77e19fd660af90c09eab684fec5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Feb 27 18:12:41 2000 +0000
+
+ added a bit of GLAPIENTRY, APIENTRY setup
+
+commit 7f88ac198c7753085969e4b4ba9fba31c1f1e7bb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Feb 27 18:04:59 2000 +0000
+
+ patched for NetBSD support (Allen Briggs)
+
+commit 4c5fb703804661adaeb2437e06e73726b1b9a8cb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Feb 26 00:48:02 2000 +0000
+
+ added all the PFNGL...PROC typedefs
+
+commit 4ceb5616e6abc1f7e9863b67dd5e9928c9205f76
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 25 23:24:06 2000 +0000
+
+ fixed bug when using display lists
+
+commit f5d36aefd10bde366adb268c0dce001afab1cc57
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 25 21:01:41 2000 +0000
+
+ added GL_HAS_GLEXT
+
+commit 45cec8167dfcfda1991f293e39912f2fdab8280f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 25 20:36:03 2000 +0000
+
+ inserted a tab
+
+commit 9f9de170f22f4bc7fc6a31406842fa32b4a92ade
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 25 20:31:11 2000 +0000
+
+ removed the GET_BITS_PER_PIXEL macro
+
+commit f9db0039b161759892e5e9b04334de89ab448811
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 25 20:30:23 2000 +0000
+
+ added XMesaUnbindContext (for DRI)
+
+commit c1aa1218ef301b0fd0a7c948ac38b531632ceca6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 25 17:04:42 2000 +0000
+
+ changed glXCopyContext mask back to GLuint
+
+commit 9ec28c03c07cdae1305d5911317eee8c0ca66db1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 25 16:46:01 2000 +0000
+
+ changed glXCopyContext's mask to unsigned long
+
+commit bb7e2e846cc9eb963a6d6101849952a8e5d770f7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 25 14:59:46 2000 +0000
+
+ fixed front/back buffer stride problem for XF86DRI
+
+commit eaba005f189d73995fc13920e523d66e814f8326
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Fri Feb 25 12:35:57 2000 +0000
+
+ Committing in .
+
+ VMS & type-mismatch problems
+
+ Modified Files:
+ Mesa/include/GL/glext.h Mesa/include/GL/glx.h
+ ----------------------------------------------------------------------
+
+commit f183a0fc01df6af575e80481cfae797cba72d617
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 25 04:42:58 2000 +0000
+
+ added note about double buffering for in-window rendering
+
+commit b11b0954a2c7348bc0a896e256d006eaf7db7924
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 25 04:16:50 2000 +0000
+
+ new fxDDClear(), fxDDDrawBitmp(), example extension registration code
+
+commit e828bc8f61736f6ba2eff7b2d3dd24056c8b86e0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Feb 25 03:55:39 2000 +0000
+
+ Fog coordinate stage which drivers may use to replace standard fogging
+ mechanism.
+
+ LogicOp state change callback
+
+commit 8ceb5c34dd4c0da73f9cb58b803a84e17e545c4b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 24 22:14:04 2000 +0000
+
+ now using SGI-specified dispatch order
+
+commit 7c2225373e95e0a37e744b19a2b792284678ccc7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 24 22:11:32 2000 +0000
+
+ now generated with Python script
+
+commit f1a03a3709c62bfad5066e8ebceaf376aed91a12
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 24 22:08:02 2000 +0000
+
+ added more entrypoints
+
+commit ead285a9266bb5f80e68de122490a6afb88df6f3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 24 22:04:03 2000 +0000
+
+ bunch of dispatch and extension-related changes
+
+commit 8814124f35612c007af6d6674a05e398746f6deb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 24 22:03:21 2000 +0000
+
+ bunch of extension clean-up
+
+commit b5d049f15ef387bdd9f51d6d0b9a3c6dc59ba061
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 24 18:36:32 2000 +0000
+
+ added some error checking
+
+commit 87ae69c45dcaaf6bafe0ca210a0e2a655c63792f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 24 15:12:05 2000 +0000
+
+ use quotes for gl.h and glext.h includes
+
+commit 97c33f3edee4936a684e8736b3f8a6b749ee682e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 24 00:52:23 2000 +0000
+
+ added missing backslash on line 483
+
+commit b629b0743cbe7362f6e0bfa212ea3f6279d9cffe
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 24 00:23:32 2000 +0000
+
+ added more extension entrypoints
+
+commit f3232bcaf1f875e6a7198e3b5ede3e286ceb04fa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 23 23:04:27 2000 +0000
+
+ changed glXCopyContext()'s mask to unsigned long
+
+commit 7ac435066a2af75711369bab609e7551ede23b39
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 23 22:50:35 2000 +0000
+
+ fixed problem in print_extension_list() when ext ended in a space
+
+commit feb06c8d9ab8b4aa7590ebb1ae8a702ea62e1c57
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 23 22:31:35 2000 +0000
+
+ GL_EXT_blend_color is now DEFAULT_ON
+
+commit bfa012d98517174a38cb056060ebb21d6fe3cf4e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 23 16:01:40 2000 +0000
+
+ changed a GLuint to GLint
+
+commit ecfa382144894e03b50a836239f655fccccfb310
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 23 01:52:42 2000 +0000
+
+ fixed a few glitches
+
+commit 7d4d54cf94b634b78552d0b4457f98da85142112
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 23 01:38:29 2000 +0000
+
+ fixed a typo in GL_MESA_resize_buffers
+
+commit 50877fb096ed8c0943ec18ad0f4887df4e154cc3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 23 01:36:44 2000 +0000
+
+ include GL/glext.h
+
+commit 4278ec184d297b3923c07742ed71b05e5f0ab2f4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 23 01:36:17 2000 +0000
+
+ added a bunch of extensions
+
+commit 3b9a5e912ff6dcae3ed932c7cb1baa9a0ffed7a8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 23 01:14:11 2000 +0000
+
+ added glext.h header item
+
+commit 67333973b64d7e1882505fa195ab439d07eb13f4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 23 01:13:33 2000 +0000
+
+ added some missing tokens, fixed some errors
+
+commit cec5f6f00de7254d9598374f7b574492c5ef439f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 23 00:55:38 2000 +0000
+
+ initial revision
+
+commit a5116095010d6f57d71f85e5ede9d534a5099179
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 22 23:59:25 2000 +0000
+
+ sort the offsets by number
+
+commit feaf04a27bfe869d5a1093c5291cd6ee5865c88b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 22 22:45:20 2000 +0000
+
+ initial check-in
+
+commit 7c8cfc69773154937cbe5bbb797595ff78ec4913
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 22 17:14:02 2000 +0000
+
+ fixed bug in 24bpp ximage pixel addressing
+
+commit 02da4625b89affc88df296295d549b33c37ce52c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 22 01:12:39 2000 +0000
+
+ disabled an fprintf in FX_grSstQueryHardware()
+
+commit 8b590c0ad3d462c7e892662b7fe6791fea66ef45
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Feb 21 23:24:02 2000 +0000
+
+ added aatriangle.c source
+
+commit 34c6d687ca49c997390ffbdee50a83495444e5bf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Feb 21 23:00:51 2000 +0000
+
+ fixed off by one error in matrix stack depths (Eero Pajarre)
+
+commit df6a28d105a31cfdc3c7d52574ef81f9d31bd3bd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Feb 21 16:34:21 2000 +0000
+
+ fixed minor bug in copytexsubimage_error_check()
+
+commit a5f618a291e67e74c56df235d45c3eb967ebb41f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Feb 21 16:33:20 2000 +0000
+
+ fixed bug in GL_UNSIGNED_INT_10_10_10_2 unpacking
+
+commit 0e3342ea29f980d3dd36783a35d1e413b282b2e4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Feb 21 14:50:31 2000 +0000
+
+ fixed GL_SRC_ALPHA_SATURATE bug, lots clean-up
+
+commit 5df6816e2c3e5c71d4f2e5f28c964615029d7f58
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Feb 21 14:46:28 2000 +0000
+
+ added CHAN_MAX, CHAN_MAXF
+
+commit 21ab2588217e89f950bff32c386525292f9f773e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 17 20:53:48 2000 +0000
+
+ removed driver RendererString() and ExtensionString() funcs
+
+commit b6273023a22dd971b1c2ad7f7aa4ffadfaee18f1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 17 20:52:49 2000 +0000
+
+ replaced gl_ggiRendererString() with gl_ggiGetString()
+
+commit 27b4b2f003636d7f64829e0487f5f8dbc8b1eebe
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 17 20:52:02 2000 +0000
+
+ replaced renderer_string() with get_string() func
+
+commit 5bd2987840567047f19cc2dad6fc5f3fb84345fc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 16 23:15:01 2000 +0000
+
+ update fog near/far bug fix
+
+commit 7a0f9dbb94947110ed47c3ba4befc2d9ffb1e8c8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 16 23:06:12 2000 +0000
+
+ updated with changes from DRI project CVS
+
+commit 27be87cdff9ecb4a4bdb938f31b7edf28d7cb570
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 16 01:09:06 2000 +0000
+
+ new library dependency vars
+
+commit 6610c2b084a01e72ac5c1602d17ef4b6b25906f6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Feb 13 00:36:08 2000 +0000
+
+ initialize fxMesa->verbose with MESA_FX_INFO env var
+
+commit 2c9bf83b906c16a8a47b3b8b371f9de02b8362e1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Feb 12 21:08:00 2000 +0000
+
+ always include thread.h
+
+commit 85db3d7563f7d2d4d218506771e2a2c27b74b1b1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Feb 12 17:31:40 2000 +0000
+
+ added more error checking to _glapi_add_entrypoint()
+
+commit 3ab6bbe6135da26dfe9a9ba880386fdc98f6580a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Feb 12 17:26:15 2000 +0000
+
+ now using dynamically allocated api dispatch tables
+
+commit ef5d084d3c86beb132ddf9829d28ea78cb9f0197
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Feb 12 16:44:24 2000 +0000
+
+ clean-up
+
+commit e39ed58116bec6c938cbda42e2021ff29823a122
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Feb 12 15:55:34 2000 +0000
+
+ always include <float.h>
+
+commit 59d6da5365c876ba18a66cd51ed52b0e1d96704e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Feb 12 01:59:19 2000 +0000
+
+ fixed reference count but in DeleteTextures()
+
+commit bd986282f388e367fa22a232d44987e35fd06b37
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Feb 12 01:36:40 2000 +0000
+
+ added MESA_FX_NO_SIGNALS env var (Michael Vance)
+
+commit 15b40dfe75b72dd4e5c38bb8dc6d7e68e5a353a5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Feb 12 01:35:24 2000 +0000
+
+ updated with MESA_FX_NO_SIGNALS info
+
+commit fa937f611a5fc8588acc854eaa83e5378f56b052
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 11 21:38:33 2000 +0000
+
+ fixed WIN32_THREADS error
+
+commit af763d5e4379f6dc3b48fdf76332ffa31a44a5bc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 11 21:14:27 2000 +0000
+
+ added code for all GL_MESA_window_pos functions
+
+commit ae773f612c0b9262e9cf9fb63423a44d2125ce46
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 11 20:44:22 2000 +0000
+
+ clean-up
+
+commit 7527a1844defb91c8e9147d0509dfff146746ecf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 11 20:44:00 2000 +0000
+
+ enable thread safety on Linux configs, removed -DTHREADS flag
+
+commit 8df7c673ec2594aaad1893d705fbe19c7ee32fe3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 11 16:15:28 2000 +0000
+
+ added tess_clip.c
+
+commit ab656ba642507b722c4b3fb491724e82b31f3864
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Fri Feb 11 07:25:48 2000 +0000
+
+ Committing in .
+
+ New compile support for FX on VMS
+
+ Modified Files:
+ Mesa/src/descrip.mms
+ ----------------------------------------------------------------------
+
+commit a360ab2a33d60182323de4a3f22dd8f4b8cea1e0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 10 21:54:06 2000 +0000
+
+ THREADS now defined by glthread.h, added more prototypes
+
+commit 3c27be3738f42cb7424483a92dd05259909e54a9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 10 21:27:48 2000 +0000
+
+ changed thread TSD initialization
+
+commit a9601f1b4c57d1579aee36370e7d4bb8820de4bc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 10 21:27:25 2000 +0000
+
+ added support for XFree86 threads. misc clean-up
+
+commit 577c67e860a70ba7b39322676b951d32f7583182
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 10 17:45:52 2000 +0000
+
+ added GLCALLBACKPCAST for Cygnus (Sven Panne)
+
+commit 46a5936f54142816a4ec068502790643a32006f9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 10 17:44:58 2000 +0000
+
+ include readtex.h
+
+commit 80ef05c9d592b9e566743a3a38dd8903808baa78
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 10 17:44:50 2000 +0000
+
+ initial checkin
+
+commit 3d41d5ade74fd6a742139544a8a9ed54b0f5ba83
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 10 17:27:55 2000 +0000
+
+ added GLCALLBACKPCAST for Cygnus (Sven Panne)
+
+commit 9f037fdc72d7d4cf9a3185ee631c9b0e80ab5e42
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 10 16:00:36 2000 +0000
+
+ added OpenStep to LIB_FILES
+
+commit ee5baf274761fade0ddb19062e0fcdeceea3893c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 9 19:13:07 2000 +0000
+
+ udpated version/copyright info
+
+commit aff45fde8074c3fd64b67341ad476ec8b268afd2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 9 19:12:25 2000 +0000
+
+ removed fxDDBufferSize proto
+
+commit e78dd0243c9c1a00f8d1727827182a33f362581c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 9 19:12:02 2000 +0000
+
+ updated fxDDGetString() for DRI
+
+commit 668ac873a0435689d3d1b663ed73fbd876b49ffd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 9 19:03:28 2000 +0000
+
+ updated version info
+
+commit bab8f790aed0085ef4353db69d3c6c537f1174b6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 8 23:42:14 2000 +0000
+
+ glDrawPixels w/ format=GL_COLOR_INDEX was broken
+
+commit 99e89283d6f8f2cbe8bb85da6a0ed144b54de7f8
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Tue Feb 8 07:29:12 2000 +0000
+
+ Committing in .
+
+ Modified Files:
+ Mesa/src/descrip.mms
+ ----------------------------------------------------------------------
+
+commit 73e6952ad71b9c61398f906a0562e35ede5b3e29
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 8 01:45:22 2000 +0000
+
+ added a few missing ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH() calls
+
+commit 397c9dd3755b595777faa426edf4c343e4f2e484
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Feb 6 20:01:36 2000 +0000
+
+ in fxSelectSingleTMUSrc_NoLock(), added check for haveTwoTMUs (Neal Tringham)
+
+commit b79d289bded99e78e6ef64c5f8c4c71770b0e145
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Feb 6 19:29:48 2000 +0000
+
+ clearing depth buffer failed when clearing front color buffer
+
+commit d4ce76275d17c3de3bdbf91f1ca5b2977c4ee02c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Feb 6 17:04:56 2000 +0000
+
+ updated with new info
+
+commit 0b6fec7a6f0d23348c49b430d8ffbe0f47ff0820
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Feb 6 03:03:02 2000 +0000
+
+ added missing glGet cases for GL_EXT_compiled_vertex_array
+
+commit df37c6bd65dcc76b775af84252c622dbc71e4b35
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Feb 5 02:05:14 2000 +0000
+
+ disabled locked arrays in glDrawRangeElements()
+
+commit e69f1f54f9506210c58f104db80adadca0b1fe2c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Feb 5 01:51:54 2000 +0000
+
+ GL_ARRAY_ELEMENT_LOCK_FIRST/COUNT_SGI changed to _EXT suffix
+
+commit 38a683816bb00347d6e34c4b3215e57df8c9c870
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 4 16:23:47 2000 +0000
+
+ added support for GL_RGB5_A1 internal texture format (Eero Pajarre)
+
+commit b13fd0bc9e36379af82f100f8403990b98d791c4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Feb 4 16:22:58 2000 +0000
+
+ pass IntFormat, not Format to fxTexGetFormat
+
+commit 65cd4d80c4093e44e6a340b41e7bae3489b7ea4a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 3 19:40:35 2000 +0000
+
+ added SUB_PIXEL_BITS
+
+commit 539cce52483eb31db5439bdf150a2efd800633a2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 3 19:40:07 2000 +0000
+
+ added point/line size limits to gl_constants struct
+
+commit 1816ec450040a070ec74fff57c3215efb6bc485d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 3 15:33:29 2000 +0000
+
+ added Const.SubPixelBits
+
+commit cd8e492c558c2fee3b2a837e5e68aaa2a9fd2cf8
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Thu Feb 3 09:35:17 2000 +0000
+
+ Committing in .
+
+ Updates effective and needed for VMS only
+
+ Modified Files:
+ Mesa/src/descrip.mms Mesa/src/glapitable.h
+ ----------------------------------------------------------------------
+
+commit ab8de7b678f2e1954ef83e7339d388c8f2f55a4f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 2 22:22:59 2000 +0000
+
+ minor clean-ups
+
+commit 5829f0c960f9ccceecd2a4a1c1ce300a71ef4a0f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 2 22:21:39 2000 +0000
+
+ changed _gl prefix to _mesa_ on fog functions
+
+commit 4bad6744d20b4efb713e785015dc0abb33cb929c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 2 22:16:04 2000 +0000
+
+ replaced gl_ prefix with _mesa_ prefix on depth funcs
+
+commit b34024bc6207efb460e621ccd9bc08b944b2c235
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 2 22:08:26 2000 +0000
+
+ replaced gl_ prefix with _mesa_ prefix on blend funcs
+
+commit 42fcf03e3a39eb68889f25c279203183e2d820e9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 2 22:03:31 2000 +0000
+
+ replaced gl_ prefix with _mesa_ prefix
+
+commit bd409f4143b20940a2111c73d3367013039491ec
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 2 21:53:11 2000 +0000
+
+ added check for IntegerAccumScaler > 0 in GL_RETURN case
+
+commit 8427d93449b69a3f6918ad43b4d7dc3083b29b3d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 2 21:52:26 2000 +0000
+
+ changed prefix to _mesa_ for a few accum functions
+
+commit 8460cc9bf9e3e6f237add35c1a635f137e57c184
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 2 20:57:51 2000 +0000
+
+ try both single and double-buffered visuals
+
+commit 831f8ada7bcb995e0aaf78de73ffb791ee632900
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 2 19:50:26 2000 +0000
+
+ don't include dispatch.h
+
+commit a02fb6afc865a30077ae4d802a7020371c141e73
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 2 19:34:08 2000 +0000
+
+ added comments
+
+commit 3face37ca4130b4c8e8aebcc4e25f6f19843c3fa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 2 19:28:27 2000 +0000
+
+ include buffers.h
+
+commit fab9712714a3b2d185df6155b1aec1615f8dc053
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 2 19:19:30 2000 +0000
+
+ updated source files
+
+commit 784d76024cde45b02d9a2cabcf6e5d97c605fcec
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 2 19:18:19 2000 +0000
+
+ moved exec dispatch init to state.c
+
+commit ea39f042c378c234b573ceead4c5194020d949c4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 2 19:17:57 2000 +0000
+
+ updated includes for source file reorg
+
+commit fa9df40e8a40824942ea8c6ec17c06c28bea1102
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 2 19:16:46 2000 +0000
+
+ moved state functions to state.c
+
+commit 23903a2338cc5931218fa310d31de002d7a7676b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 2 19:15:53 2000 +0000
+
+ removed glmisc.c, added buffers.c, hint.c, state.c
+
+commit d0a3ea051a3825441cdc97a82fa9a9c6e7e83087
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 2 19:15:19 2000 +0000
+
+ functions from context.c
+
+commit f2dce7216766ff8753d730b9b5aa6ac63e8cb0c7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 2 19:14:56 2000 +0000
+
+ functions from old glmisc.c file
+
+commit b086b95fed094b57b8b4ec5ef541001cd64f613b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 2 18:50:07 2000 +0000
+
+ replace offset with functionOffset in generate_entrypoint()
+
+commit b45c71aeff84d8559ce52f5caac1ca8ee5bed157
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 2 17:31:45 2000 +0000
+
+ changed > to >=
+
+commit d2702f0022055dcf1df53d9fbad5ab4497d8ed35
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 2 01:07:21 2000 +0000
+
+ limit Drift to [0, 1]
+
+commit 6b8cced81a75bfe9f4141e0cbd3b8193ab74c310
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 1 23:57:03 2000 +0000
+
+ patch for XFree86 building
+
+commit f224b12a5b3dbde3c53d3cf986ffd63da1ca5e2b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 1 01:19:07 2000 +0000
+
+ added normal, vertex, viewport message strings
+
+commit 59668e3eb35b9b7530346719f1f69ca365072656
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 1 01:10:27 2000 +0000
+
+ added more message strings
+
+commit 075398b8795a014ec9852ae7f13db1e1cc0e15d5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 31 23:33:53 2000 +0000
+
+ defined FLT_MIN if undefined
+
+commit 9560f05deffaf0321bba1bd0fcc8eeef4199e6e0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 31 23:11:39 2000 +0000
+
+ added mutexes for thread safety
+
+commit bc794059d81e24eaac9f603f71b659d9c2d3716e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 31 23:10:47 2000 +0000
+
+ added Mutex macros
+
+commit 663049a719ed76aa0a6f24f1951a411d241bc8a4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 31 23:10:16 2000 +0000
+
+ added _mesa_TexImage3DEXT()
+
+commit 2b1c416e213173bbc8db6ff5daf493f331f9ffbe
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 31 23:09:51 2000 +0000
+
+ added save_TexImage3DEXT()
+
+commit e0a87f9087557b87f9c4abc29d18c5383c10aafd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 31 23:06:07 2000 +0000
+
+ removed unneeded \n chars
+
+commit 3a6eeddb8a97a61601593c8184e073a115653f34
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 31 22:54:41 2000 +0000
+
+ changed message format, added GL_EXT_texture3d
+
+commit 976dba29650878c980b5eaae4f65b19d1eeeb25b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 31 22:54:06 2000 +0000
+
+ added more function templates, changed message format
+
+commit 8fddcf3343a3da598ff8203f4569845bb41084b7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 31 22:52:50 2000 +0000
+
+ fixed protos for glTexImage3DEXT and GetDetailTexFuncSGIS
+
+commit 4428a3f359a791eed45c1a05d22aca9a2cce5ae5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 31 22:51:44 2000 +0000
+
+ added Josh's dynamic display assembly generator
+
+commit 4df415b190cc0d6dd19d09729bbce03b6acbeddb
+Author: tanner <tanner>
+Date: Mon Jan 31 22:10:06 2000 +0000
+
+ include conf.h
+
+commit a749f75826a2156eb7dab4b058cc2ef0da05d41d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 28 22:18:48 2000 +0000
+
+ include glapioffset.h instead of ../glapioffsets.h
+
+commit bfd2bd2b3a24723b3a9f5fc7d590ea639a92482a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 28 22:18:03 2000 +0000
+
+ added -I. to .S.o rule
+
+commit f9b97d95f9bf9286107586d6afdadae74bb94d36
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 28 20:17:42 2000 +0000
+
+ renamed _glapi_CurrentContext to _glapi_Context
+
+commit 9f94399cf331b5b81ef5dee86b0ef02d131337c6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 28 19:03:33 2000 +0000
+
+ removed actual GL entrypoints (glapitemp.h)
+
+commit 01c071340d046a909aefcca16e8fa32cbd3c8791
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 28 19:02:57 2000 +0000
+
+ moved entrypoints here from glapi.c
+
+commit 68ee4bc7caf5a48c8a5c51efc258e74eb9689905
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 28 19:02:22 2000 +0000
+
+ enable/disable no-context warnings depending on MESA_DEBUG
+
+commit 3228421f69764c10dbbf5cd3df49f133b152515a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 28 19:01:45 2000 +0000
+
+ added default template macros
+
+commit 8d365ab2048bfee8cd4138c15cb0371fd63f31da
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 28 18:57:56 2000 +0000
+
+ updated comments
+
+commit d73af1122a027ac5f6972a8e613504926f4077ae
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 28 16:28:51 2000 +0000
+
+ added texdown info
+
+commit 062ebf45c5ed645a0e208378fe5b87d95b2d9c1e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 28 16:27:27 2000 +0000
+
+ added texdown program
+
+commit 215ff2265163349808b3bba3170d25cd10904601
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 28 16:25:44 2000 +0000
+
+ initial check-in
+
+commit 998955f54f85924c2e7f44d0649be07c90978ee7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 27 21:20:59 2000 +0000
+
+ added improved glxinfo item
+
+commit 83f1d317c2996a98cca1140fd15a635d43e36b72
+Author: Holger Waechtler <holger@akaflieg.extern.tu-berlin.de>
+Date: Thu Jan 27 20:01:57 2000 +0000
+
+ added prefetchw
+
+commit e06c7f32cfe0ee9de5444e2597c80c39f33ed1f1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 27 16:53:55 2000 +0000
+
+ minor changes regarding transparency and multisample
+
+commit 262f9e52d6a511fffd1e6746de9d83d89cca9e1a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 27 16:45:50 2000 +0000
+
+ updated version string to Mesa 3.3
+
+commit 76bc4403fdda7dcb031e5bed895b3b289e43e06d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 27 16:43:56 2000 +0000
+
+ all new version of glxinfo
+
+commit e9fa7908d16a0dcf28a1357c2c1760980d58c8ec
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 27 00:26:03 2000 +0000
+
+ include conf.h if HAVE_CONFIG_H defined
+
+commit b39e3bad1db5388e9067c18835621c110ef067ef
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 27 00:11:49 2000 +0000
+
+ added WIN32 and macos files to tar archive
+
+commit 04f1248ef9d6bfdac16bea5fe38342c22edbc386
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 25 20:21:19 2000 +0000
+
+ updated RGB2BGR function
+
+commit 0fed6a1bded5940afba8b94e15b6ad72ebb07245
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 25 17:18:52 2000 +0000
+
+ added info about assembly language optimizations
+
+commit d8aec9b55b0180384e96cddff48fc48751bbc320
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 25 17:04:47 2000 +0000
+
+ only print info if MESA_DEBUG is set
+
+commit 3781b7bfa5bf0f4e69f8e9641b9d0a9af95c1562
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 25 16:49:20 2000 +0000
+
+ fixed VB->IndexPtr==NULL bug (Richard Guenther)
+
+commit ebd5feab9af92ff08c2b9280e6dfa1a44a7d1c22
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 25 00:03:01 2000 +0000
+
+ updated for Mesa 3.3
+
+commit 2454429915c05c69a86804817c95cc5b634699af
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Mon Jan 24 22:54:05 2000 +0000
+
+ Removed '#if 0' from second pass.
+
+commit d13bfbf7c6e6a730ecc4c3fdef6ddd86ab2ea846
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 24 20:54:18 2000 +0000
+
+ changed VB_MAX, no longer dependant on FX symbol
+
+commit c79fab4aa6d4c2d399c2ca888fdf0e6c310f7303
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 24 20:53:32 2000 +0000
+
+ replaced HashLookup() with _mesa_HashLookup()
+
+commit bb79790662f56eb71aafd3f020cd86ad810f56b2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 24 16:19:54 2000 +0000
+
+ prefixed hash functions with _mesa_
+
+commit 3b7a75a0cee57d298a222b049fbdfce43b30b99d
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Sun Jan 23 21:25:39 2000 +0000
+
+ Merged 3.2 updates, namely combine callback for intersecting
+ contours.
+
+commit 35a2227547e072f1473a3c2d9c2cfc32462c6cc8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jan 23 17:49:54 2000 +0000
+
+ added #ifdef SVGA, work-around asm code problem
+
+commit 28cf3043b69a2e6060a9c825029abd4c70977673
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jan 23 17:48:16 2000 +0000
+
+ added new SVGA driver files
+
+commit fccc9298b8d6ba83510ed954061b098439c29a61
+Author: Josh Vanderhoof <joshv@users.sourceforge.net>
+Date: Sun Jan 23 05:47:14 2000 +0000
+
+ prevent spaces in fp register names
+
+commit ade76cd4ab8d5aebfcc73d4e0edd1257e76170fe
+Author: Josh Vanderhoof <joshv@users.sourceforge.net>
+Date: Sun Jan 23 05:08:51 2000 +0000
+
+ no brackets for nasm indirect jumps
+
+commit 50a46abdd93f290c0dceb440f9b35b307f337c72
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 22 20:09:30 2000 +0000
+
+ updated for Mesa 3.2
+
+commit 069965f1709d7bcaecca0db9baf6b18e6f20f598
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 22 20:08:36 2000 +0000
+
+ updated SVGA sources from Mesa 3.2
+
+commit 99dd0d4092b2a30546359e4513b9a0dbca2e9483
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Thu Jan 20 21:52:01 2000 +0000
+
+ Merged in fixes from 3.2 branch. Fixed clipping bug, segfault in
+ vertex sorting function.
+
+ Debug is now enabled with MESA_TESS_DBG_LEVEL environment variable.
+
+commit e257733d0348933663ed264963d034a71f584622
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 18 17:56:05 2000 +0000
+
+ updated with latest DRI tree changes
+
+commit d15422a951a9c42b7f8ac8b46548a5fe3945a21f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 18 17:40:05 2000 +0000
+
+ replaced some spaces with a tab
+
+commit ffebe69866b0ca99a135ee778ad461bc52b00230
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 18 17:38:40 2000 +0000
+
+ generic_noop() now returns 0
+
+commit 5666c636936be761e7928566e82b5af2e95a11ce
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 18 17:36:16 2000 +0000
+
+ renamed CURRENT_INPUT to _mesa_CurrentInput
+
+commit 187bce0724fe0606614df3de57c2dc2b65623545
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 18 17:29:18 2000 +0000
+
+ minor clean-up
+
+commit c902f7d05ae854f4c0b520f2f8c37263c96995af
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 17 23:22:57 2000 +0000
+
+ added do /while to multi-line macros
+
+commit 5428705eee20ab73c61f952f19e4c2b29c25610c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 17 20:00:15 2000 +0000
+
+ added X86-optimized message for MESA_INFO
+
+commit 003caf24bbf87c46130cda4bb9012495b863a0e4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 17 19:45:37 2000 +0000
+
+ disabled X86-optimized dispatch when using XF86DRI (temporary)
+
+commit 328bb7f40f3d07bb12607839dd6a9259861af0e0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 17 19:28:43 2000 +0000
+
+ added _glapi_Dispatch
+
+commit c2319b43155a566223c4692e3b0710d98b3aeef6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 17 19:28:31 2000 +0000
+
+ renamed _mesa_Dispatch to _glapi_Dispatch, misc clean-up
+
+commit 3ae56c6cc4a0b40d8329f7d28a75d1c912f77d9d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 17 19:00:52 2000 +0000
+
+ removed X86 files from linux debug configs
+
+commit e23b16012fecc3ce2f60d153f3034eaf85a4aef9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 17 18:09:11 2000 +0000
+
+ added copyright info
+
+commit 3db088f7d792021c8ed628a776355fc315a479a9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 17 18:05:24 2000 +0000
+
+ added missing POINT/LINE RANGE/GRANULARITY tokens
+
+commit 3be135f0000515f677c3ca927034caa2fc669e2e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 17 15:40:43 2000 +0000
+
+ Z values were wrong in selection mode (Holger Waechtler), misc clean-up
+
+commit d0edf6ad30f3265caf181941055d1b578109b5e7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Jan 16 18:35:25 2000 +0000
+
+ use nplanes instead of bitsPerRGBValue in GET_BITS_PER_PIXEL macro
+
+commit efe03ae1afbb828fe9d942accebcee6c098674e4
+Author: Josh Vanderhoof <joshv@users.sourceforge.net>
+Date: Sun Jan 16 07:26:35 2000 +0000
+
+ x86 assembly dispatch
+
+commit c26d81842a9e074d059a802033d3311ac628aa8e
+Author: Randy Frank <rfrank@rsinc.com>
+Date: Sat Jan 15 06:13:26 2000 +0000
+
+ Added occlusion test code. Follows the HP proposed occlusion test extension.
+
+commit 0deb3737c4f41c914f3536bb12bba9e6a668919c
+Author: Randy Frank <rfrank@rsinc.com>
+Date: Sat Jan 15 06:12:18 2000 +0000
+
+ Added entry point and define for the occlusion test.
+
+commit ed236aa0d06d8646bb2cfebf03cba1d2aa1cf85d
+Author: Randy Frank <rfrank@rsinc.com>
+Date: Sat Jan 15 06:11:33 2000 +0000
+
+ Added test for the occlusion test code.
+
+commit acb6297e14a482e2ec45bc2ed535c08b1a84c249
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 14 16:35:25 2000 +0000
+
+ minor change for DEBUG builds
+
+commit 4f68a7f5c724329265851c7e48297a0733f55b1a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 14 16:25:56 2000 +0000
+
+ first check-in
+
+commit 95ff9aaa0df62427373f313cbe56f62dbedae485
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 14 16:24:56 2000 +0000
+
+ updated for Mesa 3.3
+
+commit 304357dcd496f7ebf499fd9c77b4eba83a75abd5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 14 04:55:44 2000 +0000
+
+ GLcontext is now nested in OSMesaContext
+
+commit 4d053ddae8cc48dd29a75e67290cd09ed995f5c3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 14 04:45:47 2000 +0000
+
+ added gl_initialize_context_data(), gl_free_context_data(). code clean-up
+
+commit 113edcc755cd6c86c7eba3929514f628d8c7c119
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 13 17:58:41 2000 +0000
+
+ added fxMesaContext arg to fxInitPixelTables()
+
+commit 4049cd35d89ad5eb29de15705ddc4190df5e8946
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 13 17:40:12 2000 +0000
+
+ applied Daryll's patches for GLX_DIRECT_RENDERING
+
+commit 7c1f6e4110805ef3d9b40847e13275891f7f94d7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 13 00:44:37 2000 +0000
+
+ added -Wmissing-prototypes and enabled pthreads for linux debug configs
+
+commit 80c6243e8b7a18114089b2411e68c1083a874cba
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 13 00:35:09 2000 +0000
+
+ added _mesa_ArrayElement() proto
+
+commit 62c184258b7421b20e368ba574d1d4e330e5cb64
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 13 00:34:45 2000 +0000
+
+ added gl_register_config_var() proto
+
+commit a0020435f58baef6a67d3c073b62ea6b1d143af1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 13 00:32:12 2000 +0000
+
+ init a few vars to silence compiler warnings
+
+commit 4fc91a1427a909b1db179cec569f12c3870e00f4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 13 00:31:10 2000 +0000
+
+ include dispatch.h
+
+commit c7a5dbe3b3f5dd0fbbf1acdba3d3ec04d6e42811
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 13 00:30:41 2000 +0000
+
+ clean up of eval_coord1/2f()
+
+commit 16a9efe3ab73bb9b728100a36cf324085c1603b8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 13 00:29:02 2000 +0000
+
+ commented out gl_reinit_light_attrib()
+
+commit fd75e6d4e551fa21ffec6f215698609f30937d3d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 13 00:27:05 2000 +0000
+
+ commented out unused function
+
+commit 4463a24909c9a34fc5ad79b26f2ce03c3ae14118
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 13 00:25:22 2000 +0000
+
+ minor clean-up
+
+commit 780806f4d4987cc5c4268188451b5c209f901eff
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 13 00:24:48 2000 +0000
+
+ made some functions static
+
+commit 2037663200190090a20ef6612f3f855149b4bad8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 11 22:01:08 2000 +0000
+
+ another fix for gluPartialDisk() in GL_LINE mode
+
+commit 5e5f462701d50591b1c1721cffa7482832dca359
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 11 17:21:14 2000 +0000
+
+ fixed missing slice problem in gluPartialDisk()
+
+commit 0219d325053e6c7029ae4cedfbeddaefed4fe0e5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Jan 10 04:29:09 2000 +0000
+
+ added printf-message to dispatch templates
+
+commit 45691208ff4b53944d9ace923e73989377d64b77
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 8 11:14:01 2000 +0000
+
+ added amesa.h to tar file list
+
+commit b3674092f20e83081f8a855da67aa3448f24c03e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 8 11:01:24 2000 +0000
+
+ removed DISPATCH_SETUP, added RETURN_DISPATCH
+
+commit e8dad9dbe4f83f1cd446f1eece8de67d7ccbcc2c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 8 10:51:20 2000 +0000
+
+ fixed prototype typo in glHintPGI ( )
+
+commit 6132833b51e520b180735783c0fb903ecfe9ac7e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 7 08:47:15 2000 +0000
+
+ minor updates
+
+commit c6c06c92b2b85cd0401fd107c825829a39d186be
+Author: Jon Taylor <taylorj@ggi-project.org>
+Date: Fri Jan 7 08:34:43 2000 +0000
+
+ * Fixups to the GGIMesa code to reflect the recent DD API changes
+ * Added a new GGIMesa debugging-print subsystem
+
+commit 3c3533c5c8070fcca25247945cebedea60616082
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 7 07:42:33 2000 +0000
+
+ added missing glHintPGI() function
+
+commit 77aa8b9c865eb1e676a0af0cd6c28f3f7967093f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 7 07:30:13 2000 +0000
+
+ improved robustness of extension handling in static_functions[] array
+
+commit 1e4ded3bc3ea312ca7b70c975386043e27c70b63
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 7 07:28:22 2000 +0000
+
+ added glHintPGI template
+
+commit c2bd8197e1f29390ce346444ef48775ccd0c2297
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 7 07:24:50 2000 +0000
+
+ added BitsPerPixel to XMesaVisual struct
+
+commit 0d7846fe1574b9ca1f9a227c5d5371fea3d919a6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 7 07:22:48 2000 +0000
+
+ updated version string
+
+commit 0eb3b021eee1db07244add94333f786f36e5cd0a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 7 07:16:34 2000 +0000
+
+ removed cpp conditionals from _mesa_init_exec_table()
+
+commit b44c86d67cd47fbabfdbcca0d3946ae33ad85604
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 7 06:09:05 2000 +0000
+
+ fixed GetString template, added GL_SGI_color_table templates
+
+commit 0a654a5d5a99e00e1456cd04870dd6e656b558f9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jan 7 05:35:37 2000 +0000
+
+ assigned official GL_ARB_transpose_matrix enums
+
+commit a3bcbfaeb1faf1c38a6816064597cd0c1e6639a0
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Fri Jan 7 01:42:06 2000 +0000
+
+ Committing in .
+
+ Work around for bug in VMS7.2
+
+ Modified Files:
+ Mesa/src-glut/glut_event.c
+ ----------------------------------------------------------------------
+
+commit 075f184b745ed905fd4155b3104a7313ae90924c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 6 09:30:37 2000 +0000
+
+ return GL_FALSE in fxDDColorMask
+
+commit dd020f13a6d520b46aefd4453dae6b6edcc427f6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 6 09:28:38 2000 +0000
+
+ updated Clear function for new mask bits
+
+commit d3c145b98a6ef51d1239b8a47f199d245e6f1fd3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 6 09:28:07 2000 +0000
+
+ new Clear function mask
+
+commit 276988ec96a48d4ee5c28c0a2da3aa2b5ee0bbea
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 5 09:21:32 2000 +0000
+
+ minor clean-up in _mesa_unpack_ubyte_color_span()
+
+commit 316b75ecc2e5d5c2b82ea154d8b10622820c910b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 5 07:02:15 2000 +0000
+
+ misc updates
+
+commit 0aa0e556a1219f5e272d0fec009b5c18cdaaa341
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 5 06:33:17 2000 +0000
+
+ clean-up of Linux target configs
+
+commit 26e14d2ea15c12a1534f3a76278f149cd0a6278c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jan 5 04:36:17 2000 +0000
+
+ removed _glapi_ThreadSafe
+
+commit 90d9e02f3ac9bda1650caaf37fe5f0e3f4ce01cf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 4 08:14:36 2000 +0000
+
+ start search at 1 in HashFindFreeKeyBlock()
+
+commit 2d2e9c0c0aa2db30e9fc567ea76b80ab5721289a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jan 4 08:07:09 2000 +0000
+
+ added missing glColorTableParameter defines
+
+commit 53a36fc0da2b8a904ff82203317d083772acfdad
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 17 17:01:31 1999 +0000
+
+ optimized GET_IMMEDIATE for thread safety
+
+commit 09cb14872e97384838b2442a328e1018fd5b2922
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 17 17:00:32 1999 +0000
+
+ print thread safety info if MESA_INFO set
+
+commit 26651d0519f42e420885ce909c4a1f55ba85525a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 17 15:25:14 1999 +0000
+
+ updated for new thread support in Mesa 3.3
+
+commit a02b03afa495c642766cab209d189cd644b8b720
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 17 15:15:46 1999 +0000
+
+ updated with latest source files
+
+commit ef46f450ee6a466d5495fb44d62657c80a8d6aa7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 17 15:03:52 1999 +0000
+
+ replaced mthreads.c with glthread.c
+
+commit 0003778847df6adb792f453df83808fefa560f18
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 17 14:52:35 1999 +0000
+
+ further simplification of thread-related code, misc clean-up
+
+commit 8f91fb630c3292c6294384783d02e2e7402fc778
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 17 14:51:28 1999 +0000
+
+ added current context functions, made ThreadSafe public
+
+commit d3c070ca6a36daa765b1ad7f44e03e6671ad0490
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 17 12:23:25 1999 +0000
+
+ removed old thread code
+
+commit c633693a28caa6ba09bb04e283b485f54f4d498e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 17 12:21:38 1999 +0000
+
+ fixed thread problems
+
+commit 590d34726d96bbe238c4c1d1b09ab5e905c4ca73
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 17 12:20:23 1999 +0000
+
+ more tweaking of thread support
+
+commit e2b10e72a641d0450bd7c537af2929381371770f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 17 11:13:54 1999 +0000
+
+ don't free thread data in pthread_key_create()
+
+commit 6ef84acfece561577496387447d205968cfc21da
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 16 17:33:43 1999 +0000
+
+ minor clean-up
+
+commit bb72d326a0c5f24a05bb586d64fbacc6b8172048
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 16 17:31:59 1999 +0000
+
+ thread support now works
+
+commit c11371a4e5a600a0c3a5b8e052ff4b4e4fb22820
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 16 17:31:06 1999 +0000
+
+ initial rev
+
+commit 3aecc5180509cb14cfd27f8f32e6618db21f2fcf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 16 12:38:54 1999 +0000
+
+ minor change
+
+commit 0c239fc6c55a6ef1ff0e3b60a4822ddea3efc751
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 16 12:38:11 1999 +0000
+
+ new threading, more functions added
+
+commit e3a49d0cefe0a16ac8bc30463fa1277e058b320c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 16 12:36:54 1999 +0000
+
+ added more functions
+
+commit fd5d305a9fb8ab3cdddf0e7db671ff1190b46c35
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 16 12:36:30 1999 +0000
+
+ added more extension functions
+
+commit 24e50d4dea37b037f1466c1398cffa43a7a24612
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 16 12:35:18 1999 +0000
+
+ initial rev
+
+commit c02db13e00b4cee3869d2a0e3cb3d38959aea050
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 16 08:54:22 1999 +0000
+
+ added a cast to malloc call
+
+commit acd181021da35f3cfa92ba4511ed20f430a01bc2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 15 15:03:16 1999 +0000
+
+ added _glapi_get_proc_name()
+
+commit 0f710258c22ca1ee4a009162c4c63562a061306a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 15 15:02:30 1999 +0000
+
+ new thread code
+
+commit 77e898629ecaecf257ee7f2d5c91469904aabb27
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 15 13:14:54 1999 +0000
+
+ initial rev
+
+commit 95b305cc971fad3a17c959268ab1912660a8810f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 15 13:14:22 1999 +0000
+
+ just include Makefile.X11
+
+commit 381e5555a53a2178a83f579582ac735cdaf9aa78
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 15 13:02:09 1999 +0000
+
+ made a few globals static
+
+commit 7e401c1546fb7a134b3a6058aef18b40b7917993
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 15 13:00:45 1999 +0000
+
+ moved #define to column 0
+
+commit 6625fc53e04db4f3460c97afc20b5621a9130f33
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 15 12:59:52 1999 +0000
+
+ replaced 0 with 0.0 in sin, cos calls
+
+commit 73ee3ef749ffc6e595b9a29feddc4735c68e04c8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 15 12:55:54 1999 +0000
+
+ removed _GLAPI_ extension testing
+
+commit 67661b04f2b31691ef8e5a557624654b25e6d553
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 15 12:52:31 1999 +0000
+
+ added many more extension entry points
+
+commit 945d18a5e2fb64d150c1a66faef63b3d1c77ede1
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Mon Dec 13 04:08:27 1999 +0000
+
+ Committing in .
+
+ Update for VMS only
+
+ Modified Files:
+ Mesa/src/stencil.h
+ ----------------------------------------------------------------------
+
+commit 19a2ebd02f2f897fa1735f0bfb2670acf185ab29
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Dec 12 17:24:18 1999 +0000
+
+ removed unneeded code in gluBuild1DMipmaps()
+
+commit 6fc61407a31dc1ea2e00b803c7f6d355f278fb0d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Dec 12 17:04:50 1999 +0000
+
+ bitmaps were vertically shifted by one pixel
+
+commit ff06c837b5c743d2fe6cec4ca3474245861b699c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 11 09:54:33 1999 +0000
+
+ added GLX_ARB_get_proc_address
+
+commit 97febca0f3b589fb8c245640ac4a5dd45633784c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 11 09:20:53 1999 +0000
+
+ added GLX_ARB_get_proc_address to extension list
+
+commit cd96388857255711c4e33e7d2626f199d3810d15
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 10 20:01:06 1999 +0000
+
+ implemented GL_ARB_tranpose_matrix
+
+commit 0056c5e40d7c5702420f314fa4f68159e5a64cd6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 10 19:54:50 1999 +0000
+
+ added GL_ARB_transpose_matrix
+
+commit 147864793248ac106f3cd06d337eddf6be102be3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 10 19:13:42 1999 +0000
+
+ new depth buffer functions
+
+commit 4c7fd2cfce9b5cd067837ac09309ea9eec9a96eb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 10 19:13:14 1999 +0000
+
+ pass new args to gl_create_framebuffer
+
+commit d91fb9f5929d8a80dc8ea0b16d69c00342e34319
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 10 19:11:23 1999 +0000
+
+ applied Daryll's patches
+
+commit 4c44d63f01a01f134d7e4456d4209edee97f9ef5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 10 19:09:59 1999 +0000
+
+ pass new args to gl_create_framebuffer()
+
+commit 5c3bee503999fbc0d7c65462ff62f9e38fe40e33
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 10 19:09:21 1999 +0000
+
+ changes in hardware depth buffer support
+
+commit f5abeebf491f8f8d0ae57d602fb3166b52b475b6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 10 18:56:48 1999 +0000
+
+ applied Daryll's patches
+
+commit 5ee41bda2cbcaf77b8ce08f1735141a68a872751
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 10 16:15:04 1999 +0000
+
+ updated for hardware stencil support
+
+commit 86d518ec5b12248a985dc28021a2f8f4a2a2e525
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 10 16:14:40 1999 +0000
+
+ added stencil buffer functions
+
+commit ab9f21e68e1484263dca002446e2ec482c27954e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 10 15:38:08 1999 +0000
+
+ code clean-up
+
+commit e7d9d974712646fc41cde8d73e1fb3bf78655405
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 10 15:16:49 1999 +0000
+
+ added glXGetProcAddressARB()
+
+commit aaeea91bd045f5693d822085adf5322b022bd092
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 10 15:13:57 1999 +0000
+
+ removed gl_get_proc_address()
+
+commit 7c68acc32ed43496178a16a24f6228b2cef17e72
+Author: Andre Werthmann <wertmann@cs.uni-potsdam.de>
+Date: Wed Dec 8 11:52:29 1999 +0000
+
+ added the katmai_transform_points4_* functions
+
+commit fce01a5a168630f3c29d0359cea849552ebed901
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Tue Dec 7 09:02:12 1999 +0000
+
+ Committing in .
+
+ Make supportupdate for VMS
+
+ Modified Files:
+ Mesa/src-glu/descrip.mms Mesa/src-glu/gluP.h
+ ----------------------------------------------------------------------
+
+commit ff5ce773b254ab37cc0e01d62c131a32338b667f
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Mon Dec 6 09:39:34 1999 +0000
+
+ Merging in work from 3.1/3.2 branch. Tessellator is essentially fully
+ functional now.
+
+commit a1216fe3a21238c48a56d073bdd0a5a821da64a3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 4 21:23:55 1999 +0000
+
+ Clearing stencil buffer now observes the stencil write mask
+ Optimized gl_depth_stencil_span/pixels() functions
+
+commit c63a8693bb2e26b703fcbb99df731f1fe7a81a26
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Dec 4 21:23:17 1999 +0000
+
+ minor stencil-related changes
+
+commit b22ac10c1a3c72efa91633a861aea29e28f50fd2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Dec 3 18:50:48 1999 +0000
+
+ added glCopyPixels bug fix
+
+commit 32c3255e0688d33d158b19375da085ca85075021
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 2 20:33:06 1999 +0000
+
+ test for null newCtx before newCtx->FirstTimeCurrent
+
+commit 7b0903557af6a1c2342bb1bac4ecd46a4cc509a0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Dec 2 15:21:26 1999 +0000
+
+ added WM_SYSKEYDOWN case in __wglMonitor() (Eero Pajarre)
+
+commit 420ef64f18208a54b97e96936b741dc1531e45c8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 1 21:10:08 1999 +0000
+
+ gl_BindTexture was broken when target==GL_TEXTURE_3D
+
+commit eb6e3d3613fda6e91f3b3fd9fb1e6a656cf461db
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Dec 1 01:22:20 1999 +0000
+
+ fxInitPixelTables() change for Voodoo 1/2 vs 3
+
+commit b7a4304f70c498ff68fceaf584b579ea2df91acb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 30 20:34:51 1999 +0000
+
+ print debug info in gl_make_current() if MESA_INFO env var set
+
+commit 2ed15898c42aa080d8d2030311581bdf3bd740b9
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Mon Nov 29 08:43:31 1999 +0000
+
+ Committing in .
+
+ Update makefiles for VMS due to obsolete files
+
+ Modified Files:
+ Mesa/src/descrip.mms Mesa/src/mms_depend
+ ----------------------------------------------------------------------
+
+commit e93842b6aa0e0ecb51ce39b8392a570815ae4358
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Nov 28 20:18:50 1999 +0000
+
+ added missing functions in GLX_functions[] array
+
+commit 36cfa38760cc2bd91c08b66bb62c4b6cf9eb5454
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Nov 28 20:15:04 1999 +0000
+
+ updated comments, removed obsolete functions
+
+commit cac5cdd6f77c8cb4f293433a90ae0e7d12ca7800
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Nov 28 20:11:56 1999 +0000
+
+ removed include fakeglx.h
+
+commit 621a05d12ffa1ad60dd53ce92486113bdb7796db
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Nov 28 20:10:24 1999 +0000
+
+ removed realglx.c
+
+commit 71600f0ce62720fbd7b2868a351359a18d5e94bc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Nov 28 20:09:46 1999 +0000
+
+ obsolete
+
+commit 426cb9f58f194a1e30e0908e8fc971bdcae06960
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Nov 28 20:08:02 1999 +0000
+
+ changes for new GLX dispatcher
+
+commit e17ba7120fee25e57e7e19fc55d4dbb7b5634f1f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Nov 28 20:07:33 1999 +0000
+
+ all new dispatch system
+
+commit 6f2311270cb30c74dc705c6e981f35bbf31ddb96
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Nov 28 20:07:19 1999 +0000
+
+ initial rev
+
+commit cdc62309b425da7809375a25ca2709351704c090
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 27 21:42:12 1999 +0000
+
+ move dispatch table size check into _mesa_init_no_op_table()
+
+commit f25e1ac31f4912babb75d55c7ea86467dedf0a41
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 27 21:40:42 1999 +0000
+
+ added call to _mesa_init_no_op_table()
+
+commit 59577b577d03d696594f53e7a76a016b3f76da4b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 27 21:40:28 1999 +0000
+
+ added _mesa_init_no_op_table()
+
+commit 91bcefaa49cd707acc6a6407cfb0e987f8a08350
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 27 21:30:40 1999 +0000
+
+ lots of work on extension management
+
+commit 4329fd5e47f069ee561c789956d3be684a9a7a24
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 27 21:30:10 1999 +0000
+
+ added _GLAPI_EXTRA_SLOTS symbol
+
+commit d850fc3e54e5ebdf302c460a07a7dbda9dd0bf3e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 27 01:41:01 1999 +0000
+
+ removed Mesa-isms
+
+commit a89dccf8f86b15dbe3c06a3f1c64b9840b311edf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Nov 27 01:40:40 1999 +0000
+
+ updates for 3.1 and later
+
+commit 7110c37d5e0a37d64c9867af5b1a4c9316a13ed0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 26 16:27:05 1999 +0000
+
+ generate Z values when fog enabled (Andree Borrmann)
+
+commit 88590fb3423943d4b7c27bb5ab0e0d77c93fa7ec
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 25 18:17:14 1999 +0000
+
+ include glapitable.h
+
+commit 7e1161bd2d3e603a82e9626ef89dac23732f37f7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 25 18:17:04 1999 +0000
+
+ now using glapitemp.h to generate entrypoints
+
+commit 1210b0d9f31a1bee5225ddc36ff0d428ab4b92b3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 25 18:16:13 1999 +0000
+
+ initial rev
+
+commit 21217695d378a4fcf4a4213491d0f5dbe5fbdc7d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 25 18:15:23 1999 +0000
+
+ include glapi.h
+
+commit bd1db5d6b5774e0f51e18b05439ca5a5930c5f2a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 25 17:42:01 1999 +0000
+
+ added wincopy demo
+
+commit b5e4a16e4a90050c1fae9124fe45a99dddfd0528
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 25 17:41:51 1999 +0000
+
+ initial rev
+
+commit c42c33e2a10341e40389119cd60539d28e6f061a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 25 17:38:12 1999 +0000
+
+ bunch of changes for separate read buffer feature
+
+commit 086a151f942b2bcd8b9fbc56255e45b8c89b705e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 25 17:37:49 1999 +0000
+
+ implemented glXMakeContextCurrent() and glXGetCurrentReadDrawable()
+
+commit cea0e8e6700e871bb9bcb334cb75fbfbfcdfd702
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 25 17:36:48 1999 +0000
+
+ replaced Driver.SetBuffer() with SetDrawBuffer() and SetReadBuffer()
+
+commit b6709c84722198599688a8154ea20620b207ab79
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 24 21:17:32 1999 +0000
+
+ updated for Mesa 3.3
+
+commit 3901be83dd3966bfa36e52d20089a3dd128caa05
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 24 21:13:18 1999 +0000
+
+ updated with Mesa 3.3 info
+
+commit 3f02f90f943a996d88abc20f74503afbb56a4c98
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 24 18:48:30 1999 +0000
+
+ added support for separate read/draw buffers per context
+
+commit 5bf7f47083f29f4e5f44107f2f398b8b37dd423b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 24 18:45:44 1999 +0000
+
+ removed version logging
+
+commit b16103c4668fb7adaf3b17dc7a416e10ffdbee7f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 24 18:43:19 1999 +0000
+
+ bumped version to 3.3
+
+commit 2257a120133010f42b4d0c3eb78b6a46a579e55b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 24 18:36:14 1999 +0000
+
+ added XMesaMakeCurrent2(), XMesaGetCurrentReadBuffer(), bumped version to 3.3
+
+commit b314d1d3af04a4d79bc2e1ce05dacd902ec999f2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 24 17:04:46 1999 +0000
+
+ added a few more GLX 1.3 tokens
+
+commit 5fff37ecd4669ee58b0e1949dadbe349f9730418
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 24 13:06:48 1999 +0000
+
+ renamed near and far arguments to gluUnProject4()
+
+commit 9331b6702cee82cfe8a83281106196b3493c4206
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 23 22:41:10 1999 +0000
+
+ added GLU 1.3 functions
+
+commit 04c43deb54247377859ac338075c61300a84f714
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Nov 23 21:15:37 1999 +0000
+
+ another typo
+
+commit 664a1f88f2e39fa52eccd7217a1f7aaa4c48f5af
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 23 19:54:53 1999 +0000
+
+ added GLX 1.3 tokens and functions
+
+commit ad6fd8ed4daa9a1e4167476bdcd0b65195a8045a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 23 19:54:27 1999 +0000
+
+ added GLX 1.3 functions
+
+commit 4e176ff358956b773ec486a220cc21971ed97495
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 22 22:21:38 1999 +0000
+
+ added _mesa_clip_pixelrect()
+
+commit 78fc78e0f68a20ae90f3d4aaf361751a9185a0b9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 22 22:17:06 1999 +0000
+
+ clean up of version handling, removed GLX_EXT_get_proc_address string
+
+commit 4f145468f4bd10014e5435756f14bb34132860bb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 22 22:15:50 1999 +0000
+
+ removed GLU_EXT_get_proc_address from ext strings
+
+commit bdbd2e04c892343a742d8a4507cd4f9cda059912
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 22 21:54:14 1999 +0000
+
+ changed comment for WriteRGBSpan()
+
+commit b82d993b03320818f88f792a9e713f7ed491bfcb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 22 21:52:23 1999 +0000
+
+ added glXGetCurrentDisplay() for GLX 1.2
+
+commit bf3f9bdaae9f17de8ac82ec7789e4e689a6f67f2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 22 21:51:53 1999 +0000
+
+ bumped GLX version to 1.2, added glXGetCurrentDisplay()
+
+commit 8acb3a1238f5b3c14400025f08044237838b1882
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 22 18:58:53 1999 +0000
+
+ fixed potential bug in _mesa_ShadeModel()
+
+commit 414b6e7c00d17c61049f05b76539c344dc107466
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 22 18:57:56 1999 +0000
+
+ added SET/CLEAR/TEST_BITS macros, misc clean-up
+
+commit f2db7ed71e8811679e8bded5dc995092341b92cc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 22 18:28:39 1999 +0000
+
+ fixed shade model bug (A.Borrmann)
+
+commit 47cdadc6261f3b516229bdb04c56ffb6aa5c4e40
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 22 14:05:44 1999 +0000
+
+ added pragma 4615 (Eero), added copyright
+
+commit ca1ea0ac09da2b82c92d6c68de657735dd5364fc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 22 14:02:12 1999 +0000
+
+ removed redundant fxCloseHardware() decl
+
+commit 172d6c0d44633b5f6444b7e6b342e82a7ae311c4
+Author: Andre Werthmann <wertmann@cs.uni-potsdam.de>
+Date: Mon Nov 22 01:24:25 1999 +0000
+
+ added more ASM_SRCS
+
+commit f0dee6578ab658d89ec57cc476af7143fa13fde3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 19 22:51:29 1999 +0000
+
+ renamed struct gl_palette as struct gl_color_table
+
+commit 7fb54ae3b3e84c6344bc788a5c51272f2a1c2fa6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 19 22:33:50 1999 +0000
+
+ updates for thread safety
+
+commit 0498682406d23226b5bc8973e02c7b3a9e0bdeaa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 19 22:26:52 1999 +0000
+
+ updates for Mesa 3.3
+
+commit 9fd022a905e08e0d24ae987b5f8f858adfd671d9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 19 21:23:37 1999 +0000
+
+ replace encounteed with encountered
+
+commit 784657c37960b954550555a92dbe9e762c9ff488
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Nov 19 00:03:27 1999 +0000
+
+ fixes for andree's drawarrays problems
+
+commit 653c83b9b4d922f05767d7f96429863a76996093
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 18 23:56:04 1999 +0000
+
+ two fixes in gl_DrawArrays (Andree Borrman)
+
+commit a65efe4b75683d1cced3ff27e732cd5c095661fa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 18 20:23:31 1999 +0000
+
+ reordered the extensions and numbered them
+
+commit e160f9419c1ffa1b2e28c7a42d4458a1f54cec17
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 18 19:42:09 1999 +0000
+
+ fixed FX_grSstControl(), now returns FxBool
+
+commit e95cc0dce32eb51ce42810abd6ccd441f2d1dcd5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 18 19:42:00 1999 +0000
+
+ removed unused fxTMNewTMFreeNode decl
+
+commit 4b7526d001ee739ce4287e9110c9d6cd97738ba4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 18 15:44:37 1999 +0000
+
+ silence an uninitialized var warning
+
+commit d0247f53aea8fa8677aadc8a00f75c8993be9ebc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 18 15:17:01 1999 +0000
+
+ test visinfo, not vishandle in save_glx_visual (Wolfram Gloger)
+
+commit 6630e2be01f41fb3b0fdf815e00a82d8e980f116
+Author: Andre Werthmann <wertmann@cs.uni-potsdam.de>
+Date: Thu Nov 18 09:20:50 1999 +0000
+
+ checked in the first new PIII vertex-transformation code
+
+commit 36d8d7ae815dc78e56ab64379d86f9e85b4d1c63
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 17 21:19:48 1999 +0000
+
+ fixed some glitches (Eero Pajarre)
+
+commit 80e872df2b1ed10751a99e56f8f2f342be1438e7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 16 15:49:12 1999 +0000
+
+ make clean removes .lo .la and .libs/
+
+commit ece75acd6b35db24c102f2b40ffc30234210f1fa
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 15 22:21:47 1999 +0000
+
+ fixed several texture state bugs found with objbug.c program
+
+commit 9779220286e54e695d696b7f6f6c3341199d08e4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 15 18:18:15 1999 +0000
+
+ texture palette update
+
+commit de3c9791b0a1db68be25c81e8507689cf8f91ecd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 15 18:17:55 1999 +0000
+
+ include mem.h
+
+commit 9b006e00abae97dc5216cf155db484cebf915a80
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 15 18:08:15 1999 +0000
+
+ fixed mistake in merge regarding texture palettes
+
+commit 5a95679e58b3861eae5b276a1ff0b508f409f066
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 15 18:05:00 1999 +0000
+
+ update/merge with Daryll's X server changes
+
+commit e23e2759fc67973c0d2e3318f79837f88f8bad0d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 15 14:26:07 1999 +0000
+
+ changed multi-include guard symbol
+
+commit a2ee2fe36043489ca6f185a5ed63306b1dd6cff3
+Author: Josh Vanderhoof <joshv@users.sourceforge.net>
+Date: Sat Nov 13 02:25:17 1999 +0000
+
+ fixed SSE bugs
+
+commit b4334b2b875c332ee1533141943904bdd3ebe58a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 12 23:38:42 1999 +0000
+
+ replaced EXT_color_table with EXT_paletted_texture
+
+commit 4586d8769ba85f5100d8803b0d315695189ad13b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 12 18:57:50 1999 +0000
+
+ replaced _GLAPI_EXT_color_table with _GLAPI_EXT_paletted_texture
+
+commit 789cf43f18337f653e95ffc2132be26abedfa396
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 12 18:27:27 1999 +0000
+
+ reordered some functions
+
+commit 2da507defd5783d5e666e4902015f0a2dd11100b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 12 18:23:47 1999 +0000
+
+ moved assembly-related macros from types.h to glheader.h
+
+commit 93b76c048f064455b42c345dc204b94065ad197c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 12 18:10:47 1999 +0000
+
+ restored the gl_Viewport function
+
+commit be599f845f7acac94444ce74eff20296ed0a309f
+Author: Kendall Bennett <KendallB@scitechsoft.com>
+Date: Fri Nov 12 16:46:56 1999 +0000
+
+ . More Watcom C++ warnings fixed in Mesa.
+
+commit f945672623c947b19d196c32e76229baf0043943
+Author: Kendall Bennett <KendallB@scitechsoft.com>
+Date: Fri Nov 12 16:38:23 1999 +0000
+
+ . More fixed to
+
+commit 8f8d152b2e9f861cecb3528556c4581ab30aaa7a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 12 15:47:38 1999 +0000
+
+ added glxdpyinfo
+
+commit c3ef5952f5f883a359012ac2f08720d2691d1225
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 12 15:47:28 1999 +0000
+
+ initial check-in
+
+commit 5b974ed6a11638b6aab8bf79a0bc599b80557392
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Fri Nov 12 08:32:37 1999 +0000
+
+ Workaround for the VMS 32 character maximum limit.
+
+commit e312cf26ea1ae0445926df20c43e80363d453cb5
+Author: Kendall Bennett <KendallB@scitechsoft.com>
+Date: Fri Nov 12 04:56:54 1999 +0000
+
+ . Updates to get X86, MXX and 3DNow assembler code working with Watcom
+ C++ and NASM. This includes lots of _ASMAPI macros to ensure that
+ assembler functions are prototyped as __cdecl, as Watcom C++ uses
+ register calling conventions by default.
+ . Misc fixes to files to remove warnings generated by Watcom C++.
+
+commit b95d252c347e14825cd61b28223040cfc5d0e7de
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 12 02:07:56 1999 +0000
+
+ added GL_EXT_texture_env_add extension
+
+commit a087e348ab534a8293c0dc1eb7fda8794326259d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 12 02:05:46 1999 +0000
+
+ added gl_extension_is_enabled()
+
+commit ea895e68394f6a9970b226b589fb722acd3f090b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 12 00:14:06 1999 +0000
+
+ added some braces to silence gcc warnings
+
+commit d23f90726ae47887dbe65cdd5d7c0a8e52473958
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 12 00:06:07 1999 +0000
+
+ minor clean-ups
+
+commit 1d5971db241be7d928e3096dff6abe597dbe7933
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 11 17:53:14 1999 +0000
+
+ changed a warning string
+
+commit 845117bd054862baae29c4df61d5b4a61dd97f62
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 11 17:50:04 1999 +0000
+
+ ColorTableEXT clean-up
+
+commit 9ad72cd9b11b3a81379f61ec582f4cf0962a921d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 11 17:48:32 1999 +0000
+
+ removed redundant extension prototypes
+
+commit b99db9ea7bbb3cb8c571e8c8cd852cdb73877bb6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 11 17:11:49 1999 +0000
+
+ updated for new texture color palette struct
+
+commit eb1f282b73e8c80270c12b17f7420d43ad9c35de
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 11 15:26:45 1999 +0000
+
+ don't include strings.h or stdio.h
+
+commit 37ff9433c0d6387c0f841042de8f8665a2a61f14
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 11 14:37:24 1999 +0000
+
+ added missing braces in array initializations
+
+commit 3d993b7dee26635c458852e30e87e21ef664ce60
+Author: sio <sio>
+Date: Thu Nov 11 14:11:16 1999 +0000
+
+ Added missing GLAPIENTRY to glConvolution* and glCopy*
+
+commit d1aeac8d1dfa7de5e68486b30a915008fd8b7207
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Thu Nov 11 09:57:57 1999 +0000
+
+ version 3.3 update
+
+commit 86d36643de754a08f475f52a7544d5b4be1cae58
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Thu Nov 11 09:55:39 1999 +0000
+
+ tess_macro.h included
+
+commit a73119234cc5d0b78ebd48c7bb7c43b755028836
+Author: Kendall Bennett <KendallB@scitechsoft.com>
+Date: Thu Nov 11 03:21:43 1999 +0000
+
+ . Updated GL/gl.h with GLCALLACKP and GLAPIENTRYP macros for compatibility
+ with the IBM VisualAge C++ compiler. Eventually some more code will be
+ needed in the headers to enable the reversal of (__stdcall*) to (*__stdcall)
+ for the IBM compilers, however we currently build using our own header files
+ that already handle this.
+
+ . Changed instances of (GLCALLBACK*) to GLCALLBACKP for compatibility
+ with the IBM VisualAge C++ compiler in src-glu.
+
+ . Misc cleanups for warnings generated with Watcom C++ in src-glu. Compiles
+ with 0 warnings now.
+
+ . tess_hash.c: line 244 - Why is this function stubbed out? I removed the
+ code with a #if 0 to avoid a compiler warning, but it looks dangerous.
+
+commit cb5ecb883eb3be842ef44c61df8d4b527877c858
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 11 01:28:16 1999 +0000
+
+ initial changes for Mesa 3.3
+
+commit fbd8f212c3866ec98c1d8c9d3db3ddb7e7c479a5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Nov 11 01:22:25 1999 +0000
+
+ first big check-in of new Mesa 3.3 code
+
+commit 06ac59281bdad6679fb1941e31e3c4df1c12cede
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Wed Nov 10 06:29:44 1999 +0000
+
+ fix for colormaterial
+
+commit 6adfc6bd9e4923586df770a8f53b65f8ed2e4597
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Nov 9 17:26:15 1999 +0000
+
+ use glClientActiveTexture in interleaved setup
+
+commit 6a9f16edae2a21b156d1893947cc2ec35593d0a8
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Nov 9 17:00:25 1999 +0000
+
+ more fixes for glDrawArrays
+
+commit 20f6c10b4170761f8d784a62e6315122f94a72dd
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Nov 9 10:12:34 1999 +0000
+
+ second try at drawarrays fix
+
+commit e43a3aa2934084cc8d6736780a94b5cf468b0dc7
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Nov 9 09:18:40 1999 +0000
+
+ fix for (some of?) the vertex array problems
+
+commit f6a79d045ccebaa0947fe8051ed462d97e341fb1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 9 07:59:54 1999 +0000
+
+ fixed typo: replaced |= with != in conditional
+
+commit 0822c1050ea4e91957fc7109358c3bd7daca3480
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 9 06:16:59 1999 +0000
+
+ replace GLint with GLsizei in a gluScaleImage, gluBuild1/2DMipmaps()
+
+commit c00c0b323fd46385faaa75395553247ed089eaba
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 8 15:29:43 1999 +0000
+
+ header includes clean-up (Daryll)
+
+commit 99f16d01dd508ccac9d37488bf83a7aed5c05832
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 8 15:28:08 1999 +0000
+
+ changes to silence MSVC warnings
+
+commit 19f90e35ff1419169a2d3522e55e4de05b7ab14c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 8 14:36:32 1999 +0000
+
+ flush pb after each line segment - for conformance
+
+commit 327c69127cf6203681d418a76186f70cc71b9212
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Nov 8 07:36:43 1999 +0000
+
+ clean-up of header includes (Daryll)
+
+commit 787250cc0130a6c72f97078670988e8900c77e95
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Fri Nov 5 20:36:55 1999 +0000
+
+ Added filename, line number output for debugging messages.
+
+commit f7190d4b1f63ce94526d526c4c6c326c6833bf2b
+Author: Ted Jump <tjump@users.sourceforge.net>
+Date: Fri Nov 5 18:20:31 1999 +0000
+
+ turned off 'conditional expression is constant' warning for win32
+
+commit 94acb57278d6154306b6084c46af76019ce93817
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 5 08:12:46 1999 +0000
+
+ removed printf's
+
+commit 17407de73a0d4528d26093a8c79c0156c37016ad
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 5 08:01:17 1999 +0000
+
+ added xfont demo
+
+commit f1b45ca254aac3e8a12bf7c8cc474cb293160fb9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 5 08:00:49 1999 +0000
+
+ new xfont demo
+
+commit 5b37c322741f019118a618bc6220f37adba4fbcd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Nov 5 06:43:10 1999 +0000
+
+ clean-up to reduce MSVC warnings
+
+commit 30990a65f8e1fd67d394f0b4a73956975a65a215
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Nov 4 19:42:28 1999 +0000
+
+ Fix for glerror on compilation of list containing gldrawelements calls
+
+commit 486e1f982e59010b4ad3d7d04b90f2a909c5bb8b
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Thu Nov 4 04:07:57 1999 +0000
+
+ Major winding rule updates, especially stacked contour support.
+ Improved debugging output that can be altered with an environment
+ variable instead of hard coded at compile time. Fixed bug in vertex
+ sorting function, so vertices are now indexed correctly (left to right).
+
+commit eb459c60708cc3fd5d71567d4ddf2db91aa25d78
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Thu Nov 4 04:00:42 1999 +0000
+
+ Updated demo for new GLU 1.3 tessellation. Added optimized rendering
+ by saving the output of the tessellation into display lists.
+
+commit 64e10feb25a7404fa917f81596f0f9a60a4d9f22
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Thu Nov 4 03:57:28 1999 +0000
+
+ Changed ($MAKE) to $(MAKE) to allow real-clean to work correctly.
+
+commit 6bc96bfebeb16cafb1cea88c1cc6e4cd724e4bb1
+Author: Miklos Fazekas <boga@valerie.inf.elte.hu>
+Date: Thu Nov 4 00:43:09 1999 +0000
+
+ Added glColorTable, etc.
+
+commit 5b6677da1659b1d6c0745ab0e1f580a23ad61f12
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 3 19:27:41 1999 +0000
+
+ include assert.h with rest of system headers
+
+commit 0dd75e288467ee55dc91050f68895570e9659645
+Author: Josh Vanderhoof <joshv@users.sourceforge.net>
+Date: Wed Nov 3 18:50:44 1999 +0000
+
+ swap operand order for Intel style REGOFF
+
+commit b09a4cd913e2de612fddf5411185a257da35647c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 3 18:24:05 1999 +0000
+
+ added another fast-path in _mesa_unpack_ubyte_color_spa(), more comments
+
+commit c3f0a511a725c7b3d3d7d93b1955aaaa2bb32f0d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Nov 3 17:27:05 1999 +0000
+
+ new texture image processing
+
+commit d51b2c99d5097e1b45d1fa91af45d6f4303f8c3c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 2 15:09:04 1999 +0000
+
+ new texture image, cleaned-up code
+
+commit 306b3b02b7115c8d8cda4bdd7bb499f0a4bfb7f4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Nov 2 10:11:44 1999 +0000
+
+ added linux-glide-debug config
+
+commit 03d96a0ce28bebe5afd6e5a3cbc460b81ee4f4f7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 31 08:34:47 1999 +0000
+
+ fixed a typo in a comment
+
+commit 38136ec3ddef8f1e7f7c96b69efc33bf2d7706cc
+Author: Ted Jump <tjump@users.sourceforge.net>
+Date: Sat Oct 30 18:39:06 1999 +0000
+
+ Changed over to maximal warnings on Win32 builds.
+
+commit 364b56a20ef679805427121308db0e6a13e10b8c
+Author: Ted Jump <tjump@users.sourceforge.net>
+Date: Sat Oct 30 18:34:48 1999 +0000
+
+ Added checking for FXMESA_USE_ARGB to disable pixel reformatting when not appropriate
+
+commit 12cc2bfff76a386533e9675e8ad03a698a2e7bf3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 30 08:22:45 1999 +0000
+
+ pixel pack/unpack ImageHeight and SkipImages was not initialized
+
+commit 3c14ec9b553f88a4cd4be5d8a564b54bbe81d2b4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 30 08:20:57 1999 +0000
+
+ added a few more scale/bias/lookup functions (for future use)
+
+commit 8de4a387776f6f9a2fbdccdfec33230c350b9b6e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 28 18:23:29 1999 +0000
+
+ minor changes to Usage() function
+
+commit 0144a50f047ac035778ee6cd298d5ab4a9547eca
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 27 10:09:53 1999 +0000
+
+ removed -lm from link command
+
+commit be12aecc599b4457193d15f86c4f9f197d8ac080
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 27 10:09:27 1999 +0000
+
+ added -lm to XLIBS for all configs
+
+commit 4a867fcbf5c391906f516148991bc8c379db0fb2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 27 09:50:10 1999 +0000
+
+ disabled glXGetProcAddress code
+
+commit 38a811057d0b8a95c58bb0e00dd94b13c7c5bfa6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 27 09:47:41 1999 +0000
+
+ disabled gluGetProcAddressEXT
+
+commit d865227d214544426c2ab396417e48aedc0ee1e5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 27 09:46:07 1999 +0000
+
+ removed cvs history logs and old comments
+
+commit 782ca03d6d3e8172961349dfb198e713ca1305ee
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 27 09:44:10 1999 +0000
+
+ removed glXGetProcAddressEXT
+
+commit c7af1b0b94a190b284dde807b3d806dec8cc8ee7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 27 09:43:48 1999 +0000
+
+ removed gluGetProcAddressEXT()
+
+commit 9a19ccb57897615c5ad7aa60f17a69ef3f4a69bf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 26 17:08:31 1999 +0000
+
+ better texture matrix, better end-cap reflections on cylinder
+
+commit 98b607b57da6f7d2ae6e02906c1ae72cd1c3f311
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 26 09:21:04 1999 +0000
+
+ fixed stupid error in GL_RGA case in gl_pack_rgba_span()
+
+commit 20cdbc068e44ef268606b089305e8f7e5f67514e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 23 08:12:23 1999 +0000
+
+ more comments, removed unneeded glDepthFunc call
+
+commit 83435611c892d4bdc90a193f9cd90fd74334a0af
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 22 20:35:17 1999 +0000
+
+ added gloss demo
+
+commit bb1119fd44ffe1089d64b328270b3b06510fd0bf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 22 20:34:57 1999 +0000
+
+ initial rev
+
+commit 64b7da799fe82f566706f8b6771b9d12477e4373
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 22 12:49:52 1999 +0000
+
+ fixed byteswapping bug in gl_pack_rgba_span()
+
+commit 3428162e27c5937291a3ea16d4cd339728ee7f52
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 22 10:59:15 1999 +0000
+
+ added optimized GL_RGB, GL_UNSIGNED_BYTE case to gl_pack_rgba_span)
+
+commit e261963104561a9c195852a11eaa9b57ef41a67b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 22 10:47:58 1999 +0000
+
+ removed revision history info
+
+commit a6f09fa88074a84e902a34958866c1eaf0b4ef2e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 22 10:47:01 1999 +0000
+
+ define GLUAPI, GLAPIENTRY and GLCALLBACK to nothing if not using Mesa's gl.h
+
+commit a460e6502835749268d9d5becba82f72ff9062b4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 22 10:46:06 1999 +0000
+
+ minor clean-up of linux-elf-debug target
+
+commit 64a79b2f3ad964fa61c46bf3239634736e508a44
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 22 10:43:35 1999 +0000
+
+ applied Jonn Carmack's patch for faster glTexSubImage2D() in Quake
+
+commit d13c0a90c7b57d8e29b9105290bc05f21f2c97d8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 21 22:13:58 1999 +0000
+
+ added f key to toggle front/back drawing
+
+commit ac12609099dfe34a2934256bc0aa32446c9cc49d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 21 16:39:06 1999 +0000
+
+ added -info command line option
+
+commit bc937424f13094923d67e1409f3f9b6aa38b254f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 21 12:46:27 1999 +0000
+
+ updated some comments/docs
+
+commit 5393bb3830c687fe2a3cfc558d2567ad582b4b1c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 21 12:45:53 1999 +0000
+
+ silenced some uninitialized var warnings
+
+commit fc811e2bfdb77365c23a8679201473bb9ec9f870
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 21 12:45:03 1999 +0000
+
+ silenced ininitialized var warnings
+
+commit 88737eeedc26bf4af0d13e2d869628514b95a435
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 21 12:26:21 1999 +0000
+
+ silenced uninitialized variable warnings
+
+commit b19ba7827cded079470fc0c848124089ecb6ca5f
+Author: Ted Jump <tjump@users.sourceforge.net>
+Date: Thu Oct 21 06:04:20 1999 +0000
+
+ Added pragma to disable warning about unk pragmas for MSVC5
+
+commit 2fb055d891122018e368ae3672432727d649df92
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 20 22:39:16 1999 +0000
+
+ clean-up of optimized GL_RETURN code
+
+commit 34c7c1838aa0e410ee9b62f8a04ed8b48e6a968b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 20 22:32:02 1999 +0000
+
+ fixed divTable precision problem in GL_RETURN case
+
+commit 2c318aad9ddc67506e16c6c2b42e0f0d2edcfe41
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 20 22:16:45 1999 +0000
+
+ enable lighting even if no light sources are turned on
+
+commit 456935a65e7f3616cbbc88dcf7e6277df714e3fa
+Author: Holger Waechtler <holger@akaflieg.extern.tu-berlin.de>
+Date: Wed Oct 20 11:45:39 1999 +0000
+
+ added X86/vertex.S and X86/vertex_3dnow.S to ASM_SOURCES
+
+commit 3f17dfb8ba48d874814ce0e4a0b7d9e57feb4c36
+Author: Ted Jump <tjump@users.sourceforge.net>
+Date: Wed Oct 20 06:56:40 1999 +0000
+
+ Minor patches to cleanup some compiler warnings in MSVC
+
+commit d53573daf7bb53a41c9307339d70cfbba4f3b7a5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 19 20:36:20 1999 +0000
+
+ fixed a number of error-test bugs
+
+commit bc41b08073bd764d1844c4cc32bbd4cd0fc0b850
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 19 20:33:57 1999 +0000
+
+ more image type error checking in draw_stencil_pixels()
+
+commit f3f9b773244d0c1f5518e07127a7c273d4e3989e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 19 20:32:40 1999 +0000
+
+ clean-up in gl_LightModelfv()
+
+commit 351752caff2b151c6ddfc02c2df30ba4176e1224
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Oct 19 20:31:08 1999 +0000
+
+ added more format/type error checking code
+
+commit d471473b5842154c0b44b7bec149401f6dab43cc
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Tue Oct 19 18:37:02 1999 +0000
+
+ Changes to reduce the memory footprint of display lists
+
+commit 52880f85b5270fb156c1b75effabc9c2c8b61511
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 17 23:24:49 1999 +0000
+
+ GL_MAX_ELEMENTS_VERTICES/INDICES enums had wrong values
+
+commit 91baaa3d5a34a0a746dcb70967364a388d5ca438
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 17 23:24:16 1999 +0000
+
+ negative offsets to TexSubImage w/ texture borders caused memory corruption
+
+commit 1e083c8c172c6107506ddbf18a94b6b772afee3e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 17 22:36:35 1999 +0000
+
+ added glGet cases for vertex array enable state
+
+commit c782c911e90953349b3a5259705df2b9dcffcc63
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 17 21:42:32 1999 +0000
+
+ more ARB_imaging colortable functions
+
+commit 053f2020cac8e57e44e66ec9f5a8ed046af6dce6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 17 20:18:15 1999 +0000
+
+ added missing GL_ARB_imaging color table functions
+
+commit b9d8c77ca683382f81f13b54c9aa6aeaaac6ccda
+Author: Miklos Fazekas <boga@valerie.inf.elte.hu>
+Date: Sat Oct 16 12:53:37 1999 +0000
+
+ Fixed a MacOS specific compile error.
+
+commit bc95b2f07ea03535de4e984737c365e6f853a2bc
+Author: Miklos Fazekas <boga@valerie.inf.elte.hu>
+Date: Sat Oct 16 12:52:56 1999 +0000
+
+ Added glGetMinmax
+
+commit d95e2eb1a83db2a1c7e2f7850e9e0d02cb7fe2c8
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 16 11:32:15 1999 +0000
+
+ removed GL_EXT_get_proc_address
+
+commit b80429e49ef62686792e2f95c8f52b5e6c8a59a9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 16 11:27:02 1999 +0000
+
+ removed GL_EXT_get_proc_address
+
+commit c6dddaa692ddf1cce7b90b8a2f8aab12614de196
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 15 22:00:07 1999 +0000
+
+ added sco5 config
+
+commit 251ba69ffc6f153f75bba075c9f23c53b2317e9c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Oct 15 21:59:23 1999 +0000
+
+ replaced glGetMinMax() with glGetMinmax()
+
+commit 42f252fc06e6fd0bb8c95cb9d238c1416b5d50e7
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Oct 14 18:47:37 1999 +0000
+
+ fixed an RGB vs CI bug in overlay visual selection
+
+commit 3df50407a31cee771aeeaa566a2a9b0f66d86300
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Thu Oct 14 07:44:41 1999 +0000
+
+ Added point_contour_test, taken from O'Rourke 1998.
+
+commit 56a5f8820ff2b441174fc10982d8f9b4b59ab8d5
+Author: Ted Jump <tjump@users.sourceforge.net>
+Date: Wed Oct 13 22:09:09 1999 +0000
+
+ Fixed parameter type for notify function pointer parameter to gl_extensions_add
+
+commit 645091749687fcd279db5dfd7f02106e660d25c4
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Wed Oct 13 19:12:25 1999 +0000
+
+ Removed CVS logs from files, as they were getting rather large.
+
+commit 206abd90395cf806c414192ac60aaee260853e76
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Wed Oct 13 19:01:56 1999 +0000
+
+ Added edge flag callback support.
+
+commit 80af3614d88c0cac160e787de7f34b37e96cb626
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 13 18:49:47 1999 +0000
+
+ now using MALLOC, CALLOC, FREE, etc macros
+
+commit bd5cdaf4442872d3cd2ff94eeafadd481d27fcfb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 13 18:42:49 1999 +0000
+
+ removed GL_ prefix from memory macros
+
+commit 1a3b8ffe01a3844d990627db3d5f2f04006f17eb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Oct 13 12:02:13 1999 +0000
+
+ use texture objects now
+
+commit f80d0b2f613fc5c5dfdf95ade12ddf5968f94073
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Tue Oct 12 21:26:06 1999 +0000
+
+ Fixed delete_all_contours memory deallocation.
+
+commit 2e4fce138cb29034b353230bdf8cda6057faa409
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Tue Oct 12 18:49:28 1999 +0000
+
+ Updated memory allocation to allow new macros to be used.
+
+commit 21a257d25bff9d3d85a6e42aabce921c521fc472
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Mon Oct 11 17:53:09 1999 +0000
+
+ Renamed GLUtesselator user data pointer to avoid confusion.
+
+commit dbecc01c6efb5cc5731d7a575493a03914cef8d0
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Mon Oct 11 17:48:53 1999 +0000
+
+ Correctly initialized GLUtesselator user data pointer.
+
+commit 4aaafa62659caa0c0fd65b3332423d500e37044c
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Mon Oct 11 17:28:05 1999 +0000
+
+ Allow debugging output capture under Win32. This seems really
+ broken to me, but that's Windows for you...
+
+commit c30627a5af8d7ff941dccff49154b5d27807e60b
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Mon Oct 11 17:26:48 1999 +0000
+
+ Updated debugging output. I'm going to change it all to something
+ much more like the GLX project. This was a set of macros left over
+ from a research project I'd done, and I like the GLX logging more.
+
+commit cd555f456bbd274f65f0312a43cce0dec4a33727
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Mon Oct 11 04:22:57 1999 +0000
+
+ Repaired definition of GL_CALLOC_STRUC
+
+commit 0b6c775f1c4d69813ca8135cafbdd5c5608572e6
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Mon Oct 11 04:20:55 1999 +0000
+
+ #include <stdlib.h>
+
+commit 4fbb2c627981c9283c62010e71de89f17f6a5a29
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Mon Oct 11 04:20:25 1999 +0000
+
+ #include <assert.h>
+
+commit 0279e2bc3aa8eda433129c67f7042c8f93cca978
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Mon Oct 11 04:17:50 1999 +0000
+
+ misc -> glmisc
+
+commit 567a1de66606ebbb3e54140925a84f5095101532
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 10 13:04:17 1999 +0000
+
+ now using GL_MALLOC, GL_FREE
+
+commit 60a249d009acec34bd61e12f01caf7bdf87e895c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 10 12:51:29 1999 +0000
+
+ now using GL_MALLOC, GL_FREE
+
+commit 375853e86734ea5735aa64af3a7aa0129bc551d5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 10 12:49:36 1999 +0000
+
+ fixed dumb typo
+
+commit 826e66a21f01c779771da429be1ea67c468b27e1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 10 12:40:54 1999 +0000
+
+ now using GL_MALLOC, GL_FREE
+
+commit d77fa3076182f60d9e7f835b164aa17f28cf512f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Oct 10 12:39:04 1999 +0000
+
+ added memory macros
+
+commit 73d03344f43d0f5c7f25a1fea13b5c2bad37dfd9
+Author: Josh Vanderhoof <joshv@users.sourceforge.net>
+Date: Sat Oct 9 23:20:23 1999 +0000
+
+ no underscore prefix for freebsd >= 3 (Simon Walton)
+
+commit 6e6d4c66bd7fd64162ee453b143d7388bb051444
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 9 20:17:07 1999 +0000
+
+ texture units now share default texture objects
+
+commit 7ec8d588abf67934edc78843dee28b9be509f4ca
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 9 10:01:46 1999 +0000
+
+ fixed reference count bug in save_TexImage3DEXT()
+
+commit f8b3fc54540b76c491cee6624c48ca935b07c4b0
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Oct 8 11:07:54 1999 +0000
+
+ fixed voodoo initialization
+
+commit 485f04074151686fa24d40e3eeb83029d3d8c425
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Oct 8 09:27:09 1999 +0000
+
+ Fixed includes & added a few hooks for the DRI.
+
+commit a7313e045dfd1ab439e8e01664d402ea9ce0a37e
+Author: Miklos Fazekas <boga@valerie.inf.elte.hu>
+Date: Tue Oct 5 19:51:15 1999 +0000
+
+ Added PARB support.
+
+commit 3af541c541b42986c7fe2cbd5d0ccf5aebc01593
+Author: Miklos Fazekas <boga@valerie.inf.elte.hu>
+Date: Tue Oct 5 19:50:45 1999 +0000
+
+ Added gl_ext_multitexture_ADD suport.
+
+commit 37290c844cbe14f7af15ff9b54d67258fc0e5406
+Author: Miklos Fazekas <boga@valerie.inf.elte.hu>
+Date: Tue Oct 5 19:49:41 1999 +0000
+
+ Added packed ARGB support.
+
+commit 1076e7cd2169429798c1bc1c45749d941362fcc4
+Author: Miklos Fazekas <boga@valerie.inf.elte.hu>
+Date: Tue Oct 5 19:26:54 1999 +0000
+
+ Packed RGBA support.
+
+commit 6a659315cdc754e02d701353a08bd28c02e78dbd
+Author: Miklos Fazekas <boga@valerie.inf.elte.hu>
+Date: Tue Oct 5 19:00:11 1999 +0000
+
+ Packed RGB support.
+
+commit 2ed47d29c63892499279fa1076e076b790ac2caa
+Author: Miklos Fazekas <boga@valerie.inf.elte.hu>
+Date: Tue Oct 5 18:48:49 1999 +0000
+
+ Added support for GL_ext_texture_add
+
+commit d598ca05e16f9f4a2dece36f79cae0941692d4c0
+Author: Miklos Fazekas <boga@valerie.inf.elte.hu>
+Date: Tue Oct 5 18:40:17 1999 +0000
+
+ Minor cleanup.
+
+commit 08a454c7afaf9427ce9ca32b11df0fee111ed883
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Mon Oct 4 05:26:46 1999 +0000
+
+ Added tess_winding.c for compilation
+
+commit dcf11bdb934b4479279cc33a9cdff2ee7049f1e4
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Sun Oct 3 01:00:33 1999 +0000
+
+ Fixed overflow bug in combineCallback.
+
+commit 63fee8b3bea315fc16494ccd0fe14ecedc51b602
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Sun Oct 3 00:56:07 1999 +0000
+
+ Added tessellation winding rule support. Misc bug fixes.
+
+commit 45b95f048ddbf608deb312412cbe98ff7981e1bd
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Sun Oct 3 00:53:38 1999 +0000
+
+ Added tessellation winding rule files.
+
+commit 69cfdb2fcb6c6d5538aff6533b587a54fb2e74c3
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Sep 30 11:18:21 1999 +0000
+
+ more hooks for mga driver, including an immediate fastpath
+
+commit 0b6ae412d32ca2756f659f11d0c919812097716f
+Author: Jon Taylor <taylorj@ggi-project.org>
+Date: Tue Sep 21 00:46:26 1999 +0000
+
+ Disable genkgi sublib handling until we have some sublibs to handle
+
+commit 7d1071526d6a7d2e27417b4d25a49a48752d5c40
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Sep 20 21:06:57 1999 +0000
+
+ added mesa.conf
+
+commit 14f8b8b5c3316117651eef2c705da37e3047d472
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Mon Sep 20 14:30:22 1999 +0000
+
+ Bugfix for ctx->backface_sign calculation
+
+commit 5a437d588975ec0e241a2bf7cc4ce3785cb476bd
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Sep 19 23:43:02 1999 +0000
+
+ Cleaning up
+
+commit c6569511103235fd29a89ea6dd0c21913805b1d2
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Sep 19 23:06:40 1999 +0000
+
+ RasterMask was set incorrectly
+
+commit bc34adfc54369c216261548a2b251b258d64cd43
+Author: tanner <tanner>
+Date: Sun Sep 19 20:09:00 1999 +0000
+
+ lots of autoconf updates
+
+commit 01db31b67860f93b110733eb523d45e320a1c948
+Author: Ted Jump <tjump@users.sourceforge.net>
+Date: Sun Sep 19 10:04:01 1999 +0000
+
+ Changed name 'glGetProcAddressEXT' to 'gluGetProcAddressEXT'
+
+commit ea8e0b215657deb9f220df696e19801dcaedfa20
+Author: Ted Jump <tjump@users.sourceforge.net>
+Date: Sun Sep 19 10:03:19 1999 +0000
+
+ Fixed LIBNAME entry
+
+commit a63baa3e8dee1d1e879e660c7b2c3636f44f5e11
+Author: Ted Jump <tjump@users.sourceforge.net>
+Date: Sun Sep 19 09:59:12 1999 +0000
+
+ Removed use of GLU.H - prevents compiler warning wrt:gluGetProcAddressEXT
+
+commit 32b20284b8731106a354209721e088fb735393a6
+Author: Ted Jump <tjump@users.sourceforge.net>
+Date: Sun Sep 19 09:55:37 1999 +0000
+
+ Added NASM support
+
+commit 725ec81ae80e024df4a5490405dbfbc598533e6e
+Author: Ted Jump <tjump@users.sourceforge.net>
+Date: Sun Sep 19 02:03:18 1999 +0000
+
+ More Win32 build compliance fixups
+
+commit 1bf9dfaf5dea61e3d33a69b0a549be54ef6d74df
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Sep 18 20:41:22 1999 +0000
+
+ Large patch:
+ - FX bug fixes.
+ - Polygon mode and edgeflag work properly.
+ - Clipping works with edgeflag.
+ - Driver.ReducedPrimitiveChange() callback so drivers
+ that implement lines & points as triangles can turn culling off
+ before rendering groups of these primitives.
+ - Cleaned up feedback & select primitives.
+
+commit 56b58668e86e6156555e36050df14b49faa14f31
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 18 01:06:52 1999 +0000
+
+ disabled GL_EXT_get_proc_address for the time being
+
+commit e23bb9ff3620a5fc338ee1582e328c2df412bbd9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 17 18:08:32 1999 +0000
+
+ added a bunch of missing files to LIB_FILES
+
+commit 39d29fe7fec304fa3638db15b868ebbcb8292167
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Sep 17 15:14:02 1999 +0000
+
+ Fix for write-rgba-span and others
+
+commit ecaf1a0865e24d4f3f82cf076c54c033f68a4914
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 17 12:27:01 1999 +0000
+
+ silenced some warnings
+
+commit 1bf28c46c2d4d3f2d0a502e45abfa66d37afe733
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 17 12:21:36 1999 +0000
+
+ glGetProcAddressEXT changes to accomodate Win32 and non-Win32
+
+commit 9b563507cb00399faadafb72f6fa2b60ed0c8378
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 17 12:07:10 1999 +0000
+
+ pad GL_TINY to 6 digits
+
+commit d2a57c9b2bcfb1e2ccc02f4508a9d7fc498e4e17
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 17 12:06:56 1999 +0000
+
+ pad GLU_TINY to 6 digits
+
+commit b32966fc806187e8c2032236d9f33ac60fa8e873
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Fri Sep 17 06:31:02 1999 +0000
+
+ Winding rule updates.
+
+commit 727f35a518f4793a6597a2a4192278dd32b12ae5
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Fri Sep 17 05:56:43 1999 +0000
+
+ mesa_wgl.h should only be included when _WIN32 is defined
+
+commit 477da9eff1bbe6e1a4a3f2cfd6d791557ce15a6a
+Author: Ted Jump <tjump@users.sourceforge.net>
+Date: Fri Sep 17 04:27:02 1999 +0000
+
+ Modified to build better with Mesa wgl functions
+
+commit 6799ecb6753f2ec5b1b66c9e8c447bc82035f94c
+Author: Ted Jump <tjump@users.sourceforge.net>
+Date: Fri Sep 17 04:25:56 1999 +0000
+
+ Relocated wgl function prototypes to separate .h for easier work with fxwgl & glut
+
+commit 5eea3d068f0f5f3baa29157fc8dedc54acd06332
+Author: Ted Jump <tjump@users.sourceforge.net>
+Date: Fri Sep 17 04:25:10 1999 +0000
+
+ wgl function prototypes moved out to better work with fxwgl
+
+commit d29b1c2ea6505aaca7d2ed8785c88a3468f68472
+Author: Ted Jump <tjump@users.sourceforge.net>
+Date: Fri Sep 17 03:17:18 1999 +0000
+
+ Patch error fixup
+
+commit 1f256fd6b39572e16cadb6460b865a128103bf18
+Author: Ted Jump <tjump@users.sourceforge.net>
+Date: Fri Sep 17 03:07:28 1999 +0000
+
+ Win32 build req't updates
+
+commit 3849b44d666482a14aac41f4e19a596c420cfa80
+Author: Ted Jump <tjump@users.sourceforge.net>
+Date: Fri Sep 17 02:44:19 1999 +0000
+
+ I changed the xxxGetProcAddressEXT function declarations to be more
+ MSVC friendly. Brianp - could you verify that they describe and operate
+ as intended on Linux/ETC platforms?
+
+commit d043adc8908f2137e9b5d0f010615e514b156656
+Author: Ted Jump <tjump@users.sourceforge.net>
+Date: Fri Sep 17 02:41:38 1999 +0000
+
+ Cleaned up exit from main to prevent MSVC warnings
+
+commit 83c02efa520eb2f8b3f5430be47bcd9c9749b30f
+Author: Ted Jump <tjump@users.sourceforge.net>
+Date: Fri Sep 17 02:40:51 1999 +0000
+
+ Added ESC key handling
+
+commit 74783e9936c59b8098f769061c6b216cad73edcf
+Author: Ted Jump <tjump@users.sourceforge.net>
+Date: Fri Sep 17 02:37:14 1999 +0000
+
+ Update for beta3
+
+commit 67e9bd246b1a5a67eabe9992cd143b56473047e6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 17 01:00:38 1999 +0000
+
+ fixed typo
+
+commit 6efd0fb9b513b61c4b3b59a8b210412be5c9dc31
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 17 00:55:21 1999 +0000
+
+ link with -lGL instead of -lMesaGL
+
+commit 1300ce1e1447777525a4d3719cb37d6bf2201d60
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 17 00:54:27 1999 +0000
+
+ added src-glut.beos back in demo files
+
+commit 738e9775800c0dd363c0ebef5dc439cbe4911155
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 17 00:07:26 1999 +0000
+
+ link with -lGLU -lGL instead of -lMesaGLU -lMesaGL
+
+commit f33e6b1e83253147c07404b7e088236dbca04ca6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 17 00:06:57 1999 +0000
+
+ version symbol changes
+
+commit 20298685c317512fbfaa8da1996324bf75f9ca32
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 17 00:06:14 1999 +0000
+
+ gluGetProcAddressEXT change for C++ / BeOS
+
+commit 3d7e15533ffcb47e7f653c6f16aa541356cbd7c2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 17 00:03:47 1999 +0000
+
+ updated for GL instead of MesaGL
+
+commit 4811b7c7e02c0612975a8526f8ebba49ece0e72b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 16 22:45:24 1999 +0000
+
+ initial check-in
+
+commit b9e8741c8f0e5d683df4be09a232aa722589645e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 16 22:37:56 1999 +0000
+
+ added some casts in gluGetProcAddressEXT()
+
+commit 1447677fa4cf18ceeae76c28b23f02eb966cfb71
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 16 16:54:22 1999 +0000
+
+ GLU_EXT_get_proc_address clean-up
+
+commit 978b089aee3a0f910563f159ade30708bc3566e9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 16 16:53:28 1999 +0000
+
+ clean-up of GLU_EXT_get_proc_address
+
+commit dd4f70889464c9db132d75b3ab3cd3dbbdb9d3f2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 16 16:47:35 1999 +0000
+
+ GL_EXT_get_proc_address clean-up
+
+commit 9df2b25af1e795620909497ae7f3553834161a3c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 16 16:44:37 1999 +0000
+
+ added GL_EXT_get_proc_address
+
+commit 4ed71ebbb95c6dc8485b4143bd20cfedf77f89c6
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 16 16:43:38 1999 +0000
+
+ changed archive filenames to beta3
+
+commit 92460c25a39e18f53399aac0870faa6338a13e57
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 16 16:41:03 1999 +0000
+
+ added glxinfo
+
+commit d2bfe1ee29caf272006c6ee758845046ae6e3313
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 16 16:40:46 1999 +0000
+
+ initial check-in
+
+commit 43c9c2cfae458cf0d7618af5f25d57c0a5ebae08
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 16 15:52:51 1999 +0000
+
+ added GLX_MESA_set_3dfx_mode. clean-up of glXGetProcAddress
+
+commit 17f0efb89639251527a80744f4db52b36cf6341e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 16 15:46:05 1999 +0000
+
+ changed version string to return 1.2
+
+commit e3f37862d25b20d952bb5740f1abfd6b6569cdaf
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Sep 16 11:54:56 1999 +0000
+
+ Do pop for GL_VIEWPORT_BIT via. the api
+
+commit 0099981b1cb1eb1ee7b059aeb3970206bd7c4fde
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Thu Sep 16 06:41:42 1999 +0000
+
+ Misc winding rule bug fixes.
+
+commit 69b78057d10f37a79f98e251e5fe1a65eb883fba
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 15 20:04:04 1999 +0000
+
+ bumped version strings to Mesa 3.1
+
+commit b7064bcf33adfe8153060e351e8417010242422b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 15 19:38:28 1999 +0000
+
+ misc changes to tar file list
+
+commit 7bc00c9ca8888395cc5227060c97550171e5ebe0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 15 17:02:06 1999 +0000
+
+ minor library name changes
+
+commit c8c391d584d0f459d7f918167caed7bf4ef40fd5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 15 16:39:01 1999 +0000
+
+ removed mention of libMesaGL
+
+commit e42048f93793b17f2ac549f0705cbb3d2b6473d2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 15 16:34:43 1999 +0000
+
+ 3.1 beta 3 info
+
+commit e300ab8b2b53e400c64eb2a419585f4b788abc18
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 15 16:32:48 1999 +0000
+
+ new MESA_ version number symbols
+
+commit 212e625c24be177f488054c86647ac374e61eed5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 15 16:31:31 1999 +0000
+
+ new version number symbols
+
+commit cd65179540eacb2167f48d4f58453283fb5050c4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 15 15:20:50 1999 +0000
+
+ added a few more files to the tar list
+
+commit 2f49a40a0777523e9d2bf810a6bdb0400a750a75
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 15 15:11:01 1999 +0000
+
+ added third, tiny version number to mklib scripts
+
+commit d9bb106726d3cc83475da536b4dbaeabac3740dd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 15 15:10:20 1999 +0000
+
+ added third, tiny version number to arguments
+
+commit 210ef19797f5fe11462b19ddba9dc4f3c38c1115
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 15 15:09:00 1999 +0000
+
+ added TINY version symbol
+
+commit af19f37b797942e08c5847cfcc9be9792b2ebc32
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 15 13:56:44 1999 +0000
+
+ removed unused GLcontext arg from a few functions
+
+commit a852e8fc0f12f3fc6c71e024472d3d60a009dae6
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Wed Sep 15 02:12:16 1999 +0000
+
+ Added debugging pragma message.
+
+commit d7c9c1e5c033dcf87155958e2de1020f16fbd68f
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Wed Sep 15 02:11:10 1999 +0000
+
+ Fixed vector macro calls, specifically COPY_3V params.
+
+commit 2b2746fedd6fc7ba17e18b2e5f39fbf659c7dc42
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Tue Sep 14 22:46:02 1999 +0000
+
+ Added debugging output.
+
+commit bbe0c46722a2fb3287f953aa949a9b31ca71ee68
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 14 12:20:17 1999 +0000
+
+ added linux-386-pthread-shared-glide
+
+commit d21c43cd15921965a2f1894a0185aa7ca8b5416b
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Tue Sep 14 06:23:40 1999 +0000
+
+ Win32 fix by Eero Pajarre.
+
+commit 77dcf82d8182625d139638c858c4157a7ce8b1b9
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Tue Sep 14 05:37:58 1999 +0000
+
+ Fixed legacy gluNextContour impact on gluTessEndContour.
+
+commit 49e0bc42e2328c81265707404e2321c3cd88e150
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Tue Sep 14 03:23:08 1999 +0000
+
+ Fixed GLUtriangulatorObj again (spelling).
+
+commit 32c658b057c9f3af2c2d459fa3b0b1485aea5b05
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Tue Sep 14 01:32:58 1999 +0000
+
+ Fixed definition of GLUtriangluatorObj for 1.3 tessellator.
+
+commit de37ce3e22ad33cae84c8aa461a12660625297b5
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 14 00:30:28 1999 +0000
+
+ fixed pixel packing/unpacking code in gluBuild2DMipmaps()
+
+commit a96e8ad9788c5c4aa2ff62b87d9e3f86be21513d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 14 00:11:40 1999 +0000
+
+ added gluCheckExtension()
+
+commit daa0b0f65671f48dacd892034a24fc6549d9908e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 14 00:10:31 1999 +0000
+
+ added gluUnProject4()
+
+commit d1603d4a46d342d4b17e1ce8a8e58a72ad9b7514
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Mon Sep 13 22:20:13 1999 +0000
+
+ Fixed file headers. Tracking down macro bugs.
+
+commit 70cf58648a23543bc915028eba89ec1fc1685c1e
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Mon Sep 13 14:31:32 1999 +0000
+
+ strcmp needs the string.h
+
+commit eada67136ac0b9377da9e176865d2d2a3c7638fe
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon Sep 13 14:09:23 1999 +0000
+
+ added Eero's multitexture function patch
+
+commit 9c097c0f113e58fad2a1f7c26f810606fe184a98
+Author: Jon Taylor <taylorj@ggi-project.org>
+Date: Mon Sep 13 01:08:37 1999 +0000
+
+ Re-added missing GGIMesa context bufsize structure member
+
+commit 0f9aed04d8510491e9adcc26310c99aa0d40066a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Sep 12 12:04:13 1999 +0000
+
+ fixed typo in GetProcAddress
+
+commit d8ede96148c7a7338786d028410894f98b5c72f0
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 11 20:13:21 1999 +0000
+
+ clean-up of glXGetProcAddressEXT()
+
+commit 6fd3b9682268ee37d5e1150680e63604292206e9
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Sep 11 16:01:26 1999 +0000
+
+ bugix from raul for fxddbitmap
+
+commit 84ffacb978457a4ac57e88bf5500cb1140981638
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 11 12:04:54 1999 +0000
+
+ added 1.2 function to gluGetProcAddressEXT()
+
+commit c5d7d70be8bc9a32db95c861ec25c368f3aee84f
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 11 11:48:11 1999 +0000
+
+ GL_EXT_get_proc_address clean-up
+
+commit c0e2871718ef523b3c0841e2052672dfcdb3010a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 11 11:47:15 1999 +0000
+
+ include extensions.h
+
+commit f893f032faebd6c6f4be4f9de7c8181575bb247c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 11 11:34:21 1999 +0000
+
+ added GLU_EXT_get_proc_address
+
+commit 89a42b7e736bd9b0ab090906cab0cd047a6ec12e
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 11 11:33:45 1999 +0000
+
+ added GLX_EXT_get_proc_address
+
+commit 585a68c82b9d87ea094143e91fab722070b3dc73
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 11 11:31:34 1999 +0000
+
+ added GL_EXT_get_proc_address
+
+commit ed3453350a8567184975182abddd7e4008f7518d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Sep 11 11:26:34 1999 +0000
+
+ added GL_EXT_get_proc_address
+
+commit 6c8657fa5f64044783dc22c20e7b89f188c877eb
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Sep 10 14:24:35 1999 +0000
+
+ new DD_Z_NEVER flag
+
+commit f0f3815e4f93a72de339f9da7109b069dd6c90cd
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Fri Sep 10 04:32:10 1999 +0000
+
+ Fixed triangle output, recovery process termination.
+
+commit 95740b2c113ced1d49d84ceecc551e3718d8d8c1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Sep 10 03:05:04 1999 +0000
+
+ changed C++ comments to C style
+
+commit 2856b53e03a59d1a567a56b99450a44be1a60e13
+Author: Gareth Hughes <gareth@valinux.com>
+Date: Fri Sep 10 02:03:31 1999 +0000
+
+ Added GLU 1.3 tessellation (except winding rule code).
+
+commit 2ba7c1cbe44ce7d8878e311ff22fe33da0cd6329
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 9 23:48:02 1999 +0000
+
+ moved gl_GetPointerv() into get.h
+
+commit 00dd504c72e7af8a171a07a952b03bc38982780a
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Sep 9 23:47:09 1999 +0000
+
+ moved gl_GetString() into get.c
+
+commit e4c15c12d89315f5913f3350a99471d6f8236e58
+Author: Miklos Fazekas <boga@valerie.inf.elte.hu>
+Date: Thu Sep 9 18:49:36 1999 +0000
+
+ More compliant error check.
+
+commit 36ca6bd82af6d987ad9fd76262bf8a7a7c62573b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Sep 8 22:14:31 1999 +0000
+
+ minor changes. always call compactify_arrays()
+
+commit 45224face0d942094cc4426d2c84d441661a4c62
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 7 22:31:30 1999 +0000
+
+ removed TexCoordUnit from GLcontext, use Array.ActiveTexture instead
+
+commit 2ca99ca2e7dee551b8f1730dbae2513f99828cfc
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Sep 7 21:32:30 1999 +0000
+
+ added vertices.c
+
+commit 9b7c843671144caf26cdff4341a2abaf1e31b325
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Sep 5 19:59:33 1999 +0000
+
+ fixes for the mga driver
+
+commit 324beb95f34b29b53c8863af5591fb90393a157e
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sat Sep 4 14:40:49 1999 +0000
+
+ fix for mga depthbuffer resize
+
+commit da54ffc852996f94dcf46b0cdc40c5ff12b55496
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Sep 3 15:48:54 1999 +0000
+
+ more bugfixes
+
+commit 44c73933e9f70c180d80da05636a7bf87d07cb50
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Sep 3 14:56:40 1999 +0000
+
+ Fog, displaylist and zoom operations
+
+commit 8d8e248ab215df7e127dea1f66916e32e5cc1526
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Fri Sep 3 11:53:33 1999 +0000
+
+ fix for GL_COMPILE_AND_EXECUTE bug
+
+commit b6e6937287eb92945e5e66db1c110861bf389085
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Sep 2 13:16:17 1999 +0000
+
+ fixed GL_FRONT_AND_BACK cull bug
+
+commit a4bb2ef30ef05c5ed2f9d3d95e2133ca6c227aa6
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Mon Aug 30 07:13:55 1999 +0000
+
+ Added vertices.c to compile list
+
+commit d858a651d8569a6fd47ee4ee55b27e24a1542a47
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Aug 29 16:18:23 1999 +0000
+
+ removed bogus call
+
+commit 50149b085e3695e1945922d9971f80ce35932690
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Aug 29 14:06:02 1999 +0000
+
+ more fixes on the fast path
+
+commit 3875679607fb3359a88ca6c21568d95eb509926b
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Sun Aug 29 10:26:31 1999 +0000
+
+ new files to support vertex-based geometry
+
+commit 4f738b4c1010ddf2e1dc404c198137abeef117d4
+Author: Josh Vanderhoof <joshv@users.sourceforge.net>
+Date: Sat Aug 28 01:38:54 1999 +0000
+
+ features weren
+
+commit a43cfd71da2fddd6df201f64814d4a8a6d8e7eb9
+Author: Jon Taylor <taylorj@ggi-project.org>
+Date: Fri Aug 27 21:06:30 1999 +0000
+
+ Fixed double buffering bug when running in X
+
+commit 443dd9fd4dba5a5769a0ead41ab15329a87314dc
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Fri Aug 27 11:02:57 1999 +0000
+
+ This time the correct file
+
+commit 2be79c1aa2c168b7ecfb8289ce462ffb1de935eb
+Author: Keith Whitwell <keith@tungstengraphics.com>
+Date: Thu Aug 26 14:50:49 1999 +0000
+
+ various pipeline bugs
+
+commit 0552b3063349d167b128714e49c704e8f9006071
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Tue Aug 24 12:34:50 1999 +0000
+
+ Update after disk crash
+
+commit 49160c9a818f979995ddc872b504c8877b26f531
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Tue Aug 24 12:34:20 1999 +0000
+
+ Update after disk crash
+
+commit 668b4ab2fa06c27d423a79f4fe93ae1af62252c7
+Author: Jon Taylor <taylorj@ggi-project.org>
+Date: Tue Aug 24 02:03:34 1999 +0000
+
+ *** empty log message ***
+
+commit 6583efcfe9bb139d03b0a35ff76d180268574ce2
+Author: Jon Taylor <taylorj@ggi-project.org>
+Date: Mon Aug 23 22:34:08 1999 +0000
+
+ Misc small cleanups
+
+commit e76342e6885388c93de73d862621b18d0dfdb438
+Author: Jon Taylor <taylorj@ggi-project.org>
+Date: Mon Aug 23 22:22:31 1999 +0000
+
+ Updated to reflect GGIMesa 3.1 changes
+
+commit 7b9c36d568c7bc8d49d45b95933d799c8fddc721
+Author: Jon Taylor <taylorj@ggi-project.org>
+Date: Mon Aug 23 21:13:19 1999 +0000
+
+ *** empty log message ***
+
+commit 72fc9a527d29b731969bc5c94c51467f32f5a2e9
+Author: Jon Taylor <taylorj@ggi-project.org>
+Date: Sun Aug 22 08:56:50 1999 +0000
+
+ *** empty log message ***
+
+commit 14c53fe1d5490b94138ca570890f734641e99dac
+Author: Jon Taylor <taylorj@ggi-project.org>
+Date: Sat Aug 21 22:46:13 1999 +0000
+
+ *** empty log message ***
+
+commit 035e8d01439b2b77501329db1f5f9a1d370f7388
+Author: Jon Taylor <taylorj@ggi-project.org>
+Date: Sat Aug 21 22:36:52 1999 +0000
+
+ *** empty log message ***
+
+commit b35b28e4d942da206bc74fbbbd520f71fa6b6209
+Author: Jon Taylor <taylorj@ggi-project.org>
+Date: Sat Aug 21 08:53:27 1999 +0000
+
+ *** empty log message ***
+
+commit 035e96ec3cf25dfa39dcdacb0f0c7b57d9d2b85a
+Author: Jon Taylor <taylorj@ggi-project.org>
+Date: Sat Aug 21 06:27:37 1999 +0000
+
+ *** empty log message ***
+
+commit 95dcb43951b5d3c99514d1f2a50ea797217d328d
+Author: Jon Taylor <taylorj@ggi-project.org>
+Date: Sat Aug 21 05:57:17 1999 +0000
+
+ *** empty log message ***
+
+commit 212ce73b08acf36354b61e03be311323c88063c4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Aug 20 01:19:36 1999 +0000
+
+ added a few more bug fixes
+
+commit b30e70436c614629b654664cb36a4f35276d93ad
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 19 15:48:01 1999 +0000
+
+ fixed alpha channel problem in gl_blend_pixels()
+
+commit a4dcdcf0ffae4c6cf52354fbd63c95d7d7815fd9
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 19 13:57:42 1999 +0000
+
+ initial check-in (post crash)
+
+commit 2d550f6ff1afa3189874c99cfe4125362ee76797
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 19 13:52:56 1999 +0000
+
+ initial check-in (post-crash)
+
+commit 5a41d02502185b0716c1006bfe79ce0504fcee85
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 19 13:26:16 1999 +0000
+
+ minor change for irix-debug
+
+commit 65b5e1e3fda8749adb0a0c3f3a219df8b11700da
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 19 13:24:27 1999 +0000
+
+ glIsEnabled(GL_TEXTURE_3D) was wrong
+
+commit cddc583aeb8b7bbfccd34999234b1e92fa9b8d43
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Aug 19 11:54:28 1999 +0000
+
+ testing
+
+commit afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1c
+Author: jtg <jtg>
+Date: Thu Aug 19 00:55:39 1999 +0000
+
+ Initial revision
+
+commit f2544d4920ce168bec9cd94d774b7ea5103a3d74
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 30 18:58:30 1999 +0000
+
+ optimized glAccum function
+
+commit bb7d1263dd76c16797e390dd9d147dd7bd7ef923
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 20 00:35:22 1999 +0000
+
+ clarified what this file covers
+
+commit 3e07e16ac7ae5035e78df74240eab346b823694c
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 20 00:30:41 1999 +0000
+
+ initial rev
+
+commit 99412b9f1e58d030cf94aae43171439c1875bfbd
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jul 20 00:28:57 1999 +0000
+
+ added 3.1 beta 3 info
+
+commit 8a06c75889d905ac7b7759cf1eca4c013a438a36
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Fri Jul 9 14:23:50 1999 +0000
+
+ Ted's 3.1b2 update
+
+commit 43062c8731e9ed32acd5c0f9942ff3c56130b51e
+Author: tanner <tanner>
+Date: Thu Jul 8 13:15:13 1999 +0000
+
+ added installation instructions
+
+commit 5cf6b296e3c2949fb6137384c91868c4c7f8a4f4
+Author: tanner <tanner>
+Date: Sat Jul 3 15:30:10 1999 +0000
+
+ merged the autoconf build system from experimental-1 branch
+
+commit f464dc1168d562973689635756b42f0ca2e85a59
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Fri Jul 2 09:30:59 1999 +0000
+
+ update
+
+commit e18df5f669af32eedf2980c70f60f4e13d06244c
+Author: Jouk Jansen <joukj@hrem.stm.tudelft.nl>
+Date: Fri Jul 2 06:53:38 1999 +0000
+
+ Updated
+
+commit d9fc275662daaa30036dd5003ff3d795bca210c4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Jun 8 00:39:40 1999 +0000
+
+ Updated OpenStep/NeXT support (pete@ohm.york.ac.uk)
+
+commit dbf13dd3bb949fb1177963cd2d607d384c3632fb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue May 25 01:17:28 1999 +0000
+
+ updated by Alexander Mai
+
+commit 5b8312c3f01cdeecbaef139ca75221a081ddc5e1
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun May 23 22:46:32 1999 +0000
+
+ updated 3.1 beta 2 data
+
+commit e713e63c36c737238f127104dd81b1184e6e8521
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Mon May 17 22:06:46 1999 +0000
+
+ updated by Alexander Mai
+
+commit ac4316f7f12c6455392b8759f14ea5ed3b477ffb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Apr 18 01:36:45 1999 +0000
+
+ added bug fix note for wide points and lines
+
+commit be8dd3e4083310985e6e7364e91b45d23c1c5616
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Apr 10 12:25:26 1999 +0000
+
+ initial check-in
+
+commit 274513edbed622a6e34818bebb02010a7c19badb
+Author: David Bucciarelli <davibu@tin.it>
+Date: Thu Apr 8 18:01:36 1999 +0000
+
+ Updated the DavidB email address and the MESA_GLX_FX related documentation
+
+commit 076028de96e6ada7fc6ee25e47a6ee475fed67c2
+Author: sio2 <sio2>
+Date: Wed Mar 10 12:41:11 1999 +0000
+
+ Added GL_TEXTURE_PRIORITY to gl_TexParameterfv in src\texstate.c
+
+commit 808a0138c099dd705255de233b80eea775121cd2
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Mar 3 02:34:04 1999 +0000
+
+ updates
+
+commit 2cc5fb0c43896dee288221d1fd57c2114d0a3e1f
+Author: Kevin E. Martin <martin@valinux.com>
+Date: Tue Mar 2 20:52:14 1999 +0000
+
+ fixed SVR4 'cc' compiler macro problem (dawes@xfree86.org)
+
+commit 7b48f993b3c2abe7693f3e32b15a2f9bc0f7459b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Feb 27 17:48:27 1999 +0000
+
+ added CVS Id tag
+
+commit 871c3cceb50bbb1ce54e76d2db11422acc9b3a1d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Feb 27 17:47:51 1999 +0000
+
+ added GL_LINEAR 3D texture bug
+
+commit 672f8ffe92841042c8d1268c8ece30d3e922516e
+Author: David Bucciarelli <davibu@tin.it>
+Date: Thu Feb 25 19:10:30 1999 +0000
+
+ Updated to Voodoo driver v0.30
+
+commit 31edff1b5243aade7c2ff14de656876311960b4d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 23 03:50:43 1999 +0000
+
+ initial rev
+
+commit ecc88c1e1cad4a5ac933fd085237f54cff62d2d4
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 23 03:41:13 1999 +0000
+
+ initial rev
+
+commit f9eae7b63b8459784f3776c9ace3c54fff49e492
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Tue Feb 23 03:34:40 1999 +0000
+
+ initial rev
+
+commit 7c2ce35ec92d91f3e08a94cb37c5235a0dc03fff
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Feb 11 03:52:24 1999 +0000
+
+ added Special Features section
+
+commit da9513df4807dd9bba3813233adda76c69c99d91
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Feb 10 13:14:53 1999 +0000
+
+ Initial revision
+
+commit a822d1dc6cc41224df1b1fd275e734a9eb89806d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Feb 6 06:32:20 1999 +0000
+
+ removed old driver info
+
+commit 324af0b166f3a371c5a8ba9bebd607b025041c64
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 30 04:00:31 1999 +0000
+
+ added note about new driver for BeOS R4
+
+commit ee6ba02277b4113678bfd6baac27612ee699c2cf
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Jan 30 03:59:03 1999 +0000
+
+ Initial revision
+
+commit bc547e1385d20ca6bf85daa09802ea6418ddce4d
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 14 03:13:11 1999 +0000
+
+ updates from Vik
+
+commit 72f680e5174182dbbd9c4f867e87f8a7f60a89eb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Thu Jan 14 03:12:22 1999 +0000
+
+ Initial revision
+
+commit 3867fa4cfabcb3209ebea244f61c0553079a2ecb
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Oct 3 12:48:50 1998 +0000
+
+ added info about overlay planes
+
+commit a6922cb8c35cb7eb9ac531b5c2ab5dd584aca245
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sun Aug 23 15:26:26 1998 +0000
+
+ added a few URLS
+
+commit e0a3ce2bb0db9e710bc0a2e979a85ac2e58d534b
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 29 01:19:15 1998 +0000
+
+ added MESA_HPCR_CLEAR env var info
+
+commit 04fa2f9cb9beb734987ea8b01aeeb6b523e690a3
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 29 01:18:05 1998 +0000
+
+ added Daryll, David, and Steve's ideas
+
+commit 4732a6b7eb58303e189c0daa3898043e6174b3de
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Wed Jul 29 01:15:40 1998 +0000
+
+ Initial revision
+
+commit e58a10af640ba58b6001f5c5ad750b782547da76
+Author: Brian Paul <brian.paul@tungstengraphics.com>
+Date: Sat Feb 14 17:45:13 1998 +0000
+
+ initial rev
diff --git a/debian/README.source b/debian/README.source
new file mode 100644
index 0000000000..e9fa95833e
--- /dev/null
+++ b/debian/README.source
@@ -0,0 +1,39 @@
+------------------------------------------------------
+Quick Guide To Patching This Package For The Impatient
+------------------------------------------------------
+
+1. Make sure you have quilt installed
+2. Unpack the package as usual with "dpkg-source -x"
+3. Run the "patch" target in debian/rules
+4. Create a new patch with "quilt new" (see quilt(1))
+5. Edit all the files you want to include in the patch with "quilt edit"
+ (see quilt(1)).
+6. Write the patch with "quilt refresh" (see quilt(1))
+7. Run the "clean" target in debian/rules
+
+Alternatively, instead of using quilt directly, you can drop the patch in to
+debian/patches and add the name of the patch to debian/patches/series.
+
+
+The X Strike Force team maintains X packages in git repositories on
+git.debian.org in the pkg-xorg subdirectory. Most upstream packages
+are actually maintained in git repositories as well, so they often
+just need to be pulled into git.debian.org in a "upstream-*" branch.
+
+The .orig.tar.gz upstream source file could be generated this
+"upstream-*" branch in the Debian git repository but it is actually
+generated from upstream tarballs directly.
+Upstream ships Mesa as 3 different tarballs (MesaLib, MesaGLUT and
+MesaDemos) which are re-bundled together into a single .orig.tar.gz.
+
+The Debian packaging is added by creating the "debian-*" git branch
+which contains the aforementioned "upstream-*" branch plus the debian/
+repository files.
+When a patch has to be applied to the Debian package, two solutions
+are involved:
+* If the patch is available in one of the upstream branches, it
+ may be git'cherry-picked into the Debian repository. In this
+ case, it appears directly in the .diff.gz.
+* Otherwise, the patch is added to debian/patches/ which is managed
+ with quilt as documented in /usr/share/doc/quilt/README.source.
+ Thus, the patching system requires a build dependency on quilt.
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000000..71e5621973
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,1538 @@
+mesa (7.7-4) unstable; urgency=low
+
+ * Pull from upstream mesa_7_7_branch up to commit 293f4d51.
+ + r6xx/r7xx: emit relocation for FRAG & TILE buffer, closes: #569663.
+
+ -- Brice Goglin <bgoglin@debian.org> Wed, 24 Feb 2010 22:44:11 +0100
+
+mesa (7.7-3) experimental; urgency=low
+
+ * Pull from upstream mesa_7_7_branch up to commit f5145a6e.
+ * Build against libdrm-radeon1 2.4.17 to get DRI2 support.
+
+ -- Brice Goglin <bgoglin@debian.org> Mon, 01 Feb 2010 22:55:36 +0100
+
+mesa (7.7-2) experimental; urgency=low
+
+ [ Julien Cristau ]
+ * Rename the build directory to not include DEB_BUILD_GNU_TYPE for no
+ good reason. Thanks, Colin Watson!
+ * Remove myself from Uploaders
+
+ [ Brice Goglin ]
+ * Pull from upstream mesa_7_7_branch up to commit 2f28ca0a.
+ + Fix funky colors on radeon/r200/r300.
+
+ -- Brice Goglin <bgoglin@debian.org> Wed, 27 Jan 2010 09:14:38 +0100
+
+mesa (7.7-1) experimental; urgency=low
+
+ [ Brice Goglin ]
+ * Bump libdrm build dependency to 2.4.15, closes: #561058.
+ * New upstream release.
+ * Pull from upstream mesa_7_7_branch up to commit 6d6c9c66.
+
+ [ Julien Cristau ]
+ * Add freedesktop.org ftp to watch file since that's where newer upstream
+ tarballs are.
+ * Don't include GLUT sources since we don't use them.
+
+ -- Brice Goglin <bgoglin@debian.org> Mon, 11 Jan 2010 17:52:31 +0100
+
+mesa (7.7~rc2-1) experimental; urgency=low
+
+ * New upstream release candidate.
+ + s3v and trident DRI drivers removed since they never worked.
+
+ -- Brice Goglin <bgoglin@debian.org> Sat, 12 Dec 2009 13:02:55 +0100
+
+mesa (7.6.1-1) unstable; urgency=low
+
+ * New upstream release
+ + Pull upstream mesa_7_6_branch up to commit da876fa3
+ * Bump linux-libc-dev build-dep to 2.6.31 for the r600 dri driver (fixes
+ ftbfs on mips).
+ * Drop hunk from 05_hurd-ftbfs.diff that was applied upstream. Refresh
+ other patches.
+
+ -- Julien Cristau <jcristau@debian.org> Tue, 29 Dec 2009 10:42:24 +0000
+
+mesa (7.6.1~rc3-1) unstable; urgency=low
+
+ * New upstream release candidate.
+ + Pull upstream mesa_7_6_branch up to commit 7d41b424.
+ + Includes sparc64 xform asm patch from #560403.
+ * Update debian/rules to fix sparc64 FTBFS, thanks Aurelien Jarno,
+ closes: #560403.
+ * Build r600 DRI driver.
+
+ -- Brice Goglin <bgoglin@debian.org> Fri, 11 Dec 2009 18:36:36 +0100
+
+mesa (7.6.1~rc2-1) unstable; urgency=low
+
+ * New upstream release candidate.
+ + Pull upstream mesa_7_6_branch up to commit b2953ee.
+ + i965: Fix the bounds emitted in the vertex buffer packets,
+ closes: #556541.
+ + Fix window drawing regression in Kwin on older Radeon hardware,
+ fix assertion failure leading to crash on kwin when compositing
+ is enabled, closes: #549588.
+ + Refresh patches.
+
+ -- Brice Goglin <bgoglin@debian.org> Sun, 06 Dec 2009 00:14:34 +0100
+
+mesa (7.6-1) unstable; urgency=low
+
+ [ Brice Goglin ]
+ * New upstream release.
+ + Fix software fallback assertion on RS480, closes: #539162.
+ + Fix segfault in _swrast_ReadPixels on i915, closes: #545085.
+
+ [ Julien Cristau ]
+ * Don't run install from the various configs in parallel, hopefully fixing a
+ bug in the previous debian/rules. Thanks to Bernhard R. Link for the
+ suggestions.
+
+ -- Brice Goglin <bgoglin@debian.org> Tue, 29 Sep 2009 11:51:58 +0200
+
+mesa (7.5.1-1) unstable; urgency=low
+
+ [ Brice Goglin ]
+ * New upstream release.
+ * Add README.source.
+ * Bump Standards-Version to 3.8.3.
+
+ [ Julien Cristau ]
+ * Override 'package-name-doesnt-match-sonames' lintian warnings for libGLU,
+ libGLw and both libGLs.
+ * Use dh_lintian and bump debhelper build-dep accordingly.
+
+ -- Brice Goglin <bgoglin@debian.org> Fri, 04 Sep 2009 11:38:46 +0200
+
+mesa (7.5-3) unstable; urgency=low
+
+ * Pull from upstream mesa_7_5_branch up to commit b4ba6a66
+ (early 7.5.1 release snapshot).
+ * Only install the huge upstream changelog in mesa-common-dev,
+ closes: #538094.
+ * Enable i686 optimized libraries on hurd-i386.
+
+ -- Brice Goglin <bgoglin@debian.org> Fri, 24 Jul 2009 00:29:28 +0200
+
+mesa (7.5-2) unstable; urgency=low
+
+ * Pull from upstream mesa_7_5_branch up to commit a6b31415
+ + radeon/DRI1: if we have HW stencil, only expose fbconfigs with stencil,
+ closes: #537732.
+ * Install the upstream changelog.
+
+ -- Brice Goglin <bgoglin@debian.org> Tue, 21 Jul 2009 22:21:50 +0200
+
+mesa (7.5-1) unstable; urgency=low
+
+ [ Timo Aaltonen ]
+ * Move dri.pc to mesa-common-dev (closes: #521667)
+
+ [ Brice Goglin ]
+ * Enable i686 optimized libraries on kfreebsd-i386, closes: #537345.
+ * New upstream release:
+ + i915: Fix assertion failure on remapping a non-BO-backed VBO,
+ closes: #537147.
+ + GLX/DRI1: Mark GLX visuals with depth != screen depth non-conformant,
+ closes: #532980.
+
+ -- Brice Goglin <bgoglin@debian.org> Sun, 19 Jul 2009 12:53:41 +0200
+
+mesa (7.5~rc4-1) experimental; urgency=low
+
+ [ Timo Aaltonen ]
+ * New upstream release candidate.
+ + xdriinfo now works with DRI2 (closes: #527132)
+ * rules: Disable EGL.
+ * mesa-common-dev.install: Don't install glxew.h, conflicts with libglew.
+
+ [ Julien Cristau ]
+ * Update patches:
+ + 02_use-ieee-fp-on-s390-and-m68k.patch moved from imports.h to compiler.h
+ + 03_optional-progs-and-install.patch refreshed
+ + 05_hurd-ftbfs.diff partly applied upstream
+ + 06_kfreebsd-ftbfs.diff refreshed
+ * Install dri.pc, which will be needed to build xorg-server 1.7.
+ * Don't build gallium for now.
+
+ -- Julien Cristau <jcristau@debian.org> Sun, 28 Jun 2009 20:21:37 +0200
+
+mesa (7.4.4-1) unstable; urgency=low
+
+ [ Julien Cristau ]
+ * New upstream release.
+ + fixes a crash in swrast glXWaitX (closes: #528708)
+ * Don't build hardware dri drivers on s390.
+ * Update 04_osmesa_version.diff, refresh 06_kfreebsd-ftbfs.diff.
+
+ [ Brice Goglin ]
+ * Enable motif in GLw, closes: #527483.
+
+ -- Julien Cristau <jcristau@debian.org> Sun, 28 Jun 2009 18:58:27 +0200
+
+mesa (7.4.1-1) unstable; urgency=low
+
+ [ Julien Cristau ]
+ * Make libgl1-mesa-dev and mesa-common-dev 'Architecture: any'. This gets
+ rid of uninstallability when a new upstream version isn't built on all
+ architectures, and allows us to ship potentially arch-specific .pc files.
+ * Install pkgconfig files for libGLU, libOSMesa and libGLw.
+ * Make libgl1-mesa-dri{,-dbg} 'Architecture: any', as swrast_dri.so should
+ get built everywhere.
+ * Drop the dependency on libgl1-mesa-glx from -dri, and make -glx recommend
+ -dri instead. The dri drivers are also loaded by the X server, which
+ doesn't need libGL. On the other hand, libGL needs one of the dri drivers
+ for direct rendering (either software or hardware). Mark libgl1-mesa-dri
+ as breaking old xserver-xorg-core and libgl1-mesa-glx, to avoid
+ incompatibilities.
+ * Add patch by Samuel Thibault to fix FTBFS on hurd-i386.
+ * Pull from mesa_7_4_branch as of May 3rd (commit 63375254).
+ * Move -dbg packages to new 'debug' section.
+
+ [ Brice Goglin ]
+ * Add patch by Aurelien Jarno to fix FTBFS on kfreebsd-i386, closes: #524690.
+
+ -- Julien Cristau <jcristau@debian.org> Sun, 03 May 2009 16:05:09 +0200
+
+mesa (7.4-2) unstable; urgency=low
+
+ * Upload to unstable.
+
+ -- Julien Cristau <jcristau@debian.org> Wed, 08 Apr 2009 23:53:47 +0100
+
+mesa (7.4-1) experimental; urgency=low
+
+ [ Timo Aaltonen ]
+ * New upstream release.
+
+ -- Julien Cristau <jcristau@debian.org> Wed, 01 Apr 2009 20:25:00 +0200
+
+mesa (7.4~rc1-1) experimental; urgency=low
+
+ * New upstream release candidate.
+ * Fix watch file to make uscan not consider release candidates as newer than
+ actual releases.
+ * debian/control: add lpia to the Architecture field for
+ libgl1-mesa-dri{,-dbg} to match Ubuntu.
+ * debian/rules: on lpia, only build the i915 and i965 dri drivers (based on
+ Ubuntu changes).
+ * Build-depend on linux-libc-dev >= 2.6.29 on linux archs.
+
+ -- Julien Cristau <jcristau@debian.org> Wed, 25 Mar 2009 11:34:42 +0100
+
+mesa (7.3-1) experimental; urgency=low
+
+ [ Timo Aaltonen ]
+ * New upstream release.
+
+ [ Julien Cristau ]
+ * Try to make the diff a bit smaller by removing directories that are in
+ upstream git but not in tarballs.
+
+ -- Julien Cristau <jcristau@debian.org> Fri, 30 Jan 2009 20:00:34 +0100
+
+mesa (7.3~rc3-1) experimental; urgency=low
+
+ [ Timo Aaltonen ]
+ * New upstream release candidate.
+
+ [ Julien Cristau ]
+ * Refresh patches 03 and 04.
+
+ -- Julien Cristau <jcristau@debian.org> Wed, 21 Jan 2009 19:01:21 +0100
+
+mesa (7.3~rc1-1) experimental; urgency=low
+
+ * New upstream release candidate.
+ + provides DRI2 (closes: #411141).
+ + i915: fallback for cube map texture. Fixes GPU hang with scorched3d
+ (closes: #484049).
+
+ [ Timo Aaltonen ]
+ * Remove debian/patches/01_disable-intel-classic-warn.diff, the
+ warning is gone now.
+ * debian/control:
+ - Build-depend on x11proto-dri2-dev (>= 1.99.3)
+
+ [ Julien Cristau ]
+ * Require libdrm-dev 2.4.3.
+ * Merge packaging changes from unstable, from 7.0.3-5 to 7.0.3-7.
+ * Delete unused configs/debian-*, and install-source.sh script. We've
+ switched to using autoconf, and mesa-swx11-source is gone.
+ * Delete some now unused code from debian/rules.
+
+ -- Julien Cristau <jcristau@debian.org> Sat, 10 Jan 2009 22:14:55 +0100
+
+mesa (7.2-1) experimental; urgency=low
+
+ [ Brice Goglin ]
+ * Fix grammar and punctuation in glxinfo(1), thanks Sam Hocevar,
+ closes: #498595.
+
+ [ Timo Aaltonen ]
+ * New upstream release.
+ * Refresh patch 04_osmesa_version.diff
+
+ [ Julien Cristau ]
+ * Remove the build-dep on dri2proto, DRI2 support has been removed.
+ * intel: don't warn about TTM init failure.
+
+ -- Julien Cristau <jcristau@debian.org> Wed, 24 Sep 2008 14:28:21 +0200
+
+mesa (7.1-1) experimental; urgency=low
+
+ * Add parallel build support.
+ * New upstream development release
+ + libGLU now only exports its public interface (closes: #319388)
+ * Some more parallel build updates.
+
+ -- Julien Cristau <jcristau@debian.org> Wed, 27 Aug 2008 19:52:24 +0200
+
+mesa (7.1~rc3-1) experimental; urgency=low
+
+ [ Julien Cristau ]
+ * New upstream release candidate (updated to git commit 4fab47b1).
+ * Build against libdrm >= 2.3.1.
+ * 04_osmesa_version.diff: fix libOSMesa versioning, to revert accidental
+ SONAME bump.
+
+ [ Timo Aaltonen ]
+ * Refresh patches, and drop obsolete 00_create-libdir.patch and
+ 01_fix-makefile.patch.
+ * Build-depend on x11proto-dri2-dev.
+ * Drop mesa-swx11-source.
+ * Add dri_interface.h to mesa-common-dev.
+ * Add gl.pc to libgl1-mesa-dev
+ * rules: Replace the old build system with the new autotools-based
+ system.
+ * Run autoreconf before building the various flavours..
+ * Add automake & autoconf to build-deps.
+ * Use --enable-glx-tls for dri.
+
+ -- Julien Cristau <jcristau@debian.org> Sun, 13 Jul 2008 19:41:42 +0200
+
+mesa (7.0.3-7) unstable; urgency=low
+
+ * Cherry-pick patch from upstream:
+ Use 3Dnow! x86-64 routines only on processors that support 3Dnow!
+ (closes: #484180).
+ * Also build the x86-specific dri drivers on kfreebsd (closes: #492894).
+
+ -- Julien Cristau <jcristau@debian.org> Sun, 14 Dec 2008 07:34:58 +0530
+
+mesa (7.0.3-6) unstable; urgency=high
+
+ * Update debian/copyright to the SGI Free Software License B, version 2.0.
+ It now mirrors the free X11 license used by X.Org (closes: #368560).
+ http://www.sgi.com/company_info/newsroom/press_releases/2008/september/opengl.html
+
+ -- Julien Cristau <jcristau@debian.org> Sat, 20 Sep 2008 16:30:44 +0200
+
+mesa (7.0.3-5) unstable; urgency=low
+
+ * Disable the i915tex driver, it doesn't build against libdrm 2.3.1.
+ * Pull from mesa_7_0_branch (27425708).
+
+ -- Julien Cristau <jcristau@debian.org> Sat, 12 Jul 2008 18:56:19 +0200
+
+mesa (7.0.3-4) unstable; urgency=low
+
+ * Pull from mesa_7_0_branch (2ac4919d).
+ * Put back our configs/ changes into the .diff.gz since choose-configs
+ needs them before quilt is invoked. Put 04_cleanup-osmesa-configs.patch
+ there as well for #485161.
+
+ -- Brice Goglin <bgoglin@debian.org> Wed, 18 Jun 2008 20:59:14 +0200
+
+mesa (7.0.3-3) unstable; urgency=low
+
+ * Pull from mesa_7_0_branch (718724de).
+ + Fix intel_batchbuffer_space on i965, closes: #455817.
+ + Fix busy error in i915_wait_irq for real now, closes: #467319.
+ * Move our configs/ changes from the .diff.gz into our quilt patches,
+ with 04_cleanup-osmesa-configs.patch renamed into 04_debian-configs.patch,
+ closes: #485161.
+
+ -- Brice Goglin <bgoglin@debian.org> Tue, 17 Jun 2008 20:00:51 +0200
+
+mesa (7.0.3-2) unstable; urgency=low
+
+ * Pull from mesa_7_0_branch (03447de3).
+ * Set right cliprects for the current draw region on Intel, closes: #467319.
+ * Use BRW_TEXCOORDMODE_CLAMP instead of BRW_TEXCOORDMODE_CLAMP_BORDER
+ to implement GL_CLAMP on i965, closes: #478880.
+ * Fix segment fault with BASE_LEVEL set to 5 for MipMap on i915,
+ closes: #451339.
+ * Disable low impact fallback on r300 by default, closes: #440868.
+
+ -- Brice Goglin <bgoglin@debian.org> Fri, 13 Jun 2008 06:53:29 +0200
+
+mesa (7.0.3-1) unstable; urgency=low
+
+ * New upstream release.
+ * Only call ProgramStringNotify if program parsing succeeded,
+ closes: #473551.
+
+ -- Brice Goglin <bgoglin@debian.org> Fri, 11 Apr 2008 08:42:37 +0200
+
+mesa (7.0.3~rc2-2) unstable; urgency=low
+
+ * Pull from mesa_7_0_branch (1e83d70b).
+ * Fixes regression in the i965 dri driver (closes: #470984, #470084)
+ * Update 02_use-ieee-fp-on-s390-and-m68k.patch.
+ * Change libgl1-mesa-swx11-i686's pre-dependency on libgl1-mesa-swx11 to a
+ regular versioned dependency, and add ${shlibs:Depends}.
+
+ -- Julien Cristau <jcristau@debian.org> Mon, 31 Mar 2008 16:47:31 +0200
+
+mesa (7.0.3~rc2-1) unstable; urgency=low
+
+ * New upstream release candidate.
+ + enable user-defined clip planes for R300 (closes: #408679)
+ + 03_optional-progs-and-install.patch: partly applied upstream, fixed up
+ * Stop building with -O0 on hppa. Bug #451047 should be fixed in recent gcc
+ versions.
+
+ -- Julien Cristau <jcristau@debian.org> Sun, 24 Feb 2008 10:22:54 +0100
+
+mesa (7.0.2-4) unstable; urgency=low
+
+ * Update to mesa_7_0_branch head (commit 48ae5cf0).
+ * Add Vcs-Git, Vcs-Browser and Homepage fields in debian/control.
+
+ -- Julien Cristau <jcristau@debian.org> Thu, 17 Jan 2008 22:23:06 +0100
+
+mesa (7.0.2-3) unstable; urgency=low
+
+ * Update to mesa_7_0_branch head (commit 0107acde).
+ * Bump Standards-Version to 3.7.3.
+ * Move libgl1-mesa-swx11-dbg, mesa-common-dev and libosmesa6-dev to section
+ libdevel.
+ * libgl1-mesa-swx11 conflicts with libgl1-mesa-glx. Move it and
+ libgl1-mesa-swx11-dev to priority extra.
+ * Fix typo in mesa-common-dev's long description.
+
+ -- Julien Cristau <jcristau@debian.org> Tue, 18 Dec 2007 19:13:18 +0100
+
+mesa (7.0.2-2) unstable; urgency=low
+
+ [ Julien Cristau ]
+ * Don't set -fno-strict-aliasing in configs/debian-default. It is set
+ upstream now.
+ * Workaround gcc ICE on hppa: build libOSMesa with -O0 (see bug#451047).
+ * Add build-dep on libxext-dev. Thanks, Timo Aaltonen!
+
+ -- Brice Goglin <bgoglin@debian.org> Tue, 13 Nov 2007 21:43:40 +0100
+
+mesa (7.0.2-1) unstable; urgency=low
+
+ * New upstream release.
+ + Fix Blender crash in triangle_twoside(), closes: #439668, #446315.
+ + Fix crash in _generic_read_RGBA_span_RGB565_MMX(), closes: #445313.
+ + Fix the new __gluInvertMatrix() function, closes: #440137 ,#441071.
+ + Refresh 03_optional-progs-and-install.patch since libGLU is not
+ built when building progs/xdemos.
+ + Refresh 04_cleanup-osmesa-configs.patch.
+ + Drop 05_static-nonpic.patch,, applied upstream.
+ + Remove DESTDIR from INSTALL_DIR in configs/debian-default since
+ the upstream Makefiles now support DESTDIR.
+ * Add myself to Uploaders.
+
+ -- Brice Goglin <bgoglin@debian.org> Sun, 11 Nov 2007 11:53:26 +0100
+
+mesa (7.0.1-2) unstable; urgency=low
+
+ * Update to latest git (from mesa_7_0_branch)
+ + adds support for some new intel chipsets (i915 and i915_tex dri drivers)
+ (closes: #437333)
+ + broken inline asm in dri drivers fixed (closes: #423739)
+
+ -- Julien Cristau <jcristau@debian.org> Tue, 28 Aug 2007 12:11:30 +0200
+
+mesa (7.0.1-1) unstable; urgency=low
+
+ * New upstream release.
+ * Upload to unstable.
+
+ -- Julien Cristau <jcristau@debian.org> Thu, 09 Aug 2007 11:56:16 +0200
+
+mesa (7.0.1~rc2-1) experimental; urgency=low
+
+ [ David Nusinow ]
+ * New upstream release candidate
+ * Bite the bullet and add myself to uploaders
+
+ [ Julien Cristau ]
+ * Modify the short descriptions of various packages so they fit in .changes
+ files without being cut off. Thanks, Marc 'HE' Brockschmidt!
+ * Add a shlibs file for libgl1-mesa-swx11-i686.
+
+ -- Julien Cristau <jcristau@debian.org> Fri, 27 Jul 2007 20:17:48 +0200
+
+mesa (6.5.3-1) experimental; urgency=low
+
+ [ David Nusinow ]
+ * New upstream release
+
+ [ Julien Cristau ]
+ * Cherry-pick commit 65faf023679988f93da82b4c7ebdc689f2094459 by Michel
+ Dänzer to fix r300 crash.
+
+ -- Julien Cristau <jcristau@debian.org> Mon, 21 May 2007 11:34:51 +0200
+
+mesa (6.5.3~rc3-1) experimental; urgency=low
+
+ [ Brice Goglin ]
+ * Split out libGLw libs and headers from libgl1-mesa-swx11 and ship both
+ static and shared libraries, creating libglw1-mesa and libglw1-mesa-dev
+ (closes: #374904).
+
+ [ Julien Cristau ]
+ * New upstream release candidate.
+ + 06_fix_texture_data_corruption.patch,
+ 07_call_radeonSetCliprects_from_radeonMakeCurrent.patch,
+ 08_r300_update_window_state_when_bound_but_stamp_changed.patch,
+ 09_i915_always_enable_pixel_fog.patch: remove, included upstream.
+ + 01_fix-makefile.patch, 02_use-ieee-fp-on-s390-and-m68k.patch: refresh.
+ * Add build-dependencies on libxdamage-dev and libxfixes-dev.
+ * Resync debian/scripts/install-source.sh.
+ * Build mesa-swx11-source only in binary-indep.
+ * Update from upstream git (commit
+ dee1b0d5bbe91f83854813cbbcd3090327bcb5c2).
+
+ -- Julien Cristau <jcristau@debian.org> Wed, 25 Apr 2007 10:36:50 +0200
+
+mesa (6.5.2-7) unstable; urgency=low
+
+ [ Brice Goglin ]
+ * libgl1-mesa-dev does not need to depend on libgl1-mesa-dri,
+ libgl1-mesa-glx is enough (since their split in 6.4.1-0.1);
+ closes: #432081. Thanks, Samuel Thibault!
+
+ [ Julien Cristau ]
+ * libgl1-mesa-dev Depends on libgl1-mesa-glx (>= ${source:Upstream-Version})
+ instead of >= ${Source-Version}. This way it's still installable on
+ architectures where mesa isn't built yet when a minor revision is
+ uploaded.
+
+ -- Julien Cristau <jcristau@debian.org> Wed, 11 Jul 2007 05:50:45 +0200
+
+mesa (6.5.2-6) unstable; urgency=low
+
+ * libgl1-mesa-swx11 needs to depend on libosmesa6 (>= 6.5.2-1) because
+ it used to contain libOSMesa.so.6. This means that programs linked
+ against this lib got a dependency on -swx11 which was broken since
+ 6.5.2-1.
+ * Fix build on hurd-i386 (build libgl1-mesa-glx without dri support and
+ don't build the dri drivers); closes: #420403. Thanks, Samuel Thibault!
+
+ -- Julien Cristau <jcristau@debian.org> Thu, 05 Jul 2007 00:56:35 +0200
+
+mesa (6.5.2-5) unstable; urgency=low
+
+ [ Brice Goglin ]
+ * Add 07_call_radeonSetCliprects_from_radeonMakeCurrent.patch
+ (closes: #420164). Thanks to Christian Ohm.
+ * Add 08_r300_update_window_state_when_bound_but_stamp_changed.patch
+ * Add 09_i915_always_enable_pixel_fog.patch
+
+ -- Julien Cristau <jcristau@debian.org> Fri, 18 May 2007 13:36:25 +0200
+
+mesa (6.5.2-4) unstable; urgency=low
+
+ [ Julien Cristau ]
+ * debian/control: libgl1-mesa-dri now suggests libglide3, with an
+ explanation in the description (closes: #387339).
+ * Upload to unstable.
+
+ [ Brice Goglin ]
+ * Add 06_fix_texture_data_corruption.patch (closes: #412346).
+
+ -- Julien Cristau <jcristau@debian.org> Fri, 20 Apr 2007 05:57:35 +0200
+
+mesa (6.5.2-3) experimental; urgency=low
+
+ * Set LIB_DIR and EXTRA_LIB_PATH in configs/debian-default to override
+ settings in configs/linux-x86-64. This fixes a FTBFS on amd64, thanks to
+ Marc 'HE' Brockschmidt for the report (closes: #410118).
+
+ -- Julien Cristau <jcristau@debian.org> Wed, 7 Feb 2007 23:04:28 +0100
+
+mesa (6.5.2-2) experimental; urgency=low
+
+ * Sync Section/Priority for all packages with the override.
+ * Build the arch:all debs in binary-indep, and use the debhelper -s option
+ for commands in binary-arch, to fix FTBFS on non-i386 archs, thanks to
+ Marc 'HE' Brockschmidt (closes: #409638).
+ * Add myself to Uploaders.
+
+ -- Julien Cristau <jcristau@debian.org> Sun, 4 Feb 2007 21:14:02 +0100
+
+mesa (6.5.2-1) experimental; urgency=low
+
+ [ Thierry Reding ]
+ * New upstream release.
+ * Set the Debian X Strike Force as maintainer.
+ * Add myself to uploaders.
+ * Build the i915tex DRI module on the i386 and amd64 architectures.
+ * Add patch 04_cleanup-osmesa-configs that makes the OSMesa configurations
+ behave as expected.
+ * Add patch 05_static-nonpic to build static libraries without -fPIC.
+ * Make debugging symbol packages depend on the corresponding binary package
+ and put them into the libdevel section.
+ * Bump shlibs file for the libosmesa6 package to account for added symbols.
+ Thanks Julien Cristau.
+ * Build the DRI modules with the default optimization flags. Thanks Julien
+ Cristau.
+ * mesa-common-dev now ships the GLX header files so it needs to replace
+ libgl1-mesa-swx11-dev and libgl1-mesa-dev. Thanks Julien Cristau.
+ * All OSMesa libraries were moved to the libosmesa6 and libosmesa6-dev
+ package, so have them replace libgl1-mesa-swx11, libgl1-mesa-swx11-dev and
+ mesa-common-dev respectively. Thanks Julien Cristau.
+
+ [ Julien Cristau ]
+ * Drop obsolete depends on xlibs.
+
+ -- Thierry Reding <thierry@gilfi.de> Thu, 11 Jan 2007 15:06:52 +0100
+
+mesa (6.5.2~rc3-0.1) experimental; urgency=low
+
+ * Non-maintainer upload.
+ * Update to latest upstream release candidate.
+
+ -- Thierry Reding <thierry@gilfi.de> Fri, 1 Dec 2006 01:06:28 +0100
+
+mesa (6.5.2~rc2-0.1) experimental; urgency=low
+
+ * Non-maintainer upload.
+ * New upstream release candidate:
+ + Refresh 02_use-ieee-fp-on-s390-and-m68k.patch.
+ * Add manual pages for the glxdemo, glxgears, glxheads and glxinfo
+ utilities (Closes: #385463).
+
+ -- Thierry Reding <thierry@gilfi.de> Wed, 22 Nov 2006 20:49:06 +0100
+
+mesa (6.5.2~rc1-0.1) experimental; urgency=low
+
+ * Non-maintainer upload.
+ * New upstream release candidate.
+ * Update patches:
+ + Drop hunk #2 of 01_fix-makefile.patch, applied upstream.
+ + Drop 03_handle-sync-and-dont-unlock-display.patch, applied upstream.
+ * Bump build-dependency on libdrm-dev (>= 2.2.0).
+ * Use the new upstream minstall utility to install files and directories.
+ Using /usr/bin/install would result in a symlink's target being copied
+ instead of the symlink.
+
+ -- Thierry Reding <thierry@gilfi.de> Sat, 18 Nov 2006 22:23:04 +0100
+
+mesa (6.5.1-0.6) experimental; urgency=low
+
+ * Non-maintainer upload.
+ * Rewrote the debian/rules file to make it easier to understand.
+ * Provide i686 optimized versions in libgl1-mesa-swx11-i686 instead of in
+ libgl1-mesa-swx11.
+ * Statically link libOSMesa with the software rasterization code from libGL
+ so that it works independently of the installed libGL. (Closes: #387706)
+ * Make libosmesa6-dev depend on mesa-common-dev because it only needs the
+ gl.h header file and no libGL anymore.
+ * Move glx*.h headers from libgl1-mesa(-swx11)-dev into mesa-common-dev
+ because both packages provide identical files.
+ * Add debugging symbol packages for libgl1-mesa-swx11, libgl1-mesa-glx and
+ libgl1-mesa-dri.
+ * Repack the contents of the three Mesa tarballs (MesaDemos, MesaGLUT and
+ MesaLib) as the original source tarball. (Closes: #392715)
+ * Make mesa-common-dev depend on libx11-dev.
+ * Provide a new package: mesa-utils. These utilities are shipped in the
+ MesaDemos package so mesa is the right package to provide them.
+
+ -- Thierry Reding <thierry@gilfi.de> Sat, 18 Nov 2006 18:50:07 +0100
+
+mesa (6.5.1-0.5) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * Build with -fno-strict-aliasing to fix misbuild of i965_dri.so
+ (closes: #394311). Thanks to Michel Dänzer for the fix, and to Ryan
+ Richter for the report and testing.
+
+ -- Julien Cristau <julien.cristau@ens-lyon.org> Wed, 3 Jan 2007 13:48:20 +0100
+
+mesa (6.5.1-0.4) unstable; urgency=medium
+
+ * Non-maintainer upload (and brown paper bag release).
+ * _Depend_ on libx11-dev from libgl1-mesa-dev; revert previous change.
+ Fixes FTBFS in other packages. (Really Closes: #396498)
+
+ -- Steinar H. Gunderson <sesse@debian.org> Sat, 11 Nov 2006 13:55:20 +0100
+
+mesa (6.5.1-0.3) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * Build-depend on libx11-dev; fixes FTBFS. (Closes: #396498)
+
+ -- Steinar H. Gunderson <sesse@debian.org> Wed, 8 Nov 2006 20:58:40 +0100
+
+mesa (6.5.1-0.2) unstable; urgency=low
+
+ * Non-maintainer upload
+ * Disable generation of SSE instructions (closes: #390560)
+ * Remove duplicate and unused build configurations
+ * Remove extra source files left from CVS snapshots (closes: #389283)
+ * Enable i965 DRI driver on i386 and amd64. Thanks to Ryan Richter
+ for the patch. (closes: #392030)
+ * Enable Unichrome DRI driver on amd64 (closes: #391900)
+ * Enable FFB DRI driver on sparc, not i386 (closes: #388025)
+ * Consistently compile C sources as C99 (closes: #373623)
+ * Fix X display locking error in GLX. Thanks to Josh Triplett for
+ the patch. (closes: #391681)
+
+ -- Ben Hutchings <ben@decadent.org.uk> Fri, 13 Oct 2006 02:25:52 +0100
+
+mesa (6.5.1-0.1) unstable; urgency=low
+
+ * New upstream version
+ * Build-dep on x11proto-gl-dev >= 1.4.8
+ * Stuff not in the upstream tarballs
+ + os2 glut stuff
+ + docs/gears.png
+ * Bump libdrm-dev build-dep to >= 2.0.2
+ * Add libdrm cflags to the debian-dri config. This allows the build system
+ to find drm.h
+ * Make sure that libGl looks for the dri drivers in the proper location. Do
+ this by setting the appropriate variables in the debian config
+ * Re-add s390 and m68k to the USE_IEEE test in src/mesa/main/imports.h. This
+ package seriously needs to store patches somewhere that are easy to find
+ and re-apply.
+ * Add patch from Cyril Brulebois to allow package to build on HURD, which
+ lacks DRI and directfb. This includes not using lib-directfb in the
+ build-depends for hurd-i386. It also creates a new debian config,
+ debian-indirect, which is used when building for HURD. This config is
+ invoked in the debian-dri config on hurd-i386. Thanks to Cyril Brulebois
+ for the patch, Michael Banck, Michel Dänzer, and Samuel Thibault for
+ input on an appropriate fix. (closes: #358065)
+
+ -- David Nusinow <dnusinow@debian.org> Mon, 25 Sep 2006 21:21:47 -0400
+
+mesa (6.5.0.cvs.20060524-1.1) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * Upload mesa 6.5 cvs to unstable, because we need it for Xorg 7.1.
+ * Upload with medium urgency instead of high, since this is a new
+ upstream that should get some testing in unstable in spite of the
+ multiple RC bugfixes.
+ * Update debian/copyright with the full text of the SGI Free B and SGI
+ MIT-style licenses in use in the package, and take a stab at
+ cleaning up the list of paths and licenses.
+ Closes: #368562.
+ * Make mesa-common-dev Replaces: xlibosmesa-dev from sarge.
+ Closes: #384057.
+ * Fix libgl1-mesa-glx to not Provides: libgl1-mesa-dri, since it
+ definitely doesn't provide DRI support and this Provides: breaks
+ upgrades from sarge. Closes: #384282.
+ * debian/libgl1-mesa-swx11.shlibs: create a static shlibs file,
+ because libOSMesa.so.6 is not provided by all implementations of
+ libGL and so needs a separate shlibs declaration. Also make
+ libgl1-mesa-glx the default alternative instead of libgl1-mesa-swx11
+ for consistency even when building against libgl1-mesa-swx11,
+ because to the extent these are interchangeable (i.e., 99%...),
+ there should be no reason to prefer one over the other -- and to the
+ extent that they aren't interchangeable, it's wrong to list libgl1
+ as an alternative dependency at all. Closes: #386185.
+ * Don't provide shlibs at all for libgl1-mesa-swx11-dbg; this is an
+ unnecessary duplication of the existing libgl1-mesa-swx11 shlibs
+ since packages should not really be linking against /usr/lib/debug/
+ separately.
+ * src/mesa/tnl/t_vb_render.c: Drop a pointless printf() in the
+ RENDER_LINE macro, getting rid of copious debug output on console.
+ Closes: #369895.
+ * libgl1-mesa-swx11 has no reason to depend on libglu, anything that
+ wants libglu will have its own dependency on it; drop this
+ hard-coded dependency from debian/control.
+ * Have libglu1-mesa-dev Provides: xlibmesa-glu-dev, since it's the
+ successor to that package and xlibmesa-glu-dev is still referenced
+ in a number of places and this makes for more reliable builds than
+ depending on alternatives without requiring another dummy -dev
+ package from xorg.
+ * Replace references to Source-Version in debian/control with either
+ binary:Version or source:Version, depending on whether the
+ relationship references an arch: any or arch: all package, making
+ mesa binNMU-safe; add build-depends on dpkg-dev (>= 1.13.19) to
+ ensure these substvars are available.
+
+ -- Steve Langasek <vorlon@debian.org> Fri, 15 Sep 2006 15:51:16 -0700
+
+mesa (6.5.0.cvs.20060524-1) experimental; urgency=low
+
+ * The "-O666 -fwater-c00ling -DBE_F4ST" release
+ * New pull from CVS
+ * Merge back and forth with 6.4.2-1
+ * configs/debian*_i386: disabled, optimized build fuxxored.
+
+ -- Marcelo E. Magallon <mmagallo@debian.org> Wed, 24 May 2006 14:12:13 -0600
+
+mesa (6.5.0.cvs.20060512-0.0.1) experimental; urgency=low
+
+ * New upstream release (6.5.0)
+ * Pulled CVS as of 2006-05-12
+ * debian/control: remove DirectFB packages
+
+ -- Marcelo E. Magallon <mmagallo@debian.org> Fri, 12 May 2006 15:23:49 -0600
+
+mesa (6.4.2-1) unstable; urgency=low
+
+ * The "please, please, please don't hate me" release.
+ * New upstream release.
+ * Ack NMUs
+ * debian/control: mesa-common-dev Replaces xlibmesa-gl-dev (<< 1:7)
+ AGAINST MY BETTER JUDGEMENT. The problem here is gratuitous package
+ renames within a system that does not support them. (closes:
+ bug#362063)
+ * debian/control: hurd-i386 doesn't have drm. Doesn't fix #358065,
+ yet.
+ * bin/mklib: fix from Robert Millan to support hurd-i386 and
+ GNU/kFreeBSD. Thanks Robert. (closes: bug#358066)
+ * src/glx/x11/indirect_vertex_array.c, src/mesa/main/glheader.h,
+ src/mesa/drivers/dri/common/glcontextmodes.c: fix broken indirect
+ rendering on 64-bit platforms. Thanks Aaron M. Ucko. (closes:
+ bug#364228)
+ * debian/control: b-d on x11proto-gl-dev. Please don't hate me!
+ * debian/control: Standards-Version: 3.7.2
+ * debian/rules: export DEB_HOST_ARCH
+ * configs/debian-dri: use DEB_HOST_ARCH to decide if certain DRI drivers
+ should be built or not.
+ + Built only for i386: i810 i830 sis.
+ Rationale: integrated chipsets available only for i386 processors.
+ + Built only for i386: ffb.
+ Rationale: Michel Dänzer said so, no idea why.
+ + Built only for i386, amd64: i915.
+ Rationale: Apparently this is available in the 64-bit Intel chipset.
+ Please file a bug report stating which drivers should be included/excluded
+ for which architectures. Positive lists are preferred. If possible state
+ why.
+ * debian/mesa-swx11-source.install: nuke this abomination. Dinamically
+ generate the list at build time.
+ * debian/drivers.map: add gl-debian-dri_i386
+ * debian/README.build: updated, add big friendly letters in short sentences.
+ Perhaps I can read it myself this way...
+ * debian/rules, configs/debian, configs/debian-dri, configs/debian_i386,
+ configs/debian-dri_i386, debian/libdir.map, debian/drivers.map: hack in
+ support for variable driver's dir. If you want this for your pet
+ architecture please provide BOTH configs/debian_arch and
+ configs/debian-dri_arch. If you just want to include/exclude DRI drivers
+ on your architecture look in configs/debian-dri.
+ * configs/debian*_i386: disabled, optimized build fuxxored.
+ * debian/rules: remove misguided Perl construct, replace by something
+ simpler in shell. I actually meant to do something else with the Perl
+ thing, but got distracted and forgot about it. Thanks Aaron M. Ucko!
+ * debian/rules: make it work like debian/README.build says it works wrt to
+ building optimized targets.
+
+ -- Marcelo E. Magallon <mmagallo@debian.org> Tue, 16 May 2006 18:07:53 -0600
+
+mesa (6.4.1-0.4) unstable; urgency=low
+
+ * NMU
+ * Add versioned conflict between libgl1-mesa-dri and xlibmesa-dri so that
+ the xlibmesa-dri transitional upgrade package works
+
+ -- David Nusinow <dnusinow@debian.org> Mon, 6 Mar 2006 21:46:18 -0500
+
+mesa (6.4.1-0.3) unstable; urgency=low
+
+ * NMU
+ * Add s390 and m68k to the USE_IEEE test in src/mesa/main/imports.h.
+ (closes: #349437)
+
+ -- David Nusinow <dnusinow@debian.org> Sat, 11 Feb 2006 17:59:26 -0500
+
+mesa (6.4.1-0.2) unstable; urgency=low
+
+ * NMU
+ * Re-add dh_installdirs call to binary-indep target so that we get
+ arch-specific dirs for the mesa-swx11-source package
+ * Remove makedepend from build-depends. Now we'll just build-dep on xutils
+ to get the app, which will translate over to our own xorg 7.0 plans.
+
+ -- David Nusinow <dnusinow@debian.org> Tue, 31 Jan 2006 19:21:12 -0500
+
+mesa (6.4.1-0.1) unstable; urgency=low
+
+ [ Marcelo E. Magallon <mmagallo@debian.org> ]
+ * debian/control: build-depend on xutils
+ * include/GL/glx{int,proto,md,tokens}.h: missing upstream (closes: bug#326466)
+ * debian/libgl1-mesa-dri-dev.install: install GLX include files here, too.
+ * debian/rules: GLU and GLW don't have arch-specific targets.
+
+ [ Daniel Stone <daniels@debian.org> ]
+ * New upstream version, incorporating changes from Ubuntu 6.3 packaging.
+ * Rename packages:
+ - mesag3 -> libgl1-mesa-swrast
+ - mesag-dev -> libgl1-mesa-swrast-dev
+ - libgl1-mesa-dri -> libgl1-mesa
+ - libgl1-mesa-dri-dev -> libgl1-mesa-dev
+ - libgl1-mesa-dri still exists, but now contains the DRI modules only.
+ * Drop dependency *from* mesa-common-dev on libgl1-mesa-dev and
+ libglu1-mesa-dev; it should be the other way around. (closes: #336565)
+ * Add Build-Depends on pkg-config to get flags from libdrm, and libexpat-dev
+ for DRI configuration. Break out xlibs-dev Build-Depends to the
+ individual libraries required.
+ * Bump libdrm-dev Build-Depends to >> 1.0.5, in order to get new
+ via_drm.h to build the unichrome DRI driver.
+ * Configs: pare DRI drivers down to a sensible set for each architecture.
+ * Remove completely broken Glide target, which caused FTBFS.
+ * Add mesa-swrast-source package, providing the source for the software
+ rasteriser for libGLcore in the X server.
+ * Drop tight libosmesa6 -> libgl1-mesa-swrast Depends, replace with
+ shlibs:Depends.
+
+ [ David Nusinow <dnusinow@debian.org> ]
+ * New upstream version (6.4.1) (closes: #232665)
+ * Merge changes from Ubuntu version 6.4.1-0ubuntu1.
+ (closes: #341479, #340168, #334742)
+ + Add new files required by xorg-server GL build to mesa-swrast-source.
+ * NMU to begin getting Xorg 7.0 in to Debian
+ * Change libgl1-mesa-swrast Depends on libx11-6-dev to libx11-dev.
+ * Change libgl1-mesa-swrast to be named libgl1-mesa-swx11
+ * Change libgl1-mesa to be named libgl1-mesa-glx
+ * mesa-swrast-src.install stop looking for the swx11 dir and look for swrast
+
+ -- David Nusinow <dnusinow@debian.org> Sat, 21 Jan 2006 21:43:37 -0500
+
+mesa (6.3.2-2.1) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * Adjust Build-Depends:
+ + xlibs transition (Closes: #347129).
+ + xutils, xlibmesa-gl-dev (Closes: #326466).
+ * mesag-dev: Depends: libx11-dev (Closes: #347205).
+
+ -- Christoph Berg <myon@debian.org> Fri, 20 Jan 2006 20:45:43 +0100
+
+mesa (6.3.2-2) unstable; urgency=low
+
+ * debian/rules: build only whatever needs to be build according to
+ debian/control.
+ * debian/libdir.map: it's usr/lib/debug not usr/lib/dbg
+ * debian/rules: select optimized targets for the current host architecture
+ only (thanks Michel!)
+ * debian/README.build: reword some of the directions, add more info.
+ * debian/control: forgot to add CPR relationships in the new packages
+ (thanks Michel!)
+ * debian/control: Set maintainer to pkg-mesa-devel, add myself as uploader
+
+ -- Marcelo E. Magallon <mmagallo@debian.org> Sun, 28 Aug 2005 14:41:15 -0600
+
+mesa (6.3.2-1) unstable; urgency=low
+
+ * New upstream
+ * configs/debian-dri: new target
+ * debian/control: add build-depends on libdrm-dev
+ * debian/rules: pass SRC_DIRS instead of SUBDIRS on the command line.
+ This allows for configurations to override the command line in a
+ sane way.
+ * configs/debian-dri: override SRC_DIRS
+ * configs/debian: add -D_GNU_SOURCE (required by dri drivers)
+ * debian/control, debian/rules: drop glide out of this package, it
+ will be moved to the mesa-legacy package, forked from 6.2.1-7.
+ * debian/drivers.map, debian/rules: take into account that some
+ drivers have external components.
+ + To be fixed: debian/drivers.map hardcodes locations
+ * debian/control: libgl1-mesa-dri, libgl1-mesa-directfb: new drivers
+ * dh_makeshlibs for libgl1-mesa-dri and libgl1-mesa-directfb
+ * debian/control: priority is optional... again...
+
+ -- Marcelo E. Magallon <mmagallo@debian.org> Sun, 21 Aug 2005 17:13:19 -0600
+
+mesa (6.2.1-7) unstable; urgency=low
+
+ * Previous upload got lost somewhere
+ + bin/mklib: add GNU/kFreeBSD, patch from Aurelien Jarno (closes:
+ bug#307154)
+ + recompile with newer g++
+
+ -- Marcelo E. Magallon <mmagallo@debian.org> Tue, 02 Aug 2005 06:47:20 -0600
+
+mesa (6.2.1-6) unstable; urgency=low
+
+ * bin/mklib: add GNU/kFreeBSD, patch from Aurelien Jarno (closes:
+ bug#307154)
+ * recompile with newer g++
+
+ -- Marcelo E. Magallon <mmagallo@debian.org> Sun, 24 Jul 2005 11:47:16 -0600
+
+mesa (6.2.1-5) unstable; urgency=low
+
+ * debian/rules: big mess up, files are not being moved to their proper
+ places. I naively assumed that command-line options to debhelper
+ commands would override DH_OPTIONS, that is, that having
+ DH_OPTIONS=-i (as suggested in the documentation) would mean
+ something like "use -i unless -p is passed on the command line". It
+ actually means "use -i in addition to -p passed on the command
+ line", which does not make any sense, but is consistent with the
+ wording in the documentation. (closes: bug#306499, bug#306918,
+ bug#307095)
+
+ -- Marcelo E. Magallon <mmagallo@debian.org> Sun, 01 May 2005 09:45:12 -0600
+
+mesa (6.2.1-4) unstable; urgency=low
+
+ * debian/control: fix description to reflect the exact content and
+ purpose of package (libosmesa-dev, mesag-dev).
+ * debian/rules: DH_OPTIONS=-s added to binary-arch target. (closes:
+ bug#306091)
+
+ -- Marcelo E. Magallon <mmagallo@debian.org> Sat, 26 Mar 2005 08:03:44 -0600
+
+mesa (6.2.1-3) unstable; urgency=low
+
+ * debian/control: try to match the override file. If mesa is "extra"
+ (for whatever reason), all the packages should be extra.
+ * debian/rules: quick workaround for left-over libGL.so in GLU -dev
+ package.
+
+ -- Marcelo E. Magallon <mmagallo@debian.org> Thu, 24 Mar 2005 19:35:34 -0600
+
+mesa (6.2.1-2) unstable; urgency=low
+
+ * The "thank you so much, I'm still voting against you" release.
+ * debian/rules: correct artifact of me not having had a proper
+ pbuilder environment to build stuff on and the repackaging from the
+ previous release. The -glu- and -glw- targets now explicitly depend
+ on the matching -gl- target, and symlinks are placed in the build
+ directories in order to actually have a libGL.so to make ld happy
+ when creating the libraries.
+ * debian/rules: uncomment dh_install :-\ There was a reason why I had
+ commented that out...
+ * First change closes: bug#298922
+ * Second change closes: bug#300302, bug#300284, bug#300430
+ * debian/control: "An X", whatever, I've been corrected multiple times
+ in both ways (translators beware). (closes: bug#300012)
+
+ -- Marcelo E. Magallon <mmagallo@debian.org> Sun, 20 Mar 2005 22:03:29 -0600
+
+mesa (6.2.1-1) unstable; urgency=low
+
+ * The "autobuilders, please please please don't hate me" release.
+ * New upstream.
+ * Repackage:
+ + Fall prey to debhelper
+ + Entries below this one preserved for historical reasons or
+ sentimental value, pick as many as you want. They bear NO
+ relation to the actual packages!
+ * configs/debian, configs/debian-debug, configs/debian-debug-i386,
+ configs/debian-glide, configs/debian-glide-i386, configs/debian-i386,
+ configs/debian-osmesa16, configs/debian-osmesa16-static,
+ configs/debian-osmesa32, configs/debian-osmesa32-static,
+ configs/debian-static, configs/debian-static-i386: new files.
+ * configs/debian-sparc: Dave Miller confirmed that the sparc assembly
+ files do work on Linux. I don't know where to install the optimized
+ libraries, so the file doesn't actually exist. Please read
+ debian/README.build if you want to have a sparc-optimized library.
+ * debian/control: GGI and glide2 are gone. glide is glide3.
+ * debian/rules: modify shlibs file for the glide3 target to require glide3
+ and only glide3 because that library exports functions not available in
+ other libGLs. Rationale: if someone is compiling a Debian package and
+ uses the glide target either he doesn't know what he is doing or he knows
+ exactly what he is doing. In the first case the package should not be
+ installable and in the second case the package requires this particular
+ version.
+ * debian/control: libgl1-mesa-glide3-dev does NOT provide a proper OpenGL
+ development environment (see above).
+ * PCR is bound to be wrong... *sigh*
+
+ -- Marcelo E. Magallon <mmagallo@debian.org> Sat, 25 Dec 2004 14:50:02 -0600
+
+mesa (6.0.1-1) unstable; urgency=low
+
+ * New upstream release.
+ * debian/rules: redid a bunch of stuff in order to support new build system
+ without autoconf and automake stuff. The next version is going to change
+ this _again_.
+
+ -- Marcelo E. Magallon <mmagallo@debian.org> Sun, 11 Apr 2004 07:00:19 -0600
+
+mesa (5.0.0-5.1) unstable; urgency=low
+
+ * Non-Maintainer Upload.
+ * Rename "GGIMesa"-references in src/GGI/default/Makefile.am to
+ "MesaGGI", which makes the package build again with newer libtool.
+ (Closes: #213836)
+
+ -- Steinar H. Gunderson <sesse@debian.org> Sun, 15 Feb 2004 17:37:08 +0100
+
+mesa (5.0.0-5) unstable; urgency=low
+
+ * debian/control: yank and put error? Remove hard-coded
+ nvidia-glx-dev from mesag-glide2-dev dependencies.
+
+ -- Marcelo E. Magallon <mmagallo@debian.org> Sun, 09 Feb 2003 10:31:51 +0100
+
+mesa (5.0.0-4) unstable; urgency=low
+
+ * debian/rules: fix typo in definition of GLIDE_ARCHS. (closes: bug#179622)
+
+ -- Marcelo E. Magallon <mmagallo@debian.org> Mon, 03 Feb 2003 20:19:12 +0100
+
+mesa (5.0.0-3) unstable; urgency=low
+
+ * The "it's amazing how people pick severities" release
+ * debian/control: mesa-common-dev conflicts with xlibmesa-dev. Actually put
+ dependency of mesa-common-dev on the mesa-*-dev packages to avoid having
+ to track other libgl-dev packages popping up. IMO this is less error
+ prone. You can't install mesa-common-dev without installing mesa-*-dev,
+ and those packages conflict with other libgl-dev packages. (closes:
+ bug#177996)
+ * Rename libglu1c102 to libglu1-mesa; the libglu1c102 is incorrent since
+ this library does not export C++ functions. Sorry about the mess.
+ * Rename libglu1-dev to libglu1-mesa-dev to be consistent
+ * debian/rules: use grep-dctrl to extract architectures from debian/control
+ * debian/control: add grep-dctrl to build-depends
+ * debian/shlibs.libglu: libglu1-mesa | libglu1
+ * debian/rules: install include/GL/xmesa.h in /usr/include/GL/xmesa.h; I'm
+ not 100% sure this is the right thing to do, but it's a niche so I don't
+ think it will actually make trouble (closes: bug#148866)
+ * debian/rules: install include/GL/glx*.h in the common package. (closes:
+ bug#178562)
+ * debian/rules: nasty hack to work arround libtool's idea of how libraries
+ should be linked (closes: bug#178514)
+ * debian/rules: even nastier hack. Getting environment variables to
+ percolate thru all the make calls isn't getting anywhere.
+ * si-glu/Makefile.am: export only glu.* symbols
+ * si-glu/Makefile.am: add -lm to link line
+ * src/Makefile.am: god damm it. If you use libm link to it!
+ * debian/control: mesa-common-dev depends on libglu1-mesa-dev to satisfy
+ libgl-dev's requirements
+
+ -- Marcelo E. Magallon <mmagallo@debian.org> Mon, 27 Jan 2003 17:15:25 +0100
+
+mesa (5.0.0-2) unstable; urgency=low
+
+ * debian/control: Not funny, I'm sure I put lesstif and xlibs-dev in the
+ build-depends. CVS says I didn't. (closes: bug#176730)
+ * debian/control, debian/rules: regenerate auto-stuff (closes: bug#176729)
+ * debian/control, debian/rules: GCC C++ 3.2 transition (libglu1c102 -- ugly!)
+ * remove Makefile.in from CVS control
+ * si-glu/libnurbs/interface/Makefile.am: fix INCLUDES macro
+
+ -- Marcelo E. Magallon <mmagallo@debian.org> Sun, 19 Jan 2003 00:48:32 +0100
+
+mesa (5.0.0-1) unstable; urgency=low
+
+ * New upstream release, it looks like glide and GGI are in working
+ condition again.
+ * FX patches from previous releases gone. They'll be back later.
+ * debian/rules: some clean ups.
+ * debian/control: add libglu1 packages
+ * debian/control: Standards-Version: 3.5.8
+ * debian/rules: Build Xt widgets (if you need this stuff, you need to depend
+ on mesag-dev, libgl-dev is not enough)
+ * debian/control, debian/rules: add mesa-common-dev package
+ * debian/control, debian/rules: add osmesa packages.
+
+ -- Marcelo E. Magallon <mmagallo@debian.org> Sun, 15 Dec 2002 12:28:49 +0100
+
+mesa (4.0.3-1) unstable; urgency=low
+
+ * New (and long delayed) upstream version
+ * Redid a bunch of FX patches, probably broke.
+
+ -- Marcelo E. Magallon <mmagallo@debian.org> Thu, 03 Oct 2002 11:27:29 +0200
+
+mesa (3.5-1) unstable; urgency=low
+
+ * New upstream version.
+ * Redid patches.
+ * Disabled building GGI target. Someone with a good understanding of GGI
+ needs to write a driver for mesa. The old version doesn't cut it
+ anymore.
+ * Most makefiles won't work. Copied them out of CVS.
+ * src/Makefile.am: add -lm to library list. (closes: bug#102717)
+ * configure.in: adjust GLU's version info to match previous release.
+
+ -- Marcelo E. Magallon <mmagallo@debian.org> Mon, 25 Jun 2001 22:13:40 +0200
+
+mesa3 (3.4.2.1-4) unstable; urgency=low
+
+ * So, here's the deal: the 3Dfx backend is going nowhere in 4.x and 5.x is
+ just arround the corner. Same thing for the GGI stuff. In order to leave
+ the people who need this stuff with _something_ to work with, I'll compile
+ those targets out of the mesa3 source package and the mesa package will
+ stuck to plain old X.
+ * debian/control, debian/rules: strip out all the parts concerning to mesa3g
+ and mesa3g-dev
+ * debian/control: update GGI architectures, let's see what happens
+ * debian/rules: special case alpha for stripping options. Chris, did you
+ ever figure out what the problem actually is? (closes: bug#99284)
+ * debian/rules: hereby I decree that everything in etc is a conffile. Die
+ future bugs, die!.
+ * configure: fix ggi_libdir, ggi_confdir (closes: bug#139598)
+
+ -- Marcelo E. Magallon <mmagallo@debian.org> Sun, 29 Sep 2002 11:21:00 +0200
+
+mesa (3.4.2.1-3) unstable; urgency=low
+
+ * Actually install widgets on the mesag-dev package (closes: bug#98988)
+
+ -- Marcelo E. Magallon <mmagallo@debian.org> Sat, 9 Jun 2001 16:39:36 +0200
+
+mesa (3.4.2.1-2) unstable; urgency=low
+
+ * src/X/xmesa1.c: I knew it, I knew it. This was bound to break. Stupid
+ typo. Restored MESA_GLX_FX (got renamed to GLX_FX accidentally, if you
+ have to know) (closes: bug#94114)
+
+ -- Marcelo E. Magallon <mmagallo@debian.org> Mon, 21 May 2001 08:52:07 +0200
+
+mesa (3.4.2.1-1) unstable; urgency=low
+
+ * Upstream released 3.4.2.
+ * Hmmm... thought about it on my way home. The code to parse 3dfx.conf
+ is wrong. Redid. Still not tested. (closes: bug#94114)
+ * debian/README.Debian: document 3dfx.conf
+
+ -- Marcelo E. Magallon <mmagallo@debian.org> Sat, 19 May 2001 11:57:33 +0200
+
+mesa (3.4.2-1) unstable; urgency=low
+
+ * New upstream version.
+ * debian/config.guess, debian/config.sub: newest versions from
+ http://subversions.gnu.org/cgi-bin/cvsweb/config (closes: bug#95338)
+ * GAAAAAAARGGH! src/X/xmesa1.c: horrible hack to use /etc/mesa/3dfx.conf
+ if there's no MESA_GLX_FX environment variable defined. I. Hate.
+ This. I'll make a deal with you: you find another of these things,
+ and you send me a nice tested patch. I don't have a 3DFX card and I
+ *HATE* uploading stuff I can't fully test. (closes: bug#94114)
+ * debian/rules: use the new files
+ * debian/rules: s/TMPDIR/DTEMPDIR/g
+ * gl3DfxSetDitherModeEXT from Zephaniah (closes: bug#65860)
+ * Disable GL_EXT_shared_texture_palette per default. Patch looks funny,
+ but I'll blindly trust Zephaniah.
+ * Hmmm... I hope Zephaniah tested this, because it broke in a rather silly
+ way at compile time.
+ * Fancy what people regard as "pretty important".
+
+ -- Marcelo E. Magallon <mmagallo@debian.org> Fri, 18 May 2001 09:23:49 +0200
+
+mesa (3.4.1-3) unstable; urgency=low
+
+ * PLEASE SUBMIT NMUs TO THE BTS, DAMN IT!
+ * debian/control: exclude m68k from libggi2-dev build-dependency.
+
+ -- Marcelo E. Magallon <mmagallo@debian.org> Sat, 17 Mar 2001 19:45:09 +0100
+
+mesa (3.4.1-2) unstable; urgency=low
+
+ * debian/control: add missing dependency on xlibs-dev and corrected the
+ one for libglide2-dev
+
+ -- Marcelo E. Magallon <mmagallo@debian.org> Wed, 14 Mar 2001 00:21:42 +0100
+
+mesa (3.4.1-1) unstable; urgency=low
+
+ * New upstream version.
+ * New maintainer. (closes: bug#81139)
+ * Some fixes to get it to compile.
+ * debian/rules: some reorganization happened to allow me test different
+ builds better.
+ * debian/control: nuked widgets package, if you miss it, you are doing
+ something wrong.
+ * debian/rules: -dev packages will be missing some garbage they used to
+ install. If you miss any of those files, I'm fairly confident you
+ are doing something wrong.
+ * configure, ltmain.sh, aclocal.m4, acinclude.m4, ...: vicious hacks to
+ allow the GGI version to compile.
+ * TODO: add the widgets to the packages
+ * TODO: make OSmesa packages
+
+ -- Marcelo E. Magallon <mmagallo@debian.org> Sat, 10 Feb 2001 18:34:13 +0100
+
+mesa (3.2.1-1) unstable; urgency=low
+
+ * New upstream version.
+
+ -- James A. Treacy <treacy@debian.org> Mon, 31 Jul 2000 15:13:34 -0400
+
+mesa (3.2-2) frozen unstable; urgency=low
+
+ * add MMX and 3Dnow opts for x86.
+
+ -- James A. Treacy <treacy@debian.org> Fri, 7 Jul 2000 16:06:43 -0400
+
+mesa (3.2-1) frozen unstable; urgency=low
+
+ * New upstream version.
+ * Made minor changes to README.3DFX. Closes bug#56827
+ * Added symlinks for mesa widget libraries. Closes bug#63115
+
+ -- James A. Treacy <treacy@debian.org> Wed, 28 Jun 2000 11:21:09 -0400
+
+mesa (3.1-17) frozen unstable; urgency=low
+
+ * Fixed Makefile for demos in mesag-widgets-dev. Closes bug#62674
+
+ -- James A. Treacy <treacy@debian.org> Fri, 19 May 2000 13:23:00 -0400
+
+mesa (3.1-16) frozen unstable; urgency=low
+
+ * Add --prefix=/usr to ggi build. Closes bug#61705, #61486
+
+ -- James A. Treacy <treacy@debian.org> Wed, 12 Apr 2000 15:12:48 -0400
+
+mesa (3.1-15) frozen unstable; urgency=low
+
+ * Remove ggi from the build on m68k. Closes bug#59273
+
+ -- James A. Treacy <treacy@debian.org> Mon, 6 Mar 2000 13:20:29 -0500
+
+mesa (3.1-14) frozen unstable; urgency=low
+
+ * Fixed hard-coded location of config file in library. This is release
+ critical, even though no bug was filed (relates to bug#58267).
+
+ -- James A. Treacy <treacy@debian.org> Mon, 28 Feb 2000 10:58:34 -0500
+
+mesa (3.1-13) frozen unstable; urgency=low
+
+ * Add missing ggi libraries. Closes bug#58267, #57760
+
+ -- James A. Treacy <treacy@debian.org> Thu, 24 Feb 2000 00:59:30 -0500
+
+mesa (3.1-12) frozen unstable; urgency=low
+
+ * Dependencies are now computed in a more intelligent way. Closes: bug#55861
+
+ -- James A. Treacy <treacy@debian.org> Fri, 21 Jan 2000 16:26:40 -0500
+
+mesa (3.1-11) frozen unstable; urgency=low
+
+ * Remove svgalib support from the software only package of mesa
+
+ -- James A. Treacy <treacy@debian.org> Sat, 22 Jan 2000 05:33:13 +0000
+
+mesa (3.1-10) frozen unstable; urgency=low
+
+ * Fix the mesag3-glide2 postinst. Closes bug#55462
+
+ -- James A. Treacy <treacy@debian.org> Sat, 22 Jan 2000 02:06:27 +0000
+
+mesa (3.1-9) frozen unstable; urgency=low
+
+ * The ggi based packages are now built with the other versions of mesa. Closes: bug#49218, #55221
+
+ -- James A. Treacy <treacy@debian.org> Sat, 15 Jan 2000 22:24:13 -0500
+
+mesa (3.1-8) unstable; urgency=low
+
+ * fixed the postinst and prerm for the glide packages
+ * added Provides: mesag-dev to the mesag-glide2-dev package to maintain
+ backwards compatability
+
+ -- James A. Treacy <treacy@debian.org> Sat, 15 Jan 2000 01:01:58 -0500
+
+mesa (3.1-7) unstable; urgency=low
+
+ * Fix version number for soname in the shlib file. Closes: bug#54926
+
+ -- James A. Treacy <treacy@debian.org> Thu, 13 Jan 2000 01:37:03 -0500
+
+mesa (3.1-6) unstable; urgency=low
+
+ * Include docs/README.3DFX in mesag3-glide2 package. Closes: bug#54625
+ * Remove Provides: libgl1 from mesag3-widgets. Closes: bug#54774
+ * conflicts with older versions of mesa. Closes: bug#54831
+
+ -- James A. Treacy <treacy@debian.org> Mon, 10 Jan 2000 11:50:49 -0500
+
+mesa (3.1-5) unstable; urgency=low
+
+ * now Conflicts: libgl1
+ * remove extra '.' in library name
+
+ -- James A. Treacy <treacy@debian.org> Sun, 9 Jan 2000 20:47:31 -0500
+
+mesa (3.1-4) unstable; urgency=low
+
+ * Added links libGL.so.1 <- libMesaGL.so.3 so existing progs don't break
+ * Copyright changed for version 3.1
+
+ -- James A. Treacy <treacy@debian.org> Thu, 6 Jan 2000 17:11:11 -0500
+
+mesa (3.1-3) unstable; urgency=low
+
+ * copyright file now refers to /usr/share/common-license/LGPL.
+
+ -- James A. Treacy <treacy@debian.org> Tue, 4 Jan 2000 11:50:45 -0500
+
+mesa (3.1-2) unstable; urgency=low
+
+ * Second try. Fixed shlibs file.
+
+ -- James A. Treacy <treacy@debian.org> Tue, 4 Jan 2000 00:00:29 -0500
+
+mesa (3.1-1) unstable; urgency=low
+
+ * New upstream version.
+ * glide version of packages added, since glide is now under the GPL.
+ * mesa widget libraries are now in a separate package
+ * library names are changed to lib{GL,GLU}.*
+
+ -- James A. Treacy <treacy@debian.org> Tue, 14 Dec 1999 10:06:14 -0500
+
+mesa (3.0-2) unstable; urgency=low
+
+ * added symlinks from libMesaGL* -> libGL*. Fixes bug #37160
+ * added lines (commented out) for building a glide version of mesa. Fixes bug #39758
+
+ -- James A. Treacy <treacy@debian.org> Thu, 13 May 1999 01:02:42 -0400
+
+mesa (3.0-1) unstable; urgency=low
+
+ * mesa libs moved to /usr/lib. Fixes bug #26874
+ * motif widget library libMesaGLwM added (compiled using headers from lesstif). Fixes bug #25380
+
+ -- James A. Treacy <treacy@debian.org> Thu, 6 Aug 1998 13:49:37 -0400
+
+mesa (2.6-4) unstable; urgency=low
+
+ * call to ldconfig in postinst put back in. Fixes bug #20552
+ * changelog.Debian file created for the mesa-doc package.
+ * deleted miscellaneous files. Fixes bug #21481
+
+ -- James A. Treacy <treacy@debian.org> Sat, 23 May 1998 23:41:34 -0400
+
+mesa (2.6-3) frozen unstable; urgency=low
+
+ * No changes. Just trying (again) to get this back in the distribution
+
+ -- James A. Treacy <treacy@debian.org> Tue, 24 Mar 1998 00:53:09 -0500
+
+mesa (2.6-2) unstable frozen; urgency=low
+
+ * point copyright to LPGL in /usr/doc/copyright. Fixes bug #19633
+
+ -- James A. Treacy <treacy@debian.org> Sun, 15 Mar 1998 14:00:33 -0500
+
+mesa (2.6-1) unstable; urgency=low
+
+ * New upstream Release
+ * strip static lib with --strip-debug and shared with strip--unneeded: Fixes bug#17301
+ * create doc package in build-indep: Fixes bug#16090
+ * added widgets-mesa library to package: Fixes bug#15729
+ * created mesa-glide* packages
+
+ -- James A. Treacy <treacy@debian.org> Mon, 19 Jan 1998 23:45:50 -0500
+
+mesa (2.5-2) unstable; urgency=low
+
+ * Corrected i386 specific debian/rules file: Fixes bug#15640
+
+ -- James A. Treacy <treacy@debian.org> Fri, 5 Nov 1997 11:46:13 -0500
+
+mesa (2.5-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- James A. Treacy <treacy@debian.org> Sun, 23 Nov 1997 20:46:13 -0500
+
+mesa (2.4-1) unstable; urgency=low
+
+ * New upstream release.
+ * New maintainer.
+ * libc6 release.
+
+ -- James A. Treacy <treacy@debian.org> Mon, 3 Nov 1997 01:11:34 -0500
+
+mesa (2.2-2) unstable; urgency=low
+
+ * debian/control: mesa-doc no longer depends on mesa (bug #8840).
+
+ -- Karl Sackett <krs@debian.org> Wed, 30 Apr 1997 10:25:25 -0500
+
+mesa (2.2-1) unstable; urgency=low
+
+ * New upstream release.
+ * Make-config: linux-elf libraries compiled with -D_REENTRANT.
+
+ -- Karl Sackett <krs@debian.org> Wed, 19 Mar 1997 09:10:22 -0600
+
+mesa (2.1-4) unstable; urgency=low
+
+ * debian/control: lib packages moved from 'graphics' to 'libs'.
+ * debian/rules: headers moved from /usr/include/mesa to /usr/include
+ (no more -I/usr/include/mesa).
+
+ -- Karl Sackett <krs@debian.org> Tue, 25 Feb 1997 09:30:23 -0600
+
+mesa (2.1-3) unstable; urgency=low
+
+ * debian/control: mesa2 provides mesa and conflicts with mesa
+ (bug #7394).
+
+ -- Karl Sackett <krs@debian.org> Mon, 17 Feb 1997 09:25:42 -0600
+
+mesa (2.1-2) unstable; urgency=low
+
+ * debian/rules: install gmesa.h, osmesa.h, FooMesa.h in mesa-dev
+ (bug #6864).
+
+ -- Karl Sackett <krs@debian.org> Tue, 28 Jan 1997 09:37:41 -0600
+
+mesa (2.1-1) unstable; urgency=low
+
+ * New upstream release.
+ * Added soname to mesa and mesa-widgets.
+ * Moved static libraries to mesa2-dbg.
+ * debian/postinst, postinst-widgets: call ldconfig without explicit
+ pathname (bugs #6176, 6180).
+
+ -- Karl Sackett <krs@debian.org> Mon, 6 Jan 1997 09:30:10 -0600
+
+mesa (2.0-2) unstable; urgency=low
+
+ * Created mesa-widgets and mesa-widgets-dev (Bug #5029).
+
+ -- Karl Sackett <krs@debian.org> Wed, 30 Oct 1996 08:44:19 -0600
+
+mesa (2.0-1) unstable; urgency=low
+
+ * src/draw.c: replaced with upstream patch.
+ * Make-config: linux-elf target builds libMesaGLw.so library, looks
+ for XLIBS in /usr/X11R6/lib, removed -mieee-mp from CFLAGS.
+ * widgets-sgi/Makefile: builds libMesaGlw.a library
+ * New upstream release.
+ * Converted to new package standard.
+ * Maintainer address changed.
+
+ -- Karl Sackett <krs@debian.org> Mon, 14 Oct 1996 15:37:19 -0500
+
+1.2.8-3
+ * Package split into runtime, development, and documentation
+ packages.
+ * widgets now made as a sharable library.
+ * GLUT removed. This will be released as a separate package.
+
+1.2.8-2
+ * Support files now architecture-independent
+
+1.2.8-1
+ * Upgrade to latest release
+ * Brought support files up to latest packaging requirements
+ * mondello/Makefile: fixed error in realclean target
+
+1.2.7-2
+ * debian.rules: clean all Makefiles out of widgets directory
+ * debian.postrm: remove /usr/lib/mesa entry from /etc/ld.so.config
+ (bug #2817)
+
+1.2.7-1
+ * Added Debian support files
+ * Included the GLUT OpenGL Utility Toolkit
+ * Makefile - disable building programs in demos, samples, and book
+ directories
+ * mklib.linux - disabled building *.a libraries
+ * widgets/Makefile.in - disabled building demo programs
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 0000000000..7ed6ff82de
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+5
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000000..cb282fc86a
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,355 @@
+Source: mesa
+Section: graphics
+Priority: optional
+Maintainer: Debian X Strike Force <debian-x@lists.debian.org>
+Uploaders: Thierry Reding <thierry@gilfi.de>, David Nusinow <dnusinow@debian.org>, Brice Goglin <bgoglin@debian.org>
+Standards-Version: 3.8.3
+Build-Depends: debhelper (>= 6.0.7), quilt (>= 0.40), pkg-config,
+ libdrm-dev (>= 2.4.15) [!hurd-i386], libx11-dev, xutils-dev,
+ x11proto-gl-dev (>= 1.4.8), libxxf86vm-dev,
+ libexpat1-dev, lesstif2-dev, dpkg-dev (>= 1.13.19), libxfixes-dev,
+ libxdamage-dev, libxext-dev, autoconf, automake, x11proto-dri2-dev (>= 1.99.3),
+ linux-libc-dev (>= 2.6.31) [!hurd-i386 !kfreebsd-amd64 !kfreebsd-i386]
+Vcs-Git: git://git.debian.org/git/pkg-xorg/lib/mesa
+Vcs-Browser: http://git.debian.org/?p=pkg-xorg/lib/mesa.git
+Homepage: http://mesa3d.sourceforge.net/
+
+Package: libgl1-mesa-swx11
+Section: libs
+Priority: extra
+Architecture: any
+Depends: ${shlibs:Depends}, libosmesa6 (>= 6.5.2-1)
+Conflicts: mesag3-glide, mesag3-glide2, mesag3+ggi, libgl1, nvidia-glx, mesag3, libgl1-mesa-swrast
+Provides: libgl1, mesag3, libgl1-mesa-swrast
+Replaces: libgl1, mesag3, libgl1-mesa-swrast
+Description: A free implementation of the OpenGL API -- runtime
+ Mesa is a 3-D graphics library with an API which is very similar to
+ that of OpenGL. To the extent that Mesa utilizes the OpenGL command
+ syntax or state machine, it is being used with authorization from
+ Silicon Graphics, Inc. However, the author makes no claim that Mesa
+ is in any way a compatible replacement for OpenGL or associated with
+ Silicon Graphics, Inc.
+ .
+ This library provides a pure software rasteriser; it does not provide
+ a direct rendering-capable library, or one which uses GLX. For that,
+ please see libgl1-mesa-glx.
+ .
+ On Linux, this library is also known as libGL or libGL.so.1.
+
+Package: libgl1-mesa-swx11-dbg
+Section: debug
+Priority: extra
+Architecture: any
+Depends: libgl1-mesa-swx11 (= ${binary:Version})
+Conflicts: libgl1-mesa-swrast-dbg
+Provides: libgl1-mesa-swrast-dbg
+Replaces: libgl1-mesa-swrast-dbg
+Description: A free implementation of the OpenGL API -- debugging symbols
+ Mesa is a 3-D graphics library with an API which is very similar to
+ that of OpenGL. To the extent that Mesa utilizes the OpenGL command
+ syntax or state machine, it is being used with authorization from
+ Silicon Graphics, Inc. However, the author makes no claim that Mesa
+ is in any way a compatible replacement for OpenGL or associated with
+ Silicon Graphics, Inc.
+ .
+ This library provides a pure software rasteriser; it does not provide
+ a direct rendering-capable library, or one which uses GLX. For that,
+ please see libgl1-mesa-glx.
+ .
+ On Linux, this library is also known as libGL or libGL.so.1.
+ .
+ This package contains debugging symbols for the software rasterization GL
+ library.
+
+Package: libgl1-mesa-swx11-i686
+Section: libs
+Priority: extra
+Architecture: i386 kfreebsd-i386 hurd-i386
+Depends: libgl1-mesa-swx11 (= ${binary:Version}), ${shlibs:Depends}
+Description: Mesa OpenGL runtime [i686 optimized]
+ Mesa is a 3-D graphics library with an API which is very similar to
+ that of OpenGL. To the extent that Mesa utilizes the OpenGL command
+ syntax or state machine, it is being used with authorization from
+ Silicon Graphics, Inc. However, the author makes no claim that Mesa
+ is in any way a compatible replacement for OpenGL or associated with
+ Silicon Graphics, Inc.
+ .
+ This library provides a pure software rasteriser; it does not provide
+ a direct rendering-capable library, or one which uses GLX. For that,
+ please see libgl1-mesa-glx.
+ .
+ On Linux, this library is also known as libGL or libGL.so.1.
+ .
+ This set of libraries is optimized for i686 machines and will only be used if
+ you are running a 2.6 kernel on an i686 class CPU. This includes Pentium Pro,
+ Pentium II/II/IV, Celeron CPU's and similar class CPU's (including clones
+ such as AMD Athlon/Opteron, VIA C3 Nehemiah, but not VIA C3 Ezla).
+
+Package: libgl1-mesa-swx11-dev
+Section: libdevel
+Priority: extra
+Architecture: any
+Depends: libgl1-mesa-swx11 (= ${binary:Version}), libc6-dev, libx11-dev, libxext6, mesa-common-dev (= ${binary:Version})
+Provides: libgl-dev, mesag-dev, libgl1-mesa-swrast-dev
+Conflicts: mesa-dev, libgl-dev, mesag3 (<< 3.1-1), nvidia-glx-dev, mesag-dev, libgl1-mesa-swrast-dev
+Replaces: libgl-dev, mesag-dev, libgl1-mesa-swrast-dev
+Description: A free implementation of the OpenGL API -- development files
+ This package provides the development environment required for
+ compiling programs with Mesa. For a complete description of Mesa,
+ please look at the libgl1-mesa-swx11 package.
+ .
+ This library provides a pure software rasteriser; it does not provide
+ a direct rendering-capable library, or one which uses GLX. For that,
+ please see libgl1-mesa-dev.
+
+Package: libgl1-mesa-glx
+Section: libs
+Architecture: any
+Depends: ${shlibs:Depends}
+Recommends: libgl1-mesa-dri (>= 7.2)
+Conflicts: libgl1, libgl1-mesa-dri (<< 6.4.0)
+Replaces: libgl1, libgl1-mesa-dri (<< 6.4.0)
+Provides: libgl1
+Description: A free implementation of the OpenGL API -- GLX runtime
+ This version of Mesa provides GLX and DRI capabilities: it is capable of
+ both direct and indirect rendering. For direct rendering, it can use DRI
+ modules from the libgl1-mesa-dri package to accelerate drawing.
+ .
+ This package does not include the modules themselves: these can be found
+ in the libgl1-mesa-dri package.
+ .
+ For a complete description of Mesa, please look at the
+ libgl1-mesa-swx11 package.
+
+Package: libgl1-mesa-glx-dbg
+Section: debug
+Priority: extra
+Architecture: any
+Depends: libgl1-mesa-glx (= ${binary:Version})
+Description: Debugging symbols for the Mesa GLX runtime
+ This version of Mesa provides GLX and DRI capabilities: it is capable of
+ both direct and indirect rendering. For direct rendering, it can use DRI
+ modules from the libgl1-mesa-dri package to accelerate drawing.
+ .
+ This package does not include the modules themselves: these can be found
+ in the libgl1-mesa-dri package.
+ .
+ For a complete description of Mesa, please look at the
+ libgl1-mesa-swx11 package.
+ .
+ This package contains debugging symbols for the GL library with GLX and DRI
+ capabilities.
+
+#Package: libgl1-mesa-glx-i686
+#Section: libs
+#Priority: extra
+#Architecture: i386 kfreebsd-i386 hurd-i386
+#Pre-Depends: libgl1-mesa-glx
+#Description: A free implementation of the OpenGL API -- GLX runtime [i686 optimized]
+# This version of Mesa provides GLX and DRI capabilities: it is capable of
+# both direct and indirect rendering. For direct rendering, it can use DRI
+# modules from the libgl1-mesa-dri package to accelerate drawing.
+# .
+# This package does not include the modules themselves: these can be found
+# in the libgl1-mesa-dri package.
+# .
+# For a complete description of Mesa, please look at the
+# libgl1-mesa-swx11 package.
+# .
+# This set of libraries is optimized for i686 machines and will only be used if
+# you are running a 2.6 kernel on an i686 class CPU. This includes Pentium Pro,
+# Pentium II/II/IV, Celeron CPU's and similar class CPU's (including clones
+# such as AMD Athlon/Opteron, VIA C3 Nehemiah, but not VIA C3 Ezla).
+
+Package: libgl1-mesa-dri
+Section: libs
+Priority: optional
+Architecture: any
+Depends: ${shlibs:Depends}
+Suggests: libglide3
+Conflicts: xlibmesa-dri (<< 1:7.0.0)
+Replaces: xlibmesa-dri (<< 1:7.0.0)
+Breaks: xserver-xorg-core (<< 2:1.5), libgl1-mesa-glx (<< 7.2)
+Description: A free implementation of the OpenGL API -- DRI modules
+ This version of Mesa provides GLX and DRI capabilities: it is capable of
+ both direct and indirect rendering. For direct rendering, it can use DRI
+ modules from the libgl1-mesa-dri package to accelerate drawing.
+ .
+ This package does not include the OpenGL library itself, only the DRI
+ modules for accelerating direct rendering.
+ .
+ For a complete description of Mesa, please look at the
+ libgl1-mesa-swx11 package.
+ .
+ The tdfx DRI module needs libglide3 to enable direct rendering.
+
+Package: libgl1-mesa-dri-dbg
+Section: debug
+Priority: extra
+Architecture: any
+Depends: libgl1-mesa-dri (= ${binary:Version})
+Description: Debugging symbols for the Mesa DRI modules
+ This version of Mesa provides GLX and DRI capabilities: it is capable of
+ both direct and indirect rendering. For direct rendering, it can use DRI
+ modules from the libgl1-mesa-dri package to accelerate drawing.
+ .
+ This package does not include the OpenGL library itself, only the DRI
+ modules for accelerating direct rendering.
+ .
+ For a complete description of Mesa, please look at the
+ libgl1-mesa-swx11 package.
+ .
+ This package contains debugging symbols for the DRI modules.
+
+#Package: libgl1-mesa-dri-i686
+#Section: libs
+#Priority: extra
+#Architecture: i386 kfreebsd-i386 hurd-i386
+#Pre-Depends: libgl1-mesa-dri
+#Description: A free implementation of the OpenGL API -- DRI modules [i686 optimized]
+# This version of Mesa provides GLX and DRI capabilities: it is capable of
+# both direct and indirect rendering. For direct rendering, it can use DRI
+# modules from the libgl1-mesa-dri package to accelerate drawing.
+# .
+# This package does not include the OpenGL library itself, only the DRI
+# modules for accelerating direct rendering.
+# .
+# For a complete description of Mesa, please look at the
+# libgl1-mesa-swx11 package.
+# .
+# This set of libraries is optimized for i686 machines and will only be used if
+# you are running a 2.6 kernel on an i686 class CPU. This includes Pentium Pro,
+# Pentium II/II/IV, Celeron CPU's and similar class CPU's (including clones
+# such as AMD Athlon/Opteron, VIA C3 Nehemiah, but not VIA C3 Ezla).
+
+Package: libgl1-mesa-dev
+Section: libdevel
+Architecture: any
+Depends: libc6-dev, mesa-common-dev (= ${binary:Version}), libgl1-mesa-glx (= ${binary:Version})
+Conflicts: libgl-dev, libgl1-mesa-dri-dev
+Replaces: libgl-dev, libgl1-mesa-dri-dev
+Provides: libgl-dev, libgl1-mesa-dri-dev
+Description: A free implementation of the OpenGL API -- GLX development files
+ This version of Mesa provides GLX and DRI capabilities: it is capable of
+ both direct and indirect rendering. For direct rendering, it can use DRI
+ modules from the libgl1-mesa-dri package to accelerate drawing.
+ .
+ This package includes headers and static libraries for compiling
+ programs with Mesa.
+ .
+ For a complete description of Mesa, please look at the libgl1-mesa-swx11
+ package.
+
+Package: mesa-common-dev
+Section: libdevel
+Architecture: any
+Replaces: xlibmesa-gl-dev (<< 1:7), xlibosmesa-dev, libgl1-mesa-swx11-dev (<< 6.5.2), libgl1-mesa-dev (<< 7.5~rc4-2)
+Depends: libx11-dev
+Description: Developer documentation for Mesa
+ This package includes the specifications for the Mesa-specific OpenGL
+ extensions, the complete set of release notes and the development header
+ files common to all Mesa packages.
+
+Package: libosmesa6
+Section: libs
+Architecture: any
+Depends: ${shlibs:Depends}
+Replaces: libgl1-mesa-swx11 (<< 6.5.2)
+Description: Mesa Off-screen rendering extension
+ OSmesa is a Mesa extension that allows programs to render to an
+ off-screen buffer using the OpenGL API without having to create a
+ rendering context on an X Server. It uses a pure software renderer.
+ .
+ This package provides both 16-bit and 32-bit versions of the off-screen
+ renderer which do not require external libraries to work.
+
+Package: libosmesa6-dev
+Section: libdevel
+Architecture: any
+Depends: libosmesa6 (= ${binary:Version}), mesa-common-dev (= ${binary:Version}) | libgl-dev
+Conflicts: xlibosmesa-dev, libosmesa4-dev, libosmesa-dev
+Replaces: xlibosmesa-dev, libosmesa-dev, libgl1-mesa-swx11-dev (<< 6.5.2), mesa-common-dev (<< 6.5.2)
+Provides: xlibosmesa-dev, libosmesa-dev
+Description: Mesa Off-screen rendering extension -- development files
+ This package provides the required environment for developing programs
+ that use the off-screen rendering extension of Mesa.
+ .
+ For more information on OSmesa see the libosmesa6 package.
+
+Package: libglu1-mesa
+Section: libs
+Architecture: any
+Depends: ${shlibs:Depends}, libgl1-mesa-glx | libgl1
+Provides: libglu1
+Conflicts: mesag3 (<< 5.0.0-1), xlibmesa3, libglu1
+Replaces: libglu1
+Description: The OpenGL utility library (GLU)
+ GLU offers simple interfaces for building mipmaps; checking for the
+ presence of extensions in the OpenGL (or other libraries which follow
+ the same conventions for advertising extensions); drawing
+ piecewise-linear curves, NURBS, quadrics and other primitives
+ (including, but not limited to, teapots); tesselating surfaces; setting
+ up projection matrices and unprojecting screen coordinates to world
+ coordinates.
+ .
+ On Linux, this library is also known as libGLU or libGLU.so.1.
+ .
+ This package provides the SGI implementation of GLU shipped with the
+ Mesa package (ergo the "-mesa" suffix).
+
+Package: libglu1-mesa-dev
+Section: libdevel
+Architecture: any
+Depends: libglu1-mesa (= ${binary:Version}), libgl1-mesa-dev | libgl-dev
+Provides: libglu-dev, xlibmesa-glu-dev
+Conflicts: mesag-dev (<< 5.0.0-1), mesa-glide2-dev (<< 5.0.0-1), mesag3+ggi-dev (<< 5.0.0-1), xlibmesa-dev
+Replaces: libglu-dev
+Description: The OpenGL utility library -- development files
+ Includes headers and static libraries for compiling programs with GLU.
+ .
+ For a complete description of GLU, please look at the libglu1-mesa
+ package.
+
+Package: libglw1-mesa
+Section: libs
+Architecture: any
+Depends: ${shlibs:Depends}
+Provides: libglw1
+Description: A free implementation of the OpenGL API -- runtime
+ Mesa is a 3-D graphics library with an API which is very similar to
+ that of OpenGL. To the extent that Mesa utilizes the OpenGL command
+ syntax or state machine, it is being used with authorization from
+ Silicon Graphics, Inc. However, the author makes no claim that Mesa
+ is in any way a compatible replacement for OpenGL or associated with
+ Silicon Graphics, Inc.
+ .
+ This package provides a simple widgets library, libGLw, which
+ allows Motif-based applications to embed an OpenGL drawing context.
+ .
+ On Linux, this library is also known as libGLw or libGLw.so.1.
+
+Package: libglw1-mesa-dev
+Section: libdevel
+Architecture: any
+Depends: libglw1-mesa (= ${binary:Version}), libc6-dev, libx11-dev, libxext6, mesa-common-dev (= ${binary:Version})
+Provides: mesag3-widgets, mesag-widgets-dev, libglw-dev
+Conflicts: libglw-dev, libgl1-mesa-swx11-dev (<< 6.5.2-4)
+Replaces: libglw-dev
+Description: A free implementation of the OpenGL API -- development files
+ This package provides the development environment required for
+ compiling programs with the Mesa widgets library, libGLw, which
+ allows Motif-based applications to embed an OpenGL drawing context.
+ The headers and static libraries for compiling programs that use this
+ library are included.
+
+Package: mesa-utils
+Section: x11
+Priority: optional
+Architecture: any
+Depends: ${shlibs:Depends}
+Replaces: xbase-clients (<< 6.8.2-38)
+Description: Miscellaneous Mesa GL utilities
+ This package provides several basic GL utilities built by Mesa, including
+ glxinfo and glxgears.
+
+# vim: tw=0
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000000..d38eb4be64
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,193 @@
+This package was debianized by James A. Treacy treacy@debian.org on Thu,
+6 Jan 2000 01:11:34 -0500. It was newly debianized by Marcelo E.
+Magallon <mmagallo@debian.org> on Sat, 25 Dec 2004 14:50:02 -0600. It was
+again debianized by Thierry Reding <thierry@gilfi.de> on Sat, 14 Oct 2006
+02:01:12 +0200.
+
+It was downloaded from http://www.mesa3d.org/download.html
+
+For more information see:
+
+ http://www.mesa3d.org/
+
+Copyright:
+
+Upstream Author: Brian Paul <brian.paul@tungstengraphics.com>
+
+License:
+
+ License / Copyright Information
+
+ The Mesa distribution consists of several components. Different
+ copyrights and licenses apply to different components. For
+ example, GLUT is copyrighted by Mark Kilgard, some demo programs
+ are copyrighted by SGI, some of the Mesa device drivers are
+ copyrighted by their authors. See below for a list of Mesa's
+ components and the copyright/license for each.
+
+ The core Mesa library is licensed according to the terms of the
+ XFree86 copyright (an MIT-style license). This allows integration
+ with the XFree86/DRI project. Unless otherwise stated, the Mesa
+ source code and documentation is licensed as follows:
+
+ Copyright (C) 1999-2003 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
+ BRIAN PAUL 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 relinquish
+ your work to the holder of the copyright for the particular
+ component you're contributing to. That is, you can't put your own
+ copyright on the code, unless it's a modular piece that can be
+ omitted from Mesa (like a new device driver). If for example, you
+ contribute a bug fix to Mesa's texture mapping code, your code
+ will become a part of the body of work which is copyrighted by
+ Brian Paul and licensed by the above terms.
+
+----------------------------------------------------------------------
+
+Some files, as listed below, are made available under the SGI Free B
+license. This license is as follows:
+
+SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008)
+
+Copyright (C) [dates of first publication] Silicon Graphics, Inc. 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 including the dates of first publication and either
+this permission notice or a reference to http://oss.sgi.com/projects/FreeB/
+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 SILICON GRAPHICS, INC. 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.
+Except as contained in this notice, the name of Silicon Graphics, Inc. shall
+not be used in advertising or otherwise to promote the sale, use or other
+dealings in this Software without prior written authorization from Silicon
+Graphics, Inc.
+
+--------------------------------------------------------------------------
+
+Some other files listed below are made available from Silicon Graphics,
+Inc. under a more liberal, MIT-style license, as follows:
+
+ Permission to use, copy, modify, and distribute this software for
+ any purpose and without fee is hereby granted, provided that the above
+ copyright notice appear in all copies and that both the copyright notice
+ and this permission notice appear in supporting documentation, and that
+ the name of Silicon Graphics, Inc. not be used in advertising
+ or publicity pertaining to distribution of the software without specific,
+ written prior permission.
+
+ THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
+ AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE
+ INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
+ FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+ GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
+ SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
+ KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
+ LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
+ THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN
+ ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
+ ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
+ POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
+
+ US Government Users Restricted Rights
+ Use, duplication, or disclosure by the Government is subject to
+ restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
+ (c)(1)(ii) of the Rights in Technical Data and Computer Software
+ clause at DFARS 252.227-7013 and/or in similar or successor
+ clauses in the FAR or the DOD or NASA FAR Supplement.
+ Unpublished-- rights reserved under the copyright laws of the
+ United States. Contractor/manufacturer is Silicon Graphics,
+ Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311.
+
+--------------------------------------------------------------------------
+
+ Mesa Component Licenses:
+
+ Component Files Primary Author License
+ ----------------------------------------------------------------------------
+ core Mesa code src/*.[ch] Brian Paul Mesa
+ include/GL/gl.h
+
+ GLX driver src/X/* Brian Paul Mesa
+ include/GL/glx.h
+ include/GL/xmesa.h
+
+ OS/Mesa driver src/OSmesa/* Brian Paul Mesa
+ include/GL/osmesa.h
+
+ 3Dfx driver src/FX/* David Bucciarelli Mesa
+ include/GL/fxmesa.h
+
+ BeOS R4 driver mesa/drivers/beos/ Brian Paul Mesa
+
+ MGL driver include/GL/mglmesa.h SciTech, Inc GNU LGPL
+
+ Windows driver mesa/drivers/windows/ Li Wei GNU LGPL
+ include/GL/wmesa.h
+
+ SVGA driver mesa/drivers/svga/ Brian Paul GNU LGPL
+ include/GL/svgamesa.h
+
+ DOS driver mesa/drivers/dos/ Charlie Wallace GNU LGPL
+ include/GL/dosmesa.h
+
+ GGI driver mesa/drivers/ggi/ Uwe Maurer GNU LGPL
+ include/GL/ggimesa.h
+
+ GLUT src/glut/* Mark Kilgard Mark's copyright
+ include/GL/*glut*.h
+
+ GLU library src/glu/* Brian Paul GNU LGPL
+
+ SGI GLU library src/glu/sgi/* SGI SGI Free B
+ include/GL/glu.h
+
+ Ext registry include/GL/glext.h SGI SGI Free B
+ include/GL/glxext.h
+
+ demo programs progs/demos/* various see source files
+
+ X demos progs/xdemos/* Brian Paul see source files
+
+ SGI demos progs/samples/* SGI SGI MIT-style
+
+ RedBook demos progs/redbook/* SGI SGI MIT-style
+
+
+On Debian systems the full text of the GNU LGPL license is found in
+/usr/share/common-licenses/LGPL.
+
+------------------------------------------------------------------------------
+
+The Debian packaging is (C) 2006, Thierry Reding <thierry@gilfi.de> and
+is licensed under the GPL, see `/usr/share/common-licenses/GPL'.
+
diff --git a/debian/glxdemo.1 b/debian/glxdemo.1
new file mode 100644
index 0000000000..fdfed7133e
--- /dev/null
+++ b/debian/glxdemo.1
@@ -0,0 +1,15 @@
+.TH glxdemo 1 "2006-11-29"
+.SH NAME
+glxdemo \- a demonstration of the GLX functions
+.SH SYNOPSIS
+.B glxdemo
+.SH DESCRIPTION
+The \fIglxdemo\fP program shows how to use the GLX functions in order to
+create an OpenGL program running on top of an X server. This program is most
+useful when studied in its source code form.
+.SH AUTHOR
+glxdemo was written by Brian Paul <brian.paul@tungstengraphics.com>.
+.PP
+This manual page was written by Thierry Reding <thierry@gilfi.de>, for the
+Debian project (but may be used by others).
+
diff --git a/debian/glxgears.1 b/debian/glxgears.1
new file mode 100644
index 0000000000..92c4f7a432
--- /dev/null
+++ b/debian/glxgears.1
@@ -0,0 +1,29 @@
+.TH glxgears 1 "2006-11-29"
+.SH NAME
+glxgears \- ``gears'' demo for GLX
+.SH SYNOPSIS
+.B glxgears
+.RI [ options ]
+.SH DESCRIPTION
+The \fIglxgears\fP program is a port of the ``gears'' demo to GLX. It displays
+a set of rotating gears and prints out the frame rate at regular intervals. It
+has become quite popular as basic benchmarking tool.
+.SH OPTIONS
+.TP 8
+.B \-display \fIdisplay\fP
+Specify which X display to run on.
+.TP 8
+.B \-info
+Display OpenGL renderer information.
+.TP 8
+.B \-stereo
+Use a stereo enabled GLX visual.
+.TP 8
+.B \-fullscreen
+Run in fullscreen mode.
+.SH AUTHOR
+glxgears was written by Brian Paul <brian.paul@tungstengraphics.com>.
+.PP
+This manual page was written by Thierry Reding <thierry@gilfi.de>, for the
+Debian project (but may be used by others).
+
diff --git a/debian/glxheads.1 b/debian/glxheads.1
new file mode 100644
index 0000000000..9502556901
--- /dev/null
+++ b/debian/glxheads.1
@@ -0,0 +1,30 @@
+.TH glxheads 1 "2006-11-29"
+.SH NAME
+glxheads \- exercise multiple GLX connections
+.SH SYNOPSIS
+.B glxheads
+[\fIdisplay\fP ...]
+.SH DESCRIPTION
+The \fIglxheads\fP program will try to open GLX connections on multiple X
+displays as specified on the command-line. If a connection can be made it will
+try to create a direct GLX context (and fallback to using indirect contexts if
+that fails) and open a window displaying a spinning green triangle.
+.PP
+If no display names are specified, \fIglxheads\fP will default to opening a
+single local connection on display 0.
+.SH EXAMPLE
+To open a local connection on display 0 and two remote connections to the
+hosts \fImars\fP (display 0) and \fIvenus\fP (display 1), run glxheads with
+the following command-line:
+.PP
+.RS 3n
+.nf
+$ glxheads :0 mars:0 venus:1
+.fi
+.RE
+.SH AUTHOR
+glxheads was written by Brian Paul <brian.paul@tungstengraphics.com>.
+.PP
+This manual page was written by Thierry Reding <thierry@gilfi.de> for the
+Debian project (but may be used by others).
+
diff --git a/debian/glxinfo.1 b/debian/glxinfo.1
new file mode 100644
index 0000000000..7a3732e17e
--- /dev/null
+++ b/debian/glxinfo.1
@@ -0,0 +1,41 @@
+.TH glxinfo 1 "2006-11-29"
+.SH NAME
+glxinfo \- show information about the GLX implementation
+.SH SYNOPSIS
+.B glxinfo
+.RI [ options ]
+.SH DESCRIPTION
+The \fIglxinfo\fP program shows information about the OpenGL and GLX
+implementations running on a given X display.
+.PP
+The information includes details about the server- and client-side GLX
+implementation, the OpenGL and GLU implementations as well as a list
+of available GLX visuals.
+.SH OPTIONS
+.TP 8
+.B \-v
+Print visuals info in verbose form.
+.TP 8
+.B \-t
+Print verbose table.
+.TP 8
+.B \-display \fIdisplay\fP
+Specify the X display to interrogate.
+.TP 8
+.B \-h
+Print usage information.
+.TP 8
+.B \-i
+Force an indirect rendering context.
+.TP 8
+.B \-b
+Find the "best" visual and print its number.
+.TP 8
+.B \-l
+Print interesting OpenGL limits.
+.SH AUTHOR
+glxinfo was written by Brian Paul <brian.paul@tungstengraphics.com>.
+.PP
+This manual page was written by Thierry Reding <thierry@gilfi.de>, for the
+Debian project (but may be used by others).
+
diff --git a/debian/libgl1-mesa-dev.install b/debian/libgl1-mesa-dev.install
new file mode 100644
index 0000000000..dac5ebda19
--- /dev/null
+++ b/debian/libgl1-mesa-dev.install
@@ -0,0 +1,2 @@
+usr/lib/libGL.so
+usr/lib/pkgconfig/gl.pc
diff --git a/debian/libgl1-mesa-dri-i686.install b/debian/libgl1-mesa-dri-i686.install
new file mode 100644
index 0000000000..44b5c55214
--- /dev/null
+++ b/debian/libgl1-mesa-dri-i686.install
@@ -0,0 +1 @@
+usr/lib/dri/i686/cmov/*.so
diff --git a/debian/libgl1-mesa-dri.install b/debian/libgl1-mesa-dri.install
new file mode 100644
index 0000000000..55500c8120
--- /dev/null
+++ b/debian/libgl1-mesa-dri.install
@@ -0,0 +1 @@
+usr/lib/dri/*.so
diff --git a/debian/libgl1-mesa-glx-i686.install b/debian/libgl1-mesa-glx-i686.install
new file mode 100644
index 0000000000..4c8ef3b34b
--- /dev/null
+++ b/debian/libgl1-mesa-glx-i686.install
@@ -0,0 +1 @@
+usr/lib/glx/i686/cmov/libGL.so.* usr/lib/i686/cmov
diff --git a/debian/libgl1-mesa-glx.install b/debian/libgl1-mesa-glx.install
new file mode 100644
index 0000000000..1a30ecd7cb
--- /dev/null
+++ b/debian/libgl1-mesa-glx.install
@@ -0,0 +1 @@
+usr/lib/glx/libGL.so.* usr/lib
diff --git a/debian/libgl1-mesa-glx.lintian-overrides b/debian/libgl1-mesa-glx.lintian-overrides
new file mode 100644
index 0000000000..a5252a9ff6
--- /dev/null
+++ b/debian/libgl1-mesa-glx.lintian-overrides
@@ -0,0 +1 @@
+package-name-doesnt-match-sonames libGL1
diff --git a/debian/libgl1-mesa-glx.shlibs b/debian/libgl1-mesa-glx.shlibs
new file mode 100644
index 0000000000..b8e0fbaaaa
--- /dev/null
+++ b/debian/libgl1-mesa-glx.shlibs
@@ -0,0 +1 @@
+libGL 1 libgl1-mesa-glx | libgl1
diff --git a/debian/libgl1-mesa-swx11-dev.install b/debian/libgl1-mesa-swx11-dev.install
new file mode 100644
index 0000000000..f353c5923d
--- /dev/null
+++ b/debian/libgl1-mesa-swx11-dev.install
@@ -0,0 +1,2 @@
+usr/lib/libGL.a
+usr/lib/libGL.so
diff --git a/debian/libgl1-mesa-swx11-i686.install b/debian/libgl1-mesa-swx11-i686.install
new file mode 100644
index 0000000000..2177b0cf15
--- /dev/null
+++ b/debian/libgl1-mesa-swx11-i686.install
@@ -0,0 +1 @@
+usr/lib/i686/cmov/libGL.so.*
diff --git a/debian/libgl1-mesa-swx11-i686.shlibs b/debian/libgl1-mesa-swx11-i686.shlibs
new file mode 100644
index 0000000000..b8e0fbaaaa
--- /dev/null
+++ b/debian/libgl1-mesa-swx11-i686.shlibs
@@ -0,0 +1 @@
+libGL 1 libgl1-mesa-glx | libgl1
diff --git a/debian/libgl1-mesa-swx11.install b/debian/libgl1-mesa-swx11.install
new file mode 100644
index 0000000000..6d70d0f9f9
--- /dev/null
+++ b/debian/libgl1-mesa-swx11.install
@@ -0,0 +1 @@
+usr/lib/libGL.so.*
diff --git a/debian/libgl1-mesa-swx11.lintian-overrides b/debian/libgl1-mesa-swx11.lintian-overrides
new file mode 100644
index 0000000000..a5252a9ff6
--- /dev/null
+++ b/debian/libgl1-mesa-swx11.lintian-overrides
@@ -0,0 +1 @@
+package-name-doesnt-match-sonames libGL1
diff --git a/debian/libgl1-mesa-swx11.shlibs b/debian/libgl1-mesa-swx11.shlibs
new file mode 100644
index 0000000000..b8e0fbaaaa
--- /dev/null
+++ b/debian/libgl1-mesa-swx11.shlibs
@@ -0,0 +1 @@
+libGL 1 libgl1-mesa-glx | libgl1
diff --git a/debian/libglu1-mesa-dev.install b/debian/libglu1-mesa-dev.install
new file mode 100644
index 0000000000..a3df1f9e7f
--- /dev/null
+++ b/debian/libglu1-mesa-dev.install
@@ -0,0 +1,5 @@
+usr/include/GL/glu.h
+usr/include/GL/glu_mangle.h
+usr/lib/libGLU.a
+usr/lib/libGLU.so
+usr/lib/pkgconfig/glu.pc
diff --git a/debian/libglu1-mesa.install b/debian/libglu1-mesa.install
new file mode 100644
index 0000000000..9ad0953c1c
--- /dev/null
+++ b/debian/libglu1-mesa.install
@@ -0,0 +1 @@
+usr/lib/libGLU.so.*
diff --git a/debian/libglu1-mesa.lintian-overrides b/debian/libglu1-mesa.lintian-overrides
new file mode 100644
index 0000000000..ad26285c5d
--- /dev/null
+++ b/debian/libglu1-mesa.lintian-overrides
@@ -0,0 +1 @@
+package-name-doesnt-match-sonames libGLU1
diff --git a/debian/libglu1-mesa.shlibs b/debian/libglu1-mesa.shlibs
new file mode 100644
index 0000000000..647fc5be38
--- /dev/null
+++ b/debian/libglu1-mesa.shlibs
@@ -0,0 +1 @@
+libGLU 1 libglu1-mesa | libglu1
diff --git a/debian/libglw1-mesa-dev.install b/debian/libglw1-mesa-dev.install
new file mode 100644
index 0000000000..c11a20914e
--- /dev/null
+++ b/debian/libglw1-mesa-dev.install
@@ -0,0 +1,4 @@
+usr/include/GL/GLw*A.h
+usr/lib/libGLw.a
+usr/lib/libGLw.so
+usr/lib/pkgconfig/glw.pc
diff --git a/debian/libglw1-mesa.install b/debian/libglw1-mesa.install
new file mode 100644
index 0000000000..9d299c81a5
--- /dev/null
+++ b/debian/libglw1-mesa.install
@@ -0,0 +1 @@
+usr/lib/libGLw.so.*
diff --git a/debian/libglw1-mesa.lintian-overrides b/debian/libglw1-mesa.lintian-overrides
new file mode 100644
index 0000000000..7d53dee285
--- /dev/null
+++ b/debian/libglw1-mesa.lintian-overrides
@@ -0,0 +1 @@
+package-name-doesnt-match-sonames libGLw1
diff --git a/debian/libglw1-mesa.shlibs b/debian/libglw1-mesa.shlibs
new file mode 100644
index 0000000000..488d4da327
--- /dev/null
+++ b/debian/libglw1-mesa.shlibs
@@ -0,0 +1 @@
+libGLw 1 libglw1-mesa | libglw1
diff --git a/debian/libosmesa6-dev.install b/debian/libosmesa6-dev.install
new file mode 100644
index 0000000000..bea6492b0c
--- /dev/null
+++ b/debian/libosmesa6-dev.install
@@ -0,0 +1,8 @@
+usr/include/GL/osmesa.h
+usr/lib/libOSMesa.a
+usr/lib/libOSMesa.so
+usr/lib/libOSMesa16.a
+usr/lib/libOSMesa16.so
+usr/lib/libOSMesa32.a
+usr/lib/libOSMesa32.so
+usr/lib/pkgconfig/osmesa.pc
diff --git a/debian/libosmesa6.install b/debian/libosmesa6.install
new file mode 100644
index 0000000000..d1e25b2ffe
--- /dev/null
+++ b/debian/libosmesa6.install
@@ -0,0 +1,3 @@
+usr/lib/libOSMesa.so.*
+usr/lib/libOSMesa16.so.*
+usr/lib/libOSMesa32.so.*
diff --git a/debian/libosmesa6.shlibs b/debian/libosmesa6.shlibs
new file mode 100644
index 0000000000..3c9ae1a14b
--- /dev/null
+++ b/debian/libosmesa6.shlibs
@@ -0,0 +1,3 @@
+libOSMesa 6 libosmesa6 (>= 6.5.2-1) | libgl1-mesa-glide3
+libOSMesa16 6 libosmesa6 (>= 6.5.2-1)
+libOSMesa32 6 libosmesa6 (>= 6.5.2-1)
diff --git a/debian/mesa-common-dev.docs b/debian/mesa-common-dev.docs
new file mode 100644
index 0000000000..834e887e4f
--- /dev/null
+++ b/debian/mesa-common-dev.docs
@@ -0,0 +1,8 @@
+docs/bugs.html
+docs/debugging.html
+docs/envvars.html
+docs/faq.html
+docs/osmesa.html
+docs/RELNOTES-*
+docs/relnotes*
+docs/*.spec
diff --git a/debian/mesa-common-dev.install b/debian/mesa-common-dev.install
new file mode 100644
index 0000000000..9e68baf2d3
--- /dev/null
+++ b/debian/mesa-common-dev.install
@@ -0,0 +1,8 @@
+usr/include/GL/gl.h
+usr/include/GL/glext.h
+usr/include/GL/gl_mangle.h
+usr/include/GL/glx.h
+usr/include/GL/glxext.h
+usr/include/GL/glx_mangle.h
+usr/include/GL/internal/dri_interface.h
+usr/lib/glx/pkgconfig/dri.pc usr/lib/pkgconfig/
diff --git a/debian/mesa-utils.install b/debian/mesa-utils.install
new file mode 100644
index 0000000000..4d4d07e3f0
--- /dev/null
+++ b/debian/mesa-utils.install
@@ -0,0 +1,4 @@
+usr/bin/glxdemo
+usr/bin/glxgears
+usr/bin/glxheads
+usr/bin/glxinfo
diff --git a/debian/mesa-utils.manpages b/debian/mesa-utils.manpages
new file mode 100644
index 0000000000..a3cb2dbb5d
--- /dev/null
+++ b/debian/mesa-utils.manpages
@@ -0,0 +1,4 @@
+debian/glxdemo.1
+debian/glxgears.1
+debian/glxheads.1
+debian/glxinfo.1
diff --git a/debian/patches/02_use-ieee-fp-on-s390-and-m68k.patch b/debian/patches/02_use-ieee-fp-on-s390-and-m68k.patch
new file mode 100644
index 0000000000..e60b0044d6
--- /dev/null
+++ b/debian/patches/02_use-ieee-fp-on-s390-and-m68k.patch
@@ -0,0 +1,19 @@
+Patch that fixes Debian bug #349437.
+
+This patch by David Nusinow.
+
+Index: mesa/src/mesa/main/compiler.h
+===================================================================
+--- mesa.orig/src/mesa/main/compiler.h
++++ mesa/src/mesa/main/compiler.h
+@@ -351,8 +351,9 @@
+ * USE_IEEE: Determine if we're using IEEE floating point
+ */
+ #if defined(__i386__) || defined(__386__) || defined(__sparc__) || \
+- defined(__s390x__) || defined(__powerpc__) || \
++ defined(__s390__) || defined(__s390x__) || defined(__powerpc__) || \
+ defined(__x86_64__) || \
++ defined(__m68k__) || \
+ defined(ia64) || defined(__ia64__) || \
+ defined(__hppa__) || defined(hpux) || \
+ defined(__mips) || defined(_MIPS_ARCH) || \
diff --git a/debian/patches/03_optional-progs-and-install.patch b/debian/patches/03_optional-progs-and-install.patch
new file mode 100644
index 0000000000..97d8d5fd2c
--- /dev/null
+++ b/debian/patches/03_optional-progs-and-install.patch
@@ -0,0 +1,55 @@
+Allow the programs that are to be built to be defined in the build
+configuration.
+
+Provide an install target for installing the programs in $(INSTALL_DIR)/bin.
+
+This patch by Thierry Reding.
+Not submitted to Mesa.
+--
+Also remove references to GLU library since it is not required
+and we don't actually build it at this point.
+
+
+Index: mesa/progs/xdemos/Makefile
+===================================================================
+--- mesa.orig/progs/xdemos/Makefile
++++ mesa/progs/xdemos/Makefile
+@@ -10,7 +10,7 @@
+
+ LIBS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) $(APP_LIB_DEPS)
+
+-PROGS = \
++PROGS ?= \
+ corender \
+ glsync \
+ glthreads \
+@@ -63,6 +63,11 @@
+ extra: $(EXTRA_PROGS)
+
+
++install: $(PROGS)
++ $(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/bin
++ $(INSTALL) -m 755 $(PROGS) $(DESTDIR)$(INSTALL_DIR)/bin
++
++
+ clean:
+ -rm -f $(PROGS) $(EXTRA_PROGS)
+ -rm -f *.o *~
+Index: mesa/progs/Makefile
+===================================================================
+--- mesa.orig/progs/Makefile
++++ mesa/progs/Makefile
+@@ -21,8 +21,12 @@
+ fi \
+ done
+
+-# Dummy install target
+ install:
++ @for dir in $(SUBDIRS) ; do \
++ if [ -d $$dir ] ; then \
++ (cd $$dir ; $(MAKE) install) ; \
++ fi \
++ done
+
+ clean:
+ @list='$(SUBDIRS)'; for dir in $$list tests ; do \
diff --git a/debian/patches/04_osmesa_version.diff b/debian/patches/04_osmesa_version.diff
new file mode 100644
index 0000000000..68c3db0a3e
--- /dev/null
+++ b/debian/patches/04_osmesa_version.diff
@@ -0,0 +1,13 @@
+Index: mesa/src/mesa/drivers/osmesa/Makefile
+===================================================================
+--- mesa.orig/src/mesa/drivers/osmesa/Makefile
++++ mesa/src/mesa/drivers/osmesa/Makefile
+@@ -39,7 +39,7 @@
+ # -DCHAN_BITS=16/32.
+ $(TOP)/$(LIB_DIR)/$(OSMESA_LIB_NAME): $(OBJECTS) $(CORE_MESA)
+ $(MKLIB) -o $(OSMESA_LIB) -linker '$(CC)' -ldflags '$(LDFLAGS)' \
+- -major $(MESA_MAJOR) -minor $(MESA_MINOR) -patch $(MESA_TINY) \
++ -major 6 -minor 5 -patch 3 \
+ -install $(TOP)/$(LIB_DIR) $(MKLIB_OPTIONS) \
+ -id $(INSTALL_LIB_DIR)/lib$(OSMESA_LIB).$(MESA_MAJOR).dylib \
+ $(OSMESA_LIB_DEPS) $(OBJECTS) $(CORE_MESA)
diff --git a/debian/patches/05_hurd-ftbfs.diff b/debian/patches/05_hurd-ftbfs.diff
new file mode 100644
index 0000000000..4d81262811
--- /dev/null
+++ b/debian/patches/05_hurd-ftbfs.diff
@@ -0,0 +1,58 @@
+From: Samuel Thibault <samuel.thibault@ens-lyon.org>
+Subject: Fix build on GNU/Hurd
+
+---
+ configure.ac | 25 ++++++++++++++-----------
+ src/glx/x11/dri2.c | 2 ++
+ 2 files changed, 16 insertions(+), 11 deletions(-)
+
+Index: mesa/configure.ac
+===================================================================
+--- mesa.orig/configure.ac
++++ mesa/configure.ac
+@@ -539,6 +539,13 @@
+ enable_xcb=no
+ fi
+
++dnl Direct rendering or just indirect rendering
++AC_ARG_ENABLE([driglx-direct],
++ [AS_HELP_STRING([--disable-driglx-direct],
++ [enable direct rendering in GLX for DRI @<:@default=enabled@:>@])],
++ [driglx_direct="$enableval"],
++ [driglx_direct="yes"])
++
+ dnl
+ dnl libGL configuration per driver
+ dnl
+@@ -572,11 +579,13 @@
+ AC_MSG_ERROR([Can't use static libraries for DRI drivers])
+ fi
+
+- # Check for libdrm
+- PKG_CHECK_MODULES([LIBDRM], [libdrm >= $LIBDRM_REQUIRED])
+- PKG_CHECK_MODULES([DRI2PROTO], [dri2proto >= $DRI2PROTO_REQUIRED])
+- GL_PC_REQ_PRIV="libdrm >= $LIBDRM_REQUIRED dri2proto >= $DRI2PROTO_REQUIRED"
+- DRI_PC_REQ_PRIV="libdrm >= $LIBDRM_REQUIRED"
++ if test x"$driglx_direct" = xyes; then
++ # Check for libdrm
++ PKG_CHECK_MODULES([LIBDRM], [libdrm >= $LIBDRM_REQUIRED])
++ PKG_CHECK_MODULES([DRI2PROTO], [dri2proto >= $DRI2PROTO_REQUIRED])
++ GL_PC_REQ_PRIV="libdrm >= $LIBDRM_REQUIRED dri2proto >= $DRI2PROTO_REQUIRED"
++ DRI_PC_REQ_PRIV="libdrm >= $LIBDRM_REQUIRED"
++ fi
+
+ PKG_CHECK_MODULES([LIBDRM_RADEON], [libdrm_radeon libdrm >= $LIBDRM_RADEON_REQUIRED], HAVE_LIBDRM_RADEON=yes, HAVE_LIBDRM_RADEON=no)
+
+@@ -657,12 +666,6 @@
+ [DRI_DRIVER_SEARCH_DIR="$withval"],
+ [DRI_DRIVER_SEARCH_DIR='${DRI_DRIVER_INSTALL_DIR}'])
+ AC_SUBST([DRI_DRIVER_SEARCH_DIR])
+-dnl Direct rendering or just indirect rendering
+-AC_ARG_ENABLE([driglx-direct],
+- [AS_HELP_STRING([--disable-driglx-direct],
+- [enable direct rendering in GLX for DRI @<:@default=enabled@:>@])],
+- [driglx_direct="$enableval"],
+- [driglx_direct="yes"])
+ dnl Which drivers to build - default is chosen by platform
+ AC_ARG_WITH([dri-drivers],
+ [AS_HELP_STRING([--with-dri-drivers@<:@=DIRS...@:>@],
diff --git a/debian/patches/06_kfreebsd-ftbfs.diff b/debian/patches/06_kfreebsd-ftbfs.diff
new file mode 100644
index 0000000000..87faef7612
--- /dev/null
+++ b/debian/patches/06_kfreebsd-ftbfs.diff
@@ -0,0 +1,23 @@
+From: Aurelien Jarno <aurel32@debian.org>
+
+mesa fails to build on GNU/kFreeBSD, since some parts are not enabled.
+
+http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=524690
+
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: mesa/configure.ac
+===================================================================
+--- mesa.orig/configure.ac
++++ mesa/configure.ac
+@@ -746,7 +746,7 @@
+ ;;
+ esac
+ ;;
+- freebsd* | dragonfly*)
++ freebsd* | dragonfly* | kfreebsd*-gnu*)
+ DEFINES="$DEFINES -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1"
+ DEFINES="$DEFINES -DIN_DRI_DRIVER -DHAVE_ALIAS"
+ DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING"
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000000..1f29aca4b0
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,5 @@
+02_use-ieee-fp-on-s390-and-m68k.patch
+03_optional-progs-and-install.patch
+04_osmesa_version.diff
+05_hurd-ftbfs.diff
+06_kfreebsd-ftbfs.diff
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000000..8a22ea898f
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,247 @@
+#!/usr/bin/make -f
+# debian/rules for the Debian mesa package
+# Copyright © 2006 Thierry Reding <thierry@gilfi.de>
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+CFLAGS = -Wall -g
+ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS)))
+ CFLAGS += -O0
+else
+ CFLAGS += -O2
+endif
+ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
+ NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
+ MAKEFLAGS += -j$(NUMJOBS)
+endif
+
+DEB_BUILD_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH)
+DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
+DEB_HOST_ARCH_OS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)
+DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
+DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+DEB_HOST_GNU_CPU ?= $(shell dpkg-architecture -qDEB_HOST_GNU_CPU)
+DEB_BUILD_DIR ?= $(CURDIR)/build
+ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
+ confflags += --build=$(DEB_HOST_GNU_TYPE)
+else
+ confflags += --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)
+endif
+
+# choose which configurations to build
+include debian/scripts/choose-configs
+
+# build the following configurations by default
+CONFIGS = $(SWX11_GLU_CONFIGS) \
+ dri \
+ osmesa \
+ osmesa-static \
+ osmesa16 \
+ osmesa16-static \
+ osmesa32 \
+ osmesa32-static
+
+STAMP_DIR = debian/stamp
+STAMP = $(STAMP_DIR)/$(DEB_BUILD_GNU_TYPE)
+BUILD_STAMPS = $(addprefix $(STAMP)-build-, $(CONFIGS))
+
+QUILT_STAMPFN = $(STAMP_DIR)/patch
+include /usr/share/quilt/quilt.make
+
+# temporary until we figure out what to build
+confflags += --disable-gallium
+
+confflags-common = \
+ --disable-egl \
+ --disable-glu \
+ --disable-glut \
+ --disable-glw \
+ CFLAGS="$(CFLAGS)"
+
+DRI_DRIVERS = swrast
+
+# hurd doesn't do direct rendering
+ifeq ($(DEB_HOST_ARCH_OS), hurd)
+ DIRECT_RENDERING = --disable-driglx-direct
+else
+ DIRECT_RENDERING = --enable-driglx-direct
+ ifeq ($(DEB_HOST_ARCH), lpia)
+ DRI_DRIVERS += i915 i965
+ else ifneq ($(DEB_HOST_ARCH), s390)
+ DRI_DRIVERS += mach64 mga r128 r200 r300 r600 radeon savage tdfx
+ ifeq ($(DEB_HOST_GNU_CPU), i486)
+ DRI_DRIVERS += i810 i915 i965 sis unichrome
+ else ifeq ($(DEB_HOST_GNU_CPU), x86_64)
+ DRI_DRIVERS += i915 i965 sis unichrome
+ else ifeq ($(DEB_HOST_ARCH), sparc)
+ DRI_DRIVERS += ffb
+ else ifeq ($(DEB_HOST_ARCH), sparc64)
+ DRI_DRIVERS += ffb
+ endif
+ endif
+endif
+
+confflags-dri = \
+ --with-driver=dri \
+ --with-dri-drivers="$(DRI_DRIVERS)" \
+ --with-demos=xdemos \
+ --libdir=/usr/lib/glx \
+ --with-dri-driverdir=/usr/lib/dri \
+ --enable-glx-tls \
+ $(DIRECT_RENDERING) \
+ $(confflags-common)
+
+confflags-osmesa = \
+ --with-driver=osmesa \
+ --with-demos= \
+ $(confflags-common)
+
+confflags-osmesa-static = \
+ --with-driver=osmesa \
+ --enable-static \
+ --with-demos= \
+ $(confflags-common)
+
+confflags-osmesa16 = \
+ --with-driver=osmesa \
+ --with-osmesa-bits=16 \
+ --with-demos= \
+ $(confflags-common)
+
+confflags-osmesa16-static = \
+ --with-driver=osmesa \
+ --with-osmesa-bits=16 \
+ --enable-static \
+ --with-demos= \
+ $(confflags-common)
+
+confflags-osmesa32 = \
+ --with-driver=osmesa \
+ --with-osmesa-bits=32 \
+ --with-demos= \
+ $(confflags-common)
+
+confflags-osmesa32-static = \
+ --with-driver=osmesa \
+ --with-osmesa-bits=32 \
+ --enable-static \
+ --with-demos= \
+ $(confflags-common)
+
+confflags-swx11+glu = \
+ --with-driver=xlib \
+ --disable-gl-osmesa \
+ --with-demos= \
+ --disable-egl \
+ --disable-glut \
+ --enable-motif \
+ CFLAGS="$(CFLAGS)"
+
+confflags-swx11+glu-static = \
+ --with-driver=xlib \
+ --disable-gl-osmesa \
+ --enable-static \
+ --with-demos= \
+ --disable-egl \
+ --disable-glut \
+ --enable-motif \
+ CFLAGS="$(CFLAGS)"
+
+confflags-swx11+glu-i386-i686 = \
+ --with-driver=xlib \
+ --disable-gl-osmesa \
+ --with-demos= \
+ --disable-glut \
+ --disable-egl \
+ --enable-motif \
+ --libdir=/usr/lib/i686/cmov \
+ CFLAGS="$(CFLAGS) -march=i686"
+
+configure: $(QUILT_STAMPFN) configure.ac
+ autoreconf -vfi
+
+# list the configurations that will built
+configs:
+ @echo Building the following configurations: $(CONFIGS)
+
+$(STAMP_DIR)/stamp:
+ dh_testdir
+ mkdir -p $(STAMP_DIR)
+ >$@
+
+$(QUILT_STAMPFN): $(STAMP_DIR)/stamp
+
+build: $(BUILD_STAMPS)
+
+$(STAMP)-build-%: configure
+ dh_testdir
+
+ mkdir -p $(DEB_BUILD_DIR)/$*
+ find $(CURDIR)/* -maxdepth 0 -not -path '$(DEB_BUILD_DIR)*' | \
+ xargs cp -rlf -t $(DEB_BUILD_DIR)/$*
+ cd $(DEB_BUILD_DIR)/$* && \
+ ../../configure --prefix=/usr --mandir=\$${prefix}/share/man \
+ --infodir=\$${prefix}/share/info --sysconfdir=/etc \
+ --localstatedir=/var $(confflags) $(confflags-$*)
+ cd $(DEB_BUILD_DIR)/$* && $(MAKE)
+
+ touch $@
+
+install: build
+ # Add here commands to install the package into debian/tmp
+ dh_testdir
+ dh_testroot
+ dh_clean -k
+ dh_installdirs
+ set -e; for config in $(CONFIGS); do \
+ $(MAKE) -C $(DEB_BUILD_DIR)/$$config DESTDIR=$(CURDIR)/debian/tmp install; \
+ done
+
+clean: unpatch
+ dh_testdir
+ dh_testroot
+ rm -rf .pc
+
+ rm -f config.cache config.log config.status
+ rm -f */config.cache */config.log */config.status
+ rm -f conftest* */conftest*
+ rm -rf autom4te.cache */autom4te.cache
+ rm -rf build
+ rm -rf configure config.guess config.sub config.h.in
+ rm -rf $$(find -name Makefile.in)
+ rm -rf aclocal.m4 missing depcomp install-sh ltmain.sh
+ rm -rf $(STAMP_DIR)
+
+ dh_clean
+
+# Build architecture-independent files here.
+binary-indep: install
+
+# Build architecture-dependent files here.
+binary-arch: install
+ dh_testdir
+ dh_testroot
+ dh_installchangelogs -s
+ dh_installchangelogs -pmesa-common-dev ChangeLog
+ dh_installdocs -s
+ dh_installexamples -s
+ dh_install -s --sourcedir=debian/tmp --list-missing
+ dh_installman -s
+ dh_lintian -s
+ dh_link -s
+ dh_strip -plibgl1-mesa-swx11 --dbg-package=libgl1-mesa-swx11-dbg
+ dh_strip -plibgl1-mesa-glx --dbg-package=libgl1-mesa-glx-dbg
+ dh_strip -plibgl1-mesa-dri --dbg-package=libgl1-mesa-dri-dbg
+ dh_strip -s
+ dh_compress -s
+ dh_fixperms -s
+ dh_makeshlibs -s
+ dh_installdeb -s
+ dh_shlibdeps -s
+ dh_gencontrol -s
+ dh_md5sums -s
+ dh_builddeb -s
+
+binary: binary-indep binary-arch
+.PHONY: configs build clean binary-indep binary-arch binary install
diff --git a/debian/scripts/choose-configs b/debian/scripts/choose-configs
new file mode 100644
index 0000000000..b7d68e298c
--- /dev/null
+++ b/debian/scripts/choose-configs
@@ -0,0 +1,58 @@
+# Script to choose which configurations are to be built depending on the value
+# of the DEB_BUILD_ARCH variable.
+#
+# Copyright © 2006 Thierry Reding <thierry@gilfi.de>
+
+##############################################################################
+## architecture-specific configurations ######################################
+
+# choose an architecture-specific build of swx11 and GLU if a matching
+# configuration exists
+#ifneq ($(wildcard configs/debian-swx11+glu-$(DEB_BUILD_ARCH)),)
+# SWX11_GLU_CONFIGS := debian-swx11+glu-$(DEB_BUILD_ARCH)
+#else
+# SWX11_GLU_CONFIGS := debian-swx11+glu-any
+#endif
+
+# same for static builds
+#ifneq ($(wildcard configs/debian-swx11+glu-static-$(DEB_BUILD_ARCH)),)
+# SWX11_GLU_CONFIGS += debian-swx11+glu-static-$(DEB_BUILD_ARCH)
+#else
+# SWX11_GLU_CONFIGS += debian-swx11+glu-static-any
+#endif
+
+SWX11_GLU_CONFIGS := swx11+glu swx11+glu-static
+
+# and for the GLX/DRI-enabled libGL
+ifneq ($(wildcard configs/debian-indirect-$(DEB_BUILD_ARCH)),)
+ DRI_CONFIGS := debian-indirect-$(DEB_BUILD_ARCH)
+else
+ ifneq ($(wildcard configs/debian-dri-$(DEB_BUILD_ARCH)),)
+ DRI_CONFIGS := debian-dri-$(DEB_BUILD_ARCH)
+ else
+ DRI_CONFIGS := debian-dri-any
+ endif
+endif
+
+##############################################################################
+## CPU-optimized configurations ##############################################
+
+ifneq (,$(filter $(DEB_BUILD_ARCH), i386 kfreebsd-i386 hurd-i386))
+ SWX11_GLU_CONFIGS += swx11+glu-i386-i686
+# DRI_CONFIGS += debian-dri-i386-i686
+endif
+
+#ifeq ($(DEB_BUILD_ARCH), alpha)
+# SWX11_GLU_CONFIGS += debian-swx11+glu-alpha-ev5
+#endif
+
+#ifeq ($(DEB_BUILD_ARCH), powerpc)
+# SWX11_GLU_CONFIGS += debian-swx11+glu-powerpc-603
+#endif
+
+#ifeq ($(DEB_BUILD_ARCH), sparc)
+# SWX11_GLU_CONFIGS += debian-swx11+glu-sparc-ultrasparc
+#endif
+
+# vim: ft=make
+
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000000..ee95ce2bf0
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,6 @@
+version=3
+opts="uversionmangle=s/-rc/~rc/" \
+http://sf.net/mesa3d/MesaLib-(.*)\.tar\.gz
+
+opts="uversionmangle=s/-rc/~rc/" \
+ftp://freedesktop.org/pub/mesa/([\d\.]*)/ MesaLib-(.*)\.tar\.gz
diff --git a/docs/OLD/MESA_packed_depth_stencil.spec b/docs/OLD/MESA_packed_depth_stencil.spec
deleted file mode 100644
index 112b730ecc..0000000000
--- a/docs/OLD/MESA_packed_depth_stencil.spec
+++ /dev/null
@@ -1,230 +0,0 @@
-Name
-
- MESA_packed_depth_stencil
-
-Name Strings
-
- GL_MESA_packed_depth_stencil
-
-Contact
-
- Keith Whitwell, VA Linux Systems Inc. (keithw 'at' valinux.com)
- Brian Paul, VA Linux Systems Inc. (brianp 'at' valinux.com)
-
-Status
-
- Obsolete.
-
-Version
-
-
-Number
-
- ???
-
-Dependencies
-
- EXT_abgr affects the definition of this extension
- SGIS_texture4D affects the definition of this extension
- EXT_cmyka affects the definition of this extension
- ARB_packed_pixels affects the definition of this extension
-
-Overview
-
- Provides a mechanism for DrawPixels and ReadPixels to efficiently
- transfer depth and stencil image data. Specifically, we defined new
- packed pixel formats and types which pack both stencil and depth
- into one value.
-
-Issues:
-
- 1. Is this the right way to distinguish between 24/8 and 8/24
- pixel formats? Should we instead provide both:
-
- GL_DEPTH_STENCIL_MESA
- GL_STENCIL_DEPTH_MESA
-
- And perhaps just use GL_UNSIGNED_INT, GL_UNSIGNED_SHORT ?
-
- 2. If not, is it correct to use _REV to indicate that stencil
- preceeds depth in the 1_15 and 8_24 formats?
-
- 3. Do we really want the GL_UNSIGNED_SHORT formats?
-
-
-New Procedures and Functions
-
- None.
-
-New Tokens
-
- Accepted by the <format> parameter of ReadPixels and DrawPixels:
-
- GL_DEPTH_STENCIL_MESA 0x8750
-
- Accepted by the <type> parameter of ReadPixels and DrawPixels:
-
- GL_UNSIGNED_INT_24_8_MESA 0x8751
- GL_UNSIGNED_INT_8_24_REV_MESA 0x8752
- GL_UNSIGNED_SHORT_15_1_MESA 0x8753
- GL_UNSIGNED_SHORT_1_15_REV_MESA 0x8754
-
-Additions to Chapter 2 of the 1.1 Specification (OpenGL Operation)
-
- None
-
-Additions to Chapter 3 of the 1.1 Specification (Rasterization)
-
- One entry is added to table 3.5 (DrawPixels and ReadPixels formats).
- The new table is:
-
- Target
- Format Name Buffer Element Meaning and Order
- ----------- ------ -------------------------
- COLOR_INDEX Color Color index
- STENCIL_INDEX Stencil Stencil index
- DEPTH_COMPONENT Depth Depth component
- RED Color R component
- GREEN Color G component
- BLUE Color B component
- ALPHA Color A component
- RGB Color R, G, B components
- RGBA Color R, G, B, A components
- BGRA Color B, G, R, A components
- ABGR_EXT Color A, B, G, R components
- CMYK_EXT Color Cyan, Magenta, Yellow, Black components
- CMYKA_EXT Color Cyan, Magenta, Yellow, Black, A components
- LUMINANCE Color Luminance component
- LUMINANCE_ALPHA Color Luminance, A components
- DEPTH_STENCIL Depth, Depth component, stencil index.
- Stencil
-
- Table 3.5: DrawPixels and ReadPixels formats. The third column
- gives a description of and the number and order of elements in a
- group.
-
- Add to the description of packed pixel formats:
-
- <type> Parameter Data of Matching
- Token Name Type Elements Pixel Formats
- ---------------- ---- -------- -------------
-
- UNSIGNED_BYTE_3_3_2 ubyte 3 RGB
- UNSIGNED_BYTE_2_3_3_REV ubyte 3 RGB
- UNSIGNED_SHORT_5_6_5 ushort 3 RGB
- UNSIGNED_SHORT_5_6_5_REV ushort 3 RGB
- UNSIGNED_SHORT_4_4_4_4 ushort 4 RGBA,BGRA,ABGR_EXT,CMYK_EXT
- UNSIGNED_SHORT_4_4_4_4_REV ushort 4 RGBA,BGRA
- UNSIGNED_SHORT_5_5_5_1 ushort 4 RGBA,BGRA,ABGR_EXT,CMYK_EXT
- UNSIGNED_SHORT_1_5_5_5_REV ushort 4 RGBA,BGRA
- UNSIGNED_INT_8_8_8_8 uint 4 RGBA,BGRA,ABGR_EXT,CMYK_EXT
- UNSIGNED_INT_8_8_8_8_REV uint 4 RGBA,BGRA
- UNSIGNED_INT_10_10_10_2 uint 4 RGBA,BGRA,ABGR_EXT,CMYK_EXT
- UNSIGNED_INT_2_10_10_10_REV uint 4 RGBA,BGRA
- UNSIGNED_SHORT_15_1_MESA ushort 2 DEPTH_STENCIL_MESA
- UNSIGNED_SHORT_1_15_REV_MESA ushort 2 DEPTH_STENCIL_MESA
- UNSIGNED_SHORT_24_8_MESA ushort 2 DEPTH_STENCIL_MESA
- UNSIGNED_SHORT_8_24_REV_MESA ushort 2 DEPTH_STENCIL_MESA
-
- UNSIGNED_INT_8_24:
-
- 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- +-----------------------+-----------------------------------------------------------------------+
- | | |
- +-----------------------+-----------------------------------------------------------------------+
-
- first second
- element element
-
-
- UNSIGNED_INT_24_8:
-
- 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- +----------------------------------------------------------------------+------------------------+
- | | |
- +----------------------------------------------------------------------+------------------------+
-
- first second
- element element
-
- UNSIGNED_SHORT_15_1:
-
- 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- +-----------------------------------------------------------+---+
- | | |
- +-----------------------------------------------------------+---+
-
- first second
- element element
-
-
- UNSIGNED_SHORT_1_15_REV:
-
- 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- +---+-----------------------------------------------------------+
- | | |
- +---+-----------------------------------------------------------+
-
- second first
- element element
-
- The assignment of elements to fields in the packed pixel is as
- described in the table below:
-
- First Second Third Fourth
- Format Element Element Element Element
- ------ ------- ------- ------- -------
- RGB red green blue
- RGBA red green blue alpha
- BGRA blue green red alpha
- ABGR_EXT alpha blue green red
- CMYK_EXT cyan magenta yellow black
- DEPTH_STENCIL_MESA depth stencil
-
-Additions to Chapter 4 of the 1.1 Specification (Per-Fragment Operations
-and the Frame Buffer)
-
- The new format is added to the discussion of Obtaining Pixels from the
- Framebuffer. It should read " If the <format> is one of RED, GREEN,
- BLUE, ALPHA, RGB, RGBA, ABGR_EXT, LUMINANCE, or LUMINANCE_ALPHA, and
- the GL is in color index mode, then the color index is obtained."
-
- The new format is added to the discussion of Index Lookup. It should
- read "If <format> is one of RED, GREEN, BLUE, ALPHA, RGB, RGBA,
- ABGR_EXT, LUMINANCE, or LUMINANCE_ALPHA, then the index is used to
- reference 4 tables of color components: PIXEL_MAP_I_TO_R,
- PIXEL_MAP_I_TO_G, PIXEL_MAP_I_TO_B, and PIXEL_MAP_I_TO_A."
-
-
-Additions to Chapter 5 of the 1.1 Specification (Special Functions)
-
- None
-
-Additions to Chapter 6 of the 1.1 Specification (State and State Requests)
-
- None
-
-Additions to the GLX Specification
-
- None
-
-GLX Protocol
-
- TBD
-
-Errors
-
- None
-
-New State
-
- None
-
-Revision History
-
- Version 1.0 - 23 Sep 2000
- Keith's original version.
-
- Version 1.1 - 3 Nov 2000
- Brian's edits, assigned values to new enums.
-
diff --git a/docs/OLD/MESA_program_debug.spec b/docs/OLD/MESA_program_debug.spec
deleted file mode 100644
index 7694fdcc42..0000000000
--- a/docs/OLD/MESA_program_debug.spec
+++ /dev/null
@@ -1,356 +0,0 @@
-Name
-
- MESA_program_debug
-
-Name Strings
-
- GL_MESA_program_debug
-
-Contact
-
- Brian Paul (brian.paul 'at' tungstengraphics.com)
-
-Status
-
- XXX - Not complete yet!!!
-
-Version
-
- Last Modified Date: July 20, 2003
- Author Revision: 1.0
-
-Number
-
- TBD
-
-Dependencies
-
- OpenGL 1.4 is required
- The extension is written against the OpenGL 1.4 specification.
- ARB_vertex_program or ARB_fragment_program or NV_vertex_program
- or NV_fragment_program is required.
-
-Overview
-
- The extension provides facilities for implementing debuggers for
- vertex and fragment programs.
-
- The concept is that vertex and fragment program debuggers will be
- implemented outside of the GL as a utility package. This extension
- only provides the minimal hooks required to implement a debugger.
-
- There are facilities to do the following:
- 1. Have the GL call a user-specified function prior to executing
- each vertex or fragment instruction.
- 2. Query the current program string's execution position.
- 3. Query the current values of intermediate program values.
-
- The main feature is the ProgramCallbackMESA function. It allows the
- user to register a callback function with the GL. The callback will
- be called prior to executing each vertex or fragment program instruction.
-
- From within the callback, the user may issue Get* commands to
- query current GL state. The GetProgramRegisterfvMESA function allows
- current program values to be queried (such as temporaries, input
- attributes, and result registers).
-
- There are flags for enabling/disabling the program callbacks.
-
- The current execution position (as an offset from the start of the
- program string) can be queried with
- GetIntegerv(GL_FRAGMENT_PROGRAM_POSITION_MESA, &pos) or
- GetIntegerv(GL_VERTEX_PROGRAM_POSITION_MESA, &pos).
-
-
-IP Status
-
- None
-
-Issues
-
- 1. Is this the right model for a debugger?
-
- It seems prudent to minimize the scope of this extension and leave
- it up to the developer (or developer community) to write debuggers
- that layer on top of this extension.
-
- If the debugger were fully implemented within the GL it's not
- clear how terminal and GUI-based interfaces would work, for
- example.
-
- 2. There aren't any other extensions that register callbacks with
- the GL. Isn't there another solution?
-
- If we want to be able to single-step through vertex/fragment
- programs I don't see another way to do it.
-
- 3. How do we prevent the user from doing something crazy in the
- callback function, like trying to call glBegin (leading to
- recursion)?
-
- The rule is that the callback function can only issue glGet*()
- functions and no other GL commands. It could be difficult to
- enforce this, however. Therefore, calling any non-get GL
- command from within the callback will result in undefined
- results.
-
- 4. Is this extension amenable to hardware implementation?
-
- Hopefully, but if not, the GL implementation will have to fall
- back to a software path when debugging. This may be acceptable
- for debugging.
-
- 5. What's the <data> parameter to ProgramCallbackMESA for?
-
- It's a common programming practice to associate a user-supplied
- value with callback functions.
-
- 6. Debuggers often allow one to modify intermediate program values,
- then continue. Does this extension support that?
-
- No.
-
-
-New Procedures and Functions (and datatypes)
-
- typedef void (*programcallbackMESA)(enum target, void *data)
-
- void ProgramCallbackMESA(enum target, programcallbackMESA callback,
- void *data)
-
- void GetProgramRegisterfvMESA(enum target, sizei len,
- const ubyte *registerName, float *v)
-
-New Tokens
-
- Accepted by the <cap> parameter of Enable, Disable, IsEnabled,
- GetBooleanv, GetDoublev, GetFloatv and GetIntegerv:
-
- FRAGMENT_PROGRAM_CALLBACK_MESA 0x8bb1
- VERTEX_PROGRAM_CALLBACK_MESA 0x8bb4
-
- Accepted by the <pname> parameter GetBooleanv, GetDoublev,
- GetFloatv and GetIntegerv:
-
- FRAGMENT_PROGRAM_POSITION_MESA 0x8bb0
- VERTEX_PROGRAM_POSITION_MESA 0x8bb4
-
- Accepted by the <pname> parameter of GetPointerv:
-
- FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA 0x8bb2
- FRAGMENT_PROGRAM_CALLBACK_DATA_MESA 0x8bb3
- VERTEX_PROGRAM_CALLBACK_FUNC_MESA 0x8bb6
- VERTEX_PROGRAM_CALLBACK_DATA_MESA 0x8bb7
-
-Additions to Chapter 2 of the OpenGL 1.4 Specification (OpenGL Operation)
-
- None.
-
-Additions to Chapter 3 of the OpenGL 1.4 Specification (Rasterization)
-
- None.
-
-Additions to Chapter 4 of the OpenGL 1.4 Specification (Per-Fragment
-Operations and the Frame Buffer)
-
- None.
-
-Additions to Chapter 5 of the OpenGL 1.4 Specification (Special Functions)
-
- In section 5.4 "Display Lists", page 202, add the following command
- to the list of those that are not compiled into display lists:
-
- ProgramCallbackMESA.
-
-
- Add a new section 5.7 "Callback Functions"
-
- The function
-
- void ProgramCallbackMESA(enum target, programcallbackMESA callback,
- void *data)
-
- registers a user-defined callback function with the GL. <target>
- may be FRAGMENT_PROGRAM_ARB or VERTEX_PROGRAM_ARB. The enabled
- callback functions registered with these targets will be called
- prior to executing each instruction in the current fragment or
- vertex program, respectively. The callbacks are enabled and
- disabled by calling Enable or Disable with <cap>
- FRAGMENT_PROGRAM_ARB or VERTEX_PROGRAM_ARB.
-
- The callback function's signature must match the typedef
-
- typedef void (*programcallbackMESA)(enum target, void *data)
-
- When the callback function is called, <target> will either be
- FRAGMENT_PROGRAM_ARB or VERTEX_PROGRAM_ARB to indicate which
- program is currently executing and <data> will be the value
- specified when ProgramCallbackMESA was called.
-
- From within the callback function, only the following GL commands
- may be called:
-
- GetBooleanv
- GetDoublev
- GetFloatv
- GetIntegerv
- GetProgramLocalParameter
- GetProgramEnvParameter
- GetProgramRegisterfvMESA
- GetProgramivARB
- GetProgramStringARB
- GetError
-
- Calling any other command from within the callback results in
- undefined behaviour.
-
-
-Additions to Chapter 6 of the OpenGL 1.4 Specification (State and
-State Requests)
-
- Add a new section 6.1.3 "Program Value Queries":
-
- The command
-
- void GetProgramRegisterfvMESA(enum target, sizei len,
- const ubyte *registerName,
- float *v)
-
- Is used to query the value of program variables and registers
- during program execution. GetProgramRegisterfvMESA may only be
- called from within a callback function registered with
- ProgramCallbackMESA.
-
- <registerName> and <len> specify the name a variable, input
- attribute, temporary, or result register in the program string.
- The current value of the named variable is returned as four
- values in <v>. If <name> doesn't exist in the program string,
- the error INVALID_OPERATION is generated.
-
-Additions to Appendix A of the OpenGL 1.4 Specification (Invariance)
-
- None.
-
-Additions to the AGL/GLX/WGL Specifications
-
- None.
-
-GLX Protocol
-
- XXX TBD
-
-Dependencies on NV_vertex_program and NV_fragment_program
-
- If NV_vertex_program and/or NV_fragment_program are supported,
- vertex and/or fragment programs defined by those extensions may
- be debugged as well. Register queries will use the syntax used
- by those extensions (i.e. "v[X]" to query vertex attributes,
- "o[X]" for vertex outputs, etc.)
-
-Errors
-
- INVALID_OPERATION is generated if ProgramCallbackMESA is called
- between Begin and End.
-
- INVALID_ENUM is generated by ProgramCallbackMESA if <target> is not
- a supported vertex or fragment program type.
-
- Note: INVALID_OPERAION IS NOT generated by GetProgramRegisterfvMESA,
- GetBooleanv, GetDoublev, GetFloatv, or GetIntegerv if called between
- Begin and End when a vertex or fragment program is currently executing.
-
- INVALID_ENUM is generated by ProgramCallbackMESA,
- GetProgramRegisterfvMESA if <target> is not a program target supported
- by ARB_vertex_program, ARB_fragment_program (or NV_vertex_program or
- NV_fragment_program).
-
- INVALID_VALUE is generated by GetProgramRegisterfvMESA if <registerName>
- does not name a known program register or variable.
-
- INVALID_OPERATION is generated by GetProgramRegisterfvMESA when a
- register query is attempted for a program target that's not currently
- being executed.
-
-
-New State
-
- XXX finish
-
-(table 6.N, p. ###)
- Initial
- Get Value Type Get Command Value Description Sec. Attribute
- --------- ---- ----------- ----- ----------- ---- ---------
- FRAGMENT_PROGRAM_CALLBACK_MESA B IsEnabled FALSE XXX XXX enable
- VERTEX_PROGRAM_CALLBACK_MESA B IsEnabled FALSE XXX XXX enable
- FRAGMENT_PROGRAM_POSITION_MESA Z+ GetIntegerv -1 XXX XXX -
- VERTEX_PROGRAM_POSITION_MESA Z+ GetIntegerv -1 XXX XXX -
- FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA P GetPointerv NULL XXX XXX -
- VERTEX_PROGRAM_CALLBACK_FUNC_MESA P GetPointerv NULL XXX XXX -
- FRAGMENT_PROGRAM_CALLBACK_DATA_MESA P GetPointerv NULL XXX XXX -
- VERTEX_PROGRAM_CALLBACK_DATA_MESA P GetPointerv NULL XXX XXX -
-
- XXX more?
-
-New Implementation Dependent State
-
- None.
-
-Revision History
-
- 8 July 2003
- Initial draft. (Brian Paul)
- 11 July 2003
- Second draft. (Brian Paul)
- 20 July 2003
- Third draft. Lots of fundamental changes. (Brian Paul)
- 23 July 2003
- Added chapter 5 and 6 spec language. (Brian Paul)
-
-Example Usage
-
- The following is a very simple example of how this extension may
- be used to print the values of R0, R1, R2 and R3 while executing
- vertex programs.
-
-
- /* This is called by the GL when the vertex program is executing.
- * We can only make glGet* calls from within this function!
- */
- void DebugCallback(GLenum target, GLvoid *data)
- {
- GLint pos;
- GLuint i;
-
- /* Get PC and current instruction string */
- glGetIntegerv(GL_VERTEX_PROGRAM_POSITION_ARB, &pos);
-
- printf("Current position: %d\n", pos);
-
- printf("Current temporary registers:\n");
- for (i = 0; i < 4; i++) {
- GLfloat v[4];
- char s[10];
- sprintf(s, "R%d", i);
- glGetProgramRegisterfvMESA(GL_VERTEX_PROGRAM_ARB, strlen(s), s, v);
- printf("R%d = %g, %g, %g, %g\n", i, v[0], v[1], v[2], v[3]);
- }
- }
-
-
- /*
- * elsewhere...
- */
-
- /* Register our debugger callback function */
- glProgramCallbackMESA(GL_VERTEX_PROGRAM_ARB, DebugCallback, NULL);
- glEnable(GL_VERTEX_PROGRAM_CALLBACK_MESA);
-
- /* define/bind a vertex program */
-
- glEnable(GL_VERTEX_PROGRAM);
-
- /* render something */
- glBegin(GL_POINTS);
- glVertex2f(0, 0);
- glEnd();
-
diff --git a/docs/OLD/MESA_sprite_point.spec b/docs/OLD/MESA_sprite_point.spec
deleted file mode 100644
index b50d78e9e7..0000000000
--- a/docs/OLD/MESA_sprite_point.spec
+++ /dev/null
@@ -1,190 +0,0 @@
-Name
-
- MESA_sprite_point
-
-Name Strings
-
- GL_MESA_sprite_point
-
-Contact
-
- Brian Paul, VA Linux Systems Inc. (brianp 'at' valinux.com)
-
-Status
-
- Obsolete - see GL_ARB_point_sprite.
-
-Version
-
-
-Number
-
- ???
-
-Dependencies
-
- GL_EXT_point_parameters effects the definition of this extension
- GL_ARB_multitexture effects the definition of this extension
-
-Overview
-
- This extension modifies the way in which points are rendered,
- specifically when they're textured. When SPRITE_POINT_MESA is enabled
- a point is rendered as if it were a quadrilateral with unique texture
- coordinates at each vertex. This extension effectively turns points
- into sprites which may be rendered more easily and quickly than using
- conventional textured quadrilaterals.
-
- When using point size > 1 or attenuated points this extension is an
- effective way to render many small sprite images for particle systems
- or other effects.
-
-Issues:
-
- 1. How are the texture coordinates computed?
-
- The lower-left corner has texture coordinate (0,0,r,q).
- The lower-right, (1,0,r,q). The upper-right, (1,1,r,q).
- The upper-left, (0,1,r,q).
-
- 2. What about texgen and texture matrices?
-
- Texgen and the texture matrix have no effect on the point's s and t
- texture coordinates. The r and q coordinates may have been computed
- by texgen or the texture matrix. Note that with a 3D texture and/or
- texgen that the r coordinate could be used to select a slice in the
- 3D texture.
-
- 3. What about point smoothing?
-
- When point smoothing is enabled, a triangle fan could be rendered
- to approximate a circular point. This could be problematic to
- define and implement so POINT_SMOOTH is ignored when drawing sprite
- points.
-
- Smoothed points can be approximated by using an appropriate texture
- images, alpha testing and blending.
-
- POLYGON_SMOOTH does effect the rendering of the quadrilateral, however.
-
- 4. What about sprite rotation?
-
- There is none. Sprite points are always rendered as window-aligned
- squares. One could define rotated texture images if desired. A 3D
- texture and appropriate texture r coordinates could be used to
- effectively specify image rotation per point.
-
- 5. What about POLYGON_MODE?
-
- POLYGON_MODE does not effect the rasterization of the quadrilateral.
-
- 6. What about POLYGON_CULL?
-
- TBD. Polygon culling is normally specified and implemented in the
- transformation stage of OpenGL. However, some rasterization hardware
- implements it later during triangle setup.
-
- Polygon culling wouldn't be useful for sprite points since the
- quadrilaterals are always defined in counter-clockwise order in
- window space. For that reason, polygon culling should probably be
- ignored.
-
- 7. Should sprite points be alpha-attenuated if their size is below the
- point parameter's threshold size?
-
- 8. Should there be an advertisized maximum sprite point size?
-
- No. Since we're rendering the point as a quadrilateral there's no
- need to limit the size.
-
-
-New Procedures and Functions
-
- None.
-
-New Tokens
-
- Accepted by the <pname> parameter of Enable, Disable, IsEnabled,
- GetIntegerv, GetBooleanv, GetFloatv and GetDoublev:
-
- SPRITE_POINT_MESA 0x????
- MAX_SPRITE_POINT_SIZE_MESA 0x???? (need this?)
-
-Additions to Chapter 2 of the 1.1 Specification (OpenGL Operation)
-
- None
-
-Additions to Chapter 3 of the 1.1 Specification (Rasterization)
-
- Section ???.
-
- When SPRITE_POINT_MESA is enabled points are rasterized as screen-
- aligned quadrilaterals. If the four vertices of the quadrilateral
- are labeled A, B, C, and D, starting at the lower-left corner and moving
- counter-clockwise around the quadrilateral, then the vertex and
- texture coordinates are computed as follows:
-
- vertex window coordinate texture coordinate
- A (x-r, y-r, z, w) (0, 0, r, q)
- B (x+r, y-r, z, w) (1, 0, r, q)
- C (x+r, y+r, z, w) (1, 1, r, q)
- D (x-r, y+r, z, w) (0, 1, r, q)
-
- where x, y, z, w are the point's window coordinates, r and q are the
- point's 3rd and 4th texture coordinates and r is half the point's
- size. The other vertex attributes (such as the color and fog coordinate)
- are simply duplicated from the original point vertex.
-
- Point size may either be specified with PointSize or computed
- according to the EXT_point_parameters extension.
-
- The new texture coordinates are not effected by texgen or the texture
- matrix. Note, however, that the texture r and q coordinates are passed
- unchanged and may have been computed with texgen and/or the texture
- matrix.
-
- If multiple texture units are present the same texture coordinate is
- used for all texture units.
-
- The point is then rendered as if it were a quadrilateral using the
- normal point sampling rules. POLYGON_MODE does not effect the
- rasterization of the quadrilateral but POLYGON_SMOOTH does.
-
- POINT_SMOOTH has no effect when SPRITE_POINT_MESA is enabled.
-
-Additions to Chapter 4 of the 1.1 Specification (Per-Fragment Operations
-and the Frame Buffer)
-
- None.
-
-Additions to Chapter 5 of the 1.1 Specification (Special Functions)
-
- None
-
-Additions to Chapter 6 of the 1.1 Specification (State and State Requests)
-
- None
-
-Additions to the GLX Specification
-
- None
-
-GLX Protocol
-
- TBD
-
-Errors
-
- None
-
-New State
-
- Add boolean variable SPRITE_POINT_MESA to the point attribute group.
-
-Revision History
-
- Version 1.0 - 4 Dec 2000
- Original draft.
-
-
-
diff --git a/docs/OLD/MESA_trace.spec b/docs/OLD/MESA_trace.spec
deleted file mode 100644
index dc4166e6b6..0000000000
--- a/docs/OLD/MESA_trace.spec
+++ /dev/null
@@ -1,359 +0,0 @@
-Name
-
- MESA_trace
-
-Name Strings
-
- GL_MESA_trace
-
-Contact
-
- Bernd Kreimeier, Loki Entertainment, bk 'at' lokigames.com
- Brian Paul, VA Linux Systems, Inc., brianp 'at' valinux.com
-
-Status
-
- Obsolete.
-
-Version
-
-
-Number
-
- none yet
-
-Dependencies
-
- OpenGL 1.2 is required.
- The extension is written against the OpenGL 1.2 Specification
-
-Overview
-
- Provides the application with means to enable and disable logging
- of GL calls including parameters as readable text. The verbosity
- of the generated log can be controlled. The resulting logs are
- valid (but possibly incomplete) C code and can be compiled and
- linked for standalone test programs. The set of calls and the
- amount of static data that is logged can be controlled at runtime.
- The application can add comments and enable or disable tracing of GL
- operations at any time. The data flow from the application to GL
- and back is unaffected except for timing.
-
- Application-side implementation of these features raises namespace
- and linkage issues. In the driver dispatch table a simple
- "chain of responsibility" pattern (aka "composable piepline")
- can be added.
-
-IP Status
-
- The extension spec is in the public domain. The current implementation
- in Mesa is covered by Mesa's XFree86-style copyright by the authors above.
- This extension is partially inspired by the Quake2 QGL wrapper.
-
-Issues
-
-
- (1) Is this Extension obsolete because it can
- be implemented as a wrapper DLL?
-
- RESOLVED: No. While certain operating systems (Win32) provide linkers
- that facilitate this kind of solution, other operating systems
- (Linux) do not support hierarchical linking, so a wrapper solution
- would result in symbol collisions.
- Further, IHV's might have builtin support for tracing GL execution
- that enjoys privileged access, or that they do not wish to separate
- the tracing code from their driver code base.
-
- (2) Should the Trace API explicitely support the notion of "frames?
- This would require hooking into glXSwapBuffers calls as well.
-
- RESOLVED: No. The application can use NewTraceMESA/EndTraceMESA
- and TraceComment along with external parsing tools to split the
- trace into frames, in whatever way considered adequate.
-
- (2a) Should GLX calls be traced?
-
- PBuffers and other render-to-texture solutions demonstrate that
- context level commands beyond SwapBuffers might have to be
- traced. The GL DLL exports the entry points, so this would not
- be out of the question.
-
- (3) Should the specification mandate the actual output format?
-
- RESOLVED: No. It is sufficient to guarantee that all data and commands
- will be traced as requested by Enable/DisableTraceMESA, in the order
- encountered. Whether the resulting trace is available as a readable
- text file, binary metafile, compilable source code, much less which
- indentation and formatting has been used, is up to the implementation.
- For the same reason this specification does not enforce or prohibit
- additional information added to the trace (statistics, profiling/timing,
- warnings on possible error conditions).
-
- (4) Should the comment strings associated with names and pointer (ranges)
- be considered persistent state?
-
- RESOLVED: No. The implementation is not forced to use this information
- on subsequent occurences of name/pointer, and is free to consider it
- transient state.
-
- (5) Should comment commands be prohibited between Begin/End?
-
- RESOLVED: Yes, with the exception of TraceCommentMESA. TraceCommentMESA
- is transient, the other commands might cause storage of persistent
- data in the context. There is no need to have the ability mark names
- or pointers between Begin and End.
-
-
-New Procedures and Functions
-
- void NewTraceMESA( bitfield mask, const ubyte * traceName )
-
- void EndTraceMESA( void )
-
- void EnableTraceMESA( bitfield mask )
-
- void DisableTraceMESA( bitfield mask )
-
- void TraceAssertAttribMESA( bitfield attribMask )
-
- void TraceCommentMESA( const ubyte* comment )
-
- void TraceTextureMESA( uint name, const ubyte* comment )
-
- void TraceListMESA( uint name, const ubyte* comment )
-
- void TracePointerMESA( void* pointer, const ubyte* comment )
-
- void TracePointerRangeMESA( const void* first,
- const void* last,
- const ubyte* comment )
-
-New Tokens
-
- Accepted by the <mask> parameter of EnableTrace and DisableTrace:
-
- TRACE_ALL_BITS_MESA 0xFFFF
- TRACE_OPERATIONS_BIT_MESA 0x0001
- TRACE_PRIMITIVES_BIT_MESA 0x0002
- TRACE_ARRAYS_BIT_MESA 0x0004
- TRACE_TEXTURES_BIT_MESA 0x0008
- TRACE_PIXELS_BIT_MESA 0x0010
- TRACE_ERRORS_BIT_MESA 0x0020
-
- Accepted by the <pname> parameter of GetIntegerv, GetBooleanv,
- GetFloatv, and GetDoublev:
-
- TRACE_MASK_MESA 0x8755
-
- Accepted by the <pname> parameter to GetString:
-
- TRACE_NAME_MESA 0x8756
-
-
-Additions to Chapter 2 of the OpenGL 1.2.1 Specification (OpenGL Operation)
-
- None.
-
-Additions to Chapter 3 of the OpenGL 1.2.1 Specification (OpenGL Operation)
-
- None.
-
-Additions to Chapter 4 of the OpenGL 1.2.1 Specification (OpenGL Operation)
-
- None.
-
-Additions to Chapter 5 of the OpenGL 1.2.1 Specification (Special Functions)
-
- Add a new section:
-
- 5.7 Tracing
-
- The tracing facility is used to record the execution of a GL program
- to a human-readable log. The log appears as a sequence of GL commands
- using C syntax. The primary intention of tracing is to aid in program
- debugging.
-
- A trace is started with the command
-
- void NewTraceMESA( bitfield mask, const GLubyte * traceName )
-
- <mask> may be any value accepted by PushAttrib and specifies a set of
- attribute groups. The state values included in those attribute groups
- is written to the trace as a sequence of GL commands.
-
- <traceName> specifies a name or label for the trace. It is expected
- that <traceName> will be interpreted as a filename in most implementations.
-
- A trace is ended by calling the command
-
- void EndTraceMESA( void )
-
- It is illegal to call NewTraceMESA or EndTraceMESA between Begin and End.
-
- The commands
-
- void EnableTraceMESA( bitfield mask )
- void DisableTraceMESA( bitfield mask )
-
- enable or disable tracing of different classes of GL commands.
- <mask> may be the union of any of TRACE_OPERATIONS_BIT_MESA,
- TRACE_PRIMITIVES_BIT_MESA, TRACE_ARRAYS_BIT_MESA, TRACE_TEXTURES_BIT_MESA,
- and TRACE_PIXELS_BIT_MESA. The special token TRACE_ALL_BITS_MESA
- indicates all classes of commands are to be logged.
-
- TRACE_OPERATIONS_BIT_MESA controls logging of all commands outside of
- Begin/End, including Begin/End.
-
- TRACE_PRIMITIVES_BIT_MESA controls logging of all commands inside of
- Begin/End, including Begin/End.
-
- TRACE_ARRAYS_BIT_MESA controls logging of VertexPointer, NormalPointer,
- ColorPointer, IndexPointer, TexCoordPointer and EdgeFlagPointer commands.
-
- TRACE_TEXTURES_BIT_MESA controls logging of texture data dereferenced by
- TexImage1D, TexImage2D, TexImage3D, TexSubImage1D, TexSubImage2D, and
- TexSubImage3D commands.
-
- TRACE_PIXELS_BIT_MESA controls logging of image data dereferenced by
- Bitmap and DrawPixels commands.
-
- TRACE_ERRORS_BIT_MESA controls logging of all errors. If this bit is
- set, GetError will be executed whereever applicable, and the result will
- be added to the trace as a comment. The error returns are cached and
- returned to the application on its GetError calls. If the user does not
- wish the additional GetError calls to be performed, this bit should not
- be set.
-
- The command
-
- void TraceCommentMESA( const ubyte* comment )
-
- immediately adds the <comment> string to the trace output, surrounded
- by C-style comment delimiters.
-
- The commands
-
- void TraceTextureMESA( uint name, const ubyte* comment )
- void TraceListMESA( uint name, const ubyte* comment )
-
- associates <comment> with the texture object or display list specified
- by <name>. Logged commands which reference the named texture object or
- display list will be annotated with <comment>. If IsTexture(name) or
- IsList(name) fail (respectively) the command is quietly ignored.
-
- The commands
-
- void TracePointerMESA( void* pointer, const ubyte* comment )
-
- void TracePointerRangeMESA( const void* first,
- const void* last,
- const ubyte* comment )
-
- associate <comment> with the address specified by <pointer> or with
- a range of addresses specified by <first> through <last>.
- Any logged commands which reference <pointer> or an address between
- <first> and <last> will be annotated with <comment>.
-
- The command
-
- void TraceAssertAttribMESA( bitfield attribMask )
-
- will add GL state queries and assertion statements to the log to
- confirm that the current state at the time TraceAssertAttrib is
- executed matches the current state when the trace log is executed
- in the future.
-
- <attribMask> is any value accepted by PushAttrib and specifies
- the groups of state variables which are to be asserted.
-
- The commands NewTraceMESA, EndTraceMESA, EnableTraceMESA, DisableTraceMESA,
- TraceAssertAttribMESA, TraceCommentMESA, TraceTextureMESA, TraceListMESA,
- TracePointerMESA and TracePointerRangeMESA are not compiled into display lists.
-
-
- Examples:
-
- The command NewTraceMESA(DEPTH_BUFFER_BIT, "log") will query the state
- variables DEPTH_TEST, DEPTH_FUNC, DEPTH_WRITEMASK, and DEPTH_CLEAR_VALUE
- to get the values <test>, <func>, <mask>, and <clear> respectively.
- Statements equivalent to the following will then be logged:
-
- glEnable(GL_DEPTH_TEST); (if <test> is true)
- glDisable(GL_DEPTH_TEST); (if <test> is false)
- glDepthFunc(<func>);
- glDepthMask(<mask>);
- glClearDepth(<clear>);
-
-
- The command TraceAssertAttribMESA(DEPTH_BUFFER_BIT) will query the state
- variables DEPTH_TEST, DEPTH_FUNC, DEPTH_WRITEMASK, and DEPTH_CLEAR_VALUE
- to get the values <test>, <func>, <mask>, and <clear> respectively.
- The resulting trace might then look will like this:
-
- {
- GLboolean b;
- GLint i;
- GLfloat f;
- b = glIsEnabled(GL_DEPTH_TEST);
- assert(b == <test>);
- glGetIntegerv(GL_DEPTH_FUNC, &i);
- assert(i == <func>);
- glGetIntegerv(GL_DEPTH_MASK, &i);
- assert(i == <mask>);
- glGetFloatv(GL_DEPTH_CLEAR_VALUE, &f);
- assert(f == <clear>);
- }
-
-
-Additions to Chapter 6 of the OpenGL 1.2.1 Specification
- (State and State Requests)
-
- Querying TRACE_MASK_MESA with GetIntegerv, GetFloatv, GetBooleanv or
- GetDoublev returns the current command class trace mask.
-
- Querying TRACE_NAME_MESA with GetString returns the current trace name.
-
-
-Additions to Appendix A of the OpenGL 1.2.1 Specification (Invariance)
-
- The MESA_trace extension can be used in a way that does not affect data
- flow from application to OpenGL, as well as data flow from OpenGL to
- application, except for timing, possible print I/O. TRACE_ERRORS_BIT_MESA
- will add additional GetError queries. Setting a trace mask with NewTraceMESA
- as well as use of TraceAssertAttribMESA might cause additional state queries.
- With the possible exception of performance, OpenGL rendering should not be
- affected at all by a properly chosen logging operation.
-
-Additions to the AGL/GLX/WGL Specifications
-
- None.
-
-GLX Protocol
-
- None. The logging operation is carried out client-side, by exporting
- entry points to the wrapper functions that execute the logging operation.
-
-Errors
-
- INVALID_OPERATION is generated if any trace command except TraceCommentMESA
- is called between Begin and End.
-
-New State
-
- The current trace name and current command class mask are stored
- per-context.
-
-New Implementation Dependent State
-
- None.
-
-Revision History
-
- * Revision 0.1 - Initial draft from template (bk000415)
- * Revision 0.2 - Draft (bk000906)
- * Revision 0.3 - Draft (bk000913)
- * Revision 0.4 - Reworked text, fixed typos (bp000914)
- * Revision 0.5 - Assigned final GLenum values (bp001103)
- * Revision 0.6 - TRACE_ERRORS_BIT_MESA (bk000916)
- * Revision 0.7 - Added MESA postfix (bk010126)
-
diff --git a/docs/gears.png b/docs/gears.png
deleted file mode 100644
index 4052b30ed0..0000000000
--- a/docs/gears.png
+++ /dev/null
Binary files differ
diff --git a/doxygen/.gitignore b/doxygen/.gitignore
deleted file mode 100644
index 253aabac19..0000000000
--- a/doxygen/.gitignore
+++ /dev/null
@@ -1,21 +0,0 @@
-*.tag
-*.tmp
-agpgart
-array_cache
-core
-core_subset
-gallium
-glapi
-main
-math
-math_subset
-miniglx
-radeondrm
-radeonfb
-radeon_subset
-shader
-swrast
-swrast_setup
-tnl
-tnl_dd
-vbo
diff --git a/doxygen/Makefile b/doxygen/Makefile
deleted file mode 100644
index 15ade4043b..0000000000
--- a/doxygen/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-
-default: full
-
-all: full subset
-
-%.tag: %.doxy
- doxygen $<
-
-FULL = \
- main.doxy \
- math.doxy \
- vbo.doxy \
- glapi.doxy \
- shader.doxy \
- swrast.doxy \
- swrast_setup.doxy \
- tnl.doxy \
- tnl_dd.doxy
-
-full: $(FULL:.doxy=.tag)
- $(foreach FILE,$(FULL),doxygen $(FILE);)
-
-SUBSET = \
- main.doxy \
- math.doxy \
- miniglx.doxy
-
-subset: $(SUBSET:.doxy=.tag)
- $(foreach FILE,$(SUBSET),doxygen $(FILE);)
-
-clean:
- -rm -rf $(FULL:.doxy=) $(SUBSET:.doxy=)
- -rm -rf *.tag
diff --git a/doxygen/README b/doxygen/README
deleted file mode 100644
index 9b820041d1..0000000000
--- a/doxygen/README
+++ /dev/null
@@ -1,10 +0,0 @@
-
-This directory is for doxygen (a source code documentation system).
-
-See http://www.doxygen.org/ for more info.
-
-Either run 'make' (Unix) or 'doxy.bat' (Windows) to run doxygen
-and generate souce code documentation.
-
-Then, load either doxygen/main/index.html or doxygen/core_subset/index.html into
-your web browser.
diff --git a/doxygen/common.doxy b/doxygen/common.doxy
deleted file mode 100644
index 48f0c95d6d..0000000000
--- a/doxygen/common.doxy
+++ /dev/null
@@ -1,1153 +0,0 @@
-# Doxyfile 1.3.8
-
-# This file describes the settings to be used by the documentation system
-# doxygen (www.doxygen.org) for a project
-#
-# All text after a hash (#) is considered a comment and will be ignored
-# The format is:
-# TAG = value [value, ...]
-# For lists items can also be appended using:
-# TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (" ")
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
-# by quotes) that should identify the project.
-
-PROJECT_NAME = Mesa
-
-# The PROJECT_NUMBER tag can be used to enter a project or revision number.
-# This could be handy for archiving the generated documentation or
-# if some version control system is used.
-
-PROJECT_NUMBER = 6.5
-
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
-# base path where the generated documentation will be put.
-# If a relative path is entered, it will be relative to the location
-# where doxygen was started. If left blank the current directory will be used.
-
-OUTPUT_DIRECTORY =
-
-# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
-# 4096 sub-directories (in 2 levels) under the output directory of each output
-# format and will distribute the generated files over these directories.
-# Enabling this option can be useful when feeding doxygen a huge amount of source
-# files, where putting all generated files in the same directory would otherwise
-# cause performance problems for the file system.
-
-CREATE_SUBDIRS = NO
-
-# The OUTPUT_LANGUAGE tag is used to specify the language in which all
-# documentation generated by doxygen is written. Doxygen will use this
-# information to generate all constant output in the proper language.
-# The default language is English, other supported languages are:
-# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish,
-# Dutch, Finnish, French, German, Greek, Hungarian, Italian, Japanese,
-# Japanese-en (Japanese with English messages), Korean, Korean-en, Norwegian,
-# Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish,
-# Swedish, and Ukrainian.
-
-OUTPUT_LANGUAGE = English
-
-# This tag can be used to specify the encoding used in the generated output.
-# The encoding is not always determined by the language that is chosen,
-# but also whether or not the output is meant for Windows or non-Windows users.
-# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES
-# forces the Windows encoding (this is the default for the Windows binary),
-# whereas setting the tag to NO uses a Unix-style encoding (the default for
-# all platforms other than Windows).
-
-USE_WINDOWS_ENCODING = NO
-
-# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
-# include brief member descriptions after the members that are listed in
-# the file and class documentation (similar to JavaDoc).
-# Set to NO to disable this.
-
-BRIEF_MEMBER_DESC = YES
-
-# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
-# the brief description of a member or function before the detailed description.
-# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
-# brief descriptions will be completely suppressed.
-
-REPEAT_BRIEF = YES
-
-# This tag implements a quasi-intelligent brief description abbreviator
-# that is used to form the text in various listings. Each string
-# in this list, if found as the leading text of the brief description, will be
-# stripped from the text and the result after processing the whole list, is used
-# as the annotated text. Otherwise, the brief description is used as-is. If left
-# blank, the following values are used ("$name" is automatically replaced with the
-# name of the entity): "The $name class" "The $name widget" "The $name file"
-# "is" "provides" "specifies" "contains" "represents" "a" "an" "the"
-
-ABBREVIATE_BRIEF =
-
-# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
-# Doxygen will generate a detailed section even if there is only a brief
-# description.
-
-ALWAYS_DETAILED_SEC = NO
-
-# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited
-# members of a class in the documentation of that class as if those members were
-# ordinary class members. Constructors, destructors and assignment operators of
-# the base classes will not be shown.
-
-INLINE_INHERITED_MEMB = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
-# path before files name in the file list and in the header files. If set
-# to NO the shortest path that makes the file name unique will be used.
-
-FULL_PATH_NAMES = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
-# can be used to strip a user-defined part of the path. Stripping is
-# only done if one of the specified strings matches the left-hand part of
-# the path. The tag can be used to show relative paths in the file list.
-# If left blank the directory from which doxygen is run is used as the
-# path to strip.
-
-STRIP_FROM_PATH =
-
-# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
-# the path mentioned in the documentation of a class, which tells
-# the reader which header file to include in order to use a class.
-# If left blank only the name of the header file containing the class
-# definition is used. Otherwise one should specify the include paths that
-# are normally passed to the compiler using the -I flag.
-
-STRIP_FROM_INC_PATH =
-
-# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
-# (but less readable) file names. This can be useful is your file systems
-# doesn't support long names like on DOS, Mac, or CD-ROM.
-
-SHORT_NAMES = NO
-
-# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
-# will interpret the first line (until the first dot) of a JavaDoc-style
-# comment as the brief description. If set to NO, the JavaDoc
-# comments will behave just like the Qt-style comments (thus requiring an
-# explicit @brief command for a brief description.
-
-JAVADOC_AUTOBRIEF = YES
-
-# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
-# treat a multi-line C++ special comment block (i.e. a block of //! or ///
-# comments) as a brief description. This used to be the default behaviour.
-# The new default is to treat a multi-line C++ comment block as a detailed
-# description. Set this tag to YES if you prefer the old behaviour instead.
-
-MULTILINE_CPP_IS_BRIEF = NO
-
-# If the DETAILS_AT_TOP tag is set to YES then Doxygen
-# will output the detailed description near the top, like JavaDoc.
-# If set to NO, the detailed description appears after the member
-# documentation.
-
-DETAILS_AT_TOP = YES
-
-# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
-# member inherits the documentation from any documented member that it
-# re-implements.
-
-INHERIT_DOCS = YES
-
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
-# tag is set to YES, then doxygen will reuse the documentation of the first
-# member in the group (if any) for the other members of the group. By default
-# all members of a group must be documented explicitly.
-
-DISTRIBUTE_GROUP_DOC = NO
-
-# The TAB_SIZE tag can be used to set the number of spaces in a tab.
-# Doxygen uses this value to replace tabs by spaces in code fragments.
-
-TAB_SIZE = 8
-
-# This tag can be used to specify a number of aliases that acts
-# as commands in the documentation. An alias has the form "name=value".
-# For example adding "sideeffect=\par Side Effects:\n" will allow you to
-# put the command \sideeffect (or @sideeffect) in the documentation, which
-# will result in a user-defined paragraph with heading "Side Effects:".
-# You can put \n's in the value part of an alias to insert newlines.
-
-ALIASES =
-
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
-# only. Doxygen will then generate output that is more tailored for C.
-# For instance, some of the names that are used will be different. The list
-# of all members will be omitted, etc.
-
-OPTIMIZE_OUTPUT_FOR_C = YES
-
-# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources
-# only. Doxygen will then generate output that is more tailored for Java.
-# For instance, namespaces will be presented as packages, qualified scopes
-# will look different, etc.
-
-OPTIMIZE_OUTPUT_JAVA = NO
-
-# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
-# the same type (for instance a group of public functions) to be put as a
-# subgroup of that type (e.g. under the Public Functions section). Set it to
-# NO to prevent subgrouping. Alternatively, this can be done per class using
-# the \nosubgrouping command.
-
-SUBGROUPING = YES
-
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-
-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
-# documentation are documented, even if no documentation was available.
-# Private class members and static file members will be hidden unless
-# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
-
-EXTRACT_ALL = YES
-
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
-# will be included in the documentation.
-
-EXTRACT_PRIVATE = NO
-
-# If the EXTRACT_STATIC tag is set to YES all static members of a file
-# will be included in the documentation.
-
-EXTRACT_STATIC = YES
-
-# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
-# defined locally in source files will be included in the documentation.
-# If set to NO only classes defined in header files are included.
-
-EXTRACT_LOCAL_CLASSES = YES
-
-# This flag is only useful for Objective-C code. When set to YES local
-# methods, which are defined in the implementation section but not in
-# the interface are included in the documentation.
-# If set to NO (the default) only methods in the interface are included.
-
-EXTRACT_LOCAL_METHODS = NO
-
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
-# undocumented members of documented classes, files or namespaces.
-# If set to NO (the default) these members will be included in the
-# various overviews, but no documentation section is generated.
-# This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_MEMBERS = NO
-
-# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
-# undocumented classes that are normally visible in the class hierarchy.
-# If set to NO (the default) these classes will be included in the various
-# overviews. This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_CLASSES = NO
-
-# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
-# friend (class|struct|union) declarations.
-# If set to NO (the default) these declarations will be included in the
-# documentation.
-
-HIDE_FRIEND_COMPOUNDS = NO
-
-# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
-# documentation blocks found inside the body of a function.
-# If set to NO (the default) these blocks will be appended to the
-# function's detailed documentation block.
-
-HIDE_IN_BODY_DOCS = NO
-
-# The INTERNAL_DOCS tag determines if documentation
-# that is typed after a \internal command is included. If the tag is set
-# to NO (the default) then the documentation will be excluded.
-# Set it to YES to include the internal documentation.
-
-INTERNAL_DOCS = NO
-
-# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
-# file names in lower-case letters. If set to YES upper-case letters are also
-# allowed. This is useful if you have classes or files whose names only differ
-# in case and if your file system supports case sensitive file names. Windows
-# and Mac users are advised to set this option to NO.
-
-CASE_SENSE_NAMES = YES
-
-# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
-# will show members with their full class and namespace scopes in the
-# documentation. If set to YES the scope will be hidden.
-
-HIDE_SCOPE_NAMES = NO
-
-# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
-# will put a list of the files that are included by a file in the documentation
-# of that file.
-
-SHOW_INCLUDE_FILES = YES
-
-# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
-# is inserted in the documentation for inline members.
-
-INLINE_INFO = YES
-
-# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
-# will sort the (detailed) documentation of file and class members
-# alphabetically by member name. If set to NO the members will appear in
-# declaration order.
-
-SORT_MEMBER_DOCS = YES
-
-# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
-# brief documentation of file, namespace and class members alphabetically
-# by member name. If set to NO (the default) the members will appear in
-# declaration order.
-
-SORT_BRIEF_DOCS = NO
-
-# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
-# sorted by fully-qualified names, including namespaces. If set to
-# NO (the default), the class list will be sorted only by class name,
-# not including the namespace part.
-# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
-# Note: This option applies only to the class list, not to the
-# alphabetical list.
-
-SORT_BY_SCOPE_NAME = NO
-
-# The GENERATE_TODOLIST tag can be used to enable (YES) or
-# disable (NO) the todo list. This list is created by putting \todo
-# commands in the documentation.
-
-GENERATE_TODOLIST = YES
-
-# The GENERATE_TESTLIST tag can be used to enable (YES) or
-# disable (NO) the test list. This list is created by putting \test
-# commands in the documentation.
-
-GENERATE_TESTLIST = YES
-
-# The GENERATE_BUGLIST tag can be used to enable (YES) or
-# disable (NO) the bug list. This list is created by putting \bug
-# commands in the documentation.
-
-GENERATE_BUGLIST = YES
-
-# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
-# disable (NO) the deprecated list. This list is created by putting
-# \deprecated commands in the documentation.
-
-GENERATE_DEPRECATEDLIST= YES
-
-# The ENABLED_SECTIONS tag can be used to enable conditional
-# documentation sections, marked by \if sectionname ... \endif.
-
-ENABLED_SECTIONS =
-
-# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
-# the initial value of a variable or define consists of for it to appear in
-# the documentation. If the initializer consists of more lines than specified
-# here it will be hidden. Use a value of 0 to hide initializers completely.
-# The appearance of the initializer of individual variables and defines in the
-# documentation can be controlled using \showinitializer or \hideinitializer
-# command in the documentation regardless of this setting.
-
-MAX_INITIALIZER_LINES = 30
-
-# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
-# at the bottom of the documentation of classes and structs. If set to YES the
-# list will mention the files that were used to generate the documentation.
-
-SHOW_USED_FILES = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-# The QUIET tag can be used to turn on/off the messages that are generated
-# by doxygen. Possible values are YES and NO. If left blank NO is used.
-
-QUIET = NO
-
-# The WARNINGS tag can be used to turn on/off the warning messages that are
-# generated by doxygen. Possible values are YES and NO. If left blank
-# NO is used.
-
-WARNINGS = YES
-
-# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
-# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
-# automatically be disabled.
-
-WARN_IF_UNDOCUMENTED = YES
-
-# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
-# potential errors in the documentation, such as not documenting some
-# parameters in a documented function, or documenting parameters that
-# don't exist or using markup commands wrongly.
-
-WARN_IF_DOC_ERROR = YES
-
-# The WARN_FORMAT tag determines the format of the warning messages that
-# doxygen can produce. The string should contain the $file, $line, and $text
-# tags, which will be replaced by the file and line number from which the
-# warning originated and the warning text.
-
-WARN_FORMAT = "$file:$line: $text"
-
-# The WARN_LOGFILE tag can be used to specify a file to which warning
-# and error messages should be written. If left blank the output is written
-# to stderr.
-
-WARN_LOGFILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-# The INPUT tag can be used to specify the files and/or directories that contain
-# documented source files. You may enter file names like "myfile.cpp" or
-# directories like "/usr/src/myproject". Separate the files or directories
-# with spaces.
-
-INPUT =
-
-# If the value of the INPUT tag contains directories, you can use the
-# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank the following patterns are tested:
-# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp
-# *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm
-
-FILE_PATTERNS =
-
-# The RECURSIVE tag can be used to turn specify whether or not subdirectories
-# should be searched for input files as well. Possible values are YES and NO.
-# If left blank NO is used.
-
-RECURSIVE = NO
-
-# The EXCLUDE tag can be used to specify files and/or directories that should
-# excluded from the INPUT source files. This way you can easily exclude a
-# subdirectory from a directory tree whose root is specified with the INPUT tag.
-
-EXCLUDE =
-
-# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories
-# that are symbolic links (a Unix filesystem feature) are excluded from the input.
-
-EXCLUDE_SYMLINKS = NO
-
-# If the value of the INPUT tag contains directories, you can use the
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
-# certain files from those directories.
-
-EXCLUDE_PATTERNS =
-
-# The EXAMPLE_PATH tag can be used to specify one or more files or
-# directories that contain example code fragments that are included (see
-# the \include command).
-
-EXAMPLE_PATH =
-
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the
-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank all files are included.
-
-EXAMPLE_PATTERNS =
-
-# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
-# searched for input files to be used with the \include or \dontinclude
-# commands irrespective of the value of the RECURSIVE tag.
-# Possible values are YES and NO. If left blank NO is used.
-
-EXAMPLE_RECURSIVE = NO
-
-# The IMAGE_PATH tag can be used to specify one or more files or
-# directories that contain image that are included in the documentation (see
-# the \image command).
-
-IMAGE_PATH =
-
-# The INPUT_FILTER tag can be used to specify a program that doxygen should
-# invoke to filter for each input file. Doxygen will invoke the filter program
-# by executing (via popen()) the command <filter> <input-file>, where <filter>
-# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
-# input file. Doxygen will then use the output that the filter program writes
-# to standard output. If FILTER_PATTERNS is specified, this tag will be
-# ignored.
-
-INPUT_FILTER =
-
-# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
-# basis. Doxygen will compare the file name with each pattern and apply the
-# filter if there is a match. The filters are a list of the form:
-# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
-# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER
-# is applied to all files.
-
-FILTER_PATTERNS =
-
-# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
-# INPUT_FILTER) will be used to filter the input files when producing source
-# files to browse (i.e. when SOURCE_BROWSER is set to YES).
-
-FILTER_SOURCE_FILES = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will
-# be generated. Documented entities will be cross-referenced with these sources.
-# Note: To get rid of all source code in the generated output, make sure also
-# VERBATIM_HEADERS is set to NO.
-
-SOURCE_BROWSER = NO
-
-# Setting the INLINE_SOURCES tag to YES will include the body
-# of functions and classes directly in the documentation.
-
-INLINE_SOURCES = NO
-
-# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
-# doxygen to hide any special comment blocks from generated source code
-# fragments. Normal C and C++ comments will always remain visible.
-
-STRIP_CODE_COMMENTS = YES
-
-# If the REFERENCED_BY_RELATION tag is set to YES (the default)
-# then for each documented function all documented
-# functions referencing it will be listed.
-
-REFERENCED_BY_RELATION = YES
-
-# If the REFERENCES_RELATION tag is set to YES (the default)
-# then for each documented function all documented entities
-# called/used by that function will be listed.
-
-REFERENCES_RELATION = YES
-
-# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
-# will generate a verbatim copy of the header file for each class for
-# which an include is specified. Set to NO to disable this.
-
-VERBATIM_HEADERS = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
-# of all compounds will be generated. Enable this if the project
-# contains a lot of classes, structs, unions or interfaces.
-
-ALPHABETICAL_INDEX = NO
-
-# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
-# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
-# in which this list will be split (can be a number in the range [1..20])
-
-COLS_IN_ALPHA_INDEX = 5
-
-# In case all classes in a project start with a common prefix, all
-# classes will be put under the same header in the alphabetical index.
-# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
-# should be ignored while generating the index headers.
-
-IGNORE_PREFIX =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
-# generate HTML output.
-
-GENERATE_HTML = YES
-
-# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `html' will be used as the default path.
-
-HTML_OUTPUT = html
-
-# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
-# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
-# doxygen will generate files with .html extension.
-
-HTML_FILE_EXTENSION = .html
-
-# The HTML_HEADER tag can be used to specify a personal HTML header for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard header.
-
-HTML_HEADER = header.html
-
-# The HTML_FOOTER tag can be used to specify a personal HTML footer for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard footer.
-
-HTML_FOOTER =
-
-# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
-# style sheet that is used by each HTML page. It can be used to
-# fine-tune the look of the HTML output. If the tag is left blank doxygen
-# will generate a default style sheet. Note that doxygen will try to copy
-# the style sheet file to the HTML output directory, so don't put your own
-# stylesheet in the HTML output directory as well, or it will be erased!
-
-HTML_STYLESHEET =
-
-# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
-# files or namespaces will be aligned in HTML using tables. If set to
-# NO a bullet list will be used.
-
-HTML_ALIGN_MEMBERS = YES
-
-# If the GENERATE_HTMLHELP tag is set to YES, additional index files
-# will be generated that can be used as input for tools like the
-# Microsoft HTML help workshop to generate a compressed HTML help file (.chm)
-# of the generated HTML documentation.
-
-GENERATE_HTMLHELP = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
-# be used to specify the file name of the resulting .chm file. You
-# can add a path in front of the file if the result should not be
-# written to the html output directory.
-
-CHM_FILE =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
-# be used to specify the location (absolute path including file name) of
-# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
-# the HTML help compiler on the generated index.hhp.
-
-HHC_LOCATION =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
-# controls if a separate .chi index file is generated (YES) or that
-# it should be included in the master .chm file (NO).
-
-GENERATE_CHI = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
-# controls whether a binary table of contents is generated (YES) or a
-# normal table of contents (NO) in the .chm file.
-
-BINARY_TOC = NO
-
-# The TOC_EXPAND flag can be set to YES to add extra items for group members
-# to the contents of the HTML help documentation and to the tree view.
-
-TOC_EXPAND = NO
-
-# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
-# top of each HTML page. The value NO (the default) enables the index and
-# the value YES disables it.
-
-DISABLE_INDEX = NO
-
-# This tag can be used to set the number of enum values (range [1..20])
-# that doxygen will group on one line in the generated HTML documentation.
-
-ENUM_VALUES_PER_LINE = 4
-
-# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
-# generated containing a tree-like index structure (just like the one that
-# is generated for HTML Help). For this to work a browser that supports
-# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+,
-# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are
-# probably better off using the HTML help feature.
-
-GENERATE_TREEVIEW = NO
-
-# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
-# used to set the initial width (in pixels) of the frame in which the tree
-# is shown.
-
-TREEVIEW_WIDTH = 250
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
-# generate Latex output.
-
-GENERATE_LATEX = NO
-
-# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `latex' will be used as the default path.
-
-LATEX_OUTPUT = latex
-
-# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
-# invoked. If left blank `latex' will be used as the default command name.
-
-LATEX_CMD_NAME = latex
-
-# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
-# generate index for LaTeX. If left blank `makeindex' will be used as the
-# default command name.
-
-MAKEINDEX_CMD_NAME = makeindex
-
-# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
-# LaTeX documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_LATEX = NO
-
-# The PAPER_TYPE tag can be used to set the paper type that is used
-# by the printer. Possible values are: a4, a4wide, letter, legal and
-# executive. If left blank a4wide will be used.
-
-PAPER_TYPE = a4wide
-
-# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
-# packages that should be included in the LaTeX output.
-
-EXTRA_PACKAGES =
-
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
-# the generated latex document. The header should contain everything until
-# the first chapter. If it is left blank doxygen will generate a
-# standard header. Notice: only use this tag if you know what you are doing!
-
-LATEX_HEADER =
-
-# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
-# is prepared for conversion to pdf (using ps2pdf). The pdf file will
-# contain links (just like the HTML output) instead of page references
-# This makes the output suitable for online browsing using a pdf viewer.
-
-PDF_HYPERLINKS = NO
-
-# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
-# plain latex in the generated Makefile. Set this option to YES to get a
-# higher quality PDF documentation.
-
-USE_PDFLATEX = NO
-
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
-# command to the generated LaTeX files. This will instruct LaTeX to keep
-# running if errors occur, instead of asking the user for help.
-# This option is also used when generating formulas in HTML.
-
-LATEX_BATCHMODE = NO
-
-# If LATEX_HIDE_INDICES is set to YES then doxygen will not
-# include the index chapters (such as File Index, Compound Index, etc.)
-# in the output.
-
-LATEX_HIDE_INDICES = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
-# The RTF output is optimized for Word 97 and may not look very pretty with
-# other RTF readers or editors.
-
-GENERATE_RTF = NO
-
-# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `rtf' will be used as the default path.
-
-RTF_OUTPUT = rtf
-
-# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
-# RTF documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_RTF = NO
-
-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
-# will contain hyperlink fields. The RTF file will
-# contain links (just like the HTML output) instead of page references.
-# This makes the output suitable for online browsing using WORD or other
-# programs which support those fields.
-# Note: wordpad (write) and others do not support links.
-
-RTF_HYPERLINKS = NO
-
-# Load stylesheet definitions from file. Syntax is similar to doxygen's
-# config file, i.e. a series of assignments. You only have to provide
-# replacements, missing definitions are set to their default value.
-
-RTF_STYLESHEET_FILE =
-
-# Set optional variables used in the generation of an rtf document.
-# Syntax is similar to doxygen's config file.
-
-RTF_EXTENSIONS_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
-# generate man pages
-
-GENERATE_MAN = NO
-
-# The MAN_OUTPUT tag is used to specify where the man pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `man' will be used as the default path.
-
-MAN_OUTPUT = man
-
-# The MAN_EXTENSION tag determines the extension that is added to
-# the generated man pages (default is the subroutine's section .3)
-
-MAN_EXTENSION = .3
-
-# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
-# then it will generate one additional man file for each entity
-# documented in the real man page(s). These additional files
-# only source the real man page, but without them the man command
-# would be unable to find the correct page. The default is NO.
-
-MAN_LINKS = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_XML tag is set to YES Doxygen will
-# generate an XML file that captures the structure of
-# the code including all documentation.
-
-GENERATE_XML = NO
-
-# The XML_OUTPUT tag is used to specify where the XML pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `xml' will be used as the default path.
-
-XML_OUTPUT = xml
-
-# The XML_SCHEMA tag can be used to specify an XML schema,
-# which can be used by a validating XML parser to check the
-# syntax of the XML files.
-
-XML_SCHEMA =
-
-# The XML_DTD tag can be used to specify an XML DTD,
-# which can be used by a validating XML parser to check the
-# syntax of the XML files.
-
-XML_DTD =
-
-# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
-# dump the program listings (including syntax highlighting
-# and cross-referencing information) to the XML output. Note that
-# enabling this will significantly increase the size of the XML output.
-
-XML_PROGRAMLISTING = YES
-
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
-# generate an AutoGen Definitions (see autogen.sf.net) file
-# that captures the structure of the code including all
-# documentation. Note that this feature is still experimental
-# and incomplete at the moment.
-
-GENERATE_AUTOGEN_DEF = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_PERLMOD tag is set to YES Doxygen will
-# generate a Perl module file that captures the structure of
-# the code including all documentation. Note that this
-# feature is still experimental and incomplete at the
-# moment.
-
-GENERATE_PERLMOD = NO
-
-# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
-# the necessary Makefile rules, Perl scripts and LaTeX code to be able
-# to generate PDF and DVI output from the Perl module output.
-
-PERLMOD_LATEX = NO
-
-# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
-# nicely formatted so it can be parsed by a human reader. This is useful
-# if you want to understand what is going on. On the other hand, if this
-# tag is set to NO the size of the Perl module output will be much smaller
-# and Perl will parse it just the same.
-
-PERLMOD_PRETTY = YES
-
-# The names of the make variables in the generated doxyrules.make file
-# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
-# This is useful so different doxyrules.make files included by the same
-# Makefile don't overwrite each other's variables.
-
-PERLMOD_MAKEVAR_PREFIX =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
-# evaluate all C-preprocessor directives found in the sources and include
-# files.
-
-ENABLE_PREPROCESSING = YES
-
-# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
-# names in the source code. If set to NO (the default) only conditional
-# compilation will be performed. Macro expansion can be done in a controlled
-# way by setting EXPAND_ONLY_PREDEF to YES.
-
-MACRO_EXPANSION = NO
-
-# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
-# then the macro expansion is limited to the macros specified with the
-# PREDEFINED and EXPAND_AS_PREDEFINED tags.
-
-EXPAND_ONLY_PREDEF = NO
-
-# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
-# in the INCLUDE_PATH (see below) will be search if a #include is found.
-
-SEARCH_INCLUDES = YES
-
-# The INCLUDE_PATH tag can be used to specify one or more directories that
-# contain include files that are not input files but should be processed by
-# the preprocessor.
-
-INCLUDE_PATH = ../include
-
-# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
-# patterns (like *.h and *.hpp) to filter out the header-files in the
-# directories. If left blank, the patterns specified with FILE_PATTERNS will
-# be used.
-
-INCLUDE_FILE_PATTERNS =
-
-# The PREDEFINED tag can be used to specify one or more macro names that
-# are defined before the preprocessor is started (similar to the -D option of
-# gcc). The argument of the tag is a list of macros of the form: name
-# or name=definition (no spaces). If the definition and the = are
-# omitted =1 is assumed.
-
-PREDEFINED =
-
-# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
-# this tag can be used to specify a list of macro names that should be expanded.
-# The macro definition that is found in the sources will be used.
-# Use the PREDEFINED tag if you want to use a different macro definition.
-
-EXPAND_AS_DEFINED =
-
-# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
-# doxygen's preprocessor will remove all function-like macros that are alone
-# on a line, have an all uppercase name, and do not end with a semicolon. Such
-# function macros are typically used for boiler-plate code, and will confuse the
-# parser if not removed.
-
-SKIP_FUNCTION_MACROS = YES
-
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references
-#---------------------------------------------------------------------------
-
-# The TAGFILES option can be used to specify one or more tagfiles.
-# Optionally an initial location of the external documentation
-# can be added for each tagfile. The format of a tag file without
-# this location is as follows:
-# TAGFILES = file1 file2 ...
-# Adding location for the tag files is done as follows:
-# TAGFILES = file1=loc1 "file2 = loc2" ...
-# where "loc1" and "loc2" can be relative or absolute paths or
-# URLs. If a location is present for each tag, the installdox tool
-# does not have to be run to correct the links.
-# Note that each tag file must have a unique name
-# (where the name does NOT include the path)
-# If a tag file is not located in the directory in which doxygen
-# is run, you must also specify the path to the tagfile here.
-
-TAGFILES =
-
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create
-# a tag file that is based on the input files it reads.
-
-GENERATE_TAGFILE =
-
-# If the ALLEXTERNALS tag is set to YES all external classes will be listed
-# in the class index. If set to NO only the inherited external classes
-# will be listed.
-
-ALLEXTERNALS = NO
-
-# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
-# in the modules index. If set to NO, only the current project's groups will
-# be listed.
-
-EXTERNAL_GROUPS = NO
-
-# The PERL_PATH should be the absolute path and name of the perl script
-# interpreter (i.e. the result of `which perl').
-
-PERL_PATH = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
-# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base or
-# super classes. Setting the tag to NO turns the diagrams off. Note that this
-# option is superseded by the HAVE_DOT option below. This is only a fallback. It is
-# recommended to install and use dot, since it yields more powerful graphs.
-
-CLASS_DIAGRAMS = YES
-
-# If set to YES, the inheritance and collaboration graphs will hide
-# inheritance and usage relations if the target is undocumented
-# or is not a class.
-
-HIDE_UNDOC_RELATIONS = YES
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz, a graph visualization
-# toolkit from AT&T and Lucent Bell Labs. The other options in this section
-# have no effect if this option is set to NO (the default)
-
-HAVE_DOT = NO
-
-# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect inheritance relations. Setting this tag to YES will force the
-# the CLASS_DIAGRAMS tag to NO.
-
-CLASS_GRAPH = YES
-
-# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect implementation dependencies (inheritance, containment, and
-# class references variables) of the class with other documented classes.
-
-COLLABORATION_GRAPH = YES
-
-# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
-# collaboration diagrams in a style similar to the OMG's Unified Modeling
-# Language.
-
-UML_LOOK = NO
-
-# If set to YES, the inheritance and collaboration graphs will show the
-# relations between templates and their instances.
-
-TEMPLATE_RELATIONS = NO
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
-# tags are set to YES then doxygen will generate a graph for each documented
-# file showing the direct and indirect include dependencies of the file with
-# other documented files.
-
-INCLUDE_GRAPH = YES
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
-# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
-# documented header file showing the documented files that directly or
-# indirectly include this file.
-
-INCLUDED_BY_GRAPH = YES
-
-# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will
-# generate a call dependency graph for every global function or class method.
-# Note that enabling this option will significantly increase the time of a run.
-# So in most cases it will be better to enable call graphs for selected
-# functions only using the \callgraph command.
-
-CALL_GRAPH = NO
-
-# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
-# will graphical hierarchy of all classes instead of a textual one.
-
-GRAPHICAL_HIERARCHY = YES
-
-# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
-# generated by dot. Possible values are png, jpg, or gif
-# If left blank png will be used.
-
-DOT_IMAGE_FORMAT = png
-
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found on the path.
-
-DOT_PATH =
-
-# The DOTFILE_DIRS tag can be used to specify one or more directories that
-# contain dot files that are included in the documentation (see the
-# \dotfile command).
-
-DOTFILE_DIRS =
-
-# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width
-# (in pixels) of the graphs generated by dot. If a graph becomes larger than
-# this value, doxygen will try to truncate the graph, so that it fits within
-# the specified constraint. Beware that most browsers cannot cope with very
-# large images.
-
-MAX_DOT_GRAPH_WIDTH = 1024
-
-# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height
-# (in pixels) of the graphs generated by dot. If a graph becomes larger than
-# this value, doxygen will try to truncate the graph, so that it fits within
-# the specified constraint. Beware that most browsers cannot cope with very
-# large images.
-
-MAX_DOT_GRAPH_HEIGHT = 1024
-
-# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
-# graphs generated by dot. A depth value of 3 means that only nodes reachable
-# from the root by following a path via at most 3 edges will be shown. Nodes that
-# lay further from the root node will be omitted. Note that setting this option to
-# 1 or 2 may greatly reduce the computation time needed for large code bases. Also
-# note that a graph may be further truncated if the graph's image dimensions are
-# not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH and MAX_DOT_GRAPH_HEIGHT).
-# If 0 is used for the depth value (the default), the graph is not depth-constrained.
-
-MAX_DOT_GRAPH_DEPTH = 0
-
-# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
-# generate a legend page explaining the meaning of the various boxes and
-# arrows in the dot generated graphs.
-
-GENERATE_LEGEND = YES
-
-# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
-# remove the intermediate dot files that are used to generate
-# the various graphs.
-
-DOT_CLEANUP = YES
-
-#---------------------------------------------------------------------------
-# Configuration::additions related to the search engine
-#---------------------------------------------------------------------------
-
-# The SEARCHENGINE tag specifies whether or not a search engine should be
-# used. If set to NO the values of all tags below this one will be ignored.
-
-SEARCHENGINE = NO
diff --git a/doxygen/core_subset.doxy b/doxygen/core_subset.doxy
deleted file mode 100644
index 35faf565dc..0000000000
--- a/doxygen/core_subset.doxy
+++ /dev/null
@@ -1,226 +0,0 @@
-# Doxyfile 0.1
-
-#---------------------------------------------------------------------------
-# General configuration options
-#---------------------------------------------------------------------------
-PROJECT_NAME = "Mesa Main"
-PROJECT_NUMBER =
-OUTPUT_DIRECTORY =
-OUTPUT_LANGUAGE = English
-EXTRACT_ALL = NO
-EXTRACT_PRIVATE = NO
-EXTRACT_STATIC = YES
-EXTRACT_LOCAL_CLASSES = YES
-HIDE_UNDOC_MEMBERS = NO
-HIDE_UNDOC_CLASSES = NO
-BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = YES
-ALWAYS_DETAILED_SEC = NO
-INLINE_INHERITED_MEMB = NO
-FULL_PATH_NAMES = NO
-STRIP_FROM_PATH =
-INTERNAL_DOCS = YES
-STRIP_CODE_COMMENTS = YES
-CASE_SENSE_NAMES = YES
-SHORT_NAMES = NO
-HIDE_SCOPE_NAMES = NO
-VERBATIM_HEADERS = YES
-SHOW_INCLUDE_FILES = YES
-JAVADOC_AUTOBRIEF = NO
-INHERIT_DOCS = YES
-INLINE_INFO = YES
-SORT_MEMBER_DOCS = NO
-DISTRIBUTE_GROUP_DOC = NO
-TAB_SIZE = 8
-GENERATE_TODOLIST = YES
-GENERATE_TESTLIST = YES
-GENERATE_BUGLIST = YES
-ALIASES =
-ENABLED_SECTIONS = subset
-MAX_INITIALIZER_LINES = 30
-OPTIMIZE_OUTPUT_FOR_C = NO
-SHOW_USED_FILES = YES
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-QUIET = YES
-WARNINGS = YES
-WARN_IF_UNDOCUMENTED = NO
-WARN_FORMAT =
-WARN_LOGFILE =
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-INPUT = ../src/mesa/main/
-FILE_PATTERNS = \
- accum.h \
- attrib.h \
- blend.[ch] \
- buffers.[ch] \
- dd.h \
- debug.h \
- depth.h \
- dlist.h \
- context.[ch] \
- config.h \
- colormac.h \
- colortab.h \
- enable.h \
- enums.h \
- eval.h \
- extensions.h \
- feedback.[ch] \
- fog.h \
- get.h \
- glheader.h \
- glthread.h \
- hash.[ch] \
- hint.h \
- histogram.h \
- image.[ch] \
- imports.[ch] \
- lines.[ch] \
- light.h \
- matrix.[ch] \
- macros.h \
- mmath.h \
- mtypes.h \
- pixel.h \
- points.[ch] \
- polygon.[ch] \
- rastpos.[ch] \
- simple_list.h \
- state.[ch] \
- stencil.[ch] \
- subset_*.c \
- texformat.h \
- teximage.h \
- texstate.h \
- texstore.h \
- texobj.[ch] \
- texutil_tmp.h \
- varray.h
-RECURSIVE = NO
-EXCLUDE =
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-EXAMPLE_RECURSIVE = NO
-IMAGE_PATH =
-INPUT_FILTER =
-FILTER_SOURCE_FILES = NO
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-SOURCE_BROWSER = YES
-INLINE_SOURCES = NO
-REFERENCED_BY_RELATION = YES
-REFERENCES_RELATION = YES
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-ALPHABETICAL_INDEX = NO
-COLS_IN_ALPHA_INDEX = 5
-IGNORE_PREFIX =
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-GENERATE_HTML = YES
-HTML_OUTPUT = core_subset
-HTML_HEADER = header_subset.html
-HTML_FOOTER =
-HTML_STYLESHEET =
-HTML_ALIGN_MEMBERS = YES
-GENERATE_HTMLHELP = NO
-GENERATE_CHI = NO
-BINARY_TOC = NO
-TOC_EXPAND = NO
-DISABLE_INDEX = NO
-ENUM_VALUES_PER_LINE = 4
-GENERATE_TREEVIEW = NO
-TREEVIEW_WIDTH = 250
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-GENERATE_LATEX = NO
-LATEX_OUTPUT =
-COMPACT_LATEX = NO
-PAPER_TYPE = a4wide
-EXTRA_PACKAGES =
-LATEX_HEADER =
-PDF_HYPERLINKS = NO
-USE_PDFLATEX = NO
-LATEX_BATCHMODE = NO
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-GENERATE_RTF = NO
-RTF_OUTPUT =
-COMPACT_RTF = NO
-RTF_HYPERLINKS = NO
-RTF_STYLESHEET_FILE =
-RTF_EXTENSIONS_FILE =
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-GENERATE_MAN = NO
-MAN_OUTPUT =
-MAN_EXTENSION =
-MAN_LINKS = NO
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-GENERATE_XML = NO
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-GENERATE_AUTOGEN_DEF = NO
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = NO
-EXPAND_ONLY_PREDEF = NO
-SEARCH_INCLUDES = YES
-INCLUDE_PATH = ../include/
-INCLUDE_FILE_PATTERNS =
-PREDEFINED =
-EXPAND_AS_DEFINED =
-SKIP_FUNCTION_MACROS = YES
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-TAGFILES = \
- math_subset.tag=../math_subset \
- miniglx.tag=../miniglx
-GENERATE_TAGFILE = core_subset.tag
-ALLEXTERNALS = NO
-PERL_PATH =
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-CLASS_DIAGRAMS = NO
-HAVE_DOT = NO
-CLASS_GRAPH = YES
-COLLABORATION_GRAPH = YES
-TEMPLATE_RELATIONS = YES
-HIDE_UNDOC_RELATIONS = YES
-INCLUDE_GRAPH = YES
-INCLUDED_BY_GRAPH = YES
-GRAPHICAL_HIERARCHY = YES
-DOT_PATH =
-DOTFILE_DIRS =
-MAX_DOT_GRAPH_WIDTH = 1024
-MAX_DOT_GRAPH_HEIGHT = 1024
-GENERATE_LEGEND = YES
-DOT_CLEANUP = YES
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
-#---------------------------------------------------------------------------
-SEARCHENGINE = NO
-CGI_NAME =
-CGI_URL =
-DOC_URL =
-DOC_ABSPATH =
-BIN_ABSPATH =
-EXT_DOC_PATHS =
diff --git a/doxygen/doxy.bat b/doxygen/doxy.bat
deleted file mode 100644
index 331b931928..0000000000
--- a/doxygen/doxy.bat
+++ /dev/null
@@ -1,19 +0,0 @@
-doxygen tnl_dd.doxy
-doxygen vbo.doxy
-doxygen math.doxy
-doxygen swrast.doxy
-doxygen swrast_setup.doxy
-doxygen tnl.doxy
-doxygen core.doxy
-doxygen glapi.doxy
-doxygen shader.doxy
-
-echo Building again, to resolve tags
-doxygen tnl_dd.doxy
-doxygen vbo.doxy
-doxygen math.doxy
-doxygen swrast.doxy
-doxygen swrast_setup.doxy
-doxygen tnl.doxy
-doxygen glapi.doxy
-doxygen shader.doxy
diff --git a/doxygen/gallium.doc b/doxygen/gallium.doc
deleted file mode 100644
index f0ff36075a..0000000000
--- a/doxygen/gallium.doc
+++ /dev/null
@@ -1,322 +0,0 @@
-/** \mainpage
-
- \section about About
-
- Gallium3D is <a href="http://www.tungstengraphics.com/">Tungsten Graphics</a>'
- new architecture for building 3D graphics drivers. Initially
- supporting Mesa and Linux graphics drivers, Gallium3D is designed to allow
- portability to all major operating systems and graphics interfaces.
-
- Compared to existing Linux graphics drivers, Gallium3D will:
-
- - Make drivers smaller and simpler.
- Current DRI drivers are rather complicated. They're large, contain
- duplicated code and are burdened with implementing many concepts tightly
- tied to the OpenGL 1.x/2.x API.
-
- - Model modern graphics hardware.
- The new driver architecture is an abstraction of modern graphics hardware,
- rather than an OpenGL->hardware translator. The new driver interface will
- assume the presence of programmable vertex/fragment shaders and flexible
- memory objects.
-
- - Support multiple graphics APIs.
- The OpenGL 3.0 API will be very different from OpenGL 1.x/2.x. We'd like a
- driver model that is API-neutral so that it's not tied to a specific
- graphics API.
-
- \section contents Contents
-
- - \ref overview
-
- - \ref statetracker
-
- - Pipe drivers:
- - \ref softpipe
- - \ref i915g
- - Cell driver (cell_context.h, cell_winsys.h)
- - \ref failover
-
- - Winsys drivers:
- - X11 winsys driver (xm_winsys.c)
- - Intel DRI winsys driver (intel_context.h, intel_winsys_pipe.c)
-
- - Ancillary Modules:
- - \ref draw
- - \ref tgsi
- - LLVM TGSI backend (gallivm.h)
-
- - \ref callgraph
-
- \section external External documentation
-
- - <a href="http://www.tungstengraphics.com/gallium3D.htm">Gallium3D's Architectural Overview</a>
- - <a href="http://www.tungstengraphics.com/wiki/index.php/Gallium3D">Technical Overview</a>
- - <a href="http://www.tungstengraphics.com/wiki/files/gallium3d-xds2007.pdf">Gallium3D talk from XDS 2007</a>
-
-*/
-
-/** \page overview Overview
-
- The public interface of a Gallium3D driver is described by the p_context.h
- header file. The pipe_context structure is an abstract base class with
- methods for:
-
- - Setting rendering state (texture sampler state, vertex array info, drawing surfaces, etc.)
-
- - Setting shader state, using the TGSI binary shader representation.
-
- - Vertex array and indexed vertex array drawing.
-
- - Region (memory) management for textures, renderbuffers, vertex buffers, etc.
-
- - Hardware queries (number of texture units, max texture size, etc).
-
- The p_state.h header defines all the state objects (such as polygon
- rasterization options, blend modes, etc) and resources (drawing surfaces,
- textures, memory buffers). The pipe interface uses "constant state" objects.
- That is, state objects are created once and are immutable. State objects are
- put into effect by binding them. This allows Gallium3D drivers to create
- corresponding hardware state objects which can be quickly handled.
-
- The p_defines.h header defines numerous constants and tokens (blend modes,
- texture wrap modes, surface formats, etc.
-
- The p_winsys.h header defines the window system and OS facilities which
- Gallium3D drivers rely upon. For example, memory allocation is typically a
- service the OS provides while window size/position information is provided by
- the window system. Pipe drivers use the winsys interface to handle these
- things.
-
- By abstracting OS and window system services, pipe drivers are portable to
- other platforms (e.g. embedded devices).
-*/
-
-/** \page statetracker The State Tracker
-
- The state tracker is the piece which interfaces core Mesa to the Gallium3D
- interface. It's responsible for translating Mesa state (blend modes, texture
- state, etc) and drawing commands (like glDrawArrays and glDrawPixels) into
- pipe objects and operations.
-
- Traditional fixed-function OpenGL components (such as lighting and texture
- combining) are implemented with shaders. OpenGL commands such as glDrawPixels
- are translated into textured quadrilateral rendering. Basically, any
- rendering operation that isn't directly supported by modern graphics hardware
- is translated into a hardware-friendly form.
-
- Future state trackers will be created for OpenGL 3.0 and OpenGL-ES 2.x.
-*/
-
-/** \page softpipe Softpipe Driver
-
- The softpipe driver is a software implementation of the Gallium3D interface.
- It will be used as a reference implementation and as a fallback driver when a
- hardware driver isn't available. The softpipe driver will make extensive use
- of run-time code generation to efficiently execute vertex, fragment and
- rasterization operations.
-
- \sa sp_winsys.h
-*/
-
-/** \page i915g i915 Driver
-
- The i915 Gallium3D Driver is an initial hardware driver implementation within
- the Gallium3D driver architecture. We expect that once complete this driver
- will have equivalent functionality and performance to the current Mesa
- i915tex driver, but from a much smaller codebase.
-
- \sa i915_context.h
- \sa i915_winsys.h
-*/
-
-/** \page failover Failover Module
-
- The failover module acts as a selector between a hardware driver and the
- softpipe driver. When the hardware can't implement a particular rendering
- operation, the failover module will pass the request to the softpipe driver.
- This is a different solution to the "software fallbacks" scheme of previous
- Mesa drivers.
-
- \sa fo_winsys.h
-*/
-
-/** \page draw Draw Module
- The Draw module provides point/line/polygon rendering services such as
- vertex transformation, polygon culling and clipping. It will be used by
- drivers for hardware which lacks vertex transformation (such as the
- i915/i945). It may also be instantiated and used directly by the state
- tracker to implement some API functionality that doesn't map well to hardware
- capabilities.
-
- The interface of this module corresponds closely to the subset of the Gallium
- Driver Interface which is relevent to these steps in the pipeline. Specifically
- there are calls for:
-
- - Vertex shader constant state objects
- - Vertex buffer binding
- - Vertex element layout (vertex fetch) constant state objects
- - DrawArrays and DrawElements
- - Rasterizer constant state objects.
-
- The Draw module is effectively the part of \ref softpipe which is concerned with
- vertex processing, split off into a separate module so that it can be reused
- by drivers for rasterization-only hardware. As such it is also instantiated
- by the \ref i915g driver.
-
- Additionally, there are cases in the Mesa OpenGL state_tracker where it is
- required to obtain transformed vertices and yet it is anticipated that using
- hardware transformation even if available would reduce performance, usually
- because the setup costs or latency are prohibitive. For this reason the Mesa
- state_tracker also instantiates a copy of this module.
-
- \sa draw_context.h
-*/
-
-/** \page tgsi TGSI
-
- The TGSI module provides a universal representation of shaders and
- CPU-based execution of shaders. All Mesa vertex/fragment programs and shaders
- are translated into the TGSI representation before being passed to the
- driver. In turn, the driver will convert the TGSI instructions into
- GPU-specific instructions. For hardware that lacks vertex or fragment shader
- support, the TGSI's executor can be used. The TGSI executor includes support
- for SSE code generation. Support for other processors (such as Cell) will be
- added in the future.
-
- \sa tgsi_parse.h
- \sa <a href="http://www.tungstengraphics.com/wiki/files/tgsi.pdf">TGSI specification</a>
-*/
-
-/** \page callgraph Glxgears callgraph example
-
- Below is a call graph of the glxgears application together with the Gallium3D's softpipe reference driver.
-
- \htmlonly
- The functions in the graph below are clickable.
- \endhtmlonly
-
- \dot
-digraph {
- graph [fontname=Arial, fontsize=10];
- node [fontcolor=white, fontname=Arial, style=filled, fontsize=10, shape=box];
- edge [fontname=Arial, fontsize=10];
- 1 [color="#ff0000", URL="\ref main", label="main\n100.00% (0.68%)\n0"];
- 1 -> 2 [color="#fe0400", fontcolor="#fe0400", label="99.32%\n1433"];
- 2 [color="#fe0400", URL="\ref do_draw", label="do_draw\n99.32% (0.00%)\n1433"];
- 2 -> 4 [color="#fa1201", fontcolor="#fa1201", label="96.67%\n4298"];
- 2 -> 39 [color="#0d4f76", fontcolor="#0d4f76", label="2.45%\n1433"];
- 3 [color="#fa1201", URL="\ref execute_list", label="execute_list\n96.67% (0.00%)\n4299"];
- 3 -> 5 [color="#f91301", fontcolor="#f91301", label="96.38%\n17196"];
- 4 [color="#fa1201", URL="\ref _mesa_CallList", label="_mesa_CallList\n96.67% (0.00%)\n4299"];
- 4 -> 3 [color="#fa1201", fontcolor="#fa1201", label="96.67%\n4299"];
- 5 [color="#f91301", URL="\ref vbo_save_playback_vertex_list", label="vbo_save_playback_vertex_list\n96.38% (0.10%)\n17196"];
- 5 -> 6 [color="#f91501", fontcolor="#f91501", label="96.09%\n17196"];
- 6 [color="#f91501", URL="\ref st_draw_vbo", label="st_draw_vbo\n96.09% (0.00%)\n17196"];
- 6 -> 10 [color="#ec3f03", fontcolor="#ec3f03", label="87.48%\n30093"];
- 6 -> 33 [color="#0d5f78", fontcolor="#0d5f78", label="3.72%\n34392"];
- 6 -> 34 [color="#0d5f78", fontcolor="#0d5f78", label="3.72%\n34392"];
- 6 -> 47 [color="#0d3a74", fontcolor="#0d3a74", label="1.17%\n17196"];
- 7 [color="#f71d01", URL="\ref draw_do_flush", label="draw_do_flush\n94.52% (0.20%)\n101744"];
- 7 -> 13 [color="#e74e04", fontcolor="#e74e04", label="84.25%\n1146400"];
- 7 -> 8 [color="#0d7d6c", fontcolor="#0d7d6c", label="8.32%\n114640"];
- 7 -> 46 [color="#0d4175", fontcolor="#0d4175", label="1.57%\n97444"];
- 8 [color="#f32702", URL="\ref clip_tri", label="clip_tri\n92.37% (0.49%)\n1261040"];
- 8 -> 9 [color="#f32a02", fontcolor="#f32a02", label="91.88%\n1261040"];
- 9 [color="#f32a02", URL="\ref cull_tri", label="cull_tri\n91.88% (0.20%)\n1261040"];
- 9 -> 15 [color="#e35d04", fontcolor="#e35d04", label="81.12%\n560810"];
- 9 -> 12 [color="#0d805e", fontcolor="#0d805e", label="10.57%\n560810"];
- 10 [color="#ec3f03", URL="\ref softpipe_draw_arrays", label="softpipe_draw_arrays\n87.48% (0.00%)\n30093"];
- 10 -> 11 [color="#ec3f03", fontcolor="#ec3f03", label="87.48%\n30093"];
- 11 [color="#ec3f03", URL="\ref softpipe_draw_elements", label="softpipe_draw_elements\n87.48% (0.10%)\n30093"];
- 11 -> 17 [color="#cf9507", fontcolor="#cf9507", label="67.61%\n30093"];
- 11 -> 27 [color="#0d844f", fontcolor="#0d844f", label="13.01%\n120372"];
- 11 -> 36 [color="#0d5a77", fontcolor="#0d5a77", label="3.33%\n30093"];
- 11 -> 23 [color="#0d5977", fontcolor="#0d5977", label="3.23%\n30093"];
- 12 [color="#ea4703", URL="\ref flush_spans", label="flush_spans\n85.91% (4.60%)\n4586176"];
- 12 -> 14 [color="#e35c04", fontcolor="#e35c04", label="81.31%\n15910811"];
- 13 [color="#e74e04", URL="\ref flatshade_tri", label="flatshade_tri\n84.25% (0.29%)\n1146400"];
- 13 -> 8 [color="#e75004", fontcolor="#e75004", label="83.95%\n1146400"];
- 14 [color="#e35c04", URL="\ref shade_quad", label="shade_quad\n81.31% (7.73%)\n15910811"];
- 14 -> 21 [color="#c0bb09", fontcolor="#c0bb09", label="57.24%\n13903725"];
- 14 -> 26 [color="#0c883c", fontcolor="#0c883c", label="16.24%\n15910811"];
- 15 [color="#e35d04", URL="\ref setup_tri", label="setup_tri\n81.12% (1.47%)\n560810"];
- 15 -> 16 [color="#e06505", fontcolor="#e06505", label="79.26%\n1121620"];
- 16 [color="#e06505", URL="\ref subtriangle", label="subtriangle\n79.26% (3.91%)\n1121620"];
- 16 -> 12 [color="#da7606", fontcolor="#da7606", label="75.34%\n4025366"];
- 17 [color="#cf9507", URL="\ref draw_arrays", label="draw_arrays\n67.61% (0.00%)\n30093"];
- 17 -> 19 [color="#cf9607", fontcolor="#cf9607", label="67.42%\n630520"];
- 18 [color="#cf9607", URL="\ref do_ef_triangle", label="do_ef_triangle\n67.42% (0.49%)\n1261040"];
- 18 -> 20 [color="#ce9807", fontcolor="#ce9807", label="66.83%\n1261040"];
- 19 [color="#cf9607", URL="\ref do_quad", label="do_quad\n67.42% (0.00%)\n630520"];
- 19 -> 18 [color="#cf9607", fontcolor="#cf9607", label="67.42%\n1261040"];
- 20 [color="#ce9807", URL="\ref get_queued_prim", label="get_queued_prim\n66.83% (0.10%)\n1261040"];
- 20 -> 7 [color="#cd9907", fontcolor="#cd9907", label="66.54%\n71650"];
- 21 [color="#c0bb09", URL="\ref depth_test_quad", label="depth_test_quad\n57.24% (1.08%)\n13903725"];
- 21 -> 22 [color="#40a00b", fontcolor="#40a00b", label="34.54%\n13074127"];
- 21 -> 24 [color="#0c8f1e", fontcolor="#0c8f1e", label="21.62%\n13903725"];
- 22 [color="#40a00b", URL="\ref output_quad", label="output_quad\n34.54% (3.91%)\n13074127"];
- 22 -> 25 [color="#0c8c2b", fontcolor="#0c8c2b", label="19.28%\n13074127"];
- 22 -> 28 [color="#0d8159", fontcolor="#0d8159", label="11.35%\n7223435"];
- 23 [color="#1c970c", URL="\ref draw_flush", label="draw_flush\n27.98% (0.00%)\n257944"];
- 23 -> 7 [color="#1c970c", fontcolor="#1c970c", label="27.98%\n30093"];
- 24 [color="#0c8f1e", URL="\ref sp_depth_test_quad", label="sp_depth_test_quad\n21.62% (16.14%)\n13903725"];
- 24 -> 37 [color="#0d5977", fontcolor="#0d5977", label="3.23%\n13903725"];
- 24 -> 44 [color="#0d4c76", fontcolor="#0d4c76", label="2.25%\n13903725"];
- 25 [color="#0c8c2b", URL="\ref write_quad_f_swz", label="write_quad_f_swz\n19.28% (16.14%)\n13074127"];
- 25 -> 38 [color="#0d5877", fontcolor="#0d5877", label="3.13%\n26148254"];
- 26 [color="#0c883a", URL="\ref tgsi_exec_machine_init", label="tgsi_exec_machine_init\n16.73% (10.27%)\n16326381"];
- 26 -> 30 [color="#0d6178", fontcolor="#0d6178", label="3.91%\n16326381"];
- 26 -> 45 [color="#0d4475", fontcolor="#0d4475", label="1.76%\n16326381"];
- 26 -> 52 [color="#0d3174", fontcolor="#0d3174", label="0.78%\n16326381"];
- 27 [color="#0d844f", URL="\ref draw_set_mapped_vertex_buffer", label="draw_set_mapped_vertex_buffer\n13.01% (0.00%)\n120372"];
- 27 -> 23 [color="#0d844f", fontcolor="#0d844f", label="13.01%\n120372"];
- 28 [color="#0d8159", URL="\ref read_quad_f_swz", label="read_quad_f_swz\n11.35% (5.87%)\n7223435"];
- 28 -> 29 [color="#0d737a", fontcolor="#0d737a", label="5.48%\n14446870"];
- 29 [color="#0d737a", URL="\ref get_row_rgba", label="get_row_rgba\n5.48% (5.48%)\n14446870"];
- 30 [color="#0d6178", URL="\ref tgsi_parse_init", label="tgsi_parse_init\n3.91% (3.52%)\n16326383"];
- 31 [color="#0d5f78", URL="\ref draw_set_vertex_buffer", label="draw_set_vertex_buffer\n3.72% (0.00%)\n34392"];
- 31 -> 23 [color="#0d5f78", fontcolor="#0d5f78", label="3.72%\n34392"];
- 32 [color="#0d5f78", URL="\ref draw_set_vertex_element", label="draw_set_vertex_element\n3.72% (0.00%)\n34392"];
- 32 -> 23 [color="#0d5f78", fontcolor="#0d5f78", label="3.72%\n34392"];
- 33 [color="#0d5f78", URL="\ref softpipe_set_vertex_buffer", label="softpipe_set_vertex_buffer\n3.72% (0.00%)\n34392"];
- 33 -> 31 [color="#0d5f78", fontcolor="#0d5f78", label="3.72%\n34392"];
- 34 [color="#0d5f78", URL="\ref softpipe_set_vertex_element", label="softpipe_set_vertex_element\n3.72% (0.00%)\n34392"];
- 34 -> 32 [color="#0d5f78", fontcolor="#0d5f78", label="3.72%\n34392"];
- 35 [color="#0d5d77", URL="\ref __i686.get_pc_thunk.bx", label="__i686.get_pc_thunk.bx\n3.52% (3.52%)\n0"];
- 36 [color="#0d5a77", URL="\ref draw_set_mapped_constant_buffer", label="draw_set_mapped_constant_buffer\n3.33% (0.10%)\n30093"];
- 36 -> 23 [color="#0d5977", fontcolor="#0d5977", label="3.23%\n30093"];
- 37 [color="#0d5977", URL="\ref s8z24_read_quad_z", label="s8z24_read_quad_z\n3.23% (3.23%)\n13903725"];
- 38 [color="#0d5877", URL="\ref put_row_8R8G8B_ximage", label="put_row_8R8G8B_ximage\n3.13% (3.13%)\n26148254"];
- 39 [color="#0d4f76", URL="\ref _mesa_Clear", label="_mesa_Clear\n2.45% (0.00%)\n1433"];
- 39 -> 40 [color="#0d4f76", fontcolor="#0d4f76", label="2.45%\n1433"];
- 40 [color="#0d4f76", URL="\ref st_clear", label="st_clear\n2.45% (0.00%)\n1433"];
- 40 -> 41 [color="#0d4d76", fontcolor="#0d4d76", label="2.35%\n2866"];
- 41 [color="#0d4d76", URL="\ref xmesa_clear", label="xmesa_clear\n2.35% (0.00%)\n2866"];
- 41 -> 42 [color="#0d4c76", fontcolor="#0d4c76", label="2.25%\n1433"];
- 42 [color="#0d4c76", URL="\ref softpipe_clear", label="softpipe_clear\n2.25% (0.00%)\n1433"];
- 42 -> 43 [color="#0d4c76", fontcolor="#0d4c76", label="2.25%\n1433"];
- 43 [color="#0d4c76", URL="\ref sp_region_fill", label="sp_region_fill\n2.25% (2.25%)\n1433"];
- 44 [color="#0d4c76", URL="\ref s8z24_write_quad_z", label="s8z24_write_quad_z\n2.25% (2.25%)\n13903725"];
- 45 [color="#0d4475", URL="\ref tgsi_parse_free", label="tgsi_parse_free\n1.76% (0.78%)\n16326383"];
- 45 -> 49 [color="#0d3674", fontcolor="#0d3674", label="0.98%\n16326383"];
- 46 [color="#0d4175", URL="\ref draw_vertex_shader_queue_flush", label="draw_vertex_shader_queue_flush\n1.57% (0.49%)\n97444"];
- 46 -> 53 [color="#0d2f74", fontcolor="#0d2f74", label="0.68%\n415570"];
- 46 -> 26 [color="#0d2973", fontcolor="#0d2973", label="0.49%\n415570"];
- 47 [color="#0d3b74", URL="\ref st_validate_state", label="st_validate_state\n1.27% (0.00%)\n18629"];
- 47 -> 48 [color="#0d3874", fontcolor="#0d3874", label="1.08%\n8599"];
- 48 [color="#0d3874", URL="\ref update_raster_state", label="update_raster_state\n1.08% (0.10%)\n8599"];
- 48 -> 51 [color="#0d3674", fontcolor="#0d3674", label="0.98%\n8599"];
- 49 [color="#0d3674", URL="\ref tgsi_full_token_free", label="tgsi_full_token_free\n0.98% (0.98%)\n16326412"];
- 50 [color="#0d3674", URL="\ref draw_set_rasterizer_state", label="draw_set_rasterizer_state\n0.98% (0.00%)\n8599"];
- 50 -> 23 [color="#0d3674", fontcolor="#0d3674", label="0.98%\n8599"];
- 51 [color="#0d3674", URL="\ref softpipe_bind_rasterizer_state", label="softpipe_bind_rasterizer_state\n0.98% (0.00%)\n8599"];
- 51 -> 50 [color="#0d3674", fontcolor="#0d3674", label="0.98%\n8599"];
- 52 [color="#0d3174", URL="\ref tgsi_align_128bit", label="tgsi_align_128bit\n0.78% (0.78%)\n16326381"];
- 53 [color="#0d2f74", URL="\ref draw_vertex_fetch", label="draw_vertex_fetch\n0.68% (0.68%)\n415570"];
-}
-
- \enddot
-
- The graph above was generated by the <a href="http://code.google.com/p/jrfonseca/wiki/Gprof2Dot">gprof2dot.py script</a>.
-*/
diff --git a/doxygen/gallium.doxy b/doxygen/gallium.doxy
deleted file mode 100644
index 1a38c8d12c..0000000000
--- a/doxygen/gallium.doxy
+++ /dev/null
@@ -1,1303 +0,0 @@
-# Doxyfile 1.5.3
-
-# This file describes the settings to be used by the documentation system
-# doxygen (www.doxygen.org) for a project
-#
-# All text after a hash (#) is considered a comment and will be ignored
-# The format is:
-# TAG = value [value, ...]
-# For lists items can also be appended using:
-# TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (" ")
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-
-# This tag specifies the encoding used for all characters in the config file that
-# follow. The default is UTF-8 which is also the encoding used for all text before
-# the first occurrence of this tag. Doxygen uses libiconv (or the iconv built into
-# libc) for the transcoding. See http://www.gnu.org/software/libiconv for the list of
-# possible encodings.
-
-DOXYFILE_ENCODING = UTF-8
-
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
-# by quotes) that should identify the project.
-
-PROJECT_NAME = Gallium3D
-
-# The PROJECT_NUMBER tag can be used to enter a project or revision number.
-# This could be handy for archiving the generated documentation or
-# if some version control system is used.
-
-PROJECT_NUMBER = 0.1
-
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
-# base path where the generated documentation will be put.
-# If a relative path is entered, it will be relative to the location
-# where doxygen was started. If left blank the current directory will be used.
-
-OUTPUT_DIRECTORY = gallium
-
-# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
-# 4096 sub-directories (in 2 levels) under the output directory of each output
-# format and will distribute the generated files over these directories.
-# Enabling this option can be useful when feeding doxygen a huge amount of
-# source files, where putting all generated files in the same directory would
-# otherwise cause performance problems for the file system.
-
-CREATE_SUBDIRS = NO
-
-# The OUTPUT_LANGUAGE tag is used to specify the language in which all
-# documentation generated by doxygen is written. Doxygen will use this
-# information to generate all constant output in the proper language.
-# The default language is English, other supported languages are:
-# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
-# Croatian, Czech, Danish, Dutch, Finnish, French, German, Greek, Hungarian,
-# Italian, Japanese, Japanese-en (Japanese with English messages), Korean,
-# Korean-en, Lithuanian, Norwegian, Polish, Portuguese, Romanian, Russian,
-# Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian.
-
-OUTPUT_LANGUAGE = English
-
-# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
-# include brief member descriptions after the members that are listed in
-# the file and class documentation (similar to JavaDoc).
-# Set to NO to disable this.
-
-BRIEF_MEMBER_DESC = YES
-
-# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
-# the brief description of a member or function before the detailed description.
-# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
-# brief descriptions will be completely suppressed.
-
-REPEAT_BRIEF = YES
-
-# This tag implements a quasi-intelligent brief description abbreviator
-# that is used to form the text in various listings. Each string
-# in this list, if found as the leading text of the brief description, will be
-# stripped from the text and the result after processing the whole list, is
-# used as the annotated text. Otherwise, the brief description is used as-is.
-# If left blank, the following values are used ("$name" is automatically
-# replaced with the name of the entity): "The $name class" "The $name widget"
-# "The $name file" "is" "provides" "specifies" "contains"
-# "represents" "a" "an" "the"
-
-ABBREVIATE_BRIEF =
-
-# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
-# Doxygen will generate a detailed section even if there is only a brief
-# description.
-
-ALWAYS_DETAILED_SEC = NO
-
-# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
-# inherited members of a class in the documentation of that class as if those
-# members were ordinary class members. Constructors, destructors and assignment
-# operators of the base classes will not be shown.
-
-INLINE_INHERITED_MEMB = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
-# path before files name in the file list and in the header files. If set
-# to NO the shortest path that makes the file name unique will be used.
-
-FULL_PATH_NAMES = YES
-
-# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
-# can be used to strip a user-defined part of the path. Stripping is
-# only done if one of the specified strings matches the left-hand part of
-# the path. The tag can be used to show relative paths in the file list.
-# If left blank the directory from which doxygen is run is used as the
-# path to strip.
-
-STRIP_FROM_PATH = ../src
-
-# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
-# the path mentioned in the documentation of a class, which tells
-# the reader which header file to include in order to use a class.
-# If left blank only the name of the header file containing the class
-# definition is used. Otherwise one should specify the include paths that
-# are normally passed to the compiler using the -I flag.
-
-STRIP_FROM_INC_PATH =
-
-# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
-# (but less readable) file names. This can be useful is your file systems
-# doesn't support long names like on DOS, Mac, or CD-ROM.
-
-SHORT_NAMES = NO
-
-# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
-# will interpret the first line (until the first dot) of a JavaDoc-style
-# comment as the brief description. If set to NO, the JavaDoc
-# comments will behave just like regular Qt-style comments
-# (thus requiring an explicit @brief command for a brief description.)
-
-JAVADOC_AUTOBRIEF = YES
-
-# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
-# interpret the first line (until the first dot) of a Qt-style
-# comment as the brief description. If set to NO, the comments
-# will behave just like regular Qt-style comments (thus requiring
-# an explicit \brief command for a brief description.)
-
-QT_AUTOBRIEF = YES
-
-# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
-# treat a multi-line C++ special comment block (i.e. a block of //! or ///
-# comments) as a brief description. This used to be the default behaviour.
-# The new default is to treat a multi-line C++ comment block as a detailed
-# description. Set this tag to YES if you prefer the old behaviour instead.
-
-MULTILINE_CPP_IS_BRIEF = NO
-
-# If the DETAILS_AT_TOP tag is set to YES then Doxygen
-# will output the detailed description near the top, like JavaDoc.
-# If set to NO, the detailed description appears after the member
-# documentation.
-
-DETAILS_AT_TOP = NO
-
-# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
-# member inherits the documentation from any documented member that it
-# re-implements.
-
-INHERIT_DOCS = YES
-
-# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
-# a new page for each member. If set to NO, the documentation of a member will
-# be part of the file/class/namespace that contains it.
-
-SEPARATE_MEMBER_PAGES = NO
-
-# The TAB_SIZE tag can be used to set the number of spaces in a tab.
-# Doxygen uses this value to replace tabs by spaces in code fragments.
-
-TAB_SIZE = 8
-
-# This tag can be used to specify a number of aliases that acts
-# as commands in the documentation. An alias has the form "name=value".
-# For example adding "sideeffect=\par Side Effects:\n" will allow you to
-# put the command \sideeffect (or @sideeffect) in the documentation, which
-# will result in a user-defined paragraph with heading "Side Effects:".
-# You can put \n's in the value part of an alias to insert newlines.
-
-ALIASES =
-
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
-# sources only. Doxygen will then generate output that is more tailored for C.
-# For instance, some of the names that are used will be different. The list
-# of all members will be omitted, etc.
-
-OPTIMIZE_OUTPUT_FOR_C = YES
-
-# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
-# sources only. Doxygen will then generate output that is more tailored for Java.
-# For instance, namespaces will be presented as packages, qualified scopes
-# will look different, etc.
-
-OPTIMIZE_OUTPUT_JAVA = NO
-
-# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want to
-# include (a tag file for) the STL sources as input, then you should
-# set this tag to YES in order to let doxygen match functions declarations and
-# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
-# func(std::string) {}). This also make the inheritance and collaboration
-# diagrams that involve STL classes more complete and accurate.
-
-BUILTIN_STL_SUPPORT = NO
-
-# If you use Microsoft's C++/CLI language, you should set this option to YES to
-# enable parsing support.
-
-CPP_CLI_SUPPORT = NO
-
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
-# tag is set to YES, then doxygen will reuse the documentation of the first
-# member in the group (if any) for the other members of the group. By default
-# all members of a group must be documented explicitly.
-
-DISTRIBUTE_GROUP_DOC = NO
-
-# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
-# the same type (for instance a group of public functions) to be put as a
-# subgroup of that type (e.g. under the Public Functions section). Set it to
-# NO to prevent subgrouping. Alternatively, this can be done per class using
-# the \nosubgrouping command.
-
-SUBGROUPING = YES
-
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-
-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
-# documentation are documented, even if no documentation was available.
-# Private class members and static file members will be hidden unless
-# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
-
-EXTRACT_ALL = YES
-
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
-# will be included in the documentation.
-
-EXTRACT_PRIVATE = YES
-
-# If the EXTRACT_STATIC tag is set to YES all static members of a file
-# will be included in the documentation.
-
-EXTRACT_STATIC = YES
-
-# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
-# defined locally in source files will be included in the documentation.
-# If set to NO only classes defined in header files are included.
-
-EXTRACT_LOCAL_CLASSES = YES
-
-# This flag is only useful for Objective-C code. When set to YES local
-# methods, which are defined in the implementation section but not in
-# the interface are included in the documentation.
-# If set to NO (the default) only methods in the interface are included.
-
-EXTRACT_LOCAL_METHODS = NO
-
-# If this flag is set to YES, the members of anonymous namespaces will be extracted
-# and appear in the documentation as a namespace called 'anonymous_namespace{file}',
-# where file will be replaced with the base name of the file that contains the anonymous
-# namespace. By default anonymous namespace are hidden.
-
-EXTRACT_ANON_NSPACES = NO
-
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
-# undocumented members of documented classes, files or namespaces.
-# If set to NO (the default) these members will be included in the
-# various overviews, but no documentation section is generated.
-# This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_MEMBERS = NO
-
-# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
-# undocumented classes that are normally visible in the class hierarchy.
-# If set to NO (the default) these classes will be included in the various
-# overviews. This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_CLASSES = NO
-
-# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
-# friend (class|struct|union) declarations.
-# If set to NO (the default) these declarations will be included in the
-# documentation.
-
-HIDE_FRIEND_COMPOUNDS = NO
-
-# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
-# documentation blocks found inside the body of a function.
-# If set to NO (the default) these blocks will be appended to the
-# function's detailed documentation block.
-
-HIDE_IN_BODY_DOCS = NO
-
-# The INTERNAL_DOCS tag determines if documentation
-# that is typed after a \internal command is included. If the tag is set
-# to NO (the default) then the documentation will be excluded.
-# Set it to YES to include the internal documentation.
-
-INTERNAL_DOCS = NO
-
-# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
-# file names in lower-case letters. If set to YES upper-case letters are also
-# allowed. This is useful if you have classes or files whose names only differ
-# in case and if your file system supports case sensitive file names. Windows
-# and Mac users are advised to set this option to NO.
-
-CASE_SENSE_NAMES = YES
-
-# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
-# will show members with their full class and namespace scopes in the
-# documentation. If set to YES the scope will be hidden.
-
-HIDE_SCOPE_NAMES = NO
-
-# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
-# will put a list of the files that are included by a file in the documentation
-# of that file.
-
-SHOW_INCLUDE_FILES = NO
-
-# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
-# is inserted in the documentation for inline members.
-
-INLINE_INFO = NO
-
-# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
-# will sort the (detailed) documentation of file and class members
-# alphabetically by member name. If set to NO the members will appear in
-# declaration order.
-
-SORT_MEMBER_DOCS = YES
-
-# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
-# brief documentation of file, namespace and class members alphabetically
-# by member name. If set to NO (the default) the members will appear in
-# declaration order.
-
-SORT_BRIEF_DOCS = NO
-
-# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
-# sorted by fully-qualified names, including namespaces. If set to
-# NO (the default), the class list will be sorted only by class name,
-# not including the namespace part.
-# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
-# Note: This option applies only to the class list, not to the
-# alphabetical list.
-
-SORT_BY_SCOPE_NAME = NO
-
-# The GENERATE_TODOLIST tag can be used to enable (YES) or
-# disable (NO) the todo list. This list is created by putting \todo
-# commands in the documentation.
-
-GENERATE_TODOLIST = NO
-
-# The GENERATE_TESTLIST tag can be used to enable (YES) or
-# disable (NO) the test list. This list is created by putting \test
-# commands in the documentation.
-
-GENERATE_TESTLIST = NO
-
-# The GENERATE_BUGLIST tag can be used to enable (YES) or
-# disable (NO) the bug list. This list is created by putting \bug
-# commands in the documentation.
-
-GENERATE_BUGLIST = NO
-
-# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
-# disable (NO) the deprecated list. This list is created by putting
-# \deprecated commands in the documentation.
-
-GENERATE_DEPRECATEDLIST= YES
-
-# The ENABLED_SECTIONS tag can be used to enable conditional
-# documentation sections, marked by \if sectionname ... \endif.
-
-ENABLED_SECTIONS =
-
-# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
-# the initial value of a variable or define consists of for it to appear in
-# the documentation. If the initializer consists of more lines than specified
-# here it will be hidden. Use a value of 0 to hide initializers completely.
-# The appearance of the initializer of individual variables and defines in the
-# documentation can be controlled using \showinitializer or \hideinitializer
-# command in the documentation regardless of this setting.
-
-MAX_INITIALIZER_LINES = 30
-
-# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
-# at the bottom of the documentation of classes and structs. If set to YES the
-# list will mention the files that were used to generate the documentation.
-
-SHOW_USED_FILES = YES
-
-# If the sources in your project are distributed over multiple directories
-# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
-# in the documentation. The default is NO.
-
-SHOW_DIRECTORIES = YES
-
-# The FILE_VERSION_FILTER tag can be used to specify a program or script that
-# doxygen should invoke to get the current version for each file (typically from the
-# version control system). Doxygen will invoke the program by executing (via
-# popen()) the command <command> <input-file>, where <command> is the value of
-# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
-# provided by doxygen. Whatever the program writes to standard output
-# is used as the file version. See the manual for examples.
-
-FILE_VERSION_FILTER =
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-# The QUIET tag can be used to turn on/off the messages that are generated
-# by doxygen. Possible values are YES and NO. If left blank NO is used.
-
-QUIET = NO
-
-# The WARNINGS tag can be used to turn on/off the warning messages that are
-# generated by doxygen. Possible values are YES and NO. If left blank
-# NO is used.
-
-WARNINGS = YES
-
-# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
-# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
-# automatically be disabled.
-
-WARN_IF_UNDOCUMENTED = YES
-
-# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
-# potential errors in the documentation, such as not documenting some
-# parameters in a documented function, or documenting parameters that
-# don't exist or using markup commands wrongly.
-
-WARN_IF_DOC_ERROR = YES
-
-# This WARN_NO_PARAMDOC option can be abled to get warnings for
-# functions that are documented, but have no documentation for their parameters
-# or return value. If set to NO (the default) doxygen will only warn about
-# wrong or incomplete parameter documentation, but not about the absence of
-# documentation.
-
-WARN_NO_PARAMDOC = NO
-
-# The WARN_FORMAT tag determines the format of the warning messages that
-# doxygen can produce. The string should contain the $file, $line, and $text
-# tags, which will be replaced by the file and line number from which the
-# warning originated and the warning text. Optionally the format may contain
-# $version, which will be replaced by the version of the file (if it could
-# be obtained via FILE_VERSION_FILTER)
-
-WARN_FORMAT = "$file:$line: $text"
-
-# The WARN_LOGFILE tag can be used to specify a file to which warning
-# and error messages should be written. If left blank the output is written
-# to stderr.
-
-WARN_LOGFILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-# The INPUT tag can be used to specify the files and/or directories that contain
-# documented source files. You may enter file names like "myfile.cpp" or
-# directories like "/usr/src/myproject". Separate the files or directories
-# with spaces.
-
-INPUT = gallium.doc \
- ../src/gallium \
- ../src/mesa/state_tracker
-
-# This tag can be used to specify the character encoding of the source files that
-# doxygen parses. Internally doxygen uses the UTF-8 encoding, which is also the default
-# input encoding. Doxygen uses libiconv (or the iconv built into libc) for the transcoding.
-# See http://www.gnu.org/software/libiconv for the list of possible encodings.
-
-INPUT_ENCODING = UTF-8
-
-# If the value of the INPUT tag contains directories, you can use the
-# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank the following patterns are tested:
-# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx
-# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py
-
-FILE_PATTERNS = *.c *.h *.cpp *.hpp
-
-# The RECURSIVE tag can be used to turn specify whether or not subdirectories
-# should be searched for input files as well. Possible values are YES and NO.
-# If left blank NO is used.
-
-RECURSIVE = YES
-
-# The EXCLUDE tag can be used to specify files and/or directories that should
-# excluded from the INPUT source files. This way you can easily exclude a
-# subdirectory from a directory tree whose root is specified with the INPUT tag.
-
-EXCLUDE =
-
-# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
-# directories that are symbolic links (a Unix filesystem feature) are excluded
-# from the input.
-
-EXCLUDE_SYMLINKS = NO
-
-# If the value of the INPUT tag contains directories, you can use the
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
-# certain files from those directories. Note that the wildcards are matched
-# against the file with absolute path, so to exclude all test directories
-# for example use the pattern */test/*
-
-EXCLUDE_PATTERNS =
-
-# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
-# (namespaces, classes, functions, etc.) that should be excluded from the output.
-# The symbol name can be a fully qualified name, a word, or if the wildcard * is used,
-# a substring. Examples: ANamespace, AClass, AClass::ANamespace, ANamespace::*Test
-
-EXCLUDE_SYMBOLS =
-
-# The EXAMPLE_PATH tag can be used to specify one or more files or
-# directories that contain example code fragments that are included (see
-# the \include command).
-
-EXAMPLE_PATH =
-
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the
-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank all files are included.
-
-EXAMPLE_PATTERNS =
-
-# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
-# searched for input files to be used with the \include or \dontinclude
-# commands irrespective of the value of the RECURSIVE tag.
-# Possible values are YES and NO. If left blank NO is used.
-
-EXAMPLE_RECURSIVE = NO
-
-# The IMAGE_PATH tag can be used to specify one or more files or
-# directories that contain image that are included in the documentation (see
-# the \image command).
-
-IMAGE_PATH =
-
-# The INPUT_FILTER tag can be used to specify a program that doxygen should
-# invoke to filter for each input file. Doxygen will invoke the filter program
-# by executing (via popen()) the command <filter> <input-file>, where <filter>
-# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
-# input file. Doxygen will then use the output that the filter program writes
-# to standard output. If FILTER_PATTERNS is specified, this tag will be
-# ignored.
-
-INPUT_FILTER =
-
-# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
-# basis. Doxygen will compare the file name with each pattern and apply the
-# filter if there is a match. The filters are a list of the form:
-# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
-# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER
-# is applied to all files.
-
-FILTER_PATTERNS =
-
-# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
-# INPUT_FILTER) will be used to filter the input files when producing source
-# files to browse (i.e. when SOURCE_BROWSER is set to YES).
-
-FILTER_SOURCE_FILES = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will
-# be generated. Documented entities will be cross-referenced with these sources.
-# Note: To get rid of all source code in the generated output, make sure also
-# VERBATIM_HEADERS is set to NO. If you have enabled CALL_GRAPH or CALLER_GRAPH
-# then you must also enable this option. If you don't then doxygen will produce
-# a warning and turn it on anyway
-
-SOURCE_BROWSER = YES
-
-# Setting the INLINE_SOURCES tag to YES will include the body
-# of functions and classes directly in the documentation.
-
-INLINE_SOURCES = YES
-
-# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
-# doxygen to hide any special comment blocks from generated source code
-# fragments. Normal C and C++ comments will always remain visible.
-
-STRIP_CODE_COMMENTS = YES
-
-# If the REFERENCED_BY_RELATION tag is set to YES (the default)
-# then for each documented function all documented
-# functions referencing it will be listed.
-
-REFERENCED_BY_RELATION = NO
-
-# If the REFERENCES_RELATION tag is set to YES (the default)
-# then for each documented function all documented entities
-# called/used by that function will be listed.
-
-REFERENCES_RELATION = YES
-
-# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
-# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
-# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
-# link to the source code. Otherwise they will link to the documentstion.
-
-REFERENCES_LINK_SOURCE = YES
-
-# If the USE_HTAGS tag is set to YES then the references to source code
-# will point to the HTML generated by the htags(1) tool instead of doxygen
-# built-in source browser. The htags tool is part of GNU's global source
-# tagging system (see http://www.gnu.org/software/global/global.html). You
-# will need version 4.8.6 or higher.
-
-USE_HTAGS = NO
-
-# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
-# will generate a verbatim copy of the header file for each class for
-# which an include is specified. Set to NO to disable this.
-
-VERBATIM_HEADERS = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
-# of all compounds will be generated. Enable this if the project
-# contains a lot of classes, structs, unions or interfaces.
-
-ALPHABETICAL_INDEX = NO
-
-# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
-# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
-# in which this list will be split (can be a number in the range [1..20])
-
-COLS_IN_ALPHA_INDEX = 5
-
-# In case all classes in a project start with a common prefix, all
-# classes will be put under the same header in the alphabetical index.
-# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
-# should be ignored while generating the index headers.
-
-IGNORE_PREFIX =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
-# generate HTML output.
-
-GENERATE_HTML = YES
-
-# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `html' will be used as the default path.
-
-HTML_OUTPUT = .
-
-# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
-# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
-# doxygen will generate files with .html extension.
-
-HTML_FILE_EXTENSION = .html
-
-# The HTML_HEADER tag can be used to specify a personal HTML header for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard header.
-
-HTML_HEADER =
-
-# The HTML_FOOTER tag can be used to specify a personal HTML footer for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard footer.
-
-HTML_FOOTER =
-
-# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
-# style sheet that is used by each HTML page. It can be used to
-# fine-tune the look of the HTML output. If the tag is left blank doxygen
-# will generate a default style sheet. Note that doxygen will try to copy
-# the style sheet file to the HTML output directory, so don't put your own
-# stylesheet in the HTML output directory as well, or it will be erased!
-
-HTML_STYLESHEET =
-
-# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
-# files or namespaces will be aligned in HTML using tables. If set to
-# NO a bullet list will be used.
-
-HTML_ALIGN_MEMBERS = YES
-
-# If the GENERATE_HTMLHELP tag is set to YES, additional index files
-# will be generated that can be used as input for tools like the
-# Microsoft HTML help workshop to generate a compressed HTML help file (.chm)
-# of the generated HTML documentation.
-
-GENERATE_HTMLHELP = NO
-
-# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
-# documentation will contain sections that can be hidden and shown after the
-# page has loaded. For this to work a browser that supports
-# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
-# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
-
-HTML_DYNAMIC_SECTIONS = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
-# be used to specify the file name of the resulting .chm file. You
-# can add a path in front of the file if the result should not be
-# written to the html output directory.
-
-CHM_FILE =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
-# be used to specify the location (absolute path including file name) of
-# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
-# the HTML help compiler on the generated index.hhp.
-
-HHC_LOCATION =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
-# controls if a separate .chi index file is generated (YES) or that
-# it should be included in the master .chm file (NO).
-
-GENERATE_CHI = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
-# controls whether a binary table of contents is generated (YES) or a
-# normal table of contents (NO) in the .chm file.
-
-BINARY_TOC = NO
-
-# The TOC_EXPAND flag can be set to YES to add extra items for group members
-# to the contents of the HTML help documentation and to the tree view.
-
-TOC_EXPAND = NO
-
-# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
-# top of each HTML page. The value NO (the default) enables the index and
-# the value YES disables it.
-
-DISABLE_INDEX = NO
-
-# This tag can be used to set the number of enum values (range [1..20])
-# that doxygen will group on one line in the generated HTML documentation.
-
-ENUM_VALUES_PER_LINE = 4
-
-# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
-# generated containing a tree-like index structure (just like the one that
-# is generated for HTML Help). For this to work a browser that supports
-# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+,
-# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are
-# probably better off using the HTML help feature.
-
-GENERATE_TREEVIEW = NO
-
-# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
-# used to set the initial width (in pixels) of the frame in which the tree
-# is shown.
-
-TREEVIEW_WIDTH = 250
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
-# generate Latex output.
-
-GENERATE_LATEX = NO
-
-# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `latex' will be used as the default path.
-
-LATEX_OUTPUT = latex
-
-# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
-# invoked. If left blank `latex' will be used as the default command name.
-
-LATEX_CMD_NAME = latex
-
-# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
-# generate index for LaTeX. If left blank `makeindex' will be used as the
-# default command name.
-
-MAKEINDEX_CMD_NAME = makeindex
-
-# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
-# LaTeX documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_LATEX = NO
-
-# The PAPER_TYPE tag can be used to set the paper type that is used
-# by the printer. Possible values are: a4, a4wide, letter, legal and
-# executive. If left blank a4wide will be used.
-
-PAPER_TYPE = a4wide
-
-# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
-# packages that should be included in the LaTeX output.
-
-EXTRA_PACKAGES =
-
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
-# the generated latex document. The header should contain everything until
-# the first chapter. If it is left blank doxygen will generate a
-# standard header. Notice: only use this tag if you know what you are doing!
-
-LATEX_HEADER =
-
-# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
-# is prepared for conversion to pdf (using ps2pdf). The pdf file will
-# contain links (just like the HTML output) instead of page references
-# This makes the output suitable for online browsing using a pdf viewer.
-
-PDF_HYPERLINKS = NO
-
-# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
-# plain latex in the generated Makefile. Set this option to YES to get a
-# higher quality PDF documentation.
-
-USE_PDFLATEX = NO
-
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
-# command to the generated LaTeX files. This will instruct LaTeX to keep
-# running if errors occur, instead of asking the user for help.
-# This option is also used when generating formulas in HTML.
-
-LATEX_BATCHMODE = NO
-
-# If LATEX_HIDE_INDICES is set to YES then doxygen will not
-# include the index chapters (such as File Index, Compound Index, etc.)
-# in the output.
-
-LATEX_HIDE_INDICES = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
-# The RTF output is optimized for Word 97 and may not look very pretty with
-# other RTF readers or editors.
-
-GENERATE_RTF = NO
-
-# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `rtf' will be used as the default path.
-
-RTF_OUTPUT = rtf
-
-# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
-# RTF documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_RTF = NO
-
-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
-# will contain hyperlink fields. The RTF file will
-# contain links (just like the HTML output) instead of page references.
-# This makes the output suitable for online browsing using WORD or other
-# programs which support those fields.
-# Note: wordpad (write) and others do not support links.
-
-RTF_HYPERLINKS = NO
-
-# Load stylesheet definitions from file. Syntax is similar to doxygen's
-# config file, i.e. a series of assignments. You only have to provide
-# replacements, missing definitions are set to their default value.
-
-RTF_STYLESHEET_FILE =
-
-# Set optional variables used in the generation of an rtf document.
-# Syntax is similar to doxygen's config file.
-
-RTF_EXTENSIONS_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
-# generate man pages
-
-GENERATE_MAN = NO
-
-# The MAN_OUTPUT tag is used to specify where the man pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `man' will be used as the default path.
-
-MAN_OUTPUT = man
-
-# The MAN_EXTENSION tag determines the extension that is added to
-# the generated man pages (default is the subroutine's section .3)
-
-MAN_EXTENSION = .3
-
-# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
-# then it will generate one additional man file for each entity
-# documented in the real man page(s). These additional files
-# only source the real man page, but without them the man command
-# would be unable to find the correct page. The default is NO.
-
-MAN_LINKS = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_XML tag is set to YES Doxygen will
-# generate an XML file that captures the structure of
-# the code including all documentation.
-
-GENERATE_XML = NO
-
-# The XML_OUTPUT tag is used to specify where the XML pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `xml' will be used as the default path.
-
-XML_OUTPUT = xml
-
-# The XML_SCHEMA tag can be used to specify an XML schema,
-# which can be used by a validating XML parser to check the
-# syntax of the XML files.
-
-XML_SCHEMA =
-
-# The XML_DTD tag can be used to specify an XML DTD,
-# which can be used by a validating XML parser to check the
-# syntax of the XML files.
-
-XML_DTD =
-
-# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
-# dump the program listings (including syntax highlighting
-# and cross-referencing information) to the XML output. Note that
-# enabling this will significantly increase the size of the XML output.
-
-XML_PROGRAMLISTING = YES
-
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
-# generate an AutoGen Definitions (see autogen.sf.net) file
-# that captures the structure of the code including all
-# documentation. Note that this feature is still experimental
-# and incomplete at the moment.
-
-GENERATE_AUTOGEN_DEF = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_PERLMOD tag is set to YES Doxygen will
-# generate a Perl module file that captures the structure of
-# the code including all documentation. Note that this
-# feature is still experimental and incomplete at the
-# moment.
-
-GENERATE_PERLMOD = NO
-
-# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
-# the necessary Makefile rules, Perl scripts and LaTeX code to be able
-# to generate PDF and DVI output from the Perl module output.
-
-PERLMOD_LATEX = NO
-
-# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
-# nicely formatted so it can be parsed by a human reader. This is useful
-# if you want to understand what is going on. On the other hand, if this
-# tag is set to NO the size of the Perl module output will be much smaller
-# and Perl will parse it just the same.
-
-PERLMOD_PRETTY = YES
-
-# The names of the make variables in the generated doxyrules.make file
-# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
-# This is useful so different doxyrules.make files included by the same
-# Makefile don't overwrite each other's variables.
-
-PERLMOD_MAKEVAR_PREFIX =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
-# evaluate all C-preprocessor directives found in the sources and include
-# files.
-
-ENABLE_PREPROCESSING = YES
-
-# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
-# names in the source code. If set to NO (the default) only conditional
-# compilation will be performed. Macro expansion can be done in a controlled
-# way by setting EXPAND_ONLY_PREDEF to YES.
-
-MACRO_EXPANSION = YES
-
-# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
-# then the macro expansion is limited to the macros specified with the
-# PREDEFINED and EXPAND_AS_DEFINED tags.
-
-EXPAND_ONLY_PREDEF = NO
-
-# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
-# in the INCLUDE_PATH (see below) will be search if a #include is found.
-
-SEARCH_INCLUDES = YES
-
-# The INCLUDE_PATH tag can be used to specify one or more directories that
-# contain include files that are not input files but should be processed by
-# the preprocessor.
-
-INCLUDE_PATH =
-
-# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
-# patterns (like *.h and *.hpp) to filter out the header-files in the
-# directories. If left blank, the patterns specified with FILE_PATTERNS will
-# be used.
-
-INCLUDE_FILE_PATTERNS =
-
-# The PREDEFINED tag can be used to specify one or more macro names that
-# are defined before the preprocessor is started (similar to the -D option of
-# gcc). The argument of the tag is a list of macros of the form: name
-# or name=definition (no spaces). If the definition and the = are
-# omitted =1 is assumed. To prevent a macro definition from being
-# undefined via #undef or recursively expanded use the := operator
-# instead of the = operator.
-
-PREDEFINED = INLINE=inline MESA_LLVM=1
-
-# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
-# this tag can be used to specify a list of macro names that should be expanded.
-# The macro definition that is found in the sources will be used.
-# Use the PREDEFINED tag if you want to use a different macro definition.
-
-EXPAND_AS_DEFINED =
-
-# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
-# doxygen's preprocessor will remove all function-like macros that are alone
-# on a line, have an all uppercase name, and do not end with a semicolon. Such
-# function macros are typically used for boiler-plate code, and will confuse
-# the parser if not removed.
-
-SKIP_FUNCTION_MACROS = YES
-
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references
-#---------------------------------------------------------------------------
-
-# The TAGFILES option can be used to specify one or more tagfiles.
-# Optionally an initial location of the external documentation
-# can be added for each tagfile. The format of a tag file without
-# this location is as follows:
-# TAGFILES = file1 file2 ...
-# Adding location for the tag files is done as follows:
-# TAGFILES = file1=loc1 "file2 = loc2" ...
-# where "loc1" and "loc2" can be relative or absolute paths or
-# URLs. If a location is present for each tag, the installdox tool
-# does not have to be run to correct the links.
-# Note that each tag file must have a unique name
-# (where the name does NOT include the path)
-# If a tag file is not located in the directory in which doxygen
-# is run, you must also specify the path to the tagfile here.
-
-TAGFILES = \
- main.tag=../main \
- math.tag=../math \
- swrast_setup.tag=../swrast_setup \
- swrast.tag=../swrast \
- tnl_dd.tag=../tnl_dd \
- tnl.tag=../tnl \
- vbo.tag=../vbo
-
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create
-# a tag file that is based on the input files it reads.
-
-GENERATE_TAGFILE =
-
-# If the ALLEXTERNALS tag is set to YES all external classes will be listed
-# in the class index. If set to NO only the inherited external classes
-# will be listed.
-
-ALLEXTERNALS = NO
-
-# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
-# in the modules index. If set to NO, only the current project's groups will
-# be listed.
-
-EXTERNAL_GROUPS = YES
-
-# The PERL_PATH should be the absolute path and name of the perl script
-# interpreter (i.e. the result of `which perl').
-
-PERL_PATH = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
-# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
-# or super classes. Setting the tag to NO turns the diagrams off. Note that
-# this option is superseded by the HAVE_DOT option below. This is only a
-# fallback. It is recommended to install and use dot, since it yields more
-# powerful graphs.
-
-CLASS_DIAGRAMS = YES
-
-# You can define message sequence charts within doxygen comments using the \msc
-# command. Doxygen will then run the mscgen tool (see http://www.mcternan.me.uk/mscgen/) to
-# produce the chart and insert it in the documentation. The MSCGEN_PATH tag allows you to
-# specify the directory where the mscgen tool resides. If left empty the tool is assumed to
-# be found in the default search path.
-
-MSCGEN_PATH =
-
-# If set to YES, the inheritance and collaboration graphs will hide
-# inheritance and usage relations if the target is undocumented
-# or is not a class.
-
-HIDE_UNDOC_RELATIONS = YES
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz, a graph visualization
-# toolkit from AT&T and Lucent Bell Labs. The other options in this section
-# have no effect if this option is set to NO (the default)
-
-HAVE_DOT = YES
-
-# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect inheritance relations. Setting this tag to YES will force the
-# the CLASS_DIAGRAMS tag to NO.
-
-CLASS_GRAPH = YES
-
-# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect implementation dependencies (inheritance, containment, and
-# class references variables) of the class with other documented classes.
-
-COLLABORATION_GRAPH = YES
-
-# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for groups, showing the direct groups dependencies
-
-GROUP_GRAPHS = YES
-
-# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
-# collaboration diagrams in a style similar to the OMG's Unified Modeling
-# Language.
-
-UML_LOOK = NO
-
-# If set to YES, the inheritance and collaboration graphs will show the
-# relations between templates and their instances.
-
-TEMPLATE_RELATIONS = NO
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
-# tags are set to YES then doxygen will generate a graph for each documented
-# file showing the direct and indirect include dependencies of the file with
-# other documented files.
-
-INCLUDE_GRAPH = YES
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
-# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
-# documented header file showing the documented files that directly or
-# indirectly include this file.
-
-INCLUDED_BY_GRAPH = YES
-
-# If the CALL_GRAPH, SOURCE_BROWSER and HAVE_DOT tags are set to YES then doxygen will
-# generate a call dependency graph for every global function or class method.
-# Note that enabling this option will significantly increase the time of a run.
-# So in most cases it will be better to enable call graphs for selected
-# functions only using the \callgraph command.
-
-CALL_GRAPH = NO
-
-# If the CALLER_GRAPH, SOURCE_BROWSER and HAVE_DOT tags are set to YES then doxygen will
-# generate a caller dependency graph for every global function or class method.
-# Note that enabling this option will significantly increase the time of a run.
-# So in most cases it will be better to enable caller graphs for selected
-# functions only using the \callergraph command.
-
-CALLER_GRAPH = NO
-
-# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
-# will graphical hierarchy of all classes instead of a textual one.
-
-GRAPHICAL_HIERARCHY = YES
-
-# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
-# then doxygen will show the dependencies a directory has on other directories
-# in a graphical way. The dependency relations are determined by the #include
-# relations between the files in the directories.
-
-DIRECTORY_GRAPH = YES
-
-# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
-# generated by dot. Possible values are png, jpg, or gif
-# If left blank png will be used.
-
-DOT_IMAGE_FORMAT = png
-
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found in the path.
-
-DOT_PATH =
-
-# The DOTFILE_DIRS tag can be used to specify one or more directories that
-# contain dot files that are included in the documentation (see the
-# \dotfile command).
-
-DOTFILE_DIRS =
-
-# The MAX_DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
-# nodes that will be shown in the graph. If the number of nodes in a graph
-# becomes larger than this value, doxygen will truncate the graph, which is
-# visualized by representing a node as a red box. Note that doxygen if the number
-# of direct children of the root node in a graph is already larger than
-# MAX_DOT_GRAPH_NOTES then the graph will not be shown at all. Also note
-# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
-
-DOT_GRAPH_MAX_NODES = 50
-
-# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
-# graphs generated by dot. A depth value of 3 means that only nodes reachable
-# from the root by following a path via at most 3 edges will be shown. Nodes
-# that lay further from the root node will be omitted. Note that setting this
-# option to 1 or 2 may greatly reduce the computation time needed for large
-# code bases. Also note that the size of a graph can be further restricted by
-# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
-
-MAX_DOT_GRAPH_DEPTH = 0
-
-# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
-# background. This is disabled by default, which results in a white background.
-# Warning: Depending on the platform used, enabling this option may lead to
-# badly anti-aliased labels on the edges of a graph (i.e. they become hard to
-# read).
-
-DOT_TRANSPARENT = NO
-
-# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
-# files in one run (i.e. multiple -o and -T options on the command line). This
-# makes dot run faster, but since only newer versions of dot (>1.8.10)
-# support this, this feature is disabled by default.
-
-DOT_MULTI_TARGETS = NO
-
-# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
-# generate a legend page explaining the meaning of the various boxes and
-# arrows in the dot generated graphs.
-
-GENERATE_LEGEND = YES
-
-# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
-# remove the intermediate dot files that are used to generate
-# the various graphs.
-
-DOT_CLEANUP = YES
-
-#---------------------------------------------------------------------------
-# Configuration::additions related to the search engine
-#---------------------------------------------------------------------------
-
-# The SEARCHENGINE tag specifies whether or not a search engine should be
-# used. If set to NO the values of all tags below this one will be ignored.
-
-SEARCHENGINE = NO
diff --git a/doxygen/glapi.doxy b/doxygen/glapi.doxy
deleted file mode 100644
index 3290f8455a..0000000000
--- a/doxygen/glapi.doxy
+++ /dev/null
@@ -1,49 +0,0 @@
-# Doxyfile 0.1
-
-@INCLUDE = common.doxy
-
-#---------------------------------------------------------------------------
-# General configuration options
-#---------------------------------------------------------------------------
-PROJECT_NAME = "Mesa GL API dispatcher"
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-INPUT = ../src/mesa/glapi/
-FILE_PATTERNS = *.c *.h
-RECURSIVE = NO
-EXCLUDE =
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-EXAMPLE_RECURSIVE = NO
-IMAGE_PATH =
-INPUT_FILTER =
-FILTER_SOURCE_FILES = NO
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-HTML_OUTPUT = glapi
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = NO
-EXPAND_ONLY_PREDEF = NO
-SEARCH_INCLUDES = YES
-INCLUDE_PATH = ../include/
-INCLUDE_FILE_PATTERNS =
-PREDEFINED =
-EXPAND_AS_DEFINED =
-SKIP_FUNCTION_MACROS = YES
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-TAGFILES = main.tag=../core \
- math.tag=../math \
- tnl_dd.tag=../tnl_dd \
- swrast.tag=../swrast \
- swrast_setup.tag=../swrast_setup \
- tnl.tag=../tnl \
- vbo.tag=vbo
-GENERATE_TAGFILE = swrast.tag
diff --git a/doxygen/header.html b/doxygen/header.html
deleted file mode 100644
index 378dc9490c..0000000000
--- a/doxygen/header.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<html>
-<head>
-<title>Mesa Source Code Documentation</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head>
-<body>
-<div class="qindex">
-<a class="qindex" href="../main/index.html">core</a> |
-<a class="qindex" href="../glapi/index.html">glapi</a> |
-<a class="qindex" href="../vbo/index.html">vbo</a> |
-<a class="qindex" href="../math/index.html">math</a> |
-<a class="qindex" href="../shader/index.html">shader</a> |
-<a class="qindex" href="../swrast/index.html">swrast</a> |
-<a class="qindex" href="../swrast_setup/index.html">swrast_setup</a> |
-<a class="qindex" href="../tnl/index.html">tnl</a> |
-<a class="qindex" href="../tnl_dd/index.html">tnl_dd</a>
-</div>
diff --git a/doxygen/header_subset.html b/doxygen/header_subset.html
deleted file mode 100644
index f9a698db84..0000000000
--- a/doxygen/header_subset.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<html>
-<head><title>Mesa Source Code Documentation</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head>
-<body>
-<div class="qindex">
-<a class="qindex" href="../core_subset/index.html">Mesa Core</a> |
-<a class="qindex" href="../math_subset/index.html">math</a> |
-<a class="qindex" href="../miniglx/index.html">MiniGLX</a> |
-<a class="qindex" href="../radeon_subset/index.html">radeon_subset</a>
-</div>
diff --git a/doxygen/main.doxy b/doxygen/main.doxy
deleted file mode 100644
index 416b4338e8..0000000000
--- a/doxygen/main.doxy
+++ /dev/null
@@ -1,50 +0,0 @@
-# Doxyfile 0.1
-
-@INCLUDE = common.doxy
-
-#---------------------------------------------------------------------------
-# General configuration options
-#---------------------------------------------------------------------------
-PROJECT_NAME = "Mesa Main"
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-INPUT = ../src/mesa/main/
-FILE_PATTERNS = *.c *.h
-RECURSIVE = NO
-EXCLUDE = ../src/glapitemp.h ../src/glapioffsets.h
-EXCLUDE_PATTERNS = subset_*
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-EXAMPLE_RECURSIVE = NO
-IMAGE_PATH =
-INPUT_FILTER =
-FILTER_SOURCE_FILES = NO
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-HTML_OUTPUT = main
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = YES
-EXPAND_ONLY_PREDEF = YES
-SEARCH_INCLUDES = YES
-INCLUDE_PATH = ../include/
-INCLUDE_FILE_PATTERNS =
-PREDEFINED = _HAVE_FULL_GL=1
-EXPAND_AS_DEFINED = _glthread_DECLARE_STATIC_MUTEX
-SKIP_FUNCTION_MACROS = YES
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-TAGFILES = tnl_dd.tag=../tnl_dd \
- vbo.tag=../vbo \
- glapi.tag=../glapi \
- math.tag=../math \
- shader.tag=../shader \
- swrast.tag=../swrast \
- swrast_setup.tag=../swrast_setup \
- tnl.tag=../tnl
-GENERATE_TAGFILE = main.tag
diff --git a/doxygen/math.doxy b/doxygen/math.doxy
deleted file mode 100644
index 388af40fe5..0000000000
--- a/doxygen/math.doxy
+++ /dev/null
@@ -1,49 +0,0 @@
-# Doxyfile 0.1
-
-@INCLUDE = common.doxy
-
-#---------------------------------------------------------------------------
-# General configuration options
-#---------------------------------------------------------------------------
-PROJECT_NAME = "Mesa math module"
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-INPUT = ../src/mesa/math/
-FILE_PATTERNS = *.c \
- *.h
-RECURSIVE = NO
-EXCLUDE =
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-EXAMPLE_RECURSIVE = NO
-IMAGE_PATH =
-INPUT_FILTER =
-FILTER_SOURCE_FILES = NO
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-HTML_OUTPUT = math
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = NO
-EXPAND_ONLY_PREDEF = NO
-SEARCH_INCLUDES = YES
-INCLUDE_PATH =
-INCLUDE_FILE_PATTERNS =
-PREDEFINED =
-EXPAND_AS_DEFINED =
-SKIP_FUNCTION_MACROS = YES
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-TAGFILES = tnl_dd.tag=../tnl_dd \
- main.tag=../core \
- swrast.tag=../swrast \
- swrast_setup.tag=../swrast_setup \
- tnl.tag=../tnl \
- vbo.tag=../vbo
-GENERATE_TAGFILE = math.tag
diff --git a/doxygen/math_subset.doxy b/doxygen/math_subset.doxy
deleted file mode 100644
index 9f6e95ff62..0000000000
--- a/doxygen/math_subset.doxy
+++ /dev/null
@@ -1,177 +0,0 @@
-# Doxyfile 0.1
-
-#---------------------------------------------------------------------------
-# General configuration options
-#---------------------------------------------------------------------------
-PROJECT_NAME = "Mesa math module"
-PROJECT_NUMBER =
-OUTPUT_DIRECTORY = .
-OUTPUT_LANGUAGE = English
-EXTRACT_ALL = NO
-EXTRACT_PRIVATE = NO
-EXTRACT_STATIC = YES
-EXTRACT_LOCAL_CLASSES = YES
-HIDE_UNDOC_MEMBERS = NO
-HIDE_UNDOC_CLASSES = NO
-BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = YES
-ALWAYS_DETAILED_SEC = NO
-INLINE_INHERITED_MEMB = NO
-FULL_PATH_NAMES = NO
-STRIP_FROM_PATH =
-INTERNAL_DOCS = NO
-STRIP_CODE_COMMENTS = YES
-CASE_SENSE_NAMES = YES
-SHORT_NAMES = NO
-HIDE_SCOPE_NAMES = NO
-VERBATIM_HEADERS = YES
-SHOW_INCLUDE_FILES = YES
-JAVADOC_AUTOBRIEF = NO
-INHERIT_DOCS = YES
-INLINE_INFO = YES
-SORT_MEMBER_DOCS = NO
-DISTRIBUTE_GROUP_DOC = NO
-TAB_SIZE = 8
-GENERATE_TODOLIST = YES
-GENERATE_TESTLIST = YES
-GENERATE_BUGLIST = YES
-ALIASES =
-ENABLED_SECTIONS =
-MAX_INITIALIZER_LINES = 30
-OPTIMIZE_OUTPUT_FOR_C = YES
-SHOW_USED_FILES = YES
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-QUIET = YES
-WARNINGS = YES
-WARN_IF_UNDOCUMENTED = NO
-WARN_FORMAT =
-WARN_LOGFILE =
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-INPUT = ../src/mesa/math/
-FILE_PATTERNS = m_matrix.[ch]
-RECURSIVE = NO
-EXCLUDE =
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-EXAMPLE_RECURSIVE = NO
-IMAGE_PATH =
-INPUT_FILTER =
-FILTER_SOURCE_FILES = NO
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-SOURCE_BROWSER = NO
-INLINE_SOURCES = NO
-REFERENCED_BY_RELATION = YES
-REFERENCES_RELATION = YES
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-ALPHABETICAL_INDEX = NO
-COLS_IN_ALPHA_INDEX = 5
-IGNORE_PREFIX =
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-GENERATE_HTML = YES
-HTML_OUTPUT = math_subset
-HTML_HEADER = header_subset.html
-HTML_FOOTER =
-HTML_STYLESHEET =
-HTML_ALIGN_MEMBERS = YES
-GENERATE_HTMLHELP = NO
-GENERATE_CHI = NO
-BINARY_TOC = NO
-TOC_EXPAND = NO
-DISABLE_INDEX = NO
-ENUM_VALUES_PER_LINE = 4
-GENERATE_TREEVIEW = NO
-TREEVIEW_WIDTH = 250
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-GENERATE_LATEX = NO
-LATEX_OUTPUT =
-COMPACT_LATEX = NO
-PAPER_TYPE = a4wide
-EXTRA_PACKAGES =
-LATEX_HEADER =
-PDF_HYPERLINKS = NO
-USE_PDFLATEX = NO
-LATEX_BATCHMODE = NO
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-GENERATE_RTF = NO
-RTF_OUTPUT =
-COMPACT_RTF = NO
-RTF_HYPERLINKS = NO
-RTF_STYLESHEET_FILE =
-RTF_EXTENSIONS_FILE =
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-GENERATE_MAN = NO
-MAN_OUTPUT =
-MAN_EXTENSION =
-MAN_LINKS = NO
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-GENERATE_XML = NO
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-GENERATE_AUTOGEN_DEF = NO
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = NO
-EXPAND_ONLY_PREDEF = NO
-SEARCH_INCLUDES = YES
-INCLUDE_PATH =
-INCLUDE_FILE_PATTERNS =
-PREDEFINED =
-EXPAND_AS_DEFINED =
-SKIP_FUNCTION_MACROS = YES
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-TAGFILES = core_subset.tag=../core_subset
-GENERATE_TAGFILE = math_subset.tag
-ALLEXTERNALS = NO
-PERL_PATH =
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-CLASS_DIAGRAMS = YES
-HAVE_DOT = NO
-CLASS_GRAPH = YES
-COLLABORATION_GRAPH = YES
-TEMPLATE_RELATIONS = YES
-HIDE_UNDOC_RELATIONS = YES
-INCLUDE_GRAPH = YES
-INCLUDED_BY_GRAPH = YES
-GRAPHICAL_HIERARCHY = YES
-DOT_PATH =
-DOTFILE_DIRS =
-MAX_DOT_GRAPH_WIDTH = 1024
-MAX_DOT_GRAPH_HEIGHT = 1024
-GENERATE_LEGEND = YES
-DOT_CLEANUP = YES
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
-#---------------------------------------------------------------------------
-SEARCHENGINE = NO
-CGI_NAME =
-CGI_URL =
-DOC_URL =
-DOC_ABSPATH =
-BIN_ABSPATH =
-EXT_DOC_PATHS =
diff --git a/doxygen/miniglx.doxy b/doxygen/miniglx.doxy
deleted file mode 100644
index 61c376caf2..0000000000
--- a/doxygen/miniglx.doxy
+++ /dev/null
@@ -1,179 +0,0 @@
-# Doxyfile 0.1
-
-#---------------------------------------------------------------------------
-# General configuration options
-#---------------------------------------------------------------------------
-PROJECT_NAME = "MiniGLX"
-PROJECT_NUMBER =
-OUTPUT_DIRECTORY =
-OUTPUT_LANGUAGE = English
-EXTRACT_ALL = NO
-EXTRACT_PRIVATE = NO
-EXTRACT_STATIC = YES
-EXTRACT_LOCAL_CLASSES = YES
-HIDE_UNDOC_MEMBERS = NO
-HIDE_UNDOC_CLASSES = NO
-BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = YES
-ALWAYS_DETAILED_SEC = NO
-INLINE_INHERITED_MEMB = NO
-FULL_PATH_NAMES = NO
-STRIP_FROM_PATH =
-INTERNAL_DOCS = YES
-STRIP_CODE_COMMENTS = YES
-CASE_SENSE_NAMES = YES
-SHORT_NAMES = NO
-HIDE_SCOPE_NAMES = NO
-VERBATIM_HEADERS = NO
-SHOW_INCLUDE_FILES = NO
-JAVADOC_AUTOBRIEF = NO
-INHERIT_DOCS = YES
-INLINE_INFO = YES
-SORT_MEMBER_DOCS = NO
-DISTRIBUTE_GROUP_DOC = NO
-TAB_SIZE = 8
-GENERATE_TODOLIST = YES
-GENERATE_TESTLIST = YES
-GENERATE_BUGLIST = YES
-ALIASES =
-ENABLED_SECTIONS =
-MAX_INITIALIZER_LINES = 30
-OPTIMIZE_OUTPUT_FOR_C = NO
-SHOW_USED_FILES = YES
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-QUIET = YES
-WARNINGS = YES
-WARN_IF_UNDOCUMENTED = NO
-WARN_FORMAT =
-WARN_LOGFILE =
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-INPUT = ../src/glx/mini/ ../include/GL/miniglx.h
-FILE_PATTERNS = *.h *.c
-RECURSIVE = NO
-EXCLUDE = ../src/glx/mini/glapi.c
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-EXAMPLE_RECURSIVE = NO
-IMAGE_PATH =
-INPUT_FILTER =
-FILTER_SOURCE_FILES = NO
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-SOURCE_BROWSER = NO
-INLINE_SOURCES = NO
-REFERENCED_BY_RELATION = YES
-REFERENCES_RELATION = YES
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-ALPHABETICAL_INDEX = NO
-COLS_IN_ALPHA_INDEX = 5
-IGNORE_PREFIX =
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-GENERATE_HTML = YES
-HTML_OUTPUT = miniglx
-HTML_HEADER = header_subset.html
-HTML_FOOTER =
-HTML_STYLESHEET =
-HTML_ALIGN_MEMBERS = YES
-GENERATE_HTMLHELP = NO
-GENERATE_CHI = NO
-BINARY_TOC = NO
-TOC_EXPAND = NO
-DISABLE_INDEX = NO
-ENUM_VALUES_PER_LINE = 4
-GENERATE_TREEVIEW = NO
-TREEVIEW_WIDTH = 250
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-GENERATE_LATEX = NO
-LATEX_OUTPUT =
-COMPACT_LATEX = NO
-PAPER_TYPE = a4wide
-EXTRA_PACKAGES =
-LATEX_HEADER =
-PDF_HYPERLINKS = NO
-USE_PDFLATEX = NO
-LATEX_BATCHMODE = NO
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-GENERATE_RTF = NO
-RTF_OUTPUT =
-COMPACT_RTF = NO
-RTF_HYPERLINKS = NO
-RTF_STYLESHEET_FILE =
-RTF_EXTENSIONS_FILE =
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-GENERATE_MAN = NO
-MAN_OUTPUT =
-MAN_EXTENSION =
-MAN_LINKS = NO
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-GENERATE_XML = NO
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-GENERATE_AUTOGEN_DEF = NO
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = NO
-EXPAND_ONLY_PREDEF = NO
-SEARCH_INCLUDES = YES
-INCLUDE_PATH = ../include/
-INCLUDE_FILE_PATTERNS =
-PREDEFINED =
-EXPAND_AS_DEFINED =
-SKIP_FUNCTION_MACROS = YES
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-TAGFILES = \
- core_subset.tag=../core_subset \
- math_subset.tag=../math_subset
-GENERATE_TAGFILE = miniglx.tag
-ALLEXTERNALS = NO
-PERL_PATH =
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-CLASS_DIAGRAMS = NO
-HAVE_DOT = NO
-CLASS_GRAPH = YES
-COLLABORATION_GRAPH = YES
-TEMPLATE_RELATIONS = YES
-HIDE_UNDOC_RELATIONS = YES
-INCLUDE_GRAPH = YES
-INCLUDED_BY_GRAPH = YES
-GRAPHICAL_HIERARCHY = YES
-DOT_PATH =
-DOTFILE_DIRS =
-MAX_DOT_GRAPH_WIDTH = 1024
-MAX_DOT_GRAPH_HEIGHT = 1024
-GENERATE_LEGEND = YES
-DOT_CLEANUP = YES
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
-#---------------------------------------------------------------------------
-SEARCHENGINE = NO
-CGI_NAME =
-CGI_URL =
-DOC_URL =
-DOC_ABSPATH =
-BIN_ABSPATH =
-EXT_DOC_PATHS =
diff --git a/doxygen/radeon_subset.doxy b/doxygen/radeon_subset.doxy
deleted file mode 100644
index fb9d0e9535..0000000000
--- a/doxygen/radeon_subset.doxy
+++ /dev/null
@@ -1,203 +0,0 @@
-# Doxyfile 0.1
-
-#---------------------------------------------------------------------------
-# General configuration options
-#---------------------------------------------------------------------------
-PROJECT_NAME = "Radeon Subset Driver"
-PROJECT_NUMBER =
-OUTPUT_DIRECTORY =
-OUTPUT_LANGUAGE = English
-EXTRACT_ALL = NO
-EXTRACT_PRIVATE = NO
-EXTRACT_STATIC = YES
-EXTRACT_LOCAL_CLASSES = YES
-HIDE_UNDOC_MEMBERS = NO
-HIDE_UNDOC_CLASSES = NO
-BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = YES
-ALWAYS_DETAILED_SEC = NO
-INLINE_INHERITED_MEMB = NO
-FULL_PATH_NAMES = NO
-STRIP_FROM_PATH =
-INTERNAL_DOCS = YES
-STRIP_CODE_COMMENTS = YES
-CASE_SENSE_NAMES = YES
-SHORT_NAMES = NO
-HIDE_SCOPE_NAMES = NO
-VERBATIM_HEADERS = NO
-SHOW_INCLUDE_FILES = NO
-JAVADOC_AUTOBRIEF = NO
-INHERIT_DOCS = YES
-INLINE_INFO = YES
-SORT_MEMBER_DOCS = NO
-DISTRIBUTE_GROUP_DOC = NO
-TAB_SIZE = 8
-GENERATE_TODOLIST = YES
-GENERATE_TESTLIST = YES
-GENERATE_BUGLIST = YES
-ALIASES =
-ENABLED_SECTIONS =
-MAX_INITIALIZER_LINES = 30
-OPTIMIZE_OUTPUT_FOR_C = NO
-SHOW_USED_FILES = YES
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-QUIET = YES
-WARNINGS = YES
-WARN_IF_UNDOCUMENTED = NO
-WARN_FORMAT =
-WARN_LOGFILE =
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-INPUT = \
- ../src/mesa/drivers/dri/common/mm.c \
- ../src/mesa/drivers/dri/common/mm.h \
- ../src/mesa/drivers/dri/radeon/radeon_context.c \
- ../src/mesa/drivers/dri/radeon/radeon_context.h \
- ../src/mesa/drivers/dri/radeon/radeon_ioctl.c \
- ../src/mesa/drivers/dri/radeon/radeon_ioctl.h \
- ../src/mesa/drivers/dri/radeon/radeon_lock.c \
- ../src/mesa/drivers/dri/radeon/radeon_lock.h \
- ../src/mesa/drivers/dri/radeon/radeon_screen.c \
- ../src/mesa/drivers/dri/radeon/radeon_screen.h \
- ../src/mesa/drivers/dri/radeon/radeon_state.c \
- ../src/mesa/drivers/dri/radeon/radeon_state.h \
- ../src/mesa/drivers/dri/radeon/radeon_state_init.c \
- ../src/mesa/drivers/dri/radeon/radeon_subset.h \
- ../src/mesa/drivers/dri/radeon/radeon_subset_bitmap.c \
- ../src/mesa/drivers/dri/radeon/radeon_subset_readpix.c \
- ../src/mesa/drivers/dri/radeon/radeon_subset_select.c \
- ../src/mesa/drivers/dri/radeon/radeon_subset_tex.c \
- ../src/mesa/drivers/dri/radeon/radeon_subset_vtx.c \
- ../src/mesa/drivers/dri/radeon/radeon_tcl.h \
- ../src/mesa/drivers/dri/radeon/radeon_tex.h \
- ../src/mesa/drivers/dri/radeon/radeon_vtxfmt.h \
- ../src/mesa/drivers/dri/radeon/server
-FILE_PATTERNS = *.h *.c
-RECURSIVE = NO
-EXCLUDE =
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-EXAMPLE_RECURSIVE = NO
-IMAGE_PATH =
-INPUT_FILTER =
-FILTER_SOURCE_FILES = NO
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-SOURCE_BROWSER = NO
-INLINE_SOURCES = NO
-REFERENCED_BY_RELATION = YES
-REFERENCES_RELATION = YES
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-ALPHABETICAL_INDEX = NO
-COLS_IN_ALPHA_INDEX = 5
-IGNORE_PREFIX =
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-GENERATE_HTML = YES
-HTML_OUTPUT = radeon_subset
-HTML_HEADER = header_subset.html
-HTML_FOOTER =
-HTML_STYLESHEET =
-HTML_ALIGN_MEMBERS = YES
-GENERATE_HTMLHELP = NO
-GENERATE_CHI = NO
-BINARY_TOC = NO
-TOC_EXPAND = NO
-DISABLE_INDEX = NO
-ENUM_VALUES_PER_LINE = 4
-GENERATE_TREEVIEW = NO
-TREEVIEW_WIDTH = 250
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-GENERATE_LATEX = NO
-LATEX_OUTPUT =
-COMPACT_LATEX = NO
-PAPER_TYPE = a4wide
-EXTRA_PACKAGES =
-LATEX_HEADER =
-PDF_HYPERLINKS = NO
-USE_PDFLATEX = NO
-LATEX_BATCHMODE = NO
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-GENERATE_RTF = NO
-RTF_OUTPUT =
-COMPACT_RTF = NO
-RTF_HYPERLINKS = NO
-RTF_STYLESHEET_FILE =
-RTF_EXTENSIONS_FILE =
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-GENERATE_MAN = NO
-MAN_OUTPUT =
-MAN_EXTENSION =
-MAN_LINKS = NO
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-GENERATE_XML = NO
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-GENERATE_AUTOGEN_DEF = NO
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = NO
-EXPAND_ONLY_PREDEF = NO
-SEARCH_INCLUDES = YES
-INCLUDE_PATH = ../include/
-INCLUDE_FILE_PATTERNS =
-PREDEFINED =
-EXPAND_AS_DEFINED =
-SKIP_FUNCTION_MACROS = YES
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-TAGFILES = \
- core_subset.tag=../core_subset \
- math_subset.tag=../math_subset \
- miniglx.tag=../miniglx
-GENERATE_TAGFILE = radeon_subset.tag
-ALLEXTERNALS = NO
-PERL_PATH =
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-CLASS_DIAGRAMS = NO
-HAVE_DOT = NO
-CLASS_GRAPH = YES
-COLLABORATION_GRAPH = YES
-TEMPLATE_RELATIONS = YES
-HIDE_UNDOC_RELATIONS = YES
-INCLUDE_GRAPH = YES
-INCLUDED_BY_GRAPH = YES
-GRAPHICAL_HIERARCHY = YES
-DOT_PATH =
-DOTFILE_DIRS =
-MAX_DOT_GRAPH_WIDTH = 1024
-MAX_DOT_GRAPH_HEIGHT = 1024
-GENERATE_LEGEND = YES
-DOT_CLEANUP = YES
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
-#---------------------------------------------------------------------------
-SEARCHENGINE = NO
-CGI_NAME =
-CGI_URL =
-DOC_URL =
-DOC_ABSPATH =
-BIN_ABSPATH =
-EXT_DOC_PATHS =
diff --git a/doxygen/shader.doxy b/doxygen/shader.doxy
deleted file mode 100644
index d8ad14cc76..0000000000
--- a/doxygen/shader.doxy
+++ /dev/null
@@ -1,49 +0,0 @@
-# Doxyfile 0.1
-
-@INCLUDE = common.doxy
-
-#---------------------------------------------------------------------------
-# General configuration options
-#---------------------------------------------------------------------------
-PROJECT_NAME = "Mesa Vertex and Fragment Program code"
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-INPUT = ../src/mesa/shader/
-FILE_PATTERNS = *.c *.h
-RECURSIVE = NO
-EXCLUDE =
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-EXAMPLE_RECURSIVE = NO
-IMAGE_PATH =
-INPUT_FILTER =
-FILTER_SOURCE_FILES = NO
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-HTML_OUTPUT = shader
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = NO
-EXPAND_ONLY_PREDEF = NO
-SEARCH_INCLUDES = YES
-INCLUDE_PATH = ../include/
-INCLUDE_FILE_PATTERNS =
-PREDEFINED =
-EXPAND_AS_DEFINED =
-SKIP_FUNCTION_MACROS = YES
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-TAGFILES = main.tag=../core \
- math.tag=../math \
- tnl_dd.tag=../tnl_dd \
- swrast.tag=../swrast \
- swrast_setup.tag=../swrast_setup \
- tnl.tag=../tnl \
- vbo.tag=vbo
-GENERATE_TAGFILE = swrast.tag
diff --git a/doxygen/swrast.doxy b/doxygen/swrast.doxy
deleted file mode 100644
index fa07afd594..0000000000
--- a/doxygen/swrast.doxy
+++ /dev/null
@@ -1,48 +0,0 @@
-# Doxyfile 0.1
-
-@INCLUDE = common.doxy
-
-#---------------------------------------------------------------------------
-# General configuration options
-#---------------------------------------------------------------------------
-PROJECT_NAME = "Mesa Software Rasterization (swrast)"
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-INPUT = ../src/mesa/swrast/
-FILE_PATTERNS = *.c *.h
-RECURSIVE = NO
-EXCLUDE =
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-EXAMPLE_RECURSIVE = NO
-IMAGE_PATH =
-INPUT_FILTER =
-FILTER_SOURCE_FILES = NO
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-HTML_OUTPUT = swrast
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = NO
-EXPAND_ONLY_PREDEF = NO
-SEARCH_INCLUDES = YES
-INCLUDE_PATH = ../include/
-INCLUDE_FILE_PATTERNS =
-PREDEFINED =
-EXPAND_AS_DEFINED =
-SKIP_FUNCTION_MACROS = YES
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-TAGFILES = main.tag=../core \
- math.tag=../math \
- tnl_dd.tag=../tnl_dd \
- swrast_setup.tag=../swrast_setup \
- tnl.tag=../tnl \
- vbo.tag=vbo
-GENERATE_TAGFILE = swrast.tag
diff --git a/doxygen/swrast_setup.doxy b/doxygen/swrast_setup.doxy
deleted file mode 100644
index ee6f3ffdc8..0000000000
--- a/doxygen/swrast_setup.doxy
+++ /dev/null
@@ -1,49 +0,0 @@
-# Doxyfile 0.1
-
-@INCLUDE = common.doxy
-
-#---------------------------------------------------------------------------
-# General configuration options
-#---------------------------------------------------------------------------
-PROJECT_NAME = "Mesa swrast_setup"
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-INPUT = ../src/mesa/swrast_setup/
-FILE_PATTERNS = *.c \
- *.h
-RECURSIVE = NO
-EXCLUDE =
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-EXAMPLE_RECURSIVE = NO
-IMAGE_PATH =
-INPUT_FILTER =
-FILTER_SOURCE_FILES = NO
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-HTML_OUTPUT = swrast_setup
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = NO
-EXPAND_ONLY_PREDEF = NO
-SEARCH_INCLUDES = YES
-INCLUDE_PATH =
-INCLUDE_FILE_PATTERNS =
-PREDEFINED =
-EXPAND_AS_DEFINED =
-SKIP_FUNCTION_MACROS = YES
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-TAGFILES = tnl_dd.tag=../tnl_dd \
- main.tag=../core \
- math.tag=../math \
- swrast.tag=../swrast \
- tnl.tag=../tnl \
- vbo.tag=../vbo
-GENERATE_TAGFILE = swrast_setup.tag
diff --git a/doxygen/tnl.doxy b/doxygen/tnl.doxy
deleted file mode 100644
index a4f76a2953..0000000000
--- a/doxygen/tnl.doxy
+++ /dev/null
@@ -1,50 +0,0 @@
-# Doxyfile 0.1
-
-@INCLUDE = common.doxy
-
-#---------------------------------------------------------------------------
-# General configuration options
-#---------------------------------------------------------------------------
-PROJECT_NAME = "Mesa Transform and Lighting (tnl)"
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-INPUT = ../src/mesa/tnl/
-FILE_PATTERNS = *.c \
- *.h
-RECURSIVE = NO
-EXCLUDE =
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-EXAMPLE_RECURSIVE = NO
-IMAGE_PATH =
-INPUT_FILTER =
-FILTER_SOURCE_FILES = NO
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-HTML_OUTPUT = tnl
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = NO
-EXPAND_ONLY_PREDEF = NO
-SEARCH_INCLUDES = YES
-INCLUDE_PATH =
-INCLUDE_FILE_PATTERNS =
-PREDEFINED =
-EXPAND_AS_DEFINED =
-SKIP_FUNCTION_MACROS = YES
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-TAGFILES = tnl_dd.tag=../tnl \
- main.tag=../core \
- math.tag=../math \
- shader.tag=../shader \
- swrast.tag=../swrast \
- swrast_setup.tag=swrast_setup \
- vbo.tag=vbo
-GENERATE_TAGFILE = tnl.tag
diff --git a/doxygen/tnl_dd.doxy b/doxygen/tnl_dd.doxy
deleted file mode 100644
index b241f67f4b..0000000000
--- a/doxygen/tnl_dd.doxy
+++ /dev/null
@@ -1,49 +0,0 @@
-# Doxyfile 0.1
-
-@INCLUDE = common.doxy
-
-#---------------------------------------------------------------------------
-# General configuration options
-#---------------------------------------------------------------------------
-PROJECT_NAME = "Mesa tnl_dd"
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-INPUT = ../src/mesa/tnl_dd/
-FILE_PATTERNS = *.c *.h
-RECURSIVE = YES
-EXCLUDE =
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-EXAMPLE_RECURSIVE = NO
-IMAGE_PATH =
-INPUT_FILTER =
-FILTER_SOURCE_FILES = NO
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-HTML_OUTPUT = tnl_dd
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = NO
-EXPAND_ONLY_PREDEF = NO
-SEARCH_INCLUDES = YES
-INCLUDE_PATH =
-INCLUDE_FILE_PATTERNS =
-PREDEFINED =
-EXPAND_AS_DEFINED =
-SKIP_FUNCTION_MACROS = YES
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-TAGFILES = main.tag=../core \
- math.tag=../math \
- shader.tag=../shader \
- swrast.tag=../swrast \
- swrast_setup.tag=../swrast_setup \
- tnl.tag=../tnl \
- vbo.tag=vbo
-GENERATE_TAGFILE = tnl_dd.tag
diff --git a/doxygen/vbo.doxy b/doxygen/vbo.doxy
deleted file mode 100644
index 6dfb21cf4f..0000000000
--- a/doxygen/vbo.doxy
+++ /dev/null
@@ -1,50 +0,0 @@
-# Doxyfile 0.1
-
-@INCLUDE = common.doxy
-
-#---------------------------------------------------------------------------
-# General configuration options
-#---------------------------------------------------------------------------
-PROJECT_NAME = "Mesa vbo"
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-INPUT = ../src/mesa/vbo/
-FILE_PATTERNS = *.c \
- *.h
-RECURSIVE = NO
-EXCLUDE =
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-EXAMPLE_RECURSIVE = NO
-IMAGE_PATH =
-INPUT_FILTER =
-FILTER_SOURCE_FILES = NO
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-HTML_OUTPUT = vbo
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = NO
-EXPAND_ONLY_PREDEF = NO
-SEARCH_INCLUDES = YES
-INCLUDE_PATH =
-INCLUDE_FILE_PATTERNS =
-PREDEFINED =
-EXPAND_AS_DEFINED =
-SKIP_FUNCTION_MACROS = YES
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-TAGFILES = main.tag=../core \
- math.tag=../math \
- shader.tag=../shader \
- swrast.tag=../swrast \
- swrast_setup.tag=../swrast_setup \
- tnl.tag=../tnl \
- tnl_dd.tag=../tnl_dd
-GENERATE_TAGFILE = vbo.tag
diff --git a/include/GL/glut.h b/include/GL/glut.h
deleted file mode 100644
index 9fdb9cfdfa..0000000000
--- a/include/GL/glut.h
+++ /dev/null
@@ -1,668 +0,0 @@
-#ifndef __glut_h__
-#define __glut_h__
-
-/* Copyright (c) Mark J. Kilgard, 1994, 1995, 1996, 1998. */
-
-/* This program is freely distributable without licensing fees and is
- provided without guarantee or warrantee expressed or implied. This
- program is -not- in the public domain. */
-
-#if defined(_WIN32)
-# ifndef WIN32_LEAN_AND_MEAN
-# define WIN32_LEAN_AND_MEAN 1
-# endif
-# include <windows.h>
-#endif
-
-#include <GL/gl.h>
-#include <GL/glu.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if defined(_WIN32)
-
-/* To disable automatic library usage for GLUT, define GLUT_NO_LIB_PRAGMA
- in your compile preprocessor options. */
-# if defined(_MSC_VER) && !defined(GLUT_BUILDING_LIB) && !defined(GLUT_NO_LIB_PRAGMA)
-# pragma comment (lib, "winmm.lib") /* link with Windows MultiMedia lib */
-/* To enable automatic SGI OpenGL for Windows library usage for GLUT,
- define GLUT_USE_SGI_OPENGL in your compile preprocessor options. */
-# ifdef GLUT_USE_SGI_OPENGL
-# pragma comment (lib, "opengl.lib") /* link with SGI OpenGL for Windows lib */
-# pragma comment (lib, "glu.lib") /* link with SGI OpenGL Utility lib */
-# pragma comment (lib, "glut.lib") /* link with Win32 GLUT for SGI OpenGL lib */
-# else
-# pragma comment (lib, "opengl32.lib") /* link with Microsoft OpenGL lib */
-# pragma comment (lib, "glu32.lib") /* link with Microsoft OpenGL Utility lib */
-# pragma comment (lib, "glut32.lib") /* link with Win32 GLUT lib */
-# endif
-# endif
-
-/* To disable supression of annoying warnings about floats being promoted
- to doubles, define GLUT_NO_WARNING_DISABLE in your compile preprocessor
- options. */
-# if defined(_MSC_VER) && !defined(GLUT_NO_WARNING_DISABLE)
-# pragma warning (disable:4244) /* Disable bogus VC++ 4.2 conversion warnings. */
-# pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */
-# endif
-
-/* Win32 has an annoying issue where there are multiple C run-time
- libraries (CRTs). If the executable is linked with a different CRT
- from the GLUT DLL, the GLUT DLL will not share the same CRT static
- data seen by the executable. In particular, atexit callbacks registered
- in the executable will not be called if GLUT calls its (different)
- exit routine). GLUT is typically built with the
- "/MD" option (the CRT with multithreading DLL support), but the Visual
- C++ linker default is "/ML" (the single threaded CRT).
-
- One workaround to this issue is requiring users to always link with
- the same CRT as GLUT is compiled with. That requires users supply a
- non-standard option. GLUT 3.7 has its own built-in workaround where
- the executable's "exit" function pointer is covertly passed to GLUT.
- GLUT then calls the executable's exit function pointer to ensure that
- any "atexit" calls registered by the application are called if GLUT
- needs to exit.
-
- Note that the __glut*WithExit routines should NEVER be called directly.
- To avoid the atexit workaround, #define GLUT_DISABLE_ATEXIT_HACK. */
-
-/* XXX This is from Win32's <process.h> */
-# if !defined(_MSC_VER) && !defined(__MINGW32__) && !defined(__cdecl)
- /* Define __cdecl for non-Microsoft compilers. */
-# define __cdecl
-# define GLUT_DEFINED___CDECL
-# endif
-#if defined(_WIN32) && !defined(GLUT_DISABLE_ATEXIT_HACK)
-#include <stdlib.h>
-#endif
-
-/* GLUT callback calling convention for Win32. */
-# define GLUTCALLBACK __cdecl
-
-/* for callback/function pointer defs */
-# define GLUTAPIENTRYV __cdecl
-
-/* glut-win32 specific macros, defined to prevent collision with
- and redifinition of Windows system defs, also removes requirement of
- pretty much any standard windows header from this file */
-
-#if (_MSC_VER >= 800) || defined(__MINGW32__) || defined(_STDCALL_SUPPORTED) || defined(__CYGWIN32__)
-# define GLUTAPIENTRY __stdcall
-#else
-# define GLUTAPIENTRY
-#endif
-
-/* GLUT API entry point declarations for Win32. */
-#if (defined(BUILD_GLUT32) || defined(GLUT_BUILDING_LIB)) && !defined(GLUT_STATIC)
-# define GLUTAPI __declspec(dllexport)
-#elif !defined(GLUT_STATIC)
-# define GLUTAPI __declspec(dllimport)
-#else
-# define GLUTAPI extern
-#endif
-
-#elif defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__) >= 303
-
-# define GLUTAPIENTRY
-# define GLUTAPIENTRYV
-# define GLUTCALLBACK
-# define GLUTAPI extern __attribute__((visibility("default")))
-
-#else
-
-/* Define GLUTAPIENTRY and GLUTCALLBACK to nothing */
-# define GLUTAPIENTRY
-# define GLUTAPIENTRYV
-# define GLUTCALLBACK
-# define GLUTAPI extern
-
-#endif
-
-
-/**
- GLUT API revision history:
-
- GLUT_API_VERSION is updated to reflect incompatible GLUT
- API changes (interface changes, semantic changes, deletions,
- or additions).
-
- GLUT_API_VERSION=1 First public release of GLUT. 11/29/94
-
- GLUT_API_VERSION=2 Added support for OpenGL/GLX multisampling,
- extension. Supports new input devices like tablet, dial and button
- box, and Spaceball. Easy to query OpenGL extensions.
-
- GLUT_API_VERSION=3 glutMenuStatus added.
-
- GLUT_API_VERSION=4 glutInitDisplayString, glutWarpPointer,
- glutBitmapLength, glutStrokeLength, glutWindowStatusFunc, dynamic
- video resize subAPI, glutPostWindowRedisplay, glutKeyboardUpFunc,
- glutSpecialUpFunc, glutIgnoreKeyRepeat, glutSetKeyRepeat,
- glutJoystickFunc, glutForceJoystickFunc (NOT FINALIZED!).
-
- GLUT_API_VERSION=5 glutGetProcAddress (added by BrianP)
-**/
-#ifndef GLUT_API_VERSION /* allow this to be overriden */
-#define GLUT_API_VERSION 5
-#endif
-
-/**
- GLUT implementation revision history:
-
- GLUT_XLIB_IMPLEMENTATION is updated to reflect both GLUT
- API revisions and implementation revisions (ie, bug fixes).
-
- GLUT_XLIB_IMPLEMENTATION=1 mjk's first public release of
- GLUT Xlib-based implementation. 11/29/94
-
- GLUT_XLIB_IMPLEMENTATION=2 mjk's second public release of
- GLUT Xlib-based implementation providing GLUT version 2
- interfaces.
-
- GLUT_XLIB_IMPLEMENTATION=3 mjk's GLUT 2.2 images. 4/17/95
-
- GLUT_XLIB_IMPLEMENTATION=4 mjk's GLUT 2.3 images. 6/?/95
-
- GLUT_XLIB_IMPLEMENTATION=5 mjk's GLUT 3.0 images. 10/?/95
-
- GLUT_XLIB_IMPLEMENTATION=7 mjk's GLUT 3.1+ with glutWarpPoitner. 7/24/96
-
- GLUT_XLIB_IMPLEMENTATION=8 mjk's GLUT 3.1+ with glutWarpPoitner
- and video resize. 1/3/97
-
- GLUT_XLIB_IMPLEMENTATION=9 mjk's GLUT 3.4 release with early GLUT 4 routines.
-
- GLUT_XLIB_IMPLEMENTATION=11 Mesa 2.5's GLUT 3.6 release.
-
- GLUT_XLIB_IMPLEMENTATION=12 mjk's GLUT 3.6 release with early GLUT 4 routines + signal handling.
-
- GLUT_XLIB_IMPLEMENTATION=13 mjk's GLUT 3.7 beta with GameGLUT support.
-
- GLUT_XLIB_IMPLEMENTATION=14 mjk's GLUT 3.7 beta with f90gl friend interface.
-
- GLUT_XLIB_IMPLEMENTATION=15 mjk's GLUT 3.7 beta sync'ed with Mesa <GL/glut.h>
-**/
-#ifndef GLUT_XLIB_IMPLEMENTATION /* Allow this to be overriden. */
-#define GLUT_XLIB_IMPLEMENTATION 15
-#endif
-
-/* Display mode bit masks. */
-#define GLUT_RGB 0
-#define GLUT_RGBA GLUT_RGB
-#define GLUT_INDEX 1
-#define GLUT_SINGLE 0
-#define GLUT_DOUBLE 2
-#define GLUT_ACCUM 4
-#define GLUT_ALPHA 8
-#define GLUT_DEPTH 16
-#define GLUT_STENCIL 32
-#if (GLUT_API_VERSION >= 2)
-#define GLUT_MULTISAMPLE 128
-#define GLUT_STEREO 256
-#endif
-#if (GLUT_API_VERSION >= 3)
-#define GLUT_LUMINANCE 512
-#endif
-
-/* Mouse buttons. */
-#define GLUT_LEFT_BUTTON 0
-#define GLUT_MIDDLE_BUTTON 1
-#define GLUT_RIGHT_BUTTON 2
-
-/* Mouse button state. */
-#define GLUT_DOWN 0
-#define GLUT_UP 1
-
-#if (GLUT_API_VERSION >= 2)
-/* function keys */
-#define GLUT_KEY_F1 1
-#define GLUT_KEY_F2 2
-#define GLUT_KEY_F3 3
-#define GLUT_KEY_F4 4
-#define GLUT_KEY_F5 5
-#define GLUT_KEY_F6 6
-#define GLUT_KEY_F7 7
-#define GLUT_KEY_F8 8
-#define GLUT_KEY_F9 9
-#define GLUT_KEY_F10 10
-#define GLUT_KEY_F11 11
-#define GLUT_KEY_F12 12
-/* directional keys */
-#define GLUT_KEY_LEFT 100
-#define GLUT_KEY_UP 101
-#define GLUT_KEY_RIGHT 102
-#define GLUT_KEY_DOWN 103
-#define GLUT_KEY_PAGE_UP 104
-#define GLUT_KEY_PAGE_DOWN 105
-#define GLUT_KEY_HOME 106
-#define GLUT_KEY_END 107
-#define GLUT_KEY_INSERT 108
-#endif
-
-/* Entry/exit state. */
-#define GLUT_LEFT 0
-#define GLUT_ENTERED 1
-
-/* Menu usage state. */
-#define GLUT_MENU_NOT_IN_USE 0
-#define GLUT_MENU_IN_USE 1
-
-/* Visibility state. */
-#define GLUT_NOT_VISIBLE 0
-#define GLUT_VISIBLE 1
-
-/* Window status state. */
-#define GLUT_HIDDEN 0
-#define GLUT_FULLY_RETAINED 1
-#define GLUT_PARTIALLY_RETAINED 2
-#define GLUT_FULLY_COVERED 3
-
-/* Color index component selection values. */
-#define GLUT_RED 0
-#define GLUT_GREEN 1
-#define GLUT_BLUE 2
-
-/* Layers for use. */
-#define GLUT_NORMAL 0
-#define GLUT_OVERLAY 1
-
-#if defined(_WIN32) || defined (GLUT_IMPORT_LIB)
-/* Stroke font constants (use these in GLUT program). */
-#define GLUT_STROKE_ROMAN ((void*)0)
-#define GLUT_STROKE_MONO_ROMAN ((void*)1)
-
-/* Bitmap font constants (use these in GLUT program). */
-#define GLUT_BITMAP_9_BY_15 ((void*)2)
-#define GLUT_BITMAP_8_BY_13 ((void*)3)
-#define GLUT_BITMAP_TIMES_ROMAN_10 ((void*)4)
-#define GLUT_BITMAP_TIMES_ROMAN_24 ((void*)5)
-#if (GLUT_API_VERSION >= 3)
-#define GLUT_BITMAP_HELVETICA_10 ((void*)6)
-#define GLUT_BITMAP_HELVETICA_12 ((void*)7)
-#define GLUT_BITMAP_HELVETICA_18 ((void*)8)
-#endif
-#else
-/* Stroke font opaque addresses (use constants instead in source code). */
-GLUTAPI void *glutStrokeRoman;
-GLUTAPI void *glutStrokeMonoRoman;
-
-/* Stroke font constants (use these in GLUT program). */
-#define GLUT_STROKE_ROMAN (&glutStrokeRoman)
-#define GLUT_STROKE_MONO_ROMAN (&glutStrokeMonoRoman)
-
-/* Bitmap font opaque addresses (use constants instead in source code). */
-GLUTAPI void *glutBitmap9By15;
-GLUTAPI void *glutBitmap8By13;
-GLUTAPI void *glutBitmapTimesRoman10;
-GLUTAPI void *glutBitmapTimesRoman24;
-GLUTAPI void *glutBitmapHelvetica10;
-GLUTAPI void *glutBitmapHelvetica12;
-GLUTAPI void *glutBitmapHelvetica18;
-
-/* Bitmap font constants (use these in GLUT program). */
-#define GLUT_BITMAP_9_BY_15 (&glutBitmap9By15)
-#define GLUT_BITMAP_8_BY_13 (&glutBitmap8By13)
-#define GLUT_BITMAP_TIMES_ROMAN_10 (&glutBitmapTimesRoman10)
-#define GLUT_BITMAP_TIMES_ROMAN_24 (&glutBitmapTimesRoman24)
-#if (GLUT_API_VERSION >= 3)
-#define GLUT_BITMAP_HELVETICA_10 (&glutBitmapHelvetica10)
-#define GLUT_BITMAP_HELVETICA_12 (&glutBitmapHelvetica12)
-#define GLUT_BITMAP_HELVETICA_18 (&glutBitmapHelvetica18)
-#endif
-#endif
-
-/* glutGet parameters. */
-#define GLUT_WINDOW_X 100
-#define GLUT_WINDOW_Y 101
-#define GLUT_WINDOW_WIDTH 102
-#define GLUT_WINDOW_HEIGHT 103
-#define GLUT_WINDOW_BUFFER_SIZE 104
-#define GLUT_WINDOW_STENCIL_SIZE 105
-#define GLUT_WINDOW_DEPTH_SIZE 106
-#define GLUT_WINDOW_RED_SIZE 107
-#define GLUT_WINDOW_GREEN_SIZE 108
-#define GLUT_WINDOW_BLUE_SIZE 109
-#define GLUT_WINDOW_ALPHA_SIZE 110
-#define GLUT_WINDOW_ACCUM_RED_SIZE 111
-#define GLUT_WINDOW_ACCUM_GREEN_SIZE 112
-#define GLUT_WINDOW_ACCUM_BLUE_SIZE 113
-#define GLUT_WINDOW_ACCUM_ALPHA_SIZE 114
-#define GLUT_WINDOW_DOUBLEBUFFER 115
-#define GLUT_WINDOW_RGBA 116
-#define GLUT_WINDOW_PARENT 117
-#define GLUT_WINDOW_NUM_CHILDREN 118
-#define GLUT_WINDOW_COLORMAP_SIZE 119
-#if (GLUT_API_VERSION >= 2)
-#define GLUT_WINDOW_NUM_SAMPLES 120
-#define GLUT_WINDOW_STEREO 121
-#endif
-#if (GLUT_API_VERSION >= 3)
-#define GLUT_WINDOW_CURSOR 122
-#endif
-#define GLUT_SCREEN_WIDTH 200
-#define GLUT_SCREEN_HEIGHT 201
-#define GLUT_SCREEN_WIDTH_MM 202
-#define GLUT_SCREEN_HEIGHT_MM 203
-#define GLUT_MENU_NUM_ITEMS 300
-#define GLUT_DISPLAY_MODE_POSSIBLE 400
-#define GLUT_INIT_WINDOW_X 500
-#define GLUT_INIT_WINDOW_Y 501
-#define GLUT_INIT_WINDOW_WIDTH 502
-#define GLUT_INIT_WINDOW_HEIGHT 503
-#define GLUT_INIT_DISPLAY_MODE 504
-#if (GLUT_API_VERSION >= 2)
-#define GLUT_ELAPSED_TIME 700
-#endif
-#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13)
-#define GLUT_WINDOW_FORMAT_ID 123
-#endif
-
-#if (GLUT_API_VERSION >= 2)
-/* glutDeviceGet parameters. */
-#define GLUT_HAS_KEYBOARD 600
-#define GLUT_HAS_MOUSE 601
-#define GLUT_HAS_SPACEBALL 602
-#define GLUT_HAS_DIAL_AND_BUTTON_BOX 603
-#define GLUT_HAS_TABLET 604
-#define GLUT_NUM_MOUSE_BUTTONS 605
-#define GLUT_NUM_SPACEBALL_BUTTONS 606
-#define GLUT_NUM_BUTTON_BOX_BUTTONS 607
-#define GLUT_NUM_DIALS 608
-#define GLUT_NUM_TABLET_BUTTONS 609
-#endif
-#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13)
-#define GLUT_DEVICE_IGNORE_KEY_REPEAT 610
-#define GLUT_DEVICE_KEY_REPEAT 611
-#define GLUT_HAS_JOYSTICK 612
-#define GLUT_OWNS_JOYSTICK 613
-#define GLUT_JOYSTICK_BUTTONS 614
-#define GLUT_JOYSTICK_AXES 615
-#define GLUT_JOYSTICK_POLL_RATE 616
-#endif
-
-#if (GLUT_API_VERSION >= 3)
-/* glutLayerGet parameters. */
-#define GLUT_OVERLAY_POSSIBLE 800
-#define GLUT_LAYER_IN_USE 801
-#define GLUT_HAS_OVERLAY 802
-#define GLUT_TRANSPARENT_INDEX 803
-#define GLUT_NORMAL_DAMAGED 804
-#define GLUT_OVERLAY_DAMAGED 805
-
-#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
-/* glutVideoResizeGet parameters. */
-#define GLUT_VIDEO_RESIZE_POSSIBLE 900
-#define GLUT_VIDEO_RESIZE_IN_USE 901
-#define GLUT_VIDEO_RESIZE_X_DELTA 902
-#define GLUT_VIDEO_RESIZE_Y_DELTA 903
-#define GLUT_VIDEO_RESIZE_WIDTH_DELTA 904
-#define GLUT_VIDEO_RESIZE_HEIGHT_DELTA 905
-#define GLUT_VIDEO_RESIZE_X 906
-#define GLUT_VIDEO_RESIZE_Y 907
-#define GLUT_VIDEO_RESIZE_WIDTH 908
-#define GLUT_VIDEO_RESIZE_HEIGHT 909
-#endif
-
-/* glutUseLayer parameters. */
-#define GLUT_NORMAL 0
-#define GLUT_OVERLAY 1
-
-/* glutGetModifiers return mask. */
-#define GLUT_ACTIVE_SHIFT 1
-#define GLUT_ACTIVE_CTRL 2
-#define GLUT_ACTIVE_ALT 4
-
-/* glutSetCursor parameters. */
-/* Basic arrows. */
-#define GLUT_CURSOR_RIGHT_ARROW 0
-#define GLUT_CURSOR_LEFT_ARROW 1
-/* Symbolic cursor shapes. */
-#define GLUT_CURSOR_INFO 2
-#define GLUT_CURSOR_DESTROY 3
-#define GLUT_CURSOR_HELP 4
-#define GLUT_CURSOR_CYCLE 5
-#define GLUT_CURSOR_SPRAY 6
-#define GLUT_CURSOR_WAIT 7
-#define GLUT_CURSOR_TEXT 8
-#define GLUT_CURSOR_CROSSHAIR 9
-/* Directional cursors. */
-#define GLUT_CURSOR_UP_DOWN 10
-#define GLUT_CURSOR_LEFT_RIGHT 11
-/* Sizing cursors. */
-#define GLUT_CURSOR_TOP_SIDE 12
-#define GLUT_CURSOR_BOTTOM_SIDE 13
-#define GLUT_CURSOR_LEFT_SIDE 14
-#define GLUT_CURSOR_RIGHT_SIDE 15
-#define GLUT_CURSOR_TOP_LEFT_CORNER 16
-#define GLUT_CURSOR_TOP_RIGHT_CORNER 17
-#define GLUT_CURSOR_BOTTOM_RIGHT_CORNER 18
-#define GLUT_CURSOR_BOTTOM_LEFT_CORNER 19
-/* Inherit from parent window. */
-#define GLUT_CURSOR_INHERIT 100
-/* Blank cursor. */
-#define GLUT_CURSOR_NONE 101
-/* Fullscreen crosshair (if available). */
-#define GLUT_CURSOR_FULL_CROSSHAIR 102
-#endif
-
-/* GLUT initialization sub-API. */
-GLUTAPI void GLUTAPIENTRY glutInit(int *argcp, char **argv);
-#if defined(_WIN32) && !defined(GLUT_DISABLE_ATEXIT_HACK)
-GLUTAPI void GLUTAPIENTRY __glutInitWithExit(int *argcp, char **argv, void (__cdecl *exitfunc)(int));
-#ifndef GLUT_BUILDING_LIB
-static void GLUTAPIENTRY glutInit_ATEXIT_HACK(int *argcp, char **argv) { __glutInitWithExit(argcp, argv, exit); }
-#define glutInit glutInit_ATEXIT_HACK
-#endif
-#endif
-GLUTAPI void GLUTAPIENTRY glutInitDisplayMode(unsigned int mode);
-#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
-GLUTAPI void GLUTAPIENTRY glutInitDisplayString(const char *string);
-#endif
-GLUTAPI void GLUTAPIENTRY glutInitWindowPosition(int x, int y);
-GLUTAPI void GLUTAPIENTRY glutInitWindowSize(int width, int height);
-GLUTAPI void GLUTAPIENTRY glutMainLoop(void);
-
-/* GLUT window sub-API. */
-GLUTAPI int GLUTAPIENTRY glutCreateWindow(const char *title);
-#if defined(_WIN32) && !defined(GLUT_DISABLE_ATEXIT_HACK)
-GLUTAPI int GLUTAPIENTRY __glutCreateWindowWithExit(const char *title, void (__cdecl *exitfunc)(int));
-#ifndef GLUT_BUILDING_LIB
-static int GLUTAPIENTRY glutCreateWindow_ATEXIT_HACK(const char *title) { return __glutCreateWindowWithExit(title, exit); }
-#define glutCreateWindow glutCreateWindow_ATEXIT_HACK
-#endif
-#endif
-GLUTAPI int GLUTAPIENTRY glutCreateSubWindow(int win, int x, int y, int width, int height);
-GLUTAPI void GLUTAPIENTRY glutDestroyWindow(int win);
-GLUTAPI void GLUTAPIENTRY glutPostRedisplay(void);
-#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11)
-GLUTAPI void GLUTAPIENTRY glutPostWindowRedisplay(int win);
-#endif
-GLUTAPI void GLUTAPIENTRY glutSwapBuffers(void);
-GLUTAPI int GLUTAPIENTRY glutGetWindow(void);
-GLUTAPI void GLUTAPIENTRY glutSetWindow(int win);
-GLUTAPI void GLUTAPIENTRY glutSetWindowTitle(const char *title);
-GLUTAPI void GLUTAPIENTRY glutSetIconTitle(const char *title);
-GLUTAPI void GLUTAPIENTRY glutPositionWindow(int x, int y);
-GLUTAPI void GLUTAPIENTRY glutReshapeWindow(int width, int height);
-GLUTAPI void GLUTAPIENTRY glutPopWindow(void);
-GLUTAPI void GLUTAPIENTRY glutPushWindow(void);
-GLUTAPI void GLUTAPIENTRY glutIconifyWindow(void);
-GLUTAPI void GLUTAPIENTRY glutShowWindow(void);
-GLUTAPI void GLUTAPIENTRY glutHideWindow(void);
-#if (GLUT_API_VERSION >= 3)
-GLUTAPI void GLUTAPIENTRY glutFullScreen(void);
-GLUTAPI void GLUTAPIENTRY glutSetCursor(int cursor);
-#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
-GLUTAPI void GLUTAPIENTRY glutWarpPointer(int x, int y);
-#endif
-
-/* GLUT overlay sub-API. */
-GLUTAPI void GLUTAPIENTRY glutEstablishOverlay(void);
-GLUTAPI void GLUTAPIENTRY glutRemoveOverlay(void);
-GLUTAPI void GLUTAPIENTRY glutUseLayer(GLenum layer);
-GLUTAPI void GLUTAPIENTRY glutPostOverlayRedisplay(void);
-#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11)
-GLUTAPI void GLUTAPIENTRY glutPostWindowOverlayRedisplay(int win);
-#endif
-GLUTAPI void GLUTAPIENTRY glutShowOverlay(void);
-GLUTAPI void GLUTAPIENTRY glutHideOverlay(void);
-#endif
-
-/* GLUT menu sub-API. */
-GLUTAPI int GLUTAPIENTRY glutCreateMenu(void (GLUTCALLBACK *func)(int));
-#if defined(_WIN32) && !defined(GLUT_DISABLE_ATEXIT_HACK)
-GLUTAPI int GLUTAPIENTRY __glutCreateMenuWithExit(void (GLUTCALLBACK *func)(int), void (__cdecl *exitfunc)(int));
-#ifndef GLUT_BUILDING_LIB
-static int GLUTAPIENTRY glutCreateMenu_ATEXIT_HACK(void (GLUTCALLBACK *func)(int)) { return __glutCreateMenuWithExit(func, exit); }
-#define glutCreateMenu glutCreateMenu_ATEXIT_HACK
-#endif
-#endif
-GLUTAPI void GLUTAPIENTRY glutDestroyMenu(int menu);
-GLUTAPI int GLUTAPIENTRY glutGetMenu(void);
-GLUTAPI void GLUTAPIENTRY glutSetMenu(int menu);
-GLUTAPI void GLUTAPIENTRY glutAddMenuEntry(const char *label, int value);
-GLUTAPI void GLUTAPIENTRY glutAddSubMenu(const char *label, int submenu);
-GLUTAPI void GLUTAPIENTRY glutChangeToMenuEntry(int item, const char *label, int value);
-GLUTAPI void GLUTAPIENTRY glutChangeToSubMenu(int item, const char *label, int submenu);
-GLUTAPI void GLUTAPIENTRY glutRemoveMenuItem(int item);
-GLUTAPI void GLUTAPIENTRY glutAttachMenu(int button);
-GLUTAPI void GLUTAPIENTRY glutDetachMenu(int button);
-
-/* GLUT window callback sub-API. */
-GLUTAPI void GLUTAPIENTRY glutDisplayFunc(void (GLUTCALLBACK *func)(void));
-GLUTAPI void GLUTAPIENTRY glutReshapeFunc(void (GLUTCALLBACK *func)(int width, int height));
-GLUTAPI void GLUTAPIENTRY glutKeyboardFunc(void (GLUTCALLBACK *func)(unsigned char key, int x, int y));
-GLUTAPI void GLUTAPIENTRY glutMouseFunc(void (GLUTCALLBACK *func)(int button, int state, int x, int y));
-GLUTAPI void GLUTAPIENTRY glutMotionFunc(void (GLUTCALLBACK *func)(int x, int y));
-GLUTAPI void GLUTAPIENTRY glutPassiveMotionFunc(void (GLUTCALLBACK *func)(int x, int y));
-GLUTAPI void GLUTAPIENTRY glutEntryFunc(void (GLUTCALLBACK *func)(int state));
-GLUTAPI void GLUTAPIENTRY glutVisibilityFunc(void (GLUTCALLBACK *func)(int state));
-GLUTAPI void GLUTAPIENTRY glutIdleFunc(void (GLUTCALLBACK *func)(void));
-GLUTAPI void GLUTAPIENTRY glutTimerFunc(unsigned int millis, void (GLUTCALLBACK *func)(int value), int value);
-GLUTAPI void GLUTAPIENTRY glutMenuStateFunc(void (GLUTCALLBACK *func)(int state));
-#if (GLUT_API_VERSION >= 2)
-GLUTAPI void GLUTAPIENTRY glutSpecialFunc(void (GLUTCALLBACK *func)(int key, int x, int y));
-GLUTAPI void GLUTAPIENTRY glutSpaceballMotionFunc(void (GLUTCALLBACK *func)(int x, int y, int z));
-GLUTAPI void GLUTAPIENTRY glutSpaceballRotateFunc(void (GLUTCALLBACK *func)(int x, int y, int z));
-GLUTAPI void GLUTAPIENTRY glutSpaceballButtonFunc(void (GLUTCALLBACK *func)(int button, int state));
-GLUTAPI void GLUTAPIENTRY glutButtonBoxFunc(void (GLUTCALLBACK *func)(int button, int state));
-GLUTAPI void GLUTAPIENTRY glutDialsFunc(void (GLUTCALLBACK *func)(int dial, int value));
-GLUTAPI void GLUTAPIENTRY glutTabletMotionFunc(void (GLUTCALLBACK *func)(int x, int y));
-GLUTAPI void GLUTAPIENTRY glutTabletButtonFunc(void (GLUTCALLBACK *func)(int button, int state, int x, int y));
-#if (GLUT_API_VERSION >= 3)
-GLUTAPI void GLUTAPIENTRY glutMenuStatusFunc(void (GLUTCALLBACK *func)(int status, int x, int y));
-GLUTAPI void GLUTAPIENTRY glutOverlayDisplayFunc(void (GLUTCALLBACK *func)(void));
-#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
-GLUTAPI void GLUTAPIENTRY glutWindowStatusFunc(void (GLUTCALLBACK *func)(int state));
-#endif
-#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13)
-GLUTAPI void GLUTAPIENTRY glutKeyboardUpFunc(void (GLUTCALLBACK *func)(unsigned char key, int x, int y));
-GLUTAPI void GLUTAPIENTRY glutSpecialUpFunc(void (GLUTCALLBACK *func)(int key, int x, int y));
-GLUTAPI void GLUTAPIENTRY glutJoystickFunc(void (GLUTCALLBACK *func)(unsigned int buttonMask, int x, int y, int z), int pollInterval);
-#endif
-#endif
-#endif
-
-/* GLUT color index sub-API. */
-GLUTAPI void GLUTAPIENTRY glutSetColor(int ndx, GLfloat red, GLfloat green, GLfloat blue);
-GLUTAPI GLfloat GLUTAPIENTRY glutGetColor(int ndx, int component);
-GLUTAPI void GLUTAPIENTRY glutCopyColormap(int win);
-
-/* GLUT state retrieval sub-API. */
-GLUTAPI int GLUTAPIENTRY glutGet(GLenum type);
-GLUTAPI int GLUTAPIENTRY glutDeviceGet(GLenum type);
-#if (GLUT_API_VERSION >= 2)
-/* GLUT extension support sub-API */
-GLUTAPI int GLUTAPIENTRY glutExtensionSupported(const char *name);
-#endif
-#if (GLUT_API_VERSION >= 3)
-GLUTAPI int GLUTAPIENTRY glutGetModifiers(void);
-GLUTAPI int GLUTAPIENTRY glutLayerGet(GLenum type);
-#endif
-#if (GLUT_API_VERSION >= 5)
-typedef void (*GLUTproc)();
-GLUTAPI GLUTproc GLUTAPIENTRY glutGetProcAddress(const char *procName);
-#endif
-
-/* GLUT font sub-API */
-GLUTAPI void GLUTAPIENTRY glutBitmapCharacter(void *font, int character);
-GLUTAPI int GLUTAPIENTRY glutBitmapWidth(void *font, int character);
-GLUTAPI void GLUTAPIENTRY glutStrokeCharacter(void *font, int character);
-GLUTAPI int GLUTAPIENTRY glutStrokeWidth(void *font, int character);
-#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
-GLUTAPI int GLUTAPIENTRY glutBitmapLength(void *font, const unsigned char *string);
-GLUTAPI int GLUTAPIENTRY glutStrokeLength(void *font, const unsigned char *string);
-#endif
-
-/* GLUT pre-built models sub-API */
-GLUTAPI void GLUTAPIENTRY glutWireSphere(GLdouble radius, GLint slices, GLint stacks);
-GLUTAPI void GLUTAPIENTRY glutSolidSphere(GLdouble radius, GLint slices, GLint stacks);
-GLUTAPI void GLUTAPIENTRY glutWireCone(GLdouble base, GLdouble height, GLint slices, GLint stacks);
-GLUTAPI void GLUTAPIENTRY glutSolidCone(GLdouble base, GLdouble height, GLint slices, GLint stacks);
-GLUTAPI void GLUTAPIENTRY glutWireCube(GLdouble size);
-GLUTAPI void GLUTAPIENTRY glutSolidCube(GLdouble size);
-GLUTAPI void GLUTAPIENTRY glutWireTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings);
-GLUTAPI void GLUTAPIENTRY glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings);
-GLUTAPI void GLUTAPIENTRY glutWireDodecahedron(void);
-GLUTAPI void GLUTAPIENTRY glutSolidDodecahedron(void);
-GLUTAPI void GLUTAPIENTRY glutWireTeapot(GLdouble size);
-GLUTAPI void GLUTAPIENTRY glutSolidTeapot(GLdouble size);
-GLUTAPI void GLUTAPIENTRY glutWireOctahedron(void);
-GLUTAPI void GLUTAPIENTRY glutSolidOctahedron(void);
-GLUTAPI void GLUTAPIENTRY glutWireTetrahedron(void);
-GLUTAPI void GLUTAPIENTRY glutSolidTetrahedron(void);
-GLUTAPI void GLUTAPIENTRY glutWireIcosahedron(void);
-GLUTAPI void GLUTAPIENTRY glutSolidIcosahedron(void);
-
-#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
-/* GLUT video resize sub-API. */
-GLUTAPI int GLUTAPIENTRY glutVideoResizeGet(GLenum param);
-GLUTAPI void GLUTAPIENTRY glutSetupVideoResizing(void);
-GLUTAPI void GLUTAPIENTRY glutStopVideoResizing(void);
-GLUTAPI void GLUTAPIENTRY glutVideoResize(int x, int y, int width, int height);
-GLUTAPI void GLUTAPIENTRY glutVideoPan(int x, int y, int width, int height);
-
-/* GLUT debugging sub-API. */
-GLUTAPI void GLUTAPIENTRY glutReportErrors(void);
-#endif
-
-#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13)
-/* GLUT device control sub-API. */
-/* glutSetKeyRepeat modes. */
-#define GLUT_KEY_REPEAT_OFF 0
-#define GLUT_KEY_REPEAT_ON 1
-#define GLUT_KEY_REPEAT_DEFAULT 2
-
-/* Joystick button masks. */
-#define GLUT_JOYSTICK_BUTTON_A 1
-#define GLUT_JOYSTICK_BUTTON_B 2
-#define GLUT_JOYSTICK_BUTTON_C 4
-#define GLUT_JOYSTICK_BUTTON_D 8
-
-GLUTAPI void GLUTAPIENTRY glutIgnoreKeyRepeat(int ignore);
-GLUTAPI void GLUTAPIENTRY glutSetKeyRepeat(int repeatMode);
-GLUTAPI void GLUTAPIENTRY glutForceJoystickFunc(void);
-
-/* GLUT game mode sub-API. */
-/* glutGameModeGet. */
-#define GLUT_GAME_MODE_ACTIVE 0
-#define GLUT_GAME_MODE_POSSIBLE 1
-#define GLUT_GAME_MODE_WIDTH 2
-#define GLUT_GAME_MODE_HEIGHT 3
-#define GLUT_GAME_MODE_PIXEL_DEPTH 4
-#define GLUT_GAME_MODE_REFRESH_RATE 5
-#define GLUT_GAME_MODE_DISPLAY_CHANGED 6
-
-GLUTAPI void GLUTAPIENTRY glutGameModeString(const char *string);
-GLUTAPI int GLUTAPIENTRY glutEnterGameMode(void);
-GLUTAPI void GLUTAPIENTRY glutLeaveGameMode(void);
-GLUTAPI int GLUTAPIENTRY glutGameModeGet(GLenum mode);
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __glut_h__ */
diff --git a/include/GL/glut_h.dja b/include/GL/glut_h.dja
deleted file mode 100644
index e76dcb985e..0000000000
--- a/include/GL/glut_h.dja
+++ /dev/null
@@ -1,340 +0,0 @@
-
-/*
- * Mesa 3-D graphics library
- * Version: 3.1
- * Copyright (C) 1995-1998 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-
-/*
- * This header file is based on the REAL glut.h by Mark J. Kilgard.
- *
- * The DJGPP/ALLEGRO (DJA) GLUT implementation was written by
- * Bernhard Tschirren (bernie-t@geocities.com) for the sole purpose
- * of compiling all the sample programs (which use GLUT). Therefore,
- * is NOT AT ALL a complete version of GLUT!
- */
-
-
-#ifndef __AGLUT_H__
-#define __AGLUT_H__
-
-#include <GL/gl.h>
-#include <GL/glu.h>
-
-#define GLUTCALLBACK
-#define APIENTRY
-#define GLUTAPI extern
-
-#define GLUT_RGB 0
-#define GLUT_RGBA GLUT_RGB
-#define GLUT_INDEX 1
-#define GLUT_SINGLE 0
-#define GLUT_DOUBLE 2
-#define GLUT_ACCUM 4
-#define GLUT_ALPHA 8
-#define GLUT_DEPTH 16
-#define GLUT_STENCIL 32
-
-/* Mouse buttons. */
-#define GLUT_LEFT_BUTTON 0
-#define GLUT_MIDDLE_BUTTON 1
-#define GLUT_RIGHT_BUTTON 2
-
-/* Mouse button state. */
-#define GLUT_DOWN 0
-#define GLUT_UP 1
-
-/* function keys */
-#define GLUT_KEY_F1 1
-#define GLUT_KEY_F2 2
-#define GLUT_KEY_F3 3
-#define GLUT_KEY_F4 4
-#define GLUT_KEY_F5 5
-#define GLUT_KEY_F6 6
-#define GLUT_KEY_F7 7
-#define GLUT_KEY_F8 8
-#define GLUT_KEY_F9 9
-#define GLUT_KEY_F10 10
-#define GLUT_KEY_F11 11
-#define GLUT_KEY_F12 12
-
-/* directional keys */
-#define GLUT_KEY_LEFT 100
-#define GLUT_KEY_UP 101
-#define GLUT_KEY_RIGHT 102
-#define GLUT_KEY_DOWN 103
-#define GLUT_KEY_PAGE_UP 104
-#define GLUT_KEY_PAGE_DOWN 105
-#define GLUT_KEY_HOME 106
-#define GLUT_KEY_END 107
-#define GLUT_KEY_INSERT 108
-
-/* Entry/exit state. */
-#define GLUT_LEFT 0
-#define GLUT_ENTERED 1
-
-/* Visibility state. */
-#define GLUT_NOT_VISIBLE 0
-#define GLUT_VISIBLE 1
-
-/* Color index component selection values. */
-#define GLUT_RED 0
-#define GLUT_GREEN 1
-#define GLUT_BLUE 2
-
-/* Layers for use. */
-#define GLUT_NORMAL 0
-#define GLUT_OVERLAY 1
-
-/* Stroke font constants (use these in GLUT program). */
-#define GLUT_STROKE_ROMAN ((void*)0)
-#define GLUT_STROKE_MONO_ROMAN ((void*)1)
-
-/* Bitmap font constants (use these in GLUT program). */
-#define GLUT_BITMAP_9_BY_15 ((void*)2)
-#define GLUT_BITMAP_8_BY_13 ((void*)3)
-#define GLUT_BITMAP_TIMES_ROMAN_10 ((void*)4)
-#define GLUT_BITMAP_TIMES_ROMAN_24 ((void*)5)
-#define GLUT_BITMAP_HELVETICA_10 ((void*)6)
-#define GLUT_BITMAP_HELVETICA_12 ((void*)7)
-#define GLUT_BITMAP_HELVETICA_18 ((void*)8)
-
-/* glutGet parameters. */
-#define GLUT_WINDOW_X 100
-#define GLUT_WINDOW_Y 101
-#define GLUT_WINDOW_WIDTH 102
-#define GLUT_WINDOW_HEIGHT 103
-#define GLUT_WINDOW_BUFFER_SIZE 104
-#define GLUT_WINDOW_STENCIL_SIZE 105
-#define GLUT_WINDOW_DEPTH_SIZE 106
-#define GLUT_WINDOW_RED_SIZE 107
-#define GLUT_WINDOW_GREEN_SIZE 108
-#define GLUT_WINDOW_BLUE_SIZE 109
-#define GLUT_WINDOW_ALPHA_SIZE 110
-#define GLUT_WINDOW_ACCUM_RED_SIZE 111
-#define GLUT_WINDOW_ACCUM_GREEN_SIZE 112
-#define GLUT_WINDOW_ACCUM_BLUE_SIZE 113
-#define GLUT_WINDOW_ACCUM_ALPHA_SIZE 114
-#define GLUT_WINDOW_DOUBLEBUFFER 115
-#define GLUT_WINDOW_RGBA 116
-#define GLUT_WINDOW_PARENT 117
-#define GLUT_WINDOW_NUM_CHILDREN 118
-#define GLUT_WINDOW_COLORMAP_SIZE 119
-#define GLUT_WINDOW_NUM_SAMPLES 120
-#define GLUT_WINDOW_STEREO 121
-#define GLUT_WINDOW_CURSOR 122
-#define GLUT_SCREEN_WIDTH 200
-#define GLUT_SCREEN_HEIGHT 201
-#define GLUT_SCREEN_WIDTH_MM 202
-#define GLUT_SCREEN_HEIGHT_MM 203
-#define GLUT_MENU_NUM_ITEMS 300
-#define GLUT_DISPLAY_MODE_POSSIBLE 400
-#define GLUT_INIT_WINDOW_X 500
-#define GLUT_INIT_WINDOW_Y 501
-#define GLUT_INIT_WINDOW_WIDTH 502
-#define GLUT_INIT_WINDOW_HEIGHT 503
-#define GLUT_INIT_DISPLAY_MODE 504
-#define GLUT_ELAPSED_TIME 700
-#define GLUT_WINDOW_FORMAT_ID 123
-
-/* glutDeviceGet parameters. */
-#define GLUT_HAS_KEYBOARD 600
-#define GLUT_HAS_MOUSE 601
-#define GLUT_HAS_SPACEBALL 602
-#define GLUT_HAS_DIAL_AND_BUTTON_BOX 603
-#define GLUT_HAS_TABLET 604
-#define GLUT_NUM_MOUSE_BUTTONS 605
-#define GLUT_NUM_SPACEBALL_BUTTONS 606
-#define GLUT_NUM_BUTTON_BOX_BUTTONS 607
-#define GLUT_NUM_DIALS 608
-#define GLUT_NUM_TABLET_BUTTONS 609
-#define GLUT_DEVICE_IGNORE_KEY_REPEAT 610
-#define GLUT_DEVICE_KEY_REPEAT 611
-#define GLUT_HAS_JOYSTICK 612
-#define GLUT_OWNS_JOYSTICK 613
-#define GLUT_JOYSTICK_BUTTONS 614
-#define GLUT_JOYSTICK_AXES 615
-#define GLUT_JOYSTICK_POLL_RATE 616
-
-/* glutLayerGet parameters. */
-#define GLUT_OVERLAY_POSSIBLE 800
-#define GLUT_LAYER_IN_USE 801
-#define GLUT_HAS_OVERLAY 802
-#define GLUT_TRANSPARENT_INDEX 803
-#define GLUT_NORMAL_DAMAGED 804
-#define GLUT_OVERLAY_DAMAGED 805
-
-/* glutVideoResizeGet parameters. */
-#define GLUT_VIDEO_RESIZE_POSSIBLE 900
-#define GLUT_VIDEO_RESIZE_IN_USE 901
-#define GLUT_VIDEO_RESIZE_X_DELTA 902
-#define GLUT_VIDEO_RESIZE_Y_DELTA 903
-#define GLUT_VIDEO_RESIZE_WIDTH_DELTA 904
-#define GLUT_VIDEO_RESIZE_HEIGHT_DELTA 905
-#define GLUT_VIDEO_RESIZE_X 906
-#define GLUT_VIDEO_RESIZE_Y 907
-#define GLUT_VIDEO_RESIZE_WIDTH 908
-#define GLUT_VIDEO_RESIZE_HEIGHT 909
-
-/* glutUseLayer parameters. */
-#define GLUT_NORMAL 0
-#define GLUT_OVERLAY 1
-
-/* glutGetModifiers return mask. */
-#define GLUT_ACTIVE_SHIFT 1
-#define GLUT_ACTIVE_CTRL 2
-#define GLUT_ACTIVE_ALT 4
-
-/* glutSetCursor parameters. */
-/* Basic arrows. */
-#define GLUT_CURSOR_RIGHT_ARROW 0
-#define GLUT_CURSOR_LEFT_ARROW 1
-/* Symbolic cursor shapes. */
-#define GLUT_CURSOR_INFO 2
-#define GLUT_CURSOR_DESTROY 3
-#define GLUT_CURSOR_HELP 4
-#define GLUT_CURSOR_CYCLE 5
-#define GLUT_CURSOR_SPRAY 6
-#define GLUT_CURSOR_WAIT 7
-#define GLUT_CURSOR_TEXT 8
-#define GLUT_CURSOR_CROSSHAIR 9
-/* Directional cursors. */
-#define GLUT_CURSOR_UP_DOWN 10
-#define GLUT_CURSOR_LEFT_RIGHT 11
-/* Sizing cursors. */
-#define GLUT_CURSOR_TOP_SIDE 12
-#define GLUT_CURSOR_BOTTOM_SIDE 13
-#define GLUT_CURSOR_LEFT_SIDE 14
-#define GLUT_CURSOR_RIGHT_SIDE 15
-#define GLUT_CURSOR_TOP_LEFT_CORNER 16
-#define GLUT_CURSOR_TOP_RIGHT_CORNER 17
-#define GLUT_CURSOR_BOTTOM_RIGHT_CORNER 18
-#define GLUT_CURSOR_BOTTOM_LEFT_CORNER 19
-/* Inherit from parent window. */
-#define GLUT_CURSOR_INHERIT 100
-/* Blank cursor. */
-#define GLUT_CURSOR_NONE 101
-/* Fullscreen crosshair (if available). */
-#define GLUT_CURSOR_FULL_CROSSHAIR 102
-
-/* GLUT initialization sub-API. */
-GLUTAPI void APIENTRY glutInit(int *argcp, char **argv);
-GLUTAPI void APIENTRY glutInitDisplayMode(unsigned int mode);
-GLUTAPI void APIENTRY glutInitWindowPosition(int x, int y);
-GLUTAPI void APIENTRY glutInitWindowSize(int width, int height);
-GLUTAPI void APIENTRY glutMainLoop(void);
-
-/* GLUT window sub-API. */
-GLUTAPI int APIENTRY glutCreateWindow(const char *title);
-GLUTAPI int APIENTRY glutCreateSubWindow(int win, int x, int y, int width, int height);
-GLUTAPI void APIENTRY glutDestroyWindow(int win);
-GLUTAPI void APIENTRY glutPostRedisplay(void);
-GLUTAPI void APIENTRY glutSwapBuffers(void);
-GLUTAPI int APIENTRY glutGetWindow(void);
-GLUTAPI void APIENTRY glutSetWindow(int win);
-GLUTAPI void APIENTRY glutSetWindowTitle(const char *title);
-GLUTAPI void APIENTRY glutSetIconTitle(const char *title);
-GLUTAPI void APIENTRY glutPositionWindow(int x, int y);
-GLUTAPI void APIENTRY glutReshapeWindow(int width, int height);
-GLUTAPI void APIENTRY glutPopWindow(void);
-GLUTAPI void APIENTRY glutPushWindow(void);
-GLUTAPI void APIENTRY glutIconifyWindow(void);
-GLUTAPI void APIENTRY glutShowWindow(void);
-GLUTAPI void APIENTRY glutHideWindow(void);
-
-/* GLUT overlay sub-API. */
-GLUTAPI void APIENTRY glutEstablishOverlay(void);
-GLUTAPI void APIENTRY glutRemoveOverlay(void);
-GLUTAPI void APIENTRY glutUseLayer(GLenum layer);
-GLUTAPI void APIENTRY glutPostOverlayRedisplay(void);
-GLUTAPI void APIENTRY glutShowOverlay(void);
-GLUTAPI void APIENTRY glutHideOverlay(void);
-
-/* GLUT menu sub-API. */
-GLUTAPI int APIENTRY glutCreateMenu(void (GLUTCALLBACK *)(int));
-GLUTAPI void APIENTRY glutDestroyMenu(int menu);
-GLUTAPI int APIENTRY glutGetMenu(void);
-GLUTAPI void APIENTRY glutSetMenu(int menu);
-GLUTAPI void APIENTRY glutAddMenuEntry(const char *label, int value);
-GLUTAPI void APIENTRY glutAddSubMenu(const char *label, int submenu);
-GLUTAPI void APIENTRY glutChangeToMenuEntry(int item, const char *label, int value);
-GLUTAPI void APIENTRY glutChangeToSubMenu(int item, const char *label, int submenu);
-GLUTAPI void APIENTRY glutRemoveMenuItem(int item);
-GLUTAPI void APIENTRY glutAttachMenu(int button);
-GLUTAPI void APIENTRY glutDetachMenu(int button);
-
-/* GLUT window callback sub-API. */
-GLUTAPI void APIENTRY glutDisplayFunc(void (GLUTCALLBACK * func)(void));
-GLUTAPI void APIENTRY glutReshapeFunc(void (GLUTCALLBACK * func)(int width, int height));
-GLUTAPI void APIENTRY glutKeyboardFunc(void (GLUTCALLBACK * func)(unsigned char key, int x, int y));
-GLUTAPI void APIENTRY glutMouseFunc(void (GLUTCALLBACK * func)(int button, int state, int x, int y));
-GLUTAPI void APIENTRY glutMotionFunc(void (GLUTCALLBACK * func)(int x, int y));
-GLUTAPI void APIENTRY glutPassiveMotionFunc(void (GLUTCALLBACK * func)(int x, int y));
-GLUTAPI void APIENTRY glutEntryFunc(void (GLUTCALLBACK * func)(int state));
-GLUTAPI void APIENTRY glutVisibilityFunc(void (GLUTCALLBACK * func)(int state));
-GLUTAPI void APIENTRY glutIdleFunc(void (GLUTCALLBACK * func)(void));
-GLUTAPI void APIENTRY glutTimerFunc(unsigned int millis, void (GLUTCALLBACK * func)(int value), int value);
-GLUTAPI void APIENTRY glutMenuStateFunc(void (GLUTCALLBACK * func)(int state));
-GLUTAPI void APIENTRY glutSpecialFunc(void (GLUTCALLBACK * func)(int key, int x, int y));
-GLUTAPI void APIENTRY glutSpaceballMotionFunc(void (GLUTCALLBACK * func)(int x, int y, int z));
-GLUTAPI void APIENTRY glutSpaceballRotateFunc(void (GLUTCALLBACK * func)(int x, int y, int z));
-GLUTAPI void APIENTRY glutSpaceballButtonFunc(void (GLUTCALLBACK * func)(int button, int state));
-GLUTAPI void APIENTRY glutButtonBoxFunc(void (GLUTCALLBACK * func)(int button, int state));
-GLUTAPI void APIENTRY glutDialsFunc(void (GLUTCALLBACK * func)(int dial, int value));
-GLUTAPI void APIENTRY glutTabletMotionFunc(void (GLUTCALLBACK * func)(int x, int y));
-GLUTAPI void APIENTRY glutTabletButtonFunc(void (GLUTCALLBACK * func)(int button, int state, int x, int y));
-GLUTAPI void APIENTRY glutMenuStatusFunc(void (GLUTCALLBACK * func)(int status, int x, int y));
-GLUTAPI void APIENTRY glutOverlayDisplayFunc(void (GLUTCALLBACK * func)(void));
-GLUTAPI void APIENTRY glutWindowStatusFunc(void (GLUTCALLBACK * func)(int state));
-
-/* GLUT color index sub-API. */
-GLUTAPI void APIENTRY glutSetColor(int, GLfloat red, GLfloat green, GLfloat blue);
-GLUTAPI GLfloat APIENTRY glutGetColor(int ndx, int component);
-GLUTAPI void APIENTRY glutCopyColormap(int win);
-
-/* GLUT state retrieval sub-API. */
-GLUTAPI int APIENTRY glutGet(GLenum type);
-GLUTAPI int APIENTRY glutDeviceGet(GLenum type);
-
-/* GLUT font sub-API */
-GLUTAPI void APIENTRY glutBitmapCharacter(void *font, int character);
-GLUTAPI int APIENTRY glutBitmapWidth(void *font, int character);
-GLUTAPI void APIENTRY glutStrokeCharacter(void *font, int character);
-GLUTAPI int APIENTRY glutStrokeWidth(void *font, int character);
-
-/* GLUT pre-built models sub-API */
-GLUTAPI void APIENTRY glutWireSphere(GLdouble radius, GLint slices, GLint stacks);
-GLUTAPI void APIENTRY glutSolidSphere(GLdouble radius, GLint slices, GLint stacks);
-GLUTAPI void APIENTRY glutWireCone(GLdouble base, GLdouble height, GLint slices, GLint stacks);
-GLUTAPI void APIENTRY glutSolidCone(GLdouble base, GLdouble height, GLint slices, GLint stacks);
-GLUTAPI void APIENTRY glutWireCube(GLdouble size);
-GLUTAPI void APIENTRY glutSolidCube(GLdouble size);
-GLUTAPI void APIENTRY glutWireTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings);
-GLUTAPI void APIENTRY glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings);
-GLUTAPI void APIENTRY glutWireDodecahedron(void);
-GLUTAPI void APIENTRY glutSolidDodecahedron(void);
-GLUTAPI void APIENTRY glutWireTeapot(GLdouble size);
-GLUTAPI void APIENTRY glutSolidTeapot(GLdouble size);
-GLUTAPI void APIENTRY glutWireOctahedron(void);
-GLUTAPI void APIENTRY glutSolidOctahedron(void);
-GLUTAPI void APIENTRY glutWireTetrahedron(void);
-GLUTAPI void APIENTRY glutSolidTetrahedron(void);
-GLUTAPI void APIENTRY glutWireIcosahedron(void);
-GLUTAPI void APIENTRY glutSolidIcosahedron(void);
-
-#endif /* __AGLUT_H__ */
diff --git a/include/GL/glutf90.h b/include/GL/glutf90.h
deleted file mode 100644
index 8a3a86727c..0000000000
--- a/include/GL/glutf90.h
+++ /dev/null
@@ -1,81 +0,0 @@
-#ifndef __glutf90_h__
-#define __glutf90_h__
-
-/* Copyright (c) Mark J. Kilgard & Willam F. Mitchell, 1998. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-/* This header provides the binding interface for William Mitchell's
- f90gl Fortran 90 GLUT binding. Other GLUT language bindings
- can and should use this interace. */
-
-/* I appreciate the guidance from William Mitchell
- (mitchell@cam.nist.gov) in developing this friend interface
- for use by the f90gl package. See ../../README.fortran */
-
-#include <GL/glut.h>
-
-/* Which callback enumerants for the __glutSetFCB/__glutGetFCB routines. */
-/* NOTE These values are part of a binary interface for the f90gl Fortran
- 90 binding and so must NOT changes (additions are allowed). */
-
-/* GLUTwindow callbacks. */
-#define GLUT_FCB_DISPLAY 0 /* GLUTdisplayFCB */
-#define GLUT_FCB_RESHAPE 1 /* GLUTreshapeFCB */
-#define GLUT_FCB_MOUSE 2 /* GLUTmouseFCB */
-#define GLUT_FCB_MOTION 3 /* GLUTmotionFCB */
-#define GLUT_FCB_PASSIVE 4 /* GLUTpassiveFCB */
-#define GLUT_FCB_ENTRY 5 /* GLUTentryFCB */
-#define GLUT_FCB_KEYBOARD 6 /* GLUTkeyboardFCB */
-#define GLUT_FCB_KEYBOARD_UP 7 /* GLUTkeyboardFCB */
-#define GLUT_FCB_WINDOW_STATUS 8 /* GLUTwindowStatusFCB */
-#define GLUT_FCB_VISIBILITY 9 /* GLUTvisibilityFCB */
-#define GLUT_FCB_SPECIAL 10 /* GLUTspecialFCB */
-#define GLUT_FCB_SPECIAL_UP 11 /* GLUTspecialFCB */
-#define GLUT_FCB_BUTTON_BOX 12 /* GLUTbuttonBoxFCB */
-#define GLUT_FCB_DIALS 13 /* GLUTdialsFCB */
-#define GLUT_FCB_SPACE_MOTION 14 /* GLUTspaceMotionFCB */
-#define GLUT_FCB_SPACE_ROTATE 15 /* GLUTspaceRotateFCB */
-#define GLUT_FCB_SPACE_BUTTON 16 /* GLUTspaceButtonFCB */
-#define GLUT_FCB_TABLET_MOTION 17 /* GLUTtabletMotionFCB */
-#define GLUT_FCB_TABLET_BUTTON 18 /* GLUTtabletButtonFCB */
-#define GLUT_FCB_JOYSTICK 19 /* GLUTjoystickFCB */
-/* Non-GLUTwindow callbacks. */
-#define GLUT_FCB_OVERLAY_DISPLAY 100 /* GLUTdisplayFCB */
-#define GLUT_FCB_SELECT 101 /* GLUTselectFCB */
-#define GLUT_FCB_TIMER 102 /* GLUTtimerFCB */
-
-/* GLUT Fortran callback function types. */
-typedef void (GLUTCALLBACK *GLUTdisplayFCB) (void);
-typedef void (GLUTCALLBACK *GLUTreshapeFCB) (int *, int *);
-/* NOTE the pressed key is int, not unsigned char for Fortran! */
-typedef void (GLUTCALLBACK *GLUTkeyboardFCB) (int *, int *, int *);
-typedef void (GLUTCALLBACK *GLUTmouseFCB) (int *, int *, int *, int *);
-typedef void (GLUTCALLBACK *GLUTmotionFCB) (int *, int *);
-typedef void (GLUTCALLBACK *GLUTpassiveFCB) (int *, int *);
-typedef void (GLUTCALLBACK *GLUTentryFCB) (int *);
-typedef void (GLUTCALLBACK *GLUTwindowStatusFCB) (int *);
-typedef void (GLUTCALLBACK *GLUTvisibilityFCB) (int *);
-typedef void (GLUTCALLBACK *GLUTspecialFCB) (int *, int *, int *);
-typedef void (GLUTCALLBACK *GLUTbuttonBoxFCB) (int *, int *);
-typedef void (GLUTCALLBACK *GLUTdialsFCB) (int *, int *);
-typedef void (GLUTCALLBACK *GLUTspaceMotionFCB) (int *, int *, int *);
-typedef void (GLUTCALLBACK *GLUTspaceRotateFCB) (int *, int *, int *);
-typedef void (GLUTCALLBACK *GLUTspaceButtonFCB) (int *, int *);
-typedef void (GLUTCALLBACK *GLUTtabletMotionFCB) (int *, int *);
-typedef void (GLUTCALLBACK *GLUTtabletButtonFCB) (int *, int *, int *, int *);
-typedef void (GLUTCALLBACK *GLUTjoystickFCB) (unsigned int *buttonMask, int *x, int *y, int *z);
-
-typedef void (GLUTCALLBACK *GLUTselectFCB) (int *);
-typedef void (GLUTCALLBACK *GLUTtimerFCB) (int *);
-typedef void (GLUTCALLBACK *GLUTmenuStateFCB) (int *); /* DEPRICATED. */
-typedef void (GLUTCALLBACK *GLUTmenuStatusFCB) (int *, int *, int *);
-typedef void (GLUTCALLBACK *GLUTidleFCB) (void);
-
-/* Functions that set and return Fortran callback functions. */
-GLUTAPI GLUTproc APIENTRY __glutGetFCB(int which);
-GLUTAPI void APIENTRY __glutSetFCB(int which, GLUTproc func);
-
-#endif /* __glutf90_h__ */
diff --git a/include/VG/openvg.h b/include/VG/openvg.h
deleted file mode 100644
index 60167e45d6..0000000000
--- a/include/VG/openvg.h
+++ /dev/null
@@ -1,686 +0,0 @@
-/* $Revision: 6822 $ on $Date:: 2008-10-30 05:14:19 -0400 #$ */
-
-/*------------------------------------------------------------------------
- *
- * OpenVG 1.0.1 Reference Implementation
- * -------------------------------------
- *
- * Copyright (c) 2008 The Khronos Group Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and /or associated documentation files
- * (the "Materials "), to deal in the Materials without restriction,
- * including without limitation the rights to use, copy, modify, merge,
- * publish, distribute, sublicense, and/or sell copies of the Materials,
- * and to permit persons to whom the Materials are 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 Materials.
- *
- * THE MATERIALS ARE 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 MATERIALS OR
- * THE USE OR OTHER DEALINGS IN THE MATERIALS.
- *
- *//**
- * \file
- * \brief OpenVG 1.0.1 API.
- *//*-------------------------------------------------------------------*/
-
-#ifndef _OPENVG_H
-#define _OPENVG_H
-
-#include <VG/vgplatform.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define OPENVG_VERSION_1_0 1
-#define OPENVG_VERSION_1_0_1 1
-
-#ifndef VG_MAXSHORT
-#define VG_MAXSHORT 0x7FFF
-#endif
-
-#ifndef VG_MAXINT
-#define VG_MAXINT 0x7FFFFFFF
-#endif
-
-#ifndef VG_MAX_ENUM
-#define VG_MAX_ENUM 0x7FFFFFFF
-#endif
-
-typedef long VGHandle;
-
-typedef VGHandle VGPath;
-typedef VGHandle VGImage;
-typedef VGHandle VGPaint;
-
-#define VG_INVALID_HANDLE ((VGHandle)0)
-
-typedef enum {
- VG_FALSE = 0,
- VG_TRUE = 1,
-
- VG_BOOLEAN_FORCE_SIZE = VG_MAX_ENUM
-} VGboolean;
-
-typedef enum {
- VG_NO_ERROR = 0,
- VG_BAD_HANDLE_ERROR = 0x1000,
- VG_ILLEGAL_ARGUMENT_ERROR = 0x1001,
- VG_OUT_OF_MEMORY_ERROR = 0x1002,
- VG_PATH_CAPABILITY_ERROR = 0x1003,
- VG_UNSUPPORTED_IMAGE_FORMAT_ERROR = 0x1004,
- VG_UNSUPPORTED_PATH_FORMAT_ERROR = 0x1005,
- VG_IMAGE_IN_USE_ERROR = 0x1006,
- VG_NO_CONTEXT_ERROR = 0x1007,
-
- VG_ERROR_CODE_FORCE_SIZE = VG_MAX_ENUM
-} VGErrorCode;
-
-typedef enum {
- /* Mode settings */
- VG_MATRIX_MODE = 0x1100,
- VG_FILL_RULE = 0x1101,
- VG_IMAGE_QUALITY = 0x1102,
- VG_RENDERING_QUALITY = 0x1103,
- VG_BLEND_MODE = 0x1104,
- VG_IMAGE_MODE = 0x1105,
-
- /* Scissoring rectangles */
- VG_SCISSOR_RECTS = 0x1106,
-
- /* Stroke parameters */
- VG_STROKE_LINE_WIDTH = 0x1110,
- VG_STROKE_CAP_STYLE = 0x1111,
- VG_STROKE_JOIN_STYLE = 0x1112,
- VG_STROKE_MITER_LIMIT = 0x1113,
- VG_STROKE_DASH_PATTERN = 0x1114,
- VG_STROKE_DASH_PHASE = 0x1115,
- VG_STROKE_DASH_PHASE_RESET = 0x1116,
-
- /* Edge fill color for VG_TILE_FILL tiling mode */
- VG_TILE_FILL_COLOR = 0x1120,
-
- /* Color for vgClear */
- VG_CLEAR_COLOR = 0x1121,
-
- /* Enable/disable alpha masking and scissoring */
- VG_MASKING = 0x1130,
- VG_SCISSORING = 0x1131,
-
- /* Pixel layout information */
- VG_PIXEL_LAYOUT = 0x1140,
- VG_SCREEN_LAYOUT = 0x1141,
-
- /* Source format selection for image filters */
- VG_FILTER_FORMAT_LINEAR = 0x1150,
- VG_FILTER_FORMAT_PREMULTIPLIED = 0x1151,
-
- /* Destination write enable mask for image filters */
- VG_FILTER_CHANNEL_MASK = 0x1152,
-
- /* Implementation limits (read-only) */
- VG_MAX_SCISSOR_RECTS = 0x1160,
- VG_MAX_DASH_COUNT = 0x1161,
- VG_MAX_KERNEL_SIZE = 0x1162,
- VG_MAX_SEPARABLE_KERNEL_SIZE = 0x1163,
- VG_MAX_COLOR_RAMP_STOPS = 0x1164,
- VG_MAX_IMAGE_WIDTH = 0x1165,
- VG_MAX_IMAGE_HEIGHT = 0x1166,
- VG_MAX_IMAGE_PIXELS = 0x1167,
- VG_MAX_IMAGE_BYTES = 0x1168,
- VG_MAX_FLOAT = 0x1169,
- VG_MAX_GAUSSIAN_STD_DEVIATION = 0x116A,
-
- VG_PARAM_TYPE_FORCE_SIZE = VG_MAX_ENUM
-} VGParamType;
-
-typedef enum {
- VG_RENDERING_QUALITY_NONANTIALIASED = 0x1200,
- VG_RENDERING_QUALITY_FASTER = 0x1201,
- VG_RENDERING_QUALITY_BETTER = 0x1202, /* Default */
-
- VG_RENDERING_QUALITY_FORCE_SIZE = VG_MAX_ENUM
-} VGRenderingQuality;
-
-typedef enum {
- VG_PIXEL_LAYOUT_UNKNOWN = 0x1300,
- VG_PIXEL_LAYOUT_RGB_VERTICAL = 0x1301,
- VG_PIXEL_LAYOUT_BGR_VERTICAL = 0x1302,
- VG_PIXEL_LAYOUT_RGB_HORIZONTAL = 0x1303,
- VG_PIXEL_LAYOUT_BGR_HORIZONTAL = 0x1304,
-
- VG_PIXEL_LAYOUT_FORCE_SIZE = VG_MAX_ENUM
-} VGPixelLayout;
-
-typedef enum {
- VG_MATRIX_PATH_USER_TO_SURFACE = 0x1400,
- VG_MATRIX_IMAGE_USER_TO_SURFACE = 0x1401,
- VG_MATRIX_FILL_PAINT_TO_USER = 0x1402,
- VG_MATRIX_STROKE_PAINT_TO_USER = 0x1403,
-
- VG_MATRIX_MODE_FORCE_SIZE = VG_MAX_ENUM
-} VGMatrixMode;
-
-typedef enum {
- VG_CLEAR_MASK = 0x1500,
- VG_FILL_MASK = 0x1501,
- VG_SET_MASK = 0x1502,
- VG_UNION_MASK = 0x1503,
- VG_INTERSECT_MASK = 0x1504,
- VG_SUBTRACT_MASK = 0x1505,
-
- VG_MASK_OPERATION_FORCE_SIZE = VG_MAX_ENUM
-} VGMaskOperation;
-
-#define VG_PATH_FORMAT_STANDARD 0
-
-typedef enum {
- VG_PATH_DATATYPE_S_8 = 0,
- VG_PATH_DATATYPE_S_16 = 1,
- VG_PATH_DATATYPE_S_32 = 2,
- VG_PATH_DATATYPE_F = 3,
-
- VG_PATH_DATATYPE_FORCE_SIZE = VG_MAX_ENUM
-} VGPathDatatype;
-
-typedef enum {
- VG_ABSOLUTE = 0,
- VG_RELATIVE = 1,
-
- VG_PATH_ABS_REL_FORCE_SIZE = VG_MAX_ENUM
-} VGPathAbsRel;
-
-typedef enum {
- VG_CLOSE_PATH = ( 0 << 1),
- VG_MOVE_TO = ( 1 << 1),
- VG_LINE_TO = ( 2 << 1),
- VG_HLINE_TO = ( 3 << 1),
- VG_VLINE_TO = ( 4 << 1),
- VG_QUAD_TO = ( 5 << 1),
- VG_CUBIC_TO = ( 6 << 1),
- VG_SQUAD_TO = ( 7 << 1),
- VG_SCUBIC_TO = ( 8 << 1),
- VG_SCCWARC_TO = ( 9 << 1),
- VG_SCWARC_TO = (10 << 1),
- VG_LCCWARC_TO = (11 << 1),
- VG_LCWARC_TO = (12 << 1),
-
- VG_PATH_SEGMENT_FORCE_SIZE = VG_MAX_ENUM
-} VGPathSegment;
-
-typedef enum {
- VG_MOVE_TO_ABS = VG_MOVE_TO | VG_ABSOLUTE,
- VG_MOVE_TO_REL = VG_MOVE_TO | VG_RELATIVE,
- VG_LINE_TO_ABS = VG_LINE_TO | VG_ABSOLUTE,
- VG_LINE_TO_REL = VG_LINE_TO | VG_RELATIVE,
- VG_HLINE_TO_ABS = VG_HLINE_TO | VG_ABSOLUTE,
- VG_HLINE_TO_REL = VG_HLINE_TO | VG_RELATIVE,
- VG_VLINE_TO_ABS = VG_VLINE_TO | VG_ABSOLUTE,
- VG_VLINE_TO_REL = VG_VLINE_TO | VG_RELATIVE,
- VG_QUAD_TO_ABS = VG_QUAD_TO | VG_ABSOLUTE,
- VG_QUAD_TO_REL = VG_QUAD_TO | VG_RELATIVE,
- VG_CUBIC_TO_ABS = VG_CUBIC_TO | VG_ABSOLUTE,
- VG_CUBIC_TO_REL = VG_CUBIC_TO | VG_RELATIVE,
- VG_SQUAD_TO_ABS = VG_SQUAD_TO | VG_ABSOLUTE,
- VG_SQUAD_TO_REL = VG_SQUAD_TO | VG_RELATIVE,
- VG_SCUBIC_TO_ABS = VG_SCUBIC_TO | VG_ABSOLUTE,
- VG_SCUBIC_TO_REL = VG_SCUBIC_TO | VG_RELATIVE,
- VG_SCCWARC_TO_ABS = VG_SCCWARC_TO | VG_ABSOLUTE,
- VG_SCCWARC_TO_REL = VG_SCCWARC_TO | VG_RELATIVE,
- VG_SCWARC_TO_ABS = VG_SCWARC_TO | VG_ABSOLUTE,
- VG_SCWARC_TO_REL = VG_SCWARC_TO | VG_RELATIVE,
- VG_LCCWARC_TO_ABS = VG_LCCWARC_TO | VG_ABSOLUTE,
- VG_LCCWARC_TO_REL = VG_LCCWARC_TO | VG_RELATIVE,
- VG_LCWARC_TO_ABS = VG_LCWARC_TO | VG_ABSOLUTE,
- VG_LCWARC_TO_REL = VG_LCWARC_TO | VG_RELATIVE,
-
- VG_PATH_COMMAND_FORCE_SIZE = VG_MAX_ENUM
-} VGPathCommand;
-
-typedef enum {
- VG_PATH_CAPABILITY_APPEND_FROM = (1 << 0),
- VG_PATH_CAPABILITY_APPEND_TO = (1 << 1),
- VG_PATH_CAPABILITY_MODIFY = (1 << 2),
- VG_PATH_CAPABILITY_TRANSFORM_FROM = (1 << 3),
- VG_PATH_CAPABILITY_TRANSFORM_TO = (1 << 4),
- VG_PATH_CAPABILITY_INTERPOLATE_FROM = (1 << 5),
- VG_PATH_CAPABILITY_INTERPOLATE_TO = (1 << 6),
- VG_PATH_CAPABILITY_PATH_LENGTH = (1 << 7),
- VG_PATH_CAPABILITY_POINT_ALONG_PATH = (1 << 8),
- VG_PATH_CAPABILITY_TANGENT_ALONG_PATH = (1 << 9),
- VG_PATH_CAPABILITY_PATH_BOUNDS = (1 << 10),
- VG_PATH_CAPABILITY_PATH_TRANSFORMED_BOUNDS = (1 << 11),
- VG_PATH_CAPABILITY_ALL = (1 << 12) - 1,
-
- VG_PATH_CAPABILITIES_FORCE_SIZE = VG_MAX_ENUM
-} VGPathCapabilities;
-
-typedef enum {
- VG_PATH_FORMAT = 0x1600,
- VG_PATH_DATATYPE = 0x1601,
- VG_PATH_SCALE = 0x1602,
- VG_PATH_BIAS = 0x1603,
- VG_PATH_NUM_SEGMENTS = 0x1604,
- VG_PATH_NUM_COORDS = 0x1605,
-
- VG_PATH_PARAM_TYPE_FORCE_SIZE = VG_MAX_ENUM
-} VGPathParamType;
-
-typedef enum {
- VG_CAP_BUTT = 0x1700,
- VG_CAP_ROUND = 0x1701,
- VG_CAP_SQUARE = 0x1702,
-
- VG_CAP_STYLE_FORCE_SIZE = VG_MAX_ENUM
-} VGCapStyle;
-
-typedef enum {
- VG_JOIN_MITER = 0x1800,
- VG_JOIN_ROUND = 0x1801,
- VG_JOIN_BEVEL = 0x1802,
-
- VG_JOIN_STYLE_FORCE_SIZE = VG_MAX_ENUM
-} VGJoinStyle;
-
-typedef enum {
- VG_EVEN_ODD = 0x1900,
- VG_NON_ZERO = 0x1901,
-
- VG_FILL_RULE_FORCE_SIZE = VG_MAX_ENUM
-} VGFillRule;
-
-typedef enum {
- VG_STROKE_PATH = (1 << 0),
- VG_FILL_PATH = (1 << 1),
-
- VG_PAINT_MODE_FORCE_SIZE = VG_MAX_ENUM
-} VGPaintMode;
-
-typedef enum {
- /* Color paint parameters */
- VG_PAINT_TYPE = 0x1A00,
- VG_PAINT_COLOR = 0x1A01,
- VG_PAINT_COLOR_RAMP_SPREAD_MODE = 0x1A02,
- VG_PAINT_COLOR_RAMP_PREMULTIPLIED = 0x1A07,
- VG_PAINT_COLOR_RAMP_STOPS = 0x1A03,
-
- /* Linear gradient paint parameters */
- VG_PAINT_LINEAR_GRADIENT = 0x1A04,
-
- /* Radial gradient paint parameters */
- VG_PAINT_RADIAL_GRADIENT = 0x1A05,
-
- /* Pattern paint parameters */
- VG_PAINT_PATTERN_TILING_MODE = 0x1A06,
-
- VG_PAINT_PARAM_TYPE_FORCE_SIZE = VG_MAX_ENUM
-} VGPaintParamType;
-
-typedef enum {
- VG_PAINT_TYPE_COLOR = 0x1B00,
- VG_PAINT_TYPE_LINEAR_GRADIENT = 0x1B01,
- VG_PAINT_TYPE_RADIAL_GRADIENT = 0x1B02,
- VG_PAINT_TYPE_PATTERN = 0x1B03,
-
- VG_PAINT_TYPE_FORCE_SIZE = VG_MAX_ENUM
-} VGPaintType;
-
-typedef enum {
- VG_COLOR_RAMP_SPREAD_PAD = 0x1C00,
- VG_COLOR_RAMP_SPREAD_REPEAT = 0x1C01,
- VG_COLOR_RAMP_SPREAD_REFLECT = 0x1C02,
-
- VG_COLOR_RAMP_SPREAD_MODE_FORCE_SIZE = VG_MAX_ENUM
-} VGColorRampSpreadMode;
-
-typedef enum {
- VG_TILE_FILL = 0x1D00,
- VG_TILE_PAD = 0x1D01,
- VG_TILE_REPEAT = 0x1D02,
- VG_TILE_REFLECT = 0x1D03,
-
- VG_TILING_MODE_FORCE_SIZE = VG_MAX_ENUM
-} VGTilingMode;
-
-typedef enum {
- /* RGB{A,X} channel ordering */
- VG_sRGBX_8888 = 0,
- VG_sRGBA_8888 = 1,
- VG_sRGBA_8888_PRE = 2,
- VG_sRGB_565 = 3,
- VG_sRGBA_5551 = 4,
- VG_sRGBA_4444 = 5,
- VG_sL_8 = 6,
- VG_lRGBX_8888 = 7,
- VG_lRGBA_8888 = 8,
- VG_lRGBA_8888_PRE = 9,
- VG_lL_8 = 10,
- VG_A_8 = 11,
- VG_BW_1 = 12,
-
- /* {A,X}RGB channel ordering */
- VG_sXRGB_8888 = 0 | (1 << 6),
- VG_sARGB_8888 = 1 | (1 << 6),
- VG_sARGB_8888_PRE = 2 | (1 << 6),
- VG_sARGB_1555 = 4 | (1 << 6),
- VG_sARGB_4444 = 5 | (1 << 6),
- VG_lXRGB_8888 = 7 | (1 << 6),
- VG_lARGB_8888 = 8 | (1 << 6),
- VG_lARGB_8888_PRE = 9 | (1 << 6),
-
- /* BGR{A,X} channel ordering */
- VG_sBGRX_8888 = 0 | (1 << 7),
- VG_sBGRA_8888 = 1 | (1 << 7),
- VG_sBGRA_8888_PRE = 2 | (1 << 7),
- VG_sBGR_565 = 3 | (1 << 7),
- VG_sBGRA_5551 = 4 | (1 << 7),
- VG_sBGRA_4444 = 5 | (1 << 7),
- VG_lBGRX_8888 = 7 | (1 << 7),
- VG_lBGRA_8888 = 8 | (1 << 7),
- VG_lBGRA_8888_PRE = 9 | (1 << 7),
-
- /* {A,X}BGR channel ordering */
- VG_sXBGR_8888 = 0 | (1 << 6) | (1 << 7),
- VG_sABGR_8888 = 1 | (1 << 6) | (1 << 7),
- VG_sABGR_8888_PRE = 2 | (1 << 6) | (1 << 7),
- VG_sABGR_1555 = 4 | (1 << 6) | (1 << 7),
- VG_sABGR_4444 = 5 | (1 << 6) | (1 << 7),
- VG_lXBGR_8888 = 7 | (1 << 6) | (1 << 7),
- VG_lABGR_8888 = 8 | (1 << 6) | (1 << 7),
- VG_lABGR_8888_PRE = 9 | (1 << 6) | (1 << 7),
-
- VG_IMAGE_FORMAT_FORCE_SIZE = VG_MAX_ENUM
-} VGImageFormat;
-
-typedef enum {
- VG_IMAGE_QUALITY_NONANTIALIASED = (1 << 0),
- VG_IMAGE_QUALITY_FASTER = (1 << 1),
- VG_IMAGE_QUALITY_BETTER = (1 << 2),
-
- VG_IMAGE_QUALITY_FORCE_SIZE = VG_MAX_ENUM
-} VGImageQuality;
-
-typedef enum {
- VG_IMAGE_FORMAT = 0x1E00,
- VG_IMAGE_WIDTH = 0x1E01,
- VG_IMAGE_HEIGHT = 0x1E02,
-
- VG_IMAGE_PARAM_TYPE_FORCE_SIZE = VG_MAX_ENUM
-} VGImageParamType;
-
-typedef enum {
- VG_DRAW_IMAGE_NORMAL = 0x1F00,
- VG_DRAW_IMAGE_MULTIPLY = 0x1F01,
- VG_DRAW_IMAGE_STENCIL = 0x1F02,
-
- VG_IMAGE_MODE_FORCE_SIZE = VG_MAX_ENUM
-} VGImageMode;
-
-typedef enum {
- VG_RED = (1 << 3),
- VG_GREEN = (1 << 2),
- VG_BLUE = (1 << 1),
- VG_ALPHA = (1 << 0),
-
- VG_IMAGE_CHANNEL_FORCE_SIZE = VG_MAX_ENUM
-} VGImageChannel;
-
-typedef enum {
- VG_BLEND_SRC = 0x2000,
- VG_BLEND_SRC_OVER = 0x2001,
- VG_BLEND_DST_OVER = 0x2002,
- VG_BLEND_SRC_IN = 0x2003,
- VG_BLEND_DST_IN = 0x2004,
- VG_BLEND_MULTIPLY = 0x2005,
- VG_BLEND_SCREEN = 0x2006,
- VG_BLEND_DARKEN = 0x2007,
- VG_BLEND_LIGHTEN = 0x2008,
- VG_BLEND_ADDITIVE = 0x2009,
-
- VG_BLEND_MODE_FORCE_SIZE = VG_MAX_ENUM
-} VGBlendMode;
-
-typedef enum {
- VG_IMAGE_FORMAT_QUERY = 0x2100,
- VG_PATH_DATATYPE_QUERY = 0x2101,
-
- VG_HARDWARE_QUERY_TYPE_FORCE_SIZE = VG_MAX_ENUM
-} VGHardwareQueryType;
-
-typedef enum {
- VG_HARDWARE_ACCELERATED = 0x2200,
- VG_HARDWARE_UNACCELERATED = 0x2201,
-
- VG_HARDWARE_QUERY_RESULT_FORCE_SIZE = VG_MAX_ENUM
-} VGHardwareQueryResult;
-
-typedef enum {
- VG_VENDOR = 0x2300,
- VG_RENDERER = 0x2301,
- VG_VERSION = 0x2302,
- VG_EXTENSIONS = 0x2303,
-
- VG_STRING_ID_FORCE_SIZE = VG_MAX_ENUM
-} VGStringID;
-
-/* Function Prototypes */
-
-#ifndef VG_API_CALL
-# error VG_API_CALL must be defined
-#endif
-
-#ifndef VG_API_ENTRY
-# error VG_API_ENTRY must be defined
-#endif
-
-#ifndef VG_API_EXIT
-# error VG_API_EXIT must be defined
-#endif
-
-VG_API_CALL VGErrorCode VG_API_ENTRY vgGetError(void) VG_API_EXIT;
-
-VG_API_CALL void VG_API_ENTRY vgFlush(void) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgFinish(void) VG_API_EXIT;
-
-/* Getters and Setters */
-VG_API_CALL void VG_API_ENTRY vgSetf (VGParamType type, VGfloat value) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgSeti (VGParamType type, VGint value) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgSetfv(VGParamType type, VGint count,
- const VGfloat * values) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgSetiv(VGParamType type, VGint count,
- const VGint * values) VG_API_EXIT;
-
-VG_API_CALL VGfloat VG_API_ENTRY vgGetf(VGParamType type) VG_API_EXIT;
-VG_API_CALL VGint VG_API_ENTRY vgGeti(VGParamType type) VG_API_EXIT;
-VG_API_CALL VGint VG_API_ENTRY vgGetVectorSize(VGParamType type) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgGetfv(VGParamType type, VGint count, VGfloat * values) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgGetiv(VGParamType type, VGint count, VGint * values) VG_API_EXIT;
-
-VG_API_CALL void VG_API_ENTRY vgSetParameterf(VGHandle object,
- VGint paramType,
- VGfloat value) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgSetParameteri(VGHandle object,
- VGint paramType,
- VGint value) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgSetParameterfv(VGHandle object,
- VGint paramType,
- VGint count, const VGfloat * values) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgSetParameteriv(VGHandle object,
- VGint paramType,
- VGint count, const VGint * values) VG_API_EXIT;
-
-VG_API_CALL VGfloat VG_API_ENTRY vgGetParameterf(VGHandle object,
- VGint paramType) VG_API_EXIT;
-VG_API_CALL VGint VG_API_ENTRY vgGetParameteri(VGHandle object,
- VGint paramType);
-VG_API_CALL VGint VG_API_ENTRY vgGetParameterVectorSize(VGHandle object,
- VGint paramType) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgGetParameterfv(VGHandle object,
- VGint paramType,
- VGint count, VGfloat * values) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgGetParameteriv(VGHandle object,
- VGint paramType,
- VGint count, VGint * values) VG_API_EXIT;
-
-/* Matrix Manipulation */
-VG_API_CALL void VG_API_ENTRY vgLoadIdentity(void) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgLoadMatrix(const VGfloat * m) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgGetMatrix(VGfloat * m) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgMultMatrix(const VGfloat * m) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgTranslate(VGfloat tx, VGfloat ty) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgScale(VGfloat sx, VGfloat sy) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgShear(VGfloat shx, VGfloat shy) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgRotate(VGfloat angle) VG_API_EXIT;
-
-/* Masking and Clearing */
-VG_API_CALL void VG_API_ENTRY vgMask(VGImage mask, VGMaskOperation operation,
- VGint x, VGint y, VGint width, VGint height) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgClear(VGint x, VGint y, VGint width, VGint height) VG_API_EXIT;
-
-/* Paths */
-VG_API_CALL VGPath VG_API_ENTRY vgCreatePath(VGint pathFormat,
- VGPathDatatype datatype,
- VGfloat scale, VGfloat bias,
- VGint segmentCapacityHint,
- VGint coordCapacityHint,
- VGbitfield capabilities) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgClearPath(VGPath path, VGbitfield capabilities) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgDestroyPath(VGPath path) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgRemovePathCapabilities(VGPath path,
- VGbitfield capabilities) VG_API_EXIT;
-VG_API_CALL VGbitfield VG_API_ENTRY vgGetPathCapabilities(VGPath path) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgAppendPath(VGPath dstPath, VGPath srcPath) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgAppendPathData(VGPath dstPath,
- VGint numSegments,
- const VGubyte * pathSegments,
- const void * pathData) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgModifyPathCoords(VGPath dstPath, VGint startIndex,
- VGint numSegments,
- const void * pathData) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgTransformPath(VGPath dstPath, VGPath srcPath) VG_API_EXIT;
-VG_API_CALL VGboolean VG_API_ENTRY vgInterpolatePath(VGPath dstPath,
- VGPath startPath,
- VGPath endPath,
- VGfloat amount) VG_API_EXIT;
-VG_API_CALL VGfloat VG_API_ENTRY vgPathLength(VGPath path,
- VGint startSegment, VGint numSegments) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgPointAlongPath(VGPath path,
- VGint startSegment, VGint numSegments,
- VGfloat distance,
- VGfloat * x, VGfloat * y,
- VGfloat * tangentX, VGfloat * tangentY) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgPathBounds(VGPath path,
- VGfloat * minX, VGfloat * minY,
- VGfloat * width, VGfloat * height) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgPathTransformedBounds(VGPath path,
- VGfloat * minX, VGfloat * minY,
- VGfloat * width, VGfloat * height) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgDrawPath(VGPath path, VGbitfield paintModes) VG_API_EXIT;
-
-/* Paint */
-VG_API_CALL VGPaint VG_API_ENTRY vgCreatePaint(void) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgDestroyPaint(VGPaint paint) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgSetPaint(VGPaint paint, VGbitfield paintModes) VG_API_EXIT;
-VG_API_CALL VGPaint VG_API_ENTRY vgGetPaint(VGPaintMode paintMode) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgSetColor(VGPaint paint, VGuint rgba) VG_API_EXIT;
-VG_API_CALL VGuint VG_API_ENTRY vgGetColor(VGPaint paint) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgPaintPattern(VGPaint paint, VGImage pattern) VG_API_EXIT;
-
-/* Images */
-VG_API_CALL VGImage VG_API_ENTRY vgCreateImage(VGImageFormat format,
- VGint width, VGint height,
- VGbitfield allowedQuality) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgDestroyImage(VGImage image) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgClearImage(VGImage image,
- VGint x, VGint y, VGint width, VGint height) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgImageSubData(VGImage image,
- const void * data, VGint dataStride,
- VGImageFormat dataFormat,
- VGint x, VGint y, VGint width, VGint height) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgGetImageSubData(VGImage image,
- void * data, VGint dataStride,
- VGImageFormat dataFormat,
- VGint x, VGint y,
- VGint width, VGint height) VG_API_EXIT;
-VG_API_CALL VGImage VG_API_ENTRY vgChildImage(VGImage parent,
- VGint x, VGint y, VGint width, VGint height) VG_API_EXIT;
-VG_API_CALL VGImage VG_API_ENTRY vgGetParent(VGImage image) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgCopyImage(VGImage dst, VGint dx, VGint dy,
- VGImage src, VGint sx, VGint sy,
- VGint width, VGint height,
- VGboolean dither) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgDrawImage(VGImage image) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgSetPixels(VGint dx, VGint dy,
- VGImage src, VGint sx, VGint sy,
- VGint width, VGint height) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgWritePixels(const void * data, VGint dataStride,
- VGImageFormat dataFormat,
- VGint dx, VGint dy,
- VGint width, VGint height) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgGetPixels(VGImage dst, VGint dx, VGint dy,
- VGint sx, VGint sy,
- VGint width, VGint height) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgReadPixels(void * data, VGint dataStride,
- VGImageFormat dataFormat,
- VGint sx, VGint sy,
- VGint width, VGint height) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgCopyPixels(VGint dx, VGint dy,
- VGint sx, VGint sy,
- VGint width, VGint height) VG_API_EXIT;
-
-/* Image Filters */
-VG_API_CALL void VG_API_ENTRY vgColorMatrix(VGImage dst, VGImage src,
- const VGfloat * matrix) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgConvolve(VGImage dst, VGImage src,
- VGint kernelWidth, VGint kernelHeight,
- VGint shiftX, VGint shiftY,
- const VGshort * kernel,
- VGfloat scale,
- VGfloat bias,
- VGTilingMode tilingMode) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgSeparableConvolve(VGImage dst, VGImage src,
- VGint kernelWidth,
- VGint kernelHeight,
- VGint shiftX, VGint shiftY,
- const VGshort * kernelX,
- const VGshort * kernelY,
- VGfloat scale,
- VGfloat bias,
- VGTilingMode tilingMode) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgGaussianBlur(VGImage dst, VGImage src,
- VGfloat stdDeviationX,
- VGfloat stdDeviationY,
- VGTilingMode tilingMode) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgLookup(VGImage dst, VGImage src,
- const VGubyte * redLUT,
- const VGubyte * greenLUT,
- const VGubyte * blueLUT,
- const VGubyte * alphaLUT,
- VGboolean outputLinear,
- VGboolean outputPremultiplied) VG_API_EXIT;
-VG_API_CALL void VG_API_ENTRY vgLookupSingle(VGImage dst, VGImage src,
- const VGuint * lookupTable,
- VGImageChannel sourceChannel,
- VGboolean outputLinear,
- VGboolean outputPremultiplied) VG_API_EXIT;
-
-/* Hardware Queries */
-VG_API_CALL VGHardwareQueryResult VG_API_ENTRY vgHardwareQuery(VGHardwareQueryType key,
- VGint setting) VG_API_EXIT;
-
-/* Renderer and Extension Information */
-VG_API_CALL const VGubyte * VG_API_ENTRY vgGetString(VGStringID name) VG_API_EXIT;
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /* _OPENVG_H */
diff --git a/include/VG/vgext.h b/include/VG/vgext.h
deleted file mode 100644
index 97e3e779e1..0000000000
--- a/include/VG/vgext.h
+++ /dev/null
@@ -1,233 +0,0 @@
-/* $Revision: 6810 $ on $Date:: 2008-10-29 10:31:37 -0400 #$ */
-
-/*------------------------------------------------------------------------
- *
- * VG extensions Reference Implementation
- * -------------------------------------
- *
- * Copyright (c) 2008 The Khronos Group Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and /or associated documentation files
- * (the "Materials "), to deal in the Materials without restriction,
- * including without limitation the rights to use, copy, modify, merge,
- * publish, distribute, sublicense, and/or sell copies of the Materials,
- * and to permit persons to whom the Materials are 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 Materials.
- *
- * THE MATERIALS ARE 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 MATERIALS OR
- * THE USE OR OTHER DEALINGS IN THE MATERIALS.
- *
- *//**
- * \file
- * \brief VG extensions
- *//*-------------------------------------------------------------------*/
-
-
-
-#ifndef _VGEXT_H
-#define _VGEXT_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <VG/openvg.h>
-#include <VG/vgu.h>
-
-#ifndef VG_API_ENTRYP
-# define VG_API_ENTRYP VG_API_ENTRY*
-#endif
-
-#ifndef VGU_API_ENTRYP
-# define VGU_API_ENTRYP VGU_API_ENTRY*
-#endif
-
-/*-------------------------------------------------------------------------------
- * KHR extensions
- *------------------------------------------------------------------------------*/
-
-typedef enum {
-
-#ifndef VG_KHR_iterative_average_blur
- VG_MAX_AVERAGE_BLUR_DIMENSION_KHR = 0x116B,
- VG_AVERAGE_BLUR_DIMENSION_RESOLUTION_KHR = 0x116C,
- VG_MAX_AVERAGE_BLUR_ITERATIONS_KHR = 0x116D,
-#endif
-
- VG_PARAM_TYPE_KHR_FORCE_SIZE = VG_MAX_ENUM
-} VGParamTypeKHR;
-
-#ifndef VG_KHR_EGL_image
-#define VG_KHR_EGL_image 1
-/* VGEGLImageKHR is an opaque handle to an EGLImage */
-typedef void* VGeglImageKHR;
-
-#ifdef VG_VGEXT_PROTOTYPES
-VG_API_CALL VGImage VG_API_ENTRY vgCreateEGLImageTargetKHR(VGeglImageKHR image);
-#endif
-typedef VGImage (VG_API_ENTRYP PFNVGCREATEEGLIMAGETARGETKHRPROC) (VGeglImageKHR image);
-
-#endif
-
-
-#ifndef VG_KHR_iterative_average_blur
-#define VG_KHR_iterative_average_blur 1
-
-#ifdef VG_VGEXT_PROTOTYPES
-VG_API_CALL void vgIterativeAverageBlurKHR(VGImage dst,VGImage src,VGfloat dimX,VGfloat dimY,VGuint iterative,VGTilingMode tilingMode);
-#endif
-typedef void (VG_API_ENTRYP PFNVGITERATIVEAVERAGEBLURKHRPROC) (VGImage dst,VGImage src,VGfloat dimX,VGfloat dimY,VGuint iterative,VGTilingMode tilingMode);
-
-#endif
-
-
-#ifndef VG_KHR_advanced_blending
-#define VG_KHR_advanced_blending 1
-
-typedef enum {
- VG_BLEND_OVERLAY_KHR = 0x2010,
- VG_BLEND_HARDLIGHT_KHR = 0x2011,
- VG_BLEND_SOFTLIGHT_SVG_KHR = 0x2012,
- VG_BLEND_SOFTLIGHT_KHR = 0x2013,
- VG_BLEND_COLORDODGE_KHR = 0x2014,
- VG_BLEND_COLORBURN_KHR = 0x2015,
- VG_BLEND_DIFFERENCE_KHR = 0x2016,
- VG_BLEND_SUBTRACT_KHR = 0x2017,
- VG_BLEND_INVERT_KHR = 0x2018,
- VG_BLEND_EXCLUSION_KHR = 0x2019,
- VG_BLEND_LINEARDODGE_KHR = 0x201a,
- VG_BLEND_LINEARBURN_KHR = 0x201b,
- VG_BLEND_VIVIDLIGHT_KHR = 0x201c,
- VG_BLEND_LINEARLIGHT_KHR = 0x201d,
- VG_BLEND_PINLIGHT_KHR = 0x201e,
- VG_BLEND_HARDMIX_KHR = 0x201f,
- VG_BLEND_CLEAR_KHR = 0x2020,
- VG_BLEND_DST_KHR = 0x2021,
- VG_BLEND_SRC_OUT_KHR = 0x2022,
- VG_BLEND_DST_OUT_KHR = 0x2023,
- VG_BLEND_SRC_ATOP_KHR = 0x2024,
- VG_BLEND_DST_ATOP_KHR = 0x2025,
- VG_BLEND_XOR_KHR = 0x2026,
-
- VG_BLEND_MODE_KHR_FORCE_SIZE= VG_MAX_ENUM
-} VGBlendModeKHR;
-#endif
-
-#ifndef VG_KHR_parametric_filter
-#define VG_KHR_parametric_filter 1
-
-typedef enum {
- VG_PF_OBJECT_VISIBLE_FLAG_KHR = (1 << 0),
- VG_PF_KNOCKOUT_FLAG_KHR = (1 << 1),
- VG_PF_OUTER_FLAG_KHR = (1 << 2),
- VG_PF_INNER_FLAG_KHR = (1 << 3),
-
- VG_PF_TYPE_KHR_FORCE_SIZE = VG_MAX_ENUM
-} VGPfTypeKHR;
-
-typedef enum {
- VGU_IMAGE_IN_USE_ERROR = 0xF010,
-
- VGU_ERROR_CODE_KHR_FORCE_SIZE = VG_MAX_ENUM
-} VGUErrorCodeKHR;
-
-#ifdef VG_VGEXT_PROTOTYPES
-VG_API_CALL void VG_API_ENTRY vgParametricFilterKHR(VGImage dst,VGImage src,VGImage blur,VGfloat strength,VGfloat offsetX,VGfloat offsetY,VGbitfield filterFlags,VGPaint highlightPaint,VGPaint shadowPaint);
-VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguDropShadowKHR(VGImage dst,VGImage src,VGfloat dimX,VGfloat dimY,VGuint iterative,VGfloat strength,VGfloat distance,VGfloat angle,VGbitfield filterFlags,VGbitfield allowedQuality,VGuint shadowColorRGBA);
-VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguGlowKHR(VGImage dst,VGImage src,VGfloat dimX,VGfloat dimY,VGuint iterative,VGfloat strength,VGbitfield filterFlags,VGbitfield allowedQuality,VGuint glowColorRGBA) ;
-VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguBevelKHR(VGImage dst,VGImage src,VGfloat dimX,VGfloat dimY,VGuint iterative,VGfloat strength,VGfloat distance,VGfloat angle,VGbitfield filterFlags,VGbitfield allowedQuality,VGuint highlightColorRGBA,VGuint shadowColorRGBA);
-VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguGradientGlowKHR(VGImage dst,VGImage src,VGfloat dimX,VGfloat dimY,VGuint iterative,VGfloat strength,VGfloat distance,VGfloat angle,VGbitfield filterFlags,VGbitfield allowedQuality,VGuint stopsCount,const VGfloat* glowColorRampStops);
-VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguGradientBevelKHR(VGImage dst,VGImage src,VGfloat dimX,VGfloat dimY,VGuint iterative,VGfloat strength,VGfloat distance,VGfloat angle,VGbitfield filterFlags,VGbitfield allowedQuality,VGuint stopsCount,const VGfloat* bevelColorRampStops);
-#endif
-typedef void (VG_API_ENTRYP PFNVGPARAMETRICFILTERKHRPROC) (VGImage dst,VGImage src,VGImage blur,VGfloat strength,VGfloat offsetX,VGfloat offsetY,VGbitfield filterFlags,VGPaint highlightPaint,VGPaint shadowPaint);
-typedef VGUErrorCode (VGU_API_ENTRYP PFNVGUDROPSHADOWKHRPROC) (VGImage dst,VGImage src,VGfloat dimX,VGfloat dimY,VGuint iterative,VGfloat strength,VGfloat distance,VGfloat angle,VGbitfield filterFlags,VGbitfield allowedQuality,VGuint shadowColorRGBA);
-typedef VGUErrorCode (VGU_API_ENTRYP PFNVGUGLOWKHRPROC) (VGImage dst,VGImage src,VGfloat dimX,VGfloat dimY,VGuint iterative,VGfloat strength,VGbitfield filterFlags,VGbitfield allowedQuality,VGuint glowColorRGBA);
-typedef VGUErrorCode (VGU_API_ENTRYP PFNVGUBEVELKHRPROC) (VGImage dst,VGImage src,VGfloat dimX,VGfloat dimY,VGuint iterative,VGfloat strength,VGfloat distance,VGfloat angle,VGbitfield filterFlags,VGbitfield allowedQuality,VGuint highlightColorRGBA,VGuint shadowColorRGBA);
-typedef VGUErrorCode (VGU_API_ENTRYP PFNVGUGRADIENTGLOWKHRPROC) (VGImage dst,VGImage src,VGfloat dimX,VGfloat dimY,VGuint iterative,VGfloat strength,VGfloat distance,VGfloat angle,VGbitfield filterFlags,VGbitfield allowedQuality,VGuint stopsCount,const VGfloat* glowColorRampStops);
-typedef VGUErrorCode (VGU_API_ENTRYP PFNVGUGRADIENTBEVELKHRPROC) (VGImage dst,VGImage src,VGfloat dimX,VGfloat dimY,VGuint iterative,VGfloat strength,VGfloat distance,VGfloat angle,VGbitfield filterFlags,VGbitfield allowedQuality,VGuint stopsCount,const VGfloat* bevelColorRampStops);
-
-#endif
-
-
-/*-------------------------------------------------------------------------------
- * NDS extensions
- *------------------------------------------------------------------------------*/
-
-#ifndef VG_NDS_paint_generation
-#define VG_NDS_paint_generation 1
-
-typedef enum {
- VG_PAINT_COLOR_RAMP_LINEAR_NDS = 0x1A10,
- VG_COLOR_MATRIX_NDS = 0x1A11,
- VG_PAINT_COLOR_TRANSFORM_LINEAR_NDS = 0x1A12,
-
- VG_PAINT_PARAM_TYPE_NDS_FORCE_SIZE = VG_MAX_ENUM
-} VGPaintParamTypeNds;
-
-typedef enum {
- VG_DRAW_IMAGE_COLOR_MATRIX_NDS = 0x1F10,
-
- VG_IMAGE_MODE_NDS_FORCE_SIZE = VG_MAX_ENUM
-} VGImageModeNds;
-#endif
-
-
-#ifndef VG_NDS_projective_geometry
-#define VG_NDS_projective_geometry 1
-
-typedef enum {
- VG_CLIP_MODE_NDS = 0x1180,
- VG_CLIP_LINES_NDS = 0x1181,
- VG_MAX_CLIP_LINES_NDS = 0x1182,
-
- VG_PARAM_TYPE_NDS_FORCE_SIZE = VG_MAX_ENUM
-} VGParamTypeNds;
-
-typedef enum {
- VG_CLIPMODE_NONE_NDS = 0x3000,
- VG_CLIPMODE_CLIP_CLOSED_NDS = 0x3001,
- VG_CLIPMODE_CLIP_OPEN_NDS = 0x3002,
- VG_CLIPMODE_CULL_NDS = 0x3003,
-
- VG_CLIPMODE_NDS_FORCE_SIZE = VG_MAX_ENUM
-} VGClipModeNds;
-
-typedef enum {
- VG_RQUAD_TO_NDS = ( 13 << 1 ),
- VG_RCUBIC_TO_NDS = ( 14 << 1 ),
-
- VG_PATH_SEGMENT_NDS_FORCE_SIZE = VG_MAX_ENUM
-} VGPathSegmentNds;
-
-typedef enum {
- VG_RQUAD_TO_ABS_NDS = (VG_RQUAD_TO_NDS | VG_ABSOLUTE),
- VG_RQUAD_TO_REL_NDS = (VG_RQUAD_TO_NDS | VG_RELATIVE),
- VG_RCUBIC_TO_ABS_NDS = (VG_RCUBIC_TO_NDS | VG_ABSOLUTE),
- VG_RCUBIC_TO_REL_NDS = (VG_RCUBIC_TO_NDS | VG_RELATIVE),
-
- VG_PATH_COMMAND_NDS_FORCE_SIZE = VG_MAX_ENUM
-} VGPathCommandNds;
-
-#ifdef VG_VGEXT_PROTOTYPES
-VG_API_CALL void VG_API_ENTRY vgProjectiveMatrixNDS(VGboolean enable) ;
-VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguTransformClipLineNDS(const VGfloat Ain,const VGfloat Bin,const VGfloat Cin,const VGfloat* matrix,const VGboolean inverse,VGfloat* Aout,VGfloat* Bout,VGfloat* Cout);
-#endif
-typedef void (VG_API_ENTRYP PFNVGPROJECTIVEMATRIXNDSPROC) (VGboolean enable) ;
-typedef VGUErrorCode (VGU_API_ENTRYP PFNVGUTRANSFORMCLIPLINENDSPROC) (const VGfloat Ain,const VGfloat Bin,const VGfloat Cin,const VGfloat* matrix,const VGboolean inverse,VGfloat* Aout,VGfloat* Bout,VGfloat* Cout);
-
-#endif
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /* _VGEXT_H */
diff --git a/include/VG/vgplatform.h b/include/VG/vgplatform.h
deleted file mode 100644
index e4f269f658..0000000000
--- a/include/VG/vgplatform.h
+++ /dev/null
@@ -1,106 +0,0 @@
-/* $Revision: 6810 $ on $Date:: 2008-10-29 10:31:37 -0400 #$ */
-
-/*------------------------------------------------------------------------
- *
- * VG platform specific header Reference Implementation
- * ----------------------------------------------------
- *
- * Copyright (c) 2008 The Khronos Group Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and /or associated documentation files
- * (the "Materials "), to deal in the Materials without restriction,
- * including without limitation the rights to use, copy, modify, merge,
- * publish, distribute, sublicense, and/or sell copies of the Materials,
- * and to permit persons to whom the Materials are 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 Materials.
- *
- * THE MATERIALS ARE 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 MATERIALS OR
- * THE USE OR OTHER DEALINGS IN THE MATERIALS.
- *
- *//**
- * \file
- * \brief VG platform specific header
- *//*-------------------------------------------------------------------*/
-
-#ifndef _VGPLATFORM_H
-#define _VGPLATFORM_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef VG_API_CALL
-#if defined(OPENVG_STATIC_LIBRARY)
-# define VG_API_CALL
-#else
-# if defined(_WIN32) || defined(__VC32__) /* Win32 */
-# if defined (OPENVG_DLL_EXPORTS)
-# define VG_API_CALL __declspec(dllexport)
-# else
-# define VG_API_CALL __declspec(dllimport)
-# endif
-# else
-# define VG_API_CALL extern
-# endif /* defined(_WIN32) ||... */
-#endif /* defined OPENVG_STATIC_LIBRARY */
-#endif /* ifndef VG_API_CALL */
-
-#ifndef VGU_API_CALL
-#if defined(OPENVG_STATIC_LIBRARY)
-# define VGU_API_CALL
-#else
-# if defined(_WIN32) || defined(__VC32__) /* Win32 */
-# if defined (OPENVG_DLL_EXPORTS)
-# define VGU_API_CALL __declspec(dllexport)
-# else
-# define VGU_API_CALL __declspec(dllimport)
-# endif
-# else
-# define VGU_API_CALL extern
-# endif /* defined(_WIN32) ||... */
-#endif /* defined OPENVG_STATIC_LIBRARY */
-#endif /* ifndef VGU_API_CALL */
-
-
-#ifndef VG_API_ENTRY
-#define VG_API_ENTRY
-#endif
-
-#ifndef VG_API_EXIT
-#define VG_API_EXIT
-#endif
-
-#ifndef VGU_API_ENTRY
-#define VGU_API_ENTRY
-#endif
-
-#ifndef VGU_API_EXIT
-#define VGU_API_EXIT
-#endif
-
-typedef float VGfloat;
-typedef signed char VGbyte;
-typedef unsigned char VGubyte;
-typedef signed short VGshort;
-typedef signed int VGint;
-typedef unsigned int VGuint;
-typedef unsigned int VGbitfield;
-
-#ifndef VG_VGEXT_PROTOTYPES
-#define VG_VGEXT_PROTOTYPES
-#endif
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /* _VGPLATFORM_H */
diff --git a/include/VG/vgu.h b/include/VG/vgu.h
deleted file mode 100644
index 2799684e5e..0000000000
--- a/include/VG/vgu.h
+++ /dev/null
@@ -1,130 +0,0 @@
-/* $Revision: 6810 $ on $Date:: 2008-10-29 10:31:37 -0400 #$ */
-
-/*------------------------------------------------------------------------
- *
- * VGU 1.0.1 Reference Implementation
- * -------------------------------------
- *
- * Copyright (c) 2008 The Khronos Group Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and /or associated documentation files
- * (the "Materials "), to deal in the Materials without restriction,
- * including without limitation the rights to use, copy, modify, merge,
- * publish, distribute, sublicense, and/or sell copies of the Materials,
- * and to permit persons to whom the Materials are 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 Materials.
- *
- * THE MATERIALS ARE 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 MATERIALS OR
- * THE USE OR OTHER DEALINGS IN THE MATERIALS.
- *
- *//**
- * \file
- * \brief VGU 1.0.1 API.
- *//*-------------------------------------------------------------------*/
-
-#ifndef _VGU_H
-#define _VGU_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <VG/openvg.h>
-
-#define VGU_VERSION_1_0 1
-
-#ifndef VGU_API_CALL
-# error VGU_API_CALL must be defined
-#endif
-
-#ifndef VGU_API_ENTRY
-# error VGU_API_ENTRY must be defined
-#endif
-
-#ifndef VGU_API_EXIT
-# error VGU_API_EXIT must be defined
-#endif
-
-
-typedef enum {
- VGU_NO_ERROR = 0,
- VGU_BAD_HANDLE_ERROR = 0xF000,
- VGU_ILLEGAL_ARGUMENT_ERROR = 0xF001,
- VGU_OUT_OF_MEMORY_ERROR = 0xF002,
- VGU_PATH_CAPABILITY_ERROR = 0xF003,
- VGU_BAD_WARP_ERROR = 0xF004,
-
- VGU_ERROR_CODE_FORCE_SIZE = VG_MAX_ENUM
-} VGUErrorCode;
-
-typedef enum {
- VGU_ARC_OPEN = 0xF100,
- VGU_ARC_CHORD = 0xF101,
- VGU_ARC_PIE = 0xF102,
-
- VGU_ARC_TYPE_FORCE_SIZE = VG_MAX_ENUM
-} VGUArcType;
-
-VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguLine(VGPath path,
- VGfloat x0, VGfloat y0,
- VGfloat x1, VGfloat y1) VGU_API_EXIT;
-
-VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguPolygon(VGPath path,
- const VGfloat * points, VGint count,
- VGboolean closed) VGU_API_EXIT;
-
-VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguRect(VGPath path,
- VGfloat x, VGfloat y,
- VGfloat width, VGfloat height) VGU_API_EXIT;
-
-VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguRoundRect(VGPath path,
- VGfloat x, VGfloat y,
- VGfloat width, VGfloat height,
- VGfloat arcWidth, VGfloat arcHeight) VGU_API_EXIT;
-
-VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguEllipse(VGPath path,
- VGfloat cx, VGfloat cy,
- VGfloat width, VGfloat height) VGU_API_EXIT;
-
-VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguArc(VGPath path,
- VGfloat x, VGfloat y,
- VGfloat width, VGfloat height,
- VGfloat startAngle, VGfloat angleExtent,
- VGUArcType arcType) VGU_API_EXIT;
-
-VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguComputeWarpQuadToSquare(VGfloat sx0, VGfloat sy0,
- VGfloat sx1, VGfloat sy1,
- VGfloat sx2, VGfloat sy2,
- VGfloat sx3, VGfloat sy3,
- VGfloat * matrix) VGU_API_EXIT;
-
-VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguComputeWarpSquareToQuad(VGfloat dx0, VGfloat dy0,
- VGfloat dx1, VGfloat dy1,
- VGfloat dx2, VGfloat dy2,
- VGfloat dx3, VGfloat dy3,
- VGfloat * matrix) VGU_API_EXIT;
-
-VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguComputeWarpQuadToQuad(VGfloat dx0, VGfloat dy0,
- VGfloat dx1, VGfloat dy1,
- VGfloat dx2, VGfloat dy2,
- VGfloat dx3, VGfloat dy3,
- VGfloat sx0, VGfloat sy0,
- VGfloat sx1, VGfloat sy1,
- VGfloat sx2, VGfloat sy2,
- VGfloat sx3, VGfloat sy3,
- VGfloat * matrix) VGU_API_EXIT;
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /* #ifndef _VGU_H */
diff --git a/progs/demos/Windows/all.dsp b/progs/demos/Windows/all.dsp
deleted file mode 100644
index 5c9b3450da..0000000000
--- a/progs/demos/Windows/all.dsp
+++ /dev/null
@@ -1,101 +0,0 @@
-# Microsoft Developer Studio Project File - Name="all" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Application" 0x0101
-
-CFG=all - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "all.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "all.mak" CFG="all - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "all - Win32 Release" (based on "Win32 (x86) Application")
-!MESSAGE "all - Win32 Debug" (based on "Win32 (x86) Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "all - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
-
-!ELSEIF "$(CFG)" == "all - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
-
-!ENDIF
-
-# Begin Target
-
-# Name "all - Win32 Release"
-# Name "all - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/progs/demos/Windows/bounce.dsp b/progs/demos/Windows/bounce.dsp
deleted file mode 100644
index ff33ba6e13..0000000000
--- a/progs/demos/Windows/bounce.dsp
+++ /dev/null
@@ -1,112 +0,0 @@
-# Microsoft Developer Studio Project File - Name="bounce" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=bounce - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "bounce.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "bounce.mak" CFG="bounce - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "bounce - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "bounce - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "bounce - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /machine:I386 /out:"../bounce.exe"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ELSEIF "$(CFG)" == "bounce - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /debug /machine:I386 /out:"../bounce.exe" /pdbtype:sept
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ENDIF
-
-# Begin Target
-
-# Name "bounce - Win32 Release"
-# Name "bounce - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\bounce.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/progs/demos/Windows/clearspd.dsp b/progs/demos/Windows/clearspd.dsp
deleted file mode 100644
index 58fadcca2d..0000000000
--- a/progs/demos/Windows/clearspd.dsp
+++ /dev/null
@@ -1,112 +0,0 @@
-# Microsoft Developer Studio Project File - Name="clearspd" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=clearspd - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "clearspd.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "clearspd.mak" CFG="clearspd - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "clearspd - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "clearspd - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "clearspd - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /machine:I386 /out:"../clearspd.exe"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ELSEIF "$(CFG)" == "clearspd - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /debug /machine:I386 /out:"../clearspd.exe" /pdbtype:sept
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ENDIF
-
-# Begin Target
-
-# Name "clearspd - Win32 Release"
-# Name "clearspd - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\clearspd.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/progs/demos/Windows/cubemap.dsp b/progs/demos/Windows/cubemap.dsp
deleted file mode 100644
index 7c37b1b3ea..0000000000
--- a/progs/demos/Windows/cubemap.dsp
+++ /dev/null
@@ -1,112 +0,0 @@
-# Microsoft Developer Studio Project File - Name="cubemap" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=cubemap - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "cubemap.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "cubemap.mak" CFG="cubemap - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "cubemap - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "cubemap - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "cubemap - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /machine:I386 /out:"../cubemap.exe"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ELSEIF "$(CFG)" == "cubemap - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /debug /machine:I386 /out:"../cubemap.exe" /pdbtype:sept
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ENDIF
-
-# Begin Target
-
-# Name "cubemap - Win32 Release"
-# Name "cubemap - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\cubemap.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/progs/demos/Windows/demos.dsw b/progs/demos/Windows/demos.dsw
deleted file mode 100644
index d989e736de..0000000000
--- a/progs/demos/Windows/demos.dsw
+++ /dev/null
@@ -1,782 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "all"=".\all.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name bounce
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name clearspd
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name cubemap
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name drawpix
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name fire
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name gears
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name geartrain
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name glinfo
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name gloss
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name gltestperf
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name glutfx
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name ipers
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name isosurf
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name lodbias
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name morph3d
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name multiarb
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name occlude
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name osdemo
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name paltex
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name pixeltex
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name pointblast
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name rain
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name ray
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name readpix
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name reflect
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name renormal
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name shadowtex
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name spectex
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name stex3d
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name teapot
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name terrain
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name tessdemo
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name texcyl
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name texdown
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name texenv
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name texobj
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name trispd
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name tunnel
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name tunnel2
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name winpos
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name spriteblast
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name glut
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "bounce"=".\bounce.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name glut
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "clearspd"=".\clearspd.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name glut
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "cubemap"=".\cubemap.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name glut
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "drawpix"=".\drawpix.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name glut
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "fire"=".\fire.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name glut
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "gears"=".\gears.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name glut
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "geartrain"=".\geartrain.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name glut
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "glinfo"=".\glinfo.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name glut
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "gloss"=".\gloss.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name glut
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "gltestperf"=".\gltestperf.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name glut
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "glut"="..\..\..\src\glut\glx\glut.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "glutfx"=".\glutfx.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name glut
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "ipers"=".\ipers.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name glut
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "isosurf"=".\isosurf.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name glut
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "lodbias"=".\loadbias.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name glut
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "morph3d"=".\morph3d.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name glut
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "multiarb"=".\multiarb.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name glut
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "occlude"=".\occlude.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name glut
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "osdemo"=".\osdemo.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name glut
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "paltex"=".\paltex.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name glut
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "pixeltex"=".\pixeltex.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name glut
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "pointblast"=".\pointblast.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name glut
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "rain"=".\rain.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name glut
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "ray"=".\ray.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name glut
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "readpix"=".\readpix.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name glut
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "reflect"=".\reflect.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name glut
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "renormal"=".\renormal.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name glut
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "shadowtex"=".\shadowtex.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name glut
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "spectex"=".\spectex.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name glut
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "spriteblast"=".\spriteblast.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name glut
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "stex3d"=".\stex3d.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name glut
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "teapot"=".\teapot.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name glut
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "terrain"=".\terrain.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name glut
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "tessdemo"=".\tessdemo.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name glut
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "texcyl"=".\texcyl.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name glut
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "texdown"=".\texdown.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name glut
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "texenv"=".\texenv.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name glut
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "texobj"=".\texobj.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name glut
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "trispd"=".\trispd.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name glut
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "tunnel"=".\tunnel.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name glut
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "tunnel2"=".\tunnel2.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name glut
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "winpos"=".\winpos.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name glut
- End Project Dependency
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/progs/demos/Windows/drawpix.dsp b/progs/demos/Windows/drawpix.dsp
deleted file mode 100644
index f21be17792..0000000000
--- a/progs/demos/Windows/drawpix.dsp
+++ /dev/null
@@ -1,112 +0,0 @@
-# Microsoft Developer Studio Project File - Name="drawpix" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=drawpix - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "drawpix.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "drawpix.mak" CFG="drawpix - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "drawpix - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "drawpix - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "drawpix - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "../" /I "../../../include" /I "../../util" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /machine:I386 /out:"../drawpix.exe"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ELSEIF "$(CFG)" == "drawpix - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../util" /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /debug /machine:I386 /out:"../drawpix.exe" /pdbtype:sept
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ENDIF
-
-# Begin Target
-
-# Name "drawpix - Win32 Release"
-# Name "drawpix - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\drawpix.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/progs/demos/Windows/fire.dsp b/progs/demos/Windows/fire.dsp
deleted file mode 100644
index 9d046a4c6e..0000000000
--- a/progs/demos/Windows/fire.dsp
+++ /dev/null
@@ -1,112 +0,0 @@
-# Microsoft Developer Studio Project File - Name="fire" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=fire - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "fire.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "fire.mak" CFG="fire - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "fire - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "fire - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "fire - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "../../util" /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /machine:I386 /out:"../fire.exe"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ELSEIF "$(CFG)" == "fire - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../util" /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /debug /machine:I386 /out:"../fire.exe" /pdbtype:sept
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ENDIF
-
-# Begin Target
-
-# Name "fire - Win32 Release"
-# Name "fire - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\fire.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/progs/demos/Windows/gears.dsp b/progs/demos/Windows/gears.dsp
deleted file mode 100644
index 2cf6b1a826..0000000000
--- a/progs/demos/Windows/gears.dsp
+++ /dev/null
@@ -1,112 +0,0 @@
-# Microsoft Developer Studio Project File - Name="gears" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=gears - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "gears.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "gears.mak" CFG="gears - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "gears - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "gears - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "gears - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /machine:I386 /out:"../gears.exe"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ELSEIF "$(CFG)" == "gears - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /debug /machine:I386 /out:"../gears.exe" /pdbtype:sept
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ENDIF
-
-# Begin Target
-
-# Name "gears - Win32 Release"
-# Name "gears - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\gears.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/progs/demos/Windows/geartrain.dsp b/progs/demos/Windows/geartrain.dsp
deleted file mode 100644
index f3e499fea0..0000000000
--- a/progs/demos/Windows/geartrain.dsp
+++ /dev/null
@@ -1,112 +0,0 @@
-# Microsoft Developer Studio Project File - Name="geartrain" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=geartrain - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "geartrain.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "geartrain.mak" CFG="geartrain - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "geartrain - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "geartrain - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "geartrain - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /machine:I386 /out:"../geartrain.exe"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ELSEIF "$(CFG)" == "geartrain - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /debug /machine:I386 /out:"../geartrain.exe" /pdbtype:sept
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ENDIF
-
-# Begin Target
-
-# Name "geartrain - Win32 Release"
-# Name "geartrain - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\geartrain.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/progs/demos/Windows/glinfo.dsp b/progs/demos/Windows/glinfo.dsp
deleted file mode 100644
index 7a2c65a0d1..0000000000
--- a/progs/demos/Windows/glinfo.dsp
+++ /dev/null
@@ -1,112 +0,0 @@
-# Microsoft Developer Studio Project File - Name="glinfo" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=glinfo - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "glinfo.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "glinfo.mak" CFG="glinfo - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "glinfo - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "glinfo - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "glinfo - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /machine:I386 /out:"../glinfo.exe"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ELSEIF "$(CFG)" == "glinfo - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /debug /machine:I386 /out:"../glinfo.exe" /pdbtype:sept
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ENDIF
-
-# Begin Target
-
-# Name "glinfo - Win32 Release"
-# Name "glinfo - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\glinfo.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/progs/demos/Windows/gloss.dsp b/progs/demos/Windows/gloss.dsp
deleted file mode 100644
index 9a6edd79b1..0000000000
--- a/progs/demos/Windows/gloss.dsp
+++ /dev/null
@@ -1,112 +0,0 @@
-# Microsoft Developer Studio Project File - Name="gloss" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=gloss - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "gloss.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "gloss.mak" CFG="gloss - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "gloss - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "gloss - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "gloss - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "../../util" /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /machine:I386 /out:"../gloss.exe"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ELSEIF "$(CFG)" == "gloss - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../util" /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /debug /machine:I386 /out:"../gloss.exe" /pdbtype:sept
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ENDIF
-
-# Begin Target
-
-# Name "gloss - Win32 Release"
-# Name "gloss - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\gloss.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/progs/demos/Windows/gltestperf.dsp b/progs/demos/Windows/gltestperf.dsp
deleted file mode 100644
index e3d8df6b98..0000000000
--- a/progs/demos/Windows/gltestperf.dsp
+++ /dev/null
@@ -1,112 +0,0 @@
-# Microsoft Developer Studio Project File - Name="gltestperf" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=gltestperf - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "gltestperf.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "gltestperf.mak" CFG="gltestperf - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "gltestperf - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "gltestperf - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "gltestperf - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /machine:I386 /out:"../gltestperf.exe"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ELSEIF "$(CFG)" == "gltestperf - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /debug /machine:I386 /out:"../gltestperf.exe" /pdbtype:sept
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ENDIF
-
-# Begin Target
-
-# Name "gltestperf - Win32 Release"
-# Name "gltestperf - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\gltestperf.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/progs/demos/Windows/glutfx.dsp b/progs/demos/Windows/glutfx.dsp
deleted file mode 100644
index 39bc8574af..0000000000
--- a/progs/demos/Windows/glutfx.dsp
+++ /dev/null
@@ -1,112 +0,0 @@
-# Microsoft Developer Studio Project File - Name="glutfx" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=glutfx - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "glutfx.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "glutfx.mak" CFG="glutfx - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "glutfx - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "glutfx - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "glutfx - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /machine:I386 /out:"../glutfx.exe"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ELSEIF "$(CFG)" == "glutfx - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /debug /machine:I386 /out:"../glutfx.exe" /pdbtype:sept
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ENDIF
-
-# Begin Target
-
-# Name "glutfx - Win32 Release"
-# Name "glutfx - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\glutfx.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/progs/demos/Windows/ipers.dsp b/progs/demos/Windows/ipers.dsp
deleted file mode 100644
index b5ccb82afb..0000000000
--- a/progs/demos/Windows/ipers.dsp
+++ /dev/null
@@ -1,112 +0,0 @@
-# Microsoft Developer Studio Project File - Name="ipers" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=ipers - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "ipers.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "ipers.mak" CFG="ipers - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "ipers - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "ipers - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "ipers - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "../../util" /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /machine:I386 /out:"../ipers.exe"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ELSEIF "$(CFG)" == "ipers - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../util" /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /debug /machine:I386 /out:"../ipers.exe" /pdbtype:sept
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ENDIF
-
-# Begin Target
-
-# Name "ipers - Win32 Release"
-# Name "ipers - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\ipers.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/progs/demos/Windows/isosurf.dsp b/progs/demos/Windows/isosurf.dsp
deleted file mode 100644
index 5a112d457b..0000000000
--- a/progs/demos/Windows/isosurf.dsp
+++ /dev/null
@@ -1,112 +0,0 @@
-# Microsoft Developer Studio Project File - Name="isosurf" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=isosurf - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "isosurf.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "isosurf.mak" CFG="isosurf - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "isosurf - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "isosurf - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "isosurf - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "../../util" /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /machine:I386 /out:"../isosurf.exe"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ELSEIF "$(CFG)" == "isosurf - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../util" /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /debug /machine:I386 /out:"../isosurf.exe" /pdbtype:sept
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ENDIF
-
-# Begin Target
-
-# Name "isosurf - Win32 Release"
-# Name "isosurf - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\isosurf.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/progs/demos/Windows/loadbias.dsp b/progs/demos/Windows/loadbias.dsp
deleted file mode 100644
index b7cfb5efcb..0000000000
--- a/progs/demos/Windows/loadbias.dsp
+++ /dev/null
@@ -1,112 +0,0 @@
-# Microsoft Developer Studio Project File - Name="lodbias" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=lodbias - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "lodbias.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "lodbias.mak" CFG="lodbias - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "lodbias - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "lodbias - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "lodbias - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "../../util" /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /machine:I386 /out:"../lodbias.exe"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ELSEIF "$(CFG)" == "lodbias - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../util" /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /debug /machine:I386 /out:"../lodbias.exe" /pdbtype:sept
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ENDIF
-
-# Begin Target
-
-# Name "lodbias - Win32 Release"
-# Name "lodbias - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\lodbias.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/progs/demos/Windows/morph3d.dsp b/progs/demos/Windows/morph3d.dsp
deleted file mode 100644
index 05f7fea51a..0000000000
--- a/progs/demos/Windows/morph3d.dsp
+++ /dev/null
@@ -1,112 +0,0 @@
-# Microsoft Developer Studio Project File - Name="morph3d" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=morph3d - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "morph3d.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "morph3d.mak" CFG="morph3d - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "morph3d - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "morph3d - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "morph3d - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /machine:I386 /out:"../morph3d.exe"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ELSEIF "$(CFG)" == "morph3d - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /debug /machine:I386 /out:"../morph3d.exe" /pdbtype:sept
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ENDIF
-
-# Begin Target
-
-# Name "morph3d - Win32 Release"
-# Name "morph3d - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\morph3d.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/progs/demos/Windows/multiarb.dsp b/progs/demos/Windows/multiarb.dsp
deleted file mode 100644
index ff13579a41..0000000000
--- a/progs/demos/Windows/multiarb.dsp
+++ /dev/null
@@ -1,112 +0,0 @@
-# Microsoft Developer Studio Project File - Name="multiarb" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=multiarb - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "multiarb.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "multiarb.mak" CFG="multiarb - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "multiarb - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "multiarb - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "multiarb - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "../../util" /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /machine:I386 /out:"../multiarb.exe"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ELSEIF "$(CFG)" == "multiarb - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../util" /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /debug /machine:I386 /out:"../multiarb.exe" /pdbtype:sept
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ENDIF
-
-# Begin Target
-
-# Name "multiarb - Win32 Release"
-# Name "multiarb - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\multiarb.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/progs/demos/Windows/occlude.dsp b/progs/demos/Windows/occlude.dsp
deleted file mode 100644
index 98723303d9..0000000000
--- a/progs/demos/Windows/occlude.dsp
+++ /dev/null
@@ -1,112 +0,0 @@
-# Microsoft Developer Studio Project File - Name="occlude" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=occlude - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "occlude.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "occlude.mak" CFG="occlude - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "occlude - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "occlude - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "occlude - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /machine:I386 /out:"../occlude.exe"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ELSEIF "$(CFG)" == "occlude - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /debug /machine:I386 /out:"../occlude.exe" /pdbtype:sept
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ENDIF
-
-# Begin Target
-
-# Name "occlude - Win32 Release"
-# Name "occlude - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\occlude.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/progs/demos/Windows/osdemo.dsp b/progs/demos/Windows/osdemo.dsp
deleted file mode 100644
index 2d1d437f71..0000000000
--- a/progs/demos/Windows/osdemo.dsp
+++ /dev/null
@@ -1,112 +0,0 @@
-# Microsoft Developer Studio Project File - Name="osdemo" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=osdemo - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "osdemo.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "osdemo.mak" CFG="osdemo - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "osdemo - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "osdemo - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "osdemo - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB ../../../lib/OSMESA32.LIB /nologo /subsystem:console /machine:I386 /out:"../osdemo.exe"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ELSEIF "$(CFG)" == "osdemo - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB ../../../lib/OSMESA32.LIB /nologo /subsystem:console /debug /machine:I386 /out:"../osdemo.exe" /pdbtype:sept
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ENDIF
-
-# Begin Target
-
-# Name "osdemo - Win32 Release"
-# Name "osdemo - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\osdemo.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/progs/demos/Windows/paltex.dsp b/progs/demos/Windows/paltex.dsp
deleted file mode 100644
index 6f43ff97cd..0000000000
--- a/progs/demos/Windows/paltex.dsp
+++ /dev/null
@@ -1,112 +0,0 @@
-# Microsoft Developer Studio Project File - Name="paltex" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=paltex - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "paltex.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "paltex.mak" CFG="paltex - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "paltex - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "paltex - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "paltex - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /machine:I386 /out:"../paltex.exe"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ELSEIF "$(CFG)" == "paltex - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /debug /machine:I386 /out:"../paltex.exe" /pdbtype:sept
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ENDIF
-
-# Begin Target
-
-# Name "paltex - Win32 Release"
-# Name "paltex - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\paltex.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/progs/demos/Windows/pixeltex.dsp b/progs/demos/Windows/pixeltex.dsp
deleted file mode 100644
index d6e66c821a..0000000000
--- a/progs/demos/Windows/pixeltex.dsp
+++ /dev/null
@@ -1,112 +0,0 @@
-# Microsoft Developer Studio Project File - Name="pixeltex" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=pixeltex - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "pixeltex.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "pixeltex.mak" CFG="pixeltex - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "pixeltex - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "pixeltex - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "pixeltex - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "../../util" /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /machine:I386 /out:"../pixeltex.exe"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ELSEIF "$(CFG)" == "pixeltex - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../util" /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /debug /machine:I386 /out:"../pixeltex.exe" /pdbtype:sept
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ENDIF
-
-# Begin Target
-
-# Name "pixeltex - Win32 Release"
-# Name "pixeltex - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\pixeltex.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/progs/demos/Windows/pointblast.dsp b/progs/demos/Windows/pointblast.dsp
deleted file mode 100644
index 0c6f26ca02..0000000000
--- a/progs/demos/Windows/pointblast.dsp
+++ /dev/null
@@ -1,112 +0,0 @@
-# Microsoft Developer Studio Project File - Name="pointblast" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=pointblast - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "pointblast.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "pointblast.mak" CFG="pointblast - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "pointblast - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "pointblast - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "pointblast - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /machine:I386 /out:"../pointblast.exe"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ELSEIF "$(CFG)" == "pointblast - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /debug /machine:I386 /out:"../pointblast.exe" /pdbtype:sept
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ENDIF
-
-# Begin Target
-
-# Name "pointblast - Win32 Release"
-# Name "pointblast - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\pointblast.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/progs/demos/Windows/rain.dsp b/progs/demos/Windows/rain.dsp
deleted file mode 100644
index 63102f13a5..0000000000
--- a/progs/demos/Windows/rain.dsp
+++ /dev/null
@@ -1,112 +0,0 @@
-# Microsoft Developer Studio Project File - Name="rain" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=rain - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "rain.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "rain.mak" CFG="rain - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "rain - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "rain - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "rain - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "../../util" /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /machine:I386 /out:"../rain.exe"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ELSEIF "$(CFG)" == "rain - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../util" /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /debug /machine:I386 /out:"../rain.exe" /pdbtype:sept
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ENDIF
-
-# Begin Target
-
-# Name "rain - Win32 Release"
-# Name "rain - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\rain.cxx
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/progs/demos/Windows/ray.dsp b/progs/demos/Windows/ray.dsp
deleted file mode 100644
index 425d4eb258..0000000000
--- a/progs/demos/Windows/ray.dsp
+++ /dev/null
@@ -1,112 +0,0 @@
-# Microsoft Developer Studio Project File - Name="ray" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=ray - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "ray.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "ray.mak" CFG="ray - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "ray - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "ray - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "ray - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /machine:I386 /out:"../ray.exe"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ELSEIF "$(CFG)" == "ray - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /debug /machine:I386 /out:"../ray.exe" /pdbtype:sept
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ENDIF
-
-# Begin Target
-
-# Name "ray - Win32 Release"
-# Name "ray - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\ray.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/progs/demos/Windows/readpix.dsp b/progs/demos/Windows/readpix.dsp
deleted file mode 100644
index ca0b30b604..0000000000
--- a/progs/demos/Windows/readpix.dsp
+++ /dev/null
@@ -1,112 +0,0 @@
-# Microsoft Developer Studio Project File - Name="readpix" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=readpix - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "readpix.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "readpix.mak" CFG="readpix - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "readpix - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "readpix - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "readpix - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "../../util" /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /machine:I386 /out:"../readpix.exe"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ELSEIF "$(CFG)" == "readpix - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../util" /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /debug /machine:I386 /out:"../readpix.exe" /pdbtype:sept
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ENDIF
-
-# Begin Target
-
-# Name "readpix - Win32 Release"
-# Name "readpix - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\readpix.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/progs/demos/Windows/reflect.dsp b/progs/demos/Windows/reflect.dsp
deleted file mode 100644
index 74f411a47e..0000000000
--- a/progs/demos/Windows/reflect.dsp
+++ /dev/null
@@ -1,112 +0,0 @@
-# Microsoft Developer Studio Project File - Name="reflect" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=reflect - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "reflect.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "reflect.mak" CFG="reflect - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "reflect - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "reflect - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "reflect - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "../../util" /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /machine:I386 /out:"../reflect.exe"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ELSEIF "$(CFG)" == "reflect - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../util" /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /debug /machine:I386 /out:"../reflect.exe" /pdbtype:sept
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ENDIF
-
-# Begin Target
-
-# Name "reflect - Win32 Release"
-# Name "reflect - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\reflect.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/progs/demos/Windows/renormal.dsp b/progs/demos/Windows/renormal.dsp
deleted file mode 100644
index e0059002b3..0000000000
--- a/progs/demos/Windows/renormal.dsp
+++ /dev/null
@@ -1,112 +0,0 @@
-# Microsoft Developer Studio Project File - Name="renormal" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=renormal - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "renormal.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "renormal.mak" CFG="bounce - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "renormal - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "renormal - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "renormal - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /machine:I386 /out:"../renormal.exe"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ELSEIF "$(CFG)" == "renormal - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /debug /machine:I386 /out:"../renormal.exe" /pdbtype:sept
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ENDIF
-
-# Begin Target
-
-# Name "renormal - Win32 Release"
-# Name "renormal - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\renormal.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/progs/demos/Windows/shadowtex.dsp b/progs/demos/Windows/shadowtex.dsp
deleted file mode 100644
index 2618431ae1..0000000000
--- a/progs/demos/Windows/shadowtex.dsp
+++ /dev/null
@@ -1,112 +0,0 @@
-# Microsoft Developer Studio Project File - Name="shadowtex" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=shadowtex - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "shadowtex.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "shadowtex.mak" CFG="bounce - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "shadowtex - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "shadowtex - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "shadowtex - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /machine:I386 /out:"../shadowtex.exe"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ELSEIF "$(CFG)" == "shadowtex - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /debug /machine:I386 /out:"../shadowtex.exe" /pdbtype:sept
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ENDIF
-
-# Begin Target
-
-# Name "shadowtex - Win32 Release"
-# Name "shadowtex - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\shadowtex.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/progs/demos/Windows/spectex.dsp b/progs/demos/Windows/spectex.dsp
deleted file mode 100644
index 9d385b2dc7..0000000000
--- a/progs/demos/Windows/spectex.dsp
+++ /dev/null
@@ -1,112 +0,0 @@
-# Microsoft Developer Studio Project File - Name="spectex" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=spectex - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "spectex.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "spectex.mak" CFG="bounce - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "spectex - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "spectex - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "spectex - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /machine:I386 /out:"../spectex.exe"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ELSEIF "$(CFG)" == "spectex - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /debug /machine:I386 /out:"../spectex.exe" /pdbtype:sept
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ENDIF
-
-# Begin Target
-
-# Name "spectex - Win32 Release"
-# Name "spectex - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\spectex.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/progs/demos/Windows/spriteblast.dsp b/progs/demos/Windows/spriteblast.dsp
deleted file mode 100644
index 0a8ea1af5b..0000000000
--- a/progs/demos/Windows/spriteblast.dsp
+++ /dev/null
@@ -1,112 +0,0 @@
-# Microsoft Developer Studio Project File - Name="spriteblast" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=spriteblast - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "spriteblast.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "spriteblast.mak" CFG="bounce - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "spriteblast - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "spriteblast - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "spriteblast - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /machine:I386 /out:"../spriteblast.exe"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ELSEIF "$(CFG)" == "spriteblast - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /debug /machine:I386 /out:"../spriteblast.exe" /pdbtype:sept
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ENDIF
-
-# Begin Target
-
-# Name "spriteblast - Win32 Release"
-# Name "spriteblast - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\spriteblast.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/progs/demos/Windows/stex3d.dsp b/progs/demos/Windows/stex3d.dsp
deleted file mode 100644
index 5d8c93b9e4..0000000000
--- a/progs/demos/Windows/stex3d.dsp
+++ /dev/null
@@ -1,112 +0,0 @@
-# Microsoft Developer Studio Project File - Name="stex3d" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=stex3d - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "stex3d.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "stex3d.mak" CFG="bounce - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "stex3d - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "stex3d - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "stex3d - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /machine:I386 /out:"../stex3d.exe"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ELSEIF "$(CFG)" == "stex3d - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /debug /machine:I386 /out:"../stex3d.exe" /pdbtype:sept
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ENDIF
-
-# Begin Target
-
-# Name "stex3d - Win32 Release"
-# Name "stex3d - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\stex3d.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/progs/demos/Windows/teapot.dsp b/progs/demos/Windows/teapot.dsp
deleted file mode 100644
index 63cea20504..0000000000
--- a/progs/demos/Windows/teapot.dsp
+++ /dev/null
@@ -1,112 +0,0 @@
-# Microsoft Developer Studio Project File - Name="teapot" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=teapot - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "teapot.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "teapot.mak" CFG="gloss - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "teapot - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "teapot - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "teapot - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "../../util" /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /machine:I386 /out:"../teapot.exe"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ELSEIF "$(CFG)" == "teapot - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../util" /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /debug /machine:I386 /out:"../teapot.exe" /pdbtype:sept
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ENDIF
-
-# Begin Target
-
-# Name "teapot - Win32 Release"
-# Name "teapot - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\teapot.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/progs/demos/Windows/terrain.dsp b/progs/demos/Windows/terrain.dsp
deleted file mode 100644
index 35c67a5f94..0000000000
--- a/progs/demos/Windows/terrain.dsp
+++ /dev/null
@@ -1,112 +0,0 @@
-# Microsoft Developer Studio Project File - Name="terrain" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=terrain - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "terrain.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "terrain.mak" CFG="bounce - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "terrain - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "terrain - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "terrain - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /machine:I386 /out:"../terrain.exe"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ELSEIF "$(CFG)" == "terrain - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /debug /machine:I386 /out:"../terrain.exe" /pdbtype:sept
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ENDIF
-
-# Begin Target
-
-# Name "terrain - Win32 Release"
-# Name "terrain - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\terrain.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/progs/demos/Windows/tessdemo.dsp b/progs/demos/Windows/tessdemo.dsp
deleted file mode 100644
index 62815ea8ac..0000000000
--- a/progs/demos/Windows/tessdemo.dsp
+++ /dev/null
@@ -1,112 +0,0 @@
-# Microsoft Developer Studio Project File - Name="tessdemo" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=tessdemo - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "tessdemo.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "tessdemo.mak" CFG="bounce - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "tessdemo - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "tessdemo - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "tessdemo - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /machine:I386 /out:"../tessdemo.exe"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ELSEIF "$(CFG)" == "tessdemo - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /debug /machine:I386 /out:"../tessdemo.exe" /pdbtype:sept
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ENDIF
-
-# Begin Target
-
-# Name "tessdemo - Win32 Release"
-# Name "tessdemo - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\tessdemo.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/progs/demos/Windows/texcyl.dsp b/progs/demos/Windows/texcyl.dsp
deleted file mode 100644
index 326a2728eb..0000000000
--- a/progs/demos/Windows/texcyl.dsp
+++ /dev/null
@@ -1,112 +0,0 @@
-# Microsoft Developer Studio Project File - Name="texcyl" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=texcyl - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "texcyl.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "texcyl.mak" CFG="gloss - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "texcyl - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "texcyl - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "texcyl - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "../../util" /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /machine:I386 /out:"../texcyl.exe"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ELSEIF "$(CFG)" == "texcyl - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../util" /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /debug /machine:I386 /out:"../texcyl.exe" /pdbtype:sept
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ENDIF
-
-# Begin Target
-
-# Name "texcyl - Win32 Release"
-# Name "texcyl - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\texcyl.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/progs/demos/Windows/texdown.dsp b/progs/demos/Windows/texdown.dsp
deleted file mode 100644
index 926e72408b..0000000000
--- a/progs/demos/Windows/texdown.dsp
+++ /dev/null
@@ -1,112 +0,0 @@
-# Microsoft Developer Studio Project File - Name="texdown" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=texdown - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "texdown.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "texdown.mak" CFG="bounce - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "texdown - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "texdown - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "texdown - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /machine:I386 /out:"../texdown.exe"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ELSEIF "$(CFG)" == "texdown - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /debug /machine:I386 /out:"../texdown.exe" /pdbtype:sept
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ENDIF
-
-# Begin Target
-
-# Name "texdown - Win32 Release"
-# Name "texdown - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\texdown.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/progs/demos/Windows/texenv.dsp b/progs/demos/Windows/texenv.dsp
deleted file mode 100644
index 964c6d207e..0000000000
--- a/progs/demos/Windows/texenv.dsp
+++ /dev/null
@@ -1,112 +0,0 @@
-# Microsoft Developer Studio Project File - Name="texenv" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=texenv - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "texenv.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "texenv.mak" CFG="bounce - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "texenv - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "texenv - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "texenv - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /machine:I386 /out:"../texenv.exe"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ELSEIF "$(CFG)" == "texenv - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /debug /machine:I386 /out:"../texenv.exe" /pdbtype:sept
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ENDIF
-
-# Begin Target
-
-# Name "texenv - Win32 Release"
-# Name "texenv - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\texenv.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/progs/demos/Windows/texobj.dsp b/progs/demos/Windows/texobj.dsp
deleted file mode 100644
index 2a44dffd36..0000000000
--- a/progs/demos/Windows/texobj.dsp
+++ /dev/null
@@ -1,112 +0,0 @@
-# Microsoft Developer Studio Project File - Name="texobj" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=texobj - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "texobj.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "texobj.mak" CFG="bounce - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "texobj - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "texobj - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "texobj - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /machine:I386 /out:"../texobj.exe"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ELSEIF "$(CFG)" == "texobj - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /debug /machine:I386 /out:"../texobj.exe" /pdbtype:sept
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ENDIF
-
-# Begin Target
-
-# Name "texobj - Win32 Release"
-# Name "texobj - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\texobj.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/progs/demos/Windows/trispd.dsp b/progs/demos/Windows/trispd.dsp
deleted file mode 100644
index 2ba95dc634..0000000000
--- a/progs/demos/Windows/trispd.dsp
+++ /dev/null
@@ -1,112 +0,0 @@
-# Microsoft Developer Studio Project File - Name="trispd" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=trispd - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "trispd.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "trispd.mak" CFG="bounce - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "trispd - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "trispd - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "trispd - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /machine:I386 /out:"../trispd.exe"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ELSEIF "$(CFG)" == "trispd - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /debug /machine:I386 /out:"../trispd.exe" /pdbtype:sept
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ENDIF
-
-# Begin Target
-
-# Name "trispd - Win32 Release"
-# Name "trispd - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\trispd.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/progs/demos/Windows/tunnel.dsp b/progs/demos/Windows/tunnel.dsp
deleted file mode 100644
index 218d372866..0000000000
--- a/progs/demos/Windows/tunnel.dsp
+++ /dev/null
@@ -1,112 +0,0 @@
-# Microsoft Developer Studio Project File - Name="tunnel" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=tunnel - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "tunnel.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "tunnel.mak" CFG="gloss - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "tunnel - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "tunnel - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "tunnel - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "../../util" /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /machine:I386 /out:"../tunnel.exe"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ELSEIF "$(CFG)" == "tunnel - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../util" /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /debug /machine:I386 /out:"../tunnel.exe" /pdbtype:sept
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ENDIF
-
-# Begin Target
-
-# Name "tunnel - Win32 Release"
-# Name "tunnel - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\tunnel.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/progs/demos/Windows/tunnel2.dsp b/progs/demos/Windows/tunnel2.dsp
deleted file mode 100644
index bd2b6c07f2..0000000000
--- a/progs/demos/Windows/tunnel2.dsp
+++ /dev/null
@@ -1,112 +0,0 @@
-# Microsoft Developer Studio Project File - Name="tunnel2" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=tunnel2 - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "tunnel2.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "tunnel2.mak" CFG="gloss - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "tunnel2 - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "tunnel2 - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "tunnel2 - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "../../util" /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /machine:I386 /out:"../tunnel2.exe"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ELSEIF "$(CFG)" == "tunnel2 - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../util" /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /debug /machine:I386 /out:"../tunnel2.exe" /pdbtype:sept
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ENDIF
-
-# Begin Target
-
-# Name "tunnel2 - Win32 Release"
-# Name "tunnel2 - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\tunnel2.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/progs/demos/Windows/winpos.dsp b/progs/demos/Windows/winpos.dsp
deleted file mode 100644
index a388a425e9..0000000000
--- a/progs/demos/Windows/winpos.dsp
+++ /dev/null
@@ -1,112 +0,0 @@
-# Microsoft Developer Studio Project File - Name="winpos" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=winpos - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "winpos.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "winpos.mak" CFG="gloss - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "winpos - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "winpos - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "winpos - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "../../util" /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /machine:I386 /out:"../winpos.exe"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ELSEIF "$(CFG)" == "winpos - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../util" /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /debug /machine:I386 /out:"../winpos.exe" /pdbtype:sept
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ENDIF
-
-# Begin Target
-
-# Name "winpos - Win32 Release"
-# Name "winpos - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\winpos.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/progs/directfb/Makefile b/progs/directfb/Makefile
deleted file mode 100644
index 93c2a7df14..0000000000
--- a/progs/directfb/Makefile
+++ /dev/null
@@ -1,38 +0,0 @@
-# progs/directfb/Makefile
-
-TOP = ../..
-include $(TOP)/configs/current
-
-
-INCDIR = $(TOP)/include -I$(TOP)/progs
-
-LIB_DEP = $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME) $(TOP)/$(LIB_DIR)/$(GLU_LIB_NAME)
-
-CFLAGS += $(shell pkg-config --cflags directfb)
-APP_LIB_DEPS += $(shell pkg-config --libs directfb)
-
-LIBS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) $(APP_LIB_DEPS)
-
-PROGS = df_gears \
- df_reflect \
- df_morph3d \
- multi_window
-
-##### RULES #####
-
-.SUFFIXES:
-.SUFFIXES: .c
-
-.c: $(LIB_DEP)
- $(CC) -I$(INCDIR) $(CFLAGS) $(LDFLAGS) $< $(LIBS) -o $@
-
-
-##### TARGETS #####
-
-default: $(PROGS)
-
-
-clean:
- -rm -f $(PROGS)
- -rm -f *.o *~
-
diff --git a/progs/directfb/df_gears.c b/progs/directfb/df_gears.c
deleted file mode 100644
index c480767bd3..0000000000
--- a/progs/directfb/df_gears.c
+++ /dev/null
@@ -1,480 +0,0 @@
-/*
- (c) Copyright 2001 convergence integrated media GmbH.
- All rights reserved.
-
- Written by Denis Oliver Kropp <dok@convergence.de> and
- Andreas Hundt <andi@convergence.de>.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this library; if not, write to the
- Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA.
-*/
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <math.h>
-
-#include <directfb.h>
-#include <directfbgl.h>
-
-#include <GL/gl.h>
-
-
-/* the super interface */
-IDirectFB *dfb;
-
-/* the primary surface (surface of primary layer) */
-IDirectFBSurface *primary;
-
-/* the GL context */
-IDirectFBGL *primary_gl;
-
-/* our font */
-IDirectFBFont *font;
-
-/* event buffer */
-IDirectFBEventBuffer *events;
-
-/* macro for a safe call to DirectFB functions */
-#define DFBCHECK(x...) \
- { \
- err = x; \
- if (err != DFB_OK) { \
- fprintf( stderr, "%s <%d>:\n\t", __FILE__, __LINE__ ); \
- DirectFBErrorFatal( #x, err ); \
- } \
- }
-
-static int screen_width, screen_height;
-
-static unsigned long T0 = 0;
-static GLint Frames = 0;
-static GLfloat fps = 0;
-
-static inline unsigned long get_millis()
-{
- struct timeval tv;
-
- gettimeofday (&tv, NULL);
- return (tv.tv_sec * 1000 + tv.tv_usec / 1000);
-}
-
-
-#ifndef M_PI
-#define M_PI 3.14159265
-#endif
-
-/**
-
- Draw a gear wheel. You'll probably want to call this function when
- building a display list since we do a lot of trig here.
-
- Input: inner_radius - radius of hole at center
- outer_radius - radius at center of teeth
- width - width of gear
- teeth - number of teeth
- tooth_depth - depth of tooth
-
- **/
-
-static void
-gear(GLfloat inner_radius, GLfloat outer_radius, GLfloat width,
- GLint teeth, GLfloat tooth_depth)
-{
- GLint i;
- GLfloat r0, r1, r2;
- GLfloat angle, da;
- GLfloat u, v, len;
-
- r0 = inner_radius;
- r1 = outer_radius - tooth_depth / 2.0;
- r2 = outer_radius + tooth_depth / 2.0;
-
- da = 2.0 * M_PI / teeth / 4.0;
-
- glShadeModel(GL_FLAT);
-
- glNormal3f(0.0, 0.0, 1.0);
-
- /* draw front face */
- glBegin(GL_QUAD_STRIP);
- for (i = 0; i <= teeth; i++) {
- angle = i * 2.0 * M_PI / teeth;
- glVertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5);
- glVertex3f(r1 * cos(angle), r1 * sin(angle), width * 0.5);
- if (i < teeth) {
- glVertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5);
- glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), width * 0.5);
- }
- }
- glEnd();
-
- /* draw front sides of teeth */
- glBegin(GL_QUADS);
- da = 2.0 * M_PI / teeth / 4.0;
- for (i = 0; i < teeth; i++) {
- angle = i * 2.0 * M_PI / teeth;
-
- glVertex3f(r1 * cos(angle), r1 * sin(angle), width * 0.5);
- glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), width * 0.5);
- glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da), width * 0.5);
- glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), width * 0.5);
- }
- glEnd();
-
- glNormal3f(0.0, 0.0, -1.0);
-
- /* draw back face */
- glBegin(GL_QUAD_STRIP);
- for (i = 0; i <= teeth; i++) {
- angle = i * 2.0 * M_PI / teeth;
- glVertex3f(r1 * cos(angle), r1 * sin(angle), -width * 0.5);
- glVertex3f(r0 * cos(angle), r0 * sin(angle), -width * 0.5);
- if (i < teeth) {
- glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), -width * 0.5);
- glVertex3f(r0 * cos(angle), r0 * sin(angle), -width * 0.5);
- }
- }
- glEnd();
-
- /* draw back sides of teeth */
- glBegin(GL_QUADS);
- da = 2.0 * M_PI / teeth / 4.0;
- for (i = 0; i < teeth; i++) {
- angle = i * 2.0 * M_PI / teeth;
-
- glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), -width * 0.5);
- glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da), -width * 0.5);
- glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), -width * 0.5);
- glVertex3f(r1 * cos(angle), r1 * sin(angle), -width * 0.5);
- }
- glEnd();
-
- /* draw outward faces of teeth */
- glBegin(GL_QUAD_STRIP);
- for (i = 0; i < teeth; i++) {
- angle = i * 2.0 * M_PI / teeth;
-
- glVertex3f(r1 * cos(angle), r1 * sin(angle), width * 0.5);
- glVertex3f(r1 * cos(angle), r1 * sin(angle), -width * 0.5);
- u = r2 * cos(angle + da) - r1 * cos(angle);
- v = r2 * sin(angle + da) - r1 * sin(angle);
- len = sqrt(u * u + v * v);
- u /= len;
- v /= len;
- glNormal3f(v, -u, 0.0);
- glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), width * 0.5);
- glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), -width * 0.5);
- glNormal3f(cos(angle), sin(angle), 0.0);
- glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da), width * 0.5);
- glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da), -width * 0.5);
- u = r1 * cos(angle + 3 * da) - r2 * cos(angle + 2 * da);
- v = r1 * sin(angle + 3 * da) - r2 * sin(angle + 2 * da);
- glNormal3f(v, -u, 0.0);
- glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), width * 0.5);
- glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), -width * 0.5);
- glNormal3f(cos(angle), sin(angle), 0.0);
- }
-
- glVertex3f(r1 * cos(0), r1 * sin(0), width * 0.5);
- glVertex3f(r1 * cos(0), r1 * sin(0), -width * 0.5);
-
- glEnd();
-
- glShadeModel(GL_SMOOTH);
-
- /* draw inside radius cylinder */
- glBegin(GL_QUAD_STRIP);
- for (i = 0; i <= teeth; i++) {
- angle = i * 2.0 * M_PI / teeth;
- glNormal3f(-cos(angle), -sin(angle), 0.0);
- glVertex3f(r0 * cos(angle), r0 * sin(angle), -width * 0.5);
- glVertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5);
- }
- glEnd();
-
-}
-
-static GLfloat view_rotx = 20.0, view_roty = 30.0, view_rotz = 0.0;
-static GLfloat inc_rotx = 0, inc_roty = 0, inc_rotz = 0;
-static GLint gear1, gear2, gear3;
-static GLfloat angle = 0.0;
-
-static void
-draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
- glPushMatrix();
- glRotatef(view_rotx, 1.0, 0.0, 0.0);
- glRotatef(view_roty, 0.0, 1.0, 0.0);
- glRotatef(view_rotz, 0.0, 0.0, 1.0);
-
- glPushMatrix();
- glTranslatef(-3.0, -2.0, 0.0);
- glRotatef(angle, 0.0, 0.0, 1.0);
- glCallList(gear1);
- glPopMatrix();
-
- glPushMatrix();
- glTranslatef(3.1, -2.0, 0.0);
- glRotatef(-2.0 * angle - 9.0, 0.0, 0.0, 1.0);
- glCallList(gear2);
- glPopMatrix();
-
- glPushMatrix();
- glTranslatef(-3.1, 4.2, 0.0);
- glRotatef(-2.0 * angle - 25.0, 0.0, 0.0, 1.0);
- glCallList(gear3);
- glPopMatrix();
-
- glPopMatrix();
-}
-
-/* new window size or exposure */
-static void
-reshape(int width, int height)
-{
- GLfloat h = (GLfloat) height / (GLfloat) width;
-
- glViewport(0, 0, (GLint) width, (GLint) height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glFrustum(-1.0, 1.0, -h, h, 5.0, 60.0);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef(0.0, 0.0, -40.0);
-}
-
-static void
-init(int argc, char *argv[])
-{
- static GLfloat pos[4] = {5.0, 5.0, 10.0, 0.0};
- static GLfloat red[4] = {0.8, 0.1, 0.0, 1.0};
- static GLfloat green[4] = {0.0, 0.8, 0.2, 1.0};
- static GLfloat blue[4] = {0.2, 0.2, 1.0, 1.0};
- GLint i;
-
- glLightfv(GL_LIGHT0, GL_POSITION, pos);
- glEnable(GL_CULL_FACE);
- glEnable(GL_LIGHTING);
- glEnable(GL_LIGHT0);
- glEnable(GL_DEPTH_TEST);
-
- /* make the gears */
- gear1 = glGenLists(1);
- glNewList(gear1, GL_COMPILE);
- glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, red);
- gear(1.0, 4.0, 1.0, 20, 0.7);
- glEndList();
-
- gear2 = glGenLists(1);
- glNewList(gear2, GL_COMPILE);
- glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, green);
- gear(0.5, 2.0, 2.0, 10, 0.7);
- glEndList();
-
- gear3 = glGenLists(1);
- glNewList(gear3, GL_COMPILE);
- glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, blue);
- gear(1.3, 2.0, 0.5, 10, 0.7);
- glEndList();
-
- glEnable(GL_NORMALIZE);
-
- for ( i=1; i<argc; i++ ) {
- if (strcmp(argv[i], "-info")==0) {
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- printf("GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- printf("GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- printf("GL_EXTENSIONS = %s\n", (char *) glGetString(GL_EXTENSIONS));
- }
- }
-}
-
-int main( int argc, char *argv[] )
-{
- int quit = 0;
- DFBResult err;
- DFBSurfaceDescription dsc;
-
- DFBCHECK(DirectFBInit( &argc, &argv ));
-
- /* create the super interface */
- DFBCHECK(DirectFBCreate( &dfb ));
-
- /* create an event buffer for all devices with these caps */
- DFBCHECK(dfb->CreateInputEventBuffer( dfb, DICAPS_KEYS | DICAPS_AXES,
- DFB_FALSE, &events ));
-
- /* set our cooperative level to DFSCL_FULLSCREEN
- for exclusive access to the primary layer */
- dfb->SetCooperativeLevel( dfb, DFSCL_FULLSCREEN );
-
- /* get the primary surface, i.e. the surface of the
- primary layer we have exclusive access to */
- dsc.flags = DSDESC_CAPS;
- dsc.caps = DSCAPS_PRIMARY | DSCAPS_DOUBLE;
-
- DFBCHECK(dfb->CreateSurface( dfb, &dsc, &primary ));
-
- /* get the size of the surface and fill it */
- DFBCHECK(primary->GetSize( primary, &screen_width, &screen_height ));
- DFBCHECK(primary->FillRectangle( primary, 0, 0,
- screen_width, screen_height ));
- primary->Flip( primary, NULL, 0 );
-
- /* create the default font and set it */
- DFBCHECK(dfb->CreateFont( dfb, NULL, NULL, &font ));
- DFBCHECK(primary->SetFont( primary, font ));
-
- /* get the GL context */
- DFBCHECK(primary->GetGL( primary, &primary_gl ));
-
- DFBCHECK(primary_gl->Lock( primary_gl ));
-
- init(argc, argv);
- reshape(screen_width, screen_height);
-
- DFBCHECK(primary_gl->Unlock( primary_gl ));
-
- T0 = get_millis();
-
- while (!quit) {
- DFBInputEvent evt;
- unsigned long t;
-
- DFBCHECK(primary_gl->Lock( primary_gl ));
-
- draw();
-
- DFBCHECK(primary_gl->Unlock( primary_gl ));
-
- if (fps) {
- char buf[64];
-
- snprintf(buf, 64, "%4.1f FPS\n", fps);
-
- primary->SetColor( primary, 0xff, 0, 0, 0xff );
- primary->DrawString( primary, buf, -1, screen_width - 5, 5, DSTF_TOPRIGHT );
- }
-
- primary->Flip( primary, NULL, 0 );
- Frames++;
-
-
- t = get_millis();
- if (t - T0 >= 2000) {
- GLfloat seconds = (t - T0) / 1000.0;
-
- fps = Frames / seconds;
-
- T0 = t;
- Frames = 0;
- }
-
-
- while (events->GetEvent( events, DFB_EVENT(&evt) ) == DFB_OK) {
- switch (evt.type) {
- case DIET_KEYPRESS:
- switch (evt.key_symbol) {
- case DIKS_ESCAPE:
- quit = 1;
- break;
- case DIKS_CURSOR_UP:
- inc_rotx = 5.0;
- break;
- case DIKS_CURSOR_DOWN:
- inc_rotx = -5.0;
- break;
- case DIKS_CURSOR_LEFT:
- inc_roty = 5.0;
- break;
- case DIKS_CURSOR_RIGHT:
- inc_roty = -5.0;
- break;
- case DIKS_PAGE_UP:
- inc_rotz = 5.0;
- break;
- case DIKS_PAGE_DOWN:
- inc_rotz = -5.0;
- break;
- default:
- ;
- }
- break;
- case DIET_KEYRELEASE:
- switch (evt.key_symbol) {
- case DIKS_CURSOR_UP:
- inc_rotx = 0;
- break;
- case DIKS_CURSOR_DOWN:
- inc_rotx = 0;
- break;
- case DIKS_CURSOR_LEFT:
- inc_roty = 0;
- break;
- case DIKS_CURSOR_RIGHT:
- inc_roty = 0;
- break;
- case DIKS_PAGE_UP:
- inc_rotz = 0;
- break;
- case DIKS_PAGE_DOWN:
- inc_rotz = 0;
- break;
- default:
- ;
- }
- break;
- case DIET_AXISMOTION:
- if (evt.flags & DIEF_AXISREL) {
- switch (evt.axis) {
- case DIAI_X:
- view_roty += evt.axisrel / 2.0;
- break;
- case DIAI_Y:
- view_rotx += evt.axisrel / 2.0;
- break;
- case DIAI_Z:
- view_rotz += evt.axisrel / 2.0;
- break;
- default:
- ;
- }
- }
- break;
- default:
- ;
- }
- }
-
- angle += 2.0;
-
- view_rotx += inc_rotx;
- view_roty += inc_roty;
- view_rotz += inc_rotz;
- }
-
- /* release our interfaces to shutdown DirectFB */
- primary_gl->Release( primary_gl );
- primary->Release( primary );
- font->Release( font );
- events->Release( events );
- dfb->Release( dfb );
-
- return 0;
-}
-
diff --git a/progs/directfb/df_morph3d.c b/progs/directfb/df_morph3d.c
deleted file mode 100644
index 2730fa6156..0000000000
--- a/progs/directfb/df_morph3d.c
+++ /dev/null
@@ -1,1013 +0,0 @@
-/*
- (c) Copyright 2001 convergence integrated media GmbH.
- All rights reserved.
-
- Written by Denis Oliver Kropp <dok@convergence.de> and
- Andreas Hundt <andi@convergence.de>.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this library; if not, write to the
- Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA.
-*/
-
-/*-
- * morph3d.c - Shows 3D morphing objects
- *
- * Converted to GLUT by brianp on 1/1/98
- *
- * This program was inspired on a WindowsNT(R)'s screen saver. It was written
- * from scratch and it was not based on any other source code.
- *
- * Porting it to xlock (the final objective of this code since the moment I
- * decided to create it) was possible by comparing the original Mesa's gear
- * demo with it's ported version, so thanks for Danny Sung for his indirect
- * help (look at gear.c in xlock source tree). NOTE: At the moment this code
- * was sent to Brian Paul for package inclusion, the XLock Version was not
- * available. In fact, I'll wait it to appear on the next Mesa release (If you
- * are reading this, it means THIS release) to send it for xlock package
- * inclusion). It will probably there be a GLUT version too.
- *
- * Thanks goes also to Brian Paul for making it possible and inexpensive
- * to use OpenGL at home.
- *
- * Since I'm not a native english speaker, my apologies for any gramatical
- * mistake.
- *
- * My e-mail addresses are
- *
- * vianna@cat.cbpf.br
- * and
- * marcelo@venus.rdc.puc-rio.br
- *
- * Marcelo F. Vianna (Feb-13-1997)
- */
-
-/*
-This document is VERY incomplete, but tries to describe the mathematics used
-in the program. At this moment it just describes how the polyhedra are
-generated. On futhurer versions, this document will be probabbly improved.
-
-Since I'm not a native english speaker, my apologies for any gramatical
-mistake.
-
-Marcelo Fernandes Vianna
-- Undergraduate in Computer Engeneering at Catholic Pontifical University
-- of Rio de Janeiro (PUC-Rio) Brasil.
-- e-mail: vianna@cat.cbpf.br or marcelo@venus.rdc.puc-rio.br
-- Feb-13-1997
-
-POLYHEDRA GENERATION
-
-For the purpose of this program it's not sufficient to know the polyhedra
-vertexes coordinates. Since the morphing algorithm applies a nonlinear
-transformation over the surfaces (faces) of the polyhedron, each face has
-to be divided into smaller ones. The morphing algorithm needs to transform
-each vertex of these smaller faces individually. It's a very time consoming
-task.
-
-In order to reduce calculation overload, and since all the macro faces of
-the polyhedron are transformed by the same way, the generation is made by
-creating only one face of the polyhedron, morphing it and then rotating it
-around the polyhedron center.
-
-What we need to know is the face radius of the polyhedron (the radius of
-the inscribed sphere) and the angle between the center of two adjacent
-faces using the center of the sphere as the angle's vertex.
-
-The face radius of the regular polyhedra are known values which I decided
-to not waste my time calculating. Following is a table of face radius for
-the regular polyhedra with edge length = 1:
-
- TETRAHEDRON : 1/(2*sqrt(2))/sqrt(3)
- CUBE : 1/2
- OCTAHEDRON : 1/sqrt(6)
- DODECAHEDRON : T^2 * sqrt((T+2)/5) / 2 -> where T=(sqrt(5)+1)/2
- ICOSAHEDRON : (3*sqrt(3)+sqrt(15))/12
-
-I've not found any reference about the mentioned angles, so I needed to
-calculate them, not a trivial task until I figured out how :)
-Curiously these angles are the same for the tetrahedron and octahedron.
-A way to obtain this value is inscribing the tetrahedron inside the cube
-by matching their vertexes. So you'll notice that the remaining unmatched
-vertexes are in the same straight line starting in the cube/tetrahedron
-center and crossing the center of each tetrahedron's face. At this point
-it's easy to obtain the bigger angle of the isosceles triangle formed by
-the center of the cube and two opposite vertexes on the same cube face.
-The edges of this triangle have the following lenghts: sqrt(2) for the base
-and sqrt(3)/2 for the other two other edges. So the angle we want is:
- +-----------------------------------------------------------+
- | 2*ARCSIN(sqrt(2)/sqrt(3)) = 109.47122063449069174 degrees |
- +-----------------------------------------------------------+
-For the cube this angle is obvious, but just for formality it can be
-easily obtained because we also know it's isosceles edge lenghts:
-sqrt(2)/2 for the base and 1/2 for the other two edges. So the angle we
-want is:
- +-----------------------------------------------------------+
- | 2*ARCSIN((sqrt(2)/2)/1) = 90.000000000000000000 degrees |
- +-----------------------------------------------------------+
-For the octahedron we use the same idea used for the tetrahedron, but now
-we inscribe the cube inside the octahedron so that all cubes's vertexes
-matches excatly the center of each octahedron's face. It's now clear that
-this angle is the same of the thetrahedron one:
- +-----------------------------------------------------------+
- | 2*ARCSIN(sqrt(2)/sqrt(3)) = 109.47122063449069174 degrees |
- +-----------------------------------------------------------+
-For the dodecahedron it's a little bit harder because it's only relationship
-with the cube is useless to us. So we need to solve the problem by another
-way. The concept of Face radius also exists on 2D polygons with the name
-Edge radius:
- Edge Radius For Pentagon (ERp)
- ERp = (1/2)/TAN(36 degrees) * VRp = 0.6881909602355867905
- (VRp is the pentagon's vertex radio).
- Face Radius For Dodecahedron
- FRd = T^2 * sqrt((T+2)/5) / 2 = 1.1135163644116068404
-Why we need ERp? Well, ERp and FRd segments forms a 90 degrees angle,
-completing this triangle, the lesser angle is a half of the angle we are
-looking for, so this angle is:
- +-----------------------------------------------------------+
- | 2*ARCTAN(ERp/FRd) = 63.434948822922009981 degrees |
- +-----------------------------------------------------------+
-For the icosahedron we can use the same method used for dodecahedron (well
-the method used for dodecahedron may be used for all regular polyhedra)
- Edge Radius For Triangle (this one is well known: 1/3 of the triangle height)
- ERt = sin(60)/3 = sqrt(3)/6 = 0.2886751345948128655
- Face Radius For Icosahedron
- FRi= (3*sqrt(3)+sqrt(15))/12 = 0.7557613140761707538
-So the angle is:
- +-----------------------------------------------------------+
- | 2*ARCTAN(ERt/FRi) = 41.810314895778596167 degrees |
- +-----------------------------------------------------------+
-
-*/
-
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <math.h>
-#include <unistd.h>
-
-#include <directfb.h>
-#include <directfbgl.h>
-
-#include <GL/gl.h>
-
-
-/* the super interface */
-IDirectFB *dfb;
-
-/* the primary surface (surface of primary layer) */
-IDirectFBSurface *primary;
-
-/* the GL context */
-IDirectFBGL *primary_gl;
-
-/* our font */
-IDirectFBFont *font;
-
-/* event buffer */
-IDirectFBEventBuffer *events;
-
-/* macro for a safe call to DirectFB functions */
-#define DFBCHECK(x...) \
- { \
- err = x; \
- if (err != DFB_OK) { \
- fprintf( stderr, "%s <%d>:\n\t", __FILE__, __LINE__ ); \
- DirectFBErrorFatal( #x, err ); \
- } \
- }
-
-static int screen_width, screen_height;
-
-static unsigned long T0 = 0;
-static GLint Frames = 0;
-static GLfloat fps = 0;
-
-static inline unsigned long get_millis()
-{
- struct timeval tv;
-
- gettimeofday (&tv, NULL);
- return (tv.tv_sec * 1000 + tv.tv_usec / 1000);
-}
-
-
-
-#define Scale 0.3
-
-#define VectMul(X1,Y1,Z1,X2,Y2,Z2) (Y1)*(Z2)-(Z1)*(Y2),(Z1)*(X2)-(X1)*(Z2),(X1)*(Y2)-(Y1)*(X2)
-#define sqr(A) ((A)*(A))
-
-/* Increasing this values produces better image quality, the price is speed. */
-/* Very low values produces erroneous/incorrect plotting */
-#define tetradivisions 23
-#define cubedivisions 20
-#define octadivisions 21
-#define dodecadivisions 10
-#define icodivisions 15
-
-#define tetraangle 109.47122063449069174
-#define cubeangle 90.000000000000000000
-#define octaangle 109.47122063449069174
-#define dodecaangle 63.434948822922009981
-#define icoangle 41.810314895778596167
-
-#ifndef Pi
-#define Pi 3.1415926535897932385
-#endif
-#define SQRT2 1.4142135623730951455
-#define SQRT3 1.7320508075688771932
-#define SQRT5 2.2360679774997898051
-#define SQRT6 2.4494897427831778813
-#define SQRT15 3.8729833462074170214
-#define cossec36_2 0.8506508083520399322
-#define cos72 0.3090169943749474241
-#define sin72 0.9510565162951535721
-#define cos36 0.8090169943749474241
-#define sin36 0.5877852522924731292
-
-/*************************************************************************/
-
-static int mono=0;
-static int smooth=1;
-static GLint WindH, WindW;
-static GLfloat step=0;
-static GLfloat seno;
-static int object;
-static int edgedivisions;
-static void (*draw_object)( void );
-static float Magnitude;
-static float *MaterialColor[20];
-
-static float front_shininess[] = {60.0};
-static float front_specular[] = { 0.7, 0.7, 0.7, 1.0 };
-static float ambient[] = { 0.0, 0.0, 0.0, 1.0 };
-static float diffuse[] = { 1.0, 1.0, 1.0, 1.0 };
-static float position0[] = { 1.0, 1.0, 1.0, 0.0 };
-static float position1[] = {-1.0,-1.0, 1.0, 0.0 };
-static float lmodel_ambient[] = { 0.5, 0.5, 0.5, 1.0 };
-static float lmodel_twoside[] = {GL_TRUE};
-
-static float MaterialRed[] = { 0.7, 0.0, 0.0, 1.0 };
-static float MaterialGreen[] = { 0.1, 0.5, 0.2, 1.0 };
-static float MaterialBlue[] = { 0.0, 0.0, 0.7, 1.0 };
-static float MaterialCyan[] = { 0.2, 0.5, 0.7, 1.0 };
-static float MaterialYellow[] = { 0.7, 0.7, 0.0, 1.0 };
-static float MaterialMagenta[] = { 0.6, 0.2, 0.5, 1.0 };
-static float MaterialWhite[] = { 0.7, 0.7, 0.7, 1.0 };
-static float MaterialGray[] = { 0.2, 0.2, 0.2, 1.0 };
-
-#define TRIANGLE(Edge, Amp, Divisions, Z) \
-{ \
- GLfloat Xf,Yf,Xa,Yb,Xf2,Yf2; \
- GLfloat Factor,Factor1,Factor2; \
- GLfloat VertX,VertY,VertZ,NeiAX,NeiAY,NeiAZ,NeiBX,NeiBY,NeiBZ; \
- GLfloat Ax,Ay,Bx; \
- int Ri,Ti; \
- GLfloat Vr=(Edge)*SQRT3/3; \
- GLfloat AmpVr2=(Amp)/sqr(Vr); \
- GLfloat Zf=(Edge)*(Z); \
- \
- Ax=(Edge)*(+0.5/(Divisions)), Ay=(Edge)*(-SQRT3/(2*Divisions)); \
- Bx=(Edge)*(-0.5/(Divisions)); \
- \
- for (Ri=1; Ri<=(Divisions); Ri++) { \
- glBegin(GL_TRIANGLE_STRIP); \
- for (Ti=0; Ti<Ri; Ti++) { \
- Xf=(float)(Ri-Ti)*Ax + (float)Ti*Bx; \
- Yf=Vr+(float)(Ri-Ti)*Ay + (float)Ti*Ay; \
- Xa=Xf+0.001; Yb=Yf+0.001; \
- Factor=1-(((Xf2=sqr(Xf))+(Yf2=sqr(Yf)))*AmpVr2); \
- Factor1=1-((sqr(Xa)+Yf2)*AmpVr2); \
- Factor2=1-((Xf2+sqr(Yb))*AmpVr2); \
- VertX=Factor*Xf; VertY=Factor*Yf; VertZ=Factor*Zf; \
- NeiAX=Factor1*Xa-VertX; NeiAY=Factor1*Yf-VertY; NeiAZ=Factor1*Zf-VertZ; \
- NeiBX=Factor2*Xf-VertX; NeiBY=Factor2*Yb-VertY; NeiBZ=Factor2*Zf-VertZ; \
- glNormal3f(VectMul(NeiAX, NeiAY, NeiAZ, NeiBX, NeiBY, NeiBZ)); \
- glVertex3f(VertX, VertY, VertZ); \
- \
- Xf=(float)(Ri-Ti-1)*Ax + (float)Ti*Bx; \
- Yf=Vr+(float)(Ri-Ti-1)*Ay + (float)Ti*Ay; \
- Xa=Xf+0.001; Yb=Yf+0.001; \
- Factor=1-(((Xf2=sqr(Xf))+(Yf2=sqr(Yf)))*AmpVr2); \
- Factor1=1-((sqr(Xa)+Yf2)*AmpVr2); \
- Factor2=1-((Xf2+sqr(Yb))*AmpVr2); \
- VertX=Factor*Xf; VertY=Factor*Yf; VertZ=Factor*Zf; \
- NeiAX=Factor1*Xa-VertX; NeiAY=Factor1*Yf-VertY; NeiAZ=Factor1*Zf-VertZ; \
- NeiBX=Factor2*Xf-VertX; NeiBY=Factor2*Yb-VertY; NeiBZ=Factor2*Zf-VertZ; \
- glNormal3f(VectMul(NeiAX, NeiAY, NeiAZ, NeiBX, NeiBY, NeiBZ)); \
- glVertex3f(VertX, VertY, VertZ); \
- \
- } \
- Xf=(float)Ri*Bx; \
- Yf=Vr+(float)Ri*Ay; \
- Xa=Xf+0.001; Yb=Yf+0.001; \
- Factor=1-(((Xf2=sqr(Xf))+(Yf2=sqr(Yf)))*AmpVr2); \
- Factor1=1-((sqr(Xa)+Yf2)*AmpVr2); \
- Factor2=1-((Xf2+sqr(Yb))*AmpVr2); \
- VertX=Factor*Xf; VertY=Factor*Yf; VertZ=Factor*Zf; \
- NeiAX=Factor1*Xa-VertX; NeiAY=Factor1*Yf-VertY; NeiAZ=Factor1*Zf-VertZ; \
- NeiBX=Factor2*Xf-VertX; NeiBY=Factor2*Yb-VertY; NeiBZ=Factor2*Zf-VertZ; \
- glNormal3f(VectMul(NeiAX, NeiAY, NeiAZ, NeiBX, NeiBY, NeiBZ)); \
- glVertex3f(VertX, VertY, VertZ); \
- glEnd(); \
- } \
-}
-
-#define SQUARE(Edge, Amp, Divisions, Z) \
-{ \
- int Xi,Yi; \
- GLfloat Xf,Yf,Y,Xf2,Yf2,Y2,Xa,Yb; \
- GLfloat Factor,Factor1,Factor2; \
- GLfloat VertX,VertY,VertZ,NeiAX,NeiAY,NeiAZ,NeiBX,NeiBY,NeiBZ; \
- GLfloat Zf=(Edge)*(Z); \
- GLfloat AmpVr2=(Amp)/sqr((Edge)*SQRT2/2); \
- \
- for (Yi=0; Yi<(Divisions); Yi++) { \
- Yf=-((Edge)/2.0) + ((float)Yi)/(Divisions)*(Edge); \
- Yf2=sqr(Yf); \
- Y=Yf+1.0/(Divisions)*(Edge); \
- Y2=sqr(Y); \
- glBegin(GL_QUAD_STRIP); \
- for (Xi=0; Xi<=(Divisions); Xi++) { \
- Xf=-((Edge)/2.0) + ((float)Xi)/(Divisions)*(Edge); \
- Xf2=sqr(Xf); \
- \
- Xa=Xf+0.001; Yb=Y+0.001; \
- Factor=1-((Xf2+Y2)*AmpVr2); \
- Factor1=1-((sqr(Xa)+Y2)*AmpVr2); \
- Factor2=1-((Xf2+sqr(Yb))*AmpVr2); \
- VertX=Factor*Xf; VertY=Factor*Y; VertZ=Factor*Zf; \
- NeiAX=Factor1*Xa-VertX; NeiAY=Factor1*Y-VertY; NeiAZ=Factor1*Zf-VertZ; \
- NeiBX=Factor2*Xf-VertX; NeiBY=Factor2*Yb-VertY; NeiBZ=Factor2*Zf-VertZ; \
- glNormal3f(VectMul(NeiAX, NeiAY, NeiAZ, NeiBX, NeiBY, NeiBZ)); \
- glVertex3f(VertX, VertY, VertZ); \
- \
- Xa=Xf+0.001; Yb=Yf+0.001; \
- Factor=1-((Xf2+Yf2)*AmpVr2); \
- Factor1=1-((sqr(Xa)+Yf2)*AmpVr2); \
- Factor2=1-((Xf2+sqr(Yb))*AmpVr2); \
- VertX=Factor*Xf; VertY=Factor*Yf; VertZ=Factor*Zf; \
- NeiAX=Factor1*Xa-VertX; NeiAY=Factor1*Yf-VertY; NeiAZ=Factor1*Zf-VertZ; \
- NeiBX=Factor2*Xf-VertX; NeiBY=Factor2*Yb-VertY; NeiBZ=Factor2*Zf-VertZ; \
- glNormal3f(VectMul(NeiAX, NeiAY, NeiAZ, NeiBX, NeiBY, NeiBZ)); \
- glVertex3f(VertX, VertY, VertZ); \
- } \
- glEnd(); \
- } \
-}
-
-#define PENTAGON(Edge, Amp, Divisions, Z) \
-{ \
- int Ri,Ti,Fi; \
- GLfloat Xf,Yf,Xa,Yb,Xf2,Yf2; \
- GLfloat x[6],y[6]; \
- GLfloat Factor,Factor1,Factor2; \
- GLfloat VertX,VertY,VertZ,NeiAX,NeiAY,NeiAZ,NeiBX,NeiBY,NeiBZ; \
- GLfloat Zf=(Edge)*(Z); \
- GLfloat AmpVr2=(Amp)/sqr((Edge)*cossec36_2); \
- \
- for(Fi=0;Fi<6;Fi++) { \
- x[Fi]=-cos( Fi*2*Pi/5 + Pi/10 )/(Divisions)*cossec36_2*(Edge); \
- y[Fi]=sin( Fi*2*Pi/5 + Pi/10 )/(Divisions)*cossec36_2*(Edge); \
- } \
- \
- for (Ri=1; Ri<=(Divisions); Ri++) { \
- for (Fi=0; Fi<5; Fi++) { \
- glBegin(GL_TRIANGLE_STRIP); \
- for (Ti=0; Ti<Ri; Ti++) { \
- Xf=(float)(Ri-Ti)*x[Fi] + (float)Ti*x[Fi+1]; \
- Yf=(float)(Ri-Ti)*y[Fi] + (float)Ti*y[Fi+1]; \
- Xa=Xf+0.001; Yb=Yf+0.001; \
- Factor=1-(((Xf2=sqr(Xf))+(Yf2=sqr(Yf)))*AmpVr2); \
- Factor1=1-((sqr(Xa)+Yf2)*AmpVr2); \
- Factor2=1-((Xf2+sqr(Yb))*AmpVr2); \
- VertX=Factor*Xf; VertY=Factor*Yf; VertZ=Factor*Zf; \
- NeiAX=Factor1*Xa-VertX; NeiAY=Factor1*Yf-VertY; NeiAZ=Factor1*Zf-VertZ; \
- NeiBX=Factor2*Xf-VertX; NeiBY=Factor2*Yb-VertY; NeiBZ=Factor2*Zf-VertZ; \
- glNormal3f(VectMul(NeiAX, NeiAY, NeiAZ, NeiBX, NeiBY, NeiBZ)); \
- glVertex3f(VertX, VertY, VertZ); \
- \
- Xf=(float)(Ri-Ti-1)*x[Fi] + (float)Ti*x[Fi+1]; \
- Yf=(float)(Ri-Ti-1)*y[Fi] + (float)Ti*y[Fi+1]; \
- Xa=Xf+0.001; Yb=Yf+0.001; \
- Factor=1-(((Xf2=sqr(Xf))+(Yf2=sqr(Yf)))*AmpVr2); \
- Factor1=1-((sqr(Xa)+Yf2)*AmpVr2); \
- Factor2=1-((Xf2+sqr(Yb))*AmpVr2); \
- VertX=Factor*Xf; VertY=Factor*Yf; VertZ=Factor*Zf; \
- NeiAX=Factor1*Xa-VertX; NeiAY=Factor1*Yf-VertY; NeiAZ=Factor1*Zf-VertZ; \
- NeiBX=Factor2*Xf-VertX; NeiBY=Factor2*Yb-VertY; NeiBZ=Factor2*Zf-VertZ; \
- glNormal3f(VectMul(NeiAX, NeiAY, NeiAZ, NeiBX, NeiBY, NeiBZ)); \
- glVertex3f(VertX, VertY, VertZ); \
- \
- } \
- Xf=(float)Ri*x[Fi+1]; \
- Yf=(float)Ri*y[Fi+1]; \
- Xa=Xf+0.001; Yb=Yf+0.001; \
- Factor=1-(((Xf2=sqr(Xf))+(Yf2=sqr(Yf)))*AmpVr2); \
- Factor1=1-((sqr(Xa)+Yf2)*AmpVr2); \
- Factor2=1-((Xf2+sqr(Yb))*AmpVr2); \
- VertX=Factor*Xf; VertY=Factor*Yf; VertZ=Factor*Zf; \
- NeiAX=Factor1*Xa-VertX; NeiAY=Factor1*Yf-VertY; NeiAZ=Factor1*Zf-VertZ; \
- NeiBX=Factor2*Xf-VertX; NeiBY=Factor2*Yb-VertY; NeiBZ=Factor2*Zf-VertZ; \
- glNormal3f(VectMul(NeiAX, NeiAY, NeiAZ, NeiBX, NeiBY, NeiBZ)); \
- glVertex3f(VertX, VertY, VertZ); \
- glEnd(); \
- } \
- } \
-}
-
-static void draw_tetra( void )
-{
- GLuint list;
-
- list = glGenLists( 1 );
- glNewList( list, GL_COMPILE );
- TRIANGLE(2,seno,edgedivisions,0.5/SQRT6);
- glEndList();
-
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[0]);
- glCallList(list);
- glPushMatrix();
- glRotatef(180,0,0,1);
- glRotatef(-tetraangle,1,0,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[1]);
- glCallList(list);
- glPopMatrix();
- glPushMatrix();
- glRotatef(180,0,1,0);
- glRotatef(-180+tetraangle,0.5,SQRT3/2,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[2]);
- glCallList(list);
- glPopMatrix();
- glRotatef(180,0,1,0);
- glRotatef(-180+tetraangle,0.5,-SQRT3/2,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[3]);
- glCallList(list);
-
- glDeleteLists(list,1);
-}
-
-static void draw_cube( void )
-{
- GLuint list;
-
- list = glGenLists( 1 );
- glNewList( list, GL_COMPILE );
- SQUARE(2, seno, edgedivisions, 0.5)
- glEndList();
-
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[0]);
- glCallList(list);
- glRotatef(cubeangle,1,0,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[1]);
- glCallList(list);
- glRotatef(cubeangle,1,0,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[2]);
- glCallList(list);
- glRotatef(cubeangle,1,0,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[3]);
- glCallList(list);
- glRotatef(cubeangle,0,1,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[4]);
- glCallList(list);
- glRotatef(2*cubeangle,0,1,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[5]);
- glCallList(list);
-
- glDeleteLists(list,1);
-}
-
-static void draw_octa( void )
-{
- GLuint list;
-
- list = glGenLists( 1 );
- glNewList( list, GL_COMPILE );
- TRIANGLE(2,seno,edgedivisions,1/SQRT6);
- glEndList();
-
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[0]);
- glCallList(list);
- glPushMatrix();
- glRotatef(180,0,0,1);
- glRotatef(-180+octaangle,1,0,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[1]);
- glCallList(list);
- glPopMatrix();
- glPushMatrix();
- glRotatef(180,0,1,0);
- glRotatef(-octaangle,0.5,SQRT3/2,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[2]);
- glCallList(list);
- glPopMatrix();
- glPushMatrix();
- glRotatef(180,0,1,0);
- glRotatef(-octaangle,0.5,-SQRT3/2,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[3]);
- glCallList(list);
- glPopMatrix();
- glRotatef(180,1,0,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[4]);
- glCallList(list);
- glPushMatrix();
- glRotatef(180,0,0,1);
- glRotatef(-180+octaangle,1,0,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[5]);
- glCallList(list);
- glPopMatrix();
- glPushMatrix();
- glRotatef(180,0,1,0);
- glRotatef(-octaangle,0.5,SQRT3/2,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[6]);
- glCallList(list);
- glPopMatrix();
- glRotatef(180,0,1,0);
- glRotatef(-octaangle,0.5,-SQRT3/2,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[7]);
- glCallList(list);
-
- glDeleteLists(list,1);
-}
-
-static void draw_dodeca( void )
-{
- GLuint list;
-
-#define TAU ((SQRT5+1)/2)
-
- list = glGenLists( 1 );
- glNewList( list, GL_COMPILE );
- PENTAGON(1,seno,edgedivisions,sqr(TAU) * sqrt((TAU+2)/5) / 2);
- glEndList();
-
- glPushMatrix();
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[0]);
- glCallList(list);
- glRotatef(180,0,0,1);
- glPushMatrix();
- glRotatef(-dodecaangle,1,0,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[1]);
- glCallList(list);
- glPopMatrix();
- glPushMatrix();
- glRotatef(-dodecaangle,cos72,sin72,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[2]);
- glCallList(list);
- glPopMatrix();
- glPushMatrix();
- glRotatef(-dodecaangle,cos72,-sin72,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[3]);
- glCallList(list);
- glPopMatrix();
- glPushMatrix();
- glRotatef(dodecaangle,cos36,-sin36,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[4]);
- glCallList(list);
- glPopMatrix();
- glRotatef(dodecaangle,cos36,sin36,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[5]);
- glCallList(list);
- glPopMatrix();
- glRotatef(180,1,0,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[6]);
- glCallList(list);
- glRotatef(180,0,0,1);
- glPushMatrix();
- glRotatef(-dodecaangle,1,0,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[7]);
- glCallList(list);
- glPopMatrix();
- glPushMatrix();
- glRotatef(-dodecaangle,cos72,sin72,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[8]);
- glCallList(list);
- glPopMatrix();
- glPushMatrix();
- glRotatef(-dodecaangle,cos72,-sin72,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[9]);
- glCallList(list);
- glPopMatrix();
- glPushMatrix();
- glRotatef(dodecaangle,cos36,-sin36,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[10]);
- glCallList(list);
- glPopMatrix();
- glRotatef(dodecaangle,cos36,sin36,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[11]);
- glCallList(list);
-
- glDeleteLists(list,1);
-}
-
-static void draw_ico( void )
-{
- GLuint list;
-
- list = glGenLists( 1 );
- glNewList( list, GL_COMPILE );
- TRIANGLE(1.5,seno,edgedivisions,(3*SQRT3+SQRT15)/12);
- glEndList();
-
- glPushMatrix();
-
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[0]);
- glCallList(list);
- glPushMatrix();
- glRotatef(180,0,0,1);
- glRotatef(-icoangle,1,0,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[1]);
- glCallList(list);
- glPushMatrix();
- glRotatef(180,0,1,0);
- glRotatef(-180+icoangle,0.5,SQRT3/2,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[2]);
- glCallList(list);
- glPopMatrix();
- glRotatef(180,0,1,0);
- glRotatef(-180+icoangle,0.5,-SQRT3/2,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[3]);
- glCallList(list);
- glPopMatrix();
- glPushMatrix();
- glRotatef(180,0,1,0);
- glRotatef(-180+icoangle,0.5,SQRT3/2,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[4]);
- glCallList(list);
- glPushMatrix();
- glRotatef(180,0,1,0);
- glRotatef(-180+icoangle,0.5,SQRT3/2,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[5]);
- glCallList(list);
- glPopMatrix();
- glRotatef(180,0,0,1);
- glRotatef(-icoangle,1,0,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[6]);
- glCallList(list);
- glPopMatrix();
- glRotatef(180,0,1,0);
- glRotatef(-180+icoangle,0.5,-SQRT3/2,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[7]);
- glCallList(list);
- glPushMatrix();
- glRotatef(180,0,1,0);
- glRotatef(-180+icoangle,0.5,-SQRT3/2,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[8]);
- glCallList(list);
- glPopMatrix();
- glRotatef(180,0,0,1);
- glRotatef(-icoangle,1,0,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[9]);
- glCallList(list);
- glPopMatrix();
- glRotatef(180,1,0,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[10]);
- glCallList(list);
- glPushMatrix();
- glRotatef(180,0,0,1);
- glRotatef(-icoangle,1,0,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[11]);
- glCallList(list);
- glPushMatrix();
- glRotatef(180,0,1,0);
- glRotatef(-180+icoangle,0.5,SQRT3/2,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[12]);
- glCallList(list);
- glPopMatrix();
- glRotatef(180,0,1,0);
- glRotatef(-180+icoangle,0.5,-SQRT3/2,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[13]);
- glCallList(list);
- glPopMatrix();
- glPushMatrix();
- glRotatef(180,0,1,0);
- glRotatef(-180+icoangle,0.5,SQRT3/2,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[14]);
- glCallList(list);
- glPushMatrix();
- glRotatef(180,0,1,0);
- glRotatef(-180+icoangle,0.5,SQRT3/2,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[15]);
- glCallList(list);
- glPopMatrix();
- glRotatef(180,0,0,1);
- glRotatef(-icoangle,1,0,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[16]);
- glCallList(list);
- glPopMatrix();
- glRotatef(180,0,1,0);
- glRotatef(-180+icoangle,0.5,-SQRT3/2,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[17]);
- glCallList(list);
- glPushMatrix();
- glRotatef(180,0,1,0);
- glRotatef(-180+icoangle,0.5,-SQRT3/2,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[18]);
- glCallList(list);
- glPopMatrix();
- glRotatef(180,0,0,1);
- glRotatef(-icoangle,1,0,0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, MaterialColor[19]);
- glCallList(list);
-
- glDeleteLists(list,1);
-}
-
-static void draw ( void ) {
- glClear( /*GL_COLOR_BUFFER_BIT |*/ GL_DEPTH_BUFFER_BIT );
-
- glPushMatrix();
-
- glTranslatef( 0.0, 0.0, -10.0 );
- glScalef( Scale*WindH/WindW, Scale, Scale );
- glTranslatef(2.5*WindW/WindH*sin(step*1.11),2.5*cos(step*1.25*1.11),0);
- glRotatef(step*100,1,0,0);
- glRotatef(step*95,0,1,0);
- glRotatef(step*90,0,0,1);
-
- seno=(sin(step)+1.0/3.0)*(4.0/5.0)*Magnitude;
-
- draw_object();
-
- glPopMatrix();
-
- glFlush();
-
- step+=0.05;
-}
-
-static void reshape( int width, int height )
-{
- glViewport(0, 0, WindW=(GLint)width, WindH=(GLint)height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glFrustum( -1.0, 1.0, -1.0, 1.0, 5.0, 15.0 );
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void pinit(void)
-{
- switch(object) {
- case 1:
- draw_object=draw_tetra;
- MaterialColor[0]=MaterialRed;
- MaterialColor[1]=MaterialGreen;
- MaterialColor[2]=MaterialBlue;
- MaterialColor[3]=MaterialWhite;
- edgedivisions=tetradivisions;
- Magnitude=2.5;
- break;
- case 2:
- draw_object=draw_cube;
- MaterialColor[0]=MaterialRed;
- MaterialColor[1]=MaterialGreen;
- MaterialColor[2]=MaterialCyan;
- MaterialColor[3]=MaterialMagenta;
- MaterialColor[4]=MaterialYellow;
- MaterialColor[5]=MaterialBlue;
- edgedivisions=cubedivisions;
- Magnitude=2.0;
- break;
- case 3:
- draw_object=draw_octa;
- MaterialColor[0]=MaterialRed;
- MaterialColor[1]=MaterialGreen;
- MaterialColor[2]=MaterialBlue;
- MaterialColor[3]=MaterialWhite;
- MaterialColor[4]=MaterialCyan;
- MaterialColor[5]=MaterialMagenta;
- MaterialColor[6]=MaterialGray;
- MaterialColor[7]=MaterialYellow;
- edgedivisions=octadivisions;
- Magnitude=2.5;
- break;
- case 4:
- draw_object=draw_dodeca;
- MaterialColor[ 0]=MaterialRed;
- MaterialColor[ 1]=MaterialGreen;
- MaterialColor[ 2]=MaterialCyan;
- MaterialColor[ 3]=MaterialBlue;
- MaterialColor[ 4]=MaterialMagenta;
- MaterialColor[ 5]=MaterialYellow;
- MaterialColor[ 6]=MaterialGreen;
- MaterialColor[ 7]=MaterialCyan;
- MaterialColor[ 8]=MaterialRed;
- MaterialColor[ 9]=MaterialMagenta;
- MaterialColor[10]=MaterialBlue;
- MaterialColor[11]=MaterialYellow;
- edgedivisions=dodecadivisions;
- Magnitude=2.0;
- break;
- case 5:
- draw_object=draw_ico;
- MaterialColor[ 0]=MaterialRed;
- MaterialColor[ 1]=MaterialGreen;
- MaterialColor[ 2]=MaterialBlue;
- MaterialColor[ 3]=MaterialCyan;
- MaterialColor[ 4]=MaterialYellow;
- MaterialColor[ 5]=MaterialMagenta;
- MaterialColor[ 6]=MaterialRed;
- MaterialColor[ 7]=MaterialGreen;
- MaterialColor[ 8]=MaterialBlue;
- MaterialColor[ 9]=MaterialWhite;
- MaterialColor[10]=MaterialCyan;
- MaterialColor[11]=MaterialYellow;
- MaterialColor[12]=MaterialMagenta;
- MaterialColor[13]=MaterialRed;
- MaterialColor[14]=MaterialGreen;
- MaterialColor[15]=MaterialBlue;
- MaterialColor[16]=MaterialCyan;
- MaterialColor[17]=MaterialYellow;
- MaterialColor[18]=MaterialMagenta;
- MaterialColor[19]=MaterialGray;
- edgedivisions=icodivisions;
- Magnitude=2.5;
- break;
- }
- if (mono) {
- int loop;
- for (loop=0; loop<20; loop++) MaterialColor[loop]=MaterialGray;
- }
- if (smooth) {
- glShadeModel( GL_SMOOTH );
- } else {
- glShadeModel( GL_FLAT );
- }
-
-}
-
-static void init(void)
-{
- printf("Morph 3D - Shows morphing platonic polyhedra\n");
- printf("Author: Marcelo Fernandes Vianna (vianna@cat.cbpf.br)\n\n");
- printf(" [1] - Tetrahedron\n");
- printf(" [2] - Hexahedron (Cube)\n");
- printf(" [3] - Octahedron\n");
- printf(" [4] - Dodecahedron\n");
- printf(" [5] - Icosahedron\n");
- printf("[SPACE] - Toggle colored faces\n");
- printf("[RETURN] - Toggle smooth/flat shading\n");
- printf(" [ESC] - Quit\n");
-
- object=1;
-
- glClearDepth(1.0);
- glClearColor( 0.0, 0.0, 0.0, 0.0 );
- glColor3f( 1.0, 1.0, 1.0 );
-
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
- glFlush();
- primary->Flip( primary, NULL, 0 );
-
- glLightfv(GL_LIGHT0, GL_AMBIENT, ambient);
- glLightfv(GL_LIGHT0, GL_DIFFUSE, diffuse);
- glLightfv(GL_LIGHT0, GL_POSITION, position0);
- glLightfv(GL_LIGHT1, GL_AMBIENT, ambient);
- glLightfv(GL_LIGHT1, GL_DIFFUSE, diffuse);
- glLightfv(GL_LIGHT1, GL_POSITION, position1);
- glLightModelfv(GL_LIGHT_MODEL_AMBIENT, lmodel_ambient);
- glLightModelfv(GL_LIGHT_MODEL_TWO_SIDE, lmodel_twoside);
- glEnable(GL_LIGHTING);
- glEnable(GL_LIGHT0);
- glEnable(GL_LIGHT1);
- glEnable(GL_DEPTH_TEST);
- glEnable(GL_NORMALIZE);
-
- glMaterialfv(GL_FRONT_AND_BACK, GL_SHININESS, front_shininess);
- glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, front_specular);
-
- glHint(GL_FOG_HINT, GL_FASTEST);
- glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_FASTEST);
- glHint(GL_POLYGON_SMOOTH_HINT, GL_FASTEST);
-
- pinit();
-}
-
-int main( int argc, char *argv[] )
-{
- int quit = 0;
- DFBResult err;
- DFBSurfaceDescription dsc;
-
- DFBCHECK(DirectFBInit( &argc, &argv ));
-
- /* create the super interface */
- DFBCHECK(DirectFBCreate( &dfb ));
-
- /* create an event buffer for all devices with these caps */
- DFBCHECK(dfb->CreateInputEventBuffer( dfb, DICAPS_KEYS, DFB_FALSE, &events ));
-
- /* set our cooperative level to DFSCL_FULLSCREEN
- for exclusive access to the primary layer */
- dfb->SetCooperativeLevel( dfb, DFSCL_FULLSCREEN );
-
- /* get the primary surface, i.e. the surface of the
- primary layer we have exclusive access to */
- dsc.flags = DSDESC_CAPS;
- dsc.caps = DSCAPS_PRIMARY | DSCAPS_DOUBLE;
-
- DFBCHECK(dfb->CreateSurface( dfb, &dsc, &primary ));
-
- /* get the size of the surface and fill it */
- DFBCHECK(primary->GetSize( primary, &screen_width, &screen_height ));
- DFBCHECK(primary->FillRectangle( primary, 0, 0,
- screen_width, screen_height ));
-
- /* create the default font and set it */
- DFBCHECK(dfb->CreateFont( dfb, NULL, NULL, &font ));
- DFBCHECK(primary->SetFont( primary, font ));
-
- /* get the GL context */
- DFBCHECK(primary->GetGL( primary, &primary_gl ));
-
- DFBCHECK(primary_gl->Lock( primary_gl ));
-
- init();
- reshape(screen_width, screen_height);
-
- DFBCHECK(primary_gl->Unlock( primary_gl ));
-
- T0 = get_millis();
-
- while (!quit) {
- DFBInputEvent evt;
- unsigned long t;
-
- primary->Clear( primary, 0, 0, 0, 0 );
-
- DFBCHECK(primary_gl->Lock( primary_gl ));
-
- draw();
-
- DFBCHECK(primary_gl->Unlock( primary_gl ));
-
- if (fps) {
- char buf[64];
-
- sprintf(buf, "%4.1f FPS\n", fps);
- primary->SetColor( primary, 0xff, 0, 0, 0xff );
- primary->DrawString( primary, buf, -1, screen_width - 5, 5, DSTF_TOPRIGHT );
- }
-
- primary->Flip( primary, NULL, 0 );
- Frames++;
-
-
- t = get_millis();
- if (t - T0 >= 1000) {
- GLfloat seconds = (t - T0) / 1000.0;
-
- fps = Frames / seconds;
-
- T0 = t;
- Frames = 0;
- }
-
-
- while (events->GetEvent( events, DFB_EVENT(&evt) ) == DFB_OK) {
- switch (evt.type) {
- case DIET_KEYPRESS:
- switch (evt.key_symbol) {
- case DIKS_ESCAPE:
- quit = 1;
- break;
- case DIKS_1: object=1; break;
- case DIKS_2: object=2; break;
- case DIKS_3: object=3; break;
- case DIKS_4: object=4; break;
- case DIKS_5: object=5; break;
- case DIKS_SPACE: mono^=1; break;
- case DIKS_ENTER: smooth^=1; break;
- default:
- ;
- }
- pinit();
- break;
- default:
- ;
- }
- }
- }
-
- /* release our interfaces to shutdown DirectFB */
- primary_gl->Release( primary_gl );
- primary->Release( primary );
- font->Release( font );
- events->Release( events );
- dfb->Release( dfb );
-
- return 0;
-}
-
diff --git a/progs/directfb/df_reflect.c b/progs/directfb/df_reflect.c
deleted file mode 100644
index a0e789c387..0000000000
--- a/progs/directfb/df_reflect.c
+++ /dev/null
@@ -1,489 +0,0 @@
-/*
- (c) Copyright 2001 convergence integrated media GmbH.
- All rights reserved.
-
- Written by Denis Oliver Kropp <dok@convergence.de> and
- Andreas Hundt <andi@convergence.de>.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this library; if not, write to the
- Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA.
-*/
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <math.h>
-
-#include <directfb.h>
-#include <directfbgl.h>
-
-#include <GL/glu.h>
-
-#include "util/showbuffer.c"
-#include "util/readtex.c"
-
-
-/* the super interface */
-IDirectFB *dfb;
-
-/* the primary surface (surface of primary layer) */
-IDirectFBSurface *primary;
-
-/* the GL context */
-IDirectFBGL *primary_gl;
-
-/* our font */
-IDirectFBFont *font;
-
-/* event buffer */
-IDirectFBEventBuffer *events;
-
-/* macro for a safe call to DirectFB functions */
-#define DFBCHECK(x...) \
- { \
- err = x; \
- if (err != DFB_OK) { \
- fprintf( stderr, "%s <%d>:\n\t", __FILE__, __LINE__ ); \
- DirectFBErrorFatal( #x, err ); \
- } \
- }
-
-static int screen_width, screen_height;
-
-static unsigned long T0 = 0;
-static GLint Frames = 0;
-static GLfloat fps = 0;
-
-static inline unsigned long get_millis()
-{
- struct timeval tv;
-
- gettimeofday (&tv, NULL);
- return (tv.tv_sec * 1000 + tv.tv_usec / 1000);
-}
-
-/*******************************/
-
-#define DEG2RAD (3.14159/180.0)
-
-#define TABLE_TEXTURE "../images/tile.rgb"
-
-static GLint ImgWidth, ImgHeight;
-static GLenum ImgFormat;
-static GLubyte *Image = NULL;
-
-#define MAX_OBJECTS 2
-static GLint table_list;
-static GLint objects_list[MAX_OBJECTS];
-
-static GLfloat xrot, yrot;
-static GLfloat spin;
-
-static GLint Width = 400, Height = 300;
-static GLenum ShowBuffer = GL_NONE;
-
-
-static void make_table( void )
-{
- static GLfloat table_mat[] = { 1.0, 1.0, 1.0, 0.6 };
- static GLfloat gray[] = { 0.4, 0.4, 0.4, 1.0 };
-
- table_list = glGenLists(1);
- glNewList( table_list, GL_COMPILE );
-
- /* load table's texture */
- glMaterialfv( GL_FRONT, GL_AMBIENT_AND_DIFFUSE, table_mat );
-/* glMaterialfv( GL_FRONT, GL_EMISSION, gray );*/
- glMaterialfv( GL_FRONT, GL_DIFFUSE, table_mat );
- glMaterialfv( GL_FRONT, GL_AMBIENT, gray );
-
- /* draw textured square for the table */
- glPushMatrix();
- glScalef( 4.0, 4.0, 4.0 );
- glBegin( GL_POLYGON );
- glNormal3f( 0.0, 1.0, 0.0 );
- glTexCoord2f( 0.0, 0.0 ); glVertex3f( -1.0, 0.0, 1.0 );
- glTexCoord2f( 1.0, 0.0 ); glVertex3f( 1.0, 0.0, 1.0 );
- glTexCoord2f( 1.0, 1.0 ); glVertex3f( 1.0, 0.0, -1.0 );
- glTexCoord2f( 0.0, 1.0 ); glVertex3f( -1.0, 0.0, -1.0 );
- glEnd();
- glPopMatrix();
-
- glDisable( GL_TEXTURE_2D );
-
- glEndList();
-}
-
-
-static void make_objects( void )
-{
- GLUquadricObj *q;
-
- static GLfloat cyan[] = { 0.0, 1.0, 1.0, 1.0 };
- static GLfloat green[] = { 0.2, 1.0, 0.2, 1.0 };
- static GLfloat black[] = { 0.0, 0.0, 0.0, 0.0 };
-
- q = gluNewQuadric();
- gluQuadricDrawStyle( q, GLU_FILL );
- gluQuadricNormals( q, GLU_SMOOTH );
-
- objects_list[0] = glGenLists(1);
- glNewList( objects_list[0], GL_COMPILE );
- glMaterialfv( GL_FRONT, GL_AMBIENT_AND_DIFFUSE, cyan );
- glMaterialfv( GL_FRONT, GL_EMISSION, black );
- gluCylinder( q, 0.5, 0.5, 1.0, 15, 1 );
- glEndList();
-
- objects_list[1] = glGenLists(1);
- glNewList( objects_list[1], GL_COMPILE );
- glMaterialfv( GL_FRONT, GL_AMBIENT_AND_DIFFUSE, green );
- glMaterialfv( GL_FRONT, GL_EMISSION, black );
- gluCylinder( q, 1.5, 0.0, 2.5, 15, 1 );
- glEndList();
-}
-
-
-static void init( void )
-{
- make_table();
- make_objects();
-
- Image = LoadRGBImage( TABLE_TEXTURE, &ImgWidth, &ImgHeight, &ImgFormat );
- if (!Image) {
- printf("Couldn't read %s\n", TABLE_TEXTURE);
- exit(0);
- }
-
- gluBuild2DMipmaps(GL_TEXTURE_2D, 3, ImgWidth, ImgHeight,
- ImgFormat, GL_UNSIGNED_BYTE, Image);
-
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST );
-
- xrot = 30.0;
- yrot = 50.0;
- spin = 0.0;
-
- glShadeModel( GL_FLAT );
-
- glEnable( GL_LIGHT0 );
- glEnable( GL_LIGHTING );
-
- glClearColor( 0.5, 0.5, 0.9, 0.0 );
-
- glEnable( GL_NORMALIZE );
-}
-
-
-
-static void reshape(int w, int h)
-{
- GLfloat yAspect = 2.5;
- GLfloat xAspect = yAspect * (float) w / (float) h;
- Width = w;
- Height = h;
- glViewport(0, 0, w, h);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glFrustum( -xAspect, xAspect, -yAspect, yAspect, 10.0, 30.0 );
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
-}
-
-
-
-static void draw_objects( GLfloat eyex, GLfloat eyey, GLfloat eyez )
-{
- (void) eyex;
- (void) eyey;
- (void) eyez;
-#ifndef USE_ZBUFFER
- if (eyex<0.5) {
-#endif
- glPushMatrix();
- glTranslatef( 1.0, 1.5, 0.0 );
- glRotatef( spin, 1.0, 0.5, 0.0 );
- glRotatef( 0.5*spin, 0.0, 0.5, 1.0 );
- glCallList( objects_list[0] );
- glPopMatrix();
-
- glPushMatrix();
- glTranslatef( -1.0, 0.85+3.0*fabs( cos(0.01*spin) ), 0.0 );
- glRotatef( 0.5*spin, 0.0, 0.5, 1.0 );
- glRotatef( spin, 1.0, 0.5, 0.0 );
- glScalef( 0.5, 0.5, 0.5 );
- glCallList( objects_list[1] );
- glPopMatrix();
-#ifndef USE_ZBUFFER
- }
- else {
- glPushMatrix();
- glTranslatef( -1.0, 0.85+3.0*fabs( cos(0.01*spin) ), 0.0 );
- glRotatef( 0.5*spin, 0.0, 0.5, 1.0 );
- glRotatef( spin, 1.0, 0.5, 0.0 );
- glScalef( 0.5, 0.5, 0.5 );
- glCallList( objects_list[1] );
- glPopMatrix();
-
- glPushMatrix();
- glTranslatef( 1.0, 1.5, 0.0 );
- glRotatef( spin, 1.0, 0.5, 0.0 );
- glRotatef( 0.5*spin, 0.0, 0.5, 1.0 );
- glCallList( objects_list[0] );
- glPopMatrix();
- }
-#endif
-}
-
-
-
-static void draw_table( void )
-{
- glCallList( table_list );
-}
-
-
-
-static void draw( void )
-{
- static GLfloat light_pos[] = { 0.0, 20.0, 0.0, 1.0 };
- GLfloat dist = 20.0;
- GLfloat eyex, eyey, eyez;
-
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
-
-
- eyex = dist * cos(yrot*DEG2RAD) * cos(xrot*DEG2RAD);
- eyez = dist * sin(yrot*DEG2RAD) * cos(xrot*DEG2RAD);
- eyey = dist * sin(xrot*DEG2RAD);
-
- /* view from top */
- glPushMatrix();
- gluLookAt( eyex, eyey, eyez, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0 );
-
- glLightfv( GL_LIGHT0, GL_POSITION, light_pos );
-
- /* draw table into stencil planes */
- glDisable( GL_DEPTH_TEST );
- glEnable( GL_STENCIL_TEST );
- glStencilFunc( GL_ALWAYS, 1, 0xffffffff );
- glStencilOp( GL_REPLACE, GL_REPLACE, GL_REPLACE );
- glColorMask( GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE );
- draw_table();
- glColorMask( GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE );
-
- glEnable( GL_DEPTH_TEST );
-
- /* render view from below (reflected viewport) */
- /* only draw where stencil==1 */
- if (eyey>0.0) {
- glPushMatrix();
-
- glStencilFunc( GL_EQUAL, 1, 0xffffffff ); /* draw if ==1 */
- glStencilOp( GL_KEEP, GL_KEEP, GL_KEEP );
- glScalef( 1.0, -1.0, 1.0 );
-
- /* Reposition light in reflected space. */
- glLightfv(GL_LIGHT0, GL_POSITION, light_pos);
-
- draw_objects(eyex, eyey, eyez);
- glPopMatrix();
-
- /* Restore light's original unreflected position. */
- glLightfv(GL_LIGHT0, GL_POSITION, light_pos);
- }
-
- glDisable( GL_STENCIL_TEST );
-
- glEnable( GL_BLEND );
- glBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA );
-
- glEnable( GL_TEXTURE_2D );
- draw_table();
- glDisable( GL_TEXTURE_2D );
- glDisable( GL_BLEND );
-
- /* view from top */
- glPushMatrix();
-
- draw_objects(eyex, eyey, eyez);
-
- glPopMatrix();
-
- glPopMatrix();
-
- if (ShowBuffer == GL_DEPTH) {
- ShowDepthBuffer(Width, Height, 1.0, 0.0);
- }
- else if (ShowBuffer == GL_STENCIL) {
- ShowStencilBuffer(Width, Height, 255.0, 0.0);
- }
- else if (ShowBuffer == GL_ALPHA) {
- ShowAlphaBuffer(Width, Height);
- }
-}
-
-/*******************************/
-
-int main( int argc, char *argv[] )
-{
- int quit = 0;
- DFBResult err;
- DFBSurfaceDescription dsc;
-
- DFBCHECK(DirectFBInit( &argc, &argv ));
-
- /* create the super interface */
- DFBCHECK(DirectFBCreate( &dfb ));
-
- /* create an event buffer for all devices with these caps */
- DFBCHECK(dfb->CreateInputEventBuffer( dfb, DICAPS_ALL, DFB_FALSE, &events ));
-
- /* set our cooperative level to DFSCL_FULLSCREEN
- for exclusive access to the primary layer */
- dfb->SetCooperativeLevel( dfb, DFSCL_FULLSCREEN );
-
- /* get the primary surface, i.e. the surface of the
- primary layer we have exclusive access to */
- dsc.flags = DSDESC_CAPS;
- dsc.caps = (DFBSurfaceCapabilities)(DSCAPS_PRIMARY | DSCAPS_DOUBLE);
-
- DFBCHECK(dfb->CreateSurface( dfb, &dsc, &primary ));
-
- /* get the size of the surface and fill it */
- DFBCHECK(primary->GetSize( primary, &screen_width, &screen_height ));
- DFBCHECK(primary->FillRectangle( primary, 0, 0,
- screen_width, screen_height ));
-
- /* create the default font and set it */
- DFBCHECK(dfb->CreateFont( dfb, NULL, NULL, &font ));
- DFBCHECK(primary->SetFont( primary, font ));
-
- /* get the GL context */
- DFBCHECK(primary->GetGL( primary, &primary_gl ));
-
- DFBCHECK(primary_gl->Lock( primary_gl ));
-
- init();
- reshape(screen_width, screen_height);
-
- DFBCHECK(primary_gl->Unlock( primary_gl ));
-
- T0 = get_millis();
-
- while (!quit) {
- DFBInputEvent evt;
- unsigned long t;
-
- DFBCHECK(primary_gl->Lock( primary_gl ));
-
- draw();
-
- DFBCHECK(primary_gl->Unlock( primary_gl ));
-
- if (fps) {
- char buf[64];
-
- sprintf(buf, "%4.1f FPS\n", fps);
- primary->SetColor( primary, 0xff, 0, 0, 0xff );
- primary->DrawString( primary, buf, -1, screen_width - 5, 5, DSTF_TOPRIGHT );
- }
-
- primary->Flip( primary, NULL, (DFBSurfaceFlipFlags)0 );
- Frames++;
-
-
- t = get_millis();
- if (t - T0 >= 1000) {
- GLfloat seconds = (t - T0) / 1000.0;
-
- fps = Frames / seconds;
-
- T0 = t;
- Frames = 0;
- }
-
-
- while (events->GetEvent( events, DFB_EVENT(&evt) ) == DFB_OK) {
- switch (evt.type) {
- case DIET_KEYPRESS:
- switch (DFB_LOWER_CASE(evt.key_symbol)) {
- case DIKS_ESCAPE:
- quit = 1;
- break;
- case DIKS_CURSOR_UP:
- xrot += 3.0;
- if ( xrot > 85 )
- xrot = 85;
- break;
- case DIKS_CURSOR_DOWN:
- xrot -= 3.0;
- if ( xrot < 5 )
- xrot = 5;
- break;
- case DIKS_CURSOR_LEFT:
- yrot += 3.0;
- break;
- case DIKS_CURSOR_RIGHT:
- yrot -= 3.0;
- break;
- case DIKS_SMALL_D:
- ShowBuffer = GL_DEPTH;
- break;
- case DIKS_SMALL_S:
- ShowBuffer = GL_STENCIL;
- break;
- case DIKS_SMALL_A:
- ShowBuffer = GL_ALPHA;
- break;
- default:
- ShowBuffer = GL_NONE;
- }
- break;
- case DIET_AXISMOTION:
- if (evt.flags & DIEF_AXISREL) {
- switch (evt.axis) {
- case DIAI_X:
- yrot += evt.axisrel / 2.0;
- break;
- case DIAI_Y:
- xrot += evt.axisrel / 2.0;
- break;
- default:
- ;
- }
- }
- break;
- default:
- ;
- }
- }
-
- spin += 2.0;
- yrot += 3.0;
- }
-
- /* release our interfaces to shutdown DirectFB */
- primary_gl->Release( primary_gl );
- primary->Release( primary );
- font->Release( font );
- events->Release( events );
- dfb->Release( dfb );
-
- return 0;
-}
-
diff --git a/progs/directfb/multi_window.c b/progs/directfb/multi_window.c
deleted file mode 100644
index 9bb0e4be8e..0000000000
--- a/progs/directfb/multi_window.c
+++ /dev/null
@@ -1,240 +0,0 @@
-/*
- (c) Copyright 2001 convergence integrated media GmbH.
- All rights reserved.
-
- Written by Denis Oliver Kropp <dok@convergence.de> and
- Andreas Hundt <andi@convergence.de>.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this library; if not, write to the
- Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA.
-*/
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <math.h>
-
-#include <GL/gl.h>
-#include <GL/glu.h>
-
-#include <directfb.h>
-#include <directfbgl.h>
-
-
-typedef struct {
- IDirectFBWindow *window;
- IDirectFBSurface *surface;
- IDirectFBGL *gl;
-
- int width;
- int height;
-
- unsigned long last_time;
- int frames;
- float fps;
-} Context;
-
-static const GLfloat blue[4] = {0.2, 0.2, 1.0, 1.0};
-
-static IDirectFB *dfb;
-static IDirectFBDisplayLayer *layer;
-static IDirectFBFont *font;
-static IDirectFBEventBuffer *events = NULL;
-
-/* macro for a safe call to DirectFB functions */
-#define DFBCHECK(x...) \
- do { \
- ret = x; \
- if (ret != DFB_OK) { \
- fprintf( stderr, "%s <%d>:\n\t", __FILE__, __LINE__ ); \
- DirectFBErrorFatal( #x, ret ); \
- } \
- } while (0)
-
-
-static inline unsigned long get_millis()
-{
- struct timeval tv;
-
- gettimeofday (&tv, NULL);
- return (tv.tv_sec * 1000 + tv.tv_usec / 1000);
-}
-
-
-static void
-setup( Context *context )
-{
- GLfloat pos[4] = {5.0, 5.0, 10.0, 0.0};
-
- context->surface->GetSize( context->surface,
- &context->width, &context->height );
-
- context->gl->Lock( context->gl );
-
- glLightfv(GL_LIGHT0, GL_POSITION, pos);
- glEnable(GL_CULL_FACE);
- glEnable(GL_LIGHTING);
- glEnable(GL_LIGHT0);
- glEnable(GL_DEPTH_TEST);
-
- glViewport(0, 0, context->width, context->height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- gluPerspective(70.0, context->width / (float) context->height, 1.0, 80.0);
-
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef(0.0, 0.0, -40.0);
-
- context->gl->Unlock( context->gl );
-}
-
-static void
-update( Context *context )
-{
- unsigned long t;
- IDirectFBSurface *surface = context->surface;
- static __u8 r = 0, g = 0, b = 0;
-
-
- context->gl->Lock( context->gl );
-
- glClearColor( r++/255.0, g++/255.0, b++/255.0, 1.0 );
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
- context->gl->Unlock( context->gl );
-
- if (context->fps) {
- char buf[16];
-
- snprintf(buf, sizeof(buf), "%.1f FPS\n", context->fps);
-
- surface->SetColor( surface, 0xff, 0x00, 0x00, 0xff );
- surface->DrawString( surface, buf, -1,
- context->width - 5, 5, DSTF_TOPRIGHT );
- }
-
- surface->Flip( surface, NULL, 0 );
-
- context->frames++;
-
- t = get_millis();
- if (t - context->last_time >= 2000) {
- float seconds = (t - context->last_time) / 1000.0f;
-
- context->fps = context->frames / seconds;
-
- context->last_time = t;
- context->frames = 0;
- }
-}
-
-int
-main( int argc, char *argv[] )
-{
- DFBResult ret;
- int i;
- int quit = 0;
- const int num = 2;
- Context contexts[num];
-
- DFBCHECK(DirectFBInit( &argc, &argv ));
-
- /* create the super interface */
- DFBCHECK(DirectFBCreate( &dfb ));
-
- DFBCHECK(dfb->GetDisplayLayer( dfb, DLID_PRIMARY, &layer ));
-
- /* create the default font */
- DFBCHECK(dfb->CreateFont( dfb, NULL, NULL, &font ));
-
- for (i=0; i<num; i++) {
- IDirectFBWindow *window;
- IDirectFBSurface *surface;
- IDirectFBGL *gl;
- DFBWindowDescription desc;
-
- desc.flags = DWDESC_POSX | DWDESC_POSY |
- DWDESC_WIDTH | DWDESC_HEIGHT;
- desc.posx = (i%3) * 200 + 10;
- desc.posy = (i/3) * 200 + 10;
- desc.width = 180;
- desc.height = 180;
-
- DFBCHECK(layer->CreateWindow( layer, &desc, &window ));
- DFBCHECK(window->GetSurface( window, &surface ));
- DFBCHECK(surface->GetGL( surface, &gl ));
-
- contexts[i].window = window;
- contexts[i].surface = surface;
- contexts[i].gl = gl;
-
- contexts[i].last_time = get_millis();
- contexts[i].frames = 0;
- contexts[i].fps = 0;
-
- setup( &contexts[i] );
-
- if (events)
- DFBCHECK(window->AttachEventBuffer( window, events ));
- else
- DFBCHECK(window->CreateEventBuffer( window, &events ));
-
- DFBCHECK(surface->SetFont( surface, font ));
-
- window->SetOpacity( window, 0xff );
- }
-
- while (!quit) {
- DFBWindowEvent evt;
-
- for (i=0; i<num; i++)
- update( &contexts[i] );
-
- while (events->GetEvent( events, DFB_EVENT(&evt) ) == DFB_OK) {
- switch (evt.type) {
- case DWET_KEYDOWN:
- switch (evt.key_symbol) {
- case DIKS_ESCAPE:
- quit = 1;
- break;
-
- default:
- break;
- }
- break;
-
- default:
- break;
- }
- }
- }
-
- events->Release( events );
-
- for (i=0; i<num; i++) {
- contexts[i].gl->Release( contexts[i].gl );
- contexts[i].surface->Release( contexts[i].surface );
- contexts[i].window->Release( contexts[i].window );
- }
-
- font->Release( font );
- layer->Release( layer );
- dfb->Release( dfb );
-
- return 0;
-}
-
diff --git a/progs/egl/.gitignore b/progs/egl/.gitignore
deleted file mode 100644
index 7a13d4686a..0000000000
--- a/progs/egl/.gitignore
+++ /dev/null
@@ -1,12 +0,0 @@
-demo1
-demo2
-demo3
-eglgears
-eglinfo
-eglscreen
-egltri
-peglgears
-xeglbindtex
-xeglgears
-xeglthreads
-xegl_tri
diff --git a/progs/egl/Makefile b/progs/egl/Makefile
deleted file mode 100644
index ff9a858c56..0000000000
--- a/progs/egl/Makefile
+++ /dev/null
@@ -1,74 +0,0 @@
-# progs/egl/Makefile
-
-TOP = ../..
-include $(TOP)/configs/current
-
-
-INCLUDE_DIRS = -I$(TOP)/include
-
-HEADERS = $(TOP)/include/GLES/egl.h
-LIB_DEP = $(TOP)/$(LIB_DIR)/libEGL.so
-
-LIBS = -L$(TOP)/$(LIB_DIR) -lEGL -lGL
-
-PROGRAMS = \
- demo1 \
- demo2 \
- demo3 \
- egltri \
- eglinfo \
- eglgears \
- eglscreen \
- peglgears \
- xeglbindtex \
- xeglgears \
- xeglthreads \
- xegl_tri
-
-
-.c.o:
- $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $< -o $@
-
-
-
-default: $(PROGRAMS)
-
-demo1: demo1.o $(HEADERS) $(LIB_DEP)
- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIBS) $(LIBDRM_LIB)
-
-demo2: demo2.o $(HEADERS) $(LIB_DEP)
- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIBS) $(LIBDRM_LIB)
-
-demo3: demo3.o $(HEADERS) $(LIB_DEP)
- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIBS) $(LIBDRM_LIB)
-
-egltri: egltri.o $(HEADERS) $(LIB_DEP)
- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIBS) $(LIBDRM_LIB)
-
-eglinfo: eglinfo.o $(HEADERS) $(LIB_DEP)
- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIBS) $(LIBDRM_LIB)
-
-eglgears: eglgears.o $(HEADERS) $(LIB_DEP)
- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIBS) $(LIBDRM_LIB)
-
-eglscreen: eglscreen.o $(HEADERS) $(LIB_DEP)
- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIBS) $(LIBDRM_LIB)
-
-peglgears: peglgears.o $(HEADERS) $(LIB_DEP)
- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIBS) $(LIBDRM_LIB)
-
-xeglbindtex: xeglbindtex.o $(HEADERS) $(LIB_DEP)
- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIBS) -lX11
-
-xeglgears: xeglgears.o $(HEADERS) $(LIB_DEP)
- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIBS) -lX11
-
-xeglthreads: xeglthreads.o $(HEADERS) $(LIB_DEP)
- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIBS) -lX11
-
-xegl_tri: xegl_tri.o $(HEADERS) $(LIB_DEP)
- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIBS) -lX11
-
-clean:
- -rm -f *.o *~
- -rm -f $(PROGRAMS)
diff --git a/progs/egl/demo1.c b/progs/egl/demo1.c
deleted file mode 100644
index 34a516e72f..0000000000
--- a/progs/egl/demo1.c
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * Exercise EGL API functions
- */
-
-#define EGL_EGLEXT_PROTOTYPES
-
-#include <EGL/egl.h>
-#include <EGL/eglext.h>
-#include <assert.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-
-/**
- * Test EGL_MESA_screen_surface functions
- */
-static void
-TestScreens(EGLDisplay dpy)
-{
-#define MAX 8
- EGLScreenMESA screens[MAX];
- EGLint numScreens;
- EGLint i;
-
- eglGetScreensMESA(dpy, screens, MAX, &numScreens);
- printf("Found %d screens\n", numScreens);
- for (i = 0; i < numScreens; i++) {
- printf(" Screen %d handle: %d\n", i, (int) screens[i]);
- }
-}
-
-/**
- * Print table of all available configurations.
- */
-static void
-PrintConfigs(EGLDisplay d, EGLConfig *configs, EGLint numConfigs)
-{
- EGLint i;
-
- printf("Configurations:\n");
- printf(" bf lv d st colorbuffer dp st supported \n");
- printf(" id sz l b ro r g b a th cl surfaces \n");
- printf("----------------------------------------------\n");
- for (i = 0; i < numConfigs; i++) {
- EGLint id, size, level;
- EGLint red, green, blue, alpha;
- EGLint depth, stencil;
- EGLint surfaces;
- EGLint doubleBuf = 1, stereo = 0;
- char surfString[100] = "";
-
- eglGetConfigAttrib(d, configs[i], EGL_CONFIG_ID, &id);
- eglGetConfigAttrib(d, configs[i], EGL_BUFFER_SIZE, &size);
- eglGetConfigAttrib(d, configs[i], EGL_LEVEL, &level);
-
- eglGetConfigAttrib(d, configs[i], EGL_RED_SIZE, &red);
- eglGetConfigAttrib(d, configs[i], EGL_GREEN_SIZE, &green);
- eglGetConfigAttrib(d, configs[i], EGL_BLUE_SIZE, &blue);
- eglGetConfigAttrib(d, configs[i], EGL_ALPHA_SIZE, &alpha);
- eglGetConfigAttrib(d, configs[i], EGL_DEPTH_SIZE, &depth);
- eglGetConfigAttrib(d, configs[i], EGL_STENCIL_SIZE, &stencil);
- eglGetConfigAttrib(d, configs[i], EGL_SURFACE_TYPE, &surfaces);
-
- if (surfaces & EGL_WINDOW_BIT)
- strcat(surfString, "win,");
- if (surfaces & EGL_PBUFFER_BIT)
- strcat(surfString, "pb,");
- if (surfaces & EGL_PIXMAP_BIT)
- strcat(surfString, "pix,");
- if (strlen(surfString) > 0)
- surfString[strlen(surfString) - 1] = 0;
-
- printf("0x%02x %2d %2d %c %c %2d %2d %2d %2d %2d %2d %-12s\n",
- id, size, level,
- doubleBuf ? 'y' : '.',
- stereo ? 'y' : '.',
- red, green, blue, alpha,
- depth, stencil, surfString);
- }
-}
-
-
-
-int
-main(int argc, char *argv[])
-{
- int maj, min;
- EGLContext ctx;
- EGLSurface pbuffer;
- EGLConfig *configs;
- EGLint numConfigs;
- EGLBoolean b;
- const EGLint pbufAttribs[] = {
- EGL_WIDTH, 500,
- EGL_HEIGHT, 500,
- EGL_NONE
- };
-
- EGLDisplay d = eglGetDisplay(EGL_DEFAULT_DISPLAY);
- assert(d);
-
- if (!eglInitialize(d, &maj, &min)) {
- printf("demo: eglInitialize failed\n");
- exit(1);
- }
-
- printf("EGL version = %d.%d\n", maj, min);
- printf("EGL_VENDOR = %s\n", eglQueryString(d, EGL_VENDOR));
-
- eglGetConfigs(d, NULL, 0, &numConfigs);
- configs = malloc(sizeof(*configs) *numConfigs);
- eglGetConfigs(d, configs, numConfigs, &numConfigs);
-
- PrintConfigs(d, configs, numConfigs);
-
- ctx = eglCreateContext(d, configs[0], EGL_NO_CONTEXT, NULL);
- if (ctx == EGL_NO_CONTEXT) {
- printf("failed to create context\n");
- return 0;
- }
-
- pbuffer = eglCreatePbufferSurface(d, configs[0], pbufAttribs);
- if (pbuffer == EGL_NO_SURFACE) {
- printf("failed to create pbuffer\n");
- return 0;
- }
-
- free(configs);
-
- b = eglMakeCurrent(d, pbuffer, pbuffer, ctx);
- if (!b) {
- printf("make current failed\n");
- return 0;
- }
-
- b = eglMakeCurrent(d, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
-
- TestScreens(d);
-
- eglDestroySurface(d, pbuffer);
- eglDestroyContext(d, ctx);
- eglTerminate(d);
-
- return 0;
-}
diff --git a/progs/egl/demo2.c b/progs/egl/demo2.c
deleted file mode 100644
index 3994656721..0000000000
--- a/progs/egl/demo2.c
+++ /dev/null
@@ -1,212 +0,0 @@
-/*
- * Exercise EGL API functions
- */
-
-#define EGL_EGLEXT_PROTOTYPES
-
-#include <assert.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-
-#include <EGL/egl.h>
-#include <EGL/eglext.h>
-#include <GLES/gl.h>
-
-/*#define FRONTBUFFER*/
-
-static void _subset_Rectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2,
- GLfloat r, GLfloat g, GLfloat b)
-{
- GLfloat v[4][2], c[4][4];
- int i;
-
- v[0][0] = x1; v[0][1] = y1;
- v[1][0] = x2; v[1][1] = y1;
- v[2][0] = x2; v[2][1] = y2;
- v[3][0] = x1; v[3][1] = y2;
-
- for (i = 0; i < 4; i++) {
- c[i][0] = r;
- c[i][1] = g;
- c[i][2] = b;
- c[i][3] = 1.0;
- }
-
- glVertexPointer(2, GL_FLOAT, 0, v);
- glColorPointer(4, GL_FLOAT, 0, v);
- glEnableClientState(GL_VERTEX_ARRAY);
- glEnableClientState(GL_COLOR_ARRAY);
-
- glDrawArrays(GL_TRIANGLE_FAN, 0, 4);
-
- glDisableClientState(GL_VERTEX_ARRAY);
- glDisableClientState(GL_COLOR_ARRAY);
-}
-
-
-static void redraw(EGLDisplay dpy, EGLSurface surf, int rot)
-{
- GLfloat r, g, b;
-
- printf("Redraw event\n");
-
- glClearColor( rand()/(float)RAND_MAX,
- rand()/(float)RAND_MAX,
- rand()/(float)RAND_MAX,
- 1);
-
- glClear( GL_COLOR_BUFFER_BIT );
-
- r = rand()/(float)RAND_MAX;
- g = rand()/(float)RAND_MAX;
- b = rand()/(float)RAND_MAX;
-
- glPushMatrix();
- glRotatef(rot, 0, 0, 1);
- glScalef(.5, .5, .5);
- _subset_Rectf( -1, -1, 1, 1, r, g, b );
- glPopMatrix();
-
-#ifdef FRONTBUFFER
- glFlush();
-#else
- eglSwapBuffers( dpy, surf );
-#endif
- glFinish();
-}
-
-
-/**
- * Test EGL_MESA_screen_surface functions
- */
-static void
-TestScreens(EGLDisplay dpy)
-{
-#define MAX 8
- EGLScreenMESA screens[MAX];
- EGLint numScreens;
- EGLint i;
-
- eglGetScreensMESA(dpy, screens, MAX, &numScreens);
- printf("Found %d screens\n", numScreens);
- for (i = 0; i < numScreens; i++) {
- printf(" Screen %d handle: %d\n", i, (int) screens[i]);
- }
-}
-
-
-int
-main(int argc, char *argv[])
-{
- int maj, min;
- EGLContext ctx;
- EGLSurface pbuffer, screen_surf;
- EGLConfig configs[10];
- EGLint numConfigs, i;
- EGLBoolean b;
- const EGLint pbufAttribs[] = {
- EGL_WIDTH, 500,
- EGL_HEIGHT, 500,
- EGL_NONE
- };
- const EGLint screenAttribs[] = {
- EGL_WIDTH, 1024,
- EGL_HEIGHT, 768,
- EGL_NONE
- };
- EGLModeMESA mode;
- EGLScreenMESA screen;
- EGLint count;
-
- EGLDisplay d = eglGetDisplay(EGL_DEFAULT_DISPLAY);
- assert(d);
-
- if (!eglInitialize(d, &maj, &min)) {
- printf("demo: eglInitialize failed\n");
- exit(1);
- }
-
- printf("EGL version = %d.%d\n", maj, min);
- printf("EGL_VENDOR = %s\n", eglQueryString(d, EGL_VENDOR));
- if (!strstr(eglQueryString(d, EGL_EXTENSIONS),
- "EGL_MESA_screen_surface")) {
- printf("EGL_MESA_screen_surface is not supported\n");
- exit(1);
- }
-
- eglGetConfigs(d, configs, 10, &numConfigs);
- printf("Got %d EGL configs:\n", numConfigs);
- for (i = 0; i < numConfigs; i++) {
- EGLint id, red, depth;
- eglGetConfigAttrib(d, configs[i], EGL_CONFIG_ID, &id);
- eglGetConfigAttrib(d, configs[i], EGL_RED_SIZE, &red);
- eglGetConfigAttrib(d, configs[i], EGL_DEPTH_SIZE, &depth);
- printf("%2d: Red Size = %d Depth Size = %d\n", id, red, depth);
- }
-
- eglGetScreensMESA(d, &screen, 1, &count);
- eglGetModesMESA(d, screen, &mode, 1, &count);
-
- ctx = eglCreateContext(d, configs[0], EGL_NO_CONTEXT, NULL);
- if (ctx == EGL_NO_CONTEXT) {
- printf("failed to create context\n");
- return 0;
- }
-
- pbuffer = eglCreatePbufferSurface(d, configs[0], pbufAttribs);
- if (pbuffer == EGL_NO_SURFACE) {
- printf("failed to create pbuffer\n");
- return 0;
- }
-
- b = eglMakeCurrent(d, pbuffer, pbuffer, ctx);
- if (!b) {
- printf("make current failed\n");
- return 0;
- }
-
- b = eglMakeCurrent(d, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
-
- screen_surf = eglCreateScreenSurfaceMESA(d, configs[0], screenAttribs);
- if (screen_surf == EGL_NO_SURFACE) {
- printf("failed to create screen surface\n");
- return 0;
- }
-
- eglShowScreenSurfaceMESA(d, screen, screen_surf, mode);
-
- b = eglMakeCurrent(d, screen_surf, screen_surf, ctx);
- if (!b) {
- printf("make current failed\n");
- return 0;
- }
-
- glViewport(0, 0, 1024, 768);
-
- glClearColor( 0,
- 1.0,
- 0,
- 1);
-
- glClear( GL_COLOR_BUFFER_BIT );
-
-
- TestScreens(d);
-
- glShadeModel( GL_FLAT );
-
- for (i = 0; i < 6; i++) {
- redraw(d, screen_surf, i*10 );
-
- printf("sleep(1)\n");
- sleep(1);
- }
-
- eglDestroySurface(d, pbuffer);
- eglDestroyContext(d, ctx);
- eglTerminate(d);
-
- return 0;
-}
diff --git a/progs/egl/demo3.c b/progs/egl/demo3.c
deleted file mode 100644
index 0665fd0516..0000000000
--- a/progs/egl/demo3.c
+++ /dev/null
@@ -1,642 +0,0 @@
-/*
- * Exercise EGL API functions
- */
-
-#define EGL_EGLEXT_PROTOTYPES
-
-#include <EGL/egl.h>
-#include <EGL/eglext.h>
-#include <GL/gl.h>
-#include <assert.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-
-
-
-#define PIXEL_CENTER(x) ((long)(x) + 0.5)
-
-#define GAP 10
-#define ROWS 3
-#define COLS 4
-
-#define OPENGL_WIDTH 48
-#define OPENGL_HEIGHT 13
-
-
-GLenum rgb, doubleBuffer, windType;
-GLint windW, windH;
-
-GLenum mode1, mode2;
-GLint boxW, boxH;
-GLubyte OpenGL_bits[] = {
- 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
- 0x7f, 0xfb, 0xff, 0xff, 0xff, 0x01,
- 0x7f, 0xfb, 0xff, 0xff, 0xff, 0x01,
- 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
- 0x3e, 0x8f, 0xb7, 0xf9, 0xfc, 0x01,
- 0x63, 0xdb, 0xb0, 0x8d, 0x0d, 0x00,
- 0x63, 0xdb, 0xb7, 0x8d, 0x0d, 0x00,
- 0x63, 0xdb, 0xb6, 0x8d, 0x0d, 0x00,
- 0x63, 0x8f, 0xf3, 0xcc, 0x0d, 0x00,
- 0x63, 0x00, 0x00, 0x0c, 0x4c, 0x0a,
- 0x63, 0x00, 0x00, 0x0c, 0x4c, 0x0e,
- 0x63, 0x00, 0x00, 0x8c, 0xed, 0x0e,
- 0x3e, 0x00, 0x00, 0xf8, 0x0c, 0x00,
-};
-
-
-static void Init(void)
-{
-
- mode1 = GL_TRUE;
- mode2 = GL_TRUE;
-}
-
-static void Reshape(int width, int height)
-{
-
- windW = (GLint)width;
- windH = (GLint)height;
-}
-
-#if 0
-static void RotateColorMask(void)
-{
- static GLint rotation = 0;
-
- rotation = (rotation + 1) & 0x3;
- switch (rotation) {
- case 0:
- glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
- glIndexMask( 0xff );
- break;
- case 1:
- glColorMask(GL_FALSE, GL_TRUE, GL_TRUE, GL_TRUE);
- glIndexMask(0xFE);
- break;
- case 2:
- glColorMask(GL_TRUE, GL_FALSE, GL_TRUE, GL_TRUE);
- glIndexMask(0xFD);
- break;
- case 3:
- glColorMask(GL_TRUE, GL_TRUE, GL_FALSE, GL_TRUE);
- glIndexMask(0xFB);
- break;
- }
-}
-#endif
-
-static void Viewport(GLint row, GLint column)
-{
- GLint x, y;
-
- boxW = (windW - (COLS + 1) * GAP) / COLS;
- boxH = (windH - (ROWS + 1) * GAP) / ROWS;
-
- x = GAP + column * (boxW + GAP);
- y = GAP + row * (boxH + GAP);
-
- glViewport(x, y, boxW, boxH);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-boxW/2, boxW/2, -boxH/2, boxH/2, 0.0, 1.0);
- glMatrixMode(GL_MODELVIEW);
-
- glEnable(GL_SCISSOR_TEST);
- glScissor(x, y, boxW, boxH);
-}
-
-enum {
- COLOR_BLACK = 0,
- COLOR_RED,
- COLOR_GREEN,
- COLOR_YELLOW,
- COLOR_BLUE,
- COLOR_MAGENTA,
- COLOR_CYAN,
- COLOR_WHITE
-};
-
-static float RGBMap[9][3] = {
- {0, 0, 0},
- {1, 0, 0},
- {0, 1, 0},
- {1, 1, 0},
- {0, 0, 1},
- {1, 0, 1},
- {0, 1, 1},
- {1, 1, 1},
- {0.5, 0.5, 0.5}
-};
-
-static void SetColor(int c)
-{
- glColor3fv(RGBMap[c]);
-}
-
-static void Point(void)
-{
- GLint i;
-
- glBegin(GL_POINTS);
- SetColor(COLOR_WHITE);
- glVertex2i(0, 0);
- for (i = 1; i < 8; i++) {
- GLint j = i * 2;
- SetColor(COLOR_BLACK+i);
- glVertex2i(-j, -j);
- glVertex2i(-j, 0);
- glVertex2i(-j, j);
- glVertex2i(0, j);
- glVertex2i(j, j);
- glVertex2i(j, 0);
- glVertex2i(j, -j);
- glVertex2i(0, -j);
- }
- glEnd();
-}
-
-static void Lines(void)
-{
- GLint i;
-
- glPushMatrix();
-
- glTranslatef(-12, 0, 0);
- for (i = 1; i < 8; i++) {
- SetColor(COLOR_BLACK+i);
- glBegin(GL_LINES);
- glVertex2i(-boxW/4, -boxH/4);
- glVertex2i(boxW/4, boxH/4);
- glEnd();
- glTranslatef(4, 0, 0);
- }
-
- glPopMatrix();
-
- glBegin(GL_LINES);
- glVertex2i(0, 0);
- glEnd();
-}
-
-static void LineStrip(void)
-{
-
- glBegin(GL_LINE_STRIP);
- SetColor(COLOR_RED);
- glVertex2f(PIXEL_CENTER(-boxW/4), PIXEL_CENTER(-boxH/4));
- SetColor(COLOR_GREEN);
- glVertex2f(PIXEL_CENTER(-boxW/4), PIXEL_CENTER(boxH/4));
- SetColor(COLOR_BLUE);
- glVertex2f(PIXEL_CENTER(boxW/4), PIXEL_CENTER(boxH/4));
- SetColor(COLOR_WHITE);
- glVertex2f(PIXEL_CENTER(boxW/4), PIXEL_CENTER(-boxH/4));
- glEnd();
-
- glBegin(GL_LINE_STRIP);
- glVertex2i(0, 0);
- glEnd();
-}
-
-static void LineLoop(void)
-{
-
- glBegin(GL_LINE_LOOP);
- SetColor(COLOR_RED);
- glVertex2f(PIXEL_CENTER(-boxW/4), PIXEL_CENTER(-boxH/4));
- SetColor(COLOR_GREEN);
- glVertex2f(PIXEL_CENTER(-boxW/4), PIXEL_CENTER(boxH/4));
- SetColor(COLOR_BLUE);
- glVertex2f(PIXEL_CENTER(boxW/4), PIXEL_CENTER(boxH/4));
- SetColor(COLOR_WHITE);
- glVertex2f(PIXEL_CENTER(boxW/4), PIXEL_CENTER(-boxH/4));
- glEnd();
-
- glEnable(GL_LOGIC_OP);
- glLogicOp(GL_XOR);
-
- glEnable(GL_BLEND);
- glBlendFunc(GL_ONE, GL_ONE);
-
- SetColor(COLOR_MAGENTA);
- glBegin(GL_LINE_LOOP);
- glVertex2f(PIXEL_CENTER(-boxW/8), PIXEL_CENTER(-boxH/8));
- glVertex2f(PIXEL_CENTER(-boxW/8), PIXEL_CENTER(boxH/8));
- glEnd();
- glBegin(GL_LINE_LOOP);
- glVertex2f(PIXEL_CENTER(-boxW/8), PIXEL_CENTER(boxH/8+5));
- glVertex2f(PIXEL_CENTER(boxW/8), PIXEL_CENTER(boxH/8+5));
- glEnd();
- glDisable(GL_LOGIC_OP);
- glDisable(GL_BLEND);
-
- SetColor(COLOR_GREEN);
- glBegin(GL_POINTS);
- glVertex2i(0, 0);
- glEnd();
-
- glBegin(GL_LINE_LOOP);
- glVertex2i(0, 0);
- glEnd();
-}
-
-static void Bitmap(void)
-{
-
- glBegin(GL_LINES);
- SetColor(COLOR_GREEN);
- glVertex2i(-boxW/2, 0);
- glVertex2i(boxW/2, 0);
- glVertex2i(0, -boxH/2);
- glVertex2i(0, boxH/2);
- SetColor(COLOR_RED);
- glVertex2i(0, -3);
- glVertex2i(0, -3+OPENGL_HEIGHT);
- SetColor(COLOR_BLUE);
- glVertex2i(0, -3);
- glVertex2i(OPENGL_WIDTH, -3);
- glEnd();
-
- SetColor(COLOR_GREEN);
-
- glPixelStorei(GL_UNPACK_LSB_FIRST, GL_TRUE);
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
-
- glRasterPos2i(0, 0);
- glBitmap(OPENGL_WIDTH, OPENGL_HEIGHT, 0, 3, 0.0, 0.0, OpenGL_bits);
-}
-
-static void Triangles(void)
-{
-
- glBegin(GL_TRIANGLES);
- SetColor(COLOR_GREEN);
- glVertex2i(-boxW/4, -boxH/4);
- SetColor(COLOR_RED);
- glVertex2i(-boxW/8, -boxH/16);
- SetColor(COLOR_BLUE);
- glVertex2i(boxW/8, -boxH/16);
-
- SetColor(COLOR_GREEN);
- glVertex2i(-boxW/4, boxH/4);
- SetColor(COLOR_RED);
- glVertex2i(-boxW/8, boxH/16);
- SetColor(COLOR_BLUE);
- glVertex2i(boxW/8, boxH/16);
- glEnd();
-
- glBegin(GL_TRIANGLES);
- glVertex2i(0, 0);
- glVertex2i(-100, 100);
- glEnd();
-}
-
-static void TriangleStrip(void)
-{
-
- glBegin(GL_TRIANGLE_STRIP);
- SetColor(COLOR_GREEN);
- glVertex2i(-boxW/4, -boxH/4);
- SetColor(COLOR_RED);
- glVertex2i(-boxW/4, boxH/4);
- SetColor(COLOR_BLUE);
- glVertex2i(0, -boxH/4);
- SetColor(COLOR_WHITE);
- glVertex2i(0, boxH/4);
- SetColor(COLOR_CYAN);
- glVertex2i(boxW/4, -boxH/4);
- SetColor(COLOR_YELLOW);
- glVertex2i(boxW/4, boxH/4);
- glEnd();
-
- glBegin(GL_TRIANGLE_STRIP);
- glVertex2i(0, 0);
- glVertex2i(-100, 100);
- glEnd();
-}
-
-static void TriangleFan(void)
-{
- GLint vx[8][2];
- GLint x0, y0, x1, y1, x2, y2, x3, y3;
- GLint i;
-
- y0 = -boxH/4;
- y1 = y0 + boxH/2/3;
- y2 = y1 + boxH/2/3;
- y3 = boxH/4;
- x0 = -boxW/4;
- x1 = x0 + boxW/2/3;
- x2 = x1 + boxW/2/3;
- x3 = boxW/4;
-
- vx[0][0] = x0; vx[0][1] = y1;
- vx[1][0] = x0; vx[1][1] = y2;
- vx[2][0] = x1; vx[2][1] = y3;
- vx[3][0] = x2; vx[3][1] = y3;
- vx[4][0] = x3; vx[4][1] = y2;
- vx[5][0] = x3; vx[5][1] = y1;
- vx[6][0] = x2; vx[6][1] = y0;
- vx[7][0] = x1; vx[7][1] = y0;
-
- glBegin(GL_TRIANGLE_FAN);
- SetColor(COLOR_WHITE);
- glVertex2i(0, 0);
- for (i = 0; i < 8; i++) {
- SetColor(COLOR_WHITE-i);
- glVertex2iv(vx[i]);
- }
- glEnd();
-
- glBegin(GL_TRIANGLE_FAN);
- glVertex2i(0, 0);
- glVertex2i(-100, 100);
- glEnd();
-}
-
-static void Rect(void)
-{
-
- SetColor(COLOR_GREEN);
- glRecti(-boxW/4, -boxH/4, boxW/4, boxH/4);
-}
-
-static void PolygonFunc(void)
-{
- GLint vx[8][2];
- GLint x0, y0, x1, y1, x2, y2, x3, y3;
- GLint i;
-
- y0 = -boxH/4;
- y1 = y0 + boxH/2/3;
- y2 = y1 + boxH/2/3;
- y3 = boxH/4;
- x0 = -boxW/4;
- x1 = x0 + boxW/2/3;
- x2 = x1 + boxW/2/3;
- x3 = boxW/4;
-
- vx[0][0] = x0; vx[0][1] = y1;
- vx[1][0] = x0; vx[1][1] = y2;
- vx[2][0] = x1; vx[2][1] = y3;
- vx[3][0] = x2; vx[3][1] = y3;
- vx[4][0] = x3; vx[4][1] = y2;
- vx[5][0] = x3; vx[5][1] = y1;
- vx[6][0] = x2; vx[6][1] = y0;
- vx[7][0] = x1; vx[7][1] = y0;
-
- glBegin(GL_POLYGON);
- for (i = 0; i < 8; i++) {
- SetColor(COLOR_WHITE-i);
- glVertex2iv(vx[i]);
- }
- glEnd();
-
- glBegin(GL_POLYGON);
- glVertex2i(0, 0);
- glVertex2i(100, 100);
- glEnd();
-}
-
-static void Quads(void)
-{
-
- glBegin(GL_QUADS);
- SetColor(COLOR_GREEN);
- glVertex2i(-boxW/4, -boxH/4);
- SetColor(COLOR_RED);
- glVertex2i(-boxW/8, -boxH/16);
- SetColor(COLOR_BLUE);
- glVertex2i(boxW/8, -boxH/16);
- SetColor(COLOR_WHITE);
- glVertex2i(boxW/4, -boxH/4);
-
- SetColor(COLOR_GREEN);
- glVertex2i(-boxW/4, boxH/4);
- SetColor(COLOR_RED);
- glVertex2i(-boxW/8, boxH/16);
- SetColor(COLOR_BLUE);
- glVertex2i(boxW/8, boxH/16);
- SetColor(COLOR_WHITE);
- glVertex2i(boxW/4, boxH/4);
- glEnd();
-
- glBegin(GL_QUADS);
- glVertex2i(0, 0);
- glVertex2i(100, 100);
- glVertex2i(-100, 100);
- glEnd();
-}
-
-static void QuadStrip(void)
-{
-
- glBegin(GL_QUAD_STRIP);
- SetColor(COLOR_GREEN);
- glVertex2i(-boxW/4, -boxH/4);
- SetColor(COLOR_RED);
- glVertex2i(-boxW/4, boxH/4);
- SetColor(COLOR_BLUE);
- glVertex2i(0, -boxH/4);
- SetColor(COLOR_WHITE);
- glVertex2i(0, boxH/4);
- SetColor(COLOR_CYAN);
- glVertex2i(boxW/4, -boxH/4);
- SetColor(COLOR_YELLOW);
- glVertex2i(boxW/4, boxH/4);
- glEnd();
-
- glBegin(GL_QUAD_STRIP);
- glVertex2i(0, 0);
- glVertex2i(100, 100);
- glVertex2i(-100, 100);
- glEnd();
-}
-
-static void Draw(EGLDisplay dpy, EGLSurface surf)
-{
-
- glViewport(0, 0, windW, windH);
- glDisable(GL_SCISSOR_TEST);
-
- glPushAttrib(GL_COLOR_BUFFER_BIT);
-
- glColorMask(1, 1, 1, 1);
- glIndexMask(~0);
-
- glClearColor(0.0, 0.0, 0.0, 0.0);
- glClear(GL_COLOR_BUFFER_BIT);
-
- glPopAttrib();
-
- if (mode1) {
- glShadeModel(GL_SMOOTH);
- } else {
- glShadeModel(GL_FLAT);
- }
-
- if (mode2) {
- glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
- } else {
- glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
- }
-
- Viewport(0, 0); Point();
- Viewport(0, 1); Lines();
- Viewport(0, 2); LineStrip();
- Viewport(0, 3); LineLoop();
-
- Viewport(1, 0); Bitmap();
-
- Viewport(1, 1); TriangleFan();
- Viewport(1, 2); Triangles();
- Viewport(1, 3); TriangleStrip();
-
- Viewport(2, 0); Rect();
- Viewport(2, 1); PolygonFunc();
- Viewport(2, 2); Quads();
- Viewport(2, 3); QuadStrip();
-
- glFlush();
-
- if (doubleBuffer) {
- eglSwapBuffers(dpy, surf);
- }
-}
-
-static void
-write_ppm(const char *filename, const GLubyte *buffer, int width, int height)
-{
- const int binary = 0;
- FILE *f = fopen( filename, "w" );
- if (f) {
- int i, x, y;
- const GLubyte *ptr = buffer;
- if (binary) {
- fprintf(f,"P6\n");
- fprintf(f,"# ppm-file created by osdemo.c\n");
- fprintf(f,"%i %i\n", width,height);
- fprintf(f,"255\n");
- fclose(f);
- f = fopen( filename, "ab" ); /* reopen in binary append mode */
- for (y=height-1; y>=0; y--) {
- for (x=0; x<width; x++) {
- i = (y*width + x) * 4;
- fputc(ptr[i], f); /* write red */
- fputc(ptr[i+1], f); /* write green */
- fputc(ptr[i+2], f); /* write blue */
- }
- }
- }
- else {
- /*ASCII*/
- int counter = 0;
- fprintf(f,"P3\n");
- fprintf(f,"# ascii ppm file created by osdemo.c\n");
- fprintf(f,"%i %i\n", width, height);
- fprintf(f,"255\n");
- for (y=height-1; y>=0; y--) {
- for (x=0; x<width; x++) {
- i = (y*width + x) * 4;
- fprintf(f, " %3d %3d %3d", ptr[i], ptr[i+1], ptr[i+2]);
- counter++;
- if (counter % 5 == 0)
- fprintf(f, "\n");
- }
- }
- }
- fclose(f);
- }
-}
-
-int
-main(int argc, char *argv[])
-{
- int maj, min;
- EGLContext ctx;
- EGLSurface screen_surf;
- EGLConfig configs[10];
- EGLScreenMESA screen;
- EGLModeMESA mode;
- EGLint numConfigs, count;
- EGLBoolean b;
- const GLubyte *bitmap;
- const EGLint screenAttribs[] = {
- EGL_WIDTH, 1024,
- EGL_HEIGHT, 768,
- EGL_NONE
- };
-
- EGLDisplay d = eglGetDisplay(EGL_DEFAULT_DISPLAY);
- assert(d);
-
- if (!eglInitialize(d, &maj, &min)) {
- printf("demo: eglInitialize failed\n");
- exit(1);
- }
-
- printf("EGL version = %d.%d\n", maj, min);
- printf("EGL_VENDOR = %s\n", eglQueryString(d, EGL_VENDOR));
- if (!strstr(eglQueryString(d, EGL_EXTENSIONS),
- "EGL_MESA_screen_surface")) {
- printf("EGL_MESA_screen_surface is not supported\n");
- exit(1);
- }
-
- eglGetConfigs(d, configs, 10, &numConfigs);
- eglGetScreensMESA(d, &screen, 1, &count);
- eglGetModesMESA(d, screen, &mode, 1, &count);
-
- ctx = eglCreateContext(d, configs[0], EGL_NO_CONTEXT, NULL);
- if (ctx == EGL_NO_CONTEXT) {
- printf("failed to create context\n");
- return 0;
- }
-
- screen_surf = eglCreateScreenSurfaceMESA(d, configs[0], screenAttribs);
- if (screen_surf == EGL_NO_SURFACE) {
- printf("failed to create screen surface\n");
- return 0;
- }
-
- eglShowScreenSurfaceMESA(d, screen, screen_surf, mode);
-
- b = eglMakeCurrent(d, screen_surf, screen_surf, ctx);
- if (!b) {
- printf("make current failed\n");
- return 0;
- }
- glViewport(0, 0, 1024, 768);
-
-
- Init();
- Reshape(1024, 768);
-
- /* some drivers crash when rendering to front buffer */
-#if 0
- glDrawBuffer( GL_FRONT );
- glClearColor( 0, 1.0, 0, 1);
-
- glClear( GL_COLOR_BUFFER_BIT );
-#endif
-
- doubleBuffer = 1;
- glDrawBuffer( GL_BACK );
-
- Draw(d, screen_surf);
- sleep(2);
-
- /* TODO EGL_KHR_lock_surface */
- bitmap = NULL;
- if (bitmap)
- write_ppm("dump.ppm", bitmap, 1024, 768);
-
- eglDestroySurface(d, screen_surf);
- eglDestroyContext(d, ctx);
- eglTerminate(d);
-
- return 0;
-}
diff --git a/progs/egl/eglgears.c b/progs/egl/eglgears.c
deleted file mode 100644
index 2d9b8cac7f..0000000000
--- a/progs/egl/eglgears.c
+++ /dev/null
@@ -1,481 +0,0 @@
-/*
- * Copyright (C) 1999-2001 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
- * BRIAN PAUL 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.
- */
-
-/*
- * This is a port of the infamous "glxgears" demo to straight EGL
- * Port by Dane Rushton 10 July 2005
- *
- * No command line options.
- * Program runs for 5 seconds then exits, outputing framerate to console
- */
-
-#define EGL_EGLEXT_PROTOTYPES
-
-#include <assert.h>
-#include <math.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <GL/gl.h>
-#include <EGL/egl.h>
-#include <EGL/eglext.h>
-
-#define MAX_CONFIGS 10
-#define MAX_MODES 100
-
-#define BENCHMARK
-
-#ifdef BENCHMARK
-
-/* XXX this probably isn't very portable */
-
-#include <sys/time.h>
-#include <unistd.h>
-
-/* return current time (in seconds) */
-static double
-current_time(void)
-{
- struct timeval tv;
-#ifdef __VMS
- (void) gettimeofday(&tv, NULL );
-#else
- struct timezone tz;
- (void) gettimeofday(&tv, &tz);
-#endif
- return (double) tv.tv_sec + tv.tv_usec / 1000000.0;
-}
-
-#else /*BENCHMARK*/
-
-/* dummy */
-static double
-current_time(void)
-{
- /* update this function for other platforms! */
- static double t = 0.0;
- static int warn = 1;
- if (warn) {
- fprintf(stderr, "Warning: current_time() not implemented!!\n");
- warn = 0;
- }
- return t += 1.0;
-}
-
-#endif /*BENCHMARK*/
-
-
-#ifndef M_PI
-#define M_PI 3.14159265
-#endif
-
-
-static GLfloat view_rotx = 20.0, view_roty = 30.0, view_rotz = 0.0;
-static GLint gear1, gear2, gear3;
-static GLfloat angle = 0.0;
-
-#if 0
-static GLfloat eyesep = 5.0; /* Eye separation. */
-static GLfloat fix_point = 40.0; /* Fixation point distance. */
-static GLfloat left, right, asp; /* Stereo frustum params. */
-#endif
-
-
-/*
- *
- * Draw a gear wheel. You'll probably want to call this function when
- * building a display list since we do a lot of trig here.
- *
- * Input: inner_radius - radius of hole at center
- * outer_radius - radius at center of teeth
- * width - width of gear
- * teeth - number of teeth
- * tooth_depth - depth of tooth
- */
-static void
-gear(GLfloat inner_radius, GLfloat outer_radius, GLfloat width,
- GLint teeth, GLfloat tooth_depth)
-{
- GLint i;
- GLfloat r0, r1, r2;
- GLfloat angle, da;
- GLfloat u, v, len;
-
- r0 = inner_radius;
- r1 = outer_radius - tooth_depth / 2.0;
- r2 = outer_radius + tooth_depth / 2.0;
-
- da = 2.0 * M_PI / teeth / 4.0;
-
- glShadeModel(GL_FLAT);
-
- glNormal3f(0.0, 0.0, 1.0);
-
- /* draw front face */
- glBegin(GL_QUAD_STRIP);
- for (i = 0; i <= teeth; i++) {
- angle = i * 2.0 * M_PI / teeth;
- glVertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5);
- glVertex3f(r1 * cos(angle), r1 * sin(angle), width * 0.5);
- if (i < teeth) {
- glVertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5);
- glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da),
- width * 0.5);
- }
- }
- glEnd();
-
- /* draw front sides of teeth */
- glBegin(GL_QUADS);
- da = 2.0 * M_PI / teeth / 4.0;
- for (i = 0; i < teeth; i++) {
- angle = i * 2.0 * M_PI / teeth;
-
- glVertex3f(r1 * cos(angle), r1 * sin(angle), width * 0.5);
- glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), width * 0.5);
- glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da),
- width * 0.5);
- glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da),
- width * 0.5);
- }
- glEnd();
-
- glNormal3f(0.0, 0.0, -1.0);
-
- /* draw back face */
- glBegin(GL_QUAD_STRIP);
- for (i = 0; i <= teeth; i++) {
- angle = i * 2.0 * M_PI / teeth;
- glVertex3f(r1 * cos(angle), r1 * sin(angle), -width * 0.5);
- glVertex3f(r0 * cos(angle), r0 * sin(angle), -width * 0.5);
- if (i < teeth) {
- glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da),
- -width * 0.5);
- glVertex3f(r0 * cos(angle), r0 * sin(angle), -width * 0.5);
- }
- }
- glEnd();
-
- /* draw back sides of teeth */
- glBegin(GL_QUADS);
- da = 2.0 * M_PI / teeth / 4.0;
- for (i = 0; i < teeth; i++) {
- angle = i * 2.0 * M_PI / teeth;
-
- glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da),
- -width * 0.5);
- glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da),
- -width * 0.5);
- glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), -width * 0.5);
- glVertex3f(r1 * cos(angle), r1 * sin(angle), -width * 0.5);
- }
- glEnd();
-
- /* draw outward faces of teeth */
- glBegin(GL_QUAD_STRIP);
- for (i = 0; i < teeth; i++) {
- angle = i * 2.0 * M_PI / teeth;
-
- glVertex3f(r1 * cos(angle), r1 * sin(angle), width * 0.5);
- glVertex3f(r1 * cos(angle), r1 * sin(angle), -width * 0.5);
- u = r2 * cos(angle + da) - r1 * cos(angle);
- v = r2 * sin(angle + da) - r1 * sin(angle);
- len = sqrt(u * u + v * v);
- u /= len;
- v /= len;
- glNormal3f(v, -u, 0.0);
- glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), width * 0.5);
- glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), -width * 0.5);
- glNormal3f(cos(angle), sin(angle), 0.0);
- glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da),
- width * 0.5);
- glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da),
- -width * 0.5);
- u = r1 * cos(angle + 3 * da) - r2 * cos(angle + 2 * da);
- v = r1 * sin(angle + 3 * da) - r2 * sin(angle + 2 * da);
- glNormal3f(v, -u, 0.0);
- glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da),
- width * 0.5);
- glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da),
- -width * 0.5);
- glNormal3f(cos(angle), sin(angle), 0.0);
- }
-
- glVertex3f(r1 * cos(0), r1 * sin(0), width * 0.5);
- glVertex3f(r1 * cos(0), r1 * sin(0), -width * 0.5);
-
- glEnd();
-
- glShadeModel(GL_SMOOTH);
-
- /* draw inside radius cylinder */
- glBegin(GL_QUAD_STRIP);
- for (i = 0; i <= teeth; i++) {
- angle = i * 2.0 * M_PI / teeth;
- glNormal3f(-cos(angle), -sin(angle), 0.0);
- glVertex3f(r0 * cos(angle), r0 * sin(angle), -width * 0.5);
- glVertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5);
- }
- glEnd();
-}
-
-
-static void
-draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
- glPushMatrix();
- glRotatef(view_rotx, 1.0, 0.0, 0.0);
- glRotatef(view_roty, 0.0, 1.0, 0.0);
- glRotatef(view_rotz, 0.0, 0.0, 1.0);
-
- glPushMatrix();
- glTranslatef(-3.0, -2.0, 0.0);
- glRotatef(angle, 0.0, 0.0, 1.0);
- glCallList(gear1);
- glPopMatrix();
-
- glPushMatrix();
- glTranslatef(3.1, -2.0, 0.0);
- glRotatef(-2.0 * angle - 9.0, 0.0, 0.0, 1.0);
- glCallList(gear2);
- glPopMatrix();
-
- glPushMatrix();
- glTranslatef(-3.1, 4.2, 0.0);
- glRotatef(-2.0 * angle - 25.0, 0.0, 0.0, 1.0);
- glCallList(gear3);
- glPopMatrix();
-
- glPopMatrix();
-}
-
-
-/* new window size or exposure */
-static void
-reshape(int width, int height)
-{
- GLfloat h = (GLfloat) height / (GLfloat) width;
-
- glViewport(0, 0, (GLint) width, (GLint) height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glFrustum(-1.0, 1.0, -h, h, 5.0, 60.0);
-
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef(0.0, 0.0, -40.0);
-}
-
-
-
-static void
-init(void)
-{
- static GLfloat pos[4] = { 5.0, 5.0, 10.0, 0.0 };
- static GLfloat red[4] = { 0.8, 0.1, 0.0, 1.0 };
- static GLfloat green[4] = { 0.0, 0.8, 0.2, 1.0 };
- static GLfloat blue[4] = { 0.2, 0.2, 1.0, 1.0 };
-
- glLightfv(GL_LIGHT0, GL_POSITION, pos);
- glEnable(GL_CULL_FACE);
- glEnable(GL_LIGHTING);
- glEnable(GL_LIGHT0);
- glEnable(GL_DEPTH_TEST);
-
- /* make the gears */
- gear1 = glGenLists(1);
- glNewList(gear1, GL_COMPILE);
- glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, red);
- gear(1.0, 4.0, 1.0, 20, 0.7);
- glEndList();
-
- gear2 = glGenLists(1);
- glNewList(gear2, GL_COMPILE);
- glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, green);
- gear(0.5, 2.0, 2.0, 10, 0.7);
- glEndList();
-
- gear3 = glGenLists(1);
- glNewList(gear3, GL_COMPILE);
- glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, blue);
- gear(1.3, 2.0, 0.5, 10, 0.7);
- glEndList();
-
- glEnable(GL_NORMALIZE);
-}
-
-
-
-
-static void run_gears(EGLDisplay dpy, EGLSurface surf, int ttr)
-{
- double st = current_time();
- double ct = st;
- int frames = 0;
- GLfloat seconds, fps;
-
- while (ct - st < ttr)
- {
- double tt = current_time();
- double dt = tt - ct;
- ct = tt;
-
- /* advance rotation for next frame */
- angle += 70.0 * dt; /* 70 degrees per second */
- if (angle > 3600.0)
- angle -= 3600.0;
-
- draw();
-
- eglSwapBuffers(dpy, surf);
-
-
- frames++;
- }
-
- seconds = ct - st;
- fps = frames / seconds;
- printf("%d frames in %3.1f seconds = %6.3f FPS\n", frames, seconds, fps);
-
-}
-
-
-int
-main(int argc, char *argv[])
-{
- int maj, min;
- EGLContext ctx;
- EGLSurface screen_surf;
- EGLConfig configs[MAX_CONFIGS];
- EGLint numConfigs, i;
- EGLBoolean b;
- EGLDisplay d;
- EGLint screenAttribs[10];
- EGLModeMESA mode[MAX_MODES];
- EGLScreenMESA screen;
- EGLint count;
- EGLint chosenMode = 0;
- GLboolean printInfo = GL_FALSE;
- EGLint width = 0, height = 0;
-
- /* parse cmd line args */
- for (i = 1; i < argc; i++)
- {
- if (strcmp(argv[i], "-info") == 0)
- {
- printInfo = GL_TRUE;
- }
- else
- printf("Warning: unknown parameter: %s\n", argv[i]);
- }
-
- /* DBR : Create EGL context/surface etc */
- d = eglGetDisplay(EGL_DEFAULT_DISPLAY);
- assert(d);
-
- if (!eglInitialize(d, &maj, &min)) {
- printf("eglgears: eglInitialize failed\n");
- exit(1);
- }
-
- printf("eglgears: EGL version = %d.%d\n", maj, min);
- printf("eglgears: EGL_VENDOR = %s\n", eglQueryString(d, EGL_VENDOR));
-
- /* XXX use ChooseConfig */
- eglGetConfigs(d, configs, MAX_CONFIGS, &numConfigs);
- eglGetScreensMESA(d, &screen, 1, &count);
-
- if (!eglGetModesMESA(d, screen, mode, MAX_MODES, &count) || count == 0) {
- printf("eglgears: eglGetModesMESA failed!\n");
- return 0;
- }
-
- /* Print list of modes, and find the one to use */
- printf("eglgears: Found %d modes:\n", count);
- for (i = 0; i < count; i++) {
- EGLint w, h;
- eglGetModeAttribMESA(d, mode[i], EGL_WIDTH, &w);
- eglGetModeAttribMESA(d, mode[i], EGL_HEIGHT, &h);
- printf("%3d: %d x %d\n", i, w, h);
- if (w > width && h > height) {
- width = w;
- height = h;
- chosenMode = i;
- }
- }
- printf("eglgears: Using screen mode/size %d: %d x %d\n", chosenMode, width, height);
-
- ctx = eglCreateContext(d, configs[0], EGL_NO_CONTEXT, NULL);
- if (ctx == EGL_NO_CONTEXT) {
- printf("eglgears: failed to create context\n");
- return 0;
- }
-
- /* build up screenAttribs array */
- i = 0;
- screenAttribs[i++] = EGL_WIDTH;
- screenAttribs[i++] = width;
- screenAttribs[i++] = EGL_HEIGHT;
- screenAttribs[i++] = height;
- screenAttribs[i++] = EGL_NONE;
-
- screen_surf = eglCreateScreenSurfaceMESA(d, configs[0], screenAttribs);
- if (screen_surf == EGL_NO_SURFACE) {
- printf("eglgears: failed to create screen surface\n");
- return 0;
- }
-
- b = eglShowScreenSurfaceMESA(d, screen, screen_surf, mode[chosenMode]);
- if (!b) {
- printf("eglgears: show surface failed\n");
- return 0;
- }
-
- b = eglMakeCurrent(d, screen_surf, screen_surf, ctx);
- if (!b) {
- printf("eglgears: make current failed\n");
- return 0;
- }
-
- if (printInfo)
- {
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- printf("GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- printf("GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- printf("GL_EXTENSIONS = %s\n", (char *) glGetString(GL_EXTENSIONS));
- }
-
- init();
- reshape(width, height);
-
- glDrawBuffer( GL_BACK );
-
- run_gears(d, screen_surf, 5.0);
-
- eglDestroySurface(d, screen_surf);
- eglDestroyContext(d, ctx);
- eglTerminate(d);
-
- return 0;
-}
diff --git a/progs/egl/eglinfo.c b/progs/egl/eglinfo.c
deleted file mode 100644
index 4486916e95..0000000000
--- a/progs/egl/eglinfo.c
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * eglinfo - like glxinfo but for EGL
- *
- * Brian Paul
- * 11 March 2005
- *
- * Copyright (C) 2005 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
- * BRIAN PAUL 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.
- */
-
-#define EGL_EGLEXT_PROTOTYPES
-
-#include <EGL/egl.h>
-#include <EGL/eglext.h>
-#include <assert.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#define MAX_CONFIGS 1000
-#define MAX_MODES 1000
-#define MAX_SCREENS 10
-
-/**
- * Print table of all available configurations.
- */
-static void
-PrintConfigs(EGLDisplay d)
-{
- EGLConfig configs[MAX_CONFIGS];
- EGLint numConfigs, i;
-
- eglGetConfigs(d, configs, MAX_CONFIGS, &numConfigs);
-
- printf("Configurations:\n");
- printf(" bf lv d st colorbuffer dp st ms vis supported\n");
- printf(" id sz l b ro r g b a th cl ns b id surfaces \n");
- printf("--------------------------------------------------------\n");
- for (i = 0; i < numConfigs; i++) {
- EGLint id, size, level;
- EGLint red, green, blue, alpha;
- EGLint depth, stencil;
- EGLint surfaces;
- EGLint doubleBuf = 1, stereo = 0;
- EGLint vid;
- EGLint samples, sampleBuffers;
- char surfString[100] = "";
-
- eglGetConfigAttrib(d, configs[i], EGL_CONFIG_ID, &id);
- eglGetConfigAttrib(d, configs[i], EGL_BUFFER_SIZE, &size);
- eglGetConfigAttrib(d, configs[i], EGL_LEVEL, &level);
-
- eglGetConfigAttrib(d, configs[i], EGL_RED_SIZE, &red);
- eglGetConfigAttrib(d, configs[i], EGL_GREEN_SIZE, &green);
- eglGetConfigAttrib(d, configs[i], EGL_BLUE_SIZE, &blue);
- eglGetConfigAttrib(d, configs[i], EGL_ALPHA_SIZE, &alpha);
- eglGetConfigAttrib(d, configs[i], EGL_DEPTH_SIZE, &depth);
- eglGetConfigAttrib(d, configs[i], EGL_STENCIL_SIZE, &stencil);
- eglGetConfigAttrib(d, configs[i], EGL_NATIVE_VISUAL_ID, &vid);
- eglGetConfigAttrib(d, configs[i], EGL_SURFACE_TYPE, &surfaces);
-
- eglGetConfigAttrib(d, configs[i], EGL_SAMPLES, &samples);
- eglGetConfigAttrib(d, configs[i], EGL_SAMPLE_BUFFERS, &sampleBuffers);
-
- if (surfaces & EGL_WINDOW_BIT)
- strcat(surfString, "win,");
- if (surfaces & EGL_PBUFFER_BIT)
- strcat(surfString, "pb,");
- if (surfaces & EGL_PIXMAP_BIT)
- strcat(surfString, "pix,");
-#ifdef EGL_MESA_screen_surface
- if (surfaces & EGL_SCREEN_BIT_MESA)
- strcat(surfString, "scrn,");
-#endif
- if (strlen(surfString) > 0)
- surfString[strlen(surfString) - 1] = 0;
-
- printf("0x%02x %2d %2d %c %c %2d %2d %2d %2d %2d %2d %2d%2d 0x%02x %-12s\n",
- id, size, level,
- doubleBuf ? 'y' : '.',
- stereo ? 'y' : '.',
- red, green, blue, alpha,
- depth, stencil,
- samples, sampleBuffers, vid, surfString);
- }
-}
-
-
-/**
- * Print table of all available configurations.
- */
-static void
-PrintModes(EGLDisplay d)
-{
-#ifdef EGL_MESA_screen_surface
- const char *extensions = eglQueryString(d, EGL_EXTENSIONS);
- if (strstr(extensions, "EGL_MESA_screen_surface")) {
- EGLScreenMESA screens[MAX_SCREENS];
- EGLint numScreens = 1, scrn;
- EGLModeMESA modes[MAX_MODES];
-
- eglGetScreensMESA(d, screens, MAX_SCREENS, &numScreens);
- printf("Number of Screens: %d\n\n", numScreens);
-
- for (scrn = 0; scrn < numScreens; scrn++) {
- EGLint numModes, i;
-
- eglGetModesMESA(d, screens[scrn], modes, MAX_MODES, &numModes);
-
- printf("Screen %d Modes:\n", scrn);
- printf(" id width height refresh name\n");
- printf("-----------------------------------------\n");
- for (i = 0; i < numModes; i++) {
- EGLint id, w, h, r;
- const char *str;
- eglGetModeAttribMESA(d, modes[i], EGL_MODE_ID_MESA, &id);
- eglGetModeAttribMESA(d, modes[i], EGL_WIDTH, &w);
- eglGetModeAttribMESA(d, modes[i], EGL_HEIGHT, &h);
- eglGetModeAttribMESA(d, modes[i], EGL_REFRESH_RATE_MESA, &r);
- str = eglQueryModeStringMESA(d, modes[i]);
- printf("0x%02x %5d %5d %.3f %s\n", id, w, h, r / 1000.0, str);
- }
- }
- }
-#endif
-}
-
-
-
-int
-main(int argc, char *argv[])
-{
- int maj, min;
- EGLDisplay d = eglGetDisplay(EGL_DEFAULT_DISPLAY);
-
- if (!eglInitialize(d, &maj, &min)) {
- printf("eglinfo: eglInitialize failed\n");
- exit(1);
- }
-
- printf("EGL API version: %d.%d\n", maj, min);
- printf("EGL vendor string: %s\n", eglQueryString(d, EGL_VENDOR));
- printf("EGL version string: %s\n", eglQueryString(d, EGL_VERSION));
-#ifdef EGL_VERSION_1_2
- printf("EGL client APIs: %s\n", eglQueryString(d, EGL_CLIENT_APIS));
-#endif
- printf("EGL extensions string:\n");
- printf(" %s\n", eglQueryString(d, EGL_EXTENSIONS));
-
- PrintConfigs(d);
-
- PrintModes(d);
-
- eglTerminate(d);
-
- return 0;
-}
diff --git a/progs/egl/eglscreen.c b/progs/egl/eglscreen.c
deleted file mode 100644
index 520f76ea03..0000000000
--- a/progs/egl/eglscreen.c
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Copyright (C) 1999-2001 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
- * BRIAN PAUL 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.
- */
-
-/*
- * Stolen from eglgears
- *
- * Creates a surface and show that on the first screen
- */
-
-#define EGL_EGLEXT_PROTOTYPES
-
-#include <assert.h>
-#include <math.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <unistd.h>
-#include <GL/gl.h>
-#include <EGL/egl.h>
-#include <EGL/eglext.h>
-
-#define MAX_CONFIGS 10
-#define MAX_MODES 100
-
-int
-main(int argc, char *argv[])
-{
- int maj, min;
- EGLSurface screen_surf;
- EGLConfig configs[MAX_CONFIGS];
- EGLint numConfigs, i;
- EGLBoolean b;
- EGLDisplay d;
- EGLint screenAttribs[10];
- EGLModeMESA mode[MAX_MODES];
- EGLScreenMESA screen;
- EGLint count;
- EGLint chosenMode = 0;
- EGLint width = 0, height = 0;
-
- d = eglGetDisplay(EGL_DEFAULT_DISPLAY);
- assert(d);
-
- if (!eglInitialize(d, &maj, &min)) {
- printf("eglscreen: eglInitialize failed\n");
- exit(1);
- }
-
- printf("eglscreen: EGL version = %d.%d\n", maj, min);
- printf("eglscreen: EGL_VENDOR = %s\n", eglQueryString(d, EGL_VENDOR));
-
- /* XXX use ChooseConfig */
- eglGetConfigs(d, configs, MAX_CONFIGS, &numConfigs);
- eglGetScreensMESA(d, &screen, 1, &count);
-
- if (!eglGetModesMESA(d, screen, mode, MAX_MODES, &count) || count == 0) {
- printf("eglscreen: eglGetModesMESA failed!\n");
- return 0;
- }
-
- /* Print list of modes, and find the one to use */
- printf("eglscreen: Found %d modes:\n", count);
- for (i = 0; i < count; i++) {
- EGLint w, h;
- eglGetModeAttribMESA(d, mode[i], EGL_WIDTH, &w);
- eglGetModeAttribMESA(d, mode[i], EGL_HEIGHT, &h);
- printf("%3d: %d x %d\n", i, w, h);
- if (w > width && h > height) {
- width = w;
- height = h;
- chosenMode = i;
- }
- }
- printf("eglscreen: Using screen mode/size %d: %d x %d\n", chosenMode, width, height);
-
- /* build up screenAttribs array */
- i = 0;
- screenAttribs[i++] = EGL_WIDTH;
- screenAttribs[i++] = width;
- screenAttribs[i++] = EGL_HEIGHT;
- screenAttribs[i++] = height;
- screenAttribs[i++] = EGL_NONE;
-
- screen_surf = eglCreateScreenSurfaceMESA(d, configs[0], screenAttribs);
- if (screen_surf == EGL_NO_SURFACE) {
- printf("eglscreen: Failed to create screen surface\n");
- return 0;
- }
-
- b = eglShowScreenSurfaceMESA(d, screen, screen_surf, mode[chosenMode]);
- if (!b) {
- printf("eglscreen: Show surface failed\n");
- return 0;
- }
-
- usleep(5000000);
-
- eglDestroySurface(d, screen_surf);
- eglTerminate(d);
-
- return 0;
-}
diff --git a/progs/egl/egltri.c b/progs/egl/egltri.c
deleted file mode 100644
index 9bbc3cddaf..0000000000
--- a/progs/egl/egltri.c
+++ /dev/null
@@ -1,263 +0,0 @@
-/*
- * Copyright (C) 1999-2001 Brian Paul All Rights Reserved.
- * Copyright (C) 2008 Brian Paul All Rights Reserved.
- * Copyright (C) 2008 Jakob Bornecrantz 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
- * BRIAN PAUL 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.
- */
-
-/*
- * This program is based on eglgears and xegl_tri.
- * Remixed by Jakob Bornecrantz
- *
- * No command line options.
- * Program runs for 5 seconds then exits, outputing framerate to console
- */
-
-#define EGL_EGLEXT_PROTOTYPES
-
-#include <assert.h>
-#include <math.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <GL/gl.h>
-#include <EGL/egl.h>
-#include <EGL/eglext.h>
-
-#define MAX_CONFIGS 10
-#define MAX_MODES 100
-
-
-/* XXX this probably isn't very portable */
-
-#include <sys/time.h>
-#include <unistd.h>
-
-/* return current time (in seconds) */
-static double
-current_time(void)
-{
- struct timeval tv;
-#ifdef __VMS
- (void) gettimeofday(&tv, NULL );
-#else
- struct timezone tz;
- (void) gettimeofday(&tv, &tz);
-#endif
- return (double) tv.tv_sec + tv.tv_usec / 1000000.0;
-}
-
-
-static GLfloat view_rotx = 0.0, view_roty = 0.0, view_rotz = 0.0;
-
-static void draw()
-{
- static const GLfloat verts[3][2] = {
- { -1, -1 },
- { 1, -1 },
- { 0, 1 }
- };
- static const GLfloat colors[3][3] = {
- { 1, 0, 0 },
- { 0, 1, 0 },
- { 0, 0, 1 }
- };
-
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
- glPushMatrix();
- glRotatef(view_rotx, 1, 0, 0);
- glRotatef(view_roty, 0, 1, 0);
- glRotatef(view_rotz, 0, 0, 1);
-
- {
- glVertexPointer(2, GL_FLOAT, 0, verts);
- glColorPointer(3, GL_FLOAT, 0, colors);
- glEnableClientState(GL_VERTEX_ARRAY);
- glEnableClientState(GL_COLOR_ARRAY);
-
- glDrawArrays(GL_TRIANGLES, 0, 3);
-
- glDisableClientState(GL_VERTEX_ARRAY);
- glDisableClientState(GL_COLOR_ARRAY);
- }
-
- glPopMatrix();
-}
-
-static void init()
-{
- glClearColor(0.4, 0.4, 0.4, 0.0);
-}
-
-/* new window size or exposure */
-static void reshape(int width, int height)
-{
- GLfloat ar = (GLfloat) width / (GLfloat) height;
-
- glViewport(0, 0, (GLint) width, (GLint) height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glFrustum(-ar, ar, -1, 1, 5.0, 60.0);
-
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef(0.0, 0.0, -10.0);
-}
-
-static void run(EGLDisplay dpy, EGLSurface surf, int ttr)
-{
- double st = current_time();
- double ct = st;
- int frames = 0;
- GLfloat seconds, fps;
-
- while (ct - st < ttr)
- {
- ct = current_time();
-
- draw();
-
- eglSwapBuffers(dpy, surf);
-
- frames++;
- }
-
- seconds = ct - st;
- fps = frames / seconds;
- printf("%d frames in %3.1f seconds = %6.3f FPS\n", frames, seconds, fps);
-}
-
-int main(int argc, char *argv[])
-{
- int maj, min;
- EGLContext ctx;
- EGLSurface screen_surf;
- EGLConfig configs[MAX_CONFIGS];
- EGLint numConfigs, i;
- EGLBoolean b;
- EGLDisplay d;
- EGLint screenAttribs[10];
- EGLModeMESA mode[MAX_MODES];
- EGLScreenMESA screen;
- EGLint count, chosenMode = 0;
- GLboolean printInfo = GL_FALSE;
- EGLint width = 0, height = 0;
-
- /* parse cmd line args */
- for (i = 1; i < argc; i++)
- {
- if (strcmp(argv[i], "-info") == 0)
- {
- printInfo = GL_TRUE;
- }
- else
- printf("Warning: unknown parameter: %s\n", argv[i]);
- }
-
- /* DBR : Create EGL context/surface etc */
- d = eglGetDisplay(EGL_DEFAULT_DISPLAY);
- assert(d);
-
- if (!eglInitialize(d, &maj, &min)) {
- printf("egltri: eglInitialize failed\n");
- exit(1);
- }
-
- printf("egltri: EGL version = %d.%d\n", maj, min);
- printf("egltri: EGL_VENDOR = %s\n", eglQueryString(d, EGL_VENDOR));
-
- /* XXX use ChooseConfig */
- eglGetConfigs(d, configs, MAX_CONFIGS, &numConfigs);
- eglGetScreensMESA(d, &screen, 1, &count);
-
- if (!eglGetModesMESA(d, screen, mode, MAX_MODES, &count) || count == 0) {
- printf("egltri: eglGetModesMESA failed!\n");
- return 0;
- }
-
- /* Print list of modes, and find the one to use */
- printf("egltri: Found %d modes:\n", count);
- for (i = 0; i < count; i++) {
- EGLint w, h;
- eglGetModeAttribMESA(d, mode[i], EGL_WIDTH, &w);
- eglGetModeAttribMESA(d, mode[i], EGL_HEIGHT, &h);
- printf("%3d: %d x %d\n", i, w, h);
- if (w > width && h > height) {
- width = w;
- height = h;
- chosenMode = i;
- }
- }
- printf("egltri: Using screen mode/size %d: %d x %d\n", chosenMode, width, height);
-
- ctx = eglCreateContext(d, configs[0], EGL_NO_CONTEXT, NULL);
- if (ctx == EGL_NO_CONTEXT) {
- printf("egltri: failed to create context\n");
- return 0;
- }
-
- /* build up screenAttribs array */
- i = 0;
- screenAttribs[i++] = EGL_WIDTH;
- screenAttribs[i++] = width;
- screenAttribs[i++] = EGL_HEIGHT;
- screenAttribs[i++] = height;
- screenAttribs[i++] = EGL_NONE;
-
- screen_surf = eglCreateScreenSurfaceMESA(d, configs[0], screenAttribs);
- if (screen_surf == EGL_NO_SURFACE) {
- printf("egltri: failed to create screen surface\n");
- return 0;
- }
-
- b = eglShowScreenSurfaceMESA(d, screen, screen_surf, mode[chosenMode]);
- if (!b) {
- printf("egltri: show surface failed\n");
- return 0;
- }
-
- b = eglMakeCurrent(d, screen_surf, screen_surf, ctx);
- if (!b) {
- printf("egltri: make current failed\n");
- return 0;
- }
-
- if (printInfo)
- {
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- printf("GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- printf("GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- printf("GL_EXTENSIONS = %s\n", (char *) glGetString(GL_EXTENSIONS));
- }
-
- init();
- reshape(width, height);
-
- glDrawBuffer( GL_BACK );
-
- run(d, screen_surf, 5.0);
-
- eglDestroySurface(d, screen_surf);
- eglDestroyContext(d, ctx);
- eglTerminate(d);
-
- return 0;
-}
diff --git a/progs/egl/peglgears.c b/progs/egl/peglgears.c
deleted file mode 100644
index 212d1acf69..0000000000
--- a/progs/egl/peglgears.c
+++ /dev/null
@@ -1,451 +0,0 @@
-/*
- * Copyright (C) 1999-2001 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
- * BRIAN PAUL 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.
- */
-
-/*
- * This is a port of the infamous "glxgears" demo to straight EGL
- * Port by Dane Rushton 10 July 2005
- *
- * No command line options.
- * Program runs for 5 seconds then exits, outputing framerate to console
- */
-
-#define EGL_EGLEXT_PROTOTYPES
-
-#include <assert.h>
-#include <math.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <GL/gl.h>
-#include <EGL/egl.h>
-#include <EGL/eglext.h>
-
-#define MAX_CONFIGS 10
-#define MAX_MODES 100
-
-#define BENCHMARK
-
-#ifdef BENCHMARK
-
-/* XXX this probably isn't very portable */
-
-#include <sys/time.h>
-#include <unistd.h>
-
-/* return current time (in seconds) */
-static double
-current_time(void)
-{
- struct timeval tv;
-#ifdef __VMS
- (void) gettimeofday(&tv, NULL );
-#else
- struct timezone tz;
- (void) gettimeofday(&tv, &tz);
-#endif
- return (double) tv.tv_sec + tv.tv_usec / 1000000.0;
-}
-
-#else /*BENCHMARK*/
-
-/* dummy */
-static double
-current_time(void)
-{
- /* update this function for other platforms! */
- static double t = 0.0;
- static int warn = 1;
- if (warn) {
- fprintf(stderr, "Warning: current_time() not implemented!!\n");
- warn = 0;
- }
- return t += 1.0;
-}
-
-#endif /*BENCHMARK*/
-
-
-#ifndef M_PI
-#define M_PI 3.14159265
-#endif
-
-
-static GLfloat view_rotx = 20.0, view_roty = 30.0, view_rotz = 0.0;
-static GLint gear1, gear2, gear3;
-static GLfloat angle = 0.0;
-
-#if 0
-static GLfloat eyesep = 5.0; /* Eye separation. */
-static GLfloat fix_point = 40.0; /* Fixation point distance. */
-static GLfloat left, right, asp; /* Stereo frustum params. */
-#endif
-
-
-/*
- *
- * Draw a gear wheel. You'll probably want to call this function when
- * building a display list since we do a lot of trig here.
- *
- * Input: inner_radius - radius of hole at center
- * outer_radius - radius at center of teeth
- * width - width of gear
- * teeth - number of teeth
- * tooth_depth - depth of tooth
- */
-static void
-gear(GLfloat inner_radius, GLfloat outer_radius, GLfloat width,
- GLint teeth, GLfloat tooth_depth)
-{
- GLint i;
- GLfloat r0, r1, r2;
- GLfloat angle, da;
- GLfloat u, v, len;
-
- r0 = inner_radius;
- r1 = outer_radius - tooth_depth / 2.0;
- r2 = outer_radius + tooth_depth / 2.0;
-
- da = 2.0 * M_PI / teeth / 4.0;
-
- glShadeModel(GL_FLAT);
-
- glNormal3f(0.0, 0.0, 1.0);
-
- /* draw front face */
- glBegin(GL_QUAD_STRIP);
- for (i = 0; i <= teeth; i++) {
- angle = i * 2.0 * M_PI / teeth;
- glVertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5);
- glVertex3f(r1 * cos(angle), r1 * sin(angle), width * 0.5);
- if (i < teeth) {
- glVertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5);
- glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da),
- width * 0.5);
- }
- }
- glEnd();
-
- /* draw front sides of teeth */
- glBegin(GL_QUADS);
- da = 2.0 * M_PI / teeth / 4.0;
- for (i = 0; i < teeth; i++) {
- angle = i * 2.0 * M_PI / teeth;
-
- glVertex3f(r1 * cos(angle), r1 * sin(angle), width * 0.5);
- glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), width * 0.5);
- glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da),
- width * 0.5);
- glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da),
- width * 0.5);
- }
- glEnd();
-
- glNormal3f(0.0, 0.0, -1.0);
-
- /* draw back face */
- glBegin(GL_QUAD_STRIP);
- for (i = 0; i <= teeth; i++) {
- angle = i * 2.0 * M_PI / teeth;
- glVertex3f(r1 * cos(angle), r1 * sin(angle), -width * 0.5);
- glVertex3f(r0 * cos(angle), r0 * sin(angle), -width * 0.5);
- if (i < teeth) {
- glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da),
- -width * 0.5);
- glVertex3f(r0 * cos(angle), r0 * sin(angle), -width * 0.5);
- }
- }
- glEnd();
-
- /* draw back sides of teeth */
- glBegin(GL_QUADS);
- da = 2.0 * M_PI / teeth / 4.0;
- for (i = 0; i < teeth; i++) {
- angle = i * 2.0 * M_PI / teeth;
-
- glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da),
- -width * 0.5);
- glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da),
- -width * 0.5);
- glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), -width * 0.5);
- glVertex3f(r1 * cos(angle), r1 * sin(angle), -width * 0.5);
- }
- glEnd();
-
- /* draw outward faces of teeth */
- glBegin(GL_QUAD_STRIP);
- for (i = 0; i < teeth; i++) {
- angle = i * 2.0 * M_PI / teeth;
-
- glVertex3f(r1 * cos(angle), r1 * sin(angle), width * 0.5);
- glVertex3f(r1 * cos(angle), r1 * sin(angle), -width * 0.5);
- u = r2 * cos(angle + da) - r1 * cos(angle);
- v = r2 * sin(angle + da) - r1 * sin(angle);
- len = sqrt(u * u + v * v);
- u /= len;
- v /= len;
- glNormal3f(v, -u, 0.0);
- glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), width * 0.5);
- glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), -width * 0.5);
- glNormal3f(cos(angle), sin(angle), 0.0);
- glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da),
- width * 0.5);
- glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da),
- -width * 0.5);
- u = r1 * cos(angle + 3 * da) - r2 * cos(angle + 2 * da);
- v = r1 * sin(angle + 3 * da) - r2 * sin(angle + 2 * da);
- glNormal3f(v, -u, 0.0);
- glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da),
- width * 0.5);
- glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da),
- -width * 0.5);
- glNormal3f(cos(angle), sin(angle), 0.0);
- }
-
- glVertex3f(r1 * cos(0), r1 * sin(0), width * 0.5);
- glVertex3f(r1 * cos(0), r1 * sin(0), -width * 0.5);
-
- glEnd();
-
- glShadeModel(GL_SMOOTH);
-
- /* draw inside radius cylinder */
- glBegin(GL_QUAD_STRIP);
- for (i = 0; i <= teeth; i++) {
- angle = i * 2.0 * M_PI / teeth;
- glNormal3f(-cos(angle), -sin(angle), 0.0);
- glVertex3f(r0 * cos(angle), r0 * sin(angle), -width * 0.5);
- glVertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5);
- }
- glEnd();
-}
-
-
-static void
-draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
- glPushMatrix();
- glRotatef(view_rotx, 1.0, 0.0, 0.0);
- glRotatef(view_roty, 0.0, 1.0, 0.0);
- glRotatef(view_rotz, 0.0, 0.0, 1.0);
-
- glPushMatrix();
- glTranslatef(-3.0, -2.0, 0.0);
- glRotatef(angle, 0.0, 0.0, 1.0);
- glCallList(gear1);
- glPopMatrix();
-
- glPushMatrix();
- glTranslatef(3.1, -2.0, 0.0);
- glRotatef(-2.0 * angle - 9.0, 0.0, 0.0, 1.0);
- glCallList(gear2);
- glPopMatrix();
-
- glPushMatrix();
- glTranslatef(-3.1, 4.2, 0.0);
- glRotatef(-2.0 * angle - 25.0, 0.0, 0.0, 1.0);
- glCallList(gear3);
- glPopMatrix();
-
- glPopMatrix();
-}
-
-
-/* new window size or exposure */
-static void
-reshape(int width, int height)
-{
- GLfloat h = (GLfloat) height / (GLfloat) width;
-
- glViewport(0, 0, (GLint) width, (GLint) height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glFrustum(-1.0, 1.0, -h, h, 5.0, 60.0);
-
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef(0.0, 0.0, -40.0);
-}
-
-
-
-static void
-init(void)
-{
- static GLfloat pos[4] = { 5.0, 5.0, 10.0, 0.0 };
- static GLfloat red[4] = { 0.8, 0.1, 0.0, 1.0 };
- static GLfloat green[4] = { 0.0, 0.8, 0.2, 1.0 };
- static GLfloat blue[4] = { 0.2, 0.2, 1.0, 1.0 };
-
- glLightfv(GL_LIGHT0, GL_POSITION, pos);
- glEnable(GL_CULL_FACE);
- glEnable(GL_LIGHTING);
- glEnable(GL_LIGHT0);
- glEnable(GL_DEPTH_TEST);
-
- /* make the gears */
- gear1 = glGenLists(1);
- glNewList(gear1, GL_COMPILE);
- glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, red);
- gear(1.0, 4.0, 1.0, 20, 0.7);
- glEndList();
-
- gear2 = glGenLists(1);
- glNewList(gear2, GL_COMPILE);
- glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, green);
- gear(0.5, 2.0, 2.0, 10, 0.7);
- glEndList();
-
- gear3 = glGenLists(1);
- glNewList(gear3, GL_COMPILE);
- glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, blue);
- gear(1.3, 2.0, 0.5, 10, 0.7);
- glEndList();
-
- glEnable(GL_NORMALIZE);
-}
-
-
-
-
-static void run_gears(EGLDisplay dpy, EGLSurface surf, int ttr)
-{
- double st = current_time();
- double ct = st;
- int frames = 0;
- GLfloat seconds, fps;
-
- while (ct - st < ttr)
- {
- double tt = current_time();
- double dt = tt - ct;
- ct = tt;
-
- /* advance rotation for next frame */
- angle += 70.0 * dt; /* 70 degrees per second */
- if (angle > 3600.0)
- angle -= 3600.0;
-
- draw();
-
- eglSwapBuffers(dpy, surf);
-
-
- frames++;
- }
-
- seconds = ct - st;
- fps = frames / seconds;
- printf("%d frames in %3.1f seconds = %6.3f FPS\n", frames, seconds, fps);
-
-}
-
-
-int
-main(int argc, char *argv[])
-{
- int major, minor;
- EGLContext ctx;
- EGLSurface surface;
- EGLConfig configs[MAX_CONFIGS];
- EGLint numConfigs, i;
- EGLBoolean b;
- EGLDisplay d;
- EGLint screenAttribs[10];
- GLboolean printInfo = GL_FALSE;
- EGLint width = 300, height = 300;
-
- /* parse cmd line args */
- for (i = 1; i < argc; i++)
- {
- if (strcmp(argv[i], "-info") == 0)
- {
- printInfo = GL_TRUE;
- }
- else
- printf("Warning: unknown parameter: %s\n", argv[i]);
- }
-
- /* DBR : Create EGL context/surface etc */
- d = eglGetDisplay(EGL_DEFAULT_DISPLAY);
- assert(d);
-
- if (!eglInitialize(d, &major, &minor)) {
- printf("peglgears: eglInitialize failed\n");
- return 0;
- }
-
- printf("peglgears: EGL version = %d.%d\n", major, minor);
- printf("peglgears: EGL_VENDOR = %s\n", eglQueryString(d, EGL_VENDOR));
-
- eglGetConfigs(d, configs, MAX_CONFIGS, &numConfigs);
-
- eglBindAPI(EGL_OPENGL_API);
-
- ctx = eglCreateContext(d, configs[0], EGL_NO_CONTEXT, NULL);
- if (ctx == EGL_NO_CONTEXT) {
- printf("peglgears: failed to create context\n");
- return 0;
- }
-
- /* build up screenAttribs array */
- i = 0;
- screenAttribs[i++] = EGL_WIDTH;
- screenAttribs[i++] = width;
- screenAttribs[i++] = EGL_HEIGHT;
- screenAttribs[i++] = height;
- screenAttribs[i++] = EGL_NONE;
-
- surface = eglCreatePbufferSurface(d, configs[0], screenAttribs);
- if (surface == EGL_NO_SURFACE) {
- printf("peglgears: failed to create pbuffer surface\n");
- return 0;
- }
-
- b = eglMakeCurrent(d, surface, surface, ctx);
- if (!b) {
- printf("peglgears: make current failed\n");
- return 0;
- }
-
- if (printInfo)
- {
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- printf("GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- printf("GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- printf("GL_EXTENSIONS = %s\n", (char *) glGetString(GL_EXTENSIONS));
- }
-
- init();
- reshape(width, height);
-
- glDrawBuffer( GL_BACK );
-
- run_gears(d, surface, 5.0);
-
- eglDestroySurface(d, surface);
- eglDestroyContext(d, ctx);
- eglTerminate(d);
-
- return 0;
-}
diff --git a/progs/egl/xegl_tri.c b/progs/egl/xegl_tri.c
deleted file mode 100644
index 65f352ddfa..0000000000
--- a/progs/egl/xegl_tri.c
+++ /dev/null
@@ -1,359 +0,0 @@
-/*
- * Copyright (C) 2008 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
- * BRIAN PAUL 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.
- */
-
-/*
- * Draw a triangle with X/EGL.
- * Brian Paul
- * 3 June 2008
- */
-
-
-#include <assert.h>
-#include <math.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-#include <X11/keysym.h>
-#include <GL/gl.h> /* using full OpenGL for now */
-#include <GLES/egl.h>
-
-
-static GLfloat view_rotx = 0.0, view_roty = 0.0, view_rotz = 0.0;
-
-
-static void
-draw(void)
-{
- static const GLfloat verts[3][2] = {
- { -1, -1 },
- { 1, -1 },
- { 0, 1 }
- };
- static const GLfloat colors[3][3] = {
- { 1, 0, 0 },
- { 0, 1, 0 },
- { 0, 0, 1 }
- };
-
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
- glPushMatrix();
- glRotatef(view_rotx, 1, 0, 0);
- glRotatef(view_roty, 0, 1, 0);
- glRotatef(view_rotz, 0, 0, 1);
-
- {
- glVertexPointer(2, GL_FLOAT, 0, verts);
- glColorPointer(3, GL_FLOAT, 0, colors);
- glEnableClientState(GL_VERTEX_ARRAY);
- glEnableClientState(GL_COLOR_ARRAY);
-
- glDrawArrays(GL_TRIANGLES, 0, 3);
-
- glDisableClientState(GL_VERTEX_ARRAY);
- glDisableClientState(GL_COLOR_ARRAY);
- }
-
- glPopMatrix();
-}
-
-
-/* new window size or exposure */
-static void
-reshape(int width, int height)
-{
- GLfloat ar = (GLfloat) width / (GLfloat) height;
-
- glViewport(0, 0, (GLint) width, (GLint) height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glFrustum(-ar, ar, -1, 1, 5.0, 60.0);
-
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef(0.0, 0.0, -10.0);
-}
-
-
-static void
-init(void)
-{
- glClearColor(0.4, 0.4, 0.4, 0.0);
-}
-
-
-/*
- * Create an RGB, double-buffered X window.
- * Return the window and context handles.
- */
-static void
-make_x_window(Display *x_dpy, EGLDisplay egl_dpy,
- const char *name,
- int x, int y, int width, int height,
- Window *winRet,
- EGLContext *ctxRet,
- EGLSurface *surfRet)
-{
- static const EGLint attribs[] = {
- EGL_RED_SIZE, 1,
- EGL_GREEN_SIZE, 1,
- EGL_BLUE_SIZE, 1,
- EGL_DEPTH_SIZE, 1,
- EGL_NONE
- };
-
- int scrnum;
- XSetWindowAttributes attr;
- unsigned long mask;
- Window root;
- Window win;
- XVisualInfo *visInfo, visTemplate;
- int num_visuals;
- EGLContext ctx;
- EGLConfig config;
- EGLint num_configs;
- EGLint vid;
-
- scrnum = DefaultScreen( x_dpy );
- root = RootWindow( x_dpy, scrnum );
-
- if (!eglChooseConfig( egl_dpy, attribs, &config, 1, &num_configs)) {
- printf("Error: couldn't get an EGL visual config\n");
- exit(1);
- }
-
- assert(config);
- assert(num_configs > 0);
-
- if (!eglGetConfigAttrib(egl_dpy, config, EGL_NATIVE_VISUAL_ID, &vid)) {
- printf("Error: eglGetConfigAttrib() failed\n");
- exit(1);
- }
-
- /* The X window visual must match the EGL config */
- visTemplate.visualid = vid;
- visInfo = XGetVisualInfo(x_dpy, VisualIDMask, &visTemplate, &num_visuals);
- if (!visInfo) {
- printf("Error: couldn't get X visual\n");
- exit(1);
- }
-
- /* window attributes */
- attr.background_pixel = 0;
- attr.border_pixel = 0;
- attr.colormap = XCreateColormap( x_dpy, root, visInfo->visual, AllocNone);
- attr.event_mask = StructureNotifyMask | ExposureMask | KeyPressMask;
- mask = CWBackPixel | CWBorderPixel | CWColormap | CWEventMask;
-
- win = XCreateWindow( x_dpy, root, 0, 0, width, height,
- 0, visInfo->depth, InputOutput,
- visInfo->visual, mask, &attr );
-
- /* set hints and properties */
- {
- XSizeHints sizehints;
- sizehints.x = x;
- sizehints.y = y;
- sizehints.width = width;
- sizehints.height = height;
- sizehints.flags = USSize | USPosition;
- XSetNormalHints(x_dpy, win, &sizehints);
- XSetStandardProperties(x_dpy, win, name, name,
- None, (char **)NULL, 0, &sizehints);
- }
-
- eglBindAPI(EGL_OPENGL_API);
-
- ctx = eglCreateContext(egl_dpy, config, EGL_NO_CONTEXT, NULL );
- if (!ctx) {
- printf("Error: glXCreateContext failed\n");
- exit(1);
- }
-
- *surfRet = eglCreateWindowSurface(egl_dpy, config, win, NULL);
-
- if (!*surfRet) {
- printf("Error: eglCreateWindowSurface failed\n");
- exit(1);
- }
-
- XFree(visInfo);
-
- *winRet = win;
- *ctxRet = ctx;
-}
-
-
-static void
-event_loop(Display *dpy, Window win,
- EGLDisplay egl_dpy, EGLSurface egl_surf)
-{
- while (1) {
- int redraw = 0;
- XEvent event;
-
- XNextEvent(dpy, &event);
-
- switch (event.type) {
- case Expose:
- redraw = 1;
- break;
- case ConfigureNotify:
- reshape(event.xconfigure.width, event.xconfigure.height);
- break;
- case KeyPress:
- {
- char buffer[10];
- int r, code;
- code = XLookupKeysym(&event.xkey, 0);
- if (code == XK_Left) {
- view_roty += 5.0;
- }
- else if (code == XK_Right) {
- view_roty -= 5.0;
- }
- else if (code == XK_Up) {
- view_rotx += 5.0;
- }
- else if (code == XK_Down) {
- view_rotx -= 5.0;
- }
- else {
- r = XLookupString(&event.xkey, buffer, sizeof(buffer),
- NULL, NULL);
- if (buffer[0] == 27) {
- /* escape */
- return;
- }
- }
- }
- redraw = 1;
- break;
- default:
- ; /*no-op*/
- }
-
- if (redraw) {
- draw();
- eglSwapBuffers(egl_dpy, egl_surf);
- }
- }
-}
-
-
-static void
-usage(void)
-{
- printf("Usage:\n");
- printf(" -display <displayname> set the display to run on\n");
- printf(" -info display OpenGL renderer info\n");
-}
-
-
-int
-main(int argc, char *argv[])
-{
- const int winWidth = 300, winHeight = 300;
- Display *x_dpy;
- Window win;
- EGLSurface egl_surf;
- EGLContext egl_ctx;
- EGLDisplay egl_dpy;
- char *dpyName = NULL;
- GLboolean printInfo = GL_FALSE;
- EGLint egl_major, egl_minor;
- int i;
- const char *s;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-display") == 0) {
- dpyName = argv[i+1];
- i++;
- }
- else if (strcmp(argv[i], "-info") == 0) {
- printInfo = GL_TRUE;
- }
- else {
- usage();
- return -1;
- }
- }
-
- x_dpy = XOpenDisplay(dpyName);
- if (!x_dpy) {
- printf("Error: couldn't open display %s\n",
- dpyName ? dpyName : getenv("DISPLAY"));
- return -1;
- }
-
- egl_dpy = eglGetDisplay(x_dpy);
- if (!egl_dpy) {
- printf("Error: eglGetDisplay() failed\n");
- return -1;
- }
-
- if (!eglInitialize(egl_dpy, &egl_major, &egl_minor)) {
- printf("Error: eglInitialize() failed\n");
- return -1;
- }
-
- s = eglQueryString(egl_dpy, EGL_VERSION);
- printf("EGL_VERSION = %s\n", s);
-
- make_x_window(x_dpy, egl_dpy,
- "xegl_tri", 0, 0, winWidth, winHeight,
- &win, &egl_ctx, &egl_surf);
-
- XMapWindow(x_dpy, win);
- if (!eglMakeCurrent(egl_dpy, egl_surf, egl_surf, egl_ctx)) {
- printf("Error: eglMakeCurrent() failed\n");
- return -1;
- }
-
- if (printInfo) {
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- printf("GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- printf("GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- }
-
- init();
-
- /* Set initial projection/viewing transformation.
- * We can't be sure we'll get a ConfigureNotify event when the window
- * first appears.
- */
- reshape(winWidth, winHeight);
-
- event_loop(x_dpy, win, egl_dpy, egl_surf);
-
- eglDestroyContext(egl_dpy, egl_ctx);
- eglDestroySurface(egl_dpy, egl_surf);
- eglTerminate(egl_dpy);
-
-
- XDestroyWindow(x_dpy, win);
- XCloseDisplay(x_dpy);
-
- return 0;
-}
diff --git a/progs/egl/xeglbindtex.c b/progs/egl/xeglbindtex.c
deleted file mode 100644
index fdd9fe2b87..0000000000
--- a/progs/egl/xeglbindtex.c
+++ /dev/null
@@ -1,474 +0,0 @@
-/*
- * Simple demo for eglBindTexImage. Based on xegl_tri.c by
- *
- * Copyright (C) 2008 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
- * BRIAN PAUL 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.
- */
-
-/*
- * The spec says that eglBindTexImage supports only OpenGL ES context, but this
- * demo uses OpenGL context. Keep in mind that this is non-standard.
- */
-
-#include <math.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-#include <X11/keysym.h>
-#include <GL/gl.h>
-#include <EGL/egl.h>
-
-static EGLDisplay dpy;
-static EGLContext ctx_win, ctx_pbuf;
-static EGLSurface surf_win, surf_pbuf;
-static GLuint tex_pbuf;
-
-static GLfloat view_rotx = 0.0, view_roty = 0.0, view_rotz = 0.0;
-static GLboolean blend = GL_TRUE;
-static GLuint color_flow;
-
-static void
-make_pbuffer(int width, int height)
-{
- static const EGLint config_attribs[] = {
- EGL_RED_SIZE, 8,
- EGL_GREEN_SIZE, 8,
- EGL_BLUE_SIZE, 8,
- EGL_BIND_TO_TEXTURE_RGB, EGL_TRUE,
- EGL_NONE
- };
- EGLint pbuf_attribs[] = {
- EGL_WIDTH, width,
- EGL_HEIGHT, height,
- EGL_TEXTURE_FORMAT, EGL_TEXTURE_RGB,
- EGL_TEXTURE_TARGET, EGL_TEXTURE_2D,
- EGL_NONE
- };
- EGLConfig config;
- EGLint num_configs;
-
- if (!eglChooseConfig(dpy, config_attribs, &config, 1, &num_configs)) {
- printf("Error: couldn't get an EGL visual config for pbuffer\n");
- exit(1);
- }
-
- eglBindAPI(EGL_OPENGL_API);
- ctx_pbuf = eglCreateContext(dpy, config, EGL_NO_CONTEXT, NULL );
- surf_pbuf = eglCreatePbufferSurface(dpy, config, pbuf_attribs);
- if (surf_pbuf == EGL_NO_SURFACE) {
- printf("failed to allocate pbuffer\n");
- exit(1);
- }
-
- glGenTextures(1, &tex_pbuf);
-}
-
-static void
-use_pbuffer(void)
-{
- static int initialized;
-
- eglMakeCurrent(dpy, surf_pbuf, surf_pbuf, ctx_pbuf);
- if (!initialized) {
- EGLint width, height;
- GLfloat ar;
-
- initialized = 1;
-
- eglQuerySurface(dpy, surf_pbuf, EGL_WIDTH, &width);
- eglQuerySurface(dpy, surf_pbuf, EGL_WIDTH, &height);
- ar = (GLfloat) width / (GLfloat) height;
-
- glViewport(0, 0, (GLint) width, (GLint) height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glFrustum(-ar, ar, -1, 1, 1.0, 10.0);
-
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
-
- /* y-inverted */
- glScalef(1.0, -1.0, 1.0);
-
- glTranslatef(0.0, 0.0, -5.0);
-
- glClearColor(0.2, 0.2, 0.2, 0.0);
- }
-}
-
-static void
-make_window(Display *x_dpy, const char *name,
- int x, int y, int width, int height,
- Window *winRet)
-{
- static const EGLint attribs[] = {
- EGL_RED_SIZE, 8,
- EGL_GREEN_SIZE, 8,
- EGL_BLUE_SIZE, 8,
- EGL_ALPHA_SIZE, 8,
- EGL_DEPTH_SIZE, 8,
- EGL_NONE
- };
-
- int scrnum;
- XSetWindowAttributes attr;
- unsigned long mask;
- Window root;
- Window win;
- XVisualInfo *visInfo, visTemplate;
- int num_visuals;
- EGLConfig config;
- EGLint num_configs, vid;
-
- scrnum = DefaultScreen( x_dpy );
- root = RootWindow( x_dpy, scrnum );
-
- if (!eglChooseConfig(dpy, attribs, &config, 1, &num_configs)) {
- printf("Error: couldn't get an EGL visual config\n");
- exit(1);
- }
-
- if (!eglGetConfigAttrib(dpy, config, EGL_NATIVE_VISUAL_ID, &vid)) {
- printf("Error: eglGetConfigAttrib() failed\n");
- exit(1);
- }
-
- /* The X window visual must match the EGL config */
- visTemplate.visualid = vid;
- visInfo = XGetVisualInfo(x_dpy, VisualIDMask, &visTemplate, &num_visuals);
- if (!visInfo) {
- printf("Error: couldn't get X visual\n");
- exit(1);
- }
-
- /* window attributes */
- attr.background_pixel = 0;
- attr.border_pixel = 0;
- attr.colormap = XCreateColormap( x_dpy, root, visInfo->visual, AllocNone);
- attr.event_mask = StructureNotifyMask | ExposureMask | KeyPressMask;
- attr.override_redirect = 0;
- mask = CWBackPixel | CWBorderPixel | CWColormap | CWEventMask | CWOverrideRedirect;
-
- win = XCreateWindow( x_dpy, root, 0, 0, width, height,
- 0, visInfo->depth, InputOutput,
- visInfo->visual, mask, &attr );
-
- /* set hints and properties */
- {
- XSizeHints sizehints;
- sizehints.x = x;
- sizehints.y = y;
- sizehints.width = width;
- sizehints.height = height;
- sizehints.flags = USSize | USPosition;
- XSetNormalHints(x_dpy, win, &sizehints);
- XSetStandardProperties(x_dpy, win, name, name,
- None, (char **)NULL, 0, &sizehints);
- }
-
- eglBindAPI(EGL_OPENGL_API);
- ctx_win = eglCreateContext(dpy, config, EGL_NO_CONTEXT, NULL );
- if (!ctx_win) {
- printf("Error: glXCreateContext failed\n");
- exit(1);
- }
-
- surf_win = eglCreateWindowSurface(dpy, config, win, NULL);
-
- XFree(visInfo);
-
- *winRet = win;
-}
-
-static void
-use_window(void)
-{
- static int initialized;
-
- eglMakeCurrent(dpy, surf_win, surf_win, ctx_win);
- if (!initialized) {
- initialized = 1;
- glEnable(GL_TEXTURE_2D);
- glBindTexture(GL_TEXTURE_2D, tex_pbuf);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
-
- glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- }
-}
-
-static void
-draw_triangle(void)
-{
- static const GLfloat verts[3][2] = {
- { -3, -3 },
- { 3, -3 },
- { 0, 3 }
- };
- GLfloat colors[3][3] = {
- { 1, 0, 0 },
- { 0, 1, 0 },
- { 0, 0, 1 }
- };
- GLint i;
-
- /* flow the color */
- for (i = 0; i < 3; i++) {
- GLint first = (i + color_flow / 256) % 3;
- GLint second = (first + 1) % 3;
- GLint third = (second + 1) % 3;
- GLfloat c = (color_flow % 256) / 256.0f;
-
- c = c * c * c;
- colors[i][first] = 1.0f - c;
- colors[i][second] = c;
- colors[i][third] = 0.0f;
- }
-
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
- glVertexPointer(2, GL_FLOAT, 0, verts);
- glColorPointer(3, GL_FLOAT, 0, colors);
- glEnableClientState(GL_VERTEX_ARRAY);
- glEnableClientState(GL_COLOR_ARRAY);
-
- glDrawArrays(GL_TRIANGLES, 0, 3);
-
- glDisableClientState(GL_VERTEX_ARRAY);
- glDisableClientState(GL_COLOR_ARRAY);
-}
-
-static void
-draw_textured_cube(void)
-{
- static const GLfloat verts[][2] = {
- { -4, -4 },
- { 4, -4 },
- { 4, 4 },
- { -4, 4 }
- };
- static const GLfloat colors[][4] = {
- { 1, 1, 1, 0.5 },
- { 1, 1, 1, 0.5 },
- { 1, 1, 1, 0.5 },
- { 1, 1, 1, 0.5 }
- };
- static const GLfloat texs[][2] = {
- { 0, 0 },
- { 1, 0 },
- { 1, 1 },
- { 0, 1 }
- };
- static const GLfloat xforms[6][4] = {
- { 0, 0, 1, 0 },
- { 90, 0, 1, 0 },
- { 180, 0, 1, 0 },
- { 270, 0, 1, 0 },
- { 90, 1, 0, 0 },
- { -90, 1, 0, 0 }
- };
- GLint i;
-
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
- if (blend) {
- glDisable(GL_DEPTH_TEST);
- glEnable(GL_BLEND);
- } else {
- glEnable(GL_DEPTH_TEST);
- glDisable(GL_BLEND);
- }
-
- glVertexPointer(2, GL_FLOAT, 0, verts);
- glColorPointer(4, GL_FLOAT, 0, colors);
- glTexCoordPointer(2, GL_FLOAT, 0, texs);
-
- glEnableClientState(GL_VERTEX_ARRAY);
- glEnableClientState(GL_COLOR_ARRAY);
- glEnableClientState(GL_TEXTURE_COORD_ARRAY);
-
- for (i = 0; i < 6; i++) {
- glPushMatrix();
- glRotatef(xforms[i][0], xforms[i][1], xforms[i][2], xforms[i][3]);
- glTranslatef(0, 0, 4.1);
- glDrawArrays(GL_TRIANGLE_FAN, 0, 4);
- glPopMatrix();
- }
-
- glDisableClientState(GL_VERTEX_ARRAY);
- glDisableClientState(GL_COLOR_ARRAY);
- glDisableClientState(GL_TEXTURE_COORD_ARRAY);
-}
-
-static void
-draw(void)
-{
- use_pbuffer();
- draw_triangle();
-
- use_window();
-
- eglBindTexImage(dpy, surf_pbuf, EGL_BACK_BUFFER);
-
- glPushMatrix();
- glRotatef(view_rotx, 1, 0, 0);
- glRotatef(view_roty, 0, 1, 0);
- glRotatef(view_rotz, 0, 0, 1);
-
- draw_textured_cube();
-
- glPopMatrix();
-
- eglReleaseTexImage(dpy, surf_pbuf, EGL_BACK_BUFFER);
-}
-
-/* new window size or exposure */
-static void
-reshape(int width, int height)
-{
- GLfloat ar = (GLfloat) width / (GLfloat) height;
-
- use_window();
-
- glViewport(0, 0, (GLint) width, (GLint) height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glFrustum(-ar, ar, -1, 1, 5.0, 60.0);
-
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef(0.0, 0.0, -40.0);
-}
-
-static void
-event_loop(Display *x_dpy, Window win)
-{
- while (1) {
- int redraw = 1;
-
- if (XPending(x_dpy) > 0) {
- XEvent event;
- XNextEvent(x_dpy, &event);
-
- switch (event.type) {
- case Expose:
- redraw = 1;
- break;
- case ConfigureNotify:
- reshape(event.xconfigure.width, event.xconfigure.height);
- break;
- case KeyPress:
- {
- char buffer[10];
- int r, code;
- code = XLookupKeysym(&event.xkey, 0);
- if (code == XK_Left) {
- view_roty += 5.0;
- }
- else if (code == XK_Right) {
- view_roty -= 5.0;
- }
- else if (code == XK_Up) {
- view_rotx += 5.0;
- }
- else if (code == XK_Down) {
- view_rotx -= 5.0;
- }
- else if (code == XK_b) {
- blend = !blend;
- }
- else {
- r = XLookupString(&event.xkey, buffer, sizeof(buffer),
- NULL, NULL);
- if (buffer[0] == 27) {
- /* escape */
- return;
- }
- }
- }
- redraw = 1;
- break;
- default:
- ; /*no-op*/
- }
- }
-
- if (redraw) {
- view_rotx += 1.0;
- view_roty += 2.0;
- view_rotz += 1.5;
- color_flow += 20;
- draw();
- eglSwapBuffers(dpy, surf_win);
- }
- }
-}
-
-int
-main(int argc, char *argv[])
-{
- const int winWidth = 300, winHeight = 300;
- Display *x_dpy;
- Window win;
- char *dpyName = NULL;
- EGLint egl_major, egl_minor;
- const char *s;
-
- x_dpy = XOpenDisplay(dpyName);
- if (!x_dpy) {
- printf("Error: couldn't open display %s\n",
- dpyName ? dpyName : getenv("DISPLAY"));
- return -1;
- }
-
- dpy = eglGetDisplay(x_dpy);
- if (!dpy) {
- printf("Error: eglGetDisplay() failed\n");
- return -1;
- }
-
- if (!eglInitialize(dpy, &egl_major, &egl_minor)) {
- printf("Error: eglInitialize() failed\n");
- return -1;
- }
-
- s = eglQueryString(dpy, EGL_VERSION);
- printf("EGL_VERSION = %s\n", s);
-
- make_window(x_dpy, "color flow", 0, 0, winWidth, winHeight, &win);
- make_pbuffer(winWidth, winHeight);
-
- XMapWindow(x_dpy, win);
-
- reshape(winWidth, winHeight);
- event_loop(x_dpy, win);
-
- glDeleteTextures(1, &tex_pbuf);
-
- eglMakeCurrent(dpy, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
- eglTerminate(dpy);
-
- XDestroyWindow(x_dpy, win);
- XCloseDisplay(x_dpy);
-
- return 0;
-}
diff --git a/progs/egl/xeglgears.c b/progs/egl/xeglgears.c
deleted file mode 100644
index 614a625603..0000000000
--- a/progs/egl/xeglgears.c
+++ /dev/null
@@ -1,787 +0,0 @@
-/*
- * Copyright (C) 1999-2001 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
- * BRIAN PAUL 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.
- */
-
-/*
- * Ported to X/EGL/GLES. XXX Actually, uses full OpenGL ATM.
- * Brian Paul
- * 30 May 2008
- */
-
-/*
- * Command line options:
- * -info print GL implementation information
- *
- */
-
-
-#include <math.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-#include <X11/keysym.h>
-#include <GL/gl.h>
-#include <EGL/egl.h>
-
-
-#define BENCHMARK
-
-#ifdef BENCHMARK
-
-/* XXX this probably isn't very portable */
-
-#include <sys/time.h>
-#include <unistd.h>
-
-/* return current time (in seconds) */
-static double
-current_time(void)
-{
- struct timeval tv;
-#ifdef __VMS
- (void) gettimeofday(&tv, NULL );
-#else
- struct timezone tz;
- (void) gettimeofday(&tv, &tz);
-#endif
- return (double) tv.tv_sec + tv.tv_usec / 1000000.0;
-}
-
-#else /*BENCHMARK*/
-
-/* dummy */
-static double
-current_time(void)
-{
- /* update this function for other platforms! */
- static double t = 0.0;
- static int warn = 1;
- if (warn) {
- fprintf(stderr, "Warning: current_time() not implemented!!\n");
- warn = 0;
- }
- return t += 1.0;
-}
-
-#endif /*BENCHMARK*/
-
-
-
-#ifndef M_PI
-#define M_PI 3.14159265
-#endif
-
-
-static GLfloat view_rotx = 20.0, view_roty = 30.0, view_rotz = 0.0;
-static GLint gear1, gear2, gear3;
-static GLfloat angle = 0.0;
-
-/*
- *
- * Draw a gear wheel. You'll probably want to call this function when
- * building a display list since we do a lot of trig here.
- *
- * Input: inner_radius - radius of hole at center
- * outer_radius - radius at center of teeth
- * width - width of gear
- * teeth - number of teeth
- * tooth_depth - depth of tooth
- */
-static void
-gear(GLfloat inner_radius, GLfloat outer_radius, GLfloat width,
- GLint teeth, GLfloat tooth_depth)
-{
- GLint i;
- GLfloat r0, r1, r2;
- GLfloat angle, da;
- GLfloat u, v, len;
-
- r0 = inner_radius;
- r1 = outer_radius - tooth_depth / 2.0;
- r2 = outer_radius + tooth_depth / 2.0;
-
- da = 2.0 * M_PI / teeth / 4.0;
-
- glShadeModel(GL_FLAT);
-
- glNormal3f(0.0, 0.0, 1.0);
-
- /* draw front face */
- glBegin(GL_QUAD_STRIP);
- for (i = 0; i <= teeth; i++) {
- angle = i * 2.0 * M_PI / teeth;
- glVertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5);
- glVertex3f(r1 * cos(angle), r1 * sin(angle), width * 0.5);
- if (i < teeth) {
- glVertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5);
- glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da),
- width * 0.5);
- }
- }
- glEnd();
-
- /* draw front sides of teeth */
- glBegin(GL_QUADS);
- da = 2.0 * M_PI / teeth / 4.0;
- for (i = 0; i < teeth; i++) {
- angle = i * 2.0 * M_PI / teeth;
-
- glVertex3f(r1 * cos(angle), r1 * sin(angle), width * 0.5);
- glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), width * 0.5);
- glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da),
- width * 0.5);
- glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da),
- width * 0.5);
- }
- glEnd();
-
- glNormal3f(0.0, 0.0, -1.0);
-
- /* draw back face */
- glBegin(GL_QUAD_STRIP);
- for (i = 0; i <= teeth; i++) {
- angle = i * 2.0 * M_PI / teeth;
- glVertex3f(r1 * cos(angle), r1 * sin(angle), -width * 0.5);
- glVertex3f(r0 * cos(angle), r0 * sin(angle), -width * 0.5);
- if (i < teeth) {
- glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da),
- -width * 0.5);
- glVertex3f(r0 * cos(angle), r0 * sin(angle), -width * 0.5);
- }
- }
- glEnd();
-
- /* draw back sides of teeth */
- glBegin(GL_QUADS);
- da = 2.0 * M_PI / teeth / 4.0;
- for (i = 0; i < teeth; i++) {
- angle = i * 2.0 * M_PI / teeth;
-
- glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da),
- -width * 0.5);
- glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da),
- -width * 0.5);
- glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), -width * 0.5);
- glVertex3f(r1 * cos(angle), r1 * sin(angle), -width * 0.5);
- }
- glEnd();
-
- /* draw outward faces of teeth */
- glBegin(GL_QUAD_STRIP);
- for (i = 0; i < teeth; i++) {
- angle = i * 2.0 * M_PI / teeth;
-
- glVertex3f(r1 * cos(angle), r1 * sin(angle), width * 0.5);
- glVertex3f(r1 * cos(angle), r1 * sin(angle), -width * 0.5);
- u = r2 * cos(angle + da) - r1 * cos(angle);
- v = r2 * sin(angle + da) - r1 * sin(angle);
- len = sqrt(u * u + v * v);
- u /= len;
- v /= len;
- glNormal3f(v, -u, 0.0);
- glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), width * 0.5);
- glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), -width * 0.5);
- glNormal3f(cos(angle), sin(angle), 0.0);
- glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da),
- width * 0.5);
- glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da),
- -width * 0.5);
- u = r1 * cos(angle + 3 * da) - r2 * cos(angle + 2 * da);
- v = r1 * sin(angle + 3 * da) - r2 * sin(angle + 2 * da);
- glNormal3f(v, -u, 0.0);
- glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da),
- width * 0.5);
- glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da),
- -width * 0.5);
- glNormal3f(cos(angle), sin(angle), 0.0);
- }
-
- glVertex3f(r1 * cos(0), r1 * sin(0), width * 0.5);
- glVertex3f(r1 * cos(0), r1 * sin(0), -width * 0.5);
-
- glEnd();
-
- glShadeModel(GL_SMOOTH);
-
- /* draw inside radius cylinder */
- glBegin(GL_QUAD_STRIP);
- for (i = 0; i <= teeth; i++) {
- angle = i * 2.0 * M_PI / teeth;
- glNormal3f(-cos(angle), -sin(angle), 0.0);
- glVertex3f(r0 * cos(angle), r0 * sin(angle), -width * 0.5);
- glVertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5);
- }
- glEnd();
-}
-
-
-static void
-draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
- glPushMatrix();
- glRotatef(view_rotx, 1.0, 0.0, 0.0);
- glRotatef(view_roty, 0.0, 1.0, 0.0);
- glRotatef(view_rotz, 0.0, 0.0, 1.0);
-
- glPushMatrix();
- glTranslatef(-3.0, -2.0, 0.0);
- glRotatef(angle, 0.0, 0.0, 1.0);
- glCallList(gear1);
- glPopMatrix();
-
- glPushMatrix();
- glTranslatef(3.1, -2.0, 0.0);
- glRotatef(-2.0 * angle - 9.0, 0.0, 0.0, 1.0);
- glCallList(gear2);
- glPopMatrix();
-
- glPushMatrix();
- glTranslatef(-3.1, 4.2, 0.0);
- glRotatef(-2.0 * angle - 25.0, 0.0, 0.0, 1.0);
- glCallList(gear3);
- glPopMatrix();
-
- glPopMatrix();
-}
-
-
-/* new window size or exposure */
-static void
-reshape(int width, int height)
-{
- GLfloat ar = (GLfloat) width / (GLfloat) height;
-
- glViewport(0, 0, (GLint) width, (GLint) height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glFrustum(-ar, ar, -1, 1, 5.0, 60.0);
-
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef(0.0, 0.0, -40.0);
-}
-
-
-
-static void
-init(void)
-{
- static GLfloat pos[4] = { 5.0, 5.0, 10.0, 0.0 };
- static GLfloat red[4] = { 0.8, 0.1, 0.0, 1.0 };
- static GLfloat green[4] = { 0.0, 0.8, 0.2, 1.0 };
- static GLfloat blue[4] = { 0.2, 0.2, 1.0, 1.0 };
-
- glLightfv(GL_LIGHT0, GL_POSITION, pos);
- glEnable(GL_CULL_FACE);
- glEnable(GL_LIGHTING);
- glEnable(GL_LIGHT0);
- glEnable(GL_DEPTH_TEST);
-
- /* make the gears */
- gear1 = glGenLists(1);
- glNewList(gear1, GL_COMPILE);
- glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, red);
- gear(1.0, 4.0, 1.0, 20, 0.7);
- glEndList();
-
- gear2 = glGenLists(1);
- glNewList(gear2, GL_COMPILE);
- glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, green);
- gear(0.5, 2.0, 2.0, 10, 0.7);
- glEndList();
-
- gear3 = glGenLists(1);
- glNewList(gear3, GL_COMPILE);
- glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, blue);
- gear(1.3, 2.0, 0.5, 10, 0.7);
- glEndList();
-
- glEnable(GL_NORMALIZE);
-
- glClearColor(0.2, 0.2, 0.2, 0.0);
-}
-
-
-struct egl_manager {
- EGLNativeDisplayType xdpy;
- EGLNativeWindowType xwin;
- EGLNativePixmapType xpix;
-
- EGLDisplay dpy;
- EGLConfig conf;
- EGLContext ctx;
-
- EGLSurface win;
- EGLSurface pix;
- EGLSurface pbuf;
-
- EGLBoolean verbose;
- EGLint major, minor;
-};
-
-static struct egl_manager *
-egl_manager_new(EGLNativeDisplayType xdpy, const EGLint *attrib_list,
- EGLBoolean verbose)
-{
- struct egl_manager *eman;
- const char *ver;
- EGLint num_conf;
-
- eman = calloc(1, sizeof(*eman));
- if (!eman)
- return NULL;
-
- eman->verbose = verbose;
- eman->xdpy = xdpy;
-
- eman->dpy = eglGetDisplay(eman->xdpy);
- if (eman->dpy == EGL_NO_DISPLAY) {
- printf("eglGetDisplay() failed\n");
- free(eman);
- return NULL;
- }
-
- if (!eglInitialize(eman->dpy, &eman->major, &eman->minor)) {
- printf("eglInitialize() failed\n");
- free(eman);
- return NULL;
- }
-
- ver = eglQueryString(eman->dpy, EGL_VERSION);
- printf("EGL_VERSION = %s\n", ver);
-
- if (!eglChooseConfig(eman->dpy, attrib_list, &eman->conf, 1, &num_conf) ||
- !num_conf) {
- printf("eglChooseConfig() failed\n");
- eglTerminate(eman->dpy);
- free(eman);
- return NULL;
- }
-
- eman->ctx = eglCreateContext(eman->dpy, eman->conf, EGL_NO_CONTEXT, NULL);
- if (eman->ctx == EGL_NO_CONTEXT) {
- printf("eglCreateContext() failed\n");
- eglTerminate(eman->dpy);
- free(eman);
- return NULL;
- }
-
- return eman;
-}
-
-static EGLBoolean
-egl_manager_create_window(struct egl_manager *eman, const char *name,
- EGLint w, EGLint h, EGLBoolean need_surface,
- EGLBoolean fullscreen, const EGLint *attrib_list)
-{
- XVisualInfo vinfo_template, *vinfo = NULL;
- EGLint val, num_vinfo;
- Window root;
- XSetWindowAttributes attrs;
- unsigned long mask;
- EGLint x = 0, y = 0;
-
- if (!eglGetConfigAttrib(eman->dpy, eman->conf,
- EGL_NATIVE_VISUAL_ID, &val)) {
- printf("eglGetConfigAttrib() failed\n");
- return EGL_FALSE;
- }
- if (val) {
- vinfo_template.visualid = (VisualID) val;
- vinfo = XGetVisualInfo(eman->xdpy, VisualIDMask, &vinfo_template, &num_vinfo);
- }
- /* try harder if window surface is not needed */
- if (!vinfo && !need_surface &&
- eglGetConfigAttrib(eman->dpy, eman->conf, EGL_BUFFER_SIZE, &val)) {
- if (val == 32)
- val = 24;
- vinfo_template.depth = val;
- vinfo = XGetVisualInfo(eman->xdpy, VisualDepthMask, &vinfo_template, &num_vinfo);
- }
-
- if (!vinfo) {
- printf("XGetVisualInfo() failed\n");
- return EGL_FALSE;
- }
-
- root = DefaultRootWindow(eman->xdpy);
- if (fullscreen) {
- x = y = 0;
- w = DisplayWidth(eman->xdpy, DefaultScreen(eman->xdpy));
- h = DisplayHeight(eman->xdpy, DefaultScreen(eman->xdpy));
- }
-
- /* window attributes */
- attrs.background_pixel = 0;
- attrs.border_pixel = 0;
- attrs.colormap = XCreateColormap(eman->xdpy, root, vinfo->visual, AllocNone);
- attrs.event_mask = StructureNotifyMask | ExposureMask | KeyPressMask;
- attrs.override_redirect = fullscreen;
- mask = CWBackPixel | CWBorderPixel | CWColormap | CWEventMask | CWOverrideRedirect;
-
- eman->xwin = XCreateWindow(eman->xdpy, root, x, y, w, h,
- 0, vinfo->depth, InputOutput,
- vinfo->visual, mask, &attrs);
- XFree(vinfo);
-
- /* set hints and properties */
- {
- XSizeHints sizehints;
- sizehints.x = x;
- sizehints.y = y;
- sizehints.width = w;
- sizehints.height = h;
- sizehints.flags = USSize | USPosition;
- XSetNormalHints(eman->xdpy, eman->xwin, &sizehints);
- XSetStandardProperties(eman->xdpy, eman->xwin, name, name,
- None, (char **)NULL, 0, &sizehints);
- }
-
- if (need_surface) {
- eman->win = eglCreateWindowSurface(eman->dpy, eman->conf,
- eman->xwin, attrib_list);
- if (eman->win == EGL_NO_SURFACE) {
- printf("eglCreateWindowSurface() failed\n");
- XDestroyWindow(eman->xdpy, eman->xwin);
- eman->xwin = None;
- return EGL_FALSE;
- }
- }
-
- XMapWindow(eman->xdpy, eman->xwin);
-
- return EGL_TRUE;
-}
-
-static EGLBoolean
-egl_manager_create_pixmap(struct egl_manager *eman, EGLNativeWindowType xwin,
- EGLBoolean need_surface, const EGLint *attrib_list)
-{
- XWindowAttributes attrs;
-
- if (!XGetWindowAttributes(eman->xdpy, xwin, &attrs)) {
- printf("XGetWindowAttributes() failed\n");
- return EGL_FALSE;
- }
-
- eman->xpix = XCreatePixmap(eman->xdpy, xwin,
- attrs.width, attrs.height, attrs.depth);
-
- if (need_surface) {
- eman->pix = eglCreatePixmapSurface(eman->dpy, eman->conf,
- eman->xpix, attrib_list);
- if (eman->pix == EGL_NO_SURFACE) {
- printf("eglCreatePixmapSurface() failed\n");
- XFreePixmap(eman->xdpy, eman->xpix);
- eman->xpix = None;
- return EGL_FALSE;
- }
- }
-
- return EGL_TRUE;
-}
-
-static EGLBoolean
-egl_manager_create_pbuffer(struct egl_manager *eman, const EGLint *attrib_list)
-{
- eman->pbuf = eglCreatePbufferSurface(eman->dpy, eman->conf, attrib_list);
- if (eman->pbuf == EGL_NO_SURFACE) {
- printf("eglCreatePbufferSurface() failed\n");
- return EGL_FALSE;
- }
-
- return EGL_TRUE;
-}
-
-static void
-egl_manager_destroy(struct egl_manager *eman)
-{
- eglMakeCurrent(eman->dpy, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
- eglTerminate(eman->dpy);
-
- if (eman->xwin != None)
- XDestroyWindow(eman->xdpy, eman->xwin);
- if (eman->xpix != None)
- XFreePixmap(eman->xdpy, eman->xpix);
-
- free(eman);
-}
-
-static void
-event_loop(struct egl_manager *eman, EGLint surface_type, EGLint w, EGLint h)
-{
- GC gc = XCreateGC(eman->xdpy, eman->xwin, 0, NULL);
- EGLint orig_w = w, orig_h = h;
-
- if (surface_type == EGL_PBUFFER_BIT)
- printf("there will be no screen update if "
- "eglCopyBuffers() is not implemented\n");
-
- while (1) {
- while (XPending(eman->xdpy) > 0) {
- XEvent event;
- XNextEvent(eman->xdpy, &event);
- switch (event.type) {
- case Expose:
- /* we'll redraw below */
- break;
- case ConfigureNotify:
- w = event.xconfigure.width;
- h = event.xconfigure.height;
- if (surface_type == EGL_WINDOW_BIT)
- reshape(w, h);
- break;
- case KeyPress:
- {
- char buffer[10];
- int r, code;
- code = XLookupKeysym(&event.xkey, 0);
- if (code == XK_Left) {
- view_roty += 5.0;
- }
- else if (code == XK_Right) {
- view_roty -= 5.0;
- }
- else if (code == XK_Up) {
- view_rotx += 5.0;
- }
- else if (code == XK_Down) {
- view_rotx -= 5.0;
- }
- else {
- r = XLookupString(&event.xkey, buffer, sizeof(buffer),
- NULL, NULL);
- if (buffer[0] == 27) {
- /* escape */
- return;
- }
- }
- }
- }
- }
-
- {
- static int frames = 0;
- static double tRot0 = -1.0, tRate0 = -1.0;
- double dt, t = current_time();
- int x, y;
- if (tRot0 < 0.0)
- tRot0 = t;
- dt = t - tRot0;
- tRot0 = t;
-
- /* advance rotation for next frame */
- angle += 70.0 * dt; /* 70 degrees per second */
- if (angle > 3600.0)
- angle -= 3600.0;
-
- draw();
- switch (surface_type) {
- case EGL_WINDOW_BIT:
- eglSwapBuffers(eman->dpy, eman->win);
- break;
- case EGL_PBUFFER_BIT:
- eglWaitClient();
- if (!eglCopyBuffers(eman->xdpy, eman->pbuf, eman->xpix))
- break;
- /* fall through */
- case EGL_PIXMAP_BIT:
- eglWaitClient();
- for (x = 0; x < w; x += orig_w) {
- for (y = 0; y < h; y += orig_h) {
- XCopyArea(eman->xdpy, eman->xpix, eman->xwin, gc,
- 0, 0, orig_w, orig_h, x, y);
- }
- }
- break;
- }
-
- frames++;
-
- if (tRate0 < 0.0)
- tRate0 = t;
- if (t - tRate0 >= 5.0) {
- GLfloat seconds = t - tRate0;
- GLfloat fps = frames / seconds;
- printf("%d frames in %3.1f seconds = %6.3f FPS\n", frames, seconds,
- fps);
- tRate0 = t;
- frames = 0;
- }
- }
- }
-
- XFreeGC(eman->xdpy, gc);
-}
-
-
-static void
-usage(void)
-{
- printf("Usage:\n");
- printf(" -display <displayname> set the display to run on\n");
- printf(" -fullscreen run in fullscreen mode\n");
- printf(" -info display OpenGL renderer info\n");
- printf(" -pixmap use pixmap surface\n");
- printf(" -pbuffer use pbuffer surface\n");
-}
-
-
-int
-main(int argc, char *argv[])
-{
- const int winWidth = 300, winHeight = 300;
- Display *x_dpy;
- char *dpyName = NULL;
- struct egl_manager *eman;
- EGLint attribs[] = {
- EGL_SURFACE_TYPE, 0, /* filled later */
- EGL_RED_SIZE, 1,
- EGL_GREEN_SIZE, 1,
- EGL_BLUE_SIZE, 1,
- EGL_DEPTH_SIZE, 1,
- EGL_RENDERABLE_TYPE, EGL_OPENGL_BIT,
- EGL_NONE
- };
- char win_title[] = "xeglgears (window/pixmap/pbuffer)";
- EGLint surface_type = EGL_WINDOW_BIT;
- GLboolean printInfo = GL_FALSE;
- GLboolean fullscreen = GL_FALSE;
- EGLBoolean ret;
- int i;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-display") == 0) {
- dpyName = argv[i+1];
- i++;
- }
- else if (strcmp(argv[i], "-info") == 0) {
- printInfo = GL_TRUE;
- }
- else if (strcmp(argv[i], "-fullscreen") == 0) {
- fullscreen = GL_TRUE;
- }
- else if (strcmp(argv[i], "-pixmap") == 0) {
- surface_type = EGL_PIXMAP_BIT;
- }
- else if (strcmp(argv[i], "-pbuffer") == 0) {
- surface_type = EGL_PBUFFER_BIT;
- }
- else {
- usage();
- return -1;
- }
- }
-
- /* set surface type */
- attribs[1] = surface_type;
-
- x_dpy = XOpenDisplay(dpyName);
- if (!x_dpy) {
- printf("Error: couldn't open display %s\n",
- dpyName ? dpyName : getenv("DISPLAY"));
- return -1;
- }
-
- eglBindAPI(EGL_OPENGL_API);
-
- eman = egl_manager_new(x_dpy, attribs, printInfo);
- if (!eman) {
- XCloseDisplay(x_dpy);
- return -1;
- }
-
- snprintf(win_title, sizeof(win_title), "xeglgears (%s)",
- (surface_type == EGL_WINDOW_BIT) ? "window" :
- (surface_type == EGL_PIXMAP_BIT) ? "pixmap" : "pbuffer");
-
- /* create surface(s) */
- switch (surface_type) {
- case EGL_WINDOW_BIT:
- ret = egl_manager_create_window(eman, win_title, winWidth, winHeight,
- EGL_TRUE, fullscreen, NULL);
- if (ret)
- ret = eglMakeCurrent(eman->dpy, eman->win, eman->win, eman->ctx);
- break;
- case EGL_PIXMAP_BIT:
- ret = (egl_manager_create_window(eman, win_title, winWidth, winHeight,
- EGL_FALSE, fullscreen, NULL) &&
- egl_manager_create_pixmap(eman, eman->xwin,
- EGL_TRUE, NULL));
- if (ret)
- ret = eglMakeCurrent(eman->dpy, eman->pix, eman->pix, eman->ctx);
- break;
- case EGL_PBUFFER_BIT:
- {
- EGLint pbuf_attribs[] = {
- EGL_WIDTH, winWidth,
- EGL_HEIGHT, winHeight,
- EGL_NONE
- };
- ret = (egl_manager_create_window(eman, win_title, winWidth, winHeight,
- EGL_FALSE, fullscreen, NULL) &&
- egl_manager_create_pixmap(eman, eman->xwin,
- EGL_FALSE, NULL) &&
- egl_manager_create_pbuffer(eman, pbuf_attribs));
- if (ret)
- ret = eglMakeCurrent(eman->dpy, eman->pbuf, eman->pbuf, eman->ctx);
- }
- break;
- default:
- ret = EGL_FALSE;
- break;
- }
-
- if (!ret) {
- egl_manager_destroy(eman);
- XCloseDisplay(x_dpy);
- return -1;
- }
-
- if (printInfo) {
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- printf("GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- printf("GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- }
-
- init();
-
- /* Set initial projection/viewing transformation.
- * We can't be sure we'll get a ConfigureNotify event when the window
- * first appears.
- */
- reshape(winWidth, winHeight);
-
- event_loop(eman, surface_type, winWidth, winHeight);
-
- glDeleteLists(gear1, 1);
- glDeleteLists(gear2, 1);
- glDeleteLists(gear3, 1);
-
- egl_manager_destroy(eman);
- XCloseDisplay(x_dpy);
-
- return 0;
-}
diff --git a/progs/egl/xeglthreads.c b/progs/egl/xeglthreads.c
deleted file mode 100644
index 508dbc0943..0000000000
--- a/progs/egl/xeglthreads.c
+++ /dev/null
@@ -1,773 +0,0 @@
-/*
- * Copyright (C) 2000 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
- * BRIAN PAUL 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.
- *
- * Ported to EGL by Chia-I Wu <olvaffe@gmail.com>
- */
-
-
-/*
- * This program tests EGL thread safety.
- * Command line options:
- * -p Open a display connection for each thread
- * -l Enable application-side locking
- * -n <num threads> Number of threads to create (default is 2)
- * -display <display name> Specify X display (default is $DISPLAY)
- * -t Use texture mapping
- *
- * Brian Paul 20 July 2000
- */
-
-
-/*
- * Notes:
- * - Each thread gets its own EGL context.
- *
- * - The EGL contexts share texture objects.
- *
- * - When 't' is pressed to update the texture image, the window/thread which
- * has input focus is signalled to change the texture. The other threads
- * should see the updated texture the next time they call glBindTexture.
- */
-
-
-#if defined(PTHREADS) /* defined by Mesa on Linux and other platforms */
-
-#include <assert.h>
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-#include <GL/gl.h>
-#include <EGL/egl.h>
-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <pthread.h>
-
-
-/*
- * Each window/thread/context:
- */
-struct winthread {
- Display *Dpy;
- int Index;
- pthread_t Thread;
- Window Win;
- EGLDisplay Display;
- EGLContext Context;
- EGLSurface Surface;
- float Angle;
- int WinWidth, WinHeight;
- GLboolean NewSize;
- GLboolean Initialized;
- GLboolean MakeNewTexture;
-};
-
-
-#define MAX_WINTHREADS 100
-static struct winthread WinThreads[MAX_WINTHREADS];
-static int NumWinThreads = 0;
-static volatile GLboolean ExitFlag = GL_FALSE;
-
-static GLboolean MultiDisplays = 0;
-static GLboolean Locking = 0;
-static GLboolean Texture = GL_FALSE;
-static GLuint TexObj = 12;
-static GLboolean Animate = GL_TRUE;
-
-static pthread_mutex_t Mutex;
-static pthread_cond_t CondVar;
-static pthread_mutex_t CondMutex;
-
-
-static void
-Error(const char *msg)
-{
- fprintf(stderr, "Error: %s\n", msg);
- exit(1);
-}
-
-
-static void
-signal_redraw(void)
-{
- pthread_mutex_lock(&CondMutex);
- pthread_cond_broadcast(&CondVar);
- pthread_mutex_unlock(&CondMutex);
-}
-
-
-static void
-MakeNewTexture(struct winthread *wt)
-{
-#define TEX_SIZE 128
- static float step = 0.0;
- GLfloat image[TEX_SIZE][TEX_SIZE][4];
- GLint width;
- int i, j;
-
- for (j = 0; j < TEX_SIZE; j++) {
- for (i = 0; i < TEX_SIZE; i++) {
- float dt = 5.0 * (j - 0.5 * TEX_SIZE) / TEX_SIZE;
- float ds = 5.0 * (i - 0.5 * TEX_SIZE) / TEX_SIZE;
- float r = dt * dt + ds * ds + step;
- image[j][i][0] =
- image[j][i][1] =
- image[j][i][2] = 0.75 + 0.25 * cos(r);
- image[j][i][3] = 1.0;
- }
- }
-
- step += 0.5;
-
- glBindTexture(GL_TEXTURE_2D, TexObj);
-
- glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_WIDTH, &width);
- if (width) {
- assert(width == TEX_SIZE);
- /* sub-tex replace */
- glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, TEX_SIZE, TEX_SIZE,
- GL_RGBA, GL_FLOAT, image);
- }
- else {
- /* create new */
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
-
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, TEX_SIZE, TEX_SIZE, 0,
- GL_RGBA, GL_FLOAT, image);
- }
-}
-
-
-
-/* draw a colored cube */
-static void
-draw_object(void)
-{
- glPushMatrix();
- glScalef(0.75, 0.75, 0.75);
-
- glColor3f(1, 0, 0);
-
- if (Texture) {
- glBindTexture(GL_TEXTURE_2D, TexObj);
- glEnable(GL_TEXTURE_2D);
- }
- else {
- glDisable(GL_TEXTURE_2D);
- }
-
- glBegin(GL_QUADS);
-
- /* -X */
- glColor3f(0, 1, 1);
- glTexCoord2f(0, 0); glVertex3f(-1, -1, -1);
- glTexCoord2f(1, 0); glVertex3f(-1, 1, -1);
- glTexCoord2f(1, 1); glVertex3f(-1, 1, 1);
- glTexCoord2f(0, 1); glVertex3f(-1, -1, 1);
-
- /* +X */
- glColor3f(1, 0, 0);
- glTexCoord2f(0, 0); glVertex3f(1, -1, -1);
- glTexCoord2f(1, 0); glVertex3f(1, 1, -1);
- glTexCoord2f(1, 1); glVertex3f(1, 1, 1);
- glTexCoord2f(0, 1); glVertex3f(1, -1, 1);
-
- /* -Y */
- glColor3f(1, 0, 1);
- glTexCoord2f(0, 0); glVertex3f(-1, -1, -1);
- glTexCoord2f(1, 0); glVertex3f( 1, -1, -1);
- glTexCoord2f(1, 1); glVertex3f( 1, -1, 1);
- glTexCoord2f(0, 1); glVertex3f(-1, -1, 1);
-
- /* +Y */
- glColor3f(0, 1, 0);
- glTexCoord2f(0, 0); glVertex3f(-1, 1, -1);
- glTexCoord2f(1, 0); glVertex3f( 1, 1, -1);
- glTexCoord2f(1, 1); glVertex3f( 1, 1, 1);
- glTexCoord2f(0, 1); glVertex3f(-1, 1, 1);
-
- /* -Z */
- glColor3f(1, 1, 0);
- glTexCoord2f(0, 0); glVertex3f(-1, -1, -1);
- glTexCoord2f(1, 0); glVertex3f( 1, -1, -1);
- glTexCoord2f(1, 1); glVertex3f( 1, 1, -1);
- glTexCoord2f(0, 1); glVertex3f(-1, 1, -1);
-
- /* +Y */
- glColor3f(0, 0, 1);
- glTexCoord2f(0, 0); glVertex3f(-1, -1, 1);
- glTexCoord2f(1, 0); glVertex3f( 1, -1, 1);
- glTexCoord2f(1, 1); glVertex3f( 1, 1, 1);
- glTexCoord2f(0, 1); glVertex3f(-1, 1, 1);
-
- glEnd();
-
- glPopMatrix();
-}
-
-
-/* signal resize of given window */
-static void
-resize(struct winthread *wt, int w, int h)
-{
- wt->NewSize = GL_TRUE;
- wt->WinWidth = w;
- wt->WinHeight = h;
- if (!Animate)
- signal_redraw();
-}
-
-
-/*
- * We have an instance of this for each thread.
- */
-static void
-draw_loop(struct winthread *wt)
-{
- while (!ExitFlag) {
-
- if (Locking)
- pthread_mutex_lock(&Mutex);
-
- if (!wt->Initialized) {
- eglMakeCurrent(wt->Display, wt->Surface, wt->Surface, wt->Context);
- printf("xeglthreads: %d: GL_RENDERER = %s\n", wt->Index,
- (char *) glGetString(GL_RENDERER));
- if (Texture /*&& wt->Index == 0*/) {
- MakeNewTexture(wt);
- }
- wt->Initialized = GL_TRUE;
- }
-
- if (Locking)
- pthread_mutex_unlock(&Mutex);
-
- eglBindAPI(EGL_OPENGL_API);
- if (eglGetCurrentContext() != wt->Context) {
- printf("xeglthreads: current context %p != %p\n",
- eglGetCurrentContext(), wt->Context);
- }
-
- glEnable(GL_DEPTH_TEST);
-
- if (wt->NewSize) {
- GLfloat w = (float) wt->WinWidth / (float) wt->WinHeight;
- glViewport(0, 0, wt->WinWidth, wt->WinHeight);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glFrustum(-w, w, -1.0, 1.0, 1.5, 10);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef(0, 0, -2.5);
- wt->NewSize = GL_FALSE;
- }
-
- if (wt->MakeNewTexture) {
- MakeNewTexture(wt);
- wt->MakeNewTexture = GL_FALSE;
- }
-
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
- glPushMatrix();
- glRotatef(wt->Angle, 0, 1, 0);
- glRotatef(wt->Angle, 1, 0, 0);
- glScalef(0.7, 0.7, 0.7);
- draw_object();
- glPopMatrix();
-
- if (Locking)
- pthread_mutex_lock(&Mutex);
-
- eglSwapBuffers(wt->Display, wt->Surface);
-
- if (Locking)
- pthread_mutex_unlock(&Mutex);
-
- if (Animate) {
- usleep(5000);
- }
- else {
- /* wait for signal to draw */
- pthread_mutex_lock(&CondMutex);
- pthread_cond_wait(&CondVar, &CondMutex);
- pthread_mutex_unlock(&CondMutex);
- }
- wt->Angle += 1.0;
- }
- eglMakeCurrent(wt->Display, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
-}
-
-
-static void
-keypress(XEvent *event, struct winthread *wt)
-{
- char buf[100];
- KeySym keySym;
- XComposeStatus stat;
-
- XLookupString(&event->xkey, buf, sizeof(buf), &keySym, &stat);
-
- switch (keySym) {
- case XK_Escape:
- /* tell all threads to exit */
- if (!Animate) {
- signal_redraw();
- }
- ExitFlag = GL_TRUE;
- /*printf("exit draw_loop %d\n", wt->Index);*/
- return;
- case XK_t:
- case XK_T:
- if (Texture) {
- wt->MakeNewTexture = GL_TRUE;
- if (!Animate)
- signal_redraw();
- }
- break;
- case XK_a:
- case XK_A:
- Animate = !Animate;
- if (Animate) /* yes, prev Animate state! */
- signal_redraw();
- break;
- case XK_s:
- case XK_S:
- if (!Animate)
- signal_redraw();
- break;
- default:
- ; /* nop */
- }
-}
-
-
-/*
- * The main process thread runs this loop.
- * Single display connection for all threads.
- */
-static void
-event_loop(Display *dpy)
-{
- XEvent event;
- int i;
-
- assert(!MultiDisplays);
-
- while (!ExitFlag) {
-
- if (Locking) {
- while (1) {
- int k;
- pthread_mutex_lock(&Mutex);
- k = XPending(dpy);
- if (k) {
- XNextEvent(dpy, &event);
- pthread_mutex_unlock(&Mutex);
- break;
- }
- pthread_mutex_unlock(&Mutex);
- usleep(5000);
- }
- }
- else {
- XNextEvent(dpy, &event);
- }
-
- switch (event.type) {
- case ConfigureNotify:
- /* Find winthread for this event's window */
- for (i = 0; i < NumWinThreads; i++) {
- struct winthread *wt = &WinThreads[i];
- if (event.xconfigure.window == wt->Win) {
- resize(wt, event.xconfigure.width,
- event.xconfigure.height);
- break;
- }
- }
- break;
- case KeyPress:
- for (i = 0; i < NumWinThreads; i++) {
- struct winthread *wt = &WinThreads[i];
- if (event.xkey.window == wt->Win) {
- keypress(&event, wt);
- break;
- }
- }
- break;
- default:
- /*no-op*/ ;
- }
- }
-}
-
-
-/*
- * Separate display connection for each thread.
- */
-static void
-event_loop_multi(void)
-{
- XEvent event;
- int w = 0;
-
- assert(MultiDisplays);
-
- while (!ExitFlag) {
- struct winthread *wt = &WinThreads[w];
- if (XPending(wt->Dpy)) {
- XNextEvent(wt->Dpy, &event);
- switch (event.type) {
- case ConfigureNotify:
- resize(wt, event.xconfigure.width, event.xconfigure.height);
- break;
- case KeyPress:
- keypress(&event, wt);
- break;
- default:
- ; /* nop */
- }
- }
- w = (w + 1) % NumWinThreads;
- usleep(5000);
- }
-}
-
-
-
-/*
- * we'll call this once for each thread, before the threads are created.
- */
-static void
-create_window(struct winthread *wt, EGLContext shareCtx)
-{
- Window win;
- EGLContext ctx;
- EGLSurface surf;
- EGLint attribs[] = { EGL_RED_SIZE, 1,
- EGL_GREEN_SIZE, 1,
- EGL_BLUE_SIZE, 1,
- EGL_DEPTH_SIZE, 1,
- EGL_NONE };
- EGLConfig config;
- EGLint num_configs;
- EGLint vid;
- int scrnum;
- XSetWindowAttributes attr;
- unsigned long mask;
- Window root;
- XVisualInfo *visinfo, visTemplate;
- int num_visuals;
- int width = 160, height = 160;
- int xpos = (wt->Index % 8) * (width + 10);
- int ypos = (wt->Index / 8) * (width + 20);
-
- scrnum = DefaultScreen(wt->Dpy);
- root = RootWindow(wt->Dpy, scrnum);
-
- if (!eglChooseConfig(wt->Display, attribs, &config, 1, &num_configs)) {
- Error("Unable to choose an EGL config");
- }
-
- assert(config);
- assert(num_configs > 0);
-
- if (!eglGetConfigAttrib(wt->Display, config, EGL_NATIVE_VISUAL_ID, &vid)) {
- Error("Unable to get visual id of EGL config\n");
- }
-
- visTemplate.visualid = vid;
- visinfo = XGetVisualInfo(wt->Dpy, VisualIDMask,
- &visTemplate, &num_visuals);
- if (!visinfo) {
- Error("Unable to find RGB, Z, double-buffered visual");
- }
-
- /* window attributes */
- attr.background_pixel = 0;
- attr.border_pixel = 0;
- attr.colormap = XCreateColormap(wt->Dpy, root, visinfo->visual, AllocNone);
- attr.event_mask = StructureNotifyMask | ExposureMask | KeyPressMask;
- mask = CWBackPixel | CWBorderPixel | CWColormap | CWEventMask;
-
- win = XCreateWindow(wt->Dpy, root, xpos, ypos, width, height,
- 0, visinfo->depth, InputOutput,
- visinfo->visual, mask, &attr);
- if (!win) {
- Error("Couldn't create window");
- }
-
- XFree(visinfo);
-
- {
- XSizeHints sizehints;
- sizehints.x = xpos;
- sizehints.y = ypos;
- sizehints.width = width;
- sizehints.height = height;
- sizehints.flags = USSize | USPosition;
- XSetNormalHints(wt->Dpy, win, &sizehints);
- XSetStandardProperties(wt->Dpy, win, "xeglthreads", "xeglthreads",
- None, (char **)NULL, 0, &sizehints);
- }
-
- eglBindAPI(EGL_OPENGL_API);
-
- ctx = eglCreateContext(wt->Display, config, shareCtx, NULL);
- if (!ctx) {
- Error("Couldn't create EGL context");
- }
- surf = eglCreateWindowSurface(wt->Display, config, win, NULL);
- if (!surf) {
- Error("Couldn't create EGL surface");
- }
-
- XMapWindow(wt->Dpy, win);
- XSync(wt->Dpy, 0);
-
- /* save the info for this window/context */
- wt->Win = win;
- wt->Context = ctx;
- wt->Surface = surf;
- wt->Angle = 0.0;
- wt->WinWidth = width;
- wt->WinHeight = height;
- wt->NewSize = GL_TRUE;
-}
-
-
-/*
- * Called by pthread_create()
- */
-static void *
-thread_function(void *p)
-{
- struct winthread *wt = (struct winthread *) p;
- draw_loop(wt);
- return NULL;
-}
-
-
-/*
- * called before exit to wait for all threads to finish
- */
-static void
-clean_up(void)
-{
- int i;
-
- /* wait for threads to finish */
- for (i = 0; i < NumWinThreads; i++) {
- pthread_join(WinThreads[i].Thread, NULL);
- }
-
- for (i = 0; i < NumWinThreads; i++) {
- eglDestroyContext(WinThreads[i].Display, WinThreads[i].Context);
- XDestroyWindow(WinThreads[i].Dpy, WinThreads[i].Win);
- }
-}
-
-
-static void
-usage(void)
-{
- printf("xeglthreads: test of EGL/GL thread safety (any key = exit)\n");
- printf("Usage:\n");
- printf(" xeglthreads [options]\n");
- printf("Options:\n");
- printf(" -display DISPLAYNAME Specify display string\n");
- printf(" -n NUMTHREADS Number of threads to create\n");
- printf(" -p Use a separate display connection for each thread\n");
- printf(" -l Use application-side locking\n");
- printf(" -t Enable texturing\n");
- printf("Keyboard:\n");
- printf(" Esc Exit\n");
- printf(" t Change texture image (requires -t option)\n");
- printf(" a Toggle animation\n");
- printf(" s Step rotation (when not animating)\n");
-}
-
-
-int
-main(int argc, char *argv[])
-{
- char *displayName = NULL;
- int numThreads = 2;
- Display *dpy = NULL;
- EGLDisplay *egl_dpy = NULL;
- int i;
- Status threadStat;
-
- if (argc == 1) {
- usage();
- }
- else {
- int i;
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-display") == 0 && i + 1 < argc) {
- displayName = argv[i + 1];
- i++;
- }
- else if (strcmp(argv[i], "-p") == 0) {
- MultiDisplays = 1;
- }
- else if (strcmp(argv[i], "-l") == 0) {
- Locking = 1;
- }
- else if (strcmp(argv[i], "-t") == 0) {
- Texture = 1;
- }
- else if (strcmp(argv[i], "-n") == 0 && i + 1 < argc) {
- numThreads = atoi(argv[i + 1]);
- if (numThreads < 1)
- numThreads = 1;
- else if (numThreads > MAX_WINTHREADS)
- numThreads = MAX_WINTHREADS;
- i++;
- }
- else {
- usage();
- exit(1);
- }
- }
- }
-
- if (Locking)
- printf("xeglthreads: Using explicit locks around Xlib calls.\n");
- else
- printf("xeglthreads: No explict locking.\n");
-
- if (MultiDisplays)
- printf("xeglthreads: Per-thread display connections.\n");
- else
- printf("xeglthreads: Single display connection.\n");
-
- /*
- * VERY IMPORTANT: call XInitThreads() before any other Xlib functions.
- */
- if (!MultiDisplays) {
- if (!Locking) {
- threadStat = XInitThreads();
- if (threadStat) {
- printf("XInitThreads() returned %d (success)\n",
- (int) threadStat);
- }
- else {
- printf("XInitThreads() returned 0 "
- "(failure- this program may fail)\n");
- }
- }
-
- dpy = XOpenDisplay(displayName);
- if (!dpy) {
- fprintf(stderr, "Unable to open display %s\n",
- XDisplayName(displayName));
- return -1;
- }
- egl_dpy = eglGetDisplay(dpy);
- if (!egl_dpy) {
- fprintf(stderr, "Unable to get EGL display\n");
- XCloseDisplay(dpy);
- return -1;
- }
- if (!eglInitialize(egl_dpy, NULL, NULL)) {
- fprintf(stderr, "Unable to initialize EGL display\n");
- return -1;
- }
- }
-
- pthread_mutex_init(&Mutex, NULL);
- pthread_mutex_init(&CondMutex, NULL);
- pthread_cond_init(&CondVar, NULL);
-
- printf("xeglthreads: creating windows\n");
-
- NumWinThreads = numThreads;
-
- /* Create the EGL windows and contexts */
- for (i = 0; i < numThreads; i++) {
- EGLContext share;
-
- if (MultiDisplays) {
- WinThreads[i].Dpy = XOpenDisplay(displayName);
- assert(WinThreads[i].Dpy);
- WinThreads[i].Display = eglGetDisplay(WinThreads[i].Dpy);
- assert(eglInitialize(WinThreads[i].Display, NULL, NULL));
- }
- else {
- WinThreads[i].Dpy = dpy;
- WinThreads[i].Display = egl_dpy;
- }
- WinThreads[i].Index = i;
- WinThreads[i].Initialized = GL_FALSE;
-
- share = (Texture && i > 0) ? WinThreads[0].Context : 0;
-
- create_window(&WinThreads[i], share);
- }
-
- printf("xeglthreads: creating threads\n");
-
- /* Create the threads */
- for (i = 0; i < numThreads; i++) {
- pthread_create(&WinThreads[i].Thread, NULL, thread_function,
- (void*) &WinThreads[i]);
- printf("xeglthreads: Created thread %p\n",
- (void *) WinThreads[i].Thread);
- }
-
- if (MultiDisplays)
- event_loop_multi();
- else
- event_loop(dpy);
-
- clean_up();
-
- if (MultiDisplays) {
- for (i = 0; i < numThreads; i++) {
- eglTerminate(WinThreads[i].Display);
- XCloseDisplay(WinThreads[i].Dpy);
- }
- }
- else {
- eglTerminate(egl_dpy);
- XCloseDisplay(dpy);
- }
-
- return 0;
-}
-
-
-#else /* PTHREADS */
-
-
-#include <stdio.h>
-
-int
-main(int argc, char *argv[])
-{
- printf("Sorry, this program wasn't compiled with PTHREADS defined.\n");
- return 0;
-}
-
-
-#endif /* PTHREADS */
diff --git a/progs/fp/.gitignore b/progs/fp/.gitignore
deleted file mode 100644
index aa51f76c9b..0000000000
--- a/progs/fp/.gitignore
+++ /dev/null
@@ -1,43 +0,0 @@
-point-position
-readtex.c
-readtex.h
-tri-abs
-tri-add
-tri-cmp
-tri-cos
-tri-depth
-tri-depth2
-tri-depthwrite
-tri-depthwrite2
-tri-dp3
-tri-dp4
-tri-dph
-tri-dst
-tri-ex2
-tri-flr
-tri-frc
-tri-kil
-tri-lg2
-tri-lit
-tri-lrp
-tri-mad
-tri-max
-tri-min
-tri-mov
-tri-mul
-tri-param
-tri-position
-tri-pow
-tri-rcp
-tri-rsq
-tri-scs
-tri-sge
-tri-sge2
-tri-sin
-tri-slt
-tri-sub
-tri-swz
-tri-swz2
-tri-tex
-tri-xpd
-fp-tri
diff --git a/progs/fp/Makefile b/progs/fp/Makefile
deleted file mode 100755
index 681928cf26..0000000000
--- a/progs/fp/Makefile
+++ /dev/null
@@ -1,98 +0,0 @@
-# progs/tests/Makefile
-
-
-# These programs aren't intended to be included with the normal distro.
-# They're not too interesting but they're good for testing.
-
-TOP = ../..
-include $(TOP)/configs/current
-
-
-LIBS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLEW_LIB) -l$(GLU_LIB) -l$(GL_LIB) $(APP_LIB_DEPS)
-
-SOURCES = \
- tri-tex.c \
- point-position.c \
- tri-depth.c \
- tri-depth2.c \
- tri-depthwrite.c \
- tri-depthwrite2.c \
- tri-param.c \
- fp-tri.c
-
-NOTDONE=\
- tri-txb.c \
- tri-txp.c \
- tri-depthwrite.c \
- tri-fogoption.c
-
-
-PROGS = $(SOURCES:%.c=%)
-
-INCLUDES = -I. -I$(TOP)/include -I../samples
-
-UTIL_FILES = readtex.h readtex.c
-
-
-##### RULES #####
-
-.SUFFIXES:
-.SUFFIXES: .c
-
-.c:
- $(APP_CC) $(INCLUDES) $(CFLAGS) $(LDFLAGS) $< $(LIBS) -o $@
-
-.c.o:
- $(APP_CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
-
-.S.o:
- $(APP_CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
-
-
-##### TARGETS #####
-
-default: $(UTIL_FILES) $(PROGS)
-
-clean:
- -rm -f $(PROGS)
- -rm -f *.o
- -rm -f getproclist.h
-
-
-# auto code generation
-getprocaddress: getprocaddress.c getproclist.h
-
-getproclist.h: $(TOP)/src/mesa/glapi/gl_API.xml getprocaddress.c getprocaddress.py
- python getprocaddress.py > getproclist.h
-
-
-texrect: texrect.o readtex.o
- $(CC) $(CFLAGS) $(LDFLAGS) texrect.o readtex.o $(LIBS) -o $@
-# $(APP_CC) texrect.o readtex.o $(LIBS) -o $@
-
-texrect.o: texrect.c readtex.h
- $(APP_CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
-
-invert: invert.o readtex.o
- $(CC) $(CFLAGS) $(LDFLAGS) invert.o readtex.o $(LIBS) -o $@
-# $(APP_CC) invert.o readtex.o $(LIBS) -o $@
-
-invert.o: invert.c readtex.h
- $(APP_CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
-
-readtex.o: readtex.c
- $(APP_CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
-
-
-readtex.h: $(TOP)/progs/util/readtex.h
- ln -s $(TOP)/progs/util/readtex.h .
-
-readtex.c: $(TOP)/progs/util/readtex.c
- ln -s $(TOP)/progs/util/readtex.c .
-
-
-
-
-# Emacs tags
-tags:
- etags `find . -name \*.[ch]` `find ../include`
diff --git a/progs/fp/SConscript b/progs/fp/SConscript
deleted file mode 100644
index 69614e1a9e..0000000000
--- a/progs/fp/SConscript
+++ /dev/null
@@ -1,29 +0,0 @@
-Import('env')
-
-if not env['GLUT']:
- Return()
-
-env = env.Clone()
-
-env.Prepend(CPPPATH = [
- '../util',
-])
-
-env.Prepend(LIBS = ['$GLUT_LIB'])
-
-progs = [
- 'fp-tri',
- 'tri-depth',
- 'tri-depth2',
- 'tri-depthwrite',
- 'tri-depthwrite2',
- 'tri-param',
- 'tri-tex',
- 'point-position',
-]
-
-for prog in progs:
- env.Program(
- target = prog,
- source = [prog + '.c'],
- )
diff --git a/progs/fp/abs.txt b/progs/fp/abs.txt
deleted file mode 100644
index 61ef952b05..0000000000
--- a/progs/fp/abs.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-!!ARBfp1.0
-TEMP R0;
-SUB R0, {0.5}.x, fragment.color;
-ABS result.color, R0;
-END
diff --git a/progs/fp/add-sat.txt b/progs/fp/add-sat.txt
deleted file mode 100644
index 2253efb085..0000000000
--- a/progs/fp/add-sat.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-!!ARBfp1.0
-TEMP R0;
-MOV R0, fragment.color;
-ADD_SAT R0, R0, R0;
-MUL result.color, {0.5}.x, R0;
-END
diff --git a/progs/fp/add-swz.txt b/progs/fp/add-swz.txt
deleted file mode 100644
index 5ec51bcb84..0000000000
--- a/progs/fp/add-swz.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-!!ARBfp1.0
-TEMP R0;
-ADD R0, fragment.color, fragment.color;
-ADD result.color, R0.xxxx, R0;
-END
diff --git a/progs/fp/add.txt b/progs/fp/add.txt
deleted file mode 100644
index 031076df0f..0000000000
--- a/progs/fp/add.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-!!ARBfp1.0
-TEMP R0;
-ADD R0, fragment.color, fragment.color;
-ADD result.color, R0, R0;
-END
diff --git a/progs/fp/cmp.txt b/progs/fp/cmp.txt
deleted file mode 100644
index 78451609a3..0000000000
--- a/progs/fp/cmp.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-!!ARBfp1.0
-TEMP R0;
-SUB R0, {0.5}.x, fragment.color;
-CMP result.color, R0, fragment.color, {0.0}.x;
-END
diff --git a/progs/fp/cos.txt b/progs/fp/cos.txt
deleted file mode 100644
index d51b13b63a..0000000000
--- a/progs/fp/cos.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-!!ARBfp1.0
-TEMP R0;
-MUL R0, fragment.color, {3.14}.x;
-COS result.color.x, R0.x;
-COS result.color.y, R0.y;
-COS result.color.z, R0.z;
-END
-
diff --git a/progs/fp/dp3.txt b/progs/fp/dp3.txt
deleted file mode 100644
index 75532f88a7..0000000000
--- a/progs/fp/dp3.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-!!ARBfp1.0
-TEMP R0;
-DP3 result.color, fragment.color, fragment.color;
-END
diff --git a/progs/fp/dp4.txt b/progs/fp/dp4.txt
deleted file mode 100644
index 8d09c8dbf6..0000000000
--- a/progs/fp/dp4.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-!!ARBfp1.0
-TEMP R0;
-DP4 result.color, fragment.color.xxxx, fragment.color;
-END
diff --git a/progs/fp/dph.txt b/progs/fp/dph.txt
deleted file mode 100644
index 6eb59a410d..0000000000
--- a/progs/fp/dph.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-!!ARBfp1.0
-TEMP R0;
-DPH result.color, fragment.color, fragment.color.xyzx;
-END
diff --git a/progs/fp/dst.txt b/progs/fp/dst.txt
deleted file mode 100644
index 6ebabbd5ea..0000000000
--- a/progs/fp/dst.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-!!ARBfp1.0
-DST result.color, fragment.color, fragment.color;
-END
diff --git a/progs/fp/ex2.txt b/progs/fp/ex2.txt
deleted file mode 100644
index b540f7b192..0000000000
--- a/progs/fp/ex2.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-!!ARBfp1.0
-TEMP R0;
-EX2 R0, fragment.color.x;
-SUB result.color, R0, {1.0}.x;
-END
diff --git a/progs/fp/flr.txt b/progs/fp/flr.txt
deleted file mode 100644
index c3479c7bd5..0000000000
--- a/progs/fp/flr.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-!!ARBfp1.0
-TEMP R0;
-ADD R0, fragment.color, {0.5}.x;
-FLR result.color, R0;
-END
diff --git a/progs/fp/fp-tri.c b/progs/fp/fp-tri.c
deleted file mode 100644
index 26af66ad84..0000000000
--- a/progs/fp/fp-tri.c
+++ /dev/null
@@ -1,256 +0,0 @@
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-
-#ifndef WIN32
-#include <unistd.h>
-#include <signal.h>
-#endif
-
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-#include "readtex.c"
-
-
-#define TEXTURE_FILE "../images/bw.rgb"
-
-unsigned show_fps = 0;
-unsigned int frame_cnt = 0;
-void alarmhandler(int);
-static const char *filename = NULL;
-
-static void usage(char *name)
-{
- fprintf(stderr, "usage: %s [ options ] shader_filename\n", name);
-#ifndef WIN32
- fprintf(stderr, "\n" );
- fprintf(stderr, "options:\n");
- fprintf(stderr, " -fps show frames per second\n");
-#endif
-}
-
-#ifndef WIN32
-void alarmhandler (int sig)
-{
- if (sig == SIGALRM) {
- printf("%d frames in 5.0 seconds = %.3f FPS\n", frame_cnt,
- frame_cnt / 5.0);
-
- frame_cnt = 0;
- }
- signal(SIGALRM, alarmhandler);
- alarm(5);
-}
-#endif
-
-static void args(int argc, char *argv[])
-{
- GLint i;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-fps") == 0) {
- show_fps = 1;
- }
- else if (i == argc - 1) {
- filename = argv[i];
- }
- else {
- usage(argv[0]);
- exit(1);
- }
- }
-
- if (!filename) {
- usage(argv[0]);
- exit(1);
- }
-}
-
-static void Init( void )
-{
- GLuint Texture;
- GLint errno;
- GLuint prognum;
- char buf[4096];
- GLuint sz;
- FILE *f;
-
- if ((f = fopen(filename, "r")) == NULL) {
- fprintf(stderr, "Couldn't open %s\n", filename);
- exit(1);
- }
-
- sz = fread(buf, 1, sizeof(buf), f);
- if (!feof(f)) {
- fprintf(stderr, "file too long\n");
- exit(1);
- }
- fprintf(stderr, "%.*s\n", sz, buf);
-
- if (!GLEW_ARB_fragment_program) {
- printf("Error: GL_ARB_fragment_program not supported!\n");
- exit(1);
- }
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
-
- /* Setup the fragment program */
- glGenProgramsARB(1, &prognum);
- glBindProgramARB(GL_FRAGMENT_PROGRAM_ARB, prognum);
- glProgramStringARB(GL_FRAGMENT_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
- sz, (const GLubyte *)buf);
-
- errno = glGetError();
- printf("glGetError = 0x%x\n", errno);
- if (errno != GL_NO_ERROR) {
- GLint errorpos;
-
- glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &errorpos);
- printf("errorpos: %d\n", errorpos);
- printf("glError(GL_PROGRAM_ERROR_STRING_ARB) = %s\n",
- (char *) glGetString(GL_PROGRAM_ERROR_STRING_ARB));
- }
- glEnable(GL_FRAGMENT_PROGRAM_ARB);
-
-
- /* Load texture */
- glGenTextures(1, &Texture);
- glBindTexture(GL_TEXTURE_2D, Texture);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- if (!LoadRGBMipmaps(TEXTURE_FILE, GL_RGB)) {
- printf("Error: couldn't load texture image file %s\n", TEXTURE_FILE);
- exit(1);
- }
-
-
- glGenTextures(1, &Texture);
- glActiveTextureARB(GL_TEXTURE0_ARB + 1);
- glBindTexture(GL_TEXTURE_2D, Texture);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
-
- {
- GLubyte data[32][32];
- int width = 32;
- int height = 32;
- int i;
- int j;
-
- for (i = 0; i < 32; i++)
- for (j = 0; j < 32; j++)
- {
- /**
- ** +-----------+
- ** | W |
- ** | +-----+ |
- ** | | | |
- ** | | B | |
- ** | | | |
- ** | +-----+ |
- ** | |
- ** +-----------+
- **/
- int i2 = i - height / 2;
- int j2 = j - width / 2;
- int h8 = height / 8;
- int w8 = width / 8;
- if ( -h8 <= i2 && i2 <= h8 && -w8 <= j2 && j2 <= w8 ) {
- data[i][j] = 0x00;
- } else if ( -2 * h8 <= i2 && i2 <= 2 * h8 && -2 * w8 <= j2 && j2 <= 2 * w8 ) {
- data[i][j] = 0x55;
- } else if ( -3 * h8 <= i2 && i2 <= 3 * h8 && -3 * w8 <= j2 && j2 <= 3 * w8 ) {
- data[i][j] = 0xaa;
- } else {
- data[i][j] = 0xff;
- }
- }
-
- glTexImage2D( GL_TEXTURE_2D, 0,
- GL_ALPHA8,
- 32, 32, 0,
- GL_ALPHA, GL_UNSIGNED_BYTE, data );
- }
-
-
- glClearColor(.1, .3, .5, 0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Display(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glProgramLocalParameter4fARB(GL_FRAGMENT_PROGRAM_ARB, 0, 1.0, 1.0, 0.0, 0.0);
- glProgramLocalParameter4fARB(GL_FRAGMENT_PROGRAM_ARB, 1, 0.0, 0.0, 1.0, 1.0);
- glBegin(GL_TRIANGLES);
-
- glColor3f(0,0,1);
- glTexCoord3f(1,1,0);
- glVertex3f( 0.9, -0.9, -30.0);
-
- glColor3f(1,0,0);
- glTexCoord3f(1,-1,0);
- glVertex3f( 0.9, 0.9, -30.0);
-
- glColor3f(0,1,0);
- glTexCoord3f(-1,0,0);
- glVertex3f(-0.9, 0.0, -30.0);
- glEnd();
-
- glFlush();
- if (show_fps) {
- ++frame_cnt;
- glutPostRedisplay();
- }
-}
-
-
-int main(int argc, char **argv)
-{
- glutInit(&argc, argv);
- glutInitWindowPosition(0, 0);
- glutInitWindowSize(250, 250);
- glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE | GLUT_DEPTH);
- args(argc, argv);
- glutCreateWindow(filename);
- glewInit();
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Display);
- Init();
-#ifndef WIN32
- if (show_fps) {
- signal(SIGALRM, alarmhandler);
- alarm(5);
- }
-#endif
- glutMainLoop();
- return 0;
-}
diff --git a/progs/fp/frc.txt b/progs/fp/frc.txt
deleted file mode 100644
index efacaa8f92..0000000000
--- a/progs/fp/frc.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-!!ARBfp1.0
-TEMP R0;
-MUL R0, fragment.color, {3.0}.x;
-FRC result.color, R0;
-END
diff --git a/progs/fp/kil-pos.txt b/progs/fp/kil-pos.txt
deleted file mode 100644
index 5ff4f6f2c8..0000000000
--- a/progs/fp/kil-pos.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-!!ARBfp1.0
-TEMP R0;
-SUB R0.xy, fragment.position, {125}.x;
-MOV R0.zw, {0}.x;
-DP3 R0, R0, R0;
-SUB R0.x, R0, {10000}.x;
-KIL -R0.x;
-MOV result.color, fragment.color;
-END
diff --git a/progs/fp/kil-texcoord-sgt.txt b/progs/fp/kil-texcoord-sgt.txt
deleted file mode 100644
index c74fd10dac..0000000000
--- a/progs/fp/kil-texcoord-sgt.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-!!ARBfp1.0
-TEMP R0;
-MUL R0.xy, fragment.texcoord[0], fragment.texcoord[0];
-ADD R0.x, R0.x, R0.y;
-SGE R0.y, R0.x, fragment.texcoord[0].w;
-KIL -R0.y;
-MOV result.color, fragment.color;
-END
diff --git a/progs/fp/kil.txt b/progs/fp/kil.txt
deleted file mode 100644
index d95deb0a9e..0000000000
--- a/progs/fp/kil.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-!!ARBfp1.0
-TEMP R0;
-SUB R0, fragment.color, {0.5,0,0,0};
-KIL R0;
-MOV result.color, R0;
-END
diff --git a/progs/fp/lg2.txt b/progs/fp/lg2.txt
deleted file mode 100644
index 6707d7cb6d..0000000000
--- a/progs/fp/lg2.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-!!ARBfp1.0
-TEMP R0;
-MUL R0, fragment.color, {4.0}.x;
-LG2 result.color, R0.x;
-END
diff --git a/progs/fp/lit.txt b/progs/fp/lit.txt
deleted file mode 100644
index 333c50d3cc..0000000000
--- a/progs/fp/lit.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-!!ARBfp1.0
-TEMP R0;
-SUB R0, {0.5}.x, fragment.color;
-LIT result.color, R0;
-END
diff --git a/progs/fp/local.txt b/progs/fp/local.txt
deleted file mode 100644
index 6cb2a2f13c..0000000000
--- a/progs/fp/local.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-!!ARBfp1.0
-TEMP R0;
-PARAM c[4] = { { 0, 0, 0, 0 },
- program.local[0..1],
- { 1, 1, 1, 1 } };
-MOV R0, c[1];
-SUB R0, R0, c[0];
-ADD R0, R0, c[2];
-MUL R0, R0, c[3];
-MOV result.color, R0;
-END
diff --git a/progs/fp/lrp.txt b/progs/fp/lrp.txt
deleted file mode 100644
index 56cb5f5152..0000000000
--- a/progs/fp/lrp.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-!!ARBfp1.0
-TEMP R0, R1;
-LRP result.color, fragment.color.z, {1,0,0,1}, {0,1,0,1};
-END
diff --git a/progs/fp/mad.txt b/progs/fp/mad.txt
deleted file mode 100644
index 77ffac49cf..0000000000
--- a/progs/fp/mad.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-!!ARBfp1.0
-TEMP R0, R1;
-MAD result.color, fragment.color.z, {1,0,0,1}, fragment.color;
-END
diff --git a/progs/fp/max.txt b/progs/fp/max.txt
deleted file mode 100644
index 0f3bffd6a5..0000000000
--- a/progs/fp/max.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-!!ARBfp1.0
-MAX result.color, {0.5}.x, fragment.color;
-END
diff --git a/progs/fp/min.txt b/progs/fp/min.txt
deleted file mode 100644
index 06d8f911c3..0000000000
--- a/progs/fp/min.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-!!ARBfp1.0
-MIN result.color, {0.5}.x, fragment.color;
-END
diff --git a/progs/fp/mov-alias.txt b/progs/fp/mov-alias.txt
deleted file mode 100644
index 5f04e9c76e..0000000000
--- a/progs/fp/mov-alias.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-!!ARBfp1.0
-TEMP R0;
-MOV R0, fragment.color;
-MOV R0, R0.zyxw;
-MOV result.color, R0;
-END
diff --git a/progs/fp/mov.txt b/progs/fp/mov.txt
deleted file mode 100644
index 4c67baec5e..0000000000
--- a/progs/fp/mov.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-!!ARBfp1.0
-MOV result.color, fragment.color;
-END
diff --git a/progs/fp/mul-alias.txt b/progs/fp/mul-alias.txt
deleted file mode 100644
index cf7d359e78..0000000000
--- a/progs/fp/mul-alias.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-!!ARBfp1.0
-TEMP R0;
-MOV R0, fragment.color;
-MUL R0, R0.zyxw, fragment.color;
-MOV result.color, R0;
-END
diff --git a/progs/fp/mul-swz.txt b/progs/fp/mul-swz.txt
deleted file mode 100644
index 7ef2f58633..0000000000
--- a/progs/fp/mul-swz.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-!!ARBfp1.0
-MUL result.color, fragment.color.zyxw, fragment.color;
-END
diff --git a/progs/fp/mul.txt b/progs/fp/mul.txt
deleted file mode 100644
index 907155de78..0000000000
--- a/progs/fp/mul.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-!!ARBfp1.0
-MUL result.color, fragment.color, fragment.color;
-END
diff --git a/progs/fp/negate.txt b/progs/fp/negate.txt
deleted file mode 100644
index 3d00a04a58..0000000000
--- a/progs/fp/negate.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-!!ARBfp1.0
-# this should result in fragment color passing through unchanged
-TEMP R0;
-ADD R0, fragment.color, fragment.color;
-ADD result.color, R0, -fragment.color;
-END
diff --git a/progs/fp/point-position.c b/progs/fp/point-position.c
deleted file mode 100644
index 1ae753c1d0..0000000000
--- a/progs/fp/point-position.c
+++ /dev/null
@@ -1,120 +0,0 @@
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-
-
-static void Init( void )
-{
- static const char *modulate2D =
- "!!ARBfp1.0\n"
- "MUL result.color, fragment.position, {.005}.x; \n"
- "END"
- ;
- GLuint modulateProg;
-
- if (!GLEW_ARB_fragment_program) {
- printf("Error: GL_ARB_fragment_program not supported!\n");
- exit(1);
- }
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
-
- /* Setup the fragment program */
- glGenProgramsARB(1, &modulateProg);
- glBindProgramARB(GL_FRAGMENT_PROGRAM_ARB, modulateProg);
- glProgramStringARB(GL_FRAGMENT_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
- strlen(modulate2D), (const GLubyte *)modulate2D);
-
- printf("glGetError = 0x%x\n", (int) glGetError());
- printf("glError(GL_PROGRAM_ERROR_STRING_ARB) = %s\n",
- (char *) glGetString(GL_PROGRAM_ERROR_STRING_ARB));
-
- glEnable(GL_FRAGMENT_PROGRAM_ARB);
-
- glClearColor(.3, .3, .3, 0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
-#if 0
- glBegin(GL_QUADS);
- glTexCoord2f(1,0);
- glVertex3f( 0.9, -0.9, -30.0);
- glTexCoord2f(1,1);
- glVertex3f( 0.9, 0.9, -30.0);
- glTexCoord2f(0,1);
- glVertex3f(-0.9, 0.9, -30.0);
- glTexCoord2f(0,0);
- glVertex3f(-0.9, -0.9, -30.0);
- glEnd();
-#else
- glPointSize(100);
- glBegin(GL_POINTS);
- glColor3f(0,0,1);
- glVertex3f( 0, 0, -30.0);
- glEnd();
-#endif
-
- glFlush();
-
-
-}
-
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
-
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB;
- type |= GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow("First Tri") == GL_FALSE) {
- exit(1);
- }
-
- glewInit();
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/fp/position.txt b/progs/fp/position.txt
deleted file mode 100644
index 1875897d78..0000000000
--- a/progs/fp/position.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-!!ARBfp1.0
-MOV result.color, {0}.x;
-MUL result.color.xy, fragment.position, {.005}.x;
-END
diff --git a/progs/fp/pow.txt b/progs/fp/pow.txt
deleted file mode 100644
index 35c738556e..0000000000
--- a/progs/fp/pow.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-!!ARBfp1.0
-TEMP R0;
-POW result.color, fragment.color.x, fragment.color.y;
-END
diff --git a/progs/fp/rcp.txt b/progs/fp/rcp.txt
deleted file mode 100644
index 122161c49e..0000000000
--- a/progs/fp/rcp.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-!!ARBfp1.0
-TEMP R0;
-ADD R0, fragment.color.x, fragment.color.x;
-RCP result.color, R0.x;
-END
diff --git a/progs/fp/rsq.txt b/progs/fp/rsq.txt
deleted file mode 100644
index b28de4bdb6..0000000000
--- a/progs/fp/rsq.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-!!ARBfp1.0
-TEMP R0;
-MUL R0, fragment.color, {3.0}.x;
-RSQ result.color, R0.x;
-END
diff --git a/progs/fp/run.sh b/progs/fp/run.sh
deleted file mode 100755
index 480f8108a3..0000000000
--- a/progs/fp/run.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-for i in *.txt ; do
-echo $i
-./fp-tri $i
-done
-
diff --git a/progs/fp/scs.txt b/progs/fp/scs.txt
deleted file mode 100644
index 5a8c9f16e9..0000000000
--- a/progs/fp/scs.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-!!ARBfp1.0
-TEMP R0;
-MUL R0, fragment.color, {3.14}.x;
-SCS result.color, R0.x;
-END
diff --git a/progs/fp/sge.txt b/progs/fp/sge.txt
deleted file mode 100644
index 5385692467..0000000000
--- a/progs/fp/sge.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-!!ARBfp1.0
-SGE result.color, {0.5}.x, fragment.color;
-END
diff --git a/progs/fp/sge2.txt b/progs/fp/sge2.txt
deleted file mode 100644
index e02a50d477..0000000000
--- a/progs/fp/sge2.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-!!ARBfp1.0
-TEMP R0;
-TEMP R1;
-SGE R0, fragment.color, fragment.color.yzxw;
-SGE R1, fragment.color, fragment.color.zxyw;
-MUL R0, R0, R1;
-MUL result.color, R0, fragment.color;
-END
diff --git a/progs/fp/sin.txt b/progs/fp/sin.txt
deleted file mode 100644
index 4a8cdb69f9..0000000000
--- a/progs/fp/sin.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-!!ARBfp1.0
-TEMP R0;
-MUL R0, fragment.color, {3.14}.x;
-MOV result.color, {0.0}.x;
-SIN result.color.x, R0.x;
-SIN result.color.y, R0.y;
-SIN result.color.z, R0.z;
-END
diff --git a/progs/fp/slt.txt b/progs/fp/slt.txt
deleted file mode 100644
index a3b3ff5656..0000000000
--- a/progs/fp/slt.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-!!ARBfp1.0
-SLT result.color, {0.5}.x, fragment.color;
-END
diff --git a/progs/fp/sub.txt b/progs/fp/sub.txt
deleted file mode 100644
index b4e5cc0e9f..0000000000
--- a/progs/fp/sub.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-!!ARBfp1.0
-SUB result.color, fragment.color.yzxw, fragment.color;
-END
diff --git a/progs/fp/swz.txt b/progs/fp/swz.txt
deleted file mode 100644
index e28f112b14..0000000000
--- a/progs/fp/swz.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-!!ARBfp1.0
-SWZ result.color, fragment.color, 1,x,y,z;
-END
diff --git a/progs/fp/swz2.txt b/progs/fp/swz2.txt
deleted file mode 100644
index 5c12b84815..0000000000
--- a/progs/fp/swz2.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-!!ARBfp1.0
-TEMP R0, R1;
-SWZ result.color, fragment.color, 1, 0, 0, 1;
-END
diff --git a/progs/fp/swz3.txt b/progs/fp/swz3.txt
deleted file mode 100644
index 382f5880d3..0000000000
--- a/progs/fp/swz3.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-!!ARBfp1.0
-TEMP R0, R1;
-MOV R0, -fragment.color;
-SWZ result.color, R0, -y, -x, z, 1;
-END
diff --git a/progs/fp/tex-pos-kil-1.txt b/progs/fp/tex-pos-kil-1.txt
deleted file mode 100644
index 3f01e79ffe..0000000000
--- a/progs/fp/tex-pos-kil-1.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-!!ARBfp1.0
-TEMP R0;
-MUL R0, fragment.position, {0.03125}.x;
-TEX R0, R0, texture[1], 2D;
-KIL -R0;
-MOV result.color, fragment.color;
-END
diff --git a/progs/fp/tex-pos-kil.txt b/progs/fp/tex-pos-kil.txt
deleted file mode 100644
index b7aaa9f7c8..0000000000
--- a/progs/fp/tex-pos-kil.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-!!ARBfp1.0
-TEMP R0;
-MUL R0, fragment.position, {0.008}.x;
-TEX R0, R0, texture[0], 2D;
-SUB R0, R0, {0.25}.x;
-KIL R0.xyzz;
-MOV result.color, fragment.color;
-END
diff --git a/progs/fp/tex-pos.txt b/progs/fp/tex-pos.txt
deleted file mode 100644
index b969f423f5..0000000000
--- a/progs/fp/tex-pos.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-!!ARBfp1.0
-TEMP R0;
-MOV R0, {0.0}.x;
-MUL R0.xy, fragment.position, {0.008}.x;
-TEX result.color, R0, texture[0], 2D;
-END
diff --git a/progs/fp/tex.txt b/progs/fp/tex.txt
deleted file mode 100644
index b3a885d9e0..0000000000
--- a/progs/fp/tex.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-!!ARBfp1.0
-TEX result.color, fragment.color, texture[0], 2D;
-END
diff --git a/progs/fp/tri-depth.c b/progs/fp/tri-depth.c
deleted file mode 100644
index a9f3a6a5be..0000000000
--- a/progs/fp/tri-depth.c
+++ /dev/null
@@ -1,110 +0,0 @@
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-
-
-static void Init( void )
-{
- /* scale of 10.0 gives me a visible result on nv hardware.
- */
- static const char *modulate2D =
- "!!ARBfp1.0\n"
- "MUL result.color, fragment.position.z, {10.0}.x; \n"
- "END"
- ;
- GLuint modulateProg;
-
- if (!GLEW_ARB_fragment_program) {
- printf("Error: GL_ARB_fragment_program not supported!\n");
- exit(1);
- }
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
-
- /* Setup the fragment program */
- glGenProgramsARB(1, &modulateProg);
- glBindProgramARB(GL_FRAGMENT_PROGRAM_ARB, modulateProg);
- glProgramStringARB(GL_FRAGMENT_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
- strlen(modulate2D), (const GLubyte *)modulate2D);
-
- printf("glGetError = 0x%x\n", (int) glGetError());
- printf("glError(GL_PROGRAM_ERROR_STRING_ARB) = %s\n",
- (char *) glGetString(GL_PROGRAM_ERROR_STRING_ARB));
-
- glEnable(GL_FRAGMENT_PROGRAM_ARB);
-
- glClearColor(.3, .3, .3, 0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,1);
- glVertex3f( 0.9, -0.9, -40.0);
- glColor3f(1,0,0);
- glVertex3f( 0.9, 0.9, -40.0);
- glColor3f(0,1,0);
- glVertex3f(-0.9, 0.0, -25.0);
- glEnd();
-
- glFlush();
-
-
-}
-
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB;
- type |= GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow("First Tri") == GL_FALSE) {
- exit(1);
- }
-
- glewInit();
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/fp/tri-depth2.c b/progs/fp/tri-depth2.c
deleted file mode 100644
index 8c4336817b..0000000000
--- a/progs/fp/tri-depth2.c
+++ /dev/null
@@ -1,117 +0,0 @@
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-
-
-static void Init( void )
-{
- /* scale of 10.0 gives me a visible result on nv hardware.
- */
- static const char *modulate2D =
- "!!ARBfp1.0\n"
- "TEMP R0;\n"
- "MUL R0, fragment.position.z, {10.0}.x;\n"
- "MOV result.color, R0; \n"
- "END"
- ;
- GLuint modulateProg;
-
- if (!GLEW_ARB_fragment_program) {
- printf("Error: GL_ARB_fragment_program not supported!\n");
- exit(1);
- }
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
-
- /* Setup the fragment program */
- glGenProgramsARB(1, &modulateProg);
- glBindProgramARB(GL_FRAGMENT_PROGRAM_ARB, modulateProg);
- glProgramStringARB(GL_FRAGMENT_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
- strlen(modulate2D), (const GLubyte *)modulate2D);
-
- printf("glGetError = 0x%x\n", (int) glGetError());
- printf("glError(GL_PROGRAM_ERROR_STRING_ARB) = %s\n",
- (char *) glGetString(GL_PROGRAM_ERROR_STRING_ARB));
-
- glEnable(GL_FRAGMENT_PROGRAM_ARB);
-
- glClearColor(.3, .3, .3, 0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
- glEnable(GL_DEPTH_TEST);
-
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,1);
- glVertex3f( 0.9, -0.9, -30.0);
- glVertex3f( 0.9, 0.9, -30.0);
- glVertex3f(-0.9, 0.0, -30.0);
- glColor3f(0,1,0);
- glVertex3f(-0.9, -0.9, -40.0);
- glVertex3f(-0.9, 0.9, -40.0);
- glVertex3f( 0.9, 0.0, -25.0);
- glEnd();
-
- glFlush();
-
-
-}
-
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
-
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_DEPTH;
- type |= GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow("First Tri") == GL_FALSE) {
- exit(1);
- }
-
- glewInit();
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/fp/tri-depthwrite.c b/progs/fp/tri-depthwrite.c
deleted file mode 100644
index 7b9d70f292..0000000000
--- a/progs/fp/tri-depthwrite.c
+++ /dev/null
@@ -1,109 +0,0 @@
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-
-static void Init(void)
-{
- static const char *modulate2D =
- "!!ARBfp1.0\n"
- "MUL result.depth.z, fragment.color.z, {.1}.x; \n"
- "MOV result.color.xy, fragment.color; \n"
- "END"
- ;
- GLuint modulateProg;
-
- if (!GLEW_ARB_fragment_program) {
- printf("Error: GL_ARB_fragment_program not supported!\n");
- exit(1);
- }
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
-
- /* Setup the fragment program */
- glGenProgramsARB(1, &modulateProg);
- glBindProgramARB(GL_FRAGMENT_PROGRAM_ARB, modulateProg);
- glProgramStringARB(GL_FRAGMENT_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
- strlen(modulate2D), (const GLubyte *)modulate2D);
-
- printf("glGetError = 0x%x\n", (int) glGetError());
- printf("glError(GL_PROGRAM_ERROR_STRING_ARB) = %s\n",
- (char *) glGetString(GL_PROGRAM_ERROR_STRING_ARB));
-
- glEnable(GL_FRAGMENT_PROGRAM_ARB);
-
- glClearColor(.3, .3, .3, 0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
- glEnable(GL_DEPTH_TEST);
-
-
- glBegin(GL_TRIANGLES);
- glColor4f(.8,0,.5,0);
- glVertex3f( 0.9, -0.9, -30.0);
- glVertex3f( 0.9, 0.9, -30.0);
- glVertex3f(-0.9, 0.0, -30.0);
-
- glColor4f(0,.8,.7,0);
- glVertex3f(-0.9, -0.9, -40.0);
- glColor4f(0,.8,.7,0);
- glVertex3f(-0.9, 0.9, -40.0);
- glColor4f(0,.8,.3,0);
- glVertex3f( 0.9, 0.0, -40.0);
- glEnd();
-
- glFlush();
-}
-
-
-int main(int argc, char **argv)
-{
- glutInit(&argc, argv);
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 300, 300);
-
- glutInitDisplayMode(GLUT_DEPTH | GLUT_RGB | GLUT_SINGLE);
-
- if (glutCreateWindow("Depth Test") == GL_FALSE) {
- exit(1);
- }
-
- glewInit();
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/fp/tri-depthwrite2.c b/progs/fp/tri-depthwrite2.c
deleted file mode 100644
index 599949551d..0000000000
--- a/progs/fp/tri-depthwrite2.c
+++ /dev/null
@@ -1,109 +0,0 @@
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-
-static void Init(void)
-{
- static const char *modulate2D =
- "!!ARBfp1.0\n"
- "MUL result.depth.z, fragment.color.z, {.1}.x; \n"
- "MOV result.color, fragment.color.z; \n"
- "END"
- ;
- GLuint modulateProg;
-
- if (!GLEW_ARB_fragment_program) {
- printf("Error: GL_ARB_fragment_program not supported!\n");
- exit(1);
- }
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
-
- /* Setup the fragment program */
- glGenProgramsARB(1, &modulateProg);
- glBindProgramARB(GL_FRAGMENT_PROGRAM_ARB, modulateProg);
- glProgramStringARB(GL_FRAGMENT_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
- strlen(modulate2D), (const GLubyte *)modulate2D);
-
- printf("glGetError = 0x%x\n", (int) glGetError());
- printf("glError(GL_PROGRAM_ERROR_STRING_ARB) = %s\n",
- (char *) glGetString(GL_PROGRAM_ERROR_STRING_ARB));
-
- glEnable(GL_FRAGMENT_PROGRAM_ARB);
-
- glClearColor(.3, .3, .3, 0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
- glEnable(GL_DEPTH_TEST);
-
-
- glBegin(GL_TRIANGLES);
- glColor4f(.8,0,.5,0);
- glVertex3f( 0.9, -0.9, -30.0);
- glVertex3f( 0.9, 0.9, -30.0);
- glVertex3f(-0.9, 0.0, -30.0);
-
- glColor4f(0,.8,.7,0);
- glVertex3f(-0.9, -0.9, -40.0);
- glColor4f(0,.8,.7,0);
- glVertex3f(-0.9, 0.9, -40.0);
- glColor4f(0,.8,.3,0);
- glVertex3f( 0.9, 0.0, -40.0);
- glEnd();
-
- glFlush();
-}
-
-
-int main(int argc, char **argv)
-{
- glutInit(&argc, argv);
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 300, 300);
-
- glutInitDisplayMode(GLUT_DEPTH | GLUT_RGB | GLUT_SINGLE);
-
- if (glutCreateWindow("Depth Test") == GL_FALSE) {
- exit(1);
- }
-
- glewInit();
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/fp/tri-param.c b/progs/fp/tri-param.c
deleted file mode 100644
index 26a804d4b3..0000000000
--- a/progs/fp/tri-param.c
+++ /dev/null
@@ -1,116 +0,0 @@
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-
-static void Init( void )
-{
- static const char *modulate2D =
- "!!ARBfp1.0\n"
- "MOV result.color, program.local[32]; \n"
- "END"
- ;
- GLuint modulateProg;
-
- if (!GLEW_ARB_fragment_program) {
- printf("Error: GL_ARB_fragment_program not supported!\n");
- exit(1);
- }
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
-
- /* Setup the fragment program */
- glGenProgramsARB(1, &modulateProg);
- glBindProgramARB(GL_FRAGMENT_PROGRAM_ARB, modulateProg);
- glProgramStringARB(GL_FRAGMENT_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
- strlen(modulate2D), (const GLubyte *)modulate2D);
-
- printf("glGetError = 0x%x\n", (int) glGetError());
- printf("glError(GL_PROGRAM_ERROR_STRING_ARB) = %s\n",
- (char *) glGetString(GL_PROGRAM_ERROR_STRING_ARB));
-
- glEnable(GL_FRAGMENT_PROGRAM_ARB);
-
- glClearColor(.3, .3, .3, 0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
- glProgramLocalParameter4fARB(GL_FRAGMENT_PROGRAM_ARB, 32, 0.25, .5, 0.25, 1);
-
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,1);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(1,0,0);
- glVertex3f( 0.9, 0.0, -30.0);
- glColor3f(0,1,0);
- glVertex3f(-0.9, 0.0, -30.0);
- glEnd();
-
- glProgramLocalParameter4fARB(GL_FRAGMENT_PROGRAM_ARB, 32, 0.25, 0, 0.25, 1);
-
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,1);
- glVertex3f( 0.9, 0.0, -30.0);
- glColor3f(1,0,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(0,1,0);
- glVertex3f(-0.9, 0.0, -30.0);
- glEnd();
-
- glFlush();
-}
-
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow("First Tri") == GL_FALSE) {
- exit(1);
- }
-
- glewInit();
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/fp/tri-tex.c b/progs/fp/tri-tex.c
deleted file mode 100644
index 64299e9453..0000000000
--- a/progs/fp/tri-tex.c
+++ /dev/null
@@ -1,132 +0,0 @@
-
-#include <assert.h>
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-#include "readtex.c"
-
-
-#define TEXTURE_FILE "../images/girl.rgb"
-
-
-
-static void Init( void )
-{
- static const char *modulate2D =
- "!!ARBfp1.0\n"
- "TEX result.color, fragment.color, texture[0], 2D; \n"
- "END"
- ;
- GLuint modulateProg;
- GLuint Texture;
-
- if (!GLEW_ARB_fragment_program) {
- printf("Error: GL_ARB_fragment_program not supported!\n");
- exit(1);
- }
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
-
- /* Setup the fragment program */
- glGenProgramsARB(1, &modulateProg);
- glBindProgramARB(GL_FRAGMENT_PROGRAM_ARB, modulateProg);
- glProgramStringARB(GL_FRAGMENT_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
- strlen(modulate2D), (const GLubyte *)modulate2D);
-
- printf("glGetError = 0x%x\n", (int) glGetError());
- printf("glError(GL_PROGRAM_ERROR_STRING_ARB) = %s\n",
- (char *) glGetString(GL_PROGRAM_ERROR_STRING_ARB));
- assert(glIsProgramARB(modulateProg));
-
- glEnable(GL_FRAGMENT_PROGRAM_ARB);
-
- /* Load texture */
- glGenTextures(1, &Texture);
- glBindTexture(GL_TEXTURE_2D, Texture);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- if (!LoadRGBMipmaps(TEXTURE_FILE, GL_RGB)) {
- printf("Error: couldn't load texture image file %s\n", TEXTURE_FILE);
- exit(1);
- }
- /* XXX this enable shouldn't really be needed!!! */
- glEnable(GL_TEXTURE_2D);
-
- glClearColor(.3, .3, .3, 0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,1);
-/* glTexCoord2f(1, 0); */
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(1,0,0);
-/* glTexCoord2f(1, 1); */
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(0,1,0);
-/* glTexCoord2f(0, .5); */
- glVertex3f(-0.9, 0.0, -30.0);
- glEnd();
-
- glFlush();
-}
-
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
-
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB;
- type |= GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow("First Tri") == GL_FALSE) {
- exit(1);
- }
-
- glewInit();
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/fp/xpd.txt b/progs/fp/xpd.txt
deleted file mode 100644
index d8dc08dcf7..0000000000
--- a/progs/fp/xpd.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-!!ARBfp1.0
-XPD result.color, fragment.color, {2,2,2,0};
-END
diff --git a/progs/glsl/SConscript b/progs/glsl/SConscript
deleted file mode 100644
index 7a4549cd70..0000000000
--- a/progs/glsl/SConscript
+++ /dev/null
@@ -1,55 +0,0 @@
-Import('*')
-
-if not env['GLUT']:
- Return()
-
-env = env.Clone()
-
-env.Prepend(CPPPATH = [
- '../util',
-])
-
-env.Prepend(LIBS = [
- util,
- '$GLUT_LIB'
-])
-
-if env['platform'] == 'windows':
- env.Append(CPPDEFINES = ['NOMINMAX'])
- env.Prepend(LIBS = ['winmm'])
-
-progs = [
- 'array',
- 'bitmap',
- 'brick',
- 'bump',
- 'convolutions',
- 'deriv',
- 'fragcoord',
- 'identity',
- 'linktest',
- 'mandelbrot',
- 'multinoise',
- 'multitex',
- 'noise',
- 'noise2',
- 'pointcoord',
- 'points',
- 'samplers',
- 'shadow_sampler',
- 'skinning',
- 'texaaline',
- 'texdemo1',
- 'toyball',
- 'trirast',
- 'twoside',
- 'vert-or-frag-only',
- 'vert-tex',
-]
-
-for prog in progs:
- env.Program(
- target = prog,
- source = prog + '.c',
- )
-
diff --git a/progs/miniglx/Makefile b/progs/miniglx/Makefile
deleted file mode 100644
index e6f5fa558e..0000000000
--- a/progs/miniglx/Makefile
+++ /dev/null
@@ -1,61 +0,0 @@
-# Makefile for miniglx demo programs
-
-TOP = ../..
-
-include $(TOP)/configs/current
-
-
-SOURCES = miniglxtest.c \
- miniglxsample.c \
- sample_server.c \
- sample_server2.c \
- manytex.c \
- texline.c
-
-OBJECTS = $(SOURCES:.c=.o)
-
-PROGS = $(SOURCES:%.c=%)
-
-INCLUDES = \
- -I. \
- -I$(TOP)/include
-
-LIBS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) $(APP_LIB_DEPS)
-
-
-##### RULES #####
-
-.SUFFIXES:
-.SUFFIXES: .c
-
-.c:
- $(CC) $(INCLUDES) $(CFLAGS) $(LDFLAGS) $< $(LIBS) -o $@
-
-.c.o:
- $(CC) -c $(INCLUDES) $(CFLAGS) $< -o $@
-
-.S.o:
- $(CC) -c $(INCLUDES) $(CFLAGS) $< -o $@
-
-
-##### TARGETS #####
-
-default: depend $(PROGS)
-
-clean:
- -rm -f $(PROGS)
- -rm -f *.o
-
-
-depend: $(SOURCES)
- rm -f depend
- touch depend
- $(MKDEP) $(MKDEP_OPTIONS) $(INCLUDES) $(SOURCES) > /dev/null
-
-
-# Emacs tags
-tags:
- etags `find . -name \*.[ch]` `find ../include`
-
-
-include depend
diff --git a/progs/miniglx/glfbdevtest.c b/progs/miniglx/glfbdevtest.c
deleted file mode 100644
index d4efb96930..0000000000
--- a/progs/miniglx/glfbdevtest.c
+++ /dev/null
@@ -1,477 +0,0 @@
-
-/*
- * Test the GLFBDev interface. Only tested with radeonfb driver!!!!
- */
-
-
-#include <assert.h>
-#include <errno.h>
-#include <signal.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <sys/ioctl.h>
-#include <sys/mman.h>
-#include <sys/types.h>
-#include <linux/fb.h>
-#include <linux/kd.h>
-#include <linux/vt.h>
-#include <GL/glut.h>
-#include "GL/glfbdev.h"
-
-#define DEFAULT_DEPTH 8
-
-static struct fb_fix_screeninfo FixedInfo;
-static struct fb_var_screeninfo VarInfo, OrigVarInfo;
-static int DesiredDepth = 0;
-static int OriginalVT = -1;
-static int ConsoleFD = -1;
-static int FrameBufferFD = -1;
-static caddr_t FrameBuffer = (caddr_t) -1;
-static caddr_t MMIOAddress = (caddr_t) -1;
-
-
-static void
-print_fixed_info(const struct fb_fix_screeninfo *fixed, const char *s)
-{
- static const char *visuals[] = {
- "MONO01", "MONO10", "TRUECOLOR", "PSEUDOCOLOR",
- "DIRECTCOLOR", "STATIC_PSEUDOCOLOR"
- };
-
- printf("%s info -----------------------\n", s);
- printf("id = %16s\n", fixed->id);
- printf("smem_start = 0x%x\n", fixed->smem_start);
- printf("smem_len = %d (0x%x)\n", fixed->smem_len, fixed->smem_len);
- printf("type = 0x%x\n", fixed->type);
- printf("type_aux = 0x%x\n", fixed->type_aux);
- printf("visual = 0x%x (%s)\n", fixed->visual, visuals[fixed->visual]);
- printf("xpanstep = %d\n", fixed->xpanstep);
- printf("ypanstep = %d\n", fixed->ypanstep);
- printf("ywrapstep = %d\n", fixed->ywrapstep);
- printf("line_length = %d\n", fixed->line_length);
- printf("mmio_start = 0x%x\n", fixed->mmio_start);
- printf("mmio_len = %d (0x%x)\n", fixed->mmio_len, fixed->mmio_len);
- printf("accel = 0x%x\n", fixed->accel);
-}
-
-
-static void
-print_var_info(const struct fb_var_screeninfo *var, const char *s)
-{
- printf("%s info -----------------------\n", s);
- printf("xres = %d\n", var->xres);
- printf("yres = %d\n", var->yres);
- printf("xres_virtual = %d\n", var->xres_virtual);
- printf("yres_virtual = %d\n", var->yres_virtual);
- printf("xoffset = %d\n", var->xoffset);
- printf("yoffset = %d\n", var->yoffset);
- printf("bits_per_pixel = %d\n", var->bits_per_pixel);
- printf("grayscale = %d\n", var->grayscale);
-
- printf("red.offset = %d length = %d msb_right = %d\n",
- var->red.offset, var->red.length, var->red.msb_right);
- printf("green.offset = %d length = %d msb_right = %d\n",
- var->green.offset, var->green.length, var->green.msb_right);
- printf("blue.offset = %d length = %d msb_right = %d\n",
- var->blue.offset, var->blue.length, var->blue.msb_right);
- printf("transp.offset = %d length = %d msb_right = %d\n",
- var->transp.offset, var->transp.length, var->transp.msb_right);
-
- printf("nonstd = %d\n", var->nonstd);
- printf("activate = %d\n", var->activate);
- printf("height = %d mm\n", var->height);
- printf("width = %d mm\n", var->width);
- printf("accel_flags = 0x%x\n", var->accel_flags);
- printf("pixclock = %d\n", var->pixclock);
- printf("left_margin = %d\n", var->left_margin);
- printf("right_margin = %d\n", var->right_margin);
- printf("upper_margin = %d\n", var->upper_margin);
- printf("lower_margin = %d\n", var->lower_margin);
- printf("hsync_len = %d\n", var->hsync_len);
- printf("vsync_len = %d\n", var->vsync_len);
- printf("sync = %d\n", var->sync);
- printf("vmode = %d\n", var->vmode);
-}
-
-
-static void
-signal_handler(int signumber)
-{
- signal(signumber, SIG_IGN); /* prevent recursion! */
- fprintf(stderr, "error: got signal %d (exiting)\n", signumber);
- exit(1);
-}
-
-
-static void
-initialize_fbdev( void )
-{
- char ttystr[1000];
- int fd, vtnumber, ttyfd;
- int sz;
-
- if (geteuid()) {
- fprintf(stderr, "error: you need to be root\n");
- exit(1);
- }
-
-#if 1
- /* open the framebuffer device */
- FrameBufferFD = open("/dev/fb0", O_RDWR);
- if (FrameBufferFD < 0) {
- fprintf(stderr, "Error opening /dev/fb0: %s\n", strerror(errno));
- exit(1);
- }
-#endif
-
- /* open /dev/tty0 and get the vt number */
- if ((fd = open("/dev/tty0", O_WRONLY, 0)) < 0) {
- fprintf(stderr, "error opening /dev/tty0\n");
- exit(1);
- }
- if (ioctl(fd, VT_OPENQRY, &vtnumber) < 0 || vtnumber < 0) {
- fprintf(stderr, "error: couldn't get a free vt\n");
- exit(1);
- }
- close(fd);
-
- /* open the console tty */
- sprintf(ttystr, "/dev/tty%d", vtnumber); /* /dev/tty1-64 */
- ConsoleFD = open(ttystr, O_RDWR | O_NDELAY, 0);
- if (ConsoleFD < 0) {
- fprintf(stderr, "error couldn't open console fd\n");
- exit(1);
- }
-
- /* save current vt number */
- {
- struct vt_stat vts;
- if (ioctl(ConsoleFD, VT_GETSTATE, &vts) == 0)
- OriginalVT = vts.v_active;
- }
-
- /* disconnect from controlling tty */
- ttyfd = open("/dev/tty", O_RDWR);
- if (ttyfd >= 0) {
- ioctl(ttyfd, TIOCNOTTY, 0);
- close(ttyfd);
- }
-
- /* some magic to restore the vt when we exit */
- {
- struct vt_mode vt;
- if (ioctl(ConsoleFD, VT_ACTIVATE, vtnumber) != 0)
- printf("ioctl VT_ACTIVATE: %s\n", strerror(errno));
- if (ioctl(ConsoleFD, VT_WAITACTIVE, vtnumber) != 0)
- printf("ioctl VT_WAITACTIVE: %s\n", strerror(errno));
-
- if (ioctl(ConsoleFD, VT_GETMODE, &vt) < 0) {
- fprintf(stderr, "error: ioctl VT_GETMODE: %s\n", strerror(errno));
- exit(1);
- }
-
- vt.mode = VT_PROCESS;
- vt.relsig = SIGUSR1;
- vt.acqsig = SIGUSR1;
- if (ioctl(ConsoleFD, VT_SETMODE, &vt) < 0) {
- fprintf(stderr, "error: ioctl(VT_SETMODE) failed: %s\n",
- strerror(errno));
- exit(1);
- }
- }
-
- /* go into graphics mode */
- if (ioctl(ConsoleFD, KDSETMODE, KD_GRAPHICS) < 0) {
- fprintf(stderr, "error: ioctl(KDSETMODE, KD_GRAPHICS) failed: %s\n",
- strerror(errno));
- exit(1);
- }
-
-
-#if 0
- /* open the framebuffer device */
- FrameBufferFD = open("/dev/fb0", O_RDWR);
- if (FrameBufferFD < 0) {
- fprintf(stderr, "Error opening /dev/fb0: %s\n", strerror(errno));
- exit(1);
- }
-#endif
-
- /* Get the fixed screen info */
- if (ioctl(FrameBufferFD, FBIOGET_FSCREENINFO, &FixedInfo)) {
- fprintf(stderr, "error: ioctl(FBIOGET_FSCREENINFO) failed: %s\n",
- strerror(errno));
- exit(1);
- }
-
- print_fixed_info(&FixedInfo, "Fixed");
-
-
- /* get the variable screen info */
- if (ioctl(FrameBufferFD, FBIOGET_VSCREENINFO, &OrigVarInfo)) {
- fprintf(stderr, "error: ioctl(FBIOGET_VSCREENINFO) failed: %s\n",
- strerror(errno));
- exit(1);
- }
-
- print_var_info(&OrigVarInfo, "Orig Var");
-
- /* operate on a copy */
- VarInfo = OrigVarInfo;
-
- /* set the depth, resolution, etc */
- DesiredDepth = 32;
- if (DesiredDepth)
- VarInfo.bits_per_pixel = DesiredDepth;
-
- if (VarInfo.bits_per_pixel == 16) {
- VarInfo.red.offset = 11;
- VarInfo.green.offset = 5;
- VarInfo.blue.offset = 0;
- VarInfo.red.length = 5;
- VarInfo.green.length = 6;
- VarInfo.blue.length = 5;
- VarInfo.transp.offset = 0;
- VarInfo.transp.length = 0;
- }
- else if (VarInfo.bits_per_pixel == 32) {
- VarInfo.red.offset = 16;
- VarInfo.green.offset = 8;
- VarInfo.blue.offset = 0;
- VarInfo.transp.offset = 24;
- VarInfo.red.length = 8;
- VarInfo.green.length = 8;
- VarInfo.blue.length = 8;
- VarInfo.transp.length = 8;
- }
- /* timing values taken from /etc/fb.modes (1280x1024 @ 75Hz) */
- VarInfo.xres_virtual = VarInfo.xres = 1280;
- VarInfo.yres_virtual = VarInfo.yres = 1024;
- VarInfo.pixclock = 7408;
- VarInfo.left_margin = 248;
- VarInfo.right_margin = 16;
- VarInfo.upper_margin = 38;
- VarInfo.lower_margin = 1;
- VarInfo.hsync_len = 144;
- VarInfo.vsync_len = 3;
-
- VarInfo.xoffset = 0;
- VarInfo.yoffset = 0;
- VarInfo.nonstd = 0;
- VarInfo.vmode &= ~FB_VMODE_YWRAP; /* turn off scrolling */
-
- /* set new variable screen info */
- if (ioctl(FrameBufferFD, FBIOPUT_VSCREENINFO, &VarInfo)) {
- fprintf(stderr, "ioctl(FBIOPUT_VSCREENINFO failed): %s\n",
- strerror(errno));
- exit(1);
- }
-
- print_var_info(&VarInfo, "New Var");
-
- if (FixedInfo.visual != FB_VISUAL_TRUECOLOR &&
- FixedInfo.visual != FB_VISUAL_DIRECTCOLOR) {
- fprintf(stderr, "non-TRUE/DIRECT-COLOR visuals (0x%x) not supported by this demo.\n", FixedInfo.visual);
- exit(1);
- }
-
- /* initialize colormap */
- if (FixedInfo.visual == FB_VISUAL_DIRECTCOLOR) {
- struct fb_cmap cmap;
- unsigned short red[256], green[256], blue[256];
- int i;
-
- /* we're assuming 256 entries here */
- printf("initializing directcolor colormap\n");
- cmap.start = 0;
- cmap.len = 256;
- cmap.red = red;
- cmap.green = green;
- cmap.blue = blue;
- cmap.transp = NULL;
- for (i = 0; i < cmap.len; i++) {
- red[i] = green[i] = blue[i] = (i << 8) | i;
- }
- if (ioctl(FrameBufferFD, FBIOPUTCMAP, (void *) &cmap) < 0) {
- fprintf(stderr, "ioctl(FBIOPUTCMAP) failed [%d]\n", i);
- }
- }
-
- /*
- * fbdev says the frame buffer is at offset zero, and the mmio region
- * is immediately after.
- */
-
- /* mmap the framebuffer into our address space */
- FrameBuffer = (caddr_t) mmap(0, /* start */
- FixedInfo.smem_len, /* bytes */
- PROT_READ | PROT_WRITE, /* prot */
- MAP_SHARED, /* flags */
- FrameBufferFD, /* fd */
- 0 /* offset */);
- if (FrameBuffer == (caddr_t) - 1) {
- fprintf(stderr, "error: unable to mmap framebuffer: %s\n",
- strerror(errno));
- exit(1);
- }
- printf("FrameBuffer = %p\n", FrameBuffer);
-
-#if 1
- /* mmap the MMIO region into our address space */
- MMIOAddress = (caddr_t) mmap(0, /* start */
- FixedInfo.mmio_len, /* bytes */
- PROT_READ | PROT_WRITE, /* prot */
- MAP_SHARED, /* flags */
- FrameBufferFD, /* fd */
- FixedInfo.smem_len /* offset */);
- if (MMIOAddress == (caddr_t) - 1) {
- fprintf(stderr, "error: unable to mmap mmio region: %s\n",
- strerror(errno));
- }
- printf("MMIOAddress = %p\n", MMIOAddress);
-
- /* try out some simple MMIO register reads */
- if (1)
- {
- typedef unsigned int CARD32;
- typedef unsigned char CARD8;
-#define RADEON_CONFIG_MEMSIZE 0x00f8
-#define RADEON_MEM_SDRAM_MODE_REG 0x0158
-#define MMIO_IN32(base, offset) \
- *(volatile CARD32 *)(void *)(((CARD8*)(base)) + (offset))
-#define INREG(addr) MMIO_IN32(MMIOAddress, addr)
- int sz, type;
- const char *typeStr[] = {"SDR", "DDR", "64-bit SDR"};
- sz = INREG(RADEON_CONFIG_MEMSIZE);
- type = INREG(RADEON_MEM_SDRAM_MODE_REG);
- printf("RADEON_CONFIG_MEMSIZE = %d (%d MB)\n", sz, sz / 1024 / 1024);
- printf("RADEON_MEM_SDRAM_MODE_REG >> 30 = %d (%s)\n",
- type >> 30, typeStr[type>>30]);
- }
-#endif
-
-}
-
-
-static void
-shutdown_fbdev( void )
-{
- struct vt_mode VT;
-
- printf("cleaning up...\n");
- /* restore original variable screen info */
- if (ioctl(FrameBufferFD, FBIOPUT_VSCREENINFO, &OrigVarInfo)) {
- fprintf(stderr, "ioctl(FBIOPUT_VSCREENINFO failed): %s\n",
- strerror(errno));
- exit(1);
- }
-
- munmap(MMIOAddress, FixedInfo.mmio_len);
- munmap(FrameBuffer, FixedInfo.smem_len);
- close(FrameBufferFD);
-
- /* restore text mode */
- ioctl(ConsoleFD, KDSETMODE, KD_TEXT);
-
- /* set vt */
- if (ioctl(ConsoleFD, VT_GETMODE, &VT) != -1) {
- VT.mode = VT_AUTO;
- ioctl(ConsoleFD, VT_SETMODE, &VT);
- }
-
- /* restore original vt */
- if (OriginalVT >= 0) {
- ioctl(ConsoleFD, VT_ACTIVATE, OriginalVT);
- OriginalVT = -1;
- }
-
- close(ConsoleFD);
-}
-
-
-static void
-gltest( void )
-{
- static const int attribs[] = {
- GLFBDEV_DOUBLE_BUFFER,
- GLFBDEV_DEPTH_SIZE, 16,
- GLFBDEV_NONE
- };
- GLFBDevContextPtr ctx;
- GLFBDevBufferPtr buf;
- GLFBDevVisualPtr vis;
- int bytes, r, g, b, a;
- float ang;
-
- printf("GLFBDEV_VENDOR = %s\n", glFBDevGetString(GLFBDEV_VENDOR));
- printf("GLFBDEV_VERSION = %s\n", glFBDevGetString(GLFBDEV_VERSION));
-
- /* framebuffer size */
- bytes = VarInfo.xres_virtual * VarInfo.yres_virtual * VarInfo.bits_per_pixel / 8;
-
- vis = glFBDevCreateVisual( &FixedInfo, &VarInfo, attribs );
- assert(vis);
-
- buf = glFBDevCreateBuffer( &FixedInfo, &VarInfo, vis, FrameBuffer, NULL, bytes );
- assert(buf);
-
- ctx = glFBDevCreateContext( vis, NULL );
- assert(buf);
-
- b = glFBDevMakeCurrent( ctx, buf, buf );
- assert(b);
-
- /*printf("GL_EXTENSIONS: %s\n", glGetString(GL_EXTENSIONS));*/
- glGetIntegerv(GL_RED_BITS, &r);
- glGetIntegerv(GL_GREEN_BITS, &g);
- glGetIntegerv(GL_BLUE_BITS, &b);
- glGetIntegerv(GL_ALPHA_BITS, &a);
- printf("RED_BITS=%d GREEN_BITS=%d BLUE_BITS=%d ALPHA_BITS=%d\n",
- r, g, b, a);
-
- glClearColor(0.5, 0.5, 1.0, 0);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glFrustum(-1, 1, -1, 1, 2, 30);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef(0, 0, -15);
- glViewport(0, 0, VarInfo.xres_virtual, VarInfo.yres_virtual);
- glEnable(GL_LIGHTING);
- glEnable(GL_LIGHT0);
- glEnable(GL_DEPTH_TEST);
-
- for (ang = 0; ang <= 180; ang += 15) {
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
- glPushMatrix();
- glRotatef(ang, 1, 0, 0);
- glutSolidTorus(1, 3, 40, 20);
- glPopMatrix();
- glFBDevSwapBuffers(buf);
- }
-
- /* clean up */
- b = glFBDevMakeCurrent( NULL, NULL, NULL);
- assert(b);
-
- glFBDevDestroyContext(ctx);
- glFBDevDestroyBuffer(buf);
- glFBDevDestroyVisual(vis);
-}
-
-
-int
-main( int argc, char *argv[] )
-{
- signal(SIGUSR1, signal_handler); /* exit if someone tries a vt switch */
- signal(SIGSEGV, signal_handler); /* catch segfaults */
-
- initialize_fbdev();
- gltest();
- shutdown_fbdev();
-
- return 0;
-}
diff --git a/progs/miniglx/manytex.c b/progs/miniglx/manytex.c
deleted file mode 100644
index 74b06649f6..0000000000
--- a/progs/miniglx/manytex.c
+++ /dev/null
@@ -1,381 +0,0 @@
-
-/*
- * test handling of many texture maps
- * Also tests texture priority and residency.
- *
- * Brian Paul
- * August 2, 2000
- */
-
-
-#include <assert.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <math.h>
-#include <GL/glut.h>
-
-
-static GLint NumTextures = 20;
-static GLuint *TextureID = NULL;
-static GLint *TextureWidth = NULL, *TextureHeight = NULL;
-static GLboolean *TextureResidency = NULL;
-static GLint TexWidth = 128, TexHeight = 128;
-static GLfloat Zrot = 0;
-static GLboolean Anim = GL_TRUE;
-static GLint WinWidth = 500, WinHeight = 400;
-static GLboolean MipMap = GL_FALSE;
-static GLboolean LinearFilter = GL_FALSE;
-static GLboolean RandomSize = GL_FALSE;
-static GLint Rows, Columns;
-static GLint LowPriorityCount = 0;
-
-
-static void Idle( void )
-{
- Zrot += 1.0;
- glutPostRedisplay();
-}
-
-
-static void Display( void )
-{
- GLfloat spacing = WinWidth / Columns;
- GLfloat size = spacing * 0.4;
- GLint i;
-
- /* test residency */
- if (0)
- {
- GLboolean b;
- GLint i, resident;
- b = glAreTexturesResident(NumTextures, TextureID, TextureResidency);
- if (b) {
- printf("all resident\n");
- }
- else {
- resident = 0;
- for (i = 0; i < NumTextures; i++) {
- if (TextureResidency[i]) {
- resident++;
- }
- }
- printf("%d of %d texture resident\n", resident, NumTextures);
- }
- }
-
- /* render the textured quads */
- glClear( GL_COLOR_BUFFER_BIT );
- for (i = 0; i < NumTextures; i++) {
- GLint row = i / Columns;
- GLint col = i % Columns;
- GLfloat x = col * spacing + spacing * 0.5;
- GLfloat y = row * spacing + spacing * 0.5;
-
- GLfloat maxDim = (TextureWidth[i] > TextureHeight[i])
- ? TextureWidth[i] : TextureHeight[i];
- GLfloat w = TextureWidth[i] / maxDim;
- GLfloat h = TextureHeight[i] / maxDim;
-
- glPushMatrix();
- glTranslatef(x, y, 0.0);
- glRotatef(Zrot, 0, 0, 1);
- glScalef(size, size, 1);
-
- glBindTexture(GL_TEXTURE_2D, TextureID[i]);
- glBegin(GL_POLYGON);
-#if 0
- glTexCoord2f(0, 0); glVertex2f(-1, -1);
- glTexCoord2f(1, 0); glVertex2f( 1, -1);
- glTexCoord2f(1, 1); glVertex2f( 1, 1);
- glTexCoord2f(0, 1); glVertex2f(-1, 1);
-#else
- glTexCoord2f(0, 0); glVertex2f(-w, -h);
- glTexCoord2f(1, 0); glVertex2f( w, -h);
- glTexCoord2f(1, 1); glVertex2f( w, h);
- glTexCoord2f(0, 1); glVertex2f(-w, h);
-#endif
- glEnd();
- glPopMatrix();
- }
-
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- WinWidth = width;
- WinHeight = height;
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glOrtho(0, width, 0, height, -1, 1);
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
-}
-
-
-/*
- * Return a random int in [min, max].
- */
-static int RandomInt(int min, int max)
-{
- int i = rand();
- int j = i % (max - min + 1);
- return min + j;
-}
-
-
-
-static void Init( void )
-{
- GLint i;
-
- if (RandomSize) {
- printf("Creating %d %s random-size textures, ", NumTextures,
- MipMap ? "Mipmapped" : "non-Mipmapped");
- }
- else {
- printf("Creating %d %s %d x %d textures, ", NumTextures,
- MipMap ? "Mipmapped" : "non-Mipmapped",
- TexWidth, TexHeight);
- }
-
- if (LinearFilter) {
- printf("bilinear filtering\n");
- }
- else {
- printf("nearest filtering\n");
- }
-
-
- /* compute number of rows and columns of rects */
- {
- GLfloat area = (GLfloat) (WinWidth * WinHeight) / (GLfloat) NumTextures;
- GLfloat edgeLen = sqrt(area);
-
- Columns = WinWidth / edgeLen;
- Rows = (NumTextures + Columns - 1) / Columns;
- printf("Rows: %d Cols: %d\n", Rows, Columns);
- }
-
-
- if (!TextureID) {
- TextureID = (GLuint *) malloc(sizeof(GLuint) * NumTextures);
- assert(TextureID);
- glGenTextures(NumTextures, TextureID);
- }
-
- if (!TextureResidency) {
- TextureResidency = (GLboolean *) malloc(sizeof(GLboolean) * NumTextures);
- assert(TextureResidency);
- }
-
- if (!TextureWidth) {
- TextureWidth = (GLint *) malloc(sizeof(GLint) * NumTextures);
- assert(TextureWidth);
- }
- if (!TextureHeight) {
- TextureHeight = (GLint *) malloc(sizeof(GLint) * NumTextures);
- assert(TextureHeight);
- }
-
- for (i = 0; i < NumTextures; i++) {
- GLubyte color[4];
- GLubyte *texImage;
- GLint j, row, col;
-
- row = i / Columns;
- col = i % Columns;
-
- glBindTexture(GL_TEXTURE_2D, TextureID[i]);
-
- if (i < LowPriorityCount)
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_PRIORITY, 0.5F);
-
- if (RandomSize) {
-#if 0
- int k = (glutGet(GLUT_ELAPSED_TIME) % 7) + 2;
- TexWidth = 1 << k;
- TexHeight = 1 << k;
-#else
- TexWidth = 1 << RandomInt(2, 7);
- TexHeight = 1 << RandomInt(2, 7);
- printf("Random size of %3d: %d x %d\n", i, TexWidth, TexHeight);
-#endif
- }
-
- TextureWidth[i] = TexWidth;
- TextureHeight[i] = TexHeight;
-
- texImage = (GLubyte*) malloc(4 * TexWidth * TexHeight * sizeof(GLubyte));
- assert(texImage);
-
- /* determine texture color */
- color[0] = (GLint) (255.0 * ((float) col / (Columns - 1)));
- color[1] = 127;
- color[2] = (GLint) (255.0 * ((float) row / (Rows - 1)));
- color[3] = 255;
-
- /* fill in solid-colored teximage */
- for (j = 0; j < TexWidth * TexHeight; j++) {
- texImage[j*4+0] = color[0];
- texImage[j*4+1] = color[1];
- texImage[j*4+2] = color[2];
- texImage[j*4+3] = color[3];
- }
-
- if (MipMap) {
- GLint level = 0;
- GLint w = TexWidth, h = TexHeight;
- while (1) {
- glTexImage2D(GL_TEXTURE_2D, level, GL_RGBA, w, h, 0,
- GL_RGBA, GL_UNSIGNED_BYTE, texImage);
- if (w == 1 && h == 1)
- break;
- if (w > 1)
- w /= 2;
- if (h > 1)
- h /= 2;
- level++;
- /*printf("%d: %d x %d\n", level, w, h);*/
- }
- if (LinearFilter) {
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,
- GL_LINEAR_MIPMAP_LINEAR);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
- }
- else {
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,
- GL_NEAREST_MIPMAP_NEAREST);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- }
- }
- else {
- /* Set corners to white */
- int k = 0;
- texImage[k+0] = texImage[k+1] = texImage[k+2] = texImage[k+3] = 255;
- k = (TexWidth - 1) * 4;
- texImage[k+0] = texImage[k+1] = texImage[k+2] = texImage[k+3] = 255;
- k = (TexWidth * TexHeight - TexWidth) * 4;
- texImage[k+0] = texImage[k+1] = texImage[k+2] = texImage[k+3] = 255;
- k = (TexWidth * TexHeight - 1) * 4;
- texImage[k+0] = texImage[k+1] = texImage[k+2] = texImage[k+3] = 255;
-
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, TexWidth, TexHeight, 0,
- GL_RGBA, GL_UNSIGNED_BYTE, texImage);
- if (LinearFilter) {
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
- }
- else {
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- }
- }
-
- free(texImage);
- }
-
- glEnable(GL_TEXTURE_2D);
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- const GLfloat step = 3.0;
- (void) x;
- (void) y;
- switch (key) {
- case 'a':
- Anim = !Anim;
- if (Anim)
- glutIdleFunc(Idle);
- else
- glutIdleFunc(NULL);
- break;
- case 's':
- Idle();
- break;
- case 'z':
- Zrot -= step;
- break;
- case 'Z':
- Zrot += step;
- break;
- case ' ':
- Init();
- break;
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-int main( int argc, char *argv[] )
-{
- GLint i;
-
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( WinWidth, WinHeight );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE );
- glutCreateWindow(argv[0]);
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- if (Anim)
- glutIdleFunc(Idle);
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-n") == 0) {
- NumTextures = atoi(argv[i+1]);
- if (NumTextures <= 0) {
- printf("Error, bad number of textures\n");
- return 1;
- }
- i++;
- }
- else if (strcmp(argv[i], "-mipmap") == 0) {
- MipMap = GL_TRUE;
- }
- else if (strcmp(argv[i], "-linear") == 0) {
- LinearFilter = GL_TRUE;
- }
- else if (strcmp(argv[i], "-size") == 0) {
- TexWidth = atoi(argv[i+1]);
- TexHeight = atoi(argv[i+2]);
- assert(TexWidth >= 1);
- assert(TexHeight >= 1);
- i += 2;
- }
- else if (strcmp(argv[i], "-randomsize") == 0) {
- RandomSize = GL_TRUE;
- }
- else if (strcmp(argv[i], "-lowpri") == 0) {
- LowPriorityCount = atoi(argv[i+1]);
- i++;
- }
- else {
- printf("Usage:\n");
- printf(" manytex [options]\n");
- printf("Options:\n");
- printf(" -n <number of texture objects>\n");
- printf(" -size <width> <height> - specify texture size\n");
- printf(" -randomsize - use random size textures\n");
- printf(" -mipmap - generate mipmaps\n");
- printf(" -linear - use linear filtering instead of nearest\n");
- printf(" -lowpri <n> - Set lower priority on <n> textures\n");
- return 0;
- }
- }
-
- Init();
-
- glutMainLoop();
-
- return 0;
-}
diff --git a/progs/miniglx/miniglxsample.c b/progs/miniglx/miniglxsample.c
deleted file mode 100644
index d4d6729f93..0000000000
--- a/progs/miniglx/miniglxsample.c
+++ /dev/null
@@ -1,128 +0,0 @@
-
-#define USE_MINIGLX 1 /* 1 = use Mini GLX, 0 = use Xlib/GLX */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <GL/gl.h>
-
-#if USE_MINIGLX
-#include <GL/miniglx.h>
-#else
-#include <GL/glx.h>
-#include <X11/Xlib.h>
-#endif
-
-static void _subset_Rectf( GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2 )
-{
- glBegin( GL_QUADS );
- glVertex2f( x1, y1 );
- glVertex2f( x2, y1 );
- glVertex2f( x2, y2 );
- glVertex2f( x1, y2 );
- glEnd();
-}
-
-
-/*
- * Create a simple double-buffered RGBA window.
- */
-static Window
-MakeWindow(Display * dpy, unsigned int width, unsigned int height)
-{
- int visAttributes[] = {
- GLX_RGBA,
- GLX_RED_SIZE, 1,
- GLX_GREEN_SIZE, 1,
- GLX_BLUE_SIZE, 1,
- GLX_DOUBLEBUFFER,
- None
- };
- XSetWindowAttributes attr;
- unsigned long attrMask;
- Window root;
- Window win;
- GLXContext ctx;
- XVisualInfo *visinfo;
-
- root = RootWindow(dpy, 0);
-
- /* Choose GLX visual / pixel format */
- visinfo = glXChooseVisual(dpy, 0, visAttributes);
- if (!visinfo) {
- printf("Error: couldn't get an RGB, Double-buffered visual\n");
- exit(1);
- }
-
- /* Create the window */
- attr.background_pixel = 0;
- attr.border_pixel = 0;
- attr.colormap = XCreateColormap(dpy, root, visinfo->visual, AllocNone);
- attrMask = CWBackPixel | CWBorderPixel | CWColormap;
- win = XCreateWindow(dpy, root, 0, 0, width, height,
- 0, visinfo->depth, InputOutput,
- visinfo->visual, attrMask, &attr);
- if (!win) {
- printf("Error: XCreateWindow failed\n");
- exit(1);
- }
-
- /* Display the window */
- XMapWindow(dpy, win);
-
- /* Create GLX rendering context */
- ctx = glXCreateContext(dpy, visinfo, NULL, True);
- if (!ctx) {
- printf("Error: glXCreateContext failed\n");
- exit(1);
- }
-
- /* Bind the rendering context and window */
- glXMakeCurrent(dpy, win, ctx);
-
- glViewport(0, 0, width, height);
-
- return win;
-}
-
-
-/*
- * Draw a few frames of a rotating square.
- */
-static void
-DrawFrames(Display * dpy, Window win)
-{
- int angle;
- glShadeModel(GL_FLAT);
- glClearColor(0.5, 0.5, 0.5, 1.0);
- for (angle = 0; angle < 360; angle += 10) {
- glClear(GL_COLOR_BUFFER_BIT);
- glColor3f(1.0, 1.0, 0.0);
- glPushMatrix();
- glRotatef(angle, 0, 0, 1);
- _subset_Rectf(-0.8, -0.8, 0.8, 0.8);
- glPopMatrix();
- glXSwapBuffers(dpy, win);
- sleep(1);
- }
-}
-
-
-int
-main(int argc, char *argv[])
-{
- Display *dpy;
- Window win;
-
- dpy = XOpenDisplay(NULL);
- if (!dpy) {
- printf("Error: XOpenDisplay failed\n");
- return 1;
- }
-
- win = MakeWindow(dpy, 300, 300);
-
- DrawFrames(dpy, win);
-
- return 0;
-}
diff --git a/progs/miniglx/miniglxtest.c b/progs/miniglx/miniglxtest.c
deleted file mode 100644
index 85c25be4ed..0000000000
--- a/progs/miniglx/miniglxtest.c
+++ /dev/null
@@ -1,272 +0,0 @@
-/*
- * Test the mini GLX interface.
- */
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <GL/gl.h>
-#define USE_MINI_GLX 1
-#if USE_MINI_GLX
-#include <GL/miniglx.h>
-#else
-#include <GL/glx.h>
-#endif
-
-static GLXContext ctx;
-
-static GLuint NumFrames = 100;
-static GLuint NumDisplays = 1;
-static GLboolean Texture = GL_FALSE;
-static GLboolean SingleBuffer = GL_FALSE;
-static GLboolean Sleeps = GL_TRUE;
-
-
-static void
-rect(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2)
-{
- glBegin(GL_QUADS);
- glTexCoord2f(0, 0); glColor3f(0, 0, 1); glVertex2f(x1, y1);
- glTexCoord2f(1, 0); glColor3f(1, 0, 0); glVertex2f(x2, y1);
- glTexCoord2f(1, 1); glColor3f(0, 1, 0); glVertex2f(x2, y2);
- glTexCoord2f(0, 1); glColor3f(0, 0, 0); glVertex2f(x1, y2);
- glEnd();
-}
-
-
-static void
-redraw(Display *dpy, Window w, int rot)
-{
- GLfloat a;
-
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
- glPushMatrix();
- glRotatef(rot, 0, 0, 1);
- glScalef(.5, .5, .5);
- for (a = 0.0; a < 360.0; a += 30.0) {
- glPushMatrix();
- glRotatef(a, 0, 0, 1);
- glRotatef(40, 1, 0, 0);
- glColor3f(a / 360.0, 1-a/360.0, 0);
- rect(0.3, -0.25, 1.5, 0.25);
- glPopMatrix();
- }
- glPopMatrix();
-
- if (SingleBuffer)
- glFlush();
- else
- glXSwapBuffers(dpy, w);
-}
-
-
-static Window
-make_window(Display *dpy, unsigned int width, unsigned int height)
-{
- int attrib_single[] = { GLX_RGBA,
- GLX_RED_SIZE, 1,
- GLX_GREEN_SIZE, 1,
- GLX_BLUE_SIZE, 1,
- GLX_DEPTH_SIZE, 1,
- None };
- int attrib_double[] = { GLX_RGBA,
- GLX_RED_SIZE, 1,
- GLX_GREEN_SIZE, 1,
- GLX_BLUE_SIZE, 1,
- GLX_DEPTH_SIZE, 1,
- GLX_DOUBLEBUFFER,
- None };
- int *attrib = SingleBuffer ? attrib_single : attrib_double;
- int scrnum = 0;
- XSetWindowAttributes attr;
- unsigned long mask;
- Window root;
- Window win;
- XVisualInfo *visinfo;
-
- root = RootWindow(dpy, scrnum);
-
- if (!(visinfo = glXChooseVisual(dpy, scrnum, attrib))) {
- printf("Error: couldn't get an RGB, Double-buffered visual\n");
- exit(1);
- }
-
- if (!(ctx = glXCreateContext(dpy, visinfo, NULL, True))) {
- printf("Error: glXCreateContext failed\n");
- exit(1);
- }
-
- /* window attributes */
- attr.background_pixel = 0;
- attr.border_pixel = 0;
- attr.colormap = XCreateColormap(dpy, root, visinfo->visual, AllocNone);
- attr.event_mask = StructureNotifyMask | ExposureMask;
- mask = CWBackPixel | CWBorderPixel | CWColormap | CWEventMask;
-
- win = XCreateWindow(dpy, root, 0, 0, width, height,
- 0, visinfo->depth, InputOutput,
- visinfo->visual, mask, &attr);
- if (!win) {
- printf("Error: XCreateWindow failed\n");
- exit(1);
- }
-
- glXMakeCurrent(dpy, win, ctx);
-
- glViewport(0, 0, width, height);
-
- return win;
-}
-
-
-static void
-event_loop(Display *dpy, Window win)
-{
- int i;
-
- printf("Drawing %d frames\n", NumFrames);
-
- for (i = 0; i < NumFrames; i++) {
- redraw(dpy, win, -i*2);
- if (Sleeps) {
- usleep(20000);
- }
- }
-}
-
-
-static int
-runtest(void)
-{
- Display *dpy;
- Window win;
-
- dpy = XOpenDisplay(NULL);
- if (!dpy) {
- printf("Error: XOpenDisplay failed\n");
- return 1;
- }
-
- win = make_window(dpy, 800, 600);
-
- srand(getpid());
-
- /* init GL state */
- glClearColor(0.5, 0.5, 0.5, 1.0);
- glEnable(GL_DEPTH_TEST);
- if (Texture) {
- GLubyte image[16][16][4];
- GLint i, j;
- for (i = 0; i < 16; i++) {
- for (j = 0; j < 16; j++) {
- if (((i / 2) ^ (j / 2)) & 1) {
- image[i][j][0] = 255;
- image[i][j][1] = 255;
- image[i][j][2] = 255;
- image[i][j][3] = 255;
- }
- else {
- image[i][j][0] = 128;
- image[i][j][1] = 128;
- image[i][j][2] = 128;
- image[i][j][3] = 128;
- }
- }
- }
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 16, 16, 0,
- GL_RGBA, GL_UNSIGNED_BYTE, image);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- glEnable(GL_TEXTURE_2D);
- }
- if (SingleBuffer) {
- glDrawBuffer(GL_FRONT);
- glReadBuffer(GL_FRONT);
- }
- else {
- glDrawBuffer(GL_BACK);
- }
-
- XMapWindow(dpy, win);
-
- /* wait for window to get mapped */
- {
- XEvent e;
- while (1) {
- XNextEvent(dpy, &e);
- if (e.type == MapNotify && e.xmap.window == win) {
- break;
- }
- }
- }
-
- event_loop(dpy, win);
-
- glXDestroyContext(dpy, ctx);
- XDestroyWindow(dpy, win);
-
- XCloseDisplay(dpy);
-
- return 0;
-}
-
-
-static void
-usage(void)
-{
- printf("Usage:\n");
- printf(" -f N render N frames (default %d)\n", NumFrames);
- printf(" -d N do N display cycles\n");
- printf(" -t texturing\n");
- printf(" -s single buffering\n");
- printf(" -n no usleep() delay\n");
-}
-
-
-static void
-parse_args(int argc, char *argv[])
-{
- int i;
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-f") == 0) {
- NumFrames = atoi(argv[i + 1]);
- i++;
- }
- else if (strcmp(argv[i], "-d") == 0) {
- NumDisplays = atoi(argv[i + 1]);
- i++;
- }
- else if (strcmp(argv[i], "-n") == 0) {
- Sleeps = GL_FALSE;
- }
- else if (strcmp(argv[i], "-s") == 0) {
- SingleBuffer = GL_TRUE;
- }
- else if (strcmp(argv[i], "-t") == 0) {
- Texture = GL_TRUE;
- }
- else {
- usage();
- exit(1);
- }
- }
-}
-
-
-int
-main(int argc, char *argv[])
-{
- int i;
-
- parse_args(argc, argv);
-
- for (i = 0; i < NumDisplays; i++) {
- if (runtest() != 0)
- break;
- }
-
- return 0;
-}
diff --git a/progs/miniglx/sample_server.c b/progs/miniglx/sample_server.c
deleted file mode 100644
index 62456eca25..0000000000
--- a/progs/miniglx/sample_server.c
+++ /dev/null
@@ -1,111 +0,0 @@
-
-/*
- * Sample server that just keeps first available window mapped.
- */
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <GL/gl.h>
-#include <GL/miniglx.h>
-
-struct client {
- struct client *next;
- Window windowid;
- int mappable;
-};
-
-struct client *clients = 0, *mapped_client = 0;
-
-
-static struct client *find_client( Window id )
-{
- struct client *c;
-
- for (c = clients ; c ; c = c->next)
- if (c->windowid == id)
- return c;
-
- return 0;
-}
-
-int main( int argc, char *argv[] )
-{
- Display *dpy;
- XEvent ev;
-
- dpy = __miniglx_StartServer(NULL);
- if (!dpy) {
- fprintf(stderr, "Error: __miniglx_StartServer failed\n");
- return 1;
- }
-
- while (XNextEvent( dpy, &ev )) {
- struct client *c;
-
- switch (ev.type) {
- case MapRequest:
- fprintf(stderr, "MapRequest\n");
- c = find_client(ev.xmaprequest.window);
- if (!c) break;
- c->mappable = True;
- break;
-
- case UnmapNotify:
- fprintf(stderr, "UnmapNotify\n");
- c = find_client(ev.xunmap.window);
- if (!c) break;
- c->mappable = False;
- if (c == mapped_client)
- mapped_client = 0;
- break;
-
- case CreateNotify:
- fprintf(stderr, "CreateNotify\n");
- c = malloc(sizeof(*c));
- c->next = clients;
- c->windowid = ev.xcreatewindow.window;
- c->mappable = False;
- clients = c;
- break;
-
- case DestroyNotify:
- fprintf(stderr, "DestroyNotify\n");
- c = find_client(ev.xdestroywindow.window);
- if (!c) break;
- if (c == clients)
- clients = c->next;
- else {
- struct client *t;
- for (t = clients ; t->next != c ; t = t->next)
- ;
- t->next = c->next;
- }
-
- if (c == mapped_client)
- mapped_client = 0;
-
- free(c);
- break;
-
- default:
- break;
- }
-
- /* Search for first mappable client if none already mapped.
- */
- if (!mapped_client) {
- for (c = clients ; c ; c = c->next) {
- if (c->mappable) {
- XMapWindow( dpy, c->windowid );
- mapped_client = c;
- break;
- }
- }
- }
- }
-
- XCloseDisplay( dpy );
-
- return 0;
-}
diff --git a/progs/miniglx/sample_server2.c b/progs/miniglx/sample_server2.c
deleted file mode 100644
index efd382a6d9..0000000000
--- a/progs/miniglx/sample_server2.c
+++ /dev/null
@@ -1,228 +0,0 @@
-
-/*
- * Sample server that just keeps first available window mapped.
- *
- * It also reads and echos anything that happens on stdin as an
- * example of tracking events from sources other than miniglx clients.
- *
- * It reads & writes without blocking, so that eg. piping a lot of
- * text to stdin and then hitting 'ctrl-S' on the output stream won't
- * cause it to stop handling miniglx events.
- *
- * See select_tut in the linux manual pages for a good overview of the
- * select(2) system call.
- */
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <string.h>
-#include <GL/gl.h>
-#include <GL/miniglx.h>
-#include <errno.h>
-#include <assert.h>
-
-struct client {
- struct client *next;
- Window windowid;
- int mappable;
-};
-
-struct client *clients = 0, *mapped_client = 0;
-
-#define BUFSZ 4096
-char rbuf[BUFSZ];
-int rbuf_count;
-
-
-static struct client *find_client( Window id )
-{
- struct client *c;
-
- for (c = clients ; c ; c = c->next)
- if (c->windowid == id)
- return c;
-
- return 0;
-}
-
-int main( int argc, char *argv[] )
-{
- Display *dpy;
- XEvent ev;
- int autostart = 0;
-
- if (argc == 2 && strcmp(argv[1], "-autostart") == 0)
- autostart = 1;
-
- dpy = __miniglx_StartServer(NULL);
- if (!dpy) {
- fprintf(stderr, "Error: __miniglx_StartServer failed\n");
- return 1;
- }
-
- /* How is vt switching communicated through the XNextEvent interface?
- */
- while (1) {
- int r, n;
- struct timeval tv;
- fd_set rfds, wfds;
- int bored = 0;
-
- FD_ZERO(&rfds);
- FD_ZERO(&wfds);
- tv.tv_sec = 1;
- tv.tv_usec = 0;
-
- if (rbuf_count) {
- FD_SET( 1, &wfds ); /* notify when we can write out buffer */
- n = 1;
- }
- else {
- FD_SET( 0, &rfds ); /* else notify when new data to read */
- n = 0;
- }
-
- /* __miniglx_Select waits until any of these file groups becomes
- * readable/writable/etc (like regular select), until timeout
- * expires (like regular select), until a signal is received
- * (like regular select) or until an event is available for
- * XCheckMaskEvent().
- */
- r = __miniglx_Select( dpy, n+1, &rfds, &wfds, 0, &tv );
-
- /* This can happen if select() is interrupted by a signal:
- */
- if (r < 0 && errno != EINTR && errno != EAGAIN) {
- perror ("select()");
- exit (1);
- }
-
- if (tv.tv_sec == 0 && tv.tv_usec == 0)
- bored = 1;
-
- /* Check and handle events on our local file descriptors
- */
- if (FD_ISSET( 0, &rfds )) {
- /* Something on stdin */
- assert(rbuf_count == 0);
- r = read(0, rbuf, BUFSZ);
- if (r < 1) {
- perror("read");
- abort();
- }
- rbuf_count = r;
- }
-
- if (FD_ISSET( 1, &wfds )) {
- /* Can write to stdout */
- assert(rbuf_count > 0);
- r = write(1, rbuf, rbuf_count);
- if (r < 1) {
- perror("write");
- abort();
- }
- rbuf_count -= r;
- if (rbuf_count)
- memmove(rbuf + r, rbuf, rbuf_count);
- }
-
-
- /* Check and handle events generated by miniglx:
- */
- while (XCheckMaskEvent( dpy, ~0, &ev )) {
- struct client *c;
- bored = 0;
-
- fprintf(stderr, "Received event %d\n", ev.type);
-
- switch (ev.type) {
- case CreateNotify:
- fprintf(stderr, "CreateNotify -- new client\n");
- c = malloc(sizeof(*c));
- c->next = clients;
- c->windowid = ev.xcreatewindow.window;
- c->mappable = False;
- clients = c;
- break;
-
- case DestroyNotify:
- fprintf(stderr, "DestroyNotify\n");
- c = find_client(ev.xdestroywindow.window);
- if (!c) break;
- if (c == clients)
- clients = c->next;
- else {
- struct client *t;
- for (t = clients ; t->next != c ; t = t->next)
- ;
- t->next = c->next;
- }
-
- if (c == mapped_client)
- mapped_client = 0;
-
- free(c);
- break;
-
- case MapRequest:
- fprintf(stderr, "MapRequest\n");
- c = find_client(ev.xmaprequest.window);
- if (!c) break;
- c->mappable = True;
- break;
-
- case UnmapNotify:
- fprintf(stderr, "UnmapNotify\n");
- c = find_client(ev.xunmap.window);
- if (!c) break;
- c->mappable = False;
- if (c == mapped_client)
- mapped_client = 0;
- break;
-
- default:
- break;
- }
- }
-
-
- /* Search for first mappable client if none already mapped.
- */
- if (!mapped_client) {
- struct client *c;
- for (c = clients ; c ; c = c->next) {
- if (c->mappable) {
- XMapWindow( dpy, c->windowid );
- mapped_client = c;
- break;
- }
- }
- if (!clients && autostart) {
- system("nohup ./texline &");
- system("nohup ./manytex &");
- }
- }
- else if (bored) {
- struct client *c;
- /* bored of mapped client now, let's try & find another one */
- for (c = mapped_client->next ; c && !c->mappable ; c = c->next)
- ;
- if (!c)
- for (c = clients ; c && !c->mappable ; c = c->next)
- ;
- if (c && c != mapped_client) {
- XUnmapWindow( dpy, mapped_client->windowid );
- XMapWindow( dpy, c->windowid );
- mapped_client = c;
- }
- else
- fprintf(stderr, "I'm bored!\n");
- }
- }
-
- XCloseDisplay( dpy );
-
- return 0;
-}
diff --git a/progs/miniglx/texline.c b/progs/miniglx/texline.c
deleted file mode 100644
index 098077f247..0000000000
--- a/progs/miniglx/texline.c
+++ /dev/null
@@ -1,267 +0,0 @@
-
-/*
- * Test textured lines.
- *
- * Brian Paul
- * September 2000
- */
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glut.h>
-#include "../util/readtex.c" /* I know, this is a hack. */
-
-#define TEXTURE_FILE "../images/girl.rgb"
-
-static GLboolean Antialias = GL_FALSE;
-static GLboolean Animate = GL_FALSE;
-static GLint Texture = 1;
-static GLboolean Stipple = GL_FALSE;
-static GLfloat LineWidth = 1.0;
-
-static GLfloat Xrot = -60.0, Yrot = 0.0, Zrot = 0.0;
-static GLfloat DYrot = 1.0;
-static GLboolean Points = GL_FALSE;
-static GLfloat Scale = 1.0;
-
-static void Idle( void )
-{
- if (Animate) {
- Zrot += DYrot;
- glutPostRedisplay();
- }
-}
-
-
-static void Display( void )
-{
- GLfloat x, y, s, t;
-
- glClear( GL_COLOR_BUFFER_BIT );
-
- glPushMatrix();
- glRotatef(Xrot, 1.0, 0.0, 0.0);
- glRotatef(Yrot, 0.0, 1.0, 0.0);
- glRotatef(Zrot, 0.0, 0.0, 1.0);
- glScalef(Scale, Scale, Scale);
-
- if (Texture)
- glColor3f(1, 1, 1);
-
- if (Points) {
- glBegin(GL_POINTS);
- for (t = 0.0; t <= 1.0; t += 0.025) {
- for (s = 0.0; s <= 1.0; s += 0.025) {
- x = s * 2.0 - 1.0;
- y = t * 2.0 - 1.0;
- if (!Texture)
- glColor3f(1, 0, 1);
- glMultiTexCoord2fARB(GL_TEXTURE1_ARB, t, s);
- glTexCoord2f(s, t);
- glVertex2f(x, y);
- }
- }
- glEnd();
- }
- else {
- glBegin(GL_LINES);
- for (t = 0.0; t <= 1.0; t += 0.025) {
- x = t * 2.0 - 1.0;
- if (!Texture)
- glColor3f(1, 0, 1);
- glTexCoord2f(t, 0.0);
- glMultiTexCoord2fARB(GL_TEXTURE1_ARB, 0.0, t);
- glVertex2f(x, -1.0);
- if (!Texture)
- glColor3f(0, 1, 0);
- glTexCoord2f(t, 1.0);
- glMultiTexCoord2fARB(GL_TEXTURE1_ARB, 1.0, t);
- glVertex2f(x, 1.0);
- }
- glEnd();
- }
-
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- GLfloat ar = (float) width / height;
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -ar, ar, -1.0, 1.0, 10.0, 100.0 );
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -12.0 );
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 'a':
- Antialias = !Antialias;
- if (Antialias) {
- glEnable(GL_LINE_SMOOTH);
- glEnable(GL_POINT_SMOOTH);
- glEnable(GL_BLEND);
- glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- }
- else {
- glDisable(GL_LINE_SMOOTH);
- glDisable(GL_POINT_SMOOTH);
- glDisable(GL_BLEND);
- }
- break;
- case 't':
- Texture++;
- if (Texture > 2)
- Texture = 0;
- if (Texture == 0) {
- glActiveTextureARB(GL_TEXTURE0_ARB);
- glDisable(GL_TEXTURE_2D);
- glActiveTextureARB(GL_TEXTURE1_ARB);
- glDisable(GL_TEXTURE_2D);
- }
- else if (Texture == 1) {
- glActiveTextureARB(GL_TEXTURE0_ARB);
- glEnable(GL_TEXTURE_2D);
- glActiveTextureARB(GL_TEXTURE1_ARB);
- glDisable(GL_TEXTURE_2D);
- }
- else {
- glActiveTextureARB(GL_TEXTURE0_ARB);
- glEnable(GL_TEXTURE_2D);
- glActiveTextureARB(GL_TEXTURE1_ARB);
- glEnable(GL_TEXTURE_2D);
- }
- break;
- case 'w':
- LineWidth -= 0.25;
- if (LineWidth < 0.25)
- LineWidth = 0.25;
- glLineWidth(LineWidth);
- glPointSize(LineWidth);
- break;
- case 'W':
- LineWidth += 0.25;
- if (LineWidth > 8.0)
- LineWidth = 8.0;
- glLineWidth(LineWidth);
- glPointSize(LineWidth);
- break;
- case 'p':
- Points = !Points;
- break;
- case 's':
- Stipple = !Stipple;
- if (Stipple)
- glEnable(GL_LINE_STIPPLE);
- else
- glDisable(GL_LINE_STIPPLE);
- break;
- case ' ':
- Animate = !Animate;
- if (Animate)
- glutIdleFunc(Idle);
- else
- glutIdleFunc(NULL);
- break;
- case 27:
- exit(0);
- break;
- }
- printf("LineWidth, PointSize = %f\n", LineWidth);
- glutPostRedisplay();
-}
-
-
-static void SpecialKey( int key, int x, int y )
-{
- float step = 3.0;
- (void) x;
- (void) y;
-
- switch (key) {
- case GLUT_KEY_UP:
- Xrot += step;
- break;
- case GLUT_KEY_DOWN:
- Xrot -= step;
- break;
- case GLUT_KEY_LEFT:
- Yrot += step;
- break;
- case GLUT_KEY_RIGHT:
- Yrot -= step;
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void Init( int argc, char *argv[] )
-{
- GLuint u;
- for (u = 0; u < 2; u++) {
- glActiveTextureARB(GL_TEXTURE0_ARB + u);
- glBindTexture(GL_TEXTURE_2D, 10+u);
- if (u == 0)
- glEnable(GL_TEXTURE_2D);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
-
- if (u == 0)
- glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
- else
- glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_ADD);
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- if (!LoadRGBMipmaps(TEXTURE_FILE, GL_RGB)) {
- printf("Error: couldn't load texture image\n");
- exit(1);
- }
- }
-
- glLineStipple(1, 0xff);
-
- if (argc > 1 && strcmp(argv[1], "-info")==0) {
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- printf("GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- printf("GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- printf("GL_EXTENSIONS = %s\n", (char *) glGetString(GL_EXTENSIONS));
- }
-}
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowSize( 400, 300 );
-
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE );
-
- glutCreateWindow(argv[0] );
-
- Init(argc, argv);
-
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutSpecialFunc( SpecialKey );
- glutDisplayFunc( Display );
- if (Animate)
- glutIdleFunc( Idle );
-
- glutMainLoop();
- return 0;
-}
diff --git a/progs/openvg/demos/Makefile b/progs/openvg/demos/Makefile
deleted file mode 100644
index 89b0ce441b..0000000000
--- a/progs/openvg/demos/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-# progs/vg/Makefile
-
-TOP = ../../..
-include $(TOP)/configs/current
-
-VG_LIBS=-lm -pthread -lX11 -lEGL -lOpenVG
-INCLUDE_DIRS = -I$(TOP)/include
-
-PROGRAMS = \
- lion \
- sp
-
-.c.o:
- $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $< -o $@
-
-
-
-default: $(PROGRAMS)
-
-lion: lion.o lion-render.o
- $(CC) $(CFLAGS) lion.o lion-render.o -L$(TOP)/$(LIB_DIR) $(VG_LIBS) -o $@
-
-lion.o: lion.c lion-render.h $(HEADERS)
- $(CC) -c $(CFLAGS) -I$(TOP)/include lion.c
-lion-render.o: lion-render.c lion-render.h $(HEADERS)
- $(CC) -c $(CFLAGS) -I$(TOP)/include lion-render.c
-
-
-sp: sp.c eglcommon.o
- $(CC) $(INCLUDE_DIRS) $(CFLAGS) $^ -L$(TOP)/$(LIB_DIR) $(LIBS) $(VG_LIBS) $(APP_LIB_DEPS) -o $@
-
-eglcommon.o: eglcommon.c $(HEADERS)
- $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) eglcommon.c
-
-
-clean:
- rm -f *.o *~
- rm -f *.so
- rm -f $(PROGRAMS)
diff --git a/progs/openvg/demos/eglcommon.c b/progs/openvg/demos/eglcommon.c
deleted file mode 100644
index bacd5685d7..0000000000
--- a/progs/openvg/demos/eglcommon.c
+++ /dev/null
@@ -1,288 +0,0 @@
-#include "eglcommon.h"
-
-
-#include <assert.h>
-#include <math.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-#include <X11/keysym.h>
-#include <VG/openvg.h> /* using full OpenGL for now */
-#include <GLES/egl.h>
-
-
-static init_func init = 0;
-static draw_func draw = 0;
-static reshape_func reshape = 0;
-static key_func keyPress = 0;
-static VGint width = 300, height = 300;
-
-
-void set_window_size(int w, int h)
-{
- width = w;
- height = h;
-}
-
-/*
- * Create an RGB, double-buffered X window.
- * Return the window and context handles.
- */
-static void
-make_x_window(Display *x_dpy, EGLDisplay egl_dpy,
- const char *name,
- int x, int y, int width, int height,
- Window *winRet,
- EGLContext *ctxRet,
- EGLSurface *surfRet)
-{
- static const EGLint attribs[] = {
- EGL_RED_SIZE, 1,
- EGL_GREEN_SIZE, 1,
- EGL_BLUE_SIZE, 1,
- EGL_NONE
- };
-
- int scrnum;
- XSetWindowAttributes attr;
- unsigned long mask;
- Window root;
- Window win;
- XVisualInfo *visInfo, visTemplate;
- int num_visuals;
- EGLContext ctx;
- EGLConfig config;
- EGLint num_configs;
- EGLint vid;
-
- scrnum = DefaultScreen( x_dpy );
- root = RootWindow( x_dpy, scrnum );
-
- if (!eglChooseConfig( egl_dpy, attribs, &config, 1, &num_configs)) {
- printf("Error: couldn't get an EGL visual config\n");
- exit(1);
- }
-
- assert(config);
- assert(num_configs > 0);
-
- if (!eglGetConfigAttrib(egl_dpy, config, EGL_NATIVE_VISUAL_ID, &vid)) {
- printf("Error: eglGetConfigAttrib() failed\n");
- exit(1);
- }
-
- /* The X window visual must match the EGL config */
- visTemplate.visualid = vid;
- visInfo = XGetVisualInfo(x_dpy, VisualIDMask, &visTemplate, &num_visuals);
- if (!visInfo) {
- printf("Error: couldn't get X visual\n");
- exit(1);
- }
-
- /* window attributes */
- attr.background_pixel = 0;
- attr.border_pixel = 0;
- attr.colormap = XCreateColormap( x_dpy, root, visInfo->visual, AllocNone);
- attr.event_mask = StructureNotifyMask | ExposureMask | KeyPressMask;
- mask = CWBackPixel | CWBorderPixel | CWColormap | CWEventMask;
-
- win = XCreateWindow( x_dpy, root, 0, 0, width, height,
- 0, visInfo->depth, InputOutput,
- visInfo->visual, mask, &attr );
-
- /* set hints and properties */
- {
- XSizeHints sizehints;
- sizehints.x = x;
- sizehints.y = y;
- sizehints.width = width;
- sizehints.height = height;
- sizehints.flags = USSize | USPosition;
- XSetNormalHints(x_dpy, win, &sizehints);
- XSetStandardProperties(x_dpy, win, name, name,
- None, (char **)NULL, 0, &sizehints);
- }
-
- eglBindAPI(EGL_OPENVG_API);
-
- ctx = eglCreateContext(egl_dpy, config, EGL_NO_CONTEXT, NULL );
- if (!ctx) {
- printf("Error: eglCreateContext failed\n");
- exit(1);
- }
-
- *surfRet = eglCreateWindowSurface(egl_dpy, config, win, NULL);
-
- if (!*surfRet) {
- printf("Error: eglCreateWindowSurface failed\n");
- exit(1);
- }
-
- XFree(visInfo);
-
- *winRet = win;
- *ctxRet = ctx;
-}
-
-static void
-event_loop(Display *dpy, Window win,
- EGLDisplay egl_dpy, EGLSurface egl_surf)
-{
- while (1) {
- int redraw = 0;
- XEvent event;
-
- XNextEvent(dpy, &event);
-
- switch (event.type) {
- case Expose:
- redraw = 1;
- break;
- case ConfigureNotify:
- if (reshape) {
- width = event.xconfigure.width;
- height = event.xconfigure.height;
- reshape(event.xconfigure.width, event.xconfigure.height);
- }
- break;
- case KeyPress:
- {
- char buffer[10];
- int r, code;
- code = XLookupKeysym(&event.xkey, 0);
- if (!keyPress || !keyPress(code)) {
- r = XLookupString(&event.xkey, buffer, sizeof(buffer),
- NULL, NULL);
- if (buffer[0] == 27) {
- /* escape */
- return;
- }
- }
- }
- redraw = 1;
- break;
- default:
- ; /*no-op*/
- }
-
- if (redraw) {
- draw();
- eglSwapBuffers(egl_dpy, egl_surf);
- }
- }
-}
-
-int window_width(void)
-{
- return width;
-}
-
-int window_height(void)
-{
- return height;
-}
-
-static void
-usage(void)
-{
- printf("Usage:\n");
- printf(" -display <displayname> set the display to run on\n");
- printf(" -info display OpenGL renderer info\n");
-}
-
-int run(int argc, char **argv,
- init_func init_f,
- reshape_func resh_f,
- draw_func draw_f,
- key_func key_f)
-{
- const int winWidth = width, winHeight = height;
- Display *x_dpy;
- Window win;
- EGLSurface egl_surf;
- EGLContext egl_ctx;
- EGLDisplay egl_dpy;
- char *dpyName = NULL;
- GLboolean printInfo = GL_FALSE;
- EGLint egl_major, egl_minor;
- int i;
- const char *s;
-
- init = init_f;
- draw = draw_f;
- reshape = resh_f;
- keyPress = key_f;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-display") == 0) {
- dpyName = argv[i+1];
- i++;
- }
- else if (strcmp(argv[i], "-info") == 0) {
- printInfo = GL_TRUE;
- }
- }
-
- x_dpy = XOpenDisplay(dpyName);
- if (!x_dpy) {
- printf("Error: couldn't open display %s\n",
- dpyName ? dpyName : getenv("DISPLAY"));
- return -1;
- }
-
- egl_dpy = eglGetDisplay(x_dpy);
- if (!egl_dpy) {
- printf("Error: eglGetDisplay() failed\n");
- return -1;
- }
-
- if (!eglInitialize(egl_dpy, &egl_major, &egl_minor)) {
- printf("Error: eglInitialize() failed\n");
- return -1;
- }
-
- s = eglQueryString(egl_dpy, EGL_VERSION);
- printf("EGL_VERSION = %s\n", s);
-
- make_x_window(x_dpy, egl_dpy,
- "OpenVG Example", 0, 0, winWidth, winHeight,
- &win, &egl_ctx, &egl_surf);
-
- XMapWindow(x_dpy, win);
- if (!eglMakeCurrent(egl_dpy, egl_surf, egl_surf, egl_ctx)) {
- printf("Error: eglMakeCurrent() failed\n");
- return -1;
- }
-
- if (printInfo) {
- printf("VG_RENDERER = %s\n", (char *) vgGetString(VG_RENDERER));
- printf("VG_VERSION = %s\n", (char *) vgGetString(VG_VERSION));
- printf("VG_VENDOR = %s\n", (char *) vgGetString(VG_VENDOR));
- }
-
- if (init)
- init();
-
- /* Set initial projection/viewing transformation.
- * We can't be sure we'll get a ConfigureNotify event when the window
- * first appears.
- */
- if (reshape)
- reshape(winWidth, winHeight);
-
- event_loop(x_dpy, win, egl_dpy, egl_surf);
-
- eglMakeCurrent(egl_dpy, 0, 0, 0);
- eglDestroyContext(egl_dpy, egl_ctx);
- eglDestroySurface(egl_dpy, egl_surf);
- eglTerminate(egl_dpy);
-
-
- XDestroyWindow(x_dpy, win);
- XCloseDisplay(x_dpy);
-
- return 0;
-}
-
diff --git a/progs/openvg/demos/eglcommon.h b/progs/openvg/demos/eglcommon.h
deleted file mode 100644
index 958dae9f98..0000000000
--- a/progs/openvg/demos/eglcommon.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef EGLCOMMON_H
-#define EGLCOMMON_H
-
-typedef void (*init_func)();
-typedef void (*reshape_func)(int, int);
-typedef void (*draw_func)();
-typedef int (*key_func)(unsigned key);
-
-
-void set_window_size(int width, int height);
-int window_width(void);
-int window_height(void);
-
-int run(int argc, char **argv,
- init_func init,
- reshape_func resh,
- draw_func draw,
- key_func key);
-
-#endif
diff --git a/progs/openvg/demos/lion-render.c b/progs/openvg/demos/lion-render.c
deleted file mode 100644
index f3f151f552..0000000000
--- a/progs/openvg/demos/lion-render.c
+++ /dev/null
@@ -1,1573 +0,0 @@
-#include "lion-render.h"
-
-#include <stdlib.h>
-#include <stdio.h>
-
-#define ELEMENTS(x) (sizeof(x)/sizeof((x)[0]))
-
-static void init(struct lion *l, int i, VGint hexColor, const VGfloat *coords, int elems)
-{
- static VGubyte cmds[128];
- VGfloat color[4];
- VGint j;
-
- color[0] = ((hexColor >> 16) & 0xff) / 255.f;
- color[1] = ((hexColor >> 8) & 0xff) / 255.f;
- color[2] = ((hexColor >> 0) & 0xff) / 255.f;
- color[3] = 1.0;
-
- l->paths[i] = vgCreatePath(VG_PATH_FORMAT_STANDARD, VG_PATH_DATATYPE_F, 1.0f, 0.0f,
- 0, 0, (unsigned int)VG_PATH_CAPABILITY_ALL);
- l->fills[i] = vgCreatePaint();
- vgSetParameterfv(l->fills[i], VG_PAINT_COLOR, 4, color);
-
- cmds[0] = VG_MOVE_TO_ABS;
- for (j = 1; j < elems; ++j) {
- cmds[j] = VG_LINE_TO_ABS;
- }
-
- vgAppendPathData(l->paths[i], elems, cmds, coords);
-}
-
-static void poly0(struct lion *l)
-{
- VGfloat color = 0xf2cc99;
- static const VGfloat coords[] = {69,18, 82,8, 99,3, 118,5, 135,12, 149,21, 156,13, 165,9, 177,13, 183,28,
- 180,50, 164,91, 155,107, 154,114, 151,121, 141,127, 139,136, 155,206, 157,251, 126,342,
- 133,357, 128,376, 83,376, 75,368, 67,350, 61,350, 53,369, 4,369, 2,361, 5,354,
- 12,342, 16,321, 4,257, 4,244, 7,218, 9,179, 26,127, 43,93, 32,77, 30,70,
- 24,67, 16,49, 17,35, 18,23, 30,12, 40,7, 53,7, 62,12
- };
-
- init(l, 0, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly1(struct lion *l)
-{
- VGfloat color = 0xe5b27f;
- static const VGfloat coords[] = {142,79, 136,74, 138,82, 133,78, 133,84, 127,78, 128,85,
- 124,80, 125,87, 119,82, 119,90, 125,99, 125,96, 128,100, 128,94,
- 131,98, 132,93, 135,97, 136,93, 138,97, 139,94, 141,98, 143,94,
- 144,85
- };
-
- init(l, 1, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly2(struct lion *l)
-{
- VGfloat color = 0xeb8080;
- static const VGfloat coords[] = {127,101, 132,100, 137,99, 144,101, 143,105, 135,110
- };
-
- init(l, 2, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly3(struct lion *l)
-{
- VGfloat color = 0xf2cc99;
- static const VGfloat coords[] = {178,229, 157,248, 139,296, 126,349, 137,356,
- 158,357, 183,342, 212,332, 235,288, 235,261,
- 228,252, 212,250, 188,251
- };
-
- init(l, 3, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly4(struct lion *l)
-{
- VGfloat color = 0x9c826b;
- static const VGfloat coords[] = {56,229, 48,241, 48,250, 57,281, 63,325, 71,338,
- 81,315, 76,321, 79,311, 83,301, 75,308, 80,298,
- 73,303, 76,296, 71,298, 74,292, 69,293, 74,284,
- 78,278, 71,278, 74,274, 68,273, 70,268, 66,267,
- 68,261, 60,266, 62,259, 65,253, 57,258, 59,251,
- 55,254, 55,248, 60,237, 54,240, 58,234, 54,236
- };
-
- init(l, 4, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly5(struct lion *l)
-{
- VGfloat color = 0x9c826b;
- static const VGfloat coords[] = {74,363, 79,368, 81,368, 85,362, 89,363, 92,370, 96,373,
- 101,372, 108,361, 110,371, 113,373, 116,371, 120,358, 122,363,
- 123,371, 126,371, 129,367, 132,357, 135,361, 130,376, 127,377,
- 94,378, 84,376, 76,371
- };
-
- init(l, 5, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly6(struct lion *l)
-{
- VGfloat color = 0x9c826b;
- static const VGfloat coords[] = {212,250, 219,251, 228,258, 236,270, 235,287, 225,304,
- 205,332, 177,343, 171,352, 158,357, 166,352, 168,346,
- 168,339, 165,333, 155,327, 155,323, 161,320, 165,316,
- 169,316, 167,312, 171,313, 168,308, 173,309, 170,306,
- 177,306, 175,308, 177,311, 174,311, 176,316, 171,315,
- 174,319, 168,320, 168,323, 175,327, 179,332, 183,326,
- 184,332, 189,323, 190,328, 194,320, 194,325, 199,316,
- 201,320, 204,313, 206,316, 208,310, 211,305, 219,298,
- 226,288, 229,279, 228,266, 224,259, 217,253
- };
-
- init(l, 6, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly7(struct lion *l)
-{
- VGfloat color = 0x9c826b;
- static const VGfloat coords[] = {151,205, 151,238, 149,252, 141,268, 128,282, 121,301,
- 130,300, 126,313, 118,324, 116,337, 120,346, 133,352,
- 133,340, 137,333, 145,329, 156,327, 153,319, 153,291,
- 157,271, 170,259, 178,277, 193,250, 174,216
- };
-
- init(l, 7, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly8(struct lion *l)
-{
- VGfloat color = 0x9c826b;
- static const VGfloat coords[] = {78,127, 90,142, 95,155, 108,164, 125,167, 139,175,
- 150,206, 152,191, 141,140, 121,148, 100,136
- };
-
- init(l, 8, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly9(struct lion *l)
-{
- VGfloat color = 0x9c826b;
- static const VGfloat coords[] = {21,58, 35,63, 38,68, 32,69, 42,74, 40,79, 47,80, 54,83,
- 45,94, 34,81, 32,73, 24,66
- };
-
- init(l, 9, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly10(struct lion *l)
-{
- VGfloat color = 0x9c826b;
- static const VGfloat coords[] = {71,34, 67,34, 66,27, 59,24, 54,17, 48,17, 39,22,
- 30,26, 28,31, 31,39, 38,46, 29,45, 36,54, 41,61,
- 41,70, 50,69, 54,71, 55,58, 67,52, 76,43, 76,39,
- 68,44
- };
-
- init(l, 10, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly11(struct lion *l)
-{
- VGfloat color = 0x9c826b;
- static const VGfloat coords[] = {139,74, 141,83, 143,89, 144,104, 148,104, 155,106,
- 154,86, 157,77, 155,72, 150,77, 144,77
- };
-
- init(l, 11, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly12(struct lion *l)
-{
- VGfloat color = 0x9c826b;
- static const VGfloat coords[] = {105,44, 102,53, 108,58, 111,62, 112,55
- };
-
- init(l, 12, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly13(struct lion *l)
-{
- VGfloat color = 0x9c826b;
- static const VGfloat coords[] = {141,48, 141,54, 144,58, 139,62, 137,66, 136,59, 137,52
- };
-
- init(l, 13, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly14(struct lion *l)
-{
- VGfloat color = 0x9c826b;
- static const VGfloat coords[] = {98,135, 104,130, 105,134, 108,132, 108,135, 112,134,
- 113,137, 116,136, 116,139, 119,139, 124,141, 128,140,
- 133,138, 140,133, 139,140, 126,146, 104,144
- };
-
- init(l, 14, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly15(struct lion *l)
-{
- VGfloat color = 0x9c826b;
- static const VGfloat coords[] = {97,116, 103,119, 103,116, 111,118, 116,117, 122,114,
- 127,107, 135,111, 142,107, 141,114, 145,118, 149,121,
- 145,125, 140,124, 127,121, 113,125, 100,124
- };
-
- init(l, 15, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly16(struct lion *l)
-{
- VGfloat color = 0x9c826b;
- static const VGfloat coords[] = {147,33, 152,35, 157,34, 153,31, 160,31, 156,28, 161,28,
- 159,24, 163,25, 163,21, 165,22, 170,23, 167,17, 172,21,
- 174,18, 175,23, 176,22, 177,28, 177,33, 174,37, 176,39,
- 174,44, 171,49, 168,53, 164,57, 159,68, 156,70, 154,60,
- 150,51, 146,43, 144,35
- };
-
- init(l, 16, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly17(struct lion *l)
-{
- VGfloat color = 0x9c826b;
- static const VGfloat coords[] = {85,72, 89,74, 93,75, 100,76, 105,75, 102,79, 94,79, 88,76
- };
-
- init(l, 17, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly18(struct lion *l)
-{
- VGfloat color = 0x9c826b;
- static const VGfloat coords[] = {86,214, 79,221, 76,232, 82,225, 78,239, 82,234, 78,245,
- 81,243, 79,255, 84,250, 84,267, 87,254, 90,271, 90,257,
- 95,271, 93,256, 95,249, 92,252, 93,243, 89,253, 89,241,
- 86,250, 87,236, 83,245, 87,231, 82,231, 90,219, 84,221
- };
-
- init(l, 18, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly19(struct lion *l)
-{
- VGfloat color = 0xffcc7f;
- static const VGfloat coords[] = {93,68, 96,72, 100,73, 106,72, 108,66, 105,63, 100,62
- };
-
- init(l, 19, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly20(struct lion *l)
-{
- VGfloat color = 0xffcc7f;
- static const VGfloat coords[] = {144,64, 142,68, 142,73, 146,74, 150,73, 154,64, 149,62
- };
-
- init(l, 20, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly21(struct lion *l)
-{
- VGfloat color = 0x9c826b;
- static const VGfloat coords[] = {57,91, 42,111, 52,105, 41,117, 53,112, 46,120, 53,116,
- 50,124, 57,119, 55,127, 61,122, 60,130, 67,126, 66,134,
- 71,129, 72,136, 77,130, 76,137, 80,133, 82,138, 86,135,
- 96,135, 94,129, 86,124, 83,117, 77,123, 79,117, 73,120,
- 75,112, 68,116, 71,111, 65,114, 69,107, 63,110, 68,102,
- 61,107, 66,98, 61,103, 63,97, 57,99
- };
-
- init(l, 21, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly22(struct lion *l)
-{
- VGfloat color = 0x9c826b;
- static const VGfloat coords[] = {83,79, 76,79, 67,82, 75,83, 65,88, 76,87, 65,92, 76,91,
- 68,96, 77,95, 70,99, 80,98, 72,104, 80,102, 76,108, 85,103,
- 92,101, 87,98, 93,96, 86,94, 91,93, 85,91, 93,89, 99,89, 105,93,
- 107,85, 102,82, 92,80
- };
-
- init(l, 22, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly23(struct lion *l)
-{
- VGfloat color = 0x9c826b;
- static const VGfloat coords[] = {109,77, 111,83, 109,89, 113,94, 117,90, 117,81, 114,78
- };
-
- init(l, 23, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly24(struct lion *l)
-{
- VGfloat color = 0x9c826b;
- static const VGfloat coords[] = {122,128, 127,126, 134,127, 136,129, 134,130, 130,128, 124,129
- };
-
- init(l, 24, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly25(struct lion *l)
-{
- VGfloat color = 0x9c826b;
- static const VGfloat coords[] = {78,27, 82,32, 80,33, 82,36, 78,37, 82,40, 78,42, 81,46, 76,47,
- 78,49, 74,50, 82,52, 87,50, 83,48, 91,46, 86,45, 91,42, 88,40,
- 92,37, 86,34, 90,31, 86,29, 89,26
- };
-
- init(l, 25, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly26(struct lion *l)
-{
- VGfloat color = 0x9c826b;
- static const VGfloat coords[] = {82,17, 92,20, 79,21, 90,25, 81,25, 94,28, 93,26, 101,30,
- 101,26, 107,33, 108,28, 111,40, 113,34, 115,45, 117,39,
- 119,54, 121,46, 124,58, 126,47, 129,59, 130,49, 134,58,
- 133,44, 137,48, 133,37, 137,40, 133,32, 126,20, 135,26,
- 132,19, 138,23, 135,17, 142,18, 132,11, 116,6, 94,6, 78,11,
- 92,12, 80,14, 90,16
- };
-
- init(l, 26, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly27(struct lion *l)
-{
- VGfloat color = 0x9c826b;
- static const VGfloat coords[] = {142,234, 132,227, 124,223, 115,220, 110,225, 118,224, 127,229,
- 135,236, 122,234, 115,237, 113,242, 121,238, 139,243, 121,245,
- 111,254, 95,254, 102,244, 104,235, 110,229, 100,231, 104,224,
- 113,216, 122,215, 132,217, 141,224, 145,230, 149,240
- };
-
- init(l, 27, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly28(struct lion *l)
-{
- VGfloat color = 0x9c826b;
- static const VGfloat coords[] = {115,252, 125,248, 137,249, 143,258, 134,255, 125,254
- };
-
- init(l, 28, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly29(struct lion *l)
-{
- VGfloat color = 0x9c826b;
- static const VGfloat coords[] = {114,212, 130,213, 140,219, 147,225, 144,214, 137,209, 128,207
- };
-
- init(l, 29, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly30(struct lion *l)
-{
- VGfloat color = 0x9c826b;
- static const VGfloat coords[] = {102,263, 108,258, 117,257, 131,258, 116,260, 109,265
- };
-
- init(l, 30, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly31(struct lion *l)
-{
- VGfloat color = 0x9c826b;
- static const VGfloat coords[] = {51,241, 35,224, 40,238, 23,224, 31,242, 19,239, 28,247, 17,246,
- 25,250, 37,254, 39,263, 44,271, 47,294, 48,317, 51,328, 60,351,
- 60,323, 53,262, 47,246
- };
-
- init(l, 31, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly32(struct lion *l)
-{
- VGfloat color = 0x9c826b;
- static const VGfloat coords[] = {2,364, 9,367, 14,366, 18,355, 20,364, 26,366, 31,357, 35,364,
- 39,364, 42,357, 47,363, 53,360, 59,357, 54,369, 7,373
- };
-
- init(l, 32, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly33(struct lion *l)
-{
- VGfloat color = 0x9c826b;
- static const VGfloat coords[] = {7,349, 19,345, 25,339, 18,341, 23,333, 28,326, 23,326, 27,320,
- 23,316, 25,311, 20,298, 15,277, 12,264, 9,249, 10,223, 3,248,
- 5,261, 15,307, 17,326, 11,343
- };
-
- init(l, 33, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly34(struct lion *l)
-{
- VGfloat color = 0x9c826b;
- static const VGfloat coords[] = {11,226, 15,231, 25,236, 18,227
- };
-
- init(l, 34, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly35(struct lion *l)
-{
- VGfloat color = 0x9c826b;
- static const VGfloat coords[] = {13,214, 19,217, 32,227, 23,214, 16,208, 15,190, 24,148,
- 31,121, 24,137, 14,170, 8,189
- };
-
- init(l, 35, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly36(struct lion *l)
-{
- VGfloat color = 0x9c826b;
- static const VGfloat coords[] = {202,254, 195,258, 199,260, 193,263, 197,263, 190,268,
- 196,268, 191,273, 188,282, 200,272, 194,272, 201,266,
- 197,265, 204,262, 200,258, 204,256
- };
-
- init(l, 36, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly37(struct lion *l)
-{
- VGfloat color = 0x845433;
- static const VGfloat coords[] = {151,213, 165,212, 179,225, 189,246, 187,262, 179,275,
- 176,263, 177,247, 171,233, 163,230, 165,251, 157,264,
- 146,298, 145,321, 133,326, 143,285, 154,260, 153,240
- };
-
- init(l, 37, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly38(struct lion *l)
-{
- VGfloat color = 0x845433;
- static const VGfloat coords[] = {91,132, 95,145, 97,154, 104,148, 107,155, 109,150, 111,158,
- 115,152, 118,159, 120,153, 125,161, 126,155, 133,164, 132,154,
- 137,163, 137,152, 142,163, 147,186, 152,192, 148,167, 141,143,
- 124,145, 105,143
- };
-
- init(l, 38, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly39(struct lion *l)
-{
- VGfloat color = 0x9c826b;
- static const VGfloat coords[] = {31,57, 23,52, 26,51, 20,44, 23,42, 21,36, 22,29, 25,23,
- 24,32, 30,43, 26,41, 30,50, 26,48
- };
-
- init(l, 39, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly40(struct lion *l)
-{
- VGfloat color = 0x9c826b;
- static const VGfloat coords[] = {147,21, 149,28, 155,21, 161,16, 167,14, 175,15, 173,11, 161,9
- };
-
- init(l, 40, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly41(struct lion *l)
-{
- VGfloat color = 0x9c826b;
- static const VGfloat coords[] = {181,39, 175,51, 169,57, 171,65, 165,68, 165,75, 160,76,
- 162,91, 171,71, 180,51
- };
-
- init(l, 41, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly42(struct lion *l)
-{
- VGfloat color = 0x9c826b;
- static const VGfloat coords[] = {132,346, 139,348, 141,346, 142,341, 147,342, 143,355, 133,350
- };
-
- init(l, 42, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly43(struct lion *l)
-{
- VGfloat color = 0x9c826b;
- static const VGfloat coords[] = {146,355, 151,352, 155,348, 157,343, 160,349, 151,356, 147,357
- };
-
- init(l, 43, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly44(struct lion *l)
-{
- VGfloat color = 0x9c826b;
- static const VGfloat coords[] = {99,266, 100,281, 94,305, 86,322, 78,332, 72,346, 73,331, 91,291
- };
-
- init(l, 44, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly45(struct lion *l)
-{
- VGfloat color = 0x9c826b;
- static const VGfloat coords[] = {20,347, 32,342, 45,340, 54,345, 45,350, 42,353, 38,350,
- 31,353, 29,356, 23,350, 19,353, 15,349
- };
-
- init(l, 45, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly46(struct lion *l)
-{
- VGfloat color = 0x9c826b;
- static const VGfloat coords[] = {78,344, 86,344, 92,349, 88,358, 84,352
- };
-
- init(l, 46, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly47(struct lion *l)
-{
- VGfloat color = 0x9c826b;
- static const VGfloat coords[] = {93,347, 104,344, 117,345, 124,354, 121,357, 116,351,
- 112,351, 108,355, 102,351
- };
-
- init(l, 47, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly48(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {105,12, 111,18, 113,24, 113,29, 119,34, 116,23, 112,16
- };
-
- init(l, 48, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly49(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {122,27, 125,34, 127,43, 128,34, 125,29
- };
-
- init(l, 49, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly50(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {115,13, 122,19, 122,15, 113,10
- };
-
- init(l, 50, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly51(struct lion *l)
-{
- VGfloat color = 0xffe5b2;
- static const VGfloat coords[] = {116,172, 107,182, 98,193, 98,183, 90,199, 89,189, 84,207,
- 88,206, 87,215, 95,206, 93,219, 91,230, 98,216, 97,226,
- 104,214, 112,209, 104,208, 113,202, 126,200, 139,207, 132,198,
- 142,203, 134,192, 142,195, 134,187, 140,185, 130,181, 136,177,
- 126,177, 125,171, 116,180
- };
-
- init(l, 51, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly52(struct lion *l)
-{
- VGfloat color = 0xffe5b2;
- static const VGfloat coords[] = {74,220, 67,230, 67,221, 59,235, 63,233, 60,248, 70,232, 65,249,
- 71,243, 67,256, 73,250, 69,262, 73,259, 71,267, 76,262, 72,271,
- 78,270, 76,275, 82,274, 78,290, 86,279, 86,289, 92,274, 88,275,
- 87,264, 82,270, 82,258, 77,257, 78,247, 73,246, 77,233, 72,236
- };
-
- init(l, 52, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly53(struct lion *l)
-{
- VGfloat color = 0xffe5b2;
- static const VGfloat coords[] = {133,230, 147,242, 148,250, 145,254, 138,247, 129,246, 142,245,
- 138,241, 128,237, 137,238
- };
-
- init(l, 53, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly54(struct lion *l)
-{
- VGfloat color = 0xffe5b2;
- static const VGfloat coords[] = {133,261, 125,261, 116,263, 111,267, 125,265
- };
-
- init(l, 54, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly55(struct lion *l)
-{
- VGfloat color = 0xffe5b2;
- static const VGfloat coords[] = {121,271, 109,273, 103,279, 99,305, 92,316, 85,327, 83,335,
- 89,340, 97,341, 94,336, 101,336, 96,331, 103,330, 97,327, 108,325,
- 99,322, 109,321, 100,318, 110,317, 105,314, 110,312, 107,310, 113,308,
- 105,306, 114,303, 105,301, 115,298, 107,295, 115,294, 108,293, 117,291,
- 109,289, 117,286, 109,286, 118,283, 112,281, 118,279, 114,278,
- 119,276, 115,274
- };
-
- init(l, 55, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly56(struct lion *l)
-{
- VGfloat color = 0xffe5b2;
- static const VGfloat coords[] = {79,364, 74,359, 74,353, 76,347, 80,351, 83,356, 82,360
- };
-
- init(l, 56, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly57(struct lion *l)
-{
- VGfloat color = 0xffe5b2;
- static const VGfloat coords[] = {91,363, 93,356, 97,353, 103,355, 105,360, 103,366, 99,371, 94,368
- };
-
- init(l, 57, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly58(struct lion *l)
-{
- VGfloat color = 0xffe5b2;
- static const VGfloat coords[] = {110,355, 114,353, 118,357, 117,363, 113,369, 111,362
- };
-
- init(l, 58, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly59(struct lion *l)
-{
- VGfloat color = 0xffe5b2;
- static const VGfloat coords[] = {126,354, 123,358, 124,367, 126,369, 129,361, 129,357
- };
-
- init(l, 59, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly60(struct lion *l)
-{
- VGfloat color = 0xffe5b2;
- static const VGfloat coords[] = {30,154, 24,166, 20,182, 23,194, 29,208, 37,218, 41,210, 41,223,
- 46,214, 46,227, 52,216, 52,227, 61,216, 59,225, 68,213, 73,219,
- 70,207, 77,212, 69,200, 77,202, 70,194, 78,197, 68,187, 76,182,
- 64,182, 58,175, 58,185, 53,177, 50,186, 46,171, 44,182, 39,167,
- 36,172, 36,162, 30,166
- };
-
- init(l, 60, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly61(struct lion *l)
-{
- VGfloat color = 0xffe5b2;
- static const VGfloat coords[] = {44,130, 41,137, 45,136, 43,150, 48,142, 48,157, 53,150,
- 52,164, 60,156, 61,169, 64,165, 66,175, 70,167, 74,176,
- 77,168, 80,183, 85,172, 90,182, 93,174, 98,181, 99,173,
- 104,175, 105,169, 114,168, 102,163, 95,157, 94,166, 90,154,
- 87,162, 82,149, 75,159, 72,148, 68,155, 67,143, 62,148, 62,138,
- 58,145, 56,133, 52,142, 52,128, 49,134, 47,125
- };
-
- init(l, 61, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly62(struct lion *l)
-{
- VGfloat color = 0xffe5b2;
- static const VGfloat coords[] = {13,216, 19,219, 36,231, 22,223, 16,222, 22,227, 12,224, 13,220, 16,220
- };
-
- init(l, 62, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly63(struct lion *l)
-{
- VGfloat color = 0xffe5b2;
- static const VGfloat coords[] = {10,231, 14,236, 25,239, 27,237, 19,234
- };
-
- init(l, 63, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly64(struct lion *l)
-{
- VGfloat color = 0xffe5b2;
- static const VGfloat coords[] = {9,245, 14,242, 25,245, 13,245
- };
-
- init(l, 64, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly65(struct lion *l)
-{
- VGfloat color = 0xffe5b2;
- static const VGfloat coords[] = {33,255, 26,253, 18,254, 25,256, 18,258, 27,260, 18,263,
- 27,265, 19,267, 29,270, 21,272, 29,276, 21,278, 30,281,
- 22,283, 31,287, 24,288, 32,292, 23,293, 34,298, 26,299,
- 37,303, 32,305, 39,309, 33,309, 39,314, 34,314, 40,318,
- 34,317, 40,321, 34,321, 41,326, 33,326, 40,330, 33,332,
- 39,333, 33,337, 42,337, 54,341, 49,337, 52,335, 47,330,
- 50,330, 45,325, 49,325, 45,321, 48,321, 45,316, 46,306,
- 45,286, 43,274, 36,261
- };
-
- init(l, 65, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly66(struct lion *l)
-{
- VGfloat color = 0xffe5b2;
- static const VGfloat coords[] = {7,358, 9,351, 14,351, 17,359, 11,364
- };
-
- init(l, 66, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly67(struct lion *l)
-{
- VGfloat color = 0xffe5b2;
- static const VGfloat coords[] = {44,354, 49,351, 52,355, 49,361
- };
-
- init(l, 67, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly68(struct lion *l)
-{
- VGfloat color = 0xffe5b2;
- static const VGfloat coords[] = {32,357, 37,353, 40,358, 36,361
- };
-
- init(l, 68, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly69(struct lion *l)
-{
- VGfloat color = 0xffe5b2;
- static const VGfloat coords[] = {139,334, 145,330, 154,330, 158,334, 154,341, 152,348,
- 145,350, 149,340, 147,336, 141,339, 139,345, 136,342,
- 136,339
- };
-
- init(l, 69, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly70(struct lion *l)
-{
- VGfloat color = 0xffe5b2;
- static const VGfloat coords[] = {208,259, 215,259, 212,255, 220,259, 224,263, 225,274, 224,283,
- 220,292, 208,300, 206,308, 203,304, 199,315, 197,309, 195,318,
- 193,313, 190,322, 190,316, 185,325, 182,318, 180,325, 172,321,
- 178,320, 176,313, 186,312, 180,307, 188,307, 184,303, 191,302,
- 186,299, 195,294, 187,290, 197,288, 192,286, 201,283, 194,280,
- 203,277, 198,275, 207,271, 200,269, 209,265, 204,265, 212,262
- };
-
- init(l, 70, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly71(struct lion *l)
-{
- VGfloat color = 0xffe5b2;
- static const VGfloat coords[] = {106,126, 106,131, 109,132, 111,134, 115,132, 115,135, 119,133, 118,137,
- 123,137, 128,137, 133,134, 136,130, 136,127, 132,124, 118,128, 112,128,
- 106,126, 106,126, 106,126
- };
-
- init(l, 71, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly72(struct lion *l)
-{
- VGfloat color = 0xffe5b2;
- static const VGfloat coords[] = {107,114, 101,110, 98,102, 105,97, 111,98, 119,102, 121,108, 118,112, 113,115
- };
-
- init(l, 72, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly73(struct lion *l)
-{
- VGfloat color = 0xffe5b2;
- static const VGfloat coords[] = {148,106, 145,110, 146,116, 150,118, 152,111, 151,107
- };
-
- init(l, 73, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly74(struct lion *l)
-{
- VGfloat color = 0xffe5b2;
- static const VGfloat coords[] = {80,55, 70,52, 75,58, 63,57, 72,61, 57,61, 67,66, 57,67, 62,69, 54,71,
- 61,73, 54,77, 63,78, 53,85, 60,84, 56,90, 69,84, 63,82, 75,76, 70,75,
- 77,72, 72,71, 78,69, 72,66, 81,67, 78,64, 82,63, 80,60, 86,62
- };
-
- init(l, 74, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly75(struct lion *l)
-{
- VGfloat color = 0xffe5b2;
- static const VGfloat coords[] = {87,56, 91,52, 96,50, 102,56, 98,56, 92,60
- };
-
- init(l, 75, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly76(struct lion *l)
-{
- VGfloat color = 0xffe5b2;
- static const VGfloat coords[] = {85,68, 89,73, 98,76, 106,74, 96,73, 91,70
- };
-
- init(l, 76, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly77(struct lion *l)
-{
- VGfloat color = 0xffe5b2;
- static const VGfloat coords[] = {115,57, 114,64, 111,64, 115,75, 122,81, 122,74, 126,79,
- 126,74, 131,78, 130,72, 133,77, 131,68, 126,61, 119,57
- };
-
- init(l, 77, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly78(struct lion *l)
-{
- VGfloat color = 0xffe5b2;
- static const VGfloat coords[] = {145,48, 143,53, 147,59, 151,59, 150,55
- };
-
- init(l, 78, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly79(struct lion *l)
-{
- VGfloat color = 0xffe5b2;
- static const VGfloat coords[] = {26,22, 34,15, 43,10, 52,10, 59,16, 47,15, 32,22
- };
-
- init(l, 79, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly80(struct lion *l)
-{
- VGfloat color = 0xffe5b2;
- static const VGfloat coords[] = {160,19, 152,26, 149,34, 154,33, 152,30, 157,30, 155,26, 158,27,
- 157,23, 161,23
- };
-
- init(l, 80, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly81(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {98,117, 105,122, 109,122, 105,117, 113,120, 121,120, 130,112, 128,108,
- 123,103, 123,99, 128,101, 132,106, 135,109, 142,105, 142,101, 145,101,
- 145,91, 148,101, 145,105, 136,112, 135,116, 143,124, 148,120, 150,122,
- 142,128, 133,122, 121,125, 112,126, 103,125, 100,129, 96,124
- };
-
- init(l, 81, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly82(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {146,118, 152,118, 152,115, 149,115
- };
-
- init(l, 82, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly83(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {148,112, 154,111, 154,109, 149,109
- };
-
- init(l, 83, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly84(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {106,112, 108,115, 114,116, 118,114
- };
-
- init(l, 84, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly85(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {108,108, 111,110, 116,110, 119,108
- };
-
- init(l, 85, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly86(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {106,104, 109,105, 117,106, 115,104
- };
-
- init(l, 86, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly87(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {50,25, 41,26, 34,33, 39,43, 49,58, 36,51, 47,68, 55,69, 54,59,
- 61,57, 74,46, 60,52, 67,42, 57,48, 61,40, 54,45, 60,36, 59,29,
- 48,38, 52,30, 47,32
- };
-
- init(l, 87, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly88(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {147,34, 152,41, 155,49, 161,53, 157,47, 164,47, 158,43, 168,44,
- 159,40, 164,37, 169,37, 164,33, 169,34, 165,28, 170,30, 170,25,
- 173,29, 175,27, 176,32, 173,36, 175,39, 172,42, 172,46, 168,49,
- 170,55, 162,57, 158,63, 155,58, 153,50, 149,46
- };
-
- init(l, 88, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly89(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {155,71, 159,80, 157,93, 157,102, 155,108, 150,101, 149,93,
- 154,101, 152,91, 151,83, 155,79
- };
-
- init(l, 89, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly90(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {112,78, 115,81, 114,91, 112,87, 113,82
- };
-
- init(l, 90, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly91(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {78,28, 64,17, 58,11, 47,9, 36,10, 28,16, 21,26, 18,41,
- 20,51, 23,61, 33,65, 28,68, 37,74, 36,81, 43,87, 48,90,
- 43,100, 40,98, 39,90, 31,80, 30,72, 22,71, 17,61, 14,46,
- 16,28, 23,17, 33,9, 45,6, 54,6, 65,12
- };
-
- init(l, 91, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly92(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {67,18, 76,9, 87,5, 101,2, 118,3, 135,8, 149,20, 149,26,
- 144,19, 132,12, 121,9, 105,7, 89,8, 76,14, 70,20
- };
-
- init(l, 92, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly93(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {56,98, 48,106, 56,103, 47,112, 56,110, 52,115, 57,113, 52,121, 62,115,
- 58,123, 65,119, 63,125, 69,121, 68,127, 74,125, 74,129, 79,128, 83,132,
- 94,135, 93,129, 85,127, 81,122, 76,126, 75,121, 71,124, 71,117, 66,121,
- 66,117, 62,117, 64,112, 60,113, 60,110, 57,111, 61,105, 57,107, 60,101,
- 55,102
- };
-
- init(l, 93, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly94(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {101,132, 103,138, 106,134, 106,139, 112,136, 111,142, 115,139,
- 114,143, 119,142, 125,145, 131,142, 135,138, 140,134, 140,129,
- 143,135, 145,149, 150,171, 149,184, 145,165, 141,150, 136,147,
- 132,151, 131,149, 126,152, 125,150, 121,152, 117,148, 111,152,
- 110,148, 105,149, 104,145, 98,150, 96,138, 94,132, 94,130, 98,132
- };
-
- init(l, 94, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly95(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {41,94, 32,110, 23,132, 12,163, 6,190, 7,217, 5,236,
- 3,247, 9,230, 12,211, 12,185, 18,160, 26,134, 35,110,
- 43,99
- };
-
- init(l, 95, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly96(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {32,246, 41,250, 50,257, 52,267, 53,295, 53,323, 59,350,
- 54,363, 51,365, 44,366, 42,360, 40,372, 54,372, 59,366,
- 62,353, 71,352, 75,335, 73,330, 66,318, 68,302, 64,294,
- 67,288, 63,286, 63,279, 59,275, 58,267, 56,262, 50,247,
- 42,235, 44,246, 32,236, 35,244
- };
-
- init(l, 96, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly97(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {134,324, 146,320, 159,322, 173,327, 179,337, 179,349,
- 172,355, 158,357, 170,350, 174,343, 170,333, 163,328, 152,326,
- 134,329
- };
-
- init(l, 97, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly98(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {173,339, 183,334, 184,338, 191,329, 194,332, 199,323, 202,325,
- 206,318, 209,320, 213,309, 221,303, 228,296, 232,289, 234,279,
- 233,269, 230,262, 225,256, 219,253, 208,252, 198,252, 210,249,
- 223,250, 232,257, 237,265, 238,277, 238,291, 232,305, 221,323,
- 218,335, 212,342, 200,349, 178,348
- };
-
- init(l, 98, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly99(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {165,296, 158,301, 156,310, 156,323, 162,324, 159,318,
- 162,308, 162,304
- };
-
- init(l, 99, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly100(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {99,252, 105,244, 107,234, 115,228, 121,228, 131,235,
- 122,233, 113,235, 109,246, 121,239, 133,243, 121,243,
- 110,251
- };
-
- init(l, 100, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly101(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {117,252, 124,247, 134,249, 136,253, 126,252
- };
-
- init(l, 101, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly102(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {117,218, 132,224, 144,233, 140,225, 132,219, 117,218,
- 117,218, 117,218
- };
-
- init(l, 102, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly103(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {122,212, 134,214, 143,221, 141,213, 132,210
- };
-
- init(l, 103, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly104(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {69,352, 70,363, 76,373, 86,378, 97,379, 108,379, 120,377,
- 128,378, 132,373, 135,361, 133,358, 132,366, 127,375, 121,374,
- 121,362, 119,367, 117,374, 110,376, 110,362, 107,357, 106,371,
- 104,375, 97,376, 90,375, 90,368, 86,362, 83,364, 86,369, 85,373,
- 78,370, 73,362, 71,351
- };
-
- init(l, 104, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly105(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {100,360, 96,363, 99,369, 102,364
- };
-
- init(l, 105, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly106(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {115,360, 112,363, 114,369, 117,364
- };
-
- init(l, 106, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly107(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {127,362, 125,364, 126,369, 128,365
- };
-
- init(l, 107, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly108(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {5,255, 7,276, 11,304, 15,320, 13,334, 6,348, 2,353, 0,363,
- 5,372, 12,374, 25,372, 38,372, 44,369, 42,367, 36,368, 31,369,
- 30,360, 27,368, 20,370, 16,361, 15,368, 10,369, 3,366, 3,359, 6,352,
- 11,348, 17,331, 19,316, 12,291, 9,274
- };
-
- init(l, 108, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly109(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {10,358, 7,362, 10,366, 11,362
- };
-
- init(l, 109, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly110(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {25,357, 22,360, 24,366, 27,360
- };
-
- init(l, 110, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly111(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {37,357, 34,361, 36,365, 38,361
- };
-
- init(l, 111, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly112(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {49,356, 46,359, 47,364, 50,360
- };
-
- init(l, 112, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly113(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {130,101, 132,102, 135,101, 139,102, 143,103,
- 142,101, 137,100, 133,100
- };
-
- init(l, 113, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly114(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {106,48, 105,52, 108,56, 109,52
- };
-
- init(l, 114, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly115(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {139,52, 139,56, 140,60, 142,58, 141,56
- };
-
- init(l, 115, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly116(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {25,349, 29,351, 30,355, 33,350, 37,348, 42,351, 45,347,
- 49,345, 44,343, 36,345
- };
-
- init(l, 116, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly117(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {98,347, 105,351, 107,354, 109,349, 115,349, 120,353, 118,349,
- 113,346, 104,346
- };
-
- init(l, 117, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly118(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {83,348, 87,352, 87,357, 89,351, 87,348
- };
-
- init(l, 118, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly119(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {155,107, 163,107, 170,107, 186,108, 175,109, 155,109
- };
-
- init(l, 119, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly120(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {153,114, 162,113, 175,112, 192,114, 173,114, 154,115
- };
-
- init(l, 120, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly121(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {152,118, 164,120, 180,123, 197,129, 169,123, 151,120
- };
-
- init(l, 121, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly122(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {68,109, 87,106, 107,106, 106,108, 88,108
- };
-
- init(l, 122, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly123(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {105,111, 95,112, 79,114, 71,116, 85,115, 102,113
- };
-
- init(l, 123, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly124(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {108,101, 98,99, 87,99, 78,99, 93,100, 105,102
- };
-
- init(l, 124, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly125(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {85,63, 91,63, 97,60, 104,60, 108,62, 111,69, 112,75,
- 110,74, 108,71, 103,73, 106,69, 105,65, 103,64, 103,67,
- 102,70, 99,70, 97,66, 94,67, 97,72, 88,67, 84,66
- };
-
- init(l, 125, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly126(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {140,74, 141,66, 144,61, 150,61, 156,62, 153,70, 150,73,
- 152,65, 150,65, 151,68, 149,71, 146,71, 144,66, 143,70,
- 143,74
- };
-
- init(l, 126, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly127(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {146,20, 156,11, 163,9, 172,9, 178,14, 182,18, 184,32, 182,42,
- 182,52, 177,58, 176,67, 171,76, 165,90, 157,105, 160,92, 164,85,
- 168,78, 167,73, 173,66, 172,62, 175,59, 174,55, 177,53, 180,46,
- 181,29, 179,21, 173,13, 166,11, 159,13, 153,18, 148,23
- };
-
- init(l, 127, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly128(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {150,187, 148,211, 150,233, 153,247, 148,267, 135,283, 125,299,
- 136,292, 131,313, 122,328, 122,345, 129,352, 133,359, 133,367,
- 137,359, 148,356, 140,350, 131,347, 129,340, 132,332, 140,328,
- 137,322, 140,304, 154,265, 157,244, 155,223, 161,220, 175,229,
- 186,247, 185,260, 176,275, 178,287, 185,277, 188,261, 196,253,
- 189,236, 174,213
- };
-
- init(l, 128, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly129(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {147,338, 142,341, 143,345, 141,354, 147,343
- };
-
- init(l, 129, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly130(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {157,342, 156,349, 150,356, 157,353, 163,346, 162,342
- };
-
- init(l, 130, color, coords, ELEMENTS(coords)/2);
-}
-
-static void poly131(struct lion *l)
-{
- VGfloat color = 0x000000;
- static const VGfloat coords[] = {99,265, 96,284, 92,299, 73,339, 73,333, 87,300
- };
-
- init(l, 131, color, coords, ELEMENTS(coords)/2);
-}
-
-
-struct lion * lion_create(void)
-{
- struct lion *l = calloc(1, sizeof(struct lion));
-
- poly0(l);
- poly1(l);
- poly2(l);
- poly3(l);
- poly4(l);
- poly5(l);
- poly6(l);
- poly7(l);
- poly8(l);
- poly9(l);
-
- poly10(l);
- poly11(l);
- poly12(l);
- poly13(l);
- poly14(l);
- poly15(l);
- poly16(l);
- poly17(l);
- poly18(l);
- poly19(l);
-
- poly20(l);
- poly21(l);
- poly22(l);
- poly23(l);
- poly24(l);
- poly25(l);
- poly26(l);
- poly27(l);
- poly28(l);
- poly29(l);
-
- poly30(l);
- poly31(l);
- poly32(l);
- poly33(l);
- poly34(l);
- poly35(l);
- poly36(l);
- poly37(l);
- poly38(l);
- poly39(l);
-
- poly40(l);
- poly41(l);
- poly42(l);
- poly43(l);
- poly44(l);
- poly45(l);
- poly46(l);
- poly47(l);
- poly48(l);
- poly49(l);
-
- poly50(l);
- poly51(l);
- poly52(l);
- poly53(l);
- poly54(l);
- poly55(l);
- poly56(l);
- poly57(l);
- poly58(l);
- poly59(l);
-
- poly60(l);
- poly61(l);
- poly62(l);
- poly63(l);
- poly64(l);
- poly65(l);
- poly66(l);
- poly67(l);
- poly68(l);
- poly69(l);
-
- poly70(l);
- poly71(l);
- poly72(l);
- poly73(l);
- poly74(l);
- poly75(l);
- poly76(l);
- poly77(l);
- poly78(l);
- poly79(l);
-
- poly80(l);
- poly81(l);
- poly82(l);
- poly83(l);
- poly84(l);
- poly85(l);
- poly86(l);
- poly87(l);
- poly88(l);
- poly89(l);
-
- poly90(l);
- poly91(l);
- poly92(l);
- poly93(l);
- poly94(l);
- poly95(l);
- poly96(l);
- poly97(l);
- poly98(l);
- poly99(l);
-
- poly100(l);
- poly101(l);
- poly102(l);
- poly103(l);
- poly104(l);
- poly105(l);
- poly106(l);
- poly107(l);
- poly108(l);
- poly109(l);
-
- poly110(l);
- poly111(l);
- poly112(l);
- poly113(l);
- poly114(l);
- poly115(l);
- poly116(l);
- poly117(l);
- poly118(l);
- poly119(l);
-
- poly120(l);
- poly121(l);
- poly122(l);
- poly123(l);
- poly124(l);
- poly125(l);
- poly126(l);
- poly127(l);
- poly128(l);
- poly129(l);
-
- poly130(l);
- poly131(l);
-
- return l;
-}
-
-void lion_render(struct lion *l)
-{
- VGint i;
-
- for (i = 0; i < LION_SIZE; ++i) {
- vgSetPaint(l->fills[i], VG_FILL_PATH);
- vgDrawPath(l->paths[i], VG_FILL_PATH);
- }
-}
-
-void lion_destroy(struct lion *l)
-{
- VGint i;
- for (i = 0; i < LION_SIZE; ++i) {
- vgDestroyPaint(l->fills[i]);
- vgDestroyPath(l->paths[i]);
- }
- free(l);
-}
diff --git a/progs/openvg/demos/lion-render.h b/progs/openvg/demos/lion-render.h
deleted file mode 100644
index c4c020b7ed..0000000000
--- a/progs/openvg/demos/lion-render.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef LION_RENDER_H
-#define LION_RENDER_H
-
-#include <VG/openvg.h>
-
-#define LION_SIZE 132
-struct lion {
- VGPath paths[LION_SIZE];
- VGPaint fills[LION_SIZE];
-};
-
-struct lion *lion_create(void);
-void lion_render(struct lion *l);
-void lion_destroy(struct lion *l);
-
-#endif
diff --git a/progs/openvg/demos/lion.c b/progs/openvg/demos/lion.c
deleted file mode 100644
index 7224fed399..0000000000
--- a/progs/openvg/demos/lion.c
+++ /dev/null
@@ -1,288 +0,0 @@
-#include <assert.h>
-#include <math.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-#include <X11/keysym.h>
-#include <VG/openvg.h>
-#include <GLES/egl.h>
-
-#include "lion-render.h"
-
-static VGint width, height;
-struct lion *lion = 0;
-VGfloat angle = 0;
-
-static void
-draw(void)
-{
- vgClear(0, 0, width, height);
-
- vgSeti(VG_MATRIX_MODE, VG_MATRIX_PATH_USER_TO_SURFACE);
- vgLoadIdentity();
- vgTranslate(width/2, height/2);
- vgRotate(angle);
- vgTranslate(-width/2, -height/2);
-
- lion_render(lion);
-
- ++angle;
-}
-
-
-/* new window size or exposure */
-static void
-reshape(int w, int h)
-{
- width = w;
- height = h;
-}
-
-
-static void
-init(void)
-{
- float clear_color[4] = {1.0, 1.0, 1.0, 1.0};
- vgSetfv(VG_CLEAR_COLOR, 4, clear_color);
-
- lion = lion_create();
-}
-
-
-/*
- * Create an RGB, double-buffered X window.
- * Return the window and context handles.
- */
-static void
-make_x_window(Display *x_dpy, EGLDisplay egl_dpy,
- const char *name,
- int x, int y, int width, int height,
- Window *winRet,
- EGLContext *ctxRet,
- EGLSurface *surfRet)
-{
- static const EGLint attribs[] = {
- EGL_RED_SIZE, 1,
- EGL_GREEN_SIZE, 1,
- EGL_BLUE_SIZE, 1,
- EGL_NONE
- };
-
- int scrnum;
- XSetWindowAttributes attr;
- unsigned long mask;
- Window root;
- Window win;
- XVisualInfo *visInfo, visTemplate;
- int num_visuals;
- EGLContext ctx;
- EGLConfig config;
- EGLint num_configs;
- EGLint vid;
-
- scrnum = DefaultScreen( x_dpy );
- root = RootWindow( x_dpy, scrnum );
-
- if (!eglChooseConfig( egl_dpy, attribs, &config, 1, &num_configs)) {
- printf("Error: couldn't get an EGL visual config\n");
- exit(1);
- }
-
- assert(config);
- assert(num_configs > 0);
-
- if (!eglGetConfigAttrib(egl_dpy, config, EGL_NATIVE_VISUAL_ID, &vid)) {
- printf("Error: eglGetConfigAttrib() failed\n");
- exit(1);
- }
-
- /* The X window visual must match the EGL config */
- visTemplate.visualid = vid;
- visInfo = XGetVisualInfo(x_dpy, VisualIDMask, &visTemplate, &num_visuals);
- if (!visInfo) {
- printf("Error: couldn't get X visual\n");
- exit(1);
- }
-
- /* window attributes */
- attr.background_pixel = 0;
- attr.border_pixel = 0;
- attr.colormap = XCreateColormap( x_dpy, root, visInfo->visual, AllocNone);
- attr.event_mask = StructureNotifyMask | ExposureMask | KeyPressMask;
- mask = CWBackPixel | CWBorderPixel | CWColormap | CWEventMask;
-
- win = XCreateWindow( x_dpy, root, 0, 0, width, height,
- 0, visInfo->depth, InputOutput,
- visInfo->visual, mask, &attr );
-
- /* set hints and properties */
- {
- XSizeHints sizehints;
- sizehints.x = x;
- sizehints.y = y;
- sizehints.width = width;
- sizehints.height = height;
- sizehints.flags = USSize | USPosition;
- XSetNormalHints(x_dpy, win, &sizehints);
- XSetStandardProperties(x_dpy, win, name, name,
- None, (char **)NULL, 0, &sizehints);
- }
-
- eglBindAPI(EGL_OPENVG_API);
-
- ctx = eglCreateContext(egl_dpy, config, EGL_NO_CONTEXT, NULL );
- if (!ctx) {
- printf("Error: eglCreateContext failed\n");
- exit(1);
- }
-
- *surfRet = eglCreateWindowSurface(egl_dpy, config, win, NULL);
-
- if (!*surfRet) {
- printf("Error: eglCreateWindowSurface failed\n");
- exit(1);
- }
-
- XFree(visInfo);
-
- *winRet = win;
- *ctxRet = ctx;
-}
-
-
-static void
-event_loop(Display *dpy, Window win,
- EGLDisplay egl_dpy, EGLSurface egl_surf)
-{
- while (1) {
- XEvent event;
-
- while (XPending(dpy) > 0) {
- XNextEvent(dpy, &event);
-
- switch (event.type) {
- case Expose:
- break;
- case ConfigureNotify:
- reshape(event.xconfigure.width, event.xconfigure.height);
- break;
- case KeyPress:
- {
- char buffer[10];
- int r, code;
- code = XLookupKeysym(&event.xkey, 0);
- r = XLookupString(&event.xkey, buffer, sizeof(buffer),
- NULL, NULL);
- if (buffer[0] == 27) {
- /* escape */
- return;
- }
- }
- break;
- default:
- ; /*no-op*/
- }
- }
-
- draw();
- eglSwapBuffers(egl_dpy, egl_surf);
- }
-}
-
-
-static void
-usage(void)
-{
- printf("Usage:\n");
- printf(" -display <displayname> set the display to run on\n");
- printf(" -info display OpenGL renderer info\n");
-}
-
-int
-main(int argc, char *argv[])
-{
- const int winWidth = 350, winHeight = 450;
- Display *x_dpy;
- Window win;
- EGLSurface egl_surf;
- EGLContext egl_ctx;
- EGLDisplay egl_dpy;
- char *dpyName = NULL;
- GLboolean printInfo = GL_FALSE;
- EGLint egl_major, egl_minor;
- int i;
- const char *s;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-display") == 0) {
- dpyName = argv[i+1];
- i++;
- }
- else if (strcmp(argv[i], "-info") == 0) {
- printInfo = GL_TRUE;
- }
- else {
- usage();
- return -1;
- }
- }
-
- x_dpy = XOpenDisplay(dpyName);
- if (!x_dpy) {
- printf("Error: couldn't open display %s\n",
- dpyName ? dpyName : getenv("DISPLAY"));
- return -1;
- }
-
- egl_dpy = eglGetDisplay(x_dpy);
- if (!egl_dpy) {
- printf("Error: eglGetDisplay() failed\n");
- return -1;
- }
-
- if (!eglInitialize(egl_dpy, &egl_major, &egl_minor)) {
- printf("Error: eglInitialize() failed\n");
- return -1;
- }
-
- s = eglQueryString(egl_dpy, EGL_VERSION);
- printf("EGL_VERSION = %s\n", s);
-
- make_x_window(x_dpy, egl_dpy,
- "Lion Example", 0, 0, winWidth, winHeight,
- &win, &egl_ctx, &egl_surf);
-
- XMapWindow(x_dpy, win);
- if (!eglMakeCurrent(egl_dpy, egl_surf, egl_surf, egl_ctx)) {
- printf("Error: eglMakeCurrent() failed\n");
- return -1;
- }
-
- if (printInfo) {
- printf("VG_RENDERER = %s\n", (char *) vgGetString(VG_RENDERER));
- printf("VG_VERSION = %s\n", (char *) vgGetString(VG_VERSION));
- printf("VG_VENDOR = %s\n", (char *) vgGetString(VG_VENDOR));
- }
-
- init();
-
- /* Set initial projection/viewing transformation.
- * We can't be sure we'll get a ConfigureNotify event when the window
- * first appears.
- */
- reshape(winWidth, winHeight);
-
- event_loop(x_dpy, win, egl_dpy, egl_surf);
-
- eglDestroyContext(egl_dpy, egl_ctx);
- eglDestroySurface(egl_dpy, egl_surf);
- eglTerminate(egl_dpy);
-
-
- XDestroyWindow(x_dpy, win);
- XCloseDisplay(x_dpy);
-
- return 0;
-}
diff --git a/progs/openvg/demos/sp.c b/progs/openvg/demos/sp.c
deleted file mode 100644
index 424ec47d69..0000000000
--- a/progs/openvg/demos/sp.c
+++ /dev/null
@@ -1,537 +0,0 @@
-#include "eglcommon.h"
-
-#include <VG/openvg.h>
-#include <VG/vgu.h>
-#include <stdio.h>
-#include <math.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <X11/keysym.h>
-
-#define ELEMENTS(x) (sizeof(x)/sizeof((x)[0]))
-
-struct object {
- VGPath path;
- VGPaint fill;
- VGPaint stroke;
- VGint draw_mode;
- VGfloat matrix[9];
- VGfloat stroke_width;
-};
-
-struct character {
- struct object objects[32];
- VGint num_objects;
-};
-VGfloat identity_matrix[] = {1, 0, 0, 0, 1, 0, 0, 0, 1};
-
-struct character cartman;
-
-static void add_object_fill(const VGubyte *segments, VGint num_segments,
- const VGfloat *coords,
- VGuint color)
-{
- struct object object;
-
- object.path = vgCreatePath(VG_PATH_FORMAT_STANDARD, VG_PATH_DATATYPE_F,
- 1, 0, 0, 0, VG_PATH_CAPABILITY_ALL);
- vgAppendPathData(object.path, num_segments, segments, coords);
-
- object.fill = vgCreatePaint();
- vgSetColor(object.fill, color);
- memcpy(object.matrix, identity_matrix, 9 * sizeof(VGfloat));
- object.draw_mode = VG_FILL_PATH;
-
- cartman.objects[cartman.num_objects] = object;
- ++cartman.num_objects;
-}
-
-
-static void add_object_stroke(const VGubyte *segments, VGint num_segments,
- const VGfloat *coords,
- VGuint color, VGfloat width)
-{
- struct object object;
-
- object.path = vgCreatePath(VG_PATH_FORMAT_STANDARD, VG_PATH_DATATYPE_F,
- 1, 0, 0, 0, VG_PATH_CAPABILITY_ALL);
- vgAppendPathData(object.path, num_segments, segments, coords);
-
- object.stroke = vgCreatePaint();
- vgSetColor(object.stroke, color);
- memcpy(object.matrix, identity_matrix, 9 * sizeof(VGfloat));
- object.draw_mode = VG_STROKE_PATH;
- object.stroke_width = width;
-
- cartman.objects[cartman.num_objects] = object;
- ++cartman.num_objects;
-}
-
-
-static void add_object_fillm(const VGubyte *segments, VGint num_segments,
- const VGfloat *coords,
- VGuint color,
- VGfloat *matrix)
-{
- struct object object;
-
- object.path = vgCreatePath(VG_PATH_FORMAT_STANDARD, VG_PATH_DATATYPE_F,
- 1, 0, 0, 0, VG_PATH_CAPABILITY_ALL);
- vgAppendPathData(object.path, num_segments, segments, coords);
-
- object.fill = vgCreatePaint();
- vgSetColor(object.fill, color);
- memcpy(object.matrix, matrix, 9 * sizeof(VGfloat));
- object.draw_mode = VG_FILL_PATH;
-
- cartman.objects[cartman.num_objects] = object;
- ++cartman.num_objects;
-}
-
-
-static void add_object_m(const VGubyte *segments, VGint num_segments,
- const VGfloat *coords,
- VGuint fill_color,
- VGuint stroke_color, VGfloat stroke_width,
- VGfloat *matrix)
-{
- struct object object;
-
- object.path = vgCreatePath(VG_PATH_FORMAT_STANDARD, VG_PATH_DATATYPE_F,
- 1, 0, 0, 0, VG_PATH_CAPABILITY_ALL);
- vgAppendPathData(object.path, num_segments, segments, coords);
- memcpy(object.matrix, matrix, 9 * sizeof(VGfloat));
-
- object.fill = vgCreatePaint();
- vgSetColor(object.fill, fill_color);
- object.draw_mode = VG_FILL_PATH | VG_STROKE_PATH;
-
- object.stroke = vgCreatePaint();
- vgSetColor(object.stroke, stroke_color);
- object.stroke_width = stroke_width;
-
- cartman.objects[cartman.num_objects] = object;
- ++cartman.num_objects;
-}
-
-static void init_character()
-{
- {
- const VGubyte segments[] = {VG_MOVE_TO_ABS,
- VG_CUBIC_TO_ABS,
- VG_CUBIC_TO_ABS,
- VG_CUBIC_TO_ABS,
- VG_CUBIC_TO_ABS,
- VG_CLOSE_PATH};
- const VGfloat coords[] = {181.83267, 102.60408,
- 181.83267,102.60408, 185.53793,114.5749, 186.5355,115.00243,
- 187.53306,115.42996, 286.0073,115.00243, 286.0073,115.00243,
- 286.0073,115.00243, 292.70526,103.45914, 290.85263,101.03648,
- 289.00001,98.61381, 181.54765,102.31906, 181.83267,102.60408
- };
- VGuint color = 0x7c4e32ff;
- add_object_fill(segments, ELEMENTS(segments),
- coords, color);
- }
- {
- const VGubyte segments[] = {
- VG_MOVE_TO_ABS,
- VG_CUBIC_TO_ABS,
- VG_CUBIC_TO_ABS,
- VG_LINE_TO_ABS,
- VG_CUBIC_TO_ABS,
- VG_CUBIC_TO_ABS,
- VG_CUBIC_TO_ABS,
- VG_CUBIC_TO_ABS,
- VG_CUBIC_TO_ABS,
- VG_CUBIC_TO_ABS,
- VG_CLOSE_PATH
- };
- const VGfloat coords[] = {188.62208,50.604156,
- 188.62208,50.604156, 176.73127,60.479579, 170.68509,69.548844,
- 164.63892,78.618109, 175.11895,79.827344, 175.11895,79.827344,
- 176.52973,98.368952,
- 176.52973,98.368952, 189.83131,110.05823, 208.97754,110.25976,
- 228.12377,110.46131, 244.24691,111.67054, 247.06846,110.25976,
- 249.89,108.849, 258.95927,106.8336, 260.16851,105.01975,
- 261.37774,103.2059, 296.84865,106.43053, 297.05019,91.919698,
- 297.25172,77.408874, 306.11945,64.308824, 282.13628,51.611853,
- 258.15311,38.914882, 189.2267,49.999539, 188.62208,50.604156
- };
-
- VGuint color = 0xe30000ff;
- add_object_fill(segments, ELEMENTS(segments),
- coords, color);
- }
- {
- const VGubyte segments[] = {
- VG_MOVE_TO_ABS,
- VG_CUBIC_TO_ABS,
- VG_CUBIC_TO_ABS,
- VG_CUBIC_TO_ABS,
- VG_CUBIC_TO_ABS,
- VG_CLOSE_PATH
- };
- const VGfloat coords[] = {
- 68.25, 78.875,
- 68.25,93.296, 54.642,105, 37.875,105,
- 21.108,105, 7.5,93.296, 7.5,78.875,
- 7.5,64.454, 21.108,52.75, 37.875,52.75,
- 54.642,52.75, 68.25,64.454, 68.25,78.875
- };
-
- VGuint color = 0xffe1c4ff;
- VGfloat matrix[] = {
- 1.6529, 0, 0,
- 0, 1.582037, 0,
- 172.9649,-90.0116, 1
- };
- add_object_fillm(segments, ELEMENTS(segments),
- coords, color, matrix);
- }
- {
- const VGubyte segments[] = {
- VG_MOVE_TO_ABS, VG_CUBIC_TO_ABS, VG_CUBIC_TO_ABS, VG_CUBIC_TO_ABS,
- VG_CUBIC_TO_ABS, VG_CUBIC_TO_ABS, VG_CLOSE_PATH
- };
- const VGfloat coords[] = {
- 170.14687,71.536958,
- 173.53626,68.814326, 176.70232,68.971782, 180.55009,71.679467,
- 184.39785,74.387153, 199.19294,80.036105, 191.52334,86.500482,
- 189.02942,88.6025, 183.97032,85.787933, 180.26507,86.928011,
- 178.8737,87.356121, 174.71827,89.783259, 171.8028,87.494856,
- 166.95426,83.689139, 163.51779,76.861986, 170.14687,71.536958
- };
-
- VGuint color = 0xfff200ff;
- add_object_fill(segments, ELEMENTS(segments),
- coords, color);
- }
- {
- const VGubyte segments[] = {
- VG_MOVE_TO_ABS, VG_CUBIC_TO_ABS, VG_CUBIC_TO_ABS,
- VG_CUBIC_TO_ABS, VG_CUBIC_TO_ABS, VG_CUBIC_TO_ABS,
- VG_CUBIC_TO_ABS, VG_CLOSE_PATH
- };
- const VGfloat coords[] = {
- 299.83075,66.834136,
- 299.83075,66.834136, 287.85993,64.69649, 284.15467,72.962055,
- 280.44942,81.227621, 280.1644,78.234916, 280.1644,79.374994,
- 280.1644,80.515072, 278.16927,84.077816, 284.86722,83.792796,
- 291.56518,83.507777, 291.99271,86.785501, 294.84291,86.642991,
- 297.6931,86.500482, 303.536,85.645423, 303.67851,80.657582,
- 303.82102,75.66974, 302.68094,65.551548, 299.83075,66.834136
- };
-
- VGuint color = 0xfff200ff;
- add_object_fill(segments, ELEMENTS(segments),
- coords, color);
- }
- {
- const VGubyte segments[] = {
- VG_MOVE_TO_ABS, VG_CUBIC_TO_ABS, VG_CUBIC_TO_ABS, VG_CUBIC_TO_ABS
- };
- const VGfloat coords[] = {
- 240.83171,75.81225,
- 240.83171,75.81225, 241.54426,88.495618, 242.25681,91.488323,
- 242.96936,94.481028, 240.6892,108.01945, 240.83171,110.01459,
- 240.97422,112.00973, 240.97422,111.01216, 240.97422,111.01216
- };
- VGuint color = 0x000000ff;
- VGfloat swidth = 1.14007807;
- add_object_stroke(segments, ELEMENTS(segments), coords, color, swidth);
- }
- {
- const VGubyte segments[] = {
- VG_MOVE_TO_ABS, VG_CUBIC_TO_ABS, VG_CUBIC_TO_ABS, VG_CUBIC_TO_ABS,
- VG_CUBIC_TO_ABS, VG_LINE_TO_ABS, VG_LINE_TO_ABS, VG_CLOSE_PATH
- };
- const VGfloat coords[] = {
- 83.375, 95.5,
- 83.375,96.121, 83.067,96.625, 82.6875,96.625,
- 82.308,96.625, 82,96.121, 82,95.5,
- 82,94.879, 82.308,94.375, 82.6875,94.375,
- 83.066677,94.375, 83.374492,94.878024, 83.374999,95.498494,
- 82.6875,95.5,
- 83.375,95.5
- };
- VGuint fill_color = 0x000000ff;
- VGuint stroke_color = 0x000000ff;
- VGfloat swidth = 0.60000002;
- VGfloat matrix1[] = {
- 1.140078, 0, 0,
- 0, 1.140078, 0,
- 145.4927, -15.10897, 1
- };
- VGfloat matrix2[] = {
- 1.140078,0, 0,
- 0,1.140078, 0,
- 144.2814,-27.93485, 1
- };
- VGfloat matrix3[] = {
- 1.140078,0, 0,
- 0,1.140078, 0,
- 144.1388,-3.70819, 1
- };
- add_object_m(segments, ELEMENTS(segments), coords,
- fill_color, stroke_color, swidth, matrix1);
- add_object_m(segments, ELEMENTS(segments), coords,
- fill_color, stroke_color, swidth, matrix2);
- add_object_m(segments, ELEMENTS(segments), coords,
- fill_color, stroke_color, swidth, matrix3);
- }
- {
- const VGubyte segments[] = {
- VG_MOVE_TO_ABS,
- VG_CUBIC_TO_ABS, VG_CUBIC_TO_ABS,
- VG_LINE_TO_ABS, VG_CLOSE_PATH
- };
- const VGfloat coords[] = {
- 179.41001,115.28745,
- 179.41001,115.28745, 207.48443,109.30204, 236.84144,115.14494,
- 236.84144,115.14494, 274.74903,109.87208, 291.8502,115.42996,
- 179.41001,115.28745
- };
-
- VGuint color = 0x000000ff;
- add_object_fill(segments, ELEMENTS(segments),
- coords, color);
- }
- {
- const VGubyte segments[] = {
- VG_MOVE_TO_ABS, VG_CUBIC_TO_ABS, VG_CUBIC_TO_ABS, VG_CUBIC_TO_ABS,
- VG_CUBIC_TO_ABS, VG_LINE_TO_ABS, VG_LINE_TO_ABS, VG_CLOSE_PATH
- };
- const VGfloat coords[] = {
- 83.792156,68.157364,
- 83.792156,69.669865, 82.72301,70.897403, 81.40567,70.897403,
- 80.08833,70.897403, 79.019185,69.669865, 79.019185,68.157364,
- 79.019185,66.644862, 80.08833,65.417325, 81.40567,65.417325,
- 82.721887,65.417325, 83.790391,66.642485, 83.792153,68.153696,
- 81.40567,68.157364,
- 83.792156,68.157364
- };
- VGuint fill_color = 0x000000ff;
- VGuint stroke_color = 0x000000ff;
- VGfloat swidth = 0.52891117;
- VGfloat matrix1[] = {
- 1.140078,0, 0,
- 0,1.140078, 0,
- 145.2489,-15.58714, 1
- };
- add_object_m(segments, ELEMENTS(segments), coords,
- fill_color, stroke_color, swidth, matrix1);
- }
- {
- const VGubyte segments[] = {
- VG_MOVE_TO_ABS, VG_CUBIC_TO_ABS
- };
- const VGfloat coords[] = {
- 232.28113,66.976646,
- 232.28113,66.976646, 237.98152,70.539389, 245.39202,66.549116
- };
- VGuint color = 0x000000ff;
- VGfloat swidth = 0.60299999;
- add_object_stroke(segments, ELEMENTS(segments), coords, color, swidth);
- }
- {
- const VGubyte segments[] = {
- VG_MOVE_TO_ABS, VG_CUBIC_TO_ABS, VG_CUBIC_TO_ABS, VG_CUBIC_TO_ABS,
- VG_CUBIC_TO_ABS, VG_CUBIC_TO_ABS, VG_CLOSE_PATH
- };
- const VGfloat coords[] = {
- 185.96908,30.061986,
- 185.96908,30.061986, 187.76995,14.508377, 203.23909,3.7427917,
- 209.95028,-0.92779696, 219.37764,-4.9841866, 232.1078,-6.00046,
- 246.13578,-7.1203411, 256.92106,-2.8560739, 264.81774,1.9451947,
- 280.60485,11.543934, 284.31582,25.937274, 284.08015,26.526452,
- 283.7266,27.410336, 240.83461,1.9346323, 185.96908,30.061986
- };
- VGuint color = 0x8ed8f8ff;
- add_object_fill(segments, ELEMENTS(segments), coords, color);
- }
- {
- const VGubyte segments[] = {
- VG_MOVE_TO_ABS, VG_LINE_TO_ABS, VG_CUBIC_TO_ABS,
- VG_LINE_TO_ABS, VG_CUBIC_TO_ABS, VG_CLOSE_PATH
- };
- const VGfloat coords[] = {
- 185.39542,32.061757,
- 185.82295,29.211562,
- 185.82295,29.211562, 234.70379,2.277219, 284.01217,25.078779,
- 284.86722,27.643954,
- 284.86722,27.643954, 236.69893,4.5573746, 185.39542,32.061757
- };
- VGuint color = 0xfff200ff;
- add_object_fill(segments, ELEMENTS(segments), coords, color);
- }
-
- {
- const VGubyte segments[] = {
- VG_MOVE_TO_ABS, VG_CUBIC_TO_ABS, VG_CUBIC_TO_ABS, VG_CUBIC_TO_ABS,
- VG_CUBIC_TO_ABS, VG_CUBIC_TO_ABS, VG_CUBIC_TO_ABS, VG_CUBIC_TO_ABS,
- VG_CUBIC_TO_ABS, VG_CUBIC_TO_ABS, VG_CUBIC_TO_ABS, VG_CUBIC_TO_ABS,
- VG_CUBIC_TO_ABS, VG_CLOSE_PATH
- };
- const VGfloat coords[] = {
- 219.74027,-5.917093,
- 220.49206,-8.44929, 225.15564,-10.904934, 230.21473,-11.189954,
- 235.27383,-11.474973, 243.27521,-13.287236, 249.21385,-5.724198,
- 249.89961,-4.850868, 249.28247,-4.332166, 248.62298,-3.971398,
- 247.79117,-3.516361, 247.13703,-3.392737, 246.16222,-3.408047,
- 243.63973,-3.447664, 242.54183,-3.850701, 242.54183,-3.850701,
- 242.54183,-3.850701, 238.78367,-1.737343, 236.20014,-3.565682,
- 233.88436,-5.204544, 234.27626,-4.56325, 234.27626,-4.56325,
- 234.27626,-4.56325, 232.33303,-2.975658, 230.85603,-2.995643,
- 228.59433,-3.025282, 227.73672,-4.501857, 227.21966,-4.93027,
- 226.76318,-4.932008, 226.50948,-4.491995, 226.50948,-4.491995,
- 226.50948,-4.491995, 224.53199,-2.085883, 222.51431,-2.467064,
- 221.48814,-2.66093, 218.91968,-3.15318, 219.74027,-5.917093
- };
- VGuint color = 0xfff200ff;
- add_object_fill(segments, ELEMENTS(segments), coords, color);
- }
- {
- const VGubyte segments[] = {
- VG_MOVE_TO_ABS, VG_CUBIC_TO_ABS, VG_CUBIC_TO_ABS,
- VG_CUBIC_TO_ABS, VG_CUBIC_TO_ABS, VG_CLOSE_PATH
- };
- const VGfloat coords[] = {
- 178.97347,166.06432,
- 178.97347,181.2154, 168.0245,193.51193, 154.53381,193.51193,
- 141.04312,193.51193, 130.09416,181.2154, 130.09416,166.06432,
- 130.09416,150.91323, 141.04312,138.6167, 154.53381,138.6167,
- 168.0245,138.6167, 178.97347,150.91323, 178.97347,166.06432
- };
- VGuint color = 0xffffffff;
- VGfloat matrix1[] = {
- 0.466614,-0.23492, 0,
- 0.108683,0.436638, 0,
- 134.5504,-0.901632, 1
- };
- VGfloat matrix2[] = {
- -0.466614,-0.23492, 0,
- -0.108683,0.436638, 0,
- 338.4496,-0.512182, 1
- };
- add_object_fillm(segments, ELEMENTS(segments), coords, color, matrix1);
- add_object_fillm(segments, ELEMENTS(segments), coords, color, matrix2);
- }
- {
- const VGubyte segments[] = {
- VG_MOVE_TO_ABS, VG_CUBIC_TO_ABS, VG_CUBIC_TO_ABS,
- VG_CUBIC_TO_ABS, VG_CUBIC_TO_ABS, VG_CLOSE_PATH
- };
- const VGfloat coords[] = {
- 123.82758,165.06168,
- 123.82758,166.79125, 122.59232,168.19497, 121.07029,168.19497,
- 119.54826,168.19497, 118.313,166.79125, 118.313,165.06168,
- 118.313,163.3321, 119.54826,161.92839, 121.07029,161.92839,
- 122.59232,161.92839, 123.82758,163.3321, 123.82758,165.06168
- };
- VGuint color = 0x000000ff;
- VGfloat matrix1[] = {
- 0.525719,0, 0,
- 0,0.479931, 0,
- 178.9702,-43.3532, 1
- };
- VGfloat matrix2[] = {
- 0.525719,0, 0,
- 0,0.479931, 0,
- 165.258,-43.46162, 1
- };
- add_object_fillm(segments, ELEMENTS(segments), coords, color, matrix1);
- add_object_fillm(segments, ELEMENTS(segments), coords, color, matrix2);
- }
- {
- const VGubyte segments[] = {
- VG_MOVE_TO_ABS, VG_CUBIC_TO_ABS, VG_CUBIC_TO_ABS
- };
- const VGfloat coords[] = {
- 197.25,54.5,
- 197.25,54.5, 211.75,71.5, 229.25,71.5,
- 246.75,71.5, 261.74147,71.132714, 277.75,50.75
- };
- VGuint color = 0x000000ff;
- VGfloat swidth = 0.60299999;
- add_object_stroke(segments, ELEMENTS(segments), coords, color, swidth);
- }
-}
-
-
-static void
-init(void)
-{
- float clear_color[4] = {1.0, 1.0, 1.0, 1.0};
- vgSetfv(VG_CLEAR_COLOR, 4, clear_color);
-
- init_character();
-}
-
-/* new window size or exposure */
-static void
-reshape(int w, int h)
-{
-}
-
-static int
-key_press(unsigned key)
-{
- switch(key) {
- case XK_Right:
-
- break;
- case XK_Left:
- break;
- case XK_Up:
- break;
- case XK_Down:
- break;
- case 'a':
- break;
- case 's':
- break;
- default:
- break;
- }
- return VG_FALSE;
-}
-
-static void
-draw(void)
-{
- VGint i;
- VGfloat save_matrix[9];
-
- vgClear(0, 0, window_width(), window_height());
-
- vgSeti(VG_MATRIX_MODE, VG_MATRIX_PATH_USER_TO_SURFACE);
- vgLoadIdentity();
- vgScale(2, 2);
- vgTranslate(160, 60);
- vgRotate(180);
- vgTranslate(-160, -100);
- vgGetMatrix(save_matrix);
- for (i = 0; i < cartman.num_objects; ++i) {
- struct object object = cartman.objects[i];
- if ((object.draw_mode & VG_STROKE_PATH)) {
- vgSetf(VG_STROKE_LINE_WIDTH, object.stroke_width);
- vgSetPaint(object.stroke, VG_STROKE_PATH);
- }
- if ((object.draw_mode & VG_FILL_PATH))
- vgSetPaint(object.fill, VG_FILL_PATH);
- vgMultMatrix(object.matrix);
- vgDrawPath(object.path, object.draw_mode);
- vgLoadMatrix(save_matrix);
- }
-
- vgFlush();
-}
-
-
-int main(int argc, char **argv)
-{
- set_window_size(400, 400);
- return run(argc, argv, init, reshape, draw, key_press);
-}
diff --git a/progs/openvg/trivial/Makefile b/progs/openvg/trivial/Makefile
deleted file mode 100644
index fcb3484377..0000000000
--- a/progs/openvg/trivial/Makefile
+++ /dev/null
@@ -1,127 +0,0 @@
-# These programs aren't intended to be included with the normal distro.
-# They're not too interesting but they're good for testing.
-
-TOP = ../../../
-include $(TOP)/configs/current
-
-INCLUDES = -I. -I$(TOP)/include
-LIBS=-L$(TOP)/$(LIB_DIR) -lm -lX11 -lEGL -lOpenVG -lpthread
-CFLAGS += $(INCLUDES)
-
-HEADERS=eglcommon.h
-
-PROGRAMS = \
- arc \
- cap \
- clear \
- coord \
- dash \
- ellipse \
- filter \
- gradorigin \
- lineto \
- lingrad \
- lookup \
- mask4 \
- mask \
- path3 \
- radialgrad \
- readpixels \
- roundedrect \
- star-nonzero \
- star-oddeven \
- stroke2 \
- stroke \
- vguarc
-
-
-.c.o:
- $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $< -o $@
-
-
-
-default: $(PROGRAMS)
-
-
-arc: arc.c eglcommon.o
- $(CC) $(CFLAGS) $^ $(LIBS) $(APP_LIB_DEPS) -o $@
-
-cap: cap.c eglcommon.o
- $(CC) $(CFLAGS) $^ $(LIBS) $(APP_LIB_DEPS) -o $@
-
-clear: clear.c eglcommon.o
- $(CC) $(CFLAGS) $^ $(LIBS) $(APP_LIB_DEPS) -o $@
-
-coord: coord.c eglcommon.o
- $(CC) $(CFLAGS) $^ $(LIBS) $(APP_LIB_DEPS) -o $@
-
-dash: dash.c eglcommon.o
- $(CC) $(CFLAGS) $^ $(LIBS) $(APP_LIB_DEPS) -o $@
-
-ellipse: ellipse.c eglcommon.o
- $(CC) $(CFLAGS) $^ $(LIBS) $(APP_LIB_DEPS) -o $@
-
-filter: filter.c eglcommon.o
- $(CC) $(CFLAGS) $^ $(LIBS) $(APP_LIB_DEPS) -o $@
-
-gradorigin: gradorigin.c eglcommon.o
- $(CC) $(CFLAGS) $^ $(LIBS) $(APP_LIB_DEPS) -o $@
-
-image: image.c eglcommon.o
- $(CC) $(CFLAGS) $^ $(LIBS) $(APP_LIB_DEPS) -o $@
-
-lineto: lineto.c eglcommon.o
- $(CC) $(CFLAGS) $^ $(LIBS) $(APP_LIB_DEPS) -o $@
-
-lingrad: lingrad.c eglcommon.o
- $(CC) $(CFLAGS) $^ $(LIBS) $(APP_LIB_DEPS) -o $@
-
-lookup: lookup.c eglcommon.o
- $(CC) $(CFLAGS) $^ $(LIBS) $(APP_LIB_DEPS) -o $@
-
-mask: mask.c eglcommon.o
- $(CC) $(CFLAGS) $^ $(LIBS) $(APP_LIB_DEPS) -o $@
-
-mask4: mask4.c eglcommon.o
- $(CC) $(CFLAGS) $^ $(LIBS) $(APP_LIB_DEPS) -o $@
-
-path3: path3.c eglcommon.o
- $(CC) $(CFLAGS) $^ $(LIBS) $(APP_LIB_DEPS) -o $@
-
-pattern: pattern.c eglcommon.o
- $(CC) $(CFLAGS) $^ $(LIBS) $(APP_LIB_DEPS) -o $@
-
-radialgrad: radialgrad.c eglcommon.o
- $(CC) $(CFLAGS) $^ $(LIBS) $(APP_LIB_DEPS) -o $@
-
-readpixels: readpixels.c eglcommon.o
- $(CC) $(CFLAGS) $^ $(LIBS) $(APP_LIB_DEPS) -o $@
-
-roundedrect: roundedrect.c eglcommon.o
- $(CC) $(CFLAGS) $^ $(LIBS) $(APP_LIB_DEPS) -o $@
-
-star-nonzero: star-nonzero.c eglcommon.o
- $(CC) $(CFLAGS) $^ $(LIBS) $(APP_LIB_DEPS) -o $@
-
-star-oddeven: star-oddeven.c eglcommon.o
- $(CC) $(CFLAGS) $^ $(LIBS) $(APP_LIB_DEPS) -o $@
-
-stroke: stroke.c eglcommon.o
- $(CC) $(CFLAGS) $^ $(LIBS) $(APP_LIB_DEPS) -o $@
-
-stroke2: stroke2.c eglcommon.o
- $(CC) $(CFLAGS) $^ $(LIBS) $(APP_LIB_DEPS) -o $@
-
-vguarc: vguarc.c eglcommon.o
- $(CC) $(CFLAGS) $^ $(LIBS) $(APP_LIB_DEPS) -o $@
-
-
-
-eglcommon.o: eglcommon.c $(HEADERS)
- $(CC) -c $(CFLAGS) eglcommon.c
-
-
-clean:
- rm -f *.o *~
- rm -f *.so
- rm -f $(PROGRAMS)
diff --git a/progs/openvg/trivial/arc.c b/progs/openvg/trivial/arc.c
deleted file mode 100644
index db686bea6b..0000000000
--- a/progs/openvg/trivial/arc.c
+++ /dev/null
@@ -1,139 +0,0 @@
-#include "eglcommon.h"
-
-#include <VG/openvg.h>
-#include <math.h>
-
-const VGfloat clear_color[4] = {1.0, 1.0, 1.0, 1.0};
-const VGfloat color[4] = {1.0, 1.0, 1.0, 0.5};
-
-VGPath vgPath;
-
-static void ellipse(VGPath vgPath, VGfloat rx, VGfloat ry, VGfloat angle)
-{
- static const VGubyte cmd[] =
- { VG_MOVE_TO_ABS, VG_SCCWARC_TO_REL, VG_SCCWARC_TO_REL, VG_CLOSE_PATH };
-
- VGfloat val[12];
- VGfloat c = cos(angle) * rx;
- VGfloat s = sin(angle) * rx;
-
- val[0] = c;
- val[1] = s;
- val[2] = rx;
- val[3] = ry;
- val[4] = angle;
- val[5] = -2.0f * c;
- val[6] = -2.0f * s;
- val[7] = rx;
- val[8] = ry;
- val[9] = angle;
- val[10] = 2.0f * c;
- val[11] = 2.0f * s;
-
- vgClearPath(vgPath, VG_PATH_CAPABILITY_ALL);
- vgAppendPathData(vgPath, sizeof(cmd), cmd, val);
- vgDrawPath(vgPath, VG_FILL_PATH | VG_STROKE_PATH);
-}
-
-static void
-init(void)
-{
- VGPaint vgPaint;
-
- vgSetfv(VG_CLEAR_COLOR, 4, clear_color);
- vgPath = vgCreatePath(VG_PATH_FORMAT_STANDARD,
- VG_PATH_DATATYPE_F, 1.0f, 0.0f, 0, 0,
- VG_PATH_CAPABILITY_ALL);
-
- vgPaint = vgCreatePaint();
- vgSetParameteri(vgPaint, VG_PAINT_TYPE, VG_PAINT_TYPE_COLOR);
- vgSetColor(vgPaint, 0x00ff00ff);
- vgSetPaint(vgPaint, VG_FILL_PATH);
-
- vgSeti(VG_RENDERING_QUALITY, VG_RENDERING_QUALITY_NONANTIALIASED);
- vgSeti(VG_BLEND_MODE, VG_BLEND_SRC_OVER);
- vgSetf(VG_STROKE_LINE_WIDTH, 2.0f);
- vgSeti(VG_STROKE_CAP_STYLE, VG_CAP_SQUARE);
- vgSeti(VG_STROKE_JOIN_STYLE, VG_JOIN_MITER);
- vgSetf(VG_STROKE_MITER_LIMIT, 4.0f);
- vgSeti(VG_MATRIX_MODE, VG_MATRIX_PATH_USER_TO_SURFACE);
-}
-
-/* new window size or exposure */
-static void
-reshape(int w, int h)
-{
-}
-
-static void
-draw(void)
-{
- vgClear(0, 0, window_width(), window_height());
-
-#if 0
- vgLoadIdentity();
- vgTranslate(40.0f, 24.0f);
- vgScale(0.61804f, 0.61804f);
- vgShear(-1.0f, 0.0f);
- vgDrawPath(vgPath, VG_FILL_PATH | VG_STROKE_PATH);
-#else
-
- /* row 1, col 1: Identity transform. */
-
- vgLoadIdentity();
- vgTranslate(8.0f, 8.0f);
- ellipse(vgPath, 4.0f, 4.0f, 0.0f);
-
- /* row 1, col 2: 10^3 horizontal squeeze. */
-
- vgLoadIdentity();
- vgTranslate(24.0f, 8.0f);
- vgScale(1.0e-3f, 1.0f);
- ellipse(vgPath, 4.0e3f, 4.0f, 0.0f);
-
- /* row 1, col 3: 10^6 horizontal squeeze. */
-
- vgLoadIdentity();
- vgTranslate(40.0f, 8.0f);
- vgScale(1.0e-6f, 1.0f);
- ellipse(vgPath, 4.0e6f, 4.0f, 0.0f);
-
- /* row 1, col 4: 10^9 horizontal squeeze. */
-
- vgLoadIdentity();
- vgTranslate(56.0f, 8.0f);
- vgScale(1.0e-9f, 1.0f);
- ellipse(vgPath, 4.0e9f, 4.0f, 0.0f);
-
- /* row 2, col 1: 10^3 vertical squeeze. */
-
- vgLoadIdentity();
- vgTranslate(8.0f, 24.0f);
- vgScale(1.0f, 1.0e-3f);
- ellipse(vgPath, 4.0f, 4.0e3f, 0.0f);
-
- /* row 2, col 2: Shear 0. */
-
- vgLoadIdentity();
- vgTranslate(24.0f, 24.0f);
- vgShear(0.0f, 0.0f);
- ellipse(vgPath, 4.0f, 4.0f, 0.0f);
-
- /* row 2, col 3: Horizontal shear -1. */
-
- vgLoadIdentity();
- vgTranslate(40.0f, 24.0f);
- vgScale(0.61804f, 0.61804f);
- vgShear(-1.0f, 0.0f);
- ellipse(vgPath, 10.47213f, 4.0f, 31.717f);
-#endif
- vgFlush();
-}
-
-
-int main(int argc, char **argv)
-{
- set_window_size(64, 64);
- return run(argc, argv, init, reshape,
- draw, 0);
-}
diff --git a/progs/openvg/trivial/cap.c b/progs/openvg/trivial/cap.c
deleted file mode 100644
index cd84fe3ac0..0000000000
--- a/progs/openvg/trivial/cap.c
+++ /dev/null
@@ -1,75 +0,0 @@
-#include "eglcommon.h"
-
-#include <VG/openvg.h>
-
-#include <math.h>
-#include <stdlib.h>
-#include <stdio.h>
-
-static void
-init(void)
-{
-
-}
-
-/* new window size or exposure */
-static void
-reshape(int w, int h)
-{
-}
-
-const int subtest = 0;
-static void
-draw(void)
-{
- VGPath line;
- VGPaint fillPaint;
- VGubyte lineCommands[3] = {VG_MOVE_TO_ABS, VG_LINE_TO_ABS, VG_LINE_TO_ABS};
- VGfloat lineCoords[] = {-2.0f,-1.0f, 0.0f,0.0f, -1.0f, -2.0f};
- VGfloat clearColor[] = {0.0f, 0.0f, 0.0f, 1.0f};/* black color */
- VGfloat fillColor[] = {1.0f, 1.0f, 1.0f, 1.0f};/* white color */
- //VGfloat testRadius = 60.0f;
- VGfloat testRadius = 10.0f;
- int WINDSIZEX = window_width();
- int WINDSIZEY = window_height();
-
- line = vgCreatePath(VG_PATH_FORMAT_STANDARD, VG_PATH_DATATYPE_F,
- 1.0f, 0.0f, 0, 0, VG_PATH_CAPABILITY_ALL);
- fillPaint = vgCreatePaint();
-
- vgSetf(VG_STROKE_LINE_WIDTH, 1.0f);
- //vgSeti(VG_STROKE_CAP_STYLE, VG_CAP_ROUND);
- vgSeti(VG_STROKE_CAP_STYLE, VG_CAP_BUTT);
- vgSeti(VG_STROKE_JOIN_STYLE, VG_JOIN_ROUND);
- //vgSeti(VG_STROKE_JOIN_STYLE, VG_JOIN_BEVEL);
-
- vgSeti(VG_RENDERING_QUALITY, VG_RENDERING_QUALITY_BETTER);
-
- vgSeti(VG_MATRIX_MODE, VG_MATRIX_PATH_USER_TO_SURFACE);
- vgLoadIdentity();
- vgTranslate(60, 60);
- vgScale(testRadius * 2, testRadius * 2);
-
- vgAppendPathData(line, 3, lineCommands, lineCoords);
-
- vgSetfv(VG_CLEAR_COLOR, 4, clearColor);
-
- vgSetPaint(fillPaint, VG_STROKE_PATH);
-
- vgSetParameterfv(fillPaint, VG_PAINT_COLOR, 4, fillColor);
- vgSetParameteri( fillPaint, VG_PAINT_TYPE, VG_PAINT_TYPE_COLOR);
-
- vgClear(0, 0, WINDSIZEX, WINDSIZEY);
- vgDrawPath(line, VG_STROKE_PATH);
-
- vgDestroyPath(line);
- vgDestroyPaint(fillPaint);
-}
-
-
-int main(int argc, char **argv)
-{
- set_window_size(100, 100);
- return run(argc, argv, init, reshape,
- draw, 0);
-}
diff --git a/progs/openvg/trivial/clear.c b/progs/openvg/trivial/clear.c
deleted file mode 100644
index efb6bf4182..0000000000
--- a/progs/openvg/trivial/clear.c
+++ /dev/null
@@ -1,42 +0,0 @@
-#include "eglcommon.h"
-
-#include <VG/openvg.h>
-#include <stdio.h>
-
-float red_color[4] = {1.0, 0.0, 0.0, 1.0};
-float blue_color[4] = {0.0, 0.0, 1.0, 1.0};
-
-static void
-init(void)
-{
-}
-
-/* new window size or exposure */
-static void
-reshape(int w, int h)
-{
- vgLoadIdentity();
-}
-
-static void
-draw(void)
-{
- VGint scissor[4] = {100, 100, 25, 25};
- vgSetfv(VG_CLEAR_COLOR, 4, red_color);
- vgClear(0, 0, window_width(), window_height());
-
- vgSetfv(VG_CLEAR_COLOR, 4, blue_color);
- vgClear(50, 50, 50, 50);
-
- //vgSetiv(VG_SCISSOR_RECTS, 4, scissor);
- //vgSeti(VG_SCISSORING, VG_TRUE);
- vgCopyPixels(100, 100, 50, 50, 50, 50);
- vgClear(150, 150, 50, 50);
-}
-
-
-int main(int argc, char **argv)
-{
- return run(argc, argv, init, reshape,
- draw, 0);
-}
diff --git a/progs/openvg/trivial/coord.c b/progs/openvg/trivial/coord.c
deleted file mode 100644
index 81f7cb6fc9..0000000000
--- a/progs/openvg/trivial/coord.c
+++ /dev/null
@@ -1,66 +0,0 @@
-#include "eglcommon.h"
-
-#include <VG/openvg.h>
-
-const VGfloat white_color[4] = {1.0, 1.0, 1.0, 1.0};
-const VGfloat color[4] = {0.4, 0.1, 1.0, 1.0};
-
-VGPath path;
-VGPaint fill;
-
-
-static void
-init(void)
-{
- /* Absent VG_CLOSE_PATH */
- VGubyte commands[] = {VG_MOVE_TO_ABS, VG_LINE_TO_ABS, VG_LINE_TO_ABS, VG_LINE_TO_ABS,
- VG_MOVE_TO_ABS, VG_LINE_TO_ABS, VG_LINE_TO_ABS, VG_LINE_TO_ABS};
- VGfloat clearColor[] = {1.0f, 1.0f, 1.0f, 1.0f};/* white color */
- VGfloat fillColor[] = {1.0f, 0.0f, 0.0f, 1.0f};/* red color */
- VGfloat coords[] = {-16.0f, -16.0f, 0.0f, -16.0f, 0.0f, 0.0f, -16.0f, 0.0f,
- 0.0f, 0.0f, 16.0f, 0.0f, 16.0f, 16.0f, 0.0f, 16.0f};
-
- vgSetfv(VG_CLEAR_COLOR, 4, clearColor);
- vgSeti(VG_RENDERING_QUALITY, VG_RENDERING_QUALITY_NONANTIALIASED);
-
- vgSeti(VG_MATRIX_MODE, VG_MATRIX_PATH_USER_TO_SURFACE);
- vgLoadIdentity();
- vgTranslate(32.0f, 32.0f);
-
- path = vgCreatePath(VG_PATH_FORMAT_STANDARD, VG_PATH_DATATYPE_F, 1.0f, 0.0f, 0, 0,
- VG_PATH_CAPABILITY_ALL);
- if (path == VG_INVALID_HANDLE)
- return;
- fill = vgCreatePaint();
- if (fill == VG_INVALID_HANDLE) {
- vgDestroyPath(path);
- return;
- }
- vgAppendPathData(path, 8, commands, coords);
- vgSetPaint(fill, VG_FILL_PATH);
- vgSetParameterfv(fill, VG_PAINT_COLOR, 4, fillColor);
- vgSetParameteri(fill, VG_PAINT_TYPE, VG_PAINT_TYPE_COLOR);
-}
-
-/* new window size or exposure */
-static void
-reshape(int w, int h)
-{
-}
-
-static void
-draw(void)
-{
- vgClear(0, 0, window_width(), window_height());
- vgDrawPath(path, VG_FILL_PATH);
-
- vgFlush();
-}
-
-
-int main(int argc, char **argv)
-{
- set_window_size(64, 64);
- return run(argc, argv, init, reshape,
- draw, 0);
-}
diff --git a/progs/openvg/trivial/dash.c b/progs/openvg/trivial/dash.c
deleted file mode 100644
index 2e84ddbd4e..0000000000
--- a/progs/openvg/trivial/dash.c
+++ /dev/null
@@ -1,95 +0,0 @@
-#include "eglcommon.h"
-
-#include <VG/openvg.h>
-#include <X11/keysym.h>
-#include <stdio.h>
-
-const VGfloat white_color[4] = {1.0, 1.0, 1.0, 1.0};
-const VGfloat color[4] = {0.4, 0.1, 1.0, 1.0};
-
-VGPath path;
-VGPaint fill;
-
-VGint cap_style = VG_CAP_BUTT;
-
-static void
-init(void)
-{
- static const VGubyte cmds[] = {VG_MOVE_TO_ABS,
- VG_LINE_TO_ABS,
- VG_LINE_TO_ABS
- };
-#if 1
- static const VGfloat coords[] = {100, 100, 150, 100,
- 150, 200
- };
-#else
- static const VGfloat coords[] = {100, 20, 100, 220,
- };
-#endif
- VGfloat dash_pattern[2] = { 20.f, 20.f };
- path = vgCreatePath(VG_PATH_FORMAT_STANDARD, VG_PATH_DATATYPE_F, 1, 0, 0, 0,
- VG_PATH_CAPABILITY_APPEND_TO);
- vgAppendPathData(path, 3, cmds, coords);
-
- fill = vgCreatePaint();
- vgSetParameterfv(fill, VG_PAINT_COLOR, 4, color);
- vgSetPaint(fill, VG_FILL_PATH);
-
- vgSetfv(VG_CLEAR_COLOR, 4, white_color);
- vgSetf(VG_STROKE_LINE_WIDTH, 20);
- vgSeti(VG_STROKE_CAP_STYLE, cap_style);
- vgSeti(VG_STROKE_JOIN_STYLE, VG_JOIN_ROUND);
- vgSetfv(VG_STROKE_DASH_PATTERN, 2, dash_pattern);
- vgSetf(VG_STROKE_DASH_PHASE, 0.0f);
-}
-
-/* new window size or exposure */
-static void
-reshape(int w, int h)
-{
- vgLoadIdentity();
-}
-
-static void
-draw(void)
-{
- vgClear(0, 0, window_width(), window_height());
- vgDrawPath(path, VG_STROKE_PATH);
-
- vgFlush();
-}
-
-static int key_press(unsigned key)
-{
- switch(key) {
- case XK_c:
- case XK_C:
- ++cap_style;
- if (cap_style > VG_CAP_SQUARE)
- cap_style = VG_CAP_BUTT;
- switch(cap_style) {
- case VG_CAP_BUTT:
- fprintf(stderr, "Cap style 'butt'\n");
- break;
- case VG_CAP_ROUND:
- fprintf(stderr, "Cap style 'round'\n");
- break;
- case VG_CAP_SQUARE:
- fprintf(stderr, "Cap style 'square'\n");
- break;
- }
- vgSeti(VG_STROKE_CAP_STYLE, cap_style);
- break;
- default:
- break;
- }
-
- return VG_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- return run(argc, argv, init, reshape,
- draw, key_press);
-}
diff --git a/progs/openvg/trivial/eglcommon.c b/progs/openvg/trivial/eglcommon.c
deleted file mode 100644
index bacd5685d7..0000000000
--- a/progs/openvg/trivial/eglcommon.c
+++ /dev/null
@@ -1,288 +0,0 @@
-#include "eglcommon.h"
-
-
-#include <assert.h>
-#include <math.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-#include <X11/keysym.h>
-#include <VG/openvg.h> /* using full OpenGL for now */
-#include <GLES/egl.h>
-
-
-static init_func init = 0;
-static draw_func draw = 0;
-static reshape_func reshape = 0;
-static key_func keyPress = 0;
-static VGint width = 300, height = 300;
-
-
-void set_window_size(int w, int h)
-{
- width = w;
- height = h;
-}
-
-/*
- * Create an RGB, double-buffered X window.
- * Return the window and context handles.
- */
-static void
-make_x_window(Display *x_dpy, EGLDisplay egl_dpy,
- const char *name,
- int x, int y, int width, int height,
- Window *winRet,
- EGLContext *ctxRet,
- EGLSurface *surfRet)
-{
- static const EGLint attribs[] = {
- EGL_RED_SIZE, 1,
- EGL_GREEN_SIZE, 1,
- EGL_BLUE_SIZE, 1,
- EGL_NONE
- };
-
- int scrnum;
- XSetWindowAttributes attr;
- unsigned long mask;
- Window root;
- Window win;
- XVisualInfo *visInfo, visTemplate;
- int num_visuals;
- EGLContext ctx;
- EGLConfig config;
- EGLint num_configs;
- EGLint vid;
-
- scrnum = DefaultScreen( x_dpy );
- root = RootWindow( x_dpy, scrnum );
-
- if (!eglChooseConfig( egl_dpy, attribs, &config, 1, &num_configs)) {
- printf("Error: couldn't get an EGL visual config\n");
- exit(1);
- }
-
- assert(config);
- assert(num_configs > 0);
-
- if (!eglGetConfigAttrib(egl_dpy, config, EGL_NATIVE_VISUAL_ID, &vid)) {
- printf("Error: eglGetConfigAttrib() failed\n");
- exit(1);
- }
-
- /* The X window visual must match the EGL config */
- visTemplate.visualid = vid;
- visInfo = XGetVisualInfo(x_dpy, VisualIDMask, &visTemplate, &num_visuals);
- if (!visInfo) {
- printf("Error: couldn't get X visual\n");
- exit(1);
- }
-
- /* window attributes */
- attr.background_pixel = 0;
- attr.border_pixel = 0;
- attr.colormap = XCreateColormap( x_dpy, root, visInfo->visual, AllocNone);
- attr.event_mask = StructureNotifyMask | ExposureMask | KeyPressMask;
- mask = CWBackPixel | CWBorderPixel | CWColormap | CWEventMask;
-
- win = XCreateWindow( x_dpy, root, 0, 0, width, height,
- 0, visInfo->depth, InputOutput,
- visInfo->visual, mask, &attr );
-
- /* set hints and properties */
- {
- XSizeHints sizehints;
- sizehints.x = x;
- sizehints.y = y;
- sizehints.width = width;
- sizehints.height = height;
- sizehints.flags = USSize | USPosition;
- XSetNormalHints(x_dpy, win, &sizehints);
- XSetStandardProperties(x_dpy, win, name, name,
- None, (char **)NULL, 0, &sizehints);
- }
-
- eglBindAPI(EGL_OPENVG_API);
-
- ctx = eglCreateContext(egl_dpy, config, EGL_NO_CONTEXT, NULL );
- if (!ctx) {
- printf("Error: eglCreateContext failed\n");
- exit(1);
- }
-
- *surfRet = eglCreateWindowSurface(egl_dpy, config, win, NULL);
-
- if (!*surfRet) {
- printf("Error: eglCreateWindowSurface failed\n");
- exit(1);
- }
-
- XFree(visInfo);
-
- *winRet = win;
- *ctxRet = ctx;
-}
-
-static void
-event_loop(Display *dpy, Window win,
- EGLDisplay egl_dpy, EGLSurface egl_surf)
-{
- while (1) {
- int redraw = 0;
- XEvent event;
-
- XNextEvent(dpy, &event);
-
- switch (event.type) {
- case Expose:
- redraw = 1;
- break;
- case ConfigureNotify:
- if (reshape) {
- width = event.xconfigure.width;
- height = event.xconfigure.height;
- reshape(event.xconfigure.width, event.xconfigure.height);
- }
- break;
- case KeyPress:
- {
- char buffer[10];
- int r, code;
- code = XLookupKeysym(&event.xkey, 0);
- if (!keyPress || !keyPress(code)) {
- r = XLookupString(&event.xkey, buffer, sizeof(buffer),
- NULL, NULL);
- if (buffer[0] == 27) {
- /* escape */
- return;
- }
- }
- }
- redraw = 1;
- break;
- default:
- ; /*no-op*/
- }
-
- if (redraw) {
- draw();
- eglSwapBuffers(egl_dpy, egl_surf);
- }
- }
-}
-
-int window_width(void)
-{
- return width;
-}
-
-int window_height(void)
-{
- return height;
-}
-
-static void
-usage(void)
-{
- printf("Usage:\n");
- printf(" -display <displayname> set the display to run on\n");
- printf(" -info display OpenGL renderer info\n");
-}
-
-int run(int argc, char **argv,
- init_func init_f,
- reshape_func resh_f,
- draw_func draw_f,
- key_func key_f)
-{
- const int winWidth = width, winHeight = height;
- Display *x_dpy;
- Window win;
- EGLSurface egl_surf;
- EGLContext egl_ctx;
- EGLDisplay egl_dpy;
- char *dpyName = NULL;
- GLboolean printInfo = GL_FALSE;
- EGLint egl_major, egl_minor;
- int i;
- const char *s;
-
- init = init_f;
- draw = draw_f;
- reshape = resh_f;
- keyPress = key_f;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-display") == 0) {
- dpyName = argv[i+1];
- i++;
- }
- else if (strcmp(argv[i], "-info") == 0) {
- printInfo = GL_TRUE;
- }
- }
-
- x_dpy = XOpenDisplay(dpyName);
- if (!x_dpy) {
- printf("Error: couldn't open display %s\n",
- dpyName ? dpyName : getenv("DISPLAY"));
- return -1;
- }
-
- egl_dpy = eglGetDisplay(x_dpy);
- if (!egl_dpy) {
- printf("Error: eglGetDisplay() failed\n");
- return -1;
- }
-
- if (!eglInitialize(egl_dpy, &egl_major, &egl_minor)) {
- printf("Error: eglInitialize() failed\n");
- return -1;
- }
-
- s = eglQueryString(egl_dpy, EGL_VERSION);
- printf("EGL_VERSION = %s\n", s);
-
- make_x_window(x_dpy, egl_dpy,
- "OpenVG Example", 0, 0, winWidth, winHeight,
- &win, &egl_ctx, &egl_surf);
-
- XMapWindow(x_dpy, win);
- if (!eglMakeCurrent(egl_dpy, egl_surf, egl_surf, egl_ctx)) {
- printf("Error: eglMakeCurrent() failed\n");
- return -1;
- }
-
- if (printInfo) {
- printf("VG_RENDERER = %s\n", (char *) vgGetString(VG_RENDERER));
- printf("VG_VERSION = %s\n", (char *) vgGetString(VG_VERSION));
- printf("VG_VENDOR = %s\n", (char *) vgGetString(VG_VENDOR));
- }
-
- if (init)
- init();
-
- /* Set initial projection/viewing transformation.
- * We can't be sure we'll get a ConfigureNotify event when the window
- * first appears.
- */
- if (reshape)
- reshape(winWidth, winHeight);
-
- event_loop(x_dpy, win, egl_dpy, egl_surf);
-
- eglMakeCurrent(egl_dpy, 0, 0, 0);
- eglDestroyContext(egl_dpy, egl_ctx);
- eglDestroySurface(egl_dpy, egl_surf);
- eglTerminate(egl_dpy);
-
-
- XDestroyWindow(x_dpy, win);
- XCloseDisplay(x_dpy);
-
- return 0;
-}
-
diff --git a/progs/openvg/trivial/eglcommon.h b/progs/openvg/trivial/eglcommon.h
deleted file mode 100644
index 958dae9f98..0000000000
--- a/progs/openvg/trivial/eglcommon.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef EGLCOMMON_H
-#define EGLCOMMON_H
-
-typedef void (*init_func)();
-typedef void (*reshape_func)(int, int);
-typedef void (*draw_func)();
-typedef int (*key_func)(unsigned key);
-
-
-void set_window_size(int width, int height);
-int window_width(void);
-int window_height(void);
-
-int run(int argc, char **argv,
- init_func init,
- reshape_func resh,
- draw_func draw,
- key_func key);
-
-#endif
diff --git a/progs/openvg/trivial/ellipse.c b/progs/openvg/trivial/ellipse.c
deleted file mode 100644
index 4c7d4904f8..0000000000
--- a/progs/openvg/trivial/ellipse.c
+++ /dev/null
@@ -1,84 +0,0 @@
-#include "eglcommon.h"
-
-#include <VG/openvg.h>
-
-#include <math.h>
-#include <stdlib.h>
-
-const VGfloat white_color[4] = {1.0, 1.0, 1.0, 1.0};
-const VGfloat color[4] = {0.0, 0.0, 0.0, 1.0};
-
-VGPath path;
-VGPaint paint;
-
-static void
-init(void)
-{
- VGfloat clearColor[] = {1.0f, 1.0f, 1.0f, 1.0f};/* white color */
- VGfloat fillColor[] = {1.0f, 0.0f, 0.0f, 1.0f};/* red color */
- static const VGubyte segments[4] = {VG_MOVE_TO_ABS,
- VG_SCCWARC_TO_ABS,
- VG_SCCWARC_TO_ABS,
- VG_CLOSE_PATH};
- VGfloat data[12];
- const VGfloat cx = 0, cy=29, width=80, height=40;
- const VGfloat hw = width * 0.5f;
- const VGfloat hh = height * 0.5f;
-
- data[0] = cx + hw;
- data[1] = cy;
- data[2] = hw;
- data[3] = hh;
- data[4] = 0;
- data[5] = cx - hw;
- data[6] = cy;
- data[7] = hw;
- data[8] = hh;
- data[9] = 0;
- data[10] = data[0];
- data[11] = cy;
-
- vgSetfv(VG_CLEAR_COLOR, 4, clearColor);
- vgSeti(VG_RENDERING_QUALITY, VG_RENDERING_QUALITY_NONANTIALIASED);
-
-
- path = vgCreatePath(VG_PATH_FORMAT_STANDARD, VG_PATH_DATATYPE_F,
- 1.0f, 0.0f, 0, 0, VG_PATH_CAPABILITY_ALL);
- if (path == VG_INVALID_HANDLE) {
- return;
- }
- paint = vgCreatePaint();
- if (paint == VG_INVALID_HANDLE) {
- vgDestroyPath(path);
- return;
- }
-
- vgAppendPathData(path, 4, segments, data);
- vgSetParameterfv(paint, VG_PAINT_COLOR, 4, fillColor);
- vgSetParameteri( paint, VG_PAINT_TYPE, VG_PAINT_TYPE_COLOR);
- vgSetPaint(paint, VG_FILL_PATH);
-}
-
-/* new window size or exposure */
-static void
-reshape(int w, int h)
-{
-}
-
-static void
-draw(void)
-{
- vgClear(0, 0, window_width(), window_height());
- vgLoadIdentity();
- vgTranslate(50, 21);
- vgDrawPath(path, VG_FILL_PATH);
- vgFlush();
-}
-
-
-int main(int argc, char **argv)
-{
- set_window_size(100, 100);
- return run(argc, argv, init, reshape,
- draw, 0);
-}
diff --git a/progs/openvg/trivial/filter.c b/progs/openvg/trivial/filter.c
deleted file mode 100644
index d96257a933..0000000000
--- a/progs/openvg/trivial/filter.c
+++ /dev/null
@@ -1,107 +0,0 @@
-#include "eglcommon.h"
-
-#include <VG/openvg.h>
-
-#include <math.h>
-#include <stdlib.h>
-#include <stdio.h>
-
-const VGfloat white_color[4] = {1.0, 1.0, 1.0, 1.0};
-const VGfloat color[4] = {1.0, 1.0, 1.0, 0.5};
-
-VGImage srcImg;
-VGImage dstImg;
-
-VGPaint fill;
-
-VGfloat bgCol[4] = {0.906f, 0.914f, 0.761f, 1.0f};
-
-static void
-init(void)
-{
- VGfloat red[4];
- VGfloat grey[4];
- VGfloat orange[4];
- VGfloat blue[4];
- VGfloat black[4];
- VGfloat white[4];
- VGshort transKernel[49] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
-
- red[0] = 0.6710f;
- red[1] = 0.1060f;
- red[2] = 0.1330f;
- red[3] = 1.0f;
-
- grey[0] = 0.6347f;
- grey[1] = 0.6561f;
- grey[2] = 0.6057f;
- grey[3] = 1.0f;
-
- orange[0] = 1.0000f;
- orange[1] = 0.8227f;
- orange[2] = 0.5057f;
- orange[3] = 1.0f;
-
- blue[0] = 0.0000f;
- blue[1] = 0.6908f;
- blue[2] = 0.8595f;
- blue[3] = 1.0f;
-
- black[0] = 0;
- black[1] = 0;
- black[2] = 0;
- black[3] = 1.0f;
-
- white[0] = 1;
- white[1] = 1;
- white[2] = 1;
- white[3] = 1.0f;
-
- vgSetfv(VG_TILE_FILL_COLOR, 4, blue);
-
- vgSeti(VG_FILTER_CHANNEL_MASK, 14);
-
- /* Setup images */
- srcImg = vgCreateImage(VG_sRGBA_8888, 32, 32,
- VG_IMAGE_QUALITY_NONANTIALIASED);
- dstImg = vgCreateImage(VG_sRGBA_8888, 32, 32,
- VG_IMAGE_QUALITY_NONANTIALIASED);
-
- vgSetfv(VG_CLEAR_COLOR, 4, black);
- vgClearImage(srcImg, 0, 0, 32, 32);
- vgSetfv(VG_CLEAR_COLOR, 4, red);
- vgClearImage(srcImg, 3, 3, 27, 27);
-
- vgSetfv(VG_CLEAR_COLOR, 4, orange);
- vgClearImage(dstImg, 0, 0, 32, 32);
-
- transKernel[8] = 1;
- vgConvolve(dstImg, srcImg, 3, 3, 3, 0, transKernel,
- 1, 0, VG_TILE_FILL);
-}
-
-/* new window size or exposure */
-static void
-reshape(int w, int h)
-{
-}
-
-static void
-draw(void)
-{
- vgSetfv(VG_CLEAR_COLOR, 4, bgCol);
- vgClear(0, 0, window_width(), window_height());
- vgSeti(VG_MATRIX_MODE, VG_MATRIX_IMAGE_USER_TO_SURFACE);
- vgLoadIdentity();
- vgTranslate(10, 10);
- vgDrawImage(dstImg);
- vgFlush();
-}
-
-
-int main(int argc, char **argv)
-{
- set_window_size(64, 64);
- return run(argc, argv, init, reshape,
- draw, 0);
-}
diff --git a/progs/openvg/trivial/gradorigin.c b/progs/openvg/trivial/gradorigin.c
deleted file mode 100644
index b376263fe5..0000000000
--- a/progs/openvg/trivial/gradorigin.c
+++ /dev/null
@@ -1,98 +0,0 @@
-#include "eglcommon.h"
-
-#include <VG/openvg.h>
-
-#include <stdio.h>
-#include <string.h>
-
-static const VGfloat white_color[4] = {1.0, 1.0, 1.0, 1.0};
-
-static VGPath path;
-static VGPaint fill;
-
-VGColorRampSpreadMode spread = VG_COLOR_RAMP_SPREAD_PAD;
-
-static void
-init(void)
-{
- VGubyte commands[5] = {VG_MOVE_TO_ABS, VG_LINE_TO_ABS, VG_LINE_TO_ABS, VG_LINE_TO_ABS, VG_CLOSE_PATH};
- VGfloat coords[8] = {0.0f,0.0f, 32.0f,0.0f, 32.0f,32.0f, 0.0f,32.0f };
-
- VGfloat rampStop[20] = {-0.5f, 1.0f, 1.0f, 1.0f, 1.0f,
- 0.25f, 1.0f, 0.0f, 0.0f, 1.0f,
- 0.75f, 0.0f, 0.0f, 1.0f, 1.0f,
- 1.5f, 0.0f, 0.0f, 0.0f, 0.0f};
-
- VGfloat defaultColor[] = {1.0f, 1.0f, 1.0f, 1.0f};
- VGfloat linearGradient[4] = {0.0f, 0.0f, 0.0f, 32.0f};
-
- path = vgCreatePath(VG_PATH_FORMAT_STANDARD, VG_PATH_DATATYPE_F,
- 1.0f, 0.0f, 0, 0, VG_PATH_CAPABILITY_ALL);
- if (path == VG_INVALID_HANDLE)
- return;
-
- fill = vgCreatePaint();
- if (fill == VG_INVALID_HANDLE) {
- vgDestroyPath(path);
- return;
- }
-
- vgSetfv(VG_CLEAR_COLOR, 4, defaultColor);
- vgSeti(VG_RENDERING_QUALITY, VG_RENDERING_QUALITY_NONANTIALIASED);
-
- vgAppendPathData(path, 5, commands, coords);
-
- vgSetPaint(fill, VG_FILL_PATH);
- vgSetParameteri(fill, VG_PAINT_TYPE, VG_PAINT_TYPE_LINEAR_GRADIENT);
- vgSetParameteri(fill, VG_PAINT_COLOR_RAMP_SPREAD_MODE,
- VG_COLOR_RAMP_SPREAD_REPEAT);
- vgSetParameterfv(fill, VG_PAINT_LINEAR_GRADIENT, 4, linearGradient);
- vgSetParameterfv(fill, VG_PAINT_COLOR_RAMP_STOPS, 20, rampStop);
-}
-
-/* new window size or exposure */
-static void
-reshape(int w, int h)
-{
- vgLoadIdentity();
-}
-
-static void
-draw(void)
-{
- vgClear(0, 0, window_width(), window_height());
-
- vgDrawPath(path, VG_FILL_PATH);
-
- vgFlush();
-}
-
-
-int main(int argc, char **argv)
-{
- if (argc > 1) {
- const char *arg = argv[1];
- if (!strcmp("-pad", arg))
- spread = VG_COLOR_RAMP_SPREAD_PAD;
- else if (!strcmp("-repeat", arg))
- spread = VG_COLOR_RAMP_SPREAD_REPEAT;
- else if (!strcmp("-reflect", arg))
- spread = VG_COLOR_RAMP_SPREAD_REFLECT;
- }
-
- switch(spread) {
- case VG_COLOR_RAMP_SPREAD_PAD:
- printf("Using spread mode: pad\n");
- break;
- case VG_COLOR_RAMP_SPREAD_REPEAT:
- printf("Using spread mode: repeat\n");
- break;
- case VG_COLOR_RAMP_SPREAD_REFLECT:
- printf("Using spread mode: reflect\n");
- }
-
- set_window_size(200, 200);
-
- return run(argc, argv, init, reshape,
- draw, 0);
-}
diff --git a/progs/openvg/trivial/lineto.c b/progs/openvg/trivial/lineto.c
deleted file mode 100644
index 94e2981811..0000000000
--- a/progs/openvg/trivial/lineto.c
+++ /dev/null
@@ -1,56 +0,0 @@
-#include "eglcommon.h"
-
-#include <VG/openvg.h>
-
-const VGfloat white_color[4] = {1.0, 1.0, 1.0, 1.0};
-const VGfloat color[4] = {0.4, 0.1, 1.0, 1.0};
-
-VGPath path;
-VGPaint fill;
-
-
-static void
-init(void)
-{
- static const VGubyte sqrCmds[5] = {VG_MOVE_TO_ABS, VG_HLINE_TO_ABS, VG_VLINE_TO_ABS, VG_HLINE_TO_ABS, VG_CLOSE_PATH};
- static const VGfloat sqrCoords[5] = {50.0f, 50.0f, 250.0f, 250.0f, 50.0f};
- path = vgCreatePath(VG_PATH_FORMAT_STANDARD, VG_PATH_DATATYPE_F, 1, 0, 0, 0,
- VG_PATH_CAPABILITY_APPEND_TO);
- vgAppendPathData(path, 5, sqrCmds, sqrCoords);
-
- fill = vgCreatePaint();
- vgSetParameterfv(fill, VG_PAINT_COLOR, 4, color);
- vgSetPaint(fill, VG_FILL_PATH);
-
- vgSetfv(VG_CLEAR_COLOR, 4, white_color);
- vgSetf(VG_STROKE_LINE_WIDTH, 10);
- vgSeti(VG_STROKE_CAP_STYLE, VG_CAP_BUTT);
- vgSeti(VG_STROKE_JOIN_STYLE, VG_JOIN_ROUND);
- vgSetf(VG_STROKE_MITER_LIMIT, 4.0f);
-}
-
-/* new window size or exposure */
-static void
-reshape(int w, int h)
-{
- vgLoadIdentity();
-}
-
-static void
-draw(void)
-{
- vgClear(0, 0, window_width(), window_height());
- vgSeti(VG_MATRIX_MODE, VG_MATRIX_STROKE_PAINT_TO_USER);
- vgLoadIdentity();
- vgScale(2.25, 2.25);
- vgDrawPath(path, VG_STROKE_PATH);
-
- vgFlush();
-}
-
-
-int main(int argc, char **argv)
-{
- return run(argc, argv, init, reshape,
- draw, 0);
-}
diff --git a/progs/openvg/trivial/lingrad.c b/progs/openvg/trivial/lingrad.c
deleted file mode 100644
index bcaad1f101..0000000000
--- a/progs/openvg/trivial/lingrad.c
+++ /dev/null
@@ -1,87 +0,0 @@
-#include "eglcommon.h"
-
-#include <VG/openvg.h>
-
-#include <stdio.h>
-#include <string.h>
-
-static const VGfloat white_color[4] = {1.0, 1.0, 1.0, 1.0};
-
-static VGPath path;
-static VGPaint fill;
-
-VGColorRampSpreadMode spread = VG_COLOR_RAMP_SPREAD_PAD;
-
-static void
-init(void)
-{
- static const VGubyte sqrCmds[5] = {VG_MOVE_TO_ABS, VG_HLINE_TO_ABS, VG_VLINE_TO_ABS, VG_HLINE_TO_ABS, VG_CLOSE_PATH};
- static const VGfloat sqrCoords[5] = {0.0f, 0.0f, 400.0f, 400.0f, 0.0f};
-
- VGfloat rampStop[] = {0.00f, 1.0f, 1.0f, 1.0f, 1.0f,
- 0.33f, 1.0f, 0.0f, 0.0f, 1.0f,
- 0.66f, 0.0f, 1.0f, 0.0f, 1.0f,
- 1.00f, 0.0f, 0.0f, 1.0f, 1.0f};
- VGfloat linearGradient[4] = {100.0f, 100.0f, 300.0f, 300.0f};
-
- path = vgCreatePath(VG_PATH_FORMAT_STANDARD, VG_PATH_DATATYPE_F, 1, 0, 0, 0,
- VG_PATH_CAPABILITY_APPEND_TO);
- vgAppendPathData(path, 5, sqrCmds, sqrCoords);
-
- fill = vgCreatePaint();
- vgSetPaint(fill, VG_FILL_PATH);
-
- vgSetParameteri(fill, VG_PAINT_TYPE, VG_PAINT_TYPE_LINEAR_GRADIENT);
- vgSetParameteri(fill, VG_PAINT_COLOR_RAMP_SPREAD_MODE, spread);
- vgSetParameterfv(fill, VG_PAINT_LINEAR_GRADIENT, 4, linearGradient);
- vgSetParameterfv(fill, VG_PAINT_COLOR_RAMP_STOPS, 20, rampStop);
-
- vgSetfv(VG_CLEAR_COLOR, 4, white_color);
-}
-
-/* new window size or exposure */
-static void
-reshape(int w, int h)
-{
- vgLoadIdentity();
-}
-
-static void
-draw(void)
-{
- vgClear(0, 0, window_width(), window_height());
-
- vgDrawPath(path, VG_FILL_PATH);
-
- vgFlush();
-}
-
-
-int main(int argc, char **argv)
-{
- if (argc > 1) {
- const char *arg = argv[1];
- if (!strcmp("-pad", arg))
- spread = VG_COLOR_RAMP_SPREAD_PAD;
- else if (!strcmp("-repeat", arg))
- spread = VG_COLOR_RAMP_SPREAD_REPEAT;
- else if (!strcmp("-reflect", arg))
- spread = VG_COLOR_RAMP_SPREAD_REFLECT;
- }
-
- switch(spread) {
- case VG_COLOR_RAMP_SPREAD_PAD:
- printf("Using spread mode: pad\n");
- break;
- case VG_COLOR_RAMP_SPREAD_REPEAT:
- printf("Using spread mode: repeat\n");
- break;
- case VG_COLOR_RAMP_SPREAD_REFLECT:
- printf("Using spread mode: reflect\n");
- }
-
- set_window_size(400, 400);
-
- return run(argc, argv, init, reshape,
- draw, 0);
-}
diff --git a/progs/openvg/trivial/lookup.c b/progs/openvg/trivial/lookup.c
deleted file mode 100644
index a103ba4488..0000000000
--- a/progs/openvg/trivial/lookup.c
+++ /dev/null
@@ -1,71 +0,0 @@
-#include "eglcommon.h"
-
-#include <VG/openvg.h>
-
-#include <math.h>
-#include <stdlib.h>
-#include <stdio.h>
-
-const VGfloat white_color[4] = {1.0, 1.0, 1.0, 1.0};
-const VGfloat color[4] = {1.0, 1.0, 1.0, 0.5};
-VGfloat clearColor[] = {1.0f, 0.0f, 0.0f, 1.0f};/* red color */
-VGImage parent;
-
-VGPaint fill;
-
-static void
-init(void)
-{
- VGImage child1, child2;
- VGubyte *data;
- VGuint LUT[256];
- VGint i;
-
- data = (VGubyte *)malloc(sizeof(VGubyte)*window_width()*window_height());
-
- for (i=0;i<window_width()*window_height();i++) {
- data[i] = 0x00;
- }
-
- for (i=0; i<256; i++) {
- if ( i == 0 )
- LUT[0] = 0xFFFFFFFF;
- else
- LUT[i] = 0xFF00FFFF;
- }
-
- parent = vgCreateImage( VG_A_8, 64, 64, VG_IMAGE_QUALITY_NONANTIALIASED );
-
- vgImageSubData(parent, data, window_width(), VG_A_8, 0, 0,
- window_width(), window_height());
- child1 = vgChildImage(parent, 0, 0, 32, 64);
- child2 = vgChildImage(parent, 32, 0, 32, 64);
-
- vgLookupSingle(child2, child1, LUT, VG_GREEN, VG_FALSE, VG_TRUE);
-}
-
-/* new window size or exposure */
-static void
-reshape(int w, int h)
-{
-}
-
-static void
-draw(void)
-{
- vgSetfv(VG_CLEAR_COLOR, 4, clearColor);
- vgClear(0, 0, window_width(), window_height());
- //vgSeti(VG_MATRIX_MODE, VG_MATRIX_IMAGE_USER_TO_SURFACE);
- //vgLoadIdentity();
- //vgTranslate(10, 10);
- vgDrawImage(parent);
- vgFlush();
-}
-
-
-int main(int argc, char **argv)
-{
- set_window_size(64, 64);
- return run(argc, argv, init, reshape,
- draw, 0);
-}
diff --git a/progs/openvg/trivial/mask.c b/progs/openvg/trivial/mask.c
deleted file mode 100644
index e5c00c5699..0000000000
--- a/progs/openvg/trivial/mask.c
+++ /dev/null
@@ -1,58 +0,0 @@
-#include "eglcommon.h"
-
-#include <VG/openvg.h>
-
-const VGfloat white_color[4] = {1.0, 1.0, 1.0, 1.0};
-const VGfloat color[4] = {0.4, 0.1, 1.0, 1.0};
-
-VGPath path;
-VGPaint fill;
-
-
-static void
-init(void)
-{
- static const VGubyte sqrCmds[5] = {VG_MOVE_TO_ABS, VG_HLINE_TO_ABS, VG_VLINE_TO_ABS, VG_HLINE_TO_ABS, VG_CLOSE_PATH};
- static const VGfloat sqrCoords[5] = {50.0f, 50.0f, 250.0f, 250.0f, 50.0f};
- path = vgCreatePath(VG_PATH_FORMAT_STANDARD, VG_PATH_DATATYPE_F, 1, 0, 0, 0,
- VG_PATH_CAPABILITY_APPEND_TO);
- vgAppendPathData(path, 5, sqrCmds, sqrCoords);
-
- fill = vgCreatePaint();
- vgSetParameterfv(fill, VG_PAINT_COLOR, 4, color);
- vgSetPaint(fill, VG_FILL_PATH);
-
- vgSetfv(VG_CLEAR_COLOR, 4, white_color);
- vgSetf(VG_STROKE_LINE_WIDTH, 10);
- vgSeti(VG_STROKE_CAP_STYLE, VG_CAP_BUTT);
- vgSeti(VG_STROKE_JOIN_STYLE, VG_JOIN_ROUND);
- vgSetf(VG_STROKE_MITER_LIMIT, 4.0f);
-
- vgSeti(VG_MASKING, VG_TRUE);
-
- vgMask(VG_INVALID_HANDLE, VG_CLEAR_MASK,
- 25, 25, 100, 100);
-}
-
-/* new window size or exposure */
-static void
-reshape(int w, int h)
-{
- vgLoadIdentity();
-}
-
-static void
-draw(void)
-{
- vgClear(0, 0, window_width(), window_height());
- vgDrawPath(path, VG_FILL_PATH);
-
- vgFlush();
-}
-
-
-int main(int argc, char **argv)
-{
- return run(argc, argv, init, reshape,
- draw, 0);
-}
diff --git a/progs/openvg/trivial/mask4.c b/progs/openvg/trivial/mask4.c
deleted file mode 100644
index fe6db39648..0000000000
--- a/progs/openvg/trivial/mask4.c
+++ /dev/null
@@ -1,132 +0,0 @@
-#include "eglcommon.h"
-
-#include <VG/openvg.h>
-#include <VG/vgu.h>
-#include <stdio.h>
-#include <math.h>
-#include <stdlib.h>
-
-#include <X11/keysym.h>
-
-//VGint x_pos = -10, y_pos = -10;
-VGint x_pos = 0, y_pos = 4;
-VGint img_width = 120, img_height = 120;
-
-static void RectToPath(VGPath path, VGfloat x, VGfloat y, VGfloat width, VGfloat height)
-{
- static const VGubyte segments[5] = {VG_MOVE_TO_ABS,
- VG_HLINE_TO_ABS,
- VG_VLINE_TO_ABS,
- VG_HLINE_TO_ABS,
- VG_CLOSE_PATH};
- VGfloat data[5];
-
- data[0] = x;
- data[1] = y;
- data[2] = x + width;
- data[3] = y + height;
- data[4] = x;
-
- vgAppendPathData(path, 5, segments, data);
-}
-
-static void
-init(void)
-{
-}
-
-/* new window size or exposure */
-static void
-reshape(int w, int h)
-{
-}
-
-int key_press(unsigned key)
-{
- switch(key) {
- case XK_Right:
- x_pos +=1;
- break;
- case XK_Left:
- x_pos -=1;
- break;
- case XK_Up:
- y_pos +=1;
- break;
- case XK_Down:
- y_pos -=1;
- break;
- case 'a':
- img_width -= 5;
- img_height -= 5;
- break;
- case 's':
- img_width += 5;
- img_height += 5;
- break;
- default:
- break;
- }
- fprintf(stderr, "Posi = %dx%d\n", x_pos, y_pos);
- fprintf(stderr, "Size = %dx%d\n", img_width, img_height);
- return VG_FALSE;
-}
-
-static void
-draw(void)
-{
- VGint WINDSIZEX = window_width();
- VGint WINDSIZEY = window_height();
-
- VGPaint fill;
- VGPath box;
- VGfloat color[4] = {1.f, 0.f, 0.f, 1.f};
- VGfloat bgCol[4] = {0.7f, 0.7f, 0.7f, 1.0f};
- VGfloat transCol[4] = {0.f, 0.f, 0.f, 0.f};
- VGImage image = vgCreateImage(VG_sRGBA_8888, img_width, img_height,
- VG_IMAGE_QUALITY_NONANTIALIASED);
-
- /* Background clear */
- fill = vgCreatePaint();
- vgSetParameterfv(fill, VG_PAINT_COLOR, 4, color);
- vgSetPaint(fill, VG_FILL_PATH);
-
- box = vgCreatePath(VG_PATH_FORMAT_STANDARD, VG_PATH_DATATYPE_F,
- 1, 0, 0, 0, VG_PATH_CAPABILITY_ALL);
- /* Rectangle to cover completely 16x16 pixel area. */
- RectToPath(box, 0, 0, 64, 64);
-
- vgSetfv(VG_CLEAR_COLOR, 4, transCol);
- vgClearImage(image, 0, 0, img_width, img_height);
- vgSetfv(VG_CLEAR_COLOR, 4, color);
- vgClearImage(image, 10, 10, 12, 12);
- //vgImageSubData(image, pukki_64x64_data, pukki_64x64_stride,
- // VG_sRGBA_8888, 0, 0, 32, 32);
- vgSeti(VG_MASKING, VG_TRUE);
- vgLoadIdentity();
-
- vgSetfv(VG_CLEAR_COLOR, 4, bgCol);
- vgClear(0, 0, WINDSIZEX, WINDSIZEY);
-
-
- vgMask(image, VG_FILL_MASK, 0, 0, window_width(), window_height());
- vgMask(image, VG_SET_MASK, x_pos, y_pos, 100, 100);
-
- vgDrawPath(box, VG_FILL_PATH);
-
- //vgSeti(VG_MATRIX_MODE, VG_MATRIX_IMAGE_USER_TO_SURFACE);
- //vgTranslate(-10, -10);
- //vgDrawImage(image);
-
-
- vgDestroyPaint(fill);
- vgDestroyPath(box);
-}
-
-
-int main(int argc, char **argv)
-{
- set_window_size(64, 64);
- return run(argc, argv, init, reshape,
- draw, key_press);
-}
diff --git a/progs/openvg/trivial/path3.c b/progs/openvg/trivial/path3.c
deleted file mode 100644
index 5ce600f65a..0000000000
--- a/progs/openvg/trivial/path3.c
+++ /dev/null
@@ -1,77 +0,0 @@
-#include "eglcommon.h"
-
-#include <VG/openvg.h>
-#include <VG/vgu.h>
-#include <stdio.h>
-#include <math.h>
-#include <stdlib.h>
-
-static void
-init(void)
-{
-}
-
-/* new window size or exposure */
-static void
-reshape(int w, int h)
-{
-}
-
-
-static void
-draw(void)
-{
- VGint WINDSIZEX = window_width();
- VGint WINDSIZEY = window_height();
- VGPath path;
- VGPaint paint;
-
- VGfloat clearColor[] = {1.0f, 1.0f, 1.0f, 0.0f};/* white color */
- VGfloat fillColor[] = {1.0f, 0.0f, 0.0f, 1.0f};/* red color */
-
-#if 1
- VGubyte commands[4] = {VG_MOVE_TO_ABS, VG_LCWARC_TO_ABS, VG_SCWARC_TO_ABS, VG_CLOSE_PATH};
-#else
- VGubyte commands[4] = {VG_MOVE_TO_ABS, VG_SCCWARC_TO_ABS, VG_LCCWARC_TO_ABS,VG_CLOSE_PATH};
-#endif
- VGfloat coords[] = {32.0f, 0.0f,
- -32.0f, -32.0f, 0.0f, 64.0f, 32.0f,
- -32.0f, -32.0f, 0.0f, 32.0f, 0.0f};
-
-
- vgSetfv(VG_CLEAR_COLOR, 4, clearColor);
- vgClear(0, 0, WINDSIZEX, WINDSIZEY);
- vgSeti(VG_RENDERING_QUALITY, VG_RENDERING_QUALITY_NONANTIALIASED);
-
- vgSeti(VG_MATRIX_MODE, VG_MATRIX_PATH_USER_TO_SURFACE);
- vgLoadIdentity();
- //vgTranslate(32.0f, 32.0f);
-
- path = vgCreatePath( VG_PATH_FORMAT_STANDARD, VG_PATH_DATATYPE_F,
- 1.0f, 0.0f, 0, 0, VG_PATH_CAPABILITY_ALL );
- if ( path == VG_INVALID_HANDLE ) {
- return;
- }
- paint = vgCreatePaint();
- if ( paint == VG_INVALID_HANDLE ) {
- vgDestroyPath(path);
- return;
- }
-
- vgAppendPathData(path, 4, commands, coords);
- vgSetParameterfv(paint, VG_PAINT_COLOR, 4, fillColor);
- vgSetParameteri( paint, VG_PAINT_TYPE, VG_PAINT_TYPE_COLOR);
- vgSetPaint(paint, VG_FILL_PATH);
- vgDrawPath(path, VG_FILL_PATH);
-
- vgDestroyPath(path);
- vgDestroyPaint(paint);
-}
-
-
-int main(int argc, char **argv)
-{
- set_window_size(64, 64);
- return run(argc, argv, init, reshape,
- draw, 0);
-}
diff --git a/progs/openvg/trivial/radialgrad.c b/progs/openvg/trivial/radialgrad.c
deleted file mode 100644
index cf3b1d522d..0000000000
--- a/progs/openvg/trivial/radialgrad.c
+++ /dev/null
@@ -1,99 +0,0 @@
-#include "eglcommon.h"
-
-#include <VG/openvg.h>
-
-#include <stdio.h>
-#include <string.h>
-
-static const VGfloat white_color[4] = {1.0, 1.0, 1.0, 1.0};
-
-static VGPath path;
-static VGPaint fill;
-
-
-VGfloat centeredGradient[5] = {200.0f, 200.0f, 200.0f, 200.0f, 100};
-VGfloat noncenteredGradient[5] = {200.0f, 200.0f, 250.0f, 250.0f, 100};
-VGfloat *radialGradient = centeredGradient;
-
-VGColorRampSpreadMode spread = VG_COLOR_RAMP_SPREAD_PAD;
-
-static void
-init(void)
-{
- static const VGubyte sqrCmds[5] = {VG_MOVE_TO_ABS, VG_HLINE_TO_ABS, VG_VLINE_TO_ABS, VG_HLINE_TO_ABS, VG_CLOSE_PATH};
- static const VGfloat sqrCoords[5] = {0.0f, 0.0f, 400.0f, 400.0f, 0.0f};
-
- VGfloat rampStop[] = {0.00f, 1.0f, 1.0f, 1.0f, 1.0f,
- 0.33f, 1.0f, 0.0f, 0.0f, 1.0f,
- 0.66f, 0.0f, 1.0f, 0.0f, 1.0f,
- 1.00f, 0.0f, 0.0f, 1.0f, 1.0f};
-
- path = vgCreatePath(VG_PATH_FORMAT_STANDARD, VG_PATH_DATATYPE_F, 1, 0, 0, 0,
- VG_PATH_CAPABILITY_APPEND_TO);
- vgAppendPathData(path, 5, sqrCmds, sqrCoords);
-
- fill = vgCreatePaint();
- vgSetPaint(fill, VG_FILL_PATH);
-
- vgSetParameteri(fill, VG_PAINT_TYPE, VG_PAINT_TYPE_RADIAL_GRADIENT);
- vgSetParameteri(fill, VG_PAINT_COLOR_RAMP_SPREAD_MODE, spread);
- vgSetParameterfv(fill, VG_PAINT_RADIAL_GRADIENT, 5, radialGradient);
- vgSetParameterfv(fill, VG_PAINT_COLOR_RAMP_STOPS, 20, rampStop);
-
- vgSetfv(VG_CLEAR_COLOR, 4, white_color);
-}
-
-/* new window size or exposure */
-static void
-reshape(int w, int h)
-{
- vgLoadIdentity();
-}
-
-static void
-draw(void)
-{
- vgClear(0, 0, window_width(), window_height());
-
- vgDrawPath(path, VG_FILL_PATH);
-
- vgFlush();
-}
-
-
-int main(int argc, char **argv)
-{
- VGint i;
- for (i = 1; i < argc; ++i) {
- const char *arg = argv[i];
- if (!strcmp("-pad", arg))
- spread = VG_COLOR_RAMP_SPREAD_PAD;
- else if (!strcmp("-repeat", arg))
- spread = VG_COLOR_RAMP_SPREAD_REPEAT;
- else if (!strcmp("-reflect", arg))
- spread = VG_COLOR_RAMP_SPREAD_REFLECT;
- else if (!strcmp("-center", arg)) {
- printf("Centered radial gradient\n");
- radialGradient = centeredGradient;
- } else if (!strcmp("-noncenter", arg)) {
- printf("Non centered radial gradient\n");
- radialGradient = noncenteredGradient;
- }
- }
-
- switch(spread) {
- case VG_COLOR_RAMP_SPREAD_PAD:
- printf("Using spread mode: pad\n");
- break;
- case VG_COLOR_RAMP_SPREAD_REPEAT:
- printf("Using spread mode: repeat\n");
- break;
- case VG_COLOR_RAMP_SPREAD_REFLECT:
- printf("Using spread mode: reflect\n");
- }
-
- set_window_size(400, 400);
-
- return run(argc, argv, init, reshape,
- draw, 0);
-}
diff --git a/progs/openvg/trivial/readpixels.c b/progs/openvg/trivial/readpixels.c
deleted file mode 100644
index c8e286db9a..0000000000
--- a/progs/openvg/trivial/readpixels.c
+++ /dev/null
@@ -1,75 +0,0 @@
-#include "eglcommon.h"
-
-#include <VG/openvg.h>
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-
-float red_color[4] = {1.0, 0.0, 0.0, 1.0};
-float blue_color[4] = {0.0, 0.0, 1.0, 1.0};
-VGint *data;
-
-static void
-init(void)
-{
- data = malloc(sizeof(VGint)*2048*2048);
-}
-
-/* new window size or exposure */
-static void
-reshape(int w, int h)
-{
- vgLoadIdentity();
-}
-
-static void
-draw(void)
-{
- static const VGint red_pixel = 255 << 24 | 255 << 16 | 0 << 8 | 0;
- static const VGint blue_pixel = 255 << 24 | 0 << 16 | 0 << 8 | 255;
- VGint i;
-
- vgSetfv(VG_CLEAR_COLOR, 4, red_color);
- vgClear(0, 0, window_width(), window_height());
- vgFlush();
-
- memset(data, 0, window_width() * window_height() * sizeof(VGint));
-
- vgReadPixels(data, window_width() * sizeof(VGint),
- VG_lARGB_8888,
- 0, 0, window_width(), window_height());
-
- fprintf(stderr, "Red 0 = 0x%x and at 600 = 0x%x\n",
- data[0], data[600]);
- for (i = 0; i < window_width() * window_height(); ++i) {
- assert(data[i] == red_pixel);
- }
-
- vgSetfv(VG_CLEAR_COLOR, 4, blue_color);
- vgClear(50, 50, 50, 50);
- vgFlush();
-
- memset(data, 0, window_width() * window_height() * sizeof(VGint));
-
- vgReadPixels(data, 50 * sizeof(VGint),
- VG_lARGB_8888,
- 50, 50, 50, 50);
-
- fprintf(stderr, "Blue 0 = 0x%x and at 100 = 0x%x\n",
- data[0], data[100]);
- for (i = 0; i < 50 * 50; ++i) {
- assert(data[i] == blue_pixel);
- }
-}
-
-
-int main(int argc, char **argv)
-{
- int ret = run(argc, argv, init, reshape,
- draw, 0);
-
- free(data);
- return ret;
-}
diff --git a/progs/openvg/trivial/roundedrect.c b/progs/openvg/trivial/roundedrect.c
deleted file mode 100644
index c80a4ed299..0000000000
--- a/progs/openvg/trivial/roundedrect.c
+++ /dev/null
@@ -1,67 +0,0 @@
-#include "eglcommon.h"
-
-#include <VG/openvg.h>
-
-const VGfloat white_color[4] = {1.0, 1.0, 1.0, 1.0};
-const VGfloat color[4] = {0.9, 0.1, 0.1, 0.8};
-
-VGPath path;
-VGPaint fill;
-
-
-static void
-init(void)
-{
- static const VGubyte sqrCmds[10] = {VG_MOVE_TO_ABS,
- VG_LINE_TO_ABS,
- VG_CUBIC_TO_ABS,
- VG_LINE_TO_ABS,
- VG_CUBIC_TO_ABS,
- VG_LINE_TO_ABS,
- VG_CUBIC_TO_ABS,
- VG_LINE_TO_ABS,
- VG_CUBIC_TO_ABS,
- VG_CLOSE_PATH};
- static const VGfloat sqrCoords[] = {
- 45.885571, 62.857143,
- 154.11442, 62.857143,
- 162.1236, 62.857143, 168.57142, 70.260744, 168.57142, 79.457144,
- 168.57142, 123.4,
- 168.57142, 132.5964, 162.1236, 140, 154.11442, 140,
- 45.885571, 140,
- 37.876394, 140, 31.428572, 132.5964, 31.428572, 123.4,
- 31.428572, 79.457144,
- 31.428572, 70.260744, 37.876394,62.857143, 45.885571,62.857143
- };
- path = vgCreatePath(VG_PATH_FORMAT_STANDARD, VG_PATH_DATATYPE_F, 1, 0, 0, 0,
- VG_PATH_CAPABILITY_APPEND_TO);
- vgAppendPathData(path, 10, sqrCmds, sqrCoords);
-
- fill = vgCreatePaint();
- vgSetParameterfv(fill, VG_PAINT_COLOR, 4, color);
- vgSetPaint(fill, VG_FILL_PATH);
-
- vgSetfv(VG_CLEAR_COLOR, 4, white_color);
- vgSetf(VG_STROKE_LINE_WIDTH, 6);
-}
-
-/* new window size or exposure */
-static void
-reshape(int w, int h)
-{
- vgLoadIdentity();
-}
-
-static void
-draw(void)
-{
- vgClear(0, 0, window_width(), window_height());
- vgDrawPath(path, VG_STROKE_PATH);
-}
-
-
-int main(int argc, char **argv)
-{
- return run(argc, argv, init, reshape,
- draw, 0);
-}
diff --git a/progs/openvg/trivial/star-nonzero.c b/progs/openvg/trivial/star-nonzero.c
deleted file mode 100644
index 012fbd3929..0000000000
--- a/progs/openvg/trivial/star-nonzero.c
+++ /dev/null
@@ -1,55 +0,0 @@
-#include "eglcommon.h"
-
-#include <VG/openvg.h>
-
-const VGfloat white_color[4] = {1.0, 1.0, 1.0, 1.0};
-const VGfloat green_color[4] = {0.0, 1.0, 0.0, 0.8};
-
-VGPath path;
-VGPaint fill;
-
-
-static void
-init(void)
-{
- static const VGubyte cmds[6] = {VG_MOVE_TO_ABS, VG_LINE_TO_ABS, VG_LINE_TO_ABS, VG_LINE_TO_ABS,
- VG_LINE_TO_ABS, VG_CLOSE_PATH};
- static const VGfloat coords[] = { 0, 200,
- 300, 200,
- 50, 0,
- 150, 300,
- 250, 0};
- path = vgCreatePath(VG_PATH_FORMAT_STANDARD, VG_PATH_DATATYPE_F, 1, 0, 0, 0,
- VG_PATH_CAPABILITY_APPEND_TO);
- vgAppendPathData(path, 6, cmds, coords);
-
- fill = vgCreatePaint();
- vgSetParameterfv(fill, VG_PAINT_COLOR, 4, green_color);
- vgSetPaint(fill, VG_FILL_PATH);
-
- vgSetfv(VG_CLEAR_COLOR, 4, white_color);
- vgSeti(VG_FILL_RULE, VG_NON_ZERO);
-}
-
-/* new window size or exposure */
-static void
-reshape(int w, int h)
-{
- vgLoadIdentity();
-}
-
-static void
-draw(void)
-{
- vgClear(0, 0, window_width(), window_height());
- vgDrawPath(path, VG_FILL_PATH | VG_STROKE_PATH);
-
- vgFlush();
-}
-
-
-int main(int argc, char **argv)
-{
- return run(argc, argv, init, reshape,
- draw, 0);
-}
diff --git a/progs/openvg/trivial/star-oddeven.c b/progs/openvg/trivial/star-oddeven.c
deleted file mode 100644
index 17311cf720..0000000000
--- a/progs/openvg/trivial/star-oddeven.c
+++ /dev/null
@@ -1,102 +0,0 @@
-#include "eglcommon.h"
-
-#include <VG/openvg.h>
-
-const VGfloat white_color[4] = {1.0, 1.0, 1.0, 1.0};
-const VGfloat green_color[4] = {0.0, 1.0, 0.0, 0.8};
-const VGfloat black_color[4] = {0.0, 0.0, 0.0, 1.0};
-
-VGPath path;
-VGPaint fill;
-
-
-static void draw_point(VGfloat x, VGfloat y)
-{
-
- static const VGubyte cmds[] = {VG_MOVE_TO_ABS, VG_LINE_TO_ABS, VG_LINE_TO_ABS,
- VG_LINE_TO_ABS, VG_CLOSE_PATH};
- const VGfloat coords[] = { x - 2, y - 2,
- x + 2, y - 2,
- x + 2, y + 2,
- x - 2, y + 2};
- VGPath path;
- VGPaint fill;
-
- path = vgCreatePath(VG_PATH_FORMAT_STANDARD, VG_PATH_DATATYPE_F, 1, 0, 0, 0,
- VG_PATH_CAPABILITY_ALL);
- vgAppendPathData(path, 5, cmds, coords);
-
- fill = vgCreatePaint();
- vgSetParameterfv(fill, VG_PAINT_COLOR, 4, black_color);
- vgSetPaint(fill, VG_FILL_PATH);
-
- vgDrawPath(path, VG_FILL_PATH);
-
- vgDestroyPath(path);
- vgDestroyPaint(fill);
-}
-
-static void draw_marks(VGPath path)
-{
- VGfloat point[2], tangent[2];
- int i = 0;
-
- for (i = 0; i < 1300; i += 50) {
- vgPointAlongPath(path, 0, 6, i,
- point + 0, point + 1,
- tangent + 0, tangent + 1);
- draw_point(point[0], point[1]);
- }
-}
-
-static void
-init(void)
-{
- static const VGubyte cmds[6] = {VG_MOVE_TO_ABS, VG_LINE_TO_ABS, VG_LINE_TO_ABS, VG_LINE_TO_ABS,
- VG_LINE_TO_ABS, VG_CLOSE_PATH};
- static const VGfloat coords[] = { 0, 200,
- 300, 200,
- 50, 0,
- 150, 300,
- 250, 0};
- path = vgCreatePath(VG_PATH_FORMAT_STANDARD, VG_PATH_DATATYPE_F, 1, 0, 0, 0,
- VG_PATH_CAPABILITY_ALL);
- vgAppendPathData(path, 6, cmds, coords);
-
- fill = vgCreatePaint();
- vgSetParameterfv(fill, VG_PAINT_COLOR, 4, green_color);
- vgSetPaint(fill, VG_FILL_PATH);
-
- vgSetfv(VG_CLEAR_COLOR, 4, white_color);
-}
-
-/* new window size or exposure */
-static void
-reshape(int w, int h)
-{
- vgLoadIdentity();
-}
-
-static void
-draw(void)
-{
- VGfloat point[2], tangent[2];
- int i = 0;
-
- vgClear(0, 0, window_width(), window_height());
-
- vgSetPaint(fill, VG_FILL_PATH);
- vgDrawPath(path, VG_FILL_PATH);
-
- draw_marks(path);
-
-
- vgFlush();
-}
-
-
-int main(int argc, char **argv)
-{
- return run(argc, argv, init, reshape,
- draw, 0);
-}
diff --git a/progs/openvg/trivial/stroke.c b/progs/openvg/trivial/stroke.c
deleted file mode 100644
index 58ae5b7bc8..0000000000
--- a/progs/openvg/trivial/stroke.c
+++ /dev/null
@@ -1,116 +0,0 @@
-#include "eglcommon.h"
-
-#include <VG/openvg.h>
-#include <X11/keysym.h>
-#include <stdio.h>
-
-const VGfloat white_color[4] = {1.0, 1.0, 1.0, 1.0};
-const VGfloat color[4] = {0.4, 0.1, 1.0, 1.0};
-
-VGPath path;
-VGPaint fill;
-
-VGint cap_style = VG_CAP_BUTT;
-VGint join_style = VG_JOIN_MITER;
-
-static void
-init(void)
-{
-#if 0
- static const VGubyte cmds[] = {VG_MOVE_TO_ABS,
- VG_CUBIC_TO_ABS,
- };
- static const VGfloat coords[] = {30, 30, 264, 0, 0, 264, 234, 234
- };
-#else
- static const VGubyte cmds[] = {VG_MOVE_TO_ABS,
- VG_LINE_TO_ABS,
- VG_LINE_TO_ABS
- };
- static const VGfloat coords[] = {30, 30, 202, 30, 150, 224
- };
-#endif
- VGfloat dash_pattern[2] = { 20.f, 20.f };
- path = vgCreatePath(VG_PATH_FORMAT_STANDARD, VG_PATH_DATATYPE_F, 1, 0, 0, 0,
- VG_PATH_CAPABILITY_APPEND_TO);
- vgAppendPathData(path, 3, cmds, coords);
-
- fill = vgCreatePaint();
- vgSetParameterfv(fill, VG_PAINT_COLOR, 4, color);
- vgSetPaint(fill, VG_FILL_PATH);
-
- vgSetfv(VG_CLEAR_COLOR, 4, white_color);
- vgSetf(VG_STROKE_LINE_WIDTH, 20);
- vgSeti(VG_STROKE_CAP_STYLE, cap_style);
- vgSeti(VG_STROKE_JOIN_STYLE, join_style);
- vgSetfv(VG_STROKE_DASH_PATTERN, 2, dash_pattern);
- vgSetf(VG_STROKE_DASH_PHASE, 0.0f);
-}
-
-/* new window size or exposure */
-static void
-reshape(int w, int h)
-{
- vgLoadIdentity();
-}
-
-static void
-draw(void)
-{
- vgClear(0, 0, window_width(), window_height());
- vgDrawPath(path, VG_STROKE_PATH);
-
- vgFlush();
-}
-
-static int key_press(unsigned key)
-{
- switch(key) {
- case XK_c:
- case XK_C:
- ++cap_style;
- if (cap_style > VG_CAP_SQUARE)
- cap_style = VG_CAP_BUTT;
- switch(cap_style) {
- case VG_CAP_BUTT:
- fprintf(stderr, "Cap style 'butt'\n");
- break;
- case VG_CAP_ROUND:
- fprintf(stderr, "Cap style 'round'\n");
- break;
- case VG_CAP_SQUARE:
- fprintf(stderr, "Cap style 'square'\n");
- break;
- }
- vgSeti(VG_STROKE_CAP_STYLE, cap_style);
- break;
- case XK_j:
- case XK_J:
- ++join_style;
- if (join_style > VG_JOIN_BEVEL)
- join_style = VG_JOIN_MITER;
- switch(join_style) {
- case VG_JOIN_MITER:
- fprintf(stderr, "Join style 'miter'\n");
- break;
- case VG_JOIN_ROUND:
- fprintf(stderr, "Join style 'round'\n");
- break;
- case VG_JOIN_BEVEL:
- fprintf(stderr, "Join style 'bevel'\n");
- break;
- }
- vgSeti(VG_STROKE_JOIN_STYLE, join_style);
- break;
- default:
- break;
- }
-
- return VG_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- return run(argc, argv, init, reshape,
- draw, key_press);
-}
diff --git a/progs/openvg/trivial/stroke2.c b/progs/openvg/trivial/stroke2.c
deleted file mode 100644
index ce950c1886..0000000000
--- a/progs/openvg/trivial/stroke2.c
+++ /dev/null
@@ -1,207 +0,0 @@
-#include "eglcommon.h"
-
-#include <VG/openvg.h>
-#include <X11/keysym.h>
-#include <stdio.h>
-
-VGPaint stroke;
-VGPath target;
-VGPath lines;
-
-VGfloat xform[9];
-VGfloat color1[4];
-VGfloat color2[4];
-VGfloat bgCol[4];
-
-static void
-init(void)
-{
- VGubyte lineCmds[6];
- VGfloat lineCoords[8];
- VGfloat arcCoords[5];
- VGubyte sccCmd[1];
- VGubyte scCmd[1];
- VGubyte lccCmd[1];
- VGubyte lcCmd[1];
- VGubyte moveCmd[1];
- VGfloat moveCoords[2];
- VGint i;
-
- bgCol[0] = 1.0f;
- bgCol[1] = 1.0f;
- bgCol[2] = 1.0f;
- bgCol[3] = 1.0f;
-
- vgSetfv(VG_CLEAR_COLOR, 4, bgCol);
- vgSeti(VG_RENDERING_QUALITY, VG_RENDERING_QUALITY_NONANTIALIASED);
-
- stroke = vgCreatePaint();
- /* Red */
- color1[0] = 1.0f;
- color1[1] = 0.0f;
- color1[2] = 0.0f;
- color1[3] = 1.0f;
-
- /* Orange */
- color2[0] = 1.0000f;
- color2[1] = 1.0f;
- color2[2] = 0.0f;
- color2[3] = 1.0f;
- vgSetPaint(stroke, VG_STROKE_PATH);
-
- vgSeti(VG_STROKE_CAP_STYLE, VG_CAP_SQUARE);
-
- {
- VGfloat temp[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
- for (i = 0; i < 9; i++)
- {
- xform[i] = temp[i];
- }
- }
- vgGetMatrix(xform);
-
- target = vgCreatePath(VG_PATH_FORMAT_STANDARD,
- VG_PATH_DATATYPE_F, 1, 0, 0, 0, VG_PATH_CAPABILITY_TRANSFORM_TO);
-
-#if 0
- /* Line path */
- {
- VGubyte temp[6] = {VG_MOVE_TO_ABS, VG_VLINE_TO_REL,
- VG_MOVE_TO_ABS, VG_VLINE_TO_REL,
- VG_HLINE_TO_REL, VG_VLINE_TO_REL};
- for (i = 0; i < 6; i++)
- {
- lineCmds[i] = temp[i];
- }
- }
- {
- VGfloat temp[8] = {0.5f, 0.8f, -0.6f, 0.28f, 0.6f, -0.4f, 0.44f, 0.4f};
- for (i = 0; i < 8; i++)
- {
- lineCoords[i] = temp[i] * window_width();
- }
- }
-#else
- {
- VGfloat temp[5] = {0.35f, 0.15f, 29, 0.3f, 0.4f};
- for (i = 0; i < 5; i++)
- {
- arcCoords[i] = temp[i] * window_width();
- }
- arcCoords[2] = 29;
- }
-
- {
- VGubyte temp[1] = {VG_SCCWARC_TO_ABS};
- for (i = 0; i < 1; i++)
- {
- sccCmd[i] = temp[i];
- }
- }
- {
- VGubyte temp[1] = {VG_SCWARC_TO_ABS};
- for (i = 0; i < 1; i++)
- {
- scCmd[i] = temp[i];
- }
- }
- {
- VGubyte temp[1] = {VG_LCCWARC_TO_ABS};
- for (i = 0; i < 1; i++)
- {
- lccCmd[i] = temp[i];
- }
- }
- {
- VGubyte temp[1] = {VG_LCWARC_TO_ABS};
- for (i = 0; i < 1; i++)
- {
- lcCmd[i] = temp[i];
- }
- }
-
- {
- VGubyte temp[1] = {VG_MOVE_TO_ABS};
- for (i = 0; i < 1; i++)
- {
- moveCmd[i] = temp[i];
- }
- }
- {
- VGfloat temp[2] = {0.7f, 0.6f};
- for (i = 0; i < 2; i++)
- {
- moveCoords[i] = temp[i] * window_width();
- }
- }
-#endif
-
- lines = vgCreatePath(VG_PATH_FORMAT_STANDARD, VG_PATH_DATATYPE_F, 1,
- 0, 0, 0,
- VG_PATH_CAPABILITY_APPEND_TO|
- VG_PATH_CAPABILITY_TRANSFORM_FROM);
-#if 0
- vgAppendPathData(lines, 6, lineCmds, lineCoords);
-#else
- vgAppendPathData(lines, 1, moveCmd, moveCoords);
- vgAppendPathData(lines, 1, sccCmd, arcCoords);
- vgAppendPathData(lines, 1, moveCmd, moveCoords);
- vgAppendPathData(lines, 1, scCmd, arcCoords);
- vgAppendPathData(lines, 1, moveCmd, moveCoords);
- vgAppendPathData(lines, 1, lccCmd, arcCoords);
- vgAppendPathData(lines, 1, moveCmd, moveCoords);
- vgAppendPathData(lines, 1, lcCmd, arcCoords);
-#endif
-
- vgLoadIdentity();
- vgTranslate(0.25f * window_width(), 0.25f * window_height());
- vgRotate(30);
- vgTranslate(-0.25f * window_width(), -0.25f * window_height());
- vgTransformPath(target, lines);}
-
-/* new window size or exposure */
-static void
-reshape(int w, int h)
-{
-}
-
-static void
-draw(void)
-{
- vgClear(0, 0, window_width(), window_height());
- vgLoadMatrix(xform);
- vgLoadIdentity();
- vgTranslate(0.25f * window_width(), 0.25f * window_height());
- vgRotate(30);
- vgTranslate(-0.25f * window_width(), -0.25f * window_height());
- vgSetf(VG_STROKE_LINE_WIDTH, 7);
- vgSetParameterfv(stroke, VG_PAINT_COLOR, 4, color1);
- vgDrawPath(lines, VG_STROKE_PATH);
-
- vgLoadMatrix(xform);
- vgSetParameterfv(stroke, VG_PAINT_COLOR, 4, color2);
- vgSetf(VG_STROKE_LINE_WIDTH, 3);
- vgDrawPath(target, VG_STROKE_PATH);
-}
-
-static int key_press(unsigned key)
-{
- switch(key) {
- case XK_c:
- case XK_C:
- break;
- case XK_j:
- case XK_J:
- break;
- default:
- break;
- }
-
- return VG_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- return run(argc, argv, init, reshape,
- draw, key_press);
-}
diff --git a/progs/openvg/trivial/vguarc.c b/progs/openvg/trivial/vguarc.c
deleted file mode 100644
index 8d971d5c09..0000000000
--- a/progs/openvg/trivial/vguarc.c
+++ /dev/null
@@ -1,74 +0,0 @@
-#include "eglcommon.h"
-
-#include <VG/openvg.h>
-#include <VG/vgu.h>
-
-const VGfloat white_color[4] = {1.0, 1.0, 1.0, 1.0};
-const VGfloat color[4] = {0.4, 0.1, 1.0, 1.0};
-
-VGPath path;
-VGPaint paint;
-
-
-static void
-init(void)
-{
- VGfloat clearColor[] = {0.0f, 0.0f, 0.0f, 1.0f};/* black color */
- VGfloat greenColor[] = {0.0f, 1.0f, 0.0f, 1.0f};/* green color */
- VGint arcType = VGU_ARC_OPEN;
- VGfloat x, y, w, h, startAngle, angleExtent;
-
- x = 150;
- y = 150;
- w = 150;
- h = 150;
-#if 0
- startAngle = -540.0f;
- angleExtent = 270.0f;
-#else
- startAngle = 270.0f;
- angleExtent = 90.0f;
-#endif
-
- paint = vgCreatePaint();
-
- vgSetPaint(paint, VG_STROKE_PATH);
- vgSetParameterfv(paint, VG_PAINT_COLOR, 4, greenColor);
- vgSetParameteri( paint, VG_PAINT_TYPE, VG_PAINT_TYPE_COLOR);
- vgSetf(VG_STROKE_LINE_WIDTH, 6.0f);
- vgSeti(VG_RENDERING_QUALITY, VG_RENDERING_QUALITY_NONANTIALIASED);
- vgSetfv(VG_CLEAR_COLOR, 4, clearColor);
-
- path = vgCreatePath(VG_PATH_FORMAT_STANDARD, VG_PATH_DATATYPE_F,
- 1.0f, 0.0f, 0, 0, VG_PATH_CAPABILITY_ALL);
-
- vguArc(path, x, y, w, h, startAngle, angleExtent, arcType);
-
- vgSeti(VG_STROKE_CAP_STYLE, VG_CAP_BUTT);
- vgSeti(VG_STROKE_JOIN_STYLE, VG_JOIN_BEVEL);
- vgSetf(VG_STROKE_MITER_LIMIT, 4.0f);
-}
-
-/* new window size or exposure */
-static void
-reshape(int w, int h)
-{
- vgLoadIdentity();
-}
-
-static void
-draw(void)
-{
- vgClear(0, 0, window_width(), window_height());
- vgDrawPath(path, VG_STROKE_PATH);
-
- vgFlush();
-}
-
-
-int main(int argc, char **argv)
-{
- // set_window_size(64, 63);
- return run(argc, argv, init, reshape,
- draw, 0);
-}
diff --git a/progs/perf/.gitignore b/progs/perf/.gitignore
deleted file mode 100644
index 7e8fe616cd..0000000000
--- a/progs/perf/.gitignore
+++ /dev/null
@@ -1,10 +0,0 @@
-copytex
-drawoverhead
-fbobind
-fill
-genmipmap
-readpixels
-swapbuffers
-teximage
-vbo
-vertexrate
diff --git a/progs/perf/Makefile b/progs/perf/Makefile
deleted file mode 100644
index f7b965542e..0000000000
--- a/progs/perf/Makefile
+++ /dev/null
@@ -1,55 +0,0 @@
-# progs/demos/Makefile
-
-TOP = ../..
-include $(TOP)/configs/current
-
-INCDIR = $(TOP)/include
-
-LIBS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLEW_LIB) \
- -l$(GLU_LIB) -l$(GL_LIB) $(APP_LIB_DEPS)
-
-# using : to avoid APP_CC pointing to CC loop
-CC := $(APP_CC)
-CFLAGS := -I$(INCDIR) $(CFLAGS)
-LDLIBS = $(LIBS)
-
-PROG_SOURCES = \
- copytex.c \
- drawoverhead.c \
- fbobind.c \
- fill.c \
- genmipmap.c \
- readpixels.c \
- swapbuffers.c \
- teximage.c \
- vbo.c \
- vertexrate.c \
-
-PROG_OBJS = $(PROG_SOURCES:.c=.o)
-
-PROGS = $(PROG_SOURCES:%.c=%)
-
-
-UTIL_SOURCES = \
- common.c \
- glmain.c
-
-UTIL_HEADERS = \
- common.h \
- glmain.h
-
-UTIL_OBJS = $(UTIL_SOURCES:.c=.o)
-
-
-
-default: $(PROGS)
-
-$(PROG_OBJS): $(UTIL_HEADERS)
-
-$(PROGS): $(UTIL_OBJS)
-
-
-
-clean:
- -rm -f $(PROGS)
- -rm -f *.o *~
diff --git a/progs/perf/SConscript b/progs/perf/SConscript
deleted file mode 100644
index a5ec9a7c2a..0000000000
--- a/progs/perf/SConscript
+++ /dev/null
@@ -1,32 +0,0 @@
-Import('env')
-
-if not env['GLUT']:
- Return()
-
-env = env.Clone()
-
-env.Prepend(LIBS = ['$GLUT_LIB'])
-
-progs = [
- 'copytex',
- 'drawoverhead',
- 'fbobind',
- 'fill',
- 'genmipmap',
- 'readpixels',
- 'swapbuffers',
- 'teximage',
- 'vbo',
- 'vertexrate',
-]
-
-for prog in progs:
- env.Program(
- target = prog,
- source = [
- prog + '.c',
- 'common.c',
- 'glmain.c',
- ]
- )
-
diff --git a/progs/perf/common.c b/progs/perf/common.c
deleted file mode 100644
index b6489ef918..0000000000
--- a/progs/perf/common.c
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Copyright (C) 2009 VMware, Inc. 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
- * VMWARE 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.
- */
-
-/**
- * Common perf code. This should be re-usable with other APIs.
- */
-
-#include "common.h"
-#include "glmain.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdarg.h>
-
-#if defined(_MSC_VER)
-#define snprintf _snprintf
-#endif
-
-
-/* Need to add a fflush windows console with mingw, otherwise nothing
- * shows up until program exit. May want to add logging here.
- */
-void
-perf_printf(const char *format, ...)
-{
- va_list ap;
- va_start(ap, format);
-
- fflush(stdout);
- vfprintf(stdout, format, ap);
- fflush(stdout);
-
- va_end(ap);
-}
-
-
-
-/**
- * Run function 'f' for enough iterations to reach a steady state.
- * Return the rate (iterations/second).
- */
-double
-PerfMeasureRate(PerfRateFunc f)
-{
- const double minDuration = 1.0;
- double rate = 0.0, prevRate = 0.0;
- unsigned subiters;
-
- /* Compute initial number of iterations to try.
- * If the test function is pretty slow this helps to avoid
- * extraordarily long run times.
- */
- subiters = 2;
- {
- const double t0 = PerfGetTime();
- double t1;
- do {
- f(subiters); /* call the rendering function */
- t1 = PerfGetTime();
- subiters *= 2;
- } while (t1 - t0 < 0.1 * minDuration);
- }
- /*perf_printf("initial subIters = %u\n", subiters);*/
-
- while (1) {
- const double t0 = PerfGetTime();
- unsigned iters = 0;
- double t1;
-
- do {
- f(subiters); /* call the rendering function */
- t1 = PerfGetTime();
- iters += subiters;
- } while (t1 - t0 < minDuration);
-
- rate = iters / (t1 - t0);
-
- if (0)
- perf_printf("prevRate %f rate %f ratio %f iters %u\n",
- prevRate, rate, rate/prevRate, iters);
-
- /* Try and speed the search up by skipping a few steps:
- */
- if (rate > prevRate * 1.6)
- subiters *= 8;
- else if (rate > prevRate * 1.2)
- subiters *= 4;
- else if (rate > prevRate * 1.05)
- subiters *= 2;
- else
- break;
-
- prevRate = rate;
- }
-
- if (0)
- perf_printf("%s returning iters %u rate %f\n", __FUNCTION__, subiters, rate);
- return rate;
-}
-
-
-/* Note static buffer, can only use once per printf.
- */
-const char *
-PerfHumanFloat( double d )
-{
- static char buf[80];
-
- if (d > 1000000000.0)
- snprintf(buf, sizeof(buf), "%.1f billion", d / 1000000000.0);
- else if (d > 1000000.0)
- snprintf(buf, sizeof(buf), "%.1f million", d / 1000000.0);
- else if (d > 1000.0)
- snprintf(buf, sizeof(buf), "%.1f thousand", d / 1000.0);
- else
- snprintf(buf, sizeof(buf), "%.1f", d);
-
- return buf;
-}
diff --git a/progs/perf/common.h b/progs/perf/common.h
deleted file mode 100644
index 6ea17402b5..0000000000
--- a/progs/perf/common.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (C) 2009 VMware, Inc. 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
- * VMWARE 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.
- */
-
-
-#ifndef COMMON_H
-#define COMMON_H
-
-
-#include <stddef.h> /* for offsetof() */
-
-
-typedef void (*PerfRateFunc)(unsigned count);
-
-
-extern double
-PerfMeasureRate(PerfRateFunc f);
-
-const char *
-PerfHumanFloat( double d );
-
-extern void
-perf_printf(const char *format, ...);
-
-
-#endif /* COMMON_H */
-
diff --git a/progs/perf/copytex.c b/progs/perf/copytex.c
deleted file mode 100644
index f7a6b8aec3..0000000000
--- a/progs/perf/copytex.c
+++ /dev/null
@@ -1,214 +0,0 @@
-/*
- * Copyright (C) 2009 VMware, Inc. 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
- * VMWARE 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.
- */
-
-/**
- * Measure glCopyTex[Sub]Image() rate.
- * Create a large, off-screen framebuffer object for rendering and
- * copying the texture data from it since we can't make really large
- * on-screen windows.
- *
- * Brian Paul
- * 22 Sep 2009
- */
-
-#include <string.h>
-#include "glmain.h"
-#include "common.h"
-
-int WinWidth = 100, WinHeight = 100;
-
-static GLuint VBO, FBO, RBO, Tex;
-
-const GLsizei MinSize = 16, MaxSize = 4096;
-static GLsizei TexSize;
-
-static const GLboolean DrawPoint = GL_TRUE;
-static const GLboolean TexSubImage4 = GL_FALSE;
-
-struct vertex
-{
- GLfloat x, y, s, t;
-};
-
-static const struct vertex vertices[1] = {
- { 0.0, 0.0, 0.5, 0.5 },
-};
-
-#define VOFFSET(F) ((void *) offsetof(struct vertex, F))
-
-
-/** Called from test harness/main */
-void
-PerfInit(void)
-{
- const GLenum filter = GL_LINEAR;
- GLenum stat;
-
- if (!PerfExtensionSupported("GL_EXT_framebuffer_object")) {
- perf_printf("copytex: GL_EXT_framebuffer_object not supported\n");
- exit(0);
- }
-
- /* setup VBO */
- glGenBuffersARB(1, &VBO);
- glBindBufferARB(GL_ARRAY_BUFFER_ARB, VBO);
- glBufferDataARB(GL_ARRAY_BUFFER_ARB, sizeof(vertices),
- vertices, GL_STATIC_DRAW_ARB);
-
- glVertexPointer(2, GL_FLOAT, sizeof(struct vertex), VOFFSET(x));
- glTexCoordPointer(2, GL_FLOAT, sizeof(struct vertex), VOFFSET(s));
- glEnableClientState(GL_VERTEX_ARRAY);
- glEnableClientState(GL_TEXTURE_COORD_ARRAY);
-
- /* setup texture */
- glGenTextures(1, &Tex);
- glBindTexture(GL_TEXTURE_2D, Tex);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, filter);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, filter);
- glEnable(GL_TEXTURE_2D);
-
- /* setup rbo */
- glGenRenderbuffersEXT(1, &RBO);
- glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, RBO);
- glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_RGBA, MaxSize, MaxSize);
-
- /* setup fbo */
- glGenFramebuffersEXT(1, &FBO);
- glBindFramebufferEXT(GL_FRAMEBUFFER, FBO);
- glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT,
- GL_COLOR_ATTACHMENT0_EXT,
- GL_RENDERBUFFER_EXT, RBO);
-
- stat = glCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT);
- if (stat != GL_FRAMEBUFFER_COMPLETE_EXT) {
- perf_printf("fboswitch: Error: incomplete FBO!\n");
- exit(1);
- }
-
- /* clear the FBO */
- glDrawBuffer(GL_COLOR_ATTACHMENT0_EXT);
- glViewport(0, 0, MaxSize, MaxSize);
- glClear(GL_COLOR_BUFFER_BIT);
-}
-
-
-static void
-CopyTexImage(unsigned count)
-{
- unsigned i;
- for (i = 1; i < count; i++) {
- /* draw something */
- if (DrawPoint)
- glDrawArrays(GL_POINTS, 0, 1);
-
- /* copy whole texture */
- glCopyTexImage2D(GL_TEXTURE_2D, 0,
- GL_RGBA, 0, 0, TexSize, TexSize, 0);
- }
- glFinish();
-}
-
-
-static void
-CopyTexSubImage(unsigned count)
-{
- unsigned i;
- for (i = 1; i < count; i++) {
- /* draw something */
- if (DrawPoint)
- glDrawArrays(GL_POINTS, 0, 1);
-
- /* copy sub texture */
- if (TexSubImage4) {
- /* four sub-copies */
- GLsizei half = TexSize / 2;
- /* lower-left */
- glCopyTexSubImage2D(GL_TEXTURE_2D, 0,
- 0, 0, 0, 0, half, half);
- /* lower-right */
- glCopyTexSubImage2D(GL_TEXTURE_2D, 0,
- half, 0, half, 0, half, half);
- /* upper-left */
- glCopyTexSubImage2D(GL_TEXTURE_2D, 0,
- 0, half, 0, half, half, half);
- /* upper-right */
- glCopyTexSubImage2D(GL_TEXTURE_2D, 0,
- half, half, half, half, half, half);
- }
- else {
- /* one big copy */
- glCopyTexSubImage2D(GL_TEXTURE_2D, 0,
- 0, 0, 0, 0, TexSize, TexSize);
- }
- }
- glFinish();
-}
-
-
-/** Called from test harness/main */
-void
-PerfNextRound(void)
-{
-}
-
-
-/** Called from test harness/main */
-void
-PerfDraw(void)
-{
- double rate, mbPerSec;
- GLint sub, maxTexSize;
-
- glGetIntegerv(GL_MAX_TEXTURE_SIZE, &maxTexSize);
-
- /* loop over whole/sub tex copy */
- for (sub = 0; sub < 2; sub++) {
-
- /* loop over texture sizes */
- for (TexSize = MinSize; TexSize <= MaxSize; TexSize *= 4) {
-
- if (TexSize <= maxTexSize) {
- GLint bytesPerImage = 4 * TexSize * TexSize;
-
- if (sub == 0)
- rate = PerfMeasureRate(CopyTexImage);
- else {
- /* setup empty dest texture */
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA,
- TexSize, TexSize, 0,
- GL_RGBA, GL_UNSIGNED_BYTE, NULL);
- rate = PerfMeasureRate(CopyTexSubImage);
- }
-
- mbPerSec = rate * bytesPerImage / (1024.0 * 1024.0);
- }
- else {
- rate = 0.0;
- mbPerSec = 0.0;
- }
-
- perf_printf(" glCopyTex%sImage(%d x %d): %.1f copies/sec, %.1f Mpixels/sec\n",
- (sub ? "Sub" : ""), TexSize, TexSize, rate, mbPerSec);
- }
- }
-
- exit(0);
-}
diff --git a/progs/perf/drawoverhead.c b/progs/perf/drawoverhead.c
deleted file mode 100644
index f75c9bb74e..0000000000
--- a/progs/perf/drawoverhead.c
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Copyright (C) 2009 VMware, Inc. 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
- * VMWARE 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.
- */
-
-/**
- * Measure drawing overhead
- *
- * This is the first in a series of simple performance benchmarks.
- * The code in this file should be as simple as possible to make it
- * easily portable to other APIs.
- *
- * All the window-system stuff should be contained in glmain.c (or TBDmain.c).
- *
- * Brian Paul
- * 15 Sep 2009
- */
-
-#include "glmain.h"
-#include "common.h"
-
-
-int WinWidth = 100, WinHeight = 100;
-
-static GLuint VBO;
-
-struct vertex
-{
- GLfloat x, y;
-};
-
-static const struct vertex vertices[4] = {
- { -1.0, -1.0 },
- { 1.0, -1.0 },
- { 1.0, 1.0 },
- { -1.0, 1.0 }
-};
-
-
-/** Called from test harness/main */
-void
-PerfInit(void)
-{
- /* setup VBO w/ vertex data */
- glGenBuffersARB(1, &VBO);
- glBindBufferARB(GL_ARRAY_BUFFER_ARB, VBO);
- glBufferDataARB(GL_ARRAY_BUFFER_ARB,
- sizeof(vertices), vertices, GL_STATIC_DRAW_ARB);
- glVertexPointer(2, GL_FLOAT, sizeof(struct vertex), (void *) 0);
- glEnableClientState(GL_VERTEX_ARRAY);
-
- /* misc GL state */
- glAlphaFunc(GL_ALWAYS, 0.0);
-}
-
-
-static void
-DrawNoStateChange(unsigned count)
-{
- unsigned i;
- for (i = 0; i < count; i++) {
- glDrawArrays(GL_POINTS, 0, 4);
- }
- glFinish();
-}
-
-
-static void
-DrawNopStateChange(unsigned count)
-{
- unsigned i;
- for (i = 0; i < count; i++) {
- glDisable(GL_ALPHA_TEST);
- glDrawArrays(GL_POINTS, 0, 4);
- }
- glFinish();
-}
-
-
-static void
-DrawStateChange(unsigned count)
-{
- unsigned i;
- for (i = 0; i < count; i++) {
- if (i & 1)
- glEnable(GL_TEXTURE_GEN_S);
- else
- glDisable(GL_TEXTURE_GEN_S);
- glDrawArrays(GL_POINTS, 0, 4);
- }
- glFinish();
-}
-
-void
-PerfNextRound(void)
-{
-}
-
-/** Called from test harness/main */
-void
-PerfDraw(void)
-{
- double rate0, rate1, rate2, overhead;
-
- rate0 = PerfMeasureRate(DrawNoStateChange);
- perf_printf(" Draw only: %s draws/second\n",
- PerfHumanFloat(rate0));
-
- rate1 = PerfMeasureRate(DrawNopStateChange);
- overhead = 1000.0 * (1.0 / rate1 - 1.0 / rate0);
- perf_printf(" Draw w/ nop state change: %s draws/sec (overhead: %f ms/draw)\n",
- PerfHumanFloat(rate1), overhead);
-
- rate2 = PerfMeasureRate(DrawStateChange);
- overhead = 1000.0 * (1.0 / rate2 - 1.0 / rate0);
- perf_printf(" Draw w/ state change: %s draws/sec (overhead: %f ms/draw)\n",
- PerfHumanFloat(rate2), overhead);
-
- exit(0);
-}
-
diff --git a/progs/perf/fbobind.c b/progs/perf/fbobind.c
deleted file mode 100644
index fb52a93a2f..0000000000
--- a/progs/perf/fbobind.c
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * Copyright (C) 2009 VMware, Inc. 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
- * VMWARE 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.
- */
-
-/**
- * Measure rate of binding/switching between FBO targets.
- * Create two framebuffer objects for rendering to two textures.
- * Ping pong between texturing from one and drawing into the other.
- *
- * Brian Paul
- * 22 Sep 2009
- */
-
-#include <string.h>
-#include "glmain.h"
-#include "common.h"
-
-int WinWidth = 100, WinHeight = 100;
-
-static GLuint VBO;
-
-static GLuint FBO[2], Tex[2];
-
-static const GLsizei TexSize = 512;
-
-static const GLboolean DrawPoint = GL_TRUE;
-
-struct vertex
-{
- GLfloat x, y, s, t;
-};
-
-static const struct vertex vertices[1] = {
- { 0.0, 0.0, 0.5, 0.5 },
-};
-
-#define VOFFSET(F) ((void *) offsetof(struct vertex, F))
-
-
-/** Called from test harness/main */
-void
-PerfInit(void)
-{
- const GLenum filter = GL_LINEAR;
- GLenum stat;
- int i;
-
- if (!PerfExtensionSupported("GL_EXT_framebuffer_object")) {
- perf_printf("fboswitch: GL_EXT_framebuffer_object not supported\n");
- exit(0);
- }
-
- /* setup VBO */
- glGenBuffersARB(1, &VBO);
- glBindBufferARB(GL_ARRAY_BUFFER_ARB, VBO);
- glBufferDataARB(GL_ARRAY_BUFFER_ARB, sizeof(vertices),
- vertices, GL_STATIC_DRAW_ARB);
-
- glVertexPointer(2, GL_FLOAT, sizeof(struct vertex), VOFFSET(x));
- glTexCoordPointer(2, GL_FLOAT, sizeof(struct vertex), VOFFSET(s));
- glEnableClientState(GL_VERTEX_ARRAY);
- glEnableClientState(GL_TEXTURE_COORD_ARRAY);
-
- glGenFramebuffersEXT(2, FBO);
- glGenTextures(2, Tex);
-
- for (i = 0; i < 2; i++) {
- /* setup texture */
- glBindTexture(GL_TEXTURE_2D, Tex[i]);
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA,
- TexSize, TexSize, 0,
- GL_RGBA, GL_UNSIGNED_BYTE, NULL);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, filter);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, filter);
-
-
- /* setup fbo */
- glBindFramebufferEXT(GL_FRAMEBUFFER, FBO[i]);
- glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT,
- GL_COLOR_ATTACHMENT0_EXT,
- GL_TEXTURE_2D, Tex[i], 0/*level*/);
- stat = glCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT);
- if (stat != GL_FRAMEBUFFER_COMPLETE_EXT) {
- perf_printf("fboswitch: Error: incomplete FBO!\n");
- exit(1);
- }
-
- /* clear the FBO */
- glClear(GL_COLOR_BUFFER_BIT);
- }
-
- glEnable(GL_TEXTURE_2D);
-}
-
-
-static void
-FBOBind(unsigned count)
-{
- unsigned i;
- for (i = 1; i < count; i++) {
- const GLuint dst = i & 1;
- const GLuint src = 1 - dst;
-
- /* bind src texture */
- glBindTexture(GL_TEXTURE_2D, Tex[src]);
-
- /* bind dst fbo */
- glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, FBO[dst]);
- glDrawBuffer(GL_COLOR_ATTACHMENT0_EXT);
-
- /* draw something */
- if (DrawPoint)
- glDrawArrays(GL_POINTS, 0, 1);
- }
- glFinish();
-}
-
-
-/** Called from test harness/main */
-void
-PerfNextRound(void)
-{
-}
-
-
-/** Called from test harness/main */
-void
-PerfDraw(void)
-{
- double rate;
-
- rate = PerfMeasureRate(FBOBind);
- perf_printf(" FBO Binding: %1.f binds/sec\n", rate);
-
- exit(0);
-}
diff --git a/progs/perf/fill.c b/progs/perf/fill.c
deleted file mode 100644
index 279f2b5f18..0000000000
--- a/progs/perf/fill.c
+++ /dev/null
@@ -1,248 +0,0 @@
-/*
- * Copyright (C) 2009 VMware, Inc. 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
- * VMWARE 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.
- */
-
-/**
- * Measure fill rates.
- *
- * Brian Paul
- * 21 Sep 2009
- */
-
-#include "glmain.h"
-#include "common.h"
-
-
-int WinWidth = 1000, WinHeight = 1000;
-
-static GLuint VBO, TexObj;
-
-
-struct vertex
-{
- GLfloat x, y, s, t, r, g, b, a;
-};
-
-#define VOFFSET(F) ((void *) offsetof(struct vertex, F))
-
-static const struct vertex vertices[4] = {
- /* x y s t r g b a */
- { -1.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.5 },
- { 1.0, -1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.5 },
- { 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.5 },
- { -1.0, 1.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.5 }
-};
-
-
-static const char *VertexShader =
- "void main() \n"
- "{ \n"
- " gl_Position = ftransform(); \n"
- " gl_TexCoord[0] = gl_MultiTexCoord0; \n"
- " gl_FrontColor = gl_Color; \n"
- "} \n";
-
-/* simple fragment shader */
-static const char *FragmentShader1 =
- "uniform sampler2D Tex; \n"
- "void main() \n"
- "{ \n"
- " vec4 t = texture2D(Tex, gl_TexCoord[0].xy); \n"
- " gl_FragColor = vec4(1.0) - t * gl_Color; \n"
- "} \n";
-
-/**
- * A more complex fragment shader (but equivalent to first shader).
- * A good optimizer should catch some of these no-op operations, but
- * probably not all of them.
- */
-static const char *FragmentShader2 =
- "uniform sampler2D Tex; \n"
- "void main() \n"
- "{ \n"
- " // as above \n"
- " vec4 t = texture2D(Tex, gl_TexCoord[0].xy); \n"
- " t = vec4(1.0) - t * gl_Color; \n"
-
- " vec4 u; \n"
-
- " // no-op negate/swizzle \n"
- " u = -t.wzyx; \n"
- " t = -u.wzyx; \n"
-
- " // no-op inverts \n"
- " t = vec4(1.0) - t; \n"
- " t = vec4(1.0) - t; \n"
-
- " // no-op min/max \n"
- " t = min(t, t); \n"
- " t = max(t, t); \n"
-
- " // no-op moves \n"
- " u = t; \n"
- " t = u; \n"
- " u = t; \n"
- " t = u; \n"
-
- " // no-op add/mul \n"
- " t = (t + t + t + t) * 0.25; \n"
-
- " // no-op mul/sub \n"
- " t = 3.0 * t - 2.0 * t; \n"
-
- " // no-op negate/min/max \n"
- " t = -min(-t, -t); \n"
- " t = -max(-t, -t); \n"
-
- " gl_FragColor = t; \n"
- "} \n";
-
-static GLuint ShaderProg1, ShaderProg2;
-
-
-
-/** Called from test harness/main */
-void
-PerfInit(void)
-{
- GLint u;
-
- /* setup VBO w/ vertex data */
- glGenBuffersARB(1, &VBO);
- glBindBufferARB(GL_ARRAY_BUFFER_ARB, VBO);
- glBufferDataARB(GL_ARRAY_BUFFER_ARB,
- sizeof(vertices), vertices, GL_STATIC_DRAW_ARB);
- glVertexPointer(2, GL_FLOAT, sizeof(struct vertex), VOFFSET(x));
- glTexCoordPointer(2, GL_FLOAT, sizeof(struct vertex), VOFFSET(s));
- glColorPointer(4, GL_FLOAT, sizeof(struct vertex), VOFFSET(r));
- glEnableClientState(GL_VERTEX_ARRAY);
- glEnableClientState(GL_COLOR_ARRAY);
-
- /* setup texture */
- TexObj = PerfCheckerTexture(128, 128);
-
- /* setup shaders */
- ShaderProg1 = PerfShaderProgram(VertexShader, FragmentShader1);
- glUseProgram(ShaderProg1);
- u = glGetUniformLocation(ShaderProg1, "Tex");
- glUniform1i(u, 0); /* texture unit 0 */
-
- ShaderProg2 = PerfShaderProgram(VertexShader, FragmentShader2);
- glUseProgram(ShaderProg2);
- u = glGetUniformLocation(ShaderProg2, "Tex");
- glUniform1i(u, 0); /* texture unit 0 */
-
- glUseProgram(0);
-}
-
-
-static void
-Ortho(void)
-{
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
-}
-
-
-
-static void
-DrawQuad(unsigned count)
-{
- unsigned i;
- glClear(GL_COLOR_BUFFER_BIT);
-
- for (i = 0; i < count; i++) {
- glDrawArrays(GL_TRIANGLE_FAN, 0, 4);
-
- /* Avoid sending command buffers with huge numbers of fullscreen
- * quads. Graphics schedulers don't always cope well with
- * this...
- */
- if (i % 128 == 0) {
- PerfSwapBuffers();
- glClear(GL_COLOR_BUFFER_BIT);
- }
- }
-
- glFinish();
-
- if (1)
- PerfSwapBuffers();
-}
-
-void
-PerfNextRound(void)
-{
-}
-
-/** Called from test harness/main */
-void
-PerfDraw(void)
-{
- double rate;
- double pixelsPerDraw = WinWidth * WinHeight;
-
- Ortho();
-
- /* simple fill */
- rate = PerfMeasureRate(DrawQuad) * pixelsPerDraw;
- perf_printf(" Simple fill: %s pixels/second\n",
- PerfHumanFloat(rate));
-
- /* blended fill */
- glEnable(GL_BLEND);
- rate = PerfMeasureRate(DrawQuad) * pixelsPerDraw;
- glDisable(GL_BLEND);
- perf_printf(" Blended fill: %s pixels/second\n",
- PerfHumanFloat(rate));
-
- /* textured fill */
- glEnable(GL_TEXTURE_2D);
- glEnableClientState(GL_TEXTURE_COORD_ARRAY);
- rate = PerfMeasureRate(DrawQuad) * pixelsPerDraw;
- glDisable(GL_TEXTURE_2D);
- glDisableClientState(GL_TEXTURE_COORD_ARRAY);
- perf_printf(" Textured fill: %s pixels/second\n",
- PerfHumanFloat(rate));
-
- /* shader1 fill */
- glUseProgram(ShaderProg1);
- glEnableClientState(GL_TEXTURE_COORD_ARRAY);
- rate = PerfMeasureRate(DrawQuad) * pixelsPerDraw;
- glUseProgram(0);
- glDisableClientState(GL_TEXTURE_COORD_ARRAY);
- perf_printf(" Shader1 fill: %s pixels/second\n",
- PerfHumanFloat(rate));
-
- /* shader2 fill */
- glUseProgram(ShaderProg2);
- glEnableClientState(GL_TEXTURE_COORD_ARRAY);
- rate = PerfMeasureRate(DrawQuad) * pixelsPerDraw;
- glUseProgram(0);
- glDisableClientState(GL_TEXTURE_COORD_ARRAY);
- perf_printf(" Shader2 fill: %s pixels/second\n",
- PerfHumanFloat(rate));
-
- exit(0);
-}
-
diff --git a/progs/perf/genmipmap.c b/progs/perf/genmipmap.c
deleted file mode 100644
index 20e2fa3410..0000000000
--- a/progs/perf/genmipmap.c
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Copyright (C) 2009 VMware, Inc. 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
- * VMWARE 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.
- */
-
-/**
- * Measure glGenerateMipmap() speed.
- *
- * Brian Paul
- * 24 Sep 2009
- */
-
-#include <string.h>
-#include <stdio.h>
-#include "glmain.h"
-#include "common.h"
-
-
-int WinWidth = 100, WinHeight = 100;
-
-static GLboolean DrawPoint = GL_TRUE;
-static GLuint VBO;
-static GLuint TexObj = 0;
-static GLint BaseLevel, MaxLevel;
-
-struct vertex
-{
- GLfloat x, y, s, t;
-};
-
-static const struct vertex vertices[1] = {
- { 0.0, 0.0, 0.5, 0.5 },
-};
-
-#define VOFFSET(F) ((void *) offsetof(struct vertex, F))
-
-/** Called from test harness/main */
-void
-PerfInit(void)
-{
- if (!PerfExtensionSupported("GL_ARB_framebuffer_object")) {
- printf("Sorry, this test requires GL_ARB_framebuffer_object\n");
- exit(1);
- }
-
- /* setup VBO w/ vertex data */
- glGenBuffersARB(1, &VBO);
- glBindBufferARB(GL_ARRAY_BUFFER_ARB, VBO);
- glBufferDataARB(GL_ARRAY_BUFFER_ARB,
- sizeof(vertices), vertices, GL_STATIC_DRAW_ARB);
- glVertexPointer(2, GL_FLOAT, sizeof(struct vertex), VOFFSET(x));
- glTexCoordPointer(2, GL_FLOAT, sizeof(struct vertex), VOFFSET(s));
- glEnableClientState(GL_VERTEX_ARRAY);
- glEnableClientState(GL_TEXTURE_COORD_ARRAY);
-
- glGenTextures(1, &TexObj);
- glBindTexture(GL_TEXTURE_2D, TexObj);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- glEnable(GL_TEXTURE_2D);
-}
-
-
-static void
-GenMipmap(unsigned count)
-{
- unsigned i;
- for (i = 0; i < count; i++) {
- GLubyte texel[4];
- texel[0] = texel[1] = texel[2] = texel[3] = i & 0xff;
- /* dirty the base image */
- glTexSubImage2D(GL_TEXTURE_2D, BaseLevel,
- 0, 0, 1, 1, GL_RGBA, GL_UNSIGNED_BYTE, texel);
- glGenerateMipmap(GL_TEXTURE_2D);
- if (DrawPoint)
- glDrawArrays(GL_POINTS, 0, 1);
- }
- glFinish();
-}
-
-
-/** Called from test harness/main */
-void
-PerfNextRound(void)
-{
-}
-
-
-/** Called from test harness/main */
-void
-PerfDraw(void)
-{
- const GLint NumLevels = 12;
- const GLint TexWidth = 2048, TexHeight = 2048;
- GLubyte *img;
- double rate;
-
- /* Make 2K x 2K texture */
- img = (GLubyte *) malloc(TexWidth * TexHeight * 4);
- memset(img, 128, TexWidth * TexHeight * 4);
- glTexImage2D(GL_TEXTURE_2D, 0,
- GL_RGBA, TexWidth, TexHeight, 0,
- GL_RGBA, GL_UNSIGNED_BYTE, img);
- free(img);
-
- perf_printf("Texture level[0] size: %d x %d, %d levels\n",
- TexWidth, TexHeight, NumLevels);
-
- /* loop over base levels 0, 2, 4 */
- for (BaseLevel = 0; BaseLevel <= 4; BaseLevel += 2) {
-
- /* loop over max level */
- for (MaxLevel = NumLevels; MaxLevel > BaseLevel; MaxLevel--) {
-
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_BASE_LEVEL, BaseLevel);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, MaxLevel);
-
- rate = PerfMeasureRate(GenMipmap);
-
- perf_printf(" glGenerateMipmap(levels %d..%d): %.2f gens/sec\n",
- BaseLevel + 1, MaxLevel, rate);
- }
- }
-
- exit(0);
-}
diff --git a/progs/perf/glmain.c b/progs/perf/glmain.c
deleted file mode 100644
index 69cdbce319..0000000000
--- a/progs/perf/glmain.c
+++ /dev/null
@@ -1,268 +0,0 @@
-/*
- * Copyright (C) 2009 VMware, Inc. 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
- * VMWARE 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.
- */
-
-/**
- * OpenGL/GLUT common code for perf programs.
- * Brian Paul
- * 15 Sep 2009
- */
-
-
-#include <stdio.h>
-#include "glmain.h"
-#include <GL/glut.h>
-
-
-static int Win;
-static GLfloat Xrot = 0, Yrot = 0, Zrot = 0;
-
-
-/** Return time in seconds */
-double
-PerfGetTime(void)
-{
- return glutGet(GLUT_ELAPSED_TIME) * 0.001;
-}
-
-
-void
-PerfSwapBuffers(void)
-{
- glutSwapBuffers();
-}
-
-
-/** make simple checkerboard texture object */
-GLuint
-PerfCheckerTexture(GLsizei width, GLsizei height)
-{
- const GLenum filter = GL_NEAREST;
- GLubyte *img = (GLubyte *) malloc(width * height * 4);
- GLint i, j, k;
- GLuint obj;
-
- k = 0;
- for (i = 0; i < height; i++) {
- for (j = 0; j < width; j++) {
- GLubyte color;
- if (((i / 8) ^ (j / 8)) & 1) {
- color = 0xff;
- }
- else {
- color = 0x0;
- }
- img[k++] = color;
- img[k++] = color;
- img[k++] = color;
- img[k++] = color;
- }
- }
-
- glGenTextures(1, &obj);
- glBindTexture(GL_TEXTURE_2D, obj);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, filter);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, filter);
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0,
- GL_RGBA, GL_UNSIGNED_BYTE, img);
- free(img);
-
- return obj;
-}
-
-
-static GLuint
-CompileShader(GLenum type, const char *shader)
-{
- GLuint sh;
- GLint stat;
-
- sh = glCreateShader(type);
- glShaderSource(sh, 1, (const GLchar **) &shader, NULL);
-
- glCompileShader(sh);
-
- glGetShaderiv(sh, GL_COMPILE_STATUS, &stat);
- if (!stat) {
- GLchar log[1000];
- GLsizei len;
- glGetShaderInfoLog(sh, 1000, &len, log);
- fprintf(stderr, "Error: problem compiling shader: %s\n", log);
- exit(1);
- }
-
- return sh;
-}
-
-
-/** Make shader program from given vert/frag shader text */
-GLuint
-PerfShaderProgram(const char *vertShader, const char *fragShader)
-{
- GLuint prog;
- GLint stat;
-
- {
- const char *version = (const char *) glGetString(GL_VERSION);
- if ((version[0] != '2' &&
- version[0] != '3') || version[1] != '.') {
- fprintf(stderr, "Error: GL version 2.x or better required\n");
- exit(1);
- }
- }
-
- prog = glCreateProgram();
-
- if (vertShader) {
- GLuint vs = CompileShader(GL_VERTEX_SHADER, vertShader);
- glAttachShader(prog, vs);
- }
- if (fragShader) {
- GLuint fs = CompileShader(GL_FRAGMENT_SHADER, fragShader);
- glAttachShader(prog, fs);
- }
-
- glLinkProgram(prog);
- glGetProgramiv(prog, GL_LINK_STATUS, &stat);
- if (!stat) {
- GLchar log[1000];
- GLsizei len;
- glGetProgramInfoLog(prog, 1000, &len, log);
- fprintf(stderr, "Shader link error:\n%s\n", log);
- exit(1);
- }
-
- return prog;
-}
-
-
-int
-PerfReshapeWindow( unsigned w, unsigned h )
-{
- if (glutGet(GLUT_SCREEN_WIDTH) < w ||
- glutGet(GLUT_SCREEN_HEIGHT) < h)
- return 0;
-
- glutReshapeWindow( w, h );
- glutPostRedisplay();
- return 1;
-}
-
-
-GLboolean
-PerfExtensionSupported(const char *ext)
-{
- return glutExtensionSupported(ext);
-}
-
-
-static void
-Idle(void)
-{
- PerfNextRound();
-}
-
-
-static void
-Draw(void)
-{
- PerfDraw();
- glutSwapBuffers();
-}
-
-
-static void
-Reshape(int width, int height)
-{
- WinWidth = width;
- WinHeight = height;
- glViewport(0, 0, width, height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glFrustum(-1.0, 1.0, -1.0, 1.0, 5.0, 25.0);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef(0.0, 0.0, -15.0);
-}
-
-
-static void
-Key(unsigned char key, int x, int y)
-{
- const GLfloat step = 3.0;
- (void) x;
- (void) y;
- switch (key) {
- case 'z':
- Zrot -= step;
- break;
- case 'Z':
- Zrot += step;
- break;
- case 27:
- glutDestroyWindow(Win);
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void
-SpecialKey(int key, int x, int y)
-{
- const GLfloat step = 3.0;
- (void) x;
- (void) y;
- switch (key) {
- case GLUT_KEY_UP:
- Xrot -= step;
- break;
- case GLUT_KEY_DOWN:
- Xrot += step;
- break;
- case GLUT_KEY_LEFT:
- Yrot -= step;
- break;
- case GLUT_KEY_RIGHT:
- Yrot += step;
- break;
- }
- glutPostRedisplay();
-}
-
-
-int
-main(int argc, char *argv[])
-{
- glutInit(&argc, argv);
- glutInitWindowSize(WinWidth, WinHeight);
- glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH | GLUT_STENCIL);
- Win = glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutSpecialFunc(SpecialKey);
- glutDisplayFunc(Draw);
- glutIdleFunc(Idle);
- PerfInit();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/perf/glmain.h b/progs/perf/glmain.h
deleted file mode 100644
index d9bcd5f4e2..0000000000
--- a/progs/perf/glmain.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (C) 2009 VMware, Inc. 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
- * VMWARE 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.
- */
-
-
-#ifndef GLMAIN_H
-#define GLMAIN_H
-
-
-#define GL_GLEXT_PROTOTYPES
-#include <GL/glew.h>
-#include <stdlib.h>
-#include <math.h>
-
-
-/** Test programs can use these vars/functions */
-
-extern int WinWidth, WinHeight;
-
-extern double
-PerfGetTime(void);
-
-extern void
-PerfSwapBuffers(void);
-
-extern GLuint
-PerfCheckerTexture(GLsizei width, GLsizei height);
-
-extern GLuint
-PerfShaderProgram(const char *vertShader, const char *fragShader);
-
-extern int
-PerfReshapeWindow( unsigned w, unsigned h );
-
-extern GLboolean
-PerfExtensionSupported(const char *ext);
-
-
-/** Test programs must implement these functions **/
-
-extern void
-PerfInit(void);
-
-extern void
-PerfNextRound(void);
-
-extern void
-PerfDraw(void);
-
-
-#endif /* GLMAIN_H */
diff --git a/progs/perf/readpixels.c b/progs/perf/readpixels.c
deleted file mode 100644
index ac7dc426e9..0000000000
--- a/progs/perf/readpixels.c
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
- * Copyright (C) 2009 VMware, Inc. 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
- * VMWARE 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.
- */
-
-/**
- * Measure glReadPixels speed.
- * XXX also read into a PBO?
- * XXX also read from FBOs?
- *
- * Brian Paul
- * 23 Sep 2009
- */
-
-#include <string.h>
-#include <assert.h>
-#include "glmain.h"
-#include "common.h"
-
-int WinWidth = 1000, WinHeight = 1000;
-
-static GLuint VBO;
-
-static const GLboolean DrawPoint = GL_TRUE;
-static const GLboolean BufferSubDataInHalves = GL_TRUE;
-
-static const GLfloat Vertex0[2] = { 0.0, 0.0 };
-
-static GLenum HaveDepthStencil;
-
-static GLenum ReadFormat, ReadType;
-static GLint ReadWidth, ReadHeight;
-static GLvoid *ReadBuffer;
-
-
-/** Called from test harness/main */
-void
-PerfInit(void)
-{
- /* setup VBO */
- glGenBuffersARB(1, &VBO);
- glBindBufferARB(GL_ARRAY_BUFFER_ARB, VBO);
- glBufferDataARB(GL_ARRAY_BUFFER_ARB, sizeof(Vertex0), Vertex0, GL_STATIC_DRAW_ARB);
- glVertexPointer(2, GL_FLOAT, sizeof(Vertex0), (void *) 0);
- glEnableClientState(GL_VERTEX_ARRAY);
-
- glPixelStorei(GL_PACK_ALIGNMENT, 1);
-
- HaveDepthStencil = PerfExtensionSupported("GL_EXT_packed_depth_stencil");
-
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
- glEnable(GL_DEPTH_TEST);
- glEnable(GL_STENCIL_TEST);
-}
-
-
-static void
-ReadPixels(unsigned count)
-{
- unsigned i;
- for (i = 0; i < count; i++) {
- /* read from random pos */
- GLint x, y;
-
- x = WinWidth - ReadWidth;
- y = WinHeight - ReadHeight;
- if (x > 0)
- x = rand() % x;
- if (y > 0)
- y = rand() % y;
-
- if (DrawPoint)
- glDrawArrays(GL_POINTS, 0, 1);
-
- glReadPixels(x, y, ReadWidth, ReadHeight,
- ReadFormat, ReadType, ReadBuffer);
- }
- glFinish();
-}
-
-
-static const GLsizei Sizes[] = {
- 10,
- 100,
- 500,
- 1000,
- 0
-};
-
-
-static const struct {
- GLenum format;
- GLenum type;
- const char *name;
- GLuint pixel_size;
-} DstFormats[] = {
- { GL_RGBA, GL_UNSIGNED_BYTE, "RGBA/ubyte", 4 },
- { GL_BGRA, GL_UNSIGNED_BYTE, "BGRA/ubyte", 4 },
- { GL_RGB, GL_UNSIGNED_SHORT_5_6_5, "RGB/565", 2 },
- { GL_LUMINANCE, GL_UNSIGNED_BYTE, "L/ubyte", 1 },
- { GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, "Z/uint", 4 },
- { GL_DEPTH_STENCIL_EXT, GL_UNSIGNED_INT_24_8_EXT, "Z+S/uint", 4 },
- { 0, 0, NULL, 0 }
-};
-
-
-
-/** Called from test harness/main */
-void
-PerfNextRound(void)
-{
-}
-
-
-/** Called from test harness/main */
-void
-PerfDraw(void)
-{
- double rate, mbPerSec;
- int fmt, sz;
-
- /* loop over formats */
- for (fmt = 0; DstFormats[fmt].format; fmt++) {
- ReadFormat = DstFormats[fmt].format;
- ReadType = DstFormats[fmt].type;
-
- /* loop over sizes */
- for (sz = 0; Sizes[sz]; sz++) {
- int imgSize;
-
- ReadWidth = ReadHeight = Sizes[sz];
- imgSize = ReadWidth * ReadHeight * DstFormats[fmt].pixel_size;
- ReadBuffer = malloc(imgSize);
-
- if (ReadFormat == GL_DEPTH_STENCIL_EXT && !HaveDepthStencil) {
- rate = 0.0;
- mbPerSec = 0.0;
- }
- else {
- rate = PerfMeasureRate(ReadPixels);
- mbPerSec = rate * imgSize / (1024.0 * 1024.0);
- }
-
- perf_printf("glReadPixels(%d x %d, %s): %.1f images/sec, %.1f Mpixels/sec\n",
- ReadWidth, ReadHeight,
- DstFormats[fmt].name, rate, mbPerSec);
-
- free(ReadBuffer);
- }
- }
-
- exit(0);
-}
diff --git a/progs/perf/swapbuffers.c b/progs/perf/swapbuffers.c
deleted file mode 100644
index 63c7fc06f9..0000000000
--- a/progs/perf/swapbuffers.c
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
- * Copyright (C) 2009 VMware, Inc. 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
- * VMWARE 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.
- */
-
-/**
- * Measure SwapBuffers.
- *
- * Keith Whitwell
- * 22 Sep 2009
- */
-
-#include "glmain.h"
-#include "common.h"
-
-
-int WinWidth = 100, WinHeight = 100;
-int real_WinWidth, real_WinHeight; /* don't know whats going on here */
-
-static GLuint VBO;
-
-struct vertex
-{
- GLfloat x, y;
-};
-
-static const struct vertex vertices[4] = {
- { -1.0, -1.0 },
- { 1.0, -1.0 },
- { 1.0, 1.0 },
- { -1.0, 1.0 }
-};
-
-
-/** Called from test harness/main */
-void
-PerfInit(void)
-{
- /* setup VBO w/ vertex data */
- glGenBuffersARB(1, &VBO);
- glBindBufferARB(GL_ARRAY_BUFFER_ARB, VBO);
- glBufferDataARB(GL_ARRAY_BUFFER_ARB,
- sizeof(vertices), vertices, GL_STATIC_DRAW_ARB);
- glVertexPointer(2, GL_FLOAT, sizeof(struct vertex), (void *) 0);
- glEnableClientState(GL_VERTEX_ARRAY);
-
- /* misc GL state */
- glAlphaFunc(GL_ALWAYS, 0.0);
-}
-
-static void
-SwapNaked(unsigned count)
-{
- unsigned i;
- for (i = 0; i < count; i++) {
- PerfSwapBuffers();
- }
-}
-
-
-static void
-SwapClear(unsigned count)
-{
- unsigned i;
- for (i = 0; i < count; i++) {
- glClear(GL_COLOR_BUFFER_BIT);
- PerfSwapBuffers();
- }
-}
-
-static void
-SwapClearPoint(unsigned count)
-{
- unsigned i;
- for (i = 0; i < count; i++) {
- glClear(GL_COLOR_BUFFER_BIT);
- glDrawArrays(GL_POINTS, 0, 4);
- PerfSwapBuffers();
- }
-}
-
-
-static const struct {
- unsigned w;
- unsigned h;
-} sizes[] = {
- { 320, 240 },
- { 640, 480 },
- { 1024, 768 },
- { 1200, 1024 },
- { 1600, 1200 }
-};
-
-void
-PerfNextRound(void)
-{
- static unsigned i;
-
- if (i < sizeof(sizes) / sizeof(sizes[0]) &&
- PerfReshapeWindow( sizes[i].w, sizes[i].h ))
- {
- perf_printf("Reshape %dx%d\n", sizes[i].w, sizes[i].h);
- real_WinWidth = sizes[i].w;
- real_WinHeight = sizes[i].h;
- i++;
- }
- else {
- exit(0);
- }
-}
-
-
-
-
-/** Called from test harness/main */
-void
-PerfDraw(void)
-{
- double rate0;
-
- rate0 = PerfMeasureRate(SwapNaked);
- perf_printf(" Swapbuffers %dx%d: %s swaps/second",
- real_WinWidth, real_WinHeight,
- PerfHumanFloat(rate0));
- perf_printf(" %s pixels/second\n",
- PerfHumanFloat(rate0 * real_WinWidth * real_WinHeight));
-
-
-
- rate0 = PerfMeasureRate(SwapClear);
- perf_printf(" Swap/Clear %dx%d: %s swaps/second",
- real_WinWidth, real_WinHeight,
- PerfHumanFloat(rate0));
- perf_printf(" %s pixels/second\n",
- PerfHumanFloat(rate0 * real_WinWidth * real_WinHeight));
-
-
- rate0 = PerfMeasureRate(SwapClearPoint);
- perf_printf(" Swap/Clear/Draw %dx%d: %s swaps/second",
- real_WinWidth, real_WinHeight,
- PerfHumanFloat(rate0));
- perf_printf(" %s pixels/second\n",
- PerfHumanFloat(rate0 * real_WinWidth * real_WinHeight));
-}
-
diff --git a/progs/perf/teximage.c b/progs/perf/teximage.c
deleted file mode 100644
index a3005d0bef..0000000000
--- a/progs/perf/teximage.c
+++ /dev/null
@@ -1,331 +0,0 @@
-/*
- * Copyright (C) 2009 VMware, Inc. 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
- * VMWARE 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.
- */
-
-/**
- * Measure glTex[Sub]Image2D() and glGetTexImage() rate
- *
- * Brian Paul
- * 16 Sep 2009
- */
-
-#include "glmain.h"
-#include "common.h"
-
-
-int WinWidth = 100, WinHeight = 100;
-
-static GLuint VBO;
-static GLuint TexObj = 0;
-static GLubyte *TexImage = NULL;
-static GLsizei TexSize;
-static GLenum TexIntFormat, TexSrcFormat, TexSrcType;
-
-static const GLboolean DrawPoint = GL_TRUE;
-static const GLboolean TexSubImage4 = GL_FALSE;
-
-enum {
- MODE_CREATE_TEXIMAGE,
- MODE_TEXIMAGE,
- MODE_TEXSUBIMAGE,
- MODE_GETTEXIMAGE,
- MODE_COUNT
-};
-
-static const char *mode_name[MODE_COUNT] =
-{
- "Create_TexImage",
- "TexImage",
- "TexSubImage",
- "GetTexImage"
-};
-
-
-
-struct vertex
-{
- GLfloat x, y, s, t;
-};
-
-static const struct vertex vertices[1] = {
- { 0.0, 0.0, 0.5, 0.5 },
-};
-
-#define VOFFSET(F) ((void *) offsetof(struct vertex, F))
-
-
-/** Called from test harness/main */
-void
-PerfInit(void)
-{
- /* setup VBO w/ vertex data */
- glGenBuffersARB(1, &VBO);
- glBindBufferARB(GL_ARRAY_BUFFER_ARB, VBO);
- glBufferDataARB(GL_ARRAY_BUFFER_ARB,
- sizeof(vertices), vertices, GL_STATIC_DRAW_ARB);
- glVertexPointer(2, GL_FLOAT, sizeof(struct vertex), VOFFSET(x));
- glTexCoordPointer(2, GL_FLOAT, sizeof(struct vertex), VOFFSET(s));
- glEnableClientState(GL_VERTEX_ARRAY);
- glEnableClientState(GL_TEXTURE_COORD_ARRAY);
-
- /* texture */
- glGenTextures(1, &TexObj);
- glBindTexture(GL_TEXTURE_2D, TexObj);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- glEnable(GL_TEXTURE_2D);
-}
-
-
-
-
-static void
-CreateUploadTexImage2D(unsigned count)
-{
- unsigned i;
- for (i = 0; i < count; i++) {
- if (TexObj)
- glDeleteTextures(1, &TexObj);
-
- glGenTextures(1, &TexObj);
- glBindTexture(GL_TEXTURE_2D, TexObj);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
-
- glTexImage2D(GL_TEXTURE_2D, 0, TexIntFormat,
- TexSize, TexSize, 0,
- TexSrcFormat, TexSrcType, TexImage);
-
- if (DrawPoint)
- glDrawArrays(GL_POINTS, 0, 1);
- }
- glFinish();
-}
-
-
-static void
-UploadTexImage2D(unsigned count)
-{
- unsigned i;
- for (i = 0; i < count; i++) {
- /* XXX is this equivalent to a glTexSubImage call since we're
- * always specifying the same image size? That case isn't optimized
- * in Mesa but may be optimized in other drivers. Note sure how
- * much difference that might make.
- */
- glTexImage2D(GL_TEXTURE_2D, 0, TexIntFormat,
- TexSize, TexSize, 0,
- TexSrcFormat, TexSrcType, TexImage);
- if (DrawPoint)
- glDrawArrays(GL_POINTS, 0, 1);
- }
- glFinish();
-}
-
-
-static void
-UploadTexSubImage2D(unsigned count)
-{
- unsigned i;
- for (i = 0; i < count; i++) {
- if (TexSubImage4) {
- GLsizei halfSize = (TexSize == 1) ? 1 : TexSize / 2;
- GLsizei halfPos = TexSize - halfSize;
- /* do glTexSubImage2D in four pieces */
- /* lower-left */
- glPixelStorei(GL_UNPACK_ROW_LENGTH, TexSize);
- glTexSubImage2D(GL_TEXTURE_2D, 0,
- 0, 0, halfSize, halfSize,
- TexSrcFormat, TexSrcType, TexImage);
- /* lower-right */
- glPixelStorei(GL_UNPACK_SKIP_PIXELS, halfPos);
- glTexSubImage2D(GL_TEXTURE_2D, 0,
- halfPos, 0, halfSize, halfSize,
- TexSrcFormat, TexSrcType, TexImage);
- /* upper-left */
- glPixelStorei(GL_UNPACK_SKIP_PIXELS, 0);
- glPixelStorei(GL_UNPACK_SKIP_ROWS, halfPos);
- glTexSubImage2D(GL_TEXTURE_2D, 0,
- 0, halfPos, halfSize, halfSize,
- TexSrcFormat, TexSrcType, TexImage);
- /* upper-right */
- glPixelStorei(GL_UNPACK_SKIP_PIXELS, halfPos);
- glPixelStorei(GL_UNPACK_SKIP_ROWS, halfPos);
- glTexSubImage2D(GL_TEXTURE_2D, 0,
- halfPos, halfPos, halfSize, halfSize,
- TexSrcFormat, TexSrcType, TexImage);
- /* reset the unpacking state */
- glPixelStorei(GL_UNPACK_SKIP_PIXELS, 0);
- glPixelStorei(GL_UNPACK_SKIP_ROWS, 0);
- glPixelStorei(GL_UNPACK_ROW_LENGTH, 0);
- }
- else {
- /* replace whole texture image at once */
- glTexSubImage2D(GL_TEXTURE_2D, 0,
- 0, 0, TexSize, TexSize,
- TexSrcFormat, TexSrcType, TexImage);
- }
- if (DrawPoint)
- glDrawArrays(GL_POINTS, 0, 1);
- }
- glFinish();
-}
-
-
-static void
-GetTexImage2D(unsigned count)
-{
- unsigned i;
- GLubyte *buf = (GLubyte *) malloc(TexSize * TexSize * 4);
- for (i = 0; i < count; i++) {
- glGetTexImage(GL_TEXTURE_2D, 0,
- TexSrcFormat, TexSrcType, buf);
- }
- glFinish();
- free(buf);
-}
-
-
-/* XXX any other formats to measure? */
-static const struct {
- GLenum format, type;
- GLenum internal_format;
- const char *name;
- GLuint texel_size;
- GLboolean full_test;
-} SrcFormats[] = {
- { GL_RGBA, GL_UNSIGNED_BYTE, GL_RGBA, "RGBA/ubyte", 4, GL_TRUE },
- { GL_RGB, GL_UNSIGNED_BYTE, GL_RGB, "RGB/ubyte", 3, GL_FALSE },
- { GL_RGB, GL_UNSIGNED_SHORT_5_6_5, GL_RGB, "RGB/565", 2, GL_FALSE },
- { GL_BGRA, GL_UNSIGNED_BYTE, GL_RGBA, "BGRA/ubyte", 4, GL_FALSE },
- { GL_LUMINANCE, GL_UNSIGNED_BYTE, GL_LUMINANCE, "L/ubyte", 1, GL_FALSE },
- { 0, 0, 0, NULL, 0, 0 }
-};
-
-
-/** Called from test harness/main */
-void
-PerfNextRound(void)
-{
-}
-
-
-/** Called from test harness/main */
-void
-PerfDraw(void)
-{
- GLint maxSize;
- double rate;
- GLint fmt, mode;
-
- glGetIntegerv(GL_MAX_TEXTURE_SIZE, &maxSize);
-
- /* loop over source data formats */
- for (fmt = 0; SrcFormats[fmt].format; fmt++) {
- TexIntFormat = SrcFormats[fmt].internal_format;
- TexSrcFormat = SrcFormats[fmt].format;
- TexSrcType = SrcFormats[fmt].type;
-
- /* loop over glTexImage, glTexSubImage */
- for (mode = 0; mode < MODE_COUNT; mode++) {
- GLuint minsz, maxsz;
-
- if (SrcFormats[fmt].full_test) {
- minsz = 16;
- maxsz = 4096;
- }
- else {
- minsz = maxsz = 256;
- if (mode == MODE_CREATE_TEXIMAGE)
- continue;
- }
-
- /* loop over a defined range of texture sizes, test only the
- * ones which are legal for this driver.
- */
- for (TexSize = minsz; TexSize <= maxsz; TexSize *= 4) {
- double mbPerSec;
-
- if (TexSize <= maxSize) {
- GLint bytesPerImage;
-
- bytesPerImage = TexSize * TexSize * SrcFormats[fmt].texel_size;
- TexImage = malloc(bytesPerImage);
-
- switch (mode) {
- case MODE_TEXIMAGE:
- rate = PerfMeasureRate(UploadTexImage2D);
- break;
-
- case MODE_CREATE_TEXIMAGE:
- rate = PerfMeasureRate(CreateUploadTexImage2D);
- break;
-
- case MODE_TEXSUBIMAGE:
- /* create initial, empty texture */
- glTexImage2D(GL_TEXTURE_2D, 0, TexIntFormat,
- TexSize, TexSize, 0,
- TexSrcFormat, TexSrcType, NULL);
- rate = PerfMeasureRate(UploadTexSubImage2D);
- break;
-
- case MODE_GETTEXIMAGE:
- glTexImage2D(GL_TEXTURE_2D, 0, TexIntFormat,
- TexSize, TexSize, 0,
- TexSrcFormat, TexSrcType, TexImage);
- rate = PerfMeasureRate(GetTexImage2D);
- break;
-
- default:
- exit(1);
- }
-
- mbPerSec = rate * bytesPerImage / (1024.0 * 1024.0);
- free(TexImage);
-
-
- {
- unsigned err;
- err = glGetError();
- if (err) {
- perf_printf("non-zero glGetError() %d\n", err);
- exit(1);
- }
- }
-
- }
- else {
- rate = 0;
- mbPerSec = 0;
- }
-
- perf_printf(" %s(%s %d x %d): "
- "%.1f images/sec, %.1f MB/sec\n",
- mode_name[mode],
- SrcFormats[fmt].name, TexSize, TexSize, rate, mbPerSec);
- }
-
- if (SrcFormats[fmt].full_test)
- perf_printf("\n");
- }
- }
-
- exit(0);
-}
diff --git a/progs/perf/vbo.c b/progs/perf/vbo.c
deleted file mode 100644
index b326c056ec..0000000000
--- a/progs/perf/vbo.c
+++ /dev/null
@@ -1,246 +0,0 @@
-/*
- * Copyright (C) 2009 VMware, Inc. 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
- * VMWARE 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.
- */
-
-/**
- * Measure VBO upload speed.
- * That is, measure glBufferDataARB() and glBufferSubDataARB().
- *
- * Brian Paul
- * 16 Sep 2009
- */
-
-#include <string.h>
-#include "glmain.h"
-#include "common.h"
-
-/* Copy data out of a large array to avoid caching effects:
- */
-#define DATA_SIZE (16*1024*1024)
-
-int WinWidth = 100, WinHeight = 100;
-
-static GLuint VBO;
-
-static GLsizei VBOSize = 0;
-static GLsizei SubSize = 0;
-static GLubyte *VBOData = NULL; /* array[DATA_SIZE] */
-
-static const GLboolean DrawPoint = GL_TRUE;
-static const GLboolean BufferSubDataInHalves = GL_TRUE;
-
-static const GLfloat Vertex0[2] = { 0.0, 0.0 };
-
-
-/** Called from test harness/main */
-void
-PerfInit(void)
-{
- /* setup VBO */
- glGenBuffersARB(1, &VBO);
- glBindBufferARB(GL_ARRAY_BUFFER_ARB, VBO);
- glVertexPointer(2, GL_FLOAT, sizeof(Vertex0), (void *) 0);
- glEnableClientState(GL_VERTEX_ARRAY);
-}
-
-
-static void
-UploadVBO(unsigned count)
-{
- unsigned i;
- unsigned total = 0;
- unsigned src = 0;
-
- for (i = 0; i < count; i++) {
- glBufferDataARB(GL_ARRAY_BUFFER, VBOSize, VBOData + src, GL_STREAM_DRAW_ARB);
- glDrawArrays(GL_POINTS, 0, 1);
-
- /* Throw in an occasional flush to work around a driver crash:
- */
- total += VBOSize;
- if (total >= 16*1024*1024) {
- glFlush();
- total = 0;
- }
-
- src += VBOSize;
- src %= DATA_SIZE;
- }
- glFinish();
-}
-
-
-static void
-UploadSubVBO(unsigned count)
-{
- unsigned i;
- unsigned src = 0;
-
- for (i = 0; i < count; i++) {
- unsigned offset = (i * SubSize) % VBOSize;
- glBufferSubDataARB(GL_ARRAY_BUFFER, offset, SubSize, VBOData + src);
-
- if (DrawPoint) {
- glDrawArrays(GL_POINTS, offset / sizeof(Vertex0), 1);
- }
-
- src += SubSize;
- src %= DATA_SIZE;
- }
- glFinish();
-}
-
-
-/* Do multiple small SubData uploads, then call DrawArrays. This may be a
- * fairer comparison to back-to-back BufferData calls:
- */
-static void
-BatchUploadSubVBO(unsigned count)
-{
- unsigned i = 0, j;
- unsigned period = VBOSize / SubSize;
- unsigned src = 0;
-
- while (i < count) {
- for (j = 0; j < period && i < count; j++, i++) {
- unsigned offset = j * SubSize;
- glBufferSubDataARB(GL_ARRAY_BUFFER, offset, SubSize, VBOData + src);
- }
-
- glDrawArrays(GL_POINTS, 0, 1);
-
- src += SubSize;
- src %= DATA_SIZE;
- }
- glFinish();
-}
-
-
-/**
- * Test the sequence:
- * create/load VBO
- * draw
- * destroy VBO
- */
-static void
-CreateDrawDestroyVBO(unsigned count)
-{
- unsigned i;
- for (i = 0; i < count; i++) {
- GLuint vbo;
- /* create/load */
- glGenBuffersARB(1, &vbo);
- glBindBufferARB(GL_ARRAY_BUFFER_ARB, vbo);
- glBufferDataARB(GL_ARRAY_BUFFER, VBOSize, VBOData, GL_STREAM_DRAW_ARB);
- /* draw */
- glVertexPointer(2, GL_FLOAT, sizeof(Vertex0), (void *) 0);
- glDrawArrays(GL_POINTS, 0, 1);
- /* destroy */
- glDeleteBuffersARB(1, &vbo);
- }
- glFinish();
-}
-
-
-static const GLsizei Sizes[] = {
- 64,
- 1024,
- 16*1024,
- 256*1024,
- 1024*1024,
- 16*1024*1024,
- 0 /* end of list */
-};
-
-void
-PerfNextRound(void)
-{
-}
-
-/** Called from test harness/main */
-void
-PerfDraw(void)
-{
- double rate, mbPerSec;
- int i, sz;
-
- /* Load VBOData buffer with duplicated Vertex0.
- */
- VBOData = calloc(DATA_SIZE, 1);
-
- for (i = 0; i < DATA_SIZE / sizeof(Vertex0); i++) {
- memcpy(VBOData + i * sizeof(Vertex0),
- Vertex0,
- sizeof(Vertex0));
- }
-
- /* glBufferDataARB()
- */
- for (sz = 0; Sizes[sz]; sz++) {
- SubSize = VBOSize = Sizes[sz];
- rate = PerfMeasureRate(UploadVBO);
- mbPerSec = rate * VBOSize / (1024.0 * 1024.0);
- perf_printf(" glBufferDataARB(size = %d): %.1f MB/sec\n",
- VBOSize, mbPerSec);
- }
-
- /* glBufferSubDataARB()
- */
- for (sz = 0; Sizes[sz]; sz++) {
- SubSize = VBOSize = Sizes[sz];
- rate = PerfMeasureRate(UploadSubVBO);
- mbPerSec = rate * VBOSize / (1024.0 * 1024.0);
- perf_printf(" glBufferSubDataARB(size = %d): %.1f MB/sec\n",
- VBOSize, mbPerSec);
- }
-
- /* Batch upload
- */
- VBOSize = 1024 * 1024;
- glBufferDataARB(GL_ARRAY_BUFFER, VBOSize, VBOData, GL_STREAM_DRAW_ARB);
-
- for (sz = 0; Sizes[sz] < VBOSize; sz++) {
- SubSize = Sizes[sz];
- rate = PerfMeasureRate(UploadSubVBO);
- mbPerSec = rate * SubSize / (1024.0 * 1024.0);
- perf_printf(" glBufferSubDataARB(size = %d, VBOSize = %d): %.1f MB/sec\n",
- SubSize, VBOSize, mbPerSec);
- }
-
- for (sz = 0; Sizes[sz] < VBOSize; sz++) {
- SubSize = Sizes[sz];
- rate = PerfMeasureRate(BatchUploadSubVBO);
- mbPerSec = rate * SubSize / (1024.0 * 1024.0);
- perf_printf(" glBufferSubDataARB(size = %d, VBOSize = %d), batched: %.1f MB/sec\n",
- SubSize, VBOSize, mbPerSec);
- }
-
- /* Create/Draw/Destroy
- */
- for (sz = 0; Sizes[sz]; sz++) {
- SubSize = VBOSize = Sizes[sz];
- rate = PerfMeasureRate(CreateDrawDestroyVBO);
- mbPerSec = rate * VBOSize / (1024.0 * 1024.0);
- perf_printf(" VBO Create/Draw/Destroy(size = %d): %.1f MB/sec, %.1f draws/sec\n",
- VBOSize, mbPerSec, rate);
- }
-
- exit(0);
-}
diff --git a/progs/perf/vertexrate.c b/progs/perf/vertexrate.c
deleted file mode 100644
index b5355525d0..0000000000
--- a/progs/perf/vertexrate.c
+++ /dev/null
@@ -1,276 +0,0 @@
-/*
- * Copyright (C) 2009 VMware, Inc. 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
- * VMWARE 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.
- */
-
-/**
- * Measure simple vertex processing rate via:
- * - immediate mode
- * - vertex arrays
- * - VBO vertex arrays
- * - glDrawElements
- * - VBO glDrawElements
- * - glDrawRangeElements
- * - VBO glDrawRangeElements
- *
- * Brian Paul
- * 16 Sep 2009
- */
-
-#include <assert.h>
-#include <string.h>
-#include "glmain.h"
-#include "common.h"
-
-
-#define MAX_VERTS (100 * 100)
-
-/** glVertex2/3/4 size */
-#define VERT_SIZE 4
-
-int WinWidth = 500, WinHeight = 500;
-
-static GLuint VertexBO, ElementBO;
-
-static unsigned NumVerts = MAX_VERTS;
-static unsigned VertBytes = VERT_SIZE * sizeof(float);
-static float *VertexData = NULL;
-
-static unsigned NumElements = MAX_VERTS;
-static GLuint *Elements = NULL;
-
-
-/**
- * Load VertexData buffer with a 2-D grid of points in the range [-1,1]^2.
- */
-static void
-InitializeVertexData(void)
-{
- unsigned i;
- float x = -1.0, y = -1.0;
- float dx = 2.0 / 100;
- float dy = 2.0 / 100;
-
- VertexData = (float *) malloc(NumVerts * VertBytes);
-
- for (i = 0; i < NumVerts; i++) {
- VertexData[i * VERT_SIZE + 0] = x;
- VertexData[i * VERT_SIZE + 1] = y;
- VertexData[i * VERT_SIZE + 2] = 0.0;
- VertexData[i * VERT_SIZE + 3] = 1.0;
- x += dx;
- if (x > 1.0) {
- x = -1.0;
- y += dy;
- }
- }
-
- Elements = (GLuint *) malloc(NumVerts * sizeof(GLuint));
-
- for (i = 0; i < NumVerts; i++) {
- Elements[i] = NumVerts - i - 1;
- }
-}
-
-
-/** Called from test harness/main */
-void
-PerfInit(void)
-{
- InitializeVertexData();
-
- /* setup VertexBO */
- glGenBuffersARB(1, &VertexBO);
- glBindBufferARB(GL_ARRAY_BUFFER_ARB, VertexBO);
- glBufferDataARB(GL_ARRAY_BUFFER_ARB,
- NumVerts * VertBytes, VertexData, GL_STATIC_DRAW_ARB);
- glEnableClientState(GL_VERTEX_ARRAY);
-
- /* setup ElementBO */
- glGenBuffersARB(1, &ElementBO);
- glBindBufferARB(GL_ELEMENT_ARRAY_BUFFER_ARB, ElementBO);
- glBufferDataARB(GL_ELEMENT_ARRAY_BUFFER_ARB,
- NumElements * sizeof(GLuint), Elements, GL_STATIC_DRAW_ARB);
-}
-
-
-static void
-DrawImmediate(unsigned count)
-{
- unsigned i;
- glBindBufferARB(GL_ELEMENT_ARRAY_BUFFER, 0);
- glBindBufferARB(GL_ARRAY_BUFFER, 0);
- for (i = 0; i < count; i++) {
- unsigned j;
- glBegin(GL_POINTS);
- for (j = 0; j < NumVerts; j++) {
-#if VERT_SIZE == 4
- glVertex4fv(VertexData + j * 4);
-#elif VERT_SIZE == 3
- glVertex3fv(VertexData + j * 3);
-#elif VERT_SIZE == 2
- glVertex2fv(VertexData + j * 2);
-#else
- abort();
-#endif
- }
- glEnd();
- }
- glFinish();
- PerfSwapBuffers();
-}
-
-
-static void
-DrawArraysMem(unsigned count)
-{
- unsigned i;
- glBindBufferARB(GL_ELEMENT_ARRAY_BUFFER, 0);
- glBindBufferARB(GL_ARRAY_BUFFER, 0);
- glVertexPointer(VERT_SIZE, GL_FLOAT, VertBytes, VertexData);
- for (i = 0; i < count; i++) {
- glDrawArrays(GL_POINTS, 0, NumVerts);
- }
- glFinish();
- PerfSwapBuffers();
-}
-
-
-static void
-DrawArraysVBO(unsigned count)
-{
- unsigned i;
- glBindBufferARB(GL_ELEMENT_ARRAY_BUFFER, 0);
- glBindBufferARB(GL_ARRAY_BUFFER, VertexBO);
- glVertexPointer(VERT_SIZE, GL_FLOAT, VertBytes, (void *) 0);
- for (i = 0; i < count; i++) {
- glDrawArrays(GL_POINTS, 0, NumVerts);
- }
- glFinish();
- PerfSwapBuffers();
-}
-
-
-static void
-DrawElementsMem(unsigned count)
-{
- unsigned i;
- glBindBufferARB(GL_ELEMENT_ARRAY_BUFFER, 0);
- glBindBufferARB(GL_ARRAY_BUFFER, 0);
- glVertexPointer(VERT_SIZE, GL_FLOAT, VertBytes, VertexData);
- for (i = 0; i < count; i++) {
- glDrawElements(GL_POINTS, NumVerts, GL_UNSIGNED_INT, Elements);
- }
- glFinish();
- PerfSwapBuffers();
-}
-
-
-static void
-DrawElementsBO(unsigned count)
-{
- unsigned i;
- glBindBufferARB(GL_ELEMENT_ARRAY_BUFFER, ElementBO);
- glBindBufferARB(GL_ARRAY_BUFFER, VertexBO);
- glVertexPointer(VERT_SIZE, GL_FLOAT, VertBytes, (void *) 0);
- for (i = 0; i < count; i++) {
- glDrawElements(GL_POINTS, NumVerts, GL_UNSIGNED_INT, (void *) 0);
- }
- glFinish();
- PerfSwapBuffers();
-}
-
-
-static void
-DrawRangeElementsMem(unsigned count)
-{
- unsigned i;
- glBindBufferARB(GL_ELEMENT_ARRAY_BUFFER, 0);
- glBindBufferARB(GL_ARRAY_BUFFER, 0);
- glVertexPointer(VERT_SIZE, GL_FLOAT, VertBytes, VertexData);
- for (i = 0; i < count; i++) {
- glDrawRangeElements(GL_POINTS, 0, NumVerts - 1,
- NumVerts, GL_UNSIGNED_INT, Elements);
- }
- glFinish();
- PerfSwapBuffers();
-}
-
-
-static void
-DrawRangeElementsBO(unsigned count)
-{
- unsigned i;
- glBindBufferARB(GL_ELEMENT_ARRAY_BUFFER, ElementBO);
- glBindBufferARB(GL_ARRAY_BUFFER, VertexBO);
- glVertexPointer(VERT_SIZE, GL_FLOAT, VertBytes, (void *) 0);
- for (i = 0; i < count; i++) {
- glDrawRangeElements(GL_POINTS, 0, NumVerts - 1,
- NumVerts, GL_UNSIGNED_INT, (void *) 0);
- }
- glFinish();
- PerfSwapBuffers();
-}
-
-void
-PerfNextRound(void)
-{
-}
-
-
-/** Called from test harness/main */
-void
-PerfDraw(void)
-{
- double rate;
-
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
- perf_printf("Vertex rate (%d x Vertex%df)\n", NumVerts, VERT_SIZE);
-
- rate = PerfMeasureRate(DrawImmediate);
- rate *= NumVerts;
- perf_printf(" Immediate mode: %s verts/sec\n", PerfHumanFloat(rate));
-
- rate = PerfMeasureRate(DrawArraysMem);
- rate *= NumVerts;
- perf_printf(" glDrawArrays: %s verts/sec\n", PerfHumanFloat(rate));
-
- rate = PerfMeasureRate(DrawArraysVBO);
- rate *= NumVerts;
- perf_printf(" VBO glDrawArrays: %s verts/sec\n", PerfHumanFloat(rate));
-
- rate = PerfMeasureRate(DrawElementsMem);
- rate *= NumVerts;
- perf_printf(" glDrawElements: %s verts/sec\n", PerfHumanFloat(rate));
-
- rate = PerfMeasureRate(DrawElementsBO);
- rate *= NumVerts;
- perf_printf(" VBO glDrawElements: %s verts/sec\n", PerfHumanFloat(rate));
-
- rate = PerfMeasureRate(DrawRangeElementsMem);
- rate *= NumVerts;
- perf_printf(" glDrawRangeElements: %s verts/sec\n", PerfHumanFloat(rate));
-
- rate = PerfMeasureRate(DrawRangeElementsBO);
- rate *= NumVerts;
- perf_printf(" VBO glDrawRangeElements: %s verts/sec\n", PerfHumanFloat(rate));
-
- exit(0);
-}
diff --git a/progs/rbug/.gitignore b/progs/rbug/.gitignore
deleted file mode 100644
index 174fe42aa7..0000000000
--- a/progs/rbug/.gitignore
+++ /dev/null
@@ -1,12 +0,0 @@
-bin_to_bmp
-simple_client
-simple_server
-shdr_info
-shdr_dump
-shdr_disable
-ctx_info
-ctx_rule
-tex_dump
-tex_info
-*.bmp
-*.bin
diff --git a/progs/rbug/Makefile b/progs/rbug/Makefile
deleted file mode 100644
index 2b95e59aca..0000000000
--- a/progs/rbug/Makefile
+++ /dev/null
@@ -1,48 +0,0 @@
-# progs/rbug/Makefile
-
-TOP = ../..
-include $(TOP)/configs/current
-
-INCLUDES = \
- -I. \
- -I$(TOP)/src/gallium/include \
- -I$(TOP)/src/gallium/auxiliary \
- -I$(TOP)/src/gallium/drivers \
- $(PROG_INCLUDES)
-
-LINKS = \
- $(GALLIUM_AUXILIARIES) \
- $(PROG_LINKS)
-
-SOURCES = \
- bin_to_bmp.c \
- simple_client.c \
- simple_server.c \
- shdr_info.c \
- shdr_dump.c \
- shdr_disable.c \
- ctx_info.c \
- ctx_rule.c \
- tex_info.c \
- tex_dump.c
-
-
-OBJECTS = $(SOURCES:.c=.o)
-
-PROGS = $(OBJECTS:.o=)
-
-##### TARGETS #####
-
-default: $(OBJECTS) $(PROGS)
-
-clean:
- -rm -f $(PROGS)
- -rm -f *.o
-
-##### RULES #####
-
-$(OBJECTS): %.o: %.c
- $(CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $(PROG_DEFINES) $< -o $@
-
-$(PROGS): %: %.o
- $(CC) $(LDFLAGS) $< $(LINKS) -lm -o $@
diff --git a/progs/rbug/README b/progs/rbug/README
deleted file mode 100644
index 0eb0a5de9a..0000000000
--- a/progs/rbug/README
+++ /dev/null
@@ -1,39 +0,0 @@
- REMOTE DEBUGGING CLI APPLICATIONS
-
-
-= About =
-
-This directory contains a Gallium3D remote debugging cli applications.
-
-
-= Build Instructions =
-
-To build, build a normal gallium build and from this directory do the following.
-
- make
-
-= Usage =
-
-Make sure that you driver has trace integration, see
-src/gallium/driver/trace/README for more information about that. Then from on
-the computer that you want to debug do:
-
- export GALLIUM_RBUG=true
-
- <launch app>
-
-From the debugging computer launch apps form this directory. Currently ip
-addresses are hardcoded and you need to edit the application, but that will
-change in the future.
-
-= Testing =
-
-The two apps simple_client and simple_server. Are unit testing of the
-connection and (de)marsheler. Just run the server first and then the client:
-
- ./simple_server &
- ./simple_client
-
-
---
-Jakob Bornecrantz <jakob@vmware.com>
diff --git a/progs/rbug/bin_to_bmp.c b/progs/rbug/bin_to_bmp.c
deleted file mode 100644
index cdae3486ce..0000000000
--- a/progs/rbug/bin_to_bmp.c
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright 2009 VMware, Inc.
- * 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
- * on the rights to use, copy, modify, merge, publish, distribute, sub
- * license, 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 (including the next
- * paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
- * VMWARE AND/OR THEIR SUPPLIERS 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.
- */
-
-#include "pipe/p_compiler.h"
-#include "pipe/p_format.h"
-#include "pipe/p_state.h"
-#include "util/u_memory.h"
-#include "util/u_debug.h"
-#include "util/u_network.h"
-#include "util/u_tile.h"
-
-static uint8_t* read(const char *filename, unsigned size);
-static void dump(unsigned src_width, unsigned src_height,
- unsigned src_stride, enum pipe_format src_format,
- uint8_t *data, unsigned src_size);
-
-int main(int argc, char** argv)
-{
- /* change these */
- unsigned width = 64;
- unsigned height = 64;
- unsigned stride = width * 4;
- unsigned size = stride * height;
- const char *filename = "mybin.bin";
- enum pipe_format format = PIPE_FORMAT_A8R8G8B8_UNORM;
-
- dump(width, height, stride, format, read(filename, size), size);
-
- return 0;
-}
-
-static void dump(unsigned width, unsigned height,
- unsigned src_stride, enum pipe_format src_format,
- uint8_t *data, unsigned src_size)
-{
- struct pipe_format_block src_block;
-
- enum pipe_format dst_format = PIPE_FORMAT_R32G32B32A32_FLOAT;
- struct pipe_format_block dst_block;
- unsigned dst_stride;
- unsigned dst_size;
- float *rgba;
- int i;
- char filename[512];
-
- {
- pf_get_block(src_format, &src_block);
- assert(src_stride >= pf_get_stride(&src_block, width));
- assert(src_size >= pf_get_2d_size(&src_block, src_stride, width));
- }
- {
- pf_get_block(dst_format, &dst_block);
- dst_stride = pf_get_stride(&dst_block, width);
- dst_size = pf_get_2d_size(&dst_block, dst_stride, width);
- rgba = MALLOC(dst_size);
- }
-
- util_snprintf(filename, 512, "%s.bmp", pf_name(src_format));
-
- if (pf_is_compressed(src_format)) {
- debug_printf("skipping: %s\n", filename);
- return;
- }
-
- debug_printf("saving: %s\n", filename);
-
- for (i = 0; i < height; i++) {
- pipe_tile_raw_to_rgba(src_format, data + src_stride * i,
- width, 1,
- &rgba[width*4*i], dst_stride);
- }
-
- debug_dump_float_rgba_bmp(filename, width, height, rgba, width);
-
- FREE(rgba);
-}
-
-static uint8_t* read(const char *filename, unsigned size)
-{
- uint8_t *data;
- FILE *file = fopen(filename, "rb");
-
- data = MALLOC(size);
-
- fread(data, 1, size, file);
- fclose(file);
-
- return data;
-}
diff --git a/progs/rbug/ctx_info.c b/progs/rbug/ctx_info.c
deleted file mode 100644
index d72c326719..0000000000
--- a/progs/rbug/ctx_info.c
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright 2009 VMware, Inc.
- * 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
- * on the rights to use, copy, modify, merge, publish, distribute, sub
- * license, 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 (including the next
- * paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
- * VMWARE AND/OR THEIR SUPPLIERS 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.
- */
-
-#include "pipe/p_compiler.h"
-#include "pipe/p_format.h"
-#include "util/u_memory.h"
-#include "util/u_debug.h"
-#include "util/u_network.h"
-
-#include "rbug/rbug.h"
-
-static void talk()
-{
- int c = u_socket_connect("localhost", 13370);
- struct rbug_connection *con = rbug_from_socket(c);
- struct rbug_header *header;
- struct rbug_proto_context_list_reply *list;
- struct rbug_proto_context_info_reply *info;
- int i;
-
- assert(c >= 0);
- assert(con);
- debug_printf("Connection get!\n");
-
- debug_printf("Sending get contexts\n");
- rbug_send_context_list(con, NULL);
-
- debug_printf("Waiting for contexts\n");
- header = rbug_get_message(con, NULL);
- assert(header->opcode == RBUG_OP_CONTEXT_LIST_REPLY);
- list = (struct rbug_proto_context_list_reply *)header;
-
- debug_printf("Got contexts:\n");
- for (i = 0; i < list->contexts_len; i++) {
-#if 0
- rbug_send_contexts_info(con, list->contexts[i], NULL);
-
- header = rbug_get_message(con, NULL);
- assert(header->opcode == RBUG_OP_CONTEXT_INFO_REPLY);
- info = (struct rbug_proto_context_info_reply *)header;
-#else
- (void)info;
- header = NULL;
-#endif
-
- debug_printf("%llu\n",
- (unsigned long long)list->contexts[i]);
- rbug_free_header(header);
- }
-
- rbug_free_header(&list->header);
- rbug_disconnect(con);
-}
-
-int main(int argc, char** argv)
-{
- talk();
- return 0;
-}
diff --git a/progs/rbug/ctx_rule.c b/progs/rbug/ctx_rule.c
deleted file mode 100644
index e38b7b4e9b..0000000000
--- a/progs/rbug/ctx_rule.c
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright 2009 VMware, Inc.
- * 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
- * on the rights to use, copy, modify, merge, publish, distribute, sub
- * license, 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 (including the next
- * paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
- * VMWARE AND/OR THEIR SUPPLIERS 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.
- */
-
-#include "pipe/p_compiler.h"
-#include "pipe/p_format.h"
-#include "util/u_memory.h"
-#include "util/u_debug.h"
-#include "util/u_network.h"
-
-#include "rbug/rbug.h"
-
-static void talk(rbug_context_t ctx, rbug_shader_t shdr)
-{
- int c = u_socket_connect("localhost", 13370);
- struct rbug_connection *con;
- struct rbug_header *header;
-
- if (c < 0)
- c = u_socket_connect("localhost", 13370);
-
- con = rbug_from_socket(c);
- assert(c >= 0);
- assert(con);
- debug_printf("Connection get!\n");
-
- rbug_send_context_draw_rule(con, ctx, 0, shdr, 0, 0, RBUG_BLOCK_AFTER, NULL);
-
- rbug_send_ping(con, NULL);
-
- debug_printf("Sent waiting for reply\n");
- header = rbug_get_message(con, NULL);
-
- if (header->opcode != RBUG_OP_PING_REPLY)
- debug_printf("Error\n");
- else
- debug_printf("Ok!\n");
-
- rbug_free_header(header);
- rbug_disconnect(con);
-}
-
-static void print_usage()
-{
- printf("Usage ctx_rule <context> <fragment>\n");
- exit(-1);
-}
-
-int main(int argc, char** argv)
-{
- long ctx;
- long shdr;
-
- if (argc < 3)
- print_usage();
-
- ctx = atol(argv[1]);
- shdr = atol(argv[2]);
-
- if (ctx <= 0 && ctx <= 0)
- print_usage();
-
- talk((uint64_t)ctx, (uint64_t)shdr);
-
- return 0;
-}
diff --git a/progs/rbug/shdr_disable.c b/progs/rbug/shdr_disable.c
deleted file mode 100644
index e6b12073d8..0000000000
--- a/progs/rbug/shdr_disable.c
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright 2009 VMware, Inc.
- * 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
- * on the rights to use, copy, modify, merge, publish, distribute, sub
- * license, 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 (including the next
- * paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
- * VMWARE AND/OR THEIR SUPPLIERS 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.
- */
-
-#include "pipe/p_compiler.h"
-#include "pipe/p_format.h"
-#include "util/u_memory.h"
-#include "util/u_debug.h"
-#include "util/u_network.h"
-
-#include "rbug/rbug.h"
-
-static void talk(rbug_context_t ctx, rbug_shader_t shdr)
-{
- int c = u_socket_connect("localhost", 13370);
- struct rbug_connection *con = rbug_from_socket(c);
- struct rbug_header *header;
-
- assert(c >= 0);
- assert(con);
- debug_printf("Connection get!\n");
-
- rbug_send_shader_disable(con, ctx, shdr, true, NULL);
-
- rbug_send_ping(con, NULL);
-
- debug_printf("Sent waiting for reply\n");
- header = rbug_get_message(con, NULL);
-
- if (header->opcode != RBUG_OP_PING_REPLY)
- debug_printf("Error\n");
- else
- debug_printf("Ok!\n");
-
- rbug_free_header(header);
- rbug_disconnect(con);
-}
-
-static void print_usage()
-{
- printf("Usage shdr_disable <context> <shader>\n");
- exit(-1);
-}
-
-int main(int argc, char** argv)
-{
- long ctx;
- long shdr;
-
- if (argc < 3)
- print_usage();
-
- ctx = atol(argv[1]);
- shdr = atol(argv[2]);
-
- if (ctx <= 0 && ctx <= 0)
- print_usage();
-
- talk((uint64_t)ctx, (uint64_t)shdr);
-
- return 0;
-}
diff --git a/progs/rbug/shdr_dump.c b/progs/rbug/shdr_dump.c
deleted file mode 100644
index 8f9d758d51..0000000000
--- a/progs/rbug/shdr_dump.c
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Copyright 2009 VMware, Inc.
- * 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
- * on the rights to use, copy, modify, merge, publish, distribute, sub
- * license, 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 (including the next
- * paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
- * VMWARE AND/OR THEIR SUPPLIERS 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.
- */
-
-#include "pipe/p_compiler.h"
-#include "pipe/p_format.h"
-#include "util/u_memory.h"
-#include "util/u_debug.h"
-#include "util/u_network.h"
-
-#include "rbug/rbug.h"
-
-#include "tgsi/tgsi_dump.h"
-
-static void shader_info(struct rbug_connection *con, rbug_context_t ctx)
-{
- struct rbug_header *header;
- struct rbug_proto_shader_list_reply *list;
- struct rbug_proto_shader_info_reply *info;
- int i;
-
- debug_printf("Sending get shaders to %llu\n", (unsigned long long)ctx);
- rbug_send_shader_list(con, ctx, NULL);
-
- debug_printf("Waiting for shaders from %llu\n", (unsigned long long)ctx);
- header = rbug_get_message(con, NULL);
- assert(header->opcode == RBUG_OP_SHADER_LIST_REPLY);
- list = (struct rbug_proto_shader_list_reply *)header;
-
- debug_printf("Got shaders:\n");
- for (i = 0; i < list->shaders_len; i++) {
- rbug_send_shader_info(con, ctx, list->shaders[i], NULL);
-
- header = rbug_get_message(con, NULL);
- assert(header->opcode == RBUG_OP_SHADER_INFO_REPLY);
- info = (struct rbug_proto_shader_info_reply *)header;
-
- debug_printf("#####################################################\n");
- debug_printf("ctx: %llu shdr: %llu disabled %u\n",
- (unsigned long long)ctx,
- (unsigned long long)list->shaders[i],
- info->disabled);
-
- /* just to be sure */
- assert(sizeof(struct tgsi_token) == 4);
-
- debug_printf("-----------------------------------------------------\n");
- tgsi_dump((struct tgsi_token *)info->original, 0);
-
- if (info->replaced_len > 0) {
- debug_printf("-----------------------------------------------------\n");
- tgsi_dump((struct tgsi_token *)info->replaced, 0);
- }
-
- rbug_free_header(header);
- }
-
- debug_printf("#####################################################\n");
- rbug_free_header(&list->header);
-}
-
-static void talk()
-{
- int c = u_socket_connect("localhost", 13370);
- struct rbug_connection *con = rbug_from_socket(c);
- struct rbug_header *header;
- struct rbug_proto_context_list_reply *list;
- int i;
-
- assert(c >= 0);
- assert(con);
- debug_printf("Connection get!\n");
-
- debug_printf("Sending get contexts\n");
- rbug_send_context_list(con, NULL);
-
- debug_printf("Waiting for contexts\n");
- header = rbug_get_message(con, NULL);
- assert(header->opcode == RBUG_OP_CONTEXT_LIST_REPLY);
- list = (struct rbug_proto_context_list_reply *)header;
-
- debug_printf("Got contexts:\n");
- for (i = 0; i < list->contexts_len; i++) {
- shader_info(con, list->contexts[i]);
- }
-
- rbug_free_header(&list->header);
- rbug_disconnect(con);
-}
-
-int main(int argc, char** argv)
-{
- talk();
- return 0;
-}
diff --git a/progs/rbug/shdr_info.c b/progs/rbug/shdr_info.c
deleted file mode 100644
index b6864e988e..0000000000
--- a/progs/rbug/shdr_info.c
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Copyright 2009 VMware, Inc.
- * 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
- * on the rights to use, copy, modify, merge, publish, distribute, sub
- * license, 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 (including the next
- * paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
- * VMWARE AND/OR THEIR SUPPLIERS 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.
- */
-
-#include "pipe/p_compiler.h"
-#include "pipe/p_format.h"
-#include "util/u_memory.h"
-#include "util/u_debug.h"
-#include "util/u_network.h"
-
-#include "rbug/rbug.h"
-
-static void shader_info(struct rbug_connection *con, rbug_context_t ctx)
-{
- struct rbug_header *header;
- struct rbug_proto_shader_list_reply *list;
- struct rbug_proto_shader_info_reply *info;
- int i;
-
- rbug_send_shader_list(con, ctx, NULL);
-
- header = rbug_get_message(con, NULL);
- assert(header->opcode == RBUG_OP_SHADER_LIST_REPLY);
- list = (struct rbug_proto_shader_list_reply *)header;
-
- debug_printf(" context | shader | disabled |\n");
- for (i = 0; i < list->shaders_len; i++) {
- rbug_send_shader_info(con, ctx, list->shaders[i], NULL);
-
- header = rbug_get_message(con, NULL);
- assert(header->opcode == RBUG_OP_SHADER_INFO_REPLY);
- info = (struct rbug_proto_shader_info_reply *)header;
-
- debug_printf("% 15llu |% 15llu |% 15u |\n",
- (unsigned long long)ctx,
- (unsigned long long)list->shaders[i],
- (unsigned)info->disabled);
-
- rbug_free_header(header);
- }
-
- rbug_free_header(&list->header);
-}
-
-static void talk()
-{
- int c = u_socket_connect("localhost", 13370);
- struct rbug_connection *con = rbug_from_socket(c);
- struct rbug_header *header;
- struct rbug_proto_context_list_reply *list;
- int i;
-
- assert(c >= 0);
- assert(con);
- debug_printf("Connection get!\n");
-
- debug_printf("Sending get contexts\n");
- rbug_send_context_list(con, NULL);
-
- debug_printf("Waiting for contexts\n");
- header = rbug_get_message(con, NULL);
- assert(header->opcode == RBUG_OP_CONTEXT_LIST_REPLY);
- list = (struct rbug_proto_context_list_reply *)header;
-
- debug_printf("Got contexts:\n");
- for (i = 0; i < list->contexts_len; i++) {
- shader_info(con, list->contexts[i]);
- }
-
- rbug_free_header(&list->header);
- rbug_disconnect(con);
-}
-
-int main(int argc, char** argv)
-{
- talk();
- return 0;
-}
diff --git a/progs/rbug/simple_client.c b/progs/rbug/simple_client.c
deleted file mode 100644
index 38929fa796..0000000000
--- a/progs/rbug/simple_client.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright 2009 VMware, Inc.
- * 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
- * on the rights to use, copy, modify, merge, publish, distribute, sub
- * license, 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 (including the next
- * paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
- * VMWARE AND/OR THEIR SUPPLIERS 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.
- */
-
-#include "pipe/p_compiler.h"
-#include "util/u_memory.h"
-#include "util/u_debug.h"
-#include "util/u_network.h"
-
-#include "rbug/rbug.h"
-
-static void talk()
-{
- int c = u_socket_connect("localhost", 13370);
- struct rbug_connection *con = rbug_from_socket(c);
- struct rbug_header *header;
- struct rbug_proto_texture_list_reply *list;
- int i;
-
- assert(c >= 0);
- assert(con);
- debug_printf("Connection get!\n");
-
- debug_printf("Sending get textures\n");
- rbug_send_texture_list(con, NULL);
-
- debug_printf("Waiting for textures\n");
- header = rbug_get_message(con, NULL);
- assert(header->opcode == RBUG_OP_TEXTURE_LIST_REPLY);
- list = (struct rbug_proto_texture_list_reply *)header;
-
- debug_printf("Got textures:\n");
- for (i = 0; i < list->textures_len; i++)
- debug_printf("\ttex %llu\n", (unsigned long long)list->textures[i]);
-
- rbug_free_header(header);
- rbug_disconnect(con);
-}
-
-int main(int argc, char** argv)
-{
- talk();
- return 0;
-}
diff --git a/progs/rbug/simple_server.c b/progs/rbug/simple_server.c
deleted file mode 100644
index 3a842c06c4..0000000000
--- a/progs/rbug/simple_server.c
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright 2009 VMware, Inc.
- * 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
- * on the rights to use, copy, modify, merge, publish, distribute, sub
- * license, 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 (including the next
- * paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
- * VMWARE AND/OR THEIR SUPPLIERS 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.
- */
-
-#include "pipe/p_compiler.h"
-#include "util/u_memory.h"
-#include "util/u_debug.h"
-#include "util/u_network.h"
-
-#include "rbug/rbug.h"
-
-static void rbug_wait()
-{
- int s = u_socket_listen_on_port(13370);
- int c = u_socket_accept(s);
- struct rbug_connection *con = rbug_from_socket(c);
- struct rbug_header *header;
- rbug_texture_t texs[2];
- uint32_t serial;
- texs[0] = 1337;
- texs[1] = 7331;
-
- assert(s >= 0);
- assert(c >= 0);
- assert(con);
- debug_printf("Connection get!\n");
-
- debug_printf("Waiting for get textures\n");
- header = rbug_get_message(con, &serial);
- assert(header);
- assert(header->opcode == RBUG_OP_TEXTURE_LIST);
- rbug_free_header(header);
-
- rbug_send_texture_list_reply(con, serial, texs, 2, NULL);
- rbug_disconnect(con);
-}
-
-int main(int argc, char** argv)
-{
- rbug_wait();
- return 0;
-}
diff --git a/progs/rbug/tex_dump.c b/progs/rbug/tex_dump.c
deleted file mode 100644
index f9e06ee994..0000000000
--- a/progs/rbug/tex_dump.c
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * Copyright 2009 VMware, Inc.
- * 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
- * on the rights to use, copy, modify, merge, publish, distribute, sub
- * license, 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 (including the next
- * paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
- * VMWARE AND/OR THEIR SUPPLIERS 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.
- */
-
-#include "pipe/p_compiler.h"
-#include "pipe/p_format.h"
-#include "pipe/p_state.h"
-#include "util/u_memory.h"
-#include "util/u_debug.h"
-#include "util/u_network.h"
-#include "util/u_tile.h"
-#include "rbug/rbug.h"
-
-static void dump(rbug_texture_t tex,
- struct rbug_proto_texture_info_reply *info,
- struct rbug_proto_texture_read_reply *read,
- int mip)
-{
- enum pipe_format format = info->format;
- uint8_t *data = read->data;
- unsigned width = info->width[mip];
- unsigned height = info->height[mip];
- unsigned dst_stride = width * 4 * 4;
- unsigned src_stride = read->stride;
- float *rgba = MALLOC(dst_stride * height);
- int i;
- char filename[512];
-
- util_snprintf(filename, 512, "%llu_%s_%u.bmp",
- (unsigned long long)tex, pf_name(info->format), mip);
-
- if (pf_is_compressed(info->format)) {
- debug_printf("skipping: %s\n", filename);
- return;
- }
-
- debug_printf("saving: %s\n", filename);
-
- for (i = 0; i < height; i++) {
- pipe_tile_raw_to_rgba(format, data + src_stride * i,
- width, 1,
- &rgba[width*4*i], dst_stride);
- }
-
- debug_dump_float_rgba_bmp(filename, width, height, rgba, width);
-
- FREE(rgba);
-}
-
-static void talk()
-{
- int c = u_socket_connect("localhost", 13370);
- struct rbug_connection *con = rbug_from_socket(c);
- struct rbug_header *header;
- struct rbug_header *header2;
- struct rbug_proto_texture_list_reply *list;
- struct rbug_proto_texture_info_reply *info;
- struct rbug_proto_texture_read_reply *read;
- int i, j;
-
- assert(c >= 0);
- assert(con);
- debug_printf("Connection get!\n");
-
- debug_printf("Sending get textures\n");
- rbug_send_texture_list(con, NULL);
-
- debug_printf("Waiting for textures\n");
- header = rbug_get_message(con, NULL);
- assert(header->opcode == RBUG_OP_TEXTURE_LIST_REPLY);
- list = (struct rbug_proto_texture_list_reply *)header;
-
- debug_printf("Got textures:\n");
- for (i = 0; i < list->textures_len; i++) {
- rbug_send_texture_info(con, list->textures[i], NULL);
-
- header = rbug_get_message(con, NULL);
- assert(header->opcode == RBUG_OP_TEXTURE_INFO_REPLY);
- info = (struct rbug_proto_texture_info_reply *)header;
-
- for (j = 0; j <= info->last_level; j++) {
- rbug_send_texture_read(con, list->textures[i],
- 0, j, 0,
- 0, 0, info->width[j], info->height[j],
- NULL);
-
- header2 = rbug_get_message(con, NULL);
- assert(header2->opcode == RBUG_OP_TEXTURE_READ_REPLY);
- read = (struct rbug_proto_texture_read_reply *)header2;
-
- dump(list->textures[i], info, read, j);
-
- rbug_free_header(header2);
- }
-
- rbug_free_header(header);
-
- }
- rbug_free_header(&list->header);
- rbug_disconnect(con);
-}
-
-int main(int argc, char** argv)
-{
- talk();
- return 0;
-}
diff --git a/progs/rbug/tex_info.c b/progs/rbug/tex_info.c
deleted file mode 100644
index 4a21bae359..0000000000
--- a/progs/rbug/tex_info.c
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright 2009 VMware, Inc.
- * 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
- * on the rights to use, copy, modify, merge, publish, distribute, sub
- * license, 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 (including the next
- * paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
- * VMWARE AND/OR THEIR SUPPLIERS 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.
- */
-
-#include "pipe/p_compiler.h"
-#include "pipe/p_format.h"
-#include "util/u_memory.h"
-#include "util/u_debug.h"
-#include "util/u_network.h"
-
-#include "rbug/rbug.h"
-
-static void talk()
-{
- int c = u_socket_connect("localhost", 13370);
- struct rbug_connection *con = rbug_from_socket(c);
- struct rbug_header *header;
- struct rbug_proto_texture_list_reply *list;
- struct rbug_proto_texture_info_reply *info;
- int i;
-
- assert(c >= 0);
- assert(con);
- debug_printf("Connection get!\n");
-
- debug_printf("Sending get textures\n");
- rbug_send_texture_list(con, NULL);
-
- debug_printf("Waiting for textures\n");
- header = rbug_get_message(con, NULL);
- assert(header->opcode == RBUG_OP_TEXTURE_LIST_REPLY);
- list = (struct rbug_proto_texture_list_reply *)header;
-
- debug_printf("Got textures:\n");
- for (i = 0; i < list->textures_len; i++) {
- rbug_send_texture_info(con, list->textures[i], NULL);
-
- header = rbug_get_message(con, NULL);
- assert(header->opcode == RBUG_OP_TEXTURE_INFO_REPLY);
- info = (struct rbug_proto_texture_info_reply *)header;
-
- debug_printf("%llu %s %u x %u x %u, block(%ux%u %u), last_level: %u, nr_samples: %u, usage: %u\n",
- (unsigned long long)list->textures[i], pf_name(info->format),
- info->width[0], info->height[0], info->depth[0],
- info->blockw, info->blockh, info->blocksize,
- info->last_level, info->nr_samples, info->tex_usage);
- rbug_free_header(header);
- }
-
- rbug_free_header(&list->header);
- rbug_disconnect(con);
-}
-
-int main(int argc, char** argv)
-{
- talk();
- return 0;
-}
diff --git a/progs/redbook/.gitignore b/progs/redbook/.gitignore
deleted file mode 100644
index 8ed3efe3e2..0000000000
--- a/progs/redbook/.gitignore
+++ /dev/null
@@ -1,64 +0,0 @@
-.cvsignore
-aaindex
-aapoly
-aargb
-accanti
-accpersp
-alpha
-alpha3D
-anti
-bezcurve
-bezmesh
-checker
-clip
-colormat
-cube
-depthcue
-dof
-double
-drawf
-feedback
-fog
-fogindex
-font
-hello
-image
-light
-lines
-list
-material
-mipmap
-model
-movelight
-nurbs
-pickdepth
-picksquare
-plane
-planet
-polyoff
-polys
-quadric
-robot
-sccolorlight
-scene
-scenebamb
-sceneflat
-select
-smooth
-stencil
-stroke
-surface
-teaambient
-teapots
-tess
-tesswind
-texbind
-texgen
-texprox
-texsub
-texturesurf
-torus
-trim
-unproject
-varray
-wrap
diff --git a/progs/redbook/Windows/redbook.dsw b/progs/redbook/Windows/redbook.dsw
deleted file mode 100644
index a739af4a4e..0000000000
--- a/progs/redbook/Windows/redbook.dsw
+++ /dev/null
@@ -1,29 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "teapots"=".\teapots.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/progs/redbook/Windows/teapots.dsp b/progs/redbook/Windows/teapots.dsp
deleted file mode 100644
index b74ed08925..0000000000
--- a/progs/redbook/Windows/teapots.dsp
+++ /dev/null
@@ -1,112 +0,0 @@
-# Microsoft Developer Studio Project File - Name="teapots" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=teapots - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "teapots.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "teapots.mak" CFG="teapots - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "teapots - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "teapots - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "teapots - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "../../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /machine:I386 /out:"../teapots.exe"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ELSEIF "$(CFG)" == "teapots - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../../lib/GLUT32.LIB ../../../lib/GLU32.LIB ../../../lib/OPENGL32.LIB /nologo /subsystem:console /debug /machine:I386 /out:"../teapots.exe" /pdbtype:sept
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy DLLs
-PostBuild_Cmds=copy ..\..\..\lib\*.dll ..
-# End Special Build Tool
-
-!ENDIF
-
-# Begin Target
-
-# Name "teapots - Win32 Release"
-# Name "teapots - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\teapots.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/progs/slang/.gitignore b/progs/slang/.gitignore
deleted file mode 100644
index 8a42b018e6..0000000000
--- a/progs/slang/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-cltest
-sotest
-vstest
diff --git a/progs/slang/Makefile b/progs/slang/Makefile
deleted file mode 100644
index f6f34fcd25..0000000000
--- a/progs/slang/Makefile
+++ /dev/null
@@ -1,57 +0,0 @@
-# progs/slang/Makefile
-
-TOP = ../..
-
-include $(TOP)/configs/current
-
-INCDIR = $(TOP)/include
-
-LIB_DEP = $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME)
-
-LIBS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) $(APP_LIB_DEPS)
-
-#
-# targets
-#
-
-.PHONY: default tests clean
-
-default: cltest sotest vstest
-
-tests: default
- ! ./sotest 2> /dev/null | (grep -e ^[*][*][*])
- ! ./vstest 2> /dev/null | (grep -e ^[*][*][*])
- ! ./cltest 2> /dev/null | (grep -e ^[*][*][*])
-
-clean:
- -rm -f cltest.o sotest.o vstest.o framework.o cltest sotest vstest
-
-#
-# executables
-#
-
-cltest: cltest.o framework.o $(LIB_DEP)
- $(CC) $(CFLAGS) $(LDFLAGS) cltest.o framework.o $(LIBS) -o cltest
-
-sotest: sotest.o framework.o $(LIB_DEP)
- $(CC) $(CFLAGS) $(LDFLAGS) sotest.o framework.o $(LIBS) -o sotest
-
-vstest: vstest.o framework.o $(LIB_DEP)
- $(CC) $(CFLAGS) $(LDFLAGS) vstest.o framework.o $(LIBS) -o vstest
-
-#
-# objects
-#
-
-framework.o: framework.c framework.h
- $(CC) -c -I$(INCDIR) $(CFLAGS) framework.c -o framework.o
-
-cltest.o: cltest.c framework.h
- $(CC) -c -I$(INCDIR) $(CFLAGS) cltest.c -o cltest.o
-
-sotest.o: sotest.c framework.h
- $(CC) -c -I$(INCDIR) $(CFLAGS) sotest.c -o sotest.o
-
-vstest.o: vstest.c framework.h
- $(CC) -c -I$(INCDIR) $(CFLAGS) vstest.c -o vstest.o
-
diff --git a/progs/slang/README b/progs/slang/README
deleted file mode 100644
index 13a6aaad34..0000000000
--- a/progs/slang/README
+++ /dev/null
@@ -1,7 +0,0 @@
-GLSL regression tests.
-
-Type "make" to build all test apps.
-
-Type "make tests" to build and run all test apps. If any
-error is detected, a line starting with *** is output.
-
diff --git a/progs/slang/cltest.c b/progs/slang/cltest.c
deleted file mode 100644
index dfff6cb226..0000000000
--- a/progs/slang/cltest.c
+++ /dev/null
@@ -1,253 +0,0 @@
-/*
- * GL_ARB_shading_language_100 test application.
- *
- * Tests correctness of emited code. Runs multiple well-formed shaders and checks if
- * they produce valid results.
- *
- * Requires specific support on the GL implementation side. A special function printMESA()
- * must be supported in the language that prints current values of generic type
- * to the appropriate shader's info log, and optionally to the screen.
- *
- * Author: Michal Krol
- */
-
-#include "framework.h"
-
-#define EPSILON 0.0001f
-
-static GLhandleARB vert = 0;
-static GLhandleARB prog = 0;
-
-static int get_line (FILE *f, char *line, int size)
-{
- if (fgets (line, size, f) == NULL)
- return 0;
- if (line[strlen (line) - 1] == '\n')
- line[strlen (line) - 1] = '\0';
- return 1;
-}
-
-struct ATTRIB
-{
- char name[32];
- GLfloat value[64][4];
- GLuint count;
-};
-
-struct ATTRIBS
-{
- struct ATTRIB attrib[32];
- GLuint count;
-};
-
-struct SHADER
-{
- char code[16000];
- GLfloat output[1000];
- GLuint count;
-};
-
-enum SHADER_LOAD_STATE
-{
- SLS_NONE,
- SLS_CODE,
- SLS_OUTPUT
-};
-
-struct PROGRAM
-{
- struct PROGRAM *next;
- char name[256];
- struct ATTRIBS attribs;
- struct SHADER vertex;
-};
-
-enum PROGRAM_LOAD_STATE
-{
- PLS_NONE,
- PLS_ATTRIB,
- PLS_VERTEX
-};
-
-static struct PROGRAM *program = NULL;
-
-static void load_test_file (const char *filename, struct PROGRAM **program)
-{
- struct PROGRAM **currprog = program;
- FILE *f;
- char line[256];
- enum PROGRAM_LOAD_STATE pls = PLS_NONE;
- enum SHADER_LOAD_STATE sls = SLS_NONE;
-
- f = fopen (filename, "r");
- if (f == NULL)
- return;
-
- while (get_line (f, line, sizeof (line))) {
- if (line[0] == '$') {
- if (strncmp (line + 1, "program", 7) == 0) {
- if (*currprog != NULL)
- currprog = &(**currprog).next;
- *currprog = (struct PROGRAM *) (malloc (sizeof (struct PROGRAM)));
- if (*currprog == NULL)
- break;
- (**currprog).next = NULL;
- strcpy ((**currprog).name, line + 9);
- (**currprog).attribs.count = 0;
- (**currprog).vertex.code[0] = '\0';
- (**currprog).vertex.count = 0;
- pls = PLS_NONE;
- }
- else if (strncmp (line + 1, "attrib", 6) == 0) {
- if (*currprog == NULL)
- break;
- strcpy ((**currprog).attribs.attrib[(**currprog).attribs.count].name, line + 8);
- (**currprog).attribs.attrib[(**currprog).attribs.count].count = 0;
- (**currprog).attribs.count++;
- pls = PLS_ATTRIB;
- }
- else if (strcmp (line + 1, "vertex") == 0) {
- if (*currprog == NULL)
- break;
- pls = PLS_VERTEX;
- sls = SLS_NONE;
- }
- else if (strcmp (line + 1, "code") == 0) {
- if (*currprog == NULL || pls != PLS_VERTEX)
- break;
- sls = SLS_CODE;
- }
- else if (strcmp (line + 1, "output") == 0) {
- if (*currprog == NULL || pls != PLS_VERTEX)
- break;
- sls = SLS_OUTPUT;
- }
- }
- else {
- if ((*currprog == NULL || pls == PLS_NONE || sls == SLS_NONE) && line[0] != '\0')
- break;
- if (*currprog != NULL && pls == PLS_VERTEX) {
- if (sls == SLS_CODE) {
- strcat ((**currprog).vertex.code, line);
- strcat ((**currprog).vertex.code, "\n");
- }
- else if (sls == SLS_OUTPUT && line[0] != '\0') {
- if (strcmp (line, "true") == 0)
- (**currprog).vertex.output[(**currprog).vertex.count] = 1.0f;
- else if (strcmp (line, "false") == 0)
- (**currprog).vertex.output[(**currprog).vertex.count] = 0.0f;
- else
- sscanf (line, "%f", &(**currprog).vertex.output[(**currprog).vertex.count]);
- (**currprog).vertex.count++;
- }
- }
- else if (*currprog != NULL && pls == PLS_ATTRIB && line[0] != '\0') {
- struct ATTRIB *att = &(**currprog).attribs.attrib[(**currprog).attribs.count - 1];
- GLfloat *vec = att->value[att->count];
- sscanf (line, "%f %f %f %f", &vec[0], &vec[1], &vec[2], &vec[3]);
- att->count++;
- }
- }
- }
-
- fclose (f);
-}
-
-void InitScene (void)
-{
- prog = glCreateProgramObjectARB ();
- vert = glCreateShaderObjectARB (GL_VERTEX_SHADER_ARB);
- glAttachObjectARB (prog, vert);
- glDeleteObjectARB (vert);
- load_test_file ("cltest.txt", &program);
-}
-
-void RenderScene (void)
-{
- struct PROGRAM *nextprogram;
- char *code;
- GLint info_length, length;
- char output[65000], *p;
- GLuint i;
-
- if (program == NULL)
- exit (0);
-
- code = program->vertex.code;
- glShaderSourceARB (vert, 1, (const GLcharARB **) (&code), NULL);
- glCompileShaderARB (vert);
- CheckObjectStatus (vert);
-
- for (i = 0; i < program->attribs.count; i++) {
- const char *name = program->attribs.attrib[i].name;
- if (strcmp (name, "gl_Vertex") != 0)
- glBindAttribLocationARB (prog, i, name);
- }
-
- glLinkProgramARB (prog);
- CheckObjectStatus (prog);
- glUseProgramObjectARB (prog);
-
- printf ("\n--- %s\n", program->name);
-
- glGetObjectParameterivARB (vert, GL_OBJECT_INFO_LOG_LENGTH_ARB, &info_length);
-
- glBegin (GL_POINTS);
- if (program->attribs.count == 0) {
- glVertex2f (0.0f, 0.0f);
- }
- else {
- for (i = 0; i < program->attribs.attrib[0].count; i++) {
- GLuint j;
- for (j = 0; j < program->attribs.count; j++) {
- GLuint n = (j + 1) % program->attribs.count;
- GLfloat *vec = program->attribs.attrib[n].value[i];
- const char *name = program->attribs.attrib[n].name;
- if (strcmp (name, "gl_Vertex") == 0)
- glVertex4fv (vec);
- else
- glVertexAttrib4fvARB (n, vec);
- }
- }
- }
- glEnd ();
- glFlush ();
-
- glGetInfoLogARB (vert, sizeof (output), &length, output);
- p = output + info_length - 1;
- for (i = 0; i < program->vertex.count; i++) {
- GLfloat value;
- if (p == NULL) {
- printf ("*** %s\n", "I/O error");
- break;
- }
- if (strncmp (p, "true", 4) == 0)
- value = 1.0f;
- else if (strncmp (p, "false", 5) == 0)
- value = 0.0f;
- else if (sscanf (p, "%f", &value) != 1) {
- printf ("*** %s\n", "I/O error");
- break;
- }
- if (fabs (value - program->vertex.output[i]) > EPSILON) {
- printf ("*** Values are different, is %f, should be %f\n", value,
- program->vertex.output[i]);
- }
- p = strchr (p, '\n');
- if (p != NULL)
- p++;
- }
- if (p && *p != '\0')
- printf ("*** %s\n", "I/O error");
-
- nextprogram = program->next;
- free (program);
- program = nextprogram;
-}
-
-int main (int argc, char *argv[])
-{
- InitFramework (&argc, argv);
- return 0;
-}
-
diff --git a/progs/slang/cltest.txt b/progs/slang/cltest.txt
deleted file mode 100644
index 97cc177c9f..0000000000
--- a/progs/slang/cltest.txt
+++ /dev/null
@@ -1,1615 +0,0 @@
-$ /*
-$ Shader test script.
-$
-$ Author: Michal Krol
-$
-$ Comment line starts with dollar sign and white space.
-$
-$ $program <name> starts a new test program section called <name>. Contains all other sections.
-$
-$ $attrib <name> starts vertex data input section for attrib called <name>. Each line consists of
-$ four values that form single vertex attrib.
-$
-$ $vertex starts vertex shader section. Contains $code and &output sections.
-$
-$ $code starts source code section. All text in this section gets compiled into appropriate
-$ shader object.
-$
-$ $output starts shader execution results section. These are compared, value-by-value,
-$ with results of executing printMESA() functions within a shader.
-$ */
-
-
-$ /*
-$ --------------------------------------------------------------------------------------------------
-$ Test printMESA() function.
-$ */
-
-$program PRINT TEST
-
-$vertex
-
-$code
-
-#version 110
-
-#extension MESA_shader_debug: require
-
-void main () {
- gl_Position = gl_ModelViewMatrix * gl_Vertex;
- gl_FrontColor = vec4 (1.0);
-
- printMESA (11.1);
- printMESA (111);
- printMESA (true);
-
- printMESA (vec2 (22.1, 22.2));
- printMESA (vec3 (33.1, 33.2, 33.3));
- printMESA (vec4 (44.1, 44.2, 44.3, 44.4));
-
- printMESA (ivec2 (221, 222));
- printMESA (ivec3 (331, 332, 333));
- printMESA (ivec4 (441, 442, 443, 444));
-
- printMESA (bvec2 (false, true));
- printMESA (bvec3 (true, true, false));
- printMESA (bvec4 (true, false, true, false));
-
- printMESA (mat2 (55.11, 55.12, 55.21, 55.22));
- printMESA (mat3 (66.11, 66.12, 66.13,
- 66.21, 66.22, 66.23,
- 66.31, 66.32, 66.33));
- printMESA (mat4 (77.11, 77.12, 77.13, 77.14,
- 77.21, 77.22, 77.23, 77.24,
- 77.31, 77.32, 77.33, 77.34,
- 77.41, 77.42, 77.43, 77.44));
-}
-
-$output
-
-11.1
-111
-true
-
-22.1
-22.2
-33.1
-33.2
-33.3
-44.1
-44.2
-44.3
-44.4
-
-221
-222
-331
-332
-333
-441
-442
-443
-444
-
-false
-true
-true
-true
-false
-true
-false
-true
-false
-
-55.11
-55.12
-55.21
-55.22
-
-66.11
-66.12
-66.13
-66.21
-66.22
-66.23
-66.31
-66.32
-66.33
-
-77.11
-77.12
-77.13
-77.14
-77.21
-77.22
-77.23
-77.24
-77.31
-77.32
-77.33
-77.34
-77.41
-77.42
-77.43
-77.44
-
-
-$ /*
-$ --------------------------------------------------------------------------------------------------
-$ Test type casting.
-$ */
-
-$program TYPE CAST TEST
-
-$attrib gl_Vertex
-0.0 0.0 0.0 1.0
-
-$attrib _Zero
-0.0 0.0 0.0 0.0
-
-$attrib _One
-1.1 0.0 0.0 0.0
-
-$attrib _Two
-2.2 0.0 0.0 0.0
-
-$attrib _MinusThree
--3.3 0.0 0.0 0.0
-
-$vertex
-
-$code
-
-#version 110
-
-#extension MESA_shader_debug: require
-
-attribute float _Zero;
-attribute float _One;
-attribute float _Two;
-attribute float _MinusThree;
-
-void main () {
- gl_Position = gl_ModelViewMatrix * gl_Vertex;
- gl_FrontColor = vec4 (1.0);
-
- printMESA (_Zero);
- printMESA (_One);
- printMESA (_Two);
- printMESA (_MinusThree);
-
- printMESA (float (_Zero));
- printMESA (float (_One));
- printMESA (float (_Two));
- printMESA (float (_MinusThree));
- printMESA (float (45.99));
- printMESA (float (-6.17));
-
- printMESA (bool (_Zero));
- printMESA (bool (_One));
- printMESA (bool (_Two));
- printMESA (bool (_MinusThree));
- printMESA (bool (45.99));
- printMESA (bool (-6.17));
- printMESA (bool (0.0001));
- printMESA (bool (0.0));
-
- printMESA (int (_Zero));
- printMESA (int (_One));
- printMESA (int (_Two));
- printMESA (int (_MinusThree));
- printMESA (int (45.99));
- printMESA (int (45.22));
- printMESA (int (-6.17));
- printMESA (int (-6.87));
-}
-
-$output
-
-0.0
-1.1
-2.2
--3.3
-
-0.0
-1.1
-2.2
--3.3
-45.99
--6.17
-
-false
-true
-true
-true
-true
-true
-true
-false
-
-0
-1
-2
--3
-45
-45
--6
--6
-
-$ /*
-$ --------------------------------------------------------------------------------------------------
-$ Test vector swizzles.
-$ */
-
-$program SWIZZLE TEST
-
-$attrib gl_Vertex
-0.0 0.0 0.0 1.0
-
-$attrib _One
-1.1 1.2 1.3 1.4
-
-$attrib _Two
-2.1 2.2 2.3 2.4
-
-$vertex
-
-$code
-
-#version 110
-
-#extension MESA_shader_debug: require
-
-attribute vec4 _One;
-attribute vec4 _Two;
-
-void assign5678 (out vec4 v)
-{
- v.x = 5.5;
- v.y = 6.6;
- v.z = 7.7;
- v.w = 8.8;
-}
-
-void main () {
- gl_Position = gl_ModelViewMatrix * gl_Vertex;
- gl_FrontColor = vec4 (1.0);
-
- printMESA (_One);
- printMESA (_Two);
-
- printMESA (_One.x);
- printMESA (_One.y);
- printMESA (_One.z);
- printMESA (_One.w);
-
- printMESA (_Two.xy);
- printMESA (_Two.yx);
- printMESA (_Two.xw);
- printMESA (_Two.wx);
- printMESA (_Two.yz);
- printMESA (_Two.zy);
- printMESA (_Two.xz);
- printMESA (_Two.zx);
- printMESA (_Two.zw);
- printMESA (_Two.wz);
-
- printMESA (_One.xyz);
- printMESA (_One.yzx);
- printMESA (_One.zxy);
- printMESA (_One.xzy);
- printMESA (_One.yzw);
- printMESA (_One.zwx);
-
- printMESA (_Two.xyzw);
- printMESA (_Two.yzwx);
- printMESA (_Two.wzyx);
- printMESA (_Two.zwyx);
-
- printMESA (_One.xx);
- printMESA (_One.zz);
- printMESA (_One.ww);
-
- printMESA (_Two.xxx);
- printMESA (_Two.yyy);
- printMESA (_Two.www);
-
- printMESA (_One.xxxx);
- printMESA (_One.zzzz);
-
- printMESA (_Two.xxyy);
- printMESA (_Two.wwxx);
- printMESA (_Two.zxxw);
-
- vec4 v;
-
- v.zxwy = vec4 (5.5, 6.6, 7.7, 8.8);
- printMESA (v);
-
- assign5678 (v.ywxz);
- printMESA (v);
-}
-
-$output
-
-1.1
-1.2
-1.3
-1.4
-2.1
-2.2
-2.3
-2.4
-
-1.1
-1.2
-1.3
-1.4
-
-2.1
-2.2
-2.2
-2.1
-2.1
-2.4
-2.4
-2.1
-2.2
-2.3
-2.3
-2.2
-2.1
-2.3
-2.3
-2.1
-2.3
-2.4
-2.4
-2.3
-
-1.1
-1.2
-1.3
-1.2
-1.3
-1.1
-1.3
-1.1
-1.2
-1.1
-1.3
-1.2
-1.2
-1.3
-1.4
-1.3
-1.4
-1.1
-
-2.1
-2.2
-2.3
-2.4
-2.2
-2.3
-2.4
-2.1
-2.4
-2.3
-2.2
-2.1
-2.3
-2.4
-2.2
-2.1
-
-1.1
-1.1
-1.3
-1.3
-1.4
-1.4
-
-2.1
-2.1
-2.1
-2.2
-2.2
-2.2
-2.4
-2.4
-2.4
-
-1.1
-1.1
-1.1
-1.1
-1.3
-1.3
-1.3
-1.3
-
-2.1
-2.1
-2.2
-2.2
-2.4
-2.4
-2.1
-2.1
-2.3
-2.1
-2.1
-2.4
-
-6.6
-8.8
-5.5
-7.7
-
-7.7
-5.5
-8.8
-6.6
-
-
-$ /*
-$ --------------------------------------------------------------------------------------------------
-$ Test relational operators.
-$ */
-
-$program RELATIONAL OPERATOR TEST
-
-$attrib gl_Vertex
-0.0 0.0 0.0 1.0
-
-$attrib _Two
-2.0 0.0 0.0 0.0
-
-$attrib _Two2
-2.0 0.0 0.0 0.0
-
-$attrib _MinusThree
--3.0 0.0 0.0 0.0
-
-$vertex
-
-$code
-
-#version 110
-
-#extension MESA_shader_debug: require
-
-attribute float _Two;
-attribute float _Two2;
-attribute float _MinusThree;
-
-struct foo
-{
- float f;
- vec4 v4;
- vec3 v3;
- mat4 m4;
- int i;
- bool b;
-};
-
-void printMESA (const in foo bar)
-{
- printMESA (bar.f);
- printMESA (bar.v4);
- printMESA (bar.v3);
- printMESA (bar.m4);
- printMESA (bar.i);
- printMESA (bar.b);
-}
-
-void main () {
- gl_Position = gl_ModelViewMatrix * gl_Vertex;
- gl_FrontColor = vec4 (1.0);
-
- int iTwo = int (_Two);
- int iTwo2 = int (_Two2);
- int iMinusThree = int (_MinusThree);
-
- printMESA (_Two <= _Two);
- printMESA (_Two <= _Two2);
- printMESA (_Two <= _MinusThree);
- printMESA (_MinusThree <= _Two);
- printMESA (iTwo <= iTwo);
- printMESA (iTwo <= iTwo2);
- printMESA (iTwo <= iMinusThree);
- printMESA (iMinusThree <= iTwo);
-
- printMESA (_Two >= _Two);
- printMESA (_Two >= _Two2);
- printMESA (_Two >= _MinusThree);
- printMESA (_MinusThree >= _Two);
- printMESA (iTwo >= iTwo);
- printMESA (iTwo >= iTwo2);
- printMESA (iTwo >= iMinusThree);
- printMESA (iMinusThree >= iTwo);
-
- printMESA (_Two < _Two);
- printMESA (_Two < _Two2);
- printMESA (_Two < _MinusThree);
- printMESA (_MinusThree < _Two);
- printMESA (iTwo < iTwo);
- printMESA (iTwo < iTwo2);
- printMESA (iTwo < iMinusThree);
- printMESA (iMinusThree < iTwo);
-
- printMESA (_Two > _Two);
- printMESA (_Two > _Two2);
- printMESA (_Two > _MinusThree);
- printMESA (_MinusThree > _Two);
- printMESA (iTwo > iTwo);
- printMESA (iTwo > iTwo2);
- printMESA (iTwo > iMinusThree);
- printMESA (iMinusThree > iTwo);
-
- printMESA (_Two == _Two);
- printMESA (_Two == _Two2);
- printMESA (_Two == _MinusThree);
- printMESA (_MinusThree == _MinusThree);
- printMESA (iTwo == iTwo);
- printMESA (iTwo == iTwo2);
- printMESA (iTwo == iMinusThree);
- printMESA (iMinusThree == iMinusThree);
-
- printMESA (_Two != _Two);
- printMESA (_Two != _Two2);
- printMESA (_Two != _MinusThree);
- printMESA (_MinusThree != _MinusThree);
- printMESA (iTwo != iTwo);
- printMESA (iTwo != iTwo2);
- printMESA (iTwo != iMinusThree);
- printMESA (iMinusThree != iMinusThree);
-
- foo foo1;
- foo1.f = 13.31;
- foo1.v4 = vec4 (44.11, 44.22, 44.33, 44.44);
- foo1.v3 = vec3 (33.11, 33.22, 33.33);
- foo1.m4 = mat4 (17.88);
- foo1.i = 666;
- foo1.b = true;
- printMESA (foo1);
-
- // make foo2 the same as foo1
- foo foo2;
- foo2.f = 13.31;
- foo2.v4 = vec4 (44.11, 44.22, 44.33, 44.44);
- foo2.v3 = vec3 (33.11, 33.22, 33.33);
- foo2.m4 = mat4 (17.88);
- foo2.i = 666;
- foo2.b = true;
-
- printMESA (foo1 == foo2);
- printMESA (foo1 != foo2);
-
- // make them a little bit different
- foo2.m4[2].y = 333.333;
- printMESA (foo2);
-
- printMESA (foo1 == foo2);
- printMESA (foo1 != foo2);
-}
-
-$output
-
-true
-true
-false
-true
-true
-true
-false
-true
-
-true
-true
-true
-false
-true
-true
-true
-false
-
-false
-false
-false
-true
-false
-false
-false
-true
-
-false
-false
-true
-false
-false
-false
-true
-false
-
-true
-true
-false
-true
-true
-true
-false
-true
-
-false
-false
-true
-false
-false
-false
-true
-false
-
-13.31
-44.11
-44.22
-44.33
-44.44
-33.11
-33.22
-33.33
-17.88
-0.0
-0.0
-0.0
-0.0
-17.88
-0.0
-0.0
-0.0
-0.0
-17.88
-0.0
-0.0
-0.0
-0.0
-17.88
-666
-true
-
-true
-false
-
-13.31
-44.11
-44.22
-44.33
-44.44
-33.11
-33.22
-33.33
-17.88
-0.0
-0.0
-0.0
-0.0
-17.88
-0.0
-0.0
-0.0
-333.333
-17.88
-0.0
-0.0
-0.0
-0.0
-17.88
-666
-true
-
-false
-true
-
-
-$ /*
-$ --------------------------------------------------------------------------------------------------
-$ Test logical operators.
-$ */
-
-$program LOGICAL OPERATOR TEST
-
-$attrib gl_Vertex
-0.0 0.0 0.0 1.0
-
-$attrib _False
-0.0 0.0 0.0 0.0
-
-$attrib _True
-1.0 0.0 0.0 0.0
-
-$attrib _False2
-0.0 0.0 0.0 0.0
-
-$attrib _True2
-1.0 0.0 0.0 0.0
-
-$vertex
-
-$code
-
-#version 110
-
-#extension MESA_shader_debug: require
-
-attribute float _False;
-attribute float _True;
-attribute float _False2;
-attribute float _True2;
-
-void main () {
- gl_Position = gl_ModelViewMatrix * gl_Vertex;
- gl_FrontColor = vec4 (1.0);
-
- printMESA (_False);
- printMESA (_True);
- printMESA (_False2);
- printMESA (_True2);
-
- bool False = bool (_False);
- bool True = bool (_True);
- bool False2 = bool (_False2);
- bool True2 = bool (_True2);
-
- //
- // It is important to test each operator with the following argument types:
- // * Both arguments are different variables, even if they have the same values.
- // False and False2 are distinct attributes, but are the same in value.
- // * Both arguments may be the same variables. This case tests possible
- // optimizations, e.g. X && X --> X.
- // * Both arguments are constant. This tests constant folding.
- //
-
- printMESA (!False);
- printMESA (!True);
- printMESA (!false);
- printMESA (!true);
-
- printMESA (False ^^ False2);
- printMESA (False ^^ True2);
- printMESA (True ^^ False2);
- printMESA (True ^^ True2);
- printMESA (False ^^ False);
- printMESA (False ^^ True);
- printMESA (True ^^ False);
- printMESA (True ^^ True);
- printMESA (false ^^ false);
- printMESA (false ^^ true);
- printMESA (true ^^ false);
- printMESA (true ^^ true);
-
- printMESA (False && False2);
- printMESA (False && True2);
- printMESA (True && False2);
- printMESA (True && True2);
- printMESA (False && False);
- printMESA (False && True);
- printMESA (True && False);
- printMESA (True && True);
- printMESA (false && false);
- printMESA (false && true);
- printMESA (true && false);
- printMESA (true && true);
-
- printMESA (False || False2);
- printMESA (False || True2);
- printMESA (True || False2);
- printMESA (True || True2);
- printMESA (False || False);
- printMESA (False || True);
- printMESA (True || False);
- printMESA (True || True);
- printMESA (false || false);
- printMESA (false || true);
- printMESA (true || false);
- printMESA (true || true);
-
- //
- // Test short-circuit evaluation of && and ||. The right expression evaluation depends
- // on the value of the left expression. If the right expression has side effects, we
- // can easily test if it happened.
- //
-
- bool x;
-
- x = false;
- printMESA (x);
- printMESA (False && (x = true));
- printMESA (x);
-
- x = false;
- printMESA (x);
- printMESA (false && (x = true));
- printMESA (x);
-
- x = true;
- printMESA (x);
- printMESA (True || (x = false));
- printMESA (x);
-
- x = true;
- printMESA (x);
- printMESA (true || (x = false));
- printMESA (x);
-}
-
-$output
-
-0.0
-1.0
-0.0
-1.0
-
-true
-false
-true
-false
-
-false
-true
-true
-false
-false
-true
-true
-false
-false
-true
-true
-false
-
-false
-false
-false
-true
-false
-false
-false
-true
-false
-false
-false
-true
-
-false
-true
-true
-true
-false
-true
-true
-true
-false
-true
-true
-true
-
-false
-false
-false
-
-false
-false
-false
-
-true
-true
-true
-
-true
-true
-true
-
-
-$ /*
-$ --------------------------------------------------------------------------------------------------
-$ Test subscript operator/array access.
-$ */
-
-$program ARRAY ACCESS TEST
-
-$attrib gl_Vertex
-0.0 0.0 0.0 1.0
-
-$attrib _Zero
-0.0 0.0 0.0 0.0
-
-$attrib _One
-1.1 0.0 0.0 0.0
-
-$attrib _Two
-2.9 0.0 0.0 0.0
-
-$attrib _Vec
-11.11 22.22 33.33 44.44
-
-$vertex
-
-$code
-
-#version 110
-
-#extension MESA_shader_debug: require
-
-attribute float _Zero;
-attribute float _One;
-attribute float _Two;
-attribute vec4 _Vec;
-
-void main () {
- gl_Position = gl_ModelViewMatrix * gl_Vertex;
- gl_FrontColor = vec4 (1.0);
-
- printMESA (_Zero);
- printMESA (_One);
- printMESA (_Two);
- printMESA (_Vec);
-
- printMESA (_Vec[0]);
- printMESA (_Vec[1]);
- printMESA (_Vec[2]);
- printMESA (_Vec[3]);
-
- printMESA (_Vec[int (_Zero)]);
- printMESA (_Vec[int (_One)]);
- printMESA (_Vec[int (_Two)]);
-}
-
-$output
-
-0.0
-1.1
-2.9
-11.11
-22.22
-33.33
-44.44
-
-11.11
-22.22
-33.33
-44.44
-
-11.11
-22.22
-33.33
-
-
-$ /*
-$ --------------------------------------------------------------------------------------------------
-$ Test pre/post-increment/decrement operators.
-$ Note: assumes relational operators being correct.
-$ */
-
-$program PRE/POST-INC/DEC OPERATOR TEST
-
-$attrib gl_Vertex
-0.0 0.0 0.0 1.0
-
-$attrib _Zero
-0.0 0.0 0.0 0.0
-
-$attrib _One
-1.1 0.0 0.0 0.0
-
-$attrib _Two4
-2.1 2.2 2.3 2.4
-
-$vertex
-
-$code
-
-#version 110
-
-#extension MESA_shader_debug: require
-
-attribute float _Zero;
-attribute float _One;
-attribute vec4 _Two4;
-
-float fZero, fOne;
-vec4 fTwo4;
-int iZero, iOne;
-ivec4 iTwo4;
-
-void reset () {
- fZero = _Zero;
- fOne = _One;
- fTwo4 = _Two4;
- iZero = int (_Zero);
- iOne = int (_One);
- iTwo4 = ivec4 (_Two4);
-}
-
-void main () {
- gl_Position = gl_ModelViewMatrix * gl_Vertex;
- gl_FrontColor = vec4 (1.0);
-
- printMESA (_Zero);
- printMESA (_One);
- printMESA (_Two4);
-
- // pre-increment
- reset ();
- printMESA (++fZero);
- printMESA (++fOne);
- printMESA (++iZero);
- printMESA (++iOne);
- printMESA (fZero);
- printMESA (fOne);
- printMESA (iZero);
- printMESA (iOne);
- printMESA (++fTwo4 == _Two4 + 1.0);
- printMESA (++iTwo4 == ivec4 (_Two4) + 1);
-
- // pre-decrement
- reset ();
- printMESA (--fZero);
- printMESA (--fOne);
- printMESA (--iZero);
- printMESA (--iOne);
- printMESA (fZero);
- printMESA (fOne);
- printMESA (iZero);
- printMESA (iOne);
- printMESA (--fTwo4 == _Two4 - 1.0);
- printMESA (--iTwo4 == ivec4 (_Two4) - 1);
-
- // post-increment
- reset ();
- printMESA (fZero++);
- printMESA (fOne++);
- printMESA (iZero++);
- printMESA (iOne++);
- printMESA (fZero);
- printMESA (fOne);
- printMESA (iZero);
- printMESA (iOne);
- printMESA (fTwo4++ == _Two4);
- printMESA (iTwo4++ == ivec4 (_Two4));
-
- // post-decrement
- reset ();
- printMESA (fZero--);
- printMESA (fOne--);
- printMESA (iZero--);
- printMESA (iOne--);
- printMESA (fZero);
- printMESA (fOne);
- printMESA (iZero);
- printMESA (iOne);
- printMESA (fTwo4-- == _Two4);
- printMESA (iTwo4-- == ivec4 (_Two4));
-}
-
-$output
-
-0.0
-1.1
-2.1
-2.2
-2.3
-2.4
-
-1.0
-2.1
-1
-2
-1.0
-2.1
-1
-2
-true
-true
-
--1.0
-0.1
--1
-0
--1.0
-0.1
--1
-0
-true
-true
-
-0.0
-1.1
-0
-1
-1.0
-2.1
-1
-2
-true
-true
-
-0.0
-1.1
-0
-1
--1.0
-0.1
--1
-0
-true
-true
-
-
-$ /*
-$ --------------------------------------------------------------------------------------------------
-$ Test arithmetical operators.
-$ */
-
-$program ARITHMETICAL OPERATOR TEST
-
-$attrib gl_Vertex
-0.0 0.0 0.0 1.0
-
-$attrib _Zero
-0.0 0.0 0.0 0.0
-
-$attrib _One
-1.1 0.0 0.0 0.0
-
-$attrib _Two4
-2.1 2.2 2.3 2.4
-
-$vertex
-
-$code
-
-#version 110
-
-#extension MESA_shader_debug: require
-
-attribute float _Zero;
-attribute float _One;
-attribute vec4 _Two4;
-
-void main () {
- gl_Position = gl_ModelViewMatrix * gl_Vertex;
- gl_FrontColor = vec4 (1.0);
-
- printMESA (_Zero);
- printMESA (_One);
- printMESA (_Two4);
-
- int iZero = int (_Zero);
- int iOne = int (_One);
- ivec4 iTwo4 = ivec4 (_Two4);
-
- printMESA (-_Zero);
- printMESA (-_One);
- printMESA (-_Two4);
- printMESA (-_Two4.z);
-
- printMESA (_Zero + 0.0);
- printMESA (_One + 0.0);
- printMESA (_Two4 + 0.0);
- printMESA (_Two4.y + 0.0);
-
- printMESA (_Zero + _Zero);
- printMESA (_Zero + _One);
- printMESA (_Zero + _Two4);
- printMESA (_One + _Zero);
- printMESA (_One + _Two4);
- printMESA (_Two4 + _Two4);
-
- printMESA (_Zero - 0.0);
- printMESA (_One - 0.0);
- printMESA (_Two4 - 0.0);
- printMESA (_Two4.y - 0.0);
-
- printMESA (_Zero - _Zero);
- printMESA (_Zero - _One);
- printMESA (_Zero - _Two4);
- printMESA (_One - _Zero);
- printMESA (_One - _Two4);
- printMESA (_Two4 - _Two4);
-
- printMESA (_Zero * 1.0);
- printMESA (_One * 1.0);
- printMESA (_Two4 * 1.0);
- printMESA (_Two4.x * 1.0);
-
- printMESA (_Zero * _Zero);
- printMESA (_Zero * _One);
- printMESA (_Zero * _Two4);
- printMESA (_One * _Zero);
- printMESA (_One * _One);
- printMESA (_One * _Two4);
- printMESA (_Two4 * _Two4);
-
- printMESA (_Zero / 1.0);
- printMESA (_One / 1.0);
- printMESA (_Two4 / 1.0);
- printMESA (_Two4.x / 1.0);
-
- printMESA (_Zero / _One);
- printMESA (_Zero / _Two4);
- printMESA (_One / _One);
- printMESA (_One / _Two4);
- printMESA (_Two4 / _Two4);
-}
-
-$output
-
-0.0
-1.1
-2.1
-2.2
-2.3
-2.4
-
-0.0
--1.1
--2.1
--2.2
--2.3
--2.4
--2.3
-
-0.0
-1.1
-2.1
-2.2
-2.3
-2.4
-2.2
-
-0.0
-1.1
-2.1
-2.2
-2.3
-2.4
-1.1
-3.2
-3.3
-3.4
-3.5
-4.2
-4.4
-4.6
-4.8
-
-0.0
-1.1
-2.1
-2.2
-2.3
-2.4
-2.2
-
-0.0
--1.1
--2.1
--2.2
--2.3
--2.4
-1.1
--1.0
--1.1
--1.2
--1.3
-0.0
-0.0
-0.0
-0.0
-
-0.0
-1.1
-2.1
-2.2
-2.3
-2.4
-2.1
-
-0.0
-0.0
-0.0
-0.0
-0.0
-0.0
-0.0
-1.21
-2.31
-2.42
-2.53
-2.64
-4.41
-4.84
-5.29
-5.76
-
-0.0
-1.1
-2.1
-2.2
-2.3
-2.4
-2.1
-
-0.0
-0.0
-0.0
-0.0
-0.0
-1.0
-0.52381
-0.5
-0.47826
-0.45833
-1.0
-1.0
-1.0
-1.0
-
-
-$ /*
-$ --------------------------------------------------------------------------------------------------
-$ Test matrix operations.
-$ Note: assumes relational operators being correct.
-$ */
-
-$program MATRIX TEST
-
-$attrib gl_Vertex
-0.0 0.0 0.0 1.0
-
-$attrib _Zero
-0.0 0.0 0.0 0.0
-
-$attrib _One
-1.0 1.0 1.0 1.0
-
-$attrib _Two
-2.0 2.0 2.0 2.0
-
-$vertex
-
-$code
-
-#version 110
-
-#extension MESA_shader_debug: require
-
-attribute vec4 _Zero;
-attribute vec4 _One;
-attribute vec4 _Two;
-
-void main () {
- gl_Position = gl_ModelViewMatrix * gl_Vertex;
- gl_FrontColor = vec4 (1.0);
-
- printMESA (_Zero);
- printMESA (_One);
- printMESA (_Two);
-
- mat4 Identity = mat4 (_One.x);
-
- printMESA (Identity == mat4 (1.0, 0.0, 0.0, 0.0,
- 0.0, 1.0, 0.0, 0.0,
- 0.0, 0.0, 1.0, 0.0,
- 0.0, 0.0, 0.0, 1.0));
- printMESA (Identity * _Two == _Two);
-
- mat4 Matrix = mat4 (1.1, 1.2, 1.3, 1.4,
- 2.1, 2.2, 2.3, 2.4,
- 3.1, 3.2, 3.3, 3.4,
- 4.1, 4.2, 4.3, 4.4);
-
- printMESA (Matrix[2].y);
- printMESA (Matrix[1]);
-}
-
-$output
-
-0.0
-0.0
-0.0
-0.0
-1.0
-1.0
-1.0
-1.0
-2.0
-2.0
-2.0
-2.0
-true
-true
-3.2
-2.1
-2.2
-2.3
-2.4
-
-
-$ /*
-$ --------------------------------------------------------------------------------------------------
-$ Test vec4 extension operations.
-$ */
-
-$program VEC4 EXTENSION OPERATIONS
-
-$attrib gl_Vertex
-0.0 0.0 0.0 1.0
-
-$attrib _One
-1.1 0.0 0.0 0.0
-
-$attrib _Two4
-2.1 2.2 2.3 2.4
-
-$attrib _Three4
-3.1 3.2 3.3 3.4
-
-$vertex
-
-$code
-
-#version 110
-
-#extension MESA_shader_debug: require
-
-attribute float _One;
-attribute vec4 _Two4;
-attribute vec4 _Three4;
-
-void main () {
- gl_Position = gl_ModelViewMatrix * gl_Vertex;
- gl_FrontColor = vec4 (1.0);
-
- printMESA (_One);
- printMESA (_Two4);
- printMESA (_Three4);
-
- printMESA (vec4 (_One));
-
- printMESA (_Two4 + _Three4);
- printMESA (_Two4 - _Three4);
- printMESA (_Two4 * _Three4);
- printMESA (_Two4 / _Three4);
-
- printMESA (_Two4 + _One);
- printMESA (_Two4 - _One);
- printMESA (_Two4 * _One);
- printMESA (_Two4 / _One);
-
- printMESA (_One + _Two4);
- printMESA (_One - _Two4);
- printMESA (_One * _Two4);
- printMESA (_One / _Two4);
-
- printMESA (-_Three4);
-
- printMESA (dot (_Two4.xyz, _Three4.xyz));
- printMESA (dot (_Two4, _Three4));
-
- printMESA (length (_Two4.xyz));
- printMESA (length (_Three4));
-
- printMESA (normalize (_Two4.xyz));
- printMESA (normalize (_Three4));
-
- vec4 tmp = _Two4;
- printMESA (tmp);
-
- printMESA (_Two4 == _Three4);
- printMESA (_Two4 != _Three4);
- printMESA (_Two4 == _Two4);
- printMESA (_Three4 != _Three4);
- printMESA (_Two4 != vec4 (_Two4.xyz, 999.0));
- printMESA (_Two4 != vec4 (999.0, _Two4.yzw));
-}
-
-$output
-
-1.1
-2.1
-2.2
-2.3
-2.4
-3.1
-3.2
-3.3
-3.4
-
-1.1
-1.1
-1.1
-1.1
-
-5.2
-5.4
-5.6
-5.8
--1.0
--1.0
--1.0
--1.0
-6.51
-7.04
-7.59
-8.16
-0.677419
-0.6875
-0.69697
-0.705882
-
-3.2
-3.3
-3.4
-3.5
-1.0
-1.1
-1.2
-1.3
-2.31
-2.42
-2.53
-2.64
-1.909091
-2.0
-2.090909
-2.181818
-
-3.2
-3.3
-3.4
-3.5
--1.0
--1.1
--1.2
--1.3
-2.31
-2.42
-2.53
-2.64
-0.52381
-0.5
-0.478261
-0.458333
-
--3.1
--3.2
--3.3
--3.4
-
-21.14
-29.3
-
-3.813135
-6.503845
-
-0.550728
-0.576953
-0.603178
-0.476641
-0.492017
-0.507392
-0.522768
-
-2.1
-2.2
-2.3
-2.4
-
-false
-true
-true
-false
-true
-true
diff --git a/progs/slang/framework.c b/progs/slang/framework.c
deleted file mode 100644
index 692cef9c8c..0000000000
--- a/progs/slang/framework.c
+++ /dev/null
@@ -1,145 +0,0 @@
-#include "framework.h"
-
-/*
- * GL_ARB_multitexture
- */
-#ifndef GL_ARB_multitexture
-PFNGLCLIENTACTIVETEXTUREARBPROC glClientActiveTextureARB;
-PFNGLMULTITEXCOORD4FVARBPROC glMultiTexCoord4fvARB;
-#endif
-
-/*
- * GL_ARB_shader_objects
- */
-PFNGLDELETEOBJECTARBPROC glDeleteObjectARB;
-PFNGLGETHANDLEARBPROC glGetHandleARB;
-PFNGLDETACHOBJECTARBPROC glDetachObjectARB;
-PFNGLCREATESHADEROBJECTARBPROC glCreateShaderObjectARB;
-PFNGLSHADERSOURCEARBPROC glShaderSourceARB;
-PFNGLCOMPILESHADERARBPROC glCompileShaderARB;
-PFNGLCREATEPROGRAMOBJECTARBPROC glCreateProgramObjectARB;
-PFNGLATTACHOBJECTARBPROC glAttachObjectARB;
-PFNGLLINKPROGRAMARBPROC glLinkProgramARB;
-PFNGLUSEPROGRAMOBJECTARBPROC glUseProgramObjectARB;
-PFNGLGETOBJECTPARAMETERIVARBPROC glGetObjectParameterivARB;
-PFNGLGETINFOLOGARBPROC glGetInfoLogARB;
-PFNGLGETUNIFORMLOCATIONARBPROC glGetUniformLocationARB;
-
-/*
- * GL_ARB_vertex_shader
- */
-PFNGLVERTEXATTRIB4FVARBPROC glVertexAttrib4fvARB;
-PFNGLVERTEXATTRIBPOINTERARBPROC glVertexAttribPointerARB;
-PFNGLENABLEVERTEXATTRIBARRAYARBPROC glEnableVertexAttribArrayARB;
-PFNGLDISABLEVERTEXATTRIBARRAYARBPROC glDisableVertexAttribArrayARB;
-PFNGLBINDATTRIBLOCATIONARBPROC glBindAttribLocationARB;
-PFNGLGETATTRIBLOCATIONARBPROC glGetAttribLocationARB;
-
-/*
- * GL_EXT_fog_coord
- */
-PFNGLFOGCOORDFVEXTPROC glFogCoordfvEXT;
-PFNGLFOGCOORDPOINTEREXTPROC glFogCoordPointerEXT;
-
-/*
- * GL_EXT_secondary_color
- */
-PFNGLSECONDARYCOLOR3FVEXTPROC glSecondaryColor3fvEXT;
-PFNGLSECONDARYCOLORPOINTEREXTPROC glSecondaryColorPointerEXT;
-
-static void Display (void)
-{
- glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
- RenderScene ();
- glutSwapBuffers ();
-}
-
-static void Idle (void)
-{
- glutPostRedisplay ();
-}
-
-void InitFramework (int *argc, char *argv[])
-{
- glutInit (argc, argv);
- glutInitWindowPosition (0, 0);
- glutInitWindowSize (200, 200);
- glutInitDisplayMode (GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
- glutCreateWindow (argv[0]);
-
-#ifndef GL_ARB_multitexture
- GETPROCADDR(glClientActiveTextureARB, PFNGLCLIENTACTIVETEXTUREARBPROC);
- GETPROCADDR(glMultiTexCoord4fvARB, PFNGLMULTITEXCOORD4FVARBPROC);
-#endif
-
- GETPROCADDR(glDeleteObjectARB, PFNGLDELETEOBJECTARBPROC);
- GETPROCADDR(glGetHandleARB, PFNGLGETHANDLEARBPROC);
- GETPROCADDR(glDetachObjectARB, PFNGLDETACHOBJECTARBPROC);
- GETPROCADDR(glCreateShaderObjectARB, PFNGLCREATESHADEROBJECTARBPROC);
- GETPROCADDR(glShaderSourceARB, PFNGLSHADERSOURCEARBPROC);
- GETPROCADDR(glCompileShaderARB, PFNGLCOMPILESHADERARBPROC);
- GETPROCADDR(glCreateProgramObjectARB, PFNGLCREATEPROGRAMOBJECTARBPROC);
- GETPROCADDR(glAttachObjectARB, PFNGLATTACHOBJECTARBPROC);
- GETPROCADDR(glLinkProgramARB, PFNGLLINKPROGRAMARBPROC);
- GETPROCADDR(glUseProgramObjectARB, PFNGLUSEPROGRAMOBJECTARBPROC);
- GETPROCADDR(glGetObjectParameterivARB, PFNGLGETOBJECTPARAMETERIVARBPROC);
- GETPROCADDR(glGetInfoLogARB, PFNGLGETINFOLOGARBPROC);
- GETPROCADDR(glGetUniformLocationARB, PFNGLGETUNIFORMLOCATIONARBPROC);
-
- GETPROCADDR(glVertexAttrib4fvARB, PFNGLVERTEXATTRIB4FVARBPROC);
- GETPROCADDR(glVertexAttribPointerARB, PFNGLVERTEXATTRIBPOINTERARBPROC);
- GETPROCADDR(glEnableVertexAttribArrayARB, PFNGLENABLEVERTEXATTRIBARRAYARBPROC);
- GETPROCADDR(glDisableVertexAttribArrayARB, PFNGLDISABLEVERTEXATTRIBARRAYARBPROC);
- GETPROCADDR(glBindAttribLocationARB, PFNGLBINDATTRIBLOCATIONARBPROC);
- GETPROCADDR(glGetAttribLocationARB, PFNGLGETATTRIBLOCATIONARBPROC);
-
- GETPROCADDR(glFogCoordfvEXT, PFNGLFOGCOORDFVEXTPROC);
- GETPROCADDR(glFogCoordPointerEXT, PFNGLFOGCOORDPOINTEREXTPROC);
-
- GETPROCADDR(glSecondaryColor3fvEXT, PFNGLSECONDARYCOLOR3FVEXTPROC);
- GETPROCADDR(glSecondaryColorPointerEXT, PFNGLSECONDARYCOLORPOINTEREXTPROC);
-
- printf ("VENDOR: %s\n", glGetString (GL_VENDOR));
- printf ("RENDERER: %s\n", glGetString (GL_RENDERER));
-
- InitScene ();
-
- glutDisplayFunc (Display);
- glutIdleFunc (Idle);
- glutMainLoop ();
-}
-
-GLboolean CheckObjectStatus (GLhandleARB handle)
-{
- GLint type, status, length;
- GLcharARB *infolog;
-
- glGetObjectParameterivARB (handle, GL_OBJECT_TYPE_ARB, &type);
- if (type == GL_SHADER_OBJECT_ARB)
- glGetObjectParameterivARB (handle, GL_OBJECT_COMPILE_STATUS_ARB, &status);
- else if (type == GL_PROGRAM_OBJECT_ARB)
- glGetObjectParameterivARB (handle, GL_OBJECT_LINK_STATUS_ARB, &status);
- else {
- assert (0);
- return GL_FALSE;
- }
-
- if (status)
- return GL_TRUE;
-
- printf ("\n%s FAILED. INFO LOG FOLLOWS:\n",
- type == GL_SHADER_OBJECT_ARB ? "SHADER COMPILE" : "PROGRAM LINK");
-
- glGetObjectParameterivARB (handle, GL_OBJECT_INFO_LOG_LENGTH_ARB, &length);
- infolog = (GLcharARB *) (malloc (length));
- if (infolog != NULL) {
- glGetInfoLogARB (handle, length, NULL, infolog);
- printf ("%s", infolog);
- free (infolog);
- }
-
- printf ("\n");
-
- return GL_FALSE;
-}
-
diff --git a/progs/slang/framework.h b/progs/slang/framework.h
deleted file mode 100644
index e023f7da8a..0000000000
--- a/progs/slang/framework.h
+++ /dev/null
@@ -1,82 +0,0 @@
-#ifndef _FRAMEWORK_H_
-#define _FRAMEWORK_H_
-
-#ifdef WIN32
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#endif
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <assert.h>
-#include <math.h>
-#include <GL/gl.h>
-#include <GL/glut.h>
-#include <GL/glext.h>
-
-#ifdef WIN32
-#define GETPROCADDRESS(x) wglGetProcAddress (x)
-#else
-#define GETPROCADDRESS(x) glutGetProcAddress (x)
-#endif
-
-#define GETPROCADDR(x,T) do { x = (T) (GETPROCADDRESS(#x)); assert (x != NULL); } while (0)
-
-/*
- * GL_ARB_multitexture
- */
-#ifndef GL_ARB_multitexture
-extern PFNGLCLIENTACTIVETEXTUREARBPROC glClientActiveTextureARB;
-extern PFNGLMULTITEXCOORD4FVARBPROC glMultiTexCoord4fvARB;
-#endif
-
-/*
- * GL_ARB_shader_objects
- */
-extern PFNGLDELETEOBJECTARBPROC glDeleteObjectARB;
-extern PFNGLGETHANDLEARBPROC glGetHandleARB;
-extern PFNGLDETACHOBJECTARBPROC glDetachObjectARB;
-extern PFNGLCREATESHADEROBJECTARBPROC glCreateShaderObjectARB;
-extern PFNGLSHADERSOURCEARBPROC glShaderSourceARB;
-extern PFNGLCOMPILESHADERARBPROC glCompileShaderARB;
-extern PFNGLCREATEPROGRAMOBJECTARBPROC glCreateProgramObjectARB;
-extern PFNGLATTACHOBJECTARBPROC glAttachObjectARB;
-extern PFNGLLINKPROGRAMARBPROC glLinkProgramARB;
-extern PFNGLUSEPROGRAMOBJECTARBPROC glUseProgramObjectARB;
-extern PFNGLGETOBJECTPARAMETERIVARBPROC glGetObjectParameterivARB;
-extern PFNGLGETINFOLOGARBPROC glGetInfoLogARB;
-extern PFNGLGETUNIFORMLOCATIONARBPROC glGetUniformLocationARB;
-/*static PFNGLUNIFORM4FVARBPROC glUniform4fvARB = NULL;*/
-
-/*
- * GL_ARB_vertex_shader
- */
-extern PFNGLVERTEXATTRIB4FVARBPROC glVertexAttrib4fvARB;
-extern PFNGLVERTEXATTRIBPOINTERARBPROC glVertexAttribPointerARB;
-extern PFNGLENABLEVERTEXATTRIBARRAYARBPROC glEnableVertexAttribArrayARB;
-extern PFNGLDISABLEVERTEXATTRIBARRAYARBPROC glDisableVertexAttribArrayARB;
-extern PFNGLBINDATTRIBLOCATIONARBPROC glBindAttribLocationARB;
-extern PFNGLGETATTRIBLOCATIONARBPROC glGetAttribLocationARB;
-
-/*
- * GL_EXT_fog_coord
- */
-extern PFNGLFOGCOORDFVEXTPROC glFogCoordfvEXT;
-extern PFNGLFOGCOORDPOINTEREXTPROC glFogCoordPointerEXT;
-
-/*
- * GL_EXT_secondary_color
- */
-extern PFNGLSECONDARYCOLOR3FVEXTPROC glSecondaryColor3fvEXT;
-extern PFNGLSECONDARYCOLORPOINTEREXTPROC glSecondaryColorPointerEXT;
-
-extern void InitFramework (int *argc, char *argv[]);
-
-extern void InitScene (void);
-extern void RenderScene (void);
-
-extern GLboolean CheckObjectStatus (GLhandleARB);
-
-#endif
-
diff --git a/progs/slang/sotest.c b/progs/slang/sotest.c
deleted file mode 100644
index 4bd3bc23c9..0000000000
--- a/progs/slang/sotest.c
+++ /dev/null
@@ -1,439 +0,0 @@
-/*
- * GL_ARB_shader_objects & GL_ARB_vertex_shader interface test application.
- * Neither compiler nor executor is being tested here, although some simple shader
- * compilation tests are performed.
- *
- * Perfectly valid behaviour produces output that does not have a line
- * beginning with three stars (***).
- *
- * Author: Michal Krol
- */
-
-#include "framework.h"
-
-enum TEST_TYPE
-{
- TT_GETERROR_NOERROR,
- TT_GETERROR_INVALIDVALUE,
- TT_GETERROR_INVALIDOPERATION,
- TT_PARAM1_ZERO,
- TT_PARAM1_NONZERO
-};
-
-static enum TEST_TYPE current_test;
-
-static void begintest (enum TEST_TYPE type, const char *name)
-{
- current_test = type;
- printf ("\n BEGIN TEST: %s\n", name);
- while (glGetError () != GL_NO_ERROR)
- ;
-}
-
-static void endtest1 (GLuint param1)
-{
- const char *msg = NULL;
-
- switch (current_test)
- {
- case TT_GETERROR_NOERROR:
- if (glGetError () != GL_NO_ERROR)
- msg = "glGetError () does not return GL_NO_ERROR";
- break;
- case TT_GETERROR_INVALIDVALUE:
- if (glGetError () != GL_INVALID_VALUE)
- msg = "glGetError () does not return GL_INVALID_VALUE";
- break;
- case TT_GETERROR_INVALIDOPERATION:
- if (glGetError () != GL_INVALID_OPERATION)
- msg = "glGetError () does not return GL_INVALID_OPERATION";
- break;
- case TT_PARAM1_ZERO:
- if (param1)
- msg = "The parameter is not zero";
- break;
- case TT_PARAM1_NONZERO:
- if (!param1)
- msg = "The parameter is not non-zero";
- break;
- default:
- assert (0);
- }
-
- if (msg == NULL)
- printf (" OK\n");
- else
- printf ("*** %s\n", msg);
-
- while (glGetError () != GL_NO_ERROR)
- ;
-}
-
-static void endtest ()
-{
- endtest1 (0);
-}
-
-static GLhandleARB vert = 0;
-static GLhandleARB frag = 0;
-static GLhandleARB prog = 0;
-
-static GLhandleARB find_invalid_handle ()
-{
- GLhandleARB handle;
-
- for (handle = 1; handle < 16; handle++)
- if (handle != vert && handle != frag && handle != prog)
- return handle;
- assert (0);
- return 0;
-}
-
-static const char *invsynvertsrc =
- "void main () {\n"
- " gl_Position = gl_ModelViewMatrix ! gl_Vertex;\n" /* unexpected token */
- "}\n"
-;
-
-static const char *invsemvertsrc =
- "void main () {\n"
- " gl_Position = gl_ModelviewMatrix * gl_Vertex;\n" /* undeclared identifier */
- "}\n"
-;
-
-static const char *uniforms =
- "uniform vec4 CommonUniform;\n"
-;
-
-static const char *validvertsrc =
- "uniform vec4 VertexUniform;\n"
- "attribute vec4 FirstAttrib;\n"
- "attribute vec4 SecondAttrib;\n"
- "void main () {\n"
- " gl_Position = gl_ModelViewMatrix * gl_Vertex + CommonUniform + VertexUniform\n"
- " + FirstAttrib + SecondAttrib;\n"
- "}\n"
-;
-
-static const char *invsynfragsrc =
- "void main () {\n"
- " gl_FragColor = gl_Color\n" /* missing ; */
- "}\n"
-;
-
-static const char *invsemfragsrc =
- "void main () {\n"
- " gl_FragColor = gl_FrontColor;\n" /* gl_FrontColor only in vertex shader */
- "}\n"
-;
-
-static const char *validfragsrc =
- "uniform vec4 FragmentUniform;\n"
- "void main () {\n"
- " gl_FragColor = gl_Color + CommonUniform + FragmentUniform;\n"
- "}\n"
-;
-
-void InitScene (void)
-{
- GLint params[1];
- const char *tab[2];
-
- /*
- * GL should silently ignore calls that delete object 0.
- */
- begintest (TT_GETERROR_NOERROR, "glDeleteObject(0)");
- glDeleteObjectARB (0);
- endtest ();
-
- /*
- * GL generates an error on invalid object handle.
- */
- begintest (TT_GETERROR_INVALIDVALUE, "Pass invalid non-zero object handle");
- glDeleteObjectARB (find_invalid_handle ());
- endtest ();
- glUseProgramObjectARB (find_invalid_handle ());
- endtest ();
-
- /*
- * Create object. GL should return unique non-zero values.
- */
- begintest (TT_PARAM1_NONZERO, "Create object");
- vert = glCreateShaderObjectARB (GL_VERTEX_SHADER_ARB);
- endtest1 (vert);
- frag = glCreateShaderObjectARB (GL_FRAGMENT_SHADER_ARB);
- endtest1 (frag);
- prog = glCreateProgramObjectARB ();
- endtest1 (prog);
- endtest1 (vert != frag && frag != prog && prog != vert);
-
- /*
- * Link empty program.
- */
- begintest (TT_PARAM1_NONZERO, "Link empty program");
- glLinkProgramARB (prog);
- endtest1 (CheckObjectStatus (prog));
-
- /*
- * Use empty program object. Empty program objects are valid.
- */
- begintest (TT_GETERROR_NOERROR, "Use empty program object");
- glUseProgramObjectARB (prog);
- endtest ();
-
- /*
- * Attach invalid object handles. Program object 0 should not be accepted.
- */
- begintest (TT_GETERROR_INVALIDVALUE, "Attach invalid object handle");
- glAttachObjectARB (0, find_invalid_handle ());
- endtest ();
- glAttachObjectARB (0, frag);
- endtest ();
- glAttachObjectARB (find_invalid_handle (), find_invalid_handle ());
- endtest ();
- glAttachObjectARB (find_invalid_handle (), frag);
- endtest ();
- glAttachObjectARB (prog, find_invalid_handle ());
- endtest ();
-
- /*
- * Attach valid object handles with wrong semantics.
- */
- begintest (TT_GETERROR_INVALIDOPERATION, "Attach object badly");
- glAttachObjectARB (vert, frag);
- endtest ();
- glAttachObjectARB (vert, prog);
- endtest ();
- glAttachObjectARB (prog, prog);
- endtest ();
-
- /*
- * Detach non-attached object.
- */
- begintest (TT_GETERROR_INVALIDOPERATION, "Detach non-attached object");
- glDetachObjectARB (prog, vert);
- endtest ();
- glDetachObjectARB (prog, frag);
- endtest ();
-
- /*
- * Attach shader.
- */
- begintest (TT_GETERROR_NOERROR, "Attach shader to program object");
- glAttachObjectARB (prog, vert);
- endtest ();
- glAttachObjectARB (prog, frag);
- endtest ();
-
- /*
- * Attach object twice.
- */
- begintest (TT_GETERROR_INVALIDOPERATION, "Attach object twice");
- glAttachObjectARB (prog, vert);
- endtest ();
- glAttachObjectARB (prog, frag);
- endtest ();
-
- /*
- * Detach attached object.
- */
- begintest (TT_GETERROR_NOERROR, "Detach attached object");
- glDetachObjectARB (prog, vert);
- endtest ();
- glDetachObjectARB (prog, frag);
- endtest ();
-
- /*
- * Attach shader again.
- */
- begintest (TT_GETERROR_NOERROR, "Attach shader again");
- glAttachObjectARB (prog, vert);
- endtest ();
- glAttachObjectARB (prog, frag);
- endtest ();
-
- /*
- * Delete attached object.
- */
- begintest (TT_GETERROR_NOERROR, "Delete attached object");
- glDeleteObjectARB (vert);
- endtest ();
- glDeleteObjectARB (frag);
- endtest ();
-
- /*
- * Query delete status. It should return TRUE. Object handles are still valid
- * as they are referenced by program object container.
- */
- begintest (TT_PARAM1_NONZERO, "Query delete status");
- glGetObjectParameterivARB (vert, GL_OBJECT_DELETE_STATUS_ARB, params);
- endtest1 (params[0]);
- glGetObjectParameterivARB (frag, GL_OBJECT_DELETE_STATUS_ARB, params);
- endtest1 (params[0]);
-
- /*
- * Delete already deleted attached object. The behaviour is undefined, but we
- * check for no errors. The object still exists, so the handle value is okay.
- * In other words, these calls should be silently ignored by GL.
- */
- begintest (TT_GETERROR_NOERROR, "Delete already deleted attached object");
- glDeleteObjectARB (vert);
- endtest ();
- glDeleteObjectARB (frag);
- endtest ();
-
- /*
- * Compile shader source with syntax error.
- */
- begintest (TT_PARAM1_ZERO, "Compile shader source with syntax error");
- glShaderSourceARB (vert, 1, &invsynvertsrc, NULL);
- glCompileShaderARB (vert);
- endtest1 (CheckObjectStatus (vert));
- glShaderSourceARB (frag, 1, &invsynfragsrc, NULL);
- glCompileShaderARB (frag);
- endtest1 (CheckObjectStatus (frag));
-
- /*
- * Compile shader source with semantic error.
- */
- begintest (TT_PARAM1_ZERO, "Compile shader source with semantic error");
- glShaderSourceARB (vert, 1, &invsemvertsrc, NULL);
- glCompileShaderARB (vert);
- endtest1 (CheckObjectStatus (vert));
- glShaderSourceARB (frag, 1, &invsemfragsrc, NULL);
- glCompileShaderARB (frag);
- endtest1 (CheckObjectStatus (frag));
-
- /*
- * Link ill-formed vertex-fragment program.
- */
- begintest (TT_PARAM1_ZERO, "Link ill-formed vertex-fragment program");
- glLinkProgramARB (prog);
- endtest1 (CheckObjectStatus (prog));
-
- /*
- * Use badly linked program object.
- */
- begintest (TT_GETERROR_INVALIDOPERATION, "Use badly linked program object");
- glUseProgramObjectARB (prog);
- endtest ();
-
- /*
- * Compile well-formed shader source. Check if multi-string sources can be handled.
- */
- begintest (TT_PARAM1_NONZERO, "Compile well-formed shader source");
- tab[0] = uniforms;
- tab[1] = validvertsrc;
- glShaderSourceARB (vert, 2, tab, NULL);
- glCompileShaderARB (vert);
- endtest1 (CheckObjectStatus (vert));
- tab[0] = uniforms;
- tab[1] = validfragsrc;
- glShaderSourceARB (frag, 2, tab, NULL);
- glCompileShaderARB (frag);
- endtest1 (CheckObjectStatus (frag));
-
- /*
- * Link vertex-fragment program.
- */
- begintest (TT_PARAM1_NONZERO, "Link vertex-fragment program");
- glLinkProgramARB (prog);
- endtest1 (CheckObjectStatus (prog));
-
- /*
- * Use valid linked program object.
- */
- begintest (TT_GETERROR_NOERROR, "Use linked program object");
- glUseProgramObjectARB (prog);
- endtest ();
-
- /*
- * Get current program.
- */
- begintest (TT_PARAM1_NONZERO, "Get current program");
- endtest1 (glGetHandleARB (GL_PROGRAM_OBJECT_ARB) == prog);
-
- /*
- * Use 0 program object.
- */
- begintest (TT_GETERROR_NOERROR, "Use 0 program object");
- glUseProgramObjectARB (0);
- endtest ();
-
- /*
- * Query uniform location. Uniforms with gl_ prefix cannot be queried.
- */
- begintest (TT_PARAM1_NONZERO, "Query uniform location");
- endtest1 (glGetUniformLocationARB (prog, "gl_ModelViewMatrix") == -1);
- endtest1 (glGetUniformLocationARB (prog, "UniformThatDoesNotExist") == -1);
- endtest1 (glGetUniformLocationARB (prog, "") == -1);
- endtest1 (glGetUniformLocationARB (prog, "CommonUniform") != -1);
- endtest1 (glGetUniformLocationARB (prog, "VertexUniform") != -1);
- endtest1 (glGetUniformLocationARB (prog, "FragmentUniform") != -1);
-
- /*
- * Query attrib location. Attribs with gl_ prefix cannot be queried.
- * When gl_Vertex is used, none of the generic attribs can have index 0.
- */
- begintest (TT_PARAM1_NONZERO, "Query attrib location");
- endtest1 (glGetAttribLocationARB (prog, "gl_Vertex") == -1);
- endtest1 (glGetAttribLocationARB (prog, "AttribThatDoesNotExist") == -1);
- endtest1 (glGetAttribLocationARB (prog, "") == -1);
- endtest1 (glGetAttribLocationARB (prog, "FirstAttrib") > 0);
- endtest1 (glGetAttribLocationARB (prog, "SecondAttrib") > 0);
-
- /*
- * Bind attrib locations, link and check if locations are correct.
- */
- begintest (TT_PARAM1_NONZERO, "Bind attrib location #1");
- glBindAttribLocationARB (prog, 1, "FirstAttrib");
- glBindAttribLocationARB (prog, 2, "SecondAttrib");
- glLinkProgramARB (prog);
- endtest1 (CheckObjectStatus (prog));
- endtest1 (glGetAttribLocationARB (prog, "FirstAttrib") == 1);
- endtest1 (glGetAttribLocationARB (prog, "SecondAttrib") == 2);
-
- /*
- * Bind attrib locations in different order. Link and check if locations are correct.
- */
- begintest (TT_PARAM1_NONZERO, "Bind attrib location #2");
- glBindAttribLocationARB (prog, 1, "SecondAttrib");
- glBindAttribLocationARB (prog, 2, "FirstAttrib");
- glLinkProgramARB (prog);
- endtest1 (CheckObjectStatus (prog));
- endtest1 (glGetAttribLocationARB (prog, "SecondAttrib") == 1);
- endtest1 (glGetAttribLocationARB (prog, "FirstAttrib") == 2);
-
- /*
- * Detach deleted object.
- */
- begintest (TT_GETERROR_NOERROR, "Detach deleted object");
- glDetachObjectARB (prog, vert);
- endtest ();
- glDetachObjectARB (prog, frag);
- endtest ();
-
- /*
- * Delete deleted detached object.
- */
- begintest (TT_GETERROR_INVALIDVALUE, "Delete deleted detached object");
- glDeleteObjectARB (vert);
- endtest ();
- glDeleteObjectARB (frag);
- endtest ();
-
- exit (0);
-}
-
-void RenderScene (void)
-{
- /* never reached */
- assert (0);
-}
-
-int main (int argc, char *argv[])
-{
- InitFramework (&argc, argv);
- return 0;
-}
-
diff --git a/progs/slang/vstest.c b/progs/slang/vstest.c
deleted file mode 100644
index 33c6f09dc5..0000000000
--- a/progs/slang/vstest.c
+++ /dev/null
@@ -1,346 +0,0 @@
-/*
- * GL_ARB_vertex_shader test application. Feeds a vertex shader with attributes that
- * that have magic values and check if the values received by the shader are the same.
- *
- * Requires specific support on the GL implementation side. A special function printMESA()
- * must be supported in the language that prints variable's current value of generic type
- * to the appropriate shader's info log, and optionally to the screen.
- *
- * Perfectly valid behaviour produces output that does not have a line
- * beginning with three stars (***).
- *
- * Author: Michal Krol
- */
-
-#include "framework.h"
-
-#define EPSILON 0.0001f
-
-static GLhandleARB vert = 0;
-static GLhandleARB prog = 0;
-
-enum SUBMIT_MODE
-{
- SM_IM,
- SM_VA,
- SM_IM_DL,
- SM_VA_DL,
- SM_MAX
-};
-
-static enum SUBMIT_MODE submit_method = SM_IM;
-
-#define C 0
-#define S 1
-#define N 2
-#define V 3
-#define T 4
-#define F 5
-#define A 6
-
-struct ATTRIB_DATA
-{
- const char *name;
- GLuint dispatch;
- GLint index;
- GLint bind;
- GLuint size;
- GLfloat data[4];
-};
-
-static struct ATTRIB_DATA attribs[] = {
- { "gl_Color", C, -1, -1, 4, { 4.2f, 0.56f, -2.1f, 0.29f } },
- { "gl_SecondaryColor", S, -1, -1, 4, { 0.38f, 2.0f, 0.99f, 1.0f } },
- { "gl_Normal", N, -1, -1, 3, { 54.0f, 77.0f, 1.15f, 0.0f } },
- { "gl_MultiTexCoord0", T, 0, -1, 4, { 11.1f, 11.2f, 11.3f, 11.4f } },
- { "gl_MultiTexCoord1", T, 1, -1, 4, { 22.1f, 22.2f, 22.3f, 22.4f } },
- { "gl_MultiTexCoord2", T, 2, -1, 4, { 33.1f, 33.2f, 33.3f, 33.4f } },
- { "gl_MultiTexCoord3", T, 3, -1, 4, { 44.1f, 44.2f, 44.3f, 44.4f } },
- { "gl_MultiTexCoord4", T, 4, -1, 4, { 55.1f, 55.2f, 55.3f, 55.4f } },
- { "gl_MultiTexCoord5", T, 5, -1, 4, { 66.1f, 66.2f, 66.3f, 66.4f } },
- { "gl_MultiTexCoord6", T, 6, -1, 4, { 77.1f, 77.2f, 77.3f, 77.4f } },
- { "gl_MultiTexCoord7", T, 7, -1, 4, { 88.1f, 88.2f, 88.3f, 88.4f } },
- { "gl_FogCoord", F, -1, -1, 1, { 0.63f, 0.0f, 0.0f, 0.0f } },
- { "Attribute1", A, 1, 1, 4, { 1.11f, 1.22f, 1.33f, 1.44f } },
- { "Attribute2", A, 2, 2, 4, { 2.11f, 2.22f, 2.33f, 2.44f } },
- { "Attribute3", A, 3, 3, 4, { 3.11f, 3.22f, 3.33f, 3.44f } },
- { "Attribute4", A, 4, 4, 1, { 4.11f, 0.0f, 0.0f, 0.0f } },
- { "Attribute5", A, 5, 5, 2, { 5.11f, 5.22f, 0.0f, 0.0f } },
- { "Attribute6", A, 6, 6, 3, { 6.11f, 6.22f, 6.33f, 0.0f } },
- { "Attribute7", A, 7, 7, 2, { 7.11f, 7.22f, 0.0f, 0.0f } },
- { "Attribute7", A, 8, -1, 2, { 8.11f, 8.22f, 0.0f, 0.0f } },
- { "Attribute9", A, 9, 9, 3, { 9.11f, 9.22f, 9.33f, 0.0f } },
- { "Attribute9", A, 10, -1, 3, { 10.11f, 10.22f, 10.33f, 0.0f } },
- { "Attribute9", A, 11, -1, 3, { 11.11f, 11.22f, 11.33f, 0.0f } },
- { "Attribute12", A, 12, 12, 4, { 12.11f, 12.22f, 12.33f, 12.44f } },
- { "Attribute12", A, 13, -1, 4, { 13.11f, 13.22f, 13.33f, 13.44f } },
- { "Attribute12", A, 14, -1, 4, { 14.11f, 14.22f, 14.33f, 14.44f } },
- { "Attribute12", A, 15, -1, 4, { 15.11f, 15.22f, 15.33f, 15.44f } },
- { "gl_Vertex", V, 16, -1, 4, { 0.25f, -0.14f, 0.01f, 1.0f } }
-};
-
-static void im_render ()
-{
- GLint i;
-
- glBegin (GL_POINTS);
- for (i = 0; i < sizeof (attribs) / sizeof (*attribs); i++) {
- struct ATTRIB_DATA *att = &attribs[i];
- switch (att->dispatch)
- {
- case C:
- glColor4fv (att->data);
- break;
- case S:
- glSecondaryColor3fvEXT (att->data);
- break;
- case N:
- glNormal3fv (att->data);
- break;
- case V:
- glVertex4fv (att->data);
- break;
- case T:
- assert (att->index >= 0 && att->index < 8);
- glMultiTexCoord4fvARB (GL_TEXTURE0_ARB + att->index, att->data);
- break;
- case F:
- glFogCoordfvEXT (att->data);
- break;
- case A:
- assert (att->index > 0 && att->index < 16);
- glVertexAttrib4fvARB (att->index, att->data);
- break;
- default:
- assert (0);
- }
- }
- glEnd ();
-}
-
-static void va_render ()
-{
- GLint i;
-
- for (i = 0; i < sizeof (attribs) / sizeof (*attribs); i++) {
- struct ATTRIB_DATA *att = &attribs[i];
- switch (att->dispatch)
- {
- case C:
- glColorPointer (4, GL_FLOAT, 0, att->data);
- glEnableClientState (GL_COLOR_ARRAY);
- break;
- case S:
- glSecondaryColorPointerEXT (4, GL_FLOAT, 0, att->data);
- glEnableClientState (GL_SECONDARY_COLOR_ARRAY_EXT);
- break;
- case N:
- glNormalPointer (GL_FLOAT, 0, att->data);
- glEnableClientState (GL_NORMAL_ARRAY);
- break;
- case V:
- glVertexPointer (4, GL_FLOAT, 0, att->data);
- glEnableClientState (GL_VERTEX_ARRAY);
- break;
- case T:
- assert (att->index >= 0 && att->index < 8);
- glClientActiveTextureARB (GL_TEXTURE0_ARB + att->index);
- glTexCoordPointer (4, GL_FLOAT, 0, att->data);
- glEnableClientState (GL_TEXTURE_COORD_ARRAY);
- break;
- case F:
- glFogCoordPointerEXT (GL_FLOAT, 0, att->data);
- glEnableClientState (GL_FOG_COORDINATE_ARRAY_EXT);
- break;
- case A:
- assert (att->index > 0 && att->index < 16);
- glVertexAttribPointerARB (att->index, 4, GL_FLOAT, GL_FALSE, 0, att->data);
- glEnableVertexAttribArrayARB (att->index);
- break;
- default:
- assert (0);
- }
- }
-
- glDrawArrays (GL_POINTS, 0, 1);
-
- for (i = 0; i < sizeof (attribs) / sizeof (*attribs); i++) {
- struct ATTRIB_DATA *att = &attribs[i];
- switch (att->dispatch)
- {
- case C:
- glDisableClientState (GL_COLOR_ARRAY);
- break;
- case S:
- glDisableClientState (GL_SECONDARY_COLOR_ARRAY_EXT);
- break;
- case N:
- glDisableClientState (GL_NORMAL_ARRAY);
- break;
- case V:
- glDisableClientState (GL_VERTEX_ARRAY);
- break;
- case T:
- glClientActiveTextureARB (GL_TEXTURE0_ARB + att->index);
- glDisableClientState (GL_TEXTURE_COORD_ARRAY);
- break;
- case F:
- glDisableClientState (GL_FOG_COORDINATE_ARRAY_EXT);
- break;
- case A:
- glDisableVertexAttribArrayARB (att->index);
- break;
- default:
- assert (0);
- }
- }
-}
-
-static void dl_start ()
-{
- glNewList (GL_COMPILE, 1);
-}
-
-static void dl_end ()
-{
- glEndList ();
- glCallList (1);
-}
-
-static void load_test_file (const char *filename)
-{
- FILE *f;
- GLint size;
- char *code;
- GLint i;
-
- f = fopen (filename, "r");
- if (f == NULL)
- return;
-
- fseek (f, 0, SEEK_END);
- size = ftell (f);
-
- if (size == -1) {
- fclose (f);
- return;
- }
-
- fseek (f, 0, SEEK_SET);
-
- code = (char *) (malloc (size));
- if (code == NULL) {
- fclose (f);
- return;
- }
- size = fread (code, 1, size, f);
- fclose (f);
-
- glShaderSourceARB (vert, 1, (const GLcharARB **) (&code), &size);
- glCompileShaderARB (vert);
- if (!CheckObjectStatus (vert))
- exit (0);
-
- for (i = 0; i < sizeof (attribs) / sizeof (*attribs); i++)
- if (attribs[i].dispatch == A && attribs[i].bind != -1)
- glBindAttribLocationARB (prog, attribs[i].bind, attribs[i].name);
-}
-
-void InitScene (void)
-{
- prog = glCreateProgramObjectARB ();
- vert = glCreateShaderObjectARB (GL_VERTEX_SHADER_ARB);
- glAttachObjectARB (prog, vert);
- glDeleteObjectARB (vert);
- load_test_file ("vstest.txt");
- glLinkProgramARB (prog);
- if (!CheckObjectStatus (prog))
- exit (0);
- glUseProgramObjectARB (prog);
-}
-
-void RenderScene (void)
-{
- GLint info_length, length;
- char output[65000], *p;
- GLint i;
-
- if (submit_method == SM_MAX)
- exit (0);
-
- /*
- * Get the current size of the info log. Any text output produced by executed
- * shader will be appended to the end of log.
- */
- glGetObjectParameterivARB (vert, GL_OBJECT_INFO_LOG_LENGTH_ARB, &info_length);
-
- switch (submit_method)
- {
- case SM_IM:
- printf ("\n--- TESTING IMMEDIATE MODE\n");
- im_render ();
- break;
- case SM_VA:
- printf ("\n--- TESTING VERTEX ARRAY MODE\n");
- va_render ();
- break;
- case SM_IM_DL:
- printf ("\n--- TESTING IMMEDIATE + DISPLAY LIST MODE\n");
- dl_start ();
- im_render ();
- dl_end ();
- break;
- case SM_VA_DL:
- printf ("\n--- TESTING VERTEX ARRAY + DISPLAY LIST MODE\n");
- dl_start ();
- va_render ();
- dl_end ();
- break;
- default:
- assert (0);
- }
-
- glFlush ();
-
- /*
- * Get the info log and set the pointer to the beginning of the output.
- */
- glGetInfoLogARB (vert, sizeof (output), &length, output);
- p = output + info_length - 1;
-
- for (i = 0; i < sizeof (attribs) / sizeof (*attribs); i++) {
- GLuint j;
- for (j = 0; j < attribs[i].size; j++) {
- GLfloat value;
- if (p == NULL) {
- printf ("*** %s\n", "I/O error");
- break;
- }
- if (strncmp (p, "true", 4) == 0)
- value = 1.0f;
- else if (strncmp (p, "false", 5) == 0)
- value = 0.0f;
- else if (sscanf (p, "%f", &value) != 1) {
- printf ("*** %s\n", "I/O error");
- p = NULL;
- break;
- }
- if (fabs (value - attribs[i].data[j]) > EPSILON)
- printf ("*** %s, is %f, should be %f\n", "Values are different", value, attribs[i].data[j]);
- p = strchr (p, '\n');
- if (p != NULL)
- p++;
- }
- if (p == NULL)
- break;
- }
-
- submit_method++;
-}
-
-int main (int argc, char *argv[])
-{
- InitFramework (&argc, argv);
- return 0;
-}
-
diff --git a/progs/slang/vstest.txt b/progs/slang/vstest.txt
deleted file mode 100644
index 7f51d0bc81..0000000000
--- a/progs/slang/vstest.txt
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Vertex shader test.
- * Uses all conventional attributes and 15 generic attributes to print
- * their values, using printMESA() extension function, to the debugger
- * to compare them with the actual passed-in values.
- * Use different types for generic attributes to check matrix handling.
- *
- * Author: Michal Krol
- */
-
-#version 110
-
-#extension MESA_shader_debug: require
-
-attribute vec4 Attribute1;
-attribute vec4 Attribute2;
-attribute vec4 Attribute3;
-attribute float Attribute4;
-attribute vec2 Attribute5;
-attribute vec3 Attribute6;
-attribute mat2 Attribute7;
-attribute mat3 Attribute9;
-attribute mat4 Attribute12;
-
-void main ()
-{
- //
- // Do some legal stuff.
- //
- gl_Position = gl_ModelViewMatrix * gl_Vertex;
- gl_FrontColor = vec4 (1.0);
-
- //
- // Conventional attributes - except for gl_Vertex.
- //
- printMESA (gl_Color);
- printMESA (gl_SecondaryColor);
- printMESA (gl_Normal);
- printMESA (gl_MultiTexCoord0);
- printMESA (gl_MultiTexCoord1);
- printMESA (gl_MultiTexCoord2);
- printMESA (gl_MultiTexCoord3);
- printMESA (gl_MultiTexCoord4);
- printMESA (gl_MultiTexCoord5);
- printMESA (gl_MultiTexCoord6);
- printMESA (gl_MultiTexCoord7);
- printMESA (gl_FogCoord);
-
- //
- // Generic attributes - attrib with index 0 is not used because it would
- // alias with gl_Vertex, which is not allowed.
- //
- printMESA (Attribute1);
- printMESA (Attribute2);
- printMESA (Attribute3);
- printMESA (Attribute4);
- printMESA (Attribute5);
- printMESA (Attribute6);
- printMESA (Attribute7);
- printMESA (Attribute9);
- printMESA (Attribute12);
-
- //
- // Vertex position goes last.
- //
- printMESA (gl_Vertex);
-}
-
diff --git a/progs/slang/windows/vc60/cltest.dsp b/progs/slang/windows/vc60/cltest.dsp
deleted file mode 100644
index b420397317..0000000000
--- a/progs/slang/windows/vc60/cltest.dsp
+++ /dev/null
@@ -1,94 +0,0 @@
-# Microsoft Developer Studio Project File - Name="cltest" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=cltest - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "cltest.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "cltest.mak" CFG="cltest - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "cltest - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "cltest - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "cltest - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "cltest_release"
-# PROP Intermediate_Dir "cltest_release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x415 /d "NDEBUG"
-# ADD RSC /l 0x415 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF "$(CFG)" == "cltest - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "cltest_debug"
-# PROP Intermediate_Dir "cltest_debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x415 /d "_DEBUG"
-# ADD RSC /l 0x415 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF
-
-# Begin Target
-
-# Name "cltest - Win32 Release"
-# Name "cltest - Win32 Debug"
-# Begin Source File
-
-SOURCE=..\..\cltest.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\cltest.txt
-# End Source File
-# End Target
-# End Project
diff --git a/progs/slang/windows/vc60/framework.dsp b/progs/slang/windows/vc60/framework.dsp
deleted file mode 100644
index f8ca5d169d..0000000000
--- a/progs/slang/windows/vc60/framework.dsp
+++ /dev/null
@@ -1,92 +0,0 @@
-# Microsoft Developer Studio Project File - Name="framework" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Static Library" 0x0104
-
-CFG=framework - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "framework.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "framework.mak" CFG="framework - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "framework - Win32 Release" (based on "Win32 (x86) Static Library")
-!MESSAGE "framework - Win32 Debug" (based on "Win32 (x86) Static Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "framework - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "framework_release"
-# PROP Intermediate_Dir "framework_release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD BASE RSC /l 0x415 /d "NDEBUG"
-# ADD RSC /l 0x415 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo
-
-!ELSEIF "$(CFG)" == "framework - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "framework_debug"
-# PROP Intermediate_Dir "framework_debug"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x415 /d "_DEBUG"
-# ADD RSC /l 0x415 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo
-
-!ENDIF
-
-# Begin Target
-
-# Name "framework - Win32 Release"
-# Name "framework - Win32 Debug"
-# Begin Source File
-
-SOURCE=..\..\framework.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\framework.h
-# End Source File
-# End Target
-# End Project
diff --git a/progs/slang/windows/vc60/slang.dsw b/progs/slang/windows/vc60/slang.dsw
deleted file mode 100644
index ec38d1d9d5..0000000000
--- a/progs/slang/windows/vc60/slang.dsw
+++ /dev/null
@@ -1,74 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "cltest"=".\cltest.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name framework
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "framework"=".\framework.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "sotest"=".\sotest.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name framework
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "vstest"=".\vstest.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name framework
- End Project Dependency
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/progs/slang/windows/vc60/sotest.dsp b/progs/slang/windows/vc60/sotest.dsp
deleted file mode 100644
index 3a08ec93aa..0000000000
--- a/progs/slang/windows/vc60/sotest.dsp
+++ /dev/null
@@ -1,90 +0,0 @@
-# Microsoft Developer Studio Project File - Name="sotest" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=sotest - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "sotest.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "sotest.mak" CFG="sotest - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "sotest - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "sotest - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "sotest - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "sotest_release"
-# PROP Intermediate_Dir "sotest_release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x415 /d "NDEBUG"
-# ADD RSC /l 0x415 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF "$(CFG)" == "sotest - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "sotest_debug"
-# PROP Intermediate_Dir "sotest_debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x415 /d "_DEBUG"
-# ADD RSC /l 0x415 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF
-
-# Begin Target
-
-# Name "sotest - Win32 Release"
-# Name "sotest - Win32 Debug"
-# Begin Source File
-
-SOURCE=..\..\sotest.c
-# End Source File
-# End Target
-# End Project
diff --git a/progs/slang/windows/vc60/vstest.dsp b/progs/slang/windows/vc60/vstest.dsp
deleted file mode 100644
index deb9e3d359..0000000000
--- a/progs/slang/windows/vc60/vstest.dsp
+++ /dev/null
@@ -1,93 +0,0 @@
-# Microsoft Developer Studio Project File - Name="vstest" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=vstest - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "vstest.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "vstest.mak" CFG="vstest - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "vstest - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "vstest - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "vstest - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "vstest_release"
-# PROP Intermediate_Dir "vstest_release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x415 /d "NDEBUG"
-# ADD RSC /l 0x415 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF "$(CFG)" == "vstest - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "vstest_debug"
-# PROP Intermediate_Dir "vstest_debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x415 /d "_DEBUG"
-# ADD RSC /l 0x415 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF
-
-# Begin Target
-
-# Name "vstest - Win32 Release"
-# Name "vstest - Win32 Debug"
-# Begin Source File
-
-SOURCE=..\..\vstest.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\vstest.txt
-# End Source File
-# End Target
-# End Project
diff --git a/progs/tests/.gitignore b/progs/tests/.gitignore
deleted file mode 100644
index 3479ff8b33..0000000000
--- a/progs/tests/.gitignore
+++ /dev/null
@@ -1,106 +0,0 @@
-.cvsignore
-afsmultiarb
-antialias
-arbfpspec
-arbfptest1
-arbfptexture
-arbfptrig
-arbgpuprog
-arbnpot
-arbnpot-mipmap
-arbvptest1
-arbvptest3
-arbvptorus
-arbvpwarpmesh
-arraytexture
-blendminmax
-blendsquare
-blendxor
-bufferobj
-bug_3050
-bug_3101
-bug_3195
-bug_texstore_i8
-bumpmap
-calibrate_rast
-copypixrate
-crossbar
-cva
-drawbuffers
-extfuncs.h
-exactrast
-fbotest1
-fbotest2
-fillrate
-floattex
-fog
-fogcoord
-fptest1
-fptexture
-getprocaddress
-getproclist.h
-getteximage
-glutfx
-interleave
-invert
-jkrahntest
-lineclip
-manytex
-mapbufrange
-mapvbo
-minmag
-mipgen
-mipmap_comp
-mipmap_comp_tests
-mipmap_limits
-mipmap_view
-multipal
-no_s3tc
-packedpixels
-persp_hint
-pbo
-prim
-prog_parameter
-quads
-random
-readrate
-readtex.c
-readtex.h
-rubberband
-scissor
-scissor-viewport
-seccolor
-shader_api
-shaderutil.c
-shaderutil.h
-sharedtex
-stencil_twoside
-stencilwrap
-stencil_wrap
-streaming_rect
-subtex
-subtexrate
-tex1d
-texcompress2
-texcompsub
-texdown
-texfilt
-texline
-texobj
-texobjshare
-texrect
-texwrap
-unfilledclip
-vao-01
-vao-02
-vparray
-vptest1
-vptest2
-vptest3
-vptorus
-vpwarpmesh
-yuvrect
-yuvsquare
-zcomp
-zdrawpix
-zreaddraw
diff --git a/progs/tests/Makefile b/progs/tests/Makefile
deleted file mode 100644
index 197e14d5b0..0000000000
--- a/progs/tests/Makefile
+++ /dev/null
@@ -1,257 +0,0 @@
-# progs/tests/Makefile
-
-
-# These programs aren't intended to be included with the normal distro.
-# They're not too interesting but they're good for testing.
-
-TOP = ../..
-include $(TOP)/configs/current
-
-
-LIBS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLEW_LIB) -l$(GLU_LIB) -l$(GL_LIB) $(APP_LIB_DEPS)
-
-SOURCES = \
- afsmultiarb.c \
- antialias.c \
- arbfpspec.c \
- arbfptest1.c \
- arbfptexture.c \
- arbfptrig.c \
- arbgpuprog.c \
- arbnpot.c \
- arbnpot-mipmap.c \
- arbvptest1.c \
- arbvptest3.c \
- arbvptorus.c \
- arbvpwarpmesh.c \
- arraytexture.c \
- auxbuffer.c \
- blendminmax.c \
- blendsquare.c \
- blendxor.c \
- blitfb.c \
- bufferobj.c \
- bumpmap.c \
- bug_3050.c \
- bug_3101.c \
- bug_3195.c \
- bug_texstore_i8.c \
- calibrate_rast.c \
- copypixrate.c \
- crossbar.c \
- cva.c \
- drawbuffers.c \
- exactrast.c \
- ext422square.c \
- floattex.c \
- fbotest1.c \
- fbotest2.c \
- fillrate.c \
- fog.c \
- fogcoord.c \
- fptest1.c \
- fptexture.c \
- getprocaddress.c \
- getteximage.c \
- glutfx.c \
- interleave.c \
- invert.c \
- jkrahntest.c \
- lineclip.c \
- manytex.c \
- mapbufrange.c \
- mapvbo.c \
- minmag.c \
- mipgen.c \
- mipmap_comp.c \
- mipmap_comp_tests.c \
- mipmap_limits.c \
- mipmap_view.c \
- multipal.c \
- multitexarray.c \
- multiwindow.c \
- no_s3tc.c \
- packedpixels.c \
- pbo.c \
- persp_hint.c \
- prim.c \
- prog_parameter.c \
- quads.c \
- random.c \
- readrate.c \
- rubberband.c \
- scissor.c \
- scissor-viewport.c \
- seccolor.c \
- shader_api.c \
- sharedtex.c \
- stencil_twoside.c \
- stencilwrap.c \
- stencil_wrap.c \
- streaming_rect \
- subtex \
- subtexrate.c \
- tex1d.c \
- texcmp.c \
- texcompress2.c \
- texcompsub.c \
- texdown \
- texfilt.c \
- texgenmix.c \
- texline.c \
- texobj.c \
- texobjshare.c \
- texrect.c \
- texwrap.c \
- unfilledclip.c \
- vao-01.c \
- vao-02.c \
- vparray.c \
- vpeval.c \
- vptest1.c \
- vptest2.c \
- vptest3.c \
- vptorus.c \
- vpwarpmesh.c \
- yuvrect.c \
- yuvsquare.c \
- zcomp.c \
- zdrawpix.c \
- zreaddraw.c
-
-PROGS = $(SOURCES:%.c=%)
-
-INCLUDES = -I. -I$(TOP)/include
-
-UTIL_FILES = readtex.h readtex.c
-
-
-##### TARGETS #####
-
-default: $(UTIL_FILES) $(PROGS)
-
-clean:
- -rm -f $(PROGS)
- -rm -f *.o
- -rm -f getproclist.h
-
-##### RULES #####
-
-.SUFFIXES:
-.SUFFIXES: .c
-
-.c:
- $(APP_CC) $(INCLUDES) $(CFLAGS) $(LDFLAGS) $< $(LIBS) -o $@
-
-.c.o:
- $(APP_CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
-
-.S.o:
- $(APP_CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
-
-# auto code generation
-getprocaddress: getprocaddress.c getproclist.h
-
-getproclist.h: $(TOP)/src/mesa/glapi/gl_API.xml getprocaddress.c getprocaddress.py
- python getprocaddress.py > getproclist.h
-
-arraytexture: arraytexture.o readtex.o
- $(APP_CC) $(CFLAGS) arraytexture.o readtex.o $(LIBS) -o $@
-
-arraytexture.o: arraytexture.c readtex.h
- $(APP_CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) arraytexture.c -o $@
-
-afsmultiarb: afsmultiarb.o readtex.o
- $(APP_CC) $(CFLAGS) $(LDFLAGS) afsmultiarb.o readtex.o $(LIBS) -o $@
-
-afsmultiarb.o: afsmultiarb.c readtex.h
- $(APP_CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) afsmultiarb.c -o $@
-
-bumpmap: bumpmap.o readtex.o
- $(CC) $(CFLAGS) $(LDFLAGS) bumpmap.o readtex.o $(LIBS) -o $@
-
-bumpmap.o: bumpmap.c readtex.h
- $(CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) bumpmap.c -o $@
-
-drawbuffers: drawbuffers.o
- $(APP_CC) $(CFLAGS) $(LDFLAGS) drawbuffers.o $(LIBS) -o $@
-
-drawbuffers.o: drawbuffers.c extfuncs.h
- $(APP_CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) drawbuffers.c -o $@
-
-texrect: texrect.o readtex.o
- $(APP_CC) $(CFLAGS) $(LDFLAGS) texrect.o readtex.o $(LIBS) -o $@
-
-texrect.o: texrect.c readtex.h
- $(APP_CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) texrect.c -o $@
-
-bug_3195: bug_3195.o readtex.o
- $(APP_CC) $(CFLAGS) $(LDFLAGS) bug_3195.o readtex.o $(LIBS) -o $@
-
-bug_3195.o: bug_3195.c readtex.h
- $(APP_CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) bug_3195.c -o $@
-
-invert: invert.o readtex.o
- $(APP_CC) $(CFLAGS) $(LDFLAGS) invert.o readtex.o $(LIBS) -o $@
-
-invert.o: invert.c readtex.h
- $(APP_CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) invert.c -o $@
-
-mipmap_view: mipmap_view.o readtex.o
- $(APP_CC) $(CFLAGS) mipmap_view.o readtex.o $(LIBS) -o $@
-
-mipmap_view.o: mipmap_view.c readtex.h
- $(APP_CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
-
-mipmap_limits: mipmap_limits.o readtex.o
- $(APP_CC) $(CFLAGS) mipmap_limits.o readtex.o $(LIBS) -o $@
-
-mipmap_limits.o: mipmap_limits.c readtex.h
- $(APP_CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
-
-fillrate: fillrate.o readtex.o
- $(APP_CC) $(CFLAGS) fillrate.o readtex.o $(LIBS) -o $@
-
-fillrate.o: fillrate.c readtex.h
- $(APP_CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
-
-
-
-
-floattex: floattex.o readtex.o shaderutil.o
- $(APP_CC) $(CFLAGS) $(LDFLAGS) floattex.o readtex.o shaderutil.o $(LIBS) -o $@
-
-floattex.o: floattex.c readtex.h shaderutil.h
- $(APP_CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) floattex.c -o $@
-
-
-readtex.o: readtex.c
- $(APP_CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) readtex.c -o $@
-
-readtex.h: $(TOP)/progs/util/readtex.h
- ln -s $(TOP)/progs/util/readtex.h .
-
-readtex.c: $(TOP)/progs/util/readtex.c
- ln -s $(TOP)/progs/util/readtex.c .
-
-
-
-extfuncs.h: $(TOP)/progs/util/extfuncs.h
- ln -s $(TOP)/progs/util/extfuncs.h .
-
-
-
-shaderutil.c: $(TOP)/progs/util/shaderutil.c
- cp $< .
-
-shaderutil.h: $(TOP)/progs/util/shaderutil.h
- cp $< .
-
-shaderutil.o: shaderutil.c shaderutil.h
- $(APP_CC) -c -I$(INCDIR) $(INCLUDES) $(CFLAGS) shaderutil.c
-
-
-
-# Emacs tags
-tags:
- etags `find . -name \*.[ch]` `find ../include`
diff --git a/progs/tests/Makefile.win b/progs/tests/Makefile.win
deleted file mode 100644
index d42e3cb654..0000000000
--- a/progs/tests/Makefile.win
+++ /dev/null
@@ -1,43 +0,0 @@
-
-# Mesa 3-D graphics library
-# Version: 3.5
-# Copyright (C) 1995-2001 Brian Paul
-
-# Makefile for GLUT-based demo programs for Windows
-
-!include <win32.mak>
-
-##### MACROS #####
-
-TOP = ..
-INCDIR = ..\include
-LIBDIR = ..\lib
-
-SRCS = cva.c \
- dinoshade.c \
- fogcoord.c \
- manytex.c \
- multipal.c \
- projtex.c \
- seccolor.c \
-# sharedtex.c \
- texline.c \
- texwrap.c \
- vptest1.c \
- vptest2.c \
- vptest3.c \
- vptorus.c \
- vpwarpmesh.c
-
-!include "../mesawin32.mak"
-
-##### TARGETS #####
-
-clean::
-
-clobber::
- @del readtex.c readtex.h
-
-$(EXES) :$*.obj
- @echo $@
- $(link) -out:$@ $* /LIBPATH:$(LIBDIR) $(LIBS)
diff --git a/progs/tests/SConscript b/progs/tests/SConscript
deleted file mode 100644
index 3a0da62717..0000000000
--- a/progs/tests/SConscript
+++ /dev/null
@@ -1,144 +0,0 @@
-Import('*')
-
-if not env['GLUT']:
- Return()
-
-env = env.Clone()
-
-env.Prepend(CPPPATH = [
- '../util',
-])
-
-env.Prepend(LIBS = [
- util,
- '$GLUT_LIB'
-])
-
-if env['platform'] == 'windows':
- env.Append(CPPDEFINES = ['NOMINMAX'])
- env.Prepend(LIBS = ['winmm'])
-
-linux_progs = [
- 'api_speed',
-]
-
-glx_progs = [
- 'auxbuffer',
- 'getprocaddress',
- 'jkrahntest',
- 'sharedtex',
- 'texcompress2',
- 'texobjshare',
-]
-
-mesa_progs = [
- 'debugger',
-]
-
-progs = [
- 'afsmultiarb',
- 'antialias',
- 'arbfpspec',
- 'arbfptest1',
- 'arbfptexture',
- 'arbfptrig',
- 'arbnpot',
- 'arbnpot-mipmap',
- 'arbvptest1',
- 'arbvptest3',
- 'arbvptorus',
- 'arbvpwarpmesh',
- 'arraytexture',
- 'blendminmax',
- 'blendsquare',
- 'blendxor',
- 'blitfb',
- 'bufferobj',
- 'bug_3050',
- 'bug_3101',
- 'bug_3195',
- 'bug_texstore_i8',
- 'calibrate_rast',
- 'copypixrate',
- 'crossbar',
- 'cva',
- 'drawbuffers',
- 'exactrast',
- 'ext422square',
- 'fbotest1',
- 'fbotest2',
- 'fillrate',
- 'floattex',
- 'fog',
- 'fogcoord',
- 'fptest1',
- 'fptexture',
- 'getteximage',
- 'glutfx',
- 'interleave',
- 'invert',
- 'lineclip',
- 'manytex',
- 'mapbufrange',
- 'mapvbo',
- 'minmag',
- 'mipgen',
- 'mipmap_comp',
- 'mipmap_comp_tests',
- 'mipmap_limits',
- 'mipmap_view',
- 'multipal',
- 'multitexarray',
- 'multiwindow',
- 'no_s3tc',
- 'packedpixels',
- 'pbo',
- 'persp_hint',
- 'prog_parameter',
- 'quads',
- 'random',
- 'readrate',
- 'rubberband',
- 'scissor',
- 'scissor-viewport',
- 'seccolor',
- 'shader_api',
- 'stencil_twoside',
- 'stencil_wrap',
- 'stencilwrap',
- 'streaming_rect',
- 'subtex',
- 'subtexrate',
- 'tex1d',
- 'texcmp',
- 'texcompress2',
- 'texcompsub',
- 'texdown',
- 'texfilt',
- 'texgenmix',
- 'texline',
- 'texobj',
- 'texrect',
- 'texwrap',
- 'unfilledclip',
- 'vao-01',
- 'vao-02',
- 'vparray',
- 'vpeval',
- 'vptest1',
- 'vptest2',
- 'vptest3',
- 'vptorus',
- 'vpwarpmesh',
- 'yuvrect',
- 'yuvsquare',
- 'zcomp',
- 'zdrawpix',
- 'zreaddraw',
-]
-
-for prog in progs:
- env.Program(
- target = prog,
- source = prog + '.c',
- )
diff --git a/progs/tests/afsmultiarb.c b/progs/tests/afsmultiarb.c
deleted file mode 100644
index ca25a4d75b..0000000000
--- a/progs/tests/afsmultiarb.c
+++ /dev/null
@@ -1,470 +0,0 @@
-/*
- * GL_ATI_fragment_shader test
- * Roland Scheidegger
- *
- * Command line options:
- * -info print GL implementation information
- */
-
-
-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-#include "readtex.h"
-
-#define TEXTURE_1_FILE "../images/girl.rgb"
-#define TEXTURE_2_FILE "../images/reflect.rgb"
-
-#define TEX0 1
-#define TEX7 8
-#define ANIMATE 10
-#define SHADER 20
-#define QUIT 100
-
-static GLboolean Animate = GL_TRUE;
-static GLint NumUnits = 6;
-static GLboolean TexEnabled[8];
-static GLuint boringshaderID = 0;
-static GLuint boring2passID = 0;
-static GLboolean Shader = GL_FALSE;
-
-static GLfloat Drift = 0.0;
-static GLfloat drift_increment = 0.005;
-static GLfloat Xrot = 20.0, Yrot = 30.0, Zrot = 0.0;
-static GLfloat shaderconstant[4] = {0.5, 0.0, 0.0, 0.0};
-
-static void Idle( void )
-{
- if (Animate) {
- GLint i;
-
- Drift += drift_increment;
- if (Drift >= 1.0)
- Drift = 0.0;
-
- for (i = 0; i < NumUnits; i++) {
- glActiveTextureARB(GL_TEXTURE0_ARB + i);
- glMatrixMode(GL_TEXTURE);
- glLoadIdentity();
- if (i == 0) {
- glTranslatef(Drift, 0.0, 0.0);
- glScalef(2, 2, 1);
- }
- else if (i == 1) {
- glTranslatef(0.0, Drift, 0.0);
- }
- else {
- glTranslatef(0.5, 0.5, 0.0);
- glRotatef(180.0 * Drift, 0, 0, 1);
- glScalef(1.0/i, 1.0/i, 1.0/i);
- glTranslatef(-0.5, -0.5, 0.0);
- }
- }
- glMatrixMode(GL_MODELVIEW);
-
- glutPostRedisplay();
- }
-}
-
-
-static void DrawObject(void)
-{
- GLint i;
- GLint j;
- static const GLfloat tex_coords[] = { 0.0, 0.0, 1.0, 1.0, 0.0 };
- static const GLfloat vtx_coords[] = { -1.0, -1.0, 1.0, 1.0, -1.0 };
-
- if (!TexEnabled[0] && !TexEnabled[1])
- glColor3f(0.1, 0.1, 0.1); /* add onto this */
- else
- glColor3f(1, 1, 1); /* modulate this */
-
- glBegin(GL_QUADS);
-
- /* Toggle between the vector and scalar entry points. This is done purely
- * to hit multiple paths in the driver.
- */
- if ( Drift > 0.49 ) {
- for (j = 0; j < 4; j++ ) {
- for (i = 0; i < NumUnits; i++)
- glMultiTexCoord2fARB(GL_TEXTURE0_ARB + i,
- tex_coords[j], tex_coords[j+1]);
- glVertex2f( vtx_coords[j], vtx_coords[j+1] );
- }
- }
- else {
- for (j = 0; j < 4; j++ ) {
- for (i = 0; i < NumUnits; i++)
- glMultiTexCoord2fvARB(GL_TEXTURE0_ARB + i, & tex_coords[j]);
- glVertex2fv( & vtx_coords[j] );
- }
- }
-
- glEnd();
-}
-
-
-
-static void Display( void )
-{
- static GLint T0 = 0;
- static GLint Frames = 0;
- GLint t;
-
- glClear( GL_COLOR_BUFFER_BIT );
-
- glPushMatrix();
- glRotatef(Xrot, 1.0, 0.0, 0.0);
- glRotatef(Yrot, 0.0, 1.0, 0.0);
- glRotatef(Zrot, 0.0, 0.0, 1.0);
- glScalef(5.0, 5.0, 5.0);
- DrawObject();
- glPopMatrix();
-
- glutSwapBuffers();
-
- Frames++;
-
- t = glutGet(GLUT_ELAPSED_TIME);
- if (t - T0 >= 2500) {
- GLfloat seconds = (t - T0) / 1000.0;
- GLfloat fps = Frames / seconds;
- drift_increment = 2.2 * seconds / Frames;
- printf("%d frames in %6.3f seconds = %6.3f FPS\n", Frames, seconds, fps);
- T0 = t;
- Frames = 0;
- }
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -1.0, 1.0, -1.0, 1.0, 10.0, 100.0 );
- /*glOrtho( -6.0, 6.0, -6.0, 6.0, 10.0, 100.0 );*/
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -70.0 );
-}
-
-
-static void ModeMenu(int entry)
-{
- if (entry >= TEX0 && entry <= TEX7) {
- /* toggle */
- GLint i = entry - TEX0;
- TexEnabled[i] = !TexEnabled[i];
- glActiveTextureARB(GL_TEXTURE0_ARB + i);
- if (TexEnabled[i])
- glEnable(GL_TEXTURE_2D);
- else
- glDisable(GL_TEXTURE_2D);
- printf("Enabled: ");
- for (i = 0; i < NumUnits; i++)
- printf("%d ", (int) TexEnabled[i]);
- printf("\n");
- }
- else if (entry==ANIMATE) {
- Animate = !Animate;
- }
- else if (entry==SHADER) {
- Shader = !Shader;
- if (Shader) {
- fprintf(stderr, "using 2-pass shader\n");
- glBindFragmentShaderATI(boring2passID);
- }
- else {
- fprintf(stderr, "using 1-pass shader\n");
- glBindFragmentShaderATI(boringshaderID);
- }
- }
- else if (entry==QUIT) {
- exit(0);
- }
-
- glutPostRedisplay();
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void SpecialKey( int key, int x, int y )
-{
- float step = 3.0;
- (void) x;
- (void) y;
-
- switch (key) {
- case GLUT_KEY_UP:
- Xrot += step;
- break;
- case GLUT_KEY_DOWN:
- Xrot -= step;
- break;
- case GLUT_KEY_LEFT:
- Yrot += step;
- break;
- case GLUT_KEY_RIGHT:
- Yrot -= step;
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void Init( int argc, char *argv[] )
-{
- GLuint texObj[8];
- GLint size, i;
-
- const char *exten = (const char *) glGetString(GL_EXTENSIONS);
- if (!strstr(exten, "GL_ATI_fragment_shader")) {
- printf("Sorry, GL_ATI_fragment_shader not supported by this renderer.\n");
- exit(1);
- }
-
-
- glGetIntegerv(GL_MAX_TEXTURE_SIZE, &size);
- printf("%d x %d max texture size\n", size, size);
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
-
- for (i = 0; i < NumUnits; i++) {
- if (i < 6)
- TexEnabled[i] = GL_TRUE;
- else
- TexEnabled[i] = GL_FALSE;
- }
-
- /* allocate two texture objects */
- glGenTextures(NumUnits, texObj);
-
- /* setup the texture objects */
- for (i = 0; i < NumUnits; i++) {
-
- glActiveTextureARB(GL_TEXTURE0_ARB + i);
- glBindTexture(GL_TEXTURE_2D, texObj[i]);
-
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
-
- if (i == 0) {
- if (!LoadRGBMipmaps(TEXTURE_1_FILE, GL_RGB)) {
- printf("Error: couldn't load texture image\n");
- exit(1);
- }
- }
- else if (i == 1) {
- if (!LoadRGBMipmaps(TEXTURE_2_FILE, GL_RGB)) {
- printf("Error: couldn't load texture image\n");
- exit(1);
- }
- }
- else {
- /* checker */
- GLubyte image[8][8][3];
- GLint i, j;
- for (i = 0; i < 8; i++) {
- for (j = 0; j < 8; j++) {
- if ((i + j) & 1) {
- image[i][j][0] = 50;
- image[i][j][1] = 50;
- image[i][j][2] = 50;
- }
- else {
- image[i][j][0] = 25;
- image[i][j][1] = 25;
- image[i][j][2] = 25;
- }
- }
- }
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 8, 8, 0,
- GL_RGB, GL_UNSIGNED_BYTE, (GLvoid *) image);
- }
-
- /* Bind texObj[i] to ith texture unit */
-/* if (i < 2)
- glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
- else
- glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_ADD);*/
-
- if (TexEnabled[i])
- glEnable(GL_TEXTURE_2D);
- }
-
- boringshaderID = glGenFragmentShadersATI(1);
- boring2passID = glGenFragmentShadersATI(1);
- if (boring2passID == 0)
- {
- fprintf(stderr, "couldn't get frag shader id\n");
- exit(1);
- }
- glBindFragmentShaderATI(boringshaderID);
-/* maybe not the most creative shader but at least I know how it should look like! */
- glBeginFragmentShaderATI();
- glSampleMapATI(GL_REG_0_ATI, GL_TEXTURE0_ARB, GL_SWIZZLE_STR_ATI);
- glSampleMapATI(GL_REG_1_ATI, GL_TEXTURE1_ARB, GL_SWIZZLE_STR_ATI);
- glSampleMapATI(GL_REG_2_ATI, GL_TEXTURE2_ARB, GL_SWIZZLE_STR_ATI);
- glSampleMapATI(GL_REG_3_ATI, GL_TEXTURE3_ARB, GL_SWIZZLE_STR_ATI);
- glSampleMapATI(GL_REG_4_ATI, GL_TEXTURE4_ARB, GL_SWIZZLE_STR_ATI);
- glSampleMapATI(GL_REG_5_ATI, GL_TEXTURE5_ARB, GL_SWIZZLE_STR_ATI);
- glColorFragmentOp2ATI(GL_MUL_ATI,
- GL_REG_0_ATI, GL_NONE, GL_SATURATE_BIT_ATI,
- GL_REG_0_ATI, GL_NONE, GL_NONE,
- GL_PRIMARY_COLOR, GL_NONE, GL_NONE);
- glAlphaFragmentOp1ATI(GL_MOV_ATI,
- GL_REG_0_ATI, GL_NONE,
- GL_PRIMARY_COLOR, GL_NONE, GL_NONE);
- glColorFragmentOp3ATI(GL_MAD_ATI,
- GL_REG_0_ATI, GL_NONE, GL_SATURATE_BIT_ATI,
- GL_REG_0_ATI, GL_NONE, GL_NONE,
- GL_REG_1_ATI, GL_NONE, GL_NONE,
- GL_REG_2_ATI, GL_NONE, GL_NONE);
- glColorFragmentOp2ATI(GL_ADD_ATI,
- GL_REG_0_ATI, GL_NONE, GL_SATURATE_BIT_ATI,
- GL_REG_0_ATI, GL_NONE, GL_NONE,
- GL_REG_3_ATI, GL_NONE, GL_NONE);
- glColorFragmentOp2ATI(GL_ADD_ATI,
- GL_REG_0_ATI, GL_NONE, GL_SATURATE_BIT_ATI,
- GL_REG_0_ATI, GL_NONE, GL_NONE,
- GL_REG_4_ATI, GL_NONE, GL_NONE);
- glColorFragmentOp2ATI(GL_ADD_ATI,
- GL_REG_0_ATI, GL_NONE, GL_SATURATE_BIT_ATI,
- GL_REG_0_ATI, GL_NONE, GL_NONE,
- GL_REG_5_ATI, GL_NONE, GL_NONE);
- glEndFragmentShaderATI();
-
-/* mathematically equivalent to first shader but using 2 passes together with
- some tex coord rerouting */
- glBindFragmentShaderATI(boring2passID);
- glBeginFragmentShaderATI();
- glPassTexCoordATI(GL_REG_1_ATI, GL_TEXTURE0_ARB, GL_SWIZZLE_STR_ATI);
- glSampleMapATI(GL_REG_2_ATI, GL_TEXTURE2_ARB, GL_SWIZZLE_STR_ATI);
- glSampleMapATI(GL_REG_3_ATI, GL_TEXTURE3_ARB, GL_SWIZZLE_STR_ATI);
- glSampleMapATI(GL_REG_4_ATI, GL_TEXTURE4_ARB, GL_SWIZZLE_STR_ATI);
- glSampleMapATI(GL_REG_5_ATI, GL_TEXTURE5_ARB, GL_SWIZZLE_STR_ATI);
- glColorFragmentOp2ATI(GL_ADD_ATI,
- GL_REG_0_ATI, GL_NONE, GL_SATURATE_BIT_ATI,
- GL_REG_2_ATI, GL_NONE, GL_NONE,
- GL_REG_3_ATI, GL_NONE, GL_NONE);
- glColorFragmentOp2ATI(GL_ADD_ATI,
- GL_REG_0_ATI, GL_NONE, GL_SATURATE_BIT_ATI,
- GL_REG_0_ATI, GL_NONE, GL_NONE,
- GL_REG_4_ATI, GL_NONE, GL_NONE);
- glColorFragmentOp2ATI(GL_ADD_ATI,
- GL_REG_0_ATI, GL_NONE, GL_SATURATE_BIT_ATI,
- GL_REG_0_ATI, GL_NONE, GL_NONE,
- GL_REG_5_ATI, GL_NONE, GL_NONE);
- /* not really a dependant read */
- glSampleMapATI(GL_REG_0_ATI, GL_REG_1_ATI, GL_SWIZZLE_STR_ATI);
- glSampleMapATI(GL_REG_1_ATI, GL_TEXTURE1_ARB, GL_SWIZZLE_STR_ATI);
- glPassTexCoordATI(GL_REG_5_ATI, GL_REG_0_ATI, GL_SWIZZLE_STR_ATI);
- glColorFragmentOp2ATI(GL_MUL_ATI,
- GL_REG_0_ATI, GL_NONE, GL_SATURATE_BIT_ATI,
- GL_REG_0_ATI, GL_NONE, GL_NONE,
- GL_PRIMARY_COLOR, GL_NONE, GL_NONE);
- glAlphaFragmentOp1ATI(GL_MOV_ATI,
- GL_REG_0_ATI, GL_NONE,
- GL_PRIMARY_COLOR, GL_NONE, GL_NONE);
- glColorFragmentOp3ATI(GL_MAD_ATI,
- GL_REG_0_ATI, GL_NONE, GL_SATURATE_BIT_ATI,
- GL_REG_0_ATI, GL_NONE, GL_NONE,
- GL_REG_1_ATI, GL_NONE, GL_NONE,
- GL_REG_5_ATI, GL_NONE, GL_NONE);
- /* in principle we're finished here, but to test a bit more
- we do some fun with dot ops, replication et al. */
- glSetFragmentShaderConstantATI(GL_CON_3_ATI, shaderconstant);
- glColorFragmentOp2ATI(GL_DOT4_ATI,
- GL_REG_3_ATI, GL_GREEN_BIT_ATI, GL_EIGHTH_BIT_ATI,
- GL_ZERO, GL_NONE, GL_COMP_BIT_ATI | GL_NEGATE_BIT_ATI,
- GL_CON_3_ATI, GL_RED, GL_2X_BIT_ATI);
- /* those args must get ignored, except dstReg */
- glAlphaFragmentOp2ATI(GL_DOT4_ATI,
- GL_REG_4_ATI, GL_NONE,
- GL_ZERO, GL_NONE, GL_NONE,
- GL_ZERO, GL_NONE, GL_NONE);
- /* -> reg3 g = reg4 alpha = -0.5 */
- glAlphaFragmentOp2ATI(GL_ADD_ATI,
- GL_REG_5_ATI, GL_NONE,
- GL_REG_3_ATI, GL_GREEN, GL_NONE,
- GL_REG_4_ATI, GL_NONE, GL_NONE);
- /* -> reg5 a = -1 */
- glColorFragmentOp3ATI(GL_DOT2_ADD_ATI,
- GL_REG_4_ATI, GL_BLUE_BIT_ATI, GL_HALF_BIT_ATI,
- GL_REG_5_ATI, GL_ALPHA, GL_NEGATE_BIT_ATI,
- GL_ONE, GL_NONE, GL_BIAS_BIT_ATI,
- GL_ONE, GL_ALPHA, GL_2X_BIT_ATI | GL_NEGATE_BIT_ATI);
- /* -> reg 4 b = -0.5 */
- glColorFragmentOp2ATI(GL_MUL_ATI,
- GL_REG_0_ATI, GL_NONE, GL_NONE,
- GL_REG_4_ATI, GL_BLUE, GL_NEGATE_BIT_ATI | GL_2X_BIT_ATI,
- GL_REG_0_ATI, GL_NONE, GL_NONE);
- glEndFragmentShaderATI();
-
- glBindFragmentShaderATI(boringshaderID);
- glEnable(GL_FRAGMENT_SHADER_ATI);
-
- glShadeModel(GL_FLAT);
- glClearColor(0.3, 0.3, 0.4, 1.0);
-
- if (argc > 1 && strcmp(argv[1], "-info")==0) {
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- printf("GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- printf("GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- printf("GL_EXTENSIONS = %s\n", (char *) glGetString(GL_EXTENSIONS));
- }
- printf("output should be identical with both shaders to multiarb demo when 6 textures are enabled\n");
-}
-
-
-int main( int argc, char *argv[] )
-{
-/* GLint i;*/
-
- glutInit( &argc, argv );
- glutInitWindowSize( 300, 300 );
- glutInitWindowPosition( 0, 0 );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE );
- glutCreateWindow(argv[0] );
- glewInit();
-
- Init( argc, argv );
-
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutSpecialFunc( SpecialKey );
- glutDisplayFunc( Display );
- glutIdleFunc( Idle );
-
- glutCreateMenu(ModeMenu);
-
-/* for (i = 0; i < NumUnits; i++) {
- char s[100];
- sprintf(s, "Toggle Texture %d", i);
- glutAddMenuEntry(s, TEX0 + i);
- }*/
- glutAddMenuEntry("Toggle 1/2 Pass Shader", SHADER);
- glutAddMenuEntry("Toggle Animation", ANIMATE);
- glutAddMenuEntry("Quit", QUIT);
- glutAttachMenu(GLUT_RIGHT_BUTTON);
-
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/antialias.c b/progs/tests/antialias.c
deleted file mode 100644
index 656bf2471f..0000000000
--- a/progs/tests/antialias.c
+++ /dev/null
@@ -1,238 +0,0 @@
-
-/*
- * Test multisampling and polygon smoothing.
- *
- * Brian Paul
- * 4 November 2002
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-
-static GLfloat Zrot = 0;
-static GLboolean Anim = GL_TRUE;
-static GLboolean HaveMultisample = GL_TRUE;
-static GLboolean DoMultisample = GL_TRUE;
-
-
-static void
-PrintString(const char *s)
-{
- while (*s) {
- glutBitmapCharacter(GLUT_BITMAP_8_BY_13, (int) *s);
- s++;
- }
-}
-
-
-static void
-doPolygon( GLint verts, GLfloat radius, GLfloat z )
-{
- int i;
- for (i = 0; i < verts; i++) {
- float a = (i * 2.0 * 3.14159) / verts;
- float x = radius * cos(a);
- float y = radius * sin(a);
- glVertex3f(x, y, z);
- }
-}
-
-
-static void
-DrawObject( void )
-{
- glLineWidth(3.0);
- glColor3f(1, 1, 1);
- glBegin(GL_LINE_LOOP);
- doPolygon(12, 1.2, 0);
- glEnd();
-
- glLineWidth(1.0);
- glColor3f(1, 1, 1);
- glBegin(GL_LINE_LOOP);
- doPolygon(12, 1.1, 0);
- glEnd();
-
- glColor3f(1, 0, 0);
- glBegin(GL_POLYGON);
- doPolygon(12, 0.4, 0.3);
- glEnd();
-
- glColor3f(0, 1, 0);
- glBegin(GL_POLYGON);
- doPolygon(12, 0.6, 0.2);
- glEnd();
-
- glColor3f(0, 0, 1);
- glBegin(GL_POLYGON);
- doPolygon(12, 0.8, 0.1);
- glEnd();
-
- glColor3f(1, 1, 1);
- glBegin(GL_POLYGON);
- doPolygon(12, 1.0, 0);
- glEnd();
-}
-
-
-static void
-Display( void )
-{
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
-
- glColor3f(1, 1, 1);
- if (HaveMultisample) {
- glRasterPos2f(-3.1, -1.6);
- if (DoMultisample)
- PrintString("MULTISAMPLE");
- else
- PrintString("MULTISAMPLE (off)");
- }
- glRasterPos2f(-0.8, -1.6);
- PrintString("No antialiasing");
- glRasterPos2f(1.6, -1.6);
- PrintString("GL_POLYGON_SMOOTH");
-
- /* multisample */
- if (HaveMultisample) {
- glEnable(GL_DEPTH_TEST);
- if (DoMultisample)
- glEnable(GL_MULTISAMPLE_ARB);
- glPushMatrix();
- glTranslatef(-2.5, 0, 0);
- glPushMatrix();
- glRotatef(Zrot, 0, 0, 1);
- DrawObject();
- glPopMatrix();
- glPopMatrix();
- glDisable(GL_MULTISAMPLE_ARB);
- glDisable(GL_DEPTH_TEST);
- }
-
- /* non-aa */
- glEnable(GL_DEPTH_TEST);
- glPushMatrix();
- glTranslatef(0, 0, 0);
- glPushMatrix();
- glRotatef(Zrot, 0, 0, 1);
- DrawObject();
- glPopMatrix();
- glPopMatrix();
- glDisable(GL_DEPTH_TEST);
-
- /* polygon smooth */
- glEnable(GL_POLYGON_SMOOTH);
- glEnable(GL_LINE_SMOOTH);
- glEnable(GL_BLEND);
- glPushMatrix();
- glTranslatef(2.5, 0, 0);
- glPushMatrix();
- glRotatef(Zrot, 0, 0, 1);
- DrawObject();
- glPopMatrix();
- glPopMatrix();
- glDisable(GL_LINE_SMOOTH);
- glDisable(GL_POLYGON_SMOOTH);
- glDisable(GL_BLEND);
-
- glutSwapBuffers();
-}
-
-
-static void
-Reshape( int width, int height )
-{
- GLfloat ar = (float) width / (float) height;
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glOrtho(-2.0*ar, 2.0*ar, -2.0, 2.0, -1.0, 1.0);
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
-}
-
-
-static void
-Idle( void )
-{
- Zrot = 0.01 * glutGet(GLUT_ELAPSED_TIME);
- glutPostRedisplay();
-}
-
-
-static void
-Key( unsigned char key, int x, int y )
-{
- const GLfloat step = 1.0;
- (void) x;
- (void) y;
- switch (key) {
- case 'a':
- Anim = !Anim;
- if (Anim)
- glutIdleFunc(Idle);
- else
- glutIdleFunc(NULL);
- break;
- case 'm':
- DoMultisample = !DoMultisample;
- break;
- case 'z':
- Zrot = (int) (Zrot - step);
- break;
- case 'Z':
- Zrot = (int) (Zrot + step);
- break;
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void
-Init( void )
-{
- /* GLUT imposes the four samples/pixel requirement */
- int s;
- glGetIntegerv(GL_SAMPLES_ARB, &s);
- if (!glutExtensionSupported("GL_ARB_multisample") || s < 1) {
- printf("Warning: multisample antialiasing not supported.\n");
- HaveMultisample = GL_FALSE;
- }
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- printf("GL_SAMPLES_ARB = %d\n", s);
-
- glBlendFunc(GL_SRC_ALPHA, GL_ONE);
- glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- glBlendFunc(GL_SRC_ALPHA_SATURATE, GL_ONE);
-
- glGetIntegerv(GL_MULTISAMPLE_ARB, &s);
- printf("GL_MULTISAMPLE_ARB = %d\n", s);
-}
-
-
-int
-main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 600, 300 );
- glutInitDisplayMode( GLUT_RGB | GLUT_ALPHA | GLUT_DOUBLE |
- GLUT_DEPTH | GLUT_MULTISAMPLE );
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- if (Anim)
- glutIdleFunc( Idle );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/api_speed.c b/progs/tests/api_speed.c
deleted file mode 100644
index 28e28e61d8..0000000000
--- a/progs/tests/api_speed.c
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * (C) Copyright IBM Corporation 2002
- * 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
- * on the rights to use, copy, modify, merge, publish, distribute, sub
- * license, 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 (including the next
- * paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
- * VA LINUX SYSTEM, IBM AND/OR THEIR SUPPLIERS 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.
- */
-
-/**
- * \file api_speed.c
- * Simple test to measure the overhead of making GL calls.
- *
- * The main purpose of this test is to measure the difference in calling
- * overhead of different dispatch methods. Since it uses asm/timex.h to
- * access the Pentium's cycle counters, it will probably only compile on
- * Linux (though most architectures have a get_cycles function in timex.h).
- * That is why it isn't in the default Makefile.
- *
- * \author Ian Romanick <idr@us.ibm.com>
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-#define inline __inline__
-#include <asm/timex.h>
-
-static float Width = 400;
-static float Height = 400;
-static unsigned count = 1000000;
-
-
-static void Idle( void )
-{
- glutPostRedisplay();
-}
-
-#define DO_FUNC(f,p) \
- do { \
- t0 = get_cycles(); \
- for ( i = 0 ; i < count ; i++ ) { \
- f p ; \
- } \
- t1 = get_cycles(); \
- printf("%u calls to % 20s required %llu cycles.\n", count, # f, t1 - t0); \
- } while( 0 )
-
-/**
- * Main display function. This is the place to add more API calls.
- */
-static void Display( void )
-{
- int i;
- const float v[3] = { 1.0, 0.0, 0.0 };
- cycles_t t0;
- cycles_t t1;
-
- glBegin(GL_TRIANGLE_STRIP);
-
- DO_FUNC( glColor3fv, (v) );
- DO_FUNC( glNormal3fv, (v) );
- DO_FUNC( glTexCoord2fv, (v) );
- DO_FUNC( glTexCoord3fv, (v) );
- DO_FUNC( glMultiTexCoord2fv, (GL_TEXTURE0, v) );
- DO_FUNC( glMultiTexCoord2f, (GL_TEXTURE0, 0.0, 0.0) );
- DO_FUNC( glFogCoordfvEXT, (v) );
- DO_FUNC( glFogCoordfEXT, (0.5) );
-
- glEnd();
-
- exit(0);
-}
-
-
-static void Reshape( int width, int height )
-{
- Width = width;
- Height = height;
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glOrtho(0.0, width, 0.0, height, -1.0, 1.0);
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowSize( (int) Width, (int) Height );
- glutInitWindowPosition( 0, 0 );
-
- glutInitDisplayMode( GLUT_RGB );
-
- glutCreateWindow( argv[0] );
- glewInit();
-
- if ( argc > 1 ) {
- count = strtoul( argv[1], NULL, 0 );
- if ( count == 0 ) {
- fprintf( stderr, "Usage: %s [iterations]\n", argv[0] );
- exit(1);
- }
- }
-
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- glutIdleFunc( Idle );
-
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/api_speed.py b/progs/tests/api_speed.py
deleted file mode 100755
index 0ddaf5836c..0000000000
--- a/progs/tests/api_speed.py
+++ /dev/null
@@ -1,143 +0,0 @@
-#!/usr/bin/env python2
-
-# (C) Copyright IBM Corporation 2004
-# 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
-# on the rights to use, copy, modify, merge, publish, distribute, sub
-# license, 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 (including the next
-# paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
-# IBM AND/OR ITS SUPPLIERS 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.
-#
-# Authors:
-# Ian Romanick <idr@us.ibm.com>
-
-
-# This script is used to run api_speed against several different libGL
-# libraries and compare the results. See the show_usage function for more
-# details on how to use it.
-
-
-import re, os, sys, getopt
-
-class results:
- def process_file(self, f):
- self.cycles = {}
- self.iterations = -1
-
- for line in f.readlines():
- m = re.match("(\d+) calls to (.{20}) required (\d+) cycles.", line)
-
- if self.iterations != -1 and int(m.group(1)) != self.iterations:
- raise
-
- # This could be done with lstrip, but the version of
- # the Python library on my system doesn't have it.
- # The installed version of Python is quite old. :(
-
- temp = m.group(2)
- function_name = None
- for i in range(len(temp)):
- if temp[i] != ' ':
- function_name = temp[i:]
- break
-
- if function_name == None:
- raise
-
- self.cycles[ function_name ] = int(m.group(3))
- self.iterations = int(m.group(1))
-
-
- def show_results(self):
- for name in self.cycles:
- print "%s -> %f" % (name, float(self.cycles[name]) / self.iterations)
-
-
- def compare_results(self, other):
- for name in self.cycles:
- if other.cycles.has_key(name):
- a = float(self.cycles[name]) / float(self.iterations)
- b = float(other.cycles[name]) / float(other.iterations)
- if abs( a ) < 0.000001:
- print "a = %f, b = %f" % (a, b)
- else:
- p = (100.0 * b / a) - 100.0
- print "%- 20s %7.2f - %7.2f = % -6.2f (%+.1f%%)" % (name, a, b, a - b, p)
- return
-
-
-def make_execution_string(lib, iterations):
- if lib == None:
- return "./api_speed %u" % (iterations)
- else:
- return "LD_PRELOAD=%s ./api_speed %u" % (lib, iterations)
-
-
-def show_usage():
- print """Usage: %s [-i iterations] {library ...}
-
-The full path to one or more libGL libraries (including the full name of the
-library) can be included on the command-line. Each library will be tested,
-and the results compared. The first library listed will be used as the
-"base line" for all comparisons.""" % (sys.argv[0])
- sys.exit(1)
-
-
-if __name__ == '__main__':
- try:
- (args, trail) = getopt.getopt(sys.argv[1:], "i:")
- except Exception,e:
- show_usage()
-
- iterations = 1000000
- try:
- for (arg,val) in args:
- if arg == "-i":
- iterations = int(val)
- except Exception,e:
- show_usage()
-
-
- # If no libraries were specifically named, just run the test against
- # the default system libGL.
-
- if len(trail) == 0:
- trail.append(None)
-
-
- result_array = []
- names = []
-
- for lib in trail:
- s = make_execution_string( lib, iterations )
- r = results()
- r.process_file( os.popen(s) )
- names.append(lib)
- result_array.append(r)
-
-
- # If the test was only run against one library, just show the results
- # of the test run. Otherwise, compare each successive run against
- # the first run.
-
- if len( result_array ) == 1:
- result_array[0].show_results()
- else:
- for i in range(1, len( result_array )):
- print "%s vs. %s" % (names[0], names[i])
- result_array[0].compare_results( result_array[i] )
- print ""
diff --git a/progs/tests/arbfpspec.c b/progs/tests/arbfpspec.c
deleted file mode 100644
index 550e954340..0000000000
--- a/progs/tests/arbfpspec.c
+++ /dev/null
@@ -1,193 +0,0 @@
-/*
- * To demo that specular color gets lost someplace after vertex
- * program completion and fragment program startup
- */
-
-#include <assert.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-static float Xrot = 0.0, Yrot = 0.0, Zrot = 0.0;
-static GLboolean Anim = GL_TRUE;
-
-
-static void Idle( void )
-{
- Xrot += .3;
- Yrot += .4;
- Zrot += .2;
- glutPostRedisplay();
-}
-
-
-static void Display( void )
-{
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
-
- glPushMatrix();
- glRotatef(Xrot, 1, 0, 0);
- glRotatef(Yrot, 0, 1, 0);
- glRotatef(Zrot, 0, 0, 1);
- glutSolidTorus(0.75, 2.0, 10, 20);
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -2.0, 2.0, -2.0, 2.0, 5.0, 25.0 );
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -12.0 );
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case ' ':
- Xrot = Yrot = Zrot = 0;
- break;
- case 'a':
- Anim = !Anim;
- if (Anim)
- glutIdleFunc(Idle);
- else
- glutIdleFunc(NULL);
- break;
- case 'z':
- Zrot -= 5.0;
- break;
- case 'Z':
- Zrot += 5.0;
- break;
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void SpecialKey( int key, int x, int y )
-{
- const GLfloat step = 3.0;
- (void) x;
- (void) y;
- switch (key) {
- case GLUT_KEY_UP:
- Xrot -= step;
- break;
- case GLUT_KEY_DOWN:
- Xrot += step;
- break;
- case GLUT_KEY_LEFT:
- Yrot -= step;
- break;
- case GLUT_KEY_RIGHT:
- Yrot += step;
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void Init( void )
-{
- GLint errno;
- GLuint prognum, fprognum;
-
- static const char prog[] =
- "!!ARBvp1.0\n"
- "DP4 result.position.x, state.matrix.mvp.row[0], vertex.position ;\n"
- "DP4 result.position.y, state.matrix.mvp.row[1], vertex.position ;\n"
- "DP4 result.position.z, state.matrix.mvp.row[2], vertex.position ;\n"
- "DP4 result.position.w, state.matrix.mvp.row[3], vertex.position ;\n"
- "MOV result.color.front.primary, {.5, .5, .5, 1};\n"
- "MOV result.color.front.secondary, {1, 1, 1, 1};\n"
- "END";
-
- static const char fprog[] =
- "!!ARBfp1.0\n"
- "MOV result.color, fragment.color.secondary;\n"
- "END";
-
- if (!glutExtensionSupported("GL_ARB_vertex_program")) {
- printf("Sorry, this program requires GL_ARB_vertex_program");
- exit(1);
- }
-
- if (!glutExtensionSupported("GL_ARB_fragment_program")) {
- printf("Sorry, this program requires GL_ARB_fragment_program");
- exit(1);
- }
-
- glGenProgramsARB(1, &prognum);
- glGenProgramsARB(1, &fprognum);
-
- glBindProgramARB(GL_VERTEX_PROGRAM_ARB, prognum);
- glProgramStringARB(GL_VERTEX_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
- strlen(prog), (const GLubyte *) prog);
-
- assert(glIsProgramARB(prognum));
- errno = glGetError();
- printf("glGetError = %d\n", errno);
- if (errno != GL_NO_ERROR)
- {
- GLint errorpos;
-
- glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &errorpos);
- printf("errorpos: %d\n", errorpos);
- printf("%s\n", (char *)glGetString(GL_PROGRAM_ERROR_STRING_ARB));
- }
-
- glBindProgramARB(GL_FRAGMENT_PROGRAM_ARB, fprognum);
- glProgramStringARB(GL_FRAGMENT_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
- strlen(fprog), (const GLubyte *) fprog);
- errno = glGetError();
- printf("glGetError = %d\n", errno);
- if (errno != GL_NO_ERROR)
- {
- GLint errorpos;
-
- glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &errorpos);
- printf("errorpos: %d\n", errorpos);
- printf("%s\n", (char *)glGetString(GL_PROGRAM_ERROR_STRING_ARB));
- }
-
- glEnable(GL_VERTEX_PROGRAM_ARB);
- glEnable(GL_FRAGMENT_PROGRAM_ARB);
- glEnable(GL_DEPTH_TEST);
- glClearColor(0.3, 0.3, 0.3, 1);
-}
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 250, 250 );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH );
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutSpecialFunc( SpecialKey );
- glutDisplayFunc( Display );
- if (Anim)
- glutIdleFunc(Idle);
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/arbfptest1.c b/progs/tests/arbfptest1.c
deleted file mode 100644
index e7237b76a8..0000000000
--- a/progs/tests/arbfptest1.c
+++ /dev/null
@@ -1,211 +0,0 @@
-/* Test GL_ARB_fragment_program */
-
-#include <assert.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-
-
-static void Display( void )
-{
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
-
- glPushMatrix();
-
- glColor4f(0, 0.5, 0, 1);
- glColor4f(0, 1, 0, 1);
- glBegin(GL_POLYGON);
- glVertex2f(-1, -1);
- glVertex2f( 1, -1);
- glVertex2f( 0, 1);
- glEnd();
-
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -1.0, 1.0, -1.0, 1.0, 5.0, 25.0 );
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -15.0 );
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-static void load_program(const char *prog, GLuint prognum)
-{
- int a;
- GLint errorpos, errno;
-
- glBindProgramARB(GL_FRAGMENT_PROGRAM_ARB, prognum);
- glProgramStringARB(GL_FRAGMENT_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
- strlen(prog), (const GLubyte *) prog);
-
- assert(glIsProgramARB(prognum));
- errno = glGetError();
- printf("glGetError = %d\n", errno);
- if (errno != GL_NO_ERROR)
- {
- glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &errorpos);
- printf("errorpos: %d\n", errorpos);
- printf("%s\n", (char *)glGetString(GL_PROGRAM_ERROR_STRING_ARB));
-
- for (a=-10; a<10; a++)
- {
- if ((errorpos+a < 0) || (errorpos+a >= strlen(prog))) continue;
- printf("%c", prog[errorpos+a]);
- }
- printf("\n");
- exit(1);
- }
-}
-
-static void Init( void )
-{
- static const char *prog0 =
- "!!ARBfp1.0\n"
- "TEMP R0, RC, HC, H0, H1, H2, H3, H30 ;\n"
- "MUL result.color, R0, fragment.position; \n"
- "ADD result.color, H3, fragment.texcoord; \n"
- "ADD_SAT result.color, H3, fragment.texcoord; \n"
- "MUL result.color.xy, R0.wzyx, fragment.position; \n"
- "MUL result.color, H0, fragment.position; \n"
- "MUL result.color, -H0, fragment.position; \n"
- "MOV RC, H1; \n"
- "MOV HC, H2; \n"
- "END \n"
- ;
- /* masked updates, defines, declarations */
- static const char *prog1 =
- "!!ARBfp1.0\n"
- "PARAM foo = {1., 2., 3., 4.}; \n"
- "PARAM foo2 = 5.; \n"
- "PARAM foo3 = {5., 6., 7., 8.}; \n"
- "PARAM bar = 3.; \n"
- "TEMP R0, R1, RC, EQ, NE, bar2; \n"
- "ALIAS bar3 = bar; \n"
- "MOV result.color.xy, R0; \n"
- "MOV result.color, R0; \n"
- "MOV result.color.xyzw, R0; \n"
- "MOV result.color.xy, R0; \n"
- "MOV RC.x, R1.x; \n"
- "KIL NE; \n"
- "KIL EQ.xyxy; \n"
- "END \n"
- ;
-
- /* texture instructions */
- static const char *prog2 =
- "!!ARBfp1.0\n"
- "TEMP R0, R1, R2, R3;\n"
- "TEX R0, fragment.texcoord, texture[0], 2D; \n"
- "TEX R1, fragment.texcoord[1], texture[1], CUBE; \n"
- "TEX R2, fragment.texcoord[2], texture[2], 3D; \n"
- "TXP R3, fragment.texcoord[3], texture[3], RECT; \n"
- "MUL result.color, R0, fragment.color; \n"
- "END \n"
- ;
-
- /* test negation, absolute value */
- static const char *prog3 =
- "!!ARBfp1.0\n"
- "TEMP R0, R1;\n"
- "MOV R0, R1; \n"
- "MOV R0, -R1; \n"
- "MOV result.color, R0; \n"
- "END \n"
- ;
-
- /* literal constant sources */
- static const char *prog4 =
- "!!ARBfp1.0\n"
- "TEMP R0, R1;\n"
- "PARAM Pi = 3.14159; \n"
- "MOV R0, {1., -2., +3., 4.}; \n"
- "MOV R0, 5.; \n"
- "MOV R0, -5.; \n"
- "MOV R0, 5.; \n"
- "MOV R0, Pi; \n"
- "MOV result.color, R0; \n"
- "END \n"
- ;
-
- /* change the fragment color in a simple way */
- static const char *prog10 =
- "!!ARBfp1.0\n"
- "PARAM blue = {0., 0., 1., 0.};\n"
- "PARAM color = {1., 0., 0., 1.};\n"
- "TEMP R0; \n"
- "MOV R0, fragment.color; \n"
- "#ADD result.color, R0, fragment.color; \n"
- "#ADD result.color, blue, fragment.color; \n"
- "#ADD result.color, {1., 0., 0., 0.}, fragment.color; \n"
- "ADD result.color, color, fragment.color; \n"
- "END \n"
- ;
-
- GLuint progs[20];
-
- glGenProgramsARB(20, progs);
- assert(progs[0]);
- assert(progs[1]);
- assert(progs[0] != progs[1]);
-
-
- printf("program 0:\n");
- load_program(prog0, progs[0]);
- printf("program 1:\n");
- load_program(prog1, progs[1]);
- printf("program 2:\n");
- load_program(prog2, progs[2]);
- printf("program 3:\n");
- load_program(prog3, progs[3]);
- printf("program 4:\n");
- load_program(prog4, progs[4]);
- printf("program 10:\n");
- load_program(prog10, progs[5]);
-
-
- glEnable(GL_FRAGMENT_PROGRAM_ARB);
- glEnable(GL_ALPHA_TEST);
- glAlphaFunc(GL_ALWAYS, 0.0);
-}
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 250, 250 );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH );
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/arbfptexture.c b/progs/tests/arbfptexture.c
deleted file mode 100644
index f66b060cbb..0000000000
--- a/progs/tests/arbfptexture.c
+++ /dev/null
@@ -1,154 +0,0 @@
-/* GL_ARB_fragment_program texture test */
-
-#include <assert.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-#include "readtex.c"
-
-
-#define TEXTURE_FILE "../images/girl.rgb"
-
-static GLfloat Xrot = 0.0, Yrot = 0.0, Zrot = 0.0;
-
-
-static void Display( void )
-{
- glClear( GL_COLOR_BUFFER_BIT );
-
- glPushMatrix();
- glRotatef(Xrot, 1.0, 0.0, 0.0);
- glRotatef(Yrot, 0.0, 1.0, 0.0);
- glRotatef(Zrot, 0.0, 0.0, 1.0);
-
- glBegin(GL_POLYGON);
-#define Q 2
- glColor4f(1.0, 1.0, 1.0, 1); glTexCoord4f(0, 0, 0, Q); glVertex2f(-1, -1);
- glColor4f(0.2, 0.2, 1.0, 1); glTexCoord4f(1, 0, 0, Q); glVertex2f( 1, -1);
- glColor4f(0.2, 1.0, 0.2, 1); glTexCoord4f(1, 1, 0, Q); glVertex2f( 1, 1);
- glColor4f(1.0, 0.2, 0.2, 1); glTexCoord4f(0, 1, 0, Q); glVertex2f(-1, 1);
- glEnd();
-
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -1.0, 1.0, -1.0, 1.0, 5.0, 25.0 );
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -8.0 );
-}
-
-
-static void SpecialKey( int key, int x, int y )
-{
- float step = 3.0;
- (void) x;
- (void) y;
-
- switch (key) {
- case GLUT_KEY_UP:
- Xrot += step;
- break;
- case GLUT_KEY_DOWN:
- Xrot -= step;
- break;
- case GLUT_KEY_LEFT:
- Yrot += step;
- break;
- case GLUT_KEY_RIGHT:
- Yrot -= step;
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void Init( void )
-{
- static const char *modulate2D =
- "!!ARBfp1.0\n"
- "TEMP R0;\n"
- "TEX R0, fragment.texcoord[0], texture[0], 2D; \n"
- "MUL result.color, R0, fragment.color; \n"
- "END"
- ;
- GLuint modulateProg;
- GLuint Texture;
-
- if (!glutExtensionSupported("GL_ARB_fragment_program")) {
- printf("Error: GL_ARB_fragment_program not supported!\n");
- exit(1);
- }
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
-
- /* Setup the fragment program */
- glGenProgramsARB(1, &modulateProg);
- glBindProgramARB(GL_FRAGMENT_PROGRAM_ARB, modulateProg);
- glProgramStringARB(GL_FRAGMENT_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
- strlen(modulate2D), (const GLubyte *)modulate2D);
-
- printf("glGetError = 0x%x\n", (int) glGetError());
- printf("glError(GL_PROGRAM_ERROR_STRING_ARB) = %s\n",
- (char *) glGetString(GL_PROGRAM_ERROR_STRING_ARB));
- assert(glIsProgramARB(modulateProg));
-
- glEnable(GL_FRAGMENT_PROGRAM_ARB);
-
- /* Load texture */
- glGenTextures(1, &Texture);
- glBindTexture(GL_TEXTURE_2D, Texture);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- if (!LoadRGBMipmaps(TEXTURE_FILE, GL_RGB)) {
- printf("Error: couldn't load texture image file %s\n", TEXTURE_FILE);
- exit(1);
- }
- /* XXX this enable shouldn't really be needed!!! */
- glEnable(GL_TEXTURE_2D);
-
- glClearColor(.3, .3, .3, 0);
-}
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 250, 250 );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH );
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutSpecialFunc( SpecialKey );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/arbfptrig.c b/progs/tests/arbfptrig.c
deleted file mode 100644
index 95f008a078..0000000000
--- a/progs/tests/arbfptrig.c
+++ /dev/null
@@ -1,157 +0,0 @@
-/* GL_ARB_fragment_program texture test */
-
-#include <assert.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-#include "readtex.c"
-
-
-#define TEXTURE_FILE "../images/girl.rgb"
-
-static GLfloat Xrot = 0.0, Yrot = 0.0, Zrot = 0.0;
-
-#define PI 3.141592
-
-static void Display( void )
-{
- glClear( GL_COLOR_BUFFER_BIT );
-
- glPushMatrix();
- glRotatef(Xrot, 1.0, 0.0, 0.0);
- glRotatef(Yrot, 0.0, 1.0, 0.0);
- glRotatef(Zrot, 0.0, 0.0, 1.0);
-
- glBegin(GL_POLYGON);
- glTexCoord2f(-PI, 0); glVertex2f(-1, -1);
- glTexCoord2f(PI, 0); glVertex2f( 1, -1);
- glTexCoord2f(PI, 1); glVertex2f( 1, 1);
- glTexCoord2f(-PI, 1); glVertex2f(-1, 1);
- glEnd();
-
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -1.0, 1.0, -1.0, 1.0, 5.0, 25.0 );
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -8.0 );
-}
-
-
-static void SpecialKey( int key, int x, int y )
-{
- float step = 3.0;
- (void) x;
- (void) y;
-
- switch (key) {
- case GLUT_KEY_UP:
- Xrot += step;
- break;
- case GLUT_KEY_DOWN:
- Xrot -= step;
- break;
- case GLUT_KEY_LEFT:
- Yrot += step;
- break;
- case GLUT_KEY_RIGHT:
- Yrot -= step;
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void Init( void )
-{
- static const char *modulate2D =
- "!!ARBfp1.0\n"
- "TEMP R0;\n"
- "MOV R0, {0,0,0,1};\n"
- "SCS R0, fragment.texcoord[0].x; \n"
- "ADD R0, R0, {1.0}.x;\n"
- "MUL R0, R0, {0.5}.x;\n"
- "MOV result.color, R0; \n"
- "END"
- ;
- GLuint modulateProg;
- GLuint Texture;
-
- if (!glutExtensionSupported("GL_ARB_fragment_program")) {
- printf("Error: GL_ARB_fragment_program not supported!\n");
- exit(1);
- }
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
-
- /* Setup the fragment program */
- glGenProgramsARB(1, &modulateProg);
- glBindProgramARB(GL_FRAGMENT_PROGRAM_ARB, modulateProg);
- glProgramStringARB(GL_FRAGMENT_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
- strlen(modulate2D), (const GLubyte *)modulate2D);
-
- printf("glGetError = 0x%x\n", (int) glGetError());
- printf("glError(GL_PROGRAM_ERROR_STRING_ARB) = %s\n",
- (char *) glGetString(GL_PROGRAM_ERROR_STRING_ARB));
- assert(glIsProgramARB(modulateProg));
-
- glEnable(GL_FRAGMENT_PROGRAM_ARB);
-
- /* Load texture */
- glGenTextures(1, &Texture);
- glBindTexture(GL_TEXTURE_2D, Texture);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- if (!LoadRGBMipmaps(TEXTURE_FILE, GL_RGB)) {
- printf("Error: couldn't load texture image file %s\n", TEXTURE_FILE);
- exit(1);
- }
- /* XXX this enable shouldn't really be needed!!! */
- glEnable(GL_TEXTURE_2D);
-
- glClearColor(.3, .3, .3, 0);
-}
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 250, 250 );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH );
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutSpecialFunc( SpecialKey );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/arbgpuprog.c b/progs/tests/arbgpuprog.c
deleted file mode 100644
index 6098dca787..0000000000
--- a/progs/tests/arbgpuprog.c
+++ /dev/null
@@ -1,234 +0,0 @@
-/**
- * Just compile ARB vert/frag program from named file(s).
- */
-
-#include <assert.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glut.h>
-
-
-static GLuint FragProg;
-static GLuint VertProg;
-static GLint Win;
-
-static PFNGLPROGRAMLOCALPARAMETER4FVARBPROC glProgramLocalParameter4fvARB_func;
-static PFNGLPROGRAMLOCALPARAMETER4DARBPROC glProgramLocalParameter4dARB_func;
-static PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC glGetProgramLocalParameterdvARB_func;
-static PFNGLGENPROGRAMSARBPROC glGenProgramsARB_func;
-static PFNGLPROGRAMSTRINGARBPROC glProgramStringARB_func;
-static PFNGLBINDPROGRAMARBPROC glBindProgramARB_func;
-static PFNGLISPROGRAMARBPROC glIsProgramARB_func;
-static PFNGLDELETEPROGRAMSARBPROC glDeleteProgramsARB_func;
-
-
-static void Redisplay( void )
-{
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
- glutSwapBuffers();
- exit(0);
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -1.0, 1.0, -1.0, 1.0, 5.0, 25.0 );
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -15.0 );
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- glDeleteProgramsARB_func(1, &VertProg);
- glDeleteProgramsARB_func(1, &FragProg);
- glutDestroyWindow(Win);
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-/* A helper for finding errors in program strings */
-static int FindLine( const char *program, int position )
-{
- int i, line = 1;
- for (i = 0; i < position; i++) {
- if (program[i] == '\n')
- line++;
- }
- return line;
-}
-
-
-static void Init( const char *vertProgFile,
- const char *fragProgFile )
-{
- GLint errorPos;
- char buf[10*1000];
-
- if (!glutExtensionSupported("GL_ARB_vertex_program")) {
- printf("Sorry, this demo requires GL_ARB_vertex_program\n");
- exit(1);
- }
- if (!glutExtensionSupported("GL_ARB_fragment_program")) {
- printf("Sorry, this demo requires GL_ARB_fragment_program\n");
- exit(1);
- }
-
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
-
- /*
- * Get extension function pointers.
- */
- glProgramLocalParameter4fvARB_func = (PFNGLPROGRAMLOCALPARAMETER4FVARBPROC) glutGetProcAddress("glProgramLocalParameter4fvARB");
- assert(glProgramLocalParameter4fvARB_func);
-
- glProgramLocalParameter4dARB_func = (PFNGLPROGRAMLOCALPARAMETER4DARBPROC) glutGetProcAddress("glProgramLocalParameter4dARB");
- assert(glProgramLocalParameter4dARB_func);
-
- glGetProgramLocalParameterdvARB_func = (PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC) glutGetProcAddress("glGetProgramLocalParameterdvARB");
- assert(glGetProgramLocalParameterdvARB_func);
-
- glGenProgramsARB_func = (PFNGLGENPROGRAMSARBPROC) glutGetProcAddress("glGenProgramsARB");
- assert(glGenProgramsARB_func);
-
- glProgramStringARB_func = (PFNGLPROGRAMSTRINGARBPROC) glutGetProcAddress("glProgramStringARB");
- assert(glProgramStringARB_func);
-
- glBindProgramARB_func = (PFNGLBINDPROGRAMARBPROC) glutGetProcAddress("glBindProgramARB");
- assert(glBindProgramARB_func);
-
- glIsProgramARB_func = (PFNGLISPROGRAMARBPROC) glutGetProcAddress("glIsProgramARB");
- assert(glIsProgramARB_func);
-
- glDeleteProgramsARB_func = (PFNGLDELETEPROGRAMSARBPROC) glutGetProcAddress("glDeleteProgramsARB");
- assert(glDeleteProgramsARB_func);
-
- /*
- * Vertex program
- */
- if (vertProgFile) {
- FILE *f;
- int len;
-
- glGenProgramsARB_func(1, &VertProg);
- assert(VertProg > 0);
- glBindProgramARB_func(GL_VERTEX_PROGRAM_ARB, VertProg);
-
- f = fopen(vertProgFile, "r");
- if (!f) {
- printf("Unable to open %s\n", fragProgFile);
- exit(1);
- }
-
- len = fread(buf, 1, 10*1000,f);
- fclose(f);
-
- glProgramStringARB_func(GL_VERTEX_PROGRAM_ARB,
- GL_PROGRAM_FORMAT_ASCII_ARB,
- len,
- (const GLubyte *) buf);
-
- glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &errorPos);
- if (glGetError() != GL_NO_ERROR || errorPos != -1) {
- int l = FindLine(buf, errorPos);
- printf("Vertex Program Error (pos=%d line=%d): %s\n", errorPos, l,
- (char *) glGetString(GL_PROGRAM_ERROR_STRING_ARB));
- exit(0);
- }
- else {
- glEnable(GL_VERTEX_PROGRAM_ARB);
- printf("Vertex Program OK\n");
- }
- }
-
- /*
- * Fragment program
- */
- if (fragProgFile) {
- FILE *f;
- int len;
-
- glGenProgramsARB_func(1, &FragProg);
- assert(FragProg > 0);
- glBindProgramARB_func(GL_FRAGMENT_PROGRAM_ARB, FragProg);
-
- f = fopen(fragProgFile, "r");
- if (!f) {
- printf("Unable to open %s\n", fragProgFile);
- exit(1);
- }
-
- len = fread(buf, 1, 10*1000,f);
- fclose(f);
-
- glProgramStringARB_func(GL_FRAGMENT_PROGRAM_ARB,
- GL_PROGRAM_FORMAT_ASCII_ARB,
- len,
- (const GLubyte *) buf);
-
- glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &errorPos);
- if (glGetError() != GL_NO_ERROR || errorPos != -1) {
- int l = FindLine(buf, errorPos);
- printf("Fragment Program Error (pos=%d line=%d): %s\n", errorPos, l,
- (char *) glGetString(GL_PROGRAM_ERROR_STRING_ARB));
- exit(0);
- }
- else {
- glEnable(GL_FRAGMENT_PROGRAM_ARB);
- printf("Fragment Program OK\n");
- }
- }
-}
-
-
-int main( int argc, char *argv[] )
-{
- const char *vertProgFile = NULL, *fragProgFile = NULL;
- int i;
-
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 200, 200 );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH );
- Win = glutCreateWindow(argv[0]);
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Redisplay );
-
- if (argc == 1) {
- printf("arbgpuprog:\n");
- printf(" Compile GL_ARB_vertex/fragment_programs, report any errors.\n");
- printf("Usage:\n");
- printf(" arbgpuprog [--vp vertprogfile] [--fp fragprogfile]\n");
- exit(1);
- }
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "--vp") == 0) {
- vertProgFile = argv[i+1];
- i++;
- }
- else if (strcmp(argv[i], "--fp") == 0) {
- fragProgFile = argv[i+1];
- i++;
- }
- }
-
- Init(vertProgFile, fragProgFile);
-
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/arbnpot-mipmap.c b/progs/tests/arbnpot-mipmap.c
deleted file mode 100644
index 700ec0b09d..0000000000
--- a/progs/tests/arbnpot-mipmap.c
+++ /dev/null
@@ -1,186 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994. */
-
-/*
- * (c) Copyright 1993, Silicon Graphics, Inc.
- * ALL RIGHTS RESERVED
- * Permission to use, copy, modify, and distribute this software for
- * any purpose and without fee is hereby granted, provided that the above
- * copyright notice appear in all copies and that both the copyright notice
- * and this permission notice appear in supporting documentation, and that
- * the name of Silicon Graphics, Inc. not be used in advertising
- * or publicity pertaining to distribution of the software without specific,
- * written prior permission.
- *
- * THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
- * AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
- * INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
- * FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
- * GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
- * SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
- * KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
- * LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
- * THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN
- * ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
- * POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * US Government Users Restricted Rights
- * Use, duplication, or disclosure by the Government is subject to
- * restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
- * (c)(1)(ii) of the Rights in Technical Data and Computer Software
- * clause at DFARS 252.227-7013 and/or in similar or successor
- * clauses in the FAR or the DOD or NASA FAR Supplement.
- * Unpublished-- rights reserved under the copyright laws of the
- * United States. Contractor/manufacturer is Silicon Graphics,
- * Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311.
- *
- * OpenGL(TM) is a trademark of Silicon Graphics, Inc.
- */
-/* mipmap.c
- * This program demonstrates using mipmaps for texture maps.
- * To overtly show the effect of mipmaps, each mipmap reduction
- * level has a solidly colored, contrasting texture image.
- * Thus, the quadrilateral which is drawn is drawn with several
- * different colors.
- */
-#include <stdlib.h>
-#include <stdio.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-GLubyte mipmapImage32[40][46][3];
-GLubyte mipmapImage16[20][23][3];
-GLubyte mipmapImage8[10][11][3];
-GLubyte mipmapImage4[5][5][3];
-GLubyte mipmapImage2[2][2][3];
-GLubyte mipmapImage1[1][1][3];
-
-static void makeImages(void)
-{
- int i, j;
-
- for (i = 0; i < 40; i++) {
- for (j = 0; j < 46; j++) {
- mipmapImage32[i][j][0] = 255;
- mipmapImage32[i][j][1] = 255;
- mipmapImage32[i][j][2] = 0;
- }
- }
- for (i = 0; i < 20; i++) {
- for (j = 0; j < 23; j++) {
- mipmapImage16[i][j][0] = 255;
- mipmapImage16[i][j][1] = 0;
- mipmapImage16[i][j][2] = 255;
- }
- }
- for (i = 0; i < 10; i++) {
- for (j = 0; j < 11; j++) {
- mipmapImage8[i][j][0] = 255;
- mipmapImage8[i][j][1] = 0;
- mipmapImage8[i][j][2] = 0;
- }
- }
- for (i = 0; i < 5; i++) {
- for (j = 0; j < 5; j++) {
- mipmapImage4[i][j][0] = 0;
- mipmapImage4[i][j][1] = 255;
- mipmapImage4[i][j][2] = 0;
- }
- }
- for (i = 0; i < 2; i++) {
- for (j = 0; j < 2; j++) {
- mipmapImage2[i][j][0] = 0;
- mipmapImage2[i][j][1] = 0;
- mipmapImage2[i][j][2] = 255;
- }
- }
- mipmapImage1[0][0][0] = 255;
- mipmapImage1[0][0][1] = 255;
- mipmapImage1[0][0][2] = 255;
-}
-
-static void myinit(void)
-{
- if (!glutExtensionSupported("GL_ARB_texture_non_power_of_two")) {
- printf("Sorry, this program requires GL_ARB_texture_non_power_of_two\n");
- exit(1);
- }
-
- glEnable(GL_DEPTH_TEST);
- glDepthFunc(GL_LESS);
- glShadeModel(GL_FLAT);
-
- glTranslatef(0.0, 0.0, -3.6);
- makeImages();
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- glTexImage2D(GL_TEXTURE_2D, 0, 3, 40, 46, 0,
- GL_RGB, GL_UNSIGNED_BYTE, &mipmapImage32[0][0][0]);
- glTexImage2D(GL_TEXTURE_2D, 1, 3, 20, 23, 0,
- GL_RGB, GL_UNSIGNED_BYTE, &mipmapImage16[0][0][0]);
- glTexImage2D(GL_TEXTURE_2D, 2, 3, 10, 11, 0,
- GL_RGB, GL_UNSIGNED_BYTE, &mipmapImage8[0][0][0]);
- glTexImage2D(GL_TEXTURE_2D, 3, 3, 5, 5, 0,
- GL_RGB, GL_UNSIGNED_BYTE, &mipmapImage4[0][0][0]);
- glTexImage2D(GL_TEXTURE_2D, 4, 3, 2, 2, 0,
- GL_RGB, GL_UNSIGNED_BYTE, &mipmapImage2[0][0][0]);
- glTexImage2D(GL_TEXTURE_2D, 5, 3, 1, 1, 0,
- GL_RGB, GL_UNSIGNED_BYTE, &mipmapImage1[0][0][0]);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,
- GL_NEAREST_MIPMAP_NEAREST);
- glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL);
- glEnable(GL_TEXTURE_2D);
-}
-
-static void display(void)
-{
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
- glBegin(GL_QUADS);
- glTexCoord2f(0.0, 0.0); glVertex3f(-2.0, -1.0, 0.0);
- glTexCoord2f(0.0, 8.0); glVertex3f(-2.0, 1.0, 0.0);
- glTexCoord2f(8.0, 8.0); glVertex3f(2000.0, 1.0, -6000.0);
- glTexCoord2f(8.0, 0.0); glVertex3f(2000.0, -1.0, -6000.0);
- glEnd();
- glFlush();
-}
-
-static void myReshape(int w, int h)
-{
- glViewport(0, 0, w, h);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- gluPerspective(60.0, 1.0*(GLfloat)w/(GLfloat)h, 1.0, 30000.0);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
-}
-
-static void
-key(unsigned char k, int x, int y)
-{
- switch (k) {
- case 27: /* Escape */
- exit(0);
- break;
- default:
- return;
- }
- glutPostRedisplay();
-}
-
-int main(int argc, char** argv)
-{
- glutInit(&argc, argv);
- glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH);
- glutInitWindowSize (500, 500);
- glutCreateWindow (argv[0]);
- glewInit();
- myinit();
- glutReshapeFunc (myReshape);
- glutDisplayFunc(display);
- glutKeyboardFunc(key);
- glutMainLoop();
- return 0; /* ANSI C requires main to return int. */
-}
diff --git a/progs/tests/arbnpot.c b/progs/tests/arbnpot.c
deleted file mode 100644
index c51a541641..0000000000
--- a/progs/tests/arbnpot.c
+++ /dev/null
@@ -1,199 +0,0 @@
-/*
- * Test NPOT textures with the GL_ARB_texture_non_power_of_two extension.
- * Brian Paul
- * 2 July 2003
- */
-
-#include <assert.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-#include "../util/readtex.c"
-
-#define IMAGE_FILE "../images/girl.rgb"
-
-static GLfloat Zrot = 0;
-
-static void Display( void )
-{
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
-
- glPushMatrix();
- glRotatef(Zrot, 0, 0, 1);
- glBegin(GL_POLYGON);
- glTexCoord2f(0, 0);
- glVertex2f(-1, -1);
- glTexCoord2f(1, 0);
- glVertex2f(1, -1);
- glTexCoord2f(1, 1);
- glVertex2f(1, 1);
- glTexCoord2f(0, 1);
- glVertex2f(-1, 1);
- glEnd();
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -1.0, 1.0, -1.0, 1.0, 5.0, 25.0 );
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -7.0 );
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 'z':
- Zrot -= 1.0;
- break;
- case 'Z':
- Zrot += 1.0;
- break;
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void Init( void )
-{
- GLubyte *image;
- int imgWidth, imgHeight, minDim, w;
- GLenum imgFormat;
-
- if (!glutExtensionSupported("GL_ARB_texture_non_power_of_two")) {
- printf("Sorry, this program requires GL_ARB_texture_non_power_of_two\n");
- exit(1);
- }
-
-#if 1
- image = LoadRGBImage( IMAGE_FILE, &imgWidth, &imgHeight, &imgFormat );
- if (!image) {
- printf("Couldn't read %s\n", IMAGE_FILE);
- exit(0);
- }
-#else
- int i, j;
- imgFormat = GL_RGB;
- imgWidth = 3;
- imgHeight = 3;
- image = malloc(imgWidth * imgHeight * 3);
- for (i = 0; i < imgHeight; i++) {
- for (j = 0; j < imgWidth; j++) {
- int k = (i * imgWidth + j) * 3;
- if ((i + j) & 1) {
- image[k+0] = 255;
- image[k+1] = 0;
- image[k+2] = 0;
- }
- else {
- image[k+0] = 0;
- image[k+1] = 255;
- image[k+2] = 0;
- }
- }
- }
-#endif
-
- printf("Read %d x %d\n", imgWidth, imgHeight);
-
- minDim = imgWidth < imgHeight ? imgWidth : imgHeight;
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
-
- /*
- * 1D Texture. Test proxy first, if that works, test non-proxy target.
- */
- glTexImage1D(GL_PROXY_TEXTURE_1D, 0, GL_RGB, imgWidth, 0,
- imgFormat, GL_UNSIGNED_BYTE, image);
- glGetTexLevelParameteriv(GL_PROXY_TEXTURE_1D, 0, GL_TEXTURE_WIDTH, &w);
- assert(w == imgWidth || w == 0);
-
- if (w) {
- glTexImage1D(GL_TEXTURE_1D, 0, GL_RGB, imgWidth, 0,
- imgFormat, GL_UNSIGNED_BYTE, image);
- assert(glGetError() == GL_NO_ERROR);
- }
-
-
- /*
- * 2D Texture
- */
- glTexImage2D(GL_PROXY_TEXTURE_2D, 0, GL_RGB, imgWidth, imgHeight, 0,
- imgFormat, GL_UNSIGNED_BYTE, image);
- glGetTexLevelParameteriv(GL_PROXY_TEXTURE_2D, 0, GL_TEXTURE_WIDTH, &w);
- assert(w == imgWidth || w == 0);
-
- if (w) {
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, imgWidth, imgHeight, 0,
- imgFormat, GL_UNSIGNED_BYTE, image);
- assert(glGetError() == GL_NO_ERROR);
- }
-
-
- /*
- * 3D Texture
- */
- glTexImage3D(GL_PROXY_TEXTURE_3D, 0, GL_RGB, imgWidth, imgHeight, 1, 0,
- imgFormat, GL_UNSIGNED_BYTE, image);
- glGetTexLevelParameteriv(GL_PROXY_TEXTURE_3D, 0, GL_TEXTURE_WIDTH, &w);
- assert(w == imgWidth || w == 0);
-
- if (w) {
- glTexImage3D(GL_TEXTURE_3D, 0, GL_RGB, imgWidth, imgHeight, 1, 0,
- imgFormat, GL_UNSIGNED_BYTE, image);
- assert(glGetError() == GL_NO_ERROR);
- }
-
-
- /*
- * Cube Texture
- */
- glTexImage2D(GL_PROXY_TEXTURE_CUBE_MAP, 0, GL_RGB,
- minDim, minDim, 0,
- imgFormat, GL_UNSIGNED_BYTE, image);
- glGetTexLevelParameteriv(GL_PROXY_TEXTURE_CUBE_MAP, 0, GL_TEXTURE_WIDTH, &w);
- assert(w == minDim || w == 0);
-
- if (w) {
- glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X, 0, GL_RGB,
- minDim, minDim, 0,
- imgFormat, GL_UNSIGNED_BYTE, image);
- assert(glGetError() == GL_NO_ERROR);
- }
-
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- glEnable(GL_TEXTURE_2D);
-}
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 400, 400 );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH );
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/arbvptest1.c b/progs/tests/arbvptest1.c
deleted file mode 100644
index 3a6d71a42b..0000000000
--- a/progs/tests/arbvptest1.c
+++ /dev/null
@@ -1,165 +0,0 @@
-/* Test glGenProgramsARB(), glIsProgramARB(), glLoadProgramARB() */
-
-#include <assert.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-static void Display( void )
-{
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
-
- glPushMatrix();
-
- glBegin(GL_POLYGON);
- glVertexAttrib2fARB(0, -1, -1);
- glVertexAttrib2fARB(0, 1, -1);
- glVertexAttrib2fARB(0, 0, 1);
- glEnd();
-
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -1.0, 1.0, -1.0, 1.0, 5.0, 25.0 );
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -15.0 );
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-static void load_program(const char *prog, GLuint prognum)
-{
- int a;
- GLint errorpos, errno;
-
- glBindProgramARB(GL_VERTEX_PROGRAM_ARB, prognum);
- glProgramStringARB(GL_VERTEX_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
- strlen(prog), (const GLubyte *) prog);
-
- assert(glIsProgramARB(prognum));
- errno = glGetError();
- printf("glGetError = %d\n", errno);
- if (errno != GL_NO_ERROR)
- {
- glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &errorpos);
- printf("errorpos: %d\n", errorpos);
- printf("%s\n", (char *)glGetString(GL_PROGRAM_ERROR_STRING_ARB));
-
- for (a=-10; a<10; a++)
- {
- if ((errorpos+a < 0) || (errorpos+a >= strlen(prog))) continue;
- printf("%c", prog[errorpos+a]);
- }
- printf("\n");
- exit(1);
- }
-}
-
-static void Init( void )
-{
- GLuint prognum[4];
-
- static const char *prog1 =
- "!!ARBvp1.0\n"
- "TEMP R0;\n"
- "MUL result.color.primary.xyz, R0, program.local[35]; \n"
- "END\n";
- static const char *prog2 =
- "!!ARBvp1.0\n"
- "#\n"
- "# c[0-3] = modelview projection (composite) matrix\n"
- "# c[32] = normalized light direction in object-space\n"
- "# c[35] = yellow diffuse material, (1.0, 1.0, 0.0, 1.0)\n"
- "# c[64].x = 0.0\n"
- "# c[64].z = 0.125, a scaling factor\n"
- "TEMP R0, R1;\n"
- "#\n"
- "# outputs diffuse illumination for color and perturbed position\n"
- "#\n"
- "DP3 R0, program.local[32], vertex.normal; # light direction DOT normal\n"
- "MUL result.color.primary.xyz, R0, program.local[35]; \n"
- "MAX R0, program.local[64].x, R0; \n"
- "MUL R0, R0, vertex.normal; \n"
- "MUL R0, R0, program.local[64].z; \n"
- "ADD R1, vertex.position, -R0; # perturb object space position\n"
- "DP4 result.position.x, state.matrix.mvp.row[3], R1; \n"
- "DP4 result.position.y, state.matrix.mvp.row[1], R1; \n"
- "DP4 result.position.z, state.matrix.mvp.row[2], R1; \n"
- "DP4 result.position.w, state.matrix.mvp.row[3], R1; \n"
- "END\n";
- static const char *prog3 =
- "!!ARBvp1.0\n"
- "TEMP R0, R1, R2, R3;\n"
- "DP4 result.position.x, state.matrix.mvp.row[0], vertex.position;\n"
- "DP4 result.position.y, state.matrix.mvp.row[1], vertex.position;\n"
- "DP4 result.position.z, state.matrix.mvp.row[2], vertex.position;\n"
- "DP4 result.position.w, state.matrix.mvp.row[3], vertex.position;\n"
- "DP3 R0.x, state.matrix.modelview.inverse.row[0], vertex.normal;\n"
- "DP3 R0.y, state.matrix.modelview.inverse.row[1], vertex.normal;\n"
- "DP3 R0.z, state.matrix.modelview.inverse.row[2], vertex.normal;\n"
- "DP3 R1.x, program.env[32], R0; # R1.x = Lpos DOT n'\n"
- "DP3 R1.y, program.env[33], R0; # R1.y = hHat DOT n'\n"
- "MOV R1.w, program.local[38].x; # R1.w = specular power\n"
- "LIT R2, R1; # Compute lighting values\n"
- "MAD R3, program.env[35].x, R2.y, program.env[35].y; # diffuse + emissive\n"
- "MAD result.color.primary.xyz, program.env[36], R2.z, R3; # + specular\n"
- "END\n";
- static const char *prog4 =
- "!!ARBvp1.0\n"
- "TEMP R2, R3;\n"
- "PARAM foo = {0., 0., 0., 1.};\n"
- "PARAM blah[] = { program.local[0..8] };\n"
- "ADDRESS A0;\n"
- "ARL A0.x, foo.x;\n"
- "DP4 R2, R3, blah[A0.x].x;\n"
- "DP4 R2, R3, blah[A0.x + 5];\n"
- "DP4 result.position, R3, blah[A0.x - 4];\n"
- "END\n";
-
- glGenProgramsARB(4, prognum);
-
- load_program(prog1, prognum[0]);
- load_program(prog2, prognum[1]);
- load_program(prog3, prognum[2]);
- load_program(prog4, prognum[3]);
-}
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 250, 250 );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH );
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/arbvptest3.c b/progs/tests/arbvptest3.c
deleted file mode 100644
index 56de7b4696..0000000000
--- a/progs/tests/arbvptest3.c
+++ /dev/null
@@ -1,128 +0,0 @@
-
-#include <assert.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-static float Zrot = 0.0;
-
-
-static void Display( void )
-{
- glClearColor(0.3, 0.3, 0.3, 1);
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
-
- glEnable(GL_VERTEX_PROGRAM_ARB);
-
- glLoadIdentity();
- glRotatef(Zrot, 0, 0, 1);
-
- glPushMatrix();
-
- glVertexAttrib3fARB(3, 1, 0.5, 0.25);
- glBegin(GL_TRIANGLES);
-#if 1
- glVertexAttrib3fARB(3, 1.0, 0.0, 0.0);
- glVertexAttrib2fARB(0, -0.5, -0.5);
- glVertexAttrib3fARB(3, 0.0, 1.0, 0.0);
- glVertexAttrib2fARB(0, 0.5, -0.5);
- glVertexAttrib3fARB(3, 0.0, 0.0, 1.0);
- glVertexAttrib2fARB(0, 0, 0.5);
-#else
- glVertex2f( -1, -1);
- glVertex2f( 1, -1);
- glVertex2f( 0, 1);
-#endif
- glEnd();
-
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- /* glFrustum( -2.0, 2.0, -2.0, 2.0, 5.0, 25.0 );*/
- glOrtho(-2.0, 2.0, -2.0, 2.0, -2.0, 2.0 );
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- /*glTranslatef( 0.0, 0.0, -15.0 );*/
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 'z':
- Zrot -= 5.0;
- break;
- case 'Z':
- Zrot += 5.0;
- break;
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void Init( void )
-{
- GLint errno;
- GLuint prognum;
-
- static const char *prog1 =
- "!!ARBvp1.0\n"
- "MOV result.color, vertex.attrib[3];\n"
-
- "DP4 result.position.x, vertex.position, state.matrix.modelview.row[0];\n"
- "DP4 result.position.y, vertex.position, state.matrix.modelview.row[1];\n"
- "DP4 result.position.z, vertex.position, state.matrix.modelview.row[2];\n"
- "DP4 result.position.w, vertex.position, state.matrix.modelview.row[3];\n"
- "END\n";
-
- glGenProgramsARB(1, &prognum);
-
- glBindProgramARB(GL_VERTEX_PROGRAM_ARB, prognum);
- glProgramStringARB(GL_VERTEX_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
- strlen(prog1), (const GLubyte *) prog1);
-
- assert(glIsProgramARB(prognum));
- errno = glGetError();
- printf("glGetError = %d\n", errno);
- if (errno != GL_NO_ERROR)
- {
- GLint errorpos;
-
- glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &errorpos);
- printf("errorpos: %d\n", errorpos);
- printf("%s\n", (char *)glGetString(GL_PROGRAM_ERROR_STRING_ARB));
- }
-}
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 250, 250 );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH );
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/arbvptorus.c b/progs/tests/arbvptorus.c
deleted file mode 100644
index f1f84d8774..0000000000
--- a/progs/tests/arbvptorus.c
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
- * A lit, rotating torus via vertex program
- */
-
-#include <assert.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-static float Xrot = 0.0, Yrot = 0.0, Zrot = 0.0;
-static GLboolean Anim = GL_TRUE;
-
-
-static void Idle( void )
-{
- Xrot += .3;
- Yrot += .4;
- Zrot += .2;
- glutPostRedisplay();
-}
-
-
-static void Display( void )
-{
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
-
- glPushMatrix();
- glRotatef(Xrot, 1, 0, 0);
- glRotatef(Yrot, 0, 1, 0);
- glRotatef(Zrot, 0, 0, 1);
- glutSolidTorus(0.75, 2.0, 10, 20);
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -2.0, 2.0, -2.0, 2.0, 5.0, 25.0 );
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -12.0 );
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case ' ':
- Xrot = Yrot = Zrot = 0;
- break;
- case 'a':
- Anim = !Anim;
- if (Anim)
- glutIdleFunc(Idle);
- else
- glutIdleFunc(NULL);
- break;
- case 'z':
- Zrot -= 5.0;
- break;
- case 'Z':
- Zrot += 5.0;
- break;
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void SpecialKey( int key, int x, int y )
-{
- const GLfloat step = 3.0;
- (void) x;
- (void) y;
- switch (key) {
- case GLUT_KEY_UP:
- Xrot -= step;
- break;
- case GLUT_KEY_DOWN:
- Xrot += step;
- break;
- case GLUT_KEY_LEFT:
- Yrot -= step;
- break;
- case GLUT_KEY_RIGHT:
- Yrot += step;
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void Init( void )
-{
- GLint errno;
- GLuint prognum;
-
- /* borrowed from an nvidia demo:
- * c[0..3] = modelview matrix
- * c[4..7] = invtrans modelview matrix
- * c[32] = light pos
- * c[35] = diffuse color
- */
- static const char prog[] =
- "!!ARBvp1.0\n"
- "OPTION ARB_position_invariant ;"
- "TEMP R0, R1; \n"
-
- "# normal x MV-1T -> lighting normal\n"
- "DP3 R1.x, state.matrix.modelview.invtrans.row[0], vertex.normal ;\n"
- "DP3 R1.y, state.matrix.modelview.invtrans.row[1], vertex.normal;\n"
- "DP3 R1.z, state.matrix.modelview.invtrans.row[2], vertex.normal;\n"
-
- "DP3 R0, program.local[32], R1; # L.N\n"
-#if 0
- "MUL result.color.xyz, R0, program.local[35] ; # col = L.N * diffuse\n"
-#else
- "MUL result.color.primary.xyz, R0, program.local[35] ; # col = L.N * diffuse\n"
-#endif
- "MOV result.texcoord, vertex.texcoord;\n"
- "END";
-
- if (!glutExtensionSupported("GL_ARB_vertex_program")) {
- printf("Sorry, this program requires GL_ARB_vertex_program");
- exit(1);
- }
-
-
- glGenProgramsARB(1, &prognum);
-
- glBindProgramARB(GL_VERTEX_PROGRAM_ARB, prognum);
- glProgramStringARB(GL_VERTEX_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
- strlen(prog), (const GLubyte *) prog);
-
- assert(glIsProgramARB(prognum));
- errno = glGetError();
- printf("glGetError = %d\n", errno);
- if (errno != GL_NO_ERROR)
- {
- GLint errorpos;
-
- glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &errorpos);
- printf("errorpos: %d\n", errorpos);
- printf("%s\n", (char *)glGetString(GL_PROGRAM_ERROR_STRING_ARB));
- }
-
- /* Light position */
- glProgramLocalParameter4fARB(GL_VERTEX_PROGRAM_ARB, 32, 2, 2, 4, 1);
- /* Diffuse material color */
- glProgramLocalParameter4fARB(GL_VERTEX_PROGRAM_ARB, 35, 0.25, 0, 0.25, 1);
-
- glEnable(GL_VERTEX_PROGRAM_ARB);
- glEnable(GL_DEPTH_TEST);
- glClearColor(0.3, 0.3, 0.3, 1);
-}
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 250, 250 );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH );
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutSpecialFunc( SpecialKey );
- glutDisplayFunc( Display );
- if (Anim)
- glutIdleFunc(Idle);
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/arbvpwarpmesh.c b/progs/tests/arbvpwarpmesh.c
deleted file mode 100644
index 973a157409..0000000000
--- a/progs/tests/arbvpwarpmesh.c
+++ /dev/null
@@ -1,247 +0,0 @@
-/*
- * Warp a triangle mesh with a vertex program.
- */
-
-#include <assert.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-static float Xrot = -60.0, Yrot = 0.0, Zrot = 0.0;
-static GLboolean Anim = GL_TRUE;
-static GLfloat Phi = 0.0;
-
-
-static void Idle( void )
-{
- Phi += 0.01;
- glutPostRedisplay();
-}
-
-
-static void DrawMesh( int rows, int cols )
-{
- static const GLfloat colorA[3] = { 0, 1, 0 };
- static const GLfloat colorB[3] = { 0, 0, 1 };
- const float dx = 2.0 / (cols - 1);
- const float dy = 2.0 / (rows - 1);
- float x, y;
- int i, j;
-
-#if 1
-#define COLOR3FV(c) glVertexAttrib3fvARB(3, c)
-#define VERTEX2F(x, y) glVertexAttrib2fARB(0, x, y)
-#else
-#define COLOR3FV(c) glColor3fv(c)
-#define VERTEX2F(x, y) glVertex2f(x, y)
-#endif
-
- y = -1.0;
- for (i = 0; i < rows - 1; i++) {
- glBegin(GL_QUAD_STRIP);
- x = -1.0;
- for (j = 0; j < cols; j++) {
- if ((i + j) & 1)
- COLOR3FV(colorA);
- else
- COLOR3FV(colorB);
- VERTEX2F(x, y);
- VERTEX2F(x, y + dy);
- x += dx;
- }
- glEnd();
- y += dy;
- }
-}
-
-
-static void Display( void )
-{
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
-
- glPushMatrix();
- glRotatef(Xrot, 1, 0, 0);
- glRotatef(Yrot, 0, 1, 0);
- glRotatef(Zrot, 0, 0, 1);
-
- /* Position the gravity source */
- {
- GLfloat x, y, z, r = 0.5;
- x = r * cos(Phi);
- y = r * sin(Phi);
- z = 1.0;
- glProgramLocalParameter4fARB(GL_VERTEX_PROGRAM_ARB, 30, x, y, z, 1);
- glDisable(GL_VERTEX_PROGRAM_ARB);
- glBegin(GL_POINTS);
- glColor3f(1,1,1);
- glVertex3f(x, y, z);
- glEnd();
- }
-
- glEnable(GL_VERTEX_PROGRAM_ARB);
- DrawMesh(8, 8);
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- float ar = (float) width / (float) height;
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -1.0 * ar, 1.0 * ar, -1.0, 1.0, 5.0, 25.0 );
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -12.0 );
- glScalef(2, 2, 2);
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 'a':
- Anim = !Anim;
- if (Anim)
- glutIdleFunc(Idle);
- else
- glutIdleFunc(NULL);
- break;
- case 'p':
- Phi += 0.2;
- break;
- case 'z':
- Zrot -= 5.0;
- break;
- case 'Z':
- Zrot += 5.0;
- break;
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void SpecialKey( int key, int x, int y )
-{
- const GLfloat step = 3.0;
- (void) x;
- (void) y;
- switch (key) {
- case GLUT_KEY_UP:
- Xrot -= step;
- break;
- case GLUT_KEY_DOWN:
- Xrot += step;
- break;
- case GLUT_KEY_LEFT:
- Yrot -= step;
- break;
- case GLUT_KEY_RIGHT:
- Yrot += step;
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void Init( void )
-{
- GLuint prognum;
- GLint errno;
-
- /*
- * c[0..3] = modelview matrix
- * c[4..7] = inverse modelview matrix
- * c[30] = gravity source location
- * c[31] = gravity source strength
- * c[32] = light pos
- * c[35] = diffuse color
- */
- static const char prog[] =
- "!!ARBvp1.0\n"
- "TEMP R1, R2, R3; "
-
- "# Compute distance from vertex to gravity source\n"
- "ADD R1, program.local[30], -vertex.position; # vector from vertex to gravity\n"
- "DP3 R2, R1, R1; # dot product\n"
- "RSQ R2, R2.x; # square root = distance\n"
- "MUL R2, R2, program.local[31].xxxx; # scale by the gravity factor\n"
-
- "# Displace vertex by gravity factor along R1 vector\n"
- "MAD R3, R1, R2, vertex.position;\n"
-
- "# Continue with typical modelview/projection\n"
- "DP4 result.position.x, state.matrix.mvp.row[0], R3 ; # object x MVP -> clip\n"
- "DP4 result.position.y, state.matrix.mvp.row[1], R3 ;\n"
- "DP4 result.position.z, state.matrix.mvp.row[2], R3 ;\n"
- "DP4 result.position.w, state.matrix.mvp.row[3], R3 ;\n"
-
- "MOV result.color, vertex.attrib[3];\n # copy input color to output color\n"
-
- "END";
-
- if (!glutExtensionSupported("GL_ARB_vertex_program")) {
- printf("Sorry, this program requires GL_ARB_vertex_program\n");
- exit(1);
- }
-
- glGenProgramsARB(1, &prognum);
- glBindProgramARB(GL_VERTEX_PROGRAM_ARB, prognum);
- glProgramStringARB(GL_VERTEX_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
- strlen(prog), (const GLubyte *)prog);
- errno = glGetError();
- printf("glGetError = %d\n", errno);
-
- if (errno != GL_NO_ERROR)
- {
- GLint errorpos;
-
- glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &errorpos);
- printf("errorpos: %d\n", errorpos);
- printf("%s\n", glGetString(GL_PROGRAM_ERROR_STRING_ARB));
- }
-
- /* Light position */
- glProgramLocalParameter4fARB(GL_VERTEX_PROGRAM_ARB, 32, 2, 2, 4, 1);
- /* Diffuse material color */
- glProgramLocalParameter4fARB(GL_VERTEX_PROGRAM_ARB, 35, 0.25, 0, 0.25, 1);
-
- /* Gravity strength */
- glProgramLocalParameter4fARB(GL_VERTEX_PROGRAM_ARB, 31, .5, 0, 0, 0);
-
- glEnable(GL_DEPTH_TEST);
- glClearColor(0.3, 0.3, 0.3, 1);
- glShadeModel(GL_FLAT);
- glPointSize(3);
-}
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 250, 250 );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH );
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutSpecialFunc( SpecialKey );
- glutDisplayFunc( Display );
- if (Anim)
- glutIdleFunc(Idle);
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/arraytexture.c b/progs/tests/arraytexture.c
deleted file mode 100644
index 28252a354b..0000000000
--- a/progs/tests/arraytexture.c
+++ /dev/null
@@ -1,330 +0,0 @@
-/*
- * (C) Copyright IBM Corporation 2007
- * 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
- * on the rights to use, copy, modify, merge, publish, distribute, sub
- * license, 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 (including the next
- * paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
- * IBM AND/OR ITS SUPPLIERS 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.
- */
-
-/**
- * \file arraytexture.c
- *
- *
- * \author Ian Romanick <idr@us.ibm.com>
- */
-
-#include <assert.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-#include <GL/glext.h>
-
-#if !defined(GL_EXT_texture_array) && !defined(GL_MESA_texture_array)
-# error "This demo requires enums for either GL_EXT_texture_array or GL_MESA_texture_array to build."
-#endif
-
-#include "readtex.h"
-
-#define GL_CHECK_ERROR() \
- do { \
- GLenum err = glGetError(); \
- if (err) { \
- printf("%s:%u: %s (0x%04x)\n", __FILE__, __LINE__, \
- gluErrorString(err), err); \
- } \
- } while (0)
-
-static const char *const textures[] = {
- "../images/girl.rgb",
- "../images/girl2.rgb",
- "../images/arch.rgb",
- "../images/s128.rgb",
-
- "../images/tree3.rgb",
- "../images/bw.rgb",
- "../images/reflect.rgb",
- "../images/wrs_logo.rgb",
- NULL
-};
-
-static const char frag_prog[] =
- "!!ARBfp1.0\n"
- "OPTION MESA_texture_array;\n"
- "TEX result.color, fragment.texcoord[0], texture[0], ARRAY2D;\n"
- "END\n";
-
-static GLfloat Xrot = 0, Yrot = -30, Zrot = 0;
-static GLfloat texZ = 0.0;
-static GLfloat texZ_dir = 0.01;
-static GLint num_layers;
-
-
-static void
-PrintString(const char *s)
-{
- while (*s) {
- glutBitmapCharacter(GLUT_BITMAP_8_BY_13, (int) *s);
- s++;
- }
-}
-
-
-static void Idle(void)
-{
- static int lastTime = 0;
- int t = glutGet(GLUT_ELAPSED_TIME);
-
- if (lastTime == 0)
- lastTime = t;
- else if (t - lastTime < 10)
- return;
-
- lastTime = t;
-
- texZ += texZ_dir;
- if ((texZ < 0.0) || ((GLint) texZ > num_layers)) {
- texZ_dir = -texZ_dir;
- }
-
- glutPostRedisplay();
-}
-
-
-static void Display(void)
-{
- char str[100];
-
- glClear(GL_COLOR_BUFFER_BIT);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1, 1, -1, 1, -1, 1);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
-
- glBindProgramARB(GL_FRAGMENT_PROGRAM_ARB, 0);
- glColor3f(1,1,1);
- glRasterPos3f(-0.9, -0.9, 0.0);
- sprintf(str, "Texture Z coordinate = %4.1f", texZ);
- PrintString(str);
-
- glBindProgramARB(GL_FRAGMENT_PROGRAM_ARB, 1);
- GL_CHECK_ERROR();
- glEnable(GL_TEXTURE_2D_ARRAY_EXT);
- GL_CHECK_ERROR();
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glFrustum(-1.0, 1.0, -1.0, 1.0, 5.0, 25.0);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef(0.0, 0.0, -8.0);
-
- glPushMatrix();
- glRotatef(Xrot, 1, 0, 0);
- glRotatef(Yrot, 0, 1, 0);
- glRotatef(Zrot, 0, 0, 1);
-
- glBegin(GL_QUADS);
- glTexCoord3f(0.0, 0.0, texZ); glVertex2f(-1.0, -1.0);
- glTexCoord3f(2.0, 0.0, texZ); glVertex2f(1.0, -1.0);
- glTexCoord3f(2.0, 2.0, texZ); glVertex2f(1.0, 1.0);
- glTexCoord3f(0.0, 2.0, texZ); glVertex2f(-1.0, 1.0);
- glEnd();
-
- glPopMatrix();
-
- glDisable(GL_TEXTURE_2D_ARRAY_EXT);
- GL_CHECK_ERROR();
- glBindProgramARB(GL_FRAGMENT_PROGRAM_ARB, 0);
- GL_CHECK_ERROR();
-
- glutSwapBuffers();
-}
-
-
-static void Reshape(int width, int height)
-{
- glViewport(0, 0, width, height);
-}
-
-
-static void Key(unsigned char key, int x, int y)
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void SpecialKey(int key, int x, int y)
-{
- const GLfloat step = 3.0;
- (void) x;
- (void) y;
- switch (key) {
- case GLUT_KEY_UP:
- Xrot -= step;
- break;
- case GLUT_KEY_DOWN:
- Xrot += step;
- break;
- case GLUT_KEY_LEFT:
- Yrot -= step;
- break;
- case GLUT_KEY_RIGHT:
- Yrot += step;
- break;
- }
- glutPostRedisplay();
-}
-
-
-static int FindLine(const char *program, int position)
-{
- int i, line = 1;
- for (i = 0; i < position; i++) {
- if (program[i] == '\n')
- line++;
- }
- return line;
-}
-
-
-static void
-compile_fragment_program(GLuint id, const char *prog)
-{
- int errorPos;
- int err;
-
- err = glGetError();
- glBindProgramARB(GL_FRAGMENT_PROGRAM_ARB, id);
- glProgramStringARB(GL_FRAGMENT_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
- strlen(prog), (const GLubyte *) prog);
-
- glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &errorPos);
- err = glGetError();
- if (err != GL_NO_ERROR || errorPos != -1) {
- int l = FindLine(prog, errorPos);
-
- printf("Fragment Program Error (err=%d, pos=%d line=%d): %s\n",
- err, errorPos, l,
- (char *) glGetString(GL_PROGRAM_ERROR_STRING_ARB));
- exit(0);
- }
-}
-
-
-static void require_extension(const char *ext)
-{
- if (!glutExtensionSupported(ext)) {
- printf("Sorry, %s not supported by this renderer.\n", ext);
- exit(1);
- }
-}
-
-
-static void Init(void)
-{
- const char *const ver_string = (const char *const) glGetString(GL_VERSION);
- unsigned i;
-
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- printf("GL_VERSION = %s\n", ver_string);
-
- require_extension("GL_ARB_fragment_program");
- require_extension("GL_MESA_texture_array");
- require_extension("GL_SGIS_generate_mipmap");
-
- for (num_layers = 0; textures[num_layers] != NULL; num_layers++)
- /* empty */ ;
-
- glBindTexture(GL_TEXTURE_2D_ARRAY_EXT, 1);
- glTexImage3D(GL_TEXTURE_2D_ARRAY_EXT, 0, GL_RGB8,
- 256, 256, num_layers, 0, GL_RGB, GL_UNSIGNED_BYTE, NULL);
- GL_CHECK_ERROR();
-
- glTexParameteri(GL_TEXTURE_2D_ARRAY_EXT, GL_GENERATE_MIPMAP_SGIS,
- GL_TRUE);
-
- for (i = 0; textures[i] != NULL; i++) {
- GLint width, height;
- GLenum format;
-
- GLubyte *image = LoadRGBImage(textures[i], &width, &height, &format);
- if (!image) {
- printf("Error: could not load texture image %s\n", textures[i]);
- exit(1);
- }
-
- /* resize to 256 x 256 */
- if (width != 256 || height != 256) {
- GLubyte *newImage = malloc(256 * 256 * 4);
- gluScaleImage(format, width, height, GL_UNSIGNED_BYTE, image,
- 256, 256, GL_UNSIGNED_BYTE, newImage);
- free(image);
- image = newImage;
- }
-
- glTexSubImage3D(GL_TEXTURE_2D_ARRAY_EXT, 0,
- 0, 0, i, 256, 256, 1,
- format, GL_UNSIGNED_BYTE, image);
- free(image);
- }
- GL_CHECK_ERROR();
-
- glTexParameteri(GL_TEXTURE_2D_ARRAY_EXT, GL_TEXTURE_WRAP_S, GL_REPEAT);
- glTexParameteri(GL_TEXTURE_2D_ARRAY_EXT, GL_TEXTURE_WRAP_T, GL_REPEAT);
- glTexParameteri(GL_TEXTURE_2D_ARRAY_EXT, GL_TEXTURE_WRAP_R, GL_CLAMP_TO_EDGE);
-
- glTexParameteri(GL_TEXTURE_2D_ARRAY_EXT, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
- GL_CHECK_ERROR();
- glTexParameteri(GL_TEXTURE_2D_ARRAY_EXT, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
- GL_CHECK_ERROR();
-
- compile_fragment_program(1, frag_prog);
- GL_CHECK_ERROR();
-}
-
-
-int main(int argc, char *argv[])
-{
- glutInit(&argc, argv);
- glutInitWindowPosition(0, 0);
- glutInitWindowSize(350, 350);
- glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE);
- glutCreateWindow("Array texture test");
- glewInit();
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutSpecialFunc(SpecialKey);
- glutDisplayFunc(Display);
- glutIdleFunc(Idle);
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/auxbuffer.c b/progs/tests/auxbuffer.c
deleted file mode 100644
index 70f0b73910..0000000000
--- a/progs/tests/auxbuffer.c
+++ /dev/null
@@ -1,499 +0,0 @@
-/*
- * Test AUX buffer rendering
- * Use GLX since GLUT doesn't support AUX buffers
- */
-
-
-/*
- * Copyright (C) 1999-2001 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
- * BRIAN PAUL 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.
- */
-
-/*
- * This is a port of the infamous "gears" demo to straight GLX (i.e. no GLUT)
- * Port by Brian Paul 23 March 2001
- *
- * Command line options:
- * -info print GL implementation information
- *
- */
-
-
-#include <math.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <X11/Xlib.h>
-#include <X11/keysym.h>
-#include <GL/gl.h>
-#include <GL/glx.h>
-
-
-static int
-current_time(void)
-{
- return 0;
-}
-
-
-
-
-#ifndef M_PI
-#define M_PI 3.14159265
-#endif
-
-static int WinWidth = 300, WinHeight = 300;
-static GLfloat view_rotx = 20.0, view_roty = 30.0, view_rotz = 0.0;
-static GLint gear1, gear2, gear3;
-static GLfloat angle = 0.0;
-
-
-/*
- *
- * Draw a gear wheel. You'll probably want to call this function when
- * building a display list since we do a lot of trig here.
- *
- * Input: inner_radius - radius of hole at center
- * outer_radius - radius at center of teeth
- * width - width of gear
- * teeth - number of teeth
- * tooth_depth - depth of tooth
- */
-static void
-gear(GLfloat inner_radius, GLfloat outer_radius, GLfloat width,
- GLint teeth, GLfloat tooth_depth)
-{
- GLint i;
- GLfloat r0, r1, r2;
- GLfloat angle, da;
- GLfloat u, v, len;
-
- r0 = inner_radius;
- r1 = outer_radius - tooth_depth / 2.0;
- r2 = outer_radius + tooth_depth / 2.0;
-
- da = 2.0 * M_PI / teeth / 4.0;
-
- glShadeModel(GL_FLAT);
-
- glNormal3f(0.0, 0.0, 1.0);
-
- /* draw front face */
- glBegin(GL_QUAD_STRIP);
- for (i = 0; i <= teeth; i++) {
- angle = i * 2.0 * M_PI / teeth;
- glVertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5);
- glVertex3f(r1 * cos(angle), r1 * sin(angle), width * 0.5);
- if (i < teeth) {
- glVertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5);
- glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da),
- width * 0.5);
- }
- }
- glEnd();
-
- /* draw front sides of teeth */
- glBegin(GL_QUADS);
- da = 2.0 * M_PI / teeth / 4.0;
- for (i = 0; i < teeth; i++) {
- angle = i * 2.0 * M_PI / teeth;
-
- glVertex3f(r1 * cos(angle), r1 * sin(angle), width * 0.5);
- glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), width * 0.5);
- glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da),
- width * 0.5);
- glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da),
- width * 0.5);
- }
- glEnd();
-
- glNormal3f(0.0, 0.0, -1.0);
-
- /* draw back face */
- glBegin(GL_QUAD_STRIP);
- for (i = 0; i <= teeth; i++) {
- angle = i * 2.0 * M_PI / teeth;
- glVertex3f(r1 * cos(angle), r1 * sin(angle), -width * 0.5);
- glVertex3f(r0 * cos(angle), r0 * sin(angle), -width * 0.5);
- if (i < teeth) {
- glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da),
- -width * 0.5);
- glVertex3f(r0 * cos(angle), r0 * sin(angle), -width * 0.5);
- }
- }
- glEnd();
-
- /* draw back sides of teeth */
- glBegin(GL_QUADS);
- da = 2.0 * M_PI / teeth / 4.0;
- for (i = 0; i < teeth; i++) {
- angle = i * 2.0 * M_PI / teeth;
-
- glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da),
- -width * 0.5);
- glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da),
- -width * 0.5);
- glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), -width * 0.5);
- glVertex3f(r1 * cos(angle), r1 * sin(angle), -width * 0.5);
- }
- glEnd();
-
- /* draw outward faces of teeth */
- glBegin(GL_QUAD_STRIP);
- for (i = 0; i < teeth; i++) {
- angle = i * 2.0 * M_PI / teeth;
-
- glVertex3f(r1 * cos(angle), r1 * sin(angle), width * 0.5);
- glVertex3f(r1 * cos(angle), r1 * sin(angle), -width * 0.5);
- u = r2 * cos(angle + da) - r1 * cos(angle);
- v = r2 * sin(angle + da) - r1 * sin(angle);
- len = sqrt(u * u + v * v);
- u /= len;
- v /= len;
- glNormal3f(v, -u, 0.0);
- glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), width * 0.5);
- glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), -width * 0.5);
- glNormal3f(cos(angle), sin(angle), 0.0);
- glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da),
- width * 0.5);
- glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da),
- -width * 0.5);
- u = r1 * cos(angle + 3 * da) - r2 * cos(angle + 2 * da);
- v = r1 * sin(angle + 3 * da) - r2 * sin(angle + 2 * da);
- glNormal3f(v, -u, 0.0);
- glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da),
- width * 0.5);
- glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da),
- -width * 0.5);
- glNormal3f(cos(angle), sin(angle), 0.0);
- }
-
- glVertex3f(r1 * cos(0), r1 * sin(0), width * 0.5);
- glVertex3f(r1 * cos(0), r1 * sin(0), -width * 0.5);
-
- glEnd();
-
- glShadeModel(GL_SMOOTH);
-
- /* draw inside radius cylinder */
- glBegin(GL_QUAD_STRIP);
- for (i = 0; i <= teeth; i++) {
- angle = i * 2.0 * M_PI / teeth;
- glNormal3f(-cos(angle), -sin(angle), 0.0);
- glVertex3f(r0 * cos(angle), r0 * sin(angle), -width * 0.5);
- glVertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5);
- }
- glEnd();
-}
-
-
-static void
-draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
- glPushMatrix();
- glRotatef(view_rotx, 1.0, 0.0, 0.0);
- glRotatef(view_roty, 0.0, 1.0, 0.0);
- glRotatef(view_rotz, 0.0, 0.0, 1.0);
-
- glPushMatrix();
- glTranslatef(-3.0, -2.0, 0.0);
- glRotatef(angle, 0.0, 0.0, 1.0);
- glCallList(gear1);
- glPopMatrix();
-
- glPushMatrix();
- glTranslatef(3.1, -2.0, 0.0);
- glRotatef(-2.0 * angle - 9.0, 0.0, 0.0, 1.0);
- glCallList(gear2);
- glPopMatrix();
-
- glPushMatrix();
- glTranslatef(-3.1, 4.2, 0.0);
- glRotatef(-2.0 * angle - 25.0, 0.0, 0.0, 1.0);
- glCallList(gear3);
- glPopMatrix();
-
- glPopMatrix();
-}
-
-
-/* new window size or exposure */
-static void
-reshape(int width, int height)
-{
- GLfloat h = (GLfloat) height / (GLfloat) width;
-
- WinWidth = width;
- WinHeight = height;
- glViewport(0, 0, (GLint) width, (GLint) height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glFrustum(-1.0, 1.0, -h, h, 5.0, 60.0);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef(0.0, 0.0, -40.0);
-}
-
-
-static void
-init(void)
-{
- static GLfloat pos[4] = { 5.0, 5.0, 10.0, 0.0 };
- static GLfloat red[4] = { 0.8, 0.1, 0.0, 1.0 };
- static GLfloat green[4] = { 0.0, 0.8, 0.2, 1.0 };
- static GLfloat blue[4] = { 0.2, 0.2, 1.0, 1.0 };
- int i;
-
- glGetIntegerv(GL_AUX_BUFFERS, &i);
- printf("AUX BUFFERS: %d\n", i);
-
- glLightfv(GL_LIGHT0, GL_POSITION, pos);
- glEnable(GL_CULL_FACE);
- glEnable(GL_LIGHTING);
- glEnable(GL_LIGHT0);
- glEnable(GL_DEPTH_TEST);
-
- /* make the gears */
- gear1 = glGenLists(1);
- glNewList(gear1, GL_COMPILE);
- glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, red);
- gear(1.0, 4.0, 1.0, 20, 0.7);
- glEndList();
-
- gear2 = glGenLists(1);
- glNewList(gear2, GL_COMPILE);
- glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, green);
- gear(0.5, 2.0, 2.0, 10, 0.7);
- glEndList();
-
- gear3 = glGenLists(1);
- glNewList(gear3, GL_COMPILE);
- glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, blue);
- gear(1.3, 2.0, 0.5, 10, 0.7);
- glEndList();
-
- glEnable(GL_NORMALIZE);
-}
-
-
-/*
- * Create an RGB, double-buffered window.
- * Return the window and context handles.
- */
-static void
-make_window( Display *dpy, const char *name,
- int x, int y, int width, int height,
- Window *winRet, GLXContext *ctxRet)
-{
- int attrib[] = { GLX_RGBA,
- GLX_RED_SIZE, 1,
- GLX_GREEN_SIZE, 1,
- GLX_BLUE_SIZE, 1,
- GLX_DOUBLEBUFFER,
- GLX_DEPTH_SIZE, 1,
- GLX_AUX_BUFFERS, 1,
- None };
- int scrnum;
- XSetWindowAttributes attr;
- unsigned long mask;
- Window root;
- Window win;
- GLXContext ctx;
- XVisualInfo *visinfo;
-
- scrnum = DefaultScreen( dpy );
- root = RootWindow( dpy, scrnum );
-
- visinfo = glXChooseVisual( dpy, scrnum, attrib );
- if (!visinfo) {
- printf("Error: couldn't get an RGB, Double-buffered visual\n");
- exit(1);
- }
-
- /* window attributes */
- attr.background_pixel = 0;
- attr.border_pixel = 0;
- attr.colormap = XCreateColormap( dpy, root, visinfo->visual, AllocNone);
- attr.event_mask = StructureNotifyMask | ExposureMask | KeyPressMask;
- mask = CWBackPixel | CWBorderPixel | CWColormap | CWEventMask;
-
- win = XCreateWindow( dpy, root, 0, 0, width, height,
- 0, visinfo->depth, InputOutput,
- visinfo->visual, mask, &attr );
-
- /* set hints and properties */
- {
- XSizeHints sizehints;
- sizehints.x = x;
- sizehints.y = y;
- sizehints.width = width;
- sizehints.height = height;
- sizehints.flags = USSize | USPosition;
- XSetNormalHints(dpy, win, &sizehints);
- XSetStandardProperties(dpy, win, name, name,
- None, (char **)NULL, 0, &sizehints);
- }
-
- ctx = glXCreateContext( dpy, visinfo, NULL, True );
- if (!ctx) {
- printf("Error: glXCreateContext failed\n");
- exit(1);
- }
-
- XFree(visinfo);
-
- *winRet = win;
- *ctxRet = ctx;
-}
-
-
-static void
-event_loop(Display *dpy, Window win)
-{
- while (1) {
- while (XPending(dpy) > 0) {
- XEvent event;
- XNextEvent(dpy, &event);
- switch (event.type) {
- case Expose:
- /* we'll redraw below */
- break;
- case ConfigureNotify:
- reshape(event.xconfigure.width, event.xconfigure.height);
- break;
- case KeyPress:
- {
- char buffer[10];
- int r, code;
- code = XLookupKeysym(&event.xkey, 0);
- if (code == XK_Left) {
- view_roty += 5.0;
- }
- else if (code == XK_Right) {
- view_roty -= 5.0;
- }
- else if (code == XK_Up) {
- view_rotx += 5.0;
- }
- else if (code == XK_Down) {
- view_rotx -= 5.0;
- }
- else {
- r = XLookupString(&event.xkey, buffer, sizeof(buffer),
- NULL, NULL);
- if (buffer[0] == 27) {
- /* escape */
- return;
- }
- }
- }
- }
- }
-
- /* next frame */
- angle += 2.0;
-
- /* draw to aux buffer */
- glDrawBuffer(GL_AUX0);
-
- draw();
-
- /* Copy aux buffer image to back color buffer */
- glReadBuffer(GL_AUX0);
- glDrawBuffer(GL_BACK);
- glWindowPos2iARB(0, 0);
- glDisable(GL_DEPTH_TEST);
- glCopyPixels(0, 0, WinWidth, WinHeight, GL_COLOR);
- glEnable(GL_DEPTH_TEST);
-
- glXSwapBuffers(dpy, win);
-
- /* calc framerate */
- {
- static int t0 = -1;
- static int frames = 0;
- int t = current_time();
-
- if (t0 < 0)
- t0 = t;
-
- frames++;
-
- if (t - t0 >= 5.0) {
- GLfloat seconds = t - t0;
- GLfloat fps = frames / seconds;
- printf("%d frames in %3.1f seconds = %6.3f FPS\n", frames, seconds,
- fps);
- t0 = t;
- frames = 0;
- }
- }
- }
-}
-
-
-int
-main(int argc, char *argv[])
-{
- Display *dpy;
- Window win;
- GLXContext ctx;
- char *dpyName = ":0";
- GLboolean printInfo = GL_FALSE;
- int i;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-display") == 0) {
- dpyName = argv[i+1];
- i++;
- }
- else if (strcmp(argv[i], "-info") == 0) {
- printInfo = GL_TRUE;
- }
- }
-
- dpy = XOpenDisplay(dpyName);
- if (!dpy) {
- printf("Error: couldn't open display %s\n", dpyName);
- return -1;
- }
-
- make_window(dpy, "glxgears", 0, 0, WinWidth, WinHeight, &win, &ctx);
- XMapWindow(dpy, win);
- glXMakeCurrent(dpy, win, ctx);
-
- if (printInfo) {
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- printf("GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- printf("GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- printf("GL_EXTENSIONS = %s\n", (char *) glGetString(GL_EXTENSIONS));
- }
-
- init();
-
- event_loop(dpy, win);
-
- glXDestroyContext(dpy, ctx);
- XDestroyWindow(dpy, win);
- XCloseDisplay(dpy);
-
- return 0;
-}
diff --git a/progs/tests/blendminmax.c b/progs/tests/blendminmax.c
deleted file mode 100644
index 7297f41b78..0000000000
--- a/progs/tests/blendminmax.c
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
- * (C) Copyright IBM Corporation 2004
- * 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
- * on the rights to use, copy, modify, merge, publish, distribute, sub
- * license, 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 (including the next
- * paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
- * VA LINUX SYSTEM, IBM AND/OR THEIR SUPPLIERS 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.
- */
-
-/**
- * \file blendminmax.c
- *
- * Simple test of GL_EXT_blend_minmax functionality. Four squares are drawn
- * with different blending modes, but all should be rendered with the same
- * final color.
- *
- * \author Ian Romanick <idr@us.ibm.com>
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-static int Width = 400;
-static int Height = 200;
-static const GLfloat Near = 5.0, Far = 25.0;
-
-
-static void Display( void )
-{
- glClearColor(0.2, 0.2, 0.8, 0);
- glClear( GL_COLOR_BUFFER_BIT );
-
- glPushMatrix();
-
- /* This is the "reference" square.
- */
-
- glTranslatef(-4.5, 0, 0);
- glBlendEquation( GL_FUNC_ADD );
- glBlendFunc( GL_ONE, GL_ZERO );
- glBegin(GL_QUADS);
- glColor3f( 0.5, 0.5, 0.5 );
- glVertex2f(-1, -1);
- glVertex2f( 1, -1);
- glVertex2f( 1, 1);
- glVertex2f(-1, 1);
- glEnd();
-
-
- /* GL_MIN and GL_MAX are supposed to ignore the blend function setting.
- * To test that, we set the blend function to GL_ZERO for both color and
- * alpha each time GL_MIN or GL_MAX is used.
- *
- * Apple ships an extension called GL_ATI_blend_weighted_minmax (supported
- * on Mac OS X 10.2 and later). I believe the difference with that
- * extension is that it uses the blend function. However, I have no idea
- * what the enums are for it. The extension is listed at Apple's developer
- * site, but there is no documentation.
- *
- * http://developer.apple.com/opengl/extensions.html
- */
-
- glTranslatef(3.0, 0, 0);
- glBlendEquation( GL_FUNC_ADD );
- glBlendFunc( GL_ONE, GL_ZERO );
- glBegin(GL_QUADS);
- glColor3f( 0.5, 0.5, 0.5 );
- glVertex2f(-1, -1);
- glVertex2f( 1, -1);
- glVertex2f( 1, 1);
- glVertex2f(-1, 1);
- glEnd();
-
- glBlendEquation( GL_MAX );
- glBlendFunc( GL_ZERO, GL_ZERO );
- glBegin(GL_QUADS);
- glColor3f( 0.2, 0.2, 0.2 );
- glVertex2f(-1, -1);
- glVertex2f( 1, -1);
- glVertex2f( 1, 1);
- glVertex2f(-1, 1);
- glEnd();
-
-
- glTranslatef(3.0, 0, 0);
- glBlendEquation( GL_FUNC_ADD );
- glBlendFunc( GL_ONE, GL_ZERO );
- glBegin(GL_QUADS);
- glColor3f( 0.5, 0.5, 0.5 );
- glVertex2f(-1, -1);
- glVertex2f( 1, -1);
- glVertex2f( 1, 1);
- glVertex2f(-1, 1);
- glEnd();
-
- glBlendEquation( GL_MIN );
- glBlendFunc( GL_ZERO, GL_ZERO );
- glBegin(GL_QUADS);
- glColor3f( 0.8, 0.8, 0.8 );
- glVertex2f(-1, -1);
- glVertex2f( 1, -1);
- glVertex2f( 1, 1);
- glVertex2f(-1, 1);
- glEnd();
-
-
- glTranslatef(3.0, 0, 0);
- glBlendEquation( GL_FUNC_ADD );
- glBlendFunc( GL_ONE, GL_ZERO );
- glBegin(GL_QUADS);
- glColor3f( 0.8, 0.8, 0.8 );
- glVertex2f(-1, -1);
- glVertex2f( 1, -1);
- glVertex2f( 1, 1);
- glVertex2f(-1, 1);
- glEnd();
-
- glBlendEquation( GL_MIN );
- glBlendFunc( GL_ZERO, GL_ZERO );
- glBegin(GL_QUADS);
- glColor3f( 0.5, 0.5, 0.5 );
- glVertex2f(-1, -1);
- glVertex2f( 1, -1);
- glVertex2f( 1, 1);
- glVertex2f(-1, 1);
- glEnd();
-
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- GLfloat ar = (float) width / (float) height;
- Width = width;
- Height = height;
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -ar, ar, -1.0, 1.0, Near, Far );
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -15.0 );
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void Init( void )
-{
- const char * const ver_string = (const char * const)
- glGetString( GL_VERSION );
-
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- printf("GL_VERSION = %s\n", ver_string);
-
- if ( !glutExtensionSupported("GL_ARB_imaging") && !glutExtensionSupported("GL_EXT_blend_minmax")) {
- printf("Sorry, this program requires either GL_ARB_imaging or GL_EXT_blend_minmax.\n");
- exit(1);
- }
-
- printf("\nAll 4 squares should be the same color.\n");
- glEnable( GL_BLEND );
-}
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( Width, Height );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE );
- glutCreateWindow( "GL_EXT_blend_minmax test" );
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/blendsquare.c b/progs/tests/blendsquare.c
deleted file mode 100644
index 3ee3ae2230..0000000000
--- a/progs/tests/blendsquare.c
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
- * (C) Copyright IBM Corporation 2004
- * 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
- * on the rights to use, copy, modify, merge, publish, distribute, sub
- * license, 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 (including the next
- * paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
- * VA LINUX SYSTEM, IBM AND/OR THEIR SUPPLIERS 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.
- */
-
-/**
- * \file blendsquare.c
- *
- * Simple test of GL_NV_blend_square functionality. Four squares are drawn
- * with different blending modes, but all should be rendered with the same
- * final color.
- *
- * \author Ian Romanick <idr@us.ibm.com>
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-static int Width = 400;
-static int Height = 200;
-static const GLfloat Near = 5.0, Far = 25.0;
-
-
-static void Display( void )
-{
- glClearColor(0.2, 0.2, 0.8, 0);
- glClear( GL_COLOR_BUFFER_BIT );
-
- glPushMatrix();
-
- glTranslatef(-4.5, 0, 0);
- glBlendFunc( GL_ONE, GL_ZERO );
- glBegin(GL_QUADS);
- glColor3f( 0.5 * 0.5, 0.5 * 0.5, 0.5 * 0.5 );
- glVertex2f(-1, -1);
- glVertex2f( 1, -1);
- glVertex2f( 1, 1);
- glVertex2f(-1, 1);
- glEnd();
-
-
- glTranslatef(3.0, 0, 0);
- glBlendFunc( GL_ONE, GL_ZERO );
- glBegin(GL_QUADS);
- glColor3f( 0.5, 0.5, 0.5 );
- glVertex2f(-1, -1);
- glVertex2f( 1, -1);
- glVertex2f( 1, 1);
- glVertex2f(-1, 1);
- glEnd();
-
- glBlendFunc( GL_DST_COLOR, GL_ZERO );
- glBegin(GL_QUADS);
- glVertex2f(-1, -1);
- glVertex2f( 1, -1);
- glVertex2f( 1, 1);
- glVertex2f(-1, 1);
- glEnd();
-
-
- glTranslatef(3.0, 0, 0);
- glBlendFunc( GL_SRC_COLOR, GL_ZERO );
- glBegin(GL_QUADS);
- glVertex2f(-1, -1);
- glVertex2f( 1, -1);
- glVertex2f( 1, 1);
- glVertex2f(-1, 1);
- glEnd();
-
-
- glTranslatef(3.0, 0, 0);
- glBlendFunc( GL_ONE, GL_ZERO );
- glBegin(GL_QUADS);
- glVertex2f(-1, -1);
- glVertex2f( 1, -1);
- glVertex2f( 1, 1);
- glVertex2f(-1, 1);
- glEnd();
-
- glBlendFunc( GL_ZERO, GL_DST_COLOR );
- glBegin(GL_QUADS);
- glVertex2f(-1, -1);
- glVertex2f( 1, -1);
- glVertex2f( 1, 1);
- glVertex2f(-1, 1);
- glEnd();
-
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- GLfloat ar = (float) width / (float) height;
- Width = width;
- Height = height;
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -ar, ar, -1.0, 1.0, Near, Far );
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -15.0 );
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void Init( void )
-{
- const char * const ver_string = (const char * const)
- glGetString( GL_VERSION );
- const double version = strtod( ver_string, NULL );
-
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- printf("GL_VERSION = %s\n", ver_string);
-
- if ( (version < 1.4) && !glutExtensionSupported("GL_NV_blend_square")) {
- printf("Sorry, this program requires either OpenGL 1.4 or GL_NV_blend_square\n");
- exit(1);
- }
-
- printf("\nAll 4 squares should be the same color. The two on the left are drawn\n"
- "without NV_blend_square functionality, and the two on the right are drawn\n"
- "with NV_blend_square functionality. If the two on the left are dark, but\n"
- "the two on the right are not, then NV_blend_square is broken.\n");
- glEnable( GL_BLEND );
- glBlendEquation( GL_FUNC_ADD );
-}
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( Width, Height );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE );
- glutCreateWindow( "GL_NV_blend_square test" );
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/blendxor.c b/progs/tests/blendxor.c
deleted file mode 100644
index d6dcb8b848..0000000000
--- a/progs/tests/blendxor.c
+++ /dev/null
@@ -1,197 +0,0 @@
-/**
- * Test XOR emulation with blending.
- *
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-#include "readtex.c"
-
-#define IMAGE_FILE "../images/arch.rgb"
-
-static int ImgWidth, ImgHeight;
-static GLenum ImgFormat;
-static GLubyte *Image = NULL;
-
-static int Win;
-static int Width = 600, Height = 600;
-
-struct rect
-{
- int x0, y0, x1, y1;
-};
-
-static struct rect OldRect, NewRect;
-
-static GLboolean ButtonDown = GL_FALSE;
-static GLboolean LogicOp = 0*GL_TRUE;
-
-
-static const GLfloat red[4] = {1.0, 0.2, 0.2, 1.0};
-static const GLfloat green[4] = {0.2, 1.0, 0.2, 1.0};
-static const GLfloat blue[4] = {0.2, 0.2, 1.0, 1.0};
-
-
-static void
-PrintString(const char *s)
-{
- while (*s) {
- glutBitmapCharacter(GLUT_BITMAP_8_BY_13, (int) *s);
- s++;
- }
-}
-
-
-static void
-Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glWindowPos2i((Width - ImgWidth) / 2, (Height - ImgHeight) / 2);
- glDrawPixels(ImgWidth, ImgHeight, ImgFormat, GL_UNSIGNED_BYTE, Image);
-
- /*
- * Draw 2D XOR rects
- */
- glColor3f(1, 1, 1);
-
- glWindowPos2i(100, Height - 20);
- PrintString("XOR LogicOp:");
- glLogicOp(GL_XOR);
- glEnable(GL_COLOR_LOGIC_OP);
- glRecti(100, 30, 250, Height - 30);
- glDisable(GL_COLOR_LOGIC_OP);
-
- glWindowPos2i(Width/2 + 10, Height - 20);
- PrintString("Invert Blending:");
- glBlendFunc(GL_ONE, GL_ONE);
- glBlendEquation(GL_FUNC_SUBTRACT);
- glEnable(GL_BLEND);
- glRecti(Width / 2, 30, Width / 2 + 150, Height - 30);
- glDisable(GL_BLEND);
-
- glutSwapBuffers();
-}
-
-
-static void
-Reshape(int width, int height)
-{
- Width = width;
- Height = height;
- glViewport(0, 0, width, height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(0, Width, 0, Height, -1, 1);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
-}
-
-
-static void
-Key(unsigned char key, int x, int y)
-{
- (void) x;
- (void) y;
- switch (key) {
- case 'b':
- case 'B':
- LogicOp = GL_FALSE;
- break;
- case 'l':
- case 'L':
- LogicOp = GL_TRUE;
- break;
- case 27:
- glutDestroyWindow(Win);
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void
-SpecialKey(int key, int x, int y)
-{
- (void) x;
- (void) y;
- switch (key) {
- case GLUT_KEY_UP:
- break;
- case GLUT_KEY_DOWN:
- break;
- case GLUT_KEY_LEFT:
- break;
- case GLUT_KEY_RIGHT:
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void
-MouseMotion(int x, int y)
-{
- if (ButtonDown) {
- NewRect.x1 = x;
- NewRect.y1 = y;
- glutPostRedisplay();
- }
-}
-
-
-static void
-MouseButton(int button, int state, int x, int y)
-{
- if (button == GLUT_LEFT_BUTTON && state == GLUT_DOWN) {
- ButtonDown = GL_TRUE;
- NewRect.x0 = NewRect.x1 = x;
- NewRect.y0 = NewRect.y1 = y;
- OldRect = NewRect;
- }
- else if (button == GLUT_LEFT_BUTTON && state == GLUT_UP) {
- ButtonDown = GL_FALSE;
- }
-}
-
-
-static void
-Init(void)
-{
- /*
- * Load image and scale if needed.
- */
- Image = LoadRGBImage(IMAGE_FILE, &ImgWidth, &ImgHeight, &ImgFormat);
- if (!Image) {
- printf("Couldn't read %s\n", IMAGE_FILE);
- exit(0);
- }
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- glPixelStorei(GL_PACK_ALIGNMENT, 1);
-}
-
-
-int
-main(int argc, char *argv[])
-{
- glutInit(&argc, argv);
- glutInitWindowSize(Width, Height);
- glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE);
- Win = glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutSpecialFunc(SpecialKey);
- glutMotionFunc(MouseMotion);
- glutMouseFunc(MouseButton);
- glutDisplayFunc(Draw);
- Init();
- glutPostRedisplay();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/blitfb.c b/progs/tests/blitfb.c
deleted file mode 100644
index 18c8380a5e..0000000000
--- a/progs/tests/blitfb.c
+++ /dev/null
@@ -1,259 +0,0 @@
-/**
- * Test glFramebufferBlit()
- * Brian Paul
- * 27 Oct 2009
- */
-
-#include <assert.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-
-static int Win;
-static int WinWidth = 1100, WinHeight = 600;
-
-static int SrcWidth = 512, SrcHeight = 512;
-static int DstWidth = 512, DstHeight = 512;
-
-static GLuint SrcFB, DstFB;
-static GLuint SrcTex, DstTex;
-
-#if 0
-static GLenum SrcTexTarget = GL_TEXTURE_2D, SrcTexFace = GL_TEXTURE_2D;
-#else
-static GLenum SrcTexTarget = GL_TEXTURE_CUBE_MAP, SrcTexFace = GL_TEXTURE_CUBE_MAP_POSITIVE_X;
-#endif
-
-static GLenum DstTexTarget = GL_TEXTURE_2D, DstTexFace = GL_TEXTURE_2D;
-
-static GLuint SrcTexLevel = 01, DstTexLevel = 0;
-
-
-static void
-Draw(void)
-{
- GLboolean rp = GL_FALSE;
- GLubyte *buf;
- GLint srcWidth = SrcWidth >> SrcTexLevel;
- GLint srcHeight = SrcHeight >> SrcTexLevel;
- GLint dstWidth = DstWidth >> DstTexLevel;
- GLint dstHeight = DstHeight >> DstTexLevel;
- GLenum status;
-
- /* clear window */
- glBindFramebufferEXT(GL_FRAMEBUFFER, 0);
- glClearColor(0.5, 0.5, 0.5, 1.0);
- glClear(GL_COLOR_BUFFER_BIT);
-
-
- /* clear src buf */
- glBindFramebufferEXT(GL_FRAMEBUFFER, SrcFB);
- status = glCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT);
- assert(status == GL_FRAMEBUFFER_COMPLETE_EXT);
- glClearColor(0, 1, 0, 0);
- glClear(GL_COLOR_BUFFER_BIT);
-
- /* clear dst buf */
- glBindFramebufferEXT(GL_FRAMEBUFFER, DstFB);
- status = glCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT);
- assert(status == GL_FRAMEBUFFER_COMPLETE_EXT);
- glClearColor(1, 0, 0, 0);
- glClear(GL_COLOR_BUFFER_BIT);
-
- /* blit src -> dst */
- glBindFramebufferEXT(GL_READ_FRAMEBUFFER, SrcFB);
- glBindFramebufferEXT(GL_DRAW_FRAMEBUFFER, DstFB);
- glBlitFramebufferEXT(0, 0, srcWidth, srcHeight,
- 0, 0, dstWidth, dstHeight,
- GL_COLOR_BUFFER_BIT, GL_NEAREST);
-
-#if 01
- /* read src results */
- buf = malloc(4 * srcWidth * srcHeight);
- memset(buf, 0x88, 4 * srcWidth * srcHeight);
- glBindFramebufferEXT(GL_FRAMEBUFFER, SrcFB);
- if (rp)
- glReadPixels(0, 0, srcWidth, srcHeight, GL_RGBA, GL_UNSIGNED_BYTE, buf);
- else {
- glBindTexture(SrcTexTarget, SrcTex);
- glGetTexImage(SrcTexFace, SrcTexLevel, GL_RGBA, GL_UNSIGNED_BYTE, buf);
- }
-
- /* draw dst in window */
- glBindFramebufferEXT(GL_FRAMEBUFFER, 0);
- glWindowPos2i(0, 0);
- glDrawPixels(srcWidth, srcHeight, GL_RGBA, GL_UNSIGNED_BYTE, buf);
-
- printf("Src Pix[0] = %d %d %d %d\n", buf[0], buf[1], buf[2], buf[3]);
- free(buf);
-#endif
-
- glFinish();
-
- /* read dst results */
- buf = malloc(4 * dstWidth * dstHeight);
- memset(buf, 0x88, 4 * dstWidth * dstHeight);
- glBindFramebufferEXT(GL_FRAMEBUFFER, DstFB);
- if (rp)
- glReadPixels(0, 0, dstWidth, dstHeight, GL_RGBA, GL_UNSIGNED_BYTE, buf);
- else {
- glBindTexture(DstTexTarget, DstTex);
- glGetTexImage(DstTexFace, DstTexLevel, GL_RGBA, GL_UNSIGNED_BYTE, buf);
- }
-
- /* draw dst in window */
- glBindFramebufferEXT(GL_FRAMEBUFFER, 0);
- glWindowPos2i(srcWidth + 2, 0);
- glDrawPixels(dstWidth, dstHeight, GL_RGBA, GL_UNSIGNED_BYTE, buf);
-
- printf("Dst Pix[0] = %d %d %d %d\n", buf[0], buf[1], buf[2], buf[3]);
- free(buf);
-
- glFinish();
-
- glutSwapBuffers();
-}
-
-
-static void
-Reshape(int width, int height)
-{
- WinWidth = width;
- WinHeight = height;
- glViewport(0, 0, width, height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glFrustum(-1.0, 1.0, -1.0, 1.0, 5.0, 25.0);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef(0.0, 0.0, -15.0);
-}
-
-
-static void
-Key(unsigned char key, int x, int y)
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- glutDestroyWindow(Win);
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void
-SpecialKey(int key, int x, int y)
-{
- (void) x;
- (void) y;
- switch (key) {
- }
- glutPostRedisplay();
-}
-
-
-static void
-InitFBOs(void)
-{
- GLuint w, h, lvl;
-
- /* Src */
- glGenTextures(1, &SrcTex);
- glBindTexture(SrcTexTarget, SrcTex);
- w = SrcWidth;
- h = SrcHeight;
- lvl = 0;
- for (lvl = 0; ; lvl++) {
- if (SrcTexTarget == GL_TEXTURE_CUBE_MAP) {
- GLuint f;
- for (f = 0; f < 6; f++) {
- glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + f, lvl, GL_RGBA8,
- w, h, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL);
- }
- }
- else {
- /* single face */
- glTexImage2D(SrcTexFace, lvl, GL_RGBA8, w, h, 0,
- GL_RGBA, GL_UNSIGNED_BYTE, NULL);
- }
- if (w == 1 && h == 1)
- break;
- if (w > 1)
- w /= 2;
- if (h > 1)
- h /= 2;
- }
-
- glGenFramebuffersEXT(1, &SrcFB);
- glBindFramebufferEXT(GL_FRAMEBUFFER, SrcFB);
- glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT,
- SrcTexFace, SrcTex, SrcTexLevel);
-
- /* Dst */
- glGenTextures(1, &DstTex);
- glBindTexture(DstTexTarget, DstTex);
- w = DstWidth;
- h = DstHeight;
- lvl = 0;
- for (lvl = 0; ; lvl++) {
- glTexImage2D(DstTexFace, lvl, GL_RGBA8, w, h, 0,
- GL_RGBA, GL_UNSIGNED_BYTE, NULL);
- if (w == 1 && h == 1)
- break;
- if (w > 1)
- w /= 2;
- if (h > 1)
- h /= 2;
- }
-
- glGenFramebuffersEXT(1, &DstFB);
- glBindFramebufferEXT(GL_FRAMEBUFFER, DstFB);
- glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT,
- DstTexFace, DstTex, DstTexLevel);
-}
-
-
-static void
-Init(void)
-{
- if (!glutExtensionSupported("GL_EXT_framebuffer_object")) {
- fprintf(stderr, "This test requires GL_EXT_framebuffer_object\n");
- exit(1);
- }
-
- if (!glutExtensionSupported("GL_EXT_framebuffer_blit")) {
- fprintf(stderr, "This test requires GL_EXT_framebuffer_blit,\n");
- exit(1);
- }
-
- InitFBOs();
-
- printf("Left rect = src FBO, Right rect = dst FBO.\n");
- printf("Both should be green.\n");
-}
-
-
-int
-main(int argc, char *argv[])
-{
- glutInit(&argc, argv);
- glutInitWindowSize(WinWidth, WinHeight);
- glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
- Win = glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutSpecialFunc(SpecialKey);
- glutDisplayFunc(Draw);
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/bufferobj.c b/progs/tests/bufferobj.c
deleted file mode 100644
index d4ca270016..0000000000
--- a/progs/tests/bufferobj.c
+++ /dev/null
@@ -1,511 +0,0 @@
-/*
- * Test GL_ARB_vertex_buffer_object
- * Also test GL_ARB_vertex_array_object if supported
- *
- * Brian Paul
- * 16 Sep 2003
- */
-
-
-#include <assert.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-#define NUM_OBJECTS 10
-
-struct object
-{
- GLuint ArrayObjectID; /** GL_ARB_vertex_array_object */
- GLuint VertexBufferID;
- GLuint ColorBufferID;
- GLuint ElementsBufferID;
- GLuint NumVerts;
- GLuint VertexOffset;
- GLuint ColorOffset;
- GLuint VertexStride;
- GLuint ColorStride;
- GLuint NumElements;
-};
-
-static struct object Objects[NUM_OBJECTS];
-static GLuint NumObjects;
-
-static GLuint Win;
-
-static GLfloat Xrot = 0, Yrot = 0, Zrot = 0;
-static GLboolean Anim = GL_TRUE;
-static GLboolean Have_ARB_vertex_array_object = GL_FALSE;
-
-
-static void CheckError(int line)
-{
- GLenum err = glGetError();
- if (err) {
- printf("GL Error 0x%x at line %d\n", (int) err, line);
- }
-}
-
-
-static void DrawObject( const struct object *obj )
-{
- if (Have_ARB_vertex_array_object && obj->ArrayObjectID) {
- glBindVertexArray(obj->ArrayObjectID);
-
- if (obj->NumElements > 0) {
- /* indexed arrays */
- glBindBufferARB(GL_ELEMENT_ARRAY_BUFFER_ARB, obj->ElementsBufferID);
- glDrawElements(GL_LINE_LOOP, obj->NumElements, GL_UNSIGNED_INT, NULL);
- }
- else {
- /* non-indexed arrays */
- glBindBufferARB(GL_ELEMENT_ARRAY_BUFFER_ARB, 0);
- glDrawArrays(GL_LINE_LOOP, 0, obj->NumVerts);
- }
-
- glBindVertexArray(0);
- }
- else {
- /* no vertex array objects, must set vertex/color pointers per draw */
-
- glBindBufferARB(GL_ARRAY_BUFFER_ARB, obj->VertexBufferID);
- glVertexPointer(3, GL_FLOAT, obj->VertexStride, (void *) obj->VertexOffset);
- glEnableClientState(GL_VERTEX_ARRAY);
-
- /* test push/pop attrib */
- /* XXX this leads to a segfault with NVIDIA's 53.36 driver */
-#if 0
- if (1)
- {
- glPushClientAttrib(GL_CLIENT_VERTEX_ARRAY_BIT);
- /*glVertexPointer(3, GL_FLOAT, 0, (void *) (obj->VertexOffset + 10000));*/
- glBindBufferARB(GL_ARRAY_BUFFER_ARB, 999999);
- glPopClientAttrib();
- }
-#endif
- glBindBufferARB(GL_ARRAY_BUFFER_ARB, obj->ColorBufferID);
- glColorPointer(3, GL_FLOAT, obj->ColorStride, (void *) obj->ColorOffset);
- glEnableClientState(GL_COLOR_ARRAY);
-
- if (obj->NumElements > 0) {
- /* indexed arrays */
- glBindBufferARB(GL_ELEMENT_ARRAY_BUFFER_ARB, obj->ElementsBufferID);
- glDrawElements(GL_LINE_LOOP, obj->NumElements, GL_UNSIGNED_INT, NULL);
- }
- else {
- /* non-indexed arrays */
- glBindBufferARB(GL_ELEMENT_ARRAY_BUFFER_ARB, 0);
- glDrawArrays(GL_LINE_LOOP, 0, obj->NumVerts);
- }
- }
-}
-
-
-static void Idle( void )
-{
- Zrot = 0.05 * glutGet(GLUT_ELAPSED_TIME);
- glutPostRedisplay();
-}
-
-
-static void Display( void )
-{
- int i;
-
- glClear( GL_COLOR_BUFFER_BIT );
-
- for (i = 0; i < NumObjects; i++) {
- float x = 7.0 * ((float) i / (NumObjects-1) - 0.5);
- glPushMatrix();
- glTranslatef(x, 0, 0);
- glRotatef(Xrot, 1, 0, 0);
- glRotatef(Yrot, 0, 1, 0);
- glRotatef(Zrot, 0, 0, 1);
-
- DrawObject(Objects + i);
-
- glPopMatrix();
- }
-
- CheckError(__LINE__);
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- float ar = (float) width / (float) height;
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -ar, ar, -1.0, 1.0, 5.0, 25.0 );
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -15.0 );
-}
-
-
-static void FreeBuffers(void)
-{
- int i;
- for (i = 0; i < NUM_OBJECTS; i++) {
- glDeleteBuffersARB(1, &Objects[i].VertexBufferID);
- glDeleteBuffersARB(1, &Objects[i].ColorBufferID);
- glDeleteBuffersARB(1, &Objects[i].ElementsBufferID);
- }
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- const GLfloat step = 3.0;
- (void) x;
- (void) y;
- switch (key) {
- case 'a':
- Anim = !Anim;
- if (Anim)
- glutIdleFunc(Idle);
- else
- glutIdleFunc(NULL);
- break;
- case 'z':
- Zrot -= step;
- break;
- case 'Z':
- Zrot += step;
- break;
- case 27:
- FreeBuffers();
- glutDestroyWindow(Win);
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void SpecialKey( int key, int x, int y )
-{
- const GLfloat step = 3.0;
- (void) x;
- (void) y;
- switch (key) {
- case GLUT_KEY_UP:
- Xrot -= step;
- break;
- case GLUT_KEY_DOWN:
- Xrot += step;
- break;
- case GLUT_KEY_LEFT:
- Yrot -= step;
- break;
- case GLUT_KEY_RIGHT:
- Yrot += step;
- break;
- }
- glutPostRedisplay();
-}
-
-
-/**
- * If GL_ARB_vertex_array_object is supported, create an array object
- * and set all the per-array state.
- */
-static void
-CreateVertexArrayObject(struct object *obj)
-{
- glGenVertexArrays(1, &obj->ArrayObjectID);
- glBindVertexArray(obj->ArrayObjectID);
-
- glBindBufferARB(GL_ARRAY_BUFFER_ARB, obj->VertexBufferID);
- glVertexPointer(3, GL_FLOAT, obj->VertexStride, (void *) obj->VertexOffset);
- glEnableClientState(GL_VERTEX_ARRAY);
-
- glBindBufferARB(GL_ARRAY_BUFFER_ARB, obj->ColorBufferID);
- glColorPointer(3, GL_FLOAT, obj->ColorStride, (void *) obj->ColorOffset);
- glEnableClientState(GL_COLOR_ARRAY);
-
- glBindVertexArray(0);
-}
-
-
-/*
- * Non-interleaved position/color data.
- */
-static void MakeObject1(struct object *obj)
-{
- GLfloat *v, *c;
- void *p;
- int i;
- GLubyte buffer[500];
-
- for (i = 0; i < 500; i++)
- buffer[i] = i & 0xff;
-
- obj->VertexBufferID = 0;
- glGenBuffersARB(1, &obj->VertexBufferID);
- obj->ColorBufferID = obj->VertexBufferID;
- assert(obj->VertexBufferID != 0);
- glBindBufferARB(GL_ARRAY_BUFFER_ARB, obj->VertexBufferID);
- glBufferDataARB(GL_ARRAY_BUFFER_ARB, 500, buffer, GL_STATIC_DRAW_ARB);
-
- for (i = 0; i < 500; i++)
- buffer[i] = 0;
-
- glGetBufferSubDataARB(GL_ARRAY_BUFFER_ARB, 0, 500, buffer);
-
- for (i = 0; i < 500; i++)
- assert(buffer[i] == (i & 0xff));
-
- glGetBufferParameterivARB(GL_ARRAY_BUFFER_ARB, GL_BUFFER_MAPPED_ARB, &i);
- assert(!i);
-
- glGetBufferParameterivARB(GL_ARRAY_BUFFER_ARB, GL_BUFFER_USAGE_ARB, &i);
-
- v = (GLfloat *) glMapBufferARB(GL_ARRAY_BUFFER_ARB, GL_WRITE_ONLY_ARB);
-
- /* do some sanity tests */
- glGetBufferPointervARB(GL_ARRAY_BUFFER_ARB, GL_BUFFER_MAP_POINTER_ARB, &p);
- assert(p == v);
-
- glGetBufferParameterivARB(GL_ARRAY_BUFFER_ARB, GL_BUFFER_SIZE_ARB, &i);
- assert(i == 500);
-
- glGetBufferParameterivARB(GL_ARRAY_BUFFER_ARB, GL_BUFFER_USAGE_ARB, &i);
- assert(i == GL_STATIC_DRAW_ARB);
-
- glGetBufferParameterivARB(GL_ARRAY_BUFFER_ARB, GL_BUFFER_ACCESS_ARB, &i);
- assert(i == GL_WRITE_ONLY_ARB);
-
- glGetBufferParameterivARB(GL_ARRAY_BUFFER_ARB, GL_BUFFER_MAPPED_ARB, &i);
- assert(i);
-
- /* Make rectangle */
- v[0] = -1; v[1] = -1; v[2] = 0;
- v[3] = 1; v[4] = -1; v[5] = 0;
- v[6] = 1; v[7] = 1; v[8] = 0;
- v[9] = -1; v[10] = 1; v[11] = 0;
- c = v + 12;
- c[0] = 1; c[1] = 0; c[2] = 0;
- c[3] = 1; c[4] = 0; c[5] = 0;
- c[6] = 1; c[7] = 0; c[8] = 1;
- c[9] = 1; c[10] = 0; c[11] = 1;
- obj->NumVerts = 4;
- obj->VertexOffset = 0;
- obj->ColorOffset = 3 * sizeof(GLfloat) * obj->NumVerts;
- obj->VertexStride = 0;
- obj->ColorStride = 0;
- obj->NumElements = 0;
-
- glUnmapBufferARB(GL_ARRAY_BUFFER_ARB);
-
- glGetBufferPointervARB(GL_ARRAY_BUFFER_ARB, GL_BUFFER_MAP_POINTER_ARB, &p);
- assert(!p);
-
- glGetBufferParameterivARB(GL_ARRAY_BUFFER_ARB, GL_BUFFER_MAPPED_ARB, &i);
- assert(!i);
-
- if (Have_ARB_vertex_array_object) {
- CreateVertexArrayObject(obj);
- }
-}
-
-
-/*
- * Interleaved position/color data.
- */
-static void MakeObject2(struct object *obj)
-{
- GLfloat *v;
- int start = 40; /* bytes, to test non-zero array offsets */
-
- glGenBuffersARB(1, &obj->VertexBufferID);
- obj->ColorBufferID = obj->VertexBufferID;
-
- glBindBufferARB(GL_ARRAY_BUFFER_ARB, obj->VertexBufferID);
- glBufferDataARB(GL_ARRAY_BUFFER_ARB, 1000, NULL, GL_STATIC_DRAW_ARB);
- v = (GLfloat *) glMapBufferARB(GL_ARRAY_BUFFER_ARB, GL_WRITE_ONLY_ARB);
-
- v += start / sizeof(GLfloat);
-
- /* Make triangle: interleaved colors, then positions */
- /* R G B X Y Z */
- v[0] = 0; v[1] = 1; v[2] = 0; v[3] = -1; v[4] = -1; v[5] = 0;
- v[6] = 0; v[7] = 1; v[8] = 0; v[9] = 1; v[10] = -1; v[11] = 0;
- v[12] = 1; v[13] = 1; v[14] = 0; v[15] = 0; v[16] = 1; v[17] = 0;
-
- obj->NumVerts = 3;
- obj->VertexOffset = start + 3 * sizeof(GLfloat);
- obj->ColorOffset = start;
- obj->VertexStride = 6 * sizeof(GLfloat);
- obj->ColorStride = 6 * sizeof(GLfloat);
-
- obj->NumElements = 0;
-
- glUnmapBufferARB(GL_ARRAY_BUFFER_ARB);
-
- if (Have_ARB_vertex_array_object) {
- CreateVertexArrayObject(obj);
- }
-}
-
-
-/*
- * Use an index buffer and glDrawElements().
- */
-static void MakeObject3(struct object *obj)
-{
- GLfloat vertexData[1000];
- GLfloat *v, *c;
- GLuint *i;
- int bytes;
-
- /* Make rectangle */
- v = vertexData;
- v[0] = -1; v[1] = -0.5; v[2] = 0;
- v[3] = 1; v[4] = -0.5; v[5] = 0;
- v[6] = 1; v[7] = 0.5; v[8] = 0;
- v[9] = -1; v[10] = 0.5; v[11] = 0;
- c = vertexData + 12;
- c[0] = 0; c[1] = 0; c[2] = 1;
- c[3] = 0; c[4] = 0; c[5] = 1;
- c[6] = 0; c[7] = 1; c[8] = 1;
- c[9] = 0; c[10] = 1; c[11] = 1;
- obj->NumVerts = 4;
- obj->VertexOffset = 0;
- obj->ColorOffset = 3 * sizeof(GLfloat) * obj->NumVerts;
- obj->VertexStride = 0;
- obj->ColorStride = 0;
-
- bytes = obj->NumVerts * (3 + 3) * sizeof(GLfloat);
-
- /* Don't use glMap/UnmapBuffer for this object */
- glGenBuffersARB(1, &obj->VertexBufferID);
- obj->ColorBufferID = obj->VertexBufferID;
-
- glBindBufferARB(GL_ARRAY_BUFFER_ARB, obj->VertexBufferID);
- glBufferDataARB(GL_ARRAY_BUFFER_ARB, bytes, vertexData, GL_STATIC_DRAW_ARB);
-
- /* Setup a buffer of indices to test the ELEMENTS path */
- glGenBuffersARB(1, &obj->ElementsBufferID);
- glBindBufferARB(GL_ELEMENT_ARRAY_BUFFER_ARB, obj->ElementsBufferID);
- glBufferDataARB(GL_ELEMENT_ARRAY_BUFFER_ARB, 100, NULL, GL_STATIC_DRAW_ARB);
- i = (GLuint *) glMapBufferARB(GL_ELEMENT_ARRAY_BUFFER_ARB, GL_READ_WRITE_ARB);
- i[0] = 0;
- i[1] = 1;
- i[2] = 2;
- i[3] = 3;
- glUnmapBufferARB(GL_ELEMENT_ARRAY_BUFFER_ARB);
- obj->NumElements = 4;
-
- if (Have_ARB_vertex_array_object) {
- CreateVertexArrayObject(obj);
- }
-}
-
-
-/*
- * Vertex and color data in different buffers.
- */
-static void MakeObject4(struct object *obj)
-{
- static const GLfloat vertexData[] = {
- 0, -1, 0,
- 0.5, 0, 0,
- 0, 1, 0,
- -0.5, 0, 0
- };
- static const GLfloat colorData[] = {
- 1, 1, 1,
- 1, 1, 0,
- .5, .5, 0,
- 1, 1, 0
- };
-
- obj->VertexOffset = 0;
- obj->VertexStride = 0;
- obj->ColorOffset = 0;
- obj->ColorStride = 0;
- obj->NumVerts = 4;
-
- glGenBuffersARB(1, &obj->VertexBufferID);
- glBindBufferARB(GL_ARRAY_BUFFER_ARB, obj->VertexBufferID);
- glBufferDataARB(GL_ARRAY_BUFFER_ARB, sizeof(vertexData), vertexData,
- GL_STATIC_DRAW_ARB);
-
- glGenBuffersARB(1, &obj->ColorBufferID);
- glBindBufferARB(GL_ARRAY_BUFFER_ARB, obj->ColorBufferID);
- glBufferDataARB(GL_ARRAY_BUFFER_ARB, sizeof(colorData), colorData,
- GL_STATIC_DRAW_ARB);
-
- /* Setup a buffer of indices to test the ELEMENTS path */
- obj->ElementsBufferID = 0;
- obj->NumElements = 0;
-
- if (Have_ARB_vertex_array_object) {
- CreateVertexArrayObject(obj);
- }
-}
-
-
-
-static void Init( void )
-{
- if (!glutExtensionSupported("GL_ARB_vertex_buffer_object")) {
- printf("GL_ARB_vertex_buffer_object not found!\n");
- exit(0);
- }
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
-
- Have_ARB_vertex_array_object =
- glutExtensionSupported("GL_ARB_vertex_array_object");
-
- printf("Using GL_ARB_vertex_array_object: %s\n",
- (Have_ARB_vertex_array_object ? "yes" : "no"));
-
-
- /* Test buffer object deletion */
- if (1) {
- static GLubyte data[1000];
- GLuint id = 999;
- glBindBufferARB(GL_ARRAY_BUFFER_ARB, id);
- glBufferDataARB(GL_ARRAY_BUFFER_ARB, 1000, data, GL_STATIC_DRAW_ARB);
- glVertexPointer(3, GL_FLOAT, 0, (void *) 0);
- glDeleteBuffersARB(1, &id);
- assert(!glIsBufferARB(id));
- glBindBufferARB(GL_ARRAY_BUFFER_ARB, 0);
- glVertexPointer(3, GL_FLOAT, 0, (void *) 0);
- assert(!glIsBufferARB(id));
- }
-
- memset(Objects, 0, sizeof(Objects));
- MakeObject1(Objects + 0);
- MakeObject2(Objects + 1);
- MakeObject3(Objects + 2);
- MakeObject4(Objects + 3);
- NumObjects = 4;
-}
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 600, 300 );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE );
- Win = glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutSpecialFunc( SpecialKey );
- glutDisplayFunc( Display );
- if (Anim)
- glutIdleFunc(Idle);
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/bug_3050.c b/progs/tests/bug_3050.c
deleted file mode 100644
index a04e40eaf6..0000000000
--- a/progs/tests/bug_3050.c
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * (C) Copyright IBM Corporation 2006
- * 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
- * on the rights to use, copy, modify, merge, publish, distribute, sub
- * license, 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 (including the next
- * paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
- * VA LINUX SYSTEM, IBM AND/OR THEIR SUPPLIERS 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.
- */
-
-/**
- * \file bug_3050.c
- *
- * Simple regression test for bug #3050. Create a texture and make a few
- * calls to \c glGetTexLevelParameteriv. If the bug still exists, trying
- * to get \c GL_TEXTURE_WITDH will cause a protocol error.
- *
- * This test \b only applies to indirect-rendering. This may mean that the
- * test needs to be run with the environment variable \c LIBGL_ALWAYS_INDIRECT
- * set to a non-zero value.
- *
- * \author Ian Romanick <idr@us.ibm.com>
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-static int Width = 400;
-static int Height = 200;
-static const GLfloat Near = 5.0, Far = 25.0;
-
-
-static void Display( void )
-{
-}
-
-
-static void Reshape( int width, int height )
-{
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void Init( void )
-{
- unsigned i;
- static const GLenum pnames[] = {
- GL_TEXTURE_RED_SIZE,
- GL_TEXTURE_GREEN_SIZE,
- GL_TEXTURE_BLUE_SIZE,
- GL_TEXTURE_ALPHA_SIZE,
- GL_TEXTURE_LUMINANCE_SIZE,
- GL_TEXTURE_INTENSITY_SIZE,
- GL_TEXTURE_BORDER,
- GL_TEXTURE_INTERNAL_FORMAT,
- GL_TEXTURE_WIDTH,
- GL_TEXTURE_HEIGHT,
- GL_TEXTURE_DEPTH,
- ~0
- };
-
-
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- printf("GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
-
- printf("\nThis program should log some data about a texture and exit.\n");
- printf("This is a regression test for bug #3050. If the bug still\n");
- printf("exists, a GLX protocol error will be generated.\n");
- printf("https://bugs.freedesktop.org/show_bug.cgi?id=3050\n\n");
-
-
- if ( ! glutExtensionSupported( "GL_NV_texture_rectangle" )
- && ! glutExtensionSupported( "GL_EXT_texture_rectangle" )
- && ! glutExtensionSupported( "GL_ARB_texture_rectangle" ) ) {
- printf( "This test requires one of GL_ARB_texture_rectangle, GL_EXT_texture_rectangle,\n"
- "or GL_NV_texture_rectangle be supported\n." );
- exit( 1 );
- }
-
-
- glBindTexture( GL_TEXTURE_RECTANGLE_NV, 1 );
- glTexImage2D( GL_PROXY_TEXTURE_RECTANGLE_NV, 0, GL_RGBA, 8, 8, 0,
- GL_RGBA, GL_UNSIGNED_BYTE, NULL );
-
- for ( i = 0 ; pnames[i] != ~0 ; i++ ) {
- GLint param_i;
- GLfloat param_f;
- GLenum err;
-
- glGetTexLevelParameteriv( GL_PROXY_TEXTURE_RECTANGLE_NV, 0, pnames[i], & param_i );
- err = glGetError();
-
- if ( err ) {
- printf("glGetTexLevelParameteriv(GL_PROXY_TEXTURE_RECTANGLE_NV, 0, 0x%04x, & param) generated a GL\n"
- "error of 0x%04x!",
- pnames[i], err );
- exit( 1 );
- }
- else {
- printf("glGetTexLevelParameteriv(GL_PROXY_TEXTURE_RECTANGLE_NV, 0, 0x%04x, & param) = 0x%04x\n",
- pnames[i], param_i );
- }
-
-
- glGetTexLevelParameterfv( GL_PROXY_TEXTURE_RECTANGLE_NV, 0, pnames[i], & param_f );
- err = glGetError();
-
- if ( err ) {
- printf("glGetTexLevelParameterfv(GL_PROXY_TEXTURE_RECTANGLE_NV, 0, 0x%04x, & param) generated a GL\n"
- "error of 0x%04x!\n",
- pnames[i], err );
- exit( 1 );
- }
- else {
- printf("glGetTexLevelParameterfv(GL_PROXY_TEXTURE_RECTANGLE_NV, 0, 0x%04x, & param) = %.1f (0x%04x)\n",
- pnames[i], param_f, (GLint) param_f );
- }
- }
-}
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( Width, Height );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE );
- glutCreateWindow( "Bug #3050 Test" );
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- Init();
- return 0;
-}
diff --git a/progs/tests/bug_3101.c b/progs/tests/bug_3101.c
deleted file mode 100644
index 06a9776155..0000000000
--- a/progs/tests/bug_3101.c
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * (C) Copyright IBM Corporation 2005
- * 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
- * on the rights to use, copy, modify, merge, publish, distribute, sub
- * license, 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 (including the next
- * paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
- * VA LINUX SYSTEM, IBM AND/OR THEIR SUPPLIERS 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.
- */
-
-/**
- * \file bug_3101.c
- *
- * Simple regression test for bug #3101. Attempt to draw a single square.
- * After emiting the first vertex, call \c glEdgeFlag to change the vertex
- * format. If the bug still exists, this will cause a segfault.
- *
- * \author Ian Romanick <idr@us.ibm.com>
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-static int Width = 400;
-static int Height = 200;
-static const GLfloat Near = 5.0, Far = 25.0;
-
-
-static void Display( void )
-{
- glClearColor(0.2, 0.2, 0.8, 0);
- glClear( GL_COLOR_BUFFER_BIT );
-
- glPushMatrix();
-
- /* This is the "reference" square.
- */
-
- glTranslatef(-4.5, 0, 0);
- glBlendEquation( GL_FUNC_ADD );
- glBlendFunc( GL_ONE, GL_ZERO );
- glBegin(GL_QUADS);
- glColor3f( 0.5, 0.5, 0.5 );
- glVertex2f(-1, -1);
- glVertex2f( 1, -1);
- glEdgeFlag(GL_TRUE);
- glVertex2f( 1, 1);
- glVertex2f(-1, 1);
- glEnd();
-
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- GLfloat ar = (float) width / (float) height;
- Width = width;
- Height = height;
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -ar, ar, -1.0, 1.0, Near, Far );
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -15.0 );
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void Init( void )
-{
- const char * const ver_string = (const char * const)
- glGetString( GL_VERSION );
-
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- printf("GL_VERSION = %s\n", ver_string);
-
- printf("\nThis program should draw a single square, but not crash.\n");
- printf("This is a regression test for bug #3101.\n");
- printf("https://bugs.freedesktop.org/show_bug.cgi?id=3101\n");
- glEnable( GL_BLEND );
-}
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( Width, Height );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE );
- glutCreateWindow( "Bug #3101 Test" );
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/bug_3195.c b/progs/tests/bug_3195.c
deleted file mode 100644
index a075b94e37..0000000000
--- a/progs/tests/bug_3195.c
+++ /dev/null
@@ -1,277 +0,0 @@
-/*
- * Copyright (C) 2000 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
- * BRIAN PAUL 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.
- */
-
-/**
- * \file bug_3195.c
- *
- * Simple regression test for bug #3195. A bug in the i180 driver caused
- * a segfault (inside the driver) when the LOD bias is adjusted and no texture
- * is enabled. This test, which is based on progs/demos/lodbias.c, sets up
- * all the texturing, disables all textures, adjusts the LOD bias, then
- * re-enables \c GL_TEXTURE_2D.
- *
- * \author Brian Paul
- * \author Ian Romanick <idr@us.ibm.com>
- */
-
-#include <assert.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-#include <GL/glext.h>
-
-#include "readtex.h"
-
-#define TEXTURE_FILE "../images/girl.rgb"
-
-static GLfloat Xrot = 0, Yrot = -30, Zrot = 0;
-static GLint Bias = 0, BiasStepSign = +1; /* ints avoid fp precision problem */
-static GLint BiasMin = -400, BiasMax = 400;
-
-
-
-static void
-PrintString(const char *s)
-{
- while (*s) {
- glutBitmapCharacter(GLUT_BITMAP_8_BY_13, (int) *s);
- s++;
- }
-}
-
-static void Idle( void )
-{
- static int lastTime = 0;
- int time = glutGet(GLUT_ELAPSED_TIME);
- int step;
-
- if (lastTime == 0)
- lastTime = time;
- else if (time - lastTime < 10)
- return;
-
- step = (time - lastTime) / 10 * BiasStepSign;
- lastTime = time;
-
- Bias += step;
- if (Bias < BiasMin) {
- exit(0);
- }
- else if (Bias > BiasMax) {
- Bias = BiasMax;
- BiasStepSign = -1;
- }
-
- glutPostRedisplay();
-}
-
-
-static void Display( void )
-{
- char str[100];
-
- glClear( GL_COLOR_BUFFER_BIT );
-
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glOrtho(-1, 1, -1, 1, -1, 1);
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
-
- glDisable(GL_TEXTURE_2D);
- glColor3f(1,1,1);
- glRasterPos3f(-0.9, -0.9, 0.0);
- sprintf(str, "Texture LOD Bias = %4.1f", Bias * 0.01);
- PrintString(str);
-
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -1.0, 1.0, -1.0, 1.0, 5.0, 25.0 );
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -8.0 );
-
- glPushMatrix();
- glRotatef(Xrot, 1, 0, 0);
- glRotatef(Yrot, 0, 1, 0);
- glRotatef(Zrot, 0, 0, 1);
-
- glTexEnvf(GL_TEXTURE_FILTER_CONTROL_EXT, GL_TEXTURE_LOD_BIAS_EXT, 0.01 * Bias);
- glEnable(GL_TEXTURE_2D);
-
- glBegin(GL_POLYGON);
- glTexCoord2f(0, 0); glVertex2f(-1, -1);
- glTexCoord2f(2, 0); glVertex2f( 1, -1);
- glTexCoord2f(2, 2); glVertex2f( 1, 1);
- glTexCoord2f(0, 2); glVertex2f(-1, 1);
- glEnd();
-
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void SpecialKey( int key, int x, int y )
-{
- const GLfloat step = 3.0;
- (void) x;
- (void) y;
- switch (key) {
- case GLUT_KEY_UP:
- Xrot -= step;
- break;
- case GLUT_KEY_DOWN:
- Xrot += step;
- break;
- case GLUT_KEY_LEFT:
- Yrot -= step;
- break;
- case GLUT_KEY_RIGHT:
- Yrot += step;
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void Init( void )
-{
- GLfloat maxBias;
- const char * const ver_string = (const char * const)
- glGetString( GL_VERSION );
-
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- printf("GL_VERSION = %s\n", ver_string);
-
- printf("\nThis program should function nearly identically to Mesa's lodbias demo.\n"
- "It should cycle through the complet LOD bias range once and exit. If bug\n"
- "#3195 still exists, the demo should crash almost immediatly.\n");
- printf("This is a regression test for bug #3195.\n");
- printf("https://bugs.freedesktop.org/show_bug.cgi?id=3195\n");
-
- if (!glutExtensionSupported("GL_EXT_texture_lod_bias")) {
- printf("Sorry, GL_EXT_texture_lod_bias not supported by this renderer.\n");
- exit(1);
- }
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
-
- if (glutExtensionSupported("GL_SGIS_generate_mipmap")) {
- /* test auto mipmap generation */
- GLint width, height, i;
- GLenum format;
- GLubyte *image = LoadRGBImage(TEXTURE_FILE, &width, &height, &format);
- if (!image) {
- printf("Error: could not load texture image %s\n", TEXTURE_FILE);
- exit(1);
- }
- /* resize to 256 x 256 */
- if (width != 256 || height != 256) {
- GLubyte *newImage = malloc(256 * 256 * 4);
- gluScaleImage(format, width, height, GL_UNSIGNED_BYTE, image,
- 256, 256, GL_UNSIGNED_BYTE, newImage);
- free(image);
- image = newImage;
- }
- printf("Using GL_SGIS_generate_mipmap\n");
- glTexParameteri(GL_TEXTURE_2D, GL_GENERATE_MIPMAP_SGIS, GL_TRUE);
- glTexImage2D(GL_TEXTURE_2D, 0, format, 256, 256, 0,
- format, GL_UNSIGNED_BYTE, image);
- free(image);
-
- /* make sure mipmap was really generated correctly */
- width = height = 256;
- for (i = 0; i < 9; i++) {
- GLint w, h;
- glGetTexLevelParameteriv(GL_TEXTURE_2D, i, GL_TEXTURE_WIDTH, &w);
- glGetTexLevelParameteriv(GL_TEXTURE_2D, i, GL_TEXTURE_HEIGHT, &h);
- printf("Level %d size: %d x %d\n", i, w, h);
- assert(w == width);
- assert(h == height);
- width /= 2;
- height /= 2;
- }
-
- }
- else if (!LoadRGBMipmaps(TEXTURE_FILE, GL_RGB)) {
- printf("Error: could not load texture image %s\n", TEXTURE_FILE);
- exit(1);
- }
-
- /* mipmapping required for this extension */
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
- glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
-
- glGetFloatv(GL_MAX_TEXTURE_LOD_BIAS_EXT, &maxBias);
- printf("LOD bias range: [%g, %g]\n", -maxBias, maxBias);
- BiasMin = -100 * maxBias;
- BiasMax = 100 * maxBias;
-
- /* Since we have (about) 8 mipmap levels, no need to bias beyond
- * the range [-1, +8].
- */
- if (BiasMin < -100)
- BiasMin = -100;
- if (BiasMax > 800)
- BiasMax = 800;
-}
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 350, 350 );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE );
- glutCreateWindow( "Bug #3195 Test" );
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutSpecialFunc( SpecialKey );
- glutDisplayFunc( Display );
- glutIdleFunc(Idle);
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/bug_texstore_i8.c b/progs/tests/bug_texstore_i8.c
deleted file mode 100644
index b070011bd2..0000000000
--- a/progs/tests/bug_texstore_i8.c
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-/*
- * Based on the trivial/quad-tex-2d program.
- * Modified by Jakob Bornecrantz <jakob@tungstengraphics.com>
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-static GLenum Target = GL_TEXTURE_2D;
-static GLenum Filter = GL_NEAREST;
-GLenum doubleBuffer;
-static float Rot = 0;
-static int win = 0;
-
-static void Init(void)
-{
- int internalFormat;
- int sourceFormat;
-
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-
-#define SIZE 16
- {
- GLubyte tex2d[SIZE][SIZE][4];
- GLint s, t;
-
- for (s = 0; s < SIZE; s++) {
- for (t = 0; t < SIZE; t++) {
- tex2d[t][s][0] = 0xff;
- tex2d[t][s][1] = 0xff;
- tex2d[t][s][2] = 0xff;
- tex2d[t][s][3] = 0xff;
- }
- }
-
- internalFormat = GL_LUMINANCE8;
- sourceFormat = GL_RGBA;
-
- glTexImage2D(Target,
- 0,
- internalFormat,
- SIZE, SIZE,
- 0,
- sourceFormat,
- GL_UNSIGNED_BYTE,
- /* GL_UNSIGNED_INT, */
- tex2d);
-
- glEnable(Target);
- glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
- glTexParameterf(Target, GL_TEXTURE_WRAP_R, GL_REPEAT);
- glTexParameterf(Target, GL_TEXTURE_MIN_FILTER, Filter);
- glTexParameterf(Target, GL_TEXTURE_MAG_FILTER, Filter);
- }
-}
-
-static void Reshape(int width, int height)
-{
- glViewport(0, 0, (GLint)width, (GLint)height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
-#if 0
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
-#else
- glFrustum(-1, 1, -1, 1, 10, 20);
-#endif
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef(0, 0, -15);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
- switch (key) {
- case 'r':
- Rot += 10.0;
- break;
- case 'R':
- Rot -= 10.0;
- break;
- case 27:
- glutDestroyWindow(win);
- exit(0);
- default:
- return;
- }
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glPushMatrix();
- glRotatef(Rot, 0, 1, 0);
-
- glBegin(GL_QUADS);
- glTexCoord2f(1,0);
- glVertex3f( 0.9, -0.9, 0.0);
- glTexCoord2f(1,1);
- glVertex3f( 0.9, 0.9, 0.0);
- glTexCoord2f(0,1);
- glVertex3f(-0.9, 0.9, 0.0);
- glTexCoord2f(0,0);
- glVertex3f(-0.9, -0.9, 0.0);
- glEnd();
-
- glPopMatrix();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0);
- glutInitWindowSize(250, 250);
-
- type = GLUT_RGB;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- win = glutCreateWindow("Tex test");
- glewInit();
- if (!win) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/bumpmap.c b/progs/tests/bumpmap.c
deleted file mode 100644
index 1b7ec2c135..0000000000
--- a/progs/tests/bumpmap.c
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
- * Copyright (c) 2009 VMware, Inc.
- * 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
- * on the rights to use, copy, modify, merge, publish, distribute, sub
- * license, 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 (including the next
- * paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
- * VA LINUX SYSTEM, IBM AND/OR THEIR SUPPLIERS 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.
- */
-
-/**
- * Simple test for testing ATI_envmap_bumpmap support.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <math.h>
-#include <GL/glut.h>
-
-#include "readtex.h"
-
-static PFNGLGETTEXBUMPPARAMETERFVATIPROC glGetTexBumpParameterfvATI_func = NULL;
-static PFNGLGETTEXBUMPPARAMETERIVATIPROC glGetTexBumpParameterivATI_func = NULL;
-static PFNGLTEXBUMPPARAMETERFVATIPROC glTexBumpParameterfvATI_func = NULL;
-
-static const char *TexFile = "../images/arch.rgb";
-
-static const GLfloat Near = 5.0, Far = 25.0;
-
-static void Display( void )
-{
- /* together with the construction of dudv map, do fixed translation
- in y direction (up), some cosine deformation in x and more
- deformation in y dir */
- GLfloat bumpMatrix[4] = {0.1, 0.0, 0.2, 0.1};
-
-
- glClearColor(0.2, 0.2, 0.8, 0);
- glClear( GL_COLOR_BUFFER_BIT );
-
- glPushMatrix();
-
- /* this is the base map */
- glActiveTexture( GL_TEXTURE0 );
- glEnable( GL_TEXTURE_2D );
- glBindTexture( GL_TEXTURE_2D, 1 );
- glTexEnvf( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE );
- glTexEnvf( GL_TEXTURE_ENV, GL_COMBINE_RGB, GL_REPLACE );
- glTexEnvf( GL_TEXTURE_ENV, GL_SOURCE0_RGB, GL_TEXTURE );
-
- /* bump map */
- glActiveTexture( GL_TEXTURE1 );
- glEnable( GL_TEXTURE_2D );
- glBindTexture( GL_TEXTURE_2D, 2 );
- glTexEnvf( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE );
- glTexEnvf( GL_TEXTURE_ENV, GL_COMBINE_RGB, GL_BUMP_ENVMAP_ATI );
- glTexEnvf( GL_TEXTURE_ENV, GL_BUMP_TARGET_ATI, GL_TEXTURE0);
-
- glTexBumpParameterfvATI_func(GL_BUMP_ROT_MATRIX_ATI, bumpMatrix);
-
- glCallList(1);
-
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- GLfloat ar = (float) width / (float) height;
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -ar, ar, -1.0, 1.0, Near, Far );
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -6.0 );
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void Init( void )
-{
- const char * const ver_string = (const char * const)
- glGetString( GL_VERSION );
- GLfloat temp[16][16][2];
- GLubyte *image = NULL;
- GLint imgWidth, imgHeight;
- GLenum imgFormat;
- GLint i,j;
- GLint param, paramArray[16];
- GLfloat paramMat[4];
-
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- printf("GL_VERSION = %s\n", ver_string);
-
- if ( !glutExtensionSupported("GL_ATI_envmap_bumpmap")) {
- printf("\nSorry, this program requires GL_ATI_envmap_bumpmap\n");
- exit(1);
- }
-
- glGetTexBumpParameterfvATI_func = glutGetProcAddress("glGetTexBumpParameterfvATI");
- glGetTexBumpParameterivATI_func = glutGetProcAddress("glGetTexBumpParameterivATI");
- glTexBumpParameterfvATI_func = glutGetProcAddress("glTexBumpParameterfvATI");
-
- glGetTexBumpParameterivATI_func(GL_BUMP_ROT_MATRIX_SIZE_ATI, &param);
- printf("BUMP_ROT_MATRIX_SIZE_ATI = %d\n", param);
- glGetTexBumpParameterivATI_func(GL_BUMP_NUM_TEX_UNITS_ATI, &param);
- printf("BUMP_NUM_TEX_UNITS_ATI = %d\n", param);
- glGetTexBumpParameterfvATI_func(GL_BUMP_ROT_MATRIX_ATI, paramMat);
- printf("initial rot matrix %f %f %f %f\n", paramMat[0], paramMat[1], paramMat[2], paramMat[3]);
- glGetTexBumpParameterivATI_func(GL_BUMP_TEX_UNITS_ATI, paramArray);
- printf("units supporting bump mapping: ");
- for (i = 0; i < param; i++)
- printf("%d ", paramArray[i] - GL_TEXTURE0);
- printf("\n");
-
- image = LoadRGBImage(TexFile, &imgWidth, &imgHeight, &imgFormat);
- if (!image) {
- printf("Couldn't read %s\n", TexFile);
- exit(0);
- }
-
- glBindTexture( GL_TEXTURE_2D, 1 );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE );
- glTexImage2D( GL_TEXTURE_2D, 0, imgFormat, imgWidth, imgHeight, 0,
- imgFormat, GL_UNSIGNED_BYTE, image );
-
- for (j = 0; j < 16; j++) {
- for (i = 0; i < 16; i++) {
- temp[j][i][0] = cos((float)(i) * 3.1415 / 16.0);
- temp[j][i][1] = -0.5;
- }
- }
- glBindTexture( GL_TEXTURE_2D, 2 );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE );
- glTexImage2D( GL_TEXTURE_2D, 0, GL_DU8DV8_ATI, 16, 16, 0,
- GL_DUDV_ATI, GL_FLOAT, temp );
-
-
- glNewList( 1, GL_COMPILE );
- glBegin(GL_QUADS);
- glColor3f( 0.9, 0.0, 0.0 );
- glMultiTexCoord2f( GL_TEXTURE0, 0.0, 0.0 );
- glMultiTexCoord2f( GL_TEXTURE1, 0.0, 0.0 );
- glVertex2f(-1, -1);
- glMultiTexCoord2f( GL_TEXTURE0, 1.0, 0.0 );
- glMultiTexCoord2f( GL_TEXTURE1, 1.0, 0.0 );
- glVertex2f( 1, -1);
- glMultiTexCoord2f( GL_TEXTURE0, 1.0, 1.0 );
- glMultiTexCoord2f( GL_TEXTURE1, 1.0, 1.0 );
- glVertex2f( 1, 1);
- glMultiTexCoord2f( GL_TEXTURE0, 0.0, 1.0 );
- glMultiTexCoord2f( GL_TEXTURE1, 0.0, 1.0 );
- glVertex2f(-1, 1);
- glEnd();
- glEndList();
-}
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 400, 400 );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE );
- glutCreateWindow( "GL_ATI_envmap_bumpmap test" );
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/calibrate_rast.c b/progs/tests/calibrate_rast.c
deleted file mode 100644
index 5d89ff79c5..0000000000
--- a/progs/tests/calibrate_rast.c
+++ /dev/null
@@ -1,397 +0,0 @@
-/*
- * Automatic primitive rasterization precision test.
- *
- * Draw prims at various sub-pixel offsets and examine where the quad is
- * actually drawn.
- * Check if the range of offsets which paint the right pixels falls within
- * OpenGL's specification.
- * In case of failures, report the coordinate bias needed to fix the problem.
- *
- * Note that even Mesa/swrast fails some line tests. This is because some
- * window coordinates wind up as 53.9999 instead of 54, for example. Enabling
- * the small translation factor below fixes that. Revisit someday...
- *
- * Brian Paul
- * 28 Feb 2008
- */
-
-
-#include <assert.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-
-static int Width = 100, Height = 100;
-static int Win;
-static float Step = 0.125;
-#if 0
-/* This tiny offset fixes errors in Mesa/Xlib */
-static float Xtrans = 0.5 * 0.125;
-static float Ytrans = 0.5 * 0.125;
-#else
-static float Xtrans = 0.0;
-static float Ytrans = 0.0;
-#endif
-
-
-static void
-PointCalibrate(int xpos, int ypos)
-{
- GLfloat rgba[4];
- float x, y;
- float xmin, ymin, xmax, ymax;
-
- xmin = ymin = 1000.0;
- xmax = ymax = -1000.0;
-
- for (y = -1.0; y <= 1.0; y += Step) {
- for (x = -1.0; x <= 1.0; x += Step) {
- glClear(GL_COLOR_BUFFER_BIT);
- glBegin(GL_POINTS);
- glVertex2f(xpos + x, ypos + y);
- glEnd();
- glReadPixels(xpos, ypos, 1, 1, GL_RGBA, GL_FLOAT, rgba);
- if (rgba[0] == 1.0 && rgba[1] == 1.0 && rgba[2] == 1.0) {
- /* hit */
- if (x < xmin)
- xmin = x;
- if (y < ymin)
- ymin = y;
- if (x > xmax)
- xmax = x;
- if (y > ymax)
- ymax = y;
- }
- }
- }
-
- printf("Point at (%2d, %2d) drawn for x in [%6.3f, %6.3f] and y in [%6.3f, %6.3f]\n",
- xpos, ypos,
- xpos + xmin, xpos + xmax,
- ypos + ymin, ypos + ymax);
-
- if (xmax - xmin != 1.0 - Step) {
- printf(" => Inconsistant X-axis rasterization!\n");
- }
- if (ymax - ymin != 1.0 - Step) {
- printf(" => Inconsistant Y-axis rasterization!\n");
- }
- if (xmin < 0.0) {
- printf(" => Points should be X biased by about %f\n", xmin);
- }
- if (ymin < 0.0) {
- printf(" => Points should be Y biased by about %f\n", ymin);
- }
- if (xmax > 1.0) {
- printf(" => Points should be X biased by about %f\n", 1.0 - xmax);
- }
- if (ymax > 1.0) {
- printf(" => Points should be Y biased by about %f\n", 1.0 - ymax);
- }
-
-}
-
-
-/**
- * XXX Implement VLineCalibrate() someday
- */
-static void
-HLineCalibrate(int xpos, int ypos, int len)
-{
- GLfloat rgba[2][4];
- float x, y;
- float ymin, ymax;
- float xmin_left, xmax_left, xmin_right, xmax_right;
-
- xmin_left = xmin_right = 1000.0;
- xmax_left = xmax_right = -1000.0;
- ymin = 1000;
- ymax = -1000.0;
-
- /*
- * First, check vertical positioning of the horizontal line
- */
- for (y = -1.0; y <= 1.0; y += Step) {
- glClear(GL_COLOR_BUFFER_BIT);
- glBegin(GL_LINES);
- glVertex2f(xpos, ypos + y);
- glVertex2f(xpos + len, ypos + y);
- glEnd();
-
- glReadPixels(xpos + len / 2, ypos, 1, 1, GL_RGBA, GL_FLOAT, rgba);
- if (rgba[0][0] == 1.0) {
- /* hit */
- if (y < ymin)
- ymin = y;
- if (y > ymax)
- ymax = y;
- }
- }
-
- printf("H-line at Y=%2d drawn for y in [%6.3f, %6.3f]\n",
- ypos,
- ypos + ymin, ypos + ymax);
-
- if (ymax - ymin != 1.0 - Step) {
- printf(" => Inconsistant Y-axis rasterization!\n");
- }
-
- if (ymin > 0.5 ) {
- printf(" => Lines should be Y biased by about %f\n", ymin - 0.5);
- }
-
- if (ymax < 0.5 ) {
- printf(" => Lines should be Y biased by about %f\n", 0.5 - ymax);
- }
-
- /*
- * Second, check endpoints (for Y at 1/2 pixel)
- */
- for (x = -1.0; x <= 1.0; x += Step) {
- glClear(GL_COLOR_BUFFER_BIT);
- glBegin(GL_LINES);
- glVertex2f(xpos + x, ypos + 0.5f);
- glVertex2f(xpos + x + len, ypos + 0.5f);
- glEnd();
-
- /* left end */
- glReadPixels(xpos - 1, ypos, 2, 1, GL_RGBA, GL_FLOAT, rgba);
- if (rgba[0][0] == 0.0 && rgba[1][0] == 1.0) {
- /* hit */
- if (x < xmin_left)
- xmin_left = x;
- if (x > xmax_left)
- xmax_left = x;
- }
-
- /* right end */
- glReadPixels(xpos + len - 1, ypos, 2, 1, GL_RGBA, GL_FLOAT, rgba);
- if (rgba[0][0] == 1.0 && rgba[1][0] == 0.0) {
- /* hit */
- if (x < xmin_right)
- xmin_right = x;
- if (x > xmax_right)
- xmax_right = x;
- }
- }
-
- printf("H-line [%d..%d) hit left end for x in [%6.3f, %6.3f] "
- "hit right end for x in [%6.3f, %6.3f]\n",
- xpos, xpos + len,
- xpos + xmin_left, xpos + xmax_left,
- xpos + len + xmin_right, xpos + len + xmax_right);
-
- if (xmax_left - xmin_left > 1.0 - Step) {
- printf(" => Inconsistant left-end rasterization!\n");
- }
- if (xmax_right - xmin_right > 1.0 - Step) {
- printf(" => Inconsistant right-end rasterization!\n");
- }
-
- if (xmin_left != xmin_right ||
- xmax_left != xmax_right) {
- printf(" => Inconsistant length!\n");
- }
-
- if (xmin_left < 0.0) {
- printf(" => Coords should be X biased by about %f\n", xmin_left );
- }
- if (xmin_right < 0.0) {
- printf(" => Coords should be X biased by about %f\n", xmin_right );
- }
- if (xmax_left >= 1.0) {
- printf(" => Coords should be X biased by about %f\n", -xmax_right + 1.0);
- }
- if (xmax_right >= 1.0) {
- printf(" => Coords should be X biased by about %f\n", -xmax_right + 1.0);
- }
-
-}
-
-
-static void
-QuadCalibrate(int xpos, int ypos, int width, int height)
-{
- GLfloat rgba1[2][4];
- GLfloat rgba2[2][4];
- float x, y;
- float xmin, ymin, xmax, ymax;
-
- xmin = ymin = 1000.0;
- xmax = ymax = -1000.0;
-
- for (y = -1.0; y <= 1.0; y += Step) {
- for (x = -1.0; x <= 1.0; x += Step) {
- glClear(GL_COLOR_BUFFER_BIT);
- glBegin(GL_QUADS);
- glVertex2f(xpos + x, ypos + y);
- glVertex2f(xpos + x + width, ypos + y);
- glVertex2f(xpos + x + width, ypos + y + height);
- glVertex2f(xpos + x, ypos + y + height);
- glEnd();
-
- /* horizontal measurement */
- glReadPixels(xpos - 1, ypos + 2, 2, 1, GL_RGBA, GL_FLOAT, rgba1);
- glReadPixels(xpos + width - 1, ypos + 2, 2, 1, GL_RGBA, GL_FLOAT, rgba2);
- if (rgba1[0][0] == 0.0 && rgba1[1][0] == 1.0 &&
- rgba2[0][0] == 1.0 && rgba2[1][0] == 0.0) {
- if (x < xmin)
- xmin = x;
- if (x > xmax)
- xmax = x;
- }
-
- /* vertical measurement */
- glReadPixels(xpos + 2, ypos - 1, 1, 2, GL_RGBA, GL_FLOAT, rgba1);
- glReadPixels(xpos + 2, ypos + height - 1, 1, 2, GL_RGBA, GL_FLOAT, rgba2);
- if (rgba1[0][0] == 0.0 && rgba1[1][0] == 1.0 &&
- rgba2[0][0] == 1.0 && rgba2[1][0] == 0.0) {
- if (y < ymin)
- ymin = y;
- if (y > ymax)
- ymax = y;
- }
- }
- }
-
- printf("Quad at (%2d, %2d)..(%2d, %2d) drawn"
- " for x in [%6.3f, %6.3f] and y in [%6.3f, %6.3f]\n",
- xpos, ypos,
- xpos + width, ypos + height,
- xpos + xmin, xpos + xmax,
- ypos + ymin, ypos + ymax);
-
- if (xmax - xmin != 1.0 - Step) {
- printf(" => Inconsistant X-axis rasterization/size!\n");
- }
- if (ymax - ymin != 1.0 - Step) {
- printf(" => Inconsistant Y-axis rasterization/size!\n");
- }
-
- if (xmin < -0.5) {
- printf(" => Coords should be X biased by about %f\n", 0.5 + xmin );
- }
- if (ymin < -0.5) {
- printf(" => Coords should be Y biased by about %f\n", 0.5 + ymin);
- }
- if (xmax > 0.5) {
- printf(" => Coords should be X biased by about %f\n", -xmax + 0.5);
- }
- if (ymax > 0.5) {
- printf(" => Coords should be Y biased by about %f\n", -ymax + 0.5);
- }
-}
-
-
-/**
- * Misc/disabled code for debugging.
- */
-static void
-DebugTest(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
- glEnable(GL_BLEND);
- glBlendFunc(GL_ONE, GL_ONE);
-
- glColor3f(.5, .5, .5);
-
- glBegin(GL_LINES);
- glVertex2f(30, 35.5);
- glVertex2f(54, 35.5);
- glVertex2f(54, 35.5);
- glVertex2f(66, 35.5);
- glEnd();
-
- glDisable(GL_BLEND);
- glColor3f(1,1,1);
-}
-
-
-static void
-Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glPushMatrix();
- glTranslatef(Xtrans, Ytrans, 0);
-
- PointCalibrate(1, 1);
- PointCalibrate(50, 50);
- PointCalibrate(28, 17);
- PointCalibrate(17, 18);
- printf("\n");
-
- HLineCalibrate(5, 10, 10);
- HLineCalibrate(25, 22, 12);
- HLineCalibrate(54, 33, 12);
- HLineCalibrate(54+12, 33, 12);
- printf("\n");
-
- QuadCalibrate(2, 2, 10, 10);
- QuadCalibrate(50, 50, 10, 10);
- QuadCalibrate(28, 17, 12, 12);
- QuadCalibrate(17, 28, 12, 12);
-
- (void) DebugTest;
-
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-static void
-Reshape(int width, int height)
-{
- Width = width;
- Height = height;
- glViewport(0, 0, width, height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(0, width, 0, height, -1, 1);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
-}
-
-
-static void
-Key(unsigned char key, int x, int y)
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- glutDestroyWindow(Win);
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void
-Init(void)
-{
- printf("Measurement/callibration for basic prim rasterization...\n");
- printf("GL_RENDERER: %s\n", (char*) glGetString(GL_RENDERER));
-}
-
-
-int
-main(int argc, char *argv[])
-{
- glutInit(&argc, argv);
- glutInitWindowPosition(0, 0);
- glutInitWindowSize(Width, Height);
- glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE);
- Win = glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/copypixrate.c b/progs/tests/copypixrate.c
deleted file mode 100644
index f63d59f3ce..0000000000
--- a/progs/tests/copypixrate.c
+++ /dev/null
@@ -1,275 +0,0 @@
-/*
- * Measure glCopyPixels speed
- *
- * Brian Paul
- * 26 Jan 2006
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-static GLint WinWidth = 1000, WinHeight = 800;
-static GLint ImgWidth, ImgHeight;
-
-static GLenum Buffer = GL_FRONT;
-static GLenum AlphaTest = GL_FALSE;
-static GLboolean UseBlit = GL_FALSE;
-
-static PFNGLBLITFRAMEBUFFEREXTPROC glBlitFramebufferEXT_func = NULL;
-
-
-/**
- * draw teapot in lower-left corner of window
- */
-static void
-DrawTestImage(void)
-{
- GLfloat ar;
-
- ImgWidth = WinWidth / 3;
- ImgHeight = WinHeight / 3;
-
- glViewport(0, 0, ImgWidth, ImgHeight);
- glScissor(0, 0, ImgWidth, ImgHeight);
- glEnable(GL_SCISSOR_TEST);
-
- glClearColor(0.5, 0.5, 0.5, 0.0);
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
- ar = (float) WinWidth / WinHeight;
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glFrustum(-ar, ar, -1.0, 1.0, 5.0, 25.0);
- glMatrixMode(GL_MODELVIEW);
-
- glEnable(GL_LIGHTING);
- glEnable(GL_LIGHT0);
- glEnable(GL_DEPTH_TEST);
- glFrontFace(GL_CW);
- glPushMatrix();
- glRotatef(45, 1, 0, 0);
- glutSolidTeapot(2.0);
- glPopMatrix();
- glFrontFace(GL_CCW);
- glDisable(GL_DEPTH_TEST);
- glDisable(GL_LIGHTING);
-
- glDisable(GL_SCISSOR_TEST);
-
- glViewport(0, 0, WinWidth, WinHeight);
- glFinish();
-}
-
-
-static int
-Rand(int max)
-{
- return ((int) rand()) % max;
-}
-
-
-static void
-BlitOne(void)
-{
- int x, y;
-
- do {
- x = Rand(WinWidth);
- y = Rand(WinHeight);
- } while (x <= ImgWidth && y <= ImgHeight);
-
-#ifdef GL_EXT_framebuffer_blit
- if (UseBlit)
- {
- glBlitFramebufferEXT_func(0, 0, ImgWidth, ImgHeight,
- x, y, x + ImgWidth, y + ImgHeight,
- GL_COLOR_BUFFER_BIT, GL_LINEAR);
- }
- else
-#endif
- {
- glWindowPos2iARB(x, y);
- glCopyPixels(0, 0, ImgWidth, ImgHeight, GL_COLOR);
- }
-}
-
-
-/**
- * Measure glCopyPixels rate
- */
-static void
-RunTest(void)
-{
- double t1, t0 = glutGet(GLUT_ELAPSED_TIME) / 1000.0;
- int iters = 0;
- float copyRate, mbRate;
- int r, g, b, a, bpp;
-
- if (AlphaTest) {
- glEnable(GL_ALPHA_TEST);
- glAlphaFunc(GL_GREATER, 0.0);
- }
-
- glGetIntegerv(GL_RED_BITS, &r);
- glGetIntegerv(GL_GREEN_BITS, &g);
- glGetIntegerv(GL_BLUE_BITS, &b);
- glGetIntegerv(GL_ALPHA_BITS, &a);
- bpp = (r + g + b + a) / 8;
-
- do {
- BlitOne();
-
- if (Buffer == GL_FRONT)
- glFinish(); /* XXX to view progress */
-
- iters++;
-
- t1 = glutGet(GLUT_ELAPSED_TIME) / 1000.0;
- } while (t1 - t0 < 5.0);
-
- glDisable(GL_ALPHA_TEST);
-
- copyRate = iters / (t1 - t0);
- mbRate = ImgWidth * ImgHeight * bpp * copyRate / (1024 * 1024);
-
- printf("Image size: %d x %d, %d Bpp\n", ImgWidth, ImgHeight, bpp);
- printf("%d copies in %.2f = %.2f copies/sec, %.2f MB/s\n",
- iters, t1-t0, copyRate, mbRate);
-}
-
-
-static void
-Draw(void)
-{
- glClearColor(0.0, 0.0, 0.0, 0.0);
- glClearColor(0.2, 0.2, 0.8, 0);
- glReadBuffer(Buffer);
- glDrawBuffer(Buffer);
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
- DrawTestImage();
-
- RunTest();
-
- if (Buffer == GL_FRONT)
- glFinish();
- else
- glutSwapBuffers();
-
-#if 1
- printf("exiting\n");
- exit(0);
-#endif
-}
-
-
-static void
-Reshape(int width, int height)
-{
- glViewport(0, 0, width, height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glFrustum(-1.0, 1.0, -1.0, 1.0, 5.0, 25.0);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef(0.0, 0.0, -15.0);
-}
-
-
-static void
-Key(unsigned char key, int x, int y)
-{
- (void) x;
- (void) y;
- switch (key) {
- case 'b':
- BlitOne();
- break;
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void
-SpecialKey(int key, int x, int y)
-{
- (void) x;
- (void) y;
- switch (key) {
- case GLUT_KEY_UP:
- break;
- case GLUT_KEY_DOWN:
- break;
- case GLUT_KEY_LEFT:
- break;
- case GLUT_KEY_RIGHT:
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void
-ParseArgs(int argc, char *argv[])
-{
- int i;
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-back") == 0)
- Buffer = GL_BACK;
- else if (strcmp(argv[i], "-alpha") == 0)
- AlphaTest = GL_TRUE;
- else if (strcmp(argv[i], "-blit") == 0)
- UseBlit = GL_TRUE;
- }
-}
-
-
-static void
-Init(void)
-{
- if (glutExtensionSupported("GL_EXT_framebuffer_blit")) {
- glBlitFramebufferEXT_func = (PFNGLBLITFRAMEBUFFEREXTPROC)
- glutGetProcAddress("glBlitFramebufferEXT");
- }
- else if (UseBlit) {
- printf("Warning: GL_EXT_framebuffer_blit not supported.\n");
- UseBlit = GL_FALSE;
- }
-}
-
-
-int
-main(int argc, char *argv[])
-{
- GLint mode = GLUT_RGB | GLUT_ALPHA | GLUT_DOUBLE | GLUT_DEPTH;
- glutInit(&argc, argv);
-
- ParseArgs(argc, argv);
- if (AlphaTest)
- mode |= GLUT_ALPHA;
-
- glutInitWindowPosition(0, 0);
- glutInitWindowSize(WinWidth, WinHeight);
- glutInitDisplayMode(mode);
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutSpecialFunc(SpecialKey);
- glutDisplayFunc(Draw);
-
- printf("GL_RENDERER: %s\n", (char *) glGetString(GL_RENDERER));
- printf("Draw Buffer: %s\n", (Buffer == GL_BACK) ? "Back" : "Front");
- Init();
-
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/crossbar.c b/progs/tests/crossbar.c
deleted file mode 100644
index 2988e20920..0000000000
--- a/progs/tests/crossbar.c
+++ /dev/null
@@ -1,237 +0,0 @@
-/*
- * (C) Copyright IBM Corporation 2005
- * 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
- * on the rights to use, copy, modify, merge, publish, distribute, sub
- * license, 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 (including the next
- * paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
- * VA LINUX SYSTEM, IBM AND/OR THEIR SUPPLIERS 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.
- */
-
-/**
- * \file crossbar.c
- *
- * Simple test of GL_ARB_texture_env_crossbar functionality. Several squares
- * are drawn with different texture combine modes, but all should be rendered
- * with the same final color.
- *
- * \author Ian Romanick <idr@us.ibm.com>
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-static const GLint tests[][8] = {
- { 1, GL_REPLACE, GL_PRIMARY_COLOR, GL_PRIMARY_COLOR,
- 2, GL_REPLACE, GL_TEXTURE, GL_PRIMARY_COLOR },
- { 3, GL_REPLACE, GL_PRIMARY_COLOR, GL_PRIMARY_COLOR,
- 2, GL_SUBTRACT, GL_TEXTURE0, GL_TEXTURE1 },
- { 2, GL_REPLACE, GL_PRIMARY_COLOR, GL_PRIMARY_COLOR,
- 2, GL_REPLACE, GL_TEXTURE0, GL_TEXTURE0 },
- { 2, GL_REPLACE, GL_PRIMARY_COLOR, GL_PRIMARY_COLOR,
- 1, GL_SUBTRACT, GL_TEXTURE0, GL_TEXTURE1 },
- { 3, GL_ADD, GL_TEXTURE1, GL_TEXTURE1,
- 2, GL_MODULATE, GL_TEXTURE1, GL_PREVIOUS },
- { 3, GL_ADD, GL_TEXTURE1, GL_TEXTURE1,
- 4, GL_MODULATE, GL_TEXTURE0, GL_PREVIOUS },
-};
-
-#define NUM_TESTS (sizeof(tests) / sizeof(tests[0]))
-
-static int Width = 100 * (NUM_TESTS + 1);
-static int Height = 200;
-static const GLfloat Near = 5.0, Far = 25.0;
-
-
-static void Display( void )
-{
- unsigned i;
-
-
- glClearColor(0.2, 0.2, 0.8, 0);
- glClear( GL_COLOR_BUFFER_BIT );
-
- glPushMatrix();
-
- /* This is the "reference" square.
- */
-
- glActiveTexture( GL_TEXTURE0 );
- glDisable( GL_TEXTURE_2D );
- glActiveTexture( GL_TEXTURE1 );
- glDisable( GL_TEXTURE_2D );
-
- glTranslatef(-(NUM_TESTS * 1.5), 0, 0);
- glBegin(GL_QUADS);
- glColor3f( 0.5, 0.5, 0.5 );
- glVertex2f(-1, -1);
- glVertex2f( 1, -1);
- glVertex2f( 1, 1);
- glVertex2f(-1, 1);
- glEnd();
-
- for ( i = 0 ; i < NUM_TESTS ; i++ ) {
- glActiveTexture( GL_TEXTURE0 );
- glEnable( GL_TEXTURE_2D );
- glBindTexture( GL_TEXTURE_2D, tests[i][0] );
- glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE );
- glTexEnvi( GL_TEXTURE_ENV, GL_COMBINE_RGB, tests[i][1] );
- glTexEnvi( GL_TEXTURE_ENV, GL_SOURCE0_RGB, tests[i][2] );
- glTexEnvi( GL_TEXTURE_ENV, GL_SOURCE1_RGB, tests[i][3] );
-
- glActiveTexture( GL_TEXTURE1 );
- glEnable( GL_TEXTURE_2D );
- glBindTexture( GL_TEXTURE_2D, tests[i][4] );
- glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE );
- glTexEnvi( GL_TEXTURE_ENV, GL_COMBINE_RGB, tests[i][5] );
- glTexEnvi( GL_TEXTURE_ENV, GL_SOURCE0_RGB, tests[i][6] );
- glTexEnvi( GL_TEXTURE_ENV, GL_SOURCE1_RGB, tests[i][7] );
-
- glCallList(1);
- }
-
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- GLfloat ar = (float) width / (float) height;
- Width = width;
- Height = height;
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -ar, ar, -1.0, 1.0, Near, Far );
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -15.0 );
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void Init( void )
-{
- const char * const ver_string = (const char * const)
- glGetString( GL_VERSION );
- float ver = strtod( ver_string, NULL );
- GLint tex_units;
- GLint temp[ 256 ];
-
-
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- printf("GL_VERSION = %s\n", ver_string);
-
- if ( (!glutExtensionSupported("GL_ARB_multitexture")
- && (ver < 1.3))
- || (!glutExtensionSupported("GL_ARB_texture_env_combine")
- && !glutExtensionSupported("GL_EXT_texture_env_combine")
- && (ver < 1.3))
- || (!glutExtensionSupported("GL_ARB_texture_env_crossbar")
- && !glutExtensionSupported("GL_NV_texture_env_combine4")
- && (ver < 1.4)) ) {
- printf("\nSorry, this program requires GL_ARB_multitexture and either\n"
- "GL_ARB_texture_env_combine or GL_EXT_texture_env_combine (or OpenGL 1.3).\n"
- "Either GL_ARB_texture_env_crossbar or GL_NV_texture_env_combine4 (or\n"
- "OpenGL 1.4) are also required.\n");
- exit(1);
- }
-
- glGetIntegerv( GL_MAX_TEXTURE_UNITS, & tex_units );
- if ( tex_units < 2 ) {
- printf("\nSorry, this program requires at least 2 texture units.\n");
- exit(1);
- }
-
- printf("\nAll %lu squares should be the same color.\n", (unsigned long) NUM_TESTS + 1);
-
- (void) memset( temp, 0x00, sizeof( temp ) );
- glBindTexture( GL_TEXTURE_2D, 1 );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST );
- glTexImage2D( GL_TEXTURE_2D, 0, GL_RGBA, 8, 8, 0,
- GL_RGBA, GL_UNSIGNED_BYTE, temp );
-
- (void) memset( temp, 0x7f, sizeof( temp ) );
- glBindTexture( GL_TEXTURE_2D, 2 );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST );
- glTexImage2D( GL_TEXTURE_2D, 0, GL_RGBA, 8, 8, 0,
- GL_RGBA, GL_UNSIGNED_BYTE, temp );
-
- (void) memset( temp, 0xff, sizeof( temp ) );
- glBindTexture( GL_TEXTURE_2D, 3 );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST );
- glTexImage2D( GL_TEXTURE_2D, 0, GL_RGBA, 8, 8, 0,
- GL_RGBA, GL_UNSIGNED_BYTE, temp );
-
- (void) memset( temp, 0x3f, sizeof( temp ) );
- glBindTexture( GL_TEXTURE_2D, 4 );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST );
- glTexImage2D( GL_TEXTURE_2D, 0, GL_RGBA, 8, 8, 0,
- GL_RGBA, GL_UNSIGNED_BYTE, temp );
-
-
- glNewList( 1, GL_COMPILE );
- glTranslatef(3.0, 0, 0);
- glBegin(GL_QUADS);
- glColor3f( 0.9, 0.0, 0.0 );
- glMultiTexCoord2f( GL_TEXTURE0, 0.5, 0.5 );
- glMultiTexCoord2f( GL_TEXTURE1, 0.5, 0.5 );
- glVertex2f(-1, -1);
- glVertex2f( 1, -1);
- glVertex2f( 1, 1);
- glVertex2f(-1, 1);
- glEnd();
- glEndList();
-}
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( Width, Height );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE );
- glutCreateWindow( "GL_ARB_texture_env_crossbar test" );
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/cva.c b/progs/tests/cva.c
deleted file mode 100644
index 02d1dcba2e..0000000000
--- a/progs/tests/cva.c
+++ /dev/null
@@ -1,161 +0,0 @@
-
-/*
- * Trivial CVA test, good for testing driver fastpaths (especially
- * indexed vertex buffers if they are supported).
- *
- * Gareth Hughes
- * November 2000
- */
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <stddef.h> /* for ptrdiff_t, referenced by GL.h when GL_GLEXT_LEGACY defined */
-#ifdef _WIN32
-#include <windows.h>
-#endif
-#define GL_GLEXT_LEGACY
-#include <GL/glew.h>
-#include <GL/glut.h>
-#include <GL/glext.h>
-
-GLfloat verts[][4] = {
- { -0.5, -0.5, -2.0, 0.0 },
- { 0.5, -0.5, -2.0, 0.0 },
- { -0.5, 0.5, -2.0, 0.0 },
- { 0.5, 0.5, -2.0, 0.0 },
-};
-
-GLubyte color[][4] = {
- { 0xff, 0x00, 0x00, 0x00 },
- { 0x00, 0xff, 0x00, 0x00 },
- { 0x00, 0x00, 0xff, 0x00 },
- { 0xff, 0xff, 0xff, 0x00 },
-};
-
-GLuint indices[] = { 0, 1, 2, 3 };
-
-GLboolean compiled = GL_TRUE;
-GLboolean doubleBuffer = GL_TRUE;
-
-
-static void init( void )
-{
- glClearColor( 0.0, 0.0, 0.0, 0.0 );
- glShadeModel( GL_SMOOTH );
-
- glFrontFace( GL_CCW );
- glCullFace( GL_BACK );
- glEnable( GL_CULL_FACE );
-
- glEnable( GL_DEPTH_TEST );
-
- glEnableClientState( GL_VERTEX_ARRAY );
- glEnableClientState( GL_COLOR_ARRAY );
-
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -1.0, 1.0, -1.0, 1.0, 2.0, 10.0 );
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
-
- glVertexPointer( 3, GL_FLOAT, sizeof(verts[0]), verts );
- glColorPointer( 4, GL_UNSIGNED_BYTE, 0, color );
-
-#ifdef GL_EXT_compiled_vertex_array
- if ( compiled ) {
- glLockArraysEXT( 0, 4 );
- }
-#endif
-}
-
-static void display( void )
-{
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
-
- glDrawElements( GL_TRIANGLES, 3, GL_UNSIGNED_INT, indices );
-
- glFlush();
- if ( doubleBuffer ) {
- glutSwapBuffers();
- }
-}
-
-static void keyboard( unsigned char key, int x, int y )
-{
- switch ( key ) {
- case 27:
- exit( 0 );
- break;
- }
-
- glutPostRedisplay();
-}
-
-static GLboolean args( int argc, char **argv )
-{
- GLint i;
-
- doubleBuffer = GL_TRUE;
-
- for ( i = 1 ; i < argc ; i++ ) {
- if ( strcmp( argv[i], "-sb" ) == 0 ) {
- doubleBuffer = GL_FALSE;
- } else if ( strcmp( argv[i], "-db" ) == 0 ) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf( stderr, "%s (Bad option).\n", argv[i] );
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main( int argc, char **argv )
-{
- GLenum type;
- char *string;
- double version;
-
- glutInit( &argc, argv );
-
- if ( args( argc, argv ) == GL_FALSE ) {
- exit( 1 );
- }
-
- type = GLUT_RGB | GLUT_DEPTH;
- type |= ( doubleBuffer ) ? GLUT_DOUBLE : GLUT_SINGLE;
-
- glutInitDisplayMode( type );
- glutInitWindowSize( 250, 250 );
- glutInitWindowPosition( 100, 100 );
- glutCreateWindow( "CVA Test" );
- glewInit();
-
- /* Make sure the server supports GL 1.2 vertex arrays.
- */
- string = (char *) glGetString( GL_VERSION );
-
- version = atof(string);
- if ( version < 1.2 ) {
- fprintf( stderr, "This program requires OpenGL 1.2 vertex arrays.\n" );
- exit( -1 );
- }
-
- /* See if the server supports compiled vertex arrays.
- */
- string = (char *) glGetString( GL_EXTENSIONS );
-
- if ( !strstr( string, "GL_EXT_compiled_vertex_array" ) ) {
- fprintf( stderr, "Compiled vertex arrays not supported by this renderer.\n" );
- compiled = GL_FALSE;
- }
-
- init();
-
- glutDisplayFunc( display );
- glutKeyboardFunc( keyboard );
- glutMainLoop();
-
- return 0;
-}
diff --git a/progs/tests/debugger.c b/progs/tests/debugger.c
deleted file mode 100644
index 1c2f9bebca..0000000000
--- a/progs/tests/debugger.c
+++ /dev/null
@@ -1,735 +0,0 @@
-/*
- * Test the GL_MESA_program_debug extension
- */
-
-
-#include <assert.h>
-#include <ctype.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-
-/*
- * Print the string with line numbers
- */
-static void list_program(const GLubyte *string, GLsizei len)
-{
- const char *c = (const char *) string;
- int i, line = 1, printNumber = 1;
-
- for (i = 0; i < len; i++) {
- if (printNumber) {
- printf("%3d ", line);
- printNumber = 0;
- }
- if (*c == '\n') {
- line++;
- printNumber = 1;
- }
- putchar(*c);
- c++;
- }
- putchar('\n');
-}
-
-
-/*
- * Return the line number and column number that corresponds to the
- * given program position. Also return a null-terminated copy of that
- * line of the program string.
- */
-static const GLubyte *
-find_line_column(const GLubyte *string, const GLubyte *pos,
- GLint *line, GLint *col)
-{
- const GLubyte *lineStart = string;
- const GLubyte *p = string;
- GLubyte *s;
- int len;
-
- *line = 1;
-
- while (p != pos) {
- if (*p == (GLubyte) '\n') {
- (*line)++;
- lineStart = p + 1;
- }
- p++;
- }
-
- *col = (pos - lineStart) + 1;
-
- /* return copy of this line */
- while (*p != 0 && *p != '\n')
- p++;
- len = p - lineStart;
- s = (GLubyte *) malloc(len + 1);
- memcpy(s, lineStart, len);
- s[len] = 0;
-
- return s;
-}
-
-
-#define ARB_VERTEX_PROGRAM 1
-#define ARB_FRAGMENT_PROGRAM 2
-#define NV_VERTEX_PROGRAM 3
-#define NV_FRAGMENT_PROGRAM 4
-
-
-
-struct breakpoint {
- enum {PIXEL, LINE} type;
- int x, y;
- int line;
- GLboolean enabled;
-};
-
-#define MAX_BREAKPOINTS 100
-static struct breakpoint Breakpoints[MAX_BREAKPOINTS];
-static int NumBreakpoints = 0;
-
-
-
-/*
- * Interactive debugger
- */
-static void Debugger2(GLenum target, GLvoid *data)
-{
- static GLuint skipCount = 0;
- const GLubyte *ln;
- GLint pos = 0, line, column;
- GLint id;
- int progType;
- GLint len;
- GLubyte *program;
- GLboolean stop;
- int i;
-
- /* Sigh, GL_VERTEX_PROGRAM_ARB == GL_VERTEX_PROGRAM_NV so it's a bit
- * hard to distinguish between them.
- */
- if (target == GL_FRAGMENT_PROGRAM_ARB)
- progType = ARB_FRAGMENT_PROGRAM;
- else if (target == GL_FRAGMENT_PROGRAM_NV)
- progType = NV_FRAGMENT_PROGRAM;
- else
- progType = NV_VERTEX_PROGRAM;
-
- /* Until we hit zero, continue rendering */
- if (skipCount > 0) {
- skipCount--;
- return;
- }
-
- /* Get id of the program and current position */
- switch (progType) {
- case ARB_FRAGMENT_PROGRAM:
- glGetProgramivARB(GL_FRAGMENT_PROGRAM_ARB, GL_PROGRAM_BINDING_ARB, &id);
- glGetIntegerv(GL_FRAGMENT_PROGRAM_POSITION_MESA, &pos);
- break;
- case NV_FRAGMENT_PROGRAM:
- glGetIntegerv(GL_FRAGMENT_PROGRAM_BINDING_NV, &id);
- glGetIntegerv(GL_FRAGMENT_PROGRAM_POSITION_MESA, &pos);
- break;
- case ARB_VERTEX_PROGRAM:
- glGetProgramivARB(GL_VERTEX_PROGRAM_ARB, GL_PROGRAM_BINDING_ARB, &id);
- glGetIntegerv(GL_VERTEX_PROGRAM_POSITION_MESA, &pos);
- break;
- case NV_VERTEX_PROGRAM:
- glGetIntegerv(GL_VERTEX_PROGRAM_BINDING_NV, &id);
- glGetIntegerv(GL_VERTEX_PROGRAM_POSITION_MESA, &pos);
- break;
- default:
- abort();
- }
-
- /* get program string */
- if (progType == ARB_VERTEX_PROGRAM ||
- progType == ARB_FRAGMENT_PROGRAM)
- glGetProgramivARB(target, GL_PROGRAM_LENGTH_ARB, &len);
- else
- glGetProgramivNV(id, GL_PROGRAM_LENGTH_NV, &len);
- program = malloc(len + 1);
- if (progType == ARB_VERTEX_PROGRAM ||
- progType == ARB_FRAGMENT_PROGRAM)
- glGetProgramStringARB(target, GL_PROGRAM_STRING_ARB, program);
- else
- glGetProgramStringNV(id, GL_PROGRAM_STRING_NV, program);
-
-
- /* Get current line number, column, line string */
- ln = find_line_column(program, program + pos, &line, &column);
-
- /* test breakpoints */
- if (NumBreakpoints > 0)
- stop = GL_FALSE;
- else
- stop = GL_TRUE;
- for (i = 0; i < NumBreakpoints; i++) {
- if (Breakpoints[i].enabled) {
- switch (Breakpoints[i].type) {
- case PIXEL:
- if (progType == ARB_FRAGMENT_PROGRAM) {
-
- }
- else if (progType == NV_FRAGMENT_PROGRAM) {
- GLfloat pos[4];
- int px, py;
- glGetProgramRegisterfvMESA(GL_FRAGMENT_PROGRAM_NV,
- 6, (GLubyte *) "f[WPOS]", pos);
- px = (int) pos[0];
- py = (int) pos[1];
- printf("%d, %d\n", px, py);
- if (px == Breakpoints[i].x &&
- py == Breakpoints[i].y) {
- printf("Break at pixel (%d, %d)\n", px, py);
- stop = GL_TRUE;
- }
- }
- break;
- case LINE:
- if (line == Breakpoints[i].line) {
- /* hit a breakpoint! */
- printf("Break at line %d\n", line);
- stop = GL_TRUE;
- }
- break;
- }
- }
- }
- if (!stop) {
- free(program);
- return;
- }
-
- printf("%d: %s\n", line, ln);
-
- /* get commands from stdin */
- while (1) {
- char command[1000], *cmd;
-
- /* print prompt and get command */
- printf("(%s %d) ", (target == GL_VERTEX_PROGRAM_ARB ? "vert" : "frag"),
- line);
- fgets(command, 999, stdin);
-
- /* skip leading whitespace */
- for (cmd = command; cmd[0] == ' '; cmd++)
- ;
-
- if (!cmd[0])
- /* nothing (repeat the previous cmd?) */
- continue;
-
- switch (cmd[0]) {
- case 's':
- /* skip N instructions */
- i = atoi(cmd + 2);
- skipCount = i;
- printf("Skipping %d instructions\n", i);
- return;
- case 'n':
- /* next */
- return;
- case 'c':
- return;
- case 'd':
- /* dump machine state */
- if (progType == NV_FRAGMENT_PROGRAM) {
- static const char *inRegs[] = {
- "f[WPOS]", "f[COL0]", "f[COL1]", "f[FOGC]",
- "f[TEX0]", "f[TEX1]", "f[TEX2]", "f[TEX3]",
- NULL
- };
- static const char *outRegs[] = {
- "o[COLR]", "o[COLH]", "o[DEPR]", NULL
- };
- GLfloat v[4];
- int i;
- printf("Fragment input attributes:\n");
- for (i = 0; inRegs[i]; i++) {
- glGetProgramRegisterfvMESA(GL_FRAGMENT_PROGRAM_NV,
- strlen(inRegs[i]),
- (const GLubyte *) inRegs[i], v);
- printf(" %s: %g, %g, %g, %g\n", inRegs[i],
- v[0], v[1], v[2], v[3]);
- }
- printf("Fragment output attributes:\n");
- for (i = 0; outRegs[i]; i++) {
- glGetProgramRegisterfvMESA(GL_FRAGMENT_PROGRAM_NV,
- strlen(outRegs[i]),
- (const GLubyte *) outRegs[i], v);
- printf(" %s: %g, %g, %g, %g\n", outRegs[i],
- v[0], v[1], v[2], v[3]);
- }
- printf("Temporaries:\n");
- for (i = 0; i < 4; i++) {
- char temp[100];
- GLfloat v[4];
- sprintf(temp, "R%d", i);
- glGetProgramRegisterfvMESA(GL_FRAGMENT_PROGRAM_NV,
- strlen(temp),
- (const GLubyte *) temp, v);
- printf(" %s: %g, %g, %g, %g\n", temp, v[0],v[1],v[2],v[3]);
- }
- }
- else if (progType == NV_VERTEX_PROGRAM) {
- GLfloat v[4];
- int i;
- static const char *inRegs[] = {
- "v[OPOS]", "v[WGHT]", "v[NRML]", "v[COL0]",
- "v[COL1]", "v[FOGC]", "v[6]", "v[7]",
- "v[TEX0]", "v[TEX1]", "v[TEX2]", "v[TEX3]",
- "v[TEX4]", "v[TEX5]", "v[TEX6]", "v[TEX7]",
- NULL
- };
- static const char *outRegs[] = {
- "o[HPOS]", "o[COL0]", "o[COL1]", "o[BFC0]",
- "o[BFC1]", "o[FOGC]", "o[PSIZ]",
- "o[TEX0]", "o[TEX1]", "o[TEX2]", "o[TEX3]",
- "o[TEX4]", "o[TEX5]", "o[TEX6]", "o[TEX7]",
- NULL
- };
- printf("Vertex input attributes:\n");
- for (i = 0; inRegs[i]; i++) {
- glGetProgramRegisterfvMESA(GL_VERTEX_PROGRAM_NV,
- strlen(inRegs[i]),
- (const GLubyte *) inRegs[i], v);
- printf(" %s: %g, %g, %g, %g\n", inRegs[i],
- v[0], v[1], v[2], v[3]);
- }
- printf("Vertex output attributes:\n");
- for (i = 0; outRegs[i]; i++) {
- glGetProgramRegisterfvMESA(GL_VERTEX_PROGRAM_NV,
- strlen(outRegs[i]),
- (const GLubyte *) outRegs[i], v);
- printf(" %s: %g, %g, %g, %g\n", outRegs[i],
- v[0], v[1], v[2], v[3]);
- }
- printf("Temporaries:\n");
- for (i = 0; i < 4; i++) {
- char temp[100];
- GLfloat v[4];
- sprintf(temp, "R%d", i);
- glGetProgramRegisterfvMESA(GL_VERTEX_PROGRAM_NV,
- strlen(temp),
- (const GLubyte *) temp, v);
- printf(" %s: %g, %g, %g, %g\n", temp, v[0],v[1],v[2],v[3]);
- }
- }
- break;
- case 'l':
- /* list */
- list_program(program, len);
- break;
- case 'p':
- /* print */
- {
- GLfloat v[4];
- char *c;
- cmd++;
- while (*cmd == ' ')
- cmd++;
- c = cmd;
- while (*c) {
- if (*c == '\n' || *c == '\r')
- *c = 0;
- else
- c++;
- }
- glGetProgramRegisterfvMESA(target, strlen(cmd),
- (const GLubyte *) cmd, v);
- if (glGetError() == GL_NO_ERROR)
- printf("%s = %g, %g, %g, %g\n", cmd, v[0], v[1], v[2], v[3]);
- else
- printf("Invalid expression\n");
- }
- break;
- case 'b':
- if (cmd[1] == ' ' && isdigit(cmd[2])) {
- char *comma = strchr(cmd, ',');
- if (comma) {
- /* break at pixel */
- int x = atoi(cmd + 2);
- int y = atoi(comma + 1);
- if (NumBreakpoints < MAX_BREAKPOINTS) {
- Breakpoints[NumBreakpoints].type = PIXEL;
- Breakpoints[NumBreakpoints].x = x;
- Breakpoints[NumBreakpoints].y = y;
- Breakpoints[NumBreakpoints].enabled = GL_TRUE;
- NumBreakpoints++;
- printf("Breakpoint %d: break at pixel (%d, %d)\n",
- NumBreakpoints, x, y);
- }
- }
- else {
- /* break at line */
- int l = atoi(cmd + 2);
- if (l && NumBreakpoints < MAX_BREAKPOINTS) {
- Breakpoints[NumBreakpoints].type = LINE;
- Breakpoints[NumBreakpoints].line = l;
- Breakpoints[NumBreakpoints].enabled = GL_TRUE;
- NumBreakpoints++;
- printf("Breakpoint %d: break at line %d\n",
- NumBreakpoints, l);
- }
- }
- }
- else {
- /* list breakpoints */
- printf("Breakpoints:\n");
- for (i = 0; i < NumBreakpoints; i++) {
- switch (Breakpoints[i].type) {
- case LINE:
- printf(" %d: break at line %d\n",
- i + 1, Breakpoints[i].line);
- break;
- case PIXEL:
- printf(" %d: break at pixel (%d, %d)\n",
- i + 1, Breakpoints[i].x, Breakpoints[i].y);
- break;
- }
- }
- }
- break;
- case 'h':
- /* help */
- printf("Debugger commands:\n");
- printf(" b list breakpoints\n");
- printf(" b N break at line N\n");
- printf(" b x,y break at pixel x,y\n");
- printf(" c continue execution\n");
- printf(" d display register values\n");
- printf(" h help\n");
- printf(" l list program\n");
- printf(" n next instruction\n");
- printf(" p V print value V\n");
- printf(" s N skip N instructions\n");
- break;
- default:
- printf("Unknown command: %c\n", cmd[0]);
- }
- }
-}
-
-
-/*
- * Print current line, some registers, and continue.
- */
-static void Debugger(GLenum target, GLvoid *data)
-{
- GLint pos;
- const GLubyte *ln;
- GLint line, column;
- GLfloat v[4];
-
- assert(target == GL_FRAGMENT_PROGRAM_NV);
-
- glGetIntegerv(GL_FRAGMENT_PROGRAM_POSITION_MESA, &pos);
-
- ln = find_line_column((const GLubyte *) data, (const GLubyte *) data + pos,
- &line, &column);
- printf("%d:%d: %s\n", line, column, (char *) ln);
-
- glGetProgramRegisterfvMESA(GL_FRAGMENT_PROGRAM_NV,
- 2, (const GLubyte *) "R0", v);
- printf(" R0 = %g, %g, %g, %g\n", v[0], v[1], v[2], v[3]);
- glGetProgramRegisterfvMESA(GL_FRAGMENT_PROGRAM_NV,
- 7, (const GLubyte *) "f[WPOS]", v);
- printf(" o[WPOS] = %g, %g, %g, %g\n", v[0], v[1], v[2], v[3]);
- glGetProgramRegisterfvMESA(GL_FRAGMENT_PROGRAM_NV,
- 7, (const GLubyte *) "o[COLR]", v);
- printf(" o[COLR] = %g, %g, %g, %g\n", v[0], v[1], v[2], v[3]);
-
- free((void *) ln);
-}
-
-
-
-
-/**********************************************************************/
-
-static GLfloat Diffuse[4] = { 0.5, 0.5, 1.0, 1.0 };
-static GLfloat Specular[4] = { 0.8, 0.8, 0.8, 1.0 };
-static GLfloat LightPos[4] = { 0.0, 10.0, 20.0, 1.0 };
-static GLfloat Delta = 1.0;
-
-static GLuint FragProg;
-static GLuint VertProg;
-static GLboolean Anim = GL_TRUE;
-static GLboolean Wire = GL_FALSE;
-static GLboolean PixelLight = GL_TRUE;
-
-static GLfloat Xrot = 0, Yrot = 0;
-
-
-#define NAMED_PARAMETER4FV(prog, name, v) \
- glProgramNamedParameter4fvNV(prog, strlen(name), (const GLubyte *) name, v)
-
-
-static void Display( void )
-{
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
-
- if (PixelLight) {
- NAMED_PARAMETER4FV(FragProg, "LightPos", LightPos);
- glEnable(GL_FRAGMENT_PROGRAM_NV);
- glEnable(GL_VERTEX_PROGRAM_NV);
- glDisable(GL_LIGHTING);
- }
- else {
- glLightfv(GL_LIGHT0, GL_POSITION, LightPos);
- glDisable(GL_FRAGMENT_PROGRAM_NV);
- glDisable(GL_VERTEX_PROGRAM_NV);
- glEnable(GL_LIGHTING);
- }
-
- glPushMatrix();
- glRotatef(Xrot, 1, 0, 0);
- glRotatef(Yrot, 0, 1, 0);
-
-#if 1
- glutSolidSphere(2.0, 10, 5);
-#else
- {
- GLUquadricObj *q = gluNewQuadric();
- gluQuadricNormals(q, GL_SMOOTH);
- gluQuadricTexture(q, GL_TRUE);
- glRotatef(90, 1, 0, 0);
- glTranslatef(0, 0, -1);
- gluCylinder(q, 1.0, 1.0, 2.0, 24, 1);
- gluDeleteQuadric(q);
- }
-#endif
-
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-static void Idle(void)
-{
- LightPos[0] += Delta;
- if (LightPos[0] > 25.0)
- Delta = -1.0;
- else if (LightPos[0] <- 25.0)
- Delta = 1.0;
- glutPostRedisplay();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -1.0, 1.0, -1.0, 1.0, 5.0, 25.0 );
- /*glOrtho( -2.0, 2.0, -2.0, 2.0, 5.0, 25.0 );*/
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -15.0 );
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case ' ':
- Anim = !Anim;
- if (Anim)
- glutIdleFunc(Idle);
- else
- glutIdleFunc(NULL);
- break;
- case 'x':
- LightPos[0] -= 1.0;
- break;
- case 'X':
- LightPos[0] += 1.0;
- break;
- case 'w':
- Wire = !Wire;
- if (Wire)
- glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
- else
- glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
- break;
- case 'p':
- PixelLight = !PixelLight;
- if (PixelLight) {
- printf("Per-pixel lighting\n");
- }
- else {
- printf("Conventional lighting\n");
- }
- break;
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-static void SpecialKey( int key, int x, int y )
-{
- const GLfloat step = 3.0;
- (void) x;
- (void) y;
- switch (key) {
- case GLUT_KEY_UP:
- Xrot -= step;
- break;
- case GLUT_KEY_DOWN:
- Xrot += step;
- break;
- case GLUT_KEY_LEFT:
- Yrot -= step;
- break;
- case GLUT_KEY_RIGHT:
- Yrot += step;
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void Init( int argc, char *argv[] )
-{
- static const char *fragProgramText =
- "!!FP1.0\n"
- "DECLARE Diffuse; \n"
- "DECLARE Specular; \n"
- "DECLARE LightPos; \n"
-
- "# Compute normalized LightPos, put it in R0\n"
- "DP3 R0.x, LightPos, LightPos;\n"
- "RSQ R0.y, R0.x;\n"
- "MUL R0, LightPos, R0.y;\n"
-
- "# Compute normalized normal, put it in R1\n"
- "DP3 R1, f[TEX0], f[TEX0]; \n"
- "RSQ R1.y, R1.x;\n"
- "MUL R1, f[TEX0], R1.y;\n"
-
- "# Compute dot product of light direction and normal vector\n"
- "DP3 R2, R0, R1;\n"
-
- "MUL R3, Diffuse, R2; # diffuse attenuation\n"
-
- "POW R4, R2.x, {20.0}.x; # specular exponent\n"
-
- "MUL R5, Specular, R4; # specular attenuation\n"
-
- "ADD o[COLR], R3, R5; # add diffuse and specular colors\n"
- "END \n"
- ;
-
- static const char *vertProgramText =
- "!!VP1.0\n"
- "# typical modelview/projection transform\n"
- "DP4 o[HPOS].x, c[0], v[OPOS] ;\n"
- "DP4 o[HPOS].y, c[1], v[OPOS] ;\n"
- "DP4 o[HPOS].z, c[2], v[OPOS] ;\n"
- "DP4 o[HPOS].w, c[3], v[OPOS] ;\n"
- "# transform normal by inv transpose of modelview, put in tex0\n"
- "DP4 o[TEX0].x, c[4], v[NRML] ;\n"
- "DP4 o[TEX0].y, c[5], v[NRML] ;\n"
- "DP4 o[TEX0].z, c[6], v[NRML] ;\n"
- "DP4 o[TEX0].w, c[7], v[NRML] ;\n"
- "END\n";
- ;
-
- if (!glutExtensionSupported("GL_NV_vertex_program")) {
- printf("Sorry, this demo requires GL_NV_vertex_program\n");
- exit(1);
- }
- if (!glutExtensionSupported("GL_NV_fragment_program")) {
- printf("Sorry, this demo requires GL_NV_fragment_program\n");
- exit(1);
- }
-
- glGenProgramsNV(1, &FragProg);
- assert(FragProg > 0);
- glGenProgramsNV(1, &VertProg);
- assert(VertProg > 0);
-
- /*
- * Fragment program
- */
- glLoadProgramNV(GL_FRAGMENT_PROGRAM_NV, FragProg,
- strlen(fragProgramText),
- (const GLubyte *) fragProgramText);
- assert(glIsProgramNV(FragProg));
- glBindProgramNV(GL_FRAGMENT_PROGRAM_NV, FragProg);
-
- NAMED_PARAMETER4FV(FragProg, "Diffuse", Diffuse);
- NAMED_PARAMETER4FV(FragProg, "Specular", Specular);
-
- /*
- * Vertex program
- */
- glLoadProgramNV(GL_VERTEX_PROGRAM_NV, VertProg,
- strlen(vertProgramText),
- (const GLubyte *) vertProgramText);
- assert(glIsProgramNV(VertProg));
- glBindProgramNV(GL_VERTEX_PROGRAM_NV, VertProg);
- glTrackMatrixNV(GL_VERTEX_PROGRAM_NV, 0, GL_MODELVIEW_PROJECTION_NV, GL_IDENTITY_NV);
- glTrackMatrixNV(GL_VERTEX_PROGRAM_NV, 4, GL_MODELVIEW, GL_INVERSE_TRANSPOSE_NV);
-
- /*
- * Misc init
- */
- glClearColor(0.3, 0.3, 0.3, 0.0);
- glEnable(GL_DEPTH_TEST);
- glEnable(GL_LIGHT0);
- glEnable(GL_LIGHTING);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, Diffuse);
- glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, Specular);
- glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, 20.0);
-
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- printf("Press p to toggle between per-pixel and per-vertex lighting\n");
-
-#ifdef GL_MESA_program_debug
- if (argc > 1 && strcmp(argv[1], "fragment") == 0) {
- printf(">> Debugging fragment program\n");
- glProgramCallbackMESA(GL_FRAGMENT_PROGRAM_ARB, Debugger2,
- (GLvoid *) fragProgramText);
- glEnable(GL_FRAGMENT_PROGRAM_CALLBACK_MESA);
- }
- else {
- printf(">> Debugging vertex program\n");
- glProgramCallbackMESA(GL_VERTEX_PROGRAM_ARB, Debugger2,
- (GLvoid *) fragProgramText);
- glEnable(GL_VERTEX_PROGRAM_CALLBACK_MESA);
- }
-#endif
-}
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 200, 200 );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH );
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutSpecialFunc( SpecialKey );
- glutDisplayFunc( Display );
- if (Anim)
- glutIdleFunc(Idle);
- Init(argc, argv);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/drawbuffers.c b/progs/tests/drawbuffers.c
deleted file mode 100644
index 7a19933e62..0000000000
--- a/progs/tests/drawbuffers.c
+++ /dev/null
@@ -1,311 +0,0 @@
-/*
- * Test GL_ARB_draw_buffers, GL_EXT_framebuffer_object
- * and GLSL's gl_FragData[].
- *
- * Brian Paul
- * 11 March 2007
- */
-
-
-#include <assert.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-#include "extfuncs.h"
-
-static int Win;
-static int Width = 400, Height = 400;
-static GLuint FBobject, RBobjects[3];
-static GLfloat Xrot = 0.0, Yrot = 0.0;
-static GLuint Program;
-
-
-static void
-CheckError(int line)
-{
- GLenum err = glGetError();
- if (err) {
- printf("GL Error 0x%x at line %d\n", (int) err, line);
- }
-}
-
-
-static void
-Display(void)
-{
- GLubyte *buffer = malloc(Width * Height * 4);
- static const GLenum buffers[2] = {
- GL_COLOR_ATTACHMENT0_EXT,
- GL_COLOR_ATTACHMENT1_EXT
- };
-
- glUseProgram_func(Program);
-
- glEnable(GL_DEPTH_TEST);
-
- /* draw to user framebuffer */
- glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, FBobject);
-
- /* Clear color buffer 0 (blue) */
- glDrawBuffer(GL_COLOR_ATTACHMENT0_EXT);
- glClearColor(0.5, 0.5, 1.0, 0.0);
- glClear(GL_COLOR_BUFFER_BIT);
-
- /* Clear color buffer 1 (1 - blue) */
- glDrawBuffer(GL_COLOR_ATTACHMENT1_EXT);
- glClearColor(0.5, 0.5, 0.0, 0.0);
- glClear(GL_COLOR_BUFFER_BIT);
-
- glClear(GL_DEPTH_BUFFER_BIT);
-
- /* draw to two buffers w/ fragment shader */
- glDrawBuffersARB(2, buffers);
-
- glPushMatrix();
- glRotatef(Xrot, 1, 0, 0);
- glRotatef(Yrot, 0, 1, 0);
- glutSolidTorus(0.75, 2.0, 10, 20);
- glPopMatrix();
-
- /* read from user framebuffer */
- /* left half = colorbuffer 0 */
- glReadBuffer(GL_COLOR_ATTACHMENT0_EXT);
- glPixelStorei(GL_PACK_ROW_LENGTH, Width);
- glPixelStorei(GL_PACK_SKIP_PIXELS, 0);
- glReadPixels(0, 0, Width / 2, Height, GL_RGBA, GL_UNSIGNED_BYTE,
- buffer);
-
- /* right half = colorbuffer 1 */
- glReadBuffer(GL_COLOR_ATTACHMENT1_EXT);
- glPixelStorei(GL_PACK_SKIP_PIXELS, Width / 2);
- glReadPixels(Width / 2, 0, Width - Width / 2, Height,
- GL_RGBA, GL_UNSIGNED_BYTE,
- buffer);
-
- /* draw to window */
- glUseProgram_func(0);
- glDisable(GL_DEPTH_TEST);
- glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
- glWindowPos2iARB(0, 0);
- glDrawPixels(Width, Height, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
-
- free(buffer);
- glutSwapBuffers();
- CheckError(__LINE__);
-}
-
-
-static void
-Reshape(int width, int height)
-{
- float ar = (float) width / (float) height;
-
- glViewport(0, 0, width, height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glFrustum(-ar, ar, -1.0, 1.0, 5.0, 35.0);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef(0.0, 0.0, -20.0);
-
- Width = width;
- Height = height;
-
- glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, RBobjects[0]);
- glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_RGB, Width, Height);
- glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, RBobjects[1]);
- glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_RGB, Width, Height);
- glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, RBobjects[2]);
- glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_DEPTH_COMPONENT,
- Width, Height);
-}
-
-
-static void
-CleanUp(void)
-{
- glDeleteFramebuffersEXT(1, &FBobject);
- glDeleteRenderbuffersEXT(3, RBobjects);
- glutDestroyWindow(Win);
- exit(0);
-}
-
-
-static void
-Key(unsigned char key, int x, int y)
-{
- (void) x;
- (void) y;
- switch (key) {
- case 'x':
- Xrot += 5.0;
- break;
- case 'y':
- Yrot += 5.0;
- break;
- case 27:
- CleanUp();
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void
-CheckExtensions(void)
-{
- const char *version = (const char *) glGetString(GL_VERSION);
- GLint numBuf;
-
- if (!glutExtensionSupported("GL_EXT_framebuffer_object")) {
- printf("Sorry, GL_EXT_framebuffer_object is required!\n");
- exit(1);
- }
- if (!glutExtensionSupported("GL_ARB_draw_buffers")) {
- printf("Sorry, GL_ARB_draw_buffers is required!\n");
- exit(1);
- }
- if (version[0] != '2') {
- printf("Sorry, OpenGL 2.0 is required!\n");
- exit(1);
- }
-
- glGetIntegerv(GL_MAX_DRAW_BUFFERS_ARB, &numBuf);
- printf("GL_MAX_DRAW_BUFFERS_ARB = %d\n", numBuf);
- if (numBuf < 2) {
- printf("Sorry, GL_MAX_DRAW_BUFFERS_ARB needs to be >= 2\n");
- exit(1);
- }
-
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
-}
-
-
-static void
-SetupRenderbuffers(void)
-{
- glGenFramebuffersEXT(1, &FBobject);
- glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, FBobject);
-
- glGenRenderbuffersEXT(3, RBobjects);
-
- glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, RBobjects[0]);
- glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_RGB, Width, Height);
-
- glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, RBobjects[1]);
- glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_RGB, Width, Height);
-
- glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, RBobjects[2]);
- glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_DEPTH_COMPONENT,
- Width, Height);
-
- glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT,
- GL_RENDERBUFFER_EXT, RBobjects[0]);
- glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT1_EXT,
- GL_RENDERBUFFER_EXT, RBobjects[1]);
- glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT,
- GL_RENDERBUFFER_EXT, RBobjects[2]);
-
- CheckError(__LINE__);
-}
-
-
-static GLuint
-LoadAndCompileShader(GLenum target, const char *text)
-{
- GLint stat;
- GLuint shader = glCreateShader_func(target);
- glShaderSource_func(shader, 1, (const GLchar **) &text, NULL);
- glCompileShader_func(shader);
- glGetShaderiv_func(shader, GL_COMPILE_STATUS, &stat);
- if (!stat) {
- GLchar log[1000];
- GLsizei len;
- glGetShaderInfoLog_func(shader, 1000, &len, log);
- fprintf(stderr, "drawbuffers: problem compiling shader:\n%s\n", log);
- exit(1);
- }
- return shader;
-}
-
-
-static void
-CheckLink(GLuint prog)
-{
- GLint stat;
- glGetProgramiv_func(prog, GL_LINK_STATUS, &stat);
- if (!stat) {
- GLchar log[1000];
- GLsizei len;
- glGetProgramInfoLog_func(prog, 1000, &len, log);
- fprintf(stderr, "drawbuffers: shader link error:\n%s\n", log);
- }
-}
-
-
-static void
-SetupShaders(void)
-{
- /* second color output = 1 - first color */
- static const char *fragShaderText =
- "void main() {\n"
- " gl_FragData[0] = gl_Color; \n"
- " gl_FragData[1] = vec4(1.0) - gl_Color; \n"
- "}\n";
-
- GLuint fragShader;
-
- fragShader = LoadAndCompileShader(GL_FRAGMENT_SHADER, fragShaderText);
- Program = glCreateProgram_func();
-
- glAttachShader_func(Program, fragShader);
- glLinkProgram_func(Program);
- CheckLink(Program);
- glUseProgram_func(Program);
-}
-
-
-static void
-SetupLighting(void)
-{
- static const GLfloat frontMat[4] = { 1.0, 0.5, 0.5, 1.0 };
- static const GLfloat backMat[4] = { 1.0, 0.5, 0.5, 1.0 };
-
- glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, frontMat);
- glMaterialfv(GL_BACK, GL_AMBIENT_AND_DIFFUSE, backMat);
- glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, 1);
- glEnable(GL_LIGHT0);
- glEnable(GL_LIGHTING);
-}
-
-
-static void
-Init(void)
-{
- CheckExtensions();
- GetExtensionFuncs();
- SetupRenderbuffers();
- SetupShaders();
- SetupLighting();
- glEnable(GL_DEPTH_TEST);
-}
-
-
-int
-main(int argc, char *argv[])
-{
- glutInit(&argc, argv);
- glutInitWindowPosition(0, 0);
- glutInitWindowSize(Width, Height);
- glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE);
- Win = glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Display);
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/exactrast.c b/progs/tests/exactrast.c
deleted file mode 100644
index 63b8336d97..0000000000
--- a/progs/tests/exactrast.c
+++ /dev/null
@@ -1,202 +0,0 @@
-/**
- * Test for exact point/line/polygon rasterization, or at least rasterization
- * that fits the tolerance of the OpenGL spec.
- *
- * Brian Paul
- * 9 Nov 2007
- */
-
-/*
- * Notes:
- * - 'm' to cycle through point, hline, vline and quad drawing
- * - Use cursor keys to translate coordinates (z to reset)
- * - Resize window to check for proper rasterization
- * - Make sure your LCD is running in its native resolution
- *
- * If translation is (0,0):
- * a point will be drawn where x%2==0 and y%2==0,
- * a horizontal line will be drawn where x%2==0,
- * a vertical line will be drawn where y%2==0,
- * for quads, pixels will be set where (x%4)!=3 and (y%4)!=3
- *
- * XXX todo: do glReadPixels and test that the results are what's expected.
- * Upon failure, iterate over sub-pixel translations to find the ideal offset.
- */
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-static int Width = 400, Height = 400;
-static int Win;
-static float Xtrans = 0, Ytrans = 0;
-static float Step = 0.125;
-
-enum {
- MODE_POINTS,
- MODE_HLINES,
- MODE_VLINES,
- MODE_QUADS,
- NUM_MODES
-};
-
-static int Mode = MODE_POINTS;
-
-
-static void
-Draw(void)
-{
- /* See the OpenGL Programming Guide, Appendix H, "OpenGL Correctness Tips"
- * for information about the 0.375 translation factor.
- */
- float tx = 0.375, ty = 0.375;
- int i, j;
-
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
- glPushMatrix();
- glTranslatef(tx + Xtrans, ty + Ytrans, 0);
-
- if (Mode == MODE_POINTS) {
- glBegin(GL_POINTS);
- for (j = 0; j < Height; j += 2) {
- for (i = 0; i < Width; i += 2) {
- glVertex2f(i, j);
- }
- }
- glEnd();
- }
- else if (Mode == MODE_HLINES) {
- glBegin(GL_LINES);
- for (i = 0; i < Height; i += 2) {
- glVertex2f(0, i);
- glVertex2f(Width, i);
- }
- glEnd();
- }
- else if (Mode == MODE_VLINES) {
- glBegin(GL_LINES);
- for (i = 0; i < Width; i += 2) {
- glVertex2f(i, 0 );
- glVertex2f(i, Height);
- }
- glEnd();
- }
- else if (Mode == MODE_QUADS) {
- glBegin(GL_QUADS);
- for (j = 0; j < Height; j += 4) {
- for (i = 0; i < Width; i += 4) {
- glVertex2f(i, j );
- glVertex2f(i + 3, j );
- glVertex2f(i + 3, j + 3);
- glVertex2f(i, j + 3);
- }
- }
- glEnd();
- }
-
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-static void
-Reshape(int width, int height)
-{
- Width = width;
- Height = height;
- glViewport(0, 0, width, height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(0, width, 0, height, -1, 1);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
-}
-
-
-static void
-Key(unsigned char key, int x, int y)
-{
- (void) x;
- (void) y;
- switch (key) {
- case 'm':
- case 'M':
- Mode = (Mode + 1) % NUM_MODES;
- break;
- case 'z':
- case 'Z':
- Xtrans = Ytrans = 0;
- printf("Translation: %f, %f\n", Xtrans, Ytrans);
- break;
- case 27:
- glutDestroyWindow(Win);
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void
-SpecialKey(int key, int x, int y)
-{
- (void) x;
- (void) y;
- switch (key) {
- case GLUT_KEY_UP:
- Ytrans += Step;
- break;
- case GLUT_KEY_DOWN:
- Ytrans -= Step;
- break;
- case GLUT_KEY_LEFT:
- Xtrans -= Step;
- break;
- case GLUT_KEY_RIGHT:
- Xtrans += Step;
- break;
- }
- glutPostRedisplay();
- printf("Translation: %f, %f\n", Xtrans, Ytrans);
-}
-
-
-static void
-Init(void)
-{
-}
-
-
-static void
-Usage(void)
-{
- printf("Keys:\n");
- printf(" up/down/left/right - translate by %f\n", Step);
- printf(" z - reset translation to zero\n");
- printf(" m - change rendering mode (points, hlines, vlines, quads)\n");
- printf(" Esc - exit\n");
-}
-
-
-int
-main(int argc, char *argv[])
-{
- glutInit(&argc, argv);
- glutInitWindowPosition(0, 0);
- glutInitWindowSize(Width, Height);
- glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE);
- Win = glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutSpecialFunc(SpecialKey);
- glutDisplayFunc(Draw);
- Init();
- Usage();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/ext422square.c b/progs/tests/ext422square.c
deleted file mode 100644
index 89e99f0292..0000000000
--- a/progs/tests/ext422square.c
+++ /dev/null
@@ -1,259 +0,0 @@
-/*
- * Exercise the EXT_422_pixels extension, a less convenient
- * alternative to MESA_ycbcr_texture. Requires ARB_fragment_program
- * to perform the final YUV->RGB conversion.
- *
- * Brian Paul 13 September 2002
- * Keith Whitwell 30 November 2004
- */
-
-
-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-#include <assert.h>
-
-#include "../util/readtex.c" /* I know, this is a hack. */
-
-#define TEXTURE_FILE "../images/tile.rgb"
-
-static GLfloat Xrot = 0, Yrot = 0, Zrot = 0;
-static GLint ImgWidth, ImgHeight;
-static GLushort *ImageYUV = NULL;
-static const GLuint yuvObj = 100;
-static const GLuint rgbObj = 101;
-
-static void Init( int argc, char *argv[] );
-
-static void DrawObject(void)
-{
- glBegin(GL_QUADS);
-
- glTexCoord2f(0, 0);
- glVertex2f(-1.0, -1.0);
-
- glTexCoord2f(1, 0);
- glVertex2f(1.0, -1.0);
-
- glTexCoord2f(1, 1);
- glVertex2f(1.0, 1.0);
-
- glTexCoord2f(0, 1);
- glVertex2f(-1.0, 1.0);
-
- glEnd();
-}
-
-static void Display( void )
-{
- static int firsttime = 1;
-
- if (firsttime) {
- firsttime = 0;
- Init( 0, 0 ); /* don't ask */
- }
-
- glClear( GL_COLOR_BUFFER_BIT );
- glBindTexture(GL_TEXTURE_2D, yuvObj);
-
- glPushMatrix();
- glEnable(GL_FRAGMENT_PROGRAM_ARB);
- glTranslatef( -1.1, 0.0, -15.0 );
- glRotatef(Xrot, 1.0, 0.0, 0.0);
- glRotatef(Yrot, 0.0, 1.0, 0.0);
- glRotatef(Zrot, 0.0, 0.0, 1.0);
- glBindTexture(GL_TEXTURE_2D, yuvObj);
- DrawObject();
- glPopMatrix();
-
- glPushMatrix();
- glDisable(GL_FRAGMENT_PROGRAM_ARB);
- glTranslatef( 1.1, 0.0, -15.0 );
- glRotatef(Xrot, 1.0, 0.0, 0.0);
- glRotatef(Yrot, 0.0, 1.0, 0.0);
- glRotatef(Zrot, 0.0, 0.0, 1.0);
- glBindTexture(GL_TEXTURE_2D, rgbObj);
- DrawObject();
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -1.1, 1.1, -1.1, 1.1, 10.0, 100.0 );
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -15.0 );
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void SpecialKey( int key, int x, int y )
-{
- float step = 3.0;
- (void) x;
- (void) y;
-
- switch (key) {
- case GLUT_KEY_UP:
- Xrot += step;
- break;
- case GLUT_KEY_DOWN:
- Xrot -= step;
- break;
- case GLUT_KEY_LEFT:
- Yrot += step;
- break;
- case GLUT_KEY_RIGHT:
- Yrot -= step;
- break;
- }
- glutPostRedisplay();
-}
-
-
-
-
-/* #define LINEAR_FILTER */
-
-static void Init( int argc, char *argv[] )
-{
- const char *file;
- const GLfloat yuvtorgb[16] = {
- 1.164, 1.164, 1.164, 0,
- 0, -.391, 2.018, 0,
- 1.596, -.813, 0.0, 0,
- (-.0625*1.164 + -.5*1.596), (-.0625*1.164 + -.5*-.813 + -.5*-.391), (-.0625*1.164 + -.5*2.018), 1
- };
-
- if (!glutExtensionSupported("GL_ARB_fragment_program")) {
- printf("Error: GL_ARB_fragment_program not supported!\n");
- exit(1);
- }
-
- if (!glutExtensionSupported("GL_EXT_422_pixels")) {
- printf("Error: GL_EXT_422_pixels not supported!\n");
- exit(1);
- }
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
-
- file = TEXTURE_FILE;
-
- /* Load the texture as YCbCr.
- */
- glBindTexture(GL_TEXTURE_2D, yuvObj);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
-
- ImageYUV = LoadYUVImage(file, &ImgWidth, &ImgHeight );
- if (!ImageYUV) {
- printf("Couldn't read %s\n", TEXTURE_FILE);
- exit(0);
- }
-
- glTexImage2D(GL_TEXTURE_2D, 0,
- GL_RGB,
- ImgWidth, ImgHeight, 0,
- GL_422_EXT,
- GL_UNSIGNED_BYTE, ImageYUV);
-
- glEnable(GL_TEXTURE_2D);
-
- glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
-
- {
- static const char *modulateYUV =
- "!!ARBfp1.0\n"
- "TEMP R0;\n"
- "TEX R0, fragment.texcoord[0], texture[0], 2D; \n"
-
- "ADD R0, R0, {-0.0625, -0.5, -0.5, 0.0}; \n"
- "DP3 result.color.x, R0, {1.164, 1.596, 0.0}; \n"
- "DP3 result.color.y, R0, {1.164, -0.813, -0.391}; \n"
- "DP3 result.color.z, R0, {1.164, 0.0, 2.018}; \n"
- "MOV result.color.w, R0.w; \n"
-
- "END"
- ;
-
- GLuint modulateProg;
-
-
- /* Setup the fragment program */
- glGenProgramsARB(1, &modulateProg);
- glBindProgramARB(GL_FRAGMENT_PROGRAM_ARB, modulateProg);
- glProgramStringARB(GL_FRAGMENT_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
- strlen(modulateYUV), (const GLubyte *)modulateYUV);
-
- printf("glGetError = 0x%x\n", (int) glGetError());
- printf("glError(GL_PROGRAM_ERROR_STRING_ARB) = %s\n",
- (char *) glGetString(GL_PROGRAM_ERROR_STRING_ARB));
- assert(glIsProgramARB(modulateProg));
-
- }
-
- /* Now the same, but use a color matrix to do the conversion at
- * upload time:
- */
- glBindTexture(GL_TEXTURE_2D, rgbObj);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
-
- glMatrixMode( GL_COLOR_MATRIX );
- glLoadMatrixf( yuvtorgb );
-
- glTexImage2D(GL_TEXTURE_2D, 0,
- GL_RGB,
- ImgWidth, ImgHeight, 0,
- GL_422_EXT,
- GL_UNSIGNED_BYTE, ImageYUV);
-
- glLoadIdentity();
- glMatrixMode( GL_MODELVIEW );
-
- glEnable(GL_TEXTURE_2D);
-
- glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
-
-
- glShadeModel(GL_FLAT);
- glClearColor(0.3, 0.3, 0.4, 1.0);
-}
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowSize( 300, 300 );
- glutInitWindowPosition( 0, 0 );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE );
- glutCreateWindow(argv[0] );
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutSpecialFunc( SpecialKey );
- glutDisplayFunc( Display );
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/fbotest1.c b/progs/tests/fbotest1.c
deleted file mode 100644
index 0cd7f95c35..0000000000
--- a/progs/tests/fbotest1.c
+++ /dev/null
@@ -1,212 +0,0 @@
-/*
- * Test GL_EXT_framebuffer_object
- *
- * Brian Paul
- * 7 Feb 2005
- */
-
-
-#include <assert.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-static int Win;
-static int Width = 400, Height = 400;
-static GLuint MyFB, MyRB;
-
-
-static void
-CheckError(int line)
-{
- GLenum err = glGetError();
- if (err) {
- printf("GL Error 0x%x at line %d\n", (int) err, line);
- }
-}
-
-
-static void
-Display( void )
-{
- GLubyte *buffer = malloc(Width * Height * 4);
- GLenum status;
-
- /* draw to user framebuffer */
- glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, MyFB);
- glDrawBuffer(GL_COLOR_ATTACHMENT1_EXT);
- glReadBuffer(GL_COLOR_ATTACHMENT1_EXT);
-
- status = glCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT);
- if (status != GL_FRAMEBUFFER_COMPLETE_EXT) {
- printf("Framebuffer incomplete!!!\n");
- }
-
- glClearColor(0.5, 0.5, 1.0, 0.0);
- glClear( GL_COLOR_BUFFER_BIT );
-
- glBegin(GL_POLYGON);
- glColor3f(1, 0, 0);
- glVertex2f(-1, -1);
- glColor3f(0, 1, 0);
- glVertex2f(1, -1);
- glColor3f(0, 0, 1);
- glVertex2f(0, 1);
- glEnd();
-
- /* read from user framebuffer */
- glReadPixels(0, 0, Width, Height, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
-
- /* draw to window */
- glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
- glWindowPos2iARB(0, 0);
- glDrawPixels(Width, Height, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
-
- free(buffer);
- glutSwapBuffers();
- CheckError(__LINE__);
-}
-
-
-static void
-Reshape( int width, int height )
-{
-#if 0
- float ar = (float) width / (float) height;
-#endif
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
-#if 0
- glFrustum( -ar, ar, -1.0, 1.0, 5.0, 25.0 );
-#else
- glOrtho(-1.0, 1.0, -1.0, 1.0, 5.0, 25.0 );
-#endif
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -15.0 );
- Width = width;
- Height = height;
- glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_RGB, Width, Height);
-}
-
-
-static void
-CleanUp(void)
-{
- glDeleteFramebuffersEXT(1, &MyFB);
- glDeleteRenderbuffersEXT(1, &MyRB);
- assert(!glIsFramebufferEXT(MyFB));
- assert(!glIsRenderbufferEXT(MyRB));
- glutDestroyWindow(Win);
- exit(0);
-}
-
-
-static void
-Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- CleanUp();
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void
-Init( void )
-{
- GLboolean ARB_fbo = glutExtensionSupported("GL_ARB_framebuffer_object");
- GLint i;
-
- if (!glutExtensionSupported("GL_EXT_framebuffer_object")) {
- printf("GL_EXT_framebuffer_object not found!\n");
- exit(0);
- }
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
-
- glGenFramebuffersEXT(1, &MyFB);
- assert(MyFB);
- assert(!glIsFramebufferEXT(MyFB));
- if (!ARB_fbo) {
- glDeleteFramebuffersEXT(1, &MyFB);
- assert(!glIsFramebufferEXT(MyFB));
- }
- /* Note, continue to use MyFB below */
-
- glGenRenderbuffersEXT(1, &MyRB);
- assert(MyRB);
- assert(!glIsRenderbufferEXT(MyRB));
- if (!ARB_fbo) {
- glDeleteRenderbuffersEXT(1, &MyRB);
- assert(!glIsRenderbufferEXT(MyRB));
- MyRB = 42; /* an arbitrary ID */
- }
-
- glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, MyFB);
- assert(glIsFramebufferEXT(MyFB));
- glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, MyRB);
- assert(glIsRenderbufferEXT(MyRB));
-
- glGetIntegerv(GL_RENDERBUFFER_BINDING_EXT, &i);
- assert(i == MyRB);
-
- glGetIntegerv(GL_FRAMEBUFFER_BINDING_EXT, &i);
- assert(i == MyFB);
-
- CheckError(__LINE__);
- glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT1_EXT,
- GL_RENDERBUFFER_EXT, MyRB);
-
- glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_RGB, Width, Height);
-
- CheckError(__LINE__);
-
- {
- GLint r, g, b, a;
- glGetRenderbufferParameterivEXT(GL_RENDERBUFFER_EXT,
- GL_RENDERBUFFER_RED_SIZE_EXT, &r);
- glGetRenderbufferParameterivEXT(GL_RENDERBUFFER_EXT,
- GL_RENDERBUFFER_GREEN_SIZE_EXT, &g);
- glGetRenderbufferParameterivEXT(GL_RENDERBUFFER_EXT,
- GL_RENDERBUFFER_BLUE_SIZE_EXT, &b);
- glGetRenderbufferParameterivEXT(GL_RENDERBUFFER_EXT,
- GL_RENDERBUFFER_ALPHA_SIZE_EXT, &a);
- CheckError(__LINE__);
- printf("renderbuffer RGBA sizes = %d %d %d %d\n", r, g, b, a);
-
- glGetIntegerv(GL_RED_BITS, &r);
- glGetIntegerv(GL_GREEN_BITS, &g);
- glGetIntegerv(GL_BLUE_BITS, &b);
- glGetIntegerv(GL_ALPHA_BITS, &a);
- printf("Visual RGBA sizes = %d %d %d %d\n", r, g, b, a);
- }
-
- /* restore to default */
- glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
- CheckError(__LINE__);
-}
-
-
-int
-main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize(Width, Height);
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE );
- Win = glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/fbotest2.c b/progs/tests/fbotest2.c
deleted file mode 100644
index f9c506193f..0000000000
--- a/progs/tests/fbotest2.c
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
- * Test GL_EXT_framebuffer_object
- *
- * Brian Paul
- * 19 Mar 2006
- */
-
-
-#include <assert.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-static int Win = 0;
-static int Width = 400, Height = 400;
-static GLuint MyFB, ColorRb, DepthRb;
-static GLboolean Animate = GL_TRUE;
-static GLfloat Rotation = 0.0;
-
-
-static void
-CheckError(int line)
-{
- GLenum err = glGetError();
- if (err) {
- printf("fbotest2: GL Error 0x%x at line %d\n", (int) err, line);
- }
-}
-
-
-static void
-Display( void )
-{
- GLubyte *buffer = malloc(Width * Height * 4);
- GLenum status;
-
- CheckError(__LINE__);
-
- /* draw to user framebuffer */
- glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, MyFB);
- glDrawBuffer(GL_COLOR_ATTACHMENT1_EXT);
- glReadBuffer(GL_COLOR_ATTACHMENT1_EXT);
-
- status = glCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT);
- if (status != GL_FRAMEBUFFER_COMPLETE_EXT) {
- printf("fbotest2: Error: Framebuffer is incomplete!!!\n");
- }
-
- CheckError(__LINE__);
-
- glClearColor(0.5, 0.5, 1.0, 0.0);
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
-
- glEnable(GL_DEPTH_TEST);
- glEnable(GL_LIGHTING);
- glEnable(GL_LIGHT0);
-
- glPushMatrix();
- glRotatef(30.0, 1, 0, 0);
- glRotatef(Rotation, 0, 1, 0);
- glutSolidTeapot(2.0);
- glPopMatrix();
-
- /* read from user framebuffer */
- glReadPixels(0, 0, Width, Height, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
-
- /* draw to window */
- glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
- glDisable(GL_DEPTH_TEST); /* in case window has depth buffer */
- glWindowPos2iARB(0, 0);
- glDrawPixels(Width, Height, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
-
- free(buffer);
- glutSwapBuffers();
- CheckError(__LINE__);
-}
-
-
-static void
-Reshape( int width, int height )
-{
- float ar = (float) width / (float) height;
-
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -ar, ar, -1.0, 1.0, 5.0, 25.0 );
-
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -15.0 );
-
- glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, ColorRb);
- glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_RGB, width, height);
- glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, DepthRb);
- glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_DEPTH_COMPONENT,
- width, height);
-
- Width = width;
- Height = height;
-}
-
-
-static void
-CleanUp(void)
-{
- glDeleteFramebuffersEXT(1, &MyFB);
- glDeleteRenderbuffersEXT(1, &ColorRb);
- glDeleteRenderbuffersEXT(1, &DepthRb);
- assert(!glIsFramebufferEXT(MyFB));
- assert(!glIsRenderbufferEXT(ColorRb));
- assert(!glIsRenderbufferEXT(DepthRb));
- glutDestroyWindow(Win);
- exit(0);
-}
-
-
-static void
-Idle(void)
-{
- Rotation = glutGet(GLUT_ELAPSED_TIME) * 0.1;
- glutPostRedisplay();
-}
-
-
-static void
-Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 'a':
- Animate = !Animate;
- if (Animate)
- glutIdleFunc(Idle);
- else
- glutIdleFunc(NULL);
- break;
- case 27:
- CleanUp();
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void
-Init( void )
-{
- if (!glutExtensionSupported("GL_EXT_framebuffer_object")) {
- printf("fbotest2: GL_EXT_framebuffer_object not found!\n");
- exit(0);
- }
- printf("fbotest2: GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
-
- glGenFramebuffersEXT(1, &MyFB);
- glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, MyFB);
- assert(glIsFramebufferEXT(MyFB));
-
- /* set color buffer */
- glGenRenderbuffersEXT(1, &ColorRb);
- glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, ColorRb);
- assert(glIsRenderbufferEXT(ColorRb));
- glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT1_EXT,
- GL_RENDERBUFFER_EXT, ColorRb);
- glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_RGB, Width, Height);
-
- /* setup depth buffer */
- glGenRenderbuffersEXT(1, &DepthRb);
- glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, DepthRb);
- assert(glIsRenderbufferEXT(DepthRb));
- glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT,
- GL_RENDERBUFFER_EXT, DepthRb);
- glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_DEPTH_COMPONENT, Width, Height);
-
- CheckError(__LINE__);
-
- /* restore to default */
- glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
- CheckError(__LINE__);
-}
-
-
-int
-main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize(Width, Height);
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE );
- Win = glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- if (Animate)
- glutIdleFunc(Idle);
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/fillrate.c b/progs/tests/fillrate.c
deleted file mode 100644
index 1e58df281e..0000000000
--- a/progs/tests/fillrate.c
+++ /dev/null
@@ -1,204 +0,0 @@
-/**
- * Measure fill rates for basic shading/texturing modes.
- *
- * Brian Paul
- * 1 April 2008
- */
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-#include "readtex.h"
-
-#define TEXTURE_1_FILE "../images/tile.rgb"
-#define TEXTURE_2_FILE "../images/reflect.rgb"
-
-static int Win;
-static int Width = 1010, Height = 1010;
-static GLuint Textures[2];
-
-
-/**
- * Draw quad 10 pixels shorter, narrower than window size.
- */
-static void
-DrawQuad(void)
-{
- glBegin(GL_POLYGON);
-
- glColor3f(1.0, 0.5, 0.5);
- glMultiTexCoord2f(GL_TEXTURE0, 0, 0);
- glMultiTexCoord2f(GL_TEXTURE1, 0, 0);
- glVertex2f(5, 5);
-
- glColor3f(0.5, 1.0, 0.5);
- glMultiTexCoord2f(GL_TEXTURE0, 1, 0);
- glMultiTexCoord2f(GL_TEXTURE1, 1, 0);
- glVertex2f(Width - 5, 5);
-
- glColor3f(0.5, 0.5, 1.0);
- glMultiTexCoord2f(GL_TEXTURE0, 1, 1);
- glMultiTexCoord2f(GL_TEXTURE1, 1, 1);
- glVertex2f(Width - 5, Height - 5);
-
- glColor3f(1.0, 0.5, 1.0);
- glMultiTexCoord2f(GL_TEXTURE0, 0, 1);
- glMultiTexCoord2f(GL_TEXTURE1, 0, 1);
- glVertex2f(5, Height - 5);
-
- glEnd();
-}
-
-
-/**
- * Compute rate for drawing large quad with given shading/texture state.
- */
-static void
-RunTest(GLenum shading, GLuint numTextures, GLenum texFilter)
-{
- const GLdouble minPeriod = 2.0;
- GLdouble t0, t1;
- GLdouble pixels, rate;
- GLint i, iters;
-
- glActiveTexture(GL_TEXTURE0);
- if (numTextures > 0) {
- glBindTexture(GL_TEXTURE_2D, Textures[0]);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, texFilter);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, texFilter);
- glEnable(GL_TEXTURE_2D);
- }
- else {
- glDisable(GL_TEXTURE_2D);
- }
-
- glActiveTexture(GL_TEXTURE1);
- if (numTextures > 1) {
- glBindTexture(GL_TEXTURE_2D, Textures[1]);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, texFilter);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, texFilter);
- glEnable(GL_TEXTURE_2D);
- }
- else {
- glDisable(GL_TEXTURE_2D);
- }
-
- glShadeModel(shading);
-
-
- glFinish();
-
- iters = 1;
- do {
- iters *= 4;
- t0 = glutGet(GLUT_ELAPSED_TIME) * 0.001;
- for (i = 0; i < iters; i++) {
- DrawQuad();
- }
- glFinish();
- t1 = glutGet(GLUT_ELAPSED_TIME) * 0.001;
- } while (t1 - t0 < minPeriod);
-
- glutSwapBuffers();
-
- pixels = (double) iters * (Width - 10) * (Height - 10);
- rate = pixels / (t1 - t0);
- rate /= 1000000.0; /* megapixels/second */
-
- printf("%s ", shading == GL_FLAT ? "GL_FLAT" : "GL_SMOOTH");
- printf("Textures=%u ", numTextures);
- printf("Filter=%s: ", texFilter == GL_LINEAR ? "GL_LINEAR" : "GL_NEAREST");
- printf("%g MPixels/sec\n", rate);
-}
-
-
-static void
-Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- RunTest(GL_FLAT, 0, GL_NEAREST);
- RunTest(GL_SMOOTH, 0, GL_NEAREST);
- RunTest(GL_SMOOTH, 1, GL_NEAREST);
- RunTest(GL_SMOOTH, 1, GL_LINEAR);
- RunTest(GL_SMOOTH, 2, GL_NEAREST);
- RunTest(GL_SMOOTH, 2, GL_LINEAR);
-
- glutSwapBuffers();
-}
-
-
-static void
-Reshape(int width, int height)
-{
- glViewport(0, 0, width, height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(0, width, 0, height, -1, 1);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- Width = width;
- Height = height;
-}
-
-
-static void
-Key(unsigned char key, int x, int y)
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- glutDestroyWindow(Win);
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void
-Init(void)
-{
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
-
- glGenTextures(2, Textures);
-
- glBindTexture(GL_TEXTURE_2D, Textures[0]);
- glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
-
- if (!LoadRGBMipmaps(TEXTURE_1_FILE, GL_RGB)) {
- printf("Error: couldn't load texture image\n");
- exit(1);
- }
-
- glBindTexture(GL_TEXTURE_2D, Textures[1]);
- glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
-
- if (!LoadRGBMipmaps(TEXTURE_2_FILE, GL_RGB)) {
- printf("Error: couldn't load texture image\n");
- exit(1);
- }
-
-}
-
-
-int
-main(int argc, char *argv[])
-{
- glutInit(&argc, argv);
- glutInitWindowPosition(0, 0);
- glutInitWindowSize(Width, Height);
- glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE);
- Win = glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/floattex.c b/progs/tests/floattex.c
deleted file mode 100644
index 39302ce3af..0000000000
--- a/progs/tests/floattex.c
+++ /dev/null
@@ -1,238 +0,0 @@
-/*
- * Test floating point textures.
- */
-
-
-#include <assert.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-#include "extfuncs.h"
-#include "readtex.h"
-#include "shaderutil.h"
-
-
-static const char *TexFile = "../images/arch.rgb";
-
-static const char *FragShaderText =
- "uniform sampler2D tex1; \n"
- "void main() \n"
- "{ \n"
- " vec4 t = texture2D(tex1, gl_TexCoord[0].xy); \n"
- " // convert from [-255,0] to [0,1] \n"
- " gl_FragColor = t * (-1.0 / 255.0); \n"
- "} \n";
-
-static const char *VertShaderText =
- "void main() \n"
- "{ \n"
- " gl_TexCoord[0] = gl_MultiTexCoord0; \n"
- " gl_Position = ftransform(); \n"
- "} \n";
-
-static struct uniform_info Uniforms[] = {
- { "tex1", 1, GL_SAMPLER_2D, { 0, 0, 0, 0 }, -1 },
- END_OF_UNIFORMS
-};
-
-
-static GLuint Program;
-
-
-
-static GLboolean
-CheckError( int line )
-{
- GLenum error = glGetError();
- if (error) {
- char *err = (char *) gluErrorString( error );
- fprintf( stderr, "GL Error: %s at line %d\n", err, line );
- return GL_TRUE;
- }
- return GL_FALSE;
-}
-
-
-static void
-Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
- glPushMatrix();
-
- glBegin(GL_POLYGON);
- glTexCoord2f( 0.0, 0.0 ); glVertex2f( -1.0, -1.0 );
- glTexCoord2f( 1.0, 0.0 ); glVertex2f( 1.0, -1.0 );
- glTexCoord2f( 1.0, 1.0 ); glVertex2f( 1.0, 1.0 );
- glTexCoord2f( 0.0, 1.0 ); glVertex2f( -1.0, 1.0 );
- glEnd();
-
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-static void
-Reshape(int width, int height)
-{
- glViewport(0, 0, width, height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glFrustum(-1.0, 1.0, -1.0, 1.0, 5.0, 25.0);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef(0.0, 0.0, -8.0);
-}
-
-
-static void
-Key(unsigned char key, int x, int y)
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void
-InitTexture(void)
-{
- GLenum filter = GL_LINEAR;
- GLint imgWidth, imgHeight;
- GLenum imgFormat;
- GLubyte *image = NULL;
- GLfloat *ftex;
- GLint i, t;
-
- image = LoadRGBImage(TexFile, &imgWidth, &imgHeight, &imgFormat);
- if (!image) {
- printf("Couldn't read %s\n", TexFile);
- exit(0);
- }
-
- assert(imgFormat == GL_RGB);
-
- ftex = (float *) malloc(imgWidth * imgHeight * 4 * sizeof(float));
- if (!ftex) {
- printf("out of memory\n");
- exit(0);
- }
-
- /* convert ubytes to floats, negated */
- for (i = 0; i < imgWidth * imgHeight * 3; i++) {
- ftex[i] = -1.0f * image[i];
- }
-
- glActiveTexture(GL_TEXTURE0);
- glBindTexture(GL_TEXTURE_2D, 42);
-
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA32F_ARB,
- imgWidth, imgHeight, 0,
- GL_RGB, GL_FLOAT, ftex);
-
-
- CheckError(__LINE__);
-
- /* sanity checks */
- glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_RED_TYPE_ARB, &t);
- assert(t == GL_FLOAT);
- glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_GREEN_TYPE_ARB, &t);
- assert(t == GL_FLOAT);
- glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_BLUE_TYPE_ARB, &t);
- assert(t == GL_FLOAT);
- glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_ALPHA_TYPE_ARB, &t);
- assert(t == GL_FLOAT);
-
- free(image);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, filter);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, filter);
-
- if (1) {
- /* read back the texture and make sure values are correct */
- GLfloat *tex2 = (GLfloat *)
- malloc(imgWidth * imgHeight * 4 * sizeof(GLfloat));
- glGetTexImage(GL_TEXTURE_2D, 0, imgFormat, GL_FLOAT, tex2);
- CheckError(__LINE__);
- for (i = 0; i < imgWidth * imgHeight * 4; i++) {
- if (ftex[i] != tex2[i]) {
- printf("tex[%d] %g != tex2[%d] %g\n",
- i, ftex[i], i, tex2[i]);
- }
- }
- }
-
- free(ftex);
-}
-
-
-static GLuint
-CreateProgram(void)
-{
- GLuint fragShader, vertShader, program;
-
- vertShader = CompileShaderText(GL_VERTEX_SHADER, VertShaderText);
- fragShader = CompileShaderText(GL_FRAGMENT_SHADER, FragShaderText);
- assert(vertShader);
- program = LinkShaders(vertShader, fragShader);
-
- assert(program);
-
- glUseProgram_func(program);
-
- SetUniformValues(program, Uniforms);
-
- return program;
-}
-
-
-static void
-Init(void)
-{
- glClearColor(0.25, 0.25, 0.25, 0.0);
-
- GetExtensionFuncs();
-
- if (!ShadersSupported()) {
- printf("Sorry, this test requires GLSL\n");
- exit(1);
- }
-
- if (!glutExtensionSupported("GL_MESAX_texture_float") &&
- !glutExtensionSupported("GL_ARB_texture_float")) {
- printf("Sorry, this test requires GL_MESAX/ARB_texture_float\n");
- exit(1);
- }
-
- InitTexture();
-
- Program = CreateProgram();
- glUseProgram_func(Program);
-}
-
-
-int
-main(int argc, char *argv[])
-{
- glutInit(&argc, argv);
- glutInitWindowPosition(0, 0);
- glutInitWindowSize(400, 400);
- glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/fog.c b/progs/tests/fog.c
deleted file mode 100644
index b6cea8c080..0000000000
--- a/progs/tests/fog.c
+++ /dev/null
@@ -1,200 +0,0 @@
-/*
- * Copyright 2005 Eric Anholt
- * 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 (including the next
- * paragraph) 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.
- *
- * Authors:
- * Eric Anholt <anholt@FreeBSD.org>
- * Brian Paul (fogcoord.c used as a skeleton)
- */
-
-/*
- * Test to exercise fog modes and for comparison with GL_EXT_fog_coord.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-static int Width = 600;
-static int Height = 600;
-static GLfloat Near = 0.0, Far = 1.0;
-GLboolean has_fogcoord;
-
-static void drawString( const char *string )
-{
- glRasterPos2f(0, .5);
- while ( *string ) {
- glutBitmapCharacter( GLUT_BITMAP_TIMES_ROMAN_10, *string );
- string++;
- }
-}
-
-static void Display( void )
-{
- GLint i, depthi;
- GLfloat fogcolor[4] = {1, 1, 1, 1};
-
- glEnable(GL_FOG);
- glFogfv(GL_FOG_COLOR, fogcolor);
-
- glClearColor(0.2, 0.2, 0.8, 0);
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
-
- glPushMatrix();
- for (i = 0; i < 6; i++) {
- if (i >= 3 && !has_fogcoord)
- break;
-
- glPushMatrix();
- for (depthi = 0; depthi < 5; depthi++) {
- GLfloat depth = Near + (Far - Near) * depthi / 4;
-
- switch (i % 3) {
- case 0:
- glFogi(GL_FOG_MODE, GL_LINEAR);
- glFogf(GL_FOG_START, Near);
- glFogf(GL_FOG_END, Far);
- break;
- case 1:
- glFogi(GL_FOG_MODE, GL_EXP);
- glFogf(GL_FOG_DENSITY, 2);
- break;
- case 2:
- glFogi(GL_FOG_MODE, GL_EXP2);
- glFogf(GL_FOG_DENSITY, 2);
- break;
- }
-
- glColor4f(0, 0, 0, 0);
- if (i < 3) {
- if (has_fogcoord)
- glFogi(GL_FOG_COORDINATE_SOURCE_EXT, GL_FRAGMENT_DEPTH_EXT);
-
- glBegin(GL_POLYGON);
- glVertex3f(0, 0, depth);
- glVertex3f(1, 0, depth);
- glVertex3f(1, 1, depth);
- glVertex3f(0, 1, depth);
- glEnd();
- } else {
- glFogi(GL_FOG_COORDINATE_SOURCE_EXT, GL_FOG_COORDINATE_EXT);
- glFogCoordfEXT(depth);
-
- glBegin(GL_POLYGON);
- glVertex3f(0, 0, (Near + Far) / 2);
- glVertex3f(1, 0, (Near + Far) / 2);
- glVertex3f(1, 1, (Near + Far) / 2);
- glVertex3f(0, 1, (Near + Far) / 2);
- glEnd();
- }
- glTranslatef(1.5, 0, 0);
- }
-
- glTranslatef(.1, 0, 0);
- switch (i) {
- case 0:
- drawString("GL_LINEAR");
- break;
- case 1:
- drawString("GL_EXP");
- break;
- case 2:
- drawString("GL_EXP2");
- break;
- case 3:
- drawString("GL_FOGCOORD GL_LINEAR");
- break;
- case 4:
- drawString("GL_FOGCOORD GL_EXP");
- break;
- case 5:
- drawString("GL_FOGCOORD GL_EXP2");
- break;
- }
-
- glPopMatrix();
- glTranslatef(0, 1.5, 0);
- }
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- Width = width;
- Height = height;
- glViewport( 0, 0, width, height );
-
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glOrtho( 0, 11, 9, 0, -Near, -Far );
-
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- glTranslatef(.25, .25, 0);
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void Init( void )
-{
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- printf("GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- /* setup lighting, etc */
- has_fogcoord = glutExtensionSupported("GL_EXT_fog_coord");
- if (!has_fogcoord) {
- printf("Some output of this program requires GL_EXT_fog_coord\n");
- }
-}
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( Width, Height );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH );
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/fogcoord.c b/progs/tests/fogcoord.c
deleted file mode 100644
index 7822d33b09..0000000000
--- a/progs/tests/fogcoord.c
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Exercise GL_EXT_fog_coord
- */
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-static int Width = 600;
-static int Height = 200;
-static GLfloat Near = 5.0, Far = 25.0;
-
-
-static void Display( void )
-{
- GLfloat t;
-
- glClearColor(0.2, 0.2, 0.8, 0);
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
-
- for (t = 0.0; t <= 1.0; t += 0.25) {
- GLfloat f = Near + t * (Far - Near);
- printf("glFogCoord(%4.1f)\n", f);
- glFogCoordfEXT(f);
-
- glPushMatrix();
- glTranslatef(t * 10.0 - 5.0, 0, 0);
- glBegin(GL_POLYGON);
- glVertex2f(-1, -1);
- glVertex2f( 1, -1);
- glVertex2f( 1, 1);
- glVertex2f(-1, 1);
- glEnd();
- glPopMatrix();
- }
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- GLfloat ar = (float) width / (float) height;
- Width = width;
- Height = height;
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -ar, ar, -1.0, 1.0, Near, Far );
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -15.0 );
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void Init( void )
-{
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- printf("GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- /* setup lighting, etc */
- if (!glutExtensionSupported("GL_EXT_fog_coord")) {
- printf("Sorry, this program requires GL_EXT_fog_coord\n");
- exit(1);
- }
- glFogi(GL_FOG_COORDINATE_SOURCE_EXT, GL_FOG_COORDINATE_EXT);
- glFogi(GL_FOG_MODE, GL_LINEAR);
- glFogf(GL_FOG_START, Near);
- glFogf(GL_FOG_END, Far);
- glEnable(GL_FOG);
- printf("Squares should be colored from white -> gray -> black.\n");
-}
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( Width, Height );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH );
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/fptest1.c b/progs/tests/fptest1.c
deleted file mode 100644
index 1f30d5733e..0000000000
--- a/progs/tests/fptest1.c
+++ /dev/null
@@ -1,228 +0,0 @@
-/* Test GL_NV_fragment_program */
-
-#include <assert.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-
-
-static void Display( void )
-{
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
-
- glPushMatrix();
-
- glColor4f(0, 0.5, 0, 1);
- glColor4f(0, 1, 0, 1);
- glBegin(GL_POLYGON);
- glVertex2f(-1, -1);
- glVertex2f( 1, -1);
- glVertex2f( 0, 1);
- glEnd();
-
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -1.0, 1.0, -1.0, 1.0, 5.0, 25.0 );
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -15.0 );
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void Init( void )
-{
-#if 0
- static const char *prog0 =
- "!!FP1.0\n"
- "MUL o[COLR], R0, f[WPOS]; \n"
- "ADD o[COLH], H3, f[TEX0]; \n"
- "ADD_SAT o[COLH], H3, f[TEX0]; \n"
- "ADDX o[COLH], H3, f[TEX0]; \n"
- "ADDHC o[COLH], H3, f[TEX0]; \n"
- "ADDXC o[COLH], H3, f[TEX0]; \n"
- "ADDXC_SAT o[COLH], H30, f[TEX0]; \n"
- "MUL o[COLR].xy, R0.wzyx, f[WPOS]; \n"
- "MUL o[COLR], H0, f[WPOS]; \n"
- "MUL o[COLR], -H0, f[WPOS]; \n"
- "MOV RC, H1; \n"
- "MOV HC, H2; \n"
- "END \n"
- ;
-#endif
-
- /* masked updates, defines, declarations */
- static const char *prog1 =
- "!!FP1.0\n"
- "DEFINE foo = {1, 2, 3, 4}; \n"
- "DEFINE foo2 = 5; \n"
- "DECLARE foo3 = {5, 6, 7, 8}; \n"
- "DECLARE bar = 3; \n"
- "DECLARE bar2; \n"
- "DECLARE bar3 = bar; \n"
- "#DECLARE bar4 = { a, b, c, d }; \n"
- "MOV o[COLR].xy, R0; \n"
- "MOV o[COLR] (NE), R0; \n"
- "MOV o[COLR] (NE.wzyx), R0; \n"
- "MOV o[COLR].xy (NE.wzyx), R0; \n"
- "MOV RC.x (EQ), R1.x; \n"
- "KIL NE; \n"
- "KIL EQ.xyxy; \n"
- "END \n"
- ;
-
- /* texture instructions */
- static const char *prog2 =
- "!!FP1.0\n"
- "TEX R0, f[TEX0], TEX0, 2D; \n"
- "TEX R1, f[TEX1], TEX1, CUBE; \n"
- "TEX R2, f[TEX2], TEX2, 3D; \n"
- "TXP R3, f[TEX3], TEX3, RECT; \n"
- "TXD R3, R2, R1, f[TEX3], TEX3, RECT; \n"
- "MUL o[COLR], R0, f[COL0]; \n"
- "END \n"
- ;
-
- /* test negation, absolute value */
- static const char *prog3 =
- "!!FP1.0\n"
- "MOV R0, -R1; \n"
- "MOV R0, +R1; \n"
- "MOV R0, |-R1|; \n"
- "MOV R0, |+R1|; \n"
- "MOV R0, -|R1|; \n"
- "MOV R0, +|R1|; \n"
- "MOV R0, -|-R1|; \n"
- "MOV R0, -|+R1|; \n"
- "MOV o[COLR], R0; \n"
- "END \n"
- ;
-
- /* literal constant sources */
- static const char *prog4 =
- "!!FP1.0\n"
- "DEFINE Pi = 3.14159; \n"
- "MOV R0, {1, -2, +3, 4}; \n"
- "MOV R0, 5; \n"
- "MOV R0, -5; \n"
- "MOV R0, +5; \n"
- "MOV R0, Pi; \n"
- "MOV o[COLR], R0; \n"
- "END \n"
- ;
-
- /* change the fragment color in a simple way */
- static const char *prog10 =
- "!!FP1.0\n"
- "DEFINE blue = {0, 0, 1, 0};\n"
- "DECLARE color; \n"
- "MOV R0, f[COL0]; \n"
- "#ADD o[COLR], R0, f[COL0]; \n"
- "#ADD o[COLR], blue, f[COL0]; \n"
- "#ADD o[COLR], {1, 0, 0, 0}, f[COL0]; \n"
- "ADD o[COLR], color, f[COL0]; \n"
- "END \n"
- ;
-
- GLuint progs[20];
-
- if (!glutExtensionSupported ("GL_NV_fragment_program")) {
- printf("Sorry, this program requires GL_NV_fragment_program\n");
- exit(1);
- }
-
- glGenProgramsNV(20, progs);
- assert(progs[0]);
- assert(progs[1]);
- assert(progs[0] != progs[1]);
-
-#if 0
- glLoadProgramNV(GL_FRAGMENT_PROGRAM_NV, progs[0],
- strlen(prog0),
- (const GLubyte *) prog0);
- assert(glIsProgramNV(progs[0]));
-#endif
-
- glLoadProgramNV(GL_FRAGMENT_PROGRAM_NV, progs[1],
- strlen(prog1),
- (const GLubyte *) prog1);
- assert(glIsProgramNV(progs[1]));
-
- glLoadProgramNV(GL_FRAGMENT_PROGRAM_NV, progs[2],
- strlen(prog2),
- (const GLubyte *) prog2);
- assert(glIsProgramNV(progs[2]));
- glBindProgramNV(GL_FRAGMENT_PROGRAM_NV, progs[2]);
-
- glLoadProgramNV(GL_FRAGMENT_PROGRAM_NV, progs[3],
- strlen(prog3),
- (const GLubyte *) prog3);
- assert(glIsProgramNV(progs[3]));
- glBindProgramNV(GL_FRAGMENT_PROGRAM_NV, progs[3]);
-
- glLoadProgramNV(GL_FRAGMENT_PROGRAM_NV, progs[4],
- strlen(prog4),
- (const GLubyte *) prog4);
- assert(glIsProgramNV(progs[4]));
- glBindProgramNV(GL_FRAGMENT_PROGRAM_NV, progs[4]);
-
-
- /* a real program */
- glLoadProgramNV(GL_FRAGMENT_PROGRAM_NV, progs[10],
- strlen(prog10),
- (const GLubyte *) prog10);
- assert(glIsProgramNV(progs[10]));
- glBindProgramNV(GL_FRAGMENT_PROGRAM_NV, progs[10]);
-
- glProgramNamedParameter4fNV(progs[10],
- strlen("color"), (const GLubyte *) "color",
- 1, 0, 0, 1);
-
- glEnable(GL_FRAGMENT_PROGRAM_NV);
- glEnable(GL_ALPHA_TEST);
- glAlphaFunc(GL_ALWAYS, 0.0);
-
- printf("glGetError = %d\n", (int) glGetError());
-}
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 250, 250 );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH );
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/fptexture.c b/progs/tests/fptexture.c
deleted file mode 100644
index 332e07182d..0000000000
--- a/progs/tests/fptexture.c
+++ /dev/null
@@ -1,152 +0,0 @@
-/* GL_NV_fragment_program texture test */
-
-#include <assert.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-#include "../util/readtex.c"
-
-
-#define TEXTURE_FILE "../images/girl.rgb"
-
-static GLfloat Xrot = 0.0, Yrot = 0.0, Zrot = 0.0;
-
-
-static void Display( void )
-{
- glClear( GL_COLOR_BUFFER_BIT );
-
- glPushMatrix();
- glRotatef(Xrot, 1.0, 0.0, 0.0);
- glRotatef(Yrot, 0.0, 1.0, 0.0);
- glRotatef(Zrot, 0.0, 0.0, 1.0);
-
- glBegin(GL_POLYGON);
- glColor4f(1.0, 1.0, 1.0, 1); glTexCoord2f(0, 0); glVertex2f(-1, -1);
- glColor4f(0.2, 0.2, 1.0, 1); glTexCoord2f(1, 0); glVertex2f( 1, -1);
- glColor4f(0.2, 1.0, 0.2, 1); glTexCoord2f(1, 1); glVertex2f( 1, 1);
- glColor4f(1.0, 0.2, 0.2, 1); glTexCoord2f(0, 1); glVertex2f(-1, 1);
- glEnd();
-
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -1.0, 1.0, -1.0, 1.0, 5.0, 25.0 );
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -8.0 );
-}
-
-
-static void SpecialKey( int key, int x, int y )
-{
- float step = 3.0;
- (void) x;
- (void) y;
-
- switch (key) {
- case GLUT_KEY_UP:
- Xrot += step;
- break;
- case GLUT_KEY_DOWN:
- Xrot -= step;
- break;
- case GLUT_KEY_LEFT:
- Yrot += step;
- break;
- case GLUT_KEY_RIGHT:
- Yrot -= step;
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void Init( void )
-{
- static const char *modulate2D =
- "!!FP1.0\n"
- "TEX R0, f[TEX0], TEX0, 2D; \n"
- "MUL o[COLR], R0, f[COL0]; \n"
- "END"
- ;
- GLuint modulateProg;
- GLuint Texture;
-
- if (!glutExtensionSupported("GL_NV_fragment_program")) {
- printf("Error: GL_NV_fragment_program not supported!\n");
- exit(1);
- }
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
-
- /* Setup the fragment program */
- glGenProgramsNV(1, &modulateProg);
- glLoadProgramNV(GL_FRAGMENT_PROGRAM_NV, modulateProg,
- strlen(modulate2D),
- (const GLubyte *) modulate2D);
- printf("glGetError = 0x%x\n", (int) glGetError());
- printf("glError(GL_PROGRAM_ERROR_STRING_NV) = %s\n",
- (char *) glGetString(GL_PROGRAM_ERROR_STRING_NV));
- assert(glIsProgramNV(modulateProg));
-
- glBindProgramNV(GL_FRAGMENT_PROGRAM_NV, modulateProg);
- glEnable(GL_FRAGMENT_PROGRAM_NV);
-
- /* Load texture */
- glGenTextures(1, &Texture);
- glBindTexture(GL_TEXTURE_2D, Texture);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- if (!LoadRGBMipmaps(TEXTURE_FILE, GL_RGB)) {
- printf("Error: couldn't load texture image file %s\n", TEXTURE_FILE);
- exit(1);
- }
- /* XXX this enable shouldn't really be needed!!! */
- glEnable(GL_TEXTURE_2D);
-
- glClearColor(.3, .3, .3, 0);
-}
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 250, 250 );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH );
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutSpecialFunc( SpecialKey );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/getprocaddress.c b/progs/tests/getprocaddress.c
deleted file mode 100644
index 38ca7000df..0000000000
--- a/progs/tests/getprocaddress.c
+++ /dev/null
@@ -1,3734 +0,0 @@
-/*
- * Copyright (C) 1999-2002 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
- * BRIAN PAUL 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.
- */
-
-/*
- * Test that glXGetProcAddress works.
- */
-
-#define GLX_GLXEXT_PROTOTYPES
-
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-#include <GL/gl.h>
-#include <GL/glx.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <math.h>
-
-
-typedef void (*generic_func)();
-
-#define EQUAL(X, Y) (fabs((X) - (Y)) < 0.001)
-
-/* This macro simplifies the task of querying an extension function
- * pointer and checking to see whether it resolved.
- */
-#define DECLARE_GLFUNC_PTR(name,type) \
- type name = (type) glXGetProcAddressARB((const GLubyte *) "gl" #name)
-
-/********************************************************************
- * Generic helper functions used by the test functions.
- */
-
-static void CheckGLError(int line, const char *file, const char *function)
-{
- int errorCode;
- glFinish();
- errorCode = glGetError();
- if (errorCode == GL_NO_ERROR) return;
- while (errorCode != GL_NO_ERROR) {
- fprintf(stderr, "OpenGL error 0x%x (%s) at line %d of file %s in function %s()\n",
- errorCode,
- errorCode == GL_INVALID_VALUE? "GL_INVALID_VALUE":
- errorCode == GL_INVALID_ENUM? "GL_INVALID_ENUM":
- errorCode == GL_INVALID_OPERATION? "GL_INVALID_OPERATION":
- errorCode == GL_STACK_OVERFLOW? "GL_STACK_OVERFLOW":
- errorCode == GL_STACK_UNDERFLOW? "GL_STACK_UNDERFLOW":
- errorCode == GL_OUT_OF_MEMORY? "GL_OUT_OF_MEMORY":
- "unknown",
- line, file, function);
- errorCode = glGetError();
- }
- fflush(stderr);
-}
-
-static GLboolean
-compare_bytes(const char *errorLabel, GLuint expectedSize,
- const GLubyte *expectedData, GLuint actualSize, const GLubyte *actualData)
-{
- int i;
-
- if (expectedSize == actualSize &&
- memcmp(expectedData, actualData, actualSize) == 0) {
- /* All is well */
- return GL_TRUE;
- }
-
- /* Trouble; we don't match. Print out why. */
- fprintf(stderr, "%s: actual data is not as expected\n", errorLabel);
- for (i = 0; i <= 1; i++) {
- const GLubyte *ptr;
- int size;
- char *label;
- int j;
-
- switch(i) {
- case 0:
- label = "expected";
- size = expectedSize;
- ptr = expectedData;
- break;
- case 1:
- label = " actual";
- size = actualSize;
- ptr = actualData;
- break;
- }
-
- fprintf(stderr, " %s: size %d: {", label, size);
- for (j = 0; j < size; j++) {
- fprintf(stderr, "%s0x%02x", j > 0 ? ", " : "", ptr[j]);
- }
- fprintf(stderr, "}\n");
- }
-
- /* We fail if the data is unexpected. */
- return GL_FALSE;
-}
-
-
-static GLboolean
-compare_ints(const char *errorLabel, GLuint expectedSize,
- const GLint *expectedData, GLuint actualSize, const GLint *actualData)
-{
- int i;
-
- if (expectedSize == actualSize &&
- memcmp(expectedData, actualData, actualSize*sizeof(*expectedData)) == 0) {
- /* All is well */
- return GL_TRUE;
- }
-
- /* Trouble; we don't match. Print out why. */
- fprintf(stderr, "%s: actual data is not as expected\n", errorLabel);
- for (i = 0; i <= 1; i++) {
- const GLint *ptr;
- int size;
- char *label;
- int j;
-
- switch(i) {
- case 0:
- label = "expected";
- size = expectedSize;
- ptr = expectedData;
- break;
- case 1:
- label = " actual";
- size = actualSize;
- ptr = actualData;
- break;
- }
-
- fprintf(stderr, " %s: size %d: {", label, size);
- for (j = 0; j < size; j++) {
- fprintf(stderr, "%s%d", j > 0 ? ", " : "", ptr[j]);
- }
- fprintf(stderr, "}\n");
- }
-
- /* We fail if the data is unexpected. */
- return GL_FALSE;
-}
-
-#define MAX_CONVERTED_VALUES 4
-static GLboolean
-compare_shorts_to_ints(const char *errorLabel, GLuint expectedSize,
- const GLshort *expectedData, GLuint actualSize, const GLint *actualData)
-{
- int i;
- GLint convertedValues[MAX_CONVERTED_VALUES];
-
- if (expectedSize > MAX_CONVERTED_VALUES) {
- fprintf(stderr, "%s: too much data [need %d values, have %d values]\n",
- errorLabel, expectedSize, MAX_CONVERTED_VALUES);
- return GL_FALSE;
- }
-
- for (i = 0; i < expectedSize; i++) {
- convertedValues[i] = (GLint) expectedData[i];
- }
-
- return compare_ints(errorLabel, expectedSize, convertedValues,
- actualSize, actualData);
-}
-
-static GLboolean
-compare_floats(const char *errorLabel, GLuint expectedSize,
- const GLfloat *expectedData, GLuint actualSize, const GLfloat *actualData)
-{
- int i;
-
- if (expectedSize == actualSize &&
- memcmp(expectedData, actualData, actualSize*sizeof(*expectedData)) == 0) {
- /* All is well */
- return GL_TRUE;
- }
-
- /* Trouble; we don't match. Print out why. */
- fprintf(stderr, "%s: actual data is not as expected\n", errorLabel);
- for (i = 0; i <= 1; i++) {
- const GLfloat *ptr;
- int size;
- char *label;
- int j;
-
- switch(i) {
- case 0:
- label = "expected";
- size = expectedSize;
- ptr = expectedData;
- break;
- case 1:
- label = " actual";
- size = actualSize;
- ptr = actualData;
- break;
- }
-
- fprintf(stderr, " %s: size %d: {", label, size);
- for (j = 0; j < size; j++) {
- fprintf(stderr, "%s%f", j > 0 ? ", " : "", ptr[j]);
- }
- fprintf(stderr, "}\n");
- }
-
- /* We fail if the data is unexpected. */
- return GL_FALSE;
-}
-
-static GLboolean
-compare_doubles(const char *errorLabel, GLuint expectedSize,
- const GLdouble *expectedData, GLuint actualSize, const GLdouble *actualData)
-{
- int i;
-
- if (expectedSize == actualSize ||
- memcmp(expectedData, actualData, actualSize*sizeof(*expectedData)) == 0) {
- /* All is well */
- return GL_TRUE;
- }
-
- /* Trouble; we don't match. Print out why. */
- fprintf(stderr, "%s: actual data is not as expected\n", errorLabel);
- for (i = 0; i <= 1; i++) {
- const GLdouble *ptr;
- int size;
- char *label;
- int j;
-
- switch(i) {
- case 0:
- label = "expected";
- size = expectedSize;
- ptr = expectedData;
- break;
- case 1:
- label = " actual";
- size = actualSize;
- ptr = actualData;
- break;
- }
-
- fprintf(stderr, " %s: size %d: {", label, size);
- for (j = 0; j < size; j++) {
- fprintf(stderr, "%s%f", j > 0 ? ", " : "", ptr[j]);
- }
- fprintf(stderr, "}\n");
- }
-
- /* We fail if the data is unexpected. */
- return GL_FALSE;
-}
-
-/********************************************************************
- * Functions to assist with GL_ARB_texture_compressiong testing
- */
-
-static GLboolean
-check_texture_format_supported(GLenum format)
-{
- GLint numFormats;
- GLint *formats;
- register int i;
-
- glGetIntegerv(GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB, &numFormats);
- formats = malloc(numFormats * sizeof(GLint));
- if (formats == NULL) {
- fprintf(stderr, "check_texture_format_supported: could not allocate memory for %d GLints\n",
- numFormats);
- return GL_FALSE;
- }
-
- memset(formats, 0, numFormats * sizeof(GLint));
- glGetIntegerv(GL_COMPRESSED_TEXTURE_FORMATS_ARB, formats);
-
- for (i = 0; i < numFormats; i++) {
- if (formats[i] == format) {
- free(formats);
- return GL_TRUE;
- }
- }
-
- /* We didn't find the format we were looking for. Give an error. */
-#define FORMAT_NAME(x) (\
- x == GL_COMPRESSED_RGB_FXT1_3DFX ? "GL_COMPRESSED_RGB_FXT1_3DFX" : \
- x == GL_COMPRESSED_RGBA_FXT1_3DFX ? "GL_COMPRESSED_RGBA_FXT1_3DFX" : \
- x == GL_COMPRESSED_RGB_S3TC_DXT1_EXT ? "GL_COMPRESSED_RGB_S3TC_DXT1_EXT" : \
- x == GL_COMPRESSED_RGBA_S3TC_DXT1_EXT ? "GL_COMPRESSED_RGBA_S3TC_DXT1_EXT" : \
- x == GL_COMPRESSED_RGBA_S3TC_DXT3_EXT ? "GL_COMPRESSED_RGBA_S3TC_DXT3_EXT" : \
- x == GL_COMPRESSED_RGBA_S3TC_DXT5_EXT ? "GL_COMPRESSED_RGBA_S3TC_DXT5_EXT" : \
- x == GL_RGB_S3TC ? "GL_RGB_S3TC" : \
- x == GL_RGB4_S3TC ? "GL_RGB4_S3TC" : \
- x == GL_RGBA_S3TC ? "GL_RGBA_S3TC" : \
- x == GL_RGBA4_S3TC ? "GL_RGBA4_S3TC" : \
- "unknown")
- fprintf(stderr, "check_texture_format_supported: unsupported format 0x%04x [%s]\n",
- format, FORMAT_NAME(format));
- fprintf(stderr, "supported formats:");
- for (i = 0; i < numFormats; i++) {
- fprintf(stderr, " 0x%04x [%s]", formats[i], FORMAT_NAME(formats[i]));
- }
- fprintf(stderr, "\n");
- return GL_FALSE;
-}
-
-/* This helper function compresses an RGBA texture and compares it
- * against the expected compressed data. It returns GL_TRUE if all
- * went as expected, or GL_FALSE in the case of error.
- */
-static GLboolean
-check_texture_compression(const char *message, GLenum dimension,
- GLint width, GLint height, GLint depth, const GLubyte *texture,
- int expectedCompressedSize, const GLubyte *expectedCompressedData)
-{
- /* These are the data we query about the texture. */
- GLint isCompressed;
- GLenum compressedFormat;
- GLint compressedSize;
- GLubyte *compressedData;
-
- /* We need this function pointer to operate. */
- DECLARE_GLFUNC_PTR(GetCompressedTexImageARB, PFNGLGETCOMPRESSEDTEXIMAGEARBPROC);
- if (GetCompressedTexImageARB == NULL) {
- fprintf(stderr,
- "%s: could not query GetCompressedTexImageARB function pointer\n",
- message);
- return GL_FALSE;
- }
-
- /* Verify that we actually have the GL_COMPRESSED_RGBA_S3TC_DXT3_EXT format available. */
- if (!check_texture_format_supported(GL_COMPRESSED_RGBA_S3TC_DXT3_EXT)) {
- return GL_FALSE;
- }
-
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
- /* Set up the base image, requesting that the GL library compress it. */
- switch(dimension) {
- case GL_TEXTURE_1D:
- glTexImage1D(GL_TEXTURE_1D, 0, GL_COMPRESSED_RGBA_S3TC_DXT3_EXT,
- width, 0,
- GL_RGBA, GL_UNSIGNED_BYTE, texture);
- break;
- case GL_TEXTURE_2D:
- glTexImage2D(GL_TEXTURE_2D, 0, GL_COMPRESSED_RGBA_S3TC_DXT3_EXT,
- width, height, 0,
- GL_RGBA, GL_UNSIGNED_BYTE, texture);
- break;
- case GL_TEXTURE_3D:
- glTexImage3D(GL_TEXTURE_3D, 0, GL_COMPRESSED_RGBA_S3TC_DXT3_EXT,
- width, height, depth, 0,
- GL_RGBA, GL_UNSIGNED_BYTE, texture);
- break;
- default:
- fprintf(stderr, "%s: unknown dimension 0x%04x.\n", message, dimension);
- return GL_FALSE;
- }
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Make sure the texture is compressed, and pull it out if it is. */
- glGetTexLevelParameteriv(dimension, 0, GL_TEXTURE_COMPRESSED_ARB,
- &isCompressed);
- if (!isCompressed) {
- fprintf(stderr, "%s: could not compress GL_COMPRESSED_RGBA_S3TC_DXT3_EXT texture\n",
- message);
- return GL_FALSE;
- }
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
- glGetTexLevelParameteriv(dimension, 0, GL_TEXTURE_INTERNAL_FORMAT,
- (GLint *)&compressedFormat);
- if (compressedFormat != GL_COMPRESSED_RGBA_S3TC_DXT3_EXT) {
- fprintf(stderr, "%s: got internal format 0x%04x, expected GL_COMPRESSED_RGBA_S3TC_DXT3_EXT [0x%04x]\n",
- __FUNCTION__, compressedFormat, GL_COMPRESSED_RGBA_S3TC_DXT3_EXT);
- return GL_FALSE;
- }
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
- glGetTexLevelParameteriv(dimension, 0, GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB, &compressedSize);
- compressedData = malloc(compressedSize);
- if (compressedData == NULL) {
- fprintf(stderr, "%s: could not malloc %d bytes for compressed texture\n",
- message, compressedSize);
- return GL_FALSE;
- }
- memset(compressedData, 0, compressedSize);
- (*GetCompressedTexImageARB)(dimension, 0, compressedData);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Compare it to the expected compressed data. The compare_bytes()
- * call will print out diagnostics in the case of failure.
- */
- if (!compare_bytes(message,
- expectedCompressedSize, expectedCompressedData,
- compressedSize, compressedData)) {
-
- free(compressedData);
- return GL_FALSE;
- }
-
- /* All done. Free our allocated data and return success. */
- free(compressedData);
- return GL_TRUE;
-}
-
-/* We'll use one function to exercise 1D, 2D, and 3D textures. */
-
-/* The test function for compressed 3D texture images requires several
- * different function pointers that have to be queried. This function
- * gets all the function pointers it needs itself, and so is suitable for
- * use to test any and all of the incorporated functions.
- */
-
-static GLboolean
-exercise_CompressedTextures(GLenum dimension)
-{
- /* Set up a basic (uncompressed) texture. We're doing a blue/yellow
- * checkerboard. The 8x4/32-pixel board is well-suited to S3TC
- * compression, which works on 4x4 blocks of pixels.
- */
-#define B 0,0,255,255
-#define Y 255,255,0,255
-#define TEXTURE_WIDTH 16
-#define TEXTURE_HEIGHT 4
-#define TEXTURE_DEPTH 1
- static GLubyte texture[TEXTURE_WIDTH*TEXTURE_HEIGHT*TEXTURE_DEPTH*4] = {
- B, B, Y, Y, B, B, Y, Y, B, B, Y, Y, B, B, Y, Y,
- B, B, Y, Y, B, B, Y, Y, B, B, Y, Y, B, B, Y, Y,
- Y, Y, B, B, Y, Y, B, B, Y, Y, B, B, Y, Y, B, B,
- Y, Y, B, B, Y, Y, B, B, Y, Y, B, B, Y, Y, B, B,
- };
-#undef B
-#undef Y
- GLubyte uncompressedTexture[TEXTURE_WIDTH*TEXTURE_HEIGHT*TEXTURE_DEPTH*4];
-
- /* We'll use this as a texture subimage. */
-#define R 255,0,0,255
-#define G 0,255,0,255
-#define SUBTEXTURE_WIDTH 4
-#define SUBTEXTURE_HEIGHT 4
-#define SUBTEXTURE_DEPTH 1
- static GLubyte subtexture[SUBTEXTURE_WIDTH*SUBTEXTURE_HEIGHT*SUBTEXTURE_DEPTH*4] = {
- G, G, R, R,
- G, G, R, R,
- R, R, G, G,
- R, R, G, G,
- };
-#undef R
-#undef G
-
- /* These are the expected compressed textures. (In the case of
- * a failed comparison, the test program will print out the
- * actual compressed data in a format that can be directly used
- * here, if desired.) The brave of heart can calculate the compression
- * themselves based on the formulae described at:
- * http://en.wikipedia.org/wiki/S3_Texture_Compression
- * In a nutshell, each group of 16 bytes encodes a 4x4 texture block.
- * The first eight bytes of each group are 4-bit alpha values
- * for each of the 16 pixels in the texture block.
- * The next four bytes in each group are LSB-first RGB565 colors; the
- * first two bytes are identified as the color C0, and the next two
- * are the color C1. (Two more colors C2 and C3 will be calculated
- * from these, but do not appear in the compression data.) The
- * last 4 bytes of the group are sixteen 2-bit indices that, for
- * each of the 16 pixels in the texture block, select one of the
- * colors C0, C1, C2, or C3.
- *
- * For example, our blue/yellow checkerboard is made up of
- * four identical 4x4 blocks. Each of those blocks will
- * be encoded as: eight bytes of 0xff (16 alpha values, each 0xf),
- * C0 as the RGB565 color yellow (0xffe0), encoded LSB-first;
- * C1 as the RGB565 color blue (0x001f), encoded LSB-first;
- * and 4 bytes of 16 2-bit color indices reflecting the
- * choice of color for each of the 16 pixels:
- * 00, 00, 01, 01, = 0x05
- * 00, 00, 01, 01, = 0x05
- * 01, 01, 00, 00, = 0x50
- * 01, 01, 00, 00, = 0x50
- */
- static GLubyte compressedTexture[] = {
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xe0, 0xff, 0x1f, 0x00, 0x05, 0x05, 0x50, 0x50,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xe0, 0xff, 0x1f, 0x00, 0x05, 0x05, 0x50, 0x50,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xe0, 0xff, 0x1f, 0x00, 0x05, 0x05, 0x50, 0x50,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xe0, 0xff, 0x1f, 0x00, 0x05, 0x05, 0x50, 0x50
- };
-
- /* The similar calculations for the 4x4 subtexture are left
- * as an exercise for the reader.
- */
- static GLubyte compressedSubTexture[] = {
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0x00, 0xf8, 0xe0, 0x07, 0x05, 0x05, 0x50, 0x50,
- };
-
- /* The combined texture replaces the initial blue/yellow
- * block with the green/red block. (I'd wanted to do
- * the more interesting exercise of putting the
- * green/red block in the middle of the blue/yellow
- * texture, which is a non-trivial replacement, but
- * the attempt produces GL_INVALID_OPERATION, showing
- * that you can only replace whole blocks of
- * subimages with S3TC.) The combined texture looks
- * like:
- * G G R R B B Y Y B B Y Y B B Y Y
- * G G R R B B Y Y B B Y Y B B Y Y
- * R R G G Y Y B B Y Y B B Y Y B B
- * R R G G Y Y B B Y Y B B Y Y B B
- * which encodes just like the green/red block followed
- * by 3 copies of the yellow/blue block.
- */
- static GLubyte compressedCombinedTexture[] = {
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0x00, 0xf8, 0xe0, 0x07, 0x05, 0x05, 0x50, 0x50,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xe0, 0xff, 0x1f, 0x00, 0x05, 0x05, 0x50, 0x50,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xe0, 0xff, 0x1f, 0x00, 0x05, 0x05, 0x50, 0x50,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xe0, 0xff, 0x1f, 0x00, 0x05, 0x05, 0x50, 0x50
- };
-
- /* These are the data we query about the texture. */
- GLint queryIsCompressed;
- GLenum queryCompressedFormat;
- GLint queryCompressedSize;
- GLubyte queryCompressedData[sizeof(compressedTexture)];
-
- /* Query the function pointers we need. We actually won't need most
- * of these (the "dimension" parameter dictates whether we're testing
- * 1D, 2D, or 3D textures), but we'll have them all ready just in case.
- */
- DECLARE_GLFUNC_PTR(GetCompressedTexImageARB, PFNGLGETCOMPRESSEDTEXIMAGEARBPROC);
- DECLARE_GLFUNC_PTR(CompressedTexImage3DARB, PFNGLCOMPRESSEDTEXIMAGE3DARBPROC);
- DECLARE_GLFUNC_PTR(CompressedTexSubImage3DARB, PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC);
- DECLARE_GLFUNC_PTR(CompressedTexImage2DARB, PFNGLCOMPRESSEDTEXIMAGE2DARBPROC);
- DECLARE_GLFUNC_PTR(CompressedTexSubImage2DARB, PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC);
- DECLARE_GLFUNC_PTR(CompressedTexImage1DARB, PFNGLCOMPRESSEDTEXIMAGE1DARBPROC);
- DECLARE_GLFUNC_PTR(CompressedTexSubImage1DARB, PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC);
-
- /* If the necessary functions are missing, we can't continue */
- if (GetCompressedTexImageARB == NULL) {
- fprintf(stderr, "%s: GetCompressedTexImageARB function is missing\n",
- __FUNCTION__);
- return GL_FALSE;
- }
- switch (dimension) {
- case GL_TEXTURE_1D:
- if (CompressedTexImage1DARB == NULL || CompressedTexSubImage1DARB == NULL) {
- fprintf(stderr, "%s: 1D compressed texture functions are missing\n",
- __FUNCTION__);
- return GL_FALSE;
- };
- break;
- case GL_TEXTURE_2D:
- if (CompressedTexImage2DARB == NULL || CompressedTexSubImage2DARB == NULL) {
- fprintf(stderr, "%s: 2D compressed texture functions are missing\n",
- __FUNCTION__);
- return GL_FALSE;
- };
- break;
- case GL_TEXTURE_3D:
- if (CompressedTexImage3DARB == NULL || CompressedTexSubImage3DARB == NULL) {
- fprintf(stderr, "%s: 3D compressed texture functions are missing\n",
- __FUNCTION__);
- return GL_FALSE;
- };
- break;
- default:
- fprintf(stderr, "%s: unknown texture dimension 0x%04x passed.\n",
- __FUNCTION__, dimension);
- return GL_FALSE;
- }
-
- /* Check the compression of our base texture image. */
- if (!check_texture_compression("texture compression", dimension,
- TEXTURE_WIDTH, TEXTURE_HEIGHT, TEXTURE_DEPTH, texture,
- sizeof(compressedTexture), compressedTexture)) {
-
- /* Something's wrong with texture compression. The function
- * above will have printed an appropriate error.
- */
- return GL_FALSE;
- }
-
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Do the same for our texture subimage */
- if (!check_texture_compression("subtexture compression", dimension,
- SUBTEXTURE_WIDTH, SUBTEXTURE_HEIGHT, SUBTEXTURE_DEPTH, subtexture,
- sizeof(compressedSubTexture), compressedSubTexture)) {
-
- /* Something's wrong with texture compression. The function
- * above will have printed an appropriate error.
- */
- return GL_FALSE;
- }
-
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Send the base compressed texture down to the hardware. */
- switch(dimension) {
- case GL_TEXTURE_3D:
- (*CompressedTexImage3DARB)(GL_TEXTURE_3D, 0,
- GL_COMPRESSED_RGBA_S3TC_DXT3_EXT,
- TEXTURE_WIDTH, TEXTURE_HEIGHT, TEXTURE_DEPTH, 0,
- sizeof(compressedTexture), compressedTexture);
- break;
-
- case GL_TEXTURE_2D:
- (*CompressedTexImage2DARB)(GL_TEXTURE_2D, 0,
- GL_COMPRESSED_RGBA_S3TC_DXT3_EXT,
- TEXTURE_WIDTH, TEXTURE_HEIGHT, 0,
- sizeof(compressedTexture), compressedTexture);
- break;
-
- case GL_TEXTURE_1D:
- (*CompressedTexImage1DARB)(GL_TEXTURE_1D, 0,
- GL_COMPRESSED_RGBA_S3TC_DXT3_EXT,
- TEXTURE_WIDTH, 0,
- sizeof(compressedTexture), compressedTexture);
- break;
- }
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* For grins, query it to make sure it is as expected. */
- glGetTexLevelParameteriv(dimension, 0, GL_TEXTURE_COMPRESSED_ARB,
- &queryIsCompressed);
- if (!queryIsCompressed) {
- fprintf(stderr, "%s: compressed texture did not come back as compressed\n",
- __FUNCTION__);
- return GL_FALSE;
- }
- glGetTexLevelParameteriv(dimension, 0, GL_TEXTURE_INTERNAL_FORMAT,
- (GLint *)&queryCompressedFormat);
- if (queryCompressedFormat != GL_COMPRESSED_RGBA_S3TC_DXT3_EXT) {
- fprintf(stderr, "%s: got internal format 0x%04x, expected GL_COMPRESSED_RGBA_S3TC_DXT3_EXT [0x%04x]\n",
- __FUNCTION__, queryCompressedFormat, GL_COMPRESSED_RGBA_S3TC_DXT3_EXT);
- return GL_FALSE;
- }
- glGetTexLevelParameteriv(dimension, 0, GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB,
- &queryCompressedSize);
- if (queryCompressedSize != sizeof(compressedTexture)) {
- fprintf(stderr, "%s: compressed 3D texture changed size: expected %lu, actual %d\n",
- __FUNCTION__, (unsigned long) sizeof(compressedTexture), queryCompressedSize);
- return GL_FALSE;
- }
- (*GetCompressedTexImageARB)(dimension, 0, queryCompressedData);
- if (!compare_bytes(
- "exercise_CompressedTextures:doublechecking compressed texture",
- sizeof(compressedTexture), compressedTexture,
- queryCompressedSize, queryCompressedData)) {
- return GL_FALSE;
- }
-
- /* Now apply the texture subimage. The current implementation of
- * S3TC requires that subimages be only applied to whole blocks.
- */
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
- switch(dimension) {
- case GL_TEXTURE_3D:
- (*CompressedTexSubImage3DARB)(GL_TEXTURE_3D, 0,
- 0, 0, 0, /* offsets */
- SUBTEXTURE_WIDTH, SUBTEXTURE_HEIGHT, SUBTEXTURE_DEPTH,
- GL_COMPRESSED_RGBA_S3TC_DXT3_EXT,
- sizeof(compressedSubTexture), compressedSubTexture);
- break;
- case GL_TEXTURE_2D:
- (*CompressedTexSubImage2DARB)(GL_TEXTURE_2D, 0,
- 0, 0, /* offsets */
- SUBTEXTURE_WIDTH, SUBTEXTURE_HEIGHT,
- GL_COMPRESSED_RGBA_S3TC_DXT3_EXT,
- sizeof(compressedSubTexture), compressedSubTexture);
- break;
- case GL_TEXTURE_1D:
- (*CompressedTexSubImage2DARB)(GL_TEXTURE_2D, 0,
- 0, 0, /* offsets */
- SUBTEXTURE_WIDTH, SUBTEXTURE_HEIGHT,
- GL_COMPRESSED_RGBA_S3TC_DXT3_EXT,
- sizeof(compressedSubTexture), compressedSubTexture);
- break;
- }
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Query the compressed texture back now, and see that it
- * is as expected.
- */
- (*GetCompressedTexImageARB)(dimension, 0, queryCompressedData);
- if (!compare_bytes("exercise_CompressedTextures:combined texture",
- sizeof(compressedCombinedTexture), compressedCombinedTexture,
- queryCompressedSize, queryCompressedData)) {
- return GL_FALSE;
- }
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Just for the exercise, uncompress the texture and pull it out.
- * We don't check it because the compression is lossy, so it won't
- * compare exactly to the source texture; we just
- * want to exercise the code paths that convert it.
- */
- glGetTexImage(dimension, 0, GL_RGBA, GL_UNSIGNED_BYTE, uncompressedTexture);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* If we survived this far, we pass. */
- return GL_TRUE;
-}
-
-/**************************************************************************
- * Functions to assist with GL_EXT_framebuffer_object and
- * GL_EXT_framebuffer_blit testing.
- */
-
-#define FB_STATUS_NAME(x) (\
- x == GL_FRAMEBUFFER_COMPLETE_EXT ? "GL_FRAMEBUFFER_COMPLETE_EXT" : \
- x == GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT ? "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT" : \
- x == GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT ? "GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT" : \
- x == GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT ? "GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT" : \
- x == GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT ? "GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT" : \
- x == GL_FRAMEBUFFER_UNSUPPORTED_EXT ? "GL_FRAMEBUFFER_UNSUPPORTED_EXT" : \
- x == GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT ? "GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT" : \
- x == GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT ? "GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT" : \
- x == GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT ? "GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT" : \
- "unknown")
-
-static GLboolean
-exercise_framebuffer(void)
-{
- GLuint framebufferID = 0;
- GLuint renderbufferID = 0;
-
- /* Dimensions of the framebuffer and renderbuffers are arbitrary.
- * Since they won't be shown on-screen, we can use whatever we want.
- */
- const GLint Width = 100;
- const GLint Height = 100;
-
- /* Every function we use will be referenced through function pointers.
- * This will allow this test program to run on OpenGL implementations
- * that *don't* implement these extensions (though the implementation
- * used to compile them must have up-to-date header files).
- */
- DECLARE_GLFUNC_PTR(GenFramebuffersEXT, PFNGLGENFRAMEBUFFERSEXTPROC);
- DECLARE_GLFUNC_PTR(IsFramebufferEXT, PFNGLISFRAMEBUFFEREXTPROC);
- DECLARE_GLFUNC_PTR(DeleteFramebuffersEXT, PFNGLDELETEFRAMEBUFFERSEXTPROC);
- DECLARE_GLFUNC_PTR(BindFramebufferEXT, PFNGLBINDFRAMEBUFFEREXTPROC);
- DECLARE_GLFUNC_PTR(GenRenderbuffersEXT, PFNGLGENRENDERBUFFERSEXTPROC);
- DECLARE_GLFUNC_PTR(IsRenderbufferEXT, PFNGLISRENDERBUFFEREXTPROC);
- DECLARE_GLFUNC_PTR(DeleteRenderbuffersEXT, PFNGLDELETERENDERBUFFERSEXTPROC);
- DECLARE_GLFUNC_PTR(BindRenderbufferEXT, PFNGLBINDRENDERBUFFEREXTPROC);
- DECLARE_GLFUNC_PTR(FramebufferRenderbufferEXT, PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC);
- DECLARE_GLFUNC_PTR(RenderbufferStorageEXT, PFNGLRENDERBUFFERSTORAGEEXTPROC);
- DECLARE_GLFUNC_PTR(CheckFramebufferStatusEXT, PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC);
-
- /* The BlitFramebuffer function comes from a different extension.
- * It's possible for an implementation to implement all the above,
- * but not BlitFramebuffer; so it's okay if this one comes back
- * NULL, as we can still test the rest.
- */
- DECLARE_GLFUNC_PTR(BlitFramebufferEXT, PFNGLBLITFRAMEBUFFEREXTPROC);
-
- /* We cannot test unless we have all the function pointers. */
- if (
- GenFramebuffersEXT == NULL ||
- IsFramebufferEXT == NULL ||
- DeleteFramebuffersEXT == NULL ||
- BindFramebufferEXT == NULL ||
- GenRenderbuffersEXT == NULL ||
- IsRenderbufferEXT == NULL ||
- DeleteRenderbuffersEXT == NULL ||
- BindRenderbufferEXT == NULL ||
- FramebufferRenderbufferEXT == NULL ||
- RenderbufferStorageEXT == NULL ||
- CheckFramebufferStatusEXT == NULL
- ) {
- fprintf(stderr, "%s: could not locate all framebuffer functions\n",
- __FUNCTION__);
- return GL_FALSE;
- }
-
- /* Generate a framebuffer for us to play with. */
- (*GenFramebuffersEXT)(1, &framebufferID);
- if (framebufferID == 0) {
- fprintf(stderr, "%s: failed to generate a frame buffer ID.\n",
- __FUNCTION__);
- return GL_FALSE;
- }
- /* The generated name is not a framebuffer object until bound. */
- (*BindFramebufferEXT)(GL_FRAMEBUFFER_EXT, framebufferID);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
- if (!(*IsFramebufferEXT)(framebufferID)) {
- fprintf(stderr, "%s: generated a frame buffer ID 0x%x that wasn't a framebuffer\n",
- __FUNCTION__, framebufferID);
- (*BindFramebufferEXT)(GL_FRAMEBUFFER_EXT, 0);
- (*DeleteFramebuffersEXT)(1, &framebufferID);
- return GL_FALSE;
- }
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
- {
- GLint queriedFramebufferID;
- glGetIntegerv(GL_FRAMEBUFFER_BINDING_EXT, &queriedFramebufferID);
- if (queriedFramebufferID != framebufferID) {
- fprintf(stderr, "%s: bound frame buffer 0x%x, but queried 0x%x\n",
- __FUNCTION__, framebufferID, queriedFramebufferID);
- (*BindFramebufferEXT)(GL_FRAMEBUFFER_EXT, 0);
- (*DeleteFramebuffersEXT)(1, &framebufferID);
- return GL_FALSE;
- }
- }
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Create a color buffer to attach to the frame buffer object, so
- * we can actually operate on it. We go through the same basic checks
- * with the renderbuffer that we do with the framebuffer.
- */
- (*GenRenderbuffersEXT)(1, &renderbufferID);
- if (renderbufferID == 0) {
- fprintf(stderr, "%s: could not generate a renderbuffer ID\n",
- __FUNCTION__);
- (*BindFramebufferEXT)(GL_FRAMEBUFFER_EXT, 0);
- (*DeleteFramebuffersEXT)(1, &framebufferID);
- return GL_FALSE;
- }
- (*BindRenderbufferEXT)(GL_RENDERBUFFER_EXT, renderbufferID);
- if (!(*IsRenderbufferEXT)(renderbufferID)) {
- fprintf(stderr, "%s: generated renderbuffer 0x%x is not a renderbuffer\n",
- __FUNCTION__, renderbufferID);
- (*BindRenderbufferEXT)(GL_RENDERBUFFER_EXT, 0);
- (*DeleteRenderbuffersEXT)(1, &renderbufferID);
- (*BindFramebufferEXT)(GL_FRAMEBUFFER_EXT, 0);
- (*DeleteFramebuffersEXT)(1, &framebufferID);
- return GL_FALSE;
- }
- {
- GLint queriedRenderbufferID = 0;
- glGetIntegerv(GL_RENDERBUFFER_BINDING_EXT, &queriedRenderbufferID);
- if (renderbufferID != queriedRenderbufferID) {
- fprintf(stderr, "%s: bound renderbuffer 0x%x, but got 0x%x\n",
- __FUNCTION__, renderbufferID, queriedRenderbufferID);
- (*BindRenderbufferEXT)(GL_RENDERBUFFER_EXT, 0);
- (*DeleteRenderbuffersEXT)(1, &renderbufferID);
- (*BindFramebufferEXT)(GL_FRAMEBUFFER_EXT, 0);
- (*DeleteFramebuffersEXT)(1, &framebufferID);
- return GL_FALSE;
- }
- }
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Add the renderbuffer as a color attachment to the current
- * framebuffer (which is our generated framebuffer).
- */
- (*FramebufferRenderbufferEXT)(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT1_EXT,
- GL_RENDERBUFFER_EXT, renderbufferID);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* The renderbuffer will need some dimensions and storage space. */
- (*RenderbufferStorageEXT)(GL_RENDERBUFFER_EXT, GL_RGB, Width, Height);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* That should be everything we need. If we set up to draw and to
- * read from our color attachment, we should be "framebuffer complete",
- * meaning the framebuffer is ready to go.
- */
- glDrawBuffer(GL_COLOR_ATTACHMENT1_EXT);
- glReadBuffer(GL_COLOR_ATTACHMENT1_EXT);
- {
- GLenum status = (*CheckFramebufferStatusEXT)(GL_FRAMEBUFFER_EXT);
- if (status != GL_FRAMEBUFFER_COMPLETE_EXT) {
- fprintf(stderr, "%s: framebuffer not complete; status = %s [0x%x]\n",
- __FUNCTION__, FB_STATUS_NAME(status), status);
- glReadBuffer(0);
- glDrawBuffer(0);
- (*BindRenderbufferEXT)(GL_RENDERBUFFER_EXT, 0);
- (*DeleteRenderbuffersEXT)(1, &renderbufferID);
- (*BindFramebufferEXT)(GL_FRAMEBUFFER_EXT, 0);
- (*DeleteFramebuffersEXT)(1, &framebufferID);
- return GL_FALSE;
- }
- }
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Define the contents of the frame buffer */
- glClearColor(0.5, 0.5, 0.5, 0.0);
- glClear(GL_COLOR_BUFFER_BIT);
-
- /* If the GL_EXT_framebuffer_blit is supported, attempt a framebuffer
- * blit from (5,5)-(10,10) to (90,90)-(95,95). This is *not* an
- * error if framebuffer_blit is *not* supported (as we can still
- * effectively test the other functions).
- */
- if (BlitFramebufferEXT != NULL) {
- (*BlitFramebufferEXT)(5, 5, 10, 10, 90, 90, 95, 95,
- GL_COLOR_BUFFER_BIT, GL_NEAREST);
- }
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* We could now test to see whether the framebuffer had the desired
- * contents. As this is just a touch test, we'll leave that for now.
- * Clean up and go home.
- */
- glReadBuffer(0);
- glDrawBuffer(0);
- (*BindRenderbufferEXT)(GL_RENDERBUFFER_EXT, 0);
- (*DeleteRenderbuffersEXT)(1, &renderbufferID);
- (*BindFramebufferEXT)(GL_FRAMEBUFFER_EXT, 0);
- (*DeleteFramebuffersEXT)(1, &framebufferID);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- return GL_TRUE;
-}
-
-/**************************************************************************
- * Functions to assist with GL_ARB_shader_objects testing.
- */
-
-static void
-print_info_log(const char *message, GLhandleARB object)
-{
- DECLARE_GLFUNC_PTR(GetObjectParameterivARB, PFNGLGETOBJECTPARAMETERIVARBPROC);
- DECLARE_GLFUNC_PTR(GetInfoLogARB, PFNGLGETINFOLOGARBPROC);
- int logLength, queryLength;
- char *log;
-
- if (GetObjectParameterivARB == NULL) {
- fprintf(stderr, "%s: could not get GetObjectParameterivARB address\n",
- message);
- return;
- }
- if (GetInfoLogARB == NULL) {
- fprintf(stderr, "%s: could not get GetInfoLogARB address\n",
- message);
- return;
- }
-
- (*GetObjectParameterivARB)(object, GL_OBJECT_INFO_LOG_LENGTH_ARB,
- &logLength);
- if (logLength == 0) {
- fprintf(stderr, "%s: info log length is 0\n", message);
- return;
- }
- log = malloc(logLength);
- if (log == NULL) {
- fprintf(stderr, "%s: could not malloc %d bytes for info log\n",
- message, logLength);
- }
- else {
- (*GetInfoLogARB)(object, logLength, &queryLength, log);
- fprintf(stderr, "%s: info log says '%s'\n",
- message, log);
- }
- free(log);
-}
-
-static GLboolean
-exercise_uniform_start(const char *fragmentShaderText, const char *uniformName,
- GLhandleARB *returnProgram, GLint *returnUniformLocation)
-{
- DECLARE_GLFUNC_PTR(CreateShaderObjectARB, PFNGLCREATESHADEROBJECTARBPROC);
- DECLARE_GLFUNC_PTR(ShaderSourceARB, PFNGLSHADERSOURCEARBPROC);
- DECLARE_GLFUNC_PTR(CompileShaderARB, PFNGLCOMPILESHADERARBPROC);
- DECLARE_GLFUNC_PTR(CreateProgramObjectARB, PFNGLCREATEPROGRAMOBJECTARBPROC);
- DECLARE_GLFUNC_PTR(AttachObjectARB, PFNGLATTACHOBJECTARBPROC);
- DECLARE_GLFUNC_PTR(LinkProgramARB, PFNGLLINKPROGRAMARBPROC);
- DECLARE_GLFUNC_PTR(UseProgramObjectARB, PFNGLUSEPROGRAMOBJECTARBPROC);
- DECLARE_GLFUNC_PTR(ValidateProgramARB, PFNGLVALIDATEPROGRAMARBPROC);
- DECLARE_GLFUNC_PTR(GetUniformLocationARB, PFNGLGETUNIFORMLOCATIONARBPROC);
- DECLARE_GLFUNC_PTR(DeleteObjectARB, PFNGLDELETEOBJECTARBPROC);
- DECLARE_GLFUNC_PTR(GetObjectParameterivARB, PFNGLGETOBJECTPARAMETERIVARBPROC);
- GLhandleARB fs, program;
- GLint uniformLocation;
- GLint shaderCompiled, programValidated;
-
- if (CreateShaderObjectARB == NULL ||
- ShaderSourceARB == NULL ||
- CompileShaderARB == NULL ||
- CreateProgramObjectARB == NULL ||
- AttachObjectARB == NULL ||
- LinkProgramARB == NULL ||
- UseProgramObjectARB == NULL ||
- ValidateProgramARB == NULL ||
- GetUniformLocationARB == NULL ||
- DeleteObjectARB == NULL ||
- GetObjectParameterivARB == NULL ||
- 0) {
- return GL_FALSE;
- }
-
- /* Create the trivial fragment shader and program. For safety
- * we'll check to make sure they compile and link correctly.
- */
- fs = (*CreateShaderObjectARB)(GL_FRAGMENT_SHADER_ARB);
- (*ShaderSourceARB)(fs, 1, &fragmentShaderText, NULL);
- (*CompileShaderARB)(fs);
- (*GetObjectParameterivARB)(fs, GL_OBJECT_COMPILE_STATUS_ARB,
- &shaderCompiled);
- if (!shaderCompiled) {
- print_info_log("shader did not compile", fs);
- (*DeleteObjectARB)(fs);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
- return GL_FALSE;
- }
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- program = (*CreateProgramObjectARB)();
- (*AttachObjectARB)(program, fs);
- (*LinkProgramARB)(program);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Make sure we're going to run successfully */
- (*ValidateProgramARB)(program);
- (*GetObjectParameterivARB)(program, GL_OBJECT_VALIDATE_STATUS_ARB,
- &programValidated);
- if (!programValidated) {;
- print_info_log("program did not validate", program);
- (*DeleteObjectARB)(program);
- (*DeleteObjectARB)(fs);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
- return GL_FALSE;
- }
-
- /* Put the program in place. We're not allowed to assign to uniform
- * variables used by the program until the program is put into use.
- */
- (*UseProgramObjectARB)(program);
-
- /* Once the shader is in place, we're free to delete it; this
- * won't affect the copy that's part of the program.
- */
- (*DeleteObjectARB)(fs);
-
- /* Find the location index of the uniform variable we declared;
- * the caller will ned that to set the value.
- */
- uniformLocation = (*GetUniformLocationARB)(program, uniformName);
- if (uniformLocation == -1) {
- fprintf(stderr, "%s: could not determine uniform location\n",
- __FUNCTION__);
- (*DeleteObjectARB)(program);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
- return GL_FALSE;
- }
-
- /* All done with what we're supposed to do - return the program
- * handle and the uniform location to the caller.
- */
- *returnProgram = program;
- *returnUniformLocation = uniformLocation;
- return GL_TRUE;
-}
-
-static void
-exercise_uniform_end(GLhandleARB program)
-{
- DECLARE_GLFUNC_PTR(UseProgramObjectARB, PFNGLUSEPROGRAMOBJECTARBPROC);
- DECLARE_GLFUNC_PTR(DeleteObjectARB, PFNGLDELETEOBJECTARBPROC);
- if (UseProgramObjectARB == NULL || DeleteObjectARB == NULL) {
- return;
- }
-
- /* Turn off our program by setting the special value 0, and
- * then delete the program object.
- */
- (*UseProgramObjectARB)(0);
- (*DeleteObjectARB)(program);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-}
-
-/**************************************************************************
- * Exercises for fences
- */
-static GLboolean
-exercise_fences(void)
-{
- DECLARE_GLFUNC_PTR(DeleteFencesNV, PFNGLDELETEFENCESNVPROC);
- DECLARE_GLFUNC_PTR(FinishFenceNV, PFNGLFINISHFENCENVPROC);
- DECLARE_GLFUNC_PTR(GenFencesNV, PFNGLGENFENCESNVPROC);
- DECLARE_GLFUNC_PTR(GetFenceivNV, PFNGLGETFENCEIVNVPROC);
- DECLARE_GLFUNC_PTR(IsFenceNV, PFNGLISFENCENVPROC);
- DECLARE_GLFUNC_PTR(SetFenceNV, PFNGLSETFENCENVPROC);
- DECLARE_GLFUNC_PTR(TestFenceNV, PFNGLTESTFENCENVPROC);
- GLuint fence;
- GLint fenceStatus, fenceCondition;
- int count;
-
- /* Make sure we have all the function pointers we need. */
- if (GenFencesNV == NULL ||
- SetFenceNV == NULL ||
- IsFenceNV == NULL ||
- GetFenceivNV == NULL ||
- TestFenceNV == NULL ||
- FinishFenceNV == NULL ||
- DeleteFencesNV == NULL) {
- fprintf(stderr, "%s: don't have all the fence functions\n",
- __FUNCTION__);
- return GL_FALSE;
- }
-
- /* Create and set a simple fence. */
- (*GenFencesNV)(1, &fence);
- (*SetFenceNV)(fence, GL_ALL_COMPLETED_NV);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Make sure it reads as a fence. */
- if (!(*IsFenceNV)(fence)) {
- fprintf(stderr, "%s: set fence is not a fence\n", __FUNCTION__);
- (*DeleteFencesNV)(1, &fence);
- return GL_FALSE;
- }
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Try to read back its current status and condition. */
- (*GetFenceivNV)(fence, GL_FENCE_CONDITION_NV, &fenceCondition);
- if (fenceCondition != GL_ALL_COMPLETED_NV) {
- fprintf(stderr, "%s: expected fence condition 0x%x, got 0x%x\n",
- __FUNCTION__, GL_ALL_COMPLETED_NV, fenceCondition);
- (*DeleteFencesNV)(1, &fence);
- return GL_FALSE;
- }
- (*GetFenceivNV)(fence, GL_FENCE_STATUS_NV, &fenceStatus);
- if (fenceStatus != GL_TRUE && fenceStatus != GL_FALSE) {
- fprintf(stderr,"%s: fence status should be GL_TRUE or GL_FALSE, got 0x%x\n",
- __FUNCTION__, fenceStatus);
- (*DeleteFencesNV)(1, &fence);
- return GL_FALSE;
- }
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Set the fence again, query its status, and wait for it to finish
- * two different ways: once by looping on TestFence(), and a
- * second time by a simple call to FinishFence();
- */
- (*SetFenceNV)(fence, GL_ALL_COMPLETED_NV);
- glFlush();
- count = 1;
- while (!(*TestFenceNV)(fence)) {
- count++;
- if (count == 0) {
- break;
- }
- }
- if (count == 0) {
- fprintf(stderr, "%s: fence never returned true\n", __FUNCTION__);
- (*DeleteFencesNV)(1, &fence);
- return GL_FALSE;
- }
- (*SetFenceNV)(fence, GL_ALL_COMPLETED_NV);
- (*FinishFenceNV)(fence);
- if ((*TestFenceNV)(fence) != GL_TRUE) {
- fprintf(stderr, "%s: finished fence does not have status GL_TRUE\n",
- __FUNCTION__);
- (*DeleteFencesNV)(1, &fence);
- return GL_FALSE;
- }
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* All done. Delete the fence and return. */
- (*DeleteFencesNV)(1, &fence);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
- return GL_TRUE;
-}
-
-/**************************************************************************
- * Exercises for buffer objects
- */
-enum Map_Buffer_Usage{ Use_Map_Buffer, Use_Map_Buffer_Range};
-static GLboolean
-exercise_buffer_objects(enum Map_Buffer_Usage usage)
-{
-#define BUFFER_DATA_SIZE 1024
- GLuint bufferID;
- GLint bufferMapped;
- static GLubyte data[BUFFER_DATA_SIZE] = {0};
- float *dataPtr = NULL;
-
- /* Get the function pointers we need. These are from
- * GL_ARB_vertex_buffer_object and are required in all
- * cases.
- */
- DECLARE_GLFUNC_PTR(GenBuffersARB, PFNGLGENBUFFERSARBPROC);
- DECLARE_GLFUNC_PTR(BindBufferARB, PFNGLBINDBUFFERARBPROC);
- DECLARE_GLFUNC_PTR(BufferDataARB, PFNGLBUFFERDATAARBPROC);
- DECLARE_GLFUNC_PTR(MapBufferARB, PFNGLMAPBUFFERARBPROC);
- DECLARE_GLFUNC_PTR(UnmapBufferARB, PFNGLUNMAPBUFFERARBPROC);
- DECLARE_GLFUNC_PTR(DeleteBuffersARB, PFNGLDELETEBUFFERSARBPROC);
- DECLARE_GLFUNC_PTR(GetBufferParameterivARB, PFNGLGETBUFFERPARAMETERIVARBPROC);
-
- /* These are from GL_ARB_map_buffer_range, and are optional
- * unless we're given Use_Map_Buffer_Range. Note that they do *not*
- * have the standard "ARB" suffixes; this is because the extension
- * was introduced *after* a superset was standardized in OpenGL 3.0.
- * (The extension really only exists to allow the functionality on
- * devices that cannot implement a full OpenGL 3.0 driver.)
- */
- DECLARE_GLFUNC_PTR(FlushMappedBufferRange, PFNGLFLUSHMAPPEDBUFFERRANGEPROC);
- DECLARE_GLFUNC_PTR(MapBufferRange, PFNGLMAPBUFFERRANGEPROC);
-
- /* This is from APPLE_flush_buffer_range, and is optional even if
- * we're given Use_Map_Buffer_Range. Test it before using it.
- */
- DECLARE_GLFUNC_PTR(BufferParameteriAPPLE, PFNGLBUFFERPARAMETERIAPPLEPROC);
-
- /* Make sure we have all the function pointers we need. */
- if (GenBuffersARB == NULL ||
- BindBufferARB == NULL ||
- BufferDataARB == NULL ||
- MapBufferARB == NULL ||
- UnmapBufferARB == NULL ||
- DeleteBuffersARB == NULL ||
- GetBufferParameterivARB == NULL) {
- fprintf(stderr, "%s: missing basic MapBuffer functions\n", __FUNCTION__);
- return GL_FALSE;
- }
- if (usage == Use_Map_Buffer_Range) {
- if (FlushMappedBufferRange == NULL || MapBufferRange == NULL) {
- fprintf(stderr, "%s: missing MapBufferRange functions\n", __FUNCTION__);
- return GL_FALSE;
- }
- }
-
- /* Create and define a buffer */
- (*GenBuffersARB)(1, &bufferID);
- (*BindBufferARB)(GL_ARRAY_BUFFER_ARB, bufferID);
- (*BufferDataARB)(GL_ARRAY_BUFFER_ARB, BUFFER_DATA_SIZE, data,
- GL_DYNAMIC_DRAW_ARB);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* If we're using MapBufferRange, and if the BufferParameteriAPPLE
- * function is present, use it before mapping. This particular
- * use is a no-op, intended just to exercise the entry point.
- */
- if (usage == Use_Map_Buffer_Range && BufferParameteriAPPLE != NULL) {
- (*BufferParameteriAPPLE)(GL_ARRAY_BUFFER_ARB,
- GL_BUFFER_SERIALIZED_MODIFY_APPLE, GL_TRUE);
- }
-
- /* Map it, and make sure it's mapped. */
- switch(usage) {
- case Use_Map_Buffer:
- dataPtr = (float *) (*MapBufferARB)(
- GL_ARRAY_BUFFER_ARB, GL_WRITE_ONLY_ARB);
- break;
- case Use_Map_Buffer_Range:
- dataPtr = (float *)(*MapBufferRange)(GL_ARRAY_BUFFER_ARB,
- 4, 16, GL_MAP_WRITE_BIT | GL_MAP_FLUSH_EXPLICIT_BIT);
- break;
- }
- if (dataPtr == NULL) {
- fprintf(stderr, "%s: %s returned NULL\n", __FUNCTION__,
- usage == Use_Map_Buffer ? "MapBuffer" : "MapBufferRange");
- (*BindBufferARB)(GL_ARRAY_BUFFER_ARB, 0);
- (*DeleteBuffersARB)(1, &bufferID);
- return GL_FALSE;
- }
- (*GetBufferParameterivARB)(GL_ARRAY_BUFFER_ARB, GL_BUFFER_MAPPED_ARB,
- &bufferMapped);
- if (!bufferMapped) {
- fprintf(stderr, "%s: buffer should be mapped but isn't\n", __FUNCTION__);
- (*BindBufferARB)(GL_ARRAY_BUFFER_ARB, 0);
- (*DeleteBuffersARB)(1, &bufferID);
- return GL_FALSE;
- }
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Write something to it, just to make sure we don't segfault. */
- *dataPtr = 1.5;
-
- /* Unmap to show we're finished with the buffer. Note that if we're
- * using MapBufferRange, we first have to flush the range we modified.
- */
- if (usage == Use_Map_Buffer_Range) {
- (*FlushMappedBufferRange)(GL_ARRAY_BUFFER_ARB, 4, 16);
- }
- if (!(*UnmapBufferARB)(GL_ARRAY_BUFFER_ARB)) {
- fprintf(stderr, "%s: UnmapBuffer failed\n", __FUNCTION__);
- (*BindBufferARB)(GL_ARRAY_BUFFER_ARB, 0);
- (*DeleteBuffersARB)(1, &bufferID);
- return GL_FALSE;
- }
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* All done. */
- (*BindBufferARB)(GL_ARRAY_BUFFER_ARB, 0);
- (*DeleteBuffersARB)(1, &bufferID);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
- return GL_TRUE;
-
-#undef BUFFER_DATA_SIZE
-}
-
-/**************************************************************************
- * Exercises for occlusion query
- */
-static GLboolean
-exercise_occlusion_query(void)
-{
- GLuint queryObject;
- GLint queryReady;
- GLuint querySampleCount;
- GLint queryCurrent;
- GLint queryCounterBits;
-
- /* Get the function pointers we need. These are from
- * GL_ARB_vertex_buffer_object and are required in all
- * cases.
- */
- DECLARE_GLFUNC_PTR(GenQueriesARB, PFNGLGENQUERIESARBPROC);
- DECLARE_GLFUNC_PTR(BeginQueryARB, PFNGLBEGINQUERYARBPROC);
- DECLARE_GLFUNC_PTR(GetQueryivARB, PFNGLGETQUERYIVARBPROC);
- DECLARE_GLFUNC_PTR(EndQueryARB, PFNGLENDQUERYARBPROC);
- DECLARE_GLFUNC_PTR(IsQueryARB, PFNGLISQUERYARBPROC);
- DECLARE_GLFUNC_PTR(GetQueryObjectivARB, PFNGLGETQUERYOBJECTIVARBPROC);
- DECLARE_GLFUNC_PTR(GetQueryObjectuivARB, PFNGLGETQUERYOBJECTUIVARBPROC);
- DECLARE_GLFUNC_PTR(DeleteQueriesARB, PFNGLDELETEQUERIESARBPROC);
-
- /* Make sure we have all the function pointers we need. */
- if (GenQueriesARB == NULL ||
- BeginQueryARB == NULL ||
- GetQueryivARB == NULL ||
- EndQueryARB == NULL ||
- IsQueryARB == NULL ||
- GetQueryObjectivARB == NULL ||
- GetQueryObjectuivARB == NULL ||
- DeleteQueriesARB == NULL) {
- fprintf(stderr, "%s: don't have all the Query functions\n", __FUNCTION__);
- return GL_FALSE;
- }
-
- /* Create a query object, and start a query. */
- (*GenQueriesARB)(1, &queryObject);
- (*BeginQueryARB)(GL_SAMPLES_PASSED_ARB, queryObject);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* While we're in the query, check the functions that are supposed
- * to return which query we're in and how many bits of resolution
- * we get.
- */
- (*GetQueryivARB)(GL_SAMPLES_PASSED_ARB, GL_CURRENT_QUERY_ARB, &queryCurrent);
- if (queryCurrent != queryObject) {
- fprintf(stderr, "%s: current query 0x%x != set query 0x%x\n",
- __FUNCTION__, queryCurrent, queryObject);
- (*EndQueryARB)(GL_SAMPLES_PASSED_ARB);
- (*DeleteQueriesARB)(1, &queryObject);
- return GL_FALSE;
- }
- (*GetQueryivARB)(GL_SAMPLES_PASSED_ARB, GL_QUERY_COUNTER_BITS_ARB,
- &queryCounterBits);
- if (queryCounterBits < 1) {
- fprintf(stderr, "%s: query counter bits is too small (%d)\n",
- __FUNCTION__, queryCounterBits);
- (*EndQueryARB)(GL_SAMPLES_PASSED_ARB);
- (*DeleteQueriesARB)(1, &queryObject);
- return GL_FALSE;
- }
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Finish up the query. Since we didn't draw anything, the result
- * should be 0 passed samples.
- */
- (*EndQueryARB)(GL_SAMPLES_PASSED_ARB);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Routine existence test */
- if (!(*IsQueryARB)(queryObject)) {
- fprintf(stderr, "%s: query object 0x%x fails existence test\n",
- __FUNCTION__, queryObject);
- (*DeleteQueriesARB)(1, &queryObject);
- return GL_FALSE;
- }
-
- /* Loop until the query is ready, then get back the result. We use
- * the signed query for the boolean value of whether the result is
- * available, but the unsigned query to actually pull the result;
- * this is just to test both entrypoints, but in a real query you may
- * need the extra bit of resolution.
- */
- queryReady = GL_FALSE;
- do {
- (*GetQueryObjectivARB)(queryObject, GL_QUERY_RESULT_AVAILABLE_ARB,
- &queryReady);
- } while (!queryReady);
- (*GetQueryObjectuivARB)(queryObject, GL_QUERY_RESULT_ARB, &querySampleCount);
- (*DeleteQueriesARB)(1, &queryObject);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* If sample count isn't 0, something's funny. */
- if (querySampleCount > 0) {
- fprintf(stderr, "%s: expected query result of 0, got %ud\n",
- __FUNCTION__, querySampleCount);
- return GL_FALSE;
- }
-
- /* Here, all is well. */
- return GL_TRUE;
-}
-
-/**************************************************************************
- * The following functions are used to check that the named OpenGL function
- * actually does what it's supposed to do.
- * The naming of these functions is significant. The getprocaddress.py script
- * scans this file and extracts these function names.
- */
-
-static GLboolean
-test_WeightPointerARB(generic_func func)
-{
- /* Assume we have at least 2 vertex units (or this extension makes
- * no sense), and establish a set of 2-element vector weights.
- * We use floats that can be represented exactly in binary
- * floating point formats so we can compare correctly later.
- * We also make sure the 0th entry matches the default weights,
- * so we can restore the default easily.
- */
-#define USE_VERTEX_UNITS 2
-#define USE_WEIGHT_INDEX 3
- static GLfloat weights[] = {
- 1.0, 0.0,
- 0.875, 0.125,
- 0.75, 0.25,
- 0.625, 0.375,
- 0.5, 0.5,
- 0.375, 0.625,
- 0.25, 0.75,
- 0.125, 0.875,
- 0.0, 1.0,
- };
- GLint numVertexUnits;
- GLfloat *currentWeights;
- int i;
- int errorCount = 0;
-
- PFNGLWEIGHTPOINTERARBPROC WeightPointerARB = (PFNGLWEIGHTPOINTERARBPROC) func;
-
- /* Make sure we have at least two vertex units */
- glGetIntegerv(GL_MAX_VERTEX_UNITS_ARB, &numVertexUnits);
- if (numVertexUnits < USE_VERTEX_UNITS) {
- fprintf(stderr, "%s: need %d vertex units, got %d\n",
- __FUNCTION__, USE_VERTEX_UNITS, numVertexUnits);
- return GL_FALSE;
- }
-
- /* Make sure we allocate enough room to query all the current weights */
- currentWeights = (GLfloat *)malloc(numVertexUnits * sizeof(GLfloat));
- if (currentWeights == NULL) {
- fprintf(stderr, "%s: couldn't allocate room for %d floats\n",
- __FUNCTION__, numVertexUnits);
- return GL_FALSE;
- }
-
- /* Set up the pointer, enable the state, and try to send down a
- * weight vector (we'll arbitrarily send index 2).
- */
- (*WeightPointerARB)(USE_VERTEX_UNITS, GL_FLOAT, 0, weights);
- glEnableClientState(GL_WEIGHT_ARRAY_ARB);
- glArrayElement(USE_WEIGHT_INDEX);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Verify that it changed the current state. */
- glGetFloatv(GL_CURRENT_WEIGHT_ARB, currentWeights);
- for (i = 0; i < numVertexUnits; i++) {
- if (i < USE_VERTEX_UNITS) {
- /* This is one of the units we explicitly set. */
- if (currentWeights[i] != weights[USE_VERTEX_UNITS*USE_WEIGHT_INDEX + i]) {
- fprintf(stderr, "%s: current weight at index %d is %f, should be %f\n",
- __FUNCTION__, i, currentWeights[i],
- weights[USE_VERTEX_UNITS*USE_WEIGHT_INDEX + i]);
- errorCount++;
- }
- }
- else {
- /* All other weights should be 0. */
- if (currentWeights[i] != 0.0) {
- fprintf(stderr, "%s: current weight at index %d is %f, should be %f\n",
- __FUNCTION__, i, 0.0,
- weights[USE_VERTEX_UNITS*USE_WEIGHT_INDEX + i]);
- errorCount++;
- }
- }
- }
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Restore the old state. We know the default set of weights is in
- * index 0.
- */
- glArrayElement(0);
- glDisableClientState(GL_WEIGHT_ARRAY_ARB);
- (*WeightPointerARB)(0, GL_FLOAT, 0, NULL);
- free(currentWeights);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* We're fine if we didn't get any mismatches. */
- if (errorCount == 0) {
- return GL_TRUE;
- }
- else {
- return GL_FALSE;
- }
-}
-
-/* Wrappers on the exercise_occlusion_query function */
-static GLboolean
-test_GenQueriesARB(generic_func func)
-{
- (void) func;
- return exercise_occlusion_query();
-}
-static GLboolean
-test_BeginQueryARB(generic_func func)
-{
- (void) func;
- return exercise_occlusion_query();
-}
-static GLboolean
-test_GetQueryivARB(generic_func func)
-{
- (void) func;
- return exercise_occlusion_query();
-}
-static GLboolean
-test_EndQueryARB(generic_func func)
-{
- (void) func;
- return exercise_occlusion_query();
-}
-static GLboolean
-test_IsQueryARB(generic_func func)
-{
- (void) func;
- return exercise_occlusion_query();
-}
-static GLboolean
-test_GetQueryObjectivARB(generic_func func)
-{
- (void) func;
- return exercise_occlusion_query();
-}
-static GLboolean
-test_GetQueryObjectuivARB(generic_func func)
-{
- (void) func;
- return exercise_occlusion_query();
-}
-static GLboolean
-test_DeleteQueriesARB(generic_func func)
-{
- (void) func;
- return exercise_occlusion_query();
-}
-
-/* Wrappers on the exercise_buffer_objects() function */
-static GLboolean
-test_GenBuffersARB(generic_func func)
-{
- (void) func;
- return exercise_buffer_objects(Use_Map_Buffer);
-}
-static GLboolean
-test_BindBufferARB(generic_func func)
-{
- (void) func;
- return exercise_buffer_objects(Use_Map_Buffer);
-}
-static GLboolean
-test_BufferDataARB(generic_func func)
-{
- (void) func;
- return exercise_buffer_objects(Use_Map_Buffer);
-}
-static GLboolean
-test_MapBufferARB(generic_func func)
-{
- (void) func;
- return exercise_buffer_objects(Use_Map_Buffer);
-}
-static GLboolean
-test_UnmapBufferARB(generic_func func)
-{
- (void) func;
- return exercise_buffer_objects(Use_Map_Buffer);
-}
-static GLboolean
-test_DeleteBuffersARB(generic_func func)
-{
- (void) func;
- return exercise_buffer_objects(Use_Map_Buffer);
-}
-static GLboolean
-test_GetBufferParameterivARB(generic_func func)
-{
- (void) func;
- return exercise_buffer_objects(Use_Map_Buffer);
-}
-static GLboolean
-test_FlushMappedBufferRange(generic_func func)
-{
- (void) func;
- return exercise_buffer_objects(Use_Map_Buffer_Range);
-}
-static GLboolean
-test_MapBufferRange(generic_func func)
-{
- (void) func;
- return exercise_buffer_objects(Use_Map_Buffer_Range);
-}
-static GLboolean
-test_BufferParameteriAPPLE(generic_func func)
-{
- (void) func;
- return exercise_buffer_objects(Use_Map_Buffer_Range);
-}
-
-/* Wrappers on the exercise_framebuffer() function */
-static GLboolean
-test_BindFramebufferEXT(generic_func func)
-{
- (void) func;
- return exercise_framebuffer();
-}
-static GLboolean
-test_BindRenderbufferEXT(generic_func func)
-{
- (void) func;
- return exercise_framebuffer();
-}
-static GLboolean
-test_CheckFramebufferStatusEXT(generic_func func)
-{
- (void) func;
- return exercise_framebuffer();
-}
-static GLboolean
-test_DeleteFramebuffersEXT(generic_func func)
-{
- (void) func;
- return exercise_framebuffer();
-}
-static GLboolean
-test_DeleteRenderbuffersEXT(generic_func func)
-{
- (void) func;
- return exercise_framebuffer();
-}
-static GLboolean
-test_FramebufferRenderbufferEXT(generic_func func)
-{
- (void) func;
- return exercise_framebuffer();
-}
-static GLboolean
-test_GenFramebuffersEXT(generic_func func)
-{
- (void) func;
- return exercise_framebuffer();
-}
-static GLboolean
-test_GenRenderbuffersEXT(generic_func func)
-{
- (void) func;
- return exercise_framebuffer();
-}
-static GLboolean
-test_IsFramebufferEXT(generic_func func)
-{
- (void) func;
- return exercise_framebuffer();
-}
-static GLboolean
-test_IsRenderbufferEXT(generic_func func)
-{
- (void) func;
- return exercise_framebuffer();
-}
-static GLboolean
-test_RenderbufferStorageEXT(generic_func func)
-{
- (void) func;
- return exercise_framebuffer();
-}
-static GLboolean
-test_BlitFramebufferEXT(generic_func func)
-{
- (void) func;
- return exercise_framebuffer();
-}
-
-/* These are wrappers on the exercise_CompressedTextures function.
- * Unfortunately, we cannot test the 1D counterparts, because the
- * texture compressions available all support 2D and higher only.
- */
-static GLboolean
-test_CompressedTexImage2DARB(generic_func func)
-{
- (void) func;
- return exercise_CompressedTextures(GL_TEXTURE_2D);
-}
-static GLboolean
-test_CompressedTexSubImage2DARB(generic_func func)
-{
- (void) func;
- return exercise_CompressedTextures(GL_TEXTURE_2D);
-}
-static GLboolean
-test_CompressedTexImage3DARB(generic_func func)
-{
- (void) func;
- return exercise_CompressedTextures(GL_TEXTURE_3D);
-}
-static GLboolean
-test_CompressedTexSubImage3DARB(generic_func func)
-{
- (void) func;
- return exercise_CompressedTextures(GL_TEXTURE_3D);
-}
-static GLboolean
-test_GetCompressedTexImageARB(generic_func func)
-{
- (void) func;
- return exercise_CompressedTextures(GL_TEXTURE_3D);
-}
-
-/* Wrappers on exercise_fences(). */
-static GLboolean
-test_DeleteFencesNV(generic_func func)
-{
- (void) func;
- return exercise_fences();
-}
-static GLboolean
-test_GenFencesNV(generic_func func)
-{
- (void) func;
- return exercise_fences();
-}
-static GLboolean
-test_SetFenceNV(generic_func func)
-{
- (void) func;
- return exercise_fences();
-}
-static GLboolean
-test_TestFenceNV(generic_func func)
-{
- (void) func;
- return exercise_fences();
-}
-static GLboolean
-test_FinishFenceNV(generic_func func)
-{
- (void) func;
- return exercise_fences();
-}
-static GLboolean
-test_GetFenceivNV(generic_func func)
-{
- (void) func;
- return exercise_fences();
-}
-static GLboolean
-test_IsFenceNV(generic_func func)
-{
- (void) func;
- return exercise_fences();
-}
-
-/* A bunch of glUniform*() tests */
-static GLboolean
-test_Uniform1iv(generic_func func)
-{
- PFNGLUNIFORM1IVARBPROC Uniform1ivARB = (PFNGLUNIFORM1IVARBPROC) func;
- DECLARE_GLFUNC_PTR(GetUniformivARB, PFNGLGETUNIFORMIVARBPROC);
-
- /* This is a trivial fragment shader that sets the color of the
- * fragment to the uniform value passed in.
- */
- static const char *fragmentShaderText =
- "uniform int uniformColor;"
- "void main() {gl_FragColor.r = uniformColor;}";
- static const char *uniformName = "uniformColor";
-
- GLhandleARB program;
- GLint uniformLocation;
- const GLint uniform[1] = {1};
- GLint queriedUniform[1];
-
- if (GetUniformivARB == NULL) {
- return GL_FALSE;
- }
-
- /* Call a helper function to compile up the shader and give
- * us back the validated program and uniform location.
- * If it fails, something's wrong and we can't continue.
- */
- if (!exercise_uniform_start(fragmentShaderText, uniformName,
- &program, &uniformLocation)) {
- return GL_FALSE;
- }
-
- /* Set the value of the program uniform. Note that you must
- * use a compatible type. Our uniform above is an integer
- * so we must set it using integer versions
- * of the Uniform* functions. The "1" means we're setting
- * one vector's worth of information.
- */
- (*Uniform1ivARB)(uniformLocation, 1, uniform);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Query it back */
- (*GetUniformivARB)(program, uniformLocation, queriedUniform);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Clean up before we check to see whether it came back unscathed */
- exercise_uniform_end(program);
-
- /* Now check to see whether the uniform came back as expected. This
- * will return GL_TRUE if all is well, or GL_FALSE if the comparison failed.
- */
- return compare_ints(__FUNCTION__, 1, uniform, 1, queriedUniform);
-}
-
-static GLboolean
-test_Uniform1i(generic_func func)
-{
- PFNGLUNIFORM1IARBPROC Uniform1iARB = (PFNGLUNIFORM1IARBPROC) func;
- DECLARE_GLFUNC_PTR(GetUniformivARB, PFNGLGETUNIFORMIVARBPROC);
-
- /* This is a trivial fragment shader that sets the color of the
- * fragment to the uniform value passed in.
- */
- static const char *fragmentShaderText =
- "uniform int uniformColor;"
- "void main() {gl_FragColor.r = uniformColor;}";
- static const char *uniformName = "uniformColor";
-
- GLhandleARB program;
- GLint uniformLocation;
- const GLint uniform[1] = {1};
- GLint queriedUniform[4];
-
- if (GetUniformivARB == NULL) {
- return GL_FALSE;
- }
-
- /* Call a helper function to compile up the shader and give
- * us back the validated program and uniform location.
- * If it fails, something's wrong and we can't continue.
- */
- if (!exercise_uniform_start(fragmentShaderText, uniformName,
- &program, &uniformLocation)) {
- return GL_FALSE;
- }
-
- /* Set the value of the program uniform. Note that you must
- * use a compatible type. Our uniform above is an integer
- * so we must set it using integer versions
- * of the Uniform* functions.
- */
- (*Uniform1iARB)(uniformLocation, uniform[0]);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Query it back */
- (*GetUniformivARB)(program, uniformLocation, queriedUniform);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Clean up before we check to see whether it came back unscathed */
- exercise_uniform_end(program);
-
- /* Now check to see whether the uniform came back as expected. This
- * will return GL_TRUE if all is well, or GL_FALSE if the comparison failed.
- */
- return compare_ints(__FUNCTION__, 1, uniform, 1, queriedUniform);
-}
-
-static GLboolean
-test_Uniform1fv(generic_func func)
-{
- PFNGLUNIFORM1FVARBPROC Uniform1fvARB = (PFNGLUNIFORM1FVARBPROC) func;
- DECLARE_GLFUNC_PTR(GetUniformfvARB, PFNGLGETUNIFORMFVARBPROC);
-
- /* This is a trivial fragment shader that sets the color of the
- * fragment to the uniform value passed in.
- */
- static const char *fragmentShaderText =
- "uniform float uniformColor;"
- "void main() {gl_FragColor.r = uniformColor;}";
- static const char *uniformName = "uniformColor";
-
- GLhandleARB program;
- GLint uniformLocation;
- const GLfloat uniform[1] = {1.1};
- GLfloat queriedUniform[1];
-
- if (GetUniformfvARB == NULL) {
- return GL_FALSE;
- }
-
- /* Call a helper function to compile up the shader and give
- * us back the validated program and uniform location.
- * If it fails, something's wrong and we can't continue.
- */
- if (!exercise_uniform_start(fragmentShaderText, uniformName,
- &program, &uniformLocation)) {
- return GL_FALSE;
- }
-
- /* Set the value of the program uniform. Note that you must
- * use a compatible type. Our uniform above is a float
- * so we must set it using float versions
- * of the Uniform* functions. The "1" means we're setting
- * one vector's worth of information.
- */
- (*Uniform1fvARB)(uniformLocation, 1, uniform);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Query it back */
- (*GetUniformfvARB)(program, uniformLocation, queriedUniform);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Clean up before we check to see whether it came back unscathed */
- exercise_uniform_end(program);
-
- /* Now check to see whether the uniform came back as expected. This
- * will return GL_TRUE if all is well, or GL_FALSE if the comparison failed.
- */
- return compare_floats(__FUNCTION__, 1, uniform, 1, queriedUniform);
-}
-
-static GLboolean
-test_Uniform1f(generic_func func)
-{
- PFNGLUNIFORM1FARBPROC Uniform1fARB = (PFNGLUNIFORM1FARBPROC) func;
- DECLARE_GLFUNC_PTR(GetUniformfvARB, PFNGLGETUNIFORMFVARBPROC);
-
- /* This is a trivial fragment shader that sets the color of the
- * fragment to the uniform value passed in.
- */
- static const char *fragmentShaderText =
- "uniform float uniformColor;"
- "void main() {gl_FragColor.r = uniformColor;}";
- static const char *uniformName = "uniformColor";
-
- GLhandleARB program;
- GLint uniformLocation;
- const GLfloat uniform[1] = {1.1};
- GLfloat queriedUniform[1];
-
- if (GetUniformfvARB == NULL) {
- return GL_FALSE;
- }
-
- /* Call a helper function to compile up the shader and give
- * us back the validated program and uniform location.
- * If it fails, something's wrong and we can't continue.
- */
- if (!exercise_uniform_start(fragmentShaderText, uniformName,
- &program, &uniformLocation)) {
- return GL_FALSE;
- }
-
- /* Set the value of the program uniform. Note that you must
- * use a compatible type. Our uniform above is a float
- * so we must set it using float versions
- * of the Uniform* functions.
- */
- (*Uniform1fARB)(uniformLocation, uniform[0]);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Query it back */
- (*GetUniformfvARB)(program, uniformLocation, queriedUniform);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Clean up before we check to see whether it came back unscathed */
- exercise_uniform_end(program);
-
- /* Now check to see whether the uniform came back as expected. This
- * will return GL_TRUE if all is well, or GL_FALSE if the comparison failed.
- */
- return compare_floats(__FUNCTION__, 1, uniform, 1, queriedUniform);
-}
-
-static GLboolean
-test_Uniform2iv(generic_func func)
-{
- PFNGLUNIFORM2IVARBPROC Uniform2ivARB = (PFNGLUNIFORM2IVARBPROC) func;
- DECLARE_GLFUNC_PTR(GetUniformivARB, PFNGLGETUNIFORMIVARBPROC);
-
- /* This is a trivial fragment shader that sets the color of the
- * fragment to the uniform value passed in.
- */
- static const char *fragmentShaderText =
- "uniform ivec2 uniformColor;"
- "void main() {gl_FragColor.rg = uniformColor;}";
- static const char *uniformName = "uniformColor";
-
- GLhandleARB program;
- GLint uniformLocation;
- const GLint uniform[2] = {1,2};
- GLint queriedUniform[2];
-
- if (GetUniformivARB == NULL) {
- return GL_FALSE;
- }
-
- /* Call a helper function to compile up the shader and give
- * us back the validated program and uniform location.
- * If it fails, something's wrong and we can't continue.
- */
- if (!exercise_uniform_start(fragmentShaderText, uniformName,
- &program, &uniformLocation)) {
- return GL_FALSE;
- }
-
- /* Set the value of the program uniform. Note that you must
- * use a compatible type. Our uniform above is an integer
- * vector 2 (ivec2), so we must set it using integer versions
- * of the Uniform* functions. The "1" means we're setting
- * one vector's worth of information.
- */
- (*Uniform2ivARB)(uniformLocation, 1, uniform);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Query it back */
- (*GetUniformivARB)(program, uniformLocation, queriedUniform);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Clean up before we check to see whether it came back unscathed */
- exercise_uniform_end(program);
-
- /* Now check to see whether the uniform came back as expected. This
- * will return GL_TRUE if all is well, or GL_FALSE if the comparison failed.
- */
- return compare_ints(__FUNCTION__, 2, uniform, 2, queriedUniform);
-}
-
-static GLboolean
-test_Uniform2i(generic_func func)
-{
- PFNGLUNIFORM2IARBPROC Uniform2iARB = (PFNGLUNIFORM2IARBPROC) func;
- DECLARE_GLFUNC_PTR(GetUniformivARB, PFNGLGETUNIFORMIVARBPROC);
-
- /* This is a trivial fragment shader that sets the color of the
- * fragment to the uniform value passed in.
- */
- static const char *fragmentShaderText =
- "uniform ivec2 uniformColor;"
- "void main() {gl_FragColor.rg = uniformColor;}";
- static const char *uniformName = "uniformColor";
-
- GLhandleARB program;
- GLint uniformLocation;
- const GLint uniform[2] = {1,2};
- GLint queriedUniform[4];
-
- if (GetUniformivARB == NULL) {
- return GL_FALSE;
- }
-
- /* Call a helper function to compile up the shader and give
- * us back the validated program and uniform location.
- * If it fails, something's wrong and we can't continue.
- */
- if (!exercise_uniform_start(fragmentShaderText, uniformName,
- &program, &uniformLocation)) {
- return GL_FALSE;
- }
-
- /* Set the value of the program uniform. Note that you must
- * use a compatible type. Our uniform above is an integer
- * vector 2 (ivec2), so we must set it using integer versions
- * of the Uniform* functions.
- */
- (*Uniform2iARB)(uniformLocation, uniform[0], uniform[1]);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Query it back */
- (*GetUniformivARB)(program, uniformLocation, queriedUniform);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Clean up before we check to see whether it came back unscathed */
- exercise_uniform_end(program);
-
- /* Now check to see whether the uniform came back as expected. This
- * will return GL_TRUE if all is well, or GL_FALSE if the comparison failed.
- */
- return compare_ints(__FUNCTION__, 2, uniform, 2, queriedUniform);
-}
-
-static GLboolean
-test_Uniform2fv(generic_func func)
-{
- PFNGLUNIFORM2FVARBPROC Uniform2fvARB = (PFNGLUNIFORM2FVARBPROC) func;
- DECLARE_GLFUNC_PTR(GetUniformfvARB, PFNGLGETUNIFORMFVARBPROC);
-
- /* This is a trivial fragment shader that sets the color of the
- * fragment to the uniform value passed in.
- */
- static const char *fragmentShaderText =
- "uniform vec2 uniformColor;"
- "void main() {gl_FragColor.rg = uniformColor;}";
- static const char *uniformName = "uniformColor";
-
- GLhandleARB program;
- GLint uniformLocation;
- const GLfloat uniform[2] = {1.1,2.2};
- GLfloat queriedUniform[2];
-
- if (GetUniformfvARB == NULL) {
- return GL_FALSE;
- }
-
- /* Call a helper function to compile up the shader and give
- * us back the validated program and uniform location.
- * If it fails, something's wrong and we can't continue.
- */
- if (!exercise_uniform_start(fragmentShaderText, uniformName,
- &program, &uniformLocation)) {
- return GL_FALSE;
- }
-
- /* Set the value of the program uniform. Note that you must
- * use a compatible type. Our uniform above is a float
- * vector 2 (vec2), so we must set it using float versions
- * of the Uniform* functions. The "1" means we're setting
- * one vector's worth of information.
- */
- (*Uniform2fvARB)(uniformLocation, 1, uniform);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Query it back */
- (*GetUniformfvARB)(program, uniformLocation, queriedUniform);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Clean up before we check to see whether it came back unscathed */
- exercise_uniform_end(program);
-
- /* Now check to see whether the uniform came back as expected. This
- * will return GL_TRUE if all is well, or GL_FALSE if the comparison failed.
- */
- return compare_floats(__FUNCTION__, 2, uniform, 2, queriedUniform);
-}
-
-static GLboolean
-test_Uniform2f(generic_func func)
-{
- PFNGLUNIFORM2FARBPROC Uniform2fARB = (PFNGLUNIFORM2FARBPROC) func;
- DECLARE_GLFUNC_PTR(GetUniformfvARB, PFNGLGETUNIFORMFVARBPROC);
-
- /* This is a trivial fragment shader that sets the color of the
- * fragment to the uniform value passed in.
- */
- static const char *fragmentShaderText =
- "uniform vec2 uniformColor;"
- "void main() {gl_FragColor.rg = uniformColor;}";
- static const char *uniformName = "uniformColor";
-
- GLhandleARB program;
- GLint uniformLocation;
- const GLfloat uniform[2] = {1.1,2.2};
- GLfloat queriedUniform[2];
-
- if (GetUniformfvARB == NULL) {
- return GL_FALSE;
- }
-
- /* Call a helper function to compile up the shader and give
- * us back the validated program and uniform location.
- * If it fails, something's wrong and we can't continue.
- */
- if (!exercise_uniform_start(fragmentShaderText, uniformName,
- &program, &uniformLocation)) {
- return GL_FALSE;
- }
-
- /* Set the value of the program uniform. Note that you must
- * use a compatible type. Our uniform above is a float
- * vector 2 (vec2), so we must set it using float versions
- * of the Uniform* functions.
- */
- (*Uniform2fARB)(uniformLocation, uniform[0], uniform[1]);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Query it back */
- (*GetUniformfvARB)(program, uniformLocation, queriedUniform);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Clean up before we check to see whether it came back unscathed */
- exercise_uniform_end(program);
-
- /* Now check to see whether the uniform came back as expected. This
- * will return GL_TRUE if all is well, or GL_FALSE if the comparison failed.
- */
- return compare_floats(__FUNCTION__, 2, uniform, 2, queriedUniform);
-}
-
-static GLboolean
-test_Uniform3iv(generic_func func)
-{
- PFNGLUNIFORM3IVARBPROC Uniform3ivARB = (PFNGLUNIFORM3IVARBPROC) func;
- DECLARE_GLFUNC_PTR(GetUniformivARB, PFNGLGETUNIFORMIVARBPROC);
-
- /* This is a trivial fragment shader that sets the color of the
- * fragment to the uniform value passed in.
- */
- static const char *fragmentShaderText =
- "uniform ivec3 uniformColor;"
- "void main() {gl_FragColor.rgb = uniformColor;}";
- static const char *uniformName = "uniformColor";
-
- GLhandleARB program;
- GLint uniformLocation;
- const GLint uniform[3] = {1,2,3};
- GLint queriedUniform[3];
-
- if (GetUniformivARB == NULL) {
- return GL_FALSE;
- }
-
- /* Call a helper function to compile up the shader and give
- * us back the validated program and uniform location.
- * If it fails, something's wrong and we can't continue.
- */
- if (!exercise_uniform_start(fragmentShaderText, uniformName,
- &program, &uniformLocation)) {
- return GL_FALSE;
- }
-
- /* Set the value of the program uniform. Note that you must
- * use a compatible type. Our uniform above is an integer
- * vector 3 (ivec3), so we must set it using integer versions
- * of the Uniform* functions. The "1" means we're setting
- * one vector's worth of information.
- */
- (*Uniform3ivARB)(uniformLocation, 1, uniform);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Query it back */
- (*GetUniformivARB)(program, uniformLocation, queriedUniform);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Clean up before we check to see whether it came back unscathed */
- exercise_uniform_end(program);
-
- /* Now check to see whether the uniform came back as expected. This
- * will return GL_TRUE if all is well, or GL_FALSE if the comparison failed.
- */
- return compare_ints(__FUNCTION__, 3, uniform, 3, queriedUniform);
-}
-
-static GLboolean
-test_Uniform3i(generic_func func)
-{
- PFNGLUNIFORM3IARBPROC Uniform3iARB = (PFNGLUNIFORM3IARBPROC) func;
- DECLARE_GLFUNC_PTR(GetUniformivARB, PFNGLGETUNIFORMIVARBPROC);
-
- /* This is a trivial fragment shader that sets the color of the
- * fragment to the uniform value passed in.
- */
- static const char *fragmentShaderText =
- "uniform ivec3 uniformColor;"
- "void main() {gl_FragColor.rgb = uniformColor;}";
- static const char *uniformName = "uniformColor";
-
- GLhandleARB program;
- GLint uniformLocation;
- const GLint uniform[3] = {1,2,3};
- GLint queriedUniform[4];
-
- if (GetUniformivARB == NULL) {
- return GL_FALSE;
- }
-
- /* Call a helper function to compile up the shader and give
- * us back the validated program and uniform location.
- * If it fails, something's wrong and we can't continue.
- */
- if (!exercise_uniform_start(fragmentShaderText, uniformName,
- &program, &uniformLocation)) {
- return GL_FALSE;
- }
-
- /* Set the value of the program uniform. Note that you must
- * use a compatible type. Our uniform above is an integer
- * vector 3 (ivec3), so we must set it using integer versions
- * of the Uniform* functions.
- */
- (*Uniform3iARB)(uniformLocation, uniform[0], uniform[1], uniform[2]);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Query it back */
- (*GetUniformivARB)(program, uniformLocation, queriedUniform);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Clean up before we check to see whether it came back unscathed */
- exercise_uniform_end(program);
-
- /* Now check to see whether the uniform came back as expected. This
- * will return GL_TRUE if all is well, or GL_FALSE if the comparison failed.
- */
- return compare_ints(__FUNCTION__, 3, uniform, 3, queriedUniform);
-}
-
-static GLboolean
-test_Uniform3fv(generic_func func)
-{
- PFNGLUNIFORM3FVARBPROC Uniform3fvARB = (PFNGLUNIFORM3FVARBPROC) func;
- DECLARE_GLFUNC_PTR(GetUniformfvARB, PFNGLGETUNIFORMFVARBPROC);
-
- /* This is a trivial fragment shader that sets the color of the
- * fragment to the uniform value passed in.
- */
- static const char *fragmentShaderText =
- "uniform vec3 uniformColor;"
- "void main() {gl_FragColor.rgb = uniformColor;}";
- static const char *uniformName = "uniformColor";
-
- GLhandleARB program;
- GLint uniformLocation;
- const GLfloat uniform[3] = {1.1,2.2,3.3};
- GLfloat queriedUniform[3];
-
- if (GetUniformfvARB == NULL) {
- return GL_FALSE;
- }
-
- /* Call a helper function to compile up the shader and give
- * us back the validated program and uniform location.
- * If it fails, something's wrong and we can't continue.
- */
- if (!exercise_uniform_start(fragmentShaderText, uniformName,
- &program, &uniformLocation)) {
- return GL_FALSE;
- }
-
- /* Set the value of the program uniform. Note that you must
- * use a compatible type. Our uniform above is a float
- * vector 3 (vec3), so we must set it using float versions
- * of the Uniform* functions. The "1" means we're setting
- * one vector's worth of information.
- */
- (*Uniform3fvARB)(uniformLocation, 1, uniform);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Query it back */
- (*GetUniformfvARB)(program, uniformLocation, queriedUniform);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Clean up before we check to see whether it came back unscathed */
- exercise_uniform_end(program);
-
- /* Now check to see whether the uniform came back as expected. This
- * will return GL_TRUE if all is well, or GL_FALSE if the comparison failed.
- */
- return compare_floats(__FUNCTION__, 3, uniform, 3, queriedUniform);
-}
-
-static GLboolean
-test_Uniform3f(generic_func func)
-{
- PFNGLUNIFORM3FARBPROC Uniform3fARB = (PFNGLUNIFORM3FARBPROC) func;
- DECLARE_GLFUNC_PTR(GetUniformfvARB, PFNGLGETUNIFORMFVARBPROC);
-
- /* This is a trivial fragment shader that sets the color of the
- * fragment to the uniform value passed in.
- */
- static const char *fragmentShaderText =
- "uniform vec3 uniformColor;"
- "void main() {gl_FragColor.rgb = uniformColor;}";
- static const char *uniformName = "uniformColor";
-
- GLhandleARB program;
- GLint uniformLocation;
- const GLfloat uniform[3] = {1.1,2.2,3.3};
- GLfloat queriedUniform[3];
-
- if (GetUniformfvARB == NULL) {
- return GL_FALSE;
- }
-
- /* Call a helper function to compile up the shader and give
- * us back the validated program and uniform location.
- * If it fails, something's wrong and we can't continue.
- */
- if (!exercise_uniform_start(fragmentShaderText, uniformName,
- &program, &uniformLocation)) {
- return GL_FALSE;
- }
-
- /* Set the value of the program uniform. Note that you must
- * use a compatible type. Our uniform above is a float
- * vector 3 (vec3), so we must set it using float versions
- * of the Uniform* functions.
- */
- (*Uniform3fARB)(uniformLocation, uniform[0], uniform[1], uniform[2]);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Query it back */
- (*GetUniformfvARB)(program, uniformLocation, queriedUniform);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Clean up before we check to see whether it came back unscathed */
- exercise_uniform_end(program);
-
- /* Now check to see whether the uniform came back as expected. This
- * will return GL_TRUE if all is well, or GL_FALSE if the comparison failed.
- */
- return compare_floats(__FUNCTION__, 3, uniform, 3, queriedUniform);
-}
-
-static GLboolean
-test_Uniform4iv(generic_func func)
-{
- PFNGLUNIFORM4IVARBPROC Uniform4ivARB = (PFNGLUNIFORM4IVARBPROC) func;
- DECLARE_GLFUNC_PTR(GetUniformivARB, PFNGLGETUNIFORMIVARBPROC);
-
- /* This is a trivial fragment shader that sets the color of the
- * fragment to the uniform value passed in.
- */
- static const char *fragmentShaderText =
- "uniform ivec4 uniformColor; void main() {gl_FragColor = uniformColor;}";
- static const char *uniformName = "uniformColor";
-
- GLhandleARB program;
- GLint uniformLocation;
- const GLint uniform[4] = {1,2,3,4};
- GLint queriedUniform[4];
-
- if (GetUniformivARB == NULL) {
- return GL_FALSE;
- }
-
- /* Call a helper function to compile up the shader and give
- * us back the validated program and uniform location.
- * If it fails, something's wrong and we can't continue.
- */
- if (!exercise_uniform_start(fragmentShaderText, uniformName,
- &program, &uniformLocation)) {
- return GL_FALSE;
- }
-
- /* Set the value of the program uniform. Note that you must
- * use a compatible type. Our uniform above is an integer
- * vector (ivec4), so we must set it using integer versions
- * of the Uniform* functions. The "1" means we're setting
- * one vector's worth of information.
- */
- (*Uniform4ivARB)(uniformLocation, 1, uniform);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Query it back */
- (*GetUniformivARB)(program, uniformLocation, queriedUniform);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Clean up before we check to see whether it came back unscathed */
- exercise_uniform_end(program);
-
- /* Now check to see whether the uniform came back as expected. This
- * will return GL_TRUE if all is well, or GL_FALSE if the comparison failed.
- */
- return compare_ints(__FUNCTION__, 4, uniform, 4, queriedUniform);
-}
-
-static GLboolean
-test_Uniform4i(generic_func func)
-{
- PFNGLUNIFORM4IARBPROC Uniform4iARB = (PFNGLUNIFORM4IARBPROC) func;
- DECLARE_GLFUNC_PTR(GetUniformivARB, PFNGLGETUNIFORMIVARBPROC);
-
- /* This is a trivial fragment shader that sets the color of the
- * fragment to the uniform value passed in.
- */
- static const char *fragmentShaderText =
- "uniform ivec4 uniformColor; void main() {gl_FragColor = uniformColor;}";
- static const char *uniformName = "uniformColor";
-
- GLhandleARB program;
- GLint uniformLocation;
- const GLint uniform[4] = {1,2,3,4};
- GLint queriedUniform[4];
-
- if (GetUniformivARB == NULL) {
- return GL_FALSE;
- }
-
- /* Call a helper function to compile up the shader and give
- * us back the validated program and uniform location.
- * If it fails, something's wrong and we can't continue.
- */
- if (!exercise_uniform_start(fragmentShaderText, uniformName,
- &program, &uniformLocation)) {
- return GL_FALSE;
- }
-
- /* Set the value of the program uniform. Note that you must
- * use a compatible type. Our uniform above is an integer
- * vector (ivec4), so we must set it using integer versions
- * of the Uniform* functions.
- */
- (*Uniform4iARB)(uniformLocation, uniform[0], uniform[1], uniform[2],
- uniform[3]);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Query it back */
- (*GetUniformivARB)(program, uniformLocation, queriedUniform);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Clean up before we check to see whether it came back unscathed */
- exercise_uniform_end(program);
-
- /* Now check to see whether the uniform came back as expected. This
- * will return GL_TRUE if all is well, or GL_FALSE if the comparison failed.
- */
- return compare_ints(__FUNCTION__, 4, uniform, 4, queriedUniform);
-}
-
-static GLboolean
-test_Uniform4fv(generic_func func)
-{
- PFNGLUNIFORM4FVARBPROC Uniform4fvARB = (PFNGLUNIFORM4FVARBPROC) func;
- DECLARE_GLFUNC_PTR(GetUniformfvARB, PFNGLGETUNIFORMFVARBPROC);
-
- /* This is a trivial fragment shader that sets the color of the
- * fragment to the uniform value passed in.
- */
- static const char *fragmentShaderText =
- "uniform vec4 uniformColor; void main() {gl_FragColor = uniformColor;}";
- static const char *uniformName = "uniformColor";
-
- GLhandleARB program;
- GLint uniformLocation;
- const GLfloat uniform[4] = {1.1,2.2,3.3,4.4};
- GLfloat queriedUniform[4];
-
- if (GetUniformfvARB == NULL) {
- return GL_FALSE;
- }
-
- /* Call a helper function to compile up the shader and give
- * us back the validated program and uniform location.
- * If it fails, something's wrong and we can't continue.
- */
- if (!exercise_uniform_start(fragmentShaderText, uniformName,
- &program, &uniformLocation)) {
- return GL_FALSE;
- }
-
- /* Set the value of the program uniform. Note that you must
- * use a compatible type. Our uniform above is a float
- * vector (vec4), so we must set it using float versions
- * of the Uniform* functions. The "1" means we're setting
- * one vector's worth of information.
- */
- (*Uniform4fvARB)(uniformLocation, 1, uniform);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Query it back */
- (*GetUniformfvARB)(program, uniformLocation, queriedUniform);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Clean up before we check to see whether it came back unscathed */
- exercise_uniform_end(program);
-
- /* Now check to see whether the uniform came back as expected. This
- * will return GL_TRUE if all is well, or GL_FALSE if the comparison failed.
- */
- return compare_floats(__FUNCTION__, 4, uniform, 4, queriedUniform);
-}
-
-static GLboolean
-test_Uniform4f(generic_func func)
-{
- PFNGLUNIFORM4FARBPROC Uniform4fARB = (PFNGLUNIFORM4FARBPROC) func;
- DECLARE_GLFUNC_PTR(GetUniformfvARB, PFNGLGETUNIFORMFVARBPROC);
-
- /* This is a trivial fragment shader that sets the color of the
- * fragment to the uniform value passed in.
- */
- static const char *fragmentShaderText =
- "uniform vec4 uniformColor; void main() {gl_FragColor = uniformColor;}";
- static const char *uniformName = "uniformColor";
-
- GLhandleARB program;
- GLint uniformLocation;
- const GLfloat uniform[4] = {1.1,2.2,3.3,4.4};
- GLfloat queriedUniform[4];
-
- if (GetUniformfvARB == NULL) {
- return GL_FALSE;
- }
-
- /* Call a helper function to compile up the shader and give
- * us back the validated program and uniform location.
- * If it fails, something's wrong and we can't continue.
- */
- if (!exercise_uniform_start(fragmentShaderText, uniformName,
- &program, &uniformLocation)) {
- return GL_FALSE;
- }
-
- /* Set the value of the program uniform. Note that you must
- * use a compatible type. Our uniform above is an integer
- * vector (ivec4), so we must set it using integer versions
- * of the Uniform* functions.
- */
- (*Uniform4fARB)(uniformLocation, uniform[0], uniform[1], uniform[2],
- uniform[3]);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Query it back */
- (*GetUniformfvARB)(program, uniformLocation, queriedUniform);
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- /* Clean up before we check to see whether it came back unscathed */
- exercise_uniform_end(program);
-
- /* Now check to see whether the uniform came back as expected. This
- * will return GL_TRUE if all is well, or GL_FALSE if the comparison failed.
- */
- return compare_floats(__FUNCTION__, 4, uniform, 4, queriedUniform);
-}
-
-static GLboolean
-test_ActiveTextureARB(generic_func func)
-{
- PFNGLACTIVETEXTUREARBPROC activeTexture = (PFNGLACTIVETEXTUREARBPROC) func;
- GLint t;
- GLboolean pass;
- (*activeTexture)(GL_TEXTURE1_ARB);
- glGetIntegerv(GL_ACTIVE_TEXTURE_ARB, &t);
- pass = (t == GL_TEXTURE1_ARB);
- (*activeTexture)(GL_TEXTURE0_ARB); /* restore default */
- return pass;
-}
-
-
-static GLboolean
-test_SecondaryColor3fEXT(generic_func func)
-{
- PFNGLSECONDARYCOLOR3FEXTPROC secColor3f = (PFNGLSECONDARYCOLOR3FEXTPROC) func;
- GLfloat color[4];
- GLboolean pass;
- (*secColor3f)(1.0, 1.0, 0.0);
- glGetFloatv(GL_CURRENT_SECONDARY_COLOR_EXT, color);
- pass = (color[0] == 1.0 && color[1] == 1.0 && color[2] == 0.0);
- (*secColor3f)(0.0, 0.0, 0.0); /* restore default */
- return pass;
-}
-
-
-static GLboolean
-test_ActiveStencilFaceEXT(generic_func func)
-{
- PFNGLACTIVESTENCILFACEEXTPROC activeFace = (PFNGLACTIVESTENCILFACEEXTPROC) func;
- GLint face;
- GLboolean pass;
- (*activeFace)(GL_BACK);
- glGetIntegerv(GL_ACTIVE_STENCIL_FACE_EXT, &face);
- pass = (face == GL_BACK);
- (*activeFace)(GL_FRONT); /* restore default */
- return pass;
-}
-
-
-static GLboolean
-test_VertexAttrib1fvARB(generic_func func)
-{
- PFNGLVERTEXATTRIB1FVARBPROC vertexAttrib1fvARB = (PFNGLVERTEXATTRIB1FVARBPROC) func;
- PFNGLGETVERTEXATTRIBFVARBPROC getVertexAttribfvARB = (PFNGLGETVERTEXATTRIBFVARBPROC) glXGetProcAddressARB((const GLubyte *) "glGetVertexAttribfvARB");
-
- const GLfloat v[1] = {25.0};
- const GLfloat def[1] = {0};
- GLfloat res[4];
- GLboolean pass;
- (*vertexAttrib1fvARB)(6, v);
- (*getVertexAttribfvARB)(6, GL_CURRENT_VERTEX_ATTRIB_ARB, res);
- pass = (res[0] == 25.0 && res[1] == 0.0 && res[2] == 0.0 && res[3] == 1.0);
- (*vertexAttrib1fvARB)(6, def);
- return pass;
-}
-
-static GLboolean
-test_VertexAttrib1dvARB(generic_func func)
-{
- PFNGLVERTEXATTRIB1DVARBPROC vertexAttrib1dvARB = (PFNGLVERTEXATTRIB1DVARBPROC) func;
- PFNGLGETVERTEXATTRIBDVARBPROC getVertexAttribdvARB = (PFNGLGETVERTEXATTRIBDVARBPROC) glXGetProcAddressARB((const GLubyte *) "glGetVertexAttribdvARB");
-
- const GLdouble v[1] = {25.0};
- const GLdouble def[1] = {0};
- GLdouble res[4];
- GLboolean pass;
- (*vertexAttrib1dvARB)(6, v);
- (*getVertexAttribdvARB)(6, GL_CURRENT_VERTEX_ATTRIB_ARB, res);
- pass = (res[0] == 25.0 && res[1] == 0.0 && res[2] == 0.0 && res[3] == 1.0);
- (*vertexAttrib1dvARB)(6, def);
- return pass;
-}
-
-static GLboolean
-test_VertexAttrib1svARB(generic_func func)
-{
- PFNGLVERTEXATTRIB1SVARBPROC vertexAttrib1svARB = (PFNGLVERTEXATTRIB1SVARBPROC) func;
- PFNGLGETVERTEXATTRIBIVARBPROC getVertexAttribivARB = (PFNGLGETVERTEXATTRIBIVARBPROC) glXGetProcAddressARB((const GLubyte *) "glGetVertexAttribivARB");
-
- const GLshort v[1] = {25.0};
- const GLshort def[1] = {0};
- GLint res[4];
- GLboolean pass;
- (*vertexAttrib1svARB)(6, v);
- (*getVertexAttribivARB)(6, GL_CURRENT_VERTEX_ATTRIB_ARB, res);
- pass = (res[0] == 25 && res[1] == 0 && res[2] == 0 && res[3] == 1);
- (*vertexAttrib1svARB)(6, def);
- return pass;
-}
-
-static GLboolean
-test_VertexAttrib4NubvARB(generic_func func)
-{
- PFNGLVERTEXATTRIB4NUBVARBPROC vertexAttrib4NubvARB = (PFNGLVERTEXATTRIB4NUBVARBPROC) func;
- PFNGLGETVERTEXATTRIBFVARBPROC getVertexAttribfvARB = (PFNGLGETVERTEXATTRIBFVARBPROC) glXGetProcAddressARB((const GLubyte *) "glGetVertexAttribfvARB");
-
- const GLubyte v[4] = {255, 0, 255, 0};
- const GLubyte def[4] = {0, 0, 0, 255};
- GLfloat res[4];
- GLboolean pass;
- (*vertexAttrib4NubvARB)(6, v);
- (*getVertexAttribfvARB)(6, GL_CURRENT_VERTEX_ATTRIB_ARB, res);
- pass = (res[0] == 1.0 && res[1] == 0.0 && res[2] == 1.0 && res[3] == 0.0);
- (*vertexAttrib4NubvARB)(6, def);
- return pass;
-}
-
-
-static GLboolean
-test_VertexAttrib4NuivARB(generic_func func)
-{
- PFNGLVERTEXATTRIB4NUIVARBPROC vertexAttrib4NuivARB = (PFNGLVERTEXATTRIB4NUIVARBPROC) func;
- PFNGLGETVERTEXATTRIBFVARBPROC getVertexAttribfvARB = (PFNGLGETVERTEXATTRIBFVARBPROC) glXGetProcAddressARB((const GLubyte *) "glGetVertexAttribfvARB");
-
- const GLuint v[4] = {0xffffffff, 0, 0xffffffff, 0};
- const GLuint def[4] = {0, 0, 0, 0xffffffff};
- GLfloat res[4];
- GLboolean pass;
- (*vertexAttrib4NuivARB)(6, v);
- (*getVertexAttribfvARB)(6, GL_CURRENT_VERTEX_ATTRIB_ARB, res);
- pass = (EQUAL(res[0], 1.0) && EQUAL(res[1], 0.0) && EQUAL(res[2], 1.0) && EQUAL(res[3], 0.0));
- (*vertexAttrib4NuivARB)(6, def);
- return pass;
-}
-
-
-static GLboolean
-test_VertexAttrib4ivARB(generic_func func)
-{
- PFNGLVERTEXATTRIB4IVARBPROC vertexAttrib4ivARB = (PFNGLVERTEXATTRIB4IVARBPROC) func;
- PFNGLGETVERTEXATTRIBFVARBPROC getVertexAttribfvARB = (PFNGLGETVERTEXATTRIBFVARBPROC) glXGetProcAddressARB((const GLubyte *) "glGetVertexAttribfvARB");
-
- const GLint v[4] = {1, 2, -3, 4};
- const GLint def[4] = {0, 0, 0, 1};
- GLfloat res[4];
- GLboolean pass;
- (*vertexAttrib4ivARB)(6, v);
- (*getVertexAttribfvARB)(6, GL_CURRENT_VERTEX_ATTRIB_ARB, res);
- pass = (EQUAL(res[0], 1.0) && EQUAL(res[1], 2.0) && EQUAL(res[2], -3.0) && EQUAL(res[3], 4.0));
- (*vertexAttrib4ivARB)(6, def);
- return pass;
-}
-
-
-static GLboolean
-test_VertexAttrib4NsvARB(generic_func func)
-{
- PFNGLVERTEXATTRIB4NSVARBPROC vertexAttrib4NsvARB = (PFNGLVERTEXATTRIB4NSVARBPROC) func;
- PFNGLGETVERTEXATTRIBFVARBPROC getVertexAttribfvARB = (PFNGLGETVERTEXATTRIBFVARBPROC) glXGetProcAddressARB((const GLubyte *) "glGetVertexAttribfvARB");
-
- const GLshort v[4] = {0, 32767, 32767, 0};
- const GLshort def[4] = {0, 0, 0, 32767};
- GLfloat res[4];
- GLboolean pass;
- (*vertexAttrib4NsvARB)(6, v);
- (*getVertexAttribfvARB)(6, GL_CURRENT_VERTEX_ATTRIB_ARB, res);
- pass = (EQUAL(res[0], 0.0) && EQUAL(res[1], 1.0) && EQUAL(res[2], 1.0) && EQUAL(res[3], 0.0));
- (*vertexAttrib4NsvARB)(6, def);
- return pass;
-}
-
-static GLboolean
-test_VertexAttrib4NusvARB(generic_func func)
-{
- PFNGLVERTEXATTRIB4NUSVARBPROC vertexAttrib4NusvARB = (PFNGLVERTEXATTRIB4NUSVARBPROC) func;
- PFNGLGETVERTEXATTRIBFVARBPROC getVertexAttribfvARB = (PFNGLGETVERTEXATTRIBFVARBPROC) glXGetProcAddressARB((const GLubyte *) "glGetVertexAttribfvARB");
-
- const GLushort v[4] = {0xffff, 0, 0xffff, 0};
- const GLushort def[4] = {0, 0, 0, 0xffff};
- GLfloat res[4];
- GLboolean pass;
- (*vertexAttrib4NusvARB)(6, v);
- (*getVertexAttribfvARB)(6, GL_CURRENT_VERTEX_ATTRIB_ARB, res);
- pass = (EQUAL(res[0], 1.0) && EQUAL(res[1], 0.0) && EQUAL(res[2], 1.0) && EQUAL(res[3], 0.0));
- (*vertexAttrib4NusvARB)(6, def);
- return pass;
-}
-
-static GLboolean
-test_VertexAttrib1sNV(generic_func func)
-{
- PFNGLVERTEXATTRIB1SNVPROC vertexAttrib1sNV = (PFNGLVERTEXATTRIB1SNVPROC) func;
- PFNGLGETVERTEXATTRIBIVNVPROC getVertexAttribivNV = (PFNGLGETVERTEXATTRIBIVNVPROC) glXGetProcAddressARB((const GLubyte *) "glGetVertexAttribivNV");
-
- const GLshort v[4] = {2, 0, 0, 1};
- const GLshort def[4] = {0, 0, 0, 1};
- GLint res[4];
- (*vertexAttrib1sNV)(6, v[0]);
- (*getVertexAttribivNV)(6, GL_CURRENT_ATTRIB_NV, res);
- (*vertexAttrib1sNV)(6, def[0]);
- return compare_shorts_to_ints(__FUNCTION__, 4, v, 4, res);
-}
-
-static GLboolean
-test_VertexAttrib1fNV(generic_func func)
-{
- PFNGLVERTEXATTRIB1FNVPROC vertexAttrib1fNV = (PFNGLVERTEXATTRIB1FNVPROC) func;
- PFNGLGETVERTEXATTRIBFVNVPROC getVertexAttribfvNV = (PFNGLGETVERTEXATTRIBFVNVPROC) glXGetProcAddressARB((const GLubyte *) "glGetVertexAttribfvNV");
-
- const GLfloat v[4] = {2.5, 0.0, 0.0, 1.0};
- const GLfloat def[4] = {0, 0, 0, 1};
- GLfloat res[4];
- (*vertexAttrib1fNV)(6, v[0]);
- (*getVertexAttribfvNV)(6, GL_CURRENT_ATTRIB_NV, res);
- (*vertexAttrib1fNV)(6, def[0]);
- return compare_floats(__FUNCTION__, 4, v, 4, res);
-}
-
-static GLboolean
-test_VertexAttrib1dNV(generic_func func)
-{
- PFNGLVERTEXATTRIB1DNVPROC vertexAttrib1dNV = (PFNGLVERTEXATTRIB1DNVPROC) func;
- PFNGLGETVERTEXATTRIBDVNVPROC getVertexAttribdvNV = (PFNGLGETVERTEXATTRIBDVNVPROC) glXGetProcAddressARB((const GLubyte *) "glGetVertexAttribdvNV");
-
- const GLdouble v[4] = {2.5, 0.0, 0.0, 1.0};
- const GLdouble def[4] = {0, 0, 0, 1};
- GLdouble res[4];
- (*vertexAttrib1dNV)(6, v[0]);
- (*getVertexAttribdvNV)(6, GL_CURRENT_ATTRIB_NV, res);
- (*vertexAttrib1dNV)(6, def[0]);
- return compare_doubles(__FUNCTION__, 4, v, 4, res);
-}
-
-static GLboolean
-test_VertexAttrib2sNV(generic_func func)
-{
- PFNGLVERTEXATTRIB2SNVPROC vertexAttrib2sNV = (PFNGLVERTEXATTRIB2SNVPROC) func;
- PFNGLGETVERTEXATTRIBIVNVPROC getVertexAttribivNV = (PFNGLGETVERTEXATTRIBIVNVPROC) glXGetProcAddressARB((const GLubyte *) "glGetVertexAttribivNV");
-
- const GLshort v[4] = {2, 4, 0, 1};
- const GLshort def[4] = {0, 0, 0, 1};
- GLint res[4];
- (*vertexAttrib2sNV)(6, v[0], v[1]);
- (*getVertexAttribivNV)(6, GL_CURRENT_ATTRIB_NV, res);
- (*vertexAttrib2sNV)(6, def[0], def[1]);
- return compare_shorts_to_ints(__FUNCTION__, 4, v, 4, res);
-}
-
-static GLboolean
-test_VertexAttrib2fNV(generic_func func)
-{
- PFNGLVERTEXATTRIB2FNVPROC vertexAttrib2fNV = (PFNGLVERTEXATTRIB2FNVPROC) func;
- PFNGLGETVERTEXATTRIBFVNVPROC getVertexAttribfvNV = (PFNGLGETVERTEXATTRIBFVNVPROC) glXGetProcAddressARB((const GLubyte *) "glGetVertexAttribfvNV");
-
- const GLfloat v[4] = {2.5, 4.25, 0.0, 1.0};
- const GLfloat def[4] = {0, 0, 0, 1};
- GLfloat res[4];
- (*vertexAttrib2fNV)(6, v[0], v[1]);
- (*getVertexAttribfvNV)(6, GL_CURRENT_ATTRIB_NV, res);
- (*vertexAttrib2fNV)(6, def[0], def[1]);
- return compare_floats(__FUNCTION__, 4, v, 4, res);
-}
-
-static GLboolean
-test_VertexAttrib2dNV(generic_func func)
-{
- PFNGLVERTEXATTRIB2DNVPROC vertexAttrib2dNV = (PFNGLVERTEXATTRIB2DNVPROC) func;
- PFNGLGETVERTEXATTRIBDVNVPROC getVertexAttribdvNV = (PFNGLGETVERTEXATTRIBDVNVPROC) glXGetProcAddressARB((const GLubyte *) "glGetVertexAttribdvNV");
-
- const GLdouble v[4] = {2.5, 4.25, 0.0, 1.0};
- const GLdouble def[4] = {0, 0, 0, 1};
- GLdouble res[4];
- (*vertexAttrib2dNV)(6, v[0], v[1]);
- (*getVertexAttribdvNV)(6, GL_CURRENT_ATTRIB_NV, res);
- (*vertexAttrib2dNV)(6, def[0], def[1]);
- return compare_doubles(__FUNCTION__, 4, v, 4, res);
-}
-
-static GLboolean
-test_VertexAttrib3sNV(generic_func func)
-{
- PFNGLVERTEXATTRIB3SNVPROC vertexAttrib3sNV = (PFNGLVERTEXATTRIB3SNVPROC) func;
- PFNGLGETVERTEXATTRIBIVNVPROC getVertexAttribivNV = (PFNGLGETVERTEXATTRIBIVNVPROC) glXGetProcAddressARB((const GLubyte *) "glGetVertexAttribivNV");
-
- const GLshort v[4] = {2, 4, 7, 1};
- const GLshort def[4] = {0, 0, 0, 1};
- GLint res[4];
- (*vertexAttrib3sNV)(6, v[0], v[1], v[2]);
- (*getVertexAttribivNV)(6, GL_CURRENT_ATTRIB_NV, res);
- (*vertexAttrib3sNV)(6, def[0], def[1], def[2]);
- return compare_shorts_to_ints(__FUNCTION__, 4, v, 4, res);
-}
-
-static GLboolean
-test_VertexAttrib3fNV(generic_func func)
-{
- PFNGLVERTEXATTRIB3FNVPROC vertexAttrib3fNV = (PFNGLVERTEXATTRIB3FNVPROC) func;
- PFNGLGETVERTEXATTRIBFVNVPROC getVertexAttribfvNV = (PFNGLGETVERTEXATTRIBFVNVPROC) glXGetProcAddressARB((const GLubyte *) "glGetVertexAttribfvNV");
-
- const GLfloat v[4] = {2.5, 4.25, 7.125, 1.0};
- const GLfloat def[4] = {0, 0, 0, 1};
- GLfloat res[4];
- (*vertexAttrib3fNV)(6, v[0], v[1], v[2]);
- (*getVertexAttribfvNV)(6, GL_CURRENT_ATTRIB_NV, res);
- (*vertexAttrib3fNV)(6, def[0], def[1], def[2]);
- return compare_floats(__FUNCTION__, 4, v, 4, res);
-}
-
-static GLboolean
-test_VertexAttrib3dNV(generic_func func)
-{
- PFNGLVERTEXATTRIB3DNVPROC vertexAttrib3dNV = (PFNGLVERTEXATTRIB3DNVPROC) func;
- PFNGLGETVERTEXATTRIBDVNVPROC getVertexAttribdvNV = (PFNGLGETVERTEXATTRIBDVNVPROC) glXGetProcAddressARB((const GLubyte *) "glGetVertexAttribdvNV");
-
- const GLdouble v[4] = {2.5, 4.25, 7.125, 1.0};
- const GLdouble def[4] = {0, 0, 0, 1};
- GLdouble res[4];
- (*vertexAttrib3dNV)(6, v[0], v[1], v[2]);
- (*getVertexAttribdvNV)(6, GL_CURRENT_ATTRIB_NV, res);
- (*vertexAttrib3dNV)(6, def[0], def[1], def[2]);
- return compare_doubles(__FUNCTION__, 4, v, 4, res);
-}
-
-static GLboolean
-test_VertexAttrib4sNV(generic_func func)
-{
- PFNGLVERTEXATTRIB4SNVPROC vertexAttrib4sNV = (PFNGLVERTEXATTRIB4SNVPROC) func;
- PFNGLGETVERTEXATTRIBIVNVPROC getVertexAttribivNV = (PFNGLGETVERTEXATTRIBIVNVPROC) glXGetProcAddressARB((const GLubyte *) "glGetVertexAttribivNV");
-
- const GLshort v[4] = {2, 4, 7, 5};
- const GLshort def[4] = {0, 0, 0, 1};
- GLint res[4];
- (*vertexAttrib4sNV)(6, v[0], v[1], v[2], v[3]);
- (*getVertexAttribivNV)(6, GL_CURRENT_ATTRIB_NV, res);
- (*vertexAttrib4sNV)(6, def[0], def[1], def[2], def[3]);
- return compare_shorts_to_ints(__FUNCTION__, 4, v, 4, res);
-}
-
-static GLboolean
-test_VertexAttrib4fNV(generic_func func)
-{
- PFNGLVERTEXATTRIB4FNVPROC vertexAttrib4fNV = (PFNGLVERTEXATTRIB4FNVPROC) func;
- PFNGLGETVERTEXATTRIBFVNVPROC getVertexAttribfvNV = (PFNGLGETVERTEXATTRIBFVNVPROC) glXGetProcAddressARB((const GLubyte *) "glGetVertexAttribfvNV");
-
- const GLfloat v[4] = {2.5, 4.25, 7.125, 5.0625};
- const GLfloat def[4] = {0, 0, 0, 1};
- GLfloat res[4];
- (*vertexAttrib4fNV)(6, v[0], v[1], v[2], v[3]);
- (*getVertexAttribfvNV)(6, GL_CURRENT_ATTRIB_NV, res);
- (*vertexAttrib4fNV)(6, def[0], def[1], def[2], def[3]);
- return compare_floats(__FUNCTION__, 4, v, 4, res);
-}
-
-static GLboolean
-test_VertexAttrib4dNV(generic_func func)
-{
- PFNGLVERTEXATTRIB4DNVPROC vertexAttrib4dNV = (PFNGLVERTEXATTRIB4DNVPROC) func;
- PFNGLGETVERTEXATTRIBDVNVPROC getVertexAttribdvNV = (PFNGLGETVERTEXATTRIBDVNVPROC) glXGetProcAddressARB((const GLubyte *) "glGetVertexAttribdvNV");
-
- const GLdouble v[4] = {2.5, 4.25, 7.125, 5.0625};
- const GLdouble def[4] = {0, 0, 0, 1};
- GLdouble res[4];
- (*vertexAttrib4dNV)(6, v[0], v[1], v[2], v[3]);
- (*getVertexAttribdvNV)(6, GL_CURRENT_ATTRIB_NV, res);
- (*vertexAttrib4dNV)(6, def[0], def[1], def[2], def[3]);
- return compare_doubles(__FUNCTION__, 4, v, 4, res);
-}
-
-static GLboolean
-test_VertexAttrib4ubNV(generic_func func)
-{
- PFNGLVERTEXATTRIB4UBNVPROC vertexAttrib4ubNV = (PFNGLVERTEXATTRIB4UBNVPROC) func;
- PFNGLGETVERTEXATTRIBFVNVPROC getVertexAttribfvNV = (PFNGLGETVERTEXATTRIBFVNVPROC) glXGetProcAddressARB((const GLubyte *) "glGetVertexAttribfvNV");
-
- const GLubyte v[4] = {255, 0, 255, 0};
- const GLubyte def[4] = {0, 0, 0, 255};
- GLfloat res[4];
- /* There's no byte-value query; so we use the float-value query.
- * Bytes are interpreted as steps between 0 and 1, so the
- * expected float values will be 0.0 for byte value 0 and 1.0 for
- * byte value 255.
- */
- GLfloat expectedResults[4] = {1.0, 0.0, 1.0, 0.0};
- (*vertexAttrib4ubNV)(6, v[0], v[1], v[2], v[3]);
- (*getVertexAttribfvNV)(6, GL_CURRENT_ATTRIB_NV, res);
- (*vertexAttrib4ubNV)(6, def[0], def[1], def[2], def[3]);
- return compare_floats(__FUNCTION__, 4, expectedResults, 4, res);
-}
-
-static GLboolean
-test_VertexAttrib1fvNV(generic_func func)
-{
- PFNGLVERTEXATTRIB1FVNVPROC vertexAttrib1fvNV = (PFNGLVERTEXATTRIB1FVNVPROC) func;
- PFNGLGETVERTEXATTRIBFVNVPROC getVertexAttribfvNV = (PFNGLGETVERTEXATTRIBFVNVPROC) glXGetProcAddressARB((const GLubyte *) "glGetVertexAttribfvNV");
-
- const GLfloat v[4] = {2.5, 0.0, 0.0, 1.0};
- const GLfloat def[4] = {0, 0, 0, 1};
- GLfloat res[4];
- (*vertexAttrib1fvNV)(6, v);
- (*getVertexAttribfvNV)(6, GL_CURRENT_ATTRIB_NV, res);
- (*vertexAttrib1fvNV)(6, def);
- return compare_floats(__FUNCTION__, 4, v, 4, res);
-}
-
-static GLboolean
-test_VertexAttrib1dvNV(generic_func func)
-{
- PFNGLVERTEXATTRIB1DVNVPROC vertexAttrib1dvNV = (PFNGLVERTEXATTRIB1DVNVPROC) func;
- PFNGLGETVERTEXATTRIBDVNVPROC getVertexAttribdvNV = (PFNGLGETVERTEXATTRIBDVNVPROC) glXGetProcAddressARB((const GLubyte *) "glGetVertexAttribdvNV");
-
- const GLdouble v[4] = {2.5, 0.0, 0.0, 1.0};
- const GLdouble def[4] = {0, 0, 0, 1};
- GLdouble res[4];
- (*vertexAttrib1dvNV)(6, v);
- (*getVertexAttribdvNV)(6, GL_CURRENT_ATTRIB_NV, res);
- (*vertexAttrib1dvNV)(6, def);
- return compare_doubles(__FUNCTION__, 4, v, 4, res);
-}
-
-static GLboolean
-test_VertexAttrib2svNV(generic_func func)
-{
- PFNGLVERTEXATTRIB2SVNVPROC vertexAttrib2svNV = (PFNGLVERTEXATTRIB2SVNVPROC) func;
- PFNGLGETVERTEXATTRIBIVNVPROC getVertexAttribivNV = (PFNGLGETVERTEXATTRIBIVNVPROC) glXGetProcAddressARB((const GLubyte *) "glGetVertexAttribivNV");
-
- const GLshort v[4] = {2, 4, 0, 1};
- const GLshort def[4] = {0, 0, 0, 1};
- GLint res[4];
- (*vertexAttrib2svNV)(6, v);
- (*getVertexAttribivNV)(6, GL_CURRENT_ATTRIB_NV, res);
- (*vertexAttrib2svNV)(6, def);
- return compare_shorts_to_ints(__FUNCTION__, 4, v, 4, res);
-}
-
-static GLboolean
-test_VertexAttrib2fvNV(generic_func func)
-{
- PFNGLVERTEXATTRIB2FVNVPROC vertexAttrib2fvNV = (PFNGLVERTEXATTRIB2FVNVPROC) func;
- PFNGLGETVERTEXATTRIBFVNVPROC getVertexAttribfvNV = (PFNGLGETVERTEXATTRIBFVNVPROC) glXGetProcAddressARB((const GLubyte *) "glGetVertexAttribfvNV");
-
- const GLfloat v[4] = {2.5, 4.25, 0.0, 1.0};
- const GLfloat def[4] = {0, 0, 0, 1};
- GLfloat res[4];
- (*vertexAttrib2fvNV)(6, v);
- (*getVertexAttribfvNV)(6, GL_CURRENT_ATTRIB_NV, res);
- (*vertexAttrib2fvNV)(6, def);
- return compare_floats(__FUNCTION__, 4, v, 4, res);
-}
-
-static GLboolean
-test_VertexAttrib2dvNV(generic_func func)
-{
- PFNGLVERTEXATTRIB2DVNVPROC vertexAttrib2dvNV = (PFNGLVERTEXATTRIB2DVNVPROC) func;
- PFNGLGETVERTEXATTRIBDVNVPROC getVertexAttribdvNV = (PFNGLGETVERTEXATTRIBDVNVPROC) glXGetProcAddressARB((const GLubyte *) "glGetVertexAttribdvNV");
-
- const GLdouble v[4] = {2.5, 4.25, 0.0, 1.0};
- const GLdouble def[4] = {0, 0, 0, 1};
- GLdouble res[4];
- (*vertexAttrib2dvNV)(6, v);
- (*getVertexAttribdvNV)(6, GL_CURRENT_ATTRIB_NV, res);
- (*vertexAttrib2dvNV)(6, def);
- return compare_doubles(__FUNCTION__, 4, v, 4, res);
-}
-
-static GLboolean
-test_VertexAttrib3svNV(generic_func func)
-{
- PFNGLVERTEXATTRIB3SVNVPROC vertexAttrib3svNV = (PFNGLVERTEXATTRIB3SVNVPROC) func;
- PFNGLGETVERTEXATTRIBIVNVPROC getVertexAttribivNV = (PFNGLGETVERTEXATTRIBIVNVPROC) glXGetProcAddressARB((const GLubyte *) "glGetVertexAttribivNV");
-
- const GLshort v[4] = {2, 4, 7, 1};
- const GLshort def[4] = {0, 0, 0, 1};
- GLint res[4];
- (*vertexAttrib3svNV)(6, v);
- (*getVertexAttribivNV)(6, GL_CURRENT_ATTRIB_NV, res);
- (*vertexAttrib3svNV)(6, def);
- return compare_shorts_to_ints(__FUNCTION__, 4, v, 4, res);
-}
-
-static GLboolean
-test_VertexAttrib3fvNV(generic_func func)
-{
- PFNGLVERTEXATTRIB3FVNVPROC vertexAttrib3fvNV = (PFNGLVERTEXATTRIB3FVNVPROC) func;
- PFNGLGETVERTEXATTRIBFVNVPROC getVertexAttribfvNV = (PFNGLGETVERTEXATTRIBFVNVPROC) glXGetProcAddressARB((const GLubyte *) "glGetVertexAttribfvNV");
-
- const GLfloat v[4] = {2.5, 4.25, 7.125, 1.0};
- const GLfloat def[4] = {0, 0, 0, 1};
- GLfloat res[4];
- (*vertexAttrib3fvNV)(6, v);
- (*getVertexAttribfvNV)(6, GL_CURRENT_ATTRIB_NV, res);
- (*vertexAttrib3fvNV)(6, def);
- return compare_floats(__FUNCTION__, 4, v, 4, res);
-}
-
-static GLboolean
-test_VertexAttrib3dvNV(generic_func func)
-{
- PFNGLVERTEXATTRIB3DVNVPROC vertexAttrib3dvNV = (PFNGLVERTEXATTRIB3DVNVPROC) func;
- PFNGLGETVERTEXATTRIBDVNVPROC getVertexAttribdvNV = (PFNGLGETVERTEXATTRIBDVNVPROC) glXGetProcAddressARB((const GLubyte *) "glGetVertexAttribdvNV");
-
- const GLdouble v[4] = {2.5, 4.25, 7.125, 1.0};
- const GLdouble def[4] = {0, 0, 0, 1};
- GLdouble res[4];
- (*vertexAttrib3dvNV)(6, v);
- (*getVertexAttribdvNV)(6, GL_CURRENT_ATTRIB_NV, res);
- (*vertexAttrib3dvNV)(6, def);
- return compare_doubles(__FUNCTION__, 4, v, 4, res);
-}
-
-static GLboolean
-test_VertexAttrib4svNV(generic_func func)
-{
- PFNGLVERTEXATTRIB4SVNVPROC vertexAttrib4svNV = (PFNGLVERTEXATTRIB4SVNVPROC) func;
- PFNGLGETVERTEXATTRIBIVNVPROC getVertexAttribivNV = (PFNGLGETVERTEXATTRIBIVNVPROC) glXGetProcAddressARB((const GLubyte *) "glGetVertexAttribivNV");
-
- const GLshort v[4] = {2, 4, 7, 5};
- const GLshort def[4] = {0, 0, 0, 1};
- GLint res[4];
- (*vertexAttrib4svNV)(6, v);
- (*getVertexAttribivNV)(6, GL_CURRENT_ATTRIB_NV, res);
- (*vertexAttrib4svNV)(6, def);
- return compare_shorts_to_ints(__FUNCTION__, 4, v, 4, res);
-}
-
-static GLboolean
-test_VertexAttrib4fvNV(generic_func func)
-{
- PFNGLVERTEXATTRIB4FVNVPROC vertexAttrib4fvNV = (PFNGLVERTEXATTRIB4FVNVPROC) func;
- PFNGLGETVERTEXATTRIBFVNVPROC getVertexAttribfvNV = (PFNGLGETVERTEXATTRIBFVNVPROC) glXGetProcAddressARB((const GLubyte *) "glGetVertexAttribfvNV");
-
- const GLfloat v[4] = {2.5, 4.25, 7.125, 5.0625};
- const GLfloat def[4] = {0, 0, 0, 1};
- GLfloat res[4];
- (*vertexAttrib4fvNV)(6, v);
- (*getVertexAttribfvNV)(6, GL_CURRENT_ATTRIB_NV, res);
- (*vertexAttrib4fvNV)(6, def);
- return compare_floats(__FUNCTION__, 4, v, 4, res);
-}
-
-static GLboolean
-test_VertexAttrib4dvNV(generic_func func)
-{
- PFNGLVERTEXATTRIB4DVNVPROC vertexAttrib4dvNV = (PFNGLVERTEXATTRIB4DVNVPROC) func;
- PFNGLGETVERTEXATTRIBDVNVPROC getVertexAttribdvNV = (PFNGLGETVERTEXATTRIBDVNVPROC) glXGetProcAddressARB((const GLubyte *) "glGetVertexAttribdvNV");
-
- const GLdouble v[4] = {2.5, 4.25, 7.125, 5.0625};
- const GLdouble def[4] = {0, 0, 0, 1};
- GLdouble res[4];
- (*vertexAttrib4dvNV)(6, v);
- (*getVertexAttribdvNV)(6, GL_CURRENT_ATTRIB_NV, res);
- (*vertexAttrib4dvNV)(6, def);
- return compare_doubles(__FUNCTION__, 4, v, 4, res);
-}
-
-static GLboolean
-test_VertexAttrib4ubvNV(generic_func func)
-{
- PFNGLVERTEXATTRIB4UBVNVPROC vertexAttrib4ubvNV = (PFNGLVERTEXATTRIB4UBVNVPROC) func;
- PFNGLGETVERTEXATTRIBFVNVPROC getVertexAttribfvNV = (PFNGLGETVERTEXATTRIBFVNVPROC) glXGetProcAddressARB((const GLubyte *) "glGetVertexAttribfvNV");
-
- const GLubyte v[4] = {255, 0, 255, 0};
- const GLubyte def[4] = {0, 0, 0, 255};
- GLfloat res[4];
- /* There's no byte-value query; so we use the float-value query.
- * Bytes are interpreted as steps between 0 and 1, so the
- * expected float values will be 0.0 for byte value 0 and 1.0 for
- * byte value 255.
- */
- GLfloat expectedResults[4] = {1.0, 0.0, 1.0, 0.0};
- (*vertexAttrib4ubvNV)(6, v);
- (*getVertexAttribfvNV)(6, GL_CURRENT_ATTRIB_NV, res);
- (*vertexAttrib4ubvNV)(6, def);
- return compare_floats(__FUNCTION__, 4, expectedResults, 4, res);
-}
-
-static GLboolean
-test_VertexAttribs1fvNV(generic_func func)
-{
- PFNGLVERTEXATTRIBS1FVNVPROC vertexAttribs1fvNV = (PFNGLVERTEXATTRIBS1FVNVPROC) func;
- PFNGLGETVERTEXATTRIBFVNVPROC getVertexAttribfvNV = (PFNGLGETVERTEXATTRIBFVNVPROC) glXGetProcAddressARB((const GLubyte *) "glGetVertexAttribfvNV");
-
- const GLfloat v[4] = {2.5, 0.0, 0.0, 1.0};
- const GLfloat def[4] = {0, 0, 0, 1};
- GLfloat res[4];
- (*vertexAttribs1fvNV)(6, 1, v);
- (*getVertexAttribfvNV)(6, GL_CURRENT_ATTRIB_NV, res);
- (*vertexAttribs1fvNV)(6, 1, def);
- return compare_floats(__FUNCTION__, 4, v, 4, res);
-}
-
-static GLboolean
-test_VertexAttribs1dvNV(generic_func func)
-{
- PFNGLVERTEXATTRIBS1DVNVPROC vertexAttribs1dvNV = (PFNGLVERTEXATTRIBS1DVNVPROC) func;
- PFNGLGETVERTEXATTRIBDVNVPROC getVertexAttribdvNV = (PFNGLGETVERTEXATTRIBDVNVPROC) glXGetProcAddressARB((const GLubyte *) "glGetVertexAttribdvNV");
-
- const GLdouble v[4] = {2.5, 0.0, 0.0, 1.0};
- const GLdouble def[4] = {0, 0, 0, 1};
- GLdouble res[4];
- (*vertexAttribs1dvNV)(6, 1, v);
- (*getVertexAttribdvNV)(6, GL_CURRENT_ATTRIB_NV, res);
- (*vertexAttribs1dvNV)(6, 1, def);
- return compare_doubles(__FUNCTION__, 4, v, 4, res);
-}
-
-static GLboolean
-test_VertexAttribs2svNV(generic_func func)
-{
- PFNGLVERTEXATTRIBS2SVNVPROC vertexAttribs2svNV = (PFNGLVERTEXATTRIBS2SVNVPROC) func;
- PFNGLGETVERTEXATTRIBIVNVPROC getVertexAttribivNV = (PFNGLGETVERTEXATTRIBIVNVPROC) glXGetProcAddressARB((const GLubyte *) "glGetVertexAttribivNV");
-
- const GLshort v[4] = {2, 4, 0, 1};
- const GLshort def[4] = {0, 0, 0, 1};
- GLint res[4];
- (*vertexAttribs2svNV)(6, 1, v);
- (*getVertexAttribivNV)(6, GL_CURRENT_ATTRIB_NV, res);
- (*vertexAttribs2svNV)(6, 1, def);
- return compare_shorts_to_ints(__FUNCTION__, 4, v, 4, res);
-}
-
-static GLboolean
-test_VertexAttribs2fvNV(generic_func func)
-{
- PFNGLVERTEXATTRIBS2FVNVPROC vertexAttribs2fvNV = (PFNGLVERTEXATTRIBS2FVNVPROC) func;
- PFNGLGETVERTEXATTRIBFVNVPROC getVertexAttribfvNV = (PFNGLGETVERTEXATTRIBFVNVPROC) glXGetProcAddressARB((const GLubyte *) "glGetVertexAttribfvNV");
-
- const GLfloat v[4] = {2.5, 4.25, 0.0, 1.0};
- const GLfloat def[4] = {0, 0, 0, 1};
- GLfloat res[4];
- (*vertexAttribs2fvNV)(6, 1, v);
- (*getVertexAttribfvNV)(6, GL_CURRENT_ATTRIB_NV, res);
- (*vertexAttribs2fvNV)(6, 1, def);
- return compare_floats(__FUNCTION__, 4, v, 4, res);
-}
-
-static GLboolean
-test_VertexAttribs2dvNV(generic_func func)
-{
- PFNGLVERTEXATTRIBS2DVNVPROC vertexAttribs2dvNV = (PFNGLVERTEXATTRIBS2DVNVPROC) func;
- PFNGLGETVERTEXATTRIBDVNVPROC getVertexAttribdvNV = (PFNGLGETVERTEXATTRIBDVNVPROC) glXGetProcAddressARB((const GLubyte *) "glGetVertexAttribdvNV");
-
- const GLdouble v[4] = {2.5, 4.25, 0.0, 1.0};
- const GLdouble def[4] = {0, 0, 0, 1};
- GLdouble res[4];
- (*vertexAttribs2dvNV)(6, 1, v);
- (*getVertexAttribdvNV)(6, GL_CURRENT_ATTRIB_NV, res);
- (*vertexAttribs2dvNV)(6, 1, def);
- return compare_doubles(__FUNCTION__, 4, v, 4, res);
-}
-
-static GLboolean
-test_VertexAttribs3svNV(generic_func func)
-{
- PFNGLVERTEXATTRIBS3SVNVPROC vertexAttribs3svNV = (PFNGLVERTEXATTRIBS3SVNVPROC) func;
- PFNGLGETVERTEXATTRIBIVNVPROC getVertexAttribivNV = (PFNGLGETVERTEXATTRIBIVNVPROC) glXGetProcAddressARB((const GLubyte *) "glGetVertexAttribivNV");
-
- const GLshort v[4] = {2, 4, 7, 1};
- const GLshort def[4] = {0, 0, 0, 1};
- GLint res[4];
- (*vertexAttribs3svNV)(6, 1, v);
- (*getVertexAttribivNV)(6, GL_CURRENT_ATTRIB_NV, res);
- (*vertexAttribs3svNV)(6, 1, def);
- return compare_shorts_to_ints(__FUNCTION__, 4, v, 4, res);
-}
-
-static GLboolean
-test_VertexAttribs3fvNV(generic_func func)
-{
- PFNGLVERTEXATTRIBS3FVNVPROC vertexAttribs3fvNV = (PFNGLVERTEXATTRIBS3FVNVPROC) func;
- PFNGLGETVERTEXATTRIBFVNVPROC getVertexAttribfvNV = (PFNGLGETVERTEXATTRIBFVNVPROC) glXGetProcAddressARB((const GLubyte *) "glGetVertexAttribfvNV");
-
- const GLfloat v[4] = {2.5, 4.25, 7.125, 1.0};
- const GLfloat def[4] = {0, 0, 0, 1};
- GLfloat res[4];
- (*vertexAttribs3fvNV)(6, 1, v);
- (*getVertexAttribfvNV)(6, GL_CURRENT_ATTRIB_NV, res);
- (*vertexAttribs3fvNV)(6, 1, def);
- return compare_floats(__FUNCTION__, 4, v, 4, res);
-}
-
-static GLboolean
-test_VertexAttribs3dvNV(generic_func func)
-{
- PFNGLVERTEXATTRIBS3DVNVPROC vertexAttribs3dvNV = (PFNGLVERTEXATTRIBS3DVNVPROC) func;
- PFNGLGETVERTEXATTRIBDVNVPROC getVertexAttribdvNV = (PFNGLGETVERTEXATTRIBDVNVPROC) glXGetProcAddressARB((const GLubyte *) "glGetVertexAttribdvNV");
-
- const GLdouble v[4] = {2.5, 4.25, 7.125, 1.0};
- const GLdouble def[4] = {0, 0, 0, 1};
- GLdouble res[4];
- (*vertexAttribs3dvNV)(6, 1, v);
- (*getVertexAttribdvNV)(6, GL_CURRENT_ATTRIB_NV, res);
- (*vertexAttribs3dvNV)(6, 1, def);
- return compare_doubles(__FUNCTION__, 4, v, 4, res);
-}
-
-static GLboolean
-test_VertexAttribs4svNV(generic_func func)
-{
- PFNGLVERTEXATTRIBS4SVNVPROC vertexAttribs4svNV = (PFNGLVERTEXATTRIBS4SVNVPROC) func;
- PFNGLGETVERTEXATTRIBIVNVPROC getVertexAttribivNV = (PFNGLGETVERTEXATTRIBIVNVPROC) glXGetProcAddressARB((const GLubyte *) "glGetVertexAttribivNV");
-
- const GLshort v[4] = {2, 4, 7, 5};
- const GLshort def[4] = {0, 0, 0, 1};
- GLint res[4];
- (*vertexAttribs4svNV)(6, 1, v);
- (*getVertexAttribivNV)(6, GL_CURRENT_ATTRIB_NV, res);
- (*vertexAttribs4svNV)(6, 1, def);
- return compare_shorts_to_ints(__FUNCTION__, 4, v, 4, res);
-}
-
-static GLboolean
-test_VertexAttribs4fvNV(generic_func func)
-{
- PFNGLVERTEXATTRIBS4FVNVPROC vertexAttribs4fvNV = (PFNGLVERTEXATTRIBS4FVNVPROC) func;
- PFNGLGETVERTEXATTRIBFVNVPROC getVertexAttribfvNV = (PFNGLGETVERTEXATTRIBFVNVPROC) glXGetProcAddressARB((const GLubyte *) "glGetVertexAttribfvNV");
-
- const GLfloat v[4] = {2.5, 4.25, 7.125, 5.0625};
- const GLfloat def[4] = {0, 0, 0, 1};
- GLfloat res[4];
- (*vertexAttribs4fvNV)(6, 1, v);
- (*getVertexAttribfvNV)(6, GL_CURRENT_ATTRIB_NV, res);
- (*vertexAttribs4fvNV)(6, 1, def);
- return compare_floats(__FUNCTION__, 4, v, 4, res);
-}
-
-static GLboolean
-test_VertexAttribs4dvNV(generic_func func)
-{
- PFNGLVERTEXATTRIBS4DVNVPROC vertexAttribs4dvNV = (PFNGLVERTEXATTRIBS4DVNVPROC) func;
- PFNGLGETVERTEXATTRIBDVNVPROC getVertexAttribdvNV = (PFNGLGETVERTEXATTRIBDVNVPROC) glXGetProcAddressARB((const GLubyte *) "glGetVertexAttribdvNV");
-
- const GLdouble v[4] = {2.5, 4.25, 7.125, 5.0625};
- const GLdouble def[4] = {0, 0, 0, 1};
- GLdouble res[4];
- (*vertexAttribs4dvNV)(6, 1, v);
- (*getVertexAttribdvNV)(6, GL_CURRENT_ATTRIB_NV, res);
- (*vertexAttribs4dvNV)(6, 1, def);
- return compare_doubles(__FUNCTION__, 4, v, 4, res);
-}
-
-static GLboolean
-test_VertexAttribs4ubvNV(generic_func func)
-{
- PFNGLVERTEXATTRIBS4UBVNVPROC vertexAttribs4ubvNV = (PFNGLVERTEXATTRIBS4UBVNVPROC) func;
- PFNGLGETVERTEXATTRIBFVNVPROC getVertexAttribfvNV = (PFNGLGETVERTEXATTRIBFVNVPROC) glXGetProcAddressARB((const GLubyte *) "glGetVertexAttribfvNV");
-
- const GLubyte v[4] = {255, 0, 255, 0};
- const GLubyte def[4] = {0, 0, 0, 255};
- GLfloat res[4];
- /* There's no byte-value query; so we use the float-value query.
- * Bytes are interpreted as steps between 0 and 1, so the
- * expected float values will be 0.0 for byte value 0 and 1.0 for
- * byte value 255.
- */
- GLfloat expectedResults[4] = {1.0, 0.0, 1.0, 0.0};
- (*vertexAttribs4ubvNV)(6, 1, v);
- (*getVertexAttribfvNV)(6, GL_CURRENT_ATTRIB_NV, res);
- (*vertexAttribs4ubvNV)(6, 1, def);
- return compare_floats(__FUNCTION__, 4, expectedResults, 4, res);
-}
-
-static GLboolean
-test_StencilFuncSeparateATI(generic_func func)
-{
-#ifdef GL_ATI_separate_stencil
- PFNGLSTENCILFUNCSEPARATEATIPROC stencilFuncSeparateATI = (PFNGLSTENCILFUNCSEPARATEATIPROC) func;
- GLint frontFunc, backFunc;
- GLint frontRef, backRef;
- GLint frontMask, backMask;
- (*stencilFuncSeparateATI)(GL_LESS, GL_GREATER, 2, 0xa);
- glGetIntegerv(GL_STENCIL_FUNC, &frontFunc);
- glGetIntegerv(GL_STENCIL_BACK_FUNC, &backFunc);
- glGetIntegerv(GL_STENCIL_REF, &frontRef);
- glGetIntegerv(GL_STENCIL_BACK_REF, &backRef);
- glGetIntegerv(GL_STENCIL_VALUE_MASK, &frontMask);
- glGetIntegerv(GL_STENCIL_BACK_VALUE_MASK, &backMask);
- if (frontFunc != GL_LESS ||
- backFunc != GL_GREATER ||
- frontRef != 2 ||
- backRef != 2 ||
- frontMask != 0xa ||
- backMask != 0xa)
- return GL_FALSE;
-#endif
- return GL_TRUE;
-}
-
-static GLboolean
-test_StencilFuncSeparate(generic_func func)
-{
-#ifdef GL_VERSION_2_0
- PFNGLSTENCILFUNCSEPARATEPROC stencilFuncSeparate = (PFNGLSTENCILFUNCSEPARATEPROC) func;
- GLint frontFunc, backFunc;
- GLint frontRef, backRef;
- GLint frontMask, backMask;
- (*stencilFuncSeparate)(GL_BACK, GL_GREATER, 2, 0xa);
- glGetIntegerv(GL_STENCIL_FUNC, &frontFunc);
- glGetIntegerv(GL_STENCIL_BACK_FUNC, &backFunc);
- glGetIntegerv(GL_STENCIL_REF, &frontRef);
- glGetIntegerv(GL_STENCIL_BACK_REF, &backRef);
- glGetIntegerv(GL_STENCIL_VALUE_MASK, &frontMask);
- glGetIntegerv(GL_STENCIL_BACK_VALUE_MASK, &backMask);
- if (frontFunc != GL_ALWAYS ||
- backFunc != GL_GREATER ||
- frontRef != 0 ||
- backRef != 2 ||
- frontMask == 0xa || /* might be 0xff or ~0 */
- backMask != 0xa)
- return GL_FALSE;
-#endif
- return GL_TRUE;
-}
-
-static GLboolean
-test_StencilOpSeparate(generic_func func)
-{
-#ifdef GL_VERSION_2_0
- PFNGLSTENCILOPSEPARATEPROC stencilOpSeparate = (PFNGLSTENCILOPSEPARATEPROC) func;
- GLint frontFail, backFail;
- GLint frontZFail, backZFail;
- GLint frontZPass, backZPass;
- (*stencilOpSeparate)(GL_BACK, GL_INCR, GL_DECR, GL_INVERT);
- glGetIntegerv(GL_STENCIL_FAIL, &frontFail);
- glGetIntegerv(GL_STENCIL_BACK_FAIL, &backFail);
- glGetIntegerv(GL_STENCIL_PASS_DEPTH_FAIL, &frontZFail);
- glGetIntegerv(GL_STENCIL_BACK_PASS_DEPTH_FAIL, &backZFail);
- glGetIntegerv(GL_STENCIL_PASS_DEPTH_PASS, &frontZPass);
- glGetIntegerv(GL_STENCIL_BACK_PASS_DEPTH_PASS, &backZPass);
- if (frontFail != GL_KEEP ||
- backFail != GL_INCR ||
- frontZFail != GL_KEEP ||
- backZFail != GL_DECR ||
- frontZPass != GL_KEEP ||
- backZPass != GL_INVERT)
- return GL_FALSE;
-#endif
- return GL_TRUE;
-}
-
-static GLboolean
-test_StencilMaskSeparate(generic_func func)
-{
-#ifdef GL_VERSION_2_0
- PFNGLSTENCILMASKSEPARATEPROC stencilMaskSeparate = (PFNGLSTENCILMASKSEPARATEPROC) func;
- GLint frontMask, backMask;
- (*stencilMaskSeparate)(GL_BACK, 0x1b);
- glGetIntegerv(GL_STENCIL_WRITEMASK, &frontMask);
- glGetIntegerv(GL_STENCIL_BACK_WRITEMASK, &backMask);
- if (frontMask == 0x1b ||
- backMask != 0x1b)
- return GL_FALSE;
-#endif
- return GL_TRUE;
-}
-
-
-/*
- * The following file is auto-generated with Python.
- */
-#include "getproclist.h"
-
-
-
-static int
-extension_supported(const char *haystack, const char *needle)
-{
- const char *p = strstr(haystack, needle);
- if (p) {
- /* found string, make sure next char is space or zero */
- const int len = strlen(needle);
- if (p[len] == ' ' || p[len] == 0)
- return 1;
- else
- return 0;
- }
- else
- return 0;
-}
-
-
-/* Run all the known extension function tests, if the extension is supported.
- * Return a count of how many failed.
- */
-static int
-check_functions( const char *extensions )
-{
- struct name_test_pair *entry;
- int failures = 0, passes = 0, untested = 0;
- int totalFail = 0, totalPass = 0, totalUntested = 0, totalUnsupported = 0;
- int doTests = 0;
- const char *version = (const char *) glGetString(GL_VERSION);
-
- /* The functions list will have "real" entries (consisting of
- * a GL function name and a pointer to an exercise function for
- * that GL function), and "group" entries (indicated as
- * such by having a "-" as the first character of the name).
- * "Group" names always start with the "-" character, and can
- * be numeric (e.g. "-1.0", "-2.1"), indicating that a particular
- * OpenGL version is required for the following functions; or can be
- * an extension name (e.g. "-GL_ARB_multitexture") that means
- * that the named extension is required for the following functions.
- */
- for (entry = functions; entry->name; entry++) {
- /* Check if this is a group indicator */
- if (entry->name[0] == '-') {
- /* A group indicator; check if it's an OpenGL version group */
- if (entry->name[1] == '1') {
- /* check GL version 1.x */
- if (version[0] == '1' &&
- version[1] == '.' &&
- version[2] >= entry->name[3])
- doTests = 1;
- else
- doTests = 0;
- }
- else if (entry->name[1] == '2') {
- if (version[0] == '2' &&
- version[1] == '.' &&
- version[2] >= entry->name[3])
- doTests = 1;
- else
- doTests = 0;
- }
- else {
- /* check if the named extension is available */
- doTests = extension_supported(extensions, entry->name+1);
- }
-
- /* doTests is now set if we're starting an OpenGL version
- * group, and the running OpenGL version is at least the
- * version required; or if we're starting an OpenGL extension
- * group, and the extension is supported.
- */
- if (doTests)
- printf("Testing %s functions\n", entry->name + 1);
-
- /* Each time we hit a title function, reset the function
- * counts.
- */
- failures = 0;
- passes = 0;
- untested = 0;
- }
- else if (doTests) {
- /* Here, we know we're trying to exercise a function for
- * a supported extension. See whether we have a test for
- * it, and try to run it.
- */
- generic_func funcPtr = (generic_func) glXGetProcAddressARB((const GLubyte *) entry->name);
- if (funcPtr) {
- if (entry->test) {
- GLboolean b;
- printf(" Validating %s:", entry->name);
- b = (*entry->test)(funcPtr);
- if (b) {
- printf(" Pass\n");
- passes++;
- totalPass++;
- }
- else {
- printf(" FAIL!!!\n");
- failures++;
- totalFail++;
- }
- }
- else {
- untested++;
- totalUntested++;
- }
- }
- else {
- printf(" glXGetProcAddress(%s) failed!\n", entry->name);
- failures++;
- totalFail++;
- }
- }
- else {
- /* Here, we have a function that belongs to a group that
- * is known to be unsupported.
- */
- totalUnsupported++;
- }
-
- /* Make sure a poor test case doesn't leave any lingering
- * OpenGL errors.
- */
- CheckGLError(__LINE__, __FILE__, __FUNCTION__);
-
- if (doTests && (!(entry+1)->name || (entry+1)->name[0] == '-')) {
- if (failures > 0) {
- printf(" %d failed.\n", failures);
- }
- if (passes > 0) {
- printf(" %d passed.\n", passes);
- }
- if (untested > 0) {
- printf(" %d untested.\n", untested);
- }
- }
- }
-
- printf("-----------------------------\n");
- printf("Total: %d pass %d fail %d untested %d unsupported %d total\n",
- totalPass, totalFail, totalUntested, totalUnsupported,
- totalPass + totalFail + totalUntested + totalUnsupported);
-
- return totalFail;
-}
-
-
-/* Return an error code */
-#define ERROR_NONE 0
-#define ERROR_NO_VISUAL 1
-#define ERROR_NO_CONTEXT 2
-#define ERROR_NO_MAKECURRENT 3
-#define ERROR_FAILED 4
-
-static int
-print_screen_info(Display *dpy, int scrnum, Bool allowDirect)
-{
- Window win;
- int attribSingle[] = {
- GLX_RGBA,
- GLX_RED_SIZE, 1,
- GLX_GREEN_SIZE, 1,
- GLX_BLUE_SIZE, 1,
- GLX_STENCIL_SIZE, 1,
- None };
- int attribDouble[] = {
- GLX_RGBA,
- GLX_RED_SIZE, 1,
- GLX_GREEN_SIZE, 1,
- GLX_BLUE_SIZE, 1,
- GLX_STENCIL_SIZE, 1,
- GLX_DOUBLEBUFFER,
- None };
-
- XSetWindowAttributes attr;
- unsigned long mask;
- Window root;
- GLXContext ctx;
- XVisualInfo *visinfo;
- int width = 100, height = 100;
- int failures;
-
- root = RootWindow(dpy, scrnum);
-
- visinfo = glXChooseVisual(dpy, scrnum, attribSingle);
- if (!visinfo) {
- visinfo = glXChooseVisual(dpy, scrnum, attribDouble);
- if (!visinfo) {
- fprintf(stderr, "Error: couldn't find RGB GLX visual\n");
- return ERROR_NO_VISUAL;
- }
- }
-
- attr.background_pixel = 0;
- attr.border_pixel = 0;
- attr.colormap = XCreateColormap(dpy, root, visinfo->visual, AllocNone);
- attr.event_mask = StructureNotifyMask | ExposureMask;
- mask = CWBackPixel | CWBorderPixel | CWColormap | CWEventMask;
- win = XCreateWindow(dpy, root, 0, 0, width, height,
- 0, visinfo->depth, InputOutput,
- visinfo->visual, mask, &attr);
-
- ctx = glXCreateContext( dpy, visinfo, NULL, allowDirect );
- if (!ctx) {
- fprintf(stderr, "Error: glXCreateContext failed\n");
- XDestroyWindow(dpy, win);
- return ERROR_NO_CONTEXT;
- }
-
- if (!glXMakeCurrent(dpy, win, ctx)) {
- fprintf(stderr, "Error: glXMakeCurrent failed\n");
- glXDestroyContext(dpy, ctx);
- XDestroyWindow(dpy, win);
- return ERROR_NO_MAKECURRENT;
- }
-
- failures = check_functions( (const char *) glGetString(GL_EXTENSIONS) );
- glXDestroyContext(dpy, ctx);
- XDestroyWindow(dpy, win);
-
- return (failures == 0 ? ERROR_NONE : ERROR_FAILED);
-}
-
-int
-main(int argc, char *argv[])
-{
- char *displayName = NULL;
- Display *dpy;
- int returnCode;
-
- dpy = XOpenDisplay(displayName);
- if (!dpy) {
- fprintf(stderr, "Error: unable to open display %s\n", displayName);
- return -1;
- }
-
- returnCode = print_screen_info(dpy, 0, GL_TRUE);
-
- XCloseDisplay(dpy);
-
- return returnCode;
-}
diff --git a/progs/tests/getprocaddress.py b/progs/tests/getprocaddress.py
deleted file mode 100644
index 699195bd48..0000000000
--- a/progs/tests/getprocaddress.py
+++ /dev/null
@@ -1,92 +0,0 @@
-#!/usr/bin/env python
-
-
-# Helper for the getprocaddress.c test.
-
-import sys, getopt, re
-sys.path.append("../../src/mesa/glapi/" )
-import gl_XML
-import license
-
-
-def FindTestFunctions():
- """Scan getprocaddress.c for lines that start with "test_" to find
- extension function tests. Return a list of names found."""
- functions = []
- f = open("getprocaddress.c")
- if not f:
- return functions
- for line in f.readlines():
- v = re.search("^test_([a-zA-Z0-9]+)", line)
- if v:
- func = v.group(1)
- functions.append(func)
- f.close
- return functions
-
-
-class PrintExports(gl_XML.gl_print_base):
- def __init__(self):
- gl_XML.gl_print_base.__init__(self)
-
- self.name = "getprocaddress.py (from Mesa)"
- self.license = license.bsd_license_template % ( \
-"""Copyright (C) 1999-2001 Brian Paul All Rights Reserved.
-(C) Copyright IBM Corporation 2004""", "BRIAN PAUL, IBM")
-
- self.tests = FindTestFunctions()
- self.prevCategory = ""
- return
-
-
- def printRealHeader(self):
- print """
-struct name_test_pair {
- const char *name;
- GLboolean (*test)(generic_func);
-};
-
-static struct name_test_pair functions[] = {"""
-
- def printBody(self, api):
- prev_category = None
-
-
- for f in api.functionIterateByCategory():
- [category, num] = api.get_category_for_name( f.name )
- if category != prev_category:
- print ' { "-%s", NULL},' % category
- prev_category = category
-
- test = "NULL"
- for name in f.entry_points:
- if name in self.tests:
- test = "test_%s" % name
- break
-
- print ' { "gl%s", %s },' % (f.name, test)
-
- print ''
- print ' { NULL, NULL }'
- print '};'
- print ''
- return
-
-
-if __name__ == '__main__':
- file_name = "../../src/mesa/glapi/gl_API.xml"
-
- try:
- (args, trail) = getopt.getopt(sys.argv[1:], "f:")
- except Exception,e:
- show_usage()
-
- for (arg,val) in args:
- if arg == "-f":
- file_name = val
-
- printer = PrintExports()
-
- api = gl_XML.parse_GL_API( file_name, gl_XML.gl_item_factory() )
-
- printer.Print( api )
diff --git a/progs/tests/getteximage.c b/progs/tests/getteximage.c
deleted file mode 100644
index e4053b8de1..0000000000
--- a/progs/tests/getteximage.c
+++ /dev/null
@@ -1,273 +0,0 @@
-/**
- * Test glGetTexImage()
- * Brian Paul
- * 9 June 2009
- */
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-static int Win;
-
-
-static void
-TestGetTexImage(GLboolean npot)
-{
- GLuint iter;
- GLubyte *data = (GLubyte *) malloc(1024 * 1024 * 4);
- GLubyte *data2 = (GLubyte *) malloc(1024 * 1024 * 4);
-
- glEnable(GL_TEXTURE_2D);
-
- printf("glTexImage2D + glGetTexImage:\n");
-
- for (iter = 0; iter < 8; iter++) {
- GLint p = (iter % 8) + 3;
- GLint w = npot ? (p * 20) : (1 << p);
- GLint h = npot ? (p * 10) : (1 << p);
- GLuint i;
- GLint level = 0;
-
- printf(" Testing %d x %d tex image\n", w, h);
-
- /* fill data */
- for (i = 0; i < w * h * 4; i++) {
- data[i] = i & 0xff;
- data2[i] = 0;
- }
-
- glTexImage2D(GL_TEXTURE_2D, level, GL_RGBA, w, h, 0,
- GL_RGBA, GL_UNSIGNED_BYTE, data);
-
- glBegin(GL_POINTS);
- glVertex2f(0, 0);
- glEnd();
-
- /* get */
- glGetTexImage(GL_TEXTURE_2D, level, GL_RGBA, GL_UNSIGNED_BYTE, data2);
-
- /* compare */
- for (i = 0; i < w * h * 4; i++) {
- if (data2[i] != data[i]) {
- printf("glTexImage + glGetTexImage failure!\n");
- printf("Expected value %d, found %d\n", data[i], data2[i]);
- abort();
- }
- }
-
- /* get as BGRA */
- glGetTexImage(GL_TEXTURE_2D, level, GL_BGRA, GL_UNSIGNED_BYTE, data2);
-
- /* compare */
- {
- const GLubyte *rgba = (GLubyte *) data;
- const GLubyte *bgra = (GLubyte *) data2;
- for (i = 0; i < w * h; i += 4) {
- if (rgba[i+0] != bgra[i+2] ||
- rgba[i+1] != bgra[i+1] ||
- rgba[i+2] != bgra[i+0] ||
- rgba[i+3] != bgra[i+3]) {
- printf("glTexImage + glGetTexImage(GL_BGRA) failure!\n");
- printf("Expected value %d, found %d\n", data[i], data2[i]);
- abort();
- }
- }
- }
-
- }
-
- printf("Passed\n");
- glDisable(GL_TEXTURE_2D);
- free(data);
- free(data2);
-}
-
-
-static GLboolean
-ColorsEqual(const GLubyte ref[4], const GLubyte act[4])
-{
- if (abs((int) ref[0] - (int) act[0]) > 1 ||
- abs((int) ref[1] - (int) act[1]) > 1 ||
- abs((int) ref[2] - (int) act[2]) > 1 ||
- abs((int) ref[3] - (int) act[3]) > 1) {
- printf("expected %d %d %d %d\n", ref[0], ref[1], ref[2], ref[3]);
- printf("found %d %d %d %d\n", act[0], act[1], act[2], act[3]);
- return GL_FALSE;
- }
- return GL_TRUE;
-}
-
-
-static void
-TestGetTexImageRTT(GLboolean npot)
-{
- GLuint iter;
-
- printf("Render to texture + glGetTexImage:\n");
-
- for (iter = 0; iter < 8; iter++) {
-
- GLuint fb, tex;
- GLint w, h;
- GLint level = 0;
-
- if (npot) {
- w = 200 + iter * 40;
- h = 200 + iter * 12;
- }
- else {
- w = 4 << iter;
- h = 4 << iter;
- }
-
- glGenTextures(1, &tex);
- glGenFramebuffersEXT(1, &fb);
-
- glBindTexture(GL_TEXTURE_2D, tex);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, w, h, 0,
- GL_RGBA, GL_UNSIGNED_BYTE, NULL);
-
- glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, fb);
- glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT,
- GL_TEXTURE_2D, tex, level);
-
- glViewport(0, 0, w, h);
-
- printf(" Testing %d x %d tex image\n", w, h);
- {
- static const GLubyte blue[4] = {0, 0, 255, 255};
- GLubyte color[4];
- GLubyte *data2 = (GLubyte *) malloc(w * h * 4);
- GLuint i;
-
- /* random clear color */
- for (i = 0; i < 4; i++) {
- color[i] = rand() % 256;
- }
-
- glClearColor(color[0] / 255.0,
- color[1] / 255.0,
- color[2] / 255.0,
- color[3] / 255.0);
-
- glClear(GL_COLOR_BUFFER_BIT);
-
- /* draw polygon over top half, in blue */
- glColor4ubv(blue);
- glRectf(0, 0.5, 1.0, 1.0);
-
- /* get */
- glGetTexImage(GL_TEXTURE_2D, level, GL_RGBA, GL_UNSIGNED_BYTE, data2);
-
- /* compare */
- for (i = 0; i < w * h; i += 4) {
- if (i < w * h / 2) {
- /* lower half */
- if (!ColorsEqual(color, data2 + i * 4)) {
- printf("Render to texture failure (expected clear color)!\n");
- abort();
- }
- }
- else {
- /* upper half */
- if (!ColorsEqual(blue, data2 + i * 4)) {
- printf("Render to texture failure (expected blue)!\n");
- abort();
- }
- }
- }
-
- free(data2);
- }
-
- glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
- glDeleteFramebuffersEXT(1, &fb);
- glDeleteTextures(1, &tex);
-
- }
-
- printf("Passed\n");
-}
-
-
-
-
-static void
-Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
- TestGetTexImage(GL_FALSE);
- if (glutExtensionSupported("GL_ARB_texture_non_power_of_two"))
- TestGetTexImage(GL_TRUE);
-
- if (glutExtensionSupported("GL_EXT_framebuffer_object") ||
- glutExtensionSupported("GL_ARB_framebuffer_object")) {
- TestGetTexImageRTT(GL_FALSE);
- if (glutExtensionSupported("GL_ARB_texture_non_power_of_two"))
- TestGetTexImageRTT(GL_TRUE);
- }
-
- glutDestroyWindow(Win);
- exit(0);
-
- glutSwapBuffers();
-}
-
-
-static void
-Reshape(int width, int height)
-{
- glViewport(0, 0, width, height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(0, 1, 0, 1, -1, 1);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef(0.0, 0.0, 0.0);
-}
-
-
-static void
-Key(unsigned char key, int x, int y)
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- glutDestroyWindow(Win);
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void
-Init(void)
-{
-}
-
-
-int
-main(int argc, char *argv[])
-{
- glutInit(&argc, argv);
- glutInitWindowPosition(0, 0);
- glutInitWindowSize(400, 400);
- glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
- Win = glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/glutfx.c b/progs/tests/glutfx.c
deleted file mode 100644
index 8bf5582389..0000000000
--- a/progs/tests/glutfx.c
+++ /dev/null
@@ -1,189 +0,0 @@
-
-/*
- * Example of how one might use GLUT with the 3Dfx driver in full-screen mode.
- * Note: this only works with X since we're using Mesa's GLX "hack" for
- * using Glide.
- *
- * Goals:
- * easy setup and input event handling with GLUT
- * use 3Dfx hardware
- * automatically set MESA environment variables
- * don't lose mouse input focus
- *
- * Brian Paul This file is in the public domain.
- */
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glut.h>
-
-
-#define WIDTH 640
-#define HEIGHT 480
-
-
-static int Window = 0;
-static int ScreenWidth, ScreenHeight;
-static GLuint Torus = 0;
-static GLfloat Xrot = 0.0, Yrot = 0.0;
-
-
-
-static void Display( void )
-{
- static GLfloat blue[4] = {0.2, 0.2, 1.0, 1.0};
- static GLfloat red[4] = {1.0, 0.2, 0.2, 1.0};
- static GLfloat green[4] = {0.2, 1.0, 0.2, 1.0};
-
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
-
- glPushMatrix();
- glRotatef(Xrot, 1, 0, 0);
- glRotatef(Yrot, 0, 1, 0);
-
- glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE, blue);
- glCallList(Torus);
-
- glRotatef(90.0, 1, 0, 0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE, red);
- glCallList(Torus);
-
- glRotatef(90.0, 0, 1, 0);
- glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE, green);
- glCallList(Torus);
-
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- float ratio = (float) width / (float) height;
-
- ScreenWidth = width;
- ScreenHeight = height;
-
- /*
- * The 3Dfx driver is limited to 640 x 480 but the X window may be larger.
- * Enforce that here.
- */
- if (width > WIDTH)
- width = WIDTH;
- if (height > HEIGHT)
- height = HEIGHT;
-
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -ratio, ratio, -1.0, 1.0, 5.0, 30.0 );
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -20.0 );
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- glutDestroyWindow(Window);
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void SpecialKey( int key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case GLUT_KEY_UP:
- break;
- case GLUT_KEY_DOWN:
- break;
- case GLUT_KEY_LEFT:
- break;
- case GLUT_KEY_RIGHT:
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void MouseMove( int x, int y )
-{
- Xrot = y - ScreenWidth / 2;
- Yrot = x - ScreenHeight / 2;
- glutPostRedisplay();
-}
-
-
-static void Init( void )
-{
- Torus = glGenLists(1);
- glNewList(Torus, GL_COMPILE);
- glutSolidTorus(0.5, 2.0, 10, 20);
- glEndList();
-
- glEnable(GL_LIGHTING);
- glEnable(GL_LIGHT0);
-
- glEnable(GL_DEPTH_TEST);
- glEnable(GL_CULL_FACE);
-}
-
-
-int main( int argc, char *argv[] )
-{
-#ifndef _WIN32
- printf("NOTE: if you've got 3Dfx VooDoo hardware you must run this");
- printf(" program as root.\n\n");
- printf("Move the mouse. Press ESC to exit.\n\n");
-#endif
-
- /* Tell Mesa GLX to use 3Dfx driver in fullscreen mode. */
- putenv("MESA_GLX_FX=fullscreen");
-
- /* Disable 3Dfx Glide splash screen */
- putenv("FX_GLIDE_NO_SPLASH=");
-
- /* Give an initial size and position so user doesn't have to place window */
- glutInitWindowPosition(0, 0);
- glutInitWindowSize(WIDTH, HEIGHT);
- glutInit( &argc, argv );
-
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH );
-
- Window = glutCreateWindow(argv[0]);
- if (!Window) {
- printf("Error, couldn't open window\n");
- exit(1);
- }
-
- /*
- * Want the X window to fill the screen so that we don't have to
- * worry about losing the mouse input focus.
- * Note that we won't actually see the X window since we never draw
- * to it, hence, the original X screen's contents aren't disturbed.
- */
- glutFullScreen();
-
- Init();
-
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutSpecialFunc( SpecialKey );
- glutDisplayFunc( Display );
- glutPassiveMotionFunc( MouseMove );
-
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/interleave.c b/progs/tests/interleave.c
deleted file mode 100644
index acf67d02c1..0000000000
--- a/progs/tests/interleave.c
+++ /dev/null
@@ -1,408 +0,0 @@
-/*
- * (C) Copyright IBM Corporation 2005
- * 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
- * on the rights to use, copy, modify, merge, publish, distribute, sub
- * license, 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 (including the next
- * paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
- * VA LINUX SYSTEM, IBM AND/OR THEIR SUPPLIERS 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.
- */
-
-/**
- * \file interleave.c
- *
- * Simple test of glInterleavedArrays functionality. For each mode, two
- * meshes are drawn. One is drawn using interleaved arrays and the othe is
- * drawn using immediate mode. Both should look identical.
- *
- * \author Ian Romanick <idr@us.ibm.com>
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <time.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-static int Width = 400;
-static int Height = 300;
-static const GLfloat Near = 5.0, Far = 25.0;
-
-static const GLfloat t[][4] = {
- { 0.5, 0.0, 0.0, 1.0 },
-
- { 0.25, 0.5, 0.0, 1.0 },
- { 0.75, 0.5, 0.0, 1.0 },
-
- { 0.0, 1.0, 0.0, 1.0 },
- { 0.5, 1.0, 0.0, 1.0 },
- { 1.0, 1.0, 0.0, 1.0 },
-};
-
-static const GLfloat c_f[][4] = {
- { 1.0, 0.0, 0.0, 1.0 },
-
- { 0.0, 1.0, 0.0, 1.0 },
- { 0.0, 1.0, 0.0, 1.0 },
-
- { 0.0, 0.0, 1.0, 1.0 },
- { 1.0, 0.0, 1.0, 1.0 },
- { 0.0, 0.0, 1.0, 1.0 },
-};
-
-static const GLubyte c_ub[][4] = {
- { 0xff, 0x00, 0x00, 0xff },
-
- { 0x00, 0xff, 0x00, 0xff },
- { 0x00, 0xff, 0x00, 0xff },
-
- { 0x00, 0x00, 0xff, 0xff },
- { 0xff, 0x00, 0xff, 0xff },
- { 0x00, 0x00, 0xff, 0xff },
-};
-
-static const GLfloat n[][3] = {
- { 0.0, 0.0, -1.0 },
-
- { 0.0, 0.0, -1.0 },
- { 0.0, 0.0, -1.0 },
-
- { 0.0, 0.0, -1.0 },
- { 0.0, 0.0, -1.0 },
- { 0.0, 0.0, -1.0 },
-};
-
-static const GLfloat v[][4] = {
- { 0.0, 1.0, 0.0, 1.0, },
-
- { -0.5, 0.0, 0.0, 1.0, },
- { 0.5, 0.0, 0.0, 1.0, },
-
- { -1.0, -1.0, 0.0, 1.0, },
- { 0.0, -1.0, 0.0, 1.0, },
- { 1.0, -1.0, 0.0, 1.0, },
-};
-
-static const unsigned indicies[12] = {
- 0, 1, 2,
- 1, 3, 4,
- 2, 4, 5,
- 1, 4, 2
-};
-
-#define NONE { NULL, 0, 0, 0, sizeof( NULL ) }
-#define V2F { v, 2, 2 * sizeof( GLfloat ), GL_FLOAT, sizeof( v[0] ) }
-#define V3F { v, 3, 3 * sizeof( GLfloat ), GL_FLOAT, sizeof( v[0] ) }
-#define V4F { v, 4, 4 * sizeof( GLfloat ), GL_FLOAT, sizeof( v[0] ) }
-
-#define C4UB { c_ub, 4, 4 * sizeof( GLubyte ), GL_UNSIGNED_BYTE, sizeof( c_ub[0] ) }
-#define C3F { c_f, 3, 3 * sizeof( GLfloat ), GL_FLOAT, sizeof( c_f[0] ) }
-#define C4F { c_f, 4, 4 * sizeof( GLfloat ), GL_FLOAT, sizeof( c_f[0] ) }
-
-#define T2F { t, 2, 2 * sizeof( GLfloat ), GL_FLOAT, sizeof( t[0] ) }
-#define T4F { t, 4, 4 * sizeof( GLfloat ), GL_FLOAT, sizeof( t[0] ) }
-
-#define N3F { n, 3, 3 * sizeof( GLfloat ), GL_FLOAT, sizeof( n[0] ) }
-
-struct interleave_info {
- const void * data;
- unsigned count;
- unsigned size;
- GLenum type;
- unsigned stride;
-};
-
-#define NUM_MODES 14
-#define INVALID_MODE 14
-#define INVALID_STRIDE 15
-
-struct interleave_info info[ NUM_MODES ][4] = {
- { NONE, NONE, NONE, V2F },
- { NONE, NONE, NONE, V3F },
- { NONE, C4UB, NONE, V2F },
- { NONE, C4UB, NONE, V3F },
- { NONE, C3F, NONE, V3F },
-
- { NONE, NONE, N3F, V3F },
- { NONE, C4F, N3F, V3F },
-
- { T2F, NONE, NONE, V3F },
- { T4F, NONE, NONE, V4F },
-
- { T2F, C4UB, NONE, V3F },
- { T2F, C3F, NONE, V3F },
- { T2F, NONE, N3F, V3F },
- { T2F, C4F, N3F, V3F },
- { T4F, C4F, N3F, V4F },
-};
-
-const char * const mode_names[ NUM_MODES ] = {
- "GL_V2F",
- "GL_V3F",
- "GL_C4UB_V2F",
- "GL_C4UB_V3F",
- "GL_C3F_V3F",
- "GL_N3F_V3F",
- "GL_C4F_N3F_V3F",
- "GL_T2F_V3F",
- "GL_T4F_V4F",
- "GL_T2F_C4UB_V3F",
- "GL_T2F_C3F_V3F",
- "GL_T2F_N3F_V3F",
- "GL_T2F_C4F_N3F_V3F",
- "GL_T4F_C4F_N3F_V4F",
-};
-
-static unsigned interleave_mode = 0;
-static GLboolean use_invalid_mode = GL_FALSE;
-static GLboolean use_invalid_stride = GL_FALSE;
-
-#define DEREF(item,idx) (void *) & ((char *)curr_info[item].data)[idx * curr_info[item].stride]
-
-static void Display( void )
-{
- const struct interleave_info * const curr_info = info[ interleave_mode ];
-
- /* 4 floats for 12 verticies for 4 data elements.
- */
- char data[ (sizeof( GLfloat ) * 4) * 12 * 4 ];
-
- unsigned i;
- unsigned offset;
- GLenum err;
- GLenum format;
- GLsizei stride;
-
-
- glClearColor(0.2, 0.2, 0.8, 0);
- glClear( GL_COLOR_BUFFER_BIT );
-
- glPushMatrix();
-
- glTranslatef(-1.5, 0, 0);
-
- glColor3fv( c_f[0] );
-
- if ( curr_info[0].data != NULL ) {
- glEnable( GL_TEXTURE_2D );
- }
- else {
- glDisable( GL_TEXTURE_2D );
- }
-
-
- offset = 0;
- glBegin(GL_TRIANGLES);
- for ( i = 0 ; i < 12 ; i++ ) {
- const unsigned index = indicies[i];
-
-
- /* Handle the vertex texture coordinate.
- */
- if ( curr_info[0].data != NULL ) {
- if ( curr_info[0].count == 2 ) {
- glTexCoord2fv( DEREF(0, index) );
- }
- else {
- glTexCoord4fv( DEREF(0, index) );
- }
-
- (void) memcpy( & data[ offset ], DEREF(0, index),
- curr_info[0].size );
- offset += curr_info[0].size;
- }
-
-
- /* Handle the vertex color.
- */
- if ( curr_info[1].data != NULL ) {
- if ( curr_info[1].type == GL_FLOAT ) {
- if ( curr_info[1].count == 3 ) {
- glColor3fv( DEREF(1, index) );
- }
- else {
- glColor4fv( DEREF(1, index) );
- }
- }
- else {
- glColor4ubv( DEREF(1, index) );
- }
-
- (void) memcpy( & data[ offset ], DEREF(1, index),
- curr_info[1].size );
- offset += curr_info[1].size;
- }
-
-
- /* Handle the vertex normal.
- */
- if ( curr_info[2].data != NULL ) {
- glNormal3fv( DEREF(2, index) );
-
- (void) memcpy( & data[ offset ], DEREF(2, index),
- curr_info[2].size );
- offset += curr_info[2].size;
- }
-
-
- switch( curr_info[3].count ) {
- case 2:
- glVertex2fv( DEREF(3, index) );
- break;
- case 3:
- glVertex3fv( DEREF(3, index) );
- break;
- case 4:
- glVertex4fv( DEREF(3, index) );
- break;
- }
-
- (void) memcpy( & data[ offset ], DEREF(3, index),
- curr_info[3].size );
- offset += curr_info[3].size;
- }
- glEnd();
-
-
- glTranslatef(3.0, 0, 0);
-
- /* The masking with ~0x2A00 is a bit of a hack to make sure that format
- * ends up with an invalid value no matter what rand() returns.
- */
- format = (use_invalid_mode)
- ? (rand() & ~0x2A00) : GL_V2F + interleave_mode;
- stride = (use_invalid_stride) ? -abs(rand()) : 0;
-
- (void) glGetError();
- glInterleavedArrays( format, stride, data );
- err = glGetError();
- if ( err ) {
- printf("glInterleavedArrays(0x%04x, %d, %p) generated the error 0x%04x\n",
- format, stride, data, err );
- }
- else {
- glDrawArrays( GL_TRIANGLES, 0, 12 );
- }
-
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- GLfloat ar = (float) width / (float) height;
- Width = width;
- Height = height;
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -ar, ar, -1.0, 1.0, Near, Far );
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -15.0 );
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void ModeMenu( int entry )
-{
- if ( entry == INVALID_MODE ) {
- use_invalid_mode = GL_TRUE;
- use_invalid_stride = GL_FALSE;
- }
- else if ( entry == INVALID_STRIDE ) {
- use_invalid_mode = GL_FALSE;
- use_invalid_stride = GL_TRUE;
- }
- else {
- use_invalid_mode = GL_FALSE;
- use_invalid_stride = GL_FALSE;
- interleave_mode = entry;
- }
-}
-
-static void Init( void )
-{
- const char * const ver_string = (const char * const)
- glGetString( GL_VERSION );
- const GLubyte tex[16] = {
- 0xff, 0x00, 0xff, 0x00,
- 0x00, 0xff, 0x00, 0xff,
- 0xff, 0x00, 0xff, 0x00,
- 0x00, 0xff, 0x00, 0xff,
- };
-
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- printf("GL_VERSION = %s\n", ver_string);
-
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST );
- glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE );
- glTexImage2D( GL_TEXTURE_2D, 0, GL_RGBA, 4, 4, 0,
- GL_LUMINANCE, GL_UNSIGNED_BYTE, tex );
-
- printf("Use the context menu (right click) to select the interleaved array mode.\n");
- printf("Press ESCAPE to exit.\n\n");
- printf("NOTE: This is *NOT* a very good test of the modes that use normals.\n");
-}
-
-
-int main( int argc, char *argv[] )
-{
- unsigned i;
-
- srand( time( NULL ) );
-
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( Width, Height );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE );
- glutCreateWindow( "glInterleavedArrays test" );
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
-
- glutCreateMenu( ModeMenu );
- for ( i = 0 ; i < NUM_MODES ; i++ ) {
- glutAddMenuEntry( mode_names[i], i);
- }
-
- glutAddMenuEntry( "Random invalid mode", INVALID_MODE);
- glutAddMenuEntry( "Random invalid stride", INVALID_STRIDE);
-
- glutAttachMenu(GLUT_RIGHT_BUTTON);
-
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/invert.c b/progs/tests/invert.c
deleted file mode 100644
index 45001b44d0..0000000000
--- a/progs/tests/invert.c
+++ /dev/null
@@ -1,197 +0,0 @@
-/*
- * (C) Copyright IBM Corporation 2005
- * 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
- * on the rights to use, copy, modify, merge, publish, distribute, sub
- * license, 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 (including the next
- * paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
- * VA LINUX SYSTEM, IBM AND/OR THEIR SUPPLIERS 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.
- */
-
-/**
- * \file invert.c
- *
- * Simple test of GL_MESA_pack_invert functionality. Three squares are
- * drawn. The first two should look the same, and the third one should
- * look inverted.
- *
- * \author Ian Romanick <idr@us.ibm.com>
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-#include "readtex.h"
-
-#define IMAGE_FILE "../images/tree3.rgb"
-
-static int Width = 420;
-static int Height = 150;
-static const GLfloat Near = 5.0, Far = 25.0;
-
-static GLubyte * image = NULL;
-static GLubyte * temp_image = NULL;
-static GLuint img_width = 0;
-static GLuint img_height = 0;
-static GLuint img_format = 0;
-
-PFNGLWINDOWPOS2IPROC win_pos_2i = NULL;
-
-
-static void Display( void )
-{
- GLint err;
-
-
- glClearColor(0.2, 0.2, 0.8, 0);
- glClear( GL_COLOR_BUFFER_BIT );
-
-
- /* This is the "reference" square.
- */
-
- (*win_pos_2i)( 5, 5 );
- glDrawPixels( img_width, img_height, img_format, GL_UNSIGNED_BYTE, image );
-
- glPixelStorei( GL_PACK_INVERT_MESA, GL_FALSE );
- err = glGetError();
- if ( err != GL_NO_ERROR ) {
- printf( "Setting PACK_INVERT_MESA to false generated an error (0x%04x).\n",
- err );
- }
-
- glReadPixels( 5, 5, img_width, img_height, img_format, GL_UNSIGNED_BYTE, temp_image );
- (*win_pos_2i)( 5 + 1 * (10 + img_width), 5 );
- glDrawPixels( img_width, img_height, img_format, GL_UNSIGNED_BYTE, temp_image );
-
- glPixelStorei( GL_PACK_INVERT_MESA, GL_TRUE );
- err = glGetError();
- if ( err != GL_NO_ERROR ) {
- printf( "Setting PACK_INVERT_MESA to true generated an error (0x%04x).\n",
- err );
- }
-
- glReadPixels( 5, 5, img_width, img_height, img_format, GL_UNSIGNED_BYTE, temp_image );
- (*win_pos_2i)( 5 + 2 * (10 + img_width), 5 );
- glDrawPixels( img_width, img_height, img_format, GL_UNSIGNED_BYTE, temp_image );
-
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- GLfloat ar = (float) width / (float) height;
- Width = width;
- Height = height;
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -ar, ar, -1.0, 1.0, Near, Far );
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -15.0 );
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void Init( void )
-{
- const char * const ver_string = (const char * const)
- glGetString( GL_VERSION );
- const float ver = strtod( ver_string, NULL );
-
-
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- printf("GL_VERSION = %s\n", ver_string);
-
- if ( !glutExtensionSupported("GL_MESA_pack_invert") ) {
- printf("\nSorry, this program requires GL_MESA_pack_invert.\n");
- exit(1);
- }
-
- if ( ver >= 1.4 ) {
- win_pos_2i = (PFNGLWINDOWPOS2IPROC) glutGetProcAddress( "glWindowPos2i" );
- }
- else if ( glutExtensionSupported("GL_ARB_window_pos") ) {
- win_pos_2i = (PFNGLWINDOWPOS2IPROC) glutGetProcAddress( "glWindowPos2iARB" );
- }
- else if ( glutExtensionSupported("GL_MESA_window_pos") ) {
- win_pos_2i = (PFNGLWINDOWPOS2IPROC) glutGetProcAddress( "glWindowPos2iMESA" );
- }
-
-
- /* Do this check as a separate if-statement instead of as an else in case
- * one of the required extensions is supported but glutGetProcAddress
- * returns NULL.
- */
-
- if ( win_pos_2i == NULL ) {
- printf("\nSorry, this program requires either GL 1.4 (or higher),\n"
- "GL_ARB_window_pos, or GL_MESA_window_pos.\n");
- exit(1);
- }
-
- printf("\nThe left 2 squares should be the same color, and the right\n"
- "square should look upside-down.\n");
-
-
- image = LoadRGBImage( IMAGE_FILE, (GLint *) & img_width, (GLint *) & img_height,
- & img_format );
- if ( image == NULL ) {
- printf( "Could not open image file \"%s\".\n", IMAGE_FILE );
- exit(1);
- }
-
- temp_image = malloc( 3 * img_height * img_width );
- if ( temp_image == NULL ) {
- printf( "Could not allocate memory for temporary image.\n" );
- exit(1);
- }
-}
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( Width, Height );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE );
- glutCreateWindow( "GL_MESA_pack_invert test" );
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/jkrahntest.c b/progs/tests/jkrahntest.c
deleted file mode 100644
index 3fef105fc2..0000000000
--- a/progs/tests/jkrahntest.c
+++ /dev/null
@@ -1,180 +0,0 @@
-
-/* This is a good test for glXSwapBuffers on non-current windows,
- * and the glXCopyContext function. Fixed several Mesa/DRI bugs with
- * this program on 15 June 2002.
- *
- * Joe's comments follow:
- *
- * I have tried some different approaches for being able to
- * draw to multiple windows using one context, or a copied
- * context. Mesa/indirect rendering works to use one context
- * for multiple windows, but crashes with glXCopyContext.
- * DRI is badly broken, at least for ATI.
- *
- * I also noticed that glXMakeCurrent allows a window and context
- * from different visuals to be attached (haven't tested recently).
- *
- * Joe Krahn <jkrahn@nc.rr.com>
- */
-
-#include <GL/glx.h>
-#include <GL/gl.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <math.h>
-
-#ifndef M_PI
-#define M_PI 3.14159
-#endif
-
-#define DEGTOR (M_PI/180.0)
-
-static int AttributeList[] = { GLX_RGBA, GLX_DOUBLEBUFFER, None };
-
-int main(int argc, char **argv)
-{
- Window win1, win2;
- XVisualInfo *vi;
- XSetWindowAttributes swa;
- Display *dpy;
- GLXContext ctx1, ctx2;
- float angle;
- int test;
-
- if (argc < 2) {
- fprintf(stderr, "This program tests GLX context switching.\n");
- fprintf(stderr, "Usage: jkrahntest <n>\n");
- fprintf(stderr, "Where n is:\n");
- fprintf(stderr, "\t1) Use two contexts and swap only when the context is current (typical case).\n");
- fprintf(stderr, "\t2) Use two contexts and swap at the same time.\n");
- fprintf(stderr, "\t\t Used to crash Mesa & nVidia, and DRI artifacts. Seems OK now.\n");
- fprintf(stderr, "\t3) Use one context, but only swap when a context is current.\n");
- fprintf(stderr, "\t\t Serious artifacts for DRI at least with ATI.\n");
- fprintf(stderr, "\t4) Use one context, swap both windows at the same time, so the left\n");
- fprintf(stderr, "\t\t window has no context at swap time. Severe artifacts for DRI.\n");
- fprintf(stderr, "\t5) Use two contexts, copying one to the other when switching windows.\n");
- fprintf(stderr, "\t\t DRI gives an error, indirect rendering crashes server.\n");
-
- exit(1);
- }
- test = atoi(argv[1]);
-
- /* get a connection */
- dpy = XOpenDisplay(NULL);
-
- /* Get an appropriate visual */
- vi = glXChooseVisual(dpy, DefaultScreen(dpy), AttributeList);
- if (vi == 0) {
- fprintf(stderr, "No matching visuals found.\n");
- exit(-1);
- }
-
- /* Create two GLX contexts, with list sharing */
- ctx1 = glXCreateContext(dpy, vi, 0, True);
- ctx2 = glXCreateContext(dpy, vi, ctx1, True);
-
- /* create a colormap */
- swa.colormap = XCreateColormap(dpy, RootWindow(dpy, vi->screen),
- vi->visual, AllocNone);
- swa.border_pixel = 0;
-
- /* Create two windows */
- win1 = XCreateWindow(dpy, RootWindow(dpy, vi->screen),
- 10, 10, 200, 200,
- 0, vi->depth, InputOutput, vi->visual,
- CWBorderPixel | CWColormap, &swa);
- XStoreName(dpy, win1, "Test [L]");
- XMapWindow(dpy, win1);
- XMoveWindow(dpy, win1, 10, 10); /* Initial requested x,y may not be honored */
- {
- XSizeHints sizehints;
- static const char *name = "window";
- sizehints.x = 10;
- sizehints.y = 10;
- sizehints.width = 200;
- sizehints.height = 200;
- sizehints.flags = USSize | USPosition;
- XSetNormalHints(dpy, win1, &sizehints);
- XSetStandardProperties(dpy, win1, name, name,
- None, (char **)NULL, 0, &sizehints);
- }
-
-
- win2 = XCreateWindow(dpy, RootWindow(dpy, vi->screen),
- 250, 10, 200, 200,
- 0, vi->depth, InputOutput, vi->visual,
- CWBorderPixel | CWColormap, &swa);
- XStoreName(dpy, win1, "Test [R]");
- XMapWindow(dpy, win2);
- XMoveWindow(dpy, win2, 260, 10);
- {
- XSizeHints sizehints;
- static const char *name = "window";
- sizehints.x = 10;
- sizehints.y = 10;
- sizehints.width = 200;
- sizehints.height = 200;
- sizehints.flags = USSize | USPosition;
- XSetNormalHints(dpy, win2, &sizehints);
- XSetStandardProperties(dpy, win2, name, name,
- None, (char **)NULL, 0, &sizehints);
- }
-
-
- /* Now draw some spinning things */
- for (angle = 0; angle < 360*4; angle += 10.0) {
- /* Connect the context to window 1 */
- glXMakeCurrent(dpy, win1, ctx1);
-
- /* Clear and draw in window 1 */
- glDrawBuffer(GL_BACK);
- glClearColor(1, 1, 0, 1);
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
- glColor3f(1, 0, 0);
- glBegin(GL_TRIANGLES);
- glVertex2f(0, 0);
- glVertex2f(cos(angle * DEGTOR), sin(angle * DEGTOR));
- glVertex2f(cos((angle + 20.0) * DEGTOR),
- sin((angle + 20.0) * DEGTOR));
- glEnd();
- glFlush();
-
- if (test == 1 || test == 3 || test == 5)
- glXSwapBuffers(dpy, win1);
-
- if (test == 5)
- glXCopyContext(dpy, ctx1, ctx2, GL_ALL_ATTRIB_BITS);
- /* Connect the context to window 2 */
- if (test == 3 || test == 4) {
- glXMakeCurrent(dpy, win2, ctx1);
- } else {
- glXMakeCurrent(dpy, win2, ctx2);
- }
-
- /* Clear and draw in window 2 */
- glDrawBuffer(GL_BACK);
- glClearColor(0, 0, 1, 1);
- glClear(GL_COLOR_BUFFER_BIT);
- glColor3f(1, 1, 0);
- glBegin(GL_TRIANGLES);
- glVertex2f(0, 0);
- glVertex2f(cos(angle * DEGTOR), sin(angle * DEGTOR));
- glVertex2f(cos((angle + 20.0) * DEGTOR),
- sin((angle + 20.0) * DEGTOR));
- glEnd();
- glFlush();
-
- /* Swap buffers */
- if (test == 2 || test == 4)
- glXSwapBuffers(dpy, win1);
- glXSwapBuffers(dpy, win2);
-
- /* wait a while */
- glXWaitX();
- usleep(20000);
- }
-
- return 0;
-}
diff --git a/progs/tests/lineclip.c b/progs/tests/lineclip.c
deleted file mode 100644
index bb688c04a5..0000000000
--- a/progs/tests/lineclip.c
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * Copyright © 2008 Intel Corporation
- *
- * 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 (including the next
- * paragraph) 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.
- *
- * Authors:
- * Eric Anholt <eric@anholt.net>
- *
- */
-
-#include <stdlib.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-static int win_width, win_height;
-
-static void
-line(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2)
-{
- glBegin(GL_LINES);
- glVertex2f(x1, y1);
- glVertex2f(x2, y2);
- glEnd();
-}
-
-static void
-line3(GLfloat x1, GLfloat y1, GLfloat z1, GLfloat x2, GLfloat y2, GLfloat z2)
-{
- glBegin(GL_LINES);
- glVertex3f(x1, y1, z1);
- glVertex3f(x2, y2, z2);
- glEnd();
-}
-
-static void
-display(void)
-{
- glClearColor(0.0, 0.0, 0.0, 0.0);
- glClear(GL_COLOR_BUFFER_BIT);
-
- glColor3f(1.0, 0.0, 0.0);
- /* 2 lines clipped along xmin */
- line(-20, win_height / 2 - 20,
- 20, win_height / 2 - 20);
- line( 20, win_height / 2 + 20,
- -20, win_height / 2 + 20);
-
- glColor3f(0.0, 1.0, 0.0);
- /* 2 lines clipped along ymax */
- line(win_width / 2 - 20, win_height + 20,
- win_width / 2 - 20, win_height - 20);
- line(win_width / 2 + 20, win_height - 20,
- win_width / 2 + 20, win_height + 20);
-
- glColor3f(0.0, 0.0, 1.0);
- /* 2 lines clipped along xmax */
- line(win_width - 20, win_height / 2 - 20,
- win_width + 20, win_height / 2 - 20);
- line(win_width + 20, win_height / 2 + 20,
- win_width - 20, win_height / 2 + 20);
-
- glColor3f(1.0, 1.0, 1.0);
- /* 2 lines clipped along ymin */
- line(win_width / 2 - 20, 20,
- win_width / 2 - 20, -20);
- line(win_width / 2 + 20, -20,
- win_width / 2 + 20, 20);
-
- /* 2 lines clipped along near */
- glColor3f(1.0, 0.0, 1.0);
- line3(win_width / 2 - 20 - 20, win_height / 2, 0.5,
- win_width / 2 - 20 + 20, win_height / 2, -0.5);
- line3(win_width / 2 - 20, win_height / 2 - 20, -0.5,
- win_width / 2 - 20, win_height / 2 + 20, 0.5);
-
- /* 2 lines clipped along far */
- glColor3f(0.0, 1.0, 1.0);
- line3(win_width / 2 + 20 - 20, win_height / 2, 1.5,
- win_width / 2 + 20 + 20, win_height / 2, 0.5);
- line3(win_width / 2 + 20, win_height / 2 - 20, 0.5,
- win_width / 2 + 20, win_height / 2 + 20, 1.5);
-
- /* entirely clipped along near/far */
- glColor3f(.5, .5, .5);
- line3(win_width / 2, win_height / 2 - 20, -0.5,
- win_width / 2, win_height / 2 + 20, -0.5);
- glColor3f(.5, .5, .5);
- line3(win_width / 2, win_height / 2 - 20, 1.5,
- win_width / 2, win_height / 2 + 20, 1.5);
-
- glColor3f(1.0, 1.0, 0.0);
- /* lines clipped along both x and y limits */
- line(-5, 20,
- 20, -5); /* xmin, ymin */
- line(-5, win_height - 20,
- 20, win_height + 5); /* xmin, ymax */
- line(win_width - 20, -5,
- win_width + 5, 20); /* xmax, ymin */
- line(win_width - 20, win_height + 5,
- win_width + 5, win_height - 20); /* xmax, ymax */
-
- glutSwapBuffers();
-}
-
-static void
-reshape(int width, int height)
-{
- win_width = width;
- win_height = height;
- glViewport(0, 0, width, height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(0, win_width, 0, win_height, 0.0, -1.0);
-
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef(.25, .25, 0);
-}
-
-static void key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
-
- switch (key) {
- case 27: /* esc */
- exit(0);
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void
-init(void)
-{
-}
-
-int
-main(int argc, char *argv[])
-{
- win_width = 200;
- win_height = 200;
-
- glutInit(&argc, argv);
- glutInitWindowPosition(0, 0);
- glutInitWindowSize(win_width, win_height);
- glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc(reshape);
- glutKeyboardFunc(key);
- glutDisplayFunc(display);
-
- init();
-
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/manytex.c b/progs/tests/manytex.c
deleted file mode 100644
index 52e7e1de44..0000000000
--- a/progs/tests/manytex.c
+++ /dev/null
@@ -1,395 +0,0 @@
-
-/*
- * test handling of many texture maps
- * Also tests texture priority and residency.
- *
- * Brian Paul
- * August 2, 2000
- */
-
-
-#include <assert.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-
-static GLint NumTextures = 20;
-static GLuint *TextureID = NULL;
-static GLint *TextureWidth = NULL, *TextureHeight = NULL;
-static GLboolean *TextureResidency = NULL;
-static GLint TexWidth = 128, TexHeight = 128;
-static GLfloat Zrot = 0;
-static GLboolean Anim = GL_TRUE;
-static GLint WinWidth = 500, WinHeight = 400;
-static GLboolean MipMap = GL_FALSE;
-static GLboolean LinearFilter = GL_FALSE;
-static GLboolean RandomSize = GL_FALSE;
-static GLint Rows, Columns;
-static GLint LowPriorityCount = 0;
-static GLint Win;
-
-
-static void Idle( void )
-{
- Zrot += 1.0;
- glutPostRedisplay();
-}
-
-
-static void Display( void )
-{
- GLfloat spacing = WinWidth / Columns;
- GLfloat size = spacing * 0.4;
- GLint i;
-
- /* test residency */
- if (0)
- {
- GLboolean b;
- GLint i, resident;
- b = glAreTexturesResident(NumTextures, TextureID, TextureResidency);
- if (b) {
- printf("all resident\n");
- }
- else {
- resident = 0;
- for (i = 0; i < NumTextures; i++) {
- if (TextureResidency[i]) {
- resident++;
- }
- }
- printf("%d of %d texture resident\n", resident, NumTextures);
- }
- }
-
- /* render the textured quads */
- glClear( GL_COLOR_BUFFER_BIT );
- for (i = 0; i < NumTextures; i++) {
- GLint row = i / Columns;
- GLint col = i % Columns;
- GLfloat x = col * spacing + spacing * 0.5;
- GLfloat y = row * spacing + spacing * 0.5;
-
- GLfloat maxDim = (TextureWidth[i] > TextureHeight[i])
- ? TextureWidth[i] : TextureHeight[i];
- GLfloat w = TextureWidth[i] / maxDim;
- GLfloat h = TextureHeight[i] / maxDim;
-
- glPushMatrix();
- glTranslatef(x, y, 0.0);
- glRotatef(Zrot, 0, 0, 1);
- glScalef(size, size, 1);
-
- glBindTexture(GL_TEXTURE_2D, TextureID[i]);
- glBegin(GL_POLYGON);
-#if 0
- glTexCoord2f(0, 0); glVertex2f(-1, -1);
- glTexCoord2f(1, 0); glVertex2f( 1, -1);
- glTexCoord2f(1, 1); glVertex2f( 1, 1);
- glTexCoord2f(0, 1); glVertex2f(-1, 1);
-#else
- glTexCoord2f(0, 0); glVertex2f(-w, -h);
- glTexCoord2f(1, 0); glVertex2f( w, -h);
- glTexCoord2f(1, 1); glVertex2f( w, h);
- glTexCoord2f(0, 1); glVertex2f(-w, h);
-#endif
- glEnd();
- glPopMatrix();
- }
-
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- WinWidth = width;
- WinHeight = height;
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glOrtho(0, width, 0, height, -1, 1);
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
-}
-
-
-/*
- * Return a random int in [min, max].
- */
-static int RandomInt(int min, int max)
-{
- int i = rand();
- int j = i % (max - min + 1);
- return min + j;
-}
-
-
-static void DeleteTextures(void)
-{
- glDeleteTextures(NumTextures, TextureID);
- free(TextureID);
- TextureID = NULL;
-}
-
-
-
-static void Init( void )
-{
- GLint i;
-
- if (RandomSize) {
- printf("Creating %d %s random-size textures, ", NumTextures,
- MipMap ? "Mipmapped" : "non-Mipmapped");
- }
- else {
- printf("Creating %d %s %d x %d textures, ", NumTextures,
- MipMap ? "Mipmapped" : "non-Mipmapped",
- TexWidth, TexHeight);
- }
-
- if (LinearFilter) {
- printf("bilinear filtering\n");
- }
- else {
- printf("nearest filtering\n");
- }
-
-
- /* compute number of rows and columns of rects */
- {
- GLfloat area = (GLfloat) (WinWidth * WinHeight) / (GLfloat) NumTextures;
- GLfloat edgeLen = sqrt(area);
-
- Columns = WinWidth / edgeLen;
- Rows = (NumTextures + Columns - 1) / Columns;
- printf("Rows: %d Cols: %d\n", Rows, Columns);
- }
-
-
- if (!TextureID) {
- TextureID = (GLuint *) malloc(sizeof(GLuint) * NumTextures);
- assert(TextureID);
- glGenTextures(NumTextures, TextureID);
- }
-
- if (!TextureResidency) {
- TextureResidency = (GLboolean *) malloc(sizeof(GLboolean) * NumTextures);
- assert(TextureResidency);
- }
-
- if (!TextureWidth) {
- TextureWidth = (GLint *) malloc(sizeof(GLint) * NumTextures);
- assert(TextureWidth);
- }
- if (!TextureHeight) {
- TextureHeight = (GLint *) malloc(sizeof(GLint) * NumTextures);
- assert(TextureHeight);
- }
-
- for (i = 0; i < NumTextures; i++) {
- GLubyte color[4];
- GLubyte *texImage;
- GLint j, row, col;
-
- row = i / Columns;
- col = i % Columns;
-
- glBindTexture(GL_TEXTURE_2D, TextureID[i]);
-
- if (i < LowPriorityCount)
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_PRIORITY, 0.5F);
-
- if (RandomSize) {
-#if 0
- int k = (glutGet(GLUT_ELAPSED_TIME) % 7) + 2;
- TexWidth = 1 << k;
- TexHeight = 1 << k;
-#else
- TexWidth = 1 << RandomInt(2, 7);
- TexHeight = 1 << RandomInt(2, 7);
- printf("Random size of %3d: %d x %d\n", i, TexWidth, TexHeight);
-#endif
- }
-
- TextureWidth[i] = TexWidth;
- TextureHeight[i] = TexHeight;
-
- texImage = (GLubyte*) malloc(4 * TexWidth * TexHeight * sizeof(GLubyte));
- assert(texImage);
-
- /* determine texture color */
- color[0] = (GLint) (255.0 * ((float) col / (Columns - 1)));
- color[1] = 127;
- color[2] = (GLint) (255.0 * ((float) row / (Rows - 1)));
- color[3] = 255;
-
- /* fill in solid-colored teximage */
- for (j = 0; j < TexWidth * TexHeight; j++) {
- texImage[j*4+0] = color[0];
- texImage[j*4+1] = color[1];
- texImage[j*4+2] = color[2];
- texImage[j*4+3] = color[3];
- }
-
- if (MipMap) {
- GLint level = 0;
- GLint w = TexWidth, h = TexHeight;
- while (1) {
- glTexImage2D(GL_TEXTURE_2D, level, GL_RGBA, w, h, 0,
- GL_RGBA, GL_UNSIGNED_BYTE, texImage);
- if (w == 1 && h == 1)
- break;
- if (w > 1)
- w /= 2;
- if (h > 1)
- h /= 2;
- level++;
- /*printf("%d: %d x %d\n", level, w, h);*/
- }
- if (LinearFilter) {
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,
- GL_LINEAR_MIPMAP_LINEAR);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
- }
- else {
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,
- GL_NEAREST_MIPMAP_NEAREST);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- }
- }
- else {
- /* Set corners to white */
- int k = 0;
- texImage[k+0] = texImage[k+1] = texImage[k+2] = texImage[k+3] = 255;
- k = (TexWidth - 1) * 4;
- texImage[k+0] = texImage[k+1] = texImage[k+2] = texImage[k+3] = 255;
- k = (TexWidth * TexHeight - TexWidth) * 4;
- texImage[k+0] = texImage[k+1] = texImage[k+2] = texImage[k+3] = 255;
- k = (TexWidth * TexHeight - 1) * 4;
- texImage[k+0] = texImage[k+1] = texImage[k+2] = texImage[k+3] = 255;
-
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, TexWidth, TexHeight, 0,
- GL_RGBA, GL_UNSIGNED_BYTE, texImage);
- if (LinearFilter) {
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
- }
- else {
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- }
- }
-
- free(texImage);
- }
-
- glEnable(GL_TEXTURE_2D);
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- const GLfloat step = 3.0;
- (void) x;
- (void) y;
- switch (key) {
- case 'a':
- Anim = !Anim;
- if (Anim)
- glutIdleFunc(Idle);
- else
- glutIdleFunc(NULL);
- break;
- case 's':
- Idle();
- break;
- case 'z':
- Zrot -= step;
- break;
- case 'Z':
- Zrot += step;
- break;
- case ' ':
- DeleteTextures();
- Init();
- break;
- case 27:
- DeleteTextures();
- glutDestroyWindow(Win);
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-int main( int argc, char *argv[] )
-{
- GLint i;
-
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( WinWidth, WinHeight );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE );
- Win = glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- if (Anim)
- glutIdleFunc(Idle);
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-n") == 0) {
- NumTextures = atoi(argv[i+1]);
- if (NumTextures <= 0) {
- printf("Error, bad number of textures\n");
- return 1;
- }
- i++;
- }
- else if (strcmp(argv[i], "-mipmap") == 0) {
- MipMap = GL_TRUE;
- }
- else if (strcmp(argv[i], "-linear") == 0) {
- LinearFilter = GL_TRUE;
- }
- else if (strcmp(argv[i], "-size") == 0) {
- TexWidth = atoi(argv[i+1]);
- TexHeight = atoi(argv[i+2]);
- assert(TexWidth >= 1);
- assert(TexHeight >= 1);
- i += 2;
- }
- else if (strcmp(argv[i], "-randomsize") == 0) {
- RandomSize = GL_TRUE;
- }
- else if (strcmp(argv[i], "-lowpri") == 0) {
- LowPriorityCount = atoi(argv[i+1]);
- i++;
- }
- else {
- printf("Usage:\n");
- printf(" manytex [options]\n");
- printf("Options:\n");
- printf(" -n <number of texture objects>\n");
- printf(" -size <width> <height> - specify texture size\n");
- printf(" -randomsize - use random size textures\n");
- printf(" -mipmap - generate mipmaps\n");
- printf(" -linear - use linear filtering instead of nearest\n");
- printf(" -lowpri <n> - Set lower priority on <n> textures\n");
- return 0;
- }
- }
-
- Init();
-
- glutMainLoop();
-
- return 0;
-}
diff --git a/progs/tests/mapbufrange.c b/progs/tests/mapbufrange.c
deleted file mode 100644
index 76e02dd406..0000000000
--- a/progs/tests/mapbufrange.c
+++ /dev/null
@@ -1,205 +0,0 @@
-/*
- * Test glMapBuffer() and glMapBufferRange()
- *
- * Fill a VBO with vertex data to draw several colored quads.
- * On each redraw, update the geometry for just one rect in the VBO.
- *
- * Brian Paul
- * 4 March 2009
- */
-
-
-#include <assert.h>
-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <GL/glew.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-static GLuint Win;
-static const GLuint NumRects = 10;
-static GLuint BufferID;
-static GLboolean Anim = GL_TRUE;
-static GLboolean UseBufferRange = GL_FALSE;
-
-
-
-static const float RectData[] = {
- /* vertex */ /* color */
- 0, -1, 0, 1, 0, 0,
- 1, 0, 0, 1, 1, 0,
- 0, 1, 0, 0, 1, 1,
- -1, 0, 0, 1, 0, 1
-};
-
-
-/**
- * The buffer contains vertex positions (float[3]) and colors (float[3])
- * for 'NumRects' quads.
- * This function updates/rotates one quad in the buffer.
- */
-static void
-UpdateRect(int r, float angle)
-{
- float *rect;
- int i;
-
- assert(r < NumRects);
-
- glBindBufferARB(GL_ARRAY_BUFFER_ARB, BufferID);
- if (UseBufferRange) {
- GLintptr offset = r * sizeof(RectData);
- GLsizeiptr length = sizeof(RectData);
- GLbitfield access = GL_MAP_WRITE_BIT | GL_MAP_INVALIDATE_RANGE_BIT;
- float *buf = (float *) glMapBufferRange(GL_ARRAY_BUFFER_ARB,
- offset, length, access);
- rect = buf;
- }
- else {
- /* map whole buffer */
- float *buf = (float *)
- glMapBufferARB(GL_ARRAY_BUFFER_ARB, GL_WRITE_ONLY_ARB);
- rect = buf + r * 24;
- }
-
- /* set rect verts/colors */
- memcpy(rect, RectData, sizeof(RectData));
-
- /* loop over four verts, updating vertices */
- for (i = 0; i < 4; i++) {
- float x = 0.2 * RectData[i*6+0];
- float y = 0.2 * RectData[i*6+1];
- float xpos = -2.5 + 0.5 * r;
- float ypos = 0.0;
-
- /* translate and rotate vert */
- rect[i * 6 + 0] = xpos + x * cos(angle) + y * sin(angle);
- rect[i * 6 + 1] = ypos + x * sin(angle) - y * cos(angle);
- }
-
- glUnmapBufferARB(GL_ARRAY_BUFFER_ARB);
-}
-
-
-static void
-LoadBuffer(void)
-{
- static int frame = 0;
- float angle = glutGet(GLUT_ELAPSED_TIME) * 0.001;
- UpdateRect(frame % NumRects, angle);
- frame++;
-}
-
-
-static void
-Draw(void)
-{
- glBindBufferARB(GL_ARRAY_BUFFER_ARB, BufferID);
- glVertexPointer(3, GL_FLOAT, 24, 0);
- glEnableClientState(GL_VERTEX_ARRAY);
-
- glColorPointer(3, GL_FLOAT, 24, (void*) 12);
- glEnableClientState(GL_COLOR_ARRAY);
-
- glDrawArrays(GL_QUADS, 0, NumRects * 4);
-
- if (0)
- glFinish();
-}
-
-
-static void
-Display(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
- Draw();
- glutSwapBuffers();
-}
-
-
-static void
-Reshape(int width, int height)
-{
- glViewport(0, 0, width, height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-3.0, 3.0, -1.0, 1.0, -1.0, 1.0);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
-}
-
-
-static void
-Idle(void)
-{
- LoadBuffer();
- glutPostRedisplay();
-}
-
-
-static void
-Key(unsigned char key, int x, int y)
-{
- (void) x;
- (void) y;
- if (key == 'a') {
- Anim = !Anim;
- glutIdleFunc(Anim ? Idle : NULL);
- }
- else if (key == 's') {
- LoadBuffer();
- }
- else if (key == 27) {
- glutDestroyWindow(Win);
- exit(0);
- }
- glutPostRedisplay();
-}
-
-
-static void
-Init(void)
-{
- GLuint BufferSize = NumRects * sizeof(RectData);
- float *buf;
-
- if (!glutExtensionSupported("GL_ARB_vertex_buffer_object")) {
- printf("GL_ARB_vertex_buffer_object not found!\n");
- exit(0);
- }
-
- UseBufferRange = glutExtensionSupported("GL_ARB_map_buffer_range");
- printf("Use GL_ARB_map_buffer_range: %c\n", "NY"[UseBufferRange]);
-
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
-
- /* initially load buffer with zeros */
- buf = (float *) calloc(1, BufferSize);
-
- glGenBuffersARB(1, &BufferID);
- glBindBufferARB(GL_ARRAY_BUFFER_ARB, BufferID);
- glBufferDataARB(GL_ARRAY_BUFFER_ARB, BufferSize, buf, GL_DYNAMIC_DRAW_ARB);
-
- free(buf);
-}
-
-
-int
-main(int argc, char *argv[])
-{
- glutInit(&argc, argv);
- glutInitWindowSize(800, 200);
- glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE);
- Win = glutCreateWindow(argv[0]);
- glewInit();
- glewInit();
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Display);
- glutIdleFunc(Anim ? Idle : NULL);
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/mapvbo.c b/progs/tests/mapvbo.c
deleted file mode 100644
index 52a22a5e79..0000000000
--- a/progs/tests/mapvbo.c
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Test glMapBuffer() call immediately after glDrawArrays().
- * See details below.
- *
- * NOTE: Do not use freeglut with this test! It calls the Display()
- * callback twice right away instead of just once.
- *
- * Brian Paul
- * 27 Feb 2009
- */
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-static GLuint BufferID;
-
-
-static GLuint Win;
-
-
-
-
-/*
- * Create VBO (position and color) and load with data.
- */
-static void
-SetupBuffers(void)
-{
- static const GLfloat data[] = {
- /* vertex */ /* color */
- 0, -1, 0, 1, 1, 0,
- 1, 0, 0, 1, 1, 0,
- 0, 1, 0, 1, 1, 0,
- -1, 0, 0, 1, 1, 0
- };
-
- glGenBuffersARB(1, &BufferID);
- glBindBufferARB(GL_ARRAY_BUFFER_ARB, BufferID);
- glBufferDataARB(GL_ARRAY_BUFFER_ARB, sizeof(data), data,
- GL_STATIC_DRAW_ARB);
-}
-
-
-static void
-Draw(void)
-{
- static int count = 1;
-
- printf("Draw Frame %d\n", count);
- count++;
-
- glBindBufferARB(GL_ARRAY_BUFFER_ARB, BufferID);
- glVertexPointer(3, GL_FLOAT, 24, 0);
- glEnableClientState(GL_VERTEX_ARRAY);
-
- glColorPointer(3, GL_FLOAT, 24, (void*) 12);
- glEnableClientState(GL_COLOR_ARRAY);
-
- glDrawArrays(GL_TRIANGLE_FAN, 0, 4);
-
- if (0)
- glFinish();
-
- /* Immediately map the color buffer and change something.
- * This should not effect the first glDrawArrays above, but the
- * next time we draw we should see a black vertex.
- */
- if (1) {
- GLfloat *m = (GLfloat *) glMapBufferARB(GL_ARRAY_BUFFER_ARB,
- GL_WRITE_ONLY_ARB);
- m[3] = m[4] = m[5] = 0.0f; /* black vertex */
- glUnmapBufferARB(GL_ARRAY_BUFFER_ARB);
- }
-}
-
-
-static void Display( void )
-{
- glClear( GL_COLOR_BUFFER_BIT );
- Draw();
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- float ar = (float) width / (float) height;
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -ar, ar, -1.0, 1.0, 5.0, 25.0 );
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -15.0 );
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- if (key == 27) {
- glutDestroyWindow(Win);
- exit(0);
- }
- glutPostRedisplay();
-}
-
-
-static void Init( void )
-{
- if (!glutExtensionSupported("GL_ARB_vertex_buffer_object")) {
- printf("GL_ARB_vertex_buffer_object not found!\n");
- exit(0);
- }
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
-
- SetupBuffers();
-}
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 300, 300 );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE );
- Win = glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/minmag.c b/progs/tests/minmag.c
deleted file mode 100644
index 179be51120..0000000000
--- a/progs/tests/minmag.c
+++ /dev/null
@@ -1,199 +0,0 @@
-/*
- * Test minification vs. magnification filtering.
- * Draw two quads with different filtering modes:
- *
- * +--------------------------+ +--------------------------+
- * | MagFilter = GL_LINEAR | | MagFilter = GL_LINEAR |
- * | MinFilter = GL_LINEAR | | MinFilter = GL_NEAREST |
- * +--------------------------+ +--------------------------+
- *
- * They should look different when the quad is smaller than the level 0
- * texture size (when minifying).
- */
-
-#include <assert.h>
-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-
-static GLint Width = 1000, Height = 500;
-
-
-static GLint TexWidth = 256, TexHeight = 256;
-static GLfloat Zpos = 5;
-static GLboolean MipMap = 0*GL_TRUE;
-static GLboolean LinearFilter = GL_TRUE;
-
-
-static void
-redraw(void)
-{
- GLfloat w = 1.0;
- GLfloat h = 1.0;
-
- glClear( GL_COLOR_BUFFER_BIT );
-
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
-
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
-
- glPushMatrix();
- glTranslatef(-1.5, 0, -Zpos);
- glBegin(GL_POLYGON);
- glTexCoord2f(0, 0); glVertex2f(-w, -h);
- glTexCoord2f(1, 0); glVertex2f( w, -h);
- glTexCoord2f(1, 1); glVertex2f( w, h);
- glTexCoord2f(0, 1); glVertex2f(-w, h);
- glEnd();
- glPopMatrix();
-
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
-
- glPushMatrix();
- glTranslatef(1.5, 0, -Zpos);
- glBegin(GL_POLYGON);
- glTexCoord2f(0, 0); glVertex2f(-w, -h);
- glTexCoord2f(1, 0); glVertex2f( w, -h);
- glTexCoord2f(1, 1); glVertex2f( w, h);
- glTexCoord2f(0, 1); glVertex2f(-w, h);
- glEnd();
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-static void
-init(void)
-{
- GLubyte color[10][4] = {
- { 0, 0, 0, 0 },
- { 1, 0, 0, 0 },
- { 0, 1, 0, 0 },
- { 0, 0, 1, 0 },
- { 0, 1, 1, 0 },
- { 1, 0, 1, 0 },
- { 1, 1, 0, 0 },
- { 1, 0, 0, 0 },
- { 0, 1, 0, 0 },
- { 0, 0, 1, 0 }
- };
- GLubyte *texImage;
-
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- printf("Left quad should be linear filtered and right should be nearest filtered.\n");
- printf("Press z/Z to change quad distance.\n");
-
- texImage = (GLubyte*) malloc(4 * TexWidth * TexHeight * sizeof(GLubyte));
- assert(texImage);
-
- {
- GLint level = 0;
- GLint w = TexWidth, h = TexHeight;
- while (1) {
- int i, j;
-
- for (i = 0; i < h; i++) {
- for (j = 0;j < w; j++) {
- if (w==1 || h==1 || (((i / 2) ^ (j / 2)) & 1)) {
- /*if (j < i) {*/
- texImage[(i*w+j) * 4 + 0] = 255;
- texImage[(i*w+j) * 4 + 1] = 255;
- texImage[(i*w+j) * 4 + 2] = 255;
- texImage[(i*w+j) * 4 + 3] = 255;
- }
- else {
- texImage[(i*w+j) * 4 + 0] = color[level][0] * 255;
- texImage[(i*w+j) * 4 + 1] = color[level][1] * 255;
- texImage[(i*w+j) * 4 + 2] = color[level][2] * 255;
- texImage[(i*w+j) * 4 + 3] = color[level][3] * 255;
- }
- }
- }
-
- glTexImage2D(GL_TEXTURE_2D, level, GL_RGBA8, w, h, 0,
- GL_RGBA, GL_UNSIGNED_BYTE, texImage);
-
- printf("Texture level %d: %d x %d\n", level, w, h);
- if (!MipMap)
- break;
-
- if (w == 1 && h == 1)
- break;
- if (w > 1)
- w /= 2;
- if (h > 1)
- h /= 2;
- level++;
- }
- }
-
- free(texImage);
-
- glClearColor(0.25, 0.25, 0.25, 1.0);
- glEnable(GL_TEXTURE_2D);
-
- glViewport(0, 0, Width, Height);
-}
-
-
-
-static void
-Reshape(int width, int height)
-{
- float ar = (float) width /height;
- Width = width;
- Height = height;
- glViewport(0, 0, width, height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glFrustum(-ar, ar, -1.0, 1.0, 5.0, 2500.0);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef(0.0, 0.0, -15.0);
-}
-
-
-static void
-Key(unsigned char key, int x, int y)
-{
- (void) x;
- (void) y;
- switch (key) {
- case 'z':
- Zpos--;
- break;
- case 'Z':
- Zpos++;
- break;
- case 'f':
- LinearFilter = !LinearFilter;
- break;
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-int
-main(int argc, char *argv[])
-{
- glutInit(&argc, argv);
- glutInitWindowPosition(0, 0);
- glutInitWindowSize(Width, Height);
- glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(redraw);
- init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/mipgen.c b/progs/tests/mipgen.c
deleted file mode 100644
index 088f643215..0000000000
--- a/progs/tests/mipgen.c
+++ /dev/null
@@ -1,207 +0,0 @@
-/* Test GL_TEXTURE_BASE_LEVEL and GL_TEXTURE_MAX_LEVEL
- * Brian Paul
- * 10 May 2006
- */
-
-
-/* Copyright (c) Mark J. Kilgard, 1994. */
-
-/*
- * (c) Copyright 1993, Silicon Graphics, Inc.
- * ALL RIGHTS RESERVED
- * Permission to use, copy, modify, and distribute this software for
- * any purpose and without fee is hereby granted, provided that the above
- * copyright notice appear in all copies and that both the copyright notice
- * and this permission notice appear in supporting documentation, and that
- * the name of Silicon Graphics, Inc. not be used in advertising
- * or publicity pertaining to distribution of the software without specific,
- * written prior permission.
- *
- * THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
- * AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
- * INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
- * FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
- * GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
- * SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
- * KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
- * LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
- * THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN
- * ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
- * POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * US Government Users Restricted Rights
- * Use, duplication, or disclosure by the Government is subject to
- * restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
- * (c)(1)(ii) of the Rights in Technical Data and Computer Software
- * clause at DFARS 252.227-7013 and/or in similar or successor
- * clauses in the FAR or the DOD or NASA FAR Supplement.
- * Unpublished-- rights reserved under the copyright laws of the
- * United States. Contractor/manufacturer is Silicon Graphics,
- * Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311.
- *
- * OpenGL(TM) is a trademark of Silicon Graphics, Inc.
- */
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-#include "readtex.h"
-
-
-static GLfloat LodBias = 6.0; /* make smallest miplevel visible */
-static GLuint texImage;
-
-#define WIDTH 2
-#define HEIGHT 2
-
-static void
-InitValues(void)
-{
- LodBias = 6.0; /* make smallest miplevel visible */
-}
-
-
-static void MakeImage(void)
-{
- const GLubyte color0[4] = { 0xff, 0x80, 0x20, 0xff };
- const GLubyte color1[4] = { 0x10, 0x20, 0x40, 0xff };
-
- GLubyte img[WIDTH*HEIGHT*3];
- int i, j;
- for (i = 0; i < HEIGHT; i++) {
- for (j = 0; j < WIDTH; j++) {
- int k = (i * WIDTH + j) * 3;
- int p = ((i+j)%2);
- if (p == 0) {
- img[k + 0] = color0[0];
- img[k + 1] = color0[1];
- img[k + 2] = color0[2];
- }
- else {
- img[k + 0] = color1[0];
- img[k + 1] = color1[1];
- img[k + 2] = color1[2];
- }
- }
- }
-
- glTexParameteri(GL_TEXTURE_2D, GL_GENERATE_MIPMAP_SGIS, GL_TRUE);
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, WIDTH, HEIGHT, 0,
- GL_RGB, GL_UNSIGNED_BYTE, img);
- glTexParameteri(GL_TEXTURE_2D, GL_GENERATE_MIPMAP_SGIS, GL_FALSE);
-}
-
-
-
-static void myinit(void)
-{
- InitValues();
-
- glShadeModel(GL_FLAT);
-
- glTranslatef(0.0, 0.0, -3.6);
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- glGenTextures(1, &texImage);
- glBindTexture(GL_TEXTURE_2D, texImage);
- MakeImage();
-
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
- glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL);
- glEnable(GL_TEXTURE_2D);
-
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_BASE_LEVEL, 0);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, 1);
-
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_LOD, -1);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_LOD, 1);
-
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,
- GL_NEAREST_MIPMAP_NEAREST);
-}
-
-
-
-static void display(void)
-{
- GLfloat tcm = 1.0;
- glBindTexture(GL_TEXTURE_2D, texImage);
-
- printf("Bias=%.2g\n", LodBias);
- fflush(stdout);
-
- glTexEnvf(GL_TEXTURE_FILTER_CONTROL_EXT, GL_TEXTURE_LOD_BIAS_EXT, LodBias);
-
- glClear(GL_COLOR_BUFFER_BIT);
- glBegin(GL_QUADS);
- glTexCoord2f(0.0, 0.0); glVertex3f(-2.0, -1.0, 0.0);
- glTexCoord2f(0.0, tcm); glVertex3f(-2.0, 1.0, 0.0);
- glTexCoord2f(tcm * 3000.0, tcm); glVertex3f(3000.0, 1.0, -6000.0);
- glTexCoord2f(tcm * 3000.0, 0.0); glVertex3f(3000.0, -1.0, -6000.0);
- glEnd();
- glFlush();
-}
-
-static void myReshape(int w, int h)
-{
- glViewport(0, 0, w, h);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- gluPerspective(60.0, 1.0*(GLfloat)w/(GLfloat)h, 1.0, 30000.0);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
-}
-
-static void
-key(unsigned char k, int x, int y)
-{
- (void) x;
- (void) y;
- switch (k) {
- case 'l':
- LodBias -= 0.25;
- break;
- case 'L':
- LodBias += 0.25;
- break;
- case ' ':
- InitValues();
- break;
- case 27: /* Escape */
- exit(0);
- break;
- default:
- return;
- }
- glutPostRedisplay();
-}
-
-
-static void usage(void)
-{
- printf("usage:\n");
- printf(" l/L decrease/increase GL_TEXTURE_LOD_BIAS\n");
- printf(" SPACE reset values\n");
-}
-
-
-int main(int argc, char** argv)
-{
- glutInit(&argc, argv);
- glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB );
- glutInitWindowSize (600, 600);
- glutCreateWindow (argv[0]);
- glewInit();
- myinit();
- glutReshapeFunc (myReshape);
- glutDisplayFunc(display);
- glutKeyboardFunc(key);
- usage();
- glutMainLoop();
- return 0; /* ANSI C requires main to return int. */
-}
diff --git a/progs/tests/mipmap_comp.c b/progs/tests/mipmap_comp.c
deleted file mode 100644
index dd2232113b..0000000000
--- a/progs/tests/mipmap_comp.c
+++ /dev/null
@@ -1,301 +0,0 @@
-/* Copyright (c) Mark J. Kilgard, 1994. */
-/*
- * (c) Copyright 1993, Silicon Graphics, Inc.
- * ALL RIGHTS RESERVED
- * Permission to use, copy, modify, and distribute this software for
- * any purpose and without fee is hereby granted, provided that the above
- * copyright notice appear in all copies and that both the copyright notice
- * and this permission notice appear in supporting documentation, and that
- * the name of Silicon Graphics, Inc. not be used in advertising
- * or publicity pertaining to distribution of the software without specific,
- * written prior permission.
- *
- * THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
- * AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
- * INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
- * FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
- * GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
- * SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
- * KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
- * LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
- * THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN
- * ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
- * POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * US Government Users Restricted Rights
- * Use, duplication, or disclosure by the Government is subject to
- * restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
- * (c)(1)(ii) of the Rights in Technical Data and Computer Software
- * clause at DFARS 252.227-7013 and/or in similar or successor
- * clauses in the FAR or the DOD or NASA FAR Supplement.
- * Unpublished-- rights reserved under the copyright laws of the
- * United States. Contractor/manufacturer is Silicon Graphics,
- * Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311.
- *
- * OpenGL(TM) is a trademark of Silicon Graphics, Inc.
- */
-
-/* mipmap_comp
- * Test compressed texture mipmaps
- *
- * Based on mipmap_limits
- */
-
-#include <string.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-#include "readtex.h"
-
-#define SIZE 16 /* not larger then 16 */
-
-static GLint BaseLevel = 0, MaxLevel = 9;
-static GLfloat MinLod = -1, MaxLod = 9;
-static GLfloat LodBias = 0.0;
-static GLboolean NearestFilter = GL_TRUE;
-static GLuint texImage;
-
-
-static void
-initValues(void)
-{
- BaseLevel = 0;
- MaxLevel = 9;
- MinLod = -1;
- MaxLod = 2;
- LodBias = 5.0;
- NearestFilter = GL_TRUE;
-}
-
-
-static void
-makeImage(int level, int width, int height)
-{
-#if 0
- GLubyte img[SIZE*SIZE*3];
- int i, j;
-
- (void)size;
- for (i = 0; i < height; i++) {
- for (j = 0; j < width; j++) {
- int k = (i * width + j) * 3;
- img[k + 0] = 255 * ((level + 1) % 2);
- img[k + 1] = 255 * ((level + 1) % 2);
- img[k + 2] = 255 * ((level + 1) % 2);
- }
- }
-
- glTexImage2D(GL_TEXTURE_2D, level, GL_COMPRESSED_RGB_S3TC_DXT1_EXT, width, height, 0,
- GL_RGB, GL_UNSIGNED_BYTE, img);
-#else
- GLubyte img[128];
- GLint size[] = {
- 128, /* 16x16 */
- 32, /* 8x8 */
- 8, /* 4x4 */
- 8, /* 2x2 */
- 8, /* 1x1 */
- };
- int i;
- int value = ((level + 1) % 2) * 0xffffffff;
- memset(img, 0, 128);
-
- /* generate black and white mipmap levels */
- if (value)
- for (i = 0; i < size[level] / 4; i += 2)
- ((int*)img)[i] = value;
-
- glCompressedTexImage2D(GL_TEXTURE_2D, level,
- GL_COMPRESSED_RGB_S3TC_DXT1_EXT,
- width, height, 0,
- size[level], img);
-#endif
-}
-
-
-static void
-makeImages(void)
-{
- int i, sz;
-
- for (i = 0, sz = SIZE; sz >= 1; i++, sz /= 2) {
- makeImage(i, sz, sz);
- printf("Level %d size: %d x %d\n", i, sz, sz);
- }
-}
-
-
-static void
-myInit(void)
-{
-
- initValues();
-
- glEnable(GL_DEPTH_TEST);
- glDepthFunc(GL_LESS);
- glShadeModel(GL_FLAT);
-
- glTranslatef(0.0, 0.0, -3.6);
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- glGenTextures(1, &texImage);
- glBindTexture(GL_TEXTURE_2D, texImage);
- makeImages();
-
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
- glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL);
- glEnable(GL_TEXTURE_2D);
-}
-
-
-static void
-display(void)
-{
- GLfloat tcm = 1.0;
- glBindTexture(GL_TEXTURE_2D, texImage);
-
- printf("BASE_LEVEL=%d MAX_LEVEL=%d MIN_LOD=%.2g MAX_LOD=%.2g Bias=%.2g Filter=%s\n",
- BaseLevel, MaxLevel, MinLod, MaxLod, LodBias,
- NearestFilter ? "NEAREST" : "LINEAR");
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_BASE_LEVEL, BaseLevel);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, MaxLevel);
-
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_LOD, MinLod);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_LOD, MaxLod);
-
- if (NearestFilter) {
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,
- GL_NEAREST_MIPMAP_NEAREST);
- }
- else {
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,
- GL_LINEAR_MIPMAP_LINEAR);
- }
-
- glTexEnvf(GL_TEXTURE_FILTER_CONTROL_EXT, GL_TEXTURE_LOD_BIAS_EXT, LodBias);
-
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
- glBegin(GL_QUADS);
- glTexCoord2f(0.0, 0.0); glVertex3f(-2.0, -1.0, 0.0);
- glTexCoord2f(0.0, tcm); glVertex3f(-2.0, 1.0, 0.0);
- glTexCoord2f(tcm * 3000.0, tcm); glVertex3f(3000.0, 1.0, -6000.0);
- glTexCoord2f(tcm * 3000.0, 0.0); glVertex3f(3000.0, -1.0, -6000.0);
- glEnd();
- glFlush();
-}
-
-
-static void
-myReshape(int w, int h)
-{
- glViewport(0, 0, w, h);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- gluPerspective(60.0, 1.0*(GLfloat)w/(GLfloat)h, 1.0, 30000.0);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
-}
-
-
-static void
-key(unsigned char k, int x, int y)
-{
- (void) x;
- (void) y;
- switch (k) {
- case 'b':
- BaseLevel--;
- if (BaseLevel < 0)
- BaseLevel = 0;
- break;
- case 'B':
- BaseLevel++;
- if (BaseLevel > 10)
- BaseLevel = 10;
- break;
- case 'm':
- MaxLevel--;
- if (MaxLevel < 0)
- MaxLevel = 0;
- break;
- case 'M':
- MaxLevel++;
- if (MaxLevel > 10)
- MaxLevel = 10;
- break;
- case 'l':
- LodBias -= 0.25;
- break;
- case 'L':
- LodBias += 0.25;
- break;
- case 'n':
- MinLod -= 0.25;
- break;
- case 'N':
- MinLod += 0.25;
- break;
- case 'x':
- MaxLod -= 0.25;
- break;
- case 'X':
- MaxLod += 0.25;
- break;
- case 'f':
- NearestFilter = !NearestFilter;
- break;
- case ' ':
- initValues();
- break;
- case 27: /* Escape */
- exit(0);
- break;
- default:
- return;
- }
- glutPostRedisplay();
-}
-
-
-static void
-usage(void)
-{
- printf("usage:\n");
- printf(" b/B decrease/increase GL_TEXTURE_BASE_LEVEL\n");
- printf(" m/M decrease/increase GL_TEXTURE_MAX_LEVEL\n");
- printf(" n/N decrease/increase GL_TEXTURE_MIN_LOD\n");
- printf(" x/X decrease/increase GL_TEXTURE_MAX_LOD\n");
- printf(" l/L decrease/increase GL_TEXTURE_LOD_BIAS\n");
- printf(" f toggle nearest/linear filtering\n");
- printf(" SPACE reset values\n");
-}
-
-
-int
-main(int argc, char** argv)
-{
- glutInit(&argc, argv);
- glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH);
- glutInitWindowSize (600, 600);
- glutCreateWindow (argv[0]);
- glewInit();
-
- if (!glutExtensionSupported("GL_EXT_texture_compression_s3tc")) {
- fprintf(stderr, "This test requires GL_EXT_texture_compression_s3tc.\n");
- exit(1);
- }
-
- myInit();
- glutReshapeFunc (myReshape);
- glutDisplayFunc(display);
- glutKeyboardFunc(key);
- usage();
- glutMainLoop();
- return 0; /* ANSI C requires main to return int. */
-}
diff --git a/progs/tests/mipmap_comp_tests.c b/progs/tests/mipmap_comp_tests.c
deleted file mode 100644
index e865b30ad0..0000000000
--- a/progs/tests/mipmap_comp_tests.c
+++ /dev/null
@@ -1,318 +0,0 @@
-/* Copyright (c) Mark J. Kilgard, 1994. */
-/*
- * (c) Copyright 1993, Silicon Graphics, Inc.
- * ALL RIGHTS RESERVED
- * Permission to use, copy, modify, and distribute this software for
- * any purpose and without fee is hereby granted, provided that the above
- * copyright notice appear in all copies and that both the copyright notice
- * and this permission notice appear in supporting documentation, and that
- * the name of Silicon Graphics, Inc. not be used in advertising
- * or publicity pertaining to distribution of the software without specific,
- * written prior permission.
- *
- * THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
- * AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
- * INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
- * FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
- * GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
- * SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
- * KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
- * LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
- * THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN
- * ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
- * POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * US Government Users Restricted Rights
- * Use, duplication, or disclosure by the Government is subject to
- * restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
- * (c)(1)(ii) of the Rights in Technical Data and Computer Software
- * clause at DFARS 252.227-7013 and/or in similar or successor
- * clauses in the FAR or the DOD or NASA FAR Supplement.
- * Unpublished-- rights reserved under the copyright laws of the
- * United States. Contractor/manufacturer is Silicon Graphics,
- * Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311.
- *
- * OpenGL(TM) is a trademark of Silicon Graphics, Inc.
- */
-
-/* mipmap_comp
- * Test compressed texture mipmaps
- *
- * Based on mipmap_limits
- */
-
-#include <string.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-#include "readtex.h"
-
-#define SIZE 16 /* not larger then 16 */
-
-static GLint BaseLevel = 0, MaxLevel ;
-static GLfloat MinLod, MaxLod;
-static GLfloat LodBias;
-static GLboolean NearestFilter;
-static GLuint texImage;
-static GLuint View;
-
-struct view {
- GLfloat minLod;
- GLfloat maxLod;
- const char *string;
-};
-
-static struct view views[] =
-{
- { 0, 0, "Green" },
- { 0, 1, "Green, Red" },
- { 0, 2, "Green, Red, Blue" },
- { 0, 3, "Green, Red, Blue, Black" },
- { 0, 4, "Green, Red, Blue, Black, White" },
- { 1, 4, "Red, Blue, Black, White" },
- { 2, 4, "Blue, Black, White" },
- { 3, 4, "Black, White" },
- { 4, 4, "White" },
- { 3, 3, "Black" },
- { 2, 2, "Blue" },
- { 1, 1, "Red" },
- { 1, 3, "Red, Blue, Black" },
- { 1, 2, "Red, Blue" },
- { 2, 3, "Blue, Black" },
- { 0, 0, NULL },
-};
-
-static void
-initValues(void)
-{
- View = 12;
- BaseLevel = 0;
- MaxLevel = 9;
- MinLod = views[View].minLod;
- MaxLod = views[View].maxLod;
- LodBias = 5.0;
- NearestFilter = GL_TRUE;
-}
-
-
-static void
-changeView(void)
-{
- if (views[++View].string == NULL)
- View = 0;
-
- MinLod = views[View].minLod;
- MaxLod = views[View].maxLod;
-}
-
-
-static void
-makeImage(int level, int width, int height)
-{
- GLubyte img[SIZE*SIZE*3];
- GLubyte color[5][3] = {
- { 0, 255, 0 },
- { 255, 0, 0 },
- { 0, 0, 255 },
- { 0, 0, 0 },
- { 255, 255, 255 },
- };
- int i, j;
-
- for (i = 0; i < height; i++) {
- for (j = 0; j < width; j++) {
- int k = (i * width + j) * 3;
- img[k + 0] = color[level][0];
- img[k + 1] = color[level][1];
- img[k + 2] = color[level][2];
- }
- }
-
- glTexImage2D(GL_TEXTURE_2D, level,
- GL_COMPRESSED_RGB_S3TC_DXT1_EXT,
- width, height, 0,
- GL_RGB, GL_UNSIGNED_BYTE, img);
-}
-
-
-static void
-makeImages(void)
-{
- int i, sz;
-
- for (i = 0, sz = SIZE; sz >= 1; i++, sz /= 2) {
- makeImage(i, sz, sz);
- printf("Level %d size: %d x %d\n", i, sz, sz);
- }
-}
-
-
-static void
-myInit(void)
-{
-
- initValues();
-
- glEnable(GL_DEPTH_TEST);
- glDepthFunc(GL_LESS);
- glShadeModel(GL_FLAT);
-
- glTranslatef(0.0, 0.0, -3.6);
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- glGenTextures(1, &texImage);
- glBindTexture(GL_TEXTURE_2D, texImage);
- makeImages();
-
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
- glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL);
- glEnable(GL_TEXTURE_2D);
-}
-
-
-static void
-display(void)
-{
- GLfloat tcm = 1.0;
- glBindTexture(GL_TEXTURE_2D, texImage);
-
- printf("BASE_LEVEL=%d MAX_LEVEL=%d MIN_LOD=%.2g MAX_LOD=%.2g Bias=%.2g Filter=%s\n",
- BaseLevel, MaxLevel, MinLod, MaxLod, LodBias,
- NearestFilter ? "NEAREST" : "LINEAR");
- printf("You should see: %s\n", views[View].string );
- fflush(stdout);
-
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_BASE_LEVEL, BaseLevel);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, MaxLevel);
-
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_LOD, MinLod);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_LOD, MaxLod);
-
- if (NearestFilter) {
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,
- GL_NEAREST_MIPMAP_NEAREST);
- }
- else {
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,
- GL_LINEAR_MIPMAP_LINEAR);
- }
-
- glTexEnvf(GL_TEXTURE_FILTER_CONTROL_EXT, GL_TEXTURE_LOD_BIAS_EXT, LodBias);
-
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
- glBegin(GL_QUADS);
- glTexCoord2f(0.0, 0.0); glVertex3f(-2.0, -1.0, 0.0);
- glTexCoord2f(0.0, tcm); glVertex3f(-2.0, 1.0, 0.0);
- glTexCoord2f(tcm * 3000.0, tcm); glVertex3f(3000.0, 1.0, -6000.0);
- glTexCoord2f(tcm * 3000.0, 0.0); glVertex3f(3000.0, -1.0, -6000.0);
- glEnd();
- glFlush();
-}
-
-
-static void
-myReshape(int w, int h)
-{
- glViewport(0, 0, w, h);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- gluPerspective(60.0, 1.0*(GLfloat)w/(GLfloat)h, 1.0, 30000.0);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
-}
-
-
-static void
-key(unsigned char k, int x, int y)
-{
- (void) x;
- (void) y;
- switch (k) {
-#if 0
- case 'b':
- BaseLevel--;
- if (BaseLevel < 0)
- BaseLevel = 0;
- break;
- case 'B':
- BaseLevel++;
- if (BaseLevel > 10)
- BaseLevel = 10;
- break;
- case 'm':
- MaxLevel--;
- if (MaxLevel < 0)
- MaxLevel = 0;
- break;
- case 'M':
- MaxLevel++;
- if (MaxLevel > 10)
- MaxLevel = 10;
- break;
- case 'l':
- LodBias -= 0.25;
- break;
- case 'L':
- LodBias += 0.25;
- break;
- case 'n':
- MinLod -= 0.25;
- break;
- case 'N':
- MinLod += 0.25;
- break;
- case 'x':
- MaxLod -= 0.25;
- break;
- case 'X':
- MaxLod += 0.25;
- break;
- case 'f':
- NearestFilter = !NearestFilter;
- break;
-#endif
- case ' ':
- initValues();
- break;
- case 27: /* Escape */
- exit(0);
- break;
- default:
- changeView();
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void
-usage(void)
-{
- printf("usage:\n");
- printf(" Any Change view\n");
- printf(" SPACE reset values\n");
-}
-
-
-int
-main(int argc, char** argv)
-{
- glutInit(&argc, argv);
- glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH);
- glutInitWindowSize (600, 600);
- glutCreateWindow (argv[0]);
- glewInit();
- myInit();
- glutReshapeFunc (myReshape);
- glutDisplayFunc(display);
- glutKeyboardFunc(key);
- usage();
- glutMainLoop();
- return 0; /* ANSI C requires main to return int. */
-}
diff --git a/progs/tests/mipmap_limits.c b/progs/tests/mipmap_limits.c
deleted file mode 100644
index 9418e90981..0000000000
--- a/progs/tests/mipmap_limits.c
+++ /dev/null
@@ -1,352 +0,0 @@
-/* Test GL_TEXTURE_BASE_LEVEL and GL_TEXTURE_MAX_LEVEL
- * Brian Paul
- * 10 May 2006
- */
-
-
-/* Copyright (c) Mark J. Kilgard, 1994. */
-
-/*
- * (c) Copyright 1993, Silicon Graphics, Inc.
- * ALL RIGHTS RESERVED
- * Permission to use, copy, modify, and distribute this software for
- * any purpose and without fee is hereby granted, provided that the above
- * copyright notice appear in all copies and that both the copyright notice
- * and this permission notice appear in supporting documentation, and that
- * the name of Silicon Graphics, Inc. not be used in advertising
- * or publicity pertaining to distribution of the software without specific,
- * written prior permission.
- *
- * THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
- * AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
- * INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
- * FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
- * GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
- * SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
- * KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
- * LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
- * THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN
- * ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
- * POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * US Government Users Restricted Rights
- * Use, duplication, or disclosure by the Government is subject to
- * restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
- * (c)(1)(ii) of the Rights in Technical Data and Computer Software
- * clause at DFARS 252.227-7013 and/or in similar or successor
- * clauses in the FAR or the DOD or NASA FAR Supplement.
- * Unpublished-- rights reserved under the copyright laws of the
- * United States. Contractor/manufacturer is Silicon Graphics,
- * Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311.
- *
- * OpenGL(TM) is a trademark of Silicon Graphics, Inc.
- */
-/* mipmap.c
- * This program demonstrates using mipmaps for texture maps.
- * To overtly show the effect of mipmaps, each mipmap reduction
- * level has a solidly colored, contrasting texture image.
- * Thus, the quadrilateral which is drawn is drawn with several
- * different colors.
- */
-#include <stdlib.h>
-#include <stdio.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-#include "readtex.h"
-
-#define TEXTURE_FILE "../images/girl.rgb"
-
-static GLint BaseLevel = 0, MaxLevel = 9;
-static GLfloat MinLod = -1, MaxLod = 9;
-static GLfloat LodBias = 0.0;
-static GLboolean NearestFilter = GL_TRUE;
-static GLuint texImage, texColor, texCurrent;
-
-
-static void
-InitValues(void)
-{
- BaseLevel = 0;
- MaxLevel = 9;
- MinLod = -1;
- MaxLod = 9;
- LodBias = 0.0;
- NearestFilter = GL_TRUE;
-}
-
-
-static void
-MakeImage(int level, int width, int height, const GLubyte color[4])
-{
- const int makeStripes = 0;
- GLubyte img[512 * 512 * 3];
- int i, j;
- for (i = 0; i < height; i++) {
- for (j = 0; j < width; j++) {
- int k = (i * width + j) * 3;
- int p = (i / 8) & makeStripes;
- if (p == 0) {
- img[k + 0] = color[0];
- img[k + 1] = color[1];
- img[k + 2] = color[2];
- }
- else {
- img[k + 0] = 0;
- img[k + 1] = 0;
- img[k + 2] = 0;
- }
- }
- }
-
- glTexImage2D(GL_TEXTURE_2D, level, GL_RGB, width, height, 0,
- GL_RGB, GL_UNSIGNED_BYTE, img);
-}
-
-
-static void
-makeImages(int image)
-{
-#define WIDTH 512
-#define HEIGHT 512
- if (glutExtensionSupported("GL_SGIS_generate_mipmap") && image) {
- /* test auto mipmap generation */
- GLint width, height, i;
- GLenum format;
- GLubyte *image = LoadRGBImage(TEXTURE_FILE, &width, &height, &format);
- if (!image) {
- printf("Error: could not load texture image %s\n", TEXTURE_FILE);
- exit(1);
- }
- /* resize */
- if (width != WIDTH || height != HEIGHT) {
- GLubyte *newImage = malloc(WIDTH * HEIGHT * 4);
- gluScaleImage(format, width, height, GL_UNSIGNED_BYTE, image,
- WIDTH, HEIGHT, GL_UNSIGNED_BYTE, newImage);
- free(image);
- image = newImage;
- }
- printf("Using GL_SGIS_generate_mipmap\n");
- glTexParameteri(GL_TEXTURE_2D, GL_GENERATE_MIPMAP_SGIS, GL_TRUE);
- glTexImage2D(GL_TEXTURE_2D, 0, format, WIDTH, HEIGHT, 0,
- format, GL_UNSIGNED_BYTE, image);
- glTexParameteri(GL_TEXTURE_2D, GL_GENERATE_MIPMAP_SGIS, GL_FALSE);
- free(image);
-
- /* make sure mipmap was really generated correctly */
- width = WIDTH;
- height = HEIGHT;
- for (i = 0; i < 10; i++) {
- GLint w, h;
- glGetTexLevelParameteriv(GL_TEXTURE_2D, i, GL_TEXTURE_WIDTH, &w);
- glGetTexLevelParameteriv(GL_TEXTURE_2D, i, GL_TEXTURE_HEIGHT, &h);
- printf("Level %d size: %d x %d\n", i, w, h);
- width /= 2;
- height /= 2;
- }
- }
- else {
- static const GLubyte colors[10][3] = {
- {128, 128, 128},
- {0, 255, 255},
- {255, 255, 0},
- {255, 0, 255},
- {255, 0, 0},
- {0, 255, 0},
- {0, 0, 255},
- {0, 255, 255},
- {255, 255, 0},
- {255, 255, 255}
- };
- int i, sz = 512;
-
- for (i = 0; i < 10; i++) {
- MakeImage(i, sz, sz, colors[i]);
- printf("Level %d size: %d x %d\n", i, sz, sz);
- sz /= 2;
- }
- }
-}
-
-static void
-myinit(void)
-{
- InitValues();
-
- glEnable(GL_DEPTH_TEST);
- glDepthFunc(GL_LESS);
- glShadeModel(GL_FLAT);
-
- glTranslatef(0.0, 0.0, -3.6);
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- glGenTextures(1, &texImage);
- glBindTexture(GL_TEXTURE_2D, texImage);
- makeImages(1);
- glGenTextures(1, &texColor);
- glBindTexture(GL_TEXTURE_2D, texColor);
- makeImages(0);
-
- texCurrent = texImage;
-
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
- glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL);
- glEnable(GL_TEXTURE_2D);
-}
-
-static void
-display(void)
-{
- GLfloat tcm = 1.0;
- glBindTexture(GL_TEXTURE_2D, texCurrent);
-
- printf
- ("BASE_LEVEL=%d MAX_LEVEL=%d MIN_LOD=%.2g MAX_LOD=%.2g Bias=%.2g Filter=%s\n",
- BaseLevel, MaxLevel, MinLod, MaxLod, LodBias,
- NearestFilter ? "NEAREST" : "LINEAR");
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_BASE_LEVEL, BaseLevel);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, MaxLevel);
-
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_LOD, MinLod);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_LOD, MaxLod);
-
- if (NearestFilter) {
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,
- GL_NEAREST_MIPMAP_NEAREST);
- }
- else {
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,
- GL_LINEAR_MIPMAP_LINEAR);
- }
-
- glTexEnvf(GL_TEXTURE_FILTER_CONTROL_EXT, GL_TEXTURE_LOD_BIAS_EXT, LodBias);
-
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
- glBegin(GL_QUADS);
- glTexCoord2f(0.0, 0.0);
- glVertex3f(-2.0, -1.0, 0.0);
- glTexCoord2f(0.0, tcm);
- glVertex3f(-2.0, 1.0, 0.0);
- glTexCoord2f(tcm * 3000.0, tcm);
- glVertex3f(3000.0, 1.0, -6000.0);
- glTexCoord2f(tcm * 3000.0, 0.0);
- glVertex3f(3000.0, -1.0, -6000.0);
- glEnd();
- glFlush();
-}
-
-static void
-myReshape(int w, int h)
-{
- glViewport(0, 0, w, h);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- gluPerspective(60.0, 1.0 * (GLfloat) w / (GLfloat) h, 1.0, 30000.0);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
-}
-
-
-static void
-usage(void)
-{
- printf("usage:\n");
- printf(" b/B decrease/increase GL_TEXTURE_BASE_LEVEL\n");
- printf(" m/M decrease/increase GL_TEXTURE_MAX_LEVEL\n");
- printf(" n/N decrease/increase GL_TEXTURE_MIN_LOD\n");
- printf(" x/X decrease/increase GL_TEXTURE_MAX_LOD\n");
- printf(" l/L decrease/increase GL_TEXTURE_LOD_BIAS\n");
- printf(" f toggle nearest/linear filtering\n");
- printf(" t toggle texture color/image\n");
- printf(" SPACE reset values\n");
-}
-
-static void
-key(unsigned char k, int x, int y)
-{
- (void) x;
- (void) y;
- switch (k) {
- case 'b':
- BaseLevel--;
- if (BaseLevel < 0)
- BaseLevel = 0;
- break;
- case 'B':
- BaseLevel++;
- if (BaseLevel > 10)
- BaseLevel = 10;
- break;
- case 'm':
- MaxLevel--;
- if (MaxLevel < 0)
- MaxLevel = 0;
- break;
- case 'M':
- MaxLevel++;
- if (MaxLevel > 10)
- MaxLevel = 10;
- break;
- case 'l':
- LodBias -= 0.25;
- break;
- case 'L':
- LodBias += 0.25;
- break;
- case 'n':
- MinLod -= 0.25;
- break;
- case 'N':
- MinLod += 0.25;
- break;
- case 'x':
- MaxLod -= 0.25;
- break;
- case 'X':
- MaxLod += 0.25;
- break;
- case 'f':
- NearestFilter = !NearestFilter;
- break;
- case 't':
- if (texCurrent == texColor)
- texCurrent = texImage;
- else
- texCurrent = texColor;
- break;
- case ' ':
- InitValues();
- /* fall-through */
- case 'u':
- usage();
- break;
- case 27: /* Escape */
- exit(0);
- break;
- default:
- return;
- }
- glutPostRedisplay();
-}
-
-
-int
-main(int argc, char **argv)
-{
- glutInit(&argc, argv);
- glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH);
- glutInitWindowSize(600, 600);
- glutCreateWindow(argv[0]);
- glewInit();
- myinit();
- glutReshapeFunc(myReshape);
- glutDisplayFunc(display);
- glutKeyboardFunc(key);
- usage();
- glutMainLoop();
- return 0; /* ANSI C requires main to return int. */
-}
diff --git a/progs/tests/mipmap_view.c b/progs/tests/mipmap_view.c
deleted file mode 100644
index 808d348699..0000000000
--- a/progs/tests/mipmap_view.c
+++ /dev/null
@@ -1,435 +0,0 @@
-/*
- * Test mipmap generation and lod bias.
- *
- * Brian Paul
- * 17 March 2008
- */
-
-
-#include <assert.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-#include <GL/glext.h>
-
-#include "readtex.h"
-
-#define TEXTURE_FILE "../images/arch.rgb"
-
-#define LEVELS 8
-#define SIZE (1<<LEVELS)
-static int TexWidth = SIZE, TexHeight = SIZE;
-static int WinWidth = 1044, WinHeight = 900;
-static GLfloat Bias = 0.0;
-static GLboolean ScaleQuads = GL_FALSE;
-static GLboolean Linear = GL_FALSE;
-static GLint Win = 0;
-static GLint RenderTextureLevel = 0;
-static GLuint TexObj;
-
-
-
-static void
-CheckError(int line)
-{
- GLenum err = glGetError();
- if (err) {
- printf("GL Error 0x%x at line %d\n", (int) err, line);
- }
-}
-
-
-
-static void
-PrintString(const char *s)
-{
- while (*s) {
- glutBitmapCharacter(GLUT_BITMAP_8_BY_13, (int) *s);
- s++;
- }
-}
-
-
-
-
-static void
-MipGenTexture( void )
-{
- /* test auto mipmap generation */
- GLint width, height, i;
- GLenum format;
- GLubyte *image = LoadRGBImage(TEXTURE_FILE, &width, &height, &format);
- if (!image) {
- printf("Error: could not load texture image %s\n", TEXTURE_FILE);
- exit(1);
- }
- /* resize to TexWidth x TexHeight */
- if (width != TexWidth || height != TexHeight) {
- GLubyte *newImage = malloc(TexWidth * TexHeight * 4);
-
- fprintf(stderr, "rescale %d %d to %d %d\n", width, height,
- TexWidth, TexHeight);
- fflush(stderr);
-
- gluScaleImage(format, width, height, GL_UNSIGNED_BYTE, image,
- TexWidth, TexHeight, GL_UNSIGNED_BYTE, newImage);
- free(image);
- image = newImage;
- }
- printf("Using GL_SGIS_generate_mipmap\n");
- glTexParameteri(GL_TEXTURE_2D, GL_GENERATE_MIPMAP_SGIS, GL_TRUE);
- glTexImage2D(GL_TEXTURE_2D, 0, format, TexWidth, TexHeight, 0,
- format, GL_UNSIGNED_BYTE, image);
- free(image);
-
- /* make sure mipmap was really generated correctly */
- width = TexWidth;
- height = TexHeight;
- for (i = 0; i < 9; i++) {
- GLint w, h;
- glGetTexLevelParameteriv(GL_TEXTURE_2D, i, GL_TEXTURE_WIDTH, &w);
- glGetTexLevelParameteriv(GL_TEXTURE_2D, i, GL_TEXTURE_HEIGHT, &h);
- printf("Level %d size: %d x %d\n", i, w, h);
- assert(w == width);
- assert(h == height);
- width /= 2;
- height /= 2;
- }
-
-
- glTexParameteri(GL_TEXTURE_2D, GL_GENERATE_MIPMAP_SGIS, GL_FALSE);
-}
-
-
-
-static void
-ResetTextureLevel( int i )
-{
- GLubyte tex2d[SIZE*SIZE][4];
-
- {
- GLint Width = TexWidth / (1 << i);
- GLint Height = TexHeight / (1 << i);
- GLint s, t;
-
- for (s = 0; s < Width; s++) {
- for (t = 0; t < Height; t++) {
- tex2d[t*Width+s][0] = ((s / 16) % 2) ? 0 : 255;
- tex2d[t*Width+s][1] = ((t / 16) % 2) ? 0 : 255;
- tex2d[t*Width+s][2] = 128;
- tex2d[t*Width+s][3] = 255;
- }
- }
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
-
- glTexImage2D(GL_TEXTURE_2D, i, GL_RGB, Width, Height, 0,
- GL_RGBA, GL_UNSIGNED_BYTE, tex2d);
- }
-}
-
-
-static void
-ResetTexture( void )
-{
-#if 0
- /* This doesn't work so well as the arch texture is 512x512.
- */
- LoadRGBMipmaps(TEXTURE_FILE, GL_RGB);
-#else
- {
- int i;
-
- for (i = 0; i <= LEVELS; i++)
- {
- ResetTextureLevel(i);
- }
- }
-#endif
-}
-
-
-
-
-
-
-
-static void
-RenderTexture( void )
-{
- GLenum status;
- GLuint MyFB;
-
- fprintf(stderr, "RenderTextureLevel %d\n", RenderTextureLevel);
- fflush(stderr);
-
- /* gen framebuffer id, delete it, do some assertions, just for testing */
- glGenFramebuffersEXT(1, &MyFB);
- glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, MyFB);
- assert(glIsFramebufferEXT(MyFB));
-
- CheckError(__LINE__);
-
- /* Render color to texture */
- glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT,
- GL_COLOR_ATTACHMENT0_EXT,
- GL_TEXTURE_2D, TexObj,
- RenderTextureLevel);
-
-
-
- CheckError(__LINE__);
-
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, 5.0, 25.0);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef(0.0, 0.0, -15.0);
-
- status = glCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT);
- if (status != GL_FRAMEBUFFER_COMPLETE_EXT) {
- printf("Framebuffer incomplete!!!\n");
- }
-
- glViewport(0, 0,
- TexWidth / (1 << RenderTextureLevel),
- TexHeight / (1 << RenderTextureLevel));
-
- glClearColor(0.5, 0.5, 1.0, 0.0);
- glClear(GL_COLOR_BUFFER_BIT);
-
- CheckError(__LINE__);
-
- glBegin(GL_POLYGON);
- glColor3f(1, 0, 0);
- glVertex2f(-1, -1);
- glColor3f(0, 1, 0);
- glVertex2f(1, -1);
- glColor3f(0, 0, 1);
- glVertex2f(0, 1);
- glEnd();
-
-
- /* Bind normal framebuffer */
- glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
- CheckError(__LINE__);
-
- glDeleteFramebuffersEXT(1, &MyFB);
- CheckError(__LINE__);
-
- glClearColor(0, 0, 0, 0);
-}
-
-static void
-Display(void)
-{
- int x, y, bias;
- char str[100];
- int texWidth = TexWidth, texHeight = TexHeight;
-
- glViewport(0, 0, WinHeight, WinHeight);
-
- glClear(GL_COLOR_BUFFER_BIT);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(0, WinWidth, 0, WinHeight, -1, 1);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
-
- glColor3f(1,1,1);
-
- if (Linear) {
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
- }
- else {
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_NEAREST);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- }
-
- y = WinHeight - 300;
- x = 4;
-
- for (bias = -1; bias < 11; bias++) {
-
- if (ScaleQuads) {
- if (bias > 0) {
- if (texWidth == 1 && texHeight == 1)
- break;
- texWidth = TexWidth >> bias;
- texHeight = TexHeight >> bias;
- if (texWidth < 1)
- texWidth = 1;
- if (texHeight < 1)
- texHeight = 1;
- }
- glTexEnvf(GL_TEXTURE_FILTER_CONTROL_EXT, GL_TEXTURE_LOD_BIAS_EXT, 0.0);
- }
- else {
- glTexEnvf(GL_TEXTURE_FILTER_CONTROL_EXT, GL_TEXTURE_LOD_BIAS_EXT, bias);
- }
-
- glRasterPos2f(x, y + TexHeight + 5);
- if (ScaleQuads)
- sprintf(str, "Texture Level %d: %d x %d",
- (bias < 0 ? 0 : bias),
- texWidth, texHeight);
- else
- sprintf(str, "Texture LOD Bias = %d", bias);
- PrintString(str);
-
- glPushMatrix();
- glTranslatef(x, y, 0);
-
- glEnable(GL_TEXTURE_2D);
-
- glBegin(GL_POLYGON);
- glTexCoord2f(0, 0); glVertex2f(0, 0);
- glTexCoord2f(1, 0); glVertex2f(texWidth, 0);
- glTexCoord2f(1, 1); glVertex2f(texWidth, texHeight);
- glTexCoord2f(0, 1); glVertex2f(0, texHeight);
- glEnd();
-
- glPopMatrix();
-
- glDisable(GL_TEXTURE_2D);
-
- x += TexWidth + 4;
- if (x >= WinWidth) {
- x = 4;
- y -= 300;
- }
- }
-
- glutSwapBuffers();
-}
-
-
-static void
-Reshape(int width, int height)
-{
- WinWidth = width;
- WinHeight = height;
-}
-
-
-static void
-Key(unsigned char key, int x, int y)
-{
- (void) x;
- (void) y;
- switch (key) {
- case 'b':
- Bias -= 10;
- break;
- case 'B':
- Bias += 10;
- break;
- case 'l':
- Linear = !Linear;
- break;
- case 'v':
- RenderTextureLevel++;
- break;
- case 'V':
- RenderTextureLevel--;
- break;
- case 'r':
- RenderTexture();
- break;
- case 'X':
- ResetTexture();
- break;
- case 'x':
- ResetTextureLevel(RenderTextureLevel);
- break;
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- Bias = 100.0 * (key - '0');
- break;
- case 's':
- ScaleQuads = !ScaleQuads;
- break;
- case ' ':
- MipGenTexture();
- Bias = 0;
- Linear = 0;
- RenderTextureLevel = 0;
- ScaleQuads = 0;
- break;
-
- case 27:
- glutDestroyWindow(Win);
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void
-Init(void)
-{
- GLfloat maxBias;
-
- if (!glutExtensionSupported("GL_EXT_texture_lod_bias")) {
- printf("Sorry, GL_EXT_texture_lod_bias not supported by this renderer.\n");
- exit(1);
- }
-
- if (!glutExtensionSupported("GL_SGIS_generate_mipmap")) {
- printf("Sorry, GL_SGIS_generate_mipmap not supported by this renderer.\n");
- exit(1);
- }
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
-
- glGenTextures(1, &TexObj);
- glBindTexture(GL_TEXTURE_2D, TexObj);
-
- if (1)
- MipGenTexture();
- else
- ResetTexture();
-
- /* mipmapping required for this extension */
- glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
-
- glGetFloatv(GL_MAX_TEXTURE_LOD_BIAS_EXT, &maxBias);
-
- printf("GL_RENDERER: %s\n", (char*) glGetString(GL_RENDERER));
- printf("LOD bias range: [%g, %g]\n", -maxBias, maxBias);
-
- printf("Press 's' to toggle quad scaling\n");
-}
-
-
-int
-main(int argc, char *argv[])
-{
- glutInit(&argc, argv);
- glutInitWindowPosition(0, 0);
- glutInitWindowSize(WinWidth, WinHeight);
- glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE);
- Win = glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Display);
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/multipal.c b/progs/tests/multipal.c
deleted file mode 100644
index 4a94016978..0000000000
--- a/progs/tests/multipal.c
+++ /dev/null
@@ -1,374 +0,0 @@
-
-/*
- * Test multitexture and paletted textures.
- */
-
-#include <assert.h>
-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <stddef.h> /* for ptrdiff_t, referenced by GL.h when GL_GLEXT_LEGACY defined */
-#ifdef _WIN32
-#include <windows.h>
-#endif
-#define GL_GLEXT_LEGACY
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-#include "../util/readtex.c" /* I know, this is a hack. */
-
-#define TEXTURE_1_FILE "../images/tile.rgb"
-#define TEXTURE_2_FILE "../images/reflect.rgb"
-
-#define TEX0 1
-#define TEX1 2
-#define TEXBOTH 3
-#define ANIMATE 10
-#define QUIT 100
-
-static GLboolean Animate = GL_TRUE;
-
-static GLfloat Drift = 0.0;
-static GLfloat Xrot = 20.0, Yrot = 30.0, Zrot = 0.0;
-
-
-
-static void Idle( void )
-{
- if (Animate) {
- Drift += 0.05;
- if (Drift >= 1.0)
- Drift = 0.0;
-
-#ifdef GL_ARB_multitexture
- glActiveTextureARB(GL_TEXTURE0_ARB);
-#endif
- glMatrixMode(GL_TEXTURE);
- glLoadIdentity();
- glTranslatef(Drift, 0.0, 0.0);
- glMatrixMode(GL_MODELVIEW);
-
-#ifdef GL_ARB_multitexture
- glActiveTextureARB(GL_TEXTURE1_ARB);
-#endif
- glMatrixMode(GL_TEXTURE);
- glLoadIdentity();
- glTranslatef(0.0, Drift, 0.0);
- glMatrixMode(GL_MODELVIEW);
-
- glutPostRedisplay();
- }
-}
-
-
-static void DrawObject(void)
-{
- glBegin(GL_QUADS);
-
-#ifdef GL_ARB_multitexture
- glMultiTexCoord2fARB(GL_TEXTURE0_ARB, 0.0, 0.0);
- glMultiTexCoord2fARB(GL_TEXTURE1_ARB, 0.0, 0.0);
- glVertex2f(-1.0, -1.0);
-
- glMultiTexCoord2fARB(GL_TEXTURE0_ARB, 2.0, 0.0);
- glMultiTexCoord2fARB(GL_TEXTURE1_ARB, 1.0, 0.0);
- glVertex2f(1.0, -1.0);
-
- glMultiTexCoord2fARB(GL_TEXTURE0_ARB, 2.0, 2.0);
- glMultiTexCoord2fARB(GL_TEXTURE1_ARB, 1.0, 1.0);
- glVertex2f(1.0, 1.0);
-
- glMultiTexCoord2fARB(GL_TEXTURE0_ARB, 0.0, 2.0);
- glMultiTexCoord2fARB(GL_TEXTURE1_ARB, 0.0, 1.0);
- glVertex2f(-1.0, 1.0);
-#else
- glTexCoord2f(0.0, 0.0);
- glVertex2f(-1.0, -1.0);
-
- glTexCoord2f(1.0, 0.0);
- glVertex2f(1.0, -1.0);
-
- glTexCoord2f(1.0, 1.0);
- glVertex2f(1.0, 1.0);
-
- glTexCoord2f(0.0, 1.0);
- glVertex2f(-1.0, 1.0);
-#endif
-
- glEnd();
-}
-
-
-
-static void Display( void )
-{
- glClear( GL_COLOR_BUFFER_BIT );
-
- glPushMatrix();
- glRotatef(Xrot, 1.0, 0.0, 0.0);
- glRotatef(Yrot, 0.0, 1.0, 0.0);
- glRotatef(Zrot, 0.0, 0.0, 1.0);
- glScalef(5.0, 5.0, 5.0);
- DrawObject();
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -1.0, 1.0, -1.0, 1.0, 10.0, 100.0 );
- /*glOrtho( -6.0, 6.0, -6.0, 6.0, 10.0, 100.0 );*/
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -70.0 );
-}
-
-
-static void ModeMenu(int entry)
-{
- GLboolean enable0 = GL_FALSE, enable1 = GL_FALSE;
- if (entry==TEX0) {
- enable0 = GL_TRUE;
- }
- else if (entry==TEX1) {
- enable1 = GL_TRUE;
- }
- else if (entry==TEXBOTH) {
- enable0 = GL_TRUE;
- enable1 = GL_TRUE;
- }
- else if (entry==ANIMATE) {
- Animate = !Animate;
- }
- else if (entry==QUIT) {
- exit(0);
- }
-
- if (entry != ANIMATE) {
-#ifdef GL_ARB_multitexture
- glActiveTextureARB(GL_TEXTURE0_ARB);
-#endif
- if (enable0) {
- glEnable(GL_TEXTURE_2D);
- }
- else
- glDisable(GL_TEXTURE_2D);
-
-#ifdef GL_ARB_multitexture
- glActiveTextureARB(GL_TEXTURE1_ARB);
-#endif
- if (enable1) {
- glEnable(GL_TEXTURE_2D);
- }
- else
- glDisable(GL_TEXTURE_2D);
- }
-
- glutPostRedisplay();
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void SpecialKey( int key, int x, int y )
-{
- float step = 3.0;
- (void) x;
- (void) y;
-
- switch (key) {
- case GLUT_KEY_UP:
- Xrot += step;
- break;
- case GLUT_KEY_DOWN:
- Xrot -= step;
- break;
- case GLUT_KEY_LEFT:
- Yrot += step;
- break;
- case GLUT_KEY_RIGHT:
- Yrot -= step;
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void load_tex(const char *fname, int channel)
-{
- GLubyte *image;
- GLenum format;
- GLint w, h;
- GLubyte *grayImage;
- int i;
- GLubyte table[256][4];
-
- image = LoadRGBImage(fname, &w, &h, &format);
- if (!image)
- exit(1);
-
- printf("%s %d x %d\n", fname, w, h);
- grayImage = malloc(w * h * 1);
- assert(grayImage);
- for (i = 0; i < w * h; i++) {
- int g = (image[i*3+0] + image[i*3+1] + image[i*3+2]) / 3;
- assert(g < 256);
- grayImage[i] = g;
- }
-
- glTexImage2D(GL_TEXTURE_2D, 0, GL_COLOR_INDEX, w, h, 0, GL_COLOR_INDEX,
- GL_UNSIGNED_BYTE, grayImage);
-
- for (i = 0; i < 256; i++) {
- table[i][0] = channel ? i : 0;
- table[i][1] = i;
- table[i][2] = channel ? 0 : i;
- table[i][3] = 255;
- }
-
- glColorTableEXT(GL_TEXTURE_2D, /* target */
- GL_RGBA, /* internal format */
- 256, /* table size */
- GL_RGBA, /* table format */
- GL_UNSIGNED_BYTE, /* table type */
- table); /* the color table */
-
- free(grayImage);
- free(image);
-}
-
-
-
-static void Init( int argc, char *argv[] )
-{
- GLuint texObj[2];
- GLint units;
-
- if (!glutExtensionSupported("GL_ARB_multitexture")) {
- printf("Sorry, GL_ARB_multitexture not supported by this renderer.\n");
- exit(1);
- }
- if (!glutExtensionSupported("GL_EXT_paletted_texture")) {
- printf("Sorry, GL_EXT_paletted_texture not supported by this renderer.\n");
- exit(1);
- }
-
- glGetIntegerv(GL_MAX_TEXTURE_UNITS_ARB, &units);
- printf("%d texture units supported\n", units);
-
- /* allocate two texture objects */
- glGenTextures(2, texObj);
-
- /* setup texture obj 0 */
- glBindTexture(GL_TEXTURE_2D, texObj[0]);
-#ifdef LINEAR_FILTER
- /* linear filtering looks much nicer but is much slower for Mesa */
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
-foo
-#else
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
-#endif
-
- glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
-
- load_tex(TEXTURE_1_FILE, 0);
-#if 0
- if (!LoadRGBMipmaps(TEXTURE_1_FILE, GL_RGB)) {
- printf("Error: couldn't load texture image\n");
- exit(1);
- }
-#endif
-
- /* setup texture obj 1 */
- glBindTexture(GL_TEXTURE_2D, texObj[1]);
-#ifdef LINEAR_FILTER
- /* linear filtering looks much nicer but is much slower for Mesa */
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
-foo
-#else
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
-#endif
-
- glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
-
- load_tex(TEXTURE_2_FILE, 1);
-#if 0
- if (!LoadRGBMipmaps(TEXTURE_2_FILE, GL_RGB)) {
- printf("Error: couldn't load texture image\n");
- exit(1);
- }
-#endif
-
- /* now bind the texture objects to the respective texture units */
-#ifdef GL_ARB_multitexture
- glActiveTextureARB(GL_TEXTURE0_ARB);
- glBindTexture(GL_TEXTURE_2D, texObj[0]);
- glActiveTextureARB(GL_TEXTURE1_ARB);
- glBindTexture(GL_TEXTURE_2D, texObj[1]);
-#endif
-
- glShadeModel(GL_FLAT);
- glClearColor(0.3, 0.3, 0.4, 1.0);
-
- ModeMenu(TEXBOTH);
-
- if (argc > 1 && strcmp(argv[1], "-info")==0) {
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- printf("GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- printf("GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- printf("GL_EXTENSIONS = %s\n", (char *) glGetString(GL_EXTENSIONS));
- }
-}
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowSize( 300, 300 );
- glutInitWindowPosition( 0, 0 );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE );
- glutCreateWindow(argv[0] );
- glewInit();
-
- Init( argc, argv );
-
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutSpecialFunc( SpecialKey );
- glutDisplayFunc( Display );
- glutIdleFunc( Idle );
-
- glutCreateMenu(ModeMenu);
- glutAddMenuEntry("Texture 0", TEX0);
- glutAddMenuEntry("Texture 1", TEX1);
- glutAddMenuEntry("Multi-texture", TEXBOTH);
- glutAddMenuEntry("Toggle Animation", ANIMATE);
- glutAddMenuEntry("Quit", QUIT);
- glutAttachMenu(GLUT_RIGHT_BUTTON);
-
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/multitexarray.c b/progs/tests/multitexarray.c
deleted file mode 100644
index 518fee2992..0000000000
--- a/progs/tests/multitexarray.c
+++ /dev/null
@@ -1,240 +0,0 @@
-/*
- * Test vertex arrays and multitexture.
- * Press 'a' to toggle vertex arrays on/off.
- * When you run this program you should see a square with four colors:
- *
- * +------+------+
- * |yellow| pink |
- * +------+------+
- * |green | blue |
- * +------+------+
- */
-
-
-#include <assert.h>
-#include <math.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include "GL/glew.h"
-#include "GL/glut.h"
-
-static GLuint Window = 0;
-
-static GLuint TexObj[2];
-static GLfloat Angle = 0.0f;
-static GLboolean UseArrays = 1, Anim = 0;
-
-static GLfloat VertArray[4][2] = {
- {-1.2, -1.2}, {1.2, -1.2}, {1.2, 1.2}, {-1.2, 1.2}
-};
-
-static GLfloat Tex0Array[4][2] = {
- {0, 0}, {1, 0}, {1, 1}, {0, 1}
-};
-
-static GLfloat Tex1Array[4][2] = {
- {0, 0}, {1, 0}, {1, 1}, {0, 1}
-};
-
-
-static void init_arrays(void)
-{
- glVertexPointer(2, GL_FLOAT, 0, VertArray);
- glEnableClientState(GL_VERTEX_ARRAY);
-
- glClientActiveTextureARB(GL_TEXTURE0_ARB);
- glTexCoordPointer(2, GL_FLOAT, 0, Tex0Array);
- glEnableClientState(GL_TEXTURE_COORD_ARRAY);
-
- glClientActiveTextureARB(GL_TEXTURE1_ARB);
- glTexCoordPointer(2, GL_FLOAT, 0, Tex1Array);
- glEnableClientState(GL_TEXTURE_COORD_ARRAY);
-}
-
-
-static void draw( void )
-{
- glClear( GL_COLOR_BUFFER_BIT );
-
- glColor3f( 0.0, 0.0, 0.0 );
-
- /* draw first polygon */
- glPushMatrix();
- glRotatef( Angle, 0.0, 0.0, 1.0 );
-
- if (UseArrays) {
- glDrawArrays(GL_POLYGON, 0, 4);
- }
- else {
- glBegin( GL_POLYGON );
- glTexCoord2f( 0.0, 0.0 );
- glMultiTexCoord2fARB(GL_TEXTURE1_ARB, 0.0, 0.0);
- glVertex2f( -1.0, -1.0 );
-
- glTexCoord2f( 1.0, 0.0 );
- glMultiTexCoord2fARB(GL_TEXTURE1_ARB, 1.0, 0.0);
- glVertex2f( 1.0, -1.0 );
-
- glTexCoord2f( 1.0, 1.0 );
- glMultiTexCoord2fARB(GL_TEXTURE1_ARB, 1.0, 1.0);
- glVertex2f( 1.0, 1.0 );
-
- glTexCoord2f( 0.0, 1.0 );
- glMultiTexCoord2fARB(GL_TEXTURE1_ARB, 0.0, 1.0);
- glVertex2f( -1.0, 1.0 );
- glEnd();
- }
-
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-
-static void idle( void )
-{
- Angle += 2.0;
- glutPostRedisplay();
-}
-
-
-
-/* change view Angle, exit upon ESC */
-static void key(unsigned char k, int x, int y)
-{
- (void) x;
- (void) y;
- switch (k) {
- case 'a':
- UseArrays = !UseArrays;
- printf("UseArrays: %d\n", UseArrays);
- break;
- case ' ':
- Anim = !Anim;
- if (Anim)
- glutIdleFunc(idle);
- else
- glutIdleFunc(NULL);
- break;
- case 27:
- glDeleteTextures( 2, TexObj );
- glutDestroyWindow(Window);
- exit(0);
- }
- glutPostRedisplay();
-}
-
-
-
-/* new window size or exposure */
-static void reshape( int width, int height )
-{
- glViewport(0, 0, (GLint)width, (GLint)height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- /* glOrtho( -3.0, 3.0, -3.0, 3.0, -10.0, 10.0 );*/
- glFrustum( -2.0, 2.0, -2.0, 2.0, 6.0, 20.0 );
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -8.0 );
-}
-
-
-static void init( void )
-{
- static int width=8, height=8;
- GLubyte tex[64][3];
- GLint i, j;
-
- /* generate texture object IDs */
- glGenTextures( 2, TexObj );
-
- /*
- * setup first texture object
- */
- glActiveTextureARB(GL_TEXTURE0_ARB);
- glEnable( GL_TEXTURE_2D );
- glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_ADD );
-
- glBindTexture( GL_TEXTURE_2D, TexObj[0] );
- assert(glIsTexture(TexObj[0]));
-
- /* red over black */
- for (i=0;i<height;i++) {
- for (j=0;j<width;j++) {
- int p = i*width+j;
- if (i < height / 2) {
- tex[p][0] = 0; tex[p][1] = 0; tex[p][2] = 0;
- }
- else {
- tex[p][0] = 255; tex[p][1] = 0; tex[p][2] = 0;
- }
- }
- }
-
- glTexImage2D( GL_TEXTURE_2D, 0, 3, width, height, 0,
- GL_RGB, GL_UNSIGNED_BYTE, tex );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT );
-
-
- /*
- * setup second texture object
- */
- glActiveTextureARB(GL_TEXTURE1_ARB);
- glEnable( GL_TEXTURE_2D );
- glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_ADD );
-
- glBindTexture( GL_TEXTURE_2D, TexObj[1] );
- assert(glIsTexture(TexObj[1]));
-
- /* left=green, right = blue */
- for (i=0;i<height;i++) {
- for (j=0;j<width;j++) {
- int p = i*width+j;
- if (j < width / 2) {
- tex[p][0] = 0; tex[p][1] = 255; tex[p][2] = 0;
- }
- else {
- tex[p][0] = 0; tex[p][1] = 0; tex[p][2] = 255;
- }
- }
- }
- glTexImage2D( GL_TEXTURE_2D, 0, 3, width, height, 0,
- GL_RGB, GL_UNSIGNED_BYTE, tex );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT );
-}
-
-
-
-int main( int argc, char *argv[] )
-{
- glutInit(&argc, argv);
- glutInitWindowPosition(0, 0);
- glutInitWindowSize(300, 300);
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE );
-
- Window = glutCreateWindow("Texture Objects");
- glewInit();
- if (!Window) {
- exit(1);
- }
-
- init();
- init_arrays();
-
- glutReshapeFunc( reshape );
- glutKeyboardFunc( key );
- if (Anim)
- glutIdleFunc( idle );
- glutDisplayFunc( draw );
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/multiwindow.c b/progs/tests/multiwindow.c
deleted file mode 100644
index 6db552d195..0000000000
--- a/progs/tests/multiwindow.c
+++ /dev/null
@@ -1,170 +0,0 @@
-
-/*
- * A skeleton/template GLUT program
- *
- * Written by Brian Paul and in the public domain.
- */
-
-
-/*
- * Revision 1.1 2001/08/21 14:25:31 brianp
- * simple multi-window GLUT test prog
- *
- * Revision 1.1.1.1 1999/08/19 00:55:42 jtg
- * Imported sources
- *
- * Revision 1.2 1998/11/07 14:20:14 brianp
- * added simple rotation, animation of cube
- *
- * Revision 1.1 1998/11/07 14:14:37 brianp
- * Initial revision
- *
- */
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-
-static GLint Window[2];
-
-static GLfloat Xrot = 0, Yrot = 0, Zrot = 0;
-static GLboolean Anim = GL_TRUE;
-
-
-static void Idle( void )
-{
- Xrot += 3.0;
- Yrot += 4.0;
- Zrot += 2.0;
-
- glutSetWindow(Window[0]);
- glutPostRedisplay();
- glutSetWindow(Window[1]);
- glutPostRedisplay();
-}
-
-
-static void Display0( void )
-{
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
-
- glEnable(GL_LIGHTING);
- glEnable(GL_LIGHT0);
- glEnable(GL_DEPTH_TEST);
-
- glPushMatrix();
- glRotatef(Xrot, 1, 0, 0);
- glRotatef(Yrot, 0, 1, 0);
- glRotatef(Zrot, 0, 0, 1);
-
- glColor3f(0, 1, 0);
- glutSolidCube(2.0);
-
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-static void Display1( void )
-{
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
-
- glPushMatrix();
- glRotatef(Xrot, 1, 0, 0);
- glRotatef(Yrot, 0, 1, 0);
- glRotatef(Zrot, 0, 0, 1);
-
- glShadeModel(GL_FLAT);
-
- glBegin(GL_TRIANGLE_STRIP);
- glColor3f(1, 0, 0);
- glVertex2f(-1, -1);
- glVertex2f( 1, -1);
- glColor3f(1, 0, 0);
- glVertex2f( -1, 1);
- glColor3f(0, 0, 1);
- glVertex2f( 1, 1);
- glEnd();
-
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -1.0, 1.0, -1.0, 1.0, 5.0, 25.0 );
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -15.0 );
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- const GLfloat step = 3.0;
- (void) x;
- (void) y;
- switch (key) {
- case 'a':
- Anim = !Anim;
- if (Anim)
- glutIdleFunc(Idle);
- else
- glutIdleFunc(NULL);
- break;
- case 'z':
- Zrot -= step;
- break;
- case 'Z':
- Zrot += step;
- break;
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
-
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 400, 400 );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH );
- Window[0] = glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display0 );
- glutIdleFunc(Idle);
- printf("GL_RENDERER[0] = %s\n", (char *) glGetString(GL_RENDERER));
-
- glutInitWindowPosition( 500, 0 );
- glutInitWindowSize( 400, 400 );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH );
- Window[1] = glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display1 );
- glutIdleFunc(Idle);
- printf("GL_RENDERER[1] = %s\n", (char *) glGetString(GL_RENDERER));
-
- glutMainLoop();
-
- return 0;
-}
diff --git a/progs/tests/no_s3tc.c b/progs/tests/no_s3tc.c
deleted file mode 100644
index 31cfb40b9d..0000000000
--- a/progs/tests/no_s3tc.c
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * (C) Copyright IBM Corporation 2004
- * 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
- * on the rights to use, copy, modify, merge, publish, distribute, sub
- * license, 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 (including the next
- * paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
- * VA LINUX SYSTEM, IBM AND/OR THEIR SUPPLIERS 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.
- */
-
-/**
- * \file no_s3tc.c
- * Test program to verify the behavior of an OpenGL implementation when
- * an application calls \c glCompressedTexImage2D with an unsupported (but
- * valid) compression format. The most common example is calling it with
- * \c GL_COMPRESSED_RGBA_S3TC_DXT1_EXT when GL_EXT_texture_compression_s3tc
- * is not supported.
- *
- * This tests Mesa bug #1028405.
- *
- * \author Ian Romanick <idr@us.ibm.com>
- */
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-#include <GL/glext.h>
-
-static unsigned data[16];
-
-int
-main( int argc, char ** argv )
-{
- float gl_version;
- GLenum format;
- GLuint size;
- GLuint width;
- GLenum err;
-
-
- glutInit( & argc, argv );
- glutInitDisplayMode( GLUT_RGB | GLUT_DEPTH | GLUT_DOUBLE );
-
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 300, 300 );
- glutCreateWindow( "No S3TC Test" );
- glewInit();
-
- gl_version = strtod( (const char *) glGetString( GL_VERSION ), NULL );
- if ( ! glutExtensionSupported( "GL_ARB_texture_compression" )
- && (gl_version < 1.3) ) {
- fprintf( stderr, "Either OpenGL 1.3 or GL_ARB_texture_compression "
- "must be supported.\n" );
- return( EXIT_SUCCESS );
- }
-
-
- if ( ! glutExtensionSupported( "GL_EXT_texture_compression_s3tc" ) ) {
- format = GL_COMPRESSED_RGBA_S3TC_DXT1_EXT;
- width = 4;
- size = 8;
- }
- else if ( ! glutExtensionSupported( "GL_3DFX_texture_compression_FXT1" ) ) {
- format = GL_COMPRESSED_RGBA_FXT1_3DFX;
- width = 8;
- size = 16;
- }
- else {
- fprintf( stderr, "Either GL_EXT_texture_compression_s3tc or "
- "GL_3DFX_texture_compression_FXT1 must NOT be supported.\n" );
- return( EXIT_SUCCESS );
- }
-
- glCompressedTexImage2D( GL_TEXTURE_2D, 0, format, width, 4, 0,
- size, data );
- err = glGetError();
- if ( err != GL_INVALID_ENUM ) {
- fprintf( stderr, "GL error 0x%04x should have been generated, but "
- "0x%04x was generated instead.\n", GL_INVALID_ENUM, err );
- }
-
- return (err == GL_INVALID_ENUM) ? EXIT_SUCCESS : EXIT_FAILURE;
-}
diff --git a/progs/tests/occlude.c b/progs/tests/occlude.c
deleted file mode 100644
index 8f7b90984e..0000000000
--- a/progs/tests/occlude.c
+++ /dev/null
@@ -1,234 +0,0 @@
-/*
- * GL_HP_occlustion_test demo
- *
- * Brian Paul
- * 31 March 2000
- *
- * Copyright (C) 2000 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
- * BRIAN PAUL 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.
- */
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <math.h>
-#include <GL/glut.h>
-#include <GL/glext.h>
-
-
-static GLfloat Xpos = 0;
-static GLboolean Anim = GL_TRUE;
-
-
-static void
-PrintString(const char *s)
-{
- while (*s) {
- glutBitmapCharacter(GLUT_BITMAP_8_BY_13, (int) *s);
- s++;
- }
-}
-
-
-
-static void Idle(void)
-{
- static int lastTime = 0;
- static int sign = +1;
- int time = glutGet(GLUT_ELAPSED_TIME);
- float step;
-
- if (lastTime == 0)
- lastTime = time;
- else if (time - lastTime < 20) /* 50Hz update */
- return;
-
- step = (time - lastTime) / 1000.0 * sign;
- lastTime = time;
-
- Xpos += step;
-
- if (Xpos > 2.5) {
- Xpos = 2.5;
- sign = -1;
- }
- else if (Xpos < -2.5) {
- Xpos = -2.5;
- sign = +1;
- }
- glutPostRedisplay();
-}
-
-
-static void Display( void )
-{
- GLboolean result;
-
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
-
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -1.0, 1.0, -1.0, 1.0, 5.0, 25.0 );
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -15.0 );
-
- /* draw the occluding polygons */
- glColor3f(0, 0.6, 0.8);
- glBegin(GL_QUADS);
- glVertex2f(-1.6, -1.5);
- glVertex2f(-0.4, -1.5);
- glVertex2f(-0.4, 1.5);
- glVertex2f(-1.6, 1.5);
-
- glVertex2f( 0.4, -1.5);
- glVertex2f( 1.6, -1.5);
- glVertex2f( 1.6, 1.5);
- glVertex2f( 0.4, 1.5);
- glEnd();
-
- /* draw the test polygon with occlusion testing */
- glPushMatrix();
- glTranslatef(Xpos, 0, -0.5);
- glScalef(0.3, 0.3, 1.0);
- glRotatef(-90.0 * Xpos, 0, 0, 1);
-
- glEnable(GL_OCCLUSION_TEST_HP); /* NOTE: enabling the occlusion test */
- /* doesn't clear the result flag! */
- glColorMask(0, 0, 0, 0);
- glDepthMask(GL_FALSE);
- /* this call clear's the result flag. Not really needed for this demo. */
- glGetBooleanv(GL_OCCLUSION_TEST_RESULT_HP, &result);
-
- glBegin(GL_POLYGON);
- glVertex3f(-1, -1, 0);
- glVertex3f( 1, -1, 0);
- glVertex3f( 1, 1, 0);
- glVertex3f(-1, 1, 0);
- glEnd();
-
- glGetBooleanv(GL_OCCLUSION_TEST_RESULT_HP, &result);
- /* turn off occlusion testing */
- glDisable(GL_OCCLUSION_TEST_HP);
- glColorMask(1, 1, 1, 1);
- glDepthMask(GL_TRUE);
-
- /* draw the green rect, so we can see what's going on */
- glColor3f(0.8, 0.5, 0);
- glBegin(GL_POLYGON);
- glVertex3f(-1, -1, 0);
- glVertex3f( 1, -1, 0);
- glVertex3f( 1, 1, 0);
- glVertex3f(-1, 1, 0);
- glEnd();
-
- glPopMatrix();
-
-
- /* Print result message */
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glOrtho( -1.0, 1.0, -1.0, 1.0, -1.0, 1.0 );
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
-
- glColor3f(1, 1, 1);
- glRasterPos3f(-0.25, -0.7, 0);
-
- if (result)
- PrintString(" Visible");
- else
- PrintString("Fully Occluded");
-
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 'a':
- Anim = !Anim;
- if (Anim)
- glutIdleFunc( Idle );
- else
- glutIdleFunc( NULL );
- break;
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void SpecialKey( int key, int x, int y )
-{
- const GLfloat step = 0.1;
- (void) x;
- (void) y;
- switch (key) {
- case GLUT_KEY_LEFT:
- Xpos -= step;
- break;
- case GLUT_KEY_RIGHT:
- Xpos += step;
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void Init( void )
-{
- const char *ext = (const char *) glGetString(GL_EXTENSIONS);
- if (!strstr(ext, "GL_HP_occlusion_test")) {
- printf("Sorry, this demo requires the GL_HP_occlusion_test extension\n");
- exit(-1);
- }
-
- glEnable(GL_DEPTH_TEST);
-}
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 400, 400 );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH );
- glutCreateWindow(argv[0]);
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutSpecialFunc( SpecialKey );
- glutIdleFunc( Idle );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/packedpixels.c b/progs/tests/packedpixels.c
deleted file mode 100644
index 34df95549a..0000000000
--- a/progs/tests/packedpixels.c
+++ /dev/null
@@ -1,377 +0,0 @@
-/*
- * Test packed pixel formats for textures.
- * Brian Paul
- * 12 May 2004
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <string.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-
-struct pixel_format {
- const char *name;
- GLenum format;
- GLenum type;
- GLint bytes;
- GLuint redTexel, greenTexel; /* with approx 51% alpha, when applicable */
-};
-
-static const struct pixel_format Formats[] = {
-
- { "GL_RGBA/GL_UNSIGNED_INT_8_8_8_8",
- GL_RGBA, GL_UNSIGNED_INT_8_8_8_8, 4, 0xff000080, 0x00ff0080 },
- { "GL_RGBA/GL_UNSIGNED_INT_8_8_8_8_REV",
- GL_RGBA, GL_UNSIGNED_INT_8_8_8_8_REV, 4, 0x800000ff, 0x8000ff00 },
- { "GL_RGBA/GL_UNSIGNED_INT_10_10_10_2",
- GL_RGBA, GL_UNSIGNED_INT_10_10_10_2, 4, 0xffc00002, 0x3ff002 },
- { "GL_RGBA/GL_UNSIGNED_INT_2_10_10_10_REV",
- GL_RGBA, GL_UNSIGNED_INT_2_10_10_10_REV, 4, 0xc00003ff, 0xc00ffc00 },
- { "GL_RGBA/GL_UNSIGNED_SHORT_4_4_4_4",
- GL_RGBA, GL_UNSIGNED_SHORT_4_4_4_4, 2, 0xf008, 0x0f08 },
- { "GL_RGBA/GL_UNSIGNED_SHORT_4_4_4_4_REV",
- GL_RGBA, GL_UNSIGNED_SHORT_4_4_4_4_REV, 2, 0x800f, 0x80f0 },
- { "GL_RGBA/GL_UNSIGNED_SHORT_5_5_5_1",
- GL_RGBA, GL_UNSIGNED_SHORT_5_5_5_1, 2, 0xf801, 0x7c1 },
- { "GL_RGBA/GL_UNSIGNED_SHORT_1_5_5_5_REV",
- GL_RGBA, GL_UNSIGNED_SHORT_1_5_5_5_REV, 2, 0x801f, 0x83e0 },
-
- { "GL_BGRA/GL_UNSIGNED_INT_8_8_8_8",
- GL_BGRA, GL_UNSIGNED_INT_8_8_8_8, 4, 0x0000ff80, 0x00ff0080 },
- { "GL_BGRA/GL_UNSIGNED_INT_8_8_8_8_REV",
- GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV, 4, 0x80ff0000, 0x8000ff00 },
- { "GL_BGRA/GL_UNSIGNED_SHORT_4_4_4_4",
- GL_BGRA, GL_UNSIGNED_SHORT_4_4_4_4, 2, 0x00f8, 0x0f08 },
- { "GL_BGRA/GL_UNSIGNED_SHORT_4_4_4_4_REV",
- GL_BGRA, GL_UNSIGNED_SHORT_4_4_4_4_REV, 2, 0x8f00, 0x80f0 },
- { "GL_BGRA/GL_UNSIGNED_SHORT_5_5_5_1",
- GL_BGRA, GL_UNSIGNED_SHORT_5_5_5_1, 2, 0x3f, 0x7c1 },
- { "GL_BGRA/GL_UNSIGNED_SHORT_1_5_5_5_REV",
- GL_BGRA, GL_UNSIGNED_SHORT_1_5_5_5_REV, 2, 0xfc00, 0x83e0 },
-
- { "GL_ABGR_EXT/GL_UNSIGNED_INT_8_8_8_8",
- GL_ABGR_EXT, GL_UNSIGNED_INT_8_8_8_8, 4, 0x800000ff, 0x8000ff00 },
- { "GL_ABGR_EXT/GL_UNSIGNED_INT_8_8_8_8_REV",
- GL_ABGR_EXT, GL_UNSIGNED_INT_8_8_8_8_REV, 4, 0xff000080, 0x00ff0080 },
- { "GL_ABGR_EXT/GL_UNSIGNED_SHORT_4_4_4_4",
- GL_ABGR_EXT, GL_UNSIGNED_SHORT_4_4_4_4, 2, 0x800f, 0x80f0 },
- { "GL_ABGR_EXT/GL_UNSIGNED_SHORT_4_4_4_4_REV",
- GL_ABGR_EXT, GL_UNSIGNED_SHORT_4_4_4_4_REV, 2, 0xf008, 0x0f08 },
- { "GL_ABGR_EXT/GL_UNSIGNED_SHORT_5_5_5_1",
- GL_ABGR_EXT, GL_UNSIGNED_SHORT_5_5_5_1, 2, 0xf801, 0xf83e },
- { "GL_ABGR_EXT/GL_UNSIGNED_SHORT_1_5_5_5_REV",
- GL_ABGR_EXT, GL_UNSIGNED_SHORT_1_5_5_5_REV, 2, 0x800f, 0x7c0f },
-
- { "GL_RGB/GL_UNSIGNED_SHORT_5_6_5",
- GL_RGB, GL_UNSIGNED_SHORT_5_6_5, 2, 0xf800, 0x7e0 },
- { "GL_RGB/GL_UNSIGNED_SHORT_5_6_5_REV",
- GL_RGB, GL_UNSIGNED_SHORT_5_6_5_REV, 2, 0x1f, 0x7e0 },
- { "GL_RGB/GL_UNSIGNED_BYTE_3_3_2",
- GL_RGB, GL_UNSIGNED_BYTE_3_3_2, 1, 0xe0, 0x1c },
- { "GL_RGB/GL_UNSIGNED_BYTE_2_3_3_REV",
- GL_RGB, GL_UNSIGNED_BYTE_2_3_3_REV, 1, 0x7, 0x38 },
-
- { NULL, 0, 0, 0, 0, 0 }
-};
-
-
-struct name_format {
- const char *name;
- GLenum format;
-};
-
-static const struct name_format IntFormats[] = {
- { "GL_RGBA", GL_RGBA },
- { "GL_RGBA2", GL_RGBA2 },
- { "GL_RGBA4", GL_RGBA4 },
- { "GL_RGB5_A1", GL_RGB5_A1 },
- { "GL_RGBA8", GL_RGBA8 },
- { "GL_RGBA12", GL_RGBA12 },
- { "GL_RGBA16", GL_RGBA16 },
- { "GL_RGB10_A2", GL_RGB10_A2 },
-
- { "GL_RGB", GL_RGB },
- { "GL_R3_G3_B2", GL_R3_G3_B2 },
- { "GL_RGB4", GL_RGB4 },
- { "GL_RGB5", GL_RGB5 },
- { "GL_RGB8", GL_RGB8 },
- { "GL_RGB10", GL_RGB10 },
- { "GL_RGB12", GL_RGB12 },
- { "GL_RGB16", GL_RGB16 },
-
-};
-
-#define NUM_INT_FORMATS (sizeof(IntFormats) / sizeof(IntFormats[0]))
-static GLuint CurFormat = 0;
-
-static GLboolean Test3D = GL_FALSE;
-static GLboolean Blend = GL_FALSE;
-
-
-static void
-PrintString(const char *s)
-{
- while (*s) {
- glutBitmapCharacter(GLUT_BITMAP_8_BY_13, (int) *s);
- s++;
- }
-}
-
-
-static void
-MakeTexture(const struct pixel_format *format, GLenum intFormat, GLboolean swap)
-{
- GLubyte texBuffer[1000];
- int i;
-
- glPixelStorei(GL_UNPACK_SWAP_BYTES, swap);
-
- if (format->bytes == 1) {
- for (i = 0; i < 8; i++) {
- texBuffer[i] = format->redTexel;
- }
- for (i = 8; i < 16; i++) {
- texBuffer[i] = format->greenTexel;
- }
- }
- else if (format->bytes == 2) {
- GLushort *us = (GLushort *) texBuffer;
- for (i = 0; i < 8; i++) {
- us[i] = format->redTexel;
- }
- for (i = 8; i < 16; i++) {
- us[i] = format->greenTexel;
- }
- if (swap) {
- for (i = 0; i < 16; i++)
- us[i] = (us[i] << 8) | (us[i] >> 8);
- }
- }
- else if (format->bytes == 4) {
- GLuint *ui = (GLuint *) texBuffer;
- for (i = 0; i < 8; i++) {
- ui[i] = format->redTexel;
- }
- for (i = 8; i < 16; i++) {
- ui[i] = format->greenTexel;
- }
- if (swap) {
- for (i = 0; i < 16; i++) {
- GLuint b = ui[i];
- ui[i] = (b >> 24)
- | ((b >> 8) & 0xff00)
- | ((b << 8) & 0xff0000)
- | ((b << 24) & 0xff000000);
- }
- }
- }
- else {
- abort();
- }
-
- if (Test3D) {
- /* 4 x 4 x 4 texture, undefined data */
- glTexImage3D(GL_TEXTURE_3D, 0, intFormat, 4, 4, 4, 0,
- format->format, format->type, NULL);
- /* fill in Z=1 and Z=2 slices with the real texture data */
- glTexSubImage3D(GL_TEXTURE_3D, 0,
- 0, 0, 1, /* offset */
- 4, 4, 1, /* size */
- format->format, format->type, texBuffer);
- glTexSubImage3D(GL_TEXTURE_3D, 0,
- 0, 0, 2, /* offset */
- 4, 4, 1, /* size */
- format->format, format->type, texBuffer);
- }
- else {
- glTexImage2D(GL_TEXTURE_2D, 0, intFormat, 4, 4, 0,
- format->format, format->type, texBuffer);
- }
-
- if (0) {
- GLint r, g, b, a, l, i;
- glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_RED_SIZE, &r);
- glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_GREEN_SIZE, &g);
- glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_BLUE_SIZE, &b);
- glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_ALPHA_SIZE, &a);
- glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_LUMINANCE_SIZE, &l);
- glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_INTENSITY_SIZE, &i);
- printf("IntFormat: 0x%x R %d G %d B %d A %d L %d I %d\n",
- intFormat, r, g, b, a, l, i);
- glGetError();
- }
-
- if (glGetError()) {
- printf("GL Error for %s\n", format->name);
- memset(texBuffer, 255, 1000);
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 4, 4, 0,
- GL_RGB, GL_UNSIGNED_BYTE, texBuffer);
- }
-}
-
-
-
-static void
-Draw(void)
-{
- char s[1000];
- int w = 350, h = 20;
- int i, swap;
-
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
- for (swap = 0; swap < 2; swap++) {
- for (i = 0; Formats[i].name; i++) {
- glPushMatrix();
- glTranslatef(swap * (w + 2), i * (h + 2), 0);
-
- MakeTexture(Formats + i, IntFormats[CurFormat].format, swap);
-
- if (Test3D)
- glEnable(GL_TEXTURE_3D);
- else
- glEnable(GL_TEXTURE_2D);
-
- if (Blend)
- glEnable(GL_BLEND);
-
- glBegin(GL_POLYGON);
- glTexCoord3f(0, 0, 0.5); glVertex2f(0, 0);
- glTexCoord3f(1, 0, 0.5); glVertex2f(w, 0);
- glTexCoord3f(1, 1, 0.5); glVertex2f(w, h);
- glTexCoord3f(0, 1, 0.5); glVertex2f(0, h);
- glEnd();
-
- if (Test3D)
- glDisable(GL_TEXTURE_3D);
- else
- glDisable(GL_TEXTURE_2D);
-
- glDisable(GL_BLEND);
-
- glColor3f(0, 0, 0);
- glRasterPos2i(8, 6);
- PrintString(Formats[i].name);
-
- glPopMatrix();
- }
- }
-
- glPushMatrix();
- glTranslatef(2, i * (h + 2), 0);
- glColor3f(1, 1, 1);
- glRasterPos2i(8, 6);
- PrintString("Normal");
- glRasterPos2i(w + 2, 6);
- PrintString("Byte Swapped");
- glPopMatrix();
-
- glPushMatrix();
- glTranslatef(2, (i + 1) * (h + 2), 0);
- glRasterPos2i(8, 6);
- sprintf(s, "Internal Texture Format [f/F]: %s (%d of %lu)",
- IntFormats[CurFormat].name, CurFormat + 1, (unsigned long) NUM_INT_FORMATS);
- PrintString(s);
- glPopMatrix();
-
- glPushMatrix();
- glTranslatef(2, (i + 2) * (h + 2), 0);
- glRasterPos2i(8, 6);
- if (Test3D)
- PrintString("Target [2/3]: GL_TEXTURE_3D");
- else
- PrintString("Target [2/3]: GL_TEXTURE_2D");
- glPopMatrix();
-
- glPushMatrix();
- glTranslatef(2, (i + 3) * (h + 2), 0);
- glRasterPos2i(8, 6);
- if (Blend)
- PrintString("Blend: Yes");
- else
- PrintString("Blend: No");
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-static void
-Reshape(int width, int height)
-{
- glViewport(0, 0, width, height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(0, width, 0, height, -1, 1);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
-}
-
-
-static void
-Key(unsigned char key, int x, int y)
-{
- (void) x;
- (void) y;
- switch (key) {
- case 'b':
- Blend = !Blend;
- break;
- case 'F':
- if (CurFormat == 0)
- CurFormat = NUM_INT_FORMATS - 1;
- else
- CurFormat--;
- break;
- case 'f':
- CurFormat++;
- if (CurFormat == NUM_INT_FORMATS)
- CurFormat = 0;
- break;
- case '2':
- Test3D = GL_FALSE;
- break;
- case '3':
- Test3D = GL_TRUE;
- break;
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void
-Init(void)
-{
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- printf("GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
- glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
-}
-
-
-int
-main(int argc, char *argv[])
-{
- glutInit(&argc, argv);
- glutInitWindowPosition(0, 0);
- glutInitWindowSize(700, 800);
- glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/pbo.c b/progs/tests/pbo.c
deleted file mode 100644
index 9974486db3..0000000000
--- a/progs/tests/pbo.c
+++ /dev/null
@@ -1,297 +0,0 @@
-/*
- * GL_EXT_pixel_buffer_object test
- *
- * Brian Paul
- * 11 March 2004
- */
-
-
-#include <assert.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-#include "../util/readtex.c" /* a hack, I know */
-
-#define IMAGE_FILE "../images/girl.rgb"
-
-static int ImgWidth, ImgHeight;
-static GLenum ImgFormat;
-static GLubyte *Image = NULL;
-
-static int APosX, APosY; /* simple drawpixels */
-static int BPosX, BPosY; /* read/draw pixels */
-static int CPosX, CPosY; /* copypixels */
-
-static GLboolean DrawFront = GL_FALSE;
-static GLboolean ScaleAndBias = GL_FALSE;
-static GLboolean Benchmark = GL_FALSE;
-
-static GLuint DrawPBO, TempPBO;
-
-
-static GLenum ReadFormat = GL_BGRA;
-static GLenum ReadType = GL_UNSIGNED_INT_8_8_8_8_REV;
-
-
-
-static void
-CheckError(int line)
-{
- GLenum err = glGetError();
- if (err) {
- printf("GL Error 0x%x at line %d\n", (int) err, line);
- }
-}
-
-
-static void
-Reset( void )
-{
- APosX = 5; APosY = 20;
- BPosX = APosX + ImgWidth + 5; BPosY = 20;
- CPosX = BPosX + ImgWidth + 5; CPosY = 20;
-}
-
-
-static void
-PrintString(const char *s)
-{
- while (*s) {
- glutBitmapCharacter(GLUT_BITMAP_8_BY_13, (int) *s);
- s++;
- }
-}
-
-
-static void
-SetupPixelTransfer(GLboolean invert)
-{
- if (invert) {
- glPixelTransferf(GL_RED_SCALE, -1.0);
- glPixelTransferf(GL_RED_BIAS, 1.0);
- glPixelTransferf(GL_GREEN_SCALE, -1.0);
- glPixelTransferf(GL_GREEN_BIAS, 1.0);
- glPixelTransferf(GL_BLUE_SCALE, -1.0);
- glPixelTransferf(GL_BLUE_BIAS, 1.0);
- }
- else {
- glPixelTransferf(GL_RED_SCALE, 1.0);
- glPixelTransferf(GL_RED_BIAS, 0.0);
- glPixelTransferf(GL_GREEN_SCALE, 1.0);
- glPixelTransferf(GL_GREEN_BIAS, 0.0);
- glPixelTransferf(GL_BLUE_SCALE, 1.0);
- glPixelTransferf(GL_BLUE_BIAS, 0.0);
- }
-}
-
-
-static void
-Display( void )
-{
- glClearColor(.3, .3, .3, 1);
- glClear( GL_COLOR_BUFFER_BIT );
-
- CheckError(__LINE__);
-
- /** Unbind UNPACK pixel buffer before calling glBitmap */
- glBindBufferARB(GL_PIXEL_UNPACK_BUFFER_EXT, 0);
-
- glRasterPos2i(5, ImgHeight+25);
- PrintString("f = toggle front/back s = toggle scale/bias b = benchmark");
-
- glRasterPos2i(5, ImgHeight+40);
- PrintString("GL_EXT_pixel_buffer_object test");
-
- /* draw original image */
- glRasterPos2i(APosX, 5);
- PrintString("Original");
- glRasterPos2i(APosX, APosY);
- glEnable(GL_DITHER);
- SetupPixelTransfer(GL_FALSE);
- /*** Draw from the DrawPBO */
- glBindBufferARB(GL_PIXEL_UNPACK_BUFFER_EXT, DrawPBO);
- glDrawPixels(ImgWidth, ImgHeight, ImgFormat, GL_UNSIGNED_BYTE, 0);
- glBindBufferARB(GL_PIXEL_UNPACK_BUFFER_EXT, 0);
-
- CheckError(__LINE__);
-
- /* do readpixels, drawpixels */
- glRasterPos2i(BPosX, 5);
- PrintString("Read/DrawPixels");
- SetupPixelTransfer(ScaleAndBias);
- /*** read into the Temp PBO */
- glBindBufferARB(GL_PIXEL_PACK_BUFFER_EXT, TempPBO);
- CheckError(__LINE__);
- if (Benchmark) {
- GLint reads = 0;
- GLint endTime;
- GLint startTime = glutGet(GLUT_ELAPSED_TIME);
- GLdouble seconds, pixelsPerSecond;
- printf("Benchmarking...\n");
- do {
- glReadPixels(APosX, APosY, ImgWidth, ImgHeight,
- ReadFormat, ReadType, 0);
- reads++;
- endTime = glutGet(GLUT_ELAPSED_TIME);
- } while (endTime - startTime < 4000); /* 4 seconds */
- seconds = (double) (endTime - startTime) / 1000.0;
- pixelsPerSecond = reads * ImgWidth * ImgHeight / seconds;
- printf("Result: %d reads in %f seconds = %f pixels/sec\n",
- reads, seconds, pixelsPerSecond);
- Benchmark = GL_FALSE;
- }
- else {
- glReadPixels(APosX, APosY, ImgWidth, ImgHeight,
- ReadFormat, ReadType, 0);
- }
- CheckError(__LINE__);
- glRasterPos2i(BPosX, BPosY);
- glDisable(GL_DITHER);
- SetupPixelTransfer(GL_FALSE);
-
- CheckError(__LINE__);
-
- /*** draw from the Temp PBO */
- glBindBufferARB(GL_PIXEL_UNPACK_BUFFER_EXT, TempPBO);
- glDrawPixels(ImgWidth, ImgHeight, ReadFormat, ReadType, 0);
- glBindBufferARB(GL_PIXEL_UNPACK_BUFFER_EXT, 0);
-
- CheckError(__LINE__);
-
- /* do copypixels */
- glRasterPos2i(CPosX, 5);
- PrintString("CopyPixels");
- glRasterPos2i(CPosX, CPosY);
- glDisable(GL_DITHER);
- SetupPixelTransfer(ScaleAndBias);
- glCopyPixels(APosX, APosY, ImgWidth, ImgHeight, GL_COLOR);
-
- CheckError(__LINE__);
-
- if (!DrawFront)
- glutSwapBuffers();
- else
- glFinish();
-}
-
-
-static void
-Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glOrtho( 0.0, width, 0.0, height, -1.0, 1.0 );
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
-}
-
-
-static void
-Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 'b':
- Benchmark = GL_TRUE;
- break;
- case 's':
- ScaleAndBias = !ScaleAndBias;
- break;
- case 'f':
- DrawFront = !DrawFront;
- if (DrawFront) {
- glDrawBuffer(GL_FRONT);
- glReadBuffer(GL_FRONT);
- }
- else {
- glDrawBuffer(GL_BACK);
- glReadBuffer(GL_BACK);
- }
- printf("glDrawBuffer(%s)\n", DrawFront ? "GL_FRONT" : "GL_BACK");
- break;
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void
-Init(void)
-{
- printf("GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
-
- if (!glutExtensionSupported("GL_EXT_pixel_buffer_object")) {
- printf("Sorry, this demo requires GL_EXT_pixel_buffer_object\n");
- exit(0);
- }
-
- Image = LoadRGBImage( IMAGE_FILE, &ImgWidth, &ImgHeight, &ImgFormat );
- if (!Image) {
- printf("Couldn't read %s\n", IMAGE_FILE);
- exit(0);
- }
-
- printf("Loaded %d by %d image\n", ImgWidth, ImgHeight );
-
- if (ImgFormat == GL_RGB) {
- /* convert to RGBA */
- int i;
- GLubyte *image2 = (GLubyte *) malloc(ImgWidth * ImgHeight * 4);
- printf("Converting RGB image to RGBA\n");
- for (i = 0; i < ImgWidth * ImgHeight; i++) {
- image2[i*4+0] = Image[i*3+0];
- image2[i*4+1] = Image[i*3+1];
- image2[i*4+2] = Image[i*3+2];
- image2[i*4+3] = 255;
- }
- free(Image);
- Image = image2;
- ImgFormat = GL_RGBA;
- }
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- glPixelStorei(GL_UNPACK_ROW_LENGTH, ImgWidth);
- glPixelStorei(GL_PACK_ALIGNMENT, 1);
- glPixelStorei(GL_PACK_ROW_LENGTH, ImgWidth);
-
- Reset();
-
- /* put image into DrawPBO */
- glGenBuffersARB(1, &DrawPBO);
- glBindBufferARB(GL_PIXEL_UNPACK_BUFFER_EXT, DrawPBO);
- glBufferDataARB(GL_PIXEL_UNPACK_BUFFER_EXT,
- ImgWidth * ImgHeight * 4, Image, GL_STATIC_DRAW);
-
- /* Setup TempPBO - used for glReadPixels & glDrawPixels */
- glGenBuffersARB(1, &TempPBO);
- glBindBufferARB(GL_PIXEL_PACK_BUFFER_EXT, TempPBO);
- glBufferDataARB(GL_PIXEL_PACK_BUFFER_EXT,
- ImgWidth * ImgHeight * 4, NULL, GL_DYNAMIC_COPY);
-
-}
-
-
-int
-main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 750, 250 );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE );
- glutCreateWindow(argv[0]);
- glewInit();
- Init();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/persp_hint.c b/progs/tests/persp_hint.c
deleted file mode 100644
index 27140d1f56..0000000000
--- a/progs/tests/persp_hint.c
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * Test the GL_PERSPECTIVE_CORRECTION_HINT setting and its effect on
- * color interpolation.
- *
- * Press 'i' to toggle between GL_NICEST/GL_FASTEST/GL_DONT_CARE.
- *
- * Depending on the driver, the hint may make a difference, or not.
- */
-
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <GL/glut.h>
-
-
-static GLenum PerspHint = GL_DONT_CARE;
-
-
-static void
-init(void)
-{
- GLubyte image[256][256][4];
- GLuint i, j;
- for (i = 0; i < 256; i++) {
- for (j = 0; j < 256; j++) {
- image[i][j][0] = j;
- image[i][j][1] = j;
- image[i][j][2] = j;
- image[i][j][3] = 255;
- }
- }
- glTexImage2D(GL_TEXTURE_2D, 0, 4, 256, 256, 0,
- GL_RGBA, GL_UNSIGNED_BYTE, image);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL);
-
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
-}
-
-
-static void
-display(void)
-{
- switch (PerspHint) {
- case GL_NICEST:
- printf("hint = GL_NICEST\n");
- break;
- case GL_FASTEST:
- printf("hint = GL_FASTEST\n");
- break;
- case GL_DONT_CARE:
- printf("hint = GL_DONT_CARE\n");
- break;
- default:
- ;
- }
-
- glClear(GL_COLOR_BUFFER_BIT);
-
-#if 1
- glBegin(GL_QUADS);
- /* exercise perspective interpolation */
- glColor3f(0.0, 0.0, 0.0); glVertex3f(-1.0, -1.0, -1.0);
- glColor3f(0.0, 0.0, 0.0); glVertex3f(-1.0, 1.0, -1.0);
- glColor3f(0.0, 1.0, 0.0); glVertex3f( 7.0, 1.0, -7.0);
- glColor3f(0.0, 1.0, 0.0); glVertex3f( 7.0, -1.0, -7.0);
-
- /* stripe of linear interpolation */
- glColor3f(0.0, 0.0, 0.0); glVertex3f(-1.0, -0.1, -1.001);
- glColor3f(0.0, 0.0, 0.0); glVertex3f(-1.0, 0.1, -1.001);
- glColor3f(0.0, 1.0, 0.0); glVertex3f( 1.0, 0.1, -1.001);
- glColor3f(0.0, 1.0, 0.0); glVertex3f( 1.0, -0.1, -1.001);
- glEnd();
-#else
- glEnable(GL_TEXTURE_2D);
- glBegin(GL_QUADS);
- glTexCoord2f(0.0, 0.0); glVertex3f(-1.0, 0.0, -1.0);
- glTexCoord2f(0.0, 1.0); glVertex3f(-1.0, 1.0, -1.0);
- glTexCoord2f(1.0, 1.0); glVertex3f( 5.0, 1.0, -7.0);
- glTexCoord2f(1.0, 0.0); glVertex3f( 5.0, 0.0, -7.0);
-
- glTexCoord2f(0.0, 0.0); glVertex3f(-1.0, -1.0, -1.001);
- glTexCoord2f(0.0, 1.0); glVertex3f(-1.0, 0.0, -1.001);
- glTexCoord2f(1.0, 1.0); glVertex3f( 1.0, 0.0, -1.001);
- glTexCoord2f(1.0, 0.0); glVertex3f( 1.0, -1.0, -1.001);
- glEnd();
-#endif
-
- glFlush();
-}
-
-
-static void
-reshape(int w, int h)
-{
- glViewport(0, 0, w, h);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- gluPerspective(90.0, (GLfloat) w / h, 1.0, 300.0);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
-}
-
-
-static void
-key(unsigned char k, int x, int y)
-{
- switch (k) {
- case 27: /* Escape */
- exit(0);
- break;
- case 'i':
- if (PerspHint == GL_FASTEST)
- PerspHint = GL_NICEST;
- else if (PerspHint == GL_NICEST)
- PerspHint = GL_DONT_CARE;
- else
- PerspHint = GL_FASTEST;
- glHint(GL_PERSPECTIVE_CORRECTION_HINT, PerspHint);
- break;
- default:
- return;
- }
- glutPostRedisplay();
-}
-
-
-int
-main(int argc, char** argv)
-{
- glutInit(&argc, argv);
- glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
- glutInitWindowSize (500, 500);
- glutCreateWindow (argv[0]);
- glutReshapeFunc (reshape);
- glutDisplayFunc(display);
- glutKeyboardFunc(key);
-
- printf("Main quad: perspective projection\n");
- printf("Middle stripe: linear interpolation\n");
- printf("Press 'i' to toggle interpolation hint\n");
- init();
-
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/prim.c b/progs/tests/prim.c
deleted file mode 100644
index 3e006e823d..0000000000
--- a/progs/tests/prim.c
+++ /dev/null
@@ -1,559 +0,0 @@
-#define GL_GLEXT_PROTOTYPES
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define PIXEL_CENTER(x) ((long)(x) + 0.5)
-
-#define GAP 10
-#define ROWS 3
-#define COLS 4
-
-#define OPENGL_WIDTH 48
-#define OPENGL_HEIGHT 13
-
-
-GLenum provoking = GL_LAST_VERTEX_CONVENTION_EXT;
-GLenum rgb, doubleBuffer, windType;
-GLint windW, windH;
-
-GLenum mode1, mode2;
-GLint boxW, boxH;
-GLubyte OpenGL_bits[] = {
- 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
- 0x7f, 0xfb, 0xff, 0xff, 0xff, 0x01,
- 0x7f, 0xfb, 0xff, 0xff, 0xff, 0x01,
- 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
- 0x3e, 0x8f, 0xb7, 0xf9, 0xfc, 0x01,
- 0x63, 0xdb, 0xb0, 0x8d, 0x0d, 0x00,
- 0x63, 0xdb, 0xb7, 0x8d, 0x0d, 0x00,
- 0x63, 0xdb, 0xb6, 0x8d, 0x0d, 0x00,
- 0x63, 0x8f, 0xf3, 0xcc, 0x0d, 0x00,
- 0x63, 0x00, 0x00, 0x0c, 0x4c, 0x0a,
- 0x63, 0x00, 0x00, 0x0c, 0x4c, 0x0e,
- 0x63, 0x00, 0x00, 0x8c, 0xed, 0x0e,
- 0x3e, 0x00, 0x00, 0xf8, 0x0c, 0x00,
-};
-
-
-#include "tkmap.c"
-
-static void Init(void)
-{
-
- mode1 = GL_TRUE;
- mode2 = GL_TRUE;
-}
-
-static void Reshape(int width, int height)
-{
-
- windW = (GLint)width;
- windH = (GLint)height;
-}
-
-static void RotateColorMask(void)
-{
- static GLint rotation = 0;
-
- rotation = (rotation + 1) & 0x3;
- switch (rotation) {
- case 0:
- glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
- glIndexMask( 0xff );
- break;
- case 1:
- glColorMask(GL_FALSE, GL_TRUE, GL_TRUE, GL_TRUE);
- glIndexMask(0xFE);
- break;
- case 2:
- glColorMask(GL_TRUE, GL_FALSE, GL_TRUE, GL_TRUE);
- glIndexMask(0xFD);
- break;
- case 3:
- glColorMask(GL_TRUE, GL_TRUE, GL_FALSE, GL_TRUE);
- glIndexMask(0xFB);
- break;
- }
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- case '1':
- mode1 = !mode1;
- break;
- case '2':
- mode2 = !mode2;
- break;
- case '3':
- RotateColorMask();
- break;
- case 'p':
- if (provoking == GL_FIRST_VERTEX_CONVENTION_EXT) {
- printf("provoke last\n");
- provoking = GL_LAST_VERTEX_CONVENTION_EXT;
- }
- else {
- printf("provoke first\n");
- provoking = GL_FIRST_VERTEX_CONVENTION_EXT;
- }
- glProvokingVertexEXT(provoking);
- break;
- default:
- return;
- }
-
- glutPostRedisplay();
-}
-
-static void Viewport(GLint row, GLint column)
-{
- GLint x, y;
-
- boxW = (windW - (COLS + 1) * GAP) / COLS;
- boxH = (windH - (ROWS + 1) * GAP) / ROWS;
-
- x = GAP + column * (boxW + GAP);
- y = GAP + row * (boxH + GAP);
-
- glViewport(x, y, boxW, boxH);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-boxW/2, boxW/2, -boxH/2, boxH/2, 0.0, 1.0);
- glMatrixMode(GL_MODELVIEW);
-
- glEnable(GL_SCISSOR_TEST);
- glScissor(x, y, boxW, boxH);
-}
-
-static void Point(void)
-{
- GLint i;
-
- glBegin(GL_POINTS);
- SetColor(COLOR_WHITE);
- glVertex2i(0, 0);
- for (i = 1; i < 8; i++) {
- GLint j = i * 2;
- SetColor(COLOR_BLACK+i);
- glVertex2i(-j, -j);
- glVertex2i(-j, 0);
- glVertex2i(-j, j);
- glVertex2i(0, j);
- glVertex2i(j, j);
- glVertex2i(j, 0);
- glVertex2i(j, -j);
- glVertex2i(0, -j);
- }
- glEnd();
-}
-
-static void Lines(void)
-{
- GLint i;
-
- glPushMatrix();
-
- glTranslatef(-12, 0, 0);
- for (i = 1; i < 8; i++) {
- glBegin(GL_LINES);
- SetColor(COLOR_BLACK+i);
- glVertex2i(-boxW/4, -boxH/4);
- SetColor(COLOR_BLACK+i+1);
- glVertex2i(boxW/4, boxH/4);
- glEnd();
- glTranslatef(4, 0, 0);
- }
-
- glPopMatrix();
-
- glBegin(GL_LINES);
- glVertex2i(0, 0);
- glEnd();
-}
-
-static void LineStrip(void)
-{
-
- glBegin(GL_LINE_STRIP);
- SetColor(COLOR_RED);
- glVertex2f(PIXEL_CENTER(-boxW/4), PIXEL_CENTER(-boxH/4));
- SetColor(COLOR_GREEN);
- glVertex2f(PIXEL_CENTER(-boxW/4), PIXEL_CENTER(boxH/4));
- SetColor(COLOR_BLUE);
- glVertex2f(PIXEL_CENTER(boxW/4), PIXEL_CENTER(boxH/4));
- SetColor(COLOR_WHITE);
- glVertex2f(PIXEL_CENTER(boxW/4), PIXEL_CENTER(-boxH/4));
- glEnd();
-
- glBegin(GL_LINE_STRIP);
- glVertex2i(0, 0);
- glEnd();
-}
-
-static void LineLoop(void)
-{
-
- glBegin(GL_LINE_LOOP);
- SetColor(COLOR_RED);
- glVertex2f(PIXEL_CENTER(-boxW/4), PIXEL_CENTER(-boxH/4));
- SetColor(COLOR_GREEN);
- glVertex2f(PIXEL_CENTER(-boxW/4), PIXEL_CENTER(boxH/4));
- SetColor(COLOR_BLUE);
- glVertex2f(PIXEL_CENTER(boxW/4), PIXEL_CENTER(boxH/4));
- SetColor(COLOR_WHITE);
- glVertex2f(PIXEL_CENTER(boxW/4), PIXEL_CENTER(-boxH/4));
- glEnd();
-
- glEnable(GL_LOGIC_OP);
- glLogicOp(GL_XOR);
-
- glEnable(GL_BLEND);
- glBlendFunc(GL_ONE, GL_ONE);
-
- SetColor(COLOR_MAGENTA);
- glBegin(GL_LINE_LOOP);
- glVertex2f(PIXEL_CENTER(-boxW/8), PIXEL_CENTER(-boxH/8));
- glVertex2f(PIXEL_CENTER(-boxW/8), PIXEL_CENTER(boxH/8));
- glEnd();
- glBegin(GL_LINE_LOOP);
- glVertex2f(PIXEL_CENTER(-boxW/8), PIXEL_CENTER(boxH/8+5));
- glVertex2f(PIXEL_CENTER(boxW/8), PIXEL_CENTER(boxH/8+5));
- glEnd();
- glDisable(GL_LOGIC_OP);
- glDisable(GL_BLEND);
-
- SetColor(COLOR_GREEN);
- glBegin(GL_POINTS);
- glVertex2i(0, 0);
- glEnd();
-
- glBegin(GL_LINE_LOOP);
- glVertex2i(0, 0);
- glEnd();
-}
-
-static void Bitmap(void)
-{
-
- glBegin(GL_LINES);
- SetColor(COLOR_GREEN);
- glVertex2i(-boxW/2, 0);
- glVertex2i(boxW/2, 0);
- glVertex2i(0, -boxH/2);
- glVertex2i(0, boxH/2);
- SetColor(COLOR_RED);
- glVertex2i(0, -3);
- glVertex2i(0, -3+OPENGL_HEIGHT);
- SetColor(COLOR_BLUE);
- glVertex2i(0, -3);
- glVertex2i(OPENGL_WIDTH, -3);
- glEnd();
-
- SetColor(COLOR_GREEN);
-
- glPixelStorei(GL_UNPACK_LSB_FIRST, GL_TRUE);
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
-
- glRasterPos2i(0, 0);
- glBitmap(OPENGL_WIDTH, OPENGL_HEIGHT, 0, 3, 0.0, 0.0, OpenGL_bits);
-}
-
-static void Triangles(void)
-{
-
- glBegin(GL_TRIANGLES);
- SetColor(COLOR_GREEN);
- glVertex2i(-boxW/4, -boxH/4);
- SetColor(COLOR_RED);
- glVertex2i(-boxW/8, -boxH/16);
- SetColor(COLOR_BLUE);
- glVertex2i(boxW/8, -boxH/16);
-
- SetColor(COLOR_GREEN);
- glVertex2i(-boxW/4, boxH/4);
- SetColor(COLOR_RED);
- glVertex2i(-boxW/8, boxH/16);
- SetColor(COLOR_BLUE);
- glVertex2i(boxW/8, boxH/16);
- glEnd();
-
- glBegin(GL_TRIANGLES);
- glVertex2i(0, 0);
- glVertex2i(-100, 100);
- glEnd();
-}
-
-static void TriangleStrip(void)
-{
-
- glBegin(GL_TRIANGLE_STRIP);
- SetColor(COLOR_GREEN);
- glVertex2i(-boxW/4, -boxH/4);
- SetColor(COLOR_RED);
- glVertex2i(-boxW/4, boxH/4);
- SetColor(COLOR_BLUE);
- glVertex2i(0, -boxH/4);
- SetColor(COLOR_WHITE);
- glVertex2i(0, boxH/4);
- SetColor(COLOR_CYAN);
- glVertex2i(boxW/4, -boxH/4);
- SetColor(COLOR_YELLOW);
- glVertex2i(boxW/4, boxH/4);
- glEnd();
-
- glBegin(GL_TRIANGLE_STRIP);
- glVertex2i(0, 0);
- glVertex2i(-100, 100);
- glEnd();
-}
-
-static void TriangleFan(void)
-{
- GLint vx[8][2];
- GLint x0, y0, x1, y1, x2, y2, x3, y3;
- GLint i;
-
- y0 = -boxH/4;
- y1 = y0 + boxH/2/3;
- y2 = y1 + boxH/2/3;
- y3 = boxH/4;
- x0 = -boxW/4;
- x1 = x0 + boxW/2/3;
- x2 = x1 + boxW/2/3;
- x3 = boxW/4;
-
- vx[0][0] = x0; vx[0][1] = y1;
- vx[1][0] = x0; vx[1][1] = y2;
- vx[2][0] = x1; vx[2][1] = y3;
- vx[3][0] = x2; vx[3][1] = y3;
- vx[4][0] = x3; vx[4][1] = y2;
- vx[5][0] = x3; vx[5][1] = y1;
- vx[6][0] = x2; vx[6][1] = y0;
- vx[7][0] = x1; vx[7][1] = y0;
-
- glBegin(GL_TRIANGLE_FAN);
- SetColor(COLOR_WHITE);
- glVertex2i(0, 0);
- for (i = 0; i < 8; i++) {
- SetColor(COLOR_WHITE-i);
- glVertex2iv(vx[i]);
- }
- glEnd();
-
- glBegin(GL_TRIANGLE_FAN);
- glVertex2i(0, 0);
- glVertex2i(-100, 100);
- glEnd();
-}
-
-static void Rect(void)
-{
-
- SetColor(COLOR_GREEN);
- glRecti(-boxW/4, -boxH/4, boxW/4, boxH/4);
-}
-
-static void PolygonFunc(void)
-{
- GLint vx[8][2];
- GLint x0, y0, x1, y1, x2, y2, x3, y3;
- GLint i;
-
- y0 = -boxH/4;
- y1 = y0 + boxH/2/3;
- y2 = y1 + boxH/2/3;
- y3 = boxH/4;
- x0 = -boxW/4;
- x1 = x0 + boxW/2/3;
- x2 = x1 + boxW/2/3;
- x3 = boxW/4;
-
- vx[0][0] = x0; vx[0][1] = y1;
- vx[1][0] = x0; vx[1][1] = y2;
- vx[2][0] = x1; vx[2][1] = y3;
- vx[3][0] = x2; vx[3][1] = y3;
- vx[4][0] = x3; vx[4][1] = y2;
- vx[5][0] = x3; vx[5][1] = y1;
- vx[6][0] = x2; vx[6][1] = y0;
- vx[7][0] = x1; vx[7][1] = y0;
-
- glBegin(GL_POLYGON);
- for (i = 0; i < 8; i++) {
- SetColor(COLOR_WHITE-i);
- glVertex2iv(vx[i]);
- }
- glEnd();
-
- glBegin(GL_POLYGON);
- glVertex2i(0, 0);
- glVertex2i(100, 100);
- glEnd();
-}
-
-static void Quads(void)
-{
-
- glBegin(GL_QUADS);
- SetColor(COLOR_GREEN);
- glVertex2i(-boxW/4, -boxH/4);
- SetColor(COLOR_RED);
- glVertex2i(-boxW/8, -boxH/16);
- SetColor(COLOR_BLUE);
- glVertex2i(boxW/8, -boxH/16);
- SetColor(COLOR_WHITE);
- glVertex2i(boxW/4, -boxH/4);
-
- SetColor(COLOR_GREEN);
- glVertex2i(-boxW/4, boxH/4);
- SetColor(COLOR_RED);
- glVertex2i(-boxW/8, boxH/16);
- SetColor(COLOR_BLUE);
- glVertex2i(boxW/8, boxH/16);
- SetColor(COLOR_WHITE);
- glVertex2i(boxW/4, boxH/4);
- glEnd();
-
- glBegin(GL_QUADS);
- glVertex2i(0, 0);
- glVertex2i(100, 100);
- glVertex2i(-100, 100);
- glEnd();
-}
-
-static void QuadStrip(void)
-{
-
- glBegin(GL_QUAD_STRIP);
- SetColor(COLOR_GREEN);
- glVertex2i(-boxW/4, -boxH/4);
- SetColor(COLOR_RED);
- glVertex2i(-boxW/4, boxH/4);
- SetColor(COLOR_BLUE);
- glVertex2i(0, -boxH/4);
- SetColor(COLOR_WHITE);
- glVertex2i(0, boxH/4);
- SetColor(COLOR_CYAN);
- glVertex2i(boxW/4, -boxH/4);
- SetColor(COLOR_YELLOW);
- glVertex2i(boxW/4, boxH/4);
- glEnd();
-
- glBegin(GL_QUAD_STRIP);
- glVertex2i(0, 0);
- glVertex2i(100, 100);
- glVertex2i(-100, 100);
- glEnd();
-}
-
-static void Draw(void)
-{
-
- glViewport(0, 0, windW, windH);
- glDisable(GL_SCISSOR_TEST);
-
- glPushAttrib(GL_COLOR_BUFFER_BIT);
-
- glColorMask(1, 1, 1, 1);
- glIndexMask(~0);
-
- glClearColor(0.0, 0.0, 0.0, 0.0);
- glClear(GL_COLOR_BUFFER_BIT);
-
- glPopAttrib();
-
- if (mode1) {
- glShadeModel(GL_SMOOTH);
- } else {
- glShadeModel(GL_FLAT);
- }
-
- if (mode2) {
- glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
- } else {
- glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
- }
-
- Viewport(0, 0); Point();
- Viewport(0, 1); Lines();
- Viewport(0, 2); LineStrip();
- Viewport(0, 3); LineLoop();
-
- Viewport(1, 0); Bitmap();
- Viewport(1, 1); TriangleFan();
- Viewport(1, 2); Triangles();
- Viewport(1, 3); TriangleStrip();
-
- Viewport(2, 0); Rect();
- Viewport(2, 1); PolygonFunc();
- Viewport(2, 2); Quads();
- Viewport(2, 3); QuadStrip();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- rgb = GL_TRUE;
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-ci") == 0) {
- rgb = GL_FALSE;
- } else if (strcmp(argv[i], "-rgb") == 0) {
- rgb = GL_TRUE;
- } else if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- printf("%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- windW = 600;
- windH = 300;
- glutInitWindowPosition(0, 0); glutInitWindowSize( windW, windH);
-
- windType = (rgb) ? GLUT_RGB : GLUT_INDEX;
- windType |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(windType);
-
- if (glutCreateWindow("Primitive Test") == GL_FALSE) {
- exit(1);
- }
-
- InitMap();
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/prog_parameter.c b/progs/tests/prog_parameter.c
deleted file mode 100644
index 2de7e2994a..0000000000
--- a/progs/tests/prog_parameter.c
+++ /dev/null
@@ -1,292 +0,0 @@
-/*
- * (C) Copyright IBM Corporation 2006
- * 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
- * on the rights to use, copy, modify, merge, publish, distribute, sub
- * license, 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 (including the next
- * paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
- * IBM AND/OR THEIR SUPPLIERS 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.
- */
-
-/**
- * \file prog_parameter.c
- *
- * Test various aspects of setting (and getting) low-level program parameters.
- * This is primarilly intended as a test for GL_EXT_gpu_program_parameters,
- * but it turns out that it hits some other functionality along the way.
- *
- * \author Ian Romanick <idr@us.ibm.com>
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-#ifndef GL_EXT_gpu_program_parameters
-typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC)(GLenum,
- GLuint, GLsizei, const GLfloat *);
-typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERS4FVEXTPROC)(GLenum,
- GLuint, GLsizei, const GLfloat *);
-#endif
-
-static PFNGLPROGRAMLOCALPARAMETER4FVARBPROC program_local_parameter4fv = NULL;
-static PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC get_program_local_parameterfv = NULL;
-static PFNGLPROGRAMENVPARAMETER4FVARBPROC program_env_parameter4fv = NULL;
-static PFNGLGETPROGRAMENVPARAMETERFVARBPROC get_program_env_parameterfv = NULL;
-static PFNGLBINDPROGRAMARBPROC bind_program = NULL;
-static PFNGLGETPROGRAMIVARBPROC get_program = NULL;
-
-static PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC program_local_parameters4fv = NULL;
-static PFNGLPROGRAMENVPARAMETERS4FVEXTPROC program_env_parameters4fv = NULL;
-
-static int Width = 400;
-static int Height = 200;
-static const GLfloat Near = 5.0, Far = 25.0;
-
-
-static void Display( void )
-{
-}
-
-
-static void Idle( void )
-{
-}
-
-
-static void Visible( int vis )
-{
- if ( vis == GLUT_VISIBLE ) {
- glutIdleFunc( Idle );
- }
- else {
- glutIdleFunc( NULL );
- }
-}
-static void Reshape( int width, int height )
-{
- GLfloat ar = (float) width / (float) height;
- Width = width;
- Height = height;
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -ar, ar, -1.0, 1.0, Near, Far );
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static int set_parameter_batch( GLsizei count, GLfloat * param,
- const char * name,
- PFNGLPROGRAMLOCALPARAMETER4FVARBPROC set_parameter,
- PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC set_parameters,
- PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC get_parameter
- )
-{
- unsigned i;
- int pass = 1;
-
-
- for ( i = 0 ; i < (4 * count) ; i++ ) {
- param[i] = (GLfloat) rand() / (GLfloat) rand();
- }
-
- /* Try using the "classic" interface.
- */
- printf("Testing glProgram%sParameter4fvARB (count = %u)...\n", name, count);
- for ( i = 0 ; i < count ; i++ ) {
- (*set_parameter)(GL_VERTEX_PROGRAM_ARB, i, & param[i * 4]);
- }
-
- for ( i = 0 ; i < count ; i++ ) {
- GLfloat temp[4];
-
- (*get_parameter)(GL_VERTEX_PROGRAM_ARB, i, temp);
-
- if ( (temp[0] != param[(i * 4) + 0])
- || (temp[1] != param[(i * 4) + 1])
- || (temp[2] != param[(i * 4) + 2])
- || (temp[3] != param[(i * 4) + 3]) ) {
- printf("Mismatch in glProgram%sParameter4fvARB index %u!\n", name, i);
- printf("Got { %f, %f, %f, %f }, expected { %f, %f, %f, %f }!\n",
- temp[0], temp[1],
- temp[2], temp[3],
- param[(i * 4) + 0], param[(i * 4) + 1],
- param[(i * 4) + 2], param[(i * 4) + 3]);
- pass = 0;
- break;
- }
- }
-
-
- if ( set_parameters == NULL ) {
- return pass;
- }
-
-
- for ( i = 0 ; i < (4 * count) ; i++ ) {
- param[i] = (GLfloat) rand() / (GLfloat) rand();
- }
-
- printf("Testing glProgram%sParameters4fvEXT (count = %u)...\n", name, count);
- (*set_parameters)(GL_VERTEX_PROGRAM_ARB, 0, count, param);
-
- for ( i = 0 ; i < count ; i++ ) {
- GLfloat temp[4];
-
- (*get_parameter)(GL_VERTEX_PROGRAM_ARB, i, temp);
-
- if ( (temp[0] != param[(i * 4) + 0])
- || (temp[1] != param[(i * 4) + 1])
- || (temp[2] != param[(i * 4) + 2])
- || (temp[3] != param[(i * 4) + 3]) ) {
- printf("Mismatch in glProgram%sParameters4fvEXT index %u!\n", name, i);
- printf("Got { %f, %f, %f, %f }, expected { %f, %f, %f, %f }!\n",
- temp[0], temp[1],
- temp[2], temp[3],
- param[(i * 4) + 0], param[(i * 4) + 1],
- param[(i * 4) + 2], param[(i * 4) + 3]);
- pass = 0;
- break;
- }
- }
-
-
- return pass;
-}
-
-
-static void Init( void )
-{
- const char * const ver_string = (const char * const)
- glGetString( GL_VERSION );
- int pass = 1;
- GLfloat * params;
- GLint max_program_env_parameters;
- GLint max_program_local_parameters;
- int i;
-
-
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- printf("GL_VERSION = %s\n\n", ver_string);
-
- if ( !glutExtensionSupported("GL_ARB_vertex_program") ) {
- printf("Sorry, this program requires GL_ARB_vertex_program\n");
- exit(2);
- }
-
-
- program_local_parameter4fv = (PFNGLPROGRAMLOCALPARAMETER4FVARBPROC) glutGetProcAddress( "glProgramLocalParameter4fvARB" );
- program_env_parameter4fv = (PFNGLPROGRAMENVPARAMETER4FVARBPROC) glutGetProcAddress( "glProgramEnvParameter4fvARB" );
-
- get_program_local_parameterfv = (PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC) glutGetProcAddress( "glGetProgramLocalParameterfvARB" );
- get_program_env_parameterfv = (PFNGLGETPROGRAMENVPARAMETERFVARBPROC) glutGetProcAddress( "glGetProgramEnvParameterfvARB" );
-
- bind_program = (PFNGLBINDPROGRAMARBPROC) glutGetProcAddress( "glBindProgramARB" );
- get_program = (PFNGLGETPROGRAMIVARBPROC) glutGetProcAddress( "glGetProgramivARB" );
-
- if ( glutExtensionSupported("GL_EXT_gpu_program_parameters") ) {
- printf("GL_EXT_gpu_program_parameters available, testing that path.\n");
-
- program_local_parameters4fv = (PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC) glutGetProcAddress( "glProgramLocalParameters4fvEXT" );
- program_env_parameters4fv = (PFNGLPROGRAMENVPARAMETERS4FVEXTPROC) glutGetProcAddress( "glProgramEnvParameters4fvEXT" );
- }
- else {
- printf("GL_EXT_gpu_program_parameters not available.\n");
-
- program_local_parameters4fv = NULL;
- program_env_parameters4fv = NULL;
- }
-
-
-
- /* Since the test sets program local parameters, a program must be bound.
- * Program source, however, is not needed.
- */
- (*bind_program)(GL_VERTEX_PROGRAM_ARB, 1);
-
-
- (*get_program)(GL_VERTEX_PROGRAM_ARB, GL_MAX_PROGRAM_ENV_PARAMETERS_ARB,
- & max_program_env_parameters);
-
- params = malloc(max_program_env_parameters * 4 * sizeof(GLfloat));
-
- for (i = 0; i < max_program_env_parameters * 4; i++) {
- params[i] = 0.0F;
- }
-
- pass &= set_parameter_batch(max_program_env_parameters, params, "Env",
- program_env_parameter4fv,
- program_env_parameters4fv,
- get_program_env_parameterfv);
-
-
- (*get_program)(GL_VERTEX_PROGRAM_ARB, GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB,
- & max_program_local_parameters);
-
- if (max_program_local_parameters > max_program_env_parameters) {
- params = realloc(params,
- max_program_local_parameters * 4 * sizeof(GLfloat));
- }
-
- pass &= set_parameter_batch(max_program_local_parameters, params, "Local",
- program_local_parameter4fv,
- program_local_parameters4fv,
- get_program_local_parameterfv);
-
- free(params);
-
- if (! pass) {
- printf("FAIL!\n");
- exit(1);
- }
-
- printf("PASS!\n");
-}
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( Width, Height );
- glutInitDisplayMode( GLUT_RGB );
- glutCreateWindow( "Program Parameters Test" );
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- glutVisibilityFunc( Visible );
-
- Init();
-
- return 0;
-}
diff --git a/progs/tests/quads.c b/progs/tests/quads.c
deleted file mode 100644
index e5b9920b66..0000000000
--- a/progs/tests/quads.c
+++ /dev/null
@@ -1,262 +0,0 @@
-/**
- * Draw colored quads.
- */
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-#define NUM_QUADS 20
-
-
-static int Win;
-static GLfloat Xrot = 40, Yrot = 0, Zrot = 0;
-static GLboolean Anim = GL_TRUE;
-static GLuint Vbuffer = 0;
-
-#if 1
-#else
-static GLfloat buf[NUM_QUADS * 6 * 4];
-#endif
-
-static GLboolean doSwapBuffers = GL_TRUE;
-
-static GLint Frames = 0, T0 = 0;
-
-
-static void
-Idle(void)
-{
- Xrot += 3.0;
- Yrot += 4.0;
- Zrot += 2.0;
- glutPostRedisplay();
-}
-
-
-static void
-Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
- glPushMatrix();
- glRotatef(Xrot, 1, 0, 0);
- glRotatef(Yrot, 0, 1, 0);
- glRotatef(Zrot, 0, 0, 1);
-
- glDrawArrays(GL_QUADS, 0, NUM_QUADS*4);
-
- glPopMatrix();
-
- if (doSwapBuffers)
- glutSwapBuffers();
- /*
- else
- glFinish();
- */
-
- {
- GLint t = glutGet(GLUT_ELAPSED_TIME);
- Frames++;
- if (t - T0 >= 5000) {
- GLfloat seconds = (t - T0) / 1000.0;
- GLfloat fps = Frames / seconds;
- printf("%d frames in %6.3f seconds = %6.3f FPS\n",
- Frames, seconds, fps);
- T0 = t;
- Frames = 0;
- }
- }
-}
-
-
-static void
-Reshape(int width, int height)
-{
- glViewport(0, 0, width, height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glFrustum(-1.0, 1.0, -1.0, 1.0, 5.0, 25.0);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef(0.0, 0.0, -8.0);
-}
-
-
-static void
-Key(unsigned char key, int x, int y)
-{
- const GLfloat step = 3.0;
- (void) x;
- (void) y;
- switch (key) {
- case 's':
- doSwapBuffers = !doSwapBuffers;
- break;
- case 'a':
- Anim = !Anim;
- if (Anim)
- glutIdleFunc(Idle);
- else
- glutIdleFunc(NULL);
- break;
- case 'z':
- Zrot -= step;
- break;
- case 'Z':
- Zrot += step;
- break;
- case 27:
- glutDestroyWindow(Win);
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void
-SpecialKey(int key, int x, int y)
-{
- const GLfloat step = 3.0;
- (void) x;
- (void) y;
- switch (key) {
- case GLUT_KEY_UP:
- Xrot -= step;
- break;
- case GLUT_KEY_DOWN:
- Xrot += step;
- break;
- case GLUT_KEY_LEFT:
- Yrot -= step;
- break;
- case GLUT_KEY_RIGHT:
- Yrot += step;
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void
-quad(float x, float y, float z, float *v)
-{
- int k = 0;
-
- /* color */
- v[k++] = x * 0.5 + 0.5;
- v[k++] = y * 0.5 + 0.5;
- v[k++] = z * 0.5 + 0.5;
- /* vert */
- v[k++] = x;
- v[k++] = y;
- v[k++] = z;
-
- /* color */
- v[k++] = -x * 0.5 + 0.5;
- v[k++] = -y * 0.5 + 0.5;
- v[k++] = z * 0.5 + 0.5;
- /* vert */
- v[k++] = -x;
- v[k++] = -y;
- v[k++] = z;
-
- /* color */
- v[k++] = -x * 0.5 + 0.5;
- v[k++] = -y * 0.5 + 0.5;
- v[k++] = -z * 0.5 + 0.5;
- /* vert */
- v[k++] = -x;
- v[k++] = -y;
- v[k++] = -z;
-
- /* color */
- v[k++] = x * 0.5 + 0.5;
- v[k++] = y * 0.5 + 0.5;
- v[k++] = -z * 0.5 + 0.5;
- /* vert */
- v[k++] = x;
- v[k++] = y;
- v[k++] = -z;
-}
-
-static void
-gen_quads(GLfloat *buf)
-{
- float *v = buf;
- float r = 1.0;
- int i;
-
- for (i = 0; i < NUM_QUADS; i++) {
- float angle = i / (float) NUM_QUADS * M_PI;
- float x = r * cos(angle);
- float y = r * sin(angle);
- float z = 1.10;
- quad(x, y, z, v);
- v += 24;
- }
-
- if (0) {
- float *p = buf;
- for (i = 0; i < NUM_QUADS * 4 * 2; i++) {
- printf("%d: %f %f %f\n", i, p[0], p[1], p[2]);
- p += 3;
- }
- }
-}
-
-
-static void
-Init(void)
-{
- int bytes = NUM_QUADS * 4 * 2 * 3 * sizeof(float);
- GLfloat *f;
-
-#if 1
- glGenBuffers(1, &Vbuffer);
- glBindBuffer(GL_ARRAY_BUFFER, Vbuffer);
- glBufferData(GL_ARRAY_BUFFER_ARB, bytes, NULL, GL_STATIC_DRAW_ARB);
- f = (float *) glMapBuffer(GL_ARRAY_BUFFER_ARB, GL_WRITE_ONLY_ARB);
- gen_quads(f);
- glUnmapBuffer(GL_ARRAY_BUFFER_ARB);
- glColorPointer(3, GL_FLOAT, 6*sizeof(float), (void *) 0);
- glVertexPointer(3, GL_FLOAT, 6*sizeof(float), (void *) 12);
-#else
- f = buf;
- gen_quads(f);
- glColorPointer(3, GL_FLOAT, 6*sizeof(float), buf);
- glVertexPointer(3, GL_FLOAT, 6*sizeof(float), buf + 3);
-#endif
-
- glEnableClientState(GL_COLOR_ARRAY);
- glEnableClientState(GL_VERTEX_ARRAY);
-
- glEnable(GL_DEPTH_TEST);
-
- glClearColor(0.5, 0.5, 0.5, 0.0);
-}
-
-
-int
-main(int argc, char *argv[])
-{
- glutInit(&argc, argv);
- glutInitWindowPosition(0, 0);
- glutInitWindowSize(600, 600);
- glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
- Win = glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutSpecialFunc(SpecialKey);
- glutDisplayFunc(Draw);
- if (Anim)
- glutIdleFunc(Idle);
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/random.c b/progs/tests/random.c
deleted file mode 100644
index 604b4d4088..0000000000
--- a/progs/tests/random.c
+++ /dev/null
@@ -1,458 +0,0 @@
-/**
- * Random rendering, to check for crashes, hangs, etc.
- *
- * Brian Paul
- * 21 June 2007
- */
-
-
-#include <assert.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-static int Win;
-static GLboolean Anim = GL_TRUE;
-static int Width = 200, Height = 200;
-static int DB = 0;
-static int MinVertexCount = 0, MaxVertexCount = 1000;
-static int Count = 0;
-
-struct vertex
-{
- int type;
- float v[4];
-};
-
-static int BufferSize = 10000;
-static struct vertex *Vbuffer = NULL;
-static int Vcount, Vprim;
-
-enum {
- BEGIN,
- END,
- VERTEX2,
- VERTEX3,
- VERTEX4,
- COLOR3,
- COLOR4,
- TEX2,
- TEX3,
- TEX4,
- SECCOLOR3,
- NORMAL3
-};
-
-
-
-/**
- * This can be called from within gdb after a crash:
- * (gdb) call ReportState()
- */
-static void
-ReportState(void)
-{
- static const struct {
- GLenum token;
- char *str;
- GLenum type;
- } state [] = {
- { GL_ALPHA_TEST, "GL_ALPHA_TEST", GL_INT },
- { GL_BLEND, "GL_BLEND", GL_INT },
- { GL_CLIP_PLANE0, "GL_CLIP_PLANE0", GL_INT },
- { GL_DEPTH_TEST, "GL_DEPTH_TEST", GL_INT },
- { GL_LIGHTING, "GL_LIGHTING", GL_INT },
- { GL_LINE_WIDTH, "GL_LINE_WIDTH", GL_FLOAT },
- { GL_POINT_SIZE, "GL_POINT_SIZE", GL_FLOAT },
- { GL_SHADE_MODEL, "GL_SHADE_MODEL", GL_INT },
- { GL_SCISSOR_TEST, "GL_SCISSOR_TEST", GL_INT },
- { 0, NULL, 0 }
- };
-
- GLint i;
-
- for (i = 0; state[i].token; i++) {
- if (state[i].type == GL_INT) {
- GLint v;
- glGetIntegerv(state[i].token, &v);
- printf("%s = %d\n", state[i].str, v);
- }
- else {
- GLfloat v;
- glGetFloatv(state[i].token, &v);
- printf("%s = %f\n", state[i].str, v);
- }
- }
-}
-
-static void
-PrintVertex(const char *f, const struct vertex *v, int sz)
-{
- int i;
- printf("%s(", f);
- for (i = 0; i < sz; i++) {
- printf("%g%s", v->v[i], (i == sz-1) ? "" : ", ");
- }
- printf(");\n");
-}
-
-/**
- * This can be called from within gdb after a crash:
- * (gdb) call ReportState()
- */
-static void
-LastPrim(void)
-{
- int i;
- for (i = 0; i < Vcount; i++) {
- switch (Vbuffer[i].type) {
- case BEGIN:
- printf("glBegin(%d);\n", (int) Vbuffer[i].v[0]);
- break;
- case END:
- printf("glEnd();\n");
- break;
- case VERTEX2:
- PrintVertex("glVertex2f", Vbuffer + i, 2);
- break;
- case VERTEX3:
- PrintVertex("glVertex3f", Vbuffer + i, 3);
- break;
- case VERTEX4:
- PrintVertex("glVertex4f", Vbuffer + i, 4);
- break;
- case COLOR3:
- PrintVertex("glColor3f", Vbuffer + i, 3);
- break;
- case COLOR4:
- PrintVertex("glColor4f", Vbuffer + i, 4);
- break;
- case TEX2:
- PrintVertex("glTexCoord2f", Vbuffer + i, 2);
- break;
- case TEX3:
- PrintVertex("glTexCoord3f", Vbuffer + i, 3);
- break;
- case TEX4:
- PrintVertex("glTexCoord4f", Vbuffer + i, 4);
- break;
- case SECCOLOR3:
- PrintVertex("glSecondaryColor3f", Vbuffer + i, 3);
- break;
- case NORMAL3:
- PrintVertex("glNormal3f", Vbuffer + i, 3);
- break;
- default:
- abort();
- }
- }
-}
-
-
-static int
-RandomInt(int max)
-{
- if (max == 0)
- return 0;
- return rand() % max;
-}
-
-static float
-RandomFloat(float min, float max)
-{
- int k = rand() % 10000;
- float x = min + (max - min) * k / 10000.0;
- return x;
-}
-
-/*
- * Return true if random number in [0,1] is <= percentile.
- */
-static GLboolean
-RandomChoice(float percentile)
-{
- return RandomFloat(0.0, 1.0) <= percentile;
-}
-
-static void
-RandomStateChange(void)
-{
- int k = RandomInt(19);
- switch (k) {
- case 0:
- glEnable(GL_BLEND);
- break;
- case 1:
- glDisable(GL_BLEND);
- break;
- case 2:
- glEnable(GL_ALPHA_TEST);
- break;
- case 3:
- glEnable(GL_ALPHA_TEST);
- break;
- case 4:
- glEnable(GL_DEPTH_TEST);
- break;
- case 5:
- glEnable(GL_DEPTH_TEST);
- break;
- case 6:
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
- break;
- case 7:
- glPointSize(10.0);
- break;
- case 8:
- glPointSize(1.0);
- break;
- case 9:
- glLineWidth(10.0);
- break;
- case 10:
- glLineWidth(1.0);
- break;
- case 11:
- glEnable(GL_LIGHTING);
- break;
- case 12:
- glDisable(GL_LIGHTING);
- break;
- case 13:
- glEnable(GL_SCISSOR_TEST);
- break;
- case 14:
- glDisable(GL_SCISSOR_TEST);
- break;
- case 15:
- glEnable(GL_CLIP_PLANE0);
- break;
- case 16:
- glDisable(GL_CLIP_PLANE0);
- break;
- case 17:
- glShadeModel(GL_FLAT);
- break;
- case 18:
- glShadeModel(GL_SMOOTH);
- break;
- }
-}
-
-
-static void
-RandomPrimitive(void)
-{
- int i;
- int len = MinVertexCount + RandomInt(MaxVertexCount - MinVertexCount);
-
- Vprim = RandomInt(10);
-
- glBegin(Vprim);
- Vbuffer[Vcount].type = BEGIN;
- Vbuffer[Vcount].v[0] = Vprim;
- Vcount++;
-
- for (i = 0; i < len; i++) {
- int k = RandomInt(9);
- Vbuffer[Vcount].v[0] = RandomFloat(-3, 3);
- Vbuffer[Vcount].v[1] = RandomFloat(-3, 3);
- Vbuffer[Vcount].v[2] = RandomFloat(-3, 3);
- Vbuffer[Vcount].v[3] = RandomFloat(-3, 3);
- switch (k) {
- case 0:
- glVertex2fv(Vbuffer[Vcount].v);
- Vbuffer[Vcount].type = VERTEX2;
- break;
- case 1:
- glVertex3fv(Vbuffer[Vcount].v);
- Vbuffer[Vcount].type = VERTEX3;
- break;
- case 2:
- glVertex4fv(Vbuffer[Vcount].v);
- Vbuffer[Vcount].type = VERTEX4;
- break;
- case 3:
- glColor3fv(Vbuffer[Vcount].v);
- Vbuffer[Vcount].type = COLOR3;
- break;
- case 4:
- glColor4fv(Vbuffer[Vcount].v);
- Vbuffer[Vcount].type = COLOR4;
- break;
- case 5:
- glTexCoord2fv(Vbuffer[Vcount].v);
- Vbuffer[Vcount].type = TEX2;
- break;
- case 6:
- glTexCoord3fv(Vbuffer[Vcount].v);
- Vbuffer[Vcount].type = TEX3;
- break;
- case 7:
- glTexCoord4fv(Vbuffer[Vcount].v);
- Vbuffer[Vcount].type = TEX4;
- break;
- case 8:
- glSecondaryColor3fv(Vbuffer[Vcount].v);
- Vbuffer[Vcount].type = SECCOLOR3;
- break;
- case 9:
- glNormal3fv(Vbuffer[Vcount].v);
- Vbuffer[Vcount].type = NORMAL3;
- break;
- default:
- abort();
- }
- Vcount++;
-
- if (Vcount >= BufferSize - 2) {
- /* reset */
- Vcount = 0;
- }
- }
-
- Vbuffer[Vcount++].type = END;
-
- glEnd();
-}
-
-
-static void
-RandomDraw(void)
-{
- int i;
- GLboolean dlist = RandomChoice(0.1);
- if (dlist)
- glNewList(1, GL_COMPILE);
- for (i = 0; i < 3; i++) {
- RandomStateChange();
- }
- RandomPrimitive();
-
- if (dlist) {
- glEndList();
- glCallList(1);
- }
-}
-
-
-static void
-Idle(void)
-{
- glutPostRedisplay();
-}
-
-
-static void
-Draw(void)
-{
-#if 1
- RandomDraw();
- Count++;
-#else
- /* cut & paste temp code here */
-#endif
-
- assert(glGetError() == 0);
-
- if (DB)
- glutSwapBuffers();
- else
- glFinish();
-}
-
-
-static void
-Reshape(int width, int height)
-{
- Width = width;
- Height = height;
- glViewport(0, 0, width, height);
- glScissor(20, 20, Width-40, Height-40);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glFrustum(-1.0, 1.0, -1.0, 1.0, 5.0, 25.0);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef(0.0, 0.0, -15.0);
-}
-
-
-static void
-Key(unsigned char key, int x, int y)
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- glutDestroyWindow(Win);
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void
-Init(void)
-{
- static const GLdouble plane[4] = {1, 1, 0, 0};
- glDrawBuffer(GL_FRONT);
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
- glEnable(GL_LIGHT0);
- glClipPlane(GL_CLIP_PLANE0, plane);
-
- Vbuffer = (struct vertex *)
- malloc(BufferSize * sizeof(struct vertex));
-
- /* silence warnings */
- (void) ReportState;
- (void) LastPrim;
-}
-
-
-static void
-ParseArgs(int argc, char *argv[])
-{
- int i;
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-s") == 0) {
- int j = atoi(argv[i + 1]);
- printf("Random seed value: %d\n", j);
- srand(j);
- i++;
- }
- else if (strcmp(argv[i], "-a") == 0) {
- i++;
- MinVertexCount = atoi(argv[i]);
- }
- else if (strcmp(argv[i], "-b") == 0) {
- i++;
- MaxVertexCount = atoi(argv[i]);
- }
- }
-}
-
-
-int
-main(int argc, char *argv[])
-{
- glutInit(&argc, argv);
- glutInitWindowPosition(0, 0);
- glutInitWindowSize(Width, Height);
- glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
- Win = glutCreateWindow(argv[0]);
- glewInit();
- ParseArgs(argc, argv);
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- if (Anim)
- glutIdleFunc(Idle);
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/readrate.c b/progs/tests/readrate.c
deleted file mode 100644
index 6bdda04907..0000000000
--- a/progs/tests/readrate.c
+++ /dev/null
@@ -1,286 +0,0 @@
-/*
- * Test glReadPixels speed
- * Brian Paul
- * 9 April 2004
- *
- * Compile:
- * gcc readrate.c -L/usr/X11R6/lib -lglut -lGLU -lGL -lX11 -o readrate
- */
-
-#include <assert.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-/* Hack, to test drawing instead of reading */
-#define DRAW 0
-
-#define MAX_WIDTH 1280
-#define MAX_HEIGHT 1024
-
-#define NUM_WIDTHS 4
-#define NUM_HEIGHTS 4
-static const GLint Widths[] = {256, 512, 1024, 1280};
-static const GLint Heights[] = {4, 32, 256, 512, 768, 1024};
-static int WidthIndex = 1, HeightIndex = 3;
-static GLubyte *Buffer = NULL;
-static GLboolean Benchmark = GL_TRUE;
-
-#define NUM_PBO 2
-
-static GLuint PBObjects[4];
-
-static GLboolean HavePBO = GL_FALSE;
-
-
-struct format_type {
- const char *Name;
- GLuint Bytes;
- GLenum Format;
- GLenum Type;
-};
-
-static struct format_type Formats[] = {
- { "GL_RGB, GLubyte", 3, GL_RGB, GL_UNSIGNED_BYTE },
- { "GL_BGR, GLubyte", 3, GL_BGR, GL_UNSIGNED_BYTE },
- { "GL_RGBA, GLubyte", 4, GL_RGBA, GL_UNSIGNED_BYTE },
- { "GL_BGRA, GLubyte", 4, GL_BGRA, GL_UNSIGNED_BYTE },
- { "GL_ABGR, GLubyte", 4, GL_ABGR_EXT, GL_UNSIGNED_BYTE },
- { "GL_RGBA, GLuint_8_8_8_8", 4, GL_RGBA, GL_UNSIGNED_INT_8_8_8_8 },
- { "GL_BGRA, GLuint_8_8_8_8", 4, GL_BGRA_EXT, GL_UNSIGNED_INT_8_8_8_8 },
- { "GL_BGRA, GLuint_8_8_8_8_rev", 4, GL_BGRA_EXT, GL_UNSIGNED_INT_8_8_8_8_REV },
-#ifdef GL_EXT_packed_depth_stencil
- { "GL_DEPTH_STENCIL_EXT, GLuint24+8", 4, GL_DEPTH_STENCIL_EXT, GL_UNSIGNED_INT_24_8_EXT },
-#endif
- { "GL_DEPTH_COMPONENT, GLfloat", 4, GL_DEPTH_COMPONENT, GL_FLOAT },
- { "GL_DEPTH_COMPONENT, GLuint", 4, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT }
-};
-
-#define NUM_FORMATS (sizeof(Formats) / sizeof(struct format_type))
-
-
-static void
-PrintString(const char *s)
-{
- while (*s) {
- glutBitmapCharacter(GLUT_BITMAP_8_BY_13, (int) *s);
- s++;
- }
-}
-
-
-static void
-MeasureFormat(struct format_type *fmt, GLint width, GLint height, GLuint pbo)
-{
- double t0 = glutGet(GLUT_ELAPSED_TIME) * 0.001;
- double t1;
- int j;
-
- for (j = 0; ; j++) {
-
- glBegin(GL_POINTS);
- glVertex2f(1,1);
- glEnd();
-
-#if DRAW
- glWindowPos2iARB(0,0);
- glDrawPixels(width, height,
- fmt->Format, fmt->Type, Buffer);
- glFinish();
-#else
- if (pbo) {
- glBindBufferARB(GL_PIXEL_PACK_BUFFER_EXT, PBObjects[j % NUM_PBO]);
- glReadPixels(0, 0, width, height,
- fmt->Format, fmt->Type, 0);
- }
- else {
- glReadPixels(0, 0, width, height,
- fmt->Format, fmt->Type, Buffer);
- }
-#endif
-
- t1 = glutGet(GLUT_ELAPSED_TIME) * 0.001;
- if (t1 - t0 > 2.0) {
- GLdouble rate = width * height / (1024.0 * 1024.0) * j / (t1 - t0);
-#if DRAW
- printf("%-32s %.2f draws/sec %.2f MPixels/sec %.2f MBytes/sec\n",
- fmt->Name, j / (t1-t0), rate, rate * fmt->Bytes);
-#else
- printf("%-32s %.2f reads/sec %.2f MPixels/sec %.2f MBytes/sec\n",
- fmt->Name, j / (t1-t0), rate, rate * fmt->Bytes);
-#endif
- break;
- }
-
- if (j == 0) {
- /* check for error */
- GLenum err = glGetError();
- if (err) {
- printf("GL Error 0x%x for %s\n", err, fmt->Name);
- return;
- }
- }
- }
-}
-
-
-
-static void
-Draw(void)
-{
- char str[1000];
- int width = Widths[WidthIndex];
- int height = Heights[HeightIndex];
- int y = MAX_HEIGHT - 50;
-
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
- glWindowPos2iARB(10, y);
- sprintf(str, "ReadPixels size: %d x %d", width, height);
- PrintString(str);
- y -= 14;
-
- glWindowPos2iARB(10, y);
- PrintString("Press up/down/left/right to change image size.");
- y -= 14;
-
- glWindowPos2iARB(10, y);
- PrintString("Press 'b' to run benchmark test.");
- y -= 14;
-
- if (Benchmark) {
- glWindowPos2iARB(10, y);
- PrintString("Testing...");
- }
-
- glutSwapBuffers();
-
- if (Benchmark) {
- GLuint i, pbo;
-#if DRAW
- printf("Draw size: Width=%d Height=%d\n", width, height);
-#else
- printf("Read size: Width=%d Height=%d\n", width, height);
-#endif
- for (pbo = 0; pbo <= HavePBO; pbo++) {
- printf("Pixel Buffer Object: %d\n", pbo);
-
- if (pbo == 0) {
- glBindBufferARB(GL_PIXEL_PACK_BUFFER_EXT, 0);
- }
-
- for (i = 0; i < NUM_FORMATS; i++) {
- MeasureFormat(Formats + i, width, height, pbo);
- }
- }
-
- Benchmark = GL_FALSE;
-
- /* redraw window text */
- glutPostRedisplay();
- }
-
-}
-
-
-static void
-Reshape(int width, int height)
-{
- glViewport(0, 0, width, height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1, 1, -1, 1, -1, 1);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
-}
-
-
-static void
-Key(unsigned char key, int x, int y)
-{
- (void) x;
- (void) y;
- switch (key) {
- case 'b':
- Benchmark = 1;
- break;
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void
-SpecialKey(int key, int x, int y)
-{
- (void) x;
- (void) y;
- switch (key) {
- case GLUT_KEY_UP:
- if (HeightIndex + 1 < NUM_WIDTHS)
- HeightIndex++;
- break;
- case GLUT_KEY_DOWN:
- if (HeightIndex > 0)
- HeightIndex--;
- break;
- case GLUT_KEY_LEFT:
- if (WidthIndex > 0)
- WidthIndex--;
- break;
- case GLUT_KEY_RIGHT:
- if (WidthIndex + 1 < NUM_HEIGHTS)
- WidthIndex++;
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void
-Init(void)
-{
- Buffer = malloc(MAX_WIDTH * MAX_HEIGHT * 4);
- assert(Buffer);
-#if DRAW
- printf("glDrawPixels test report:\n");
-#else
- printf("glReadPixels test report:\n");
-#endif
- printf("GL_RENDERER: %s\n", (char *) glGetString(GL_RENDERER));
- printf("GL_VERSION: %s\n", (char *) glGetString(GL_VERSION));
-
- if (glutExtensionSupported("GL_ARB_pixel_buffer_object")) {
- int i;
- HavePBO = 1;
- glGenBuffersARB(NUM_PBO, PBObjects);
- for (i = 0; i < NUM_PBO; i++) {
- glBindBufferARB(GL_PIXEL_PACK_BUFFER_EXT, PBObjects[i]);
- glBufferDataARB(GL_PIXEL_PACK_BUFFER_EXT,
- MAX_WIDTH * MAX_HEIGHT * 4, NULL, GL_STREAM_READ);
- }
- }
-}
-
-
-int
-main(int argc, char *argv[])
-{
- glutInit(&argc, argv);
- glutInitWindowPosition(0, 0);
- glutInitWindowSize(MAX_WIDTH, MAX_HEIGHT);
- glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH | GLUT_STENCIL);
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutSpecialFunc(SpecialKey);
- glutDisplayFunc(Draw);
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/rubberband.c b/progs/tests/rubberband.c
deleted file mode 100644
index 866a0f519e..0000000000
--- a/progs/tests/rubberband.c
+++ /dev/null
@@ -1,246 +0,0 @@
-/**
- * Test rubber-band selection box w/ logicops and blend.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-#include "readtex.c"
-
-#define IMAGE_FILE "../images/arch.rgb"
-
-static int ImgWidth, ImgHeight;
-static GLenum ImgFormat;
-static GLubyte *Image = NULL;
-
-static int Win;
-static int Width = 512, Height = 512;
-
-struct rect
-{
- int x0, y0, x1, y1;
-};
-
-static struct rect OldRect, NewRect;
-
-static GLboolean ButtonDown = GL_FALSE;
-static GLboolean LogicOp = 0*GL_TRUE;
-
-static GLboolean RedrawBackground = GL_TRUE;
-
-static const GLfloat red[4] = {1.0, 0.2, 0.2, 1.0};
-static const GLfloat green[4] = {0.2, 1.0, 0.2, 1.0};
-static const GLfloat blue[4] = {0.2, 0.2, 1.0, 1.0};
-
-
-/*
- * Draw rubberband box in front buffer
- */
-static void
-DrawRect(const struct rect *r)
-{
- glDrawBuffer(GL_FRONT);
-
- if (LogicOp) {
- glLogicOp(GL_XOR);
- glEnable(GL_COLOR_LOGIC_OP);
- }
- else {
- glEnable(GL_BLEND);
- glBlendFunc(GL_ONE, GL_ONE);
- glBlendEquation(GL_FUNC_SUBTRACT);
- }
-
- glColor3f(1, 1, 1);
-
- glLineWidth(3.0);
-
- glBegin(GL_LINE_LOOP);
- glVertex2i(r->x0, r->y0);
- glVertex2i(r->x1, r->y0);
- glVertex2i(r->x1, r->y1);
- glVertex2i(r->x0, r->y1);
- glEnd();
-
- glDisable(GL_COLOR_LOGIC_OP);
- glDisable(GL_BLEND);
-
- glDrawBuffer(GL_BACK);
-}
-
-
-static void
-PrintString(const char *s)
-{
- while (*s) {
- glutBitmapCharacter(GLUT_BITMAP_8_BY_13, (int) *s);
- s++;
- }
-}
-
-
-static void
-DrawBackground(void)
-{
- char s[100];
-
- sprintf(s, "[L/B] %s mode. Use mouse to make selection box.",
- LogicOp ? "LogicOp" : "Blend");
-
- glClear(GL_COLOR_BUFFER_BIT);
-
- glWindowPos2i((Width - ImgWidth) / 2, (Height - ImgHeight) / 2);
- glDrawPixels(ImgWidth, ImgHeight, ImgFormat, GL_UNSIGNED_BYTE, Image);
-
- glWindowPos2i(10, 10);
- PrintString(s);
-
- glutSwapBuffers();
-}
-
-
-static void
-Draw(void)
-{
- if (RedrawBackground) {
- DrawBackground();
- }
-
- if (ButtonDown) {
- if (!RedrawBackground)
- DrawRect(&OldRect); /* erase old */
-
- DrawRect(&NewRect); /* draw new */
-
- OldRect = NewRect;
- }
-
- RedrawBackground = GL_FALSE;
-}
-
-
-static void
-Reshape(int width, int height)
-{
- Width = width;
- Height = height;
-
- glViewport(0, 0, width, height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(0, Width, Height, 0, -1, 1); /* Inverted Y! */
-
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
-
- RedrawBackground = GL_TRUE;
-}
-
-
-static void
-Key(unsigned char key, int x, int y)
-{
- (void) x;
- (void) y;
- switch (key) {
- case 'b':
- case 'B':
- LogicOp = GL_FALSE;
- break;
- case 'l':
- case 'L':
- LogicOp = GL_TRUE;
- break;
- case 27:
- glutDestroyWindow(Win);
- exit(0);
- break;
- }
- RedrawBackground = GL_TRUE;
- glutPostRedisplay();
-}
-
-
-static void
-SpecialKey(int key, int x, int y)
-{
- (void) x;
- (void) y;
- switch (key) {
- case GLUT_KEY_UP:
- break;
- case GLUT_KEY_DOWN:
- break;
- case GLUT_KEY_LEFT:
- break;
- case GLUT_KEY_RIGHT:
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void
-MouseMotion(int x, int y)
-{
- if (ButtonDown) {
- NewRect.x1 = x;
- NewRect.y1 = y;
- glutPostRedisplay();
- }
-}
-
-
-static void
-MouseButton(int button, int state, int x, int y)
-{
- if (button == GLUT_LEFT_BUTTON && state == GLUT_DOWN) {
- ButtonDown = GL_TRUE;
- RedrawBackground = GL_TRUE;
- NewRect.x0 = NewRect.x1 = x;
- NewRect.y0 = NewRect.y1 = y;
- OldRect = NewRect;
- }
- else if (button == GLUT_LEFT_BUTTON && state == GLUT_UP) {
- ButtonDown = GL_FALSE;
- }
- glutPostRedisplay();
-}
-
-
-static void
-Init(void)
-{
- Image = LoadRGBImage(IMAGE_FILE, &ImgWidth, &ImgHeight, &ImgFormat);
- if (!Image) {
- printf("Couldn't read %s\n", IMAGE_FILE);
- exit(0);
- }
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- glPixelStorei(GL_PACK_ALIGNMENT, 1);
-}
-
-
-int
-main(int argc, char *argv[])
-{
- glutInit(&argc, argv);
- glutInitWindowSize(Width, Height);
- glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE);
- Win = glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutSpecialFunc(SpecialKey);
- glutMotionFunc(MouseMotion);
- glutMouseFunc(MouseButton);
- glutDisplayFunc(Draw);
- Init();
- glutPostRedisplay();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/scissor-viewport.c b/progs/tests/scissor-viewport.c
deleted file mode 100644
index 4ef307b424..0000000000
--- a/progs/tests/scissor-viewport.c
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- * Copyright (c) 2009 VMware, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-struct program
-{
- unsigned width;
- unsigned height;
- int i;
-};
-
-struct program prog;
-
-static void init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- prog.i = 0;
-}
-
-static void reshape(int width, int height)
-{
- glViewport(0, 0, 100, 100);
-
- prog.width = width;
- prog.height = height;
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- glutPostRedisplay();
- return;
- }
-}
-
-static void drawQuad(void)
-{
- glBegin(GL_QUADS);
- glVertex2d(-1.0, -1.0);
- glVertex2d( 1.0, -1.0);
- glVertex2d( 1.0, 1.0);
- glVertex2d(-1.0, 1.0);
- glEnd();
-}
-
-static void draw(void)
-{
- int i;
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
- glClear(GL_COLOR_BUFFER_BIT);
-
- i = prog.i++;
- if (prog.i >= 3)
- prog.i = 0;
-
- glEnable(GL_SCISSOR_TEST);
-
- {
- glColor4d(1.0, 0.0, 0.0, 1.0);
-
- glScissor(i, i, 10 - 2*i, 10 - 2*i);
- drawQuad();
- }
-
- glDisable(GL_SCISSOR_TEST);
-
- /* glutSwapBuffers(); */
- glFlush();
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- prog.width = 200;
- prog.height = 200;
-
- glutInitWindowPosition(100, 0);
- glutInitWindowSize(prog.width, prog.height);
-
- /* type = GLUT_RGB | GLUT_DOUBLE; */
- type = GLUT_RGB | GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- init();
-
- glutReshapeFunc(reshape);
- glutKeyboardFunc(key);
- glutDisplayFunc(draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/scissor.c b/progs/tests/scissor.c
deleted file mode 100644
index e5a68ffabd..0000000000
--- a/progs/tests/scissor.c
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- * Copyright (c) 2009 VMware, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-struct program
-{
- unsigned width;
- unsigned height;
- unsigned quads;
-};
-
-struct program prog;
-
-static void init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-}
-
-static void reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- prog.width = width;
- prog.height = height;
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- prog.quads = !prog.quads;
- glutPostRedisplay();
- return;
- }
-}
-
-static void drawQuad(void)
-{
-
- if (prog.quads) {
- glBegin(GL_QUADS);
- glVertex2d(-1.0, -1.0);
- glVertex2d( 1.0, -1.0);
- glVertex2d( 1.0, 1.0);
- glVertex2d(-1.0, 1.0);
- glEnd();
- } else {
- glClear(GL_COLOR_BUFFER_BIT);
- }
-}
-
-static void draw(void)
-{
- glClearColor(0.0, 0.0, 1.0, 0.0);
- glClear(GL_COLOR_BUFFER_BIT);
-
- printf("drawing with %s\n", prog.quads ? "quads" : "clears");
-
- glEnable(GL_SCISSOR_TEST);
-
- {
- glClearColor(1.0, 0.0, 0.0, 1.0);
- glColor4d(1.0, 0.0, 0.0, 1.0);
-
- glScissor(1, 1, 10, 10);
- drawQuad();
- glScissor(1, prog.height - 11, 10, 10);
- drawQuad();
- glScissor(prog.width - 11, prog.height - 11, 10, 10);
- drawQuad();
- }
-
- {
- glClearColor(0.0, 1.0, 0.0, 1.0);
- glColor4d(0.0, 1.0, 0.0, 1.0);
-
- glScissor(12, 1, 10, 10);
- drawQuad();
- glScissor(12, prog.height - 11, 10, 10);
- drawQuad();
- glScissor(prog.width - 22, prog.height - 11, 10, 10);
- drawQuad();
- }
-
- {
- glClearColor(1.0, 1.0, 0.0, 1.0);
- glColor4d(1.0, 1.0, 0.0, 1.0);
-
- glScissor(1, 12, 10, 10);
- drawQuad();
- glScissor(1, prog.height - 22, 10, 10);
- drawQuad();
- glScissor(prog.width - 11, prog.height - 22, 10, 10);
- drawQuad();
- }
-
- glDisable(GL_SCISSOR_TEST);
-
- /* glutSwapBuffers(); */
- glFlush();
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- prog.width = 200;
- prog.height = 200;
-
- glutInitWindowPosition(100, 0);
- glutInitWindowSize(prog.width, prog.height);
-
- /* type = GLUT_RGB | GLUT_DOUBLE; */
- type = GLUT_RGB | GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- init();
-
- glutReshapeFunc(reshape);
- glutKeyboardFunc(key);
- glutDisplayFunc(draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/seccolor.c b/progs/tests/seccolor.c
deleted file mode 100644
index f1ba314ef0..0000000000
--- a/progs/tests/seccolor.c
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * Exercise GL_EXT_secondary_color
- */
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-static int Width = 600;
-static int Height = 200;
-static GLfloat Near = 5.0, Far = 25.0;
-
-
-static void Display( void )
-{
- GLfloat t;
-
- glClearColor(0.2, 0.2, 0.8, 0);
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
-
- for (t = 0.0; t <= 1.0; t += 0.25) {
- GLfloat x = t * 10.0 - 5.0;
- GLfloat g = t;
-
- /* top row: untextured */
- glColor3f(1, 0, 0);
- glPushMatrix();
- glTranslatef(x, 1.2, 0);
-#if defined(GL_EXT_secondary_color)
- glSecondaryColor3fEXT(0, g, 0);
-#endif
- glBegin(GL_POLYGON);
- glVertex2f(-1, -1);
- glVertex2f( 1, -1);
- glVertex2f( 1, 1);
- glVertex2f(-1, 1);
- glEnd();
- glPopMatrix();
-
- /* bottom row: textured */
- glColor3f(1, 1, 1);
- glEnable(GL_TEXTURE_2D);
- glPushMatrix();
- glTranslatef(x, -1.2, 0);
-#if defined(GL_EXT_secondary_color)
- glSecondaryColor3fEXT(0, g, 0);
-#endif
- glBegin(GL_POLYGON);
- glTexCoord2f(0, 0); glVertex2f(-1, -1);
- glTexCoord2f(1, 0); glVertex2f( 1, -1);
- glTexCoord2f(1, 1); glVertex2f( 1, 1);
- glTexCoord2f(0, 1); glVertex2f(-1, 1);
- glEnd();
- glPopMatrix();
- glDisable(GL_TEXTURE_2D);
- }
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- GLfloat ar = (float) width / (float) height;
- Width = width;
- Height = height;
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -ar, ar, -1.0, 1.0, Near, Far );
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -15.0 );
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void Init( void )
-{
- GLubyte image[4*4][3];
- GLint i;
- if (!glutExtensionSupported("GL_EXT_secondary_color")) {
- printf("Sorry, this program requires GL_EXT_secondary_color\n");
- exit(1);
- }
-
- /* setup red texture with one back texel */
- for (i = 0; i < 4*4; i++) {
- if (i == 0) {
- image[i][0] = 0;
- image[i][1] = 0;
- image[i][2] = 0;
- }
- else {
- image[i][0] = 255;
- image[i][1] = 0;
- image[i][2] = 0;
- }
- }
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 4, 4, 0,
- GL_RGB, GL_UNSIGNED_BYTE, image);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
-
-#if defined(GL_EXT_secondary_color)
- glEnable(GL_COLOR_SUM_EXT);
-#endif
- glLightModeli(GL_LIGHT_MODEL_COLOR_CONTROL, GL_SEPARATE_SPECULAR_COLOR);
-
- printf("Squares should be colored from red -> orange -> yellow.\n");
- printf("Top row is untextured.\n");
- printf("Bottom row is textured (red texture with one black texel).\n");
- printf("Rows should be identical, except for lower-left texel.\n");
-}
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( Width, Height );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE );
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/shader_api.c b/progs/tests/shader_api.c
deleted file mode 100644
index fa0a992540..0000000000
--- a/progs/tests/shader_api.c
+++ /dev/null
@@ -1,350 +0,0 @@
-/* Tests to validate fixes to various bugs in src/mesa/shader/shader_api.c
- *
- * Written by Bruce Merry
- */
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-#ifndef APIENTRY
-#define APIENTRY
-#endif
-
-static void assert_test(const char *file, int line, int cond, const char *msg)
-{
- if (!cond)
- fprintf(stderr, "%s:%d assertion \"%s\" failed\n", file, line, msg);
-}
-
-#undef assert
-#define assert(x) assert_test(__FILE__, __LINE__, (x), #x)
-
-static void assert_no_error_test(const char *file, int line)
-{
- GLenum err;
-
- err = glGetError();
- if (err != GL_NO_ERROR)
- fprintf(stderr, "%s:%d received error %s\n",
- file, line, gluErrorString(err));
-}
-
-#define assert_no_error() assert_no_error_test(__FILE__, __LINE__)
-
-static void assert_error_test(const char *file, int line, GLenum expect)
-{
- GLenum err;
-
- err = glGetError();
- if (err != expect)
- fprintf(stderr, "%s:%d expected %s but received %s\n",
- file, line, gluErrorString(expect), gluErrorString(err));
- while (glGetError()); /* consume any following errors */
-}
-
-#define assert_error(err) assert_error_test(__FILE__, __LINE__, (err))
-
-static void check_status(GLuint id, GLenum pname, void (APIENTRY *query)(GLuint, GLenum, GLint *))
-{
- GLint status;
-
- query(id, pname, &status);
- if (!status)
- {
- char info[65536];
-
- fprintf(stderr, "Compilation/link failure:\n");
- glGetInfoLogARB(id, sizeof(info), NULL, info);
- fprintf(stderr, "%s\n", info);
- exit(1);
- }
-}
-
-static void check_compile_status(GLuint id)
-{
- check_status(id, GL_COMPILE_STATUS, glGetShaderiv);
-}
-
-static void check_link_status(GLuint id)
-{
- check_status(id, GL_LINK_STATUS, glGetProgramiv);
-}
-
-static GLuint make_shader(GLenum type, const char *src)
-{
- GLuint id;
-
- assert_no_error();
- id = glCreateShader(type);
- glShaderSource(id, 1, &src, NULL);
- glCompileShader(id);
- check_compile_status(id);
- assert_no_error();
- return id;
-}
-
-static GLuint make_program(const char *vs_src, const char *fs_src)
-{
- GLuint id, vs, fs;
-
- assert_no_error();
- id = glCreateProgram();
- if (vs_src) {
- vs = make_shader(GL_VERTEX_SHADER, vs_src);
- glAttachShader(id, vs);
- glDeleteShader(vs);
- }
- if (fs_src) {
- fs = make_shader(GL_FRAGMENT_SHADER, fs_src);
- glAttachShader(id, fs);
- glDeleteShader(fs);
- }
- glLinkProgram(id);
- check_link_status(id);
- glUseProgram(id);
- glDeleteProgram(id);
- assert_no_error();
- return id;
-}
-
-static void test_uniform_size_type1(const char *glslType, GLenum glType, const char *el)
-{
- char buffer[1024];
- GLuint program;
- GLint active, i;
- GLenum type;
- GLint size;
-
- printf(" Running subtest %s\n", glslType);
- fflush(stdout);
- sprintf(buffer, "#version 120\nuniform %s m[60];\nvoid main() { gl_Position[0] = m[59]%s; }\n",
- glslType, el);
-
- program = make_program(buffer, NULL);
- glGetProgramiv(program, GL_ACTIVE_UNIFORMS, &active);
- assert_no_error();
- for (i = 0; i < active; i++) {
- size = -1;
- type = 0;
- glGetActiveUniform(program, i, sizeof(buffer), NULL, &size, &type, buffer);
- assert_no_error();
- if (strncmp(buffer, "m", 1) == 0)
- break;
- }
- assert(i < active); /* Otherwise the compiler optimised it out */
- assert(type == glType);
- assert(size == 60);
-}
-
-static void test_uniform_size_type(void)
-{
- test_uniform_size_type1("float", GL_FLOAT, "");
- test_uniform_size_type1("vec2", GL_FLOAT_VEC2, "[0]");
- test_uniform_size_type1("vec3", GL_FLOAT_VEC3, "[0]");
- test_uniform_size_type1("vec4", GL_FLOAT_VEC4, "[0]");
-
- test_uniform_size_type1("bool", GL_BOOL, " ? 1.0 : 0.0");
- test_uniform_size_type1("bvec2", GL_BOOL_VEC2, "[0] ? 1.0 : 0.0");
- test_uniform_size_type1("bvec3", GL_BOOL_VEC3, "[0] ? 1.0 : 0.0");
- test_uniform_size_type1("bvec4", GL_BOOL_VEC4, "[0] ? 1.0 : 0.0");
-
- test_uniform_size_type1("int", GL_INT, "");
- test_uniform_size_type1("ivec2", GL_INT_VEC2, "[0]");
- test_uniform_size_type1("ivec3", GL_INT_VEC3, "[0]");
- test_uniform_size_type1("ivec4", GL_INT_VEC4, "[0]");
-
- test_uniform_size_type1("mat2", GL_FLOAT_MAT2, "[0][0]");
- test_uniform_size_type1("mat3", GL_FLOAT_MAT3, "[0][0]");
- test_uniform_size_type1("mat4", GL_FLOAT_MAT4, "[0][0]");
- test_uniform_size_type1("mat2x3", GL_FLOAT_MAT2x3, "[0][0]");
- test_uniform_size_type1("mat2x4", GL_FLOAT_MAT2x4, "[0][0]");
- test_uniform_size_type1("mat3x2", GL_FLOAT_MAT3x2, "[0][0]");
- test_uniform_size_type1("mat3x4", GL_FLOAT_MAT3x4, "[0][0]");
- test_uniform_size_type1("mat4x2", GL_FLOAT_MAT4x2, "[0][0]");
- test_uniform_size_type1("mat4x3", GL_FLOAT_MAT4x3, "[0][0]");
-}
-
-static void test_attrib_size_type1(const char *glslType, GLenum glType, const char *el)
-{
- char buffer[1024];
- GLuint program;
- GLint active, i;
- GLenum type;
- GLint size;
-
- printf(" Running subtest %s\n", glslType);
- fflush(stdout);
- sprintf(buffer, "#version 120\nattribute %s m;\nvoid main() { gl_Position[0] = m%s; }\n",
- glslType, el);
-
- program = make_program(buffer, NULL);
- glGetProgramiv(program, GL_ACTIVE_ATTRIBUTES, &active);
- assert_no_error();
- for (i = 0; i < active; i++) {
- size = -1;
- type = -1;
- glGetActiveAttrib(program, i, sizeof(buffer), NULL, &size, &type, buffer);
- assert_no_error();
- if (strncmp(buffer, "m", 1) == 0)
- break;
- }
- assert(i < active); /* Otherwise the compiler optimised it out */
- assert(type == glType);
- assert(size == 1);
-}
-
-static void test_attrib_size_type(void)
-{
- test_attrib_size_type1("float", GL_FLOAT, "");
- test_attrib_size_type1("vec2", GL_FLOAT_VEC2, "[0]");
- test_attrib_size_type1("vec3", GL_FLOAT_VEC3, "[0]");
- test_attrib_size_type1("vec4", GL_FLOAT_VEC4, "[0]");
-
- test_attrib_size_type1("mat2", GL_FLOAT_MAT2, "[0][0]");
- test_attrib_size_type1("mat3", GL_FLOAT_MAT3, "[0][0]");
- test_attrib_size_type1("mat4", GL_FLOAT_MAT4, "[0][0]");
- test_attrib_size_type1("mat2x3", GL_FLOAT_MAT2x3, "[0][0]");
- test_attrib_size_type1("mat2x4", GL_FLOAT_MAT2x4, "[0][0]");
- test_attrib_size_type1("mat3x2", GL_FLOAT_MAT3x2, "[0][0]");
- test_attrib_size_type1("mat3x4", GL_FLOAT_MAT3x4, "[0][0]");
- test_attrib_size_type1("mat4x2", GL_FLOAT_MAT4x2, "[0][0]");
- test_attrib_size_type1("mat4x3", GL_FLOAT_MAT4x3, "[0][0]");
-}
-
-static void test_uniform_array_overflow(void)
-{
- GLuint program;
- GLint location;
- GLfloat data[128];
-
- program = make_program("#version 120\nuniform vec2 x[10];\nvoid main() { gl_Position.xy = x[9]; }\n", NULL);
- location = glGetUniformLocation(program, "x");
- assert_no_error();
- glUniform2fv(location, 64, data);
- assert_no_error();
-}
-
-static void test_uniform_scalar_count(void)
-{
- GLuint program;
- GLint location;
- GLfloat data[128];
-
- program = make_program("#version 110\nuniform vec2 x;\nvoid main() { gl_Position.xy = x; }\n", NULL);
- location = glGetUniformLocation(program, "x");
- assert_no_error();
- glUniform2fv(location, 64, data);
- assert_error(GL_INVALID_OPERATION);
-}
-
-static void test_uniform_query_matrix(void)
-{
- GLuint program;
- GLfloat data[18];
- GLint i, r, c;
- GLint location;
-
- program = make_program("#version 110\nuniform mat3 m[2];\nvoid main() { gl_Position.xyz = m[1][2]; }\n", NULL);
- location = glGetUniformLocation(program, "m");
- for (i = 0; i < 9; i++)
- data[i] = i;
- for (i = 9; i < 18; i++)
- data[i] = 321.0;
- glUniformMatrix3fv(location, 1, GL_TRUE, data);
-
- for (i = 0; i < 18; i++)
- data[i] = 123.0;
- glGetUniformfv(program, location, data);
- for (c = 0; c < 3; c++)
- for (r = 0; r < 3; r++)
- assert(data[c * 3 + r] == r * 3 + c);
- for (i = 9; i < 18; i++)
- assert(data[i] == 123.0);
-}
-
-static void test_uniform_neg_location(void)
-{
- GLuint program;
- GLfloat data[4];
-
- program = make_program("#version 110\nvoid main() { gl_Position = vec4(1.0, 1.0, 1.0, 1.0); }\n", NULL);
- assert_no_error();
- glUniform1i(-1, 1);
- assert_no_error();
- glUniform1i(-200, 1);
- assert_error(GL_INVALID_OPERATION);
- glUniformMatrix2fv(-1, 1, GL_FALSE, data);
- assert_no_error();
- glUniformMatrix2fv(-200, 1, GL_FALSE, data);
- assert_error(GL_INVALID_OPERATION);
-}
-
-static void test_uniform_bool_conversion(void)
-{
- GLuint program;
- GLint location;
- GLint value[16]; /* in case glGetUniformiv goes nuts on the stack */
-
- assert_no_error();
- program = make_program("uniform bool b;\nvoid main() { gl_Position.x = b ? 1.5 : 0.5; }\n", NULL);
- location = glGetUniformLocation(program, "b");
- assert(location != -1);
- assert_no_error();
- glUniform1i(location, 5);
- assert_no_error();
- glGetUniformiv(program, location, &value[0]);
- assert_no_error();
- assert(value[0] == 1);
-}
-
-static void test_uniform_multiple_samplers(void)
-{
- GLuint program;
- GLint location;
- GLint values[2] = {0, 1};
-
- assert_no_error();
- program = make_program(NULL, "uniform sampler2D s[2];\nvoid main() { gl_FragColor = texture2D(s[1], vec2(0.0, 0.0)); }\n");
- location = glGetUniformLocation(program, "s[0]");
- assert(location != -1);
- assert_no_error();
- glUniform1iv(location, 2, values);
- assert_no_error();
-}
-
-static void run_test(const char *name, void (*callback)(void))
-{
- printf("Running %s\n", name);
- fflush(stdout);
- callback();
-}
-
-#define RUN_TEST(name) run_test(#name, (name))
-
-int main(int argc, char **argv)
-{
- const char *version;
-
- glutInit(&argc, argv);
- glutCreateWindow("Mesa bug demo");
- glewInit();
-
- version = (const char *) glGetString(GL_VERSION);
- if (version[0] == '1') {
- printf("Sorry, this test requires OpenGL 2.x GLSL support\n");
- exit(0);
- }
-
- RUN_TEST(test_uniform_size_type);
- RUN_TEST(test_attrib_size_type);
- RUN_TEST(test_uniform_array_overflow);
- RUN_TEST(test_uniform_scalar_count);
- RUN_TEST(test_uniform_query_matrix);
- RUN_TEST(test_uniform_neg_location);
- RUN_TEST(test_uniform_bool_conversion);
- /* Leave this one at the end, since it crashes Mesa's shader compiler */
- RUN_TEST(test_uniform_multiple_samplers);
- return 0;
-}
diff --git a/progs/tests/sharedtex.c b/progs/tests/sharedtex.c
deleted file mode 100644
index 2337b88d3f..0000000000
--- a/progs/tests/sharedtex.c
+++ /dev/null
@@ -1,439 +0,0 @@
-
-/*
- * Test sharing of display lists and texture objects between GLX contests.
- * Brian Paul
- * Summer 2000
- *
- *
- * Copyright (C) 2000 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
- * BRIAN PAUL 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.
- */
-
-
-#include <GL/gl.h>
-#include <GL/glx.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <string.h>
-
-
-struct window {
- char DisplayName[1000];
- Display *Dpy;
- Window Win;
- GLXContext Context;
- float Angle;
- int Id;
-};
-
-
-#define MAX_WINDOWS 20
-static struct window Windows[MAX_WINDOWS];
-static int NumWindows = 0;
-
-
-static GLuint Textures[3];
-static GLuint CubeList;
-
-
-
-static void
-Error(const char *display, const char *msg)
-{
- fprintf(stderr, "Error on display %s - %s\n", display, msg);
- exit(1);
-}
-
-
-static struct window *
-AddWindow(const char *displayName, int xpos, int ypos,
- const struct window *shareWindow)
-{
- Display *dpy;
- Window win;
- GLXContext ctx;
- int attrib[] = { GLX_RGBA,
- GLX_RED_SIZE, 1,
- GLX_GREEN_SIZE, 1,
- GLX_BLUE_SIZE, 1,
- GLX_DOUBLEBUFFER,
- GLX_DEPTH_SIZE, 1,
- None };
- int scrnum;
- XSetWindowAttributes attr;
- unsigned long mask;
- Window root;
- XVisualInfo *visinfo;
- int width = 300, height = 300;
-
- if (NumWindows >= MAX_WINDOWS)
- return NULL;
-
- dpy = XOpenDisplay(displayName);
- if (!dpy) {
- Error(displayName, "Unable to open display");
- return NULL;
- }
-
- scrnum = DefaultScreen(dpy);
- root = RootWindow(dpy, scrnum);
-
- visinfo = glXChooseVisual(dpy, scrnum, attrib);
- if (!visinfo) {
- Error(displayName, "Unable to find RGB, double-buffered visual");
- return NULL;
- }
-
- /* window attributes */
- attr.background_pixel = 0;
- attr.border_pixel = 0;
- attr.colormap = XCreateColormap(dpy, root, visinfo->visual, AllocNone);
- attr.event_mask = StructureNotifyMask | ExposureMask | KeyPressMask;
- mask = CWBackPixel | CWBorderPixel | CWColormap | CWEventMask;
-
- win = XCreateWindow(dpy, root, xpos, ypos, width, height,
- 0, visinfo->depth, InputOutput,
- visinfo->visual, mask, &attr);
- if (!win) {
- Error(displayName, "Couldn't create window");
- return NULL;
- }
-
- {
- XSizeHints sizehints;
- sizehints.x = xpos;
- sizehints.y = ypos;
- sizehints.width = width;
- sizehints.height = height;
- sizehints.flags = USSize | USPosition;
- XSetNormalHints(dpy, win, &sizehints);
- XSetStandardProperties(dpy, win, displayName, displayName,
- None, (char **)NULL, 0, &sizehints);
- }
-
-
- ctx = glXCreateContext(dpy, visinfo,
- shareWindow ? shareWindow->Context : NULL,
- True);
- if (!ctx) {
- Error(displayName, "Couldn't create GLX context");
- return NULL;
- }
-
- XMapWindow(dpy, win);
-
- if (!glXMakeCurrent(dpy, win, ctx)) {
- Error(displayName, "glXMakeCurrent failed");
- printf("glXMakeCurrent failed in Redraw()\n");
- return NULL;
- }
-
- /* save the info for this window */
- {
- static int id = 0;
- struct window *h = &Windows[NumWindows];
- strcpy(h->DisplayName, displayName);
- h->Dpy = dpy;
- h->Win = win;
- h->Context = ctx;
- h->Angle = 0.0;
- h->Id = id++;
- NumWindows++;
- return &Windows[NumWindows-1];
- }
-
-}
-
-
-static void
-InitGLstuff(struct window *h)
-{
- if (!glXMakeCurrent(h->Dpy, h->Win, h->Context)) {
- Error(h->DisplayName, "glXMakeCurrent failed in InitGLstuff");
- return;
- }
-
- glGenTextures(3, Textures);
-
- /* setup first texture object */
- {
- GLubyte image[16][16][4];
- GLint i, j;
- glBindTexture(GL_TEXTURE_2D, Textures[0]);
-
- /* red/white checkerboard */
- for (i = 0; i < 16; i++) {
- for (j = 0; j < 16; j++) {
- if ((i ^ j) & 1) {
- image[i][j][0] = 255;
- image[i][j][1] = 255;
- image[i][j][2] = 255;
- image[i][j][3] = 255;
- }
- else {
- image[i][j][0] = 255;
- image[i][j][1] = 0;
- image[i][j][2] = 0;
- image[i][j][3] = 255;
- }
- }
- }
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 16, 16, 0, GL_RGBA,
- GL_UNSIGNED_BYTE, image);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- }
-
- /* setup second texture object */
- {
- GLubyte image[8][8][3];
- GLint i, j;
- glBindTexture(GL_TEXTURE_2D, Textures[1]);
-
- /* green/yellow checkerboard */
- for (i = 0; i < 8; i++) {
- for (j = 0; j < 8; j++) {
- if ((i ^ j) & 1) {
- image[i][j][0] = 0;
- image[i][j][1] = 255;
- image[i][j][2] = 0;
- }
- else {
- image[i][j][0] = 255;
- image[i][j][1] = 255;
- image[i][j][2] = 0;
- }
- }
- }
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 2);
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 8, 8, 0, GL_RGB,
- GL_UNSIGNED_BYTE, image);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- }
-
- /* setup second texture object */
- {
- GLubyte image[4][4][3];
- GLint i, j;
- glBindTexture(GL_TEXTURE_2D, Textures[2]);
-
- /* blue/gray checkerboard */
- for (i = 0; i < 4; i++) {
- for (j = 0; j < 4; j++) {
- if ((i ^ j) & 1) {
- image[i][j][0] = 0;
- image[i][j][1] = 0;
- image[i][j][2] = 255;
- }
- else {
- image[i][j][0] = 200;
- image[i][j][1] = 200;
- image[i][j][2] = 200;
- }
- }
- }
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 2);
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 4, 4, 0, GL_RGB,
- GL_UNSIGNED_BYTE, image);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- }
-
- /* Now make the cube object display list */
- CubeList = glGenLists(1);
- glNewList(CubeList, GL_COMPILE);
- {
- glBindTexture(GL_TEXTURE_2D, Textures[0]);
- glBegin(GL_POLYGON);
- glTexCoord2f(0, 0); glVertex3f(-1, -1, -1);
- glTexCoord2f(1, 0); glVertex3f(-1, 1, -1);
- glTexCoord2f(1, 1); glVertex3f(-1, 1, 1);
- glTexCoord2f(0, 1); glVertex3f(-1, -1, 1);
- glEnd();
- glBegin(GL_POLYGON);
- glTexCoord2f(0, 0); glVertex3f(1, -1, -1);
- glTexCoord2f(1, 0); glVertex3f(1, 1, -1);
- glTexCoord2f(1, 1); glVertex3f(1, 1, 1);
- glTexCoord2f(0, 1); glVertex3f(1, -1, 1);
- glEnd();
-
- glBindTexture(GL_TEXTURE_2D, Textures[1]);
- glBegin(GL_POLYGON);
- glTexCoord2f(0, 0); glVertex3f(-1, -1, -1);
- glTexCoord2f(1, 0); glVertex3f( 1, -1, -1);
- glTexCoord2f(1, 1); glVertex3f( 1, -1, 1);
- glTexCoord2f(0, 1); glVertex3f(-1, -1, 1);
- glEnd();
- glBegin(GL_POLYGON);
- glTexCoord2f(0, 0); glVertex3f(-1, 1, -1);
- glTexCoord2f(1, 0); glVertex3f( 1, 1, -1);
- glTexCoord2f(1, 1); glVertex3f( 1, 1, 1);
- glTexCoord2f(0, 1); glVertex3f(-1, 1, 1);
- glEnd();
-
- glBindTexture(GL_TEXTURE_2D, Textures[2]);
- glBegin(GL_POLYGON);
- glTexCoord2f(0, 0); glVertex3f(-1, -1, -1);
- glTexCoord2f(1, 0); glVertex3f( 1, -1, -1);
- glTexCoord2f(1, 1); glVertex3f( 1, 1, -1);
- glTexCoord2f(0, 1); glVertex3f(-1, 1, -1);
- glEnd();
- glBegin(GL_POLYGON);
- glTexCoord2f(0, 0); glVertex3f(-1, -1, 1);
- glTexCoord2f(1, 0); glVertex3f( 1, -1, 1);
- glTexCoord2f(1, 1); glVertex3f( 1, 1, 1);
- glTexCoord2f(0, 1); glVertex3f(-1, 1, 1);
- glEnd();
- }
- glEndList();
-
- printf("GL_RENDERER: %s\n", (char *) glGetString(GL_RENDERER));
- printf("GL_VERSION: %s\n", (char *) glGetString(GL_VERSION));
- printf("GL_VENDOR: %s\n", (char *) glGetString(GL_VENDOR));
-}
-
-
-
-static void
-Redraw(struct window *h)
-{
- if (!glXMakeCurrent(h->Dpy, h->Win, h->Context)) {
- Error(h->DisplayName, "glXMakeCurrent failed");
- printf("glXMakeCurrent failed in Redraw()\n");
- return;
- }
-
- h->Angle += 1.0;
-
- glShadeModel(GL_FLAT);
- glClearColor(0.25, 0.25, 0.25, 1.0);
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
- glEnable(GL_TEXTURE_2D);
- glEnable(GL_DEPTH_TEST);
- glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
-
- glColor3f(1, 1, 1);
-
- glPushMatrix();
- if (h->Id == 0)
- glRotatef(h->Angle, 0, 1, -1);
- else if (h->Id == 1)
- glRotatef(-(h->Angle), 0, 1, -1);
- else if (h->Id == 2)
- glRotatef(h->Angle, 0, 1, 1);
- else if (h->Id == 3)
- glRotatef(-(h->Angle), 0, 1, 1);
- glCallList(CubeList);
- glPopMatrix();
-
- glXSwapBuffers(h->Dpy, h->Win);
-}
-
-
-
-static void
-Resize(const struct window *h, unsigned int width, unsigned int height)
-{
- if (!glXMakeCurrent(h->Dpy, h->Win, h->Context)) {
- Error(h->DisplayName, "glXMakeCurrent failed in Resize()");
- return;
- }
- glViewport(0, 0, width, height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glFrustum(-1, 1, -1, 1, 2, 10);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef(0, 0, -4.5);
-}
-
-
-
-static void
-EventLoop(void)
-{
- while (1) {
- int i;
- for (i = 0; i < NumWindows; i++) {
- struct window *h = &Windows[i];
- while (XPending(h->Dpy) > 0) {
- XEvent event;
- XNextEvent(h->Dpy, &event);
- if (event.xany.window == h->Win) {
- switch (event.type) {
- case Expose:
- Redraw(h);
- break;
- case ConfigureNotify:
- Resize(h, event.xconfigure.width, event.xconfigure.height);
- break;
- case KeyPress:
- return;
- default:
- /*no-op*/ ;
- }
- }
- else {
- printf("window mismatch\n");
- }
- }
- Redraw(h);
- }
- usleep(1);
- }
-}
-
-
-#if 0
-static void
-PrintInfo(const struct window *h)
-{
- printf("Name: %s\n", h->DisplayName);
- printf(" Display: %p\n", (void *) h->Dpy);
- printf(" Window: 0x%x\n", (int) h->Win);
- printf(" Context: 0x%x\n", (int) h->Context);
-}
-#endif
-
-
-int
-main(int argc, char *argv[])
-{
- const char *dpyName = XDisplayName(NULL);
-
- struct window *h0;
-
- /* four windows and contexts sharing display lists and texture objects */
- h0 = AddWindow(dpyName, 10, 10, NULL);
- (void) AddWindow(dpyName, 330, 10, h0);
- (void) AddWindow(dpyName, 10, 350, h0);
- (void) AddWindow(dpyName, 330, 350, h0);
-
- InitGLstuff(h0);
-
- EventLoop();
- return 0;
-}
diff --git a/progs/tests/stencil_twoside.c b/progs/tests/stencil_twoside.c
deleted file mode 100644
index 7d871e5877..0000000000
--- a/progs/tests/stencil_twoside.c
+++ /dev/null
@@ -1,299 +0,0 @@
-/*
- * (C) Copyright IBM Corporation 2004
- * 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
- * on the rights to use, copy, modify, merge, publish, distribute, sub
- * license, 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 (including the next
- * paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
- * VA LINUX SYSTEM, IBM AND/OR THEIR SUPPLIERS 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.
- */
-
-/**
- * \file stencil_twoside.c
- *
- * Simple test of GL_ATI_separate_stencil (or the OGL 2.0 equivalent) functionality.
- * Four squares are drawn
- * with different stencil modes, but all should be rendered with the same
- * final color.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-static int use20syntax = 1;
-static int Width = 550;
-static int Height = 200;
-static const GLfloat Near = 5.0, Far = 25.0;
-
-
-static PFNGLSTENCILFUNCSEPARATEPROC stencil_func_separate = NULL;
-static PFNGLSTENCILFUNCSEPARATEATIPROC stencil_func_separate_ati = NULL;
-static PFNGLSTENCILOPSEPARATEPROC stencil_op_separate = NULL;
-
-static void Display( void )
-{
- GLint max_stencil;
- GLint stencil_bits;
- unsigned i;
-
-
- glGetIntegerv( GL_STENCIL_BITS, & stencil_bits );
- max_stencil = (1U << stencil_bits) - 1;
- printf( "Stencil bits = %u, maximum stencil value = 0x%08x\n",
- stencil_bits, max_stencil );
-
- glClearStencil( 1 );
- glClearColor( 0.2, 0.2, 0.8, 0 );
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT
- | GL_STENCIL_BUFFER_BIT );
-
-
- glPushMatrix();
-
- /* This is the "reference" square.
- */
-
- glDisable(GL_STENCIL_TEST);
- glTranslatef(-6.0, 0, 0);
- glBegin(GL_QUADS);
- glColor3f( 0.5, 0.5, 0.5 );
- glVertex2f(-1, -1);
- glVertex2f( 1, -1);
- glVertex2f( 1, 1);
- glVertex2f(-1, 1);
- glEnd();
-
-
- glEnable(GL_STENCIL_TEST);
-
- /* Draw the first two squares using incr for the affected face
- */
-
- if (use20syntax) {
- stencil_func_separate(GL_FRONT, GL_ALWAYS, 0, ~0);
- stencil_func_separate(GL_BACK, GL_ALWAYS, 0, ~0);
- }
- else {
- stencil_func_separate_ati(GL_ALWAYS, GL_ALWAYS, 0, ~0);
- }
- stencil_op_separate(GL_FRONT, GL_KEEP, GL_KEEP, GL_INCR);
- stencil_op_separate(GL_BACK, GL_KEEP, GL_KEEP, GL_DECR);
-
- glTranslatef(3.0, 0, 0);
- glBegin(GL_QUADS);
- glColor3f( 0.9, 0.9, 0.9 );
- /* this should be front facing */
- for ( i = 0 ; i < (max_stencil + 5) ; i++ ) {
- glVertex2f(-1, -1);
- glVertex2f( 1, -1);
- glVertex2f( 1, 1);
- glVertex2f(-1, 1);
- }
- glEnd();
-
- glStencilFunc(GL_EQUAL, max_stencil, ~0);
- glBegin(GL_QUADS);
- glColor3f( 0.5, 0.5, 0.5 );
- glVertex2f(-1, -1);
- glVertex2f( 1, -1);
- glVertex2f( 1, 1);
- glVertex2f(-1, 1);
- glEnd();
-
- if (use20syntax) {
- stencil_func_separate(GL_FRONT, GL_ALWAYS, 0, ~0);
- stencil_func_separate(GL_BACK, GL_ALWAYS, 0, ~0);
- }
- else {
- stencil_func_separate_ati(GL_ALWAYS, GL_ALWAYS, 0, ~0);
- }
- stencil_op_separate(GL_FRONT, GL_KEEP, GL_KEEP, GL_DECR);
- stencil_op_separate(GL_BACK, GL_KEEP, GL_KEEP, GL_INCR);
-
- glTranslatef(3.0, 0, 0);
- glBegin(GL_QUADS);
- glColor3f( 0.9, 0.9, 0.9 );
-
- /* this should be back facing */
- for ( i = 0 ; i < (max_stencil + 5) ; i++ ) {
- glVertex2f(-1, -1);
- glVertex2f(-1, 1);
- glVertex2f( 1, 1);
- glVertex2f( 1, -1);
- }
- glEnd();
-
- glStencilFunc(GL_EQUAL, max_stencil, ~0);
- glBegin(GL_QUADS);
- glColor3f( 0.5, 0.5, 0.5 );
- glVertex2f(-1, -1);
- glVertex2f( 1, -1);
- glVertex2f( 1, 1);
- glVertex2f(-1, 1);
- glEnd();
-
- if (use20syntax) {
- stencil_func_separate(GL_FRONT, GL_NEVER, 0, ~0);
- stencil_func_separate(GL_BACK, GL_ALWAYS, 0, ~0);
- }
- else {
- stencil_func_separate_ati(GL_NEVER, GL_ALWAYS, 0, ~0);
- }
- stencil_op_separate(GL_FRONT, GL_KEEP, GL_KEEP, GL_DECR);
- stencil_op_separate(GL_BACK, GL_KEEP, GL_KEEP, GL_INCR);
-
- glTranslatef(3.0, 0, 0);
- glBegin(GL_QUADS);
- glColor3f( 0.9, 0.9, 0.9 );
-
- /* this should be back facing */
- for ( i = 0 ; i < (max_stencil + 5) ; i++ ) {
- /* this should be back facing */
- glVertex2f(-1, -1);
- glVertex2f(-1, 1);
- glVertex2f( 1, 1);
- glVertex2f( 1, -1);
- /* this should be front facing */
- glVertex2f(-1, -1);
- glVertex2f( 1, -1);
- glVertex2f( 1, 1);
- glVertex2f(-1, 1);
- }
- glEnd();
-
- glStencilFunc(GL_EQUAL, max_stencil, ~0);
- glBegin(GL_QUADS);
- glColor3f( 0.5, 0.5, 0.5 );
- glVertex2f(-1, -1);
- glVertex2f( 1, -1);
- glVertex2f( 1, 1);
- glVertex2f(-1, 1);
- glEnd();
-
- if (use20syntax) {
- stencil_func_separate(GL_FRONT, GL_ALWAYS, 0, ~0);
- stencil_func_separate(GL_BACK, GL_ALWAYS, 0, ~0);
- }
- else {
- stencil_func_separate_ati(GL_ALWAYS, GL_ALWAYS, 0, ~0);
- }
- stencil_op_separate(GL_FRONT, GL_KEEP, GL_KEEP, GL_DECR);
- stencil_op_separate(GL_BACK, GL_KEEP, GL_KEEP, GL_INCR);
-
- glTranslatef(3.0, 0, 0);
- glBegin(GL_QUADS);
- glColor3f( 0.9, 0.9, 0.9 );
-
- /* this should be back facing */
- for ( i = 0 ; i < (max_stencil + 5) ; i++ ) {
- /* this should be back facing */
- glVertex2f(-1, -1);
- glVertex2f(-1, 1);
- glVertex2f( 1, 1);
- glVertex2f( 1, -1);
- /* this should be front facing */
- glVertex2f(-1, -1);
- glVertex2f( 1, -1);
- glVertex2f( 1, 1);
- glVertex2f(-1, 1);
- }
- glEnd();
-
- glStencilFunc(GL_EQUAL, 1, ~0);
- glBegin(GL_QUADS);
- glColor3f( 0.5, 0.5, 0.5 );
- glVertex2f(-1, -1);
- glVertex2f( 1, -1);
- glVertex2f( 1, 1);
- glVertex2f(-1, 1);
- glEnd();
-
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- GLfloat ar = (float) width / (float) height;
- Width = width;
- Height = height;
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -ar, ar, -1.0, 1.0, Near, Far );
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -15.0 );
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void Init( void )
-{
- const char * const ver_string = (const char * const)
- glGetString( GL_VERSION );
-
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- printf("GL_VERSION = %s\n", ver_string);
-
- if ( !glutExtensionSupported("GL_ATI_separate_stencil")
- && (atof( ver_string ) < 2.0) ) {
- printf("Sorry, this program requires either GL_ATI_separate_stencil or OpenGL 2.0.\n");
- exit(1);
- }
- if (atof( ver_string ) < 2.0) {
- use20syntax = 0;
- }
- stencil_func_separate = (PFNGLSTENCILFUNCSEPARATEPROC) glutGetProcAddress( "glStencilFuncSeparate" );
- stencil_func_separate_ati = (PFNGLSTENCILFUNCSEPARATEATIPROC) glutGetProcAddress( "glStencilFuncSeparateATI" );
- stencil_op_separate = (PFNGLSTENCILOPSEPARATEPROC) glutGetProcAddress( "glStencilOpSeparate" );
-
- printf("\nAll 5 squares should be the same color.\n");
-}
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( Width, Height );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH | GLUT_STENCIL );
- glutCreateWindow( "GL_ATI_separate_stencil test" );
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/stencil_wrap.c b/progs/tests/stencil_wrap.c
deleted file mode 100644
index 28307fef4f..0000000000
--- a/progs/tests/stencil_wrap.c
+++ /dev/null
@@ -1,259 +0,0 @@
-/*
- * (C) Copyright IBM Corporation 2004
- * 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
- * on the rights to use, copy, modify, merge, publish, distribute, sub
- * license, 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 (including the next
- * paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
- * VA LINUX SYSTEM, IBM AND/OR THEIR SUPPLIERS 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.
- */
-
-/**
- * \file stencil_wrap.c
- *
- * Simple test of GL_EXT_stencil_wrap functionality. Four squares are drawn
- * with different stencil modes, but all should be rendered with the same
- * final color.
- *
- * \author Ian Romanick <idr@us.ibm.com>
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-static int Width = 550;
-static int Height = 200;
-static const GLfloat Near = 5.0, Far = 25.0;
-
-
-static void Display( void )
-{
- GLint max_stencil;
- GLint stencil_bits;
- unsigned i;
-
-
- glGetIntegerv( GL_STENCIL_BITS, & stencil_bits );
- max_stencil = (1U << stencil_bits) - 1;
- printf( "Stencil bits = %u, maximum stencil value = 0x%08x\n",
- stencil_bits, max_stencil );
-
- glClearStencil( 0 );
- glClearColor( 0.2, 0.2, 0.8, 0 );
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT
- | GL_STENCIL_BUFFER_BIT );
-
-
- glPushMatrix();
-
- /* This is the "reference" square.
- */
-
- glDisable(GL_STENCIL_TEST);
- glTranslatef(-6.0, 0, 0);
- glBegin(GL_QUADS);
- glColor3f( 0.5, 0.5, 0.5 );
- glVertex2f(-1, -1);
- glVertex2f( 1, -1);
- glVertex2f( 1, 1);
- glVertex2f(-1, 1);
- glEnd();
-
-
- glEnable(GL_STENCIL_TEST);
-
- /* Draw the first two squares using the two non-wrap (i.e., saturate)
- * modes.
- */
-
- glStencilFunc(GL_ALWAYS, 0, ~0);
- glStencilOp(GL_KEEP, GL_KEEP, GL_INCR);
-
- glTranslatef(3.0, 0, 0);
- glBegin(GL_QUADS);
- glColor3f( 0.9, 0.9, 0.9 );
-
- for ( i = 0 ; i < (max_stencil + 5) ; i++ ) {
- glVertex2f(-1, -1);
- glVertex2f( 1, -1);
- glVertex2f( 1, 1);
- glVertex2f(-1, 1);
- }
- glEnd();
-
- glStencilFunc(GL_EQUAL, max_stencil, ~0);
- glBegin(GL_QUADS);
- glColor3f( 0.5, 0.5, 0.5 );
- glVertex2f(-1, -1);
- glVertex2f( 1, -1);
- glVertex2f( 1, 1);
- glVertex2f(-1, 1);
- glEnd();
-
-
- glStencilFunc(GL_ALWAYS, 0, ~0);
- glStencilOp(GL_KEEP, GL_KEEP, GL_DECR);
-
- glTranslatef(3.0, 0, 0);
- glBegin(GL_QUADS);
- glColor3f( 0.9, 0.9, 0.9 );
-
- for ( i = 0 ; i < (max_stencil + 5) ; i++ ) {
- glVertex2f(-1, -1);
- glVertex2f( 1, -1);
- glVertex2f( 1, 1);
- glVertex2f(-1, 1);
- }
- glEnd();
-
- glStencilFunc(GL_EQUAL, 0, ~0);
- glBegin(GL_QUADS);
- glColor3f( 0.5, 0.5, 0.5 );
- glVertex2f(-1, -1);
- glVertex2f( 1, -1);
- glVertex2f( 1, 1);
- glVertex2f(-1, 1);
- glEnd();
-
-
-
-
- /* Draw the last two squares using the two wrap modes.
- */
-
- glStencilFunc(GL_ALWAYS, 0, ~0);
- glStencilOp(GL_KEEP, GL_KEEP, GL_INCR_WRAP);
-
- glTranslatef(3.0, 0, 0);
- glBegin(GL_QUADS);
- glColor3f( 0.9, 0.9, 0.9 );
-
- for ( i = 0 ; i < (max_stencil + 5) ; i++ ) {
- glVertex2f(-1, -1);
- glVertex2f( 1, -1);
- glVertex2f( 1, 1);
- glVertex2f(-1, 1);
- }
- glEnd();
-
- glStencilFunc(GL_EQUAL, 4, ~0);
- glBegin(GL_QUADS);
- glColor3f( 0.5, 0.5, 0.5 );
- glVertex2f(-1, -1);
- glVertex2f( 1, -1);
- glVertex2f( 1, 1);
- glVertex2f(-1, 1);
- glEnd();
-
-
-
- glStencilFunc(GL_ALWAYS, 0, ~0);
- glStencilOp(GL_KEEP, GL_KEEP, GL_DECR_WRAP);
-
- glTranslatef(3.0, 0, 0);
- glBegin(GL_QUADS);
- glColor3f( 0.9, 0.9, 0.9 );
-
- for ( i = 0 ; i < 5 ; i++ ) {
- glVertex2f(-1, -1);
- glVertex2f( 1, -1);
- glVertex2f( 1, 1);
- glVertex2f(-1, 1);
- }
- glEnd();
-
- glStencilFunc(GL_EQUAL, (max_stencil - 4), ~0);
- glBegin(GL_QUADS);
- glColor3f( 0.5, 0.5, 0.5 );
- glVertex2f(-1, -1);
- glVertex2f( 1, -1);
- glVertex2f( 1, 1);
- glVertex2f(-1, 1);
- glEnd();
-
-
-
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- GLfloat ar = (float) width / (float) height;
- Width = width;
- Height = height;
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -ar, ar, -1.0, 1.0, Near, Far );
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -15.0 );
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void Init( void )
-{
- const char * const ver_string = (const char * const)
- glGetString( GL_VERSION );
-
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- printf("GL_VERSION = %s\n", ver_string);
-
- if ( !glutExtensionSupported("GL_EXT_stencil_wrap")
- && (atof( ver_string ) < 1.4) ) {
- printf("Sorry, this program requires either GL_EXT_stencil_wrap or OpenGL 1.4.\n");
- exit(1);
- }
-
- printf("\nAll 5 squares should be the same color.\n");
- glEnable( GL_BLEND );
-}
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( Width, Height );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH | GLUT_STENCIL );
- glutCreateWindow( "GL_EXT_stencil_wrap test" );
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/stencilwrap.c b/progs/tests/stencilwrap.c
deleted file mode 100644
index d396fc2a53..0000000000
--- a/progs/tests/stencilwrap.c
+++ /dev/null
@@ -1,283 +0,0 @@
-/* Test GL_EXT_stencil_wrap extension.
- * This is by no means complete, just a quick check.
- *
- * Brian Paul 30 October 2002
- */
-
-#include <assert.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-GLboolean wrapping;
-
-static void RunTest(void)
-{
- const GLenum prim = GL_QUAD_STRIP;
- GLubyte val;
- int bits, max, i;
- int expected;
- GLboolean failed;
-
- glGetIntegerv(GL_STENCIL_BITS, &bits);
- max = (1 << bits) - 1;
-
-
- glEnable(GL_STENCIL_TEST);
- glStencilFunc(GL_ALWAYS, 0, ~0);
-
- /* test GL_KEEP */
- glClearStencil(max);
- glClear(GL_STENCIL_BUFFER_BIT);
- glStencilOp(GL_KEEP, GL_KEEP, GL_KEEP);
- failed = GL_FALSE;
- printf("Testing GL_KEEP...\n");
- expected = max;
- glBegin(prim);
- glVertex2f(0, 0);
- glVertex2f(10, 0);
- glVertex2f(0, 10);
- glVertex2f(10, 10);
- glEnd();
- glReadPixels(0, 0, 1, 1, GL_STENCIL_INDEX, GL_UNSIGNED_BYTE, &val);
- if (val != expected) {
- printf("Failed GL_KEEP test(got %u, expected %u)\n", val, expected);
- failed = GL_TRUE;
- }
- else
- printf("OK!\n");
-
- /* test GL_ZERO */
- glClearStencil(max);
- glClear(GL_STENCIL_BUFFER_BIT);
- glStencilOp(GL_KEEP, GL_KEEP, GL_ZERO);
- failed = GL_FALSE;
- printf("Testing GL_ZERO...\n");
- expected = 0;
- glBegin(prim);
- glVertex2f(0, 0);
- glVertex2f(10, 0);
- glVertex2f(0, 10);
- glVertex2f(10, 10);
- glEnd();
- glReadPixels(0, 0, 1, 1, GL_STENCIL_INDEX, GL_UNSIGNED_BYTE, &val);
- if (val != expected) {
- printf("Failed GL_ZERO test(got %u, expected %u)\n", val, expected);
- failed = GL_TRUE;
- }
- else
- printf("OK!\n");
-
- /* test GL_REPLACE */
- glClearStencil(max);
- glClear(GL_STENCIL_BUFFER_BIT);
- glStencilOp(GL_KEEP, GL_KEEP, GL_REPLACE);
- failed = GL_FALSE;
- printf("Testing GL_REPLACE...\n");
- expected = 0;
- glBegin(prim);
- glVertex2f(0, 0);
- glVertex2f(10, 0);
- glVertex2f(0, 10);
- glVertex2f(10, 10);
- glEnd();
- glReadPixels(0, 0, 1, 1, GL_STENCIL_INDEX, GL_UNSIGNED_BYTE, &val);
- if (val != expected) {
- printf("Failed GL_REPLACE test(got %u, expected %u)\n", val, expected);
- failed = GL_TRUE;
- }
- else
- printf("OK!\n");
-
- /* test GL_INCR (saturation) */
- glClearStencil(0);
- glClear(GL_STENCIL_BUFFER_BIT);
- glStencilOp(GL_KEEP, GL_KEEP, GL_INCR);
- failed = GL_FALSE;
- printf("Testing GL_INCR...\n");
- for (i = 1; i < max+10; i++) {
- expected = (i > max) ? max : i;
- glBegin(prim);
- glVertex2f(0, 0); glVertex2f(10, 0);
- glVertex2f(0, 10); glVertex2f(10, 10);
- glEnd();
-
- glReadPixels(0, 0, 1, 1, GL_STENCIL_INDEX, GL_UNSIGNED_BYTE, &val);
- if (val != expected) {
- printf( "Failed GL_INCR test on iteration #%u "
- "(got %u, expected %u)\n", i, val, expected );
- failed = GL_TRUE;
- }
- }
- if ( !failed )
- printf("OK!\n");
-
- /* test GL_DECR (saturation) */
- glClearStencil(max);
- glClear(GL_STENCIL_BUFFER_BIT);
- glStencilOp(GL_KEEP, GL_KEEP, GL_DECR);
- failed = GL_FALSE;
- printf("Testing GL_DECR...\n");
- for (i = max-1; i > -10; i--) {
- expected = (i < 0) ? 0 : i;
- glBegin(prim);
- glVertex2f(0, 0); glVertex2f(10, 0);
- glVertex2f(0, 10); glVertex2f(10, 10);
- glEnd();
- glReadPixels(0, 0, 1, 1, GL_STENCIL_INDEX, GL_UNSIGNED_BYTE, &val);
- if (val != expected) {
- printf( "Failed GL_DECR test on iteration #%u "
- "(got %u, expected %u)\n", max - i, val, expected );
- failed = GL_TRUE;
- }
- }
- if ( !failed )
- printf("OK!\n");
-
- /* test GL_INVERT */
- glClearStencil(0);
- glClear(GL_STENCIL_BUFFER_BIT);
- glStencilOp(GL_KEEP, GL_KEEP, GL_INVERT);
- failed = GL_FALSE;
- printf("Testing GL_INVERT...\n");
- expected = max;
- glBegin(prim);
- glVertex2f(0, 0);
- glVertex2f(10, 0);
- glVertex2f(0, 10);
- glVertex2f(10, 10);
- glEnd();
- glReadPixels(0, 0, 1, 1, GL_STENCIL_INDEX, GL_UNSIGNED_BYTE, &val);
- if (val != expected) {
- printf("Failed GL_INVERT test(got %u, expected %u)\n", val, expected);
- failed = GL_TRUE;
- }
- else
- printf("OK!\n");
-
- if(wrapping)
- {
- /* test GL_INCR_WRAP_EXT (wrap around) */
- glClearStencil(0);
- glClear(GL_STENCIL_BUFFER_BIT);
- glStencilOp(GL_KEEP, GL_KEEP, GL_INCR_WRAP_EXT);
- failed = GL_FALSE;
- printf("Testing GL_INCR_WRAP_EXT...\n");
- for (i = 1; i < max+10; i++) {
- expected = i % (max + 1);
- glBegin(prim);
- glVertex2f(0, 0); glVertex2f(10, 0);
- glVertex2f(0, 10); glVertex2f(10, 10);
- glEnd();
- glReadPixels(0, 0, 1, 1, GL_STENCIL_INDEX, GL_UNSIGNED_BYTE, &val);
- if (val != expected) {
- printf( "Failed GL_INCR_WRAP test on iteration #%u "
- "(got %u, expected %u)\n", i, val, expected );
- failed = GL_TRUE;
- }
- }
- if ( !failed )
- printf("OK!\n");
-
- /* test GL_DECR_WRAP_EXT (wrap-around) */
- glClearStencil(max);
- glClear(GL_STENCIL_BUFFER_BIT);
- glStencilOp(GL_KEEP, GL_KEEP, GL_DECR_WRAP_EXT);
- failed = GL_FALSE;
- printf("Testing GL_DECR_WRAP_EXT...\n");
- for (i = max-1; i > -10; i--) {
- expected = (i < 0) ? max + i + 1: i;
- glBegin(prim);
- glVertex2f(0, 0); glVertex2f(10, 0);
- glVertex2f(0, 10); glVertex2f(10, 10);
- glEnd();
- glReadPixels(0, 0, 1, 1, GL_STENCIL_INDEX, GL_UNSIGNED_BYTE, &val);
- if (val != expected) {
- printf( "Failed GL_DECR_WRAP test on iteration #%u "
- "(got %u, expected %u)\n", max - i, val, expected );
- failed = GL_TRUE;
- }
- }
- if ( !failed )
- printf("OK!\n");
- }
-
- glDisable(GL_STENCIL_TEST);
-}
-
-
-static void Display( void )
-{
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
-
- RunTest();
-
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glOrtho(0, width, 0, height, -1, 1);
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void Init( void )
-{
- const char * ver_str;
- float version;
-
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- printf("GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
-
-
- /* Check for both the extension string and GL version 1.4 on the
- * outside chance that some vendor exports version 1.4 but doesn't
- * export the extension string. The stencil-wrap modes are a required
- * part of GL 1.4.
- */
-
- ver_str = (char *) glGetString( GL_VERSION );
- version = (ver_str == NULL) ? 1.0 : atof( ver_str );
-
- wrapping = (glutExtensionSupported("GL_EXT_stencil_wrap") || (version >= 1.4));
- if (!wrapping)
- printf("GL_EXT_stencil_wrap not supported. Only testing the rest.\n");
-}
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 400, 400 );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_STENCIL );
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/streaming_rect.c b/progs/tests/streaming_rect.c
deleted file mode 100644
index f65ac4ce36..0000000000
--- a/progs/tests/streaming_rect.c
+++ /dev/null
@@ -1,327 +0,0 @@
-/*
- * GL_ARB_pixel_buffer_object test
- *
- * Command line options:
- * -w WIDTH -h HEIGHT sets window size
- *
- */
-
-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-#include "readtex.h"
-
-
-#define ANIMATE 10
-#define PBO 11
-#define QUIT 100
-
-static GLuint DrawPBO;
-
-static GLboolean Animate = GL_TRUE;
-static GLboolean use_pbo = 1;
-static GLboolean whole_rect = 1;
-
-static GLfloat Drift = 0.0;
-static GLfloat drift_increment = 1/255.0;
-static GLfloat Xrot = 20.0, Yrot = 30.0;
-
-static GLuint Width = 1024;
-static GLuint Height = 512;
-
-
-static void Idle( void )
-{
- if (Animate) {
-
- Drift += drift_increment;
- if (Drift >= 1.0)
- Drift = 0.0;
-
- glutPostRedisplay();
- }
-}
-
-/*static int max( int a, int b ) { return a > b ? a : b; }*/
-
-#ifndef min
-static int min( int a, int b ) { return a < b ? a : b; }
-#endif
-
-static void DrawObject()
-{
- GLint size = Width * Height * 4;
-
- if (use_pbo) {
- /* XXX: This is extremely important - semantically makes the buffer
- * contents undefined, but in practice means that the driver can
- * release the old copy of the texture and allocate a new one
- * without waiting for outstanding rendering to complete.
- */
- glBindBufferARB(GL_PIXEL_UNPACK_BUFFER_EXT, DrawPBO);
- glBufferDataARB(GL_PIXEL_UNPACK_BUFFER_EXT, size, NULL, GL_STREAM_DRAW_ARB);
-
- {
- char *image = glMapBufferARB(GL_PIXEL_UNPACK_BUFFER_EXT, GL_WRITE_ONLY_ARB);
-
- printf("char %d\n", (unsigned char)(Drift * 255));
-
- memset(image, (unsigned char)(Drift * 255), size);
-
- glUnmapBufferARB(GL_PIXEL_UNPACK_BUFFER_EXT);
- }
-
-
- /* BGRA is required for most hardware paths:
- */
- glTexImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, GL_RGBA, Width, Height, 0,
- GL_BGRA, GL_UNSIGNED_BYTE, NULL);
- }
- else {
- static char *image = NULL;
-
- if (image == NULL)
- image = malloc(size);
-
- glBindBufferARB(GL_PIXEL_UNPACK_BUFFER_EXT, 0);
-
- memset(image, (unsigned char)(Drift * 255), size);
-
- /* BGRA should be the fast path for regular uploads as well.
- */
- glTexImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, GL_RGBA, Width, Height, 0,
- GL_BGRA, GL_UNSIGNED_BYTE, image);
- }
-
- {
- int x,y,w,h;
-
- if (whole_rect) {
- x = y = 0;
- w = Width;
- h = Height;
- }
- else {
- x = y = 0;
- w = min(10, Width);
- h = min(10, Height);
- }
-
- glBegin(GL_QUADS);
-
- glTexCoord2f( x, y);
- glVertex2f( x, y );
-
- glTexCoord2f( x, y + h);
- glVertex2f( x, y + h);
-
- glTexCoord2f( x + w + .5, y + h);
- glVertex2f( x + w, y + h );
-
- glTexCoord2f( x + w, y + .5);
- glVertex2f( x + w, y );
-
- glEnd();
- }
-}
-
-
-
-static void Display( void )
-{
- static GLint T0 = 0;
- static GLint Frames = 0;
- GLint t;
-
- glClear( GL_COLOR_BUFFER_BIT );
-
- glPushMatrix();
- DrawObject();
- glPopMatrix();
-
- glutSwapBuffers();
-
- Frames++;
-
- t = glutGet(GLUT_ELAPSED_TIME);
- if (t - T0 >= 1000) {
- GLfloat seconds = (t - T0) / 1000.0;
-
- GLfloat fps = Frames / seconds;
- printf("%d frames in %6.3f seconds = %6.3f FPS\n", Frames, seconds, fps);
- fflush(stdout);
-
- drift_increment = 2.2 * seconds / Frames;
- T0 = t;
- Frames = 0;
- }
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
-/* glFrustum( -1.0, 1.0, -1.0, 1.0, 10.0, 100.0 ); */
- gluOrtho2D( 0, width, height, 0 );
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- glTranslatef(0.375, 0.375, 0);
-}
-
-
-static void ModeMenu(int entry)
-{
- if (entry==ANIMATE) {
- Animate = !Animate;
- }
- else if (entry==PBO) {
- use_pbo = !use_pbo;
- }
- else if (entry==QUIT) {
- exit(0);
- }
-
- glutPostRedisplay();
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void SpecialKey( int key, int x, int y )
-{
- float step = 3.0;
- (void) x;
- (void) y;
-
- switch (key) {
- case GLUT_KEY_UP:
- Xrot += step;
- break;
- case GLUT_KEY_DOWN:
- Xrot -= step;
- break;
- case GLUT_KEY_LEFT:
- Yrot += step;
- break;
- case GLUT_KEY_RIGHT:
- Yrot -= step;
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void Init( int argc, char *argv[] )
-{
- const char *exten = (const char *) glGetString(GL_EXTENSIONS);
- GLuint texObj;
- GLint size;
-
-
- if (!strstr(exten, "GL_ARB_pixel_buffer_object")) {
- printf("Sorry, GL_ARB_pixel_buffer_object not supported by this renderer.\n");
- exit(1);
- }
-
- glGetIntegerv(GL_MAX_TEXTURE_SIZE, &size);
- printf("%d x %d max texture size\n", size, size);
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
-
- /* allocate two texture objects */
- glGenTextures(1, &texObj);
-
- /* setup the texture objects */
- glActiveTextureARB(GL_TEXTURE0_ARB);
- glBindTexture(GL_TEXTURE_RECTANGLE_ARB, texObj);
-
- glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
-
- glGenBuffersARB(1, &DrawPBO);
-
- glBindBufferARB(GL_PIXEL_UNPACK_BUFFER_EXT, DrawPBO);
- glBufferDataARB(GL_PIXEL_UNPACK_BUFFER_EXT,
- Width * Height * 4, NULL, GL_STREAM_DRAW);
-
- glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
-
- glEnable(GL_TEXTURE_RECTANGLE_ARB);
-
- glShadeModel(GL_SMOOTH);
- glClearColor(0.3, 0.3, 0.4, 1.0);
-
- if (argc > 1 && strcmp(argv[1], "-info")==0) {
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- printf("GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- printf("GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- printf("GL_EXTENSIONS = %s\n", (char *) glGetString(GL_EXTENSIONS));
- }
-}
-
-
-int main( int argc, char *argv[] )
-{
- GLint i;
-
- glutInit( &argc, argv );
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-w") == 0) {
- Width = atoi(argv[i+1]);
- if (Width <= 0) {
- printf("Error, bad width\n");
- exit(1);
- }
- i++;
- }
- else if (strcmp(argv[i], "-h") == 0) {
- Height = atoi(argv[i+1]);
- if (Height <= 0) {
- printf("Error, bad height\n");
- exit(1);
- }
- i++;
- }
- }
-
- glutInitWindowSize( Width, Height );
- glutInitWindowPosition( 0, 0 );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE );
- glutCreateWindow(argv[0] );
- glewInit();
-
- Init( argc, argv );
-
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutSpecialFunc( SpecialKey );
- glutDisplayFunc( Display );
- glutIdleFunc( Idle );
-
- glutCreateMenu(ModeMenu);
- glutAddMenuEntry("Toggle Animation", ANIMATE);
- glutAddMenuEntry("Toggle PBO", PBO);
- glutAddMenuEntry("Quit", QUIT);
- glutAttachMenu(GLUT_RIGHT_BUTTON);
-
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/subtex.c b/progs/tests/subtex.c
deleted file mode 100644
index 86b737c01f..0000000000
--- a/progs/tests/subtex.c
+++ /dev/null
@@ -1,225 +0,0 @@
-/*
- * Test glTexSubImage mid-way through a frame.
- *
- * The same texture is used for both quads but it gets redefined
- * with glTexSubImage (or glTexImage) after the first quad.
- */
-
-
-#include <assert.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include "GL/glew.h"
-#include "GL/glut.h"
-
-static GLuint Window = 0;
-static GLboolean Anim = GL_FALSE;
-static GLfloat Angle = 0.0f;
-
-
-
-static void
-first_texture(void)
-{
- static int width=8, height=8;
- static GLubyte tex1[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 1, 1, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 1, 1, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0 };
-
- GLubyte tex[64][3];
- GLint i, j;
-
- /* red on white */
- for (i=0;i<height;i++) {
- for (j=0;j<width;j++) {
- int p = i*width+j;
- if (tex1[(height-i-1)*width+j]) {
- tex[p][0] = 255; tex[p][1] = 0; tex[p][2] = 0;
- }
- else {
- tex[p][0] = 255; tex[p][1] = 255; tex[p][2] = 255;
- }
- }
- }
-
- glTexImage2D( GL_TEXTURE_2D, 0, 3, width, height, 0,
- GL_RGB, GL_UNSIGNED_BYTE, tex );
-}
-
-
-static void
-second_texture(void)
-{
- static int width=8, height=8;
-
- static GLubyte tex2[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 2, 2, 0, 0, 0,
- 0, 0, 2, 0, 0, 2, 0, 0,
- 0, 0, 0, 0, 0, 2, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0,
- 0, 0, 0, 2, 0, 0, 0, 0,
- 0, 0, 2, 2, 2, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0 };
-
- GLubyte tex[64][3];
- GLint i, j;
-
- /* green on blue */
- for (i=0;i<height;i++) {
- for (j=0;j<width;j++) {
- int p = i*width+j;
- if (tex2[(height-i-1)*width+j]) {
- tex[p][0] = 0; tex[p][1] = 255; tex[p][2] = 0;
- }
- else {
- tex[p][0] = 0; tex[p][1] = 0; tex[p][2] = 255;
- }
- }
- }
-#if 0
- glTexImage2D( GL_TEXTURE_2D, 0, 3, width, height, 0,
- GL_RGB, GL_UNSIGNED_BYTE, tex );
-#else
- glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, width, height,
- GL_RGB, GL_UNSIGNED_BYTE, tex );
-#endif
-}
-
-
-
-static void draw( void )
-{
- glClear( GL_COLOR_BUFFER_BIT );
-
- glColor3f( 1.0, 1.0, 1.0 );
-
- /* draw first polygon */
- glPushMatrix();
- glTranslatef( -1.0, 0.0, 0.0 );
- glRotatef( Angle, 0.0, 0.0, 1.0 );
-
- first_texture();
-
- glBegin( GL_POLYGON );
- glTexCoord2f( 0.0, 0.0 ); glVertex2f( -1.0, -1.0 );
- glTexCoord2f( 1.0, 0.0 ); glVertex2f( 1.0, -1.0 );
- glTexCoord2f( 1.0, 1.0 ); glVertex2f( 1.0, 1.0 );
- glTexCoord2f( 0.0, 1.0 ); glVertex2f( -1.0, 1.0 );
- glEnd();
- glPopMatrix();
-
- /* draw second polygon */
- glPushMatrix();
- glTranslatef( 1.0, 0.0, 0.0 );
- glRotatef( Angle-90.0, 0.0, 1.0, 0.0 );
-
- second_texture();
-
- glBegin( GL_POLYGON );
- glTexCoord2f( 0.0, 0.0 ); glVertex2f( -1.0, -1.0 );
- glTexCoord2f( 1.0, 0.0 ); glVertex2f( 1.0, -1.0 );
- glTexCoord2f( 1.0, 1.0 ); glVertex2f( 1.0, 1.0 );
- glTexCoord2f( 0.0, 1.0 ); glVertex2f( -1.0, 1.0 );
- glEnd();
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-
-static void idle( void )
-{
- static double t0 = -1.;
- double dt, t = glutGet(GLUT_ELAPSED_TIME) / 1000.0;
- if (t0 < 0.0)
- t0 = t;
- dt = t - t0;
- t0 = t;
- Angle += 120.0*dt;
- glutPostRedisplay();
-}
-
-
-
-/* change view Angle, exit upon ESC */
-static void key(unsigned char k, int x, int y)
-{
- (void) x;
- (void) y;
- switch (k) {
- case 'a':
- Anim = !Anim;
- if (Anim)
- glutIdleFunc( idle );
- else
- glutIdleFunc( NULL );
- break;
- case 27:
- glutDestroyWindow(Window);
- exit(0);
- }
-}
-
-
-
-/* new window size or exposure */
-static void reshape( int width, int height )
-{
- glViewport(0, 0, (GLint)width, (GLint)height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- /* glOrtho( -3.0, 3.0, -3.0, 3.0, -10.0, 10.0 );*/
- glFrustum( -2.0, 2.0, -2.0, 2.0, 6.0, 20.0 );
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -8.0 );
-}
-
-
-static void init( void )
-{
- /* Setup texturing */
- glEnable( GL_TEXTURE_2D );
- glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL );
-
-
- glBindTexture( GL_TEXTURE_2D, 0 );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT );
-}
-
-
-
-int main( int argc, char *argv[] )
-{
- glutInit(&argc, argv);
- glutInitWindowPosition(0, 0);
- glutInitWindowSize(300, 300);
- glutInitDisplayMode( GLUT_RGB | GLUT_DEPTH | GLUT_DOUBLE );
-
- Window = glutCreateWindow("Texture Objects");
- glewInit();
- if (!Window) {
- exit(1);
- }
-
- init();
-
- glutReshapeFunc( reshape );
- glutKeyboardFunc( key );
- if (Anim)
- glutIdleFunc( idle );
- glutDisplayFunc( draw );
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/subtexrate.c b/progs/tests/subtexrate.c
deleted file mode 100644
index 4bda970d06..0000000000
--- a/progs/tests/subtexrate.c
+++ /dev/null
@@ -1,351 +0,0 @@
-/*
- * Measure glTexSubImage and glCopyTexSubImage speed
- *
- * Brian Paul
- * 26 Jan 2006
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-static GLint WinWidth = 1024, WinHeight = 512;
-static GLint TexWidth = 512, TexHeight = 512;
-
-static GLuint TexObj = 1;
-
-static GLenum IntFormat = GL_RGBA8;
-static GLenum ReadFormat = GL_RGBA; /* for glReadPixels */
-
-static GLboolean DrawQuad = GL_TRUE;
-
-
-/**
- * draw teapot image, size TexWidth by TexHeight
- */
-static void
-DrawTestImage(void)
-{
- GLfloat ar;
-
- glViewport(0, 0, TexWidth, TexHeight);
- glScissor(0, 0, TexWidth, TexHeight);
- glEnable(GL_SCISSOR_TEST);
-
- glClearColor(0.5, 0.5, 0.5, 0.0);
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
- ar = (float) TexWidth / TexHeight;
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glFrustum(-ar, ar, -1.0, 1.0, 5.0, 25.0);
- glMatrixMode(GL_MODELVIEW);
-
- glEnable(GL_LIGHTING);
- glEnable(GL_LIGHT0);
- glEnable(GL_DEPTH_TEST);
- glFrontFace(GL_CW);
- glPushMatrix();
- glRotatef(45, 1, 0, 0);
- glRotatef(45, 0, 1, 0);
- glutSolidTeapot(2.3);
- glPopMatrix();
- glFrontFace(GL_CCW);
- glDisable(GL_DEPTH_TEST);
- glDisable(GL_LIGHTING);
-
- glDisable(GL_SCISSOR_TEST);
-
- glViewport(0, 0, WinWidth, WinHeight);
- glFinish();
-}
-
-
-/**
- * Do glCopyTexSubImage2D call (update texture with framebuffer data)
- * If doSubRect is true, do the copy in four pieces instead of all at once.
- */
-static void
-DoCopyTex(GLboolean doSubRect)
-{
- if (doSubRect) {
- /* copy in four parts */
- int w = TexWidth / 2, h = TexHeight / 2;
- int x0 = 0, y0 = 0;
- int x1 = w, y1 = h;
-#if 1
- glCopyTexSubImage2D(GL_TEXTURE_2D, 0, x0, y0, x0, y0, w, h);
- glCopyTexSubImage2D(GL_TEXTURE_2D, 0, x1, y0, x1, y0, w, h);
- glCopyTexSubImage2D(GL_TEXTURE_2D, 0, x0, y1, x0, y1, w, h);
- glCopyTexSubImage2D(GL_TEXTURE_2D, 0, x1, y1, x1, y1, w, h);
-#else
- /* scramble */
- glCopyTexSubImage2D(GL_TEXTURE_2D, 0, x0, y0, x1, y1, w, h);
- glCopyTexSubImage2D(GL_TEXTURE_2D, 0, x1, y0, x0, y1, w, h);
- glCopyTexSubImage2D(GL_TEXTURE_2D, 0, x0, y1, x1, y0, w, h);
- glCopyTexSubImage2D(GL_TEXTURE_2D, 0, x1, y1, x0, y0, w, h);
-#endif
- }
- else {
- glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 0, 0, TexWidth, TexHeight);
- }
-}
-
-
-/**
- * Do glTexSubImage2D (update texture w/ user data)
- * If doSubRect, do update in four pieces, else all at once.
- */
-static void
-SubTex(GLboolean doSubRect, const GLubyte *image)
-{
- if (doSubRect) {
- /* four pieces */
- int w = TexWidth / 2, h = TexHeight / 2;
- int x0 = 0, y0 = 0;
- int x1 = w, y1 = h;
- glPixelStorei(GL_UNPACK_ROW_LENGTH, TexWidth);
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
-
- glPixelStorei(GL_UNPACK_SKIP_ROWS, y0);
- glPixelStorei(GL_UNPACK_SKIP_PIXELS, x0);
- glTexSubImage2D(GL_TEXTURE_2D, 0, x0, y0, w, h,
- ReadFormat, GL_UNSIGNED_BYTE, image);
-
- glPixelStorei(GL_UNPACK_SKIP_ROWS, y0);
- glPixelStorei(GL_UNPACK_SKIP_PIXELS, x1);
- glTexSubImage2D(GL_TEXTURE_2D, 0, x1, y0, w, h,
- ReadFormat, GL_UNSIGNED_BYTE, image);
-
- glPixelStorei(GL_UNPACK_SKIP_ROWS, y1);
- glPixelStorei(GL_UNPACK_SKIP_PIXELS, x0);
- glTexSubImage2D(GL_TEXTURE_2D, 0, x0, y1, w, h,
- ReadFormat, GL_UNSIGNED_BYTE, image);
-
- glPixelStorei(GL_UNPACK_SKIP_ROWS, y1);
- glPixelStorei(GL_UNPACK_SKIP_PIXELS, x1);
- glTexSubImage2D(GL_TEXTURE_2D, 0, x1, y1, w, h,
- ReadFormat, GL_UNSIGNED_BYTE, image);
- }
- else {
- /* all at once */
- glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, TexWidth, TexHeight,
- ReadFormat, GL_UNSIGNED_BYTE, image);
- }
-}
-
-
-/**
- * Measure gl[Copy]TexSubImage rate.
- * This actually also includes time to render a quad and SwapBuffers.
- */
-static void
-RunTest(GLboolean copyTex, GLboolean doSubRect)
-{
- double t0, t1;
- int iters = 0;
- float copyRate, mbRate;
- float rot = 0.0;
- int bpp, r, g, b, a;
- int w, h;
- GLubyte *image = NULL;
-
- glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_RED_SIZE, &r);
- glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_GREEN_SIZE, &g);
- glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_BLUE_SIZE, &b);
- glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_ALPHA_SIZE, &a);
- bpp = (r + g + b + a) / 8;
-
- if (!copyTex) {
- /* read image from frame buffer */
- image = (GLubyte *) malloc(TexWidth * TexHeight * bpp);
- glPixelStorei(GL_PACK_ALIGNMENT, 1);
- glReadPixels(0, 0, TexWidth, TexHeight,
- ReadFormat, GL_UNSIGNED_BYTE, image);
- }
-
- glEnable(GL_TEXTURE_2D);
- glViewport(WinWidth / 2, 0, WinWidth / 2, WinHeight);
-
- t0 = glutGet(GLUT_ELAPSED_TIME) / 1000.0;
-
- do {
- if (copyTex)
- /* Framebuffer -> Texture */
- DoCopyTex(doSubRect);
- else {
- /* Main Mem -> Texture */
- SubTex(doSubRect, image);
- }
-
- /* draw textured quad */
- if (DrawQuad) {
- glPushMatrix();
- glRotatef(rot, 0, 0, 1);
- glTranslatef(1, 0, 0);
- glBegin(GL_POLYGON);
- glTexCoord2f(0, 0); glVertex2f(-1, -1);
- glTexCoord2f(1, 0); glVertex2f( 1, -1);
- glTexCoord2f(1, 1); glVertex2f( 1, 1);
- glTexCoord2f(0, 1); glVertex2f(-1, 1);
- glEnd();
- glPopMatrix();
- }
-
- iters++;
- rot += 2.0;
-
- t1 = glutGet(GLUT_ELAPSED_TIME) / 1000.0;
- if (DrawQuad) {
- glutSwapBuffers();
- }
- } while (t1 - t0 < 5.0);
-
- glDisable(GL_TEXTURE_2D);
- if (image)
- free(image);
-
- if (doSubRect) {
- w = TexWidth / 2;
- h = TexHeight / 2;
- iters *= 4;
- }
- else {
- w = TexWidth;
- h = TexHeight;
- }
-
- copyRate = iters / (t1 - t0);
- mbRate = w * h * bpp * copyRate / (1024 * 1024);
-
- if (copyTex)
- printf("glCopyTexSubImage: %d x %d, %d Bpp:\n", w, h, bpp);
- else
- printf("glTexSubImage: %d x %d, %d Bpp:\n", w, h, bpp);
- printf(" %d calls in %.2f = %.2f calls/sec, %.2f MB/s\n",
- iters, t1-t0, copyRate, mbRate);
-}
-
-
-static void
-Draw(void)
-{
- glClearColor(0.2, 0.2, 0.8, 0);
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
- DrawTestImage();
- if (!DrawQuad) {
- glutSwapBuffers();
- }
-
- RunTest(GL_FALSE, GL_FALSE);
- RunTest(GL_FALSE, GL_TRUE);
- RunTest(GL_TRUE, GL_FALSE);
- RunTest(GL_TRUE, GL_TRUE);
-
- glutSwapBuffers();
-
- printf("exiting\n");
- exit(0);
-}
-
-
-static void
-Reshape(int width, int height)
-{
- glViewport(0, 0, width, height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glFrustum(-1.0, 1.0, -1.0, 1.0, 5.0, 25.0);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef(0.0, 0.0, -15.0);
-}
-
-
-static void
-Key(unsigned char key, int x, int y)
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void
-SpecialKey(int key, int x, int y)
-{
- (void) x;
- (void) y;
- switch (key) {
- case GLUT_KEY_UP:
- break;
- case GLUT_KEY_DOWN:
- break;
- case GLUT_KEY_LEFT:
- break;
- case GLUT_KEY_RIGHT:
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void
-Init(void)
-{
- /* create initial, empty teximage */
- glBindTexture(GL_TEXTURE_2D, TexObj);
- glTexImage2D(GL_TEXTURE_2D, 0, IntFormat, TexWidth, TexHeight, 0,
- GL_RGBA, GL_UNSIGNED_BYTE, NULL);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
- glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
-}
-
-
-
-static void
-ParseArgs(int argc, char *argv[])
-{
- int i;
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-nodraw") == 0)
- DrawQuad = GL_FALSE;
- }
-}
-
-
-int
-main(int argc, char *argv[])
-{
- GLint mode = GLUT_RGB | GLUT_ALPHA | GLUT_DOUBLE | GLUT_DEPTH;
- glutInit(&argc, argv);
-
- ParseArgs(argc, argv);
-
- glutInitWindowPosition(0, 0);
- glutInitWindowSize(WinWidth, WinHeight);
- glutInitDisplayMode(mode);
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutSpecialFunc(SpecialKey);
- glutDisplayFunc(Draw);
-
- printf("GL_RENDERER: %s\n", (char *) glGetString(GL_RENDERER));
- Init();
-
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/tex1d.c b/progs/tests/tex1d.c
deleted file mode 100644
index 7d67451c0d..0000000000
--- a/progs/tests/tex1d.c
+++ /dev/null
@@ -1,143 +0,0 @@
-
-/* Exercise 1D textures
- */
-
-#include <assert.h>
-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include "GL/glew.h"
-#include "GL/glut.h"
-
-static GLuint Window = 0;
-static GLuint TexObj[2];
-static GLfloat Angle = 0.0f;
-
-
-static void draw( void )
-{
- glClear( GL_COLOR_BUFFER_BIT );
-
- glColor3f( 1.0, 1.0, 1.0 );
-
- /* draw first polygon */
- glPushMatrix();
- glTranslatef( -1.0, 0.0, 0.0 );
- glRotatef( Angle, 0.0, 0.0, 1.0 );
- glBindTexture( GL_TEXTURE_1D, TexObj[0] );
- glBegin( GL_POLYGON );
- glTexCoord1f( 0.0 ); glVertex2f( -1.0, -1.0 );
- glTexCoord1f( 1.0 ); glVertex2f( 1.0, -1.0 );
- glTexCoord1f( 1.0 ); glVertex2f( 1.0, 1.0 );
- glTexCoord1f( 0.0 ); glVertex2f( -1.0, 1.0 );
- glEnd();
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-
-/*
-static void idle( void )
-{
- Angle += 2.0;
- glutPostRedisplay();
-}
-*/
-
-
-
-/* change view Angle, exit upon ESC */
-static void key(unsigned char k, int x, int y)
-{
- (void) x;
- (void) y;
- switch (k) {
- case 27:
- exit(0);
- }
-}
-
-
-
-/* new window size or exposure */
-static void reshape( int width, int height )
-{
- glViewport(0, 0, (GLint)width, (GLint)height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- /* glOrtho( -3.0, 3.0, -3.0, 3.0, -10.0, 10.0 );*/
- glFrustum( -2.0, 2.0, -2.0, 2.0, 6.0, 20.0 );
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -8.0 );
-}
-
-
-static void init( void )
-{
- GLubyte tex[256][3];
- GLint i;
-
-
- glDisable( GL_DITHER );
-
- /* Setup texturing */
- glEnable( GL_TEXTURE_1D );
- glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL );
-
-
- /* generate texture object IDs */
- glGenTextures( 2, TexObj );
-
- /* setup first texture object */
- glBindTexture( GL_TEXTURE_1D, TexObj[0] );
-
-
- for (i = 0; i < 256; i++) {
- GLfloat f;
-
- /* map 0..255 to -PI .. PI */
- f = ((i / 255.0) - .5) * (3.141592 * 2);
-
- f = sin(f);
-
- /* map -1..1 to 0..255 */
- tex[i][0] = (f+1.0)/2.0 * 255.0;
- tex[i][1] = 0;
- tex[i][2] = 0;
- }
-
- glTexImage1D( GL_TEXTURE_1D, 0, 3, 256, 0, GL_RGB, GL_UNSIGNED_BYTE, tex );
- glTexParameteri( GL_TEXTURE_1D, GL_TEXTURE_MIN_FILTER, GL_NEAREST );
- glTexParameteri( GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, GL_NEAREST );
- glTexParameteri( GL_TEXTURE_1D, GL_TEXTURE_WRAP_S, GL_REPEAT );
- glTexParameteri( GL_TEXTURE_1D, GL_TEXTURE_WRAP_T, GL_REPEAT );
-}
-
-
-
-int main( int argc, char *argv[] )
-{
- glutInit(&argc, argv);
- glutInitWindowPosition(0, 0);
- glutInitWindowSize(300, 300);
- glutInitDisplayMode( GLUT_RGB | GLUT_DEPTH | GLUT_DOUBLE );
-
- Window = glutCreateWindow("Texture Objects");
- glewInit();
- if (!Window) {
- exit(1);
- }
-
- init();
-
- glutReshapeFunc( reshape );
- glutKeyboardFunc( key );
-/* glutIdleFunc( idle ); */
- glutDisplayFunc( draw );
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/texcmp.c b/progs/tests/texcmp.c
deleted file mode 100644
index c5d352fdae..0000000000
--- a/progs/tests/texcmp.c
+++ /dev/null
@@ -1,438 +0,0 @@
-/*
- * Compressed texture demo. Written by Daniel Borca.
- * This program is in the public domain.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <string.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-#include "readtex.c" /* I know, this is a hack. */
-#define TEXTURE_FILE "../images/tree2.rgba"
-
-
-static float Rot = 0.0;
-static GLboolean Anim = 1;
-
-typedef struct {
- GLubyte *data;
- GLuint size;
- GLenum format;
- GLuint w, h;
-
- GLenum TC;
-
- GLubyte *cData;
- GLuint cSize;
- GLenum cFormat;
-} TEXTURE;
-
-static TEXTURE *Tx, t1, t2, t3;
-static GLboolean fxt1, dxtc, s3tc;
-
-
-static const char *TextureName (GLenum TC)
-{
- switch (TC) {
- case GL_RGB:
- return "RGB";
- case GL_RGBA:
- return "RGBA";
- case GL_COMPRESSED_RGB:
- return "COMPRESSED_RGB";
- case GL_COMPRESSED_RGBA:
- return "COMPRESSED_RGBA";
- case GL_COMPRESSED_RGB_FXT1_3DFX:
- return "GL_COMPRESSED_RGB_FXT1_3DFX";
- case GL_COMPRESSED_RGBA_FXT1_3DFX:
- return "GL_COMPRESSED_RGBA_FXT1_3DFX";
- case GL_COMPRESSED_RGB_S3TC_DXT1_EXT:
- return "GL_COMPRESSED_RGB_S3TC_DXT1_EXT";
- case GL_COMPRESSED_RGBA_S3TC_DXT1_EXT:
- return "GL_COMPRESSED_RGBA_S3TC_DXT1_EXT";
- case GL_COMPRESSED_RGBA_S3TC_DXT3_EXT:
- return "GL_COMPRESSED_RGBA_S3TC_DXT3_EXT";
- case GL_COMPRESSED_RGBA_S3TC_DXT5_EXT:
- return "GL_COMPRESSED_RGBA_S3TC_DXT5_EXT";
- case GL_RGB_S3TC:
- return "GL_RGB_S3TC";
- case GL_RGB4_S3TC:
- return "GL_RGB4_S3TC";
- case GL_RGBA_S3TC:
- return "GL_RGBA_S3TC";
- case GL_RGBA4_S3TC:
- return "GL_RGBA4_S3TC";
- case 0:
- return "Invalid format";
- default:
- return "Unknown format";
- }
-}
-
-
-static void
-PrintString(const char *s)
-{
- while (*s) {
- glutBitmapCharacter(GLUT_BITMAP_8_BY_13, (int) *s);
- s++;
- }
-}
-
-
-static void Idle( void )
-{
- float t = glutGet(GLUT_ELAPSED_TIME) * 0.001; /* in seconds */
- Rot = t * 360 / 4; /* 1 rotation per 4 seconds */
- glutPostRedisplay();
-}
-
-
-static void Display( void )
-{
- /* draw background gradient */
- glDisable(GL_TEXTURE_2D);
- glBegin(GL_POLYGON);
- glColor3f(1.0, 0.0, 0.2); glVertex2f(-1.5, -1.0);
- glColor3f(1.0, 0.0, 0.2); glVertex2f( 1.5, -1.0);
- glColor3f(0.0, 0.0, 1.0); glVertex2f( 1.5, 1.0);
- glColor3f(0.0, 0.0, 1.0); glVertex2f(-1.5, 1.0);
- glEnd();
-
- glPushMatrix();
- glRotatef(Rot, 0, 0, 1);
-
- glEnable(GL_TEXTURE_2D);
- glEnable(GL_BLEND);
-
- glBegin(GL_POLYGON);
- glTexCoord2f(0, 1); glVertex2f(-1, -0.5);
- glTexCoord2f(1, 1); glVertex2f( 1, -0.5);
- glTexCoord2f(1, 0); glVertex2f( 1, 0.5);
- glTexCoord2f(0, 0); glVertex2f(-1, 0.5);
- glEnd();
-
- glPopMatrix();
-
- glDisable(GL_TEXTURE_2D);
-
- /* info */
- glDisable(GL_BLEND);
- glColor4f(1, 1, 1, 1);
-
- glRasterPos3f(-1.2, -0.7, 0);
- PrintString("Selected: ");
- PrintString(TextureName(Tx->TC));
- if (Tx->cData) {
- char tmp[64];
- glRasterPos3f(-1.2, -0.8, 0);
- PrintString("Internal: ");
- PrintString(TextureName(Tx->cFormat));
- glRasterPos3f(-1.2, -0.9, 0);
- PrintString("Size : ");
- sprintf(tmp, "%d (%d%% of %d)", Tx->cSize, Tx->cSize * 100 / Tx->size, Tx->size);
- PrintString(tmp);
- }
-
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glOrtho( -1.5, 1.5, -1.0, 1.0, -1.0, 1.0 );
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
-}
-
-
-static void ReInit( GLenum TC, TEXTURE *Tx )
-{
- GLint rv, v;
-
- if ((Tx->TC == TC) && (Tx->cData != NULL)) {
- glCompressedTexImage2DARB(GL_TEXTURE_2D, /* target */
- 0, /* level */
- Tx->cFormat, /* real format */
- Tx->w, /* original width */
- Tx->h, /* original height */
- 0, /* border */
- Tx->cSize, /* compressed size*/
- Tx->cData); /* compressed data*/
- } else {
- glTexImage2D(GL_TEXTURE_2D, /* target */
- 0, /* level */
- TC, /* internal format */
- Tx->w, Tx->h, /* width, height */
- 0, /* border */
- Tx->format, /* texture format */
- GL_UNSIGNED_BYTE, /* texture type */
- Tx->data); /* the texture */
-
-
- v = 0;
- glGetTexLevelParameteriv(GL_TEXTURE_2D, 0,
- GL_TEXTURE_INTERNAL_FORMAT, &v);
- printf("Requested internal format = 0x%x, actual = 0x%x\n", TC, v);
-
- if (0) {
- GLint r, g, b, a, l, i;
- glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_RED_SIZE, &r);
- glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_GREEN_SIZE, &g);
- glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_BLUE_SIZE, &b);
- glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_ALPHA_SIZE, &a);
- glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_LUMINANCE_SIZE, &l);
- glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_INTENSITY_SIZE, &i);
- printf("Compressed Bits per R: %d G: %d B: %d A: %d L: %d I: %d\n",
- r, g, b, a, l, i);
- }
-
- /* okay, now cache the compressed texture */
- Tx->TC = TC;
- if (Tx->cData != NULL) {
- free(Tx->cData);
- Tx->cData = NULL;
- }
- glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_COMPRESSED_ARB, &rv);
- if (rv) {
- glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_INTERNAL_FORMAT, (GLint *)&Tx->cFormat);
- glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB, (GLint *)&Tx->cSize);
- if ((Tx->cData = malloc(Tx->cSize)) != NULL) {
- glGetCompressedTexImageARB(GL_TEXTURE_2D, 0, Tx->cData);
- }
- }
- }
-}
-
-
-static void Init( void )
-{
- /* HEIGHT * WIDTH + 1 (for trailing '\0') */
- static char pattern[8 * 32 + 1] = {"\
- \
- MMM EEEE SSS AAA \
- M M M E S S A A \
- M M M EEEE SS A A \
- M M M E SS AAAAA \
- M M E S S A A \
- M M EEEE SSS A A \
- "
- };
-
- GLuint i, j;
-
- GLubyte (*texture1)[8 * 32][4];
- GLubyte (*texture2)[256][256][4];
-
- t1.w = 32;
- t1.h = 8;
- t1.size = t1.w * t1.h * 4;
- t1.data = malloc(t1.size);
- t1.format = GL_RGBA;
- t1.TC = GL_RGBA;
-
- texture1 = (GLubyte (*)[8 * 32][4])t1.data;
- for (i = 0; i < sizeof(pattern) - 1; i++) {
- switch (pattern[i]) {
- default:
- case ' ':
- (*texture1)[i][0] = 255;
- (*texture1)[i][1] = 255;
- (*texture1)[i][2] = 255;
- (*texture1)[i][3] = 64;
- break;
- case 'M':
- (*texture1)[i][0] = 255;
- (*texture1)[i][1] = 0;
- (*texture1)[i][2] = 0;
- (*texture1)[i][3] = 255;
- break;
- case 'E':
- (*texture1)[i][0] = 0;
- (*texture1)[i][1] = 255;
- (*texture1)[i][2] = 0;
- (*texture1)[i][3] = 255;
- break;
- case 'S':
- (*texture1)[i][0] = 0;
- (*texture1)[i][1] = 0;
- (*texture1)[i][2] = 255;
- (*texture1)[i][3] = 255;
- break;
- case 'A':
- (*texture1)[i][0] = 255;
- (*texture1)[i][1] = 255;
- (*texture1)[i][2] = 0;
- (*texture1)[i][3] = 255;
- break;
- }
- }
-
- t2.w = 256;
- t2.h = 256;
- t2.size = t2.w * t2.h * 4;
- t2.data = malloc(t2.size);
- t2.format = GL_RGBA;
- t2.TC = GL_RGBA;
-
- texture2 = (GLubyte (*)[256][256][4])t2.data;
- for (j = 0; j < t2.h; j++) {
- for (i = 0; i < t2.w; i++) {
- (*texture2)[j][i][0] = sqrt(i * j * 255 * 255 / (t2.w * t2.h));
- (*texture2)[j][i][1] = 0;
- (*texture2)[j][i][2] = 0;
- (*texture2)[j][i][3] = 255;
- }
- }
-
- t3.data = LoadRGBImage(TEXTURE_FILE, (GLint *)&t3.w, (GLint *)&t3.h, &t3.format);
- t3.size = t3.w * t3.h * ((t3.format == GL_RGB) ? 3 : 4);
- t3.TC = GL_RGBA;
-
- ReInit(GL_RGBA, Tx = &t1);
-
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
- glEnable(GL_TEXTURE_2D);
-
- glEnable(GL_BLEND);
- glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- case ' ':
- Anim = !Anim;
- if (Anim)
- glutIdleFunc( Idle );
- else
- glutIdleFunc( NULL );
- break;
- case 't':
- if (Tx == &t1) {
- Tx = &t2;
- } else if (Tx == &t2) {
- Tx = &t3;
- } else {
- Tx = &t1;
- }
- ReInit(Tx->TC, Tx);
- break;
- case '9':
- ReInit(GL_RGB, Tx);
- break;
- case '0':
- ReInit(GL_RGBA, Tx);
- break;
- case '1':
- ReInit(GL_COMPRESSED_RGB, Tx);
- break;
- case '2':
- ReInit(GL_COMPRESSED_RGBA, Tx);
- break;
- case '3':
- if (fxt1) ReInit(GL_COMPRESSED_RGB_FXT1_3DFX, Tx);
- break;
- case '4':
- if (fxt1) ReInit(GL_COMPRESSED_RGBA_FXT1_3DFX, Tx);
- break;
- case '5':
- if (dxtc) ReInit(GL_COMPRESSED_RGB_S3TC_DXT1_EXT, Tx);
- break;
- case '6':
- if (dxtc) ReInit(GL_COMPRESSED_RGBA_S3TC_DXT1_EXT, Tx);
- break;
- case '7':
- if (dxtc) ReInit(GL_COMPRESSED_RGBA_S3TC_DXT3_EXT, Tx);
- break;
- case '8':
- if (dxtc) ReInit(GL_COMPRESSED_RGBA_S3TC_DXT5_EXT, Tx);
- break;
- case 'a':
- if (s3tc) ReInit(GL_RGB_S3TC, Tx);
- break;
- case 's':
- if (s3tc) ReInit(GL_RGB4_S3TC, Tx);
- break;
- case 'd':
- if (s3tc) ReInit(GL_RGBA_S3TC, Tx);
- break;
- case 'f':
- if (s3tc) ReInit(GL_RGBA4_S3TC, Tx);
- break;
- }
- glutPostRedisplay();
-}
-
-
-int main( int argc, char *argv[] )
-{
- float gl_version;
- GLint num_formats;
- GLint i;
- GLint formats[64];
-
-
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 400, 300 );
-
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE );
-
- if (glutCreateWindow(argv[0]) <= 0) {
- printf("Couldn't create window\n");
- exit(0);
- }
-
- glewInit();
- gl_version = atof( (const char *) glGetString( GL_VERSION ) );
- if ( (gl_version < 1.3)
- && !glutExtensionSupported("GL_ARB_texture_compression") ) {
- printf("Sorry, GL_ARB_texture_compression not supported\n");
- exit(0);
- }
- if (glutExtensionSupported("GL_3DFX_texture_compression_FXT1")) {
- fxt1 = GL_TRUE;
- }
- if (glutExtensionSupported("GL_EXT_texture_compression_s3tc")) {
- dxtc = GL_TRUE;
- }
- if (glutExtensionSupported("GL_S3_s3tc")) {
- s3tc = GL_TRUE;
- }
-
- glGetIntegerv( GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB, & num_formats );
-
- (void) memset( formats, 0, sizeof( formats ) );
- glGetIntegerv( GL_COMPRESSED_TEXTURE_FORMATS_ARB, formats );
-
- printf( "The following texture formats are supported:\n" );
- for ( i = 0 ; i < num_formats ; i++ ) {
- printf( "\t%s\n", TextureName( formats[i] ) );
- }
-
- Init();
-
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- if (Anim)
- glutIdleFunc( Idle );
-
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/texcomp_image.h b/progs/tests/texcomp_image.h
deleted file mode 100644
index a3884d4d0d..0000000000
--- a/progs/tests/texcomp_image.h
+++ /dev/null
@@ -1,4100 +0,0 @@
-#define ImgSize 131072
-static unsigned char ImgData[131072] =
-{
- 0x4d, 0xbc, 0x0b, 0xb4, 0xda, 0x0a, 0x78, 0xa8, 0x8d, 0xbc, 0x0c, 0xac, 0x8b, 0x7f, 0xeb, 0xf7, 0x8d, 0xbc, 0xeb, 0xab, 0xba, 0xb7, 0x82, 0xa2, 0x8d, 0xbc, 0x2b, 0xb4, 0xa2, 0xfd, 0xee, 0x2f,
- 0x6d, 0xbc, 0x0b, 0xac, 0xd6, 0x03, 0x0a, 0x80, 0x8c, 0xbc, 0x6a, 0x9b, 0x00, 0xb8, 0xad, 0x0a, 0x6c, 0xbc, 0xeb, 0xab, 0x00, 0x09, 0x0a, 0xaa, 0x8d, 0xc4, 0x4b, 0xb4, 0xbf, 0xfe, 0xfe, 0xfb,
- 0x6d, 0xc4, 0x4b, 0xb4, 0xaa, 0xfa, 0xea, 0xfb, 0x8d, 0xc4, 0x4b, 0xb4, 0xa6, 0xaa, 0xea, 0xa6, 0x8d, 0xc4, 0x6c, 0xbc, 0xfa, 0xba, 0xab, 0xe7, 0x8d, 0xc4, 0x6c, 0xbc, 0xd9, 0x76, 0x2b, 0x6b,
- 0xee, 0xcc, 0x6c, 0xbc, 0xdf, 0xfd, 0x72, 0x55, 0xee, 0xcc, 0x6c, 0xbc, 0x55, 0x55, 0x73, 0xd5, 0xad, 0xbc, 0x6c, 0xbc, 0xdd, 0xb7, 0xff, 0x57, 0xad, 0xc4, 0x6c, 0xbc, 0x37, 0x9b, 0xb5, 0xd7,
- 0xad, 0xbc, 0x6c, 0xbc, 0xfc, 0xea, 0xd7, 0xea, 0xad, 0xc4, 0x6c, 0xbc, 0xa2, 0xab, 0xfb, 0x25, 0xad, 0xc4, 0x6c, 0xbc, 0xad, 0xae, 0xfe, 0x5e, 0x8d, 0xbc, 0x6c, 0xbc, 0xba, 0xba, 0xad, 0xaa,
- 0xad, 0xc4, 0x8c, 0xb4, 0xff, 0xfa, 0xbf, 0xab, 0xad, 0xc4, 0x6c, 0xb4, 0xfd, 0xaf, 0xaf, 0xeb, 0x8d, 0xc4, 0x6c, 0xbc, 0xe7, 0x79, 0x6e, 0x7f, 0x8c, 0xc4, 0xad, 0xbc, 0xe0, 0xaf, 0xc0, 0xee,
- 0xae, 0xc4, 0x8c, 0xbc, 0xda, 0xb4, 0x27, 0xab, 0x8c, 0xc4, 0xce, 0xbc, 0xeb, 0xaf, 0xaa, 0xba, 0x8c, 0xc4, 0xad, 0xbc, 0xbd, 0xff, 0xaa, 0xff, 0xce, 0xcc, 0x8c, 0xc4, 0xa9, 0x0f, 0xaf, 0xa7,
- 0xcd, 0xcc, 0xac, 0xc4, 0xfb, 0x8b, 0x8b, 0xda, 0xad, 0xcc, 0x8c, 0xc4, 0xf2, 0xfe, 0xd7, 0x55, 0xad, 0xc4, 0x4b, 0xbc, 0xf0, 0xda, 0xf6, 0xa8, 0xad, 0xc4, 0x6c, 0xbc, 0x7d, 0x2e, 0xab, 0x0e,
- 0xad, 0xc4, 0x2b, 0xb4, 0xea, 0xeb, 0xd8, 0xae, 0xad, 0xc4, 0x4c, 0xbc, 0x35, 0x7d, 0xeb, 0xbf, 0x8d, 0xc4, 0x2b, 0xb4, 0x7a, 0x2a, 0xaa, 0x80, 0x8c, 0xc4, 0x2b, 0xb4, 0xad, 0x28, 0xa0, 0xd6,
- 0x8d, 0xc4, 0x4c, 0xbc, 0xaf, 0xab, 0xf7, 0xea, 0x8d, 0xc4, 0x4b, 0xbc, 0xea, 0xb2, 0x6a, 0x5b, 0x8c, 0xc4, 0xca, 0xab, 0x00, 0x80, 0xaa, 0xd7, 0x6c, 0xbc, 0x4b, 0xb4, 0x03, 0xdf, 0xfd, 0xe3,
- 0x8d, 0xc4, 0x2b, 0xb4, 0xfa, 0xdb, 0xaf, 0x8a, 0x8d, 0xc4, 0x2b, 0xbc, 0xad, 0xaa, 0xa8, 0xfa, 0x6c, 0xbc, 0x2b, 0xb4, 0x78, 0xda, 0x8c, 0xe0, 0x6c, 0xbc, 0xea, 0xab, 0xd7, 0xbb, 0xaa, 0x2a,
- 0x6c, 0xbc, 0x2b, 0xb4, 0x5f, 0xaa, 0xa2, 0xbc, 0x6c, 0xbc, 0x2b, 0xb4, 0xff, 0x23, 0xbf, 0xb8, 0x6b, 0xbc, 0x2c, 0xb4, 0xbf, 0xa8, 0xef, 0xff, 0x6c, 0xbc, 0x2b, 0xb4, 0x08, 0xa8, 0xd7, 0xba,
- 0x6c, 0xbc, 0x2b, 0xb4, 0x28, 0xea, 0x75, 0xfe, 0x6c, 0xbc, 0x0b, 0xb4, 0xe0, 0xdf, 0x79, 0xef, 0x6c, 0xbc, 0x0b, 0xb4, 0xf3, 0xfe, 0x3d, 0xae, 0x6c, 0xbc, 0x2b, 0xb4, 0x7a, 0xab, 0xdf, 0xde,
- 0x6c, 0xc4, 0x4c, 0xb4, 0xf7, 0xaf, 0x2f, 0xaf, 0x6c, 0xc4, 0x4b, 0xb4, 0xef, 0xff, 0xfe, 0xea, 0x6c, 0xbc, 0x2b, 0xb4, 0x8b, 0xaa, 0xbc, 0x78, 0x4c, 0xbc, 0x0b, 0xb4, 0x70, 0xd8, 0xe6, 0xab,
- 0x4c, 0xbc, 0x0b, 0xb4, 0xad, 0xaf, 0x8a, 0x02, 0x4c, 0xbc, 0x2b, 0xb4, 0xb9, 0x2b, 0xa2, 0x02, 0x6d, 0xbc, 0x2b, 0xb4, 0x2f, 0x2b, 0x2e, 0xba, 0x8c, 0xc4, 0x4b, 0xbc, 0x3d, 0xbd, 0x55, 0x5d,
- 0x6c, 0xc4, 0x0b, 0xb4, 0x5c, 0xea, 0xaa, 0xaf, 0x6c, 0xc4, 0x2b, 0xb4, 0xab, 0xab, 0x6e, 0x7b, 0x4c, 0xbc, 0xea, 0xab, 0xa8, 0xfc, 0xde, 0x2a, 0x6c, 0xbc, 0xca, 0xa3, 0xaa, 0xa9, 0x4a, 0xe0,
- 0x6c, 0xbc, 0x28, 0x9b, 0x28, 0x00, 0xa9, 0x22, 0x6c, 0xbc, 0xca, 0xab, 0xd0, 0xbc, 0xa2, 0x8a, 0x6c, 0xbc, 0x2b, 0xb4, 0xff, 0xde, 0x7d, 0xbd, 0x6c, 0xbc, 0x2b, 0xb4, 0xaf, 0xba, 0x6f, 0xa5,
- 0x6c, 0xbc, 0x2b, 0xb4, 0x0a, 0xb7, 0xff, 0x7f, 0x4c, 0xb4, 0xeb, 0xab, 0x7e, 0xa0, 0xe0, 0xa2, 0x4c, 0xbc, 0x0b, 0xac, 0xbf, 0xeb, 0xfb, 0xaa, 0x4c, 0xb4, 0x0b, 0xac, 0xca, 0xf2, 0xde, 0xba,
- 0x4c, 0xb4, 0x0a, 0xac, 0xd7, 0xf5, 0xec, 0xfb, 0x2c, 0xb4, 0x0a, 0xac, 0x9d, 0xf7, 0xb5, 0xae, 0x2c, 0xb4, 0xea, 0xab, 0x22, 0xa2, 0xea, 0x5e, 0x2b, 0xb4, 0xea, 0xa3, 0xae, 0xfe, 0xff, 0xab,
- 0x2b, 0xac, 0xca, 0xa3, 0xaa, 0x09, 0xaa, 0x00, 0x4c, 0xb4, 0xea, 0xab, 0xaf, 0xe2, 0x7a, 0xf6, 0x4c, 0xb4, 0xea, 0xa3, 0x7e, 0xff, 0x4d, 0xfe, 0x0b, 0xac, 0xea, 0xa3, 0x30, 0x2c, 0x2a, 0xaa,
- 0x4c, 0xb4, 0xea, 0xa3, 0xaa, 0xba, 0xff, 0xab, 0x4c, 0xb4, 0x0b, 0xac, 0xaf, 0xbf, 0xc2, 0xad, 0x8d, 0xbc, 0x0b, 0xac, 0xeb, 0xa2, 0xf9, 0xd7, 0x90, 0xdd, 0x0b, 0xac, 0x3f, 0xf7, 0x55, 0x55,
- 0xac, 0xbc, 0x0b, 0xac, 0xe8, 0xff, 0x7f, 0x57, 0x6c, 0xb4, 0xeb, 0xab, 0x0a, 0xfb, 0x5f, 0x55, 0x6c, 0xb4, 0xeb, 0xab, 0x8e, 0xbe, 0x5d, 0xdd, 0xac, 0xc4, 0x0b, 0xac, 0x0b, 0xfd, 0x55, 0x5b,
- 0xcc, 0xc4, 0xca, 0xa3, 0x80, 0x7f, 0xff, 0xd5, 0xed, 0xc4, 0xca, 0xa3, 0xff, 0x21, 0xde, 0x55, 0xed, 0xc4, 0xca, 0xa3, 0xbd, 0xbc, 0xf7, 0x57, 0xcd, 0xc4, 0x0c, 0xac, 0xe0, 0xaf, 0xad, 0xbd,
- 0x8d, 0xbc, 0x0b, 0xac, 0x05, 0x6d, 0x6a, 0xc2, 0x6c, 0xbc, 0xca, 0xa3, 0xf8, 0xfe, 0x57, 0xdb, 0x4c, 0xac, 0x49, 0x8b, 0xa8, 0xab, 0x93, 0xaa, 0x6c, 0xb4, 0x28, 0x8b, 0x2a, 0x21, 0xaa, 0xaa,
- 0x0b, 0xac, 0x49, 0x93, 0xb6, 0x28, 0x00, 0xa2, 0x0b, 0xac, 0x89, 0x9b, 0xa0, 0xe0, 0x60, 0xbe, 0x4b, 0xb4, 0x8a, 0x9b, 0xff, 0xff, 0x5d, 0x0a, 0xeb, 0xa3, 0x48, 0x93, 0xfa, 0xf9, 0xba, 0xc8,
- 0xeb, 0xab, 0xa9, 0x9b, 0xe9, 0x2f, 0xa2, 0xe1, 0x0b, 0xac, 0xca, 0x9b, 0xdd, 0xba, 0xa5, 0xff, 0x6a, 0xbc, 0xcb, 0xa3, 0x57, 0x55, 0xf7, 0x3f, 0x6a, 0xbc, 0xeb, 0xa3, 0xdd, 0xf5, 0xbf, 0x2a,
- 0x8b, 0xbc, 0xea, 0xab, 0xbd, 0x8a, 0xea, 0xba, 0xee, 0xc4, 0xc8, 0xb3, 0xa0, 0xaa, 0xef, 0x7f, 0xad, 0xbc, 0xc6, 0x92, 0x00, 0x00, 0x8a, 0xad, 0x6c, 0xbc, 0xea, 0xab, 0xac, 0xfe, 0x7f, 0x57,
- 0x4b, 0xb4, 0xea, 0xab, 0xae, 0x2a, 0xd5, 0xfd, 0x6b, 0xbc, 0xaa, 0xa3, 0xa2, 0xda, 0xab, 0xea, 0x2b, 0xb4, 0xaa, 0xa3, 0x7f, 0xea, 0xbe, 0x02, 0x2b, 0xac, 0xaa, 0xa3, 0x57, 0xad, 0x80, 0xf8,
- 0x2b, 0xac, 0x89, 0x9b, 0x8b, 0xaa, 0xfe, 0xdf, 0x2b, 0xac, 0x89, 0x9b, 0xe8, 0x5e, 0xf5, 0xf7, 0xea, 0xab, 0x89, 0x9b, 0xbd, 0xae, 0x8a, 0xd8, 0xea, 0xa3, 0x89, 0x9b, 0x8a, 0xda, 0xff, 0xff,
- 0xeb, 0xab, 0x89, 0x9b, 0xab, 0xaa, 0x2e, 0xaf, 0xeb, 0xa3, 0xa9, 0x9b, 0xb5, 0x83, 0xef, 0xb7, 0xca, 0xab, 0x8a, 0x9b, 0xaa, 0xea, 0x80, 0xbe, 0xeb, 0xab, 0x8a, 0x9b, 0xaa, 0xab, 0xaa, 0x7f,
- 0x0b, 0xac, 0x89, 0x9b, 0xbf, 0xe2, 0x5b, 0x5f, 0xcb, 0xa3, 0x89, 0x9b, 0xa8, 0x2c, 0x35, 0x00, 0xeb, 0xa3, 0xaa, 0x9b, 0x29, 0xf8, 0xfb, 0xaa, 0xeb, 0xab, 0xaa, 0xa3, 0xab, 0xba, 0x9e, 0x7a,
- 0xeb, 0xa3, 0x8a, 0x9b, 0x0a, 0xe2, 0xbe, 0xab, 0xeb, 0xa3, 0x69, 0x9b, 0xa8, 0xaf, 0x36, 0x80, 0x0b, 0xac, 0x8a, 0x9b, 0xad, 0xa2, 0xe8, 0xfd, 0xeb, 0xab, 0xaa, 0x9b, 0xab, 0x8a, 0xde, 0xfb,
- 0x6d, 0xbc, 0x0b, 0xb4, 0x8a, 0x08, 0xe9, 0xaa, 0x6d, 0xbc, 0x2b, 0xb4, 0xca, 0xaa, 0xbd, 0x82, 0x8c, 0xbc, 0x2b, 0xb4, 0x2b, 0xfe, 0x5f, 0xf5, 0x8c, 0xbc, 0x0b, 0xb4, 0xa2, 0x25, 0xff, 0xfb,
- 0x6d, 0xbc, 0x4b, 0xb4, 0x38, 0x3a, 0x23, 0xfe, 0x8c, 0xc4, 0x0b, 0xb4, 0xeb, 0xfa, 0xde, 0xa8, 0x6d, 0xbc, 0x2b, 0xb4, 0xf9, 0xaf, 0x3f, 0x0e, 0x8d, 0xc4, 0x4c, 0xb4, 0xff, 0xff, 0xdb, 0xfe,
- 0x8d, 0xc4, 0x4c, 0xbc, 0xfb, 0xe7, 0x2f, 0xaf, 0x8d, 0xc4, 0x4c, 0xbc, 0xc5, 0xeb, 0xfe, 0x9f, 0x8d, 0xc4, 0x4c, 0xb4, 0xee, 0xed, 0xaa, 0xaa, 0x8d, 0xc4, 0x6c, 0xbc, 0xf9, 0x59, 0x7e, 0x57,
- 0xad, 0xbc, 0x6c, 0xb4, 0xff, 0xaf, 0xd6, 0xfb, 0x8d, 0xc4, 0x6c, 0xb4, 0xea, 0xff, 0xea, 0xeb, 0xad, 0xc4, 0x4c, 0xb4, 0xfa, 0xee, 0xfb, 0x2f, 0x8d, 0xbc, 0x4c, 0xbc, 0xab, 0xae, 0xe8, 0x2a,
- 0xad, 0xbc, 0x4c, 0xb4, 0xff, 0xeb, 0xee, 0x72, 0xad, 0xbc, 0x6c, 0xb4, 0xff, 0xb5, 0xf5, 0xb7, 0x8d, 0xc4, 0x6c, 0xb4, 0xfe, 0xaf, 0xfb, 0xae, 0xae, 0xc4, 0x6c, 0xbc, 0xe5, 0x3f, 0xf0, 0xa0,
- 0x2f, 0xcd, 0x6d, 0xbc, 0xf5, 0xaf, 0x03, 0xbf, 0x4f, 0xcd, 0x6d, 0xbc, 0xff, 0xf2, 0x78, 0x5f, 0xac, 0xc4, 0x6d, 0xbc, 0x5f, 0xee, 0xef, 0xeb, 0xad, 0xc4, 0x6c, 0xbc, 0xfb, 0xea, 0x7f, 0xbf,
- 0xae, 0xc4, 0x6c, 0xbc, 0xbf, 0x8f, 0x3a, 0x2a, 0xae, 0xc4, 0x8c, 0xbc, 0x0e, 0xea, 0xea, 0xaa, 0xce, 0xc4, 0x8c, 0xbc, 0x5d, 0xbb, 0xef, 0xea, 0xce, 0xc4, 0xac, 0xbc, 0x83, 0x8b, 0xae, 0xff,
- 0xcd, 0xc4, 0x8c, 0xbc, 0xe0, 0x62, 0xd8, 0x54, 0xad, 0xc4, 0x2c, 0xbc, 0x5f, 0x0a, 0xee, 0xaa, 0xad, 0xc4, 0x2c, 0xbc, 0xab, 0xbe, 0xf5, 0xa2, 0x8c, 0xc4, 0x2b, 0xb4, 0x00, 0xea, 0xb6, 0xb5,
- 0x8c, 0xc4, 0x4b, 0xb4, 0xaa, 0x7f, 0x2c, 0xf0, 0xac, 0xc4, 0x0b, 0xb4, 0xea, 0x8a, 0x62, 0xe8, 0xad, 0xc4, 0x0b, 0xb4, 0xff, 0xd8, 0xaf, 0xab, 0x8d, 0xbc, 0x0b, 0xb4, 0xd5, 0x00, 0xaa, 0x8a,
- 0x6c, 0xbc, 0x2b, 0xb4, 0xbb, 0xa8, 0x83, 0x78, 0x6c, 0xbc, 0xcb, 0xab, 0xa0, 0x88, 0x60, 0xa0, 0x6c, 0xbc, 0x2b, 0xb4, 0xa5, 0x03, 0xf3, 0xfb, 0x6c, 0xbc, 0x2b, 0xb4, 0x20, 0x08, 0xe7, 0xeb,
- 0x8c, 0xbc, 0x2b, 0xb4, 0xe2, 0xfe, 0xd7, 0xff, 0x4c, 0xbc, 0x2b, 0xb4, 0x0a, 0xee, 0xf9, 0x7b, 0x4c, 0xbc, 0x0b, 0xb4, 0x80, 0xde, 0xba, 0xba, 0x4c, 0xbc, 0x0b, 0xb4, 0x8a, 0xa2, 0x9e, 0x80,
- 0x2b, 0xbc, 0x4c, 0xb4, 0xaa, 0xff, 0xeb, 0xb7, 0x4c, 0xb4, 0x0b, 0xb4, 0xdc, 0xbe, 0x2b, 0x8a, 0x6c, 0xbc, 0x0b, 0xb4, 0xf7, 0x7a, 0xbf, 0xef, 0x4c, 0xbc, 0x2b, 0xb4, 0xba, 0xfd, 0xcb, 0xce,
- 0x4c, 0xbc, 0x2b, 0xb4, 0x83, 0xef, 0x9d, 0xbe, 0x4c, 0xbc, 0x2b, 0xb4, 0xc8, 0xf7, 0x9f, 0xff, 0x6c, 0xbc, 0x2b, 0xb4, 0xad, 0xfb, 0xff, 0xae, 0x6d, 0xbc, 0x2b, 0xb4, 0xff, 0xab, 0xab, 0x0a,
- 0x6c, 0xbc, 0x2b, 0xb4, 0xef, 0xab, 0xfc, 0xe8, 0x6d, 0xbc, 0x2b, 0xb4, 0xab, 0xbe, 0xcf, 0xaa, 0x6d, 0xbc, 0x2b, 0xb4, 0xfa, 0xa0, 0xae, 0xae, 0x6c, 0xbc, 0x0b, 0xb4, 0xf7, 0xbe, 0xba, 0x0a,
- 0x6d, 0xbc, 0x2b, 0xb4, 0xfd, 0xaf, 0xba, 0xae, 0x8c, 0xbc, 0x4b, 0xb4, 0xfd, 0xf5, 0x8b, 0xaf, 0x6d, 0xbc, 0x4b, 0xb4, 0xe7, 0xae, 0x02, 0x02, 0x6d, 0xbc, 0x4b, 0xb4, 0xfa, 0xea, 0x2b, 0xae,
- 0x4d, 0xbc, 0x2b, 0xb4, 0x6a, 0xc0, 0xaa, 0xc0, 0x4c, 0xbc, 0x0b, 0xb4, 0xe2, 0xe8, 0xa9, 0x82, 0x6c, 0xbc, 0x0b, 0xb4, 0x2f, 0xab, 0xbd, 0xaa, 0x8c, 0xc4, 0x2b, 0xb4, 0xf8, 0x7e, 0x7f, 0xff,
- 0x6c, 0xbc, 0x0b, 0xb4, 0x9f, 0x3b, 0xff, 0xff, 0x4c, 0xbc, 0xcb, 0xab, 0x2c, 0xbe, 0xa6, 0x8b, 0x4c, 0xb4, 0x0a, 0xac, 0xaf, 0xea, 0xba, 0x09, 0x6c, 0xbc, 0x0b, 0xac, 0xef, 0xab, 0xfa, 0xb7,
- 0x6c, 0xbc, 0x0b, 0xb4, 0xf7, 0xd6, 0xfb, 0xeb, 0x4c, 0xbc, 0x0b, 0xac, 0xbb, 0xbe, 0x6d, 0xca, 0x4c, 0xb4, 0x0b, 0xac, 0x2a, 0x2a, 0xa9, 0xba, 0x8d, 0xbc, 0x0b, 0xb4, 0x5f, 0xfb, 0x6f, 0xcf,
- 0x4c, 0xb4, 0xeb, 0xab, 0xf6, 0xfc, 0xea, 0xa8, 0x2b, 0xb4, 0xea, 0xa3, 0xab, 0xbb, 0x7a, 0xaa, 0x2c, 0xb4, 0xea, 0xa3, 0xfe, 0xfe, 0xff, 0x2b, 0x2c, 0xb4, 0xea, 0xa3, 0xeb, 0xab, 0xaf, 0xd8,
- 0x2b, 0xb4, 0xca, 0xab, 0xaa, 0xa2, 0xaa, 0x7a, 0x2b, 0xac, 0xca, 0xa3, 0xe8, 0x2e, 0xbf, 0xb7, 0x4c, 0xb4, 0xcb, 0xa3, 0xdf, 0xf6, 0x1f, 0xbd, 0x8c, 0xbc, 0x8a, 0x9b, 0xee, 0xdf, 0xaa, 0x2a,
- 0xcd, 0xc4, 0x0b, 0xac, 0x55, 0x55, 0x77, 0xc0, 0x6c, 0xb4, 0x0b, 0xac, 0xbd, 0x2b, 0xee, 0xff, 0x4c, 0xb4, 0x0b, 0xac, 0xfe, 0xee, 0x77, 0x57, 0x4c, 0xb4, 0xea, 0xab, 0x62, 0x5b, 0x7f, 0xdd,
- 0x0c, 0xac, 0xca, 0xa3, 0xa0, 0xac, 0xeb, 0x8a, 0x2b, 0xac, 0xea, 0xa3, 0xe7, 0xef, 0x2f, 0xae, 0x8c, 0xbc, 0xeb, 0xa3, 0xf7, 0x57, 0x7b, 0x8e, 0x6c, 0xb4, 0xca, 0xa3, 0x5d, 0xfb, 0xf2, 0xfe,
- 0x4d, 0xb4, 0xa9, 0xa3, 0xfd, 0xd7, 0xff, 0xe2, 0x4c, 0xac, 0xaa, 0x9b, 0xf7, 0xfa, 0xbb, 0xa2, 0x2c, 0xac, 0xaa, 0x9b, 0xd7, 0x3f, 0x2e, 0x02, 0x2e, 0xcd, 0x4c, 0xb4, 0x0f, 0xed, 0x5d, 0x55,
- 0xce, 0xc4, 0x4c, 0xb4, 0x56, 0xa7, 0x38, 0x2a, 0xce, 0xc4, 0x0b, 0xac, 0x7f, 0xff, 0xe8, 0x88, 0xad, 0xbc, 0xcb, 0xa3, 0x55, 0xff, 0xbe, 0xf8, 0x4c, 0xb4, 0x29, 0x9b, 0xaa, 0xa8, 0xa8, 0x60,
- 0xea, 0xab, 0x08, 0x8b, 0x20, 0x80, 0x72, 0xfb, 0x0b, 0xac, 0xa7, 0x7a, 0xa8, 0xaa, 0xad, 0x0a, 0x6c, 0xb4, 0x28, 0x93, 0x5e, 0xfd, 0xbf, 0xa8, 0x2c, 0xac, 0x69, 0x93, 0xa9, 0xeb, 0x28, 0xaa,
- 0x6d, 0xbc, 0x69, 0x93, 0xff, 0x57, 0xbf, 0xa2, 0x4d, 0xb4, 0xaa, 0x9b, 0x57, 0xd5, 0xfe, 0xa8, 0x2b, 0xac, 0x26, 0x6a, 0x7a, 0xa0, 0x00, 0x00, 0x2c, 0xac, 0xa5, 0x59, 0x55, 0x00, 0x00, 0x00,
- 0x4c, 0xb4, 0xa5, 0x59, 0xf5, 0x00, 0x82, 0x82, 0x2b, 0xac, 0x87, 0x82, 0xd7, 0x0a, 0xa8, 0xa8, 0x4b, 0xbc, 0xaa, 0x9b, 0x82, 0xaf, 0x6d, 0xd5, 0x0b, 0xac, 0x69, 0xa3, 0xaa, 0xa6, 0x2b, 0xfc,
- 0x2b, 0xb4, 0xa9, 0xa3, 0xcb, 0xfb, 0xff, 0xdd, 0x2b, 0xb4, 0xa9, 0xa3, 0x0a, 0xeb, 0x7f, 0x5f, 0x2b, 0xac, 0x68, 0x9b, 0x80, 0xea, 0xff, 0x5d, 0xca, 0xa3, 0xe8, 0x92, 0x00, 0x00, 0xf8, 0x81,
- 0xeb, 0xa3, 0x29, 0x8b, 0xa8, 0x2e, 0xd5, 0xba, 0xca, 0xa3, 0x89, 0x93, 0x6b, 0xb5, 0xad, 0xaa, 0xca, 0xa3, 0x69, 0x93, 0x7d, 0xa8, 0x0a, 0x28, 0xcb, 0xab, 0x69, 0x9b, 0x2d, 0x9a, 0xba, 0x28,
- 0x0b, 0xac, 0x8a, 0x9b, 0xaf, 0xff, 0x7e, 0xcb, 0xcb, 0xab, 0x89, 0x9b, 0x2e, 0x5f, 0xd7, 0xff, 0xeb, 0xab, 0x8a, 0x9b, 0xe8, 0xb7, 0xbf, 0xab, 0xeb, 0xab, 0x8a, 0xa3, 0x8f, 0xa2, 0xff, 0x9f,
- 0xea, 0xab, 0xab, 0x9b, 0xff, 0xbf, 0x77, 0xff, 0xcb, 0xa3, 0xaa, 0xa3, 0xbb, 0x80, 0x01, 0xc0, 0xcb, 0xab, 0xaa, 0x9b, 0xaa, 0xfa, 0xfe, 0xef, 0xcb, 0xa3, 0xaa, 0x9b, 0xb8, 0x28, 0x03, 0x22,
- 0xeb, 0xab, 0x8a, 0x9b, 0xaa, 0x2a, 0x6a, 0x0a, 0x0b, 0xa4, 0x6a, 0x9b, 0x7a, 0xdf, 0xaf, 0xa8, 0xeb, 0xa3, 0xaa, 0x9b, 0xad, 0xaa, 0xcc, 0xfe, 0xeb, 0xab, 0xaa, 0x9b, 0xaa, 0xae, 0xea, 0xf7,
- 0x6c, 0xbc, 0x2b, 0xb4, 0xa2, 0xde, 0x7f, 0xeb, 0x6c, 0xbc, 0x2b, 0xb4, 0xc9, 0xae, 0x09, 0x83, 0xcd, 0xcc, 0x2b, 0xb4, 0xff, 0xf7, 0xb5, 0x63, 0x6d, 0xbc, 0x2b, 0xb4, 0x42, 0xfa, 0xe0, 0xf3,
- 0x6d, 0xbc, 0x2b, 0xb4, 0xfd, 0xdf, 0x35, 0xab, 0x6c, 0xbc, 0x2b, 0xb4, 0xa2, 0xf3, 0xfe, 0x7e, 0x8d, 0xbc, 0x2b, 0xb4, 0x8a, 0xae, 0xaf, 0xbf, 0x8d, 0xc4, 0x4c, 0xbc, 0xd7, 0xff, 0xbf, 0x3f,
- 0xad, 0xc4, 0x6c, 0xbc, 0x55, 0xe5, 0xab, 0xd2, 0xad, 0xc4, 0x0b, 0xac, 0xaa, 0xbd, 0x80, 0xa8, 0xce, 0xc4, 0x2b, 0xb4, 0xbe, 0x0f, 0xba, 0x7a, 0x90, 0xd5, 0xeb, 0xab, 0xff, 0xfa, 0x0f, 0xbd,
- 0x0e, 0xcd, 0x2c, 0xb4, 0xdf, 0xaf, 0xfc, 0xe8, 0x0e, 0xcd, 0x4c, 0xbc, 0xd5, 0xcb, 0xff, 0xd7, 0xee, 0xc4, 0x6c, 0xbc, 0xcb, 0x7d, 0xff, 0x5e, 0x8d, 0xbc, 0x4c, 0xb4, 0xaa, 0xaa, 0x2f, 0xaa,
- 0xee, 0xcc, 0x6c, 0xbc, 0xee, 0x3d, 0x89, 0xed, 0xee, 0xc4, 0x4c, 0xb4, 0xfe, 0xaa, 0xe0, 0xf9, 0xce, 0xc4, 0x8c, 0xbc, 0xfd, 0xf7, 0xe9, 0x78, 0xce, 0xc4, 0x8c, 0xbc, 0x0f, 0xaf, 0xfd, 0xb8,
- 0xee, 0xc4, 0x8d, 0xbc, 0x7d, 0xaf, 0xff, 0xa2, 0xce, 0xc4, 0x8c, 0xbc, 0x57, 0xaa, 0xde, 0x50, 0xad, 0xc4, 0x8c, 0xbc, 0xd5, 0xde, 0xeb, 0xff, 0x8e, 0xc4, 0xac, 0xbc, 0xff, 0xff, 0x82, 0xdf,
- 0x8c, 0xc4, 0xce, 0xbc, 0xba, 0xaa, 0xb8, 0xaf, 0x8d, 0xc4, 0xce, 0xbc, 0xaa, 0xfa, 0xba, 0xfa, 0xce, 0xc4, 0xac, 0xbc, 0xaf, 0xb9, 0xe5, 0x43, 0xcd, 0xc4, 0x8c, 0xbc, 0xba, 0x0e, 0x2a, 0x6b,
- 0xad, 0xc4, 0x6c, 0xbc, 0xfc, 0xd0, 0xfe, 0xea, 0xad, 0xc4, 0x4c, 0xbc, 0x3f, 0xea, 0xde, 0x5f, 0xad, 0xc4, 0x4b, 0xb4, 0xe8, 0xff, 0x7f, 0xbf, 0x8d, 0xbc, 0x2b, 0xb4, 0xfe, 0xf7, 0xef, 0x88,
- 0x6d, 0xbc, 0x4b, 0xb4, 0xff, 0xb7, 0x08, 0xba, 0x6d, 0xbc, 0x4c, 0xb4, 0x88, 0x20, 0xba, 0x00, 0x8d, 0xbc, 0x4c, 0xbc, 0xaa, 0x2f, 0x5f, 0xaa, 0x8d, 0xc4, 0x4b, 0xb4, 0xfe, 0x7e, 0xff, 0xaa,
- 0x8d, 0xbc, 0x2c, 0xb4, 0x5d, 0xfa, 0xab, 0x00, 0x8d, 0xbc, 0x2b, 0xb4, 0xf7, 0xaf, 0xa0, 0x8a, 0x8d, 0xbc, 0x4c, 0xb4, 0x55, 0xff, 0xa0, 0xfe, 0x8d, 0xbc, 0x2c, 0xb4, 0x7f, 0xfe, 0xaa, 0xa8,
- 0x6d, 0xbc, 0x2c, 0xb4, 0xff, 0xaa, 0x82, 0xa2, 0x8d, 0xbc, 0x2c, 0xb4, 0x55, 0xeb, 0xaa, 0xa8, 0x8c, 0xbc, 0x2c, 0xb4, 0xd5, 0xbb, 0x8a, 0xea, 0x8d, 0xbc, 0x2b, 0xb4, 0xef, 0x7a, 0xe8, 0xae,
- 0x6c, 0xbc, 0x2b, 0xb4, 0xf5, 0x77, 0x8a, 0x00, 0x6c, 0xbc, 0x2b, 0xb4, 0xf7, 0xab, 0x88, 0x00, 0x6d, 0xbc, 0x4b, 0xb4, 0xf5, 0xaf, 0xbf, 0xb8, 0x6d, 0xbc, 0x2b, 0xb4, 0xfe, 0xae, 0xca, 0xa8,
- 0x6d, 0xbc, 0x2b, 0xb4, 0xb7, 0xaa, 0xaf, 0x8a, 0x6c, 0xbc, 0x4b, 0xb4, 0x3b, 0xf9, 0x8a, 0x82, 0x8d, 0xbc, 0x2b, 0xb4, 0xee, 0xaa, 0xef, 0x8a, 0x6d, 0xbc, 0x2b, 0xb4, 0xea, 0xaa, 0x22, 0x20,
- 0x6d, 0xbc, 0x4c, 0xb4, 0x7f, 0xaa, 0xc2, 0x20, 0x8d, 0xbc, 0x4c, 0xb4, 0xff, 0xa3, 0x0b, 0xa8, 0x6d, 0xbc, 0x2b, 0xb4, 0x7a, 0x22, 0x00, 0x8a, 0x8d, 0xbc, 0x4c, 0xb4, 0x8f, 0xf2, 0x07, 0x0a,
- 0x8d, 0xbc, 0x4c, 0xb4, 0xd5, 0xab, 0x7a, 0xae, 0x8c, 0xbc, 0x2b, 0xb4, 0x2a, 0x8a, 0xbf, 0x7b, 0x8d, 0xbc, 0x4b, 0xb4, 0x3f, 0x2e, 0xe5, 0x39, 0x8d, 0xbc, 0x2b, 0xb4, 0x7a, 0xbe, 0x22, 0x88,
- 0x8d, 0xbc, 0x4c, 0xb4, 0xbf, 0x3f, 0x2f, 0x08, 0x6c, 0xbc, 0x2b, 0xb4, 0x2b, 0xa8, 0x2c, 0xec, 0x8d, 0xbc, 0x4b, 0xb4, 0xd5, 0x2b, 0xee, 0xd5, 0x6c, 0xbc, 0x2b, 0xb4, 0xcb, 0xe8, 0xaf, 0xff,
- 0x4c, 0xb4, 0x2b, 0xb4, 0x5d, 0x7e, 0xc0, 0xdf, 0x4c, 0xbc, 0x0b, 0xb4, 0xdf, 0xeb, 0xaa, 0xae, 0xad, 0xbc, 0xeb, 0xab, 0x7f, 0xff, 0x8a, 0xfb, 0xad, 0xc4, 0x0b, 0xac, 0xd5, 0xcf, 0xfe, 0xbe,
- 0x6c, 0xbc, 0x2b, 0xb4, 0x7e, 0x7d, 0xfa, 0xc2, 0x4c, 0xb4, 0x0b, 0xac, 0xfb, 0x2a, 0x88, 0x72, 0x4c, 0xb4, 0x69, 0x9b, 0x00, 0x08, 0xa8, 0xa6, 0x4c, 0xb4, 0xeb, 0xab, 0x08, 0x8e, 0x7d, 0xc9,
- 0x4c, 0xb4, 0xea, 0xab, 0xba, 0xf7, 0x2f, 0xe2, 0x6c, 0xbc, 0xa9, 0xa3, 0xab, 0xaa, 0xd2, 0x5e, 0x2b, 0xac, 0x69, 0x9b, 0x00, 0xab, 0xeb, 0x5d, 0xea, 0xab, 0x49, 0x9b, 0x00, 0x00, 0xbb, 0x5f,
- 0x2a, 0xb4, 0x49, 0x9b, 0xa0, 0x68, 0x7f, 0xd5, 0xeb, 0xab, 0x69, 0x93, 0x88, 0x29, 0x2a, 0xab, 0x2b, 0xb4, 0xea, 0xa3, 0x2d, 0xef, 0xaf, 0xfd, 0x4b, 0xb4, 0xe7, 0x8a, 0xa0, 0x29, 0x02, 0x80,
- 0x4c, 0xb4, 0xeb, 0xab, 0xa2, 0xde, 0xed, 0xff, 0x4c, 0xb4, 0xeb, 0xab, 0xee, 0x2b, 0x7f, 0x57, 0x2c, 0xb4, 0x0b, 0xa4, 0xfa, 0xea, 0xab, 0xef, 0xee, 0xc4, 0x0b, 0xac, 0x5d, 0xd5, 0x55, 0x73,
- 0x6d, 0xb4, 0x0b, 0xac, 0x55, 0xde, 0x3f, 0x2f, 0xce, 0xc4, 0xeb, 0xa3, 0xd7, 0xff, 0xaa, 0x2f, 0xce, 0xbc, 0x0c, 0xac, 0x57, 0x7f, 0x3f, 0x28, 0xcd, 0xbc, 0xcb, 0xa3, 0xff, 0xfd, 0xeb, 0xf8,
- 0xee, 0xc4, 0xeb, 0xa3, 0xf3, 0x55, 0xaf, 0xea, 0xef, 0xc4, 0x0b, 0xac, 0x5d, 0xe5, 0xd5, 0x8f, 0xcd, 0xbc, 0x2c, 0xb4, 0x75, 0xef, 0x8b, 0xff, 0x8d, 0xbc, 0x2b, 0xb4, 0x96, 0xfa, 0x3f, 0x2b,
- 0xce, 0xc4, 0x2c, 0xb4, 0xaa, 0x03, 0x07, 0x2b, 0x0e, 0xcd, 0x6c, 0xb4, 0x5c, 0xdd, 0x3a, 0xda, 0x0e, 0xc5, 0x4c, 0xb4, 0x7e, 0x7a, 0xf8, 0xff, 0x8d, 0xbc, 0x0b, 0xac, 0xda, 0xc8, 0x9e, 0xdc,
- 0x6c, 0xb4, 0xab, 0x9b, 0xf6, 0xf8, 0x7e, 0xa2, 0x6d, 0xb4, 0xcb, 0x9b, 0xef, 0xc7, 0xbf, 0xaa, 0x4c, 0xac, 0xaa, 0xa3, 0xf7, 0xfe, 0xb4, 0xa8, 0x4c, 0xb4, 0xca, 0xa3, 0x1f, 0xfb, 0xf0, 0xae,
- 0x8c, 0xbc, 0xaa, 0xa3, 0x83, 0xbf, 0xa5, 0xbf, 0xad, 0xbc, 0x0b, 0xac, 0xb7, 0xaa, 0xad, 0xf8, 0x6c, 0xb4, 0xeb, 0xa3, 0xf4, 0xee, 0xef, 0xca, 0x8d, 0xb4, 0xea, 0xa3, 0x55, 0xd5, 0x74, 0xdf,
- 0xeb, 0xa3, 0xa9, 0x9b, 0x92, 0x5a, 0x56, 0x83, 0x0b, 0xa4, 0x8a, 0x9b, 0x68, 0xa7, 0x09, 0xab, 0x2b, 0xac, 0x8a, 0x93, 0xdf, 0xf3, 0xfe, 0xff, 0xeb, 0xa3, 0xe9, 0x7a, 0x6a, 0xa8, 0x80, 0x82,
- 0x0b, 0xac, 0x87, 0x72, 0xb7, 0x0a, 0x02, 0x00, 0x0a, 0xac, 0xe9, 0x8a, 0xaa, 0xea, 0x76, 0x02, 0x0b, 0xa4, 0x88, 0x82, 0xaa, 0xaa, 0xf5, 0x80, 0xea, 0xa3, 0x49, 0x93, 0x02, 0xab, 0x0d, 0xaa,
- 0xeb, 0xab, 0xaa, 0x9b, 0x97, 0xa7, 0x8b, 0x0e, 0xeb, 0xab, 0xaa, 0xa3, 0xf8, 0xd7, 0xfc, 0xfe, 0xea, 0xa3, 0xaa, 0x9b, 0xfb, 0xce, 0x7a, 0x5f, 0x2c, 0xb4, 0x89, 0x9b, 0xf7, 0xff, 0xef, 0x2f,
- 0x0b, 0xac, 0x8a, 0x9b, 0xaf, 0x6a, 0xeb, 0xca, 0xeb, 0xa3, 0x8a, 0x9b, 0xbf, 0xa9, 0xaf, 0x22, 0xea, 0xa3, 0xcb, 0x9b, 0xfe, 0xef, 0xbd, 0x00, 0xeb, 0xab, 0xca, 0x9b, 0xaf, 0xff, 0xea, 0xfe,
- 0xec, 0xa3, 0xaa, 0x9b, 0xbe, 0xaa, 0x2b, 0xae, 0xeb, 0xa3, 0xcb, 0x9b, 0xbb, 0xdd, 0xbe, 0xa2, 0xcb, 0xa3, 0xaa, 0x9b, 0xa6, 0xac, 0x60, 0x0e, 0xcb, 0xa3, 0xaa, 0x9b, 0x0e, 0xab, 0x03, 0x28,
- 0xeb, 0xa3, 0xaa, 0x9b, 0x0a, 0x72, 0xfe, 0x6d, 0xcb, 0xa3, 0x8a, 0x9b, 0x02, 0xbc, 0x6c, 0xbf, 0xcb, 0xa3, 0x8a, 0x9b, 0xe2, 0xdf, 0x5d, 0xb7, 0x89, 0xa3, 0xab, 0x9b, 0xde, 0xff, 0x82, 0x2d,
- 0x8d, 0xc4, 0xeb, 0xb3, 0xf2, 0xf7, 0xff, 0xff, 0xad, 0xc4, 0x2b, 0xbc, 0xed, 0xfd, 0x3d, 0xbd, 0xac, 0xc4, 0x0b, 0xb4, 0xea, 0x7a, 0xdc, 0xaa, 0x8d, 0xc4, 0x2b, 0xb4, 0xf5, 0xef, 0x80, 0xda,
- 0x6c, 0xbc, 0x2b, 0xb4, 0x6b, 0x5f, 0x65, 0xbd, 0x6c, 0xbc, 0x0b, 0xb4, 0xba, 0x82, 0xb9, 0x2a, 0x6c, 0xbc, 0x0b, 0xb4, 0x2b, 0x89, 0xaa, 0x28, 0x8d, 0xc4, 0x4b, 0xb4, 0xbb, 0xed, 0xff, 0xbf,
- 0x8d, 0xc4, 0x4c, 0xb4, 0xbe, 0xbb, 0xff, 0xf8, 0xee, 0xcc, 0x4c, 0xb4, 0xef, 0xff, 0x0d, 0xad, 0x6d, 0xbc, 0x2b, 0xb4, 0x80, 0xce, 0xe0, 0xbe, 0x8d, 0xbc, 0xca, 0xab, 0x38, 0x1f, 0xea, 0x0a,
- 0xce, 0xc4, 0x6c, 0xbc, 0x7a, 0x3f, 0xf7, 0xfc, 0x0e, 0xcd, 0x4c, 0xbc, 0xd7, 0xec, 0xff, 0xff, 0xac, 0xc4, 0x6d, 0xbc, 0x79, 0xfa, 0xbf, 0xa3, 0xcd, 0xc4, 0x2c, 0xb4, 0xbf, 0x8a, 0x01, 0x0a,
- 0x0e, 0xcd, 0x8d, 0xbc, 0x59, 0xf9, 0x60, 0x5d, 0x0e, 0xc5, 0x6d, 0xbc, 0x57, 0xaa, 0xaf, 0x8b, 0x0e, 0xcd, 0x6d, 0xbc, 0xfd, 0xea, 0x7e, 0xf0, 0xad, 0xc4, 0x6c, 0xbc, 0x70, 0xaa, 0xeb, 0xab,
- 0xad, 0xc4, 0x6c, 0xbc, 0x25, 0xa2, 0xfe, 0xab, 0x8c, 0xc4, 0xad, 0xbc, 0xb2, 0x7f, 0xaf, 0xd7, 0xae, 0xc4, 0x8c, 0xbc, 0xea, 0x8e, 0xda, 0xbf, 0xad, 0xc4, 0x8d, 0xbc, 0xab, 0xaa, 0xaa, 0x7e,
- 0xad, 0xc4, 0x8c, 0xbc, 0xae, 0xef, 0xa9, 0xab, 0xce, 0xc4, 0xad, 0xbc, 0xf5, 0xdd, 0xbd, 0xcb, 0xce, 0xc4, 0x8c, 0xbc, 0xdc, 0xde, 0xee, 0xe2, 0xcd, 0xc4, 0x2b, 0xb4, 0xa0, 0xa8, 0xfe, 0x7f,
- 0xad, 0xc4, 0x4c, 0xb4, 0xa8, 0xea, 0xf5, 0xf5, 0xad, 0xc4, 0x4c, 0xb4, 0x7f, 0xff, 0xb5, 0xbb, 0xad, 0xc4, 0x4c, 0xb4, 0x5d, 0xfd, 0x2a, 0x82, 0xad, 0xc4, 0x4c, 0xb4, 0xfd, 0xaa, 0x00, 0xaa,
- 0xad, 0xc4, 0x6c, 0xbc, 0x7f, 0x8f, 0xfb, 0xca, 0xad, 0xc4, 0x6c, 0xb4, 0xff, 0xea, 0xfa, 0xff, 0x8d, 0xc4, 0x4c, 0xb4, 0xa8, 0xbe, 0xeb, 0xef, 0xad, 0xc4, 0x6c, 0xb4, 0xfa, 0xdf, 0xfd, 0xfd,
- 0x8d, 0xc4, 0x6c, 0xb4, 0xfb, 0xaa, 0xaa, 0xbb, 0x8d, 0xc4, 0x4c, 0xb4, 0xff, 0x0f, 0xaa, 0xaa, 0x8d, 0xc4, 0x6c, 0xbc, 0xd7, 0xfe, 0xf5, 0x77, 0x8d, 0xc4, 0x4b, 0xbc, 0xaa, 0xea, 0x7e, 0xff,
- 0x8d, 0xbc, 0x4c, 0xbc, 0xfe, 0xaa, 0xd7, 0xfe, 0x8d, 0xbc, 0x4c, 0xb4, 0xa2, 0xee, 0xba, 0xaf, 0x8d, 0xbc, 0x4c, 0xb4, 0xfe, 0xfe, 0xff, 0xbe, 0x8d, 0xbc, 0x4c, 0xb4, 0xbf, 0xae, 0xbf, 0xba,
- 0x8d, 0xc4, 0x6c, 0xb4, 0x7e, 0xee, 0xff, 0xbf, 0x8d, 0xbc, 0x4c, 0xb4, 0xfe, 0xfa, 0xeb, 0xbb, 0x8d, 0xbc, 0x4c, 0xb4, 0xff, 0xbb, 0x1e, 0x2a, 0x8d, 0xbc, 0x4c, 0xb4, 0x7e, 0xae, 0xa8, 0x28,
- 0x8d, 0xc4, 0x6c, 0xb4, 0xef, 0xfb, 0xab, 0xaa, 0x8d, 0xc4, 0x6c, 0xb4, 0xfe, 0xaa, 0xaa, 0xba, 0xad, 0xc4, 0x6c, 0xb4, 0xfa, 0xae, 0xfe, 0xff, 0x8d, 0xc4, 0x4c, 0xb4, 0xea, 0xfa, 0xbf, 0xea,
- 0x8c, 0xbc, 0x4c, 0xbc, 0xfb, 0xff, 0xfb, 0xaa, 0x8d, 0xc4, 0x4c, 0xbc, 0xfb, 0xef, 0xfe, 0xbb, 0x8d, 0xc4, 0x4c, 0xb4, 0xaa, 0xbf, 0xea, 0xaa, 0x8d, 0xc4, 0x2c, 0xb4, 0xaa, 0xaa, 0xef, 0xfa,
- 0x6d, 0xbc, 0x4b, 0xb4, 0xfc, 0x64, 0xed, 0x2f, 0x8d, 0xbc, 0x4b, 0xb4, 0x5d, 0xab, 0x8a, 0xdb, 0x8d, 0xbc, 0x4c, 0xb4, 0xff, 0xbe, 0x9b, 0x8a, 0xad, 0xc4, 0x6c, 0xbc, 0x69, 0x45, 0xed, 0xeb,
- 0xad, 0xc4, 0x6c, 0xbc, 0x2d, 0x80, 0x7e, 0xeb, 0x8d, 0xc4, 0x2b, 0xb4, 0x7c, 0xde, 0xfe, 0xfe, 0x2b, 0xbc, 0x6c, 0xb4, 0xaa, 0xfd, 0x8b, 0x8b, 0x6c, 0xbc, 0x2b, 0xb4, 0xfe, 0xfa, 0xb8, 0x20,
- 0x4c, 0xbc, 0x2b, 0xb4, 0x5d, 0x7b, 0x3e, 0x5b, 0x4c, 0xb4, 0x0a, 0xac, 0xaa, 0xf0, 0xa2, 0xa8, 0x4c, 0xb4, 0x0a, 0xac, 0xea, 0x22, 0xda, 0xfb, 0x4c, 0xb4, 0xea, 0xab, 0x2b, 0xab, 0xff, 0xdf,
- 0x4c, 0xb4, 0xeb, 0xab, 0xb6, 0x4a, 0xfb, 0x3f, 0x4c, 0xbc, 0xaa, 0xa3, 0xba, 0xaa, 0xa2, 0x70, 0x0b, 0xb4, 0xca, 0xab, 0x0c, 0xaa, 0xb2, 0x79, 0x2b, 0xb4, 0xaa, 0xa3, 0xa8, 0xaa, 0xde, 0x5f,
- 0x2b, 0xb4, 0x89, 0x9b, 0xf8, 0xfa, 0x7e, 0x7f, 0xcb, 0xa3, 0x89, 0x9b, 0x24, 0xef, 0x99, 0xab, 0x2b, 0xac, 0x85, 0x59, 0xa0, 0x9e, 0xa8, 0xa0, 0xaa, 0xa3, 0x49, 0x93, 0x2d, 0xad, 0x2a, 0xaa,
- 0xca, 0xa3, 0x69, 0x9b, 0xbf, 0xab, 0x29, 0x0a, 0xeb, 0xab, 0xaa, 0x9b, 0xaf, 0xfb, 0xbf, 0x2e, 0x0c, 0xac, 0xca, 0xa3, 0xbd, 0xaf, 0x29, 0x2b, 0x2c, 0xac, 0xea, 0xa3, 0xb7, 0x57, 0xfd, 0xbe,
- 0x2c, 0xb4, 0xca, 0xa3, 0xea, 0xff, 0xf7, 0x8e, 0x0c, 0xac, 0xca, 0xa3, 0x39, 0x23, 0xea, 0xaa, 0x0b, 0xb4, 0xca, 0xa3, 0xbe, 0xa3, 0xaf, 0xab, 0xad, 0xc4, 0xeb, 0xab, 0xfd, 0x55, 0x55, 0x3d,
- 0x70, 0xd5, 0xea, 0xab, 0xab, 0xeb, 0xd5, 0x54, 0xee, 0xc4, 0x2c, 0xb4, 0x3f, 0x1a, 0xaa, 0xeb, 0xee, 0xc4, 0xeb, 0xa3, 0x7e, 0x5e, 0xef, 0xa2, 0xee, 0xbc, 0xeb, 0xa3, 0x9f, 0xa9, 0xa9, 0xac,
- 0x0f, 0xc5, 0x4c, 0xac, 0x6d, 0xf7, 0x8b, 0x8d, 0xee, 0xc4, 0x2c, 0xac, 0xa5, 0xa3, 0x6a, 0xfb, 0xce, 0xc4, 0x4c, 0xac, 0x72, 0xfb, 0xfb, 0xff, 0x8d, 0xbc, 0x2c, 0xac, 0xd9, 0xfa, 0xd8, 0x03,
- 0xcd, 0xc4, 0x4c, 0xb4, 0xbf, 0x8b, 0x7e, 0x7b, 0xcd, 0xbc, 0x4c, 0xb4, 0xaa, 0x6e, 0x27, 0x2f, 0xcd, 0xc4, 0x2b, 0xb4, 0xaa, 0xe3, 0x8a, 0x1e, 0xad, 0xbc, 0x2c, 0xac, 0x52, 0xa0, 0x8a, 0x08,
- 0xad, 0xbc, 0xeb, 0xab, 0xff, 0xdf, 0xbe, 0x80, 0xad, 0xbc, 0x0b, 0xac, 0xeb, 0x7f, 0xda, 0x37, 0x4c, 0xb4, 0xeb, 0xa3, 0x97, 0xae, 0xba, 0xa0, 0x8c, 0xbc, 0x0b, 0xac, 0xeb, 0xfd, 0xac, 0xad,
- 0xad, 0xc4, 0xeb, 0xab, 0xd6, 0xfa, 0xe8, 0xe2, 0x8c, 0xbc, 0x0b, 0xac, 0xf7, 0xff, 0xfc, 0x5d, 0xac, 0xbc, 0xeb, 0xa3, 0xe2, 0xff, 0xdf, 0xfd, 0x2c, 0xac, 0xca, 0x9b, 0xcf, 0xfc, 0xf6, 0xbe,
- 0x4c, 0xac, 0xaa, 0x9b, 0x7d, 0x5f, 0xab, 0xe2, 0xeb, 0xa3, 0xaa, 0x9b, 0xad, 0x8b, 0xa2, 0xf2, 0x2c, 0xac, 0x8a, 0x9b, 0xfe, 0x7f, 0x3f, 0x3d, 0x2c, 0xac, 0xca, 0xa3, 0xd8, 0x29, 0x8c, 0x2e,
- 0x4c, 0xb4, 0xca, 0xa3, 0x5e, 0xda, 0x2a, 0x8a, 0x2b, 0xb4, 0xaa, 0x9b, 0x7f, 0x5f, 0xe0, 0xa0, 0x0b, 0xac, 0xaa, 0x9b, 0xdd, 0x03, 0xbf, 0xaa, 0x2c, 0xb4, 0xaa, 0x9b, 0xf5, 0xfe, 0x2b, 0xfa,
- 0x0b, 0xac, 0xca, 0xa3, 0xbf, 0x22, 0xf8, 0xae, 0xeb, 0xab, 0xca, 0xa3, 0xf2, 0x22, 0xab, 0xfa, 0x0b, 0xac, 0xca, 0xa3, 0xd7, 0xfe, 0xed, 0xa2, 0x0b, 0xac, 0xaa, 0xa3, 0x2a, 0x6a, 0xab, 0x0a,
- 0x2c, 0xb4, 0xca, 0xa3, 0x7f, 0xb5, 0xe7, 0x3f, 0x0b, 0xac, 0xaa, 0x9b, 0xa9, 0x20, 0xa2, 0x82, 0x0c, 0xac, 0xca, 0xa3, 0xaf, 0x2b, 0xea, 0xf8, 0xec, 0xab, 0xca, 0xa3, 0xfe, 0x88, 0xec, 0xf9,
- 0xeb, 0xab, 0xcb, 0x9b, 0xdf, 0x7a, 0xfa, 0xfa, 0xeb, 0xa3, 0xaa, 0x9b, 0xa8, 0xbe, 0xfb, 0x2a, 0xeb, 0xab, 0xaa, 0x9b, 0xeb, 0xfb, 0xfa, 0xaa, 0xcb, 0xa3, 0xaa, 0x9b, 0x58, 0xb4, 0xfd, 0xe8,
- 0xcb, 0xa3, 0x8a, 0x9b, 0xfa, 0xff, 0x0a, 0x00, 0xea, 0xa3, 0x8a, 0x9b, 0xfd, 0xef, 0x8a, 0xe0, 0xeb, 0xa3, 0xaa, 0x9b, 0x7f, 0x7b, 0xdf, 0x8a, 0x2c, 0xac, 0xaa, 0xa3, 0x5f, 0x55, 0x75, 0x02,
- 0x4c, 0xbc, 0x0b, 0xac, 0xaa, 0xaf, 0xbb, 0xaa, 0x6b, 0xbc, 0x8a, 0xa3, 0x2a, 0x8a, 0x6a, 0x80, 0xac, 0xc4, 0x49, 0x93, 0xa2, 0xad, 0xab, 0xaa, 0x8c, 0xbc, 0xeb, 0xab, 0xff, 0x8d, 0xaf, 0xaa,
- 0x8c, 0xbc, 0xeb, 0xab, 0xeb, 0xa8, 0xea, 0x9e, 0x8d, 0xc4, 0x2c, 0xb4, 0x2d, 0xaf, 0xa9, 0xaf, 0x8c, 0xc4, 0x4b, 0xbc, 0xfb, 0xde, 0xbb, 0x72, 0xcd, 0xc4, 0x2b, 0xb4, 0xbf, 0xf7, 0x2d, 0x3f,
- 0x2e, 0xcd, 0x6d, 0xbc, 0x55, 0x3d, 0xfb, 0x7f, 0x4e, 0xd5, 0x0b, 0xac, 0x7f, 0x78, 0xff, 0xff, 0xce, 0xc4, 0xeb, 0xab, 0xab, 0xa1, 0xfb, 0xaf, 0xee, 0xc4, 0x6c, 0xb4, 0x3c, 0xe7, 0xff, 0xbf,
- 0xcd, 0xc4, 0x4c, 0xb4, 0xae, 0xaf, 0xaf, 0x7c, 0xee, 0xcc, 0x0b, 0xac, 0xea, 0xab, 0xa0, 0xd7, 0xad, 0xc4, 0x6c, 0xbc, 0x83, 0xeb, 0xa5, 0xa9, 0xce, 0xc4, 0x4c, 0xbc, 0xaf, 0x09, 0xbf, 0xbf,
- 0xed, 0xc4, 0x6c, 0xbc, 0xaf, 0xfc, 0x7f, 0xef, 0xce, 0xc4, 0x8c, 0xbc, 0xc2, 0xfc, 0xfb, 0x55, 0x0e, 0xcd, 0x8d, 0xbc, 0xf5, 0xd7, 0x55, 0xcf, 0xce, 0xc4, 0x8d, 0xbc, 0xea, 0xae, 0xce, 0xfb,
- 0xce, 0xc4, 0x8c, 0xbc, 0xfa, 0xba, 0xfa, 0x6a, 0xcd, 0xc4, 0x8d, 0xbc, 0xff, 0xef, 0xfd, 0xe2, 0xad, 0xc4, 0x8c, 0xbc, 0xea, 0xea, 0x6b, 0xbe, 0xcd, 0xc4, 0x8c, 0xbc, 0x5f, 0xfe, 0x6a, 0x69,
- 0xce, 0xc4, 0x8c, 0xbc, 0xad, 0x2a, 0x5f, 0xd5, 0xad, 0xc4, 0x6c, 0xbc, 0x80, 0xa8, 0xef, 0x2a, 0xad, 0xc4, 0x4c, 0xb4, 0x7a, 0x5e, 0xaa, 0x08, 0xad, 0xc4, 0x4c, 0xbc, 0xfd, 0x8a, 0x0a, 0xa8,
- 0xad, 0xc4, 0x6c, 0xbc, 0xad, 0x00, 0xe8, 0x5e, 0xae, 0xc4, 0x4c, 0xbc, 0x20, 0xea, 0x57, 0xbf, 0x8d, 0xbc, 0x4c, 0xb4, 0x00, 0xaa, 0xfb, 0xf0, 0x8d, 0xc4, 0x4c, 0xb4, 0xe8, 0xab, 0x5b, 0xbd,
- 0x8d, 0xc4, 0x4c, 0xb4, 0xfe, 0xee, 0xae, 0xaa, 0x8d, 0xc4, 0x6c, 0xb4, 0x7f, 0xbf, 0xae, 0xfe, 0x8d, 0xbc, 0x4c, 0xbc, 0xdf, 0xaa, 0xbb, 0x82, 0x8d, 0xbc, 0x6c, 0xb4, 0x0a, 0x82, 0xaa, 0x9a,
- 0x8d, 0xbc, 0x6c, 0xbc, 0x95, 0xda, 0x65, 0xba, 0x8d, 0xc4, 0x6c, 0xb4, 0xaa, 0xea, 0xaa, 0xff, 0x8d, 0xc4, 0x4c, 0xb4, 0xfa, 0x8e, 0xea, 0xfa, 0x6d, 0xbc, 0x4c, 0xb4, 0xee, 0xf6, 0xf8, 0x82,
- 0x8d, 0xbc, 0x4c, 0xb4, 0x7e, 0xfb, 0x7a, 0xd2, 0x8d, 0xbc, 0x4c, 0xb4, 0xad, 0x3f, 0xef, 0x0b, 0xad, 0xbc, 0x4c, 0xb4, 0xfd, 0xaf, 0xaf, 0x82, 0xad, 0xc4, 0x6c, 0xb4, 0xff, 0xdf, 0xbf, 0xae,
- 0xcd, 0xc4, 0x6c, 0xbc, 0x7f, 0x57, 0x7f, 0x74, 0x8d, 0xbc, 0x4b, 0xb4, 0xbb, 0x7b, 0xd8, 0xaf, 0x6d, 0xbc, 0x2b, 0xb4, 0x80, 0x0d, 0x02, 0x02, 0x8d, 0xbc, 0x6c, 0xb4, 0xba, 0xaa, 0x76, 0x9d,
- 0xad, 0xc4, 0x4c, 0xb4, 0xbe, 0xea, 0xff, 0xff, 0x8d, 0xc4, 0x4c, 0xbc, 0xaa, 0xaa, 0x9f, 0xae, 0x8c, 0xc4, 0x4d, 0xbc, 0xf6, 0x2b, 0xfc, 0x2a, 0x8d, 0xc4, 0x4b, 0xbc, 0x7f, 0xab, 0xa8, 0xda,
- 0x8d, 0xc4, 0x2a, 0xb4, 0xaa, 0x0a, 0xea, 0xf5, 0x6c, 0xbc, 0x2b, 0xb4, 0x00, 0x00, 0xaa, 0x6b, 0x6d, 0xbc, 0x2b, 0xb4, 0xf0, 0x8a, 0xfa, 0xa9, 0x6c, 0xbc, 0x4c, 0xb4, 0xfd, 0x63, 0xf7, 0x32,
- 0x8d, 0xbc, 0x2b, 0xb4, 0x8b, 0x3d, 0xef, 0xfb, 0xad, 0xbc, 0x4c, 0xb4, 0xef, 0x36, 0xab, 0x2f, 0xad, 0xc4, 0x6c, 0xbc, 0xbf, 0xd8, 0xad, 0xfb, 0xad, 0xbc, 0x4c, 0xb4, 0x2a, 0xae, 0xab, 0x09,
- 0xad, 0xc4, 0x6c, 0xbc, 0xef, 0x7a, 0xd0, 0x50, 0x8d, 0xbc, 0x0b, 0xb4, 0xa8, 0x80, 0x78, 0xfa, 0x6c, 0xbc, 0xcb, 0xab, 0xa0, 0xe0, 0xf7, 0xaa, 0x6c, 0xbc, 0xeb, 0xab, 0x60, 0xd7, 0xff, 0xaa,
- 0x6d, 0xbc, 0xca, 0xab, 0xed, 0xbb, 0xbb, 0x35, 0x4b, 0xb4, 0xea, 0xab, 0xe8, 0x78, 0x5e, 0x5e, 0x2b, 0xb4, 0xca, 0xa3, 0x8e, 0xf7, 0xa5, 0xb8, 0x2c, 0xb4, 0xca, 0xa3, 0xb5, 0xab, 0xa0, 0x88,
- 0x4b, 0xb4, 0xec, 0xab, 0xdf, 0xae, 0x8e, 0x22, 0x2b, 0xb4, 0xa9, 0xa3, 0xf0, 0x80, 0x7c, 0x4c, 0x2b, 0xb4, 0xc6, 0x82, 0xa0, 0xa0, 0xaa, 0x5f, 0x0a, 0xac, 0x09, 0x8b, 0x08, 0xa2, 0xa0, 0xad,
- 0x4c, 0xb4, 0x69, 0x9b, 0x2b, 0x82, 0xff, 0x57, 0x4a, 0xb4, 0x28, 0x8b, 0xa8, 0xdf, 0x56, 0x5f, 0xe9, 0xa3, 0x28, 0x93, 0x80, 0xfe, 0x55, 0x55, 0xaa, 0x9b, 0x28, 0x93, 0x20, 0x29, 0x0f, 0xaf,
- 0xeb, 0xa3, 0x8a, 0x9b, 0x8b, 0xaf, 0x3d, 0xab, 0x0c, 0xac, 0xea, 0xa3, 0x9d, 0x3d, 0xff, 0xab, 0x2c, 0xac, 0xeb, 0xa3, 0xe1, 0xca, 0xab, 0xfb, 0x2c, 0xac, 0xeb, 0xa3, 0xfd, 0x9f, 0xba, 0x2b,
- 0x2c, 0xb4, 0xeb, 0xa3, 0xbb, 0xaf, 0xbf, 0xaa, 0x4c, 0xac, 0xea, 0xa3, 0x5f, 0xff, 0xaf, 0xa3, 0xcd, 0xc4, 0x0b, 0xac, 0xd5, 0x55, 0x7d, 0x1f, 0x4c, 0xb4, 0xeb, 0xab, 0xeb, 0x77, 0xfb, 0xa2,
- 0xad, 0xbc, 0xcb, 0xa3, 0x7d, 0xf3, 0xf0, 0xbf, 0xcd, 0xbc, 0x0b, 0xac, 0xf9, 0x5a, 0xbb, 0x26, 0xce, 0xbc, 0x0b, 0xac, 0xdb, 0xff, 0xfe, 0x08, 0xad, 0xbc, 0xeb, 0xa3, 0x82, 0x29, 0x9f, 0x0a,
- 0xcd, 0xbc, 0x0b, 0xac, 0x7a, 0xa0, 0x88, 0xaa, 0xcd, 0xbc, 0x4b, 0xac, 0xaa, 0x3e, 0xa8, 0x9b, 0xcd, 0xbc, 0x2b, 0xb4, 0x8a, 0xb6, 0xad, 0x90, 0xad, 0xbc, 0x2b, 0xac, 0xa0, 0xe0, 0x90, 0xfa,
- 0xcd, 0xbc, 0x6c, 0xb4, 0xfe, 0xbb, 0xb5, 0x25, 0xad, 0xbc, 0x2b, 0xac, 0xac, 0xe8, 0x60, 0xe0, 0xad, 0xbc, 0xeb, 0xa3, 0xa8, 0xae, 0x07, 0x0f, 0xcd, 0xc4, 0x8c, 0xb4, 0xeb, 0x9d, 0x2d, 0xfb,
- 0xcd, 0xc4, 0x4c, 0xb4, 0x48, 0xfe, 0xfe, 0xea, 0x0f, 0xcd, 0x0c, 0xac, 0xe5, 0xd5, 0xf5, 0x3a, 0xad, 0xbc, 0xeb, 0xab, 0x7b, 0xf2, 0xfa, 0xfa, 0xcd, 0xbc, 0x2b, 0xac, 0xf7, 0x3d, 0x55, 0xff,
- 0xce, 0xc4, 0x4b, 0xb4, 0x57, 0x7d, 0x53, 0xdf, 0x4c, 0xb4, 0xeb, 0xa3, 0x7a, 0xee, 0xea, 0x8a, 0x6d, 0xb4, 0xeb, 0xa3, 0xf7, 0xba, 0x8a, 0xaa, 0x8d, 0xbc, 0xca, 0x9b, 0xdd, 0xff, 0xff, 0xf8,
- 0x4c, 0xac, 0xea, 0xa3, 0x2d, 0x9d, 0xad, 0x9b, 0x6c, 0xb4, 0xcb, 0x9b, 0x7b, 0xaa, 0xbe, 0xac, 0x8c, 0xbc, 0xcb, 0x9b, 0xd5, 0xff, 0x88, 0x8a, 0x2b, 0xac, 0xec, 0xa3, 0xfa, 0xf0, 0x56, 0xfe,
- 0x2c, 0xb4, 0xeb, 0xa3, 0xef, 0xab, 0xe7, 0xff, 0x0b, 0xac, 0xaa, 0xa3, 0x88, 0xa0, 0x7e, 0xaf, 0x0b, 0xac, 0xca, 0xa3, 0xf6, 0xd7, 0xb5, 0x7f, 0xeb, 0xab, 0xab, 0x9b, 0xca, 0xaa, 0xfe, 0xab,
- 0x0c, 0xac, 0xca, 0xa3, 0xfa, 0xaf, 0xf5, 0xab, 0x2c, 0xac, 0xcb, 0xa3, 0xd2, 0xff, 0xad, 0xbe, 0x6c, 0xb4, 0xcb, 0xa3, 0xdd, 0xde, 0xba, 0xe3, 0x0b, 0xac, 0xea, 0xa3, 0xfe, 0x82, 0xa0, 0x80,
- 0x0c, 0xac, 0xea, 0xa3, 0xeb, 0xe8, 0xab, 0x84, 0x0c, 0xb4, 0xca, 0xa3, 0xba, 0xfe, 0xa2, 0xab, 0x2c, 0xac, 0xca, 0xa3, 0xfe, 0xb7, 0xfe, 0xa2, 0x0b, 0xac, 0xea, 0xa3, 0xff, 0xdb, 0x5a, 0xee,
- 0xeb, 0xab, 0xca, 0xa3, 0xf7, 0x6c, 0xd5, 0x6c, 0xeb, 0xab, 0xca, 0xa3, 0x77, 0x5d, 0xf5, 0x6f, 0x0b, 0xac, 0xaa, 0xa3, 0x7e, 0x77, 0xff, 0xa8, 0x6d, 0xb4, 0xaa, 0xa3, 0x55, 0x55, 0xf7, 0x2b,
- 0xae, 0xbc, 0xaa, 0xa3, 0x55, 0x55, 0xad, 0xb2, 0x6d, 0xbc, 0xca, 0xa3, 0xd5, 0xdf, 0xbe, 0xa8, 0xad, 0xbc, 0x0c, 0xac, 0x37, 0x7e, 0xff, 0xff, 0x8d, 0xbc, 0x2c, 0xac, 0x54, 0xf5, 0xd5, 0xab,
- 0x4c, 0xbc, 0x2b, 0xb4, 0x27, 0x27, 0xce, 0x2a, 0x6c, 0xbc, 0x0b, 0xb4, 0x2a, 0xaa, 0xdf, 0xef, 0x4b, 0xbc, 0x05, 0x6a, 0x00, 0x00, 0x00, 0x40, 0xad, 0xc4, 0x87, 0x7a, 0xa8, 0xa8, 0xaf, 0xa9,
- 0x4c, 0xbc, 0x2b, 0xb4, 0xad, 0x79, 0x95, 0xc3, 0x6c, 0xbc, 0x0a, 0xb4, 0x0a, 0xaf, 0xbb, 0xd8, 0x6c, 0xbc, 0x2b, 0xb4, 0xb8, 0x2b, 0xaf, 0xe1, 0x6c, 0xbc, 0xa6, 0x82, 0x00, 0x00, 0x80, 0xb4,
- 0x8c, 0xbc, 0xcb, 0xab, 0x8a, 0xa8, 0x29, 0x7a, 0x8c, 0xc4, 0x0b, 0xb4, 0xea, 0xb8, 0xd7, 0xfd, 0x8d, 0xc4, 0x4b, 0xbc, 0xd5, 0x5e, 0x5f, 0x63, 0xad, 0xc4, 0x2c, 0xb4, 0xbe, 0xd5, 0x85, 0xb7,
- 0x8d, 0xbc, 0x2c, 0xb4, 0xf7, 0x8a, 0x2e, 0xbc, 0xce, 0xc4, 0x4c, 0xb4, 0x85, 0xfd, 0xf5, 0xe5, 0xad, 0xbc, 0x2c, 0xb4, 0x2e, 0xaa, 0xaa, 0xbd, 0x8d, 0xc4, 0x4c, 0xb4, 0x8b, 0xaa, 0x2a, 0xfa,
- 0xad, 0xc4, 0x6c, 0xbc, 0xea, 0xbb, 0x57, 0xd5, 0xad, 0xc4, 0x6c, 0xbc, 0xf7, 0xae, 0x7f, 0xaf, 0xcd, 0xc4, 0x8c, 0xbc, 0xa3, 0xbc, 0x89, 0x7b, 0xce, 0xc4, 0x6c, 0xbc, 0xa0, 0xf8, 0x6b, 0xfd,
- 0xad, 0xc4, 0x6c, 0xbc, 0x22, 0x60, 0xb5, 0xaa, 0xcd, 0xc4, 0x4c, 0xbc, 0xc0, 0xf5, 0xea, 0xaa, 0xad, 0xc4, 0x6c, 0xb4, 0xd5, 0xef, 0x2e, 0xaa, 0xae, 0xc4, 0x8c, 0xbc, 0x5d, 0x8b, 0x9e, 0xcb,
- 0xcd, 0xc4, 0x8c, 0xbc, 0xa9, 0xe9, 0x59, 0xfa, 0xae, 0xc4, 0x8c, 0xbc, 0x2e, 0xf8, 0x2d, 0x7e, 0xcd, 0xc4, 0x6c, 0xbc, 0xe8, 0xbd, 0x5b, 0x55, 0xad, 0xc4, 0x6c, 0xbc, 0xfb, 0xac, 0xff, 0xd7,
- 0x8d, 0xc4, 0x4c, 0xb4, 0xa8, 0xaa, 0xbd, 0xa0, 0xad, 0xc4, 0x4c, 0xb4, 0xaf, 0xff, 0xfa, 0xa2, 0x8d, 0xc4, 0x6c, 0xb4, 0xff, 0xfa, 0xef, 0xee, 0xad, 0xc4, 0x6c, 0xb4, 0xff, 0xfd, 0xff, 0xfb,
- 0xcd, 0xc4, 0x6c, 0xbc, 0x55, 0x55, 0x1f, 0xa3, 0xad, 0xc4, 0x4c, 0xb4, 0xf7, 0xfe, 0xaa, 0x2a, 0x8d, 0xc4, 0x4c, 0xb4, 0xea, 0xaa, 0xfb, 0xaa, 0xad, 0xbc, 0x6c, 0xb4, 0x57, 0xff, 0xfb, 0xeb,
- 0x8d, 0xc4, 0x2b, 0xb4, 0xba, 0xaa, 0x8a, 0x8d, 0x8d, 0xc4, 0x6c, 0xb4, 0xef, 0xfb, 0xaa, 0xaf, 0x8d, 0xc4, 0x6c, 0xb4, 0xfa, 0xab, 0xea, 0xaa, 0xad, 0xc4, 0x4c, 0xbc, 0xff, 0x7a, 0xab, 0x80,
- 0xad, 0xc4, 0x6c, 0xbc, 0xbf, 0x75, 0xae, 0xe8, 0x8d, 0xbc, 0x4c, 0xb4, 0xdc, 0xbf, 0xaa, 0x00, 0x8d, 0xc4, 0x4c, 0xb4, 0x8a, 0xfe, 0xfa, 0x77, 0x8d, 0xc4, 0x6c, 0xb4, 0xfa, 0xff, 0xb9, 0x7f,
- 0x6d, 0xbc, 0xea, 0xa3, 0x80, 0x00, 0x2a, 0x9c, 0x6d, 0xbc, 0x2b, 0xb4, 0x22, 0xbc, 0xce, 0x82, 0xad, 0xbc, 0x2c, 0xb4, 0xee, 0xff, 0xf5, 0x8a, 0x8d, 0xbc, 0x4c, 0xb4, 0x29, 0xee, 0x27, 0x1e,
- 0x8d, 0xc4, 0x6c, 0xb4, 0xfe, 0xaf, 0xaf, 0xcb, 0x8d, 0xc4, 0x4b, 0xbc, 0xee, 0xeb, 0x76, 0x0a, 0x6c, 0xbc, 0xeb, 0xb3, 0xaa, 0x2e, 0xb7, 0xa0, 0x6d, 0xbc, 0x48, 0x9b, 0xa4, 0x08, 0x00, 0x00,
- 0x8c, 0xc4, 0xe8, 0x8a, 0x2a, 0x02, 0xa0, 0xa4, 0x8c, 0xbc, 0x0b, 0xac, 0xfa, 0xb8, 0x75, 0xad, 0x6c, 0xbc, 0x2b, 0xb4, 0xeb, 0xda, 0x9d, 0x82, 0x6c, 0xbc, 0x2b, 0xb4, 0xff, 0xad, 0xfa, 0xaf,
- 0x8d, 0xbc, 0x2c, 0xb4, 0xbb, 0xaa, 0xad, 0x2e, 0xad, 0xbc, 0x2b, 0xb4, 0x0f, 0xa7, 0x2a, 0xfa, 0xad, 0xc4, 0xca, 0xab, 0xa0, 0xa0, 0xb6, 0x2a, 0x4f, 0xd5, 0x0b, 0xb4, 0xe3, 0x57, 0xff, 0xdd,
- 0x6c, 0xbc, 0xca, 0xa3, 0xb6, 0xaa, 0xa8, 0xaa, 0x6c, 0xbc, 0x0b, 0xb4, 0xda, 0xee, 0xad, 0xa8, 0x6c, 0xbc, 0xea, 0xab, 0x8a, 0xed, 0xbe, 0xfa, 0x4c, 0xb4, 0xaa, 0xa3, 0xa8, 0xaa, 0x8a, 0x5a,
- 0x2b, 0xb4, 0xaa, 0xa3, 0xea, 0x00, 0xe8, 0xe5, 0x2b, 0xb4, 0x8a, 0xa3, 0xaa, 0xe0, 0x5f, 0xab, 0x0b, 0xb4, 0xea, 0xa3, 0xaa, 0xdf, 0xfb, 0xef, 0x4c, 0xbc, 0xca, 0xa3, 0xe2, 0x76, 0xfb, 0x7e,
- 0xea, 0xab, 0x49, 0x93, 0x78, 0xbe, 0xa8, 0x80, 0x0a, 0xac, 0xc7, 0x82, 0x55, 0xaa, 0x80, 0xc0, 0x0b, 0xac, 0x24, 0x72, 0xab, 0x2a, 0x00, 0x7f, 0xc9, 0xa3, 0x04, 0x6a, 0x00, 0x00, 0xfc, 0xf5,
- 0x0a, 0xac, 0x62, 0x59, 0xaa, 0x02, 0x57, 0xff, 0x88, 0x9b, 0xe4, 0x61, 0x20, 0xa0, 0xd7, 0xf7, 0xca, 0x9b, 0x63, 0x59, 0x80, 0x57, 0xbf, 0xab, 0xaa, 0x9b, 0x46, 0x72, 0x2a, 0x29, 0x02, 0x0a,
- 0xeb, 0xa3, 0x89, 0x9b, 0xad, 0xad, 0x0a, 0xaa, 0x4b, 0xac, 0xca, 0xa3, 0x3d, 0xf5, 0x75, 0xf5, 0x2b, 0xac, 0xca, 0xa3, 0xe6, 0xad, 0xf7, 0xaf, 0x0b, 0xac, 0xca, 0xa3, 0x2a, 0x2a, 0xef, 0xf7,
- 0x0b, 0xac, 0xca, 0xa3, 0x80, 0xb8, 0xb7, 0xe7, 0x4b, 0xb4, 0xea, 0xa3, 0xed, 0xcf, 0x57, 0x55, 0x2b, 0xac, 0xca, 0xa3, 0x00, 0x9e, 0xd7, 0xaf, 0x0e, 0xc5, 0xeb, 0xab, 0x7f, 0x73, 0x55, 0xd7,
- 0x6d, 0xbc, 0xeb, 0xab, 0x7d, 0xf1, 0x3b, 0xda, 0xad, 0xbc, 0xea, 0xa3, 0x2e, 0x8d, 0x5d, 0x5f, 0xad, 0xbc, 0xea, 0xa3, 0xe0, 0xba, 0x2d, 0x29, 0xad, 0xbc, 0xea, 0xa3, 0x6a, 0x8a, 0xb8, 0xfa,
- 0xad, 0xbc, 0x0b, 0xac, 0xa9, 0x82, 0xa2, 0x8b, 0xad, 0xbc, 0x0b, 0xac, 0x01, 0x0a, 0xfa, 0xee, 0xcd, 0xbc, 0xeb, 0xa3, 0xa6, 0xa0, 0x88, 0xaa, 0xad, 0xbc, 0x6c, 0xb4, 0x46, 0xbe, 0xa3, 0x3f,
- 0xcd, 0xbc, 0x0b, 0xac, 0xfa, 0x72, 0x70, 0x8a, 0x8c, 0xbc, 0x0b, 0xac, 0xa9, 0xa9, 0x29, 0x88, 0xad, 0xc4, 0xeb, 0xa3, 0xb7, 0xd5, 0xf8, 0x8b, 0xcd, 0xc4, 0x2b, 0xac, 0xaa, 0xa7, 0x7a, 0xf3,
- 0xed, 0xc4, 0x4c, 0xb4, 0x6b, 0xe2, 0xb5, 0x8d, 0xed, 0xc4, 0x2c, 0xac, 0x9e, 0x5f, 0xfa, 0xca, 0x8c, 0xbc, 0x0b, 0xac, 0xa0, 0x8b, 0x8a, 0x6a, 0xad, 0xbc, 0x2b, 0xac, 0x5f, 0x7f, 0xfc, 0xab,
- 0xce, 0xc4, 0x4c, 0xb4, 0xfd, 0xdf, 0x95, 0xd0, 0xcd, 0xc4, 0xcb, 0xa3, 0xfe, 0xdf, 0xfa, 0xb8, 0xce, 0xbc, 0xeb, 0xab, 0xe3, 0xab, 0x7a, 0xee, 0x6d, 0xb4, 0x0b, 0xa4, 0x5c, 0xdf, 0xcf, 0xaf,
- 0x6d, 0xb4, 0x0b, 0xa4, 0x9e, 0x9b, 0xbb, 0x28, 0xad, 0xbc, 0x2c, 0xac, 0x3b, 0x9a, 0x8a, 0xea, 0x8d, 0xbc, 0xeb, 0xab, 0x88, 0x08, 0xa6, 0xeb, 0x4c, 0xb4, 0x0b, 0xac, 0x5e, 0xd6, 0xd8, 0x52,
- 0x2c, 0xb4, 0xea, 0xab, 0x7c, 0xe8, 0xee, 0xab, 0x0c, 0xb4, 0xea, 0xa3, 0xbf, 0xff, 0xab, 0xab, 0x0c, 0xb4, 0xcb, 0xa3, 0xf3, 0xf7, 0xa8, 0x8a, 0x2c, 0xb4, 0xeb, 0xa3, 0xbf, 0xfb, 0xff, 0xae,
- 0x2b, 0xb4, 0xca, 0xa3, 0xab, 0xef, 0xfa, 0xb2, 0x2c, 0xb4, 0xea, 0xa3, 0xff, 0xff, 0x5d, 0xfa, 0x0c, 0xb4, 0xca, 0xa3, 0xae, 0xfa, 0xa7, 0xfa, 0x2c, 0xac, 0xca, 0xa3, 0xaf, 0xaf, 0x7a, 0xe2,
- 0x2c, 0xb4, 0xea, 0xab, 0xab, 0xaf, 0x7f, 0xfe, 0x4c, 0xb4, 0xeb, 0xab, 0x7d, 0x8b, 0xef, 0xdf, 0x4c, 0xb4, 0xeb, 0xab, 0xdf, 0xbf, 0x2a, 0xf8, 0x4c, 0xb4, 0xcb, 0xab, 0xfe, 0x9a, 0xaa, 0xa0,
- 0x4c, 0xb4, 0xeb, 0xab, 0x5d, 0xff, 0xa9, 0x40, 0x6d, 0xb4, 0xeb, 0xab, 0x57, 0x77, 0xeb, 0x89, 0x4c, 0xb4, 0x0b, 0xac, 0x37, 0x2d, 0xa3, 0x80, 0xce, 0xc4, 0xeb, 0xab, 0xff, 0x97, 0x05, 0xab,
- 0xce, 0xc4, 0x0b, 0xac, 0x8d, 0xba, 0xfe, 0xff, 0x6c, 0xb4, 0xeb, 0xab, 0xa0, 0xa2, 0x0a, 0xa5, 0x6d, 0xbc, 0x2c, 0xac, 0xab, 0xaa, 0x0a, 0xa9, 0x8e, 0xbc, 0x6c, 0xb4, 0x05, 0x83, 0x20, 0x80,
- 0x4c, 0xbc, 0x2b, 0xb4, 0xbb, 0xaf, 0x2f, 0xda, 0x4c, 0xbc, 0x0b, 0xb4, 0x23, 0x80, 0x60, 0x00, 0x6b, 0xbc, 0xec, 0xab, 0x7a, 0xaa, 0xaa, 0xa2, 0x4c, 0xbc, 0xca, 0xab, 0x0b, 0xa8, 0xd0, 0x80,
- 0x6c, 0xbc, 0xea, 0xb3, 0x6a, 0xf0, 0xdf, 0xfa, 0x4c, 0xbc, 0xa7, 0x82, 0xad, 0x02, 0x02, 0x00, 0x4b, 0xbc, 0x03, 0x51, 0x80, 0x70, 0xbc, 0x00, 0x2c, 0xb4, 0x26, 0x72, 0x2d, 0x0b, 0x00, 0x00,
- 0x8b, 0xc4, 0xcc, 0xa3, 0xaa, 0x2b, 0x2f, 0x6a, 0xcc, 0xcc, 0x64, 0x51, 0x80, 0xd8, 0xb6, 0xab, 0x4c, 0xbc, 0xca, 0xa3, 0x2d, 0xff, 0x2b, 0x02, 0xad, 0xbc, 0x0b, 0xac, 0x0f, 0x89, 0xaf, 0xae,
- 0x8c, 0xc4, 0x0b, 0xb4, 0x00, 0x00, 0x7a, 0xff, 0xce, 0xc4, 0x0b, 0xac, 0xea, 0xcf, 0xfd, 0xff, 0x8d, 0xbc, 0x2b, 0xb4, 0x27, 0xa8, 0x5f, 0xdd, 0x6d, 0xbc, 0x4b, 0xb4, 0x28, 0xef, 0xb5, 0x7d,
- 0x8d, 0xbc, 0x2b, 0xb4, 0xaa, 0xba, 0xab, 0x05, 0x8d, 0xbc, 0x4c, 0xb4, 0x2f, 0xa8, 0xa0, 0x98, 0xad, 0xc4, 0x6c, 0xb4, 0xbf, 0xbf, 0xab, 0xaa, 0xac, 0xc4, 0x6d, 0xbc, 0x8b, 0x0b, 0xbe, 0xe2,
- 0xad, 0xc4, 0x8c, 0xbc, 0xaf, 0xae, 0xbf, 0x8f, 0xad, 0xc4, 0x8c, 0xbc, 0xaf, 0xab, 0x8b, 0x65, 0xcd, 0xc4, 0x4c, 0xbc, 0xaa, 0xa0, 0xff, 0xf5, 0xad, 0xc4, 0x2c, 0xb4, 0xa0, 0xb6, 0xaa, 0xaa,
- 0x8d, 0xc4, 0x2c, 0xb4, 0x27, 0x82, 0x82, 0xaa, 0xad, 0xc4, 0x6c, 0xbc, 0xdf, 0xcf, 0xf5, 0xd5, 0xad, 0xc4, 0x4c, 0xbc, 0xa2, 0xca, 0xdf, 0xfd, 0xcd, 0xc4, 0x4c, 0xbc, 0x2f, 0x7d, 0x55, 0x55,
- 0xee, 0xcc, 0x4c, 0xb4, 0x3e, 0xdd, 0x55, 0xd5, 0xad, 0xc4, 0x4c, 0xb4, 0xa8, 0xb5, 0xff, 0xff, 0x8c, 0xc4, 0x4c, 0xb4, 0xa8, 0x8e, 0xff, 0xba, 0x8d, 0xc4, 0x4b, 0xb4, 0xeb, 0xef, 0xae, 0xff,
- 0x8d, 0xc4, 0x6c, 0xbc, 0xd5, 0x55, 0x63, 0xd5, 0xad, 0xc4, 0x6c, 0xbc, 0xd7, 0x5d, 0x5f, 0x8a, 0x8d, 0xc4, 0x6c, 0xb4, 0xaa, 0xbf, 0xff, 0xbf, 0xad, 0xc4, 0x0b, 0xb4, 0x6a, 0xfe, 0xff, 0x8a,
- 0x8c, 0xbc, 0x2b, 0xb4, 0xd5, 0xaf, 0x2b, 0xea, 0xcd, 0xc4, 0x2c, 0xb4, 0xad, 0x2b, 0xfe, 0xff, 0xed, 0xc4, 0x4c, 0xbc, 0xff, 0xe2, 0x5d, 0xfd, 0xad, 0xc4, 0x4c, 0xb4, 0x82, 0xfb, 0xeb, 0x7e,
- 0x8d, 0xbc, 0x2c, 0xb4, 0xa0, 0x2a, 0xd8, 0xba, 0x8c, 0xbc, 0x0b, 0xb4, 0xdc, 0xa2, 0xfe, 0xa8, 0x8d, 0xbc, 0x4c, 0xb4, 0xbb, 0x83, 0xfd, 0xa8, 0x6d, 0xbc, 0x4c, 0xb4, 0x7a, 0x97, 0x2a, 0x20,
- 0x8d, 0xbc, 0x4c, 0xb4, 0xbf, 0xbe, 0x8a, 0xcf, 0x8c, 0xbc, 0x6d, 0xb4, 0xed, 0xae, 0xae, 0xe2, 0x8d, 0xbc, 0x4b, 0xb4, 0x63, 0x60, 0xb0, 0xea, 0x8d, 0xc4, 0x6c, 0xb4, 0xae, 0xbe, 0xaf, 0xab,
- 0x8d, 0xbc, 0x2b, 0xb4, 0xf6, 0x08, 0x00, 0x22, 0x8d, 0xc4, 0x4c, 0xb4, 0x6a, 0x82, 0xaa, 0xaa, 0xad, 0xc4, 0x2b, 0xb4, 0xfd, 0xf2, 0xaa, 0xaa, 0x8d, 0xc4, 0x4c, 0xbc, 0xdf, 0xbb, 0xbb, 0xaf,
- 0x8c, 0xbc, 0xab, 0xab, 0xaa, 0xad, 0xa8, 0xa8, 0x6c, 0xbc, 0x0b, 0xb4, 0xaf, 0xe8, 0xff, 0xb7, 0x8c, 0xbc, 0x2b, 0xb4, 0xdf, 0xad, 0xf5, 0xb3, 0x6c, 0xbc, 0x0b, 0xac, 0xaa, 0x26, 0x88, 0xee,
- 0x6c, 0xbc, 0x2b, 0xb4, 0x2f, 0xaa, 0xf5, 0xab, 0x6c, 0xbc, 0x0b, 0xb4, 0xa8, 0xff, 0x78, 0xfa, 0x6c, 0xb4, 0x0a, 0xac, 0x72, 0xfe, 0xae, 0xed, 0x6b, 0xbc, 0x69, 0x9b, 0xaa, 0x82, 0x78, 0xaa,
- 0x4b, 0xbc, 0x89, 0x9b, 0x00, 0x60, 0xbd, 0xe8, 0x2b, 0xb4, 0x25, 0x93, 0x00, 0x02, 0x82, 0x7b, 0x4b, 0xb4, 0x66, 0x7a, 0x00, 0x00, 0x00, 0xd7, 0x2a, 0xb4, 0xc8, 0x82, 0x80, 0x20, 0x00, 0xf5,
- 0xea, 0xab, 0x08, 0x8b, 0x00, 0x00, 0xaa, 0x55, 0x6b, 0xb4, 0x65, 0x7a, 0xaa, 0x0a, 0x5f, 0x7f, 0x8a, 0xbc, 0x66, 0x72, 0xaa, 0xa0, 0x75, 0xf7, 0x29, 0xac, 0x47, 0x72, 0x00, 0x5f, 0xf5, 0xff,
- 0xa9, 0xa3, 0x47, 0x6a, 0xe8, 0xbd, 0xaa, 0xaa, 0x49, 0x93, 0x45, 0x72, 0x55, 0xaa, 0x22, 0xa2, 0x27, 0x8b, 0x46, 0x7a, 0xf5, 0x82, 0xa8, 0xaa, 0xe7, 0x82, 0xe3, 0x61, 0x7a, 0xf8, 0xac, 0x08,
- 0x29, 0x8b, 0xc4, 0x61, 0x55, 0xff, 0xaa, 0x2a, 0x69, 0x9b, 0xe5, 0x61, 0xbd, 0xab, 0x0a, 0x0a, 0xaa, 0x9b, 0xe8, 0x82, 0xb5, 0xaf, 0x2a, 0x0a, 0x4c, 0xac, 0x69, 0x9b, 0xf5, 0xf5, 0x2f, 0xaf,
- 0xeb, 0xab, 0xaa, 0x9b, 0xa9, 0x5f, 0xbc, 0xf8, 0xeb, 0xab, 0xaa, 0x9b, 0x2e, 0xab, 0xeb, 0xea, 0xeb, 0xab, 0xaa, 0x9b, 0xe2, 0xbe, 0xab, 0xfa, 0xeb, 0xab, 0xaa, 0x9b, 0xbf, 0xae, 0xff, 0xaf,
- 0xeb, 0xab, 0xaa, 0x9b, 0x28, 0xbb, 0xe7, 0xff, 0xeb, 0xab, 0xaa, 0x9b, 0xaa, 0xaa, 0x9e, 0xab, 0xce, 0xc4, 0xca, 0xa3, 0x3d, 0x27, 0xd5, 0x55, 0xad, 0xbc, 0xcb, 0xa3, 0x2e, 0xf6, 0xa7, 0x2b,
- 0x70, 0xd5, 0xeb, 0xa3, 0x57, 0x75, 0xd5, 0x7c, 0x4c, 0xb4, 0xaa, 0x9b, 0x7e, 0xaa, 0x28, 0xef, 0xee, 0xc4, 0x0b, 0xac, 0xfd, 0xbd, 0xff, 0xcd, 0xad, 0xbc, 0xeb, 0xa3, 0xf8, 0xa8, 0x96, 0xa1,
- 0xac, 0xbc, 0x0b, 0xac, 0xfd, 0x25, 0x2f, 0xee, 0xad, 0xbc, 0x0b, 0xac, 0xf8, 0xe2, 0x7e, 0x1e, 0xed, 0xbc, 0xeb, 0xab, 0x2e, 0xa5, 0xae, 0xae, 0xed, 0xbc, 0x0b, 0xac, 0x0a, 0x7a, 0x7e, 0x7d,
- 0x8c, 0xbc, 0x0b, 0xac, 0x03, 0xbf, 0xd5, 0xbb, 0x8c, 0xbc, 0xeb, 0x9b, 0xf8, 0xfa, 0x57, 0xff, 0x8c, 0xb4, 0xeb, 0xa3, 0xcb, 0xbf, 0x3f, 0xd5, 0x6c, 0xb4, 0x0a, 0xa4, 0x89, 0x0f, 0xb8, 0x7f,
- 0x6c, 0xb4, 0x0b, 0xac, 0xf8, 0xff, 0xdb, 0xfb, 0xad, 0xbc, 0x0b, 0xb4, 0xfd, 0x3a, 0xff, 0xea, 0xad, 0xbc, 0x0b, 0xac, 0x2a, 0xaf, 0xdd, 0x55, 0xad, 0xbc, 0x2b, 0xac, 0xab, 0x62, 0x8a, 0xdf,
- 0xad, 0xc4, 0x0b, 0xac, 0xe0, 0xb5, 0xbf, 0xd7, 0xce, 0xbc, 0x4c, 0xb4, 0x55, 0xdf, 0x96, 0xa8, 0xcd, 0xc4, 0x0b, 0xac, 0x7b, 0x3d, 0xef, 0xeb, 0xad, 0xbc, 0x2c, 0xac, 0xf7, 0x2f, 0x2d, 0x02,
- 0xcd, 0xc4, 0x4c, 0xb4, 0xf5, 0xff, 0xf0, 0x68, 0xcd, 0xc4, 0x4b, 0xb4, 0xde, 0xaa, 0xfc, 0x5d, 0x8c, 0xbc, 0x0b, 0xac, 0xfb, 0xe8, 0xf8, 0x5f, 0x2b, 0xb4, 0xeb, 0xab, 0xb6, 0xf2, 0xff, 0x57,
- 0x0b, 0xb4, 0xeb, 0xa3, 0xaa, 0xba, 0xfe, 0xbb, 0x4c, 0xb4, 0xca, 0xa3, 0xbe, 0xba, 0xa8, 0x77, 0x2b, 0xb4, 0xca, 0xa3, 0x82, 0xab, 0xb7, 0xa1, 0x4c, 0xb4, 0xca, 0xa3, 0xa2, 0x22, 0x77, 0xba,
- 0x2c, 0xb4, 0xaa, 0xa3, 0xae, 0xaf, 0x29, 0x22, 0x2c, 0xb4, 0xeb, 0xa3, 0x8a, 0xae, 0x58, 0x08, 0x4c, 0xb4, 0xaa, 0xa3, 0xfa, 0xde, 0xfe, 0x82, 0x4c, 0xb4, 0xeb, 0xab, 0xff, 0xfd, 0xfd, 0x8b,
- 0x4c, 0xb4, 0xca, 0xa3, 0xaa, 0xb7, 0x8a, 0xcb, 0x4c, 0xb4, 0xcb, 0xa3, 0xaa, 0x80, 0xab, 0xf6, 0x6d, 0xb4, 0xca, 0xa3, 0xaa, 0x82, 0xde, 0xa9, 0x4b, 0xb4, 0x0c, 0xac, 0x0a, 0xfb, 0x2d, 0x8f,
- 0x4c, 0xb4, 0xeb, 0xab, 0x1a, 0xa0, 0xba, 0x89, 0x6d, 0xb4, 0x0b, 0xac, 0x0a, 0x2f, 0xaa, 0x95, 0x6d, 0xb4, 0x87, 0x9b, 0x00, 0x00, 0xa0, 0x78, 0x6c, 0xb4, 0x44, 0x7a, 0x00, 0x80, 0xaa, 0x5e,
- 0x8a, 0xb4, 0x46, 0x7a, 0xa0, 0xa5, 0x57, 0xd5, 0x6c, 0xb4, 0xc6, 0x7a, 0x22, 0x25, 0x29, 0x2f, 0x6c, 0xbc, 0xeb, 0xab, 0xaa, 0xbd, 0xfe, 0x25, 0x8d, 0xbc, 0xeb, 0xab, 0xae, 0xea, 0xed, 0xe8,
- 0x6c, 0xbc, 0x0b, 0xb4, 0xaa, 0xaa, 0xfd, 0x37, 0x4c, 0xbc, 0x2b, 0xb4, 0xba, 0xb6, 0xcc, 0xb0, 0x4c, 0xbc, 0xeb, 0xb3, 0xb6, 0xa2, 0xea, 0xea, 0x4c, 0xbc, 0x0b, 0xb4, 0xe2, 0xbb, 0x6a, 0xea,
- 0x6c, 0xbc, 0x0b, 0xb4, 0x5f, 0xd7, 0x3d, 0xab, 0x6c, 0xbc, 0x0b, 0xb4, 0x3f, 0xb2, 0xf6, 0xbf, 0x4c, 0xbc, 0x0b, 0xb4, 0x5e, 0xb0, 0xa3, 0x82, 0x4c, 0xbc, 0x2b, 0xb4, 0xdd, 0xe1, 0xfa, 0x7f,
- 0x4c, 0xbc, 0x0b, 0xb4, 0xe8, 0xfa, 0xbb, 0xea, 0x4b, 0xbc, 0x0c, 0xb4, 0xf7, 0xef, 0xff, 0x2f, 0x4c, 0xbc, 0x2b, 0xb4, 0xcb, 0xbf, 0x2d, 0x03, 0x8b, 0xc4, 0x44, 0x51, 0x00, 0xa0, 0x78, 0xfc,
- 0x6b, 0xbc, 0xa9, 0x7a, 0x28, 0xaa, 0x09, 0x02, 0x4c, 0xbc, 0x09, 0xac, 0x80, 0x8a, 0xf0, 0x74, 0x8c, 0xbc, 0xca, 0xa3, 0xbf, 0x2d, 0xae, 0xb5, 0x6c, 0xbc, 0x0b, 0xac, 0xfe, 0x37, 0x0a, 0x00,
- 0x8d, 0xbc, 0x4b, 0xb4, 0xa5, 0xbb, 0x8b, 0xef, 0x8d, 0xbc, 0x2c, 0xb4, 0x88, 0xa0, 0xa2, 0x7a, 0x8d, 0xc4, 0x6c, 0xbc, 0x61, 0x55, 0x6b, 0x7d, 0x8d, 0xc4, 0x6c, 0xbc, 0x0b, 0xeb, 0xef, 0x27,
- 0xad, 0xc4, 0x6c, 0xbc, 0xde, 0xce, 0xdd, 0x7e, 0x8d, 0xc4, 0x6c, 0xbc, 0xd8, 0x8f, 0xf7, 0xad, 0xad, 0xc4, 0x6c, 0xbc, 0x7a, 0x7e, 0xff, 0x7a, 0x8d, 0xc4, 0x4c, 0xbc, 0xbe, 0xfb, 0xfe, 0xf6,
- 0xad, 0xc4, 0x4c, 0xb4, 0xea, 0xbf, 0xf5, 0xbf, 0x8d, 0xc4, 0x4b, 0xb4, 0xfa, 0xfa, 0xbf, 0xea, 0x8d, 0xc4, 0x4b, 0xb4, 0x7f, 0xfe, 0xee, 0xaa, 0x8d, 0xbc, 0x4b, 0xb4, 0x37, 0xbe, 0xf7, 0x2f,
- 0x8d, 0xc4, 0x4c, 0xb4, 0xbb, 0xaf, 0xab, 0xab, 0xcd, 0xc4, 0x6c, 0xbc, 0xd5, 0x7d, 0x75, 0x8b, 0xed, 0xc4, 0x4c, 0xbc, 0x5b, 0x7f, 0xff, 0xb8, 0xad, 0xc4, 0x4c, 0xb4, 0xfd, 0xff, 0xf7, 0xfc,
- 0x8d, 0xc4, 0x4b, 0xb4, 0xf7, 0xfe, 0x6b, 0x9e, 0xee, 0xcc, 0x4c, 0xbc, 0x3d, 0xfd, 0xf5, 0x55, 0xad, 0xc4, 0x4b, 0xbc, 0x2c, 0x5e, 0x7f, 0xf5, 0x6c, 0xbc, 0x0b, 0xb4, 0xb4, 0x80, 0xe2, 0xaa,
- 0x8d, 0xbc, 0x2b, 0xb4, 0xde, 0xaf, 0xff, 0xa3, 0x8d, 0xbc, 0x2b, 0xb4, 0x9a, 0xaa, 0xac, 0x8c, 0x8d, 0xc4, 0x4c, 0xb4, 0xff, 0xbf, 0xc2, 0xff, 0x8d, 0xbc, 0x4b, 0xb4, 0xa9, 0xea, 0x7f, 0xee,
- 0x8d, 0xc4, 0x4c, 0xb4, 0xef, 0xa3, 0xbb, 0xaa, 0xcd, 0xc4, 0x4c, 0xb4, 0xff, 0xf8, 0x5f, 0x7f, 0x8d, 0xc4, 0x4c, 0xbc, 0xff, 0x8f, 0xfd, 0xea, 0x8d, 0xbc, 0x2c, 0xb4, 0xa2, 0x07, 0xbb, 0x08,
- 0x8d, 0xbc, 0x4c, 0xb4, 0xaa, 0xf6, 0xff, 0xa0, 0x8d, 0xc4, 0x4b, 0xb4, 0xaa, 0xa3, 0xab, 0xff, 0x8d, 0xbc, 0x4b, 0xb4, 0x28, 0x28, 0x6a, 0xff, 0x8c, 0xbc, 0x2b, 0xb4, 0x0a, 0x20, 0xe9, 0x98,
- 0x8d, 0xbc, 0x4b, 0xb4, 0x22, 0xbc, 0xff, 0x57, 0x8c, 0xbc, 0x4b, 0xb4, 0xe8, 0x3f, 0xab, 0x6a, 0x8c, 0xbc, 0x2b, 0xb4, 0xea, 0x2a, 0x7a, 0xfd, 0x8c, 0xbc, 0x2b, 0xb4, 0xea, 0xf7, 0x29, 0x7f,
- 0x8c, 0xbc, 0x0b, 0xac, 0xff, 0x8a, 0xd6, 0xff, 0x8c, 0xbc, 0xcb, 0xab, 0xaa, 0xb7, 0xef, 0x2a, 0x4c, 0xb4, 0x0a, 0xac, 0xd4, 0x3a, 0x8f, 0xeb, 0x6d, 0xbc, 0x0b, 0xb4, 0x2f, 0x6b, 0x7f, 0x7d,
- 0x4b, 0xbc, 0x6a, 0x9b, 0x80, 0xd7, 0xaa, 0xaa, 0x0a, 0xb4, 0x6a, 0x9b, 0x82, 0x55, 0xaa, 0xa2, 0x2a, 0xac, 0x49, 0x9b, 0x7e, 0xff, 0xaa, 0x0a, 0x09, 0xa4, 0xa7, 0x8a, 0x7f, 0xaa, 0xaa, 0xa8,
- 0x89, 0x9b, 0xa6, 0x82, 0xf5, 0x28, 0x20, 0xa8, 0xca, 0xa3, 0x07, 0x8b, 0xfd, 0x0a, 0xaa, 0x5d, 0xc9, 0xa3, 0xc7, 0x82, 0xeb, 0xa0, 0xaa, 0xde, 0xea, 0xa3, 0xe5, 0x71, 0xaa, 0xa0, 0x00, 0x5e,
- 0xa9, 0x9b, 0x45, 0x7a, 0xaa, 0x00, 0x00, 0x9f, 0xa9, 0xa3, 0xc7, 0x82, 0xbf, 0xa2, 0x08, 0x57, 0xea, 0xa3, 0xc7, 0x8a, 0xff, 0xaa, 0x20, 0xdd, 0xca, 0xa3, 0xc7, 0x82, 0xaa, 0xaa, 0x20, 0xd7,
- 0x8a, 0x9b, 0xc5, 0x82, 0xa0, 0xa8, 0x08, 0xf7, 0x69, 0x93, 0x02, 0x6a, 0xa0, 0x00, 0x80, 0x7a, 0x28, 0x8b, 0x23, 0x49, 0x00, 0x80, 0xf0, 0xb7, 0xab, 0xa3, 0xc8, 0x82, 0x75, 0xfd, 0xbd, 0x2b,
- 0x4c, 0xac, 0x66, 0x7a, 0xff, 0xaa, 0xae, 0x4a, 0xcb, 0xa3, 0xe7, 0x82, 0xef, 0x0a, 0x00, 0x01, 0xeb, 0xa3, 0x8a, 0x9b, 0xa5, 0xab, 0x2a, 0x0b, 0xce, 0xbc, 0xaa, 0x9b, 0xe5, 0x37, 0x57, 0xf5,
- 0x0b, 0xa4, 0xaa, 0x9b, 0xeb, 0x26, 0x8a, 0xa0, 0xeb, 0xab, 0xca, 0x9b, 0xfa, 0xfa, 0xaa, 0xe2, 0x0c, 0xac, 0xca, 0xa3, 0xd5, 0xd5, 0xf7, 0x3d, 0x0b, 0xac, 0xaa, 0xa3, 0x6f, 0x5a, 0x6a, 0xa8,
- 0xcb, 0xa3, 0x8a, 0x9b, 0x00, 0x80, 0x07, 0x02, 0x2b, 0xac, 0xca, 0xa3, 0x5d, 0xb3, 0xe5, 0xd7, 0xef, 0xc4, 0xca, 0xa3, 0x55, 0x57, 0x55, 0xcd, 0x2b, 0xb4, 0xca, 0xa3, 0x3d, 0x97, 0x2f, 0xe8,
- 0x4c, 0xb4, 0xca, 0xa3, 0xaa, 0x4a, 0xaa, 0xaf, 0x2b, 0xac, 0xca, 0xa3, 0x3c, 0xde, 0x6b, 0x5e, 0x8d, 0xbc, 0xeb, 0xa3, 0x0a, 0x8b, 0xa3, 0xf5, 0xae, 0xb4, 0xeb, 0xab, 0x7b, 0xab, 0x02, 0x20,
- 0xad, 0xbc, 0xeb, 0xa3, 0x8a, 0x2e, 0x7f, 0xab, 0xce, 0xc4, 0x2c, 0xac, 0x5d, 0xf4, 0x5d, 0xfe, 0x8d, 0xbc, 0x0b, 0xac, 0x8b, 0xfe, 0x7d, 0xff, 0xcd, 0xc4, 0xca, 0xa3, 0xde, 0xf5, 0xff, 0x89,
- 0x8c, 0xbc, 0xeb, 0xa3, 0xe8, 0x59, 0x7e, 0x5f, 0x6c, 0xac, 0xaa, 0x9b, 0x3f, 0xeb, 0xeb, 0xe7, 0x2b, 0xac, 0xaa, 0xa3, 0x2c, 0x9e, 0xeb, 0x7a, 0x0b, 0xac, 0xaa, 0xa3, 0x28, 0xea, 0xa9, 0xab,
- 0x4b, 0xb4, 0xca, 0xa3, 0x09, 0xed, 0x7f, 0xfd, 0x2b, 0xac, 0x8a, 0x9b, 0x80, 0xa8, 0xa7, 0x8a, 0x4c, 0xb4, 0x89, 0x9b, 0xfa, 0xfe, 0xfc, 0x7f, 0x8d, 0xb4, 0xaa, 0x9b, 0xe7, 0x43, 0xa3, 0xa7,
- 0xcd, 0xc4, 0x0b, 0xac, 0x3d, 0xbd, 0xf5, 0xff, 0xad, 0xbc, 0xea, 0xab, 0xe0, 0xa0, 0xf8, 0x7f, 0xac, 0xbc, 0xeb, 0xa3, 0x22, 0x8a, 0xf7, 0x55, 0xac, 0xbc, 0xeb, 0xa3, 0xa0, 0x75, 0xd5, 0xf5,
- 0x6c, 0xbc, 0xeb, 0xab, 0x80, 0x2d, 0xff, 0x55, 0x4c, 0xb4, 0xca, 0xab, 0xf8, 0x8a, 0xdf, 0xfe, 0x2c, 0xb4, 0xea, 0xab, 0xbf, 0xe8, 0xd6, 0xd5, 0x2b, 0xb4, 0xca, 0xa3, 0xa0, 0xef, 0xbb, 0xaf,
- 0x2c, 0xb4, 0xca, 0xa3, 0xe2, 0xff, 0x5e, 0xff, 0x0b, 0xac, 0x69, 0x9b, 0x00, 0x00, 0x9e, 0x26, 0x2b, 0xb4, 0xaa, 0xab, 0x03, 0xbd, 0xff, 0xaa, 0x2c, 0xb4, 0xea, 0xab, 0xad, 0xbd, 0x5f, 0xba,
- 0x2c, 0xb4, 0xcb, 0xab, 0x02, 0xc2, 0x6b, 0xae, 0x4c, 0xb4, 0xaa, 0xa3, 0x82, 0xa9, 0x7e, 0x3d, 0x2c, 0xb4, 0xaa, 0xa3, 0x08, 0xad, 0x0f, 0xaa, 0x4c, 0xb4, 0xeb, 0xab, 0xe2, 0xfa, 0x76, 0xff,
- 0x4c, 0xb4, 0xab, 0xa3, 0xb2, 0xea, 0xfe, 0xd7, 0x2c, 0xac, 0x29, 0x93, 0x20, 0x8a, 0x0a, 0x9a, 0x2c, 0xac, 0xea, 0xa3, 0x08, 0xa2, 0xff, 0x7f, 0xab, 0xbc, 0xcb, 0xa3, 0xef, 0x55, 0xf7, 0x0b,
- 0xac, 0xc4, 0xe1, 0x50, 0x2a, 0x02, 0x80, 0x56, 0x8c, 0xc4, 0x42, 0x51, 0x00, 0xea, 0x57, 0xd5, 0x09, 0xac, 0x23, 0x49, 0xe8, 0xd5, 0xf5, 0xaf, 0x8a, 0x9b, 0x43, 0x59, 0xa2, 0x57, 0xab, 0x00,
- 0x2c, 0xac, 0x46, 0x72, 0xf5, 0xbd, 0x2a, 0x00, 0xad, 0xc4, 0x89, 0x9b, 0xad, 0xeb, 0xea, 0x4a, 0x6c, 0xbc, 0x89, 0xa3, 0x29, 0x29, 0x8b, 0x83, 0x6c, 0xbc, 0xe2, 0x69, 0x00, 0x88, 0x20, 0x70,
- 0x6c, 0xbc, 0x0b, 0xb4, 0xaa, 0xe8, 0x7a, 0xff, 0x4c, 0xbc, 0x0b, 0xb4, 0x82, 0x8e, 0xad, 0x82, 0x4c, 0xbc, 0x2b, 0xb4, 0xe2, 0xf7, 0x3f, 0xba, 0x4c, 0xbc, 0x2b, 0xb4, 0xee, 0x00, 0x22, 0xf0,
- 0x6c, 0xbc, 0x2b, 0xb4, 0xfe, 0xb5, 0x6f, 0xe0, 0x4c, 0xbc, 0x2b, 0xb4, 0xbe, 0x30, 0xe0, 0x7e, 0x6c, 0xbc, 0x86, 0xab, 0xa8, 0xaa, 0x2a, 0x6a, 0x4b, 0xbc, 0xa3, 0x61, 0x00, 0x00, 0xa8, 0xad,
- 0x6b, 0xbc, 0xca, 0xa3, 0xe0, 0xff, 0xad, 0xbb, 0x4c, 0xbc, 0x0a, 0xb4, 0xfd, 0xed, 0x5f, 0xff, 0x4c, 0xbc, 0x0b, 0xb4, 0x8a, 0x40, 0x6b, 0x23, 0x2b, 0xbc, 0xec, 0xab, 0x78, 0x8a, 0x82, 0x28,
- 0x2b, 0xbc, 0xc7, 0x92, 0x80, 0x60, 0x80, 0x00, 0x2c, 0xb4, 0x43, 0x59, 0xf5, 0xb7, 0x2a, 0x0a, 0x6c, 0xbc, 0x6b, 0x93, 0xad, 0x02, 0x0a, 0x02, 0x6c, 0xbc, 0x2b, 0xb4, 0x2a, 0x0b, 0xaa, 0xc3,
- 0xad, 0xc4, 0x2b, 0xb4, 0xab, 0xc2, 0xef, 0xfd, 0xad, 0xc4, 0x6c, 0xbc, 0x55, 0x89, 0xf5, 0xbd, 0x0e, 0xcd, 0x4c, 0xbc, 0xff, 0x55, 0xff, 0xdc, 0xad, 0xc4, 0x4c, 0xb4, 0xef, 0xef, 0xbd, 0x2d,
- 0xcd, 0xc4, 0x6c, 0xbc, 0xfd, 0xab, 0xfb, 0xa8, 0xee, 0xcc, 0x2c, 0xb4, 0xfb, 0xf3, 0xaa, 0x7a, 0xcd, 0xc4, 0x4c, 0xb4, 0xee, 0xff, 0xa8, 0x7b, 0x8d, 0xc4, 0x6c, 0xbc, 0xf6, 0x7d, 0xfd, 0xf7,
- 0xcd, 0xc4, 0x6c, 0xbc, 0xd5, 0x8f, 0xff, 0xff, 0xad, 0xc4, 0x6c, 0xbc, 0x57, 0x58, 0xdd, 0xdf, 0x8d, 0xc4, 0x4c, 0xbc, 0xba, 0xa8, 0x6a, 0xab, 0x8c, 0xc4, 0x6c, 0xb4, 0xea, 0xfb, 0xae, 0xeb,
- 0xad, 0xc4, 0x6c, 0xbc, 0xbe, 0x9b, 0x65, 0xff, 0xad, 0xc4, 0x6c, 0xbc, 0x20, 0xf3, 0xbb, 0x55, 0xad, 0xc4, 0x2b, 0xb4, 0xa0, 0xaa, 0x5e, 0xfe, 0x8d, 0xc4, 0x2b, 0xb4, 0xb8, 0xee, 0x75, 0xef,
- 0x6d, 0xbc, 0x2b, 0xb4, 0x78, 0xa0, 0xe8, 0xba, 0x6c, 0xbc, 0x0b, 0xb4, 0x02, 0x0e, 0xa9, 0x3a, 0x6c, 0xbc, 0x2b, 0xb4, 0xce, 0xea, 0x7a, 0xf8, 0x6c, 0xbc, 0x2b, 0xb4, 0xa9, 0xeb, 0xba, 0xff,
- 0x6c, 0xbc, 0x2c, 0xb4, 0x22, 0xba, 0xbd, 0xee, 0x8d, 0xc4, 0x4b, 0xb4, 0xab, 0xbe, 0x7f, 0xff, 0x6c, 0xbc, 0x2c, 0xb4, 0xb0, 0x02, 0xaf, 0x02, 0x8d, 0xbc, 0x4b, 0xb4, 0xff, 0xbf, 0xff, 0xab,
- 0x8c, 0xc4, 0x4b, 0xb4, 0xde, 0xde, 0xfe, 0x2a, 0x8c, 0xc4, 0x4c, 0xb4, 0xbe, 0xab, 0x2f, 0xb8, 0x8d, 0xc4, 0x4c, 0xb4, 0xaf, 0x8a, 0xea, 0xa2, 0x8d, 0xbc, 0x4c, 0xb4, 0x5e, 0xd7, 0x0b, 0x20,
- 0x6c, 0xbc, 0x2b, 0xb4, 0xa2, 0x82, 0xa8, 0x4e, 0x8c, 0xbc, 0x2b, 0xb4, 0xf8, 0x7f, 0x7f, 0xf5, 0x6c, 0xbc, 0x0b, 0xac, 0xaa, 0xaa, 0xed, 0xbf, 0x6c, 0xbc, 0x2b, 0xb4, 0x9f, 0xad, 0xff, 0x3f,
- 0x6c, 0xbc, 0x2b, 0xb4, 0xfe, 0xfc, 0xbb, 0x7c, 0x6c, 0xbc, 0x66, 0x9b, 0x08, 0x22, 0xa0, 0x6a, 0x6b, 0xbc, 0x84, 0x61, 0x20, 0x00, 0x00, 0x6a, 0x4b, 0xbc, 0xc5, 0x69, 0x00, 0x00, 0xa8, 0xad,
- 0x8c, 0xbc, 0xc3, 0x69, 0x00, 0x02, 0x7a, 0xaa, 0x4a, 0xb4, 0x46, 0x7a, 0x00, 0x80, 0xfd, 0xfb, 0x4b, 0xb4, 0x45, 0x72, 0x00, 0x6a, 0xef, 0xab, 0x0a, 0xac, 0x85, 0x7a, 0x00, 0xf3, 0x6e, 0xfe,
- 0x2a, 0xb4, 0xe5, 0x69, 0x00, 0xdb, 0xff, 0xaa, 0x49, 0xb4, 0xc3, 0x48, 0x00, 0x5f, 0xfe, 0xaa, 0x08, 0xac, 0x24, 0x41, 0xf8, 0xfd, 0xaf, 0xaa, 0x29, 0x93, 0xa3, 0x61, 0xe7, 0xae, 0x8a, 0x00,
- 0x89, 0x9b, 0x87, 0x7a, 0x75, 0xfe, 0xaa, 0x80, 0x6a, 0x9b, 0xa6, 0x7a, 0xff, 0x7e, 0xa2, 0xa0, 0x69, 0x93, 0xe7, 0x82, 0x1f, 0x39, 0xff, 0x2a, 0x89, 0x9b, 0xc7, 0x8a, 0x57, 0xef, 0xab, 0x08,
- 0x89, 0x93, 0xc7, 0x8a, 0xd5, 0xab, 0xef, 0x00, 0x8a, 0x9b, 0xa7, 0x82, 0xdf, 0xbf, 0xef, 0xa0, 0x89, 0x9b, 0xa7, 0x8a, 0xba, 0x57, 0x3e, 0x2a, 0xca, 0xa3, 0xa6, 0x82, 0x7f, 0x5d, 0xfe, 0xa0,
- 0x69, 0x93, 0x86, 0x82, 0x55, 0x7f, 0xfa, 0xa0, 0xaa, 0x93, 0x46, 0x72, 0x55, 0xff, 0xaa, 0x0a, 0xca, 0xa3, 0xa9, 0x82, 0xad, 0xaa, 0xab, 0x0a, 0xeb, 0xa3, 0x89, 0x9b, 0xf5, 0xbb, 0xef, 0x20,
- 0x0b, 0xa4, 0xaa, 0x9b, 0x7e, 0x7f, 0x2b, 0xae, 0x2b, 0xac, 0x8a, 0xa3, 0x8d, 0xad, 0xfd, 0xff, 0x2b, 0xac, 0xca, 0xa3, 0xca, 0xab, 0x9d, 0xf9, 0x2c, 0xac, 0xca, 0xa3, 0x6b, 0x80, 0xa8, 0xba,
- 0x4c, 0xb4, 0xeb, 0xa3, 0xdf, 0xf5, 0x8b, 0xff, 0x2c, 0xac, 0xca, 0x9b, 0xaa, 0xf8, 0xd8, 0xee, 0x8d, 0xb4, 0xeb, 0xab, 0xd5, 0xcd, 0xfd, 0xf5, 0x2c, 0xac, 0xca, 0xa3, 0xdf, 0xa0, 0xa2, 0x2a,
- 0x2c, 0xac, 0xeb, 0xa3, 0x57, 0xd7, 0xbc, 0xec, 0xad, 0xbc, 0xeb, 0xa3, 0x75, 0xa5, 0xdf, 0x37, 0xae, 0xbc, 0xea, 0xab, 0xfd, 0xf5, 0xfd, 0x28, 0xce, 0xbc, 0xca, 0xa3, 0xfe, 0xbd, 0xe2, 0x2a,
- 0x6c, 0xb4, 0xea, 0xa3, 0xf5, 0xa2, 0x7f, 0x6e, 0x8d, 0xb4, 0xcb, 0xa3, 0xdc, 0x2c, 0xaf, 0xab, 0xad, 0xbc, 0x0c, 0xac, 0xfe, 0xff, 0x69, 0x8b, 0x0e, 0xc5, 0xeb, 0xa3, 0xe2, 0xf5, 0xf9, 0xab,
- 0xad, 0xbc, 0x2b, 0xac, 0x5f, 0x54, 0xd6, 0x37, 0xee, 0xc4, 0xeb, 0xa3, 0xe3, 0xeb, 0xfe, 0xf7, 0xcd, 0xbc, 0x0b, 0xa4, 0xe2, 0x5f, 0x5a, 0xd7, 0xad, 0xbc, 0x8a, 0x9b, 0xea, 0x2b, 0xbe, 0xde,
- 0x2c, 0xac, 0xca, 0xa3, 0xeb, 0x78, 0xb8, 0x56, 0x2b, 0xac, 0x8a, 0x9b, 0xc2, 0x0a, 0x7f, 0xde, 0x8c, 0xb4, 0x69, 0x9b, 0xdc, 0xff, 0xfb, 0xff, 0xeb, 0xab, 0xaa, 0xa3, 0x2b, 0x2f, 0xff, 0x8a,
- 0x6c, 0xb4, 0x8a, 0x9b, 0xff, 0x08, 0x5f, 0xff, 0x6c, 0xb4, 0xaa, 0x9b, 0x8d, 0x57, 0x75, 0xdf, 0x2b, 0xac, 0xaa, 0xa3, 0x2b, 0x29, 0xab, 0xea, 0x2b, 0xac, 0xca, 0xa3, 0xe2, 0xfe, 0x7b, 0xeb,
- 0x2c, 0xac, 0xeb, 0xa3, 0xfe, 0xf7, 0xfd, 0x0a, 0x2b, 0xb4, 0xca, 0x9b, 0xfe, 0xff, 0xab, 0x2d, 0x2b, 0xb4, 0xca, 0xa3, 0xad, 0xab, 0x82, 0xfa, 0x4b, 0xb4, 0xaa, 0xa3, 0xf0, 0xd7, 0xb7, 0xff,
- 0x4c, 0xb4, 0xab, 0xa3, 0xbd, 0xaa, 0xaa, 0x2a, 0x2c, 0xb4, 0x0b, 0xac, 0x5f, 0xa2, 0x42, 0xea, 0x2c, 0xb4, 0xeb, 0xab, 0x7f, 0xab, 0xf9, 0x0e, 0x2b, 0xb4, 0xeb, 0xab, 0xeb, 0x7a, 0xff, 0xba,
- 0x2c, 0xb4, 0xca, 0xab, 0x7f, 0x5e, 0x2e, 0xab, 0x6d, 0xbc, 0x89, 0x9b, 0xab, 0xaa, 0x3a, 0x07, 0x4c, 0xbc, 0x2b, 0xac, 0xff, 0xaf, 0xaa, 0xea, 0x4c, 0xbc, 0x0b, 0xac, 0xfd, 0xeb, 0xfe, 0xd7,
- 0x2c, 0xb4, 0xca, 0xa3, 0xa0, 0xb8, 0x7a, 0xba, 0x2c, 0xb4, 0xeb, 0xab, 0xae, 0x85, 0xc1, 0xfa, 0x2c, 0xb4, 0xcb, 0xa3, 0xa7, 0xab, 0x80, 0xea, 0xac, 0xc4, 0x4a, 0x93, 0xea, 0xfe, 0xb7, 0x2b,
- 0x8d, 0xbc, 0xe1, 0x69, 0xaa, 0xaa, 0x0a, 0x78, 0xac, 0xc4, 0x60, 0x38, 0xaa, 0x02, 0xe0, 0x55, 0x8a, 0xbc, 0xa1, 0x38, 0x00, 0x78, 0x55, 0x55, 0x44, 0xa3, 0x61, 0x28, 0xf8, 0xff, 0x55, 0xf5,
- 0x83, 0x59, 0xc2, 0x40, 0xaa, 0x97, 0xd7, 0x2f, 0xa5, 0x72, 0x22, 0x51, 0x2a, 0xb5, 0xd5, 0xab, 0xc9, 0x9b, 0xc2, 0x50, 0x02, 0x5b, 0xff, 0x2b, 0xeb, 0xab, 0x82, 0x38, 0xa8, 0xad, 0x0a, 0x00,
- 0x2c, 0xb4, 0x28, 0x93, 0x8d, 0xe1, 0x2a, 0x03, 0x6c, 0xbc, 0x80, 0x40, 0xb0, 0x96, 0xbe, 0x00, 0x8b, 0xc4, 0xe2, 0x38, 0xe0, 0x58, 0x56, 0x57, 0xa4, 0x51, 0x45, 0x41, 0x6c, 0x7b, 0x5e, 0xad,
- 0x6c, 0xbc, 0x0b, 0xac, 0xa8, 0xff, 0xed, 0xbb, 0x6c, 0xbc, 0x2b, 0xb4, 0xdb, 0xfb, 0xeb, 0xa2, 0x6c, 0xbc, 0x0a, 0xb4, 0xaa, 0xaa, 0xaa, 0x72, 0x6c, 0xbc, 0x0b, 0xb4, 0xfa, 0xd4, 0xf8, 0x7f,
- 0x4c, 0xbc, 0xcb, 0xb3, 0x02, 0xaa, 0xe0, 0x9e, 0x6c, 0xbc, 0x0b, 0xb4, 0xba, 0xeb, 0x2d, 0xea, 0x6c, 0xbc, 0x05, 0x72, 0x60, 0xa0, 0x20, 0x00, 0x4c, 0xb4, 0xe7, 0x61, 0xa9, 0x02, 0x00, 0x00,
- 0x4c, 0xbc, 0x0b, 0xb4, 0x55, 0x73, 0xbf, 0xab, 0x4c, 0xbc, 0x2b, 0xb4, 0xe5, 0x55, 0x4d, 0xed, 0x4c, 0xbc, 0x2b, 0xb4, 0xc3, 0xd9, 0xf5, 0xe7, 0x4c, 0xbc, 0x0a, 0xb4, 0xee, 0xba, 0xee, 0xda,
- 0x6c, 0xbc, 0xcb, 0xab, 0x6a, 0xaa, 0x0a, 0x02, 0x4c, 0xbc, 0xca, 0xab, 0xe9, 0x80, 0xe0, 0xc0, 0x4c, 0xb4, 0xaa, 0xa3, 0xab, 0x0b, 0x2b, 0xa9, 0x6c, 0xbc, 0x2b, 0xb4, 0xaa, 0xfe, 0xf6, 0xa9,
- 0x8c, 0xbc, 0x0b, 0xb4, 0xa2, 0x2a, 0xa9, 0xbf, 0x8d, 0xc4, 0x4c, 0xbc, 0xef, 0x0e, 0xd5, 0xeb, 0xad, 0xc4, 0x0b, 0xb4, 0xaa, 0xa0, 0x0a, 0x7a, 0x2e, 0xcd, 0x4c, 0xbc, 0xdd, 0xe3, 0xff, 0xfd,
- 0xcd, 0xc4, 0x4c, 0xbc, 0xea, 0xbf, 0x5e, 0xf2, 0x90, 0xd5, 0x4c, 0xb4, 0x15, 0xfa, 0x5d, 0xfb, 0xd1, 0xdd, 0x4b, 0xbc, 0xe8, 0x55, 0x5d, 0x55, 0xad, 0xc4, 0xcb, 0xa3, 0x2a, 0xa2, 0x70, 0xba,
- 0x0e, 0xcd, 0x2c, 0xb4, 0xa8, 0xab, 0xbd, 0xfb, 0xcd, 0xc4, 0x0b, 0xac, 0xca, 0xaa, 0xa2, 0xb5, 0xcd, 0xc4, 0x4c, 0xbc, 0xff, 0xfe, 0xfd, 0xfc, 0x6d, 0xbc, 0x4c, 0xb4, 0x20, 0x0a, 0xc8, 0xfe,
- 0x8d, 0xbc, 0x4c, 0xb4, 0x2a, 0x0a, 0x28, 0xbf, 0x8c, 0xbc, 0x4c, 0xb4, 0xaa, 0xea, 0xae, 0xba, 0x8c, 0xc4, 0x4d, 0xb4, 0xae, 0xfb, 0xeb, 0xaa, 0x4c, 0xbc, 0x6c, 0xb4, 0xaa, 0x77, 0x58, 0x7f,
- 0x6c, 0xbc, 0x2b, 0xb4, 0x82, 0xaa, 0x6f, 0xe0, 0x8c, 0xbc, 0x2b, 0xb4, 0xfb, 0x7f, 0xff, 0x8b, 0x8d, 0xbc, 0x2b, 0xb4, 0xf5, 0xd5, 0x25, 0x77, 0x6c, 0xb4, 0xeb, 0xab, 0xa8, 0xa0, 0x58, 0x2a,
- 0x8c, 0xbc, 0x2b, 0xb4, 0xab, 0xa5, 0xa9, 0x2a, 0x8d, 0xbc, 0x4c, 0xb4, 0xb3, 0x8a, 0x8a, 0x20, 0x0e, 0xcd, 0x4c, 0xb4, 0xff, 0xf1, 0xff, 0xff, 0xad, 0xc4, 0x2b, 0xb4, 0xa8, 0xf7, 0xea, 0xaa,
- 0xcd, 0xc4, 0x4c, 0xbc, 0xf7, 0xb7, 0x8b, 0xea, 0x8d, 0xbc, 0x4a, 0xb4, 0x2a, 0xaa, 0xb8, 0xdf, 0x8d, 0xbc, 0xe8, 0xab, 0x00, 0x08, 0xaa, 0x5e, 0x8c, 0xbc, 0xa8, 0xa3, 0x88, 0xa0, 0xea, 0x57,
- 0x6b, 0xbc, 0x69, 0xa3, 0x00, 0x00, 0x7f, 0x55, 0x8b, 0xc4, 0x28, 0x93, 0xaa, 0xa8, 0xf5, 0xff, 0x2a, 0xb4, 0x08, 0x93, 0x00, 0x78, 0xef, 0xba, 0x0a, 0xb4, 0x29, 0x93, 0x80, 0x5d, 0xbf, 0xaa,
- 0xea, 0xab, 0xc6, 0x8a, 0xa6, 0xaa, 0x88, 0x0a, 0xcb, 0xa3, 0x08, 0x8b, 0xd7, 0xba, 0xaa, 0x08, 0xea, 0xab, 0x49, 0x93, 0xd7, 0xaf, 0xaa, 0xa0, 0xeb, 0xab, 0x49, 0x93, 0x75, 0xbe, 0xba, 0x2a,
- 0xeb, 0xab, 0x09, 0x8b, 0xfd, 0xaa, 0xa8, 0x8a, 0xcb, 0xa3, 0x69, 0x93, 0xd5, 0xeb, 0xaa, 0x00, 0xeb, 0xa3, 0x69, 0x9b, 0xd5, 0xdf, 0xde, 0xa2, 0xea, 0xa3, 0x69, 0x9b, 0x75, 0xeb, 0xae, 0x28,
- 0xea, 0xa3, 0x69, 0x9b, 0x5d, 0xaa, 0xaa, 0x80, 0xca, 0xa3, 0x49, 0x93, 0xde, 0xaa, 0x2a, 0xa0, 0xea, 0xa3, 0x49, 0x9b, 0x7a, 0xfe, 0xaa, 0x2a, 0x0b, 0xa4, 0x49, 0x9b, 0xd5, 0xfb, 0xea, 0xa8,
- 0xea, 0xa3, 0x49, 0x9b, 0x6a, 0xeb, 0xa2, 0xab, 0xca, 0xa3, 0x69, 0x93, 0x77, 0x8a, 0x08, 0xaa, 0xeb, 0xa3, 0x48, 0x93, 0xed, 0xeb, 0x82, 0x88, 0xcb, 0xa3, 0x69, 0x9b, 0xbf, 0xfd, 0x02, 0x20,
- 0xca, 0xa3, 0x69, 0x93, 0xfe, 0xb5, 0x02, 0x00, 0xeb, 0xa3, 0x89, 0x9b, 0x5d, 0x7f, 0xaa, 0x82, 0xeb, 0xab, 0x69, 0x93, 0x5f, 0xaf, 0x2a, 0x02, 0x0b, 0xac, 0x89, 0x9b, 0xd5, 0xff, 0xab, 0x82,
- 0xeb, 0xab, 0x69, 0x93, 0x5e, 0xaa, 0x22, 0x28, 0x0b, 0xac, 0xaa, 0x9b, 0xd5, 0xfa, 0xaa, 0x0a, 0x0c, 0xac, 0xca, 0xa3, 0xd5, 0xfe, 0xfe, 0xe3, 0x6c, 0xb4, 0xca, 0xa3, 0xdd, 0x7d, 0x57, 0x37,
- 0x8e, 0xbc, 0xcb, 0xa3, 0xe7, 0x8f, 0x3b, 0xfb, 0xce, 0xc4, 0xaa, 0x9b, 0x3e, 0x85, 0xff, 0xff, 0x4c, 0xb4, 0xeb, 0xa3, 0xff, 0xda, 0x7e, 0xff, 0x0c, 0xac, 0xea, 0xa3, 0x1b, 0x2f, 0x1a, 0x3f,
- 0x4d, 0xb4, 0xca, 0xa3, 0xfa, 0xdf, 0xdf, 0x2f, 0x6c, 0xb4, 0xeb, 0xa3, 0xcd, 0xbd, 0xab, 0xab, 0x2c, 0xb4, 0x0b, 0xac, 0xad, 0xba, 0xfe, 0x8b, 0x4c, 0xb4, 0x0b, 0xac, 0xfe, 0xf7, 0x2d, 0xca,
- 0x4c, 0xb4, 0x0b, 0xac, 0x57, 0x7c, 0xdf, 0x2f, 0xcd, 0xbc, 0xeb, 0xab, 0x15, 0x95, 0xb5, 0xf7, 0xad, 0xbc, 0x2b, 0xac, 0xff, 0xa1, 0xec, 0x67, 0x2e, 0xc5, 0x4c, 0xb4, 0x55, 0xbb, 0x2f, 0x75,
- 0x0f, 0xc5, 0xeb, 0xa3, 0x7f, 0x7f, 0xbc, 0xaa, 0xee, 0xc4, 0x0b, 0xac, 0xe9, 0xef, 0xfe, 0x8e, 0x0f, 0xc5, 0x0b, 0xac, 0x7f, 0x7b, 0xdc, 0xd7, 0xcd, 0xbc, 0x0b, 0xac, 0xaa, 0x0f, 0x5a, 0xd6,
- 0x0e, 0xc5, 0xca, 0xa3, 0xaa, 0xe8, 0xd5, 0xfc, 0xad, 0xbc, 0xeb, 0xab, 0x8c, 0x5a, 0xde, 0x0f, 0x6c, 0xb4, 0xeb, 0xab, 0xad, 0x2d, 0x83, 0xaa, 0x6d, 0xb4, 0xaa, 0xa3, 0xea, 0x7f, 0xf8, 0xfa,
- 0x2c, 0xb4, 0xaa, 0x9b, 0xff, 0xf7, 0xbb, 0x82, 0x2c, 0xac, 0xaa, 0xa3, 0x5f, 0xbb, 0xff, 0x28, 0x4c, 0xb4, 0xaa, 0xa3, 0xf7, 0xf7, 0x3a, 0x2a, 0x4c, 0xb4, 0xca, 0xa3, 0xdd, 0x7f, 0x20, 0x80,
- 0x2b, 0xac, 0xaa, 0xa3, 0x69, 0xab, 0xa2, 0x20, 0x2c, 0xac, 0xea, 0xa3, 0xa9, 0xfb, 0xfa, 0xa3, 0x0b, 0xac, 0xca, 0xa3, 0xa9, 0xa2, 0x28, 0x00, 0x4c, 0xb4, 0xca, 0xa3, 0xff, 0x57, 0x57, 0x2f,
- 0x2c, 0xb4, 0x8a, 0x9b, 0xca, 0xdd, 0xaa, 0x00, 0x2c, 0xb4, 0xca, 0x9b, 0x09, 0xaa, 0x2a, 0x00, 0x4b, 0xb4, 0x6a, 0x9b, 0xaa, 0xaa, 0x72, 0xbe, 0x2c, 0xb4, 0xaa, 0xa3, 0x0a, 0x2b, 0x82, 0x7f,
- 0x2c, 0xb4, 0xaa, 0xa3, 0x00, 0xaa, 0xbb, 0x99, 0x0b, 0xb4, 0x88, 0x9b, 0x08, 0xa8, 0xea, 0x6a, 0x6c, 0xbc, 0xaa, 0xa3, 0x8a, 0xdf, 0x75, 0xf5, 0x2c, 0xb4, 0x48, 0x93, 0x28, 0xea, 0x6a, 0xe2,
- 0x6c, 0xb4, 0xe7, 0x82, 0xaa, 0xaf, 0x2d, 0x02, 0x6d, 0xbc, 0x69, 0x9b, 0xa9, 0xa0, 0x82, 0xa8, 0x2b, 0xb4, 0xa9, 0xa3, 0x0d, 0x6b, 0xae, 0x8e, 0x4c, 0xb4, 0x46, 0x82, 0x00, 0x82, 0x9e, 0x02,
- 0x4c, 0xb4, 0x8a, 0xa3, 0xaa, 0xef, 0x2d, 0x00, 0x8c, 0xbc, 0xa4, 0x61, 0xa2, 0x02, 0x80, 0x5c, 0xac, 0xc4, 0x01, 0x51, 0x0a, 0xa0, 0xb7, 0xab, 0x4d, 0xbc, 0xc2, 0x48, 0x7a, 0x62, 0xc2, 0xa0,
- 0x65, 0x59, 0xa1, 0x38, 0xf5, 0xff, 0xbf, 0x2a, 0x85, 0x59, 0xa2, 0x38, 0x55, 0xff, 0xfe, 0x80, 0x23, 0x41, 0xc2, 0x38, 0xbd, 0xea, 0xfa, 0x2a, 0xc2, 0x40, 0x44, 0x39, 0xfa, 0x8a, 0xff, 0x5a,
- 0x46, 0x6a, 0x03, 0x39, 0xff, 0xf5, 0xad, 0x2b, 0xcb, 0x9b, 0xa4, 0x59, 0xf5, 0xfd, 0xbf, 0x2f, 0x0c, 0xac, 0x87, 0x7a, 0xbd, 0xab, 0x02, 0x02, 0x2c, 0xb4, 0xab, 0xa3, 0xad, 0xaa, 0x8a, 0xe8,
- 0x6c, 0xb4, 0x0b, 0xac, 0xbd, 0xad, 0x2f, 0xb6, 0x8d, 0xc4, 0x23, 0x41, 0x00, 0xc0, 0x60, 0x50, 0x43, 0x49, 0x04, 0x29, 0xf8, 0xf5, 0xff, 0xf7, 0xc5, 0x49, 0xe3, 0x28, 0x0b, 0xab, 0xaf, 0xdd,
- 0xab, 0xc4, 0x0b, 0xb4, 0xff, 0xff, 0x2b, 0x4b, 0xca, 0xcc, 0xc1, 0x40, 0x00, 0xe0, 0x5c, 0x55, 0x2b, 0xb4, 0x45, 0x51, 0x20, 0xa9, 0x29, 0x0b, 0x6c, 0xbc, 0x0b, 0xac, 0x7d, 0x79, 0x2d, 0xab,
- 0x4c, 0xbc, 0x0b, 0xb4, 0x09, 0x8a, 0x0a, 0xba, 0x2b, 0xbc, 0x6c, 0xb4, 0xea, 0x8a, 0xe2, 0xef, 0x6c, 0xbc, 0x0b, 0xb4, 0xb7, 0xba, 0xaa, 0x0a, 0x6c, 0xbc, 0x2b, 0xb4, 0xff, 0xe2, 0x5f, 0x57,
- 0x4c, 0xbc, 0x0b, 0xb4, 0xe0, 0xea, 0xe3, 0xfb, 0x4c, 0xbc, 0x0b, 0xb4, 0xcb, 0x9f, 0xff, 0x2f, 0x4c, 0xbc, 0xeb, 0xb3, 0x6a, 0x8f, 0xaa, 0x00, 0x4c, 0xbc, 0x0b, 0xb4, 0x7f, 0x3a, 0x3f, 0x3b,
- 0x6c, 0xc4, 0x2b, 0xb4, 0xff, 0xee, 0xab, 0xfa, 0x6b, 0xbc, 0x6a, 0xa3, 0x9e, 0xba, 0x80, 0x00, 0x4c, 0xbc, 0xca, 0xab, 0xa8, 0x26, 0x90, 0xe0, 0x6c, 0xc4, 0xeb, 0xb3, 0xdf, 0xef, 0x8b, 0xef,
- 0x4c, 0xbc, 0xea, 0xab, 0x02, 0x89, 0xae, 0x00, 0x8d, 0xc4, 0x2b, 0xb4, 0x0b, 0xab, 0xfd, 0xfd, 0x8c, 0xc4, 0x0b, 0xac, 0x70, 0x50, 0x82, 0xaa, 0xad, 0xc4, 0xeb, 0xab, 0x0b, 0x82, 0x9f, 0xaa,
- 0x8d, 0xc4, 0x4c, 0xb4, 0xaa, 0x23, 0xff, 0xdb, 0xad, 0xc4, 0x0b, 0xb4, 0xaa, 0x00, 0xaa, 0x7a, 0x8c, 0xc4, 0x4b, 0xb4, 0xfe, 0xfe, 0xe2, 0xff, 0xee, 0xcc, 0x4b, 0xb4, 0xa3, 0x7b, 0x5f, 0x55,
- 0x8d, 0xc4, 0x2b, 0xb4, 0x7a, 0x3f, 0xfb, 0xff, 0x6c, 0xbc, 0xeb, 0xab, 0xaf, 0xa0, 0x5e, 0xa8, 0x6d, 0xbc, 0x2b, 0xac, 0x03, 0xbb, 0x8d, 0xbf, 0xad, 0xc4, 0xea, 0xab, 0xbb, 0xfa, 0xcf, 0xdf,
- 0x8c, 0xbc, 0x0b, 0xac, 0x0a, 0xaa, 0x5f, 0x8b, 0x8c, 0xbc, 0x2b, 0xb4, 0xaa, 0x0a, 0xa9, 0xff, 0x50, 0xd5, 0x4b, 0xb4, 0xfd, 0x83, 0x55, 0x55, 0x0d, 0xc5, 0x4c, 0xb4, 0xff, 0x7c, 0x75, 0xe9,
- 0x6c, 0xbc, 0x4b, 0xb4, 0xa2, 0x23, 0xac, 0xd7, 0x6c, 0xbc, 0x2b, 0xb4, 0x2e, 0xaa, 0x7e, 0xff, 0x6c, 0xbc, 0x2b, 0xb4, 0xb6, 0xbf, 0xfd, 0x2a, 0x6b, 0xbc, 0x4c, 0xb4, 0x2b, 0xed, 0xea, 0x0a,
- 0x6c, 0xbc, 0x0b, 0xb4, 0x00, 0x28, 0x82, 0x7e, 0x8c, 0xbc, 0x2b, 0xb4, 0x8a, 0xab, 0xfd, 0x75, 0x8c, 0xbc, 0x4b, 0xb4, 0xa3, 0xbf, 0xbd, 0xd5, 0x8c, 0xbc, 0xca, 0xab, 0x80, 0x5a, 0xfa, 0xaa,
- 0x6b, 0xbc, 0xcb, 0xa3, 0xa8, 0xfd, 0xfa, 0xfa, 0x2b, 0xac, 0x49, 0x9b, 0x7a, 0x2a, 0x20, 0x00, 0x4b, 0xb4, 0x8a, 0xa3, 0x7d, 0xfe, 0xaa, 0x88, 0x2b, 0xac, 0x89, 0xa3, 0xf5, 0xbf, 0xaa, 0xa8,
- 0x0b, 0xb4, 0xaa, 0xa3, 0xb5, 0xbb, 0x0a, 0x2a, 0x2b, 0xb4, 0xaa, 0xa3, 0x7f, 0xaa, 0xa2, 0x88, 0x0b, 0xb4, 0xca, 0xab, 0xa5, 0xae, 0x82, 0xb8, 0x0b, 0xb4, 0xea, 0xa3, 0x7f, 0xba, 0xba, 0xd7,
- 0x2b, 0xac, 0xca, 0xa3, 0xff, 0x8a, 0x77, 0xef, 0x0b, 0xac, 0xca, 0xa3, 0xab, 0x08, 0xff, 0xfe, 0x0b, 0xac, 0xca, 0xa3, 0xbe, 0xa8, 0xb2, 0xff, 0x0b, 0xac, 0xaa, 0xa3, 0xca, 0xe8, 0xda, 0xa2,
- 0x0b, 0xac, 0xaa, 0xa3, 0xbe, 0xa7, 0xa8, 0x00, 0xeb, 0xab, 0xca, 0xa3, 0xef, 0x25, 0xdc, 0xf8, 0xeb, 0xab, 0xaa, 0xa3, 0xdb, 0x88, 0xae, 0x88, 0x0b, 0xac, 0xaa, 0xa3, 0xd7, 0xbf, 0xaa, 0x82,
- 0x0b, 0xac, 0x89, 0x9b, 0x7a, 0xaa, 0xaa, 0xb8, 0xeb, 0xab, 0xca, 0x9b, 0xfe, 0xaa, 0x2b, 0xea, 0x0b, 0xac, 0xca, 0xa3, 0x75, 0xeb, 0xa3, 0x3f, 0x0b, 0xac, 0xaa, 0x9b, 0x57, 0x8a, 0x08, 0x00,
- 0x2b, 0xac, 0xaa, 0x9b, 0xfd, 0xbb, 0x2b, 0xde, 0xad, 0xb4, 0xcb, 0xa3, 0x55, 0xfd, 0x3a, 0x7f, 0x4c, 0xac, 0x8a, 0x9b, 0xf7, 0xa0, 0xf8, 0xef, 0x4c, 0xb4, 0xca, 0xa3, 0x55, 0x5f, 0xfd, 0xcb,
- 0x0c, 0xac, 0xca, 0xa3, 0x79, 0xff, 0x1f, 0x8a, 0xae, 0xbc, 0xca, 0xa3, 0x55, 0x5f, 0x7f, 0xf0, 0x4b, 0xb4, 0xca, 0xa3, 0xff, 0xea, 0xfd, 0x78, 0x6c, 0xb4, 0xcb, 0xa3, 0x3f, 0x3e, 0x5f, 0xaf,
- 0x4b, 0xac, 0x8a, 0x9b, 0xf8, 0xa8, 0xe9, 0x80, 0x4c, 0xb4, 0x69, 0x93, 0xaa, 0xa8, 0xea, 0xd7, 0xad, 0xbc, 0x8a, 0x9b, 0xde, 0x0b, 0xff, 0xfd, 0x4c, 0xac, 0xcb, 0xa3, 0xa7, 0x8b, 0x3a, 0x2f,
- 0xad, 0xbc, 0x0b, 0xac, 0xf3, 0xd5, 0xdf, 0x5f, 0xad, 0xbc, 0xeb, 0xab, 0xd7, 0x37, 0xd5, 0xff, 0xad, 0xbc, 0x0b, 0xac, 0xd6, 0x94, 0x7f, 0xe7, 0x6d, 0xb4, 0xeb, 0xa3, 0xfc, 0xd1, 0xaf, 0xaa,
- 0x6c, 0xb4, 0xeb, 0xab, 0xad, 0xff, 0x7a, 0xb8, 0xcd, 0xbc, 0x0b, 0xac, 0x5f, 0x55, 0x75, 0xc9, 0x4c, 0xb4, 0xca, 0xa3, 0x8a, 0x0a, 0x7a, 0xaa, 0xac, 0xbc, 0xeb, 0xab, 0xff, 0xd7, 0x0d, 0xff,
- 0x4c, 0xb4, 0x0b, 0xac, 0xeb, 0xde, 0xa4, 0x7d, 0x0e, 0xc5, 0x0b, 0xac, 0xcd, 0xfd, 0x5a, 0xfd, 0x4b, 0xb4, 0xca, 0xa3, 0xb8, 0xa0, 0xab, 0x7e, 0xad, 0xbc, 0x0b, 0xac, 0x27, 0xd7, 0xef, 0x73,
- 0xcd, 0xbc, 0xeb, 0xa3, 0xc0, 0xfe, 0xff, 0x5d, 0x6d, 0xb4, 0xcb, 0xa3, 0xde, 0xe2, 0xa8, 0xbf, 0xcd, 0xbc, 0xcb, 0xa3, 0xfd, 0xaf, 0x2b, 0xef, 0x0f, 0xc5, 0xeb, 0xa3, 0xcf, 0xbf, 0xdf, 0xf5,
- 0xed, 0xc4, 0x0b, 0xac, 0xe7, 0x7c, 0x55, 0x7d, 0x8c, 0xb4, 0x0b, 0xac, 0x8a, 0xeb, 0x5f, 0xdf, 0x0e, 0xcd, 0x2c, 0xb4, 0x55, 0x55, 0x71, 0xf5, 0x6c, 0xbc, 0x0b, 0xac, 0x72, 0x5d, 0x5f, 0x5e,
- 0x6c, 0xbc, 0x0b, 0xac, 0xfb, 0x57, 0xa5, 0xca, 0x6c, 0xb4, 0x0b, 0xac, 0x4b, 0xa2, 0xfd, 0xa3, 0x4b, 0xb4, 0xca, 0xab, 0x80, 0xe2, 0x78, 0x9a, 0x4c, 0xb4, 0xea, 0xab, 0xc0, 0x8b, 0xbd, 0xbb,
- 0x4c, 0xb4, 0xcb, 0xa3, 0xab, 0xfa, 0x78, 0xfe, 0x2b, 0xac, 0xca, 0xa3, 0xaa, 0xa8, 0xdf, 0xaa, 0x4c, 0xb4, 0xaa, 0x9b, 0xa0, 0x8a, 0xdf, 0xff, 0x2c, 0xb4, 0xaa, 0x9b, 0xaa, 0xe3, 0xeb, 0xed,
- 0x4b, 0xb4, 0x6a, 0x93, 0x22, 0xea, 0xaf, 0xa7, 0x0b, 0xb4, 0xca, 0xa3, 0xa2, 0xdf, 0xaf, 0x7f, 0x0b, 0xac, 0xaa, 0xa3, 0x88, 0x5f, 0xab, 0xf6, 0x2b, 0xac, 0x69, 0x9b, 0xfd, 0x8a, 0x8b, 0xaa,
- 0x2b, 0xb4, 0x8a, 0x9b, 0x8a, 0xe2, 0x5e, 0xd6, 0x0b, 0xac, 0xaa, 0x9b, 0x4b, 0x89, 0x81, 0xe9, 0x4b, 0xb4, 0x89, 0x93, 0x8b, 0xfb, 0xd7, 0xff, 0x6c, 0xbc, 0x69, 0x93, 0xf7, 0x2b, 0xaf, 0x8b,
- 0x8c, 0xbc, 0xcb, 0xab, 0x96, 0x88, 0xaf, 0xa9, 0xac, 0xc4, 0xeb, 0xab, 0xff, 0x2a, 0xd5, 0xf7, 0x8d, 0xbc, 0x2c, 0xb4, 0xd7, 0x29, 0x2d, 0xff, 0x8d, 0xc4, 0xc5, 0x8a, 0x00, 0x00, 0xc8, 0x7a,
- 0x6b, 0xb4, 0x22, 0x59, 0x80, 0xf8, 0xf5, 0xaa, 0x28, 0x8b, 0x45, 0x72, 0xae, 0xad, 0x02, 0x00, 0x4c, 0xbc, 0xe7, 0x8a, 0x3d, 0xad, 0x0f, 0x8d, 0x4c, 0xbc, 0x20, 0x51, 0xa0, 0x80, 0x40, 0x70,
- 0x24, 0x72, 0x02, 0x49, 0xab, 0xe0, 0x5d, 0x5f, 0x45, 0x72, 0x02, 0x49, 0x62, 0x63, 0xfb, 0xf5, 0xe7, 0x82, 0xe2, 0x38, 0x55, 0x55, 0xd5, 0x2d, 0xc6, 0x82, 0x64, 0x41, 0xd5, 0xbf, 0x0b, 0x00,
- 0x0c, 0xac, 0x05, 0x62, 0xfd, 0xff, 0xab, 0x2b, 0x2c, 0xb4, 0xa8, 0x72, 0xad, 0x02, 0x02, 0x00, 0x2c, 0xb4, 0xeb, 0xab, 0x2b, 0x36, 0x08, 0x88, 0x2c, 0xb4, 0x0b, 0xac, 0xea, 0x08, 0xaa, 0x2d,
- 0xad, 0xc4, 0xc1, 0x30, 0x00, 0x00, 0x60, 0x58, 0x2b, 0xc4, 0xe3, 0x28, 0x5c, 0x57, 0x55, 0x55, 0x64, 0x39, 0xe3, 0x20, 0xaf, 0x3f, 0xfd, 0xef, 0x45, 0x41, 0x03, 0x31, 0xef, 0x26, 0x95, 0xd5,
- 0x6c, 0xbc, 0x21, 0x51, 0x60, 0x80, 0x00, 0x00, 0x6c, 0xbc, 0xc5, 0x40, 0xd5, 0x0a, 0x00, 0x00, 0x4c, 0xbc, 0xcb, 0xa3, 0xeb, 0xdc, 0x8a, 0x88, 0x6c, 0xbc, 0x0b, 0xb4, 0xfd, 0xff, 0xaf, 0xaa,
- 0x6c, 0xbc, 0x2b, 0xb4, 0xab, 0xa3, 0x6b, 0xfc, 0x6b, 0xbc, 0x45, 0x7a, 0x00, 0x00, 0x40, 0xb0, 0x4b, 0xb4, 0xa7, 0x82, 0x80, 0xb6, 0x29, 0x00, 0x4c, 0xbc, 0x0b, 0xac, 0xfd, 0x2d, 0x2b, 0xea,
- 0x6c, 0xbc, 0x49, 0x93, 0xa2, 0xa8, 0x4a, 0x98, 0x6c, 0xbc, 0x29, 0x93, 0x02, 0x00, 0x29, 0x00, 0x6c, 0xbc, 0x2b, 0xb4, 0x8f, 0xaf, 0xa7, 0xb7, 0x6c, 0xc4, 0x2b, 0xb4, 0xff, 0xfb, 0xfa, 0xfa,
- 0x4b, 0xbc, 0x2c, 0xb4, 0xa2, 0x80, 0xbd, 0xbe, 0x4c, 0xbc, 0xeb, 0xb3, 0xae, 0xb8, 0x98, 0xa2, 0x4b, 0xbc, 0x2c, 0xb4, 0xeb, 0x7e, 0xda, 0xaf, 0x6c, 0xbc, 0x2b, 0xb4, 0x5d, 0x1f, 0x83, 0xdf,
- 0x6c, 0xbc, 0x2b, 0xb4, 0xf8, 0xbe, 0xe3, 0xaa, 0x6c, 0xc4, 0x2b, 0xb4, 0xdf, 0xf7, 0xeb, 0xea, 0x6c, 0xbc, 0x2b, 0xb4, 0xbf, 0xea, 0xcb, 0xea, 0x4c, 0xbc, 0xeb, 0xab, 0x0e, 0xb7, 0xaa, 0x2a,
- 0x6c, 0xbc, 0x0b, 0xb4, 0xa2, 0xc2, 0xff, 0xa9, 0x6b, 0xbc, 0x2c, 0xb4, 0xfb, 0xeb, 0xff, 0xea, 0x6c, 0xbc, 0xeb, 0xab, 0x2a, 0xa8, 0xfb, 0x57, 0x4c, 0xbc, 0x0b, 0xac, 0x38, 0xe8, 0xad, 0x7d,
- 0x6c, 0xbc, 0xa9, 0x9b, 0x02, 0xaa, 0xaa, 0x7a, 0x8c, 0xbc, 0xca, 0xa3, 0xac, 0xa8, 0xaf, 0xbd, 0x4c, 0xbc, 0xea, 0xab, 0x0a, 0xae, 0xaa, 0x09, 0x6c, 0xbc, 0xca, 0xa3, 0x22, 0xaa, 0xa6, 0xac,
- 0x6c, 0xbc, 0xea, 0xab, 0x72, 0x2b, 0xbb, 0xaf, 0x6c, 0xbc, 0x2b, 0xb4, 0xd5, 0x8f, 0x55, 0xb7, 0x6b, 0xbc, 0x2c, 0xb4, 0x7f, 0x7b, 0x3d, 0x3b, 0x8c, 0xbc, 0x0b, 0xac, 0xe9, 0xaa, 0xe0, 0xaa,
- 0xcd, 0xc4, 0xaa, 0xa3, 0xee, 0x2a, 0xbd, 0xaa, 0x6c, 0xbc, 0xeb, 0xab, 0xcb, 0xea, 0x7e, 0xb8, 0xcd, 0xc4, 0xeb, 0xab, 0x0f, 0x5f, 0xfd, 0xff, 0x4b, 0xbc, 0x0c, 0xac, 0xfa, 0xf7, 0xaa, 0x80,
- 0x6c, 0xbc, 0xca, 0xab, 0xd5, 0x0a, 0xfb, 0xf8, 0x8c, 0xbc, 0xaa, 0xab, 0xaa, 0xa7, 0x8a, 0xf7, 0x6c, 0xbc, 0x2b, 0xac, 0xfb, 0xed, 0x05, 0xaf, 0x4b, 0xb4, 0xea, 0xab, 0xa0, 0xaa, 0xe0, 0x5e,
- 0x4c, 0xb4, 0xa9, 0xa3, 0xaa, 0xa8, 0xe7, 0xab, 0x4c, 0xb4, 0x49, 0x9b, 0x0a, 0x02, 0x37, 0x0a, 0x4b, 0xb4, 0xca, 0xab, 0xa8, 0x62, 0xff, 0xaa, 0xee, 0xc4, 0xca, 0xa3, 0x5f, 0xf5, 0x83, 0xff,
- 0x6c, 0xb4, 0x0b, 0xac, 0x55, 0xff, 0x2a, 0xfa, 0x2e, 0xcd, 0xeb, 0xab, 0xf5, 0x5d, 0x3f, 0xff, 0x2e, 0xcd, 0x0b, 0xac, 0x55, 0x55, 0x58, 0x57, 0x4c, 0xb4, 0xcb, 0xa3, 0x7f, 0xaa, 0xa0, 0xa2,
- 0x0d, 0xc5, 0xca, 0xa3, 0x55, 0xbf, 0xfc, 0xff, 0xcd, 0xbc, 0x69, 0x9b, 0xbf, 0x0a, 0xdf, 0xff, 0xcd, 0xc4, 0xca, 0xa3, 0xdd, 0xfc, 0x5f, 0xf7, 0x2b, 0xb4, 0x6a, 0x9b, 0xaa, 0x8a, 0xdf, 0xaa,
- 0x2c, 0xb4, 0xaa, 0xa3, 0xfa, 0x95, 0xbd, 0x2e, 0xad, 0xbc, 0x8a, 0x9b, 0xfd, 0x2f, 0xff, 0xaf, 0x8d, 0xbc, 0xca, 0xa3, 0x35, 0xfb, 0xff, 0xfb, 0x6d, 0xb4, 0xaa, 0xa3, 0xfa, 0xd5, 0xf7, 0x02,
- 0x2c, 0xac, 0x28, 0x8b, 0xaa, 0x7a, 0xe8, 0x00, 0x2b, 0xac, 0x8a, 0xa3, 0x82, 0x7a, 0xaa, 0x2a, 0x2b, 0xac, 0xca, 0x9b, 0xa8, 0xfd, 0xe3, 0xe9, 0x2c, 0xac, 0x89, 0x9b, 0x60, 0xfe, 0xa3, 0x80,
- 0x4c, 0xb4, 0x29, 0x8b, 0xa5, 0x2a, 0xaa, 0x00, 0x4c, 0xb4, 0xeb, 0xa3, 0xb5, 0xaf, 0xab, 0xa8, 0x6d, 0xbc, 0x0b, 0xac, 0x79, 0xdd, 0xa3, 0xeb, 0x6c, 0xb4, 0x8a, 0xa3, 0xaa, 0x88, 0x5e, 0x00,
- 0x6c, 0xbc, 0xeb, 0xa3, 0xd2, 0xb2, 0xef, 0xba, 0x6c, 0xb4, 0xcb, 0xa3, 0xfa, 0xaa, 0x07, 0xca, 0xad, 0xbc, 0xab, 0x9b, 0xde, 0x82, 0xaa, 0xbf, 0x4c, 0xb4, 0xaa, 0x9b, 0x9d, 0xa8, 0x20, 0x0e,
- 0x8c, 0xb4, 0xeb, 0xa3, 0xff, 0x2b, 0x5f, 0xeb, 0x6c, 0xb4, 0xeb, 0xa3, 0xbe, 0xbc, 0x29, 0x7f, 0x4c, 0xb4, 0x8a, 0x9b, 0xaa, 0x02, 0xaa, 0x0d, 0x4c, 0xb4, 0xcb, 0x9b, 0xaa, 0xba, 0x7e, 0xb0,
- 0x6d, 0xb4, 0xeb, 0xab, 0xdc, 0xeb, 0xe2, 0xbd, 0xac, 0xbc, 0xeb, 0xab, 0xff, 0x37, 0x77, 0xf7, 0x6c, 0xb4, 0xaa, 0xa3, 0xaf, 0xe0, 0xaa, 0x5a, 0x8c, 0xbc, 0xca, 0xa3, 0x3a, 0xa5, 0xea, 0xaf,
- 0xee, 0xc4, 0xea, 0xab, 0xdc, 0xf7, 0xff, 0x5f, 0x4c, 0xb4, 0xeb, 0xab, 0xfd, 0xf0, 0xfe, 0xbd, 0x6c, 0xbc, 0x0b, 0xac, 0xd5, 0xbb, 0x2f, 0x73, 0x4c, 0xb4, 0xeb, 0xab, 0x7a, 0x08, 0xae, 0xae,
- 0x6c, 0xb4, 0xeb, 0xab, 0x2b, 0xf2, 0xfe, 0x7a, 0xce, 0xbc, 0xeb, 0xab, 0xf8, 0xff, 0xd5, 0xdd, 0x2c, 0xb4, 0xeb, 0xa3, 0xaf, 0xba, 0x2e, 0xea, 0x4c, 0xb4, 0xea, 0xab, 0xb8, 0xf6, 0x0b, 0x2f,
- 0x4c, 0xb4, 0x0b, 0xac, 0x2b, 0x7a, 0xa2, 0x6f, 0x6c, 0xb4, 0xeb, 0xab, 0x3c, 0xff, 0x5f, 0xf7, 0x6c, 0xb4, 0xca, 0xa3, 0xbe, 0xa8, 0xbd, 0xaf, 0x6c, 0xb4, 0x0b, 0xac, 0xfd, 0x6c, 0xdf, 0xf7,
- 0x6c, 0xb4, 0x0b, 0xac, 0xac, 0xf5, 0xe7, 0xfb, 0x4c, 0xb4, 0xca, 0xa3, 0x82, 0x78, 0xae, 0xfa, 0xac, 0xbc, 0xeb, 0xab, 0x2f, 0xf5, 0xd7, 0xf5, 0x4c, 0xb4, 0xa9, 0x9b, 0x08, 0x08, 0x6a, 0x2b,
- 0x4c, 0xb4, 0xeb, 0xa3, 0xa8, 0x7a, 0xbf, 0x0b, 0x4c, 0xb4, 0xeb, 0xab, 0xe9, 0xfe, 0xfa, 0x80, 0x6c, 0xbc, 0x8a, 0x9b, 0xdf, 0x37, 0xaa, 0xaa, 0x4c, 0xb4, 0xaa, 0xa3, 0x0a, 0x8a, 0xfa, 0x5e,
- 0x4b, 0xb4, 0xaa, 0x9b, 0xb0, 0xe0, 0xa5, 0xfd, 0x2b, 0xac, 0x89, 0xa3, 0x88, 0xb7, 0xcf, 0xba, 0x4c, 0xb4, 0x60, 0x59, 0x00, 0x00, 0xa8, 0x90, 0x0b, 0xac, 0xaa, 0xa3, 0xaa, 0x82, 0xa7, 0x69,
- 0x0b, 0xac, 0xaa, 0x9b, 0xae, 0xff, 0x08, 0x0d, 0x2b, 0xac, 0x8a, 0x9b, 0xfa, 0x27, 0xaa, 0x28, 0x0b, 0xac, 0x8a, 0x9b, 0xca, 0xa2, 0xaa, 0x5e, 0xeb, 0xa3, 0x8a, 0x9b, 0x0b, 0xbe, 0xa5, 0xc3,
- 0x0b, 0xa4, 0x8a, 0x9b, 0xb6, 0x55, 0xbe, 0x0f, 0x2c, 0xac, 0xaa, 0xa3, 0x4f, 0xfa, 0xfa, 0xa8, 0x2c, 0xac, 0xca, 0xa3, 0x9b, 0xad, 0xea, 0xa0, 0x4c, 0xb4, 0xab, 0xa3, 0xe0, 0xba, 0x2d, 0x2a,
- 0x4c, 0xb4, 0xcb, 0xab, 0xad, 0x8a, 0xa2, 0x0a, 0x4c, 0xbc, 0xe6, 0x8a, 0x0a, 0x00, 0x00, 0x40, 0xac, 0xc4, 0xa3, 0x69, 0x80, 0xe8, 0x7a, 0x5a, 0x47, 0x9b, 0x83, 0x61, 0x00, 0x00, 0x57, 0xad,
- 0x48, 0x9b, 0x25, 0x72, 0x00, 0xf8, 0x95, 0x2a, 0x89, 0x9b, 0xa6, 0x82, 0x2e, 0x09, 0xea, 0xaf, 0x2b, 0xb4, 0xe1, 0x48, 0x82, 0xc2, 0x42, 0x62, 0x63, 0x8a, 0xc2, 0x38, 0xfc, 0xdf, 0xdf, 0x55,
- 0x43, 0x51, 0xe2, 0x40, 0xe0, 0xee, 0x6f, 0xeb, 0x63, 0x51, 0xe2, 0x40, 0x05, 0xb9, 0xdf, 0x2b, 0xc6, 0x82, 0x02, 0x51, 0x8d, 0xeb, 0x7f, 0xff, 0x47, 0x8b, 0x42, 0x51, 0xaf, 0xaf, 0xf5, 0x0b,
- 0x4b, 0xb4, 0x07, 0x8b, 0x09, 0x09, 0x81, 0x8b, 0x4b, 0xb4, 0x06, 0x93, 0x00, 0xa0, 0xaa, 0x72, 0x2b, 0xac, 0x24, 0x7a, 0x00, 0x80, 0xaa, 0xad, 0xad, 0xc4, 0xe2, 0x38, 0x02, 0x80, 0x70, 0x5c,
- 0xaa, 0xa3, 0xc2, 0x20, 0x54, 0x55, 0x55, 0x55, 0x44, 0x31, 0xe3, 0x20, 0xbb, 0x2b, 0x8f, 0xa9, 0x24, 0x31, 0xc3, 0x20, 0x02, 0xca, 0xc2, 0x56, 0x04, 0x29, 0xc3, 0x20, 0x08, 0x00, 0xa0, 0x75,
- 0x6c, 0xbc, 0x2b, 0xb4, 0xfe, 0x0a, 0xa2, 0xbf, 0x6c, 0xbc, 0x2b, 0xb4, 0xfa, 0xfe, 0xfa, 0xe0, 0x6c, 0xbc, 0x0b, 0xb4, 0xad, 0xfe, 0xaa, 0x8a, 0x6c, 0xbc, 0x2b, 0xb4, 0x3f, 0x6b, 0x7f, 0xeb,
- 0x6c, 0xbc, 0x2b, 0xb4, 0xbf, 0xad, 0xae, 0x6f, 0x6c, 0xbc, 0x48, 0x93, 0x20, 0x00, 0x00, 0x42, 0x6c, 0xbc, 0x87, 0x7a, 0x00, 0x00, 0x28, 0x09, 0x4c, 0xbc, 0xeb, 0xb3, 0xba, 0xaa, 0xae, 0x39,
- 0x4c, 0xbc, 0x2b, 0xb4, 0xbc, 0x0e, 0x0f, 0x01, 0x6c, 0xbc, 0x2b, 0xb4, 0xc0, 0xaa, 0x76, 0x62, 0x6c, 0xbc, 0x2b, 0xb4, 0x2d, 0xda, 0xbf, 0xa5, 0x4c, 0xbc, 0x0b, 0xb4, 0x00, 0xfc, 0x3a, 0x0e,
- 0x6c, 0xc4, 0x2b, 0xb4, 0xfe, 0xf7, 0xba, 0xab, 0x6b, 0xc4, 0x2c, 0xb4, 0xff, 0xba, 0xbb, 0xaa, 0x8c, 0xbc, 0x2b, 0xb4, 0xfd, 0xfe, 0xfa, 0xec, 0x8d, 0xc4, 0x4b, 0xb4, 0xff, 0xff, 0xfd, 0xeb,
- 0x8d, 0xc4, 0x2b, 0xb4, 0xff, 0xba, 0xb7, 0x8b, 0x8c, 0xc4, 0x2b, 0xb4, 0xab, 0xaa, 0xef, 0xee, 0x4c, 0xbc, 0x0b, 0xb4, 0xb8, 0x5c, 0x02, 0x0b, 0x6c, 0xbc, 0x2b, 0xb4, 0x0d, 0xaf, 0xab, 0xaa,
- 0x6c, 0xbc, 0x0b, 0xb4, 0x50, 0xa0, 0xa2, 0x08, 0x6c, 0xc4, 0xca, 0xa3, 0xde, 0xa2, 0xaa, 0xaa, 0x4c, 0xbc, 0xca, 0xa3, 0xaf, 0xfd, 0xfa, 0xa8, 0x2b, 0xb4, 0x48, 0x9b, 0x62, 0x9a, 0xa2, 0x80,
- 0x2b, 0xb4, 0x8a, 0xa3, 0xf5, 0xbf, 0x3f, 0x2a, 0x6c, 0xbc, 0xeb, 0xab, 0xfd, 0x8f, 0xf7, 0xf7, 0x6c, 0xbc, 0xeb, 0xab, 0x8b, 0xfe, 0xff, 0xf7, 0x4c, 0xb4, 0xea, 0xab, 0xe5, 0x0f, 0xcd, 0xb2,
- 0x4c, 0xbc, 0x0b, 0xb4, 0xe5, 0xaa, 0xcb, 0xe2, 0x4c, 0xbc, 0x0a, 0xac, 0xfa, 0xbe, 0x5e, 0xde, 0x6c, 0xbc, 0x0b, 0xb4, 0x4a, 0xa5, 0xff, 0xfa, 0x4c, 0xbc, 0x0a, 0xac, 0x06, 0xba, 0xfe, 0xfe,
- 0x4c, 0xbc, 0x0b, 0xac, 0x96, 0xbf, 0xde, 0xdf, 0x6c, 0xbc, 0xea, 0xab, 0xa2, 0xfa, 0xfd, 0xab, 0x4c, 0xbc, 0xea, 0xab, 0x8b, 0xab, 0x22, 0xdc, 0x4c, 0xbc, 0x0a, 0xac, 0xaa, 0xde, 0xfe, 0xb7,
- 0x4c, 0xbc, 0xea, 0xa3, 0x7e, 0xbe, 0xca, 0xbb, 0x4c, 0xb4, 0x0a, 0xac, 0xbb, 0xbb, 0xa0, 0xd5, 0x6c, 0xbc, 0x0a, 0xac, 0x8b, 0xfb, 0x7d, 0x77, 0x4c, 0xb4, 0xea, 0xab, 0xae, 0x22, 0xfd, 0xfd,
- 0x6c, 0xbc, 0x0b, 0xac, 0x2f, 0xbf, 0x57, 0xbf, 0x6c, 0xbc, 0x0a, 0xac, 0xd5, 0x2e, 0xff, 0x57, 0x6c, 0xbc, 0xeb, 0xab, 0xee, 0xf8, 0xd7, 0xbf, 0x6c, 0xbc, 0xeb, 0xab, 0xc3, 0xff, 0xaf, 0x7f,
- 0x6d, 0xbc, 0xeb, 0xab, 0xde, 0xaf, 0xaf, 0xb3, 0x6c, 0xb4, 0xeb, 0xab, 0xdf, 0xab, 0xfe, 0xa8, 0x6c, 0xb4, 0x0b, 0xac, 0x39, 0xff, 0xab, 0xff, 0x8d, 0xbc, 0x0b, 0xac, 0xfa, 0x1c, 0xaf, 0xfe,
- 0x8c, 0xbc, 0xaa, 0xa3, 0xaa, 0xee, 0xde, 0x8b, 0x4c, 0xb4, 0xeb, 0xa3, 0xfd, 0xab, 0xe2, 0xb3, 0x6c, 0xb4, 0x0b, 0xac, 0xcd, 0x6f, 0xb7, 0x5f, 0x4c, 0xb4, 0x0a, 0xac, 0xc7, 0xef, 0x57, 0x55,
- 0x4c, 0xb4, 0xeb, 0xab, 0xae, 0xac, 0xf5, 0x69, 0x8d, 0xbc, 0xca, 0xa3, 0xea, 0xca, 0xff, 0xdf, 0x6c, 0xb4, 0xa9, 0x9b, 0xaa, 0xaa, 0x7e, 0x2f, 0x6b, 0xb4, 0x68, 0x9b, 0xaa, 0xca, 0x55, 0x5a,
- 0x0a, 0xac, 0xa6, 0x7a, 0x80, 0xaf, 0xea, 0x7e, 0x2c, 0xac, 0x46, 0x7a, 0x02, 0x9e, 0xad, 0x02, 0x2b, 0xb4, 0x8a, 0x9b, 0x0b, 0x89, 0xaa, 0x2a, 0x2b, 0xb4, 0xaa, 0xa3, 0x8a, 0xad, 0x8a, 0xaa,
- 0x8c, 0xb4, 0x0b, 0xac, 0x5d, 0x5c, 0xf5, 0xff, 0x4c, 0xb4, 0xea, 0xab, 0x3f, 0x2b, 0x2e, 0x75, 0xac, 0xbc, 0x83, 0x61, 0x00, 0xa8, 0x00, 0xde, 0x8b, 0xbc, 0x02, 0x51, 0x00, 0x00, 0x00, 0x5f,
- 0x8b, 0xbc, 0x22, 0x59, 0x00, 0x02, 0x00, 0x5d, 0x6b, 0xb4, 0xa2, 0x61, 0x00, 0x00, 0x00, 0xf5, 0x6b, 0xb4, 0x05, 0x6a, 0x00, 0x82, 0x00, 0xd5, 0x2b, 0xb4, 0x65, 0x82, 0x20, 0x02, 0x7e, 0x7f,
- 0x8c, 0xbc, 0x82, 0x61, 0x08, 0x0a, 0xd7, 0xff, 0x6c, 0xb4, 0x66, 0x7a, 0x02, 0xa0, 0xb5, 0xbd, 0x6c, 0xb4, 0xe3, 0x69, 0x00, 0x00, 0x7f, 0xff, 0x4b, 0xb4, 0x63, 0x59, 0x00, 0x00, 0x95, 0xaa,
- 0x4b, 0xb4, 0xe7, 0x8a, 0x00, 0xaa, 0x2f, 0x7a, 0x4b, 0xb4, 0xa7, 0x82, 0x80, 0xa8, 0xfa, 0xd5, 0x8c, 0xb4, 0x25, 0x72, 0x0a, 0xa2, 0xd7, 0xff, 0x4b, 0xb4, 0x66, 0x7a, 0x00, 0x00, 0xd5, 0xfe,
- 0x6b, 0xb4, 0xe8, 0x8a, 0x20, 0xba, 0xd7, 0xaf, 0x4b, 0xac, 0xc8, 0x82, 0x00, 0x6a, 0x2b, 0x00, 0x4c, 0xb4, 0x6a, 0x9b, 0xa8, 0x09, 0x28, 0x22, 0xcd, 0xc4, 0xa8, 0x9b, 0xab, 0xbe, 0xff, 0x78,
- 0x4b, 0xb4, 0xe0, 0x71, 0x00, 0x00, 0x00, 0x5e, 0x2b, 0xac, 0xa0, 0x69, 0x00, 0x00, 0x00, 0x75, 0x8b, 0xb4, 0xc0, 0x58, 0x00, 0x00, 0x00, 0x7f, 0x8b, 0xbc, 0xa2, 0x50, 0x00, 0x80, 0x00, 0x55,
- 0x2a, 0xb4, 0x42, 0x51, 0x00, 0x00, 0x80, 0x75, 0x2a, 0xb4, 0x22, 0x51, 0x00, 0x20, 0xbe, 0x55, 0x4a, 0xb4, 0x21, 0x59, 0x00, 0x00, 0x7f, 0x55, 0x2a, 0xb4, 0xe1, 0x50, 0x00, 0x00, 0x55, 0x5d,
- 0x09, 0xb4, 0x21, 0x51, 0xa0, 0x00, 0x55, 0xd5, 0x49, 0xb4, 0x03, 0x49, 0xaa, 0x00, 0xf5, 0xff, 0x08, 0xac, 0x87, 0x7a, 0xab, 0x08, 0x55, 0xd5, 0x6c, 0xb4, 0xe4, 0x69, 0x02, 0x56, 0xdf, 0xaf,
- 0x6b, 0xb4, 0xa4, 0x61, 0x00, 0xfd, 0xab, 0xaa, 0x6b, 0xb4, 0xe7, 0x8a, 0xa0, 0xb7, 0xff, 0xaf, 0x0a, 0xac, 0x47, 0x93, 0x00, 0xfa, 0x5f, 0xff, 0x2b, 0xb4, 0xe4, 0x69, 0x00, 0xdf, 0x96, 0xaa,
- 0x4a, 0xb4, 0xa3, 0x61, 0x20, 0xff, 0xa7, 0xa7, 0xea, 0xa3, 0xa4, 0x61, 0x28, 0x25, 0xaa, 0x38, 0xeb, 0xab, 0xe4, 0x69, 0x9c, 0x2a, 0x2a, 0x0a, 0x0b, 0xac, 0x69, 0x9b, 0xd6, 0x3a, 0xbe, 0xbc,
- 0x2b, 0xac, 0x69, 0x9b, 0x8b, 0xaa, 0x62, 0xa0, 0x2b, 0xb4, 0x69, 0x9b, 0xae, 0x82, 0x29, 0xaa, 0x4c, 0xb4, 0xa6, 0x82, 0xaa, 0xaa, 0xa0, 0x66, 0xc9, 0xa3, 0x61, 0x61, 0x00, 0x00, 0xba, 0xd5,
- 0x6b, 0xb4, 0xc4, 0x50, 0x02, 0x02, 0x02, 0xdf, 0x2b, 0xb4, 0x27, 0x8b, 0xaa, 0xaa, 0xa8, 0xdf, 0x4c, 0xb4, 0x01, 0x7a, 0x0a, 0xaa, 0x02, 0x5e, 0x8d, 0xbc, 0x27, 0x93, 0xaa, 0xaa, 0xaa, 0x13,
- 0x8c, 0xbc, 0x23, 0x72, 0x00, 0xaa, 0x9c, 0x87, 0x0b, 0xb4, 0xa7, 0x82, 0x70, 0xfa, 0xa0, 0xae, 0x89, 0x9b, 0x05, 0x72, 0xd8, 0x8b, 0xab, 0x8a, 0x28, 0x93, 0xe7, 0x82, 0xd9, 0xea, 0x73, 0x79,
- 0x28, 0x93, 0xa6, 0x82, 0x2a, 0x2a, 0x7e, 0xfb, 0x69, 0x9b, 0x04, 0x72, 0xca, 0x72, 0x5a, 0xba, 0x6c, 0xbc, 0xa1, 0x48, 0x72, 0x50, 0x50, 0xd8, 0x43, 0x59, 0xa2, 0x30, 0xb5, 0xaf, 0x20, 0x28,
- 0x43, 0x59, 0xe2, 0x48, 0x97, 0x3a, 0x2a, 0xa8, 0x67, 0x72, 0x03, 0x51, 0x55, 0x9f, 0xa5, 0x0b, 0x4a, 0x8b, 0x64, 0x59, 0xd5, 0xbf, 0xaf, 0x02, 0xca, 0xa3, 0x67, 0x72, 0xa5, 0xbb, 0xaf, 0x0a,
- 0x2c, 0xb4, 0x49, 0x93, 0xc9, 0xaf, 0x2a, 0xaa, 0x2c, 0xb4, 0x05, 0x7a, 0xb7, 0xaa, 0x80, 0x00, 0x8c, 0xbc, 0x22, 0x49, 0x2f, 0x83, 0xc2, 0x50, 0x29, 0x8b, 0x23, 0x39, 0x54, 0x57, 0xff, 0x55,
- 0x85, 0x49, 0x24, 0x31, 0x55, 0xde, 0x8a, 0xaf, 0x65, 0x41, 0xe4, 0x28, 0xb7, 0xa3, 0xe0, 0x7a, 0x24, 0x31, 0xa2, 0x10, 0xf8, 0x78, 0x7e, 0x7f, 0xc3, 0x20, 0x82, 0x10, 0x0a, 0xb7, 0xff, 0x7e,
- 0x6c, 0xbc, 0xeb, 0xb3, 0x0a, 0x02, 0xaa, 0x37, 0x8c, 0xbc, 0x4b, 0xb4, 0x7f, 0x57, 0xeb, 0x2a, 0x6c, 0xbc, 0x2b, 0xb4, 0x7f, 0x53, 0xe9, 0x80, 0x6c, 0xbc, 0x0b, 0xb4, 0xab, 0x22, 0x8a, 0xad,
- 0x6c, 0xbc, 0xcb, 0xab, 0xaa, 0xa8, 0xb6, 0x2a, 0x6c, 0xbc, 0x69, 0x9b, 0xda, 0x20, 0xa8, 0x00, 0x6c, 0xbc, 0xca, 0xa3, 0x2b, 0xa0, 0x6a, 0xc2, 0x6c, 0xbc, 0x0b, 0xac, 0xaa, 0x82, 0xa9, 0xa9,
- 0x8c, 0xc4, 0x48, 0x9b, 0xaa, 0x6a, 0xd2, 0xaa, 0x4c, 0xbc, 0xaa, 0xa3, 0xaa, 0xad, 0x83, 0x00, 0x6c, 0xbc, 0x2b, 0xb4, 0xfd, 0x2f, 0xa7, 0xbb, 0x6c, 0xbc, 0xeb, 0xab, 0x8a, 0x8a, 0x28, 0x16,
- 0x6c, 0xbc, 0xa9, 0xa3, 0x00, 0x00, 0x40, 0x60, 0x8c, 0xbc, 0x63, 0x59, 0x80, 0xba, 0xa5, 0x0a, 0x6c, 0xbc, 0xcb, 0xab, 0xad, 0xab, 0x0a, 0x20, 0x6d, 0xc4, 0x2b, 0xb4, 0xaa, 0x37, 0x8b, 0xaa,
- 0x8c, 0xc4, 0x4b, 0xbc, 0xba, 0xaa, 0x7f, 0xff, 0x6b, 0xc4, 0x4c, 0xb4, 0xef, 0xae, 0xbf, 0x8a, 0x6c, 0xbc, 0x0b, 0xb4, 0x2a, 0x2d, 0x20, 0x00, 0x6c, 0xc4, 0x4b, 0xb4, 0xeb, 0xeb, 0xfa, 0xaa,
- 0x6b, 0xc4, 0x2c, 0xb4, 0xff, 0x2a, 0xba, 0xaf, 0x8c, 0xc4, 0x69, 0x9b, 0x82, 0x02, 0xb8, 0x9e, 0x8c, 0xc4, 0x83, 0x61, 0x00, 0x80, 0xa0, 0xdc, 0x2b, 0xb4, 0x48, 0x93, 0xa8, 0x02, 0x8a, 0x7f,
- 0x4b, 0xb4, 0xaa, 0xab, 0xea, 0xea, 0xb7, 0x2f, 0x4b, 0xb4, 0xea, 0xab, 0xfd, 0xff, 0x3a, 0xee, 0x4b, 0xb4, 0x68, 0xa3, 0xaa, 0x88, 0x80, 0x6a, 0x2b, 0xb4, 0x68, 0x9b, 0x00, 0x02, 0x0a, 0x75,
- 0x4b, 0xb4, 0x81, 0x61, 0x00, 0x00, 0x00, 0xd7, 0x4b, 0xb4, 0x65, 0x7a, 0x00, 0x00, 0x2a, 0xed, 0x2b, 0xb4, 0xe3, 0x71, 0x00, 0x00, 0x00, 0x7a, 0x4b, 0xb4, 0x45, 0x7a, 0x08, 0x80, 0x2a, 0x5d,
- 0x2b, 0xb4, 0x43, 0x7a, 0x00, 0x00, 0x00, 0xfd, 0x4b, 0xb4, 0x42, 0x59, 0x00, 0x00, 0x00, 0xa5, 0x2b, 0xb4, 0x28, 0x9b, 0x00, 0x00, 0xa0, 0xad, 0x6a, 0xbc, 0x84, 0x61, 0x00, 0x40, 0xff, 0xaa,
- 0x4a, 0xb4, 0xe3, 0x48, 0x20, 0xa5, 0xaa, 0x8a, 0x0a, 0xb4, 0x49, 0x8b, 0x02, 0x7b, 0xaa, 0xea, 0x0a, 0xac, 0xc7, 0x82, 0x0a, 0xbb, 0xa6, 0x2b, 0x2a, 0xac, 0x49, 0x9b, 0x0a, 0x7f, 0x2c, 0xa2,
- 0x2b, 0xb4, 0xe3, 0x69, 0x80, 0x0b, 0x00, 0xa7, 0x2b, 0xb4, 0xe8, 0x92, 0x82, 0x02, 0x20, 0xb5, 0x4b, 0xbc, 0x46, 0x7a, 0x00, 0x00, 0x80, 0xb7, 0x2b, 0xb4, 0xc6, 0x8a, 0x00, 0x00, 0xaa, 0x6b,
- 0x2a, 0xb4, 0xa7, 0x82, 0x00, 0x00, 0x00, 0x95, 0x4b, 0xb4, 0x07, 0x8b, 0x0a, 0x00, 0xaa, 0xfd, 0x6c, 0xbc, 0x27, 0x93, 0x2a, 0xaa, 0xef, 0x5f, 0xac, 0xc4, 0x28, 0x93, 0xaa, 0xf2, 0x5f, 0xf7,
- 0x6c, 0xbc, 0xe7, 0x8a, 0xa0, 0x8a, 0x7f, 0xff, 0x4a, 0xb4, 0x07, 0x93, 0x08, 0xff, 0x55, 0x7f, 0x0a, 0xac, 0x08, 0x8b, 0x08, 0xff, 0xff, 0xdf, 0x2a, 0xb4, 0xa7, 0x82, 0x0a, 0x5e, 0xff, 0xbf,
- 0x2a, 0xac, 0x24, 0x72, 0x00, 0xd7, 0xff, 0xaa, 0x0a, 0xac, 0x63, 0x59, 0x00, 0x7f, 0xff, 0xaa, 0x4a, 0xb4, 0xe5, 0x69, 0xf8, 0xfd, 0xaf, 0xaa, 0xcb, 0xa3, 0x45, 0x72, 0xad, 0xaf, 0x2a, 0x02,
- 0x4c, 0xb4, 0x09, 0x8b, 0xd7, 0xaf, 0xaa, 0x0a, 0x4c, 0xb4, 0x26, 0x93, 0x8a, 0x8a, 0xa0, 0x68, 0x2b, 0xb4, 0x06, 0x8b, 0x82, 0x00, 0xe0, 0x5f, 0xac, 0xc4, 0x23, 0x72, 0x0a, 0x82, 0x5f, 0x7f,
- 0x49, 0xb4, 0xe1, 0x50, 0x80, 0xfe, 0xea, 0x5f, 0x46, 0x9b, 0x22, 0x51, 0xf0, 0xae, 0xff, 0xd5, 0x07, 0x8b, 0xc4, 0x69, 0x03, 0xaa, 0xb7, 0xbf, 0x07, 0x8b, 0x25, 0x72, 0x54, 0xba, 0xfd, 0x20,
- 0x07, 0x8b, 0x26, 0x72, 0x7a, 0xaf, 0xaa, 0xa0, 0x48, 0x93, 0x06, 0x72, 0xb5, 0xbf, 0xaf, 0x0a, 0x48, 0x93, 0x45, 0x72, 0x2f, 0xa7, 0xea, 0x00, 0x48, 0x93, 0x04, 0x6a, 0x20, 0xaa, 0x7b, 0x00,
- 0x47, 0x93, 0xe5, 0x69, 0xa8, 0xaa, 0xf5, 0x00, 0xa9, 0xa3, 0xc5, 0x61, 0x2a, 0xab, 0xbd, 0x8a, 0xa8, 0xa3, 0x64, 0x59, 0x80, 0x2b, 0x5e, 0x00, 0xa7, 0x9b, 0x45, 0x59, 0x00, 0x0a, 0xf5, 0xa2,
- 0xa7, 0x9b, 0x05, 0x72, 0x08, 0x7a, 0xff, 0xbf, 0xa8, 0x9b, 0xa2, 0x40, 0x00, 0x55, 0x7e, 0xaa, 0x66, 0x93, 0xe2, 0x40, 0x00, 0x2d, 0x55, 0xaa, 0x08, 0xac, 0x03, 0x51, 0x0a, 0xe8, 0xd5, 0xff,
- 0x8a, 0xb4, 0xa2, 0x48, 0x00, 0x57, 0xff, 0xbf, 0x27, 0xb4, 0xa3, 0x40, 0xa0, 0x55, 0xbf, 0xab, 0x46, 0x9b, 0x24, 0x51, 0xe0, 0x75, 0xfe, 0xaa, 0xe9, 0x82, 0xa0, 0x40, 0xf5, 0xeb, 0xba, 0x02,
- 0x48, 0x8b, 0x03, 0x49, 0x55, 0x7f, 0xbb, 0x0a, 0x48, 0x93, 0x44, 0x51, 0xd5, 0xab, 0x22, 0x00, 0x28, 0x93, 0xe5, 0x69, 0x7b, 0xfa, 0xa8, 0x00, 0x69, 0x93, 0x63, 0x59, 0x7f, 0xfe, 0xaa, 0x00,
- 0x69, 0x9b, 0x64, 0x59, 0xf5, 0xaf, 0x0a, 0x00, 0x69, 0x9b, 0xc5, 0x61, 0xd5, 0xaa, 0xaa, 0x08, 0x69, 0x93, 0xe5, 0x69, 0x5f, 0xba, 0x0a, 0x00, 0x89, 0x9b, 0xe5, 0x61, 0x5f, 0xaa, 0x00, 0x00,
- 0x69, 0x9b, 0x06, 0x6a, 0xfd, 0xaa, 0x28, 0x00, 0x8a, 0x9b, 0x26, 0x6a, 0xad, 0xaa, 0x00, 0x02, 0xca, 0xa3, 0x08, 0x8b, 0xf5, 0xa3, 0xaa, 0x0a, 0xa9, 0xa3, 0x28, 0x93, 0x7f, 0xa8, 0xbc, 0xae,
- 0xa9, 0xa3, 0x28, 0x93, 0xbe, 0x7f, 0xeb, 0xb0, 0xaa, 0xa3, 0xc7, 0x82, 0x22, 0x2d, 0x00, 0x0a, 0xca, 0xa3, 0x86, 0x82, 0x8a, 0x80, 0x28, 0xa6, 0xca, 0xa3, 0xe8, 0x92, 0x7f, 0xba, 0x02, 0x0a,
- 0xca, 0xa3, 0x67, 0x7a, 0xa6, 0x00, 0x00, 0x00, 0x0c, 0xac, 0xe7, 0x8a, 0x9e, 0xbe, 0xbe, 0x2a, 0x0b, 0xac, 0xaa, 0xa3, 0x05, 0xe9, 0x0b, 0x00, 0x2b, 0xb4, 0x69, 0x9b, 0x06, 0x02, 0x08, 0xa0,
- 0x4c, 0xbc, 0x0b, 0xb4, 0xbf, 0xc3, 0xf0, 0xfd, 0x6c, 0xbc, 0x0a, 0xac, 0xf9, 0xba, 0x98, 0x6e, 0x2b, 0xbc, 0x01, 0x51, 0x50, 0x5c, 0xd6, 0x57, 0x69, 0x9b, 0xa4, 0x61, 0xbd, 0x2b, 0x2b, 0x2b,
- 0xad, 0xc4, 0xe8, 0x8a, 0x8d, 0x8b, 0xab, 0x8b, 0x2c, 0xbc, 0xe0, 0x50, 0x40, 0x40, 0x40, 0x60, 0x86, 0x82, 0x63, 0x59, 0x5f, 0xfb, 0xab, 0x83, 0x8d, 0xbc, 0x04, 0x72, 0xf7, 0xfa, 0x8b, 0x8b,
- 0x2c, 0xac, 0xa6, 0x82, 0x81, 0xa3, 0xa4, 0xbb, 0x0b, 0xac, 0x69, 0x9b, 0x8b, 0xf6, 0x55, 0xd5, 0x89, 0xa3, 0x62, 0x61, 0xa8, 0xdc, 0xb6, 0xa7, 0x07, 0x93, 0xa6, 0x82, 0xfb, 0xea, 0xfc, 0xf4,
- 0x48, 0x93, 0x65, 0x7a, 0xbe, 0x17, 0x27, 0x57, 0x0b, 0xb4, 0x24, 0x72, 0xbf, 0x3f, 0x3f, 0xc7, 0x6d, 0xc4, 0x22, 0x59, 0x54, 0x56, 0x57, 0x55, 0xc8, 0x7a, 0x03, 0x51, 0x55, 0xd5, 0xad, 0x0a,
- 0x69, 0x93, 0x44, 0x51, 0xd5, 0xab, 0x2a, 0x02, 0xaa, 0xa3, 0x67, 0x72, 0xd5, 0x8b, 0x2a, 0x02, 0x0b, 0xac, 0x29, 0x93, 0xbd, 0xfb, 0xaa, 0x0a, 0x2c, 0xac, 0xaa, 0x9b, 0xfd, 0xbf, 0xaa, 0x2a,
- 0x4b, 0xb4, 0xec, 0xab, 0xad, 0x2b, 0xaa, 0x08, 0x8c, 0xc4, 0xc1, 0x30, 0x00, 0x80, 0x70, 0x57, 0x88, 0xa3, 0xa3, 0x20, 0xfc, 0xd7, 0x57, 0x55, 0x85, 0x41, 0xc3, 0x28, 0xe8, 0xea, 0xff, 0xd5,
- 0x24, 0x39, 0xa2, 0x18, 0x00, 0xaa, 0xfa, 0x5e, 0x24, 0x31, 0xc3, 0x18, 0xe0, 0xe8, 0xef, 0xf5, 0xe3, 0x20, 0x82, 0x10, 0x7f, 0xfe, 0xfb, 0xfa, 0xc3, 0x18, 0x82, 0x10, 0xfa, 0xf9, 0xcc, 0x80,
- 0x8d, 0xbc, 0x4b, 0xb4, 0xbd, 0x17, 0xf5, 0xaf, 0x8c, 0xbc, 0x4b, 0xb4, 0x8f, 0xbc, 0xae, 0x7f, 0x6c, 0xbc, 0x6a, 0x9b, 0x80, 0x60, 0xa8, 0x20, 0x8c, 0xc4, 0x0b, 0xac, 0xff, 0xa1, 0x0a, 0x8a,
- 0x8d, 0xc4, 0x0b, 0xac, 0xab, 0xf6, 0xe8, 0xaa, 0x6c, 0xbc, 0x0b, 0xac, 0x02, 0x2b, 0x29, 0xa0, 0x6c, 0xbc, 0x89, 0xa3, 0x80, 0xad, 0x2a, 0x8a, 0x4c, 0xbc, 0x2b, 0xb4, 0x2d, 0x82, 0x20, 0x0b,
- 0x6c, 0xbc, 0x0b, 0xb4, 0x9b, 0x3a, 0xae, 0xea, 0x6c, 0xbc, 0xaa, 0xa3, 0x20, 0x98, 0xa8, 0xaf, 0x6c, 0xbc, 0xca, 0xa3, 0xa2, 0x2d, 0x0b, 0x80, 0x8c, 0xc4, 0x4b, 0xb4, 0x6b, 0x5f, 0xba, 0xff,
- 0xac, 0xc4, 0x45, 0x7a, 0x82, 0x00, 0x00, 0x40, 0x6b, 0xbc, 0x85, 0x59, 0x00, 0x00, 0x28, 0x2d, 0x6c, 0xbc, 0x29, 0x93, 0x00, 0x02, 0xa2, 0x24, 0x6c, 0xbc, 0x2b, 0xb4, 0x08, 0x2f, 0x2f, 0x83,
- 0x6c, 0xbc, 0x2a, 0xb4, 0xa8, 0x00, 0xc8, 0xff, 0x6c, 0xbc, 0x2b, 0xb4, 0x00, 0xe0, 0x28, 0x9b, 0x6c, 0xbc, 0x2b, 0xb4, 0x00, 0x0a, 0x2a, 0xae, 0x4c, 0xbc, 0x2b, 0xb4, 0xd0, 0x20, 0x08, 0x02,
- 0x6c, 0xbc, 0x2b, 0xb4, 0x02, 0xf8, 0xe2, 0xee, 0x4c, 0xbc, 0x0b, 0xb4, 0x5c, 0xa8, 0xa8, 0x8e, 0x4b, 0xb4, 0x6a, 0x9b, 0x7a, 0xa0, 0x80, 0x00, 0x0b, 0xb4, 0x29, 0x93, 0x7b, 0xa8, 0xa0, 0x00,
- 0x0b, 0xac, 0x48, 0x93, 0xd7, 0xfa, 0xaa, 0x00, 0xea, 0xb3, 0xc7, 0x82, 0x77, 0xba, 0x20, 0x00, 0xea, 0xab, 0x07, 0x93, 0xa9, 0xaa, 0xa2, 0x00, 0x0b, 0xac, 0x49, 0x9b, 0xfd, 0xff, 0xaa, 0x0a,
- 0x4a, 0xbc, 0xe8, 0x82, 0xd5, 0xbf, 0xaa, 0xa0, 0xca, 0xa3, 0x48, 0x93, 0xe5, 0xee, 0x88, 0x00, 0xca, 0xa3, 0xe8, 0x8a, 0x7e, 0xa8, 0xa8, 0x00, 0xca, 0xa3, 0xe8, 0x8a, 0x7f, 0xea, 0xe2, 0x88,
- 0xaa, 0xa3, 0xa7, 0x82, 0x7f, 0xaa, 0x2a, 0x00, 0xa9, 0xab, 0xca, 0x82, 0x29, 0xaa, 0x88, 0x00, 0xa9, 0xa3, 0x48, 0x9b, 0xd0, 0x97, 0x7a, 0x28, 0x2b, 0xb4, 0x89, 0xa3, 0x55, 0x55, 0xd5, 0xcb,
- 0x0b, 0xac, 0x69, 0x9b, 0xeb, 0x7b, 0xeb, 0x0a, 0x2b, 0xb4, 0xaa, 0xa3, 0x7d, 0x5d, 0xd7, 0x3a, 0x2b, 0xb4, 0xaa, 0xa3, 0xa5, 0xbb, 0xaa, 0xa0, 0x0b, 0xb4, 0xc9, 0xa3, 0x7e, 0xfe, 0xea, 0xf0,
- 0xea, 0xab, 0x89, 0x9b, 0xdf, 0xaa, 0xa2, 0x20, 0xeb, 0xab, 0x68, 0x9b, 0x7e, 0xfa, 0xfa, 0x20, 0xeb, 0xa3, 0x48, 0x93, 0xd7, 0xaf, 0xaa, 0x00, 0x0b, 0xac, 0x69, 0x9b, 0x7d, 0xfb, 0xff, 0x00,
- 0x0b, 0xac, 0x48, 0x93, 0xff, 0x5f, 0xfe, 0xa0, 0xeb, 0xa3, 0x28, 0x93, 0x7f, 0xf7, 0xba, 0x00, 0xca, 0xa3, 0x28, 0x93, 0xde, 0xda, 0x2a, 0x20, 0xca, 0xa3, 0x48, 0x93, 0x57, 0xdf, 0xaa, 0x2a,
- 0xca, 0xa3, 0x48, 0x9b, 0x7d, 0xfb, 0x0a, 0x02, 0xea, 0xab, 0x49, 0x9b, 0x5f, 0xfa, 0xea, 0x80, 0x4b, 0xb4, 0x08, 0x8b, 0xff, 0xdf, 0xea, 0xa2, 0xeb, 0xab, 0x08, 0x8b, 0x7b, 0xab, 0xa2, 0x00,
- 0x0b, 0xac, 0x09, 0x93, 0x77, 0xbf, 0x2a, 0x02, 0x0b, 0xac, 0x29, 0x8b, 0xd5, 0x2a, 0x8a, 0xa0, 0x0b, 0xac, 0x6a, 0x9b, 0xe9, 0xaa, 0xba, 0x0b, 0x4b, 0xb4, 0xca, 0xa3, 0xfd, 0x0b, 0x82, 0x2b,
- 0x4b, 0xbc, 0x04, 0x72, 0x00, 0x80, 0x7a, 0xf8, 0x4a, 0xbc, 0xc6, 0x82, 0xf8, 0xf5, 0xd5, 0x55, 0x68, 0x93, 0x25, 0x72, 0x78, 0xf8, 0xa2, 0xa8, 0xaa, 0xa3, 0xa4, 0x61, 0x5d, 0xea, 0xba, 0x00,
- 0xa9, 0x9b, 0xc5, 0x61, 0x55, 0xfe, 0xaa, 0x80, 0x8a, 0x9b, 0x05, 0x62, 0xfd, 0xbf, 0xaa, 0x02, 0xa9, 0xa3, 0xc7, 0x82, 0xfd, 0xb7, 0xae, 0x00, 0xa9, 0xa3, 0x08, 0x8b, 0x6e, 0x7e, 0x7a, 0xe8,
- 0xaa, 0xa3, 0xa7, 0x7a, 0xff, 0xa9, 0xa2, 0x0a, 0xc9, 0xa3, 0x08, 0x93, 0xdf, 0xff, 0xaf, 0xa8, 0xaa, 0xa3, 0x49, 0x93, 0xab, 0x2b, 0x8b, 0x6a, 0xca, 0xa3, 0x48, 0x93, 0x73, 0xba, 0xab, 0x0a,
- 0xca, 0xab, 0x28, 0x8b, 0xfd, 0x82, 0xa8, 0xa2, 0xca, 0xa3, 0x08, 0x93, 0xeb, 0xaa, 0x89, 0xef, 0xeb, 0xab, 0x48, 0x93, 0xd7, 0xb5, 0xbb, 0x2e, 0x6c, 0xbc, 0x83, 0x59, 0xba, 0xa4, 0xba, 0xa8,
- 0xaa, 0xa3, 0x08, 0x8b, 0xf5, 0x82, 0x22, 0x8a, 0xaa, 0xa3, 0xc7, 0x82, 0xba, 0x6e, 0x08, 0x8a, 0xc9, 0xa3, 0x87, 0x7a, 0x5e, 0x95, 0x0a, 0x2a, 0xc9, 0xa3, 0x28, 0x8b, 0x55, 0xfa, 0xe8, 0xa8,
- 0x69, 0x9b, 0x08, 0x8b, 0xed, 0x81, 0x62, 0x60, 0x69, 0x93, 0xe7, 0x8a, 0x3b, 0x7f, 0xbd, 0xa2, 0x68, 0x9b, 0xa6, 0x82, 0x7a, 0xff, 0xa0, 0xa0, 0x89, 0x9b, 0xe7, 0x82, 0xab, 0x78, 0xde, 0x2a,
- 0xca, 0xa3, 0xa7, 0x7a, 0xb5, 0xaf, 0x2a, 0x0a, 0xa9, 0xa3, 0x08, 0x8b, 0x77, 0xbe, 0xa8, 0xe8, 0xca, 0xa3, 0x08, 0x8b, 0xd6, 0xbe, 0x02, 0xaa, 0x0b, 0xac, 0x68, 0x93, 0xfe, 0x6f, 0xbf, 0x2f,
- 0x4b, 0xac, 0x29, 0x93, 0xdf, 0xbf, 0xaa, 0x00, 0x4b, 0xac, 0x49, 0x9b, 0xd5, 0xff, 0xa0, 0xe4, 0x0a, 0xac, 0x69, 0x9b, 0xd5, 0xed, 0x8a, 0xff, 0x0b, 0xac, 0x48, 0x93, 0xf5, 0xab, 0x0a, 0xab,
- 0x4c, 0xac, 0x89, 0x9b, 0x55, 0xff, 0xa0, 0xaf, 0x6b, 0xb4, 0x41, 0x61, 0xaa, 0x0a, 0xc0, 0x58, 0x8c, 0xbc, 0xa2, 0x61, 0xaa, 0xf8, 0xed, 0xff, 0xc9, 0xa3, 0x26, 0x72, 0x00, 0x5d, 0xbd, 0xab,
- 0xc9, 0xa3, 0x28, 0x8b, 0x28, 0xd5, 0xaf, 0x0b, 0xca, 0xa3, 0x48, 0x9b, 0x7d, 0xdf, 0xaa, 0x20, 0xeb, 0xa3, 0x49, 0x9b, 0xa5, 0xab, 0x2a, 0x28, 0x2b, 0xac, 0x8a, 0x9b, 0xfb, 0xdf, 0x3a, 0xa0,
- 0x6c, 0xbc, 0xaa, 0x9b, 0xff, 0x6b, 0xaa, 0xa0, 0xad, 0xc4, 0x2b, 0xac, 0xdf, 0xdc, 0xfd, 0xc7, 0x8d, 0xbc, 0x0b, 0xac, 0xaf, 0x8f, 0xee, 0x55, 0x4c, 0xb4, 0x89, 0x9b, 0x98, 0x9e, 0x2e, 0x2e,
- 0x4c, 0xb4, 0xaa, 0xa3, 0x03, 0x20, 0x89, 0x62, 0x2b, 0xb4, 0x21, 0x51, 0xc0, 0x60, 0x50, 0x58, 0x49, 0x8b, 0xe2, 0x50, 0xfd, 0xbd, 0x2f, 0x2a, 0x0b, 0xac, 0xe7, 0x82, 0xad, 0xaf, 0x2b, 0x0a,
- 0x8d, 0xc4, 0xeb, 0xa3, 0x8d, 0xa9, 0xad, 0xa7, 0x8d, 0xc4, 0x01, 0x51, 0x70, 0x50, 0xd0, 0xd0, 0xeb, 0xa3, 0xe4, 0x69, 0xfd, 0xad, 0x2b, 0x0a, 0x8d, 0xbc, 0x28, 0x8b, 0xc9, 0x8b, 0xaa, 0x8a,
- 0x0a, 0xac, 0xc2, 0x69, 0xa2, 0xa8, 0xf7, 0xd5, 0x89, 0x9b, 0xa6, 0x8a, 0x20, 0x0a, 0xe9, 0xef, 0x28, 0x93, 0x24, 0x72, 0x8d, 0x09, 0x82, 0x8a, 0x48, 0x93, 0xa6, 0x82, 0xf6, 0x6e, 0xf2, 0xaf,
- 0x0b, 0xac, 0xe4, 0x69, 0x9f, 0xff, 0x2f, 0x0b, 0x4c, 0xb4, 0x84, 0x61, 0x4b, 0xf2, 0xb8, 0x08, 0x0c, 0xac, 0xc6, 0x59, 0xad, 0xab, 0x02, 0x00, 0x2c, 0xac, 0xe9, 0x82, 0xf5, 0xae, 0xaa, 0x00,
- 0x2c, 0xb4, 0x8a, 0x9b, 0xf5, 0xe9, 0xaa, 0xa0, 0x2c, 0xb4, 0xcb, 0xa3, 0x55, 0xab, 0x0f, 0x0a, 0x6b, 0xbc, 0x0c, 0xac, 0x75, 0x75, 0xbf, 0x4b, 0x8d, 0xc4, 0x23, 0x41, 0x00, 0x00, 0xe0, 0x57,
- 0x8a, 0xcc, 0xc3, 0x28, 0xe0, 0x5e, 0x55, 0x55, 0x24, 0x31, 0xc3, 0x18, 0xb8, 0x7e, 0x77, 0xff, 0x04, 0x21, 0xc3, 0x18, 0x5f, 0x5f, 0xde, 0xb0, 0x24, 0x29, 0xc3, 0x20, 0xbd, 0xf5, 0x2f, 0xff,
- 0x04, 0x21, 0xc3, 0x18, 0x54, 0xfe, 0xae, 0x2e, 0x04, 0x21, 0xa3, 0x18, 0x2e, 0xee, 0x8b, 0xb4, 0x04, 0x21, 0xc3, 0x18, 0xfb, 0xd5, 0xd7, 0x0d, 0xe4, 0x20, 0xa3, 0x18, 0xb6, 0x8a, 0xbe, 0xe8,
- 0x6c, 0xbc, 0x0b, 0xb4, 0x80, 0x08, 0x09, 0x3a, 0x8c, 0xbc, 0x4b, 0xb4, 0x7f, 0x39, 0xae, 0x6b, 0x6c, 0xbc, 0x2b, 0xb4, 0xfa, 0xde, 0x26, 0xae, 0x6c, 0xbc, 0x2b, 0xb4, 0x2b, 0xe9, 0xea, 0xba,
- 0x6c, 0xbc, 0x2b, 0xb4, 0x02, 0xef, 0x2b, 0x97, 0x8c, 0xbc, 0x0b, 0xac, 0xaa, 0xeb, 0x5e, 0xe8, 0x6d, 0xbc, 0x2b, 0xb4, 0xf2, 0xaf, 0x81, 0xb0, 0x6c, 0xc4, 0xeb, 0xab, 0x7b, 0xf0, 0xba, 0xe0,
- 0x6c, 0xbc, 0x0b, 0xac, 0x73, 0xd7, 0xad, 0xaa, 0x6c, 0xbc, 0x0b, 0xb4, 0x2f, 0xeb, 0xb6, 0xae, 0x6c, 0xbc, 0x2b, 0xb4, 0xbf, 0x2b, 0x2e, 0x2e, 0x6c, 0xbc, 0x0b, 0xb4, 0x27, 0x00, 0x88, 0x20,
- 0x6c, 0xc4, 0xa8, 0x7a, 0xd0, 0x80, 0x00, 0x00, 0x6c, 0xbc, 0x8c, 0x93, 0x2d, 0x82, 0xa0, 0x02, 0x6c, 0xbc, 0x2b, 0xb4, 0xeb, 0x29, 0xaa, 0xb2, 0xac, 0xc4, 0x84, 0x61, 0x80, 0x70, 0x00, 0x00,
- 0x4c, 0xbc, 0x25, 0x72, 0x09, 0x03, 0x00, 0x00, 0x6c, 0xbc, 0x2b, 0xb4, 0xf5, 0xff, 0xdf, 0xaf, 0x6c, 0xbc, 0x2b, 0xb4, 0x2b, 0xaa, 0xaa, 0x7e, 0x4c, 0xbc, 0xeb, 0xab, 0x00, 0x80, 0xa8, 0xf5,
- 0x6c, 0xbc, 0x2b, 0xb4, 0x7d, 0xe9, 0xad, 0x8f, 0x4c, 0xbc, 0x0b, 0xb4, 0xa2, 0x2f, 0xba, 0xaa, 0x4c, 0xbc, 0x0a, 0xb4, 0xf8, 0xde, 0xff, 0xa8, 0x2b, 0xb4, 0xea, 0xab, 0x3a, 0xc8, 0xa2, 0x20,
- 0x4c, 0xbc, 0xea, 0xb3, 0x77, 0xe6, 0xdb, 0xca, 0x2b, 0xb4, 0xaa, 0xa3, 0xda, 0xaa, 0xba, 0xa8, 0xea, 0xb3, 0x0b, 0xac, 0xaa, 0xfd, 0xba, 0x7f, 0x6c, 0xbc, 0xca, 0xab, 0x35, 0xbf, 0xf7, 0xbf,
- 0x4c, 0xb4, 0xe2, 0x48, 0xaf, 0xa9, 0x00, 0x80, 0x2b, 0xb4, 0xaa, 0xa3, 0xf5, 0x2f, 0xab, 0x2b, 0x0b, 0xb4, 0xa9, 0xa3, 0x7f, 0xe7, 0xa8, 0xa8, 0x2b, 0xb4, 0xc9, 0xa3, 0x75, 0xfb, 0xaa, 0x02,
- 0x0b, 0xac, 0x89, 0x9b, 0xf7, 0xef, 0xa0, 0x00, 0x2b, 0xac, 0xaa, 0xa3, 0x55, 0xdf, 0xaa, 0x02, 0x2b, 0xb4, 0x8a, 0xa3, 0xfd, 0xba, 0x2a, 0x0a, 0x2b, 0xb4, 0xaa, 0xa3, 0xea, 0x2a, 0xa6, 0x02,
- 0x2b, 0xbc, 0xea, 0xab, 0xee, 0xeb, 0xff, 0xde, 0x6b, 0xbc, 0xea, 0xab, 0x8d, 0xef, 0xbf, 0xff, 0x0b, 0xb4, 0xea, 0xab, 0x00, 0xa0, 0xd6, 0x3f, 0x0b, 0xb4, 0xca, 0xa3, 0xe6, 0xa8, 0xa0, 0x00,
- 0x2a, 0xb4, 0xcb, 0xab, 0xb6, 0x0a, 0xae, 0xff, 0x4b, 0xbc, 0xaa, 0xa3, 0xa2, 0x8a, 0xff, 0xdf, 0x4b, 0xbc, 0xea, 0xab, 0x8a, 0x5b, 0x5d, 0x57, 0x2b, 0xb4, 0x48, 0x93, 0x28, 0x78, 0xeb, 0xaa,
- 0x2b, 0xac, 0x89, 0xa3, 0xa8, 0xfd, 0xed, 0xfe, 0x2b, 0xb4, 0x89, 0xa3, 0xa0, 0xf7, 0xed, 0xe9, 0x2b, 0xb4, 0x8a, 0x9b, 0xbe, 0xd5, 0xbf, 0x0b, 0x6b, 0xbc, 0xaa, 0xa3, 0xf7, 0xff, 0x2a, 0x62,
- 0x4b, 0xb4, 0x63, 0x69, 0x00, 0x00, 0x00, 0x7a, 0x4b, 0xb4, 0x06, 0x6a, 0x08, 0x00, 0x80, 0xdd, 0x2b, 0xac, 0xc7, 0x8a, 0x00, 0x00, 0x57, 0xdd, 0x4b, 0xb4, 0x25, 0x72, 0xaa, 0x00, 0xd7, 0xff,
- 0x8a, 0xbc, 0xc4, 0x61, 0x0a, 0x80, 0xd5, 0xff, 0x09, 0xac, 0x67, 0x72, 0x00, 0xa0, 0x5d, 0xef, 0x8a, 0xb4, 0x85, 0x61, 0x02, 0x7f, 0xfe, 0xaf, 0x09, 0xb4, 0xc7, 0x59, 0xa0, 0xf5, 0xae, 0xaa,
- 0xca, 0xa3, 0xa4, 0x61, 0xb7, 0xa2, 0x00, 0x2a, 0xc9, 0xab, 0xa8, 0x72, 0xf5, 0x82, 0x80, 0x08, 0xca, 0xab, 0x28, 0x8b, 0xad, 0x82, 0xea, 0xea, 0xa9, 0xa3, 0xe7, 0x8a, 0x80, 0xa8, 0xe2, 0x5a,
- 0x89, 0x9b, 0x07, 0x8b, 0xa0, 0xaf, 0xfd, 0xfd, 0x4a, 0xb4, 0x67, 0x7a, 0x0a, 0xda, 0xbb, 0xab, 0x0a, 0xa4, 0xa7, 0x82, 0xa8, 0x6a, 0xfe, 0xaa, 0xea, 0xa3, 0xe8, 0x8a, 0x8a, 0x7d, 0xff, 0x88,
- 0xca, 0xa3, 0x07, 0x8b, 0x0b, 0xa9, 0xab, 0x00, 0xeb, 0xa3, 0x89, 0x9b, 0xb7, 0xf7, 0x77, 0x82, 0xcb, 0xa3, 0x49, 0x93, 0xde, 0x2c, 0xab, 0x0a, 0x2b, 0xac, 0x89, 0x9b, 0xbf, 0xdf, 0x8b, 0xea,
- 0x4c, 0xb4, 0x08, 0x8b, 0x7e, 0xaa, 0x2a, 0x22, 0x2b, 0xac, 0x6a, 0x93, 0xad, 0x0a, 0x2a, 0x2a, 0x0b, 0xac, 0x89, 0x9b, 0xaa, 0x5c, 0xa0, 0x08, 0x2b, 0xac, 0x8a, 0xa3, 0x5e, 0xfb, 0x78, 0x68,
- 0x0c, 0xa4, 0x48, 0x9b, 0xff, 0xb7, 0xab, 0x82, 0x2c, 0xac, 0x69, 0x93, 0x57, 0x5b, 0xd5, 0x83, 0x2b, 0xb4, 0x89, 0x9b, 0xd5, 0xfd, 0xeb, 0x22, 0x0b, 0xac, 0x89, 0x9b, 0x57, 0x6b, 0xe0, 0xe0,
- 0xeb, 0xab, 0x48, 0x93, 0xdd, 0xbf, 0xaa, 0x20, 0x0b, 0xac, 0x49, 0x93, 0xd7, 0xee, 0xa2, 0x20, 0x0b, 0xac, 0x6a, 0x9b, 0x5d, 0xeb, 0xaa, 0xe8, 0xea, 0xab, 0x89, 0x9b, 0x5d, 0xd6, 0x8a, 0xaa,
- 0x2c, 0xac, 0x8a, 0x9b, 0x7b, 0xef, 0xe8, 0xe2, 0x2b, 0xac, 0x49, 0x93, 0xf7, 0xaa, 0xb8, 0xaa, 0x0b, 0xac, 0xaa, 0xa3, 0x5d, 0x2e, 0xff, 0xc3, 0x0b, 0xac, 0x89, 0x9b, 0x8b, 0xaa, 0x62, 0xbf,
- 0x6c, 0xbc, 0x48, 0x93, 0xe2, 0x7a, 0xfa, 0xa2, 0x2b, 0xac, 0xc7, 0x82, 0x50, 0xbf, 0xfb, 0xaa, 0xaa, 0xa3, 0xe8, 0x82, 0xb7, 0x2b, 0x82, 0x28, 0xea, 0xa3, 0xc7, 0x82, 0x9a, 0x2a, 0x2a, 0xae,
- 0x6b, 0xbc, 0xc5, 0x69, 0x22, 0x60, 0x7a, 0xee, 0x8a, 0x9b, 0xa3, 0x61, 0xd4, 0xa5, 0xaf, 0x0a, 0x8a, 0x9b, 0x87, 0x7a, 0xf7, 0xad, 0x2a, 0x00, 0xaa, 0xa3, 0x49, 0x93, 0xc5, 0xcb, 0xaa, 0x0a,
- 0x0b, 0xac, 0x49, 0x9b, 0x29, 0xa9, 0xbe, 0x82, 0xea, 0xa3, 0x89, 0x9b, 0x8c, 0x02, 0x57, 0x09, 0x0b, 0xac, 0x89, 0x9b, 0x3e, 0x37, 0xa7, 0x0b, 0x4c, 0xb4, 0xca, 0xa3, 0x1e, 0x9f, 0xbb, 0xb8,
- 0x4c, 0xb4, 0xeb, 0xab, 0x4c, 0x6a, 0xfe, 0x0f, 0x4c, 0xbc, 0xaa, 0xa3, 0xde, 0xe8, 0xe8, 0x8a, 0x8c, 0xbc, 0x07, 0x8b, 0xaa, 0xee, 0x6a, 0x2a, 0x2b, 0xb4, 0xc6, 0x82, 0x0a, 0x2a, 0x24, 0x02,
- 0x8c, 0xbc, 0x65, 0x82, 0xa0, 0x2e, 0xaa, 0x40, 0x6d, 0xb4, 0x82, 0x59, 0xd4, 0xf7, 0xfd, 0xaf, 0xeb, 0xa3, 0x46, 0x6a, 0xad, 0x2b, 0x0a, 0x0a, 0x2c, 0xb4, 0xca, 0xa3, 0xad, 0xaf, 0x0b, 0x02,
- 0xce, 0xc4, 0x0b, 0xac, 0xc5, 0xed, 0xaf, 0xeb, 0xae, 0xc4, 0x21, 0x51, 0xd8, 0x9c, 0xb4, 0xa4, 0x4c, 0xb4, 0x49, 0x93, 0x2d, 0x2f, 0x89, 0x0b, 0xae, 0xc4, 0x69, 0xa3, 0xaa, 0x2a, 0xca, 0x62,
- 0xea, 0xab, 0x06, 0x72, 0xd7, 0x82, 0xaa, 0x0a, 0x0d, 0xac, 0xe7, 0x8a, 0x75, 0x5f, 0xfe, 0x00, 0x0c, 0xac, 0xe7, 0x8a, 0xf7, 0x55, 0xf7, 0x20, 0x6c, 0xb4, 0xc6, 0x82, 0xff, 0x95, 0x2b, 0x00,
- 0x8d, 0xbc, 0x8a, 0x9b, 0xa9, 0x8a, 0x82, 0xa0, 0x4d, 0xb4, 0x0b, 0xac, 0xd7, 0x7e, 0xfc, 0xba, 0x6d, 0xb4, 0xeb, 0xab, 0xd7, 0xff, 0xaf, 0x0a, 0x8c, 0xbc, 0x0b, 0xac, 0xfd, 0x55, 0xf7, 0x0f,
- 0x8c, 0xc4, 0x42, 0x49, 0x20, 0x00, 0x00, 0x5c, 0x4b, 0xbc, 0xe3, 0x30, 0x00, 0xc0, 0x5e, 0x55, 0x28, 0xbc, 0xe3, 0x28, 0x78, 0x55, 0x55, 0x55, 0x65, 0x41, 0x23, 0x29, 0xe2, 0xaa, 0x73, 0xe5,
- 0x85, 0x39, 0xe4, 0x20, 0xfe, 0xfe, 0xfa, 0x62, 0x24, 0x31, 0xa3, 0x20, 0xf8, 0x7c, 0xfa, 0xcb, 0x04, 0x29, 0xa3, 0x18, 0xaa, 0xda, 0xf3, 0xe0, 0xc4, 0x20, 0x82, 0x10, 0x88, 0x2a, 0x28, 0x9c,
- 0x04, 0x21, 0xc3, 0x18, 0xe5, 0xf3, 0xe0, 0xe8, 0xe4, 0x20, 0xa2, 0x18, 0xfb, 0xae, 0xea, 0xaa, 0xe4, 0x28, 0xa3, 0x18, 0xef, 0xaf, 0xad, 0x8e, 0x04, 0x21, 0xa3, 0x18, 0x98, 0xed, 0xfa, 0xff,
- 0x4c, 0xbc, 0x2b, 0xb4, 0x52, 0xad, 0xf7, 0xd5, 0x6c, 0xbc, 0x2b, 0xb4, 0x2a, 0xab, 0x22, 0xea, 0x6c, 0xbc, 0x4b, 0xb4, 0xdb, 0x3d, 0xd5, 0xe5, 0x6d, 0xbc, 0x2b, 0xb4, 0x3f, 0xc3, 0xbe, 0xeb,
- 0x0f, 0xcd, 0x2c, 0xb4, 0xff, 0x7f, 0x0f, 0xd5, 0xad, 0xbc, 0x4c, 0xb4, 0xf5, 0xfd, 0xd4, 0x55, 0x8c, 0xbc, 0x0b, 0xac, 0xa2, 0x9e, 0xbf, 0xff, 0x6c, 0xbc, 0x2b, 0xb4, 0xa8, 0xde, 0xe2, 0x89,
- 0x6c, 0xbc, 0x2b, 0xb4, 0xaf, 0x9a, 0xef, 0x9b, 0x6c, 0xbc, 0x0b, 0xb4, 0xa8, 0x27, 0xab, 0x02, 0xad, 0xc4, 0x2c, 0xb4, 0xff, 0xff, 0xd7, 0xfc, 0x8c, 0xc4, 0x2b, 0xb4, 0xaa, 0xa8, 0xa9, 0xff,
- 0xad, 0xc4, 0x0b, 0xb4, 0x7e, 0xf7, 0x25, 0xbf, 0x6c, 0xbc, 0x2b, 0xb4, 0xbf, 0x2b, 0xbe, 0xe0, 0x6c, 0xbc, 0x2b, 0xb4, 0x02, 0xa8, 0x8b, 0xda, 0x6c, 0xbc, 0x0b, 0xb4, 0xae, 0x28, 0x58, 0xfa,
- 0x6c, 0xbc, 0x0b, 0xac, 0xba, 0x2a, 0x89, 0x08, 0x6c, 0xbc, 0x2b, 0xb4, 0x0a, 0xab, 0xf3, 0x5e, 0x6c, 0xbc, 0x0b, 0xb4, 0xaa, 0xa0, 0x6a, 0x2e, 0x6b, 0xbc, 0x2c, 0xb4, 0xf6, 0x8b, 0xbb, 0xe2,
- 0x6c, 0xbc, 0x2b, 0xb4, 0xaa, 0x28, 0xec, 0xf7, 0x6c, 0xbc, 0x2b, 0xb4, 0xde, 0xca, 0x22, 0xfb, 0x6c, 0xbc, 0x2b, 0xb4, 0x7f, 0xeb, 0xbb, 0xf8, 0x4c, 0xbc, 0x2b, 0xb4, 0xc9, 0xb8, 0x00, 0xa8,
- 0x6c, 0xbc, 0x0b, 0xac, 0x7f, 0xaa, 0xaf, 0xa3, 0x4c, 0xbc, 0x0a, 0xac, 0xdf, 0xff, 0xaa, 0x8a, 0x4c, 0xb4, 0x0b, 0xac, 0xf5, 0xab, 0x0a, 0x22, 0x4c, 0xb4, 0xaa, 0xab, 0xba, 0x68, 0xa8, 0x80,
- 0x4b, 0xb4, 0xca, 0xab, 0xdf, 0xbb, 0x02, 0x20, 0x4c, 0xbc, 0x0a, 0xac, 0xdf, 0xaa, 0x0a, 0x8e, 0x4c, 0xbc, 0x0a, 0xac, 0xbd, 0xba, 0xb7, 0xab, 0x4c, 0xb4, 0x0a, 0xac, 0x32, 0xde, 0xdc, 0xaf,
- 0x4c, 0xb4, 0x0a, 0xac, 0xa7, 0xbb, 0x2a, 0xaa, 0x4c, 0xbc, 0x0a, 0xac, 0xff, 0xfe, 0xbf, 0xaa, 0x6c, 0xbc, 0x0b, 0xb4, 0x7d, 0x5b, 0xbe, 0x8f, 0x6b, 0xbc, 0x66, 0x7a, 0x00, 0x00, 0x6a, 0x00,
- 0x6c, 0xbc, 0x46, 0x72, 0x00, 0xa0, 0x09, 0xa8, 0x4c, 0xb4, 0x0a, 0xac, 0x7e, 0x77, 0xdf, 0xcb, 0x2c, 0xb4, 0xea, 0xab, 0xf7, 0xba, 0xea, 0x80, 0x2b, 0xb4, 0xea, 0xab, 0xae, 0xee, 0xeb, 0x08,
- 0x2c, 0xb4, 0xca, 0xab, 0xf5, 0xae, 0xab, 0x0a, 0x2b, 0xb4, 0xea, 0xab, 0x55, 0xfa, 0xbe, 0xa8, 0x2b, 0xb4, 0xca, 0xa3, 0xfe, 0xfa, 0xba, 0x2b, 0xad, 0xc4, 0x04, 0x6a, 0xaa, 0xaa, 0x4a, 0x42,
- 0x2b, 0xb4, 0x4a, 0x93, 0xaa, 0x08, 0x29, 0x09, 0x4c, 0xb4, 0xea, 0xab, 0x55, 0xc2, 0x7a, 0x5e, 0x2b, 0xb4, 0x89, 0x9b, 0xa8, 0xa8, 0x7a, 0x5e, 0xeb, 0xa3, 0x28, 0x93, 0xb6, 0xaa, 0xab, 0x0a,
- 0x2b, 0xac, 0x69, 0x9b, 0xf7, 0x7e, 0xff, 0x8a, 0xee, 0xc4, 0x48, 0x93, 0x55, 0x75, 0x7d, 0xcf, 0x2c, 0xac, 0x08, 0x8b, 0x57, 0x77, 0xff, 0x2a, 0xeb, 0xa3, 0xe8, 0x82, 0xff, 0xad, 0x0b, 0x00,
- 0xca, 0xa3, 0xe8, 0x82, 0xfd, 0x82, 0x82, 0x00, 0xcb, 0xa3, 0x08, 0x8b, 0x7f, 0x7a, 0xaa, 0xa0, 0xca, 0xa3, 0xa7, 0x7a, 0xe7, 0xaa, 0xaa, 0x00, 0xca, 0xa3, 0x08, 0x8b, 0xde, 0x3e, 0xae, 0xa0,
- 0xeb, 0xa3, 0x49, 0x93, 0x55, 0xe7, 0x0a, 0x00, 0x6d, 0xb4, 0xc7, 0x82, 0x97, 0x3e, 0xaa, 0xaa, 0x0b, 0xa4, 0x08, 0x8b, 0xaa, 0xee, 0xda, 0x22, 0xcb, 0xa3, 0x29, 0x8b, 0x7a, 0xfe, 0x2f, 0x28,
- 0x0b, 0xac, 0x09, 0x83, 0xb5, 0xaa, 0xa3, 0x00, 0x0b, 0xac, 0x8a, 0x9b, 0xfd, 0xaa, 0xa8, 0xe0, 0x4c, 0xb4, 0x8a, 0x9b, 0x5f, 0xbf, 0x0a, 0x2d, 0x4c, 0xb4, 0xaa, 0x9b, 0xbd, 0xa2, 0xaa, 0x88,
- 0x2c, 0xb4, 0xea, 0xa3, 0xad, 0x8b, 0xef, 0x7a, 0xee, 0xbc, 0xca, 0xa3, 0x7f, 0x5f, 0x55, 0x3f, 0x4c, 0xb4, 0xcb, 0xa3, 0xd5, 0xff, 0xaf, 0xe0, 0x2c, 0xac, 0xea, 0xa3, 0xe4, 0xe8, 0x8e, 0xa8,
- 0x8d, 0xb4, 0xea, 0xa3, 0xf7, 0x5c, 0xeb, 0xca, 0x2c, 0xb4, 0xea, 0xa3, 0xff, 0xfe, 0xea, 0xfb, 0x4c, 0xb4, 0xea, 0xa3, 0xff, 0xbf, 0xbf, 0x2d, 0x2b, 0xac, 0xca, 0xa3, 0x32, 0xf8, 0xee, 0x5e,
- 0x6c, 0xb4, 0xca, 0xa3, 0xf2, 0x5d, 0xdd, 0xbd, 0x4c, 0xb4, 0xca, 0xa3, 0xff, 0xfd, 0x7f, 0x5c, 0x2b, 0xac, 0x8a, 0x9b, 0xea, 0xaa, 0x0d, 0xaa, 0x4c, 0xb4, 0xca, 0xa3, 0xf2, 0x6b, 0x7b, 0x7e,
- 0x0b, 0xac, 0xaa, 0xa3, 0x8a, 0xd3, 0xbf, 0x82, 0x0b, 0xac, 0xca, 0xa3, 0x78, 0xa7, 0xbb, 0xc6, 0x2b, 0xac, 0xaa, 0xa3, 0xaf, 0xaa, 0xb8, 0x9d, 0x2b, 0xac, 0xaa, 0xa3, 0x25, 0xbb, 0xe8, 0xea,
- 0x2b, 0xac, 0xca, 0xa3, 0xec, 0x6a, 0x7d, 0xed, 0x0b, 0xac, 0xca, 0xa3, 0xfc, 0x6a, 0x7d, 0x25, 0x0b, 0xac, 0xaa, 0xa3, 0xa2, 0xab, 0xea, 0xb4, 0x0b, 0xac, 0x69, 0x9b, 0xa0, 0xa8, 0xa5, 0x2a,
- 0x2c, 0xb4, 0xa9, 0x9b, 0xf2, 0x73, 0xff, 0xde, 0xeb, 0xa3, 0x89, 0x9b, 0xdf, 0xaa, 0xe2, 0x3a, 0x0b, 0xac, 0x49, 0x9b, 0xf9, 0xe3, 0xab, 0xa0, 0x0b, 0xac, 0xaa, 0x9b, 0x55, 0x5d, 0xab, 0x23,
- 0x4b, 0xb4, 0x89, 0x9b, 0x7b, 0x7d, 0xff, 0xf8, 0xea, 0xa3, 0xe7, 0x8a, 0x2a, 0x00, 0x00, 0x70, 0xea, 0xab, 0xe8, 0x8a, 0x8a, 0xaa, 0xaa, 0x09, 0x2b, 0xac, 0x8a, 0x9b, 0xbf, 0xaf, 0x29, 0x82,
- 0x0b, 0xac, 0x28, 0x93, 0xe8, 0xe8, 0xa8, 0xb5, 0x0b, 0xac, 0xe8, 0x8a, 0x82, 0xa2, 0x80, 0x7e, 0x2b, 0xb4, 0x89, 0x9b, 0xaa, 0x2a, 0x02, 0x72, 0x4c, 0xb4, 0x69, 0x9b, 0xa8, 0x80, 0xa8, 0xf7,
- 0x4c, 0xb4, 0x28, 0x93, 0x00, 0x00, 0xde, 0xeb, 0x4c, 0xb4, 0xa6, 0x82, 0x10, 0xa0, 0x0a, 0x02, 0x6c, 0xbc, 0xea, 0xab, 0xaf, 0xea, 0xa4, 0x8f, 0x6c, 0xbc, 0xeb, 0xab, 0xed, 0x8f, 0x8a, 0xa0,
- 0xcd, 0xcc, 0xc4, 0x69, 0x6a, 0x52, 0xf8, 0xfa, 0x0b, 0xac, 0xa7, 0x82, 0xfd, 0xad, 0x2b, 0x0a, 0x4c, 0xb4, 0xaa, 0x9b, 0xf5, 0xae, 0xaa, 0x0a, 0x4c, 0xbc, 0x0b, 0xac, 0xbf, 0xbe, 0xee, 0xaa,
- 0xee, 0xcc, 0x04, 0x72, 0x2a, 0xaa, 0x4a, 0x4a, 0x0b, 0xac, 0xe3, 0x69, 0x2f, 0x29, 0x2a, 0x0a, 0x8d, 0xc4, 0xeb, 0xa3, 0xad, 0xbf, 0x2b, 0x2b, 0xce, 0xc4, 0x28, 0x93, 0xd2, 0xfc, 0xb6, 0xaf,
- 0x4c, 0xb4, 0x6a, 0x93, 0x29, 0x02, 0x88, 0x00, 0x4c, 0xbc, 0x0b, 0xac, 0xaa, 0xaa, 0x9e, 0x8f, 0x6c, 0xbc, 0x2b, 0xb4, 0xb9, 0xaa, 0xff, 0xeb, 0xad, 0xc4, 0x42, 0x59, 0x00, 0x00, 0x00, 0x60,
- 0x8c, 0xc4, 0xc2, 0x38, 0x00, 0x00, 0x00, 0x55, 0xab, 0xc4, 0xe2, 0x30, 0x00, 0x00, 0x5e, 0x55, 0xaa, 0xc4, 0x03, 0x31, 0x00, 0x78, 0x55, 0x55, 0xaa, 0xcc, 0x03, 0x31, 0x78, 0x55, 0x55, 0x55,
- 0xa6, 0x41, 0x04, 0x31, 0xad, 0x8d, 0xdd, 0x2b, 0x65, 0x41, 0x03, 0x21, 0x57, 0xbe, 0x5e, 0xe2, 0x44, 0x29, 0xc3, 0x20, 0x56, 0x5a, 0xfa, 0xe2, 0x44, 0x29, 0xc3, 0x20, 0xa9, 0xfd, 0xaa, 0x00,
- 0x44, 0x31, 0xc3, 0x20, 0x72, 0xeb, 0xfb, 0x78, 0x04, 0x29, 0xc3, 0x10, 0x8a, 0xbf, 0xb6, 0xbf, 0x24, 0x21, 0xa3, 0x18, 0x7f, 0xff, 0x7b, 0x8a, 0xe4, 0x20, 0xa2, 0x10, 0xb6, 0xfa, 0xf2, 0x60,
- 0x04, 0x21, 0xa2, 0x10, 0xef, 0xef, 0xff, 0xbf, 0x24, 0x29, 0xa3, 0x10, 0xff, 0xff, 0xaa, 0x2d, 0x24, 0x31, 0xa3, 0x18, 0x3f, 0x2d, 0xa0, 0xaa, 0x24, 0x29, 0xa3, 0x18, 0xee, 0xf2, 0x60, 0xf7,
- 0x4c, 0xb4, 0x0b, 0xac, 0xaf, 0x0b, 0xaf, 0xb2, 0x4c, 0xbc, 0x0b, 0xac, 0xa0, 0xbf, 0xaf, 0xbf, 0x6c, 0xbc, 0x2b, 0xb4, 0xff, 0xcf, 0x5a, 0xef, 0x4c, 0xbc, 0x2b, 0xac, 0xa2, 0xad, 0xbf, 0xaa,
- 0x4c, 0xbc, 0x0b, 0xac, 0x88, 0x2e, 0x0a, 0x68, 0x6c, 0xbc, 0x0b, 0xac, 0xd7, 0xe8, 0xba, 0xbf, 0x6c, 0xbc, 0xcb, 0xa3, 0x82, 0xa8, 0x7a, 0xaa, 0xcc, 0xc4, 0x0b, 0xac, 0xef, 0xff, 0x2d, 0x77,
- 0x8c, 0xbc, 0x2b, 0xac, 0x0d, 0x82, 0xea, 0xb5, 0xad, 0xc4, 0x2b, 0xb4, 0xf2, 0xfd, 0xf7, 0x5f, 0x8c, 0xbc, 0x2b, 0xb4, 0xcb, 0xfa, 0x57, 0xbb, 0x8c, 0xbc, 0x2b, 0xb4, 0xff, 0x5f, 0xad, 0x02,
- 0x6d, 0xbc, 0x2b, 0xb4, 0xbf, 0x2f, 0xae, 0xb6, 0x6c, 0xbc, 0x4b, 0xb4, 0x88, 0xba, 0xba, 0x5d, 0x6c, 0xbc, 0x2b, 0xb4, 0xca, 0xab, 0xda, 0xda, 0x6c, 0xbc, 0xeb, 0xab, 0xa8, 0xa9, 0x8a, 0x0a,
- 0x4c, 0xbc, 0x2b, 0xac, 0xba, 0xf2, 0xab, 0xf8, 0x4c, 0xbc, 0x2b, 0xb4, 0xee, 0x7f, 0x73, 0xe2, 0x6c, 0xbc, 0x2b, 0xb4, 0xab, 0xf9, 0xf9, 0xa3, 0x6c, 0xbc, 0xca, 0xab, 0x28, 0xa2, 0xb7, 0x00,
- 0x4c, 0xbc, 0x0b, 0xac, 0x2a, 0x00, 0x88, 0x78, 0x6c, 0xbc, 0xca, 0xa3, 0xaa, 0xa2, 0xaa, 0xa9, 0x8c, 0xbc, 0x0b, 0xac, 0xef, 0xfb, 0xdd, 0xef, 0x6c, 0xbc, 0x0b, 0xb4, 0x27, 0xaf, 0xeb, 0xbf,
- 0x6c, 0xbc, 0x0b, 0xb4, 0xfe, 0xbe, 0x72, 0xde, 0x6b, 0xbc, 0x2c, 0xb4, 0xbf, 0x7a, 0x57, 0xbd, 0x4c, 0xbc, 0x0b, 0xac, 0xea, 0xba, 0xca, 0xfa, 0x6c, 0xbc, 0x2b, 0xac, 0xab, 0xee, 0xef, 0xfd,
- 0x4c, 0xbc, 0x0b, 0xb4, 0xca, 0x62, 0xbe, 0xe2, 0x6c, 0xbc, 0x2b, 0xb4, 0x7d, 0xf7, 0xfd, 0xf0, 0x6c, 0xb4, 0x0b, 0xac, 0xff, 0xf2, 0xbe, 0xb7, 0x4c, 0xbc, 0x2b, 0xac, 0xef, 0xbe, 0xea, 0xae,
- 0x6c, 0xbc, 0x0a, 0xb4, 0xf7, 0x8e, 0xef, 0xbf, 0x6c, 0xbc, 0x0a, 0xb4, 0xba, 0x9e, 0x9f, 0x3f, 0x6c, 0xbc, 0x0b, 0xb4, 0x2e, 0x7f, 0xbf, 0xbe, 0x2c, 0xbc, 0x0b, 0xac, 0xbe, 0xfa, 0xea, 0xfa,
- 0x2c, 0xbc, 0xea, 0xab, 0x9e, 0xaf, 0xaf, 0xeb, 0x6c, 0xbc, 0x0a, 0xac, 0xfb, 0xbf, 0x16, 0x7e, 0x4c, 0xb4, 0x0b, 0xac, 0xab, 0x20, 0x3e, 0x27, 0x4c, 0xb4, 0xc6, 0x8a, 0x60, 0x00, 0xa0, 0x00,
- 0x4b, 0xb4, 0x8a, 0xa3, 0xad, 0xab, 0x28, 0xaa, 0x2b, 0xb4, 0x8a, 0x9b, 0x29, 0x00, 0xa0, 0x00, 0x4c, 0xb4, 0x0b, 0xac, 0xc1, 0x23, 0xf1, 0xb2, 0x4c, 0xb4, 0xca, 0xab, 0x88, 0xa8, 0xeb, 0xdb,
- 0x6c, 0xb4, 0xea, 0xab, 0x1f, 0xff, 0x75, 0xde, 0x2b, 0xb4, 0xaa, 0xa3, 0xcc, 0xa6, 0xea, 0xf0, 0x2b, 0xac, 0x8a, 0xa3, 0x2d, 0xa0, 0xae, 0x8a, 0x4b, 0xb4, 0xaa, 0x9b, 0xfd, 0xa8, 0xaf, 0xfa,
- 0x2b, 0xac, 0xca, 0xa3, 0xee, 0xfe, 0xf4, 0xa9, 0x2b, 0xac, 0xca, 0xa3, 0xdf, 0xfb, 0x2e, 0x5f, 0x6c, 0xb4, 0xca, 0xa3, 0xff, 0xf7, 0xf4, 0x7d, 0x2b, 0xac, 0xca, 0xa3, 0xff, 0xff, 0xa7, 0xf8,
- 0xeb, 0xab, 0xaa, 0xa3, 0x5e, 0x57, 0x1c, 0x5e, 0x0b, 0xac, 0x8a, 0x9b, 0xff, 0xbf, 0x8d, 0x8b, 0x6c, 0xb4, 0xca, 0xa3, 0x75, 0x7b, 0xfc, 0xed, 0x2b, 0xb4, 0xaa, 0x9b, 0xf5, 0xab, 0x36, 0x0a,
- 0x2b, 0xac, 0xaa, 0x9b, 0x37, 0x8b, 0x0b, 0xba, 0x6d, 0xb4, 0xca, 0xa3, 0x37, 0xff, 0xea, 0xff, 0x0f, 0xc5, 0xca, 0xa3, 0x73, 0x7f, 0x7f, 0xd5, 0x2c, 0xb4, 0xca, 0x9b, 0x2b, 0x09, 0xac, 0xde,
- 0x2b, 0xac, 0xca, 0xa3, 0xac, 0xee, 0xd7, 0x7c, 0x4c, 0xb4, 0xaa, 0x9b, 0xfe, 0xff, 0xfc, 0xbd, 0x4c, 0xb4, 0xcb, 0xa3, 0x8d, 0xf2, 0xa3, 0x22, 0x2c, 0xac, 0xeb, 0xa3, 0x80, 0x7e, 0x83, 0x21,
- 0x2c, 0xb4, 0xeb, 0xab, 0xdd, 0xcb, 0x5f, 0xfb, 0x4c, 0xb4, 0xea, 0xa3, 0xbf, 0xed, 0xa3, 0xef, 0x6c, 0xb4, 0xcb, 0xab, 0xea, 0xd8, 0x78, 0xbf, 0x6c, 0xb4, 0xea, 0xab, 0x5f, 0x7f, 0x57, 0x73,
- 0x2c, 0xac, 0xca, 0xa3, 0x8a, 0x6d, 0xfb, 0x6b, 0x0b, 0xac, 0xca, 0xa3, 0x82, 0xba, 0xa6, 0x99, 0x4c, 0xb4, 0xaa, 0x9b, 0xb2, 0xde, 0xb7, 0xbf, 0x0b, 0xac, 0xca, 0xa3, 0xcf, 0xcb, 0x7a, 0x8a,
- 0x0c, 0xac, 0xca, 0xa3, 0xfa, 0x97, 0xff, 0xe2, 0x4c, 0xac, 0xca, 0xa3, 0xd5, 0x5f, 0xb7, 0x58, 0x4c, 0xac, 0xca, 0xa3, 0x8d, 0xfb, 0xcb, 0xf7, 0x2b, 0xac, 0x48, 0x93, 0xaa, 0xaa, 0x00, 0xd7,
- 0x4b, 0xb4, 0xc7, 0x82, 0xaa, 0x22, 0x6a, 0xaa, 0x6b, 0xb4, 0x67, 0x72, 0xaa, 0xa8, 0xad, 0xaa, 0x0a, 0xac, 0xe5, 0x71, 0x00, 0x00, 0x80, 0x5e, 0xea, 0xab, 0x06, 0x6a, 0x00, 0x00, 0xd6, 0xa9,
- 0xea, 0xab, 0x26, 0x62, 0x00, 0xa0, 0xd5, 0x02, 0x2a, 0xac, 0x08, 0x8b, 0xaa, 0xb7, 0xaf, 0x4b, 0x2b, 0xac, 0xc8, 0x82, 0x0a, 0xa0, 0xde, 0xab, 0x2a, 0xac, 0x28, 0x93, 0xaa, 0xd7, 0xbf, 0x02,
- 0xeb, 0xa3, 0xc5, 0x82, 0x20, 0xf0, 0x0a, 0x58, 0x0b, 0xac, 0x86, 0x82, 0x08, 0xaa, 0xea, 0xdd, 0xea, 0xab, 0x26, 0x8b, 0x08, 0xfa, 0xff, 0x6a, 0x2a, 0xac, 0x20, 0x59, 0xa8, 0xaa, 0x02, 0x5f,
- 0xca, 0xa3, 0xa3, 0x61, 0x00, 0x0a, 0xc8, 0x7d, 0xe9, 0xa3, 0xe1, 0x50, 0x00, 0xa0, 0x55, 0x57, 0x6a, 0xb4, 0x42, 0x59, 0x82, 0x9f, 0xb5, 0xf5, 0xea, 0xab, 0xc6, 0x8a, 0x28, 0x29, 0x03, 0xc9,
- 0x6b, 0xbc, 0xe1, 0x48, 0x8a, 0xaa, 0x80, 0x57, 0x6b, 0xbc, 0x41, 0x59, 0x2a, 0x00, 0xf7, 0xd5, 0x0a, 0xac, 0xe2, 0x69, 0x00, 0xa0, 0xea, 0x7a, 0x2a, 0xb4, 0xe4, 0x71, 0x00, 0xb9, 0xaa, 0xb7,
- 0x2b, 0xb4, 0xa7, 0x82, 0xc2, 0xda, 0xaa, 0xaa, 0xad, 0xc4, 0x63, 0x7a, 0xaa, 0x2a, 0x0a, 0x7b, 0xad, 0xc4, 0x85, 0x82, 0xaa, 0xaa, 0x0a, 0xb7, 0x8d, 0xc4, 0xca, 0xab, 0x2a, 0xe8, 0xe0, 0x9f,
- 0x4c, 0xbc, 0x86, 0x7a, 0x9a, 0xaa, 0xa8, 0x00, 0x2b, 0xb4, 0xc9, 0xa3, 0x2b, 0xad, 0xea, 0xa0, 0x4b, 0xbc, 0xca, 0xab, 0x88, 0xab, 0xb9, 0xfd, 0x4c, 0xb4, 0x68, 0x9b, 0x80, 0xbd, 0xab, 0x8a,
- 0xee, 0xcc, 0x45, 0x72, 0xd2, 0xde, 0xbe, 0xbe, 0x4b, 0xbc, 0x6a, 0x93, 0xa9, 0xaf, 0x2a, 0x0a, 0x8d, 0xc4, 0xc6, 0x8a, 0x82, 0x42, 0xa8, 0xaa, 0x8c, 0xbc, 0x88, 0xa3, 0xad, 0x0a, 0x8a, 0xbd,
- 0x6c, 0xbc, 0xc9, 0xab, 0xaa, 0xaa, 0x28, 0xa9, 0x6d, 0xbc, 0x2a, 0xb4, 0xab, 0x2a, 0x02, 0x85, 0xad, 0xc4, 0x4c, 0xb4, 0xfd, 0xee, 0x3f, 0xbb, 0x6c, 0xc4, 0xe3, 0x30, 0x70, 0x5c, 0x56, 0x55,
- 0x65, 0x41, 0xc3, 0x18, 0x70, 0x7a, 0xee, 0xef, 0x44, 0x29, 0xc3, 0x18, 0x2f, 0xaf, 0xdf, 0xff, 0x45, 0x39, 0xc3, 0x18, 0xe0, 0xfe, 0xde, 0x5f, 0x24, 0x31, 0xa3, 0x18, 0x82, 0xf2, 0xff, 0xdf,
- 0xe6, 0x49, 0xa3, 0x18, 0x0b, 0xff, 0xff, 0xf5, 0x85, 0x41, 0x04, 0x29, 0x8a, 0x9e, 0x7b, 0x7a, 0xa5, 0x41, 0xe4, 0x20, 0xf7, 0xdc, 0xaf, 0x8b, 0x45, 0x31, 0xe4, 0x20, 0x7b, 0xdf, 0xe8, 0x82,
- 0xe4, 0x20, 0xc3, 0x18, 0xe2, 0xde, 0x76, 0x38, 0x45, 0x29, 0xe3, 0x20, 0xb5, 0xd5, 0xdd, 0x2d, 0x65, 0x39, 0xe3, 0x20, 0x8f, 0xeb, 0xba, 0x56, 0x04, 0x31, 0xc3, 0x18, 0xd8, 0xa8, 0xa8, 0x7f,
- 0x04, 0x21, 0xc3, 0x18, 0x66, 0xa8, 0x00, 0xe2, 0x24, 0x21, 0xa3, 0x10, 0xdd, 0x7f, 0x7a, 0xe2, 0xe4, 0x20, 0xa3, 0x18, 0x89, 0x89, 0xfe, 0x2a, 0x04, 0x21, 0xc3, 0x18, 0xbd, 0xfe, 0xff, 0x2a,
- 0x4c, 0xbc, 0xca, 0xa3, 0xab, 0x2a, 0xae, 0x5f, 0x8c, 0xbc, 0x0b, 0xb4, 0xfb, 0xff, 0xff, 0xcd, 0x6c, 0xbc, 0x2b, 0xb4, 0xee, 0x7f, 0x6c, 0x55, 0x6c, 0xbc, 0x0b, 0xac, 0xaf, 0x16, 0x8b, 0xba,
- 0x6c, 0xbc, 0xeb, 0xab, 0x7a, 0xaa, 0x0a, 0xba, 0x6c, 0xbc, 0x0b, 0xac, 0x08, 0xaa, 0xef, 0x5f, 0x6c, 0xbc, 0xeb, 0xab, 0xe8, 0x9b, 0xf7, 0xff, 0x4c, 0xb4, 0xca, 0xa3, 0xab, 0xfd, 0x7f, 0x3b,
- 0x4c, 0xb4, 0xeb, 0xab, 0xbf, 0xa8, 0x0e, 0xb6, 0x4c, 0xb4, 0xea, 0xab, 0xe8, 0x2d, 0xe8, 0xaf, 0x6c, 0xbc, 0x0b, 0xb4, 0x2f, 0xfb, 0xd5, 0xbf, 0xac, 0xc4, 0x0b, 0xac, 0xa8, 0x5f, 0x7f, 0xbf,
- 0x6d, 0xbc, 0x4b, 0xb4, 0x9e, 0xf9, 0x69, 0x7d, 0x8c, 0xbc, 0x0b, 0xb4, 0xb8, 0xaa, 0xd7, 0x2f, 0x8c, 0xbc, 0x0b, 0xb4, 0xfa, 0xde, 0x7a, 0xb8, 0x4c, 0xbc, 0x0b, 0xb4, 0x0b, 0x8a, 0xab, 0x07,
- 0x6c, 0xbc, 0x0b, 0xb4, 0xbf, 0xaa, 0xaa, 0x78, 0x4c, 0xbc, 0xeb, 0xa3, 0x28, 0x0a, 0x2f, 0x77, 0x6c, 0xbc, 0x0b, 0xac, 0xa0, 0xb8, 0xaa, 0xf9, 0x6c, 0xbc, 0xeb, 0xab, 0xa0, 0xea, 0xaa, 0x6a,
- 0x2b, 0xb4, 0xea, 0xab, 0x00, 0x00, 0x00, 0x7a, 0x4c, 0xbc, 0xea, 0xab, 0xab, 0x80, 0x0a, 0x7f, 0x4c, 0xbc, 0xea, 0xab, 0x02, 0x2b, 0x28, 0x07, 0x4c, 0xbc, 0xe7, 0x82, 0x70, 0x00, 0x00, 0x28,
- 0x4c, 0xbc, 0xeb, 0xa3, 0xbd, 0xb8, 0xaa, 0x8a, 0x4c, 0xb4, 0x0b, 0xac, 0x2e, 0x60, 0x80, 0xab, 0x6c, 0xbc, 0x0b, 0xac, 0xb7, 0xed, 0xaf, 0x7c, 0x8c, 0xbc, 0x2b, 0xb4, 0x9f, 0xcd, 0xf7, 0x5d,
- 0x6c, 0xbc, 0x0b, 0xb4, 0x2a, 0xab, 0x2a, 0x7b, 0x4c, 0xbc, 0x0b, 0xac, 0xa0, 0xee, 0xb2, 0xb7, 0x4c, 0xbc, 0x2b, 0xb4, 0x77, 0xe3, 0x74, 0xdf, 0x4c, 0xbc, 0x0b, 0xac, 0xf8, 0xaa, 0x9b, 0xdb,
- 0x4c, 0xbc, 0x2b, 0xb4, 0xe5, 0x78, 0x2f, 0xe5, 0x6c, 0xbc, 0x0a, 0xb4, 0xbf, 0xbc, 0x85, 0xea, 0x4c, 0xb4, 0xeb, 0xab, 0xb8, 0x00, 0xa6, 0x2a, 0x6d, 0xbc, 0x0b, 0xac, 0x3e, 0xff, 0x97, 0x7f,
- 0xce, 0xc4, 0x0b, 0xac, 0xff, 0xf2, 0xdd, 0x5f, 0x4c, 0xb4, 0xca, 0xab, 0x28, 0x00, 0x76, 0xef, 0x4c, 0xbc, 0x0b, 0xac, 0xab, 0xae, 0x0f, 0xff, 0x2b, 0xb4, 0x89, 0xa3, 0x00, 0x80, 0x26, 0x00,
- 0x4b, 0xb4, 0xca, 0xa3, 0x4a, 0x0b, 0xaa, 0xc2, 0x6c, 0xbc, 0xca, 0xab, 0xba, 0xe2, 0xd7, 0xf7, 0x2b, 0xb4, 0xaa, 0xa3, 0x22, 0xba, 0xad, 0xaf, 0x4b, 0xb4, 0xaa, 0xa3, 0xa2, 0xa8, 0xdf, 0xde,
- 0x4b, 0xb4, 0xca, 0xa3, 0xaa, 0x2a, 0xd5, 0xfb, 0x6c, 0xbc, 0xca, 0xa3, 0xf7, 0xe0, 0x6f, 0xfb, 0x8d, 0xbc, 0xaa, 0xa3, 0xeb, 0xcb, 0xdf, 0x7f, 0x2b, 0xac, 0xaa, 0xa3, 0xe8, 0xd6, 0xff, 0xa9,
- 0x2b, 0xac, 0x8a, 0x9b, 0xf2, 0xd7, 0xbf, 0xaf, 0x4c, 0xac, 0xcb, 0xa3, 0xed, 0xff, 0x82, 0x2a, 0x2b, 0xac, 0xca, 0xa3, 0xab, 0xf7, 0x8a, 0x98, 0x6c, 0xb4, 0x8a, 0x9b, 0x8a, 0xff, 0xfd, 0xdf,
- 0x2b, 0xac, 0x8a, 0x9b, 0x97, 0xab, 0x82, 0x0a, 0xce, 0xbc, 0xca, 0xa3, 0x57, 0x55, 0x3d, 0xf7, 0x4c, 0xac, 0xcb, 0xa3, 0xef, 0xad, 0x3c, 0xb6, 0x6c, 0xb4, 0xeb, 0xab, 0x75, 0xa2, 0xba, 0x0b,
- 0x4c, 0xb4, 0xaa, 0xa3, 0xff, 0x80, 0xe9, 0x00, 0x6c, 0xb4, 0xcb, 0xa3, 0xfe, 0x27, 0x8b, 0xea, 0x6c, 0xb4, 0x8a, 0x9b, 0xaa, 0x82, 0xfa, 0xf7, 0x2b, 0xa4, 0x08, 0x8b, 0xa0, 0xb6, 0xaf, 0xba,
- 0x2b, 0xac, 0xa9, 0x9b, 0xf9, 0xab, 0x2d, 0x5d, 0x4c, 0xb4, 0x89, 0x93, 0x2f, 0x82, 0xaa, 0xdf, 0x4c, 0xb4, 0xcb, 0xa3, 0xfa, 0x5c, 0xae, 0x88, 0x4c, 0xb4, 0xea, 0xa3, 0x02, 0xb9, 0x6f, 0x7b,
- 0x6c, 0xb4, 0x49, 0x93, 0xbe, 0x82, 0x7a, 0x3a, 0x6d, 0xb4, 0x68, 0x93, 0xa2, 0xba, 0xf5, 0x7e, 0x2b, 0xac, 0x07, 0x8b, 0x02, 0xfa, 0xdd, 0xe5, 0x4b, 0xac, 0x86, 0x7a, 0xae, 0xfa, 0x2a, 0x6a,
- 0x2c, 0xac, 0xe8, 0x8a, 0x0a, 0x8f, 0xe8, 0xdd, 0x4b, 0xb4, 0x08, 0x8b, 0x82, 0x2a, 0xdd, 0xe3, 0x0b, 0xac, 0x65, 0x7a, 0xaa, 0xa0, 0x2a, 0x5a, 0x2b, 0xac, 0xe7, 0x8a, 0x02, 0xb6, 0xaa, 0xfd,
- 0x2b, 0xac, 0xe7, 0x92, 0x58, 0xaf, 0x82, 0x7f, 0x2a, 0xac, 0xa7, 0x82, 0xfb, 0xaa, 0x02, 0x7e, 0x0a, 0xac, 0xc9, 0x82, 0xfa, 0x80, 0x82, 0xf5, 0xca, 0xa3, 0x65, 0x7a, 0x2a, 0xe2, 0x5a, 0xfe,
- 0x2a, 0xac, 0x46, 0x72, 0xe0, 0xbf, 0x5d, 0xab, 0x4b, 0xac, 0xc4, 0x61, 0xff, 0xfa, 0xf5, 0x0a, 0x2c, 0xac, 0x05, 0x6a, 0x2b, 0x56, 0xb5, 0xa8, 0xeb, 0xa3, 0x02, 0x59, 0x00, 0x57, 0x02, 0x00,
- 0x2a, 0xac, 0x03, 0x51, 0x00, 0x55, 0x00, 0xaa, 0x4b, 0xac, 0x22, 0x51, 0xba, 0x57, 0x00, 0xaa, 0x8a, 0xbc, 0x23, 0x51, 0x00, 0x55, 0x80, 0x5f, 0x2a, 0xac, 0xe2, 0x40, 0x60, 0x8b, 0x7f, 0x55,
- 0xa9, 0x9b, 0xc2, 0x38, 0x2d, 0xfe, 0xd5, 0x75, 0x88, 0xa3, 0x23, 0x49, 0xc0, 0x55, 0x55, 0x55, 0x83, 0x59, 0x02, 0x41, 0x0c, 0xee, 0xcb, 0x9a, 0x85, 0x7a, 0x03, 0x49, 0xd7, 0x3f, 0xd5, 0xff,
- 0x24, 0x72, 0x23, 0x59, 0xa0, 0xea, 0x75, 0x2b, 0x66, 0x7a, 0x63, 0x59, 0xf8, 0x55, 0x5f, 0x7f, 0x25, 0x72, 0x42, 0x51, 0xf7, 0x37, 0xbf, 0x3f, 0x68, 0x93, 0xe4, 0x71, 0x5b, 0xaa, 0x8b, 0x02,
- 0x69, 0x9b, 0x23, 0x59, 0x5f, 0xfa, 0xe0, 0x00, 0x48, 0x93, 0x23, 0x51, 0xbd, 0x2f, 0x0a, 0x00, 0x27, 0x93, 0x25, 0x72, 0xdf, 0xa2, 0x00, 0x00, 0x89, 0xa3, 0x07, 0x8b, 0x27, 0xbb, 0xed, 0xea,
- 0x0a, 0xb4, 0x28, 0x93, 0x8f, 0x8f, 0xad, 0xa9, 0xea, 0xab, 0xe8, 0x92, 0x48, 0xa0, 0xa0, 0x00, 0x8d, 0xbc, 0x24, 0x72, 0xaf, 0x0a, 0x6a, 0x2a, 0xab, 0xc4, 0x62, 0x59, 0xaa, 0x88, 0xfb, 0xd7,
- 0x4b, 0xbc, 0xc5, 0x8a, 0x0a, 0x02, 0x00, 0x9a, 0x4b, 0xbc, 0x29, 0x8b, 0xa2, 0xde, 0xa2, 0x2a, 0x2b, 0xb4, 0xa8, 0xa3, 0x29, 0xab, 0x0a, 0xab, 0x8c, 0xc4, 0xca, 0xa3, 0xf7, 0xaf, 0xaf, 0x8b,
- 0xc9, 0xa3, 0xa2, 0x69, 0x2a, 0x29, 0x0b, 0xab, 0x8d, 0xc4, 0x48, 0x9b, 0xbf, 0x2a, 0xaa, 0x6b, 0x4c, 0xbc, 0xaa, 0xa3, 0x3b, 0xed, 0x03, 0xa2, 0x6d, 0xbc, 0x20, 0x59, 0xc2, 0xe0, 0xd0, 0xb0,
- 0x4c, 0xbc, 0x48, 0x9b, 0xfd, 0xfd, 0xbe, 0x2e, 0x6c, 0xbc, 0xea, 0xab, 0x77, 0xff, 0xea, 0xa8, 0x8d, 0xc4, 0x02, 0x41, 0xca, 0x4a, 0x4a, 0x42, 0x24, 0x39, 0xc3, 0x20, 0xf8, 0xaf, 0x7e, 0xea,
- 0x24, 0x29, 0xc3, 0x20, 0xaa, 0xd4, 0xf5, 0xfc, 0x45, 0x29, 0xe3, 0x20, 0xaf, 0xff, 0xa7, 0x25, 0x25, 0x29, 0xc3, 0x18, 0x5e, 0x76, 0x76, 0x70, 0x04, 0x21, 0xa3, 0x18, 0xfe, 0xfe, 0xb7, 0x2a,
- 0x24, 0x31, 0xc3, 0x18, 0x35, 0x35, 0xb7, 0xff, 0xc7, 0x49, 0xe3, 0x20, 0xe2, 0xea, 0xff, 0x55, 0x45, 0x31, 0xa3, 0x20, 0x8a, 0xfe, 0xdf, 0x28, 0x45, 0x29, 0xc3, 0x18, 0xf7, 0xbd, 0xbd, 0x00,
- 0x45, 0x31, 0xc3, 0x18, 0xdf, 0xfe, 0xfe, 0x78, 0x04, 0x29, 0xc3, 0x18, 0xab, 0xbb, 0xb5, 0x29, 0x24, 0x29, 0xc3, 0x18, 0xff, 0xaf, 0xde, 0x68, 0x24, 0x29, 0xc3, 0x20, 0xaf, 0x2e, 0x5f, 0xdd,
- 0x24, 0x29, 0xe3, 0x20, 0xa5, 0xe2, 0xb5, 0x45, 0x24, 0x31, 0xc3, 0x18, 0x7e, 0x7a, 0x58, 0xff, 0x04, 0x21, 0xc3, 0x18, 0x2f, 0xad, 0x89, 0x2f, 0x24, 0x29, 0xe3, 0x20, 0xba, 0x77, 0x7e, 0xfc,
- 0x2c, 0xb4, 0xaa, 0xa3, 0xaa, 0xf8, 0x57, 0x8a, 0x0b, 0xac, 0xaa, 0xa3, 0x2b, 0x7a, 0xae, 0x22, 0x2b, 0xb4, 0xca, 0xa3, 0x88, 0x09, 0x2a, 0xea, 0x2c, 0xb4, 0xca, 0xa3, 0x29, 0x82, 0xda, 0xbf,
- 0x4b, 0xb4, 0xca, 0xa3, 0xa8, 0xbf, 0xb7, 0x3f, 0x4c, 0xb4, 0xca, 0xa3, 0xe2, 0xde, 0x8a, 0x2e, 0x4c, 0xbc, 0xeb, 0xab, 0xff, 0xae, 0xbe, 0x00, 0x4c, 0xbc, 0x0b, 0xac, 0x2b, 0xea, 0xdb, 0xbe,
- 0x4c, 0xbc, 0xca, 0xab, 0xf8, 0xaa, 0xa7, 0x2e, 0x4b, 0xbc, 0xaa, 0xa3, 0xae, 0x82, 0x5e, 0xae, 0x4c, 0xbc, 0xeb, 0xab, 0x2d, 0x3f, 0x75, 0xaa, 0x6c, 0xbc, 0xca, 0xab, 0xf8, 0xaa, 0xaa, 0x7a,
- 0x4b, 0xb4, 0x6a, 0xa3, 0x82, 0x02, 0x9e, 0x2a, 0x4c, 0xbc, 0x0b, 0xb4, 0xaf, 0xff, 0x2f, 0x6a, 0x8c, 0xbc, 0x0b, 0xb4, 0xe3, 0xff, 0xed, 0xfd, 0x4b, 0xb4, 0xca, 0xab, 0x08, 0x02, 0xa2, 0xd0,
- 0x4c, 0xbc, 0xca, 0xab, 0x02, 0xaa, 0x6a, 0xab, 0x2c, 0xb4, 0xca, 0xab, 0x00, 0x00, 0xe9, 0x8a, 0x4b, 0xb4, 0xaa, 0xa3, 0x8a, 0xad, 0xa2, 0x82, 0x4c, 0xbc, 0x8a, 0xa3, 0xba, 0x42, 0x02, 0x28,
- 0x6c, 0xbc, 0x6a, 0xa3, 0xf8, 0xa9, 0xaa, 0x20, 0x4c, 0xbc, 0xeb, 0xab, 0xdb, 0xad, 0x9c, 0xa8, 0x8c, 0xbc, 0x2b, 0xac, 0x62, 0x5d, 0xaf, 0xa2, 0x4e, 0xcd, 0x0b, 0xac, 0xf7, 0x57, 0xff, 0xe3,
- 0x6c, 0xbc, 0x0b, 0xac, 0xff, 0xdb, 0xf8, 0xea, 0x8d, 0xbc, 0x0b, 0xb4, 0x85, 0xea, 0xef, 0x57, 0x4c, 0xbc, 0xea, 0xab, 0xf8, 0xca, 0xe2, 0x75, 0x6c, 0xbc, 0x0b, 0xb4, 0xff, 0xed, 0xca, 0x89,
- 0x6c, 0xbc, 0x0b, 0xac, 0x7e, 0x5f, 0xff, 0x28, 0xce, 0xc4, 0x0b, 0xac, 0xfd, 0xb3, 0xf7, 0xff, 0x8d, 0xbc, 0x0b, 0xac, 0x7f, 0xa3, 0xfe, 0xf7, 0x6c, 0xbc, 0x0b, 0xac, 0xff, 0xaa, 0xb5, 0x96,
- 0x6c, 0xbc, 0xea, 0xa3, 0xff, 0x77, 0xa8, 0xaa, 0xad, 0xc4, 0x0b, 0xac, 0x7f, 0xbd, 0x3f, 0xef, 0x4c, 0xb4, 0xea, 0xa3, 0xaa, 0xb0, 0x94, 0x00, 0x4c, 0xb4, 0xea, 0xab, 0x65, 0x0b, 0x8b, 0xa8,
- 0x4c, 0xb4, 0xea, 0xab, 0xbd, 0xae, 0xba, 0x22, 0x4c, 0xb4, 0xeb, 0xab, 0x7f, 0xae, 0x38, 0x80, 0xee, 0xc4, 0xeb, 0xab, 0xfc, 0xff, 0xf5, 0xff, 0x6c, 0xb4, 0x89, 0xa3, 0xfe, 0xf6, 0xaa, 0x82,
- 0x6c, 0xbc, 0xeb, 0xab, 0xfd, 0xfd, 0xe3, 0x3b, 0x2b, 0xb4, 0xea, 0xab, 0x6d, 0x5e, 0xdb, 0x72, 0x2b, 0xb4, 0xea, 0xab, 0xf9, 0x7f, 0xb8, 0xcb, 0x2c, 0xb4, 0xea, 0xa3, 0xa5, 0xef, 0xaa, 0x03,
- 0x4b, 0xb4, 0xca, 0xa3, 0x6b, 0xf2, 0xab, 0x3b, 0x0b, 0xb4, 0xca, 0xa3, 0xb8, 0x2a, 0xff, 0xeb, 0x2c, 0xac, 0xaa, 0x9b, 0xef, 0xc0, 0xbc, 0xf7, 0x2b, 0xac, 0x49, 0x93, 0x02, 0xa2, 0x7a, 0xff,
- 0x2b, 0xac, 0x49, 0x8b, 0x22, 0x2a, 0xdd, 0xaa, 0x2c, 0xac, 0xaa, 0x9b, 0x0a, 0x3f, 0xe1, 0xdf, 0x2c, 0xac, 0x89, 0x9b, 0xa0, 0x0e, 0xaf, 0xdf, 0x2b, 0xac, 0x89, 0x9b, 0x0a, 0x00, 0xab, 0x5f,
- 0x2b, 0xac, 0x49, 0x93, 0xa8, 0x08, 0x7a, 0xf7, 0x6c, 0xb4, 0x29, 0x93, 0x22, 0xaa, 0xb5, 0xaa, 0x4b, 0xb4, 0xa9, 0x9b, 0xa8, 0x82, 0x7f, 0x5e, 0x2b, 0xac, 0xe7, 0x8a, 0x00, 0x8a, 0xab, 0xdf,
- 0x2a, 0xb4, 0x08, 0x8b, 0x00, 0xea, 0xba, 0x7f, 0x0a, 0xac, 0x07, 0x8b, 0x08, 0x5f, 0xfa, 0xff, 0x2a, 0xac, 0xc6, 0x69, 0x00, 0xaf, 0x5e, 0xaa, 0x0a, 0xac, 0x47, 0x72, 0xea, 0xaa, 0xd7, 0x0a,
- 0xc9, 0x9b, 0xe8, 0x8a, 0xaf, 0xc0, 0xf5, 0xea, 0xea, 0xa3, 0x29, 0x8b, 0xbf, 0xff, 0xde, 0x09, 0xad, 0xbc, 0x89, 0x93, 0xcb, 0xad, 0xfd, 0xdf, 0x2a, 0xac, 0xa6, 0x82, 0x80, 0x80, 0xd6, 0xaa,
- 0xea, 0xa3, 0xe5, 0x8a, 0xa0, 0xea, 0xfe, 0x7b, 0x0a, 0xac, 0x64, 0x7a, 0x00, 0xff, 0xeb, 0xd5, 0xea, 0xab, 0x03, 0x6a, 0x02, 0xaa, 0xfa, 0xd7, 0xa9, 0xa3, 0x24, 0x6a, 0x88, 0xbb, 0xbf, 0x57,
- 0xca, 0xa3, 0xc3, 0x61, 0xad, 0x0a, 0x7e, 0xff, 0xc9, 0x9b, 0xe3, 0x61, 0xad, 0x22, 0x5a, 0xfa, 0xa9, 0xa3, 0x45, 0x72, 0xaa, 0x08, 0xad, 0xa9, 0xc9, 0xa3, 0x04, 0x72, 0x00, 0x00, 0xef, 0x7f,
- 0xe9, 0xa3, 0x05, 0x6a, 0xaa, 0xaa, 0x2b, 0x3d, 0xe9, 0xa3, 0xa2, 0x61, 0x00, 0xba, 0xa0, 0xbd, 0xc9, 0xa3, 0x85, 0x7a, 0xa0, 0xae, 0xff, 0xb5, 0xc9, 0xa3, 0xa4, 0x61, 0x22, 0xa8, 0x57, 0x00,
- 0xc9, 0xa3, 0x65, 0x72, 0x00, 0xba, 0xbd, 0xfe, 0x4a, 0xb4, 0xc5, 0x82, 0x80, 0x7f, 0xdf, 0x5d, 0xe9, 0xab, 0x66, 0x7a, 0xea, 0xe2, 0xde, 0x2a, 0xe9, 0xa3, 0x24, 0x72, 0xbf, 0xab, 0xaa, 0x7c,
- 0xe9, 0xa3, 0xa4, 0x69, 0xae, 0xea, 0xe0, 0x55, 0x27, 0x8b, 0x43, 0x51, 0xf8, 0x58, 0xfa, 0x7b, 0xc5, 0x59, 0x23, 0x49, 0x7f, 0xeb, 0x7c, 0xfa, 0x43, 0x49, 0xc2, 0x28, 0xaa, 0xe0, 0x7e, 0x88,
- 0x63, 0x51, 0xa2, 0x28, 0xbf, 0x9f, 0x35, 0x37, 0x84, 0x59, 0x22, 0x51, 0x5f, 0x7d, 0xeb, 0x8b, 0x83, 0x59, 0x22, 0x51, 0xff, 0xa5, 0x7f, 0xab, 0x84, 0x59, 0x42, 0x59, 0xad, 0x25, 0x29, 0xa2,
- 0x45, 0x7a, 0x83, 0x59, 0xfd, 0x0b, 0x23, 0xf5, 0x05, 0x6a, 0x43, 0x59, 0x7e, 0xf8, 0xa0, 0xab, 0x27, 0x83, 0x64, 0x59, 0xb5, 0xbd, 0x2f, 0xaa, 0x68, 0x9b, 0x66, 0x7a, 0xab, 0x2a, 0xb2, 0xdf,
- 0x89, 0x9b, 0x07, 0x8b, 0xea, 0xa1, 0xad, 0xeb, 0x89, 0x9b, 0xc7, 0x82, 0xfa, 0xfa, 0xbf, 0x4a, 0xaa, 0x9b, 0xc7, 0x82, 0xdf, 0xbf, 0xbd, 0x03, 0xa9, 0x9b, 0x48, 0x93, 0xd7, 0xb5, 0x3b, 0x80,
- 0xca, 0xa3, 0x89, 0x93, 0x01, 0xe5, 0x3f, 0x2f, 0xaa, 0xab, 0x89, 0xa3, 0xa2, 0xaa, 0xb5, 0x7d, 0x2b, 0xb4, 0x89, 0xa3, 0xab, 0xbf, 0xaf, 0x3d, 0x4c, 0xb4, 0xa7, 0x82, 0xda, 0xaa, 0xa2, 0xa0,
- 0x2a, 0xb4, 0xa7, 0x8a, 0x98, 0xa0, 0xa0, 0xa0, 0x0a, 0xb4, 0xe3, 0x71, 0xe8, 0x7a, 0xfe, 0xee, 0x4a, 0xb4, 0x64, 0x82, 0x02, 0x7f, 0xab, 0x5f, 0x4b, 0xb4, 0x21, 0x51, 0x60, 0xbe, 0xae, 0x2b,
- 0xea, 0xab, 0x42, 0x51, 0x2d, 0x08, 0x00, 0x2c, 0x4c, 0xbc, 0x89, 0xa3, 0xeb, 0x0b, 0x0a, 0x62, 0xcc, 0xc4, 0x01, 0x61, 0x08, 0xe8, 0x5c, 0x54, 0xa9, 0xa3, 0x81, 0x61, 0xb0, 0xbf, 0x39, 0x93,
- 0x0a, 0xb4, 0xa2, 0x69, 0x02, 0xae, 0xba, 0xb6, 0xea, 0xb3, 0xa5, 0x8a, 0x28, 0x2b, 0xdf, 0xd7, 0x2c, 0xbc, 0x44, 0x41, 0x62, 0x72, 0x70, 0x7a, 0x85, 0x41, 0x24, 0x29, 0x7b, 0xfc, 0xef, 0xeb,
- 0x45, 0x39, 0xe3, 0x20, 0x5d, 0xfe, 0xfc, 0x8a, 0xa6, 0x41, 0xe3, 0x20, 0x2f, 0xef, 0x55, 0xff, 0xc6, 0x39, 0xc4, 0x20, 0xf0, 0x55, 0xff, 0xff, 0x05, 0x29, 0xe3, 0x20, 0x55, 0x9b, 0x67, 0xda,
- 0x04, 0x29, 0xc3, 0x18, 0xd7, 0x9f, 0x2c, 0x00, 0x24, 0x29, 0xc3, 0x18, 0xbd, 0xba, 0x27, 0xba, 0x85, 0x39, 0xe4, 0x20, 0xba, 0xf0, 0xe8, 0x5f, 0xa6, 0x39, 0xc3, 0x20, 0xf8, 0xfe, 0xf5, 0x55,
- 0x25, 0x29, 0xc3, 0x20, 0x94, 0xd7, 0xe9, 0xba, 0x04, 0x31, 0xe3, 0x20, 0x35, 0x57, 0x57, 0x56, 0x24, 0x29, 0xc3, 0x18, 0xf0, 0xfe, 0x5a, 0xff, 0x04, 0x31, 0xa3, 0x20, 0xbf, 0xef, 0x5f, 0x00,
- 0x24, 0x29, 0xc3, 0x20, 0x62, 0xb5, 0xa5, 0x0e, 0x25, 0x29, 0xe3, 0x20, 0xdd, 0x2b, 0x7a, 0x80, 0x24, 0x31, 0xc3, 0x18, 0x57, 0xe8, 0xff, 0xae, 0x05, 0x31, 0xc3, 0x18, 0xf5, 0x55, 0xbb, 0xa2,
- 0x4b, 0xbc, 0xea, 0xa3, 0x8a, 0xd7, 0x57, 0xd7, 0x2c, 0xb4, 0xea, 0xab, 0xa0, 0xfb, 0x0f, 0xdd, 0x2c, 0xb4, 0xca, 0xa3, 0xa7, 0xd0, 0x02, 0xfe, 0x2b, 0xb4, 0xaa, 0x9b, 0xf7, 0x8b, 0xa0, 0xab,
- 0x2b, 0xb4, 0xaa, 0x9b, 0xb7, 0xff, 0x8a, 0x00, 0x2c, 0xb4, 0xca, 0xa3, 0xeb, 0xfd, 0xa0, 0xe0, 0x4c, 0xbc, 0xca, 0xa3, 0x02, 0xab, 0x6f, 0xd7, 0x2b, 0xb4, 0x68, 0x93, 0x00, 0x60, 0x2a, 0xaa,
- 0x4c, 0xb4, 0x8a, 0x9b, 0xa2, 0xbd, 0xa2, 0x0a, 0x4c, 0xb4, 0xca, 0xab, 0xc2, 0xa2, 0x60, 0x28, 0x6b, 0xb4, 0x6a, 0x9b, 0x83, 0xe0, 0xfa, 0xb6, 0x6c, 0xb4, 0xaa, 0xa3, 0xdc, 0xbf, 0x6d, 0xab,
- 0x6c, 0xbc, 0xcb, 0xab, 0x2a, 0xfa, 0x6f, 0xa8, 0x6c, 0xbc, 0xea, 0xab, 0xa8, 0xaa, 0xfb, 0x5e, 0x6c, 0xbc, 0xcb, 0xa3, 0xaa, 0xa8, 0xd7, 0xef, 0x4c, 0xbc, 0x0b, 0xac, 0xb3, 0xbb, 0xfa, 0xde,
- 0x4c, 0xb4, 0xca, 0xab, 0x56, 0xfa, 0xef, 0x80, 0x6c, 0xbc, 0x8a, 0x9b, 0xaa, 0xab, 0xaa, 0x58, 0x4c, 0xb4, 0xcb, 0xab, 0xaa, 0x2a, 0x82, 0xd6, 0x6c, 0xbc, 0xca, 0xab, 0x8a, 0xaa, 0xaa, 0x5b,
- 0x6c, 0xbc, 0xeb, 0xa3, 0x8a, 0xba, 0x7e, 0xfd, 0x8c, 0xbc, 0x0b, 0xac, 0x9f, 0x8d, 0x6a, 0xdd, 0xcd, 0xc4, 0xeb, 0xab, 0xfb, 0xe8, 0x7f, 0xff, 0x6c, 0xbc, 0x0b, 0xac, 0xae, 0xa7, 0xcb, 0x9e,
- 0x6c, 0xbc, 0x0b, 0xac, 0xfe, 0xde, 0xfb, 0x98, 0x4b, 0xb4, 0xa9, 0xa3, 0x5a, 0xfa, 0xa0, 0x20, 0x4b, 0xb4, 0xca, 0xab, 0xff, 0xd5, 0xad, 0xa8, 0x4c, 0xbc, 0xea, 0xab, 0x2f, 0x27, 0xa7, 0xaf,
- 0x8c, 0xbc, 0x0b, 0xac, 0xa2, 0x28, 0xbf, 0x97, 0x6c, 0xbc, 0xeb, 0xab, 0xa2, 0xa2, 0x6a, 0xd7, 0x8d, 0xc4, 0x08, 0x8b, 0xb4, 0xa4, 0xaa, 0xaa, 0x2c, 0xb4, 0xea, 0xa3, 0xbf, 0xbf, 0xda, 0xbc,
- 0x6c, 0xb4, 0x0b, 0xac, 0xdf, 0x2f, 0xfd, 0xa7, 0x8d, 0xbc, 0x0a, 0xac, 0xe2, 0xea, 0x57, 0xff, 0x8c, 0xbc, 0xeb, 0xab, 0xf8, 0xfd, 0x77, 0x7f, 0x4c, 0xb4, 0xea, 0xa3, 0xaa, 0xa0, 0xab, 0x75,
- 0x6c, 0xb4, 0xca, 0xab, 0x8f, 0x2f, 0x3d, 0xab, 0x4c, 0xb4, 0xeb, 0xab, 0x8b, 0xac, 0x78, 0xbe, 0x4c, 0xbc, 0xc8, 0xa3, 0x0b, 0xaa, 0xa8, 0x7e, 0x4c, 0xb4, 0x26, 0x93, 0x00, 0xa8, 0xae, 0x5f,
- 0x2c, 0xb4, 0xe5, 0x82, 0x00, 0x0a, 0x80, 0x7a, 0x4b, 0xb4, 0xa7, 0x82, 0xa8, 0x80, 0x8a, 0xd7, 0x2b, 0xac, 0xc7, 0x8a, 0x00, 0x80, 0xb7, 0xaa, 0x4b, 0xb4, 0x89, 0x9b, 0x02, 0x6a, 0x5f, 0x5f,
- 0x2b, 0xb4, 0x29, 0x93, 0xb8, 0x2f, 0x5d, 0xff, 0x0a, 0xac, 0xa7, 0x7a, 0x00, 0x00, 0xf5, 0x02, 0x6b, 0xb4, 0x09, 0x8b, 0xaa, 0xf8, 0x55, 0x2a, 0x8c, 0xb4, 0x86, 0x82, 0x80, 0xdf, 0xaf, 0xaa,
- 0x0a, 0xac, 0x09, 0x8b, 0xa8, 0x5f, 0xfb, 0x28, 0xaa, 0xa3, 0x69, 0x93, 0xfd, 0x89, 0x2a, 0xa2, 0x0b, 0xac, 0x07, 0x8b, 0xaa, 0xaa, 0xa8, 0xbd, 0x2b, 0xac, 0x69, 0x93, 0x7d, 0xef, 0x8a, 0xe8,
- 0x4c, 0xb4, 0x08, 0x8b, 0xaf, 0xaa, 0x82, 0xd5, 0xea, 0xab, 0x06, 0x83, 0x08, 0x02, 0xea, 0x7a, 0x2b, 0xac, 0xa6, 0x82, 0xaa, 0x00, 0xf7, 0x77, 0x0a, 0xac, 0x82, 0x59, 0x22, 0x00, 0xaa, 0x5e,
- 0xc9, 0xa3, 0xe5, 0x69, 0x00, 0x82, 0xf0, 0xbd, 0x2a, 0xac, 0x85, 0x7a, 0x82, 0xfd, 0xfd, 0x5f, 0xc9, 0xa3, 0xc1, 0x48, 0x00, 0x22, 0x57, 0xea, 0xa7, 0x9b, 0xe3, 0x48, 0xea, 0xa0, 0xf5, 0xaf,
- 0x49, 0x93, 0x23, 0x6a, 0x28, 0xfd, 0xaf, 0x8b, 0x0a, 0xa4, 0x03, 0x51, 0x02, 0x5e, 0xea, 0xaa, 0x67, 0x9b, 0x04, 0x41, 0xa0, 0xd5, 0xaa, 0xaa, 0x08, 0x8b, 0x43, 0x51, 0x7a, 0xf5, 0x22, 0x02,
- 0x6a, 0x8b, 0x22, 0x59, 0x55, 0xea, 0xaa, 0x0a, 0xaa, 0x9b, 0x84, 0x59, 0x75, 0xbf, 0xaa, 0x00, 0xca, 0x9b, 0x85, 0x59, 0xd6, 0xaa, 0xaa, 0x00, 0xeb, 0xa3, 0x45, 0x72, 0xff, 0x5f, 0x2a, 0xa8,
- 0xeb, 0xa3, 0x66, 0x72, 0x7f, 0x57, 0xa0, 0x02, 0x2c, 0xac, 0xe5, 0x61, 0xff, 0xfd, 0x28, 0x02, 0x0b, 0xa4, 0x87, 0x7a, 0xf5, 0xfd, 0xa0, 0x00, 0x0b, 0xac, 0x66, 0x72, 0x5f, 0xe7, 0x80, 0x80,
- 0x2b, 0xac, 0x86, 0x7a, 0x55, 0xef, 0x02, 0xaa, 0xca, 0xa3, 0x64, 0x59, 0x5f, 0x2e, 0x00, 0x00, 0xea, 0xa3, 0xc6, 0x59, 0xd5, 0x00, 0x00, 0x20, 0xca, 0xa3, 0xe5, 0x61, 0xde, 0x00, 0xa8, 0xa8,
- 0xea, 0xa3, 0x85, 0x61, 0x5f, 0x20, 0xaa, 0xa2, 0xaa, 0x9b, 0x45, 0x51, 0xd5, 0x00, 0x00, 0x00, 0xca, 0x9b, 0x03, 0x49, 0x57, 0x00, 0x00, 0x00, 0xca, 0xa3, 0xa6, 0x59, 0xad, 0xa0, 0x00, 0x00,
- 0xea, 0xa3, 0x67, 0x7a, 0x6f, 0xdf, 0x00, 0x08, 0xca, 0xa3, 0x47, 0x72, 0x7d, 0x0a, 0xa0, 0x00, 0x25, 0x72, 0x02, 0x41, 0xea, 0xf8, 0xea, 0x78, 0x64, 0x51, 0xa2, 0x28, 0xe8, 0x78, 0x7e, 0xaf,
- 0x63, 0x51, 0x82, 0x20, 0x37, 0x37, 0x27, 0x0f, 0x84, 0x59, 0x43, 0x51, 0x2a, 0x8d, 0xfd, 0x7b, 0x83, 0x59, 0x22, 0x51, 0xfc, 0xde, 0x2b, 0x28, 0xe4, 0x59, 0x43, 0x51, 0xd5, 0xb7, 0xff, 0x2f,
- 0x45, 0x72, 0x63, 0x59, 0xfd, 0xb9, 0x2d, 0x0a, 0xc7, 0x7a, 0x04, 0x6a, 0xd5, 0xfd, 0xab, 0x2b, 0x48, 0x8b, 0xe5, 0x61, 0xbf, 0xa7, 0x2f, 0x2a, 0x69, 0x93, 0xa7, 0x7a, 0xa5, 0xab, 0x8a, 0x00,
- 0x8a, 0x9b, 0x48, 0x8b, 0xb7, 0xb3, 0xab, 0xaa, 0x89, 0x93, 0x48, 0x8b, 0x72, 0xba, 0x48, 0x5e, 0xa9, 0x93, 0x48, 0x8b, 0x80, 0xa8, 0xff, 0xed, 0x89, 0x9b, 0x48, 0x93, 0xa0, 0x27, 0x8a, 0x6e,
- 0xca, 0x9b, 0x69, 0x93, 0xab, 0xff, 0xbf, 0x2d, 0xcb, 0xa3, 0x89, 0x9b, 0xff, 0xed, 0xab, 0x0a, 0x0b, 0xb4, 0xaa, 0x9b, 0x0b, 0xad, 0xaa, 0xbe, 0x2b, 0xb4, 0xaa, 0xa3, 0xf8, 0xea, 0xfb, 0xf7,
- 0x2b, 0xb4, 0xc7, 0x8a, 0xf0, 0xf0, 0xd2, 0x0a, 0x2a, 0xb4, 0x08, 0x93, 0xf5, 0x7f, 0xea, 0xb8, 0x48, 0x9b, 0xa2, 0x69, 0xa0, 0xa0, 0xf8, 0xd0, 0xea, 0xab, 0x65, 0x82, 0xaf, 0x0d, 0xad, 0x8e,
- 0x8c, 0xc4, 0x04, 0x6a, 0x3e, 0x1a, 0xaa, 0x2a, 0x8b, 0xbc, 0xc5, 0x82, 0x40, 0x63, 0xe2, 0xe8, 0x8d, 0xc4, 0x62, 0x69, 0x5c, 0xd8, 0xd8, 0xdf, 0xca, 0xab, 0x21, 0x59, 0xae, 0xaf, 0x87, 0xaf,
- 0x2a, 0x8b, 0xa3, 0x69, 0x5e, 0xb4, 0x2f, 0x02, 0x6a, 0x93, 0x65, 0x82, 0xbd, 0xbc, 0x2a, 0x2a, 0xeb, 0xab, 0x03, 0x31, 0x50, 0x58, 0x58, 0x5c, 0x85, 0x39, 0xe3, 0x20, 0xfb, 0x73, 0x63, 0xfd,
- 0x24, 0x29, 0xc3, 0x20, 0xaf, 0xdf, 0xbd, 0xe0, 0x25, 0x29, 0xc3, 0x28, 0x9f, 0xaa, 0xa2, 0xa8, 0x45, 0x29, 0xe3, 0x20, 0xff, 0x6e, 0x3b, 0xfa, 0x45, 0x29, 0xe4, 0x20, 0xdf, 0xd7, 0xe8, 0x3e,
- 0x65, 0x31, 0xc3, 0x20, 0xff, 0x9f, 0xea, 0xe2, 0x45, 0x31, 0xe4, 0x20, 0x57, 0xde, 0xd6, 0x2a, 0x85, 0x31, 0x04, 0x21, 0xdd, 0x55, 0x7d, 0xa0, 0x65, 0x31, 0xc3, 0x18, 0xbf, 0xde, 0xaa, 0x20,
- 0x25, 0x31, 0xc3, 0x18, 0xe0, 0x5f, 0xba, 0x00, 0x45, 0x31, 0xc4, 0x20, 0x55, 0xdf, 0x22, 0x00, 0x65, 0x39, 0xe3, 0x20, 0xbd, 0xab, 0x8a, 0xea, 0x45, 0x39, 0x04, 0x29, 0xb8, 0xff, 0xf7, 0x6b,
- 0x44, 0x31, 0xe3, 0x28, 0xbf, 0xdf, 0x57, 0xea, 0x24, 0x29, 0xc3, 0x20, 0xa0, 0xa4, 0x8a, 0xaa, 0x45, 0x31, 0xe4, 0x28, 0xfb, 0x2f, 0xbd, 0xf5, 0x45, 0x31, 0x04, 0x29, 0xff, 0xf2, 0x73, 0x7d,
- 0x4c, 0xb4, 0xcb, 0xa3, 0x22, 0xa0, 0x2a, 0xbd, 0x2b, 0xb4, 0xea, 0xab, 0x42, 0x72, 0xf0, 0x03, 0x2b, 0xb4, 0xca, 0xab, 0xd7, 0x3d, 0xa2, 0x7a, 0x2c, 0xb4, 0xca, 0xa3, 0xb7, 0xfa, 0x60, 0xeb,
- 0x4c, 0xbc, 0xeb, 0xa3, 0x82, 0xeb, 0x75, 0x7f, 0x4c, 0xb4, 0xaa, 0x9b, 0xbc, 0xfd, 0xaf, 0xaa, 0x2c, 0xb4, 0xcb, 0xab, 0xe2, 0x9b, 0xa2, 0x2a, 0x6c, 0xbc, 0xaa, 0x9b, 0xfb, 0xa2, 0x9a, 0xfe,
- 0x2c, 0xb4, 0xeb, 0xab, 0x01, 0xd0, 0xac, 0x75, 0x4c, 0xbc, 0xca, 0xa3, 0xda, 0xee, 0xab, 0xe2, 0x6c, 0xbc, 0xcb, 0xa3, 0x7b, 0x8b, 0xaa, 0xb7, 0x4c, 0xb4, 0x0b, 0xac, 0x0f, 0x9d, 0xb5, 0xaa,
- 0x4c, 0xb4, 0xcb, 0xab, 0xe0, 0x2a, 0xea, 0x8d, 0x4c, 0xb4, 0xcb, 0xa3, 0xf5, 0xaf, 0xe3, 0xea, 0x2c, 0xb4, 0xca, 0xa3, 0xeb, 0xa9, 0x8a, 0xe0, 0x4c, 0xbc, 0xcb, 0xa3, 0x9f, 0x3e, 0x2a, 0xaf,
- 0x8c, 0xbc, 0x0b, 0xb4, 0xef, 0xef, 0x2b, 0x7f, 0x4c, 0xbc, 0xaa, 0xa3, 0xae, 0xfe, 0x58, 0xfe, 0x4c, 0xb4, 0xaa, 0xa3, 0xe2, 0xfb, 0xfd, 0xaf, 0x6c, 0xb4, 0xea, 0xab, 0x55, 0x2f, 0x7b, 0xf7,
- 0x4c, 0xb4, 0x8a, 0xa3, 0x6a, 0xbc, 0xbf, 0xaa, 0x2b, 0xb4, 0xca, 0xa3, 0x2a, 0xd0, 0xf6, 0x82, 0x2b, 0xb4, 0xca, 0xa3, 0x3a, 0x0f, 0x9c, 0xab, 0x4c, 0xb4, 0xea, 0xab, 0x2a, 0x0a, 0xa5, 0xed,
- 0x4c, 0xbc, 0xea, 0xab, 0x88, 0x00, 0x7f, 0xde, 0x4b, 0xb4, 0x28, 0x8b, 0xa8, 0xaa, 0xa7, 0x08, 0x2b, 0xb4, 0xaa, 0xa3, 0x4f, 0x6b, 0x2a, 0xaa, 0x2c, 0xb4, 0xca, 0xa3, 0x2d, 0x2b, 0xaa, 0x0a,
- 0x4b, 0xb4, 0xea, 0xa3, 0x00, 0x8a, 0xe9, 0x72, 0x4c, 0xb4, 0xeb, 0xab, 0xad, 0xf2, 0xbb, 0xaa, 0x4c, 0xb4, 0xeb, 0xab, 0x9d, 0x35, 0xdf, 0x3a, 0x4c, 0xb4, 0xca, 0xa3, 0x4a, 0x2a, 0x8a, 0x68,
- 0x6c, 0xbc, 0xaa, 0xa3, 0xab, 0xea, 0xaa, 0x58, 0x8c, 0xbc, 0x89, 0xa3, 0xa7, 0xbd, 0xa0, 0x5f, 0x6b, 0xb4, 0xaa, 0xa3, 0xfe, 0x28, 0x7f, 0xf5, 0x6c, 0xbc, 0x49, 0x9b, 0xa8, 0xa0, 0x55, 0xa2,
- 0x2b, 0xb4, 0x69, 0x9b, 0x20, 0x56, 0xd7, 0x7a, 0x0a, 0xac, 0x08, 0x8b, 0xe8, 0xfd, 0xfe, 0xaf, 0x0a, 0xac, 0x87, 0x7a, 0xb7, 0x8a, 0xaa, 0xa8, 0xeb, 0xab, 0xc7, 0x82, 0x5f, 0xaa, 0xaa, 0x02,
- 0x0b, 0xac, 0x09, 0x8b, 0x5d, 0xee, 0xdf, 0x02, 0x4b, 0xb4, 0x09, 0x8b, 0xff, 0xaa, 0xd7, 0x28, 0x0a, 0xac, 0x89, 0x9b, 0x57, 0x6a, 0xf6, 0xfc, 0x2b, 0xb4, 0x28, 0x93, 0x8a, 0xf9, 0xbe, 0xf8,
- 0x2b, 0xac, 0x85, 0x7a, 0x02, 0x3a, 0x2a, 0x5e, 0xc9, 0xab, 0x88, 0x72, 0x08, 0xaa, 0xe0, 0xd7, 0x4c, 0xac, 0xa6, 0x82, 0xee, 0x7a, 0xff, 0x2f, 0x4b, 0xb4, 0xa8, 0x82, 0xea, 0x57, 0xef, 0x22,
- 0x6c, 0xb4, 0x87, 0x7a, 0xff, 0xfb, 0xfd, 0xa0, 0x4b, 0xb4, 0xe6, 0x61, 0xaa, 0xb7, 0x2a, 0xaa, 0x2b, 0xac, 0x66, 0x7a, 0xfb, 0x0a, 0x68, 0x60, 0x6c, 0xb4, 0xc4, 0x61, 0xab, 0xf8, 0xfd, 0xeb,
- 0xea, 0xa3, 0x05, 0x6a, 0x82, 0xdf, 0xea, 0xbe, 0x89, 0x93, 0x05, 0x6a, 0xd7, 0xbf, 0x89, 0x02, 0xeb, 0xa3, 0xa7, 0x7a, 0xfd, 0x75, 0xea, 0x20, 0x2d, 0xa4, 0x87, 0x82, 0x55, 0xff, 0xef, 0x08,
- 0x0b, 0xa4, 0xc7, 0x82, 0x55, 0xbf, 0xae, 0x82, 0xeb, 0x9b, 0x66, 0x7a, 0x55, 0xfb, 0xaf, 0x3a, 0x0b, 0xa4, 0x67, 0x72, 0xfd, 0xaa, 0x82, 0x00, 0x2a, 0xac, 0xa8, 0x7a, 0xf5, 0xae, 0x2a, 0xfa,
- 0x2b, 0xac, 0x09, 0x83, 0xfd, 0xa2, 0xae, 0x8e, 0xeb, 0xa3, 0x08, 0x8b, 0x5f, 0xbb, 0x22, 0x7f, 0x2b, 0xa4, 0x09, 0x83, 0xd5, 0xad, 0x02, 0xab, 0x6c, 0xb4, 0x28, 0x8b, 0xff, 0xf5, 0xfc, 0xea,
- 0xea, 0x9b, 0x28, 0x8b, 0x2f, 0xf6, 0x2a, 0xe2, 0x0b, 0xac, 0x49, 0x93, 0xfa, 0x5d, 0x8f, 0xb7, 0xea, 0xa3, 0x29, 0x8b, 0xba, 0xad, 0x0a, 0x2a, 0xea, 0xa3, 0x69, 0x93, 0xb0, 0xea, 0x77, 0xa2,
- 0x0b, 0xa4, 0x49, 0x93, 0xa8, 0xbf, 0x7f, 0xbe, 0x2a, 0xac, 0x28, 0x93, 0x2b, 0x7e, 0xdf, 0xbe, 0xea, 0xa3, 0x68, 0x93, 0x88, 0xed, 0xcb, 0xf9, 0x0b, 0xa4, 0x68, 0x9b, 0xdd, 0xff, 0x2b, 0x7d,
- 0x0a, 0xac, 0x89, 0x9b, 0xf0, 0x3d, 0xbf, 0x95, 0x0a, 0xac, 0x69, 0x9b, 0x72, 0xbe, 0x6d, 0xb8, 0xca, 0xa3, 0x69, 0x9b, 0xaa, 0xf0, 0x6f, 0x58, 0xaa, 0xa3, 0x48, 0x93, 0x20, 0xdf, 0x5a, 0xef,
- 0xaa, 0xa3, 0x69, 0x93, 0xbe, 0xff, 0xd5, 0xb1, 0xaa, 0x9b, 0x49, 0x93, 0x18, 0xfa, 0xef, 0xf7, 0xaa, 0xa3, 0x49, 0x8b, 0xb8, 0x7e, 0x8b, 0xbd, 0xc9, 0xa3, 0x8a, 0x93, 0xff, 0xe5, 0xaf, 0xee,
- 0xc9, 0xa3, 0xa2, 0x61, 0x00, 0x00, 0xe0, 0x70, 0xea, 0xab, 0x02, 0x49, 0xe0, 0xfe, 0xd7, 0x0d, 0xeb, 0xa3, 0xe3, 0x40, 0x57, 0xed, 0xc0, 0x80, 0xe5, 0x61, 0xe2, 0x38, 0x7a, 0x78, 0xf8, 0xde,
- 0x63, 0x59, 0xe2, 0x40, 0x0d, 0x0b, 0x2b, 0xab, 0x84, 0x59, 0x42, 0x51, 0xf5, 0x0e, 0x8e, 0x0b, 0xc5, 0x61, 0x43, 0x51, 0xb7, 0x7f, 0x79, 0x1f, 0xc8, 0x7a, 0x63, 0x51, 0xf5, 0xf5, 0xb5, 0x0a,
- 0xe8, 0x82, 0xe5, 0x61, 0xb5, 0xab, 0xaa, 0x00, 0x48, 0x8b, 0x87, 0x7a, 0xf5, 0xff, 0xab, 0x22, 0x89, 0x8b, 0x08, 0x83, 0xf5, 0x95, 0x27, 0xae, 0x89, 0x93, 0x48, 0x8b, 0x25, 0x83, 0x7b, 0x5f,
- 0x89, 0x93, 0x28, 0x8b, 0xe0, 0xbd, 0xad, 0xa5, 0x69, 0x93, 0x28, 0x8b, 0x47, 0xa3, 0x83, 0xea, 0xaa, 0x93, 0x28, 0x8b, 0xff, 0xf9, 0xbd, 0x2d, 0xaa, 0x9b, 0x69, 0x93, 0xdb, 0x9f, 0x30, 0x2a,
- 0xca, 0xa3, 0x89, 0x9b, 0x23, 0x8b, 0xfa, 0xef, 0xca, 0xa3, 0x89, 0x9b, 0x08, 0xae, 0xff, 0xad, 0xcb, 0xab, 0xa9, 0x9b, 0x8a, 0x2d, 0x2b, 0xbf, 0x0b, 0xac, 0xca, 0xa3, 0xff, 0x1f, 0x27, 0xeb,
- 0x4b, 0xbc, 0xca, 0xa3, 0x8d, 0x2b, 0x2f, 0x2f, 0x6c, 0xbc, 0xa6, 0x82, 0xac, 0xf8, 0xd8, 0x78, 0xaa, 0xab, 0x04, 0x6a, 0xda, 0xf8, 0xa2, 0xa8, 0x2d, 0xa4, 0x67, 0x82, 0xb6, 0x0a, 0x2a, 0x28,
- 0x90, 0xa4, 0x29, 0x9b, 0x7d, 0x5f, 0x2a, 0x0a, 0xb0, 0xac, 0x05, 0x7a, 0x75, 0xab, 0x80, 0xf8, 0xed, 0xa3, 0x41, 0x59, 0xd7, 0xdc, 0xde, 0x9a, 0x4a, 0x8b, 0x46, 0x7a, 0x9f, 0x09, 0x2a, 0x02,
- 0x8b, 0x8b, 0xea, 0x82, 0xf7, 0xa0, 0xa6, 0xaf, 0x8e, 0xbc, 0x09, 0x83, 0xd5, 0x95, 0xb5, 0x35, 0xab, 0xa3, 0xe3, 0x28, 0x5c, 0x54, 0x56, 0x57, 0xa6, 0x49, 0xe3, 0x20, 0xf5, 0xf5, 0x3d, 0xf7,
- 0x08, 0x52, 0x04, 0x29, 0x55, 0xd5, 0xeb, 0x0b, 0x86, 0x39, 0x25, 0x29, 0xfd, 0xbf, 0xc2, 0xe0, 0xa6, 0x39, 0x25, 0x31, 0xfd, 0x8f, 0x37, 0x83, 0xa6, 0x39, 0x45, 0x31, 0x7b, 0xa2, 0x88, 0xfb,
- 0xe6, 0x49, 0x65, 0x31, 0xfd, 0xfb, 0xe1, 0xe9, 0xa5, 0x39, 0x03, 0x29, 0xa5, 0xb6, 0xde, 0x58, 0xa6, 0x41, 0x24, 0x31, 0x5e, 0xbe, 0x8b, 0x5d, 0x65, 0x31, 0x04, 0x29, 0x67, 0xa8, 0xa7, 0xa7,
- 0x65, 0x39, 0x04, 0x29, 0xeb, 0xa8, 0xea, 0x5f, 0x65, 0x39, 0x04, 0x29, 0xb7, 0xce, 0x7d, 0x55, 0x45, 0x31, 0xe3, 0x20, 0x3a, 0xba, 0xbf, 0x5f, 0x45, 0x31, 0xe3, 0x20, 0xe2, 0xbf, 0xff, 0xad,
- 0x45, 0x29, 0xe3, 0x20, 0x3b, 0x2e, 0xb8, 0xb7, 0x45, 0x31, 0xe4, 0x20, 0xa8, 0xba, 0xfe, 0xdf, 0x25, 0x29, 0xe3, 0x20, 0x00, 0xa8, 0x97, 0x1a, 0x45, 0x31, 0xe3, 0x28, 0xaf, 0x8b, 0xf7, 0xfb,
- 0x4c, 0xb4, 0x8a, 0x9b, 0x20, 0xae, 0x7a, 0x8a, 0x6c, 0xb4, 0xaa, 0x9b, 0x0a, 0xde, 0x2b, 0xaa, 0x4c, 0xb4, 0xea, 0xa3, 0x97, 0xaf, 0xf0, 0xea, 0x4c, 0xb4, 0xeb, 0xab, 0x78, 0xff, 0xa7, 0x15,
- 0x4c, 0xb4, 0xea, 0xab, 0xfb, 0x7b, 0xbb, 0x89, 0x4c, 0xb4, 0xcb, 0xa3, 0xdf, 0x8b, 0x02, 0xbc, 0x2c, 0xb4, 0x8a, 0x9b, 0xa2, 0xa8, 0x98, 0xfa, 0x4c, 0xb4, 0xcb, 0xa3, 0x6a, 0x8a, 0x2e, 0xbf,
- 0x4c, 0xb4, 0xaa, 0xa3, 0xff, 0x2a, 0x72, 0xa0, 0x6c, 0xbc, 0xeb, 0xab, 0xd5, 0x82, 0xfd, 0xdf, 0x4c, 0xb4, 0xeb, 0xa3, 0xfb, 0xf0, 0xd7, 0x83, 0x4c, 0xb4, 0xaa, 0x9b, 0x0a, 0x28, 0xaa, 0xf6,
- 0x4c, 0xb4, 0xeb, 0xa3, 0xfa, 0xa0, 0xeb, 0xf5, 0x2c, 0xb4, 0xca, 0xa3, 0x0a, 0x7a, 0xf7, 0x8a, 0x4c, 0xb4, 0xca, 0xa3, 0x2a, 0x8d, 0xff, 0xae, 0x2c, 0xb4, 0xeb, 0xab, 0xc0, 0xfe, 0x93, 0x8f,
- 0x4c, 0xb4, 0xca, 0xa3, 0x01, 0xaa, 0x8a, 0xfa, 0x2b, 0xb4, 0xeb, 0xa3, 0xfc, 0xdf, 0xbd, 0xeb, 0x2c, 0xb4, 0x8a, 0x9b, 0xe2, 0x20, 0xb6, 0xea, 0x4c, 0xb4, 0xaa, 0x9b, 0xab, 0xaf, 0x78, 0xf7,
- 0x2b, 0xb4, 0xaa, 0x9b, 0x00, 0x97, 0xeb, 0xec, 0x0c, 0xb4, 0xca, 0xa3, 0xe8, 0xdb, 0xeb, 0x2e, 0x0b, 0xac, 0x8a, 0x9b, 0xe1, 0x82, 0x2f, 0x80, 0x4b, 0xb4, 0xaa, 0xa3, 0xc9, 0xa7, 0xae, 0xba,
- 0x6c, 0xb4, 0xeb, 0xa3, 0xff, 0xae, 0xdd, 0x22, 0x2b, 0xb4, 0xcb, 0xa3, 0x00, 0xfa, 0xd7, 0x88, 0x2b, 0xb4, 0xa9, 0xa3, 0x2a, 0x1a, 0x2a, 0xf8, 0x4c, 0xb4, 0xa9, 0xa3, 0xfe, 0xfe, 0x28, 0xf5,
- 0x4c, 0xb4, 0x27, 0x93, 0xa8, 0xaa, 0xa0, 0x7a, 0x4c, 0xb4, 0xa6, 0x7a, 0x02, 0x00, 0x08, 0xbd, 0x4c, 0xb4, 0xa5, 0x82, 0x00, 0xa8, 0x88, 0xdc, 0x6c, 0xb4, 0xe7, 0x8a, 0x00, 0xaa, 0xea, 0x57,
- 0x6b, 0xbc, 0xa7, 0x82, 0x00, 0x80, 0xaf, 0xad, 0x4b, 0xbc, 0x68, 0x93, 0xe0, 0xff, 0xd7, 0xf5, 0x0b, 0xac, 0x69, 0x93, 0x3b, 0xa8, 0x6f, 0xa2, 0x0a, 0xac, 0xe8, 0x82, 0x00, 0xae, 0xfd, 0xaa,
- 0xea, 0xab, 0xc6, 0x7a, 0xa8, 0x2f, 0xa9, 0x00, 0xeb, 0xa3, 0x48, 0x93, 0xff, 0xdf, 0xff, 0x00, 0x2b, 0xac, 0x28, 0x8b, 0xad, 0xf9, 0x2b, 0xea, 0x2b, 0xb4, 0x69, 0x9b, 0xa2, 0x7f, 0xf2, 0x88,
- 0x8d, 0xb4, 0x49, 0x93, 0xd7, 0x8d, 0xf7, 0x2f, 0x4c, 0xb4, 0x49, 0x93, 0xff, 0x5c, 0x57, 0xaa, 0x8b, 0xb4, 0x08, 0x8b, 0xff, 0x55, 0xfd, 0x8a, 0x4b, 0xac, 0xe8, 0x82, 0xaf, 0xcf, 0x55, 0x02,
- 0x6c, 0xac, 0x29, 0x8b, 0xfd, 0xf5, 0xbf, 0x2f, 0x8d, 0xb4, 0x8a, 0x93, 0xf5, 0x7f, 0xd4, 0xb8, 0xce, 0xbc, 0x49, 0x93, 0xf7, 0xff, 0xb2, 0xe8, 0x4c, 0xb4, 0xa6, 0x7a, 0x82, 0x02, 0x0a, 0x6a,
- 0x2a, 0xb4, 0xc8, 0x7a, 0xe2, 0xa8, 0xf8, 0x5f, 0xad, 0xbc, 0x26, 0x6a, 0x0a, 0x60, 0xb5, 0xea, 0x4b, 0xb4, 0x06, 0x6a, 0xbc, 0xbd, 0xab, 0xf7, 0xc9, 0xa3, 0x87, 0x7a, 0xfe, 0x2a, 0xf2, 0xf5,
- 0xca, 0x9b, 0x67, 0x7a, 0xbd, 0x8c, 0x7f, 0xb5, 0x0a, 0xa4, 0xa7, 0x82, 0x0a, 0xef, 0xfd, 0xef, 0x4b, 0xac, 0x04, 0x72, 0xa0, 0xab, 0xdf, 0xfe, 0xea, 0xab, 0xa4, 0x59, 0x00, 0x08, 0xaa, 0x55,
- 0xa9, 0x9b, 0x64, 0x51, 0x80, 0xa0, 0xba, 0xb5, 0xca, 0x9b, 0x66, 0x72, 0xa9, 0xbf, 0x2d, 0x83, 0xca, 0x9b, 0xe7, 0x82, 0x20, 0x02, 0x80, 0x7e, 0x0b, 0xa4, 0x47, 0x72, 0xa7, 0x08, 0xaa, 0x0b,
- 0x2b, 0xac, 0x49, 0x8b, 0xd5, 0xe3, 0xab, 0xba, 0x2b, 0xa4, 0xe8, 0x8a, 0x22, 0xed, 0xfe, 0x82, 0x2a, 0xac, 0x28, 0x8b, 0x8a, 0xdf, 0xad, 0xaf, 0xea, 0xa3, 0x29, 0x8b, 0xa8, 0xdf, 0xab, 0x7e,
- 0x0a, 0xa4, 0x48, 0x93, 0xee, 0x2b, 0xb0, 0xd5, 0x2b, 0xac, 0x28, 0x8b, 0x37, 0xaa, 0xfb, 0xf7, 0xea, 0xa3, 0x49, 0x93, 0x8a, 0xa8, 0x5f, 0x8b, 0x0a, 0xa4, 0x69, 0x93, 0x2f, 0xf5, 0xf5, 0x7f,
- 0xea, 0xa3, 0x48, 0x93, 0xfe, 0x97, 0xf8, 0xdf, 0xa9, 0x9b, 0x28, 0x93, 0xed, 0x82, 0xe8, 0xe3, 0xca, 0x9b, 0x48, 0x93, 0xfd, 0xfc, 0xfd, 0xff, 0xca, 0xa3, 0x68, 0x93, 0x8a, 0xdf, 0xaa, 0xea,
- 0xa9, 0x9b, 0x28, 0x8b, 0x80, 0xab, 0x00, 0x36, 0xaa, 0xa3, 0x68, 0x93, 0xaf, 0xaa, 0xba, 0xee, 0xca, 0xa3, 0x69, 0x9b, 0x6c, 0x6a, 0xfa, 0xfe, 0xa9, 0xa3, 0x68, 0x93, 0x3a, 0x7c, 0x27, 0x5f,
- 0xea, 0xa3, 0x28, 0x8b, 0x7f, 0xf7, 0xf7, 0x0d, 0xca, 0xa3, 0x49, 0x8b, 0xd5, 0x0e, 0x0e, 0xfe, 0xca, 0xa3, 0x48, 0x8b, 0x2b, 0xea, 0xac, 0x7f, 0x89, 0x9b, 0xe2, 0x69, 0x00, 0xa8, 0xe8, 0x7a,
- 0x68, 0x93, 0x22, 0x49, 0x7c, 0x97, 0x27, 0x0d, 0xca, 0xa3, 0x44, 0x7a, 0xa3, 0xa8, 0xaa, 0x7b, 0xa9, 0x9b, 0x82, 0x61, 0x80, 0x08, 0xa0, 0x57, 0xc4, 0x59, 0x22, 0x41, 0xd8, 0xf6, 0xde, 0x5e,
- 0x84, 0x51, 0x43, 0x49, 0x87, 0x3a, 0x0e, 0xa5, 0xe8, 0x7a, 0x44, 0x51, 0x7d, 0xb5, 0x2f, 0x2f, 0x28, 0x8b, 0xe6, 0x59, 0xad, 0xfa, 0xaa, 0xe8, 0xe8, 0x82, 0x66, 0x72, 0x36, 0xab, 0xf9, 0x0d,
- 0x69, 0x8b, 0xc7, 0x7a, 0xf7, 0xbd, 0x3b, 0xab, 0x69, 0x93, 0xe8, 0x7a, 0x35, 0x8b, 0x28, 0xaa, 0x89, 0x93, 0x08, 0x8b, 0x0a, 0xea, 0x7f, 0xaf, 0x69, 0x93, 0xe8, 0x82, 0xa0, 0xaa, 0xf9, 0xa8,
- 0x69, 0x93, 0x08, 0x83, 0x0e, 0xac, 0xb9, 0xaa, 0xaa, 0x9b, 0x28, 0x8b, 0xfd, 0xaf, 0x2b, 0xea, 0xaa, 0x9b, 0x48, 0x8b, 0xaf, 0x8b, 0x7b, 0xff, 0x8a, 0x9b, 0x48, 0x93, 0x82, 0xaa, 0x9d, 0x2b,
- 0xaa, 0x9b, 0x68, 0x93, 0xb2, 0x67, 0xad, 0x2a, 0xca, 0x9b, 0x69, 0x93, 0x89, 0xea, 0xaa, 0xca, 0xea, 0xa3, 0x89, 0x9b, 0x2d, 0x83, 0xea, 0x2f, 0xeb, 0xab, 0xaa, 0x9b, 0xaa, 0x2f, 0x38, 0xaa,
- 0x4b, 0xb4, 0xea, 0xa3, 0x2b, 0xbf, 0x3d, 0x35, 0x6c, 0xbc, 0x24, 0x72, 0x60, 0x40, 0xe0, 0x80, 0x4b, 0xb4, 0x24, 0x72, 0xe8, 0x68, 0xfc, 0x38, 0x2c, 0xac, 0x49, 0x8b, 0xaa, 0xaa, 0xf8, 0x73,
- 0x2d, 0x9c, 0x66, 0x7a, 0x00, 0xaa, 0xfa, 0x7f, 0x8a, 0x8b, 0x67, 0x72, 0xb8, 0xff, 0xf5, 0x75, 0x08, 0x83, 0xa4, 0x59, 0x90, 0xb0, 0xa8, 0xaa, 0x8b, 0x8b, 0xc8, 0x7a, 0xbd, 0xbf, 0xad, 0x09,
- 0xeb, 0xab, 0x2a, 0x83, 0x55, 0xd5, 0x35, 0x0d, 0x4c, 0xbc, 0x85, 0x51, 0xaa, 0x40, 0x40, 0xe0, 0x07, 0x4a, 0xc3, 0x28, 0x57, 0xff, 0xfe, 0xa8, 0xc6, 0x39, 0xe4, 0x20, 0xf5, 0x5f, 0x0a, 0x02,
- 0xc6, 0x39, 0x05, 0x21, 0x0b, 0xad, 0xfa, 0xa0, 0xe6, 0x41, 0x24, 0x31, 0xa8, 0xab, 0x5e, 0x6b, 0x06, 0x4a, 0x24, 0x31, 0xbe, 0xdf, 0xb5, 0x35, 0xe6, 0x49, 0x04, 0x31, 0xea, 0xa7, 0x82, 0x02,
- 0xe6, 0x49, 0x65, 0x31, 0xfd, 0xfd, 0xca, 0x7e, 0xc6, 0x41, 0xe4, 0x20, 0x4a, 0xa8, 0x8a, 0xaa, 0x45, 0x31, 0xe4, 0x28, 0x81, 0xa9, 0xad, 0xbf, 0x45, 0x31, 0x04, 0x29, 0x8b, 0x68, 0xca, 0x2a,
- 0x45, 0x31, 0x04, 0x29, 0x56, 0xf7, 0xff, 0xec, 0x24, 0x29, 0xe3, 0x18, 0x9a, 0xc0, 0xe2, 0x88, 0x24, 0x31, 0xe3, 0x18, 0xef, 0xbf, 0x29, 0xaa, 0x45, 0x29, 0xc3, 0x20, 0x7e, 0xae, 0x2a, 0x3a,
- 0x44, 0x29, 0xe3, 0x20, 0x7f, 0xc2, 0x6a, 0xff, 0x24, 0x31, 0xe3, 0x20, 0xa7, 0xab, 0xbd, 0x6b, 0x65, 0x31, 0xe4, 0x28, 0xbb, 0x57, 0x55, 0x0d, 0xe3, 0x30, 0x45, 0x29, 0xff, 0x97, 0xaa, 0x0b,
- 0x4c, 0xb4, 0xaa, 0xa3, 0xaf, 0xff, 0xdf, 0x2f, 0x4b, 0xb4, 0xca, 0xa3, 0x5f, 0xbf, 0x55, 0x88, 0x6c, 0xbc, 0x69, 0x9b, 0x2a, 0xaa, 0xb6, 0xbe, 0x4c, 0xbc, 0xea, 0xa3, 0x7f, 0xff, 0xb7, 0x3e,
- 0x4a, 0xbc, 0xcb, 0xa3, 0xfd, 0x7f, 0x57, 0xe0, 0x2c, 0xb4, 0xca, 0xa3, 0xef, 0xe3, 0xdf, 0x2e, 0x2c, 0xb4, 0xea, 0xa3, 0xea, 0xff, 0xfb, 0x8a, 0x6c, 0xbc, 0xeb, 0xab, 0x75, 0xf7, 0xfd, 0x3f,
- 0x4c, 0xb4, 0xca, 0xa3, 0x7d, 0xcb, 0x3f, 0x02, 0x4b, 0xb4, 0xca, 0xab, 0xff, 0xaa, 0xb8, 0x5e, 0x2b, 0xb4, 0xea, 0xab, 0xda, 0xb5, 0xff, 0xc9, 0x4b, 0xac, 0x89, 0xa3, 0xca, 0xae, 0xea, 0x77,
- 0x2b, 0xac, 0x69, 0x9b, 0x2a, 0xaa, 0xfe, 0x7f, 0x2b, 0xb4, 0x6a, 0x9b, 0x98, 0xa0, 0xff, 0xfd, 0x4b, 0xbc, 0x07, 0x8b, 0x80, 0x82, 0xf5, 0xff, 0x0b, 0xac, 0x48, 0x93, 0x00, 0x02, 0xdf, 0x2b,
- 0x4c, 0xb4, 0xa9, 0x9b, 0xc2, 0xf6, 0x6f, 0xe2, 0x2b, 0xb4, 0xca, 0xa3, 0xe2, 0xff, 0x7d, 0xe3, 0x0a, 0xa4, 0x89, 0x9b, 0xcd, 0xea, 0xf5, 0x80, 0x2b, 0xac, 0xe8, 0x8a, 0x80, 0x2b, 0x7a, 0xaa,
- 0x0a, 0xac, 0x08, 0x8b, 0x00, 0xba, 0xf5, 0xaa, 0xeb, 0xa3, 0x48, 0x93, 0x38, 0x5b, 0xfe, 0x02, 0x0b, 0xa4, 0x49, 0x9b, 0xea, 0x7f, 0x82, 0xaa, 0x2b, 0xac, 0x69, 0x93, 0x2a, 0x7f, 0xbf, 0x0a,
- 0x8c, 0xb4, 0x49, 0x93, 0xf7, 0x8b, 0xaa, 0xab, 0x2b, 0xb4, 0xca, 0xa3, 0xa9, 0x42, 0x60, 0x7f, 0xeb, 0xa3, 0x49, 0x93, 0x78, 0xff, 0xaa, 0x2a, 0xeb, 0xa3, 0x69, 0x9b, 0xdf, 0x57, 0xf7, 0x20,
- 0xca, 0xa3, 0x48, 0x93, 0x5a, 0xf7, 0xb2, 0x08, 0x2b, 0xa4, 0xc8, 0x82, 0xf5, 0xad, 0xaf, 0x02, 0x2b, 0xac, 0x29, 0x8b, 0xb7, 0xaa, 0xaa, 0x02, 0x2c, 0xac, 0xa9, 0x9b, 0x57, 0xfe, 0xaa, 0x00,
- 0xae, 0xbc, 0x89, 0x93, 0x55, 0xff, 0xbf, 0x0a, 0x4c, 0xb4, 0x8a, 0x93, 0xfd, 0xaf, 0x0a, 0x00, 0xee, 0xc4, 0xeb, 0xa3, 0x55, 0xef, 0x02, 0xaa, 0xee, 0xc4, 0xca, 0xa3, 0x55, 0x02, 0x78, 0xd7,
- 0x8d, 0xbc, 0x69, 0x93, 0xbf, 0x2b, 0xc2, 0xde, 0x8d, 0xbc, 0xaa, 0x9b, 0xf8, 0xff, 0xef, 0xad, 0x8c, 0xbc, 0xaa, 0xa3, 0xd5, 0xff, 0xaf, 0x00, 0x0b, 0xb4, 0x48, 0x8b, 0x2a, 0x0a, 0xa0, 0xde,
- 0x6c, 0xb4, 0x28, 0x93, 0x2a, 0xea, 0xff, 0x7f, 0x0a, 0xb4, 0x69, 0x93, 0x80, 0xff, 0x56, 0xff, 0xea, 0xa3, 0xe8, 0x8a, 0x5e, 0x0a, 0xae, 0xaa, 0xeb, 0xa3, 0x05, 0x6a, 0x58, 0xad, 0xa8, 0x00,
- 0xeb, 0xa3, 0x6a, 0x93, 0x0d, 0xab, 0xff, 0xad, 0x8d, 0xb4, 0x89, 0x9b, 0xb2, 0xd5, 0x7d, 0x57, 0xea, 0xa3, 0x48, 0x93, 0x86, 0x5f, 0xfe, 0xde, 0xca, 0xa3, 0xc7, 0x82, 0xb6, 0x3f, 0xaa, 0xaa,
- 0x2c, 0xa4, 0x48, 0x93, 0x0a, 0x27, 0xff, 0xd7, 0x2c, 0xac, 0x49, 0x93, 0x5a, 0xfe, 0x3f, 0xbf, 0x2c, 0xa4, 0x28, 0x93, 0x55, 0x97, 0x3e, 0xe3, 0x8d, 0xac, 0xe8, 0x8a, 0x5f, 0xdc, 0xf0, 0xfa,
- 0x0f, 0xbd, 0x6a, 0x93, 0x75, 0xfd, 0xfd, 0xc9, 0xeb, 0xa3, 0x08, 0x8b, 0x7f, 0xe8, 0xa8, 0xaa, 0xeb, 0x9b, 0xa7, 0x82, 0x7b, 0xa8, 0xaa, 0x08, 0x2c, 0xa4, 0xc8, 0x7a, 0x75, 0xf5, 0x83, 0x80,
- 0xcb, 0x9b, 0xa7, 0x72, 0xdd, 0xff, 0xab, 0x02, 0x0c, 0xa4, 0x48, 0x8b, 0x75, 0xb7, 0xfc, 0x0b, 0x8c, 0xb4, 0x09, 0x8b, 0xdf, 0xb8, 0xaa, 0xfe, 0x0b, 0xa4, 0x29, 0x8b, 0x0a, 0xa8, 0xa6, 0x22,
- 0x2b, 0xac, 0x69, 0x93, 0xa8, 0x97, 0x6b, 0x82, 0x0a, 0xa4, 0x49, 0x93, 0xa8, 0xf6, 0x9e, 0x7a, 0xeb, 0xa3, 0x29, 0x8b, 0xff, 0xa2, 0x02, 0x3d, 0x2c, 0xac, 0x28, 0x8b, 0x5f, 0xfb, 0xfe, 0x22,
- 0x0a, 0xa4, 0x49, 0x93, 0xf5, 0x7b, 0xa0, 0xb8, 0xca, 0x9b, 0x48, 0x93, 0xde, 0xdb, 0x88, 0xfe, 0xca, 0xa3, 0x28, 0x8b, 0x5f, 0xff, 0xaa, 0x2a, 0xca, 0xa3, 0x28, 0x8b, 0xf7, 0xef, 0x8a, 0xe2,
- 0xa9, 0x9b, 0x48, 0x8b, 0x8b, 0x90, 0x00, 0x20, 0xca, 0x9b, 0x49, 0x8b, 0x85, 0x2a, 0xe0, 0x26, 0x0b, 0xa4, 0x69, 0x93, 0x5d, 0xff, 0x5f, 0xc3, 0x0b, 0xa4, 0x69, 0x93, 0xff, 0xff, 0x63, 0x7b,
- 0xea, 0x9b, 0x48, 0x93, 0xca, 0xe9, 0xe3, 0xaa, 0xca, 0xa3, 0x28, 0x8b, 0x2a, 0x9b, 0xbb, 0x2e, 0xea, 0xa3, 0x29, 0x93, 0xfe, 0x7f, 0xef, 0x2f, 0xca, 0x9b, 0x49, 0x93, 0xaf, 0x8f, 0xa2, 0xc9,
- 0xca, 0x9b, 0x08, 0x83, 0xc2, 0xda, 0xda, 0x8a, 0x89, 0x93, 0xe7, 0x82, 0xa8, 0x8a, 0xe8, 0x68, 0x68, 0x93, 0x25, 0x72, 0x20, 0xea, 0x7a, 0x7f, 0xc6, 0x82, 0x83, 0x61, 0x78, 0x5b, 0xfb, 0xa9,
- 0xe7, 0x8a, 0x63, 0x51, 0x09, 0x03, 0xea, 0x2a, 0xe7, 0x8a, 0x22, 0x51, 0xfc, 0x56, 0x7c, 0x78, 0xc4, 0x61, 0x22, 0x51, 0x70, 0xd7, 0x35, 0xaf, 0xe8, 0x82, 0xc1, 0x40, 0x7f, 0xc3, 0xbf, 0xff,
- 0x25, 0x6a, 0xa2, 0x38, 0xfd, 0xbf, 0xb4, 0xfa, 0xaa, 0x93, 0x84, 0x51, 0xad, 0xad, 0x29, 0x2d, 0xaa, 0x9b, 0x26, 0x6a, 0xaa, 0xaa, 0x00, 0x60, 0xe8, 0x7a, 0x05, 0x62, 0x08, 0x00, 0xfc, 0xad,
- 0x28, 0x83, 0x66, 0x72, 0x02, 0xaa, 0xbd, 0x75, 0x28, 0x8b, 0xa7, 0x7a, 0x2a, 0x0a, 0xbe, 0x89, 0x8a, 0x93, 0x08, 0x83, 0xff, 0xf7, 0xfb, 0xc9, 0x89, 0x93, 0x28, 0x8b, 0xf9, 0xad, 0xe8, 0x77,
- 0x8a, 0x93, 0x28, 0x8b, 0x82, 0x78, 0xdf, 0xbb, 0x89, 0x93, 0x28, 0x8b, 0xee, 0x6f, 0xb6, 0x3e, 0x8a, 0x93, 0x48, 0x8b, 0x95, 0xad, 0x37, 0x0a, 0x8a, 0x9b, 0x69, 0x93, 0xbf, 0x2d, 0x02, 0x28,
- 0xca, 0x9b, 0x89, 0x93, 0xeb, 0xbd, 0x9f, 0x28, 0xca, 0xa3, 0x89, 0x93, 0xbc, 0xbe, 0xea, 0xba, 0x0b, 0xa4, 0xa9, 0x9b, 0xff, 0xf5, 0x35, 0xa5, 0xeb, 0xab, 0xca, 0x9b, 0x2f, 0xaa, 0xff, 0xab,
- 0x2b, 0xb4, 0xea, 0xa3, 0x37, 0xbf, 0xd5, 0xd7, 0x4b, 0xbc, 0xea, 0xab, 0xe2, 0xea, 0xbb, 0xfd, 0x4c, 0xbc, 0x85, 0x7a, 0x1e, 0xf8, 0xf8, 0xb8, 0x0a, 0xac, 0x48, 0x93, 0x79, 0xe8, 0xb8, 0xfb,
- 0x69, 0x9b, 0x87, 0x7a, 0x7e, 0x7a, 0x6a, 0xe8, 0xa7, 0x7a, 0x46, 0x72, 0xee, 0xa8, 0x1a, 0xa0, 0x6a, 0x8b, 0x87, 0x7a, 0x75, 0xfd, 0x8f, 0x2f, 0xee, 0xcc, 0x09, 0x83, 0x55, 0xd5, 0x2d, 0x0f,
- 0xad, 0xc4, 0x6a, 0x93, 0xbd, 0xa2, 0xa0, 0x80, 0x8d, 0xbc, 0x23, 0x39, 0xf0, 0x50, 0x5c, 0x54, 0xa6, 0x41, 0x44, 0x31, 0x38, 0x95, 0x22, 0xe3, 0xc6, 0x41, 0x03, 0x29, 0x2a, 0x02, 0x7e, 0xb7,
- 0x06, 0x52, 0x24, 0x31, 0xff, 0x8f, 0xfd, 0xf7, 0xe6, 0x49, 0x24, 0x39, 0xeb, 0x2e, 0xf2, 0x57, 0xe6, 0x41, 0x24, 0x29, 0x9f, 0x5c, 0xf7, 0xdf, 0xc6, 0x41, 0x24, 0x31, 0xfe, 0x72, 0x29, 0xfa,
- 0xa6, 0x41, 0x24, 0x31, 0x38, 0x6d, 0xae, 0xea, 0x66, 0x41, 0x24, 0x29, 0xa8, 0xaa, 0xdf, 0x55, 0x85, 0x39, 0xe3, 0x28, 0xd6, 0x58, 0x78, 0xa8, 0x65, 0x31, 0xe4, 0x20, 0x2a, 0xbb, 0xbf, 0xfd,
- 0x65, 0x31, 0x04, 0x29, 0x7e, 0xfb, 0xaa, 0xe8, 0x65, 0x31, 0x04, 0x29, 0x97, 0x7d, 0xab, 0xf8, 0xe5, 0x30, 0x44, 0x29, 0xe2, 0xbf, 0xea, 0xf7, 0x45, 0x31, 0x04, 0x29, 0x5d, 0xab, 0x67, 0xaf,
- 0x65, 0x31, 0xe4, 0x20, 0xe2, 0xde, 0xfb, 0xbe, 0x65, 0x31, 0xe3, 0x28, 0xef, 0xbd, 0x00, 0xee, 0x24, 0x39, 0xe3, 0x28, 0xa2, 0x9a, 0xfb, 0xe2, 0x24, 0x39, 0xc3, 0x28, 0x7a, 0x5a, 0xf0, 0x5d,
- 0x4c, 0xbc, 0xea, 0xab, 0xd2, 0xa0, 0xaa, 0xbe, 0x4c, 0xb4, 0xea, 0xab, 0x7a, 0xfa, 0xf8, 0xea, 0x4c, 0xb4, 0xca, 0xab, 0x95, 0x8f, 0x2a, 0x2a, 0x6c, 0xc4, 0x2a, 0xb4, 0x25, 0x37, 0xdf, 0x55,
- 0x6b, 0xc4, 0x2a, 0xb4, 0x7a, 0xe8, 0xfa, 0xff, 0x4b, 0xb4, 0xea, 0xab, 0xe7, 0x8b, 0x80, 0xa0, 0x4c, 0xb4, 0xea, 0xab, 0xa9, 0x0a, 0xaa, 0xaa, 0x4c, 0xb4, 0x0a, 0xac, 0xff, 0xbb, 0xae, 0xa2,
- 0x4c, 0xb4, 0x0a, 0xac, 0x6b, 0xaf, 0xf5, 0xb0, 0x2b, 0xb4, 0xea, 0xab, 0x5a, 0xbe, 0x28, 0xa0, 0x2b, 0xb4, 0xaa, 0xab, 0x7b, 0xaa, 0x80, 0x80, 0x4b, 0xb4, 0xca, 0xab, 0x55, 0xff, 0xea, 0x8a,
- 0x4b, 0xb4, 0xaa, 0x9b, 0xdd, 0xee, 0xaa, 0x02, 0x4b, 0xb4, 0xca, 0xa3, 0x55, 0xbf, 0xab, 0x00, 0x4c, 0xb4, 0xeb, 0xa3, 0x37, 0xef, 0xaa, 0xa8, 0x4c, 0xb4, 0x0b, 0xac, 0xac, 0x8a, 0xff, 0xab,
- 0x4c, 0xb4, 0x0b, 0xac, 0xfe, 0xac, 0xf6, 0x77, 0x4c, 0xb4, 0xea, 0xab, 0xde, 0xa0, 0x0f, 0xbf, 0x4c, 0xb4, 0xeb, 0xab, 0x55, 0xfa, 0x20, 0x2e, 0xcd, 0xbc, 0xeb, 0xa3, 0x7f, 0xf7, 0xbb, 0xa2,
- 0x6c, 0xb4, 0xeb, 0xa3, 0xf5, 0xab, 0xe8, 0x2c, 0x6c, 0xb4, 0x0b, 0xa4, 0xd5, 0xbf, 0x0b, 0xda, 0x4c, 0xac, 0xeb, 0xa3, 0xfd, 0xc8, 0xde, 0xe2, 0xae, 0xb4, 0xea, 0xa3, 0x5d, 0x55, 0xff, 0x8f,
- 0x4c, 0xac, 0xea, 0xa3, 0x75, 0xbf, 0xaa, 0x00, 0x4c, 0xb4, 0xeb, 0xa3, 0xd7, 0xff, 0xaa, 0x08, 0x4c, 0xb4, 0xeb, 0xab, 0x5d, 0xeb, 0xba, 0x00, 0x8d, 0xb4, 0xca, 0xa3, 0x57, 0xff, 0xbb, 0x2a,
- 0xce, 0xbc, 0xeb, 0xa3, 0x55, 0xdf, 0xaa, 0x80, 0xae, 0xb4, 0x0b, 0xac, 0x55, 0xff, 0x82, 0x4b, 0x2f, 0xcd, 0x0b, 0xa4, 0xd5, 0xff, 0x33, 0xf5, 0xce, 0xbc, 0x2c, 0xac, 0x5b, 0xe8, 0x28, 0xe7,
- 0xad, 0xbc, 0x0b, 0xac, 0xdb, 0xee, 0xf4, 0xdf, 0x6c, 0xb4, 0xeb, 0xa3, 0xb8, 0xaf, 0x2a, 0x6e, 0x2f, 0xcd, 0xca, 0xa3, 0xff, 0xff, 0x7f, 0xcf, 0xad, 0xbc, 0xca, 0xa3, 0xff, 0xfc, 0x55, 0x75,
- 0x0e, 0xc5, 0xaa, 0x9b, 0xb5, 0x37, 0x7f, 0xff, 0x0d, 0xc5, 0x8a, 0x9b, 0xa0, 0x7f, 0x5d, 0x7f, 0x2c, 0xac, 0x28, 0x8b, 0x78, 0xee, 0xaa, 0xea, 0xce, 0xbc, 0x28, 0x93, 0xfd, 0x7f, 0xff, 0x8a,
- 0x0b, 0xac, 0x08, 0x8b, 0xb9, 0xaa, 0xaa, 0x82, 0x0c, 0xac, 0x48, 0x93, 0xfb, 0x9c, 0xfe, 0xfc, 0x2b, 0xac, 0x29, 0x8b, 0x8a, 0x5f, 0xa2, 0xaa, 0x2b, 0xac, 0x28, 0x8b, 0x6a, 0x2f, 0x20, 0x0a,
- 0x4c, 0xb4, 0xab, 0x9b, 0x7b, 0xa2, 0xa2, 0x82, 0x0b, 0xac, 0x07, 0x83, 0xea, 0xb8, 0x60, 0xa0, 0xca, 0x9b, 0x03, 0x6a, 0x00, 0x00, 0x02, 0x2d, 0xca, 0x9b, 0x89, 0x93, 0x56, 0xf6, 0xa8, 0x22,
- 0xcb, 0xa3, 0x8a, 0x93, 0xd5, 0x7a, 0x0a, 0x02, 0x4c, 0xac, 0x6a, 0x93, 0xd7, 0xb5, 0xae, 0x82, 0x0e, 0xbd, 0x29, 0x93, 0xdf, 0xff, 0x0a, 0xaa, 0xee, 0xbc, 0xaa, 0x93, 0x7e, 0x2d, 0xfc, 0x55,
- 0x6d, 0xac, 0xaa, 0x9b, 0x82, 0xfa, 0x7f, 0xf2, 0xcf, 0xbc, 0x8a, 0x93, 0x5f, 0xff, 0x53, 0xff, 0xae, 0xb4, 0x8a, 0x93, 0xff, 0x2e, 0x05, 0xae, 0x8d, 0xac, 0xaa, 0x9b, 0xdf, 0x9e, 0xda, 0xf3,
- 0xac, 0xb4, 0x8a, 0x93, 0xf5, 0xe8, 0x55, 0xf3, 0x4c, 0xac, 0xaa, 0x93, 0x2a, 0xa2, 0xda, 0x4a, 0x2c, 0xa4, 0x69, 0x93, 0xe7, 0xca, 0xe2, 0xfd, 0x2c, 0xa4, 0x08, 0x8b, 0x2b, 0x7f, 0xaa, 0x00,
- 0x2b, 0xac, 0x49, 0x8b, 0x1a, 0xbd, 0x97, 0xba, 0x0b, 0xa4, 0x89, 0x93, 0x3c, 0xad, 0x0d, 0x29, 0x0b, 0xa4, 0x89, 0x93, 0xbe, 0xf2, 0x62, 0xfc, 0x4c, 0xac, 0x89, 0x93, 0xff, 0x2f, 0x3d, 0xbf,
- 0x4c, 0xac, 0x69, 0x93, 0xbf, 0xfc, 0xfe, 0xd5, 0x2c, 0xa4, 0x89, 0x93, 0xdf, 0xba, 0x78, 0xfb, 0x2b, 0xa4, 0x69, 0x9b, 0xdf, 0x82, 0xaf, 0x7f, 0xca, 0x9b, 0x48, 0x93, 0x3a, 0x88, 0x3e, 0xd7,
- 0xea, 0xa3, 0x48, 0x93, 0xa8, 0x7d, 0xf7, 0xdc, 0xea, 0xa3, 0x48, 0x93, 0xe2, 0x67, 0xbd, 0xeb, 0xaa, 0x9b, 0x28, 0x8b, 0xae, 0x89, 0xa0, 0xeb, 0xaa, 0x9b, 0x28, 0x8b, 0x0f, 0xaf, 0xf6, 0xab,
- 0xa9, 0x9b, 0x48, 0x93, 0x9b, 0xb8, 0xcb, 0x3d, 0x2b, 0xac, 0x69, 0x8b, 0x77, 0xd7, 0xbd, 0x3c, 0xea, 0xa3, 0x69, 0x93, 0xbd, 0xc8, 0x8f, 0x7e, 0xca, 0x9b, 0x08, 0x83, 0x8a, 0xa2, 0xca, 0x7a,
- 0xc9, 0xa3, 0xc7, 0x72, 0x0a, 0xfa, 0x7f, 0x7f, 0x49, 0x8b, 0x45, 0x6a, 0xa4, 0xb8, 0xf8, 0x6f, 0x48, 0x8b, 0xa3, 0x59, 0x6a, 0x7a, 0x3f, 0x8d, 0x07, 0x83, 0x66, 0x72, 0x7f, 0xea, 0xec, 0xb6,
- 0x89, 0x93, 0x04, 0x72, 0xaa, 0xaa, 0x8a, 0x6a, 0xc6, 0x82, 0xa3, 0x61, 0x6c, 0x5e, 0x9f, 0x0d, 0xe7, 0x7a, 0x22, 0x51, 0xb5, 0x3e, 0xbe, 0x0b, 0x28, 0x8b, 0x05, 0x62, 0x75, 0xcb, 0x8a, 0x00,
- 0x69, 0x93, 0xa4, 0x51, 0x79, 0xaa, 0x02, 0xc0, 0xca, 0x9b, 0xe4, 0x61, 0xa9, 0xff, 0x7f, 0x8b, 0xad, 0xb4, 0x63, 0x59, 0xaf, 0xab, 0x2a, 0x5e, 0xad, 0xbc, 0x25, 0x6a, 0x5e, 0xfa, 0xa0, 0xd5,
- 0x28, 0x83, 0xa4, 0x59, 0xaa, 0x0a, 0xa0, 0x58, 0x48, 0x8b, 0xc5, 0x61, 0x0a, 0x08, 0xaa, 0xad, 0xca, 0x9b, 0xa7, 0x7a, 0xaa, 0xfe, 0xb5, 0x8d, 0x89, 0x93, 0xe8, 0x82, 0xd7, 0x2b, 0xbb, 0xaa,
- 0xca, 0x9b, 0x48, 0x8b, 0xfd, 0xff, 0xeb, 0xa3, 0xaa, 0x9b, 0x08, 0x83, 0xa8, 0x9e, 0xa8, 0x27, 0xaa, 0x9b, 0x69, 0x93, 0x9f, 0xad, 0xbf, 0xf0, 0xca, 0x9b, 0x89, 0x93, 0xac, 0xbb, 0x0a, 0xff,
- 0xeb, 0xa3, 0x89, 0x93, 0x3f, 0xbe, 0xaf, 0xfd, 0xeb, 0xa3, 0xa9, 0x93, 0xfe, 0xaa, 0xaf, 0xf5, 0xeb, 0xa3, 0xaa, 0x9b, 0x2b, 0xaf, 0xbb, 0x5f, 0xea, 0xa3, 0x89, 0x9b, 0xa2, 0xa8, 0xff, 0xad,
- 0xea, 0xab, 0xa9, 0x9b, 0xab, 0xff, 0xbb, 0xbf, 0x0a, 0xac, 0xca, 0xa3, 0x02, 0x0b, 0xaf, 0xef, 0x2b, 0xb4, 0xa9, 0xa3, 0x58, 0xfa, 0xfe, 0xdf, 0xc9, 0xa3, 0xc6, 0x82, 0xc2, 0x21, 0xe2, 0x68,
- 0xa9, 0xa3, 0xc8, 0x7a, 0x7e, 0x7a, 0x7b, 0xf0, 0x2a, 0x83, 0x66, 0x72, 0xff, 0x7a, 0x0a, 0x82, 0x0c, 0xa4, 0xa3, 0x59, 0xaa, 0xaa, 0x08, 0x29, 0xcd, 0xc4, 0x89, 0x9b, 0x0d, 0x0b, 0xab, 0x22,
- 0x2f, 0xd5, 0x84, 0x51, 0x20, 0x08, 0xc0, 0x62, 0x46, 0x6a, 0x04, 0x29, 0x74, 0x7f, 0x5f, 0xff, 0x86, 0x39, 0xe3, 0x28, 0xff, 0x7f, 0xf5, 0x82, 0x86, 0x39, 0xc3, 0x20, 0xbf, 0xb7, 0x2e, 0x0a,
- 0xa6, 0x41, 0x04, 0x31, 0xb7, 0xac, 0xaa, 0xaa, 0xa6, 0x41, 0x24, 0x31, 0xda, 0xea, 0xba, 0xaf, 0xa5, 0x41, 0x24, 0x31, 0xff, 0x57, 0xd7, 0x0b, 0x85, 0x41, 0xe4, 0x30, 0x82, 0x0b, 0x7f, 0x50,
- 0xc6, 0x49, 0xc3, 0x28, 0xfa, 0xea, 0x8b, 0xb5, 0x85, 0x41, 0x04, 0x29, 0xdf, 0xfe, 0xff, 0x0a, 0xa6, 0x39, 0x45, 0x31, 0xe8, 0xfe, 0xdf, 0xe2, 0x65, 0x39, 0xc3, 0x28, 0xdf, 0x7e, 0xd0, 0xe0,
- 0x45, 0x39, 0xe3, 0x20, 0x28, 0xea, 0xff, 0x55, 0x64, 0x31, 0xc3, 0x20, 0xa8, 0xff, 0x77, 0x77, 0x44, 0x31, 0xa3, 0x20, 0x00, 0xfa, 0xbf, 0x7d, 0x24, 0x31, 0xc3, 0x20, 0x82, 0x5a, 0xe8, 0x57,
- 0x24, 0x31, 0xe3, 0x20, 0xd6, 0xf5, 0xf8, 0x75, 0x04, 0x39, 0xc3, 0x20, 0xad, 0x25, 0x0b, 0xed, 0x24, 0x39, 0xe3, 0x30, 0x7c, 0xec, 0x94, 0x0b, 0x24, 0x39, 0x03, 0x31, 0x75, 0x33, 0x5a, 0xf2,
- 0x6c, 0xbc, 0x2b, 0xb4, 0xf5, 0xfa, 0xff, 0xfa, 0x6c, 0xbc, 0x2b, 0xac, 0xff, 0xfa, 0xae, 0xbe, 0x6c, 0xb4, 0x2b, 0xac, 0x39, 0x8a, 0x82, 0xaa, 0x6d, 0xbc, 0x4b, 0xb4, 0x55, 0x5d, 0xaf, 0xdc,
- 0x6c, 0xbc, 0x2b, 0xac, 0xbb, 0xaa, 0xaa, 0xaa, 0x6c, 0xbc, 0x4b, 0xb4, 0x5d, 0xfd, 0xfb, 0xd7, 0x6d, 0xbc, 0x2b, 0xb4, 0xdf, 0xfe, 0x3a, 0xee, 0x6c, 0xbc, 0x2b, 0xac, 0xed, 0xeb, 0xba, 0xbe,
- 0x6c, 0xbc, 0x2b, 0xac, 0xff, 0xee, 0xaa, 0xba, 0x6c, 0xbc, 0x2b, 0xac, 0x55, 0xff, 0xbf, 0xaa, 0x4c, 0xbc, 0x2b, 0xac, 0xda, 0xaf, 0xfa, 0xbe, 0x4b, 0xbc, 0x0c, 0xac, 0xaf, 0xef, 0xbf, 0xaa,
- 0x4c, 0xbc, 0x0b, 0xac, 0xbe, 0xfe, 0xaf, 0xaa, 0x6c, 0xbc, 0x2b, 0xb4, 0xf5, 0x7f, 0x55, 0xb6, 0x4b, 0xbc, 0x0b, 0xac, 0xaa, 0xa3, 0xff, 0xbb, 0x4c, 0xb4, 0x0b, 0xac, 0xea, 0xbe, 0xfb, 0xeb,
- 0x2c, 0xb4, 0x0b, 0xac, 0xd7, 0xcf, 0x23, 0x28, 0x2c, 0xb4, 0x0b, 0xac, 0xef, 0xff, 0xa2, 0xe2, 0x6c, 0xb4, 0x0b, 0xac, 0xf5, 0x9d, 0xdc, 0xaf, 0x4c, 0xb4, 0x0b, 0xac, 0x57, 0xfe, 0x58, 0xe3,
- 0xad, 0xbc, 0xeb, 0xab, 0xb3, 0xdf, 0x57, 0x77, 0x0e, 0xc5, 0x0b, 0xac, 0xe8, 0xb3, 0xff, 0x55, 0xad, 0xbc, 0xeb, 0xab, 0xff, 0xf0, 0x57, 0x55, 0xed, 0xc4, 0xeb, 0xa3, 0xa8, 0xbf, 0xff, 0xf5,
- 0x4c, 0xb4, 0xcb, 0xa3, 0xa0, 0xa0, 0x57, 0xae, 0xad, 0xbc, 0xcb, 0xa3, 0xab, 0xff, 0xb5, 0xc8, 0x0f, 0xc5, 0xcb, 0x9b, 0x82, 0x7f, 0xc3, 0xbf, 0xad, 0xbc, 0xec, 0xab, 0xfa, 0xbd, 0xef, 0x2f,
- 0x8d, 0xb4, 0xcb, 0xa3, 0xdf, 0x02, 0xeb, 0x6e, 0x2f, 0xc5, 0x0c, 0xac, 0xaf, 0x8f, 0xf7, 0x5d, 0xcd, 0xbc, 0x2c, 0xac, 0xf7, 0xac, 0xff, 0xeb, 0xce, 0xbc, 0x89, 0x9b, 0xa8, 0x78, 0x3b, 0xee,
- 0x8d, 0xbc, 0xaa, 0xa3, 0xde, 0x90, 0xe8, 0xaa, 0x8d, 0xbc, 0xca, 0xa3, 0xfb, 0xcd, 0xb5, 0xeb, 0x6c, 0xb4, 0xca, 0xa3, 0xef, 0xfd, 0x43, 0xaa, 0x8c, 0xbc, 0xca, 0xa3, 0xfb, 0x57, 0x0d, 0x57,
- 0x8c, 0xb4, 0xaa, 0x9b, 0xaa, 0xad, 0xff, 0xcf, 0xee, 0xc4, 0xca, 0xa3, 0xc3, 0x55, 0x5d, 0xfd, 0xad, 0xbc, 0xaa, 0x9b, 0xe2, 0x7e, 0xa7, 0xf2, 0x8d, 0xbc, 0xaa, 0x9b, 0xcf, 0x7f, 0xf8, 0xcb,
- 0x6d, 0xb4, 0xca, 0x9b, 0xc3, 0x41, 0x12, 0xaa, 0xcd, 0xc4, 0x6a, 0x93, 0xfa, 0xed, 0xe2, 0xea, 0x2b, 0xac, 0x69, 0x93, 0xfd, 0xf8, 0xeb, 0x80, 0x2c, 0xac, 0xaa, 0x9b, 0x3f, 0xde, 0x5f, 0xaf,
- 0x8d, 0xb4, 0xea, 0xa3, 0xa8, 0xfd, 0xa3, 0x55, 0x4c, 0xb4, 0xea, 0xa3, 0x7c, 0x58, 0xfa, 0x8b, 0x4c, 0xb4, 0x63, 0x59, 0xbe, 0xb4, 0xd8, 0xd8, 0xca, 0x9b, 0xe8, 0x82, 0x02, 0x0a, 0xab, 0xad,
- 0xeb, 0xa3, 0x89, 0x93, 0xa2, 0xaa, 0x7d, 0xfd, 0x0b, 0xac, 0x8a, 0x93, 0x2b, 0xaf, 0xbd, 0xbe, 0x0b, 0xa4, 0x69, 0x93, 0x7e, 0x76, 0xab, 0x02, 0x6c, 0xb4, 0xaa, 0x9b, 0x55, 0xcf, 0xdf, 0xef,
- 0x2b, 0xac, 0xaa, 0x9b, 0x2b, 0x77, 0x5f, 0xef, 0xae, 0xb4, 0x89, 0x9b, 0xa2, 0xfd, 0xff, 0xff, 0x8d, 0xb4, 0xca, 0xa3, 0x7e, 0x7c, 0x57, 0xd5, 0x4c, 0xac, 0xaa, 0xa3, 0x89, 0xf5, 0xf7, 0xf7,
- 0x6d, 0xb4, 0xaa, 0x9b, 0xae, 0x8f, 0x57, 0xf5, 0x0b, 0xa4, 0x8a, 0x9b, 0x78, 0x7e, 0xaf, 0xbe, 0x0b, 0xa4, 0x8a, 0x9b, 0x7b, 0xaa, 0xba, 0x22, 0x6d, 0xb4, 0xa9, 0x9b, 0x44, 0xfb, 0xff, 0x7f,
- 0xeb, 0xa3, 0x8a, 0x9b, 0x2b, 0x02, 0xea, 0xdc, 0x0b, 0xac, 0xaa, 0x9b, 0x37, 0xfa, 0xeb, 0x9f, 0x0b, 0xa4, 0x49, 0x93, 0xa9, 0xa0, 0xea, 0xaa, 0x0b, 0xa4, 0x69, 0x93, 0xf7, 0x5f, 0xfb, 0x3e,
- 0x4c, 0xac, 0x89, 0x93, 0x73, 0x5d, 0xfb, 0xfa, 0x0c, 0xa4, 0x69, 0x93, 0x9f, 0xd5, 0x6a, 0xa8, 0x4c, 0xac, 0xe8, 0x82, 0xfe, 0xdf, 0x3f, 0x0a, 0x0b, 0xa4, 0x69, 0x93, 0x5e, 0xbe, 0x2b, 0xa0,
- 0xea, 0xa3, 0x69, 0x93, 0xaf, 0xab, 0x72, 0xfe, 0xca, 0x9b, 0x69, 0x93, 0xe8, 0x78, 0xd7, 0x57, 0xca, 0x9b, 0x48, 0x8b, 0xa5, 0xe2, 0x7a, 0xef, 0xca, 0x93, 0x49, 0x8b, 0xde, 0x3f, 0x7b, 0xb7,
- 0xaa, 0x9b, 0x68, 0x8b, 0xff, 0xd4, 0xe7, 0xff, 0xca, 0x9b, 0x48, 0x8b, 0xfb, 0x73, 0xfb, 0x7d, 0xca, 0x9b, 0x08, 0x7b, 0xe2, 0xfe, 0xde, 0x76, 0x69, 0x8b, 0xe8, 0x7a, 0x3e, 0xb8, 0xdf, 0x0b,
- 0x68, 0x93, 0xa6, 0x7a, 0xde, 0xa7, 0xfe, 0x4e, 0x28, 0x83, 0xc4, 0x59, 0x68, 0xd8, 0xb6, 0x2f, 0x08, 0x83, 0xa7, 0x7a, 0xb5, 0xf9, 0x6e, 0x0e, 0x49, 0x8b, 0x65, 0x6a, 0xff, 0xfb, 0x9f, 0x3e,
- 0x69, 0x93, 0x83, 0x59, 0x72, 0x78, 0x58, 0x7c, 0x49, 0x8b, 0x43, 0x51, 0xbd, 0x21, 0x0a, 0x08, 0x49, 0x93, 0xa7, 0x72, 0xcd, 0xb8, 0x82, 0x23, 0x89, 0x93, 0xe7, 0x82, 0xa5, 0xeb, 0x23, 0x2a,
- 0xaa, 0x9b, 0x05, 0x62, 0x9a, 0x0a, 0x00, 0xa0, 0x0b, 0xa4, 0x68, 0x93, 0x07, 0x2d, 0xaf, 0xf5, 0xea, 0xa3, 0x82, 0x59, 0xa0, 0xe0, 0x98, 0xb6, 0x68, 0x93, 0xa3, 0x59, 0x78, 0xaf, 0x7e, 0x7a,
- 0x28, 0x83, 0x44, 0x51, 0x75, 0xe8, 0x57, 0x75, 0xe7, 0x7a, 0x04, 0x41, 0x0b, 0xaa, 0xf5, 0x7b, 0xa9, 0x93, 0x64, 0x51, 0xaa, 0x0a, 0xab, 0xf5, 0x0a, 0x9c, 0x26, 0x6a, 0xaa, 0xa8, 0xf7, 0xbf,
- 0xaa, 0x93, 0x47, 0x72, 0x00, 0xaa, 0x9f, 0x2a, 0x2b, 0xac, 0x49, 0x8b, 0x3f, 0xf5, 0x75, 0xff, 0x89, 0x93, 0xa6, 0x7a, 0x27, 0x0d, 0x08, 0x88, 0xca, 0x9b, 0x49, 0x8b, 0xae, 0x8a, 0x82, 0x6b,
- 0xaa, 0x9b, 0x69, 0x93, 0x2e, 0x00, 0xae, 0xe5, 0xca, 0xa3, 0x89, 0x93, 0x7f, 0x22, 0x55, 0xfd, 0xeb, 0xa3, 0x89, 0x9b, 0xaf, 0x0a, 0x8d, 0xae, 0xeb, 0xab, 0xaa, 0x9b, 0xab, 0xaa, 0xfa, 0xff,
- 0x0b, 0xac, 0xaa, 0x9b, 0xbf, 0xab, 0xeb, 0x57, 0x0b, 0xac, 0xaa, 0x9b, 0xaa, 0x0a, 0xaf, 0xa9, 0x0b, 0xac, 0xaa, 0xa3, 0xf0, 0xe0, 0xff, 0xff, 0xca, 0xab, 0x07, 0x93, 0x80, 0x00, 0x00, 0x48,
- 0xca, 0xa3, 0x24, 0x72, 0x82, 0xab, 0xa1, 0x0b, 0xea, 0xa3, 0x67, 0x72, 0x7f, 0xfa, 0xaa, 0xb0, 0x6c, 0xb4, 0x27, 0x6a, 0xad, 0x2f, 0x0a, 0x0a, 0xee, 0xcc, 0x4c, 0xb4, 0xad, 0x2f, 0xaa, 0x3a,
- 0x2f, 0xd5, 0x43, 0x41, 0x50, 0x58, 0x5c, 0x57, 0xe6, 0x49, 0x85, 0x39, 0xfe, 0x7e, 0xf7, 0xa8, 0xa6, 0x41, 0x45, 0x31, 0x02, 0x8e, 0x2e, 0xde, 0xe7, 0x41, 0x45, 0x31, 0xf8, 0x0a, 0xbb, 0x55,
- 0xc6, 0x41, 0x04, 0x31, 0xaa, 0x00, 0xa0, 0xb5, 0xc6, 0x39, 0x24, 0x31, 0xa8, 0x78, 0x7b, 0xfa, 0x65, 0x39, 0x24, 0x29, 0x00, 0x3e, 0x3f, 0xd5, 0xe6, 0x49, 0xe3, 0x30, 0xca, 0xea, 0xff, 0xd5,
- 0x44, 0x39, 0xc3, 0x28, 0xb5, 0xaa, 0x28, 0xa2, 0x44, 0x41, 0xc3, 0x20, 0xa8, 0x5e, 0xac, 0xff, 0x24, 0x31, 0xc3, 0x20, 0xaa, 0x6a, 0x40, 0xba, 0x04, 0x29, 0xc3, 0x18, 0xa0, 0x57, 0xbb, 0x5a,
- 0x04, 0x29, 0xa3, 0x18, 0x20, 0xbf, 0xfb, 0x77, 0x04, 0x29, 0xa3, 0x18, 0x7e, 0xee, 0xbb, 0xbf, 0x04, 0x31, 0xa3, 0x18, 0x5f, 0xff, 0xe8, 0x2a, 0x24, 0x31, 0xa3, 0x18, 0x7d, 0xff, 0xaf, 0x02,
- 0x04, 0x29, 0xa2, 0x18, 0x8d, 0xb5, 0xfa, 0xaa, 0x04, 0x29, 0xa3, 0x20, 0xae, 0xb6, 0xad, 0xae, 0x24, 0x39, 0xa3, 0x20, 0xa2, 0xea, 0x7a, 0x5e, 0x04, 0x39, 0xc2, 0x18, 0x2a, 0xaa, 0xbd, 0xbf,
- 0x8d, 0xbc, 0x2b, 0xb4, 0xbf, 0xbe, 0x7f, 0xe3, 0x6c, 0xbc, 0x4b, 0xb4, 0xee, 0x6d, 0xf7, 0xfa, 0x6d, 0xbc, 0x4b, 0xb4, 0xae, 0xae, 0x9d, 0xb8, 0x6c, 0xbc, 0x4c, 0xb4, 0xf7, 0x3e, 0xdf, 0x7a,
- 0x6c, 0xbc, 0x2b, 0xb4, 0xee, 0xba, 0xae, 0xeb, 0x6c, 0xbc, 0x4b, 0xb4, 0x5b, 0xbd, 0xfb, 0x73, 0x6c, 0xbc, 0x2b, 0xac, 0xfe, 0xba, 0xbb, 0xef, 0x6c, 0xbc, 0x2b, 0xac, 0xee, 0xab, 0xfa, 0xfe,
- 0x6c, 0xbc, 0x4b, 0xac, 0xfa, 0xfe, 0xff, 0xfa, 0x4c, 0xbc, 0x2b, 0xac, 0xfa, 0xaa, 0xaa, 0xaa, 0x6c, 0xbc, 0x2b, 0xb4, 0xff, 0xff, 0x6f, 0xdc, 0x6c, 0xbc, 0x2b, 0xac, 0xeb, 0xff, 0xff, 0xb7,
- 0x4c, 0xbc, 0x2b, 0xac, 0xbb, 0xae, 0xff, 0xaf, 0x6c, 0xb4, 0x2b, 0xac, 0xbf, 0x2b, 0xdf, 0x75, 0x4c, 0xb4, 0x0b, 0xac, 0xa8, 0x20, 0x0a, 0xfa, 0x4c, 0xb4, 0x0b, 0xac, 0xab, 0x02, 0x3a, 0xb9,
- 0x6b, 0xb4, 0x0c, 0xac, 0xd7, 0xe2, 0xfe, 0xbf, 0x4c, 0xb4, 0x0b, 0xac, 0xaf, 0xaf, 0xbb, 0xbe, 0x4c, 0xb4, 0xeb, 0xab, 0xa8, 0xba, 0x7e, 0xba, 0x0c, 0xb4, 0xeb, 0xa3, 0xaa, 0xfe, 0xbb, 0xea,
- 0x2c, 0xb4, 0xea, 0xa3, 0xee, 0xba, 0xff, 0xfe, 0x2b, 0xb4, 0xea, 0xa3, 0xaa, 0x8a, 0xfa, 0xff, 0x4c, 0xb4, 0xea, 0xa3, 0xd7, 0xf7, 0x3f, 0xff, 0x4b, 0xb4, 0xca, 0xa3, 0x3b, 0x7f, 0x7f, 0x7f,
- 0x8c, 0xb4, 0xaa, 0xa3, 0xac, 0xbf, 0xff, 0x7f, 0x8d, 0xb4, 0xeb, 0xab, 0x0f, 0xee, 0xfd, 0xfe, 0x0f, 0xc5, 0x0b, 0xa4, 0xff, 0xf9, 0x2d, 0x55, 0x8e, 0xb4, 0x0b, 0xac, 0xae, 0xe9, 0x22, 0xad,
- 0xcd, 0xbc, 0x2c, 0xac, 0x67, 0x5f, 0xa8, 0x5e, 0xce, 0xbc, 0x2c, 0xac, 0xdd, 0xff, 0xf4, 0xdd, 0x6d, 0xb4, 0xaa, 0xa3, 0x6a, 0x80, 0x08, 0xa0, 0x6d, 0xb4, 0xeb, 0xa3, 0xe5, 0xa2, 0xd8, 0xcb,
- 0x30, 0xc5, 0xaa, 0x9b, 0xff, 0x3f, 0x7f, 0xff, 0xcd, 0xbc, 0xca, 0xa3, 0x7f, 0xe8, 0xfa, 0xfe, 0x8c, 0xb4, 0xca, 0xa3, 0xd5, 0x33, 0xfb, 0xeb, 0xee, 0xbc, 0xca, 0xa3, 0x5b, 0x5c, 0x75, 0xeb,
- 0xcd, 0xc4, 0x8a, 0x9b, 0xf7, 0xff, 0xff, 0xfc, 0x8c, 0xb4, 0xca, 0x9b, 0x73, 0xfb, 0xa7, 0x2f, 0xae, 0xbc, 0xaa, 0x9b, 0x2a, 0xfa, 0x2d, 0xfa, 0x6d, 0xb4, 0xaa, 0x9b, 0xf3, 0xff, 0x82, 0x7a,
- 0x6d, 0xb4, 0x0b, 0xa4, 0x43, 0xf5, 0x3a, 0x9a, 0x8d, 0xb4, 0x0b, 0xac, 0x5f, 0xf5, 0xb9, 0xa2, 0x6d, 0xb4, 0xeb, 0xa3, 0x57, 0xef, 0xae, 0x80, 0x6c, 0xb4, 0xca, 0xa3, 0x75, 0xb6, 0xaf, 0xf0,
- 0x2c, 0xac, 0x89, 0x93, 0x2a, 0x20, 0x90, 0xae, 0x2b, 0xac, 0xca, 0xa3, 0x0f, 0x3e, 0x70, 0x5d, 0xea, 0xa3, 0xa4, 0x59, 0xd0, 0x70, 0xd0, 0xd0, 0xcb, 0x9b, 0xa8, 0x72, 0x2f, 0x29, 0x09, 0x0b,
- 0xec, 0xa3, 0xaa, 0x9b, 0xbd, 0x8b, 0x0b, 0x0a, 0x2c, 0xac, 0xcb, 0xa3, 0xd7, 0xde, 0xae, 0x80, 0x4c, 0xb4, 0xeb, 0xa3, 0x55, 0x57, 0x77, 0xf1, 0x4c, 0xac, 0xaa, 0x9b, 0xea, 0xea, 0x5f, 0x2b,
- 0x69, 0xb4, 0xab, 0x9b, 0xdf, 0xf7, 0xf5, 0x8a, 0x2b, 0xac, 0xa4, 0x82, 0x82, 0x88, 0x00, 0x60, 0xac, 0xbc, 0x41, 0x59, 0xaa, 0xaa, 0x80, 0x57, 0x0a, 0xac, 0x62, 0x59, 0x00, 0x00, 0xfa, 0x55,
- 0x6b, 0xb4, 0x82, 0x59, 0xaa, 0x00, 0xd7, 0x55, 0x4a, 0xac, 0xa3, 0x61, 0x00, 0x80, 0x5f, 0x55, 0x8a, 0xb4, 0x83, 0x59, 0x00, 0xfa, 0x55, 0x55, 0x8b, 0xb4, 0xc4, 0x61, 0x00, 0x7f, 0xdd, 0xbf,
- 0x2b, 0xa4, 0xa7, 0x7a, 0x20, 0xfd, 0xfd, 0x2b, 0x4a, 0xac, 0xa7, 0x7a, 0x82, 0x55, 0xee, 0xb8, 0xea, 0xa3, 0xa7, 0x7a, 0x28, 0xff, 0xbf, 0x76, 0x2a, 0xac, 0x47, 0x72, 0x2a, 0xaa, 0xfa, 0x55,
- 0x09, 0xac, 0xa7, 0x7a, 0x80, 0x7f, 0xff, 0xaf, 0xca, 0x9b, 0xc7, 0x7a, 0x00, 0xaf, 0x77, 0xba, 0x0a, 0xa4, 0x05, 0x62, 0x2a, 0x0a, 0x77, 0xaa, 0xea, 0xa3, 0x45, 0x6a, 0xa8, 0x00, 0xa5, 0xaa,
- 0xca, 0xa3, 0x28, 0x8b, 0x8b, 0xa2, 0x0b, 0xf5, 0x4c, 0xac, 0xe7, 0x82, 0xff, 0xff, 0xff, 0x4f, 0x89, 0x93, 0xe7, 0x82, 0xf0, 0xa2, 0xf7, 0xbf, 0xaa, 0x93, 0x08, 0x8b, 0xe2, 0xfe, 0x9e, 0xbf,
- 0xa9, 0x93, 0x08, 0x83, 0xea, 0x61, 0xef, 0xb7, 0x89, 0x93, 0x08, 0x7b, 0x2f, 0xae, 0x2d, 0xfb, 0xaa, 0x93, 0xe8, 0x7a, 0xde, 0xb8, 0xea, 0x02, 0x49, 0x83, 0xe3, 0x69, 0x80, 0x80, 0x00, 0x68,
- 0x29, 0x8b, 0xc5, 0x59, 0x6a, 0xda, 0x3c, 0x0b, 0x69, 0x8b, 0x47, 0x62, 0xa9, 0xaa, 0xaa, 0x02, 0x69, 0x8b, 0xa7, 0x72, 0xb7, 0x8e, 0x7e, 0xe0, 0x69, 0x8b, 0x45, 0x72, 0x28, 0xae, 0x82, 0x78,
- 0x8a, 0x8b, 0x83, 0x59, 0xde, 0xb6, 0x2f, 0x8b, 0x69, 0x8b, 0xa7, 0x7a, 0x7a, 0x3e, 0x2e, 0xb7, 0x4c, 0xac, 0xe7, 0x82, 0xdd, 0x2e, 0xff, 0x57, 0xa9, 0x93, 0x28, 0x8b, 0xec, 0x97, 0xbe, 0xd7,
- 0xca, 0x9b, 0x04, 0x6a, 0xaa, 0x80, 0xea, 0x7a, 0x09, 0xa4, 0x42, 0x51, 0x8a, 0x7a, 0xd7, 0xad, 0x69, 0x93, 0x62, 0x59, 0xa1, 0xfb, 0xaa, 0x00, 0x8a, 0x93, 0x83, 0x59, 0xb5, 0xab, 0x0a, 0x00,
- 0xa9, 0x9b, 0x28, 0x93, 0xfe, 0xb5, 0xfe, 0x8a, 0xc9, 0xa3, 0x88, 0x6a, 0x7f, 0x0a, 0x0a, 0x2a, 0xe7, 0x82, 0x03, 0x41, 0xaf, 0xfc, 0x5c, 0x5c, 0x88, 0x93, 0xc1, 0x38, 0x2a, 0xaa, 0xfd, 0xd5,
- 0x69, 0x93, 0xa4, 0x59, 0x00, 0xaa, 0x2d, 0xd5, 0x89, 0x93, 0x66, 0x72, 0xa2, 0x8a, 0xea, 0xfd, 0x89, 0x93, 0xa7, 0x7a, 0x2a, 0xaa, 0xd5, 0x2b, 0x89, 0x93, 0x08, 0x8b, 0xa0, 0xdf, 0xa9, 0xca,
- 0x89, 0x93, 0x08, 0x8b, 0x2a, 0xed, 0x93, 0x2d, 0xaa, 0x9b, 0x48, 0x8b, 0x2a, 0xb5, 0x2e, 0x0a, 0xea, 0xa3, 0x69, 0x93, 0xab, 0xa7, 0x0a, 0xaf, 0x0b, 0xac, 0x8a, 0x9b, 0xdd, 0xa2, 0xaa, 0xbf,
- 0x0b, 0xa4, 0xaa, 0x9b, 0xb1, 0xbf, 0xaf, 0x36, 0x0b, 0xac, 0xca, 0x9b, 0x29, 0xaa, 0xff, 0xfe, 0x2b, 0xac, 0x68, 0x9b, 0xa8, 0xea, 0xfa, 0x7f, 0x4b, 0xb4, 0x69, 0x93, 0xd7, 0xa9, 0x2b, 0xab,
- 0x6c, 0xbc, 0x07, 0x8b, 0xaa, 0xae, 0x8a, 0x86, 0x2c, 0xac, 0x86, 0x72, 0x1a, 0x2a, 0xa2, 0x82, 0x6c, 0xbc, 0xab, 0x9b, 0xaf, 0x2f, 0x09, 0x29, 0x90, 0xdd, 0x83, 0x51, 0x2a, 0x8a, 0x4a, 0x48,
- 0xe5, 0x59, 0x24, 0x29, 0xa2, 0xfa, 0xfa, 0x77, 0xc6, 0x49, 0x03, 0x19, 0xaa, 0x28, 0xfe, 0xf7, 0xe6, 0x49, 0xe4, 0x20, 0xa0, 0x7e, 0xd7, 0x5f, 0x85, 0x41, 0x04, 0x21, 0xe0, 0xad, 0x83, 0xa2,
- 0x64, 0x39, 0x05, 0x21, 0xbf, 0xab, 0x0d, 0xab, 0x85, 0x41, 0x04, 0x31, 0xfd, 0x62, 0x7e, 0xd5, 0x45, 0x39, 0x03, 0x31, 0x5f, 0x5d, 0x52, 0x60, 0xe4, 0x38, 0x03, 0x29, 0xab, 0xbf, 0x97, 0x8a,
- 0x44, 0x39, 0xc3, 0x28, 0xfc, 0x7a, 0xd2, 0x6a, 0x24, 0x31, 0xc3, 0x20, 0x8a, 0x7f, 0xf3, 0x2a, 0x04, 0x29, 0xc3, 0x20, 0xd0, 0xb3, 0x02, 0x50, 0x44, 0x31, 0xc3, 0x20, 0xaa, 0x37, 0xab, 0xa2,
- 0x45, 0x39, 0xc3, 0x20, 0xd7, 0x80, 0xa8, 0xaa, 0x45, 0x31, 0xa3, 0x18, 0xff, 0xde, 0x78, 0xf0, 0x45, 0x31, 0xa3, 0x18, 0xa3, 0xea, 0x5d, 0xfa, 0x04, 0x29, 0xa3, 0x18, 0xb0, 0x55, 0xe7, 0x2b,
- 0x24, 0x29, 0x82, 0x10, 0xbf, 0xdf, 0xff, 0x00, 0x24, 0x39, 0xa3, 0x18, 0xbf, 0x25, 0xb7, 0xfe, 0x44, 0x39, 0xa3, 0x20, 0x76, 0xde, 0xb7, 0x0f, 0x85, 0x39, 0xe4, 0x30, 0x0d, 0x20, 0xea, 0xff,
- 0x8d, 0xbc, 0x2c, 0xb4, 0xed, 0xbe, 0xab, 0x8a, 0x6d, 0xbc, 0x4b, 0xb4, 0xfb, 0xab, 0xab, 0xe8, 0x4b, 0xbc, 0x8d, 0xb4, 0xe0, 0xaa, 0xa2, 0xbe, 0x6d, 0xbc, 0x2b, 0xb4, 0x7e, 0xaf, 0x8a, 0xea,
- 0x6d, 0xbc, 0x4b, 0xb4, 0xd7, 0xff, 0xf7, 0xcd, 0x6c, 0xbc, 0x2b, 0xb4, 0xfd, 0xff, 0xdf, 0xba, 0x6d, 0xbc, 0x2b, 0xb4, 0xbb, 0xdc, 0xff, 0xfe, 0x4c, 0xb4, 0x2b, 0xac, 0x00, 0xaa, 0xb8, 0xa2,
- 0x4c, 0xb4, 0x0b, 0xac, 0xa8, 0xe8, 0x3e, 0xfe, 0x4c, 0xb4, 0x0a, 0xac, 0x8a, 0xa2, 0xfe, 0xdd, 0x2c, 0xb4, 0x0a, 0xac, 0x00, 0x88, 0x88, 0x6c, 0x6c, 0xb4, 0x0a, 0xac, 0x3f, 0xfe, 0xfb, 0xdf,
- 0x4c, 0xb4, 0x0b, 0xac, 0x20, 0x38, 0xfe, 0xbf, 0x4c, 0xb4, 0x0b, 0xac, 0x8a, 0xa8, 0xd5, 0xfe, 0x4c, 0xb4, 0x0b, 0xac, 0x78, 0xfe, 0xab, 0x5e, 0x8e, 0xbc, 0x2b, 0xac, 0x55, 0xc5, 0xff, 0x55,
- 0x4c, 0xb4, 0x0b, 0xac, 0xbe, 0xda, 0xff, 0xe8, 0x2c, 0xac, 0xca, 0xa3, 0x00, 0xa8, 0xa8, 0xd8, 0x2c, 0xb4, 0xeb, 0xa3, 0xaa, 0xab, 0xfb, 0xeb, 0x2c, 0xac, 0xeb, 0xa3, 0xaa, 0x02, 0xe8, 0xcb,
- 0x2c, 0xb4, 0xeb, 0xa3, 0xeb, 0xf0, 0xff, 0xf7, 0x4c, 0xac, 0xaa, 0xa3, 0xbb, 0xaa, 0x22, 0x7e, 0x2c, 0xac, 0xea, 0xa3, 0xd3, 0x7f, 0xf7, 0xbf, 0x2c, 0xac, 0xcb, 0xa3, 0xff, 0x29, 0x2a, 0x02,
- 0x2c, 0xac, 0xca, 0x9b, 0x76, 0x2a, 0xa8, 0xa0, 0x2c, 0xac, 0xeb, 0xa3, 0xaa, 0x2a, 0xbe, 0xee, 0x2c, 0xac, 0xea, 0xa3, 0xf9, 0x42, 0xeb, 0xbb, 0x4c, 0xb4, 0xca, 0xa3, 0xbf, 0xfd, 0x2f, 0xbe,
- 0x6c, 0xb4, 0xca, 0xa3, 0xff, 0xbf, 0xfd, 0xf8, 0x6c, 0xb4, 0xeb, 0xa3, 0xff, 0xbe, 0xff, 0x73, 0x4c, 0xac, 0xca, 0xa3, 0xe8, 0xba, 0xad, 0x62, 0x6c, 0xb4, 0x0b, 0xac, 0xce, 0x0f, 0x7f, 0x25,
- 0x6d, 0xb4, 0xea, 0xa3, 0xf3, 0xfe, 0xff, 0xed, 0xce, 0xbc, 0x0b, 0xac, 0x5d, 0x7d, 0xd5, 0x83, 0x8d, 0xb4, 0x49, 0x8b, 0xa6, 0x2e, 0xa2, 0x80, 0xce, 0xbc, 0x0b, 0xac, 0xb7, 0x37, 0x8f, 0xb0,
- 0xce, 0xbc, 0x0b, 0xac, 0xdd, 0x5d, 0x72, 0x2c, 0x2e, 0xcd, 0xcb, 0x9b, 0x5f, 0x8f, 0xff, 0xaf, 0xce, 0xbc, 0xeb, 0xa3, 0xd8, 0xcb, 0xbd, 0xff, 0xce, 0xbc, 0x0b, 0xa4, 0x2d, 0xdf, 0xae, 0xef,
- 0xce, 0xbc, 0x2c, 0xac, 0x86, 0x7e, 0xd5, 0x77, 0xcd, 0xbc, 0xab, 0xa3, 0xa2, 0xfe, 0x7f, 0x2a, 0xce, 0xc4, 0x68, 0x93, 0xaa, 0x8f, 0xff, 0x5c, 0xad, 0xbc, 0x43, 0x7a, 0xaa, 0x82, 0xfa, 0x7b,
- 0x0a, 0xac, 0x82, 0x61, 0x00, 0xa0, 0xfa, 0x57, 0x0a, 0xac, 0x83, 0x59, 0x00, 0xa8, 0x7f, 0x5d, 0xa9, 0xa3, 0x05, 0x5a, 0xbc, 0xaf, 0xf5, 0xfd, 0x6b, 0xac, 0xe5, 0x69, 0x0a, 0x7e, 0xdf, 0xff,
- 0x8c, 0xbc, 0x66, 0x72, 0x00, 0xfd, 0xff, 0xff, 0x0a, 0xac, 0xe8, 0x82, 0xe0, 0x57, 0xd5, 0xaf, 0x2b, 0xac, 0x86, 0x7a, 0xaf, 0xbf, 0x2a, 0x42, 0x0a, 0xac, 0x62, 0x59, 0x02, 0xc0, 0x58, 0x5d,
- 0x08, 0xac, 0x22, 0x51, 0x78, 0x57, 0x55, 0xdf, 0x68, 0x72, 0x43, 0x59, 0xd5, 0xf5, 0xff, 0x2b, 0xe9, 0x7a, 0x63, 0x59, 0x5f, 0xff, 0xaf, 0x0a, 0xc8, 0x7a, 0x84, 0x59, 0x55, 0xff, 0xaa, 0x28,
- 0xab, 0x8b, 0x84, 0x59, 0xd5, 0xff, 0xaf, 0x0a, 0xeb, 0x9b, 0x26, 0x6a, 0x55, 0xff, 0xaa, 0x00, 0x0b, 0xa4, 0x88, 0x72, 0xb5, 0x2f, 0x8a, 0x80, 0x2c, 0xa4, 0x6a, 0x93, 0xd6, 0xa7, 0x2f, 0x0e,
- 0x4c, 0xac, 0x4a, 0x93, 0xab, 0xe8, 0xde, 0x80, 0x2c, 0xa4, 0x25, 0x6a, 0xd7, 0x0b, 0x80, 0x80, 0x0b, 0xa4, 0xe9, 0x72, 0xad, 0x20, 0x20, 0x22, 0xeb, 0x9b, 0x6a, 0x8b, 0xf5, 0x42, 0x73, 0x22,
- 0xeb, 0x9b, 0x49, 0x8b, 0xf6, 0x77, 0x01, 0xf8, 0x0b, 0xa4, 0x08, 0x83, 0xdf, 0x9d, 0xba, 0xa3, 0xcb, 0x9b, 0x08, 0x83, 0x7f, 0xea, 0x2a, 0xa0, 0xea, 0x9b, 0x08, 0x83, 0xfd, 0xea, 0x80, 0xea,
- 0x6a, 0x93, 0x43, 0x6a, 0xa8, 0x00, 0x00, 0xd7, 0xc9, 0x9b, 0xa3, 0x59, 0x0a, 0xaa, 0x00, 0x57, 0x68, 0x8b, 0x05, 0x6a, 0x88, 0x00, 0x6f, 0x2d, 0xea, 0x9b, 0xa4, 0x51, 0xaa, 0xa8, 0x5f, 0xaf,
- 0x69, 0x8b, 0x23, 0x51, 0x00, 0x5a, 0x2b, 0x02, 0x89, 0x93, 0xa5, 0x59, 0x00, 0xf5, 0x00, 0xea, 0x69, 0x8b, 0xc5, 0x59, 0x5a, 0xae, 0x80, 0xaf, 0x69, 0x8b, 0x06, 0x62, 0xe5, 0x8a, 0x7f, 0x02,
- 0xa9, 0x93, 0x88, 0x72, 0xaa, 0xaa, 0xad, 0xa0, 0x69, 0x8b, 0x45, 0x6a, 0xa8, 0xff, 0xa0, 0xde, 0x69, 0x8b, 0xc4, 0x61, 0xaa, 0x02, 0xe8, 0x7a, 0x08, 0x83, 0xe4, 0x61, 0xe8, 0x60, 0x9e, 0x09,
- 0x69, 0x93, 0x25, 0x6a, 0x81, 0x83, 0x80, 0x00, 0xa9, 0x9b, 0x08, 0x83, 0xbd, 0xad, 0x8f, 0x7c, 0x89, 0x93, 0xc3, 0x61, 0x80, 0x0c, 0xc2, 0x7a, 0x68, 0x93, 0x42, 0x51, 0x82, 0xaa, 0x7f, 0xb5,
- 0x47, 0x8b, 0x23, 0x51, 0xe0, 0xbe, 0xad, 0xaa, 0x69, 0x93, 0x04, 0x62, 0x09, 0x22, 0xfb, 0xae, 0xaa, 0x9b, 0x04, 0x62, 0x02, 0x6a, 0xab, 0xaa, 0xa9, 0x93, 0xa5, 0x61, 0x00, 0x9d, 0x2a, 0x2a,
- 0x89, 0x9b, 0xc7, 0x82, 0xd6, 0x2f, 0x00, 0x00, 0xa9, 0xa3, 0x28, 0x93, 0x6f, 0x2a, 0x5c, 0x3e, 0xaa, 0xa3, 0x23, 0x49, 0x5e, 0x7c, 0x5c, 0x56, 0x83, 0x59, 0xa2, 0x30, 0x3b, 0xbf, 0xd7, 0xde,
- 0x85, 0x72, 0x43, 0x51, 0x2b, 0x03, 0xf5, 0xf5, 0x48, 0x8b, 0x42, 0x51, 0x8a, 0xd7, 0xdf, 0xff, 0x48, 0x8b, 0x25, 0x6a, 0xb2, 0xd5, 0xd5, 0xfd, 0x28, 0x8b, 0x66, 0x7a, 0x8a, 0x7e, 0x8a, 0x8a,
- 0x69, 0x93, 0xe4, 0x69, 0x09, 0x2b, 0x02, 0x02, 0xaa, 0x9b, 0x28, 0x8b, 0xff, 0xbd, 0xe3, 0x60, 0xaa, 0x9b, 0x69, 0x93, 0x01, 0xa8, 0xf9, 0xfd, 0x0b, 0xac, 0x89, 0x9b, 0xbf, 0xeb, 0x8d, 0x8b,
- 0xeb, 0xab, 0xa9, 0x9b, 0xaa, 0xfe, 0x3c, 0x0a, 0xea, 0xa3, 0x69, 0x93, 0xfa, 0xb2, 0xaa, 0x92, 0xca, 0xa3, 0x48, 0x93, 0xb6, 0xe8, 0x3c, 0x32, 0x4b, 0xb4, 0x68, 0x9b, 0xa3, 0xa3, 0xbb, 0x6b,
- 0x4c, 0xb4, 0x86, 0x7a, 0x04, 0x0c, 0x8a, 0x02, 0x6c, 0xbc, 0x69, 0x9b, 0xea, 0x2a, 0x6a, 0x6c, 0x70, 0xd5, 0x23, 0x72, 0xab, 0x29, 0x29, 0xa3, 0x2f, 0xd5, 0x64, 0x49, 0x60, 0x60, 0x70, 0x50,
- 0x85, 0x41, 0x24, 0x39, 0xe1, 0xe3, 0x28, 0x96, 0x64, 0x31, 0xe3, 0x20, 0xfe, 0xfe, 0x9a, 0xd8, 0x44, 0x39, 0xe3, 0x20, 0x79, 0x7e, 0x28, 0xff, 0x65, 0x39, 0xc3, 0x18, 0xfe, 0x7f, 0xdf, 0x2a,
- 0x65, 0x39, 0x04, 0x21, 0xff, 0x35, 0x9d, 0xb8, 0x65, 0x39, 0x04, 0x29, 0x35, 0x7e, 0xa2, 0xf8, 0x85, 0x39, 0x03, 0x31, 0xb8, 0xa9, 0x7a, 0xff, 0x24, 0x39, 0xc3, 0x30, 0xf4, 0xbe, 0x4f, 0x8b,
- 0x04, 0x39, 0xc3, 0x28, 0xb8, 0x5c, 0xac, 0xbe, 0x45, 0x39, 0xa3, 0x20, 0x82, 0x5b, 0xfa, 0xfc, 0x65, 0x31, 0xa3, 0x18, 0xff, 0x57, 0x56, 0x8b, 0x44, 0x31, 0xc3, 0x18, 0x9e, 0xb5, 0x8b, 0xea,
- 0x44, 0x39, 0xc3, 0x28, 0xaf, 0x0d, 0xa0, 0xab, 0x85, 0x39, 0x24, 0x31, 0xf5, 0x83, 0xe1, 0x75, 0x85, 0x39, 0x24, 0x29, 0xee, 0xf2, 0x3d, 0x5f, 0x85, 0x39, 0x24, 0x29, 0xf5, 0x8a, 0x7d, 0x55,
- 0x65, 0x31, 0x24, 0x29, 0xf6, 0xba, 0x64, 0xa6, 0x65, 0x39, 0x04, 0x21, 0xf7, 0x3b, 0xff, 0x9f, 0x24, 0x31, 0xc3, 0x28, 0xb7, 0x96, 0xe7, 0xbe, 0x65, 0x41, 0xc3, 0x20, 0x02, 0x8b, 0xd5, 0x7f,
- 0x6d, 0xbc, 0x4c, 0xac, 0xfb, 0xeb, 0xaa, 0xab, 0x6d, 0xbc, 0x4b, 0xac, 0xca, 0xab, 0xab, 0xaa, 0x8c, 0xbc, 0x4c, 0xb4, 0xff, 0x7f, 0xe5, 0x7d, 0x6c, 0xbc, 0x4b, 0xb4, 0xff, 0xbf, 0xbe, 0xa7,
- 0x6c, 0xb4, 0x4c, 0xb4, 0xca, 0xd5, 0xe2, 0xad, 0x6c, 0xbc, 0x2b, 0xac, 0xbe, 0xea, 0xab, 0xfe, 0x6c, 0xbc, 0x2b, 0xac, 0xfa, 0x7f, 0xff, 0xdf, 0x4c, 0xb4, 0x0a, 0xac, 0xa8, 0xea, 0x2a, 0x9a,
- 0x4c, 0xb4, 0x0b, 0xac, 0xfb, 0x75, 0xf7, 0xa2, 0x2c, 0xb4, 0xea, 0xab, 0xea, 0x0b, 0xfa, 0xa2, 0x0c, 0xb4, 0x2a, 0xac, 0xde, 0xeb, 0x5e, 0xd7, 0x2b, 0xb4, 0xea, 0xab, 0xba, 0xa6, 0xde, 0x7f,
- 0x2b, 0xb4, 0x0a, 0xa4, 0xea, 0xfa, 0xbf, 0xf7, 0x2b, 0xac, 0x0b, 0xac, 0x83, 0xd5, 0x58, 0x9f, 0x2b, 0xb4, 0xea, 0xa3, 0xab, 0x8e, 0xfa, 0xea, 0x4c, 0xb4, 0xea, 0xa3, 0xaa, 0xfe, 0x7d, 0xfd,
- 0x2b, 0xac, 0xea, 0xa3, 0x2a, 0xa2, 0xff, 0x5f, 0x2b, 0xac, 0xea, 0xa3, 0xae, 0xea, 0xba, 0xf5, 0x4c, 0xac, 0xea, 0xa3, 0xaa, 0xde, 0xff, 0xcf, 0x0b, 0xac, 0xea, 0xa3, 0x80, 0xa2, 0xbe, 0xfd,
- 0x2b, 0xac, 0xea, 0xa3, 0x8b, 0xbf, 0xbd, 0x5e, 0x2c, 0xac, 0xea, 0xa3, 0xab, 0x6e, 0xea, 0xbd, 0xad, 0xbc, 0x0b, 0xa4, 0x55, 0x55, 0xd7, 0xf8, 0xee, 0xc4, 0x0b, 0xac, 0x75, 0x55, 0x55, 0x78,
- 0x2c, 0xb4, 0x0b, 0xa4, 0xfa, 0xea, 0xab, 0xff, 0x2c, 0xb4, 0xea, 0xa3, 0xf2, 0xea, 0x0a, 0xef, 0x6c, 0xb4, 0xeb, 0xab, 0x55, 0xeb, 0x77, 0x2f, 0x2c, 0xac, 0xea, 0xa3, 0x7a, 0x7b, 0xff, 0x7a,
- 0x0b, 0xac, 0xca, 0xa3, 0xcb, 0xac, 0xf9, 0xab, 0x2b, 0xac, 0xaa, 0x9b, 0xea, 0x7e, 0xce, 0x5f, 0xeb, 0xa3, 0xa9, 0x9b, 0x0d, 0xab, 0xef, 0x5d, 0x0b, 0xac, 0x48, 0x93, 0xaa, 0x8a, 0xea, 0xdf,
- 0x4c, 0xac, 0x69, 0x93, 0x08, 0x0a, 0xa9, 0xfd, 0x6d, 0xb4, 0xca, 0xa3, 0xb8, 0x2a, 0xeb, 0x55, 0x8d, 0xb4, 0x89, 0x9b, 0xa8, 0x22, 0xab, 0xf7, 0x30, 0xcd, 0x89, 0x9b, 0xff, 0x8b, 0xbf, 0x55,
- 0xce, 0xbc, 0xca, 0xa3, 0x08, 0xa0, 0xff, 0x7d, 0x8d, 0xbc, 0xca, 0x9b, 0x82, 0xbf, 0x30, 0xbd, 0x4b, 0xac, 0xca, 0xa3, 0xa2, 0x82, 0xef, 0xf7, 0x6c, 0xb4, 0xeb, 0xab, 0x7b, 0x57, 0xbf, 0xcb,
- 0x0e, 0xc5, 0x0b, 0xac, 0xfd, 0xfd, 0x3d, 0x7f, 0x8c, 0xbc, 0xc2, 0x69, 0x00, 0xa0, 0xc8, 0x58, 0xe9, 0xab, 0x63, 0x59, 0xc0, 0x58, 0x55, 0x55, 0x46, 0x6a, 0x63, 0x51, 0x7e, 0x57, 0xd5, 0x2f,
- 0x08, 0x7b, 0x64, 0x51, 0x75, 0xf5, 0xab, 0x00, 0x49, 0x8b, 0xe5, 0x61, 0xfd, 0xaf, 0xaa, 0x0a, 0x69, 0x8b, 0x87, 0x72, 0xb5, 0xaf, 0xaa, 0x00, 0xca, 0x9b, 0x08, 0x8b, 0xd5, 0xff, 0xaf, 0x2a,
- 0x0a, 0xa4, 0x29, 0x8b, 0xff, 0x0b, 0xa2, 0x5a, 0x2b, 0xac, 0xe4, 0x69, 0x02, 0x60, 0xe8, 0xfe, 0xca, 0x9b, 0xe4, 0x69, 0x5c, 0x55, 0xfe, 0xab, 0x6a, 0x8b, 0xc4, 0x61, 0xf5, 0xbf, 0xaa, 0x02,
- 0xaa, 0x93, 0x06, 0x62, 0xfd, 0xab, 0xaa, 0x00, 0xaa, 0x9b, 0xa8, 0x7a, 0xf5, 0xbf, 0x2a, 0x00, 0xcb, 0x9b, 0x09, 0x83, 0x55, 0xfe, 0xaa, 0x02, 0xec, 0xa3, 0xe8, 0x7a, 0x5d, 0xbe, 0x2a, 0x02,
- 0xeb, 0xa3, 0x6a, 0x8b, 0xad, 0x0a, 0x22, 0x80, 0x4c, 0xac, 0x89, 0x93, 0xaf, 0xa8, 0xee, 0x75, 0x6c, 0xb4, 0x8a, 0x93, 0xab, 0xa0, 0xff, 0xd5, 0x4c, 0xac, 0xaa, 0x9b, 0x2b, 0xfa, 0x25, 0x2f,
- 0x6c, 0xac, 0xca, 0x9b, 0xb0, 0xea, 0x7a, 0x78, 0x4c, 0xac, 0xca, 0x9b, 0x76, 0x37, 0x5e, 0xfe, 0x2c, 0xac, 0x8a, 0x93, 0xa2, 0xee, 0xda, 0x1f, 0xae, 0xb4, 0x28, 0x8b, 0xff, 0xaf, 0x2a, 0x5f,
- 0x4c, 0xac, 0xc7, 0x7a, 0x0a, 0x20, 0xe8, 0xfd, 0x0b, 0xa4, 0x06, 0x6a, 0x80, 0x00, 0xf8, 0xd7, 0x2b, 0xa4, 0x64, 0x51, 0x0a, 0xf8, 0xb5, 0xaa, 0xaa, 0x93, 0x05, 0x62, 0xdc, 0x2d, 0xe0, 0xaa,
- 0xeb, 0x9b, 0xa7, 0x72, 0xff, 0xfe, 0xbd, 0xdc, 0x89, 0x93, 0x68, 0x6a, 0xd7, 0x0a, 0xa0, 0x28, 0x69, 0x93, 0xa7, 0x72, 0xfd, 0xae, 0x00, 0xe0, 0xaa, 0x9b, 0xe7, 0x7a, 0x15, 0xff, 0xdb, 0xff,
- 0xaa, 0x93, 0xe7, 0x82, 0xe3, 0xd6, 0x98, 0xcd, 0xaa, 0x93, 0xc6, 0x7a, 0xad, 0xef, 0x2b, 0x5e, 0xca, 0x93, 0x26, 0x6a, 0x80, 0xaf, 0xa0, 0x5e, 0x88, 0x93, 0xe5, 0x61, 0x00, 0xfa, 0x7a, 0x7d,
- 0x27, 0x8b, 0x63, 0x51, 0xf8, 0x5f, 0xbf, 0x2d, 0xca, 0x93, 0x83, 0x59, 0xf5, 0xaf, 0xaa, 0xa2, 0x89, 0x93, 0xe5, 0x61, 0xd7, 0xaf, 0xaa, 0x20, 0x68, 0x93, 0x46, 0x6a, 0xea, 0x7e, 0xef, 0xe8,
- 0xe7, 0x82, 0x25, 0x6a, 0x2c, 0xb5, 0x0a, 0xbe, 0x29, 0x83, 0x04, 0x6a, 0x7a, 0xff, 0x28, 0x0a, 0x69, 0x8b, 0xc3, 0x61, 0xd5, 0x2f, 0xfa, 0xaa, 0xeb, 0x9b, 0xe4, 0x59, 0xa5, 0xab, 0xbb, 0x0b,
- 0xaa, 0x9b, 0x08, 0x7b, 0x5f, 0xea, 0x8b, 0x82, 0xa9, 0x9b, 0xe8, 0x72, 0xe5, 0xaa, 0x80, 0xaa, 0x4c, 0xb4, 0xe7, 0x82, 0xd7, 0xff, 0x3f, 0xae, 0xea, 0xa3, 0x08, 0x83, 0xd7, 0xaa, 0xa0, 0xa8,
- 0xca, 0xa3, 0x69, 0x93, 0xfe, 0xec, 0x6b, 0xae, 0xcb, 0x9b, 0x68, 0x93, 0xdf, 0xdf, 0xfb, 0xa8, 0x0b, 0xac, 0x43, 0x51, 0x56, 0x5e, 0x5c, 0x5e, 0x43, 0x51, 0xe2, 0x40, 0xd4, 0x1e, 0xa6, 0x0a,
- 0xc5, 0x61, 0x02, 0x51, 0xad, 0x2f, 0xbf, 0xee, 0x66, 0x6a, 0xa4, 0x59, 0xbf, 0xc3, 0x7d, 0xa2, 0x48, 0x8b, 0x66, 0x6a, 0xbf, 0xaf, 0xad, 0x02, 0x69, 0x93, 0xc8, 0x7a, 0xd5, 0xa7, 0x2f, 0x02,
- 0xca, 0x9b, 0x29, 0x8b, 0xbd, 0xaf, 0x8a, 0xaa, 0xeb, 0xa3, 0x28, 0x8b, 0xff, 0x2d, 0x82, 0x8a, 0xcb, 0xa3, 0xa9, 0x9b, 0x97, 0x95, 0xf7, 0x55, 0x0b, 0xac, 0xca, 0xa3, 0x83, 0xe3, 0xad, 0xc9,
- 0x0b, 0xac, 0xc9, 0xa3, 0xef, 0xdf, 0x2a, 0xae, 0x0b, 0xac, 0xaa, 0xa3, 0x7f, 0xe8, 0xe8, 0xaa, 0x0b, 0xac, 0x69, 0x9b, 0xdb, 0x32, 0xae, 0x0a, 0x6c, 0xbc, 0x89, 0x9b, 0xce, 0x1e, 0x9b, 0xbb,
- 0xad, 0xbc, 0xc9, 0xab, 0x22, 0xba, 0xba, 0x6a, 0x8c, 0xbc, 0x68, 0xa3, 0x00, 0xfe, 0x2a, 0x9f, 0xce, 0xc4, 0x2b, 0xb4, 0x1a, 0xbd, 0x90, 0xe9, 0x8d, 0xc4, 0x04, 0x39, 0x58, 0x5c, 0xdc, 0x57,
- 0xa6, 0x41, 0x44, 0x39, 0xdf, 0xea, 0x78, 0x7e, 0xa6, 0x41, 0xc3, 0x20, 0xf2, 0x0b, 0xf7, 0x57, 0x65, 0x41, 0xc3, 0x20, 0x2f, 0x8a, 0x7f, 0xdd, 0xa5, 0x39, 0xa3, 0x20, 0xa0, 0xfa, 0xfd, 0xeb,
- 0x65, 0x31, 0xe4, 0x28, 0x5f, 0xf9, 0xea, 0x03, 0x65, 0x39, 0x04, 0x29, 0xf2, 0x5d, 0x75, 0xfa, 0x24, 0x31, 0xc3, 0x20, 0x8a, 0x57, 0x3f, 0x3e, 0x44, 0x39, 0xe3, 0x28, 0x89, 0x2b, 0xf8, 0xfe,
- 0x44, 0x39, 0xe3, 0x30, 0xd0, 0xaa, 0xab, 0xfd, 0x65, 0x39, 0xc3, 0x20, 0x97, 0xbb, 0xa2, 0xca, 0x65, 0x39, 0xa3, 0x20, 0xa0, 0xba, 0x36, 0xd7, 0x84, 0x31, 0xc3, 0x20, 0x75, 0xab, 0x8a, 0x0f,
- 0x85, 0x39, 0xe3, 0x28, 0x2d, 0x5e, 0xa0, 0x8a, 0x65, 0x31, 0xe4, 0x28, 0xb4, 0x7d, 0xfe, 0x00, 0x65, 0x31, 0xc4, 0x20, 0xa0, 0xb7, 0x5f, 0xab, 0x84, 0x29, 0xc3, 0x18, 0x0a, 0x5a, 0x5f, 0xfb,
- 0x44, 0x31, 0xc3, 0x20, 0x28, 0xab, 0xe9, 0xa5, 0x44, 0x39, 0xe3, 0x20, 0x9a, 0xf7, 0x3d, 0x37, 0x65, 0x41, 0xe3, 0x30, 0x5a, 0xfa, 0xfe, 0x9c, 0x45, 0x39, 0xe3, 0x30, 0xd7, 0xae, 0xe9, 0xe2,
- 0x8d, 0xbc, 0x4c, 0xb4, 0xfb, 0x5f, 0x5f, 0x2e, 0x8d, 0xbc, 0x4b, 0xac, 0xfb, 0xab, 0xff, 0xfa, 0x6d, 0xbc, 0x4b, 0xb4, 0xef, 0xa2, 0xfb, 0xa9, 0x6c, 0xbc, 0x2b, 0xac, 0xa2, 0xaa, 0xea, 0xee,
- 0x6b, 0xbc, 0x2c, 0xac, 0xba, 0xea, 0xbf, 0xeb, 0x6c, 0xb4, 0x2b, 0xac, 0xda, 0xbf, 0x5c, 0xff, 0x6b, 0xb4, 0x0c, 0xac, 0xfa, 0xf8, 0x7f, 0xff, 0x4b, 0xb4, 0x0b, 0xac, 0xb8, 0xeb, 0xff, 0xff,
- 0x4b, 0xb4, 0x0a, 0xac, 0xfa, 0xdf, 0xff, 0x5d, 0x8c, 0xb4, 0x0b, 0xac, 0xc9, 0x75, 0x55, 0x57, 0x2c, 0xb4, 0xea, 0xa3, 0xaa, 0xbe, 0xef, 0x77, 0x4c, 0xb4, 0xeb, 0xab, 0xe7, 0xfa, 0xff, 0x2d,
- 0x6c, 0xbc, 0x0b, 0xac, 0xf5, 0xf5, 0xca, 0xae, 0xad, 0xbc, 0x0b, 0xac, 0x57, 0x7d, 0x7f, 0x58, 0x2b, 0xac, 0xea, 0xa3, 0xe3, 0x3a, 0x20, 0xf2, 0x6c, 0xb4, 0xeb, 0xa3, 0xff, 0xd7, 0x8b, 0xd5,
- 0x2c, 0xb4, 0xeb, 0xa3, 0xff, 0xff, 0xe0, 0xa6, 0x2b, 0xb4, 0xca, 0xa3, 0xff, 0xff, 0xde, 0x82, 0x4b, 0xac, 0xaa, 0xa3, 0xff, 0xbd, 0xbc, 0xf8, 0x2b, 0xac, 0x47, 0x93, 0xaa, 0xaa, 0x88, 0x5f,
- 0x0b, 0xac, 0x28, 0x93, 0x80, 0x2a, 0xac, 0xf5, 0x8d, 0xb4, 0x89, 0x9b, 0xeb, 0xa0, 0xbd, 0xfd, 0x4b, 0xb4, 0xca, 0xa3, 0xbf, 0x2a, 0xae, 0xd7, 0x8c, 0xb4, 0x68, 0x9b, 0x00, 0xa0, 0xfa, 0x7f,
- 0x6c, 0xb4, 0x28, 0x93, 0xa0, 0xaa, 0xff, 0x75, 0x0b, 0xac, 0xe7, 0x8a, 0x00, 0x00, 0xfa, 0x55, 0x0a, 0xac, 0x86, 0x82, 0x00, 0x00, 0xea, 0x57, 0x2a, 0xb4, 0x86, 0x7a, 0xa0, 0xaa, 0x5f, 0x55,
- 0xe9, 0xab, 0x25, 0x6a, 0x00, 0xa8, 0x55, 0xff, 0xea, 0xa3, 0x04, 0x6a, 0x80, 0x57, 0xf5, 0xaf, 0xc9, 0x9b, 0x47, 0x72, 0xa8, 0xd5, 0xf5, 0x2a, 0x2c, 0xac, 0x66, 0x72, 0xf5, 0xbd, 0xaa, 0xa2,
- 0xea, 0xa3, 0xe7, 0x82, 0xab, 0x82, 0xe2, 0xd8, 0xca, 0xa3, 0x69, 0x93, 0xb6, 0xab, 0x29, 0x2f, 0xca, 0xa3, 0x89, 0x9b, 0x8f, 0xcf, 0xf7, 0x3e, 0x50, 0xcd, 0x69, 0x9b, 0xd7, 0xfd, 0xff, 0x3f,
- 0x8e, 0xbc, 0x86, 0x9b, 0xf8, 0xaf, 0xaa, 0x5a, 0x2c, 0xb4, 0xca, 0xa3, 0x6b, 0x1e, 0xbe, 0x9f, 0x8d, 0xb4, 0xea, 0xa3, 0xfd, 0x3e, 0xae, 0x4a, 0x6c, 0xb4, 0xc2, 0x61, 0x00, 0x00, 0xa0, 0x5e,
- 0xca, 0xc4, 0xe4, 0x61, 0xa8, 0x7a, 0x57, 0xff, 0x87, 0x72, 0x63, 0x59, 0xf6, 0xfe, 0xaa, 0x80, 0x29, 0x83, 0x64, 0x59, 0xd5, 0xbf, 0x2b, 0x02, 0x8a, 0x93, 0xe6, 0x59, 0xad, 0xab, 0x02, 0x00,
- 0xaa, 0x9b, 0x08, 0x83, 0xd5, 0x2f, 0xa2, 0xa8, 0xaa, 0x9b, 0x29, 0x8b, 0x5f, 0x68, 0xff, 0x2f, 0xca, 0x9b, 0x49, 0x8b, 0xff, 0x35, 0x0d, 0xa8, 0xeb, 0x9b, 0x8a, 0x93, 0x7f, 0x38, 0x77, 0xa2,
- 0xeb, 0xa3, 0x29, 0x8b, 0x7a, 0xdc, 0xae, 0xaa, 0x0b, 0xa4, 0x09, 0x83, 0x5f, 0xff, 0xaa, 0x2a, 0x0b, 0xac, 0x09, 0x8b, 0xf5, 0xaa, 0xaa, 0x00, 0xeb, 0xa3, 0x47, 0x8b, 0xbb, 0xa8, 0x22, 0x78,
- 0xeb, 0xa3, 0xa6, 0x82, 0xaa, 0x00, 0x80, 0x5f, 0x0b, 0xa4, 0xc7, 0x7a, 0xa0, 0x00, 0xaa, 0x55, 0xeb, 0xa3, 0x87, 0x72, 0x02, 0x02, 0xa8, 0x55, 0xeb, 0xa3, 0x87, 0x72, 0x00, 0x00, 0xea, 0x55,
- 0x0a, 0xac, 0x67, 0x72, 0xaa, 0x02, 0xfe, 0x55, 0xca, 0x9b, 0x67, 0x72, 0x80, 0x00, 0xff, 0x5d, 0x2b, 0xac, 0x66, 0x6a, 0x22, 0x00, 0xff, 0x55, 0x8c, 0xbc, 0x45, 0x72, 0x0a, 0xaa, 0xff, 0x55,
- 0x8c, 0xb4, 0x45, 0x6a, 0xa0, 0xba, 0xab, 0x55, 0x0b, 0xa4, 0x45, 0x72, 0x2a, 0xa0, 0x00, 0x55, 0x6c, 0xac, 0x25, 0x72, 0x8a, 0xfe, 0xa8, 0x55, 0x0c, 0xa4, 0xa6, 0x7a, 0xab, 0x02, 0xab, 0xad,
- 0x0b, 0xa4, 0x2a, 0x8b, 0xd5, 0x8a, 0xfe, 0xfb, 0xeb, 0x9b, 0x08, 0x8b, 0xea, 0xea, 0x77, 0x22, 0xeb, 0x9b, 0x29, 0x8b, 0xaf, 0x8a, 0x7e, 0x8a, 0xab, 0x9b, 0x25, 0x6a, 0xbb, 0xbe, 0xaa, 0x04,
- 0xcb, 0x9b, 0x86, 0x7a, 0xd6, 0x2b, 0xfb, 0x02, 0x0c, 0x9c, 0x08, 0x83, 0xff, 0x7f, 0xbf, 0x8a, 0x8a, 0x93, 0xc7, 0x7a, 0xba, 0x77, 0x2a, 0x08, 0xab, 0x93, 0xc7, 0x7a, 0x7e, 0x7d, 0x82, 0x88,
- 0x69, 0x8b, 0x66, 0x6a, 0x89, 0x08, 0xa9, 0xa2, 0xeb, 0x9b, 0x05, 0x6a, 0x3e, 0xaa, 0x7a, 0x7f, 0x28, 0x83, 0xc5, 0x59, 0x28, 0xe8, 0xd6, 0x0b, 0x6a, 0x8b, 0xe5, 0x59, 0x7a, 0xbf, 0xab, 0x0a,
- 0xea, 0x9b, 0x06, 0x62, 0xad, 0xbf, 0xaa, 0x8a, 0x69, 0x93, 0xc7, 0x7a, 0xba, 0x8b, 0xc9, 0xe0, 0x48, 0x8b, 0x46, 0x6a, 0xf2, 0xa0, 0x1c, 0xc0, 0x48, 0x8b, 0x46, 0x72, 0xab, 0xfa, 0x8f, 0x2d,
- 0x89, 0x93, 0x87, 0x7a, 0xdf, 0xbf, 0xad, 0x02, 0xaa, 0x93, 0xa7, 0x7a, 0xd7, 0xff, 0xaf, 0x00, 0xea, 0x9b, 0x66, 0x72, 0xae, 0xbf, 0x4a, 0x62, 0x0b, 0xa4, 0xc7, 0x7a, 0xa1, 0xa9, 0x82, 0xa3,
- 0xeb, 0x9b, 0x28, 0x8b, 0xd5, 0xa0, 0xba, 0xea, 0xea, 0xa3, 0x69, 0x93, 0xc7, 0xf9, 0x00, 0xd9, 0xea, 0xa3, 0x69, 0x93, 0x89, 0xa3, 0x2a, 0xda, 0xca, 0xa3, 0x69, 0x8b, 0xac, 0xba, 0x2c, 0xbd,
- 0x0a, 0xa4, 0x48, 0x8b, 0x7a, 0xbe, 0x2a, 0x6a, 0xeb, 0x9b, 0x48, 0x93, 0x2e, 0x82, 0x82, 0x7a, 0xa9, 0x9b, 0x23, 0x49, 0x7c, 0x7c, 0x7e, 0x5f, 0x84, 0x59, 0x22, 0x49, 0xad, 0xad, 0x8d, 0x02,
- 0x67, 0x72, 0x83, 0x51, 0xd5, 0xf5, 0xb5, 0x0f, 0x08, 0x83, 0x46, 0x6a, 0xbf, 0x0b, 0xb5, 0xab, 0x49, 0x8b, 0xa7, 0x7a, 0x0a, 0x02, 0x7d, 0xbf, 0x89, 0x93, 0x08, 0x83, 0xbf, 0xbf, 0x95, 0x8a,
- 0xa9, 0x93, 0x08, 0x8b, 0x32, 0x2a, 0xb3, 0x5e, 0x4b, 0xac, 0x08, 0x8b, 0x8a, 0xf8, 0x57, 0xfd, 0xaa, 0x9b, 0x49, 0x93, 0x2a, 0x5f, 0x8f, 0x0a, 0xeb, 0xa3, 0x89, 0x9b, 0x02, 0x75, 0xed, 0x57,
- 0xea, 0xab, 0x89, 0x9b, 0xa8, 0x5f, 0xf7, 0xd7, 0xca, 0xa3, 0x69, 0x9b, 0x8a, 0xef, 0xe8, 0xf7, 0xea, 0xa3, 0x89, 0x9b, 0x2e, 0xab, 0x89, 0x0b, 0x0b, 0xac, 0x89, 0xa3, 0x9f, 0x0a, 0x0c, 0x00,
- 0x4b, 0xb4, 0xca, 0xab, 0x74, 0xae, 0xa3, 0xbb, 0xcd, 0xc4, 0xea, 0xab, 0xdd, 0x3f, 0x2d, 0xad, 0x4f, 0xd5, 0x22, 0x49, 0x02, 0x00, 0xc0, 0x48, 0xc5, 0x49, 0x24, 0x39, 0x7a, 0xff, 0xbe, 0x82,
- 0xc6, 0x49, 0x04, 0x39, 0xd7, 0x7f, 0x02, 0x88, 0xc6, 0x49, 0xc4, 0x20, 0x57, 0xaf, 0x88, 0x00, 0xe6, 0x49, 0x04, 0x21, 0xbd, 0xaa, 0xe2, 0x00, 0xa6, 0x41, 0x45, 0x31, 0xab, 0xf8, 0xfe, 0x8a,
- 0xa5, 0x39, 0x04, 0x31, 0xe8, 0xfe, 0x5f, 0x7f, 0x45, 0x31, 0xc3, 0x28, 0xa0, 0xaa, 0x82, 0x9a, 0x64, 0x41, 0xe3, 0x28, 0xd5, 0xf5, 0x37, 0x77, 0x86, 0x41, 0xe3, 0x28, 0x5f, 0x5f, 0xae, 0x01,
- 0xa7, 0x41, 0x03, 0x29, 0x7d, 0xd7, 0xfe, 0xe0, 0x86, 0x39, 0xc3, 0x20, 0xff, 0xdf, 0xfe, 0x02, 0xa6, 0x39, 0xe4, 0x28, 0xfd, 0xf5, 0xef, 0x0b, 0x07, 0x4a, 0xe3, 0x28, 0x55, 0xf5, 0xaf, 0xa2,
- 0x89, 0x5a, 0x03, 0x29, 0xf5, 0xff, 0xae, 0x8a, 0x68, 0x5a, 0x45, 0x31, 0x5d, 0xff, 0x8a, 0xaa, 0xc6, 0x49, 0x65, 0x29, 0x5f, 0xfe, 0xaa, 0xf2, 0x85, 0x39, 0x24, 0x29, 0xf7, 0x7a, 0x62, 0xfe,
- 0x86, 0x39, 0xe3, 0x20, 0xff, 0x5f, 0xbf, 0x88, 0x65, 0x39, 0xe3, 0x30, 0xff, 0xfd, 0xdf, 0xca, 0x07, 0x4a, 0x04, 0x39, 0xad, 0xb5, 0x55, 0xe2, 0x06, 0x4a, 0x25, 0x39, 0x5e, 0xde, 0x7b, 0x29,
- 0xad, 0xbc, 0x4b, 0xb4, 0x2b, 0xb3, 0x38, 0x7f, 0xce, 0xbc, 0x4c, 0xb4, 0xff, 0x3b, 0x0b, 0xe9, 0x0f, 0xc5, 0x4b, 0xb4, 0xff, 0xaa, 0x23, 0xfd, 0xee, 0xc4, 0x4c, 0xb4, 0xf5, 0xba, 0x82, 0x7f,
- 0x4e, 0xc5, 0x6d, 0xb4, 0x55, 0x7f, 0xfd, 0x89, 0x2e, 0xcd, 0x4c, 0xac, 0x5f, 0x7f, 0xf6, 0x78, 0x8d, 0xbc, 0x2c, 0xac, 0xeb, 0x62, 0xf8, 0x2d, 0xae, 0xbc, 0x0b, 0xac, 0xff, 0x2e, 0x5d, 0x87,
- 0x6c, 0xb4, 0xeb, 0x9b, 0xba, 0x58, 0x3b, 0xab, 0x6c, 0xb4, 0xea, 0xa3, 0x3a, 0x5f, 0x77, 0x57, 0x4c, 0xb4, 0xeb, 0xa3, 0xff, 0xff, 0x3b, 0xad, 0x6c, 0xbc, 0xea, 0xab, 0xbd, 0xcb, 0xfa, 0x57,
- 0x4c, 0xb4, 0x68, 0x9b, 0x20, 0x2a, 0xfc, 0x7a, 0x2b, 0xb4, 0x89, 0x9b, 0xa8, 0x08, 0x57, 0x55, 0x2b, 0xb4, 0x28, 0x8b, 0x00, 0x80, 0x5f, 0xff, 0xac, 0xbc, 0x08, 0x8b, 0x00, 0xdf, 0xd5, 0xff,
- 0x8b, 0xbc, 0x49, 0x93, 0xe0, 0x55, 0x57, 0xff, 0xca, 0x9b, 0x28, 0x8b, 0x7a, 0xf7, 0xaa, 0x20, 0xca, 0x9b, 0x28, 0x8b, 0xff, 0x7f, 0xaa, 0x00, 0x0b, 0xa4, 0x28, 0x8b, 0x57, 0xf5, 0xab, 0x00,
- 0x4c, 0xac, 0x29, 0x8b, 0xfd, 0xaf, 0xaa, 0x08, 0x6c, 0xb4, 0xab, 0x9b, 0xd9, 0xbb, 0x0a, 0x22, 0xce, 0xbc, 0xcb, 0xa3, 0x55, 0xfe, 0xbe, 0xe2, 0x6c, 0xb4, 0xaa, 0x9b, 0x57, 0x37, 0xfe, 0xfa,
- 0x0b, 0xa4, 0x69, 0x9b, 0x7f, 0xfe, 0xff, 0x22, 0x0b, 0xa4, 0x48, 0x93, 0x55, 0xef, 0xaa, 0x82, 0xeb, 0xa3, 0x29, 0x8b, 0x55, 0xfa, 0xaa, 0x00, 0xca, 0xa3, 0x08, 0x83, 0x55, 0xfa, 0xaa, 0x00,
- 0x0b, 0xa4, 0xe9, 0x82, 0xd5, 0xab, 0x2a, 0x80, 0x0b, 0xa4, 0x4a, 0x93, 0xd7, 0xb8, 0xab, 0x2a, 0x2b, 0xac, 0x8a, 0x9b, 0x5d, 0xab, 0x8a, 0x6a, 0x2b, 0xac, 0x49, 0x93, 0xab, 0x72, 0xde, 0xd5,
- 0x0b, 0xac, 0xc8, 0x7a, 0xb7, 0x2f, 0x8a, 0x82, 0x6b, 0xb4, 0x49, 0x93, 0xff, 0xf8, 0xb5, 0xab, 0x0b, 0xac, 0xaa, 0xa3, 0xa7, 0x2a, 0x68, 0x7c, 0x6d, 0xb4, 0xaa, 0xa3, 0x8b, 0xfe, 0x5f, 0xf5,
- 0x4c, 0xb4, 0x25, 0x6a, 0x40, 0xa2, 0x02, 0x02, 0x0b, 0xa4, 0x44, 0x49, 0x2d, 0x0a, 0x00, 0x00, 0x0b, 0xa4, 0x69, 0x9b, 0x7e, 0xeb, 0xef, 0xf3, 0xca, 0x9b, 0x66, 0x72, 0x36, 0xaa, 0xa8, 0x00,
- 0xaa, 0x9b, 0xa7, 0x7a, 0x56, 0xff, 0xa8, 0x80, 0xca, 0x9b, 0xe8, 0x82, 0xb5, 0xab, 0xa2, 0x02, 0xca, 0x9b, 0xe8, 0x82, 0xfd, 0x09, 0x02, 0x80, 0xca, 0x9b, 0x69, 0x93, 0xf5, 0xa2, 0x38, 0x7f,
- 0xeb, 0xa3, 0x86, 0x7a, 0xaa, 0x00, 0x8a, 0x5e, 0x0a, 0xa4, 0x66, 0x72, 0x02, 0x00, 0xfa, 0x55, 0xaa, 0x9b, 0x46, 0x72, 0x00, 0x80, 0x5f, 0x55, 0x0a, 0xa4, 0x46, 0x6a, 0x80, 0xab, 0x55, 0x55,
- 0x0a, 0xa4, 0x46, 0x6a, 0x00, 0xea, 0x55, 0x55, 0x2b, 0xac, 0x46, 0x6a, 0x80, 0x5f, 0x55, 0x55, 0x48, 0x9b, 0x47, 0x6a, 0xf8, 0x5d, 0x55, 0x55, 0xa7, 0x72, 0x46, 0x6a, 0xad, 0xfe, 0xff, 0xbe,
- 0x88, 0x6a, 0x46, 0x62, 0x8b, 0x24, 0x82, 0xa0, 0x88, 0x6a, 0x46, 0x62, 0x02, 0xb0, 0x2e, 0x0a, 0xa8, 0x72, 0x67, 0x6a, 0xee, 0xaf, 0xae, 0x7d, 0x88, 0x72, 0x67, 0x6a, 0x88, 0x07, 0xfd, 0xd5,
- 0x88, 0x72, 0x67, 0x6a, 0xbb, 0x50, 0x75, 0xfa, 0xa8, 0x72, 0x27, 0x62, 0xea, 0xab, 0xf5, 0x02, 0xa8, 0x6a, 0xe5, 0x59, 0x68, 0x56, 0xaa, 0xa0, 0x68, 0x6a, 0x84, 0x51, 0xf5, 0xab, 0x00, 0x00,
- 0x47, 0x6a, 0xc6, 0x59, 0xab, 0x22, 0x5e, 0x28, 0x87, 0x6a, 0x06, 0x5a, 0xfb, 0x7f, 0xff, 0xf3, 0x68, 0x6a, 0x06, 0x62, 0xbe, 0xfd, 0x20, 0x0a, 0x66, 0x7a, 0x47, 0x62, 0x23, 0xff, 0x7f, 0xfd,
- 0x27, 0x93, 0x46, 0x62, 0x0b, 0x55, 0x55, 0x57, 0x68, 0x9b, 0x26, 0x62, 0x00, 0xf5, 0x55, 0x55, 0x89, 0x9b, 0x26, 0x62, 0x00, 0xaa, 0x55, 0x55, 0x4b, 0xac, 0x26, 0x62, 0x2e, 0x0b, 0x55, 0x55,
- 0x4b, 0xac, 0x26, 0x62, 0x00, 0x80, 0x55, 0x55, 0x0b, 0xa4, 0x05, 0x62, 0x00, 0x00, 0xff, 0x57, 0x0b, 0xa4, 0xe4, 0x61, 0x00, 0x00, 0x5f, 0x55, 0x0a, 0xa4, 0xc4, 0x59, 0xaa, 0xa0, 0x55, 0xaf,
- 0xc9, 0x93, 0xe5, 0x61, 0xa0, 0x57, 0xaf, 0xaa, 0x69, 0x93, 0xe8, 0x82, 0xdd, 0x3d, 0x2b, 0x8d, 0xaa, 0x9b, 0xe8, 0x82, 0xfd, 0x0a, 0xaa, 0x0b, 0xa9, 0x9b, 0x28, 0x8b, 0xff, 0x7f, 0xb2, 0x5f,
- 0xeb, 0x9b, 0xe8, 0x82, 0xef, 0x8c, 0xea, 0x7e, 0xaa, 0x93, 0xe8, 0x82, 0x7b, 0x20, 0x0b, 0xca, 0xaa, 0x93, 0x24, 0x62, 0xaa, 0x9f, 0xaf, 0xe0, 0xca, 0x9b, 0x08, 0x83, 0xa3, 0x3f, 0xff, 0xdf,
- 0xaa, 0x93, 0xc7, 0x7a, 0x82, 0xf2, 0x55, 0xba, 0xa9, 0x9b, 0xa7, 0x7a, 0x22, 0x7a, 0xfe, 0x2a, 0xeb, 0x9b, 0x05, 0x62, 0xfe, 0xad, 0xa2, 0x02, 0xca, 0x9b, 0xc7, 0x7a, 0x22, 0xaa, 0xb0, 0x6a,
- 0x2b, 0xac, 0x48, 0x8b, 0xff, 0xf3, 0xfd, 0xfd, 0xca, 0xa3, 0x29, 0x8b, 0xb6, 0xa0, 0xe3, 0xb2, 0xeb, 0xa3, 0x29, 0x8b, 0x82, 0x5e, 0xff, 0xea, 0xca, 0x9b, 0xc8, 0x7a, 0xac, 0xff, 0x0a, 0x10,
- 0xaa, 0x9b, 0x49, 0x8b, 0x97, 0x55, 0xf3, 0x80, 0xa9, 0x9b, 0xc7, 0x82, 0xa0, 0xa0, 0xa8, 0x68, 0x04, 0x6a, 0x23, 0x49, 0x68, 0x78, 0xea, 0x68, 0xa4, 0x59, 0x23, 0x49, 0x02, 0xa9, 0xab, 0xeb,
- 0x86, 0x72, 0x84, 0x51, 0x0a, 0x2f, 0x2d, 0x0d, 0xe8, 0x82, 0x66, 0x72, 0x8a, 0xbf, 0x2d, 0x9f, 0x89, 0x93, 0xe8, 0x82, 0xfd, 0xb5, 0x7d, 0x3d, 0xaa, 0x93, 0x08, 0x83, 0xbf, 0x3d, 0x89, 0x70,
- 0xca, 0x9b, 0xe9, 0x82, 0xef, 0xdf, 0x2b, 0xaa, 0xea, 0xa3, 0x49, 0x8b, 0xd5, 0xdf, 0x2a, 0xfb, 0xeb, 0xa3, 0x89, 0x93, 0x5f, 0xbf, 0xb8, 0xb5, 0x0b, 0xa4, 0x69, 0x93, 0x57, 0x0a, 0xae, 0xfe,
- 0x0b, 0xac, 0xa9, 0x9b, 0xbd, 0xa8, 0xbf, 0xdf, 0x0b, 0xa4, 0x89, 0x9b, 0xae, 0x0a, 0xea, 0xf5, 0xeb, 0xa3, 0x89, 0x9b, 0x02, 0xa0, 0x9f, 0x9f, 0x2b, 0xac, 0xaa, 0xa3, 0x82, 0xba, 0xfe, 0x77,
- 0x2b, 0xb4, 0xca, 0xa3, 0xa0, 0xea, 0xd5, 0xad, 0xce, 0xcc, 0xea, 0xab, 0xad, 0x2d, 0x2d, 0xaf, 0x30, 0xd5, 0x63, 0x41, 0x60, 0x70, 0x58, 0x54, 0xe6, 0x49, 0x44, 0x39, 0x0b, 0xae, 0xb6, 0xff,
- 0xe7, 0x49, 0x24, 0x39, 0x80, 0xaa, 0xf7, 0xa2, 0xc6, 0x49, 0x65, 0x39, 0x0a, 0xd6, 0x4d, 0xf6, 0xa6, 0x49, 0x65, 0x39, 0x00, 0x5b, 0x6f, 0xbf, 0xa6, 0x41, 0x45, 0x31, 0x78, 0xa2, 0xc3, 0x7f,
- 0xe6, 0x41, 0x24, 0x29, 0x5e, 0xbf, 0xf7, 0x3f, 0xa5, 0x39, 0xe4, 0x28, 0xdf, 0x5a, 0xae, 0xa0, 0xc7, 0x49, 0x03, 0x29, 0xa5, 0xad, 0x0d, 0x0a, 0x48, 0x5a, 0x65, 0x39, 0xdd, 0xff, 0xeb, 0x02,
- 0xa9, 0x6a, 0xc6, 0x41, 0x5d, 0xd7, 0xcb, 0xee, 0xa9, 0x62, 0x85, 0x41, 0xeb, 0x72, 0x55, 0x57, 0x07, 0x4a, 0x85, 0x39, 0xf7, 0x25, 0x07, 0xbb, 0x89, 0x5a, 0xa5, 0x41, 0x95, 0xbd, 0xab, 0x8f,
- 0xe8, 0x6a, 0xc7, 0x49, 0xaa, 0xe7, 0xf2, 0x3e, 0xa8, 0x62, 0xa6, 0x49, 0xbe, 0x62, 0xfa, 0xe0, 0xc9, 0x62, 0x65, 0x39, 0x7f, 0xff, 0xeb, 0x8b, 0xe7, 0x49, 0x44, 0x31, 0xf8, 0x5a, 0xde, 0xf7,
- 0xc9, 0x72, 0x86, 0x39, 0x55, 0x57, 0x0d, 0x7d, 0xaa, 0x83, 0x25, 0x31, 0x95, 0xfd, 0x20, 0xfd, 0x6b, 0x7b, 0x45, 0x39, 0x70, 0x5f, 0xb8, 0xff, 0xa9, 0x62, 0x44, 0x39, 0xff, 0xff, 0x58, 0xac,
- 0x6c, 0xbc, 0x0b, 0xac, 0xaa, 0xe3, 0xfd, 0xff, 0x4c, 0xb4, 0x0b, 0xac, 0x02, 0xab, 0xef, 0x75, 0x6c, 0xbc, 0x0b, 0xac, 0xe8, 0xba, 0xff, 0xdf, 0xad, 0xbc, 0xea, 0xab, 0x1e, 0xfa, 0x5f, 0x7f,
- 0xcd, 0xbc, 0x27, 0x93, 0x80, 0xab, 0xba, 0x5e, 0x4b, 0xb4, 0x08, 0x8b, 0x0a, 0xa0, 0xaa, 0xad, 0x4c, 0xb4, 0xeb, 0xa3, 0x42, 0xa7, 0x25, 0x3f, 0x2b, 0xac, 0xca, 0x9b, 0xa2, 0x82, 0x7d, 0x00,
- 0x4b, 0xb4, 0x89, 0x9b, 0xfa, 0x6a, 0x2a, 0x4a, 0xeb, 0xa3, 0x46, 0x72, 0x08, 0x02, 0x2e, 0x25, 0x4c, 0xac, 0xea, 0xa3, 0xfd, 0x37, 0xfd, 0x5d, 0x4c, 0xbc, 0xaa, 0x9b, 0x0a, 0x6a, 0xff, 0xfd,
- 0x2c, 0xb4, 0x89, 0x93, 0xf6, 0xf5, 0xeb, 0x82, 0x0b, 0xac, 0x6a, 0x93, 0xbe, 0xa5, 0xa2, 0x00, 0x0b, 0xa4, 0xaa, 0x9b, 0xfd, 0x0a, 0x82, 0x80, 0x2c, 0xac, 0xaa, 0x9b, 0x7f, 0xbe, 0x8b, 0x3e,
- 0xcd, 0xbc, 0xca, 0x9b, 0x55, 0x4b, 0xff, 0xff, 0x4c, 0xb4, 0xcb, 0x9b, 0x5e, 0xaf, 0xbb, 0x8f, 0x6c, 0xb4, 0xea, 0xa3, 0x7d, 0xbc, 0xff, 0x77, 0x4c, 0xb4, 0xea, 0xa3, 0xbd, 0xda, 0xd7, 0x0b,
- 0xae, 0xbc, 0x0b, 0xac, 0xcf, 0xad, 0x6f, 0x78, 0xcd, 0xc4, 0x49, 0x93, 0x6a, 0xfc, 0xff, 0xaa, 0x4c, 0xb4, 0xaa, 0x9b, 0xa9, 0xaf, 0xbb, 0x82, 0x4c, 0xb4, 0xeb, 0xa3, 0x78, 0xcb, 0xb5, 0xfb,
- 0x2b, 0xac, 0xca, 0xa3, 0xaa, 0xc2, 0xea, 0x5f, 0x0b, 0xac, 0xca, 0xa3, 0xac, 0x77, 0xf5, 0x75, 0x2b, 0xac, 0xaa, 0x9b, 0x6b, 0x7b, 0xf7, 0xa2, 0x0b, 0xac, 0xaa, 0x9b, 0x2d, 0xab, 0xef, 0xbf,
- 0x2c, 0xac, 0x69, 0x93, 0xde, 0x20, 0xe8, 0xaa, 0xeb, 0xa3, 0x89, 0x9b, 0xa8, 0x6e, 0x75, 0xd7, 0x2b, 0xa4, 0x49, 0x93, 0xd6, 0xbd, 0xab, 0x82, 0x2c, 0xac, 0xca, 0x9b, 0x75, 0xe1, 0x5f, 0x8f,
- 0xeb, 0xa3, 0xca, 0x9b, 0xf7, 0x28, 0xa1, 0x82, 0x2b, 0xac, 0x89, 0x93, 0xaa, 0xe8, 0x62, 0xbc, 0x6c, 0xac, 0x8a, 0x9b, 0xff, 0xfd, 0xbd, 0xe8, 0x2c, 0xac, 0x47, 0x8b, 0xaa, 0x2a, 0x2a, 0x7a,
- 0xad, 0xbc, 0xa6, 0x7a, 0x8a, 0xaa, 0xfa, 0x55, 0xea, 0xa3, 0x66, 0x72, 0x20, 0x00, 0xfa, 0x55, 0xca, 0xa3, 0x66, 0x72, 0x00, 0x00, 0xff, 0x55, 0xe9, 0xa3, 0x26, 0x6a, 0xa0, 0xfa, 0x57, 0x55,
- 0xa9, 0x9b, 0x46, 0x6a, 0x08, 0xfa, 0xd5, 0xd5, 0xa9, 0x9b, 0x26, 0x6a, 0x08, 0x7f, 0xd7, 0x55, 0x48, 0x8b, 0x46, 0x6a, 0xa0, 0xf7, 0xd5, 0x5d, 0x87, 0x7a, 0x26, 0x62, 0x00, 0xae, 0xad, 0xab,
- 0x87, 0x72, 0x26, 0x6a, 0xee, 0xea, 0x5f, 0x00, 0x87, 0x72, 0x46, 0x6a, 0xf7, 0xd6, 0xfd, 0x68, 0x88, 0x72, 0x47, 0x6a, 0x7a, 0xaf, 0xaa, 0xeb, 0x88, 0x72, 0x27, 0x62, 0xfa, 0xba, 0xff, 0xaa,
- 0x88, 0x72, 0x46, 0x62, 0xab, 0x78, 0xaa, 0xfa, 0x88, 0x72, 0x47, 0x6a, 0xc2, 0xf5, 0xaa, 0x88, 0xa8, 0x72, 0x47, 0x6a, 0xa7, 0x8a, 0xf7, 0xfb, 0xa8, 0x72, 0x47, 0x6a, 0x27, 0xde, 0xb7, 0x29,
- 0xa9, 0x72, 0x48, 0x6a, 0xaa, 0xdf, 0xaa, 0x08, 0xc9, 0x72, 0x88, 0x6a, 0x5f, 0xb5, 0x0a, 0x8a, 0xc9, 0x72, 0x68, 0x6a, 0xbd, 0x22, 0x2a, 0xd8, 0xe9, 0x72, 0x88, 0x6a, 0xb3, 0xbb, 0xfe, 0xbf,
- 0xe9, 0x72, 0x07, 0x62, 0xaa, 0xaa, 0x5e, 0x00, 0x0b, 0x7b, 0x68, 0x62, 0xfe, 0xf7, 0xf5, 0x3e, 0xec, 0x93, 0x07, 0x5a, 0xff, 0x5f, 0xff, 0x80, 0xe9, 0x72, 0x44, 0x41, 0xaa, 0xab, 0x00, 0x5e,
- 0xc8, 0x72, 0x24, 0x31, 0xaa, 0x00, 0xe0, 0x55, 0x88, 0x6a, 0x04, 0x29, 0x00, 0x80, 0xaf, 0xf5, 0xa8, 0x72, 0x86, 0x41, 0x02, 0xaa, 0xaa, 0xf5, 0x88, 0x6a, 0xe6, 0x59, 0xa8, 0xef, 0xa8, 0xad,
- 0x88, 0x6a, 0xe6, 0x59, 0xaa, 0x7f, 0x57, 0x28, 0x47, 0x62, 0xc6, 0x59, 0x02, 0x37, 0xfe, 0xa8, 0x47, 0x6a, 0xe6, 0x61, 0xb5, 0xaa, 0xab, 0x2a, 0x47, 0x6a, 0xe5, 0x59, 0xe2, 0xde, 0xfa, 0xfb,
- 0x26, 0x62, 0xc5, 0x59, 0xd8, 0x2a, 0x70, 0xc0, 0x26, 0x62, 0xc5, 0x59, 0xa2, 0xea, 0xdb, 0xef, 0x26, 0x62, 0xc5, 0x59, 0x2e, 0xaf, 0xbd, 0x83, 0x46, 0x6a, 0xe5, 0x59, 0x2e, 0xfb, 0xbf, 0x55,
- 0xc7, 0x82, 0xe5, 0x61, 0x02, 0xbf, 0x75, 0x55, 0x28, 0x8b, 0x04, 0x62, 0x02, 0x0a, 0xf5, 0x55, 0x69, 0x93, 0x06, 0x62, 0x00, 0x02, 0x8a, 0xd5, 0x89, 0x93, 0x24, 0x72, 0x20, 0x00, 0x08, 0xfd,
- 0xcb, 0x9b, 0xa6, 0x7a, 0xaa, 0xa0, 0xea, 0xf5, 0x89, 0x93, 0xa7, 0x7a, 0x00, 0x60, 0x2a, 0x0a, 0x8a, 0x93, 0xa7, 0x7a, 0xa5, 0x2a, 0x00, 0xfe, 0xca, 0x9b, 0xe7, 0x82, 0xad, 0x02, 0xaa, 0xff,
- 0xca, 0x9b, 0xe8, 0x82, 0x0a, 0xfb, 0x88, 0xbd, 0xca, 0x9b, 0x28, 0x8b, 0xaf, 0xe9, 0x0a, 0xb7, 0x0b, 0xa4, 0x28, 0x8b, 0x97, 0xef, 0x2a, 0xf3, 0xeb, 0xa3, 0xc7, 0x7a, 0x9b, 0xb9, 0xa0, 0xbb,
- 0x2c, 0xac, 0x08, 0x8b, 0xef, 0xaf, 0xeb, 0x63, 0x2c, 0xa4, 0x85, 0x7a, 0xba, 0x02, 0x2a, 0x55, 0xea, 0xa3, 0xe4, 0x69, 0x00, 0x80, 0xe8, 0x55, 0xea, 0xa3, 0xc4, 0x61, 0x80, 0x20, 0x5f, 0x55,
- 0xc9, 0x9b, 0xc4, 0x61, 0x20, 0x80, 0xdd, 0x55, 0xc9, 0x9b, 0xa3, 0x61, 0xc8, 0xc2, 0x5f, 0x55, 0xe4, 0x61, 0x23, 0x49, 0x78, 0x78, 0x7e, 0x77, 0xe4, 0x59, 0x23, 0x51, 0xff, 0xbd, 0xbb, 0x2b,
- 0xe7, 0x82, 0xa4, 0x59, 0xaf, 0xb7, 0xab, 0x2a, 0x49, 0x8b, 0x46, 0x72, 0x2a, 0x2d, 0xaa, 0xaa, 0xaa, 0x9b, 0xc6, 0x7a, 0xaa, 0xbe, 0xbf, 0x01, 0xa9, 0x9b, 0x08, 0x83, 0xa2, 0xfa, 0x6b, 0x5e,
- 0x0b, 0xa4, 0xe7, 0x82, 0xea, 0xff, 0x3d, 0x08, 0xa9, 0x9b, 0x08, 0x8b, 0xaa, 0x9e, 0xaa, 0x00, 0x0b, 0xac, 0x69, 0x93, 0x57, 0xdd, 0xa5, 0xa2, 0x0b, 0xb4, 0x49, 0x93, 0xff, 0x75, 0x80, 0xa2,
- 0xeb, 0xab, 0x89, 0x9b, 0x77, 0xfd, 0xe8, 0x3a, 0x0b, 0xac, 0x89, 0x9b, 0xf7, 0xbf, 0xab, 0x0a, 0x4c, 0xb4, 0xa9, 0x9b, 0xf5, 0xab, 0xaa, 0xf8, 0x0b, 0xb4, 0xca, 0xa3, 0xb5, 0xe1, 0xeb, 0xef,
- 0x2c, 0xb4, 0x89, 0xa3, 0xbe, 0x2b, 0x2d, 0x02, 0x2f, 0xd5, 0xc3, 0x59, 0x0a, 0x02, 0x8a, 0x4a, 0x4d, 0xbc, 0xe3, 0x28, 0x54, 0x5f, 0x55, 0x55, 0x85, 0x41, 0xc4, 0x20, 0xe0, 0xfc, 0xd7, 0xaa,
- 0x45, 0x39, 0x04, 0x21, 0x22, 0x75, 0x5a, 0xba, 0x85, 0x41, 0xc4, 0x18, 0x8a, 0x5f, 0xf7, 0xaa, 0xa6, 0x41, 0xe3, 0x20, 0x55, 0x7d, 0x83, 0x02, 0xc6, 0x41, 0xc3, 0x20, 0xfd, 0x2f, 0xaa, 0x02,
- 0x27, 0x5a, 0x65, 0x31, 0xd5, 0xb9, 0xaf, 0x02, 0x47, 0x5a, 0x45, 0x31, 0x55, 0xfa, 0xe2, 0xa8, 0x8e, 0x9c, 0x65, 0x41, 0xd5, 0x5d, 0x2d, 0x75, 0x8f, 0xa4, 0x24, 0x39, 0xff, 0xff, 0x80, 0xb5,
- 0x4e, 0x9c, 0xe3, 0x30, 0xff, 0x0a, 0x5e, 0x7a, 0x4d, 0x9c, 0x23, 0x31, 0xff, 0x00, 0xb5, 0xff, 0x6d, 0x9c, 0x66, 0x39, 0xaa, 0x00, 0x56, 0xea, 0x2b, 0x94, 0xa7, 0x49, 0xaa, 0x00, 0xb5, 0xff,
- 0xaa, 0x83, 0xc6, 0x41, 0x7a, 0x80, 0xff, 0x9d, 0xeb, 0x93, 0x28, 0x52, 0xe9, 0x00, 0x72, 0x6b, 0x6c, 0x7b, 0x44, 0x31, 0x70, 0xde, 0xa2, 0x0b, 0x6b, 0x83, 0xc6, 0x49, 0xf5, 0xff, 0x8b, 0xb4,
- 0xcd, 0x93, 0xe5, 0x49, 0xff, 0x2a, 0xea, 0x54, 0x4b, 0x73, 0xe5, 0x49, 0x5f, 0x2c, 0x0e, 0x5b, 0xcc, 0x8b, 0x03, 0x29, 0xff, 0xfa, 0x80, 0x75, 0x2c, 0x94, 0xe3, 0x28, 0xab, 0xff, 0x0a, 0x7d,
- 0x2b, 0xac, 0x8a, 0x9b, 0x88, 0x80, 0x95, 0xaa, 0x6b, 0xb4, 0x8a, 0xa3, 0xaa, 0x5a, 0x0e, 0xaa, 0x2b, 0xb4, 0xe7, 0x8a, 0x8a, 0x20, 0x60, 0xb6, 0x6c, 0xb4, 0x87, 0x7a, 0xc8, 0x5c, 0xbd, 0xaa,
- 0x0b, 0xa4, 0xa7, 0x7a, 0xbd, 0xab, 0x02, 0x00, 0xad, 0xbc, 0xaa, 0x9b, 0xfd, 0xf2, 0xaf, 0xff, 0x8d, 0xbc, 0xeb, 0xab, 0xfd, 0xaa, 0xad, 0x47, 0xcd, 0xc4, 0x48, 0x93, 0xaa, 0xe0, 0x78, 0x7a,
- 0x8b, 0xb4, 0x06, 0x6a, 0x60, 0xde, 0xff, 0xaa, 0xcb, 0x9b, 0x26, 0x6a, 0x2d, 0x8a, 0x02, 0x00, 0x2b, 0xac, 0xaa, 0x93, 0xe0, 0x75, 0xef, 0xaf, 0x4c, 0xac, 0xca, 0x9b, 0xf5, 0xf5, 0xb1, 0xbb,
- 0x2c, 0xac, 0xea, 0xa3, 0xdb, 0xe7, 0xb5, 0x8f, 0x0c, 0xac, 0xea, 0x9b, 0x8b, 0xaa, 0xf8, 0xff, 0xad, 0xb4, 0xca, 0x9b, 0xff, 0xfc, 0x2f, 0x5f, 0xae, 0xb4, 0x0b, 0xa4, 0x8d, 0xe4, 0x55, 0x57,
- 0x4c, 0xac, 0xca, 0xa3, 0xb8, 0xa2, 0x7f, 0xaf, 0x4c, 0xb4, 0xea, 0x9b, 0xfe, 0x7e, 0x57, 0x83, 0xae, 0xb4, 0xeb, 0xa3, 0x3d, 0xfd, 0x7d, 0x77, 0x2f, 0xc5, 0xeb, 0xa3, 0xbe, 0xf3, 0x75, 0xfd,
- 0xcd, 0xbc, 0x0b, 0xac, 0xff, 0xd5, 0xf8, 0xbf, 0xcc, 0xbc, 0x0b, 0xa4, 0xb7, 0xcb, 0xff, 0xe0, 0x6c, 0xb4, 0xa4, 0x82, 0x80, 0x2a, 0x00, 0x7e, 0x4b, 0xac, 0x04, 0x6a, 0x00, 0x00, 0x00, 0x55,
- 0x8c, 0xb4, 0x05, 0x6a, 0x00, 0xaa, 0xfa, 0x55, 0x0a, 0xac, 0x04, 0x62, 0x00, 0x20, 0xff, 0x55, 0x2a, 0xac, 0xe4, 0x61, 0x00, 0xa8, 0x57, 0x55, 0x2a, 0xac, 0xe4, 0x61, 0x00, 0xea, 0x75, 0x55,
- 0x0a, 0xa4, 0x05, 0x6a, 0x00, 0xff, 0x55, 0x55, 0xca, 0xa3, 0x45, 0x6a, 0x20, 0xbf, 0xd5, 0x55, 0x2b, 0xac, 0x25, 0x6a, 0x00, 0xaa, 0x57, 0x55, 0xea, 0xa3, 0xe5, 0x59, 0x00, 0xba, 0xff, 0xf5,
- 0xe9, 0xa3, 0x46, 0x6a, 0x80, 0xff, 0x55, 0x55, 0x88, 0x93, 0x47, 0x6a, 0x00, 0xf5, 0x55, 0x5d, 0x48, 0x93, 0x46, 0x6a, 0x78, 0xff, 0x55, 0x55, 0xe7, 0x82, 0x46, 0x6a, 0xa2, 0x7f, 0x57, 0xfd,
- 0xc7, 0x7a, 0x27, 0x6a, 0xa0, 0xff, 0xff, 0xd7, 0xc8, 0x72, 0x27, 0x6a, 0x7f, 0xef, 0xbd, 0xa8, 0xe8, 0x72, 0x47, 0x6a, 0x55, 0xea, 0xef, 0xf8, 0xa9, 0x72, 0xe5, 0x61, 0xab, 0x0a, 0x7a, 0xef,
- 0x47, 0x6a, 0x26, 0x62, 0x24, 0x0c, 0xcb, 0x20, 0x67, 0x72, 0x26, 0x62, 0x22, 0x03, 0xaf, 0x28, 0x88, 0x72, 0x26, 0x6a, 0x20, 0xaf, 0x26, 0xea, 0x67, 0x6a, 0x46, 0x62, 0x00, 0xa0, 0xf2, 0xac,
- 0x88, 0x72, 0x46, 0x62, 0xef, 0xf9, 0xaf, 0xaa, 0x88, 0x72, 0x46, 0x6a, 0xde, 0x0b, 0xea, 0x7e, 0x88, 0x72, 0x46, 0x6a, 0x3d, 0xea, 0xd5, 0xdd, 0x88, 0x72, 0x47, 0x62, 0xfa, 0xbf, 0x8b, 0x2a,
- 0xa8, 0x72, 0x47, 0x6a, 0xfb, 0xfa, 0x0b, 0xac, 0xc9, 0x72, 0x67, 0x6a, 0xf5, 0xff, 0x8f, 0xbb, 0xe9, 0x72, 0x67, 0x6a, 0x5f, 0xfd, 0xbb, 0x0a, 0x0a, 0x7b, 0x88, 0x6a, 0xf5, 0xaf, 0xbf, 0x2a,
- 0x0b, 0x7b, 0x88, 0x72, 0xf7, 0xfa, 0xf2, 0xa2, 0xaf, 0xac, 0xc9, 0x72, 0x55, 0x55, 0x55, 0x2d, 0x0f, 0xbd, 0x65, 0x49, 0xff, 0xff, 0x2b, 0x78, 0xce, 0xbc, 0x64, 0x41, 0xff, 0xaf, 0x78, 0x55,
- 0xcd, 0xb4, 0x03, 0x31, 0x2b, 0xe0, 0x5d, 0x55, 0xce, 0xc4, 0x04, 0x31, 0xe0, 0x55, 0x55, 0x55, 0x64, 0x49, 0x03, 0x21, 0x7c, 0xff, 0xdf, 0xff, 0xe6, 0x41, 0x04, 0x29, 0x15, 0xff, 0x5f, 0xf5,
- 0x07, 0x42, 0x25, 0x31, 0x40, 0x5a, 0xfd, 0xeb, 0xe7, 0x49, 0x24, 0x29, 0x35, 0xbd, 0xef, 0xab, 0xe7, 0x51, 0x44, 0x31, 0x02, 0xaa, 0xb5, 0xff, 0xe6, 0x51, 0x45, 0x39, 0x80, 0xe5, 0xea, 0x75,
- 0x06, 0x52, 0xc3, 0x28, 0x3a, 0x96, 0xa7, 0xef, 0x68, 0x6a, 0x25, 0x39, 0x02, 0xb7, 0xfd, 0xff, 0x48, 0x62, 0x44, 0x29, 0x00, 0x00, 0xae, 0x7a, 0x88, 0x72, 0xe3, 0x30, 0x82, 0x00, 0xb5, 0xf5,
- 0x47, 0x6a, 0xc6, 0x59, 0xea, 0x68, 0xfa, 0xa3, 0x25, 0x62, 0xe6, 0x59, 0xfb, 0xe8, 0x7f, 0x9a, 0x26, 0x62, 0xc5, 0x59, 0x2d, 0xdb, 0xff, 0x58, 0x26, 0x62, 0x85, 0x59, 0x00, 0xea, 0xfe, 0x7f,
- 0x06, 0x62, 0xa4, 0x59, 0xf8, 0xfd, 0xdb, 0xb5, 0x25, 0x62, 0xa4, 0x59, 0x0a, 0xaf, 0xd7, 0x5f, 0x25, 0x62, 0xa4, 0x59, 0x20, 0xae, 0xbb, 0x7f, 0x46, 0x6a, 0xa5, 0x59, 0x2a, 0xdf, 0xfe, 0x3f,
- 0x46, 0x6a, 0xe5, 0x59, 0xaa, 0xfb, 0x5d, 0x60, 0x46, 0x72, 0xe5, 0x59, 0x8f, 0x5f, 0xbb, 0xfd, 0xc6, 0x7a, 0x05, 0x62, 0x8b, 0xd5, 0xf9, 0x57, 0x89, 0x9b, 0x26, 0x62, 0x8a, 0xfd, 0xd5, 0x55,
- 0x88, 0x93, 0x06, 0x62, 0x08, 0xfe, 0x55, 0x55, 0xea, 0x9b, 0x05, 0x62, 0x0a, 0x5d, 0x55, 0x55, 0x67, 0x93, 0xc5, 0x59, 0x20, 0xff, 0xfd, 0x77, 0x47, 0x93, 0xc5, 0x59, 0x80, 0xf7, 0x7d, 0x75,
- 0xa6, 0x82, 0xe5, 0x59, 0xfc, 0xf7, 0x5d, 0x55, 0x25, 0x6a, 0x84, 0x51, 0x00, 0x28, 0xb9, 0xeb, 0x25, 0x6a, 0x63, 0x59, 0x8a, 0xaa, 0x7e, 0x7f, 0x04, 0x62, 0x63, 0x59, 0x00, 0xab, 0x7f, 0xff,
- 0x05, 0x62, 0x63, 0x59, 0x08, 0xeb, 0xf5, 0xff, 0xe4, 0x61, 0x63, 0x59, 0xf2, 0xff, 0x77, 0x57, 0x83, 0x59, 0xe2, 0x48, 0xf0, 0xf8, 0x70, 0x60, 0xa6, 0x7a, 0x43, 0x51, 0xbd, 0xbd, 0x2d, 0xfd,
- 0xa8, 0x9b, 0xe5, 0x61, 0xaf, 0xaa, 0xab, 0x2d, 0xea, 0xab, 0xe8, 0x82, 0xb5, 0xff, 0xff, 0xa2, 0xa9, 0xa3, 0x48, 0x93, 0x77, 0x5d, 0xab, 0x82, 0xc9, 0xa3, 0x48, 0x93, 0x95, 0x2f, 0x2b, 0x3f,
- 0xca, 0xa3, 0x27, 0x93, 0xf0, 0xa0, 0xfe, 0x5e, 0xca, 0xa3, 0x64, 0x82, 0x00, 0xaa, 0xfb, 0xd7, 0xc9, 0xab, 0x64, 0x7a, 0x2a, 0xea, 0x80, 0x57, 0x4a, 0xb4, 0x66, 0x7a, 0x00, 0xb5, 0xff, 0x55,
- 0x2a, 0xb4, 0xa6, 0x82, 0x02, 0xff, 0x7e, 0x55, 0xc9, 0xa3, 0x24, 0x7a, 0x00, 0xaa, 0xff, 0xfd, 0xc9, 0xab, 0x24, 0x72, 0xa8, 0xfa, 0xf5, 0xff, 0xea, 0xb3, 0xa5, 0x8a, 0x0b, 0xbf, 0xbd, 0xaf,
- 0x2c, 0xbc, 0x88, 0xa3, 0x0a, 0x2d, 0x0d, 0xab, 0x6d, 0xc4, 0x24, 0x39, 0x70, 0x58, 0x7e, 0xf8, 0x27, 0x52, 0x24, 0x31, 0xfd, 0x7b, 0xe0, 0x00, 0xa8, 0x62, 0x04, 0x29, 0x7f, 0xbf, 0xaf, 0x27,
- 0xc9, 0x6a, 0x66, 0x31, 0xb5, 0xa2, 0xea, 0xa8, 0xeb, 0x72, 0x44, 0x31, 0xfb, 0xff, 0xfd, 0x7c, 0x27, 0x52, 0x65, 0x39, 0x7d, 0xa0, 0x5c, 0xaa, 0xa7, 0x6a, 0xc6, 0x41, 0xf5, 0xdf, 0xfd, 0x09,
- 0x27, 0x52, 0x84, 0x39, 0x28, 0xaa, 0xd6, 0xfc, 0x8b, 0x7b, 0x65, 0x41, 0x5f, 0xaf, 0x55, 0x2f, 0x2b, 0x73, 0xa5, 0x49, 0xfd, 0x27, 0xfa, 0x2a, 0x6c, 0x83, 0x26, 0x5a, 0x7d, 0x6e, 0x2f, 0x30,
- 0x6e, 0xa4, 0x44, 0x31, 0x5f, 0x75, 0x5e, 0xe0, 0xab, 0x8b, 0xa5, 0x39, 0x3d, 0xf7, 0xa9, 0xab, 0xeb, 0x9b, 0xa6, 0x41, 0xea, 0xb7, 0x82, 0x5e, 0xef, 0xac, 0x43, 0x31, 0xeb, 0x82, 0x5f, 0xff,
- 0xca, 0x83, 0x03, 0x21, 0x0a, 0xa0, 0xf5, 0x57, 0x2e, 0x9c, 0x43, 0x31, 0xf8, 0xdf, 0x57, 0xf5, 0x6a, 0x7b, 0xa5, 0x41, 0x7f, 0x5f, 0xb9, 0xa2, 0xaa, 0x83, 0x86, 0x39, 0xff, 0x5f, 0xe2, 0x02,
- 0xe9, 0x6a, 0x85, 0x31, 0xff, 0x7f, 0x60, 0x68, 0x45, 0x4a, 0xe3, 0x20, 0x57, 0x3f, 0x2d, 0xaf, 0x2a, 0x73, 0xc3, 0x18, 0x7f, 0x5f, 0x70, 0x7e, 0x05, 0x42, 0xc3, 0x18, 0xbf, 0xb5, 0x3d, 0x2d,
- 0x4c, 0xac, 0xea, 0xa3, 0xf5, 0xf7, 0xc7, 0xb2, 0x4c, 0xb4, 0x89, 0x93, 0xfa, 0x8a, 0x92, 0x00, 0xce, 0xbc, 0xaa, 0x9b, 0x57, 0xeb, 0x2b, 0xff, 0xce, 0xbc, 0xca, 0xa3, 0xd5, 0xcb, 0x5e, 0xf8,
- 0x4c, 0xac, 0xcb, 0xa3, 0xdf, 0xd7, 0xbd, 0x82, 0x4c, 0xac, 0xcb, 0xa3, 0xc3, 0xe8, 0xda, 0xff, 0x6c, 0xb4, 0xea, 0xa3, 0x0f, 0xed, 0xd5, 0x7d, 0x6c, 0xb4, 0xaa, 0x9b, 0xce, 0xfb, 0xff, 0x7f,
- 0x6c, 0xb4, 0xaa, 0x9b, 0x78, 0x5f, 0xff, 0xff, 0x0b, 0xac, 0xaa, 0x9b, 0xf5, 0x37, 0xbe, 0xf8, 0x2b, 0xac, 0xaa, 0xa3, 0x2a, 0xaf, 0xf7, 0xef, 0x2b, 0xac, 0xca, 0xa3, 0xb8, 0xb6, 0xed, 0xb2,
- 0x0b, 0xac, 0xca, 0xa3, 0x8a, 0x5d, 0x89, 0x8b, 0x0b, 0xac, 0xca, 0x9b, 0xaf, 0xaa, 0xb8, 0xba, 0x2c, 0xac, 0xeb, 0xa3, 0x2b, 0xab, 0xfd, 0x17, 0x4b, 0xac, 0xea, 0xa3, 0xfd, 0xef, 0xca, 0x79,
- 0x2c, 0xb4, 0xea, 0xa3, 0x37, 0x2b, 0xa5, 0x75, 0x2b, 0xb4, 0x27, 0x8b, 0x00, 0x20, 0xaa, 0x5e, 0x6c, 0xb4, 0xc6, 0x82, 0x0a, 0x0a, 0xaa, 0x57, 0xac, 0xbc, 0xa6, 0x7a, 0x0a, 0xa8, 0x8a, 0x57,
- 0x2b, 0xb4, 0xa6, 0x7a, 0xa0, 0xaa, 0xaa, 0x55, 0xa8, 0x9b, 0x45, 0x72, 0xa8, 0xe0, 0x7a, 0x5d, 0xe7, 0x8a, 0x25, 0x6a, 0xe0, 0x7a, 0x57, 0x57, 0x87, 0x72, 0x05, 0x6a, 0xbf, 0xd7, 0x0e, 0xaf,
- 0x46, 0x6a, 0x05, 0x62, 0xbe, 0xd5, 0x20, 0x28, 0xa7, 0x72, 0xe5, 0x61, 0xff, 0x6f, 0x2b, 0x8a, 0x46, 0x6a, 0xe5, 0x61, 0xae, 0xb7, 0xa8, 0xaa, 0x46, 0x6a, 0x05, 0x5a, 0xfd, 0x30, 0x02, 0xa2,
- 0x67, 0x72, 0x06, 0x62, 0xfd, 0x7b, 0xfe, 0xfb, 0x87, 0x72, 0x25, 0x6a, 0xe9, 0x43, 0xde, 0xb5, 0xa7, 0x72, 0xc5, 0x59, 0x5e, 0xff, 0xe0, 0xaa, 0x88, 0x72, 0xe5, 0x59, 0xfd, 0xef, 0x2b, 0xaa,
- 0x29, 0x7b, 0x47, 0x6a, 0x55, 0x8d, 0xff, 0xf5, 0xe8, 0x72, 0x46, 0x6a, 0x7d, 0x8f, 0xfe, 0x57, 0xe8, 0x72, 0x27, 0x62, 0xad, 0x82, 0xd7, 0xed, 0xc9, 0x72, 0x26, 0x62, 0x2a, 0xaf, 0x77, 0xff,
- 0xe8, 0x7a, 0x06, 0x62, 0x78, 0xbd, 0x7f, 0xff, 0x67, 0x6a, 0x26, 0x62, 0x43, 0x7a, 0x35, 0x88, 0x47, 0x6a, 0xe6, 0x61, 0xf2, 0x8d, 0x00, 0xba, 0xc9, 0x72, 0x06, 0x62, 0xfd, 0xfd, 0xf0, 0xff,
- 0x67, 0x72, 0x26, 0x62, 0xeb, 0x27, 0xab, 0xff, 0xa8, 0x72, 0x46, 0x6a, 0x7f, 0x27, 0x77, 0xb5, 0x88, 0x72, 0x26, 0x62, 0xe7, 0xa0, 0xe1, 0x02, 0xa8, 0x72, 0x47, 0x6a, 0xcf, 0xdf, 0xd7, 0xae,
- 0x88, 0x72, 0x47, 0x6a, 0xaa, 0x9f, 0x2f, 0x88, 0x88, 0x72, 0x67, 0x6a, 0x55, 0xde, 0x0e, 0x20, 0xa8, 0x72, 0x67, 0x6a, 0xd5, 0xb9, 0x88, 0x2b, 0xe9, 0x7a, 0x88, 0x6a, 0x75, 0xd7, 0xd7, 0xaa,
- 0x0a, 0x7b, 0x88, 0x6a, 0x55, 0xfd, 0xab, 0xe8, 0x10, 0x9c, 0x88, 0x6a, 0x55, 0x55, 0xf5, 0x3d, 0xef, 0xc4, 0xaa, 0x72, 0x55, 0x55, 0x2d, 0x00, 0x4f, 0xd5, 0x65, 0x49, 0xff, 0x2b, 0x00, 0x70,
- 0x0e, 0xcd, 0x44, 0x39, 0x0b, 0xc0, 0x5c, 0x55, 0x2d, 0xcd, 0x24, 0x39, 0xe0, 0x57, 0x55, 0x55, 0xc6, 0x49, 0xe4, 0x28, 0x82, 0xeb, 0xd7, 0xff, 0xa6, 0x41, 0x24, 0x39, 0xdf, 0xb5, 0x8f, 0xa7,
- 0xc7, 0x41, 0x04, 0x39, 0x5a, 0xfb, 0xeb, 0x22, 0x85, 0x39, 0xe3, 0x20, 0x6a, 0xe0, 0x3f, 0x2a, 0x07, 0x4a, 0xe4, 0x28, 0xf5, 0xaf, 0xaa, 0x02, 0xc6, 0x41, 0x25, 0x31, 0xbd, 0xf8, 0xde, 0xf0,
- 0xe6, 0x51, 0x24, 0x31, 0xab, 0xab, 0xa3, 0xad, 0xe6, 0x51, 0x44, 0x41, 0xe2, 0x63, 0xa2, 0xfe, 0xa5, 0x49, 0x04, 0x39, 0xae, 0xfa, 0xde, 0xf0, 0x86, 0x51, 0x44, 0x31, 0xde, 0x5a, 0x2b, 0x0a,
- 0xe6, 0x59, 0x25, 0x31, 0xf5, 0xff, 0xaa, 0xa2, 0x06, 0x4a, 0x25, 0x41, 0x8a, 0xaa, 0xdf, 0x2f, 0x47, 0x52, 0xe4, 0x30, 0x5a, 0xfa, 0xe0, 0xfe, 0xa6, 0x51, 0x25, 0x31, 0x0d, 0xbd, 0x0b, 0x00,
- 0x26, 0x62, 0x85, 0x49, 0x87, 0xdf, 0xef, 0x7b, 0x05, 0x62, 0x44, 0x41, 0x20, 0xaa, 0xaa, 0xb7, 0xe5, 0x61, 0x63, 0x59, 0x00, 0xa8, 0xfa, 0x5d, 0xc5, 0x61, 0x43, 0x51, 0x22, 0x00, 0xaa, 0xff,
- 0xe5, 0x59, 0x84, 0x51, 0xa8, 0xec, 0xfb, 0xd5, 0xe4, 0x59, 0xa5, 0x51, 0xf3, 0xa9, 0xb7, 0xa1, 0xe5, 0x59, 0x84, 0x51, 0xa2, 0x3f, 0xa6, 0x9f, 0x66, 0x6a, 0x84, 0x51, 0x2f, 0xae, 0xfb, 0x57,
- 0x66, 0x6a, 0x84, 0x51, 0x22, 0xfa, 0xfb, 0xd5, 0x46, 0x62, 0x83, 0x51, 0xe8, 0xa2, 0xab, 0x7f, 0x87, 0x6a, 0x84, 0x59, 0xaf, 0x2a, 0xff, 0xf5, 0x46, 0x6a, 0xa4, 0x59, 0x82, 0xfe, 0xff, 0x55,
- 0x26, 0x62, 0x83, 0x59, 0x2a, 0xbe, 0xfe, 0x5f, 0x25, 0x62, 0x83, 0x59, 0x08, 0xab, 0xd5, 0x55, 0x25, 0x62, 0x43, 0x51, 0x88, 0xa8, 0x5e, 0x7f, 0x05, 0x6a, 0x23, 0x41, 0x82, 0xe8, 0xef, 0xd7,
- 0xe5, 0x61, 0x23, 0x49, 0x80, 0xfe, 0x57, 0x5f, 0xa4, 0x59, 0x23, 0x49, 0x82, 0xde, 0xdf, 0x5f, 0xa4, 0x59, 0x03, 0x49, 0xa2, 0xfe, 0x6b, 0x5f, 0x63, 0x59, 0x23, 0x49, 0x0a, 0xbe, 0xa9, 0xfd,
- 0x83, 0x59, 0x43, 0x51, 0x2b, 0x7d, 0x7b, 0xd7, 0x64, 0x59, 0x23, 0x49, 0x02, 0xa2, 0xae, 0x2b, 0x84, 0x59, 0x23, 0x51, 0x37, 0xb7, 0xea, 0xae, 0xc4, 0x61, 0x23, 0x51, 0xa2, 0xfd, 0xfd, 0xdf,
- 0xc4, 0x61, 0x43, 0x59, 0x0a, 0xf5, 0x77, 0x7d, 0x43, 0x7a, 0x42, 0x51, 0x2f, 0xff, 0xd7, 0x7d, 0x06, 0x9b, 0x43, 0x59, 0x0a, 0x55, 0x55, 0x55, 0x44, 0x82, 0x42, 0x59, 0x88, 0x5d, 0xd5, 0x77,
- 0xe3, 0x69, 0x62, 0x61, 0x94, 0x55, 0xd5, 0x55, 0xa4, 0x61, 0x22, 0x59, 0x88, 0x9a, 0x0a, 0xef, 0x04, 0x6a, 0x43, 0x61, 0x2e, 0xdd, 0xfd, 0x7f, 0x65, 0x82, 0x83, 0x61, 0x2b, 0x2d, 0x0b, 0xaf,
- 0xa6, 0x8a, 0xc3, 0x71, 0x2e, 0x0a, 0x02, 0xa7, 0x07, 0x93, 0x66, 0x82, 0xbf, 0xa7, 0x8f, 0xaf, 0x48, 0x9b, 0x86, 0x82, 0xbd, 0x0a, 0x2f, 0x22, 0xca, 0xab, 0x28, 0x9b, 0xa9, 0x3d, 0xb5, 0x0d,
- 0x4b, 0xbc, 0xc7, 0x8a, 0x0a, 0x02, 0xe2, 0x42, 0x2c, 0xac, 0x65, 0x39, 0x50, 0x78, 0x80, 0xbe, 0x2b, 0x7b, 0x85, 0x39, 0xf5, 0xf5, 0x80, 0xd0, 0x2a, 0x7b, 0xc6, 0x41, 0xaf, 0xff, 0x02, 0x4f,
- 0x4c, 0x9c, 0x85, 0x41, 0xfa, 0xff, 0xaa, 0x89, 0x8b, 0x83, 0x22, 0x39, 0xa2, 0xaa, 0xaa, 0x7a, 0x2c, 0x94, 0xe4, 0x28, 0xaa, 0xbf, 0x00, 0x55, 0x8b, 0x83, 0x64, 0x31, 0xbf, 0x02, 0xf8, 0xd5,
- 0x6b, 0x83, 0x84, 0x31, 0xaa, 0x02, 0xb7, 0x57, 0xcb, 0x8b, 0xe4, 0x41, 0xaa, 0x80, 0xd5, 0x55, 0x4d, 0x9c, 0xe5, 0x51, 0x0a, 0xef, 0xfb, 0xd5, 0x0c, 0x94, 0x85, 0x41, 0xe0, 0x7f, 0x77, 0x7a,
- 0x45, 0x52, 0x23, 0x29, 0x2f, 0xaf, 0x2a, 0xad, 0x0c, 0x94, 0x46, 0x5a, 0xaf, 0x59, 0x62, 0xeb, 0xcd, 0x93, 0x85, 0x39, 0xdc, 0x7a, 0x7f, 0x7f, 0x67, 0x52, 0xa5, 0x39, 0x02, 0x7f, 0xff, 0x73,
- 0x68, 0x52, 0x85, 0x39, 0xf4, 0x43, 0x7a, 0x77, 0x06, 0x4a, 0x64, 0x31, 0x27, 0x2b, 0xa2, 0x3b, 0x2a, 0x73, 0xa6, 0x41, 0x0a, 0xbf, 0x7f, 0x5a, 0xee, 0x8b, 0x85, 0x39, 0xff, 0xfe, 0x09, 0xaf,
- 0x4f, 0x9c, 0xc7, 0x39, 0x57, 0xff, 0x80, 0x82, 0xac, 0x83, 0xa6, 0x41, 0x7f, 0x55, 0x80, 0x20, 0x0d, 0x94, 0xa6, 0x39, 0x7f, 0xd5, 0xaa, 0x00, 0x6f, 0xa4, 0x24, 0x29, 0xd5, 0xf5, 0x7a, 0xc0,
- 0x6d, 0xb4, 0xeb, 0xa3, 0x2b, 0xb7, 0x25, 0x7d, 0xae, 0xbc, 0xea, 0xa3, 0x0a, 0xff, 0x33, 0x55, 0x6c, 0xb4, 0xc9, 0xa3, 0xea, 0xaa, 0xf8, 0xdd, 0x4d, 0xb4, 0xa8, 0x9b, 0xae, 0x2a, 0xfa, 0x7d,
- 0x2c, 0xac, 0x89, 0x93, 0x80, 0xb8, 0xab, 0xfd, 0x2b, 0xac, 0x89, 0x9b, 0xfc, 0xaa, 0xfe, 0x5f, 0x0b, 0xac, 0x8a, 0x93, 0xba, 0xec, 0xb5, 0x0f, 0x2b, 0xac, 0xa9, 0x9b, 0xf8, 0xbb, 0xec, 0x56,
- 0xeb, 0xa3, 0x89, 0x9b, 0x00, 0xee, 0x8b, 0xbd, 0x0b, 0xac, 0x88, 0x93, 0xa8, 0xab, 0xba, 0x56, 0x0b, 0xac, 0x89, 0x9b, 0xba, 0xaa, 0xeb, 0x2d, 0x2b, 0xac, 0x8a, 0x9b, 0xa2, 0xaa, 0x7a, 0x2a,
- 0x0b, 0xa4, 0x68, 0x9b, 0x00, 0xae, 0xae, 0xde, 0xeb, 0xa3, 0x65, 0x72, 0x00, 0x00, 0x88, 0x5f, 0x0a, 0xac, 0x66, 0x6a, 0x00, 0x0a, 0xf2, 0x55, 0xea, 0xab, 0x66, 0x6a, 0x00, 0xfa, 0x55, 0x55,
- 0xe8, 0xa3, 0x46, 0x6a, 0xe0, 0x57, 0x57, 0x55, 0xe7, 0x82, 0x46, 0x62, 0xf8, 0xff, 0xed, 0x57, 0x87, 0x72, 0x46, 0x62, 0x20, 0xaf, 0xef, 0xfd, 0x87, 0x72, 0x26, 0x62, 0xb0, 0xae, 0xa8, 0x7f,
- 0x87, 0x72, 0x26, 0x62, 0xa2, 0xae, 0xf5, 0xbf, 0x87, 0x72, 0x26, 0x6a, 0xf2, 0x7e, 0x73, 0xfd, 0x67, 0x6a, 0x25, 0x62, 0xfd, 0x94, 0xfd, 0xdc, 0x87, 0x72, 0x26, 0x62, 0xef, 0x7b, 0xbd, 0xaa,
- 0x87, 0x72, 0x26, 0x62, 0xff, 0xf5, 0xfe, 0x8a, 0x67, 0x72, 0x26, 0x62, 0xfe, 0x6b, 0xeb, 0xf0, 0x67, 0x72, 0x26, 0x62, 0xf7, 0xfa, 0xff, 0xbf, 0x87, 0x6a, 0x26, 0x62, 0xfd, 0xab, 0xe2, 0xba,
- 0x87, 0x6a, 0xe4, 0x59, 0xaa, 0x08, 0x02, 0x7a, 0x87, 0x72, 0xc5, 0x59, 0x22, 0x88, 0xa8, 0xf5, 0x87, 0x72, 0xe5, 0x61, 0x2a, 0x80, 0xa8, 0x55, 0x87, 0x72, 0x05, 0x5a, 0x82, 0x82, 0xea, 0x75,
- 0xa8, 0x72, 0x84, 0x59, 0x02, 0xaa, 0xaa, 0xfd, 0x86, 0x72, 0xe5, 0x61, 0xe8, 0xa8, 0x7a, 0x55, 0x67, 0x6a, 0xc4, 0x59, 0x02, 0xaa, 0x97, 0xaa, 0x67, 0x72, 0xe4, 0x59, 0x02, 0xea, 0x7f, 0xef,
- 0x66, 0x6a, 0xe5, 0x59, 0x88, 0x55, 0xfd, 0xba, 0x46, 0x6a, 0xc5, 0x59, 0xa8, 0xb7, 0xaa, 0x2e, 0x67, 0x6a, 0x06, 0x62, 0xb5, 0xb5, 0x2f, 0x03, 0x87, 0x6a, 0x26, 0x62, 0xff, 0xbf, 0x08, 0x0b,
- 0x88, 0x72, 0x46, 0x6a, 0x8d, 0x2b, 0x26, 0x02, 0xa8, 0x72, 0x67, 0x6a, 0xfe, 0xfa, 0xfe, 0x00, 0xc8, 0x72, 0x27, 0x6a, 0x57, 0x8a, 0xaa, 0xa0, 0xa8, 0x72, 0x47, 0x6a, 0xbd, 0x28, 0xef, 0x0a,
- 0xc9, 0x72, 0x47, 0x6a, 0xda, 0xae, 0xbd, 0x00, 0x2c, 0x83, 0x67, 0x6a, 0xf5, 0xf7, 0xbf, 0x2a, 0xd0, 0xbc, 0xa9, 0x72, 0x55, 0x55, 0x95, 0x0b, 0x2f, 0xcd, 0xcb, 0x72, 0x55, 0xbd, 0x00, 0x20,
- 0x4f, 0xd5, 0x65, 0x49, 0xaf, 0x02, 0x80, 0x5e, 0x2e, 0xcd, 0x24, 0x39, 0x00, 0x80, 0x57, 0x55, 0x4d, 0xd5, 0x24, 0x31, 0x80, 0x57, 0x55, 0x55, 0xc4, 0x51, 0x05, 0x21, 0x68, 0x78, 0x57, 0xf5,
- 0xe7, 0x41, 0x04, 0x29, 0x3b, 0x35, 0xfd, 0xbb, 0x89, 0x5a, 0x66, 0x39, 0x57, 0xff, 0x0b, 0xaf, 0x48, 0x5a, 0x25, 0x29, 0x57, 0x5e, 0xb8, 0xe8, 0xa6, 0x41, 0x45, 0x31, 0xde, 0x86, 0xf4, 0x0c,
- 0x27, 0x4a, 0x45, 0x31, 0x8a, 0xf7, 0xab, 0x55, 0xe7, 0x41, 0x44, 0x31, 0x78, 0x0b, 0xb5, 0xbf, 0x07, 0x4a, 0x65, 0x39, 0xad, 0xe8, 0xf7, 0x8f, 0xe7, 0x49, 0x65, 0x41, 0x68, 0x5b, 0x03, 0xad,
- 0xc6, 0x41, 0x45, 0x39, 0xe7, 0x17, 0xb8, 0xf2, 0xc6, 0x49, 0x04, 0x39, 0xeb, 0xbc, 0xbe, 0xde, 0xa5, 0x49, 0x44, 0x41, 0x27, 0xfb, 0xeb, 0xf5, 0xa5, 0x51, 0x44, 0x41, 0xaf, 0x3f, 0xab, 0xee,
- 0x07, 0x5a, 0x03, 0x39, 0xeb, 0x25, 0xbe, 0x7f, 0x06, 0x52, 0x65, 0x41, 0x6d, 0xa2, 0xfb, 0xad, 0xe6, 0x51, 0x44, 0x41, 0xb5, 0xf8, 0xbe, 0xea, 0xc6, 0x51, 0x24, 0x41, 0x88, 0xf8, 0xe2, 0x7b,
- 0xa5, 0x51, 0x44, 0x41, 0xbf, 0x8b, 0x7b, 0xdf, 0xc5, 0x51, 0x23, 0x49, 0xaa, 0x8a, 0xff, 0x7e, 0x83, 0x59, 0x02, 0x51, 0x22, 0x8a, 0xaf, 0xfd, 0x84, 0x59, 0x23, 0x49, 0xe8, 0xfa, 0xd5, 0xf7,
- 0xa4, 0x59, 0x43, 0x51, 0x23, 0xbd, 0xdd, 0x57, 0xc4, 0x61, 0x23, 0x49, 0x0a, 0xeb, 0xff, 0x7d, 0xc4, 0x59, 0x43, 0x51, 0xa2, 0xea, 0xd7, 0x75, 0xc5, 0x59, 0x23, 0x51, 0x3a, 0xfa, 0xbf, 0x7f,
- 0xa4, 0x59, 0x23, 0x51, 0xa8, 0x8a, 0xab, 0x7f, 0xa4, 0x59, 0x23, 0x49, 0xbc, 0xfa, 0x7f, 0x55, 0x84, 0x59, 0x23, 0x51, 0xaa, 0xf5, 0xe9, 0x2f, 0xa4, 0x59, 0x23, 0x51, 0xa8, 0xff, 0xf5, 0xfe,
- 0x83, 0x59, 0x23, 0x51, 0xe0, 0x5f, 0xf5, 0xd5, 0xa4, 0x59, 0x23, 0x51, 0xe2, 0xdd, 0xfd, 0xdf, 0x63, 0x51, 0x22, 0x49, 0x8d, 0x0b, 0xfb, 0x6b, 0x64, 0x51, 0x02, 0x49, 0xa0, 0xa8, 0xfb, 0x7a,
- 0x63, 0x51, 0x03, 0x49, 0xfc, 0xde, 0xef, 0xad, 0x44, 0x59, 0x23, 0x41, 0xb8, 0xff, 0xd7, 0xa8, 0x64, 0x51, 0x23, 0x49, 0xa7, 0xf7, 0x7a, 0x12, 0x64, 0x59, 0x22, 0x49, 0xef, 0xb9, 0x8f, 0x0a,
- 0x64, 0x59, 0x22, 0x51, 0x8a, 0xae, 0x9b, 0xca, 0x64, 0x59, 0x23, 0x51, 0xf0, 0x33, 0xfe, 0xbb, 0x84, 0x59, 0x22, 0x51, 0x6a, 0xeb, 0xfa, 0xaf, 0x63, 0x61, 0x22, 0x59, 0x0a, 0xee, 0xb1, 0x32,
- 0x63, 0x61, 0x22, 0x59, 0xee, 0x7e, 0xea, 0x03, 0x84, 0x61, 0x42, 0x59, 0xba, 0xfd, 0xab, 0x8a, 0x84, 0x61, 0x22, 0x59, 0xbf, 0xad, 0x82, 0x82, 0x84, 0x61, 0x42, 0x59, 0xf5, 0xe4, 0x7a, 0xe2,
- 0x83, 0x61, 0x42, 0x59, 0xdf, 0xae, 0x22, 0xa2, 0xa4, 0x69, 0x63, 0x59, 0x5d, 0xba, 0x2f, 0xbf, 0x25, 0x72, 0x43, 0x61, 0x57, 0xf7, 0xbf, 0x20, 0x85, 0x7a, 0x84, 0x69, 0x5d, 0xfd, 0xef, 0x0a,
- 0x68, 0x9b, 0xa4, 0x69, 0xfd, 0xbd, 0xab, 0x2a, 0x89, 0x9b, 0x46, 0x7a, 0xf5, 0xab, 0x0a, 0x22, 0xa9, 0xa3, 0x08, 0x93, 0xb5, 0x2b, 0x2a, 0x2e, 0x6c, 0xbc, 0x89, 0xa3, 0xf5, 0xb5, 0x35, 0x45,
- 0x4c, 0xbc, 0x25, 0x5a, 0x80, 0x80, 0x62, 0x78, 0xcc, 0x93, 0x06, 0x52, 0xe2, 0xff, 0xf5, 0xff, 0x0a, 0x73, 0x84, 0x39, 0xf6, 0x5e, 0x7a, 0x82, 0x0a, 0x63, 0x84, 0x31, 0x7f, 0x55, 0xfd, 0x2f,
- 0x4b, 0x73, 0xe6, 0x41, 0x5d, 0xff, 0x5a, 0x90, 0xeb, 0x6a, 0x03, 0x29, 0x57, 0x5e, 0xaa, 0x2a, 0x47, 0x4a, 0x43, 0x29, 0xf5, 0xf5, 0x97, 0x28, 0x6c, 0x6b, 0x84, 0x39, 0xf5, 0xfd, 0x55, 0x7c,
- 0x67, 0x52, 0xe4, 0x20, 0xb8, 0xa8, 0xfa, 0xb5, 0x06, 0x4a, 0x45, 0x31, 0xa8, 0xf0, 0xfd, 0xa8, 0xe8, 0x49, 0x64, 0x31, 0xf8, 0xbf, 0xd7, 0x02, 0xe6, 0x51, 0x24, 0x21, 0x02, 0xfe, 0x7f, 0x5e,
- 0x4c, 0x73, 0x64, 0x31, 0xdf, 0xf5, 0xfd, 0x2d, 0xec, 0x8b, 0x24, 0x31, 0xff, 0x77, 0xbf, 0x80, 0x2e, 0x8c, 0x24, 0x31, 0x7f, 0xb5, 0x2a, 0xab, 0xed, 0x8b, 0xc6, 0x39, 0x55, 0xfe, 0xa0, 0xff,
- 0x0d, 0x94, 0xe7, 0x49, 0x55, 0x02, 0xff, 0x5d, 0x4e, 0x94, 0xe6, 0x41, 0xff, 0xdc, 0xdd, 0xfd, 0xae, 0xa4, 0xa8, 0x5a, 0xab, 0x00, 0x55, 0x55, 0xec, 0x8b, 0x48, 0x52, 0x00, 0x08, 0xd7, 0x5f,
- 0xec, 0x93, 0x47, 0x52, 0x20, 0xaa, 0xd5, 0x55, 0x8e, 0xa4, 0x47, 0x52, 0xa8, 0x7f, 0x77, 0x57, 0x2c, 0x94, 0x88, 0x5a, 0x00, 0x57, 0x55, 0x55, 0x8a, 0x83, 0x88, 0x52, 0xfc, 0xff, 0x7d, 0x5d,
- 0xc9, 0xa3, 0x25, 0x6a, 0xa0, 0x7f, 0x55, 0x55, 0x88, 0x9b, 0xe5, 0x59, 0x80, 0xff, 0xff, 0x55, 0xe7, 0x82, 0xc5, 0x59, 0x00, 0xbe, 0xff, 0x55, 0xc7, 0x82, 0xe6, 0x59, 0x00, 0xee, 0x7f, 0xf5,
- 0xe7, 0x8a, 0xe6, 0x59, 0x28, 0xff, 0xd5, 0xff, 0xe7, 0x8a, 0x46, 0x6a, 0x00, 0x75, 0x55, 0x55, 0x08, 0x8b, 0x26, 0x62, 0x00, 0xf7, 0xb7, 0x35, 0x48, 0x8b, 0x26, 0x6a, 0x0a, 0x7f, 0x55, 0x54,
- 0x27, 0x93, 0x26, 0x6a, 0x00, 0xdf, 0x55, 0x55, 0xe7, 0x82, 0x46, 0x6a, 0xa0, 0x7f, 0x3d, 0x5d, 0x28, 0x8b, 0x26, 0x62, 0x0a, 0xff, 0x5e, 0x5f, 0x48, 0x9b, 0x46, 0x62, 0x8a, 0xf5, 0xfd, 0x55,
- 0xc6, 0x7a, 0x47, 0x6a, 0xf0, 0xff, 0x57, 0xdd, 0xa7, 0x72, 0x26, 0x6a, 0x02, 0xaa, 0xef, 0xd5, 0x87, 0x72, 0x26, 0x62, 0xe2, 0xba, 0x6a, 0xfa, 0x87, 0x6a, 0x46, 0x62, 0xbe, 0xfe, 0x37, 0xd5,
- 0x87, 0x6a, 0x46, 0x62, 0xdf, 0xbb, 0xec, 0x55, 0x67, 0x72, 0x26, 0x62, 0xfe, 0xee, 0xe3, 0x2a, 0x67, 0x6a, 0x26, 0x62, 0x80, 0x88, 0x6e, 0x70, 0x67, 0x6a, 0x26, 0x62, 0x2e, 0x0a, 0xfe, 0x5a,
- 0x87, 0x6a, 0x25, 0x62, 0xe3, 0xe2, 0x5f, 0x55, 0x66, 0x6a, 0xe7, 0x59, 0xaa, 0x7f, 0x8a, 0xae, 0x66, 0x6a, 0x07, 0x62, 0xae, 0xad, 0x8a, 0xfa, 0xa7, 0x72, 0x26, 0x62, 0x2f, 0xbf, 0x7b, 0x7f,
- 0x87, 0x6a, 0xe5, 0x61, 0xe0, 0xa8, 0x55, 0xff, 0x66, 0x6a, 0xe5, 0x59, 0xaa, 0xe8, 0xd5, 0xca, 0x67, 0x6a, 0x85, 0x59, 0x8a, 0x5f, 0x82, 0xaa, 0x67, 0x6a, 0xc6, 0x61, 0xea, 0xb5, 0xaf, 0x2a,
- 0x66, 0x6a, 0x85, 0x59, 0xd5, 0xba, 0x2b, 0x80, 0x67, 0x6a, 0xe5, 0x61, 0xbd, 0xae, 0xb8, 0xa8, 0x87, 0x72, 0x05, 0x62, 0xbd, 0xbf, 0xf9, 0xdc, 0x67, 0x6a, 0x25, 0x62, 0x66, 0x3e, 0xbb, 0x67,
- 0x87, 0x6a, 0x26, 0x62, 0x55, 0x5e, 0xd7, 0xaf, 0xc8, 0x72, 0x06, 0x62, 0x7f, 0x55, 0xe3, 0xdf, 0x67, 0x6a, 0x06, 0x62, 0xf7, 0xed, 0xb9, 0x03, 0x87, 0x6a, 0x06, 0x62, 0xbd, 0x2a, 0xaf, 0xbe,
- 0x67, 0x6a, 0x26, 0x62, 0xce, 0xcf, 0x7a, 0xab, 0x67, 0x6a, 0x07, 0x6a, 0x1b, 0x00, 0x2a, 0x00, 0xa8, 0x72, 0x27, 0x62, 0xbf, 0xf7, 0xba, 0x2a, 0xc8, 0x72, 0x67, 0x6a, 0x5d, 0xfd, 0xfb, 0x2f,
- 0xa8, 0x72, 0x67, 0x6a, 0x5b, 0xaf, 0xa8, 0x3a, 0x0a, 0x7b, 0x87, 0x6a, 0x77, 0xff, 0xbf, 0x2b, 0xb0, 0xb4, 0xa8, 0x72, 0x55, 0x55, 0x55, 0x2b, 0xef, 0xc4, 0xa9, 0x6a, 0x55, 0x55, 0x2f, 0x80,
- 0xce, 0xc4, 0xca, 0x72, 0x55, 0x2d, 0xa0, 0x0a, 0x6f, 0xdd, 0x2c, 0x83, 0xad, 0xaa, 0xaa, 0x2a, 0x2e, 0xd5, 0x63, 0x41, 0x02, 0x00, 0xe0, 0x5e, 0xec, 0xcc, 0x24, 0x39, 0xe0, 0x5e, 0x55, 0x55,
- 0x27, 0x42, 0xe4, 0x38, 0xbd, 0xab, 0xe2, 0xeb, 0x28, 0x4a, 0x45, 0x31, 0xbb, 0x00, 0xa3, 0xa5, 0x07, 0x4a, 0xe4, 0x28, 0x02, 0xa0, 0xfa, 0x7a, 0xe7, 0x41, 0xe4, 0x20, 0xe0, 0x8a, 0xeb, 0xfd,
- 0xa6, 0x39, 0x04, 0x29, 0x3f, 0xa2, 0x7d, 0x8d, 0xe6, 0x49, 0xe4, 0x28, 0xa8, 0xef, 0xf5, 0xaa, 0x85, 0x39, 0xc4, 0x20, 0x88, 0xbf, 0x97, 0xe8, 0x86, 0x39, 0xe4, 0x20, 0xff, 0x97, 0x6f, 0x0b,
- 0xc6, 0x41, 0x04, 0x29, 0xfd, 0xbf, 0xf5, 0xa2, 0xa6, 0x41, 0x04, 0x31, 0xab, 0x9f, 0x2f, 0x2e, 0xc6, 0x49, 0x24, 0x39, 0x7f, 0xff, 0xac, 0x5c, 0xa5, 0x51, 0xe4, 0x28, 0x3e, 0xbf, 0xd7, 0xd5,
- 0x06, 0x52, 0xc3, 0x30, 0xaa, 0xa8, 0xe2, 0xad, 0xc6, 0x49, 0x04, 0x31, 0x52, 0x7b, 0xef, 0xaf, 0x65, 0x41, 0x03, 0x29, 0x09, 0xad, 0x3f, 0xf2, 0x85, 0x41, 0x24, 0x39, 0xe0, 0xc9, 0xa3, 0x55,
- 0xc6, 0x51, 0xc3, 0x28, 0x2f, 0xbf, 0x5f, 0xff, 0xa4, 0x51, 0x05, 0x31, 0x02, 0xb7, 0xbf, 0xaf, 0xa5, 0x49, 0x04, 0x41, 0x5e, 0x2a, 0xaa, 0xa2, 0xa5, 0x51, 0xe4, 0x28, 0xaa, 0xf8, 0xf8, 0x5a,
- 0xa5, 0x41, 0x03, 0x31, 0xba, 0xee, 0x55, 0xcd, 0x63, 0x59, 0x02, 0x51, 0xfe, 0xbe, 0x9f, 0x2e, 0x84, 0x59, 0xe2, 0x50, 0xfe, 0xf7, 0xff, 0xe8, 0x43, 0x51, 0xe2, 0x48, 0xab, 0xbd, 0xec, 0x2a,
- 0x63, 0x51, 0xe2, 0x48, 0xec, 0xff, 0xf7, 0xb6, 0x64, 0x59, 0x03, 0x49, 0xab, 0xaf, 0xad, 0xbf, 0x64, 0x59, 0x23, 0x51, 0xb8, 0x7f, 0xef, 0xed, 0x43, 0x51, 0xe2, 0x40, 0x8a, 0x68, 0x70, 0x98,
- 0x24, 0x59, 0xe3, 0x38, 0x22, 0xaf, 0x5d, 0xf7, 0x64, 0x51, 0xe2, 0x40, 0x8b, 0xfb, 0x5d, 0xdd, 0x84, 0x59, 0xe2, 0x40, 0x28, 0xa2, 0xb5, 0xdd, 0x64, 0x59, 0x02, 0x41, 0x00, 0x8a, 0xaa, 0xd7,
- 0x44, 0x51, 0x03, 0x49, 0x2c, 0xe0, 0x3e, 0xa7, 0x64, 0x59, 0x23, 0x49, 0x7d, 0xff, 0x7f, 0x8a, 0x64, 0x51, 0x03, 0x49, 0xfb, 0xdf, 0x8a, 0x00, 0x63, 0x59, 0x24, 0x49, 0x7f, 0xeb, 0xe9, 0x02,
- 0x84, 0x59, 0x23, 0x49, 0xfd, 0xfd, 0xaf, 0x32, 0x84, 0x61, 0x43, 0x51, 0xb5, 0xdf, 0xb7, 0x0a, 0x84, 0x61, 0x43, 0x51, 0x5f, 0xef, 0xf0, 0xfa, 0xc3, 0x61, 0x23, 0x59, 0xfd, 0xba, 0xab, 0x8a,
- 0xa4, 0x61, 0x62, 0x59, 0x75, 0xfe, 0xb7, 0xf7, 0xa3, 0x61, 0x44, 0x59, 0xde, 0xfa, 0xfc, 0xdf, 0x83, 0x61, 0x23, 0x59, 0xe1, 0x0a, 0xba, 0xa0, 0xa4, 0x61, 0x63, 0x59, 0xef, 0xdf, 0xff, 0xb9,
- 0xa4, 0x61, 0x43, 0x59, 0x8a, 0xfb, 0xf0, 0xae, 0xa4, 0x61, 0x43, 0x61, 0x03, 0x80, 0xdd, 0x8a, 0xa4, 0x61, 0x63, 0x61, 0xdf, 0xde, 0x1e, 0x8a, 0xa4, 0x61, 0x43, 0x59, 0xbb, 0xeb, 0x88, 0xb8,
- 0x84, 0x61, 0x63, 0x59, 0x45, 0xb6, 0x5b, 0x97, 0x83, 0x61, 0x44, 0x59, 0xae, 0xa8, 0x7f, 0x7a, 0x25, 0x7a, 0x63, 0x59, 0x0b, 0xb5, 0xd5, 0xd5, 0x07, 0x93, 0xa3, 0x61, 0xbf, 0xab, 0x2b, 0x95,
- 0xea, 0xab, 0xe7, 0x8a, 0xbd, 0xb7, 0xbf, 0x0f, 0x6c, 0xbc, 0x89, 0xa3, 0xd5, 0xfd, 0xff, 0xf8, 0x4b, 0xb4, 0xa9, 0xa3, 0x75, 0xef, 0xbf, 0x2a, 0x6d, 0xbc, 0xe6, 0x51, 0x22, 0x88, 0xa0, 0x54,
- 0x0c, 0x94, 0x27, 0x5a, 0x5f, 0x8a, 0xaa, 0xd5, 0x8f, 0xa4, 0x28, 0x5a, 0xbe, 0x5e, 0xeb, 0x09, 0x8f, 0xa4, 0xa9, 0x62, 0x57, 0xfd, 0xbf, 0x58, 0xaf, 0xa4, 0x88, 0x62, 0x57, 0xfb, 0x02, 0xff,
- 0x8e, 0xa4, 0xe9, 0x62, 0xd5, 0xab, 0x00, 0xd5, 0x0f, 0xb5, 0x0a, 0x6b, 0x7f, 0x2a, 0x7a, 0x5f, 0x0f, 0xad, 0x89, 0x5a, 0xaf, 0xe0, 0x55, 0x57, 0xd1, 0x9c, 0x26, 0x52, 0x02, 0xd5, 0xfd, 0xff,
- 0x6f, 0x9c, 0x69, 0x52, 0x08, 0x5f, 0xff, 0x7f, 0x6e, 0x9c, 0x08, 0x42, 0x30, 0x55, 0xff, 0xbf, 0x4d, 0x9c, 0x48, 0x4a, 0x20, 0x55, 0x5f, 0xff, 0xad, 0x83, 0x45, 0x29, 0x58, 0x7f, 0xff, 0xaa,
- 0xea, 0x6a, 0xc5, 0x39, 0x0d, 0xb5, 0xf5, 0xfa, 0xe9, 0x6a, 0x07, 0x42, 0xa8, 0xaa, 0xae, 0xbd, 0xc9, 0x62, 0x48, 0x52, 0x0b, 0xbf, 0xde, 0x5a, 0xc9, 0x62, 0x48, 0x4a, 0x6a, 0xf8, 0x7a, 0x72,
- 0xa9, 0x5a, 0x28, 0x4a, 0xd5, 0xc3, 0xbe, 0x77, 0xc9, 0x5a, 0x07, 0x4a, 0xb1, 0xb7, 0xbf, 0x55, 0xa9, 0x5a, 0x48, 0x4a, 0x42, 0x2d, 0xbf, 0xfd, 0xa9, 0x5a, 0x07, 0x42, 0x52, 0xdc, 0x7a, 0xae,
- 0xa9, 0x5a, 0x27, 0x4a, 0xe5, 0x7d, 0x8f, 0xff, 0x89, 0x5a, 0x27, 0x4a, 0x82, 0x50, 0x2a, 0x2b, 0xc9, 0x62, 0x48, 0x4a, 0xaf, 0x7a, 0x2a, 0xff, 0xa9, 0x5a, 0x07, 0x4a, 0xaa, 0x5e, 0x0a, 0x88,
- 0xc8, 0x72, 0xa5, 0x51, 0xff, 0xed, 0x20, 0xaa, 0xc8, 0x72, 0xc5, 0x59, 0xb7, 0xeb, 0xac, 0xfa, 0x09, 0x83, 0x06, 0x62, 0x55, 0x0f, 0x5f, 0xd5, 0xe8, 0x7a, 0xe5, 0x61, 0xad, 0xc8, 0xfd, 0xff,
- 0xc8, 0x72, 0x06, 0x62, 0x2a, 0xbf, 0xf7, 0xd7, 0x67, 0x6a, 0x25, 0x62, 0x62, 0x66, 0x2f, 0xd7, 0x47, 0x6a, 0xe5, 0x61, 0x0b, 0x0b, 0xa0, 0x6a, 0x47, 0x6a, 0x06, 0x62, 0xea, 0x02, 0xe9, 0x7f,
- 0x47, 0x6a, 0x05, 0x62, 0x2e, 0x2a, 0x7e, 0xdb, 0x66, 0x6a, 0x07, 0x62, 0x0e, 0xaa, 0xaf, 0xf6, 0x67, 0x6a, 0x26, 0x62, 0xba, 0x7e, 0xc3, 0xab, 0x67, 0x6a, 0x06, 0x62, 0x2a, 0xdb, 0xff, 0xde,
- 0x66, 0x6a, 0x07, 0x62, 0xa2, 0xf5, 0xab, 0x02, 0x87, 0x6a, 0x26, 0x62, 0x8b, 0xff, 0xdf, 0xe0, 0x47, 0x6a, 0x26, 0x62, 0x56, 0x82, 0xc2, 0xae, 0x86, 0x6a, 0x05, 0x5a, 0x2a, 0xa0, 0x7f, 0xff,
- 0x87, 0x6a, 0x84, 0x51, 0x82, 0x7e, 0xaa, 0xaa, 0x26, 0x62, 0xa5, 0x59, 0x80, 0xf7, 0xb2, 0x80, 0x47, 0x6a, 0x83, 0x51, 0xf7, 0xbf, 0xaa, 0xa2, 0x46, 0x62, 0x85, 0x59, 0x97, 0x8a, 0x88, 0x82,
- 0x06, 0x62, 0x25, 0x5a, 0xa8, 0xf6, 0x2b, 0xf9, 0x47, 0x6a, 0x05, 0x62, 0x9f, 0x37, 0xa1, 0x79, 0x67, 0x6a, 0x06, 0x62, 0xa2, 0x9f, 0xb5, 0xdf, 0x67, 0x6a, 0x06, 0x62, 0xbe, 0x0a, 0x26, 0xe2,
- 0x67, 0x6a, 0x26, 0x62, 0xef, 0xae, 0x08, 0x3e, 0x87, 0x6a, 0x26, 0x62, 0x6a, 0xab, 0xf5, 0x88, 0x67, 0x6a, 0x26, 0x62, 0xeb, 0xce, 0xbd, 0xb5, 0xa8, 0x6a, 0x06, 0x62, 0xa3, 0x75, 0xff, 0x7f,
- 0xa8, 0x72, 0x06, 0x62, 0xa8, 0xfe, 0xdf, 0xdf, 0x47, 0x6a, 0x05, 0x62, 0xde, 0xff, 0x62, 0x9f, 0x67, 0x6a, 0x05, 0x62, 0x8d, 0xbf, 0xed, 0xdf, 0x66, 0x72, 0x07, 0x62, 0xbf, 0xaa, 0xad, 0xce,
- 0x67, 0x6a, 0x26, 0x62, 0x5d, 0x8f, 0x2a, 0xf2, 0x67, 0x6a, 0x26, 0x62, 0x34, 0xf8, 0xea, 0xb2, 0x67, 0x6a, 0x26, 0x62, 0x2e, 0xba, 0x0b, 0x22, 0xa8, 0x72, 0x26, 0x62, 0xdf, 0x7f, 0xeb, 0x2b,
- 0xa8, 0x72, 0x47, 0x6a, 0xd5, 0xd5, 0xd6, 0x0b, 0xa8, 0x72, 0x47, 0x6a, 0xa5, 0xee, 0xaf, 0x00, 0xac, 0x93, 0x88, 0x72, 0x55, 0x55, 0xd5, 0x2d, 0x8d, 0xb4, 0x68, 0x72, 0x55, 0xd5, 0x0d, 0x02,
- 0xad, 0xbc, 0xca, 0x72, 0x55, 0x2f, 0x00, 0x00, 0xad, 0xbc, 0x2c, 0x7b, 0x2d, 0x00, 0x00, 0x00, 0xce, 0xc4, 0x6d, 0xbc, 0xa0, 0xab, 0x02, 0x57, 0xee, 0xcc, 0x0b, 0xac, 0xd8, 0xaa, 0xa8, 0x2a,
- 0x4f, 0xdd, 0x42, 0x51, 0xa2, 0x08, 0x80, 0x58, 0x4d, 0xdd, 0x64, 0x41, 0xc0, 0x5c, 0x55, 0x55, 0xa6, 0x41, 0x24, 0x31, 0x74, 0xaf, 0x2b, 0xc2, 0x65, 0x31, 0xe3, 0x20, 0x20, 0x78, 0x57, 0xd7,
- 0xa6, 0x39, 0x04, 0x29, 0xa3, 0xb9, 0xb5, 0x25, 0xc6, 0x49, 0x24, 0x29, 0x2f, 0xa5, 0x2f, 0x2a, 0xc6, 0x49, 0x04, 0x21, 0x7e, 0x5e, 0xf8, 0x9e, 0xc6, 0x41, 0x25, 0x29, 0xf5, 0xff, 0x8a, 0x0a,
- 0xe7, 0x41, 0x24, 0x21, 0xaf, 0x37, 0xaa, 0x28, 0xe7, 0x41, 0x45, 0x39, 0xfe, 0xfe, 0x57, 0x40, 0x28, 0x52, 0x25, 0x31, 0x97, 0xbd, 0x0f, 0xfd, 0x07, 0x4a, 0x85, 0x39, 0xea, 0x0f, 0x76, 0x7d,
- 0xe6, 0x41, 0x24, 0x31, 0xce, 0xa0, 0x99, 0xbb, 0xc6, 0x41, 0x24, 0x31, 0x7b, 0x5f, 0xa8, 0xff, 0xa6, 0x49, 0xe4, 0x30, 0xf0, 0xb6, 0x97, 0xff, 0x65, 0x41, 0x04, 0x39, 0x90, 0xe2, 0xbf, 0xed,
- 0x44, 0x41, 0xe3, 0x28, 0xb7, 0xa3, 0x0a, 0xaa, 0x85, 0x49, 0xe3, 0x30, 0x6a, 0xaf, 0x8f, 0x09, 0xa5, 0x49, 0x04, 0x39, 0xad, 0x8a, 0xda, 0xa2, 0xc6, 0x49, 0x23, 0x39, 0xae, 0x2f, 0xaa, 0x95,
- 0xa6, 0x41, 0xc3, 0x28, 0xff, 0xff, 0x78, 0x78, 0x64, 0x41, 0x83, 0x20, 0x0a, 0xbe, 0xff, 0x7f, 0x65, 0x49, 0xe3, 0x28, 0x20, 0xbb, 0xfd, 0xfd, 0x65, 0x39, 0xe3, 0x28, 0x78, 0x7d, 0x29, 0x09,
- 0x65, 0x51, 0xe3, 0x30, 0x33, 0x97, 0xbf, 0xbe, 0x63, 0x59, 0x03, 0x51, 0x88, 0xae, 0xff, 0xf6, 0x64, 0x59, 0x22, 0x51, 0x2f, 0xbf, 0xab, 0x02, 0x84, 0x61, 0x22, 0x51, 0xd7, 0x5d, 0xeb, 0xa2,
- 0x63, 0x61, 0x03, 0x49, 0xd5, 0xff, 0xaa, 0x80, 0xa4, 0x61, 0x23, 0x49, 0xd5, 0x75, 0x88, 0xea, 0x84, 0x61, 0x23, 0x51, 0xf5, 0xfd, 0xa8, 0x8e, 0x64, 0x59, 0xe3, 0x48, 0x77, 0xab, 0x80, 0x80,
- 0x64, 0x59, 0x02, 0x41, 0x55, 0xaa, 0x2a, 0xa8, 0x64, 0x59, 0x03, 0x41, 0x77, 0xaa, 0x08, 0x00, 0x84, 0x59, 0x23, 0x41, 0xd5, 0xaa, 0x88, 0x20, 0x64, 0x59, 0x43, 0x41, 0xfd, 0x02, 0xa2, 0x00,
- 0xa3, 0x59, 0x24, 0x49, 0x57, 0xee, 0xef, 0x2e, 0xa4, 0x61, 0x23, 0x49, 0xfd, 0xba, 0x2a, 0x20, 0xa4, 0x61, 0x43, 0x59, 0xd7, 0x7b, 0xab, 0x2e, 0xa4, 0x61, 0x43, 0x51, 0xff, 0x97, 0x83, 0xf8,
- 0x84, 0x61, 0x43, 0x51, 0xab, 0x29, 0xaa, 0xff, 0xa4, 0x61, 0x43, 0x59, 0x38, 0xcb, 0x1f, 0x03, 0xa3, 0x61, 0x64, 0x59, 0xde, 0xa3, 0xeb, 0xff, 0x84, 0x61, 0x42, 0x51, 0x8a, 0x8a, 0xbf, 0xda,
- 0x83, 0x61, 0x64, 0x51, 0x2b, 0x02, 0xaa, 0xad, 0x64, 0x61, 0xa3, 0x59, 0x20, 0xaa, 0xfe, 0xb7, 0x84, 0x61, 0x43, 0x59, 0xff, 0x6b, 0xde, 0xbc, 0xe3, 0x69, 0x64, 0x59, 0xf5, 0xbf, 0xdf, 0xcf,
- 0xa3, 0x61, 0x44, 0x59, 0xb7, 0xac, 0x70, 0xa2, 0xa4, 0x61, 0x63, 0x59, 0xe3, 0xfc, 0x75, 0x5d, 0x84, 0x61, 0x42, 0x49, 0x00, 0xa0, 0xaa, 0xdf, 0x84, 0x61, 0x02, 0x49, 0xa0, 0x02, 0xa8, 0x5f,
- 0x83, 0x59, 0xc2, 0x38, 0xa2, 0x88, 0x80, 0xdf, 0x84, 0x59, 0xc2, 0x40, 0xa0, 0x28, 0xa8, 0x5f, 0xa3, 0x59, 0xc2, 0x40, 0x2a, 0x02, 0xbe, 0xd5, 0xa3, 0x59, 0xc1, 0x40, 0x20, 0x20, 0x7f, 0xff,
- 0xa3, 0x61, 0xa1, 0x38, 0x00, 0xea, 0x55, 0xfb, 0x63, 0x8a, 0xa1, 0x38, 0x0a, 0xff, 0x55, 0xff, 0x47, 0xa3, 0xc1, 0x48, 0x02, 0x95, 0x55, 0xfd, 0xaf, 0x9c, 0x00, 0x59, 0xaa, 0x00, 0xb5, 0x55,
- 0xaf, 0xa4, 0xe4, 0x51, 0x0a, 0x80, 0xfe, 0xfd, 0xef, 0xac, 0xe7, 0x41, 0x80, 0x57, 0x5f, 0xff, 0x0c, 0x9c, 0xe7, 0x39, 0xf8, 0x55, 0x55, 0x55, 0x89, 0x5a, 0x07, 0x42, 0x0a, 0xbd, 0xb5, 0x2d,
- 0x6b, 0x73, 0x89, 0x52, 0xb5, 0xfd, 0xad, 0x83, 0x8c, 0x7b, 0x0a, 0x63, 0xff, 0x5b, 0x83, 0xab, 0xcd, 0x83, 0x69, 0x52, 0xd7, 0xaf, 0x02, 0xae, 0xac, 0x7b, 0x2b, 0x63, 0xb9, 0x02, 0xa8, 0x02,
- 0x2d, 0x8c, 0x4b, 0x73, 0xa2, 0xfd, 0xfb, 0xbf, 0xcd, 0x83, 0x4b, 0x73, 0x54, 0xef, 0xa0, 0xa8, 0xcd, 0x83, 0x2a, 0x63, 0x77, 0xea, 0xa8, 0x80, 0xcd, 0x83, 0xea, 0x5a, 0x57, 0xff, 0xa0, 0x2a,
- 0xcd, 0x83, 0xa9, 0x5a, 0x55, 0xaa, 0x02, 0x00, 0xed, 0x83, 0xaa, 0x5a, 0x55, 0xab, 0x0a, 0xaa, 0xed, 0x83, 0xaa, 0x5a, 0x55, 0xab, 0x80, 0xaa, 0xcd, 0x83, 0x89, 0x52, 0x57, 0xfe, 0x00, 0xaa,
- 0xcd, 0x83, 0x08, 0x42, 0x7d, 0xfe, 0x00, 0x00, 0xcd, 0x83, 0x28, 0x42, 0x55, 0x5d, 0x80, 0x00, 0x6c, 0x73, 0x07, 0x42, 0x75, 0xff, 0x20, 0x00, 0x4b, 0x73, 0x28, 0x4a, 0xd5, 0xff, 0xa0, 0x00,
- 0x2b, 0x73, 0x48, 0x4a, 0x55, 0xd5, 0xaa, 0x80, 0x2a, 0x73, 0x68, 0x52, 0x55, 0xf5, 0xef, 0x8a, 0xc9, 0x5a, 0x68, 0x52, 0xee, 0xd6, 0x00, 0x08, 0x0b, 0x6b, 0x68, 0x52, 0x55, 0x77, 0xff, 0x0a,
- 0x05, 0x6a, 0x47, 0x62, 0xaa, 0x0f, 0xfa, 0x5f, 0x67, 0x6a, 0x05, 0x62, 0xff, 0xde, 0xff, 0xfc, 0x46, 0x6a, 0x07, 0x62, 0xba, 0xee, 0xa3, 0x28, 0x67, 0x6a, 0x26, 0x62, 0xd6, 0xf3, 0xff, 0xfe,
- 0x47, 0x6a, 0x06, 0x62, 0xff, 0x82, 0xdc, 0xaf, 0x67, 0x6a, 0x06, 0x62, 0xed, 0xbe, 0xaf, 0xb8, 0x67, 0x6a, 0xe6, 0x59, 0xff, 0xa0, 0xaa, 0xde, 0x67, 0x6a, 0x06, 0x62, 0xd9, 0xab, 0xe2, 0xaf,
- 0x67, 0x6a, 0x26, 0x62, 0xdd, 0xdb, 0x2e, 0xa2, 0x86, 0x6a, 0x27, 0x62, 0xf5, 0xd5, 0xbe, 0xaf, 0x68, 0x6a, 0x27, 0x62, 0x0a, 0xc3, 0xc8, 0x3e, 0x26, 0x6a, 0x68, 0x62, 0x2a, 0x0a, 0xbf, 0xfd,
- 0x67, 0x6a, 0x06, 0x62, 0x83, 0xff, 0x37, 0xae, 0x67, 0x6a, 0x26, 0x62, 0xe7, 0xbb, 0xcc, 0xbb, 0x67, 0x6a, 0x26, 0x62, 0xed, 0xac, 0x5f, 0x6d, 0x47, 0x6a, 0x06, 0x5a, 0x20, 0xae, 0xfa, 0xa3,
- 0x67, 0x6a, 0xe5, 0x59, 0xaa, 0xa0, 0x60, 0xaa, 0x47, 0x62, 0xc6, 0x59, 0xa8, 0x38, 0xa9, 0xa8, 0x88, 0x6a, 0x26, 0x62, 0x7d, 0x3e, 0xd5, 0xfd, 0x47, 0x6a, 0x05, 0x5a, 0x8b, 0xba, 0xda, 0x7a,
- 0x47, 0x6a, 0x06, 0x5a, 0xfd, 0xaa, 0xfa, 0xab, 0x67, 0x6a, 0x06, 0x62, 0xaf, 0xf5, 0x8d, 0x0f, 0x67, 0x6a, 0xe6, 0x59, 0xfe, 0xaf, 0x02, 0x9a, 0x87, 0x6a, 0x06, 0x62, 0xff, 0xf3, 0x2a, 0x5f,
- 0x87, 0x6a, 0x06, 0x62, 0x7f, 0x82, 0xfa, 0xdf, 0x67, 0x6a, 0x06, 0x62, 0xea, 0x82, 0xd5, 0xae, 0x67, 0x6a, 0x26, 0x62, 0xdc, 0x2a, 0xe9, 0x5f, 0x67, 0x6a, 0x26, 0x62, 0xb7, 0x3b, 0xb8, 0x8e,
- 0x67, 0x6a, 0x26, 0x62, 0x65, 0xb0, 0xc8, 0xba, 0x67, 0x6a, 0x26, 0x62, 0xfd, 0xe2, 0x0e, 0xab, 0x67, 0x72, 0x26, 0x62, 0xfa, 0xba, 0xab, 0xaa, 0x87, 0x72, 0x26, 0x62, 0xfd, 0x8a, 0xba, 0xbf,
- 0x67, 0x6a, 0x46, 0x62, 0x47, 0xf7, 0x38, 0x3e, 0x68, 0x72, 0x27, 0x62, 0xee, 0xbf, 0x28, 0x22, 0xcd, 0x9b, 0x47, 0x6a, 0x55, 0x55, 0x55, 0x2b, 0x0c, 0xa4, 0x27, 0x62, 0xd5, 0xff, 0xff, 0x00,
- 0x6c, 0xb4, 0x67, 0x6a, 0x55, 0xd5, 0x2b, 0x00, 0x4c, 0xb4, 0x68, 0x72, 0x55, 0x0b, 0x00, 0x00, 0x8c, 0xbc, 0x6b, 0x8b, 0xad, 0x0a, 0x28, 0xaa, 0x8d, 0xbc, 0xea, 0xab, 0x0a, 0xaa, 0xf8, 0xde,
- 0x8d, 0xbc, 0xc9, 0xab, 0x00, 0x82, 0xf7, 0x57, 0x6c, 0xbc, 0xa9, 0xa3, 0x00, 0x00, 0xfd, 0x72, 0xad, 0xc4, 0xa8, 0xab, 0xaa, 0x0a, 0xfe, 0x7d, 0xed, 0xcc, 0x68, 0xa3, 0xa2, 0x2a, 0x97, 0xd5,
- 0x2c, 0xb4, 0x03, 0x31, 0x55, 0x57, 0x56, 0x54, 0x86, 0x39, 0x25, 0x29, 0xdf, 0xde, 0xd6, 0x3e, 0xc6, 0x41, 0xe4, 0x20, 0x8b, 0xea, 0xdf, 0xaf, 0x86, 0x39, 0x04, 0x21, 0x77, 0x75, 0x8b, 0xe2,
- 0xc6, 0x41, 0x25, 0x29, 0xfd, 0xad, 0xaf, 0x0d, 0xe7, 0x49, 0x45, 0x31, 0xf5, 0xe8, 0x02, 0xea, 0xc7, 0x41, 0x24, 0x31, 0xdb, 0x2e, 0xc8, 0x2a, 0xe7, 0x41, 0x45, 0x39, 0x0d, 0xea, 0xb9, 0xea,
- 0xe7, 0x41, 0x45, 0x39, 0x88, 0xbd, 0xbe, 0x7f, 0xc6, 0x41, 0x45, 0x39, 0x7e, 0xf8, 0xfc, 0x55, 0x65, 0x39, 0x04, 0x29, 0xa0, 0xb8, 0x7c, 0x6c, 0xc6, 0x41, 0x04, 0x31, 0x82, 0xfe, 0x7b, 0x8b,
- 0x85, 0x41, 0x44, 0x31, 0x5d, 0x28, 0x7b, 0xda, 0x65, 0x39, 0xe3, 0x28, 0xea, 0x7c, 0x56, 0x2a, 0x06, 0x52, 0x25, 0x39, 0xfd, 0x7b, 0x7b, 0x82, 0xa5, 0x49, 0x03, 0x31, 0x6a, 0x6a, 0xa3, 0x22,
- 0x65, 0x41, 0xe4, 0x30, 0xdf, 0xdf, 0xdf, 0xdc, 0xc6, 0x49, 0xe3, 0x28, 0x0b, 0xa1, 0xa9, 0xbd, 0xa5, 0x51, 0x44, 0x41, 0xca, 0xe0, 0xa6, 0x5f, 0x44, 0x41, 0xc3, 0x28, 0xae, 0xa4, 0xec, 0xfe,
- 0xa5, 0x49, 0xc3, 0x20, 0x7b, 0xff, 0xed, 0x0b, 0xa6, 0x49, 0xe4, 0x28, 0xe5, 0x29, 0x2a, 0x00, 0x65, 0x49, 0x04, 0x31, 0x5e, 0x70, 0xfa, 0x57, 0x65, 0x39, 0xe4, 0x28, 0x09, 0x8f, 0x3a, 0x2f,
- 0xe7, 0x51, 0x04, 0x39, 0xd6, 0xb5, 0xff, 0x2a, 0xa5, 0x59, 0x43, 0x59, 0x3d, 0xfb, 0x5f, 0xfc, 0xa4, 0x61, 0x43, 0x59, 0xbf, 0x8a, 0xf5, 0x83, 0x43, 0x61, 0xa4, 0x59, 0xaa, 0xaa, 0x99, 0xa7,
- 0x64, 0x61, 0x83, 0x59, 0xc8, 0x5b, 0x88, 0xf0, 0x84, 0x61, 0x63, 0x59, 0xed, 0xd5, 0x3a, 0x82, 0x84, 0x61, 0x42, 0x59, 0xf5, 0xe2, 0x2a, 0xa0, 0xa4, 0x61, 0x63, 0x59, 0x77, 0xa3, 0xf7, 0x2b,
- 0xa4, 0x61, 0x23, 0x59, 0xb7, 0x9e, 0xbf, 0xe8, 0x84, 0x61, 0x43, 0x59, 0x8b, 0xa8, 0x2b, 0x16, 0x83, 0x61, 0x64, 0x59, 0xa2, 0x6e, 0x9e, 0xd6, 0xa4, 0x61, 0x63, 0x59, 0x87, 0xb6, 0xea, 0x55,
- 0xa4, 0x61, 0x23, 0x51, 0xae, 0xe8, 0xaf, 0xd7, 0xa4, 0x59, 0x23, 0x51, 0x8a, 0xaa, 0xbf, 0xdf, 0x84, 0x59, 0x22, 0x49, 0x28, 0x28, 0xee, 0x75, 0x63, 0x59, 0xc2, 0x40, 0x00, 0xa8, 0xfb, 0x57,
- 0x64, 0x59, 0xc1, 0x38, 0x00, 0x8a, 0xbf, 0x7d, 0x83, 0x59, 0xa2, 0x30, 0x00, 0xaa, 0xaa, 0x57, 0xc4, 0x61, 0x82, 0x38, 0xa0, 0xaa, 0xbf, 0x57, 0x84, 0x59, 0xc2, 0x40, 0x00, 0x20, 0xea, 0xd5,
- 0x83, 0x59, 0xa1, 0x30, 0x00, 0x80, 0x7e, 0xaa, 0x83, 0x61, 0x82, 0x30, 0x00, 0xaa, 0xd5, 0xaa, 0x83, 0x61, 0xc1, 0x48, 0x2a, 0x37, 0xbf, 0xaa, 0xc4, 0x61, 0x01, 0x59, 0x0a, 0xdf, 0xff, 0xbf,
- 0x83, 0x61, 0xc2, 0x50, 0x0a, 0xa7, 0xea, 0xa0, 0x63, 0x69, 0x02, 0x49, 0x5f, 0xaa, 0x2a, 0x00, 0x82, 0x69, 0x61, 0x28, 0x7a, 0xaa, 0x00, 0x00, 0x83, 0x71, 0xa2, 0x30, 0xd5, 0xaa, 0x02, 0x08,
- 0xa3, 0x71, 0xe1, 0x50, 0xf5, 0xfb, 0xaa, 0x28, 0x83, 0x69, 0x21, 0x59, 0x5d, 0xfa, 0x02, 0x80, 0x82, 0x69, 0x01, 0x59, 0xf5, 0x79, 0xa8, 0xa2, 0x82, 0x69, 0x21, 0x59, 0x55, 0xff, 0xee, 0x2a,
- 0x63, 0x69, 0x21, 0x61, 0x55, 0xff, 0xec, 0xe8, 0x42, 0x69, 0x21, 0x61, 0x9b, 0x8a, 0xfa, 0x49, 0x63, 0x69, 0x01, 0x61, 0x2f, 0x3b, 0x2d, 0x2a, 0xe3, 0x71, 0x22, 0x61, 0x37, 0xff, 0xff, 0xae,
- 0x8a, 0x83, 0x62, 0x61, 0xfd, 0xb5, 0x35, 0x3d, 0xcd, 0x83, 0xa9, 0x5a, 0xf5, 0xbf, 0xaa, 0x00, 0xcd, 0x83, 0x49, 0x4a, 0x5e, 0xaa, 0x00, 0x00, 0xcd, 0x83, 0x28, 0x4a, 0xb5, 0x0a, 0x00, 0x00,
- 0xed, 0x83, 0x4b, 0x73, 0xb5, 0xff, 0xaa, 0x0a, 0xcd, 0x83, 0x6b, 0x73, 0x4a, 0x57, 0xfe, 0xda, 0x8c, 0x7b, 0xca, 0x62, 0x01, 0xa0, 0xb8, 0xaa, 0xac, 0x83, 0x2a, 0x6b, 0x2a, 0xff, 0x5d, 0x55,
- 0xcc, 0x83, 0x2b, 0x6b, 0xa8, 0xff, 0xff, 0x7d, 0x0d, 0x84, 0x4b, 0x73, 0x2b, 0xff, 0x55, 0x5d, 0xcd, 0x83, 0x2b, 0x63, 0xe0, 0xea, 0x7f, 0x7f, 0x8c, 0x7b, 0x0a, 0x63, 0x02, 0x2b, 0xd5, 0xff,
- 0xad, 0x7b, 0x4b, 0x73, 0x2e, 0xaa, 0xf5, 0xfd, 0x8c, 0x7b, 0x2b, 0x6b, 0x8a, 0xea, 0x6a, 0x22, 0xad, 0x7b, 0x4b, 0x6b, 0xfa, 0xf5, 0xa7, 0x28, 0xad, 0x7b, 0x4b, 0x73, 0xb5, 0xaa, 0x2a, 0xa8,
- 0xac, 0x7b, 0x4b, 0x73, 0x2e, 0xd7, 0xff, 0xff, 0xac, 0x7b, 0x4b, 0x73, 0xe8, 0x7b, 0xf5, 0xdf, 0x6b, 0x7b, 0x0a, 0x73, 0x70, 0x7a, 0xff, 0xde, 0x6b, 0x7b, 0xea, 0x6a, 0x5e, 0x77, 0x77, 0x2f,
- 0x6b, 0x7b, 0xaa, 0x62, 0x57, 0xff, 0x2a, 0x00, 0x6b, 0x7b, 0xa9, 0x62, 0xd7, 0xaa, 0x00, 0x00, 0x6b, 0x7b, 0x89, 0x5a, 0xfd, 0x00, 0xa8, 0xaa, 0x6b, 0x7b, 0xe9, 0x6a, 0x09, 0xe8, 0xa8, 0xaa,
- 0x47, 0x6a, 0xe6, 0x61, 0x8f, 0x00, 0x20, 0xde, 0x67, 0x6a, 0x06, 0x62, 0xa7, 0x7a, 0xe8, 0xf7, 0x47, 0x6a, 0x06, 0x62, 0xee, 0xa2, 0x8a, 0xfd, 0x47, 0x6a, 0xa6, 0x59, 0x22, 0x80, 0xde, 0x08,
- 0x47, 0x6a, 0xe6, 0x61, 0x0a, 0xd7, 0xdd, 0x2a, 0x67, 0x6a, 0xe5, 0x61, 0xea, 0x57, 0xff, 0xa8, 0x88, 0x6a, 0x06, 0x62, 0x55, 0xd5, 0xf7, 0x3b, 0x67, 0x6a, 0x06, 0x62, 0xff, 0xff, 0xe5, 0x22,
- 0x47, 0x6a, 0xe6, 0x61, 0xda, 0xa8, 0x2a, 0x00, 0x87, 0x6a, 0x06, 0x62, 0xaf, 0xbd, 0x7f, 0x2a, 0x87, 0x6a, 0x06, 0x5a, 0xaa, 0xfa, 0xad, 0xa2, 0x67, 0x6a, 0x06, 0x5a, 0xb8, 0x6b, 0xa2, 0xe3,
- 0xc8, 0x6a, 0x27, 0x62, 0xcd, 0xfd, 0xf5, 0x55, 0x88, 0x6a, 0x26, 0x62, 0xdb, 0xfa, 0x8a, 0xba, 0x67, 0x6a, 0x26, 0x62, 0x76, 0x6c, 0x9a, 0xab, 0x66, 0x6a, 0x27, 0x62, 0xad, 0xf9, 0x56, 0x7c,
- 0x87, 0x6a, 0x06, 0x62, 0xff, 0xb8, 0xd5, 0x62, 0x66, 0x6a, 0x07, 0x5a, 0xaa, 0xfa, 0x7f, 0xa9, 0x47, 0x6a, 0xe6, 0x59, 0x80, 0x9c, 0x82, 0xbe, 0x47, 0x6a, 0x06, 0x5a, 0xbb, 0xaa, 0xee, 0xfa,
- 0x47, 0x6a, 0x26, 0x5a, 0xfa, 0xbf, 0x8b, 0xeb, 0x46, 0x6a, 0x07, 0x62, 0x75, 0x2a, 0xfa, 0x9d, 0x87, 0x6a, 0xe5, 0x59, 0xcd, 0xee, 0xaa, 0xff, 0x67, 0x6a, 0x25, 0x62, 0x57, 0xcd, 0x7d, 0x5d,
- 0x47, 0x6a, 0x06, 0x62, 0x20, 0xa0, 0xff, 0x57, 0x66, 0x6a, 0xe5, 0x61, 0xaa, 0xae, 0x89, 0x7f, 0x47, 0x6a, 0xe5, 0x61, 0xa2, 0xea, 0xba, 0x76, 0x67, 0x72, 0x06, 0x62, 0x7e, 0xff, 0xae, 0x0e,
- 0xe8, 0x82, 0x26, 0x62, 0x7f, 0x55, 0xaf, 0x2a, 0xaa, 0x9b, 0x27, 0x62, 0x55, 0x75, 0x0a, 0xaa, 0xea, 0xab, 0x27, 0x62, 0x55, 0xfd, 0xaa, 0x82, 0xcb, 0xa3, 0x68, 0x6a, 0x55, 0x2a, 0x80, 0x02,
- 0xca, 0xa3, 0x69, 0x6a, 0x95, 0x28, 0x02, 0x02, 0xcb, 0xa3, 0x07, 0x8b, 0x8b, 0xa2, 0xa0, 0x7e, 0x0b, 0xac, 0xa7, 0x82, 0x02, 0xaa, 0xaa, 0xdd, 0x2b, 0xb4, 0xa6, 0x8a, 0x82, 0xbf, 0xfa, 0xed,
- 0x0b, 0xac, 0xe7, 0x8a, 0xa8, 0xaa, 0xdf, 0xaf, 0xeb, 0xab, 0xa6, 0x8a, 0x0f, 0x0a, 0x8b, 0xa6, 0x4b, 0xb4, 0x48, 0xa3, 0x82, 0xfa, 0xff, 0x5d, 0x0b, 0xb4, 0x47, 0x9b, 0x00, 0xaa, 0xeb, 0x7f,
- 0x0a, 0xb4, 0x64, 0x8a, 0xa0, 0xaa, 0xaa, 0x7a, 0xc9, 0xab, 0x43, 0x82, 0x00, 0xaa, 0x7a, 0x55, 0xea, 0xb3, 0x46, 0x82, 0x00, 0x2a, 0xad, 0xad, 0x6c, 0xc4, 0x69, 0xa3, 0xbf, 0xbf, 0x2d, 0x2f,
- 0x8c, 0xc4, 0xe3, 0x28, 0x58, 0x58, 0x56, 0x57, 0xe7, 0x41, 0x04, 0x29, 0x0f, 0xaf, 0xed, 0xb5, 0xa7, 0x41, 0x65, 0x39, 0x0a, 0xe0, 0xf7, 0xf2, 0xa6, 0x41, 0x45, 0x31, 0x7c, 0x2a, 0x2e, 0xae,
- 0xe6, 0x41, 0x25, 0x31, 0xf5, 0x0a, 0xef, 0xab, 0xc6, 0x41, 0x45, 0x39, 0xaf, 0xe8, 0x75, 0x56, 0x06, 0x4a, 0x45, 0x31, 0xff, 0xfd, 0xbf, 0xa1, 0xe6, 0x49, 0x04, 0x29, 0xff, 0x82, 0x62, 0x5e,
- 0x65, 0x41, 0xe3, 0x28, 0x08, 0xf7, 0xd5, 0xaf, 0xa5, 0x49, 0x04, 0x31, 0xde, 0xd5, 0x25, 0x6a, 0xa6, 0x49, 0x04, 0x29, 0xb7, 0xba, 0xf2, 0xff, 0xa6, 0x49, 0xe4, 0x30, 0x02, 0x80, 0x89, 0x89,
- 0x85, 0x49, 0x04, 0x39, 0xb7, 0x36, 0xde, 0xdc, 0x85, 0x41, 0x04, 0x31, 0x2e, 0x78, 0xde, 0xba, 0x26, 0x52, 0x03, 0x29, 0xc3, 0xa9, 0xfd, 0xd5, 0x27, 0x52, 0x44, 0x39, 0xeb, 0xab, 0xf3, 0x79,
- 0xe6, 0x51, 0x04, 0x31, 0x57, 0x58, 0x7e, 0x7f, 0xc6, 0x49, 0xe3, 0x30, 0xf5, 0xa5, 0x17, 0x55, 0xc6, 0x49, 0x04, 0x39, 0x0b, 0xed, 0xfe, 0x7f, 0x85, 0x49, 0x04, 0x39, 0xd6, 0x70, 0xff, 0xbe,
- 0xe6, 0x59, 0x24, 0x39, 0xa5, 0x29, 0xad, 0x75, 0x06, 0x52, 0xe4, 0x28, 0x2a, 0x80, 0x5f, 0xbf, 0x0a, 0x6b, 0xe3, 0x30, 0xfe, 0x7f, 0x55, 0x3f, 0x6a, 0x83, 0x25, 0x31, 0x57, 0x55, 0x2d, 0x80,
- 0xcc, 0x8b, 0x64, 0x41, 0x35, 0xa9, 0xf8, 0x75, 0x46, 0x6a, 0x63, 0x51, 0x54, 0xd6, 0x57, 0x55, 0xc4, 0x61, 0x63, 0x59, 0xff, 0x09, 0xab, 0x7b, 0xc4, 0x61, 0x83, 0x59, 0xb9, 0xa8, 0xf2, 0xaf,
- 0xc4, 0x61, 0x43, 0x51, 0xe2, 0xaa, 0x7a, 0x7a, 0xa4, 0x61, 0xe2, 0x48, 0x0a, 0x88, 0xaa, 0xdf, 0xa3, 0x61, 0xa1, 0x40, 0x00, 0x88, 0xaa, 0x5f, 0x83, 0x61, 0x81, 0x30, 0x80, 0x20, 0xaa, 0xf5,
- 0x63, 0x59, 0xc1, 0x40, 0x00, 0x00, 0xab, 0xd5, 0x63, 0x59, 0x81, 0x38, 0x00, 0x08, 0x7f, 0xff, 0x63, 0x61, 0x61, 0x28, 0xa0, 0xaa, 0xd5, 0xea, 0x63, 0x59, 0xa2, 0x38, 0x00, 0x7e, 0xd5, 0xff,
- 0x23, 0x51, 0xa1, 0x30, 0x20, 0x75, 0xaa, 0xa2, 0x03, 0x51, 0x81, 0x38, 0xa0, 0xd5, 0xaf, 0x2b, 0x03, 0x59, 0xa1, 0x30, 0x7b, 0xef, 0xea, 0x22, 0x03, 0x59, 0xa1, 0x30, 0x55, 0xaa, 0x2a, 0x00,
- 0x23, 0x59, 0x81, 0x28, 0xfd, 0x82, 0x00, 0x80, 0x43, 0x61, 0xc1, 0x48, 0xfd, 0xbf, 0x2a, 0x82, 0xa3, 0x69, 0xe2, 0x58, 0xfd, 0xaf, 0xaf, 0x0f, 0x83, 0x69, 0x02, 0x59, 0xfd, 0x2a, 0xaa, 0x2a,
- 0xa3, 0x69, 0x42, 0x59, 0xcf, 0xaa, 0xea, 0x7f, 0xa3, 0x69, 0x42, 0x61, 0xf5, 0x28, 0x25, 0xbf, 0xa3, 0x69, 0x42, 0x61, 0xfd, 0xa8, 0xb8, 0x7e, 0xc4, 0x69, 0x22, 0x59, 0xbe, 0xaa, 0x5c, 0xfb,
- 0xa3, 0x69, 0x62, 0x61, 0xa6, 0x0a, 0x8d, 0x3e, 0xa3, 0x69, 0x62, 0x61, 0xa8, 0xd8, 0x3e, 0x20, 0xa3, 0x69, 0x42, 0x59, 0xea, 0x6a, 0x7a, 0xb8, 0x83, 0x69, 0x22, 0x61, 0x0a, 0xdf, 0xbb, 0x8a,
- 0xa3, 0x69, 0x22, 0x59, 0x00, 0x2d, 0xed, 0xaf, 0xc3, 0x71, 0x62, 0x61, 0xaf, 0xaf, 0x2f, 0xaf, 0xa2, 0x71, 0x42, 0x61, 0x7e, 0xff, 0xa8, 0xea, 0xa2, 0x69, 0x43, 0x61, 0x5f, 0x6f, 0x8a, 0x6a,
- 0x83, 0x69, 0x42, 0x61, 0xe6, 0x74, 0xac, 0x1c, 0xc4, 0x69, 0x42, 0x61, 0xd7, 0xf7, 0xbd, 0x0f, 0x25, 0x72, 0x42, 0x69, 0x55, 0xbf, 0xaf, 0x0a, 0x49, 0x9b, 0x82, 0x69, 0xfd, 0xab, 0xbf, 0x2b,
- 0x2c, 0xac, 0x24, 0x7a, 0x3d, 0xbd, 0xad, 0xab, 0xac, 0x83, 0x0b, 0x63, 0xa0, 0xe8, 0x7f, 0xfc, 0xad, 0x7b, 0x0b, 0x6b, 0xa8, 0xef, 0xfd, 0xbf, 0xad, 0x7b, 0x2b, 0x6b, 0x2b, 0xbd, 0x8f, 0xe8,
- 0xcd, 0x7b, 0x4c, 0x73, 0xa8, 0xff, 0x3d, 0xf5, 0x0e, 0x8c, 0x6b, 0x73, 0xff, 0x7d, 0x0f, 0xff, 0x0d, 0x8c, 0x4b, 0x73, 0x77, 0xff, 0xf8, 0x7d, 0x8c, 0x7b, 0x4b, 0x6b, 0x7d, 0x7b, 0xf0, 0xa2,
- 0x8c, 0x7b, 0x4b, 0x6b, 0xf9, 0xad, 0xbf, 0x2a, 0xed, 0x83, 0x4c, 0x73, 0x5d, 0xf5, 0xaf, 0x2f, 0xcd, 0x83, 0x6b, 0x73, 0x55, 0xaf, 0xea, 0xa0, 0xcc, 0x83, 0x4b, 0x73, 0xf7, 0xaa, 0xaa, 0xa8,
- 0xcd, 0x83, 0x8c, 0x73, 0xf5, 0xf7, 0x7e, 0xa3, 0xac, 0x7b, 0x4b, 0x73, 0x00, 0x8a, 0xeb, 0x5c, 0xac, 0x7b, 0x2b, 0x73, 0xa2, 0xfc, 0xff, 0x5f, 0x8c, 0x73, 0x0b, 0x6b, 0xa8, 0xdf, 0xaa, 0xbf,
- 0xed, 0x83, 0x4b, 0x73, 0xd5, 0x55, 0xab, 0xa2, 0xec, 0x83, 0x4b, 0x6b, 0x75, 0x57, 0xa2, 0xff, 0x8c, 0x7b, 0xca, 0x62, 0xaa, 0x27, 0x82, 0x00, 0xcc, 0x83, 0x2b, 0x73, 0xf5, 0xe2, 0x57, 0xf7,
- 0x8c, 0x7b, 0xea, 0x72, 0x00, 0xfe, 0x5d, 0xec, 0x4b, 0x7b, 0x89, 0x62, 0x20, 0x00, 0x27, 0xaa, 0x6b, 0x7b, 0x2a, 0x73, 0x8d, 0x97, 0xf5, 0x5d, 0x6b, 0x7b, 0xe9, 0x62, 0x3b, 0x0a, 0xa2, 0x5f,
- 0x68, 0x6a, 0x06, 0x62, 0xdf, 0x80, 0x0a, 0x2a, 0x67, 0x6a, 0x26, 0x62, 0x4f, 0x37, 0x02, 0x8b, 0x68, 0x6a, 0x27, 0x62, 0xb5, 0x2e, 0x80, 0xab, 0x87, 0x6a, 0x47, 0x62, 0xfd, 0xb2, 0xef, 0xf6,
- 0x68, 0x6a, 0x26, 0x62, 0xf7, 0x3e, 0x78, 0xb2, 0x68, 0x6a, 0x26, 0x62, 0x2e, 0xf0, 0x7b, 0x5e, 0x68, 0x6a, 0x06, 0x62, 0xa0, 0xe0, 0xbe, 0x7a, 0x88, 0x6a, 0x06, 0x62, 0x5f, 0xf2, 0x5f, 0xb5,
- 0x68, 0x6a, 0x27, 0x62, 0xa5, 0xeb, 0x7b, 0xe5, 0x67, 0x6a, 0xe6, 0x59, 0x7e, 0xa2, 0xaf, 0xba, 0x67, 0x6a, 0x06, 0x62, 0xd5, 0x82, 0xff, 0xaa, 0x68, 0x6a, 0x27, 0x62, 0xa5, 0x49, 0x57, 0xda,
- 0x68, 0x6a, 0xe6, 0x59, 0xaa, 0xa8, 0xaa, 0xfe, 0x47, 0x6a, 0xe6, 0x59, 0xa8, 0xa0, 0xaa, 0x75, 0x47, 0x62, 0xc6, 0x51, 0x80, 0xba, 0xaa, 0xf7, 0x27, 0x62, 0xa6, 0x49, 0x00, 0x20, 0xab, 0x7f,
- 0x47, 0x6a, 0xa5, 0x51, 0xa2, 0xba, 0xfe, 0x55, 0x27, 0x62, 0x03, 0x41, 0x00, 0x00, 0xea, 0x5f, 0x06, 0x62, 0x03, 0x41, 0x00, 0xa2, 0xba, 0xd7, 0x26, 0x62, 0x03, 0x41, 0x00, 0x2a, 0xfa, 0x55,
- 0x46, 0x6a, 0x03, 0x39, 0xaa, 0x8a, 0x55, 0x55, 0x05, 0x62, 0xe2, 0x38, 0x00, 0xa0, 0x75, 0x5d, 0xc4, 0x59, 0xa2, 0x30, 0xa0, 0x5f, 0x55, 0xd5, 0x07, 0x5a, 0x03, 0x39, 0x7b, 0x57, 0x5d, 0xac,
- 0xa7, 0x82, 0xc3, 0x38, 0xfb, 0xfd, 0xaf, 0x0b, 0xe8, 0x8a, 0x43, 0x51, 0x75, 0xf7, 0xaa, 0x00, 0x08, 0x8b, 0x64, 0x51, 0xf5, 0x0a, 0x9a, 0x08, 0x28, 0x8b, 0x05, 0x72, 0xab, 0xaa, 0x0a, 0x9f,
- 0xaa, 0xa3, 0xc7, 0x82, 0xbf, 0x95, 0x2f, 0xff, 0x89, 0x9b, 0xa6, 0x82, 0x2f, 0x2a, 0xa5, 0x8b, 0x89, 0xa3, 0x28, 0x93, 0xf8, 0x1a, 0xf5, 0xe5, 0xa9, 0xa3, 0x48, 0x93, 0xbd, 0xf8, 0xd5, 0x77,
- 0x89, 0xa3, 0xe7, 0x8a, 0xa0, 0x6a, 0xa8, 0x0b, 0xa9, 0x9b, 0xc8, 0x8a, 0xff, 0xad, 0x0a, 0x2e, 0x89, 0x9b, 0x28, 0x8b, 0xf6, 0xba, 0x7a, 0xa1, 0x69, 0x9b, 0x07, 0x93, 0xb2, 0xfc, 0xa9, 0x74,
- 0xaa, 0xa3, 0xe6, 0x92, 0xaa, 0xab, 0xe8, 0x55, 0xa9, 0xa3, 0xc4, 0x71, 0x02, 0xba, 0x2a, 0xd7, 0x68, 0xa3, 0xa4, 0x69, 0x20, 0x28, 0xa8, 0x57, 0x88, 0xa3, 0xc4, 0x69, 0x80, 0xa0, 0xaa, 0x75,
- 0xe7, 0x92, 0xc3, 0x69, 0x77, 0xa8, 0x0a, 0x0a, 0x07, 0x93, 0xc5, 0x71, 0xd5, 0xab, 0xaa, 0x08, 0x0b, 0xb4, 0x86, 0x82, 0xad, 0xab, 0x2d, 0x2b, 0xad, 0xc4, 0x89, 0xa3, 0x3d, 0x2f, 0x2b, 0x4a,
- 0x63, 0x49, 0x04, 0x29, 0x5c, 0xe8, 0x5e, 0xda, 0x86, 0x39, 0xe4, 0x28, 0x0b, 0x7f, 0x75, 0xfa, 0x44, 0x31, 0xc3, 0x20, 0x00, 0xff, 0xf7, 0xa0, 0x24, 0x39, 0xe3, 0x28, 0xf2, 0x5f, 0x76, 0x5a,
- 0x45, 0x39, 0xc4, 0x20, 0x0a, 0x5f, 0xfd, 0x7d, 0x04, 0x29, 0xc3, 0x20, 0x3c, 0xbd, 0xd5, 0x9f, 0x85, 0x49, 0xc3, 0x20, 0x8b, 0x2d, 0xf5, 0xf5, 0x25, 0x39, 0xe3, 0x28, 0xd7, 0xfc, 0xf9, 0xe0,
- 0xa6, 0x51, 0x04, 0x31, 0xed, 0xb9, 0xbf, 0xb8, 0x85, 0x49, 0x03, 0x39, 0x2e, 0x88, 0x68, 0x5e, 0x85, 0x41, 0xc3, 0x28, 0xfc, 0xfe, 0xf7, 0xf7, 0xe6, 0x49, 0xc3, 0x28, 0x0d, 0x3f, 0xfd, 0xd5,
- 0xa6, 0x49, 0x04, 0x29, 0xf8, 0xe8, 0xeb, 0xb5, 0x86, 0x59, 0x65, 0x31, 0xa2, 0xbd, 0xbd, 0xfd, 0xa5, 0x49, 0x04, 0x31, 0x5a, 0x7c, 0x78, 0x60, 0xa6, 0x49, 0x04, 0x31, 0x35, 0xa7, 0xed, 0xad,
- 0x85, 0x49, 0x24, 0x39, 0x70, 0x5e, 0x7f, 0x7f, 0x25, 0x39, 0xc3, 0x20, 0x7f, 0xec, 0xde, 0xbe, 0x07, 0x52, 0xe3, 0x28, 0xfd, 0xfd, 0xfd, 0x3d, 0xa9, 0x62, 0x24, 0x39, 0x5f, 0x55, 0x7f, 0x2c,
- 0x0b, 0x73, 0xe4, 0x28, 0xf5, 0xe5, 0xff, 0x2a, 0x2c, 0x9c, 0x86, 0x41, 0x55, 0xab, 0x8f, 0xae, 0x4d, 0x9c, 0x84, 0x41, 0x2a, 0xcb, 0x7e, 0x57, 0xea, 0x9b, 0x24, 0x31, 0x78, 0xdd, 0x5f, 0x55,
- 0x6b, 0x83, 0x65, 0x39, 0x5f, 0xd7, 0xff, 0x0b, 0xa9, 0x62, 0x63, 0x49, 0xbf, 0xcb, 0xd6, 0x78, 0x43, 0x61, 0x02, 0x41, 0x2f, 0xf7, 0xa2, 0x08, 0x83, 0x61, 0x02, 0x51, 0xa0, 0xfd, 0xad, 0xaa,
- 0x63, 0x61, 0xe1, 0x48, 0x66, 0x8a, 0x00, 0x00, 0x83, 0x69, 0xc2, 0x48, 0x55, 0xbf, 0x2a, 0xaa, 0x63, 0x61, 0xe2, 0x50, 0x55, 0xaa, 0x80, 0x80, 0x63, 0x61, 0xe2, 0x50, 0xfd, 0xaa, 0xb2, 0x82,
- 0x43, 0x59, 0xe1, 0x50, 0x7b, 0xa2, 0x00, 0x28, 0x43, 0x61, 0x01, 0x51, 0x55, 0xea, 0xea, 0xf8, 0x23, 0x59, 0xc2, 0x50, 0x9e, 0xa8, 0x0b, 0x20, 0x43, 0x59, 0xe1, 0x50, 0xff, 0xbe, 0x20, 0x8a,
- 0x23, 0x61, 0xe1, 0x50, 0xeb, 0xaa, 0xa0, 0xf8, 0x23, 0x59, 0xc1, 0x50, 0xba, 0xab, 0xea, 0x72, 0xe2, 0x58, 0x23, 0x51, 0xfa, 0xba, 0x28, 0xfe, 0x23, 0x59, 0x02, 0x51, 0x8a, 0x01, 0x40, 0x55,
- 0x43, 0x59, 0xe1, 0x50, 0xba, 0xfb, 0x7f, 0x7b, 0x23, 0x59, 0xe1, 0x50, 0xf7, 0x8f, 0xbf, 0xbb, 0x43, 0x59, 0xe1, 0x48, 0xa3, 0xff, 0xbd, 0xbb, 0x43, 0x61, 0x02, 0x51, 0xaf, 0x7d, 0x75, 0x55,
- 0x43, 0x61, 0x01, 0x51, 0x2e, 0xaf, 0xf5, 0x7f, 0x63, 0x69, 0x02, 0x51, 0x2a, 0xad, 0xd7, 0x55, 0x63, 0x69, 0xe1, 0x50, 0xa8, 0xfe, 0x5f, 0xfd, 0x83, 0x69, 0xe2, 0x50, 0x80, 0xff, 0x77, 0x55,
- 0xe3, 0x71, 0x42, 0x59, 0xf3, 0xa9, 0xa9, 0xad, 0xa3, 0x71, 0x62, 0x61, 0xbb, 0xe8, 0xd8, 0xe6, 0xa3, 0x69, 0x42, 0x59, 0xe2, 0xfa, 0x7a, 0xee, 0x83, 0x61, 0x22, 0x59, 0xae, 0x7f, 0x0b, 0xa8,
- 0xa3, 0x69, 0x02, 0x59, 0xaf, 0x8d, 0xbf, 0x0b, 0xc3, 0x71, 0x62, 0x61, 0x3f, 0xe7, 0xff, 0x7f, 0xc3, 0x69, 0x42, 0x61, 0xbe, 0xf8, 0xea, 0xdd, 0xa3, 0x69, 0x42, 0x61, 0xaf, 0xea, 0x3d, 0xee,
- 0xc4, 0x69, 0x62, 0x61, 0xb9, 0x5d, 0xf5, 0x3d, 0x85, 0x82, 0x83, 0x61, 0xfd, 0xaf, 0x0b, 0x0a, 0x89, 0x9b, 0x25, 0x7a, 0xbd, 0xbf, 0x29, 0x2a, 0xea, 0xab, 0xc7, 0x8a, 0xbd, 0xaf, 0xab, 0x2a,
- 0x8d, 0xb4, 0x69, 0xa3, 0xb5, 0x2f, 0x2b, 0x2f, 0xed, 0x8b, 0x4b, 0x73, 0xb7, 0xe8, 0x7f, 0xfa, 0xcd, 0x83, 0x4b, 0x73, 0xa8, 0xab, 0xb5, 0x02, 0xee, 0x8b, 0x6c, 0x73, 0x7f, 0xbf, 0xaa, 0x0a,
- 0xcd, 0x83, 0x6c, 0x7b, 0xbf, 0xb5, 0x27, 0xac, 0xcd, 0x83, 0x8c, 0x7b, 0x76, 0x0a, 0x00, 0x0a, 0xed, 0x83, 0x6c, 0x7b, 0xd5, 0xf7, 0x82, 0xbf, 0xcd, 0x83, 0x4b, 0x73, 0xdf, 0xfe, 0xaa, 0xca,
- 0xad, 0x83, 0x2a, 0x73, 0xd7, 0x7f, 0xa0, 0x5f, 0x8c, 0x7b, 0x0b, 0x6b, 0x2a, 0xf5, 0xbe, 0x2f, 0xac, 0x83, 0x0a, 0x6b, 0x80, 0x25, 0x0a, 0xea, 0xed, 0x83, 0x4b, 0x73, 0xaa, 0x02, 0xa2, 0xf5,
- 0x4e, 0x9c, 0x0a, 0x6b, 0xff, 0xca, 0x57, 0xff, 0xac, 0x7b, 0x0a, 0x73, 0x2a, 0x7e, 0x55, 0x5f, 0xec, 0x83, 0xca, 0x62, 0xe8, 0xff, 0xd7, 0x57, 0x6b, 0x73, 0x0a, 0x6b, 0x7a, 0x7f, 0x80, 0xcd,
- 0xac, 0x7b, 0xea, 0x62, 0x5f, 0x5f, 0x0b, 0xbf, 0xcd, 0x83, 0xca, 0x62, 0xf5, 0xad, 0x00, 0xaa, 0xcd, 0x83, 0x2b, 0x6b, 0x75, 0xaa, 0x80, 0xfa, 0xac, 0x7b, 0x2b, 0x73, 0xd5, 0x78, 0xc0, 0x23,
- 0xac, 0x7b, 0x4b, 0x73, 0x57, 0x97, 0xa8, 0x7a, 0x8c, 0x7b, 0x0a, 0x73, 0x70, 0xf8, 0x68, 0xeb, 0x6b, 0x73, 0xea, 0x6a, 0x27, 0xfd, 0xab, 0xfa, 0x6c, 0x7b, 0xea, 0x62, 0x7e, 0x8a, 0x22, 0x20,
- 0x68, 0x6a, 0x26, 0x62, 0x7a, 0x3b, 0xf5, 0xdb, 0x68, 0x6a, 0x06, 0x5a, 0xa2, 0x0a, 0xea, 0xdf, 0x67, 0x6a, 0x06, 0x62, 0x0a, 0xed, 0xbf, 0xdf, 0x88, 0x6a, 0x06, 0x62, 0xa2, 0xfb, 0xeb, 0x57,
- 0x47, 0x6a, 0xe6, 0x59, 0x68, 0x88, 0xff, 0xab, 0x88, 0x62, 0xe6, 0x59, 0x7d, 0xaa, 0x2d, 0xdf, 0x88, 0x6a, 0xc5, 0x59, 0xab, 0xaa, 0x02, 0xfd, 0xe8, 0x7a, 0xe6, 0x59, 0xd7, 0xf5, 0x00, 0xdf,
- 0xc9, 0x7a, 0xe5, 0x51, 0xff, 0x2b, 0x7a, 0xf7, 0x4a, 0x8b, 0xc5, 0x51, 0xff, 0x02, 0x5d, 0x5f, 0xaa, 0x93, 0xa6, 0x51, 0xbf, 0x02, 0x57, 0x55, 0x08, 0x7b, 0xc6, 0x59, 0xf8, 0x7c, 0x55, 0xfd,
- 0x27, 0x5a, 0x85, 0x49, 0xa0, 0xba, 0xae, 0x7a, 0x27, 0x5a, 0xa6, 0x49, 0xee, 0x9e, 0x0a, 0xdd, 0x06, 0x5a, 0x65, 0x39, 0x82, 0xa8, 0x88, 0x5f, 0xe5, 0x51, 0xe3, 0x30, 0xaa, 0x78, 0x7a, 0xff,
- 0x64, 0x51, 0xc2, 0x28, 0xf8, 0x55, 0xf5, 0xea, 0x24, 0x49, 0xc2, 0x30, 0x8f, 0x2d, 0x02, 0x00, 0x44, 0x51, 0x03, 0x49, 0xef, 0x98, 0xca, 0x8f, 0x64, 0x51, 0x03, 0x49, 0x7f, 0x6f, 0x5f, 0xaf,
- 0x44, 0x51, 0xe3, 0x40, 0x6f, 0xe2, 0xfe, 0x23, 0xc5, 0x59, 0xe2, 0x40, 0x55, 0xff, 0x2f, 0xf7, 0x05, 0x6a, 0xc3, 0x40, 0x55, 0xbf, 0x00, 0xd5, 0xc8, 0x82, 0x23, 0x49, 0xb6, 0xbe, 0xa2, 0xd7,
- 0x07, 0x93, 0x02, 0x49, 0x8a, 0x02, 0xe0, 0x55, 0x27, 0x93, 0xe2, 0x48, 0xaa, 0x00, 0xff, 0xd5, 0x48, 0x93, 0x42, 0x59, 0xaa, 0x02, 0x55, 0x57, 0x69, 0x9b, 0x42, 0x59, 0xaa, 0x00, 0x69, 0xd9,
- 0x48, 0x93, 0xc5, 0x61, 0x00, 0x00, 0x2d, 0x29, 0xa9, 0xa3, 0xa7, 0x82, 0xaa, 0xa0, 0xda, 0xde, 0xa9, 0x9b, 0xe7, 0x8a, 0xa0, 0xf7, 0xd5, 0xad, 0x89, 0x9b, 0x28, 0x93, 0x2e, 0xb2, 0x7d, 0xff,
- 0x89, 0xa3, 0xa5, 0x8a, 0x80, 0xaa, 0xfe, 0x7a, 0x88, 0xa3, 0x62, 0x59, 0xa0, 0xa8, 0x7a, 0x57, 0xe5, 0x8a, 0x43, 0x51, 0xa8, 0x5e, 0x57, 0x55, 0xc4, 0x69, 0x23, 0x49, 0x80, 0xfe, 0x7f, 0xf5,
- 0x04, 0x7a, 0x23, 0x49, 0x82, 0x7d, 0x55, 0xf5, 0x85, 0x7a, 0x03, 0x49, 0x2f, 0x57, 0x55, 0x57, 0x45, 0x72, 0x02, 0x49, 0x28, 0x2d, 0x55, 0x55, 0x86, 0x7a, 0x22, 0x51, 0x82, 0xe0, 0xfd, 0x55,
- 0xa6, 0x82, 0x43, 0x59, 0xa9, 0x2b, 0x3a, 0xd5, 0x89, 0xa3, 0x25, 0x72, 0xad, 0x2b, 0x2b, 0xab, 0x2b, 0xb4, 0x89, 0xa3, 0x2d, 0x8b, 0xee, 0xe5, 0xee, 0xd4, 0x63, 0x49, 0xc2, 0x4a, 0x72, 0x72,
- 0xc6, 0x49, 0x24, 0x29, 0xaf, 0xe8, 0x8a, 0x78, 0x85, 0x41, 0xc3, 0x20, 0xba, 0xa0, 0x78, 0xd7, 0x85, 0x39, 0xc3, 0x20, 0x7c, 0xbf, 0xff, 0xff, 0x86, 0x31, 0xc3, 0x28, 0x5f, 0x5f, 0xfd, 0x0a,
- 0xc6, 0x39, 0xc4, 0x20, 0x55, 0x75, 0xab, 0xa8, 0x45, 0x29, 0xc3, 0x20, 0xf5, 0xd5, 0xef, 0x2a, 0x45, 0x31, 0xc3, 0x20, 0xf5, 0xa2, 0xab, 0xaa, 0x25, 0x39, 0xe3, 0x28, 0xaf, 0xee, 0xad, 0xab,
- 0x44, 0x39, 0xe3, 0x28, 0x2f, 0xef, 0x6a, 0x6b, 0x44, 0x39, 0xc3, 0x28, 0xe8, 0xab, 0xcf, 0xe9, 0x04, 0x31, 0xc3, 0x20, 0x8e, 0x04, 0xb6, 0xa7, 0x24, 0x31, 0xc3, 0x20, 0xb4, 0xae, 0xb7, 0xcf,
- 0x24, 0x31, 0xc3, 0x20, 0x3f, 0x76, 0x5d, 0x75, 0xa6, 0x41, 0xc3, 0x18, 0x2a, 0x2b, 0x2f, 0x35, 0xc6, 0x49, 0x04, 0x31, 0x57, 0xfc, 0xf0, 0x2e, 0xc6, 0x49, 0xe3, 0x28, 0x8d, 0xbf, 0xff, 0xa8,
- 0x48, 0x5a, 0x04, 0x31, 0x57, 0x7f, 0xeb, 0x25, 0xe6, 0x51, 0x05, 0x31, 0xf5, 0xbf, 0x80, 0xf0, 0x49, 0x52, 0x24, 0x31, 0xff, 0xfb, 0xf7, 0x3f, 0x2d, 0x94, 0x24, 0x31, 0x55, 0x55, 0xdf, 0x82,
- 0xec, 0x8b, 0x44, 0x31, 0xff, 0xd5, 0x8b, 0xbe, 0x4a, 0x73, 0x24, 0x39, 0x7d, 0xf2, 0xbf, 0xa8, 0xed, 0x8b, 0x45, 0x31, 0x55, 0xd7, 0x8a, 0xdf, 0x8a, 0x83, 0x66, 0x39, 0xbd, 0x0a, 0xf7, 0x2e,
- 0x2d, 0x9c, 0x07, 0x52, 0x6b, 0xdf, 0x2b, 0x02, 0xe8, 0x7a, 0x22, 0x59, 0xfe, 0xfe, 0x7c, 0x7c, 0xa3, 0x61, 0x22, 0x59, 0x9f, 0x27, 0xae, 0xa3, 0xa3, 0x69, 0x42, 0x61, 0xff, 0xbe, 0xe7, 0xfd,
- 0x83, 0x61, 0x42, 0x59, 0xba, 0xf2, 0xfe, 0xaa, 0x83, 0x61, 0x02, 0x59, 0x6a, 0x22, 0x0a, 0xb8, 0x44, 0x61, 0x42, 0x59, 0x80, 0xd8, 0xd6, 0xbd, 0x84, 0x61, 0x02, 0x59, 0xdf, 0xea, 0xe0, 0xa2,
- 0x83, 0x61, 0x02, 0x59, 0xed, 0xff, 0xff, 0x28, 0x63, 0x59, 0x22, 0x59, 0x59, 0xb5, 0xc8, 0xde, 0x43, 0x61, 0x02, 0x51, 0x57, 0xee, 0xfb, 0x53, 0x23, 0x59, 0xe2, 0x50, 0x3e, 0xfe, 0xa0, 0xec,
- 0x43, 0x59, 0x02, 0x51, 0x5e, 0x5b, 0x28, 0xff, 0x63, 0x59, 0xe2, 0x50, 0x5f, 0xcf, 0x56, 0xde, 0x23, 0x59, 0xe2, 0x50, 0xaf, 0x88, 0xfa, 0xb2, 0x23, 0x59, 0xe1, 0x50, 0xfa, 0xe9, 0xeb, 0xe6,
- 0x23, 0x59, 0xe1, 0x48, 0xbe, 0x8a, 0xc3, 0xe9, 0xe1, 0x58, 0x23, 0x51, 0xf7, 0xff, 0xdd, 0x27, 0x43, 0x61, 0xe2, 0x50, 0xdf, 0xed, 0xff, 0x02, 0x23, 0x59, 0xe1, 0x50, 0x0e, 0xab, 0xae, 0x08,
- 0x23, 0x59, 0x01, 0x51, 0x7e, 0x9c, 0xbe, 0xa8, 0x63, 0x69, 0xe2, 0x48, 0x5f, 0xaf, 0xff, 0x2f, 0x83, 0x61, 0x02, 0x51, 0xd7, 0xf7, 0x55, 0x8b, 0xc3, 0x69, 0xe2, 0x50, 0xd7, 0x2d, 0x8b, 0x82,
- 0xc3, 0x69, 0x83, 0x69, 0x7e, 0xf2, 0xbb, 0xed, 0xe4, 0x71, 0xa3, 0x69, 0x7d, 0x7c, 0xaa, 0xb5, 0xc4, 0x69, 0x62, 0x61, 0xd7, 0x00, 0xa0, 0xef, 0xa4, 0x69, 0x62, 0x61, 0x2a, 0x20, 0x6a, 0xdf,
- 0xa4, 0x69, 0x62, 0x61, 0x8b, 0xa2, 0x7a, 0x7a, 0xa4, 0x69, 0x42, 0x61, 0xe0, 0xbf, 0x6b, 0xea, 0xa3, 0x69, 0x43, 0x59, 0xfe, 0xab, 0xb5, 0xff, 0x82, 0x69, 0x43, 0x61, 0xa2, 0x2c, 0xfb, 0xf7,
- 0x45, 0x72, 0x62, 0x61, 0xbf, 0xaf, 0x75, 0x2b, 0x08, 0x93, 0xe4, 0x69, 0x2b, 0x09, 0x09, 0xab, 0xea, 0xab, 0x07, 0x93, 0x35, 0x2d, 0x0d, 0x2b, 0x0b, 0xb4, 0xaa, 0xa3, 0xb5, 0xaa, 0xca, 0xca,
- 0x6c, 0xbc, 0x29, 0x8b, 0xea, 0xca, 0x6e, 0xca, 0xac, 0x83, 0x2b, 0x73, 0xaa, 0xe0, 0x8a, 0x7f, 0xac, 0x83, 0x0a, 0x6b, 0x0b, 0xaa, 0xbe, 0x77, 0xcc, 0x8b, 0x2b, 0x73, 0x80, 0xff, 0x75, 0x75,
- 0x8b, 0x7b, 0x0a, 0x73, 0xa0, 0xff, 0x5f, 0x0b, 0xac, 0x7b, 0xea, 0x6a, 0xaa, 0xd5, 0x75, 0xa0, 0xac, 0x7b, 0x2a, 0x73, 0xaa, 0x5d, 0x0a, 0xaa, 0xac, 0x7b, 0x2b, 0x73, 0x7c, 0xad, 0xa8, 0xf0,
- 0xac, 0x7b, 0x4b, 0x73, 0x55, 0x2a, 0x02, 0x57, 0xac, 0x7b, 0x0a, 0x6b, 0x2a, 0x00, 0xfa, 0x7f, 0xac, 0x7b, 0x2b, 0x6b, 0xd8, 0x02, 0xbb, 0xff, 0x8c, 0x7b, 0x4a, 0x73, 0x5e, 0xbe, 0x02, 0xd5,
- 0x8c, 0x7b, 0x0a, 0x6b, 0x77, 0x78, 0xea, 0x20, 0x8b, 0x7b, 0xaa, 0x5a, 0xaa, 0x5f, 0x7e, 0xa8, 0x2b, 0x73, 0x49, 0x52, 0xaa, 0x7b, 0xff, 0xe0, 0x8b, 0x7b, 0x69, 0x5a, 0xbf, 0xfd, 0xb5, 0x0f,
- 0x6c, 0x83, 0xea, 0x6a, 0xbd, 0xad, 0xfe, 0x80, 0xed, 0x8b, 0xe9, 0x72, 0xe3, 0xfe, 0xbd, 0xaf, 0xed, 0x83, 0x2b, 0x73, 0xfd, 0xe2, 0xfe, 0xbf, 0xac, 0x83, 0xeb, 0x6a, 0xbe, 0xab, 0xa2, 0x78,
- 0xab, 0x83, 0xe9, 0x62, 0xbe, 0x70, 0xd5, 0xad, 0x8b, 0x7b, 0xc9, 0x62, 0xe8, 0x85, 0xab, 0x82, 0x8b, 0x83, 0x0a, 0x6b, 0xf7, 0xfb, 0xaa, 0xe0, 0x6b, 0x7b, 0x0a, 0x6b, 0xab, 0xff, 0xea, 0x58,
- 0xeb, 0x7a, 0x06, 0x5a, 0x5d, 0x7f, 0x75, 0x82, 0xa9, 0x72, 0x07, 0x5a, 0xff, 0x5d, 0xef, 0x00, 0xa8, 0x6a, 0xc6, 0x59, 0xaf, 0xfe, 0x7b, 0x2e, 0x88, 0x6a, 0xe6, 0x59, 0x5f, 0xff, 0xab, 0x00,
- 0x0a, 0x73, 0xe6, 0x59, 0x55, 0xf5, 0xab, 0x0a, 0x69, 0x8b, 0xe7, 0x59, 0x55, 0xfd, 0xaa, 0xe2, 0x88, 0x6a, 0x65, 0x49, 0xbe, 0xea, 0x78, 0x7a, 0x67, 0x5a, 0x66, 0x41, 0x8a, 0xfb, 0xfd, 0x8b,
- 0x27, 0x62, 0xc6, 0x51, 0x7c, 0x55, 0x55, 0x55, 0xe7, 0x59, 0xa5, 0x49, 0x28, 0x0d, 0x8f, 0x77, 0x07, 0x5a, 0x85, 0x49, 0xee, 0xf8, 0x5e, 0x7f, 0xc6, 0x51, 0x85, 0x49, 0xaa, 0x96, 0xf7, 0xf6,
- 0xc6, 0x51, 0x85, 0x41, 0xaa, 0xfa, 0x7e, 0xbb, 0xc6, 0x49, 0x65, 0x39, 0x8a, 0xfb, 0xf2, 0x7a, 0xa6, 0x39, 0x04, 0x29, 0xe8, 0xfe, 0xf7, 0xf7, 0xc6, 0x49, 0x04, 0x31, 0xff, 0x2b, 0x6b, 0x2f,
- 0xc6, 0x51, 0x24, 0x41, 0x7f, 0x28, 0x0b, 0x94, 0xa5, 0x51, 0x43, 0x49, 0x79, 0xa0, 0xd6, 0xbf, 0x85, 0x59, 0x43, 0x49, 0xff, 0xea, 0xca, 0xfe, 0x84, 0x51, 0x23, 0x49, 0x8b, 0xff, 0x7e, 0xee,
- 0x23, 0x49, 0xc2, 0x40, 0xfa, 0x6f, 0x5f, 0x70, 0x03, 0x41, 0xa2, 0x30, 0xaa, 0xb6, 0xf7, 0xa7, 0x8b, 0x6a, 0xc2, 0x38, 0xd5, 0xd5, 0xd5, 0x35, 0xae, 0x83, 0x24, 0x51, 0xd7, 0x97, 0xbf, 0x22,
- 0x06, 0x6a, 0xe2, 0x48, 0xd6, 0xac, 0xb6, 0xb4, 0x45, 0x72, 0x43, 0x59, 0xfd, 0x02, 0xaa, 0xee, 0x86, 0x82, 0x84, 0x59, 0xf5, 0x0a, 0xaa, 0xad, 0xc7, 0x8a, 0x05, 0x6a, 0x09, 0x2f, 0x26, 0xae,
- 0xeb, 0xab, 0x85, 0x7a, 0xfd, 0xbd, 0xfd, 0xf3, 0x69, 0x9b, 0xa6, 0x82, 0xbf, 0xb7, 0x8e, 0x2a, 0xca, 0xa3, 0xc3, 0x69, 0xaa, 0xaa, 0x0a, 0x72, 0x89, 0xa3, 0x64, 0x59, 0xa0, 0x80, 0x78, 0x55,
- 0x46, 0x93, 0x43, 0x49, 0xe0, 0x7e, 0x55, 0x55, 0x84, 0x59, 0x43, 0x49, 0xea, 0xfc, 0xd7, 0xff, 0x64, 0x51, 0x23, 0x49, 0xeb, 0x5e, 0x6b, 0x5a, 0x64, 0x59, 0x03, 0x51, 0xf7, 0xae, 0x2f, 0x22,
- 0x84, 0x59, 0x23, 0x51, 0xaf, 0x8d, 0xac, 0x8e, 0x84, 0x59, 0x03, 0x51, 0x7e, 0x60, 0xea, 0x00, 0x64, 0x59, 0x22, 0x51, 0xdd, 0xbd, 0xd5, 0x3a, 0x43, 0x51, 0x02, 0x51, 0x8a, 0x0b, 0xab, 0x78,
- 0x85, 0x7a, 0xc2, 0x40, 0x3f, 0xff, 0xdf, 0x5d, 0x88, 0x9b, 0xc1, 0x40, 0x00, 0xff, 0x55, 0x55, 0xcd, 0xcc, 0xa1, 0x40, 0xaa, 0x22, 0x35, 0xd5, 0xcd, 0xd4, 0x85, 0x41, 0x58, 0x56, 0x57, 0x55,
- 0xe7, 0x49, 0x05, 0x31, 0x7a, 0xaa, 0x0b, 0xa8, 0xa6, 0x41, 0xc4, 0x28, 0xf7, 0xa8, 0x00, 0x00, 0xc6, 0x49, 0x65, 0x31, 0xdf, 0x36, 0xb6, 0x0f, 0xc6, 0x49, 0x44, 0x31, 0xdb, 0x61, 0x63, 0x5f,
- 0xc6, 0x41, 0x45, 0x31, 0x77, 0xdd, 0x5f, 0x02, 0xa6, 0x41, 0xe4, 0x20, 0xbf, 0xb7, 0x8b, 0xaa, 0xc6, 0x41, 0x04, 0x31, 0xa5, 0xc3, 0x5f, 0x75, 0x44, 0x31, 0xc3, 0x28, 0xa8, 0xfe, 0x7b, 0xfe,
- 0x24, 0x31, 0xc3, 0x28, 0xb0, 0xb2, 0x93, 0xef, 0x45, 0x31, 0xc3, 0x28, 0x63, 0xb2, 0xff, 0xfa, 0xc7, 0x41, 0xc3, 0x20, 0x55, 0xd7, 0xb5, 0x2d, 0x07, 0x4a, 0xc4, 0x28, 0x55, 0xff, 0x7a, 0x00,
- 0xe8, 0x49, 0xe4, 0x28, 0x55, 0x57, 0x57, 0xf8, 0x86, 0x41, 0xe4, 0x20, 0xf5, 0xf5, 0x8b, 0x2b, 0xe8, 0x51, 0x24, 0x29, 0x3f, 0xfd, 0xff, 0xa2, 0x0a, 0x73, 0x45, 0x31, 0x8b, 0xd5, 0xb5, 0x7f,
- 0x6c, 0x7b, 0x65, 0x39, 0x7f, 0x2f, 0x5f, 0x2d, 0x8b, 0x83, 0x66, 0x39, 0xaf, 0x08, 0xad, 0x0f, 0x0d, 0x94, 0xa6, 0x49, 0x82, 0xb7, 0x8a, 0xd7, 0x2c, 0x94, 0x86, 0x41, 0xb5, 0xe2, 0xf7, 0x0a,
- 0xed, 0x8b, 0x64, 0x39, 0xa8, 0xfd, 0xa3, 0x2a, 0x8e, 0xa4, 0x47, 0x5a, 0x7d, 0x09, 0xff, 0xb7, 0x8e, 0x9c, 0x27, 0x4a, 0x0a, 0xf8, 0xff, 0x7a, 0x6d, 0x9c, 0xc7, 0x41, 0xe0, 0x57, 0xeb, 0xff,
- 0x6b, 0x7b, 0x88, 0x52, 0xa1, 0x2d, 0x89, 0xab, 0x6b, 0x7b, 0x22, 0x51, 0x56, 0x54, 0x5e, 0x7a, 0x83, 0x61, 0x02, 0x59, 0x82, 0xaa, 0xe2, 0xda, 0x63, 0x61, 0x02, 0x59, 0xac, 0x3d, 0xad, 0xbb,
- 0xa3, 0x61, 0x42, 0x59, 0x2a, 0x5b, 0x73, 0xff, 0x84, 0x69, 0x42, 0x59, 0xf8, 0x3f, 0xae, 0xaa, 0xc4, 0x69, 0x43, 0x61, 0x7d, 0x57, 0xae, 0x2a, 0xc3, 0x69, 0x42, 0x61, 0xf5, 0xff, 0xfa, 0xe0,
- 0x83, 0x69, 0x42, 0x59, 0x7a, 0xef, 0xbe, 0xc2, 0x84, 0x61, 0x42, 0x59, 0xef, 0x5e, 0x6e, 0xe8, 0x83, 0x61, 0x22, 0x51, 0x78, 0x7e, 0x32, 0x90, 0x23, 0x59, 0x02, 0x51, 0x16, 0x1c, 0xa5, 0x0f,
- 0x43, 0x61, 0x02, 0x51, 0xbf, 0x2e, 0xe6, 0xd7, 0x63, 0x59, 0xe2, 0x50, 0xe8, 0x7f, 0xff, 0xa5, 0x23, 0x59, 0xe2, 0x50, 0xf2, 0x69, 0xff, 0x7f, 0x43, 0x59, 0xe2, 0x48, 0xee, 0xbf, 0xad, 0xbb,
- 0xa3, 0x59, 0x02, 0x51, 0x5d, 0xd5, 0xd5, 0x8b, 0xa3, 0x61, 0x02, 0x51, 0xf5, 0x55, 0xfb, 0x08, 0xa3, 0x61, 0x02, 0x51, 0x55, 0xef, 0xab, 0x08, 0xc4, 0x69, 0x02, 0x59, 0x75, 0x3f, 0xaa, 0x0a,
- 0xc3, 0x69, 0x42, 0x51, 0xad, 0xaa, 0xa2, 0x28, 0xc4, 0x69, 0x83, 0x61, 0x9d, 0xa2, 0x7e, 0xbb, 0xc4, 0x69, 0x62, 0x61, 0xe0, 0xa0, 0xbd, 0xfa, 0xa4, 0x69, 0x82, 0x61, 0xcc, 0xde, 0xa2, 0x22,
- 0xa4, 0x69, 0x83, 0x61, 0x37, 0xab, 0xb8, 0xc3, 0xa4, 0x69, 0x62, 0x61, 0x9a, 0x0b, 0x2b, 0x86, 0xc3, 0x69, 0x63, 0x61, 0xff, 0xcb, 0x7f, 0xae, 0xa3, 0x69, 0x63, 0x61, 0xaf, 0xe2, 0xfd, 0x8e,
- 0xa4, 0x69, 0x42, 0x61, 0xbf, 0xda, 0xf6, 0xa8, 0x83, 0x69, 0x43, 0x59, 0xaa, 0x6a, 0xaa, 0x2a, 0x83, 0x61, 0x42, 0x59, 0x7b, 0xed, 0xb2, 0x6f, 0xe4, 0x69, 0x42, 0x59, 0xf7, 0x3f, 0xff, 0x5f,
- 0x65, 0x7a, 0x43, 0x61, 0x2f, 0x0b, 0x2b, 0xf5, 0x69, 0x9b, 0x65, 0x7a, 0x29, 0x0b, 0x2a, 0x0a, 0x0b, 0xb4, 0x89, 0xa3, 0xf5, 0x35, 0x2d, 0x09, 0x2c, 0xb4, 0x89, 0xa3, 0xa2, 0xaa, 0xaa, 0x92,
- 0x6c, 0xbc, 0x0a, 0x73, 0x40, 0x6a, 0xea, 0xfa, 0xcc, 0x83, 0x0a, 0x6b, 0xfd, 0x8b, 0xaf, 0x28, 0xec, 0x83, 0xca, 0x62, 0xfa, 0xaa, 0x8a, 0x72, 0xcd, 0x83, 0x2b, 0x6b, 0xaa, 0xfa, 0xfd, 0x37,
- 0x0d, 0x8c, 0x4b, 0x73, 0xbf, 0x57, 0x8a, 0xae, 0xcc, 0x83, 0x0b, 0x63, 0xa8, 0xea, 0xaa, 0x68, 0x8c, 0x7b, 0x0a, 0x63, 0xa0, 0x7e, 0xaa, 0x29, 0xac, 0x7b, 0x2b, 0x73, 0xfb, 0xfd, 0xef, 0x3e,
- 0xad, 0x7b, 0x4b, 0x6b, 0xff, 0xff, 0x5f, 0xe8, 0x6c, 0x7b, 0x0a, 0x63, 0x5f, 0xe0, 0xaa, 0xfe, 0x0e, 0x84, 0x0a, 0x6b, 0xf5, 0x0b, 0xff, 0x55, 0xcd, 0x83, 0xea, 0x6a, 0xaa, 0xf8, 0xde, 0xdf,
- 0xac, 0x7b, 0xa9, 0x62, 0xb0, 0xba, 0x7e, 0x7f, 0x6b, 0x7b, 0x8a, 0x62, 0x00, 0xaa, 0xab, 0x89, 0x6b, 0x7b, 0xa9, 0x5a, 0x80, 0xab, 0xfd, 0x2e, 0x8c, 0x83, 0x0a, 0x73, 0x0f, 0xa5, 0x2b, 0xab,
- 0x8b, 0x8b, 0x4a, 0x7b, 0xba, 0x2a, 0xeb, 0xe5, 0xac, 0x8b, 0xea, 0x72, 0x8a, 0xdf, 0xaa, 0x0a, 0xcc, 0x8b, 0xea, 0x6a, 0xfe, 0xaa, 0xea, 0x7c, 0x6b, 0x7b, 0xaa, 0x62, 0xde, 0xa8, 0x72, 0xea,
- 0x8c, 0x83, 0x48, 0x52, 0xab, 0x7a, 0x2f, 0x0a, 0xac, 0x83, 0x0a, 0x73, 0xa9, 0xfd, 0xfa, 0x82, 0x8c, 0x83, 0x2a, 0x7b, 0x97, 0xab, 0x8e, 0xa8, 0x8b, 0x83, 0x4a, 0x7b, 0x5f, 0x2f, 0x76, 0xdb,
- 0xaa, 0xa3, 0xc7, 0x49, 0xa0, 0xfd, 0xff, 0x55, 0xc8, 0x72, 0xe6, 0x51, 0x7c, 0xaa, 0x2a, 0xed, 0xe9, 0x72, 0x27, 0x62, 0xab, 0xaf, 0xaa, 0x8d, 0x6a, 0x8b, 0x88, 0x6a, 0x5f, 0x77, 0xb7, 0x2f,
- 0xaa, 0x93, 0xa4, 0x51, 0xaa, 0x82, 0xc0, 0x57, 0x8a, 0x93, 0x64, 0x39, 0xf8, 0xff, 0x7a, 0x55, 0xc6, 0x49, 0x24, 0x31, 0xa8, 0x0f, 0x89, 0x0b, 0xe7, 0x51, 0x85, 0x41, 0x0a, 0xad, 0x1d, 0xf7,
- 0x06, 0x52, 0xa5, 0x49, 0xfa, 0xaa, 0x8a, 0x7b, 0xe7, 0x51, 0x85, 0x49, 0xa2, 0x22, 0x82, 0x3d, 0xe6, 0x51, 0x85, 0x49, 0x2a, 0x6e, 0xfa, 0x02, 0x47, 0x52, 0x65, 0x41, 0xff, 0xbd, 0xbd, 0x8b,
- 0xe6, 0x51, 0x85, 0x41, 0xeb, 0xe2, 0xfa, 0x9e, 0xc6, 0x41, 0x04, 0x31, 0x78, 0xfa, 0x2e, 0x80, 0xc6, 0x49, 0x05, 0x31, 0xfd, 0xab, 0xa8, 0x02, 0xc6, 0x51, 0x45, 0x41, 0xf7, 0x2a, 0xab, 0x2b,
- 0x06, 0x52, 0x45, 0x39, 0xfb, 0x5e, 0x2a, 0x5a, 0x06, 0x62, 0x04, 0x31, 0xaa, 0x8a, 0xae, 0x57, 0xe7, 0x59, 0x44, 0x49, 0x5f, 0xfa, 0x7c, 0xe2, 0x85, 0x51, 0x23, 0x49, 0xfe, 0xab, 0x4a, 0xa8,
- 0x64, 0x51, 0x03, 0x41, 0xee, 0xa4, 0x37, 0xdf, 0x64, 0x51, 0xc2, 0x40, 0x5f, 0xfa, 0xa0, 0xa0, 0x03, 0x49, 0xc8, 0x20, 0x6a, 0x7e, 0xda, 0x78, 0xce, 0x8b, 0xa5, 0x18, 0x20, 0x5e, 0x55, 0x55,
- 0x43, 0x51, 0xe4, 0x30, 0x2c, 0x2b, 0xbd, 0xa9, 0x05, 0x6a, 0x23, 0x51, 0x8b, 0xdf, 0xb5, 0xbd, 0x66, 0x7a, 0xc5, 0x69, 0xad, 0xed, 0xe9, 0x3f, 0xcb, 0xa3, 0x46, 0x72, 0xf5, 0xad, 0xa9, 0x22,
- 0xca, 0xab, 0x61, 0x59, 0xa0, 0x20, 0x00, 0x60, 0xe9, 0xab, 0xe2, 0x40, 0x22, 0xc0, 0x78, 0x55, 0x06, 0x9b, 0x03, 0x41, 0xfc, 0x7f, 0x57, 0x55, 0x84, 0x51, 0xe2, 0x30, 0x88, 0xaa, 0xaa, 0x57,
- 0x64, 0x51, 0xc2, 0x30, 0x00, 0xaa, 0xfe, 0x55, 0x44, 0x49, 0xa2, 0x30, 0x00, 0xa0, 0xae, 0x7f, 0x44, 0x49, 0xa2, 0x30, 0x00, 0x0a, 0x8a, 0x55, 0x63, 0x51, 0x82, 0x38, 0x00, 0xa0, 0xfe, 0xf5,
- 0x83, 0x59, 0x61, 0x30, 0x02, 0xaa, 0x7f, 0xab, 0x83, 0x59, 0x81, 0x38, 0xa0, 0x7f, 0xd5, 0xaa, 0x63, 0x59, 0x82, 0x30, 0x00, 0x75, 0xff, 0xaa, 0x22, 0x59, 0xa2, 0x28, 0xe8, 0xd5, 0xae, 0x00,
- 0x42, 0x61, 0x82, 0x38, 0x5f, 0xff, 0xaa, 0x00, 0x43, 0x61, 0xa1, 0x30, 0x75, 0x0a, 0x00, 0x00, 0x05, 0x7a, 0xe1, 0x48, 0xf5, 0x2f, 0x2f, 0x2b, 0xc7, 0x92, 0x84, 0x59, 0x55, 0xaf, 0x0a, 0x02,
- 0x69, 0xa3, 0x85, 0x39, 0x55, 0x7f, 0x7e, 0x62, 0xe6, 0x49, 0x24, 0x29, 0xff, 0x7a, 0x72, 0x83, 0xa5, 0x41, 0x04, 0x31, 0xe2, 0x5f, 0xde, 0xfa, 0xc6, 0x49, 0xe3, 0x28, 0xea, 0x7f, 0x7f, 0x37,
- 0xe6, 0x41, 0x04, 0x29, 0x7d, 0x55, 0xf5, 0xdc, 0x85, 0x39, 0x04, 0x31, 0xed, 0x7b, 0x7b, 0x78, 0x66, 0x41, 0x04, 0x29, 0xdb, 0xfa, 0x63, 0xfb, 0x45, 0x39, 0xe3, 0x28, 0xf7, 0xfd, 0xdd, 0x3b,
- 0x87, 0x41, 0xc3, 0x20, 0x5f, 0xd5, 0xff, 0xa8, 0x6c, 0x7b, 0xc4, 0x20, 0x55, 0xd5, 0xb5, 0x02, 0x4e, 0x9c, 0x25, 0x29, 0xbd, 0xff, 0xaa, 0x02, 0x0e, 0x94, 0x27, 0x52, 0x56, 0xfc, 0xdc, 0xfe,
- 0x8f, 0xa4, 0xc7, 0x49, 0xf7, 0xaa, 0x5f, 0x02, 0x0c, 0x94, 0xaa, 0x62, 0xef, 0x17, 0x23, 0xa8, 0xae, 0xac, 0x86, 0x41, 0xd5, 0x02, 0xd6, 0x82, 0x6d, 0xa4, 0x28, 0x52, 0x6b, 0xa0, 0xa2, 0xa8,
- 0xae, 0xa4, 0xe7, 0x49, 0xfd, 0x0b, 0x78, 0x5f, 0xeb, 0x93, 0x07, 0x4a, 0x2b, 0xf8, 0x55, 0x55, 0xec, 0x93, 0x07, 0x4a, 0xa8, 0xfd, 0xf5, 0xf5, 0xcb, 0x8b, 0x09, 0x6b, 0xd5, 0xb5, 0x8d, 0xa2,
- 0xcc, 0x83, 0x4a, 0x73, 0xfb, 0xa6, 0x02, 0xea, 0x0c, 0x8c, 0x2a, 0x6b, 0xab, 0xea, 0x4e, 0x7f, 0xed, 0x83, 0xea, 0x62, 0x7e, 0xbb, 0xab, 0x2b, 0xed, 0x83, 0x29, 0x52, 0xfd, 0xa0, 0xa8, 0x00,
- 0xec, 0x83, 0xea, 0x6a, 0xfd, 0xef, 0xa6, 0x28, 0xcc, 0x83, 0x43, 0x59, 0x7a, 0x7a, 0x70, 0x70, 0x62, 0x61, 0x23, 0x59, 0xef, 0xf8, 0x7f, 0xbb, 0x83, 0x69, 0x22, 0x59, 0xe5, 0x37, 0x37, 0xff,
- 0xa4, 0x69, 0x43, 0x59, 0xbe, 0x2a, 0x2b, 0xdf, 0xc3, 0x69, 0x62, 0x59, 0xea, 0x28, 0xab, 0x75, 0xc4, 0x69, 0x63, 0x61, 0xbb, 0xa2, 0x3e, 0xf7, 0xe4, 0x69, 0x63, 0x61, 0xf6, 0xfe, 0xf8, 0x55,
- 0xc3, 0x69, 0x22, 0x61, 0xe2, 0x8b, 0xfa, 0xf7, 0x83, 0x61, 0x22, 0x51, 0x70, 0xb8, 0xa2, 0xe8, 0x83, 0x61, 0x22, 0x59, 0xfb, 0x70, 0x5a, 0x7f, 0x43, 0x59, 0x02, 0x51, 0x7a, 0xbf, 0xfd, 0x96,
- 0x42, 0x59, 0x03, 0x51, 0xfb, 0x5e, 0x7a, 0x5a, 0x63, 0x59, 0x02, 0x51, 0x5f, 0x5f, 0x55, 0x41, 0x63, 0x59, 0xe2, 0x50, 0xdf, 0xd7, 0xf5, 0x3f, 0xc3, 0x61, 0x22, 0x59, 0x55, 0xff, 0xa7, 0x0a,
- 0xc4, 0x69, 0x42, 0x59, 0x29, 0x8a, 0xaf, 0x0a, 0xc4, 0x69, 0xa2, 0x61, 0x0a, 0x53, 0x6e, 0x02, 0xc4, 0x69, 0x83, 0x61, 0x8b, 0x96, 0x6f, 0x08, 0xc3, 0x71, 0x63, 0x61, 0xba, 0xfb, 0xa0, 0xbd,
- 0xc4, 0x69, 0x82, 0x61, 0xa7, 0x4a, 0x6e, 0xba, 0xe3, 0x69, 0x42, 0x61, 0xaf, 0xad, 0x3b, 0xaf, 0xc3, 0x69, 0x82, 0x61, 0xf8, 0xaa, 0x82, 0xe7, 0xc4, 0x69, 0x83, 0x61, 0x8b, 0x3b, 0x76, 0xa3,
- 0xc4, 0x69, 0x82, 0x61, 0xc2, 0xf4, 0xf9, 0xfe, 0xc4, 0x69, 0x83, 0x61, 0xfb, 0x3e, 0xfd, 0xb7, 0xa3, 0x69, 0x42, 0x61, 0xae, 0x70, 0xf0, 0x6c, 0xc4, 0x69, 0x43, 0x59, 0xaf, 0x8f, 0xbf, 0xfb,
- 0xa3, 0x69, 0x42, 0x61, 0x9e, 0x82, 0xb8, 0x6f, 0x83, 0x69, 0x42, 0x61, 0x3f, 0xba, 0x98, 0xb0, 0xa4, 0x61, 0x22, 0x61, 0xa8, 0xff, 0xff, 0xde, 0xa4, 0x69, 0x43, 0x59, 0xb7, 0x5f, 0xaf, 0x2f,
- 0x07, 0x8b, 0x42, 0x59, 0xbf, 0x35, 0x2d, 0x2f, 0xca, 0xab, 0xc6, 0x8a, 0xad, 0x6b, 0xab, 0x0a, 0x2b, 0xb4, 0x69, 0xa3, 0xab, 0xeb, 0xfa, 0x92, 0x4c, 0xb4, 0x48, 0x9b, 0xba, 0xde, 0xaf, 0x2b,
- 0x2c, 0xb4, 0x4b, 0x6b, 0xe0, 0xb8, 0x78, 0x78, 0xec, 0x83, 0x2b, 0x6b, 0x8a, 0x78, 0xd7, 0xfd, 0xcc, 0x7b, 0x2b, 0x6b, 0xef, 0xe2, 0x5e, 0xba, 0xec, 0x83, 0x0b, 0x6b, 0x0a, 0xff, 0x2f, 0xb7,
- 0xac, 0x7b, 0x0b, 0x6b, 0x08, 0xe2, 0x5e, 0xfe, 0x8c, 0x7b, 0x0a, 0x63, 0x58, 0xdf, 0xff, 0xfa, 0x4c, 0x6b, 0xca, 0x62, 0xff, 0xa2, 0x37, 0xea, 0xad, 0x7b, 0xe9, 0x5a, 0x0b, 0xab, 0xab, 0xb7,
- 0xac, 0x7b, 0x2b, 0x6b, 0x5e, 0x2f, 0xbf, 0x82, 0xac, 0x7b, 0x2b, 0x6b, 0x5d, 0x5e, 0xdc, 0xaa, 0xcd, 0x83, 0x0a, 0x6b, 0x5f, 0xfd, 0xff, 0x02, 0xac, 0x83, 0x0a, 0x6b, 0xb2, 0x8b, 0xa7, 0xa0,
- 0x8b, 0x83, 0x2a, 0x73, 0x6b, 0x22, 0x0b, 0xb6, 0xab, 0x8b, 0x2a, 0x73, 0xfd, 0xa0, 0x00, 0xce, 0x8b, 0x83, 0x0a, 0x6b, 0xd7, 0xe8, 0x88, 0xba, 0xcc, 0x8b, 0xea, 0x72, 0xbe, 0xaf, 0x0a, 0xd7,
- 0xed, 0x93, 0x68, 0x62, 0xaa, 0x80, 0xd6, 0xaf, 0x8b, 0x83, 0xa9, 0x62, 0xe0, 0x56, 0x2b, 0xa8, 0xcc, 0x83, 0xa9, 0x6a, 0x7f, 0x0b, 0xa8, 0xfa, 0xcc, 0x8b, 0x28, 0x52, 0xf5, 0x00, 0xaa, 0xa2,
- 0xec, 0x8b, 0x0a, 0x73, 0xff, 0xfa, 0x2a, 0xf5, 0xac, 0x83, 0x4b, 0x73, 0xb5, 0x22, 0x88, 0x3d, 0xcc, 0x83, 0x6b, 0x7b, 0xb5, 0xaa, 0xf0, 0x2b, 0xcd, 0x8b, 0x8b, 0x83, 0xdb, 0x23, 0xee, 0x9a,
- 0xe6, 0x49, 0x85, 0x41, 0x3f, 0xef, 0xe7, 0xdf, 0xe7, 0x51, 0xa5, 0x41, 0x3f, 0x2f, 0xb7, 0xf9, 0x46, 0x6a, 0x44, 0x31, 0x28, 0xea, 0xea, 0x77, 0x46, 0x6a, 0x04, 0x21, 0xa8, 0xaa, 0xff, 0x55,
- 0xa5, 0x41, 0x04, 0x29, 0x2b, 0x2a, 0xd5, 0x55, 0x27, 0x5a, 0x45, 0x31, 0xdd, 0xd5, 0xfd, 0x8d, 0xe7, 0x51, 0x65, 0x39, 0xbd, 0x35, 0xbf, 0x2a, 0x48, 0x5a, 0x86, 0x41, 0xdd, 0xd7, 0xd7, 0xfc,
- 0x28, 0x52, 0x86, 0x49, 0x7f, 0xfd, 0x2f, 0x0b, 0x68, 0x5a, 0x86, 0x49, 0xfd, 0xbb, 0x0a, 0xea, 0x48, 0x5a, 0x65, 0x39, 0xae, 0xaa, 0xf0, 0x5e, 0x07, 0x52, 0x65, 0x49, 0xa0, 0xfa, 0xff, 0x55,
- 0xe6, 0x51, 0x04, 0x31, 0x82, 0xaa, 0xff, 0x5f, 0xe7, 0x49, 0x04, 0x31, 0x82, 0xda, 0xeb, 0x2b, 0xe6, 0x49, 0x24, 0x31, 0xfa, 0x75, 0xfd, 0x08, 0x07, 0x4a, 0x45, 0x39, 0xef, 0xf5, 0xd7, 0x80,
- 0x27, 0x4a, 0x24, 0x31, 0xdf, 0xea, 0xaa, 0x80, 0xe7, 0x49, 0x45, 0x31, 0x55, 0x52, 0x2e, 0x20, 0xe6, 0x51, 0x25, 0x31, 0x09, 0xff, 0xa2, 0xfa, 0xc5, 0x59, 0x24, 0x39, 0xea, 0x83, 0x0f, 0x7b,
- 0x84, 0x49, 0x23, 0x41, 0x7f, 0x58, 0x58, 0x7f, 0x44, 0x49, 0xe2, 0x40, 0x00, 0xa3, 0x7b, 0x77, 0x44, 0x49, 0xa7, 0x28, 0x58, 0xd0, 0x5b, 0x5f, 0x28, 0x62, 0x87, 0x20, 0x0b, 0xfe, 0x75, 0x7d,
- 0x26, 0x6a, 0x84, 0x20, 0xba, 0xb2, 0xb9, 0x55, 0x8a, 0x9b, 0x81, 0x30, 0xbf, 0x0b, 0x5f, 0x55, 0xea, 0xa3, 0xa1, 0x40, 0x0a, 0xa0, 0x55, 0x55, 0xe8, 0xb3, 0x81, 0x28, 0x28, 0xe8, 0x55, 0x7f,
- 0xa4, 0x8a, 0x62, 0x20, 0xfc, 0x55, 0x55, 0x55, 0x03, 0x39, 0x82, 0x20, 0xa0, 0x57, 0xf5, 0xf5, 0xe3, 0x38, 0x82, 0x20, 0xfa, 0x5d, 0xbf, 0x2a, 0x03, 0x49, 0x62, 0x18, 0xd5, 0xbf, 0x2b, 0x02,
- 0x23, 0x51, 0xa2, 0x30, 0x5d, 0xff, 0xbe, 0x2b, 0x23, 0x59, 0xa1, 0x38, 0xd5, 0xef, 0x8a, 0x82, 0x23, 0x59, 0xa1, 0x40, 0xfd, 0xaf, 0xaa, 0x82, 0x63, 0x59, 0xc1, 0x48, 0xfd, 0xbf, 0xaf, 0x03,
- 0x43, 0x59, 0x02, 0x51, 0x9f, 0x1b, 0x00, 0xbe, 0x43, 0x59, 0x02, 0x51, 0xbc, 0x8c, 0x00, 0xca, 0x63, 0x61, 0x23, 0x51, 0xfb, 0xbe, 0xe9, 0xfd, 0x63, 0x61, 0x22, 0x59, 0x77, 0xbd, 0x0b, 0xad,
- 0x83, 0x61, 0x22, 0x59, 0xff, 0xb7, 0x8b, 0xbf, 0x25, 0x72, 0x43, 0x59, 0xbd, 0xa5, 0xab, 0xa2, 0x68, 0x9b, 0xa4, 0x61, 0xbd, 0xaf, 0x2f, 0x0b, 0xea, 0xb3, 0x48, 0x9b, 0x75, 0xd7, 0x3f, 0xaa,
- 0xed, 0xd4, 0xa7, 0x82, 0x7b, 0xab, 0x2a, 0x2a, 0x06, 0x5a, 0x24, 0x31, 0xfb, 0xe0, 0xbc, 0xdc, 0x68, 0x5a, 0x24, 0x31, 0x75, 0x6d, 0xbe, 0x81, 0xe9, 0x6a, 0x25, 0x31, 0xb5, 0xfb, 0xfb, 0xe0,
- 0x87, 0x62, 0xc6, 0x41, 0xd5, 0xef, 0x8b, 0xdf, 0xe9, 0x6a, 0x65, 0x39, 0x5f, 0x8a, 0xff, 0x7a, 0x4f, 0x8c, 0x25, 0x31, 0x55, 0xaf, 0x7d, 0x2f, 0x10, 0xad, 0x26, 0x39, 0xd5, 0x8a, 0x2d, 0xe0,
- 0xce, 0xb4, 0xc8, 0x49, 0xbd, 0x8a, 0xde, 0xaf, 0x4d, 0x9c, 0xc6, 0x49, 0x02, 0xd7, 0xab, 0x00, 0x8e, 0xac, 0x47, 0x5a, 0xd7, 0xab, 0x0a, 0xfa, 0xae, 0xb4, 0x0a, 0x6b, 0xaf, 0x82, 0xa0, 0xfd,
- 0x4d, 0xa4, 0xc9, 0x6a, 0x80, 0x80, 0x77, 0xdf, 0x6d, 0xac, 0xa9, 0x62, 0x80, 0xbf, 0xff, 0xf7, 0xcc, 0x8b, 0xa9, 0x6a, 0x1c, 0xaa, 0x2a, 0xaa, 0xcc, 0x8b, 0x0a, 0x73, 0xe0, 0x80, 0xab, 0xdd,
- 0xec, 0x8b, 0xea, 0x6a, 0x7a, 0xae, 0x2b, 0x9f, 0xac, 0x83, 0x29, 0x4a, 0x55, 0xa8, 0x00, 0x00, 0xac, 0x83, 0x49, 0x52, 0x95, 0x2e, 0x08, 0xc2, 0x4e, 0x94, 0xe9, 0x6a, 0xaa, 0x2a, 0xaf, 0x5f,
- 0x4e, 0x94, 0x0a, 0x6b, 0xff, 0x7e, 0x2e, 0xd5, 0x0d, 0x8c, 0x27, 0x4a, 0xee, 0x0a, 0x56, 0x5a, 0x0d, 0x8c, 0x48, 0x4a, 0x00, 0x80, 0x8b, 0xb5, 0xec, 0x8b, 0x4b, 0x73, 0x22, 0xbb, 0xfe, 0x35,
- 0xcc, 0x83, 0xa9, 0x5a, 0xa0, 0xa0, 0x5a, 0xd6, 0xed, 0x83, 0x83, 0x51, 0x6a, 0x42, 0x6a, 0x6a, 0x84, 0x61, 0x22, 0x59, 0xbf, 0xb8, 0xb5, 0xd6, 0xa3, 0x61, 0x42, 0x59, 0xeb, 0xe2, 0xba, 0xad,
- 0x83, 0x69, 0x22, 0x59, 0xeb, 0xae, 0xe8, 0x0a, 0xa3, 0x61, 0x42, 0x59, 0xad, 0xbf, 0xfd, 0x2a, 0x84, 0x69, 0x42, 0x59, 0xab, 0xea, 0xef, 0xbb, 0x83, 0x69, 0x62, 0x59, 0xbb, 0xaa, 0xbe, 0xbe,
- 0xa3, 0x61, 0x22, 0x61, 0xaa, 0x6f, 0x80, 0x28, 0x84, 0x61, 0x43, 0x59, 0xe8, 0x7f, 0x2a, 0xee, 0x84, 0x61, 0x42, 0x59, 0x5d, 0x6f, 0x54, 0x95, 0x43, 0x59, 0x02, 0x51, 0xad, 0x6a, 0x2f, 0x94,
- 0x83, 0x69, 0x22, 0x59, 0x55, 0xdd, 0xa9, 0xa8, 0x83, 0x61, 0x02, 0x51, 0x7f, 0xf6, 0x2a, 0x02, 0xa3, 0x69, 0x02, 0x51, 0x35, 0xad, 0xee, 0x28, 0xc4, 0x69, 0x62, 0x61, 0xa3, 0xdf, 0xfd, 0x9d,
- 0xc3, 0x71, 0x62, 0x61, 0x28, 0xad, 0xab, 0xbd, 0xc3, 0x69, 0x82, 0x61, 0xf2, 0xef, 0xad, 0x7f, 0xc3, 0x69, 0x82, 0x61, 0xbb, 0x0b, 0xee, 0xff, 0xc3, 0x69, 0x62, 0x61, 0x5c, 0xae, 0xeb, 0xab,
- 0xa3, 0x69, 0x62, 0x61, 0xe8, 0xce, 0x68, 0xf3, 0xc4, 0x69, 0x62, 0x61, 0x25, 0x77, 0xed, 0xfd, 0xc3, 0x69, 0x62, 0x61, 0xc2, 0xe6, 0x2a, 0xa8, 0xc3, 0x71, 0x63, 0x61, 0x6a, 0xae, 0xfe, 0xab,
- 0xc4, 0x69, 0x82, 0x61, 0x5a, 0x56, 0xb5, 0x82, 0xc4, 0x69, 0x62, 0x61, 0xfe, 0x7f, 0xf8, 0xae, 0xc4, 0x69, 0x62, 0x61, 0xb7, 0xdf, 0xb8, 0xfa, 0xc4, 0x69, 0x62, 0x61, 0x5f, 0xbb, 0xff, 0x2f,
- 0xa4, 0x69, 0x43, 0x61, 0xed, 0xb8, 0xaa, 0xaa, 0xa4, 0x69, 0x62, 0x61, 0xe2, 0x4f, 0xba, 0xde, 0xa4, 0x69, 0x22, 0x59, 0xea, 0x8a, 0xa2, 0xf6, 0x24, 0x72, 0x62, 0x61, 0xb5, 0xfd, 0x35, 0xb5,
- 0x48, 0x9b, 0x04, 0x72, 0xbd, 0xbd, 0x95, 0x2d, 0x0b, 0xb4, 0x48, 0x9b, 0xa9, 0x29, 0xa9, 0x03, 0x4c, 0xbc, 0xaa, 0xa3, 0xdf, 0xab, 0x2b, 0xa2, 0x2c, 0xb4, 0xcb, 0xa3, 0x0d, 0x08, 0xec, 0xc8,
- 0x0c, 0xac, 0x4b, 0x6b, 0x58, 0x7e, 0xfe, 0xfe, 0xac, 0x7b, 0x4b, 0x73, 0x5f, 0x77, 0x20, 0x76, 0xac, 0x7b, 0xca, 0x62, 0xae, 0x2a, 0x6a, 0xeb, 0xcc, 0x83, 0xca, 0x62, 0x0a, 0x58, 0x7f, 0xff,
- 0x8b, 0x73, 0xaa, 0x5a, 0xe8, 0xff, 0x55, 0x5f, 0xcd, 0x7b, 0xca, 0x5a, 0xdf, 0xfd, 0x2f, 0x2f, 0xed, 0x8b, 0x2b, 0x6b, 0x55, 0xbd, 0x82, 0xa8, 0xcc, 0x83, 0x0b, 0x6b, 0xd5, 0x00, 0xc0, 0xfa,
- 0xcc, 0x7b, 0x0b, 0x73, 0x0b, 0xba, 0xf5, 0xb7, 0xac, 0x83, 0x89, 0x62, 0xa0, 0xaa, 0xd6, 0xee, 0x8b, 0x83, 0xaa, 0x5a, 0x02, 0xe8, 0x57, 0xbf, 0x8c, 0x83, 0x28, 0x4a, 0xa0, 0x5f, 0xff, 0xfa,
- 0x6c, 0x7b, 0x89, 0x52, 0xde, 0xa9, 0xf5, 0x2f, 0x8c, 0x7b, 0x0a, 0x6b, 0xd5, 0x8b, 0x0b, 0xaa, 0x8c, 0x7b, 0x0a, 0x73, 0xf5, 0xdf, 0xaa, 0x2b, 0xcc, 0x8b, 0x6b, 0x7b, 0xd5, 0xf2, 0xdd, 0xbd,
- 0xcc, 0x93, 0x6b, 0x73, 0xf3, 0xfb, 0xf5, 0xdf, 0xcc, 0x83, 0x0a, 0x73, 0xf6, 0xa2, 0x57, 0x7f, 0x8b, 0x7b, 0xea, 0x72, 0xa2, 0xbe, 0x2a, 0xb7, 0xcc, 0x83, 0x2b, 0x73, 0xd5, 0xf7, 0xbf, 0x07,
- 0xcd, 0x83, 0x4b, 0x73, 0xbd, 0xab, 0xa0, 0xa0, 0xed, 0x83, 0x6b, 0x73, 0xef, 0xff, 0x75, 0x3f, 0x0e, 0x8c, 0x6b, 0x73, 0xff, 0x55, 0x7d, 0x78, 0xed, 0x8b, 0x0a, 0x6b, 0x7e, 0x8a, 0xf5, 0x2e,
- 0xa9, 0x62, 0xa6, 0x41, 0xdf, 0x5e, 0x28, 0x7f, 0xc9, 0x62, 0x65, 0x31, 0x5f, 0x7f, 0xa0, 0xeb, 0x27, 0x52, 0x25, 0x29, 0x5f, 0xef, 0x0a, 0xa8, 0xc7, 0x41, 0x25, 0x29, 0x55, 0x5f, 0x58, 0xcd,
- 0x86, 0x39, 0x24, 0x29, 0x97, 0x3b, 0x31, 0x6a, 0x08, 0x52, 0x25, 0x39, 0xaf, 0x2b, 0x0a, 0xd5, 0x28, 0x52, 0xc6, 0x49, 0x0d, 0xe8, 0x26, 0xa9, 0x28, 0x5a, 0xa5, 0x41, 0xf8, 0xfa, 0x7a, 0xe9,
- 0x27, 0x52, 0x85, 0x41, 0x2a, 0x88, 0xa5, 0xaa, 0x47, 0x52, 0x86, 0x49, 0xb8, 0x7e, 0x2a, 0xaa, 0x67, 0x5a, 0x65, 0x39, 0xfa, 0xbb, 0xdc, 0x7f, 0x28, 0x52, 0x66, 0x39, 0xbd, 0xa2, 0x02, 0x5d,
- 0x07, 0x52, 0x65, 0x39, 0x5f, 0xf0, 0x3e, 0xad, 0x47, 0x52, 0xa6, 0x41, 0xd5, 0xff, 0xab, 0x3f, 0x48, 0x4a, 0x86, 0x41, 0xa9, 0xa0, 0xe8, 0xd6, 0x48, 0x52, 0x65, 0x39, 0x82, 0xfa, 0xb5, 0xfd,
- 0x27, 0x4a, 0x65, 0x39, 0xea, 0xff, 0xe0, 0x7b, 0xc7, 0x49, 0x24, 0x29, 0xaa, 0x82, 0xba, 0xf7, 0x07, 0x4a, 0x44, 0x39, 0xff, 0xf8, 0xde, 0xdd, 0xc5, 0x49, 0x04, 0x31, 0xdf, 0xbe, 0xba, 0x07,
- 0x03, 0x49, 0xa5, 0x41, 0xbf, 0x3f, 0x2f, 0xbd, 0x03, 0x49, 0x62, 0x28, 0x5e, 0xea, 0xa0, 0xa0, 0xe3, 0x40, 0x84, 0x20, 0xf5, 0xff, 0x7a, 0xf8, 0xa5, 0x61, 0xa6, 0x18, 0x55, 0x77, 0x8d, 0xad,
- 0xa1, 0x40, 0x06, 0x21, 0xbd, 0xad, 0xaf, 0xa0, 0x23, 0x51, 0xc2, 0x38, 0xad, 0x0b, 0xab, 0x2a, 0x83, 0x61, 0xe2, 0x58, 0xcb, 0x7f, 0xd5, 0xff, 0xc6, 0x69, 0x02, 0x59, 0x55, 0x95, 0xd5, 0x35,
- 0x49, 0x9b, 0x61, 0x30, 0x57, 0x7f, 0xfe, 0xc2, 0x03, 0x49, 0x82, 0x28, 0xbd, 0xbf, 0x0b, 0x2b, 0x44, 0x51, 0xe3, 0x38, 0xf5, 0xaf, 0xaa, 0xaa, 0x63, 0x51, 0x02, 0x49, 0x77, 0x3d, 0xd7, 0xad,
- 0x63, 0x51, 0xe2, 0x48, 0xbd, 0x22, 0x22, 0xba, 0x43, 0x59, 0x02, 0x49, 0xea, 0xdb, 0xcf, 0xaa, 0x23, 0x59, 0x02, 0x49, 0x6e, 0xab, 0xfe, 0x8a, 0x23, 0x51, 0x02, 0x49, 0x01, 0xcb, 0x03, 0x90,
- 0x63, 0x59, 0x02, 0x51, 0x8d, 0x7e, 0xfb, 0xff, 0x63, 0x59, 0x02, 0x49, 0x8a, 0xfb, 0xea, 0x5d, 0x43, 0x61, 0xc2, 0x38, 0x00, 0xaa, 0x7f, 0xff, 0x63, 0x59, 0xe2, 0x40, 0xa8, 0xea, 0x09, 0x8d,
- 0x64, 0x59, 0x03, 0x49, 0xbe, 0x0a, 0xde, 0x22, 0x45, 0x7a, 0x43, 0x59, 0xab, 0xf3, 0x9b, 0x3a, 0xea, 0xab, 0x05, 0x6a, 0xaf, 0x2d, 0x2b, 0x0b, 0xc9, 0xab, 0x27, 0x9b, 0x20, 0xea, 0xa8, 0xde,
- 0xad, 0xc4, 0x89, 0xa3, 0xaf, 0x2d, 0x2f, 0x2d, 0x87, 0x72, 0xa6, 0x41, 0xd6, 0xfc, 0x38, 0x18, 0x0f, 0x94, 0x66, 0x39, 0x55, 0xff, 0xbe, 0x0a, 0xf0, 0xb4, 0x25, 0x29, 0x55, 0xbf, 0xaa, 0x02,
- 0xcf, 0xb4, 0x28, 0x4a, 0xd5, 0xae, 0x0a, 0xa0, 0xef, 0xb4, 0xaa, 0x62, 0xb7, 0x82, 0xf8, 0x82, 0x8d, 0xa4, 0x43, 0x39, 0xa0, 0xf7, 0x79, 0xfe, 0x0d, 0x94, 0x47, 0x52, 0x37, 0x22, 0x7d, 0x75,
- 0x2c, 0x9c, 0xa7, 0x41, 0x2a, 0x80, 0xb7, 0xd7, 0x2d, 0x94, 0x68, 0x52, 0x40, 0x8b, 0x8b, 0x8d, 0x0d, 0x84, 0x68, 0x52, 0xad, 0xaa, 0x2a, 0x0b, 0x4e, 0x94, 0x2b, 0x6b, 0x77, 0xef, 0x0a, 0xc2,
- 0x8f, 0x9c, 0xc9, 0x62, 0x7b, 0xdc, 0xde, 0xfd, 0xac, 0x83, 0x8a, 0x62, 0x2d, 0xaa, 0x00, 0x28, 0x0d, 0x94, 0x48, 0x5a, 0xf8, 0x6a, 0x2a, 0x80, 0xac, 0x83, 0x68, 0x52, 0xab, 0xa9, 0x78, 0xab,
- 0xcc, 0x83, 0xe7, 0x49, 0x0a, 0xbf, 0xff, 0x5a, 0xac, 0x7b, 0x48, 0x4a, 0x00, 0xe2, 0x58, 0x79, 0xcc, 0x83, 0x28, 0x42, 0x02, 0xff, 0x55, 0x55, 0xac, 0x7b, 0xe8, 0x41, 0xe0, 0xea, 0xff, 0xdf,
- 0x8a, 0x52, 0x48, 0x4a, 0x28, 0x74, 0x5c, 0x6a, 0x89, 0x52, 0x08, 0x42, 0xa0, 0x5e, 0xbd, 0x7e, 0x6b, 0x7b, 0x08, 0x42, 0xaf, 0x3f, 0xf5, 0x55, 0x6b, 0x7b, 0x28, 0x4a, 0x00, 0x80, 0xaf, 0xd5,
- 0x4a, 0x73, 0x89, 0x5a, 0xfc, 0xfe, 0xf7, 0x8b, 0x2a, 0x6b, 0x27, 0x62, 0x6a, 0xea, 0xea, 0x80, 0x84, 0x59, 0x22, 0x59, 0xd6, 0x76, 0xdc, 0xf8, 0x83, 0x69, 0x22, 0x51, 0xab, 0x22, 0xbf, 0xad,
- 0x83, 0x69, 0x22, 0x59, 0x3e, 0xfa, 0x7e, 0xea, 0xa3, 0x69, 0x22, 0x59, 0x0a, 0xbb, 0xeb, 0x55, 0x83, 0x61, 0x22, 0x59, 0x88, 0xea, 0xf2, 0xaf, 0xc4, 0x69, 0x42, 0x59, 0xff, 0xff, 0x2d, 0xb5,
- 0x83, 0x61, 0x22, 0x59, 0xee, 0xa0, 0xe0, 0x5b, 0x63, 0x61, 0x02, 0x59, 0xea, 0xf8, 0xea, 0xdd, 0x63, 0x61, 0x22, 0x59, 0xe9, 0x0e, 0xfb, 0xbb, 0x83, 0x61, 0x02, 0x51, 0xaf, 0xde, 0xbe, 0x82,
- 0x63, 0x69, 0x42, 0x59, 0xaa, 0x7b, 0xff, 0x60, 0x83, 0x61, 0x42, 0x61, 0xef, 0x7e, 0xb7, 0xfc, 0x83, 0x61, 0x22, 0x59, 0x2a, 0xe8, 0xf7, 0x57, 0x83, 0x69, 0x02, 0x59, 0x08, 0xaa, 0x6b, 0x95,
- 0xc3, 0x71, 0x42, 0x61, 0xea, 0xeb, 0xa9, 0xa2, 0xc4, 0x71, 0x62, 0x61, 0xbd, 0xbd, 0x18, 0xab, 0xc4, 0x69, 0x62, 0x61, 0xea, 0x0a, 0x8b, 0x7b, 0xc3, 0x71, 0x62, 0x61, 0x2e, 0xa2, 0xf8, 0xf7,
- 0xc3, 0x69, 0x62, 0x61, 0xc2, 0xae, 0x6e, 0xea, 0xc3, 0x69, 0x62, 0x61, 0xf5, 0x2f, 0x3d, 0x2f, 0xe4, 0x71, 0x83, 0x61, 0xff, 0xca, 0xff, 0xfb, 0xa4, 0x69, 0x83, 0x61, 0x8b, 0x33, 0x70, 0xae,
- 0xe4, 0x69, 0x62, 0x61, 0xaf, 0x7f, 0xa2, 0xee, 0xe4, 0x69, 0x63, 0x61, 0xfe, 0x35, 0xfe, 0xbb, 0xc4, 0x69, 0x63, 0x61, 0xfe, 0xa8, 0xfa, 0xd6, 0xa3, 0x69, 0x63, 0x61, 0xeb, 0x02, 0x8f, 0x7e,
- 0xa4, 0x69, 0x62, 0x61, 0xfd, 0xb6, 0xd4, 0xda, 0xc4, 0x69, 0x63, 0x61, 0x3f, 0xbf, 0xd7, 0x7e, 0xa4, 0x69, 0x62, 0x61, 0x60, 0xfb, 0x76, 0x97, 0x45, 0x7a, 0x63, 0x61, 0x95, 0x35, 0x35, 0x27,
- 0xaa, 0xa3, 0x85, 0x82, 0xbd, 0x1f, 0x2d, 0x29, 0x2b, 0xb4, 0x8a, 0xa3, 0xad, 0xab, 0x0b, 0xa9, 0x4c, 0xbc, 0x89, 0xa3, 0xaa, 0x10, 0xb8, 0x0a, 0x4c, 0xbc, 0xab, 0x9b, 0x2a, 0x8a, 0x80, 0x42,
- 0x0c, 0x94, 0x6b, 0x7b, 0xf0, 0x5e, 0xff, 0x95, 0xcc, 0x83, 0x2a, 0x73, 0xf7, 0x7b, 0x3a, 0x68, 0x0d, 0x8c, 0xca, 0x62, 0x83, 0xbf, 0x68, 0xb7, 0xac, 0x83, 0xea, 0x6a, 0x7c, 0xa8, 0x01, 0x02,
- 0xcc, 0x7b, 0xca, 0x62, 0xaa, 0x6a, 0x20, 0x28, 0xcc, 0x83, 0xc9, 0x62, 0xe2, 0xad, 0x0a, 0xaa, 0xac, 0x83, 0x2b, 0x73, 0xd7, 0xa8, 0xaa, 0xff, 0xac, 0x83, 0x4b, 0x73, 0x75, 0xfb, 0xa0, 0x5d,
- 0x8c, 0x83, 0x0a, 0x63, 0x8a, 0xa0, 0xde, 0x7f, 0x8c, 0x7b, 0xea, 0x62, 0xd7, 0x2a, 0xba, 0xbb, 0xed, 0x8b, 0xea, 0x6a, 0x5f, 0xa8, 0x75, 0xff, 0xac, 0x83, 0x28, 0x52, 0x8a, 0xa0, 0x60, 0xeb,
- 0xac, 0x83, 0x27, 0x52, 0xa0, 0xae, 0xbd, 0xf5, 0x8c, 0x7b, 0x2a, 0x6b, 0xf5, 0xbd, 0x03, 0x8d, 0xac, 0x7b, 0xaa, 0x6a, 0x02, 0x08, 0x0a, 0x68, 0xcc, 0x83, 0x0a, 0x6b, 0xea, 0x2a, 0xd6, 0xf7,
- 0xed, 0x83, 0xc9, 0x62, 0xa2, 0xde, 0x2f, 0xaa, 0x8c, 0x7b, 0x08, 0x4a, 0x8a, 0xaa, 0xf7, 0xa0, 0x4b, 0x7b, 0x89, 0x62, 0x89, 0xdb, 0x0a, 0x82, 0x6b, 0x7b, 0x27, 0x4a, 0x8a, 0xb8, 0x22, 0x60,
- 0x8c, 0x83, 0x48, 0x4a, 0xaa, 0x02, 0xe0, 0xfd, 0xed, 0x8b, 0x8a, 0x52, 0x82, 0xf8, 0xf5, 0xab, 0x6c, 0x73, 0x48, 0x52, 0xfa, 0xd5, 0x82, 0x00, 0xad, 0x7b, 0xa9, 0x52, 0x7a, 0xa9, 0x03, 0x2e,
- 0x48, 0x62, 0x64, 0x41, 0x62, 0xba, 0xea, 0xea, 0x07, 0x52, 0x65, 0x41, 0xd7, 0xa0, 0x0d, 0x09, 0x48, 0x5a, 0xc6, 0x51, 0xa7, 0x57, 0x8a, 0x08, 0x47, 0x5a, 0x85, 0x41, 0x5f, 0xbf, 0xda, 0xf8,
- 0x26, 0x52, 0x65, 0x39, 0xd5, 0xfe, 0xa0, 0xbb, 0xe6, 0x59, 0x65, 0x41, 0xb9, 0x1d, 0x2f, 0xe3, 0x88, 0x62, 0x44, 0x39, 0x0b, 0xea, 0xfe, 0x5f, 0x67, 0x5a, 0x44, 0x39, 0xa3, 0xa5, 0xff, 0x55,
- 0x27, 0x52, 0x44, 0x39, 0x80, 0xf2, 0xa9, 0x5f, 0x48, 0x52, 0x65, 0x39, 0xf7, 0x23, 0x7f, 0xf5, 0x27, 0x5a, 0x65, 0x39, 0xfa, 0x58, 0x5f, 0xeb, 0xc6, 0x41, 0x45, 0x39, 0xb7, 0xad, 0x4a, 0x5a,
- 0xe6, 0x49, 0x45, 0x31, 0xf0, 0xa8, 0xed, 0xad, 0xe7, 0x41, 0x65, 0x31, 0xd6, 0xeb, 0xdd, 0x82, 0xc5, 0x39, 0x04, 0x31, 0xeb, 0xd7, 0xa8, 0x5c, 0x24, 0x39, 0xa6, 0x31, 0x56, 0xf9, 0xaa, 0xa8,
- 0x85, 0x39, 0x04, 0x31, 0xa8, 0x98, 0x23, 0xf0, 0xc6, 0x49, 0xe4, 0x28, 0xae, 0x3e, 0x5e, 0x77, 0xc6, 0x49, 0xe4, 0x28, 0xaa, 0xba, 0x2f, 0x09, 0x06, 0x4a, 0x24, 0x41, 0xb6, 0xf7, 0xfe, 0x8a,
- 0x47, 0x62, 0x24, 0x49, 0x57, 0xff, 0x0b, 0xaf, 0x27, 0x6a, 0x02, 0x49, 0x5d, 0xdf, 0x82, 0x82, 0xa9, 0x72, 0x02, 0x49, 0x55, 0xff, 0xbe, 0x00, 0x26, 0x6a, 0x03, 0x49, 0x55, 0xaf, 0xaa, 0x20,
- 0x46, 0x6a, 0x03, 0x49, 0xd5, 0xff, 0xaa, 0x2a, 0x67, 0x7a, 0x63, 0x51, 0x55, 0xff, 0xfe, 0x28, 0x6a, 0x93, 0x84, 0x59, 0xd5, 0xff, 0xbf, 0x2a, 0xea, 0xab, 0xe6, 0x61, 0x0d, 0xab, 0x0b, 0x02,
- 0x4a, 0xbc, 0x02, 0x49, 0x60, 0x7a, 0x70, 0x58, 0x24, 0x49, 0xe2, 0x38, 0x25, 0x29, 0xaf, 0x0b, 0x44, 0x51, 0x03, 0x41, 0x2f, 0xbe, 0xb7, 0x38, 0x64, 0x59, 0x02, 0x49, 0x8a, 0x5f, 0x7e, 0xfe,
- 0x63, 0x51, 0x23, 0x49, 0x7a, 0x7f, 0xb9, 0xfe, 0x43, 0x51, 0xe3, 0x48, 0x72, 0xf2, 0x0c, 0xba, 0x42, 0x51, 0xe3, 0x48, 0xbd, 0xba, 0x28, 0xfa, 0x43, 0x51, 0x02, 0x49, 0xb9, 0xa2, 0x4a, 0x7b,
- 0x22, 0x51, 0xe3, 0x48, 0xfe, 0xaa, 0xcb, 0x7f, 0x23, 0x51, 0xe2, 0x40, 0xa0, 0x9e, 0xee, 0xef, 0x23, 0x49, 0xe2, 0x40, 0xeb, 0xef, 0x4f, 0xed, 0xa4, 0x61, 0xe2, 0x40, 0xa5, 0xa5, 0x35, 0x2d,
- 0xc4, 0x61, 0x43, 0x59, 0xdf, 0xf3, 0x7f, 0xfb, 0x49, 0x9b, 0xe4, 0x69, 0xdd, 0xb5, 0x35, 0x2d, 0xc9, 0xab, 0x27, 0x93, 0x89, 0xab, 0xab, 0xf8, 0xa9, 0xa3, 0x65, 0x8a, 0x28, 0xa8, 0xb8, 0xd7,
- 0x6d, 0xbc, 0x28, 0x9b, 0x8a, 0xab, 0x2b, 0x55, 0xae, 0xac, 0x48, 0x5a, 0xaf, 0x02, 0xf8, 0x5d, 0xce, 0xb4, 0xa9, 0x62, 0x00, 0x80, 0xd7, 0xd5, 0x6d, 0xac, 0x48, 0x52, 0xa0, 0xe2, 0x7f, 0x5f,
- 0x8d, 0xac, 0xe7, 0x41, 0xa0, 0xff, 0x7f, 0x57, 0x8a, 0x83, 0x48, 0x52, 0xa0, 0xaf, 0x5d, 0x6b, 0x4b, 0x73, 0x07, 0x42, 0xaa, 0x2a, 0x0b, 0x7f, 0x6b, 0x7b, 0x28, 0x52, 0x7a, 0x8f, 0x2a, 0x03,
- 0x6b, 0x7b, 0x29, 0x42, 0xd5, 0x57, 0xf0, 0xa0, 0xca, 0x62, 0xc7, 0x39, 0x22, 0x97, 0xfa, 0x78, 0xab, 0x7b, 0x66, 0x31, 0x0a, 0xaa, 0xff, 0xed, 0x2d, 0x8c, 0x48, 0x52, 0xa2, 0x7f, 0x7d, 0x55,
- 0x6a, 0x73, 0xe7, 0x41, 0x0a, 0xaa, 0xb5, 0xf5, 0x0d, 0x8c, 0xc9, 0x62, 0x22, 0xaf, 0xab, 0xbd, 0xed, 0x8b, 0x27, 0x52, 0x80, 0xa0, 0xda, 0xaa, 0x8c, 0x83, 0x07, 0x4a, 0x68, 0xa9, 0xa2, 0x8a,
- 0xac, 0x8b, 0x66, 0x31, 0xfd, 0xeb, 0x0a, 0xe2, 0xc9, 0x62, 0xa7, 0x39, 0xa9, 0xf7, 0x78, 0x7f, 0x69, 0x4a, 0x66, 0x29, 0xa0, 0x20, 0x2b, 0x25, 0x8a, 0x52, 0x28, 0x42, 0x5d, 0xdd, 0x5f, 0x78,
- 0x89, 0x52, 0x08, 0x42, 0x8b, 0xab, 0xb7, 0xbf, 0xcb, 0x5a, 0x28, 0x42, 0x7f, 0xf5, 0x7d, 0x74, 0x49, 0x4a, 0x65, 0x29, 0x2a, 0xa8, 0x60, 0x60, 0x49, 0x52, 0xa6, 0x31, 0x3a, 0xea, 0xfd, 0xb9,
- 0x0a, 0x6b, 0xa7, 0x31, 0x0a, 0xbd, 0xf5, 0xfd, 0x4a, 0x7b, 0x48, 0x4a, 0x02, 0xff, 0x75, 0x55, 0x27, 0x5a, 0x22, 0x51, 0x5f, 0x5c, 0x56, 0x7c, 0x43, 0x59, 0x02, 0x59, 0xbe, 0xaf, 0x30, 0xf9,
- 0x63, 0x61, 0x22, 0x59, 0xea, 0x36, 0x0b, 0xae, 0x63, 0x61, 0x02, 0x59, 0xfa, 0xdf, 0xf8, 0x7e, 0x83, 0x61, 0x21, 0x59, 0xfd, 0x5d, 0x8b, 0xa5, 0x83, 0x69, 0x02, 0x59, 0xed, 0x2d, 0xea, 0xba,
- 0x63, 0x61, 0x02, 0x59, 0x9c, 0xf0, 0xbe, 0xca, 0x63, 0x61, 0x02, 0x59, 0xe0, 0xba, 0xd7, 0xd5, 0x83, 0x61, 0x22, 0x59, 0xf7, 0xa7, 0xaf, 0xa2, 0x83, 0x61, 0x42, 0x59, 0xf2, 0x68, 0xea, 0xbf,
- 0x64, 0x61, 0x22, 0x59, 0x2e, 0xfb, 0xbb, 0x30, 0x83, 0x61, 0x42, 0x59, 0xe5, 0xaf, 0x72, 0xe3, 0x83, 0x69, 0x22, 0x51, 0x7f, 0x2a, 0xaa, 0x2a, 0xc4, 0x69, 0x03, 0x51, 0xad, 0xab, 0x8a, 0xa2,
- 0xe4, 0x69, 0x63, 0x61, 0xdf, 0x6b, 0xe9, 0xe3, 0xc4, 0x69, 0x63, 0x59, 0xd8, 0xee, 0xaa, 0x8a, 0xc4, 0x69, 0x62, 0x61, 0xbd, 0xaa, 0x8b, 0xea, 0xc4, 0x69, 0x63, 0x61, 0x9e, 0xa3, 0xeb, 0xbb,
- 0xc4, 0x69, 0x63, 0x61, 0xba, 0x6a, 0xaf, 0xf2, 0xa4, 0x69, 0x63, 0x61, 0x87, 0xaf, 0xeb, 0x3f, 0xa4, 0x69, 0x63, 0x61, 0xbf, 0xfe, 0xca, 0xe9, 0xa4, 0x69, 0x83, 0x61, 0x04, 0xa8, 0xf0, 0xc7,
- 0xe4, 0x69, 0x63, 0x61, 0x2e, 0xfb, 0xef, 0x5d, 0xa4, 0x69, 0x83, 0x59, 0xba, 0x8a, 0xab, 0xaa, 0xc4, 0x69, 0x63, 0x61, 0x9e, 0x8b, 0xae, 0xaf, 0xa4, 0x69, 0x82, 0x61, 0xd7, 0xae, 0x55, 0xdf,
- 0xc4, 0x69, 0x43, 0x59, 0xb8, 0x7a, 0xba, 0xfe, 0xa4, 0x69, 0x63, 0x61, 0xaa, 0x5d, 0x6a, 0xb3, 0xa4, 0x69, 0x43, 0x61, 0x7e, 0xdf, 0x22, 0x8a, 0xa6, 0x82, 0x84, 0x61, 0xad, 0xa9, 0xad, 0x2f,
- 0x89, 0xa3, 0xa6, 0x82, 0x2d, 0x29, 0x2f, 0xcb, 0x2b, 0xb4, 0xa9, 0xa3, 0x2d, 0xad, 0xab, 0xaf, 0x4c, 0xb4, 0xca, 0xab, 0x83, 0xe9, 0xab, 0x02, 0x8d, 0xc4, 0x6b, 0x83, 0xea, 0x6a, 0x6a, 0x52,
- 0x2d, 0x94, 0x2b, 0x73, 0x7d, 0xff, 0xab, 0xe2, 0xac, 0x83, 0x68, 0x52, 0xa2, 0xe0, 0xdc, 0x9f, 0xac, 0x7b, 0xea, 0x6a, 0x0b, 0xad, 0xbd, 0xfd, 0xac, 0x7b, 0x0b, 0x6b, 0xa8, 0xea, 0xfb, 0x0d,
- 0xcc, 0x83, 0x2b, 0x63, 0xaa, 0xdb, 0xfd, 0x88, 0xac, 0x83, 0xca, 0x5a, 0xff, 0x5f, 0xff, 0xa0, 0xcc, 0x7b, 0x69, 0x52, 0xab, 0xef, 0xaa, 0x01, 0xed, 0x83, 0xea, 0x62, 0xfd, 0x7d, 0x3a, 0x98,
- 0x0e, 0x94, 0x0b, 0x63, 0x55, 0xff, 0x38, 0x22, 0x0d, 0x8c, 0x2a, 0x6b, 0xf5, 0xaf, 0x8c, 0xe0, 0xcd, 0x83, 0xea, 0x6a, 0xaa, 0xe0, 0xda, 0xff, 0x8c, 0x7b, 0x0b, 0x6b, 0x62, 0xab, 0x8b, 0x89,
- 0xcc, 0x83, 0x08, 0x4a, 0x72, 0xaa, 0xa8, 0xaa, 0xac, 0x83, 0x88, 0x5a, 0xbd, 0x8f, 0xe8, 0xbe, 0xac, 0x7b, 0x0a, 0x73, 0xff, 0xfe, 0x2d, 0xea, 0x6c, 0x7b, 0x2b, 0x6b, 0x0a, 0x82, 0x40, 0xde,
- 0xac, 0x83, 0x0b, 0x63, 0x0a, 0xa0, 0x77, 0xbf, 0x8c, 0x7b, 0xa9, 0x62, 0x00, 0xab, 0xdf, 0x5a, 0x4b, 0x7b, 0x88, 0x62, 0x38, 0x08, 0xa8, 0x7b, 0x2b, 0x73, 0x29, 0x52, 0x58, 0x5e, 0xf6, 0x57,
- 0xcc, 0x7b, 0x89, 0x52, 0xb5, 0xb5, 0x25, 0x2d, 0xcc, 0x83, 0x0a, 0x63, 0xea, 0x2a, 0xa8, 0x70, 0xac, 0x7b, 0xa9, 0x5a, 0x8a, 0xaa, 0xe0, 0xad, 0x0a, 0x6b, 0x89, 0x52, 0xd2, 0x74, 0x5f, 0xf8,
- 0x06, 0x5a, 0x85, 0x49, 0xa2, 0xb8, 0xf8, 0x58, 0x47, 0x62, 0x64, 0x41, 0x80, 0xea, 0xff, 0x55, 0x27, 0x52, 0x25, 0x41, 0x2e, 0xab, 0xff, 0x35, 0x26, 0x5a, 0x45, 0x39, 0xf8, 0xfa, 0x7b, 0x68,
- 0xc6, 0x49, 0x65, 0x41, 0x82, 0x21, 0x01, 0x29, 0xe6, 0x51, 0x24, 0x39, 0xea, 0xe8, 0x4a, 0x60, 0x06, 0x52, 0x24, 0x39, 0x5f, 0x77, 0x89, 0x7d, 0xe7, 0x49, 0x04, 0x39, 0xb7, 0x3f, 0x03, 0x01,
- 0x07, 0x52, 0x24, 0x39, 0x78, 0xf8, 0x76, 0xfe, 0xc7, 0x49, 0x25, 0x39, 0xfd, 0xe7, 0x55, 0x3c, 0x68, 0x5a, 0x45, 0x39, 0xf5, 0xd5, 0x8b, 0xa2, 0xe6, 0x51, 0x03, 0x31, 0xe0, 0x78, 0x7c, 0xf8,
- 0x88, 0x62, 0x24, 0x31, 0xfd, 0x55, 0xf5, 0x25, 0x07, 0x4a, 0x45, 0x39, 0xa5, 0xad, 0x80, 0x54, 0x07, 0x52, 0x25, 0x31, 0xf6, 0xea, 0xbf, 0x2b, 0x28, 0x52, 0x25, 0x39, 0xfd, 0x5f, 0xfa, 0x00,
- 0x07, 0x52, 0x24, 0x31, 0x5b, 0xd5, 0xd5, 0xb8, 0xe6, 0x49, 0xe4, 0x30, 0x7f, 0xfe, 0xab, 0x22, 0xe6, 0x49, 0xe4, 0x30, 0x0d, 0xaf, 0x82, 0xa8, 0x48, 0x5a, 0x64, 0x31, 0xab, 0x82, 0xb5, 0xf7,
- 0x07, 0x4a, 0x85, 0x39, 0xb8, 0xe8, 0x8f, 0x65, 0xc7, 0x72, 0xa6, 0x41, 0x2f, 0x5f, 0xff, 0xd5, 0xe6, 0x82, 0x65, 0x49, 0xe0, 0xff, 0xbf, 0xd7, 0xc9, 0x7a, 0x64, 0x51, 0x7f, 0xf5, 0x2a, 0x2a,
- 0xe8, 0x8a, 0xa5, 0x59, 0x95, 0xab, 0x08, 0x80, 0xea, 0xab, 0x47, 0x72, 0xe5, 0xff, 0xaf, 0xc2, 0x0b, 0xac, 0xe1, 0x50, 0x2a, 0x02, 0x00, 0x57, 0x4a, 0xbc, 0xe2, 0x40, 0x22, 0xe0, 0x5e, 0x55,
- 0x87, 0xab, 0xe3, 0x38, 0x5c, 0x55, 0x55, 0x55, 0x64, 0x51, 0x03, 0x39, 0xbd, 0xab, 0x2a, 0x22, 0x44, 0x51, 0x22, 0x49, 0xdf, 0xda, 0x1e, 0x2c, 0x84, 0x59, 0x03, 0x49, 0xeb, 0x8d, 0x8b, 0xb8,
- 0x83, 0x59, 0x23, 0x51, 0xe7, 0xff, 0xca, 0xff, 0x43, 0x51, 0xe2, 0x48, 0xfc, 0x58, 0xfe, 0xf6, 0x44, 0x59, 0x02, 0x49, 0x5e, 0xf7, 0x35, 0x2a, 0x44, 0x59, 0xe2, 0x48, 0xdd, 0x83, 0xa8, 0x00,
- 0x43, 0x59, 0xc2, 0x40, 0xff, 0x5e, 0xf8, 0xa0, 0x23, 0x51, 0xc2, 0x38, 0xfb, 0xfd, 0xaa, 0xf8, 0x23, 0x49, 0xc2, 0x38, 0x8a, 0xf6, 0x5e, 0xfa, 0xa3, 0x69, 0xc2, 0x38, 0x2b, 0xab, 0xa9, 0xbd,
- 0x05, 0x72, 0x23, 0x59, 0xef, 0xb5, 0xbd, 0x2d, 0x28, 0x9b, 0x05, 0x72, 0x09, 0x2d, 0x2b, 0x2b, 0x68, 0x9b, 0x45, 0x82, 0x78, 0xa8, 0x02, 0xe8, 0x28, 0x9b, 0xa2, 0x69, 0xaf, 0x20, 0xaa, 0xad,
- 0x0b, 0xac, 0xe8, 0x8a, 0xbf, 0xcf, 0x49, 0x7d, 0xc9, 0x62, 0x08, 0x4a, 0x08, 0xeb, 0xff, 0xd7, 0xea, 0x6a, 0x48, 0x52, 0xb4, 0xff, 0xb5, 0x1d, 0x2b, 0x6b, 0x28, 0x52, 0xfb, 0xf7, 0xab, 0x80,
- 0x4b, 0x73, 0x08, 0x42, 0xd7, 0xae, 0x2a, 0xa8, 0x4b, 0x7b, 0x48, 0x52, 0x60, 0x70, 0x40, 0x68, 0xa9, 0x5a, 0xe8, 0x41, 0x7f, 0x2f, 0x2f, 0x3f, 0xec, 0x8b, 0xa6, 0x41, 0xab, 0x01, 0x02, 0xa2,
- 0x8b, 0x7b, 0xa9, 0x62, 0xea, 0xe8, 0x78, 0xb0, 0x8c, 0x7b, 0xc7, 0x41, 0x7b, 0xe2, 0xca, 0xf8, 0x0b, 0x63, 0x87, 0x39, 0x95, 0xdf, 0xf8, 0x2a, 0xea, 0x62, 0xe7, 0x41, 0xaa, 0x0f, 0xb5, 0xd7,
- 0x2a, 0x73, 0xe8, 0x49, 0xf5, 0xf8, 0xe0, 0x02, 0x4b, 0x7b, 0x48, 0x5a, 0x0d, 0x2d, 0xbf, 0xb6, 0x4a, 0x7b, 0x28, 0x62, 0xa8, 0xb8, 0x6c, 0xae, 0xab, 0x8b, 0x27, 0x62, 0x0a, 0x02, 0x29, 0xaf,
- 0xec, 0x93, 0x28, 0x5a, 0x70, 0xfa, 0xfa, 0xd7, 0xca, 0x6a, 0xc6, 0x41, 0xbd, 0xb0, 0xde, 0x78, 0xaa, 0x6a, 0xa6, 0x41, 0x6a, 0xcc, 0xeb, 0xed, 0x8a, 0x5a, 0x66, 0x39, 0x82, 0x85, 0xdd, 0xbe,
- 0x6a, 0x4a, 0xe7, 0x41, 0xfb, 0x7a, 0xe3, 0x83, 0xaa, 0x5a, 0xe8, 0x39, 0x72, 0x6b, 0x7d, 0xeb, 0x29, 0x4a, 0xa7, 0x39, 0x6f, 0xf9, 0xed, 0x0b, 0x28, 0x4a, 0xa7, 0x39, 0xdb, 0xcb, 0x17, 0x36,
- 0x8a, 0x5a, 0x87, 0x31, 0xef, 0xff, 0xff, 0x5c, 0x69, 0x4a, 0xa7, 0x39, 0xf8, 0x2b, 0x27, 0x75, 0x43, 0x59, 0x69, 0x52, 0x09, 0x0b, 0x0f, 0x2f, 0x43, 0x59, 0xe2, 0x50, 0xff, 0x38, 0x68, 0xb8,
- 0x84, 0x61, 0x22, 0x59, 0xf5, 0xcf, 0xfd, 0x55, 0x43, 0x59, 0x02, 0x51, 0x38, 0x98, 0xf0, 0xcd, 0x83, 0x61, 0x02, 0x59, 0xaf, 0x8b, 0x89, 0xe5, 0x63, 0x61, 0x02, 0x51, 0xc2, 0xea, 0xfa, 0x6f,
- 0x43, 0x61, 0x02, 0x51, 0xa0, 0xba, 0x0e, 0xeb, 0x44, 0x59, 0x02, 0x51, 0x1f, 0x8a, 0x8e, 0x22, 0x84, 0x69, 0x22, 0x59, 0x0e, 0xbb, 0xed, 0xd7, 0x63, 0x61, 0x22, 0x59, 0x02, 0x82, 0xaa, 0x57,
- 0x63, 0x61, 0x02, 0x59, 0x08, 0x0a, 0x28, 0xd6, 0x83, 0x61, 0x22, 0x59, 0x02, 0xe8, 0x20, 0x7d, 0x64, 0x61, 0x22, 0x59, 0xe7, 0x02, 0x3f, 0x09, 0x84, 0x69, 0x62, 0x59, 0x8b, 0xef, 0x57, 0xef,
- 0xa4, 0x69, 0x63, 0x59, 0xbb, 0xe9, 0xbf, 0x0f, 0xa4, 0x69, 0x63, 0x59, 0x2a, 0xbf, 0xaf, 0xae, 0xc4, 0x69, 0x63, 0x61, 0x23, 0xff, 0xa5, 0xf7, 0xa4, 0x69, 0x63, 0x59, 0xab, 0xb9, 0xea, 0xaa,
- 0xa4, 0x61, 0x62, 0x61, 0xb7, 0xef, 0xfa, 0xe8, 0xa4, 0x69, 0x63, 0x59, 0x3f, 0x2a, 0xcb, 0xaf, 0xa4, 0x69, 0x83, 0x59, 0x2e, 0xa9, 0xbe, 0xb9, 0xc4, 0x69, 0x63, 0x61, 0xde, 0x58, 0xdd, 0xba,
- 0xe4, 0x69, 0x83, 0x61, 0xbf, 0x3d, 0x55, 0x79, 0xc4, 0x69, 0x82, 0x59, 0xfe, 0xba, 0xea, 0x2a, 0xc4, 0x71, 0x63, 0x61, 0xf7, 0xd7, 0xea, 0xe8, 0xc4, 0x69, 0x63, 0x61, 0xe9, 0xbb, 0x8a, 0x2b,
- 0xc4, 0x69, 0x62, 0x61, 0xde, 0xfe, 0x3e, 0xfa, 0xc4, 0x69, 0x63, 0x61, 0xaf, 0x37, 0x80, 0xfe, 0xc4, 0x69, 0x63, 0x61, 0xba, 0xf2, 0xda, 0x55, 0xe7, 0x8a, 0xe4, 0x69, 0x35, 0x2d, 0xbd, 0x2d,
- 0xa9, 0xa3, 0x86, 0x82, 0x4b, 0x0b, 0x2f, 0x0b, 0x2b, 0xb4, 0x89, 0xa3, 0xaf, 0x9b, 0xab, 0x26, 0x6c, 0xbc, 0x0b, 0xb4, 0x2b, 0xe7, 0x29, 0xdd, 0x8e, 0xc4, 0x68, 0x62, 0xb8, 0x7a, 0x54, 0x5c,
- 0x2b, 0x73, 0xa6, 0x39, 0x94, 0x2d, 0xde, 0xcb, 0x2b, 0x6b, 0xe7, 0x41, 0x00, 0x0a, 0xab, 0x29, 0x4b, 0x73, 0xaa, 0x62, 0x5a, 0x2f, 0x2b, 0x2b, 0x8c, 0x7b, 0xea, 0x6a, 0xad, 0xa2, 0xab, 0x88,
- 0xac, 0x7b, 0x69, 0x62, 0x07, 0xc2, 0x22, 0xaa, 0xac, 0x83, 0x47, 0x52, 0x80, 0x1e, 0xde, 0xff, 0xaf, 0x9c, 0x68, 0x5a, 0xb7, 0x20, 0x0a, 0x7f, 0x4e, 0x94, 0x06, 0x4a, 0xaa, 0x00, 0xa8, 0xfd,
- 0x0d, 0x8c, 0xea, 0x62, 0x00, 0xe0, 0xf7, 0xd5, 0x8c, 0x7b, 0x48, 0x52, 0x00, 0x22, 0x02, 0x60, 0x8f, 0x9c, 0xa6, 0x41, 0xaa, 0xaa, 0x8a, 0xfd, 0x6f, 0x8c, 0x2a, 0x73, 0xfb, 0xf5, 0x5f, 0x0f,
- 0xac, 0x83, 0x07, 0x4a, 0xaa, 0x68, 0x2a, 0xf8, 0xab, 0x83, 0xc8, 0x49, 0xb7, 0xa9, 0x80, 0xab, 0xed, 0x8b, 0x88, 0x5a, 0xab, 0xfb, 0xbf, 0x71, 0xcc, 0x83, 0x27, 0x52, 0x00, 0xab, 0xa8, 0xfd,
- 0xac, 0x83, 0x08, 0x4a, 0x80, 0x78, 0xa3, 0xaa, 0xab, 0x7b, 0x28, 0x4a, 0xc2, 0x57, 0x57, 0x54, 0x0a, 0x63, 0x49, 0x4a, 0xd8, 0xf9, 0xab, 0x2f, 0xec, 0x83, 0x69, 0x4a, 0x55, 0xb5, 0x03, 0x02,
- 0xed, 0x8b, 0xca, 0x5a, 0xe9, 0xfa, 0xe8, 0xa8, 0x8c, 0x73, 0xe7, 0x41, 0xff, 0xfe, 0xfa, 0x68, 0xac, 0x7b, 0x89, 0x52, 0x8b, 0x8b, 0x83, 0x29, 0x8c, 0x7b, 0xe9, 0x62, 0x7e, 0xfe, 0xea, 0x80,
- 0xc9, 0x62, 0x04, 0x39, 0xf5, 0xf5, 0xb7, 0x27, 0x8a, 0x83, 0x25, 0x39, 0x55, 0xfd, 0xa2, 0xe0, 0xe9, 0x6a, 0xa6, 0x41, 0x7d, 0xff, 0xaa, 0xa2, 0x27, 0x52, 0x85, 0x39, 0x42, 0xf8, 0xf8, 0xfc,
- 0xe6, 0x51, 0x64, 0x41, 0x75, 0xde, 0xe8, 0xa8, 0x27, 0x52, 0x65, 0x41, 0x6b, 0x2b, 0x3b, 0xab, 0x27, 0x5a, 0x04, 0x29, 0xfd, 0xfe, 0xbc, 0xa8, 0x27, 0x5a, 0x24, 0x31, 0x0f, 0x2d, 0xdd, 0x57,
- 0x27, 0x52, 0x45, 0x39, 0x70, 0xa0, 0xa8, 0x6b, 0x26, 0x52, 0x45, 0x39, 0x0d, 0xaa, 0xfa, 0xad, 0xcd, 0x93, 0x23, 0x31, 0x7f, 0x57, 0x5d, 0x4f, 0xcd, 0x83, 0x45, 0x39, 0x55, 0xd5, 0xd5, 0x35,
- 0xab, 0x83, 0xa6, 0x41, 0xd5, 0xb5, 0x83, 0x78, 0x2d, 0x9c, 0x64, 0x31, 0x5f, 0x02, 0x7f, 0x7f, 0xcb, 0x93, 0x65, 0x39, 0x7d, 0xf8, 0xf7, 0xfd, 0x0a, 0x73, 0x24, 0x31, 0x0b, 0xfa, 0xf5, 0xf7,
- 0xe9, 0x62, 0x24, 0x29, 0x2c, 0x57, 0xff, 0xaf, 0xc9, 0x6a, 0x85, 0x31, 0x50, 0xb5, 0x57, 0xd7, 0x8c, 0x7b, 0x24, 0x31, 0xdd, 0xa8, 0xbd, 0x5f, 0xeb, 0x8b, 0xa6, 0x41, 0x55, 0xff, 0x8a, 0xdf,
- 0x6a, 0x8b, 0xa6, 0x41, 0x55, 0xdf, 0x70, 0xff, 0xcc, 0x7b, 0xa6, 0x41, 0x55, 0xf7, 0xc2, 0x5f, 0xa8, 0x62, 0xc7, 0x49, 0x97, 0xfa, 0xe0, 0xfd, 0xed, 0x8b, 0x85, 0x41, 0x72, 0xf7, 0xfd, 0xbf,
- 0x09, 0x7b, 0x44, 0x49, 0xff, 0x57, 0x57, 0x54, 0xa4, 0x59, 0x23, 0x41, 0xdc, 0x77, 0x7f, 0xf7, 0x44, 0x49, 0xc3, 0x38, 0xa0, 0x82, 0x78, 0x7a, 0x64, 0x49, 0x03, 0x41, 0xfd, 0xf9, 0x8f, 0xff,
- 0x44, 0x51, 0x03, 0x41, 0xe7, 0xb7, 0xe0, 0x8e, 0x84, 0x51, 0x23, 0x49, 0xfb, 0x8b, 0xfe, 0xa8, 0x64, 0x59, 0x23, 0x49, 0xf2, 0x23, 0x9f, 0xfa, 0x64, 0x59, 0x23, 0x51, 0x7f, 0xca, 0xa2, 0x65,
- 0xa4, 0x59, 0x03, 0x51, 0x2f, 0xb7, 0xff, 0xfd, 0x63, 0x59, 0x02, 0x49, 0xd8, 0x6a, 0xfe, 0xfa, 0x44, 0x51, 0x23, 0x49, 0x98, 0x58, 0xfe, 0x28, 0x44, 0x59, 0x03, 0x51, 0x80, 0x2e, 0x83, 0xe9,
- 0x44, 0x59, 0x03, 0x51, 0x9e, 0x4a, 0xfa, 0xad, 0x23, 0x51, 0xe2, 0x40, 0x98, 0x37, 0xb8, 0xa0, 0x22, 0x51, 0xe3, 0x38, 0x5e, 0x7e, 0xd8, 0xfe, 0x64, 0x61, 0xe3, 0x40, 0xbd, 0x2f, 0xab, 0x83,
- 0x46, 0x7a, 0x63, 0x59, 0xad, 0xbf, 0xbd, 0x3f, 0x07, 0x93, 0x66, 0x7a, 0x0b, 0xaf, 0xe9, 0xbd, 0x06, 0x93, 0x63, 0x69, 0xf8, 0xa0, 0x78, 0x7a, 0xc6, 0x8a, 0x23, 0x59, 0x2d, 0x2a, 0xa5, 0xbd,
- 0x6e, 0xbc, 0x65, 0x82, 0x3f, 0x95, 0xf5, 0xf5, 0xab, 0x9b, 0x07, 0x42, 0x57, 0x77, 0x7e, 0x7c, 0xca, 0x62, 0xc8, 0x41, 0x0a, 0x5e, 0xaf, 0xbd, 0x0a, 0x73, 0x48, 0x52, 0x82, 0x89, 0x0f, 0x7b,
- 0x0a, 0x6b, 0x07, 0x4a, 0xa0, 0xb0, 0xe2, 0x55, 0x0a, 0x6b, 0x89, 0x5a, 0xf3, 0xf2, 0x5b, 0xb9, 0x2b, 0x6b, 0xe8, 0x49, 0x97, 0xff, 0xa2, 0x02, 0xeb, 0x8b, 0x8a, 0x5a, 0xb2, 0x5f, 0xff, 0xdf,
- 0x8c, 0x83, 0x28, 0x4a, 0xa8, 0x5c, 0x7c, 0x5f, 0x2b, 0x6b, 0x28, 0x4a, 0xff, 0x55, 0x15, 0x07, 0x2e, 0x94, 0xe8, 0x41, 0x5d, 0x5f, 0xa8, 0xaa, 0x2b, 0x73, 0xe8, 0x49, 0xdf, 0xab, 0xa0, 0x6b,
- 0xac, 0x83, 0xc6, 0x41, 0xab, 0x0b, 0x02, 0xf5, 0xac, 0x83, 0x07, 0x52, 0xae, 0x8a, 0xd8, 0xef, 0x4b, 0x7b, 0x65, 0x39, 0xfa, 0x80, 0x2f, 0x5a, 0xea, 0x72, 0xc7, 0x41, 0xc0, 0xfb, 0xe0, 0x5a,
- 0x89, 0x5a, 0x08, 0x52, 0x97, 0x3d, 0xce, 0xad, 0x0a, 0x73, 0xe7, 0x49, 0x7e, 0x7b, 0xa3, 0xda, 0x0a, 0x6b, 0x86, 0x39, 0xab, 0xbd, 0x02, 0x37, 0xaa, 0x62, 0xa7, 0x49, 0x1e, 0xcf, 0xee, 0xba,
- 0xaa, 0x62, 0x86, 0x39, 0xa7, 0xba, 0x7f, 0x4b, 0x69, 0x4a, 0x87, 0x41, 0x88, 0x02, 0x8a, 0x9d, 0xaa, 0x5a, 0xc7, 0x39, 0xad, 0x8a, 0x0f, 0x0b, 0x0b, 0x6b, 0x08, 0x42, 0xf5, 0xe3, 0x2f, 0x8a,
- 0x8c, 0x7b, 0x28, 0x4a, 0x5f, 0xfb, 0xe2, 0x83, 0x4c, 0x6b, 0xe7, 0x41, 0xd5, 0x5e, 0x0a, 0x52, 0x2c, 0x6b, 0x63, 0x59, 0x7a, 0x72, 0x7a, 0x7a, 0x43, 0x61, 0x02, 0x51, 0xfc, 0x5e, 0x5e, 0x5a,
- 0x44, 0x59, 0x02, 0x49, 0x8f, 0xed, 0xa5, 0xa7, 0x03, 0x59, 0x43, 0x51, 0xf7, 0x85, 0xdf, 0xaa, 0x43, 0x59, 0x03, 0x51, 0xda, 0xbd, 0x0a, 0x0f, 0x43, 0x59, 0x02, 0x51, 0x68, 0xbf, 0xe0, 0xe0,
- 0x63, 0x59, 0x22, 0x51, 0x7d, 0xfb, 0x23, 0xf9, 0x63, 0x61, 0x22, 0x51, 0xeb, 0xff, 0xbf, 0xdd, 0x64, 0x61, 0x02, 0x59, 0xaa, 0x2d, 0x2b, 0xbf, 0x62, 0x59, 0x03, 0x51, 0x7a, 0x7c, 0xfe, 0xae,
- 0x43, 0x59, 0x02, 0x49, 0x7a, 0xff, 0xf0, 0x5e, 0x43, 0x59, 0x02, 0x51, 0x37, 0xff, 0xd7, 0xfd, 0xa3, 0x61, 0x02, 0x51, 0x2f, 0x2b, 0xf5, 0xd5, 0xa4, 0x69, 0x42, 0x59, 0xdf, 0xae, 0xae, 0xbf,
- 0xa4, 0x69, 0x43, 0x59, 0x7f, 0xaa, 0x2a, 0x8b, 0xc3, 0x69, 0x64, 0x61, 0x7f, 0xbf, 0x22, 0x2a, 0xa4, 0x69, 0x83, 0x61, 0x5d, 0xb4, 0x00, 0xd3, 0xc4, 0x69, 0x83, 0x61, 0xef, 0xff, 0x3f, 0x5f,
- 0xa4, 0x69, 0x63, 0x61, 0x68, 0xe2, 0xba, 0x7c, 0xc4, 0x69, 0x82, 0x61, 0x6f, 0x29, 0xe9, 0x85, 0xc4, 0x69, 0x62, 0x61, 0xf8, 0xf2, 0x7e, 0xff, 0x62, 0x69, 0xc4, 0x61, 0xfe, 0x2a, 0xff, 0xbe,
- 0xc4, 0x69, 0x83, 0x61, 0xaf, 0x6b, 0x75, 0xd6, 0xc4, 0x69, 0x62, 0x61, 0xe8, 0x3f, 0xb7, 0xfe, 0xa4, 0x69, 0x63, 0x61, 0x3b, 0xab, 0xb8, 0xd5, 0xa3, 0x69, 0x42, 0x61, 0xa0, 0xde, 0xa2, 0xfb,
- 0x83, 0x69, 0x62, 0x59, 0xbe, 0xbc, 0xfa, 0xbf, 0xa4, 0x69, 0x63, 0x61, 0xa7, 0x2c, 0x89, 0xb7, 0xa7, 0x7a, 0x63, 0x61, 0x55, 0x55, 0xf5, 0x8b, 0xe8, 0x8a, 0xe4, 0x69, 0x8f, 0xf5, 0xaf, 0x20,
- 0xeb, 0xab, 0x86, 0x82, 0xaf, 0xd5, 0x2f, 0x03, 0x6c, 0xb4, 0x28, 0x93, 0xbf, 0xa9, 0x2a, 0x2a, 0xce, 0xc4, 0x89, 0xa3, 0x2b, 0x2a, 0x2a, 0xd2, 0x6e, 0xac, 0x66, 0x41, 0xfc, 0xfe, 0x5f, 0xfd,
- 0xca, 0x6a, 0x46, 0x31, 0x70, 0xde, 0x55, 0x56, 0xea, 0x62, 0x46, 0x39, 0x2f, 0x2d, 0xd5, 0xd5, 0x6b, 0x73, 0x49, 0x5a, 0x0a, 0xab, 0xad, 0xf5, 0x6b, 0x7b, 0xc6, 0x41, 0x00, 0x5a, 0xfe, 0xba,
- 0x0a, 0x7b, 0xc7, 0x41, 0xa0, 0x0b, 0xfa, 0xf6, 0x0b, 0x73, 0x66, 0x39, 0xa8, 0xfe, 0x77, 0xae, 0xa9, 0x62, 0x46, 0x31, 0x00, 0xaa, 0x7f, 0xff, 0xa9, 0x5a, 0x67, 0x31, 0x2c, 0xe2, 0x2d, 0x2f,
- 0x2a, 0x73, 0xe7, 0x41, 0x82, 0xf5, 0xde, 0x57, 0xe9, 0x6a, 0x87, 0x39, 0x0b, 0x2b, 0x5f, 0xeb, 0x4a, 0x6b, 0xc7, 0x41, 0x82, 0xab, 0xbf, 0xfd, 0x0a, 0x6b, 0x08, 0x4a, 0x0a, 0xee, 0xab, 0xf7,
- 0x2b, 0x73, 0x28, 0x52, 0x68, 0xae, 0x8f, 0xa7, 0x2b, 0x73, 0x88, 0x5a, 0x1f, 0xa0, 0xea, 0x92, 0x4b, 0x73, 0xe7, 0x49, 0x56, 0xfe, 0xfe, 0x82, 0x6b, 0x83, 0x89, 0x62, 0xad, 0x22, 0x2d, 0x67,
- 0x6b, 0x7b, 0xe6, 0x41, 0x00, 0xa0, 0xda, 0xad, 0xc9, 0x62, 0xa6, 0x39, 0xf8, 0xfc, 0xf8, 0x58, 0x6b, 0x73, 0xe7, 0x41, 0xaf, 0x0b, 0x2d, 0x2d, 0xec, 0x83, 0xea, 0x62, 0x0b, 0x0a, 0x7a, 0x5f,
- 0xcc, 0x83, 0xa9, 0x5a, 0x80, 0xf8, 0xad, 0xef, 0x2b, 0x6b, 0x28, 0x4a, 0x86, 0xb8, 0xb4, 0xd6, 0x8b, 0x7b, 0x28, 0x4a, 0x2f, 0xba, 0x7a, 0xd7, 0xec, 0x83, 0x89, 0x5a, 0xa8, 0xaa, 0xed, 0xd5,
- 0x29, 0x83, 0x85, 0x49, 0xd7, 0xf5, 0x83, 0x8b, 0xed, 0x93, 0x45, 0x39, 0x5f, 0xff, 0xfe, 0xb4, 0x8f, 0xa4, 0x64, 0x39, 0xed, 0x8b, 0xca, 0x58, 0x27, 0x5a, 0x85, 0x39, 0xee, 0x72, 0x57, 0x2d,
- 0x28, 0x52, 0xa5, 0x41, 0xf6, 0x3d, 0xa3, 0x89, 0x28, 0x52, 0xc6, 0x41, 0x7a, 0x7f, 0x80, 0xa2, 0xca, 0x6a, 0x44, 0x39, 0xff, 0xff, 0xfd, 0x0d, 0x6b, 0x83, 0x44, 0x39, 0x55, 0x7d, 0xcb, 0x20,
- 0xe9, 0x72, 0x24, 0x39, 0xd5, 0xdd, 0x9f, 0x88, 0xed, 0x8b, 0x64, 0x39, 0xf5, 0xbd, 0xf0, 0x55, 0xcb, 0x83, 0x23, 0x31, 0xeb, 0x82, 0xf7, 0xff, 0x8a, 0x83, 0x64, 0x31, 0x62, 0x57, 0xd7, 0xdf,
- 0xe9, 0x6a, 0x85, 0x31, 0xff, 0xdd, 0xff, 0xa2, 0x2a, 0x6b, 0x64, 0x31, 0xba, 0xaa, 0x02, 0xd7, 0xa8, 0x5a, 0x65, 0x31, 0xbf, 0x2d, 0xb6, 0xf7, 0xe9, 0x6a, 0x85, 0x31, 0x82, 0xba, 0x2f, 0xd5,
- 0xca, 0x62, 0xe7, 0x41, 0x5f, 0x8a, 0x6d, 0xab, 0xcd, 0x7b, 0xc6, 0x41, 0x55, 0xff, 0xdf, 0x27, 0x70, 0x94, 0x68, 0x52, 0xfd, 0x5d, 0xfd, 0x2a, 0xed, 0x8b, 0x07, 0x4a, 0x5f, 0xef, 0xdf, 0xb0,
- 0x4d, 0x9c, 0xc7, 0x39, 0x5f, 0xaf, 0x0a, 0x02, 0x6d, 0xa4, 0x28, 0x52, 0x7d, 0xca, 0x5f, 0x60, 0x6e, 0xa4, 0xca, 0x62, 0xfd, 0xfb, 0x23, 0x5d, 0x2d, 0x94, 0x0a, 0x6b, 0xaf, 0xbd, 0xb8, 0xa2,
- 0x4d, 0x9c, 0x23, 0x49, 0x5e, 0x58, 0x7a, 0x00, 0xc6, 0x59, 0x24, 0x49, 0x5f, 0xfb, 0xdf, 0xf0, 0x65, 0x51, 0xc3, 0x40, 0x6c, 0xea, 0xe0, 0xf8, 0x64, 0x51, 0x23, 0x49, 0x9d, 0xc8, 0xfe, 0xde,
- 0x64, 0x59, 0x23, 0x49, 0xf3, 0xba, 0xbb, 0xbe, 0x63, 0x59, 0x44, 0x51, 0x7d, 0x55, 0x0f, 0x26, 0xa4, 0x59, 0x03, 0x49, 0x7f, 0xeb, 0xf2, 0xae, 0x64, 0x59, 0x23, 0x49, 0x95, 0xad, 0xb2, 0xab,
- 0x63, 0x59, 0x04, 0x51, 0xad, 0xaa, 0xbd, 0x28, 0x64, 0x59, 0x23, 0x51, 0x76, 0xd1, 0xa7, 0xee, 0x64, 0x59, 0x23, 0x51, 0x7f, 0x7b, 0x96, 0x33, 0x63, 0x59, 0x23, 0x49, 0xfa, 0xbd, 0xaf, 0xa8,
- 0x63, 0x59, 0x23, 0x51, 0xfd, 0xfd, 0xee, 0xe2, 0x64, 0x61, 0xc2, 0x40, 0x6a, 0xfa, 0xaa, 0x82, 0xa4, 0x61, 0xe3, 0x40, 0x55, 0x55, 0xbe, 0x0a, 0x25, 0x72, 0x03, 0x51, 0xf9, 0xbd, 0xab, 0x02,
- 0xa6, 0x82, 0xa4, 0x61, 0xb5, 0xbd, 0x2b, 0x23, 0x86, 0x82, 0x04, 0x7a, 0xa2, 0x82, 0x00, 0x7f, 0x65, 0x82, 0x43, 0x61, 0x78, 0xa8, 0x80, 0x8a, 0x07, 0x93, 0x84, 0x61, 0x25, 0xaf, 0xaf, 0x2e,
- 0x8a, 0xa3, 0xc6, 0x8a, 0x35, 0x35, 0xbf, 0x0f, 0x8e, 0xbc, 0x27, 0x52, 0xf4, 0xfe, 0xf6, 0xb4, 0xac, 0x7b, 0x08, 0x4a, 0x57, 0x57, 0xfa, 0xa0, 0x0b, 0x63, 0x28, 0x4a, 0x7d, 0xbb, 0xb7, 0xa8,
- 0x2b, 0x6b, 0x08, 0x42, 0xd7, 0xf6, 0xaa, 0x00, 0x2b, 0x6b, 0x86, 0x39, 0xad, 0x7a, 0x82, 0x38, 0x0a, 0x73, 0x07, 0x4a, 0x8a, 0x09, 0xa2, 0xe0, 0x6b, 0x73, 0x89, 0x5a, 0xa2, 0x80, 0xbf, 0x4d,
- 0xcc, 0x83, 0x68, 0x52, 0xfa, 0xaa, 0xaa, 0x09, 0xec, 0x8b, 0x08, 0x52, 0xbf, 0xea, 0x82, 0xdc, 0x4b, 0x7b, 0x27, 0x4a, 0xa0, 0x70, 0x7b, 0xee, 0x2a, 0x73, 0x66, 0x31, 0xe2, 0xab, 0xde, 0xaa,
- 0xaa, 0x62, 0x86, 0x39, 0x17, 0xbf, 0xca, 0xb0, 0xea, 0x72, 0xc7, 0x41, 0x02, 0xfb, 0x8b, 0x97, 0x0a, 0x73, 0xe7, 0x41, 0x6a, 0x9f, 0xfe, 0xf8, 0xea, 0x72, 0xe7, 0x41, 0x63, 0x8b, 0xab, 0xdd,
- 0x2a, 0x73, 0xc7, 0x41, 0x6f, 0xae, 0xe0, 0x37, 0xea, 0x6a, 0xc7, 0x41, 0x7c, 0xee, 0x37, 0xef, 0xca, 0x62, 0xa6, 0x39, 0xfc, 0xdd, 0xba, 0xff, 0xea, 0x6a, 0x08, 0x4a, 0xff, 0xbf, 0x2f, 0xfd,
- 0xaa, 0x62, 0xa6, 0x39, 0xd7, 0xce, 0xfc, 0xe0, 0x49, 0x52, 0x66, 0x39, 0xfa, 0x2a, 0xaa, 0xd8, 0xa9, 0x5a, 0xc7, 0x39, 0x2d, 0xaa, 0xfa, 0xfb, 0x0b, 0x6b, 0x28, 0x4a, 0xb2, 0xb7, 0x0d, 0xd5,
- 0x2b, 0x73, 0xe7, 0x41, 0x2e, 0x7a, 0xa0, 0x8b, 0x4f, 0x9c, 0xa6, 0x39, 0xde, 0xa3, 0xbe, 0xfa, 0xed, 0x7b, 0x64, 0x51, 0x7f, 0x7a, 0xf8, 0x7e, 0xa4, 0x61, 0x22, 0x59, 0x7a, 0x5e, 0xe2, 0xfa,
- 0x44, 0x59, 0x02, 0x49, 0xbf, 0xe8, 0xb8, 0x98, 0x64, 0x61, 0x23, 0x51, 0x7f, 0xff, 0x27, 0x17, 0xa4, 0x61, 0x23, 0x51, 0xd5, 0xfd, 0xe8, 0xca, 0x64, 0x61, 0x02, 0x51, 0x7e, 0xfa, 0xf8, 0xfe,
- 0x43, 0x59, 0x22, 0x49, 0xaa, 0x9a, 0x8f, 0x2a, 0x43, 0x59, 0x02, 0x49, 0x7e, 0xaa, 0x2a, 0x0c, 0x64, 0x59, 0x02, 0x51, 0x89, 0x0b, 0xae, 0x28, 0x84, 0x59, 0x03, 0x51, 0xff, 0x7f, 0x57, 0x78,
- 0x64, 0x59, 0x03, 0x49, 0xff, 0x77, 0xb5, 0x35, 0x64, 0x51, 0xe2, 0x48, 0xf7, 0xff, 0xf6, 0x8a, 0x84, 0x61, 0x02, 0x49, 0xd5, 0xf5, 0xfd, 0x0a, 0xa4, 0x69, 0x23, 0x51, 0xfd, 0xa9, 0x02, 0x82,
- 0xa3, 0x69, 0x64, 0x59, 0xed, 0xf7, 0xa8, 0x22, 0xa4, 0x69, 0x63, 0x61, 0xae, 0xca, 0xf2, 0x6e, 0xc4, 0x69, 0x43, 0x59, 0xae, 0xfb, 0xb7, 0xb3, 0xc4, 0x69, 0x43, 0x61, 0xab, 0xaa, 0xb7, 0x0e,
- 0xc4, 0x69, 0x43, 0x61, 0xa8, 0xde, 0xfc, 0x7a, 0x83, 0x69, 0x63, 0x59, 0xaa, 0xb7, 0x0b, 0xaa, 0xc3, 0x69, 0x42, 0x61, 0xa2, 0xf5, 0xaa, 0xea, 0xa4, 0x69, 0x62, 0x61, 0x34, 0x88, 0xea, 0xbd,
- 0xc4, 0x69, 0x62, 0x59, 0xfa, 0x8a, 0xb8, 0x7f, 0xc4, 0x69, 0x62, 0x61, 0x7e, 0xaf, 0xaa, 0xff, 0xc4, 0x69, 0x42, 0x61, 0xba, 0xfa, 0x28, 0xde, 0xc3, 0x69, 0x62, 0x61, 0xef, 0xeb, 0xfc, 0x7f,
- 0xa4, 0x69, 0x63, 0x59, 0xae, 0xd7, 0xd7, 0x7f, 0xc7, 0x7a, 0x43, 0x59, 0xd5, 0xbf, 0xad, 0x8d, 0x69, 0x93, 0x25, 0x6a, 0xb5, 0x07, 0x81, 0xa8, 0x48, 0x93, 0xa6, 0x82, 0xdc, 0xbe, 0x3f, 0x17,
- 0x2c, 0xb4, 0xc7, 0x8a, 0x29, 0x2b, 0xaa, 0x62, 0xad, 0xbc, 0x86, 0x82, 0x2a, 0x2a, 0x82, 0x25, 0xae, 0xc4, 0x64, 0x49, 0xd0, 0xf8, 0xff, 0xe8, 0xaa, 0x6a, 0xe7, 0x49, 0xfe, 0xef, 0xab, 0x68,
- 0xeb, 0x72, 0x87, 0x39, 0x5f, 0xfd, 0x0b, 0x0b, 0x0b, 0x73, 0x66, 0x39, 0x95, 0xb7, 0xbc, 0xa8, 0x4c, 0x7b, 0x48, 0x5a, 0xfd, 0x7f, 0x5a, 0x37, 0xea, 0x72, 0xc8, 0x49, 0x8a, 0xeb, 0xf7, 0x9f,
- 0xeb, 0x72, 0xa6, 0x41, 0x7b, 0x25, 0xa7, 0xfc, 0xca, 0x62, 0x87, 0x41, 0xbb, 0x2c, 0x37, 0xfd, 0x8a, 0x62, 0xa7, 0x41, 0x7e, 0x5e, 0x78, 0xff, 0x69, 0x5a, 0x66, 0x31, 0x0a, 0xbf, 0xbf, 0x7f,
- 0x49, 0x52, 0xa7, 0x41, 0xda, 0x7f, 0x5e, 0x3b, 0xaa, 0x6a, 0xa7, 0x39, 0xff, 0xd5, 0x5d, 0xa0, 0xaa, 0x6a, 0xe8, 0x51, 0xfb, 0xbe, 0x58, 0xde, 0xaa, 0x6a, 0xc7, 0x49, 0xaa, 0xa8, 0x8b, 0xd7,
- 0x0a, 0x6b, 0x08, 0x52, 0x8b, 0xdf, 0x5f, 0xf7, 0x0a, 0x73, 0xa7, 0x39, 0x2a, 0xfe, 0xfd, 0xf7, 0x6b, 0x7b, 0x27, 0x52, 0xa0, 0x85, 0xaf, 0x2d, 0x6c, 0x83, 0x08, 0x4a, 0xfa, 0x8a, 0x5a, 0x7e,
- 0xca, 0x62, 0xc7, 0x41, 0xbc, 0xf7, 0xfb, 0xf0, 0x28, 0x4a, 0x87, 0x39, 0x6c, 0xdf, 0x5f, 0x54, 0xe9, 0x62, 0xa7, 0x41, 0x3d, 0xb5, 0xd5, 0xd5, 0x0a, 0x6b, 0x07, 0x4a, 0x00, 0xa2, 0xa9, 0x2d,
- 0x4b, 0x73, 0x28, 0x52, 0xc2, 0x72, 0xde, 0xde, 0xca, 0x62, 0x49, 0x52, 0xb7, 0xab, 0x2b, 0x85, 0x8a, 0x62, 0xc7, 0x41, 0xb8, 0xe6, 0x58, 0x7e, 0xa9, 0x5a, 0x66, 0x39, 0xf2, 0x7f, 0xff, 0xf9,
- 0x4d, 0xa4, 0xc8, 0x7a, 0xad, 0xab, 0x0b, 0x00, 0x0b, 0x9c, 0x84, 0x49, 0x2c, 0x5c, 0x5c, 0x58, 0x4a, 0x73, 0x86, 0x39, 0xf8, 0xdd, 0x55, 0x2d, 0xef, 0xac, 0xc7, 0x41, 0x55, 0xd5, 0xb5, 0x82,
- 0xce, 0xa4, 0xc6, 0x41, 0xf5, 0xab, 0x60, 0x5f, 0xae, 0x9c, 0x04, 0x31, 0xbe, 0x02, 0x55, 0xd7, 0x8d, 0xa4, 0x44, 0x29, 0xa8, 0xe0, 0x55, 0x55, 0x89, 0x83, 0x44, 0x31, 0xe0, 0xfd, 0xff, 0xfd,
- 0x67, 0x5a, 0x85, 0x39, 0xe8, 0x7a, 0xdf, 0xf5, 0xe7, 0x49, 0x24, 0x29, 0xde, 0x77, 0xf0, 0xa0, 0x28, 0x4a, 0x04, 0x29, 0x5f, 0xea, 0xbf, 0x62, 0x4c, 0x6b, 0x65, 0x31, 0xd7, 0xf5, 0xff, 0x21,
- 0xad, 0x83, 0x65, 0x31, 0x5d, 0xd5, 0x2b, 0x00, 0xed, 0x8b, 0x66, 0x31, 0xf5, 0xef, 0xb8, 0x0a, 0x8f, 0xa4, 0x46, 0x29, 0x57, 0xbb, 0xaa, 0x02, 0xae, 0xb4, 0xa7, 0x39, 0x55, 0xfa, 0x2a, 0xab,
- 0xaf, 0xb4, 0xe7, 0x39, 0xad, 0xae, 0xac, 0x02, 0x0e, 0xbd, 0x2b, 0x73, 0x75, 0x5e, 0x0a, 0xf8, 0x6e, 0xa4, 0x47, 0x62, 0xe3, 0x02, 0x00, 0x70, 0xae, 0xac, 0x86, 0x39, 0x02, 0xaa, 0x80, 0x55,
- 0x0b, 0x9c, 0xa6, 0x31, 0x80, 0x28, 0xea, 0x55, 0x8e, 0xa4, 0xc7, 0x39, 0xad, 0x80, 0xd7, 0x55, 0x8e, 0xac, 0xe8, 0x41, 0x0a, 0x5f, 0x5d, 0x75, 0x2b, 0xa4, 0xe8, 0x39, 0xe8, 0x5d, 0xff, 0x77,
- 0x6a, 0x4a, 0xc7, 0x39, 0x78, 0x7b, 0xe8, 0x80, 0x0b, 0x63, 0x67, 0x31, 0x2f, 0x57, 0x57, 0xdf, 0x49, 0x52, 0x86, 0x31, 0xe8, 0xe5, 0xf7, 0x5b, 0xa4, 0x59, 0x23, 0x49, 0xd5, 0xfd, 0xaa, 0xe2,
- 0x64, 0x59, 0x42, 0x51, 0xdb, 0xd7, 0xde, 0x6f, 0xc4, 0x61, 0x22, 0x49, 0xbf, 0xbf, 0x2f, 0xb5, 0xa4, 0x61, 0x43, 0x51, 0x76, 0xfa, 0xa8, 0xf5, 0xa4, 0x61, 0x23, 0x59, 0x95, 0xaf, 0x02, 0xfa,
- 0x84, 0x61, 0x42, 0x59, 0xa7, 0x2e, 0xdb, 0x7d, 0xa4, 0x61, 0x42, 0x59, 0xfe, 0xb0, 0x77, 0x55, 0x84, 0x59, 0x43, 0x51, 0x7e, 0x5a, 0xfa, 0xff, 0x64, 0x59, 0x03, 0x51, 0x2c, 0xfa, 0x02, 0x2b,
- 0x63, 0x59, 0x03, 0x51, 0x0a, 0xad, 0xfe, 0xa8, 0x64, 0x59, 0x23, 0x51, 0xa2, 0xb7, 0xfa, 0xd0, 0x25, 0x72, 0x43, 0x51, 0x2d, 0xa9, 0xb5, 0x75, 0x04, 0x72, 0x43, 0x59, 0x20, 0xbe, 0xb7, 0xb7,
- 0x85, 0x7a, 0x43, 0x61, 0x0a, 0x6f, 0x7e, 0x7f, 0x24, 0x72, 0x22, 0x59, 0xf0, 0xd5, 0x55, 0xb7, 0xe7, 0x92, 0xc3, 0x69, 0xb5, 0xbd, 0xb5, 0x2f, 0xe6, 0x8a, 0x45, 0x7a, 0xa5, 0xfb, 0x5f, 0xac,
- 0xea, 0xab, 0x86, 0x82, 0x2f, 0x2d, 0x2d, 0x2b, 0x8d, 0xbc, 0x27, 0x52, 0x54, 0x54, 0x54, 0xfc, 0x0a, 0x6b, 0xe7, 0x41, 0x23, 0x7f, 0xad, 0x15, 0x8b, 0x7b, 0x08, 0x4a, 0xa8, 0xad, 0xff, 0x82,
- 0x4b, 0x7b, 0x89, 0x5a, 0xfa, 0x2a, 0xbb, 0x52, 0x6c, 0x7b, 0xe7, 0x51, 0xba, 0xaa, 0xa2, 0x77, 0x4b, 0x73, 0x28, 0x62, 0x82, 0x2a, 0x00, 0xfd, 0xac, 0x83, 0x07, 0x4a, 0x2a, 0x2a, 0xe2, 0x5f,
- 0x0c, 0x94, 0xe8, 0x49, 0xe0, 0x5f, 0x7d, 0xed, 0xea, 0x72, 0x48, 0x5a, 0xaf, 0xad, 0xad, 0x2b, 0x2b, 0x7b, 0x07, 0x5a, 0x62, 0x3a, 0xaa, 0xf0, 0x88, 0x62, 0xe7, 0x49, 0x09, 0xd6, 0x88, 0xef,
- 0x4c, 0x83, 0x86, 0x41, 0xf8, 0xdf, 0x7a, 0xfb, 0xca, 0x62, 0xe7, 0x41, 0x2b, 0xfb, 0xad, 0xdf, 0x89, 0x6a, 0xa7, 0x39, 0xdc, 0xf8, 0xaa, 0xaf, 0xca, 0x62, 0x08, 0x4a, 0xc7, 0xeb, 0xdf, 0xbd,
- 0xca, 0x62, 0x08, 0x42, 0xbf, 0xbd, 0x5f, 0xf0, 0xea, 0x6a, 0xc7, 0x41, 0xda, 0x2b, 0xb9, 0x3f, 0x0a, 0x6b, 0xe7, 0x41, 0xd7, 0x56, 0xbb, 0xe0, 0x48, 0x4a, 0xa7, 0x39, 0xaa, 0xfe, 0xec, 0xf7,
- 0xc9, 0x6a, 0xc7, 0x39, 0x8b, 0xdd, 0xb9, 0xdd, 0x0b, 0x73, 0x86, 0x41, 0xdf, 0x5a, 0x58, 0x72, 0x69, 0x5a, 0x66, 0x39, 0xb2, 0x00, 0x17, 0xfe, 0x28, 0x52, 0xa7, 0x39, 0x38, 0x5e, 0x72, 0xaf,
- 0xa9, 0x6a, 0x87, 0x31, 0x2b, 0xb7, 0x95, 0x57, 0x2a, 0x73, 0xa7, 0x41, 0xfe, 0xab, 0x2b, 0xfd, 0x2b, 0x73, 0x65, 0x51, 0x5e, 0x78, 0xfe, 0xee, 0x23, 0x61, 0x84, 0x59, 0xbf, 0xef, 0xfd, 0x29,
- 0x84, 0x69, 0x22, 0x51, 0x57, 0xfb, 0x02, 0xaa, 0x84, 0x61, 0x02, 0x49, 0xd7, 0x20, 0x00, 0x82, 0x63, 0x61, 0x02, 0x51, 0xcb, 0xda, 0xd8, 0xa0, 0x63, 0x59, 0x02, 0x51, 0x55, 0x5f, 0xde, 0x00,
- 0x63, 0x59, 0x02, 0x51, 0x2d, 0x2b, 0xea, 0xa2, 0x64, 0x59, 0x22, 0x51, 0x83, 0xb7, 0xda, 0xda, 0x64, 0x61, 0x22, 0x51, 0xa2, 0xbf, 0x3d, 0xb5, 0x84, 0x61, 0x23, 0x59, 0x3e, 0xa3, 0x9f, 0xbf,
- 0x84, 0x61, 0x42, 0x59, 0xaf, 0x68, 0xeb, 0xcb, 0x83, 0x61, 0x22, 0x59, 0xae, 0x29, 0xba, 0xfa, 0xa4, 0x69, 0x42, 0x59, 0xef, 0xea, 0xa3, 0xaf, 0xc3, 0x69, 0x83, 0x61, 0xc8, 0x89, 0x2a, 0x7d,
- 0x04, 0x6a, 0x83, 0x61, 0xbd, 0xab, 0x8a, 0xbb, 0xe4, 0x71, 0x62, 0x61, 0x7f, 0x68, 0xe0, 0xfe, 0xa3, 0x71, 0x64, 0x61, 0x2f, 0xbb, 0xef, 0x55, 0xa3, 0x69, 0x43, 0x59, 0x82, 0xa8, 0xea, 0xfd,
- 0x84, 0x61, 0x43, 0x59, 0x80, 0xaa, 0x1a, 0x1b, 0xa4, 0x69, 0x63, 0x59, 0x8f, 0x8b, 0xaf, 0xa7, 0xa3, 0x61, 0x44, 0x59, 0xc0, 0xee, 0xf8, 0x6e, 0xa4, 0x61, 0x43, 0x59, 0x2d, 0x2a, 0xaa, 0xd5,
- 0xc4, 0x61, 0x03, 0x51, 0xaa, 0x8a, 0xaa, 0xfd, 0x84, 0x61, 0x22, 0x59, 0x8a, 0x8a, 0xf6, 0xe3, 0x83, 0x61, 0xe2, 0x48, 0x80, 0x02, 0xde, 0xaa, 0x84, 0x59, 0x02, 0x51, 0x2a, 0x2a, 0xbd, 0x2e,
- 0x45, 0x72, 0x63, 0x59, 0x55, 0xd5, 0x3d, 0x02, 0x69, 0x9b, 0xa4, 0x61, 0x2d, 0xdf, 0xa7, 0x0b, 0xaa, 0x9b, 0x65, 0x7a, 0x76, 0xf9, 0xaa, 0x08, 0x2c, 0xb4, 0x86, 0x7a, 0xb5, 0x0b, 0x0a, 0x02,
- 0x4c, 0xb4, 0x8a, 0x9b, 0xbd, 0xaa, 0x20, 0x80, 0x0f, 0xcd, 0xeb, 0xab, 0xb5, 0xbf, 0xab, 0x2b, 0x50, 0xdd, 0xe7, 0x59, 0xfa, 0xf8, 0x7c, 0x57, 0x6a, 0x5a, 0xa7, 0x49, 0xbe, 0x97, 0xff, 0xe3,
- 0xa9, 0x62, 0xc7, 0x51, 0xeb, 0x2b, 0xbd, 0xf5, 0xea, 0x72, 0xe8, 0x49, 0xfa, 0x7e, 0xaf, 0x2f, 0xaa, 0x6a, 0xe7, 0x49, 0x87, 0x73, 0xe8, 0x08, 0x4c, 0x83, 0x86, 0x41, 0xab, 0x8d, 0xab, 0xbb,
- 0x2c, 0x7b, 0x86, 0x41, 0xe2, 0xfe, 0xf0, 0x78, 0xaa, 0x6a, 0x67, 0x39, 0x7f, 0xfb, 0xba, 0x0f, 0x4b, 0x73, 0x87, 0x41, 0xfd, 0xfd, 0xaf, 0x80, 0xca, 0x6a, 0xc7, 0x41, 0x65, 0xcf, 0xe8, 0x72,
- 0x69, 0x52, 0xa7, 0x39, 0xbd, 0x3a, 0x9f, 0xfd, 0xa9, 0x62, 0xc6, 0x31, 0x20, 0x9b, 0xfe, 0xbf, 0x49, 0x62, 0xa6, 0x31, 0xaa, 0xea, 0x8a, 0x37, 0xca, 0x6a, 0x08, 0x52, 0xb7, 0xa9, 0x89, 0xc8,
- 0xeb, 0x6a, 0x24, 0x29, 0xa0, 0xbe, 0x08, 0x9a, 0xaa, 0x62, 0x65, 0x31, 0x82, 0x2b, 0xad, 0xef, 0x6c, 0x83, 0xe7, 0x41, 0xa2, 0xf7, 0xf5, 0xd5, 0xca, 0x6a, 0x08, 0x4a, 0xf8, 0x29, 0x0e, 0x27,
- 0xaa, 0x6a, 0x66, 0x31, 0xfa, 0x7a, 0xfe, 0xf8, 0xc8, 0x41, 0x66, 0x31, 0xff, 0x7d, 0xa7, 0xf0, 0xc7, 0x41, 0x66, 0x31, 0x8b, 0xfa, 0xbe, 0xb5, 0x69, 0x5a, 0xa7, 0x39, 0x25, 0x2d, 0xd5, 0xf5,
- 0x89, 0x62, 0xa8, 0x49, 0xe8, 0x5e, 0xde, 0xaf, 0x49, 0x5a, 0xa7, 0x41, 0xe2, 0x9a, 0x88, 0xe0, 0x08, 0x4a, 0x87, 0x39, 0x2f, 0x96, 0xae, 0xb7, 0xaa, 0x62, 0xe7, 0x41, 0x7f, 0xed, 0x8b, 0x83,
- 0x0f, 0xbd, 0x48, 0x52, 0x8a, 0x5f, 0xf7, 0xff, 0x0f, 0xad, 0xc6, 0x49, 0xf7, 0xaf, 0xe2, 0x55, 0xef, 0xac, 0x44, 0x39, 0x2b, 0xe0, 0xf5, 0x75, 0x8b, 0xac, 0x45, 0x31, 0x5c, 0x55, 0x57, 0xf5,
- 0x28, 0x42, 0x24, 0x31, 0xd5, 0xff, 0xbb, 0x22, 0x4c, 0x7b, 0x65, 0x31, 0xdd, 0x55, 0xdf, 0x2b, 0xac, 0x83, 0xa6, 0x39, 0x55, 0x75, 0x7f, 0x28, 0x2d, 0x94, 0x86, 0x39, 0x55, 0x57, 0xff, 0x00,
- 0x0d, 0x94, 0xa6, 0x39, 0x55, 0xd5, 0x23, 0x78, 0x8f, 0xa4, 0x85, 0x39, 0x55, 0xf5, 0x00, 0xa5, 0x8e, 0xa4, 0xc7, 0x41, 0xa5, 0xaf, 0xba, 0x82, 0xcf, 0xb4, 0x2c, 0x7b, 0xd7, 0xaa, 0xbe, 0x0b,
- 0xae, 0xb4, 0xaa, 0x72, 0xaf, 0xaa, 0x02, 0x78, 0xae, 0xb4, 0xc5, 0x49, 0x0a, 0x00, 0xf8, 0x55, 0xce, 0xb4, 0x66, 0x39, 0xbe, 0xa0, 0x5f, 0x55, 0x8e, 0xb4, 0xc7, 0x41, 0x08, 0x7a, 0x55, 0x55,
- 0xcd, 0xbc, 0x87, 0x39, 0x80, 0x55, 0x55, 0x55, 0x28, 0x83, 0x47, 0x31, 0xfc, 0x55, 0x57, 0x55, 0xe8, 0x49, 0x67, 0x29, 0xd0, 0xaf, 0xb5, 0xed, 0xe8, 0x41, 0x87, 0x31, 0x37, 0xe7, 0x3f, 0xef,
- 0x29, 0x42, 0x87, 0x31, 0x0a, 0xdd, 0xd7, 0xe2, 0x09, 0x42, 0x87, 0x31, 0xbe, 0xb8, 0xb4, 0xe9, 0x08, 0x42, 0x66, 0x31, 0x82, 0xc0, 0x8b, 0x27, 0x6a, 0x52, 0x66, 0x29, 0x2b, 0xf5, 0x5f, 0x77,
- 0x8a, 0x52, 0x87, 0x29, 0x80, 0x0b, 0xad, 0xdd, 0x4a, 0x4a, 0x47, 0x29, 0x8a, 0xa8, 0xa8, 0xd8, 0x29, 0x4a, 0x86, 0x39, 0x78, 0x6b, 0xf7, 0xea, 0x84, 0x51, 0x23, 0x49, 0xfc, 0x7e, 0x7e, 0xbe,
- 0x64, 0x59, 0x23, 0x49, 0xdb, 0x6f, 0xab, 0x88, 0x64, 0x59, 0x23, 0x49, 0xaf, 0xff, 0xaf, 0xbe, 0xa4, 0x59, 0x23, 0x51, 0x55, 0xd5, 0xff, 0x2f, 0x84, 0x59, 0x43, 0x51, 0xdf, 0x7b, 0x7e, 0x6c,
- 0x83, 0x61, 0x22, 0x51, 0xea, 0xbe, 0xaf, 0xc9, 0x63, 0x59, 0x23, 0x59, 0x2a, 0xff, 0xfb, 0xa8, 0x64, 0x61, 0x02, 0x59, 0x88, 0xab, 0xb0, 0xda, 0x43, 0x61, 0x22, 0x59, 0xbf, 0x05, 0x8e, 0x97,
- 0x64, 0x59, 0x02, 0x51, 0x8b, 0xa8, 0xaa, 0xef, 0x63, 0x59, 0x02, 0x51, 0xae, 0x8a, 0x08, 0x6e, 0x63, 0x59, 0x22, 0x51, 0xbd, 0xda, 0xbf, 0xd0, 0x64, 0x61, 0x22, 0x51, 0x02, 0xeb, 0xaa, 0xea,
- 0x84, 0x61, 0x43, 0x59, 0xec, 0x57, 0xd5, 0x57, 0x45, 0x7a, 0x43, 0x59, 0x27, 0xb5, 0xbd, 0xa5, 0xc6, 0x8a, 0xe5, 0x71, 0x8a, 0xed, 0xbf, 0xbf, 0xe7, 0x8a, 0x45, 0x7a, 0xfc, 0xbf, 0x2a, 0x09,
- 0x2b, 0xb4, 0xe7, 0x8a, 0xbd, 0x2f, 0x2f, 0x2f, 0xce, 0xc4, 0x07, 0x52, 0x5c, 0x54, 0xf6, 0x56, 0xc9, 0x62, 0xa6, 0x41, 0xb8, 0xed, 0xbe, 0xeb, 0x0a, 0x6b, 0xc7, 0x41, 0x55, 0x2f, 0xfe, 0xaf,
- 0xea, 0x6a, 0xe7, 0x49, 0xa9, 0x0a, 0xe2, 0xde, 0xea, 0x72, 0x27, 0x52, 0xfe, 0xfb, 0xed, 0x2a, 0x0a, 0x73, 0xe7, 0x49, 0xbe, 0xb7, 0x2d, 0xc8, 0xea, 0x72, 0xa6, 0x49, 0xc0, 0xd7, 0x80, 0xb9,
- 0xca, 0x6a, 0xc7, 0x41, 0x75, 0x2a, 0x88, 0xb2, 0x0b, 0x73, 0xe7, 0x49, 0xed, 0x27, 0xd7, 0xff, 0x2b, 0x83, 0xe6, 0x51, 0x2a, 0x7a, 0xea, 0xa8, 0x0b, 0x83, 0x87, 0x41, 0xfc, 0xf6, 0x57, 0x57,
- 0xa9, 0x72, 0x87, 0x39, 0xf2, 0xe2, 0x7b, 0xbf, 0x48, 0x52, 0x87, 0x39, 0xa3, 0xba, 0xe9, 0xae, 0xea, 0x72, 0x87, 0x41, 0xa3, 0xfa, 0x7d, 0x57, 0x28, 0x52, 0x66, 0x31, 0x06, 0xea, 0xae, 0xb5,
- 0xe8, 0x49, 0x45, 0x21, 0x2a, 0xda, 0xfa, 0xae, 0x08, 0x4a, 0xa7, 0x39, 0x96, 0x57, 0xcb, 0xab, 0xca, 0x62, 0x67, 0x31, 0x2a, 0xfd, 0xbf, 0x5f, 0xaa, 0x62, 0xe7, 0x39, 0xbe, 0xe2, 0xd5, 0xff,
- 0x28, 0x52, 0xc6, 0x39, 0x0e, 0x3a, 0xe2, 0x7a, 0xaa, 0x62, 0xc7, 0x41, 0xa0, 0xbe, 0xad, 0xbd, 0x49, 0x5a, 0xa7, 0x41, 0xad, 0xe0, 0xa2, 0x98, 0x48, 0x5a, 0xa7, 0x41, 0xee, 0x3f, 0x98, 0x34,
- 0x89, 0x6a, 0x87, 0x39, 0x57, 0x70, 0xfa, 0xea, 0x49, 0x52, 0x66, 0x39, 0xbf, 0xfd, 0xf7, 0xfc, 0x28, 0x5a, 0x66, 0x31, 0xab, 0xdf, 0xbf, 0x2f, 0x42, 0x69, 0x06, 0x52, 0x0b, 0xab, 0xad, 0xbd,
- 0xa4, 0x69, 0x63, 0x61, 0x6e, 0xde, 0x81, 0x5b, 0x83, 0x69, 0x22, 0x59, 0xc8, 0xf2, 0xe8, 0x7f, 0x63, 0x69, 0x02, 0x51, 0xa2, 0xbe, 0xfa, 0xf5, 0x63, 0x61, 0x22, 0x51, 0xa8, 0xf2, 0xbf, 0xf7,
- 0x63, 0x59, 0x22, 0x51, 0x9f, 0xe6, 0xe2, 0xf9, 0x64, 0x59, 0x22, 0x51, 0x72, 0xf9, 0x78, 0xfa, 0x43, 0x59, 0x03, 0x49, 0x0a, 0xa2, 0xbe, 0xda, 0x84, 0x61, 0x03, 0x51, 0xab, 0x0b, 0xf5, 0xd7,
- 0x63, 0x61, 0x02, 0x51, 0x08, 0xae, 0xff, 0xf7, 0x43, 0x59, 0x22, 0x51, 0x82, 0xe0, 0x75, 0xdb, 0x83, 0x61, 0x02, 0x49, 0x2b, 0x95, 0x55, 0xff, 0xc4, 0x69, 0x23, 0x59, 0xa2, 0xaa, 0x7f, 0xff,
- 0xe4, 0x69, 0x23, 0x59, 0x8a, 0x8b, 0x77, 0xff, 0xc4, 0x69, 0x02, 0x51, 0xa8, 0xfe, 0xd7, 0xff, 0xe5, 0x69, 0x22, 0x51, 0xbf, 0x54, 0x57, 0x57, 0xa4, 0x61, 0x23, 0x59, 0xa8, 0xef, 0xf5, 0x9f,
- 0x84, 0x61, 0x23, 0x59, 0x88, 0x7b, 0xaf, 0xf8, 0x84, 0x61, 0x23, 0x59, 0xff, 0xee, 0xb6, 0x8a, 0x84, 0x61, 0x43, 0x59, 0xb3, 0x0a, 0xa7, 0xaa, 0xa4, 0x61, 0x63, 0x59, 0x0f, 0xba, 0xf9, 0x8d,
- 0xc4, 0x69, 0x63, 0x59, 0xe8, 0xea, 0xff, 0x5f, 0x84, 0x61, 0x23, 0x59, 0xb8, 0xf8, 0xd0, 0xa1, 0xc4, 0x61, 0x23, 0x59, 0xfe, 0xdf, 0xba, 0x2f, 0x86, 0x72, 0x43, 0x59, 0xd5, 0x35, 0x0b, 0x0a,
- 0xe7, 0x82, 0x46, 0x72, 0xbd, 0x2b, 0x8b, 0x83, 0xaa, 0x9b, 0x48, 0x93, 0xfb, 0x2a, 0x0d, 0x2a, 0x0b, 0xac, 0x89, 0x9b, 0xb7, 0x2f, 0x2f, 0x2a, 0x4c, 0xb4, 0xeb, 0xa3, 0x0d, 0xaf, 0xab, 0x2b,
- 0xce, 0xc4, 0x0b, 0xac, 0xdf, 0xb5, 0xbf, 0x2b, 0x50, 0xdd, 0xa5, 0x51, 0x8a, 0x42, 0x72, 0x58, 0x48, 0x62, 0xa7, 0x41, 0xa8, 0xd5, 0xfe, 0x7e, 0x08, 0x5a, 0x87, 0x41, 0xa8, 0xa2, 0xba, 0xb7,
- 0xea, 0x7a, 0xc7, 0x49, 0xb5, 0xad, 0xad, 0x2d, 0xea, 0x82, 0x29, 0x62, 0x5f, 0xeb, 0xea, 0xe0, 0xeb, 0x7a, 0x27, 0x52, 0x9f, 0xab, 0x02, 0x0d, 0x6c, 0x8b, 0x48, 0x62, 0xcb, 0xfb, 0xfe, 0x57,
- 0xea, 0x7a, 0x87, 0x39, 0xea, 0x7a, 0x70, 0x7e, 0xca, 0x7a, 0xa7, 0x41, 0x0f, 0x0b, 0x85, 0xed, 0xea, 0x7a, 0xa7, 0x41, 0x60, 0xa8, 0xfe, 0x7d, 0xaa, 0x62, 0x87, 0x41, 0xf8, 0xff, 0xd5, 0x2b,
- 0x28, 0x52, 0x67, 0x31, 0x7f, 0x5e, 0x7e, 0xe8, 0x48, 0x4a, 0x46, 0x31, 0x2f, 0x9d, 0xf5, 0xfe, 0x68, 0x5a, 0xa7, 0x39, 0x8a, 0xff, 0x5f, 0xdd, 0xea, 0x6a, 0x86, 0x39, 0xb5, 0x2f, 0xaf, 0x2f,
- 0xaa, 0x72, 0xe7, 0x41, 0xa8, 0xca, 0x7e, 0x5d, 0x49, 0x52, 0xc8, 0x41, 0x50, 0xaa, 0xd7, 0xe3, 0x89, 0x5a, 0xc8, 0x49, 0x21, 0xa7, 0x7f, 0xaa, 0xeb, 0x72, 0xc7, 0x49, 0xa8, 0xaf, 0xf5, 0xca,
- 0x49, 0x5a, 0x87, 0x39, 0xd6, 0x7c, 0x57, 0xfa, 0xc8, 0x41, 0x86, 0x39, 0x7d, 0x57, 0xbd, 0x7a, 0xa7, 0x39, 0x66, 0x31, 0xd7, 0xbe, 0xab, 0x05, 0x08, 0x4a, 0x87, 0x39, 0xbd, 0x5b, 0x8b, 0xad,
- 0x89, 0x5a, 0xa7, 0x39, 0xef, 0xfd, 0xbd, 0x0f, 0xaa, 0x6a, 0x87, 0x39, 0xaa, 0x77, 0x2a, 0x80, 0xaa, 0x62, 0xa7, 0x41, 0x55, 0x5d, 0xfc, 0x8b, 0x89, 0x5a, 0xa7, 0x41, 0xcd, 0x8b, 0xfa, 0xa7,
- 0x4b, 0x7b, 0xc6, 0x41, 0x57, 0x75, 0x2f, 0xbf, 0x2c, 0x94, 0xa6, 0x39, 0x55, 0xbf, 0xe0, 0x5e, 0x0b, 0x9c, 0xa6, 0x41, 0xe9, 0xe0, 0x57, 0xd5, 0x8f, 0x9c, 0xa6, 0x39, 0xaf, 0xf5, 0xb5, 0x2a,
- 0xce, 0xb4, 0xe6, 0x49, 0xff, 0xd5, 0x22, 0xe8, 0xcf, 0xb4, 0xa7, 0x41, 0xff, 0xad, 0x80, 0x55, 0x4d, 0x9c, 0xa7, 0x41, 0xd7, 0x08, 0x7a, 0x55, 0xec, 0x9b, 0xa7, 0x39, 0xd7, 0x80, 0x55, 0x55,
- 0xaf, 0xa4, 0x66, 0x31, 0xc2, 0x57, 0x57, 0x55, 0x8a, 0x83, 0x67, 0x31, 0x2f, 0x7d, 0xf7, 0x55, 0xa7, 0x72, 0xa8, 0x31, 0x82, 0x55, 0x7d, 0x55, 0x29, 0x7b, 0xa8, 0x31, 0xc2, 0xbd, 0x55, 0xfd,
- 0x0b, 0x63, 0xa7, 0x39, 0xef, 0x78, 0xff, 0xd7, 0x69, 0x52, 0xa7, 0x31, 0x58, 0x5f, 0xbf, 0xbf, 0x29, 0x42, 0x67, 0x31, 0x69, 0x7f, 0xea, 0x88, 0x08, 0x42, 0x87, 0x39, 0x2d, 0xb5, 0x9d, 0xfc,
- 0xc8, 0x39, 0x26, 0x29, 0x00, 0xa8, 0x08, 0xdc, 0xa8, 0x39, 0x47, 0x29, 0x80, 0x08, 0x80, 0xa7, 0xc8, 0x39, 0x67, 0x31, 0x2a, 0xa5, 0x5f, 0xfc, 0xe8, 0x41, 0x87, 0x31, 0xe7, 0xaf, 0x3d, 0xd9,
- 0x08, 0x42, 0x87, 0x31, 0xab, 0xb7, 0x3a, 0x56, 0x29, 0x42, 0xa7, 0x31, 0xff, 0x27, 0xba, 0xd7, 0x29, 0x42, 0x87, 0x39, 0xbf, 0xe0, 0xbe, 0x5f, 0x09, 0x42, 0x67, 0x31, 0xb7, 0xdf, 0x3a, 0xfa,
- 0xe8, 0x41, 0x87, 0x31, 0xaf, 0xae, 0xef, 0xef, 0x08, 0x3a, 0x87, 0x31, 0xa3, 0x9d, 0xfd, 0xe2, 0x49, 0x4a, 0x86, 0x41, 0x6a, 0xe8, 0xa8, 0xaf, 0x23, 0x51, 0xa5, 0x49, 0x2b, 0xab, 0xa3, 0x2d,
- 0x83, 0x59, 0x44, 0x51, 0x7d, 0xee, 0xe9, 0xa3, 0x64, 0x59, 0x43, 0x51, 0x58, 0x7d, 0x2a, 0x82, 0xa4, 0x61, 0x43, 0x51, 0xbb, 0xed, 0xfb, 0xfe, 0x63, 0x61, 0x22, 0x49, 0x68, 0x60, 0x42, 0xe0,
- 0x63, 0x59, 0xe2, 0x48, 0xe0, 0xaa, 0x7e, 0x7f, 0x63, 0x59, 0xe2, 0x48, 0x0a, 0xaa, 0xf6, 0x57, 0x43, 0x59, 0xe2, 0x40, 0x00, 0xbe, 0xbf, 0x75, 0x43, 0x59, 0xe2, 0x48, 0x2a, 0xa8, 0xaa, 0xc9,
- 0x83, 0x59, 0x02, 0x51, 0xaa, 0xa0, 0xfb, 0xa7, 0x43, 0x59, 0x42, 0x51, 0x02, 0x28, 0x97, 0xf8, 0x84, 0x61, 0x03, 0x51, 0x57, 0xff, 0xaf, 0x8b, 0xa4, 0x61, 0x22, 0x51, 0xff, 0xdd, 0xaf, 0x2f,
- 0x04, 0x6a, 0x23, 0x59, 0x55, 0xfd, 0xd8, 0xff, 0xa6, 0x82, 0x63, 0x61, 0xb5, 0xbd, 0x2a, 0xfb, 0xc7, 0x92, 0xa3, 0x69, 0xab, 0xfa, 0xa8, 0x77, 0x07, 0x93, 0x24, 0x7a, 0x2f, 0x0b, 0xbb, 0xfd,
- 0x0b, 0xb4, 0xe6, 0x8a, 0x2f, 0x2f, 0x3d, 0x2d, 0x0c, 0xac, 0xc7, 0x41, 0x5c, 0x74, 0xd4, 0xd4, 0xa9, 0x5a, 0xa7, 0x39, 0xaa, 0x0a, 0x0a, 0xfd, 0x89, 0x5a, 0xc7, 0x41, 0xac, 0xde, 0x50, 0xa3,
- 0xaa, 0x62, 0xc7, 0x49, 0xb0, 0xae, 0xa9, 0xf7, 0xca, 0x62, 0xe8, 0x49, 0x3e, 0x5e, 0x88, 0x02, 0xaa, 0x6a, 0x07, 0x4a, 0x02, 0x9d, 0xf7, 0xa0, 0xaa, 0x6a, 0x08, 0x4a, 0xa0, 0x78, 0xae, 0xaa,
- 0xea, 0x7a, 0x28, 0x5a, 0xea, 0xfa, 0x70, 0xea, 0x89, 0x62, 0xe7, 0x49, 0xaf, 0xfc, 0xda, 0x42, 0xea, 0x7a, 0xe7, 0x51, 0x7a, 0x62, 0xea, 0x7d, 0x08, 0x4a, 0xa7, 0x39, 0x7f, 0x57, 0x5e, 0x87,
- 0xe8, 0x41, 0x26, 0x39, 0x82, 0x82, 0x7e, 0x80, 0x08, 0x4a, 0x46, 0x39, 0xab, 0x8a, 0xbd, 0x3e, 0x29, 0x5a, 0xa7, 0x39, 0xeb, 0x7a, 0x5d, 0xf8, 0x08, 0x42, 0xa7, 0x39, 0x37, 0x15, 0xbd, 0xfe,
- 0x08, 0x42, 0x87, 0x39, 0x82, 0x60, 0xaa, 0xad, 0xe8, 0x49, 0x87, 0x39, 0xcf, 0xa0, 0x80, 0x2d, 0xc8, 0x41, 0x86, 0x29, 0xdf, 0x20, 0x00, 0x00, 0x69, 0x52, 0x46, 0x29, 0x28, 0xff, 0xdf, 0xff,
- 0x68, 0x52, 0x66, 0x31, 0x28, 0xbb, 0xfe, 0x55, 0x48, 0x52, 0xc7, 0x41, 0x8f, 0xfd, 0xee, 0xbf, 0x49, 0x5a, 0xe7, 0x39, 0xaa, 0xff, 0x3f, 0x57, 0x48, 0x52, 0xa7, 0x41, 0x78, 0x5e, 0xdc, 0x7f,
- 0x48, 0x5a, 0xa7, 0x41, 0x09, 0x5e, 0xd7, 0xd2, 0x89, 0x62, 0x86, 0x39, 0x8a, 0x7e, 0x82, 0xe8, 0x69, 0x5a, 0x67, 0x39, 0x2b, 0xe0, 0xd8, 0x5e, 0x26, 0x6a, 0x65, 0x49, 0xf8, 0xeb, 0xed, 0xed,
- 0x84, 0x69, 0x43, 0x59, 0xa2, 0xfa, 0xee, 0xab, 0x63, 0x61, 0x22, 0x51, 0xf8, 0x5f, 0xd7, 0xda, 0x84, 0x59, 0x02, 0x51, 0xdf, 0xfd, 0xfd, 0x8a, 0x24, 0x59, 0x02, 0x49, 0x48, 0xaa, 0xf7, 0xee,
- 0x64, 0x59, 0x03, 0x49, 0xb9, 0x77, 0xee, 0xa2, 0x44, 0x59, 0x02, 0x51, 0xdf, 0xa9, 0xa0, 0x80, 0x43, 0x59, 0xe2, 0x50, 0xd7, 0xbf, 0xbf, 0xa2, 0x63, 0x59, 0x02, 0x51, 0xe3, 0xff, 0xbe, 0xf5,
- 0x43, 0x59, 0x02, 0x51, 0xbf, 0xba, 0xc2, 0xf8, 0x43, 0x59, 0x02, 0x51, 0x7a, 0xe0, 0x2a, 0x2b, 0x44, 0x59, 0x22, 0x49, 0x5f, 0xfa, 0x02, 0xa2, 0x84, 0x61, 0x23, 0x51, 0xa9, 0x87, 0xff, 0xaf,
- 0x84, 0x61, 0x42, 0x59, 0x8a, 0xba, 0xbe, 0xad, 0x84, 0x61, 0x43, 0x59, 0x58, 0xee, 0x2d, 0x7e, 0x83, 0x61, 0x42, 0x51, 0xa0, 0xe2, 0x8a, 0xd6, 0xa4, 0x61, 0x63, 0x59, 0x59, 0xdb, 0xff, 0xf9,
- 0xa4, 0x61, 0x42, 0x51, 0xff, 0x3f, 0xb8, 0xba, 0x43, 0x61, 0x84, 0x59, 0x9e, 0xe9, 0xa2, 0xf5, 0x84, 0x61, 0x62, 0x51, 0xaa, 0x88, 0xa3, 0xde, 0x25, 0x6a, 0x63, 0x59, 0xfd, 0x7d, 0xf3, 0xee,
- 0xc4, 0x61, 0x63, 0x59, 0x57, 0x57, 0xfa, 0x2a, 0x25, 0x6a, 0x63, 0x59, 0xd5, 0xff, 0xff, 0xa0, 0xc8, 0x82, 0xc4, 0x59, 0xd5, 0xfb, 0x2d, 0x89, 0xa7, 0x7a, 0x05, 0x62, 0x3c, 0x3d, 0x2f, 0x0f,
- 0xec, 0x9b, 0xc7, 0x7a, 0xdd, 0xf5, 0xfd, 0x0d, 0xaf, 0xbc, 0x69, 0x93, 0xf5, 0xfd, 0xa5, 0x00, 0x4c, 0xb4, 0xca, 0xa3, 0xb5, 0xbf, 0x22, 0x08, 0xcf, 0xc4, 0xeb, 0xab, 0xdf, 0xbf, 0x2b, 0x02,
- 0x71, 0xd5, 0xc6, 0x59, 0x0a, 0x02, 0x82, 0x40, 0x50, 0xd5, 0x86, 0x39, 0xfc, 0xf7, 0xd5, 0x55, 0x48, 0x5a, 0xa7, 0x49, 0xd6, 0x78, 0x80, 0xbe, 0x69, 0x62, 0x67, 0x41, 0x5d, 0xf7, 0x0a, 0x22,
- 0xa9, 0x72, 0xa7, 0x51, 0x25, 0xef, 0x0a, 0x8a, 0x0a, 0x83, 0xa6, 0x49, 0xba, 0xff, 0xdf, 0x35, 0x2b, 0x83, 0x28, 0x62, 0xb7, 0xb9, 0xeb, 0x58, 0xcd, 0x8b, 0x08, 0x52, 0x7f, 0xff, 0x3f, 0xfd,
- 0xcb, 0x72, 0x86, 0x31, 0xfa, 0x58, 0x5e, 0xdf, 0x89, 0x62, 0xa7, 0x39, 0x83, 0xe3, 0xcb, 0xf5, 0x6a, 0x5a, 0xe7, 0x41, 0xe0, 0x03, 0xa5, 0x8d, 0xeb, 0x72, 0xc8, 0x49, 0xaf, 0xa3, 0x5e, 0xe2,
- 0xaa, 0x62, 0x67, 0x39, 0x5c, 0xf7, 0xfe, 0xd7, 0xc7, 0x39, 0x66, 0x31, 0x38, 0xa4, 0xed, 0x8a, 0x28, 0x52, 0x46, 0x31, 0xbe, 0x2d, 0xbd, 0xff, 0x89, 0x62, 0xc7, 0x41, 0xf5, 0x26, 0x6a, 0x89,
- 0xaa, 0x62, 0xa7, 0x41, 0x97, 0xbe, 0xfb, 0xf2, 0xaa, 0x5a, 0xa7, 0x39, 0x7a, 0x07, 0xad, 0xbb, 0x8a, 0x62, 0xc7, 0x41, 0xea, 0x29, 0x8d, 0xea, 0x69, 0x5a, 0xa7, 0x49, 0xa8, 0x98, 0x2a, 0x9f,
- 0x89, 0x62, 0xe8, 0x49, 0x6f, 0x8a, 0x70, 0x5e, 0x28, 0x52, 0x46, 0x29, 0xf8, 0x5e, 0xff, 0x57, 0xc8, 0x41, 0x66, 0x39, 0xef, 0xef, 0x73, 0x82, 0xc8, 0x41, 0x47, 0x39, 0xaf, 0xa8, 0x8d, 0xbf,
- 0x89, 0x62, 0x86, 0x31, 0x2b, 0xbf, 0xf7, 0xbf, 0xa9, 0x6a, 0x28, 0x5a, 0xf8, 0x2b, 0xf9, 0xa9, 0x89, 0x6a, 0x48, 0x5a, 0xff, 0x82, 0x68, 0xa2, 0x8a, 0x6a, 0x86, 0x31, 0xfe, 0xf8, 0x7a, 0xfa,
- 0x8e, 0xa4, 0xa7, 0x41, 0xff, 0x80, 0x55, 0x55, 0x8b, 0x83, 0xe8, 0x41, 0x2a, 0x7a, 0xff, 0x55, 0x6e, 0x9c, 0x08, 0x42, 0x02, 0x55, 0x55, 0x55, 0x29, 0x7b, 0xc8, 0x39, 0x78, 0xff, 0xff, 0xd7,
- 0x49, 0x4a, 0x87, 0x31, 0xab, 0xab, 0xe9, 0xac, 0x29, 0x42, 0xa7, 0x39, 0x2d, 0x97, 0xb7, 0x8f, 0x49, 0x4a, 0xa7, 0x39, 0xea, 0xd8, 0x77, 0xff, 0xe8, 0x41, 0x67, 0x31, 0xf2, 0xda, 0x2b, 0xaf,
- 0xc8, 0x41, 0x87, 0x31, 0x79, 0xbf, 0xe0, 0x0d, 0x09, 0x42, 0x87, 0x39, 0xa6, 0xab, 0x29, 0xef, 0x29, 0x42, 0x87, 0x39, 0xbd, 0xa1, 0xfe, 0xfe, 0xe8, 0x39, 0x87, 0x31, 0x0c, 0xc0, 0x34, 0xa0,
- 0xe8, 0x41, 0x67, 0x39, 0x28, 0x0a, 0x8a, 0x9a, 0x09, 0x4a, 0xa7, 0x39, 0xef, 0x0a, 0xfe, 0xd5, 0x49, 0x4a, 0xa8, 0x39, 0xfd, 0xfa, 0x3e, 0xad, 0x49, 0x4a, 0xa8, 0x39, 0xfe, 0xd7, 0xde, 0xe2,
- 0x29, 0x4a, 0xa7, 0x39, 0x08, 0xbf, 0xdd, 0xff, 0x08, 0x42, 0xa7, 0x39, 0xe2, 0x5b, 0xef, 0xe5, 0xe8, 0x41, 0x67, 0x31, 0x7f, 0xca, 0x9c, 0xf0, 0x49, 0x4a, 0x67, 0x31, 0x5d, 0x8a, 0xff, 0xff,
- 0x28, 0x42, 0x87, 0x29, 0xfa, 0x7f, 0xbc, 0xfd, 0x08, 0x42, 0x67, 0x31, 0x2e, 0xfa, 0x5f, 0xa8, 0x29, 0x4a, 0x87, 0x39, 0xda, 0x2f, 0xab, 0xfd, 0x29, 0x4a, 0x67, 0x31, 0xe7, 0x2a, 0x0a, 0xdb,
- 0x69, 0x4a, 0x87, 0x39, 0x5d, 0xde, 0xe8, 0xf3, 0xe8, 0x41, 0x86, 0x31, 0x8a, 0x2a, 0x06, 0xae, 0x08, 0x42, 0x67, 0x39, 0xaa, 0xdf, 0xaa, 0x80, 0x43, 0x59, 0xc5, 0x49, 0x0b, 0x29, 0x0b, 0x89,
- 0x84, 0x61, 0x23, 0x51, 0xf9, 0xeb, 0xab, 0xa8, 0x84, 0x61, 0x23, 0x51, 0x82, 0xaf, 0xbf, 0xdf, 0x64, 0x61, 0x23, 0x41, 0x2a, 0x02, 0xea, 0x7f, 0x84, 0x61, 0xe3, 0x40, 0xc8, 0xea, 0xff, 0xed,
- 0x24, 0x51, 0xc2, 0x40, 0xfe, 0xfa, 0xb8, 0x83, 0xe3, 0x48, 0x23, 0x41, 0xaa, 0xeb, 0xbe, 0xfb, 0x02, 0x49, 0xe3, 0x40, 0xb7, 0x99, 0xef, 0xb7, 0xa4, 0x61, 0xe2, 0x40, 0x89, 0xad, 0xed, 0xff,
- 0x63, 0x59, 0x03, 0x49, 0x27, 0xeb, 0xaa, 0xab, 0x83, 0x59, 0x22, 0x51, 0xb7, 0x6d, 0xf0, 0x55, 0x64, 0x59, 0x23, 0x51, 0xda, 0xed, 0x82, 0x57, 0x64, 0x59, 0x02, 0x51, 0xe2, 0x0e, 0xfa, 0xad,
- 0xa4, 0x61, 0x02, 0x51, 0x2f, 0xab, 0xf7, 0xff, 0xe3, 0x71, 0x02, 0x51, 0x20, 0xff, 0x57, 0xff, 0x65, 0x7a, 0x22, 0x51, 0x2a, 0x3f, 0x3d, 0x2b, 0xaa, 0xa3, 0x05, 0x72, 0xd5, 0x95, 0x35, 0x27,
- 0x8d, 0xc4, 0x87, 0x82, 0x2f, 0x2f, 0x8a, 0x42, 0xc8, 0x7a, 0x66, 0x31, 0xfc, 0xff, 0x55, 0xfe, 0x89, 0x5a, 0x86, 0x39, 0xe2, 0xef, 0xbd, 0xff, 0x49, 0x4a, 0xe7, 0x41, 0x3d, 0x30, 0xbb, 0x7e,
- 0x69, 0x5a, 0x07, 0x42, 0xdc, 0xa3, 0xf1, 0xdd, 0xca, 0x6a, 0x28, 0x52, 0x89, 0xb7, 0x2a, 0xa9, 0xca, 0x6a, 0x27, 0x4a, 0xaa, 0xa8, 0xbc, 0x97, 0x0a, 0x73, 0x69, 0x5a, 0xdd, 0xbf, 0xbe, 0x37,
- 0x0a, 0x7b, 0x28, 0x52, 0x58, 0x7e, 0xfe, 0xfe, 0xaa, 0x62, 0x07, 0x4a, 0x43, 0xd7, 0xb2, 0xf3, 0xca, 0x72, 0xc7, 0x49, 0x03, 0x35, 0xad, 0xff, 0x49, 0x62, 0xc7, 0x39, 0xd6, 0xf8, 0xff, 0xfe,
- 0x08, 0x4a, 0xa7, 0x41, 0xa4, 0x62, 0xba, 0xa0, 0x08, 0x4a, 0xa7, 0x41, 0x9e, 0xd6, 0x8a, 0xba, 0x29, 0x52, 0xc7, 0x41, 0x78, 0xdc, 0xfa, 0xfe, 0x08, 0x4a, 0x87, 0x31, 0xbb, 0xb2, 0x2a, 0xda,
- 0xe8, 0x49, 0x87, 0x31, 0xa7, 0xbe, 0xd8, 0xa8, 0x08, 0x4a, 0x87, 0x41, 0xfe, 0xaf, 0xbc, 0xd6, 0xe8, 0x49, 0x66, 0x31, 0x6a, 0xa2, 0x82, 0xaa, 0xc7, 0x41, 0x46, 0x29, 0xbe, 0xbe, 0x9e, 0x28,
- 0xe8, 0x49, 0x66, 0x31, 0xf7, 0xe2, 0x7a, 0x7e, 0x08, 0x42, 0x67, 0x31, 0x0b, 0xd7, 0xf5, 0x55, 0x29, 0x4a, 0x66, 0x31, 0xa8, 0xaa, 0x8b, 0xd7, 0x28, 0x52, 0xa7, 0x41, 0xdf, 0xe2, 0x36, 0xaf,
- 0x28, 0x62, 0x87, 0x41, 0x9f, 0xf3, 0x8a, 0x8f, 0xa9, 0x62, 0xa7, 0x39, 0x0a, 0x2f, 0xf7, 0xff, 0x89, 0x62, 0x86, 0x41, 0x5c, 0xf8, 0x5f, 0xdf, 0xe4, 0x69, 0xa7, 0x41, 0x0d, 0x8d, 0xad, 0xa5,
- 0x84, 0x69, 0x42, 0x51, 0xac, 0x78, 0xdf, 0x7e, 0x64, 0x59, 0x42, 0x51, 0x9d, 0xfd, 0xbe, 0x37, 0x84, 0x59, 0x02, 0x51, 0xae, 0xf5, 0xaf, 0x0a, 0x84, 0x59, 0x22, 0x51, 0xde, 0x95, 0x2e, 0xca,
- 0xa4, 0x61, 0x43, 0x51, 0x6b, 0xff, 0xf2, 0xff, 0x84, 0x59, 0xe3, 0x50, 0xa8, 0x2e, 0xaa, 0x70, 0x64, 0x59, 0x23, 0x51, 0x0b, 0xaa, 0xa2, 0xff, 0x43, 0x59, 0x02, 0x49, 0x3e, 0x80, 0x26, 0x55,
- 0x63, 0x59, 0x02, 0x51, 0xe8, 0xaf, 0x8a, 0x0f, 0x44, 0x59, 0x22, 0x51, 0xf3, 0xba, 0xb6, 0x73, 0x43, 0x59, 0x22, 0x49, 0x92, 0x88, 0xba, 0x25, 0x63, 0x59, 0x23, 0x51, 0x3a, 0xaf, 0xe7, 0xdf,
- 0x84, 0x59, 0x22, 0x51, 0xfe, 0xee, 0x8b, 0xbe, 0x84, 0x61, 0x43, 0x51, 0x7f, 0x6b, 0xea, 0xa2, 0xa4, 0x59, 0x43, 0x51, 0xaf, 0x2b, 0x7f, 0xa7, 0xa4, 0x59, 0x43, 0x59, 0xff, 0xe2, 0x2b, 0xbd,
- 0x26, 0x62, 0x43, 0x59, 0x55, 0xff, 0x57, 0xc3, 0x47, 0x62, 0x43, 0x51, 0x57, 0xff, 0xbd, 0x2b, 0x4a, 0x8b, 0x64, 0x51, 0xd5, 0x95, 0x0f, 0xae, 0xa8, 0x72, 0xc5, 0x61, 0x7f, 0xef, 0xb0, 0xeb,
- 0x67, 0x6a, 0x83, 0x59, 0xd7, 0xd5, 0xff, 0x0a, 0x46, 0x6a, 0x83, 0x59, 0x5d, 0xd5, 0xbf, 0x0a, 0xe9, 0x82, 0xc4, 0x61, 0xf1, 0xfa, 0xf8, 0x00, 0x0d, 0xa4, 0x25, 0x6a, 0xf5, 0xb5, 0x29, 0x02,
- 0x8e, 0xb4, 0x08, 0x83, 0xad, 0xed, 0xae, 0x0a, 0xae, 0xbc, 0xeb, 0xa3, 0xa9, 0xaa, 0xaa, 0x02, 0xef, 0xbc, 0x4d, 0xb4, 0xd5, 0xbe, 0xbe, 0x25, 0xb2, 0xd5, 0xae, 0xbc, 0xf5, 0xbf, 0xaf, 0x2f,
- 0x13, 0xe6, 0x66, 0x41, 0x70, 0x58, 0x54, 0x56, 0x48, 0x52, 0x47, 0x31, 0x2e, 0x2f, 0xf7, 0xff, 0xa9, 0x6a, 0xc8, 0x41, 0xff, 0xe8, 0xfb, 0xb5, 0x0a, 0x73, 0xa7, 0x41, 0xff, 0x5e, 0x0b, 0xaa,
- 0x0b, 0x7b, 0x07, 0x52, 0xf5, 0x55, 0xb8, 0xa8, 0x0a, 0x7b, 0x08, 0x52, 0x2f, 0x7a, 0xaa, 0xfe, 0xaa, 0x72, 0x08, 0x4a, 0xf8, 0xde, 0xb6, 0xbf, 0x2b, 0x7b, 0x08, 0x5a, 0x6d, 0x72, 0x58, 0x7b,
- 0x28, 0x5a, 0x87, 0x39, 0xfb, 0xd6, 0xdc, 0x5f, 0x08, 0x4a, 0x86, 0x39, 0xbd, 0xe3, 0xaa, 0xae, 0x89, 0x62, 0xa7, 0x41, 0x3f, 0xbd, 0xbd, 0x2d, 0xeb, 0x7a, 0xc7, 0x49, 0xae, 0xfb, 0x5f, 0x2a,
- 0xeb, 0x7a, 0x87, 0x41, 0x5f, 0xfb, 0x4a, 0xfe, 0xa8, 0x49, 0x46, 0x31, 0xfe, 0x7e, 0xfe, 0xb8, 0xa7, 0x41, 0x66, 0x39, 0x06, 0xa9, 0xcb, 0xa9, 0x8a, 0x62, 0x86, 0x39, 0xad, 0xaf, 0x89, 0x2b,
- 0x69, 0x62, 0xa7, 0x41, 0xf7, 0xfd, 0x7e, 0x22, 0x69, 0x62, 0x87, 0x39, 0xab, 0xab, 0xbd, 0x5c, 0xca, 0x62, 0xa7, 0x41, 0x57, 0x3f, 0xee, 0xbf, 0xea, 0x72, 0xc7, 0x41, 0xbb, 0x8a, 0x89, 0x7e,
- 0x49, 0x5a, 0x46, 0x29, 0xec, 0xea, 0x5e, 0xff, 0xa7, 0x39, 0x46, 0x31, 0x77, 0x3a, 0xaa, 0xb0, 0xa7, 0x41, 0x46, 0x31, 0xed, 0xef, 0x0a, 0xed, 0xc8, 0x41, 0x26, 0x31, 0xee, 0x7f, 0x20, 0x22,
- 0xaa, 0x6a, 0x66, 0x39, 0xf5, 0xf5, 0x09, 0xbf, 0xa9, 0x6a, 0xa7, 0x49, 0xaf, 0xa2, 0xa2, 0x78, 0xca, 0x72, 0xa7, 0x49, 0xee, 0xea, 0xc2, 0x79, 0x29, 0x5a, 0x66, 0x31, 0xe8, 0xf8, 0x7e, 0xff,
- 0x29, 0x42, 0xa7, 0x31, 0x29, 0x95, 0xfd, 0x9e, 0x28, 0x42, 0xa7, 0x31, 0x00, 0xf7, 0x65, 0xbd, 0x49, 0x4a, 0x88, 0x39, 0x02, 0x2f, 0x8d, 0xfe, 0xca, 0x5a, 0xc8, 0x39, 0x2f, 0xba, 0xb7, 0x7f,
- 0xca, 0x5a, 0xa7, 0x39, 0x7c, 0xaa, 0xff, 0xeb, 0x29, 0x4a, 0xc8, 0x41, 0xb2, 0xde, 0xf9, 0x0b, 0x8a, 0x5a, 0xa7, 0x39, 0x5f, 0x77, 0xfb, 0xec, 0xe8, 0x41, 0x67, 0x39, 0xbf, 0x2b, 0x88, 0xa9,
- 0x09, 0x42, 0x87, 0x39, 0x0b, 0xaa, 0xf5, 0x27, 0xe8, 0x41, 0x87, 0x39, 0x98, 0xeb, 0xd9, 0xf0, 0xe8, 0x41, 0x67, 0x39, 0x02, 0xfa, 0x8e, 0x37, 0xe8, 0x41, 0x87, 0x39, 0xef, 0x03, 0x58, 0x68,
- 0xe8, 0x41, 0x87, 0x39, 0x5b, 0xea, 0xab, 0xa3, 0x08, 0x42, 0x87, 0x39, 0xff, 0xe5, 0x0c, 0xeb, 0xe8, 0x41, 0x87, 0x39, 0xe2, 0xa0, 0xac, 0xfe, 0x29, 0x4a, 0x87, 0x39, 0xad, 0xae, 0xbf, 0xc2,
- 0x69, 0x5a, 0xc8, 0x39, 0x55, 0xff, 0x8a, 0xbc, 0xeb, 0x6a, 0xa7, 0x39, 0x75, 0xdf, 0xdf, 0x8b, 0x28, 0x4a, 0xa7, 0x31, 0x7d, 0xfe, 0xf8, 0x7a, 0xe8, 0x39, 0x87, 0x31, 0x76, 0xf6, 0xaa, 0x29,
- 0xe8, 0x41, 0x67, 0x31, 0xff, 0x5f, 0xae, 0x08, 0xc8, 0x41, 0x87, 0x39, 0x8b, 0x56, 0x90, 0xa6, 0x29, 0x4a, 0x87, 0x31, 0x4b, 0xaf, 0xf5, 0x7e, 0x09, 0x42, 0xa7, 0x31, 0x9f, 0x6e, 0x62, 0xf7,
- 0x49, 0x4a, 0xa7, 0x39, 0x2f, 0xd5, 0xe3, 0xfd, 0x29, 0x42, 0x86, 0x31, 0xf7, 0xbb, 0xa2, 0xbb, 0x08, 0x42, 0xa7, 0x31, 0xca, 0xff, 0x9a, 0x35, 0x62, 0x59, 0x85, 0x41, 0x03, 0x03, 0x09, 0xad,
- 0x84, 0x59, 0x22, 0x51, 0xea, 0x2a, 0xba, 0x9d, 0x84, 0x59, 0x02, 0x51, 0x7b, 0xea, 0xf8, 0xb0, 0x64, 0x51, 0x22, 0x49, 0x6f, 0xaa, 0x5e, 0x2a, 0x62, 0x59, 0x04, 0x49, 0xf7, 0xca, 0xff, 0xfa,
- 0x43, 0x59, 0x02, 0x49, 0xed, 0xab, 0x0f, 0x2a, 0x43, 0x59, 0x02, 0x49, 0xba, 0xda, 0xea, 0x0a, 0x02, 0x51, 0x43, 0x49, 0xa9, 0xe2, 0x5e, 0x27, 0x44, 0x59, 0xe3, 0x40, 0xe8, 0x5c, 0xff, 0xfe,
- 0x24, 0x51, 0xe3, 0x38, 0x2e, 0xaa, 0xee, 0xfa, 0x23, 0x59, 0x02, 0x39, 0xa0, 0xab, 0xb5, 0xb7, 0x64, 0x59, 0x02, 0x51, 0xf5, 0xab, 0xae, 0x2d, 0x63, 0x61, 0x42, 0x51, 0xaf, 0xaa, 0xde, 0xff,
- 0x84, 0x61, 0x02, 0x49, 0xaa, 0xba, 0x2f, 0xb5, 0x85, 0x7a, 0x63, 0x59, 0xf5, 0xad, 0x8a, 0xab, 0x49, 0x93, 0xc4, 0x61, 0x95, 0xbd, 0x2b, 0x2f, 0x4c, 0xb4, 0xc8, 0x82, 0x25, 0xaf, 0x2b, 0x8a,
- 0xce, 0xcc, 0xa6, 0x49, 0x62, 0x50, 0x5c, 0x57, 0x08, 0x4a, 0x66, 0x31, 0xe0, 0x7f, 0x7e, 0xea, 0x28, 0x4a, 0xa7, 0x39, 0x89, 0xad, 0x75, 0x57, 0x28, 0x4a, 0xa7, 0x41, 0x2b, 0x0a, 0xdb, 0x7f,
- 0x28, 0x4a, 0xa7, 0x39, 0x0a, 0xab, 0xdf, 0xd7, 0x69, 0x52, 0xc8, 0x39, 0x2e, 0xff, 0xfd, 0x55, 0x49, 0x4a, 0xa7, 0x41, 0x08, 0xba, 0xef, 0xfd, 0xea, 0x6a, 0xa7, 0x39, 0x2a, 0xf7, 0xdf, 0xaf,
- 0x89, 0x62, 0xc7, 0x49, 0xfa, 0x2b, 0xaf, 0x58, 0x89, 0x5a, 0xe8, 0x49, 0x7a, 0xa0, 0x0a, 0x55, 0x89, 0x5a, 0xa7, 0x39, 0xbb, 0xfb, 0x78, 0xff, 0x08, 0x4a, 0xe8, 0x39, 0xfa, 0xfc, 0xe2, 0xa0,
- 0x08, 0x4a, 0xa7, 0x39, 0xa6, 0xaa, 0xfc, 0xfe, 0x08, 0x4a, 0xa7, 0x41, 0xbc, 0xfa, 0xe3, 0x7f, 0x08, 0x4a, 0x87, 0x41, 0x82, 0xaa, 0xe0, 0x5b, 0xe8, 0x49, 0x87, 0x41, 0x32, 0xba, 0x7e, 0xf7,
- 0xe8, 0x49, 0x66, 0x31, 0xdc, 0xaa, 0xfe, 0xeb, 0xc8, 0x49, 0x86, 0x39, 0xbe, 0x8f, 0x7f, 0xfa, 0xc8, 0x49, 0x67, 0x39, 0xea, 0x42, 0x3b, 0xef, 0xc8, 0x41, 0x46, 0x39, 0x82, 0xb7, 0x00, 0xdb,
- 0xe8, 0x41, 0x46, 0x31, 0xfb, 0x1e, 0xba, 0xaa, 0x08, 0x4a, 0x67, 0x31, 0xd7, 0xff, 0xef, 0xe0, 0xc8, 0x39, 0x46, 0x31, 0x5c, 0xab, 0xfa, 0xbf, 0x08, 0x42, 0x67, 0x31, 0xa9, 0x82, 0x2d, 0xf8,
- 0x08, 0x4a, 0x67, 0x41, 0x7e, 0xa2, 0x00, 0xa2, 0x08, 0x4a, 0x87, 0x39, 0xab, 0xd7, 0xf8, 0xaa, 0x08, 0x4a, 0x46, 0x41, 0xba, 0x7e, 0xff, 0xa2, 0xc5, 0x61, 0x87, 0x39, 0x2d, 0xbf, 0x35, 0x2d,
- 0x84, 0x61, 0x43, 0x51, 0xfe, 0x52, 0x72, 0xf8, 0x84, 0x59, 0x03, 0x59, 0x2e, 0xa6, 0xaa, 0x00, 0x84, 0x61, 0x63, 0x51, 0xbf, 0xef, 0xbb, 0xcf, 0x84, 0x59, 0x23, 0x51, 0xa6, 0xea, 0xee, 0x68,
- 0x83, 0x59, 0x02, 0x49, 0xba, 0x77, 0xd8, 0x5b, 0x84, 0x59, 0x02, 0x49, 0x80, 0xaf, 0x5f, 0x7f, 0x63, 0x51, 0xe2, 0x48, 0xca, 0xeb, 0x7f, 0xaa, 0x43, 0x59, 0x02, 0x49, 0x9c, 0xac, 0xe9, 0x3e,
- 0x62, 0x59, 0x23, 0x51, 0xaa, 0xfb, 0x0a, 0x2f, 0x63, 0x61, 0x02, 0x51, 0xb8, 0xfb, 0xba, 0xaa, 0x84, 0x59, 0x22, 0x51, 0xff, 0xed, 0x6f, 0x8e, 0x64, 0x59, 0x02, 0x51, 0xaf, 0xa3, 0x34, 0xbb,
- 0xc4, 0x61, 0x43, 0x59, 0xb5, 0x7d, 0x27, 0x0d, 0x05, 0x62, 0x43, 0x59, 0xff, 0xf7, 0xff, 0x2a, 0x46, 0x62, 0x43, 0x59, 0x57, 0xf7, 0xbf, 0x02, 0x87, 0x72, 0x84, 0x51, 0x55, 0xb5, 0x0a, 0xab,
- 0x67, 0x72, 0xe6, 0x69, 0x08, 0xa2, 0x78, 0xbb, 0x08, 0x83, 0x06, 0x62, 0x09, 0xeb, 0xfd, 0xf7, 0x6a, 0x8b, 0x05, 0x62, 0xe8, 0x7f, 0x55, 0x5d, 0xc8, 0x7a, 0xe5, 0x59, 0xa8, 0x5e, 0xfe, 0x8a,
- 0x87, 0x6a, 0x05, 0x62, 0x0d, 0xf5, 0xf5, 0xce, 0xcc, 0x93, 0x26, 0x6a, 0xd5, 0xd5, 0xdf, 0x3d, 0x51, 0xc5, 0xa7, 0x72, 0xbf, 0xaf, 0xcb, 0x62, 0x30, 0xbd, 0xc7, 0x7a, 0xae, 0xad, 0xa9, 0x0a,
- 0xb2, 0xcd, 0x87, 0x72, 0xbe, 0xe7, 0x29, 0x0f, 0x31, 0xc5, 0x2c, 0x9c, 0xf6, 0x22, 0x90, 0xf4, 0xd2, 0xd5, 0x6d, 0xac, 0xb5, 0x8b, 0x2e, 0xab, 0x53, 0xee, 0x07, 0x62, 0x8a, 0x0a, 0xe2, 0x6a,
- 0x6b, 0x8b, 0x66, 0x39, 0x5c, 0x5f, 0x57, 0x57, 0xa8, 0x41, 0x66, 0x31, 0xee, 0xab, 0xaf, 0xfb, 0x08, 0x4a, 0x66, 0x39, 0x0a, 0xff, 0xad, 0xd5, 0xa9, 0x6a, 0xa7, 0x39, 0x2a, 0xbd, 0xbe, 0xff,
- 0xa9, 0x72, 0xe8, 0x51, 0x20, 0x2d, 0xab, 0xaf, 0xa9, 0x72, 0xc8, 0x49, 0xde, 0x72, 0x2d, 0x0a, 0xea, 0x72, 0x08, 0x5a, 0xaf, 0xed, 0x8e, 0xa0, 0x89, 0x6a, 0x87, 0x41, 0x88, 0xe3, 0xf7, 0x78,
- 0xa8, 0x49, 0x87, 0x39, 0xfc, 0x7a, 0x6c, 0x7c, 0x09, 0x52, 0x87, 0x39, 0xff, 0xed, 0xb3, 0xfd, 0x49, 0x52, 0x86, 0x41, 0x55, 0xdf, 0xbf, 0x2b, 0x89, 0x6a, 0x87, 0x49, 0xb5, 0x2d, 0x0b, 0x28,
- 0xaa, 0x6a, 0x66, 0x39, 0x7f, 0x6e, 0x78, 0x57, 0xc7, 0x39, 0x66, 0x31, 0x9f, 0x6a, 0xca, 0x7a, 0xe8, 0x49, 0x66, 0x39, 0xbf, 0x3f, 0xad, 0xaf, 0xaa, 0x62, 0xa7, 0x41, 0x2d, 0x2d, 0x2b, 0x0b,
- 0xca, 0x6a, 0xa7, 0x39, 0xfe, 0xf8, 0x5f, 0xfd, 0xa9, 0x62, 0xe8, 0x41, 0xf5, 0xbf, 0x3d, 0x8e, 0xea, 0x6a, 0xc7, 0x41, 0xe7, 0xe2, 0x7e, 0xfe, 0x69, 0x5a, 0x46, 0x31, 0x7a, 0xfe, 0xff, 0xe0,
- 0x08, 0x42, 0x46, 0x31, 0xff, 0xd7, 0xff, 0x2a, 0x89, 0x5a, 0x67, 0x31, 0x55, 0x55, 0xd5, 0xc2, 0x48, 0x5a, 0x46, 0x31, 0x57, 0x57, 0xaa, 0x2a, 0x09, 0x4a, 0x46, 0x31, 0xfd, 0xd5, 0xfe, 0xf8,
- 0x69, 0x6a, 0xa7, 0x39, 0xad, 0x7d, 0xaf, 0x0a, 0xa9, 0x6a, 0xa8, 0x49, 0xfa, 0xc2, 0x5f, 0xfa, 0x89, 0x62, 0x66, 0x39, 0x5f, 0xf7, 0x57, 0x8a, 0x69, 0x5a, 0x66, 0x31, 0x55, 0x55, 0x5f, 0x8a,
- 0x29, 0x42, 0xa8, 0x39, 0xd7, 0x55, 0xd8, 0xbe, 0x09, 0x42, 0xa8, 0x39, 0xba, 0xff, 0xf8, 0x55, 0x09, 0x42, 0xa7, 0x39, 0xad, 0xa0, 0xeb, 0x20, 0xec, 0x6a, 0xe8, 0x39, 0x55, 0xf5, 0x3d, 0xf5,
- 0xaa, 0x5a, 0x08, 0x42, 0xdd, 0x3e, 0x2e, 0xeb, 0xca, 0x62, 0x08, 0x42, 0xad, 0xaa, 0xae, 0x88, 0xaa, 0x62, 0xc8, 0x39, 0x7e, 0x57, 0x72, 0x62, 0xe8, 0x41, 0xa7, 0x31, 0x6e, 0xee, 0xa2, 0xfa,
- 0xc8, 0x39, 0x87, 0x31, 0xfa, 0xe8, 0x57, 0x0e, 0x09, 0x4a, 0x88, 0x31, 0xff, 0x5f, 0xbf, 0x28, 0xe9, 0x41, 0x67, 0x31, 0xb7, 0xba, 0x2a, 0x0a, 0x08, 0x42, 0x87, 0x31, 0xba, 0x5f, 0xe0, 0xaa,
- 0x09, 0x4a, 0xa8, 0x39, 0x6f, 0x9f, 0xdb, 0xbc, 0x08, 0x42, 0xa7, 0x39, 0xbb, 0xdf, 0x7a, 0x2d, 0x29, 0x4a, 0xa7, 0x39, 0xf9, 0xb8, 0xfb, 0xfb, 0x29, 0x4a, 0xa8, 0x39, 0xab, 0x0b, 0x2b, 0x97,
- 0xea, 0x62, 0xa7, 0x39, 0xbf, 0x97, 0x02, 0xdf, 0xeb, 0x72, 0xc7, 0x41, 0x7f, 0x0f, 0x28, 0xf5, 0x49, 0x5a, 0xa7, 0x31, 0xff, 0xfe, 0x78, 0x5f, 0xe8, 0x41, 0xa7, 0x39, 0xb2, 0x74, 0x55, 0x82,
- 0x08, 0x42, 0xa7, 0x31, 0xca, 0xfb, 0xfb, 0x5d, 0x09, 0x42, 0x87, 0x39, 0xba, 0x8a, 0xa5, 0xba, 0xe8, 0x41, 0x87, 0x31, 0xba, 0xe2, 0x9e, 0xbf, 0x29, 0x42, 0xa7, 0x39, 0x77, 0x09, 0xbd, 0xf5,
- 0x08, 0x42, 0xa7, 0x31, 0xea, 0xb6, 0xd8, 0xea, 0x08, 0x42, 0xa7, 0x39, 0xb2, 0xb7, 0x7e, 0xbb, 0xe8, 0x49, 0xa7, 0x31, 0xeb, 0x2e, 0xb5, 0xea, 0x63, 0x59, 0xa6, 0x41, 0x09, 0xad, 0x0b, 0x0d,
- 0x84, 0x59, 0x23, 0x51, 0xfd, 0xab, 0xa2, 0xf8, 0x84, 0x59, 0x22, 0x51, 0xb6, 0xea, 0xeb, 0xea, 0x64, 0x59, 0x03, 0x51, 0x88, 0xa8, 0xfe, 0xde, 0x64, 0x59, 0x03, 0x49, 0xaa, 0xaf, 0x67, 0x6f,
- 0x44, 0x59, 0xe3, 0x48, 0x80, 0x7e, 0x77, 0xde, 0x24, 0x59, 0xe2, 0x38, 0x82, 0xfb, 0xff, 0x7f, 0x24, 0x49, 0x02, 0x39, 0xb0, 0xbe, 0xde, 0xd7, 0x24, 0x41, 0xe3, 0x38, 0xa8, 0x6f, 0x5e, 0xeb,
- 0x04, 0x41, 0xe3, 0x38, 0x22, 0xd7, 0x5f, 0x34, 0x44, 0x49, 0xe3, 0x38, 0x0a, 0x7e, 0x5f, 0xdf, 0x63, 0x51, 0xc2, 0x38, 0x08, 0x8a, 0xff, 0xdd, 0x44, 0x59, 0xe3, 0x40, 0x80, 0xaa, 0xfe, 0xf5,
- 0x46, 0x72, 0xe3, 0x40, 0x35, 0xdd, 0xf5, 0xb5, 0xa7, 0x82, 0xa3, 0x61, 0xae, 0x9d, 0xb9, 0x28, 0x4c, 0xb4, 0x45, 0x72, 0xf5, 0xb5, 0x3d, 0x2d, 0x8d, 0xc4, 0xc6, 0x49, 0x8a, 0x62, 0x58, 0x5c,
- 0x49, 0x62, 0xc8, 0x39, 0xf8, 0xff, 0xff, 0x77, 0x29, 0x4a, 0xc7, 0x41, 0x7b, 0xe8, 0xfa, 0x5f, 0x29, 0x4a, 0x87, 0x41, 0x5f, 0xae, 0x2a, 0xa9, 0x29, 0x4a, 0x87, 0x39, 0x6b, 0xaf, 0xb8, 0x9f,
- 0x29, 0x4a, 0x67, 0x39, 0xf6, 0x0a, 0xae, 0xfc, 0x49, 0x52, 0xa7, 0x39, 0xdf, 0x0f, 0xbb, 0xdf, 0x89, 0x52, 0xa7, 0x41, 0x75, 0x8b, 0xef, 0x7f, 0xca, 0x62, 0x87, 0x39, 0xff, 0xff, 0x0b, 0x3d,
- 0xea, 0x6a, 0xa7, 0x41, 0x55, 0x55, 0xc2, 0x20, 0x2c, 0x73, 0xa7, 0x41, 0xf5, 0x55, 0xea, 0xe2, 0x69, 0x52, 0x87, 0x39, 0xd7, 0xd7, 0x9f, 0x2b, 0xaa, 0x5a, 0x67, 0x39, 0xd7, 0x7f, 0xff, 0xa8,
- 0x08, 0x42, 0x87, 0x39, 0xeb, 0xba, 0x77, 0xa2, 0x08, 0x42, 0x67, 0x39, 0xae, 0xab, 0xb7, 0xa8, 0xe8, 0x41, 0x67, 0x39, 0xa8, 0xae, 0xaa, 0x05, 0xe8, 0x41, 0x87, 0x39, 0xa6, 0x96, 0xe8, 0x70,
- 0xe8, 0x41, 0x67, 0x39, 0xa8, 0xd6, 0xfe, 0x2b, 0xe8, 0x49, 0x66, 0x39, 0xeb, 0x5e, 0x7f, 0xf8, 0xc8, 0x41, 0x46, 0x39, 0xe2, 0xbe, 0x3d, 0xaa, 0xc7, 0x41, 0x46, 0x39, 0xb7, 0xaf, 0x28, 0x2a,
- 0xe8, 0x41, 0x66, 0x39, 0x2f, 0xb5, 0xea, 0x57, 0x49, 0x52, 0x87, 0x41, 0xf2, 0xf5, 0x5d, 0xfd, 0xc8, 0x39, 0x47, 0x29, 0x5e, 0xbe, 0xbf, 0x3f, 0xc8, 0x41, 0x46, 0x29, 0x8e, 0xab, 0xba, 0xdf,
- 0x09, 0x4a, 0x87, 0x31, 0x8a, 0x2b, 0xae, 0x7d, 0xe8, 0x49, 0x87, 0x41, 0x8b, 0x02, 0x25, 0xa2, 0xe8, 0x51, 0x67, 0x41, 0x5f, 0x7a, 0x82, 0xa8, 0xe6, 0x61, 0xa8, 0x39, 0x2f, 0x3d, 0x2f, 0x3d,
- 0xc4, 0x61, 0x63, 0x59, 0x7e, 0x5a, 0x9f, 0x3f, 0xe6, 0x61, 0x63, 0x59, 0x57, 0x55, 0x5b, 0x00, 0xc4, 0x61, 0x43, 0x59, 0xbb, 0xab, 0x2d, 0x8e, 0xa4, 0x61, 0x43, 0x51, 0x62, 0xee, 0xea, 0x6b,
- 0x64, 0x59, 0xe3, 0x40, 0xde, 0xa8, 0xa2, 0xa2, 0x64, 0x59, 0x23, 0x51, 0x75, 0xd5, 0xe8, 0xde, 0x44, 0x59, 0x02, 0x41, 0x7a, 0xfa, 0x8a, 0xfa, 0x44, 0x59, 0xc2, 0x38, 0x8b, 0x02, 0x8a, 0xd7,
- 0x43, 0x59, 0xe2, 0x40, 0x00, 0x22, 0x20, 0xf7, 0x83, 0x61, 0x02, 0x49, 0xea, 0xaf, 0x0f, 0xfd, 0xa4, 0x61, 0x43, 0x59, 0xff, 0xf7, 0x7b, 0x2e, 0x05, 0x6a, 0x43, 0x59, 0x57, 0xf9, 0x35, 0x29,
- 0x45, 0x6a, 0x84, 0x61, 0xed, 0x0b, 0x0a, 0x02, 0x46, 0x6a, 0xc5, 0x61, 0x5f, 0x2a, 0xa0, 0x00, 0x87, 0x72, 0xe4, 0x69, 0xfd, 0xd7, 0xb5, 0x0b, 0xa7, 0x72, 0xe5, 0x61, 0x7d, 0x55, 0xfe, 0x80,
- 0xa8, 0x72, 0x26, 0x6a, 0xdd, 0x7f, 0xea, 0x80, 0x87, 0x72, 0x26, 0x6a, 0xf5, 0x75, 0xff, 0xec, 0x87, 0x72, 0x05, 0x62, 0x6b, 0xaf, 0x0b, 0x0a, 0xab, 0x8b, 0x26, 0x6a, 0xf5, 0xff, 0xff, 0x3f,
- 0x6d, 0xa4, 0x47, 0x6a, 0x55, 0x3f, 0xfb, 0x1a, 0xae, 0xac, 0xc8, 0x72, 0xaf, 0x2d, 0xa9, 0x9f, 0x30, 0xbd, 0x08, 0x7b, 0xe0, 0x6a, 0xfa, 0xba, 0xef, 0xbc, 0xa7, 0x7a, 0xee, 0xe8, 0x9c, 0xe7,
- 0x30, 0xbd, 0x66, 0x6a, 0x83, 0xa2, 0xc2, 0x52, 0xef, 0xbc, 0x28, 0x7b, 0x07, 0xad, 0xaf, 0x83, 0x71, 0xd5, 0x6c, 0xac, 0xa3, 0xad, 0xaf, 0xab, 0x91, 0xdd, 0xc7, 0x51, 0xf0, 0x50, 0x5c, 0x56,
- 0xaa, 0x6a, 0xc7, 0x41, 0x9a, 0x78, 0x7b, 0xaf, 0x48, 0x52, 0xa7, 0x41, 0x5c, 0xfe, 0xa6, 0xf6, 0xe8, 0x41, 0x67, 0x39, 0xb6, 0x82, 0xb2, 0x8a, 0x08, 0x4a, 0x87, 0x41, 0xdd, 0x0b, 0x32, 0x20,
- 0x89, 0x6a, 0xc7, 0x41, 0xaf, 0x35, 0xa9, 0xac, 0xaa, 0x6a, 0xa6, 0x51, 0xa0, 0x7b, 0xaa, 0x02, 0x69, 0x6a, 0xa7, 0x41, 0xf0, 0x7e, 0xc0, 0x00, 0x49, 0x5a, 0x67, 0x39, 0xdf, 0x7e, 0xaa, 0x28,
- 0xaa, 0x6a, 0x67, 0x39, 0x57, 0x57, 0x2a, 0xfa, 0xaa, 0x6a, 0x67, 0x39, 0x75, 0x55, 0x2a, 0x0a, 0xca, 0x72, 0x87, 0x41, 0xff, 0xf5, 0xc2, 0xea, 0x29, 0x5a, 0xa7, 0x41, 0xc0, 0xe2, 0x7c, 0x65,
- 0x08, 0x5a, 0x87, 0x31, 0x78, 0x7e, 0xff, 0x55, 0xe8, 0x41, 0x87, 0x39, 0xc9, 0x90, 0xa2, 0x29, 0x69, 0x52, 0x87, 0x39, 0xf5, 0xef, 0xbf, 0x3f, 0x49, 0x52, 0xa7, 0x39, 0xbb, 0x01, 0x80, 0x8c,
- 0xaa, 0x62, 0xc7, 0x41, 0xbf, 0x5f, 0x0b, 0x2d, 0x89, 0x62, 0xe8, 0x49, 0xe8, 0xda, 0xfb, 0xf2, 0xca, 0x6a, 0x28, 0x4a, 0x5f, 0xed, 0xed, 0xf2, 0x69, 0x62, 0xa7, 0x39, 0xd6, 0x7e, 0xaa, 0xe8,
- 0x08, 0x42, 0x87, 0x31, 0xaf, 0x30, 0x2e, 0x7a, 0x48, 0x4a, 0x46, 0x31, 0x8a, 0xaa, 0x28, 0x7a, 0xe7, 0x49, 0x66, 0x39, 0x3e, 0xa8, 0x2f, 0x75, 0x69, 0x52, 0xa7, 0x39, 0x7a, 0x03, 0x9c, 0xa9,
- 0x69, 0x5a, 0xa7, 0x39, 0x7a, 0xe0, 0xa0, 0xaf, 0x69, 0x52, 0x87, 0x41, 0xb7, 0xe2, 0xfe, 0xe0, 0x89, 0x5a, 0xa7, 0x41, 0xfb, 0xc5, 0xaf, 0xaf, 0xca, 0x62, 0xa7, 0x41, 0xfd, 0x8f, 0xaf, 0x00,
- 0xe8, 0x39, 0x87, 0x31, 0xa5, 0x78, 0x3b, 0xe7, 0xe9, 0x41, 0x87, 0x29, 0x7e, 0xaa, 0xe2, 0xeb, 0x08, 0x42, 0xa7, 0x31, 0x27, 0x57, 0x75, 0x6a, 0x6a, 0x52, 0x87, 0x31, 0x3b, 0xbd, 0xff, 0x37,
- 0xea, 0x62, 0xe8, 0x41, 0x97, 0xd7, 0x95, 0x3f, 0x2b, 0x6b, 0xe7, 0x49, 0x2a, 0xab, 0x5f, 0xbf, 0x0a, 0x73, 0xa7, 0x39, 0xe2, 0xf8, 0x7a, 0x5c, 0x49, 0x4a, 0x87, 0x39, 0x7c, 0x7a, 0xd5, 0xed,
- 0xe8, 0x39, 0x87, 0x31, 0xdd, 0x59, 0xd2, 0x03, 0x09, 0x4a, 0x87, 0x39, 0xdf, 0x5d, 0x5f, 0x2f, 0x09, 0x4a, 0x67, 0x31, 0xdf, 0xdf, 0xff, 0x8a, 0x08, 0x42, 0x87, 0x39, 0x7b, 0xfb, 0xcb, 0x00,
- 0x29, 0x42, 0x67, 0x39, 0x7d, 0x7b, 0xfb, 0xa8, 0xe9, 0x41, 0xa7, 0x31, 0x17, 0xaf, 0x7a, 0x82, 0xe9, 0x41, 0xa8, 0x39, 0x34, 0xf8, 0x7b, 0xff, 0x08, 0x42, 0x87, 0x39, 0xef, 0xfc, 0x9f, 0x8b,
- 0xaa, 0x62, 0xa7, 0x39, 0xf7, 0x2d, 0xf5, 0xed, 0x0b, 0x73, 0x67, 0x39, 0x22, 0xaa, 0xff, 0xf7, 0xaa, 0x5a, 0xa7, 0x41, 0x7c, 0xce, 0x75, 0x57, 0x8a, 0x5a, 0x87, 0x39, 0x5f, 0xfa, 0x73, 0xfd,
- 0x08, 0x42, 0x87, 0x39, 0xe7, 0x8a, 0xfa, 0x6b, 0xe9, 0x41, 0x67, 0x31, 0x7a, 0xb0, 0xaa, 0xaa, 0xa8, 0x41, 0xe8, 0x39, 0xdf, 0x0b, 0xf7, 0xff, 0xc8, 0x39, 0x67, 0x31, 0xa0, 0x4a, 0x82, 0x82,
- 0xe8, 0x41, 0x87, 0x31, 0xc2, 0x8d, 0x8f, 0xf5, 0xe9, 0x41, 0xa7, 0x31, 0x25, 0xab, 0xfb, 0xe6, 0x09, 0x4a, 0xc7, 0x39, 0x2f, 0x2a, 0xd7, 0x55, 0x43, 0x59, 0xe7, 0x41, 0x09, 0x09, 0xbd, 0x2d,
- 0x84, 0x59, 0x23, 0x51, 0xf2, 0xfd, 0xae, 0xb8, 0xa4, 0x61, 0x23, 0x51, 0x7d, 0x57, 0xf8, 0xfe, 0x64, 0x51, 0x03, 0x49, 0x7b, 0x5e, 0xfb, 0x00, 0x64, 0x51, 0x03, 0x49, 0x55, 0x5f, 0x7d, 0xc0,
- 0x44, 0x51, 0xe2, 0x40, 0x5f, 0xfa, 0xf0, 0xf0, 0x24, 0x49, 0xe2, 0x38, 0xff, 0xee, 0x80, 0x02, 0x23, 0x41, 0x02, 0x41, 0xdf, 0x7f, 0x75, 0xad, 0xc3, 0x40, 0x22, 0x31, 0xef, 0xf7, 0xf8, 0xbb,
- 0x23, 0x41, 0xe2, 0x38, 0xde, 0xa7, 0x56, 0x35, 0x24, 0x41, 0xe3, 0x38, 0x2f, 0xcf, 0x47, 0x2b, 0x44, 0x51, 0xe2, 0x30, 0xfe, 0xff, 0xfd, 0x2b, 0x44, 0x51, 0xc3, 0x30, 0x2f, 0xb6, 0x2a, 0x0a,
- 0x45, 0x72, 0x23, 0x51, 0xb5, 0x2d, 0x2d, 0x35, 0xc8, 0x82, 0x24, 0x72, 0x7f, 0xed, 0xad, 0x17, 0xae, 0xc4, 0xa5, 0x51, 0x8b, 0xca, 0x73, 0x52, 0x47, 0x62, 0xa8, 0x39, 0xfc, 0xfb, 0xf5, 0xf7,
- 0x09, 0x4a, 0x86, 0x31, 0x5e, 0xf2, 0xfe, 0xba, 0x08, 0x42, 0x87, 0x31, 0xbf, 0xfd, 0x88, 0x6a, 0xe8, 0x39, 0xa7, 0x31, 0xca, 0xb4, 0xef, 0xef, 0x09, 0x4a, 0xa7, 0x39, 0xd3, 0xd5, 0xeb, 0xcf,
- 0x09, 0x4a, 0xa7, 0x31, 0xfe, 0x76, 0x0a, 0xa2, 0x48, 0x42, 0x46, 0x31, 0xab, 0x5f, 0xa2, 0xbe, 0x6a, 0x52, 0x87, 0x39, 0x0b, 0xb5, 0xfd, 0xbf, 0x6c, 0x73, 0xc7, 0x39, 0xa9, 0xa3, 0xf5, 0xd5,
- 0x0a, 0x6b, 0x67, 0x31, 0x2e, 0x88, 0xf7, 0xee, 0x2a, 0x73, 0xa7, 0x39, 0xf0, 0xff, 0xf5, 0xdd, 0x48, 0x4a, 0xa7, 0x41, 0xf7, 0xa8, 0x57, 0xa3, 0xea, 0x6a, 0xc7, 0x41, 0xe2, 0x6d, 0x75, 0xff,
- 0x28, 0x4a, 0xa7, 0x39, 0xff, 0xb3, 0x5f, 0x7f, 0x08, 0x4a, 0x87, 0x31, 0x00, 0x08, 0xfb, 0x5e, 0x08, 0x4a, 0xa7, 0x39, 0xbb, 0xe2, 0x57, 0xf5, 0x09, 0x4a, 0xc8, 0x39, 0xad, 0xaa, 0xf7, 0x21,
- 0x08, 0x4a, 0xc7, 0x39, 0xe2, 0x75, 0x77, 0x28, 0x49, 0x4a, 0x87, 0x39, 0xaa, 0xaa, 0xde, 0x2e, 0x29, 0x4a, 0x66, 0x39, 0x7c, 0xe0, 0x77, 0x7c, 0xc8, 0x49, 0x86, 0x31, 0xff, 0xf7, 0xa7, 0xac,
- 0xc8, 0x41, 0x46, 0x31, 0xa6, 0xdf, 0xf2, 0xab, 0xc8, 0x49, 0x46, 0x31, 0x22, 0xeb, 0xf7, 0xaf, 0xc8, 0x39, 0x67, 0x31, 0xbe, 0xe7, 0xd7, 0xfb, 0x08, 0x42, 0x67, 0x31, 0xeb, 0xf3, 0xf5, 0x5d,
- 0xc8, 0x39, 0x66, 0x31, 0x8a, 0x2c, 0x6f, 0xd7, 0xe8, 0x41, 0x66, 0x31, 0x0e, 0xa3, 0x09, 0xbd, 0xc8, 0x49, 0x87, 0x39, 0x72, 0xee, 0x7e, 0xf8, 0xc4, 0x61, 0xa7, 0x39, 0x3d, 0xbd, 0xb5, 0xff,
- 0xe4, 0x61, 0x43, 0x59, 0x28, 0x3f, 0xff, 0xfd, 0x25, 0x6a, 0x23, 0x59, 0x8a, 0xaa, 0x7e, 0x7d, 0xa4, 0x61, 0x23, 0x51, 0x0c, 0x8a, 0x8b, 0xe5, 0x84, 0x61, 0x23, 0x51, 0x7b, 0xfe, 0xf7, 0x78,
- 0x44, 0x59, 0x23, 0x49, 0xa0, 0x7f, 0xef, 0xde, 0x44, 0x59, 0x03, 0x49, 0xd7, 0xdf, 0xad, 0x2b, 0x64, 0x59, 0x03, 0x49, 0x5f, 0xdf, 0xaa, 0x28, 0x43, 0x59, 0x02, 0x41, 0xbd, 0xea, 0xa0, 0xa8,
- 0x63, 0x59, 0x03, 0x41, 0x7f, 0xff, 0xa0, 0x0a, 0x43, 0x51, 0x02, 0x49, 0x17, 0xf8, 0xb8, 0xf8, 0x45, 0x72, 0x43, 0x59, 0xff, 0x05, 0x0f, 0x2f, 0xa7, 0x72, 0xc5, 0x61, 0xfd, 0xab, 0x2a, 0xff,
- 0xa7, 0x72, 0x05, 0x6a, 0xbf, 0x3a, 0xf8, 0x5d, 0xa7, 0x72, 0xe4, 0x69, 0xa8, 0xa8, 0xeb, 0xf5, 0xe9, 0x7a, 0x04, 0x62, 0xaa, 0xa3, 0xbd, 0x35, 0x08, 0x7b, 0x25, 0x62, 0xfa, 0x7a, 0x5c, 0x5e,
- 0xc8, 0x72, 0x05, 0x62, 0x83, 0x79, 0xfb, 0xff, 0x67, 0x72, 0x05, 0x6a, 0x5e, 0xfd, 0xaa, 0xa8, 0x66, 0x72, 0x05, 0x62, 0x88, 0xab, 0xeb, 0xeb, 0x08, 0x83, 0x25, 0x6a, 0xef, 0xfd, 0xad, 0x2d,
- 0x4d, 0xac, 0x66, 0x72, 0xf1, 0xad, 0x0b, 0x03, 0x6e, 0xac, 0x86, 0x72, 0xff, 0xad, 0x2a, 0x82, 0x8e, 0xb4, 0x25, 0x6a, 0x80, 0x68, 0x9a, 0x8e, 0x30, 0xc5, 0x08, 0x83, 0xfd, 0x3f, 0xcf, 0xe9,
- 0x30, 0xc5, 0xe8, 0x7a, 0xbc, 0xe7, 0xbf, 0xab, 0x30, 0xcd, 0x49, 0x8b, 0xa9, 0xaf, 0x2a, 0x22, 0x91, 0xd5, 0xc6, 0x59, 0x00, 0x8a, 0x40, 0x52, 0xa9, 0x72, 0xc7, 0x41, 0xe8, 0xae, 0xb7, 0xf5,
- 0xa9, 0x62, 0x86, 0x39, 0x2b, 0x9e, 0xfc, 0xff, 0x69, 0x5a, 0xc7, 0x39, 0xfc, 0xb4, 0xf7, 0xaf, 0x48, 0x4a, 0xa7, 0x39, 0x96, 0x60, 0x6b, 0x7a, 0x28, 0x4a, 0x87, 0x39, 0xe8, 0x0b, 0x29, 0x2b,
- 0xa9, 0x6a, 0xa6, 0x39, 0xe9, 0x0b, 0x3f, 0xbf, 0xc9, 0x72, 0xc7, 0x49, 0x7f, 0xfa, 0xb8, 0xf7, 0x89, 0x62, 0xc8, 0x51, 0xfd, 0x8a, 0x78, 0xbf, 0x69, 0x62, 0xe8, 0x49, 0xd7, 0xe2, 0x89, 0x22,
- 0xaa, 0x62, 0xe7, 0x41, 0xf7, 0xa9, 0xa3, 0x9c, 0xaa, 0x72, 0xa7, 0x41, 0xfb, 0x78, 0x57, 0x57, 0x49, 0x52, 0x66, 0x39, 0xf0, 0xd6, 0x57, 0xff, 0x08, 0x5a, 0x67, 0x39, 0xc1, 0xed, 0xfd, 0x9f,
- 0xc8, 0x41, 0x66, 0x31, 0xaa, 0xaf, 0x7d, 0x70, 0xe8, 0x41, 0x87, 0x31, 0xab, 0xa8, 0xaf, 0x35, 0x49, 0x5a, 0xa7, 0x39, 0x3f, 0xf5, 0xfd, 0xd7, 0xaa, 0x5a, 0xc7, 0x39, 0x8a, 0xa5, 0xd7, 0xbf,
- 0x89, 0x5a, 0xa6, 0x39, 0x87, 0xbb, 0xfa, 0xaa, 0xc9, 0x5a, 0x87, 0x39, 0x02, 0x7a, 0xde, 0xff, 0xc9, 0x6a, 0xa7, 0x39, 0x2a, 0xfd, 0xdf, 0x7d, 0x69, 0x52, 0x87, 0x31, 0xf8, 0xdf, 0x7f, 0x5f,
- 0xe8, 0x41, 0x87, 0x31, 0xbf, 0xf3, 0x87, 0x3a, 0xc8, 0x41, 0x67, 0x31, 0x7f, 0xdf, 0xee, 0xbc, 0xa8, 0x41, 0x67, 0x39, 0xdb, 0x5d, 0x09, 0xc2, 0x69, 0x52, 0x67, 0x31, 0x25, 0xf7, 0xff, 0xaf,
- 0xaa, 0x5a, 0x87, 0x39, 0xf8, 0xff, 0x55, 0xdf, 0x89, 0x5a, 0x87, 0x39, 0x02, 0x2b, 0x7d, 0x55, 0xaa, 0x5a, 0xa8, 0x41, 0x5e, 0xfa, 0x2b, 0xa9, 0xaa, 0x62, 0xa7, 0x39, 0x2a, 0xad, 0xbb, 0xaa,
- 0x29, 0x42, 0x88, 0x39, 0xff, 0x8b, 0xae, 0xd5, 0x49, 0x4a, 0xa7, 0x39, 0xff, 0xaa, 0x15, 0x5d, 0xca, 0x62, 0x87, 0x31, 0x7f, 0xab, 0xa0, 0xff, 0x89, 0x5a, 0xa7, 0x29, 0xf5, 0xaf, 0x2a, 0xaa,
- 0x2b, 0x6b, 0x09, 0x4a, 0xbd, 0x2a, 0xaa, 0xfd, 0x2b, 0x6b, 0xe7, 0x49, 0xba, 0x28, 0xb6, 0x2a, 0xae, 0x83, 0xc7, 0x41, 0x4f, 0xaa, 0xfd, 0x7e, 0x89, 0x52, 0xc8, 0x39, 0xfd, 0xfe, 0x78, 0x75,
- 0x09, 0x42, 0xa7, 0x31, 0x83, 0xaf, 0xef, 0x7a, 0x29, 0x4a, 0x88, 0x31, 0x0a, 0xff, 0xd7, 0xfa, 0x09, 0x42, 0x67, 0x29, 0xa0, 0xba, 0x5e, 0xfa, 0x29, 0x4a, 0xa8, 0x31, 0xff, 0x77, 0x7d, 0xc3,
- 0x09, 0x42, 0x87, 0x31, 0xae, 0x2d, 0xbf, 0xaa, 0x29, 0x42, 0xa8, 0x39, 0xaa, 0xda, 0x7f, 0xeb, 0x8a, 0x52, 0x88, 0x31, 0x0f, 0xaf, 0xed, 0xbf, 0x6a, 0x52, 0xe8, 0x39, 0xae, 0xe3, 0x39, 0xf5,
- 0x2b, 0x63, 0xc8, 0x39, 0xff, 0x2f, 0xd7, 0xdf, 0xca, 0x6a, 0xc7, 0x39, 0x0a, 0xa8, 0xbf, 0x5f, 0xeb, 0x6a, 0xe8, 0x41, 0xec, 0xc2, 0xfa, 0xd5, 0xca, 0x62, 0xc8, 0x41, 0x15, 0xaf, 0xaa, 0xff,
- 0x8a, 0x5a, 0xa7, 0x41, 0x75, 0xf0, 0x8e, 0x60, 0x49, 0x4a, 0xa8, 0x39, 0xdf, 0xde, 0x28, 0x2a, 0x8a, 0x52, 0x67, 0x39, 0x7f, 0xff, 0xa0, 0xe8, 0x89, 0x52, 0xa8, 0x39, 0xd5, 0x57, 0xfe, 0xf2,
- 0x08, 0x42, 0xa7, 0x39, 0x75, 0x57, 0x62, 0xf2, 0xe8, 0x41, 0x67, 0x39, 0x8d, 0x09, 0xae, 0x2a, 0xe8, 0x41, 0x87, 0x31, 0xbe, 0x0f, 0x6e, 0xae, 0x64, 0x59, 0xe8, 0x39, 0x2d, 0x0d, 0xbd, 0xbf,
- 0xc4, 0x61, 0x43, 0x51, 0x5f, 0x7e, 0xe8, 0xf2, 0x84, 0x59, 0x43, 0x49, 0xae, 0xf6, 0xc0, 0x00, 0x63, 0x59, 0x23, 0x51, 0x92, 0x60, 0xfa, 0xe0, 0x64, 0x59, 0x23, 0x49, 0x8a, 0x29, 0xbd, 0xb7,
- 0x64, 0x59, 0xe3, 0x48, 0x79, 0x2e, 0x28, 0xa0, 0x64, 0x51, 0x03, 0x41, 0xd5, 0x5f, 0x70, 0xbf, 0x44, 0x49, 0xe2, 0x40, 0xff, 0xbe, 0xfe, 0xe8, 0x44, 0x49, 0xe2, 0x40, 0xad, 0xbf, 0x7d, 0xc2,
- 0x23, 0x49, 0xe2, 0x40, 0xef, 0x5e, 0xe1, 0x3e, 0x44, 0x49, 0xe2, 0x40, 0xe3, 0x7f, 0xf3, 0x7d, 0x24, 0x49, 0xe3, 0x38, 0xff, 0xff, 0xeb, 0xaf, 0x64, 0x51, 0xe3, 0x38, 0xa5, 0x07, 0x27, 0x0d,
- 0xc5, 0x69, 0x03, 0x41, 0xa5, 0x2d, 0xad, 0x2d, 0x2a, 0x83, 0xc4, 0x61, 0xb5, 0x7d, 0xdf, 0x37, 0xf0, 0xcc, 0xc7, 0x41, 0x5c, 0x56, 0x57, 0x55, 0x29, 0x4a, 0xa7, 0x39, 0xac, 0xbb, 0xda, 0x82,
- 0x29, 0x4a, 0xa7, 0x39, 0xb8, 0xae, 0x5f, 0xfb, 0x29, 0x42, 0xc7, 0x39, 0x3b, 0x82, 0xd8, 0x6a, 0x29, 0x4a, 0xa7, 0x39, 0xf7, 0xe2, 0xab, 0xb7, 0x28, 0x42, 0x67, 0x31, 0xaa, 0xee, 0x27, 0x8a,
- 0x29, 0x4a, 0xa7, 0x31, 0xe8, 0x08, 0xa8, 0x5b, 0x6a, 0x5a, 0xc7, 0x39, 0xfd, 0x2a, 0xff, 0xff, 0xaa, 0x5a, 0xe8, 0x41, 0x7f, 0x8a, 0x8a, 0xfd, 0xa9, 0x5a, 0xe8, 0x41, 0xdf, 0x2f, 0x02, 0xab,
- 0x2c, 0x73, 0xe8, 0x41, 0x75, 0x87, 0xe2, 0xee, 0xea, 0x6a, 0x08, 0x4a, 0xaf, 0x8b, 0x6f, 0x7f, 0x89, 0x5a, 0xc7, 0x41, 0x2e, 0x7f, 0xf5, 0x7b, 0xaa, 0x5a, 0xc8, 0x41, 0xfc, 0x5f, 0xff, 0x57,
- 0x08, 0x4a, 0x87, 0x39, 0xae, 0xba, 0x00, 0x05, 0xe8, 0x41, 0xa7, 0x31, 0x42, 0xa8, 0x00, 0xa8, 0x08, 0x42, 0x87, 0x31, 0xa9, 0x02, 0x0a, 0x3a, 0x29, 0x4a, 0xa7, 0x39, 0xff, 0xa2, 0xb9, 0xd6,
- 0x08, 0x4a, 0x87, 0x39, 0x7a, 0xab, 0x2b, 0x8a, 0xa7, 0x49, 0x08, 0x42, 0xfa, 0x8b, 0x6f, 0xed, 0x28, 0x4a, 0xa7, 0x41, 0xb8, 0x5e, 0xb2, 0xe7, 0xe8, 0x49, 0x87, 0x41, 0x8c, 0xaf, 0x58, 0xaa,
- 0xe8, 0x41, 0x86, 0x39, 0x7e, 0x00, 0xba, 0xc2, 0xe8, 0x41, 0x46, 0x31, 0xbf, 0xe2, 0xc0, 0x6a, 0xa8, 0x39, 0x47, 0x31, 0xdf, 0xfa, 0xc0, 0xfa, 0xc8, 0x41, 0x67, 0x31, 0xbf, 0xd5, 0x8a, 0x3b,
- 0xe8, 0x41, 0x46, 0x31, 0xff, 0xfd, 0x2e, 0x82, 0xe8, 0x41, 0x67, 0x31, 0xfd, 0xff, 0xa3, 0x23, 0xe8, 0x41, 0x67, 0x39, 0xa8, 0x22, 0x0d, 0x9f, 0xe8, 0x49, 0x86, 0x41, 0xd7, 0x70, 0xa0, 0xcb,
- 0x84, 0x51, 0x03, 0x49, 0x8b, 0xe3, 0xda, 0x7e, 0x84, 0x59, 0x03, 0x49, 0xe2, 0xa3, 0xc3, 0xfd, 0xa4, 0x59, 0x03, 0x49, 0xcb, 0xcb, 0x75, 0xdd, 0x84, 0x59, 0x03, 0x49, 0xe0, 0xa0, 0xef, 0xe5,
- 0x64, 0x59, 0x23, 0x51, 0xef, 0xba, 0xd5, 0xff, 0x64, 0x51, 0xe3, 0x48, 0xaa, 0x9e, 0xba, 0xa8, 0x84, 0x59, 0x02, 0x49, 0xa2, 0x7b, 0xde, 0xff, 0x44, 0x49, 0xe3, 0x40, 0xaa, 0x57, 0x3e, 0x5f,
- 0x43, 0x51, 0x03, 0x41, 0x0a, 0xb5, 0xa7, 0xbf, 0xc4, 0x59, 0xe3, 0x50, 0xff, 0xdf, 0xbf, 0x2f, 0x05, 0x6a, 0x83, 0x61, 0x2d, 0xe5, 0x02, 0xe2, 0x04, 0x6a, 0x83, 0x61, 0xbe, 0x7f, 0x80, 0xa8,
- 0xe4, 0x69, 0x83, 0x59, 0xaa, 0x63, 0x82, 0x0a, 0x05, 0x6a, 0xa4, 0x59, 0x0a, 0x09, 0x02, 0xaa, 0x49, 0x8b, 0xc4, 0x61, 0xb5, 0x2f, 0xef, 0x29, 0x6a, 0x93, 0xa4, 0x59, 0x5f, 0xf1, 0xbf, 0xea,
- 0x66, 0x6a, 0xa5, 0x59, 0xaa, 0xa9, 0x88, 0x88, 0xe8, 0x82, 0xe5, 0x61, 0xff, 0x7f, 0x7f, 0x63, 0x49, 0x8b, 0xe5, 0x61, 0x5d, 0xd5, 0x35, 0x2d, 0xcb, 0x9b, 0x46, 0x6a, 0xfd, 0xfa, 0xbe, 0x3f,
- 0xce, 0xbc, 0x08, 0x83, 0xbf, 0xad, 0xa2, 0x8a, 0x6d, 0xb4, 0x87, 0x72, 0x70, 0xd8, 0xaa, 0xa8, 0x8d, 0xb4, 0x86, 0x7a, 0xa9, 0x32, 0xaa, 0xbe, 0xee, 0xc4, 0x8a, 0x93, 0xad, 0x6f, 0x8f, 0xfa,
- 0x0f, 0xc5, 0xca, 0x9b, 0xa6, 0xbf, 0x0d, 0x02, 0x50, 0xcd, 0xeb, 0xab, 0xa2, 0xe8, 0x60, 0x98, 0x10, 0xcd, 0xc7, 0x51, 0x5c, 0x56, 0x54, 0x54, 0x49, 0x5a, 0x87, 0x49, 0x9e, 0xaa, 0x28, 0xaa,
- 0xaa, 0x62, 0xc7, 0x49, 0x5f, 0xf7, 0xfe, 0x62, 0x49, 0x52, 0xa7, 0x41, 0x8f, 0xd6, 0xaa, 0xea, 0x29, 0x52, 0xa7, 0x41, 0xff, 0x7d, 0xb2, 0x6f, 0x48, 0x52, 0x86, 0x39, 0x9d, 0x7d, 0xcf, 0xab,
- 0x89, 0x62, 0xa7, 0x41, 0x2b, 0xbd, 0xdf, 0xb8, 0xaa, 0x6a, 0xa7, 0x49, 0x9a, 0x02, 0xb2, 0xbf, 0xc9, 0x6a, 0x28, 0x5a, 0xd7, 0x36, 0xad, 0xeb, 0xa9, 0x62, 0xc7, 0x41, 0xc0, 0x76, 0x6a, 0x8a,
- 0x89, 0x5a, 0x67, 0x39, 0xf7, 0xff, 0xd7, 0x2e, 0x89, 0x62, 0x87, 0x41, 0x55, 0xff, 0xff, 0xe0, 0xe8, 0x51, 0x66, 0x39, 0x95, 0x3a, 0x95, 0xee, 0xe8, 0x49, 0x67, 0x39, 0xaa, 0x62, 0x22, 0x22,
- 0xe8, 0x49, 0x67, 0x31, 0xed, 0xea, 0xb8, 0x03, 0xc8, 0x41, 0x87, 0x29, 0xef, 0x35, 0xaa, 0xf8, 0xe8, 0x41, 0x87, 0x39, 0x0d, 0xa5, 0xae, 0xaa, 0x49, 0x52, 0xc8, 0x41, 0x6b, 0xc1, 0xe5, 0xa5,
- 0x08, 0x4a, 0x87, 0x39, 0xb2, 0xfc, 0xef, 0x50, 0xe8, 0x49, 0xa7, 0x39, 0xed, 0x4b, 0xa3, 0x23, 0x08, 0x4a, 0x87, 0x31, 0xf2, 0xbb, 0xda, 0xb6, 0xe8, 0x41, 0x66, 0x29, 0xa7, 0x0a, 0xa2, 0xfa,
- 0xe8, 0x41, 0x86, 0x39, 0xad, 0x9a, 0x0a, 0xfb, 0x08, 0x42, 0x67, 0x39, 0xf6, 0xda, 0xdf, 0x27, 0xc8, 0x49, 0x86, 0x39, 0x95, 0xb7, 0x0a, 0x8f, 0x08, 0x42, 0x87, 0x39, 0x0f, 0xff, 0xb5, 0xed,
- 0x08, 0x4a, 0xa7, 0x41, 0x7e, 0xcb, 0xad, 0xef, 0xe8, 0x41, 0x67, 0x39, 0xaf, 0xb7, 0xaa, 0x8a, 0x49, 0x4a, 0xa7, 0x41, 0x2d, 0xb5, 0xfd, 0xfe, 0x69, 0x52, 0xe8, 0x41, 0x2e, 0xaa, 0xff, 0x6b,
- 0xe9, 0x41, 0x67, 0x31, 0xb7, 0xf3, 0xab, 0xaa, 0xe8, 0x39, 0x87, 0x31, 0xe8, 0xaa, 0x5b, 0xde, 0x29, 0x42, 0xa8, 0x31, 0x77, 0xc3, 0xe9, 0x7e, 0x29, 0x4a, 0xa8, 0x31, 0xfa, 0x0b, 0xd5, 0x55,
- 0x29, 0x4a, 0xc8, 0x39, 0xbf, 0x2a, 0xe8, 0x9d, 0xeb, 0x62, 0xe8, 0x41, 0xfd, 0xde, 0xc9, 0x95, 0x4c, 0x73, 0x09, 0x4a, 0xf7, 0xeb, 0x61, 0x7e, 0xaa, 0x5a, 0xa8, 0x39, 0xd6, 0xfe, 0x62, 0x88,
- 0x49, 0x4a, 0x88, 0x39, 0x2f, 0x9e, 0x7d, 0xea, 0x28, 0x42, 0x87, 0x31, 0x7c, 0x78, 0x77, 0xfe, 0xe8, 0x41, 0x87, 0x31, 0xab, 0xba, 0x8d, 0xaa, 0x29, 0x42, 0xa8, 0x39, 0xb2, 0x7f, 0xff, 0x9b,
- 0x09, 0x42, 0xa7, 0x39, 0xbb, 0x57, 0x5e, 0xe8, 0x09, 0x42, 0xa8, 0x31, 0x96, 0x7a, 0x2a, 0xaa, 0x29, 0x42, 0xa7, 0x31, 0xbc, 0x79, 0x68, 0xbb, 0x29, 0x42, 0x67, 0x31, 0x8a, 0x2a, 0x6f, 0xaa,
- 0x6a, 0x52, 0x87, 0x31, 0xa2, 0xbe, 0xb7, 0x7f, 0x69, 0x5a, 0xc8, 0x39, 0xea, 0x2b, 0xa5, 0x55, 0xaa, 0x5a, 0xc7, 0x41, 0x8b, 0xbe, 0xbe, 0xf7, 0xea, 0x6a, 0xa7, 0x41, 0xcb, 0xfa, 0xeb, 0xd7,
- 0x49, 0x4a, 0xc8, 0x41, 0xf0, 0x83, 0xc0, 0xdd, 0xaa, 0x52, 0xe8, 0x39, 0xd7, 0x0f, 0xfd, 0x5d, 0x8a, 0x52, 0xa7, 0x39, 0xef, 0xa8, 0xaa, 0x7e, 0x49, 0x4a, 0xa8, 0x39, 0xde, 0xde, 0xdc, 0xff,
- 0x29, 0x4a, 0xc8, 0x39, 0x6f, 0x9d, 0xbb, 0x2f, 0x29, 0x42, 0x87, 0x31, 0xdf, 0xfb, 0x6a, 0xa8, 0x09, 0x42, 0x67, 0x31, 0x2a, 0x02, 0xf5, 0xbe, 0xc6, 0x59, 0xe8, 0x39, 0x2f, 0x2b, 0x3d, 0xd5,
- 0x26, 0x6a, 0x83, 0x59, 0x5f, 0xff, 0xfa, 0xf8, 0xe4, 0x59, 0x43, 0x51, 0x7f, 0xef, 0xfe, 0xf8, 0xa3, 0x59, 0x22, 0x49, 0xef, 0x68, 0x7b, 0x7e, 0x64, 0x51, 0x03, 0x49, 0xbf, 0xfb, 0xb7, 0xff,
- 0x64, 0x59, 0x23, 0x49, 0xab, 0xea, 0x27, 0xf5, 0x63, 0x51, 0xe2, 0x48, 0xfe, 0xfa, 0xd8, 0xe0, 0x23, 0x49, 0xe2, 0x40, 0xbe, 0xba, 0xaa, 0xf8, 0x04, 0x51, 0x02, 0x41, 0x55, 0xff, 0xa2, 0xd7,
- 0xe3, 0x48, 0x23, 0x41, 0x77, 0xad, 0xdb, 0xfa, 0x44, 0x49, 0xe2, 0x40, 0xf2, 0x28, 0x7e, 0xd2, 0x24, 0x51, 0xe3, 0x38, 0x5f, 0xaf, 0xb7, 0x0e, 0x64, 0x51, 0x02, 0x41, 0x8d, 0xb5, 0xa5, 0xb8,
- 0xc8, 0x7a, 0xe3, 0x48, 0xf7, 0xf5, 0xf5, 0x35, 0xb0, 0xbc, 0x85, 0x49, 0xc5, 0x49, 0x73, 0x5c, 0x29, 0x4a, 0xe7, 0x41, 0x5f, 0xe1, 0xa5, 0xe5, 0x29, 0x4a, 0xa7, 0x39, 0x8a, 0x8a, 0xaa, 0x9a,
- 0x29, 0x4a, 0xc7, 0x39, 0xa8, 0x0b, 0xa2, 0x79, 0x29, 0x4a, 0xa7, 0x39, 0xb6, 0xe0, 0x26, 0xcd, 0x49, 0x4a, 0xc7, 0x39, 0xe3, 0x79, 0xf6, 0x5e, 0xe8, 0x41, 0x87, 0x31, 0xae, 0xfe, 0x0e, 0x24,
- 0x08, 0x42, 0xa7, 0x31, 0xe9, 0xa9, 0xa7, 0xa8, 0x09, 0x42, 0x87, 0x39, 0x42, 0x2f, 0x3a, 0xac, 0x28, 0x4a, 0xc7, 0x41, 0x2d, 0xb2, 0x48, 0xf8, 0xaa, 0x62, 0xc7, 0x39, 0x5f, 0x2a, 0xbd, 0xfd,
- 0xaa, 0x5a, 0xe7, 0x41, 0xff, 0x2e, 0xeb, 0xfd, 0xca, 0x62, 0xa7, 0x39, 0xe2, 0xf8, 0xfa, 0x57, 0x49, 0x52, 0xc7, 0x39, 0xba, 0xb9, 0xe8, 0xfd, 0x29, 0x4a, 0xc7, 0x39, 0xff, 0xd5, 0xea, 0x8a,
- 0x49, 0x4a, 0xa7, 0x39, 0x7f, 0xb5, 0x9f, 0x3e, 0x08, 0x4a, 0xa7, 0x39, 0xf6, 0x2a, 0xea, 0xae, 0x08, 0x4a, 0xa7, 0x31, 0xf4, 0xfa, 0x3e, 0x2b, 0x08, 0x4a, 0x87, 0x41, 0x8b, 0x32, 0xd3, 0xe0,
- 0x08, 0x42, 0xa7, 0x39, 0x2e, 0xba, 0x7b, 0xb2, 0x28, 0x4a, 0xc7, 0x41, 0xfa, 0xeb, 0xb7, 0xf5, 0x08, 0x4a, 0xa7, 0x41, 0x5e, 0xeb, 0xeb, 0xcb, 0x08, 0x42, 0x87, 0x39, 0x82, 0xad, 0x3b, 0x8a,
- 0x28, 0x4a, 0xa7, 0x39, 0xba, 0x6b, 0x54, 0x77, 0xe8, 0x41, 0x47, 0x31, 0xaa, 0x28, 0xe2, 0x6a, 0xe8, 0x41, 0x67, 0x31, 0xa0, 0xfe, 0xfd, 0xa9, 0xe8, 0x41, 0x67, 0x39, 0xbe, 0x2a, 0xaf, 0xf5,
- 0xe8, 0x41, 0x67, 0x39, 0xff, 0xbe, 0x7b, 0xc2, 0xe8, 0x41, 0x87, 0x39, 0xed, 0xa3, 0xea, 0x4f, 0x08, 0x4a, 0x66, 0x31, 0x79, 0x0e, 0xba, 0x8a, 0x08, 0x4a, 0xa7, 0x41, 0x9f, 0x5f, 0xe0, 0xeb,
- 0x84, 0x51, 0x23, 0x49, 0x5c, 0x56, 0xbc, 0xe8, 0x44, 0x59, 0x23, 0x41, 0xef, 0x8d, 0x7e, 0xee, 0x44, 0x51, 0x03, 0x41, 0x2a, 0xae, 0x67, 0xf8, 0x44, 0x51, 0x03, 0x41, 0xae, 0x0c, 0xf7, 0xf8,
- 0x44, 0x51, 0xe2, 0x40, 0x0a, 0xa2, 0x2a, 0x2d, 0x44, 0x59, 0x23, 0x49, 0x99, 0x2a, 0xfe, 0xff, 0x64, 0x59, 0x23, 0x51, 0xdd, 0xdc, 0x5d, 0xf7, 0x24, 0x51, 0x03, 0x49, 0xfe, 0x7c, 0xda, 0x62,
- 0xc5, 0x61, 0x02, 0x49, 0x7f, 0xfd, 0xdd, 0x2d, 0x25, 0x6a, 0x23, 0x51, 0x2d, 0x09, 0x8a, 0x80, 0x25, 0x6a, 0xa4, 0x61, 0xce, 0xbe, 0xbf, 0x79, 0x25, 0x6a, 0xa4, 0x61, 0x62, 0xea, 0x2f, 0xaf,
- 0x86, 0x72, 0xa4, 0x59, 0xf5, 0xfd, 0x3f, 0xef, 0xe8, 0x7a, 0x05, 0x62, 0x5d, 0xd4, 0xbf, 0x2d, 0xeb, 0x9b, 0x25, 0x6a, 0x2d, 0xab, 0xa8, 0xf9, 0x69, 0x8b, 0x25, 0x6a, 0xe2, 0xe3, 0x74, 0x55,
- 0x86, 0x6a, 0xe4, 0x61, 0xe8, 0xaf, 0xe0, 0xf7, 0x46, 0x6a, 0xe4, 0x61, 0xcf, 0x27, 0x07, 0x7a, 0xe8, 0x7a, 0xc4, 0x61, 0x2f, 0x2f, 0x2f, 0xf5, 0x4b, 0xa4, 0x83, 0x59, 0x2b, 0x02, 0xfe, 0x55,
- 0x8d, 0xbc, 0xc3, 0x61, 0xa2, 0xfc, 0x5f, 0x55, 0xaa, 0xa3, 0xe3, 0x69, 0xbe, 0x8e, 0xbd, 0x25, 0x4c, 0xac, 0x66, 0x7a, 0xaf, 0x02, 0x32, 0x56, 0x0e, 0xc5, 0x65, 0x7a, 0x0a, 0xea, 0xda, 0xbb,
- 0xad, 0xc4, 0x69, 0x93, 0x28, 0x95, 0xbd, 0xaf, 0x2f, 0xcd, 0x49, 0x93, 0x0a, 0xaa, 0x1a, 0xfa, 0x6a, 0x93, 0xa7, 0x41, 0x5c, 0x56, 0x57, 0x55, 0x48, 0x62, 0xa7, 0x41, 0x8a, 0x7f, 0xdf, 0xfd,
- 0x08, 0x52, 0xa7, 0x41, 0xe8, 0x2d, 0x7e, 0xf7, 0x08, 0x4a, 0x87, 0x41, 0xa2, 0xeb, 0x57, 0x7f, 0x28, 0x4a, 0xa7, 0x41, 0x2f, 0xff, 0x55, 0x5f, 0x28, 0x4a, 0xa7, 0x39, 0xb6, 0x2b, 0xa7, 0xb5,
- 0x49, 0x5a, 0xa7, 0x41, 0xea, 0xf2, 0xe3, 0xbd, 0x8a, 0x6a, 0xa6, 0x49, 0x33, 0xab, 0x02, 0xde, 0xca, 0x6a, 0xa6, 0x41, 0x22, 0xa2, 0x7a, 0x5f, 0xaa, 0x72, 0x86, 0x39, 0xc0, 0xe0, 0x7b, 0x77,
- 0x49, 0x5a, 0xa7, 0x39, 0x8a, 0x0d, 0xbd, 0xb5, 0x28, 0x5a, 0xa7, 0x39, 0xa0, 0xb8, 0xfe, 0x7d, 0x08, 0x4a, 0xa7, 0x41, 0x4f, 0xad, 0xa8, 0xdd, 0x28, 0x4a, 0xa7, 0x41, 0x3d, 0xaf, 0xfe, 0xff,
- 0x08, 0x4a, 0x67, 0x39, 0xa0, 0xb8, 0x7b, 0xfe, 0xc8, 0x41, 0x67, 0x31, 0x68, 0x8b, 0xa1, 0x8b, 0x08, 0x42, 0x87, 0x39, 0x7b, 0xef, 0x0b, 0xdf, 0x08, 0x42, 0x87, 0x39, 0x03, 0xf2, 0xe2, 0x7a,
- 0x09, 0x4a, 0xa7, 0x39, 0x9a, 0x2b, 0x2e, 0xea, 0x29, 0x4a, 0xa7, 0x41, 0xea, 0x7a, 0x0f, 0x6b, 0xe8, 0x41, 0x67, 0x39, 0xca, 0xc0, 0x70, 0xff, 0xc7, 0x39, 0x46, 0x31, 0x78, 0xaa, 0x8a, 0xae,
- 0xc8, 0x41, 0x66, 0x31, 0xae, 0xae, 0x7a, 0xea, 0x08, 0x4a, 0x67, 0x39, 0x2d, 0xff, 0xfd, 0xbf, 0xe8, 0x49, 0x66, 0x39, 0x3f, 0xff, 0x5f, 0xff, 0xe7, 0x41, 0x66, 0x39, 0x8b, 0xae, 0x2d, 0x5b,
- 0xe8, 0x41, 0x87, 0x39, 0x8a, 0x08, 0xae, 0xa7, 0xe8, 0x49, 0x87, 0x41, 0xfa, 0x88, 0xea, 0x55, 0xe8, 0x41, 0x87, 0x39, 0x00, 0x2a, 0x2f, 0xf5, 0x08, 0x42, 0x87, 0x39, 0xa2, 0x8b, 0xad, 0xb7,
- 0x29, 0x42, 0xa7, 0x39, 0x7d, 0xaa, 0x2a, 0x7c, 0x09, 0x42, 0xa8, 0x31, 0x5f, 0xee, 0xb7, 0x3b, 0x09, 0x4a, 0x66, 0x29, 0xaa, 0x80, 0x22, 0x7e, 0x29, 0x4a, 0xa8, 0x39, 0xff, 0xee, 0x98, 0x7e,
- 0x29, 0x4a, 0x88, 0x39, 0xbf, 0x3f, 0xaa, 0xdf, 0xaa, 0x5a, 0xe8, 0x41, 0x5f, 0x80, 0xdf, 0x75, 0x69, 0x52, 0xc8, 0x41, 0x38, 0x3e, 0xfa, 0x97, 0x0b, 0x6b, 0x08, 0x4a, 0xef, 0xb2, 0xe9, 0xd5,
- 0x8a, 0x5a, 0xe8, 0x41, 0xde, 0x82, 0x6a, 0xb5, 0x29, 0x4a, 0xa8, 0x39, 0xbb, 0x5c, 0x5e, 0x28, 0x08, 0x42, 0x87, 0x39, 0x28, 0xdd, 0xf5, 0xaa, 0x09, 0x42, 0xa8, 0x39, 0xb2, 0xbf, 0xdd, 0xca,
- 0xe9, 0x41, 0xa7, 0x31, 0xab, 0x6a, 0xc2, 0xca, 0x29, 0x42, 0xa8, 0x39, 0xa2, 0xe5, 0xff, 0xe5, 0x09, 0x42, 0xa7, 0x39, 0xd8, 0x1e, 0xfa, 0xe3, 0x09, 0x42, 0xa7, 0x39, 0xc2, 0xca, 0x22, 0xbd,
- 0x49, 0x4a, 0xa8, 0x39, 0xaf, 0xa9, 0xde, 0xa8, 0x09, 0x42, 0xa8, 0x39, 0x02, 0xe8, 0xe2, 0x24, 0x49, 0x52, 0xa8, 0x41, 0xa9, 0xaa, 0xfd, 0x8a, 0xaa, 0x62, 0xe8, 0x41, 0x70, 0x2b, 0x2f, 0x75,
- 0x69, 0x52, 0x87, 0x31, 0xff, 0x5e, 0xfc, 0xfe, 0x09, 0x42, 0x87, 0x31, 0xfb, 0x0a, 0xad, 0xae, 0xe9, 0x41, 0xa7, 0x39, 0xf2, 0xa0, 0x30, 0x63, 0x29, 0x42, 0xa7, 0x39, 0xbd, 0xff, 0x6b, 0xf8,
- 0x29, 0x4a, 0xa7, 0x39, 0xa0, 0x55, 0xfd, 0xbe, 0x09, 0x42, 0xa7, 0x39, 0xea, 0xed, 0xe8, 0x1f, 0xe8, 0x41, 0x87, 0x31, 0xd4, 0x82, 0xed, 0xa2, 0x06, 0x5a, 0x88, 0x31, 0x3f, 0x37, 0xb5, 0xd7,
- 0x26, 0x6a, 0xe4, 0x61, 0xd2, 0xc8, 0x2e, 0x7b, 0x05, 0x6a, 0xa4, 0x61, 0x5e, 0x56, 0x7a, 0x68, 0xa4, 0x61, 0x43, 0x51, 0x7a, 0x7a, 0x58, 0xe8, 0x44, 0x51, 0x03, 0x49, 0xbe, 0xc0, 0x88, 0xc8,
- 0x64, 0x51, 0x02, 0x41, 0x2b, 0x2a, 0x22, 0xa7, 0x84, 0x59, 0x03, 0x41, 0xba, 0xe2, 0x8b, 0xa9, 0x44, 0x51, 0x02, 0x49, 0xdf, 0xb9, 0x5f, 0xb7, 0x43, 0x49, 0xe2, 0x40, 0x83, 0x2b, 0xff, 0x7f,
- 0x44, 0x51, 0x03, 0x41, 0x87, 0xff, 0x55, 0xd5, 0x63, 0x51, 0xe3, 0x38, 0x00, 0xfe, 0xdf, 0x7f, 0x23, 0x51, 0xc2, 0x30, 0x80, 0xfb, 0xfd, 0xda, 0x24, 0x41, 0xc2, 0x30, 0x0a, 0xeb, 0xda, 0x3d,
- 0x6c, 0x8b, 0x03, 0x39, 0x25, 0xad, 0xcd, 0xe3, 0x28, 0x52, 0x87, 0x39, 0xaa, 0xca, 0x2b, 0x7d, 0x29, 0x4a, 0xa7, 0x41, 0xfb, 0xa9, 0xef, 0x73, 0x29, 0x4a, 0xa7, 0x39, 0xea, 0xa5, 0xaa, 0xa2,
- 0x28, 0x42, 0xa7, 0x39, 0xe3, 0xb7, 0xde, 0xba, 0x49, 0x4a, 0x67, 0x39, 0xab, 0xba, 0x8a, 0x5e, 0xe8, 0x49, 0xa7, 0x31, 0xed, 0x83, 0x0a, 0x2c, 0x29, 0x52, 0xa8, 0x39, 0x75, 0x64, 0xff, 0x7a,
- 0x08, 0x42, 0x87, 0x39, 0x2f, 0xb5, 0xbb, 0xab, 0x29, 0x4a, 0xa7, 0x41, 0xad, 0xff, 0xaf, 0x8b, 0x28, 0x4a, 0xa7, 0x31, 0x02, 0xa7, 0xfb, 0xbe, 0x29, 0x4a, 0xa7, 0x39, 0x88, 0xb6, 0xeb, 0x2a,
- 0x49, 0x52, 0xa7, 0x39, 0xe9, 0x23, 0xbc, 0xef, 0x8a, 0x5a, 0xa7, 0x39, 0xa7, 0xcb, 0x7f, 0xff, 0x49, 0x4a, 0xa7, 0x41, 0xf4, 0x0b, 0xa7, 0xea, 0x49, 0x4a, 0xa7, 0x41, 0xaf, 0xf8, 0xaa, 0xad,
- 0x29, 0x4a, 0xc7, 0x41, 0xa2, 0x7b, 0xae, 0x9e, 0x29, 0x4a, 0xc7, 0x41, 0xfa, 0xb7, 0xee, 0xcf, 0x09, 0x4a, 0xc7, 0x41, 0xb6, 0x95, 0xb1, 0x6c, 0x29, 0x4a, 0xa8, 0x41, 0x62, 0xeb, 0x8e, 0xbe,
- 0x29, 0x4a, 0xc7, 0x41, 0xfb, 0xff, 0x26, 0xb7, 0x49, 0x52, 0xe8, 0x41, 0x66, 0x8b, 0xfe, 0xdd, 0x8a, 0x5a, 0xe7, 0x41, 0xfd, 0xca, 0xaf, 0xff, 0x69, 0x52, 0xa7, 0x41, 0xf7, 0xea, 0xf4, 0x5e,
- 0x08, 0x4a, 0x87, 0x39, 0xf6, 0x2a, 0xaf, 0xff, 0x08, 0x4a, 0x86, 0x31, 0xea, 0xc8, 0xfe, 0x57, 0x09, 0x42, 0xa7, 0x39, 0xad, 0xaf, 0xa0, 0xee, 0x08, 0x42, 0x87, 0x39, 0xd6, 0xdf, 0xb2, 0xa6,
- 0x08, 0x52, 0x87, 0x39, 0xdd, 0xed, 0x0f, 0xae, 0xe8, 0x41, 0x87, 0x39, 0xac, 0xba, 0xf6, 0x5e, 0xe8, 0x49, 0x87, 0x39, 0xd5, 0xeb, 0xaa, 0x0b, 0x09, 0x4a, 0xa7, 0x41, 0xf9, 0x2d, 0x6f, 0x9f,
- 0x23, 0x51, 0x08, 0x4a, 0x02, 0x8b, 0xad, 0xb5, 0x64, 0x59, 0x23, 0x51, 0x55, 0xfd, 0xbe, 0xa4, 0xe6, 0x61, 0x03, 0x49, 0x5d, 0x57, 0xff, 0x3f, 0xe5, 0x69, 0xe3, 0x38, 0x5f, 0x5f, 0x7a, 0xe0,
- 0xe5, 0x59, 0xe3, 0x38, 0x5f, 0xfd, 0xfd, 0x2b, 0xc5, 0x61, 0x03, 0x49, 0xf5, 0xdf, 0xff, 0xa8, 0xa4, 0x59, 0x23, 0x51, 0x75, 0x5f, 0xf6, 0xbc, 0xa4, 0x61, 0x23, 0x49, 0xf5, 0xf5, 0x2f, 0x0a,
- 0x05, 0x6a, 0x44, 0x51, 0x2d, 0x0b, 0x7f, 0xff, 0x66, 0x72, 0xa4, 0x59, 0xfe, 0xcb, 0xab, 0xed, 0x25, 0x62, 0x83, 0x59, 0x7b, 0xeb, 0xa2, 0x22, 0x66, 0x6a, 0xa4, 0x61, 0xd7, 0xff, 0xe0, 0xda,
- 0x05, 0x6a, 0xa4, 0x59, 0xaf, 0xb8, 0x28, 0x7c, 0x67, 0x6a, 0x83, 0x59, 0x82, 0xe2, 0xfe, 0x7b, 0x66, 0x72, 0x43, 0x51, 0x82, 0xaa, 0xff, 0x55, 0x05, 0x6a, 0x43, 0x51, 0x02, 0xaa, 0xeb, 0xfd,
- 0x05, 0x6a, 0x63, 0x51, 0x80, 0x88, 0xfd, 0xfd, 0x05, 0x62, 0x43, 0x51, 0x82, 0xea, 0x7f, 0xe2, 0xc7, 0x7a, 0x83, 0x51, 0xff, 0xd7, 0xb5, 0x0b, 0x28, 0x8b, 0xe4, 0x61, 0xfd, 0x2d, 0x0a, 0x02,
- 0x69, 0x8b, 0x86, 0x72, 0xad, 0xef, 0x0b, 0x82, 0xca, 0xa3, 0x66, 0x72, 0x8b, 0xe9, 0xaa, 0xaa, 0x2c, 0xb4, 0xc7, 0x7a, 0xd4, 0xff, 0xbf, 0xaa, 0x0b, 0xac, 0x49, 0x93, 0x82, 0x23, 0x8b, 0x09,
- 0x8c, 0xbc, 0xea, 0xab, 0x3d, 0xa7, 0x25, 0x95, 0xef, 0xcc, 0xc6, 0x51, 0x48, 0x68, 0x50, 0x50, 0x49, 0x52, 0xc8, 0x41, 0x7f, 0xf8, 0x79, 0x7a, 0x29, 0x4a, 0xc8, 0x41, 0xed, 0xc8, 0x79, 0x57,
- 0x29, 0x4a, 0xa7, 0x41, 0x5f, 0x2b, 0x3f, 0x24, 0x28, 0x4a, 0xc7, 0x41, 0x5c, 0x56, 0x7d, 0xfa, 0x8a, 0x52, 0xa7, 0x41, 0x5f, 0xfd, 0x7f, 0x8f, 0x49, 0x52, 0xa7, 0x41, 0x57, 0xff, 0xe9, 0x8a,
- 0x69, 0x52, 0xc8, 0x49, 0x5d, 0xf5, 0xfb, 0xa8, 0x8a, 0x5a, 0xc7, 0x49, 0x5f, 0xb3, 0x77, 0x7e, 0x49, 0x52, 0x87, 0x41, 0xfd, 0x88, 0xfa, 0xea, 0x29, 0x52, 0x87, 0x39, 0x6a, 0xe0, 0xff, 0x22,
- 0x29, 0x52, 0x87, 0x39, 0xb5, 0xef, 0xef, 0x0a, 0x08, 0x4a, 0xc7, 0x39, 0xbb, 0x62, 0xeb, 0xe3, 0x28, 0x4a, 0xc7, 0x41, 0xeb, 0xfd, 0xeb, 0xb1, 0x29, 0x4a, 0xa7, 0x41, 0xfd, 0xfe, 0xba, 0x2a,
- 0x08, 0x4a, 0xa7, 0x39, 0x5e, 0x5b, 0x8c, 0xf8, 0x08, 0x4a, 0x67, 0x39, 0xfd, 0xaf, 0xea, 0x78, 0xc8, 0x41, 0x87, 0x39, 0xff, 0x8e, 0x0a, 0x79, 0x08, 0x42, 0x46, 0x31, 0xaa, 0x9a, 0x02, 0x0b,
- 0x09, 0x4a, 0xc7, 0x41, 0x5a, 0xdb, 0xbc, 0xa0, 0x29, 0x4a, 0xa7, 0x39, 0x7b, 0xeb, 0xfe, 0xa8, 0xc8, 0x41, 0x66, 0x31, 0xa8, 0x6c, 0xb8, 0xfa, 0xe8, 0x41, 0x67, 0x39, 0xea, 0xa9, 0x1f, 0xaf,
- 0x08, 0x42, 0x67, 0x39, 0xff, 0x7a, 0x2e, 0xbe, 0xe8, 0x49, 0x86, 0x39, 0xca, 0xfd, 0xba, 0xbf, 0xa8, 0x49, 0xe7, 0x39, 0xee, 0xa2, 0xfe, 0x5f, 0xc8, 0x49, 0xa6, 0x31, 0xa8, 0xfa, 0xaa, 0xd7,
- 0xe8, 0x49, 0x86, 0x39, 0x2b, 0xdb, 0x7e, 0x3f, 0xe8, 0x49, 0x87, 0x39, 0xdf, 0xb7, 0xe7, 0x2e, 0xe8, 0x41, 0x86, 0x39, 0x9d, 0xdf, 0xeb, 0x88, 0xc8, 0x41, 0x86, 0x39, 0xf5, 0xe8, 0x95, 0x8b,
- 0x6d, 0x6b, 0x87, 0x39, 0x5f, 0xea, 0x5f, 0xa2, 0x4d, 0x73, 0xc8, 0x39, 0x55, 0x7f, 0x7d, 0xe0, 0x49, 0x4a, 0xc8, 0x39, 0xbc, 0xff, 0xdf, 0x5b, 0x29, 0x4a, 0xc8, 0x39, 0x35, 0x8a, 0x5f, 0xfd,
- 0x29, 0x4a, 0xc8, 0x39, 0x2a, 0xfe, 0xde, 0xde, 0xcb, 0x5a, 0x87, 0x31, 0x8a, 0xdf, 0xf7, 0xaa, 0x49, 0x52, 0x46, 0x31, 0xaa, 0xfe, 0xed, 0xa8, 0x29, 0x52, 0x87, 0x31, 0xae, 0xd7, 0xbd, 0x29,
- 0xaa, 0x62, 0x87, 0x31, 0x4e, 0xd7, 0xae, 0x20, 0x0b, 0x73, 0xa8, 0x39, 0xf5, 0x95, 0x2f, 0xa2, 0x4b, 0x7b, 0x67, 0x31, 0x57, 0xea, 0xaa, 0xa0, 0xea, 0x6a, 0x88, 0x31, 0xf5, 0xf5, 0xea, 0xa8,
- 0x2b, 0x6b, 0xc8, 0x41, 0x55, 0x7d, 0x0f, 0xab, 0xca, 0x5a, 0xa7, 0x31, 0xd5, 0xfd, 0x2a, 0x80, 0x6c, 0x73, 0xc8, 0x41, 0x75, 0xd5, 0x0b, 0xaa, 0xaa, 0x5a, 0xc8, 0x39, 0x55, 0xdd, 0xf8, 0xa8,
- 0x49, 0x52, 0xa8, 0x39, 0xef, 0x55, 0x77, 0xe8, 0x29, 0x4a, 0xa8, 0x39, 0xfe, 0x3d, 0x37, 0x8a, 0x49, 0x52, 0x87, 0x39, 0xbf, 0xde, 0x0a, 0xfa, 0xea, 0x62, 0xa8, 0x39, 0xd7, 0x35, 0xff, 0x83,
- 0x2b, 0x7b, 0xc8, 0x39, 0x77, 0x70, 0xaa, 0xbb, 0xaa, 0x5a, 0x67, 0x29, 0xfd, 0xff, 0xdf, 0x88, 0x09, 0x42, 0xa8, 0x39, 0xbc, 0xaa, 0x9f, 0x5a, 0x8b, 0x5a, 0xc8, 0x39, 0xf5, 0xd5, 0xdd, 0x2d,
- 0xab, 0x5a, 0xc8, 0x39, 0x5d, 0x57, 0xfd, 0x2b, 0x89, 0x5a, 0xa8, 0x39, 0x25, 0x8d, 0xff, 0xbe, 0x49, 0x52, 0xe8, 0x41, 0x57, 0x94, 0xdd, 0xd8, 0x29, 0x4a, 0xa7, 0x39, 0xdb, 0xb8, 0xea, 0xe8,
- 0x26, 0x62, 0x02, 0x49, 0xd8, 0xda, 0xba, 0x0a, 0xe5, 0x69, 0xa3, 0x61, 0x6f, 0x7e, 0x72, 0xe0, 0xc4, 0x61, 0x23, 0x51, 0xfe, 0xde, 0xde, 0xfc, 0x84, 0x59, 0x23, 0x49, 0xef, 0xff, 0x75, 0xfb,
- 0x44, 0x49, 0x03, 0x41, 0x8e, 0xe7, 0xbe, 0xfc, 0xc4, 0x61, 0x03, 0x41, 0xaa, 0x0d, 0x2d, 0xbd, 0x84, 0x59, 0x02, 0x41, 0x7f, 0x5e, 0x58, 0x78, 0x24, 0x51, 0xe2, 0x38, 0xff, 0xfe, 0xff, 0xfd,
- 0x24, 0x49, 0xe2, 0x38, 0x2b, 0xbe, 0xae, 0xbf, 0x23, 0x41, 0xe2, 0x38, 0x5a, 0x7a, 0x77, 0x7f, 0x03, 0x39, 0xc2, 0x30, 0xcb, 0xa8, 0xd8, 0xaa, 0x0d, 0xac, 0xe3, 0x38, 0x55, 0x55, 0xd5, 0x35,
- 0x52, 0xd5, 0x86, 0x41, 0x73, 0x5a, 0x5c, 0x56, 0x08, 0x42, 0x86, 0x31, 0xaa, 0xae, 0xe0, 0x1b, 0x08, 0x42, 0xa7, 0x39, 0x40, 0x8d, 0x27, 0x20, 0x29, 0x4a, 0xe8, 0x41, 0x29, 0x52, 0x06, 0x28,
- 0x49, 0x4a, 0xa7, 0x39, 0x8e, 0xde, 0xaf, 0xab, 0x69, 0x52, 0xa7, 0x39, 0x8f, 0x7a, 0xef, 0x88, 0x28, 0x42, 0x87, 0x39, 0xae, 0xab, 0xa7, 0xa0, 0x49, 0x4a, 0x66, 0x29, 0xa7, 0xaa, 0x0a, 0xae,
- 0x49, 0x52, 0x87, 0x31, 0xb5, 0xab, 0xa8, 0xeb, 0x29, 0x4a, 0xc7, 0x39, 0xd7, 0xb6, 0xb4, 0xfb, 0x28, 0x4a, 0x87, 0x39, 0xae, 0xa7, 0xfa, 0xb0, 0x49, 0x5a, 0xc7, 0x41, 0xdd, 0xfd, 0xad, 0xcf,
- 0xaa, 0x62, 0xc7, 0x41, 0xdf, 0xff, 0xeb, 0xa2, 0xca, 0x62, 0xc8, 0x41, 0xf7, 0x5f, 0x5f, 0xf2, 0x28, 0x4a, 0xa7, 0x39, 0xfa, 0xdf, 0xad, 0x2e, 0x28, 0x4a, 0x87, 0x39, 0x29, 0xaf, 0x7e, 0x02,
- 0x49, 0x52, 0xa7, 0x39, 0x7a, 0xaf, 0xf5, 0xc8, 0x29, 0x4a, 0x87, 0x39, 0x25, 0xab, 0x83, 0x8a, 0x29, 0x4a, 0xa7, 0x39, 0xf8, 0xaa, 0xad, 0xa8, 0x28, 0x4a, 0xc7, 0x41, 0xeb, 0xa9, 0x03, 0xba,
- 0x29, 0x52, 0xe8, 0x49, 0xb5, 0x0f, 0x43, 0x6e, 0x69, 0x52, 0xa7, 0x41, 0x7f, 0xfb, 0xfb, 0xb2, 0xaa, 0x62, 0x87, 0x31, 0xb5, 0xbf, 0xbf, 0x2a, 0x89, 0x52, 0xa7, 0x41, 0x55, 0xff, 0xae, 0x3a,
- 0x69, 0x5a, 0x87, 0x39, 0xff, 0xff, 0x7a, 0xf4, 0xe8, 0x41, 0x87, 0x31, 0xdc, 0x6f, 0xfe, 0x96, 0x08, 0x42, 0x87, 0x39, 0xaf, 0x2a, 0x9a, 0xbf, 0x08, 0x42, 0x87, 0x39, 0x7a, 0xa4, 0x2a, 0xeb,
- 0xe8, 0x49, 0xa7, 0x39, 0xc9, 0x7e, 0xff, 0x57, 0xe8, 0x41, 0x67, 0x39, 0x78, 0xfa, 0x0c, 0xf2, 0x08, 0x4a, 0x67, 0x39, 0x2a, 0xad, 0xaa, 0x0b, 0xe8, 0x49, 0xa7, 0x39, 0xf4, 0xee, 0xfa, 0xef,
- 0x85, 0x51, 0x08, 0x4a, 0x37, 0xb7, 0xb5, 0xfd, 0xa5, 0x59, 0x63, 0x51, 0x6e, 0xfc, 0xc7, 0x86, 0xa5, 0x61, 0x43, 0x51, 0x17, 0xb6, 0xef, 0xef, 0xe5, 0x61, 0x63, 0x51, 0x80, 0x2a, 0xf5, 0xfd,
- 0xc5, 0x61, 0x43, 0x51, 0x28, 0xf7, 0xff, 0xfb, 0xa4, 0x59, 0x23, 0x49, 0x5c, 0xff, 0xbf, 0xa3, 0x84, 0x59, 0x23, 0x51, 0x29, 0x2e, 0x9e, 0xbf, 0xc4, 0x61, 0x43, 0x51, 0x00, 0xff, 0xeb, 0xad,
- 0xc4, 0x61, 0x63, 0x51, 0xbe, 0x3b, 0x6d, 0x5a, 0xc5, 0x61, 0x83, 0x51, 0xe8, 0x57, 0xe5, 0xfd, 0xe4, 0x61, 0x63, 0x49, 0xe2, 0x5f, 0xfe, 0xbe, 0x05, 0x5a, 0x63, 0x51, 0x7d, 0xdd, 0xb3, 0xab,
- 0xc5, 0x59, 0x63, 0x49, 0xff, 0x6f, 0xb8, 0xa0, 0xc4, 0x61, 0x43, 0x49, 0xc2, 0xf7, 0xbb, 0x8a, 0xc4, 0x61, 0x43, 0x49, 0xff, 0xa7, 0xba, 0x0a, 0xe5, 0x69, 0x43, 0x49, 0x7d, 0xfe, 0xef, 0x2a,
- 0xe4, 0x61, 0x83, 0x51, 0x2d, 0xeb, 0x2c, 0x02, 0xc8, 0x7a, 0xc4, 0x61, 0x7f, 0x0f, 0xf5, 0x55, 0x29, 0x8b, 0xc3, 0x69, 0x8b, 0xee, 0xf5, 0x55, 0xca, 0x9b, 0xa3, 0x61, 0x0a, 0x57, 0xff, 0x55,
- 0xa9, 0xa3, 0xc3, 0x69, 0x80, 0xf5, 0x55, 0x55, 0x48, 0x9b, 0xe4, 0x69, 0x2a, 0xab, 0xff, 0xd5, 0x8a, 0x9b, 0x25, 0x72, 0x02, 0x2e, 0x3f, 0x35, 0x2b, 0xb4, 0x69, 0x9b, 0xe9, 0xeb, 0xaa, 0x2a,
- 0x71, 0xd5, 0xc6, 0x82, 0x9b, 0xaf, 0xa6, 0x29, 0x8d, 0xbc, 0xa6, 0x41, 0x58, 0x5c, 0x56, 0x55, 0x29, 0x4a, 0xa7, 0x41, 0x2b, 0xbf, 0xfa, 0x5c, 0x8a, 0x5a, 0xc7, 0x41, 0xfe, 0x2f, 0x95, 0x79,
- 0x6a, 0x52, 0xc7, 0x41, 0xea, 0xdc, 0xf7, 0xd7, 0x69, 0x52, 0x66, 0x39, 0xec, 0xae, 0xf7, 0xaa, 0x49, 0x52, 0xc7, 0x41, 0xbf, 0x8a, 0xed, 0xfe, 0x69, 0x52, 0xc8, 0x39, 0x8a, 0x2a, 0xd7, 0xd7,
- 0x8a, 0x5a, 0xc7, 0x41, 0xef, 0x88, 0xbd, 0xfd, 0x49, 0x52, 0xe8, 0x49, 0x77, 0x2b, 0x30, 0x37, 0xca, 0x62, 0x87, 0x41, 0x87, 0x08, 0x2e, 0xa0, 0xaa, 0x5a, 0xa7, 0x41, 0xd6, 0x88, 0xee, 0x7a,
- 0x69, 0x52, 0x86, 0x39, 0xf7, 0xaa, 0x02, 0xc3, 0x28, 0x4a, 0xa7, 0x39, 0xbf, 0xec, 0xb9, 0xdd, 0x08, 0x4a, 0xa7, 0x39, 0xaf, 0xab, 0xb8, 0xb6, 0x08, 0x4a, 0x87, 0x39, 0xbc, 0x7e, 0xfe, 0x7e,
- 0xe8, 0x41, 0x46, 0x39, 0x82, 0xea, 0xae, 0xb6, 0x29, 0x4a, 0x86, 0x39, 0x57, 0xfd, 0x2a, 0xff, 0x08, 0x4a, 0x67, 0x31, 0x7b, 0xfa, 0xc8, 0x7a, 0x08, 0x42, 0x87, 0x31, 0x9d, 0xaa, 0x8a, 0xbd,
- 0xc8, 0x49, 0xa7, 0x31, 0xa8, 0x2e, 0xef, 0x3d, 0x29, 0x52, 0x87, 0x39, 0xff, 0x57, 0xd5, 0xe8, 0xc8, 0x41, 0x46, 0x39, 0x5e, 0xaf, 0x88, 0x8a, 0x87, 0x41, 0xc8, 0x39, 0xb0, 0xc0, 0x55, 0xaf,
- 0xe8, 0x41, 0xa7, 0x39, 0xd5, 0xfb, 0xd5, 0x5a, 0xe8, 0x41, 0x87, 0x31, 0x0f, 0xa3, 0x95, 0x9f, 0xe8, 0x41, 0x87, 0x39, 0x88, 0x06, 0xaa, 0xde, 0xe8, 0x41, 0xa7, 0x39, 0xa6, 0x72, 0x56, 0xf5,
- 0x08, 0x42, 0xa7, 0x39, 0x9a, 0x3a, 0xff, 0x55, 0x08, 0x42, 0xa7, 0x39, 0xba, 0x3f, 0xef, 0xf7, 0x87, 0x41, 0xe8, 0x39, 0xab, 0x55, 0x2b, 0xff, 0x28, 0x4a, 0xa7, 0x39, 0x7d, 0xf2, 0xbf, 0xb7,
- 0x8a, 0x52, 0xe8, 0x49, 0x22, 0x55, 0x88, 0x7f, 0x8a, 0x5a, 0x08, 0x4a, 0x5a, 0x3d, 0xaa, 0x66, 0xeb, 0x62, 0xa8, 0x39, 0x5f, 0xfc, 0xff, 0xd7, 0x49, 0x42, 0xa8, 0x39, 0x27, 0x2e, 0x0a, 0xeb,
- 0xcb, 0x5a, 0xc8, 0x39, 0xd7, 0x8b, 0xbf, 0xd6, 0x0c, 0x63, 0xe8, 0x39, 0xb3, 0xf6, 0xff, 0xf5, 0x8a, 0x5a, 0xe8, 0x41, 0xfe, 0xd7, 0xef, 0x2d, 0xeb, 0x62, 0x08, 0x42, 0x0b, 0x5f, 0x3e, 0xa2,
- 0x0b, 0x6b, 0x09, 0x4a, 0xa8, 0x2a, 0xd6, 0xa0, 0x4b, 0x7b, 0x49, 0x52, 0xfa, 0x7e, 0xef, 0x25, 0x4b, 0x73, 0x69, 0x5a, 0xed, 0x55, 0x2a, 0x82, 0x6c, 0x7b, 0x28, 0x4a, 0xbd, 0xfe, 0x28, 0xa8,
- 0x2b, 0x73, 0x28, 0x4a, 0x57, 0xf0, 0xf0, 0x7a, 0x0b, 0x6b, 0x29, 0x4a, 0xfd, 0x3f, 0xaf, 0xf5, 0xeb, 0x6a, 0x69, 0x5a, 0x5f, 0x82, 0x37, 0xfd, 0x0b, 0x6b, 0x29, 0x4a, 0xef, 0x7a, 0x00, 0x08,
- 0x2b, 0x73, 0x8a, 0x52, 0x7f, 0x29, 0xf8, 0xfa, 0x2b, 0x6b, 0xc8, 0x41, 0xfd, 0x5e, 0x20, 0x22, 0x8c, 0x7b, 0x69, 0x5a, 0xb5, 0xfd, 0xfc, 0xfe, 0x2b, 0x73, 0xaa, 0x5a, 0x7b, 0xff, 0x9e, 0xa2,
- 0x2b, 0x73, 0x69, 0x52, 0xad, 0xff, 0xbf, 0xb0, 0x0c, 0x73, 0x69, 0x52, 0xdf, 0xf7, 0xff, 0xf2, 0x6d, 0x6b, 0x69, 0x52, 0x3f, 0xff, 0xdf, 0xff, 0xab, 0x5a, 0x49, 0x4a, 0x99, 0x20, 0x6a, 0x68,
- 0x0c, 0x6b, 0x29, 0x4a, 0x5d, 0x7f, 0x7b, 0x3f, 0x4c, 0x7b, 0x49, 0x4a, 0xf7, 0x55, 0xf5, 0xfc, 0x0b, 0x6b, 0x29, 0x4a, 0xf0, 0xbd, 0xdf, 0xea, 0x2c, 0x73, 0xe8, 0x41, 0x56, 0x7f, 0xf8, 0xfe,
- 0xe5, 0x69, 0x68, 0x52, 0x8b, 0x0b, 0x0b, 0x29, 0x25, 0x6a, 0xa4, 0x61, 0x7f, 0xfe, 0xb6, 0xf3, 0xe4, 0x69, 0x43, 0x51, 0xfa, 0x7e, 0xf8, 0xfa, 0xa5, 0x59, 0x22, 0x49, 0x7e, 0xff, 0xfa, 0xa8,
- 0x64, 0x51, 0x23, 0x41, 0xf7, 0xd9, 0xbf, 0x2a, 0x64, 0x59, 0x03, 0x49, 0x2f, 0xeb, 0xf8, 0x76, 0xa4, 0x61, 0x03, 0x49, 0xfa, 0x8f, 0xbd, 0xd5, 0x44, 0x51, 0xe2, 0x38, 0xde, 0xfe, 0xf8, 0xe8,
- 0x23, 0x41, 0xe2, 0x38, 0xad, 0x88, 0xe8, 0x8b, 0xe2, 0x40, 0x04, 0x39, 0xfe, 0xbf, 0x55, 0x5e, 0xe7, 0x59, 0xe3, 0x38, 0x55, 0xd5, 0xb5, 0x37, 0x51, 0xcd, 0x25, 0x41, 0x25, 0x0d, 0x03, 0x82,
- 0x2a, 0x83, 0xe8, 0x49, 0x54, 0x57, 0x75, 0x57, 0x08, 0x4a, 0xa7, 0x31, 0x9f, 0xfe, 0xc8, 0xe8, 0x49, 0x4a, 0xa7, 0x39, 0xea, 0xdb, 0xbf, 0x8b, 0x29, 0x42, 0x87, 0x31, 0xa5, 0xae, 0xe6, 0xe0,
- 0x29, 0x42, 0xc8, 0x39, 0x9b, 0x38, 0x2b, 0xff, 0x69, 0x52, 0x08, 0x42, 0x3b, 0xfd, 0xbb, 0xdf, 0x69, 0x52, 0xc8, 0x41, 0xf8, 0x5e, 0xa2, 0xfd, 0x49, 0x52, 0x87, 0x31, 0xb6, 0xab, 0x2a, 0xfa,
- 0x49, 0x4a, 0xa7, 0x31, 0xf7, 0xaf, 0xaa, 0x8a, 0x29, 0x4a, 0xa7, 0x31, 0xda, 0xfa, 0x2f, 0xbf, 0x49, 0x4a, 0xc8, 0x41, 0xbe, 0xd5, 0xac, 0xbf, 0x29, 0x42, 0xc8, 0x39, 0x28, 0x52, 0x24, 0xb7,
- 0x29, 0x4a, 0xe8, 0x41, 0x0b, 0xab, 0xb9, 0xf3, 0x6a, 0x5a, 0xe8, 0x41, 0xe3, 0xa2, 0xff, 0xdf, 0x69, 0x52, 0x08, 0x42, 0x25, 0xdf, 0xae, 0xad, 0xea, 0x62, 0xc7, 0x41, 0xe8, 0x5f, 0xdf, 0xff,
- 0xaa, 0x62, 0x08, 0x4a, 0xec, 0xd5, 0x5a, 0x7f, 0x8a, 0x5a, 0xe8, 0x41, 0x5f, 0xe8, 0xf9, 0xfe, 0x69, 0x52, 0xc7, 0x39, 0xab, 0xff, 0x35, 0xbf, 0x2c, 0x73, 0xe8, 0x41, 0xd7, 0xfd, 0x8d, 0xeb,
- 0x8a, 0x62, 0x09, 0x4a, 0x7b, 0xda, 0x8a, 0xfa, 0xaa, 0x62, 0xe8, 0x41, 0x9f, 0x10, 0xeb, 0xac, 0xea, 0x6a, 0x08, 0x52, 0x7f, 0x28, 0x85, 0xfa, 0x89, 0x5a, 0xc7, 0x49, 0xaa, 0x60, 0xfe, 0xfb,
- 0x29, 0x52, 0xc8, 0x41, 0xb4, 0xfe, 0xbe, 0xae, 0x69, 0x52, 0xa8, 0x41, 0xd5, 0xe5, 0xfe, 0xa2, 0x28, 0x4a, 0xa7, 0x39, 0xbf, 0xad, 0xba, 0xa0, 0x09, 0x52, 0xa7, 0x39, 0xeb, 0xff, 0xa7, 0x2a,
- 0xe8, 0x49, 0x87, 0x39, 0x7a, 0x0b, 0x02, 0xa8, 0x09, 0x4a, 0xa7, 0x41, 0x5a, 0xd6, 0x83, 0x7f, 0xe8, 0x49, 0x67, 0x31, 0xaa, 0xea, 0xe8, 0x09, 0xe8, 0x49, 0x87, 0x39, 0x8f, 0xaa, 0xc8, 0x2a,
- 0x29, 0x4a, 0xa7, 0x41, 0xdf, 0x6f, 0xfa, 0x2e, 0x26, 0x62, 0x64, 0x59, 0x5f, 0x7f, 0xaa, 0xa2, 0xe5, 0x69, 0x23, 0x51, 0xf9, 0xbf, 0xaa, 0xa8, 0x05, 0x6a, 0x83, 0x59, 0xed, 0x7f, 0xef, 0x0f,
- 0xe5, 0x69, 0x84, 0x59, 0x57, 0xa2, 0xaa, 0x28, 0xe5, 0x69, 0x63, 0x59, 0xd5, 0xaf, 0xe0, 0xa0, 0xc5, 0x69, 0x43, 0x51, 0xd7, 0xfe, 0xe0, 0xea, 0x84, 0x61, 0x23, 0x51, 0x03, 0xbf, 0xb7, 0xbe,
- 0xa4, 0x61, 0x43, 0x51, 0xf7, 0x2f, 0x3f, 0x3e, 0xe5, 0x69, 0x83, 0x59, 0x77, 0xad, 0x3a, 0xa8, 0xe5, 0x69, 0x84, 0x59, 0x5d, 0xbe, 0x2a, 0x00, 0x05, 0x6a, 0x83, 0x59, 0xfd, 0x2e, 0x2a, 0x8b,
- 0xe5, 0x69, 0xa4, 0x61, 0xb7, 0xa0, 0xdc, 0xec, 0x05, 0x72, 0xa4, 0x61, 0xdf, 0xaa, 0xfe, 0xba, 0x05, 0x72, 0xc4, 0x61, 0xff, 0xae, 0xfe, 0xfa, 0x04, 0x6a, 0xa3, 0x61, 0x2b, 0xae, 0x3e, 0xbf,
- 0x04, 0x72, 0xc3, 0x61, 0xca, 0xd7, 0xf7, 0xfa, 0x04, 0x72, 0x83, 0x61, 0xfa, 0x5c, 0x7b, 0xea, 0xe4, 0x69, 0x83, 0x61, 0xdf, 0xdd, 0xbe, 0x22, 0x86, 0x7a, 0xa3, 0x61, 0xf5, 0xf5, 0xbd, 0x0b,
- 0x86, 0x7a, 0xc3, 0x69, 0x55, 0xff, 0xab, 0xa0, 0x45, 0x72, 0xe3, 0x69, 0x55, 0xff, 0xda, 0x38, 0x0b, 0xa4, 0x04, 0x6a, 0x35, 0x15, 0x2d, 0x0b, 0xce, 0xc4, 0x07, 0x8b, 0x0a, 0x84, 0x2e, 0x0a,
- 0x70, 0xd5, 0x27, 0x62, 0xab, 0x42, 0x42, 0x4a, 0x89, 0x62, 0x88, 0x39, 0xdf, 0x82, 0xaa, 0xfe, 0x8a, 0x5a, 0xa7, 0x39, 0x52, 0xaa, 0xfe, 0xff, 0x49, 0x52, 0xa7, 0x39, 0xf9, 0xfe, 0xaf, 0x2a,
- 0x69, 0x52, 0xc8, 0x41, 0x9f, 0x5f, 0xff, 0xa0, 0x49, 0x52, 0xa7, 0x31, 0x00, 0xf7, 0xfa, 0xa0, 0x8a, 0x52, 0xa7, 0x41, 0x77, 0xc7, 0x57, 0x7f, 0x29, 0x4a, 0xa7, 0x41, 0xf9, 0x39, 0xff, 0x96,
- 0x29, 0x4a, 0xa7, 0x41, 0xa7, 0xea, 0x57, 0xa3, 0x08, 0x42, 0x87, 0x39, 0xbf, 0xa2, 0x5f, 0x3c, 0x28, 0x4a, 0xa7, 0x41, 0x23, 0xaf, 0xd5, 0x7a, 0x08, 0x4a, 0x86, 0x39, 0xa0, 0x82, 0x7d, 0x6a,
- 0x28, 0x4a, 0xa7, 0x39, 0xda, 0xea, 0x57, 0xdf, 0xe8, 0x49, 0x87, 0x39, 0x3b, 0xeb, 0x8d, 0xbb, 0xe8, 0x49, 0x87, 0x31, 0x8a, 0xa0, 0x56, 0xfe, 0xe8, 0x41, 0x47, 0x31, 0x2a, 0x2a, 0xf7, 0xaa,
- 0x09, 0x42, 0x87, 0x31, 0xab, 0xba, 0xbd, 0x88, 0x08, 0x4a, 0x67, 0x31, 0xa2, 0xfa, 0x5f, 0xfe, 0x08, 0x42, 0x67, 0x31, 0xbe, 0xfe, 0x7e, 0x0b, 0xe8, 0x41, 0x47, 0x29, 0xa8, 0x80, 0xf5, 0xa0,
- 0x29, 0x52, 0x87, 0x31, 0xbf, 0xb7, 0x15, 0xf5, 0x29, 0x52, 0xa7, 0x39, 0x7f, 0x5a, 0x5c, 0xde, 0xe8, 0x41, 0x67, 0x31, 0xe2, 0x7a, 0xff, 0xa8, 0xe8, 0x41, 0x26, 0x29, 0xaa, 0xe2, 0x6f, 0x2a,
- 0x08, 0x4a, 0x67, 0x39, 0xbf, 0x7d, 0xd5, 0x2a, 0x08, 0x42, 0x67, 0x31, 0xff, 0x75, 0xd7, 0x2c, 0xe8, 0x41, 0x66, 0x29, 0xbf, 0xe9, 0xab, 0xa8, 0xc8, 0x41, 0x66, 0x29, 0xaa, 0xf7, 0xdc, 0x00,
- 0xe8, 0x39, 0x87, 0x31, 0xff, 0xa2, 0xd7, 0xef, 0xe7, 0x39, 0x68, 0x31, 0x81, 0xaa, 0xea, 0xeb, 0xe8, 0x41, 0x87, 0x31, 0xea, 0x0b, 0xbf, 0x5d, 0xe8, 0x41, 0x87, 0x31, 0xf5, 0x2a, 0xf7, 0x57,
- 0x8a, 0x5a, 0xc9, 0x39, 0x9f, 0x0f, 0xab, 0x57, 0xcb, 0x62, 0xe9, 0x41, 0xfe, 0x8f, 0xef, 0x55, 0xcb, 0x5a, 0xc8, 0x41, 0x0a, 0xff, 0x8b, 0x59, 0x69, 0x4a, 0xe8, 0x41, 0xb2, 0x7f, 0x75, 0x5b,
- 0x49, 0x4a, 0xc8, 0x39, 0xa0, 0xaa, 0xff, 0x35, 0x8a, 0x52, 0xe8, 0x39, 0x2a, 0xbf, 0xfd, 0xed, 0xaa, 0x5a, 0xc8, 0x39, 0xac, 0xea, 0x5d, 0xff, 0xaa, 0x5a, 0xc9, 0x39, 0x00, 0x02, 0x2b, 0xa5,
- 0xce, 0x83, 0xa9, 0x5a, 0x7d, 0xfd, 0x2e, 0xff, 0x4e, 0x9c, 0x48, 0x52, 0xff, 0x7f, 0xf8, 0xff, 0x2b, 0x7b, 0x89, 0x5a, 0xfa, 0x3b, 0x29, 0x2d, 0x4c, 0x73, 0x48, 0x52, 0xd5, 0x8e, 0x8b, 0xac,
- 0x0c, 0x6b, 0xa7, 0x39, 0xea, 0x5a, 0xfd, 0xca, 0x8a, 0x52, 0xc9, 0x39, 0x28, 0xff, 0x75, 0x22, 0xeb, 0x62, 0xe9, 0x41, 0xa2, 0xbf, 0xf5, 0xaa, 0xcb, 0x5a, 0x29, 0x42, 0x1e, 0xfc, 0xdd, 0x78,
- 0xcb, 0x62, 0x09, 0x4a, 0xa8, 0xaa, 0xae, 0x17, 0x0c, 0x6b, 0x8a, 0x52, 0xab, 0xc1, 0xad, 0xad, 0x2c, 0x6b, 0x8a, 0x5a, 0x0b, 0xfa, 0xbd, 0xdf, 0xee, 0x8b, 0x69, 0x52, 0xfe, 0x7d, 0x8f, 0xef,
- 0x6c, 0x7b, 0x8a, 0x5a, 0xbe, 0xfc, 0xb8, 0x57, 0xee, 0x8b, 0x49, 0x52, 0xfe, 0xff, 0x5e, 0xfc, 0x0b, 0x6b, 0xe8, 0x41, 0x00, 0x80, 0xa5, 0xf8, 0x0c, 0x6b, 0x8a, 0x52, 0x7e, 0xea, 0x86, 0xf5,
- 0x0b, 0x6b, 0x6a, 0x52, 0x62, 0xf7, 0xde, 0x0e, 0x0b, 0x63, 0x29, 0x4a, 0xb6, 0xee, 0xeb, 0xa8, 0xaa, 0x5a, 0x08, 0x42, 0x00, 0x7f, 0xdf, 0xa0, 0xea, 0x5a, 0x29, 0x4a, 0x3a, 0xbd, 0x75, 0xfb,
- 0xc8, 0x72, 0xe7, 0x51, 0xec, 0xbe, 0xf5, 0xff, 0x46, 0x6a, 0xc4, 0x61, 0xdf, 0xbe, 0x7f, 0xd4, 0xe5, 0x69, 0xa4, 0x59, 0xa0, 0xfe, 0xfe, 0x6a, 0xa5, 0x61, 0x43, 0x51, 0x5c, 0xd6, 0xba, 0xfe,
- 0x84, 0x59, 0x23, 0x49, 0xee, 0xdf, 0x7c, 0xfa, 0x63, 0x49, 0xe4, 0x40, 0xb7, 0xfb, 0xab, 0x2a, 0x64, 0x51, 0x03, 0x49, 0xdd, 0xdd, 0x9f, 0x20, 0xa4, 0x59, 0x03, 0x49, 0xff, 0x75, 0xef, 0xe8,
- 0x64, 0x51, 0x23, 0x41, 0xdd, 0xd5, 0x7e, 0xf2, 0xa5, 0x59, 0x03, 0x41, 0x55, 0xd5, 0xf5, 0x2f, 0x0c, 0xa4, 0xe3, 0x40, 0xb5, 0xbd, 0x2d, 0x2f, 0x50, 0xd5, 0x85, 0x49, 0xc0, 0xea, 0x72, 0x52,
- 0x29, 0x52, 0xc8, 0x39, 0x90, 0xb6, 0xae, 0xff, 0x69, 0x4a, 0xc8, 0x41, 0x7e, 0xae, 0xa8, 0xef, 0x49, 0x52, 0x87, 0x31, 0x6f, 0xeb, 0x28, 0x9a, 0x49, 0x4a, 0xa8, 0x39, 0xa9, 0xbd, 0x8a, 0x37,
- 0x6a, 0x5a, 0xc8, 0x39, 0xf5, 0xaf, 0x8a, 0xbf, 0x8a, 0x5a, 0x08, 0x42, 0xf5, 0xf9, 0x2b, 0xaa, 0x8a, 0x52, 0xa7, 0x39, 0x7e, 0xa8, 0x80, 0x98, 0x69, 0x52, 0xc7, 0x39, 0x2b, 0xbb, 0x78, 0xd8,
- 0x69, 0x52, 0xe8, 0x41, 0x0b, 0xdf, 0xa9, 0xe0, 0x09, 0x4a, 0xc7, 0x39, 0x76, 0xff, 0xfa, 0xe8, 0x29, 0x4a, 0xa7, 0x31, 0xff, 0x79, 0xff, 0xc2, 0x29, 0x4a, 0x87, 0x31, 0xaf, 0xfd, 0x27, 0x27,
- 0x29, 0x4a, 0xc8, 0x41, 0x2d, 0xab, 0x7f, 0xfb, 0x28, 0x42, 0xa7, 0x39, 0x8a, 0x88, 0xe9, 0xaa, 0x8a, 0x5a, 0x87, 0x31, 0xfa, 0x82, 0xaf, 0xdf, 0x49, 0x52, 0x87, 0x39, 0x22, 0x8b, 0xe2, 0xed,
- 0x49, 0x4a, 0xa7, 0x39, 0x80, 0x2a, 0xeb, 0xed, 0x29, 0x4a, 0xc7, 0x39, 0x68, 0x8a, 0xcb, 0x0b, 0x89, 0x52, 0xa7, 0x39, 0xed, 0xfb, 0x22, 0x2a, 0xcb, 0x62, 0x08, 0x4a, 0xd5, 0xbd, 0x95, 0xb0,
- 0xaa, 0x62, 0x08, 0x4a, 0x7b, 0xaa, 0xb2, 0xc2, 0x0b, 0x73, 0x28, 0x52, 0x8d, 0xbd, 0x73, 0xfd, 0xeb, 0x6a, 0xe8, 0x49, 0xff, 0xf0, 0xed, 0xfa, 0xaa, 0x62, 0xe7, 0x49, 0xc7, 0xaa, 0xf7, 0xa0,
- 0x6a, 0x52, 0xe8, 0x49, 0xea, 0x20, 0xfd, 0x2a, 0xeb, 0x5a, 0xa7, 0x41, 0xfd, 0xfa, 0x75, 0x8a, 0x49, 0x52, 0xa8, 0x41, 0x8b, 0xba, 0xa9, 0x00, 0x09, 0x4a, 0xc8, 0x41, 0x07, 0xf7, 0x26, 0xe0,
- 0x69, 0x4a, 0xc8, 0x41, 0x5d, 0x5d, 0xe3, 0x5f, 0x09, 0x52, 0xa7, 0x39, 0xaf, 0xe2, 0xda, 0x55, 0x28, 0x4a, 0x67, 0x39, 0xff, 0x5e, 0xaa, 0x0f, 0x08, 0x4a, 0xc7, 0x39, 0xff, 0xed, 0x8a, 0xdf,
- 0x06, 0x5a, 0xc8, 0x39, 0xde, 0xff, 0xf6, 0x27, 0x04, 0x72, 0xc6, 0x51, 0xa9, 0x0b, 0xab, 0x02, 0xe4, 0x69, 0x63, 0x61, 0xaa, 0xf8, 0xdc, 0x70, 0x05, 0x72, 0x63, 0x61, 0x8b, 0xfa, 0xdf, 0xbf,
- 0xe3, 0x69, 0x84, 0x61, 0x20, 0xbf, 0xda, 0xbe, 0xe4, 0x69, 0x83, 0x61, 0xa2, 0xfb, 0xd7, 0x5a, 0xc4, 0x69, 0x63, 0x61, 0xb8, 0xf9, 0xbb, 0xa8, 0xe4, 0x69, 0x63, 0x59, 0x5f, 0xbf, 0x2a, 0xab,
- 0xe4, 0x69, 0x83, 0x59, 0xbd, 0xaf, 0x8a, 0x0a, 0x05, 0x6a, 0x84, 0x61, 0xff, 0xde, 0xbf, 0x2e, 0x24, 0x6a, 0xa3, 0x61, 0x77, 0xfb, 0xeb, 0x8a, 0x04, 0x6a, 0xa3, 0x61, 0xf9, 0xdf, 0x88, 0x80,
- 0x05, 0x72, 0xa4, 0x61, 0xfe, 0xe3, 0xae, 0xf7, 0x26, 0x72, 0xc4, 0x61, 0xfd, 0xab, 0xbd, 0xf5, 0x05, 0x6a, 0xc4, 0x61, 0x38, 0xfb, 0xb9, 0xf8, 0x05, 0x72, 0xc4, 0x61, 0xe8, 0xff, 0xdf, 0x5f,
- 0x88, 0x6a, 0xc4, 0x61, 0xd7, 0xdd, 0xbd, 0x0f, 0x49, 0x83, 0xe5, 0x69, 0x55, 0xad, 0x3b, 0xaa, 0x2b, 0xa4, 0xc5, 0x61, 0x55, 0x2b, 0xa8, 0xab, 0xaa, 0xa3, 0x05, 0x6a, 0xfb, 0x58, 0xd6, 0xd7,
- 0xaa, 0x93, 0x46, 0x72, 0x57, 0x5f, 0xf7, 0x2f, 0x0b, 0xa4, 0x05, 0x6a, 0x37, 0xaf, 0x02, 0x00, 0x6c, 0xac, 0xcb, 0xa3, 0xb1, 0xbd, 0xfe, 0x3e, 0xee, 0xc4, 0x4c, 0xb4, 0xb5, 0x8b, 0xab, 0x2b,
- 0x50, 0xd5, 0x08, 0x5a, 0x70, 0x52, 0x50, 0x58, 0x29, 0x52, 0xc8, 0x41, 0x77, 0xe8, 0xa0, 0x20, 0x49, 0x52, 0xa7, 0x41, 0x75, 0xaf, 0x2a, 0xf8, 0x09, 0x52, 0xe8, 0x41, 0x2d, 0x57, 0xee, 0xad,
- 0x29, 0x4a, 0xe7, 0x41, 0x36, 0x7b, 0x7b, 0x78, 0x09, 0x52, 0xa7, 0x39, 0xa0, 0xd7, 0x09, 0x02, 0x49, 0x5a, 0xc7, 0x41, 0xfd, 0x8b, 0x77, 0xf7, 0xca, 0x62, 0xc7, 0x39, 0xba, 0xac, 0x7f, 0xf5,
- 0x6a, 0x52, 0xa7, 0x39, 0xea, 0xc8, 0xdd, 0xda, 0x29, 0x4a, 0xa8, 0x39, 0x20, 0x0f, 0x7f, 0xa2, 0x89, 0x5a, 0xc7, 0x39, 0x22, 0xfe, 0x55, 0xfd, 0x89, 0x5a, 0xc8, 0x41, 0xa8, 0xdb, 0x65, 0x5f,
- 0x8a, 0x5a, 0xc8, 0x41, 0xf8, 0xb9, 0x7b, 0xd5, 0xca, 0x62, 0xe8, 0x41, 0x5d, 0xf5, 0x75, 0x4b, 0x49, 0x4a, 0xc8, 0x41, 0xe8, 0x76, 0xff, 0x57, 0x29, 0x4a, 0x87, 0x39, 0xe8, 0x97, 0xfe, 0xed,
- 0x08, 0x4a, 0xa7, 0x39, 0xac, 0xde, 0xae, 0xaf, 0xe8, 0x41, 0xa7, 0x31, 0x02, 0x72, 0xfe, 0x80, 0xe8, 0x41, 0xa7, 0x39, 0x22, 0x1d, 0x8a, 0x7a, 0x08, 0x42, 0xa7, 0x39, 0x3a, 0x8e, 0x39, 0xa1,
- 0x08, 0x4a, 0xa7, 0x39, 0xea, 0x6a, 0x2e, 0x28, 0x29, 0x4a, 0xa7, 0x39, 0xed, 0xf9, 0xbe, 0xca, 0x09, 0x4a, 0xa7, 0x39, 0x0a, 0x17, 0xfb, 0x7a, 0x08, 0x42, 0xa7, 0x39, 0xa2, 0xaa, 0x17, 0xbb,
- 0x08, 0x4a, 0xa8, 0x39, 0xab, 0x6b, 0xe8, 0xde, 0xc8, 0x41, 0xa7, 0x31, 0x27, 0x9b, 0x2a, 0x00, 0x08, 0x4a, 0xa7, 0x39, 0x1d, 0xff, 0xfe, 0xba, 0xe8, 0x49, 0xa7, 0x39, 0x8b, 0x77, 0x0a, 0x28,
- 0x08, 0x4a, 0x87, 0x41, 0xee, 0x57, 0x2e, 0xa8, 0x08, 0x4a, 0x87, 0x39, 0xef, 0xa9, 0x2a, 0x2a, 0x29, 0x4a, 0x87, 0x39, 0xab, 0x0b, 0xea, 0x7a, 0x09, 0x4a, 0xa7, 0x41, 0x0a, 0xae, 0x75, 0x63,
- 0x53, 0x7c, 0xa7, 0x41, 0xd5, 0xff, 0xbf, 0xa8, 0x33, 0x7c, 0x69, 0x5a, 0xf5, 0xef, 0x57, 0x02, 0x73, 0x7c, 0x69, 0x5a, 0xf5, 0xff, 0x7f, 0x80, 0x6e, 0x73, 0x49, 0x4a, 0x7f, 0xaa, 0xa2, 0x3a,
- 0x90, 0x73, 0x49, 0x4a, 0x5f, 0xae, 0xae, 0x28, 0xf2, 0x73, 0x69, 0x52, 0xfd, 0xbf, 0xfd, 0x80, 0x33, 0x7c, 0xaa, 0x5a, 0x55, 0xf5, 0x5f, 0x80, 0xf2, 0x7b, 0xe7, 0x41, 0x57, 0xae, 0xeb, 0x00,
- 0x33, 0x7c, 0x89, 0x5a, 0x7d, 0xff, 0xff, 0x20, 0x12, 0x74, 0xaa, 0x5a, 0xdd, 0xff, 0xff, 0x00, 0x13, 0x74, 0x89, 0x5a, 0xde, 0xdf, 0xf5, 0x00, 0x32, 0x74, 0xca, 0x62, 0x59, 0xff, 0xf5, 0x00,
- 0xf1, 0x73, 0x69, 0x52, 0x77, 0xfe, 0xfb, 0x00, 0x4e, 0x73, 0x4a, 0x4a, 0xf5, 0x0a, 0xa7, 0xa8, 0x6f, 0x73, 0x49, 0x52, 0x7d, 0x8a, 0xba, 0xaa, 0x8d, 0x7b, 0x4a, 0x4a, 0xd5, 0xaa, 0x80, 0xaa,
- 0x4d, 0x73, 0xab, 0x5a, 0xf7, 0x8a, 0xaa, 0xb6, 0x6f, 0x73, 0x69, 0x52, 0x0f, 0xff, 0x7a, 0x00, 0x90, 0x73, 0xaa, 0x62, 0xff, 0xfd, 0xff, 0x03, 0x8f, 0x73, 0xcb, 0x6a, 0x5f, 0x97, 0xff, 0xe8,
- 0xae, 0x8b, 0x8a, 0x5a, 0x7d, 0xea, 0x3a, 0x7a, 0x0f, 0x94, 0xaa, 0x6a, 0x7f, 0xfc, 0xb9, 0xad, 0x4c, 0x7b, 0xaa, 0x5a, 0x9d, 0xaa, 0x2a, 0xe0, 0x6c, 0x73, 0xcb, 0x62, 0x64, 0xb3, 0xb2, 0xfd,
- 0x4c, 0x7b, 0x49, 0x4a, 0x95, 0xae, 0x60, 0x80, 0x4c, 0x7b, 0xab, 0x62, 0x7f, 0x8a, 0xaa, 0x81, 0x50, 0x8c, 0x29, 0x52, 0xd5, 0xff, 0x37, 0xff, 0x0c, 0x6b, 0xc8, 0x41, 0xaf, 0x7a, 0xa8, 0x2a,
- 0xeb, 0x6a, 0x09, 0x4a, 0xea, 0xa9, 0x57, 0x80, 0x4d, 0x7b, 0xc5, 0x59, 0x5f, 0x5e, 0xfd, 0xf8, 0x46, 0x6a, 0xa4, 0x59, 0xdb, 0x7f, 0xe2, 0xfa, 0xe5, 0x61, 0x84, 0x59, 0x5a, 0x77, 0xf0, 0x80,
- 0xa5, 0x61, 0x23, 0x49, 0xdf, 0xfa, 0xfe, 0xa8, 0xe5, 0x59, 0x23, 0x49, 0xd5, 0xdf, 0xbf, 0x2f, 0xe5, 0x61, 0x43, 0x51, 0xd5, 0xf5, 0x28, 0xa0, 0xe5, 0x61, 0x84, 0x51, 0x7a, 0x80, 0x2a, 0x88,
- 0x05, 0x6a, 0x63, 0x51, 0x55, 0xe8, 0xea, 0xaa, 0x26, 0x72, 0x64, 0x51, 0x2d, 0x0b, 0x0b, 0x0a, 0x4c, 0xbc, 0x46, 0x72, 0x35, 0xb5, 0x2d, 0xad, 0xae, 0xc4, 0xe7, 0x49, 0x50, 0x5c, 0x5c, 0xd4,
- 0xaa, 0x5a, 0xe8, 0x41, 0x55, 0x55, 0x5d, 0x30, 0xaa, 0x52, 0x68, 0x31, 0xff, 0xdf, 0xfe, 0xe8, 0x8a, 0x5a, 0xe8, 0x41, 0x55, 0x55, 0xfd, 0x29, 0x6a, 0x52, 0xe8, 0x41, 0xf7, 0xe5, 0x5e, 0x7c,
- 0x49, 0x4a, 0xe8, 0x41, 0xd8, 0x0b, 0xa5, 0x9b, 0xaa, 0x5a, 0xc8, 0x39, 0x2b, 0xbe, 0xba, 0xf5, 0xaa, 0x5a, 0x29, 0x4a, 0x6a, 0xf2, 0xff, 0x99, 0x6a, 0x52, 0xe8, 0x49, 0x12, 0xef, 0x9a, 0xc9,
- 0x49, 0x52, 0xe8, 0x41, 0xfc, 0xac, 0xac, 0xd7, 0x69, 0x52, 0xe8, 0x41, 0xed, 0xf5, 0x2a, 0xff, 0x49, 0x52, 0x88, 0x39, 0x2a, 0x3f, 0x5a, 0xba, 0x49, 0x52, 0xa8, 0x39, 0x20, 0xaa, 0xdf, 0xae,
- 0x69, 0x52, 0xc8, 0x41, 0xe0, 0xa3, 0xa5, 0xa2, 0x6a, 0x52, 0xe8, 0x49, 0x7d, 0xea, 0x52, 0x2a, 0x49, 0x52, 0xe8, 0x41, 0xd7, 0x80, 0xef, 0xb8, 0x29, 0x52, 0x87, 0x31, 0x0a, 0xa6, 0xa8, 0x08,
- 0x49, 0x52, 0x08, 0x4a, 0x57, 0xcb, 0xae, 0xec, 0x29, 0x4a, 0xa8, 0x41, 0xae, 0xa8, 0x6b, 0xbb, 0x29, 0x4a, 0xc8, 0x39, 0x25, 0xfe, 0xa2, 0xa3, 0x49, 0x52, 0xe8, 0x41, 0xa8, 0xf9, 0xf7, 0xbd,
- 0xea, 0x62, 0xe8, 0x49, 0x3f, 0x77, 0x57, 0xff, 0x4b, 0x7b, 0xc8, 0x49, 0xbe, 0xd5, 0xb5, 0x8f, 0x69, 0x5a, 0xe7, 0x39, 0x20, 0x27, 0xdc, 0x5c, 0x2b, 0x73, 0xe7, 0x41, 0x89, 0x7f, 0xfd, 0xdd,
- 0xcb, 0x6a, 0xe8, 0x49, 0xba, 0x8d, 0x73, 0xff, 0x89, 0x5a, 0xe8, 0x41, 0xe2, 0xf7, 0xf9, 0xf0, 0x49, 0x4a, 0xe8, 0x41, 0xdb, 0xbf, 0xfa, 0x2e, 0x49, 0x52, 0xe8, 0x41, 0x5d, 0xfd, 0xfe, 0x0a,
- 0x49, 0x52, 0xa7, 0x39, 0xf7, 0xef, 0x7f, 0xe2, 0x09, 0x42, 0x87, 0x39, 0x5f, 0xf0, 0xfa, 0x00, 0x29, 0x4a, 0x68, 0x39, 0xb5, 0xff, 0xaf, 0xa0, 0x07, 0x52, 0xc9, 0x39, 0xfe, 0x6b, 0xfd, 0x2a,
- 0x04, 0x72, 0xc7, 0x41, 0x35, 0x2f, 0x2b, 0x0a, 0x45, 0x72, 0xa4, 0x61, 0xe8, 0x5e, 0xf8, 0xe8, 0xa4, 0x69, 0x63, 0x51, 0x88, 0xaa, 0x3e, 0x56, 0xa3, 0x69, 0xe4, 0x61, 0x00, 0xa2, 0xac, 0xbe,
- 0xc4, 0x71, 0xa3, 0x61, 0xff, 0x9a, 0xf2, 0xe7, 0xe5, 0x69, 0xa3, 0x61, 0xfd, 0xff, 0x2e, 0xc0, 0x04, 0x6a, 0x83, 0x61, 0xff, 0xf0, 0xa8, 0x6a, 0xc4, 0x69, 0x83, 0x59, 0x62, 0x7a, 0xff, 0xa9,
- 0x05, 0x6a, 0x63, 0x59, 0x8b, 0xa5, 0x2d, 0xdf, 0x04, 0x6a, 0xc5, 0x61, 0x8a, 0xb9, 0xaa, 0xa3, 0x05, 0x6a, 0xc4, 0x61, 0xfb, 0xe2, 0xfa, 0xed, 0x05, 0x6a, 0xc4, 0x59, 0xbb, 0xee, 0xef, 0x7a,
- 0x06, 0x6a, 0xc4, 0x59, 0x6f, 0xca, 0xab, 0xab, 0x26, 0x6a, 0xc5, 0x59, 0x0f, 0x2b, 0xae, 0xaf, 0x46, 0x6a, 0xe5, 0x61, 0x5a, 0x7e, 0xfc, 0xb0, 0x06, 0x62, 0xc4, 0x59, 0xa1, 0xb9, 0x68, 0xd7,
- 0xe8, 0x82, 0xe4, 0x61, 0xad, 0xad, 0xad, 0x2d, 0x08, 0x83, 0x46, 0x72, 0x27, 0x7e, 0x56, 0xac, 0xc8, 0x7a, 0x46, 0x6a, 0x82, 0x59, 0xdf, 0x5c, 0xc8, 0x7a, 0x25, 0x6a, 0xd5, 0x95, 0xaf, 0x2a,
- 0x4d, 0xac, 0x87, 0x72, 0x0d, 0x0f, 0x0d, 0x0b, 0x2c, 0xac, 0xcb, 0x9b, 0x37, 0xb7, 0xa0, 0xff, 0xce, 0xbc, 0xcb, 0xa3, 0xd7, 0x25, 0x29, 0xa5, 0x0f, 0xcd, 0xea, 0x82, 0x0a, 0x00, 0x00, 0x42,
- 0xb2, 0xdd, 0xc7, 0x41, 0x5c, 0x54, 0x55, 0x55, 0x49, 0x52, 0xc8, 0x41, 0xab, 0xb7, 0xad, 0x35, 0x69, 0x5a, 0xe8, 0x41, 0x8b, 0xf6, 0xff, 0xfe, 0x6a, 0x5a, 0xe8, 0x41, 0x2b, 0xf7, 0xad, 0xdf,
- 0x69, 0x5a, 0xc8, 0x39, 0xe8, 0xa0, 0xea, 0x5f, 0x8a, 0x5a, 0xc7, 0x41, 0xfd, 0xca, 0xfd, 0xf9, 0xaa, 0x5a, 0xc8, 0x41, 0xfe, 0xa3, 0xd7, 0xf7, 0x4a, 0x52, 0xc7, 0x39, 0xbf, 0x0a, 0x6b, 0x9f,
- 0xaa, 0x62, 0xe8, 0x41, 0xff, 0xbb, 0x2b, 0xf5, 0xeb, 0x62, 0xa7, 0x39, 0xb2, 0xba, 0xfe, 0xd7, 0xaa, 0x62, 0xe7, 0x41, 0x7e, 0x22, 0xfb, 0xd5, 0xcb, 0x6a, 0xa7, 0x39, 0xde, 0xb8, 0xba, 0xff,
- 0x8a, 0x5a, 0xc7, 0x41, 0x97, 0x80, 0xfa, 0x57, 0x09, 0x52, 0xa7, 0x39, 0xfa, 0x82, 0x50, 0xfb, 0x49, 0x4a, 0xa8, 0x41, 0x7e, 0x2e, 0x6a, 0xff, 0x29, 0x4a, 0x87, 0x39, 0x7f, 0xba, 0xab, 0x8b,
- 0x28, 0x4a, 0x67, 0x39, 0xaa, 0xe2, 0xf6, 0xaa, 0x29, 0x52, 0xa7, 0x31, 0xef, 0x3a, 0x7f, 0x77, 0x29, 0x4a, 0xa7, 0x39, 0xad, 0x28, 0xbb, 0xaa, 0x09, 0x4a, 0xc8, 0x41, 0x57, 0xbc, 0x8f, 0x89,
- 0x08, 0x4a, 0xa7, 0x39, 0xb9, 0x5a, 0xf6, 0x88, 0x09, 0x4a, 0xc7, 0x39, 0xfb, 0xba, 0xa7, 0xeb, 0x09, 0x52, 0xa7, 0x39, 0xef, 0x8e, 0xee, 0x7b, 0xe8, 0x41, 0xa7, 0x39, 0x87, 0x23, 0xbb, 0x1a,
- 0x08, 0x42, 0x87, 0x39, 0x7f, 0xab, 0x0f, 0x2c, 0x08, 0x42, 0xa7, 0x39, 0x67, 0xa8, 0xa8, 0x2b, 0x28, 0x42, 0xa7, 0x39, 0xbd, 0x8b, 0xaa, 0xf7, 0x09, 0x42, 0xc7, 0x39, 0x6c, 0xb6, 0xff, 0xae,
- 0x09, 0x4a, 0xa8, 0x39, 0x7f, 0xaa, 0xea, 0xaa, 0x08, 0x42, 0xa7, 0x41, 0xaa, 0xa6, 0x9e, 0xe8, 0x08, 0x4a, 0xa7, 0x41, 0xbb, 0xae, 0x18, 0xe8, 0x49, 0x5a, 0xc7, 0x41, 0x55, 0xff, 0x82, 0xae,
- 0x94, 0x8c, 0x34, 0x74, 0x55, 0xff, 0xff, 0xa0, 0xb5, 0x94, 0x33, 0x74, 0x5d, 0xe5, 0xd7, 0x80, 0x75, 0x84, 0x13, 0x6c, 0xde, 0xff, 0xfa, 0x08, 0xb5, 0x84, 0x13, 0x74, 0x57, 0x5e, 0x7f, 0x82,
- 0x94, 0x84, 0xf3, 0x73, 0xfd, 0x7f, 0xeb, 0x80, 0x74, 0x84, 0xf3, 0x73, 0x57, 0xfd, 0xff, 0x0a, 0x74, 0x84, 0xf3, 0x6b, 0xfd, 0xff, 0xaf, 0x28, 0x74, 0x84, 0xf3, 0x6b, 0xdf, 0xff, 0x88, 0xaa,
- 0x74, 0x7c, 0xf3, 0x73, 0x55, 0xff, 0xa0, 0xaa, 0x74, 0x84, 0xf3, 0x73, 0x5d, 0xee, 0xba, 0xa8, 0x54, 0x7c, 0xf3, 0x73, 0x75, 0xa2, 0x00, 0x02, 0xf5, 0x9c, 0xf3, 0x6b, 0x55, 0x55, 0xff, 0x2b,
- 0x15, 0xad, 0xf2, 0x6b, 0x55, 0x55, 0x5f, 0x8b, 0x74, 0x8c, 0xf2, 0x6b, 0x5d, 0x55, 0xd5, 0x82, 0xb4, 0x8c, 0xd2, 0x6b, 0x55, 0x55, 0xfd, 0x0b, 0xd5, 0x94, 0xb2, 0x6b, 0xdd, 0x55, 0xff, 0x88,
- 0xd5, 0x94, 0xb2, 0x6b, 0x55, 0x57, 0x7f, 0x7c, 0xb2, 0x73, 0xf3, 0x6b, 0xbf, 0x0b, 0xae, 0xdf, 0xd3, 0x73, 0xb2, 0x6b, 0x5b, 0xf2, 0xa8, 0x3e, 0xf3, 0x73, 0xb1, 0x6b, 0x5d, 0x5f, 0xeb, 0xab,
- 0xf2, 0x73, 0x91, 0x6b, 0xaa, 0xde, 0xae, 0x8e, 0xd2, 0x83, 0xb1, 0x6b, 0xbf, 0xbd, 0xb5, 0xbf, 0xf2, 0x73, 0x70, 0x6b, 0xf5, 0xba, 0xb8, 0xa8, 0xd2, 0x73, 0x0d, 0x63, 0x63, 0x0a, 0x02, 0x00,
- 0x34, 0x7c, 0xcb, 0x62, 0xbd, 0xaa, 0xaa, 0x2a, 0x33, 0x7c, 0x2e, 0x6b, 0x5e, 0xaf, 0xee, 0xa8, 0xf2, 0x73, 0x2e, 0x6b, 0xfd, 0xaa, 0x88, 0x00, 0xb2, 0x73, 0x2d, 0x6b, 0x6f, 0x2a, 0x02, 0x80,
- 0xb2, 0x73, 0x49, 0x52, 0xb7, 0x20, 0x00, 0x00, 0xb2, 0x73, 0xa9, 0x5a, 0xf7, 0xaa, 0x20, 0xa0, 0x91, 0x6b, 0xa6, 0x59, 0x57, 0x78, 0x00, 0x00, 0xb1, 0x73, 0xa4, 0x59, 0x55, 0x55, 0x58, 0x60,
- 0xe5, 0x69, 0x84, 0x59, 0x5f, 0xa0, 0xab, 0xaa, 0xe4, 0x61, 0x43, 0x49, 0x0a, 0x82, 0xe2, 0x70, 0xe4, 0x69, 0x43, 0x51, 0x20, 0xaa, 0x2d, 0x25, 0xe5, 0x69, 0xc4, 0x61, 0x8a, 0xef, 0x8d, 0x4a,
- 0x04, 0x6a, 0x83, 0x61, 0x8b, 0xef, 0x6a, 0xfd, 0x45, 0x72, 0x02, 0x51, 0x2a, 0x2a, 0xef, 0xd7, 0x2b, 0xac, 0x02, 0x49, 0x0a, 0x83, 0xbd, 0xf5, 0x6b, 0x83, 0xc7, 0x41, 0x74, 0xfa, 0xfb, 0xe7,
- 0xab, 0x5a, 0xa7, 0x39, 0x3f, 0xdd, 0xf7, 0xfa, 0xea, 0x62, 0xc8, 0x31, 0x0a, 0xff, 0x5d, 0x55, 0x8a, 0x5a, 0xc8, 0x31, 0x00, 0xbf, 0x75, 0x57, 0xeb, 0x62, 0xc8, 0x39, 0xba, 0xe3, 0x7d, 0x55,
- 0x8a, 0x52, 0xa8, 0x39, 0xa2, 0xba, 0xb5, 0xff, 0xca, 0x62, 0xe8, 0x39, 0xd7, 0x8a, 0x0b, 0x7d, 0xea, 0x62, 0xe9, 0x41, 0x5f, 0xfa, 0x2a, 0xbf, 0xaa, 0x5a, 0xa8, 0x41, 0xfb, 0x5f, 0xa0, 0x8b,
- 0xaa, 0x5a, 0xe8, 0x41, 0x7e, 0xd5, 0x2e, 0xaa, 0x0a, 0x63, 0x28, 0x4a, 0x55, 0x57, 0xfd, 0x2a, 0x0b, 0x6b, 0xa7, 0x39, 0xff, 0xeb, 0x7f, 0xa0, 0x6a, 0x52, 0xc8, 0x41, 0x79, 0xba, 0xfd, 0xa0,
- 0x49, 0x52, 0x08, 0x42, 0xf6, 0xf7, 0xe8, 0x78, 0x69, 0x52, 0xc8, 0x41, 0x7b, 0xd7, 0xab, 0x0e, 0x0c, 0x63, 0xc7, 0x41, 0x7f, 0xff, 0xf7, 0x2f, 0xcb, 0x6a, 0xe8, 0x49, 0xad, 0xdf, 0xfa, 0x2c,
- 0xad, 0x83, 0x08, 0x4a, 0x7d, 0x7d, 0x7d, 0xc8, 0x0b, 0x6b, 0xa7, 0x39, 0xff, 0xdf, 0xfb, 0x00, 0x2b, 0x6b, 0xe7, 0x41, 0x57, 0x57, 0xff, 0x80, 0xaa, 0x5a, 0x09, 0x4a, 0xff, 0xf5, 0x27, 0x30,
- 0xeb, 0x62, 0x28, 0x52, 0x5d, 0x7d, 0xaa, 0x88, 0x0b, 0x6b, 0x49, 0x5a, 0x69, 0x7d, 0xcf, 0xba, 0xeb, 0x62, 0x08, 0x4a, 0x5e, 0x79, 0x28, 0x28, 0xcb, 0x62, 0x29, 0x4a, 0xf9, 0xbd, 0x20, 0xa8,
- 0xea, 0x6a, 0x08, 0x4a, 0xb7, 0x7f, 0xea, 0xe2, 0x2c, 0x73, 0x08, 0x42, 0x9c, 0xff, 0xff, 0xf5, 0x49, 0x52, 0xc8, 0x41, 0x20, 0x00, 0xe8, 0x7e, 0xcb, 0x62, 0xc7, 0x39, 0xab, 0x2b, 0xbb, 0xd5,
- 0xeb, 0x62, 0xe8, 0x41, 0xfb, 0x2e, 0x57, 0xbd, 0x8a, 0x5a, 0xe8, 0x41, 0x57, 0xff, 0x7c, 0xf4, 0x29, 0x4a, 0x87, 0x41, 0xba, 0x22, 0x70, 0xa0, 0xa4, 0x69, 0xe8, 0x41, 0xb5, 0xad, 0x0b, 0x0b,
- 0x45, 0x72, 0x83, 0x61, 0x8f, 0xab, 0x57, 0xab, 0x24, 0x72, 0xa3, 0x61, 0xa8, 0x70, 0x6b, 0xeb, 0xc4, 0x61, 0x63, 0x51, 0xfc, 0x5c, 0x78, 0x9a, 0x04, 0x6a, 0x63, 0x59, 0xab, 0xad, 0x2b, 0xef,
- 0x05, 0x6a, 0xc4, 0x61, 0xab, 0x83, 0x7b, 0x6f, 0x05, 0x6a, 0xa4, 0x61, 0xaa, 0x8e, 0xb7, 0xff, 0x05, 0x6a, 0x63, 0x59, 0xfa, 0xa0, 0xf8, 0xd7, 0xe4, 0x61, 0x63, 0x59, 0xea, 0x8f, 0xb5, 0xeb,
- 0xc5, 0x61, 0x63, 0x51, 0xff, 0xfa, 0x27, 0xf7, 0x05, 0x62, 0xa4, 0x59, 0x0b, 0xdd, 0xbb, 0x29, 0x05, 0x6a, 0xc4, 0x61, 0xdc, 0x89, 0xcf, 0x7f, 0x04, 0x62, 0xa5, 0x59, 0xef, 0xaa, 0x22, 0x28,
- 0x05, 0x6a, 0xc4, 0x61, 0xa9, 0x9a, 0xba, 0xff, 0x25, 0x6a, 0xc4, 0x61, 0xbe, 0x2a, 0x2a, 0xed, 0x26, 0x6a, 0xc5, 0x61, 0xc8, 0x60, 0x78, 0xd6, 0x05, 0x62, 0xa4, 0x59, 0xde, 0xbe, 0x02, 0x8a,
- 0xc7, 0x7a, 0x05, 0x62, 0x6d, 0x0b, 0xab, 0x2b, 0x29, 0x8b, 0xe5, 0x61, 0xad, 0x0a, 0x0f, 0x0a, 0xea, 0x9b, 0x26, 0x62, 0xf7, 0xf5, 0x0a, 0xaa, 0xeb, 0x9b, 0xa7, 0x72, 0x3d, 0xa1, 0x60, 0xbe,
- 0x2c, 0xa4, 0x28, 0x83, 0xdf, 0xe3, 0xa9, 0xbf, 0x6d, 0xb4, 0xaa, 0x93, 0xf5, 0xad, 0xad, 0x8b, 0x0f, 0xcd, 0x69, 0x93, 0x2f, 0xab, 0x42, 0x0a, 0x30, 0xd5, 0xa6, 0x49, 0x42, 0x72, 0x50, 0x5c,
- 0x29, 0x4a, 0xa7, 0x41, 0x2b, 0x8a, 0xed, 0xff, 0x29, 0x4a, 0xa6, 0x39, 0xe8, 0xa0, 0xc9, 0x2f, 0x29, 0x4a, 0xa7, 0x41, 0xe2, 0xea, 0xab, 0xb7, 0x29, 0x52, 0xe8, 0x41, 0xda, 0x7f, 0xfb, 0xcb,
- 0x49, 0x4a, 0xe8, 0x41, 0xbd, 0x52, 0xaf, 0xe2, 0x69, 0x4a, 0xc8, 0x41, 0xfe, 0x2b, 0xbf, 0xf7, 0x69, 0x52, 0xc8, 0x41, 0xee, 0x2a, 0xff, 0xdf, 0x49, 0x4a, 0xe8, 0x41, 0xbf, 0xbe, 0x2b, 0xdf,
- 0x09, 0x4a, 0xe8, 0x39, 0x00, 0xf8, 0xaf, 0x02, 0x29, 0x4a, 0xc7, 0x41, 0xb5, 0xe0, 0xb3, 0x9b, 0x49, 0x4a, 0xc8, 0x41, 0xa7, 0x3f, 0xed, 0x7e, 0x29, 0x4a, 0xa7, 0x39, 0xea, 0xe0, 0x6e, 0xeb,
- 0x29, 0x4a, 0xa7, 0x39, 0x0b, 0x77, 0xaf, 0x9d, 0x29, 0x4a, 0x88, 0x39, 0xaa, 0xa9, 0x2b, 0xac, 0x29, 0x52, 0xc8, 0x41, 0xae, 0xfe, 0x68, 0xbe, 0x09, 0x4a, 0xa7, 0x39, 0x28, 0xee, 0xbb, 0xaf,
- 0x09, 0x42, 0xc7, 0x39, 0x68, 0x1f, 0xa8, 0xcf, 0x28, 0x42, 0xa7, 0x39, 0x7a, 0xfe, 0xa0, 0x35, 0x28, 0x4a, 0xa7, 0x39, 0xff, 0xfb, 0x87, 0xee, 0x08, 0x4a, 0xa7, 0x39, 0xde, 0x9b, 0xa2, 0xee,
- 0x08, 0x42, 0xc7, 0x39, 0x0c, 0x7e, 0x6b, 0xbd, 0x08, 0x4a, 0xc7, 0x39, 0x2f, 0x6a, 0x65, 0x2a, 0x08, 0x4a, 0xa7, 0x39, 0xeb, 0xfb, 0xeb, 0xaa, 0xe8, 0x41, 0xa7, 0x39, 0x2a, 0x9d, 0xb7, 0x78,
- 0xe8, 0x49, 0x87, 0x31, 0x02, 0x96, 0xff, 0xaa, 0xe8, 0x41, 0xa7, 0x39, 0xbb, 0xcf, 0xda, 0x58, 0x08, 0x4a, 0xa7, 0x31, 0xaa, 0xfb, 0xca, 0xf7, 0xe8, 0x41, 0xa7, 0x39, 0x8a, 0xfa, 0x02, 0xa0,
- 0x08, 0x4a, 0xc7, 0x39, 0xbf, 0xf5, 0xda, 0xfa, 0x08, 0x42, 0x87, 0x39, 0x00, 0xbd, 0xad, 0x8a, 0xe9, 0x41, 0xc7, 0x39, 0x0c, 0xc0, 0x2a, 0x62, 0x69, 0x5a, 0xe8, 0x39, 0xb9, 0x2d, 0xbd, 0xff,
- 0xd7, 0xb5, 0x54, 0x84, 0x55, 0xff, 0x0a, 0xa8, 0x58, 0xc6, 0x74, 0x8c, 0x57, 0xfd, 0xe0, 0xeb, 0x5a, 0xc6, 0x74, 0x84, 0x55, 0xff, 0xaf, 0x3e, 0x79, 0xce, 0x94, 0x84, 0x55, 0xf7, 0xfe, 0x08,
- 0xba, 0xce, 0x94, 0x84, 0x55, 0x57, 0xfd, 0x00, 0xba, 0xce, 0x54, 0x84, 0x55, 0xff, 0xff, 0x88, 0xba, 0xce, 0x74, 0x84, 0x55, 0xff, 0xff, 0x00, 0x38, 0xc6, 0x54, 0x7c, 0x55, 0xff, 0xff, 0xa8,
- 0x36, 0xa5, 0x53, 0x7c, 0x55, 0xff, 0xaa, 0x08, 0xb7, 0xad, 0x54, 0x7c, 0x55, 0xff, 0x2b, 0x08, 0x39, 0xbe, 0x54, 0x84, 0xd5, 0x55, 0xbe, 0x8a, 0xd8, 0xb5, 0x54, 0x84, 0x55, 0x55, 0xaa, 0x08,
- 0x18, 0xb6, 0x14, 0x84, 0x55, 0xff, 0xaa, 0xa0, 0x76, 0xa5, 0x14, 0x7c, 0x7d, 0xff, 0xaa, 0xa0, 0xf6, 0x94, 0x54, 0x7c, 0xdf, 0xeb, 0xa8, 0x2a, 0x37, 0x9d, 0x33, 0x84, 0xfe, 0xf9, 0xcb, 0xaa,
- 0x36, 0x9d, 0x33, 0x84, 0x55, 0xea, 0x3f, 0x0a, 0x57, 0xa5, 0xd2, 0x6b, 0x57, 0xfe, 0xa8, 0x82, 0x97, 0xa5, 0xd3, 0x6b, 0x55, 0xff, 0xaa, 0x0a, 0x36, 0x9d, 0xd3, 0x6b, 0x55, 0xff, 0xa2, 0x00,
- 0x16, 0x95, 0xb2, 0x6b, 0x5d, 0xae, 0x80, 0x00, 0x16, 0x95, 0xb2, 0x6b, 0x55, 0xff, 0x02, 0x00, 0x98, 0x9d, 0xb2, 0x6b, 0x55, 0xff, 0x2a, 0xaa, 0xf8, 0xad, 0xd2, 0x6b, 0x55, 0xff, 0xa0, 0xaa,
- 0xd8, 0xad, 0xd2, 0x6b, 0x55, 0x7f, 0xaa, 0x00, 0xf8, 0xb5, 0xf2, 0x73, 0x55, 0xf5, 0x00, 0xaa, 0xb8, 0xad, 0x12, 0x7c, 0x55, 0x55, 0x00, 0xfe, 0xb8, 0xad, 0xb2, 0x6b, 0x57, 0xff, 0x0a, 0x00,
- 0x19, 0xb6, 0x92, 0x6b, 0x55, 0xff, 0x08, 0xaa, 0xd7, 0xb5, 0x71, 0x6b, 0x57, 0x7f, 0x0a, 0xaa, 0x93, 0x84, 0xc4, 0x61, 0xaa, 0xe2, 0x54, 0x57, 0x8f, 0x6b, 0x84, 0x61, 0xc0, 0x5e, 0x55, 0x55,
- 0xa4, 0x69, 0x63, 0x51, 0xde, 0xfa, 0xfe, 0x98, 0xa3, 0x61, 0xc2, 0x40, 0xd8, 0xe2, 0x2a, 0x2a, 0x04, 0x72, 0x03, 0x51, 0xb5, 0x2d, 0xaa, 0xac, 0x04, 0x6a, 0xa3, 0x61, 0x77, 0xaf, 0xb5, 0x05,
- 0x04, 0x6a, 0x83, 0x61, 0xdd, 0x78, 0xe8, 0xea, 0xe4, 0x69, 0x63, 0x61, 0x5f, 0xae, 0x29, 0xaa, 0x05, 0x6a, 0x83, 0x61, 0xe5, 0xfa, 0x2a, 0xba, 0x8e, 0x8b, 0x83, 0x61, 0xb5, 0x3f, 0x55, 0x75,
- 0x57, 0xa5, 0x09, 0x4a, 0x57, 0x60, 0x02, 0x0b, 0x57, 0x9d, 0x87, 0x31, 0x55, 0x57, 0x7e, 0x00, 0x4e, 0x63, 0xa8, 0x39, 0xd5, 0x55, 0x5d, 0xfc, 0x29, 0x42, 0xc8, 0x39, 0x55, 0x2b, 0x7b, 0xaa,
- 0x29, 0x42, 0xa8, 0x39, 0x8e, 0xbf, 0xef, 0x72, 0x2a, 0x4a, 0xc7, 0x39, 0xfd, 0x8e, 0x97, 0xaf, 0x2a, 0x4a, 0xa7, 0x39, 0x3a, 0xe0, 0xd8, 0xf0, 0x49, 0x52, 0x88, 0x39, 0x02, 0xe5, 0xeb, 0xdf,
- 0x49, 0x4a, 0xa8, 0x39, 0xa0, 0x2b, 0xab, 0xf6, 0x8a, 0x5a, 0x09, 0x4a, 0x22, 0x3f, 0x85, 0xd7, 0x8a, 0x5a, 0x08, 0x4a, 0x00, 0xb9, 0xf7, 0xff, 0xca, 0x5a, 0x29, 0x4a, 0x33, 0xa5, 0x7f, 0xe2,
- 0x4d, 0x6b, 0x49, 0x52, 0x68, 0xff, 0xfd, 0xd5, 0x0c, 0x6b, 0x08, 0x42, 0xfa, 0x2e, 0xf2, 0xdf, 0xcb, 0x62, 0xe8, 0x39, 0xfe, 0xc8, 0xb7, 0xaf, 0x0b, 0x6b, 0xa7, 0x41, 0x0d, 0xaa, 0xa8, 0xfa,
- 0xeb, 0x6a, 0xe8, 0x41, 0xa2, 0x8a, 0x7b, 0xef, 0xeb, 0x62, 0xc8, 0x41, 0x00, 0x82, 0xfd, 0xff, 0x2b, 0x6b, 0xe8, 0x41, 0xa8, 0xaa, 0xb5, 0x7e, 0xca, 0x62, 0x69, 0x52, 0xeb, 0xfe, 0xd6, 0x3f,
- 0xca, 0x62, 0x29, 0x52, 0x00, 0xaa, 0x62, 0xf4, 0xcb, 0x62, 0x08, 0x42, 0xea, 0xab, 0x5b, 0x7c, 0x0b, 0x6b, 0x08, 0x42, 0x8b, 0xeb, 0xfd, 0x57, 0xeb, 0x62, 0x29, 0x4a, 0xa2, 0xff, 0xfd, 0x55,
- 0xca, 0x62, 0xe7, 0x41, 0x00, 0x5f, 0xfb, 0xba, 0x2c, 0x6b, 0xe8, 0x41, 0xe2, 0xb5, 0xab, 0xfe, 0xcb, 0x62, 0xe8, 0x49, 0x4f, 0xab, 0xbb, 0xbe, 0xeb, 0x62, 0x28, 0x4a, 0x65, 0xae, 0x87, 0xbe,
- 0x0b, 0x6b, 0x08, 0x4a, 0x35, 0x77, 0xfa, 0xba, 0xca, 0x5a, 0xa7, 0x41, 0xbe, 0xdf, 0x88, 0xa8, 0xca, 0x5a, 0xc7, 0x41, 0x7e, 0x55, 0xf2, 0x20, 0xa3, 0x69, 0x27, 0x5a, 0x8a, 0x09, 0x39, 0xad,
- 0x04, 0x72, 0x82, 0x69, 0x2a, 0xef, 0xdf, 0x7a, 0xe5, 0x71, 0xa3, 0x61, 0x88, 0x4a, 0x7f, 0xff, 0xc5, 0x61, 0x44, 0x51, 0x9c, 0x28, 0xba, 0x3c, 0xe5, 0x61, 0x84, 0x59, 0xb5, 0x2a, 0x0b, 0x3d,
- 0x05, 0x6a, 0xc4, 0x61, 0x32, 0xdd, 0xa6, 0x79, 0xe5, 0x69, 0xa4, 0x61, 0xee, 0xfa, 0xe2, 0x02, 0x05, 0x6a, 0x84, 0x59, 0xfa, 0xfa, 0x6a, 0x78, 0x05, 0x6a, 0x84, 0x61, 0xff, 0x8b, 0xa2, 0xf5,
- 0xc4, 0x61, 0x63, 0x51, 0xbf, 0xb6, 0x0a, 0xaa, 0x05, 0x6a, 0xa4, 0x59, 0xa0, 0x8a, 0x2e, 0x27, 0x25, 0x6a, 0xc4, 0x61, 0xff, 0x57, 0x8b, 0xab, 0xc4, 0x69, 0x06, 0x62, 0xfc, 0xf6, 0x56, 0xdb,
- 0x25, 0x6a, 0xc6, 0x61, 0xd7, 0xaf, 0xaa, 0xe2, 0x26, 0x6a, 0xe5, 0x61, 0xd7, 0x37, 0xf6, 0xcf, 0x25, 0x6a, 0xe5, 0x61, 0x99, 0x6e, 0x5d, 0x6f, 0x46, 0x6a, 0xe5, 0x61, 0xff, 0xed, 0xbf, 0x3f,
- 0x87, 0x72, 0xe5, 0x61, 0x2a, 0x2f, 0xf7, 0xff, 0x48, 0x8b, 0x25, 0x72, 0xaf, 0x0f, 0xf5, 0x55, 0x89, 0x9b, 0x25, 0x72, 0x0a, 0x0a, 0x5f, 0x55, 0x89, 0x9b, 0x26, 0x72, 0x00, 0xaa, 0x55, 0xf5,
- 0xeb, 0xa3, 0x65, 0x72, 0xea, 0x0a, 0x09, 0xd5, 0xce, 0xc4, 0xe3, 0x69, 0x02, 0xa2, 0xba, 0x7f, 0x8d, 0xbc, 0xe3, 0x69, 0x00, 0x08, 0xae, 0x8d, 0xab, 0x9b, 0xc7, 0x49, 0x7c, 0xfc, 0xd7, 0x57,
- 0x69, 0x52, 0xc8, 0x41, 0xd7, 0x9f, 0x82, 0xff, 0x69, 0x52, 0xc7, 0x49, 0xf5, 0xea, 0x2e, 0x0f, 0x49, 0x52, 0xe8, 0x49, 0x5f, 0x2d, 0xde, 0xac, 0x0b, 0x6b, 0xc7, 0x41, 0x7d, 0x4f, 0xef, 0xef,
- 0x8a, 0x5a, 0xa8, 0x41, 0x7f, 0xbf, 0x7b, 0xe2, 0x09, 0x4a, 0xe8, 0x41, 0x7f, 0x05, 0xcd, 0x0b, 0x09, 0x4a, 0xc8, 0x41, 0x31, 0x52, 0x82, 0xec, 0x29, 0x52, 0xe8, 0x41, 0xe9, 0xfa, 0x6a, 0xd0,
- 0x29, 0x52, 0xc8, 0x41, 0x7f, 0xea, 0xf8, 0xfc, 0x29, 0x4a, 0xc8, 0x41, 0x6e, 0x7a, 0x2e, 0xac, 0x6a, 0x52, 0xa7, 0x39, 0xf7, 0x6b, 0xf8, 0xea, 0x29, 0x4a, 0xc7, 0x41, 0x79, 0x75, 0x2a, 0xaf,
- 0x29, 0x4a, 0xa7, 0x39, 0x95, 0xbd, 0x80, 0xaa, 0x8a, 0x5a, 0xa7, 0x39, 0xd7, 0xff, 0xfe, 0x3e, 0x49, 0x52, 0xc8, 0x41, 0xd5, 0x5f, 0x7d, 0x80, 0xe9, 0x51, 0xc7, 0x39, 0xf7, 0xe2, 0xfb, 0xfb,
- 0x69, 0x5a, 0xc8, 0x41, 0xf7, 0xf7, 0x5f, 0xbc, 0x09, 0x4a, 0xa7, 0x41, 0xa8, 0x78, 0x80, 0x23, 0x09, 0x4a, 0x87, 0x39, 0xdb, 0xae, 0xaa, 0x0a, 0x28, 0x4a, 0xa7, 0x41, 0xaf, 0xff, 0x53, 0x78,
- 0x09, 0x4a, 0xa7, 0x39, 0x2e, 0x3a, 0xb7, 0xd7, 0x09, 0x4a, 0xa7, 0x41, 0xca, 0xe8, 0x07, 0xef, 0x09, 0x4a, 0xc7, 0x39, 0x1f, 0xde, 0xea, 0xff, 0x09, 0x4a, 0xc7, 0x39, 0x8b, 0xe9, 0x80, 0x1f,
- 0x08, 0x4a, 0xa7, 0x41, 0xfb, 0xfe, 0xcf, 0x63, 0x29, 0x4a, 0xa8, 0x41, 0x99, 0x7d, 0x3a, 0xa6, 0x09, 0x52, 0xc7, 0x41, 0x57, 0x57, 0x6f, 0xfc, 0xe8, 0x49, 0x86, 0x31, 0xa6, 0xab, 0x8a, 0x08,
- 0xe8, 0x49, 0xa7, 0x39, 0x2a, 0x6b, 0xfa, 0xa0, 0x08, 0x4a, 0xc7, 0x39, 0xed, 0xdf, 0xbf, 0xbe, 0x08, 0x42, 0x87, 0x39, 0xa2, 0x92, 0xa8, 0x00, 0x29, 0x52, 0xe7, 0x41, 0x0b, 0x3f, 0x5b, 0xfa,
- 0x59, 0xce, 0xb5, 0x8c, 0xaa, 0xaa, 0x8a, 0x55, 0x99, 0xd6, 0xd5, 0x8c, 0x2a, 0xbf, 0xff, 0x55, 0x79, 0xce, 0xb5, 0x8c, 0xf8, 0x2a, 0x5f, 0x5d, 0x9a, 0xce, 0x95, 0x84, 0xaa, 0x00, 0x55, 0x55,
- 0x78, 0xce, 0xd6, 0x8c, 0xea, 0xb8, 0x55, 0x55, 0x18, 0xbe, 0xd5, 0x8c, 0xfb, 0x80, 0x55, 0x55, 0xb7, 0xb5, 0xd5, 0x8c, 0x2e, 0x7e, 0xff, 0xd5, 0x59, 0xce, 0xd6, 0x8c, 0xf8, 0x0b, 0xd7, 0x55,
- 0x39, 0xce, 0xd6, 0x8c, 0xfd, 0xf8, 0x5d, 0x55, 0xf7, 0xbd, 0xd6, 0x8c, 0xaf, 0x8f, 0xff, 0x55, 0x18, 0xc6, 0xb5, 0x8c, 0xea, 0x28, 0xff, 0xdd, 0x38, 0xc6, 0xd5, 0x8c, 0x7f, 0xf8, 0x55, 0xd6,
- 0x35, 0xa5, 0xd6, 0x8c, 0x8a, 0xdf, 0x55, 0xe7, 0xf5, 0x9c, 0xd6, 0x84, 0x02, 0x5a, 0xd5, 0xd7, 0x19, 0xbe, 0x95, 0x84, 0xff, 0xd5, 0xf5, 0xfc, 0xd8, 0xb5, 0xd6, 0x8c, 0x0a, 0xf5, 0xfd, 0xfd,
- 0x39, 0xbe, 0x16, 0x95, 0xff, 0xf5, 0xfd, 0xcd, 0xb7, 0xb5, 0xd5, 0x8c, 0xaa, 0x2a, 0x78, 0x5a, 0xfa, 0xd6, 0x94, 0x8c, 0xfe, 0x57, 0x80, 0x5d, 0x99, 0xc6, 0xb6, 0x84, 0x57, 0x55, 0x78, 0xff,
- 0xd8, 0xad, 0xd6, 0x8c, 0x75, 0x57, 0x83, 0xfe, 0x98, 0x9d, 0xd6, 0x8c, 0xff, 0x75, 0xfe, 0xd3, 0x37, 0x95, 0xf6, 0x8c, 0x76, 0xb5, 0xbe, 0xab, 0x37, 0x95, 0xd6, 0x8c, 0x35, 0xaa, 0xab, 0xaa,
- 0x97, 0xa5, 0xf6, 0x8c, 0x70, 0xf5, 0xff, 0xd7, 0x37, 0x95, 0x16, 0x8d, 0x22, 0x09, 0xd5, 0x2f, 0x18, 0xbe, 0x16, 0x95, 0x0b, 0xf9, 0xbd, 0x55, 0xf8, 0xbd, 0x16, 0x95, 0xea, 0xff, 0xfc, 0x5f,
- 0x57, 0xa5, 0x16, 0x95, 0xa2, 0xec, 0x5f, 0xe7, 0x98, 0xd6, 0x15, 0x95, 0xfd, 0xd5, 0xd5, 0x29, 0x46, 0x62, 0xa4, 0x59, 0xea, 0x78, 0x7c, 0xfc, 0xc5, 0x61, 0xa4, 0x59, 0x2c, 0x83, 0x96, 0x08,
- 0xc4, 0x69, 0xa4, 0x59, 0xea, 0xaf, 0xef, 0xfe, 0xa4, 0x61, 0x63, 0x59, 0xb7, 0x02, 0x00, 0xfa, 0xa4, 0x61, 0x63, 0x59, 0xa4, 0x02, 0x8a, 0x7f, 0x04, 0x6a, 0xa3, 0x59, 0x8d, 0xab, 0xf5, 0xfd,
- 0x25, 0x6a, 0xc4, 0x61, 0xeb, 0xdb, 0xaa, 0x78, 0x05, 0x6a, 0xa4, 0x61, 0xd6, 0xe7, 0xff, 0xaa, 0x05, 0x6a, 0xa4, 0x61, 0x82, 0xbe, 0x6f, 0x06, 0x05, 0x6a, 0xc4, 0x61, 0x2f, 0xa7, 0xd9, 0x20,
- 0x9a, 0xd6, 0xa4, 0x61, 0x39, 0x35, 0xf5, 0xd5, 0xba, 0xce, 0xd3, 0x9c, 0x60, 0x00, 0xa8, 0xa1, 0x9a, 0xc6, 0xeb, 0x39, 0x7e, 0x2a, 0x00, 0x00, 0xdb, 0xce, 0x09, 0x42, 0x55, 0x55, 0xc0, 0x00,
- 0x51, 0x8c, 0xe8, 0x39, 0x55, 0x55, 0x55, 0xdc, 0x4a, 0x4a, 0xe8, 0x41, 0xff, 0x7e, 0x9a, 0x70, 0x29, 0x4a, 0xc8, 0x41, 0xfe, 0xfd, 0xee, 0xbb, 0x49, 0x52, 0xc8, 0x39, 0xff, 0x7b, 0xea, 0x22,
- 0x4a, 0x52, 0xa7, 0x31, 0x7f, 0xe9, 0xaf, 0xa8, 0x29, 0x4a, 0xc8, 0x39, 0x0f, 0xf5, 0xb8, 0x80, 0x49, 0x52, 0xc8, 0x39, 0xab, 0xdf, 0x8d, 0x8b, 0x8b, 0x5a, 0x08, 0x42, 0x9d, 0xfb, 0xb5, 0xa3,
- 0x8a, 0x5a, 0xc8, 0x41, 0x0e, 0x3e, 0xdf, 0x0b, 0xca, 0x5a, 0xe8, 0x41, 0xff, 0xf0, 0xdf, 0xe7, 0xaa, 0x5a, 0xe8, 0x41, 0x2f, 0xba, 0x7f, 0x75, 0x8a, 0x5a, 0xc8, 0x39, 0x2a, 0xbe, 0xff, 0xb7,
- 0xaa, 0x62, 0x08, 0x4a, 0xaf, 0x87, 0x63, 0xb9, 0x69, 0x52, 0xe8, 0x41, 0xf8, 0xf5, 0xa2, 0x78, 0x6a, 0x52, 0xe8, 0x41, 0xfd, 0x25, 0x3f, 0xf5, 0xaa, 0x5a, 0xc8, 0x49, 0xef, 0x8a, 0x78, 0xd7,
- 0xeb, 0x62, 0xe9, 0x49, 0x2a, 0xaa, 0xfd, 0x57, 0x0b, 0x6b, 0xe8, 0x41, 0x5e, 0xca, 0xff, 0x6f, 0x69, 0x52, 0xc8, 0x41, 0xaa, 0xfc, 0xfb, 0xd5, 0x8a, 0x52, 0xe8, 0x41, 0xf5, 0xaf, 0xf5, 0x3d,
- 0xab, 0x5a, 0xe9, 0x41, 0xd7, 0xaa, 0xfd, 0xf3, 0xea, 0x62, 0x09, 0x4a, 0xdd, 0xef, 0x2b, 0xff, 0xea, 0x6a, 0x29, 0x52, 0xdd, 0xf7, 0xe8, 0xff, 0xeb, 0x6a, 0x29, 0x4a, 0x5d, 0x2f, 0x97, 0xfd,
- 0x8a, 0x5a, 0xe8, 0x41, 0x28, 0x70, 0x5f, 0xd7, 0x8a, 0x5a, 0xc8, 0x39, 0xa0, 0xdf, 0xff, 0x7f, 0x89, 0x5a, 0xa6, 0x31, 0xa0, 0x79, 0xaf, 0x5f, 0xe4, 0x69, 0x07, 0x4a, 0x0b, 0xab, 0x0b, 0x09,
- 0x25, 0x72, 0xc4, 0x61, 0x7c, 0xff, 0x7b, 0xdf, 0x25, 0x6a, 0xc4, 0x61, 0x7f, 0xdf, 0xfb, 0xa2, 0xe4, 0x69, 0x84, 0x59, 0xee, 0xae, 0x22, 0x22, 0x05, 0x6a, 0xa4, 0x59, 0xfd, 0xfd, 0xba, 0x0d,
- 0x05, 0x6a, 0xc4, 0x61, 0xac, 0xb9, 0xaa, 0xa8, 0xe5, 0x69, 0x04, 0x62, 0x6e, 0x97, 0x3a, 0x00, 0x05, 0x6a, 0x84, 0x59, 0x7e, 0x7a, 0xc2, 0xba, 0xe5, 0x61, 0x43, 0x51, 0xdf, 0xab, 0xa2, 0x00,
- 0xe5, 0x61, 0xa4, 0x59, 0x9f, 0xbf, 0xfa, 0x00, 0x05, 0x6a, 0xa4, 0x59, 0xad, 0xaa, 0xa2, 0x2b, 0x05, 0x72, 0xc4, 0x69, 0xaf, 0xf6, 0x7b, 0xf0, 0x25, 0x6a, 0xe4, 0x61, 0xab, 0xea, 0xfb, 0x2f,
- 0x45, 0x72, 0x05, 0x6a, 0xd5, 0x55, 0x7e, 0xdb, 0x25, 0x72, 0xc4, 0x61, 0xbf, 0xb7, 0xab, 0xea, 0x44, 0x7a, 0xe5, 0x61, 0xd7, 0xef, 0xca, 0xea, 0x44, 0x72, 0xc3, 0x69, 0xfe, 0x7a, 0xbc, 0xde,
- 0x05, 0x72, 0xa3, 0x61, 0x0a, 0xbf, 0xaa, 0xda, 0x45, 0x72, 0xa4, 0x69, 0x02, 0x2b, 0xb7, 0xaf, 0x45, 0x72, 0xc4, 0x69, 0xa2, 0xaf, 0xfb, 0x6a, 0xa7, 0x7a, 0xe5, 0x69, 0xab, 0xab, 0x7d, 0x71,
- 0xe8, 0x82, 0x02, 0x49, 0xea, 0x5e, 0x2f, 0x02, 0x0b, 0xa4, 0x63, 0x59, 0xf5, 0xbd, 0x32, 0x2a, 0xae, 0xb4, 0x66, 0x72, 0xa9, 0xab, 0xa8, 0x0a, 0xaa, 0x9b, 0xc7, 0x41, 0x7b, 0x5c, 0x57, 0x57,
- 0x09, 0x4a, 0xc8, 0x39, 0xaa, 0x08, 0xfa, 0x6c, 0x29, 0x4a, 0x87, 0x39, 0xc2, 0xaa, 0xaf, 0x25, 0x29, 0x4a, 0xa7, 0x31, 0xea, 0xa8, 0xa5, 0x8f, 0x49, 0x4a, 0xa8, 0x39, 0x22, 0x2b, 0xab, 0xb7,
- 0xcb, 0x62, 0xc8, 0x41, 0xa2, 0x8a, 0xdf, 0x57, 0x8a, 0x5a, 0xc7, 0x41, 0xeb, 0xe8, 0xde, 0xaf, 0x49, 0x52, 0xe8, 0x41, 0x9f, 0x95, 0xba, 0x20, 0x8a, 0x5a, 0x09, 0x4a, 0xf5, 0x77, 0xd5, 0xf2,
- 0x8a, 0x5a, 0xe8, 0x49, 0x33, 0xcf, 0x7d, 0x6e, 0xca, 0x62, 0xe8, 0x49, 0xda, 0xbf, 0x37, 0xa9, 0x89, 0x5a, 0xe8, 0x41, 0x5f, 0x5a, 0xf8, 0x6a, 0x89, 0x52, 0xc8, 0x41, 0xdf, 0xdb, 0x22, 0xdf,
- 0x6a, 0x5a, 0xe7, 0x41, 0x6b, 0xda, 0xbc, 0xfc, 0xaa, 0x62, 0xe8, 0x49, 0x8d, 0xeb, 0xbb, 0xf7, 0x69, 0x5a, 0xe8, 0x41, 0x70, 0xee, 0x62, 0x55, 0x6a, 0x52, 0xe8, 0x41, 0xe7, 0x3f, 0xdf, 0xbb,
- 0xcb, 0x6a, 0xa7, 0x41, 0xfe, 0xfb, 0xf5, 0xc3, 0x09, 0x52, 0xe8, 0x41, 0x55, 0x55, 0x77, 0xe8, 0xaa, 0x5a, 0xc8, 0x41, 0xfd, 0xbf, 0xbd, 0x2b, 0x69, 0x52, 0xe8, 0x49, 0x55, 0xf8, 0xe8, 0xf8,
- 0x69, 0x52, 0xc8, 0x41, 0xd7, 0xff, 0x2b, 0x0f, 0xec, 0x62, 0xc7, 0x41, 0x55, 0x77, 0x3f, 0xff, 0x8b, 0x5a, 0xa7, 0x39, 0xff, 0x7f, 0xa8, 0xaa, 0x6a, 0x52, 0xc8, 0x49, 0x7f, 0xfd, 0x88, 0x7a,
- 0x8a, 0x5a, 0xe8, 0x41, 0x5d, 0xe3, 0xfa, 0x89, 0x8a, 0x5a, 0xc8, 0x39, 0xdd, 0xfe, 0xa0, 0xba, 0xaa, 0x62, 0xe8, 0x41, 0x57, 0x55, 0xe2, 0xff, 0x8a, 0x5a, 0xc8, 0x41, 0x55, 0xff, 0x02, 0xfa,
- 0xaa, 0x5a, 0xc8, 0x41, 0x5d, 0xf4, 0x8a, 0xae, 0xaa, 0x5a, 0xc7, 0x41, 0x55, 0xff, 0x00, 0x8a, 0x8a, 0x52, 0xc8, 0x41, 0xdd, 0xf5, 0x88, 0x08, 0xaa, 0x5a, 0xe8, 0x41, 0xfd, 0xfd, 0x0a, 0x00,
- 0x59, 0xbe, 0xb6, 0x84, 0x55, 0x55, 0x70, 0xc0, 0xd6, 0x8c, 0xf7, 0x84, 0xe5, 0xa8, 0x02, 0x8b, 0x17, 0x8d, 0xd6, 0x84, 0xff, 0xef, 0xb9, 0x2b, 0x17, 0x8d, 0xd6, 0x84, 0x9f, 0xfe, 0xbe, 0xab,
- 0x37, 0x95, 0xd6, 0x8c, 0xe7, 0x3d, 0xaf, 0x76, 0x3c, 0xdf, 0x75, 0x7c, 0x57, 0xff, 0x57, 0x03, 0x99, 0xc6, 0xb6, 0x84, 0xf5, 0x75, 0xbd, 0x80, 0xba, 0xce, 0xb6, 0x8c, 0x55, 0x57, 0x2c, 0x2a,
- 0xda, 0xd6, 0xd6, 0x8c, 0x55, 0xfd, 0x82, 0x00, 0xfa, 0xd6, 0xf6, 0x8c, 0xd5, 0x5f, 0xf9, 0xe0, 0x39, 0xbe, 0xd6, 0x8c, 0x75, 0x37, 0xff, 0xfe, 0x5a, 0xbe, 0xb5, 0x84, 0x7d, 0x23, 0x9e, 0x62,
- 0xf9, 0xb5, 0xf6, 0x8c, 0x0a, 0xca, 0x26, 0x9f, 0x7a, 0xc6, 0xd5, 0x8c, 0x50, 0x0a, 0xaa, 0x2a, 0xdb, 0xd6, 0xb5, 0x84, 0x55, 0x62, 0x5a, 0xa0, 0x77, 0x9d, 0xd6, 0x8c, 0xfd, 0xbf, 0xf2, 0xaa,
- 0x37, 0x9d, 0xf6, 0x84, 0xf8, 0xf9, 0xff, 0xff, 0x77, 0x9d, 0xd6, 0x8c, 0x50, 0x5a, 0xdf, 0x5f, 0x3a, 0xb6, 0xf6, 0x8c, 0x71, 0x5d, 0xdd, 0x55, 0x59, 0xbe, 0xf6, 0x8c, 0xdd, 0x95, 0x35, 0x89,
- 0x7a, 0xc6, 0x16, 0x95, 0x55, 0x26, 0x23, 0x0a, 0x59, 0xc6, 0x39, 0xb6, 0xc1, 0x2a, 0xaa, 0xef, 0x9a, 0xce, 0xf6, 0x8c, 0x57, 0x50, 0x82, 0xaa, 0x39, 0xbe, 0x17, 0x8d, 0x55, 0x5f, 0xeb, 0xf0,
- 0xdb, 0xce, 0x16, 0x95, 0x4d, 0x7b, 0x55, 0x55, 0x7a, 0xc6, 0x17, 0x95, 0x55, 0xd5, 0xf3, 0xbf, 0x9a, 0xc6, 0xf6, 0x94, 0xd5, 0xf5, 0xe0, 0xfe, 0x5a, 0xbe, 0xf6, 0x8c, 0xe4, 0x7b, 0xfa, 0xea,
- 0x7a, 0xc6, 0x37, 0x95, 0xd5, 0x35, 0xf7, 0xab, 0xfa, 0xde, 0xf7, 0xb5, 0xb3, 0x8b, 0x9f, 0x55, 0x49, 0x73, 0xc5, 0x59, 0x57, 0x5f, 0x7f, 0x74, 0xe5, 0x61, 0xa4, 0x59, 0x56, 0x3e, 0xe7, 0x7a,
- 0xe5, 0x61, 0xa4, 0x59, 0xf6, 0xf5, 0xbd, 0xf9, 0xe5, 0x61, 0x84, 0x59, 0x77, 0x00, 0x42, 0xaa, 0xa5, 0x61, 0x63, 0x51, 0xe7, 0x9f, 0x1f, 0x3f, 0xe5, 0x61, 0x84, 0x59, 0xbd, 0x9e, 0x16, 0xa2,
- 0x05, 0x6a, 0xc4, 0x59, 0xaf, 0xbf, 0xdb, 0xba, 0x04, 0x6a, 0xc5, 0x61, 0xaf, 0xf5, 0xfb, 0xf7, 0x05, 0x6a, 0xc4, 0x61, 0xf9, 0x2a, 0x2a, 0xf7, 0x05, 0x6a, 0xe4, 0x61, 0xec, 0x24, 0xa8, 0xef,
- 0x67, 0x7a, 0x05, 0x6a, 0x15, 0x15, 0xd5, 0xd5, 0x9a, 0xd6, 0xe5, 0x71, 0x0b, 0x2d, 0xbf, 0xf5, 0x9a, 0xce, 0xf4, 0xac, 0x00, 0x00, 0x00, 0x21, 0x7a, 0xce, 0x58, 0xc6, 0x4a, 0xa2, 0x8a, 0xed,
- 0xdb, 0xd6, 0x6a, 0x4a, 0x60, 0x00, 0x00, 0x00, 0xfb, 0xd6, 0x29, 0x42, 0x55, 0x55, 0x5c, 0xc0, 0x93, 0x8c, 0x08, 0x4a, 0x5f, 0xf7, 0xff, 0xa2, 0xec, 0x62, 0xe8, 0x39, 0xfd, 0xde, 0xa2, 0xf8,
- 0x4d, 0x6b, 0xc8, 0x39, 0x5f, 0xff, 0xff, 0x8a, 0xab, 0x52, 0xe8, 0x41, 0xf7, 0xbf, 0x73, 0xac, 0x6a, 0x52, 0xe9, 0x49, 0xeb, 0x02, 0xbd, 0xa8, 0xca, 0x5a, 0xe9, 0x41, 0xdd, 0xf8, 0x2a, 0xef,
- 0x8a, 0x5a, 0x09, 0x42, 0xbd, 0x2b, 0x57, 0x0b, 0xab, 0x62, 0x09, 0x42, 0x5f, 0xfe, 0xff, 0x0e, 0xab, 0x5a, 0x09, 0x42, 0xd9, 0xfe, 0xea, 0x82, 0xcb, 0x5a, 0x09, 0x42, 0xde, 0x7d, 0xf5, 0x0f,
- 0x0b, 0x63, 0xe8, 0x41, 0xfd, 0xb0, 0xbf, 0x8a, 0xeb, 0x62, 0x29, 0x4a, 0x57, 0x7f, 0xad, 0xa3, 0xaa, 0x62, 0x09, 0x42, 0xdf, 0x7f, 0xa0, 0xec, 0x8a, 0x52, 0x09, 0x4a, 0xe7, 0xa3, 0xe4, 0xa7,
- 0xcb, 0x62, 0xe9, 0x49, 0x55, 0xc3, 0x3e, 0x2a, 0xeb, 0x62, 0xe8, 0x49, 0x5f, 0xbb, 0xaa, 0xe2, 0xab, 0x5a, 0xe8, 0x41, 0x5d, 0xc8, 0x3a, 0x7d, 0xaa, 0x5a, 0xc8, 0x41, 0x57, 0xb7, 0xa8, 0xef,
- 0xab, 0x62, 0xc8, 0x41, 0xa9, 0x28, 0xaa, 0xaf, 0x0c, 0x6b, 0x08, 0x4a, 0x57, 0xf7, 0xae, 0xa3, 0xeb, 0x62, 0x08, 0x4a, 0xcd, 0xaa, 0x07, 0xe0, 0xab, 0x62, 0xe8, 0x41, 0xfd, 0xa2, 0xed, 0x7f,
- 0x8a, 0x52, 0xe9, 0x41, 0xd7, 0x88, 0xda, 0xfe, 0x6a, 0x5a, 0xa7, 0x39, 0x5f, 0x00, 0x8b, 0xbf, 0x6a, 0x5a, 0x09, 0x42, 0x75, 0x2a, 0xaa, 0xbf, 0xe4, 0x69, 0x48, 0x52, 0x0b, 0x29, 0x09, 0x8b,
- 0x26, 0x6a, 0xc4, 0x61, 0xf7, 0xaf, 0xaf, 0xf8, 0x45, 0x72, 0xc4, 0x61, 0xab, 0xdf, 0xeb, 0xe2, 0x05, 0x6a, 0xa4, 0x61, 0x7a, 0xaf, 0x20, 0xa3, 0x26, 0x72, 0xc4, 0x69, 0x35, 0xd7, 0x17, 0xae,
- 0x46, 0x72, 0xe4, 0x69, 0x7f, 0xb5, 0xa8, 0xef, 0x25, 0x72, 0xe4, 0x69, 0x5d, 0x77, 0x68, 0x7f, 0xe5, 0x69, 0xa3, 0x61, 0x6f, 0xe8, 0x7c, 0x5e, 0x05, 0x6a, 0x83, 0x59, 0xbb, 0x3b, 0x2e, 0xa7,
- 0x05, 0x6a, 0xa3, 0x61, 0x68, 0xee, 0xd8, 0x5c, 0x05, 0x6a, 0xa3, 0x61, 0xae, 0x09, 0x87, 0xa5, 0x04, 0x72, 0xa5, 0x61, 0x72, 0xea, 0xab, 0xea, 0x05, 0x6a, 0xc4, 0x61, 0x8a, 0xba, 0x25, 0xaf,
- 0x05, 0x72, 0xc4, 0x69, 0x20, 0xa2, 0xf7, 0x95, 0x06, 0x72, 0xe4, 0x61, 0x82, 0x81, 0xbe, 0xdf, 0x05, 0x72, 0xe4, 0x61, 0xaa, 0x82, 0x5a, 0xfb, 0x04, 0x72, 0xc5, 0x61, 0x28, 0xa2, 0xaf, 0x5e,
- 0x25, 0x6a, 0x63, 0x49, 0x80, 0xe2, 0xda, 0x52, 0x29, 0x83, 0x83, 0x51, 0x5f, 0x35, 0x35, 0xb5, 0x49, 0x83, 0x63, 0x51, 0xf5, 0x8c, 0xea, 0x3e, 0x0c, 0x94, 0x05, 0x62, 0x7b, 0x7b, 0xba, 0x02,
- 0x6c, 0xa4, 0x86, 0x72, 0xd9, 0xf5, 0xbf, 0x88, 0x30, 0xc5, 0x44, 0x6a, 0xff, 0xab, 0xda, 0x0a, 0xef, 0xc4, 0xe8, 0x51, 0x0a, 0x60, 0x70, 0x50, 0x49, 0x52, 0xc7, 0x49, 0xe9, 0xd5, 0x82, 0xfa,
- 0x29, 0x52, 0xe8, 0x41, 0x4a, 0x3a, 0xc3, 0xff, 0x29, 0x4a, 0xc8, 0x41, 0x95, 0xf8, 0x82, 0x0b, 0x6a, 0x52, 0xc8, 0x41, 0x7f, 0xeb, 0xb9, 0xa2, 0x29, 0x52, 0xc8, 0x39, 0xde, 0xaa, 0xb8, 0xfa,
- 0x49, 0x52, 0xe8, 0x41, 0x56, 0xfb, 0x3b, 0xb6, 0x29, 0x5a, 0xc8, 0x41, 0xfd, 0xff, 0xaa, 0xf0, 0x29, 0x52, 0xc7, 0x39, 0xee, 0xa6, 0xa8, 0xaa, 0x49, 0x52, 0xe8, 0x41, 0x0f, 0xbd, 0x7a, 0x57,
- 0x8a, 0x5a, 0xe8, 0x41, 0xad, 0x2f, 0x5d, 0xd5, 0xaa, 0x62, 0xe8, 0x49, 0xa2, 0x20, 0x75, 0xdf, 0xeb, 0x6a, 0x08, 0x4a, 0xca, 0xea, 0xf5, 0x54, 0x69, 0x52, 0xe8, 0x49, 0xba, 0xf8, 0xb7, 0x55,
- 0x69, 0x5a, 0xe8, 0x41, 0xb8, 0x0a, 0x9f, 0xf7, 0x29, 0x4a, 0xe8, 0x41, 0x50, 0xc0, 0x20, 0x57, 0x0c, 0x6b, 0xc8, 0x41, 0x57, 0xcb, 0x57, 0xd5, 0x49, 0x52, 0xc8, 0x31, 0x38, 0xfd, 0xd5, 0xae,
- 0x69, 0x5a, 0xc8, 0x41, 0xbe, 0x0a, 0x55, 0xd5, 0x69, 0x52, 0xc8, 0x41, 0xf7, 0xe2, 0xa7, 0xff, 0xea, 0x5a, 0xe8, 0x49, 0x5d, 0xdd, 0xf3, 0xef, 0x69, 0x52, 0xa7, 0x41, 0x9f, 0x08, 0x00, 0xba,
- 0xaa, 0x62, 0x08, 0x42, 0xfd, 0x6f, 0xeb, 0x70, 0x89, 0x5a, 0x08, 0x42, 0xe0, 0xed, 0xaf, 0x97, 0xaa, 0x62, 0xe8, 0x49, 0xf7, 0xba, 0x8b, 0xe0, 0x4c, 0x73, 0xe7, 0x41, 0xcf, 0x7f, 0xf5, 0xfb,
- 0x8a, 0x5a, 0xe8, 0x41, 0xca, 0xab, 0x02, 0x45, 0x8a, 0x5a, 0xc7, 0x41, 0xba, 0xaf, 0xbf, 0xe1, 0xeb, 0x6a, 0x08, 0x42, 0xdf, 0xf9, 0xff, 0x0d, 0xaa, 0x62, 0x09, 0x4a, 0x23, 0xb5, 0x7f, 0xf8,
- 0x69, 0x52, 0xc8, 0x49, 0xc0, 0xa0, 0x02, 0x37, 0x8a, 0x5a, 0xe8, 0x49, 0x0a, 0xb6, 0xba, 0x34, 0xaa, 0x62, 0x28, 0x4a, 0xea, 0xfb, 0xea, 0x78, 0xeb, 0x6a, 0x09, 0x4a, 0x5a, 0xfb, 0x58, 0xb7,
- 0x79, 0xc6, 0x97, 0xad, 0x2a, 0xda, 0x6a, 0x02, 0x39, 0xbe, 0xb5, 0x84, 0x57, 0x58, 0x0a, 0x28, 0xda, 0xd6, 0xb6, 0x84, 0x55, 0x5d, 0x20, 0x00, 0x1a, 0xdf, 0xd6, 0x84, 0x55, 0x3d, 0xf8, 0xea,
- 0x3b, 0xdf, 0xf5, 0x94, 0x95, 0x0a, 0xff, 0xea, 0x3b, 0xe7, 0x76, 0xa5, 0xa0, 0xaa, 0xb5, 0x77, 0xfa, 0xde, 0x56, 0xa5, 0xa0, 0xeb, 0xea, 0x97, 0xbb, 0xce, 0x15, 0x9d, 0x1a, 0xaa, 0xab, 0xfc,
- 0x3b, 0xe7, 0xd7, 0xb5, 0x02, 0xa7, 0x7e, 0xf9, 0x1b, 0xdf, 0x18, 0xbe, 0xfe, 0x62, 0xfd, 0x6d, 0x79, 0xc6, 0x16, 0x95, 0xd7, 0xb0, 0x08, 0xa2, 0x7a, 0xce, 0xb7, 0xad, 0x7b, 0xc0, 0x2c, 0xcb,
- 0x19, 0xb6, 0x16, 0x8d, 0x57, 0xfc, 0x50, 0x40, 0xdb, 0xce, 0x16, 0x95, 0xf0, 0xdd, 0xdd, 0xc2, 0x7a, 0xc6, 0x74, 0x84, 0xbf, 0x22, 0xa0, 0x5d, 0x1c, 0xd7, 0xb5, 0x84, 0xff, 0xea, 0x5f, 0x2d,
- 0xfa, 0xde, 0xf6, 0x8c, 0x55, 0xd5, 0xe9, 0xe8, 0x79, 0xc6, 0xd6, 0x8c, 0x55, 0xbe, 0x2a, 0x02, 0x5a, 0xc6, 0x16, 0x95, 0xd4, 0x2e, 0x00, 0x00, 0x5a, 0xbe, 0x18, 0xb6, 0xad, 0xbf, 0xff, 0x62,
- 0x59, 0xc6, 0x18, 0xb6, 0xaa, 0xae, 0xeb, 0xfb, 0x38, 0xc6, 0x59, 0xbe, 0xba, 0x8f, 0xfe, 0x9e, 0x5a, 0xc6, 0x38, 0xbe, 0xfd, 0x7d, 0xfa, 0xea, 0x7a, 0xc6, 0x18, 0xbe, 0xbf, 0xff, 0x2b, 0xaa,
- 0x7a, 0xc6, 0xf8, 0xb5, 0x27, 0xba, 0xaa, 0xaa, 0x59, 0xc6, 0xd8, 0xad, 0x5e, 0x88, 0x88, 0x00, 0x59, 0xc6, 0xf8, 0xb5, 0xd3, 0x6f, 0xfe, 0x00, 0x9a, 0xce, 0xd8, 0xad, 0x9e, 0x2f, 0x97, 0x8a,
- 0xda, 0xd6, 0x38, 0xbe, 0x70, 0xaa, 0xff, 0xff, 0xda, 0xd6, 0xd7, 0xad, 0x89, 0xba, 0xaf, 0xba, 0xb8, 0xd6, 0xc5, 0x59, 0x56, 0x56, 0x54, 0x54, 0x46, 0x6a, 0xa5, 0x59, 0xfa, 0x73, 0xf2, 0x7b,
- 0xe5, 0x61, 0x84, 0x51, 0xea, 0xef, 0x28, 0x7f, 0xc5, 0x61, 0x84, 0x51, 0x0a, 0xb2, 0x0a, 0xb7, 0x05, 0x62, 0x84, 0x59, 0xef, 0x57, 0xe8, 0x7f, 0x05, 0x62, 0xa4, 0x59, 0x09, 0x39, 0xab, 0xbf,
- 0x25, 0x6a, 0xc4, 0x61, 0xfa, 0x7f, 0x7e, 0xfd, 0x05, 0x6a, 0xa4, 0x61, 0xa2, 0xff, 0xab, 0xf6, 0xe5, 0x69, 0xa4, 0x61, 0x6a, 0xe0, 0xe6, 0x57, 0xe5, 0x69, 0xa4, 0x61, 0x3f, 0xe5, 0x8f, 0xa9,
- 0x05, 0x6a, 0xa3, 0x61, 0xec, 0xbe, 0xef, 0x6f, 0x4b, 0x93, 0xc4, 0x69, 0x15, 0x55, 0x55, 0x55, 0xba, 0xd6, 0xc5, 0x69, 0x0b, 0x0f, 0x3d, 0x75, 0x9a, 0xd6, 0x59, 0xc6, 0xff, 0xff, 0xff, 0xf4,
- 0x7a, 0xce, 0x59, 0xc6, 0x7f, 0xae, 0x2a, 0xbf, 0x9a, 0xce, 0x58, 0xc6, 0x95, 0xeb, 0xfa, 0x7f, 0xbb, 0xce, 0x59, 0xc6, 0x3c, 0x7d, 0xff, 0xfd, 0x99, 0xce, 0xd5, 0x94, 0x7f, 0x00, 0x00, 0x00,
- 0x9a, 0xce, 0x50, 0x6b, 0xde, 0x00, 0x00, 0x00, 0xda, 0xd6, 0x70, 0x6b, 0x77, 0x00, 0x00, 0x00, 0xdb, 0xce, 0x6a, 0x52, 0x55, 0x50, 0x00, 0x00, 0xfc, 0xd6, 0x4a, 0x52, 0x55, 0x55, 0xe8, 0x00,
- 0xbb, 0xc6, 0x29, 0x4a, 0x7d, 0xff, 0x55, 0x80, 0xaf, 0x73, 0x29, 0x4a, 0xff, 0xae, 0xed, 0xfc, 0x2c, 0x6b, 0x6a, 0x52, 0x6f, 0xb8, 0x00, 0xf7, 0x2c, 0x6b, 0x8a, 0x52, 0x5d, 0xec, 0xe0, 0xa2,
- 0x4d, 0x6b, 0xaa, 0x5a, 0xdd, 0x35, 0x98, 0x5f, 0x0b, 0x63, 0x6a, 0x5a, 0x6e, 0xaf, 0x20, 0x8a, 0x0b, 0x63, 0x09, 0x4a, 0xdd, 0xaa, 0x00, 0x2a, 0x2c, 0x6b, 0x28, 0x4a, 0xef, 0x00, 0xd6, 0xbe,
- 0xeb, 0x62, 0xe8, 0x41, 0x2a, 0xf8, 0xde, 0xaa, 0xab, 0x5a, 0x29, 0x4a, 0xff, 0x8f, 0x15, 0x20, 0x0b, 0x63, 0x09, 0x4a, 0xd7, 0xdf, 0x2a, 0xfe, 0xeb, 0x5a, 0x09, 0x4a, 0xdf, 0xe7, 0x7c, 0x7d,
- 0xcb, 0x62, 0xe9, 0x41, 0xab, 0x2a, 0x7f, 0xff, 0xeb, 0x6a, 0xe8, 0x41, 0xee, 0x3a, 0xf7, 0xaa, 0x2d, 0x73, 0xe8, 0x41, 0x55, 0x2a, 0xff, 0xfa, 0xeb, 0x6a, 0xe8, 0x41, 0xd5, 0x2b, 0xdc, 0xea,
- 0x8a, 0x62, 0xe8, 0x41, 0x7d, 0x2f, 0x57, 0xbf, 0x69, 0x5a, 0xc8, 0x41, 0x95, 0x2c, 0xfb, 0xa0, 0x49, 0x52, 0xc7, 0x41, 0x5f, 0xf8, 0x4e, 0xaa, 0x05, 0x72, 0xe7, 0x49, 0x09, 0x0b, 0x29, 0x2b,
- 0x26, 0x72, 0xe4, 0x69, 0xbf, 0xb9, 0x8f, 0xaa, 0x46, 0x72, 0xe5, 0x69, 0x5f, 0xfb, 0x8a, 0xeb, 0x26, 0x72, 0xc5, 0x61, 0xee, 0xa8, 0xab, 0xbf, 0x46, 0x72, 0x05, 0x6a, 0x7f, 0xfb, 0x5f, 0xed,
- 0x45, 0x72, 0xa4, 0x59, 0xba, 0xba, 0xf2, 0x56, 0x04, 0x6a, 0x83, 0x59, 0xf0, 0xee, 0x57, 0xf7, 0xe5, 0x61, 0x83, 0x59, 0xf3, 0xfd, 0xfd, 0xe9, 0xe5, 0x69, 0x83, 0x51, 0x2a, 0x2f, 0xae, 0x57,
- 0xe5, 0x69, 0x84, 0x51, 0xa8, 0xe0, 0x55, 0xdf, 0xe5, 0x61, 0xa4, 0x59, 0x0d, 0x82, 0x95, 0x2f, 0x05, 0x62, 0x84, 0x51, 0x7e, 0x7a, 0xea, 0x88, 0xe5, 0x61, 0x64, 0x49, 0xe2, 0xab, 0xee, 0x78,
- 0xe5, 0x61, 0xa4, 0x59, 0x36, 0xaa, 0x75, 0xad, 0xa7, 0x6a, 0xa4, 0x59, 0xdf, 0xb7, 0xd5, 0x0a, 0x29, 0x7b, 0xc4, 0x59, 0x5f, 0xdf, 0xcd, 0x7f, 0x87, 0x6a, 0xc4, 0x59, 0xd5, 0x97, 0x2a, 0x4f,
- 0xeb, 0x93, 0xc4, 0x51, 0x5f, 0xdd, 0xfe, 0x78, 0x6c, 0xa4, 0x85, 0x49, 0xb5, 0xeb, 0x2a, 0x8a, 0x8d, 0xac, 0x86, 0x6a, 0x8f, 0x0a, 0xaa, 0x7b, 0xf0, 0xb4, 0xaa, 0x93, 0xfb, 0xbf, 0xfd, 0x9c,
- 0xce, 0xb4, 0x08, 0x7b, 0xa7, 0xaa, 0x8e, 0x00, 0xae, 0xb4, 0x4a, 0x8b, 0x82, 0xb2, 0x2b, 0x68, 0xcf, 0xbc, 0xc7, 0x41, 0xd8, 0x5c, 0x56, 0x55, 0x29, 0x4a, 0xa8, 0x39, 0x2a, 0xfb, 0x78, 0x0a,
- 0x69, 0x52, 0xc8, 0x39, 0xa2, 0x0b, 0x5d, 0xea, 0x69, 0x52, 0xa8, 0x39, 0xab, 0x82, 0xff, 0x77, 0x49, 0x52, 0xa8, 0x41, 0xea, 0xaa, 0x8a, 0x55, 0x09, 0x52, 0xe8, 0x41, 0xbd, 0x8b, 0xae, 0x7d,
- 0x29, 0x52, 0xe8, 0x41, 0x83, 0x8f, 0x82, 0x55, 0x4a, 0x52, 0xc7, 0x39, 0x08, 0x82, 0xae, 0xdf, 0x69, 0x5a, 0xa7, 0x41, 0xba, 0x7f, 0xc3, 0xd7, 0xaa, 0x62, 0xe8, 0x49, 0xf7, 0x39, 0x95, 0x97,
- 0x49, 0x52, 0xe8, 0x49, 0xd7, 0xa8, 0xbf, 0xb8, 0xaa, 0x5a, 0xe8, 0x41, 0xff, 0x7e, 0xd5, 0xcf, 0x8a, 0x5a, 0x08, 0x4a, 0x7f, 0x55, 0x75, 0x15, 0x49, 0x52, 0xc8, 0x41, 0x75, 0xfb, 0x2b, 0xab,
- 0x49, 0x52, 0xa8, 0x39, 0x62, 0xaa, 0xe8, 0x80, 0x29, 0x4a, 0xc8, 0x41, 0x01, 0x08, 0xac, 0x4e, 0x49, 0x4a, 0xe8, 0x41, 0x62, 0xfd, 0xab, 0x7d, 0x29, 0x4a, 0xc8, 0x39, 0x7e, 0xeb, 0x83, 0x83,
- 0x29, 0x4a, 0xc7, 0x39, 0x2e, 0x2b, 0xe2, 0x2d, 0x49, 0x4a, 0xe8, 0x41, 0xcf, 0x57, 0xbf, 0x7b, 0x29, 0x52, 0xe8, 0x39, 0xbe, 0x5e, 0x17, 0xaf, 0xaa, 0x62, 0xc8, 0x41, 0xd7, 0x8b, 0xf7, 0x7f,
- 0xaa, 0x62, 0xe8, 0x41, 0xbd, 0xa8, 0xaf, 0xad, 0x69, 0x5a, 0x08, 0x4a, 0x25, 0x8f, 0xa0, 0xaf, 0x6a, 0x5a, 0xc8, 0x49, 0x56, 0xaa, 0x08, 0x2e, 0x6a, 0x52, 0xc8, 0x41, 0xd5, 0x27, 0x88, 0xaa,
- 0x69, 0x52, 0xe8, 0x49, 0x6b, 0xa8, 0xa8, 0x7e, 0x69, 0x52, 0xe8, 0x49, 0x2b, 0x7b, 0x2f, 0x8d, 0x69, 0x52, 0xe8, 0x49, 0xd4, 0xd5, 0x2a, 0xa3, 0x8a, 0x52, 0xc8, 0x49, 0x7d, 0xff, 0xa8, 0xaa,
- 0x8a, 0x5a, 0xc8, 0x41, 0xdf, 0x6f, 0x2a, 0x23, 0x4c, 0x7b, 0x87, 0x39, 0xd7, 0xeb, 0x3e, 0xab, 0x8a, 0x62, 0xc8, 0x49, 0x6a, 0xa3, 0xde, 0xa0, 0xab, 0x62, 0x28, 0x52, 0xd6, 0xa9, 0x37, 0xd8,
- 0xda, 0xde, 0x97, 0xad, 0x2a, 0xaa, 0xd5, 0xaa, 0xda, 0xd6, 0xd8, 0xb5, 0xc0, 0xab, 0x5d, 0xbe, 0x9a, 0xce, 0x97, 0xad, 0xaa, 0xa0, 0xfd, 0x2a, 0xba, 0xd6, 0xf8, 0xad, 0x8a, 0x20, 0xad, 0xaa,
- 0xda, 0xd6, 0x79, 0xce, 0x0a, 0x55, 0x55, 0x55, 0x1b, 0xdf, 0x79, 0xc6, 0xe0, 0x5d, 0x57, 0x55, 0x9a, 0xce, 0x79, 0xc6, 0xfd, 0x9b, 0x2e, 0x8b, 0x9a, 0xce, 0x59, 0xc6, 0xce, 0xbe, 0xaa, 0x8a,
- 0x99, 0xce, 0x97, 0xad, 0x7a, 0x00, 0x00, 0x00, 0xfa, 0xde, 0x97, 0xad, 0x2d, 0xaa, 0xaa, 0xaa, 0x99, 0xce, 0x76, 0xa5, 0xde, 0x80, 0x00, 0x00, 0x99, 0xce, 0xd8, 0xad, 0xfd, 0xe5, 0x80, 0x00,
- 0xfb, 0xd6, 0x56, 0xa5, 0x27, 0xeb, 0x7f, 0xfa, 0xda, 0xde, 0x77, 0xa5, 0x00, 0xaa, 0xa5, 0xf8, 0x3b, 0xdf, 0xf7, 0xbd, 0x88, 0xff, 0x57, 0xf5, 0xda, 0xd6, 0xd7, 0xb5, 0x0f, 0x49, 0xbb, 0xae,
- 0x9a, 0xce, 0xb7, 0xb5, 0xb7, 0x2a, 0x02, 0x00, 0x9a, 0xce, 0x58, 0xc6, 0xf5, 0x7b, 0xaa, 0xaa, 0x7a, 0xce, 0x59, 0xc6, 0x55, 0xea, 0xa0, 0x00, 0x7a, 0xce, 0x58, 0xbe, 0xff, 0xaa, 0x00, 0x00,
- 0x9a, 0xce, 0x59, 0xbe, 0x7d, 0xaa, 0xaa, 0xa8, 0x9a, 0xce, 0x59, 0xc6, 0x55, 0xee, 0xaa, 0x8a, 0x7a, 0xce, 0x58, 0xc6, 0x55, 0xfb, 0x80, 0x00, 0x9a, 0xce, 0x59, 0xc6, 0xdf, 0xfa, 0xea, 0x8a,
- 0x9a, 0xce, 0x58, 0xc6, 0xd5, 0x7f, 0xba, 0xaa, 0x9a, 0xce, 0x79, 0xc6, 0x55, 0x55, 0x7e, 0xe8, 0x9a, 0xce, 0x59, 0xc6, 0x55, 0xd7, 0xd5, 0xaa, 0x9a, 0xce, 0x59, 0xc6, 0xfd, 0x57, 0xfa, 0xaa,
- 0x7a, 0xce, 0x59, 0xc6, 0x55, 0xd5, 0xb7, 0x8d, 0x7a, 0xce, 0x38, 0xbe, 0xee, 0xaa, 0x08, 0x7e, 0xda, 0xd6, 0xc5, 0x59, 0x5c, 0x50, 0x70, 0x70, 0x05, 0x62, 0xc4, 0x59, 0x58, 0x7e, 0xb6, 0xdc,
- 0xe4, 0x59, 0x43, 0x51, 0xf2, 0xaa, 0xfe, 0x56, 0xc5, 0x61, 0x84, 0x59, 0x3b, 0x2a, 0xa9, 0x05, 0x05, 0x6a, 0xa4, 0x59, 0x7f, 0xcf, 0xff, 0xbd, 0x05, 0x6a, 0xa4, 0x61, 0x23, 0xeb, 0x7f, 0xaa,
- 0x05, 0x6a, 0xa4, 0x61, 0x8e, 0x7b, 0xeb, 0xae, 0xe5, 0x69, 0xa3, 0x61, 0xff, 0xbb, 0x38, 0x2e, 0xc5, 0x69, 0xa4, 0x61, 0x93, 0xee, 0xb3, 0x39, 0xe4, 0x69, 0xa4, 0x61, 0xfd, 0x22, 0xf0, 0x2b,
- 0xe5, 0x71, 0xc4, 0x61, 0xff, 0xcd, 0xae, 0x8a, 0x25, 0x72, 0xa3, 0x61, 0x29, 0xef, 0xff, 0xde, 0x2b, 0x83, 0xc4, 0x69, 0x3f, 0xd5, 0x55, 0x55, 0x9a, 0xce, 0xc7, 0x61, 0x03, 0x03, 0x03, 0x0d,
- 0x7a, 0xce, 0x59, 0xbe, 0xfa, 0xaa, 0xaa, 0xeb, 0x7a, 0xce, 0x59, 0xc6, 0xdd, 0xff, 0xaa, 0xff, 0x7a, 0xce, 0x39, 0xbe, 0xab, 0xa8, 0x0a, 0xaa, 0x9a, 0xce, 0x59, 0xc6, 0xdf, 0xaf, 0xef, 0xaf,
- 0x9a, 0xce, 0x59, 0xc6, 0xdf, 0xbf, 0xab, 0xae, 0x9a, 0xce, 0x59, 0xc6, 0xff, 0xef, 0xea, 0xaa, 0x7a, 0xce, 0x59, 0xc6, 0xff, 0xaa, 0x02, 0x00, 0x9a, 0xce, 0x59, 0xc6, 0xdf, 0xbe, 0xaa, 0xa8,
- 0x9a, 0xce, 0x58, 0xc6, 0xfa, 0xfb, 0xae, 0xa8, 0xda, 0xd6, 0x79, 0xc6, 0x2b, 0x55, 0xfd, 0xdf, 0xfb, 0xd6, 0x79, 0xc6, 0x8b, 0x55, 0xfd, 0xf5, 0xdb, 0xd6, 0xed, 0x5a, 0x58, 0x00, 0x00, 0x00,
- 0xfb, 0xd6, 0x8b, 0x52, 0x55, 0x00, 0x00, 0x00, 0xfb, 0xd6, 0x8b, 0x52, 0x55, 0xf0, 0x00, 0x00, 0xdb, 0xd6, 0x8a, 0x52, 0x55, 0x55, 0x30, 0x00, 0xdb, 0xd6, 0xcb, 0x5a, 0x55, 0x55, 0x7e, 0x00,
- 0x1c, 0xdf, 0x6a, 0x52, 0x55, 0x55, 0x55, 0x00, 0xfb, 0xce, 0x49, 0x52, 0x55, 0x55, 0x55, 0xf0, 0xb3, 0x8c, 0x29, 0x4a, 0x55, 0xff, 0x7f, 0xf8, 0xec, 0x62, 0x49, 0x4a, 0xf5, 0xeb, 0xa5, 0x82,
- 0xec, 0x62, 0xe8, 0x41, 0x7f, 0xaa, 0xae, 0xa0, 0xeb, 0x62, 0x09, 0x42, 0xff, 0x56, 0x02, 0xaa, 0x0b, 0x63, 0x29, 0x4a, 0xbd, 0xd5, 0x80, 0x7e, 0xeb, 0x62, 0x6a, 0x52, 0x7f, 0xfd, 0xe2, 0xb5,
- 0xeb, 0x62, 0x09, 0x4a, 0xfe, 0xb9, 0xe0, 0xfa, 0xeb, 0x62, 0x08, 0x4a, 0xfe, 0x83, 0xaa, 0x5f, 0xaa, 0x62, 0x28, 0x52, 0xf7, 0xb8, 0x5e, 0xea, 0x25, 0x72, 0x67, 0x6a, 0x2a, 0x0b, 0xa9, 0x0a,
- 0x46, 0x72, 0x05, 0x6a, 0xb5, 0x7e, 0x52, 0xff, 0x25, 0x72, 0xe4, 0x61, 0xa0, 0xc3, 0xf2, 0xe7, 0x25, 0x6a, 0xc4, 0x61, 0xef, 0xa9, 0x80, 0xe2, 0x25, 0x72, 0xc4, 0x61, 0xba, 0xa2, 0xd8, 0xf7,
- 0x25, 0x6a, 0xa4, 0x59, 0xe8, 0x7a, 0x5f, 0xfa, 0xc5, 0x61, 0x84, 0x59, 0xb0, 0xbe, 0x2e, 0xd2, 0xc5, 0x59, 0x43, 0x49, 0xef, 0x5c, 0xf0, 0xd8, 0x05, 0x6a, 0x84, 0x51, 0xf5, 0x7f, 0xdd, 0x2f,
- 0x25, 0x6a, 0x84, 0x59, 0x5f, 0xbf, 0xea, 0x28, 0x67, 0x6a, 0xc5, 0x59, 0x55, 0xb5, 0xfb, 0x02, 0x46, 0x6a, 0xa5, 0x51, 0xb5, 0x82, 0x03, 0x00, 0x66, 0x6a, 0xe5, 0x59, 0xfd, 0xff, 0xbf, 0xbf,
- 0x87, 0x72, 0x06, 0x62, 0xc5, 0xf5, 0x57, 0xdd, 0x87, 0x72, 0x05, 0x62, 0x68, 0x55, 0xf7, 0xab, 0xc8, 0x72, 0xc4, 0x59, 0xf7, 0xfd, 0xdf, 0x2e, 0x4c, 0xa4, 0x06, 0x5a, 0xf5, 0xff, 0x2d, 0x2a,
- 0x8d, 0xac, 0x05, 0x62, 0xfe, 0xd6, 0xba, 0x00, 0xad, 0xb4, 0x87, 0x72, 0xf7, 0xbb, 0x0a, 0x02, 0x0f, 0xc5, 0x4a, 0x83, 0x3d, 0x0a, 0x02, 0x00, 0x6f, 0xcd, 0x0c, 0x9c, 0xf7, 0xa5, 0xe2, 0xaa,
- 0xb2, 0xd5, 0x45, 0x6a, 0xaa, 0xb6, 0xb7, 0x27, 0x30, 0xc5, 0x49, 0x52, 0x78, 0x58, 0x54, 0x57, 0xcb, 0x62, 0xe8, 0x41, 0xfb, 0x7e, 0x38, 0xeb, 0x0c, 0x63, 0xe8, 0x41, 0xdf, 0x55, 0x0f, 0xfb,
- 0x8a, 0x52, 0xa8, 0x39, 0xbf, 0xe9, 0x00, 0xaa, 0x8a, 0x5a, 0xe8, 0x41, 0xdf, 0x75, 0xf8, 0x00, 0x8a, 0x52, 0x88, 0x39, 0x5f, 0xaf, 0xbe, 0xac, 0x4a, 0x4a, 0xa7, 0x39, 0x75, 0xb7, 0xff, 0x3f,
- 0x8a, 0x52, 0xa8, 0x39, 0x7d, 0xef, 0xeb, 0x74, 0x09, 0x42, 0x68, 0x31, 0xa9, 0xab, 0x00, 0x0a, 0x4a, 0x4a, 0xa8, 0x39, 0xd8, 0xdf, 0xaa, 0x0e, 0x49, 0x4a, 0xc8, 0x39, 0xd7, 0x79, 0xbf, 0x8f,
- 0xab, 0x62, 0xc8, 0x41, 0xff, 0x7f, 0x7b, 0xf2, 0x49, 0x52, 0x88, 0x39, 0xa0, 0xde, 0xda, 0x22, 0x6a, 0x5a, 0xa8, 0x39, 0xbe, 0x55, 0xfb, 0xa0, 0x49, 0x52, 0xa8, 0x41, 0x8c, 0xac, 0xa7, 0xe8,
- 0x29, 0x4a, 0xa8, 0x39, 0x05, 0xb8, 0xae, 0x02, 0x4a, 0x52, 0xc8, 0x39, 0x86, 0xef, 0x57, 0xee, 0x69, 0x5a, 0xc8, 0x39, 0x8a, 0xff, 0x7f, 0xfb, 0x6a, 0x4a, 0xa8, 0x39, 0xa2, 0x0f, 0x75, 0xf6,
- 0x49, 0x4a, 0xc8, 0x39, 0xaf, 0x7a, 0x75, 0x2a, 0x49, 0x4a, 0xc8, 0x39, 0xee, 0xbd, 0xa9, 0x08, 0x6a, 0x52, 0xc8, 0x41, 0xab, 0xa9, 0xf7, 0x00, 0xcb, 0x62, 0xe8, 0x41, 0x7f, 0xfb, 0x97, 0x1e,
- 0xab, 0x62, 0xe8, 0x49, 0xf5, 0x2e, 0xa1, 0xb6, 0x2c, 0x73, 0x08, 0x4a, 0x77, 0x2c, 0xff, 0xcf, 0x8a, 0x52, 0xc8, 0x41, 0xff, 0xf6, 0xc8, 0xbd, 0xec, 0x62, 0xe8, 0x41, 0xd5, 0xcd, 0xff, 0x77,
- 0xca, 0x5a, 0xa8, 0x39, 0xbf, 0x57, 0xe2, 0xd5, 0x6a, 0x52, 0xe8, 0x41, 0xaa, 0x7d, 0x2d, 0xb2, 0x6a, 0x5a, 0x08, 0x42, 0x82, 0xfb, 0x9e, 0xfd, 0x6a, 0x52, 0x09, 0x4a, 0xbe, 0x55, 0x78, 0xb7,
- 0xcb, 0x62, 0x28, 0x4a, 0xba, 0xfd, 0x7b, 0x0e, 0xca, 0x62, 0xa8, 0x41, 0xaa, 0x2a, 0x7a, 0xa8, 0x2b, 0x6b, 0xc8, 0x41, 0xff, 0xff, 0xf5, 0xe2, 0x8a, 0x5a, 0x08, 0x4a, 0x5a, 0x22, 0x9f, 0x7d,
- 0x7a, 0xce, 0x58, 0xc6, 0x55, 0x5d, 0xef, 0x20, 0x9a, 0xce, 0x59, 0xc6, 0xdf, 0xf5, 0xfa, 0xaa, 0x9a, 0xce, 0x59, 0xc6, 0xfb, 0x7d, 0xff, 0xaa, 0x7a, 0xce, 0x59, 0xbe, 0xaa, 0xfb, 0xea, 0xaa,
- 0x9a, 0xce, 0x59, 0xc6, 0xae, 0xfd, 0xdd, 0xdf, 0x9a, 0xce, 0x59, 0xc6, 0xaa, 0xff, 0xff, 0xff, 0x7a, 0xce, 0x59, 0xc6, 0x28, 0xaa, 0x22, 0xef, 0x9a, 0xce, 0x79, 0xc6, 0xbf, 0xff, 0x5f, 0xdd,
- 0x9a, 0xce, 0x79, 0xc6, 0xaa, 0xef, 0xfd, 0xd5, 0x9a, 0xce, 0x79, 0xc6, 0xba, 0xbf, 0xff, 0xff, 0x7a, 0xce, 0x99, 0xc6, 0x0b, 0x8a, 0xbf, 0xfe, 0x9a, 0xce, 0x79, 0xc6, 0xa2, 0xba, 0xfe, 0xfd,
- 0x99, 0xce, 0x18, 0xbe, 0x40, 0x00, 0x28, 0xaa, 0xda, 0xd6, 0xd7, 0xb5, 0x8b, 0xa6, 0xaa, 0xaa, 0xfb, 0xd6, 0xf8, 0xb5, 0xcf, 0xa7, 0xaa, 0xab, 0x9a, 0xce, 0x79, 0xc6, 0xab, 0xba, 0xef, 0xef,
- 0x9a, 0xce, 0x79, 0xce, 0xb6, 0x6d, 0xad, 0xae, 0x99, 0xce, 0x7a, 0xce, 0xb8, 0xeb, 0x68, 0xfe, 0x9a, 0xce, 0x79, 0xc6, 0xa0, 0xaa, 0xae, 0xea, 0x9a, 0xce, 0x79, 0xce, 0xa8, 0xbe, 0x2f, 0x8b,
- 0x9a, 0xce, 0x79, 0xc6, 0x2a, 0xa0, 0xaa, 0xaa, 0x9a, 0xce, 0x79, 0xce, 0x87, 0xfb, 0xf0, 0xfa, 0x9a, 0xce, 0x79, 0xce, 0xea, 0xe8, 0x3a, 0x3f, 0x7a, 0xd6, 0x99, 0xc6, 0xea, 0xff, 0xeb, 0xbe,
- 0x9a, 0xd6, 0x79, 0xc6, 0xba, 0xaf, 0xbe, 0xfa, 0x9a, 0xd6, 0x79, 0xc6, 0xaa, 0xba, 0xea, 0xff, 0x9a, 0xd6, 0x79, 0xc6, 0xea, 0xaa, 0xfa, 0xff, 0x9a, 0xd6, 0x79, 0xce, 0xff, 0xbe, 0xff, 0x5f,
- 0x9a, 0xce, 0x79, 0xce, 0xaa, 0xa2, 0xf8, 0xf5, 0x9a, 0xce, 0x59, 0xbe, 0x5e, 0xa0, 0x80, 0x08, 0xd9, 0xd6, 0xe4, 0x61, 0x70, 0x70, 0x70, 0x50, 0x05, 0x62, 0xa4, 0x59, 0x72, 0xb2, 0xfb, 0xca,
- 0xe4, 0x61, 0x03, 0x49, 0xda, 0xd8, 0xa8, 0xe0, 0xe5, 0x69, 0x64, 0x59, 0x27, 0xad, 0x2b, 0x79, 0x05, 0x62, 0x43, 0x51, 0xaa, 0xaf, 0x2a, 0xb9, 0x05, 0x6a, 0x64, 0x51, 0x02, 0x80, 0xa2, 0xd6,
- 0x05, 0x6a, 0xc5, 0x59, 0xaa, 0xab, 0xa8, 0x55, 0x05, 0x6a, 0xc4, 0x61, 0xf7, 0xec, 0xec, 0x4c, 0x25, 0x6a, 0xa4, 0x61, 0xd7, 0x15, 0xfd, 0x2f, 0x25, 0x6a, 0xa4, 0x61, 0xdf, 0xef, 0xb5, 0x8a,
- 0x05, 0x6a, 0xa4, 0x61, 0x83, 0x78, 0xfa, 0xab, 0x05, 0x6a, 0xa4, 0x59, 0x5e, 0x55, 0xef, 0x2a, 0x46, 0x6a, 0xa4, 0x59, 0xf7, 0x57, 0xb7, 0x2a, 0xdc, 0xde, 0xe6, 0x59, 0x05, 0x35, 0x15, 0x95,
- 0x9a, 0xce, 0x59, 0xc6, 0x75, 0xfb, 0xaa, 0xa8, 0x9a, 0xce, 0x79, 0xc6, 0xd5, 0x5e, 0xbe, 0xaa, 0x9a, 0xce, 0x59, 0xc6, 0x7f, 0xf6, 0xaa, 0xaa, 0x9a, 0xce, 0x59, 0xc6, 0xff, 0xff, 0xaa, 0xaa,
- 0x7a, 0xce, 0x59, 0xc6, 0x00, 0xea, 0x20, 0x00, 0x9a, 0xce, 0x59, 0xc6, 0xea, 0xba, 0xaf, 0xae, 0x9a, 0xce, 0x79, 0xc6, 0xaa, 0xfe, 0xff, 0xff, 0x9a, 0xce, 0x59, 0xc6, 0xaa, 0xaa, 0xff, 0xea,
- 0x9a, 0xce, 0x59, 0xc6, 0x80, 0xaa, 0xff, 0xff, 0x9a, 0xce, 0x79, 0xc6, 0x20, 0xa0, 0xff, 0xff, 0x9a, 0xce, 0x79, 0xc6, 0xaa, 0xaa, 0xff, 0x7f, 0x9a, 0xce, 0x59, 0xc6, 0x80, 0x2a, 0xba, 0xff,
- 0x9a, 0xce, 0x59, 0xc6, 0x0a, 0xaa, 0xfa, 0xdd, 0x9a, 0xce, 0x59, 0xc6, 0x00, 0x82, 0xaa, 0xd7, 0x9a, 0xce, 0x59, 0xc6, 0x28, 0x08, 0xaa, 0xff, 0x9a, 0xce, 0x59, 0xc6, 0x80, 0x82, 0xae, 0xbe,
- 0x9a, 0xce, 0x79, 0xc6, 0x08, 0x0a, 0xfa, 0xff, 0xba, 0xd6, 0x79, 0xce, 0x2f, 0xff, 0x55, 0x55, 0xfb, 0xde, 0x18, 0xbe, 0x4a, 0xaa, 0xff, 0xff, 0xfb, 0xd6, 0xac, 0x52, 0x5b, 0x00, 0x00, 0x00,
- 0x1c, 0xdf, 0x8b, 0x52, 0x55, 0x00, 0x00, 0x00, 0x1c, 0xdf, 0x29, 0x4a, 0x55, 0x80, 0x00, 0x00, 0xdb, 0xd6, 0xab, 0x52, 0x55, 0x5f, 0x00, 0x00, 0xdb, 0xd6, 0x8a, 0x52, 0x55, 0x55, 0x80, 0x00,
- 0xfc, 0xd6, 0x4a, 0x52, 0x55, 0xd5, 0x0b, 0x00, 0xfb, 0xd6, 0xcb, 0x62, 0x55, 0x0b, 0x00, 0x00, 0xda, 0xd6, 0x47, 0x62, 0x77, 0x60, 0x70, 0x50, 0x87, 0x72, 0x05, 0x6a, 0x57, 0x57, 0x54, 0xd4,
- 0x25, 0x6a, 0xc4, 0x61, 0xf2, 0xf0, 0x5b, 0xef, 0x05, 0x6a, 0xc4, 0x61, 0xdf, 0xa6, 0x0a, 0xe2, 0x66, 0x6a, 0xc5, 0x61, 0x7f, 0xee, 0xff, 0x2f, 0x46, 0x6a, 0xe5, 0x59, 0xeb, 0x7f, 0xbf, 0x02,
- 0x87, 0x72, 0xa4, 0x51, 0xfb, 0xed, 0xaa, 0x80, 0x25, 0x6a, 0x84, 0x51, 0x5f, 0xad, 0xbe, 0xa8, 0xe5, 0x61, 0xa3, 0x59, 0xad, 0x22, 0x22, 0x27, 0x46, 0x6a, 0xc4, 0x61, 0xff, 0xb5, 0xb7, 0x2b,
- 0x66, 0x72, 0xe5, 0x61, 0x8d, 0xfb, 0x2a, 0x02, 0x87, 0x72, 0x26, 0x6a, 0xb7, 0xab, 0x82, 0x8a, 0x87, 0x72, 0x46, 0x6a, 0x7d, 0xea, 0x6e, 0x0a, 0x87, 0x72, 0x25, 0x6a, 0xdf, 0x8b, 0xfb, 0xa2,
- 0x67, 0x72, 0x26, 0x62, 0x36, 0x82, 0x20, 0xa8, 0xa7, 0x7a, 0x45, 0x6a, 0xaa, 0xaa, 0xad, 0xb7, 0x29, 0x83, 0x26, 0x6a, 0x3f, 0xbf, 0xbf, 0xb5, 0x8d, 0xac, 0x65, 0x72, 0x2f, 0x2f, 0x2b, 0x27,
- 0xad, 0xb4, 0x0b, 0x9c, 0x94, 0x8f, 0x0a, 0x83, 0x0f, 0xbd, 0x2c, 0xa4, 0x6d, 0x83, 0xfa, 0xfa, 0x0f, 0xc5, 0x6c, 0xac, 0x88, 0xca, 0xdd, 0xd5, 0x4f, 0xcd, 0xa3, 0x59, 0xc0, 0x7c, 0x5c, 0x5e,
- 0xaf, 0xac, 0xc4, 0x51, 0x8f, 0xf5, 0x75, 0x7b, 0xaa, 0x5a, 0x29, 0x4a, 0x3c, 0xfb, 0xea, 0x79, 0xcb, 0x62, 0x29, 0x4a, 0xa8, 0xd7, 0xea, 0x55, 0xaa, 0x5a, 0x29, 0x4a, 0xa0, 0x7a, 0x5f, 0x7d,
- 0xca, 0x5a, 0xe9, 0x41, 0xa0, 0xaa, 0xff, 0x5f, 0x8a, 0x5a, 0x09, 0x42, 0xa0, 0x02, 0xf7, 0x75, 0xaa, 0x52, 0x09, 0x42, 0xfa, 0xae, 0x0a, 0xdd, 0xcb, 0x5a, 0x29, 0x4a, 0xee, 0x6b, 0xef, 0x39,
- 0xcb, 0x62, 0xe9, 0x41, 0x5b, 0x2a, 0x7a, 0x2a, 0xcb, 0x62, 0x29, 0x4a, 0xbe, 0x82, 0xf5, 0xf6, 0xeb, 0x62, 0x08, 0x4a, 0xaf, 0x2a, 0xb9, 0xaf, 0xeb, 0x62, 0xc9, 0x41, 0x7a, 0xb8, 0xaa, 0xaa,
- 0xeb, 0x62, 0x2a, 0x52, 0x55, 0x0a, 0x02, 0xaa, 0x2c, 0x6b, 0x09, 0x4a, 0x5d, 0xe8, 0xab, 0xaa, 0xeb, 0x62, 0xe8, 0x49, 0x57, 0x32, 0xb8, 0x2a, 0x4d, 0x6b, 0xe8, 0x41, 0xd7, 0xec, 0xae, 0xfa,
- 0xeb, 0x62, 0x87, 0x31, 0xff, 0x55, 0x02, 0xaa, 0x8d, 0x73, 0xe9, 0x41, 0x57, 0x5f, 0x0a, 0xff, 0x2b, 0x6b, 0xe8, 0x41, 0xd5, 0x55, 0xa8, 0xaa, 0xee, 0x7b, 0xc8, 0x39, 0x55, 0x55, 0x2a, 0xff,
- 0x2f, 0x8c, 0xa7, 0x39, 0xd5, 0x55, 0x38, 0xff, 0x4f, 0x8c, 0x08, 0x42, 0x55, 0x55, 0xec, 0xfd, 0x2c, 0x6b, 0xc7, 0x41, 0x1e, 0xba, 0xab, 0xaa, 0x6c, 0x7b, 0x29, 0x4a, 0x57, 0x7e, 0xaa, 0x0b,
- 0x0c, 0x6b, 0x09, 0x4a, 0x55, 0xaf, 0xbc, 0x88, 0xab, 0x5a, 0xc8, 0x41, 0x6a, 0x00, 0x28, 0x8a, 0x0c, 0x63, 0xc8, 0x41, 0x55, 0xfc, 0xaa, 0xfa, 0xaa, 0x5a, 0x08, 0x42, 0x75, 0xab, 0x0b, 0xef,
- 0x8a, 0x52, 0xc8, 0x39, 0x55, 0xa8, 0xe8, 0xeb, 0x8a, 0x52, 0xc8, 0x39, 0xff, 0x6a, 0x0e, 0x8a, 0x6a, 0x52, 0xa8, 0x39, 0xff, 0x5d, 0x0a, 0x20, 0x8b, 0x5a, 0xe8, 0x41, 0xcf, 0xd9, 0xea, 0xae,
- 0xab, 0x62, 0x28, 0x4a, 0x2d, 0xa5, 0xfd, 0xbf, 0xca, 0x62, 0x08, 0x42, 0x8a, 0xe0, 0x7f, 0x7e, 0x8a, 0x5a, 0xc8, 0x39, 0xa0, 0xfe, 0xff, 0x57, 0xaa, 0x5a, 0xc8, 0x39, 0xa0, 0x7f, 0xff, 0x8f,
- 0x79, 0xce, 0x9a, 0xc6, 0xaa, 0xf2, 0xaa, 0xea, 0x99, 0xce, 0x7a, 0xc6, 0xfe, 0xfe, 0xfe, 0xff, 0x9a, 0xce, 0x79, 0xc6, 0xff, 0xfe, 0xeb, 0xaa, 0x9a, 0xce, 0x79, 0xc6, 0xfb, 0xff, 0xff, 0xaa,
- 0x9a, 0xce, 0x79, 0xc6, 0xff, 0xff, 0xff, 0xad, 0x9a, 0xce, 0x59, 0xc6, 0xfb, 0xba, 0xaa, 0xaa, 0x79, 0xce, 0x9a, 0xc6, 0xae, 0x2e, 0xba, 0xaa, 0x9a, 0xce, 0x79, 0xc6, 0x77, 0xff, 0xfa, 0xef,
- 0x9a, 0xce, 0x79, 0xc6, 0x7f, 0xfb, 0xef, 0xaa, 0x9a, 0xce, 0x79, 0xc6, 0x5d, 0xff, 0xfe, 0xee, 0x7a, 0xce, 0x99, 0xc6, 0x2b, 0x2f, 0xaa, 0xfa, 0x9a, 0xce, 0x79, 0xc6, 0xf7, 0xff, 0xaf, 0xea,
- 0x59, 0xce, 0x9a, 0xc6, 0xa2, 0xbb, 0xff, 0xfe, 0x9a, 0xce, 0x79, 0xc6, 0xd5, 0xd5, 0xfe, 0xff, 0x9a, 0xce, 0x59, 0xc6, 0xab, 0xaa, 0xbf, 0xae, 0x9a, 0xce, 0x79, 0xc6, 0xbf, 0xbf, 0xff, 0xaa,
- 0x9a, 0xce, 0x79, 0xc6, 0xea, 0xfb, 0xff, 0xea, 0x9a, 0xce, 0x79, 0xc6, 0xaa, 0xfe, 0xab, 0xef, 0x9a, 0xce, 0x79, 0xc6, 0xab, 0xea, 0xea, 0x82, 0x99, 0xce, 0x7a, 0xc6, 0xfb, 0xfb, 0xfa, 0xea,
- 0x9a, 0xce, 0x79, 0xc6, 0x2a, 0xbb, 0xba, 0xaf, 0x79, 0xce, 0x9a, 0xc6, 0xa0, 0x2b, 0xea, 0xfe, 0x9a, 0xce, 0x79, 0xc6, 0x82, 0xfa, 0xaa, 0xaa, 0x9a, 0xce, 0x79, 0xc6, 0x2a, 0xab, 0xaa, 0xea,
- 0x99, 0xce, 0x7a, 0xc6, 0xa2, 0xbf, 0xaa, 0xaa, 0x7a, 0xce, 0x99, 0xc6, 0xae, 0x2e, 0xbe, 0xba, 0x99, 0xce, 0x7a, 0xc6, 0xea, 0xfa, 0xfa, 0xfa, 0x9a, 0xce, 0x79, 0xc6, 0xaa, 0xaa, 0xeb, 0xff,
- 0x9a, 0xce, 0x79, 0xc6, 0xaa, 0xea, 0xfe, 0xfb, 0x9a, 0xce, 0x59, 0xc6, 0xa2, 0xee, 0xeb, 0xaa, 0x1b, 0xdf, 0xc4, 0x51, 0x70, 0x40, 0xc0, 0x80, 0x87, 0x6a, 0x84, 0x59, 0xf5, 0xff, 0xfe, 0xe8,
- 0x26, 0x6a, 0x64, 0x51, 0x76, 0xff, 0xba, 0x2a, 0x26, 0x6a, 0x84, 0x51, 0xf7, 0xd7, 0xf7, 0x80, 0xe5, 0x61, 0x64, 0x51, 0x3f, 0xb7, 0xbf, 0xbf, 0x46, 0x72, 0x84, 0x59, 0x7e, 0x5f, 0xff, 0x2a,
- 0x25, 0x6a, 0xa4, 0x61, 0xad, 0x77, 0xbb, 0xa0, 0x04, 0x6a, 0xa5, 0x61, 0xe0, 0xeb, 0x7e, 0xa0, 0x06, 0x6a, 0xa4, 0x59, 0x2f, 0xce, 0xeb, 0xb6, 0x45, 0x72, 0xa4, 0x61, 0xfb, 0xaf, 0x0a, 0xad,
- 0x46, 0x72, 0xc4, 0x69, 0xf7, 0xa3, 0xaa, 0xb6, 0x26, 0x72, 0xe4, 0x61, 0x0f, 0xab, 0xff, 0xfe, 0x66, 0x72, 0xc4, 0x61, 0xa2, 0xbf, 0xeb, 0x5f, 0xca, 0x72, 0xc5, 0x69, 0x2a, 0xfa, 0xff, 0xd5,
- 0xdb, 0xd6, 0x09, 0x5a, 0x00, 0x00, 0x03, 0x01, 0x9a, 0xce, 0x79, 0xce, 0x8a, 0xcf, 0xef, 0x02, 0x9a, 0xce, 0x79, 0xce, 0xae, 0x0f, 0x8b, 0x82, 0xb9, 0xd6, 0x7a, 0xc6, 0xff, 0xfe, 0xfa, 0xff,
- 0x99, 0xce, 0x7a, 0xce, 0x2a, 0x0b, 0x80, 0xa0, 0x99, 0xd6, 0x7a, 0xce, 0xf7, 0xaf, 0xff, 0xff, 0x99, 0xd6, 0x7a, 0xc6, 0xbf, 0xaf, 0xee, 0xef, 0x9a, 0xd6, 0x79, 0xc6, 0xfe, 0xea, 0xea, 0xab,
- 0x9a, 0xce, 0x79, 0xc6, 0xfe, 0xaa, 0xaa, 0xaa, 0x9a, 0xce, 0x59, 0xc6, 0xff, 0xea, 0xa2, 0x80, 0x9a, 0xce, 0x79, 0xc6, 0x77, 0x5f, 0xfb, 0xaa, 0x9a, 0xce, 0x59, 0xc6, 0xaf, 0xff, 0xef, 0xea,
- 0x7a, 0xce, 0x59, 0xc6, 0xaf, 0xff, 0xfe, 0xeb, 0x9a, 0xce, 0x59, 0xbe, 0xfa, 0xea, 0xff, 0xff, 0x59, 0xce, 0x7a, 0xc6, 0xf5, 0xc7, 0x75, 0x5e, 0x9a, 0xce, 0x59, 0xc6, 0x7f, 0xfb, 0x57, 0xf5,
- 0x79, 0xc6, 0x5a, 0xc6, 0x8f, 0x93, 0xff, 0xe8, 0x7a, 0xce, 0x59, 0xbe, 0xab, 0xaa, 0xab, 0xfa, 0x7a, 0xce, 0x59, 0xc6, 0xff, 0xff, 0x2b, 0x75, 0x9a, 0xce, 0x59, 0xc6, 0xff, 0xff, 0xae, 0xbf,
- 0x9a, 0xce, 0x59, 0xc6, 0xfa, 0xff, 0x82, 0xff, 0x9a, 0xce, 0x59, 0xc6, 0xaa, 0xff, 0xba, 0xba, 0x9a, 0xce, 0x59, 0xc6, 0xea, 0xef, 0xfe, 0xba, 0x7a, 0xce, 0x99, 0xc6, 0xaa, 0x6a, 0xab, 0xab,
- 0x59, 0xce, 0x9a, 0xc6, 0xaa, 0xaa, 0xbf, 0xfb, 0x9a, 0xce, 0x59, 0xc6, 0xba, 0xef, 0xff, 0xef, 0xda, 0xde, 0x26, 0x62, 0x50, 0x50, 0x50, 0x5c, 0x46, 0x72, 0x05, 0x6a, 0xf3, 0xb6, 0xd7, 0x9f,
- 0x46, 0x6a, 0x05, 0x62, 0xff, 0xba, 0xaf, 0x82, 0x67, 0x72, 0x06, 0x62, 0xd7, 0xea, 0xbf, 0xee, 0x46, 0x72, 0x05, 0x62, 0xaf, 0xa0, 0x2e, 0xaf, 0x66, 0x72, 0x05, 0x6a, 0x2b, 0xe2, 0xfa, 0xb7,
- 0x87, 0x7a, 0x66, 0x6a, 0xae, 0xea, 0xaa, 0xfb, 0x66, 0x72, 0xc4, 0x61, 0x5e, 0xfe, 0xb8, 0xea, 0x25, 0x72, 0xc4, 0x69, 0xfd, 0x9f, 0x2c, 0x8a, 0x86, 0x72, 0x05, 0x6a, 0xbd, 0xa9, 0x2f, 0xad,
- 0x86, 0x72, 0x25, 0x6a, 0xe8, 0xfe, 0xf7, 0x5e, 0x66, 0x72, 0x05, 0x6a, 0x0a, 0x80, 0xfa, 0xd9, 0x66, 0x72, 0xc4, 0x61, 0x00, 0x88, 0xa8, 0x77, 0xa7, 0x7a, 0x22, 0x41, 0x00, 0x08, 0xfa, 0x5f,
- 0x86, 0x72, 0x62, 0x51, 0x00, 0x00, 0xa2, 0x79, 0x86, 0x72, 0x43, 0x51, 0x00, 0x00, 0xe2, 0x57, 0xa7, 0x7a, 0x83, 0x59, 0x2e, 0x2a, 0xfd, 0xdd, 0xad, 0xb4, 0xe4, 0x61, 0x8b, 0x2f, 0xb5, 0xad,
- 0x8d, 0xb4, 0x25, 0x6a, 0x80, 0xfe, 0x57, 0xd7, 0x2c, 0xa4, 0x25, 0x6a, 0xaf, 0xff, 0x7f, 0x4a, 0xca, 0xa3, 0x25, 0x6a, 0x2f, 0x5f, 0x55, 0x55, 0x2c, 0xac, 0x04, 0x6a, 0x5c, 0xbd, 0xdd, 0x55,
- 0xb1, 0xa4, 0x28, 0x52, 0x53, 0x5c, 0x74, 0xad, 0x39, 0xae, 0x29, 0x4a, 0x55, 0x55, 0x55, 0x2a, 0x1c, 0xcf, 0x29, 0x4a, 0x55, 0x55, 0x55, 0x8a, 0x3d, 0xd7, 0x09, 0x42, 0x55, 0x55, 0x55, 0x80,
- 0x3a, 0xb6, 0x09, 0x42, 0x55, 0x55, 0x75, 0xe0, 0xf4, 0x84, 0xe9, 0x41, 0x55, 0x5d, 0xff, 0x20, 0xf1, 0x73, 0x09, 0x4a, 0x55, 0x55, 0xf7, 0xfc, 0xcc, 0x5a, 0x09, 0x42, 0x7f, 0xf5, 0xff, 0xa0,
- 0x8b, 0x52, 0x29, 0x4a, 0x5e, 0xfe, 0xf5, 0xd8, 0x8b, 0x52, 0x29, 0x4a, 0xcd, 0xca, 0xb2, 0x30, 0xcb, 0x62, 0x09, 0x4a, 0xf5, 0x5d, 0x02, 0x2a, 0xeb, 0x62, 0x49, 0x52, 0xdd, 0xd5, 0xee, 0xa0,
- 0xec, 0x62, 0x6a, 0x52, 0x87, 0xdf, 0x5e, 0xbf, 0xcb, 0x62, 0x4a, 0x52, 0xa2, 0xe9, 0x02, 0xea, 0xec, 0x6a, 0x4a, 0x52, 0xbf, 0xa8, 0x76, 0xbe, 0x2d, 0x6b, 0x49, 0x52, 0xff, 0xdf, 0xd3, 0xd5,
- 0xaa, 0x5a, 0x29, 0x4a, 0xeb, 0x76, 0xf7, 0xa2, 0xab, 0x5a, 0x49, 0x52, 0x0b, 0x2f, 0x26, 0xae, 0xcb, 0x62, 0x4a, 0x4a, 0x2b, 0xd6, 0xfa, 0x9f, 0x0b, 0x63, 0x29, 0x4a, 0xe7, 0x7b, 0x2b, 0xff,
- 0xcb, 0x62, 0x29, 0x4a, 0xf2, 0xe5, 0x02, 0xae, 0xec, 0x6a, 0x49, 0x4a, 0xaa, 0xff, 0xac, 0x75, 0xeb, 0x62, 0x29, 0x4a, 0xaa, 0xc8, 0xfe, 0x7f, 0xcb, 0x5a, 0x29, 0x42, 0x20, 0xee, 0x7b, 0xf5,
- 0xeb, 0x62, 0x09, 0x42, 0x80, 0xff, 0xfd, 0xb7, 0xab, 0x5a, 0x29, 0x4a, 0xac, 0xfe, 0xe5, 0x82, 0xaa, 0x5a, 0x09, 0x4a, 0xa8, 0xa6, 0xaa, 0xa2, 0xeb, 0x62, 0x49, 0x4a, 0x55, 0xff, 0xbb, 0x2e,
- 0xcb, 0x5a, 0x09, 0x42, 0xf7, 0x02, 0xea, 0x80, 0xcb, 0x5a, 0x29, 0x42, 0x75, 0x98, 0x23, 0x22, 0xca, 0x5a, 0x29, 0x42, 0xf5, 0xfa, 0x20, 0x2a, 0xeb, 0x5a, 0xe9, 0x41, 0x5f, 0xbf, 0xaa, 0xa0,
- 0xcb, 0x5a, 0x29, 0x4a, 0xf5, 0xbf, 0x88, 0xfa, 0xcb, 0x5a, 0x29, 0x4a, 0x55, 0xae, 0x0a, 0xfb, 0xaa, 0x52, 0x09, 0x42, 0x95, 0xef, 0x2a, 0xbe, 0xcb, 0x5a, 0x09, 0x4a, 0xf0, 0xe7, 0x0b, 0x9e,
- 0x9a, 0xce, 0x59, 0xbe, 0xab, 0xff, 0xff, 0xff, 0x9a, 0xc6, 0x59, 0xbe, 0xaa, 0xab, 0xaa, 0xbb, 0x99, 0xce, 0x7a, 0xbe, 0x22, 0xaa, 0xff, 0xd7, 0x9a, 0xce, 0x59, 0xbe, 0xaa, 0xaa, 0xff, 0xdf,
- 0x9a, 0xce, 0x79, 0xbe, 0xa2, 0x0a, 0xbf, 0x7d, 0x9a, 0xce, 0x79, 0xbe, 0xa8, 0x00, 0xaa, 0x7f, 0x99, 0xce, 0x7a, 0xbe, 0xaa, 0xaa, 0xab, 0x9f, 0x9a, 0xce, 0x79, 0xc6, 0xaa, 0x22, 0xba, 0xff,
- 0x99, 0xce, 0x7a, 0xc6, 0x2a, 0xaa, 0x2a, 0xbf, 0x79, 0xce, 0x9a, 0xc6, 0xa0, 0xb8, 0xad, 0xbb, 0x9a, 0xce, 0x79, 0xc6, 0xea, 0xab, 0x8e, 0xff, 0x7a, 0xce, 0x99, 0xc6, 0x0a, 0xaa, 0xbb, 0xff,
- 0x79, 0xce, 0x9a, 0xc6, 0xa2, 0xa8, 0xfe, 0xff, 0x79, 0xce, 0x9a, 0xc6, 0xaa, 0xbf, 0xef, 0xff, 0x9a, 0xce, 0x79, 0xc6, 0xfe, 0xae, 0xaf, 0xaa, 0x9a, 0xce, 0x79, 0xc6, 0xae, 0xab, 0x2a, 0x02,
- 0x9a, 0xce, 0x79, 0xc6, 0xfe, 0xaa, 0xa0, 0xaa, 0x9a, 0xd6, 0x79, 0xc6, 0xff, 0xbf, 0xff, 0xae, 0xba, 0xce, 0x79, 0xc6, 0xaf, 0xae, 0xab, 0xaa, 0x9a, 0xd6, 0x79, 0xc6, 0xff, 0xff, 0xfa, 0xaa,
- 0x9a, 0xce, 0x79, 0xc6, 0xbe, 0xaa, 0xa2, 0xaa, 0x9a, 0xce, 0x79, 0xc6, 0xaa, 0xaa, 0xaa, 0x22, 0x99, 0xce, 0x7a, 0xc6, 0xaa, 0xaa, 0xaa, 0x80, 0x9a, 0xce, 0x79, 0xc6, 0xb8, 0x8a, 0x82, 0x2a,
- 0x7a, 0xce, 0x99, 0xc6, 0xbe, 0xae, 0xca, 0xe3, 0x9a, 0xce, 0x79, 0xc6, 0xea, 0xea, 0xaa, 0xaa, 0x9a, 0xce, 0x79, 0xc6, 0xfa, 0xbe, 0xea, 0x8a, 0x79, 0xce, 0x9a, 0xc6, 0xbe, 0xa3, 0xbf, 0xb9,
- 0x7a, 0xce, 0x99, 0xc6, 0xae, 0xea, 0x8a, 0xba, 0x79, 0xce, 0x7a, 0xc6, 0xf2, 0xaa, 0xf0, 0xff, 0xb9, 0xd6, 0xf6, 0xc5, 0x6a, 0xaa, 0x2a, 0xaa, 0xa7, 0x72, 0x04, 0x6a, 0x72, 0x7f, 0x7c, 0x5a,
- 0x25, 0x6a, 0xe4, 0x61, 0xb5, 0xb0, 0x20, 0xfc, 0x66, 0x72, 0x05, 0x6a, 0xcd, 0x77, 0x65, 0xd5, 0x25, 0x6a, 0x84, 0x59, 0xde, 0xff, 0x2a, 0x2a, 0x66, 0x7a, 0x05, 0x6a, 0xf5, 0xfd, 0xad, 0x02,
- 0x86, 0x72, 0xc3, 0x69, 0x7e, 0x5e, 0xfa, 0xf8, 0x24, 0x72, 0x83, 0x61, 0xfa, 0xaa, 0xf2, 0x70, 0x25, 0x6a, 0xa3, 0x61, 0xdf, 0xe0, 0x8d, 0x89, 0x24, 0x72, 0xa3, 0x61, 0xf7, 0xff, 0xaf, 0x29,
- 0x45, 0x7a, 0xc3, 0x61, 0xfd, 0x7f, 0xfb, 0x8a, 0x04, 0x72, 0xa3, 0x61, 0x5f, 0xff, 0x7e, 0x50, 0xe4, 0x69, 0xa2, 0x61, 0xa9, 0xeb, 0x29, 0xab, 0x04, 0x72, 0xa3, 0x61, 0xab, 0xa6, 0xbf, 0xaf,
- 0xdb, 0xd6, 0x84, 0x59, 0x0d, 0x05, 0xd5, 0x55, 0xba, 0xd6, 0x09, 0x5a, 0x00, 0x00, 0x00, 0x01, 0x9a, 0xce, 0x79, 0xc6, 0x8a, 0xaa, 0xa8, 0xe9, 0x7a, 0xce, 0x99, 0xc6, 0x88, 0xfe, 0xfe, 0x8b,
- 0x9a, 0xce, 0x79, 0xce, 0xeb, 0x2d, 0x0c, 0xeb, 0x9a, 0xd6, 0x79, 0xce, 0xfe, 0xfe, 0xbf, 0xfd, 0x9a, 0xd6, 0x79, 0xc6, 0xab, 0xaf, 0xaa, 0xaf, 0x9a, 0xd6, 0x79, 0xc6, 0xbf, 0xea, 0xaa, 0xba,
- 0x9a, 0xce, 0x79, 0xce, 0xa9, 0xa8, 0x02, 0x28, 0x9a, 0xce, 0x79, 0xce, 0x03, 0x0a, 0xa0, 0xc0, 0x9a, 0xce, 0x79, 0xce, 0xb0, 0xbb, 0x83, 0xa2, 0x9a, 0xce, 0x79, 0xc6, 0xe3, 0xaa, 0xaa, 0xaa,
- 0x9a, 0xce, 0x79, 0xc6, 0xff, 0xbb, 0xfe, 0xbe, 0x7a, 0xce, 0x59, 0xc6, 0xba, 0xe8, 0xa2, 0x20, 0x79, 0xce, 0x5a, 0xbe, 0xbe, 0xaa, 0xa8, 0x2a, 0x7a, 0xce, 0x59, 0xbe, 0xbe, 0xae, 0x88, 0x88,
- 0x79, 0xce, 0x5a, 0xc6, 0x9d, 0xff, 0xe8, 0x2a, 0x9a, 0xce, 0x59, 0xbe, 0xff, 0xfb, 0xaa, 0xaa, 0x7a, 0xce, 0x59, 0xbe, 0xaf, 0xaa, 0xaa, 0xaa, 0x9a, 0xce, 0x59, 0xbe, 0x7f, 0xfa, 0xfe, 0xea,
- 0x7a, 0xce, 0x59, 0xbe, 0xff, 0xef, 0xaa, 0xae, 0x7a, 0xce, 0x59, 0xbe, 0xbe, 0xfa, 0xea, 0xaa, 0x9a, 0xce, 0x59, 0xbe, 0xef, 0xff, 0xfe, 0xea, 0x7a, 0xce, 0x59, 0xbe, 0x8e, 0xaa, 0xff, 0xae,
- 0x7a, 0xce, 0x59, 0xbe, 0xab, 0xaa, 0xfb, 0xef, 0xba, 0xce, 0x05, 0x62, 0x00, 0x00, 0xc0, 0x70, 0xb8, 0xde, 0xc4, 0x61, 0x54, 0x57, 0x55, 0x55, 0x66, 0x6a, 0xe4, 0x61, 0xab, 0x7c, 0xf6, 0xd6,
- 0x46, 0x72, 0x04, 0x6a, 0xab, 0x3d, 0xcd, 0xe9, 0x66, 0x72, 0xc4, 0x61, 0x88, 0xe8, 0xfa, 0x7b, 0x46, 0x6a, 0xc4, 0x61, 0x0a, 0xbe, 0xbf, 0xb5, 0x25, 0x6a, 0xc3, 0x61, 0x20, 0x20, 0xba, 0x5a,
- 0x65, 0x72, 0xc4, 0x61, 0x8a, 0xfa, 0xfa, 0x77, 0x25, 0x6a, 0xa3, 0x61, 0x20, 0xa8, 0xfe, 0x5f, 0x25, 0x72, 0x83, 0x59, 0x02, 0x02, 0xfb, 0x57, 0xa7, 0x7a, 0xa4, 0x61, 0xab, 0xff, 0xfd, 0xa3,
- 0x45, 0x6a, 0xc3, 0x61, 0x78, 0xfe, 0x7f, 0xaa, 0x45, 0x6a, 0xc4, 0x61, 0xfa, 0xf5, 0x35, 0x3e, 0x66, 0x72, 0xa4, 0x61, 0x7e, 0xfe, 0x3a, 0xf8, 0x86, 0x72, 0x63, 0x59, 0x55, 0xff, 0x8a, 0xca,
- 0x86, 0x72, 0x83, 0x59, 0x5d, 0xfd, 0xab, 0x22, 0x6a, 0x8b, 0x63, 0x51, 0x5d, 0x5f, 0xff, 0xe2, 0xcc, 0x93, 0xa3, 0x59, 0x55, 0xbd, 0x03, 0xff, 0x0b, 0xa4, 0xc4, 0x61, 0xeb, 0xf8, 0xfb, 0x5f,
- 0x86, 0x72, 0xe4, 0x61, 0xaa, 0x28, 0x7d, 0x7b, 0x6a, 0x8b, 0xc4, 0x61, 0x8f, 0xff, 0xff, 0xf9, 0xab, 0x8b, 0xc4, 0x59, 0xff, 0x5d, 0x57, 0xc8, 0xdb, 0xce, 0x05, 0x5a, 0x55, 0xf5, 0xd5, 0x2d,
- 0xba, 0xce, 0x88, 0x5a, 0x01, 0x00, 0x00, 0x00, 0x9a, 0xce, 0x59, 0xbe, 0xbf, 0xaa, 0xea, 0xea, 0x9a, 0xce, 0x59, 0xc6, 0xba, 0xab, 0xdf, 0xff, 0x9a, 0xce, 0x79, 0xc6, 0x8b, 0x02, 0xd5, 0x57,
- 0x9a, 0xd6, 0x79, 0xc6, 0xf8, 0xa2, 0xdf, 0x5d, 0x99, 0xce, 0x7a, 0xc6, 0xe8, 0x00, 0xbf, 0x7f, 0xfb, 0xd6, 0x79, 0xc6, 0x4b, 0x7f, 0xff, 0xd5, 0xba, 0xce, 0xee, 0x62, 0x70, 0x80, 0x00, 0x00,
- 0xbb, 0xce, 0xce, 0x5a, 0xf5, 0x00, 0x00, 0x00, 0xfb, 0xd6, 0x6c, 0x4a, 0x57, 0x00, 0x00, 0x00, 0xfb, 0xd6, 0x6a, 0x52, 0x55, 0x02, 0x00, 0x00, 0xfb, 0xd6, 0x8a, 0x52, 0x55, 0x30, 0x00, 0x00,
- 0x1c, 0xd7, 0x6a, 0x52, 0xd5, 0x20, 0x00, 0x00, 0xfc, 0xd6, 0xab, 0x62, 0x55, 0x00, 0x00, 0x00, 0xfb, 0xd6, 0xac, 0x5a, 0x55, 0xf0, 0x00, 0x00, 0x3c, 0xdf, 0x4a, 0x52, 0x55, 0xd5, 0x00, 0x00,
- 0xfb, 0xd6, 0x2a, 0x4a, 0x55, 0x55, 0x00, 0x00, 0x1c, 0xd7, 0x09, 0x42, 0x55, 0x55, 0x00, 0x00, 0xbb, 0xce, 0x2a, 0x4a, 0x55, 0x55, 0xee, 0x00, 0x1c, 0xcf, 0x29, 0x4a, 0x55, 0x55, 0x55, 0x00,
- 0xfc, 0xd6, 0x4a, 0x52, 0x55, 0x55, 0x5d, 0x00, 0xbb, 0xce, 0x09, 0x4a, 0x57, 0x55, 0x2a, 0x00, 0xbb, 0xce, 0x08, 0x4a, 0x75, 0x55, 0x02, 0x00, 0xfc, 0xce, 0x4a, 0x4a, 0x55, 0x55, 0x78, 0x00,
- 0xfc, 0xce, 0x4a, 0x52, 0x55, 0x55, 0x55, 0x00, 0xdc, 0xce, 0x6a, 0x52, 0x55, 0x55, 0x7f, 0x00, 0xdc, 0xc6, 0x8a, 0x5a, 0x55, 0x55, 0x55, 0x08, 0xdc, 0xce, 0x69, 0x52, 0x55, 0x55, 0x55, 0x20,
- 0xdc, 0xce, 0x4a, 0x52, 0x55, 0x55, 0x55, 0x00, 0xdc, 0xc6, 0x49, 0x4a, 0x55, 0x55, 0x55, 0x00, 0xdc, 0xce, 0x29, 0x4a, 0x55, 0x55, 0x55, 0x00, 0xfc, 0xc6, 0x6a, 0x52, 0x55, 0x55, 0x55, 0x00,
- 0xfc, 0xc6, 0x6a, 0x52, 0x55, 0x55, 0x55, 0x08, 0xdc, 0xce, 0x6a, 0x52, 0x55, 0x55, 0xbd, 0x00, 0xdc, 0xce, 0xab, 0x52, 0x55, 0x55, 0xff, 0x00, 0xdc, 0xce, 0x8b, 0x52, 0x55, 0x55, 0x0b, 0x00,
- 0x9a, 0xce, 0x79, 0xbe, 0xff, 0xff, 0xaa, 0xaa, 0x7a, 0xc6, 0x59, 0xbe, 0x4b, 0x20, 0x00, 0x88, 0x9a, 0xc6, 0x79, 0xbe, 0xd5, 0xfe, 0x38, 0xeb, 0x9a, 0xc6, 0x79, 0xbe, 0x55, 0x7d, 0xe2, 0x0a,
- 0x9a, 0xc6, 0x79, 0xbe, 0x55, 0x9f, 0xa2, 0x80, 0x9a, 0xc6, 0x59, 0xbe, 0xaf, 0xfa, 0xaa, 0x8a, 0x9a, 0xc6, 0x59, 0xbe, 0xaa, 0xaf, 0xaa, 0xaa, 0x9a, 0xc6, 0x79, 0xc6, 0xfa, 0x5f, 0xfe, 0xf6,
- 0x9a, 0xc6, 0x79, 0xbe, 0xad, 0xd1, 0xec, 0xeb, 0x9a, 0xc6, 0x79, 0xbe, 0xfa, 0xfa, 0xbb, 0xbe, 0x9a, 0xce, 0x79, 0xbe, 0xff, 0xaf, 0xef, 0xbf, 0x9a, 0xce, 0x79, 0xbe, 0xbb, 0xff, 0xff, 0xbf,
- 0x9a, 0xce, 0x79, 0xbe, 0xba, 0xaf, 0xfe, 0xaa, 0x9a, 0xce, 0x79, 0xc6, 0xdf, 0x7f, 0xef, 0xef, 0x7a, 0xce, 0x99, 0xc6, 0xeb, 0x7f, 0xfd, 0xff, 0x9a, 0xce, 0x79, 0xc6, 0xa8, 0xbf, 0xef, 0xaa,
- 0x9a, 0xce, 0x79, 0xc6, 0xa8, 0xff, 0xba, 0xaa, 0x9a, 0xce, 0x79, 0xc6, 0x02, 0xa2, 0xaa, 0xfa, 0xba, 0xce, 0x79, 0xc6, 0xaa, 0xae, 0xfb, 0xbb, 0x9a, 0xce, 0x79, 0xc6, 0x00, 0xa0, 0xb2, 0xaa,
- 0x9a, 0xce, 0x79, 0xc6, 0x28, 0x28, 0xef, 0xaa, 0x9a, 0xce, 0x79, 0xc6, 0x20, 0x8b, 0xaf, 0xfa, 0x9a, 0xce, 0x79, 0xc6, 0x82, 0xaa, 0xae, 0xbf, 0x9a, 0xce, 0x79, 0xc6, 0x22, 0xba, 0xeb, 0xfb,
- 0x9a, 0xce, 0x79, 0xc6, 0xaa, 0xaa, 0xaf, 0xfb, 0xba, 0xce, 0x79, 0xc6, 0xba, 0xea, 0xff, 0xfb, 0x7a, 0xce, 0x99, 0xc6, 0xaf, 0xaa, 0xff, 0xff, 0x79, 0xce, 0x9a, 0xc6, 0xde, 0xfb, 0xfe, 0xbf,
- 0x9a, 0xce, 0x79, 0xc6, 0xaa, 0xff, 0xba, 0x2a, 0x9a, 0xce, 0x79, 0xc6, 0x77, 0xb7, 0xaa, 0xaa, 0xfa, 0xd6, 0xcb, 0x8b, 0x80, 0x40, 0xc0, 0x00, 0xa6, 0x72, 0xa4, 0x59, 0xaa, 0xe2, 0x75, 0x5c,
- 0x45, 0x72, 0x83, 0x59, 0xa0, 0x55, 0xff, 0x4f, 0x25, 0x6a, 0x42, 0x51, 0x2a, 0x8a, 0xef, 0x7a, 0x24, 0x72, 0x43, 0x51, 0x2a, 0x2a, 0x2a, 0x2d, 0x86, 0x7a, 0x03, 0x6a, 0x22, 0xff, 0xde, 0xfd,
- 0x44, 0x72, 0x83, 0x61, 0xa0, 0xea, 0xbf, 0x97, 0x24, 0x72, 0x42, 0x59, 0x70, 0xd8, 0xfe, 0x7e, 0xe4, 0x69, 0x63, 0x61, 0xcb, 0xed, 0x8d, 0xf3, 0xe4, 0x69, 0x83, 0x61, 0x3f, 0x09, 0x35, 0x8d,
- 0x44, 0x72, 0xc3, 0x69, 0xa2, 0x8a, 0xad, 0xaf, 0x04, 0x72, 0xa2, 0x69, 0xea, 0xdf, 0xea, 0xe8, 0xe4, 0x71, 0xa3, 0x61, 0x7e, 0xae, 0x2a, 0xab, 0x04, 0x72, 0xa3, 0x69, 0x8d, 0xbf, 0x9e, 0xe6,
- 0x05, 0x72, 0xc3, 0x69, 0xaa, 0xaa, 0xa2, 0xa9, 0x9b, 0xd6, 0xc5, 0x69, 0x05, 0x15, 0x55, 0x55, 0xbb, 0xce, 0x69, 0x62, 0x00, 0x00, 0x00, 0x01, 0x9a, 0xce, 0x79, 0xc6, 0xf7, 0xff, 0xef, 0xba,
- 0x59, 0xce, 0x9a, 0xc6, 0xef, 0xfb, 0xff, 0xff, 0x7a, 0xce, 0x99, 0xc6, 0xab, 0xab, 0xaa, 0x80, 0x9a, 0xce, 0x79, 0xc6, 0xaa, 0xea, 0xba, 0xaa, 0x9a, 0xce, 0x79, 0xc6, 0xaa, 0xab, 0xbe, 0x2a,
- 0x9a, 0xce, 0x79, 0xc6, 0xaa, 0xbe, 0xaa, 0xaa, 0x9a, 0xce, 0x79, 0xc6, 0xaa, 0xea, 0xaa, 0x8a, 0x9a, 0xce, 0x79, 0xce, 0xa0, 0x7f, 0xfb, 0x00, 0x9a, 0xce, 0x79, 0xc6, 0xaa, 0xee, 0xef, 0xaa,
- 0x7a, 0xce, 0x99, 0xc6, 0xaa, 0xb0, 0xb0, 0xfa, 0x79, 0xce, 0x9a, 0xc6, 0xab, 0xde, 0xaa, 0xea, 0x79, 0xce, 0x9a, 0xc6, 0xae, 0xb6, 0xaa, 0x2f, 0x9a, 0xce, 0x79, 0xc6, 0xfd, 0xf7, 0xff, 0xe7,
- 0x9a, 0xce, 0x79, 0xc6, 0xfd, 0xff, 0xff, 0xdf, 0x9a, 0xce, 0x59, 0xc6, 0xfb, 0xbf, 0xba, 0xae, 0x79, 0xce, 0x9a, 0xc6, 0xff, 0xae, 0xfe, 0xba, 0x9a, 0xce, 0x79, 0xc6, 0xff, 0xae, 0xaa, 0xbf,
- 0x79, 0xce, 0x9a, 0xc6, 0xef, 0x02, 0xfa, 0xaa, 0x9a, 0xce, 0x79, 0xc6, 0xff, 0xef, 0xaa, 0xbb, 0x9a, 0xce, 0x79, 0xc6, 0xf7, 0xbe, 0xea, 0xbb, 0x9a, 0xce, 0x79, 0xc6, 0x5b, 0xfb, 0xba, 0xfe,
- 0xba, 0xd6, 0xe9, 0x72, 0x00, 0x00, 0x00, 0x40, 0xb9, 0xde, 0xa4, 0x59, 0x5c, 0x56, 0x55, 0x55, 0x05, 0x6a, 0x64, 0x51, 0x06, 0xa7, 0xe5, 0x7f, 0x25, 0x6a, 0x84, 0x59, 0x28, 0xae, 0xb7, 0xbf,
- 0x46, 0x72, 0xc4, 0x69, 0x0a, 0xcb, 0xeb, 0x7b, 0x25, 0x72, 0xc3, 0x69, 0x7c, 0x76, 0x77, 0x5d, 0x05, 0x6a, 0xa4, 0x61, 0x3e, 0xff, 0xb7, 0x2e, 0x05, 0x6a, 0xa3, 0x61, 0x78, 0xe0, 0x6b, 0xef,
- 0x05, 0x6a, 0xa4, 0x61, 0x83, 0x21, 0x8a, 0xbe, 0xe5, 0x71, 0xa3, 0x61, 0xfa, 0x9c, 0x28, 0x22, 0x04, 0x72, 0x63, 0x59, 0x2d, 0x2a, 0xaa, 0xb7, 0x66, 0x72, 0xc4, 0x61, 0xa3, 0x03, 0xf3, 0x7d,
- 0xc7, 0x82, 0xe4, 0x69, 0xff, 0xd7, 0xcd, 0x4d, 0xa7, 0x7a, 0xc4, 0x61, 0xf5, 0xfd, 0xd7, 0x54, 0x88, 0x72, 0xa4, 0x61, 0xbe, 0xf7, 0xbf, 0x3f, 0x6a, 0x8b, 0x63, 0x51, 0xbe, 0xff, 0x5f, 0x70,
- 0x6a, 0x8b, 0xa4, 0x59, 0xfe, 0x7f, 0xc5, 0xd7, 0xc8, 0x7a, 0xe5, 0x59, 0xda, 0xf3, 0x72, 0x1f, 0xeb, 0x9b, 0x84, 0x51, 0xfd, 0xdf, 0x35, 0x0f, 0x0c, 0x9c, 0x04, 0x5a, 0x33, 0x9a, 0xec, 0x20,
- 0xcf, 0xbc, 0xa4, 0x59, 0x5f, 0xd5, 0x8b, 0x00, 0x30, 0xcd, 0x26, 0x62, 0xdd, 0xe2, 0x3a, 0xaf, 0x30, 0xbd, 0x45, 0x72, 0x23, 0xe2, 0x97, 0x27, 0xba, 0xd6, 0x8f, 0xa4, 0x09, 0x01, 0x02, 0x00,
- 0x9a, 0xce, 0x79, 0xce, 0xa7, 0x2f, 0x28, 0x0b, 0x9a, 0xce, 0x79, 0xc6, 0xaa, 0x0a, 0x0a, 0x02, 0x9a, 0xd6, 0x79, 0xc6, 0xff, 0xfe, 0xaa, 0xaa, 0x9a, 0xce, 0x79, 0xc6, 0xef, 0xff, 0xaa, 0x80,
- 0x9a, 0xce, 0x79, 0xc6, 0xff, 0xbf, 0xaa, 0xaa, 0x9a, 0xce, 0x79, 0xc6, 0xdf, 0x77, 0xba, 0x2a, 0x9a, 0xce, 0x79, 0xc6, 0xd5, 0xff, 0xff, 0xaa, 0x9a, 0xce, 0x79, 0xc6, 0xeb, 0x7d, 0xfd, 0xba,
- 0x79, 0xce, 0x9a, 0xc6, 0xfe, 0xea, 0xa2, 0xaa, 0x79, 0xce, 0x9a, 0xc6, 0xe2, 0x2f, 0xef, 0xba, 0x9a, 0xce, 0x59, 0xc6, 0xbe, 0xff, 0xff, 0xab, 0x7a, 0xce, 0x99, 0xc6, 0x08, 0xef, 0xf7, 0xab,
- 0x9a, 0xce, 0x79, 0xc6, 0xba, 0xfd, 0x75, 0xd5, 0x99, 0xce, 0x7a, 0xc6, 0xef, 0xfd, 0xd7, 0xdf, 0x79, 0xce, 0x9a, 0xc6, 0xcb, 0xaa, 0x7a, 0xaa, 0x9a, 0xce, 0x79, 0xc6, 0xba, 0xa7, 0xf5, 0x57,
- 0x9a, 0xce, 0x79, 0xc6, 0xab, 0xff, 0xf5, 0x55, 0x9a, 0xce, 0x79, 0xc6, 0xaa, 0xee, 0x7b, 0x55, 0x9a, 0xce, 0x79, 0xc6, 0xaa, 0xab, 0xff, 0x57, 0x9a, 0xce, 0x79, 0xc6, 0x8b, 0xf9, 0xfa, 0x55,
- 0x9a, 0xce, 0x79, 0xc6, 0x7a, 0xbf, 0x7f, 0x75, 0x9a, 0xce, 0x79, 0xc6, 0xef, 0x7a, 0xdd, 0xff, 0x9a, 0xce, 0x79, 0xc6, 0x5f, 0xf9, 0xff, 0xfe, 0x9a, 0xc6, 0x79, 0xc6, 0xff, 0xb8, 0xaf, 0xb9,
- 0x9a, 0xce, 0x79, 0xc6, 0x55, 0x5f, 0xbf, 0xbe, 0x9a, 0xce, 0x59, 0xc6, 0x5f, 0xae, 0xba, 0xaa, 0x9a, 0xce, 0x79, 0xbe, 0xff, 0xae, 0xae, 0xaa, 0x9a, 0xce, 0x59, 0xc6, 0xfd, 0xfe, 0xaa, 0xaa,
- 0x9b, 0xce, 0x79, 0xc6, 0x55, 0xfd, 0xdf, 0xef, 0x9a, 0xce, 0x59, 0xc6, 0x76, 0xfb, 0xaa, 0xaa, 0x9a, 0xce, 0x79, 0xc6, 0x7f, 0xdb, 0xef, 0xea, 0x9a, 0xce, 0x59, 0xbe, 0xff, 0xef, 0xea, 0xaa,
- 0x9a, 0xce, 0x59, 0xbe, 0xff, 0xee, 0xaa, 0xaa, 0x7a, 0xce, 0x59, 0xc6, 0x5f, 0xff, 0xaa, 0x08, 0x9a, 0xce, 0x59, 0xc6, 0x7d, 0xff, 0xbf, 0x8a, 0x9a, 0xce, 0x59, 0xc6, 0xdf, 0xfe, 0xea, 0x8a,
- 0x7a, 0xc6, 0x59, 0xbe, 0x20, 0xbb, 0xbf, 0xfb, 0x7a, 0xc6, 0x59, 0xbe, 0x2e, 0x8a, 0xeb, 0xf7, 0x9a, 0xc6, 0x59, 0xbe, 0xab, 0xff, 0x77, 0xfd, 0x9a, 0xc6, 0x59, 0xbe, 0xea, 0xaf, 0xab, 0xaf,
- 0x9a, 0xc6, 0x79, 0xbe, 0xee, 0xad, 0xfa, 0xfb, 0x9a, 0xc6, 0x59, 0xbe, 0xa2, 0xab, 0xfa, 0xba, 0x7a, 0xc6, 0x59, 0xbe, 0x00, 0x02, 0x8b, 0x2a, 0x9a, 0xc6, 0x79, 0xbe, 0xae, 0xfe, 0xeb, 0xbe,
- 0x9a, 0xc6, 0x59, 0xbe, 0xea, 0xfb, 0xaa, 0x2a, 0x99, 0xce, 0x7a, 0xc6, 0x55, 0xfd, 0xaa, 0x0a, 0x9a, 0xce, 0x79, 0xc6, 0xff, 0xff, 0xea, 0xf8, 0x9a, 0xce, 0x79, 0xc6, 0xaa, 0xbf, 0xb7, 0xff,
- 0x79, 0xce, 0x9a, 0xc6, 0x9f, 0xfa, 0xbb, 0xfa, 0x79, 0xce, 0x9a, 0xc6, 0xbe, 0x7a, 0xef, 0xea, 0x79, 0xce, 0x9a, 0xc6, 0xfe, 0xfe, 0xff, 0xeb, 0xba, 0xce, 0x79, 0xc6, 0xea, 0x7f, 0xff, 0xfe,
- 0x9a, 0xce, 0x79, 0xbe, 0xaa, 0xff, 0xff, 0xbe, 0x9a, 0xce, 0x7a, 0xc6, 0xfa, 0xff, 0x77, 0x75, 0x9a, 0xce, 0x7a, 0xbe, 0xaa, 0xba, 0xbf, 0xef, 0x9a, 0xce, 0x79, 0xbe, 0xaa, 0xaa, 0xef, 0xff,
- 0x9a, 0xce, 0x79, 0xc6, 0xba, 0xef, 0xbf, 0xab, 0x9a, 0xc6, 0x79, 0xc6, 0xae, 0x0f, 0xeb, 0xe0, 0x9a, 0xce, 0x79, 0xc6, 0xaa, 0x7a, 0xbb, 0xaf, 0xbb, 0xce, 0x79, 0xc6, 0xff, 0xfd, 0xff, 0xbb,
- 0x9a, 0xce, 0x79, 0xc6, 0xaa, 0x9e, 0xbe, 0xab, 0x9a, 0xce, 0x7a, 0xc6, 0xae, 0x2a, 0x00, 0x00, 0xba, 0xce, 0x79, 0xce, 0xbe, 0xaa, 0xaa, 0xea, 0xba, 0xce, 0x79, 0xce, 0xaf, 0xba, 0xaa, 0x2a,
- 0xba, 0xd6, 0x79, 0xc6, 0xff, 0xef, 0xab, 0xaa, 0x9a, 0xd6, 0x79, 0xc6, 0xeb, 0xbf, 0xee, 0xea, 0xd9, 0xd6, 0xa3, 0x59, 0xc0, 0x40, 0x60, 0x50, 0x44, 0x6a, 0x23, 0x59, 0xf8, 0xfa, 0x7f, 0xff,
- 0x04, 0x6a, 0x43, 0x59, 0xea, 0x2f, 0xbd, 0x55, 0xe4, 0x61, 0x42, 0x59, 0xfc, 0xdf, 0xff, 0x7d, 0x65, 0x7a, 0x62, 0x59, 0x2d, 0x0d, 0x09, 0x09, 0x44, 0x7a, 0x62, 0x61, 0xa0, 0xe0, 0xe8, 0x68,
- 0xc3, 0x69, 0x42, 0x59, 0x96, 0xce, 0xe9, 0xf2, 0xc3, 0x69, 0x62, 0x61, 0xbd, 0xfb, 0xbc, 0xde, 0xe3, 0x69, 0x82, 0x61, 0x51, 0x61, 0x68, 0x58, 0xe4, 0x69, 0x83, 0x61, 0xae, 0x29, 0xab, 0x39,
- 0x25, 0x72, 0xc3, 0x69, 0x2b, 0x9f, 0xbb, 0xba, 0x44, 0x72, 0xa3, 0x69, 0xde, 0x78, 0x78, 0x7e, 0xe4, 0x71, 0xa3, 0x69, 0x93, 0xf5, 0xae, 0xed, 0xc4, 0x71, 0xe3, 0x69, 0x09, 0xf7, 0x7a, 0xae,
- 0x24, 0x72, 0xa3, 0x69, 0xad, 0x2f, 0xbf, 0xdf, 0x05, 0x72, 0xe3, 0x69, 0x3b, 0x32, 0xd6, 0xde, 0xdc, 0xd6, 0xe6, 0x61, 0x05, 0x35, 0x15, 0x55, 0xfc, 0xe6, 0x79, 0xce, 0x55, 0x55, 0x77, 0xfc,
- 0x9a, 0xd6, 0x79, 0xc6, 0xff, 0xba, 0xaa, 0xaa, 0xba, 0xce, 0x99, 0xce, 0xd5, 0xd6, 0xfd, 0xff, 0xba, 0xd6, 0x99, 0xce, 0x55, 0xdd, 0xbf, 0xff, 0xba, 0xd6, 0x79, 0xce, 0x7f, 0xff, 0xaf, 0xae,
- 0xba, 0xd6, 0x99, 0xce, 0x55, 0xd5, 0xfd, 0x7f, 0xba, 0xd6, 0x99, 0xce, 0xd5, 0xd5, 0x5f, 0xff, 0xba, 0xd6, 0x79, 0xce, 0xff, 0xbb, 0xfb, 0xff, 0xba, 0xd6, 0x99, 0xce, 0x55, 0xff, 0xff, 0xff,
- 0xba, 0xd6, 0x79, 0xce, 0xff, 0xff, 0xbf, 0xbf, 0xba, 0xd6, 0x99, 0xc6, 0xff, 0xfe, 0xaf, 0xea, 0x9a, 0xd6, 0x79, 0xc6, 0xff, 0xfa, 0xaa, 0xaa, 0x9a, 0xd6, 0x79, 0xc6, 0xff, 0xff, 0xaa, 0xaa,
- 0x9a, 0xce, 0x79, 0xc6, 0xbf, 0x00, 0x00, 0x00, 0x9a, 0xd6, 0x79, 0xc6, 0xff, 0xab, 0xaa, 0xaa, 0x9a, 0xce, 0x79, 0xc6, 0xea, 0x00, 0x00, 0x00, 0x9a, 0xce, 0x79, 0xc6, 0xae, 0xa2, 0xa0, 0x80,
- 0x79, 0xce, 0x9a, 0xc6, 0xab, 0xae, 0xaf, 0xfa, 0x9a, 0xce, 0x79, 0xc6, 0xef, 0xea, 0x2a, 0x8a, 0x9a, 0xce, 0x79, 0xc6, 0xff, 0x7a, 0xaa, 0xaa, 0xdb, 0xd6, 0xf2, 0xb4, 0xaa, 0x2a, 0x2a, 0x4a,
- 0xb9, 0xde, 0x63, 0x51, 0x60, 0x54, 0x56, 0x55, 0x25, 0x72, 0x43, 0x51, 0xf8, 0xaa, 0xb5, 0xef, 0x45, 0x72, 0x43, 0x49, 0x76, 0xe5, 0xe3, 0xe2, 0x05, 0x72, 0x83, 0x51, 0x2e, 0xaf, 0xef, 0xb9,
- 0x04, 0x6a, 0x85, 0x51, 0x88, 0xbe, 0xfd, 0x26, 0xe4, 0x61, 0x83, 0x59, 0xbb, 0xbe, 0xea, 0x85, 0x05, 0x6a, 0xa4, 0x59, 0xfe, 0xd5, 0x72, 0xe8, 0x04, 0x6a, 0x63, 0x59, 0xbb, 0x9f, 0xfa, 0x8a,
- 0xe4, 0x69, 0x63, 0x61, 0xa8, 0xe8, 0xaa, 0xfd, 0x04, 0x6a, 0x63, 0x59, 0x0b, 0xad, 0xee, 0xef, 0x25, 0x72, 0x83, 0x59, 0xf6, 0xe5, 0x5f, 0x35, 0x4c, 0xb4, 0x84, 0x59, 0x55, 0xd5, 0x2b, 0x28,
- 0x6d, 0xb4, 0xe4, 0x61, 0xa5, 0xeb, 0xfe, 0x02, 0x0b, 0xac, 0x26, 0x62, 0x55, 0xab, 0xb8, 0xa0, 0xec, 0x9b, 0xa7, 0x72, 0x3d, 0x83, 0xaa, 0x88, 0x0c, 0x9c, 0x05, 0x62, 0x54, 0x5e, 0xfa, 0xaa,
- 0x6d, 0xa4, 0xc5, 0x59, 0xf5, 0xb7, 0x2b, 0x2a, 0xad, 0xb4, 0x29, 0x83, 0x5e, 0xaf, 0x2c, 0x0a, 0xee, 0xbc, 0x28, 0x83, 0x9d, 0x8a, 0xf2, 0xfe, 0x2f, 0xc5, 0x86, 0x7a, 0xaa, 0x2a, 0xe2, 0x5a,
- 0x0f, 0xcd, 0x45, 0x72, 0xe0, 0x5c, 0x55, 0x55, 0x6d, 0xb4, 0xa7, 0x7a, 0x2d, 0xad, 0x2b, 0x83, 0xb9, 0xd6, 0x85, 0x82, 0x3d, 0x2f, 0x0b, 0x0a, 0x9a, 0xce, 0x79, 0xce, 0x26, 0x00, 0xa0, 0x00,
- 0xba, 0xce, 0x99, 0xce, 0x57, 0x5f, 0xd5, 0xaf, 0xba, 0xce, 0x79, 0xce, 0xbe, 0xbf, 0xea, 0xea, 0xba, 0xce, 0x79, 0xce, 0xff, 0xff, 0xbe, 0xea, 0xba, 0xd6, 0x79, 0xc6, 0xff, 0xff, 0xfe, 0xaa,
- 0x9a, 0xce, 0x79, 0xc6, 0xa8, 0xaa, 0xa2, 0x00, 0x9a, 0xce, 0x79, 0xc6, 0xa8, 0xea, 0xea, 0xa2, 0x79, 0xce, 0x9a, 0xc6, 0x0a, 0x22, 0x65, 0xae, 0x9a, 0xce, 0x79, 0xc6, 0xaf, 0xfb, 0x7f, 0xaa,
- 0x9a, 0xce, 0x79, 0xc6, 0xaa, 0xbe, 0xae, 0xaa, 0x9a, 0xce, 0x79, 0xc6, 0xff, 0xef, 0xaa, 0xa8, 0x79, 0xce, 0x9a, 0xc6, 0xae, 0x2d, 0x8a, 0xae, 0x9a, 0xce, 0x79, 0xc6, 0xff, 0xfd, 0xdf, 0xaf,
- 0x9a, 0xce, 0x79, 0xc6, 0xff, 0x7f, 0xff, 0xfb, 0x7a, 0xce, 0x99, 0xc6, 0xe9, 0xbe, 0xff, 0xab, 0x9a, 0xc6, 0x59, 0xc6, 0xfa, 0xfa, 0xaa, 0xbb, 0x9b, 0xce, 0x59, 0xc6, 0xfb, 0xee, 0xea, 0xfb,
- 0x9a, 0xce, 0x79, 0xc6, 0x55, 0x5f, 0x55, 0xdf, 0x9a, 0xce, 0x59, 0xbe, 0xeb, 0xaa, 0xaa, 0xaa, 0x9a, 0xce, 0x59, 0xc6, 0xff, 0xff, 0xba, 0xeb, 0x9a, 0xce, 0x79, 0xc6, 0xf5, 0xbd, 0xf7, 0xff,
- 0x9a, 0xce, 0x79, 0xc6, 0xfd, 0xab, 0xaa, 0xa2, 0x79, 0xce, 0x9a, 0xc6, 0xfe, 0xb9, 0x8a, 0xeb, 0x9a, 0xce, 0x79, 0xc6, 0x9e, 0xae, 0x0a, 0xaa, 0x9a, 0xce, 0x79, 0xc6, 0xaf, 0xab, 0x88, 0x00,
- 0x9a, 0xce, 0x79, 0xc6, 0xaa, 0xa8, 0xaa, 0xe8, 0x79, 0xce, 0x9a, 0xc6, 0xfb, 0xbb, 0x6a, 0xfa, 0x9a, 0xce, 0x79, 0xc6, 0xab, 0xab, 0xee, 0xea, 0x9a, 0xce, 0x79, 0xc6, 0xfe, 0xaa, 0x2a, 0xae,
- 0x9a, 0xce, 0x79, 0xc6, 0xab, 0xaa, 0x0a, 0xbe, 0x79, 0xce, 0x9b, 0xc6, 0xea, 0xea, 0xaa, 0xfa, 0x9a, 0xce, 0x79, 0xc6, 0xa8, 0xa0, 0x22, 0xaa, 0x9a, 0xce, 0x79, 0xc6, 0xee, 0xa8, 0xaa, 0x8a,
- 0x9a, 0xce, 0x79, 0xc6, 0xea, 0xba, 0x28, 0xaa, 0x9a, 0xce, 0x79, 0xc6, 0xaa, 0x2a, 0xa8, 0xea, 0x9a, 0xd6, 0x79, 0xc6, 0xff, 0xaa, 0xae, 0xff, 0x9a, 0xce, 0x79, 0xc6, 0xaa, 0xa8, 0x20, 0xa8,
- 0x7a, 0xc6, 0x59, 0xbe, 0xfa, 0x5f, 0x55, 0xd5, 0x7b, 0xc6, 0x59, 0xb6, 0xab, 0xea, 0xff, 0xff, 0x9b, 0xc6, 0x59, 0xb6, 0xa3, 0xfe, 0xff, 0xeb, 0x9a, 0xce, 0x59, 0xbe, 0xff, 0x89, 0x0b, 0x0b,
- 0x9a, 0xce, 0x79, 0xc6, 0x55, 0xaa, 0x00, 0x0b, 0x9a, 0xd6, 0x79, 0xc6, 0x55, 0xff, 0xfe, 0xfc, 0x9a, 0xce, 0x79, 0xbe, 0x77, 0xfa, 0xe8, 0xf8, 0x7a, 0xc6, 0x59, 0xbe, 0x82, 0xfa, 0xbc, 0xfd,
- 0x9a, 0xce, 0x59, 0xbe, 0x2f, 0xf7, 0x57, 0x7f, 0x99, 0xce, 0x5a, 0xbe, 0x00, 0xff, 0x55, 0xd5, 0x9a, 0xce, 0x59, 0xbe, 0xfe, 0xdf, 0x75, 0x5d, 0x7a, 0xc6, 0x59, 0xbe, 0x00, 0xea, 0xab, 0xdd,
- 0x9a, 0xc6, 0x59, 0xbe, 0x08, 0xae, 0xad, 0xff, 0x9a, 0xce, 0x79, 0xbe, 0xa8, 0xea, 0xd7, 0xf7, 0x9a, 0xc6, 0x79, 0xbe, 0x00, 0x2a, 0xd5, 0xde, 0x9a, 0xc6, 0x79, 0xbe, 0x80, 0x8a, 0xcd, 0x55,
- 0x9b, 0xc6, 0x79, 0xbe, 0xea, 0xfa, 0x76, 0x75, 0x9a, 0xc6, 0x59, 0xbe, 0xaa, 0xab, 0xba, 0xff, 0x9b, 0xc6, 0x59, 0xbe, 0xaa, 0xab, 0xfb, 0xff, 0x9a, 0xc6, 0x59, 0xbe, 0xaa, 0x8a, 0xaa, 0xbf,
- 0x7b, 0xc6, 0x99, 0xbe, 0x02, 0x00, 0xe2, 0x2f, 0x9a, 0xce, 0x5a, 0xbe, 0xaa, 0x8a, 0xab, 0xfd, 0x9a, 0xce, 0x7a, 0xbe, 0xaa, 0xba, 0xff, 0x5f, 0x9b, 0xc6, 0x79, 0xbe, 0x2a, 0xaa, 0x8a, 0xb9,
- 0x9a, 0xce, 0x7a, 0xc6, 0x2b, 0xab, 0x57, 0x57, 0x9a, 0xce, 0x7a, 0xbe, 0x2a, 0x2a, 0xea, 0xff, 0x9a, 0xce, 0x7a, 0xc6, 0x00, 0x8a, 0xff, 0x55, 0x9a, 0xce, 0x7a, 0xc6, 0x02, 0x2e, 0xab, 0xf7,
- 0x9a, 0xce, 0x7a, 0xc6, 0x00, 0x0a, 0xbb, 0x6f, 0xba, 0xce, 0x79, 0xc6, 0xaa, 0xee, 0xff, 0x5f, 0xf9, 0xde, 0xa4, 0x59, 0x50, 0x50, 0x50, 0x58, 0xe4, 0x69, 0x63, 0x61, 0xfa, 0x6a, 0x40, 0x60,
- 0xc4, 0x61, 0x43, 0x59, 0xdf, 0xff, 0xdf, 0xcb, 0xe4, 0x69, 0x42, 0x59, 0x57, 0x55, 0x3d, 0xaf, 0x64, 0x7a, 0x83, 0x61, 0x09, 0x8b, 0x0b, 0xaa, 0x24, 0x7a, 0x43, 0x61, 0x78, 0xfe, 0x97, 0x35,
- 0xe4, 0x71, 0x42, 0x59, 0xd8, 0xf8, 0x94, 0x3e, 0x05, 0x72, 0x83, 0x61, 0xd7, 0xf7, 0xa6, 0x27, 0xe4, 0x71, 0x62, 0x59, 0x7e, 0xea, 0xf8, 0xb8, 0x04, 0x72, 0x63, 0x61, 0xbd, 0xaf, 0x2a, 0x2a,
- 0x24, 0x72, 0xa3, 0x69, 0xeb, 0x6f, 0xac, 0xe8, 0x04, 0x7a, 0xa2, 0x69, 0x7a, 0xfa, 0x72, 0xeb, 0xc4, 0x71, 0x83, 0x69, 0x8a, 0xaa, 0xfe, 0x9b, 0xe4, 0x71, 0x83, 0x69, 0xe8, 0xad, 0xa2, 0xa9,
- 0x24, 0x7a, 0x83, 0x69, 0x2f, 0xb5, 0xf5, 0xdf, 0x04, 0x7a, 0xa3, 0x69, 0xe8, 0xfa, 0xfe, 0xd7, 0x26, 0x6a, 0x83, 0x61, 0x00, 0x2b, 0x89, 0x2e, 0xdb, 0xd6, 0x09, 0x62, 0x02, 0x01, 0x01, 0x05,
- 0xba, 0xd6, 0x9a, 0xc6, 0xab, 0xbe, 0xef, 0xfd, 0xba, 0xd6, 0x99, 0xce, 0xff, 0xfd, 0x7f, 0x55, 0xba, 0xd6, 0x99, 0xce, 0xff, 0xf7, 0xff, 0x55, 0xba, 0xd6, 0x99, 0xce, 0xff, 0xe7, 0x77, 0xfd,
- 0xba, 0xce, 0x99, 0xce, 0xeb, 0xfd, 0xff, 0x8f, 0xba, 0xce, 0x99, 0xce, 0x5d, 0x5f, 0x25, 0x70, 0xba, 0xd6, 0x79, 0xc6, 0xbe, 0xab, 0xea, 0xaa, 0xba, 0xd6, 0x99, 0xce, 0xf7, 0xff, 0xff, 0xff,
- 0xba, 0xd6, 0x99, 0xce, 0xbf, 0xff, 0xbf, 0xbf, 0x99, 0xd6, 0xba, 0xce, 0xfd, 0xbf, 0xbe, 0xff, 0xba, 0xd6, 0x99, 0xce, 0xef, 0x9f, 0xff, 0xea, 0xba, 0xd6, 0x99, 0xce, 0xbf, 0xbf, 0xee, 0xff,
- 0xba, 0xd6, 0x99, 0xce, 0xef, 0xdb, 0xff, 0x7f, 0x9a, 0xd6, 0xb9, 0xc6, 0xaa, 0xaa, 0xaa, 0xab, 0xba, 0xce, 0x99, 0xce, 0xde, 0xff, 0xab, 0xf5, 0xba, 0xce, 0x99, 0xc6, 0xfa, 0x88, 0xaa, 0xfa,
- 0x9a, 0xd6, 0x7a, 0xc6, 0xaa, 0xaa, 0xaf, 0xff, 0xba, 0xce, 0x79, 0xc6, 0xea, 0xa8, 0xae, 0xba, 0xb9, 0xde, 0x9a, 0xce, 0x55, 0x55, 0x55, 0x15, 0xda, 0xde, 0x84, 0x51, 0x40, 0x50, 0x5c, 0x57,
- 0xc5, 0x61, 0x63, 0x51, 0x5e, 0xff, 0xef, 0xfb, 0xe4, 0x69, 0x63, 0x59, 0xb5, 0x15, 0x2d, 0x2b, 0x24, 0x7a, 0x42, 0x51, 0x70, 0x78, 0xaa, 0xaa, 0x05, 0x72, 0x43, 0x51, 0x01, 0xa9, 0x7a, 0xe8,
- 0x05, 0x72, 0x84, 0x59, 0x0a, 0x23, 0xa9, 0xab, 0x05, 0x72, 0xa3, 0x61, 0x6f, 0xaa, 0xe3, 0xea, 0x04, 0x6a, 0x83, 0x59, 0xfa, 0xae, 0x2f, 0x09, 0x24, 0x72, 0x63, 0x59, 0xea, 0x7a, 0xfa, 0x78,
- 0xa4, 0x61, 0x63, 0x51, 0xb7, 0x3f, 0x8f, 0xee, 0xe4, 0x61, 0x63, 0x59, 0xbd, 0xbf, 0x37, 0xa5, 0x0c, 0xac, 0xa3, 0x59, 0xf5, 0x25, 0xad, 0xfd, 0xae, 0xc4, 0x03, 0x72, 0xb8, 0x54, 0x96, 0x35,
- 0x6d, 0xb4, 0x45, 0x72, 0x3e, 0xae, 0xc6, 0xc4, 0xeb, 0xa3, 0x4a, 0x93, 0xf8, 0xdf, 0x5f, 0xe9, 0xab, 0x9b, 0x87, 0x7a, 0x80, 0xc8, 0x62, 0x6a, 0xab, 0x93, 0x66, 0x72, 0x9f, 0x3a, 0x17, 0x55,
- 0x6d, 0xac, 0x46, 0x6a, 0x2e, 0x02, 0xaa, 0x2d, 0xad, 0xb4, 0x26, 0x6a, 0x80, 0xf8, 0x5e, 0xbe, 0x30, 0xcd, 0x86, 0x72, 0x8d, 0x69, 0xab, 0x7a, 0xef, 0xbc, 0x46, 0x72, 0x56, 0xf5, 0xbd, 0xa0,
- 0xec, 0x9b, 0x26, 0x6a, 0xd7, 0xb5, 0xf5, 0x2c, 0x98, 0xde, 0x48, 0x93, 0xf9, 0x7f, 0xbf, 0x2e, 0xba, 0xce, 0x2d, 0xa4, 0x01, 0x02, 0x00, 0x00, 0x9a, 0xce, 0x7a, 0xc6, 0x00, 0xa0, 0xfb, 0xff,
- 0x9a, 0xce, 0x7a, 0xc6, 0x08, 0xaa, 0xbe, 0xeb, 0xba, 0xce, 0x9a, 0xc6, 0xaa, 0xb3, 0xff, 0x5d, 0x9a, 0xce, 0x7a, 0xc6, 0x00, 0x00, 0xbc, 0xfe, 0xba, 0xce, 0x7a, 0xc6, 0xaa, 0xab, 0xfb, 0xab,
- 0x7a, 0xce, 0xba, 0xc6, 0xbf, 0xaf, 0xfe, 0xae, 0x9b, 0xce, 0x79, 0xc6, 0x80, 0xaa, 0x00, 0x00, 0x9a, 0xce, 0x79, 0xc6, 0x28, 0x8b, 0x02, 0x00, 0xbb, 0xce, 0x99, 0xc6, 0x7f, 0xfe, 0xbf, 0xfa,
- 0xba, 0xce, 0x7a, 0xc6, 0xaa, 0xae, 0xaa, 0xab, 0x9a, 0xce, 0x9a, 0xc6, 0x0a, 0x8a, 0xaa, 0xfa, 0x79, 0xce, 0xbb, 0xc6, 0xaa, 0xaa, 0xbe, 0xbe, 0x99, 0xce, 0xba, 0xc6, 0xa8, 0xa0, 0xbe, 0x28,
- 0x9a, 0xce, 0x99, 0xc6, 0xdf, 0x8a, 0x00, 0x20, 0xbb, 0xd6, 0x99, 0xc6, 0xff, 0xff, 0xaf, 0xaa, 0xba, 0xce, 0x79, 0xc6, 0x7f, 0xee, 0xa8, 0x00, 0x9a, 0xce, 0x79, 0xc6, 0xf7, 0xa8, 0x00, 0x00,
- 0xba, 0xce, 0x7a, 0xc6, 0x75, 0xff, 0xaa, 0xa0, 0xba, 0xce, 0x79, 0xc6, 0xf7, 0xee, 0xaa, 0x20, 0xba, 0xce, 0x99, 0xc6, 0xdd, 0xff, 0xaa, 0x02, 0xba, 0xce, 0x79, 0xc6, 0xd7, 0xfb, 0xa8, 0xa0,
- 0x9b, 0xd6, 0x79, 0xc6, 0xff, 0xae, 0xaa, 0x82, 0xba, 0xd6, 0x79, 0xc6, 0xff, 0xbf, 0xba, 0xaa, 0x9a, 0xd6, 0x99, 0xc6, 0xff, 0xef, 0xfa, 0xea, 0xba, 0xd6, 0x99, 0xc6, 0xff, 0xff, 0xff, 0xfa,
- 0xba, 0xd6, 0x79, 0xc6, 0xff, 0xae, 0xae, 0xab, 0xba, 0xce, 0x99, 0xc6, 0xff, 0xbb, 0xb8, 0xaa, 0xba, 0xce, 0x99, 0xc6, 0xff, 0xfa, 0xaf, 0xaa, 0xba, 0xd6, 0x79, 0xc6, 0xff, 0xff, 0xea, 0xae,
- 0xba, 0xce, 0x79, 0xc6, 0xff, 0xff, 0xea, 0xae, 0x9a, 0xce, 0x7a, 0xc6, 0xea, 0xeb, 0x00, 0x00, 0x9a, 0xce, 0x79, 0xc6, 0x2b, 0x22, 0x28, 0x80, 0x79, 0xce, 0x9a, 0xc6, 0xbb, 0xfa, 0xaa, 0xde,
- 0x9a, 0xce, 0x7a, 0xc6, 0xab, 0xaa, 0xaa, 0x0a, 0x79, 0xce, 0x9a, 0xc6, 0xa7, 0xaf, 0x3a, 0xaf, 0x9a, 0xce, 0x79, 0xce, 0x20, 0xca, 0xf0, 0x00, 0x9a, 0xce, 0x79, 0xce, 0x0a, 0x00, 0x03, 0x00,
- 0x5a, 0xb6, 0x1a, 0xae, 0x02, 0xaa, 0xab, 0xff, 0x5a, 0xbe, 0x1a, 0xae, 0x00, 0x02, 0xff, 0xff, 0x7b, 0xc6, 0x39, 0xae, 0x00, 0xaa, 0xff, 0xd5, 0x7a, 0xc6, 0x3a, 0xb6, 0x00, 0xaa, 0xf5, 0x55,
- 0x7a, 0xce, 0x59, 0xb6, 0x02, 0xea, 0xff, 0xd5, 0x99, 0xce, 0x5a, 0xbe, 0xfa, 0x5d, 0x5f, 0x5d, 0x7b, 0xc6, 0x59, 0xb6, 0xb8, 0xff, 0xba, 0xbf, 0x7a, 0xbe, 0x59, 0xb6, 0x2e, 0x8e, 0xab, 0x0a,
- 0x7b, 0xc6, 0x59, 0xb6, 0xfa, 0xef, 0xbb, 0xea, 0x7a, 0xbe, 0x5a, 0xbe, 0x09, 0x26, 0xe0, 0x28, 0x7b, 0xc6, 0x59, 0xbe, 0xfa, 0x7d, 0xff, 0x2a, 0x7b, 0xc6, 0x5a, 0xb6, 0xba, 0xee, 0xaa, 0xa2,
- 0x9b, 0xc6, 0x59, 0xbe, 0xfe, 0xff, 0xbf, 0xaf, 0x9a, 0xc6, 0x5a, 0xbe, 0xfa, 0xff, 0xfb, 0xaa, 0x9a, 0xc6, 0x5a, 0xbe, 0xab, 0xff, 0xfa, 0xaa, 0x9a, 0xc6, 0x59, 0xbe, 0xcb, 0xbe, 0xeb, 0xaf,
- 0x59, 0xc6, 0x7a, 0xbe, 0xbf, 0xbf, 0x7d, 0x75, 0x7a, 0xc6, 0x59, 0xbe, 0x7a, 0xa2, 0xa8, 0xa8, 0x9b, 0xc6, 0x59, 0xbe, 0xff, 0xff, 0xae, 0xaa, 0x9b, 0xc6, 0x59, 0xbe, 0xaf, 0xbf, 0xeb, 0xa8,
- 0x9b, 0xc6, 0x59, 0xbe, 0xea, 0xeb, 0xef, 0xab, 0x9a, 0xc6, 0x59, 0xbe, 0xba, 0xaf, 0xeb, 0xba, 0x9b, 0xc6, 0x79, 0xbe, 0xef, 0xab, 0xbd, 0xbe, 0x9b, 0xc6, 0x7a, 0xbe, 0xff, 0xab, 0xaa, 0xe2,
- 0x9b, 0xce, 0x7a, 0xbe, 0xff, 0xff, 0xbf, 0xbb, 0x9b, 0xc6, 0x7a, 0xbe, 0xd6, 0xfa, 0xa2, 0xa8, 0x9b, 0xc6, 0x7a, 0xbe, 0xfe, 0xeb, 0xa8, 0x2a, 0x9a, 0xc6, 0x7a, 0xbe, 0xb7, 0xfd, 0xaa, 0x0a,
- 0x9a, 0xc6, 0x7a, 0xbe, 0xeb, 0xfd, 0xaa, 0xa8, 0x9a, 0xc6, 0x5a, 0xbe, 0xbe, 0xab, 0xaa, 0xaa, 0x98, 0xce, 0x25, 0x6a, 0x58, 0x58, 0x58, 0x50, 0x46, 0x72, 0xa3, 0x61, 0x7e, 0x7e, 0xe8, 0xe8,
- 0xa4, 0x69, 0x63, 0x59, 0xcb, 0x8e, 0x98, 0xb4, 0xc4, 0x69, 0x63, 0x61, 0x2e, 0x82, 0xa2, 0x21, 0x25, 0x7a, 0x42, 0x51, 0xe2, 0x73, 0xfa, 0x7a, 0x45, 0x7a, 0x42, 0x59, 0xad, 0x8b, 0x83, 0xea,
- 0xe4, 0x69, 0x43, 0x61, 0x26, 0xb7, 0x57, 0xd5, 0x24, 0x7a, 0x82, 0x61, 0x2f, 0x0d, 0x0d, 0x83, 0x44, 0x72, 0x62, 0x61, 0xbc, 0xde, 0xf6, 0x77, 0x04, 0x72, 0x82, 0x61, 0x2a, 0x0f, 0x8d, 0xe5,
- 0x24, 0x72, 0xc3, 0x69, 0xba, 0x7f, 0xde, 0xa8, 0x24, 0x72, 0xa3, 0x69, 0x7b, 0x78, 0xaa, 0xaa, 0x24, 0x7a, 0x83, 0x69, 0xf7, 0x7f, 0xde, 0xe8, 0xe4, 0x71, 0x83, 0x69, 0x0b, 0xad, 0x8b, 0xed,
- 0xe4, 0x69, 0xa3, 0x61, 0x2a, 0x2a, 0xb7, 0x2a, 0x25, 0x72, 0xc3, 0x69, 0xf5, 0xaa, 0xea, 0xce, 0x05, 0x72, 0xa4, 0x61, 0xa8, 0xbe, 0xae, 0xbe, 0xfc, 0xde, 0xe6, 0x61, 0x05, 0x25, 0x15, 0x15,
- 0x9a, 0xce, 0x79, 0xc6, 0x2a, 0xaa, 0x09, 0x00, 0xba, 0xce, 0x7a, 0xc6, 0xaa, 0xff, 0xea, 0xaa, 0xba, 0xd6, 0x79, 0xc6, 0xfa, 0xff, 0xef, 0xaa, 0xba, 0xd6, 0x7a, 0xc6, 0xff, 0xff, 0xeb, 0xaa,
- 0xba, 0xce, 0x99, 0xc6, 0x8a, 0xff, 0xe3, 0xa0, 0xbb, 0xd6, 0x99, 0xc6, 0xbf, 0xff, 0xbb, 0xbb, 0xba, 0xd6, 0x99, 0xc6, 0xfe, 0xfe, 0xff, 0xfa, 0x9a, 0xd6, 0xb9, 0xc6, 0xba, 0xff, 0xab, 0xaa,
- 0xba, 0xd6, 0x99, 0xce, 0xff, 0xff, 0xbf, 0xbf, 0xbb, 0xd6, 0x99, 0xce, 0xea, 0xfb, 0xab, 0xaa, 0xba, 0xd6, 0x99, 0xce, 0xea, 0xff, 0xfa, 0xbf, 0xba, 0xd6, 0x99, 0xce, 0xdf, 0xf7, 0xfb, 0xaa,
- 0xba, 0xd6, 0x9a, 0xc6, 0xff, 0xea, 0xaa, 0xaa, 0xba, 0xd6, 0x9a, 0xc6, 0xdf, 0xdf, 0xfa, 0xea, 0xbb, 0xd6, 0x9a, 0xc6, 0xfd, 0xff, 0xfe, 0xaa, 0xba, 0xce, 0x9a, 0xc6, 0x77, 0xdf, 0xfe, 0xe8,
- 0xba, 0xce, 0x7a, 0xc6, 0xff, 0xff, 0xfa, 0xaa, 0xba, 0xd6, 0x79, 0xc6, 0xff, 0xdf, 0xff, 0x3b, 0xba, 0xd6, 0xc5, 0x59, 0x80, 0x60, 0x50, 0x5c, 0x05, 0x62, 0x24, 0x49, 0xa8, 0xa8, 0x7e, 0x7f,
- 0xc4, 0x69, 0x23, 0x49, 0x2e, 0x0a, 0x55, 0x77, 0xe4, 0x71, 0x43, 0x49, 0x2a, 0xe2, 0xd5, 0x95, 0x25, 0x72, 0xa3, 0x61, 0xf0, 0xfa, 0x7e, 0xfe, 0x05, 0x72, 0x63, 0x51, 0xe8, 0xea, 0xaa, 0x9e,
- 0x04, 0x6a, 0x63, 0x51, 0x0b, 0x09, 0xae, 0x8a, 0x05, 0x72, 0x83, 0x61, 0xa0, 0xf0, 0x6a, 0xfa, 0x65, 0x7a, 0x83, 0x59, 0xb9, 0xa1, 0xe9, 0xad, 0xe4, 0x69, 0x84, 0x59, 0x5a, 0xea, 0xe2, 0xa8,
- 0xc5, 0x69, 0x43, 0x51, 0xf6, 0xf7, 0xbe, 0x0e, 0xe5, 0x69, 0x63, 0x51, 0xef, 0xf5, 0x2f, 0xa2, 0xa6, 0x82, 0xc4, 0x61, 0x7d, 0xf5, 0xfd, 0x2b, 0x2f, 0xcd, 0x87, 0x7a, 0x89, 0x8b, 0xab, 0xeb,
- 0xef, 0xc4, 0x04, 0x6a, 0xa6, 0xce, 0xcf, 0x8f, 0x0c, 0xac, 0x29, 0x8b, 0xe9, 0xfd, 0xeb, 0x83, 0xcb, 0xa3, 0xa7, 0x7a, 0x6b, 0x83, 0x02, 0x82, 0xae, 0xb4, 0x46, 0x6a, 0xd5, 0xb5, 0x2d, 0xab,
- 0xae, 0xbc, 0x29, 0x8b, 0xeb, 0x6a, 0xf8, 0xff, 0x8e, 0xbc, 0x49, 0x8b, 0xa5, 0xad, 0x8b, 0x82, 0xef, 0xbc, 0x8b, 0x9b, 0xbf, 0x8b, 0xea, 0x56, 0x92, 0xd5, 0xa7, 0x7a, 0xde, 0xa7, 0x2d, 0x8f,
- 0x14, 0xde, 0xa7, 0x7a, 0xfa, 0x9c, 0xad, 0x2a, 0x9a, 0xc6, 0xae, 0xb4, 0x0d, 0x0b, 0x02, 0x00, 0x9b, 0xc6, 0x7a, 0xc6, 0x2a, 0x06, 0x80, 0x80, 0x9b, 0xce, 0x7a, 0xc6, 0xe7, 0xee, 0xbb, 0xfb,
- 0xbb, 0xc6, 0x7a, 0xc6, 0xee, 0xff, 0xff, 0xff, 0xbb, 0xce, 0x7a, 0xc6, 0xfe, 0xff, 0xff, 0xaa, 0x7a, 0xce, 0x9b, 0xc6, 0xfd, 0x5d, 0xef, 0xfd, 0xbb, 0xce, 0x7a, 0xc6, 0xaf, 0xfa, 0xef, 0xae,
- 0xbb, 0xce, 0x7a, 0xc6, 0xae, 0xaa, 0xba, 0xba, 0x7a, 0xce, 0xbb, 0xc6, 0xfa, 0xeb, 0xee, 0xef, 0xba, 0xce, 0x9a, 0xc6, 0xff, 0xbf, 0xbb, 0xff, 0xbb, 0xce, 0x9a, 0xc6, 0xef, 0xfa, 0xbe, 0xbf,
- 0xbb, 0xce, 0x7a, 0xc6, 0xff, 0xaa, 0xaa, 0xaa, 0xbb, 0xce, 0x9a, 0xc6, 0xdf, 0xdb, 0xaf, 0xaa, 0xba, 0xce, 0x7a, 0xc6, 0xbf, 0xab, 0xaa, 0x28, 0xba, 0xce, 0x9a, 0xc6, 0xad, 0x2a, 0x00, 0x82,
- 0xbb, 0xd6, 0x99, 0xc6, 0xff, 0xaa, 0xaa, 0xaa, 0xbb, 0xd6, 0x99, 0xce, 0xbd, 0xbb, 0xaa, 0xab, 0xbb, 0xd6, 0x99, 0xce, 0xaf, 0xba, 0xea, 0xff, 0xbb, 0xd6, 0x99, 0xce, 0xff, 0xaa, 0xff, 0x5f,
- 0xbb, 0xd6, 0x9a, 0xce, 0xef, 0xfb, 0xfe, 0x55, 0xba, 0xce, 0x99, 0xce, 0xdf, 0xeb, 0xea, 0xfb, 0xba, 0xd6, 0x79, 0xc6, 0xaa, 0xaa, 0xaa, 0xeb, 0xba, 0xd6, 0x99, 0xc6, 0xfa, 0xbf, 0xff, 0xff,
- 0xbb, 0xce, 0x99, 0xce, 0xd6, 0x7f, 0xef, 0xbe, 0xba, 0xce, 0x9a, 0xc6, 0x8a, 0xae, 0xff, 0xaa, 0xba, 0xce, 0x99, 0xc6, 0x82, 0xa8, 0xbb, 0x0e, 0xbb, 0xce, 0x99, 0xce, 0x95, 0xfe, 0xff, 0xfe,
- 0xba, 0xd6, 0x79, 0xce, 0xbe, 0xaf, 0xee, 0xaa, 0xba, 0xd6, 0x99, 0xce, 0xf7, 0xdf, 0xff, 0xef, 0xba, 0xce, 0x99, 0xce, 0x5f, 0x57, 0xdf, 0xd8, 0xba, 0xd6, 0x99, 0xce, 0xd5, 0xff, 0xff, 0xf5,
- 0x99, 0xd6, 0xba, 0xce, 0xee, 0xbd, 0xe2, 0xff, 0xba, 0xce, 0x7a, 0xce, 0xf7, 0xaa, 0xaa, 0xfe, 0x9a, 0xce, 0x79, 0xc6, 0x00, 0xc0, 0x02, 0x82, 0x9a, 0xce, 0x7a, 0xce, 0xe2, 0x28, 0xde, 0x0a,
- 0x9b, 0xce, 0x79, 0xc6, 0xea, 0xaa, 0xaa, 0x8a, 0x7a, 0xce, 0x9a, 0xc6, 0xaa, 0xa7, 0xbe, 0xea, 0x9a, 0xce, 0x79, 0xc6, 0xae, 0xea, 0xaa, 0x8a, 0x7a, 0xce, 0x9a, 0xc6, 0xab, 0x7a, 0xff, 0xaa,
- 0x1a, 0xb6, 0x3b, 0xae, 0xdf, 0xbc, 0xff, 0xfb, 0x5b, 0xb6, 0x1a, 0xae, 0xff, 0xbf, 0xab, 0xba, 0x5a, 0xbe, 0x1a, 0xae, 0xef, 0xaf, 0xeb, 0xae, 0x7b, 0xbe, 0x39, 0xae, 0xff, 0xff, 0xab, 0xfa,
- 0x7a, 0xbe, 0x5a, 0xb6, 0xfd, 0xbf, 0xbb, 0xad, 0x7a, 0xc6, 0x5a, 0xbe, 0xb5, 0x15, 0x2f, 0x02, 0x9a, 0xc6, 0x5a, 0xbe, 0x7f, 0xaf, 0xaa, 0xea, 0x7b, 0xc6, 0x59, 0xbe, 0xf5, 0x7f, 0xea, 0x7f,
- 0x5a, 0xc6, 0x7a, 0xbe, 0xf5, 0xbd, 0x7d, 0xa5, 0x9a, 0xc6, 0x59, 0xbe, 0xfe, 0xba, 0xaa, 0xef, 0x59, 0xc6, 0x9b, 0xbe, 0xff, 0xab, 0xab, 0xaa, 0x9b, 0xc6, 0x5a, 0xbe, 0xea, 0xee, 0xaa, 0xaa,
- 0x7a, 0xc6, 0x9a, 0xbe, 0xaa, 0xb0, 0x2c, 0xaa, 0x9a, 0xc6, 0x5a, 0xbe, 0xae, 0xaa, 0xaa, 0xaa, 0x7b, 0xc6, 0x99, 0xbe, 0xaa, 0x8b, 0x2e, 0xbe, 0x9b, 0xce, 0x7a, 0xbe, 0xeb, 0xfb, 0xfe, 0xdf,
- 0x9a, 0xc6, 0x7a, 0xbe, 0xaa, 0xab, 0xbe, 0xd7, 0x9a, 0xc6, 0x5a, 0xbe, 0xa2, 0xaa, 0x2a, 0xeb, 0x59, 0xc6, 0x9b, 0xbe, 0xff, 0xff, 0xaf, 0xcf, 0x5a, 0xc6, 0x9b, 0xbe, 0xbf, 0xb7, 0xbe, 0xbf,
- 0x5a, 0xc6, 0x9b, 0xbe, 0xf7, 0xbf, 0xea, 0xea, 0x9b, 0xc6, 0x5a, 0xbe, 0xba, 0xee, 0xab, 0xfe, 0x9a, 0xc6, 0x7a, 0xbe, 0xa3, 0xe7, 0x5f, 0xfd, 0x9b, 0xc6, 0x59, 0xbe, 0xaa, 0xbe, 0xfb, 0xaa,
- 0x9b, 0xc6, 0x59, 0xbe, 0xa8, 0xbf, 0xff, 0xbe, 0x9b, 0xc6, 0x7a, 0xbe, 0xaa, 0x5f, 0x77, 0x55, 0x9b, 0xc6, 0x7a, 0xbe, 0xba, 0xea, 0x5d, 0x55, 0x7b, 0xc6, 0x79, 0xbe, 0x88, 0xfa, 0xad, 0xff,
- 0x9a, 0xc6, 0x5a, 0xbe, 0x2a, 0xff, 0x7f, 0xff, 0x7b, 0xc6, 0x5a, 0xbe, 0x28, 0x2e, 0x7f, 0xfa, 0xfa, 0xd6, 0xe5, 0x59, 0x50, 0x50, 0x50, 0x70, 0x67, 0x72, 0x83, 0x61, 0xfa, 0x7a, 0xf8, 0xf8,
- 0xa3, 0x69, 0x42, 0x51, 0xb8, 0xea, 0xf8, 0x5e, 0xa4, 0x61, 0x42, 0x59, 0x0f, 0xd5, 0x97, 0x75, 0xe5, 0x69, 0x42, 0x59, 0x7c, 0x7e, 0x7f, 0xf7, 0x04, 0x7a, 0x02, 0x49, 0xe8, 0xfb, 0x5f, 0xfe,
- 0xa3, 0x69, 0x22, 0x51, 0x2b, 0x2d, 0xad, 0x2f, 0xe4, 0x71, 0x42, 0x59, 0xe0, 0xbe, 0xbf, 0x97, 0xe3, 0x69, 0x62, 0x61, 0x8a, 0x6a, 0xaa, 0xba, 0x04, 0x72, 0x82, 0x61, 0xa7, 0x8f, 0xad, 0xad,
- 0x24, 0x72, 0xa3, 0x69, 0x2c, 0xff, 0x2d, 0xab, 0x04, 0x72, 0xa3, 0x69, 0xa0, 0xfb, 0xf8, 0x78, 0xe4, 0x71, 0x83, 0x69, 0xc0, 0x2a, 0xe3, 0x52, 0xe4, 0x71, 0x83, 0x61, 0x22, 0xaf, 0xbb, 0xed,
- 0x05, 0x72, 0xa3, 0x61, 0x2e, 0xef, 0xff, 0xd7, 0x05, 0x72, 0xc4, 0x69, 0xaa, 0x8b, 0xbd, 0xfd, 0xa3, 0x69, 0xe4, 0x61, 0xe9, 0x6a, 0xe0, 0xd6, 0xd5, 0xac, 0xe5, 0x69, 0x15, 0x55, 0x55, 0x55,
- 0xbb, 0xce, 0xd4, 0x9c, 0x00, 0x00, 0x00, 0x01, 0x9a, 0xce, 0x7a, 0xbe, 0x00, 0x02, 0xee, 0x77, 0x9a, 0xce, 0x7a, 0xbe, 0x00, 0x0a, 0xaa, 0xf7, 0x9a, 0xce, 0x7a, 0xbe, 0x00, 0x80, 0xaa, 0xff,
- 0xba, 0xce, 0x7a, 0xc6, 0xaa, 0xff, 0xef, 0xd5, 0x9a, 0xce, 0x7a, 0xc6, 0x00, 0xa8, 0xfe, 0xdf, 0xba, 0xce, 0x7a, 0xc6, 0xaa, 0xff, 0xef, 0xdd, 0xba, 0xce, 0x9a, 0xc6, 0xa2, 0xef, 0xff, 0x55,
- 0xba, 0xce, 0x7a, 0xc6, 0x0a, 0xea, 0xbf, 0xff, 0xbb, 0xce, 0x9a, 0xc6, 0x20, 0xaa, 0xff, 0xd7, 0xbb, 0xd6, 0x9a, 0xce, 0xfe, 0x7b, 0x55, 0x55, 0xbb, 0xd6, 0x9a, 0xc6, 0xaa, 0xaa, 0xff, 0xd7,
- 0xba, 0xce, 0x9a, 0xc6, 0x20, 0x2a, 0x2a, 0xf7, 0xba, 0xd6, 0x9a, 0xc6, 0xaa, 0xba, 0xff, 0x7f, 0xbb, 0xce, 0x99, 0xc6, 0xc2, 0xaa, 0xaa, 0xdf, 0xbb, 0xce, 0x7a, 0xc6, 0xaa, 0xaa, 0xaa, 0xfa,
- 0xba, 0xce, 0x99, 0xc6, 0xaa, 0xce, 0x2e, 0xff, 0xda, 0xd6, 0xa4, 0x51, 0x00, 0xc0, 0x70, 0x58, 0x47, 0x6a, 0x64, 0x49, 0xfc, 0xfe, 0xff, 0x75, 0xa4, 0x51, 0x23, 0x49, 0xfe, 0xe0, 0xfe, 0x9e,
- 0x84, 0x59, 0x23, 0x49, 0xfa, 0xa2, 0x6a, 0xfe, 0x04, 0x72, 0x23, 0x51, 0xb5, 0x3d, 0x25, 0x2d, 0x05, 0x6a, 0xa4, 0x61, 0xbe, 0xff, 0x17, 0x95, 0x25, 0x72, 0x63, 0x59, 0xb6, 0x2e, 0x2e, 0x2a,
- 0x45, 0x72, 0xc4, 0x69, 0xff, 0xfc, 0x7c, 0x7a, 0xe5, 0x69, 0xa4, 0x61, 0xfa, 0x5a, 0x72, 0x7a, 0x25, 0x72, 0xa3, 0x61, 0x29, 0x2b, 0xf9, 0xad, 0xe5, 0x69, 0xa3, 0x61, 0xec, 0x78, 0xa0, 0x80,
- 0xe5, 0x71, 0x83, 0x59, 0xff, 0xfe, 0x5e, 0xd8, 0xa4, 0x61, 0x63, 0x51, 0xa8, 0x9f, 0xbe, 0xae, 0xca, 0x9b, 0x84, 0x61, 0xbd, 0xbd, 0x2d, 0x2f, 0x4d, 0xbc, 0x8a, 0x9b, 0xe7, 0xc3, 0x8e, 0xca,
- 0xce, 0xbc, 0x04, 0x6a, 0x8c, 0x04, 0x04, 0x8e, 0x2c, 0xac, 0x25, 0x72, 0x82, 0xa2, 0xaa, 0x5c, 0xeb, 0xa3, 0x66, 0x7a, 0x02, 0x08, 0xe8, 0x55, 0x8d, 0xb4, 0x06, 0x6a, 0x02, 0xaa, 0xaf, 0xb5,
- 0x6d, 0xb4, 0xe5, 0x69, 0xaa, 0x2b, 0x0a, 0x7a, 0xef, 0xc4, 0xa7, 0x72, 0xaa, 0x82, 0x7a, 0x1b, 0x92, 0xd5, 0x26, 0x6a, 0xaa, 0xaa, 0x8d, 0x00, 0xd9, 0xd6, 0x08, 0x83, 0xfa, 0xaf, 0x0e, 0x01,
- 0xbb, 0xce, 0x31, 0xbd, 0x09, 0x02, 0x00, 0x00, 0xba, 0xd6, 0x9a, 0xc6, 0x55, 0x77, 0xba, 0xaa, 0xba, 0xce, 0x7a, 0xc6, 0xff, 0xba, 0x08, 0xaa, 0xbb, 0xce, 0x9a, 0xc6, 0xf5, 0xfe, 0x0a, 0x80,
- 0xba, 0xce, 0x9a, 0xc6, 0x7f, 0xae, 0x00, 0x00, 0xbb, 0xd6, 0x99, 0xc6, 0xff, 0xfb, 0xaa, 0xaa, 0xba, 0xce, 0x99, 0xc6, 0xef, 0x2a, 0x00, 0x00, 0xbb, 0xce, 0x99, 0xc6, 0xfa, 0xa0, 0xa2, 0x02,
- 0xba, 0xd6, 0x9a, 0xc6, 0xff, 0xfe, 0xfe, 0xaa, 0xba, 0xce, 0x9a, 0xc6, 0xff, 0xef, 0xaa, 0x00, 0xba, 0xce, 0x9a, 0xc6, 0xfb, 0x7b, 0xaa, 0x00, 0xba, 0xce, 0x9a, 0xc6, 0xff, 0xef, 0xaa, 0x02,
- 0xbb, 0xce, 0x9a, 0xc6, 0xdb, 0xee, 0xaa, 0x00, 0xbb, 0xd6, 0x9a, 0xc6, 0xbf, 0xff, 0xff, 0xba, 0xba, 0xd6, 0x9a, 0xc6, 0xff, 0xff, 0xff, 0xaa, 0xbb, 0xce, 0x99, 0xce, 0x7f, 0xfd, 0x7e, 0xd6,
- 0xbb, 0xce, 0x9a, 0xce, 0x55, 0xde, 0x55, 0xdd, 0xbb, 0xd6, 0x99, 0xc6, 0xba, 0xff, 0xff, 0xfb, 0xbb, 0xce, 0x99, 0xce, 0xef, 0x7f, 0x5b, 0xff, 0xbb, 0xce, 0x9a, 0xc6, 0xaa, 0xfe, 0xfa, 0xaf,
- 0xbb, 0xce, 0x9a, 0xce, 0x75, 0x7a, 0x75, 0x5d, 0xba, 0xce, 0x7a, 0xce, 0xaa, 0xea, 0xaa, 0xaa, 0xbb, 0xce, 0x9a, 0xce, 0x57, 0xea, 0xf5, 0x5d, 0xbb, 0xce, 0x99, 0xce, 0x7f, 0xde, 0x7f, 0x7b,
- 0xba, 0xce, 0x9a, 0xce, 0xdd, 0x55, 0x75, 0xb5, 0xba, 0xce, 0x99, 0xce, 0x77, 0xfd, 0xdd, 0xee, 0xba, 0xce, 0x99, 0xce, 0x7b, 0x4b, 0xfd, 0xfe, 0xba, 0xce, 0x99, 0xce, 0x7f, 0xff, 0xff, 0x7b,
- 0xba, 0xd6, 0x99, 0xce, 0xff, 0x7f, 0xff, 0xdf, 0xba, 0xd6, 0x99, 0xce, 0xff, 0xf5, 0xff, 0xdf, 0xba, 0xce, 0x9a, 0xce, 0xee, 0xe5, 0xff, 0x5a, 0xba, 0xd6, 0x99, 0xce, 0xfd, 0xff, 0xff, 0xbf,
- 0xba, 0xd6, 0x99, 0xce, 0x7f, 0xff, 0xfe, 0xfe, 0x9a, 0xd6, 0xb9, 0xce, 0x7b, 0xf6, 0xbf, 0xeb, 0xba, 0xd6, 0x79, 0xc6, 0xfe, 0xfa, 0xaa, 0xaa, 0x9a, 0xce, 0x79, 0xc6, 0xa2, 0xa2, 0x00, 0x00,
- 0xba, 0xd6, 0x79, 0xc6, 0xff, 0xff, 0xea, 0xea, 0xba, 0xd6, 0x79, 0xc6, 0xff, 0xff, 0xfb, 0xff, 0xba, 0xce, 0x79, 0xc6, 0xee, 0xee, 0xba, 0xeb, 0x9a, 0xce, 0x79, 0xc6, 0x2a, 0x20, 0x88, 0x00,
- 0x5a, 0xae, 0x1a, 0xae, 0xfe, 0xaf, 0xff, 0xff, 0x3b, 0xb6, 0x1a, 0xae, 0xbb, 0xa5, 0xe8, 0xb2, 0x5b, 0xb6, 0x19, 0xae, 0xab, 0xbf, 0xbf, 0xff, 0x5b, 0xbe, 0x3a, 0xae, 0xba, 0xff, 0xfd, 0xff,
- 0x7a, 0xbe, 0x39, 0xb6, 0x2b, 0xfd, 0xdf, 0x55, 0x7b, 0xc6, 0x39, 0xb6, 0x02, 0x0a, 0xff, 0xf5, 0x7b, 0xbe, 0x39, 0xb6, 0x00, 0x00, 0x02, 0xbb, 0x7a, 0xbe, 0x39, 0xb6, 0xa0, 0xaa, 0xfa, 0xff,
- 0x7b, 0xbe, 0x3a, 0xb6, 0x8a, 0xba, 0xae, 0xf7, 0x7b, 0xbe, 0x59, 0xb6, 0xea, 0xfb, 0xaa, 0xd5, 0x7b, 0xc6, 0x59, 0xb6, 0x8a, 0xf5, 0xdf, 0xdf, 0x7a, 0xc6, 0x5a, 0xb6, 0x00, 0x8f, 0xfd, 0xd5,
- 0x7b, 0xc6, 0x5a, 0xb6, 0xa8, 0x2a, 0xaf, 0xf5, 0x7b, 0xc6, 0x59, 0xb6, 0x00, 0xa8, 0xee, 0xf5, 0x9b, 0xc6, 0x59, 0xb6, 0xaa, 0xaa, 0xdf, 0xf5, 0x7b, 0xc6, 0x59, 0xbe, 0x8a, 0xaa, 0x7f, 0x55,
- 0x9b, 0xc6, 0x5a, 0xb6, 0xaa, 0x8b, 0xff, 0x7d, 0x9a, 0xc6, 0x5a, 0xb6, 0x2a, 0xaa, 0xeb, 0xfd, 0x7b, 0xc6, 0x59, 0xb6, 0xa8, 0x08, 0xaa, 0xff, 0x9a, 0xc6, 0x5a, 0xbe, 0xaa, 0xab, 0xae, 0xbf,
- 0x9b, 0xc6, 0x5a, 0xbe, 0xaa, 0xaa, 0xeb, 0xbb, 0x9b, 0xc6, 0x79, 0xbe, 0xdf, 0xbb, 0xea, 0xab, 0x9a, 0xc6, 0x7a, 0xbe, 0xf7, 0x5f, 0x88, 0xa2, 0x9a, 0xce, 0x7a, 0xbe, 0x55, 0xff, 0xaa, 0xaa,
- 0x9b, 0xce, 0x7a, 0xbe, 0x55, 0xff, 0xaa, 0xaa, 0x9a, 0xce, 0x7a, 0xbe, 0x55, 0xab, 0x88, 0x2a, 0x9b, 0xce, 0x7a, 0xc6, 0x55, 0x7f, 0xff, 0x2a, 0x9b, 0xce, 0x7a, 0xbe, 0xff, 0xfe, 0xf7, 0xaa,
- 0x9b, 0xc6, 0x7a, 0xbe, 0xab, 0xfb, 0x9a, 0xaa, 0x9b, 0xc6, 0x59, 0xbe, 0x6e, 0xff, 0xee, 0xba, 0xdb, 0xce, 0x67, 0x6a, 0x60, 0x40, 0xc0, 0x80, 0x87, 0x72, 0xc4, 0x69, 0x6a, 0xdc, 0x7a, 0xa2,
- 0xc4, 0x71, 0x43, 0x51, 0x5e, 0x7e, 0x5e, 0x5c, 0x63, 0x61, 0x23, 0x51, 0xef, 0xaf, 0xaa, 0x3b, 0xa3, 0x69, 0x43, 0x59, 0xb5, 0xaf, 0xab, 0x02, 0xa3, 0x69, 0x41, 0x51, 0x7c, 0xaa, 0x28, 0x80,
- 0xe4, 0x69, 0x63, 0x61, 0x2d, 0xaa, 0xaf, 0x8a, 0xe4, 0x69, 0x43, 0x51, 0x3e, 0xbe, 0x3f, 0x26, 0x04, 0x72, 0x83, 0x61, 0xf7, 0x96, 0x3e, 0xb4, 0x04, 0x72, 0x83, 0x61, 0xad, 0xab, 0xa8, 0xea,
- 0x04, 0x72, 0xc3, 0x69, 0xa7, 0xed, 0x75, 0x57, 0x24, 0x72, 0xa3, 0x69, 0xe2, 0x7e, 0x5b, 0xfd, 0xe4, 0x71, 0xa3, 0x61, 0xda, 0x9d, 0xef, 0xa3, 0xe4, 0x71, 0xa3, 0x61, 0xe6, 0xef, 0xaa, 0xbf,
- 0xe4, 0x69, 0x83, 0x61, 0xbd, 0x7e, 0xfe, 0xe8, 0xe4, 0x71, 0xa3, 0x69, 0xcb, 0x83, 0x02, 0x09, 0x24, 0x72, 0xc3, 0x69, 0xb5, 0xad, 0xf7, 0x75, 0x05, 0x72, 0xc3, 0x69, 0x20, 0xb0, 0xbc, 0x3d,
- 0xdc, 0xce, 0xc7, 0x61, 0x01, 0x0d, 0x05, 0x25, 0x9b, 0xc6, 0x7a, 0xbe, 0xff, 0xbb, 0x2a, 0x08, 0x9b, 0xc6, 0x7a, 0xbe, 0xaf, 0xec, 0x82, 0x00, 0x9b, 0xce, 0x7a, 0xc6, 0x55, 0x55, 0xff, 0xfb,
- 0x9b, 0xce, 0x5a, 0xbe, 0x9a, 0xae, 0xaa, 0xaa, 0x9a, 0xce, 0x7a, 0xbe, 0xff, 0xbe, 0xff, 0xaa, 0x9b, 0xce, 0x7a, 0xc6, 0xf5, 0xf7, 0xff, 0xaa, 0x9b, 0xce, 0x7a, 0xbe, 0xfa, 0xff, 0xfe, 0xaa,
- 0x9b, 0xc6, 0x7a, 0xc6, 0xae, 0xd6, 0x8b, 0xa8, 0x9b, 0xc6, 0x7a, 0xbe, 0x8a, 0xad, 0x8a, 0x28, 0x9b, 0xc6, 0x7a, 0xc6, 0xeb, 0x78, 0xa8, 0x83, 0x9b, 0xc6, 0x7a, 0xc6, 0x2f, 0x8b, 0xbe, 0xde,
- 0x9b, 0xc6, 0x7a, 0xc6, 0x0a, 0xe2, 0xf8, 0xcd, 0x9b, 0xc6, 0x7a, 0xc6, 0x2e, 0x9e, 0xfa, 0x26, 0x1b, 0xd7, 0x7a, 0xc6, 0x55, 0x55, 0x55, 0x2b, 0xdb, 0xce, 0x68, 0x72, 0x00, 0x00, 0x00, 0x78,
- 0xfc, 0xd6, 0x64, 0x51, 0x00, 0x00, 0xc0, 0x55, 0x37, 0xce, 0x44, 0x51, 0x54, 0x55, 0x55, 0x55, 0xa5, 0x59, 0x43, 0x49, 0xef, 0x7b, 0xe2, 0xaa, 0xa4, 0x59, 0x43, 0x51, 0x95, 0x3d, 0x6d, 0x62,
- 0x64, 0x59, 0x23, 0x49, 0xbf, 0xea, 0xbe, 0x2e, 0x45, 0x7a, 0x43, 0x51, 0xad, 0x2b, 0x8b, 0xc2, 0xe4, 0x69, 0xa3, 0x61, 0x1d, 0x29, 0x21, 0xc9, 0x66, 0x7a, 0xa3, 0x61, 0x9f, 0x3f, 0x3f, 0x26,
- 0x25, 0x72, 0xc4, 0x69, 0xa8, 0xfa, 0xeb, 0x6e, 0x05, 0x6a, 0xa4, 0x61, 0xfa, 0xfe, 0x9e, 0xea, 0xe5, 0x69, 0xa4, 0x61, 0x2b, 0x0b, 0xa4, 0xa0, 0x05, 0x72, 0xa4, 0x61, 0xfa, 0x8b, 0xda, 0xa8,
- 0x04, 0x6a, 0x83, 0x59, 0x5a, 0xea, 0xab, 0x88, 0x45, 0x72, 0x83, 0x59, 0xd5, 0xf5, 0xb5, 0x3f, 0x6c, 0xb4, 0x87, 0x7a, 0xbd, 0xbf, 0x2e, 0x2f, 0x6d, 0xbc, 0x28, 0x93, 0xea, 0xca, 0x62, 0xf2,
- 0x6d, 0xb4, 0x66, 0x72, 0x2f, 0x17, 0x1e, 0xae, 0x6d, 0xac, 0xc5, 0x59, 0xd8, 0xa2, 0x28, 0x38, 0xcf, 0xbc, 0xa4, 0x59, 0x2b, 0xa8, 0xfe, 0xf5, 0x70, 0xd5, 0x84, 0x59, 0x80, 0xf7, 0x57, 0xff,
- 0xae, 0xbc, 0x84, 0x51, 0xc0, 0xdf, 0x55, 0xee, 0xfa, 0xe6, 0xe5, 0x61, 0xe9, 0x5f, 0xb5, 0x0b, 0x1b, 0xdf, 0x06, 0x62, 0x5e, 0x2d, 0x00, 0x00, 0xfb, 0xd6, 0x50, 0x94, 0x01, 0x00, 0x00, 0x00,
- 0xba, 0xd6, 0x99, 0xce, 0xba, 0xea, 0xfa, 0xfa, 0x99, 0xd6, 0xba, 0xce, 0xda, 0xff, 0x7f, 0xba, 0xba, 0xd6, 0x9a, 0xce, 0x7b, 0xbb, 0xea, 0xaa, 0xba, 0xd6, 0x99, 0xce, 0xaf, 0xba, 0xea, 0xab,
- 0xba, 0xd6, 0x99, 0xce, 0xab, 0xaa, 0xae, 0xab, 0xba, 0xd6, 0x99, 0xce, 0xea, 0xaa, 0xab, 0xbb, 0xba, 0xd6, 0x9a, 0xce, 0xab, 0xaa, 0xba, 0xaa, 0x99, 0xd6, 0xbb, 0xce, 0xbe, 0xff, 0xee, 0xbe,
- 0x99, 0xd6, 0xba, 0xce, 0xfa, 0xf7, 0xeb, 0xae, 0xbb, 0xd6, 0x99, 0xce, 0xfb, 0xfa, 0xfa, 0xab, 0x99, 0xd6, 0xba, 0xce, 0xfc, 0xea, 0xdf, 0xff, 0x99, 0xd6, 0xbb, 0xce, 0xbb, 0xef, 0xbd, 0xab,
- 0x99, 0xd6, 0xba, 0xce, 0xef, 0xfa, 0xff, 0xae, 0x9b, 0xd6, 0xb9, 0xce, 0xff, 0xff, 0xfa, 0xaf, 0xba, 0xd6, 0x99, 0xce, 0xfb, 0xff, 0xaf, 0xfb, 0xbb, 0xd6, 0x99, 0xce, 0xfe, 0xfa, 0x7f, 0xfb,
- 0xba, 0xd6, 0x79, 0xce, 0xfa, 0xfa, 0xfb, 0xfa, 0xbb, 0xce, 0x9a, 0xce, 0x5d, 0x95, 0x5d, 0x59, 0xba, 0xd6, 0x79, 0xce, 0xaf, 0xbe, 0xff, 0xff, 0xbb, 0xd6, 0x79, 0xc6, 0xfa, 0xab, 0xaa, 0xbf,
- 0xbb, 0xce, 0x99, 0xce, 0xf5, 0xfe, 0xff, 0x7f, 0x9a, 0xd6, 0x99, 0xc6, 0xae, 0xaf, 0xbf, 0xff, 0xba, 0xd6, 0x99, 0xc6, 0xea, 0xaf, 0xbf, 0xff, 0xbb, 0xce, 0x79, 0xce, 0xea, 0xba, 0xff, 0xbf,
- 0xba, 0xce, 0x79, 0xce, 0xaf, 0xaf, 0xaa, 0xff, 0xba, 0xce, 0x79, 0xce, 0xab, 0xef, 0xbe, 0xff, 0xba, 0xd6, 0x79, 0xc6, 0xfe, 0xaa, 0xbf, 0xaf, 0x9a, 0xd6, 0x99, 0xc6, 0xaa, 0xeb, 0xfe, 0xfe,
- 0x9a, 0xd6, 0xb9, 0xc6, 0xab, 0xba, 0xae, 0xaa, 0xbb, 0xd6, 0x99, 0xce, 0xfd, 0xfb, 0x5f, 0xff, 0xba, 0xd6, 0x99, 0xce, 0xfe, 0xff, 0xff, 0xfd, 0xba, 0xd6, 0x99, 0xce, 0xbf, 0xff, 0xbf, 0xff,
- 0x9a, 0xd6, 0xb9, 0xce, 0xeb, 0xfb, 0xff, 0xff, 0x99, 0xd6, 0xba, 0xce, 0xfe, 0xae, 0xff, 0xfd, 0xba, 0xd6, 0x99, 0xce, 0xfa, 0xef, 0xfe, 0xfe, 0x9a, 0xd6, 0xb9, 0xc6, 0xaa, 0xfa, 0xaa, 0xaa,
- 0xba, 0xce, 0x9a, 0xce, 0xd5, 0x55, 0x55, 0x56, 0x9a, 0xd6, 0x99, 0xc6, 0xff, 0xea, 0xaa, 0xea, 0x9a, 0xd6, 0x99, 0xc6, 0xff, 0xfa, 0xff, 0xaa, 0x9a, 0xce, 0x79, 0xce, 0x20, 0x02, 0xe0, 0x00,
- 0x3a, 0xb6, 0x1a, 0xae, 0xa8, 0xef, 0xae, 0xa8, 0x3a, 0xb6, 0x3a, 0xae, 0xaa, 0x85, 0xc0, 0x0a, 0x5b, 0xbe, 0x39, 0xae, 0xf5, 0xff, 0xbf, 0xfb, 0x5b, 0xbe, 0x19, 0xae, 0xbf, 0xff, 0xaa, 0xab,
- 0x5b, 0xbe, 0x39, 0xae, 0xfd, 0xff, 0xaf, 0xaa, 0x5b, 0xbe, 0x19, 0xae, 0xff, 0xaa, 0xae, 0xaa, 0x5b, 0xbe, 0x39, 0xae, 0xbe, 0xaf, 0xaa, 0xab, 0x5b, 0xb6, 0x39, 0xb6, 0xb5, 0x81, 0xff, 0xef,
- 0x5b, 0xbe, 0x3a, 0xb6, 0xdd, 0xf7, 0xba, 0xef, 0x5b, 0xbe, 0x3a, 0xb6, 0x5f, 0x6d, 0x2f, 0xab, 0x5b, 0xbe, 0x39, 0xae, 0xfe, 0xbe, 0xaa, 0xaa, 0x5b, 0xbe, 0x3a, 0xae, 0xff, 0xef, 0xaa, 0xaa,
- 0x5b, 0xbe, 0x39, 0xb6, 0xf9, 0x7f, 0xbf, 0xfa, 0x5b, 0xbe, 0x39, 0xb6, 0xbe, 0x77, 0x8b, 0xae, 0x5a, 0xbe, 0x3a, 0xb6, 0xff, 0xf7, 0x02, 0xa2, 0x7b, 0xbe, 0x39, 0xb6, 0x7e, 0xfd, 0x8b, 0xba,
- 0x7b, 0xbe, 0x3a, 0xb6, 0xff, 0xff, 0xab, 0xaa, 0x5b, 0xbe, 0x3a, 0xb6, 0xab, 0xa9, 0x2a, 0xa8, 0x3a, 0xbe, 0x7a, 0xb6, 0x7a, 0x3a, 0xfe, 0xaa, 0x7b, 0xbe, 0x5a, 0xb6, 0xae, 0x8b, 0x2b, 0x2a,
- 0x7b, 0xc6, 0x59, 0xbe, 0x3b, 0xbf, 0xfa, 0xdd, 0x9b, 0xc6, 0x5a, 0xbe, 0xaa, 0x6e, 0xbd, 0xff, 0x7b, 0xc6, 0x59, 0xbe, 0x00, 0xaa, 0xbb, 0xfd, 0x9b, 0xc6, 0x5a, 0xbe, 0x28, 0xba, 0xea, 0xbd,
- 0x9a, 0xc6, 0x5a, 0xbe, 0xa0, 0xba, 0xbf, 0xbb, 0x9b, 0xce, 0x7a, 0xc6, 0xbb, 0x5d, 0x55, 0x57, 0x9b, 0xc6, 0x5a, 0xbe, 0x8a, 0xa8, 0xae, 0xbf, 0x7b, 0xce, 0x7a, 0xbe, 0xaa, 0xbb, 0xff, 0xf5,
- 0x9b, 0xce, 0x7a, 0xbe, 0xea, 0xff, 0xff, 0xf7, 0x9b, 0xc6, 0x5a, 0xbe, 0xba, 0xee, 0xea, 0xaa, 0xb8, 0xd6, 0x7a, 0xbe, 0x95, 0x35, 0x95, 0xd5, 0x98, 0xd6, 0xc4, 0x61, 0x55, 0x56, 0x54, 0x54,
- 0xe4, 0x69, 0x62, 0x59, 0x5c, 0x78, 0xfa, 0xa8, 0xc4, 0x69, 0x42, 0x59, 0x5b, 0x5b, 0xae, 0x08, 0x04, 0x72, 0x63, 0x59, 0xab, 0x2d, 0xbf, 0xee, 0xe4, 0x69, 0x62, 0x61, 0xf7, 0xd6, 0xfa, 0x2b,
- 0xe4, 0x69, 0x42, 0x59, 0x8b, 0x60, 0xfa, 0xe2, 0xe4, 0x69, 0xe2, 0x48, 0x2f, 0xad, 0xbe, 0x82, 0xe4, 0x69, 0x42, 0x51, 0x1e, 0xd7, 0xbf, 0x3e, 0x04, 0x72, 0x83, 0x69, 0xfb, 0xaf, 0xad, 0x2f,
- 0x04, 0x6a, 0xa3, 0x61, 0xfd, 0xb6, 0xff, 0xaa, 0x04, 0x6a, 0xa3, 0x61, 0x7b, 0xed, 0x5e, 0x70, 0x04, 0x6a, 0x83, 0x61, 0xfd, 0xaa, 0xeb, 0x8e, 0x05, 0x72, 0xa3, 0x61, 0xbf, 0xbb, 0xeb, 0xbb,
- 0x04, 0x72, 0xa3, 0x69, 0xfb, 0xfa, 0xab, 0xd6, 0x25, 0x72, 0xa3, 0x61, 0x2d, 0x3d, 0xaf, 0x2f, 0x44, 0x72, 0xa3, 0x69, 0x5b, 0xfa, 0xf0, 0x7e, 0xe4, 0x69, 0x83, 0x61, 0x02, 0x0f, 0x37, 0x2f,
- 0xdc, 0xd6, 0x07, 0x6a, 0x25, 0x35, 0x15, 0x95, 0x9a, 0xce, 0x7a, 0xc6, 0xaa, 0x0a, 0x08, 0x0a, 0xba, 0xd6, 0x7a, 0xc6, 0xeb, 0xaa, 0xbe, 0xbf, 0xba, 0xce, 0x99, 0xc6, 0xef, 0x8b, 0xbf, 0xaa,
- 0xba, 0xce, 0x7a, 0xce, 0xbe, 0xaa, 0xaa, 0xaa, 0x9a, 0xd6, 0x9a, 0xc6, 0xff, 0xfa, 0xaa, 0xab, 0xba, 0xd6, 0x7a, 0xc6, 0xbf, 0xea, 0xaa, 0xaa, 0x9a, 0xd6, 0x99, 0xc6, 0xff, 0xfe, 0xbe, 0xea,
- 0xbb, 0xce, 0x7a, 0xc6, 0xfb, 0xff, 0xaa, 0xaa, 0xba, 0xce, 0x7a, 0xc6, 0xaf, 0xab, 0xaa, 0xaa, 0xba, 0xd6, 0x9a, 0xc6, 0xdf, 0xfd, 0xbf, 0xff, 0xb9, 0xde, 0x9a, 0xce, 0x55, 0x55, 0x55, 0x35,
- 0xdb, 0xd6, 0x65, 0x7a, 0x00, 0x80, 0x58, 0x56, 0xda, 0xde, 0x04, 0x72, 0x80, 0x55, 0x55, 0x55, 0x69, 0x8b, 0xe4, 0x69, 0x54, 0x7f, 0xff, 0x77, 0x65, 0x72, 0xe3, 0x69, 0xc1, 0xef, 0xd4, 0xfe,
- 0x25, 0x72, 0x43, 0x51, 0xea, 0xf0, 0x7c, 0x57, 0xa4, 0x59, 0x23, 0x51, 0xbe, 0xbe, 0x27, 0x8d, 0xa4, 0x59, 0x03, 0x49, 0xe8, 0xfa, 0xba, 0x9f, 0xa4, 0x59, 0x23, 0x51, 0xd3, 0xba, 0xbf, 0xed,
- 0x25, 0x72, 0x43, 0x59, 0xd5, 0xb5, 0x2d, 0x2d, 0x25, 0x72, 0x84, 0x61, 0xc0, 0x72, 0xf2, 0xfe, 0x46, 0x72, 0x83, 0x59, 0x7f, 0x7a, 0x62, 0x62, 0x45, 0x72, 0x43, 0x51, 0x0e, 0xa6, 0xa6, 0xa6,
- 0x25, 0x72, 0xe4, 0x69, 0xff, 0x6f, 0x73, 0xfb, 0x25, 0x6a, 0xa4, 0x61, 0xa3, 0x6b, 0xe8, 0xfb, 0x87, 0x72, 0xc4, 0x61, 0xf5, 0x7f, 0x7f, 0xf2, 0x25, 0x6a, 0xc4, 0x61, 0x5a, 0xfa, 0xde, 0x4b,
- 0x46, 0x6a, 0xc4, 0x61, 0xff, 0x7f, 0xa8, 0xfa, 0xeb, 0xa3, 0xa4, 0x59, 0xd5, 0x35, 0x3d, 0xbe, 0x4c, 0xb4, 0x29, 0x8b, 0xa9, 0xa8, 0xae, 0xef, 0x2f, 0xcd, 0x85, 0x72, 0xf2, 0x7a, 0x79, 0xfb,
- 0x0f, 0xcd, 0xa6, 0x72, 0xef, 0xed, 0x2b, 0x3a, 0xae, 0xbc, 0x28, 0x8b, 0xff, 0xa9, 0x82, 0xa9, 0x32, 0xbd, 0x67, 0x72, 0xd7, 0xa4, 0xb6, 0xa0, 0xfb, 0xd6, 0x66, 0x72, 0x57, 0xf5, 0xff, 0x0a,
- 0xfb, 0xd6, 0xa8, 0x7a, 0xbd, 0xb7, 0x02, 0x00, 0xba, 0xd6, 0x12, 0xb5, 0x01, 0x00, 0x00, 0x00, 0x99, 0xd6, 0xba, 0xce, 0xaf, 0xb6, 0xfb, 0xff, 0x99, 0xd6, 0xba, 0xce, 0xbe, 0xfe, 0x7b, 0x7f,
- 0xda, 0xd6, 0x99, 0xce, 0xff, 0xbf, 0xff, 0xff, 0xba, 0xd6, 0x9a, 0xce, 0xbf, 0x6a, 0xab, 0xfe, 0xba, 0xd6, 0x99, 0xce, 0xbb, 0xba, 0xfe, 0xab, 0xba, 0xd6, 0x99, 0xce, 0xae, 0xee, 0xfb, 0xbb,
- 0x99, 0xd6, 0xba, 0xce, 0xfe, 0xaf, 0xaa, 0xaf, 0xbb, 0xd6, 0x99, 0xce, 0xeb, 0xbf, 0xff, 0xea, 0x99, 0xd6, 0xba, 0xce, 0xab, 0xaa, 0xff, 0xff, 0xba, 0xd6, 0x99, 0xce, 0xae, 0xae, 0xff, 0x7f,
- 0x9a, 0xd6, 0xba, 0xce, 0xfe, 0xee, 0xaa, 0xff, 0x99, 0xd6, 0xba, 0xce, 0xfb, 0xab, 0xff, 0xaf, 0x99, 0xd6, 0xbb, 0xce, 0xeb, 0xeb, 0xaa, 0xaf, 0x99, 0xd6, 0xbb, 0xce, 0xbf, 0xaa, 0xaf, 0xbb,
- 0x99, 0xd6, 0xba, 0xce, 0xfa, 0xae, 0xfa, 0xbe, 0xbb, 0xd6, 0x99, 0xce, 0xfa, 0xbe, 0xff, 0xff, 0xbb, 0xd6, 0x99, 0xce, 0xbf, 0xbe, 0xba, 0xef, 0x99, 0xd6, 0xba, 0xce, 0xfa, 0xff, 0xab, 0xfa,
- 0x9a, 0xd6, 0xba, 0xce, 0xaa, 0xca, 0xfe, 0xaf, 0xba, 0xd6, 0x99, 0xce, 0xfb, 0x7b, 0xff, 0x77, 0xba, 0xd6, 0x7a, 0xce, 0xff, 0xfa, 0xfe, 0xff, 0x9b, 0xd6, 0x99, 0xc6, 0xbb, 0xee, 0xaa, 0xaa,
- 0xba, 0xce, 0x99, 0xce, 0x67, 0x7f, 0xdf, 0xf5, 0xba, 0xce, 0x99, 0xc6, 0xfb, 0xe8, 0xae, 0xae, 0xba, 0xce, 0x99, 0xce, 0x5f, 0xef, 0x5d, 0xfc, 0x9a, 0xce, 0x79, 0xce, 0x00, 0x30, 0x20, 0x00,
- 0xbb, 0xd6, 0x79, 0xc6, 0xeb, 0xff, 0xae, 0xba, 0xbb, 0xd6, 0x79, 0xc6, 0xfe, 0xfe, 0xfb, 0xfa, 0xbb, 0xce, 0x79, 0xce, 0xeb, 0xef, 0xff, 0xeb, 0xba, 0xce, 0x7a, 0xce, 0xab, 0xbf, 0xaf, 0xef,
- 0xba, 0xce, 0x9a, 0xc6, 0xfb, 0xae, 0xaf, 0xa8, 0xba, 0xd6, 0x9a, 0xce, 0x55, 0x75, 0x57, 0xdf, 0x9a, 0xd6, 0xb9, 0xc6, 0xaa, 0xea, 0xba, 0xba, 0xba, 0xd6, 0x99, 0xce, 0xfe, 0xff, 0xf5, 0xfd,
- 0xba, 0xd6, 0x99, 0xce, 0xff, 0xff, 0xfd, 0xff, 0xbb, 0xd6, 0x99, 0xce, 0xff, 0xff, 0x77, 0xff, 0xba, 0xd6, 0x99, 0xce, 0xf7, 0xff, 0xbf, 0xfb, 0x9a, 0xd6, 0xb9, 0xce, 0xea, 0xff, 0x7a, 0xbe,
- 0xba, 0xd6, 0x99, 0xce, 0x7f, 0x6f, 0xdf, 0xf7, 0xba, 0xce, 0x9a, 0xce, 0x55, 0xa5, 0x55, 0xe7, 0xbb, 0xce, 0x99, 0xce, 0x75, 0xf6, 0xff, 0xff, 0x9a, 0xce, 0x7a, 0xce, 0x20, 0x00, 0xb0, 0x00,
- 0x3a, 0xb6, 0x1a, 0xae, 0x00, 0x5f, 0xd5, 0xdf, 0x3b, 0xb6, 0xf9, 0xa5, 0x0a, 0xaa, 0xea, 0xaa, 0x3a, 0xb6, 0x1a, 0xae, 0x00, 0xfa, 0xf7, 0xdd, 0x3b, 0xb6, 0x1a, 0xae, 0x08, 0xfd, 0x75, 0x75,
- 0x3b, 0xb6, 0x1a, 0xae, 0x08, 0xae, 0xdf, 0xfa, 0x5b, 0xb6, 0x19, 0xae, 0x2e, 0xff, 0xdf, 0xb7, 0x3b, 0xb6, 0x19, 0xae, 0x02, 0xab, 0xbf, 0xab, 0x5a, 0xbe, 0x1a, 0xae, 0x2a, 0xef, 0x7f, 0xdf,
- 0x5a, 0xb6, 0x3a, 0xae, 0xc0, 0xe8, 0xbd, 0xa9, 0x5b, 0xbe, 0x39, 0xae, 0xaa, 0xbb, 0xff, 0xff, 0x5b, 0xbe, 0x39, 0xb6, 0xfc, 0xaf, 0xbf, 0xee, 0x5b, 0xbe, 0x39, 0xb6, 0xbf, 0x9e, 0xbf, 0xff,
- 0x5b, 0xb6, 0x3a, 0xb6, 0x6b, 0x79, 0x86, 0xbd, 0x5b, 0xbe, 0x3a, 0xb6, 0xdd, 0xdd, 0xbb, 0xef, 0x7a, 0xbe, 0x3a, 0xb6, 0xbe, 0xef, 0xff, 0xab, 0x7b, 0xbe, 0x5a, 0xb6, 0x5d, 0x5f, 0x5d, 0xae,
- 0x7b, 0xbe, 0x5a, 0xb6, 0xb5, 0xbf, 0xbf, 0x02, 0x7b, 0xc6, 0x59, 0xb6, 0xff, 0xff, 0xfb, 0xaa, 0x7b, 0xbe, 0x5a, 0xb6, 0x76, 0xae, 0x2a, 0x8a, 0x7b, 0xc6, 0x59, 0xb6, 0xff, 0xff, 0xaf, 0xaa,
- 0x7b, 0xbe, 0x39, 0xb6, 0x0a, 0xad, 0x8a, 0xa2, 0x7b, 0xc6, 0x5a, 0xbe, 0xf7, 0xc3, 0xf7, 0x55, 0x7b, 0xc6, 0x59, 0xbe, 0xec, 0xfa, 0x77, 0x7f, 0x7b, 0xbe, 0x5a, 0xb6, 0x2b, 0xab, 0x6b, 0xfe,
- 0x7a, 0xbe, 0x5a, 0xb6, 0x80, 0xeb, 0xbf, 0xab, 0x7b, 0xbe, 0x5a, 0xb6, 0x00, 0x83, 0x8a, 0xda, 0x7b, 0xbe, 0x5a, 0xbe, 0x1c, 0xaa, 0xa3, 0xe6, 0x7b, 0xc6, 0x5a, 0xbe, 0xba, 0xaf, 0xb5, 0x0b,
- 0x9b, 0xc6, 0x5a, 0xbe, 0xab, 0xef, 0xbe, 0xae, 0x9b, 0xc6, 0x59, 0xbe, 0xbe, 0xff, 0xee, 0xa8, 0x9a, 0xc6, 0x7a, 0xbe, 0xed, 0xd5, 0xff, 0x8a, 0xfa, 0xd6, 0x46, 0x62, 0x5c, 0x58, 0x50, 0x50,
- 0x46, 0x72, 0x83, 0x61, 0x5e, 0x7e, 0xfa, 0xe8, 0xe5, 0x69, 0x64, 0x59, 0x28, 0xaa, 0xa6, 0x00, 0xe4, 0x69, 0x43, 0x59, 0xe0, 0xf8, 0xf8, 0x78, 0xc4, 0x69, 0x42, 0x51, 0x0a, 0x02, 0xab, 0xfd,
- 0xe4, 0x71, 0x83, 0x61, 0xea, 0xa0, 0xab, 0x2d, 0x25, 0x72, 0xc4, 0x61, 0xfd, 0x7f, 0x62, 0x42, 0x25, 0x72, 0xa4, 0x61, 0xbf, 0x37, 0xaf, 0x0d, 0x05, 0x72, 0xc4, 0x61, 0x0a, 0x2a, 0xac, 0x68,
- 0x05, 0x72, 0xa3, 0x69, 0xf7, 0xfc, 0xdd, 0xa6, 0x04, 0x72, 0xc3, 0x61, 0xeb, 0xff, 0xff, 0xfe, 0xe4, 0x71, 0xa3, 0x69, 0xa3, 0xbf, 0xfc, 0x37, 0xe4, 0x71, 0xa3, 0x61, 0xaa, 0xf8, 0xfa, 0x7e,
- 0xe4, 0x71, 0x63, 0x61, 0xa0, 0xaa, 0xfa, 0x5e, 0x65, 0x7a, 0x62, 0x61, 0xaf, 0x2f, 0x2d, 0xa7, 0x25, 0x72, 0x83, 0x61, 0xf8, 0xfc, 0xfe, 0xf6, 0x05, 0x6a, 0xa3, 0x61, 0x3d, 0x35, 0x9d, 0xaf,
- 0x4e, 0x7b, 0xc4, 0x61, 0x3d, 0xfd, 0xff, 0x55, 0xfc, 0xde, 0x08, 0x62, 0x00, 0x00, 0x01, 0x25, 0xba, 0xce, 0x79, 0xce, 0xaa, 0xbf, 0xab, 0xab, 0xba, 0xce, 0x99, 0xce, 0xe9, 0xff, 0x7e, 0x7d,
- 0xbb, 0xd6, 0x99, 0xce, 0x7f, 0xff, 0x7f, 0xff, 0xba, 0xd6, 0x79, 0xce, 0xba, 0xfe, 0xef, 0xba, 0xbb, 0xd6, 0x99, 0xce, 0xbf, 0xfb, 0xff, 0xfd, 0x99, 0xd6, 0xba, 0xce, 0xbe, 0xff, 0xba, 0xfa,
- 0x99, 0xd6, 0xba, 0xce, 0xaf, 0xab, 0xff, 0xaf, 0x99, 0xd6, 0xba, 0xce, 0xeb, 0xaa, 0xd6, 0xfe, 0x99, 0xd6, 0xba, 0xce, 0xbe, 0xfe, 0x8b, 0xaf, 0xda, 0xde, 0x86, 0x7a, 0x60, 0x50, 0x5c, 0x54,
- 0xa6, 0x82, 0x45, 0x72, 0xa8, 0xea, 0xfe, 0xde, 0xa6, 0x82, 0x45, 0x7a, 0x8b, 0xbb, 0x7f, 0x7f, 0xa6, 0x82, 0x45, 0x7a, 0x52, 0x7f, 0x75, 0xfd, 0x24, 0x7a, 0x43, 0x51, 0xa0, 0xfc, 0xfe, 0x5e,
- 0xa4, 0x59, 0x23, 0x51, 0x78, 0xfa, 0xea, 0xd7, 0xc4, 0x61, 0x43, 0x51, 0xcd, 0x79, 0x5f, 0x96, 0xa4, 0x61, 0x03, 0x49, 0xdf, 0x8b, 0xb7, 0xaa, 0xa4, 0x69, 0x23, 0x49, 0x77, 0xdf, 0xff, 0x22,
- 0x25, 0x72, 0x23, 0x49, 0x2f, 0xaf, 0x0d, 0x82, 0x05, 0x72, 0x83, 0x61, 0xb4, 0xf6, 0xaa, 0xab, 0x05, 0x6a, 0x84, 0x61, 0xaa, 0xa8, 0xad, 0x2a, 0x46, 0x6a, 0x43, 0x51, 0x26, 0xbe, 0xdf, 0xda,
- 0x06, 0x6a, 0xc4, 0x51, 0xa8, 0x5f, 0x8a, 0x02, 0x05, 0x6a, 0x84, 0x49, 0x7e, 0x7f, 0x20, 0x28, 0x25, 0x6a, 0xc4, 0x51, 0xf8, 0x6f, 0x00, 0x00, 0x25, 0x6a, 0xa3, 0x59, 0x5e, 0xdf, 0xe8, 0xfa,
- 0x25, 0x6a, 0xc4, 0x61, 0x6d, 0x27, 0x3d, 0xeb, 0x8a, 0x93, 0xe5, 0x69, 0x89, 0x2b, 0x29, 0x2b, 0x2c, 0xac, 0xe7, 0x8a, 0xe2, 0x96, 0x24, 0x26, 0x8e, 0xbc, 0x28, 0x8b, 0x4a, 0x48, 0x48, 0x62,
- 0x4c, 0xac, 0xc7, 0x82, 0x10, 0x3a, 0xb8, 0x98, 0x50, 0xcd, 0x8a, 0x93, 0x89, 0xeb, 0xaf, 0x7f, 0xba, 0xd6, 0x6e, 0xac, 0x0b, 0x0f, 0x05, 0x05, 0xba, 0xd6, 0x99, 0xce, 0xfb, 0xbb, 0xba, 0xaa,
- 0x9a, 0xd6, 0xba, 0xce, 0xb6, 0xeb, 0xab, 0xfb, 0x9a, 0xd6, 0xba, 0xce, 0xea, 0xba, 0xfe, 0xfe, 0xba, 0xd6, 0x99, 0xce, 0xea, 0xaa, 0xba, 0xae, 0xba, 0xd6, 0x99, 0xce, 0xae, 0xaa, 0xab, 0xaa,
- 0x99, 0xd6, 0xba, 0xce, 0xfb, 0xfd, 0xab, 0xab, 0x99, 0xd6, 0xba, 0xce, 0xaf, 0xff, 0xba, 0xfe, 0x9a, 0xd6, 0xba, 0xce, 0xff, 0xab, 0xfa, 0xbe, 0x9a, 0xd6, 0xba, 0xce, 0xf8, 0xaf, 0xbf, 0xba,
- 0x9a, 0xd6, 0xba, 0xce, 0xff, 0xff, 0xfe, 0xbe, 0x99, 0xd6, 0xba, 0xce, 0xbf, 0xff, 0xeb, 0xaa, 0xbb, 0xd6, 0x99, 0xce, 0xfe, 0xbf, 0xfb, 0xee, 0xba, 0xd6, 0x99, 0xce, 0xff, 0xff, 0xfd, 0xef,
- 0xba, 0xd6, 0x99, 0xce, 0xff, 0xff, 0xfa, 0xff, 0xba, 0xce, 0x99, 0xce, 0x3f, 0xff, 0xef, 0xff, 0xba, 0xd6, 0x99, 0xce, 0xff, 0xbf, 0xff, 0xff, 0xbb, 0xd6, 0x99, 0xce, 0xfb, 0xef, 0xfb, 0xf7,
- 0xbb, 0xce, 0x99, 0xce, 0xbf, 0x77, 0xef, 0xfa, 0x9b, 0xd6, 0xb9, 0xce, 0xad, 0xfe, 0xfb, 0x0f, 0xba, 0xce, 0x79, 0xce, 0xea, 0xbe, 0xaa, 0xab, 0xba, 0xce, 0x9a, 0xce, 0xe7, 0xd7, 0x75, 0x15,
- 0xba, 0xce, 0x99, 0xce, 0xdd, 0xcd, 0x7f, 0xfe, 0xbb, 0xce, 0x99, 0xce, 0xff, 0xff, 0xff, 0x7e, 0xbb, 0xd6, 0x79, 0xce, 0xbf, 0xff, 0xff, 0xff, 0xba, 0xce, 0x9a, 0xce, 0x57, 0xdd, 0xb5, 0x55,
- 0xba, 0xd6, 0x7a, 0xce, 0xaf, 0xfe, 0xff, 0xff, 0xba, 0xce, 0x99, 0xce, 0x5d, 0x55, 0xfb, 0xd5, 0xbb, 0xd6, 0x79, 0xc6, 0xea, 0xbb, 0xee, 0xfb, 0xbb, 0xd6, 0x79, 0xce, 0xef, 0xbf, 0xff, 0xff,
- 0xba, 0xce, 0x9a, 0xce, 0xb5, 0xd5, 0x55, 0x55, 0xba, 0xce, 0x79, 0xce, 0xfa, 0xba, 0xea, 0xbe, 0xbb, 0xce, 0x79, 0xce, 0xee, 0xbb, 0xef, 0xaa, 0x9a, 0xd6, 0x7a, 0xc6, 0xba, 0xaa, 0xea, 0xfa,
- 0xba, 0xd6, 0x79, 0xc6, 0xbe, 0xae, 0xef, 0xab, 0xbb, 0xd6, 0x99, 0xc6, 0xff, 0xff, 0xff, 0xff, 0xbb, 0xce, 0x99, 0xc6, 0xea, 0xab, 0xaf, 0xbf, 0xba, 0xce, 0x99, 0xce, 0xff, 0xff, 0xfa, 0xbf,
- 0xbb, 0xd6, 0x99, 0xc6, 0xff, 0xff, 0xff, 0xff, 0xbb, 0xd6, 0x99, 0xc6, 0xff, 0xaf, 0xff, 0xff, 0xba, 0xd6, 0x99, 0xce, 0x77, 0xff, 0xff, 0xd7, 0xba, 0xce, 0x99, 0xce, 0x55, 0x7b, 0xbd, 0x7d,
- 0xbb, 0xd6, 0x99, 0xce, 0x7f, 0xfd, 0xf7, 0xff, 0xbb, 0xd6, 0x99, 0xce, 0x7f, 0xff, 0x7f, 0xff, 0xbb, 0xce, 0x79, 0xce, 0xae, 0xaa, 0xaa, 0xaa, 0xbb, 0xd6, 0x99, 0xc6, 0xbf, 0xaf, 0xee, 0xfb,
- 0x1a, 0xb6, 0xfa, 0xad, 0x2f, 0xfb, 0xaf, 0x0a, 0x3b, 0xb6, 0x1a, 0xae, 0x76, 0xdd, 0x95, 0xab, 0x3b, 0xb6, 0x19, 0xae, 0xfd, 0xff, 0xab, 0xa8, 0x3b, 0xb6, 0x1a, 0xae, 0xfb, 0xef, 0x8a, 0x00,
- 0x5b, 0xb6, 0x19, 0xae, 0x7d, 0xbf, 0xbb, 0x28, 0x5b, 0xb6, 0x19, 0xae, 0xe5, 0xee, 0xab, 0xa8, 0x5b, 0xbe, 0x3a, 0xae, 0xdf, 0xff, 0xbf, 0xaa, 0x5b, 0xbe, 0x39, 0xae, 0xff, 0xff, 0xaf, 0xab,
- 0x3a, 0xbe, 0x5a, 0xb6, 0xfe, 0xff, 0xaa, 0xde, 0x5b, 0xbe, 0x39, 0xb6, 0xff, 0xbf, 0xae, 0x88, 0x5b, 0xbe, 0x3a, 0xb6, 0xeb, 0x8f, 0x28, 0x00, 0x7a, 0xbe, 0x3a, 0xb6, 0xdf, 0x7f, 0xbb, 0xa2,
- 0x7a, 0xbe, 0x3a, 0xb6, 0x5f, 0xff, 0xaa, 0x00, 0x7a, 0xbe, 0x5a, 0xb6, 0x7d, 0x57, 0xaf, 0x80, 0x7b, 0xc6, 0x3a, 0xb6, 0xbb, 0x9f, 0xab, 0xaa, 0x7b, 0xc6, 0x59, 0xb6, 0xbf, 0xbf, 0xbb, 0x2a,
- 0x9b, 0xc6, 0x59, 0xbe, 0xff, 0xeb, 0xbf, 0x2a, 0x9b, 0xc6, 0x79, 0xbe, 0xef, 0xab, 0x8a, 0x2a, 0x9b, 0xce, 0x7a, 0xbe, 0x7f, 0xde, 0xeb, 0xaa, 0x9b, 0xc6, 0x7a, 0xbe, 0x75, 0xfa, 0x88, 0x08,
- 0x9b, 0xc6, 0x5a, 0xbe, 0xf5, 0xba, 0xa2, 0x00, 0x9a, 0xce, 0x5a, 0xbe, 0xdd, 0xae, 0xaa, 0x02, 0x9b, 0xce, 0x7a, 0xc6, 0x55, 0xeb, 0xee, 0xab, 0x9b, 0xce, 0x7a, 0xbe, 0x7f, 0xfa, 0xaa, 0x2a,
- 0x9b, 0xce, 0x5a, 0xbe, 0x7f, 0xbe, 0xaa, 0xaa, 0x9b, 0xc6, 0x59, 0xbe, 0xf7, 0xaa, 0x88, 0x00, 0x9b, 0xce, 0x7a, 0xbe, 0xdf, 0xaf, 0xaa, 0xaa, 0x9a, 0xce, 0x7b, 0xc6, 0xdd, 0xbf, 0xff, 0xbb,
- 0x9b, 0xce, 0x7a, 0xc6, 0xfb, 0x8f, 0xee, 0x2a, 0x9a, 0xce, 0x9a, 0xc6, 0xfb, 0xab, 0xa2, 0xa2, 0xba, 0xce, 0x7a, 0xc6, 0xff, 0xfb, 0xba, 0xae, 0xfb, 0xd6, 0x66, 0x6a, 0x40, 0x40, 0xc0, 0x80,
- 0x87, 0x72, 0xc4, 0x69, 0xba, 0xf8, 0x78, 0xa8, 0x25, 0x6a, 0xa4, 0x61, 0x70, 0xa8, 0x98, 0xfa, 0x05, 0x72, 0x63, 0x59, 0x7e, 0x7a, 0xaa, 0x88, 0xe4, 0x61, 0x43, 0x59, 0x7d, 0xab, 0xaa, 0x82,
- 0xa4, 0x61, 0x43, 0x59, 0x09, 0x2a, 0xc0, 0x2a, 0x25, 0x72, 0x83, 0x61, 0xaa, 0x83, 0xaf, 0xf7, 0x66, 0x72, 0xa4, 0x69, 0xaf, 0x2f, 0xbd, 0x55, 0x45, 0x72, 0xc4, 0x61, 0xae, 0x2c, 0xed, 0x75,
- 0x25, 0x72, 0xa3, 0x61, 0xff, 0xec, 0x5f, 0xff, 0xe4, 0x69, 0x83, 0x61, 0xee, 0x3a, 0xda, 0xfe, 0x04, 0x72, 0xa3, 0x69, 0xaf, 0xb3, 0x57, 0xa7, 0xe4, 0x69, 0x63, 0x61, 0xbc, 0x3a, 0x2d, 0x55,
- 0x04, 0x72, 0x63, 0x59, 0xfe, 0xf8, 0x5a, 0x7d, 0x05, 0x72, 0x83, 0x59, 0x3f, 0xf5, 0xd5, 0xbf, 0xe4, 0x69, 0x63, 0x59, 0x28, 0xee, 0x71, 0x82, 0x04, 0x6a, 0x43, 0x59, 0xa0, 0xfd, 0xbd, 0xaf,
- 0x05, 0x6a, 0xa4, 0x61, 0xdb, 0x95, 0xfb, 0x3f, 0x6d, 0x83, 0xa3, 0x61, 0x3d, 0xfd, 0xfd, 0xff, 0xfc, 0xde, 0x07, 0x6a, 0x00, 0x09, 0x15, 0x55, 0xda, 0xd6, 0xd8, 0xc5, 0xaa, 0xaa, 0xa8, 0xa1,
- 0xba, 0xd6, 0x99, 0xce, 0xff, 0xff, 0xff, 0xbf, 0x9a, 0xd6, 0xba, 0xce, 0xff, 0xfe, 0xfa, 0xbf, 0x9a, 0xd6, 0xb9, 0xce, 0xfb, 0xaa, 0xff, 0xfa, 0xba, 0xd6, 0x99, 0xce, 0xed, 0xfe, 0xbf, 0xff,
- 0xba, 0xd6, 0x99, 0xce, 0xff, 0xaf, 0xef, 0xff, 0x99, 0xd6, 0xba, 0xce, 0xeb, 0xff, 0xff, 0xaa, 0x99, 0xd6, 0xba, 0xce, 0xaf, 0x8b, 0xaf, 0xbe, 0xfa, 0xe6, 0x66, 0x72, 0x54, 0x54, 0x54, 0x54,
- 0x86, 0x82, 0x25, 0x72, 0xbf, 0xbe, 0x2b, 0xeb, 0x66, 0x7a, 0xe5, 0x69, 0xa0, 0xe2, 0xf8, 0x7a, 0x45, 0x7a, 0x43, 0x51, 0x80, 0xea, 0x7a, 0x5e, 0x64, 0x59, 0x03, 0x49, 0x88, 0xe0, 0x7a, 0x7a,
- 0x64, 0x51, 0xe3, 0x48, 0xbe, 0x2f, 0x89, 0xab, 0x64, 0x51, 0x23, 0x41, 0x2c, 0xfe, 0x7d, 0x77, 0xc4, 0x69, 0x23, 0x49, 0xbf, 0x8d, 0x2d, 0xad, 0xe3, 0x69, 0xa4, 0x61, 0xef, 0xd7, 0x2f, 0xa7,
- 0xe4, 0x71, 0xa3, 0x61, 0xeb, 0x5b, 0xff, 0xfd, 0x04, 0x6a, 0xc4, 0x61, 0x01, 0xfb, 0x75, 0xb5, 0x05, 0x6a, 0xc4, 0x61, 0xe8, 0x7f, 0x73, 0x2a, 0x05, 0x6a, 0x23, 0x49, 0xba, 0xf0, 0x7a, 0x68,
- 0x26, 0x6a, 0xa4, 0x61, 0xea, 0xfa, 0x63, 0x7b, 0x05, 0x6a, 0xa4, 0x61, 0x2a, 0x2f, 0x1a, 0xfb, 0x46, 0x72, 0xe5, 0x69, 0x89, 0x43, 0x5d, 0x55, 0x04, 0x6a, 0x83, 0x61, 0xe8, 0x6a, 0xaa, 0x02,
- 0xc7, 0x72, 0xa4, 0x61, 0xfd, 0xff, 0xab, 0x2b, 0x8a, 0x9b, 0x66, 0x72, 0x39, 0x3f, 0x2a, 0x0a, 0x4c, 0xac, 0x8a, 0x9b, 0x25, 0x2d, 0x29, 0x2b, 0xef, 0xc4, 0xc7, 0x82, 0x4a, 0xe8, 0xca, 0x4a,
- 0x0c, 0xac, 0xc7, 0x82, 0x9c, 0xba, 0xb3, 0xb1, 0xef, 0xc4, 0xcb, 0x9b, 0xf7, 0xfe, 0xf4, 0xec, 0xda, 0xd6, 0x4e, 0xa4, 0x09, 0x09, 0x01, 0x01, 0xbb, 0xd6, 0x99, 0xce, 0xaa, 0xaa, 0xa0, 0x80,
- 0xda, 0xd6, 0x9a, 0xce, 0xfb, 0xea, 0xaf, 0xaf, 0x9a, 0xd6, 0xba, 0xce, 0xef, 0xaa, 0xff, 0xfe, 0x99, 0xd6, 0xbb, 0xce, 0xbf, 0xff, 0xea, 0xff, 0x9b, 0xd6, 0xb9, 0xce, 0xbf, 0xde, 0xbf, 0xff,
- 0xbb, 0xd6, 0x99, 0xce, 0xea, 0xab, 0xaa, 0xaa, 0x9a, 0xd6, 0xba, 0xce, 0xda, 0xd5, 0xba, 0xff, 0x9a, 0xd6, 0xba, 0xce, 0xfa, 0xab, 0x2b, 0xad, 0xba, 0xd6, 0x9a, 0xce, 0xff, 0x8b, 0xae, 0x8a,
- 0x99, 0xd6, 0xbb, 0xce, 0xaf, 0xeb, 0xfa, 0xbf, 0x99, 0xd6, 0xba, 0xce, 0xba, 0xbf, 0xaf, 0x7e, 0x99, 0xd6, 0xbb, 0xce, 0xfe, 0xfe, 0xfe, 0xeb, 0x9a, 0xd6, 0xbb, 0xce, 0xbf, 0xfa, 0xfe, 0xff,
- 0xba, 0xd6, 0x99, 0xce, 0xff, 0xff, 0xfb, 0xfa, 0xba, 0xd6, 0x99, 0xce, 0xff, 0xef, 0xef, 0xdb, 0xbb, 0xd6, 0x99, 0xce, 0x7f, 0xf7, 0xff, 0xfe, 0xba, 0xd6, 0x79, 0xce, 0xbe, 0xbf, 0xef, 0xfa,
- 0xba, 0xce, 0x9a, 0xce, 0x5e, 0x7f, 0x57, 0xb7, 0xba, 0xd6, 0x9a, 0xce, 0xd7, 0x55, 0xf5, 0x57, 0xba, 0xd6, 0x9a, 0xce, 0x55, 0x55, 0xf5, 0xbf, 0xba, 0xce, 0x9a, 0xce, 0xd5, 0xfb, 0x5f, 0x57,
- 0xba, 0xce, 0x9a, 0xce, 0xdc, 0xd7, 0x57, 0x75, 0xbb, 0xd6, 0x9a, 0xc6, 0xfe, 0xbf, 0xef, 0xff, 0xba, 0xce, 0x7a, 0xce, 0xae, 0xab, 0xea, 0xaa, 0xbb, 0xce, 0x79, 0xce, 0xee, 0xab, 0xaa, 0xea,
- 0x9b, 0xd6, 0x79, 0xce, 0xef, 0xfe, 0xef, 0xaa, 0xbb, 0xd6, 0x79, 0xc6, 0xff, 0xea, 0xff, 0xab, 0x9a, 0xce, 0x7a, 0xce, 0x02, 0x58, 0x00, 0x00, 0xba, 0xce, 0x7a, 0xce, 0xea, 0xbf, 0xea, 0xff,
- 0xbb, 0xd6, 0x79, 0xc6, 0xaf, 0xbb, 0xff, 0xee, 0x9b, 0xd6, 0x99, 0xc6, 0xeb, 0xaa, 0xea, 0xfb, 0xbb, 0xce, 0x9a, 0xce, 0x6d, 0x55, 0x55, 0x95, 0xbb, 0xce, 0x9a, 0xce, 0xed, 0x6d, 0x55, 0x5f,
- 0xba, 0xd6, 0x79, 0xce, 0xff, 0xbf, 0xee, 0xff, 0xba, 0xd6, 0x99, 0xc6, 0xbf, 0xff, 0xff, 0xff, 0xba, 0xce, 0x79, 0xce, 0xbe, 0xbf, 0xaa, 0xea, 0xba, 0xce, 0x7a, 0xce, 0xfe, 0xaa, 0xbe, 0xaa,
- 0xbb, 0xd6, 0x99, 0xc6, 0xfe, 0xbb, 0xff, 0xbf, 0x7a, 0xd6, 0xba, 0xce, 0xeb, 0xfe, 0xbf, 0xf7, 0xba, 0xd6, 0x9a, 0xce, 0x77, 0x55, 0x75, 0xdd, 0xbb, 0xd6, 0x7a, 0xce, 0xff, 0xff, 0xef, 0xee,
- 0xba, 0xd6, 0x9a, 0xce, 0x5d, 0x5d, 0x55, 0xf5, 0xbb, 0xd6, 0x79, 0xc6, 0xab, 0xba, 0xba, 0xea, 0xba, 0xce, 0x9a, 0xce, 0x77, 0x55, 0xbf, 0xdf, 0xbb, 0xce, 0x9a, 0xce, 0x55, 0x7e, 0xde, 0x65,
- 0x5b, 0xb6, 0x19, 0xae, 0x7f, 0xef, 0xab, 0x82, 0x5b, 0xbe, 0x19, 0xae, 0xbf, 0xab, 0xaa, 0x02, 0x5b, 0xbe, 0x1a, 0xb6, 0xbf, 0xaf, 0xaa, 0x02, 0x5a, 0xbe, 0x39, 0xb6, 0xb1, 0xaa, 0x20, 0x00,
- 0x7b, 0xbe, 0x3a, 0xb6, 0xaf, 0x8b, 0xa2, 0x80, 0x7a, 0xc6, 0x59, 0xbe, 0x5d, 0xfd, 0xaa, 0xaa, 0x9a, 0xc6, 0x59, 0xbe, 0x55, 0x7f, 0xfb, 0xaa, 0x7a, 0xc6, 0x5a, 0xbe, 0x7d, 0xfd, 0xef, 0x00,
- 0x7a, 0xc6, 0x5a, 0xbe, 0xd5, 0xbf, 0x8a, 0x00, 0x7b, 0xc6, 0x59, 0xbe, 0x19, 0xfe, 0xaa, 0x00, 0x7b, 0xc6, 0x5a, 0xbe, 0xbe, 0x2a, 0x00, 0x00, 0x9a, 0xc6, 0x5a, 0xbe, 0xbf, 0xbe, 0xa8, 0xaa,
- 0x9a, 0xce, 0x5a, 0xc6, 0xff, 0xff, 0xea, 0xba, 0x9b, 0xce, 0x79, 0xbe, 0x7f, 0xef, 0xaa, 0xea, 0x9a, 0xce, 0x7a, 0xc6, 0x55, 0x57, 0xae, 0xae, 0x9a, 0xce, 0x79, 0xc6, 0x75, 0xff, 0xfb, 0xbb,
- 0x79, 0xce, 0x9b, 0xc6, 0x6a, 0xff, 0xb2, 0xaa, 0x79, 0xce, 0x9b, 0xc6, 0xf6, 0xaf, 0xbb, 0xba, 0x9a, 0xce, 0x79, 0xc6, 0xff, 0xff, 0xaa, 0x3a, 0x9a, 0xce, 0x7a, 0xc6, 0xff, 0xae, 0xa8, 0xaa,
- 0x9a, 0xce, 0x7a, 0xce, 0xfd, 0x5e, 0xaa, 0x20, 0x79, 0xce, 0x9a, 0xc6, 0xf7, 0x3e, 0x8b, 0xaf, 0x9a, 0xce, 0x79, 0xc6, 0xaa, 0x20, 0xa2, 0xa8, 0x9a, 0xce, 0x79, 0xc6, 0xaa, 0x8a, 0x00, 0x80,
- 0x9a, 0xce, 0x7a, 0xc6, 0x8a, 0x8a, 0x2a, 0x02, 0xba, 0xce, 0x79, 0xc6, 0xfe, 0xab, 0xab, 0xba, 0xba, 0xce, 0x79, 0xc6, 0xfe, 0xba, 0xbe, 0xae, 0xba, 0xce, 0x79, 0xc6, 0xfb, 0xaa, 0xaa, 0xaa,
- 0xba, 0xce, 0x99, 0xc6, 0xef, 0xff, 0xfe, 0xbf, 0xbb, 0xd6, 0x79, 0xc6, 0xbf, 0xff, 0xbe, 0xae, 0xba, 0xce, 0x79, 0xc6, 0xea, 0xba, 0xaa, 0xae, 0xf8, 0xe6, 0x9a, 0xce, 0x95, 0x95, 0x15, 0x95,
- 0xa8, 0x72, 0x06, 0x6a, 0xed, 0xfa, 0x5a, 0x70, 0x05, 0x72, 0xc4, 0x59, 0x8a, 0x7a, 0x00, 0xea, 0x26, 0x6a, 0xc4, 0x61, 0x7d, 0x75, 0x3a, 0xa6, 0x45, 0x6a, 0x83, 0x59, 0x7f, 0x7e, 0x78, 0x7b,
- 0xc4, 0x61, 0x83, 0x59, 0x6e, 0xeb, 0x9e, 0x2e, 0x05, 0x6a, 0x63, 0x59, 0xbf, 0x0f, 0x37, 0x7f, 0xc4, 0x69, 0x83, 0x61, 0xb3, 0xf1, 0x4f, 0xa5, 0x45, 0x72, 0xa3, 0x61, 0xfb, 0x5d, 0xde, 0xf2,
- 0x25, 0x72, 0x83, 0x61, 0x9c, 0xff, 0x7e, 0xfe, 0x66, 0x7a, 0xa4, 0x61, 0xff, 0xfd, 0xe1, 0xc3, 0x86, 0x7a, 0xa3, 0x61, 0x7f, 0x5f, 0x2b, 0x82, 0x45, 0x7a, 0x83, 0x61, 0xd5, 0xa5, 0x8a, 0xaa,
- 0xe4, 0x71, 0x83, 0x61, 0x5a, 0xaa, 0xea, 0x60, 0xa4, 0x69, 0x43, 0x51, 0x0a, 0xa0, 0xfe, 0x57, 0x04, 0x6a, 0x23, 0x51, 0x82, 0x82, 0xcb, 0x89, 0xc4, 0x61, 0x63, 0x59, 0x3e, 0xb7, 0xdd, 0x5f,
- 0xe4, 0x69, 0x63, 0x61, 0xa0, 0xea, 0xb9, 0x0b, 0xe5, 0x69, 0xa3, 0x61, 0x02, 0x03, 0x8d, 0xca, 0x25, 0x6a, 0xa4, 0x61, 0x02, 0xbe, 0xaa, 0xa9, 0xdc, 0xde, 0xc6, 0x61, 0x09, 0x25, 0xd5, 0x55,
- 0x1c, 0xdf, 0x31, 0x9c, 0x2a, 0x22, 0x88, 0x81, 0xbb, 0xd6, 0x99, 0xce, 0xef, 0xff, 0xff, 0x3e, 0xbb, 0xd6, 0x99, 0xce, 0xaf, 0xea, 0xef, 0xa2, 0xbb, 0xd6, 0x99, 0xce, 0xbe, 0xee, 0xff, 0xbb,
- 0x99, 0xd6, 0xba, 0xce, 0xbf, 0xfa, 0xbe, 0xba, 0x99, 0xd6, 0xba, 0xce, 0xfe, 0x8b, 0xbe, 0xba, 0x99, 0xd6, 0xba, 0xce, 0x2e, 0x2b, 0x2a, 0xa6, 0xfa, 0xee, 0x25, 0x72, 0x54, 0x56, 0x56, 0x54,
- 0x65, 0x7a, 0x26, 0x72, 0x82, 0x8a, 0x7e, 0xef, 0x45, 0x72, 0x84, 0x59, 0xa0, 0xa0, 0x78, 0x6c, 0xc4, 0x61, 0x23, 0x49, 0x5c, 0xde, 0x57, 0x5d, 0x64, 0x51, 0x03, 0x49, 0x7f, 0xec, 0x55, 0x55,
- 0x64, 0x51, 0x03, 0x49, 0xeb, 0x5b, 0xfc, 0x5a, 0x24, 0x49, 0x02, 0x41, 0xf2, 0x30, 0xee, 0xbe, 0xa4, 0x61, 0x23, 0x49, 0x2d, 0x3d, 0xb5, 0x95, 0xe4, 0x69, 0x63, 0x61, 0xcb, 0xfd, 0xd5, 0xff,
- 0xc4, 0x69, 0x83, 0x61, 0xba, 0x6a, 0x3a, 0xfa, 0xe5, 0x69, 0xa4, 0x61, 0x20, 0x2d, 0x26, 0x8f, 0x26, 0x72, 0xe4, 0x69, 0xf9, 0xbd, 0xdf, 0x29, 0x05, 0x6a, 0x02, 0x39, 0xe0, 0x60, 0x60, 0x68,
- 0x05, 0x62, 0x63, 0x51, 0x62, 0xc2, 0xe2, 0xe2, 0xc4, 0x69, 0x05, 0x62, 0xa8, 0xaf, 0xfa, 0x7b, 0x25, 0x6a, 0xe6, 0x61, 0xbb, 0x9f, 0xff, 0x2f, 0x26, 0x6a, 0xe5, 0x61, 0x0f, 0x37, 0x3e, 0xaa,
- 0x09, 0x83, 0x06, 0x6a, 0x3d, 0xbd, 0x3d, 0xbd, 0xaa, 0x93, 0xe8, 0x82, 0xad, 0x89, 0x0f, 0xa5, 0x4d, 0xac, 0x8a, 0x93, 0x2f, 0x0b, 0xe9, 0xdd, 0x30, 0xcd, 0xa7, 0x7a, 0x6a, 0xea, 0xaa, 0x2b,
- 0x0f, 0xbd, 0x46, 0x6a, 0xb9, 0xbd, 0xad, 0x2d, 0xef, 0xc4, 0x4d, 0xac, 0x57, 0xfe, 0x5f, 0x64, 0xda, 0xde, 0x8f, 0xb4, 0x01, 0x09, 0x09, 0x0d, 0xda, 0xde, 0x9a, 0xce, 0xef, 0xef, 0xea, 0xab,
- 0xba, 0xd6, 0x9a, 0xce, 0x08, 0x00, 0x00, 0x00, 0xdb, 0xd6, 0x9a, 0xce, 0xba, 0xea, 0xab, 0xaa, 0xdb, 0xd6, 0x9a, 0xce, 0xab, 0xbb, 0xbe, 0xaa, 0xda, 0xd6, 0x99, 0xce, 0xaf, 0xaa, 0xab, 0xaa,
- 0xdb, 0xd6, 0x9a, 0xce, 0xfe, 0xfe, 0xeb, 0xee, 0xda, 0xd6, 0x9a, 0xce, 0xff, 0xea, 0xba, 0xa8, 0xbb, 0xd6, 0xb9, 0xce, 0xbe, 0xf8, 0xae, 0xaa, 0x9a, 0xd6, 0xbb, 0xce, 0xff, 0xaf, 0xff, 0xfe,
- 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xaf, 0xab, 0xa0, 0x9a, 0xd6, 0xba, 0xce, 0x7f, 0xfe, 0xfb, 0xf7, 0xba, 0xd6, 0x99, 0xce, 0xaa, 0xae, 0xbe, 0xae, 0x9a, 0xd6, 0xba, 0xce, 0xaa, 0xaa, 0xff, 0xff,
- 0x99, 0xd6, 0xba, 0xce, 0xfe, 0x7e, 0xfe, 0xff, 0xbb, 0xd6, 0x99, 0xce, 0xff, 0xbb, 0xeb, 0xaa, 0xba, 0xd6, 0x9a, 0xce, 0x7f, 0xfb, 0xae, 0xaa, 0xba, 0xd6, 0x9a, 0xce, 0xfd, 0xff, 0xaa, 0xaa,
- 0xbb, 0xd6, 0x9a, 0xce, 0x57, 0xff, 0xf7, 0xff, 0xba, 0xd6, 0x9a, 0xce, 0x77, 0xdf, 0xf6, 0xfe, 0xba, 0xd6, 0x99, 0xce, 0xff, 0xff, 0xfb, 0x7b, 0xbb, 0xd6, 0x99, 0xce, 0xf7, 0xbf, 0xee, 0xab,
- 0xbb, 0xd6, 0x99, 0xce, 0xdf, 0xff, 0xee, 0xaa, 0xbb, 0xd6, 0x9a, 0xce, 0xfb, 0x7f, 0xff, 0xeb, 0xbb, 0xd6, 0x9a, 0xce, 0xd5, 0x7d, 0xaf, 0xff, 0xba, 0xd6, 0x99, 0xce, 0xff, 0xbf, 0xef, 0xef,
- 0xbb, 0xd6, 0x99, 0xce, 0x57, 0xdf, 0xee, 0xff, 0xbb, 0xd6, 0x7a, 0xc6, 0xef, 0xaa, 0xaa, 0xaa, 0xbb, 0xd6, 0x99, 0xc6, 0xfb, 0xaf, 0xff, 0xfe, 0x9a, 0xd6, 0x79, 0xc6, 0xaa, 0xae, 0xaa, 0xaa,
- 0xba, 0xce, 0x9a, 0xce, 0x65, 0x55, 0x95, 0xd7, 0xba, 0xd6, 0x7a, 0xce, 0xff, 0xff, 0xfe, 0xff, 0xba, 0xce, 0x9a, 0xce, 0x55, 0x79, 0x55, 0x55, 0x9b, 0xd6, 0x9a, 0xce, 0x55, 0x75, 0x75, 0x75,
- 0xba, 0xd6, 0x9a, 0xce, 0x55, 0x55, 0xf5, 0xf5, 0xbb, 0xd6, 0x9a, 0xce, 0x5f, 0x57, 0x55, 0xdd, 0xbb, 0xd6, 0x79, 0xce, 0xf7, 0xff, 0xff, 0xef, 0xba, 0xce, 0x9a, 0xce, 0x75, 0x55, 0x57, 0xdd,
- 0xbb, 0xd6, 0x99, 0xce, 0x55, 0xff, 0xdd, 0xfb, 0xbb, 0xd6, 0x79, 0xce, 0xfb, 0xff, 0xff, 0xeb, 0xbb, 0xd6, 0x99, 0xc6, 0xff, 0xbf, 0xbf, 0xbf, 0x9a, 0xd6, 0x9a, 0xce, 0xb5, 0x95, 0xe5, 0xe5,
- 0xbb, 0xd6, 0x9a, 0xce, 0x55, 0x5f, 0x77, 0xff, 0xbb, 0xd6, 0x99, 0xce, 0x57, 0x5f, 0x75, 0xbf, 0xbb, 0xd6, 0x99, 0xce, 0x55, 0x9f, 0xef, 0xff, 0xba, 0xd6, 0x7a, 0xce, 0xff, 0xea, 0xfe, 0xbf,
- 0x7a, 0xc6, 0x59, 0xbe, 0x55, 0xfd, 0xea, 0x82, 0x7b, 0xc6, 0x59, 0xbe, 0xf5, 0xae, 0xa8, 0x02, 0x7a, 0xc6, 0x59, 0xbe, 0x6b, 0xee, 0x82, 0x02, 0x9a, 0xc6, 0x59, 0xbe, 0xf7, 0xbf, 0xbf, 0xaa,
- 0x9b, 0xce, 0x59, 0xbe, 0xf5, 0xbe, 0xab, 0xaa, 0x9a, 0xc6, 0x5a, 0xc6, 0xab, 0xaf, 0xba, 0xaa, 0x79, 0xce, 0x9a, 0xc6, 0xdf, 0x3f, 0xe2, 0xe5, 0x9a, 0xce, 0x5a, 0xc6, 0xfb, 0xff, 0xaa, 0xaa,
- 0x9a, 0xce, 0x7a, 0xc6, 0x75, 0xdf, 0xfe, 0xaa, 0x9a, 0xce, 0x7a, 0xc6, 0xdf, 0xff, 0xfe, 0x2e, 0x7b, 0xce, 0x99, 0xc6, 0x7a, 0xfe, 0xba, 0xaa, 0x9b, 0xce, 0x7a, 0xc6, 0xff, 0xfe, 0xba, 0x8b,
- 0x7a, 0xce, 0x99, 0xc6, 0xf7, 0x2a, 0xa3, 0xea, 0x9b, 0xce, 0x7a, 0xc6, 0xba, 0xaa, 0xaa, 0x88, 0x9a, 0xce, 0x7a, 0xc6, 0xae, 0xaa, 0xba, 0xaa, 0x9a, 0xce, 0x7a, 0xce, 0x8b, 0x09, 0x0a, 0xab,
- 0x9a, 0xce, 0x79, 0xc6, 0xaf, 0x2a, 0x08, 0xaa, 0x9b, 0xce, 0x79, 0xc6, 0xab, 0xa2, 0xa8, 0x28, 0x7a, 0xce, 0xba, 0xc6, 0xaa, 0xaf, 0xaa, 0xef, 0x9a, 0xce, 0x7a, 0xc6, 0xaa, 0xaa, 0x20, 0x2a,
- 0x9a, 0xce, 0x7a, 0xce, 0x24, 0x08, 0x08, 0x00, 0x9a, 0xce, 0x79, 0xce, 0x08, 0x8c, 0x22, 0x0a, 0x9a, 0xce, 0x79, 0xc6, 0x00, 0x00, 0x20, 0x82, 0xba, 0xce, 0x79, 0xc6, 0xab, 0xbb, 0xff, 0xfa,
- 0xba, 0xce, 0x79, 0xc6, 0xaa, 0xaa, 0xeb, 0xaf, 0x9a, 0xce, 0x79, 0xc6, 0x00, 0x02, 0x0a, 0xa2, 0xba, 0xd6, 0x79, 0xc6, 0xab, 0xaf, 0xff, 0xff, 0x9a, 0xce, 0x7a, 0xc6, 0x00, 0x2c, 0x08, 0x28,
- 0x9a, 0xce, 0x79, 0xc6, 0x00, 0x80, 0x28, 0x08, 0xba, 0xce, 0x79, 0xc6, 0xab, 0xae, 0xef, 0xff, 0x9a, 0xce, 0x79, 0xc6, 0x00, 0x82, 0x2a, 0xaa, 0xd8, 0xde, 0x7a, 0xce, 0x37, 0xd5, 0xd5, 0xf7,
- 0xf9, 0xe6, 0x46, 0x6a, 0x57, 0x56, 0x54, 0x54, 0x66, 0x72, 0xe5, 0x69, 0xfe, 0x5a, 0x7e, 0xe0, 0x25, 0x6a, 0xa4, 0x61, 0xdb, 0x77, 0xfe, 0xb8, 0xe5, 0x69, 0x83, 0x61, 0x7a, 0xef, 0xc3, 0xe8,
- 0xc4, 0x69, 0x83, 0x59, 0xef, 0xae, 0xea, 0xba, 0xc4, 0x61, 0x62, 0x59, 0x98, 0xf4, 0xe2, 0xba, 0xe4, 0x61, 0x43, 0x59, 0xf7, 0x1f, 0x2f, 0x2b, 0x04, 0x6a, 0xc5, 0x61, 0xdb, 0xa8, 0xbf, 0xbf,
- 0x46, 0x72, 0xe5, 0x69, 0xd5, 0x35, 0xdf, 0x55, 0x26, 0x72, 0xc5, 0x69, 0xeb, 0x2e, 0x0a, 0x2d, 0x46, 0x72, 0xe5, 0x69, 0x23, 0xab, 0x56, 0x7f, 0x46, 0x72, 0xa4, 0x61, 0x20, 0x42, 0x7b, 0xab,
- 0x04, 0x72, 0x63, 0x51, 0xe8, 0xaf, 0x95, 0xee, 0xc4, 0x69, 0x23, 0x51, 0xdf, 0xff, 0xae, 0x2a, 0xe5, 0x71, 0x63, 0x51, 0xa9, 0x8f, 0x2d, 0x9f, 0x05, 0x6a, 0x83, 0x61, 0x55, 0x57, 0xca, 0x02,
- 0xc4, 0x61, 0x63, 0x59, 0x8a, 0xb7, 0xf7, 0xdc, 0xe4, 0x69, 0x83, 0x61, 0x2f, 0x2b, 0xb9, 0x2e, 0x05, 0x72, 0xc4, 0x61, 0xc9, 0xaf, 0x37, 0xbb, 0x25, 0x72, 0xc3, 0x69, 0x59, 0xfa, 0x9a, 0x63,
- 0xb3, 0xb4, 0x83, 0x61, 0x35, 0xf5, 0xd5, 0x55, 0x1b, 0xe7, 0x83, 0x61, 0x02, 0x55, 0x55, 0x55, 0x3c, 0xe7, 0xc3, 0x69, 0x00, 0x0b, 0x55, 0x55, 0x1c, 0xdf, 0xc6, 0x61, 0x00, 0x00, 0xd5, 0x55,
- 0x1c, 0xdf, 0x66, 0x6a, 0x00, 0x00, 0x00, 0x40, 0x1c, 0xdf, 0x25, 0x72, 0x00, 0x00, 0x7e, 0x55, 0x1b, 0xe7, 0xa3, 0x61, 0x00, 0x60, 0x55, 0x55, 0x08, 0x8b, 0x04, 0x72, 0x54, 0xff, 0xff, 0xf7,
- 0x45, 0x7a, 0xc4, 0x61, 0xa3, 0xa3, 0x48, 0x5e, 0xe5, 0x69, 0x23, 0x49, 0xf0, 0x78, 0x5c, 0x5f, 0x43, 0x51, 0x04, 0x41, 0xef, 0x5c, 0xf5, 0xea, 0x44, 0x49, 0xe3, 0x40, 0xaf, 0xf7, 0x27, 0xba,
- 0x64, 0x51, 0xe3, 0x48, 0xde, 0xca, 0xdf, 0xd7, 0x43, 0x49, 0xe2, 0x40, 0xfa, 0x36, 0x8f, 0xca, 0xa4, 0x61, 0x03, 0x49, 0x37, 0x17, 0x35, 0x2f, 0xe5, 0x69, 0x83, 0x59, 0xbd, 0xaa, 0xaf, 0x80,
- 0x25, 0x72, 0x84, 0x61, 0xf7, 0xfd, 0xee, 0x0a, 0x66, 0x72, 0xa4, 0x61, 0xfd, 0xf5, 0x3b, 0x2a, 0x46, 0x72, 0x05, 0x6a, 0xab, 0x5e, 0x5a, 0xfc, 0x46, 0x6a, 0x23, 0x41, 0x78, 0x62, 0x6a, 0x70,
- 0x26, 0x62, 0x85, 0x49, 0x23, 0xa2, 0x32, 0xda, 0x46, 0x6a, 0x44, 0x49, 0xa0, 0x08, 0x2f, 0xad, 0x46, 0x6a, 0xc5, 0x61, 0xfe, 0x7f, 0x2b, 0xbd, 0x87, 0x72, 0xa4, 0x61, 0xeb, 0xba, 0xf8, 0x7f,
- 0x87, 0x6a, 0xc4, 0x61, 0x2b, 0xab, 0xaa, 0xad, 0x8a, 0x93, 0x25, 0x62, 0x0a, 0xaa, 0x97, 0x8b, 0xec, 0xa3, 0xa7, 0x7a, 0x8a, 0x9a, 0x7b, 0xf5, 0xcf, 0xbc, 0x08, 0x83, 0xfb, 0x17, 0xbd, 0xaf,
- 0xcf, 0xc4, 0x63, 0x51, 0xad, 0xaa, 0xaa, 0xb8, 0xf0, 0xc4, 0x8a, 0x9b, 0x09, 0x3f, 0x2b, 0x8b, 0xda, 0xd6, 0xec, 0x9b, 0x0d, 0x0b, 0x01, 0x00, 0xda, 0xd6, 0x9a, 0xce, 0xaa, 0xab, 0xea, 0xaa,
- 0xda, 0xd6, 0x99, 0xd6, 0xaa, 0xbe, 0xae, 0xaa, 0xdb, 0xd6, 0xba, 0xd6, 0xd5, 0x5d, 0x9f, 0xdd, 0xdb, 0xde, 0x99, 0xce, 0xaf, 0xbe, 0xbe, 0xaa, 0xbb, 0xde, 0xd9, 0xce, 0xfb, 0xab, 0xaa, 0xaa,
- 0xda, 0xd6, 0xba, 0xce, 0xaa, 0xaa, 0xaa, 0x2e, 0xdb, 0xd6, 0x9a, 0xce, 0xaa, 0xea, 0xaa, 0xaa, 0xdb, 0xde, 0xba, 0xce, 0xff, 0xff, 0xff, 0xef, 0x9a, 0xd6, 0xdb, 0xce, 0xfa, 0xba, 0xfa, 0xae,
- 0x99, 0xd6, 0xdb, 0xce, 0xaa, 0xaa, 0xaa, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0x2a, 0xa2, 0xaa, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xb2, 0x28, 0xa2, 0xbb, 0xd6, 0x9a, 0xce, 0xea, 0x2a, 0xaa, 0xaa,
- 0xba, 0xd6, 0x9a, 0xce, 0xa2, 0xaa, 0xbe, 0xfa, 0xbb, 0xd6, 0x9a, 0xce, 0xba, 0xae, 0xaa, 0xff, 0x9b, 0xd6, 0xba, 0xce, 0xae, 0xae, 0xfe, 0xfe, 0x99, 0xd6, 0xbb, 0xce, 0xfe, 0xbb, 0xfe, 0xaa,
- 0xbb, 0xd6, 0x9a, 0xce, 0xfb, 0xee, 0xff, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xef, 0xde, 0xfd, 0xf7, 0xbb, 0xd6, 0x99, 0xce, 0xfa, 0xfb, 0xfe, 0xff, 0xbb, 0xd6, 0x99, 0xce, 0xae, 0xfe, 0xff, 0xf7,
- 0xbb, 0xd6, 0x99, 0xce, 0xba, 0xeb, 0xdf, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xfe, 0xfb, 0xd7, 0x57, 0xbb, 0xd6, 0x99, 0xce, 0x7a, 0xd7, 0xdf, 0x55, 0xba, 0xce, 0x9a, 0xce, 0x59, 0x55, 0x55, 0x5b,
- 0xba, 0xd6, 0x9a, 0xce, 0xdf, 0x57, 0x55, 0x55, 0xba, 0xd6, 0x7a, 0xce, 0xfe, 0xfe, 0xff, 0xef, 0xbb, 0xd6, 0x99, 0xce, 0x75, 0xd5, 0xf7, 0xf5, 0xba, 0xd6, 0x9a, 0xce, 0x5d, 0x5d, 0xd7, 0x79,
- 0x9a, 0xd6, 0xbb, 0xce, 0xfa, 0xbc, 0xbe, 0xb7, 0xbb, 0xd6, 0x9a, 0xce, 0x7d, 0xdd, 0x9b, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0x5d, 0x7f, 0xdf, 0xfb, 0xbb, 0xd6, 0x9a, 0xce, 0x5d, 0xff, 0xff, 0xef,
- 0xbb, 0xd6, 0x9a, 0xce, 0x5f, 0xd7, 0xff, 0xaf, 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xb7, 0xea, 0xaa, 0x9a, 0xd6, 0xbb, 0xce, 0xff, 0xde, 0xff, 0xfb, 0x9a, 0xd6, 0xbb, 0xce, 0xf7, 0xaf, 0xbf, 0xff,
- 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xba, 0xae, 0xaa, 0xbb, 0xd6, 0x9a, 0xce, 0xfe, 0xf9, 0xfb, 0xbe, 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xbf, 0xab, 0xb8, 0xbb, 0xd6, 0x9a, 0xce, 0xbe, 0x6f, 0xff, 0xaa,
- 0xbb, 0xd6, 0x9a, 0xce, 0xef, 0xf6, 0xaa, 0xaa, 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xae, 0xab, 0xaa, 0xbb, 0xd6, 0x9a, 0xce, 0xbf, 0xef, 0xae, 0xaa, 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xe6, 0xaa, 0xca,
- 0x9a, 0xce, 0x7a, 0xc6, 0xdd, 0x57, 0xef, 0x7a, 0x9a, 0xce, 0x7a, 0xc6, 0x5d, 0xfd, 0xff, 0xfb, 0x9a, 0xce, 0x79, 0xc6, 0x5f, 0xe5, 0xff, 0xf7, 0x7a, 0xce, 0x9a, 0xc6, 0xaa, 0xaa, 0xea, 0xfa,
- 0x9a, 0xce, 0x79, 0xc6, 0xbd, 0x6d, 0xea, 0xaa, 0x9a, 0xce, 0x7a, 0xc6, 0xbf, 0xaf, 0xbe, 0xaa, 0x9a, 0xce, 0x79, 0xc6, 0x9e, 0xab, 0xaf, 0xae, 0x9a, 0xce, 0x7a, 0xc6, 0xab, 0xab, 0xaa, 0xaa,
- 0x9a, 0xce, 0x7a, 0xc6, 0xea, 0xea, 0xab, 0xaa, 0x79, 0xce, 0x9a, 0xc6, 0xb7, 0xbe, 0xf5, 0xaa, 0x9a, 0xce, 0x79, 0xc6, 0xaa, 0xaa, 0x22, 0xaa, 0x79, 0xce, 0xba, 0xc6, 0xae, 0xae, 0xaa, 0xaa,
- 0x9a, 0xce, 0x7a, 0xce, 0x84, 0xaa, 0xf2, 0xf2, 0x9a, 0xce, 0x7a, 0xc6, 0xab, 0xae, 0x20, 0x22, 0x9a, 0xce, 0x7a, 0xc6, 0x88, 0xaa, 0xaa, 0xaa, 0x9a, 0xce, 0x79, 0xc6, 0x80, 0xa0, 0xab, 0xa8,
- 0x9b, 0xce, 0x79, 0xc6, 0x0a, 0xa8, 0x80, 0xa0, 0x9a, 0xce, 0x79, 0xc6, 0x8e, 0xaa, 0xc2, 0xa8, 0x9a, 0xce, 0x79, 0xc6, 0x08, 0x8a, 0x0a, 0xaa, 0x9b, 0xce, 0x7a, 0xce, 0x0b, 0xb2, 0x5e, 0xa8,
- 0x79, 0xce, 0x9b, 0xc6, 0xff, 0xaa, 0xea, 0xba, 0x7a, 0xce, 0x99, 0xc6, 0xaf, 0x82, 0xff, 0xea, 0x9a, 0xce, 0x7a, 0xc6, 0x02, 0xa8, 0xe2, 0xaa, 0x79, 0xce, 0x9a, 0xc6, 0xde, 0xbe, 0xbf, 0xff,
- 0x9a, 0xce, 0x7a, 0xce, 0x2b, 0xec, 0x36, 0x22, 0x9a, 0xce, 0x7a, 0xc6, 0x82, 0xaa, 0xab, 0x8a, 0x9a, 0xce, 0x79, 0xc6, 0x8a, 0x88, 0x22, 0x80, 0xba, 0xce, 0x79, 0xc6, 0xff, 0xef, 0xea, 0x2a,
- 0xba, 0xd6, 0x79, 0xc6, 0xff, 0xff, 0xbe, 0xff, 0x9a, 0xce, 0x7a, 0xce, 0x8d, 0x02, 0x00, 0x80, 0xba, 0xd6, 0x79, 0xc6, 0xff, 0xfb, 0xef, 0xbb, 0xba, 0xce, 0x79, 0xce, 0xab, 0xfa, 0xea, 0xea,
- 0xfa, 0xde, 0x05, 0x5a, 0x54, 0x58, 0x50, 0x60, 0x67, 0x6a, 0xe5, 0x61, 0x28, 0xc8, 0xd8, 0xd8, 0x46, 0x72, 0xa4, 0x59, 0x2a, 0xaa, 0xea, 0x6a, 0x46, 0x6a, 0x43, 0x51, 0xf8, 0x7e, 0xea, 0xba,
- 0xa4, 0x61, 0x63, 0x51, 0x2f, 0xbd, 0xad, 0xe6, 0xa4, 0x61, 0x23, 0x51, 0x20, 0x7f, 0xfb, 0xdb, 0xe5, 0x61, 0x84, 0x59, 0x0f, 0x2f, 0xdd, 0x0b, 0x05, 0x6a, 0x84, 0x59, 0xb0, 0xaa, 0xd5, 0x5b,
- 0x25, 0x6a, 0x83, 0x59, 0x20, 0x02, 0x8b, 0xdf, 0x47, 0x6a, 0xc4, 0x61, 0xde, 0xe2, 0xed, 0xff, 0x25, 0x6a, 0xa5, 0x61, 0xe2, 0xa9, 0x8b, 0xaa, 0x26, 0x72, 0x05, 0x62, 0x8f, 0xab, 0xd7, 0xdd,
- 0x26, 0x72, 0xc5, 0x61, 0x50, 0xca, 0xaf, 0xea, 0x25, 0x6a, 0xa4, 0x61, 0x5b, 0xbd, 0xfc, 0x7a, 0x05, 0x6a, 0x63, 0x59, 0xfa, 0xe8, 0xaa, 0x7a, 0x05, 0x6a, 0x63, 0x59, 0x00, 0xaa, 0xdf, 0x55,
- 0xe5, 0x69, 0x43, 0x59, 0xf8, 0x00, 0x8a, 0xdd, 0x04, 0x6a, 0x63, 0x59, 0xeb, 0xe2, 0x0a, 0xd5, 0x05, 0x6a, 0x43, 0x49, 0xa0, 0x7a, 0xfc, 0xaa, 0xe5, 0x69, 0x63, 0x59, 0x60, 0x7d, 0x79, 0x7e,
- 0x25, 0x72, 0x63, 0x59, 0x8b, 0xef, 0x5d, 0xff, 0xe4, 0x69, 0x83, 0x51, 0xa0, 0xeb, 0xa9, 0x2a, 0x25, 0x72, 0x63, 0x59, 0x2f, 0xb5, 0x5f, 0xea, 0x25, 0x72, 0x43, 0x49, 0xf0, 0xf8, 0xbf, 0xb6,
- 0x45, 0x72, 0x64, 0x59, 0x35, 0xa2, 0x2a, 0xfd, 0x24, 0x7a, 0xa3, 0x69, 0x80, 0x6a, 0xe8, 0xeb, 0x25, 0x72, 0xe3, 0x69, 0xad, 0x01, 0x6d, 0x30, 0x45, 0x7a, 0x82, 0x59, 0x02, 0xa2, 0xba, 0x7e,
- 0x04, 0x72, 0x43, 0x49, 0xe8, 0x7e, 0xff, 0x5d, 0x64, 0x51, 0x03, 0x49, 0x6e, 0x7b, 0xfa, 0xfd, 0x24, 0x49, 0x03, 0x41, 0x3b, 0x10, 0x90, 0xce, 0x84, 0x51, 0xe3, 0x40, 0xff, 0xff, 0xf7, 0x8b,
- 0xc4, 0x61, 0x03, 0x41, 0xd5, 0xd5, 0xbe, 0x02, 0x26, 0x72, 0x24, 0x49, 0xd5, 0x37, 0xaf, 0x82, 0x25, 0x6a, 0x44, 0x51, 0xf7, 0xb8, 0xb8, 0x02, 0x66, 0x6a, 0xc5, 0x61, 0x2b, 0xbf, 0x57, 0xea,
- 0x67, 0x72, 0xc4, 0x59, 0x0b, 0xab, 0xf5, 0xae, 0x67, 0x72, 0x84, 0x59, 0x88, 0x7a, 0xab, 0xb2, 0x46, 0x6a, 0xe5, 0x61, 0x0f, 0x7f, 0xff, 0xda, 0x26, 0x6a, 0x23, 0x41, 0x50, 0xda, 0xd8, 0xda,
- 0xc5, 0x59, 0x23, 0x49, 0xae, 0x2e, 0x87, 0x8e, 0xe5, 0x61, 0x22, 0x49, 0x29, 0x0b, 0x0a, 0x2a, 0x26, 0x6a, 0xa4, 0x59, 0x77, 0x8a, 0x0b, 0x2e, 0xc8, 0x7a, 0xc5, 0x61, 0xfd, 0xaf, 0xff, 0x3f,
- 0x47, 0x72, 0xe5, 0x61, 0xbe, 0x2a, 0x6b, 0x20, 0x29, 0x83, 0x26, 0x6a, 0xbd, 0xbd, 0xb5, 0x3d, 0xaf, 0xac, 0xe8, 0x7a, 0xf5, 0xdd, 0xbf, 0xb3, 0x50, 0xc5, 0xaa, 0x9b, 0xf5, 0xf5, 0x75, 0x89,
- 0x51, 0xcd, 0x49, 0x8b, 0xba, 0xae, 0x96, 0xf4, 0xdb, 0xde, 0x6e, 0xac, 0x3d, 0x2f, 0x0b, 0x01, 0xdb, 0xde, 0xba, 0xce, 0xfe, 0xff, 0xff, 0xff, 0xdb, 0xd6, 0x9a, 0xce, 0xaf, 0xff, 0xee, 0xbf,
- 0xbb, 0xd6, 0x9a, 0xce, 0x80, 0x80, 0x02, 0x2a, 0xdb, 0xd6, 0x9a, 0xce, 0xaa, 0xaa, 0xbf, 0xea, 0xdb, 0xd6, 0xba, 0xce, 0xea, 0xff, 0xbe, 0xff, 0xdb, 0xd6, 0xba, 0xce, 0xff, 0xfe, 0xff, 0xfe,
- 0xdb, 0xd6, 0x9a, 0xce, 0xaa, 0xaa, 0xaa, 0xaa, 0xdb, 0xde, 0x9a, 0xce, 0xbb, 0xfa, 0xff, 0xff, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xee, 0xef, 0xee, 0xdb, 0xde, 0x9a, 0xce, 0xfb, 0xfe, 0xff, 0xeb,
- 0xdb, 0xd6, 0x9a, 0xce, 0xfa, 0xbf, 0xab, 0xae, 0xdb, 0xd6, 0xba, 0xce, 0xff, 0xff, 0xff, 0xfe, 0x9a, 0xd6, 0xbb, 0xce, 0xff, 0xea, 0xea, 0xea, 0x9a, 0xd6, 0xda, 0xce, 0xaa, 0xab, 0xaa, 0xaa,
- 0xbb, 0xd6, 0x99, 0xce, 0xae, 0xee, 0xea, 0x8a, 0xbb, 0xd6, 0x99, 0xce, 0xfd, 0xff, 0xfe, 0xba, 0xbb, 0xd6, 0x99, 0xce, 0xff, 0xbb, 0xba, 0xea, 0xbb, 0xd6, 0x9a, 0xce, 0x57, 0xf7, 0x5f, 0xfe,
- 0xbb, 0xd6, 0x9a, 0xce, 0xfd, 0xff, 0xfd, 0x5d, 0xbb, 0xd6, 0x9a, 0xce, 0x95, 0x5f, 0x55, 0xd5, 0x7a, 0xd6, 0x9a, 0xce, 0x56, 0x7d, 0xd5, 0x55, 0xbb, 0xd6, 0x7a, 0xce, 0xfe, 0xff, 0xff, 0xff,
- 0xbb, 0xd6, 0x7a, 0xce, 0xfb, 0xfb, 0xff, 0xff, 0xba, 0xd6, 0x7a, 0xc6, 0xaa, 0xab, 0xfa, 0xfe, 0x9a, 0xd6, 0x7a, 0xce, 0xea, 0xea, 0x7a, 0xee, 0xba, 0xce, 0x9a, 0xce, 0x35, 0xf9, 0x55, 0x5d,
- 0x9a, 0xce, 0x7a, 0xce, 0xc0, 0x00, 0x00, 0x00, 0xba, 0xce, 0x7a, 0xce, 0xfb, 0xff, 0xaf, 0xaa, 0xbb, 0xd6, 0x99, 0xce, 0xff, 0x5f, 0xd7, 0xff, 0x7a, 0xd6, 0xbb, 0xce, 0xfb, 0xfe, 0xef, 0xff,
- 0xbb, 0xd6, 0x9a, 0xce, 0xdd, 0xe7, 0xff, 0xab, 0xbb, 0xd6, 0x9a, 0xce, 0xad, 0xae, 0xff, 0xea, 0x9a, 0xd6, 0xbb, 0xce, 0xbf, 0xeb, 0xff, 0xff, 0x9a, 0xd6, 0xbb, 0xce, 0xfa, 0xaf, 0xff, 0xfb,
- 0x99, 0xd6, 0xbb, 0xce, 0x6f, 0xff, 0xbe, 0xfd, 0xbb, 0xd6, 0x9a, 0xce, 0xae, 0xaa, 0xab, 0x8a, 0xbb, 0xd6, 0x9a, 0xce, 0xab, 0xab, 0xaa, 0x2a, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xaa, 0xa8, 0xae,
- 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xaa, 0xaa, 0x8b, 0x9a, 0xd6, 0xdb, 0xce, 0xaa, 0xbe, 0xee, 0xbe, 0x9a, 0xd6, 0xdb, 0xce, 0xfe, 0xba, 0xef, 0xfa, 0xbb, 0xd6, 0x99, 0xce, 0xa2, 0xa2, 0xaa, 0x0a,
- 0xbb, 0xd6, 0xba, 0xce, 0x2f, 0x8a, 0x0a, 0xa0, 0xbb, 0xd6, 0x9a, 0xce, 0x8a, 0x20, 0x88, 0x00, 0xdb, 0xde, 0x9a, 0xce, 0xff, 0xfa, 0xef, 0xbf, 0xdb, 0xde, 0x9a, 0xce, 0xff, 0xff, 0xff, 0xae,
- 0x7a, 0xce, 0x9a, 0xc6, 0xfa, 0xbe, 0xfa, 0xaf, 0x79, 0xce, 0x9a, 0xc6, 0xbc, 0xae, 0xff, 0xe2, 0x9b, 0xce, 0x79, 0xc6, 0xfe, 0xfe, 0xbe, 0xff, 0x7b, 0xce, 0x99, 0xc6, 0xeb, 0xab, 0x8a, 0xaa,
- 0x7a, 0xce, 0x9a, 0xc6, 0xab, 0xea, 0xea, 0xff, 0x9a, 0xce, 0x7a, 0xc6, 0xbe, 0x9a, 0xfa, 0xba, 0x7a, 0xce, 0x9a, 0xc6, 0xef, 0xeb, 0xbb, 0xab, 0x9a, 0xce, 0x79, 0xc6, 0xaa, 0xaa, 0xbb, 0xfb,
- 0x7a, 0xce, 0x9a, 0xc6, 0xed, 0xaa, 0xa9, 0xbf, 0x7a, 0xce, 0x9a, 0xc6, 0x5f, 0xaa, 0xaa, 0xb8, 0x9a, 0xce, 0x7a, 0xc6, 0xaa, 0xac, 0xaa, 0xff, 0x9a, 0xce, 0x79, 0xc6, 0x22, 0xa8, 0xaa, 0xa8,
- 0x9a, 0xce, 0x79, 0xc6, 0x22, 0x88, 0xa2, 0x88, 0x9a, 0xce, 0x79, 0xc6, 0x8a, 0x82, 0xaa, 0xaa, 0x7a, 0xce, 0xba, 0xc6, 0xea, 0xee, 0xaa, 0xea, 0x79, 0xce, 0x9a, 0xc6, 0xbd, 0xb8, 0xbf, 0xab,
- 0xba, 0xce, 0x79, 0xc6, 0xfa, 0xeb, 0xef, 0xfb, 0x9a, 0xce, 0x79, 0xc6, 0xa8, 0x8a, 0xea, 0xea, 0x9a, 0xce, 0x7a, 0xc6, 0xaa, 0xa8, 0x8a, 0x22, 0x9a, 0xce, 0x79, 0xc6, 0xa2, 0xea, 0x20, 0x82,
- 0x79, 0xce, 0xba, 0xc6, 0xaa, 0x82, 0xfa, 0xba, 0x9b, 0xce, 0x79, 0xc6, 0xa8, 0xa8, 0x82, 0x00, 0xba, 0xce, 0x7a, 0xc6, 0xff, 0xea, 0xab, 0xaa, 0x9a, 0xd6, 0x79, 0xc6, 0xff, 0xbb, 0xee, 0xab,
- 0x9a, 0xce, 0x79, 0xce, 0xf2, 0x20, 0x00, 0x00, 0xbb, 0xd6, 0x79, 0xc6, 0xef, 0xfb, 0xbe, 0xea, 0xbb, 0xd6, 0x7a, 0xc6, 0xff, 0xff, 0xea, 0xba, 0xbb, 0xd6, 0x99, 0xce, 0xd5, 0xd7, 0x5d, 0xf7,
- 0xba, 0xd6, 0x99, 0xce, 0xfd, 0x7d, 0xff, 0xde, 0xbb, 0xd6, 0x99, 0xce, 0x7f, 0xdf, 0x5f, 0xfd, 0xbb, 0xd6, 0x99, 0xc6, 0xbe, 0xfe, 0xab, 0xaa, 0x9a, 0xd6, 0xba, 0xce, 0xbd, 0xbb, 0xab, 0xbf,
- 0x1b, 0xdf, 0x66, 0x5a, 0x40, 0x40, 0x80, 0x00, 0xa8, 0x6a, 0xe5, 0x61, 0x58, 0xb0, 0xea, 0xfa, 0x46, 0x72, 0x63, 0x51, 0x7a, 0x0a, 0xa2, 0xfb, 0x46, 0x72, 0x43, 0x51, 0xb7, 0xa8, 0x8a, 0x9e,
- 0x25, 0x72, 0x64, 0x59, 0x7f, 0xaa, 0x22, 0xea, 0xe4, 0x61, 0x43, 0x51, 0xd7, 0xfe, 0xe8, 0xea, 0x25, 0x62, 0x84, 0x59, 0x0b, 0xa8, 0x7b, 0x77, 0x05, 0x6a, 0x84, 0x51, 0xaa, 0xab, 0xfd, 0x0b,
- 0x05, 0x62, 0x44, 0x59, 0xaa, 0xfe, 0x7e, 0x80, 0xe5, 0x69, 0x63, 0x59, 0xaa, 0x55, 0xf5, 0xb8, 0xe5, 0x69, 0x63, 0x59, 0xa0, 0x7f, 0x7f, 0xef, 0x05, 0x62, 0x64, 0x59, 0x02, 0x97, 0xf5, 0xae,
- 0x05, 0x6a, 0xa4, 0x59, 0xe2, 0x69, 0x8a, 0x7a, 0xe5, 0x69, 0x64, 0x59, 0x7f, 0x2b, 0xfa, 0xdf, 0xa4, 0x61, 0x63, 0x51, 0xaf, 0x00, 0x0c, 0xef, 0xa4, 0x61, 0x03, 0x41, 0x0a, 0x00, 0x9c, 0xf6,
- 0x84, 0x61, 0x42, 0x49, 0x88, 0xaa, 0xab, 0xfd, 0xe5, 0x61, 0x23, 0x51, 0x0a, 0xeb, 0xeb, 0xd5, 0xc5, 0x69, 0x43, 0x51, 0xa0, 0xeb, 0xa5, 0xab, 0xe5, 0x61, 0x64, 0x59, 0xc9, 0xad, 0xef, 0x2a,
- 0xc4, 0x61, 0x43, 0x51, 0xba, 0x7a, 0x8a, 0x28, 0xc5, 0x61, 0x43, 0x51, 0x0a, 0xad, 0x8b, 0x2f, 0x05, 0x6a, 0xa3, 0x61, 0x2c, 0x2f, 0x3d, 0xbb, 0xc5, 0x61, 0x03, 0x41, 0x0c, 0x2c, 0xb7, 0xf7,
- 0xe5, 0x61, 0x44, 0x49, 0x2a, 0xa2, 0xa2, 0xed, 0x45, 0x72, 0x43, 0x51, 0x2a, 0x3f, 0x2b, 0xa5, 0x25, 0x72, 0x83, 0x61, 0x80, 0xc8, 0x7a, 0xda, 0xc4, 0x61, 0x43, 0x59, 0xfa, 0x5e, 0xf7, 0xc2,
- 0x64, 0x59, 0x23, 0x49, 0x78, 0x5c, 0xfe, 0x7e, 0x24, 0x49, 0x03, 0x41, 0xfc, 0x80, 0xc0, 0xcc, 0xc4, 0x61, 0xe3, 0x40, 0xdf, 0xf7, 0xbf, 0x8d, 0xa5, 0x61, 0x43, 0x51, 0xbd, 0xbe, 0xfe, 0x02,
- 0x26, 0x6a, 0x64, 0x59, 0xad, 0xe5, 0xa5, 0x0b, 0x26, 0x6a, 0xa5, 0x59, 0xfa, 0x57, 0xfe, 0xb0, 0x87, 0x6a, 0xc4, 0x59, 0xf5, 0xff, 0xbd, 0x2e, 0xc8, 0x72, 0xc5, 0x59, 0xff, 0x5f, 0x7f, 0x8a,
- 0xc8, 0x72, 0xe5, 0x61, 0xdf, 0x55, 0x75, 0x0a, 0xea, 0x72, 0xc5, 0x59, 0x55, 0xdf, 0xaf, 0xc0, 0xa8, 0x6a, 0xc5, 0x59, 0xff, 0xab, 0xa8, 0x7f, 0x88, 0x6a, 0x23, 0x41, 0xde, 0xfc, 0x77, 0xd7,
- 0xe6, 0x61, 0x44, 0x49, 0xed, 0xa9, 0xaa, 0xa0, 0x26, 0x6a, 0xa4, 0x51, 0x95, 0x8a, 0x2a, 0xab, 0x67, 0x6a, 0x05, 0x62, 0x77, 0xba, 0xbd, 0xac, 0xa8, 0x72, 0x26, 0x62, 0x15, 0xb5, 0xeb, 0xbf,
- 0x4a, 0x83, 0x46, 0x6a, 0x5f, 0xd5, 0x15, 0x85, 0xec, 0x9b, 0x47, 0x6a, 0xb5, 0x2f, 0x2d, 0xed, 0x31, 0xc5, 0xe8, 0x7a, 0xeb, 0xe2, 0x58, 0xf9, 0xb2, 0xd5, 0xab, 0x93, 0xab, 0xa3, 0xfd, 0xd5,
- 0x51, 0xcd, 0x25, 0x6a, 0xe4, 0x70, 0xd6, 0xbe, 0x5d, 0xe7, 0xc8, 0x72, 0x00, 0x01, 0x03, 0x03, 0x9a, 0xd6, 0xbb, 0xce, 0x7b, 0xfe, 0xff, 0xff, 0x9a, 0xd6, 0xdb, 0xce, 0xae, 0xbf, 0xea, 0xaa,
- 0xba, 0xd6, 0xdb, 0xce, 0x00, 0x88, 0xc2, 0x28, 0xba, 0xd6, 0xdb, 0xce, 0x20, 0x02, 0x0b, 0xa8, 0xdb, 0xd6, 0xba, 0xce, 0xff, 0xfb, 0xff, 0xbe, 0xdb, 0xd6, 0x9a, 0xce, 0xae, 0xee, 0xab, 0xaa,
- 0xdb, 0xd6, 0xba, 0xce, 0xff, 0xfb, 0xef, 0xbb, 0xbb, 0xd6, 0x9a, 0xd6, 0x0a, 0xca, 0x08, 0x80, 0xdb, 0xd6, 0xba, 0xce, 0xbe, 0xfb, 0xfb, 0xff, 0x9a, 0xd6, 0xdb, 0xce, 0xef, 0xaa, 0xba, 0x8b,
- 0xdb, 0xd6, 0x9a, 0xce, 0xaa, 0xaa, 0xaa, 0xef, 0xdb, 0xd6, 0xba, 0xce, 0xfa, 0xba, 0xff, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0x82, 0x02, 0x02, 0x2a, 0xbb, 0xd6, 0x9a, 0xce, 0x8e, 0xea, 0xa0, 0xa2,
- 0x9a, 0xd6, 0xbb, 0xce, 0xbf, 0xee, 0xef, 0xff, 0x9a, 0xd6, 0xbb, 0xce, 0xea, 0x2f, 0xff, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xfa, 0xee, 0xfb, 0xab, 0xbb, 0xd6, 0x9a, 0xce, 0x7e, 0xfb, 0xfa, 0xbf,
- 0xbb, 0xd6, 0x9a, 0xce, 0xfd, 0xfe, 0xde, 0x7f, 0xba, 0xd6, 0x9a, 0xce, 0x5f, 0xfd, 0x7d, 0xfe, 0xba, 0xce, 0x9a, 0xce, 0x55, 0x69, 0xbd, 0x55, 0x9b, 0xd6, 0x9a, 0xce, 0x55, 0x5f, 0x57, 0xb6,
- 0xbb, 0xce, 0x9a, 0xce, 0xd5, 0x55, 0xde, 0xd5, 0xbb, 0xd6, 0x9a, 0xce, 0x55, 0x55, 0xdf, 0xbd, 0xbb, 0xd6, 0x7a, 0xce, 0xff, 0xff, 0xbf, 0xba, 0xba, 0xd6, 0x9a, 0xce, 0x5d, 0x75, 0x7f, 0xef,
- 0xbb, 0xd6, 0x9a, 0xce, 0x75, 0x76, 0xf7, 0xfe, 0xbb, 0xd6, 0x99, 0xce, 0xfd, 0xbf, 0xfb, 0xae, 0xbb, 0xd6, 0x99, 0xce, 0xff, 0xbe, 0xfa, 0xab, 0x9b, 0xd6, 0xba, 0xce, 0xdf, 0xaf, 0xaa, 0xfe,
- 0x9b, 0xd6, 0xba, 0xce, 0xeb, 0xab, 0xff, 0xeb, 0xbb, 0xd6, 0xba, 0xce, 0xd7, 0xbf, 0xeb, 0xe3, 0xbb, 0xd6, 0x9a, 0xce, 0xab, 0xa2, 0xaa, 0xaa, 0xdb, 0xd6, 0x9a, 0xce, 0xff, 0xfb, 0xfb, 0xbb,
- 0xdb, 0xd6, 0x9a, 0xce, 0xff, 0xbb, 0xbf, 0xeb, 0xdb, 0xd6, 0x9a, 0xce, 0xeb, 0xbb, 0xaa, 0xaa, 0xdb, 0xd6, 0x9a, 0xce, 0xfe, 0xeb, 0xaf, 0xaa, 0xdb, 0xde, 0x9a, 0xce, 0xff, 0xff, 0xfa, 0xff,
- 0xdb, 0xd6, 0x9a, 0xce, 0xaa, 0xab, 0xab, 0xaa, 0xda, 0xd6, 0x9a, 0xce, 0xeb, 0xaa, 0xab, 0xbb, 0xdb, 0xd6, 0xba, 0xce, 0xff, 0xea, 0xab, 0xee, 0xdb, 0xd6, 0x9a, 0xce, 0xef, 0xaa, 0xaa, 0xaa,
- 0xdb, 0xd6, 0xba, 0xce, 0xff, 0xbf, 0xea, 0xba, 0xdb, 0xde, 0xba, 0xce, 0xff, 0xff, 0xba, 0xbf, 0xdb, 0xde, 0xba, 0xce, 0xff, 0xff, 0xff, 0xbf, 0xdb, 0xde, 0xba, 0xce, 0xfe, 0xff, 0xfe, 0xab,
- 0x9b, 0xce, 0x79, 0xc6, 0xe9, 0xee, 0xff, 0xe2, 0x9a, 0xce, 0x79, 0xc6, 0x9e, 0xfe, 0xaf, 0xff, 0x7a, 0xce, 0x9a, 0xc6, 0xe8, 0xe8, 0xba, 0xbb, 0x9a, 0xce, 0x79, 0xc6, 0xff, 0xfb, 0xfe, 0xff,
- 0x9a, 0xce, 0x7a, 0xc6, 0xaa, 0xff, 0xff, 0xef, 0x9b, 0xce, 0x79, 0xc6, 0xfb, 0x7f, 0xdf, 0xde, 0x9a, 0xce, 0x7a, 0xc6, 0xff, 0xff, 0x7f, 0xeb, 0x7b, 0xce, 0x99, 0xc6, 0xbe, 0xae, 0xe2, 0xfe,
- 0x9a, 0xce, 0x7a, 0xc6, 0xfa, 0xff, 0xff, 0xff, 0x7a, 0xce, 0x9a, 0xc6, 0xde, 0xfa, 0xaa, 0xab, 0x9b, 0xce, 0x7a, 0xc6, 0xab, 0xbf, 0xbf, 0xff, 0x7a, 0xce, 0x9a, 0xc6, 0xab, 0xaa, 0xa7, 0xff,
- 0x7a, 0xce, 0x9a, 0xc6, 0xbd, 0xae, 0xaa, 0xae, 0x9a, 0xce, 0x7a, 0xc6, 0xaa, 0x8b, 0x28, 0xa2, 0x79, 0xce, 0xba, 0xc6, 0xbe, 0xbf, 0xea, 0xbf, 0x9a, 0xce, 0x7a, 0xc6, 0x23, 0x8a, 0x00, 0x0a,
- 0xba, 0xce, 0x7a, 0xce, 0xfe, 0xfb, 0xeb, 0xea, 0x9a, 0xce, 0x7a, 0xce, 0x83, 0x0a, 0x00, 0x00, 0xba, 0xce, 0x99, 0xce, 0x37, 0xef, 0xff, 0xff, 0xba, 0xce, 0x99, 0xce, 0x57, 0xff, 0xbf, 0xff,
- 0xba, 0xce, 0x9a, 0xce, 0x55, 0x55, 0xdc, 0x15, 0xba, 0xce, 0x7a, 0xce, 0xff, 0xaa, 0xea, 0xaa, 0xbb, 0xce, 0x99, 0xce, 0xef, 0xff, 0xdd, 0x7f, 0xbb, 0xd6, 0x99, 0xc6, 0xef, 0xbb, 0xaa, 0xba,
- 0xbb, 0xd6, 0x9a, 0xce, 0xdd, 0x57, 0xff, 0xff, 0xbb, 0xd6, 0x99, 0xc6, 0xfa, 0xea, 0xaa, 0xaa, 0x9b, 0xd6, 0xb9, 0xce, 0xff, 0xeb, 0xff, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xf7, 0xff, 0xdf, 0xa7,
- 0xba, 0xd6, 0x9a, 0xce, 0xf7, 0x7f, 0xbb, 0xf7, 0x9a, 0xd6, 0xba, 0xce, 0xff, 0xff, 0x5d, 0xef, 0x9a, 0xd6, 0xba, 0xce, 0xf7, 0xff, 0xaf, 0xb5, 0x9b, 0xd6, 0xba, 0xce, 0xfa, 0xfa, 0xff, 0xfb,
- 0xf9, 0xde, 0x9a, 0xce, 0x3d, 0xf5, 0xd7, 0x5d, 0x1a, 0xe7, 0xe5, 0x51, 0x57, 0x56, 0x54, 0x58, 0x87, 0x62, 0xe5, 0x59, 0x5d, 0x57, 0x5e, 0xd8, 0x25, 0x62, 0xa4, 0x59, 0xee, 0x28, 0x42, 0xf8,
- 0x26, 0x6a, 0xc4, 0x59, 0xef, 0x8a, 0xfe, 0xd5, 0x05, 0x6a, 0x23, 0x49, 0xfa, 0x78, 0x5a, 0xba, 0xe5, 0x61, 0xa4, 0x51, 0xa2, 0xe9, 0x6d, 0xbf, 0x05, 0x62, 0xa4, 0x59, 0x27, 0xb5, 0xa9, 0xc2,
- 0x05, 0x6a, 0xa4, 0x61, 0xea, 0xde, 0x7b, 0x5c, 0xc4, 0x61, 0x64, 0x51, 0xa0, 0x6b, 0x7a, 0xf6, 0x05, 0x62, 0x43, 0x51, 0xfa, 0xaf, 0xaf, 0x0d, 0x26, 0x62, 0x84, 0x59, 0xdd, 0xed, 0xeb, 0x22,
- 0x06, 0x62, 0x85, 0x59, 0x5a, 0xfa, 0x0a, 0xa0, 0x05, 0x62, 0x43, 0x49, 0xbf, 0xde, 0xa8, 0x0a, 0x04, 0x62, 0x85, 0x59, 0x5f, 0xdd, 0xee, 0x8c, 0xe4, 0x61, 0x03, 0x41, 0xd7, 0xd7, 0xae, 0x88,
- 0xa4, 0x61, 0x43, 0x51, 0xf5, 0x75, 0xab, 0xa0, 0x05, 0x6a, 0x64, 0x51, 0x7d, 0xb7, 0xaf, 0x0f, 0x05, 0x6a, 0xa4, 0x59, 0xbd, 0x7f, 0x0e, 0x0a, 0x25, 0x6a, 0x84, 0x59, 0x2b, 0xaa, 0xba, 0xde,
- 0x25, 0x72, 0x23, 0x49, 0xa0, 0x20, 0xaa, 0x7a, 0xc5, 0x69, 0x43, 0x49, 0x2a, 0xa2, 0xfa, 0xad, 0xe4, 0x69, 0x23, 0x49, 0x80, 0xe8, 0x7b, 0x7a, 0xa4, 0x51, 0xe3, 0x40, 0xe5, 0x09, 0x2d, 0xaf,
- 0xe3, 0x69, 0x24, 0x49, 0xed, 0xaa, 0xaa, 0x3f, 0x04, 0x72, 0x23, 0x49, 0xb7, 0xb7, 0x2a, 0x80, 0x25, 0x72, 0x83, 0x61, 0xb5, 0x5e, 0xfc, 0xd5, 0x05, 0x6a, 0x63, 0x51, 0xe0, 0xe8, 0x6a, 0x7b,
- 0xe5, 0x59, 0x23, 0x49, 0x7f, 0xd7, 0xf5, 0x8a, 0xc5, 0x61, 0x23, 0x49, 0xf5, 0xad, 0xab, 0x00, 0x06, 0x6a, 0x63, 0x51, 0xed, 0xbe, 0x8a, 0x8a, 0x26, 0x6a, 0x83, 0x59, 0xfd, 0x2e, 0x2f, 0xff,
- 0x47, 0x6a, 0xa4, 0x59, 0xa0, 0x22, 0xbc, 0xa7, 0x67, 0x6a, 0xc6, 0x51, 0xaa, 0xaa, 0x0a, 0xdf, 0x88, 0x6a, 0x64, 0x51, 0x02, 0x22, 0x20, 0x7a, 0x4a, 0x83, 0x64, 0x49, 0xfa, 0xf8, 0xff, 0xfd,
- 0x0a, 0x7b, 0x43, 0x41, 0x8b, 0xab, 0xa2, 0xdf, 0xc8, 0x6a, 0x24, 0x41, 0xa0, 0xaa, 0x7a, 0xfe, 0x67, 0x62, 0xe3, 0x38, 0xa8, 0xff, 0x55, 0xbf, 0x05, 0x62, 0x23, 0x39, 0xbd, 0x95, 0xad, 0x02,
- 0x47, 0x6a, 0x44, 0x41, 0x9e, 0xd7, 0xbe, 0x27, 0x46, 0x6a, 0xa4, 0x59, 0xa2, 0xb5, 0xad, 0x82, 0x46, 0x6a, 0xe5, 0x59, 0xee, 0x7a, 0xda, 0x3d, 0x67, 0x6a, 0x05, 0x5a, 0x00, 0xf9, 0x7f, 0xbf,
- 0x67, 0x6a, 0xe5, 0x59, 0xdf, 0x5e, 0x8b, 0xe0, 0x4c, 0x9c, 0xe5, 0x59, 0xaf, 0xd5, 0xaf, 0x0d, 0x10, 0xbd, 0x87, 0x6a, 0x75, 0xeb, 0xab, 0xa2, 0xce, 0xbc, 0xe8, 0x7a, 0xad, 0x83, 0xb8, 0x82,
- 0xfa, 0xde, 0x86, 0x72, 0xf6, 0xb7, 0x2e, 0x2e, 0xda, 0xde, 0xba, 0xd6, 0x56, 0x56, 0x55, 0x75, 0xbb, 0xd6, 0x99, 0xce, 0x8a, 0xa2, 0xa8, 0xa0, 0xdb, 0xd6, 0xba, 0xce, 0xff, 0xff, 0xff, 0xbb,
- 0x9a, 0xd6, 0xdb, 0xce, 0xaa, 0xaa, 0xba, 0xaa, 0xbb, 0xd6, 0x9a, 0xce, 0x20, 0x82, 0x08, 0x00, 0xdb, 0xd6, 0xba, 0xce, 0xff, 0xff, 0xff, 0xbf, 0xdb, 0xd6, 0x9a, 0xce, 0xab, 0xab, 0xaa, 0xaa,
- 0xdb, 0xd6, 0xba, 0xce, 0xff, 0xff, 0xeb, 0xbf, 0xbb, 0xd6, 0x9a, 0xce, 0x80, 0x02, 0x02, 0x00, 0xdb, 0xd6, 0x9a, 0xce, 0xab, 0xff, 0xba, 0xea, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xaa, 0x82, 0x0a,
- 0x9a, 0xd6, 0xdb, 0xce, 0xfb, 0xfb, 0xfe, 0xaa, 0x9a, 0xd6, 0xdb, 0xce, 0xaf, 0xaa, 0xba, 0xaf, 0x9a, 0xd6, 0xdb, 0xce, 0xae, 0xaa, 0xef, 0xea, 0xbb, 0xd6, 0x9a, 0xce, 0xea, 0xaa, 0xaa, 0xaa,
- 0x9a, 0xd6, 0xdb, 0xce, 0xff, 0xaa, 0xbb, 0xab, 0xda, 0xd6, 0x9a, 0xce, 0xff, 0xff, 0xff, 0xff, 0x9a, 0xd6, 0xbb, 0xce, 0xff, 0xfa, 0x7b, 0xfe, 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xfe, 0xbe, 0xaf,
- 0xbb, 0xd6, 0x9a, 0xce, 0xbf, 0xaf, 0xfa, 0xaf, 0x9a, 0xd6, 0xbb, 0xce, 0xf0, 0xaf, 0xff, 0xb7, 0xbb, 0xd6, 0x9a, 0xce, 0xe5, 0xbd, 0xbd, 0xbb, 0xbb, 0xd6, 0x9a, 0xce, 0xf7, 0xbe, 0xee, 0xfb,
- 0xbb, 0xd6, 0x9a, 0xce, 0xfd, 0xd5, 0xef, 0xab, 0x9a, 0xd6, 0xbb, 0xce, 0xff, 0xaa, 0xff, 0xbe, 0x9a, 0xd6, 0xba, 0xce, 0xf7, 0xaf, 0xf7, 0xff, 0x9b, 0xd6, 0xba, 0xce, 0x7b, 0xbb, 0xfd, 0xbf,
- 0x9a, 0xd6, 0xbb, 0xce, 0xfb, 0xfa, 0xbf, 0xfa, 0xbb, 0xd6, 0x99, 0xce, 0xab, 0x2a, 0x8a, 0xaa, 0xbb, 0xd6, 0x9a, 0xce, 0xfa, 0xab, 0xee, 0x8a, 0x9a, 0xd6, 0xbb, 0xce, 0xba, 0xee, 0xf7, 0xbf,
- 0x9a, 0xd6, 0xbb, 0xce, 0xeb, 0xff, 0xff, 0xfe, 0x9a, 0xd6, 0xbb, 0xce, 0xfa, 0xff, 0xbf, 0xae, 0x9a, 0xd6, 0xdb, 0xce, 0xaa, 0xbe, 0xaa, 0xaa, 0xbb, 0xd6, 0x9a, 0xce, 0xa8, 0x22, 0x2a, 0x22,
- 0xbb, 0xd6, 0x9a, 0xce, 0x0a, 0x02, 0x00, 0x00, 0xdb, 0xd6, 0x9a, 0xce, 0xba, 0xea, 0xba, 0xab, 0xdb, 0xd6, 0xba, 0xd6, 0x55, 0x55, 0x56, 0x5e, 0xdb, 0xd6, 0xba, 0xce, 0xfe, 0xfe, 0xae, 0xa8,
- 0xdb, 0xd6, 0xba, 0xd6, 0xe5, 0x7f, 0xf7, 0xef, 0xdb, 0xde, 0xba, 0xce, 0xff, 0xff, 0xff, 0xfa, 0xdb, 0xd6, 0xba, 0xce, 0xbf, 0xfa, 0xae, 0xac, 0xdb, 0xde, 0xba, 0xce, 0xff, 0xff, 0xff, 0xff,
- 0xdb, 0xd6, 0xba, 0xce, 0xbf, 0xaf, 0xaa, 0x8e, 0xdb, 0xde, 0xba, 0xce, 0xeb, 0xeb, 0xff, 0xaa, 0xdb, 0xde, 0xba, 0xce, 0xfe, 0xff, 0xbb, 0xee, 0xdb, 0xde, 0xba, 0xd6, 0xdf, 0xff, 0xff, 0xff,
- 0x9a, 0xce, 0x7a, 0xc6, 0xbe, 0xf5, 0xff, 0xff, 0x9a, 0xce, 0x79, 0xc6, 0xef, 0xf7, 0xff, 0xea, 0x7a, 0xce, 0x9a, 0xc6, 0xaa, 0xba, 0xaf, 0xaa, 0x9a, 0xce, 0x79, 0xc6, 0xff, 0xdf, 0xfe, 0xaf,
- 0x9a, 0xce, 0x79, 0xc6, 0xff, 0xff, 0x7f, 0x7e, 0x7a, 0xce, 0x9a, 0xc6, 0xe8, 0xf6, 0xfa, 0xa2, 0x7a, 0xce, 0x9a, 0xc6, 0xf0, 0x7f, 0xfe, 0xaa, 0x9b, 0xce, 0x79, 0xc6, 0x75, 0xd7, 0xff, 0x3f,
- 0x9a, 0xce, 0x7a, 0xc6, 0xff, 0xbf, 0xfe, 0xab, 0x7a, 0xce, 0x9a, 0xc6, 0xaf, 0x8d, 0xeb, 0xef, 0x7a, 0xce, 0x9a, 0xc6, 0xba, 0xab, 0xab, 0xf7, 0x9a, 0xce, 0x7a, 0xc6, 0xfb, 0xaa, 0xaa, 0xaa,
- 0x9b, 0xce, 0x7a, 0xc6, 0x3a, 0xaa, 0x22, 0xa8, 0xba, 0xce, 0x7a, 0xc6, 0xae, 0xaa, 0xaa, 0xab, 0xbb, 0xce, 0x79, 0xce, 0xff, 0xbb, 0xaa, 0xea, 0xbb, 0xce, 0x79, 0xce, 0xab, 0xaa, 0xbf, 0xaa,
- 0xbb, 0xd6, 0x9a, 0xce, 0xd5, 0xfd, 0xf5, 0xff, 0x9b, 0xd6, 0xba, 0xce, 0xbe, 0xef, 0xea, 0x9f, 0xbb, 0xd6, 0x9a, 0xce, 0xdd, 0x7f, 0xfa, 0xaf, 0xba, 0xd6, 0x9a, 0xce, 0xf7, 0xfd, 0x7f, 0xbf,
- 0xba, 0xd6, 0x9a, 0xce, 0x7f, 0xfa, 0xfe, 0xba, 0xbb, 0xd6, 0x9a, 0xce, 0xef, 0xfd, 0xee, 0xbe, 0x99, 0xd6, 0xbb, 0xce, 0xea, 0xfd, 0xbf, 0xfb, 0x9a, 0xd6, 0xbb, 0xce, 0xff, 0xff, 0xf7, 0xbe,
- 0xbb, 0xd6, 0x9a, 0xce, 0xdf, 0xff, 0xbb, 0xbe, 0xbb, 0xd6, 0x9a, 0xce, 0xbf, 0xbb, 0xfb, 0xfe, 0xba, 0xd6, 0x9a, 0xce, 0xff, 0xae, 0xff, 0xbb, 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xba, 0xaa, 0xba,
- 0x9a, 0xd6, 0xbb, 0xce, 0xef, 0xef, 0xae, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xfe, 0xbf, 0xfa, 0xeb, 0xbb, 0xd6, 0x9a, 0xce, 0x7f, 0xfe, 0xfb, 0xfa, 0xbb, 0xd6, 0x9a, 0xce, 0xae, 0xbb, 0xff, 0xfe,
- 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xbf, 0xbb, 0x6f, 0xfb, 0xde, 0xe8, 0x62, 0x40, 0x00, 0x00, 0x00, 0xaf, 0xa4, 0xc4, 0x51, 0x5f, 0xff, 0xfc, 0xfe, 0x67, 0x62, 0xc5, 0x51, 0xd5, 0xa2, 0xe2, 0x82,
- 0x26, 0x62, 0xc5, 0x51, 0x27, 0x0a, 0xaa, 0x9d, 0x67, 0x6a, 0xe5, 0x59, 0xd7, 0x2b, 0x3b, 0xff, 0x45, 0x6a, 0xc4, 0x61, 0x7e, 0xfe, 0x7c, 0xea, 0x05, 0x6a, 0xc4, 0x61, 0x57, 0xfe, 0xaa, 0x2b,
- 0x05, 0x6a, 0x43, 0x51, 0xaa, 0xea, 0xfe, 0x58, 0xe5, 0x61, 0x63, 0x51, 0xaf, 0x03, 0x83, 0xfd, 0x26, 0x62, 0x43, 0x49, 0x2a, 0xa2, 0xae, 0x75, 0x26, 0x5a, 0x02, 0x49, 0x28, 0x00, 0xaa, 0xf5,
- 0x26, 0x62, 0x23, 0x49, 0xa0, 0xaa, 0xfb, 0xad, 0x25, 0x62, 0x84, 0x59, 0x2a, 0xaa, 0xdd, 0x95, 0x05, 0x6a, 0x44, 0x51, 0xa8, 0xd6, 0xde, 0xa8, 0x05, 0x62, 0x63, 0x51, 0x03, 0x29, 0xaf, 0xaa,
- 0xe4, 0x69, 0xa3, 0x59, 0x7e, 0x77, 0xfa, 0xf8, 0xe4, 0x69, 0x63, 0x51, 0x0f, 0x5f, 0xef, 0xa8, 0xe5, 0x69, 0x23, 0x51, 0xa0, 0xf5, 0x8a, 0xfb, 0xe5, 0x61, 0x44, 0x49, 0xdf, 0x00, 0x82, 0xba,
- 0xe4, 0x61, 0xe3, 0x38, 0x8a, 0x80, 0xea, 0x7a, 0xc5, 0x61, 0xe3, 0x30, 0x00, 0xa2, 0x7a, 0xfd, 0xa5, 0x59, 0xc3, 0x30, 0xe8, 0xff, 0xdd, 0xd6, 0xc4, 0x69, 0xa2, 0x38, 0xaf, 0xab, 0x3f, 0x37,
- 0x04, 0x72, 0x63, 0x51, 0x2d, 0x83, 0xa2, 0xa2, 0x45, 0x72, 0xa3, 0x61, 0x6d, 0xe1, 0xfe, 0xfe, 0xe5, 0x69, 0xa4, 0x61, 0x30, 0xae, 0x6e, 0xc2, 0xe4, 0x69, 0x23, 0x49, 0xe8, 0x7c, 0x7e, 0x57,
- 0xc4, 0x61, 0x23, 0x49, 0x2b, 0xb7, 0xad, 0xad, 0x05, 0x6a, 0x83, 0x61, 0xfe, 0xbd, 0xed, 0x0b, 0x26, 0x6a, 0x63, 0x51, 0x5f, 0x0a, 0xaa, 0x20, 0x26, 0x6a, 0x84, 0x51, 0x5f, 0x0a, 0x8a, 0xa8,
- 0x26, 0x6a, 0x63, 0x49, 0xe7, 0x00, 0x02, 0xea, 0x05, 0x6a, 0x63, 0x49, 0x57, 0x0f, 0xaa, 0xeb, 0x05, 0x62, 0x24, 0x49, 0xde, 0x02, 0x00, 0x00, 0xe8, 0x7a, 0x84, 0x51, 0x55, 0x8b, 0x22, 0x2f,
- 0x69, 0x8b, 0xc5, 0x59, 0xd7, 0x5e, 0xff, 0x82, 0x67, 0x6a, 0x23, 0x49, 0xaa, 0xab, 0xa0, 0x60, 0xe6, 0x59, 0xe3, 0x38, 0xae, 0x2f, 0x2f, 0xb5, 0x46, 0x62, 0x85, 0x51, 0xff, 0xe8, 0xf2, 0x7b,
- 0x26, 0x62, 0x03, 0x39, 0x0f, 0x07, 0x0d, 0x0d, 0x26, 0x62, 0xe5, 0x59, 0x8f, 0x8a, 0x8b, 0x6d, 0x26, 0x62, 0xe5, 0x59, 0x2b, 0x02, 0x2e, 0x21, 0x87, 0x6a, 0xe5, 0x61, 0xba, 0x37, 0xab, 0x0a,
- 0xf0, 0xb4, 0xc5, 0x59, 0xff, 0x5f, 0x35, 0x2f, 0xaf, 0xac, 0x68, 0x6a, 0xa9, 0x29, 0x0a, 0xf8, 0x0f, 0xbd, 0xcc, 0x93, 0x0a, 0xb8, 0x7a, 0x8d, 0x93, 0xcd, 0x8a, 0x93, 0xab, 0xed, 0xa9, 0x3a,
- 0xdb, 0xd6, 0xf1, 0xa4, 0x09, 0x00, 0x00, 0x00, 0xdb, 0xd6, 0x9a, 0xce, 0xaa, 0xba, 0xaa, 0xaa, 0xdb, 0xde, 0xba, 0xce, 0xff, 0xff, 0xbb, 0xff, 0xdb, 0xd6, 0xba, 0xce, 0xfe, 0xea, 0xfe, 0xaa,
- 0xdb, 0xd6, 0xba, 0xce, 0xef, 0xaf, 0x8b, 0xaf, 0xdb, 0xd6, 0xba, 0xce, 0xff, 0xff, 0xae, 0xbe, 0xdb, 0xd6, 0xba, 0xce, 0xef, 0xbf, 0xfb, 0xfa, 0xdb, 0xd6, 0x9a, 0xce, 0xaa, 0xaa, 0xea, 0xaa,
- 0xbb, 0xde, 0xba, 0xce, 0xff, 0xeb, 0xaa, 0xbb, 0xdb, 0xd6, 0x9a, 0xce, 0xab, 0xaa, 0xaa, 0xaa, 0xbb, 0xde, 0xba, 0xce, 0xff, 0xff, 0xfb, 0xaa, 0xdb, 0xd6, 0x9a, 0xce, 0xab, 0xaa, 0xaa, 0xaa,
- 0xdb, 0xde, 0xba, 0xce, 0xff, 0xff, 0xff, 0xfe, 0xdb, 0xd6, 0xba, 0xce, 0xff, 0xeb, 0xbf, 0xea, 0xba, 0xd6, 0xdb, 0xce, 0x82, 0xeb, 0xaa, 0x82, 0xdb, 0xd6, 0x9a, 0xce, 0xee, 0xfb, 0xaa, 0xaa,
- 0xdb, 0xd6, 0x9a, 0xce, 0xfb, 0xfe, 0xaa, 0xaa, 0xbb, 0xd6, 0xba, 0xce, 0xbf, 0x2a, 0x2a, 0x20, 0xdb, 0xd6, 0xba, 0xce, 0xff, 0xff, 0xff, 0xba, 0xdb, 0xd6, 0x9a, 0xce, 0xfb, 0xaf, 0xab, 0xea,
- 0xbb, 0xd6, 0x99, 0xce, 0xea, 0x8a, 0xa2, 0x82, 0xdb, 0xd6, 0x9a, 0xce, 0xef, 0xff, 0xbf, 0xaa, 0xdb, 0xd6, 0x9a, 0xce, 0xff, 0xfb, 0xfb, 0xaa, 0xbb, 0xd6, 0x99, 0xce, 0xee, 0x8a, 0xa0, 0x08,
- 0xdb, 0xd6, 0x9a, 0xce, 0xff, 0xff, 0xea, 0xaa, 0xdb, 0xd6, 0x9a, 0xce, 0xff, 0xef, 0xab, 0xaa, 0xdb, 0xd6, 0x9a, 0xce, 0xff, 0xff, 0xfb, 0xaa, 0xdb, 0xd6, 0x9a, 0xce, 0xff, 0xfe, 0xfb, 0xaa,
- 0xbb, 0xd6, 0x9a, 0xce, 0x2a, 0xab, 0x22, 0x00, 0xbb, 0xd6, 0xba, 0xce, 0xa0, 0x0a, 0x00, 0x8a, 0xdb, 0xd6, 0x9a, 0xce, 0xbf, 0xbe, 0xbb, 0xaa, 0xdb, 0xd6, 0x9a, 0xce, 0xff, 0xea, 0xae, 0xab,
- 0xdb, 0xde, 0xba, 0xce, 0xff, 0xff, 0xff, 0xbf, 0xdb, 0xd6, 0x9a, 0xce, 0xff, 0xbe, 0xaa, 0xae, 0xdb, 0xd6, 0x9a, 0xce, 0xbf, 0xff, 0xab, 0xab, 0xdb, 0xd6, 0x9a, 0xce, 0xfe, 0xfe, 0xea, 0xea,
- 0xdb, 0xd6, 0x9a, 0xce, 0xba, 0xfe, 0xba, 0xae, 0xdb, 0xd6, 0x9a, 0xce, 0xaa, 0xaf, 0xaa, 0xaa, 0xdb, 0xd6, 0x9a, 0xce, 0xaa, 0xae, 0xbe, 0xaa, 0xdb, 0xd6, 0x9a, 0xd6, 0xae, 0xea, 0xaa, 0xee,
- 0xdb, 0xde, 0xba, 0xce, 0xba, 0xff, 0xff, 0xff, 0xdb, 0xd6, 0xba, 0xce, 0xfe, 0xaf, 0xbf, 0xea, 0xdb, 0xd6, 0x9a, 0xce, 0xaa, 0xaa, 0xaa, 0xaa, 0xdb, 0xd6, 0x9a, 0xce, 0xaa, 0xea, 0xab, 0xba,
- 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xab, 0xfa, 0xbe, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xaa, 0xbe, 0xae, 0xdb, 0xde, 0xba, 0xce, 0xab, 0xfe, 0xfe, 0xef, 0xdb, 0xde, 0xba, 0xce, 0xaa, 0xfb, 0xbb, 0xfe,
- 0x79, 0xce, 0x9a, 0xc6, 0xaa, 0xaf, 0xf7, 0xaa, 0x9a, 0xce, 0x79, 0xc6, 0xbb, 0xaf, 0x0a, 0x8a, 0x7a, 0xce, 0x9a, 0xc6, 0xaa, 0xaa, 0xb5, 0xaa, 0x9a, 0xce, 0x79, 0xc6, 0xeb, 0x28, 0x0a, 0x2a,
- 0x9a, 0xce, 0x7a, 0xc6, 0xbe, 0xaa, 0xe8, 0x22, 0x79, 0xce, 0x9a, 0xc6, 0xee, 0xd7, 0xb8, 0xfd, 0x9a, 0xce, 0x79, 0xc6, 0xa8, 0x8a, 0xaa, 0x88, 0x7a, 0xce, 0x9a, 0xc6, 0xb6, 0xaa, 0xff, 0xea,
- 0x9b, 0xce, 0x7a, 0xc6, 0xa3, 0x8a, 0xaa, 0x8a, 0x9b, 0xce, 0x79, 0xc6, 0xab, 0xea, 0xa8, 0x0a, 0x9a, 0xce, 0x7a, 0xc6, 0x0a, 0xa2, 0x0e, 0x00, 0xba, 0xce, 0x7a, 0xc6, 0xaf, 0xbf, 0xaa, 0xba,
- 0xba, 0xce, 0x9a, 0xce, 0x57, 0x55, 0x5b, 0x76, 0xba, 0xce, 0x9a, 0xce, 0x55, 0xed, 0xa4, 0xb5, 0xbb, 0xd6, 0x99, 0xce, 0xd5, 0xfd, 0xfd, 0xbb, 0xbb, 0xd6, 0x9a, 0xce, 0x7d, 0xff, 0xff, 0xeb,
- 0xbb, 0xd6, 0x9a, 0xce, 0xfd, 0xee, 0xfb, 0x88, 0x9a, 0xd6, 0xbb, 0xce, 0xbf, 0xfe, 0xf5, 0xbf, 0x9a, 0xd6, 0xbb, 0xce, 0xbf, 0xfd, 0xbf, 0xba, 0x9a, 0xd6, 0xbb, 0xce, 0xf8, 0xee, 0xf5, 0xff,
- 0xbb, 0xd6, 0x9a, 0xce, 0xee, 0xe2, 0xaa, 0xab, 0xbb, 0xd6, 0x9a, 0xce, 0xae, 0xbb, 0xea, 0xab, 0xbb, 0xd6, 0x9a, 0xce, 0x9e, 0xfa, 0xfe, 0x8e, 0xbb, 0xd6, 0x9a, 0xce, 0xbe, 0xab, 0xeb, 0x88,
- 0xbb, 0xd6, 0x9a, 0xce, 0xb3, 0xbe, 0xfb, 0xaa, 0x9a, 0xd6, 0xbb, 0xce, 0xab, 0xaf, 0xfe, 0xef, 0x9a, 0xd6, 0xbb, 0xce, 0xfc, 0xe2, 0xff, 0xbf, 0x9a, 0xd6, 0xbb, 0xce, 0xee, 0xbf, 0xaa, 0x72,
- 0xbb, 0xd6, 0x9a, 0xce, 0x66, 0xfa, 0xbb, 0xea, 0xbb, 0xd6, 0x9a, 0xce, 0xbe, 0xaa, 0x8b, 0xba, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0x9a, 0xaa, 0xab, 0x99, 0xd6, 0xbb, 0xce, 0x5f, 0xfe, 0xff, 0xfa,
- 0xbb, 0xd6, 0x9a, 0xce, 0xf9, 0xf9, 0xbf, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xeb, 0xfd, 0xef, 0x3b, 0xe7, 0xc5, 0x51, 0x5c, 0x58, 0x50, 0xc0, 0xa8, 0x6a, 0xa6, 0x49, 0x0b, 0xd5, 0xfc, 0xc0,
- 0x47, 0x62, 0xe6, 0x51, 0xf4, 0xb7, 0xa8, 0x03, 0x87, 0x62, 0xc5, 0x51, 0xff, 0xd5, 0xab, 0xe8, 0x67, 0x6a, 0x64, 0x41, 0xaa, 0x7a, 0x80, 0x02, 0x25, 0x62, 0x43, 0x41, 0xaa, 0xf5, 0x00, 0xa8,
- 0xe5, 0x61, 0x84, 0x51, 0x48, 0xfd, 0xf8, 0xb2, 0xe4, 0x61, 0x43, 0x49, 0xde, 0x2a, 0x82, 0xaa, 0xe4, 0x61, 0x03, 0x49, 0xbf, 0xe8, 0x5a, 0xaa, 0x84, 0x59, 0x02, 0x41, 0x70, 0x7e, 0x55, 0xb8,
- 0xe4, 0x61, 0x23, 0x41, 0x0d, 0x25, 0xd7, 0xff, 0x05, 0x62, 0x64, 0x51, 0x02, 0x8a, 0xaf, 0xe5, 0xe5, 0x61, 0x84, 0x59, 0xe8, 0x2a, 0x2c, 0x77, 0xe5, 0x61, 0x43, 0x59, 0xae, 0xa0, 0xa6, 0x5d,
- 0x05, 0x62, 0x83, 0x59, 0x57, 0xbe, 0x2b, 0x2b, 0x05, 0x62, 0x64, 0x59, 0x57, 0x7b, 0xa0, 0x2a, 0x25, 0x6a, 0x44, 0x51, 0x7f, 0x6f, 0x82, 0xaa, 0xc5, 0x59, 0x24, 0x49, 0x57, 0xf7, 0xbe, 0x22,
- 0xa4, 0x59, 0x03, 0x39, 0x7f, 0x7f, 0x7a, 0x58, 0x44, 0x51, 0xe2, 0x30, 0x5f, 0xed, 0xfe, 0x3f, 0x03, 0x6a, 0xc2, 0x30, 0xd7, 0xbf, 0x2b, 0x02, 0x25, 0x72, 0x83, 0x59, 0xd5, 0x7e, 0xaa, 0x82,
- 0xe4, 0x69, 0x23, 0x49, 0x08, 0x97, 0xa8, 0xaa, 0xc4, 0x61, 0x62, 0x59, 0x80, 0x02, 0x6e, 0x68, 0xe4, 0x69, 0x23, 0x49, 0xaa, 0xe8, 0xd7, 0xba, 0xa4, 0x69, 0x43, 0x51, 0x75, 0xdf, 0xff, 0xa8,
- 0xc5, 0x61, 0x43, 0x49, 0xaf, 0x2a, 0xff, 0x6a, 0x06, 0x6a, 0x23, 0x41, 0x0a, 0xaa, 0xff, 0x57, 0x26, 0x6a, 0x44, 0x49, 0x00, 0xbf, 0x5f, 0x2b, 0x46, 0x6a, 0x64, 0x51, 0xa8, 0xaa, 0x55, 0xea,
- 0xe5, 0x61, 0xe2, 0x30, 0x78, 0xda, 0xaa, 0xa8, 0xe5, 0x61, 0x64, 0x51, 0x83, 0xdd, 0xaa, 0xdd, 0xc8, 0x6a, 0xa5, 0x59, 0xfd, 0x5d, 0xe5, 0x83, 0x6e, 0x9c, 0x84, 0x51, 0x7b, 0xfb, 0x5f, 0x3a,
- 0x2d, 0xa4, 0x66, 0x6a, 0x5d, 0xd7, 0xef, 0x0a, 0x09, 0x7b, 0xc2, 0x38, 0x7a, 0xaa, 0xa0, 0xa8, 0x67, 0x62, 0xe3, 0x38, 0xf5, 0xaa, 0x20, 0x80, 0x26, 0x62, 0x44, 0x41, 0xea, 0x68, 0xe8, 0x68,
- 0x47, 0x6a, 0x44, 0x49, 0xbd, 0xab, 0xab, 0x0a, 0xa9, 0x6a, 0xc5, 0x59, 0x7d, 0x2a, 0x8a, 0xa8, 0xcb, 0x8b, 0xe6, 0x59, 0x5d, 0xf7, 0xef, 0xe2, 0x0d, 0x9c, 0x47, 0x62, 0xd5, 0x5d, 0xbd, 0x3f,
- 0xcf, 0xb4, 0xc9, 0x72, 0xbd, 0x07, 0x09, 0x0b, 0xef, 0xbc, 0xec, 0x9b, 0xf4, 0x58, 0x37, 0x8a, 0xd9, 0xe6, 0x2c, 0xa4, 0xfd, 0xff, 0x5f, 0x17, 0xdb, 0xd6, 0x11, 0xbd, 0x35, 0x0d, 0x02, 0x00,
- 0xdb, 0xd6, 0xba, 0xce, 0xae, 0xbf, 0xae, 0xaa, 0xdb, 0xd6, 0xba, 0xd6, 0xb7, 0x7d, 0x7f, 0xdf, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xab, 0xbb, 0xa2, 0xdb, 0xd6, 0xba, 0xd6, 0xfe, 0xe5, 0xae, 0x6f,
- 0xdb, 0xd6, 0xba, 0xd6, 0x7d, 0x57, 0xb6, 0x9f, 0xdb, 0xde, 0xba, 0xce, 0xff, 0xae, 0xaf, 0xae, 0xdb, 0xde, 0xba, 0xce, 0xfb, 0xff, 0xfb, 0xfa, 0xdb, 0xde, 0xba, 0xce, 0xbf, 0xef, 0xff, 0xae,
- 0xdb, 0xd6, 0xba, 0xce, 0xeb, 0xaa, 0x2a, 0xaa, 0xdb, 0xd6, 0xba, 0xd6, 0x6f, 0xbb, 0xae, 0xff, 0xdb, 0xde, 0xba, 0xce, 0xef, 0xfe, 0xff, 0xaf, 0xda, 0xd6, 0xba, 0xce, 0xea, 0xa0, 0xa0, 0x00,
- 0xdb, 0xde, 0xba, 0xce, 0xef, 0xff, 0xaa, 0xab, 0xdb, 0xd6, 0xba, 0xd6, 0x56, 0x8b, 0xea, 0xfe, 0xdb, 0xde, 0xba, 0xce, 0xff, 0xff, 0xea, 0xaa, 0xdb, 0xde, 0xba, 0xce, 0xff, 0xfe, 0xab, 0xaa,
- 0xdb, 0xd6, 0xba, 0xd6, 0xdb, 0xeb, 0xab, 0x99, 0xdb, 0xde, 0xba, 0xce, 0xff, 0xae, 0xab, 0xab, 0xdb, 0xde, 0xba, 0xce, 0xef, 0xfb, 0xba, 0xaa, 0xdb, 0xde, 0xba, 0xce, 0xfe, 0xab, 0xaa, 0xaa,
- 0xdb, 0xde, 0xba, 0xd6, 0xfd, 0xfd, 0xfa, 0xeb, 0xdb, 0xde, 0xba, 0xce, 0xbf, 0xba, 0xba, 0xeb, 0xdb, 0xde, 0xba, 0xce, 0xff, 0xef, 0xee, 0xea, 0xdb, 0xde, 0xba, 0xce, 0xbf, 0xff, 0xaa, 0xaa,
- 0xdb, 0xde, 0xba, 0xd6, 0x5f, 0x7d, 0xbe, 0xff, 0xdb, 0xde, 0xba, 0xce, 0xff, 0xef, 0xab, 0xae, 0xdb, 0xde, 0xba, 0xd6, 0xd7, 0xff, 0xff, 0xff, 0xdb, 0xde, 0xba, 0xce, 0xff, 0xff, 0xea, 0xab,
- 0xdb, 0xd6, 0xba, 0xce, 0xef, 0xeb, 0xa2, 0x28, 0xdb, 0xde, 0xba, 0xce, 0xff, 0xff, 0xff, 0xaa, 0xdb, 0xde, 0xba, 0xce, 0xfa, 0xff, 0xaa, 0xba, 0xdb, 0xde, 0xba, 0xce, 0xff, 0xbf, 0xaa, 0xaa,
- 0xdb, 0xde, 0xba, 0xce, 0xbf, 0xfe, 0xea, 0xaa, 0xdb, 0xde, 0xba, 0xce, 0xff, 0xfe, 0xeb, 0xaa, 0xdb, 0xde, 0xba, 0xce, 0xbf, 0xef, 0xfb, 0xea, 0xdb, 0xde, 0xba, 0xd6, 0xff, 0xff, 0xdf, 0xaf,
- 0xdb, 0xde, 0xba, 0xce, 0xfe, 0xab, 0xae, 0xaa, 0xdb, 0xde, 0xba, 0xce, 0xef, 0xaf, 0xaa, 0xaa, 0xdb, 0xde, 0xba, 0xd6, 0xd7, 0xff, 0xff, 0xea, 0xdb, 0xde, 0xba, 0xce, 0xea, 0xbf, 0xaa, 0xaa,
- 0xdb, 0xde, 0xba, 0xd6, 0xfd, 0xdd, 0xff, 0xee, 0xdb, 0xde, 0xba, 0xce, 0xbf, 0xab, 0xaa, 0xaa, 0xda, 0xde, 0xbb, 0xce, 0xfe, 0xba, 0xaa, 0xaa, 0xdb, 0xd6, 0xba, 0xd6, 0xa7, 0xf6, 0xaf, 0xeb,
- 0xdb, 0xd6, 0xba, 0xd6, 0x6e, 0xef, 0xef, 0xb8, 0xdb, 0xde, 0x9a, 0xce, 0xaa, 0xae, 0xea, 0xaa, 0xdb, 0xde, 0xba, 0xce, 0xef, 0xfe, 0xff, 0xbf, 0xda, 0xd6, 0xbb, 0xd6, 0x7e, 0x7e, 0xbf, 0xf3,
- 0x9b, 0xce, 0x79, 0xc6, 0xca, 0x02, 0xa2, 0x00, 0x79, 0xce, 0x9a, 0xc6, 0xfe, 0xda, 0xa8, 0xba, 0x9a, 0xce, 0x79, 0xc6, 0x0a, 0xa0, 0x20, 0x08, 0x9a, 0xd6, 0x79, 0xc6, 0xbf, 0xaa, 0xaa, 0xaa,
- 0xbb, 0xce, 0x79, 0xc6, 0xef, 0xae, 0xae, 0xaa, 0xba, 0xce, 0x7a, 0xce, 0xbf, 0xbe, 0xba, 0xea, 0xbb, 0xd6, 0x79, 0xc6, 0xef, 0xef, 0xfa, 0xaa, 0xba, 0xd6, 0x99, 0xc6, 0xff, 0xff, 0xbf, 0xba,
- 0xba, 0xd6, 0x99, 0xc6, 0xff, 0xff, 0xff, 0xab, 0xbb, 0xd6, 0x99, 0xc6, 0xff, 0xff, 0xfb, 0xbb, 0xbb, 0xd6, 0x9a, 0xce, 0x55, 0x55, 0xdd, 0xf7, 0xbb, 0xd6, 0x9a, 0xce, 0xfd, 0xdf, 0xf7, 0xbb,
- 0xbb, 0xd6, 0x99, 0xce, 0xdd, 0xff, 0xfb, 0x9f, 0xbb, 0xd6, 0x99, 0xce, 0xfd, 0xbf, 0xaf, 0xaf, 0x9a, 0xd6, 0xbb, 0xce, 0xff, 0xbb, 0xdf, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xae, 0xbb, 0xea, 0xea,
- 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xbf, 0xaa, 0xae, 0xdb, 0xd6, 0x9a, 0xce, 0xef, 0xff, 0xea, 0xaf, 0xbb, 0xd6, 0x99, 0xce, 0xaa, 0xa3, 0xaa, 0xaa, 0x9a, 0xd6, 0xdb, 0xce, 0xaa, 0xba, 0xaf, 0xab,
- 0x9a, 0xd6, 0xdb, 0xce, 0xab, 0xaa, 0xfa, 0xfe, 0x9a, 0xd6, 0xdb, 0xce, 0xae, 0xaa, 0xae, 0xea, 0x9a, 0xd6, 0xdb, 0xce, 0xfa, 0xaf, 0xaa, 0xaa, 0xdb, 0xd6, 0x9a, 0xce, 0xee, 0xff, 0xff, 0xaa,
- 0x9a, 0xd6, 0xdb, 0xce, 0xaa, 0xea, 0xee, 0xbf, 0x9a, 0xd6, 0xdb, 0xce, 0xaa, 0xeb, 0xab, 0xbe, 0x9a, 0xd6, 0xbb, 0xce, 0xff, 0xbf, 0xbf, 0xff, 0x9a, 0xd6, 0xbb, 0xce, 0xff, 0xfe, 0xff, 0xf7,
- 0xbb, 0xd6, 0x9a, 0xce, 0xbb, 0xbf, 0xaf, 0xea, 0xbb, 0xd6, 0x9a, 0xce, 0xf6, 0xfb, 0xff, 0xbb, 0xbb, 0xd6, 0x9a, 0xce, 0xfb, 0xbf, 0xee, 0xeb, 0xbb, 0xd6, 0x9a, 0xce, 0xbf, 0xba, 0xe9, 0xaa,
- 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xbf, 0x7f, 0xef, 0xbb, 0xd6, 0x9a, 0xce, 0xbf, 0xbf, 0xbb, 0xab, 0xfb, 0xde, 0xad, 0x83, 0x40, 0x00, 0x00, 0x00, 0xf5, 0xc5, 0x06, 0x5a, 0x55, 0x55, 0x55, 0x54,
- 0x88, 0x62, 0xe3, 0x38, 0x82, 0xaf, 0xb6, 0xb0, 0x68, 0x62, 0xe4, 0x51, 0x20, 0xf9, 0xfd, 0x97, 0x67, 0x62, 0xc4, 0x51, 0x0a, 0xaf, 0xd7, 0x82, 0x26, 0x6a, 0xa4, 0x51, 0xfe, 0x5e, 0xb7, 0x08,
- 0x45, 0x6a, 0x84, 0x59, 0x5a, 0x5d, 0xba, 0xa8, 0xe4, 0x61, 0x43, 0x49, 0xfb, 0xde, 0x78, 0x54, 0xe5, 0x59, 0x03, 0x41, 0xfb, 0xaa, 0xd7, 0x2e, 0xe4, 0x61, 0xe2, 0x38, 0xea, 0x5e, 0xae, 0x80,
- 0xe5, 0x61, 0x43, 0x51, 0xf5, 0x8a, 0x0a, 0x02, 0xc4, 0x61, 0x03, 0x49, 0xad, 0xaa, 0xa8, 0x80, 0xe5, 0x61, 0x63, 0x59, 0xa2, 0x02, 0x22, 0x29, 0x04, 0x62, 0x63, 0x51, 0x7d, 0x7c, 0x62, 0xca,
- 0x06, 0x6a, 0x23, 0x49, 0xad, 0x2f, 0xbf, 0xff, 0x05, 0x6a, 0xc4, 0x59, 0xb5, 0xae, 0xaa, 0xed, 0x05, 0x62, 0xa4, 0x59, 0x7c, 0xb0, 0xd8, 0x5a, 0xe5, 0x61, 0x43, 0x51, 0x7e, 0xa8, 0xa8, 0xef,
- 0x84, 0x51, 0x82, 0x20, 0xfc, 0xfc, 0xd6, 0x7e, 0xc4, 0x61, 0x82, 0x20, 0x2f, 0x2f, 0x2f, 0x2d, 0xe4, 0x71, 0x83, 0x59, 0x0b, 0xaa, 0xab, 0x37, 0x04, 0x72, 0x62, 0x59, 0x62, 0xfa, 0x5e, 0xf0,
- 0xc4, 0x61, 0x63, 0x59, 0xfb, 0xbf, 0x2f, 0xfb, 0xa4, 0x61, 0x23, 0x51, 0xe0, 0x7e, 0x7c, 0xf7, 0x44, 0x51, 0x02, 0x41, 0x2d, 0x2a, 0xa8, 0x0a, 0x84, 0x61, 0x22, 0x49, 0x82, 0xab, 0xf7, 0x0f,
- 0xc3, 0x61, 0x84, 0x59, 0xbd, 0xe3, 0x97, 0xbd, 0x25, 0x72, 0x64, 0x59, 0xba, 0x3b, 0x7b, 0x6a, 0x66, 0x72, 0x64, 0x59, 0xfe, 0xb8, 0x7f, 0x7d, 0x05, 0x6a, 0x84, 0x59, 0x54, 0x7c, 0xeb, 0xab,
- 0x87, 0x6a, 0xa4, 0x61, 0xfd, 0xbd, 0xad, 0x0b, 0x0d, 0x9c, 0x06, 0x62, 0xf5, 0xf5, 0x2f, 0x8b, 0xab, 0x93, 0x46, 0x62, 0xff, 0xf5, 0x0b, 0xed, 0xef, 0xb4, 0xc5, 0x61, 0x03, 0x5f, 0xfa, 0xbf,
- 0xae, 0xb4, 0xa4, 0x59, 0xe0, 0x75, 0xeb, 0xea, 0xe9, 0x7a, 0x03, 0x49, 0x8a, 0xbf, 0xa8, 0x7a, 0x68, 0x6a, 0x23, 0x49, 0xa0, 0xea, 0xfa, 0xd5, 0x06, 0x5a, 0xc2, 0x30, 0xf0, 0x9e, 0x9f, 0x9e,
- 0x88, 0x6a, 0xc6, 0x51, 0xf5, 0x2e, 0xbb, 0xaf, 0x0a, 0x7b, 0x06, 0x5a, 0xb7, 0x8a, 0x3d, 0xb5, 0xcc, 0x93, 0x47, 0x62, 0x5c, 0xf8, 0x8f, 0xad, 0x30, 0xbd, 0x05, 0x5a, 0xfe, 0xab, 0xa8, 0xde,
- 0x30, 0xc5, 0x09, 0x7b, 0xa3, 0xbf, 0x5a, 0xaf, 0x76, 0xde, 0x66, 0x6a, 0xbf, 0xea, 0x5b, 0x3e, 0xfb, 0xde, 0xa8, 0x6a, 0x36, 0x01, 0x02, 0x00, 0xdb, 0xd6, 0xba, 0xd6, 0x7d, 0xde, 0x5e, 0x7d,
- 0xdb, 0xde, 0xba, 0xce, 0xff, 0xff, 0xbe, 0xba, 0xdb, 0xd6, 0xba, 0xd6, 0xff, 0x55, 0x75, 0x69, 0xdb, 0xd6, 0xba, 0xd6, 0xbd, 0x55, 0xdd, 0xeb, 0xdb, 0xd6, 0xba, 0xce, 0x2a, 0xae, 0xaa, 0xaa,
- 0xdb, 0xde, 0xba, 0xce, 0xfb, 0xef, 0xee, 0xaf, 0xdb, 0xde, 0xba, 0xce, 0xfe, 0xfb, 0xfa, 0xaf, 0xdb, 0xde, 0xba, 0xce, 0xab, 0xeb, 0xff, 0xaa, 0xdb, 0xd6, 0xba, 0xd6, 0xaa, 0xbb, 0xc2, 0x6a,
- 0xdb, 0xde, 0xba, 0xce, 0xfb, 0xef, 0xaf, 0xaa, 0xda, 0xd6, 0xbb, 0xd6, 0x8a, 0x6a, 0xfa, 0xab, 0xdb, 0xde, 0xba, 0xd6, 0xff, 0xff, 0xdf, 0xfb, 0xdb, 0xde, 0xba, 0xce, 0xfb, 0xaa, 0xaa, 0xaa,
- 0xdb, 0xde, 0xba, 0xd6, 0xff, 0xff, 0xba, 0xef, 0xdb, 0xde, 0xba, 0xd6, 0xff, 0xaa, 0xfe, 0xff, 0xda, 0xd6, 0xbb, 0xd6, 0x2a, 0xbc, 0x0a, 0x20, 0xdb, 0xde, 0xba, 0xce, 0xbe, 0xaa, 0xaa, 0xa8,
- 0xdb, 0xde, 0xba, 0xd6, 0xb7, 0xbf, 0xbf, 0xaa, 0xfb, 0xd6, 0xba, 0xd6, 0xfb, 0xfa, 0xfe, 0xaa, 0xdb, 0xde, 0xba, 0xd6, 0xba, 0xaf, 0xaa, 0xaa, 0xfb, 0xde, 0xba, 0xd6, 0xff, 0xee, 0xbe, 0xba,
- 0xfb, 0xde, 0xda, 0xd6, 0x57, 0xff, 0xff, 0xf7, 0xfb, 0xde, 0xba, 0xd6, 0xff, 0xff, 0xbe, 0xab, 0xfb, 0xde, 0xba, 0xd6, 0xfa, 0xef, 0xab, 0xee, 0xfb, 0xde, 0xba, 0xd6, 0xff, 0xea, 0xea, 0xaa,
- 0xfb, 0xde, 0xda, 0xd6, 0x57, 0xd7, 0xd7, 0xff, 0xfb, 0xde, 0xda, 0xd6, 0x55, 0xff, 0xff, 0xf5, 0xfb, 0xde, 0xba, 0xd6, 0xff, 0xef, 0xab, 0xaa, 0xfb, 0xde, 0xba, 0xd6, 0xff, 0xfb, 0xee, 0xab,
- 0xfb, 0xde, 0xda, 0xd6, 0x55, 0x57, 0xff, 0xff, 0xda, 0xde, 0xbb, 0xd6, 0xff, 0xaa, 0xa0, 0x20, 0xfb, 0xde, 0xda, 0xd6, 0x55, 0x77, 0xf5, 0xff, 0xdb, 0xde, 0xba, 0xd6, 0xfe, 0xaa, 0xb2, 0x88,
- 0xfb, 0xde, 0xba, 0xd6, 0xff, 0xab, 0xeb, 0xab, 0xdb, 0xde, 0xba, 0xd6, 0xab, 0xba, 0xa8, 0x2a, 0xfb, 0xde, 0xda, 0xd6, 0x55, 0x5d, 0xff, 0xef, 0xfa, 0xde, 0xbb, 0xd6, 0xff, 0xbe, 0xaa, 0xaa,
- 0xdb, 0xde, 0xba, 0xd6, 0xff, 0xbe, 0xaa, 0xa2, 0xfb, 0xde, 0xba, 0xd6, 0xfb, 0xbf, 0xab, 0xaf, 0xdb, 0xde, 0xba, 0xd6, 0xee, 0xe8, 0xaa, 0x08, 0xdb, 0xde, 0xba, 0xd6, 0xab, 0xaa, 0x8a, 0x22,
- 0xfa, 0xde, 0xdb, 0xd6, 0x7d, 0x5f, 0xff, 0x6d, 0xdb, 0xde, 0xba, 0xd6, 0xee, 0xaf, 0x2a, 0x82, 0xda, 0xde, 0xbb, 0xd6, 0x7e, 0xab, 0xbe, 0x8a, 0xdb, 0xde, 0xba, 0xd6, 0xff, 0xfa, 0xee, 0xa2,
- 0xdb, 0xde, 0xba, 0xd6, 0xfd, 0xff, 0xba, 0x2a, 0xdb, 0xde, 0xba, 0xce, 0xbf, 0xaa, 0xaa, 0xaa, 0xdb, 0xde, 0xba, 0xce, 0xbf, 0xef, 0xaa, 0xaa, 0xdb, 0xde, 0xba, 0xd6, 0xff, 0xef, 0xfb, 0xfe,
- 0xbb, 0xce, 0x99, 0xce, 0xf5, 0xff, 0xdb, 0x7b, 0x9a, 0xce, 0x7a, 0xc6, 0x08, 0x00, 0x00, 0x00, 0xba, 0xce, 0x9a, 0xce, 0x55, 0xe5, 0xf5, 0x55, 0x9b, 0xd6, 0xba, 0xc6, 0xaf, 0xef, 0xaf, 0xaa,
- 0xba, 0xd6, 0x9a, 0xce, 0xdd, 0x55, 0x7d, 0xfd, 0xbb, 0xce, 0x9a, 0xce, 0x55, 0x95, 0x59, 0xdd, 0xbb, 0xce, 0x9a, 0xce, 0x5d, 0x75, 0x59, 0xaa, 0xbb, 0xce, 0x9a, 0xce, 0xc3, 0xf9, 0x79, 0xfe,
- 0xbb, 0xd6, 0x9a, 0xc6, 0xaf, 0xaa, 0xaa, 0xaa, 0x9a, 0xd6, 0xbb, 0xce, 0xef, 0xef, 0xff, 0xfe, 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xff, 0x7f, 0xbb, 0xbb, 0xd6, 0x9a, 0xce, 0xef, 0xbb, 0xfe, 0x2e,
- 0xbb, 0xd6, 0x9a, 0xce, 0xe6, 0xaf, 0xba, 0xba, 0xbb, 0xd6, 0x9a, 0xce, 0xfe, 0xaa, 0xbc, 0xab, 0xdb, 0xd6, 0x9a, 0xce, 0xff, 0xff, 0xbf, 0xaa, 0xdb, 0xd6, 0x9a, 0xce, 0xbf, 0xfa, 0xbf, 0xaf,
- 0x9a, 0xd6, 0xdb, 0xce, 0xaa, 0xfa, 0xeb, 0xeb, 0x9a, 0xd6, 0xdb, 0xce, 0xaa, 0xaa, 0xef, 0xbb, 0x9a, 0xd6, 0xbb, 0xce, 0xad, 0xed, 0xde, 0xfa, 0x9a, 0xd6, 0xbb, 0xce, 0xfa, 0xef, 0xfd, 0xf7,
- 0x9a, 0xd6, 0xdb, 0xce, 0xaa, 0xaf, 0xff, 0xba, 0x9a, 0xd6, 0xdb, 0xce, 0xae, 0xaa, 0xeb, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xba, 0x0b, 0x0a, 0xaa, 0xba, 0xd6, 0xdb, 0xce, 0xa8, 0x8a, 0xab, 0x2a,
- 0x9a, 0xd6, 0xdb, 0xce, 0xee, 0xbe, 0xff, 0xfe, 0x9a, 0xd6, 0xdb, 0xce, 0xbf, 0xaa, 0xbf, 0xfe, 0xdb, 0xd6, 0x9a, 0xce, 0xeb, 0xab, 0xee, 0xea, 0x9a, 0xd6, 0xdb, 0xce, 0xfa, 0xab, 0xfe, 0xba,
- 0xbb, 0xd6, 0x9a, 0xce, 0xbf, 0x3a, 0xaa, 0x20, 0xdb, 0xd6, 0x9a, 0xce, 0xfe, 0xeb, 0xfa, 0xfa, 0xdb, 0xd6, 0x9a, 0xce, 0xff, 0xbf, 0xaf, 0xea, 0xbb, 0xd6, 0x9a, 0xce, 0xbf, 0xfe, 0xaa, 0xaa,
- 0x9a, 0xd6, 0xbb, 0xce, 0xf7, 0xff, 0xfa, 0xfd, 0xdb, 0xd6, 0x9a, 0xce, 0xff, 0xfe, 0xff, 0xaa, 0x9a, 0xd6, 0xbb, 0xce, 0x6c, 0xff, 0xff, 0x7f, 0x1a, 0xdf, 0x26, 0x5a, 0x54, 0x5c, 0x70, 0xc0,
- 0xa9, 0x6a, 0x43, 0x51, 0x6e, 0xaa, 0xa0, 0xa2, 0x47, 0x62, 0x85, 0x51, 0x0b, 0x2b, 0x06, 0xf8, 0x87, 0x6a, 0x27, 0x5a, 0xff, 0xf7, 0xaf, 0x77, 0x67, 0x6a, 0x06, 0x62, 0x57, 0x7a, 0xc2, 0x2e,
- 0x46, 0x72, 0xe5, 0x61, 0xf7, 0xff, 0x7f, 0xe0, 0x25, 0x6a, 0x84, 0x59, 0x72, 0xa6, 0xae, 0x82, 0x05, 0x62, 0x64, 0x59, 0xaa, 0xa8, 0x2a, 0x7e, 0x05, 0x6a, 0x44, 0x59, 0xa0, 0x0a, 0x00, 0xa9,
- 0x05, 0x6a, 0x84, 0x61, 0x8a, 0xf2, 0xf8, 0x7a, 0xc4, 0x61, 0x43, 0x51, 0x60, 0xf8, 0xf0, 0xe8, 0x84, 0x59, 0x03, 0x41, 0x97, 0x56, 0xa8, 0x0e, 0xa4, 0x61, 0x03, 0x41, 0x2a, 0x95, 0xbf, 0xa0,
- 0xe5, 0x61, 0x63, 0x59, 0x7f, 0xfa, 0xee, 0xa2, 0x05, 0x62, 0x43, 0x59, 0x8b, 0xad, 0xbf, 0xfa, 0xa4, 0x59, 0xa2, 0x28, 0xa8, 0xf8, 0x5a, 0xfa, 0x44, 0x51, 0xe3, 0x30, 0xae, 0xab, 0x29, 0x2a,
- 0x63, 0x51, 0xc2, 0x38, 0x6a, 0xe2, 0xaa, 0xe8, 0x83, 0x59, 0xc2, 0x30, 0xad, 0xa9, 0x2b, 0x03, 0xe4, 0x69, 0x23, 0x49, 0x0d, 0x8a, 0x82, 0xa0, 0xa3, 0x61, 0x22, 0x51, 0xa8, 0x0d, 0xaa, 0xa2,
- 0xa3, 0x61, 0x42, 0x51, 0xfe, 0x62, 0x5d, 0x2b, 0xc4, 0x61, 0x43, 0x51, 0xd7, 0xf5, 0x5f, 0xa8, 0xc4, 0x61, 0x43, 0x51, 0x5d, 0xe3, 0xa7, 0xba, 0xa4, 0x61, 0x43, 0x59, 0xe5, 0xbf, 0x2a, 0x08,
- 0x05, 0x62, 0x84, 0x59, 0x9d, 0x3b, 0x2a, 0xeb, 0x25, 0x6a, 0x43, 0x49, 0xfa, 0xe8, 0x58, 0xde, 0xc4, 0x61, 0x83, 0x51, 0xa2, 0x8b, 0xbf, 0x8b, 0xe9, 0x7a, 0xa4, 0x61, 0xf5, 0x55, 0xbf, 0x37,
- 0xe9, 0x7a, 0x05, 0x62, 0xfd, 0xaf, 0xfc, 0x5e, 0x09, 0x83, 0xc4, 0x59, 0x7a, 0xf2, 0xce, 0x7f, 0xc8, 0x72, 0x43, 0x49, 0xcb, 0xe2, 0xda, 0xf5, 0x6b, 0x8b, 0xc4, 0x59, 0xf3, 0xff, 0xf5, 0x2d,
- 0x29, 0x8b, 0xc1, 0x40, 0x7b, 0xf3, 0xfa, 0xf8, 0xe4, 0x61, 0xe3, 0x40, 0xbd, 0xaf, 0x0a, 0x00, 0x88, 0x6a, 0x64, 0x51, 0x5d, 0xad, 0xbf, 0xa3, 0x06, 0x5a, 0xe3, 0x38, 0x9c, 0x96, 0xb4, 0xb4,
- 0x29, 0x7b, 0xc5, 0x59, 0xfd, 0x5d, 0xd5, 0x2d, 0x2c, 0x9c, 0x67, 0x62, 0x7d, 0xd5, 0xbf, 0xf8, 0x8e, 0xac, 0x67, 0x6a, 0xf5, 0x7f, 0x3e, 0x2f, 0xef, 0xbc, 0x25, 0x5a, 0xaf, 0xae, 0x2a, 0xd0,
- 0xd4, 0xc5, 0x69, 0x8b, 0xaf, 0xbb, 0xad, 0x3f, 0xfb, 0xd6, 0x8f, 0xa4, 0x03, 0x01, 0x02, 0x00, 0xdb, 0xd6, 0xba, 0xce, 0xfb, 0xa8, 0xea, 0xaa, 0xdb, 0xde, 0xba, 0xce, 0xfb, 0xff, 0xfb, 0xab,
- 0xdb, 0xde, 0xba, 0xce, 0xbf, 0xaf, 0xbe, 0xaa, 0xdb, 0xd6, 0xba, 0xd6, 0x23, 0xab, 0xfe, 0xaa, 0xdb, 0xde, 0xba, 0xce, 0xeb, 0xab, 0xea, 0xaa, 0xda, 0xd6, 0xbb, 0xd6, 0xa3, 0x00, 0x20, 0xfa,
- 0xda, 0xde, 0xbb, 0xd6, 0xfb, 0xee, 0xaf, 0xfa, 0xdb, 0xde, 0xba, 0xd6, 0xbf, 0xfb, 0xaa, 0xaa, 0xfb, 0xde, 0xba, 0xce, 0xff, 0xff, 0xea, 0xbe, 0xdb, 0xde, 0xda, 0xce, 0xff, 0xaa, 0xea, 0xba,
- 0xfb, 0xde, 0xba, 0xd6, 0xff, 0xff, 0xfe, 0xfa, 0xfb, 0xde, 0xba, 0xce, 0xee, 0xba, 0xef, 0xbb, 0xfb, 0xde, 0xba, 0xd6, 0xef, 0xff, 0xfb, 0xff, 0xda, 0xde, 0xbb, 0xd6, 0xea, 0xff, 0xef, 0xff,
- 0xdb, 0xde, 0xba, 0xd6, 0xae, 0xea, 0xff, 0xbb, 0xfb, 0xde, 0xba, 0xce, 0xbb, 0xaf, 0xaa, 0xaf, 0xdb, 0xde, 0xba, 0xce, 0xaa, 0xaa, 0xa8, 0xae, 0xfa, 0xde, 0xbb, 0xd6, 0xbe, 0xae, 0xbf, 0xfb,
- 0xfb, 0xde, 0xda, 0xd6, 0xd5, 0x9d, 0xd7, 0xbd, 0xfb, 0xde, 0xda, 0xd6, 0xf7, 0xbf, 0xdf, 0xdf, 0xfa, 0xde, 0xdb, 0xd6, 0xdf, 0xf7, 0xff, 0x77, 0xfb, 0xde, 0xba, 0xd6, 0xaf, 0xae, 0xae, 0xaa,
- 0xfb, 0xde, 0xda, 0xd6, 0xed, 0xfb, 0xd7, 0xff, 0xfb, 0xde, 0xda, 0xd6, 0xf6, 0xff, 0xff, 0xff, 0xfb, 0xde, 0xda, 0xd6, 0xff, 0xae, 0xbf, 0xab, 0xfb, 0xde, 0xda, 0xd6, 0xbb, 0xeb, 0xab, 0xea,
- 0xfb, 0xde, 0xda, 0xd6, 0xbf, 0xfb, 0xea, 0xae, 0xfa, 0xde, 0xdb, 0xd6, 0xea, 0xae, 0xaf, 0xfb, 0xda, 0xde, 0xfb, 0xd6, 0xaa, 0xaa, 0xaf, 0xa8, 0xfb, 0xde, 0xda, 0xd6, 0xff, 0xbf, 0xfb, 0xff,
- 0xdb, 0xde, 0xfa, 0xd6, 0x2f, 0xab, 0xee, 0xba, 0xfb, 0xde, 0xda, 0xd6, 0xef, 0xee, 0xff, 0xfa, 0xfb, 0xde, 0xda, 0xd6, 0xbe, 0xfa, 0xfe, 0x7b, 0xfb, 0xde, 0xba, 0xd6, 0xbe, 0xaa, 0xea, 0xaa,
- 0xbb, 0xde, 0xfa, 0xd6, 0xfb, 0xff, 0xff, 0xff, 0xfb, 0xde, 0xba, 0xd6, 0xba, 0xaa, 0xaa, 0xab, 0xfb, 0xde, 0xda, 0xd6, 0xfb, 0xef, 0xfb, 0xf5, 0xdb, 0xde, 0xfa, 0xd6, 0xa8, 0xfa, 0xaa, 0xaa,
- 0xda, 0xde, 0xfb, 0xd6, 0xea, 0xaa, 0xaa, 0xfa, 0xfb, 0xde, 0xda, 0xd6, 0xfe, 0xff, 0xff, 0xaf, 0xda, 0xde, 0xfb, 0xd6, 0xab, 0xbe, 0xaa, 0xba, 0xda, 0xde, 0xfb, 0xd6, 0xea, 0xaa, 0xaf, 0xaa,
- 0xfb, 0xde, 0xda, 0xd6, 0xbe, 0xee, 0xfb, 0xef, 0xfa, 0xde, 0xdb, 0xd6, 0xdf, 0xab, 0xbe, 0xbb, 0xfa, 0xde, 0xdb, 0xd6, 0xfd, 0xee, 0xea, 0xaa, 0xfb, 0xde, 0xda, 0xd6, 0x7b, 0x6f, 0xef, 0xfa,
- 0xdb, 0xde, 0xfa, 0xd6, 0x8a, 0xaa, 0xaf, 0xab, 0xfb, 0xde, 0xba, 0xd6, 0xee, 0xfe, 0xaa, 0xaa, 0xfb, 0xde, 0xba, 0xd6, 0xff, 0xff, 0xff, 0xbe, 0xfb, 0xde, 0xba, 0xd6, 0xee, 0xff, 0xff, 0xff,
- 0xbb, 0xd6, 0x99, 0xc6, 0xff, 0xff, 0xff, 0xff, 0xba, 0xce, 0x99, 0xce, 0xfe, 0xff, 0xff, 0xfa, 0xba, 0xce, 0x9a, 0xce, 0xb5, 0xd5, 0x55, 0xdf, 0xbb, 0xce, 0x9a, 0xce, 0x5e, 0xb5, 0xdd, 0x2b,
- 0xbb, 0xd6, 0x9a, 0xce, 0x75, 0xfd, 0xff, 0x7f, 0xbb, 0xd6, 0x9a, 0xce, 0xfd, 0x9f, 0xb7, 0xfd, 0xbb, 0xd6, 0x9a, 0xce, 0x6f, 0xff, 0xef, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xef, 0xdf, 0xbf, 0xff,
- 0xbb, 0xd6, 0x9a, 0xce, 0xfb, 0xba, 0xba, 0x6a, 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xfa, 0xff, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xef, 0xef, 0xfe, 0xfe, 0xbb, 0xd6, 0x9a, 0xce, 0xaf, 0xeb, 0xef, 0xeb,
- 0xbb, 0xd6, 0x9a, 0xce, 0xea, 0xbf, 0xff, 0xaf, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xaa, 0xaa, 0xba, 0x9a, 0xd6, 0xbb, 0xce, 0xdd, 0xff, 0xbe, 0xf7, 0x9a, 0xd6, 0xbb, 0xce, 0x9f, 0x97, 0xfe, 0xef,
- 0x9a, 0xd6, 0xdb, 0xce, 0xba, 0xbe, 0xbb, 0xef, 0x9a, 0xd6, 0xdb, 0xce, 0xbe, 0xbe, 0xfa, 0xeb, 0x9a, 0xd6, 0xdb, 0xce, 0xfe, 0xef, 0xbb, 0xaf, 0xba, 0xd6, 0xdb, 0xce, 0xaa, 0xae, 0xa8, 0xa8,
- 0xdb, 0xd6, 0x9a, 0xce, 0xff, 0xeb, 0xaf, 0xaf, 0xdb, 0xd6, 0xba, 0xce, 0xd7, 0x7d, 0x77, 0x7f, 0x9a, 0xd6, 0xdb, 0xce, 0xfa, 0xff, 0xea, 0xbf, 0xba, 0xd6, 0xdb, 0xce, 0x2e, 0x2a, 0xaa, 0x80,
- 0x9a, 0xd6, 0xbb, 0xce, 0xff, 0xeb, 0x7f, 0xdf, 0x9a, 0xd6, 0xdb, 0xce, 0xaf, 0xfa, 0xff, 0xfe, 0xdb, 0xd6, 0x9a, 0xce, 0xee, 0xbe, 0xbb, 0xff, 0x9a, 0xd6, 0xbb, 0xce, 0xff, 0xbf, 0xfb, 0xbe,
- 0xdb, 0xd6, 0x9a, 0xce, 0xbe, 0xae, 0xff, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0x28, 0x2e, 0x2a, 0xaa, 0x9a, 0xd6, 0xdb, 0xce, 0xfe, 0xaf, 0xaf, 0xaa, 0xba, 0xd6, 0xdb, 0xce, 0xbe, 0xa8, 0xaa, 0xaa,
- 0xdb, 0xd6, 0x9a, 0xce, 0xae, 0xbf, 0xbf, 0xff, 0xdb, 0xd6, 0x9a, 0xce, 0xfb, 0xfe, 0xff, 0xff, 0x9a, 0xd6, 0xdb, 0xce, 0xef, 0xaa, 0xaa, 0xaa, 0x3b, 0xdf, 0xba, 0xce, 0x15, 0x55, 0x55, 0x55,
- 0xfa, 0xde, 0xe5, 0x51, 0x54, 0x70, 0xc0, 0x80, 0x06, 0x5a, 0x44, 0x41, 0x70, 0xe2, 0x8a, 0x9e, 0x46, 0x6a, 0x42, 0x39, 0x00, 0xed, 0xbd, 0xaf, 0x26, 0x62, 0x83, 0x49, 0xfc, 0x0b, 0x82, 0xd7,
- 0x26, 0x62, 0x63, 0x49, 0xa8, 0xaa, 0xb6, 0x5f, 0x26, 0x6a, 0xa4, 0x51, 0xfa, 0xca, 0xf5, 0xfd, 0xe5, 0x61, 0x83, 0x59, 0xf2, 0x2d, 0x21, 0xc2, 0xc4, 0x61, 0x83, 0x59, 0x5f, 0xdc, 0x3e, 0xfc,
- 0xe5, 0x61, 0x02, 0x51, 0x8a, 0xae, 0xaa, 0x7e, 0xc4, 0x61, 0xc3, 0x48, 0xa0, 0xa0, 0x62, 0xab, 0xc4, 0x61, 0xe3, 0x40, 0xbf, 0xab, 0xb5, 0x07, 0xc4, 0x61, 0x43, 0x59, 0x3b, 0x0a, 0x75, 0x00,
- 0xe4, 0x61, 0x84, 0x59, 0xa0, 0xaf, 0xbf, 0x82, 0xc4, 0x61, 0x22, 0x49, 0xa0, 0x7e, 0xfe, 0xea, 0x83, 0x51, 0xe2, 0x40, 0xa7, 0x8d, 0xfe, 0x2f, 0x64, 0x61, 0x02, 0x41, 0x5f, 0xef, 0xff, 0x0a,
- 0x84, 0x61, 0xe2, 0x48, 0xa5, 0x2b, 0xff, 0x2a, 0xe5, 0x69, 0x02, 0x41, 0xbf, 0xbf, 0x27, 0x2e, 0xe4, 0x69, 0x43, 0x51, 0xa8, 0xea, 0x7a, 0xfe, 0xa4, 0x61, 0x62, 0x51, 0xfa, 0x7b, 0x76, 0xbb,
- 0xc4, 0x69, 0x83, 0x59, 0xab, 0xad, 0xfa, 0xf0, 0xc4, 0x61, 0x63, 0x59, 0xb0, 0xab, 0xbe, 0xbd, 0xa4, 0x69, 0xc4, 0x51, 0x80, 0x7a, 0xea, 0xff, 0x05, 0x62, 0x84, 0x51, 0xdf, 0xef, 0xfe, 0xa2,
- 0xe5, 0x61, 0xa4, 0x59, 0x7b, 0xf8, 0xaa, 0x80, 0xc4, 0x59, 0x03, 0x41, 0x36, 0xa7, 0x3f, 0x2b, 0x05, 0x62, 0x84, 0x59, 0xff, 0xb5, 0x95, 0x25, 0x08, 0x73, 0xe5, 0x61, 0xbd, 0xbf, 0x23, 0x7a,
- 0xe8, 0x7a, 0xc5, 0x51, 0x3e, 0x7e, 0xa0, 0x7a, 0x47, 0x62, 0x43, 0x49, 0x60, 0xf8, 0xf4, 0xad, 0xc8, 0x7a, 0x42, 0x49, 0xfd, 0xaf, 0xff, 0x2f, 0xca, 0x93, 0xe5, 0x59, 0x85, 0xff, 0xf5, 0xf7,
- 0xab, 0x93, 0x05, 0x62, 0x57, 0xdf, 0x0b, 0xba, 0x6d, 0xac, 0xe5, 0x61, 0xfd, 0xbd, 0xab, 0x0b, 0xce, 0xbc, 0x84, 0x49, 0xfa, 0xe2, 0x60, 0x60, 0x46, 0x62, 0xc3, 0x38, 0xb6, 0xbf, 0xbd, 0x2f,
- 0xae, 0xac, 0xe6, 0x51, 0xd5, 0xf5, 0x25, 0x0a, 0x0f, 0xbd, 0x67, 0x62, 0xbd, 0xbd, 0x80, 0x6a, 0xcf, 0xb4, 0x64, 0x49, 0x88, 0x62, 0x56, 0xef, 0x8e, 0xa4, 0xc5, 0x51, 0x35, 0xad, 0x2f, 0x0b,
- 0xba, 0xd6, 0x6e, 0xa4, 0x35, 0x05, 0x15, 0x0f, 0xdb, 0xd6, 0xba, 0xd6, 0xdb, 0x9e, 0x27, 0xfe, 0xdb, 0xd6, 0xba, 0xd6, 0x27, 0x82, 0xac, 0xae, 0xda, 0xde, 0xbb, 0xce, 0xba, 0xaa, 0xab, 0xef,
- 0xda, 0xd6, 0xbb, 0xd6, 0xfb, 0x00, 0x20, 0xaa, 0xdb, 0xde, 0xba, 0xd6, 0xaf, 0xaf, 0xff, 0xfe, 0xdb, 0xde, 0xba, 0xd6, 0xbf, 0xbe, 0xae, 0xe7, 0xda, 0xde, 0xbb, 0xd6, 0xbe, 0xba, 0xaf, 0xff,
- 0xdb, 0xde, 0xba, 0xce, 0xaa, 0xaa, 0xaa, 0xab, 0xfb, 0xde, 0xba, 0xd6, 0xbf, 0xbf, 0xfe, 0xff, 0xfb, 0xde, 0xba, 0xd6, 0xfe, 0xff, 0xfe, 0xff, 0xdb, 0xde, 0xba, 0xd6, 0xfb, 0xff, 0xfd, 0xff,
- 0xdb, 0xd6, 0xba, 0xd6, 0x00, 0x2a, 0xfe, 0x28, 0xdb, 0xd6, 0xba, 0xd6, 0xaa, 0xaa, 0x30, 0x28, 0xdb, 0xde, 0xba, 0xd6, 0xf7, 0xff, 0xfe, 0xff, 0xfb, 0xd6, 0xba, 0xd6, 0xbb, 0xff, 0xfe, 0xff,
- 0xdb, 0xd6, 0xba, 0xd6, 0x08, 0x0a, 0x2a, 0xb0, 0xda, 0xd6, 0xbb, 0xd6, 0xe8, 0x2a, 0x2a, 0x82, 0xda, 0xde, 0xbb, 0xd6, 0xeb, 0xaa, 0xab, 0xaf, 0xfb, 0xde, 0xba, 0xd6, 0xfb, 0xef, 0xff, 0xaf,
- 0xfb, 0xde, 0xda, 0xd6, 0xf5, 0x57, 0x5d, 0x5f, 0xfb, 0xde, 0xba, 0xd6, 0xef, 0xfb, 0xff, 0xef, 0xfb, 0xde, 0xba, 0xd6, 0xaf, 0xaa, 0xea, 0xfb, 0xfb, 0xde, 0xba, 0xd6, 0xba, 0xbe, 0xbf, 0xbf,
- 0xdb, 0xde, 0xba, 0xd6, 0x0a, 0x2a, 0xee, 0xaf, 0xfa, 0xde, 0xbb, 0xd6, 0xaa, 0xae, 0xbf, 0xff, 0xfb, 0xde, 0xba, 0xd6, 0xaa, 0xab, 0xfa, 0xfe, 0xda, 0xde, 0xfb, 0xd6, 0xae, 0xbf, 0xaa, 0xaa,
- 0xfa, 0xde, 0xdb, 0xd6, 0xaa, 0xff, 0xff, 0xf5, 0xfa, 0xde, 0xdb, 0xd6, 0xfa, 0xfa, 0xbf, 0x77, 0xfb, 0xde, 0xda, 0xd6, 0xae, 0xff, 0xee, 0xff, 0xfb, 0xde, 0xda, 0xd6, 0xf9, 0xea, 0xaa, 0xbf,
- 0xda, 0xde, 0xfb, 0xd6, 0xaa, 0xaa, 0xfb, 0xfe, 0xfb, 0xde, 0xda, 0xd6, 0xaa, 0xaf, 0xeb, 0xfd, 0xda, 0xde, 0xfb, 0xd6, 0xaa, 0xea, 0xaa, 0xbf, 0xfb, 0xde, 0xda, 0xd6, 0xaa, 0xfe, 0xbb, 0xff,
- 0xdb, 0xde, 0xfa, 0xd6, 0xaa, 0xaa, 0xfa, 0xea, 0xfa, 0xde, 0xdb, 0xd6, 0xfb, 0xfa, 0xef, 0xfe, 0xfb, 0xde, 0xda, 0xd6, 0xff, 0xff, 0xbf, 0xf7, 0xfb, 0xde, 0xda, 0xd6, 0xfb, 0xff, 0xff, 0xdf,
- 0xda, 0xde, 0xfb, 0xd6, 0xaa, 0xaa, 0xaa, 0xff, 0xdb, 0xde, 0xfa, 0xd6, 0xaa, 0xbb, 0xaf, 0xae, 0xfb, 0xde, 0xda, 0xd6, 0xae, 0xde, 0xff, 0xff, 0xdb, 0xde, 0xfa, 0xd6, 0xaa, 0xbf, 0xba, 0xbe,
- 0xfb, 0xde, 0xda, 0xd6, 0xaa, 0xea, 0xba, 0xdf, 0xfa, 0xde, 0xdb, 0xd6, 0xea, 0xab, 0x77, 0xfe, 0xfb, 0xde, 0xda, 0xd6, 0xae, 0xda, 0xbb, 0xfb, 0xdb, 0xde, 0xfa, 0xd6, 0x2a, 0xaa, 0xfa, 0xea,
- 0xfb, 0xde, 0xda, 0xd6, 0xfe, 0xee, 0xfe, 0x75, 0xfb, 0xde, 0xda, 0xd6, 0xff, 0xf7, 0xfa, 0xff, 0xfb, 0xde, 0xba, 0xd6, 0xfa, 0xaa, 0xaa, 0xfe, 0xfb, 0xde, 0xba, 0xd6, 0xee, 0xfb, 0xba, 0xff,
- 0xba, 0xce, 0x7a, 0xce, 0xff, 0xfa, 0xba, 0xba, 0xba, 0xce, 0x9a, 0xce, 0xdd, 0xf5, 0xf5, 0x35, 0xbb, 0xce, 0x9a, 0xce, 0x57, 0xf5, 0xdd, 0x65, 0xbb, 0xd6, 0x9a, 0xce, 0xeb, 0x7f, 0xd7, 0x97,
- 0xbb, 0xd6, 0x9a, 0xce, 0xbb, 0xff, 0xfd, 0xf7, 0xbb, 0xd6, 0x9a, 0xce, 0xdf, 0xbf, 0xff, 0xfa, 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xee, 0xbb, 0xae, 0xbb, 0xd6, 0x9a, 0xce, 0xe5, 0xef, 0xfe, 0x8e,
- 0xbb, 0xd6, 0x9a, 0xce, 0xeb, 0xae, 0xbf, 0xfe, 0xbb, 0xd6, 0x9a, 0xce, 0xef, 0xba, 0xaa, 0xae, 0x9a, 0xd6, 0xbb, 0xce, 0xae, 0xef, 0xfa, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xfe, 0xaf, 0xba, 0xaf,
- 0x9a, 0xd6, 0xbb, 0xce, 0xfd, 0xbb, 0xf7, 0xfb, 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xba, 0xaa, 0xbf, 0x9a, 0xd6, 0xbb, 0xce, 0xff, 0xab, 0xfb, 0xfe, 0xdb, 0xd6, 0xba, 0xce, 0xfd, 0xff, 0xf7, 0xd5,
- 0xdb, 0xd6, 0x9a, 0xce, 0xaa, 0xaf, 0xaf, 0xaf, 0xbb, 0xd6, 0x9a, 0xce, 0x8b, 0x08, 0x22, 0x8a, 0xba, 0xd6, 0xdb, 0xce, 0x8b, 0xab, 0xaa, 0x8a, 0xdb, 0xd6, 0x9a, 0xce, 0xee, 0xaa, 0xaa, 0xaa,
- 0x9a, 0xd6, 0xdb, 0xce, 0xef, 0xfb, 0xab, 0xef, 0xdb, 0xd6, 0xba, 0xce, 0x7f, 0x7f, 0xff, 0xbb, 0xba, 0xd6, 0xdb, 0xce, 0xaa, 0xaa, 0xaa, 0xaf, 0xba, 0xd6, 0xdb, 0xce, 0xab, 0xaa, 0x8a, 0xab,
- 0xba, 0xd6, 0xdb, 0xce, 0x8b, 0xa8, 0xaa, 0xee, 0x9a, 0xd6, 0xdb, 0xce, 0xab, 0xaa, 0xbf, 0xbf, 0x9a, 0xd6, 0xdb, 0xce, 0xea, 0xfa, 0xfe, 0xeb, 0x9a, 0xd6, 0xbb, 0xce, 0xde, 0x5b, 0xff, 0xbf,
- 0xbb, 0xd6, 0x9a, 0xce, 0xbe, 0xfa, 0xae, 0xae, 0xbb, 0xd6, 0x9a, 0xce, 0xae, 0xfa, 0xaa, 0xaa, 0x9a, 0xd6, 0xbb, 0xce, 0xff, 0xfa, 0xff, 0x7f, 0x9b, 0xd6, 0xba, 0xce, 0x7f, 0xf5, 0xd7, 0xb5,
- 0xbb, 0xd6, 0x9a, 0xce, 0xbe, 0xca, 0xef, 0xbb, 0x9a, 0xd6, 0xbb, 0xce, 0xaf, 0xaf, 0xff, 0xbb, 0xbb, 0xd6, 0x9a, 0xce, 0xe3, 0xaa, 0xaa, 0xe8, 0x9b, 0xd6, 0xba, 0xce, 0x5f, 0xed, 0x55, 0xbf,
- 0x1b, 0xdf, 0x26, 0x5a, 0x40, 0x40, 0xc0, 0x00, 0xe9, 0x6a, 0xc5, 0x51, 0x55, 0x7f, 0x7e, 0xa0, 0x46, 0x62, 0xa4, 0x49, 0xd5, 0xef, 0xff, 0xa0, 0x26, 0x62, 0xa4, 0x49, 0x6e, 0x62, 0xfa, 0xaa,
- 0x26, 0x62, 0xa5, 0x51, 0x7d, 0xa0, 0x89, 0x2a, 0x05, 0x62, 0xa5, 0x59, 0xab, 0xbd, 0x2a, 0xb0, 0x25, 0x6a, 0xa4, 0x59, 0x57, 0xbf, 0xa0, 0xb2, 0xe5, 0x61, 0x43, 0x51, 0xdf, 0x5a, 0xea, 0xc0,
- 0xe5, 0x69, 0x84, 0x59, 0xa3, 0x8f, 0xa9, 0xeb, 0xe4, 0x61, 0x63, 0x59, 0xe2, 0x6a, 0x5a, 0xab, 0xe5, 0x69, 0xe2, 0x48, 0x0f, 0xa9, 0xab, 0xad, 0xe4, 0x61, 0x43, 0x51, 0x08, 0x02, 0x8b, 0xdd,
- 0xc5, 0x61, 0x43, 0x51, 0x00, 0x02, 0x32, 0xad, 0xc4, 0x59, 0xe2, 0x48, 0xe0, 0xe0, 0xe8, 0x7f, 0x83, 0x59, 0x22, 0x51, 0x2b, 0xab, 0xf9, 0xbd, 0xa3, 0x61, 0x02, 0x59, 0xaa, 0xff, 0xf7, 0x22,
- 0xa3, 0x61, 0x22, 0x59, 0xab, 0xa3, 0xd7, 0x2e, 0xe4, 0x61, 0x42, 0x59, 0x2f, 0x2f, 0xe7, 0xff, 0xc4, 0x69, 0x63, 0x59, 0xd0, 0xf8, 0xeb, 0xd4, 0xe4, 0x69, 0x83, 0x59, 0xbf, 0x39, 0xb7, 0xda,
- 0xc4, 0x69, 0x83, 0x59, 0xa8, 0xe0, 0xc8, 0xdf, 0xe5, 0x61, 0x83, 0x59, 0xa2, 0xfe, 0xba, 0x5f, 0xe5, 0x61, 0x63, 0x59, 0xaa, 0x2a, 0xac, 0xa5, 0x26, 0x6a, 0x84, 0x59, 0xff, 0xb8, 0xff, 0xd7,
- 0x25, 0x62, 0x64, 0x51, 0xba, 0xa8, 0xff, 0xd7, 0xc5, 0x61, 0x02, 0x49, 0x2a, 0x82, 0x29, 0xba, 0x46, 0x6a, 0x63, 0x51, 0x0a, 0x2a, 0x8a, 0xf5, 0x8b, 0x93, 0x06, 0x62, 0x1a, 0xfb, 0xd5, 0x7d,
- 0x09, 0x83, 0x43, 0x49, 0x78, 0x7a, 0x7e, 0xdf, 0x05, 0x62, 0x84, 0x51, 0xad, 0xab, 0x2b, 0x02, 0x49, 0x83, 0xc5, 0x59, 0xf5, 0xcb, 0xeb, 0x5f, 0x2c, 0x9c, 0xc5, 0x51, 0xa9, 0xaf, 0x2f, 0xf5,
- 0x8e, 0xb4, 0x29, 0x83, 0xd7, 0xbf, 0xeb, 0x89, 0xee, 0xbc, 0x29, 0x8b, 0xab, 0xa2, 0xf7, 0xaa, 0x8d, 0xb4, 0x22, 0x49, 0x60, 0xea, 0xe0, 0xea, 0x8f, 0xa4, 0x64, 0x49, 0xb5, 0x87, 0x87, 0x57,
- 0x0f, 0xbd, 0x64, 0x51, 0x02, 0xe0, 0x5e, 0x55, 0x8e, 0xac, 0x84, 0x49, 0xf8, 0xf5, 0x55, 0xf5, 0x4d, 0xa4, 0xa5, 0x51, 0x3f, 0x2f, 0x0b, 0x58, 0x72, 0xc5, 0x22, 0x49, 0x2a, 0xa2, 0xd7, 0xd5,
- 0xfb, 0xde, 0x07, 0x5a, 0x00, 0x03, 0x09, 0x35, 0xda, 0xd6, 0xbb, 0xd6, 0xdd, 0xcb, 0x6f, 0x77, 0xdb, 0xd6, 0xba, 0xd6, 0xab, 0xbe, 0xeb, 0x96, 0xda, 0xde, 0xbb, 0xd6, 0xee, 0xff, 0xff, 0xff,
- 0xdb, 0xd6, 0xba, 0xd6, 0x8e, 0xfa, 0xba, 0xb6, 0xdb, 0xd6, 0xba, 0xd6, 0xa8, 0xe2, 0x08, 0xe6, 0xdb, 0xd6, 0xba, 0xd6, 0xa8, 0xaf, 0xa3, 0xe8, 0xdb, 0xd6, 0xba, 0xd6, 0x82, 0x3a, 0x2a, 0xe2,
- 0xdb, 0xde, 0xba, 0xce, 0xea, 0xbe, 0xba, 0xef, 0xdb, 0xd6, 0xba, 0xce, 0x0b, 0x00, 0xaa, 0xaa, 0xdb, 0xd6, 0xba, 0xd6, 0xa2, 0x28, 0x80, 0xba, 0xdb, 0xd6, 0xba, 0xd6, 0x29, 0x0a, 0x28, 0x28,
- 0xdb, 0xde, 0xba, 0xce, 0xaa, 0xba, 0xaf, 0xff, 0xdb, 0xd6, 0xba, 0xd6, 0x8a, 0x80, 0xf0, 0xb0, 0xfa, 0xd6, 0xbb, 0xd6, 0xfa, 0xff, 0xff, 0xba, 0xdb, 0xde, 0xba, 0xd6, 0xff, 0xfb, 0xfd, 0xff,
- 0xdb, 0xde, 0xba, 0xd6, 0xfe, 0xbf, 0xee, 0xff, 0xdb, 0xd6, 0xba, 0xd6, 0x0c, 0xfe, 0x82, 0x83, 0xdb, 0xde, 0xba, 0xd6, 0xfa, 0xff, 0xff, 0xff, 0xfb, 0xd6, 0xba, 0xd6, 0xab, 0xff, 0xff, 0xff,
- 0xdb, 0xde, 0xba, 0xd6, 0xfb, 0xae, 0xfb, 0xff, 0xdb, 0xd6, 0xba, 0xd6, 0x88, 0x0a, 0x8a, 0xae, 0xdb, 0xd6, 0xba, 0xd6, 0x00, 0xac, 0xa0, 0x8a, 0xdb, 0xd6, 0xba, 0xd6, 0x0e, 0x03, 0xe8, 0x00,
- 0xdb, 0xde, 0xba, 0xd6, 0x9b, 0xff, 0xff, 0xbb, 0xda, 0xde, 0xbb, 0xd6, 0xea, 0xff, 0xff, 0x7f, 0xdb, 0xde, 0xda, 0xce, 0xaa, 0xab, 0xab, 0xee, 0xfb, 0xde, 0xda, 0xd6, 0x7d, 0x55, 0x5d, 0x55,
- 0xfb, 0xde, 0xda, 0xd6, 0xdf, 0xfd, 0xd5, 0x57, 0xfb, 0xd6, 0xda, 0xd6, 0x79, 0xf5, 0x57, 0x96, 0xfb, 0xd6, 0xda, 0xd6, 0x5a, 0x7f, 0xdd, 0x7e, 0xfb, 0xde, 0xda, 0xd6, 0xf7, 0xfd, 0xfd, 0xfd,
- 0xfb, 0xde, 0xba, 0xd6, 0xae, 0xaf, 0xba, 0xbe, 0xfb, 0xde, 0xda, 0xd6, 0xf7, 0xff, 0x7d, 0x57, 0xfb, 0xde, 0xda, 0xd6, 0xbf, 0xf7, 0xf5, 0xf5, 0xfb, 0xde, 0xda, 0xd6, 0xdf, 0x5f, 0xff, 0xff,
- 0xfc, 0xde, 0xda, 0xd6, 0x9f, 0xdf, 0x5f, 0x55, 0xfb, 0xde, 0xba, 0xd6, 0xbf, 0xff, 0xfe, 0xef, 0xfb, 0xde, 0xba, 0xd6, 0xfe, 0xaf, 0xfa, 0xfb, 0xfb, 0xde, 0xba, 0xd6, 0xbe, 0xbf, 0xba, 0xff,
- 0xfb, 0xde, 0xda, 0xd6, 0xbf, 0xdd, 0xd5, 0x55, 0xfa, 0xde, 0xdb, 0xd6, 0xdf, 0x7f, 0x5d, 0x75, 0xfb, 0xde, 0xba, 0xce, 0xaa, 0xaa, 0xea, 0xee, 0xfb, 0xde, 0xda, 0xd6, 0xff, 0x7f, 0xdf, 0xf5,
- 0xfb, 0xde, 0xda, 0xd6, 0xff, 0xfb, 0xff, 0xfd, 0xba, 0xde, 0xfb, 0xd6, 0xfe, 0xae, 0xea, 0xaf, 0xfb, 0xde, 0xba, 0xd6, 0xbb, 0xff, 0xbf, 0xbf, 0xfb, 0xd6, 0xba, 0xd6, 0xaf, 0xff, 0xae, 0xff,
- 0xdb, 0xde, 0xba, 0xd6, 0xfa, 0xbe, 0xaf, 0xea, 0xfb, 0xd6, 0xba, 0xd6, 0xeb, 0xfe, 0xfa, 0xfa, 0xfb, 0xde, 0xda, 0xd6, 0x77, 0x55, 0x65, 0xd7, 0xfb, 0xd6, 0xba, 0xd6, 0xee, 0xfa, 0xff, 0xee,
- 0xbb, 0xd6, 0x79, 0xce, 0xff, 0xff, 0xeb, 0xbe, 0xba, 0xd6, 0x9a, 0xce, 0x55, 0xd7, 0xdf, 0xff, 0xbb, 0xd6, 0x99, 0xc6, 0xbf, 0xff, 0xaf, 0xaa, 0xbb, 0xd6, 0x9a, 0xce, 0xfd, 0xfd, 0xdf, 0xff,
- 0xbb, 0xce, 0x9a, 0xce, 0xfe, 0xf5, 0xf7, 0xd6, 0xbb, 0xce, 0x9a, 0xce, 0x6b, 0xef, 0xef, 0x6a, 0xba, 0xd6, 0x9a, 0xce, 0xbf, 0xef, 0xfe, 0xaf, 0xbb, 0xd6, 0xb9, 0xce, 0xff, 0x97, 0xbf, 0xfb,
- 0x9a, 0xd6, 0xbb, 0xce, 0x6f, 0xfa, 0xff, 0xb5, 0x9a, 0xd6, 0xbb, 0xce, 0xfb, 0xff, 0xeb, 0xfe, 0x9a, 0xd6, 0xbb, 0xce, 0xf7, 0xef, 0xf5, 0x5a, 0x9a, 0xd6, 0xbb, 0xce, 0x8a, 0x7f, 0xff, 0xf5,
- 0x9b, 0xd6, 0xba, 0xce, 0xbf, 0x5d, 0xff, 0x7f, 0xbb, 0xd6, 0xba, 0xce, 0xde, 0xaa, 0xab, 0x8a, 0xdb, 0xd6, 0x9a, 0xce, 0xff, 0xee, 0xfa, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xea, 0xea, 0xae, 0xac,
- 0xdb, 0xd6, 0x9a, 0xce, 0xff, 0xae, 0xeb, 0xfb, 0x9a, 0xd6, 0xdb, 0xce, 0xfa, 0xaa, 0xab, 0xba, 0x9a, 0xd6, 0xdb, 0xce, 0xfb, 0xab, 0xbf, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0xff, 0xfe, 0xff, 0xff,
- 0xdb, 0xd6, 0x9a, 0xce, 0xea, 0xea, 0xfb, 0xba, 0xdb, 0xd6, 0x9a, 0xce, 0xab, 0xaa, 0xbf, 0xbe, 0xdb, 0xd6, 0x9a, 0xce, 0xaa, 0xea, 0xef, 0xea, 0xdb, 0xd6, 0x9a, 0xce, 0xbf, 0xea, 0xaf, 0xaf,
- 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0x28, 0xea, 0xa8, 0x9a, 0xd6, 0xdb, 0xce, 0xff, 0xea, 0xfe, 0xbe, 0xdb, 0xd6, 0x9a, 0xce, 0xbb, 0xfe, 0xfe, 0xab, 0x9a, 0xd6, 0xdb, 0xce, 0xaf, 0xae, 0xaa, 0xef,
- 0xdb, 0xd6, 0x9a, 0xce, 0xff, 0xaf, 0xff, 0xfb, 0x9a, 0xd6, 0xdb, 0xce, 0xba, 0xaf, 0xfe, 0xea, 0x9a, 0xd6, 0xbb, 0xce, 0xef, 0xff, 0xff, 0xff, 0xdb, 0xd6, 0xba, 0xce, 0x57, 0xef, 0x7f, 0xde,
- 0xba, 0xd6, 0xdb, 0xce, 0x2a, 0xe8, 0xaa, 0xea, 0x9a, 0xd6, 0xbb, 0xce, 0xee, 0xbd, 0xff, 0x75, 0xdb, 0xd6, 0x9a, 0xce, 0xff, 0xbb, 0xef, 0xeb, 0xdb, 0xd6, 0x9a, 0xce, 0xfb, 0xfa, 0xea, 0xfa,
- 0x9a, 0xd6, 0xdb, 0xce, 0xaa, 0xaf, 0xba, 0xfa, 0xfb, 0xde, 0x27, 0x5a, 0x5c, 0x60, 0x80, 0x00, 0x1a, 0xdf, 0xc6, 0x51, 0x55, 0x55, 0x55, 0x58, 0x46, 0x62, 0xe5, 0x59, 0x2d, 0x0d, 0x78, 0xfa,
- 0x26, 0x6a, 0xc4, 0x59, 0x28, 0xbc, 0xf6, 0xbb, 0x05, 0x62, 0xa4, 0x59, 0xf8, 0xfb, 0xdb, 0xf0, 0xe6, 0x61, 0xc4, 0x59, 0x88, 0xbd, 0x3d, 0xcb, 0xe5, 0x69, 0x43, 0x59, 0xe0, 0xe8, 0x6a, 0xe2,
- 0xc4, 0x61, 0x22, 0x51, 0x0a, 0xbf, 0xfd, 0xa2, 0xc5, 0x61, 0x02, 0x51, 0xaa, 0x5e, 0x82, 0xae, 0xc4, 0x61, 0xc2, 0x40, 0x0d, 0x03, 0xab, 0xbf, 0xa4, 0x61, 0x63, 0x51, 0x54, 0xa0, 0x7b, 0xee,
- 0xc4, 0x61, 0xc2, 0x38, 0x82, 0xa8, 0xaa, 0x7a, 0xa4, 0x61, 0x61, 0x20, 0x28, 0x0a, 0x0a, 0x25, 0x04, 0x6a, 0x63, 0x59, 0xbb, 0xa5, 0x2a, 0xef, 0x24, 0x72, 0xc3, 0x61, 0xf5, 0xab, 0xea, 0xef,
- 0xe4, 0x69, 0x63, 0x51, 0xa8, 0xa0, 0x78, 0xf4, 0xc4, 0x61, 0x63, 0x59, 0xe6, 0xb0, 0xef, 0x82, 0x04, 0x6a, 0x43, 0x59, 0xbf, 0x8b, 0xd7, 0x0a, 0xe5, 0x69, 0x83, 0x49, 0xa2, 0xa8, 0x6a, 0xea,
- 0xe5, 0x61, 0x23, 0x41, 0x28, 0x2a, 0x2f, 0x29, 0x05, 0x6a, 0x83, 0x51, 0xfa, 0x6a, 0xaa, 0x00, 0xe5, 0x69, 0x83, 0x51, 0x2f, 0xa9, 0x08, 0xa2, 0x05, 0x62, 0xa4, 0x59, 0xba, 0xf2, 0xa0, 0x7e,
- 0xc5, 0x61, 0x63, 0x51, 0x09, 0xe9, 0x83, 0x83, 0x46, 0x62, 0xa4, 0x59, 0xbf, 0xbd, 0x29, 0xab, 0x87, 0x72, 0xe5, 0x61, 0xed, 0xe7, 0x83, 0x8b, 0x87, 0x72, 0x05, 0x62, 0xf0, 0xfd, 0xba, 0xf0,
- 0x08, 0x83, 0xc2, 0x40, 0x57, 0xbf, 0xaa, 0x2a, 0x29, 0x83, 0xe2, 0x38, 0xbd, 0x2f, 0xaa, 0x20, 0x4d, 0xa4, 0xc4, 0x59, 0xd5, 0xf7, 0x2b, 0xaa, 0xae, 0xb4, 0x63, 0x51, 0xab, 0x2a, 0xa2, 0x7e,
- 0x6d, 0xb4, 0x23, 0x49, 0x00, 0x88, 0xea, 0x55, 0x4c, 0xac, 0x83, 0x51, 0x20, 0xaa, 0x7f, 0xdb, 0xaa, 0x9b, 0x23, 0x41, 0x60, 0x5a, 0x5a, 0x5a, 0xa4, 0x51, 0x24, 0x49, 0xa0, 0xeb, 0xb5, 0xfb,
- 0xc5, 0x51, 0x44, 0x49, 0xeb, 0x77, 0xbb, 0x3f, 0xcc, 0x9b, 0x64, 0x41, 0x25, 0xed, 0x8f, 0x9f, 0x8a, 0x93, 0x03, 0x39, 0x5c, 0x57, 0xf5, 0xf5, 0xcc, 0x9b, 0x43, 0x51, 0xf5, 0xf5, 0x9d, 0x0d,
- 0xfb, 0xde, 0xe5, 0x61, 0x35, 0x1d, 0x2d, 0x2d, 0xda, 0xd6, 0xbb, 0xce, 0xaa, 0xaa, 0xaa, 0xaa, 0xba, 0xd6, 0xdb, 0xce, 0xab, 0xa8, 0x2a, 0x8b, 0xdb, 0xd6, 0xba, 0xce, 0xa8, 0xaa, 0xaa, 0xab,
- 0xdb, 0xd6, 0xba, 0xd6, 0xbe, 0x26, 0xd6, 0xbd, 0xdb, 0xd6, 0xba, 0xd6, 0x7e, 0xbe, 0xfa, 0xf2, 0xdb, 0xd6, 0xba, 0xce, 0x8a, 0xaa, 0xeb, 0xea, 0xda, 0xd6, 0xbb, 0xce, 0xaa, 0xea, 0xee, 0x6b,
- 0xdb, 0xd6, 0xba, 0xce, 0xba, 0xae, 0xaa, 0xaf, 0xdb, 0xd6, 0xba, 0xce, 0xab, 0xab, 0xaf, 0xaa, 0xbb, 0xd6, 0xda, 0xce, 0x02, 0x8a, 0xaf, 0xab, 0xdb, 0xde, 0xba, 0xce, 0xeb, 0xfe, 0xff, 0xff,
- 0xdb, 0xd6, 0xba, 0xce, 0x2a, 0xa2, 0xaa, 0xaa, 0xdb, 0xde, 0xba, 0xce, 0xef, 0xfb, 0xfe, 0xef, 0xdb, 0xde, 0xba, 0xce, 0xab, 0xaf, 0xff, 0xff, 0xdb, 0xd6, 0xba, 0xce, 0x22, 0xaa, 0xaa, 0xaa,
- 0xdb, 0xd6, 0xba, 0xd6, 0xef, 0x82, 0x88, 0xa6, 0xbb, 0xde, 0xda, 0xce, 0xfa, 0xfb, 0xff, 0xef, 0xdb, 0xd6, 0xba, 0xd6, 0xfa, 0xa8, 0x20, 0x88, 0xdb, 0xde, 0xba, 0xce, 0xbe, 0xbe, 0xfb, 0xeb,
- 0xdb, 0xd6, 0xba, 0xd6, 0x2b, 0x3a, 0x82, 0x8a, 0xdb, 0xde, 0xba, 0xd6, 0xfd, 0xff, 0xbf, 0xff, 0xdb, 0xd6, 0xba, 0xd6, 0xc2, 0x80, 0x80, 0xb0, 0xdb, 0xde, 0xba, 0xce, 0xea, 0xfe, 0xaa, 0xaf,
- 0xdb, 0xd6, 0xba, 0xd6, 0x18, 0x00, 0x30, 0x2b, 0xdb, 0xd6, 0xba, 0xd6, 0xf2, 0x02, 0xa2, 0x08, 0xdb, 0xd6, 0xba, 0xd6, 0x82, 0x22, 0x2e, 0xa4, 0xdb, 0xd6, 0xba, 0xd6, 0x00, 0x03, 0x2e, 0x08,
- 0xdb, 0xd6, 0xba, 0xd6, 0x80, 0x03, 0x00, 0x00, 0xda, 0xd6, 0xbb, 0xd6, 0x00, 0xa0, 0x82, 0x38, 0xfb, 0xde, 0xba, 0xce, 0xae, 0xea, 0xef, 0xff, 0xdb, 0xd6, 0xba, 0xd6, 0x00, 0x02, 0x30, 0x88,
- 0xdb, 0xde, 0xba, 0xd6, 0xae, 0xaf, 0xff, 0xbe, 0xfb, 0xde, 0xba, 0xce, 0xba, 0xef, 0xfe, 0xfb, 0xfb, 0xde, 0xba, 0xce, 0xaa, 0xae, 0xff, 0xff, 0xfb, 0xde, 0xba, 0xce, 0xaa, 0xff, 0xfb, 0xff,
- 0xfb, 0xde, 0xba, 0xce, 0xab, 0xaf, 0xfb, 0xff, 0xfb, 0xde, 0xba, 0xce, 0xaa, 0xaf, 0xfb, 0xff, 0xdb, 0xde, 0xba, 0xce, 0xaa, 0xaa, 0xba, 0xaf, 0xdb, 0xde, 0xda, 0xce, 0xea, 0xaa, 0xfa, 0xfa,
- 0xdb, 0xd6, 0xba, 0xce, 0x0a, 0xa8, 0xaa, 0xaa, 0xfb, 0xd6, 0xba, 0xd6, 0xff, 0xfb, 0xff, 0xff, 0xdb, 0xde, 0xba, 0xce, 0xaa, 0xef, 0xba, 0xea, 0xda, 0xde, 0xbb, 0xd6, 0xeb, 0xfa, 0xff, 0xbf,
- 0xdb, 0xde, 0xba, 0xd6, 0xff, 0xfb, 0xeb, 0xff, 0xfb, 0xd6, 0xda, 0xd6, 0x65, 0x65, 0x55, 0x55, 0xfb, 0xd6, 0xba, 0xd6, 0xef, 0xab, 0xfe, 0xfb, 0xfb, 0xd6, 0xba, 0xd6, 0xea, 0xfa, 0xfe, 0xbe,
- 0xdb, 0xde, 0xba, 0xd6, 0xbf, 0xaf, 0xeb, 0xae, 0xfb, 0xde, 0xba, 0xd6, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xde, 0xba, 0xd6, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xde, 0xba, 0xce, 0xaf, 0xef, 0xef, 0xff,
- 0xbb, 0xd6, 0x9a, 0xce, 0xfd, 0xdf, 0xff, 0xfe, 0xbb, 0xd6, 0x9a, 0xce, 0x7b, 0xff, 0xef, 0xba, 0xbb, 0xd6, 0x9a, 0xce, 0x7f, 0xfe, 0xfb, 0xbe, 0x9a, 0xd6, 0xbb, 0xce, 0xba, 0xff, 0xf7, 0xf5,
- 0xbb, 0xd6, 0x9a, 0xce, 0xbf, 0xab, 0xaa, 0x8f, 0x9a, 0xd6, 0xbb, 0xce, 0x6f, 0xfd, 0xbf, 0xfd, 0xdb, 0xd6, 0x9a, 0xce, 0xfe, 0xff, 0xff, 0xeb, 0xbb, 0xd6, 0x9a, 0xce, 0xee, 0x2a, 0xea, 0xac,
- 0xdb, 0xd6, 0x9a, 0xce, 0xbf, 0xbf, 0xbb, 0xbf, 0xdb, 0xd6, 0x9a, 0xce, 0xab, 0xef, 0xff, 0xaa, 0x9a, 0xd6, 0xdb, 0xce, 0xaf, 0xaf, 0xea, 0xfe, 0x9a, 0xd6, 0xdb, 0xce, 0xaa, 0xaa, 0xff, 0xee,
- 0x9a, 0xd6, 0xdb, 0xce, 0xba, 0xff, 0xbf, 0xbe, 0xba, 0xd6, 0xdb, 0xce, 0xea, 0xaa, 0xaa, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0xfd, 0xff, 0xff, 0xfb, 0xba, 0xd6, 0xdb, 0xce, 0xaa, 0xaa, 0xaa, 0x2e,
- 0xba, 0xd6, 0xdb, 0xce, 0xe8, 0xaa, 0xba, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0xff, 0xdf, 0xbf, 0xff, 0xba, 0xd6, 0xdb, 0xce, 0xaa, 0xaa, 0xaa, 0xaf, 0xdb, 0xd6, 0xba, 0xce, 0xff, 0xd7, 0xfd, 0xf7,
- 0xba, 0xd6, 0xdb, 0xce, 0xaa, 0xaa, 0x0a, 0xae, 0xba, 0xd6, 0xdb, 0xce, 0xeb, 0xa8, 0xba, 0xee, 0xba, 0xd6, 0xdb, 0xce, 0xbf, 0xea, 0xea, 0x2e, 0xdb, 0xd6, 0xba, 0xce, 0x7f, 0xd7, 0xff, 0xd7,
- 0x9a, 0xd6, 0xbb, 0xce, 0xf7, 0xfd, 0xf7, 0xef, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xaa, 0xe2, 0xeb, 0xdb, 0xd6, 0x9a, 0xce, 0xbe, 0xeb, 0xef, 0xaf, 0x9a, 0xd6, 0xbb, 0xce, 0xf9, 0xbf, 0xdd, 0xff,
- 0xbb, 0xd6, 0x9a, 0xce, 0xae, 0xaa, 0xaa, 0x2f, 0xbb, 0xd6, 0xba, 0xce, 0x7e, 0xff, 0xfd, 0x7a, 0x9a, 0xd6, 0xdb, 0xce, 0xfb, 0xfb, 0xbf, 0xaf, 0xbb, 0xd6, 0xba, 0xce, 0xeb, 0xeb, 0x7a, 0xfe,
- 0x9a, 0xd6, 0xdb, 0xce, 0xfe, 0xab, 0xbb, 0xfe, 0x9b, 0xd6, 0xba, 0xce, 0xbb, 0xb5, 0x7b, 0xeb, 0x9a, 0xd6, 0xdb, 0xce, 0xae, 0xbf, 0xeb, 0xfb, 0xbb, 0xd6, 0xba, 0xce, 0x0b, 0x7e, 0xbf, 0xfd,
- 0x9a, 0xd6, 0xdb, 0xce, 0xee, 0xeb, 0xfa, 0xea, 0xdb, 0xd6, 0x9a, 0xce, 0xea, 0xff, 0xfb, 0xaa, 0x1a, 0xe7, 0xba, 0xce, 0xcd, 0x15, 0x15, 0x9d, 0x87, 0x6a, 0x06, 0x5a, 0xfb, 0xf8, 0x62, 0x5b,
- 0x47, 0x62, 0xe6, 0x59, 0xef, 0xff, 0xfe, 0xf2, 0x26, 0x62, 0xa4, 0x59, 0x7a, 0xfa, 0x2b, 0x8a, 0x05, 0x62, 0xa4, 0x59, 0xff, 0xfe, 0xba, 0x5c, 0xe5, 0x61, 0x43, 0x51, 0xe0, 0xa1, 0x82, 0x5b,
- 0x25, 0x72, 0x02, 0x49, 0xea, 0xaa, 0xa7, 0x2f, 0xc4, 0x69, 0xc2, 0x38, 0x0a, 0x57, 0xff, 0xe0, 0xc4, 0x61, 0xc2, 0x38, 0xef, 0xad, 0xaf, 0x2b, 0x04, 0x6a, 0x43, 0x51, 0xd5, 0xba, 0xba, 0xa0,
- 0xa3, 0x69, 0x22, 0x51, 0x5e, 0xe0, 0x80, 0xe0, 0x05, 0x72, 0xe2, 0x40, 0xb7, 0x09, 0x0b, 0x02, 0x25, 0x72, 0xa4, 0x61, 0x5a, 0x2a, 0xab, 0xaa, 0x24, 0x72, 0xa3, 0x61, 0xeb, 0x7c, 0x7f, 0x5f,
- 0xe4, 0x61, 0x83, 0x59, 0xf5, 0xa4, 0xa2, 0x5f, 0x83, 0x69, 0xe5, 0x51, 0x2a, 0xff, 0x5d, 0x5f, 0x05, 0x62, 0x64, 0x41, 0x2a, 0xaa, 0xd7, 0xaa, 0x05, 0x62, 0x84, 0x49, 0xe8, 0xe7, 0x7d, 0xee,
- 0xe5, 0x59, 0x64, 0x41, 0x81, 0xbb, 0x2d, 0xaf, 0x04, 0x62, 0x83, 0x51, 0xaa, 0x7c, 0xbe, 0xaa, 0x05, 0x62, 0x84, 0x51, 0xbb, 0x7d, 0x7c, 0xfe, 0x05, 0x5a, 0x43, 0x41, 0x58, 0x7f, 0xf5, 0xdf,
- 0x05, 0x52, 0x44, 0x49, 0x5d, 0xf5, 0x8d, 0xab, 0x29, 0x7b, 0xa5, 0x51, 0xf7, 0xf7, 0x85, 0x8b, 0xa7, 0x72, 0xa5, 0x59, 0xe2, 0x7e, 0xd8, 0xa8, 0x09, 0x7b, 0xa5, 0x59, 0xff, 0x55, 0x2b, 0x00,
- 0xe9, 0x7a, 0xc5, 0x59, 0x3d, 0xfa, 0xfc, 0x97, 0x2c, 0xa4, 0x84, 0x51, 0xaf, 0x2f, 0xea, 0x78, 0xab, 0x93, 0x43, 0x49, 0xa8, 0xfe, 0x5f, 0xd5, 0x25, 0x6a, 0x03, 0x41, 0x78, 0xbf, 0xff, 0xfa,
- 0x09, 0x83, 0x03, 0x49, 0xf5, 0xab, 0x2d, 0xad, 0x6a, 0x93, 0x43, 0x49, 0x72, 0x70, 0x58, 0x5e, 0x29, 0x83, 0x03, 0x39, 0x52, 0x57, 0x57, 0x57, 0x85, 0x49, 0x23, 0x39, 0xfa, 0x3b, 0x3e, 0x17,
- 0xc5, 0x59, 0xe3, 0x38, 0xb5, 0xaa, 0x2a, 0xf8, 0xc8, 0x7a, 0xc2, 0x30, 0xfb, 0x5b, 0x5c, 0xfe, 0xa7, 0x7a, 0x03, 0x39, 0xd5, 0x55, 0xf5, 0x8b, 0x2c, 0xac, 0x63, 0x51, 0xad, 0x8d, 0xf5, 0xe2,
- 0xfb, 0xde, 0x87, 0x72, 0x3d, 0x1d, 0x35, 0x1d, 0xbb, 0xd6, 0xda, 0xce, 0xea, 0xaa, 0xca, 0xae, 0xdb, 0xd6, 0xba, 0xce, 0xba, 0xba, 0xaa, 0x6a, 0xba, 0xd6, 0xdb, 0xce, 0xfa, 0xaa, 0x8a, 0x8b,
- 0xdb, 0xd6, 0xba, 0xce, 0xbe, 0xeb, 0xef, 0xbf, 0xdb, 0xd6, 0xba, 0xce, 0xae, 0xaa, 0xeb, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0xae, 0xae, 0xaa, 0xfa, 0xdb, 0xd6, 0xba, 0xce, 0xea, 0xfa, 0xbe, 0xea,
- 0xba, 0xd6, 0xdb, 0xce, 0x00, 0x2a, 0xbf, 0xa8, 0xdb, 0xd6, 0x9a, 0xce, 0xaf, 0xaa, 0xae, 0xea, 0xdb, 0xd6, 0xba, 0xce, 0xbe, 0xbe, 0xea, 0xaf, 0xdb, 0xd6, 0xba, 0xd6, 0xd6, 0x96, 0xf6, 0xd5,
- 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xaa, 0xef, 0xba, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xaa, 0xef, 0xab, 0xdb, 0xd6, 0xba, 0xce, 0x2a, 0xae, 0xab, 0xab, 0xdb, 0xd6, 0xba, 0xce, 0xa8, 0xaa, 0xbe, 0xee,
- 0xbb, 0xd6, 0xda, 0xce, 0x80, 0xaa, 0xfe, 0xfa, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xaa, 0xba, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0xa2, 0xaa, 0xfa, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0xa2, 0xaa, 0xab, 0xee,
- 0xdb, 0xd6, 0xba, 0xd6, 0xb3, 0xaa, 0xaf, 0x77, 0xba, 0xd6, 0xdb, 0xce, 0xae, 0x0b, 0xa0, 0xba, 0xdb, 0xd6, 0xba, 0xce, 0x08, 0x2a, 0xaa, 0xaf, 0xdb, 0xde, 0xba, 0xce, 0xae, 0xef, 0xbe, 0xff,
- 0xdb, 0xd6, 0xba, 0xce, 0x08, 0xaa, 0xaa, 0xab, 0xdb, 0xd6, 0xba, 0xce, 0x0a, 0xaa, 0xaa, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0x0a, 0x88, 0xaa, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0x00, 0xaa, 0xaa, 0xae,
- 0xda, 0xd6, 0xbb, 0xd6, 0xa0, 0x88, 0x82, 0x82, 0xdb, 0xd6, 0xba, 0xce, 0x82, 0xaa, 0xaa, 0xa8, 0xdb, 0xd6, 0xba, 0xce, 0xa8, 0x8a, 0x8a, 0xaa, 0xdb, 0xd6, 0xba, 0xd6, 0x00, 0x0b, 0xaa, 0x9f,
- 0xfb, 0xd6, 0xba, 0xd6, 0xbc, 0xfa, 0xff, 0xff, 0xdb, 0xd6, 0xba, 0xd6, 0xce, 0xae, 0x0a, 0xbf, 0xdb, 0xd6, 0xba, 0xce, 0x28, 0xaa, 0x8a, 0xaa, 0xda, 0xd6, 0xbb, 0xce, 0xaa, 0xaa, 0xaa, 0xaa,
- 0xdb, 0xd6, 0xba, 0xd6, 0xa0, 0xe8, 0xb8, 0x02, 0xdb, 0xd6, 0xba, 0xce, 0xa0, 0x0a, 0xaa, 0x08, 0xdb, 0xd6, 0xba, 0xd6, 0x02, 0x80, 0x88, 0x83, 0xfb, 0xd6, 0xba, 0xd6, 0xab, 0xbf, 0xef, 0xff,
- 0xdb, 0xd6, 0xba, 0xd6, 0x2c, 0x82, 0x2a, 0xae, 0xdb, 0xde, 0xba, 0xd6, 0xee, 0xff, 0xff, 0xef, 0xdb, 0xd6, 0xba, 0xd6, 0x0e, 0x28, 0x00, 0x82, 0xfb, 0xde, 0xba, 0xd6, 0xbf, 0xff, 0xff, 0xff,
- 0xdb, 0xd6, 0xba, 0xd6, 0x08, 0x30, 0x08, 0x20, 0xdb, 0xd6, 0xba, 0xd6, 0x2a, 0x03, 0x00, 0x38, 0xfb, 0xde, 0xda, 0xce, 0xbb, 0xff, 0xfb, 0xbf, 0xdb, 0xde, 0xda, 0xce, 0xeb, 0xaa, 0xaa, 0xab,
- 0xfb, 0xde, 0xda, 0xd6, 0x5f, 0xd5, 0x55, 0x55, 0xfb, 0xde, 0xba, 0xd6, 0xfe, 0xff, 0xfa, 0xff, 0xfb, 0xd6, 0xba, 0xd6, 0xfa, 0xfb, 0xff, 0xfe, 0xdb, 0xde, 0xba, 0xd6, 0xbe, 0xaf, 0xfb, 0xfa,
- 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xff, 0xbe, 0xeb, 0x9a, 0xd6, 0xbb, 0xce, 0xfd, 0xdf, 0xff, 0xaa, 0x9a, 0xd6, 0xbb, 0xce, 0xef, 0xfa, 0xff, 0x77, 0x9a, 0xd6, 0xbb, 0xce, 0xaf, 0xff, 0xff, 0xff,
- 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xbe, 0xa2, 0xab, 0x9a, 0xd6, 0xbb, 0xce, 0xfa, 0x5f, 0xff, 0xef, 0xdb, 0xd6, 0x9a, 0xce, 0xff, 0xae, 0xfa, 0xab, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xaa, 0xaa, 0xa0,
- 0xdb, 0xd6, 0x9a, 0xce, 0xaa, 0xfa, 0xea, 0xea, 0xbb, 0xd6, 0x9a, 0xce, 0xe2, 0x2a, 0xa2, 0xaa, 0xba, 0xd6, 0xdb, 0xce, 0xaa, 0x8a, 0xff, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0xbf, 0xf7, 0xff, 0xfb,
- 0x9a, 0xd6, 0xdb, 0xce, 0xff, 0xff, 0xaf, 0xff, 0xdb, 0xd6, 0xba, 0xce, 0xff, 0x77, 0x75, 0xed, 0xbb, 0xd6, 0xba, 0xce, 0xa2, 0xba, 0xeb, 0xa3, 0xdb, 0xd6, 0x9a, 0xce, 0xeb, 0xff, 0xaa, 0xfb,
- 0xdb, 0xd6, 0x9a, 0xce, 0xfe, 0xba, 0xee, 0xbe, 0xdb, 0xd6, 0x9a, 0xce, 0xff, 0xfe, 0xff, 0xae, 0xba, 0xd6, 0xdb, 0xce, 0xaa, 0xab, 0xef, 0xaa, 0xba, 0xd6, 0xdb, 0xce, 0xaa, 0x2a, 0xea, 0xa2,
- 0xdb, 0xd6, 0xba, 0xce, 0xf5, 0xfb, 0xfe, 0xfd, 0xba, 0xd6, 0xdb, 0xce, 0x8a, 0xaf, 0xea, 0xba, 0x9a, 0xd6, 0xdb, 0xce, 0xbf, 0xea, 0xff, 0xff, 0x9a, 0xd6, 0xdb, 0xce, 0xae, 0xbe, 0xab, 0xef,
- 0x9a, 0xd6, 0xbb, 0xce, 0xfe, 0xff, 0xff, 0xb7, 0x9a, 0xd6, 0xdb, 0xce, 0xae, 0xaa, 0xeb, 0xfa, 0xdb, 0xd6, 0x9a, 0xce, 0xff, 0xff, 0xbf, 0xff, 0xdb, 0xd6, 0x9a, 0xce, 0xff, 0xff, 0xff, 0xff,
- 0x9a, 0xd6, 0xdb, 0xce, 0xaa, 0xaf, 0xaa, 0xef, 0x9a, 0xd6, 0xbb, 0xce, 0xbe, 0xff, 0xab, 0xff, 0x9a, 0xd6, 0xdb, 0xce, 0xea, 0xff, 0xaf, 0xeb, 0xba, 0xd6, 0xdb, 0xce, 0xaa, 0xea, 0xaa, 0x2f,
- 0xba, 0xd6, 0xdb, 0xce, 0x2b, 0xaa, 0xaa, 0x0a, 0xba, 0xd6, 0xdb, 0xce, 0xe8, 0xaa, 0x0f, 0xe0, 0xdb, 0xd6, 0x9a, 0xce, 0xbb, 0xaf, 0xee, 0xbb, 0xda, 0xd6, 0x9b, 0xce, 0xae, 0xaa, 0xaa, 0xaa,
- 0xba, 0xd6, 0x9b, 0xce, 0x20, 0xaa, 0x28, 0xa8, 0x9b, 0xd6, 0xda, 0xce, 0xff, 0xbe, 0xaa, 0xee, 0xfb, 0xd6, 0x9a, 0xce, 0x3f, 0x6b, 0xff, 0xff, 0x3b, 0xdf, 0xc5, 0x49, 0x5e, 0x50, 0x50, 0x00,
- 0xac, 0x83, 0xa4, 0x51, 0x55, 0x5f, 0xff, 0xfc, 0x46, 0x62, 0xc5, 0x51, 0x55, 0x7e, 0xb8, 0x28, 0x25, 0x62, 0x63, 0x51, 0xf5, 0xaa, 0xa8, 0xe0, 0x05, 0x6a, 0x84, 0x59, 0x75, 0xeb, 0xaa, 0x2b,
- 0xe5, 0x69, 0x63, 0x59, 0xfa, 0xaf, 0xae, 0x78, 0xc4, 0x61, 0x02, 0x49, 0xc0, 0xea, 0x7e, 0xaf, 0xa4, 0x61, 0x82, 0x30, 0x2f, 0x7f, 0xb5, 0x2e, 0xe4, 0x69, 0xc2, 0x38, 0xaa, 0xb5, 0x0a, 0x00,
- 0xe3, 0x69, 0x22, 0x51, 0x5b, 0x0a, 0x2a, 0xa8, 0x24, 0x72, 0x63, 0x61, 0xfd, 0x82, 0xfc, 0xfe, 0x05, 0x6a, 0x63, 0x61, 0xb7, 0x7f, 0xbb, 0x2a, 0x83, 0x61, 0x05, 0x5a, 0xa2, 0xe8, 0xdb, 0xad,
- 0x47, 0x62, 0xa4, 0x51, 0xfd, 0xa7, 0xbf, 0x3a, 0x88, 0x6a, 0xa4, 0x51, 0xff, 0x7f, 0xd6, 0xfc, 0x26, 0x5a, 0x84, 0x51, 0x82, 0xf7, 0x2b, 0xaa, 0x06, 0x62, 0x84, 0x49, 0xde, 0xba, 0xfc, 0xfe,
- 0xe5, 0x59, 0x24, 0x41, 0xae, 0x2c, 0xb6, 0xba, 0x05, 0x5a, 0x64, 0x49, 0xbf, 0x8a, 0xf5, 0xa8, 0xe5, 0x59, 0x44, 0x51, 0x20, 0xaa, 0xd7, 0xaa, 0xc5, 0x51, 0x44, 0x49, 0x88, 0xc2, 0x5e, 0xae,
- 0x06, 0x5a, 0x65, 0x49, 0x2d, 0xbf, 0xf5, 0xf3, 0x47, 0x62, 0x84, 0x51, 0x0a, 0xab, 0xfd, 0x75, 0x46, 0x62, 0x83, 0x49, 0x88, 0xbe, 0x6e, 0xff, 0xa8, 0x72, 0xa5, 0x51, 0xca, 0xeb, 0xd5, 0xab,
- 0x09, 0x7b, 0xa5, 0x49, 0x3f, 0x3f, 0x37, 0xb5, 0x69, 0x83, 0xa4, 0x51, 0x54, 0x56, 0xfe, 0xaa, 0x29, 0x7b, 0x84, 0x51, 0x55, 0xdf, 0x8a, 0xf8, 0xe8, 0x72, 0x43, 0x49, 0x57, 0x7f, 0x28, 0xbf,
- 0x0c, 0x9c, 0x63, 0x49, 0xfd, 0xab, 0xd8, 0xd7, 0x8b, 0x93, 0xe2, 0x38, 0xfc, 0x5e, 0x5e, 0xf8, 0xe4, 0x61, 0xa2, 0x30, 0xf7, 0x2d, 0x82, 0x08, 0xc7, 0x7a, 0x02, 0x49, 0xf5, 0xff, 0x2f, 0x3f,
- 0xcb, 0x9b, 0x43, 0x51, 0xf5, 0xf5, 0x2a, 0x38, 0xec, 0xa3, 0x63, 0x51, 0xd6, 0xfa, 0xbe, 0x58, 0x6d, 0xb4, 0x23, 0x49, 0xa2, 0xaf, 0xfe, 0x2d, 0x4c, 0xac, 0x25, 0x6a, 0x2d, 0xaa, 0xed, 0xfe,
- 0xdb, 0xd6, 0x87, 0x72, 0x35, 0x2d, 0x3d, 0x2d, 0x9a, 0xd6, 0xbb, 0xce, 0xf5, 0xde, 0xff, 0xf7, 0xdb, 0xd6, 0xba, 0xce, 0xbe, 0x7f, 0x7b, 0xf7, 0xbb, 0xd6, 0xba, 0xce, 0xba, 0x0a, 0xaa, 0xaa,
- 0xbb, 0xd6, 0xda, 0xce, 0x0a, 0xaa, 0xa3, 0xab, 0xdb, 0xd6, 0xba, 0xce, 0xbf, 0xbe, 0xdf, 0xef, 0xdb, 0xd6, 0x9a, 0xce, 0xba, 0xaa, 0xbe, 0xfa, 0xdb, 0xd6, 0x9a, 0xce, 0xaa, 0xfa, 0xaa, 0xea,
- 0xdb, 0xd6, 0xba, 0xce, 0xff, 0xef, 0x7f, 0xf7, 0xbb, 0xd6, 0xba, 0xce, 0xaa, 0xba, 0xa2, 0xb8, 0xdb, 0xd6, 0x9a, 0xce, 0xaa, 0xaa, 0xfa, 0xba, 0xdb, 0xd6, 0xba, 0xce, 0xbf, 0xfd, 0x7f, 0xfd,
- 0xbb, 0xd6, 0xba, 0xce, 0x8b, 0xe2, 0xea, 0xb7, 0xbb, 0xd6, 0xda, 0xce, 0x20, 0xcb, 0xaf, 0xba, 0x9a, 0xd6, 0xdb, 0xce, 0xff, 0xbf, 0xab, 0xbe, 0xdb, 0xd6, 0x9a, 0xce, 0xea, 0xaa, 0xbb, 0xaf,
- 0xdb, 0xd6, 0x9a, 0xce, 0xaa, 0xea, 0xeb, 0xae, 0xbb, 0xd6, 0xda, 0xce, 0x80, 0x2e, 0xa8, 0xea, 0xdb, 0xd6, 0xba, 0xce, 0xff, 0xbf, 0xe7, 0xfd, 0xdb, 0xd6, 0xba, 0xce, 0x76, 0xbf, 0xbe, 0x7f,
- 0xbb, 0xd6, 0xba, 0xce, 0x22, 0xae, 0xee, 0xea, 0xbb, 0xd6, 0xba, 0xce, 0xa0, 0xaa, 0xaa, 0xff, 0xda, 0xd6, 0xbb, 0xce, 0xfb, 0xff, 0xf5, 0xfb, 0xbb, 0xd6, 0xba, 0xce, 0xa0, 0x2f, 0x2a, 0x8a,
- 0xdb, 0xd6, 0xba, 0xd6, 0xd5, 0xfe, 0x5f, 0x25, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xba, 0xea, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xab, 0xaa, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xaa, 0xaa, 0xa8,
- 0xdb, 0xde, 0xba, 0xce, 0xff, 0xff, 0xff, 0xaf, 0xdb, 0xd6, 0xba, 0xd6, 0x6b, 0xf6, 0xe6, 0x02, 0xdb, 0xd6, 0xba, 0xd6, 0xca, 0xe0, 0x7f, 0xa0, 0xdb, 0xd6, 0xba, 0xce, 0x8a, 0xaa, 0x0a, 0x02,
- 0xdb, 0xd6, 0xba, 0xd6, 0x0b, 0xc3, 0xbc, 0xaa, 0xdb, 0xd6, 0xba, 0xd6, 0xba, 0x02, 0x00, 0x80, 0xda, 0xd6, 0xbb, 0xd6, 0xaa, 0x02, 0xea, 0x00, 0xdb, 0xde, 0xba, 0xce, 0xfb, 0xfe, 0xae, 0xaa,
- 0xdb, 0xde, 0xba, 0xce, 0xab, 0xef, 0xea, 0xaa, 0xdb, 0xd6, 0xba, 0xd6, 0x2f, 0xbc, 0x20, 0x08, 0xfb, 0xd6, 0xba, 0xd6, 0xaa, 0xbf, 0xbe, 0xaf, 0xdb, 0xde, 0xba, 0xd6, 0xbf, 0xfe, 0xff, 0xef,
- 0xdb, 0xd6, 0xba, 0xd6, 0xc0, 0xc0, 0x02, 0x02, 0xfb, 0xde, 0xba, 0xd6, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xde, 0xba, 0xd6, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xde, 0xda, 0xd6, 0x77, 0x55, 0xd5, 0x55,
- 0xfb, 0xd6, 0xba, 0xd6, 0xff, 0xeb, 0xfa, 0xfe, 0xfb, 0xd6, 0xda, 0xd6, 0x55, 0x57, 0x59, 0x55, 0xdb, 0xde, 0xba, 0xce, 0x2a, 0xaa, 0xae, 0xaa, 0xfb, 0xde, 0xba, 0xce, 0xfa, 0xfb, 0xaf, 0xfe,
- 0xdb, 0xd6, 0xba, 0xd6, 0x00, 0xa3, 0x8a, 0x08, 0xfb, 0xde, 0xda, 0xd6, 0x55, 0x5d, 0x55, 0x57, 0xfb, 0xde, 0xba, 0xd6, 0xbf, 0xaf, 0xff, 0xff, 0xdb, 0xde, 0xba, 0xce, 0xea, 0xaa, 0xaa, 0xaf,
- 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xfa, 0xff, 0xea, 0x9a, 0xd6, 0xbb, 0xce, 0x7d, 0xf7, 0xff, 0xfa, 0x9a, 0xd6, 0xbb, 0xce, 0x5b, 0x7f, 0xff, 0xdf, 0xdb, 0xd6, 0x9a, 0xce, 0xff, 0xfa, 0xab, 0xbf,
- 0xba, 0xd6, 0xdb, 0xce, 0xa2, 0xaf, 0xaa, 0x0a, 0xba, 0xd6, 0xdb, 0xce, 0x80, 0xaa, 0x2a, 0xae, 0xba, 0xd6, 0xdb, 0xce, 0x82, 0xab, 0x82, 0xaa, 0xba, 0xd6, 0xdb, 0xce, 0xaa, 0xaa, 0xa8, 0xae,
- 0xba, 0xd6, 0xdb, 0xce, 0xa2, 0x00, 0xbc, 0xaa, 0x9a, 0xd6, 0xdb, 0xce, 0xef, 0xfa, 0xfe, 0xee, 0x9a, 0xd6, 0xdb, 0xce, 0xaf, 0xea, 0xeb, 0xab, 0x9a, 0xd6, 0xdb, 0xce, 0xfb, 0xfb, 0xab, 0xfa,
- 0x9b, 0xd6, 0xba, 0xce, 0xfd, 0xfd, 0xff, 0xeb, 0x9a, 0xd6, 0xdb, 0xce, 0xff, 0xef, 0xbb, 0xea, 0xba, 0xd6, 0xdb, 0xce, 0xc2, 0xa2, 0xba, 0xaa, 0x9b, 0xd6, 0xda, 0xce, 0xaa, 0xbb, 0xee, 0xaa,
- 0xdb, 0xd6, 0x9a, 0xce, 0xfb, 0xfe, 0xee, 0xbf, 0x9a, 0xd6, 0xdb, 0xce, 0xbb, 0xfe, 0xbe, 0xbe, 0xdb, 0xd6, 0x9a, 0xce, 0xfa, 0xff, 0xff, 0xff, 0xba, 0xd6, 0x9b, 0xce, 0xaa, 0xaa, 0xaf, 0xbb,
- 0xdb, 0xd6, 0x9a, 0xce, 0xea, 0xea, 0xff, 0xfe, 0xbb, 0xd6, 0x9a, 0xce, 0x80, 0xaa, 0xaa, 0xbf, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xa8, 0xaa, 0xef, 0x9a, 0xd6, 0xbb, 0xce, 0xfe, 0xd7, 0x6f, 0xff,
- 0x9b, 0xd6, 0xda, 0xce, 0xba, 0xaf, 0xab, 0xaa, 0xbb, 0xd6, 0x9a, 0xce, 0xba, 0xbf, 0xaa, 0xe8, 0xdb, 0xd6, 0x9a, 0xce, 0xef, 0xbe, 0xff, 0xbf, 0x9a, 0xd6, 0xdb, 0xce, 0xaa, 0xab, 0xfa, 0xfb,
- 0xdb, 0xd6, 0x9a, 0xce, 0xff, 0xeb, 0xff, 0xff, 0xbb, 0xd6, 0xba, 0xce, 0xaa, 0xad, 0x5f, 0xef, 0xdb, 0xd6, 0xba, 0xce, 0xef, 0x5e, 0x55, 0x75, 0xdb, 0xd6, 0xba, 0xce, 0xdb, 0x55, 0xe5, 0x5f,
- 0x9b, 0xd6, 0xba, 0xce, 0xbf, 0xfd, 0x55, 0xd5, 0xbb, 0xd6, 0x9a, 0xce, 0xe2, 0x8a, 0x2a, 0xeb, 0xdb, 0xd6, 0x9a, 0xce, 0xbf, 0xff, 0xfe, 0xfa, 0xdb, 0xd6, 0x9a, 0xce, 0xea, 0xea, 0xeb, 0xbf,
- 0x9a, 0xd6, 0xdb, 0xce, 0xaa, 0xfb, 0xff, 0xfb, 0xbb, 0xd6, 0xba, 0xce, 0x0a, 0xdf, 0xa2, 0xe0, 0xbb, 0xd6, 0xba, 0xce, 0x62, 0xaf, 0xfe, 0xff, 0xdb, 0xd6, 0x9a, 0xce, 0xea, 0xee, 0xef, 0xeb,
- 0x1b, 0xdf, 0xe5, 0x49, 0x58, 0x70, 0x40, 0xc0, 0x67, 0x6a, 0x06, 0x52, 0xff, 0xfd, 0x55, 0x78, 0x26, 0x5a, 0x84, 0x51, 0xa0, 0x7a, 0xfe, 0x82, 0xc4, 0x61, 0x63, 0x51, 0xa2, 0xbf, 0xd5, 0x6a,
- 0xa4, 0x59, 0x23, 0x49, 0xb0, 0x80, 0x8a, 0x57, 0xe5, 0x69, 0x23, 0x49, 0x6a, 0x7f, 0xbf, 0x02, 0x05, 0x6a, 0xa2, 0x38, 0xad, 0x8a, 0x00, 0x00, 0x24, 0x6a, 0x83, 0x59, 0xaf, 0x7e, 0xef, 0xa3,
- 0x24, 0x6a, 0x63, 0x59, 0xff, 0xfd, 0xea, 0xa0, 0xe5, 0x69, 0x83, 0x51, 0xae, 0xf5, 0xfc, 0x5f, 0x05, 0x62, 0x84, 0x51, 0xa2, 0xff, 0xfe, 0xad, 0x25, 0x62, 0x64, 0x41, 0x7e, 0x0b, 0xaa, 0x82,
- 0x46, 0x62, 0xe3, 0x40, 0xaa, 0xe8, 0xaa, 0x78, 0x0a, 0x7b, 0xe2, 0x40, 0xf8, 0xff, 0xff, 0xfd, 0xe5, 0x59, 0xa4, 0x51, 0xc8, 0xbe, 0xd8, 0x16, 0x26, 0x62, 0xc5, 0x59, 0x5d, 0x5f, 0xdd, 0x50,
- 0x05, 0x62, 0x64, 0x49, 0x6f, 0xbe, 0x2a, 0x2f, 0x05, 0x62, 0x84, 0x51, 0xfd, 0xfc, 0xfa, 0x5f, 0xc6, 0x59, 0x83, 0x49, 0x20, 0x88, 0xb8, 0x6f, 0x46, 0x62, 0x23, 0x41, 0xbe, 0xfe, 0xaa, 0x3d,
- 0xec, 0x8b, 0x43, 0x41, 0x57, 0xd5, 0xf5, 0xe0, 0x68, 0x62, 0xa5, 0x51, 0xfd, 0xff, 0xad, 0x2b, 0x87, 0x6a, 0x43, 0x41, 0xa3, 0xaf, 0xfe, 0xd8, 0x47, 0x62, 0x43, 0x41, 0x88, 0xaa, 0xbf, 0xb6,
- 0x67, 0x62, 0x64, 0x49, 0x03, 0xaa, 0xaa, 0xd6, 0x47, 0x6a, 0x64, 0x51, 0x88, 0x8a, 0x5f, 0xfd, 0x06, 0x62, 0x64, 0x51, 0x78, 0xd5, 0xb7, 0xb5, 0x49, 0x8b, 0x23, 0x39, 0x35, 0x2f, 0x8b, 0x2f,
- 0x87, 0x72, 0x43, 0x41, 0xdc, 0xd4, 0xf7, 0xbe, 0x26, 0x6a, 0xa4, 0x51, 0xa2, 0xee, 0xbe, 0xde, 0x66, 0x72, 0x03, 0x49, 0xaa, 0x0a, 0x8a, 0x7e, 0x49, 0x8b, 0x02, 0x41, 0xab, 0x00, 0xfb, 0xb9,
- 0x4d, 0xac, 0xe4, 0x61, 0xc2, 0x7d, 0xc3, 0xe2, 0x4e, 0xac, 0x22, 0x49, 0xb6, 0xfc, 0xfe, 0xb7, 0xeb, 0xa3, 0xe5, 0x61, 0xe8, 0xfa, 0xbd, 0x22, 0x8d, 0xb4, 0xe5, 0x61, 0xaf, 0xbe, 0x0b, 0x78,
- 0xfb, 0xde, 0xc8, 0x82, 0x27, 0x0f, 0x0f, 0x09, 0xdb, 0xd6, 0x9a, 0xce, 0xfa, 0xbe, 0xeb, 0xbf, 0x9a, 0xd6, 0xdb, 0xce, 0xaa, 0xea, 0xbf, 0xef, 0xdb, 0xd6, 0xba, 0xce, 0xae, 0xf7, 0xff, 0xfe,
- 0xbb, 0xd6, 0x9a, 0xce, 0x2c, 0xaa, 0x28, 0x08, 0xdb, 0xd6, 0xba, 0xce, 0xef, 0xfe, 0xbf, 0xeb, 0xdb, 0xd6, 0xba, 0xce, 0x7e, 0xfd, 0x6f, 0xfa, 0x9a, 0xd6, 0xdb, 0xce, 0xff, 0xfe, 0xbf, 0xfb,
- 0xba, 0xd6, 0xdb, 0xce, 0xa2, 0x8a, 0xb8, 0x8b, 0xdb, 0xd6, 0x9a, 0xce, 0xab, 0xaf, 0xee, 0xfa, 0x9a, 0xd6, 0xdb, 0xce, 0xff, 0xee, 0xbf, 0xab, 0xdb, 0xd6, 0x9a, 0xce, 0xfb, 0xfe, 0xae, 0xba,
- 0xdb, 0xd6, 0x9a, 0xce, 0xfb, 0xab, 0xaa, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0xdf, 0xff, 0xdf, 0xfe, 0xba, 0xd6, 0xdb, 0xce, 0xb2, 0xa0, 0x02, 0x8a, 0xdb, 0xd6, 0x9a, 0xce, 0xee, 0xab, 0xaf, 0xab,
- 0xdb, 0xd6, 0xba, 0xce, 0xae, 0x7a, 0xff, 0xae, 0xbb, 0xd6, 0x9a, 0xce, 0x32, 0x0a, 0x02, 0x00, 0xda, 0xd6, 0xbb, 0xce, 0x9e, 0xeb, 0xea, 0xba, 0xba, 0xd6, 0xdb, 0xce, 0x78, 0xaa, 0x0a, 0xe2,
- 0xdb, 0xd6, 0xba, 0xce, 0xbe, 0xaa, 0xaa, 0xaa, 0xdb, 0xde, 0xba, 0xce, 0xff, 0xff, 0xbf, 0xab, 0xdb, 0xd6, 0xba, 0xd6, 0x7f, 0xb2, 0xa5, 0xee, 0xda, 0xd6, 0xbb, 0xd6, 0x67, 0x2f, 0x0e, 0x21,
- 0xdb, 0xde, 0xba, 0xce, 0xff, 0xbf, 0xfb, 0xaf, 0xdb, 0xd6, 0xba, 0xd6, 0x04, 0xab, 0xf2, 0x00, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0x02, 0x0a, 0x02, 0xfb, 0xd6, 0xba, 0xd6, 0xee, 0xfe, 0xfa, 0xba,
- 0xfb, 0xde, 0xda, 0xd6, 0x75, 0x55, 0x75, 0x75, 0xfb, 0xd6, 0xda, 0xd6, 0x9d, 0x55, 0xd5, 0x5f, 0xfb, 0xde, 0xba, 0xd6, 0xfe, 0xff, 0xff, 0xbb, 0xfb, 0xd6, 0xda, 0xd6, 0x57, 0x55, 0x65, 0xad,
- 0xfb, 0xd6, 0xda, 0xd6, 0xd5, 0x57, 0x55, 0xb7, 0xfb, 0xde, 0xda, 0xd6, 0x55, 0x55, 0xf5, 0xd7, 0xfb, 0xde, 0xda, 0xd6, 0xd5, 0x5f, 0x75, 0x7d, 0xfb, 0xde, 0xda, 0xd6, 0x5d, 0x5d, 0x77, 0xff,
- 0xfb, 0xde, 0xda, 0xd6, 0x55, 0x7e, 0x7d, 0x75, 0xfb, 0xde, 0xba, 0xd6, 0xbf, 0xee, 0xea, 0xeb, 0xfb, 0xde, 0xba, 0xd6, 0xbb, 0xfe, 0xff, 0xef, 0xfb, 0xd6, 0xba, 0xd6, 0xff, 0xae, 0xaa, 0xba,
- 0xfb, 0xde, 0xba, 0xd6, 0xbb, 0xff, 0xff, 0xff, 0xfb, 0xd6, 0xba, 0xd6, 0xab, 0xbe, 0xfb, 0xff, 0xfb, 0xd6, 0xba, 0xd6, 0xff, 0xff, 0xff, 0xef, 0xfb, 0xde, 0xba, 0xce, 0xea, 0xfe, 0xff, 0xff,
- 0xdb, 0xd6, 0xba, 0xd6, 0x02, 0x82, 0xc0, 0xb2, 0xdb, 0xde, 0xba, 0xce, 0xab, 0xaa, 0xaf, 0xab, 0xdb, 0xd6, 0xba, 0xd6, 0xa8, 0xc2, 0xac, 0x08, 0xdb, 0xd6, 0xba, 0xd6, 0xab, 0x0b, 0x2b, 0xec,
- 0xdb, 0xde, 0xba, 0xce, 0xea, 0xab, 0xaa, 0xbe, 0xfb, 0xde, 0xba, 0xce, 0xfa, 0xff, 0xee, 0xff, 0xbb, 0xde, 0xda, 0xce, 0xaa, 0xff, 0xff, 0xfe, 0xdb, 0xd6, 0xba, 0xd6, 0xc0, 0xeb, 0x8f, 0xfd,
- 0xbb, 0xd6, 0x9a, 0xce, 0xfa, 0xef, 0xff, 0xfd, 0xbb, 0xd6, 0x9a, 0xce, 0xaf, 0xfb, 0xab, 0xb7, 0xbb, 0xd6, 0x9a, 0xce, 0xae, 0x7b, 0xaf, 0xfe, 0xbb, 0xd6, 0x9a, 0xce, 0x2a, 0xef, 0xeb, 0xbf,
- 0xdb, 0xd6, 0x9a, 0xce, 0xab, 0xef, 0xff, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xaa, 0xea, 0xbb, 0xdb, 0xd6, 0x9a, 0xce, 0xeb, 0xfe, 0xff, 0xbb, 0xdb, 0xd6, 0x9a, 0xce, 0xff, 0xef, 0xbf, 0xff,
- 0xdb, 0xd6, 0x9a, 0xce, 0xff, 0xff, 0xff, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xba, 0xbf, 0xaa, 0x9b, 0xd6, 0xda, 0xce, 0xea, 0xba, 0xea, 0xaa, 0x9b, 0xd6, 0xba, 0xce, 0xf5, 0xd5, 0xd5, 0xae,
- 0x9b, 0xd6, 0xba, 0xce, 0xfb, 0xde, 0xf5, 0xff, 0x9a, 0xd6, 0xdb, 0xce, 0xea, 0xef, 0xba, 0xff, 0xbb, 0xd6, 0xba, 0xce, 0xea, 0xef, 0x6e, 0x5f, 0xbb, 0xd6, 0xba, 0xce, 0xfb, 0xab, 0x6a, 0x77,
- 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0x0e, 0xbb, 0xfa, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xae, 0xe7, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xea, 0xef, 0xff, 0xfa, 0xbb, 0xd6, 0x9a, 0xce, 0xeb, 0xfa, 0xff, 0xff,
- 0xbb, 0xd6, 0x9a, 0xce, 0xbf, 0xfa, 0xfb, 0xfa, 0x9b, 0xd6, 0xba, 0xce, 0xf7, 0xba, 0xed, 0xdd, 0xbb, 0xd6, 0x9a, 0xc6, 0xaa, 0xba, 0xaa, 0xaa, 0x9a, 0xd6, 0xbb, 0xce, 0xad, 0xff, 0xd5, 0xb7,
- 0xba, 0xd6, 0x9b, 0xce, 0xea, 0xea, 0xae, 0xe7, 0x9a, 0xd6, 0xbb, 0xce, 0x7b, 0x7d, 0x7f, 0x57, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xbb, 0xaf, 0xba, 0xdb, 0xd6, 0xba, 0xce, 0x57, 0x77, 0xff, 0x55,
- 0x9a, 0xd6, 0xdb, 0xce, 0xbf, 0xab, 0xfe, 0xbe, 0x9a, 0xd6, 0xbb, 0xce, 0xff, 0xbf, 0xff, 0x7b, 0x9a, 0xd6, 0xdb, 0xce, 0xae, 0xaa, 0xaf, 0xfb, 0xdb, 0xd6, 0x9a, 0xce, 0xff, 0xff, 0xef, 0xfe,
- 0x9a, 0xd6, 0xdb, 0xce, 0xee, 0xfb, 0xab, 0xaa, 0x9b, 0xd6, 0xda, 0xce, 0xeb, 0xeb, 0xea, 0xfe, 0xbb, 0xd6, 0x9a, 0xce, 0x22, 0xaa, 0xaa, 0x3a, 0xbb, 0xd6, 0xba, 0xce, 0x88, 0xef, 0xdd, 0xbe,
- 0xdb, 0xd6, 0x9a, 0xce, 0xff, 0xef, 0xbf, 0xee, 0x9a, 0xd6, 0xdb, 0xce, 0xfe, 0xbf, 0xaa, 0xba, 0xdb, 0xd6, 0x9a, 0xce, 0xeb, 0xff, 0xff, 0xea, 0xdb, 0xd6, 0x9a, 0xce, 0xef, 0xff, 0xab, 0xfb,
- 0x3c, 0xdf, 0xf7, 0xbd, 0x6a, 0x2a, 0xaa, 0xaa, 0xf9, 0xde, 0xc5, 0x51, 0x55, 0x57, 0x54, 0x58, 0x26, 0x62, 0x64, 0x49, 0x7f, 0x82, 0xea, 0xf6, 0xe5, 0x59, 0x43, 0x49, 0xa7, 0xfa, 0xaa, 0x00,
- 0xc5, 0x59, 0x84, 0x51, 0x85, 0xab, 0x0f, 0x08, 0x06, 0x62, 0xa4, 0x59, 0xae, 0x03, 0xae, 0xa6, 0x26, 0x6a, 0xc4, 0x61, 0xfa, 0xc2, 0xff, 0x89, 0x06, 0x6a, 0xc4, 0x61, 0x2b, 0xea, 0xcb, 0x42,
- 0x05, 0x6a, 0x43, 0x51, 0xa0, 0xaa, 0xaa, 0xc1, 0x05, 0x62, 0x43, 0x49, 0xea, 0xa2, 0xaa, 0x2d, 0x47, 0x62, 0x84, 0x51, 0xf5, 0xdf, 0xab, 0x2e, 0x47, 0x62, 0x84, 0x51, 0xfb, 0x5a, 0xb7, 0x80,
- 0xa8, 0x6a, 0x02, 0x41, 0x7f, 0xaf, 0xaa, 0x2a, 0x87, 0x6a, 0x23, 0x51, 0xad, 0xea, 0xaa, 0xf8, 0x05, 0x62, 0xa4, 0x59, 0xbe, 0x1f, 0xbc, 0x17, 0x05, 0x62, 0x64, 0x41, 0xf8, 0xf8, 0x7e, 0xf7,
- 0x26, 0x5a, 0x23, 0x49, 0xae, 0xef, 0xf7, 0xe2, 0x47, 0x62, 0x44, 0x41, 0xff, 0xff, 0x0b, 0x7f, 0x88, 0x62, 0x64, 0x41, 0xef, 0xbf, 0x82, 0xf5, 0xa8, 0x62, 0x64, 0x49, 0xfd, 0x02, 0x7e, 0x7f,
- 0xea, 0x72, 0x43, 0x41, 0x2f, 0xfa, 0x57, 0xfd, 0x68, 0x6a, 0x23, 0x39, 0x78, 0x57, 0xff, 0x7f, 0xc5, 0x51, 0x03, 0x39, 0x71, 0x02, 0x02, 0xdf, 0x06, 0x5a, 0x23, 0x41, 0xd7, 0xbf, 0xa8, 0x0f,
- 0x27, 0x5a, 0x83, 0x51, 0xfd, 0xfa, 0xd7, 0xe0, 0x26, 0x62, 0x23, 0x41, 0xaa, 0xba, 0x22, 0x7f, 0x06, 0x62, 0x24, 0x41, 0xaa, 0x80, 0x7a, 0xd7, 0x09, 0x83, 0x23, 0x41, 0xbf, 0x6f, 0x0d, 0xff,
- 0xe6, 0x61, 0x43, 0x41, 0x2c, 0x2d, 0xab, 0xa2, 0xe6, 0x59, 0x64, 0x51, 0x97, 0x80, 0xab, 0x0a, 0xa7, 0x72, 0x64, 0x49, 0x2a, 0x57, 0xfd, 0xff, 0x6b, 0x93, 0xa4, 0x59, 0x37, 0x35, 0x35, 0x02,
- 0xad, 0xbc, 0x63, 0x59, 0xaa, 0x02, 0x58, 0x57, 0xcb, 0xa3, 0x23, 0x49, 0x28, 0x7a, 0xf5, 0xd5, 0xec, 0xab, 0x23, 0x51, 0x7c, 0x95, 0xea, 0xe3, 0xb0, 0xbc, 0xc4, 0x61, 0xed, 0xda, 0x35, 0xff,
- 0x1c, 0xdf, 0x89, 0x6a, 0x0d, 0x01, 0x01, 0x03, 0xbb, 0xd6, 0xba, 0xce, 0xba, 0xe8, 0x0a, 0x20, 0xdb, 0xd6, 0x9a, 0xce, 0xff, 0xaa, 0xaa, 0xaa, 0xdb, 0xde, 0x9a, 0xce, 0xef, 0xbf, 0xaf, 0xeb,
- 0xdb, 0xd6, 0xba, 0xce, 0xfe, 0xfe, 0xaa, 0xeb, 0xdb, 0xd6, 0xba, 0xce, 0xeb, 0xba, 0xba, 0xaa, 0xdb, 0xd6, 0x9a, 0xce, 0xee, 0xaa, 0xaa, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0xbf, 0xba, 0xbe, 0x2a,
- 0xdb, 0xd6, 0xba, 0xce, 0xab, 0xfe, 0xae, 0xaa, 0xdb, 0xd6, 0x9a, 0xce, 0xbf, 0xbf, 0xaa, 0xaa, 0xbb, 0xd6, 0xda, 0xce, 0xa2, 0xab, 0xea, 0xea, 0xdb, 0xd6, 0xba, 0xce, 0xfb, 0xb5, 0x66, 0xfe,
- 0xdb, 0xd6, 0x9a, 0xce, 0xaf, 0xfe, 0xba, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0xf9, 0xea, 0xba, 0xba, 0xdb, 0xd6, 0xba, 0xce, 0xed, 0xae, 0xba, 0xaa, 0xdb, 0xd6, 0xba, 0xd6, 0x5d, 0x5f, 0x6f, 0x57,
- 0xdb, 0xd6, 0xba, 0xce, 0xfe, 0xaa, 0xaa, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xea, 0xaa, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xaa, 0xaa, 0xaa, 0xdb, 0xd6, 0xba, 0xd6, 0xb7, 0xf0, 0xbe, 0x3a,
- 0xdb, 0xd6, 0xba, 0xd6, 0xbe, 0xe0, 0x22, 0x70, 0xdb, 0xd6, 0xba, 0xd6, 0xa2, 0x2a, 0x3e, 0x03, 0xdb, 0xde, 0xba, 0xce, 0xff, 0xae, 0xae, 0xaa, 0xdb, 0xde, 0xba, 0xce, 0xff, 0xea, 0xaa, 0xaa,
- 0xdb, 0xde, 0xba, 0xd6, 0xff, 0xff, 0xaf, 0xee, 0xfb, 0xde, 0xba, 0xd6, 0xff, 0xff, 0xff, 0xef, 0xdb, 0xde, 0xba, 0xd6, 0xef, 0xfa, 0xaa, 0xaa, 0xfb, 0xd6, 0xba, 0xd6, 0xab, 0xaa, 0xba, 0xea,
- 0xfb, 0xde, 0xda, 0xd6, 0x57, 0xdd, 0xfd, 0xfd, 0xfb, 0xde, 0xba, 0xd6, 0xea, 0xae, 0xaf, 0xfe, 0xdb, 0xde, 0xda, 0xce, 0xaa, 0xaa, 0xba, 0xaa, 0xfb, 0xd6, 0xda, 0xd6, 0x75, 0x75, 0x76, 0x55,
- 0xfb, 0xde, 0xda, 0xd6, 0x7f, 0xf5, 0x75, 0xf7, 0xfb, 0xde, 0xda, 0xd6, 0xb5, 0xd5, 0x55, 0x7d, 0xfb, 0xde, 0xda, 0xd6, 0x7d, 0x7f, 0x55, 0xb5, 0xfb, 0xde, 0xda, 0xd6, 0x7d, 0x75, 0xd5, 0x77,
- 0xfb, 0xde, 0xda, 0xd6, 0x75, 0xd5, 0x5f, 0x5d, 0xdb, 0xde, 0xba, 0xd6, 0xaa, 0xfa, 0xba, 0xaa, 0xfb, 0xde, 0xba, 0xd6, 0xbe, 0xff, 0xff, 0xff, 0xdb, 0xde, 0xba, 0xd6, 0xab, 0xae, 0xab, 0xaf,
- 0xfb, 0xd6, 0xba, 0xd6, 0xfb, 0xfb, 0xbf, 0xff, 0xdb, 0xde, 0xba, 0xce, 0xaa, 0xaa, 0xaa, 0xaa, 0xdb, 0xde, 0xba, 0xce, 0xaa, 0xaf, 0xba, 0xff, 0xdb, 0xd6, 0xba, 0xd6, 0x02, 0x80, 0x00, 0xfa,
- 0xdb, 0xd6, 0xba, 0xd6, 0xaa, 0x02, 0x3a, 0xe0, 0xdb, 0xd6, 0xba, 0xd6, 0xe8, 0x2a, 0xaa, 0xde, 0xdb, 0xd6, 0xba, 0xd6, 0x3b, 0x82, 0x92, 0xff, 0xdb, 0xd6, 0xba, 0xd6, 0x88, 0xea, 0x2e, 0x76,
- 0xdb, 0xd6, 0xba, 0xd6, 0xef, 0x80, 0xc2, 0x2e, 0xdb, 0xd6, 0xba, 0xd6, 0xe0, 0xa0, 0x08, 0xa2, 0xdb, 0xd6, 0xba, 0xd6, 0xfd, 0x8f, 0x23, 0x88, 0xda, 0xd6, 0xbb, 0xce, 0xa2, 0xaa, 0x0a, 0xaa,
- 0xbb, 0xd6, 0x9a, 0xce, 0x7f, 0xff, 0x7f, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0x7f, 0xb7, 0xf7, 0xfd, 0xbb, 0xce, 0x9a, 0xce, 0x5a, 0xaa, 0x7d, 0xdf, 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xff, 0x75, 0xfe,
- 0xbb, 0xce, 0x9a, 0xce, 0xed, 0xfa, 0x7e, 0xa9, 0xbb, 0xd6, 0x9a, 0xce, 0xaf, 0xff, 0xfb, 0xed, 0x9a, 0xd6, 0xbb, 0xce, 0xff, 0xaa, 0x57, 0xad, 0xbb, 0xd6, 0x9a, 0xce, 0xaf, 0xab, 0xfe, 0xab,
- 0xba, 0xd6, 0x9b, 0xce, 0xb8, 0xfa, 0xfa, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xab, 0xff, 0xaf, 0xbb, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xbe, 0xff, 0x7f, 0xbb, 0xd6, 0x9a, 0xce, 0xef, 0xff, 0xef, 0xfe,
- 0xbb, 0xd6, 0x9a, 0xce, 0xee, 0xfb, 0xff, 0xfb, 0xbb, 0xd6, 0x9a, 0xce, 0xab, 0xfe, 0xff, 0xff, 0xdb, 0xce, 0x9a, 0xce, 0xff, 0xff, 0x3f, 0xf7, 0xbb, 0xd6, 0x9a, 0xce, 0xfe, 0xef, 0xab, 0xfa,
- 0xbb, 0xd6, 0x9a, 0xce, 0xbb, 0xfd, 0xff, 0xfe, 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xff, 0xfe, 0x7f, 0xbb, 0xd6, 0x9a, 0xce, 0xfd, 0xff, 0xfd, 0x7d, 0xbb, 0xce, 0x9a, 0xce, 0xec, 0xbd, 0x5f, 0x5a,
- 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xf9, 0xff, 0xf5, 0x9b, 0xd6, 0xba, 0xce, 0x7b, 0x7b, 0x77, 0xaa, 0xbb, 0xd6, 0x9a, 0xce, 0xfa, 0xef, 0xfd, 0xbf, 0x9b, 0xd6, 0xba, 0xce, 0xfe, 0x5e, 0xbd, 0xfe,
- 0xba, 0xd6, 0x9b, 0xce, 0xea, 0xeb, 0xab, 0xba, 0xbb, 0xd6, 0x9a, 0xce, 0xaf, 0xeb, 0xaa, 0xbb, 0xda, 0xd6, 0x9b, 0xce, 0xfe, 0xff, 0xff, 0xf7, 0xbb, 0xd6, 0x9a, 0xce, 0xea, 0xbe, 0xfa, 0xf3,
- 0xbb, 0xd6, 0xda, 0xce, 0x2a, 0xaa, 0xfa, 0xa6, 0x9b, 0xd6, 0xba, 0xce, 0xf7, 0x55, 0xaf, 0x55, 0xba, 0xd6, 0x9b, 0xce, 0xab, 0xaa, 0xaa, 0xaf, 0xbb, 0xd6, 0xba, 0xce, 0xaa, 0xa7, 0xff, 0x7e,
- 0xda, 0xd6, 0xbb, 0xce, 0xd5, 0xf5, 0xfd, 0xf5, 0x9a, 0xd6, 0xbb, 0xce, 0x7f, 0xab, 0xff, 0xfe, 0x9a, 0xd6, 0xbb, 0xce, 0xad, 0xff, 0xff, 0xff, 0xdb, 0xd6, 0xba, 0xce, 0x5b, 0xfd, 0xad, 0xff,
- 0x9b, 0xd6, 0xda, 0xce, 0xbb, 0xfb, 0xfe, 0xfa, 0xbb, 0xd6, 0xda, 0xce, 0xba, 0xb0, 0x2f, 0xab, 0xda, 0xd6, 0xbb, 0xce, 0xfd, 0xef, 0xfb, 0xef, 0xdb, 0xd6, 0x9a, 0xce, 0xfa, 0xbb, 0xaf, 0xfe,
- 0xdb, 0xd6, 0x9a, 0xce, 0xaa, 0xfe, 0xaf, 0xbe, 0x1b, 0xdf, 0x26, 0x5a, 0x50, 0x60, 0x40, 0x00, 0xc9, 0x6a, 0x44, 0x41, 0xae, 0xea, 0xaa, 0x78, 0x47, 0x5a, 0xa5, 0x49, 0x7a, 0xa2, 0xe8, 0xad,
- 0x47, 0x5a, 0x63, 0x49, 0xef, 0xca, 0xad, 0x8a, 0x27, 0x62, 0x43, 0x49, 0x8b, 0x9e, 0xaa, 0x8a, 0x67, 0x62, 0xc4, 0x59, 0x7f, 0x57, 0xd5, 0x71, 0x05, 0x62, 0x84, 0x51, 0xde, 0xfe, 0xb6, 0x2f,
- 0x26, 0x62, 0x84, 0x51, 0xb6, 0xaf, 0x0a, 0xaa, 0x26, 0x62, 0x23, 0x41, 0x82, 0x0a, 0x00, 0x6a, 0x67, 0x62, 0xa5, 0x51, 0x22, 0x8a, 0x6a, 0x7d, 0x67, 0x62, 0x03, 0x41, 0x00, 0xe0, 0xab, 0x5f,
- 0xea, 0x72, 0xe3, 0x38, 0x2a, 0xf5, 0xd7, 0xbf, 0xea, 0x72, 0xc3, 0x30, 0xfe, 0xff, 0xeb, 0x5c, 0xa5, 0x59, 0x82, 0x18, 0xa0, 0xae, 0xaa, 0x55, 0x85, 0x49, 0xa2, 0x18, 0x00, 0x00, 0x0a, 0x55,
- 0xc5, 0x51, 0xe3, 0x38, 0xaa, 0xa2, 0xaa, 0xd5, 0xe5, 0x59, 0x44, 0x49, 0xef, 0xf2, 0x7d, 0x7f, 0xa5, 0x51, 0xc3, 0x28, 0x02, 0x00, 0xea, 0x7a, 0xe6, 0x59, 0xa2, 0x20, 0x82, 0x00, 0x2f, 0xd5,
- 0x06, 0x52, 0x03, 0x41, 0xea, 0x2a, 0xe2, 0x5f, 0xc5, 0x49, 0xa2, 0x28, 0x0b, 0xa8, 0x55, 0xff, 0x06, 0x5a, 0xe3, 0x30, 0x80, 0x82, 0xfd, 0x5f, 0x06, 0x5a, 0xc3, 0x30, 0x00, 0x2a, 0xd5, 0xd5,
- 0x06, 0x5a, 0x03, 0x39, 0x08, 0xfa, 0x57, 0x5d, 0x26, 0x5a, 0xe3, 0x40, 0xa0, 0xf7, 0xd7, 0xf5, 0xa6, 0x59, 0xc2, 0x30, 0x0a, 0xff, 0x5f, 0xbf, 0xa5, 0x61, 0x23, 0x41, 0xab, 0x55, 0xd7, 0x2f,
- 0xa4, 0x61, 0x43, 0x49, 0x3a, 0xad, 0xf5, 0x0a, 0xa4, 0x59, 0x03, 0x39, 0xea, 0xfe, 0x7f, 0x08, 0xe5, 0x69, 0xc3, 0x30, 0xd7, 0xf7, 0xaa, 0x00, 0x05, 0x62, 0x03, 0x41, 0xeb, 0x5f, 0xab, 0x22,
- 0x0d, 0xac, 0xe2, 0x40, 0xfe, 0xbd, 0x0b, 0x72, 0xae, 0xc4, 0x03, 0x49, 0xbf, 0x8b, 0x7e, 0xd5, 0xcf, 0xb4, 0xe2, 0x38, 0x2a, 0x5b, 0xb5, 0x0b, 0xfa, 0xde, 0xa3, 0x59, 0xba, 0x2d, 0x0a, 0x00,
- 0xdb, 0xd6, 0x95, 0xbd, 0x01, 0x00, 0x00, 0x00, 0xdb, 0xde, 0xba, 0xce, 0xff, 0xfe, 0xeb, 0xfe, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xaa, 0xaa, 0x8a, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xaa, 0xae, 0x22,
- 0xdb, 0xd6, 0xba, 0xce, 0xab, 0xaa, 0x8a, 0xaa, 0xdb, 0xd6, 0xba, 0xd6, 0x5d, 0xbf, 0xaa, 0x8a, 0xdb, 0xd6, 0xba, 0xd6, 0x7c, 0x3e, 0xaf, 0x82, 0xdb, 0xd6, 0xba, 0xd6, 0xce, 0xba, 0xa8, 0x2d,
- 0xda, 0xd6, 0xbb, 0xd6, 0x0b, 0xea, 0x26, 0xea, 0xdb, 0xde, 0xba, 0xce, 0xbf, 0xbf, 0xef, 0xba, 0xdb, 0xd6, 0xba, 0xd6, 0x7b, 0x2b, 0xf8, 0x3e, 0xdb, 0xd6, 0xba, 0xce, 0xef, 0xbe, 0xaa, 0xaa,
- 0xdb, 0xde, 0xba, 0xce, 0xff, 0xfb, 0xff, 0xff, 0xdb, 0xd6, 0xba, 0xce, 0xeb, 0xaa, 0xaa, 0xa8, 0xdb, 0xd6, 0xba, 0xd6, 0x77, 0xa2, 0x0e, 0x03, 0xdb, 0xde, 0xba, 0xce, 0xea, 0xff, 0xff, 0xaa,
- 0xdb, 0xd6, 0xba, 0xd6, 0xb2, 0xca, 0xeb, 0x00, 0xdb, 0xd6, 0xba, 0xd6, 0xaa, 0x0f, 0x03, 0x2a, 0xfb, 0xd6, 0xba, 0xce, 0xae, 0xaa, 0xea, 0xaa, 0xdb, 0xde, 0xba, 0xd6, 0xff, 0xff, 0xaa, 0xbe,
- 0xdb, 0xd6, 0xba, 0xd6, 0xab, 0x2e, 0x00, 0xb0, 0xdb, 0xde, 0xba, 0xd6, 0xfe, 0xaf, 0xef, 0xee, 0xdb, 0xde, 0xba, 0xd6, 0xaf, 0xbe, 0xab, 0xff, 0xfb, 0xde, 0xda, 0xd6, 0x57, 0x55, 0x57, 0xdf,
- 0xfb, 0xde, 0xda, 0xd6, 0xed, 0x55, 0x55, 0xd7, 0xfb, 0xde, 0xba, 0xd6, 0xbe, 0xbf, 0xbe, 0xbf, 0xdb, 0xde, 0xda, 0xd6, 0x55, 0xfe, 0xab, 0xfe, 0xfb, 0xde, 0xba, 0xd6, 0xae, 0xff, 0xaa, 0xaa,
- 0xfb, 0xde, 0xba, 0xd6, 0xab, 0xef, 0xff, 0xee, 0xba, 0xde, 0xfb, 0xd6, 0xff, 0xff, 0xaf, 0xbf, 0xfb, 0xde, 0xba, 0xd6, 0xea, 0xff, 0xfb, 0xbf, 0xfb, 0xde, 0xba, 0xd6, 0xee, 0xff, 0xbb, 0xef,
- 0xfb, 0xde, 0xda, 0xd6, 0x5f, 0xf5, 0xdd, 0xe5, 0xfb, 0xde, 0xda, 0xd6, 0xff, 0x55, 0xd5, 0x9d, 0xfb, 0xde, 0xba, 0xd6, 0xbe, 0xff, 0xbf, 0xef, 0xfb, 0xde, 0xba, 0xd6, 0xef, 0xef, 0xbe, 0xfe,
- 0xfb, 0xde, 0xba, 0xd6, 0xbb, 0xff, 0xfa, 0xff, 0xfb, 0xde, 0xba, 0xd6, 0xaf, 0xff, 0xfe, 0xff, 0xdb, 0xd6, 0xba, 0xd6, 0x00, 0x00, 0xc0, 0x80, 0xdb, 0xde, 0xba, 0xd6, 0xfb, 0xbf, 0xf7, 0xff,
- 0xdb, 0xde, 0xba, 0xce, 0xaa, 0xfe, 0xfe, 0xfb, 0xdb, 0xd6, 0xba, 0xce, 0x08, 0xaa, 0xaa, 0xaa, 0xdb, 0xd6, 0xba, 0xd6, 0x08, 0xee, 0x89, 0xfa, 0xdb, 0xd6, 0xba, 0xce, 0x88, 0x22, 0xae, 0x8a,
- 0xdc, 0xde, 0xba, 0xce, 0xfa, 0xff, 0xbf, 0xff, 0xdb, 0xd6, 0xba, 0xd6, 0xff, 0x2a, 0x3a, 0x9c, 0xdb, 0xd6, 0xba, 0xce, 0x22, 0xaa, 0xa2, 0x88, 0xdb, 0xd6, 0xba, 0xd6, 0x42, 0xbf, 0x3a, 0x77,
- 0xdb, 0xd6, 0xba, 0xd6, 0xbf, 0x3e, 0xac, 0x03, 0xda, 0xd6, 0xbb, 0xd6, 0xae, 0xbe, 0xfa, 0x82, 0xdb, 0xd6, 0xba, 0xd6, 0x0e, 0x2a, 0x0b, 0x2b, 0xdb, 0xde, 0xba, 0xd6, 0xee, 0xff, 0xef, 0xae,
- 0xbb, 0xce, 0x9a, 0xce, 0x67, 0xeb, 0xb7, 0x57, 0xbb, 0xce, 0x9a, 0xce, 0xdd, 0xef, 0x56, 0x55, 0xbb, 0xce, 0x9a, 0xc6, 0xa3, 0xea, 0xc3, 0xbe, 0xbb, 0xd6, 0x9a, 0xce, 0xd5, 0xfd, 0x5f, 0xfd,
- 0xbb, 0xce, 0x9a, 0xce, 0x2b, 0xfd, 0xf5, 0xb5, 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xeb, 0xff, 0x77, 0xbb, 0xd6, 0x9a, 0xce, 0xfe, 0xff, 0xff, 0x7f, 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xff, 0xd7, 0x7f,
- 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0x7b, 0x77, 0xfd, 0xbb, 0xd6, 0x9a, 0xc6, 0xba, 0xfa, 0xef, 0xea, 0xba, 0xd6, 0x9b, 0xce, 0xff, 0xdf, 0xff, 0xfd, 0xba, 0xd6, 0x9b, 0xce, 0xdf, 0x7f, 0xd7, 0xd7,
- 0xba, 0xd6, 0x7b, 0xce, 0xab, 0xae, 0xfb, 0xfa, 0xbb, 0xd6, 0x9a, 0xc6, 0xfa, 0xbe, 0xff, 0xeb, 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xd5, 0x55, 0x55, 0xbb, 0xce, 0x9a, 0xce, 0x7d, 0xf5, 0x75, 0x56,
- 0xbb, 0xce, 0x9a, 0xce, 0x57, 0x55, 0x75, 0x59, 0xba, 0xce, 0x7b, 0xce, 0xea, 0xab, 0xaa, 0xba, 0xba, 0xd6, 0x7b, 0xc6, 0xae, 0xaa, 0xfb, 0xbf, 0xbb, 0xd6, 0x7a, 0xc6, 0xae, 0xae, 0xaf, 0xab,
- 0xbb, 0xd6, 0x9a, 0xc6, 0xfa, 0xbe, 0xfe, 0xbf, 0xbb, 0xd6, 0x9a, 0xc6, 0xba, 0xef, 0xaa, 0xaf, 0xba, 0xd6, 0x9b, 0xce, 0xde, 0xff, 0xf7, 0x5f, 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xfb, 0xdf, 0x7d,
- 0x9b, 0xd6, 0xba, 0xc6, 0xaa, 0xea, 0xea, 0xff, 0x9b, 0xd6, 0xba, 0xc6, 0xaa, 0xab, 0xaf, 0xfa, 0xbb, 0xce, 0x9a, 0xce, 0x77, 0xaa, 0xaa, 0xbe, 0xba, 0xce, 0x9b, 0xce, 0x83, 0x8e, 0x55, 0xd8,
- 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xba, 0xfa, 0xfd, 0xbb, 0xd6, 0x9a, 0xce, 0xfe, 0xef, 0xfd, 0xff, 0x9b, 0xd6, 0xba, 0xce, 0xaf, 0xeb, 0xb5, 0xdf, 0xba, 0xd6, 0x9b, 0xce, 0xbf, 0xbf, 0x6f, 0xfd,
- 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xba, 0xff, 0xff, 0xba, 0xd6, 0x9b, 0xce, 0xaa, 0xea, 0xff, 0xfe, 0x9b, 0xd6, 0xba, 0xce, 0xfb, 0x57, 0xd7, 0xed, 0xba, 0xd6, 0x9b, 0xce, 0x82, 0xaf, 0xfb, 0xff,
- 0xdb, 0xd6, 0x9a, 0xce, 0xbb, 0xff, 0xff, 0xfe, 0x9b, 0xd6, 0xba, 0xce, 0xad, 0xf5, 0x5f, 0xd5, 0x9a, 0xd6, 0xdb, 0xce, 0xeb, 0xef, 0xab, 0xaf, 0xda, 0xd6, 0x9b, 0xce, 0xfb, 0xff, 0xff, 0xff,
- 0x9a, 0xd6, 0xbb, 0xce, 0xff, 0x7f, 0x7f, 0x9f, 0x1b, 0xdf, 0x66, 0x6a, 0x00, 0x40, 0x60, 0x70, 0x4f, 0xa4, 0x64, 0x51, 0xfc, 0x57, 0x57, 0x7f, 0x06, 0x5a, 0x03, 0x41, 0x88, 0xaa, 0xaf, 0x5e,
- 0x27, 0x62, 0x44, 0x49, 0x80, 0xa0, 0xaf, 0x55, 0x27, 0x5a, 0x24, 0x49, 0x8a, 0x28, 0x8a, 0x5f, 0xa8, 0x6a, 0xe3, 0x30, 0xf3, 0xaa, 0xff, 0x57, 0x06, 0x62, 0x44, 0x41, 0x6d, 0x28, 0xff, 0xdd,
- 0x46, 0x62, 0x03, 0x41, 0xab, 0x80, 0xff, 0x5f, 0x47, 0x6a, 0xa2, 0x30, 0x00, 0xa8, 0x57, 0x5f, 0x06, 0x62, 0xc2, 0x30, 0x80, 0xfa, 0xd5, 0xd5, 0x28, 0x62, 0xc3, 0x30, 0x8a, 0x7f, 0xd5, 0xff,
- 0x84, 0x59, 0xa2, 0x20, 0xfa, 0xd7, 0xaa, 0x2b, 0x64, 0x59, 0x82, 0x18, 0x57, 0xff, 0xaa, 0x00, 0x84, 0x59, 0x82, 0x18, 0x55, 0xff, 0x02, 0x00, 0x84, 0x61, 0x82, 0x18, 0xd5, 0xef, 0x2a, 0x00,
- 0x64, 0x59, 0xc2, 0x20, 0xd5, 0xaa, 0x02, 0xa2, 0x84, 0x59, 0x03, 0x31, 0x7f, 0x02, 0x00, 0x2a, 0xc4, 0x69, 0xc2, 0x30, 0x55, 0xaa, 0x80, 0x82, 0x84, 0x59, 0xe2, 0x38, 0xd5, 0xba, 0xa8, 0xa8,
- 0x45, 0x6a, 0x02, 0x41, 0x55, 0xff, 0xff, 0x2b, 0x05, 0x62, 0x02, 0x41, 0x55, 0xfe, 0x8a, 0x08, 0xc5, 0x59, 0xc2, 0x30, 0x5f, 0xd2, 0xa8, 0xa0, 0x05, 0x62, 0xe2, 0x40, 0xf5, 0xfd, 0xaa, 0x0a,
- 0x29, 0x83, 0x23, 0x51, 0x5d, 0x55, 0xff, 0xe2, 0xe5, 0x61, 0x43, 0x51, 0xf5, 0xff, 0x20, 0xfe, 0x06, 0x5a, 0x23, 0x49, 0xd5, 0xff, 0x20, 0xfe, 0x06, 0x62, 0x64, 0x51, 0x3d, 0x2b, 0x2a, 0xbf,
- 0x8b, 0x8b, 0x84, 0x59, 0x5f, 0xbd, 0x0f, 0x95, 0xaf, 0xac, 0xe5, 0x61, 0xf5, 0x4f, 0x6a, 0xb2, 0x4d, 0xa4, 0xe2, 0x40, 0x8f, 0x5f, 0x02, 0x0b, 0xd0, 0xb4, 0xa5, 0x51, 0x2d, 0x7d, 0xec, 0xfb,
- 0x12, 0x9d, 0xe1, 0x48, 0xd7, 0xba, 0xff, 0x2f, 0x1c, 0xdf, 0xe4, 0x61, 0xf5, 0xfe, 0x29, 0x00, 0xfb, 0xd6, 0xe8, 0x72, 0x2d, 0x03, 0x00, 0x00, 0xdb, 0xd6, 0xba, 0xce, 0xa8, 0xaa, 0x8a, 0xea,
- 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xa0, 0xaa, 0xaa, 0xdb, 0xd6, 0xba, 0xd6, 0xfb, 0xfe, 0x8a, 0x0a, 0xdb, 0xd6, 0xba, 0xd6, 0xab, 0xa2, 0xa6, 0x08, 0xdb, 0xde, 0xba, 0xce, 0xee, 0xae, 0xbb, 0xff,
- 0xdb, 0xd6, 0xba, 0xd6, 0xf8, 0xa8, 0x80, 0x82, 0xdb, 0xde, 0xba, 0xce, 0xaa, 0xeb, 0xaa, 0xaa, 0xdb, 0xde, 0xba, 0xce, 0xff, 0xfa, 0xaa, 0xaa, 0xdb, 0xde, 0xba, 0xd6, 0xff, 0xff, 0xef, 0xef,
- 0xdb, 0xde, 0xba, 0xce, 0xbb, 0xab, 0xeb, 0xaa, 0xdb, 0xd6, 0xba, 0xd6, 0xb8, 0x03, 0x00, 0x00, 0xdb, 0xd6, 0xba, 0xd6, 0x08, 0x00, 0xf2, 0xe0, 0xdb, 0xde, 0xba, 0xce, 0xba, 0xbe, 0xaa, 0xea,
- 0xdb, 0xde, 0xba, 0xd6, 0xff, 0xfe, 0xef, 0xfe, 0xdb, 0xd6, 0xba, 0xd6, 0x3a, 0xc8, 0x80, 0xa8, 0xfb, 0xd6, 0xba, 0xd6, 0xee, 0xfa, 0xff, 0xff, 0xdb, 0xd6, 0xba, 0xd6, 0x08, 0xc0, 0x20, 0x00,
- 0xdb, 0xd6, 0xba, 0xd6, 0xf0, 0x00, 0x20, 0x02, 0xdb, 0xde, 0xba, 0xd6, 0xef, 0xbb, 0xbb, 0xef, 0xdb, 0xde, 0xba, 0xd6, 0xfb, 0xbf, 0xea, 0xaa, 0xdb, 0xde, 0xda, 0xce, 0xaa, 0xaa, 0xea, 0xaa,
- 0xfb, 0xd6, 0xba, 0xd6, 0xef, 0xbe, 0xaa, 0xae, 0xdb, 0xde, 0xda, 0xd6, 0x5a, 0xfd, 0xad, 0xaf, 0xdb, 0xde, 0xda, 0xd6, 0x59, 0xff, 0xad, 0xaa, 0xfb, 0xde, 0xda, 0xd6, 0xdf, 0x57, 0xb5, 0xdf,
- 0xfb, 0xde, 0xda, 0xd6, 0x55, 0x5f, 0xf7, 0x7b, 0xfc, 0xde, 0xda, 0xd6, 0x7d, 0xf7, 0xff, 0xfa, 0xfb, 0xde, 0xda, 0xd6, 0xff, 0xbb, 0xef, 0x77, 0xfb, 0xde, 0xda, 0xd6, 0xf7, 0xff, 0xf7, 0xff,
- 0xfb, 0xde, 0xda, 0xd6, 0x5f, 0x5d, 0x57, 0xfd, 0xfb, 0xde, 0xda, 0xd6, 0x7f, 0xf5, 0xd5, 0x5f, 0xfb, 0xde, 0xba, 0xd6, 0xff, 0xaa, 0xfb, 0xff, 0xdb, 0xde, 0xba, 0xd6, 0xaa, 0xea, 0xef, 0xbf,
- 0xfb, 0xde, 0xba, 0xd6, 0xbb, 0xff, 0xff, 0xff, 0xdb, 0xde, 0xba, 0xd6, 0xea, 0xaa, 0xfb, 0xaf, 0xfb, 0xd6, 0xba, 0xd6, 0xfb, 0xfb, 0xef, 0xbf, 0xfb, 0xd6, 0xba, 0xd6, 0xff, 0xfe, 0xff, 0xab,
- 0xdb, 0xde, 0xda, 0xce, 0xaa, 0xfa, 0xfa, 0xea, 0xdb, 0xd6, 0xba, 0xce, 0x00, 0x22, 0xa8, 0x08, 0xdb, 0xd6, 0xba, 0xd6, 0xf0, 0x02, 0x2f, 0x82, 0xdb, 0xd6, 0xba, 0xce, 0x8a, 0xaa, 0xaa, 0xa8,
- 0xbb, 0xd6, 0xda, 0xce, 0xa0, 0xaa, 0xba, 0xfb, 0xdb, 0xd6, 0xba, 0xce, 0xab, 0xea, 0xaa, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0xfb, 0xef, 0xaa, 0xaa, 0xbb, 0xd6, 0xda, 0xce, 0xaa, 0x82, 0xa8, 0xea,
- 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xaa, 0xaa, 0x8a, 0xdb, 0xd6, 0xba, 0xd6, 0x09, 0xa8, 0xba, 0x20, 0xdb, 0xde, 0xba, 0xce, 0xbf, 0xab, 0xaa, 0xaa, 0xdb, 0xde, 0xba, 0xce, 0xff, 0xbe, 0xae, 0xae,
- 0xdb, 0xd6, 0xba, 0xd6, 0xe0, 0x2a, 0xb0, 0x00, 0xfb, 0xde, 0xba, 0xd6, 0xff, 0xff, 0xff, 0xaf, 0xdb, 0xde, 0xba, 0xd6, 0xff, 0xaf, 0xaa, 0xaa, 0xfb, 0xde, 0xba, 0xd6, 0xbf, 0xfa, 0xaa, 0xaa,
- 0xbb, 0xd6, 0x99, 0xc6, 0xef, 0xff, 0xff, 0xff, 0xbb, 0xce, 0x7a, 0xce, 0xaa, 0xff, 0xaa, 0xab, 0xbb, 0xce, 0x7a, 0xce, 0xfa, 0xea, 0xaf, 0xba, 0xbb, 0xce, 0x9a, 0xce, 0x55, 0xf5, 0x55, 0xed,
- 0xbb, 0xce, 0x7a, 0xce, 0xaa, 0xaa, 0xbf, 0xaa, 0xbb, 0xd6, 0x9a, 0xc6, 0xfa, 0xee, 0xbf, 0xab, 0xbb, 0xd6, 0x9a, 0xc6, 0xfb, 0xfa, 0xeb, 0xff, 0xbb, 0xce, 0x9a, 0xce, 0x55, 0x5e, 0x5b, 0x5b,
- 0xbb, 0xce, 0x9a, 0xce, 0x59, 0x7d, 0x55, 0x65, 0xbb, 0xce, 0x7a, 0xc6, 0xca, 0xaa, 0xaa, 0xab, 0xbb, 0xd6, 0x9a, 0xc6, 0xfa, 0xef, 0xbf, 0xef, 0xbb, 0xd6, 0x7a, 0xc6, 0xaa, 0xeb, 0xfe, 0xaf,
- 0xbb, 0xce, 0x7a, 0xce, 0xab, 0xba, 0xfa, 0xae, 0xbb, 0xce, 0x7a, 0xce, 0xab, 0xbe, 0xae, 0xaa, 0x9b, 0xce, 0xba, 0xc6, 0x00, 0x8a, 0xaa, 0xb2, 0x9a, 0xce, 0x7b, 0xce, 0x03, 0x00, 0x00, 0x20,
- 0xbb, 0xd6, 0x7a, 0xc6, 0xff, 0xbf, 0xeb, 0xfe, 0xbb, 0xce, 0x7a, 0xce, 0xef, 0xea, 0xab, 0xaa, 0xbb, 0xd6, 0x9a, 0xc6, 0xff, 0xff, 0xfb, 0xff, 0xbb, 0xce, 0x9a, 0xce, 0x56, 0x5d, 0x5d, 0x9f,
- 0xbb, 0xce, 0x7a, 0xce, 0xea, 0xaf, 0xaa, 0xbe, 0xba, 0xce, 0x9b, 0xce, 0xf8, 0xb7, 0x55, 0xf7, 0xbb, 0xce, 0x9a, 0xce, 0xd3, 0xfd, 0x55, 0x56, 0xba, 0xce, 0x9b, 0xce, 0x2f, 0xaf, 0x6d, 0x75,
- 0xba, 0xce, 0x9b, 0xce, 0x2a, 0x25, 0xbf, 0x57, 0x9b, 0xce, 0xba, 0xc6, 0x02, 0x02, 0xc2, 0x2a, 0xbb, 0xd6, 0x9a, 0xce, 0xef, 0xd7, 0xff, 0x7f, 0xbb, 0xd6, 0x9a, 0xce, 0xd7, 0xdf, 0xf7, 0xf7,
- 0xba, 0xd6, 0x9b, 0xce, 0xfd, 0xff, 0xff, 0xbf, 0xba, 0xce, 0x9b, 0xce, 0xe5, 0x0a, 0x83, 0xfc, 0xbb, 0xd6, 0x9a, 0xce, 0xdd, 0xff, 0x6f, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xdf, 0xff, 0xfb, 0x6e,
- 0xbb, 0xd6, 0x9a, 0xce, 0xd7, 0xff, 0x7d, 0x7f, 0xba, 0xd6, 0x9b, 0xce, 0xfd, 0xdf, 0x7d, 0xff, 0xba, 0xce, 0x9b, 0xce, 0x2a, 0xfe, 0x0a, 0xa7, 0xba, 0xd6, 0x9b, 0xce, 0xaf, 0xbe, 0xff, 0xaf,
- 0x9a, 0xd6, 0xdb, 0xce, 0xaf, 0xaf, 0xaa, 0xff, 0x9a, 0xd6, 0xbb, 0xce, 0xf7, 0xff, 0xfe, 0xf5, 0xdb, 0xd6, 0x9a, 0xce, 0xff, 0xfa, 0xff, 0xff, 0xba, 0xd6, 0xdb, 0xce, 0x2b, 0xea, 0x7a, 0x82,
- 0x9a, 0xd6, 0xdb, 0xce, 0xaa, 0xab, 0xaf, 0xaa, 0x1c, 0xdf, 0x8c, 0x83, 0x40, 0x00, 0x00, 0x00, 0x97, 0xd6, 0x84, 0x51, 0x57, 0x57, 0x57, 0x7c, 0x47, 0x62, 0x63, 0x51, 0x5e, 0x08, 0x80, 0xbb,
- 0x26, 0x62, 0xe3, 0x38, 0x5f, 0x68, 0x78, 0x80, 0x06, 0x62, 0x03, 0x41, 0x76, 0xfc, 0x83, 0x03, 0xe4, 0x61, 0xa2, 0x30, 0x57, 0xaf, 0xba, 0x80, 0xa5, 0x59, 0xe2, 0x38, 0xa9, 0x8a, 0xfa, 0x2a,
- 0x06, 0x62, 0xe2, 0x38, 0x57, 0xff, 0xbf, 0x22, 0xc5, 0x59, 0xe2, 0x38, 0xf5, 0xfb, 0xa2, 0xbc, 0xa4, 0x59, 0x03, 0x49, 0xb5, 0xaa, 0xa8, 0xfb, 0x64, 0x59, 0x22, 0x41, 0xe2, 0xa8, 0x7a, 0xe8,
- 0x84, 0x59, 0x43, 0x49, 0x3b, 0xba, 0xf5, 0xca, 0xa4, 0x59, 0x02, 0x51, 0x7c, 0x7a, 0xfa, 0x2a, 0xc4, 0x61, 0x03, 0x49, 0xf7, 0x55, 0xbf, 0x20, 0xe4, 0x61, 0x03, 0x49, 0xfd, 0xd5, 0xbf, 0xa0,
- 0x26, 0x62, 0xe2, 0x50, 0x7f, 0xbf, 0xff, 0x2a, 0x49, 0x83, 0xe2, 0x48, 0xd5, 0x5f, 0xff, 0x02, 0xab, 0x8b, 0x22, 0x51, 0x55, 0x55, 0xf5, 0x00, 0xe8, 0x72, 0x43, 0x49, 0x55, 0xf5, 0xfa, 0xa0,
- 0xeb, 0x93, 0xa4, 0x51, 0x55, 0xb5, 0xfd, 0x00, 0x6b, 0x8b, 0x84, 0x51, 0x55, 0xff, 0xa0, 0xf8, 0x2d, 0x9c, 0x43, 0x49, 0x55, 0xcf, 0xca, 0xcb, 0x6e, 0xa4, 0x44, 0x41, 0x75, 0xea, 0x02, 0x5d,
- 0xab, 0x93, 0x84, 0x49, 0xd5, 0xbb, 0xa0, 0xad, 0xcb, 0x93, 0xc5, 0x59, 0xf5, 0x80, 0xab, 0xe0, 0x8b, 0x8b, 0x25, 0x62, 0x6b, 0x8b, 0x08, 0x8b, 0x0d, 0x9c, 0xe5, 0x51, 0xb7, 0x2e, 0xf0, 0xb7,
- 0xfb, 0xde, 0x08, 0x7b, 0xff, 0xbf, 0x2d, 0x0b, 0x3c, 0xdf, 0x67, 0x6a, 0x57, 0xb8, 0x00, 0x00, 0x7d, 0xdf, 0x07, 0x62, 0x55, 0x00, 0x00, 0x00, 0x3c, 0xdf, 0xee, 0x7b, 0x09, 0x00, 0x00, 0x00,
- 0x1c, 0xdf, 0xba, 0xd6, 0x78, 0xd5, 0x5f, 0xf7, 0xdb, 0xd6, 0xba, 0xd6, 0x8d, 0xad, 0x02, 0x88, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xaa, 0x08, 0x02, 0xdb, 0xd6, 0xba, 0xd6, 0xa7, 0x36, 0xa8, 0x03,
- 0xfb, 0xde, 0xba, 0xce, 0xbf, 0xff, 0xff, 0xbb, 0xdb, 0xde, 0xba, 0xd6, 0xfe, 0xdf, 0xfb, 0xfb, 0xdb, 0xde, 0xba, 0xd6, 0x9f, 0xfe, 0xfa, 0xbe, 0xfb, 0xd6, 0xba, 0xd6, 0xff, 0xaa, 0xff, 0xeb,
- 0xdb, 0xd6, 0xba, 0xd6, 0xf8, 0x00, 0x22, 0xc0, 0xdb, 0xde, 0xba, 0xd6, 0xae, 0xaf, 0xfa, 0xfb, 0xfb, 0xde, 0xba, 0xce, 0xaa, 0xba, 0xea, 0xee, 0xfc, 0xde, 0xda, 0xd6, 0x65, 0x55, 0x5d, 0x57,
- 0xfc, 0xd6, 0xba, 0xd6, 0xfb, 0xef, 0xfb, 0xbf, 0xdb, 0xd6, 0xba, 0xd6, 0xab, 0x02, 0x00, 0x00, 0xfb, 0xd6, 0xba, 0xd6, 0xdf, 0xff, 0xaa, 0xff, 0xdb, 0xde, 0xba, 0xd6, 0xbf, 0xeb, 0xbf, 0xe3,
- 0xdb, 0xde, 0xba, 0xd6, 0xbd, 0xab, 0xef, 0xbf, 0xdb, 0xd6, 0xba, 0xd6, 0x88, 0x08, 0xc0, 0x8a, 0xfb, 0xde, 0xba, 0xd6, 0xff, 0xff, 0xff, 0xef, 0xdb, 0xde, 0xba, 0xd6, 0xfe, 0xff, 0xbe, 0xee,
- 0xdb, 0xde, 0xda, 0xd6, 0x7e, 0xef, 0xef, 0xfd, 0xdb, 0xde, 0xba, 0xd6, 0xab, 0xbb, 0xaa, 0xaf, 0xfc, 0xde, 0xda, 0xd6, 0x9f, 0xff, 0xfd, 0xfd, 0xda, 0xde, 0xfb, 0xd6, 0xc0, 0xab, 0xbe, 0xfe,
- 0xfb, 0xde, 0xda, 0xd6, 0x7a, 0xff, 0xff, 0xfd, 0xfc, 0xde, 0xda, 0xd6, 0xff, 0xf5, 0x9f, 0xfd, 0xfb, 0xde, 0xda, 0xd6, 0xd6, 0xeb, 0xbf, 0xfd, 0xfb, 0xde, 0xda, 0xd6, 0xf7, 0xe7, 0xdf, 0xaf,
- 0xfb, 0xde, 0xda, 0xd6, 0xef, 0x5f, 0xff, 0x7f, 0xfb, 0xde, 0xba, 0xd6, 0xaa, 0xff, 0xee, 0xab, 0xfb, 0xde, 0xda, 0xd6, 0xdd, 0x5f, 0xff, 0xd7, 0xfb, 0xde, 0xba, 0xd6, 0xaa, 0xea, 0xea, 0xfa,
- 0xfb, 0xde, 0xda, 0xd6, 0xd7, 0x6f, 0xf7, 0x55, 0xfb, 0xde, 0xba, 0xd6, 0xbb, 0xfe, 0xfe, 0xff, 0xfb, 0xde, 0xba, 0xd6, 0xfb, 0xff, 0xfb, 0xff, 0xfb, 0xde, 0xba, 0xd6, 0xff, 0xdf, 0xee, 0xff,
- 0xdb, 0xde, 0xda, 0xce, 0xae, 0xaa, 0xaa, 0xab, 0xfb, 0xde, 0xba, 0xce, 0xef, 0xaf, 0xef, 0xbf, 0xfb, 0xd6, 0xda, 0xd6, 0x5d, 0x55, 0x55, 0xd9, 0xfb, 0xd6, 0xda, 0xd6, 0xd7, 0x55, 0x77, 0x79,
- 0xdb, 0xd6, 0xba, 0xd6, 0x08, 0xb0, 0x82, 0x08, 0xdb, 0xde, 0xba, 0xd6, 0xff, 0xbf, 0xfe, 0xba, 0xdb, 0xd6, 0xba, 0xd6, 0xe3, 0x22, 0x00, 0x20, 0xdb, 0xd6, 0xba, 0xd6, 0xb0, 0x0a, 0x80, 0x2a,
- 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0x80, 0xaa, 0xa8, 0xdb, 0xd6, 0xba, 0xd6, 0x0e, 0x7a, 0x2f, 0xa2, 0xdb, 0xde, 0xba, 0xce, 0xee, 0xaf, 0xff, 0xfa, 0xdb, 0xd6, 0xba, 0xce, 0xa2, 0xaa, 0xaa, 0x28,
- 0xdb, 0xde, 0xba, 0xce, 0xbf, 0xae, 0xaa, 0xaa, 0xdb, 0xde, 0xba, 0xd6, 0xf9, 0xef, 0xaf, 0xbf, 0xfb, 0xd6, 0xda, 0xd6, 0x69, 0x95, 0x7d, 0x5d, 0xfb, 0xde, 0xba, 0xd6, 0xff, 0xbe, 0xea, 0xaa,
- 0xfb, 0xde, 0xda, 0xd6, 0xd7, 0x95, 0xed, 0xff, 0xda, 0xde, 0xfb, 0xd6, 0xea, 0xaa, 0xff, 0xaa, 0xfb, 0xde, 0xda, 0xd6, 0xfd, 0xee, 0xeb, 0xbd, 0xfc, 0xde, 0xda, 0xd6, 0xbe, 0xfe, 0xff, 0xff,
- 0x9b, 0xd6, 0x9a, 0xc6, 0xff, 0xea, 0xff, 0xbf, 0xbb, 0xce, 0x7a, 0xc6, 0xaa, 0xaa, 0xaa, 0xab, 0xbb, 0xd6, 0x7a, 0xc6, 0xea, 0xfb, 0xaf, 0xfb, 0xbb, 0xce, 0x9a, 0xce, 0x75, 0x5d, 0x5b, 0x55,
- 0xbb, 0xce, 0x9a, 0xc6, 0xaa, 0xab, 0xbf, 0xfe, 0xba, 0xce, 0x7b, 0xc6, 0xa8, 0xaa, 0xff, 0xee, 0xbb, 0xd6, 0x7a, 0xc6, 0xea, 0xea, 0xbf, 0xaf, 0xbb, 0xce, 0x7a, 0xce, 0xee, 0xfa, 0xea, 0xff,
- 0x9b, 0xd6, 0x9a, 0xc6, 0xea, 0xfe, 0xff, 0xff, 0xbb, 0xd6, 0x7a, 0xc6, 0xfa, 0xfa, 0xbf, 0xff, 0xbb, 0xce, 0x7a, 0xc6, 0xaa, 0xfa, 0xff, 0xbe, 0xbb, 0xce, 0x7a, 0xce, 0xab, 0xab, 0xaf, 0xfb,
- 0xbb, 0xce, 0x7a, 0xc6, 0xea, 0xae, 0xab, 0xbe, 0xba, 0xce, 0x9b, 0xc6, 0xbf, 0xfe, 0xfe, 0xff, 0xbb, 0xce, 0x7a, 0xc6, 0xef, 0xeb, 0xae, 0xbe, 0x9b, 0xce, 0x7a, 0xc6, 0xa8, 0x82, 0x08, 0x28,
- 0xbb, 0xd6, 0x7a, 0xc6, 0xaa, 0xff, 0xbf, 0xef, 0xbb, 0xce, 0x7a, 0xc6, 0xaa, 0xeb, 0xae, 0xeb, 0x9b, 0xd6, 0x9a, 0xc6, 0xea, 0xfb, 0xef, 0xae, 0xba, 0xd6, 0x7b, 0xc6, 0xbf, 0xea, 0xfa, 0xea,
- 0xbb, 0xce, 0x7a, 0xc6, 0xaa, 0xfb, 0xbb, 0xaa, 0xbb, 0xce, 0x7a, 0xce, 0xaa, 0xff, 0xaa, 0x8f, 0x9b, 0xd6, 0x9a, 0xc6, 0xae, 0xfb, 0xff, 0xab, 0xba, 0xce, 0x9b, 0xce, 0x5f, 0xd5, 0x95, 0x6d,
- 0x9b, 0xce, 0xba, 0xc6, 0x28, 0x82, 0xba, 0x28, 0xba, 0xce, 0x9b, 0xc6, 0xaa, 0xab, 0xbf, 0xfe, 0xba, 0xce, 0x9b, 0xce, 0xde, 0xfd, 0x5f, 0xfb, 0xbb, 0xd6, 0x9a, 0xc6, 0xbb, 0xaf, 0xbf, 0xff,
- 0xbb, 0xce, 0x9a, 0xce, 0x37, 0xef, 0xfd, 0xff, 0xba, 0xce, 0x9b, 0xce, 0x0f, 0xfb, 0xaf, 0xfa, 0x9b, 0xd6, 0xba, 0xce, 0xab, 0x5f, 0xbf, 0x5b, 0xba, 0xce, 0x9b, 0xce, 0xb5, 0xed, 0xdb, 0x9a,
- 0xbb, 0xd6, 0x9a, 0xce, 0xd7, 0xb7, 0xff, 0xff, 0xba, 0xd6, 0x9b, 0xce, 0xff, 0xeb, 0xff, 0xeb, 0xbb, 0xd6, 0x9a, 0xce, 0xef, 0xdf, 0xef, 0xbb, 0xba, 0xd6, 0x9b, 0xce, 0xbe, 0xff, 0xff, 0xab,
- 0x9a, 0xd6, 0xbb, 0xce, 0xff, 0xef, 0xff, 0x7b, 0x9b, 0xd6, 0xba, 0xce, 0xd7, 0x5f, 0x5e, 0xf5, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xef, 0xea, 0x2a, 0x9b, 0xd6, 0xda, 0xce, 0xaa, 0xaa, 0xab, 0xef,
- 0xdb, 0xd6, 0x9a, 0xce, 0xff, 0xbf, 0xbf, 0xff, 0x9b, 0xd6, 0xda, 0xce, 0xbe, 0xba, 0xaa, 0xeb, 0x7d, 0xe7, 0xc6, 0x49, 0x58, 0x00, 0x00, 0x00, 0x7d, 0xe7, 0xc5, 0x51, 0x55, 0x50, 0x00, 0x00,
- 0xda, 0xd6, 0xe6, 0x51, 0x55, 0x55, 0x7a, 0xc0, 0x12, 0x9d, 0x44, 0x41, 0xf5, 0xf7, 0xff, 0x0a, 0xa9, 0x6a, 0x43, 0x49, 0x7f, 0xff, 0x20, 0x28, 0x4e, 0x94, 0xc5, 0x59, 0x55, 0x55, 0xaf, 0xe2,
- 0x2a, 0x7b, 0x44, 0x49, 0x5f, 0x2b, 0x0a, 0xfa, 0xab, 0x83, 0x23, 0x41, 0x55, 0xfc, 0xba, 0x5f, 0x29, 0x7b, 0x64, 0x49, 0x55, 0xaa, 0xf8, 0x75, 0x47, 0x62, 0x23, 0x49, 0xaf, 0x80, 0xaa, 0x77,
- 0x06, 0x5a, 0x84, 0x49, 0x2a, 0xab, 0x02, 0xe9, 0x67, 0x6a, 0x63, 0x51, 0xd7, 0x2b, 0x2a, 0xd5, 0xa7, 0x72, 0x43, 0x49, 0xff, 0xea, 0x58, 0xbb, 0xc9, 0x7a, 0xa4, 0x51, 0xbd, 0x2f, 0xdd, 0xff,
- 0x0c, 0x9c, 0xe5, 0x59, 0x22, 0x5f, 0xfd, 0xf5, 0x6b, 0x8b, 0x64, 0x49, 0xea, 0x5f, 0xfa, 0x2a, 0xab, 0x8b, 0x64, 0x49, 0xfe, 0x55, 0x02, 0x88, 0x0c, 0x9c, 0xe6, 0x51, 0x0f, 0xad, 0xfa, 0xff,
- 0x2c, 0x9c, 0x27, 0x62, 0x6a, 0xe0, 0x55, 0x55, 0x2e, 0x94, 0xc5, 0x51, 0x5d, 0xff, 0xef, 0x0b, 0x37, 0xce, 0x25, 0x5a, 0xfd, 0xbf, 0xbd, 0x2f, 0xfb, 0xde, 0xc4, 0x51, 0xf5, 0xfd, 0xfe, 0x00,
- 0x1b, 0xdf, 0xc5, 0x59, 0x5f, 0xf7, 0x2b, 0x00, 0x3c, 0xdf, 0x26, 0x5a, 0xd5, 0x2f, 0x00, 0x00, 0x5d, 0xe7, 0x4b, 0x7b, 0xd5, 0x00, 0x00, 0x00, 0x3c, 0xdf, 0x38, 0xc6, 0x09, 0xaa, 0xaa, 0xaa,
- 0xfb, 0xde, 0xba, 0xd6, 0xf4, 0xec, 0xef, 0xff, 0xfb, 0xde, 0xba, 0xce, 0xff, 0xff, 0xaf, 0xab, 0xdb, 0xde, 0xba, 0xd6, 0xff, 0xff, 0xaf, 0xff, 0xfb, 0xde, 0xba, 0xce, 0xbf, 0xee, 0xff, 0xff,
- 0xfb, 0xde, 0xba, 0xce, 0xff, 0xff, 0xbb, 0xbf, 0xfb, 0xd6, 0xba, 0xd6, 0xbf, 0xff, 0xbb, 0xfe, 0xdb, 0xde, 0xba, 0xd6, 0xff, 0xff, 0xee, 0xaf, 0xdb, 0xde, 0xba, 0xd6, 0xbf, 0xbe, 0xff, 0xfb,
- 0xdb, 0xd6, 0xba, 0xd6, 0x00, 0x03, 0x2c, 0x02, 0xfb, 0xd6, 0xba, 0xd6, 0xaf, 0xbb, 0xff, 0xbe, 0xdb, 0xd6, 0xba, 0xd6, 0x86, 0xa8, 0x02, 0x00, 0xfb, 0xd6, 0xba, 0xd6, 0xff, 0xff, 0xfe, 0xfa,
- 0xdb, 0xde, 0xba, 0xd6, 0xff, 0xdf, 0xff, 0xff, 0xdb, 0xd6, 0xba, 0xd6, 0xa0, 0x08, 0xae, 0x22, 0xdb, 0xd6, 0xba, 0xd6, 0xa0, 0xc8, 0xb8, 0x20, 0xdb, 0xde, 0xba, 0xce, 0xaa, 0xab, 0xaa, 0xaa,
- 0xdb, 0xde, 0xba, 0xd6, 0xbe, 0xff, 0xef, 0xbe, 0xfb, 0xde, 0xba, 0xce, 0xfa, 0xbf, 0xaf, 0xef, 0xdb, 0xd6, 0xba, 0xd6, 0x00, 0x00, 0x00, 0x0b, 0xfb, 0xd6, 0xba, 0xd6, 0xff, 0xbf, 0xee, 0xfe,
- 0xfb, 0xd6, 0xba, 0xd6, 0xff, 0xbf, 0xbf, 0xab, 0xfb, 0xde, 0xba, 0xd6, 0xff, 0xff, 0xbf, 0xfd, 0xdb, 0xde, 0xba, 0xd6, 0xbe, 0xae, 0xaa, 0xaa, 0xfb, 0xd6, 0xba, 0xd6, 0xff, 0xea, 0xab, 0xff,
- 0xfb, 0xde, 0xba, 0xce, 0xfa, 0x8f, 0xeb, 0xff, 0xfb, 0xde, 0xba, 0xd6, 0xfe, 0xff, 0xab, 0xff, 0xfb, 0xde, 0xba, 0xd6, 0xab, 0xfa, 0xfb, 0xff, 0xfb, 0xde, 0xba, 0xd6, 0xaf, 0xab, 0xef, 0xbf,
- 0xfc, 0xde, 0xda, 0xd6, 0x7f, 0xff, 0x7f, 0xfd, 0xda, 0xde, 0xfb, 0xd6, 0xaa, 0xbf, 0xff, 0xb7, 0xfb, 0xde, 0xda, 0xd6, 0xff, 0xff, 0xff, 0x7f, 0xda, 0xde, 0xfb, 0xd6, 0xfa, 0xe8, 0xfe, 0xee,
- 0xba, 0xde, 0xfb, 0xd6, 0xbf, 0xff, 0xfe, 0xff, 0xfb, 0xde, 0xdb, 0xd6, 0xfd, 0x5d, 0xfd, 0xdf, 0xbb, 0xde, 0xfb, 0xd6, 0xfe, 0xfe, 0xff, 0xff, 0xfb, 0xde, 0xda, 0xd6, 0xdd, 0x55, 0x77, 0xd5,
- 0xfb, 0xd6, 0xda, 0xd6, 0x7c, 0x57, 0xf5, 0x55, 0xdb, 0xde, 0xba, 0xd6, 0xfb, 0xaa, 0xea, 0xaa, 0xfb, 0xde, 0xba, 0xce, 0xef, 0xfb, 0xae, 0xaa, 0xfb, 0xde, 0xba, 0xd6, 0xff, 0xff, 0xfe, 0xba,
- 0xfb, 0xde, 0xba, 0xce, 0xbf, 0xef, 0xaa, 0xaa, 0xfb, 0xd6, 0xda, 0xd6, 0x55, 0xeb, 0x7f, 0xf5, 0xdb, 0xd6, 0xba, 0xd6, 0x00, 0x03, 0x0f, 0x00, 0xfb, 0xd6, 0xba, 0xd6, 0xaa, 0xfa, 0xaa, 0xae,
- 0xfb, 0xde, 0xba, 0xd6, 0xfe, 0xbf, 0xba, 0xbf, 0xfb, 0xde, 0xba, 0xd6, 0xff, 0xfa, 0xfb, 0xff, 0xfb, 0xde, 0xba, 0xd6, 0xff, 0xff, 0xff, 0xab, 0xdb, 0xde, 0xda, 0xce, 0xfe, 0xfe, 0xbe, 0xfa,
- 0xdb, 0xde, 0xba, 0xce, 0xfe, 0xfe, 0xaf, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0x2a, 0x02, 0x00, 0x80, 0xdb, 0xde, 0xba, 0xce, 0xbf, 0xee, 0xab, 0xaa, 0xdb, 0xd6, 0xba, 0xd6, 0xe0, 0x28, 0xa8, 0x00,
- 0xfb, 0xd6, 0xba, 0xd6, 0xbf, 0xea, 0xeb, 0xea, 0xfb, 0xde, 0xba, 0xd6, 0xef, 0xaf, 0xff, 0xbf, 0xfb, 0xde, 0xda, 0xd6, 0xdd, 0x7f, 0xf5, 0xfb, 0xfb, 0xde, 0xda, 0xd6, 0xf6, 0xdd, 0xd7, 0x75,
- 0xfb, 0xde, 0xda, 0xd6, 0xf7, 0xf6, 0x5d, 0xd7, 0xfc, 0xde, 0xda, 0xd6, 0xff, 0x7e, 0x57, 0x57, 0xfb, 0xde, 0xba, 0xce, 0xaa, 0xaa, 0xbb, 0xab, 0xfb, 0xde, 0xba, 0xd6, 0xfa, 0xfa, 0xff, 0xff,
- 0x9b, 0xce, 0x7a, 0xce, 0x50, 0x00, 0x80, 0x00, 0x9b, 0xce, 0x7a, 0xc6, 0x8a, 0xa0, 0xa2, 0x8a, 0x9b, 0xce, 0x7a, 0xc6, 0x80, 0x08, 0x82, 0xaa, 0xbb, 0xce, 0x7a, 0xc6, 0xea, 0xbe, 0xaa, 0xba,
- 0xbb, 0xce, 0x9a, 0xc6, 0xe7, 0xff, 0xfb, 0xef, 0xba, 0xce, 0x9a, 0xc6, 0xef, 0xea, 0xff, 0xff, 0x9b, 0xd6, 0x7a, 0xc6, 0xae, 0xea, 0xab, 0xff, 0xbb, 0xce, 0x7a, 0xc6, 0xea, 0xff, 0xee, 0xeb,
- 0xba, 0xce, 0x9a, 0xc6, 0xff, 0xff, 0xef, 0x6b, 0xba, 0xce, 0x7b, 0xc6, 0xef, 0xfe, 0xfe, 0xab, 0xbb, 0xce, 0x9a, 0xc6, 0xf7, 0xff, 0xba, 0xab, 0xbb, 0xce, 0x9a, 0xc6, 0xdf, 0xfa, 0xbb, 0xba,
- 0xbb, 0xce, 0x9a, 0xc6, 0xde, 0xff, 0xdf, 0xae, 0xbb, 0xd6, 0x7a, 0xc6, 0xff, 0xff, 0xaf, 0xfe, 0xbb, 0xce, 0x9a, 0xc6, 0xef, 0xff, 0xff, 0xab, 0xbb, 0xce, 0x7a, 0xce, 0xab, 0xbb, 0xaf, 0xae,
- 0xbb, 0xce, 0x7a, 0xce, 0xff, 0xbf, 0xee, 0xaf, 0xba, 0xce, 0x9b, 0xce, 0x5d, 0x57, 0x6d, 0x5d, 0xbb, 0xd6, 0x7a, 0xc6, 0xea, 0xfe, 0xfa, 0xff, 0x9b, 0xd6, 0x9a, 0xc6, 0xfe, 0xaf, 0xfa, 0xfb,
- 0xba, 0xce, 0x7b, 0xce, 0xee, 0xfa, 0xaa, 0xea, 0xbb, 0xd6, 0x7a, 0xce, 0xfa, 0xbf, 0xff, 0xff, 0xbb, 0xd6, 0x9a, 0xc6, 0xff, 0xff, 0xff, 0xbe, 0xbb, 0xce, 0x7a, 0xc6, 0xaa, 0xba, 0xaa, 0xaa,
- 0xbb, 0xce, 0x9a, 0xce, 0xd5, 0xf6, 0x7f, 0xd7, 0xba, 0xce, 0x9b, 0xce, 0xd5, 0xcd, 0xfd, 0x1a, 0xba, 0xce, 0x9b, 0xce, 0x2f, 0x5f, 0xdb, 0xf0, 0xba, 0xd6, 0x9b, 0xce, 0xff, 0xfd, 0xff, 0xff,
- 0xbb, 0xce, 0x9a, 0xce, 0xcf, 0x37, 0xd7, 0xff, 0xba, 0xd6, 0x9b, 0xce, 0xd7, 0xaf, 0xff, 0xdf, 0xbb, 0xd6, 0x9a, 0xce, 0xfe, 0xff, 0xbf, 0x2b, 0xbb, 0xd6, 0x9a, 0xce, 0xdd, 0xef, 0xbf, 0xa8,
- 0xba, 0xd6, 0x9b, 0xce, 0xfe, 0xba, 0xea, 0xfe, 0x9a, 0xd6, 0xbb, 0xce, 0xbf, 0xed, 0xde, 0xff, 0xba, 0xd6, 0x9b, 0xce, 0xeb, 0xea, 0xaf, 0xae, 0xbb, 0xd6, 0x9a, 0xce, 0xfb, 0xaa, 0xaa, 0xaa,
- 0xda, 0xd6, 0x9b, 0xce, 0xbf, 0xef, 0xff, 0xff, 0xdb, 0xd6, 0x9a, 0xce, 0xef, 0xfa, 0xfb, 0xea, 0x9a, 0xd6, 0xdb, 0xce, 0xaf, 0xfe, 0xfa, 0xfe, 0xdb, 0xd6, 0xba, 0xce, 0xdf, 0xdf, 0xef, 0xaf,
- 0xdb, 0xd6, 0x9a, 0xce, 0xab, 0xaa, 0xba, 0xea, 0xba, 0xd6, 0xdb, 0xce, 0xaa, 0x3e, 0x3e, 0x8a, 0xdb, 0xd6, 0x9a, 0xce, 0xae, 0xaa, 0xaa, 0xea, 0x9b, 0xd6, 0xda, 0xce, 0xef, 0xff, 0xef, 0xab,
- 0xdb, 0xd6, 0x9a, 0xce, 0xbe, 0xaa, 0xab, 0xaa, 0x1b, 0xdf, 0xba, 0xce, 0x20, 0x55, 0x7d, 0x5f, 0x7d, 0xe7, 0x06, 0x52, 0x57, 0x00, 0x00, 0x00, 0x5d, 0xe7, 0x84, 0x41, 0x55, 0x80, 0x00, 0x00,
- 0x7c, 0xe7, 0xe6, 0x51, 0x55, 0x57, 0x00, 0x00, 0x5c, 0xe7, 0xc5, 0x51, 0x55, 0x55, 0xfe, 0x00, 0x5c, 0xe7, 0xe5, 0x51, 0x55, 0x55, 0xf5, 0x00, 0x7c, 0xdf, 0xe6, 0x51, 0x55, 0x55, 0x77, 0x00,
- 0x5b, 0xdf, 0xe5, 0x51, 0x55, 0x55, 0x55, 0xc0, 0xed, 0x7b, 0xe6, 0x59, 0xd5, 0xff, 0xbf, 0x2f, 0x5b, 0xdf, 0x26, 0x62, 0x55, 0x57, 0x5f, 0x03, 0x5b, 0xdf, 0x06, 0x62, 0x55, 0xd5, 0xdf, 0x00,
- 0x5c, 0xe7, 0x47, 0x62, 0x55, 0xdf, 0xd5, 0x00, 0xfb, 0xd6, 0x67, 0x6a, 0xd7, 0xd5, 0x2b, 0x00, 0x5c, 0xdf, 0x09, 0x7b, 0x55, 0xf5, 0x00, 0x00, 0x1b, 0xdf, 0x09, 0x73, 0x57, 0x3f, 0x00, 0x00,
- 0x3c, 0xdf, 0x0a, 0x6b, 0xad, 0x00, 0x00, 0x00, 0x3b, 0xdf, 0xba, 0xd6, 0x0b, 0x5d, 0x75, 0xf7, 0x3c, 0xdf, 0xbb, 0xd6, 0xd8, 0x55, 0x57, 0xf5, 0xdb, 0xde, 0xba, 0xd6, 0xa7, 0xff, 0xff, 0xff,
- 0xdb, 0xde, 0xda, 0xce, 0xaa, 0xbe, 0xaf, 0xaf, 0xdb, 0xde, 0xba, 0xd6, 0xef, 0xbb, 0xdf, 0xfe, 0xdb, 0xd6, 0xba, 0xce, 0xa0, 0x00, 0x08, 0x82, 0xdb, 0xd6, 0xba, 0xd6, 0x00, 0x0c, 0x88, 0xef,
- 0xdb, 0xd6, 0xba, 0xd6, 0x9c, 0x00, 0x20, 0xeb, 0xdb, 0xd6, 0xba, 0xd6, 0x02, 0xf2, 0x80, 0x12, 0xbb, 0xde, 0xda, 0xce, 0xeb, 0xaf, 0xaf, 0xef, 0xdb, 0xd6, 0xba, 0xd6, 0x0b, 0x00, 0x82, 0x00,
- 0xdb, 0xd6, 0xbb, 0xd6, 0x08, 0x00, 0xab, 0x2f, 0xfb, 0xd6, 0xba, 0xce, 0xaa, 0xaa, 0xaa, 0xba, 0xfb, 0xde, 0xba, 0xd6, 0xee, 0xff, 0xff, 0xef, 0xfb, 0xde, 0xda, 0xce, 0xff, 0xff, 0xff, 0xef,
- 0xfb, 0xd6, 0xba, 0xd6, 0xab, 0xbb, 0xab, 0xff, 0xdb, 0xd6, 0xba, 0xd6, 0x20, 0x08, 0x88, 0x30, 0xfb, 0xd6, 0xba, 0xd6, 0xff, 0xee, 0xab, 0xbe, 0xfb, 0xde, 0xba, 0xd6, 0xee, 0xff, 0xff, 0xfe,
- 0xdb, 0xde, 0xba, 0xd6, 0xbe, 0xba, 0xff, 0xba, 0xfb, 0xd6, 0xbb, 0xd6, 0xab, 0xaf, 0xae, 0xfa, 0xfb, 0xd6, 0xba, 0xd6, 0xf7, 0xfb, 0xaa, 0xff, 0xfb, 0xde, 0xdb, 0xd6, 0x55, 0x55, 0x55, 0xff,
- 0xfb, 0xd6, 0xba, 0xd6, 0xeb, 0xff, 0xfa, 0xbf, 0xdb, 0xd6, 0xba, 0xd6, 0x38, 0xc0, 0xa8, 0x02, 0xdb, 0xde, 0xbb, 0xd6, 0x7f, 0xba, 0xfb, 0xff, 0xdb, 0xd6, 0xba, 0xd6, 0x00, 0x82, 0x80, 0x83,
- 0xfb, 0xde, 0xba, 0xd6, 0xed, 0xff, 0xff, 0xff, 0xfb, 0xd6, 0xba, 0xd6, 0xfa, 0xbf, 0xbf, 0xfa, 0xfb, 0xde, 0xda, 0xd6, 0x55, 0xdb, 0xf5, 0x55, 0xdb, 0xde, 0xba, 0xd6, 0xeb, 0xae, 0xeb, 0xaa,
- 0xfb, 0xd6, 0xba, 0xd6, 0xff, 0xaa, 0xea, 0xae, 0xdb, 0xde, 0xba, 0xd6, 0xba, 0xae, 0xaa, 0xaa, 0xfb, 0xd6, 0xda, 0xd6, 0xfd, 0x57, 0xfd, 0x51, 0xdb, 0xde, 0xda, 0xce, 0xaa, 0xaa, 0xab, 0xaa,
- 0xdb, 0xde, 0xfb, 0xd6, 0xcf, 0xf8, 0xbf, 0xbf, 0xfc, 0xde, 0xda, 0xd6, 0xd5, 0xdf, 0xff, 0xdf, 0xfb, 0xde, 0xdb, 0xd6, 0xdf, 0xfd, 0xff, 0xfb, 0xfb, 0xde, 0xdb, 0xd6, 0x7f, 0xfd, 0xff, 0x77,
- 0xfc, 0xde, 0xda, 0xd6, 0xdf, 0xf7, 0xff, 0xbf, 0xfc, 0xde, 0xda, 0xd6, 0x7f, 0x7f, 0xff, 0xff, 0xfb, 0xde, 0xda, 0xd6, 0xff, 0xef, 0x7d, 0xd7, 0xfb, 0xde, 0xba, 0xd6, 0xff, 0xff, 0xee, 0xfa,
- 0xdb, 0xd6, 0xba, 0xd6, 0x00, 0xe0, 0x00, 0x02, 0xfc, 0xd6, 0xda, 0xd6, 0xfd, 0xbd, 0xdf, 0x57, 0xfb, 0xde, 0xba, 0xd6, 0xef, 0xff, 0xef, 0xfb, 0xfb, 0xde, 0xda, 0xd6, 0xd5, 0xfd, 0xff, 0x95,
- 0xfb, 0xd6, 0xda, 0xd6, 0x47, 0x75, 0xd2, 0x57, 0xfb, 0xd6, 0xda, 0xd6, 0xf8, 0x5f, 0xd5, 0xd7, 0xfb, 0xde, 0xba, 0xd6, 0xee, 0xee, 0xff, 0xff, 0xfb, 0xde, 0xba, 0xd6, 0xbe, 0xff, 0xeb, 0xfb,
- 0xfb, 0xd6, 0xba, 0xd6, 0xbf, 0xea, 0xea, 0xab, 0xfb, 0xde, 0xda, 0xd6, 0x5d, 0x55, 0xdf, 0x5e, 0xfb, 0xde, 0xda, 0xd6, 0xf9, 0xff, 0x5f, 0xf5, 0xfb, 0xd6, 0xda, 0xd6, 0xed, 0xf3, 0xd5, 0xf5,
- 0xfb, 0xd6, 0xda, 0xd6, 0x75, 0x55, 0x5e, 0x57, 0xfb, 0xd6, 0xda, 0xd6, 0x5f, 0xdd, 0xfa, 0x5f, 0xfb, 0xd6, 0xba, 0xd6, 0xfe, 0xee, 0xbe, 0xae, 0xfc, 0xde, 0xda, 0xd6, 0xd5, 0xfd, 0xfd, 0x5f,
- 0xfb, 0xde, 0xda, 0xd6, 0xfb, 0xd7, 0xd5, 0xdf, 0xfb, 0xde, 0xba, 0xd6, 0xbb, 0xba, 0xff, 0xfd, 0xfb, 0xde, 0xda, 0xd6, 0x5f, 0xd5, 0x55, 0xf5, 0xdb, 0xde, 0xba, 0xd6, 0xea, 0xeb, 0xbe, 0xff,
- 0xfb, 0xd6, 0xda, 0xd6, 0x55, 0xbd, 0x55, 0xd7, 0xdb, 0xde, 0xba, 0xd6, 0xea, 0xea, 0xfe, 0xff, 0xdb, 0xde, 0xba, 0xce, 0xaa, 0xaa, 0xbf, 0xff, 0xdb, 0xd6, 0xba, 0xd6, 0xe8, 0x2b, 0x88, 0xba,
- 0x7a, 0xce, 0x9b, 0xc6, 0xbf, 0xaf, 0xaa, 0xdf, 0x9b, 0xce, 0x7a, 0xc6, 0xa8, 0xa8, 0xba, 0xa2, 0x9b, 0xce, 0x79, 0xc6, 0x88, 0xaa, 0x3a, 0xaa, 0x9b, 0xce, 0x7a, 0xc6, 0x0a, 0xaa, 0x88, 0xaa,
- 0x9b, 0xce, 0x7a, 0xc6, 0xa8, 0x8a, 0x8a, 0x02, 0xbb, 0xce, 0x7a, 0xc6, 0xbe, 0xff, 0xef, 0xab, 0xbb, 0xce, 0x7a, 0xc6, 0xab, 0xaa, 0xff, 0xae, 0xbb, 0xd6, 0x9a, 0xc6, 0xff, 0xff, 0xef, 0xff,
- 0xbb, 0xce, 0x7a, 0xce, 0xae, 0xfa, 0xeb, 0xef, 0xbb, 0xce, 0x9a, 0xc6, 0xaf, 0xaa, 0xaa, 0xaa, 0xbb, 0xce, 0x9a, 0xce, 0x55, 0x55, 0x55, 0x95, 0xbb, 0xce, 0x9a, 0xce, 0x5b, 0x7f, 0x55, 0x65,
- 0xbb, 0xce, 0x7a, 0xce, 0xfa, 0xae, 0xaa, 0xea, 0xbb, 0xce, 0x9a, 0xce, 0x57, 0x65, 0x55, 0xf7, 0xbb, 0xd6, 0x9a, 0xce, 0x55, 0x55, 0xfd, 0x5f, 0x9b, 0xce, 0x7a, 0xce, 0xc2, 0x00, 0x20, 0x00,
- 0xbb, 0xd6, 0x9a, 0xc6, 0xfe, 0xff, 0xfb, 0xba, 0xbb, 0xd6, 0x9a, 0xc6, 0xff, 0xff, 0xeb, 0xbf, 0xbb, 0xce, 0x9a, 0xce, 0x55, 0x7f, 0x7f, 0xa9, 0xbb, 0xd6, 0x9a, 0xc6, 0xff, 0xef, 0xaa, 0xbf,
- 0xbb, 0xce, 0x9a, 0xc6, 0xfa, 0xab, 0xbe, 0xae, 0xba, 0xd6, 0x9b, 0xc6, 0xff, 0xef, 0xfb, 0xaa, 0x9b, 0xd6, 0x9a, 0xce, 0x7d, 0xd5, 0x5d, 0x6a, 0xba, 0xd6, 0x9b, 0xc6, 0xef, 0xfa, 0xfa, 0xaa,
- 0xbb, 0xce, 0x9a, 0xce, 0x75, 0x3e, 0xb6, 0x8b, 0xbb, 0xd6, 0x9a, 0xce, 0x77, 0xff, 0xff, 0xf9, 0xba, 0xd6, 0x9b, 0xce, 0xfd, 0xff, 0xff, 0xbf, 0xbb, 0xd6, 0x9a, 0xce, 0xbf, 0xff, 0xeb, 0xfb,
- 0xbb, 0xd6, 0x9a, 0xce, 0xbf, 0xff, 0xbf, 0xab, 0xbb, 0xd6, 0x9a, 0xce, 0xf2, 0xaa, 0xaa, 0xaa, 0xbb, 0xd6, 0xba, 0xce, 0x55, 0xf7, 0xf7, 0xaf, 0xbb, 0xd6, 0xba, 0xce, 0xaf, 0xfd, 0xff, 0xae,
- 0xdb, 0xd6, 0xba, 0xce, 0x55, 0xf7, 0x6f, 0xb7, 0xdb, 0xd6, 0xba, 0xce, 0xf5, 0x65, 0xfd, 0x76, 0x9b, 0xd6, 0xda, 0xce, 0xab, 0xfe, 0xfe, 0xff, 0xdb, 0xd6, 0xba, 0xce, 0x57, 0xbf, 0xff, 0xbe,
- 0xdb, 0xd6, 0xba, 0xce, 0x75, 0xfb, 0xae, 0xaf, 0xdb, 0xd6, 0x9a, 0xce, 0xff, 0xaa, 0xea, 0xaa, 0xda, 0xd6, 0x9b, 0xce, 0xef, 0xab, 0xfa, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0xaf, 0xea, 0xaf, 0xee,
- 0xdb, 0xd6, 0xba, 0xce, 0xfe, 0xa9, 0xef, 0xab, 0xdb, 0xd6, 0xba, 0xce, 0xbf, 0xae, 0xaa, 0xae, 0xdb, 0xd6, 0xba, 0xce, 0x6e, 0x6a, 0xab, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0xea, 0xbe, 0xab, 0xaa,
- 0xbb, 0xd6, 0xda, 0xce, 0xaa, 0xaa, 0xf2, 0x0a, 0xdb, 0xd6, 0xba, 0xce, 0xbb, 0xfa, 0xae, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0xee, 0xae, 0xaa, 0xba, 0xdb, 0xd6, 0xba, 0xce, 0xbb, 0xaa, 0xab, 0xaa,
- 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0x2a, 0xaa, 0xae, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xaa, 0xaa, 0xaa, 0xdb, 0xd6, 0xba, 0xd6, 0x77, 0xca, 0x02, 0xfa, 0xdb, 0xd6, 0xba, 0xce, 0xaf, 0x8a, 0xaa, 0xaa,
- 0xdb, 0xd6, 0xba, 0xce, 0x36, 0x02, 0x8a, 0xaa, 0x1b, 0xdf, 0xba, 0xd6, 0xe2, 0xff, 0x55, 0xf7, 0xdb, 0xd6, 0xba, 0xd6, 0xb4, 0x02, 0x8a, 0x86, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xaa, 0xa8, 0x2a,
- 0xdb, 0xd6, 0xba, 0xd6, 0xbe, 0x8f, 0xba, 0x20, 0xdb, 0xd6, 0xba, 0xce, 0xa2, 0x02, 0x88, 0x0a, 0xdb, 0xd6, 0xba, 0xce, 0xa8, 0xaa, 0x80, 0x2a, 0xdb, 0xd6, 0xba, 0xd6, 0x3f, 0xc2, 0xa0, 0xec,
- 0xdb, 0xd6, 0xba, 0xce, 0xa8, 0xa2, 0x02, 0x8a, 0xdb, 0xd6, 0xba, 0xd6, 0x78, 0x08, 0x02, 0x2a, 0xdb, 0xd6, 0xba, 0xd6, 0x82, 0x8a, 0xbf, 0x00, 0xdb, 0xd6, 0xba, 0xce, 0x82, 0x00, 0x2a, 0xa8,
- 0xdb, 0xd6, 0xba, 0xd6, 0x08, 0x02, 0x0c, 0x20, 0xdb, 0xde, 0xba, 0xce, 0xaa, 0xba, 0xfb, 0xba, 0xdb, 0xd6, 0xba, 0xd6, 0x2a, 0x3c, 0xae, 0x80, 0xdb, 0xd6, 0xba, 0xd6, 0xf8, 0xf8, 0x8a, 0xa0,
- 0xdb, 0xd6, 0xba, 0xce, 0xa2, 0x82, 0x02, 0x8a, 0xdb, 0xde, 0xba, 0xce, 0xaa, 0xba, 0xfb, 0xfe, 0xdb, 0xd6, 0xba, 0xd6, 0x3a, 0xad, 0x82, 0x2a, 0xdb, 0xd6, 0xba, 0xce, 0x2a, 0xaa, 0xaa, 0x2a,
- 0xdb, 0xd6, 0xba, 0xd6, 0xee, 0x88, 0xea, 0xa8, 0xfb, 0xde, 0xba, 0xce, 0xbb, 0xff, 0xff, 0xbf, 0xdb, 0xde, 0xba, 0xce, 0xaf, 0xbb, 0xba, 0xae, 0xdb, 0xde, 0xda, 0xce, 0xaa, 0xfe, 0xfe, 0xff,
- 0xdb, 0xde, 0xba, 0xce, 0xea, 0xaa, 0xae, 0xea, 0xfb, 0xd6, 0xba, 0xd6, 0xaa, 0xbf, 0xff, 0xfd, 0xdc, 0xde, 0xba, 0xce, 0xaa, 0xaa, 0xea, 0xea, 0xdb, 0xd6, 0xba, 0xd6, 0x00, 0x98, 0x80, 0x00,
- 0xfb, 0xd6, 0xba, 0xd6, 0xfe, 0xef, 0xff, 0xab, 0xfb, 0xde, 0xba, 0xce, 0xeb, 0xfe, 0xff, 0xff, 0xdb, 0xd6, 0xba, 0xd6, 0x08, 0x8a, 0xb0, 0x0a, 0xdb, 0xde, 0xba, 0xce, 0xeb, 0xae, 0xae, 0xea,
- 0xfb, 0xd6, 0xba, 0xce, 0xfa, 0xae, 0xea, 0xbe, 0xdb, 0xd6, 0xba, 0xce, 0x22, 0x22, 0xa2, 0xa0, 0xdb, 0xd6, 0xba, 0xd6, 0x00, 0xae, 0x8a, 0xa8, 0xba, 0xd6, 0xdb, 0xce, 0xaa, 0xe8, 0xaa, 0xea,
- 0xdb, 0xde, 0xba, 0xce, 0xfe, 0xbf, 0xff, 0xfa, 0xdb, 0xde, 0xba, 0xce, 0xab, 0xaa, 0xba, 0xeb, 0xdb, 0xde, 0xba, 0xce, 0xaa, 0xaa, 0xeb, 0xbf, 0xfb, 0xd6, 0xba, 0xd6, 0xff, 0xff, 0xfb, 0xeb,
- 0xfc, 0xde, 0xba, 0xce, 0xbf, 0xeb, 0xeb, 0xef, 0xfc, 0xde, 0xba, 0xce, 0xeb, 0xab, 0xbb, 0xba, 0xfc, 0xde, 0xba, 0xce, 0xba, 0xba, 0xaa, 0xae, 0xfc, 0xde, 0xda, 0xd6, 0xf7, 0xff, 0x75, 0x7d,
- 0xdb, 0xde, 0xda, 0xd6, 0xaf, 0x5f, 0x5d, 0x55, 0xfb, 0xde, 0xda, 0xd6, 0xf7, 0x57, 0x75, 0x55, 0xfc, 0xde, 0xba, 0xd6, 0xbf, 0xaa, 0xaf, 0xbf, 0xfc, 0xde, 0xda, 0xd6, 0xef, 0xe7, 0xff, 0xaf,
- 0xfb, 0xde, 0xda, 0xd6, 0x5f, 0xff, 0xfa, 0xff, 0xfb, 0xde, 0xda, 0xd6, 0xf5, 0xfd, 0x77, 0xff, 0xfc, 0xde, 0xda, 0xd6, 0xdb, 0xd5, 0x77, 0x57, 0xfc, 0xde, 0xda, 0xd6, 0xff, 0xfb, 0xff, 0xd7,
- 0xfb, 0xde, 0xda, 0xd6, 0x55, 0x55, 0x77, 0xed, 0xfb, 0xd6, 0xda, 0xd6, 0x95, 0xff, 0x77, 0xf7, 0xfb, 0xde, 0xba, 0xce, 0xfa, 0xea, 0xea, 0xae, 0xfb, 0xde, 0xda, 0xd6, 0x95, 0xf5, 0x7d, 0xd7,
- 0xdb, 0xde, 0xba, 0xd6, 0xfb, 0xaa, 0xaa, 0xef, 0xfb, 0xde, 0xda, 0xd6, 0xb5, 0x77, 0x5d, 0x55, 0xfb, 0xde, 0xdb, 0xd6, 0x7d, 0x7d, 0xd5, 0x55, 0xfc, 0xde, 0xba, 0xd6, 0xfe, 0xeb, 0xfe, 0xfe,
- 0xfb, 0xd6, 0xba, 0xd6, 0xaa, 0xab, 0xab, 0xeb, 0xfb, 0xde, 0xba, 0xce, 0xbb, 0xaa, 0xfe, 0xfb, 0xfb, 0xde, 0xba, 0xd6, 0xaa, 0xeb, 0xff, 0xff, 0xfb, 0xde, 0xba, 0xd6, 0xfb, 0xff, 0xff, 0xff,
- 0xdb, 0xde, 0xba, 0xce, 0xaa, 0xee, 0xae, 0xba, 0xdb, 0xd6, 0xba, 0xd6, 0x00, 0x00, 0x0a, 0x3e, 0xdb, 0xd6, 0xba, 0xd6, 0x08, 0x8e, 0xa3, 0xae, 0xdb, 0xde, 0xba, 0xce, 0xaa, 0xea, 0xea, 0xfe,
- 0xfc, 0xde, 0xba, 0xce, 0xfb, 0xff, 0xff, 0xef, 0xba, 0xd6, 0xdb, 0xce, 0x08, 0xae, 0xaa, 0x2b, 0xdb, 0xde, 0xba, 0xce, 0xaa, 0xab, 0xeb, 0xfa, 0xdb, 0xd6, 0xba, 0xce, 0xa0, 0x8a, 0xaa, 0x2a,
- 0xdb, 0xde, 0xba, 0xce, 0xbf, 0xfb, 0xfe, 0xff, 0xdb, 0xd6, 0xba, 0xce, 0xa8, 0xaa, 0xa0, 0x2a, 0xdb, 0xd6, 0xba, 0xce, 0xa8, 0xaa, 0xa2, 0xba, 0xdb, 0xde, 0xba, 0xce, 0xbf, 0xff, 0xfa, 0xff,
- 0x9b, 0xce, 0x7a, 0xc6, 0xa8, 0x2a, 0x82, 0x08, 0xbb, 0xce, 0x7a, 0xc6, 0xfe, 0xaa, 0xab, 0xba, 0xbb, 0xce, 0x7a, 0xc6, 0xf8, 0x8f, 0x2a, 0xab, 0xbb, 0xce, 0x7a, 0xc6, 0xef, 0xba, 0xaa, 0xee,
- 0xbb, 0xce, 0x9a, 0xce, 0x55, 0x75, 0xf5, 0x65, 0xbb, 0xce, 0x7a, 0xc6, 0xfa, 0xaa, 0xae, 0xaa, 0xbb, 0xce, 0x7a, 0xce, 0xfb, 0xbe, 0xaa, 0xaf, 0xbb, 0xce, 0x9a, 0xce, 0x5a, 0x55, 0x55, 0x7d,
- 0xba, 0xce, 0x9b, 0xce, 0xf5, 0x5f, 0x5e, 0x75, 0xbb, 0xd6, 0x9a, 0xc6, 0xef, 0xfa, 0xfe, 0xea, 0xbb, 0xce, 0x9a, 0xce, 0x57, 0x9d, 0x56, 0x28, 0xbb, 0xce, 0x9a, 0xce, 0xb5, 0x3f, 0x77, 0xdf,
- 0xba, 0xce, 0x9b, 0xce, 0x8d, 0xed, 0x7d, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xff, 0xff, 0xdf, 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xfd, 0xff, 0x7e, 0xba, 0xce, 0x9b, 0xce, 0x69, 0xf5, 0xcf, 0xd5,
- 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0x7f, 0xfe, 0xdb, 0x9b, 0xd6, 0xba, 0xce, 0xad, 0xab, 0xd7, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0x6f, 0xab, 0xae, 0xbb, 0xd6, 0x9a, 0xce, 0x5f, 0xff, 0xef, 0xab,
- 0x9b, 0xd6, 0xba, 0xce, 0xaf, 0xff, 0xdb, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0x7f, 0xed, 0xb5, 0xeb, 0x9b, 0xd6, 0xba, 0xce, 0xd5, 0xaa, 0xff, 0xd5, 0x9b, 0xd6, 0xba, 0xce, 0xfb, 0xfe, 0xff, 0xfe,
- 0xbb, 0xd6, 0x9a, 0xce, 0xfb, 0xff, 0xfe, 0xab, 0xba, 0xce, 0x9b, 0xce, 0x3e, 0x2b, 0x00, 0x28, 0xda, 0xd6, 0x9b, 0xce, 0xff, 0xfb, 0xbf, 0xfb, 0xda, 0xd6, 0x9b, 0xce, 0xaf, 0xfe, 0xfe, 0xfe,
- 0xbb, 0xd6, 0x9a, 0xce, 0xea, 0xaa, 0xaa, 0x80, 0x9a, 0xd6, 0xdb, 0xce, 0xeb, 0xea, 0xaa, 0xff, 0x9b, 0xd6, 0xda, 0xce, 0xaa, 0xbf, 0xeb, 0xbe, 0xba, 0xd6, 0xdb, 0xce, 0xa2, 0xaa, 0xaf, 0xe2,
- 0xdb, 0xd6, 0xba, 0xce, 0xf7, 0xff, 0xfb, 0x5a, 0xda, 0xd6, 0xbb, 0xce, 0xdd, 0xbf, 0xe7, 0xb7, 0xdb, 0xd6, 0xba, 0xce, 0x5f, 0xfa, 0xab, 0xff, 0xdb, 0xd6, 0xba, 0xce, 0xea, 0xae, 0xaa, 0xba,
- 0xdb, 0xd6, 0xba, 0xce, 0xfe, 0xae, 0xaa, 0xa2, 0xdb, 0xd6, 0xba, 0xce, 0xbe, 0xfa, 0xaa, 0xae, 0xdb, 0xd6, 0xba, 0xce, 0x6b, 0xaa, 0xaa, 0xa2, 0xdb, 0xd6, 0xba, 0xce, 0xba, 0x2b, 0x8a, 0xaa,
- 0xdb, 0xd6, 0xba, 0xce, 0xab, 0xaa, 0xaa, 0xaa, 0xdb, 0xde, 0xba, 0xce, 0xff, 0xbf, 0xff, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0xba, 0xaa, 0xa8, 0x88, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xaa, 0x8a, 0xaa,
- 0xdb, 0xd6, 0xba, 0xce, 0x8a, 0xaa, 0xaa, 0xa0, 0xdb, 0xd6, 0xba, 0xce, 0x2e, 0xaa, 0xb2, 0xa2, 0xdb, 0xd6, 0xba, 0xd6, 0xab, 0xaa, 0x2b, 0xa6, 0xdb, 0xd6, 0xba, 0xd6, 0xac, 0xad, 0x0f, 0x2b,
- 0xba, 0xd6, 0xdb, 0xce, 0xaa, 0x8a, 0xaf, 0xab, 0xbb, 0xd6, 0xda, 0xce, 0xac, 0xab, 0xa8, 0x2a, 0xdb, 0xd6, 0xba, 0xd6, 0x3f, 0xb6, 0x2a, 0xa3, 0xdb, 0xde, 0xba, 0xce, 0xff, 0xee, 0xeb, 0xbb,
- 0xdb, 0xde, 0xba, 0xce, 0xbb, 0xff, 0xae, 0xbe, 0xbb, 0xde, 0xda, 0xce, 0xaa, 0xbf, 0xff, 0xfe, 0xdb, 0xd6, 0xba, 0xce, 0x82, 0x82, 0x0a, 0x22, 0xdb, 0xd6, 0xba, 0xce, 0xa8, 0xaa, 0x88, 0x80,
- 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xa8, 0x22, 0xa2, 0xfb, 0xd6, 0xba, 0xce, 0xae, 0xab, 0xea, 0xbb, 0xdb, 0xd6, 0xba, 0xce, 0x2a, 0x28, 0xa8, 0x20, 0xdc, 0xde, 0xba, 0xce, 0xfe, 0xbb, 0xab, 0xab,
- 0xdc, 0xde, 0xba, 0xce, 0xbf, 0xfa, 0xba, 0xfb, 0xdb, 0xd6, 0xba, 0xd6, 0xdc, 0x02, 0x20, 0x8e, 0xfb, 0xde, 0xba, 0xce, 0xfb, 0xff, 0xbe, 0xbf, 0xdb, 0xde, 0xba, 0xce, 0xea, 0xfa, 0xba, 0xfa,
- 0xdb, 0xd6, 0xba, 0xd6, 0xa0, 0xf0, 0xb2, 0xa8, 0xdb, 0xd6, 0xbb, 0xd6, 0x08, 0x03, 0xaf, 0xa6, 0xdb, 0xd6, 0xba, 0xce, 0x02, 0x82, 0x8a, 0xaa, 0xfb, 0xd6, 0xba, 0xd6, 0xfe, 0xef, 0xeb, 0xff,
- 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0x80, 0x82, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0x8a, 0xaa, 0xa2, 0xdb, 0xd6, 0xbb, 0xce, 0xaa, 0xa2, 0xa8, 0xbf, 0xbb, 0xde, 0xda, 0xce, 0xff, 0xaf, 0xff, 0xff,
- 0xdb, 0xd6, 0xba, 0xce, 0xa0, 0x0a, 0xaa, 0x02, 0xdb, 0xde, 0xba, 0xce, 0xff, 0xab, 0xeb, 0xfa, 0xdb, 0xd6, 0xba, 0xd6, 0xe0, 0xa0, 0xbe, 0x00, 0xdb, 0xd6, 0xba, 0xd6, 0x3c, 0xe0, 0xaa, 0x0a,
- 0xdb, 0xd6, 0xba, 0xd6, 0x2a, 0x2f, 0x22, 0xa1, 0xdb, 0xd6, 0xba, 0xce, 0x02, 0xaa, 0xaa, 0xa8, 0xdb, 0xd6, 0xba, 0xce, 0xa2, 0xa2, 0x0a, 0xa2, 0xdb, 0xde, 0xba, 0xce, 0xab, 0xef, 0xfb, 0xba,
- 0xdb, 0xd6, 0xba, 0xd6, 0x0c, 0x3a, 0x02, 0xb3, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xa0, 0xa8, 0x8a, 0xfb, 0xd6, 0xba, 0xd6, 0xff, 0xaf, 0xff, 0xeb, 0xdb, 0xd6, 0xba, 0xce, 0x08, 0x8a, 0xa2, 0x28,
- 0xdb, 0xd6, 0xba, 0xce, 0x8a, 0xa2, 0xaa, 0xaa, 0xdb, 0xd6, 0xbb, 0xd6, 0x9a, 0x5f, 0xfd, 0xb3, 0xdb, 0xd6, 0xbb, 0xd6, 0xfa, 0x63, 0x25, 0x75, 0xdb, 0xd6, 0xba, 0xd6, 0xe1, 0xfd, 0xfa, 0xd2,
- 0xdb, 0xd6, 0xbb, 0xce, 0x82, 0x3a, 0x8a, 0xbb, 0xdb, 0xde, 0xba, 0xce, 0xab, 0xae, 0xff, 0xaa, 0xfb, 0xde, 0xba, 0xd6, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xde, 0xda, 0xd6, 0x55, 0x55, 0x55, 0x7d,
- 0xfc, 0xde, 0xba, 0xce, 0xee, 0xaf, 0xea, 0xaa, 0xfc, 0xde, 0xba, 0xd6, 0xbf, 0xff, 0xff, 0xeb, 0xfb, 0xde, 0xda, 0xd6, 0x55, 0x75, 0xd5, 0xff, 0xfb, 0xd6, 0xba, 0xd6, 0xaa, 0xaa, 0xaa, 0xaf,
- 0xfc, 0xd6, 0xda, 0xd6, 0xd9, 0xef, 0x7b, 0xff, 0xdc, 0xde, 0xda, 0xd6, 0xd5, 0xff, 0xff, 0xfe, 0xfb, 0xde, 0xbb, 0xd6, 0xfe, 0xff, 0xfa, 0xff, 0xfb, 0xde, 0xda, 0xd6, 0x77, 0xd5, 0xd5, 0xfb,
- 0xdb, 0xde, 0xfb, 0xd6, 0xaf, 0xfe, 0xdf, 0xff, 0xdb, 0xde, 0xfb, 0xd6, 0xff, 0x2a, 0xbf, 0xff, 0xfb, 0xde, 0xba, 0xd6, 0x6e, 0xab, 0xaa, 0xbe, 0xfb, 0xd6, 0xdb, 0xd6, 0x55, 0xcb, 0x7e, 0x55,
- 0xdc, 0xde, 0xba, 0xd6, 0xeb, 0xea, 0xab, 0xee, 0xdb, 0xd6, 0xbb, 0xd6, 0x2e, 0x08, 0x00, 0x00, 0xfb, 0xde, 0xda, 0xce, 0xff, 0xff, 0xee, 0xff, 0xdb, 0xde, 0xba, 0xd6, 0xaf, 0xae, 0xeb, 0xff,
- 0xfb, 0xde, 0xba, 0xce, 0xea, 0xef, 0xeb, 0xff, 0xdc, 0xde, 0xba, 0xce, 0xaa, 0xaa, 0xab, 0xae, 0xfc, 0xde, 0xba, 0xce, 0xae, 0xbb, 0xab, 0xaf, 0xfb, 0xde, 0xda, 0xd6, 0x5d, 0x55, 0xd5, 0xff,
- 0xdb, 0xde, 0xba, 0xce, 0xba, 0xfe, 0xea, 0xea, 0xdb, 0xd6, 0xba, 0xce, 0xa0, 0xe8, 0xaa, 0xaf, 0xdb, 0xd6, 0xba, 0xce, 0x22, 0xa2, 0x8a, 0xae, 0xdb, 0xd6, 0xba, 0xce, 0x22, 0xaa, 0xaa, 0x2a,
- 0xdb, 0xde, 0xba, 0xce, 0xee, 0xfe, 0xeb, 0xfb, 0xdb, 0xd6, 0xbb, 0xce, 0xaa, 0xeb, 0xaa, 0xae, 0xdb, 0xd6, 0xba, 0xce, 0x0a, 0xef, 0xaa, 0xbe, 0xdb, 0xd6, 0xba, 0xce, 0xa2, 0xaa, 0xba, 0xbb,
- 0xdb, 0xd6, 0xba, 0xd6, 0xfa, 0xbf, 0xdf, 0x97, 0xdb, 0xd6, 0xba, 0xce, 0xba, 0xab, 0xae, 0xbe, 0xdb, 0xd6, 0xba, 0xce, 0xbe, 0xa8, 0xae, 0xeb, 0xdb, 0xd6, 0xbb, 0xce, 0xa2, 0xbe, 0xee, 0xfa,
- 0xdb, 0xd6, 0xba, 0xce, 0xa8, 0xaa, 0xaa, 0xae, 0xdb, 0xd6, 0xba, 0xce, 0xab, 0xaa, 0xba, 0xab, 0xdb, 0xd6, 0xba, 0xce, 0xfa, 0xbb, 0xab, 0x3a, 0xdb, 0xde, 0xba, 0xce, 0xff, 0xff, 0xff, 0xef,
- 0x9b, 0xd6, 0x9a, 0xc6, 0xff, 0xea, 0xba, 0xaa, 0xbb, 0xce, 0x7a, 0xce, 0xeb, 0xff, 0xaa, 0xaf, 0xbb, 0xce, 0x7a, 0xce, 0xeb, 0xfb, 0xff, 0xaf, 0xbb, 0xd6, 0x7a, 0xc6, 0xab, 0xaf, 0xae, 0xaa,
- 0xbb, 0xd6, 0x9a, 0xc6, 0xfe, 0xfe, 0xea, 0xab, 0xbb, 0xce, 0x9a, 0xce, 0x55, 0x5d, 0xfd, 0xeb, 0xbb, 0xce, 0x9a, 0xce, 0xe5, 0xd5, 0xff, 0xa7, 0xbb, 0xd6, 0x9a, 0xce, 0xd5, 0xdf, 0xff, 0xff,
- 0xbb, 0xd6, 0x9a, 0xce, 0xf7, 0xff, 0xff, 0xff, 0xba, 0xd6, 0x9b, 0xce, 0xff, 0xbf, 0xff, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xfe, 0xaf, 0xae, 0xbb, 0xd6, 0x9a, 0xce, 0xfb, 0xae, 0xab, 0xbb,
- 0x9b, 0xd6, 0xba, 0xce, 0x5f, 0xfb, 0xfb, 0xf7, 0xbb, 0xd6, 0x9a, 0xce, 0xfe, 0xaf, 0xaf, 0xae, 0xda, 0xd6, 0x9b, 0xce, 0xff, 0xff, 0xff, 0xef, 0xbb, 0xd6, 0x9a, 0xce, 0xbf, 0xab, 0xee, 0xfe,
- 0xbb, 0xd6, 0x9a, 0xce, 0xfb, 0xfe, 0xff, 0xbe, 0x9a, 0xd6, 0xbb, 0xce, 0xff, 0xb7, 0x5e, 0xeb, 0xbb, 0xd6, 0x9a, 0xce, 0xab, 0xae, 0xeb, 0xef, 0xbb, 0xd6, 0x9a, 0xce, 0xba, 0xaf, 0xbb, 0xae,
- 0xbb, 0xd6, 0xba, 0xce, 0xf5, 0xad, 0xee, 0xaa, 0xbb, 0xd6, 0x9a, 0xce, 0xaf, 0xbb, 0xae, 0xaa, 0xbb, 0xd6, 0xba, 0xce, 0xff, 0xff, 0xbf, 0x6b, 0xbb, 0xd6, 0x9a, 0xce, 0xef, 0xaa, 0xaa, 0xaa,
- 0xdb, 0xd6, 0x9a, 0xce, 0xbf, 0xfb, 0xff, 0xff, 0xdb, 0xd6, 0x9a, 0xce, 0xff, 0xff, 0xae, 0xab, 0x9b, 0xd6, 0xda, 0xce, 0xab, 0xff, 0xaa, 0xfe, 0xbb, 0xd6, 0xba, 0xce, 0xbf, 0xf7, 0xea, 0xab,
- 0xda, 0xd6, 0x9b, 0xce, 0xfe, 0xbf, 0xea, 0xea, 0xdb, 0xd6, 0x9a, 0xce, 0xbe, 0xfe, 0xaa, 0xfa, 0xda, 0xd6, 0xbb, 0xce, 0xd7, 0xbf, 0xb9, 0xff, 0xdb, 0xd6, 0xba, 0xce, 0xf7, 0xab, 0xbb, 0x7a,
- 0xdb, 0xd6, 0xba, 0xce, 0xae, 0xab, 0xbe, 0xbe, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xa9, 0xae, 0xaa, 0xba, 0xd6, 0xdb, 0xce, 0x2e, 0xbe, 0xba, 0x2e, 0xda, 0xd6, 0xbb, 0xce, 0xaa, 0xab, 0xab, 0xea,
- 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xae, 0xbf, 0xba, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xaa, 0xaa, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0x2a, 0xaa, 0xaa, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0xa8, 0xaa, 0xaa, 0xa2,
- 0xdb, 0xd6, 0xba, 0xd6, 0x8a, 0xaa, 0x8a, 0xe3, 0xdb, 0xd6, 0xba, 0xce, 0x88, 0xa2, 0xa8, 0xaa, 0xdb, 0xd6, 0xba, 0xd6, 0xea, 0xc0, 0x00, 0x83, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xaa, 0xa8, 0x88,
- 0xdb, 0xde, 0xba, 0xce, 0xea, 0xbe, 0xbb, 0xbf, 0xdb, 0xd6, 0xba, 0xce, 0x20, 0x2a, 0xaa, 0x2a, 0xdb, 0xd6, 0xba, 0xd6, 0xaa, 0x0f, 0xaf, 0xb8, 0xdb, 0xd6, 0xba, 0xce, 0x8a, 0xaa, 0x2a, 0xaa,
- 0xbb, 0xde, 0xda, 0xce, 0xbe, 0xff, 0xeb, 0xfa, 0xdb, 0xd6, 0xba, 0xd6, 0x8e, 0xbe, 0x8f, 0xaa, 0xdb, 0xd6, 0xba, 0xd6, 0x88, 0xa2, 0xe7, 0x42, 0xdb, 0xd6, 0xba, 0xd6, 0xf6, 0x00, 0x02, 0xbb,
- 0xdb, 0xd6, 0xba, 0xce, 0xa0, 0xae, 0xa8, 0xa8, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xaa, 0xaa, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xa2, 0xae, 0x2a, 0xba, 0xd6, 0xdb, 0xce, 0xab, 0x0a, 0xba, 0xfa,
- 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xaa, 0xaa, 0xae, 0xdb, 0xd6, 0xba, 0xce, 0x2a, 0x0a, 0xba, 0xaf, 0xdb, 0xde, 0xba, 0xce, 0xaa, 0xff, 0xbf, 0xbf, 0xdb, 0xd6, 0xba, 0xd6, 0xae, 0x3f, 0xbe, 0x1e,
- 0xdb, 0xd6, 0xba, 0xce, 0x88, 0xaa, 0xa2, 0x8a, 0xbb, 0xd6, 0xda, 0xce, 0x2a, 0xaa, 0x8b, 0xbc, 0xdb, 0xd6, 0xba, 0xd6, 0xcf, 0xab, 0x5e, 0x0b, 0xdb, 0xd6, 0xba, 0xce, 0xa2, 0xaa, 0xaa, 0xea,
- 0xdb, 0xd6, 0xba, 0xce, 0xfa, 0xea, 0xaf, 0xfa, 0xba, 0xd6, 0xdb, 0xce, 0x0a, 0xaa, 0xea, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xbb, 0xee, 0xbb, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xbb, 0x2a, 0xaa,
- 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xaa, 0xea, 0xbe, 0xdb, 0xd6, 0xba, 0xd6, 0x82, 0x7f, 0xd5, 0xdb, 0xdb, 0xd6, 0xba, 0xce, 0xab, 0xaa, 0xaf, 0xfa, 0xdb, 0xd6, 0xbb, 0xce, 0xab, 0xbb, 0xfa, 0xae,
- 0xdb, 0xd6, 0xba, 0xce, 0x8a, 0xea, 0xaa, 0xfe, 0xdb, 0xd6, 0xba, 0xce, 0xa2, 0xaa, 0xa2, 0x2a, 0xbc, 0xde, 0xda, 0xce, 0xff, 0xbf, 0xbf, 0xfa, 0xdb, 0xd6, 0xba, 0xd6, 0x2f, 0xba, 0x50, 0x80,
- 0xdb, 0xd6, 0xba, 0xd6, 0xe2, 0x20, 0xe3, 0xea, 0xdb, 0xd6, 0xba, 0xd6, 0xeb, 0xab, 0x2b, 0xde, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0x88, 0x8a, 0xa2, 0xdb, 0xd6, 0xba, 0xce, 0x22, 0x2a, 0xa2, 0xa2,
- 0xdb, 0xd6, 0xba, 0xce, 0x2a, 0xaa, 0xa8, 0xa8, 0xdb, 0xd6, 0xba, 0xce, 0x0e, 0xaa, 0x88, 0xa2, 0xdb, 0xd6, 0xba, 0xce, 0xb2, 0xac, 0x2a, 0xae, 0xdb, 0xde, 0xba, 0xce, 0xbe, 0xbf, 0xbf, 0xbb,
- 0xdb, 0xd6, 0xba, 0xce, 0xab, 0xaa, 0xa2, 0x22, 0xdc, 0xde, 0xba, 0xce, 0xff, 0xff, 0xab, 0xee, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0x0a, 0xaa, 0xa2, 0xdb, 0xde, 0xba, 0xce, 0xaa, 0xaf, 0xae, 0xee,
- 0xdc, 0xde, 0xba, 0xce, 0xae, 0xaa, 0xae, 0xaa, 0xfc, 0xde, 0xba, 0xce, 0xeb, 0xfb, 0xff, 0xff, 0xdb, 0xde, 0xba, 0xce, 0xae, 0xaa, 0xae, 0xaa, 0xfc, 0xde, 0xba, 0xd6, 0xfe, 0xbf, 0xff, 0xbf,
- 0xfc, 0xde, 0xbb, 0xd6, 0xff, 0xef, 0xfe, 0xef, 0xfc, 0xde, 0xbb, 0xd6, 0xeb, 0xaf, 0xfb, 0xab, 0xdb, 0xde, 0xfb, 0xd6, 0x8a, 0xbf, 0xbe, 0xeb, 0xfc, 0xde, 0xba, 0xd6, 0xff, 0xef, 0xfe, 0xea,
- 0xdc, 0xde, 0xda, 0xd6, 0xef, 0xef, 0xeb, 0x5f, 0xdb, 0xde, 0xfa, 0xce, 0xba, 0xaa, 0xaa, 0xaa, 0xfb, 0xde, 0xdb, 0xd6, 0xdd, 0xdf, 0xd7, 0x5d, 0xfb, 0xde, 0xda, 0xd6, 0xbd, 0xf7, 0xbf, 0xfd,
- 0xfc, 0xde, 0xdb, 0xd6, 0xff, 0x7f, 0xff, 0xf5, 0xfc, 0xde, 0xda, 0xd6, 0xef, 0xdf, 0x7f, 0xff, 0xfb, 0xd6, 0xbb, 0xd6, 0xab, 0xeb, 0xaa, 0xfe, 0xdb, 0xde, 0xbb, 0xce, 0xee, 0xaa, 0xaa, 0xea,
- 0xdb, 0xde, 0xba, 0xce, 0xab, 0xab, 0xbe, 0xff, 0xdb, 0xd6, 0xbb, 0xce, 0x00, 0x80, 0xa8, 0x82, 0xdb, 0xd6, 0xbb, 0xce, 0x88, 0x82, 0xaa, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xa8, 0x88, 0xaa,
- 0xdb, 0xd6, 0xbb, 0xce, 0x0a, 0xa0, 0xaa, 0xea, 0xdb, 0xd6, 0xba, 0xd6, 0x2e, 0x80, 0x53, 0xeb, 0xba, 0xd6, 0xdb, 0xce, 0x82, 0xaa, 0xaa, 0xa9, 0xfb, 0xd6, 0xba, 0xd6, 0xbe, 0xbb, 0xfb, 0xfa,
- 0xdb, 0xd6, 0xba, 0xce, 0x80, 0x80, 0x20, 0xa0, 0xdb, 0xd6, 0xbb, 0xce, 0xfe, 0xba, 0xaa, 0xff, 0xbb, 0xd6, 0xda, 0xce, 0x80, 0xba, 0x82, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0xbb, 0xbb, 0xeb, 0xeb,
- 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xaa, 0xbb, 0xbf, 0xdb, 0xd6, 0xba, 0xce, 0xea, 0xaa, 0xae, 0xeb, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xfa, 0xaa, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0xeb, 0xfe, 0xea, 0xb7,
- 0xdb, 0xd6, 0xba, 0xce, 0xea, 0xbf, 0xff, 0xaa, 0xdb, 0xd6, 0x9a, 0xce, 0xbe, 0xab, 0xaa, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0xeb, 0xfa, 0xaa, 0xfa, 0xdb, 0xd6, 0xba, 0xce, 0xae, 0xeb, 0xaa, 0xea,
- 0xdb, 0xd6, 0xba, 0xce, 0xbf, 0xae, 0xaf, 0xab, 0xdb, 0xd6, 0xba, 0xd6, 0xbe, 0xef, 0xf5, 0x7f, 0xdb, 0xd6, 0xba, 0xce, 0xfa, 0xef, 0xaa, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xea, 0xab, 0xaa,
- 0xbb, 0xd6, 0x9a, 0xce, 0x5d, 0xf7, 0xff, 0xf7, 0xbb, 0xd6, 0x9a, 0xce, 0x77, 0xed, 0xf7, 0xfd, 0xbb, 0xd6, 0x9a, 0xce, 0xf5, 0xff, 0xff, 0xaf, 0xbb, 0xd6, 0x9a, 0xce, 0xf5, 0xfe, 0xef, 0xff,
- 0xbb, 0xd6, 0x9a, 0xce, 0xbe, 0xef, 0xab, 0xbf, 0xbb, 0xce, 0x9a, 0xce, 0xda, 0xb2, 0x2b, 0xea, 0x9b, 0xd6, 0xba, 0xce, 0xea, 0xff, 0xf5, 0xae, 0xbb, 0xd6, 0x9a, 0xce, 0xeb, 0xff, 0xef, 0xeb,
- 0xba, 0xd6, 0x9b, 0xce, 0xbe, 0xfe, 0xbf, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xab, 0xaf, 0x8b, 0xbf, 0xbb, 0xd6, 0x9a, 0xce, 0xaf, 0xaf, 0xaa, 0xaa, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xaa, 0xaa, 0xfb,
- 0x9b, 0xd6, 0xba, 0xce, 0xf6, 0xfb, 0xfd, 0xfa, 0xbb, 0xd6, 0x9a, 0xce, 0xbb, 0xbe, 0xba, 0xfa, 0xbb, 0xd6, 0x9a, 0xce, 0xbb, 0xff, 0xfe, 0xef, 0xbb, 0xd6, 0x9a, 0xce, 0xde, 0xf6, 0xee, 0xeb,
- 0xba, 0xd6, 0x9b, 0xce, 0xea, 0x7e, 0xbd, 0xce, 0xba, 0xd6, 0x9b, 0xce, 0xaf, 0xff, 0xef, 0xbb, 0xbb, 0xd6, 0x9a, 0xce, 0xaf, 0xef, 0xaf, 0xab, 0x9b, 0xd6, 0xba, 0xce, 0xb7, 0xff, 0x7d, 0x5f,
- 0x9b, 0xd6, 0xda, 0xce, 0xbb, 0xee, 0xff, 0xfe, 0xbb, 0xd6, 0xba, 0xce, 0xfa, 0xeb, 0xef, 0x25, 0x9a, 0xd6, 0xbb, 0xce, 0xf5, 0xeb, 0xeb, 0xff, 0x9a, 0xd6, 0xdb, 0xce, 0xeb, 0xea, 0xff, 0xbf,
- 0xbb, 0xd6, 0x9a, 0xce, 0x38, 0xa2, 0x0a, 0x0c, 0xdb, 0xd6, 0xba, 0xce, 0xff, 0xee, 0xfb, 0xab, 0xdb, 0xd6, 0xba, 0xce, 0xf7, 0xfe, 0xab, 0xaa, 0x9a, 0xd6, 0xdb, 0xce, 0xea, 0xfa, 0xff, 0xff,
- 0xdb, 0xd6, 0xba, 0xce, 0xef, 0xfb, 0xee, 0xb9, 0xba, 0xd6, 0xdb, 0xce, 0xb2, 0x20, 0xea, 0x80, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xfa, 0xea, 0xbb, 0xbb, 0xd6, 0xda, 0xce, 0xab, 0xaa, 0xbf, 0xa8,
- 0xdb, 0xd6, 0xba, 0xce, 0xab, 0xaa, 0xaa, 0xfa, 0xdb, 0xd6, 0xba, 0xce, 0xfa, 0xea, 0xbe, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0xab, 0xbe, 0x8a, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0xab, 0xbe, 0xaa, 0xaa,
- 0xdb, 0xd6, 0xba, 0xce, 0xe8, 0xaa, 0xaa, 0x0a, 0xdb, 0xd6, 0xba, 0xd6, 0xce, 0x2a, 0xbe, 0xf8, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xaa, 0x2a, 0x82, 0xfb, 0xde, 0xba, 0xce, 0xff, 0xff, 0xef, 0xff,
- 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0x2a, 0x80, 0x20, 0xdb, 0xde, 0xba, 0xce, 0xaf, 0xea, 0xfe, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0xa0, 0xaa, 0xa2, 0xa8, 0xdb, 0xd6, 0xba, 0xce, 0xa8, 0x28, 0xa2, 0xaa,
- 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xa0, 0xa8, 0xa8, 0xdb, 0xd6, 0xba, 0xce, 0x0a, 0xaa, 0xaa, 0x2a, 0xdb, 0xd6, 0xba, 0xce, 0x28, 0xa0, 0xaa, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0xa2, 0xaa, 0xbb, 0xa2,
- 0xbb, 0xd6, 0xda, 0xce, 0xea, 0x82, 0xaa, 0xbe, 0xdb, 0xd6, 0xba, 0xce, 0x2a, 0x0a, 0xaa, 0xeb, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xba, 0xaa, 0xaa, 0xba, 0xd6, 0xdb, 0xce, 0x2a, 0xbe, 0xbe, 0xaa,
- 0xdb, 0xd6, 0xba, 0xd6, 0x7f, 0x9e, 0xaa, 0x66, 0xbb, 0xd6, 0xda, 0xce, 0x2a, 0xfa, 0x2a, 0xba, 0xba, 0xd6, 0xdb, 0xce, 0xba, 0xea, 0xee, 0xf2, 0xba, 0xd6, 0xdb, 0xce, 0xe0, 0xba, 0xba, 0xa9,
- 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xf8, 0xfa, 0xfa, 0xba, 0xd6, 0xdb, 0xce, 0xba, 0xa0, 0x2a, 0xa8, 0xba, 0xd6, 0xdb, 0xce, 0x2a, 0xa8, 0xfe, 0xac, 0xba, 0xd6, 0xdb, 0xce, 0xaa, 0xa8, 0xcb, 0xae,
- 0xdb, 0xd6, 0xba, 0xce, 0xab, 0xaf, 0xeb, 0xfe, 0xdb, 0xd6, 0xba, 0xce, 0xa3, 0xae, 0xba, 0xff, 0xdb, 0xd6, 0xba, 0xce, 0xb8, 0xaa, 0xba, 0xba, 0xdb, 0xd6, 0xba, 0xce, 0xfa, 0xea, 0xba, 0xba,
- 0xdb, 0xd6, 0xba, 0xce, 0x6b, 0xbb, 0xbe, 0xff, 0xdb, 0xd6, 0xba, 0xce, 0xae, 0xfa, 0xba, 0xab, 0xdb, 0xd6, 0xba, 0xce, 0xbf, 0xaa, 0x2a, 0xba, 0xdb, 0xd6, 0xba, 0xce, 0x2b, 0xba, 0xaa, 0xfa,
- 0xba, 0xd6, 0xdb, 0xce, 0xa4, 0xaa, 0xaa, 0xbe, 0xdb, 0xd6, 0xba, 0xce, 0xa2, 0xab, 0xbe, 0xbf, 0xbb, 0xd6, 0xdb, 0xce, 0x2a, 0x8b, 0xfe, 0x8a, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xaa, 0xab, 0xae,
- 0xdb, 0xd6, 0xba, 0xce, 0xea, 0xaa, 0x8a, 0xa0, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xaa, 0xaa, 0x8a, 0xbb, 0xd6, 0xda, 0xce, 0xa0, 0xaa, 0xaa, 0xfa, 0xdb, 0xd6, 0xba, 0xce, 0x80, 0x22, 0x2b, 0xaa,
- 0xdb, 0xd6, 0xba, 0xce, 0xa8, 0xaa, 0xe8, 0xb2, 0xdb, 0xd6, 0xba, 0xd6, 0xfc, 0xeb, 0x4a, 0xdb, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xea, 0xaa, 0xab, 0xdb, 0xd6, 0xba, 0xce, 0x8a, 0x8a, 0x2e, 0xa8,
- 0xba, 0xd6, 0xdb, 0xce, 0xaa, 0xaa, 0xaa, 0xfa, 0xdc, 0xd6, 0xba, 0xce, 0xac, 0xbf, 0xaa, 0xea, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xaa, 0xaa, 0xae, 0xdb, 0xd6, 0xba, 0xce, 0x82, 0xaa, 0x8a, 0xea,
- 0xdb, 0xd6, 0xba, 0xce, 0x22, 0x8a, 0x2a, 0x2a, 0xdb, 0xd6, 0xbb, 0xd6, 0x60, 0xac, 0x02, 0x39, 0xdb, 0xd6, 0xba, 0xd6, 0x21, 0x88, 0xa8, 0x02, 0xdb, 0xd6, 0xba, 0xd6, 0x03, 0x83, 0x2c, 0xa0,
- 0xfc, 0xde, 0xba, 0xce, 0xab, 0xfa, 0xfe, 0xbb, 0xfb, 0xd6, 0xbb, 0xd6, 0xeb, 0xea, 0xff, 0xfb, 0xfc, 0xde, 0xba, 0xce, 0xaa, 0xaa, 0xab, 0xab, 0xdb, 0xd6, 0xba, 0xd6, 0xc0, 0x00, 0x00, 0x80,
- 0xba, 0xde, 0xdb, 0xd6, 0x5f, 0x57, 0x57, 0xff, 0xfc, 0xde, 0xba, 0xd6, 0xae, 0xea, 0xae, 0xbf, 0xfc, 0xde, 0xba, 0xd6, 0xfb, 0xaa, 0xbe, 0xbb, 0xfb, 0xd6, 0xdb, 0xd6, 0xdd, 0xcf, 0x55, 0x55,
- 0xfb, 0xd6, 0xdb, 0xd6, 0xd9, 0x55, 0x57, 0x55, 0xfc, 0xde, 0xba, 0xce, 0xea, 0xaf, 0xfb, 0xff, 0xfb, 0xde, 0xbb, 0xd6, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xd6, 0xba, 0xd6, 0xef, 0xee, 0xfa, 0xff,
- 0xdc, 0xde, 0xba, 0xce, 0xaa, 0xaa, 0xea, 0xae, 0xdc, 0xde, 0xbb, 0xd6, 0xea, 0xbf, 0xd7, 0xff, 0xdc, 0xde, 0xba, 0xce, 0xaa, 0xaa, 0xaa, 0xaf, 0xfb, 0xd6, 0xbb, 0xd6, 0xff, 0xee, 0xfe, 0xff,
- 0xdb, 0xd6, 0xba, 0xce, 0x0a, 0xa8, 0xa0, 0x82, 0xdb, 0xd6, 0xba, 0xce, 0x22, 0xa8, 0xaa, 0x8a, 0xdb, 0xd6, 0xbb, 0xce, 0xa2, 0x2a, 0xaa, 0xaa, 0xdb, 0xd6, 0xba, 0xd6, 0xae, 0xff, 0xda, 0xf7,
- 0xdb, 0xd6, 0xba, 0xce, 0xa2, 0x3a, 0xab, 0xae, 0xdb, 0xd6, 0xbb, 0xce, 0xfa, 0x2a, 0xba, 0xba, 0xdb, 0xd6, 0xba, 0xce, 0x28, 0xaa, 0xaa, 0xbe, 0xdb, 0xd6, 0xba, 0xce, 0x23, 0xaa, 0xaa, 0xbf,
- 0xdb, 0xd6, 0xba, 0xce, 0xae, 0xaa, 0xfa, 0xae, 0xdb, 0xd6, 0xba, 0xce, 0xba, 0xfe, 0xfa, 0xeb, 0xba, 0xd6, 0xdb, 0xce, 0xba, 0xeb, 0xaa, 0xa2, 0xdb, 0xd6, 0xba, 0xce, 0xae, 0xae, 0xea, 0xff,
- 0xdb, 0xd6, 0xba, 0xce, 0xea, 0xaa, 0xab, 0xa2, 0xba, 0xd6, 0xdb, 0xce, 0xda, 0xaa, 0xae, 0xab, 0xbb, 0xd6, 0xda, 0xce, 0xaa, 0x23, 0xaa, 0xfa, 0xdb, 0xd6, 0xba, 0xce, 0xbf, 0xaa, 0x9a, 0xaa,
- 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xea, 0xba, 0xbe, 0xdb, 0xd6, 0xba, 0xce, 0xab, 0xbe, 0xae, 0xfb, 0xdb, 0xd6, 0xba, 0xce, 0xe2, 0xaa, 0xaa, 0xea, 0xdb, 0xd6, 0xba, 0xce, 0xff, 0xef, 0xef, 0xba,
- 0xdb, 0xd6, 0xba, 0xce, 0xba, 0xaa, 0xaa, 0xba, 0xdb, 0xd6, 0xba, 0xd6, 0x63, 0xdf, 0x27, 0xad, 0xdb, 0xd6, 0xba, 0xce, 0x8a, 0xaa, 0xa2, 0xa8, 0xdb, 0xd6, 0xba, 0xd6, 0xf0, 0x57, 0x20, 0x02,
- 0xbb, 0xd6, 0x9a, 0xce, 0xf7, 0xff, 0xff, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xfd, 0xf7, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xdf, 0xef, 0xff, 0xfe, 0x9a, 0xd6, 0xbb, 0xce, 0x5f, 0xad, 0xef, 0xff,
- 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xfe, 0xff, 0xaf, 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xef, 0xff, 0xaf, 0xbb, 0xd6, 0x9a, 0xce, 0xef, 0xff, 0xab, 0xea, 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xff, 0xff, 0xbe,
- 0xbb, 0xd6, 0x9a, 0xce, 0xef, 0xba, 0xff, 0xfa, 0xbb, 0xd6, 0x9a, 0xce, 0xfe, 0xbf, 0xee, 0xbb, 0xbb, 0xd6, 0x9a, 0xce, 0xab, 0xbe, 0xbb, 0xab, 0xdb, 0xd6, 0x9a, 0xce, 0xbf, 0xef, 0xff, 0xef,
- 0xbb, 0xd6, 0x9a, 0xce, 0xea, 0xea, 0xa2, 0xaa, 0x9a, 0xd6, 0xbb, 0xce, 0xbf, 0xff, 0x5e, 0xff, 0x9b, 0xd6, 0xba, 0xce, 0xeb, 0xff, 0xbd, 0xfd, 0x9a, 0xd6, 0xbb, 0xce, 0xaf, 0x7d, 0xf7, 0x7f,
- 0xbb, 0xd6, 0x9a, 0xce, 0xba, 0xab, 0xaa, 0xaa, 0xbb, 0xd6, 0x9a, 0xce, 0xba, 0xae, 0xaa, 0xaa, 0xdb, 0xd6, 0x9a, 0xce, 0xff, 0xff, 0xbf, 0xba, 0x9a, 0xd6, 0xdb, 0xce, 0xfa, 0xfa, 0xff, 0xeb,
- 0xdb, 0xd6, 0x9a, 0xce, 0xeb, 0xaa, 0xaa, 0xeb, 0x9b, 0xd6, 0xba, 0xce, 0xf7, 0xde, 0xfe, 0xef, 0xba, 0xd6, 0xdb, 0xce, 0x2a, 0xaa, 0x2c, 0xbe, 0xdb, 0xd6, 0xba, 0xce, 0xf9, 0x7e, 0xfe, 0x5f,
- 0xdb, 0xd6, 0xba, 0xce, 0xab, 0xda, 0x7f, 0xfd, 0xba, 0xd6, 0xdb, 0xce, 0xab, 0xaa, 0x2f, 0xaf, 0xdb, 0xd6, 0xba, 0xce, 0xee, 0x9f, 0xfe, 0xbf, 0xba, 0xd6, 0xbb, 0xce, 0xab, 0xaa, 0x0a, 0xaa,
- 0xbb, 0xd6, 0xda, 0xce, 0xaa, 0xaa, 0xfa, 0xfa, 0xba, 0xd6, 0xdb, 0xce, 0xaa, 0xea, 0x2f, 0xad, 0xba, 0xd6, 0xdb, 0xce, 0xaf, 0xae, 0x2a, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0xfa, 0xaa, 0xab, 0xaa,
- 0xdb, 0xd6, 0xba, 0xd6, 0x7f, 0xff, 0xf5, 0xaf, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xbe, 0xba, 0xbe, 0xdb, 0xde, 0xba, 0xce, 0xff, 0xff, 0xfe, 0xb7, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xaa, 0xab, 0xab,
- 0xdb, 0xd6, 0xba, 0xce, 0x2b, 0x8a, 0x2a, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0x2a, 0xae, 0x22, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0xa0, 0xa2, 0x8a, 0xa2, 0xfb, 0xd6, 0xba, 0xce, 0xfa, 0xfa, 0xbb, 0xfa,
- 0xdb, 0xde, 0xba, 0xce, 0xba, 0xea, 0xff, 0xfe, 0xdb, 0xd6, 0xba, 0xce, 0xa8, 0xa8, 0xaa, 0xea, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xaa, 0xfe, 0xea, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xba, 0xee, 0xea,
- 0xdb, 0xd6, 0xba, 0xce, 0x8a, 0xae, 0xaf, 0xff, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xaa, 0xea, 0xff, 0xdb, 0xd6, 0xba, 0xce, 0xba, 0xff, 0xb6, 0xff, 0xdb, 0xd6, 0xba, 0xce, 0xea, 0xb6, 0xfd, 0xff,
- 0xdb, 0xd6, 0xba, 0xce, 0xae, 0xae, 0xfb, 0xff, 0xdb, 0xd6, 0xba, 0xce, 0xa6, 0xab, 0xfe, 0xef, 0x9a, 0xd6, 0xdb, 0xce, 0xbf, 0xff, 0xfe, 0xea, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xaa, 0xff, 0xf5,
- 0xba, 0xd6, 0xdb, 0xce, 0xab, 0x2a, 0x2b, 0xca, 0xba, 0xd6, 0xdb, 0xce, 0xaa, 0xa0, 0x8a, 0xba, 0xbb, 0xd6, 0xda, 0xce, 0xaa, 0xaa, 0x28, 0xff, 0xdb, 0xd6, 0xba, 0xce, 0xfe, 0xee, 0x7f, 0xdf,
- 0xdb, 0xd6, 0xba, 0xce, 0xba, 0xff, 0xfe, 0xdf, 0xba, 0xd6, 0xdb, 0xce, 0xbf, 0xea, 0xaa, 0x0a, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xae, 0xfb, 0xeb, 0xdb, 0xd6, 0xba, 0xce, 0x6e, 0xd2, 0xfb, 0xfe,
- 0xbb, 0xd6, 0x9a, 0xce, 0x82, 0xa8, 0xaa, 0xaa, 0xdb, 0xd6, 0x9a, 0xce, 0xae, 0xea, 0xaf, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0x83, 0xaa, 0xaa, 0xeb, 0xdb, 0xd6, 0xbb, 0xce, 0xff, 0xaf, 0xfa, 0xff,
- 0xdc, 0xd6, 0x9a, 0xce, 0xaa, 0xae, 0xea, 0xba, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xae, 0xbe, 0xef, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xaf, 0xae, 0xff, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xeb, 0xff, 0xff,
- 0xba, 0xd6, 0xdb, 0xce, 0xa8, 0xa8, 0xbe, 0xaa, 0xba, 0xd6, 0xdb, 0xce, 0xaa, 0xaa, 0xfb, 0xae, 0xdb, 0xd6, 0xba, 0xce, 0xab, 0xeb, 0xaa, 0xa8, 0xdb, 0xd6, 0xba, 0xce, 0xae, 0xa2, 0xaa, 0xa2,
- 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xe2, 0xaa, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0xa8, 0xaa, 0x2a, 0xaa, 0xba, 0xd6, 0xdb, 0xce, 0x7b, 0xab, 0xab, 0xaa, 0xdc, 0xd6, 0xba, 0xce, 0x8b, 0xae, 0xa8, 0xaa,
- 0xdb, 0xde, 0xba, 0xce, 0xab, 0xea, 0xff, 0xbf, 0xdb, 0xd6, 0xba, 0xce, 0x8a, 0xaa, 0xaa, 0xba, 0xba, 0xd6, 0xdb, 0xce, 0xea, 0xaa, 0xba, 0x8a, 0xdb, 0xd6, 0xba, 0xce, 0xea, 0xae, 0xfa, 0xea,
- 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xab, 0xaa, 0xbb, 0xdb, 0xd6, 0xba, 0xce, 0xea, 0xaa, 0xaa, 0xaa, 0xdb, 0xd6, 0xba, 0xd6, 0xf7, 0x8b, 0xab, 0xbd, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xeb, 0xab, 0xa2,
- 0xdb, 0xd6, 0xba, 0xd6, 0xfa, 0xb8, 0xbf, 0xae, 0xdb, 0xd6, 0xbb, 0xd6, 0xcb, 0x2b, 0x37, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0x8a, 0x08, 0x2a, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0x28, 0xba, 0xaa, 0xea,
- 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0x22, 0xaa, 0x8a, 0xbc, 0xde, 0xda, 0xce, 0xbe, 0xff, 0xef, 0xaf, 0xdb, 0xde, 0xbb, 0xd6, 0xaf, 0xef, 0x7f, 0xf7, 0xdc, 0xde, 0xba, 0xd6, 0x7b, 0xeb, 0xf9, 0xff,
- 0xdb, 0xd6, 0xbb, 0xd6, 0x2a, 0x00, 0x87, 0x80, 0xfc, 0xde, 0xda, 0xce, 0xff, 0xbf, 0xff, 0xff, 0xfc, 0xde, 0xba, 0xce, 0xaa, 0xaa, 0xea, 0xaf, 0xfb, 0xd6, 0xdb, 0xd6, 0x55, 0x57, 0xd5, 0x79,
- 0xdb, 0xd6, 0xbb, 0xd6, 0x98, 0xc0, 0xe2, 0x22, 0xdb, 0xd6, 0xbb, 0xd6, 0xb2, 0xeb, 0x3e, 0xb8, 0xdb, 0xde, 0xba, 0xce, 0xaa, 0xaa, 0xaf, 0xea, 0xdb, 0xde, 0xba, 0xd6, 0xff, 0xfa, 0xfb, 0xbf,
- 0xdb, 0xd6, 0xba, 0xce, 0x20, 0xa0, 0x3a, 0xa0, 0xdb, 0xd6, 0xba, 0xce, 0x22, 0x28, 0xaa, 0xba, 0xdc, 0xd6, 0xba, 0xce, 0x8a, 0x8b, 0xe8, 0xbb, 0xdb, 0xd6, 0xba, 0xd6, 0xa2, 0xc2, 0xbf, 0xb9,
- 0xdb, 0xd6, 0xba, 0xce, 0x22, 0x8a, 0xae, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0xac, 0x80, 0xa2, 0x8a, 0xdc, 0xd6, 0xba, 0xd6, 0xaa, 0xfb, 0xbb, 0xab, 0xdb, 0xd6, 0xbb, 0xce, 0xba, 0xbe, 0xaa, 0xea,
- 0xdc, 0xd6, 0x9a, 0xce, 0xae, 0xaa, 0xba, 0xbb, 0xdb, 0xd6, 0xba, 0xce, 0xfa, 0xae, 0xfe, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0xab, 0xff, 0xaf, 0xea, 0xdb, 0xd6, 0xba, 0xce, 0xbe, 0xbf, 0xff, 0xfb,
- 0xdb, 0xd6, 0xba, 0xce, 0xfe, 0xff, 0xfb, 0xff, 0xda, 0xd6, 0xbb, 0xce, 0xab, 0xfa, 0xff, 0xff, 0xdb, 0xd6, 0x9b, 0xce, 0xbe, 0xaa, 0xab, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0xab, 0xff, 0xbe, 0xba,
- 0xdb, 0xd6, 0xbb, 0xce, 0xaa, 0xe7, 0xfa, 0xae, 0xba, 0xd6, 0xdb, 0xce, 0xef, 0xaf, 0xaa, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0xab, 0xef, 0xaa, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xfa, 0xbf, 0xbb,
- 0xdb, 0xd6, 0xba, 0xce, 0xeb, 0xbb, 0xaf, 0xb8, 0xdb, 0xd6, 0xba, 0xce, 0xee, 0xeb, 0xab, 0xaa, 0xda, 0xd6, 0xbb, 0xce, 0xaa, 0xaa, 0xaa, 0xaa, 0xba, 0xd6, 0xdb, 0xce, 0x0a, 0x2a, 0xaa, 0xe8,
- 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xba, 0xa0, 0x0a, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0x8a, 0x8a, 0x82, 0xdb, 0xd6, 0xba, 0xd6, 0x0e, 0xb8, 0xa0, 0x00, 0xdb, 0xd6, 0xba, 0xd6, 0x8d, 0x22, 0x80, 0x82,
- 0xbb, 0xd6, 0x9a, 0xce, 0xfd, 0xff, 0xff, 0xbf, 0xbb, 0xd6, 0x9a, 0xce, 0xeb, 0xff, 0xba, 0xad, 0x9b, 0xd6, 0xba, 0xce, 0xbd, 0xdb, 0x6e, 0xf5, 0x9a, 0xd6, 0xbb, 0xce, 0xbb, 0xf6, 0xf5, 0xba,
- 0xbb, 0xd6, 0x9a, 0xce, 0xba, 0xff, 0xef, 0xbf, 0xbb, 0xd6, 0x9a, 0xce, 0xbe, 0xba, 0xbe, 0xce, 0xbb, 0xd6, 0x9a, 0xce, 0xfa, 0xa2, 0xaa, 0xff, 0xdb, 0xd6, 0x9a, 0xce, 0xff, 0xaa, 0xff, 0xff,
- 0xba, 0xd6, 0x9b, 0xce, 0xaa, 0xaa, 0xaa, 0xff, 0xda, 0xd6, 0x9b, 0xce, 0xff, 0xfb, 0xff, 0xbf, 0xdb, 0xd6, 0x9a, 0xce, 0xef, 0xff, 0xff, 0xbf, 0x9a, 0xd6, 0xdb, 0xce, 0xfe, 0xfa, 0xae, 0xea,
- 0x9a, 0xd6, 0xdb, 0xce, 0xeb, 0xff, 0xaa, 0xaf, 0xbb, 0xd6, 0xba, 0xce, 0xea, 0xa8, 0x75, 0xff, 0x9a, 0xd6, 0xdb, 0xce, 0xff, 0xaf, 0xff, 0xea, 0x9b, 0xd6, 0xba, 0xce, 0xeb, 0xff, 0x7f, 0xfd,
- 0xdb, 0xd6, 0x9a, 0xce, 0xff, 0xff, 0xfe, 0xef, 0xdb, 0xd6, 0xba, 0xce, 0xfb, 0xf7, 0xd7, 0xad, 0x9b, 0xd6, 0xda, 0xce, 0xae, 0xbe, 0xff, 0xff, 0xdb, 0xd6, 0xba, 0xce, 0x7e, 0x7f, 0xff, 0xdf,
- 0xbb, 0xd6, 0xda, 0xce, 0x02, 0xa8, 0xaa, 0xad, 0xdb, 0xd6, 0xba, 0xce, 0xef, 0xfb, 0xef, 0xf5, 0xdb, 0xd6, 0x9a, 0xce, 0xba, 0xee, 0xab, 0xba, 0xdb, 0xd6, 0x9a, 0xce, 0xff, 0xbb, 0xbe, 0xfa,
- 0xbb, 0xd6, 0xda, 0xce, 0xca, 0xaa, 0xa2, 0xbe, 0xba, 0xd6, 0xdb, 0xce, 0xae, 0xa2, 0xbf, 0xae, 0xdb, 0xd6, 0xba, 0xce, 0x7e, 0xfe, 0xeb, 0xae, 0xdb, 0xd6, 0xba, 0xce, 0xb6, 0xbe, 0xfa, 0xeb,
- 0xdb, 0xd6, 0xba, 0xce, 0xfa, 0xea, 0xbe, 0xaa, 0xbb, 0xd6, 0xda, 0xce, 0xeb, 0xa2, 0x2a, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0x8f, 0xee, 0xfb, 0xb7, 0xba, 0xd6, 0xdb, 0xce, 0xfa, 0xa2, 0xaa, 0xee,
- 0xdb, 0xd6, 0xba, 0xce, 0xaf, 0xba, 0xff, 0xa6, 0xdb, 0xd6, 0xba, 0xce, 0x2a, 0xea, 0xee, 0xee, 0xdb, 0xd6, 0xba, 0xce, 0xbf, 0xa9, 0xbd, 0xed, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xaa, 0xbf, 0xbb,
- 0xbb, 0xd6, 0xda, 0xce, 0xa8, 0xaa, 0xea, 0xea, 0xbb, 0xd6, 0xda, 0xce, 0xab, 0xaa, 0xbf, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0xea, 0xea, 0xab, 0xa2, 0xdb, 0xd6, 0xba, 0xce, 0xab, 0xaa, 0xaa, 0x2a,
- 0xdb, 0xd6, 0xba, 0xce, 0xba, 0xaa, 0xea, 0xee, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xaa, 0xaf, 0xfe, 0xdb, 0xd6, 0xba, 0xce, 0xbb, 0xff, 0xfe, 0xf6, 0xdb, 0xd6, 0xba, 0xce, 0xbf, 0xef, 0x5d, 0x55,
- 0xda, 0xd6, 0x9b, 0xce, 0xfe, 0xfa, 0xfa, 0xfb, 0xdb, 0xd6, 0x9a, 0xce, 0xaf, 0xab, 0xff, 0xfb, 0x9a, 0xd6, 0xdb, 0xce, 0xff, 0xef, 0xab, 0xea, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0x2a, 0xab, 0xe9,
- 0xbb, 0xd6, 0x9a, 0xce, 0x8a, 0x2a, 0xaa, 0xea, 0xdb, 0xd6, 0x9a, 0xce, 0xab, 0xfe, 0xbf, 0xff, 0xdb, 0xd6, 0x9a, 0xce, 0xab, 0xef, 0xff, 0xff, 0x9a, 0xd6, 0xbb, 0xce, 0x7b, 0xfe, 0xff, 0xff,
- 0x9b, 0xd6, 0xba, 0xce, 0xfb, 0xff, 0xf7, 0xff, 0xbb, 0xd6, 0xba, 0xce, 0xa4, 0xea, 0xff, 0xfa, 0x9a, 0xd6, 0xdb, 0xce, 0xfe, 0xff, 0xfb, 0xaf, 0x9a, 0xd6, 0xbb, 0xce, 0xbf, 0xd5, 0x7a, 0xdf,
- 0x9b, 0xd6, 0xbb, 0xce, 0x37, 0xfd, 0x55, 0xf7, 0x9a, 0xd6, 0xbb, 0xce, 0xea, 0xf7, 0xff, 0x57, 0xba, 0xd6, 0xdb, 0xce, 0xae, 0xa8, 0xf8, 0x2a, 0x9a, 0xd6, 0xbb, 0xce, 0x5f, 0xff, 0xd5, 0xfe,
- 0xba, 0xd6, 0xdb, 0xce, 0x83, 0x3e, 0xaa, 0xae, 0xdb, 0xd6, 0xba, 0xce, 0xab, 0xff, 0xeb, 0xbd, 0xba, 0xd6, 0xdb, 0xce, 0xaa, 0xbf, 0x28, 0xef, 0xba, 0xd6, 0xdb, 0xce, 0xaa, 0xaa, 0xa8, 0x25,
- 0xdb, 0xd6, 0xba, 0xce, 0xaf, 0xab, 0xab, 0xbb, 0xbb, 0xd6, 0xdb, 0xce, 0xa2, 0xa2, 0xba, 0x2e, 0xdb, 0xd6, 0xba, 0xce, 0x7f, 0x7f, 0xbb, 0xbe, 0xba, 0xd6, 0xdb, 0xce, 0xea, 0x8a, 0xea, 0x22,
- 0xba, 0xd6, 0xdb, 0xce, 0xaa, 0xba, 0xea, 0xbe, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xeb, 0xeb, 0xfb, 0xdb, 0xd6, 0x9a, 0xce, 0xaa, 0xa2, 0x8a, 0xbb, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xa8, 0xab, 0xfa,
- 0xdc, 0xde, 0xba, 0xce, 0xfa, 0xef, 0xff, 0xff, 0xdb, 0xd6, 0xbb, 0xd6, 0xbb, 0xf9, 0xb5, 0x5f, 0xdb, 0xd6, 0xba, 0xd6, 0xff, 0xaf, 0xf7, 0x59, 0xba, 0xd6, 0xdb, 0xce, 0xa2, 0xaa, 0xbe, 0xae,
- 0xbc, 0xd6, 0xda, 0xce, 0xaf, 0xaa, 0xea, 0xe8, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xaa, 0x22, 0xba, 0xdb, 0xd6, 0xba, 0xce, 0xea, 0xba, 0x8a, 0xab, 0xdb, 0xd6, 0xba, 0xce, 0xab, 0xaa, 0xa2, 0xfa,
- 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xa8, 0xee, 0xee, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0x2a, 0xaa, 0x8b, 0xdc, 0xd6, 0xba, 0xce, 0xbe, 0xfb, 0xae, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0xea, 0xff, 0xaa, 0x73,
- 0xdc, 0xd6, 0x9a, 0xce, 0xaa, 0xbe, 0xfa, 0xab, 0xdb, 0xd6, 0xbb, 0xce, 0xaa, 0xab, 0xff, 0xff, 0xdb, 0xd6, 0xbb, 0xce, 0xeb, 0xee, 0xfa, 0xf7, 0xdb, 0xd6, 0xba, 0xce, 0xba, 0xba, 0xab, 0xbb,
- 0xba, 0xd6, 0xdb, 0xce, 0xaa, 0xa2, 0x5a, 0xfb, 0xdc, 0xd6, 0xbb, 0xd6, 0x27, 0x95, 0xfa, 0xa7, 0xdb, 0xd6, 0xba, 0xce, 0xa0, 0xaa, 0xe2, 0xba, 0xdc, 0xd6, 0xba, 0xce, 0xaa, 0xeb, 0xaa, 0xee,
- 0xdb, 0xd6, 0xba, 0xce, 0xb0, 0x0a, 0x2b, 0xa8, 0xdb, 0xd6, 0xbb, 0xd6, 0xeb, 0x22, 0x38, 0x60, 0xdb, 0xde, 0xba, 0xce, 0xaa, 0xaa, 0xbb, 0xab, 0xfc, 0xde, 0xbb, 0xce, 0xba, 0xfe, 0xfe, 0xaf,
- 0xdb, 0xd6, 0xba, 0xd6, 0x20, 0x20, 0xa8, 0xcf, 0xdb, 0xd6, 0xbb, 0xd6, 0x7e, 0xff, 0xfe, 0x7a, 0xdc, 0xd6, 0xbb, 0xce, 0xa8, 0xba, 0x2f, 0xef, 0xdb, 0xd6, 0xbb, 0xce, 0xaa, 0x22, 0xaa, 0xfa,
- 0xdb, 0xd6, 0xba, 0xce, 0x08, 0x2a, 0xa2, 0xaa, 0xbb, 0xd6, 0xdb, 0xce, 0xab, 0x2b, 0xea, 0xaa, 0xdc, 0xd6, 0x9b, 0xce, 0xaa, 0xea, 0xbe, 0xfa, 0xdb, 0xd6, 0xbb, 0xce, 0xa2, 0xea, 0xbe, 0xef,
- 0xdb, 0xd6, 0xbb, 0xce, 0x2a, 0xae, 0xaa, 0xab, 0xdb, 0xd6, 0xbb, 0xd6, 0xaf, 0xe9, 0x7b, 0x7a, 0xdb, 0xd6, 0xbb, 0xce, 0xaa, 0xaa, 0xaa, 0xaf, 0xba, 0xd6, 0xdb, 0xce, 0xbf, 0xaa, 0xfa, 0xaa,
- 0xdb, 0xd6, 0x9a, 0xce, 0xea, 0xae, 0xfa, 0xfb, 0xdb, 0xd6, 0xba, 0xce, 0xfe, 0xbe, 0xaf, 0xff, 0xdc, 0xd6, 0xba, 0xce, 0xba, 0xfb, 0xff, 0xef, 0x9a, 0xd6, 0xdb, 0xce, 0xbe, 0xef, 0xff, 0xef,
- 0xba, 0xd6, 0xdb, 0xce, 0x68, 0xaa, 0xaa, 0x2b, 0xdb, 0xd6, 0x9a, 0xce, 0xbb, 0xae, 0xef, 0xee, 0xba, 0xd6, 0xdb, 0xce, 0x0f, 0x2a, 0xaa, 0xa8, 0xba, 0xd6, 0xdb, 0xce, 0xa0, 0xe0, 0xa2, 0xa2,
- 0xba, 0xd6, 0xdb, 0xce, 0x2a, 0xa0, 0xda, 0xea, 0xdb, 0xd6, 0xba, 0xce, 0xae, 0xab, 0xee, 0xab, 0xdb, 0xd6, 0xba, 0xce, 0xfe, 0xab, 0xba, 0xaf, 0xdb, 0xd6, 0xba, 0xce, 0x2e, 0xaa, 0xba, 0xea,
- 0xdb, 0xd6, 0xba, 0xd6, 0xa5, 0xbe, 0x39, 0x6b, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xea, 0x3a, 0xa3, 0xdb, 0xd6, 0xba, 0xd6, 0x82, 0xab, 0xf8, 0x02, 0xdb, 0xd6, 0xba, 0xd6, 0xe9, 0xa8, 0x7a, 0x00,
- 0xdc, 0xde, 0xba, 0xce, 0xab, 0xfa, 0xab, 0xba, 0xdb, 0xd6, 0xbb, 0xd6, 0x80, 0x8f, 0x7e, 0x82, 0xdb, 0xde, 0xba, 0xce, 0xfa, 0xba, 0xab, 0xaa, 0xdb, 0xd6, 0xbb, 0xd6, 0x00, 0x08, 0xae, 0x00,
- 0xbb, 0xd6, 0x9a, 0xce, 0xbf, 0xff, 0xff, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xfe, 0xff, 0xff, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xef, 0xff, 0xf7, 0xbb, 0xce, 0x9a, 0xce, 0xae, 0x47, 0xfe, 0xae,
- 0xbb, 0xd6, 0x9a, 0xce, 0xeb, 0xff, 0xfe, 0xfe, 0x9b, 0xd6, 0xba, 0xce, 0xeb, 0xab, 0xaa, 0xbf, 0xbb, 0xd6, 0x9a, 0xce, 0xbf, 0xef, 0xff, 0xfb, 0xba, 0xd6, 0x9b, 0xce, 0xbf, 0xef, 0xaf, 0xf7,
- 0xbb, 0xd6, 0x9a, 0xce, 0xab, 0xaa, 0xbf, 0xff, 0xba, 0xd6, 0x9b, 0xce, 0xba, 0xef, 0xfe, 0xfb, 0xbb, 0xd6, 0x9a, 0xce, 0x6a, 0xaf, 0xfb, 0xbf, 0xbb, 0xd6, 0x9a, 0xce, 0xba, 0xea, 0xee, 0xeb,
- 0x9a, 0xd6, 0xbb, 0xce, 0xf7, 0xfd, 0x5f, 0xa7, 0xba, 0xd6, 0x9b, 0xce, 0xaf, 0xea, 0xfe, 0xef, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xaf, 0xbf, 0xab, 0x9a, 0xd6, 0xbb, 0xce, 0xfd, 0xfe, 0x7f, 0xdf,
- 0xdb, 0xd6, 0x9a, 0xce, 0xbb, 0xff, 0xff, 0xdf, 0x9a, 0xd6, 0xbb, 0xce, 0xff, 0xfe, 0xfe, 0xdf, 0x9a, 0xd6, 0xdb, 0xce, 0xaf, 0xef, 0xea, 0xaa, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xaa, 0xba, 0xba,
- 0xda, 0xd6, 0x9b, 0xce, 0xfb, 0xff, 0xff, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xa2, 0xaa, 0xfa, 0xbb, 0xbb, 0xd6, 0x9a, 0xce, 0xa8, 0xaa, 0xaa, 0xae, 0xdb, 0xd6, 0x9a, 0xce, 0xeb, 0xff, 0xfe, 0xff,
- 0xdb, 0xd6, 0x9a, 0xce, 0xbb, 0xaf, 0xff, 0xff, 0xdb, 0xd6, 0xba, 0xce, 0xb9, 0xfd, 0x7d, 0xfd, 0x9a, 0xd6, 0xdb, 0xce, 0xfe, 0xfe, 0xea, 0xea, 0xdb, 0xd6, 0xba, 0xce, 0xff, 0xfe, 0x9f, 0x9f,
- 0xdb, 0xd6, 0x9a, 0xce, 0xae, 0xae, 0xfb, 0xaf, 0xba, 0xd6, 0xdb, 0xce, 0x2a, 0x0b, 0x20, 0xaa, 0xba, 0xd6, 0xdb, 0xce, 0x8a, 0xbe, 0xbe, 0x2a, 0x9a, 0xd6, 0xbb, 0xce, 0xf7, 0x5f, 0xfd, 0xb7,
- 0xbb, 0xd6, 0x9a, 0xce, 0x82, 0x0b, 0xaa, 0xee, 0x9b, 0xd6, 0xba, 0xce, 0xff, 0x5f, 0xeb, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xa2, 0xab, 0xbe, 0xfb, 0xdb, 0xd6, 0x9a, 0xce, 0xab, 0xff, 0xff, 0xff,
- 0xdb, 0xd6, 0x9a, 0xce, 0xaa, 0xff, 0xeb, 0xef, 0xdb, 0xd6, 0x9a, 0xce, 0xea, 0xaa, 0xaa, 0xab, 0xba, 0xd6, 0xdb, 0xce, 0xa0, 0xa2, 0xae, 0x0a, 0x9a, 0xd6, 0xdb, 0xce, 0xaa, 0xfb, 0xaf, 0xbf,
- 0x9a, 0xd6, 0xdb, 0xce, 0xaa, 0xbe, 0xea, 0xbb, 0x9a, 0xd6, 0xbb, 0xce, 0xfd, 0xff, 0xfd, 0xeb, 0x9a, 0xd6, 0xbb, 0xce, 0xdf, 0xfd, 0xff, 0xbf, 0xba, 0xd6, 0x9b, 0xce, 0xaa, 0xfa, 0xaa, 0xef,
- 0x9a, 0xd6, 0xbb, 0xce, 0x7a, 0xff, 0x7f, 0x5f, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xfa, 0xbf, 0xff, 0x9b, 0xd6, 0xba, 0xc6, 0xfa, 0xef, 0xff, 0xba, 0xbb, 0xd6, 0x9a, 0xce, 0xbb, 0xfe, 0xef, 0x7f,
- 0xbb, 0xd6, 0x9a, 0xc6, 0xaa, 0xae, 0xab, 0xaa, 0xda, 0xd6, 0x9b, 0xce, 0xff, 0xff, 0xff, 0xff, 0xba, 0xd6, 0x9b, 0xce, 0xbf, 0xfe, 0xbf, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xae, 0xab, 0xaa, 0xaf,
- 0xdb, 0xd6, 0x9a, 0xce, 0xef, 0xaf, 0xfb, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xaa, 0xba, 0xae, 0xdb, 0xd6, 0x9a, 0xce, 0xff, 0xef, 0xfe, 0xfe, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xea, 0xaa, 0xaa,
- 0x9a, 0xd6, 0xdb, 0xce, 0xff, 0xfb, 0xbf, 0xea, 0xdb, 0xd6, 0x9a, 0xce, 0xee, 0xef, 0xea, 0xff, 0xba, 0xd6, 0xdb, 0xce, 0xae, 0xea, 0xb8, 0xea, 0xba, 0xd6, 0xdb, 0xce, 0xa0, 0x82, 0x2a, 0x8b,
- 0xdb, 0xd6, 0x9a, 0xce, 0xba, 0xba, 0xaa, 0xba, 0xba, 0xd6, 0xdb, 0xce, 0xa8, 0xbf, 0xba, 0xa8, 0xdb, 0xd6, 0xbb, 0xce, 0xbf, 0xbf, 0xbe, 0xaa, 0xba, 0xd6, 0xdb, 0xce, 0xaa, 0xaf, 0xbf, 0x82,
- 0xdb, 0xd6, 0xba, 0xce, 0xbb, 0xea, 0xee, 0xaf, 0xba, 0xd6, 0xdb, 0xce, 0xae, 0xa3, 0xba, 0x8a, 0xdc, 0xd6, 0xba, 0xce, 0xeb, 0xbe, 0xba, 0xae, 0xba, 0xd6, 0xdb, 0xce, 0xaa, 0xea, 0xba, 0xa2,
- 0xba, 0xd6, 0xdb, 0xce, 0x88, 0xee, 0xaa, 0x8a, 0xba, 0xd6, 0xdb, 0xce, 0xba, 0xa2, 0xa2, 0xab, 0xdb, 0xd6, 0xba, 0xce, 0xbe, 0xaf, 0xeb, 0xbe, 0xdb, 0xd6, 0xba, 0xce, 0xfe, 0xea, 0xee, 0xfe,
- 0xdb, 0xd6, 0xba, 0xce, 0xfa, 0xeb, 0xbf, 0xfe, 0xdb, 0xd6, 0x9a, 0xce, 0xba, 0xba, 0xea, 0xba, 0xdb, 0xd6, 0xba, 0xce, 0xba, 0xfe, 0xaf, 0xaf, 0xdb, 0xd6, 0xba, 0xce, 0xba, 0xbe, 0x2a, 0xef,
- 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xbe, 0xaa, 0xea, 0xdb, 0xd6, 0xbb, 0xce, 0xaa, 0xbe, 0xba, 0xeb, 0xdb, 0xd6, 0xbb, 0xce, 0xaa, 0xaa, 0xaa, 0xaa, 0xdb, 0xd6, 0xbb, 0xce, 0xea, 0xaa, 0xea, 0xfe,
- 0xdb, 0xd6, 0x9a, 0xce, 0xaa, 0xae, 0xfa, 0xab, 0xba, 0xd6, 0xdb, 0xce, 0xa8, 0xbf, 0xa2, 0xa7, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xff, 0xfe, 0xff, 0xdc, 0xd6, 0x9a, 0xce, 0xee, 0xab, 0xfa, 0xbe,
- 0xbb, 0xd6, 0xdb, 0xce, 0x2a, 0x2c, 0xaa, 0xaa, 0xba, 0xd6, 0xdb, 0xce, 0x2a, 0xa8, 0xea, 0xea, 0xba, 0xd6, 0xdb, 0xce, 0xa8, 0x82, 0xaa, 0xff, 0xbb, 0xd6, 0xdb, 0xce, 0xaa, 0xea, 0xae, 0x2b,
- 0xdb, 0xd6, 0xba, 0xce, 0xaf, 0xca, 0xbe, 0xea, 0xdb, 0xd6, 0xbb, 0xce, 0xaa, 0xab, 0xea, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0x3e, 0xaa, 0xaa, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xea, 0xae, 0xaa,
- 0xdb, 0xd6, 0xba, 0xce, 0x2b, 0xaa, 0xaa, 0xaa, 0xdb, 0xd6, 0xbb, 0xce, 0xaa, 0xaa, 0xaa, 0xaf, 0xdc, 0xd6, 0xba, 0xce, 0xaa, 0xaa, 0xab, 0xab, 0xdc, 0xd6, 0xbb, 0xd6, 0xaa, 0xa2, 0x89, 0xca,
- 0xdc, 0xd6, 0xba, 0xce, 0xae, 0xfa, 0x7b, 0xfe, 0xbb, 0xd6, 0xdb, 0xce, 0x0a, 0xaa, 0xaa, 0xea, 0xdc, 0xd6, 0xba, 0xce, 0xba, 0xba, 0xee, 0xbe, 0xdb, 0xd6, 0xba, 0xce, 0xff, 0xbf, 0xaa, 0xde,
- 0xba, 0xd6, 0xdb, 0xce, 0xfe, 0x88, 0xea, 0xba, 0xdc, 0xd6, 0xbb, 0xd6, 0xde, 0xaf, 0x57, 0xed, 0xdc, 0xd6, 0xba, 0xce, 0xfa, 0xbf, 0xff, 0xde, 0xba, 0xd6, 0xdb, 0xce, 0x2e, 0xea, 0xea, 0x2a,
- 0xdb, 0xd6, 0xba, 0xce, 0xba, 0xbf, 0xbe, 0xff, 0xdc, 0xd6, 0xbb, 0xce, 0xeb, 0xbf, 0xbf, 0xbb, 0xba, 0xd6, 0xdb, 0xce, 0x8f, 0xaf, 0xaa, 0x0b, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xba, 0xaf, 0xea,
- 0xdb, 0xd6, 0xba, 0xce, 0x7b, 0xeb, 0xea, 0xaf, 0xba, 0xd6, 0xdb, 0xce, 0x0a, 0xaa, 0xaf, 0xaa, 0xdb, 0xd6, 0x9a, 0xce, 0xab, 0xea, 0xaf, 0xea, 0x9a, 0xd6, 0xdb, 0xce, 0xae, 0xff, 0xfa, 0xbe,
- 0xdb, 0xd6, 0xba, 0xce, 0xff, 0xbf, 0xbd, 0xab, 0xdb, 0xd6, 0x9a, 0xce, 0xbf, 0xbb, 0xaa, 0xaa, 0xdb, 0xd6, 0x9a, 0xce, 0xba, 0xff, 0xaa, 0xab, 0xdb, 0xd6, 0x9a, 0xce, 0xfb, 0xae, 0xba, 0xaa,
- 0xdb, 0xd6, 0xba, 0xce, 0xff, 0xef, 0xaa, 0xaf, 0xdb, 0xd6, 0xba, 0xce, 0xfe, 0x2a, 0xfa, 0xaa, 0xbc, 0xd6, 0xda, 0xce, 0xab, 0xaa, 0xa2, 0x0a, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xaa, 0xaa, 0x2a,
- 0xdb, 0xd6, 0xba, 0xd6, 0x8b, 0xce, 0xba, 0x3c, 0xdb, 0xde, 0xba, 0xce, 0xba, 0xff, 0xff, 0xaa, 0xdb, 0xde, 0xba, 0xce, 0xff, 0xaf, 0xbf, 0xaa, 0xdb, 0xd6, 0xba, 0xd6, 0xaf, 0x82, 0x28, 0x02,
- 0xfb, 0xd6, 0xba, 0xd6, 0xff, 0xbf, 0xff, 0xbf, 0xfb, 0xd6, 0xda, 0xd6, 0x55, 0x55, 0x5d, 0xd6, 0xfb, 0xde, 0xba, 0xce, 0xbf, 0xea, 0xab, 0xab, 0xfb, 0xde, 0xba, 0xd6, 0xff, 0xff, 0xff, 0xee,
- 0xbb, 0xd6, 0x9a, 0xc6, 0xeb, 0xbb, 0xfa, 0xaa, 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xff, 0xf7, 0x7f, 0xbb, 0xd6, 0x9a, 0xce, 0xe7, 0x7f, 0xdd, 0x7d, 0xbb, 0xce, 0x9a, 0xce, 0xfe, 0x65, 0xed, 0x6d,
- 0xba, 0xd6, 0x9b, 0xce, 0xfa, 0xd5, 0x55, 0xd5, 0xbb, 0xce, 0x9a, 0xce, 0x8f, 0xb7, 0x3f, 0xff, 0xbb, 0xd6, 0x9a, 0xc6, 0xaa, 0xba, 0xff, 0xae, 0xbb, 0xce, 0x9a, 0xce, 0xde, 0x7f, 0xfd, 0xd7,
- 0xbb, 0xd6, 0x9a, 0xc6, 0xbf, 0xbe, 0xbe, 0xfe, 0xba, 0xce, 0x9b, 0xce, 0xd6, 0x5e, 0x0d, 0xf2, 0xbb, 0xd6, 0x9a, 0xce, 0xdf, 0x7f, 0xf7, 0x7f, 0xba, 0xd6, 0x9b, 0xce, 0x5f, 0xf5, 0xff, 0xef,
- 0x9a, 0xd6, 0xbb, 0xce, 0xaa, 0xff, 0x5e, 0xfb, 0xbb, 0xd6, 0x9a, 0xce, 0xb5, 0xed, 0x55, 0x7f, 0xbb, 0xd6, 0x9a, 0xce, 0x5b, 0xff, 0xdf, 0xf6, 0xbb, 0xd6, 0x9a, 0xce, 0xbb, 0xff, 0xff, 0xfd,
- 0xbb, 0xd6, 0x9a, 0xce, 0xbf, 0xff, 0xff, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xea, 0xff, 0xff, 0xfd, 0xbb, 0xd6, 0x9a, 0xce, 0xba, 0xfe, 0xff, 0xff, 0xba, 0xce, 0x9b, 0xce, 0xed, 0xc0, 0xa0, 0xbf,
- 0xdb, 0xd6, 0x9a, 0xce, 0xff, 0xff, 0xea, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xe8, 0xbb, 0xba, 0xbb, 0xbb, 0xd6, 0x9a, 0xce, 0xbf, 0xbb, 0xeb, 0xae, 0xda, 0xd6, 0x9b, 0xce, 0xff, 0xff, 0xff, 0xef,
- 0x9b, 0xd6, 0xba, 0xce, 0x7f, 0xf5, 0xef, 0xff, 0x9a, 0xd6, 0xbb, 0xce, 0x97, 0xd7, 0xff, 0xff, 0xbb, 0xd6, 0xba, 0xce, 0xf8, 0xfe, 0xab, 0xb7, 0x9a, 0xd6, 0xdb, 0xce, 0xfd, 0xfa, 0xaa, 0xaa,
- 0x9a, 0xd6, 0xdb, 0xce, 0xea, 0xfa, 0xea, 0xfb, 0xdb, 0xd6, 0x9a, 0xce, 0xfa, 0xfb, 0xbb, 0xff, 0x9a, 0xd6, 0xdb, 0xce, 0xea, 0xaa, 0xaa, 0xaa, 0xdb, 0xd6, 0x9a, 0xce, 0xfb, 0xbf, 0xff, 0xff,
- 0x9b, 0xd6, 0xba, 0xce, 0xed, 0xff, 0x57, 0x7f, 0xba, 0xce, 0x9b, 0xce, 0x36, 0x82, 0xf8, 0x28, 0xbb, 0xd6, 0x9a, 0xce, 0xbf, 0xbf, 0xff, 0xdb, 0x9b, 0xd6, 0xba, 0xce, 0xe2, 0x5f, 0xfe, 0xbf,
- 0x9a, 0xd6, 0xbb, 0xce, 0x7f, 0x5f, 0xf5, 0xde, 0x9a, 0xd6, 0xbb, 0xce, 0x7b, 0xfd, 0xfe, 0xef, 0xdb, 0xd6, 0x9a, 0xce, 0xfe, 0xfa, 0xeb, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0x8a, 0xaa, 0xa2, 0xaa,
- 0xdb, 0xd6, 0x9a, 0xce, 0xfe, 0xff, 0xfa, 0xef, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xaa, 0x6a, 0xea, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xbe, 0xff, 0xef, 0xba, 0xce, 0x9b, 0xce, 0xfe, 0x0a, 0x3e, 0xaa,
- 0x9b, 0xd6, 0xba, 0xc6, 0xff, 0xaa, 0xbf, 0xab, 0xbb, 0xd6, 0x9a, 0xce, 0xee, 0xff, 0xfe, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xee, 0xff, 0xbf, 0xaf, 0x9b, 0xd6, 0xba, 0xce, 0xfa, 0x7f, 0xff, 0x7f,
- 0xbb, 0xd6, 0x9a, 0xce, 0xee, 0x7f, 0xff, 0xff, 0x9b, 0xd6, 0xda, 0xce, 0xa8, 0x2a, 0xeb, 0xbe, 0xbb, 0xd6, 0x9a, 0xce, 0xbe, 0xbf, 0xba, 0xba, 0xbb, 0xd6, 0x9a, 0xce, 0xbb, 0xab, 0xaa, 0xae,
- 0x9a, 0xd6, 0xbb, 0xce, 0xed, 0x7d, 0x57, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xae, 0xaa, 0xaa, 0x8a, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xab, 0xaa, 0xaa, 0xbb, 0xd6, 0x9a, 0xce, 0x8a, 0xea, 0xaa, 0x28,
- 0xdb, 0xd6, 0xba, 0xce, 0xff, 0x7b, 0xff, 0xfa, 0xdb, 0xd6, 0xba, 0xce, 0xfe, 0xff, 0xff, 0xea, 0xbc, 0xd6, 0xba, 0xce, 0xea, 0xfa, 0xfa, 0xb2, 0x9a, 0xd6, 0xdb, 0xce, 0xab, 0xff, 0xff, 0xaa,
- 0xdb, 0xd6, 0x9a, 0xce, 0xba, 0xba, 0xaa, 0xaf, 0xdb, 0xd6, 0xba, 0xce, 0xff, 0xb6, 0xef, 0xee, 0xdb, 0xd6, 0xba, 0xce, 0xba, 0xaf, 0xeb, 0xbb, 0xba, 0xd6, 0xdb, 0xce, 0x0a, 0xea, 0x28, 0xaa,
- 0xbb, 0xd6, 0xda, 0xce, 0xa8, 0xeb, 0xab, 0xfa, 0xbb, 0xd6, 0xdb, 0xce, 0xeb, 0xbb, 0xab, 0xa8, 0xdb, 0xd6, 0x9b, 0xce, 0xaa, 0xaa, 0xa8, 0xbe, 0xdb, 0xd6, 0xba, 0xce, 0xab, 0xfa, 0xbe, 0xff,
- 0x9b, 0xd6, 0xdb, 0xce, 0xcf, 0xaf, 0xff, 0xaf, 0xdb, 0xd6, 0xba, 0xce, 0xbf, 0xff, 0xee, 0xfa, 0xbb, 0xd6, 0x9a, 0xce, 0x82, 0xa8, 0x8a, 0xaa, 0xbc, 0xd6, 0xba, 0xce, 0xff, 0xfa, 0xfe, 0xff,
- 0xbb, 0xd6, 0xba, 0xce, 0xaf, 0xf5, 0xf5, 0xeb, 0x9a, 0xd6, 0xdb, 0xce, 0xaf, 0xaa, 0xba, 0xfa, 0xdb, 0xd6, 0x9a, 0xce, 0xea, 0xaa, 0xbe, 0xfa, 0xdb, 0xd6, 0xba, 0xce, 0xbe, 0xaf, 0xff, 0xdf,
- 0xdb, 0xd6, 0xba, 0xce, 0xe8, 0xaa, 0xba, 0xaf, 0xdb, 0xd6, 0xbb, 0xce, 0xbf, 0x0a, 0xbf, 0xae, 0xdc, 0xd6, 0xba, 0xce, 0xaa, 0xaa, 0xaa, 0x8f, 0xdb, 0xd6, 0x9b, 0xce, 0xea, 0xfa, 0xea, 0xae,
- 0xdc, 0xd6, 0x9a, 0xce, 0xaa, 0xfe, 0xff, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xaa, 0xaa, 0xba, 0x9a, 0xd6, 0xbb, 0xce, 0xff, 0xf5, 0x55, 0x7b, 0xbc, 0xd6, 0x9a, 0xce, 0xaa, 0xaa, 0xaa, 0xb3,
- 0xdb, 0xd6, 0x9a, 0xce, 0xeb, 0xbf, 0xee, 0xfa, 0xdb, 0xd6, 0x9a, 0xce, 0xbb, 0xab, 0xba, 0xff, 0x9a, 0xd6, 0xdb, 0xce, 0xaf, 0xbf, 0xfa, 0xff, 0xdb, 0xd6, 0xba, 0xce, 0xbb, 0xbf, 0xbe, 0xff,
- 0xbb, 0xd6, 0xdb, 0xce, 0x2a, 0xaa, 0xae, 0xea, 0xbb, 0xd6, 0xda, 0xce, 0xaa, 0xa2, 0xae, 0xbf, 0xdc, 0xd6, 0xba, 0xce, 0xab, 0xaa, 0xae, 0xff, 0xdc, 0xd6, 0xba, 0xce, 0xf8, 0xea, 0xaa, 0xff,
- 0xbc, 0xd6, 0xba, 0xce, 0x0a, 0xaa, 0xfa, 0xfa, 0xdc, 0xd6, 0xba, 0xce, 0xab, 0xed, 0xfd, 0xff, 0xdc, 0xd6, 0xba, 0xce, 0xfe, 0xfa, 0xff, 0xfe, 0xdc, 0xd6, 0xbb, 0xce, 0xab, 0xab, 0xbe, 0xff,
- 0xdc, 0xd6, 0xba, 0xce, 0xbf, 0xfa, 0xfa, 0xef, 0xdc, 0xd6, 0x9a, 0xce, 0xaa, 0xfe, 0xfa, 0xef, 0xba, 0xd6, 0xdb, 0xce, 0xaf, 0x0a, 0xba, 0xbe, 0xbb, 0xd6, 0xdb, 0xce, 0xfa, 0xaa, 0x2a, 0xaa,
- 0xdb, 0xd6, 0xbb, 0xce, 0xea, 0xbf, 0xbf, 0xfd, 0xba, 0xd6, 0xdc, 0xce, 0xfa, 0xaa, 0xaa, 0xaa, 0xba, 0xd6, 0xdc, 0xce, 0x8a, 0xab, 0xa0, 0x2a, 0xbb, 0xd6, 0xdc, 0xce, 0xae, 0x80, 0xaa, 0x80,
- 0xdb, 0xd6, 0xbb, 0xce, 0xeb, 0xbf, 0xbf, 0xfe, 0xdb, 0xd6, 0xbb, 0xce, 0x3a, 0xab, 0xba, 0x2b, 0xdc, 0xd6, 0xba, 0xce, 0xfa, 0xaf, 0xba, 0xef, 0xdb, 0xd6, 0xbb, 0xce, 0xbf, 0xbb, 0xfa, 0xaf,
- 0xdb, 0xd6, 0xbb, 0xce, 0xea, 0xae, 0xaa, 0xaf, 0xbb, 0xd6, 0xdb, 0xce, 0xa0, 0xae, 0xa0, 0xe2, 0xdc, 0xd6, 0xba, 0xce, 0xfa, 0xfe, 0xef, 0xfb, 0xba, 0xd6, 0xdb, 0xce, 0xae, 0x00, 0x82, 0xaa,
- 0xdb, 0xd6, 0xba, 0xce, 0x2b, 0xbf, 0xff, 0xbe, 0xdc, 0xd6, 0x9a, 0xce, 0xaa, 0xba, 0xfa, 0xea, 0xdc, 0xd6, 0xba, 0xce, 0xab, 0xff, 0xff, 0xff, 0xdb, 0xd6, 0xba, 0xce, 0xaf, 0xff, 0xae, 0xfb,
- 0xdb, 0xd6, 0xbb, 0xce, 0xae, 0xaf, 0xeb, 0xbe, 0xdb, 0xd6, 0xbb, 0xce, 0x8a, 0xaa, 0x2a, 0xea, 0xdb, 0xd6, 0xba, 0xd6, 0xba, 0xf5, 0xa8, 0xfa, 0xdb, 0xd6, 0xba, 0xd6, 0xaa, 0xaa, 0x8e, 0x9e,
- 0xdc, 0xd6, 0xba, 0xd6, 0xaa, 0xab, 0xaf, 0x88, 0xdb, 0xd6, 0xbb, 0xd6, 0x01, 0xa8, 0x00, 0x88, 0xdb, 0xde, 0xba, 0xce, 0xab, 0xaa, 0xae, 0xeb, 0xdc, 0xde, 0xba, 0xd6, 0xef, 0xbf, 0xf7, 0xff,
- 0xdb, 0xd6, 0xbb, 0xd6, 0x98, 0x00, 0x00, 0x00, 0xfb, 0xd6, 0xba, 0xd6, 0xef, 0xab, 0xef, 0xbb, 0xfc, 0xde, 0xba, 0xce, 0xae, 0xba, 0xef, 0xfb, 0xfb, 0xde, 0xba, 0xd6, 0xfb, 0xff, 0xef, 0xfb,
- 0xbb, 0xce, 0x9a, 0xce, 0x55, 0x7b, 0x55, 0x55, 0xbb, 0xce, 0x7a, 0xce, 0xaa, 0xee, 0xae, 0xaf, 0xbb, 0xce, 0x7a, 0xce, 0xaf, 0xfa, 0xea, 0xff, 0xbb, 0xce, 0x7a, 0xce, 0xbe, 0xaf, 0xbb, 0xaa,
- 0xbb, 0xce, 0x7a, 0xce, 0xba, 0xeb, 0xfa, 0xfe, 0xbb, 0xce, 0x9a, 0xce, 0x95, 0x95, 0xf5, 0x55, 0xbb, 0xce, 0x9a, 0xce, 0x9d, 0x55, 0x55, 0xd5, 0xbb, 0xd6, 0x9a, 0xc6, 0xbe, 0xbe, 0xbb, 0xaf,
- 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xfd, 0xfd, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xf7, 0xdf, 0x75, 0xba, 0xce, 0x9b, 0xce, 0x5f, 0x5f, 0xf4, 0x57, 0xbb, 0xd6, 0x7a, 0xce, 0xaa, 0xab, 0xba, 0xab,
- 0xbb, 0xd6, 0x9a, 0xce, 0xf7, 0xdf, 0xff, 0x7d, 0x9b, 0xd6, 0xba, 0xc6, 0xea, 0xaa, 0xfe, 0xff, 0xbb, 0xd6, 0x9a, 0xc6, 0xee, 0xeb, 0xff, 0xbe, 0xbb, 0xd6, 0x9a, 0xc6, 0xab, 0xff, 0xfe, 0xef,
- 0xbb, 0xd6, 0x9a, 0xc6, 0xaa, 0xbf, 0xee, 0xbf, 0xbb, 0xd6, 0x9a, 0xce, 0xfd, 0xbf, 0xf7, 0x7f, 0xba, 0xce, 0x9b, 0xce, 0xb5, 0xf8, 0xb5, 0x37, 0xba, 0xce, 0x9b, 0xce, 0xea, 0x6b, 0xf8, 0xb8,
- 0xbb, 0xd6, 0x9a, 0xce, 0xbf, 0xfe, 0xff, 0xfd, 0x9b, 0xd6, 0xba, 0xce, 0x7d, 0xfa, 0xda, 0xff, 0xbb, 0xd6, 0x9a, 0xc6, 0xaa, 0xaa, 0xaf, 0xbe, 0xbb, 0xd6, 0x9a, 0xce, 0xab, 0xee, 0xfe, 0xee,
- 0xbb, 0xd6, 0x9a, 0xce, 0xe6, 0xff, 0xef, 0xff, 0xba, 0xd6, 0x9b, 0xce, 0xbf, 0xaf, 0xef, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xfe, 0xfe, 0xab, 0xbb, 0xd6, 0x9a, 0xce, 0xbb, 0xea, 0xbb, 0xff,
- 0x9a, 0xd6, 0xbb, 0xce, 0xff, 0xfe, 0xff, 0xbf, 0xbb, 0xd6, 0x9a, 0xce, 0xea, 0xae, 0xfa, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xfe, 0xbf, 0x7f, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xfe, 0xef, 0xff, 0xff,
- 0xbb, 0xd6, 0x9a, 0xce, 0xeb, 0xff, 0xff, 0xff, 0xbb, 0xd6, 0x9a, 0xc6, 0xab, 0xaa, 0xff, 0xff, 0xbb, 0xd6, 0x9a, 0xc6, 0xba, 0xab, 0xae, 0xab, 0xbb, 0xd6, 0x9a, 0xce, 0xbb, 0xff, 0xef, 0xff,
- 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xef, 0xff, 0xff, 0xdb, 0xd6, 0x9a, 0xce, 0xfe, 0xff, 0xff, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xea, 0xbb, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xea, 0xbb, 0xab, 0xe9,
- 0xbb, 0xd6, 0x9a, 0xce, 0xee, 0xfa, 0xba, 0xab, 0xbb, 0xd6, 0x9a, 0xce, 0xbf, 0xfb, 0xaf, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0x7b, 0xfa, 0xf7, 0xfb, 0xbb, 0xd6, 0x9a, 0xce, 0xfe, 0xd7, 0xff, 0xff,
- 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xff, 0xaf, 0xfa, 0xbb, 0xd6, 0x9a, 0xce, 0xef, 0xfb, 0xff, 0xfa, 0x9b, 0xd6, 0xba, 0xc6, 0xfa, 0xbf, 0xfa, 0xaf, 0xba, 0xd6, 0x9b, 0xce, 0xff, 0xbb, 0xff, 0xfe,
- 0xbb, 0xd6, 0x9a, 0xce, 0x6f, 0xb7, 0xae, 0xfe, 0xbb, 0xd6, 0x9a, 0xce, 0xbf, 0xbb, 0xef, 0xbe, 0xdb, 0xce, 0xba, 0xce, 0x57, 0x55, 0x67, 0x55, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xaa, 0xaa, 0xea,
- 0xdb, 0xd6, 0xba, 0xce, 0xd5, 0xd5, 0x55, 0xd7, 0xdb, 0xd6, 0x9a, 0xce, 0xfb, 0xfe, 0xff, 0xfe, 0xbb, 0xd6, 0xbb, 0xce, 0xbf, 0xeb, 0xae, 0xa9, 0xdb, 0xd6, 0x9a, 0xce, 0xbe, 0xba, 0xaa, 0xbf,
- 0xdb, 0xd6, 0x9a, 0xce, 0xbf, 0xff, 0xeb, 0xaf, 0x9a, 0xd6, 0xdc, 0xce, 0xab, 0xea, 0xaa, 0xbf, 0xdb, 0xd6, 0xba, 0xce, 0xef, 0xff, 0x7f, 0xd7, 0x9a, 0xd6, 0xdb, 0xce, 0xff, 0xae, 0xfb, 0xfa,
- 0xdb, 0xd6, 0xba, 0xce, 0xfe, 0x9f, 0xff, 0xee, 0xba, 0xd6, 0xdc, 0xce, 0x2a, 0xaa, 0xa8, 0xab, 0xdb, 0xd6, 0xba, 0xce, 0xfe, 0xae, 0xfa, 0xff, 0xdb, 0xd6, 0x9a, 0xce, 0xea, 0xaa, 0xab, 0xaa,
- 0xba, 0xd6, 0xdb, 0xce, 0x8b, 0xaa, 0x0a, 0xaa, 0xbb, 0xd6, 0xdb, 0xce, 0xa2, 0xfe, 0xfa, 0x22, 0xdc, 0xd6, 0xba, 0xce, 0xff, 0xff, 0xff, 0x7f, 0xbb, 0xd6, 0x9a, 0xce, 0xe0, 0xae, 0xaa, 0xaa,
- 0xdb, 0xd6, 0x9a, 0xce, 0xfa, 0xae, 0xef, 0xaa, 0xbb, 0xd6, 0xba, 0xce, 0xbe, 0xaa, 0xfa, 0xaa, 0xbb, 0xd6, 0xba, 0xce, 0xaa, 0xfe, 0xbf, 0xaf, 0x9a, 0xd6, 0xbb, 0xce, 0x7f, 0xff, 0xed, 0xff,
- 0x9b, 0xd6, 0xbb, 0xce, 0xf9, 0xf7, 0xf5, 0x55, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xac, 0xba, 0xea, 0x9b, 0xd6, 0xdb, 0xce, 0xae, 0xaa, 0xea, 0xfa, 0xdb, 0xd6, 0x9a, 0xce, 0xff, 0xfb, 0xff, 0xfe,
- 0xbb, 0xd6, 0xba, 0xce, 0xaa, 0xaa, 0xdf, 0xfd, 0xba, 0xd6, 0xdb, 0xce, 0xaa, 0xaa, 0xca, 0xab, 0xdb, 0xd6, 0xba, 0xce, 0xe2, 0xa2, 0xfa, 0x7a, 0xdb, 0xd6, 0x9a, 0xce, 0xfe, 0xfe, 0xff, 0xeb,
- 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xaa, 0xaa, 0xbb, 0xbb, 0xd6, 0x9a, 0xce, 0xba, 0xaa, 0xaa, 0xaa, 0xbb, 0xd6, 0x9a, 0xce, 0xab, 0xae, 0xba, 0xaa, 0xbb, 0xd6, 0xba, 0xce, 0xaf, 0xff, 0xfd, 0xfd,
- 0x9a, 0xd6, 0xbb, 0xce, 0x57, 0x7b, 0x7f, 0xfd, 0xdb, 0xd6, 0x9a, 0xce, 0xbf, 0xae, 0xfb, 0xff, 0x9a, 0xd6, 0xdb, 0xce, 0xeb, 0xff, 0xef, 0xaf, 0xdb, 0xd6, 0x9b, 0xce, 0xee, 0xaa, 0xbf, 0xef,
- 0xdb, 0xd6, 0xbb, 0xce, 0xbb, 0xf7, 0xdf, 0xb7, 0xbb, 0xd6, 0xdb, 0xce, 0xa0, 0xa2, 0x8a, 0xaf, 0xdb, 0xd6, 0x9a, 0xce, 0xee, 0xbf, 0xab, 0xaf, 0xbc, 0xd6, 0xba, 0xce, 0xae, 0xdd, 0xaf, 0xbf,
- 0x9a, 0xd6, 0xdb, 0xce, 0xaa, 0xeb, 0xfe, 0xba, 0x9b, 0xd6, 0xdb, 0xce, 0xfa, 0xaa, 0xeb, 0xaf, 0xbb, 0xd6, 0x9a, 0xce, 0xa8, 0xae, 0xa2, 0xaa, 0x9b, 0xd6, 0xdc, 0xce, 0xfe, 0xaa, 0xba, 0xee,
- 0xbb, 0xd6, 0xdb, 0xce, 0x82, 0xaa, 0xa8, 0xbe, 0xdb, 0xd6, 0x9a, 0xce, 0xfa, 0xae, 0xbb, 0xfb, 0xdc, 0xd6, 0xba, 0xce, 0xff, 0xfe, 0xff, 0xff, 0xdb, 0xd6, 0x9b, 0xce, 0xaa, 0xaa, 0xaa, 0xba,
- 0xdb, 0xd6, 0x9a, 0xce, 0xaa, 0xaa, 0xae, 0xeb, 0xdb, 0xd6, 0xbb, 0xce, 0xef, 0xaf, 0xb7, 0xfa, 0xbc, 0xd6, 0xda, 0xce, 0xaa, 0xaa, 0x2a, 0xab, 0xdc, 0xd6, 0x9b, 0xce, 0xbe, 0xab, 0xaa, 0xba,
- 0xdb, 0xd6, 0xbb, 0xce, 0xff, 0xef, 0xff, 0xae, 0xdc, 0xd6, 0xba, 0xce, 0xab, 0xab, 0x9a, 0xea, 0xdb, 0xd6, 0xbb, 0xd6, 0xaf, 0xfd, 0x57, 0xf7, 0xdb, 0xd6, 0xba, 0xce, 0xea, 0xbe, 0xef, 0xef,
- 0xbc, 0xd6, 0xba, 0xce, 0x2a, 0xaa, 0x8b, 0xba, 0xdb, 0xd6, 0x9a, 0xce, 0xae, 0xbf, 0xfa, 0xab, 0x9a, 0xd6, 0xdb, 0xce, 0xaa, 0xbf, 0xbf, 0xbb, 0xdc, 0xd6, 0x9a, 0xce, 0xfe, 0xbe, 0xaa, 0xff,
- 0xdb, 0xd6, 0xba, 0xce, 0xfb, 0xfa, 0xff, 0xfb, 0xdb, 0xd6, 0x9b, 0xce, 0xaa, 0xab, 0xaa, 0xab, 0xdb, 0xd6, 0x9b, 0xce, 0xab, 0xaa, 0xaa, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xaf, 0xea, 0xea,
- 0xdb, 0xd6, 0xba, 0xce, 0xab, 0xaa, 0xab, 0x2a, 0xbb, 0xd6, 0xda, 0xce, 0xaa, 0xaa, 0x0b, 0x20, 0xdb, 0xd6, 0xba, 0xd6, 0xec, 0x22, 0xab, 0xcb, 0xdb, 0xd6, 0xba, 0xd6, 0xaf, 0x18, 0xb0, 0x82,
- 0xdc, 0xde, 0xba, 0xce, 0xab, 0xba, 0xab, 0xaa, 0xdb, 0xde, 0xba, 0xd6, 0xef, 0xfd, 0xff, 0xff, 0xdb, 0xde, 0xba, 0xce, 0xee, 0xaa, 0xab, 0xaa, 0xfc, 0xde, 0xba, 0xce, 0xfa, 0xff, 0xab, 0xfa,
- 0xdb, 0xde, 0xba, 0xd6, 0xff, 0xbf, 0xaf, 0xab, 0xba, 0xde, 0xdb, 0xd6, 0xf7, 0x55, 0x55, 0x5f, 0xdc, 0xde, 0xda, 0xce, 0xaa, 0xaf, 0xaa, 0xaa, 0xfb, 0xde, 0xba, 0xd6, 0xff, 0xff, 0xff, 0xff,
- 0x9b, 0xce, 0x7a, 0xc6, 0x02, 0x08, 0xaa, 0x0a, 0x9b, 0xce, 0x7a, 0xce, 0x00, 0x03, 0x80, 0xe0, 0xbb, 0xce, 0x7a, 0xce, 0xeb, 0xbf, 0xfb, 0xfe, 0x9b, 0xce, 0x7a, 0xc6, 0x80, 0x02, 0x22, 0xa0,
- 0x9b, 0xce, 0x7a, 0xce, 0x02, 0x2b, 0x82, 0x2e, 0x9b, 0xce, 0x7a, 0xce, 0x00, 0x00, 0x82, 0xc1, 0xba, 0xce, 0x7b, 0xce, 0xab, 0xef, 0xbe, 0xbf, 0xba, 0xce, 0x7b, 0xce, 0xfe, 0xaa, 0xfe, 0xee,
- 0x9b, 0xd6, 0x9a, 0xc6, 0xaa, 0xab, 0xbe, 0xfe, 0xba, 0xce, 0x9b, 0xce, 0x57, 0xf5, 0x55, 0xed, 0xbb, 0xce, 0x9a, 0xce, 0x55, 0x6d, 0x55, 0x7d, 0xbb, 0xce, 0x7a, 0xce, 0xae, 0xaa, 0xfa, 0xaa,
- 0xba, 0xce, 0x9b, 0xce, 0x57, 0xc5, 0x75, 0xd7, 0xbb, 0xd6, 0x9a, 0xc6, 0xee, 0xfe, 0xff, 0xff, 0x9b, 0xd6, 0x9a, 0xc6, 0xaa, 0xaa, 0xeb, 0xef, 0xbb, 0xce, 0x9a, 0xce, 0xe1, 0xf5, 0xb5, 0xa9,
- 0xba, 0xd6, 0x9b, 0xce, 0xdf, 0xfd, 0xdd, 0xfd, 0xba, 0xd6, 0x9b, 0xce, 0x7f, 0x7f, 0x7f, 0x67, 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xff, 0xdf, 0xd7, 0x9b, 0xd6, 0xba, 0xce, 0xdf, 0xfe, 0xff, 0xaa,
- 0xba, 0xd6, 0x9b, 0xce, 0xfd, 0xff, 0xef, 0xdf, 0x9b, 0xd6, 0xba, 0xce, 0x97, 0xaa, 0xfa, 0xba, 0x9a, 0xd6, 0xbb, 0xc6, 0xfa, 0xfe, 0xaa, 0xea, 0xbb, 0xce, 0x9a, 0xce, 0x78, 0xe3, 0xbb, 0x9e,
- 0xbb, 0xd6, 0x9a, 0xce, 0xdf, 0xff, 0x7d, 0xf7, 0xbb, 0xd6, 0x9a, 0xce, 0xbf, 0xff, 0xfb, 0xff, 0xbb, 0xce, 0x9a, 0xce, 0x26, 0xb8, 0x62, 0x40, 0xba, 0xd6, 0x9b, 0xce, 0xf5, 0xff, 0xaf, 0xef,
- 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xba, 0xff, 0xff, 0xbb, 0xce, 0x9a, 0xce, 0x7a, 0x00, 0x0f, 0xb7, 0xbb, 0xd6, 0x9a, 0xc6, 0xae, 0xea, 0xaa, 0xeb, 0xbb, 0xce, 0x9a, 0xce, 0xff, 0x5b, 0x97, 0x77,
- 0xbb, 0xce, 0x9a, 0xce, 0x55, 0xd9, 0xf7, 0xdf, 0xba, 0xce, 0x9b, 0xce, 0x71, 0x57, 0xd5, 0xd7, 0xbb, 0xce, 0x9a, 0xce, 0xee, 0x57, 0xfa, 0x59, 0xbb, 0xd6, 0x9a, 0xce, 0xdf, 0xf5, 0xf7, 0xfd,
- 0x9a, 0xd6, 0xbb, 0xce, 0xb5, 0xdf, 0xef, 0xff, 0xba, 0xce, 0x9b, 0xce, 0x5a, 0x5e, 0xb2, 0xea, 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xfb, 0x65, 0xef, 0x9b, 0xd6, 0xba, 0xce, 0xff, 0xaf, 0xbf, 0xfa,
- 0xbb, 0xd6, 0x9a, 0xce, 0xee, 0xeb, 0xdb, 0xbf, 0xbb, 0xd6, 0x9a, 0xce, 0xbb, 0xeb, 0xff, 0x6a, 0xbb, 0xce, 0x9a, 0xce, 0x83, 0x0e, 0xaa, 0x28, 0xbb, 0xd6, 0x9a, 0xce, 0xbb, 0xbe, 0xef, 0xae,
- 0x9a, 0xd6, 0xbb, 0xce, 0xbf, 0xbf, 0x55, 0x75, 0xbb, 0xd6, 0x9a, 0xce, 0xeb, 0xab, 0xaa, 0xaf, 0xdb, 0xd6, 0x9a, 0xce, 0xaf, 0xaf, 0xfb, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xfe, 0xea, 0xee, 0xef,
- 0x9a, 0xd6, 0xbb, 0xce, 0xff, 0x57, 0xff, 0x5e, 0xbb, 0xd6, 0x9a, 0xce, 0xae, 0xbb, 0xbe, 0xef, 0xbb, 0xd6, 0x9a, 0xce, 0xa2, 0xaa, 0xaa, 0xae, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xea, 0xaa, 0xba,
- 0x9a, 0xd6, 0xdb, 0xce, 0xee, 0xaf, 0xfa, 0xfa, 0x9a, 0xd6, 0xdb, 0xce, 0xee, 0xfe, 0xae, 0xaa, 0x9a, 0xd6, 0xbb, 0xce, 0xf7, 0xd7, 0xff, 0xfa, 0xdb, 0xd6, 0x9a, 0xce, 0xff, 0xef, 0xab, 0xff,
- 0xdb, 0xd6, 0xbb, 0xce, 0xff, 0xbf, 0xfd, 0x9d, 0xbb, 0xd6, 0xdb, 0xce, 0x2a, 0xab, 0x2a, 0xaf, 0xdb, 0xd6, 0x9a, 0xce, 0xbe, 0xba, 0xab, 0xea, 0xbb, 0xd6, 0xbb, 0xce, 0xbf, 0x2a, 0xfa, 0x7e,
- 0xdb, 0xd6, 0x9a, 0xce, 0xaf, 0xab, 0xab, 0xff, 0xdb, 0xd6, 0xba, 0xce, 0xee, 0xef, 0xfb, 0xfd, 0xdb, 0xd6, 0xba, 0xce, 0xaf, 0xfa, 0xfe, 0xff, 0xdb, 0xd6, 0x9a, 0xce, 0xbf, 0xaf, 0xaa, 0xef,
- 0xbb, 0xd6, 0xba, 0xce, 0xaf, 0xaa, 0xaf, 0x7a, 0xbb, 0xd6, 0x9b, 0xce, 0xaa, 0xaa, 0xaa, 0x3a, 0xdc, 0xd6, 0x9a, 0xce, 0xaf, 0xeb, 0xeb, 0xee, 0xdb, 0xd6, 0x9a, 0xce, 0xeb, 0xff, 0xeb, 0xaa,
- 0x9a, 0xd6, 0xdb, 0xce, 0xbf, 0xbe, 0xff, 0xbb, 0x9a, 0xd6, 0xdc, 0xce, 0xff, 0xaf, 0xab, 0xea, 0xba, 0xd6, 0xdc, 0xce, 0xa0, 0x02, 0xe2, 0xe8, 0xdb, 0xd6, 0x9b, 0xce, 0xfa, 0xff, 0xab, 0xee,
- 0xbc, 0xd6, 0x9a, 0xce, 0x8c, 0xaa, 0xaa, 0xeb, 0xbb, 0xd6, 0xba, 0xce, 0xa8, 0xfa, 0xed, 0x7f, 0x9b, 0xd6, 0xdb, 0xce, 0xfa, 0xfa, 0xfa, 0xbb, 0xdb, 0xd6, 0x9a, 0xce, 0xfa, 0xfe, 0xfb, 0xff,
- 0x9a, 0xd6, 0xdb, 0xce, 0xba, 0xfe, 0xaf, 0xba, 0xdc, 0xd6, 0x9a, 0xce, 0xaf, 0xef, 0xbf, 0xbf, 0xbc, 0xd6, 0x9a, 0xce, 0xa0, 0xaa, 0xaa, 0xfa, 0xdb, 0xd6, 0x9a, 0xce, 0xeb, 0xff, 0xff, 0xff,
- 0xbb, 0xd6, 0xba, 0xce, 0xeb, 0xbb, 0xff, 0xdd, 0xdb, 0xd6, 0x9a, 0xce, 0xeb, 0xff, 0xef, 0xff, 0x9a, 0xd6, 0xbb, 0xce, 0x5f, 0xfd, 0x7a, 0x57, 0xbc, 0xd6, 0xba, 0xce, 0xf7, 0xee, 0xff, 0xef,
- 0xdb, 0xd6, 0x9a, 0xce, 0xff, 0xea, 0xfb, 0xeb, 0xbb, 0xd6, 0xba, 0xce, 0xe8, 0xbe, 0xaf, 0xa5, 0x9a, 0xd6, 0xbb, 0xce, 0x6d, 0xff, 0x57, 0x7f, 0xbc, 0xd6, 0xba, 0xce, 0xae, 0xaa, 0xff, 0xe7,
- 0x9a, 0xd6, 0xdb, 0xce, 0xfb, 0xbb, 0xfb, 0xfe, 0xdb, 0xd6, 0xba, 0xce, 0x7e, 0xef, 0xeb, 0xbb, 0xbc, 0xd6, 0xba, 0xce, 0x8b, 0xab, 0xa3, 0xab, 0xbc, 0xd6, 0xba, 0xce, 0xea, 0xb8, 0xbd, 0xea,
- 0xbb, 0xd6, 0xdb, 0xce, 0xa8, 0xa0, 0xbe, 0x0a, 0xbb, 0xd6, 0xdb, 0xce, 0xaa, 0xa2, 0xbe, 0xac, 0xdc, 0xd6, 0x9a, 0xce, 0xbb, 0xfa, 0xbf, 0xfa, 0x9a, 0xd6, 0xdc, 0xce, 0xfa, 0xeb, 0xff, 0xfe,
- 0x9a, 0xd6, 0xbb, 0xce, 0x7b, 0xdf, 0xd5, 0xef, 0xdb, 0xd6, 0x9a, 0xce, 0xfa, 0xfa, 0xab, 0xfa, 0xdc, 0xd6, 0x9a, 0xce, 0xea, 0xaf, 0xfe, 0xaa, 0xbb, 0xd6, 0xdc, 0xce, 0x3a, 0xea, 0xa0, 0x22,
- 0x9b, 0xd6, 0xdb, 0xce, 0xf8, 0xfb, 0xbf, 0xfa, 0x9b, 0xd6, 0xdb, 0xce, 0xaa, 0xff, 0xfa, 0xff, 0xbc, 0xd6, 0xba, 0xce, 0xae, 0xba, 0xeb, 0xfe, 0xbb, 0xd6, 0xdb, 0xce, 0x8a, 0x3e, 0x2a, 0xaa,
- 0xdc, 0xd6, 0x9a, 0xce, 0xaa, 0xab, 0xbe, 0xbf, 0xdc, 0xd6, 0xba, 0xce, 0xba, 0xef, 0xfb, 0xff, 0xdc, 0xd6, 0xba, 0xce, 0xea, 0xef, 0xef, 0xef, 0x9a, 0xd6, 0xbc, 0xce, 0xaf, 0xf7, 0xfa, 0x7e,
- 0xbb, 0xd6, 0xdb, 0xce, 0x2e, 0x2a, 0xaf, 0xaa, 0x9b, 0xd6, 0xdc, 0xce, 0xaf, 0xae, 0xef, 0xbb, 0xdc, 0xd6, 0xba, 0xce, 0xf7, 0xff, 0xfe, 0xeb, 0xdc, 0xd6, 0x9a, 0xce, 0xaa, 0xae, 0xaa, 0xfa,
- 0xdc, 0xd6, 0x9a, 0xce, 0xaf, 0xab, 0xab, 0xea, 0xbb, 0xd6, 0xbb, 0xce, 0xaa, 0x2a, 0xea, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0xab, 0xeb, 0xab, 0xab, 0xdb, 0xd6, 0xba, 0xce, 0x0a, 0xaa, 0xae, 0xae,
- 0xdb, 0xd6, 0xba, 0xce, 0xaa, 0xaa, 0xaa, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0x82, 0x2a, 0xa2, 0xca, 0xdb, 0xd6, 0xbb, 0xd6, 0x0e, 0x00, 0x30, 0xa1, 0xdb, 0xde, 0xba, 0xce, 0xaa, 0xaf, 0xbe, 0xaa,
- 0xfc, 0xde, 0xba, 0xce, 0xee, 0xbb, 0xeb, 0xab, 0xdb, 0xd6, 0xba, 0xd6, 0x00, 0x2c, 0xa0, 0x00, 0xfb, 0xd6, 0xbb, 0xd6, 0xeb, 0xaa, 0xbf, 0xab, 0xfb, 0xde, 0xba, 0xd6, 0xef, 0xff, 0xbf, 0xff,
- 0xfb, 0xde, 0xda, 0xd6, 0xf5, 0x55, 0x7d, 0x55, 0xfc, 0xde, 0xda, 0xd6, 0x7f, 0x7f, 0x7f, 0xff, 0xdb, 0xde, 0xfb, 0xd6, 0x7a, 0xaa, 0x2a, 0x8a, 0xfc, 0xde, 0xda, 0xd6, 0x7f, 0x5f, 0xed, 0x77,
- 0x9b, 0xce, 0x7a, 0xc6, 0xa0, 0x8a, 0x28, 0xaa, 0x9b, 0xce, 0x7a, 0xc6, 0x02, 0xaa, 0xaa, 0x2a, 0x9b, 0xce, 0x7a, 0xc6, 0xa2, 0xaa, 0xaa, 0x8e, 0x9b, 0xce, 0x7a, 0xc6, 0x2a, 0xa2, 0xaa, 0xab,
- 0x7b, 0xce, 0x9a, 0xc6, 0xbe, 0x2a, 0xba, 0xed, 0x7a, 0xce, 0x9b, 0xc6, 0xbe, 0xef, 0xfe, 0xaf, 0x9b, 0xce, 0x7a, 0xc6, 0xaa, 0xaa, 0x8a, 0xaa, 0x9b, 0xce, 0x7a, 0xc6, 0x08, 0x08, 0x28, 0xaa,
- 0xbb, 0xce, 0x7a, 0xc6, 0xba, 0xfe, 0xea, 0xef, 0xba, 0xd6, 0x7b, 0xc6, 0xaf, 0xae, 0xbf, 0xff, 0x9b, 0xce, 0x7a, 0xc6, 0x82, 0x20, 0x2a, 0xaa, 0x9b, 0xd6, 0x9a, 0xc6, 0xea, 0xbe, 0xaf, 0xfb,
- 0xbb, 0xce, 0x7a, 0xc6, 0xaa, 0xfe, 0xfb, 0xbb, 0xbb, 0xce, 0x7a, 0xc6, 0xaa, 0xeb, 0xfb, 0xea, 0x9a, 0xce, 0x7b, 0xce, 0x20, 0x0a, 0x00, 0x40, 0xbb, 0xce, 0x7a, 0xce, 0xba, 0xff, 0xeb, 0xef,
- 0xba, 0xd6, 0x7b, 0xce, 0xae, 0xff, 0xff, 0xff, 0xba, 0xd6, 0x9b, 0xce, 0xff, 0x77, 0x75, 0x75, 0xba, 0xce, 0x9b, 0xce, 0xad, 0x6d, 0xf9, 0xfb, 0x9b, 0xd6, 0x9a, 0xce, 0x95, 0x7d, 0xfd, 0x75,
- 0xbb, 0xd6, 0x9a, 0xc6, 0xeb, 0xee, 0xfa, 0xaa, 0xbb, 0xce, 0x9a, 0xce, 0xfe, 0xef, 0xfb, 0x5d, 0xbb, 0xd6, 0x9a, 0xce, 0x57, 0xff, 0x7f, 0x7f, 0xbb, 0xd6, 0x7a, 0xc6, 0xfa, 0xaa, 0xea, 0xba,
- 0xbb, 0xd6, 0x9a, 0xc6, 0xff, 0xbf, 0xaf, 0xff, 0x9b, 0xd6, 0xba, 0xc6, 0xff, 0xaa, 0xab, 0xea, 0xba, 0xce, 0x9b, 0xce, 0xe0, 0xb7, 0xd6, 0xb8, 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xbf, 0xff, 0xde,
- 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0x7f, 0xde, 0xff, 0xbb, 0xce, 0x9a, 0xce, 0xf7, 0x77, 0xfb, 0xdf, 0x9b, 0xd6, 0x9a, 0xce, 0xd7, 0x5f, 0x55, 0xfd, 0xbb, 0xce, 0x9a, 0xce, 0xf6, 0xdb, 0x55, 0x55,
- 0xbb, 0xce, 0x9a, 0xce, 0x7f, 0xe9, 0x7d, 0x7f, 0xbb, 0xce, 0x9a, 0xce, 0xfd, 0xff, 0xb5, 0xed, 0xbb, 0xd6, 0x9a, 0xce, 0xfd, 0xf7, 0xff, 0xff, 0xbb, 0xd6, 0x9a, 0xc6, 0xeb, 0xaa, 0xab, 0xaa,
- 0xbb, 0xce, 0x9a, 0xce, 0xfe, 0xd8, 0xaf, 0xef, 0xbb, 0xce, 0x9a, 0xce, 0xff, 0x8b, 0xbf, 0xaf, 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xbf, 0xfe, 0xf7, 0xbb, 0xd6, 0x9a, 0xce, 0xbf, 0xeb, 0xfb, 0xab,
- 0x9b, 0xd6, 0xba, 0xc6, 0xeb, 0xaf, 0xeb, 0xea, 0xbb, 0xd6, 0x9a, 0xc6, 0xab, 0xaa, 0xaa, 0xaa, 0xbb, 0xce, 0x9a, 0xce, 0xfa, 0x80, 0x03, 0xc0, 0xbb, 0xd6, 0x9a, 0xce, 0xbb, 0xfb, 0xaf, 0xfb,
- 0x9a, 0xd6, 0xbb, 0xce, 0x5f, 0xab, 0xf5, 0xf7, 0xbb, 0xd6, 0x9a, 0xce, 0xba, 0xbe, 0xbe, 0xbe, 0xdb, 0xce, 0x9a, 0xce, 0xfb, 0xcf, 0xbe, 0xfa, 0xbb, 0xd6, 0x9a, 0xce, 0xba, 0xaa, 0xaf, 0xeb,
- 0xbb, 0xce, 0x9a, 0xce, 0x0b, 0x00, 0x00, 0x0a, 0xbb, 0xd6, 0x9a, 0xce, 0xeb, 0xaf, 0xee, 0xea, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xae, 0xab, 0xba, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xaf, 0xfa, 0xbf,
- 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xea, 0xfe, 0xae, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xab, 0xab, 0xab, 0xbb, 0xd6, 0xba, 0xce, 0xaf, 0xff, 0x7f, 0xde, 0x9b, 0xd6, 0xba, 0xce, 0xbf, 0x7f, 0xff, 0xff,
- 0xbb, 0xd6, 0x9a, 0xce, 0x2a, 0xe2, 0xaa, 0xaa, 0x9b, 0xd6, 0xba, 0xce, 0xde, 0xff, 0x7f, 0xbd, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xaa, 0xae, 0xae, 0x9b, 0xd6, 0xdb, 0xce, 0xfe, 0xaa, 0xaa, 0xfe,
- 0x9b, 0xd6, 0xba, 0xce, 0xad, 0xff, 0xbf, 0xff, 0xbc, 0xd6, 0x9a, 0xce, 0xaa, 0xaa, 0xff, 0xbb, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xaa, 0xaa, 0xaa, 0xdb, 0xd6, 0x9a, 0xce, 0xbf, 0xfe, 0xff, 0xff,
- 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xaa, 0xaa, 0xab, 0xdb, 0xd6, 0x9a, 0xce, 0xea, 0xfe, 0xfe, 0xfa, 0x9a, 0xd6, 0xbb, 0xce, 0xbd, 0xf5, 0xff, 0x7f, 0x9a, 0xd6, 0xbb, 0xce, 0xf6, 0xff, 0x7f, 0xf5,
- 0xbb, 0xd6, 0x9a, 0xce, 0x2a, 0xa3, 0xa2, 0xea, 0xdb, 0xd6, 0x9a, 0xce, 0xfa, 0xff, 0xbf, 0xfe, 0xbb, 0xd6, 0x9a, 0xce, 0xba, 0xea, 0xaa, 0xaa, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xae, 0xeb, 0xfb,
- 0xbb, 0xd6, 0x9b, 0xce, 0xaa, 0xaa, 0xaa, 0xed, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xaa, 0xff, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xfa, 0xfd, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xae, 0xff, 0xfb,
- 0xbb, 0xd6, 0x9a, 0xce, 0xea, 0xea, 0xfb, 0xfb, 0xbb, 0xd6, 0x9a, 0xce, 0xab, 0xeb, 0xbb, 0xeb, 0xbb, 0xd6, 0x9a, 0xce, 0xef, 0xfb, 0xfe, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xab, 0xfb, 0xfe, 0xdf,
- 0xbb, 0xce, 0x9a, 0xce, 0xbf, 0xff, 0x23, 0x28, 0xbb, 0xd6, 0x9a, 0xce, 0xba, 0xff, 0xef, 0xfa, 0xbb, 0xd6, 0x9a, 0xce, 0xaf, 0xae, 0xaf, 0xfb, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xae, 0xbe, 0xbf,
- 0xbc, 0xd6, 0x9a, 0xce, 0xaa, 0xaa, 0xba, 0xfa, 0xbc, 0xd6, 0x9a, 0xce, 0xaa, 0xba, 0xaa, 0xbe, 0xbc, 0xd6, 0x9a, 0xce, 0xaa, 0x2a, 0xaa, 0xbe, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xaa, 0x8a, 0xae,
- 0xdb, 0xd6, 0x9a, 0xce, 0xfa, 0xab, 0xbf, 0xab, 0xdb, 0xd6, 0x9a, 0xce, 0xfb, 0xea, 0xff, 0xff, 0xdb, 0xd6, 0x9a, 0xce, 0xae, 0xaa, 0xfb, 0xbf, 0xbb, 0xd6, 0xba, 0xce, 0xab, 0xbb, 0xff, 0xed,
- 0xdb, 0xd6, 0x9a, 0xce, 0xea, 0xab, 0xaf, 0xff, 0xdb, 0xd6, 0xbb, 0xce, 0xbf, 0xf7, 0xdd, 0x55, 0xdb, 0xd6, 0x9a, 0xce, 0xbe, 0xff, 0xfb, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0x28, 0xaa, 0xae, 0xbe,
- 0xbb, 0xd6, 0x9a, 0xce, 0x8a, 0x3a, 0xaa, 0xeb, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xea, 0xea, 0xea, 0xbb, 0xd6, 0x9a, 0xce, 0x2a, 0xa2, 0xea, 0xeb, 0xdb, 0xd6, 0x9a, 0xce, 0xaa, 0xfe, 0xff, 0xff,
- 0xba, 0xd6, 0xdb, 0xce, 0xfe, 0xaa, 0x20, 0xaa, 0xdb, 0xd6, 0x9a, 0xce, 0xae, 0xfe, 0xfa, 0xbf, 0xbb, 0xd6, 0x9a, 0xce, 0xa2, 0x2b, 0xaa, 0xaa, 0xdb, 0xd6, 0x9a, 0xce, 0xae, 0xeb, 0xfb, 0xff,
- 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xab, 0xaa, 0xaa, 0xdb, 0xd6, 0x9a, 0xce, 0xbe, 0xae, 0xbf, 0xab, 0x9a, 0xd6, 0xdb, 0xce, 0xff, 0xff, 0xfa, 0xab, 0xdb, 0xd6, 0x9a, 0xce, 0xae, 0xab, 0xab, 0xbb,
- 0xdc, 0xd6, 0x9a, 0xce, 0xea, 0xfb, 0xaa, 0xbe, 0xbc, 0xd6, 0x9a, 0xce, 0xaa, 0x2a, 0xaa, 0x2e, 0xdc, 0xd6, 0x9a, 0xce, 0xff, 0xbe, 0xaa, 0xae, 0xdb, 0xd6, 0xba, 0xce, 0xae, 0xff, 0xbf, 0xfa,
- 0xdb, 0xd6, 0xbb, 0xce, 0xef, 0xab, 0xaf, 0xfb, 0xdc, 0xd6, 0xba, 0xce, 0xfa, 0xfa, 0xfb, 0xbb, 0xdb, 0xd6, 0xbb, 0xce, 0xaa, 0xff, 0xaa, 0xee, 0xdb, 0xd6, 0xbb, 0xce, 0xaa, 0xaa, 0xaa, 0xa2,
- 0xdb, 0xd6, 0xba, 0xce, 0xa2, 0xee, 0xa8, 0x8a, 0xdb, 0xd6, 0xbb, 0xce, 0x2a, 0x82, 0x8a, 0x0a, 0xdb, 0xde, 0xba, 0xce, 0xee, 0xae, 0xba, 0xaa, 0xdc, 0xde, 0xba, 0xce, 0xaa, 0xfa, 0xae, 0xaa,
- 0xfc, 0xde, 0xba, 0xd6, 0xff, 0xff, 0xbf, 0xbe, 0xfb, 0xd6, 0xba, 0xd6, 0xfe, 0xab, 0xbe, 0xba, 0xfc, 0xde, 0xba, 0xce, 0xab, 0xaa, 0xaa, 0xab, 0xfc, 0xde, 0xda, 0xd6, 0xdd, 0xdf, 0xf7, 0xd7,
- 0xfb, 0xde, 0xdb, 0xd6, 0xd5, 0xff, 0x5f, 0xdd, 0xfc, 0xde, 0xda, 0xd6, 0xff, 0x7f, 0xff, 0xdf, 0xfc, 0xde, 0xba, 0xd6, 0xeb, 0xef, 0xbb, 0xeb, 0xbb, 0xde, 0xfb, 0xd6, 0xfb, 0xff, 0xeb, 0xfe,
- 0x9b, 0xce, 0x7a, 0xc6, 0xeb, 0xaa, 0xee, 0xff, 0x7a, 0xce, 0x9b, 0xc6, 0xef, 0xea, 0xff, 0xe8, 0x9a, 0xce, 0x7b, 0xc6, 0xaa, 0xea, 0xab, 0xab, 0x7b, 0xce, 0x9a, 0xc6, 0xfe, 0xa8, 0xfb, 0xea,
- 0x9a, 0xce, 0x7b, 0xc6, 0xf8, 0xfb, 0xef, 0xff, 0x7a, 0xce, 0x9b, 0xc6, 0x8c, 0xba, 0xb9, 0xae, 0x9b, 0xce, 0x7a, 0xc6, 0xba, 0xeb, 0xeb, 0xaf, 0x7a, 0xce, 0x9b, 0xc6, 0xfe, 0xfa, 0xaa, 0xbf,
- 0x7b, 0xce, 0x9a, 0xc6, 0xea, 0xde, 0xca, 0xba, 0x9b, 0xce, 0x7a, 0xc6, 0xaa, 0xaa, 0xbe, 0xde, 0x9b, 0xce, 0x7a, 0xc6, 0xae, 0xaa, 0xeb, 0xeb, 0x9b, 0xce, 0x7a, 0xc6, 0xaa, 0xea, 0xba, 0xfb,
- 0x7b, 0xce, 0x9a, 0xc6, 0xab, 0xba, 0xba, 0xff, 0x9b, 0xce, 0x7a, 0xc6, 0x2a, 0xeb, 0xaa, 0xef, 0x7a, 0xce, 0x9b, 0xc6, 0xaa, 0xbe, 0xfe, 0xef, 0x9a, 0xce, 0x9b, 0xc6, 0x28, 0xa8, 0xac, 0xb7,
- 0xbb, 0xce, 0x7a, 0xce, 0xbf, 0xae, 0xef, 0xaa, 0x9b, 0xce, 0x7a, 0xce, 0xc0, 0x00, 0x80, 0x80, 0xbb, 0xd6, 0x9a, 0xce, 0xf5, 0xf5, 0xfd, 0xf7, 0x9b, 0xd6, 0x9a, 0xce, 0xde, 0x75, 0x7d, 0x5f,
- 0x9a, 0xd6, 0xbb, 0xce, 0xba, 0xbb, 0xff, 0xf8, 0xbb, 0xce, 0x9a, 0xce, 0x7f, 0x77, 0xef, 0xdb, 0x7a, 0xd6, 0xbb, 0xce, 0x7d, 0xdf, 0xff, 0xfb, 0xba, 0xce, 0x9b, 0xce, 0x95, 0xd7, 0x75, 0x5d,
- 0xba, 0xd6, 0x9b, 0xc6, 0xbf, 0xef, 0xaa, 0xbf, 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xff, 0xbf, 0xbf, 0xbb, 0xd6, 0x9a, 0xc6, 0xae, 0xaf, 0xea, 0xaf, 0x9b, 0xd6, 0x9a, 0xce, 0xdf, 0x5a, 0x55, 0x5f,
- 0xbb, 0xd6, 0x7a, 0xc6, 0xee, 0xfa, 0xaf, 0xab, 0xbb, 0xce, 0x7a, 0xce, 0xfa, 0xeb, 0xaf, 0xaa, 0xbb, 0xce, 0x9a, 0xce, 0xd6, 0xf5, 0xfd, 0x21, 0xba, 0xce, 0x9b, 0xce, 0x55, 0xb7, 0xdd, 0x7c,
- 0xbb, 0xd6, 0x9a, 0xce, 0x7d, 0x7f, 0xfd, 0xef, 0xba, 0xce, 0x9b, 0xce, 0xb5, 0xda, 0x83, 0xfe, 0xbb, 0xd6, 0x9a, 0xce, 0xfd, 0x9f, 0xfd, 0x7f, 0xbb, 0xd6, 0x9a, 0xc6, 0xab, 0xae, 0xef, 0xaa,
- 0xbb, 0xd6, 0x9a, 0xc6, 0xea, 0xba, 0xea, 0xfa, 0x9a, 0xd6, 0xbb, 0xce, 0xbf, 0xad, 0xde, 0xbf, 0xbb, 0xce, 0x9a, 0xce, 0xee, 0xff, 0xeb, 0xae, 0x9a, 0xd6, 0xbb, 0xce, 0x7a, 0xff, 0xbd, 0x7c,
- 0x9a, 0xd6, 0xbb, 0xce, 0xff, 0xf7, 0xeb, 0xfb, 0xbb, 0xd6, 0x9a, 0xce, 0xda, 0xfb, 0x7e, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xf7, 0x7f, 0xff, 0x7f, 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xff, 0xdd, 0x57,
- 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xfb, 0x7f, 0xd6, 0xbb, 0xd6, 0x9a, 0xce, 0xef, 0xfd, 0xb7, 0xf7, 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xff, 0xff, 0xfd, 0xbb, 0xce, 0x9a, 0xce, 0xce, 0x8f, 0xfa, 0xaf,
- 0xbb, 0xd6, 0x9a, 0xce, 0xee, 0xaf, 0xff, 0xb7, 0xbb, 0xd6, 0x9a, 0xce, 0xeb, 0xef, 0xef, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0x9f, 0xef, 0xab, 0xef, 0x9b, 0xd6, 0xba, 0xce, 0xfa, 0xfa, 0xef, 0xba,
- 0xbb, 0xd6, 0x9a, 0xce, 0xbb, 0xea, 0xee, 0xf7, 0xbb, 0xd6, 0x9a, 0xc6, 0xaa, 0xaa, 0xaa, 0xee, 0xbb, 0xd6, 0x9a, 0xce, 0xaf, 0xfb, 0xbf, 0xee, 0xbb, 0xd6, 0x9a, 0xce, 0xea, 0xbb, 0xff, 0xbf,
- 0x9b, 0xd6, 0xbb, 0xce, 0xaf, 0xa7, 0xf7, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xae, 0xaa, 0xfa, 0xbf, 0x9b, 0xd6, 0xba, 0xce, 0x7b, 0xff, 0xf7, 0x7f, 0xbb, 0xd6, 0x9a, 0xce, 0xea, 0xfe, 0xaa, 0xae,
- 0xbb, 0xd6, 0x9a, 0xce, 0xbb, 0xae, 0xff, 0xff, 0xbb, 0xce, 0x9a, 0xce, 0xbf, 0xea, 0x00, 0x0f, 0x9a, 0xd6, 0xdb, 0xce, 0xfb, 0xaa, 0xff, 0xfe, 0xbb, 0xd6, 0x9a, 0xce, 0xab, 0xaa, 0x2a, 0xaa,
- 0xdb, 0xd6, 0x9a, 0xce, 0xef, 0xff, 0xff, 0xff, 0xbb, 0xd6, 0x9b, 0xce, 0xa8, 0xaa, 0xae, 0xaa, 0x9a, 0xd6, 0xbb, 0xce, 0xff, 0xff, 0x5f, 0x5e, 0x9b, 0xd6, 0xbb, 0xce, 0xab, 0x7d, 0xfd, 0xf5,
- 0xbb, 0xd6, 0x9a, 0xce, 0xbb, 0xaa, 0xaa, 0xaa, 0xbb, 0xd6, 0x9a, 0xce, 0xba, 0xaa, 0xaa, 0xaf, 0x9a, 0xd6, 0xbb, 0xce, 0x5c, 0x5f, 0x57, 0xaf, 0xbb, 0xd6, 0x9a, 0xce, 0xf6, 0xff, 0xaf, 0xbf,
- 0xbb, 0xd6, 0x9a, 0xce, 0xda, 0xbf, 0xbd, 0xfb, 0xbb, 0xd6, 0x9a, 0xce, 0xfe, 0xbf, 0xef, 0xbb, 0xbb, 0xce, 0x9a, 0xce, 0xc0, 0xea, 0xef, 0xbc, 0xbb, 0xd6, 0x9a, 0xce, 0x9f, 0xef, 0xeb, 0x7f,
- 0xbb, 0xd6, 0x9a, 0xce, 0xbf, 0xbe, 0xff, 0xff, 0xbb, 0xd6, 0x9b, 0xce, 0xaa, 0xef, 0xae, 0xf7, 0xbb, 0xd6, 0x9a, 0xce, 0xef, 0xbf, 0xef, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xab, 0xae, 0xef, 0xff,
- 0xbb, 0xd6, 0x9a, 0xce, 0xb6, 0xee, 0xfe, 0x7d, 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xbd, 0xff, 0xfd, 0xbb, 0xd6, 0x9a, 0xce, 0xe7, 0xff, 0x5f, 0xf7, 0xbb, 0xd6, 0x9a, 0xc6, 0xae, 0xbb, 0xeb, 0xff,
- 0xbb, 0xce, 0x9a, 0xce, 0xbb, 0x0e, 0xfe, 0xbe, 0xbb, 0xd6, 0x9a, 0xc6, 0xeb, 0xaa, 0xaf, 0xee, 0xbc, 0xd6, 0x9a, 0xce, 0xbb, 0xff, 0xfe, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xae, 0xfb, 0xff, 0xfb,
- 0xbc, 0xd6, 0x9a, 0xce, 0xaa, 0xae, 0xef, 0xbf, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xaa, 0xef, 0xff, 0xbb, 0xd6, 0x9a, 0xc6, 0xaa, 0xaa, 0xaa, 0xae, 0xbb, 0xd6, 0x9a, 0xce, 0xea, 0xbf, 0xf7, 0x77,
- 0xbc, 0xd6, 0x9a, 0xce, 0xfe, 0xfb, 0xfb, 0xdf, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xeb, 0x7f, 0xfd, 0xbc, 0xce, 0x9a, 0xce, 0xaa, 0xfb, 0xeb, 0xbe, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xef, 0xe9, 0xff,
- 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xff, 0xfb, 0xd7, 0xbb, 0xd6, 0x9b, 0xc6, 0xba, 0xaa, 0xaa, 0xbe, 0xbb, 0xd6, 0x9a, 0xce, 0xae, 0xbb, 0xbf, 0xfe, 0x9b, 0xd6, 0xbb, 0xce, 0x7b, 0xfa, 0xef, 0xfb,
- 0xdc, 0xd6, 0x9a, 0xce, 0xaf, 0xee, 0xff, 0xff, 0x9b, 0xd6, 0xbb, 0xce, 0xad, 0xef, 0x7d, 0xfb, 0xbc, 0xd6, 0x9a, 0xce, 0xaa, 0xae, 0xab, 0xaa, 0x9b, 0xd6, 0xbb, 0xce, 0xfb, 0xff, 0xf7, 0xfd,
- 0x9a, 0xd6, 0xbb, 0xce, 0xef, 0xf7, 0xff, 0xfd, 0xbb, 0xd6, 0x9b, 0xce, 0xa8, 0x88, 0xaa, 0xea, 0x9a, 0xd6, 0xdb, 0xce, 0xfe, 0xaa, 0xbf, 0xfe, 0xdb, 0xd6, 0x9a, 0xce, 0xaf, 0xfa, 0xff, 0xff,
- 0x9b, 0xd6, 0xbb, 0xce, 0xbd, 0xef, 0x7f, 0xed, 0xba, 0xd6, 0xdc, 0xce, 0x80, 0x8a, 0xa0, 0xe8, 0xdb, 0xd6, 0xba, 0xce, 0xbe, 0xaf, 0xaf, 0xea, 0xdb, 0xd6, 0xbb, 0xce, 0xbf, 0xbf, 0xbb, 0xbf,
- 0xdb, 0xd6, 0xbb, 0xce, 0x8a, 0xba, 0xae, 0xab, 0xdb, 0xd6, 0xba, 0xce, 0xba, 0xab, 0xab, 0xa8, 0xdc, 0xd6, 0xbb, 0xd6, 0xaf, 0xbb, 0xeb, 0xb5, 0xdc, 0xd6, 0xbb, 0xd6, 0xaf, 0xaa, 0xba, 0xae,
- 0xdb, 0xde, 0xbb, 0xce, 0xba, 0xab, 0xaa, 0xaa, 0xfc, 0xde, 0xba, 0xce, 0xaf, 0xeb, 0xae, 0xab, 0xdb, 0xd6, 0xbb, 0xd6, 0x0c, 0x00, 0x02, 0x30, 0xfc, 0xde, 0xba, 0xce, 0xeb, 0xaa, 0xae, 0xaa,
- 0xfc, 0xde, 0xbb, 0xd6, 0xbf, 0xfe, 0xff, 0xfe, 0xfb, 0xde, 0xbb, 0xd6, 0xaf, 0xfb, 0xbf, 0xeb, 0xfb, 0xd6, 0xdb, 0xd6, 0xdd, 0x55, 0x61, 0x5f, 0xfb, 0xde, 0xba, 0xce, 0xab, 0xae, 0xae, 0xfe,
- 0xfc, 0xde, 0xba, 0xd6, 0xab, 0xff, 0xef, 0xff, 0xfc, 0xde, 0xbb, 0xd6, 0xbe, 0xeb, 0xfe, 0xff, 0xfb, 0xde, 0xbb, 0xd6, 0xfb, 0xfe, 0xab, 0xdf, 0xfc, 0xde, 0xda, 0xd6, 0xff, 0xff, 0x7f, 0xf7,
- 0x9b, 0xce, 0x7a, 0xc6, 0xb7, 0xfd, 0xf7, 0xff, 0x5a, 0xce, 0x9b, 0xc6, 0xbe, 0xbf, 0xaa, 0xfa, 0x5a, 0xce, 0x9b, 0xc6, 0x7a, 0xef, 0xaf, 0xae, 0x9b, 0xce, 0x5a, 0xc6, 0xae, 0xaa, 0xfa, 0xff,
- 0x7a, 0xce, 0x9b, 0xc6, 0xfb, 0xfa, 0xbf, 0x0a, 0x5a, 0xce, 0x9b, 0xc6, 0xf7, 0xef, 0xea, 0xbe, 0x9b, 0xce, 0x5a, 0xc6, 0xaa, 0xba, 0xfb, 0xef, 0x7a, 0xce, 0x9b, 0xc6, 0xfa, 0xab, 0xaa, 0x8a,
- 0x9b, 0xce, 0x7a, 0xc6, 0xef, 0xaf, 0xff, 0xfd, 0x9b, 0xce, 0x7a, 0xc6, 0xbe, 0xfe, 0xff, 0xdf, 0x7a, 0xce, 0x9b, 0xc6, 0xbe, 0xba, 0xaa, 0xbf, 0x9b, 0xce, 0x7a, 0xc6, 0xee, 0xae, 0xef, 0x7f,
- 0x9a, 0xce, 0x7b, 0xc6, 0xfb, 0xaf, 0xff, 0xdf, 0x9b, 0xce, 0x7a, 0xc6, 0xfb, 0xab, 0xfb, 0xff, 0x7a, 0xce, 0x9b, 0xc6, 0xeb, 0xba, 0xab, 0xaa, 0x7a, 0xce, 0x9b, 0xc6, 0xeb, 0xbf, 0xaa, 0xbf,
- 0x7a, 0xce, 0x9b, 0xc6, 0xe2, 0xfa, 0xea, 0xaa, 0x9b, 0xce, 0x7a, 0xc6, 0x0a, 0xaa, 0xae, 0xae, 0x9b, 0xd6, 0x7a, 0xc6, 0xaa, 0xae, 0xff, 0xbf, 0xbb, 0xd6, 0x7a, 0xce, 0xee, 0xff, 0xff, 0xff,
- 0xba, 0xce, 0x7b, 0xce, 0xea, 0xaf, 0xde, 0xee, 0x9b, 0xce, 0x9a, 0xc6, 0x08, 0x00, 0xa2, 0x2f, 0x9b, 0xd6, 0x7a, 0xc6, 0xaa, 0xba, 0xfe, 0xff, 0xbb, 0xce, 0x7a, 0xc6, 0xaa, 0xaa, 0xbe, 0xbb,
- 0xbb, 0xd6, 0x7a, 0xce, 0xbf, 0xaf, 0xff, 0xff, 0xba, 0xce, 0x9b, 0xce, 0xcb, 0x7f, 0x55, 0x55, 0x9b, 0xd6, 0x9a, 0xc6, 0xaa, 0xfe, 0xbe, 0xbf, 0xbb, 0xce, 0x7a, 0xce, 0xbb, 0xaf, 0xff, 0xfb,
- 0xba, 0xce, 0x9b, 0xce, 0x55, 0x55, 0x55, 0xed, 0xbb, 0xce, 0x7a, 0xc6, 0xaa, 0xaa, 0xab, 0xea, 0xbb, 0xce, 0x9a, 0xce, 0x77, 0x1f, 0xf5, 0xdd, 0xbb, 0xd6, 0x9a, 0xc6, 0xef, 0xaf, 0xff, 0xff,
- 0xbb, 0xce, 0x7a, 0xc6, 0xaa, 0xaa, 0xaa, 0xaa, 0xbb, 0xd6, 0x7a, 0xc6, 0xaa, 0xaa, 0xfa, 0xff, 0xbb, 0xd6, 0x9a, 0xc6, 0xba, 0xea, 0xff, 0xff, 0xbb, 0xd6, 0x9a, 0xc6, 0xaa, 0xaf, 0xfb, 0xff,
- 0xbb, 0xd6, 0x9a, 0xce, 0x7f, 0x7f, 0x55, 0xff, 0x9b, 0xd6, 0x9a, 0xc6, 0xaa, 0xaa, 0xaa, 0xbb, 0xbb, 0xce, 0x7a, 0xce, 0xaa, 0xae, 0xbe, 0xaa, 0x9b, 0xd6, 0xba, 0xc6, 0xfa, 0xef, 0xaf, 0xff,
- 0x9b, 0xd6, 0x9a, 0xce, 0x69, 0xdd, 0xf7, 0x55, 0xbb, 0xd6, 0x7a, 0xce, 0xaf, 0xff, 0xeb, 0xff, 0xbb, 0xce, 0x7a, 0xce, 0xaa, 0xea, 0xfe, 0xaa, 0xbb, 0xce, 0x9a, 0xce, 0xf7, 0xd5, 0xf5, 0x67,
- 0xbb, 0xd6, 0x9a, 0xce, 0xf5, 0xd5, 0xd7, 0xdf, 0xbb, 0xd6, 0x9a, 0xce, 0xdf, 0xdf, 0xdd, 0x7f, 0xbb, 0xce, 0x9a, 0xce, 0xbf, 0x2f, 0xfb, 0x7c, 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xdf, 0xff, 0xfd,
- 0xbb, 0xd6, 0x9a, 0xce, 0xf7, 0xf7, 0xfd, 0xff, 0xbb, 0xce, 0x9a, 0xce, 0xa2, 0xfb, 0xed, 0x28, 0xbb, 0xd6, 0x9a, 0xce, 0xef, 0xff, 0xff, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xff, 0x7f, 0xdf,
- 0xbb, 0xd6, 0x7a, 0xce, 0xaa, 0xab, 0xae, 0xfe, 0xbb, 0xce, 0x9b, 0xce, 0x9f, 0x7b, 0xcb, 0x57, 0xbb, 0xd6, 0x9a, 0xce, 0xbf, 0x7f, 0x7f, 0x5d, 0xbb, 0xd6, 0x9a, 0xce, 0xfe, 0xfe, 0xff, 0xdd,
- 0xbb, 0xd6, 0x9a, 0xce, 0xaf, 0xfe, 0xff, 0x5d, 0xbb, 0xd6, 0x9a, 0xce, 0x6b, 0xfb, 0xf7, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xef, 0xff, 0xff, 0xf7, 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xbd, 0xbf, 0xff,
- 0xbb, 0xd6, 0x9a, 0xce, 0xbf, 0xaf, 0xfb, 0xef, 0xbc, 0xd6, 0x9a, 0xce, 0xea, 0xfe, 0xfa, 0xae, 0xbb, 0xd6, 0x9a, 0xce, 0xfb, 0xdf, 0x9f, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xaa, 0xaf, 0xab,
- 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xae, 0xaa, 0xea, 0x9a, 0xd6, 0xbb, 0xce, 0xfd, 0x57, 0xaf, 0xff, 0xdb, 0xd6, 0x9a, 0xce, 0xef, 0xeb, 0xbf, 0xbe, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xba, 0xba, 0xbc,
- 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xaf, 0xaa, 0xba, 0xbb, 0xd6, 0x9b, 0xce, 0xaa, 0xae, 0xeb, 0xae, 0xbb, 0xd6, 0x9a, 0xce, 0xee, 0xaa, 0xea, 0xfe, 0xbb, 0xd6, 0x9a, 0xce, 0xba, 0xff, 0xfa, 0xff,
- 0xbb, 0xd6, 0x9a, 0xc6, 0xea, 0xea, 0xaa, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xfb, 0x7b, 0xff, 0x5d, 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xff, 0xf7, 0x55, 0xbb, 0xd6, 0x9a, 0xc6, 0xaa, 0xee, 0xff, 0xff,
- 0xbb, 0xd6, 0x9a, 0xc6, 0xae, 0xbf, 0xff, 0xff, 0xbb, 0xce, 0x9a, 0xc6, 0xea, 0xfb, 0xff, 0xff, 0xbb, 0xd6, 0x7a, 0xc6, 0xaa, 0xfb, 0xfe, 0xff, 0xbb, 0xce, 0x9b, 0xc6, 0xaa, 0xaa, 0xff, 0xff,
- 0xbb, 0xd6, 0x7a, 0xc6, 0xeb, 0xae, 0xaf, 0xff, 0xbb, 0xce, 0x9a, 0xce, 0xff, 0x7f, 0xff, 0xe5, 0xbb, 0xce, 0x9a, 0xce, 0xff, 0xff, 0xbf, 0x7b, 0xbb, 0xd6, 0x9b, 0xc6, 0xff, 0xbf, 0xab, 0xee,
- 0xbb, 0xce, 0x7a, 0xce, 0xaa, 0xaa, 0xab, 0xaa, 0xbb, 0xce, 0x9a, 0xce, 0x6d, 0x95, 0xef, 0xbf, 0xbb, 0xd6, 0x9a, 0xc6, 0xaa, 0xff, 0xbb, 0xab, 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xbf, 0xf7, 0xd7,
- 0xbb, 0xd6, 0x9a, 0xce, 0xef, 0xff, 0xf5, 0x77, 0xbb, 0xd6, 0x9b, 0xc6, 0xee, 0xef, 0xff, 0xff, 0xbb, 0xce, 0x9a, 0xce, 0xff, 0x8f, 0x5c, 0xfd, 0xbb, 0xce, 0x9a, 0xce, 0xdf, 0x5f, 0xed, 0x5e,
- 0xbb, 0xce, 0x9a, 0xce, 0xf5, 0xe7, 0xd5, 0x5d, 0xbb, 0xce, 0x7a, 0xce, 0xae, 0xff, 0xae, 0xaa, 0xbb, 0xd6, 0x9b, 0xce, 0x5d, 0xd7, 0xe5, 0xd5, 0xbb, 0xce, 0x9a, 0xce, 0xbf, 0xfa, 0xfc, 0x7f,
- 0xbb, 0xce, 0x9a, 0xce, 0xaf, 0xbf, 0xfb, 0x5d, 0x9b, 0xd6, 0xbb, 0xce, 0xff, 0xaf, 0xfa, 0xea, 0xbb, 0xce, 0x9a, 0xce, 0x00, 0x6f, 0xbb, 0x5d, 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xb5, 0x7d, 0x9d,
- 0xbb, 0xd6, 0x9a, 0xce, 0xaf, 0xae, 0xaf, 0xaa, 0x9c, 0xd6, 0xba, 0xce, 0xff, 0xbd, 0xbf, 0x7f, 0xdb, 0xd6, 0x9a, 0xce, 0xff, 0xff, 0xff, 0xff, 0xdb, 0xd6, 0x9a, 0xce, 0xff, 0xef, 0xef, 0xbf,
- 0xbb, 0xd6, 0x9a, 0xce, 0xba, 0xaa, 0xaa, 0xaa, 0x9a, 0xd6, 0xdb, 0xce, 0xfe, 0xfb, 0xab, 0xfa, 0xdb, 0xd6, 0x9a, 0xce, 0xfa, 0xfe, 0xeb, 0xbb, 0xdc, 0xd6, 0x9a, 0xce, 0xaf, 0xbf, 0xeb, 0xbb,
- 0xdb, 0xd6, 0xba, 0xce, 0xfb, 0xaf, 0xef, 0xaf, 0xdc, 0xd6, 0xba, 0xce, 0xef, 0xee, 0xfb, 0xaf, 0xdb, 0xd6, 0x9b, 0xd6, 0xaa, 0xaa, 0xbe, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0xee, 0xbb, 0xaa, 0xea,
- 0xdb, 0xd6, 0xbb, 0xce, 0xab, 0xaa, 0xea, 0xaa, 0xdc, 0xd6, 0xbb, 0xd6, 0xb6, 0xbb, 0x7b, 0x6a, 0xdb, 0xd6, 0xbb, 0xd6, 0x38, 0x02, 0x0b, 0x0a, 0xdc, 0xde, 0xba, 0xce, 0xae, 0xea, 0xaa, 0xba,
- 0xfc, 0xde, 0xba, 0xd6, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xd6, 0xba, 0xd6, 0xfb, 0xff, 0xff, 0xee, 0xfc, 0xde, 0xbb, 0xd6, 0xbe, 0xff, 0xff, 0xff, 0xfc, 0xde, 0xba, 0xd6, 0xff, 0xfa, 0xfe, 0xff,
- 0xfb, 0xd6, 0xbb, 0xd6, 0xab, 0xab, 0xff, 0xab, 0xfc, 0xde, 0xbb, 0xd6, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xde, 0xba, 0xce, 0xfe, 0xaa, 0xaf, 0xff, 0xdb, 0xd6, 0xba, 0xd6, 0xb8, 0x80, 0xab, 0x82,
- 0xdb, 0xd6, 0xbb, 0xd6, 0x03, 0xbc, 0xe7, 0xaf, 0xdc, 0xde, 0xbb, 0xd6, 0x7a, 0xf9, 0xdd, 0xfb, 0xdb, 0xde, 0xbb, 0xd6, 0xee, 0xff, 0xdf, 0xf7, 0xdc, 0xde, 0xbb, 0xd6, 0xaa, 0xf7, 0xba, 0xf7,
- 0x7b, 0xc6, 0x5a, 0xbe, 0x00, 0x82, 0xbe, 0xff, 0x7b, 0xce, 0x59, 0xbe, 0xaa, 0xea, 0xbf, 0xff, 0x7a, 0xce, 0x5a, 0xbe, 0xaa, 0xba, 0xff, 0xff, 0x9b, 0xc6, 0x5a, 0xc6, 0xaa, 0xaf, 0xaa, 0xff,
- 0x9b, 0xce, 0x5a, 0xbe, 0xfe, 0xab, 0xbb, 0xff, 0x7b, 0xce, 0x5a, 0xbe, 0xaa, 0xaa, 0xaa, 0xbe, 0x7b, 0xce, 0x5a, 0xc6, 0xba, 0xaa, 0xea, 0xef, 0x9b, 0xc6, 0x7a, 0xc6, 0xd9, 0x55, 0x57, 0x5b,
- 0x9b, 0xce, 0x7a, 0xc6, 0xff, 0x7f, 0xff, 0x55, 0x9b, 0xce, 0x5a, 0xc6, 0xab, 0xff, 0xf6, 0xff, 0x9b, 0xce, 0x7a, 0xc6, 0xee, 0xff, 0x5d, 0xfd, 0x9b, 0xce, 0x5a, 0xc6, 0xce, 0xbf, 0xba, 0xff,
- 0x5a, 0xce, 0x9b, 0xc6, 0xfb, 0xbf, 0xaf, 0xfb, 0x9b, 0xce, 0x7a, 0xc6, 0xff, 0xff, 0x7f, 0xdd, 0x5b, 0xce, 0x9a, 0xc6, 0xff, 0xff, 0xfe, 0xaf, 0x9a, 0xce, 0x7b, 0xc6, 0xfb, 0xef, 0xfd, 0xf5,
- 0x9b, 0xce, 0x7a, 0xc6, 0xba, 0xfe, 0xbf, 0xf7, 0x7a, 0xce, 0x9b, 0xc6, 0xfa, 0x2b, 0xea, 0xac, 0x9b, 0xce, 0x7a, 0xc6, 0xe2, 0xab, 0xbf, 0xff, 0x7b, 0xce, 0x9a, 0xc6, 0xfe, 0xab, 0xbb, 0xbe,
- 0x7b, 0xce, 0x9a, 0xc6, 0xff, 0xfd, 0xfe, 0xf8, 0x9a, 0xce, 0x7b, 0xce, 0x73, 0xe7, 0x1b, 0x88, 0x9b, 0xce, 0x7a, 0xc6, 0xaa, 0xa2, 0xaa, 0xe2, 0xba, 0xce, 0x7b, 0xc6, 0xfe, 0xff, 0xff, 0xff,
- 0x9b, 0xce, 0x7a, 0xc6, 0xa2, 0x8a, 0xaa, 0xbf, 0xbb, 0xce, 0x7a, 0xc6, 0xae, 0xbb, 0xfb, 0xaf, 0xbb, 0xce, 0x7a, 0xc6, 0xae, 0xbf, 0xff, 0xff, 0x9b, 0xce, 0x7a, 0xc6, 0x20, 0x80, 0xaa, 0x8a,
- 0x9b, 0xd6, 0x9a, 0xc6, 0xaf, 0xae, 0xaa, 0xfb, 0xba, 0xd6, 0x7b, 0xc6, 0xbe, 0xff, 0xfa, 0xfb, 0x9b, 0xd6, 0x7a, 0xc6, 0xae, 0xaa, 0xba, 0xab, 0xbb, 0xce, 0x7a, 0xce, 0xab, 0xff, 0xbe, 0xbf,
- 0xbb, 0xce, 0x7a, 0xc6, 0xbb, 0xaa, 0xaf, 0xab, 0xbb, 0xce, 0x7a, 0xce, 0xaa, 0xee, 0xeb, 0xea, 0x9b, 0xd6, 0x9a, 0xc6, 0xaf, 0xbf, 0xfb, 0xbb, 0xbb, 0xce, 0x7a, 0xce, 0xff, 0xab, 0xea, 0xaf,
- 0x9b, 0xce, 0x7a, 0xce, 0xc2, 0x00, 0x28, 0x00, 0x9b, 0xce, 0x7a, 0xce, 0x20, 0x28, 0x02, 0x83, 0xbb, 0xce, 0x7a, 0xc6, 0xea, 0xeb, 0xef, 0xbb, 0x9b, 0xce, 0x7a, 0xc6, 0x00, 0x80, 0x00, 0xc0,
- 0x9b, 0xd6, 0x7a, 0xc6, 0xaa, 0xaa, 0xaa, 0xaf, 0x9b, 0xd6, 0x9a, 0xc6, 0xaa, 0xaa, 0xfa, 0xea, 0x9b, 0xd6, 0x9a, 0xc6, 0xbe, 0xaa, 0xab, 0xbf, 0xba, 0xce, 0x9b, 0xce, 0x55, 0x1d, 0xd5, 0x55,
- 0xbb, 0xd6, 0x7a, 0xc6, 0xea, 0xba, 0xea, 0xbf, 0xbb, 0xce, 0x9a, 0xce, 0xf7, 0xf5, 0x5e, 0x6d, 0xbb, 0xce, 0x9a, 0xce, 0xdd, 0x5d, 0xdd, 0x2f, 0xbb, 0xce, 0x9a, 0xce, 0x82, 0xff, 0xeb, 0xff,
- 0xbb, 0xd6, 0x9a, 0xce, 0xfe, 0xf7, 0x7f, 0xd7, 0xbb, 0xce, 0x9a, 0xce, 0x61, 0xef, 0x5f, 0x75, 0xbb, 0xd6, 0x9a, 0xce, 0xdf, 0x57, 0xd7, 0xf5, 0xbb, 0xce, 0x7a, 0xce, 0xff, 0xab, 0xaf, 0xaf,
- 0xbb, 0xd6, 0x9a, 0xc6, 0xfb, 0xfb, 0xff, 0xff, 0xbb, 0xce, 0x9a, 0xce, 0x75, 0xff, 0xfd, 0x79, 0xbb, 0xce, 0x7a, 0xce, 0xab, 0xfe, 0xeb, 0xff, 0xbb, 0xce, 0x9a, 0xce, 0xd5, 0xed, 0xdd, 0x7d,
- 0xbb, 0xce, 0x7a, 0xce, 0xaa, 0xaa, 0xaa, 0xbe, 0xbb, 0xd6, 0x9a, 0xce, 0xdd, 0x7d, 0xdf, 0x5d, 0xbb, 0xce, 0x9a, 0xce, 0xb7, 0xf9, 0xff, 0xd7, 0xbc, 0xd6, 0x9a, 0xce, 0xbf, 0xdf, 0x7f, 0xfd,
- 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xff, 0x77, 0xff, 0xbc, 0xd6, 0x9a, 0xce, 0xff, 0xff, 0xfa, 0xd7, 0xbb, 0xd6, 0x9a, 0xce, 0xef, 0xff, 0xbf, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xea, 0xaf, 0xbb, 0xff,
- 0xbb, 0xd6, 0x9a, 0xc6, 0xaa, 0xaa, 0xaa, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xa6, 0xaa, 0xff, 0xff, 0xbc, 0xd6, 0x9a, 0xce, 0xaa, 0xee, 0xfe, 0x75, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xfa, 0x7f, 0xd7,
- 0xbb, 0xd6, 0x9a, 0xce, 0xef, 0xff, 0xf7, 0x5f, 0xbb, 0xd6, 0x9a, 0xce, 0xfb, 0xd7, 0xd5, 0x55, 0xbb, 0xce, 0x7b, 0xce, 0xea, 0xef, 0xaf, 0xaf, 0xbb, 0xd6, 0x7a, 0xc6, 0xae, 0xff, 0xff, 0xff,
- 0x9b, 0xce, 0x7a, 0xce, 0x20, 0xb0, 0x80, 0xe0, 0x9b, 0xce, 0x7a, 0xc6, 0x00, 0xaa, 0xaa, 0xaa, 0x9b, 0xce, 0x7a, 0xc6, 0xa8, 0x02, 0x2a, 0xe2, 0xbb, 0xce, 0x7a, 0xc6, 0xea, 0xef, 0xbf, 0xfb,
- 0x9b, 0xce, 0x7a, 0xce, 0x00, 0xe0, 0x8a, 0x00, 0x9b, 0xce, 0x7a, 0xc6, 0xba, 0xaa, 0x8a, 0x8e, 0x9c, 0xd6, 0x9a, 0xc6, 0xab, 0xeb, 0xaf, 0xef, 0xbb, 0xce, 0x7a, 0xce, 0xfb, 0xbf, 0xbf, 0xbe,
- 0xbb, 0xce, 0x7a, 0xce, 0xef, 0xfb, 0xea, 0xea, 0xbc, 0xd6, 0x9a, 0xc6, 0xef, 0xff, 0xff, 0xff, 0xbb, 0xd6, 0x9a, 0xc6, 0xef, 0xfb, 0xfe, 0xff, 0x9b, 0xd6, 0x9a, 0xc6, 0xeb, 0xfe, 0xaf, 0xff,
- 0xbb, 0xce, 0x9a, 0xc6, 0x22, 0xfe, 0xff, 0xff, 0xbc, 0xce, 0x9a, 0xc6, 0xa3, 0xaf, 0xff, 0xff, 0xbc, 0xd6, 0x7a, 0xc6, 0xaa, 0xff, 0xef, 0xff, 0xbb, 0xd6, 0x7a, 0xc6, 0xab, 0xff, 0xff, 0xff,
- 0xbb, 0xce, 0x7a, 0xc6, 0xeb, 0xaa, 0xae, 0xbe, 0x9b, 0xce, 0x7a, 0xc6, 0xc0, 0x80, 0x2a, 0xa0, 0x9b, 0xd6, 0x9a, 0xc6, 0xaa, 0xbf, 0xff, 0xae, 0x9b, 0xce, 0x7a, 0xce, 0x00, 0x0b, 0x00, 0x00,
- 0xbb, 0xce, 0x7a, 0xce, 0xff, 0xff, 0xaa, 0x2e, 0xbb, 0xce, 0x9b, 0xce, 0x55, 0x5d, 0xb7, 0x5e, 0xbb, 0xce, 0x9a, 0xce, 0xff, 0xfe, 0xf7, 0xdd, 0xbb, 0xce, 0x9a, 0xce, 0xd7, 0xfe, 0x3f, 0xff,
- 0xbb, 0xce, 0x9a, 0xce, 0xfd, 0xbf, 0xef, 0x7f, 0xbc, 0xce, 0x9a, 0xce, 0xaa, 0xbe, 0xff, 0xa5, 0xbb, 0xce, 0x9a, 0xce, 0x75, 0xf3, 0xb8, 0xff, 0x9a, 0xd6, 0xbb, 0xce, 0xea, 0xfe, 0x5f, 0xd9,
- 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xbb, 0xae, 0xab, 0xbb, 0xd6, 0x9b, 0xce, 0xae, 0xaa, 0xaa, 0xaa, 0x9a, 0xd6, 0xbc, 0xce, 0xb7, 0xeb, 0x6f, 0xab, 0x9b, 0xd6, 0xbb, 0xce, 0xff, 0xd7, 0xff, 0xfe,
- 0xdb, 0xd6, 0x9b, 0xce, 0xfe, 0xff, 0xea, 0xff, 0x9b, 0xd6, 0xbb, 0xce, 0xed, 0x7d, 0xfe, 0x7f, 0x9a, 0xd6, 0xbc, 0xce, 0xbe, 0xfd, 0xff, 0xdf, 0xdc, 0xd6, 0xbb, 0xce, 0xef, 0xfe, 0xff, 0xff,
- 0xdb, 0xd6, 0x9b, 0xce, 0xea, 0xee, 0xaa, 0xfe, 0xdb, 0xd6, 0xbb, 0xce, 0xba, 0xfe, 0xae, 0xfe, 0xdb, 0xd6, 0xba, 0xce, 0xa8, 0xaa, 0xaa, 0xbe, 0xdc, 0xd6, 0xbb, 0xd6, 0xaa, 0xff, 0xe6, 0x99,
- 0xdc, 0xd6, 0xbb, 0xce, 0x2e, 0xa8, 0xaa, 0xaa, 0xdb, 0xd6, 0xba, 0xce, 0x22, 0x22, 0xaa, 0x22, 0xdc, 0xd6, 0xbb, 0xd6, 0xaa, 0xab, 0xaa, 0xfa, 0xdc, 0xde, 0xba, 0xce, 0xba, 0xae, 0xaa, 0xab,
- 0xdc, 0xde, 0xbb, 0xd6, 0xee, 0xba, 0xfe, 0xbf, 0xfc, 0xde, 0xba, 0xce, 0xfa, 0xae, 0xfb, 0xbe, 0xdb, 0xd6, 0xbb, 0xd6, 0xbc, 0x03, 0xa0, 0xa0, 0xdc, 0xde, 0xba, 0xd6, 0xee, 0xfe, 0xf7, 0xff,
- 0xdc, 0xd6, 0xbb, 0xd6, 0xab, 0xa8, 0x2a, 0xe8, 0xdb, 0xde, 0xbb, 0xce, 0xae, 0xfa, 0xae, 0xff, 0xdc, 0xde, 0xbb, 0xce, 0xaa, 0xef, 0xff, 0xff, 0xdc, 0xd6, 0xba, 0xd6, 0xef, 0xbf, 0xff, 0xab,
- 0xdc, 0xd6, 0xba, 0xce, 0xaa, 0xab, 0xaa, 0x8a, 0xdc, 0xde, 0xbb, 0xce, 0xaa, 0xfa, 0xae, 0xab, 0xdb, 0xde, 0xbb, 0xce, 0xaa, 0xae, 0xaa, 0xef, 0xdc, 0xde, 0xbb, 0xd6, 0x7a, 0xbf, 0xf7, 0x5f,
- 0x59, 0xc6, 0x7b, 0xbe, 0xea, 0x80, 0x0b, 0x8a, 0x59, 0xc6, 0x7a, 0xbe, 0xe2, 0x02, 0xa8, 0xaa, 0x5a, 0xc6, 0x7b, 0xbe, 0xae, 0x02, 0xab, 0xe2, 0x7b, 0xc6, 0x5a, 0xbe, 0xbe, 0xa8, 0xff, 0xff,
- 0x7b, 0xc6, 0x59, 0xbe, 0x28, 0xae, 0xaf, 0xff, 0x7b, 0xc6, 0x5a, 0xbe, 0xaa, 0xeb, 0xff, 0xfb, 0x7b, 0xce, 0x5a, 0xbe, 0xea, 0xfe, 0xff, 0xff, 0x7b, 0xce, 0x59, 0xbe, 0xaa, 0xbf, 0xff, 0xff,
- 0x7b, 0xce, 0x59, 0xbe, 0xaa, 0xaf, 0xbe, 0xff, 0x7b, 0xc6, 0x5a, 0xbe, 0xaa, 0x22, 0x8a, 0xab, 0x7b, 0xc6, 0x5a, 0xbe, 0x00, 0x20, 0x08, 0x2e, 0x7b, 0xce, 0x5a, 0xbe, 0xaa, 0xee, 0xaf, 0xbe,
- 0x9b, 0xce, 0x5a, 0xc6, 0xab, 0xff, 0xdf, 0xff, 0x7b, 0xce, 0x5a, 0xc6, 0xaa, 0xea, 0xbb, 0xf7, 0x7b, 0xce, 0x5a, 0xc6, 0xaa, 0xbe, 0xea, 0xff, 0x5b, 0xce, 0x9a, 0xc6, 0xea, 0xeb, 0xb7, 0xaa,
- 0x9b, 0xce, 0x7a, 0xc6, 0x7f, 0xdf, 0xf5, 0x57, 0x9a, 0xce, 0x5b, 0xc6, 0xbf, 0xff, 0xfe, 0xae, 0x9a, 0xce, 0x7b, 0xc6, 0xfb, 0xff, 0x5b, 0x75, 0x9b, 0xce, 0x7a, 0xc6, 0xaf, 0xff, 0xff, 0xbf,
- 0x9b, 0xce, 0x7a, 0xc6, 0xae, 0xfb, 0xfb, 0xed, 0x9b, 0xce, 0x7a, 0xc6, 0xfa, 0x6a, 0xbf, 0xb5, 0x9b, 0xce, 0x7a, 0xc6, 0xaa, 0xab, 0xab, 0xfb, 0x9a, 0xce, 0x7b, 0xc6, 0xaa, 0xea, 0xaf, 0xfb,
- 0x7b, 0xce, 0x9a, 0xc6, 0xab, 0xfe, 0xee, 0xee, 0x7a, 0xce, 0x9b, 0xc6, 0xe2, 0xeb, 0xab, 0xbf, 0x9b, 0xce, 0x7a, 0xc6, 0xaa, 0xaa, 0xaa, 0xeb, 0x9b, 0xce, 0x7a, 0xc6, 0x20, 0xaa, 0xaa, 0xe6,
- 0x9b, 0xce, 0x7a, 0xc6, 0x20, 0xba, 0xba, 0xaa, 0x9b, 0xce, 0x7a, 0xc6, 0xaa, 0xae, 0xaa, 0xaa, 0x9b, 0xce, 0x7a, 0xc6, 0xaa, 0xab, 0xaa, 0xea, 0x9b, 0xce, 0x7a, 0xc6, 0x28, 0xaa, 0xaa, 0xbb,
- 0x7b, 0xce, 0x9a, 0xc6, 0xaa, 0xbe, 0xfe, 0xfe, 0x9b, 0xce, 0x7a, 0xc6, 0xaa, 0xaa, 0xea, 0xaa, 0x9b, 0xce, 0x7a, 0xc6, 0xa2, 0xaa, 0xae, 0xaa, 0x9b, 0xd6, 0x7a, 0xc6, 0xfe, 0xff, 0xff, 0xfb,
- 0x9b, 0xce, 0x7a, 0xc6, 0xaa, 0xa2, 0xaa, 0xaa, 0x9b, 0xce, 0x7a, 0xc6, 0x8a, 0xaa, 0xab, 0xa8, 0xbb, 0xce, 0x7a, 0xc6, 0xba, 0xfb, 0xfb, 0xaf, 0x9b, 0xce, 0x7a, 0xc6, 0xaa, 0xaa, 0xa8, 0xaa,
- 0x9b, 0xce, 0x7a, 0xc6, 0x80, 0xaa, 0xaa, 0xaa, 0x9b, 0xce, 0x7a, 0xc6, 0xaa, 0x28, 0xaa, 0xaa, 0x9b, 0xce, 0x7a, 0xce, 0x80, 0xc0, 0x00, 0x80, 0xba, 0xce, 0x7b, 0xce, 0xab, 0xbf, 0xff, 0xbf,
- 0xbb, 0xce, 0x7a, 0xce, 0xbf, 0xaf, 0xab, 0xfa, 0xbb, 0xce, 0x7a, 0xce, 0xaa, 0xbf, 0xaf, 0xfb, 0x9b, 0xd6, 0x7a, 0xc6, 0xaa, 0xaa, 0xee, 0xff, 0xbb, 0xce, 0x7a, 0xc6, 0xae, 0xaa, 0xbf, 0xab,
- 0x9b, 0xce, 0x7a, 0xc6, 0x02, 0x28, 0xaa, 0xab, 0x9b, 0xce, 0x7a, 0xc6, 0x00, 0xa2, 0xaa, 0xaa, 0xbb, 0xce, 0x7a, 0xc6, 0xab, 0xaa, 0xaf, 0xff, 0x9b, 0xce, 0x7a, 0xce, 0xaa, 0x01, 0x00, 0x0a,
- 0xbb, 0xce, 0x7a, 0xce, 0xbf, 0xfa, 0xeb, 0xfa, 0xbb, 0xce, 0x7a, 0xce, 0xfa, 0xeb, 0xff, 0xaf, 0x7b, 0xd6, 0x9a, 0xc6, 0xff, 0xfa, 0xfa, 0xff, 0x9b, 0xd6, 0x7a, 0xc6, 0xab, 0xea, 0xfa, 0xff,
- 0x9b, 0xce, 0x7a, 0xc6, 0x0a, 0x08, 0x8a, 0xaa, 0x9b, 0xce, 0x7a, 0xc6, 0x00, 0x80, 0x2a, 0xaa, 0xbb, 0xd6, 0x7a, 0xc6, 0xba, 0xef, 0xff, 0xff, 0x9b, 0xd6, 0x7a, 0xc6, 0xaa, 0xab, 0xea, 0xea,
- 0xbb, 0xd6, 0x7a, 0xc6, 0xaa, 0xaa, 0xff, 0xff, 0x9b, 0xce, 0x7a, 0xc6, 0x00, 0x00, 0xa8, 0xab, 0x9b, 0xce, 0x7a, 0xc6, 0x00, 0x08, 0xaa, 0xea, 0x9b, 0xce, 0x7a, 0xc6, 0x00, 0x88, 0xa8, 0xab,
- 0xbb, 0xd6, 0x9a, 0xc6, 0xfa, 0xff, 0xff, 0xff, 0xbb, 0xce, 0x7a, 0xce, 0xfa, 0xef, 0xaf, 0xaa, 0xbb, 0xd6, 0x7a, 0xc6, 0xef, 0xbf, 0xff, 0xff, 0x9b, 0xce, 0x7a, 0xc6, 0x00, 0x00, 0x80, 0x00,
- 0x9b, 0xce, 0x7a, 0xce, 0x00, 0x00, 0x80, 0xb8, 0x9b, 0xce, 0x7a, 0xc6, 0x08, 0x00, 0xba, 0x2a, 0x9b, 0xce, 0x7a, 0xc6, 0x82, 0xa8, 0xc2, 0x2a, 0x9b, 0xce, 0x7a, 0xc6, 0x00, 0x8a, 0xa2, 0xaa,
- 0x9b, 0xce, 0x7a, 0xc6, 0xaa, 0xaa, 0xaa, 0xfe, 0x9b, 0xce, 0x7a, 0xc6, 0xaa, 0xae, 0xeb, 0xaa, 0x9b, 0xce, 0x7a, 0xc6, 0xba, 0xfa, 0xaa, 0xee, 0x7b, 0xce, 0x9b, 0xc6, 0xea, 0xbf, 0xff, 0xef,
- 0xbb, 0xce, 0x7a, 0xc6, 0xea, 0xfb, 0xbf, 0xfb, 0x9b, 0xce, 0x7a, 0xc6, 0x8e, 0xbb, 0xea, 0xa8, 0x9b, 0xce, 0x7a, 0xce, 0xa0, 0x0a, 0x02, 0xc2, 0xbb, 0xce, 0x7a, 0xc6, 0xaf, 0xba, 0xbb, 0xbb,
- 0xbb, 0xce, 0x7a, 0xce, 0xee, 0xea, 0xff, 0xfb, 0xbb, 0xce, 0x7a, 0xc6, 0xab, 0xaa, 0xfe, 0xab, 0xbb, 0xd6, 0x7a, 0xc6, 0xfb, 0xff, 0xff, 0xff, 0xbb, 0xce, 0x7a, 0xc6, 0xaf, 0xae, 0xbe, 0xaa,
- 0x9b, 0xce, 0x7a, 0xce, 0x2c, 0x00, 0x02, 0x02, 0x9b, 0xce, 0x7a, 0xce, 0x08, 0x22, 0xb0, 0x00, 0x9b, 0xd6, 0x9a, 0xc6, 0xbf, 0xeb, 0xfb, 0xfb, 0x9b, 0xce, 0x7a, 0xc6, 0xaa, 0x03, 0x82, 0xaa,
- 0xbb, 0xce, 0x7a, 0xce, 0xaa, 0xaf, 0xab, 0xff, 0xbb, 0xce, 0x7a, 0xce, 0xfa, 0xeb, 0xff, 0xfb, 0xbb, 0xce, 0x7a, 0xce, 0xab, 0xfa, 0xab, 0xba, 0xbb, 0xce, 0x7a, 0xce, 0xba, 0xaa, 0xfb, 0xfa,
- 0xbb, 0xce, 0x7a, 0xc6, 0xbe, 0xaa, 0xaa, 0xaa, 0xbb, 0xce, 0x7a, 0xce, 0xbf, 0xaa, 0xfa, 0xaa, 0xbb, 0xce, 0x9a, 0xc6, 0xbe, 0xfa, 0xef, 0xff, 0xbb, 0xce, 0x9a, 0xce, 0x7d, 0xed, 0x57, 0xd7,
- 0x9b, 0xd6, 0x9a, 0xc6, 0xaa, 0xaf, 0xab, 0xfb, 0xbb, 0xd6, 0x7a, 0xce, 0xef, 0xbf, 0xfb, 0xfb, 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0x7f, 0xd5, 0xfd, 0xbb, 0xd6, 0x9a, 0xce, 0xed, 0x6f, 0xff, 0xbf,
- 0xbb, 0xce, 0x9a, 0xce, 0xaf, 0x2a, 0x82, 0x0a, 0x9b, 0xd6, 0xbb, 0xce, 0x5b, 0xf9, 0xbf, 0xa5, 0x9a, 0xd6, 0xbb, 0xce, 0xd7, 0xef, 0x6f, 0xf7, 0x9b, 0xd6, 0xbb, 0xce, 0xff, 0xff, 0xff, 0xb7,
- 0x9b, 0xd6, 0xbb, 0xce, 0xd7, 0xff, 0x6f, 0xde, 0xbb, 0xd6, 0xba, 0xce, 0xaa, 0xba, 0x2b, 0xff, 0xdb, 0xd6, 0x9b, 0xce, 0xba, 0xeb, 0xbf, 0xff, 0xbb, 0xd6, 0x9b, 0xce, 0x2a, 0x08, 0x22, 0xa2,
- 0xdb, 0xd6, 0xbb, 0xce, 0xab, 0x7a, 0xff, 0xba, 0xdc, 0xd6, 0x9b, 0xce, 0xaa, 0xaa, 0xfb, 0xaa, 0xdc, 0xd6, 0x9b, 0xd6, 0xaa, 0xeb, 0xaf, 0xaa, 0xbb, 0xd6, 0xdb, 0xce, 0xbe, 0xaa, 0xaa, 0x8a,
- 0xdb, 0xd6, 0xba, 0xce, 0x2b, 0xaa, 0xea, 0xba, 0xdc, 0xd6, 0xba, 0xd6, 0xfe, 0xab, 0xff, 0xab, 0xdb, 0xd6, 0xbb, 0xd6, 0x2b, 0x37, 0xb5, 0xed, 0xdb, 0xd6, 0xbb, 0xce, 0xb8, 0xa2, 0x8a, 0xaa,
- 0xdc, 0xde, 0xbb, 0xce, 0xbb, 0xee, 0xaf, 0xef, 0xdc, 0xde, 0xbb, 0xce, 0xaa, 0xaa, 0xff, 0xff, 0xdb, 0xd6, 0xbb, 0xce, 0xa0, 0xa8, 0x80, 0xaa, 0xdc, 0xd6, 0xba, 0xd6, 0xfa, 0x9e, 0xff, 0xff,
- 0xbc, 0xde, 0xba, 0xce, 0xaf, 0xeb, 0xff, 0xeb, 0xdb, 0xd6, 0xba, 0xce, 0xef, 0xaa, 0xbf, 0xff, 0xdb, 0xd6, 0xba, 0xce, 0xfe, 0xaa, 0xeb, 0xfa, 0xdb, 0xd6, 0xba, 0xce, 0xae, 0xfb, 0xaa, 0xae,
- 0xdb, 0xd6, 0xba, 0xce, 0x8a, 0xba, 0xea, 0x3b, 0xdb, 0xde, 0xbb, 0xce, 0xaf, 0xea, 0xff, 0xbf, 0xdb, 0xd6, 0xbb, 0xce, 0xae, 0xaa, 0xaa, 0xaa, 0xdc, 0xd6, 0xbb, 0xd6, 0xf7, 0x76, 0xd5, 0xfb,
- 0x5a, 0xc6, 0x19, 0xb6, 0xaa, 0xaa, 0xea, 0xff, 0x5b, 0xc6, 0x19, 0xbe, 0x23, 0xae, 0xad, 0xff, 0x5b, 0xc6, 0x39, 0xbe, 0xaa, 0xff, 0xb9, 0x27, 0x5b, 0xc6, 0x39, 0xbe, 0x88, 0xaa, 0xa9, 0x7f,
- 0x39, 0xc6, 0x7b, 0xbe, 0xee, 0xfe, 0xab, 0xab, 0x7b, 0xc6, 0x39, 0xbe, 0xbb, 0xef, 0xf6, 0xff, 0x5b, 0xc6, 0x3a, 0xbe, 0xc8, 0x8a, 0x02, 0xa8, 0x7b, 0xc6, 0x3a, 0xbe, 0x3b, 0xab, 0xde, 0xff,
- 0x7b, 0xc6, 0x3a, 0xbe, 0xaa, 0xbe, 0xba, 0xfa, 0x7b, 0xc6, 0x3a, 0xbe, 0x2a, 0x2a, 0xaa, 0xbf, 0x7b, 0xc6, 0x3a, 0xbe, 0xaa, 0x2b, 0xfa, 0xaf, 0x7b, 0xc6, 0x59, 0xbe, 0xca, 0xfa, 0xff, 0xbb,
- 0x5b, 0xc6, 0x79, 0xbe, 0x20, 0xae, 0xaf, 0xa2, 0x7b, 0xce, 0x3a, 0xbe, 0xae, 0xaa, 0xae, 0xae, 0x7b, 0xc6, 0x5a, 0xc6, 0xaf, 0x00, 0x20, 0x0c, 0x5a, 0xce, 0x7b, 0xc6, 0x7e, 0x5f, 0xcd, 0x5d,
- 0x7b, 0xce, 0x5a, 0xc6, 0xab, 0xee, 0xa7, 0xee, 0x7b, 0xce, 0x5a, 0xc6, 0xe2, 0xbe, 0xbf, 0xab, 0x9b, 0xce, 0x5a, 0xc6, 0xba, 0xff, 0xef, 0xfb, 0x7a, 0xce, 0x9b, 0xc6, 0xef, 0xba, 0xab, 0xd8,
- 0x9a, 0xce, 0x7b, 0xc6, 0xf7, 0x7f, 0xff, 0xff, 0x7b, 0xce, 0x9a, 0xc6, 0x2a, 0xaa, 0xe0, 0x2a, 0x7b, 0xce, 0x7a, 0xc6, 0xa8, 0xca, 0xbf, 0xee, 0x7b, 0xce, 0x9a, 0xc6, 0xba, 0xea, 0xaa, 0x82,
- 0x7b, 0xce, 0x9a, 0xc6, 0xca, 0xbf, 0xab, 0xeb, 0x7a, 0xce, 0x9b, 0xc6, 0xbf, 0xbf, 0xaa, 0xab, 0x7b, 0xce, 0x9a, 0xc6, 0xaa, 0xae, 0xeb, 0x2b, 0x7a, 0xce, 0x9b, 0xc6, 0xa2, 0xfb, 0x02, 0x2e,
- 0x7a, 0xce, 0x9b, 0xc6, 0x8a, 0xa8, 0xfa, 0xaa, 0x7a, 0xce, 0x9b, 0xc6, 0xa0, 0xfe, 0xae, 0xae, 0x7b, 0xce, 0x9a, 0xc6, 0x08, 0x2b, 0xef, 0xef, 0x7b, 0xce, 0x9a, 0xc6, 0x2a, 0x2a, 0xfb, 0xea,
- 0x9b, 0xce, 0x7a, 0xc6, 0xba, 0xea, 0xbe, 0x7d, 0x9b, 0xce, 0x7a, 0xc6, 0xaa, 0xae, 0xeb, 0xf7, 0x7a, 0xce, 0x9b, 0xc6, 0xee, 0xaf, 0xfa, 0xfe, 0x9b, 0xce, 0x7a, 0xc6, 0xaa, 0xaa, 0xbf, 0xdf,
- 0x9a, 0xce, 0x7b, 0xc6, 0xaa, 0xae, 0xfb, 0xff, 0x9b, 0xce, 0x7a, 0xc6, 0xae, 0xbb, 0x7b, 0x7d, 0x9b, 0xce, 0x7a, 0xc6, 0xea, 0xfa, 0xad, 0x95, 0x9b, 0xce, 0x7a, 0xc6, 0xbe, 0xaf, 0x7f, 0xff,
- 0x9b, 0xce, 0x7a, 0xc6, 0x32, 0xab, 0xeb, 0xff, 0x9b, 0xce, 0x7a, 0xc6, 0xaa, 0xae, 0xae, 0xab, 0x9a, 0xce, 0x7b, 0xc6, 0x2a, 0x8a, 0xaa, 0xab, 0x9b, 0xce, 0x7a, 0xc6, 0xaa, 0xaa, 0xea, 0xee,
- 0x7b, 0xce, 0x9a, 0xc6, 0xaa, 0xa8, 0xfa, 0xff, 0x9b, 0xce, 0x7a, 0xc6, 0xa8, 0xaa, 0x2a, 0xfe, 0x9a, 0xce, 0x7b, 0xc6, 0xaa, 0xa8, 0xaa, 0xaa, 0x7a, 0xce, 0x9b, 0xc6, 0xea, 0xa3, 0x9e, 0xfa,
- 0x7a, 0xce, 0x9b, 0xc6, 0xbf, 0x7a, 0xaa, 0xaf, 0x9b, 0xce, 0x7a, 0xc6, 0x2a, 0x8a, 0xaa, 0xeb, 0x9b, 0xce, 0x7a, 0xc6, 0x22, 0x0a, 0xaa, 0xba, 0x9b, 0xce, 0x7a, 0xc6, 0xae, 0xa8, 0xba, 0xfb,
- 0x9b, 0xce, 0x7a, 0xc6, 0x28, 0xaa, 0xaa, 0xef, 0x7b, 0xce, 0x9a, 0xc6, 0x2a, 0xba, 0x2a, 0xfb, 0x9b, 0xce, 0x7a, 0xc6, 0xab, 0xba, 0xfe, 0xfb, 0x9b, 0xce, 0x7a, 0xc6, 0xc8, 0xea, 0xfe, 0xdf,
- 0x9b, 0xce, 0x7a, 0xc6, 0xbe, 0xff, 0x9f, 0xfb, 0x7a, 0xce, 0x9b, 0xc6, 0xc2, 0xba, 0xef, 0xa2, 0x9b, 0xce, 0x7a, 0xc6, 0xaa, 0xaa, 0xef, 0xff, 0x9b, 0xce, 0x7a, 0xc6, 0xaa, 0xaa, 0xff, 0xff,
- 0x9b, 0xce, 0x7a, 0xc6, 0xba, 0xff, 0xdf, 0xff, 0x9b, 0xce, 0x7a, 0xc6, 0xfa, 0xea, 0xfb, 0x7f, 0xbb, 0xce, 0x7a, 0xc6, 0xef, 0xff, 0xff, 0xd5, 0x9b, 0xce, 0x7a, 0xc6, 0x2e, 0xeb, 0xba, 0xfd,
- 0x7a, 0xce, 0x9b, 0xc6, 0xbb, 0xff, 0xeb, 0xab, 0x7a, 0xce, 0x9b, 0xc6, 0xba, 0xaf, 0xb5, 0xe8, 0x9b, 0xce, 0x7a, 0xce, 0xb0, 0x3b, 0x28, 0x0e, 0x9b, 0xce, 0x7b, 0xce, 0x09, 0xaa, 0x80, 0xe8,
- 0xbb, 0xce, 0x7a, 0xc6, 0xeb, 0xeb, 0xff, 0xff, 0x9b, 0xce, 0x7a, 0xc6, 0xa3, 0xea, 0xba, 0xba, 0x9b, 0xce, 0x7a, 0xc6, 0xee, 0xa8, 0xa3, 0xba, 0x9b, 0xce, 0x7a, 0xc6, 0xaa, 0xef, 0xa2, 0xaa,
- 0x7a, 0xce, 0x9b, 0xc6, 0xba, 0xff, 0xdf, 0xfa, 0x7a, 0xce, 0xbb, 0xc6, 0xa0, 0xba, 0xfb, 0xaa, 0x9b, 0xce, 0x7a, 0xc6, 0xa8, 0xa2, 0x88, 0x82, 0x9b, 0xce, 0x7a, 0xc6, 0x2c, 0xaa, 0xab, 0xaa,
- 0x9b, 0xce, 0x7a, 0xc6, 0x2b, 0xa2, 0xc8, 0x0a, 0xbb, 0xce, 0x7a, 0xc6, 0xba, 0xae, 0xef, 0xab, 0xbb, 0xce, 0x7a, 0xc6, 0xba, 0xaa, 0xff, 0xff, 0x9b, 0xce, 0x7a, 0xce, 0x00, 0xaf, 0xbf, 0xa0,
- 0x9b, 0xd6, 0x7a, 0xc6, 0xfa, 0xef, 0xfe, 0xfb, 0x9b, 0xce, 0x7a, 0xc6, 0x2a, 0xa2, 0xaa, 0xfb, 0x9b, 0xd6, 0x7a, 0xc6, 0xaf, 0xaf, 0xff, 0xff, 0x9b, 0xce, 0x7a, 0xc6, 0x00, 0x0a, 0x02, 0xea,
- 0x9b, 0xce, 0x7b, 0xc6, 0x00, 0x82, 0xaa, 0x8e, 0x9b, 0xce, 0x7a, 0xc6, 0x22, 0x8a, 0x8a, 0xe2, 0x9b, 0xce, 0x7a, 0xce, 0x20, 0xc8, 0xc8, 0x2a, 0x9b, 0xce, 0x7a, 0xc6, 0xaa, 0xaa, 0xaa, 0xaa,
- 0xbb, 0xce, 0x7a, 0xc6, 0xef, 0xbf, 0xea, 0xee, 0x9b, 0xce, 0x7a, 0xc6, 0x80, 0x02, 0x2a, 0x08, 0x9b, 0xd6, 0x9a, 0xc6, 0xff, 0xbb, 0xab, 0xff, 0x9b, 0xd6, 0x7a, 0xc6, 0xea, 0xfa, 0xaa, 0xfb,
- 0x9b, 0xce, 0x7a, 0xce, 0x00, 0xbb, 0xb8, 0xf0, 0x9b, 0xce, 0x7a, 0xce, 0x00, 0x02, 0x03, 0x2a, 0x9b, 0xce, 0x7a, 0xc6, 0x02, 0x0a, 0x82, 0x88, 0xbb, 0xce, 0x7a, 0xc6, 0xaa, 0xae, 0xab, 0xbf,
- 0xbb, 0xce, 0x7a, 0xce, 0xbf, 0xae, 0xeb, 0xef, 0xbb, 0xce, 0x7a, 0xce, 0xbb, 0xba, 0xfe, 0xab, 0xbc, 0xd6, 0x9a, 0xce, 0xff, 0xbf, 0xff, 0xff, 0xbb, 0xd6, 0x7a, 0xce, 0xaf, 0xaa, 0xae, 0xab,
- 0x9a, 0xd6, 0xbb, 0xce, 0xa5, 0xff, 0xff, 0x8b, 0xbb, 0xd6, 0x9b, 0xce, 0xff, 0x7e, 0xdd, 0xd7, 0xbb, 0xce, 0x9a, 0xce, 0xa3, 0xff, 0xbf, 0xf3, 0x9a, 0xd6, 0xbc, 0xce, 0xeb, 0x6a, 0xbf, 0xff,
- 0x9a, 0xd6, 0xbb, 0xce, 0xfd, 0xed, 0xff, 0x7f, 0xbc, 0xd6, 0x9a, 0xce, 0xaa, 0x8e, 0xaa, 0xaf, 0xbc, 0xd6, 0x9a, 0xce, 0x8a, 0xaa, 0xae, 0xbb, 0xbc, 0xd6, 0x9b, 0xce, 0x8a, 0x82, 0xaa, 0x9e,
- 0xbc, 0xd6, 0xba, 0xce, 0xb8, 0xa2, 0xee, 0xbd, 0x9b, 0xd6, 0xbb, 0xce, 0xdf, 0xad, 0x9f, 0xff, 0xdc, 0xd6, 0xba, 0xce, 0xbb, 0xea, 0xf9, 0xdb, 0xbb, 0xd6, 0xdb, 0xce, 0x00, 0xa2, 0x00, 0xca,
- 0xdb, 0xd6, 0xbb, 0xce, 0xab, 0xff, 0xea, 0xfa, 0xdc, 0xd6, 0xbb, 0xce, 0xa8, 0xfa, 0xff, 0xfb, 0xdc, 0xd6, 0xba, 0xce, 0xba, 0xab, 0xea, 0xff, 0xdb, 0xd6, 0xbb, 0xd6, 0x77, 0xdf, 0xe7, 0x99,
- 0xdc, 0xd6, 0x9a, 0xce, 0xaa, 0xaa, 0xaa, 0xae, 0xdc, 0xd6, 0xbb, 0xce, 0xaa, 0x2a, 0xae, 0xbf, 0xdc, 0xd6, 0xbb, 0xd6, 0xb5, 0xd6, 0x65, 0x5d, 0xdb, 0xd6, 0xba, 0xce, 0xea, 0xea, 0xfb, 0xff,
- 0xba, 0xd6, 0xdc, 0xce, 0x8b, 0xa8, 0x08, 0x2a, 0xba, 0xd6, 0xdc, 0xce, 0xa8, 0xb8, 0x02, 0xc0, 0xdb, 0xd6, 0xbb, 0xce, 0xaa, 0xaa, 0xea, 0xbf, 0xdb, 0xd6, 0x9b, 0xce, 0xaa, 0xaa, 0xab, 0xab,
- 0xdc, 0xde, 0xba, 0xce, 0xff, 0xff, 0xff, 0xff, 0xdb, 0xd6, 0xbb, 0xce, 0xa8, 0xae, 0xea, 0x8a, 0xdb, 0xd6, 0xbb, 0xce, 0xae, 0xea, 0xaa, 0xbe, 0xdc, 0xd6, 0xbb, 0xce, 0xea, 0xfa, 0xaa, 0xfa,
- 0x3a, 0xc6, 0x19, 0xb6, 0xaa, 0xfa, 0xfa, 0xbf, 0x3b, 0xc6, 0x1a, 0xbe, 0xbf, 0xb9, 0xdd, 0xff, 0x5b, 0xc6, 0x19, 0xb6, 0xba, 0xeb, 0xff, 0xff, 0x5b, 0xc6, 0x19, 0xb6, 0xaa, 0xab, 0xef, 0xb9,
- 0x5a, 0xbe, 0x3a, 0xbe, 0x3e, 0xf5, 0x2b, 0x56, 0x5a, 0xc6, 0x39, 0xbe, 0xef, 0xf7, 0xb7, 0xa5, 0x3a, 0xc6, 0x5a, 0xbe, 0xbe, 0xbf, 0xfd, 0x6d, 0x5b, 0xc6, 0x39, 0xbe, 0xea, 0xbf, 0xaf, 0xee,
- 0x5b, 0xc6, 0x39, 0xbe, 0xab, 0xaa, 0xbe, 0xab, 0x5a, 0xc6, 0x39, 0xbe, 0xea, 0xaa, 0xad, 0xa7, 0x39, 0xc6, 0x5b, 0xbe, 0xfa, 0xff, 0xb5, 0xff, 0x3a, 0xc6, 0x5b, 0xbe, 0xfa, 0xff, 0xaf, 0xf5,
- 0x3a, 0xc6, 0x7b, 0xbe, 0xff, 0xab, 0xee, 0xfb, 0x7b, 0xc6, 0x5a, 0xbe, 0xaa, 0xae, 0xfb, 0xff, 0x7b, 0xc6, 0x5a, 0xc6, 0xd5, 0x5f, 0x7f, 0xfc, 0x7b, 0xc6, 0x5a, 0xbe, 0xa3, 0xaa, 0x8b, 0x2e,
- 0x7b, 0xc6, 0x5a, 0xbe, 0x20, 0x2a, 0xa2, 0x80, 0x7b, 0xc6, 0x5a, 0xc6, 0xfa, 0xfd, 0x9e, 0x00, 0x7b, 0xce, 0x5a, 0xc6, 0xfb, 0xf6, 0xff, 0xfd, 0x7b, 0xce, 0x5a, 0xc6, 0xbf, 0xff, 0xdf, 0xef,
- 0x7b, 0xce, 0x5a, 0xbe, 0xaa, 0x22, 0xab, 0xbb, 0x5a, 0xce, 0x7b, 0xc6, 0x6b, 0xdf, 0x7f, 0x5f, 0x7a, 0xce, 0x5b, 0xc6, 0xaa, 0xaa, 0xea, 0xe2, 0x9b, 0xce, 0x5a, 0xc6, 0xaa, 0xfe, 0xff, 0xff,
- 0x9b, 0xce, 0x7a, 0xc6, 0xfd, 0xff, 0xf5, 0x77, 0x9b, 0xce, 0x5a, 0xc6, 0xab, 0xfb, 0xbf, 0xff, 0x7b, 0xce, 0x7a, 0xc6, 0xab, 0xfe, 0xf6, 0x55, 0x7b, 0xce, 0x5a, 0xbe, 0xaa, 0xa2, 0xaa, 0xab,
- 0x9b, 0xce, 0x5a, 0xbe, 0xaa, 0xaa, 0xae, 0xfa, 0x7b, 0xce, 0x5a, 0xc6, 0x00, 0xaa, 0xff, 0xff, 0x7b, 0xce, 0x5a, 0xc6, 0xea, 0xfa, 0xbe, 0xff, 0x7b, 0xce, 0x5a, 0xbe, 0xaa, 0xaa, 0xaa, 0xfa,
- 0x7b, 0xce, 0x5a, 0xbe, 0x8a, 0xaa, 0xae, 0xef, 0x7b, 0xce, 0x5a, 0xc6, 0xaa, 0xea, 0xad, 0xf7, 0x7b, 0xce, 0x5a, 0xc6, 0xaa, 0xae, 0xa7, 0xbb, 0x9b, 0xc6, 0x5a, 0xc6, 0xfe, 0xea, 0xaa, 0xb8,
- 0x9b, 0xce, 0x5a, 0xc6, 0xfa, 0xff, 0xff, 0xeb, 0x7b, 0xce, 0x5a, 0xc6, 0xaa, 0xef, 0x2a, 0xaa, 0x9a, 0xce, 0x5b, 0xc6, 0xfb, 0xef, 0xab, 0xfa, 0x7b, 0xce, 0x7a, 0xc6, 0xff, 0xfa, 0xf7, 0xf7,
- 0x5a, 0xce, 0x9b, 0xc6, 0xbe, 0xff, 0xaf, 0xef, 0x9b, 0xce, 0x7a, 0xc6, 0xfb, 0x77, 0xdf, 0xfd, 0x7b, 0xce, 0x9a, 0xc6, 0xb8, 0xab, 0xba, 0xaa, 0x9b, 0xce, 0x7a, 0xc6, 0xae, 0xea, 0xfe, 0xef,
- 0x7b, 0xce, 0x9a, 0xc6, 0xea, 0xaf, 0x00, 0xba, 0x9b, 0xce, 0x7a, 0xc6, 0xbe, 0xfa, 0x7e, 0x7f, 0x9b, 0xce, 0x7a, 0xc6, 0xef, 0xaf, 0xf7, 0x7f, 0x9b, 0xce, 0x7a, 0xc6, 0xaf, 0xf6, 0xfd, 0xf7,
- 0x9b, 0xce, 0x5a, 0xc6, 0xaa, 0xaa, 0xee, 0xbe, 0x9b, 0xce, 0x5a, 0xc6, 0xaa, 0xaa, 0xff, 0xff, 0x9b, 0xce, 0x5a, 0xbe, 0xaa, 0xaa, 0xba, 0xfb, 0x7b, 0xce, 0x5a, 0xbe, 0xa8, 0xaa, 0xaa, 0xef,
- 0x7b, 0xce, 0x5a, 0xbe, 0xa8, 0xaa, 0xaa, 0xff, 0x7b, 0xce, 0x5a, 0xc6, 0xa0, 0xba, 0xff, 0xf7, 0x7b, 0xce, 0x5a, 0xbe, 0x80, 0xaa, 0xea, 0xbf, 0x7b, 0xce, 0x5a, 0xbe, 0xaa, 0xba, 0xae, 0xbb,
- 0x7a, 0xc6, 0x5b, 0xc6, 0x3a, 0x02, 0x00, 0x0e, 0x7b, 0xce, 0x5a, 0xc6, 0xaa, 0xae, 0xeb, 0xff, 0x9b, 0xce, 0x5a, 0xc6, 0xfa, 0xbf, 0xaf, 0xff, 0x7b, 0xce, 0x5a, 0xc6, 0xaa, 0xaa, 0xaf, 0xff,
- 0x9b, 0xce, 0x5a, 0xc6, 0xee, 0xff, 0xff, 0xff, 0x5a, 0xce, 0x9b, 0xc6, 0xff, 0xfb, 0xaf, 0xff, 0x7a, 0xce, 0x9b, 0xc6, 0xaa, 0xab, 0xf0, 0xbe, 0x9b, 0xce, 0x7a, 0xc6, 0xae, 0xbf, 0xbf, 0xaf,
- 0x7a, 0xce, 0x9b, 0xc6, 0xaf, 0xab, 0xfa, 0xfb, 0x7a, 0xce, 0x9b, 0xc6, 0xaf, 0xba, 0xfb, 0xff, 0x9b, 0xce, 0x7a, 0xc6, 0xaf, 0xaa, 0xeb, 0xfe, 0x9b, 0xce, 0x7a, 0xc6, 0xea, 0xa2, 0xae, 0xaf,
- 0x9b, 0xce, 0x7a, 0xce, 0xbb, 0x2e, 0xbb, 0xa2, 0x7a, 0xce, 0x9b, 0xc6, 0xbf, 0xff, 0xab, 0xaa, 0x7b, 0xce, 0x9a, 0xc6, 0xf8, 0xaa, 0x2a, 0xab, 0x9b, 0xce, 0x7a, 0xc6, 0xa2, 0xa0, 0x22, 0x82,
- 0x9b, 0xce, 0x7a, 0xce, 0x0a, 0x00, 0xe0, 0xa8, 0x9b, 0xce, 0x7a, 0xc6, 0xaf, 0xae, 0xaa, 0xea, 0x9b, 0xce, 0x7b, 0xce, 0x2e, 0xb0, 0xa3, 0x8e, 0xbb, 0xce, 0x7a, 0xc6, 0xfe, 0xbf, 0xff, 0xef,
- 0x9b, 0xce, 0x7a, 0xc6, 0xba, 0xe2, 0xa0, 0xae, 0x9b, 0xce, 0x7a, 0xc6, 0x28, 0xba, 0xaa, 0xea, 0x9b, 0xce, 0x7a, 0xc6, 0xae, 0xbf, 0xbe, 0xea, 0x9b, 0xce, 0x7a, 0xc6, 0xfe, 0xfa, 0xae, 0xab,
- 0x9b, 0xce, 0x7a, 0xc6, 0xab, 0xbe, 0xfa, 0xff, 0x9b, 0xce, 0x7a, 0xc6, 0xff, 0xae, 0xef, 0xba, 0x9b, 0xce, 0x7a, 0xc6, 0xab, 0xce, 0x2f, 0xab, 0x9b, 0xce, 0x7a, 0xc6, 0xaa, 0xfa, 0xaa, 0xae,
- 0x9b, 0xce, 0x7a, 0xc6, 0x2a, 0x8a, 0xaa, 0xae, 0x9b, 0xce, 0x7a, 0xc6, 0xaa, 0xaa, 0x2e, 0xea, 0x9b, 0xce, 0x7a, 0xc6, 0xaa, 0xaa, 0xae, 0xee, 0x7a, 0xce, 0x9b, 0xc6, 0xa9, 0xea, 0xeb, 0xfe,
- 0x9b, 0xce, 0x7a, 0xc6, 0xae, 0xfe, 0xfa, 0xaf, 0x9b, 0xce, 0x7a, 0xc6, 0x22, 0xaa, 0xba, 0xef, 0x9b, 0xce, 0x7a, 0xc6, 0x8a, 0xaa, 0xfa, 0xff, 0x7a, 0xce, 0x9b, 0xc6, 0xab, 0xff, 0xff, 0xa3,
- 0x7a, 0xce, 0x9b, 0xc6, 0xea, 0xaa, 0xfa, 0xab, 0x7a, 0xce, 0x9b, 0xc6, 0xaa, 0xaa, 0xfb, 0xfe, 0x9b, 0xce, 0x7a, 0xc6, 0xaa, 0xba, 0xb7, 0xae, 0x7b, 0xd6, 0x9a, 0xc6, 0xff, 0xff, 0xff, 0xfe,
- 0x9b, 0xce, 0x7b, 0xce, 0xa0, 0x02, 0x03, 0x0f, 0x9b, 0xd6, 0x9a, 0xc6, 0xaf, 0xab, 0xbf, 0xbf, 0xbb, 0xce, 0x9a, 0xce, 0xfb, 0xf5, 0xff, 0x5d, 0xbb, 0xd6, 0x7b, 0xce, 0xfb, 0xfa, 0xfa, 0xff,
- 0xbb, 0xd6, 0x9a, 0xc6, 0xab, 0xab, 0xfb, 0xff, 0xbb, 0xd6, 0x7a, 0xc6, 0xaa, 0xae, 0xab, 0xfe, 0xbb, 0xd6, 0x9b, 0xce, 0xf5, 0x55, 0x55, 0xf5, 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xfd, 0xff, 0xff,
- 0xbb, 0xd6, 0x9a, 0xce, 0xbf, 0xbf, 0xf7, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xae, 0xef, 0xaf, 0xff, 0xbb, 0xd6, 0x9b, 0xce, 0xaa, 0xfb, 0xaf, 0xfb, 0xbc, 0xd6, 0x9a, 0xce, 0xbb, 0xae, 0xbf, 0xff,
- 0xbb, 0xd6, 0x9a, 0xce, 0xab, 0xba, 0xae, 0xaa, 0x9b, 0xd6, 0xbb, 0xce, 0xff, 0xaf, 0xbf, 0xeb, 0xbc, 0xd6, 0x9b, 0xce, 0xaa, 0xeb, 0xfe, 0xae, 0xdb, 0xd6, 0x9b, 0xce, 0xbb, 0xfb, 0xff, 0xef,
- 0xbb, 0xd6, 0xdb, 0xce, 0xe0, 0xa8, 0x02, 0xa8, 0xdc, 0xd6, 0x9b, 0xce, 0xab, 0xfb, 0xbf, 0xbe, 0xdc, 0xd6, 0x9b, 0xce, 0xbb, 0xaa, 0xaa, 0xaf, 0xbb, 0xd6, 0xdb, 0xce, 0x0a, 0x8a, 0xaa, 0xbe,
- 0x9a, 0xd6, 0xbc, 0xce, 0x7a, 0x5f, 0xaf, 0xff, 0xdc, 0xd6, 0x9b, 0xce, 0xfb, 0xee, 0xae, 0xef, 0xbb, 0xd6, 0x9a, 0xce, 0x00, 0x2e, 0xa8, 0xaa, 0x9b, 0xd6, 0xdb, 0xce, 0xaa, 0xaf, 0xab, 0xff,
- 0x9b, 0xd6, 0xbb, 0xce, 0xff, 0xff, 0xef, 0xfd, 0x9a, 0xd6, 0xbb, 0xce, 0x7f, 0xf6, 0xb7, 0xff, 0xbb, 0xd6, 0xdc, 0xce, 0x2b, 0x00, 0x20, 0x02, 0xdb, 0xd6, 0xba, 0xce, 0xbf, 0xff, 0xfd, 0xfd,
- 0xdb, 0xd6, 0x9b, 0xce, 0xaa, 0xab, 0xab, 0xbe, 0xba, 0xd6, 0xdb, 0xce, 0xa8, 0x2a, 0x82, 0xab, 0xdc, 0xd6, 0xbb, 0xce, 0xae, 0xae, 0xfa, 0xbb, 0xdc, 0xd6, 0x9b, 0xd6, 0xaa, 0xaa, 0xaf, 0xaa,
- 0x3a, 0xbe, 0x19, 0xb6, 0xad, 0x20, 0x2a, 0xea, 0x3a, 0xbe, 0x19, 0xbe, 0x00, 0xfe, 0x2d, 0x38, 0x5a, 0xbe, 0x19, 0xbe, 0x5f, 0xf5, 0xbf, 0xab, 0x3a, 0xbe, 0x1a, 0xb6, 0x82, 0xac, 0x00, 0x80,
- 0x5b, 0xc6, 0x39, 0xbe, 0xb7, 0xff, 0xfd, 0x55, 0x5a, 0xc6, 0x3a, 0xbe, 0xfb, 0xee, 0x67, 0x7d, 0x5a, 0xc6, 0x1a, 0xb6, 0xaa, 0xba, 0xaa, 0xba, 0x5a, 0xc6, 0x3a, 0xbe, 0xaf, 0x7f, 0x5f, 0xff,
- 0x5a, 0xc6, 0x39, 0xbe, 0xab, 0xe9, 0xef, 0x7d, 0x5a, 0xc6, 0x3a, 0xbe, 0xab, 0xab, 0xef, 0xfb, 0x7b, 0xc6, 0x3a, 0xbe, 0xee, 0x3d, 0xbd, 0x7e, 0x39, 0xc6, 0x7a, 0xbe, 0xab, 0xfa, 0xfa, 0xaf,
- 0x7b, 0xc6, 0x3a, 0xbe, 0xbf, 0xbf, 0xaa, 0x8b, 0x7b, 0xc6, 0x3a, 0xbe, 0xee, 0xaf, 0xaa, 0x0a, 0x7b, 0xc6, 0x5a, 0xc6, 0xda, 0xed, 0xaf, 0x16, 0x7b, 0xc6, 0x3a, 0xc6, 0xaa, 0xa2, 0xa2, 0xc2,
- 0x7b, 0xc6, 0x5a, 0xc6, 0x73, 0x56, 0xa3, 0x95, 0x7b, 0xc6, 0x39, 0xbe, 0xaa, 0xa8, 0xaa, 0xea, 0x7b, 0xc6, 0x3a, 0xbe, 0x82, 0xaa, 0xfa, 0xea, 0x7b, 0xc6, 0x5a, 0xbe, 0xaa, 0xa3, 0xfe, 0xbf,
- 0x7b, 0xc6, 0x5a, 0xbe, 0x2b, 0xaa, 0xff, 0xff, 0x7b, 0xc6, 0x5a, 0xbe, 0x80, 0xaa, 0x8b, 0xbb, 0x7b, 0xc6, 0x5a, 0xbe, 0xa2, 0x0a, 0x28, 0xeb, 0x7b, 0xc6, 0x5a, 0xc6, 0x02, 0x00, 0xfa, 0xcb,
- 0x5a, 0xce, 0x7b, 0xc6, 0x8b, 0x55, 0xfe, 0xd7, 0x7b, 0xce, 0x5a, 0xc6, 0xcd, 0x5f, 0x57, 0x5d, 0x7b, 0xc6, 0x5a, 0xbe, 0x82, 0x2a, 0x2e, 0x2a, 0x7a, 0xce, 0x5b, 0xbe, 0xaa, 0xba, 0xff, 0xff,
- 0x7b, 0xc6, 0x5a, 0xbe, 0x00, 0xaa, 0xaa, 0xfa, 0x7b, 0xc6, 0x5a, 0xbe, 0x28, 0x88, 0x2a, 0x22, 0x7b, 0xc6, 0x5a, 0xbe, 0x80, 0xaa, 0xa2, 0x20, 0x7b, 0xce, 0x5a, 0xc6, 0x9f, 0x7d, 0xff, 0xff,
- 0x7a, 0xce, 0x5b, 0xc6, 0xdf, 0xff, 0xbf, 0xbf, 0x7b, 0xce, 0x5a, 0xc6, 0xfb, 0xbf, 0xba, 0xaa, 0x5a, 0xce, 0x7b, 0xc6, 0x56, 0x77, 0xff, 0xf6, 0x7b, 0xce, 0x9a, 0xc6, 0xfa, 0xaa, 0xfe, 0x8a,
- 0x9a, 0xce, 0x5b, 0xc6, 0xea, 0xfe, 0xaa, 0xef, 0x5b, 0xce, 0x9a, 0xc6, 0xae, 0xdf, 0xea, 0xaf, 0x7b, 0xce, 0x5a, 0xc6, 0xaa, 0xaa, 0xba, 0xa7, 0x7b, 0xce, 0x7a, 0xc6, 0xee, 0x7f, 0xf7, 0x55,
- 0x7b, 0xce, 0x5a, 0xc6, 0x0a, 0xba, 0x7e, 0x7e, 0x7b, 0xce, 0x5a, 0xbe, 0xa2, 0xaa, 0xea, 0xfb, 0x7b, 0xce, 0x5a, 0xbe, 0xaa, 0xaa, 0xaa, 0xfb, 0x7b, 0xc6, 0x5a, 0xbe, 0x00, 0x00, 0xe2, 0xde,
- 0x7b, 0xc6, 0x5a, 0xbe, 0x00, 0x22, 0xff, 0xe7, 0x9b, 0xce, 0x5a, 0xbe, 0xef, 0xfb, 0xef, 0x55, 0x7b, 0xc6, 0x58, 0xad, 0x00, 0x00, 0x00, 0x24, 0x7b, 0xc6, 0x3a, 0xbe, 0x00, 0xaa, 0xff, 0xff,
- 0x7b, 0xc6, 0x3a, 0xbe, 0xa0, 0xaa, 0x7f, 0xbd, 0x7b, 0xc6, 0x3a, 0xbe, 0xaa, 0xbe, 0xbf, 0xde, 0x7b, 0xc6, 0x3a, 0xbe, 0x22, 0xaa, 0xff, 0x7d, 0x3a, 0xc6, 0x7b, 0xbe, 0xef, 0xaf, 0xbe, 0xca,
- 0x7b, 0xc6, 0x3a, 0xbe, 0xea, 0xaf, 0xff, 0xb7, 0x7b, 0xc6, 0x5a, 0xbe, 0xfe, 0xdd, 0xff, 0xa7, 0x5b, 0xc6, 0x7a, 0xbe, 0xe2, 0x8a, 0xaf, 0xa2, 0x7b, 0xc6, 0x3a, 0xbe, 0x80, 0xaa, 0xeb, 0xa9,
- 0x7b, 0xc6, 0x5a, 0xbe, 0xa0, 0xaa, 0xae, 0x8b, 0x7b, 0xc6, 0x5a, 0xbe, 0xac, 0x8a, 0xa0, 0x2d, 0x7a, 0xc6, 0x5b, 0xbe, 0xae, 0x0a, 0x88, 0xb2, 0x7a, 0xc6, 0x5b, 0xc6, 0x80, 0x00, 0x01, 0x83,
- 0x9a, 0xce, 0x7b, 0xc6, 0x57, 0xff, 0xd5, 0x5f, 0x9a, 0xce, 0x5b, 0xc6, 0xff, 0xff, 0xae, 0xef, 0x9b, 0xce, 0x7a, 0xc6, 0xdf, 0xd7, 0xff, 0x9d, 0x7a, 0xce, 0x9b, 0xc6, 0xaa, 0xeb, 0xea, 0xfe,
- 0x9b, 0xce, 0x7a, 0xc6, 0xea, 0xa0, 0xa2, 0xfa, 0x9b, 0xce, 0x7a, 0xc6, 0xa8, 0xaa, 0xaa, 0xab, 0x7a, 0xce, 0x9b, 0xc6, 0xaf, 0xae, 0xbf, 0x78, 0x7a, 0xce, 0x9b, 0xc6, 0xaa, 0xaa, 0xfe, 0x37,
- 0x9b, 0xce, 0x7a, 0xc6, 0xaa, 0xaa, 0xaa, 0xea, 0x9b, 0xce, 0x7a, 0xce, 0xaa, 0x0a, 0x88, 0x0e, 0x7a, 0xce, 0x9b, 0xc6, 0x2f, 0xfa, 0xef, 0xab, 0x9b, 0xd6, 0x7a, 0xc6, 0xbe, 0xee, 0xef, 0xbf,
- 0x9b, 0xce, 0x7b, 0xc6, 0xe8, 0xe2, 0x8a, 0xfa, 0x9b, 0xce, 0x7a, 0xc6, 0x8b, 0xea, 0xbe, 0xbf, 0x9b, 0xce, 0x7a, 0xc6, 0xa8, 0xaf, 0xfa, 0xbe, 0x9b, 0xce, 0x7a, 0xc6, 0xfb, 0xfa, 0x6b, 0xef,
- 0x9b, 0xce, 0x7a, 0xc6, 0xaf, 0xea, 0xfb, 0xed, 0x9b, 0xce, 0x7a, 0xc6, 0xfe, 0x9e, 0xff, 0xdf, 0x7b, 0xce, 0x5a, 0xc6, 0xa0, 0xa8, 0xa8, 0xba, 0x7a, 0xce, 0x9b, 0xc6, 0xa2, 0xaa, 0xff, 0xfb,
- 0x9b, 0xce, 0x7a, 0xc6, 0xfe, 0xff, 0xbf, 0xde, 0x9b, 0xce, 0x7a, 0xc6, 0xeb, 0xfa, 0x7f, 0xf7, 0x9b, 0xce, 0x7a, 0xc6, 0xaf, 0xff, 0xff, 0xf7, 0x7a, 0xce, 0x9b, 0xc6, 0xb8, 0xaa, 0xab, 0x8f,
- 0x9b, 0xce, 0x7a, 0xc6, 0xf2, 0xab, 0xff, 0x7f, 0x9b, 0xce, 0x7a, 0xc6, 0xbb, 0xfe, 0xff, 0x7f, 0x5b, 0xce, 0x9b, 0xc6, 0xdd, 0xff, 0xff, 0xfe, 0x7a, 0xce, 0x9b, 0xc6, 0x0e, 0xaa, 0xaa, 0xff,
- 0x9c, 0xce, 0x7a, 0xc6, 0xfb, 0xf7, 0xfe, 0xfe, 0x7a, 0xce, 0x9b, 0xc6, 0xa0, 0xba, 0xaf, 0xff, 0x9b, 0xce, 0x7a, 0xc6, 0xef, 0xeb, 0xf7, 0xf7, 0x7a, 0xce, 0x9b, 0xc6, 0xaa, 0x96, 0xfd, 0x2a,
- 0x7b, 0xce, 0x9a, 0xc6, 0xfa, 0xa8, 0xaf, 0xda, 0x7b, 0xce, 0x9b, 0xc6, 0xc2, 0xaa, 0xee, 0xeb, 0x9b, 0xce, 0x7a, 0xc6, 0xfa, 0xaa, 0xab, 0xaa, 0x9b, 0xce, 0x7b, 0xce, 0x09, 0x02, 0xc8, 0x82,
- 0x9b, 0xce, 0x7a, 0xce, 0x30, 0x02, 0x0b, 0x28, 0xbb, 0xce, 0x9a, 0xc6, 0xbf, 0xff, 0xff, 0xbf, 0xbb, 0xce, 0x9a, 0xc6, 0x8b, 0xff, 0xae, 0xef, 0xbb, 0xce, 0x7a, 0xc6, 0xae, 0xeb, 0xea, 0xea,
- 0xbc, 0xce, 0x9a, 0xce, 0x55, 0xd5, 0xd5, 0xb7, 0xbb, 0xd6, 0x7a, 0xc6, 0xee, 0xbf, 0xfe, 0xfb, 0x9c, 0xd6, 0x9a, 0xc6, 0xbe, 0xaa, 0xbe, 0xaa, 0xbc, 0xce, 0x7a, 0xce, 0xea, 0xab, 0xab, 0xab,
- 0xbb, 0xd6, 0x7a, 0xce, 0xbf, 0xab, 0xbf, 0xab, 0xbb, 0xd6, 0x9a, 0xce, 0xbb, 0xff, 0xf5, 0x7b, 0xbc, 0xd6, 0x9a, 0xce, 0x7e, 0xff, 0xdf, 0xff, 0xbc, 0xd6, 0x9a, 0xce, 0xaf, 0xff, 0xeb, 0xe6,
- 0x9b, 0xd6, 0xbb, 0xce, 0x5a, 0xeb, 0xff, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xeb, 0xaa, 0xbe, 0x9a, 0xd6, 0xbc, 0xce, 0xff, 0xff, 0xff, 0xfe, 0x9b, 0xd6, 0xbb, 0xce, 0xf7, 0xdf, 0xb7, 0xef,
- 0xbc, 0xd6, 0x9b, 0xce, 0xab, 0xab, 0xbb, 0xaa, 0xbc, 0xd6, 0x9b, 0xce, 0xa2, 0x3e, 0xea, 0xbf, 0xbc, 0xd6, 0xba, 0xce, 0x0a, 0x8a, 0xae, 0xaa, 0xbc, 0xd6, 0x9a, 0xce, 0x80, 0x8a, 0xa2, 0x28,
- 0xbb, 0xd6, 0x9b, 0xce, 0xaa, 0xa8, 0xa2, 0xae, 0xdc, 0xd6, 0x9a, 0xce, 0xbf, 0xef, 0xaf, 0xbf, 0xbb, 0xd6, 0x9a, 0xce, 0xae, 0xaa, 0xaa, 0xab, 0xbc, 0xd6, 0x9a, 0xce, 0xaa, 0xaa, 0xea, 0xaa,
- 0xbb, 0xd6, 0x9b, 0xce, 0xaa, 0xea, 0xaa, 0xba, 0x9b, 0xd6, 0xbc, 0xce, 0xff, 0xaf, 0xfd, 0xfd, 0xdc, 0xd6, 0x9a, 0xce, 0xab, 0xee, 0xaa, 0xaa, 0xdb, 0xd6, 0x9b, 0xce, 0xfa, 0xba, 0xab, 0xea,
- 0xdc, 0xd6, 0xbb, 0xce, 0xea, 0xbf, 0xbf, 0xff, 0xbc, 0xd6, 0xdb, 0xce, 0xab, 0x02, 0x8a, 0x2a, 0xdb, 0xd6, 0xbb, 0xce, 0xaf, 0xaf, 0xff, 0xef, 0xdc, 0xd6, 0xbb, 0xd6, 0x7a, 0xb7, 0xef, 0x5d,
- 0x3a, 0xbe, 0x19, 0xbe, 0x8f, 0xbb, 0x2f, 0xdf, 0x5a, 0xc6, 0xf9, 0xb5, 0xab, 0xaa, 0xb9, 0xaa, 0x3a, 0xc6, 0x1a, 0xb6, 0xbb, 0xba, 0xaf, 0xaf, 0x3b, 0xc6, 0x19, 0xb6, 0xaa, 0xaa, 0xfb, 0xbf,
- 0x3a, 0xc6, 0x19, 0xb6, 0xaa, 0xae, 0xab, 0xea, 0x5b, 0xc6, 0x19, 0xb6, 0xaa, 0xfe, 0xbf, 0xeb, 0x5a, 0xbe, 0x19, 0xbe, 0xea, 0xff, 0xdf, 0xbf, 0x5a, 0xc6, 0x19, 0xb6, 0xaf, 0xfb, 0xff, 0xee,
- 0x5b, 0xc6, 0x19, 0xbe, 0x8f, 0xbb, 0xbb, 0xbf, 0x5a, 0xc6, 0x39, 0xbe, 0xdb, 0xe7, 0x55, 0x7b, 0x5b, 0xc6, 0x19, 0xbe, 0xa8, 0x6f, 0xab, 0xab, 0x5b, 0xc6, 0x3a, 0xbe, 0xbe, 0xda, 0xbd, 0xab,
- 0x7b, 0xc6, 0x39, 0xbe, 0x8e, 0xaf, 0xff, 0x55, 0x7b, 0xc6, 0x3a, 0xbe, 0x8a, 0xba, 0xfb, 0xf7, 0x7b, 0xc6, 0x59, 0xbe, 0xae, 0xfe, 0xef, 0xfe, 0x5b, 0xc6, 0x3a, 0xbe, 0xa0, 0x0a, 0x02, 0xfc,
- 0x7b, 0xc6, 0x39, 0xbe, 0xab, 0xff, 0xbf, 0x7f, 0x5b, 0xc6, 0x3a, 0xbe, 0xa0, 0xab, 0xfe, 0xfb, 0x5b, 0xc6, 0x39, 0xbe, 0xa8, 0xae, 0xff, 0xbf, 0x5b, 0xc6, 0x3a, 0xbe, 0xeb, 0xff, 0xdf, 0xd7,
- 0x5b, 0xc6, 0x3a, 0xbe, 0x8e, 0xea, 0xff, 0xfe, 0x5b, 0xc6, 0x3a, 0xbe, 0x38, 0xba, 0xeb, 0xf5, 0x5b, 0xc6, 0x3a, 0xbe, 0x22, 0x28, 0xeb, 0xe5, 0x7b, 0xc6, 0x39, 0xbe, 0xea, 0x8a, 0xfa, 0xef,
- 0x7b, 0xc6, 0x3a, 0xbe, 0xab, 0xaa, 0xab, 0x7f, 0x7b, 0xc6, 0x3a, 0xbe, 0xaa, 0xaa, 0xa2, 0xaf, 0x7b, 0xc6, 0x3a, 0xbe, 0xea, 0xaa, 0xae, 0x2b, 0x7b, 0xc6, 0x5a, 0xbe, 0xfb, 0x2b, 0x8b, 0xaf,
- 0x7b, 0xce, 0x5a, 0xbe, 0xbb, 0xab, 0xaf, 0xff, 0x7a, 0xc6, 0x5b, 0xc6, 0x02, 0x83, 0x80, 0xef, 0x7b, 0xce, 0x5a, 0xbe, 0xba, 0xab, 0xaa, 0xaa, 0x5b, 0xce, 0x7a, 0xc6, 0xb7, 0xff, 0xd7, 0xd5,
- 0x5b, 0xce, 0x7a, 0xc6, 0xde, 0x57, 0xf5, 0x55, 0x9b, 0xc6, 0x5a, 0xc6, 0xfb, 0xef, 0xef, 0xbf, 0x7b, 0xc6, 0x5a, 0xc6, 0xbb, 0x3a, 0x00, 0x00, 0x7b, 0xce, 0x5a, 0xbe, 0xaa, 0xea, 0xaa, 0xaa,
- 0x7b, 0xce, 0x5a, 0xbe, 0xaa, 0xaa, 0xfa, 0xfb, 0x7b, 0xce, 0x5a, 0xbe, 0xaa, 0xaa, 0xfb, 0xef, 0x7b, 0xc6, 0x3a, 0xbe, 0x22, 0x82, 0xe8, 0xee, 0x7b, 0xc6, 0x5a, 0xbe, 0xaa, 0xae, 0xaf, 0x5d,
- 0x7b, 0xc6, 0x5a, 0xbe, 0xaa, 0xba, 0xfd, 0xdf, 0x5b, 0xc6, 0x3a, 0xbe, 0x88, 0x3a, 0xfe, 0x7b, 0x5b, 0xc6, 0x3a, 0xbe, 0xea, 0xfa, 0xfd, 0x7f, 0x5b, 0xc6, 0x1a, 0xbe, 0xaa, 0xaa, 0xab, 0xe5,
- 0x7b, 0xc6, 0x3a, 0xb6, 0xaa, 0xbb, 0xff, 0xde, 0x5b, 0xc6, 0x3a, 0xb6, 0xe2, 0xea, 0xff, 0xff, 0x5b, 0xc6, 0x3a, 0xb6, 0xba, 0xfb, 0xfd, 0xff, 0x5b, 0xc6, 0x3a, 0xb6, 0xae, 0xaf, 0xff, 0xfb,
- 0x5b, 0xbe, 0x1a, 0xb6, 0xea, 0xe0, 0xfa, 0xab, 0x5b, 0xc6, 0x3a, 0xb6, 0xef, 0xfb, 0xff, 0xbf, 0x5b, 0xc6, 0x3a, 0xb6, 0xab, 0xaf, 0xab, 0xba, 0x5b, 0xc6, 0x3a, 0xbe, 0xf7, 0xd9, 0x7f, 0xdd,
- 0x3a, 0xc6, 0x5b, 0xbe, 0xa9, 0x79, 0x6a, 0xaa, 0x5b, 0xc6, 0x3a, 0xbe, 0x8b, 0xaf, 0xeb, 0xb7, 0x3b, 0xc6, 0x7a, 0xbe, 0x2a, 0xfa, 0xaa, 0xea, 0x7b, 0xc6, 0x3a, 0xbe, 0xfb, 0xfa, 0xbb, 0xeb,
- 0x5b, 0xc6, 0x7a, 0xbe, 0x2a, 0xf0, 0x8a, 0xaa, 0x7b, 0xc6, 0x5a, 0xbe, 0xae, 0xbf, 0xab, 0xbf, 0x7b, 0xc6, 0x5a, 0xbe, 0x0a, 0xab, 0xba, 0xeb, 0x7a, 0xc6, 0x5b, 0xbe, 0x80, 0x2a, 0xae, 0xa0,
- 0x7b, 0xc6, 0x5a, 0xc6, 0x0f, 0x30, 0xa2, 0x03, 0x9b, 0xce, 0x7a, 0xc6, 0x55, 0xfd, 0xd5, 0xdd, 0x9b, 0xce, 0x7a, 0xc6, 0xff, 0xdf, 0xff, 0xaf, 0x9b, 0xce, 0x7a, 0xc6, 0xef, 0xef, 0xbf, 0xaa,
- 0x9b, 0xce, 0x7a, 0xc6, 0xff, 0xea, 0xaa, 0x8a, 0x9b, 0xce, 0x7a, 0xce, 0xbb, 0x88, 0x00, 0x08, 0xbb, 0xce, 0x7a, 0xc6, 0xfe, 0xff, 0xea, 0xee, 0x9b, 0xce, 0x7a, 0xc6, 0x8e, 0x88, 0xa8, 0xa8,
- 0x9b, 0xce, 0x7a, 0xc6, 0x2a, 0x8a, 0x8a, 0xaa, 0x9b, 0xce, 0x7a, 0xc6, 0xaa, 0xaa, 0xfe, 0xfe, 0x7a, 0xce, 0x9b, 0xc6, 0xaa, 0x2a, 0xfa, 0xfe, 0x9b, 0xce, 0x7a, 0xc6, 0xee, 0xee, 0xea, 0xaa,
- 0x9b, 0xce, 0x5a, 0xc6, 0xaa, 0xae, 0xaa, 0xaa, 0x7a, 0xce, 0x9b, 0xc6, 0x2a, 0xf8, 0xaa, 0xaf, 0x9b, 0xce, 0x7a, 0xc6, 0xbf, 0xbf, 0xfb, 0xae, 0x7b, 0xce, 0x9a, 0xc6, 0x02, 0xeb, 0xab, 0xc2,
- 0x7a, 0xce, 0x9b, 0xc6, 0xa8, 0xbb, 0xb8, 0xa6, 0x9b, 0xce, 0x5a, 0xc6, 0xef, 0xba, 0xea, 0xfe, 0x7b, 0xce, 0x9b, 0xc6, 0xbf, 0xe8, 0xea, 0xaa, 0x9b, 0xce, 0x7a, 0xc6, 0xff, 0xd7, 0xf7, 0xfd,
- 0x9b, 0xce, 0x5a, 0xc6, 0xbe, 0x6a, 0xfa, 0xfe, 0x9b, 0xce, 0x7a, 0xc6, 0xff, 0x7e, 0x75, 0x7d, 0x9b, 0xce, 0x7a, 0xc6, 0xff, 0x5f, 0xd7, 0xf5, 0x9b, 0xce, 0x7a, 0xc6, 0xff, 0xff, 0xdf, 0x55,
- 0x9b, 0xce, 0x5a, 0xc6, 0xee, 0xee, 0xbe, 0xbe, 0x5a, 0xce, 0x9b, 0xc6, 0xff, 0xfe, 0xef, 0xfe, 0x9b, 0xce, 0x5a, 0xc6, 0xbe, 0xeb, 0xae, 0xbb, 0x9b, 0xce, 0x7a, 0xc6, 0x7f, 0x5f, 0x7f, 0x7d,
- 0x9b, 0xce, 0x7a, 0xc6, 0x6f, 0xfd, 0xfd, 0xfd, 0x9b, 0xce, 0x7a, 0xc6, 0x7f, 0xff, 0x7f, 0xff, 0x7b, 0xce, 0x7a, 0xc6, 0xb7, 0xaf, 0xff, 0xff, 0x7a, 0xce, 0x9b, 0xc6, 0xaa, 0xae, 0xaf, 0xfe,
- 0x9b, 0xce, 0x7a, 0xc6, 0xeb, 0xff, 0xbb, 0xeb, 0x7b, 0xce, 0x9a, 0xc6, 0xaa, 0xbe, 0x2f, 0xaa, 0x9b, 0xce, 0x7a, 0xc6, 0xaa, 0xaa, 0xae, 0xab, 0x9c, 0xce, 0x7a, 0xc6, 0xaa, 0xaa, 0xea, 0xae,
- 0x9b, 0xce, 0x7a, 0xc6, 0x32, 0x22, 0xa2, 0x2a, 0x9b, 0xce, 0x7a, 0xc6, 0xaa, 0xaa, 0xa0, 0x02, 0x9b, 0xce, 0x7a, 0xc6, 0x80, 0x08, 0xa2, 0xa0, 0x9b, 0xd6, 0x7a, 0xc6, 0xab, 0xee, 0xbe, 0xfb,
- 0x9b, 0xce, 0x7a, 0xc6, 0x20, 0xa8, 0x08, 0x88, 0x9b, 0xce, 0x7a, 0xc6, 0x20, 0x28, 0x80, 0x20, 0x9b, 0xce, 0x7a, 0xc6, 0x02, 0x02, 0x08, 0x0c, 0x7c, 0xd6, 0x9a, 0xc6, 0xbe, 0xbf, 0xff, 0xfe,
- 0xbb, 0xce, 0x9a, 0xce, 0x7d, 0x55, 0x7d, 0x95, 0xbb, 0xce, 0x9b, 0xce, 0x15, 0x75, 0x57, 0x57, 0xbb, 0xce, 0x9b, 0xce, 0x34, 0x75, 0xa5, 0xfa, 0xbb, 0xd6, 0x9b, 0xce, 0xff, 0xdb, 0xf5, 0x9f,
- 0x9b, 0xd6, 0xba, 0xce, 0xff, 0xfe, 0xfa, 0xff, 0xbb, 0xd6, 0x9a, 0xce, 0xab, 0xfa, 0xaa, 0xfb, 0x9b, 0xd6, 0xbb, 0xce, 0xf5, 0xff, 0xea, 0xff, 0x9b, 0xd6, 0xbb, 0xce, 0xff, 0xed, 0xfd, 0xfe,
- 0x9b, 0xd6, 0xbc, 0xce, 0xbf, 0xff, 0x7f, 0xff, 0x9b, 0xd6, 0xbc, 0xce, 0xfe, 0xaf, 0xdf, 0xeb, 0xdb, 0xd6, 0x9b, 0xce, 0xeb, 0xff, 0xbf, 0xff, 0x9b, 0xd6, 0xbc, 0xce, 0x7b, 0xeb, 0xff, 0xff,
- 0xbc, 0xd6, 0x9a, 0xce, 0xaa, 0xaa, 0xaa, 0xba, 0x9b, 0xd6, 0xbc, 0xce, 0xdf, 0xff, 0xbe, 0xff, 0xbc, 0xd6, 0x9b, 0xce, 0xea, 0xfa, 0xfa, 0xba, 0x9b, 0xd6, 0xbb, 0xce, 0xff, 0xaf, 0xef, 0xf7,
- 0x9c, 0xd6, 0xba, 0xce, 0xab, 0xeb, 0xeb, 0xaa, 0xbb, 0xd6, 0x9b, 0xce, 0x82, 0xaa, 0xaa, 0xaa, 0xdc, 0xd6, 0x9b, 0xce, 0xbf, 0xea, 0xef, 0xaa, 0xdc, 0xd6, 0x9b, 0xce, 0xaa, 0xaa, 0xab, 0xba,
- 0xdc, 0xd6, 0x9b, 0xce, 0xea, 0xab, 0xaa, 0xaa, 0xdc, 0xd6, 0xbb, 0xce, 0xbb, 0xfe, 0xbb, 0xaa, 0xdc, 0xd6, 0xbb, 0xce, 0xaa, 0xea, 0xeb, 0xa2, 0xdc, 0xd6, 0xbb, 0xce, 0xeb, 0xfe, 0xaa, 0xea,
- 0x3a, 0xbe, 0x19, 0xbe, 0x8b, 0xb8, 0xff, 0xe8, 0x3a, 0xbe, 0x1a, 0xb6, 0xe2, 0xe0, 0x2a, 0x08, 0x3b, 0xbe, 0xf9, 0xb5, 0xea, 0xaa, 0x8a, 0xca, 0x3b, 0xc6, 0x19, 0xb6, 0xfa, 0xaf, 0xfe, 0xfb,
- 0x3b, 0xbe, 0x19, 0xb6, 0x28, 0x8b, 0x8a, 0xaa, 0x3a, 0xc6, 0x19, 0xb6, 0xea, 0xbe, 0xee, 0xee, 0x3b, 0xbe, 0x19, 0xbe, 0x76, 0xdc, 0xa3, 0xef, 0x3a, 0xbe, 0x19, 0xb6, 0x2f, 0x82, 0xaa, 0x8a,
- 0x3b, 0xc6, 0x19, 0xb6, 0xab, 0xab, 0xeb, 0xff, 0x5a, 0xc6, 0x19, 0xb6, 0xea, 0xfe, 0xef, 0xff, 0x3b, 0xc6, 0x19, 0xb6, 0xac, 0xaa, 0xaa, 0xba, 0x5a, 0xc6, 0x19, 0xb6, 0xaa, 0xaa, 0xbe, 0xda,
- 0x3b, 0xc6, 0x19, 0xb6, 0xea, 0xea, 0xfe, 0xff, 0x5b, 0xc6, 0xf9, 0xb5, 0xaa, 0xaa, 0xbf, 0x7f, 0x5b, 0xc6, 0x19, 0xb6, 0xaa, 0xba, 0xbe, 0xdf, 0x5b, 0xc6, 0x19, 0xb6, 0x2a, 0xaa, 0xaa, 0xfe,
- 0x5b, 0xc6, 0x19, 0xbe, 0xea, 0xfa, 0xeb, 0xee, 0x5b, 0xc6, 0x19, 0xbe, 0xab, 0xaa, 0xee, 0xfb, 0x1a, 0xc6, 0x5a, 0xbe, 0xff, 0x8b, 0xfa, 0xfb, 0x5a, 0xbe, 0x19, 0xbe, 0xfa, 0xff, 0xbe, 0xaa,
- 0x1b, 0xc6, 0x39, 0xb6, 0xaa, 0xff, 0xff, 0xfb, 0x5b, 0xc6, 0x1a, 0xb6, 0xaa, 0xbf, 0xff, 0xba, 0x5b, 0xc6, 0x39, 0xbe, 0xbf, 0xdd, 0x75, 0xd5, 0x3a, 0xc6, 0x5b, 0xbe, 0xbe, 0x8b, 0x7f, 0x7e,
- 0x7b, 0xc6, 0x39, 0xbe, 0xbb, 0xff, 0x5f, 0x7f, 0x5b, 0xc6, 0x39, 0xbe, 0x02, 0xaa, 0xab, 0xba, 0x5b, 0xc6, 0x5a, 0xbe, 0xab, 0x88, 0xb9, 0x94, 0x5b, 0xc6, 0x3a, 0xbe, 0x88, 0xaf, 0xfa, 0xaa,
- 0x7b, 0xce, 0x5a, 0xbe, 0xaf, 0xff, 0xff, 0xff, 0x7b, 0xce, 0x5a, 0xbe, 0xaf, 0xaa, 0xfb, 0xfb, 0x7b, 0xc6, 0x5a, 0xbe, 0x00, 0xa8, 0xfa, 0x35, 0x9b, 0xce, 0x5a, 0xbe, 0xbb, 0xff, 0xf7, 0xfd,
- 0x7a, 0xc6, 0x5b, 0xc6, 0xeb, 0xfb, 0xb3, 0x22, 0x9b, 0xc6, 0x5a, 0xc6, 0xdf, 0x75, 0xff, 0xde, 0x5b, 0xc6, 0x3a, 0xbe, 0x00, 0x00, 0x2c, 0xe8, 0x7b, 0xc6, 0x3a, 0xbe, 0x82, 0xfa, 0xff, 0x5f,
- 0x5b, 0xc6, 0x1a, 0xbe, 0xaa, 0x22, 0xaa, 0xfe, 0x5b, 0xc6, 0x19, 0xbe, 0x00, 0xa0, 0xaa, 0xfd, 0x5b, 0xc6, 0x3a, 0xbe, 0x7e, 0xff, 0xf7, 0xb5, 0x5b, 0xc6, 0x3a, 0xbe, 0xe5, 0xf7, 0xfd, 0x5d,
- 0x5b, 0xbe, 0x3a, 0xbe, 0xde, 0xdd, 0xf9, 0xfd, 0x5b, 0xc6, 0x3a, 0xbe, 0xdd, 0xeb, 0x75, 0xfd, 0x5b, 0xbe, 0x3a, 0xbe, 0x57, 0xf7, 0x67, 0x7d, 0x3b, 0xbe, 0x5a, 0xb6, 0xc0, 0x20, 0xa2, 0xe8,
- 0x5b, 0xbe, 0x1a, 0xb6, 0xea, 0xbe, 0xaa, 0xf2, 0x5b, 0xc6, 0x19, 0xb6, 0xef, 0xfb, 0xef, 0xff, 0x1a, 0xbe, 0x3b, 0xb6, 0xdc, 0x7f, 0xf7, 0xb6, 0x5b, 0xbe, 0x1a, 0xb6, 0xee, 0xfb, 0xaa, 0xab,
- 0x3b, 0xc6, 0x1a, 0xb6, 0xae, 0xae, 0xab, 0xaa, 0x5b, 0xbe, 0x3a, 0xbe, 0xfd, 0x55, 0xb7, 0x55, 0x5b, 0xc6, 0x3a, 0xbe, 0x5d, 0x7f, 0xdf, 0x7f, 0x5b, 0xc6, 0x3a, 0xbe, 0xdd, 0x9f, 0xbb, 0xef,
- 0x3a, 0xc6, 0x5b, 0xbe, 0x6b, 0x7e, 0x2b, 0x7d, 0x7b, 0xc6, 0x3a, 0xbe, 0x77, 0xdf, 0x7d, 0xaf, 0x5b, 0xc6, 0x3a, 0xbe, 0xee, 0x3f, 0xee, 0xb2, 0x3a, 0xc6, 0x5b, 0xbe, 0xde, 0xff, 0x7d, 0x7f,
- 0x7b, 0xc6, 0x3a, 0xbe, 0xff, 0xfb, 0xab, 0xbb, 0x7b, 0xc6, 0x5a, 0xbe, 0xbf, 0xbf, 0x2b, 0x0b, 0x9b, 0xce, 0x5a, 0xc6, 0x55, 0xff, 0xff, 0xab, 0x9b, 0xce, 0x5a, 0xc6, 0xbd, 0xfe, 0xab, 0x2a,
- 0x9b, 0xce, 0x7a, 0xc6, 0xdf, 0xf7, 0xab, 0x08, 0x9b, 0xce, 0x7a, 0xc6, 0xdf, 0xaa, 0x02, 0x28, 0x9b, 0xd6, 0x7a, 0xc6, 0xff, 0xfb, 0xba, 0xfa, 0x9b, 0xce, 0x7a, 0xc6, 0xaa, 0x0a, 0x00, 0x00,
- 0xbb, 0xce, 0x7a, 0xce, 0xeb, 0xba, 0xae, 0xbe, 0xbb, 0xd6, 0x7a, 0xc6, 0xaf, 0xfb, 0xff, 0xff, 0x9b, 0xce, 0x7a, 0xce, 0x0b, 0xaa, 0x00, 0xf2, 0x9b, 0xce, 0x7a, 0xce, 0x73, 0xea, 0x80, 0x33,
- 0x9b, 0xce, 0x7a, 0xce, 0xe1, 0xff, 0x2a, 0xfa, 0x7a, 0xce, 0x9b, 0xc6, 0xea, 0xaa, 0xab, 0xae, 0x7a, 0xce, 0x9b, 0xc6, 0xaf, 0xea, 0xe8, 0xaa, 0x7b, 0xce, 0x9a, 0xc6, 0xaa, 0xfa, 0xff, 0xab,
- 0x9b, 0xce, 0x7a, 0xc6, 0xfb, 0xaf, 0xbf, 0xf6, 0x7a, 0xce, 0x9b, 0xc6, 0x2b, 0xbe, 0xaa, 0xfa, 0x7b, 0xce, 0x9a, 0xc6, 0x2a, 0x0a, 0xbe, 0x2b, 0x9b, 0xce, 0x5a, 0xc6, 0xaa, 0xaa, 0xab, 0xfe,
- 0x7a, 0xce, 0x9b, 0xc6, 0xae, 0xb8, 0x2e, 0xba, 0x7b, 0xce, 0x5a, 0xc6, 0x92, 0xaa, 0xae, 0xba, 0x9b, 0xce, 0x5a, 0xc6, 0xef, 0xfe, 0xaf, 0xfe, 0x7b, 0xce, 0x5a, 0xc6, 0x88, 0xa8, 0xaa, 0xfe,
- 0x9b, 0xce, 0x5a, 0xc6, 0xaf, 0xbf, 0xba, 0xff, 0x9b, 0xce, 0x5a, 0xc6, 0xaf, 0xfe, 0xfe, 0xbb, 0x7b, 0xc6, 0x5a, 0xc6, 0x0e, 0x28, 0x38, 0x00, 0x5a, 0xce, 0x9b, 0xc6, 0xbf, 0xeb, 0xff, 0xef,
- 0x9b, 0xce, 0x5a, 0xbe, 0xaa, 0xaa, 0xfe, 0xfe, 0x9b, 0xce, 0x5a, 0xc6, 0xfb, 0xbb, 0xbf, 0xff, 0x7b, 0xce, 0x5a, 0xc6, 0xaa, 0xea, 0xbe, 0xaa, 0x9b, 0xc6, 0x5a, 0xc6, 0xaa, 0xaf, 0xea, 0xeb,
- 0x5a, 0xce, 0x7b, 0xc6, 0x5f, 0xf9, 0x57, 0x55, 0x9b, 0xce, 0x7a, 0xc6, 0xff, 0xfd, 0xff, 0x6d, 0x7a, 0xce, 0x9b, 0xc6, 0x2e, 0xbf, 0xe2, 0xba, 0x7b, 0xce, 0x7a, 0xc6, 0xf8, 0xfa, 0xbf, 0x2e,
- 0x9b, 0xce, 0x7a, 0xc6, 0xaa, 0xfa, 0xff, 0xfa, 0x9b, 0xce, 0x7a, 0xc6, 0xaa, 0xbe, 0xb7, 0xbd, 0x7a, 0xce, 0x9b, 0xc6, 0xae, 0xeb, 0x0a, 0xab, 0x9b, 0xce, 0x7a, 0xc6, 0xae, 0xae, 0x2a, 0xab,
- 0x7a, 0xce, 0x9b, 0xc6, 0xea, 0xfd, 0xaa, 0xea, 0x9b, 0xce, 0x7b, 0xc6, 0x8a, 0xaa, 0x0a, 0x2a, 0x9b, 0xce, 0x7a, 0xce, 0x00, 0x0f, 0xca, 0x02, 0x9b, 0xd6, 0x7a, 0xc6, 0xfe, 0xef, 0xfe, 0xbf,
- 0x7c, 0xd6, 0x9a, 0xc6, 0xef, 0xef, 0xff, 0xbe, 0x9b, 0xce, 0x7a, 0xc6, 0x20, 0x0a, 0xba, 0xaa, 0xbb, 0xce, 0x7a, 0xce, 0xfb, 0xef, 0xff, 0xff, 0x9c, 0xce, 0x7b, 0xce, 0xa6, 0xa2, 0xae, 0xaa,
- 0xbb, 0xce, 0x9a, 0xce, 0xf5, 0x55, 0xed, 0x55, 0x9b, 0xd6, 0x9a, 0xce, 0x55, 0xf9, 0x7d, 0xed, 0xbb, 0xce, 0x7b, 0xce, 0xbb, 0xbb, 0xfa, 0xfb, 0x9b, 0xd6, 0xbb, 0xce, 0xdd, 0xff, 0xfb, 0xea,
- 0xbb, 0xd6, 0x9b, 0xce, 0xfe, 0xbf, 0xab, 0x7b, 0xbc, 0xd6, 0x9a, 0xce, 0xeb, 0xaf, 0xae, 0xaf, 0xbb, 0xd6, 0x9b, 0xce, 0xaa, 0xaa, 0xea, 0xfe, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xab, 0xab, 0xba,
- 0xbc, 0xd6, 0x9b, 0xce, 0xbb, 0xbe, 0xbf, 0xee, 0x9b, 0xd6, 0xbb, 0xce, 0xfe, 0xef, 0xb7, 0x97, 0x9b, 0xd6, 0xbb, 0xce, 0x7f, 0xff, 0xaa, 0xd6, 0x9c, 0xd6, 0xbb, 0xce, 0xef, 0xf7, 0xd7, 0xf8,
- 0x9a, 0xd6, 0xbc, 0xce, 0xbd, 0xff, 0xfa, 0xab, 0xbb, 0xd6, 0x9b, 0xce, 0xae, 0xaa, 0xfa, 0xea, 0x9b, 0xd6, 0xbc, 0xce, 0xeb, 0xee, 0xae, 0xfb, 0xbb, 0xd6, 0x9a, 0xce, 0xae, 0xaa, 0x2a, 0xa2,
- 0x9b, 0xd6, 0xbc, 0xce, 0xfb, 0xee, 0xbf, 0x7e, 0xdc, 0xd6, 0x9a, 0xce, 0xab, 0xee, 0x2b, 0xee, 0xdc, 0xd6, 0x9b, 0xd6, 0xea, 0xfa, 0xaa, 0xaa, 0xdc, 0xd6, 0xbb, 0xd6, 0xe5, 0x75, 0x95, 0x7f,
- 0xdc, 0xd6, 0xbb, 0xd6, 0x6d, 0xe3, 0xf7, 0xa7, 0xdc, 0xde, 0xbb, 0xce, 0xff, 0xbf, 0xaf, 0xea, 0xdb, 0xd6, 0xbb, 0xd6, 0xdf, 0x0f, 0xff, 0x8b, 0xdc, 0xd6, 0xbb, 0xce, 0xee, 0xfa, 0xea, 0xa8,
- 0x3a, 0xbe, 0xf9, 0xb5, 0xa0, 0xab, 0xaa, 0xff, 0x3b, 0xbe, 0xf9, 0xb5, 0xaa, 0xaa, 0xf2, 0xaf, 0x3a, 0xbe, 0xf9, 0xb5, 0xaa, 0xa2, 0xfb, 0xfb, 0x3a, 0xbe, 0x19, 0xb6, 0xce, 0xab, 0x77, 0xff,
- 0xf9, 0xbd, 0x3a, 0xb6, 0xab, 0xaf, 0xff, 0xea, 0x3a, 0xbe, 0xf9, 0xb5, 0xab, 0x8a, 0xaf, 0xfe, 0x19, 0xbe, 0x3a, 0xb6, 0x00, 0xaa, 0x8a, 0xfc, 0x3a, 0xbe, 0x19, 0xb6, 0xaf, 0x5e, 0xff, 0xff,
- 0x1a, 0xbe, 0xf9, 0xb5, 0x00, 0x82, 0xaf, 0x0e, 0x3b, 0xbe, 0xf9, 0xb5, 0xaa, 0xab, 0xaf, 0xfb, 0x3b, 0xbe, 0xf9, 0xb5, 0x0a, 0xaa, 0xba, 0xfa, 0x3a, 0xbe, 0xf9, 0xb5, 0x2b, 0xb8, 0xb9, 0xdf,
- 0x3a, 0xbe, 0xf9, 0xb5, 0xa8, 0xfa, 0xfa, 0x5f, 0x1a, 0xbe, 0xf9, 0xb5, 0xa2, 0x3a, 0xaf, 0xa6, 0x3a, 0xbe, 0xf9, 0xb5, 0xb8, 0xbf, 0xbf, 0x5f, 0x3a, 0xbe, 0xf9, 0xb5, 0x2a, 0xaf, 0x77, 0x5d,
- 0x3b, 0xbe, 0xf9, 0xb5, 0xa2, 0x2e, 0xaf, 0xbf, 0x3b, 0xbe, 0xf9, 0xb5, 0x02, 0x02, 0x0a, 0xbe, 0x3b, 0xc6, 0x19, 0xb6, 0xaa, 0xaa, 0xea, 0xff, 0x3b, 0xc6, 0x19, 0xb6, 0xfb, 0xaf, 0xff, 0xbf,
- 0x3b, 0xbe, 0x19, 0xb6, 0xa0, 0x22, 0x8a, 0x0a, 0x3b, 0xbe, 0x19, 0xbe, 0xf0, 0x80, 0x22, 0x26, 0x5b, 0xbe, 0x3a, 0xbe, 0x55, 0xdf, 0x67, 0x55, 0x5a, 0xc6, 0x3a, 0xbe, 0xb5, 0xae, 0xe7, 0xff,
- 0x5a, 0xc6, 0x3a, 0xbe, 0xe7, 0xff, 0xff, 0xd5, 0x5b, 0xc6, 0x3a, 0xbe, 0xbf, 0xeb, 0xaa, 0xe3, 0x5b, 0xc6, 0x3a, 0xbe, 0xbe, 0xf9, 0xea, 0x0a, 0x5b, 0xc6, 0x3a, 0xbe, 0xab, 0x20, 0xbe, 0x7b,
- 0x5b, 0xc6, 0x3a, 0xbe, 0x38, 0xba, 0xab, 0xda, 0x5b, 0xc6, 0x1a, 0xbe, 0x80, 0xaa, 0xea, 0xff, 0x5b, 0xc6, 0x1a, 0xbe, 0xea, 0x8a, 0xae, 0xfd, 0x5b, 0xc6, 0x19, 0xb6, 0x02, 0x8a, 0xae, 0xb6,
- 0x7b, 0xc6, 0x1a, 0xbe, 0x2a, 0xaa, 0x7f, 0xff, 0x7b, 0xc6, 0x1a, 0xbe, 0x80, 0xaa, 0xff, 0xf7, 0x5b, 0xc6, 0x1a, 0xbe, 0xa8, 0xfb, 0x7f, 0x57, 0x5b, 0xc6, 0x19, 0xb6, 0xaa, 0xae, 0x6f, 0xff,
- 0x3b, 0xc6, 0x1a, 0xb6, 0xea, 0xfa, 0xbf, 0xff, 0x3b, 0xbe, 0x19, 0xb6, 0x0b, 0x88, 0x7a, 0xff, 0x3b, 0xbe, 0xfa, 0xb5, 0xa2, 0xea, 0xbf, 0xff, 0x5b, 0xbe, 0x1a, 0xb6, 0xfa, 0xca, 0xfd, 0x77,
- 0x3a, 0xc6, 0x1a, 0xb6, 0xab, 0xbf, 0xff, 0xff, 0x3b, 0xbe, 0x1a, 0xb6, 0x00, 0x38, 0x02, 0xc8, 0x5b, 0xbe, 0x1a, 0xbe, 0xff, 0xfa, 0xaa, 0xef, 0x3b, 0xbe, 0x1a, 0xb6, 0xa0, 0x28, 0x82, 0x00,
- 0x5b, 0xc6, 0x1a, 0xb6, 0xff, 0xbf, 0xfa, 0xba, 0x3b, 0xbe, 0x1a, 0xbe, 0x7e, 0xe0, 0x80, 0x2f, 0x3b, 0xc6, 0x1a, 0xb6, 0xbf, 0xef, 0xfb, 0xea, 0x3a, 0xbe, 0x1a, 0xb6, 0xa2, 0x0a, 0x00, 0xaa,
- 0x3b, 0xc6, 0x19, 0xb6, 0xae, 0xab, 0xfa, 0xfb, 0x5b, 0xc6, 0x1a, 0xb6, 0xaa, 0x2a, 0xaf, 0xab, 0x5b, 0xc6, 0x3a, 0xbe, 0xff, 0x2b, 0xdb, 0x7b, 0x7b, 0xc6, 0x3a, 0xbe, 0xeb, 0xbb, 0xaf, 0x0b,
- 0x7b, 0xc6, 0x3a, 0xbe, 0xfe, 0xaa, 0x0a, 0x00, 0x7b, 0xce, 0x5a, 0xbe, 0xff, 0xaa, 0xab, 0xaa, 0x7b, 0xce, 0x5a, 0xbe, 0xff, 0xaa, 0xaa, 0xaa, 0x7b, 0xce, 0x5a, 0xc6, 0x7d, 0xab, 0x32, 0x2a,
- 0x9b, 0xce, 0x5a, 0xc6, 0xfd, 0xef, 0xaa, 0xaa, 0x9b, 0xce, 0x7a, 0xc6, 0xff, 0xfb, 0xea, 0xae, 0x7a, 0xce, 0x9b, 0xc6, 0x2b, 0xaa, 0xab, 0xa2, 0x9b, 0xce, 0x7a, 0xc6, 0xaa, 0x02, 0x2a, 0x8a,
- 0x9b, 0xd6, 0x7a, 0xce, 0xbf, 0xbf, 0xfe, 0x7f, 0x9b, 0xce, 0x7a, 0xce, 0x00, 0x02, 0x02, 0xfa, 0xbb, 0xce, 0x7a, 0xce, 0xfb, 0xea, 0xff, 0xff, 0x9b, 0xd6, 0x9a, 0xc6, 0xaf, 0xea, 0xaa, 0xbe,
- 0x9b, 0xd6, 0x7a, 0xc6, 0xba, 0xeb, 0xaa, 0xff, 0x9b, 0xd6, 0x7b, 0xc6, 0xbe, 0xab, 0xaf, 0xfa, 0x9b, 0xce, 0x7a, 0xc6, 0xa2, 0x8a, 0xa0, 0xaa, 0x9b, 0xce, 0x7a, 0xce, 0xef, 0x80, 0xb0, 0xfd,
- 0x9b, 0xce, 0x7a, 0xc6, 0xaa, 0xbf, 0xae, 0xbe, 0x7a, 0xce, 0x9b, 0xc6, 0xbf, 0x22, 0xaa, 0xaa, 0x7b, 0xd6, 0x9a, 0xc6, 0xff, 0xfe, 0xaf, 0xef, 0x7a, 0xce, 0x9b, 0xc6, 0xaa, 0xbf, 0x2a, 0xaa,
- 0x9b, 0xce, 0x7a, 0xc6, 0xad, 0xea, 0xae, 0xaf, 0x9b, 0xce, 0x7a, 0xc6, 0xbf, 0xeb, 0xfe, 0xbb, 0x9b, 0xce, 0x7a, 0xc6, 0xff, 0xff, 0xff, 0xee, 0x7a, 0xce, 0x9b, 0xc6, 0x3a, 0xbf, 0xfa, 0xb0,
- 0x7b, 0xce, 0x7a, 0xc6, 0xba, 0xdf, 0xff, 0x2c, 0x7b, 0xce, 0x5a, 0xc6, 0xee, 0xab, 0xaa, 0x88, 0x7b, 0xce, 0x7a, 0xc6, 0x7d, 0xfe, 0xff, 0xea, 0x7b, 0xce, 0x5a, 0xc6, 0xae, 0xeb, 0xdf, 0xaa,
- 0x7b, 0xce, 0x5a, 0xbe, 0xaa, 0xae, 0xbe, 0xae, 0x7b, 0xc6, 0x5a, 0xc6, 0x88, 0x00, 0xff, 0x8a, 0x7b, 0xce, 0x5a, 0xbe, 0xba, 0xfe, 0xaa, 0xaa, 0x7b, 0xc6, 0x5a, 0xc6, 0x0a, 0x0a, 0x02, 0xae,
- 0x9b, 0xce, 0x7a, 0xc6, 0x75, 0x5d, 0xff, 0xd5, 0x7b, 0xce, 0x5a, 0xc6, 0xbe, 0xbf, 0xa8, 0xbb, 0x7b, 0xce, 0x5a, 0xc6, 0x8b, 0x8b, 0xaa, 0xbe, 0x7b, 0xce, 0x7a, 0xc6, 0xfe, 0xdf, 0xfb, 0x7b,
- 0x9b, 0xce, 0x5a, 0xc6, 0xab, 0xaf, 0xff, 0xff, 0x7b, 0xce, 0x5a, 0xc6, 0xaa, 0xca, 0xaa, 0xeb, 0x7a, 0xce, 0x9b, 0xc6, 0xbf, 0x02, 0xaa, 0xaa, 0x9b, 0xce, 0x5a, 0xc6, 0xaa, 0xab, 0xba, 0xaf,
- 0x9b, 0xce, 0x7a, 0xc6, 0xfb, 0xff, 0xbb, 0xfa, 0x9b, 0xce, 0x7a, 0xc6, 0xff, 0xef, 0xff, 0xa7, 0x7a, 0xce, 0x9b, 0xc6, 0xbe, 0x22, 0xaa, 0xaa, 0x9b, 0xce, 0x7a, 0xc6, 0xea, 0xaf, 0x2f, 0xcb,
- 0x7a, 0xce, 0xbb, 0xc6, 0xba, 0xea, 0xaa, 0xaa, 0x9b, 0xce, 0x7a, 0xc6, 0xba, 0xff, 0xea, 0xfa, 0x9c, 0xd6, 0x7a, 0xc6, 0xff, 0xff, 0xfe, 0xfb, 0x9b, 0xce, 0x7a, 0xc6, 0xae, 0xaa, 0x2a, 0xae,
- 0x9b, 0xce, 0x7a, 0xc6, 0xa8, 0xaa, 0xaa, 0xae, 0x9b, 0xd6, 0x7b, 0xc6, 0xff, 0xef, 0xef, 0xbf, 0x9b, 0xce, 0x7a, 0xce, 0xa8, 0x83, 0xa8, 0x00, 0x9c, 0xce, 0x7a, 0xc6, 0x0a, 0x22, 0x80, 0xa0,
- 0x9c, 0xd6, 0x7a, 0xc6, 0xba, 0xbf, 0xaa, 0xbb, 0xbb, 0xd6, 0x7b, 0xce, 0xbf, 0xff, 0xff, 0xbf, 0xbc, 0xd6, 0x9a, 0xce, 0xdd, 0xd5, 0xff, 0x6f, 0xbb, 0xd6, 0x9b, 0xce, 0x7d, 0x5d, 0xb5, 0xdd,
- 0xbc, 0xd6, 0x9b, 0xce, 0xdd, 0x79, 0x5d, 0xdd, 0xbb, 0xd6, 0x9b, 0xce, 0xdd, 0xff, 0xdd, 0xdd, 0xbc, 0xd6, 0x9b, 0xce, 0xff, 0xff, 0xff, 0xe5, 0xbb, 0xd6, 0x9b, 0xce, 0xea, 0xab, 0xf5, 0x7d,
- 0xbb, 0xd6, 0x9b, 0xce, 0xeb, 0xff, 0xfb, 0xad, 0x9a, 0xd6, 0xbc, 0xce, 0xaa, 0xef, 0xff, 0xaa, 0xbc, 0xd6, 0x9b, 0xce, 0xeb, 0xab, 0xab, 0xeb, 0x9b, 0xd6, 0xbc, 0xce, 0xf5, 0xfa, 0xbf, 0xaa,
- 0xbc, 0xd6, 0x9b, 0xce, 0xfa, 0xbf, 0xaf, 0xaa, 0xbb, 0xd6, 0x9b, 0xce, 0xaa, 0xae, 0xaa, 0xa2, 0xbc, 0xd6, 0x9b, 0xce, 0xeb, 0xaf, 0xa8, 0xaa, 0xbc, 0xde, 0x9a, 0xce, 0xff, 0xbf, 0xbf, 0xbe,
- 0xdc, 0xd6, 0xbb, 0xce, 0xff, 0xff, 0xbf, 0xae, 0xdc, 0xd6, 0xbb, 0xd6, 0x75, 0x5d, 0x7d, 0x5e, 0xdc, 0xd6, 0xbb, 0xd6, 0x56, 0x57, 0xbd, 0xad, 0xdc, 0xd6, 0xbb, 0xd6, 0x75, 0xad, 0xbf, 0xbb,
- 0xdc, 0xde, 0xbb, 0xce, 0xaf, 0xab, 0xea, 0xae, 0xdc, 0xd6, 0xbb, 0xd6, 0xb9, 0xb6, 0xa8, 0xaa, 0xdc, 0xd6, 0xbb, 0xd6, 0xaf, 0xab, 0xef, 0xa2, 0xdc, 0xde, 0xbb, 0xd6, 0xf7, 0xff, 0xaf, 0xef,
- 0xf9, 0xbd, 0x3a, 0xb6, 0xa8, 0x28, 0xeb, 0xaf, 0xf9, 0xbd, 0x1a, 0xb6, 0x7f, 0xee, 0xef, 0xa9, 0x1a, 0xbe, 0xf9, 0xb5, 0xbc, 0xbe, 0xaf, 0xfc, 0x1a, 0xbe, 0xf9, 0xb5, 0xb2, 0xb8, 0xe9, 0xfa,
- 0x3a, 0xbe, 0xf9, 0xb5, 0xbe, 0xfb, 0xff, 0x77, 0x1a, 0xbe, 0xf9, 0xb5, 0x22, 0xb8, 0xf4, 0xf7, 0x3a, 0xbe, 0xf9, 0xb5, 0xab, 0xfe, 0xdd, 0x75, 0x1a, 0xbe, 0xf9, 0xb5, 0xec, 0xaa, 0xab, 0x77,
- 0x1a, 0xbe, 0xd9, 0xb5, 0x22, 0xa8, 0xab, 0x7e, 0x1a, 0xbe, 0xd9, 0xb5, 0xaa, 0x0a, 0xa2, 0xfe, 0x1a, 0xbe, 0xd9, 0xad, 0xaa, 0xaa, 0xfa, 0xfd, 0x1a, 0xbe, 0xd9, 0xad, 0xaa, 0xaa, 0xff, 0x7d,
- 0x19, 0xb6, 0xda, 0xad, 0x8e, 0xea, 0xff, 0xfb, 0x1a, 0xb6, 0xd9, 0xad, 0x2a, 0xaa, 0xba, 0xff, 0x1a, 0xb6, 0xd9, 0xb5, 0xca, 0x7e, 0xef, 0xbf, 0x1a, 0xbe, 0xd9, 0xad, 0xaf, 0xab, 0xaa, 0xba,
- 0x1a, 0xbe, 0xf9, 0xad, 0xbb, 0xec, 0xbe, 0xff, 0x1a, 0xbe, 0xf9, 0xb5, 0xab, 0xb9, 0x8f, 0x8f, 0x19, 0xbe, 0x3a, 0xb6, 0x2f, 0x83, 0x00, 0xaf, 0x3a, 0xbe, 0x19, 0xb6, 0xea, 0xaa, 0xaa, 0xea,
- 0x3b, 0xbe, 0xf9, 0xb5, 0x0f, 0x82, 0x8a, 0x88, 0x3a, 0xbe, 0x1a, 0xbe, 0xce, 0x48, 0x02, 0x27, 0x5b, 0xc6, 0x19, 0xb6, 0xaa, 0xff, 0xfd, 0xbd, 0x5b, 0xc6, 0x1a, 0xbe, 0xbf, 0xf5, 0xfe, 0x7c,
- 0x5b, 0xc6, 0x19, 0xbe, 0xfc, 0xea, 0xdf, 0x55, 0x5a, 0xbe, 0xfa, 0xb5, 0x80, 0xaa, 0xaa, 0xff, 0x5b, 0xc6, 0x19, 0xb6, 0x0a, 0xaf, 0xf7, 0xdd, 0x3b, 0xc6, 0xf9, 0xb5, 0x00, 0xaa, 0xfe, 0x7f,
- 0x5b, 0xc6, 0x1a, 0xb6, 0xea, 0xfe, 0xf5, 0x7d, 0x3b, 0xbe, 0x1a, 0xb6, 0x02, 0x0a, 0xb2, 0xff, 0x3b, 0xbe, 0x1a, 0xb6, 0xea, 0x2e, 0xaa, 0xd5, 0x3b, 0xbe, 0xf9, 0xb5, 0x0a, 0x88, 0xb9, 0xfe,
- 0x3b, 0xbe, 0x19, 0xb6, 0x8c, 0xeb, 0xbe, 0x7d, 0x3a, 0xbe, 0xfa, 0xb5, 0xa2, 0xaa, 0x8b, 0xdf, 0x1b, 0xbe, 0xfa, 0xb5, 0xa0, 0xa0, 0xba, 0x5a, 0x3b, 0xbe, 0xf9, 0xb5, 0xba, 0xfe, 0xbb, 0xbb,
- 0x3b, 0xbe, 0xfa, 0xb5, 0xaa, 0xff, 0xef, 0xb8, 0x1a, 0xbe, 0x19, 0xb6, 0xf0, 0x00, 0xaa, 0xf0, 0x3a, 0xbe, 0x19, 0xb6, 0x6e, 0xbb, 0xae, 0x2f, 0x3b, 0xbe, 0x19, 0xb6, 0xaf, 0xa9, 0xfa, 0xab,
- 0x3b, 0xbe, 0x1a, 0xb6, 0xbf, 0xab, 0xe2, 0xee, 0x1b, 0xbe, 0x39, 0xb6, 0xb6, 0xaa, 0x20, 0x8b, 0x3b, 0xbe, 0x1a, 0xb6, 0x0a, 0x08, 0x08, 0x3e, 0x3b, 0xbe, 0x1a, 0xb6, 0x00, 0x00, 0x02, 0xb8,
- 0x5b, 0xc6, 0x19, 0xb6, 0xaa, 0xaa, 0xff, 0xff, 0x5b, 0xc6, 0x1a, 0xb6, 0xba, 0xfe, 0xbf, 0xb7, 0x3b, 0xc6, 0x19, 0xb6, 0xee, 0xeb, 0xaf, 0xaa, 0x5b, 0xc6, 0x1a, 0xbe, 0x5f, 0x57, 0xfe, 0x2a,
- 0x5b, 0xc6, 0x1a, 0xbe, 0xe5, 0xff, 0xaf, 0x00, 0x7b, 0xc6, 0x3a, 0xbe, 0xf5, 0xaf, 0x2a, 0x02, 0x7b, 0xc6, 0x5a, 0xbe, 0xb5, 0x02, 0x00, 0x00, 0x5b, 0xce, 0x7a, 0xc6, 0xb5, 0xae, 0xd7, 0xff,
- 0x7b, 0xce, 0x7a, 0xc6, 0xea, 0x7f, 0xaa, 0xbc, 0x9b, 0xce, 0x7a, 0xc6, 0x7f, 0x5f, 0xff, 0xeb, 0x7b, 0xce, 0x7a, 0xc6, 0xf9, 0xba, 0x2b, 0xff, 0x9b, 0xce, 0x5a, 0xce, 0xea, 0xea, 0xaf, 0xae,
- 0x7b, 0xce, 0x9a, 0xc6, 0xaa, 0xaa, 0xeb, 0x20, 0x9b, 0xce, 0x7a, 0xc6, 0xbe, 0xff, 0xaa, 0xbb, 0x9b, 0xce, 0x7a, 0xc6, 0xaf, 0xaa, 0xea, 0xaa, 0x9b, 0xd6, 0x7a, 0xc6, 0xbf, 0xef, 0xfb, 0xbf,
- 0x9b, 0xce, 0x7a, 0xc6, 0xa8, 0xaa, 0xaa, 0xaa, 0x9b, 0xce, 0x7a, 0xce, 0x3e, 0x8f, 0xc2, 0xaf, 0x9b, 0xce, 0x7a, 0xc6, 0xaa, 0xaa, 0xa8, 0xa2, 0x9b, 0xce, 0x7a, 0xc6, 0xa8, 0xaa, 0xaa, 0xf2,
- 0x9b, 0xce, 0x7a, 0xc6, 0xaa, 0xaa, 0xaa, 0xaa, 0x9b, 0xce, 0x7a, 0xc6, 0xfa, 0xaa, 0xba, 0xea, 0x9b, 0xce, 0x7a, 0xc6, 0xab, 0xaa, 0xba, 0x8b, 0x7a, 0xce, 0x9b, 0xc6, 0x82, 0xaa, 0xe0, 0xbe,
- 0x9b, 0xce, 0x7a, 0xc6, 0xae, 0xaa, 0xaa, 0xbe, 0x9b, 0xce, 0x7a, 0xc6, 0xea, 0xaa, 0xee, 0xba, 0x9b, 0xce, 0x7a, 0xc6, 0xfb, 0xbe, 0xaa, 0xf7, 0x7b, 0xce, 0x7a, 0xc6, 0xaa, 0xa8, 0xbe, 0xfe,
- 0x7a, 0xce, 0x9b, 0xc6, 0x8a, 0x0e, 0x08, 0x2a, 0x9b, 0xce, 0x7a, 0xc6, 0xea, 0xdb, 0xff, 0xff, 0x9b, 0xce, 0x7a, 0xc6, 0xe6, 0xff, 0xff, 0xdf, 0x9b, 0xce, 0x5a, 0xc6, 0xba, 0xaf, 0xbf, 0xaf,
- 0x9b, 0xce, 0x7a, 0xc6, 0xfa, 0xff, 0xf7, 0x55, 0x9b, 0xce, 0x7a, 0xc6, 0xff, 0xfe, 0x5f, 0xfd, 0x9b, 0xce, 0x5a, 0xc6, 0xab, 0xfa, 0xfa, 0xff, 0x9b, 0xce, 0x5a, 0xc6, 0xfe, 0xff, 0xfe, 0xff,
- 0x7b, 0xc6, 0x5a, 0xc6, 0xef, 0xa8, 0x03, 0x20, 0x7b, 0xce, 0x5a, 0xc6, 0x7b, 0xff, 0xfa, 0x6b, 0x7a, 0xce, 0x5b, 0xc6, 0xfb, 0xbf, 0xf7, 0x7b, 0x7b, 0xce, 0x5a, 0xc6, 0xea, 0xff, 0xee, 0xff,
- 0x7b, 0xce, 0x5a, 0xc6, 0xae, 0x7e, 0xff, 0xfb, 0x7b, 0xce, 0x5a, 0xbe, 0xaa, 0xae, 0xbf, 0xfa, 0x7b, 0xce, 0x5a, 0xc6, 0xef, 0xbe, 0xfa, 0xdf, 0x7b, 0xce, 0x5a, 0xc6, 0xbf, 0xab, 0xbf, 0xab,
- 0x9b, 0xc6, 0x5a, 0xbe, 0xfa, 0xaa, 0xaa, 0xfb, 0x7b, 0xce, 0x5a, 0xc6, 0xab, 0xab, 0xae, 0xba, 0x9b, 0xce, 0x5a, 0xc6, 0xff, 0xfa, 0xfb, 0xff, 0x9b, 0xce, 0x7a, 0xc6, 0xff, 0xff, 0xdf, 0xfd,
- 0x7a, 0xce, 0x9b, 0xc6, 0xab, 0xf8, 0xa2, 0xa2, 0x7b, 0xce, 0x9a, 0xc6, 0xa0, 0x23, 0xf8, 0x3e, 0x7a, 0xce, 0x9b, 0xc6, 0xeb, 0xaa, 0xab, 0xfe, 0x7a, 0xce, 0x9b, 0xc6, 0xaa, 0xbb, 0xaa, 0xab,
- 0x9b, 0xce, 0x7b, 0xc6, 0x3a, 0xea, 0xef, 0xff, 0x9b, 0xce, 0x7a, 0xc6, 0xaa, 0xaf, 0xfe, 0xeb, 0x9b, 0xce, 0x7a, 0xc6, 0x8a, 0xbb, 0xbb, 0xae, 0x9b, 0xce, 0x7a, 0xc6, 0x8a, 0xaa, 0xaa, 0xf8,
- 0x7b, 0xce, 0x9a, 0xc6, 0xee, 0xae, 0xaa, 0xaa, 0x9b, 0xce, 0x7a, 0xc6, 0x8a, 0x2a, 0xaa, 0xa8, 0x9b, 0xce, 0x7a, 0xce, 0x3c, 0x3f, 0x30, 0x02, 0xbb, 0xce, 0x7a, 0xce, 0xab, 0xfe, 0xff, 0xaf,
- 0xbc, 0xd6, 0x7a, 0xce, 0xff, 0xff, 0xff, 0xee, 0xbb, 0xd6, 0x9b, 0xce, 0xed, 0x55, 0x55, 0x5d, 0xbc, 0xd6, 0x7a, 0xce, 0xee, 0xae, 0xff, 0xff, 0xbb, 0xd6, 0x7b, 0xce, 0xae, 0xea, 0xeb, 0xff,
- 0x9b, 0xd6, 0x7b, 0xce, 0xee, 0xba, 0xbb, 0xff, 0xbb, 0xd6, 0x7b, 0xce, 0xff, 0xff, 0xef, 0xbf, 0x9b, 0xd6, 0xbb, 0xce, 0x80, 0xaa, 0xaa, 0xbe, 0xbb, 0xd6, 0x9a, 0xce, 0xff, 0xbf, 0xbf, 0xbf,
- 0x9b, 0xd6, 0xbb, 0xce, 0xff, 0xff, 0xff, 0xaa, 0x9b, 0xd6, 0xbb, 0xce, 0xeb, 0xaa, 0xef, 0xeb, 0x9a, 0xd6, 0xbb, 0xce, 0xbf, 0xff, 0xbf, 0xbf, 0xbc, 0xd6, 0x9b, 0xce, 0xea, 0xff, 0xba, 0xaa,
- 0xbc, 0xd6, 0x9b, 0xce, 0xaa, 0xab, 0xaa, 0xab, 0xdc, 0xde, 0x9b, 0xce, 0xff, 0xff, 0xff, 0xef, 0xdc, 0xd6, 0x9b, 0xce, 0xfe, 0xab, 0xaa, 0xeb, 0xdc, 0xd6, 0xbb, 0xd6, 0x7e, 0xd5, 0xf5, 0x95,
- 0xdb, 0xd6, 0xbc, 0xd6, 0xfe, 0xff, 0xd7, 0x6b, 0xdc, 0xde, 0xbb, 0xce, 0xbf, 0xaa, 0xbf, 0xaa, 0xdc, 0xde, 0xbb, 0xd6, 0xfd, 0xff, 0xfb, 0xc9, 0xdc, 0xde, 0xbb, 0xd6, 0xe9, 0xef, 0xbf, 0xab,
- 0xdc, 0xde, 0xbb, 0xd6, 0xbd, 0xaf, 0xaf, 0xaf, 0xfc, 0xde, 0xbb, 0xd6, 0xff, 0xbf, 0xbf, 0xef, 0xdc, 0xde, 0xbb, 0xd6, 0xab, 0xfa, 0xba, 0xbe, 0xfc, 0xde, 0xbb, 0xd6, 0xfe, 0xeb, 0xff, 0x7e,
- 0x1a, 0xbe, 0xd9, 0xad, 0xfa, 0xff, 0xdf, 0x7f, 0x1a, 0xb6, 0xd9, 0xad, 0x82, 0xfb, 0xfd, 0x57, 0x1a, 0xb6, 0xd9, 0xad, 0xff, 0xe3, 0xff, 0x7e, 0xfa, 0xbd, 0xd9, 0xad, 0xaa, 0xbe, 0xff, 0xff,
- 0xfa, 0xb5, 0xd9, 0xb5, 0xe0, 0xf2, 0xcb, 0xcf, 0xf9, 0xbd, 0xda, 0xad, 0xba, 0xfe, 0xfe, 0xff, 0xfa, 0xb5, 0xd9, 0xad, 0x0a, 0xc2, 0xa8, 0xae, 0xfa, 0xb5, 0xd9, 0xad, 0x80, 0xa2, 0xfb, 0xbe,
- 0xfa, 0xb5, 0xb9, 0xad, 0x82, 0xa2, 0xa8, 0xaf, 0xda, 0xb5, 0xd9, 0xad, 0xa0, 0xed, 0xfb, 0x55, 0xb9, 0xb5, 0xfa, 0xad, 0xff, 0xaa, 0xaa, 0xfe, 0xfa, 0xb5, 0xd9, 0xad, 0xa2, 0xfa, 0xff, 0x7f,
- 0xda, 0xb5, 0xf9, 0xad, 0x80, 0xb0, 0xb2, 0x20, 0xfa, 0xbd, 0xb9, 0xad, 0xeb, 0xab, 0x8b, 0x2a, 0xfa, 0xb5, 0xd9, 0xad, 0x0e, 0x02, 0x08, 0x00, 0x1a, 0xbe, 0xd9, 0xb5, 0xeb, 0xfd, 0xaf, 0xaa,
- 0x1a, 0xbe, 0xd9, 0xb5, 0xfd, 0x2a, 0x2a, 0x02, 0x3b, 0xbe, 0x19, 0xb6, 0xd5, 0xff, 0xbf, 0x23, 0x3b, 0xbe, 0x19, 0xb6, 0xfe, 0xee, 0xba, 0x83, 0x3b, 0xbe, 0xf9, 0xb5, 0x2a, 0xab, 0xaf, 0x28,
- 0x3b, 0xbe, 0x19, 0xbe, 0xb7, 0xbb, 0x3b, 0xaf, 0x3a, 0xc6, 0x1a, 0xb6, 0xab, 0xae, 0xeb, 0xff, 0x3a, 0xbe, 0xf9, 0xb5, 0x0a, 0x2a, 0x88, 0x6b, 0x3b, 0xbe, 0xf9, 0xb5, 0x88, 0xfa, 0xfe, 0x7f,
- 0x1a, 0xbe, 0xf9, 0xb5, 0xa8, 0xfa, 0xaf, 0xf5, 0x1a, 0xbe, 0xf9, 0xb5, 0xaa, 0xee, 0xfa, 0xf7, 0x1a, 0xbe, 0xf9, 0xb5, 0xbf, 0xaa, 0xb2, 0x8b, 0xf9, 0xbd, 0x1a, 0xb6, 0x5f, 0xd7, 0xab, 0x8d,
- 0x1a, 0xbe, 0xf9, 0xb5, 0xa2, 0xfe, 0xec, 0xfd, 0x1a, 0xbe, 0xfa, 0xb5, 0xaa, 0x6e, 0xaa, 0xf8, 0x1a, 0xbe, 0xf9, 0xb5, 0xba, 0xa7, 0xfb, 0x7b, 0x1a, 0xbe, 0xf9, 0xb5, 0xbe, 0xfe, 0xd7, 0x55,
- 0x1b, 0xbe, 0xda, 0xb5, 0xaa, 0xaa, 0xae, 0xba, 0x1b, 0xbe, 0xf9, 0xad, 0xef, 0xeb, 0xaa, 0xae, 0x1a, 0xbe, 0xfa, 0xb5, 0x5b, 0xad, 0x2f, 0xba, 0x1b, 0xbe, 0xf9, 0xb5, 0x2e, 0x3f, 0x2a, 0xa2,
- 0x3b, 0xc6, 0x1a, 0xb6, 0xff, 0xef, 0xff, 0xff, 0x1b, 0xbe, 0xf9, 0xb5, 0x28, 0x8b, 0xaa, 0x00, 0x1b, 0xbe, 0xf9, 0xb5, 0xaa, 0xa8, 0xa8, 0x08, 0xfa, 0xbd, 0x3a, 0xb6, 0xa2, 0xbf, 0xfd, 0xfa,
- 0x3b, 0xbe, 0xf9, 0xb5, 0xaa, 0xfa, 0xaa, 0x82, 0x3b, 0xbe, 0x19, 0xb6, 0xfa, 0xbf, 0xb7, 0x8a, 0x3b, 0xc6, 0x19, 0xb6, 0xff, 0xfb, 0xba, 0xaa, 0x5b, 0xc6, 0x1a, 0xbe, 0x7d, 0xdd, 0xab, 0x00,
- 0x7b, 0xc6, 0x3a, 0xbe, 0x55, 0xf7, 0xba, 0x2a, 0x7b, 0xc6, 0x3a, 0xbe, 0xd5, 0xfb, 0xaf, 0x20, 0x7b, 0xc6, 0x3a, 0xbe, 0xf7, 0x8f, 0x0a, 0x00, 0x7b, 0xce, 0x5a, 0xc6, 0x5d, 0xfd, 0xab, 0xaa,
- 0x7b, 0xce, 0x5a, 0xc6, 0x5d, 0xba, 0xaa, 0x0a, 0x9b, 0xce, 0x5a, 0xc6, 0xff, 0xaf, 0xab, 0xab, 0x5b, 0xce, 0x9a, 0xc6, 0xaa, 0xea, 0xfe, 0xab, 0x9b, 0xce, 0x5a, 0xc6, 0xff, 0xee, 0xff, 0xaf,
- 0x5b, 0xce, 0x9a, 0xc6, 0xfb, 0xea, 0xbf, 0xfe, 0x9b, 0xce, 0x7a, 0xc6, 0xfb, 0xfb, 0xff, 0xff, 0x7b, 0xce, 0x9a, 0xc6, 0x22, 0x0a, 0xaa, 0xab, 0x9b, 0xce, 0x7a, 0xc6, 0xea, 0x6b, 0xff, 0xff,
- 0x7a, 0xce, 0x9b, 0xc6, 0x0a, 0xba, 0x0a, 0xeb, 0x9b, 0xce, 0x7a, 0xc6, 0xaa, 0xfe, 0xbb, 0xaa, 0x9b, 0xce, 0x7a, 0xc6, 0xea, 0xab, 0xfe, 0xba, 0x9b, 0xce, 0x7a, 0xc6, 0xaa, 0xaa, 0xba, 0xea,
- 0x7b, 0xd6, 0x9a, 0xc6, 0xbf, 0xbf, 0xfe, 0xfb, 0x9a, 0xce, 0x7b, 0xce, 0x8b, 0xad, 0x2a, 0xb6, 0x7b, 0xd6, 0x9a, 0xc6, 0xfa, 0xff, 0xff, 0xff, 0x9b, 0xce, 0x7a, 0xce, 0x0f, 0xa0, 0xe0, 0x8a,
- 0x9b, 0xce, 0x7a, 0xc6, 0xaa, 0xea, 0xae, 0xae, 0x7a, 0xce, 0x9b, 0xc6, 0xaa, 0x9e, 0xea, 0x2e, 0x7b, 0xce, 0x9a, 0xc6, 0xaf, 0x82, 0xab, 0xf8, 0x9b, 0xce, 0x7a, 0xc6, 0xbe, 0xfe, 0xff, 0xdf,
- 0x9b, 0xce, 0x5a, 0xc6, 0xaa, 0xaa, 0xaa, 0xbe, 0x9b, 0xce, 0x5a, 0xc6, 0xaa, 0xea, 0xeb, 0xfe, 0x7b, 0xce, 0x5a, 0xc6, 0x2a, 0xab, 0xee, 0xfb, 0x5a, 0xce, 0x7b, 0xc6, 0x5f, 0x77, 0xe5, 0x5f,
- 0x7b, 0xce, 0x5a, 0xc6, 0xba, 0xaf, 0xfe, 0xfe, 0x7b, 0xce, 0x7a, 0xc6, 0xbf, 0x7f, 0x5b, 0xf5, 0x7b, 0xc6, 0x3a, 0xc6, 0xaa, 0xea, 0x88, 0xea, 0x7b, 0xce, 0x5a, 0xbe, 0xaa, 0xaf, 0xbb, 0xab,
- 0x7b, 0xce, 0x5a, 0xc6, 0xae, 0xfb, 0xff, 0x7f, 0x7b, 0xce, 0x5a, 0xbe, 0xaa, 0xfa, 0xeb, 0xfe, 0x7b, 0xc6, 0x5a, 0xbe, 0x82, 0xa8, 0xaa, 0x2a, 0x7b, 0xce, 0x5a, 0xc6, 0xff, 0xff, 0xed, 0xdd,
- 0x7b, 0xc6, 0x5a, 0xc6, 0xb0, 0xc0, 0x0e, 0xa8, 0x7b, 0xc6, 0x5a, 0xc6, 0xa3, 0x3f, 0xef, 0xf3, 0x7b, 0xc6, 0x5a, 0xbe, 0x80, 0xa6, 0x8a, 0xbe, 0x7b, 0xce, 0x5a, 0xbe, 0xaa, 0xff, 0xff, 0xff,
- 0x7b, 0xc6, 0x5a, 0xbe, 0x03, 0x8a, 0x02, 0x82, 0x7b, 0xc6, 0x5a, 0xbe, 0xaa, 0x0a, 0x8a, 0x2a, 0x7b, 0xc6, 0x5a, 0xc6, 0x8c, 0x88, 0x2b, 0xb2, 0x9b, 0xce, 0x5a, 0xbe, 0xfe, 0xff, 0xfe, 0xfa,
- 0x7b, 0xc6, 0x5a, 0xc6, 0x20, 0xea, 0xa8, 0x82, 0x7b, 0xce, 0x5a, 0xc6, 0xef, 0xfa, 0xae, 0xbe, 0x9b, 0xce, 0x5a, 0xc6, 0xef, 0xff, 0xff, 0xff, 0x7b, 0xce, 0x7a, 0xc6, 0xbd, 0xaf, 0xab, 0xff,
- 0x7a, 0xce, 0x9b, 0xc6, 0xaa, 0xae, 0x08, 0xfe, 0x7a, 0xce, 0x9b, 0xc6, 0xaa, 0xbf, 0xbc, 0xea, 0x7a, 0xce, 0x9b, 0xc6, 0xaf, 0xaf, 0xa0, 0xeb, 0x7a, 0xce, 0x9b, 0xc6, 0xbf, 0xaa, 0xbf, 0xfe,
- 0x5a, 0xce, 0x9b, 0xc6, 0xff, 0xff, 0xfb, 0xbf, 0x7a, 0xce, 0x9b, 0xc6, 0xea, 0xaa, 0xeb, 0xa0, 0x9b, 0xce, 0x7a, 0xc6, 0xaf, 0xef, 0xeb, 0xbf, 0x9b, 0xce, 0x7a, 0xc6, 0x8b, 0xfe, 0xfe, 0xee,
- 0x9b, 0xce, 0x7a, 0xc6, 0xaa, 0xaa, 0xaa, 0xa8, 0x7b, 0xd6, 0x9a, 0xc6, 0xbe, 0xaf, 0xff, 0xfa, 0x7c, 0xd6, 0x9a, 0xc6, 0xfe, 0xbe, 0xaa, 0xff, 0x9b, 0xce, 0x7b, 0xce, 0x80, 0x0a, 0x0c, 0xfe,
- 0x9b, 0xce, 0x7a, 0xc6, 0x80, 0x02, 0xa2, 0x82, 0x9b, 0xd6, 0x7b, 0xc6, 0xea, 0xeb, 0xaa, 0xbe, 0xbc, 0xce, 0x9a, 0xce, 0x57, 0x75, 0xe5, 0x55, 0x9b, 0xce, 0x7a, 0xce, 0x0b, 0x02, 0x0a, 0x0a,
- 0xbb, 0xd6, 0x7b, 0xce, 0xff, 0xff, 0xef, 0xfb, 0x7b, 0xd6, 0xbb, 0xce, 0xff, 0xaf, 0xaf, 0xff, 0xbb, 0xd6, 0x9b, 0xce, 0xdd, 0xfd, 0xfd, 0xfd, 0xbb, 0xd6, 0x9b, 0xce, 0xbb, 0xff, 0xbb, 0xfd,
- 0x9b, 0xd6, 0xbc, 0xce, 0xe3, 0xbe, 0xab, 0xe2, 0xbb, 0xd6, 0x9a, 0xce, 0xaa, 0xaa, 0xaf, 0xaa, 0xbb, 0xd6, 0x9b, 0xce, 0xea, 0xab, 0xaa, 0xab, 0xbb, 0xd6, 0x9b, 0xce, 0x2a, 0xe2, 0xaa, 0xaa,
- 0xbc, 0xd6, 0x9b, 0xd6, 0x2b, 0x8a, 0xaa, 0xaa, 0xdc, 0xde, 0x9b, 0xce, 0xef, 0xfb, 0xaa, 0xbf, 0xdc, 0xd6, 0x9b, 0xd6, 0xfe, 0xab, 0xaa, 0xaf, 0xdc, 0xd6, 0xbb, 0xd6, 0x95, 0x9d, 0xe5, 0xed,
- 0xdc, 0xde, 0xbb, 0xd6, 0xd7, 0xff, 0xef, 0xfe, 0xdc, 0xde, 0xbb, 0xd6, 0x7f, 0xf5, 0xef, 0xbe, 0xfc, 0xde, 0xbb, 0xd6, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xde, 0xbb, 0xd6, 0xfb, 0xbf, 0xff, 0xff,
- 0xdc, 0xde, 0xdb, 0xd6, 0xbd, 0x57, 0xd9, 0xaf, 0xfc, 0xde, 0xbb, 0xd6, 0xbb, 0xff, 0xef, 0xff, 0xfc, 0xde, 0xbb, 0xd6, 0xbf, 0xff, 0xeb, 0xbf, 0xdc, 0xde, 0xbb, 0xd6, 0xee, 0xef, 0xff, 0xff,
- 0xb9, 0xb5, 0xda, 0xad, 0xaa, 0x5a, 0x7f, 0x7f, 0xda, 0xb5, 0xd9, 0xad, 0x68, 0xfd, 0xff, 0xf7, 0xd9, 0xb5, 0xd9, 0xad, 0xae, 0xb2, 0x2b, 0x3d, 0xb9, 0xb5, 0xfa, 0xad, 0xe9, 0xfd, 0xaa, 0xff,
- 0xda, 0xb5, 0xd9, 0xad, 0xe8, 0xfa, 0xfd, 0xc2, 0xb9, 0xb5, 0x1a, 0xae, 0xaa, 0xaa, 0x5f, 0xeb, 0xda, 0xb5, 0xf9, 0xad, 0x02, 0xb8, 0xff, 0xb9, 0xf9, 0xb5, 0xba, 0xad, 0xfa, 0xa8, 0xaa, 0xba,
- 0xf9, 0xb5, 0xba, 0xad, 0xaf, 0xba, 0x22, 0xee, 0xd9, 0xb5, 0xfa, 0xad, 0xab, 0xeb, 0xff, 0xea, 0xfa, 0xb5, 0xb9, 0xad, 0xac, 0xaa, 0x28, 0x0a, 0xda, 0xb5, 0xf9, 0xad, 0xaf, 0xaa, 0x3d, 0x8f,
- 0xf9, 0xb5, 0xda, 0xad, 0x2f, 0xba, 0xaa, 0x0a, 0x1a, 0xbe, 0xd9, 0xb5, 0xd7, 0xef, 0xef, 0x0a, 0x1a, 0xbe, 0xd9, 0xb5, 0xff, 0xff, 0x2a, 0x82, 0x3a, 0xbe, 0xd9, 0xb5, 0xfb, 0xff, 0xae, 0x8a,
- 0x1a, 0xbe, 0x19, 0xb6, 0xeb, 0x7a, 0x97, 0xb9, 0x19, 0xbe, 0x3a, 0xb6, 0x80, 0x2b, 0xbf, 0xea, 0x19, 0xbe, 0x3b, 0xb6, 0xbd, 0x02, 0xa2, 0x02, 0x5a, 0xbe, 0xfa, 0xb5, 0x8a, 0xaa, 0xfe, 0xd5,
- 0x3b, 0xbe, 0xf9, 0xb5, 0xba, 0xe2, 0xee, 0xdf, 0x3b, 0xbe, 0xf9, 0xb5, 0xfe, 0xf7, 0xfb, 0xf7, 0x1a, 0xbe, 0xf9, 0xb5, 0xde, 0xff, 0xdb, 0xef, 0x1a, 0xbe, 0xd9, 0xad, 0xba, 0xfa, 0xea, 0xee,
- 0xfa, 0xb5, 0xd9, 0xad, 0xb3, 0xb8, 0xaf, 0xbc, 0x1a, 0xb6, 0xda, 0xb5, 0xbe, 0xdf, 0xbf, 0xf8, 0x1b, 0xbe, 0xf9, 0xb5, 0x8b, 0xa5, 0x55, 0xd5, 0xd9, 0xbd, 0x1a, 0xb6, 0x9b, 0x5d, 0x7d, 0xff,
- 0xf9, 0xbd, 0x1a, 0xb6, 0xa8, 0xef, 0x7a, 0x55, 0x1a, 0xbe, 0xf9, 0xb5, 0x7e, 0xee, 0xff, 0x77, 0x19, 0xbe, 0xda, 0xad, 0xff, 0xfa, 0xfa, 0xab, 0x3a, 0xbe, 0xf9, 0xad, 0xff, 0xff, 0xbf, 0x2f,
- 0x3a, 0xbe, 0xd9, 0xb5, 0xfd, 0xaa, 0xea, 0xa2, 0x1b, 0xbe, 0xf9, 0xb5, 0xbb, 0xee, 0x8a, 0x88, 0x3a, 0xbe, 0xfa, 0xb5, 0xbf, 0xbe, 0xee, 0xab, 0x3b, 0xbe, 0x19, 0xb6, 0xfa, 0xf6, 0xeb, 0xea,
- 0x3a, 0xbe, 0x19, 0xb6, 0xeb, 0x3d, 0xeb, 0xaf, 0x1a, 0xbe, 0x3b, 0xb6, 0x22, 0x82, 0x00, 0xaf, 0x3a, 0xbe, 0x1a, 0xb6, 0xfd, 0xae, 0xb2, 0x2f, 0x5b, 0xc6, 0x1a, 0xb6, 0xbf, 0xff, 0xff, 0xfb,
- 0x7b, 0xc6, 0x1a, 0xb6, 0xb7, 0xff, 0xbf, 0x29, 0x7b, 0xc6, 0x39, 0xbe, 0x55, 0xf5, 0xfe, 0x02, 0x7b, 0xc6, 0x3a, 0xbe, 0xbd, 0xab, 0x2a, 0x00, 0x9b, 0xce, 0x5a, 0xc6, 0x55, 0x7f, 0xeb, 0x8b,
- 0x9a, 0xce, 0x5b, 0xc6, 0xd5, 0xff, 0xaa, 0x2a, 0x9b, 0xce, 0x5a, 0xc6, 0xff, 0xab, 0xaa, 0x00, 0x9a, 0xce, 0x7b, 0xc6, 0xf7, 0xef, 0xbb, 0xaa, 0x7a, 0xce, 0x9b, 0xc6, 0x00, 0xab, 0xfa, 0xfb,
- 0x7a, 0xce, 0x9b, 0xc6, 0x0a, 0xab, 0xaf, 0xaa, 0x5a, 0xce, 0x7b, 0xc6, 0xbe, 0xff, 0xbd, 0xd7, 0x5b, 0xce, 0x9a, 0xc6, 0xaa, 0xee, 0xbe, 0xbe, 0x9b, 0xce, 0x5a, 0xc6, 0xaa, 0xaa, 0xae, 0xaa,
- 0x7b, 0xce, 0x9a, 0xc6, 0xf8, 0x82, 0xe8, 0x8a, 0x9b, 0xce, 0x7a, 0xc6, 0xfa, 0xaa, 0xab, 0xff, 0x7a, 0xce, 0x9b, 0xc6, 0xe0, 0xfa, 0x00, 0xff, 0x7a, 0xce, 0x9b, 0xc6, 0x02, 0xe0, 0xb0, 0x22,
- 0x9a, 0xce, 0x7b, 0xc6, 0xea, 0xfb, 0xea, 0x7b, 0x7b, 0xce, 0x9a, 0xc6, 0xf8, 0xbf, 0xab, 0x00, 0x5a, 0xce, 0x9b, 0xc6, 0xb5, 0xaf, 0xeb, 0xfe, 0x9b, 0xce, 0x7a, 0xc6, 0xab, 0xba, 0xfb, 0x67,
- 0x9b, 0xce, 0x7a, 0xc6, 0x2a, 0xaa, 0xff, 0xff, 0x9b, 0xce, 0x7a, 0xc6, 0xa2, 0xba, 0xef, 0xf7, 0x7b, 0xce, 0x9a, 0xc6, 0xab, 0x82, 0xa8, 0xeb, 0x7b, 0xce, 0x9a, 0xc6, 0xa2, 0xbe, 0x2a, 0x98,
- 0x7b, 0xce, 0x7a, 0xc6, 0xe2, 0xea, 0xff, 0xfe, 0x5a, 0xce, 0x9b, 0xc6, 0xda, 0xaa, 0xab, 0xaa, 0x7b, 0xce, 0x7a, 0xc6, 0xfa, 0xfa, 0x7e, 0x55, 0x5a, 0xce, 0x7b, 0xc6, 0x75, 0xbf, 0x57, 0xa5,
- 0x9b, 0xce, 0x5a, 0xc6, 0xbb, 0xef, 0xff, 0xff, 0x5b, 0xce, 0x7a, 0xc6, 0xfb, 0x7f, 0x57, 0x7a, 0x7a, 0xc6, 0x5b, 0xc6, 0xfa, 0xf0, 0x8a, 0x8c, 0x7b, 0xce, 0x5a, 0xbe, 0x8a, 0xae, 0xea, 0xfb,
- 0x7b, 0xce, 0x5a, 0xc6, 0xfe, 0xf5, 0x55, 0x75, 0x7b, 0xce, 0x5a, 0xbe, 0xba, 0xae, 0xaf, 0xbf, 0x7b, 0xc6, 0x5a, 0xbe, 0xa8, 0x23, 0xa3, 0x2b, 0x7b, 0xce, 0x5a, 0xbe, 0xfb, 0xee, 0xff, 0xaa,
- 0x7b, 0xc6, 0x5a, 0xbe, 0xba, 0x2a, 0x80, 0xaa, 0x7b, 0xc6, 0x5a, 0xc6, 0x1f, 0x7f, 0x02, 0x23, 0x7b, 0xc6, 0x5a, 0xc6, 0x7d, 0xa9, 0x0a, 0x3c, 0x7b, 0xce, 0x5a, 0xbe, 0xfa, 0xfa, 0xee, 0xeb,
- 0x7b, 0xc6, 0x5a, 0xc6, 0x37, 0xbf, 0x3f, 0xdf, 0x7b, 0xc6, 0x5a, 0xc6, 0xef, 0xa8, 0x00, 0xf0, 0x7b, 0xc6, 0x5a, 0xc6, 0xe7, 0x7f, 0x38, 0x2e, 0x7a, 0xc6, 0x5b, 0xc6, 0xe2, 0xe0, 0x38, 0x8a,
- 0x7b, 0xc6, 0x5a, 0xbe, 0x22, 0xab, 0x88, 0xa6, 0x7a, 0xc6, 0x5b, 0xbe, 0xba, 0xbb, 0x28, 0xa2, 0x7b, 0xc6, 0x5a, 0xbe, 0x0a, 0x0a, 0x08, 0x00, 0x9b, 0xc6, 0x5a, 0xc6, 0xeb, 0x7f, 0xbe, 0xaa,
- 0x7b, 0xce, 0x5a, 0xc6, 0xff, 0xff, 0xea, 0xfe, 0x9b, 0xce, 0x5a, 0xc6, 0xf7, 0xff, 0xfa, 0xfe, 0x5a, 0xce, 0x9b, 0xc6, 0xfa, 0xab, 0xeb, 0xbf, 0x7a, 0xce, 0x9b, 0xc6, 0xbe, 0x0a, 0xab, 0xea,
- 0x7a, 0xce, 0x9b, 0xc6, 0xaa, 0xc8, 0xfe, 0xab, 0x7a, 0xce, 0x9b, 0xc6, 0x82, 0xaa, 0xfa, 0xbe, 0x7a, 0xce, 0x9b, 0xc6, 0xeb, 0xbf, 0x2b, 0x2a, 0x5a, 0xce, 0x9b, 0xc6, 0xea, 0xfb, 0xbe, 0xfe,
- 0x7a, 0xce, 0x9b, 0xc6, 0x0a, 0xef, 0xba, 0x7a, 0x7a, 0xce, 0x9b, 0xc6, 0xaa, 0xeb, 0xae, 0xf2, 0x9b, 0xce, 0x7a, 0xc6, 0xeb, 0xaf, 0xea, 0xff, 0x9b, 0xce, 0x7a, 0xc6, 0xee, 0xaf, 0xaa, 0x2a,
- 0x7b, 0xce, 0x9b, 0xc6, 0x2a, 0x2a, 0xbf, 0xaf, 0x9b, 0xce, 0x7a, 0xc6, 0x22, 0xa0, 0xa8, 0xfa, 0x9b, 0xce, 0x7a, 0xc6, 0xaa, 0xbe, 0xbf, 0xfb, 0x9b, 0xd6, 0x7a, 0xc6, 0xea, 0xff, 0xff, 0xff,
- 0x9b, 0xd6, 0x7a, 0xc6, 0xbf, 0xef, 0xff, 0xbf, 0x9b, 0xce, 0x7a, 0xce, 0x3a, 0x3e, 0x28, 0xc2, 0xbb, 0xce, 0x7a, 0xce, 0xff, 0xea, 0xfa, 0xee, 0xbc, 0xd6, 0x7a, 0xc6, 0xeb, 0xaf, 0xaf, 0xfe,
- 0xbb, 0xd6, 0x7b, 0xce, 0xaf, 0xbf, 0xff, 0xfb, 0xbc, 0xd6, 0x9a, 0xce, 0xbf, 0xff, 0xff, 0xf5, 0xbc, 0xd6, 0x9a, 0xce, 0xbf, 0xff, 0xbf, 0x7b, 0x9b, 0xd6, 0xbb, 0xce, 0xaf, 0xab, 0xba, 0x2f,
- 0x9b, 0xd6, 0xbb, 0xce, 0xaa, 0xbf, 0xfa, 0xb6, 0x9b, 0xd6, 0xbb, 0xce, 0xaf, 0xea, 0xaf, 0x76, 0x9b, 0xd6, 0xbb, 0xce, 0xfe, 0xbe, 0xde, 0xdf, 0x9b, 0xd6, 0xbb, 0xce, 0xaf, 0xff, 0xe7, 0xab,
- 0xbc, 0xd6, 0x9b, 0xd6, 0x8e, 0xaa, 0xa0, 0x02, 0xdc, 0xde, 0xbb, 0xce, 0xff, 0xff, 0xff, 0xaf, 0xbc, 0xde, 0xdb, 0xce, 0xfb, 0xaf, 0xae, 0xbf, 0xdc, 0xd6, 0xbb, 0xd6, 0xaf, 0xbf, 0x8a, 0xbd,
- 0xdc, 0xde, 0xbb, 0xd6, 0x7f, 0xef, 0xbf, 0xdf, 0xdc, 0xde, 0xbb, 0xd6, 0xbf, 0xff, 0xfb, 0xff, 0xdc, 0xde, 0xbb, 0xd6, 0xfb, 0x3f, 0xff, 0xff, 0xdc, 0xde, 0xbb, 0xd6, 0xeb, 0xfb, 0xff, 0xff,
- 0xbb, 0xde, 0xdc, 0xd6, 0x5b, 0xfa, 0xdf, 0xef, 0xdc, 0xde, 0xbb, 0xd6, 0xbe, 0xfb, 0xbf, 0xff, 0xdc, 0xd6, 0xbb, 0xd6, 0x22, 0xab, 0x0a, 0x2f, 0xdc, 0xde, 0xbb, 0xd6, 0x7f, 0xfa, 0xff, 0xff,
- 0xb9, 0xb5, 0xda, 0xad, 0x5f, 0xb5, 0xd5, 0xe7, 0xfa, 0xb5, 0xb9, 0xad, 0xab, 0xaa, 0xbb, 0xff, 0xfa, 0xb5, 0xd9, 0xa5, 0x2b, 0xab, 0xbe, 0xab, 0xfa, 0xb5, 0xb9, 0xad, 0xca, 0xea, 0xfe, 0xf7,
- 0xda, 0xb5, 0xb8, 0xa5, 0x22, 0xab, 0xfa, 0xef, 0xda, 0xb5, 0xb9, 0xad, 0xa0, 0xba, 0xff, 0xd5, 0xfa, 0xad, 0xb9, 0xad, 0xef, 0xad, 0xb7, 0x7b, 0xda, 0xb5, 0xb9, 0xad, 0xaa, 0xba, 0x9f, 0xab,
- 0xfa, 0xb5, 0xd9, 0xad, 0xb5, 0x55, 0xf5, 0xef, 0xfa, 0xb5, 0xd9, 0xad, 0x7d, 0xf5, 0xff, 0x2e, 0xfa, 0xb5, 0xd9, 0xad, 0xab, 0xfe, 0xbb, 0x80, 0x1a, 0xbe, 0xf9, 0xb5, 0xd5, 0x95, 0x8f, 0x0a,
- 0x3a, 0xbe, 0xf9, 0xb5, 0xf5, 0xab, 0xaa, 0xea, 0x3a, 0xbe, 0x19, 0xb6, 0xaf, 0xab, 0xd5, 0x55, 0x3a, 0xbe, 0xf9, 0xb5, 0xb8, 0xfe, 0x7b, 0xd5, 0x1a, 0xbe, 0xf9, 0xb5, 0xb8, 0xab, 0x3f, 0xd7,
- 0x3a, 0xbe, 0xf9, 0xb5, 0xcb, 0xff, 0xd5, 0x55, 0x1a, 0xbe, 0xd9, 0xb5, 0xa0, 0xfa, 0x7f, 0xff, 0xfa, 0xb5, 0xd9, 0xad, 0x08, 0x28, 0xbe, 0xff, 0xfa, 0xb5, 0xb9, 0xad, 0x00, 0x88, 0xea, 0xa9,
- 0xfa, 0xb5, 0xd9, 0xad, 0x20, 0xaf, 0x77, 0xfd, 0xfa, 0xb5, 0xd9, 0xad, 0x20, 0xcf, 0xd5, 0xff, 0x1a, 0xb6, 0xd9, 0xad, 0x20, 0xea, 0xed, 0xff, 0xf9, 0xb5, 0xda, 0xad, 0x80, 0x8b, 0xaa, 0x8a,
- 0x1a, 0xb6, 0xd9, 0xad, 0xbf, 0xbf, 0xbf, 0x2a, 0x1a, 0xb6, 0xd9, 0xad, 0x8b, 0x89, 0xaf, 0x00, 0x19, 0xbe, 0xfa, 0xad, 0xfe, 0xbf, 0xba, 0xaa, 0x1a, 0xbe, 0xf9, 0xb5, 0xf7, 0xfe, 0xdf, 0xbe,
- 0x3a, 0xbe, 0xf9, 0xb5, 0xdf, 0x7f, 0xd7, 0xeb, 0x3a, 0xbe, 0xf9, 0xb5, 0xd5, 0xf7, 0xaf, 0x00, 0x3b, 0xbe, 0x19, 0xb6, 0xdd, 0x0a, 0x82, 0xea, 0x3a, 0xbe, 0x19, 0xb6, 0xff, 0x2e, 0xff, 0x5a,
- 0x3a, 0xbe, 0xf9, 0xb5, 0xa2, 0xaa, 0xe7, 0xba, 0x3a, 0xbe, 0x1a, 0xb6, 0xff, 0x55, 0x5f, 0xab, 0x3a, 0xbe, 0xfa, 0xb5, 0xee, 0xae, 0xaa, 0x8a, 0x5a, 0xbe, 0xf9, 0xb5, 0xfd, 0xff, 0xab, 0x0a,
- 0x7b, 0xbe, 0x19, 0xb6, 0xf5, 0x7f, 0xfd, 0x0a, 0x7b, 0xc6, 0x19, 0xbe, 0xd7, 0xff, 0xaa, 0x02, 0x7b, 0xc6, 0x19, 0xbe, 0xd5, 0xff, 0x2a, 0x2a, 0x9b, 0xce, 0x39, 0xbe, 0xf5, 0xaf, 0xab, 0x82,
- 0x9b, 0xce, 0x5a, 0xc6, 0xfd, 0xff, 0xae, 0xba, 0x9b, 0xce, 0x7a, 0xc6, 0x55, 0xff, 0xaf, 0xab, 0x9b, 0xce, 0x7a, 0xc6, 0xaf, 0xab, 0xae, 0xfa, 0x9b, 0xce, 0x7a, 0xc6, 0xab, 0xaa, 0xaa, 0xeb,
- 0x9a, 0xce, 0x7b, 0xc6, 0xa8, 0xaa, 0xaa, 0xbf, 0x9b, 0xce, 0x7a, 0xc6, 0xaa, 0xfa, 0xff, 0x6e, 0x9b, 0xce, 0x5a, 0xc6, 0xaa, 0xaa, 0xfa, 0xff, 0x7b, 0xce, 0x5a, 0xc6, 0xaa, 0xeb, 0xfa, 0xeb,
- 0x7b, 0xce, 0x5a, 0xc6, 0xaa, 0xfa, 0xef, 0xbb, 0x7b, 0xce, 0x5a, 0xc6, 0xba, 0xde, 0xf7, 0xb5, 0x7b, 0xce, 0x5a, 0xbe, 0xaa, 0xae, 0xaa, 0xfe, 0x7b, 0xce, 0x5a, 0xc6, 0xaa, 0xea, 0x7d, 0xd5,
- 0x7b, 0xce, 0x5a, 0xbe, 0xaa, 0xaa, 0xaf, 0xfb, 0x7b, 0xce, 0x5a, 0xbe, 0xaa, 0xea, 0xbf, 0xbf, 0x7b, 0xce, 0x5a, 0xc6, 0x2a, 0x2e, 0xbd, 0xd5, 0x7b, 0xce, 0x5a, 0xc6, 0x22, 0xaa, 0xab, 0xbd,
- 0x9b, 0xce, 0x5a, 0xc6, 0xaa, 0xae, 0xfb, 0xff, 0x7b, 0xce, 0x5a, 0xc6, 0x2a, 0xaa, 0xea, 0xaf, 0x9b, 0xce, 0x7a, 0xc6, 0x7f, 0x5f, 0xdd, 0xf7, 0x9b, 0xce, 0x5a, 0xc6, 0xae, 0xaf, 0xfb, 0xee,
- 0x7b, 0xce, 0x5a, 0xc6, 0x2a, 0xa0, 0xaa, 0xaa, 0x9b, 0xce, 0x7a, 0xc6, 0xfd, 0xd5, 0xde, 0xd5, 0x5a, 0xce, 0x9b, 0xc6, 0xfa, 0xaf, 0xff, 0xaf, 0x7b, 0xce, 0x5a, 0xc6, 0xa0, 0xaa, 0xfb, 0xff,
- 0x7b, 0xc6, 0x5a, 0xc6, 0xfc, 0x0a, 0x80, 0xff, 0x7b, 0xc6, 0x5a, 0xc6, 0xeb, 0x0c, 0x8d, 0xa3, 0x7b, 0xc6, 0x5a, 0xbe, 0x22, 0xb0, 0xae, 0xef, 0x7a, 0xc6, 0x5b, 0xbe, 0x8a, 0xaa, 0xf2, 0xfd,
- 0x7a, 0xc6, 0x3b, 0xbe, 0xf8, 0x88, 0x9f, 0xff, 0x7b, 0xc6, 0x1a, 0xbe, 0xa2, 0xaa, 0xeb, 0xfa, 0x7b, 0xc6, 0x3a, 0xbe, 0x22, 0xbb, 0xbf, 0xff, 0x7b, 0xc6, 0x5a, 0xbe, 0xaa, 0x29, 0x5f, 0xd7,
- 0x7a, 0xc6, 0x5b, 0xbe, 0xfa, 0xfb, 0xeb, 0xbd, 0x7b, 0xc6, 0x3a, 0xbe, 0xaa, 0xea, 0xa3, 0xee, 0x7b, 0xc6, 0x3a, 0xbe, 0x0a, 0xab, 0xed, 0xff, 0x7b, 0xc6, 0x5a, 0xbe, 0x80, 0x2b, 0xa5, 0xeb,
- 0x7b, 0xc6, 0x3a, 0xbe, 0x00, 0x20, 0x82, 0x0b, 0x7b, 0xce, 0x5a, 0xc6, 0xee, 0xdf, 0xff, 0x75, 0x7b, 0xce, 0x5a, 0xbe, 0xaa, 0xab, 0xfa, 0xbf, 0x7b, 0xc6, 0x5a, 0xbe, 0x2a, 0x20, 0x30, 0xaa,
- 0x7b, 0xc6, 0x5a, 0xbe, 0xaa, 0xa0, 0xba, 0xea, 0x7b, 0xce, 0x5a, 0xbe, 0xfe, 0xae, 0xff, 0xff, 0x7b, 0xce, 0x5a, 0xbe, 0xae, 0xba, 0xfb, 0xaf, 0x7a, 0xc6, 0x5b, 0xbe, 0xa2, 0xab, 0xfe, 0xea,
- 0x7b, 0xc6, 0x5a, 0xbe, 0xab, 0xaa, 0xee, 0x02, 0x7b, 0xc6, 0x5a, 0xbe, 0xaa, 0x28, 0x88, 0x88, 0x7b, 0xc6, 0x5a, 0xc6, 0x03, 0x02, 0x83, 0xc2, 0x7b, 0xce, 0x5a, 0xc6, 0xaa, 0xab, 0xbf, 0xff,
- 0x5a, 0xce, 0x7b, 0xc6, 0xd5, 0x57, 0x55, 0xf6, 0x7b, 0xce, 0x5a, 0xc6, 0xee, 0xea, 0xea, 0xab, 0x7b, 0xce, 0x7a, 0xc6, 0xaf, 0xdf, 0x55, 0x7f, 0x7b, 0xce, 0x5a, 0xc6, 0xaa, 0xea, 0xfa, 0xeb,
- 0x9b, 0xce, 0x7a, 0xc6, 0xfd, 0xf7, 0xf5, 0x75, 0x5a, 0xce, 0x9b, 0xc6, 0xeb, 0xff, 0xff, 0xee, 0x7b, 0xce, 0x5a, 0xc6, 0x2a, 0xb8, 0x8c, 0x2a, 0x7a, 0xce, 0x9b, 0xc6, 0xa0, 0xa8, 0xfb, 0x3a,
- 0x7a, 0xce, 0x9b, 0xc6, 0xe7, 0xaa, 0xaa, 0xf0, 0x7a, 0xce, 0x9b, 0xc6, 0xaf, 0xaa, 0xea, 0xff, 0x9b, 0xce, 0x7a, 0xce, 0x7f, 0xaf, 0xef, 0xfe, 0x7b, 0xce, 0x9b, 0xc6, 0xa8, 0xfa, 0xba, 0x2a,
- 0x9b, 0xce, 0x7a, 0xc6, 0xaa, 0xee, 0xff, 0xff, 0x7a, 0xce, 0x9b, 0xc6, 0xeb, 0xaa, 0xfa, 0xa0, 0x9b, 0xce, 0x7a, 0xc6, 0xba, 0xff, 0xef, 0xbf, 0x9b, 0xce, 0x7a, 0xc6, 0xff, 0xfb, 0xeb, 0xaa,
- 0x9b, 0xce, 0x7a, 0xc6, 0xe2, 0xab, 0xaa, 0x80, 0xbb, 0xce, 0x7a, 0xce, 0xbb, 0xbf, 0xbf, 0xef, 0xbc, 0xce, 0x7a, 0xce, 0xba, 0xaf, 0xfe, 0xff, 0x7c, 0xd6, 0x9a, 0xc6, 0xaf, 0xfb, 0xff, 0xff,
- 0x9c, 0xd6, 0x7a, 0xce, 0xbf, 0xfa, 0xff, 0xfb, 0x9b, 0xd6, 0x9a, 0xc6, 0xab, 0xab, 0xba, 0xab, 0xbb, 0xce, 0x7a, 0xce, 0xbf, 0xaa, 0xfa, 0xea, 0xbb, 0xd6, 0x7b, 0xce, 0xfb, 0xff, 0xbf, 0xff,
- 0xbb, 0xd6, 0x9a, 0xce, 0xed, 0xff, 0xf7, 0xfd, 0xbc, 0xd6, 0x9a, 0xce, 0xab, 0xae, 0xee, 0xef, 0x9c, 0xd6, 0xba, 0xce, 0xbf, 0xff, 0xff, 0xff, 0xbc, 0xd6, 0x9a, 0xce, 0xaa, 0x2a, 0xaa, 0xa0,
- 0xbc, 0xd6, 0x9b, 0xce, 0x02, 0x28, 0x20, 0xb0, 0xbc, 0xde, 0xbb, 0xce, 0xfe, 0xff, 0xab, 0xff, 0xdc, 0xd6, 0xbb, 0xd6, 0x56, 0x75, 0x55, 0x55, 0xdc, 0xde, 0xbb, 0xce, 0xbf, 0xff, 0xef, 0xbf,
- 0xdc, 0xd6, 0xbb, 0xd6, 0x9d, 0xae, 0xaa, 0xba, 0xdc, 0xd6, 0xbb, 0xd6, 0xaa, 0xa8, 0xe8, 0x7a, 0xdc, 0xde, 0xbb, 0xd6, 0xff, 0xff, 0xf7, 0xdb, 0xdc, 0xde, 0xbb, 0xd6, 0xbd, 0xfb, 0x7f, 0xdd,
- 0xdc, 0xde, 0xbb, 0xd6, 0xff, 0xf5, 0xff, 0xf5, 0xdc, 0xd6, 0xbb, 0xd6, 0xeb, 0xa5, 0xbb, 0xd6, 0xfc, 0xd6, 0xbb, 0xd6, 0xbf, 0xff, 0xbf, 0xff, 0xdc, 0xde, 0xbb, 0xd6, 0xdf, 0x7f, 0xef, 0x9f,
- 0xda, 0xb5, 0xb8, 0xa5, 0xaa, 0xea, 0xbb, 0xbf, 0xda, 0xb5, 0xb9, 0xa5, 0xbe, 0x8b, 0xab, 0xab, 0xfa, 0xb5, 0xb8, 0xa5, 0xfa, 0xfb, 0xbf, 0xff, 0x98, 0xad, 0xd9, 0xa5, 0xf5, 0xf7, 0xae, 0x2f,
- 0xd9, 0xb5, 0xb9, 0xa5, 0xf7, 0xaf, 0xaf, 0xba, 0xda, 0xb5, 0xb9, 0xad, 0xd7, 0xf7, 0xaa, 0x22, 0xfa, 0xb5, 0xb8, 0xad, 0xf7, 0xeb, 0xa3, 0x03, 0x1a, 0xbe, 0xd9, 0xad, 0xdf, 0xad, 0xae, 0xfb,
- 0x1a, 0xbe, 0xd9, 0xad, 0xfb, 0xfa, 0xfa, 0xff, 0xfa, 0xb5, 0xd9, 0xad, 0xa8, 0x82, 0xea, 0xfa, 0x1a, 0xb6, 0xd9, 0xad, 0x2a, 0xba, 0xff, 0xff, 0x1a, 0xbe, 0xd9, 0xad, 0x0a, 0xbf, 0xdf, 0xfd,
- 0x1a, 0xbe, 0xd9, 0xad, 0xaa, 0xea, 0xef, 0xe7, 0xfa, 0xb5, 0xd9, 0xad, 0x00, 0x2c, 0x00, 0xad, 0xfa, 0xbd, 0xd9, 0xad, 0xef, 0xfa, 0xeb, 0xff, 0xfa, 0xb5, 0xd9, 0xb5, 0x8d, 0x8c, 0x33, 0x21,
- 0x1a, 0xb6, 0xd9, 0xb5, 0xb3, 0xae, 0xea, 0xff, 0xfa, 0xb5, 0xd9, 0xad, 0xee, 0xee, 0x22, 0x88, 0xfa, 0xb5, 0xb9, 0xad, 0xab, 0x22, 0x2a, 0xa8, 0xfa, 0xb5, 0xb9, 0xad, 0xee, 0xaa, 0x08, 0x00,
- 0x1a, 0xb6, 0xd9, 0xad, 0xff, 0xfa, 0x0a, 0xa0, 0x1a, 0xbe, 0xb9, 0xad, 0xff, 0xff, 0xaa, 0x8a, 0x1a, 0xbe, 0xd9, 0xad, 0xff, 0xbf, 0xaa, 0x2a, 0x1a, 0xbe, 0xd9, 0xb5, 0xbd, 0xaf, 0x02, 0x00,
- 0x1a, 0xbe, 0xf9, 0xb5, 0xf7, 0x02, 0x28, 0x38, 0x3a, 0xbe, 0xf9, 0xb5, 0xff, 0x6f, 0xaa, 0xae, 0xf9, 0xbd, 0x3a, 0xb6, 0xbf, 0xfe, 0xbe, 0xba, 0x3a, 0xbe, 0xf9, 0xb5, 0xbf, 0xaf, 0xa8, 0xae,
- 0x3a, 0xbe, 0x19, 0xb6, 0x8b, 0x2a, 0xca, 0x02, 0x5a, 0xc6, 0x19, 0xb6, 0xef, 0xeb, 0xab, 0xae, 0x5b, 0xc6, 0x19, 0xb6, 0xbf, 0xee, 0xef, 0xac, 0x5a, 0xc6, 0x19, 0xb6, 0xdf, 0xbb, 0xaf, 0xaa,
- 0x5b, 0xc6, 0x39, 0xbe, 0x55, 0xd5, 0x0b, 0x22, 0x7b, 0xc6, 0x3a, 0xbe, 0x55, 0xaf, 0x8b, 0x23, 0x9b, 0xce, 0x3a, 0xbe, 0x55, 0xff, 0xaa, 0xa2, 0x7b, 0xc6, 0x59, 0xbe, 0xf9, 0x0a, 0x00, 0x02,
- 0x7b, 0xce, 0x5a, 0xbe, 0xbf, 0xaa, 0xae, 0xaa, 0x7b, 0xce, 0x5a, 0xbe, 0xaa, 0xaa, 0xab, 0xae, 0x9b, 0xce, 0x5a, 0xc6, 0xff, 0xbb, 0xff, 0x7f, 0x7b, 0xce, 0x5a, 0xc6, 0x82, 0x7a, 0xbd, 0xab,
- 0x7a, 0xce, 0x9b, 0xc6, 0xea, 0xaf, 0xa0, 0x02, 0x7a, 0xce, 0x9b, 0xc6, 0x8f, 0xaa, 0xaa, 0x00, 0x7a, 0xce, 0x9b, 0xc6, 0xeb, 0xfe, 0x0a, 0xa8, 0x5a, 0xce, 0x9b, 0xc6, 0xaf, 0xbf, 0xfe, 0xea,
- 0x7b, 0xce, 0x5a, 0xc6, 0xaa, 0x2c, 0xa0, 0xe8, 0x9b, 0xce, 0x5a, 0xc6, 0xea, 0xfe, 0xfa, 0xff, 0x7b, 0xce, 0x5a, 0xc6, 0xbe, 0xfa, 0xeb, 0xa5, 0x7b, 0xce, 0x5a, 0xc6, 0xaf, 0xae, 0xfe, 0xe7,
- 0x7b, 0xc6, 0x5a, 0xc6, 0x0a, 0x38, 0x20, 0xbb, 0x7b, 0xc6, 0x5a, 0xc6, 0xfe, 0x03, 0xb8, 0x2d, 0x9b, 0xc6, 0x5a, 0xc6, 0x7b, 0x7e, 0xeb, 0x7f, 0x5b, 0xc6, 0x3a, 0xbe, 0x28, 0x08, 0x80, 0xe0,
- 0x7b, 0xc6, 0x59, 0xbe, 0xea, 0xef, 0xfe, 0x77, 0x5b, 0xc6, 0x39, 0xbe, 0xa0, 0xba, 0x9b, 0xff, 0x3a, 0xc6, 0x7b, 0xbe, 0xff, 0xfb, 0xbf, 0xea, 0x7b, 0xc6, 0x3a, 0xbe, 0x8a, 0xaf, 0xee, 0x7f,
- 0x7b, 0xc6, 0x3a, 0xbe, 0xa8, 0xaa, 0xae, 0xd5, 0x7b, 0xce, 0x3a, 0xbe, 0xaa, 0xaa, 0xff, 0xff, 0x7b, 0xce, 0x5a, 0xbe, 0xaa, 0xaf, 0xbf, 0xff, 0x7a, 0xce, 0x3b, 0xbe, 0x2a, 0xaa, 0xea, 0xfa,
- 0x7b, 0xce, 0x5a, 0xbe, 0xaa, 0xaa, 0xba, 0xff, 0x7a, 0xce, 0x5b, 0xbe, 0xaa, 0xbb, 0xeb, 0xbf, 0x7a, 0xc6, 0x3b, 0xbe, 0x88, 0x88, 0xaa, 0xab, 0x7b, 0xce, 0x5a, 0xbe, 0xaa, 0xaf, 0xab, 0xef,
- 0x7b, 0xc6, 0x5a, 0xbe, 0xa0, 0x8f, 0xaf, 0xae, 0x3a, 0xc6, 0x7b, 0xbe, 0xa2, 0xef, 0xfa, 0xba, 0x5a, 0xc6, 0x3b, 0xbe, 0x8a, 0xbf, 0xbe, 0xba, 0x3a, 0xc6, 0x5b, 0xbe, 0xea, 0x77, 0x7f, 0xff,
- 0x7b, 0xc6, 0x1a, 0xbe, 0xfe, 0xee, 0xaf, 0x1b, 0x5b, 0xc6, 0x3a, 0xbe, 0xff, 0xf7, 0xfb, 0x77, 0x5b, 0xc6, 0x1a, 0xbe, 0xcb, 0xba, 0xa6, 0xfb, 0x5b, 0xc6, 0x1a, 0xbe, 0xbe, 0x2b, 0xaa, 0xee,
- 0x5b, 0xc6, 0x1a, 0xbe, 0x28, 0xaa, 0xfb, 0xff, 0x5b, 0xc6, 0x3a, 0xb6, 0xaa, 0xaa, 0xbb, 0xfb, 0x7b, 0xc6, 0x3a, 0xbe, 0xe8, 0xbf, 0xff, 0xe7, 0x5b, 0xc6, 0x3a, 0xbe, 0xa8, 0xaa, 0xea, 0xe6,
- 0x3a, 0xc6, 0x5b, 0xbe, 0xde, 0xea, 0xaa, 0xde, 0x3a, 0xc6, 0x9b, 0xbe, 0x6a, 0xaa, 0xaa, 0xaa, 0x3a, 0xc6, 0x7b, 0xbe, 0xa9, 0xaf, 0xfe, 0x88, 0x5b, 0xc6, 0x3a, 0xbe, 0x00, 0xc8, 0x80, 0xea,
- 0x3b, 0xc6, 0x7a, 0xbe, 0xfb, 0xaa, 0xef, 0xfe, 0x7b, 0xc6, 0x3a, 0xbe, 0x8a, 0xaf, 0xbe, 0xfe, 0x7b, 0xce, 0x5a, 0xbe, 0xaf, 0xff, 0xff, 0xff, 0x7b, 0xc6, 0x3a, 0xbe, 0xa2, 0x2a, 0xba, 0xa8,
- 0x7b, 0xce, 0x5a, 0xbe, 0xbb, 0xff, 0xff, 0xfb, 0x7b, 0xc6, 0x5a, 0xbe, 0xa2, 0xb9, 0xbf, 0xf6, 0x7b, 0xce, 0x5a, 0xbe, 0xbf, 0xab, 0xba, 0xab, 0x7b, 0xc6, 0x5a, 0xc6, 0x35, 0x2a, 0x82, 0xad,
- 0x9b, 0xce, 0x5a, 0xc6, 0xef, 0x7f, 0xf7, 0x7d, 0x5b, 0xce, 0x9a, 0xc6, 0xaf, 0x9e, 0xaf, 0xff, 0x7b, 0xce, 0x5a, 0xc6, 0xeb, 0xbe, 0xab, 0xee, 0x9b, 0xc6, 0x7a, 0xc6, 0xe5, 0xfd, 0xff, 0x75,
- 0x9b, 0xce, 0x5a, 0xc6, 0xef, 0xbb, 0xef, 0xef, 0x7a, 0xce, 0x9b, 0xc6, 0xe8, 0x2a, 0xcb, 0xba, 0x7a, 0xce, 0x9b, 0xc6, 0xab, 0xbe, 0xbe, 0x56, 0x9c, 0xce, 0x7a, 0xc6, 0xbf, 0xf7, 0xff, 0xbb,
- 0x9b, 0xce, 0x7a, 0xc6, 0xfa, 0xff, 0x7f, 0xff, 0x7b, 0xce, 0x9a, 0xc6, 0xa2, 0x0a, 0xaa, 0xff, 0x9b, 0xce, 0x7a, 0xc6, 0xca, 0xfe, 0x5f, 0x7b, 0x9b, 0xce, 0x7a, 0xc6, 0xfe, 0xf5, 0xff, 0xff,
- 0x9b, 0xce, 0x7a, 0xc6, 0xfe, 0xf6, 0xff, 0x5f, 0x7a, 0xce, 0x9b, 0xc6, 0x8a, 0xaa, 0xaf, 0xf8, 0x9b, 0xce, 0x7a, 0xc6, 0xab, 0xaa, 0xae, 0xab, 0x9c, 0xce, 0x7a, 0xc6, 0x2a, 0xaa, 0xaa, 0xaa,
- 0x9b, 0xce, 0x7a, 0xc6, 0x22, 0x02, 0xaa, 0xab, 0x9b, 0xce, 0x7a, 0xc6, 0x22, 0xea, 0xae, 0xb2, 0x9b, 0xce, 0x7b, 0xce, 0x03, 0xaa, 0x7a, 0xe3, 0x9c, 0xd6, 0x7a, 0xce, 0xeb, 0xff, 0xff, 0xdd,
- 0x9b, 0xce, 0x7b, 0xce, 0x38, 0x82, 0x0b, 0x07, 0xbb, 0xce, 0x7a, 0xce, 0xfe, 0xff, 0xaa, 0xff, 0x9c, 0xd6, 0x7a, 0xc6, 0xba, 0xaa, 0xaa, 0x3a, 0xba, 0xce, 0x9b, 0xce, 0x15, 0x5f, 0x55, 0x55,
- 0xbc, 0xd6, 0x9b, 0xce, 0xb7, 0xf7, 0x7d, 0xd5, 0xbb, 0xd6, 0x9a, 0xce, 0xb9, 0xfe, 0xff, 0xff, 0xbb, 0xd6, 0x9b, 0xce, 0xaa, 0xab, 0xaa, 0xaa, 0xbc, 0xd6, 0x9b, 0xce, 0xea, 0xca, 0xaa, 0xaa,
- 0x9a, 0xd6, 0xbc, 0xce, 0xaf, 0x7f, 0xfb, 0xab, 0xbc, 0xd6, 0x9b, 0xce, 0xa8, 0xaa, 0x2a, 0xaa, 0xdc, 0xd6, 0xbb, 0xd6, 0xd5, 0xdb, 0x79, 0x75, 0xdc, 0xd6, 0xbb, 0xd6, 0xd5, 0xef, 0x56, 0x5a,
- 0xdc, 0xd6, 0xbb, 0xd6, 0x69, 0xeb, 0xdd, 0x55, 0xdc, 0xd6, 0xbb, 0xce, 0xaa, 0xaa, 0xba, 0xbe, 0xdc, 0xd6, 0xbb, 0xd6, 0xad, 0x5e, 0x57, 0xf5, 0xdc, 0xd6, 0xbb, 0xd6, 0xea, 0xbf, 0xfd, 0x77,
- 0xdc, 0xde, 0xbb, 0xce, 0xee, 0xfb, 0xef, 0xeb, 0xdc, 0xde, 0xbb, 0xce, 0xea, 0xae, 0xfb, 0xee, 0xdc, 0xde, 0xbb, 0xce, 0xaa, 0xaf, 0xef, 0xef, 0xdc, 0xd6, 0xbb, 0xd6, 0x6b, 0xba, 0x6a, 0xe3,
-};
diff --git a/progs/tests/texcompress2.c b/progs/tests/texcompress2.c
deleted file mode 100644
index b95aca9fb9..0000000000
--- a/progs/tests/texcompress2.c
+++ /dev/null
@@ -1,292 +0,0 @@
-/*
- * Test texture compression.
- */
-
-
-#include <assert.h>
-#include <stdio.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-#include "readtex.c"
-
-#define IMAGE_FILE "../images/arch.rgb"
-
-static int ImgWidth, ImgHeight;
-static GLenum ImgFormat;
-static GLenum CompFormat;
-static GLfloat EyeDist = 5.0;
-static GLfloat Rot = 0.0;
-const GLenum Target = GL_TEXTURE_2D;
-
-
-static void
-CheckError(int line)
-{
- GLenum err = glGetError();
- if (err) {
- printf("GL Error %d at line %d\n", (int) err, line);
- }
-}
-
-
-static const char *
-LookupFormat(GLenum format)
-{
- switch (format) {
- case GL_COMPRESSED_RGB_S3TC_DXT1_EXT:
- return "GL_COMPRESSED_RGB_S3TC_DXT1_EXT";
- case GL_COMPRESSED_RGBA_S3TC_DXT1_EXT:
- return "GL_COMPRESSED_RGBA_S3TC_DXT1_EXT";
- case GL_COMPRESSED_RGBA_S3TC_DXT3_EXT:
- return "GL_COMPRESSED_RGBA_S3TC_DXT3_EXT";
- default:
- return "other";
- }
-}
-
-
-static void
-TestSubTex(void)
-{
- GLboolean all = 0*GL_TRUE;
- GLubyte *buffer;
- GLint size, fmt;
-
- glGetTexLevelParameteriv(Target, 0,
- GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB, &size);
- glGetTexLevelParameteriv(Target, 0, GL_TEXTURE_INTERNAL_FORMAT, &fmt);
-
- buffer = (GLubyte *) malloc(size);
- glGetCompressedTexImageARB(Target, 0, buffer);
-
- printf("Testing sub-texture replacement\n");
- if (all)
- glCompressedTexImage2DARB(Target, 0,
- fmt, ImgWidth, ImgHeight, 0,
- size, buffer);
- else {
- /* bottom half */
- glCompressedTexSubImage2DARB(Target, 0,
- 0, 0, /* pos */
- ImgWidth, ImgHeight / 2,
- fmt, size/2, buffer);
- /* top half */
- glCompressedTexSubImage2DARB(Target, 0,
- 0, ImgHeight / 2, /* pos */
- ImgWidth, ImgHeight / 2,
- fmt, size/2, buffer + size / 2);
- }
-
- free(buffer);
-}
-
-
-static void
-TestGetTex(void)
-{
- GLubyte *buffer;
-
- buffer = (GLubyte *) malloc(3 * ImgWidth * ImgHeight);
-
- glGetTexImage(GL_TEXTURE_2D,
- 0,
- GL_RGB,
- GL_UNSIGNED_BYTE,
- buffer);
-
- free(buffer);
-}
-
-
-static void
-LoadCompressedImage(const char *file)
-{
- const GLenum filter = GL_LINEAR;
- GLubyte *image;
- GLint p;
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- glPixelStorei(GL_PACK_ALIGNMENT, 1);
-
- /*
- * Load image and scale if needed.
- */
- image = LoadRGBImage( file, &ImgWidth, &ImgHeight, &ImgFormat );
- if (!image) {
- printf("Couldn't read %s\n", IMAGE_FILE);
- exit(0);
- }
- printf("Image is %d x %d\n", ImgWidth, ImgHeight);
-
- /* power of two */
- assert(ImgWidth == 128 || ImgWidth == 256 || ImgWidth == 512);
- assert(ImgWidth == 128 || ImgHeight == 256 || ImgHeight == 512);
-
- if (ImgFormat == GL_RGB)
- CompFormat = GL_COMPRESSED_RGB_S3TC_DXT1_EXT;
- else
- CompFormat = GL_COMPRESSED_RGBA_S3TC_DXT3_EXT;
-
- if (ImgFormat == GL_RGBA) {
- int i, numAlpha = 0;
- for (i = 0; i < ImgWidth * ImgHeight; i++) {
- if (image[i*4+3] != 0 && image[i*4+3] != 0xff) {
- numAlpha++;
- }
- if (image[i*4+3] == 0)
- image[i*4+3] = 4 * i / ImgWidth;
- }
- printf("Num Alpha !=0,255: %d\n", numAlpha);
- }
-
- CompFormat = GL_COMPRESSED_RGBA_S3TC_DXT5_EXT;
-
-
- /*
- * Give image to OpenGL and have it compress it.
- */
- glTexImage2D(Target, 0, CompFormat, ImgWidth, ImgHeight, 0,
- ImgFormat, GL_UNSIGNED_BYTE, image);
- CheckError(__LINE__);
-
- free(image);
-
- glGetTexLevelParameteriv(Target, 0, GL_TEXTURE_INTERNAL_FORMAT, &p);
- printf("Compressed Internal Format: %s (0x%x)\n", LookupFormat(p), p);
- assert(p == CompFormat);
-
- printf("Original size: %d bytes\n", ImgWidth * ImgHeight * 3);
- glGetTexLevelParameteriv(Target, 0, GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB, &p);
- printf("Compressed size: %d bytes\n", p);
-
- glTexParameteri(Target, GL_TEXTURE_MIN_FILTER, filter);
- glTexParameteri(Target, GL_TEXTURE_MAG_FILTER, filter);
-
- if (0)
- TestSubTex();
- else
- TestGetTex();
-
-}
-
-
-static void
-Init(const char *file)
-{
- GLint numFormats, formats[100];
- GLint p;
-
- if (!glutExtensionSupported("GL_ARB_texture_compression")) {
- printf("Sorry, GL_ARB_texture_compression is required.\n");
- exit(1);
- }
- if (!glutExtensionSupported("GL_EXT_texture_compression_s3tc")) {
- printf("Sorry, GL_EXT_texture_compression_s3tc is required.\n");
- exit(1);
- }
-
- printf("GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
-
- glGetIntegerv(GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB, &numFormats);
- glGetIntegerv(GL_COMPRESSED_TEXTURE_FORMATS_ARB, formats);
- printf("%d supported compression formats: ", numFormats);
- for (p = 0; p < numFormats; p++)
- printf("0x%x ", formats[p]);
- printf("\n");
-
- LoadCompressedImage(file);
-
- glEnable(GL_TEXTURE_2D);
-
- if (ImgFormat == GL_RGBA) {
- glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- glEnable(GL_BLEND);
- }
-}
-
-
-static void
-Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum(-1, 1, -1, 1, 4, 100);
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
-}
-
-
-static void
-Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 'd':
- EyeDist -= 1.0;
- if (EyeDist < 4.0)
- EyeDist = 4.0;
- break;
- case 'D':
- EyeDist += 1.0;
- break;
- case 'z':
- Rot += 5.0;
- break;
- case 'Z':
- Rot -= 5.0;
- break;
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void
-Draw( void )
-{
- glClearColor(0.3, 0.3, .8, 0);
- glClear(GL_COLOR_BUFFER_BIT);
-
- glPushMatrix();
- glTranslatef(0, 0, -(EyeDist+0.01));
- glRotatef(Rot, 0, 0, 1);
- glBegin(GL_POLYGON);
- glTexCoord2f(0, 0); glVertex2f(-1, -1);
- glTexCoord2f(1, 0); glVertex2f( 1, -1);
- glTexCoord2f(1, 1); glVertex2f( 1, 1);
- glTexCoord2f(0, 1); glVertex2f(-1, 1);
- glEnd();
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-int
-main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowSize( 600, 600 );
-
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE);
-
- glutCreateWindow(argv[0]);
- glewInit();
-
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Draw );
-
- if (argc > 1)
- Init(argv[1]);
- else
- Init(IMAGE_FILE);
-
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/texcompsub.c b/progs/tests/texcompsub.c
deleted file mode 100644
index 215f5711d9..0000000000
--- a/progs/tests/texcompsub.c
+++ /dev/null
@@ -1,183 +0,0 @@
-/*
- * Test texture compression.
- */
-
-
-#include <assert.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-#include "texcomp_image.h"
-
-static int ImgWidth = 512;
-static int ImgHeight = 512;
-static GLenum CompFormat = GL_COMPRESSED_RGBA_S3TC_DXT1_EXT;
-static GLfloat EyeDist = 5.0;
-static GLfloat Rot = 0.0;
-const GLenum Target = GL_TEXTURE_2D;
-
-
-static void
-CheckError(int line)
-{
- GLenum err = glGetError();
- if (err) {
- printf("GL Error %d at line %d\n", (int) err, line);
- }
-}
-
-static void
-LoadCompressedImage(void)
-{
- unsigned char ImgDataTemp[ImgSize / 4];
- unsigned i;
- const GLenum filter = GL_LINEAR;
- const int half = ImgSize / 2;
-
- glTexImage2D(Target, 0, CompFormat, ImgWidth, ImgHeight, 0,
- GL_RGB, GL_UNSIGNED_BYTE, NULL);
-
- /* bottom half */
- glCompressedTexSubImage2DARB(Target, 0,
- 0, 0, /* pos */
- ImgWidth, ImgHeight / 2,
- CompFormat, ImgSize / 2, ImgData /*+ ImgSize / 2*/);
-
- /* top left */
- for (i = 0; i < ImgHeight / 8; i++) {
- memcpy(&ImgDataTemp[i * ImgWidth], &ImgData[half + i * 2 * ImgWidth], ImgWidth);
- }
- glCompressedTexSubImage2DARB(Target, 0,
- 0, ImgHeight / 2, /* pos */
- ImgWidth / 2, ImgHeight / 2,
- CompFormat, ImgSize / 4, ImgDataTemp);
-
- /* top right */
- for (i = 0; i < ImgHeight / 8; i++) {
- memcpy(&ImgDataTemp[i * ImgWidth], &ImgData[half + i * 2 * ImgWidth + ImgWidth], ImgWidth);
- }
- glCompressedTexSubImage2DARB(Target, 0,
- ImgWidth / 2, ImgHeight / 2, /* pos */
- ImgWidth / 2, ImgHeight / 2,
- CompFormat, ImgSize / 4, ImgDataTemp);
-
- glTexParameteri(Target, GL_TEXTURE_MIN_FILTER, filter);
- glTexParameteri(Target, GL_TEXTURE_MAG_FILTER, filter);
-}
-
-static void
-Init()
-{
- GLint numFormats, formats[100];
- GLint p;
-
- if (!glutExtensionSupported("GL_ARB_texture_compression")) {
- printf("Sorry, GL_ARB_texture_compression is required.\n");
- exit(1);
- }
- if (!glutExtensionSupported("GL_EXT_texture_compression_s3tc")) {
- printf("Sorry, GL_EXT_texture_compression_s3tc is required.\n");
- exit(1);
- }
-
- printf("GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
-
- glGetIntegerv(GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB, &numFormats);
- glGetIntegerv(GL_COMPRESSED_TEXTURE_FORMATS_ARB, formats);
- printf("%d supported compression formats: ", numFormats);
- for (p = 0; p < numFormats; p++)
- printf("0x%x ", formats[p]);
- printf("\n");
-
- glEnable(GL_TEXTURE_2D);
-
- LoadCompressedImage();
-}
-
-
-static void
-Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum(-1, 1, -1, 1, 4, 100);
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
-}
-
-
-static void
-Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 'd':
- EyeDist -= 1.0;
- if (EyeDist < 4.0)
- EyeDist = 4.0;
- break;
- case 'D':
- EyeDist += 1.0;
- break;
- case 'z':
- Rot += 5.0;
- break;
- case 'Z':
- Rot -= 5.0;
- break;
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void
-Draw( void )
-{
- glClearColor(0.3, 0.3, .8, 0);
- glClear(GL_COLOR_BUFFER_BIT);
-
- CheckError(__LINE__);
- glPushMatrix();
- glTranslatef(0, 0, -(EyeDist+0.01));
- glRotatef(Rot, 0, 0, 1);
- glBegin(GL_POLYGON);
- glTexCoord2f(0, 0); glVertex2f(-1, -1);
- glTexCoord2f(1, 0); glVertex2f( 1, -1);
- glTexCoord2f(1, 1); glVertex2f( 1, 1);
- glTexCoord2f(0, 1); glVertex2f(-1, 1);
- glEnd();
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-int
-main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowSize( 600, 600 );
-
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE);
-
- glutCreateWindow(argv[0]);
- glewInit();
-
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Draw );
-
- Init();
-
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/texdown.c b/progs/tests/texdown.c
deleted file mode 100644
index 92df01b83d..0000000000
--- a/progs/tests/texdown.c
+++ /dev/null
@@ -1,478 +0,0 @@
-
-/*
- * Copyright (C) 1999 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
- * BRIAN PAUL 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.
- */
-
-
-/*
- * texdown
- *
- * Measure texture download speed.
- * Use keyboard to change texture size, format, datatype, scale/bias,
- * subimageload, etc.
- *
- * Brian Paul 28 January 2000
- */
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glut.h>
-
-
-static GLsizei MaxSize = 2048;
-static GLsizei TexWidth = 1024, TexHeight = 1024, TexBorder = 0;
-static GLboolean ScaleAndBias = GL_FALSE;
-static GLboolean SubImage = GL_FALSE;
-static GLdouble DownloadRate = 0.0; /* texels/sec */
-
-static GLuint Mode = 0;
-
-
-/* Try and avoid L2 cache effects by cycling through a small number of
- * textures.
- *
- * At the initial size of 1024x1024x4 == 4mbyte, say 8 textures will
- * keep us out of most caches at 32mb total.
- *
- * This turns into a fairly interesting question of what exactly you
- * expect to be in cache in normal usage, and what you think should be
- * outside. There's no rules for this, no reason to favour one usage
- * over another except what the application you care about happens to
- * resemble most closely.
- *
- * - Should the client texture image be in L2 cache? Has it just been
- * generated or read from disk?
- * - Does the application really use >1 texture, or is it constantly
- * updating one image in-place?
- *
- * Different answers will favour different texture upload mechanisms.
- * To upload an image that is purely outside of cache, a DMA-based
- * upload will probably win, whereas for small, in-cache textures,
- * copying looks good.
- */
-#define NR_TEXOBJ 4
-static GLuint TexObj[NR_TEXOBJ];
-
-
-struct FormatRec {
- GLenum Format;
- GLenum Type;
- GLenum IntFormat;
- GLint TexelSize;
-};
-
-
-static const struct FormatRec FormatTable[] = {
- /* Format Type IntFormat TexelSize */
- { GL_BGRA, GL_UNSIGNED_BYTE, GL_RGBA, 4 },
- { GL_RGB, GL_UNSIGNED_BYTE, GL_RGB, 3 },
- { GL_RGBA, GL_UNSIGNED_BYTE, GL_RGBA, 4 },
- { GL_RGBA, GL_UNSIGNED_BYTE, GL_RGB, 4 },
- { GL_RGB, GL_UNSIGNED_SHORT_5_6_5, GL_RGB, 2 },
- { GL_LUMINANCE, GL_UNSIGNED_BYTE, GL_LUMINANCE, 1 },
- { GL_LUMINANCE_ALPHA, GL_UNSIGNED_BYTE, GL_LUMINANCE_ALPHA, 2 },
- { GL_ALPHA, GL_UNSIGNED_BYTE, GL_ALPHA, 1 },
-};
-static GLint Format;
-
-#define NUM_FORMATS (sizeof(FormatTable)/sizeof(FormatTable[0]))
-
-static int
-BytesPerTexel(GLint format)
-{
- return FormatTable[format].TexelSize;
-}
-
-
-static const char *
-FormatStr(GLenum format)
-{
- switch (format) {
- case GL_RGB:
- return "GL_RGB";
- case GL_RGBA:
- return "GL_RGBA";
- case GL_BGRA:
- return "GL_BGRA";
- case GL_LUMINANCE:
- return "GL_LUMINANCE";
- case GL_LUMINANCE_ALPHA:
- return "GL_LUMINANCE_ALPHA";
- case GL_ALPHA:
- return "GL_ALPHA";
- default:
- return "";
- }
-}
-
-
-static const char *
-TypeStr(GLenum type)
-{
- switch (type) {
- case GL_UNSIGNED_BYTE:
- return "GL_UNSIGNED_BYTE";
- case GL_UNSIGNED_SHORT:
- return "GL_UNSIGNED_SHORT";
- case GL_UNSIGNED_SHORT_5_6_5:
- return "GL_UNSIGNED_SHORT_5_6_5";
- case GL_UNSIGNED_SHORT_5_6_5_REV:
- return "GL_UNSIGNED_SHORT_5_6_5_REV";
- default:
- return "";
- }
-}
-
-/* On x86, there is a performance cliff for memcpy to texture memory
- * for sources below 64 byte alignment. We do our best with this in
- * the driver, but it is better if the images are correctly aligned to
- * start with:
- */
-#define ALIGN (1<<12)
-
-static unsigned long align(unsigned long value, unsigned long a)
-{
- return (value + a - 1) & ~(a-1);
-}
-
-static void
-MeasureDownloadRate(void)
-{
- const int w = TexWidth + 2 * TexBorder;
- const int h = TexHeight + 2 * TexBorder;
- const int image_bytes = align(w * h * BytesPerTexel(Format), ALIGN);
- const int bytes = image_bytes * NR_TEXOBJ;
- GLubyte *orig_texImage, *orig_getImage;
- GLubyte *texImage;
- GLdouble t0, t1, time;
- int count;
- int i;
- int offset = 0;
- GLdouble total = 0; /* ints will tend to overflow */
-
- printf("allocating %d bytes for %d %dx%d images\n",
- bytes, NR_TEXOBJ, w, h);
-
- orig_texImage = (GLubyte *) malloc(bytes + ALIGN);
- orig_getImage = (GLubyte *) malloc(image_bytes + ALIGN);
- if (!orig_texImage || !orig_getImage) {
- DownloadRate = 0.0;
- free(orig_texImage);
- free(orig_getImage);
- return;
- }
-
- printf("alloc %p %p\n", orig_texImage, orig_getImage);
-
- texImage = (GLubyte *)align((unsigned long)orig_texImage, ALIGN);
-
- for (i = 1; !(((unsigned long)texImage) & i); i<<=1)
- ;
- printf("texture image alignment: %d bytes (%p)\n", i, texImage);
-
- for (i = 0; i < bytes; i++) {
- texImage[i] = i & 0xff;
- }
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- glPixelStorei(GL_PACK_ALIGNMENT, 1);
-
- if (ScaleAndBias) {
- glPixelTransferf(GL_RED_SCALE, 0.5);
- glPixelTransferf(GL_GREEN_SCALE, 0.5);
- glPixelTransferf(GL_BLUE_SCALE, 0.5);
- glPixelTransferf(GL_RED_BIAS, 0.5);
- glPixelTransferf(GL_GREEN_BIAS, 0.5);
- glPixelTransferf(GL_BLUE_BIAS, 0.5);
- }
- else {
- glPixelTransferf(GL_RED_SCALE, 1.0);
- glPixelTransferf(GL_GREEN_SCALE, 1.0);
- glPixelTransferf(GL_BLUE_SCALE, 1.0);
- glPixelTransferf(GL_RED_BIAS, 0.0);
- glPixelTransferf(GL_GREEN_BIAS, 0.0);
- glPixelTransferf(GL_BLUE_BIAS, 0.0);
- }
-
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
- glEnable(GL_TEXTURE_2D);
-
- count = 0;
- t0 = glutGet(GLUT_ELAPSED_TIME) * 0.001;
- do {
- int img = count%NR_TEXOBJ;
- GLubyte *img_ptr = texImage + img * image_bytes;
-
- glBindTexture(GL_TEXTURE_2D, TexObj[img]);
-
- if (SubImage && count > 0) {
- /* Only update a portion of the image each iteration. This
- * is presumably why you'd want to use texsubimage, otherwise
- * you may as well just call teximage again.
- *
- * A bigger question is whether to use a pointer that moves
- * with each call, ie does the incoming data come from L2
- * cache under normal circumstances, or is it pulled from
- * uncached memory?
- *
- * There's a good argument to say L2 cache, ie you'd expect
- * the data to have been recently generated. It's possible
- * that it could have come from a file read, which may or may
- * not have gone through the cpu.
- */
- glTexSubImage2D(GL_TEXTURE_2D, 0,
- -TexBorder,
- -TexBorder + offset * h/8,
- w,
- h/8,
- FormatTable[Format].Format,
- FormatTable[Format].Type,
-#if 1
- texImage /* likely in L2$ */
-#else
- img_ptr + offset * bytes/8 /* unlikely in L2$ */
-#endif
- );
- offset += 1;
- offset %= 8;
- total += w * h / 8;
- }
- else {
- glTexImage2D(GL_TEXTURE_2D, 0,
- FormatTable[Format].IntFormat, w, h, TexBorder,
- FormatTable[Format].Format,
- FormatTable[Format].Type,
- img_ptr);
- total += w*h;
- }
-
- /* draw a tiny polygon to force texture into texram */
- glBegin(GL_TRIANGLES);
- glTexCoord2f(0, 0); glVertex2f(1, 1);
- glTexCoord2f(1, 0); glVertex2f(3, 1);
- glTexCoord2f(0.5, 1); glVertex2f(2, 3);
- glEnd();
-
- t1 = glutGet(GLUT_ELAPSED_TIME) * 0.001;
- time = t1 - t0;
- count++;
- } while (time < 3.0);
-
- glDisable(GL_TEXTURE_2D);
-
- printf("total texels=%f time=%f\n", total, time);
- DownloadRate = total / time;
-
-
- free(orig_texImage);
- free(orig_getImage);
-
- {
- GLint err = glGetError();
- if (err)
- printf("GL error %d\n", err);
- }
-}
-
-
-static void
-PrintString(const char *s)
-{
- while (*s) {
- glutBitmapCharacter(GLUT_BITMAP_8_BY_13, (int) *s);
- s++;
- }
-}
-
-
-static void
-Display(void)
-{
- const int w = TexWidth + 2 * TexBorder;
- const int h = TexHeight + 2 * TexBorder;
- char s[1000];
-
- glClear(GL_COLOR_BUFFER_BIT);
-
- glRasterPos2i(10, 80);
- sprintf(s, "Texture size[cursor]: %d x %d Border[b]: %d", w, h, TexBorder);
- PrintString(s);
-
- glRasterPos2i(10, 65);
- sprintf(s, "Format[f]: %s Type: %s IntFormat: %s",
- FormatStr(FormatTable[Format].Format),
- TypeStr( FormatTable[Format].Type),
- FormatStr(FormatTable[Format].IntFormat));
- PrintString(s);
-
- glRasterPos2i(10, 50);
- sprintf(s, "Pixel Scale&Bias[p]: %s TexSubImage[s]: %s",
- ScaleAndBias ? "Yes" : "No",
- SubImage ? "Yes" : "No");
- PrintString(s);
-
- if (Mode == 0) {
- glRasterPos2i(200, 10);
- sprintf(s, "...Measuring...");
- PrintString(s);
- glutSwapBuffers();
- glutPostRedisplay();
- Mode++;
- }
- else if (Mode == 1) {
- MeasureDownloadRate();
- glutPostRedisplay();
- Mode++;
- }
- else {
- /* show results */
- glRasterPos2i(10, 10);
- sprintf(s, "Download rate: %g Mtexels/second %g MB/second",
- DownloadRate / 1000000.0,
- DownloadRate * BytesPerTexel(Format) / 1000000.0);
- PrintString(s);
- {
- GLint r, g, b, a, l, i;
- glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_RED_SIZE, &r);
- glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_GREEN_SIZE, &g);
- glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_BLUE_SIZE, &b);
- glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_ALPHA_SIZE, &a);
- glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_LUMINANCE_SIZE, &l);
- glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_INTENSITY_SIZE, &i);
- sprintf(s, "TexelBits: R=%d G=%d B=%d A=%d L=%d I=%d", r, g, b, a, l, i);
- glRasterPos2i(10, 25);
- PrintString(s);
- }
-
- glutSwapBuffers();
- }
-}
-
-
-static void
-Reshape(int width, int height)
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glOrtho(0, width, 0, height, -1, 1);
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
-}
-
-
-
-static void
-Key(unsigned char key, int x, int y)
-{
- (void) x;
- (void) y;
- switch (key) {
- case ' ':
- Mode = 0;
- break;
- case 'b':
- /* toggle border */
- TexBorder = 1 - TexBorder;
- Mode = 0;
- break;
- case 'f':
- /* change format */
- Format = (Format + 1) % NUM_FORMATS;
- Mode = 0;
- break;
- case 'F':
- /* change format */
- Format = (Format - 1) % NUM_FORMATS;
- Mode = 0;
- break;
- case 'p':
- /* toggle border */
- ScaleAndBias = !ScaleAndBias;
- Mode = 0;
- break;
- case 's':
- SubImage = !SubImage;
- Mode = 0;
- break;
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void
-SpecialKey(int key, int x, int y)
-{
- (void) x;
- (void) y;
- switch (key) {
- case GLUT_KEY_UP:
- if (TexHeight < MaxSize)
- TexHeight *= 2;
- break;
- case GLUT_KEY_DOWN:
- if (TexHeight > 1)
- TexHeight /= 2;
- break;
- case GLUT_KEY_LEFT:
- if (TexWidth > 1)
- TexWidth /= 2;
- break;
- case GLUT_KEY_RIGHT:
- if (TexWidth < MaxSize)
- TexWidth *= 2;
- break;
- }
- Mode = 0;
- glutPostRedisplay();
-}
-
-
-static void
-Init(void)
-{
- printf("GL_VENDOR = %s\n", (const char *) glGetString(GL_VENDOR));
- printf("GL_VERSION = %s\n", (const char *) glGetString(GL_VERSION));
- printf("GL_RENDERER = %s\n", (const char *) glGetString(GL_RENDERER));
-}
-
-
-int
-main(int argc, char *argv[])
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 600, 100 );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH );
- glutCreateWindow(argv[0]);
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutSpecialFunc( SpecialKey );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/texfilt.c b/progs/tests/texfilt.c
deleted file mode 100644
index fa919dba62..0000000000
--- a/progs/tests/texfilt.c
+++ /dev/null
@@ -1,400 +0,0 @@
-/*
- * (C) Copyright IBM Corporation 2005
- * 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
- * on the rights to use, copy, modify, merge, publish, distribute, sub
- * license, 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 (including the next
- * paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
- * IBM AND/OR THEIR SUPPLIERS 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.
- */
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-const GLenum filter_modes[] = {
- GL_NEAREST,
- GL_LINEAR,
- GL_NEAREST_MIPMAP_NEAREST,
- GL_NEAREST_MIPMAP_LINEAR,
- GL_LINEAR_MIPMAP_NEAREST,
- GL_LINEAR_MIPMAP_LINEAR,
-};
-
-static GLenum min_filter = GL_LINEAR_MIPMAP_LINEAR;
-static GLenum mag_filter = GL_LINEAR;
-
-static unsigned segments = 64;
-static GLfloat * position_data = NULL;
-static GLfloat * texcoord_data = NULL;
-static GLfloat max_anisotropy = 0.0;
-static GLfloat anisotropy = 1.0;
-
-static void generate_tunnel( unsigned num_segs, GLfloat ** pos_data,
- GLfloat ** tex_data );
-static void generate_textures( unsigned mode );
-
-#define min(a,b) ( (a) < (b) ) ? (a) : (b)
-#define max(a,b) ( (a) > (b) ) ? (a) : (b)
-
-
-static void Display( void )
-{
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, min_filter );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, mag_filter );
-
- if ( max_anisotropy > 0.0 ) {
- glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT,
- anisotropy );
- }
-
- glClear( GL_COLOR_BUFFER_BIT );
- glLoadIdentity();
- glTranslatef( 0.0f, 0.0f, -19.0f );
-
- glVertexPointer( 4, GL_FLOAT, 0, position_data );
- glTexCoordPointer( 2, GL_FLOAT, 0, texcoord_data );
- glEnableClientState( GL_VERTEX_ARRAY );
- glEnableClientState( GL_TEXTURE_COORD_ARRAY );
- glDrawArrays( GL_QUADS, 0, 4 * segments );
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport(0, 0, width, height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- gluPerspective(45.0f, (GLfloat)(width)/(GLfloat)(height), 0.1f, 100.0f);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- GLfloat new_anisotropy = anisotropy;
-
- (void) x;
- (void) y;
-
-
- switch( key ) {
- case 'a': {
- new_anisotropy = anisotropy - 1.0;
- break;
- }
-
- case 'A': {
- new_anisotropy = anisotropy + 1.0;
- break;
- }
-
- case 's': {
- segments--;
- if ( segments < 3 ) {
- segments = 3;
- }
- generate_tunnel( segments, & position_data, & texcoord_data );
- break;
- }
-
- case 'S': {
- segments++;
- if ( segments > 128 ) {
- segments = 128;
- }
- generate_tunnel( segments, & position_data, & texcoord_data );
- break;
- }
- case 'q':
- case 'Q':
- case 27:
- exit(0);
- break;
- }
-
- new_anisotropy = max( new_anisotropy, 1.0 );
- new_anisotropy = min( new_anisotropy, max_anisotropy );
- if ( new_anisotropy != anisotropy ) {
- anisotropy = new_anisotropy;
- printf( "Texture anisotropy: %f%s\n", anisotropy,
- (anisotropy == 1.0) ? " (disabled)" : "" );
- }
-
- glutPostRedisplay();
-}
-
-
-static void SpecialKey( int key, int x, int y )
-{
- (void) x;
- (void) y;
- (void) key;
- glutPostRedisplay();
-}
-
-
-static void menu_handler( int selection )
-{
- switch( selection >> 3 ) {
- case 0:
- glBindTexture( GL_TEXTURE_2D, selection );
- break;
-
- case 1:
- min_filter = filter_modes[ selection & 7 ];
- break;
-
- case 2:
- mag_filter = filter_modes[ selection & 7 ];
- break;
- }
-
- glutPostRedisplay();
-}
-
-
-static void Init( void )
-{
- glDisable(GL_CULL_FACE);
- glEnable(GL_TEXTURE_2D);
- glClearColor(0.0f, 0.0f, 0.4f, 0.0f);
- glShadeModel(GL_SMOOTH);
- glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
-
- generate_tunnel( segments, & position_data, & texcoord_data );
-
- glBindTexture( GL_TEXTURE_2D, 1 );
- generate_textures(1);
-
- glBindTexture( GL_TEXTURE_2D, 2 );
- generate_textures(2);
-
- glBindTexture( GL_TEXTURE_2D, 3 );
- generate_textures(3);
-
- if ( glutExtensionSupported( "GL_EXT_texture_filter_anisotropic" ) ) {
- glGetFloatv( GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, & max_anisotropy );
- }
-
- printf("Maximum texture anisotropy: %f\n", max_anisotropy );
-
- /* Create the menus. */
-
- glutCreateMenu( menu_handler );
- glutAddMenuEntry( "Min filter: GL_NEAREST", 8 + 0 );
- glutAddMenuEntry( "Min filter: GL_LINEAR", 8 + 1 );
- glutAddMenuEntry( "Min filter: GL_NEAREST_MIMMAP_NEAREST", 8 + 2 );
- glutAddMenuEntry( "Min filter: GL_NEAREST_MIMMAP_LINEAR", 8 + 3 );
- glutAddMenuEntry( "Min filter: GL_LINEAR_MIMMAP_NEAREST", 8 + 4 );
- glutAddMenuEntry( "Min filter: GL_LINEAR_MIMMAP_LINEAR", 8 + 5 );
- glutAddMenuEntry( "Mag filter: GL_NEAREST", 16 + 0 );
- glutAddMenuEntry( "Mag filter: GL_LINEAR", 16 + 1 );
- glutAddMenuEntry( "Texture: regular mipmaps", 1 );
- glutAddMenuEntry( "Texture: blended mipmaps", 2 );
- glutAddMenuEntry( "Texture: color mipmaps", 3 );
- glutAttachMenu( GLUT_RIGHT_BUTTON );
-}
-
-
-static void generate_tunnel( unsigned num_segs, GLfloat ** pos_data,
- GLfloat ** tex_data )
-{
- const GLfloat far_distance = 20.0f;
- const GLfloat near_distance = -90.0f;
- const GLfloat far_tex = 30.0f;
- const GLfloat near_tex = 0.0f;
- const GLfloat angle_step = (2 * M_PI) / num_segs;
- const GLfloat tex_coord_step = 2.0 / num_segs;
- GLfloat angle = 0.0f;
- GLfloat tex_coord = 0.0f;
- unsigned i;
- GLfloat * position;
- GLfloat * texture;
-
-
- position = realloc( *pos_data, sizeof( GLfloat ) * num_segs * 4 * 4 );
- texture = realloc( *tex_data, sizeof( GLfloat ) * num_segs * 4 * 2 );
-
- *pos_data = position;
- *tex_data = texture;
-
- for ( i = 0 ; i < num_segs ; i++ ) {
- position[0] = 2.5 * sinf( angle );
- position[1] = 2.5 * cosf( angle );
- position[2] = (i & 1) ? far_distance : near_distance;
- position[3] = 1.0f;
-
- position[4] = position[0];
- position[5] = position[1];
- position[6] = (i & 1) ? near_distance : far_distance;
- position[7] = 1.0f;
-
- position += 8;
-
- texture[0] = tex_coord;
- texture[1] = (i & 1) ? far_tex : near_tex;
- texture += 2;
-
- texture[0] = tex_coord;
- texture[1] = (i & 1) ? near_tex : far_tex;
- texture += 2;
-
- angle += angle_step;
- tex_coord += tex_coord_step;
-
- position[0] = 2.5 * sinf( angle );
- position[1] = 2.5 * cosf( angle );
- position[2] = (i & 1) ? near_distance : far_distance;
- position[3] = 1.0f;
-
- position[4] = position[0];
- position[5] = position[1];
- position[6] = (i & 1) ? far_distance : near_distance;
- position[7] = 1.0f;
-
- position += 8;
-
- texture[0] = tex_coord;
- texture[1] = (i & 1) ? near_tex : far_tex;
- texture += 2;
-
- texture[0] = tex_coord;
- texture[1] = (i & 1) ? far_tex : near_tex;
- texture += 2;
- }
-}
-
-
-static void generate_textures( unsigned mode )
-{
-#define LEVEL_COLORS 6
- const GLfloat colors[LEVEL_COLORS][3] = {
- { 1.0, 0.0, 0.0 }, /* 32 x 32 */
- { 0.0, 1.0, 0.0 }, /* 16 x 16 */
- { 0.0, 0.0, 1.0 }, /* 8 x 8 */
- { 1.0, 0.0, 1.0 }, /* 4 x 4 */
- { 1.0, 1.0, 1.0 }, /* 2 x 2 */
- { 1.0, 1.0, 0.0 } /* 1 x 1 */
- };
- const unsigned checkers_per_level = 2;
- GLfloat * tex;
- unsigned level;
- unsigned size;
- GLint max_size;
-
-
- glGetIntegerv( GL_MAX_TEXTURE_SIZE, & max_size );
- if ( max_size > 512 ) {
- max_size = 512;
- }
-
- tex = malloc( sizeof( GLfloat ) * 3 * max_size * max_size );
-
- level = 0;
- for ( size = max_size ; size > 0 ; size >>= 1 ) {
- unsigned divisor = size / checkers_per_level;
- unsigned i;
- unsigned j;
- GLfloat checkers[2][3];
-
-
- if ((level == 0) || (mode == 1)) {
- checkers[0][0] = 1.0;
- checkers[0][1] = 1.0;
- checkers[0][2] = 1.0;
- checkers[1][0] = 0.0;
- checkers[1][1] = 0.0;
- checkers[1][2] = 0.0;
- }
- else if (mode == 2) {
- checkers[0][0] = colors[level % LEVEL_COLORS][0];
- checkers[0][1] = colors[level % LEVEL_COLORS][1];
- checkers[0][2] = colors[level % LEVEL_COLORS][2];
- checkers[1][0] = colors[level % LEVEL_COLORS][0] * 0.5;
- checkers[1][1] = colors[level % LEVEL_COLORS][1] * 0.5;
- checkers[1][2] = colors[level % LEVEL_COLORS][2] * 0.5;
- }
- else {
- checkers[0][0] = colors[level % LEVEL_COLORS][0];
- checkers[0][1] = colors[level % LEVEL_COLORS][1];
- checkers[0][2] = colors[level % LEVEL_COLORS][2];
- checkers[1][0] = colors[level % LEVEL_COLORS][0];
- checkers[1][1] = colors[level % LEVEL_COLORS][1];
- checkers[1][2] = colors[level % LEVEL_COLORS][2];
- }
-
- if ( divisor == 0 ) {
- divisor = 1;
-
- checkers[0][0] = (checkers[0][0] + checkers[1][0]) / 2;
- checkers[0][1] = (checkers[0][0] + checkers[1][0]) / 2;
- checkers[0][2] = (checkers[0][0] + checkers[1][0]) / 2;
- checkers[1][0] = checkers[0][0];
- checkers[1][1] = checkers[0][1];
- checkers[1][2] = checkers[0][2];
- }
-
-
- for ( i = 0 ; i < size ; i++ ) {
- for ( j = 0 ; j < size ; j++ ) {
- const unsigned idx = ((i ^ j) / divisor) & 1;
-
- tex[ ((i * size) + j) * 3 + 0] = checkers[ idx ][0];
- tex[ ((i * size) + j) * 3 + 1] = checkers[ idx ][1];
- tex[ ((i * size) + j) * 3 + 2] = checkers[ idx ][2];
- }
- }
-
- glTexImage2D( GL_TEXTURE_2D, level, GL_RGB, size, size, 0,
- GL_RGB, GL_FLOAT, tex );
- level++;
- }
-
- free( tex );
-}
-
-
-int main( int argc, char ** argv )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 800, 600 );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE );
- glutCreateWindow( "Texture Filter Test" );
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutSpecialFunc( SpecialKey );
- glutDisplayFunc( Display );
-
- Init();
-
- printf("\nUse the right-button menu to select the texture and filter mode.\n");
- printf("Use 'A' and 'a' to increase and decrease the aniotropy.\n");
- printf("Use 'S' and 's' to increase and decrease the number of cylinder segments.\n");
- printf("Use 'q' to exit.\n\n");
-
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/texgenmix.c b/progs/tests/texgenmix.c
deleted file mode 100644
index 008da8625e..0000000000
--- a/progs/tests/texgenmix.c
+++ /dev/null
@@ -1,642 +0,0 @@
-
-/*
- * Demonstrates mixed texgen/non-texgen texture coordinates.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-#undef max
-#undef min
-#define max( a, b ) ((a) >= (b) ? (a) : (b))
-#define min( a, b ) ((a) <= (b) ? (a) : (b))
-
-GLfloat labelColor0[4] = { 1.0, 1.0, 1.0, 1.0 };
-GLfloat labelColor1[4] = { 1.0, 1.0, 0.4, 1.0 };
-GLfloat *labelInfoColor = labelColor0;
-
-GLboolean doubleBuffered = GL_TRUE;
-GLboolean drawTextured = GL_TRUE;
-
-int textureWidth = 64;
-int textureHeight = 64;
-
-int winWidth = 580, winHeight = 720;
-
-const GLfloat texmat_swap_rq[16] = { 1.0, 0.0, 0.0, 0.0,
- 0.0, 1.0, 0.0, 0.0,
- 0.0, 0.0, 0.0, 1.0,
- 0.0, 0.0, 1.0, 0.0};
-
-const GLfloat nullPlane[4] = { 0.0, 0.0, 0.0, 0.0 };
-const GLfloat ObjPlaneS1[4] = { 1.0, 0.0, 1.0, 0.0 };
-const GLfloat ObjPlaneS2[4] = { 0.5, 0.0, 0.0, 0.0 };
-const GLfloat ObjPlaneS3[4] = { 1.0, 0.0, 0.0, 0.0 };
-const GLfloat ObjPlaneT[4] = { 0.0, 1.0, 0.0, 0.0 };
-const GLfloat ObjPlaneT2[4] = { 0.0, 0.5, 0.0, 0.0 };
-const GLfloat ObjPlaneT3[4] = { 0.0, 1.0, 0.0, 0.0 };
-const GLfloat ObjPlaneR[4] = { 0.0, 0.0, 1.0, 0.0 };
-const GLfloat ObjPlaneQ[4] = { 0.0, 0.0, 0.0, 0.5 };
-
-
-static void checkErrors( void )
-{
- GLenum error;
-
- while ( (error = glGetError()) != GL_NO_ERROR ) {
- fprintf( stderr, "Error: %s\n", (char *) gluErrorString( error ) );
- }
-}
-
-static void drawString( const char *string, GLfloat x, GLfloat y,
- const GLfloat color[4] )
-{
- glColor4fv( color );
- glRasterPos2f( x, y );
-
- while ( *string ) {
- glutBitmapCharacter( GLUT_BITMAP_TIMES_ROMAN_10, *string );
- string++;
- }
-}
-
-static void begin2D( int width, int height )
-{
- glMatrixMode( GL_PROJECTION );
-
- glPushMatrix();
- glLoadIdentity();
-
- glOrtho( 0, width, 0, height, -1, 1 );
- glMatrixMode( GL_MODELVIEW );
-
- glPushMatrix();
- glLoadIdentity();
-}
-
-static void end2D( void )
-{
- glMatrixMode( GL_PROJECTION );
- glPopMatrix();
- glMatrixMode( GL_MODELVIEW );
- glPopMatrix();
-}
-
-static void initialize( void )
-{
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
-
- glOrtho( -1.5, 1.5, -1.5, 1.5, -1.5, 1.5 );
-
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
-
- glShadeModel( GL_FLAT );
-}
-
-/* ARGSUSED1 */
-static void keyboard( unsigned char c, int x, int y )
-{
- switch ( c ) {
- case 't':
- drawTextured = !drawTextured;
- break;
- case 27: /* Escape key should force exit. */
- exit(0);
- break;
- default:
- break;
- }
- glutPostRedisplay();
-}
-
-/* ARGSUSED1 */
-static void special( int key, int x, int y )
-{
- switch ( key ) {
- case GLUT_KEY_DOWN:
- break;
- case GLUT_KEY_UP:
- break;
- case GLUT_KEY_LEFT:
- break;
- case GLUT_KEY_RIGHT:
- break;
- default:
- break;
- }
- glutPostRedisplay();
-}
-
-static void
-reshape( int w, int h )
-{
- winWidth = w;
- winHeight = h;
- /* No need to call glViewPort here since "draw" calls it! */
-}
-
-static void loadTexture( int width, int height )
-{
- int alphaSize = 1;
- int rgbSize = 3;
- GLubyte *texImage, *p;
- int elementsPerGroup, elementSize, groupSize, rowSize;
- int i, j;
-
-
- elementsPerGroup = alphaSize + rgbSize;
- elementSize = sizeof(GLubyte);
- groupSize = elementsPerGroup * elementSize;
- rowSize = width * groupSize;
-
- if ( (texImage = (GLubyte *) malloc( height * rowSize ) ) == NULL ) {
- fprintf( stderr, "texture malloc failed\n" );
- return;
- }
-
- for ( i = 0 ; i < height ; i++ )
- {
- p = texImage + i * rowSize;
-
- for ( j = 0 ; j < width ; j++ )
- {
- if ( rgbSize > 0 )
- {
- /**
- ** +-----+-----+
- ** | | |
- ** | R | G |
- ** | | |
- ** +-----+-----+
- ** | | |
- ** | Y | B |
- ** | | |
- ** +-----+-----+
- **/
- if ( i > height / 2 ) {
- if ( j < width / 2 ) {
- p[0] = 0xff;
- p[1] = 0x00;
- p[2] = 0x00;
- } else {
- p[0] = 0x00;
- p[1] = 0xff;
- p[2] = 0x00;
- }
- } else {
- if ( j < width / 2 ) {
- p[0] = 0xff;
- p[1] = 0xff;
- p[2] = 0x00;
- } else {
- p[0] = 0x00;
- p[1] = 0x00;
- p[2] = 0xff;
- }
- }
- p += 3 * elementSize;
- }
-
- if ( alphaSize > 0 )
- {
- /**
- ** +-----------+
- ** | W |
- ** | +-----+ |
- ** | | | |
- ** | | B | |
- ** | | | |
- ** | +-----+ |
- ** | |
- ** +-----------+
- **/
- int i2 = i - height / 2;
- int j2 = j - width / 2;
- int h8 = height / 8;
- int w8 = width / 8;
- if ( -h8 <= i2 && i2 <= h8 && -w8 <= j2 && j2 <= w8 ) {
- p[0] = 0x00;
- } else if ( -2 * h8 <= i2 && i2 <= 2 * h8 && -2 * w8 <= j2 && j2 <= 2 * w8 ) {
- p[0] = 0x55;
- } else if ( -3 * h8 <= i2 && i2 <= 3 * h8 && -3 * w8 <= j2 && j2 <= 3 * w8 ) {
- p[0] = 0xaa;
- } else {
- p[0] = 0xff;
- }
- p += elementSize;
- }
- }
- }
-
- glTexImage2D( GL_TEXTURE_2D, 0,
- GL_RGBA, width, height, 0,
- GL_RGBA, GL_UNSIGNED_BYTE, texImage );
-
- free( texImage );
-}
-
-
-static void drawSample( int x, int y, int w, int h,
- int texgenenabled, int coordnr )
-{
- char buf[255];
-
- glViewport( x, y, w, h );
- glScissor( x, y, w, h );
-
- glClearColor( 0.1, 0.1, 0.1, 1.0 );
- glClear( GL_COLOR_BUFFER_BIT );
-
- begin2D( w, h );
- if (texgenenabled == 2) {
- sprintf( buf, "TexCoord%df", coordnr);
- drawString( buf, 10, h - 15, labelInfoColor );
- sprintf( buf, "texgen enabled for %s coordinate(s)", coordnr == 2 ? "S" : "S/T");
- drawString( buf, 10, 5, labelInfoColor );
- }
- else if (texgenenabled == 0) {
- sprintf( buf, "TexCoord%df", coordnr);
- drawString( buf, 10, h - 15, labelInfoColor );
- drawString( "no texgen", 10, 5, labelInfoColor );
- }
- else if (texgenenabled == 1) {
- drawString( "no TexCoord", 10, h - 15, labelInfoColor );
- sprintf( buf, "texgen enabled for %s coordinate(s)",
- coordnr == 2 ? "S/T" : (coordnr == 3 ? "S/T/R" : "S/T/R/Q"));
- drawString( buf, 10, 5, labelInfoColor );
- }
-
- end2D();
-
- glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE );
-
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST );
-
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP );
-
- loadTexture( textureWidth, textureHeight );
-
- if ( drawTextured ) {
- glEnable( GL_TEXTURE_2D );
- }
-
- glDisable( GL_TEXTURE_GEN_S );
- glDisable( GL_TEXTURE_GEN_T );
- glDisable( GL_TEXTURE_GEN_R );
- glDisable( GL_TEXTURE_GEN_Q );
-
- glMatrixMode( GL_TEXTURE );
- glLoadIdentity();
- glMatrixMode( GL_MODELVIEW );
- glPushMatrix();
-
- switch (coordnr) {
- case 2:
- switch (texgenenabled) {
- case 0:
- glBegin( GL_QUADS );
- glTexCoord2f( 0.0, 0.0 );
- glVertex2f( -0.8, -0.8 );
-
- glTexCoord2f( 1.0, 0.0 );
- glVertex2f( 0.8, -0.8 );
-
- glTexCoord2f( 1.0, 1.0 );
- glVertex2f( 0.8, 0.8 );
-
- glTexCoord2f( 0.0, 1.0 );
- glVertex2f( -0.8, 0.8 );
- glEnd();
- break;
- case 1:
- glTranslatef( -0.8, -0.8, 0.0 );
- glScalef( 1.6, 1.6, 1.0 );
- glTexGeni( GL_S, GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR );
- glTexGeni( GL_T, GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR );
- glTexGeni( GL_R, GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR );
- glTexGeni( GL_Q, GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR );
- glTexGenfv(GL_S, GL_OBJECT_PLANE, ObjPlaneS3);
- glTexGenfv(GL_T, GL_OBJECT_PLANE, ObjPlaneT3);
- glTexGenfv(GL_R, GL_OBJECT_PLANE, nullPlane);
- glTexGenfv(GL_Q, GL_OBJECT_PLANE, nullPlane);
-
- glEnable( GL_TEXTURE_GEN_S );
- glEnable( GL_TEXTURE_GEN_T );
-
- /* Issue a texcoord here to be sure Q isn't left over from a
- * previous sample.
- */
- glTexCoord1f( 0.0 );
- glBegin( GL_QUADS );
- glVertex2f( 0.0, 0.0 );
- glVertex2f( 1.0, 0.0 );
- glVertex2f( 1.0, 1.0 );
- glVertex2f( 0.0, 1.0 );
- glEnd();
- break;
- case 2:
- /* make sure that texgen T and non-texgen S coordinate are wrong */
- glTexGeni( GL_S, GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR );
- glTexGeni( GL_T, GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR );
- glTexGeni( GL_R, GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR );
- glTexGeni( GL_Q, GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR );
- glTexGenfv(GL_S, GL_OBJECT_PLANE, ObjPlaneS1);
- glTexGenfv(GL_T, GL_OBJECT_PLANE, nullPlane);
- glTexGenfv(GL_R, GL_OBJECT_PLANE, nullPlane);
- glTexGenfv(GL_Q, GL_OBJECT_PLANE, nullPlane);
-
- glEnable( GL_TEXTURE_GEN_S );
-
- glBegin( GL_QUADS );
- /* use z coordinate to get correct texgen values... */
- glTexCoord2f( 0.0, 0.0 );
- glVertex3f( -0.8, -0.8, 0.8 );
-
- glTexCoord2f( 0.0, 0.0 );
- glVertex3f( 0.8, -0.8, 0.2 );
-
- glTexCoord2f( 0.0, 1.0 );
- glVertex3f( 0.8, 0.8, 0.2 );
-
- glTexCoord2f( 0.0, 1.0 );
- glVertex3f( -0.8, 0.8, 0.8 );
- glEnd();
- break;
- }
- break;
- case 3:
- glMatrixMode( GL_TEXTURE );
- glLoadMatrixf( texmat_swap_rq );
- glMatrixMode( GL_MODELVIEW );
- glTranslatef( -0.8, -0.8, 0.0 );
- glScalef( 1.6, 1.6, 1.0 );
- switch (texgenenabled) {
- case 0:
- glBegin( GL_QUADS );
- glTexCoord3f( 0.0, 0.0, 0.5 );
- glVertex2f( 0.0, 0.0 );
-
- glTexCoord3f( 0.5, 0.0, 0.5 );
- glVertex2f( 1.0, 0.0 );
-
- glTexCoord3f( 0.5, 0.5, 0.5 );
- glVertex2f( 1.0, 1.0 );
-
- glTexCoord3f( 0.0, 0.5, 0.5 );
- glVertex2f( 0.0, 1.0 );
- glEnd();
- break;
- case 1:
- glTexGeni( GL_S, GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR );
- glTexGeni( GL_T, GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR );
- glTexGeni( GL_R, GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR );
- glTexGeni( GL_Q, GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR );
- glTexGenfv(GL_S, GL_OBJECT_PLANE, ObjPlaneS2);
- glTexGenfv(GL_T, GL_OBJECT_PLANE, ObjPlaneT2);
- glTexGenfv(GL_R, GL_OBJECT_PLANE, ObjPlaneR);
- glTexGenfv(GL_Q, GL_OBJECT_PLANE, nullPlane);
-
- glEnable( GL_TEXTURE_GEN_S );
- glEnable( GL_TEXTURE_GEN_T );
- glEnable( GL_TEXTURE_GEN_R );
-
- glTexCoord1f( 0.0 ); /* to make sure Q is 1.0 */
- glBegin( GL_QUADS );
- glVertex3f( 0.0, 0.0, 0.5 );
- glVertex3f( 1.0, 0.0, 0.5 );
- glVertex3f( 1.0, 1.0, 0.5 );
- glVertex3f( 0.0, 1.0, 0.5 );
- glEnd();
- break;
- case 2:
- /* make sure that texgen R/Q and non-texgen S/T coordinates are wrong */
- glTexGeni( GL_S, GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR );
- glTexGeni( GL_T, GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR );
- glTexGeni( GL_R, GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR );
- glTexGeni( GL_Q, GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR );
- glTexGenfv(GL_S, GL_OBJECT_PLANE, ObjPlaneS2);
- glTexGenfv(GL_T, GL_OBJECT_PLANE, ObjPlaneT2);
- glTexGenfv(GL_R, GL_OBJECT_PLANE, nullPlane);
- glTexGenfv(GL_Q, GL_OBJECT_PLANE, nullPlane);
-
- glEnable( GL_TEXTURE_GEN_S );
- glEnable( GL_TEXTURE_GEN_T );
-
- glBegin( GL_QUADS );
- glTexCoord3f( 0.0, 0.0, 0.5 );
- glVertex2f( 0.0, 0.0);
-
- glTexCoord3f( 0.0, 0.0, 0.5 );
- glVertex2f( 1.0, 0.0);
-
- glTexCoord3f( 0.0, 0.0, 0.5 );
- glVertex2f( 1.0, 1.0);
-
- glTexCoord3f( 0.0, 0.0, 0.5 );
- glVertex2f( 0.0, 1.0);
- glEnd();
- break;
- }
- break;
- case 4:
- switch (texgenenabled) {
- case 0:
- glBegin( GL_QUADS );
- /* don't need r coordinate but still setting it I'm mean */
- glTexCoord4f( 0.0, 0.0, 0.0, 0.5 );
- glVertex2f( -0.8, -0.8 );
-
- glTexCoord4f( 0.5, 0.0, 0.2, 0.5 );
- glVertex2f( 0.8, -0.8 );
-
- glTexCoord4f( 0.5, 0.5, 0.5, 0.5 );
- glVertex2f( 0.8, 0.8 );
-
- glTexCoord4f( 0.0, 0.5, 0.5, 0.5 );
- glVertex2f( -0.8, 0.8 );
- glEnd();
- break;
- case 1:
- glTranslatef( -0.8, -0.8, 0.0 );
- glScalef( 1.6, 1.6, 1.0 );
- /* make sure that texgen R/Q and non-texgen S/T coordinates are wrong */
- glTexGeni( GL_S, GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR );
- glTexGeni( GL_T, GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR );
- glTexGeni( GL_R, GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR );
- glTexGeni( GL_Q, GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR );
- glTexGenfv(GL_S, GL_OBJECT_PLANE, ObjPlaneS2);
- glTexGenfv(GL_T, GL_OBJECT_PLANE, ObjPlaneT2);
- glTexGenfv(GL_R, GL_OBJECT_PLANE, ObjPlaneR);
- glTexGenfv(GL_Q, GL_OBJECT_PLANE, ObjPlaneQ);
-
- glEnable( GL_TEXTURE_GEN_S );
- glEnable( GL_TEXTURE_GEN_T );
- glEnable( GL_TEXTURE_GEN_R );
- glEnable( GL_TEXTURE_GEN_Q );
-
- glBegin( GL_QUADS );
- glVertex2f( 0.0, 0.0 );
- glVertex2f( 1.0, 0.0 );
- glVertex2f( 1.0, 1.0 );
- glVertex2f( 0.0, 1.0 );
- glEnd();
- break;
- case 2:
- glTranslatef( -0.8, -0.8, 0.0 );
- glScalef( 1.6, 1.6, 1.0 );
- /* make sure that texgen R/Q and non-texgen S/T coordinates are wrong */
- glTexGeni( GL_S, GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR );
- glTexGeni( GL_T, GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR );
- glTexGeni( GL_R, GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR );
- glTexGeni( GL_Q, GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR );
- glTexGenfv(GL_S, GL_OBJECT_PLANE, ObjPlaneS2);
- glTexGenfv(GL_T, GL_OBJECT_PLANE, ObjPlaneT2);
- glTexGenfv(GL_R, GL_OBJECT_PLANE, nullPlane);
- glTexGenfv(GL_Q, GL_OBJECT_PLANE, nullPlane);
-
- glEnable( GL_TEXTURE_GEN_S );
- glEnable( GL_TEXTURE_GEN_T );
-
- glBegin( GL_QUADS );
- glTexCoord4f( 0.0, 0.0, 0.0, 0.5 );
- glVertex2f( 0.0, 0.0 );
-
- glTexCoord4f( 0.0, 0.0, 0.2, 0.5 );
- glVertex2f( 1.0, 0.0 );
-
- glTexCoord4f( 0.0, 0.0, 0.5, 0.5 );
- glVertex2f( 1.0, 1.0 );
-
- glTexCoord4f( 0.0, 0.0, 0.75, 0.5 );
- glVertex2f( 0.0, 1.0 );
- glEnd();
- break;
- }
- break;
- }
-
- glPopMatrix();
- glDisable( GL_TEXTURE_2D );
-
-}
-
-static void display( void )
-{
- int numX = 3, numY = 3;
- float xBase = (float) winWidth * 0.01;
- float xOffset = (winWidth - xBase) / numX;
- float xSize = max( xOffset - xBase, 1 );
- float yBase = (float) winHeight * 0.01;
- float yOffset = (winHeight - yBase) / numY;
- float ySize = max( yOffset - yBase, 1 );
- float x, y;
- int i, j;
-
- glViewport( 0, 0, winWidth, winHeight );
- glDisable( GL_SCISSOR_TEST );
- glClearColor( 0.0, 0.0, 0.0, 0.0 );
- glClear( GL_COLOR_BUFFER_BIT );
- glEnable( GL_SCISSOR_TEST );
-
- x = xBase;
- y = (winHeight - 1) - yOffset;
-
- for ( i = 0 ; i < numY ; i++ )
- {
-
- labelInfoColor = labelColor1;
-
-
- for ( j = 0 ; j < numX ; j++ ) {
- drawSample( x, y, xSize, ySize, i, j+2 );
- x += xOffset;
- }
-
- x = xBase;
- y -= yOffset;
- }
-
- if ( doubleBuffered ) {
- glutSwapBuffers();
- } else {
- glFlush();
- }
-
- checkErrors();
-}
-
-static void usage( char *name )
-{
- fprintf( stderr, "usage: %s [ options ]\n", name );
- fprintf( stderr, "\n" );
- fprintf( stderr, "options:\n" );
- fprintf( stderr, " -sb single buffered\n" );
- fprintf( stderr, " -db double buffered\n" );
- fprintf( stderr, " -info print OpenGL driver info\n" );
-}
-
-static void instructions( void )
-{
- fprintf( stderr, "texgenmix - mixed texgen/non-texgen texture coordinate test\n" );
- fprintf( stderr, "all quads should look the same!\n" );
- fprintf( stderr, "\n" );
- fprintf( stderr, " [t] - toggle texturing\n" );
-}
-
-int main( int argc, char *argv[] )
-{
- GLboolean info = GL_FALSE;
- int i;
-
- glutInit( &argc, argv );
-
- for ( i = 1 ; i < argc ; i++ ) {
- if ( !strcmp( "-sb", argv[i] ) ) {
- doubleBuffered = GL_FALSE;
- } else if ( !strcmp( "-db", argv[i] ) ) {
- doubleBuffered = GL_TRUE;
- } else if ( !strcmp( "-info", argv[i] ) ) {
- info = GL_TRUE;
- } else {
- usage( argv[0] );
- exit( 1 );
- }
- }
-
- if ( doubleBuffered ) {
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE );
- } else {
- glutInitDisplayMode( GLUT_RGB | GLUT_SINGLE );
- }
-
- glutInitWindowSize( winWidth, winHeight );
- glutInitWindowPosition( 0, 0 );
- glutCreateWindow( "Mixed texgen/non-texgen texture coordinate test" );
- glewInit();
-
- initialize();
- instructions();
-
- if ( info ) {
- printf( "\n" );
- printf( "GL_RENDERER = %s\n", (char *) glGetString( GL_RENDERER ) );
- printf( "GL_VERSION = %s\n", (char *) glGetString( GL_VERSION ) );
- printf( "GL_VENDOR = %s\n", (char *) glGetString( GL_VENDOR ) ) ;
- printf( "GL_EXTENSIONS = %s\n", (char *) glGetString( GL_EXTENSIONS ) );
- }
-
- glutDisplayFunc( display );
- glutReshapeFunc( reshape );
- glutKeyboardFunc( keyboard );
- glutSpecialFunc( special );
- glutMainLoop();
-
- return 0;
-}
diff --git a/progs/tests/texline.c b/progs/tests/texline.c
deleted file mode 100644
index 1803832b47..0000000000
--- a/progs/tests/texline.c
+++ /dev/null
@@ -1,280 +0,0 @@
-
-/*
- * Test textured lines.
- *
- * Brian Paul
- * September 2000
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-#include "../util/readtex.c" /* I know, this is a hack. */
-
-#define TEXTURE_FILE "../images/girl.rgb"
-
-static GLboolean Antialias = GL_FALSE;
-static GLboolean Animate = GL_FALSE;
-static GLint Texture = 1;
-static GLboolean Stipple = GL_FALSE;
-static GLfloat LineWidth = 1.0;
-
-static GLfloat Xrot = -60.0, Yrot = 0.0, Zrot = 0.0;
-static GLfloat DYrot = 1.0;
-static GLboolean Points = GL_FALSE;
-static GLfloat Scale = 1.0;
-
-static void Idle( void )
-{
- if (Animate) {
- Zrot += DYrot;
- glutPostRedisplay();
- }
-}
-
-
-static void Display( void )
-{
- GLfloat x, y, s, t;
-
- glClear( GL_COLOR_BUFFER_BIT );
-
- glPushMatrix();
- glRotatef(Xrot, 1.0, 0.0, 0.0);
- glRotatef(Yrot, 0.0, 1.0, 0.0);
- glRotatef(Zrot, 0.0, 0.0, 1.0);
- glScalef(Scale, Scale, Scale);
-
- if (Texture)
- glColor3f(1, 1, 1);
-
- if (Points) {
- glBegin(GL_POINTS);
- for (t = 0.0; t <= 1.0; t += 0.025) {
- for (s = 0.0; s <= 1.0; s += 0.025) {
- x = s * 2.0 - 1.0;
- y = t * 2.0 - 1.0;
- if (!Texture)
- glColor3f(1, 0, 1);
- glMultiTexCoord2fARB(GL_TEXTURE1_ARB, t, s);
- glTexCoord2f(s, t);
- glVertex2f(x, y);
- }
- }
- glEnd();
- }
- else {
- glBegin(GL_LINES);
- for (t = 0.0; t <= 1.0; t += 0.025) {
- x = t * 2.0 - 1.0;
- if (!Texture)
- glColor3f(1, 0, 1);
- glTexCoord2f(t, 0.0);
- glMultiTexCoord2fARB(GL_TEXTURE1_ARB, 0.0, t);
- glVertex2f(x, -1.0);
- if (!Texture)
- glColor3f(0, 1, 0);
- glTexCoord2f(t, 1.0);
- glMultiTexCoord2fARB(GL_TEXTURE1_ARB, 1.0, t);
- glVertex2f(x, 1.0);
- }
- glEnd();
- }
-
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- GLfloat ar = (float) width / height;
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -ar, ar, -1.0, 1.0, 10.0, 100.0 );
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -12.0 );
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 'a':
- Antialias = !Antialias;
- if (Antialias) {
- glEnable(GL_LINE_SMOOTH);
- glEnable(GL_POINT_SMOOTH);
- glEnable(GL_BLEND);
- glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- }
- else {
- glDisable(GL_LINE_SMOOTH);
- glDisable(GL_POINT_SMOOTH);
- glDisable(GL_BLEND);
- }
- break;
- case 't':
- Texture++;
- if (Texture > 2)
- Texture = 0;
- if (Texture == 0) {
- glActiveTextureARB(GL_TEXTURE0_ARB);
- glDisable(GL_TEXTURE_2D);
- glActiveTextureARB(GL_TEXTURE1_ARB);
- glDisable(GL_TEXTURE_2D);
- }
- else if (Texture == 1) {
- glActiveTextureARB(GL_TEXTURE0_ARB);
- glEnable(GL_TEXTURE_2D);
- glActiveTextureARB(GL_TEXTURE1_ARB);
- glDisable(GL_TEXTURE_2D);
- }
- else {
- glActiveTextureARB(GL_TEXTURE0_ARB);
- glEnable(GL_TEXTURE_2D);
- glActiveTextureARB(GL_TEXTURE1_ARB);
- glEnable(GL_TEXTURE_2D);
- }
- break;
- case 'w':
- LineWidth -= 0.25;
- if (LineWidth < 0.25)
- LineWidth = 0.25;
- glLineWidth(LineWidth);
- glPointSize(LineWidth);
- break;
- case 'W':
- LineWidth += 0.25;
- if (LineWidth > 8.0)
- LineWidth = 8.0;
- glLineWidth(LineWidth);
- glPointSize(LineWidth);
- break;
- case 'p':
- Points = !Points;
- break;
- case 's':
- Stipple = !Stipple;
- if (Stipple)
- glEnable(GL_LINE_STIPPLE);
- else
- glDisable(GL_LINE_STIPPLE);
- break;
- case ' ':
- Animate = !Animate;
- if (Animate)
- glutIdleFunc(Idle);
- else
- glutIdleFunc(NULL);
- break;
- case 27:
- exit(0);
- break;
- }
- printf("LineWidth, PointSize = %f\n", LineWidth);
- glutPostRedisplay();
-}
-
-
-static void SpecialKey( int key, int x, int y )
-{
- float step = 3.0;
- (void) x;
- (void) y;
-
- switch (key) {
- case GLUT_KEY_UP:
- Xrot += step;
- break;
- case GLUT_KEY_DOWN:
- Xrot -= step;
- break;
- case GLUT_KEY_LEFT:
- Yrot += step;
- break;
- case GLUT_KEY_RIGHT:
- Yrot -= step;
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void Init( int argc, char *argv[] )
-{
- GLfloat r[2];
- GLuint u;
-
- for (u = 0; u < 2; u++) {
- glActiveTextureARB(GL_TEXTURE0_ARB + u);
- glBindTexture(GL_TEXTURE_2D, 10+u);
- if (u == 0)
- glEnable(GL_TEXTURE_2D);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
-
- if (u == 0)
- glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
- else
- glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_ADD);
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- if (!LoadRGBMipmaps(TEXTURE_FILE, GL_RGB)) {
- printf("Error: couldn't load texture image\n");
- exit(1);
- }
- }
-
- glLineStipple(1, 0xff);
-
- if (argc > 1 && strcmp(argv[1], "-info")==0) {
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- printf("GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- printf("GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- printf("GL_EXTENSIONS = %s\n", (char *) glGetString(GL_EXTENSIONS));
- }
-
- glGetFloatv(GL_ALIASED_POINT_SIZE_RANGE, r);
- printf("Non-smooth point size range: %g .. %g\n", r[0], r[1]);
- glGetFloatv(GL_POINT_SIZE_RANGE, r);
- printf("Smoothed point size range: %g .. %g\n", r[0], r[1]);
- glGetFloatv(GL_ALIASED_LINE_WIDTH_RANGE, r);
- printf("Non-smooth line width range: %g .. %g\n", r[0], r[1]);
- glGetFloatv(GL_LINE_WIDTH_RANGE, r);
- printf("Smoothed line width range: %g .. %g\n", r[0], r[1]);
-}
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition(0, 0);
- glutInitWindowSize( 400, 300 );
-
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE );
-
- glutCreateWindow(argv[0] );
- glewInit();
-
- Init(argc, argv);
-
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutSpecialFunc( SpecialKey );
- glutDisplayFunc( Display );
- if (Animate)
- glutIdleFunc( Idle );
-
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/texobj.c b/progs/tests/texobj.c
deleted file mode 100644
index 40bce6e569..0000000000
--- a/progs/tests/texobj.c
+++ /dev/null
@@ -1,284 +0,0 @@
-
-/*
- * Example of using the 1.1 texture object functions.
- * Also, this demo utilizes Mesa's fast texture map path.
- *
- * Brian Paul June 1996 This file is in the public domain.
- */
-
-#include <assert.h>
-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include "GL/glut.h"
-
-static GLuint Window = 0;
-
-static GLuint TexObj[2];
-static GLfloat Angle = 0.0f;
-static GLboolean UseObj = GL_FALSE;
-
-
-#if defined(GL_VERSION_1_1) || defined(GL_VERSION_1_2)
-# define TEXTURE_OBJECT 1
-#elif defined(GL_EXT_texture_object)
-# define TEXTURE_OBJECT 1
-# define glBindTexture(A,B) glBindTextureEXT(A,B)
-# define glGenTextures(A,B) glGenTexturesEXT(A,B)
-# define glDeleteTextures(A,B) glDeleteTexturesEXT(A,B)
-#endif
-
-
-
-
-static void draw( void )
-{
- glClear( GL_COLOR_BUFFER_BIT );
-
- glColor3f( 1.0, 1.0, 1.0 );
-
- /* draw first polygon */
- glPushMatrix();
- glTranslatef( -1.0, 0.0, 0.0 );
- glRotatef( Angle, 0.0, 0.0, 1.0 );
- if (UseObj) {
-#ifdef TEXTURE_OBJECT
- glBindTexture( GL_TEXTURE_2D, TexObj[0] );
-#endif
- }
- else {
- glCallList( TexObj[0] );
- }
- glBegin( GL_POLYGON );
- glTexCoord2f( 0.0, 0.0 ); glVertex2f( -1.0, -1.0 );
- glTexCoord2f( 1.0, 0.0 ); glVertex2f( 1.0, -1.0 );
- glTexCoord2f( 1.0, 1.0 ); glVertex2f( 1.0, 1.0 );
- glTexCoord2f( 0.0, 1.0 ); glVertex2f( -1.0, 1.0 );
- glEnd();
- glPopMatrix();
-
- /* draw second polygon */
- glPushMatrix();
- glTranslatef( 1.0, 0.0, 0.0 );
- glRotatef( Angle-90.0, 0.0, 1.0, 0.0 );
- if (UseObj) {
-#ifdef TEXTURE_OBJECT
- glBindTexture( GL_TEXTURE_2D, TexObj[1] );
-#endif
- }
- else {
- glCallList( TexObj[1] );
- }
- glBegin( GL_POLYGON );
- glTexCoord2f( 0.0, 0.0 ); glVertex2f( -1.0, -1.0 );
- glTexCoord2f( 1.0, 0.0 ); glVertex2f( 1.0, -1.0 );
- glTexCoord2f( 1.0, 1.0 ); glVertex2f( 1.0, 1.0 );
- glTexCoord2f( 0.0, 1.0 ); glVertex2f( -1.0, 1.0 );
- glEnd();
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-
-static void idle( void )
-{
- static double t0 = -1.;
- double dt, t = glutGet(GLUT_ELAPSED_TIME) / 1000.0;
- if (t0 < 0.0)
- t0 = t;
- dt = t - t0;
- t0 = t;
- Angle += 120.0*dt;
- glutPostRedisplay();
-}
-
-
-
-/* change view Angle, exit upon ESC */
-static void key(unsigned char k, int x, int y)
-{
- (void) x;
- (void) y;
- switch (k) {
- case 27:
-#ifdef TEXTURE_OBJECT
- glDeleteTextures( 2, TexObj );
-#endif
- glutDestroyWindow(Window);
- exit(0);
- }
-}
-
-
-
-/* new window size or exposure */
-static void reshape( int width, int height )
-{
- glViewport(0, 0, (GLint)width, (GLint)height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- /* glOrtho( -3.0, 3.0, -3.0, 3.0, -10.0, 10.0 );*/
- glFrustum( -2.0, 2.0, -2.0, 2.0, 6.0, 20.0 );
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -8.0 );
-}
-
-
-static void init( void )
-{
- static int width=8, height=8;
- static GLubyte tex1[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 1, 1, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 1, 1, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0 };
-
- static GLubyte tex2[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 2, 2, 0, 0, 0,
- 0, 0, 2, 0, 0, 2, 0, 0,
- 0, 0, 0, 0, 0, 2, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0,
- 0, 0, 0, 2, 0, 0, 0, 0,
- 0, 0, 2, 2, 2, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0 };
-
- GLubyte tex[64][3];
- GLint i, j;
-
-
- glDisable( GL_DITHER );
-
- /* Setup texturing */
- glEnable( GL_TEXTURE_2D );
- glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL );
- glHint( GL_PERSPECTIVE_CORRECTION_HINT, GL_FASTEST );
-
-
- /* generate texture object IDs */
- if (UseObj) {
-#ifdef TEXTURE_OBJECT
- glGenTextures( 2, TexObj );
-#endif
- }
- else {
- TexObj[0] = glGenLists(2);
- TexObj[1] = TexObj[0]+1;
- }
-
- /* setup first texture object */
- if (UseObj) {
-#ifdef TEXTURE_OBJECT
- glBindTexture( GL_TEXTURE_2D, TexObj[0] );
- assert(glIsTexture(TexObj[0]));
-#endif
- }
- else {
- glNewList( TexObj[0], GL_COMPILE );
- }
- /* red on white */
- for (i=0;i<height;i++) {
- for (j=0;j<width;j++) {
- int p = i*width+j;
- if (tex1[(height-i-1)*width+j]) {
- tex[p][0] = 255; tex[p][1] = 0; tex[p][2] = 0;
- }
- else {
- tex[p][0] = 255; tex[p][1] = 255; tex[p][2] = 255;
- }
- }
- }
-
- glTexImage2D( GL_TEXTURE_2D, 0, 3, width, height, 0,
- GL_RGB, GL_UNSIGNED_BYTE, tex );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT );
- if (!UseObj) {
- glEndList();
- }
- /* end of texture object */
-
- /* setup second texture object */
- if (UseObj) {
-#ifdef TEXTURE_OBJECT
- glBindTexture( GL_TEXTURE_2D, TexObj[1] );
- assert(glIsTexture(TexObj[1]));
-#endif
- assert(!glIsTexture(TexObj[1] + 999));
- }
- else {
- glNewList( TexObj[1], GL_COMPILE );
- }
- /* green on blue */
- for (i=0;i<height;i++) {
- for (j=0;j<width;j++) {
- int p = i*width+j;
- if (tex2[(height-i-1)*width+j]) {
- tex[p][0] = 0; tex[p][1] = 255; tex[p][2] = 0;
- }
- else {
- tex[p][0] = 0; tex[p][1] = 0; tex[p][2] = 255;
- }
- }
- }
- glTexImage2D( GL_TEXTURE_2D, 0, 3, width, height, 0,
- GL_RGB, GL_UNSIGNED_BYTE, tex );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT );
- if (!UseObj) {
- glEndList();
- }
- /* end texture object */
-
-}
-
-
-
-int main( int argc, char *argv[] )
-{
- glutInit(&argc, argv);
- glutInitWindowPosition(0, 0);
- glutInitWindowSize(300, 300);
- glutInitDisplayMode( GLUT_RGB | GLUT_DEPTH | GLUT_DOUBLE );
-
- Window = glutCreateWindow("Texture Objects");
- if (!Window) {
- exit(1);
- }
-
- /* check that renderer has the GL_EXT_texture_object extension
- * or supports OpenGL 1.1
- */
-#ifdef TEXTURE_OBJECT
- {
- char *exten = (char *) glGetString( GL_EXTENSIONS );
- char *version = (char *) glGetString( GL_VERSION );
- if ( strstr( exten, "GL_EXT_texture_object" )
- || strncmp( version, "1.1", 3 )==0
- || strncmp( version, "1.2", 3 )==0 ) {
- UseObj = GL_TRUE;
- }
- }
-#endif
-
- init();
-
- glutReshapeFunc( reshape );
- glutKeyboardFunc( key );
- glutIdleFunc( idle );
- glutDisplayFunc( draw );
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/texobjshare.c b/progs/tests/texobjshare.c
deleted file mode 100644
index 2b31cb6c4d..0000000000
--- a/progs/tests/texobjshare.c
+++ /dev/null
@@ -1,219 +0,0 @@
-/*
- * Create several OpenGL rendering contexts, sharing textures, display
- * lists, etc. Exercise binding, deleting, etc.
- *
- * Brian Paul
- * 21 December 2004
- */
-
-
-#include <GL/gl.h>
-#include <GL/glx.h>
-#include <assert.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <X11/keysym.h>
-
-
-/*
- * Each display/window/context:
- */
-struct context {
- char DisplayName[1000];
- Display *Dpy;
- Window Win;
- GLXContext Context;
-};
-
-
-#define MAX_CONTEXTS 200
-static struct context Contexts[MAX_CONTEXTS];
-static int NumContexts = 0;
-
-
-static void
-Error(const char *display, const char *msg)
-{
- fprintf(stderr, "Error on display %s - %s\n", display, msg);
- exit(1);
-}
-
-
-static struct context *
-CreateContext(const char *displayName, const char *name)
-{
- Display *dpy;
- Window win;
- GLXContext ctx;
- int attrib[] = { GLX_RGBA,
- GLX_RED_SIZE, 1,
- GLX_GREEN_SIZE, 1,
- GLX_BLUE_SIZE, 1,
- GLX_DOUBLEBUFFER,
- None };
- int scrnum;
- XSetWindowAttributes attr;
- unsigned long mask;
- Window root;
- XVisualInfo *visinfo;
- int width = 90, height = 90;
- int xpos = 0, ypos = 0;
-
- if (NumContexts >= MAX_CONTEXTS)
- return NULL;
-
- dpy = XOpenDisplay(displayName);
- if (!dpy) {
- Error(displayName, "Unable to open display");
- return NULL;
- }
-
- scrnum = DefaultScreen(dpy);
- root = RootWindow(dpy, scrnum);
-
- visinfo = glXChooseVisual(dpy, scrnum, attrib);
- if (!visinfo) {
- Error(displayName, "Unable to find RGB, double-buffered visual");
- return NULL;
- }
-
- /* window attributes */
- xpos = (NumContexts % 10) * 100;
- ypos = (NumContexts / 10) * 100;
- attr.background_pixel = 0;
- attr.border_pixel = 0;
- attr.colormap = XCreateColormap(dpy, root, visinfo->visual, AllocNone);
- attr.event_mask = StructureNotifyMask | ExposureMask | KeyPressMask;
- mask = CWBackPixel | CWBorderPixel | CWColormap | CWEventMask;
-
- win = XCreateWindow(dpy, root, xpos, ypos, width, height,
- 0, visinfo->depth, InputOutput,
- visinfo->visual, mask, &attr);
- if (!win) {
- Error(displayName, "Couldn't create window");
- return NULL;
- }
-
- {
- XSizeHints sizehints;
- sizehints.x = xpos;
- sizehints.y = ypos;
- sizehints.width = width;
- sizehints.height = height;
- sizehints.flags = USSize | USPosition;
- XSetNormalHints(dpy, win, &sizehints);
- XSetStandardProperties(dpy, win, name, name,
- None, (char **)NULL, 0, &sizehints);
- }
-
- if (NumContexts == 0) {
- ctx = glXCreateContext(dpy, visinfo, NULL, True);
- }
- else {
- /* share textures & dlists with 0th context */
- ctx = glXCreateContext(dpy, visinfo, Contexts[0].Context, True);
- }
- if (!ctx) {
- Error(displayName, "Couldn't create GLX context");
- return NULL;
- }
-
- XMapWindow(dpy, win);
-
- if (!glXMakeCurrent(dpy, win, ctx)) {
- Error(displayName, "glXMakeCurrent failed");
- return NULL;
- }
-
- if (NumContexts == 0) {
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- }
-
- /* save the info for this context */
- {
- struct context *h = &Contexts[NumContexts];
- strcpy(h->DisplayName, name);
- h->Dpy = dpy;
- h->Win = win;
- h->Context = ctx;
- NumContexts++;
- return &Contexts[NumContexts-1];
- }
-}
-
-
-static void
-MakeCurrent(int i)
-{
- if (!glXMakeCurrent(Contexts[i].Dpy, Contexts[i].Win, Contexts[i].Context)) {
- fprintf(stderr, "glXMakeCurrent failed!\n");
- }
-}
-
-
-
-static void
-DestroyContext(int i)
-{
- XDestroyWindow(Contexts[i].Dpy, Contexts[i].Win);
- glXDestroyContext(Contexts[i].Dpy, Contexts[i].Context);
- XCloseDisplay(Contexts[i].Dpy);
-}
-
-
-int
-main(int argc, char *argv[])
-{
- char *dpyName = NULL;
- int i;
- GLuint t;
- GLint tb;
-
- for (i = 0; i < 2; i++) {
- CreateContext(dpyName, "context");
- }
-
- /* Create texture and bind it in context 0 */
- MakeCurrent(0);
- glGenTextures(1, &t);
- printf("Generated texture ID %u\n", t);
- assert(!glIsTexture(t));
- glBindTexture(GL_TEXTURE_2D, t);
- assert(glIsTexture(t));
- glGetIntegerv(GL_TEXTURE_BINDING_2D, &tb);
- assert(tb == t);
-
- /* Bind texture in context 1 */
- MakeCurrent(1);
- assert(glIsTexture(t));
- glBindTexture(GL_TEXTURE_2D, t);
- glGetIntegerv(GL_TEXTURE_BINDING_2D, &tb);
- assert(tb == t);
-
- /* Delete texture from context 0 */
- MakeCurrent(0);
- glDeleteTextures(1, &t);
- assert(!glIsTexture(t));
- glGetIntegerv(GL_TEXTURE_BINDING_2D, &tb);
- printf("After delete, binding = %d\n", tb);
-
- /* Check texture state from context 1 */
- MakeCurrent(1);
- assert(!glIsTexture(t));
- glGetIntegerv(GL_TEXTURE_BINDING_2D, &tb);
- printf("In second context, binding = %d\n", tb);
- glBindTexture(GL_TEXTURE_2D, 0);
- glGetIntegerv(GL_TEXTURE_BINDING_2D, &tb);
- assert(tb == 0);
-
-
- for (i = 0; i < NumContexts; i++) {
- DestroyContext(i);
- }
-
- printf("Success!\n");
-
- return 0;
-}
diff --git a/progs/tests/texrect.c b/progs/tests/texrect.c
deleted file mode 100644
index 10061ee586..0000000000
--- a/progs/tests/texrect.c
+++ /dev/null
@@ -1,360 +0,0 @@
-
-/* GL_NV_texture_rectangle test
- *
- * Brian Paul
- * 14 June 2002
- */
-
-
-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-#include "readtex.h"
-
-#define TEXTURE_0_FILE "../images/girl.rgb"
-#define TEXTURE_1_FILE "../images/reflect.rgb"
-
-#define TEX0 1
-#define TEX7 8
-#define ANIMATE 10
-#define CLAMP 20
-#define CLAMP_TO_EDGE 21
-#define CLAMP_TO_BORDER 22
-#define LINEAR_FILTER 30
-#define NEAREST_FILTER 31
-#define QUIT 100
-
-static GLboolean Animate = GL_FALSE;
-static GLint NumUnits = 2;
-static GLboolean TexEnabled[8];
-static GLint Width[8], Height[8]; /* image sizes */
-static GLenum Format[8];
-
-static GLfloat Xrot = 00.0, Yrot = 00.0, Zrot = 0.0;
-
-
-static void Idle( void )
-{
- Zrot = glutGet(GLUT_ELAPSED_TIME) * 0.01;
- glutPostRedisplay();
-}
-
-
-static void DrawObject(void)
-{
- GLint i;
- GLfloat d = 10; /* so we can see how borders are handled */
-
- glColor3f(.1, .1, .1); /* modulate this */
-
- glPushMatrix();
-
- glRotatef(Zrot, 0, 0, 1);
-
- glBegin(GL_QUADS);
-
- for (i = 0; i < NumUnits; i++)
- glMultiTexCoord2fARB(GL_TEXTURE0_ARB + i, -d, -d);
- glVertex2f(-1.0, -1.0);
-
- for (i = 0; i < NumUnits; i++)
- glMultiTexCoord2fARB(GL_TEXTURE0_ARB + i, Width[i]+d, -d);
- glVertex2f(1.0, -1.0);
-
- for (i = 0; i < NumUnits; i++)
- glMultiTexCoord2fARB(GL_TEXTURE0_ARB + i, Width[i]+d, Height[i]+d);
- glVertex2f(1.0, 1.0);
-
- for (i = 0; i < NumUnits; i++)
- glMultiTexCoord2fARB(GL_TEXTURE0_ARB + i, -d, Height[i]+d);
- glVertex2f(-1.0, 1.0);
-
- glEnd();
- glPopMatrix();
-}
-
-
-static void Display( void )
-{
- glClear( GL_COLOR_BUFFER_BIT );
-
- glPushMatrix();
- glRotatef(Xrot, 1.0, 0.0, 0.0);
- glRotatef(Yrot, 0.0, 1.0, 0.0);
- glRotatef(Zrot, 0.0, 0.0, 1.0);
- glScalef(5.0, 5.0, 5.0);
- DrawObject();
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -1.0, 1.0, -1.0, 1.0, 5.0, 100.0 );
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -35.0 );
-}
-
-
-static void ModeMenu(int entry)
-{
- GLint i;
- if (entry >= TEX0 && entry < TEX0 + NumUnits) {
- /* toggle */
- i = entry - TEX0;
- TexEnabled[i] = !TexEnabled[i];
- glActiveTextureARB(GL_TEXTURE0_ARB + i);
- if (TexEnabled[i]) {
- glEnable(GL_TEXTURE_RECTANGLE_NV);
- }
- else {
- glDisable(GL_TEXTURE_RECTANGLE_NV);
- }
- printf("Enabled: ");
- for (i = 0; i < NumUnits; i++)
- printf("%d ", (int) TexEnabled[i]);
- printf("\n");
- }
- else if (entry==ANIMATE) {
- Animate = !Animate;
- if (Animate)
- glutIdleFunc(Idle);
- else
- glutIdleFunc(NULL);
- }
- else if (entry==CLAMP) {
- for (i = 0; i < NumUnits; i++) {
- glActiveTextureARB(GL_TEXTURE0_ARB + i);
- glTexParameteri(GL_TEXTURE_RECTANGLE_NV, GL_TEXTURE_WRAP_S, GL_CLAMP);
- glTexParameteri(GL_TEXTURE_RECTANGLE_NV, GL_TEXTURE_WRAP_T, GL_CLAMP);
- }
- }
- else if (entry==CLAMP_TO_EDGE) {
- for (i = 0; i < NumUnits; i++) {
- glActiveTextureARB(GL_TEXTURE0_ARB + i);
- glTexParameteri(GL_TEXTURE_RECTANGLE_NV, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
- glTexParameteri(GL_TEXTURE_RECTANGLE_NV, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
- }
- }
- else if (entry==CLAMP_TO_BORDER) {
- for (i = 0; i < NumUnits; i++) {
- glActiveTextureARB(GL_TEXTURE0_ARB + i);
- glTexParameteri(GL_TEXTURE_RECTANGLE_NV, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_BORDER);
- glTexParameteri(GL_TEXTURE_RECTANGLE_NV, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_BORDER);
- }
- }
- else if (entry==NEAREST_FILTER) {
- for (i = 0; i < NumUnits; i++) {
- glActiveTextureARB(GL_TEXTURE0_ARB + i);
- glTexParameteri(GL_TEXTURE_RECTANGLE_NV, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameteri(GL_TEXTURE_RECTANGLE_NV, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- }
- }
- else if (entry==LINEAR_FILTER) {
- for (i = 0; i < NumUnits; i++) {
- glActiveTextureARB(GL_TEXTURE0_ARB + i);
- glTexParameteri(GL_TEXTURE_RECTANGLE_NV, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
- glTexParameteri(GL_TEXTURE_RECTANGLE_NV, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
- }
- }
-
- else if (entry==QUIT) {
- exit(0);
- }
-
- glutPostRedisplay();
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 'z':
- Zrot -= 1.0;
- break;
- case 'Z':
- Zrot += 1.0;
- break;
- case 'a':
- Animate = !Animate;
- if (Animate)
- glutIdleFunc(Idle);
- else
- glutIdleFunc(NULL);
- break;
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void SpecialKey( int key, int x, int y )
-{
- float step = 3.0;
- (void) x;
- (void) y;
-
- switch (key) {
- case GLUT_KEY_UP:
- Xrot += step;
- break;
- case GLUT_KEY_DOWN:
- Xrot -= step;
- break;
- case GLUT_KEY_LEFT:
- Yrot += step;
- break;
- case GLUT_KEY_RIGHT:
- Yrot -= step;
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void Init( int argc, char *argv[] )
-{
- const GLenum wrap = GL_CLAMP;
- GLuint texObj[8];
- GLint size, i;
-
- if (!glutExtensionSupported("GL_ARB_multitexture")) {
- printf("Sorry, GL_ARB_multitexture needed by this program\n");
- exit(1);
- }
-
- if (!glutExtensionSupported("GL_NV_texture_rectangle")) {
- printf("Sorry, GL_NV_texture_rectangle needed by this program\n");
- exit(1);
- }
-
- glGetIntegerv(GL_MAX_TEXTURE_UNITS_ARB, &NumUnits);
- printf("%d texture units supported, using 2.\n", NumUnits);
- if (NumUnits > 2)
- NumUnits = 2;
-
- glGetIntegerv(GL_MAX_RECTANGLE_TEXTURE_SIZE_NV, &size);
- printf("%d x %d max texture rectangle size\n", size, size);
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
-
- for (i = 0; i < NumUnits; i++) {
- TexEnabled[i] = GL_TRUE;
- }
-
- /* allocate two texture objects */
- glGenTextures(NumUnits, texObj);
-
- /* setup the texture objects */
- for (i = 0; i < NumUnits; i++) {
-
- glActiveTextureARB(GL_TEXTURE0_ARB + i);
-
- glBindTexture(GL_TEXTURE_RECTANGLE_NV, texObj[i]);
- glTexParameteri(GL_TEXTURE_RECTANGLE_NV,
- GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameteri(GL_TEXTURE_RECTANGLE_NV,
- GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- glTexParameteri(GL_TEXTURE_RECTANGLE_NV, GL_TEXTURE_WRAP_S, wrap);
- glTexParameteri(GL_TEXTURE_RECTANGLE_NV, GL_TEXTURE_WRAP_T, wrap);
-
- if (i == 0) {
- GLubyte *img = LoadRGBImage(TEXTURE_0_FILE, &Width[0], &Height[0],
- &Format[0]);
- if (!img) {
- printf("Error: couldn't load texture image\n");
- exit(1);
- }
- printf("Texture %d: %s (%d x %d)\n", i,
- TEXTURE_0_FILE, Width[0], Height[0]);
- glTexImage2D(GL_TEXTURE_RECTANGLE_NV, 0, GL_RGB,
- Width[0], Height[0], 0,
- Format[0], GL_UNSIGNED_BYTE, img);
- }
- else {
- GLubyte *img = LoadRGBImage(TEXTURE_1_FILE, &Width[1], &Height[1],
- &Format[1]);
- if (!img) {
- printf("Error: couldn't load texture image\n");
- exit(1);
- }
- printf("Texture %d: %s (%d x %d)\n", i,
- TEXTURE_1_FILE, Width[1], Height[1]);
- glTexImage2D(GL_TEXTURE_RECTANGLE_NV, 0, GL_RGB,
- Width[1], Height[1], 0,
- Format[1], GL_UNSIGNED_BYTE, img);
- }
-
- if (i < 1)
- glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_ADD);
- else
- glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_ADD);
-
- if (TexEnabled[i])
- glEnable(GL_TEXTURE_RECTANGLE_NV);
- }
-
- glShadeModel(GL_FLAT);
- glClearColor(0.3, 0.3, 0.4, 1.0);
-
- if (argc > 1 && strcmp(argv[1], "-info")==0) {
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- printf("GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- printf("GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- printf("GL_EXTENSIONS = %s\n", (char *) glGetString(GL_EXTENSIONS));
- }
-}
-
-
-int main( int argc, char *argv[] )
-{
- GLint i;
-
- glutInit( &argc, argv );
- glutInitWindowSize( 300, 300 );
- glutInitWindowPosition( 0, 0 );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE );
- glutCreateWindow(argv[0] );
- glewInit();
-
- Init( argc, argv );
-
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutSpecialFunc( SpecialKey );
- glutDisplayFunc( Display );
- if (Animate)
- glutIdleFunc( Idle );
-
- glutCreateMenu(ModeMenu);
-
- for (i = 0; i < NumUnits; i++) {
- char s[100];
- sprintf(s, "Toggle Texture %d", i);
- glutAddMenuEntry(s, TEX0 + i);
- }
- glutAddMenuEntry("Toggle Animation", ANIMATE);
- glutAddMenuEntry("GL_CLAMP", CLAMP);
- glutAddMenuEntry("GL_CLAMP_TO_EDGE", CLAMP_TO_EDGE);
- glutAddMenuEntry("GL_CLAMP_TO_BORDER", CLAMP_TO_BORDER);
- glutAddMenuEntry("GL_NEAREST", NEAREST_FILTER);
- glutAddMenuEntry("GL_LINEAR", LINEAR_FILTER);
- glutAddMenuEntry("Quit", QUIT);
- glutAttachMenu(GLUT_RIGHT_BUTTON);
-
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/texwrap.c b/progs/tests/texwrap.c
deleted file mode 100644
index 39c55919dd..0000000000
--- a/progs/tests/texwrap.c
+++ /dev/null
@@ -1,322 +0,0 @@
-
-/*
- * Test texture wrap modes.
- * Press 'b' to toggle texture image borders. You should see the same
- * rendering whether or not you're using borders.
- *
- * Brian Paul March 2001
- */
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-
-#ifndef GL_CLAMP_TO_BORDER
-#define GL_CLAMP_TO_BORDER 0x812D
-#endif
-
-#ifndef GL_MIRRORED_REPEAT
-#define GL_MIRRORED_REPEAT 0x8370
-#endif
-
-#ifndef GL_EXT_texture_mirror_clamp
-#define GL_MIRROR_CLAMP_EXT 0x8742
-#define GL_MIRROR_CLAMP_TO_EDGE_EXT 0x8743
-#define GL_MIRROR_CLAMP_TO_BORDER_EXT 0x8912
-#endif
-
-#define BORDER_TEXTURE 1
-#define NO_BORDER_TEXTURE 2
-
-#define SIZE 8
-static GLubyte BorderImage[SIZE+2][SIZE+2][4];
-static GLubyte NoBorderImage[SIZE][SIZE][4];
-static GLuint Border = 0;
-
-#define TILE_SIZE 110
-
-#define WRAP_MODE(m) { m , # m, GL_TRUE, 1.0, { NULL, NULL } }
-#define WRAP_EXT(m,e1,e2,v) { m , # m, GL_FALSE, v, { e1, e2 } }
-
-struct wrap_mode {
- GLenum mode;
- const char * name;
- GLboolean supported;
- GLfloat version;
- const char * extension_names[2];
-};
-
-static struct wrap_mode modes[] = {
- WRAP_MODE( GL_REPEAT ),
- WRAP_MODE( GL_CLAMP ),
- WRAP_EXT ( GL_CLAMP_TO_EDGE, "GL_EXT_texture_edge_clamp",
- "GL_SGIS_texture_edge_clamp",
- 1.2 ),
- WRAP_EXT ( GL_CLAMP_TO_BORDER, "GL_ARB_texture_border_clamp",
- "GL_SGIS_texture_border_clamp",
- 1.3 ),
- WRAP_EXT ( GL_MIRRORED_REPEAT, "GL_ARB_texture_mirrored_repeat",
- "GL_IBM_texture_mirrored_repeat",
- 1.4 ),
- WRAP_EXT ( GL_MIRROR_CLAMP_EXT, "GL_ATI_texture_mirror_once",
- "GL_EXT_texture_mirror_clamp",
- 999.0 ),
- WRAP_EXT ( GL_MIRROR_CLAMP_TO_BORDER_EXT, "GL_EXT_texture_mirror_clamp",
- NULL,
- 999.0 ),
- WRAP_EXT ( GL_MIRROR_CLAMP_TO_EDGE_EXT, "GL_ATI_texture_mirror_once",
- "GL_EXT_texture_mirror_clamp",
- 999.0 ),
- { 0, NULL, GL_FALSE, 0.0, { NULL, NULL } }
-};
-
-static void
-PrintString(const char *s)
-{
- while (*s) {
- glutBitmapCharacter(GLUT_BITMAP_8_BY_13, (int) *s);
- s++;
- }
-}
-
-
-static void Display( void )
-{
- GLenum i, j;
- GLint offset;
- GLfloat version;
-
- /* Fill in the extensions that are supported.
- */
-
- version = atof( (char *) glGetString( GL_VERSION ) );
- for ( i = 0 ; modes[i].mode != 0 ; i++ ) {
- if ( ((modes[i].extension_names[0] != NULL)
- && glutExtensionSupported(modes[i].extension_names[0]))
- || ((modes[i].extension_names[1] != NULL)
- && glutExtensionSupported(modes[i].extension_names[1])) ) {
- modes[i].supported = GL_TRUE;
- }
- else if ( !modes[i].supported && (modes[i].version <= version) ) {
- fprintf( stderr, "WARNING: OpenGL library meets minimum version\n"
- " requirement for %s, but the\n"
- " extension string is not advertised.\n"
- " (%s%s%s)\n",
- modes[i].name,
- modes[i].extension_names[0],
- (modes[i].extension_names[1] != NULL)
- ? " or " : "",
- (modes[i].extension_names[1] != NULL)
- ? modes[i].extension_names[1] : "" );
- modes[i].supported = GL_TRUE;
- }
- }
-
-
- glClearColor(0.5, 0.5, 0.5, 1.0);
- glClear( GL_COLOR_BUFFER_BIT );
-
-#if 0
- /* draw texture as image */
- glDisable(GL_TEXTURE_2D);
- glWindowPos2iARB(1, 1);
- glDrawPixels(6, 6, GL_RGBA, GL_UNSIGNED_BYTE, (void *) TexImage);
-#endif
-
- glBindTexture(GL_TEXTURE_2D, Border ? BORDER_TEXTURE : NO_BORDER_TEXTURE);
-
-
- /* loop over min/mag filters */
- for (i = 0; i < 2; i++) {
- offset = 0;
-
- if (i) {
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
- }
- else {
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- }
-
- /* loop over border modes */
- for (j = 0; modes[j].mode != 0; j++) {
- const GLfloat x0 = 0, y0 = 0, x1 = (TILE_SIZE - 10), y1 = (TILE_SIZE - 10);
- const GLfloat b = 1.2;
- const GLfloat s0 = -b, t0 = -b, s1 = 1.0+b, t1 = 1.0+b;
-
- if ( modes[j].supported != GL_TRUE )
- continue;
-
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, modes[j].mode);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, modes[j].mode);
-
- glPushMatrix();
- glTranslatef(offset * TILE_SIZE + 10, i * TILE_SIZE + 40, 0);
- offset++;
-
- glEnable(GL_TEXTURE_2D);
- glColor3f(1, 1, 1);
- glBegin(GL_POLYGON);
- glTexCoord2f(s0, t0); glVertex2f(x0, y0);
- glTexCoord2f(s1, t0); glVertex2f(x1, y0);
- glTexCoord2f(s1, t1); glVertex2f(x1, y1);
- glTexCoord2f(s0, t1); glVertex2f(x0, y1);
- glEnd();
-
- /* draw red outline showing bounds of texture at s=0,1 and t=0,1 */
- glDisable(GL_TEXTURE_2D);
- glColor3f(1, 0, 0);
- glBegin(GL_LINE_LOOP);
- glVertex2f(x0 + b * (x1-x0) / (s1-s0), y0 + b * (y1-y0) / (t1-t0));
- glVertex2f(x1 - b * (x1-x0) / (s1-s0), y0 + b * (y1-y0) / (t1-t0));
- glVertex2f(x1 - b * (x1-x0) / (s1-s0), y1 - b * (y1-y0) / (t1-t0));
- glVertex2f(x0 + b * (x1-x0) / (s1-s0), y1 - b * (y1-y0) / (t1-t0));
- glEnd();
-
- glPopMatrix();
- }
- }
-
- glDisable(GL_TEXTURE_2D);
- glColor3f(1, 1, 1);
- offset = 0;
- for (i = 0; modes[i].mode != 0; i++) {
- if ( modes[i].supported ) {
- glWindowPos2iARB( offset * TILE_SIZE + 10, 5 + ((offset & 1) * 15) );
- PrintString(modes[i].name);
- offset++;
- }
- }
-
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glOrtho(0, width, 0, height, -1, 1);
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 'b':
- Border = !Border;
- printf("Texture Border Size = %d\n", Border);
- break;
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void Init( void )
-{
- static const GLubyte border[4] = { 0, 255, 0, 255 };
- static const GLfloat borderf[4] = { 0, 1.0, 0, 1.0 };
- GLint i, j;
-
- for (i = 0; i < SIZE+2; i++) {
- for (j = 0; j < SIZE+2; j++) {
- if (i == 0 || j == 0 || i == SIZE+1 || j == SIZE+1) {
- /* border color */
- BorderImage[i][j][0] = border[0];
- BorderImage[i][j][1] = border[1];
- BorderImage[i][j][2] = border[2];
- BorderImage[i][j][3] = border[3];
- }
- else if ((i + j) & 1) {
- /* white */
- BorderImage[i][j][0] = 255;
- BorderImage[i][j][1] = 255;
- BorderImage[i][j][2] = 255;
- BorderImage[i][j][3] = 255;
- }
- else {
- /* black */
- BorderImage[i][j][0] = 0;
- BorderImage[i][j][1] = 0;
- BorderImage[i][j][2] = 0;
- BorderImage[i][j][3] = 0;
- }
- }
- }
-
- glBindTexture(GL_TEXTURE_2D, BORDER_TEXTURE);
-#ifdef TEST_PBO_DLIST
- /* test fetching teximage from PBO in display list */
- {
- GLuint b = 42, l = 10;
-
- glBindBufferARB(GL_PIXEL_UNPACK_BUFFER, b);
- glBufferDataARB(GL_PIXEL_UNPACK_BUFFER, sizeof(BorderImage),
- BorderImage, GL_STREAM_DRAW);
-
- glNewList(l, GL_COMPILE);
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, SIZE+2, SIZE+2, 1,
- GL_RGBA, GL_UNSIGNED_BYTE, (void *) 0/* BorderImage*/);
- glEndList();
- glCallList(l);
- glBindBufferARB(GL_PIXEL_UNPACK_BUFFER, 0);
- }
-#else
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, SIZE+2, SIZE+2, 1,
- GL_RGBA, GL_UNSIGNED_BYTE, (void *) BorderImage);
-#endif
-
- for (i = 0; i < SIZE; i++) {
- for (j = 0; j < SIZE; j++) {
- if ((i + j) & 1) {
- /* white */
- NoBorderImage[i][j][0] = 255;
- NoBorderImage[i][j][1] = 255;
- NoBorderImage[i][j][2] = 255;
- NoBorderImage[i][j][3] = 255;
- }
- else {
- /* black */
- NoBorderImage[i][j][0] = 0;
- NoBorderImage[i][j][1] = 0;
- NoBorderImage[i][j][2] = 0;
- NoBorderImage[i][j][3] = 0;
- }
- }
- }
-
- glBindTexture(GL_TEXTURE_2D, NO_BORDER_TEXTURE);
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, SIZE, SIZE, 0,
- GL_RGBA, GL_UNSIGNED_BYTE, (void *) NoBorderImage);
- glTexParameterfv(GL_TEXTURE_2D, GL_TEXTURE_BORDER_COLOR, borderf);
-}
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 1000, 270 );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE );
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/tkmap.c b/progs/tests/tkmap.c
deleted file mode 100644
index 3ded79caca..0000000000
--- a/progs/tests/tkmap.c
+++ /dev/null
@@ -1,71 +0,0 @@
-
-enum {
- COLOR_BLACK = 0,
- COLOR_RED,
- COLOR_GREEN,
- COLOR_YELLOW,
- COLOR_BLUE,
- COLOR_MAGENTA,
- COLOR_CYAN,
- COLOR_WHITE
-};
-
-static float RGBMap[9][3] = {
- {0, 0, 0},
- {1, 0, 0},
- {0, 1, 0},
- {1, 1, 0},
- {0, 0, 1},
- {1, 0, 1},
- {0, 1, 1},
- {1, 1, 1},
- {0.5, 0.5, 0.5}
-};
-
-static void SetColor(int c)
-{
- if (glutGet(GLUT_WINDOW_RGBA))
- glColor3fv(RGBMap[c]);
- else
- glIndexf(c);
-}
-
-static void InitMap(void)
-{
- int i;
-
- if (rgb)
- return;
-
- for (i = 0; i < 9; i++)
- glutSetColor(i, RGBMap[i][0], RGBMap[i][1], RGBMap[i][2]);
-}
-
-static void SetFogRamp(int density, int startIndex)
-{
- int fogValues, colorValues;
- int i, j, k;
- float intensity;
-
- fogValues = 1 << density;
- colorValues = 1 << startIndex;
- for (i = 0; i < colorValues; i++) {
- for (j = 0; j < fogValues; j++) {
- k = i * fogValues + j;
- intensity = (i * fogValues + j * colorValues) / 255.0;
- glutSetColor(k, intensity, intensity, intensity);
- }
- }
-}
-
-static void SetGreyRamp(void)
-{
- int i;
- float intensity;
-
- for (i = 0; i < 255; i++) {
- intensity = i / 255.0;
- glutSetColor(i, intensity, intensity, intensity);
- }
-}
-
diff --git a/progs/tests/unfilledclip.c b/progs/tests/unfilledclip.c
deleted file mode 100644
index 331cbf2f6b..0000000000
--- a/progs/tests/unfilledclip.c
+++ /dev/null
@@ -1,209 +0,0 @@
-/*
- * Copyright © 2008 Intel Corporation
- *
- * 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 (including the next
- * paragraph) 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.
- *
- * Authors:
- * Eric Anholt <eric@anholt.net>
- *
- */
-
-#include <stdlib.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-static int win_width, win_height;
-
-#if 0
-static void
-line(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2)
-{
- glBegin(GL_LINES);
- glVertex2f(x1, y1);
- glVertex2f(x2, y2);
- glEnd();
-}
-#endif
-
-static void
-line3(GLfloat x1, GLfloat y1, GLfloat z1, GLfloat x2, GLfloat y2, GLfloat z2)
-{
- glBegin(GL_LINES);
- glVertex3f(x1, y1, z1);
- glVertex3f(x2, y2, z2);
- glEnd();
-}
-
-static void
-display(void)
-{
- glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
-
- glClearColor(0.0, 0.0, 0.0, 0.0);
- glClear(GL_COLOR_BUFFER_BIT);
-
- glColor3f(1.0, 0.0, 0.0);
- /* clipped along xmin */
- glBegin(GL_TRIANGLES);
- glVertex2f(-20, win_height / 2 - 20);
- glVertex2f(20, win_height / 2);
- glVertex2f(-20, win_height / 2 + 20);
- glEnd();
-
- glColor3f(0.0, 1.0, 0.0);
- /* clipped along ymax */
- glBegin(GL_TRIANGLES);
- glVertex2f(win_height / 2 - 20, win_height + 20);
- glVertex2f(win_height / 2, win_height - 20);
- glVertex2f(win_height / 2 + 20, win_height + 20);
- glEnd();
-
- glColor3f(0.0, 0.0, 1.0);
- /* clipped along xmax */
- glBegin(GL_TRIANGLES);
- glVertex2f(win_height + 20, win_height / 2 - 20);
- glVertex2f(win_height - 20, win_height / 2);
- glVertex2f(win_height + 20, win_height / 2 + 20);
- glEnd();
-
- glColor3f(1.0, 1.0, 1.0);
- /* clipped along ymin */
- glBegin(GL_TRIANGLES);
- glVertex2f(win_height / 2 - 20, -20);
- glVertex2f(win_height / 2, 20);
- glVertex2f(win_height / 2 + 20, -20);
- glEnd();
-
- /* clipped along near */
- glColor3f(1.0, 0.0, 1.0);
- glBegin(GL_TRIANGLES);
- glVertex3f(win_width / 2 - 20, win_height / 2 - 20, 0.5);
- glVertex3f(win_width / 2 - 40, win_height / 2, -0.5);
- glVertex3f(win_width / 2 - 20, win_height / 2 + 20, 0.5);
- glEnd();
-
- /* clipped along far */
- glColor3f(0.0, 1.0, 1.0);
- glBegin(GL_TRIANGLES);
- glVertex3f(win_width / 2 + 20, win_height / 2 - 20, 0.5);
- glVertex3f(win_width / 2 + 40, win_height / 2, 1.5);
- glVertex3f(win_width / 2 + 20, win_height / 2 + 20, 0.5);
- glEnd();
-
- /* entirely clipped along near/far */
- glColor3f(.5, .5, .5);
- glBegin(GL_TRIANGLES);
- glVertex3f(win_width / 2 - 20, win_height / 2 + 20, -0.5);
- glVertex3f(win_width / 2, win_height / 2 + 40, -0.5);
- glVertex3f(win_width / 2 + 20, win_height / 2 + 20, -0.5);
- glEnd();
-
- glBegin(GL_TRIANGLES);
- glVertex3f(win_width / 2 - 20, win_height / 2 - 20, 1.5);
- glVertex3f(win_width / 2, win_height / 2 - 40, 1.5);
- glVertex3f(win_width / 2 + 20, win_height / 2 - 20, 1.5);
- glEnd();
-
- glColor3f(.5, .5, .5);
- line3(win_width / 2, win_height / 2 - 20, 1.5,
- win_width / 2, win_height / 2 + 20, 1.5);
-
- glColor3f(1.0, 1.0, 0.0);
- /* clipped along both x and y limits */
- glBegin(GL_TRIANGLES); /* xmin, ymin */
- glVertex2f(-5, 20);
- glVertex2f(20, 20);
- glVertex2f(20, -5);
- glEnd();
- glBegin(GL_TRIANGLES); /* xmin, ymax */
- glVertex2f(-5, win_height - 20);
- glVertex2f(20, win_height - 20);
- glVertex2f(20, win_height + 5);
- glEnd();
- glBegin(GL_TRIANGLES); /* xmax, ymax */
- glVertex2f(win_width - 20, win_height + 5);
- glVertex2f(win_width - 20, win_height - 20);
- glVertex2f(win_width + 5, win_height - 20);
- glEnd();
- glBegin(GL_TRIANGLES); /* xmax, ymin */
- glVertex2f(win_width + 5, 20);
- glVertex2f(win_width - 20, 20);
- glVertex2f(win_width - 20, -5);
- glEnd();
-
- glutSwapBuffers();
-}
-
-static void
-reshape(int width, int height)
-{
- win_width = width;
- win_height = height;
- glViewport(0, 0, width, height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(0, win_width, 0, win_height, 0.0, -1.0);
-
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef(.25, .25, 0);
-}
-
-static void key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
-
- switch (key) {
- case 27: /* esc */
- exit(0);
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void
-init(void)
-{
-}
-
-int
-main(int argc, char *argv[])
-{
- win_width = 200;
- win_height = 200;
-
- glutInit(&argc, argv);
- glutInitWindowPosition(0, 0);
- glutInitWindowSize(win_width, win_height);
- glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc(reshape);
- glutKeyboardFunc(key);
- glutDisplayFunc(display);
-
- init();
-
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/vao-01.c b/progs/tests/vao-01.c
deleted file mode 100644
index e4a89cb19d..0000000000
--- a/progs/tests/vao-01.c
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- * (C) Copyright IBM Corporation 2006
- * 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
- * on the rights to use, copy, modify, merge, publish, distribute, sub
- * license, 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 (including the next
- * paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
- * IBM AND/OR THEIR SUPPLIERS 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.
- */
-
-/**
- * \file vao-01.c
- *
- * Simple test of APPLE_vertex_array_object functionality. This test creates
- * a VAO, pushed it (via \c glPushClientAttrib), modifies the VAO, then pops
- * it (via \c glPopClientAttrib). After popping, the state of the VAO is
- * examined.
- *
- * According the the APPLE_vertex_array_object spec, the contents of the VAO
- * should be restored to the values that they had when pushed.
- *
- * \author Ian Romanick <idr@us.ibm.com>
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-
-#ifdef __darwin__
-#include <GLUT/glut.h>
-
-typedef void (* PFNGLBINDVERTEXARRAYAPPLEPROC) (GLuint array);
-typedef void (* PFNGLDELETEVERTEXARRAYSAPPLEPROC) (GLsizei n, const GLuint *arrays);
-typedef void (* PFNGLGENVERTEXARRAYSAPPLEPROC) (GLsizei n, GLuint *arrays);
-typedef GLboolean (* PFNGLISVERTEXARRAYAPPLEPROC) (GLuint array);
-
-#else
-#include <GL/glew.h>
-#include <GL/glut.h>
-#endif
-
-static PFNGLBINDVERTEXARRAYAPPLEPROC bind_vertex_array = NULL;
-static PFNGLGENVERTEXARRAYSAPPLEPROC gen_vertex_arrays = NULL;
-static PFNGLDELETEVERTEXARRAYSAPPLEPROC delete_vertex_arrays = NULL;
-static PFNGLISVERTEXARRAYAPPLEPROC is_vertex_array = NULL;
-
-static int Width = 400;
-static int Height = 200;
-static const GLfloat Near = 5.0, Far = 25.0;
-
-
-static void Display( void )
-{
-}
-
-
-static void Idle( void )
-{
-}
-
-
-static void Visible( int vis )
-{
- if ( vis == GLUT_VISIBLE ) {
- glutIdleFunc( Idle );
- }
- else {
- glutIdleFunc( NULL );
- }
-}
-static void Reshape( int width, int height )
-{
- GLfloat ar = (float) width / (float) height;
- Width = width;
- Height = height;
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -ar, ar, -1.0, 1.0, Near, Far );
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void Init( void )
-{
- const char * const ver_string = (const char * const)
- glGetString( GL_VERSION );
- GLuint obj;
- int pass = 1;
- void * ptr;
-
-
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- printf("GL_VERSION = %s\n\n", ver_string);
-
- if ( !glutExtensionSupported("GL_APPLE_vertex_array_object") ) {
- printf("Sorry, this program requires GL_APPLE_vertex_array_object\n");
- exit(2);
- }
-
- bind_vertex_array = (PFNGLBINDVERTEXARRAYAPPLEPROC) glutGetProcAddress( "glBindVertexArrayAPPLE" );
- gen_vertex_arrays = (PFNGLGENVERTEXARRAYSAPPLEPROC) glutGetProcAddress( "glGenVertexArraysAPPLE" );
- delete_vertex_arrays = (PFNGLDELETEVERTEXARRAYSAPPLEPROC) glutGetProcAddress( "glDeleteVertexArraysAPPLE" );
- is_vertex_array = (PFNGLISVERTEXARRAYAPPLEPROC) glutGetProcAddress( "glIsVertexArrayAPPLE" );
-
-
- (*gen_vertex_arrays)( 1, & obj );
- (*bind_vertex_array)( obj );
- glVertexPointer( 4, GL_FLOAT, sizeof(GLfloat) * 4, (void *) 0xDEADBEEF);
- glEnableClientState( GL_VERTEX_ARRAY );
-
- glPushClientAttrib( GL_CLIENT_VERTEX_ARRAY_BIT );
-
- glVertexPointer( 4, GL_FLOAT, sizeof(GLfloat) * 4, (void *) 0xBADDC0DE);
- glDisableClientState( GL_VERTEX_ARRAY );
-
- glPopClientAttrib();
-
- if ( ! glIsEnabled( GL_VERTEX_ARRAY ) ) {
- printf( "Array state is incorrectly disabled.\n" );
- pass = 0;
- }
-
- glGetPointerv( GL_VERTEX_ARRAY_POINTER, & ptr );
- if ( ptr != (void *) 0xDEADBEEF ) {
- printf( "Array pointer is incorrectly set to 0x%p.\n", ptr );
- pass = 0;
- }
-
- if ( ! pass ) {
- printf( "FAIL!\n" );
- exit(1);
- }
-}
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( Width, Height );
- glutInitDisplayMode( GLUT_RGB );
- glutCreateWindow( "GL_APPLE_vertex_array_object demo" );
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- glutVisibilityFunc( Visible );
-
- Init();
-
- return 0;
-}
diff --git a/progs/tests/vao-02.c b/progs/tests/vao-02.c
deleted file mode 100644
index 9f7f5c2779..0000000000
--- a/progs/tests/vao-02.c
+++ /dev/null
@@ -1,207 +0,0 @@
-/*
- * (C) Copyright IBM Corporation 2006
- * 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
- * on the rights to use, copy, modify, merge, publish, distribute, sub
- * license, 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 (including the next
- * paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
- * IBM AND/OR THEIR SUPPLIERS 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.
- */
-
-/**
- * \file vao-02.c
- *
- * Simple test of APPLE_vertex_array_object functionality. This test creates
- * a VAO, pushed it (via \c glPushClientAttrib), deletes the VAO, then pops
- * it (via \c glPopClientAttrib). After popping, the state of the VAO is
- * examined.
- *
- * According the the APPLE_vertex_array_object spec, the contents of the VAO
- * should be restored to the values that they had when pushed.
- *
- * \author Ian Romanick <idr@us.ibm.com>
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-
-#ifdef __darwin__
-#include <GLUT/glut.h>
-
-typedef void (* PFNGLBINDVERTEXARRAYAPPLEPROC) (GLuint array);
-typedef void (* PFNGLDELETEVERTEXARRAYSAPPLEPROC) (GLsizei n, const GLuint *arrays);
-typedef void (* PFNGLGENVERTEXARRAYSAPPLEPROC) (GLsizei n, GLuint *arrays);
-typedef GLboolean (* PFNGLISVERTEXARRAYAPPLEPROC) (GLuint array);
-
-#else
-#include <GL/glew.h>
-#include <GL/glut.h>
-#endif
-
-static PFNGLBINDVERTEXARRAYAPPLEPROC bind_vertex_array = NULL;
-static PFNGLGENVERTEXARRAYSAPPLEPROC gen_vertex_arrays = NULL;
-static PFNGLDELETEVERTEXARRAYSAPPLEPROC delete_vertex_arrays = NULL;
-static PFNGLISVERTEXARRAYAPPLEPROC is_vertex_array = NULL;
-
-static int Width = 400;
-static int Height = 200;
-static const GLfloat Near = 5.0, Far = 25.0;
-
-
-static void Display( void )
-{
-}
-
-
-static void Idle( void )
-{
-}
-
-
-static void Visible( int vis )
-{
- if ( vis == GLUT_VISIBLE ) {
- glutIdleFunc( Idle );
- }
- else {
- glutIdleFunc( NULL );
- }
-}
-static void Reshape( int width, int height )
-{
- GLfloat ar = (float) width / (float) height;
- Width = width;
- Height = height;
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -ar, ar, -1.0, 1.0, Near, Far );
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void Init( void )
-{
- const char * const ver_string = (const char * const)
- glGetString( GL_VERSION );
- GLuint obj;
- int pass = 1;
- void * ptr;
- GLenum err;
-
-
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- printf("GL_VERSION = %s\n\n", ver_string);
-
- if ( !glutExtensionSupported("GL_APPLE_vertex_array_object") ) {
- printf("Sorry, this program requires GL_APPLE_vertex_array_object\n");
- exit(2);
- }
-
- bind_vertex_array = (PFNGLBINDVERTEXARRAYAPPLEPROC) glutGetProcAddress( "glBindVertexArrayAPPLE" );
- gen_vertex_arrays = (PFNGLGENVERTEXARRAYSAPPLEPROC) glutGetProcAddress( "glGenVertexArraysAPPLE" );
- delete_vertex_arrays = (PFNGLDELETEVERTEXARRAYSAPPLEPROC) glutGetProcAddress( "glDeleteVertexArraysAPPLE" );
- is_vertex_array = (PFNGLISVERTEXARRAYAPPLEPROC) glutGetProcAddress( "glIsVertexArrayAPPLE" );
-
-
- (*gen_vertex_arrays)( 1, & obj );
- (*bind_vertex_array)( obj );
- glVertexPointer( 4, GL_FLOAT, sizeof(GLfloat) * 4, (void *) 0xDEADBEEF);
- glEnableClientState( GL_VERTEX_ARRAY );
-
- glPushClientAttrib( GL_CLIENT_VERTEX_ARRAY_BIT );
-
- (*delete_vertex_arrays)( 1, & obj );
-
- err = glGetError();
- if (err) {
- printf( "glGetError incorrectly returned 0x%04x.\n", err );
- pass = 0;
- }
-
- if ( (*is_vertex_array)( obj ) ) {
- printf( "Array object is incorrectly still valid.\n" );
- pass = 0;
- }
-
- err = glGetError();
- if (err) {
- printf( "glGetError incorrectly returned 0x%04x.\n", err );
- pass = 0;
- }
-
- glPopClientAttrib();
-
- err = glGetError();
- if (err) {
- printf( "glGetError incorrectly returned 0x%04x.\n", err );
- pass = 0;
- }
-
- if ( ! (*is_vertex_array)( obj ) ) {
- printf( "Array object is incorrectly invalid.\n" );
- pass = 0;
- }
-
- if ( ! glIsEnabled( GL_VERTEX_ARRAY ) ) {
- printf( "Array state is incorrectly disabled.\n" );
- pass = 0;
- }
-
- glGetPointerv( GL_VERTEX_ARRAY_POINTER, & ptr );
- if ( ptr != (void *) 0xDEADBEEF ) {
- printf( "Array pointer is incorrectly set to 0x%p.\n", ptr );
- pass = 0;
- }
-
- if ( ! pass ) {
- printf( "FAIL!\n" );
- exit(1);
- }
-}
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( Width, Height );
- glutInitDisplayMode( GLUT_RGB );
- glutCreateWindow( "GL_APPLE_vertex_array_object demo" );
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- glutVisibilityFunc( Visible );
-
- Init();
-
- return 0;
-}
diff --git a/progs/tests/vparray.c b/progs/tests/vparray.c
deleted file mode 100644
index 75160afd46..0000000000
--- a/progs/tests/vparray.c
+++ /dev/null
@@ -1,297 +0,0 @@
-/*
- * Test vertex arrays with GL_NV_vertex_program
- *
- * Based on a stripped-down version of the isosurf demo.
- * The vertex program is trivial: compute the resulting
- * RGB color as a linear function of vertex XYZ.
- */
-
-#include <assert.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <math.h>
-#include "GL/glew.h"
-#include "GL/glut.h"
-
-#define MAXVERTS 10000
-static float data[MAXVERTS][6];
-static GLint numverts;
-
-static GLfloat xrot;
-static GLfloat yrot;
-static GLboolean useArrays = GL_TRUE;
-static GLboolean useProgram = GL_TRUE;
-static GLboolean useList = GL_FALSE;
-
-
-static void read_surface( char *filename )
-{
- FILE *f;
-
- f = fopen(filename,"r");
- if (!f) {
- printf("couldn't read %s\n", filename);
- exit(1);
- }
-
- numverts = 0;
- while (numverts < MAXVERTS) {
- int result;
- result = fscanf( f, "%f %f %f %f %f %f",
- &data[numverts][0], &data[numverts][1], &data[numverts][2],
- &data[numverts][3], &data[numverts][4], &data[numverts][5] );
- if (result == EOF) {
- break;
- }
- numverts++;
- }
-
- printf("%d vertices, %d triangles\n", numverts, numverts-2);
- printf("data = %p\n", (void *) data);
- fclose(f);
-}
-
-
-
-
-static void Display(void)
-{
- if (useProgram)
- glEnable(GL_VERTEX_PROGRAM_NV);
- else
- glDisable(GL_VERTEX_PROGRAM_NV);
-
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
-
- glPushMatrix();
- glRotatef(xrot, 1, 0, 0);
- glRotatef(yrot, 0, 1, 0);
- glScalef(2, 2, 2);
- if (useArrays) {
- if (useProgram) {
- glVertexAttribPointerNV( 0, 3, GL_FLOAT, 6 * sizeof(GLfloat), data );
- glEnableClientState( GL_VERTEX_ATTRIB_ARRAY0_NV );
- glVertexAttribPointerNV( 2, 3, GL_FLOAT, 6 * sizeof(GLfloat), ((GLfloat *) data) + 3);
- glEnableClientState( GL_VERTEX_ATTRIB_ARRAY2_NV);
- }
- else {
- glVertexPointer( 3, GL_FLOAT, 6 * sizeof(GLfloat), data );
- glEnableClientState( GL_VERTEX_ARRAY );
- glNormalPointer( GL_FLOAT, 6 * sizeof(GLfloat), ((GLfloat *) data) + 3);
- glEnableClientState( GL_NORMAL_ARRAY );
- }
-
- if (useList) {
- /* dumb, but a good test */
- glNewList(1,GL_COMPILE);
- glDrawArrays(GL_TRIANGLE_STRIP, 0, numverts);
- glEndList();
- glCallList(1);
- }
- else {
- glDrawArrays(GL_TRIANGLE_STRIP, 0, numverts);
- }
-
- glDisableClientState( GL_VERTEX_ATTRIB_ARRAY0_NV );
- glDisableClientState( GL_VERTEX_ATTRIB_ARRAY2_NV);
- glDisableClientState( GL_VERTEX_ARRAY );
- glDisableClientState( GL_NORMAL_ARRAY );
- }
- else {
- int i;
- glBegin(GL_TRIANGLE_STRIP);
- for (i = 0; i < numverts; i++) {
- glNormal3fv( data[i] + 3 );
- glVertex3fv( data[i] + 0 );
- }
- glEnd();
- }
- glPopMatrix();
-
- if (glGetError())
- printf("Error!\n");
-
- glutSwapBuffers();
-}
-
-
-static void InitMaterials(void)
-{
- static float ambient[] = {0.1, 0.1, 0.1, 1.0};
- static float diffuse[] = {0.5, 1.0, 1.0, 1.0};
- static float position0[] = {0.0, 0.0, 20.0, 0.0};
- static float position1[] = {0.0, 0.0, -20.0, 0.0};
- static float front_mat_shininess[] = {60.0};
- static float front_mat_specular[] = {0.2, 0.2, 0.2, 1.0};
- static float front_mat_diffuse[] = {0.5, 0.28, 0.38, 1.0};
- /*
- static float back_mat_shininess[] = {60.0};
- static float back_mat_specular[] = {0.5, 0.5, 0.2, 1.0};
- static float back_mat_diffuse[] = {1.0, 1.0, 0.2, 1.0};
- */
- static float lmodel_ambient[] = {1.0, 1.0, 1.0, 1.0};
- static float lmodel_twoside[] = {GL_FALSE};
-
- glLightfv(GL_LIGHT0, GL_AMBIENT, ambient);
- glLightfv(GL_LIGHT0, GL_DIFFUSE, diffuse);
- glLightfv(GL_LIGHT0, GL_POSITION, position0);
- glEnable(GL_LIGHT0);
-
- glLightfv(GL_LIGHT1, GL_AMBIENT, ambient);
- glLightfv(GL_LIGHT1, GL_DIFFUSE, diffuse);
- glLightfv(GL_LIGHT1, GL_POSITION, position1);
- glEnable(GL_LIGHT1);
-
- glLightModelfv(GL_LIGHT_MODEL_AMBIENT, lmodel_ambient);
- glLightModelfv(GL_LIGHT_MODEL_TWO_SIDE, lmodel_twoside);
-
- glMaterialfv(GL_FRONT_AND_BACK, GL_SHININESS, front_mat_shininess);
- glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, front_mat_specular);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, front_mat_diffuse);
- glEnable(GL_LIGHTING);
-}
-
-
-static void init_program(void)
-{
- /*
- * c[0..3] = modelview matrix
- * c[4..7] = inverse modelview matrix
- * c[30] = color scale
- * c[31] = color bias
- */
- static const char prog[] =
- "!!VP1.0\n"
-
- "# RGB is proportional to XYZ \n"
-
- "MUL R0, v[OPOS], c[30]; \n"
- "ADD o[COL0], R0, c[31]; \n"
-
- "# Continue with typical modelview/projection\n"
- "MOV R3, v[OPOS]; \n"
- "DP4 o[HPOS].x, c[0], R3 ; # object x MVP -> clip\n"
- "DP4 o[HPOS].y, c[1], R3 ;\n"
- "DP4 o[HPOS].z, c[2], R3 ;\n"
- "DP4 o[HPOS].w, c[3], R3 ;\n"
-
- "END";
-
- static const GLfloat scale[4] = {2.0, 2.0, 2.0, 0.0};
- static const GLfloat bias[4] = {1.0, 1.0, 1.0, 0.0};
-
- if (!glutExtensionSupported("GL_NV_vertex_program")) {
- printf("Sorry, this program requires GL_NV_vertex_program\n");
- exit(1);
- }
-
- glLoadProgramNV(GL_VERTEX_PROGRAM_NV, 1,
- strlen(prog), (const GLubyte *) prog);
- assert(glIsProgramNV(1));
- glBindProgramNV(GL_VERTEX_PROGRAM_NV, 1);
-
- /* Load the program registers */
- glTrackMatrixNV(GL_VERTEX_PROGRAM_NV, 0, GL_MODELVIEW_PROJECTION_NV, GL_IDENTITY_NV);
- glTrackMatrixNV(GL_VERTEX_PROGRAM_NV, 4, GL_MODELVIEW, GL_INVERSE_TRANSPOSE_NV);
-
- glProgramParameter4fvNV(GL_VERTEX_PROGRAM_NV, 30, scale);
- glProgramParameter4fvNV(GL_VERTEX_PROGRAM_NV, 31, bias);
-}
-
-
-static void init(void)
-{
- xrot = 0;
- yrot = 0;
- glClearColor(0.0, 0.0, 1.0, 0.0);
- glEnable( GL_DEPTH_TEST );
- glEnable(GL_NORMALIZE);
- InitMaterials();
- read_surface( "../demos/isosurf.dat" );
- init_program();
-}
-
-
-static void Reshape(int width, int height)
-{
- glViewport(0, 0, (GLint)width, (GLint)height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glFrustum( -1.0, 1.0, -1.0, 1.0, 5, 25 );
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef(0, 0, -15);
-}
-
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- case 'a':
- useArrays = !useArrays;
- printf("use arrays: %s\n", useArrays ? "yes" : "no");
- break;
- case 'l':
- useList = !useList;
- printf("use list: %s\n", useList ? "yes" : "no");
- break;
- case 'p':
- useProgram = !useProgram;
- printf("use program: %s\n", useProgram ? "yes" : "no");
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void SpecialKey( int key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case GLUT_KEY_LEFT:
- yrot -= 15.0;
- break;
- case GLUT_KEY_RIGHT:
- yrot += 15.0;
- break;
- case GLUT_KEY_UP:
- xrot += 15.0;
- break;
- case GLUT_KEY_DOWN:
- xrot -= 15.0;
- break;
- default:
- return;
- }
- glutPostRedisplay();
-}
-
-
-
-int main(int argc, char **argv)
-{
- glutInit(&argc, argv);
- glutInitDisplayMode( GLUT_DEPTH | GLUT_RGB | GLUT_DOUBLE );
- glutInitWindowPosition(0, 0);
- glutInitWindowSize(400, 400);
- if (glutCreateWindow("Isosurface") <= 0) {
- exit(0);
- }
- glewInit();
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutSpecialFunc(SpecialKey);
- glutDisplayFunc(Display);
-
- init();
-
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/vpeval.c b/progs/tests/vpeval.c
deleted file mode 100644
index 3e8a732df5..0000000000
--- a/progs/tests/vpeval.c
+++ /dev/null
@@ -1,232 +0,0 @@
-/*
- * Vertex program evaluators test.
- * Based on book/bezmesh.c
- *
- * Brian Paul
- * 22 June 2002
- */
-
-#include <assert.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-
-/*
- * Transform position by modelview/projection.
- * Square incoming color.
- */
-static const char prog[] =
-"!!VP1.0\n"
-
-"# Typical modelview/projection\n"
-"DP4 o[HPOS].x, c[0], v[OPOS] ; # object x MVP -> clip\n"
-"DP4 o[HPOS].y, c[1], v[OPOS] ;\n"
-"DP4 o[HPOS].z, c[2], v[OPOS] ;\n"
-"DP4 o[HPOS].w, c[3], v[OPOS] ;\n"
-
-"MOV R0, v[COL0];\n # square the color\n"
-"MUL R0, R0, R0;\n"
-"MOV o[COL0], R0;\n # store output color\n"
-
-"END";
-
-
-static int program = 1;
-
-
-GLfloat ctrlpoints[4][4][4] =
-{
- {
- {-1.5, -1.5, 4.0, 1.0},
- {-0.5, -1.5, 2.0, 1.0},
- {0.5, -1.5, -1.0, 1.0},
- {1.5, -1.5, 2.0, 1.0}},
- {
- {-1.5, -0.5, 1.0, 1.0},
- {-0.5, -0.5, 3.0, 1.0},
- {0.5, -0.5, 0.0, 1.0},
- {1.5, -0.5, -1.0, 1.0}},
- {
- {-1.5, 0.5, 4.0, 1.0},
- {-0.5, 0.5, 0.0, 1.0},
- {0.5, 0.5, 3.0, 1.0},
- {1.5, 0.5, 4.0, 1.0}},
- {
- {-1.5, 1.5, -2.0, 1.0},
- {-0.5, 1.5, -2.0, 1.0},
- {0.5, 1.5, 0.0, 1.0},
- {1.5, 1.5, -1.0, 1.0}}
-};
-
-/*
- * +-------------+
- * |green |yellow
- * | |
- * | |
- * |black |red
- * +-------------+
- */
-GLfloat colorPoints[4][4][4] =
-{
- {
- {0.0, 0.0, 0.0, 1.0},
- {0.3, 0.0, 0.0, 1.0},
- {0.6, 0.0, 0.0, 1.0},
- {1.0, 0.0, 0.0, 1.0}},
- {
- {0.0, 0.3, 0.0, 1.0},
- {0.3, 0.3, 0.0, 1.0},
- {0.6, 0.3, 0.0, 1.0},
- {1.0, 0.3, 0.0, 1.0}},
- {
- {0.0, 0.6, 0.0, 1.0},
- {0.3, 0.6, 0.0, 1.0},
- {0.6, 0.6, 0.0, 1.0},
- {1.0, 0.6, 0.0, 1.0}},
- {
- {0.0, 1.0, 0.0, 1.0},
- {0.3, 1.0, 0.0, 1.0},
- {0.6, 1.0, 0.0, 1.0},
- {1.0, 1.0, 0.0, 1.0}}
-};
-
-
-static void
-initlights(void)
-{
-#if 0 /* no lighting for now */
- GLfloat ambient[] = {0.2, 0.2, 0.2, 1.0};
- GLfloat position[] = {0.0, 0.0, 2.0, 1.0};
- GLfloat mat_diffuse[] = {0.6, 0.6, 0.6, 1.0};
- GLfloat mat_specular[] = {1.0, 1.0, 1.0, 1.0};
- GLfloat mat_shininess[] = {50.0};
-
- glEnable(GL_LIGHTING);
- glEnable(GL_LIGHT0);
-
- glLightfv(GL_LIGHT0, GL_AMBIENT, ambient);
- glLightfv(GL_LIGHT0, GL_POSITION, position);
-
- glMaterialfv(GL_FRONT, GL_DIFFUSE, mat_diffuse);
- glMaterialfv(GL_FRONT, GL_SPECULAR, mat_specular);
- glMaterialfv(GL_FRONT, GL_SHININESS, mat_shininess);
-#endif
-}
-
-static void
-display(void)
-{
- glClearColor(.3, .3, .3, 0);
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
- glPushMatrix();
-#if 1
- glRotatef(85.0, 1.0, 1.0, 1.0);
-#endif
- glEvalMesh2(GL_FILL, 0, 8, 0, 8);
- glPopMatrix();
- glFlush();
-}
-
-static void
-myinit(int argc, char *argv[])
-{
- glClearColor(0.0, 0.0, 0.0, 1.0);
- glEnable(GL_DEPTH_TEST);
-
- initlights(); /* for lighted version only */
-
- glMapGrid2f(8, 0.0, 1.0, 8, 0.0, 1.0);
-
- if (argc > 1)
- program = 0;
-
- printf("Using vertex program attribs? %s\n", program ? "yes" : "no");
-
- if (!program) {
- glMap2f(GL_MAP2_VERTEX_4,
- 0.0, 1.0, 4, 4,
- 0.0, 1.0, 16, 4, &ctrlpoints[0][0][0]);
- glMap2f(GL_MAP2_COLOR_4,
- 0.0, 1.0, 4, 4,
- 0.0, 1.0, 16, 4, &colorPoints[0][0][0]);
- glEnable(GL_MAP2_VERTEX_4);
- glEnable(GL_MAP2_COLOR_4);
- /*
- glEnable(GL_AUTO_NORMAL);
- glEnable(GL_NORMALIZE);
- */
- }
- else {
- glMap2f(GL_MAP2_VERTEX_ATTRIB0_4_NV,
- 0.0, 1.0, 4, 4,
- 0.0, 1.0, 16, 4, &ctrlpoints[0][0][0]);
- glMap2f(GL_MAP2_VERTEX_ATTRIB3_4_NV,
- 0.0, 1.0, 4, 4,
- 0.0, 1.0, 16, 4, &colorPoints[0][0][0]);
- glEnable(GL_MAP2_VERTEX_ATTRIB0_4_NV);
- glEnable(GL_MAP2_VERTEX_ATTRIB3_4_NV);
-
- /*
- glEnable(GL_AUTO_NORMAL);
- glEnable(GL_NORMALIZE);
- */
-
- /* vertex program init */
- glLoadProgramNV(GL_VERTEX_PROGRAM_NV, 1,
- strlen(prog), (const GLubyte *) prog);
- assert(glIsProgramNV(1));
- glBindProgramNV(GL_VERTEX_PROGRAM_NV, 1);
-
- /* track matrices */
- glTrackMatrixNV(GL_VERTEX_PROGRAM_NV, 0, GL_MODELVIEW_PROJECTION_NV, GL_IDENTITY_NV);
- glEnable(GL_VERTEX_PROGRAM_NV);
- }
-}
-
-static void
-myReshape(int w, int h)
-{
- glViewport(0, 0, w, h);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- if (w <= h)
- glOrtho(-4.0, 4.0, -4.0 * (GLfloat) h / (GLfloat) w,
- 4.0 * (GLfloat) h / (GLfloat) w, -4.0, 4.0);
- else
- glOrtho(-4.0 * (GLfloat) w / (GLfloat) h,
- 4.0 * (GLfloat) w / (GLfloat) h, -4.0, 4.0, -4.0, 4.0);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
-}
-
-static void
-key(unsigned char k, int x, int y)
-{
- switch (k) {
- case 27: /* Escape */
- exit(0);
- break;
- default:
- return;
- }
- glutPostRedisplay();
-}
-
-int
-main(int argc, char **argv)
-{
- glutInit(&argc, argv);
- glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH);
- glutInitWindowPosition(0, 0);
- glutCreateWindow(argv[0]);
- glewInit();
- myinit(argc, argv);
- glutReshapeFunc(myReshape);
- glutDisplayFunc(display);
- glutKeyboardFunc(key);
- glutMainLoop();
- return 0; /* ANSI C requires main to return int. */
-}
diff --git a/progs/tests/vptest1.c b/progs/tests/vptest1.c
deleted file mode 100644
index 6e32b03346..0000000000
--- a/progs/tests/vptest1.c
+++ /dev/null
@@ -1,171 +0,0 @@
-/* Test glGenProgramsNV(), glIsProgramNV(), glLoadProgramNV() */
-
-#include <assert.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-
-
-static void Display( void )
-{
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
-
- glPushMatrix();
-
- glBegin(GL_POLYGON);
- glVertexAttrib2fNV(0, -1, -1);
- glVertexAttrib2fNV(0, 1, -1);
- glVertexAttrib2fNV(0, 0, 1);
- glEnd();
-
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -1.0, 1.0, -1.0, 1.0, 5.0, 25.0 );
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -15.0 );
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void Init( void )
-{
- static const char *prog1 =
- "!!VP1.0\n"
- "MUL o[COL0].xyz, R0, c[35]; \n"
- "END\n";
- static const char *prog2 =
- "!!VP1.0\n"
- "#\n"
- "# c[0-3] = modelview projection (composite) matrix\n"
- "# c[32] = normalized light direction in object-space\n"
- "# c[35] = yellow diffuse material, (1.0, 1.0, 0.0, 1.0)\n"
- "# c[64].x = 0.0\n"
- "# c[64].z = 0.125, a scaling factor\n"
- "#\n"
- "# outputs diffuse illumination for color and perturbed position\n"
- "#\n"
- "DP3 R0, c[32], v[NRML]; # light direction DOT normal\n"
- "MUL o[COL0].xyz, R0, c[35]; \n"
- "MAX R0, c[64].x, R0; \n"
- "MUL R0, R0, v[NRML]; \n"
- "MUL R0, R0, c[64].z; \n"
- "ADD R1, v[OPOS], -R0; # perturb object space position\n"
- "DP4 o[HPOS].x, c[0], R1; \n"
- "DP4 o[HPOS].y, c[1], R1; \n"
- "DP4 o[HPOS].z, c[2], R1; \n"
- "DP4 o[HPOS].w, c[3], R1; \n"
- "END\n";
- static const char *prog3 =
- "!!VP1.0\n"
- "DP4 o[HPOS].x, c[0], v[OPOS];\n"
- "DP4 o[HPOS].y, c[1], v[OPOS];\n"
- "DP4 o[HPOS].z, c[2], v[OPOS];\n"
- "DP4 o[HPOS].w, c[3], v[OPOS];\n"
- "DP3 R0.x, c[4], v[NRML];\n"
- "DP3 R0.y, c[5], v[NRML]; \n"
- "DP3 R0.z, c[6], v[NRML]; # R0 = n' = transformed normal\n"
- "DP3 R1.x, c[32], R0; # R1.x = Lpos DOT n'\n"
- "DP3 R1.y, c[33], R0; # R1.y = hHat DOT n'\n"
- "MOV R1.w, c[38].x; # R1.w = specular power\n"
- "LIT R2, R1; # Compute lighting values\n"
- "MAD R3, c[35].x, R2.y, c[35].y; # diffuse + emissive\n"
- "MAD o[COL0].xyz, c[36], R2.z, R3; # + specular\n"
- "END\n";
- static const char *prog4 =
- "!!VP1.0\n"
- "DP4 R2, R3, c[A0.x];\n"
- "DP4 R2, R3, c[A0.x + 5];\n"
- "DP4 o[HPOS], R3, c[A0.x - 4];\n"
- "END\n";
- static const char *prog5 =
- "!!VSP1.0\n"
- "DP4 R2, R3, c[A0.x];\n"
- "DP4 R2, R3, v[0];\n"
- "DP4 c[3], R3, R2;\n"
- "END\n";
-
-
- GLuint progs[5];
-
- glGenProgramsNV(2, progs);
- assert(progs[0]);
- assert(progs[1]);
- assert(progs[0] != progs[1]);
-
- glGenProgramsNV(3, progs + 2);
- assert(progs[2]);
- assert(progs[3]);
- assert(progs[2] != progs[3]);
- assert(progs[0] != progs[2]);
-
-
- glLoadProgramNV(GL_VERTEX_PROGRAM_NV, 1,
- strlen(prog1),
- (const GLubyte *) prog1);
- assert(glIsProgramNV(1));
-
- glLoadProgramNV(GL_VERTEX_PROGRAM_NV, 2,
- strlen(prog2),
- (const GLubyte *) prog2);
- assert(glIsProgramNV(2));
-
- glLoadProgramNV(GL_VERTEX_PROGRAM_NV, 3,
- strlen(prog3),
- (const GLubyte *) prog3);
- assert(glIsProgramNV(3));
-
- glLoadProgramNV(GL_VERTEX_PROGRAM_NV, 4,
- strlen(prog4),
- (const GLubyte *) prog4);
- assert(glIsProgramNV(4));
-
- glLoadProgramNV(GL_VERTEX_STATE_PROGRAM_NV, 5,
- strlen(prog5),
- (const GLubyte *) prog5);
- assert(glIsProgramNV(5));
-
- printf("glGetError = %d\n", (int) glGetError());
-}
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 250, 250 );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH );
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/vptest2.c b/progs/tests/vptest2.c
deleted file mode 100644
index 4161b03a67..0000000000
--- a/progs/tests/vptest2.c
+++ /dev/null
@@ -1,152 +0,0 @@
-/* Test vertex state program execution */
-
-#include <assert.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-
-
-static void Display( void )
-{
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
- glPushMatrix();
- glutSolidCube(2.0);
- glPopMatrix();
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -1.0, 1.0, -1.0, 1.0, 5.0, 25.0 );
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -15.0 );
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void Test1( void )
-{
- static const GLfloat p[4] = {9, 8, 7, 6};
- GLfloat q[4];
- /* test addition */
- static const char *prog =
- "!!VSP1.0\n"
- "MOV R0, c[0];\n"
- "MOV R1, c[1];\n"
- "ADD c[2], R0, R1;\n"
- "END\n";
-
- glLoadProgramNV(GL_VERTEX_STATE_PROGRAM_NV, 1,
- strlen(prog),
- (const GLubyte *) prog);
- assert(glIsProgramNV(1));
-
- glProgramParameter4fNV(GL_VERTEX_PROGRAM_NV, 0, 1, 2, 3, 4);
- glProgramParameter4fNV(GL_VERTEX_PROGRAM_NV, 1, 10, 20, 30, 40);
-
- glExecuteProgramNV(GL_VERTEX_STATE_PROGRAM_NV, 1, p);
-
- glGetProgramParameterfvNV(GL_VERTEX_PROGRAM_NV, 2, GL_PROGRAM_PARAMETER_NV, q);
- printf("Result c[2] = %g %g %g %g (should be 11 22 33 44)\n",
- q[0], q[1], q[2], q[3]);
-}
-
-
-static void Test2( void )
-{
- static const GLfloat p[4] = {9, 8, 7, 6};
- GLfloat q[4];
- /* test swizzling */
- static const char *prog =
- "!!VSP1.0\n"
- "MOV R0, c[0].wzyx;\n"
- "MOV R1, c[1].wzyx;\n"
- "ADD c[2], R0, R1;\n"
- "END\n";
-
- glLoadProgramNV(GL_VERTEX_STATE_PROGRAM_NV, 1,
- strlen(prog),
- (const GLubyte *) prog);
- assert(glIsProgramNV(1));
-
- glProgramParameter4fNV(GL_VERTEX_PROGRAM_NV, 0, 1, 2, 3, 4);
- glProgramParameter4fNV(GL_VERTEX_PROGRAM_NV, 1, 10, 20, 30, 40);
-
- glExecuteProgramNV(GL_VERTEX_STATE_PROGRAM_NV, 1, p);
-
- glGetProgramParameterfvNV(GL_VERTEX_PROGRAM_NV, 2, GL_PROGRAM_PARAMETER_NV, q);
- printf("Result c[2] = %g %g %g %g (should be 44 33 22 11)\n",
- q[0], q[1], q[2], q[3]);
-}
-
-
-static void Test3( void )
-{
- static const GLfloat p[4] = {0, 0, 0, 0};
- GLfloat q[4];
- /* normalize vector */
- static const char *prog =
- "!!VSP1.0\n"
- "# c[0] = (nx,ny,nz)\n"
- "# R0.xyz = normalize(R1)\n"
- "# R0.w = 1/sqrt(nx*nx + ny*ny + nz*nz)\n"
- "# c[2] = R0\n"
- "DP3 R0.w, c[0], c[0];\n"
- "RSQ R0.w, R0.w;\n"
- "MUL R0.xyz, c[0], R0.w;\n"
- "MOV c[2], R0;\n"
- "END\n";
-
- glLoadProgramNV(GL_VERTEX_STATE_PROGRAM_NV, 1,
- strlen(prog),
- (const GLubyte *) prog);
- assert(glIsProgramNV(1));
-
- glProgramParameter4fNV(GL_VERTEX_PROGRAM_NV, 0, 0, 10, 0, 0);
-
- glExecuteProgramNV(GL_VERTEX_STATE_PROGRAM_NV, 1, p);
-
- glGetProgramParameterfvNV(GL_VERTEX_PROGRAM_NV, 2, GL_PROGRAM_PARAMETER_NV, q);
- printf("Result c[2] = %g %g %g %g (should be 0, 1, 0, 0.1)\n",
- q[0], q[1], q[2], q[3]);
-}
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 50, 50 );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH );
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- Test1();
- Test2();
- Test3();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/vptest3.c b/progs/tests/vptest3.c
deleted file mode 100644
index 4e4bfee31d..0000000000
--- a/progs/tests/vptest3.c
+++ /dev/null
@@ -1,121 +0,0 @@
-/* Test glGenProgramsNV(), glIsProgramNV(), glLoadProgramNV() */
-
-#include <assert.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-static float Zrot = 0.0;
-
-
-static void Display( void )
-{
- glClearColor(0.3, 0.3, 0.3, 1);
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
-
- glEnable(GL_VERTEX_PROGRAM_NV);
-
- glLoadIdentity();
- glRotatef(Zrot, 0, 0, 1);
-
- glTrackMatrixNV(GL_VERTEX_PROGRAM_NV, 0, GL_MODELVIEW, GL_IDENTITY_NV);
- glPushMatrix();
-
- glVertexAttrib3fNV(3, 1, 0.5, 0.25);
- glBegin(GL_TRIANGLES);
-#if 1
- glVertexAttrib3fNV(3, 1.0, 0.0, 0.0);
- glVertexAttrib2fNV(0, -0.5, -0.5);
- glVertexAttrib3fNV(3, 0.0, 1.0, 0.0);
- glVertexAttrib2fNV(0, 0.5, -0.5);
- glVertexAttrib3fNV(3, 0.0, 0.0, 1.0);
- glVertexAttrib2fNV(0, 0, 0.5);
-#else
- glVertex2f( -1, -1);
- glVertex2f( 1, -1);
- glVertex2f( 0, 1);
-#endif
- glEnd();
-
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- /* glFrustum( -2.0, 2.0, -2.0, 2.0, 5.0, 25.0 );*/
- glOrtho(-2.0, 2.0, -2.0, 2.0, -2.0, 2.0 );
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- /*glTranslatef( 0.0, 0.0, -15.0 );*/
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 'z':
- Zrot -= 5.0;
- break;
- case 'Z':
- Zrot += 5.0;
- break;
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void Init( void )
-{
- static const char *prog1 =
- "!!VP1.0\n"
- "MOV o[COL0], v[COL0];\n"
-#if 0
- "MOV o[HPOS], v[OPOS];\n"
-#else
- "DP4 o[HPOS].x, v[OPOS], c[0];\n"
- "DP4 o[HPOS].y, v[OPOS], c[1];\n"
- "DP4 o[HPOS].z, v[OPOS], c[2];\n"
- "DP4 o[HPOS].w, v[OPOS], c[3];\n"
-#endif
- "END\n";
-
- glLoadProgramNV(GL_VERTEX_PROGRAM_NV, 1,
- strlen(prog1),
- (const GLubyte *) prog1);
- assert(glIsProgramNV(1));
-
- glBindProgramNV(GL_VERTEX_PROGRAM_NV, 1);
-
- printf("glGetError = %d\n", (int) glGetError());
-}
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 250, 250 );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH );
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/vptorus.c b/progs/tests/vptorus.c
deleted file mode 100644
index e61ffdac21..0000000000
--- a/progs/tests/vptorus.c
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * A lit, rotating torus via vertex program
- */
-
-#include <assert.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-static float Xrot = 0.0, Yrot = 0.0, Zrot = 0.0;
-static GLboolean Anim = GL_TRUE;
-
-
-static void Idle( void )
-{
- Xrot += .3;
- Yrot += .4;
- Zrot += .2;
- glutPostRedisplay();
-}
-
-
-static void Display( void )
-{
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
-
- glPushMatrix();
- glRotatef(Xrot, 1, 0, 0);
- glRotatef(Yrot, 0, 1, 0);
- glRotatef(Zrot, 0, 0, 1);
- glutSolidTorus(0.75, 2.0, 10, 20);
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -2.0, 2.0, -2.0, 2.0, 5.0, 25.0 );
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -12.0 );
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case ' ':
- Xrot = Yrot = Zrot = 0;
- break;
- case 'a':
- Anim = !Anim;
- if (Anim)
- glutIdleFunc(Idle);
- else
- glutIdleFunc(NULL);
- break;
- case 'z':
- Zrot -= 5.0;
- break;
- case 'Z':
- Zrot += 5.0;
- break;
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void SpecialKey( int key, int x, int y )
-{
- const GLfloat step = 3.0;
- (void) x;
- (void) y;
- switch (key) {
- case GLUT_KEY_UP:
- Xrot -= step;
- break;
- case GLUT_KEY_DOWN:
- Xrot += step;
- break;
- case GLUT_KEY_LEFT:
- Yrot -= step;
- break;
- case GLUT_KEY_RIGHT:
- Yrot += step;
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void Init( void )
-{
- /* borrowed from an nvidia demo:
- * c[0..3] = modelview matrix
- * c[4..7] = inverse modelview matrix
- * c[32] = light pos
- * c[35] = diffuse color
- */
- static const char prog[] =
- "!!VP1.0\n"
- "#Simple transform and diffuse lighting\n"
- "\n"
- "DP4 o[HPOS].x, c[0], v[OPOS] ; # object x MVP -> clip\n"
- "DP4 o[HPOS].y, c[1], v[OPOS] ;\n"
- "DP4 o[HPOS].z, c[2], v[OPOS] ;\n"
- "DP4 o[HPOS].w, c[3], v[OPOS] ;\n"
-
- "DP3 R1.x, c[4], v[NRML] ; # normal x MV-1T -> lighting normal\n"
- "DP3 R1.y, c[5], v[NRML] ;\n"
- "DP3 R1.z, c[6], v[NRML] ;\n"
-
- "DP3 R0, c[32], R1 ; # L.N\n"
- "MUL o[COL0].xyz, R0, c[35] ; # col = L.N * diffuse\n"
- "MOV o[TEX0], v[TEX0];\n"
- "END";
-
- if (!glutExtensionSupported("GL_NV_vertex_program")) {
- printf("Sorry, this program requires GL_NV_vertex_program");
- exit(1);
- }
-
- glLoadProgramNV(GL_VERTEX_PROGRAM_NV, 1,
- strlen(prog), (const GLubyte *) prog);
- assert(glIsProgramNV(1));
- glBindProgramNV(GL_VERTEX_PROGRAM_NV, 1);
-
- /* Load the program registers */
- glTrackMatrixNV(GL_VERTEX_PROGRAM_NV, 0, GL_MODELVIEW_PROJECTION_NV, GL_IDENTITY_NV);
- glTrackMatrixNV(GL_VERTEX_PROGRAM_NV, 4, GL_MODELVIEW, GL_INVERSE_TRANSPOSE_NV);
-
- /* Light position */
- glProgramParameter4fNV(GL_VERTEX_PROGRAM_NV, 32, 2, 2, 4, 1);
- /* Diffuse material color */
- glProgramParameter4fNV(GL_VERTEX_PROGRAM_NV, 35, 0.25, 0, 0.25, 1);
-
- glEnable(GL_VERTEX_PROGRAM_NV);
- glEnable(GL_DEPTH_TEST);
- glClearColor(0.3, 0.3, 0.3, 1);
-
- printf("glGetError = %d\n", (int) glGetError());
-}
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 250, 250 );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH );
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutSpecialFunc( SpecialKey );
- glutDisplayFunc( Display );
- if (Anim)
- glutIdleFunc(Idle);
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/vpwarpmesh.c b/progs/tests/vpwarpmesh.c
deleted file mode 100644
index 80204ea136..0000000000
--- a/progs/tests/vpwarpmesh.c
+++ /dev/null
@@ -1,237 +0,0 @@
-/*
- * Warp a triangle mesh with a vertex program.
- */
-
-#include <assert.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-static float Xrot = -60.0, Yrot = 0.0, Zrot = 0.0;
-static GLboolean Anim = GL_TRUE;
-static GLfloat Phi = 0.0;
-
-
-static void Idle( void )
-{
- Phi += 0.01;
- glutPostRedisplay();
-}
-
-
-static void DrawMesh( int rows, int cols )
-{
- static const GLfloat colorA[3] = { 0, 1, 0 };
- static const GLfloat colorB[3] = { 0, 0, 1 };
- const float dx = 2.0 / (cols - 1);
- const float dy = 2.0 / (rows - 1);
- float x, y;
- int i, j;
-
-#if 1
-#define COLOR3FV(c) glVertexAttrib3fvNV(3, c)
-#define VERTEX2F(x, y) glVertexAttrib2fNV(0, x, y)
-#else
-#define COLOR3FV(c) glColor3fv(c)
-#define VERTEX2F(x, y) glVertex2f(x, y)
-#endif
-
- y = -1.0;
- for (i = 0; i < rows - 1; i++) {
- glBegin(GL_QUAD_STRIP);
- x = -1.0;
- for (j = 0; j < cols; j++) {
- if ((i + j) & 1)
- COLOR3FV(colorA);
- else
- COLOR3FV(colorB);
- VERTEX2F(x, y);
- VERTEX2F(x, y + dy);
- x += dx;
- }
- glEnd();
- y += dy;
- }
-}
-
-
-static void Display( void )
-{
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
-
- glPushMatrix();
- glRotatef(Xrot, 1, 0, 0);
- glRotatef(Yrot, 0, 1, 0);
- glRotatef(Zrot, 0, 0, 1);
-
- /* Position the gravity source */
- {
- GLfloat x, y, z, r = 0.5;
- x = r * cos(Phi);
- y = r * sin(Phi);
- z = 1.0;
- glProgramParameter4fNV(GL_VERTEX_PROGRAM_NV, 30, x, y, z, 1);
- glDisable(GL_VERTEX_PROGRAM_NV);
- glBegin(GL_POINTS);
- glColor3f(1,1,1);
- glVertex3f(x, y, z);
- glEnd();
- }
-
- glEnable(GL_VERTEX_PROGRAM_NV);
- DrawMesh(8, 8);
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- float ar = (float) width / (float) height;
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -1.0 * ar, 1.0 * ar, -1.0, 1.0, 5.0, 25.0 );
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -12.0 );
- glScalef(2, 2, 2);
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 'a':
- Anim = !Anim;
- if (Anim)
- glutIdleFunc(Idle);
- else
- glutIdleFunc(NULL);
- break;
- case 'p':
- Phi += 0.2;
- break;
- case 'z':
- Zrot -= 5.0;
- break;
- case 'Z':
- Zrot += 5.0;
- break;
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void SpecialKey( int key, int x, int y )
-{
- const GLfloat step = 3.0;
- (void) x;
- (void) y;
- switch (key) {
- case GLUT_KEY_UP:
- Xrot -= step;
- break;
- case GLUT_KEY_DOWN:
- Xrot += step;
- break;
- case GLUT_KEY_LEFT:
- Yrot -= step;
- break;
- case GLUT_KEY_RIGHT:
- Yrot += step;
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void Init( void )
-{
- /*
- * c[0..3] = modelview matrix
- * c[4..7] = inverse modelview matrix
- * c[30] = gravity source location
- * c[31] = gravity source strength
- * c[32] = light pos
- * c[35] = diffuse color
- */
- static const char prog[] =
- "!!VP1.0\n"
-
- "# Compute distance from vertex to gravity source\n"
- "ADD R1, c[30], -v[OPOS]; # vector from vertex to gravity\n"
- "DP3 R2, R1, R1; # dot product\n"
- "RSQ R2, R2.x; # square root = distance\n"
- "MUL R2, R2, c[31].xxxx; # scale by the gravity factor\n"
-
- "# Displace vertex by gravity factor along R1 vector\n"
- "MAD R3, R1, R2, v[OPOS];\n"
-
- "# Continue with typical modelview/projection\n"
- "DP4 o[HPOS].x, c[0], R3 ; # object x MVP -> clip\n"
- "DP4 o[HPOS].y, c[1], R3 ;\n"
- "DP4 o[HPOS].z, c[2], R3 ;\n"
- "DP4 o[HPOS].w, c[3], R3 ;\n"
-
- "MOV o[COL0], v[COL0];\n # copy input color to output color\n"
-
- "END";
-
- if (!glutExtensionSupported("GL_NV_vertex_program")) {
- printf("Sorry, this program requires GL_NV_vertex_program\n");
- exit(1);
- }
-
- glLoadProgramNV(GL_VERTEX_PROGRAM_NV, 1,
- strlen(prog), (const GLubyte *) prog);
- assert(glIsProgramNV(1));
- glBindProgramNV(GL_VERTEX_PROGRAM_NV, 1);
-
- /* Load the program registers */
- glTrackMatrixNV(GL_VERTEX_PROGRAM_NV, 0, GL_MODELVIEW_PROJECTION_NV, GL_IDENTITY_NV);
- glTrackMatrixNV(GL_VERTEX_PROGRAM_NV, 4, GL_MODELVIEW, GL_INVERSE_TRANSPOSE_NV);
-
- /* Light position */
- glProgramParameter4fNV(GL_VERTEX_PROGRAM_NV, 32, 2, 2, 4, 1);
- /* Diffuse material color */
- glProgramParameter4fNV(GL_VERTEX_PROGRAM_NV, 35, 0.25, 0, 0.25, 1);
-
- /* Gravity strength */
- glProgramParameter4fNV(GL_VERTEX_PROGRAM_NV, 31, .5, 0, 0, 0);
-
- glEnable(GL_DEPTH_TEST);
- glClearColor(0.3, 0.3, 0.3, 1);
- glShadeModel(GL_FLAT);
- glPointSize(3);
- printf("glGetError = %d\n", (int) glGetError());
-}
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 250, 250 );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH );
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutSpecialFunc( SpecialKey );
- glutDisplayFunc( Display );
- if (Anim)
- glutIdleFunc(Idle);
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/yuvrect.c b/progs/tests/yuvrect.c
deleted file mode 100644
index aab2f80ed9..0000000000
--- a/progs/tests/yuvrect.c
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
- * Test the GL_NV_texture_rectangle and GL_MESA_ycrcb_texture extensions.
- *
- * Brian Paul 13 September 2002
- */
-
-#include <assert.h>
-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-#include "../util/readtex.c" /* I know, this is a hack. */
-
-#define TEXTURE_FILE "../images/girl.rgb"
-
-static GLfloat Xrot = 0, Yrot = 0, Zrot = 0;
-static GLint ImgWidth, ImgHeight;
-static GLushort *ImageYUV = NULL;
-
-
-static void DrawObject(void)
-{
- glBegin(GL_QUADS);
-
- glTexCoord2f(0, 0);
- glVertex2f(-1.0, -1.0);
-
- glTexCoord2f(ImgWidth, 0);
- glVertex2f(1.0, -1.0);
-
- glTexCoord2f(ImgWidth, ImgHeight);
- glVertex2f(1.0, 1.0);
-
- glTexCoord2f(0, ImgHeight);
- glVertex2f(-1.0, 1.0);
-
- glEnd();
-}
-
-
-static void Display( void )
-{
- glClear( GL_COLOR_BUFFER_BIT );
-
- glPushMatrix();
- glRotatef(Xrot, 1.0, 0.0, 0.0);
- glRotatef(Yrot, 0.0, 1.0, 0.0);
- glRotatef(Zrot, 0.0, 0.0, 1.0);
- DrawObject();
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -1.0, 1.0, -1.0, 1.0, 10.0, 100.0 );
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -15.0 );
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void SpecialKey( int key, int x, int y )
-{
- float step = 3.0;
- (void) x;
- (void) y;
-
- switch (key) {
- case GLUT_KEY_UP:
- Xrot += step;
- break;
- case GLUT_KEY_DOWN:
- Xrot -= step;
- break;
- case GLUT_KEY_LEFT:
- Yrot += step;
- break;
- case GLUT_KEY_RIGHT:
- Yrot -= step;
- break;
- }
- glutPostRedisplay();
-}
-
-
-
-static void Init( int argc, char *argv[] )
-{
- GLuint texObj = 100;
- const char *file;
-
- if (!glutExtensionSupported("GL_NV_texture_rectangle")) {
- printf("Sorry, GL_NV_texture_rectangle is required\n");
- exit(0);
- }
-
- if (!glutExtensionSupported("GL_MESA_ycbcr_texture")) {
- printf("Sorry, GL_MESA_ycbcr_texture is required\n");
- exit(0);
- }
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
-
- glBindTexture(GL_TEXTURE_RECTANGLE_NV, texObj);
-#ifdef LINEAR_FILTER
- /* linear filtering looks much nicer but is much slower for Mesa */
- glTexParameteri(GL_TEXTURE_RECTANGLE_NV, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
- glTexParameteri(GL_TEXTURE_RECTANGLE_NV, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
-#else
- glTexParameteri(GL_TEXTURE_RECTANGLE_NV, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameteri(GL_TEXTURE_RECTANGLE_NV, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
-#endif
-
- if (argc > 1)
- file = argv[1];
- else
- file = TEXTURE_FILE;
-
- ImageYUV = LoadYUVImage(file, &ImgWidth, &ImgHeight);
- if (!ImageYUV) {
- printf("Couldn't read %s\n", TEXTURE_FILE);
- exit(0);
- }
-
- printf("Image: %dx%d\n", ImgWidth, ImgHeight);
-
- glTexImage2D(GL_TEXTURE_RECTANGLE_NV, 0,
- GL_YCBCR_MESA, ImgWidth, ImgHeight, 0,
- GL_YCBCR_MESA, GL_UNSIGNED_SHORT_8_8_MESA, ImageYUV);
-
- assert(glGetError() == GL_NO_ERROR);
- glTexSubImage2D(GL_TEXTURE_RECTANGLE_NV, 0,
- 0, 0, ImgWidth, ImgHeight,
- GL_YCBCR_MESA, GL_UNSIGNED_SHORT_8_8_MESA, ImageYUV);
-
- assert(glGetError() == GL_NO_ERROR);
-
- glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
-
- glEnable(GL_TEXTURE_RECTANGLE_NV);
-
- glShadeModel(GL_FLAT);
- glClearColor(0.3, 0.3, 0.4, 1.0);
-
- if (argc > 1 && strcmp(argv[1], "-info")==0) {
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- printf("GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- printf("GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- printf("GL_EXTENSIONS = %s\n", (char *) glGetString(GL_EXTENSIONS));
- }
-}
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowSize( 300, 300 );
- glutInitWindowPosition( 0, 0 );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE );
- glutCreateWindow(argv[0] );
- glewInit();
-
- Init( argc, argv );
-
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutSpecialFunc( SpecialKey );
- glutDisplayFunc( Display );
-
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/yuvsquare.c b/progs/tests/yuvsquare.c
deleted file mode 100644
index 658528b799..0000000000
--- a/progs/tests/yuvsquare.c
+++ /dev/null
@@ -1,233 +0,0 @@
-/*
- * Test the GL_NV_texture_rectangle and GL_MESA_ycrcb_texture extensions.
- *
- * Brian Paul 13 September 2002
- */
-
-
-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-#include "../util/readtex.c" /* I know, this is a hack. */
-
-#define TEXTURE_FILE "../images/tile.rgb"
-
-static GLfloat Xrot = 0, Yrot = 0, Zrot = 0;
-static GLint ImgWidth, ImgHeight;
-static GLushort *ImageYUV = NULL;
-static GLubyte *ImageRGB = NULL;
-static const GLuint yuvObj = 100;
-static const GLuint rgbObj = 101;
-
-
-static void DrawObject(void)
-{
- glBegin(GL_QUADS);
-
- glTexCoord2f(0, 0);
- glVertex2f(-1.0, -1.0);
-
- glTexCoord2f(1, 0);
- glVertex2f(1.0, -1.0);
-
- glTexCoord2f(1, 1);
- glVertex2f(1.0, 1.0);
-
- glTexCoord2f(0, 1);
- glVertex2f(-1.0, 1.0);
-
- glEnd();
-}
-
-
-static void Display( void )
-{
- glClear( GL_COLOR_BUFFER_BIT );
-
- glPushMatrix();
- glTranslatef( -1.1, 0.0, -15.0 );
- glRotatef(Xrot, 1.0, 0.0, 0.0);
- glRotatef(Yrot, 0.0, 1.0, 0.0);
- glRotatef(Zrot, 0.0, 0.0, 1.0);
- glBindTexture(GL_TEXTURE_2D, yuvObj);
- DrawObject();
- glPopMatrix();
-
- glPushMatrix();
- glTranslatef( 1.1, 0.0, -15.0 );
- glRotatef(Xrot, 1.0, 0.0, 0.0);
- glRotatef(Yrot, 0.0, 1.0, 0.0);
- glRotatef(Zrot, 0.0, 0.0, 1.0);
- glBindTexture(GL_TEXTURE_2D, rgbObj);
- DrawObject();
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -1.1, 1.1, -1.1, 1.1, 10.0, 100.0 );
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -15.0 );
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void SpecialKey( int key, int x, int y )
-{
- float step = 3.0;
- (void) x;
- (void) y;
-
- switch (key) {
- case GLUT_KEY_UP:
- Xrot += step;
- break;
- case GLUT_KEY_DOWN:
- Xrot -= step;
- break;
- case GLUT_KEY_LEFT:
- Yrot += step;
- break;
- case GLUT_KEY_RIGHT:
- Yrot -= step;
- break;
- }
- glutPostRedisplay();
-}
-
-
-#define CLAMP( X, MIN, MAX ) ( (X)<(MIN) ? (MIN) : ((X)>(MAX) ? (MAX) : (X)) )
-
-
-
-/* #define LINEAR_FILTER */
-
-static void Init( int argc, char *argv[] )
-{
- const char *file;
- GLenum format;
-
- if (!glutExtensionSupported("GL_MESA_ycbcr_texture")) {
- printf("Sorry, GL_MESA_ycbcr_texture is required\n");
- exit(0);
- }
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
-
- if (argc > 1)
- file = argv[1];
- else
- file = TEXTURE_FILE;
-
- /* First load the texture as YCbCr.
- */
-
- glBindTexture(GL_TEXTURE_2D, yuvObj);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
-
- ImageYUV = LoadYUVImage(file, &ImgWidth, &ImgHeight );
- if (!ImageYUV) {
- printf("Couldn't read %s\n", TEXTURE_FILE);
- exit(0);
- }
-
- printf("Image: %dx%d\n", ImgWidth, ImgHeight);
-
-
- glTexImage2D(GL_TEXTURE_2D, 0,
- GL_YCBCR_MESA,
- ImgWidth, ImgHeight, 0,
- GL_YCBCR_MESA,
- GL_UNSIGNED_SHORT_8_8_MESA, ImageYUV);
-
- glEnable(GL_TEXTURE_2D);
-
- glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
-
-
-
- /* Now load the texture as RGB.
- */
-
- glBindTexture(GL_TEXTURE_2D, rgbObj);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
-
- ImageRGB = LoadRGBImage(file, &ImgWidth, &ImgHeight, &format );
- if (!ImageRGB) {
- printf("Couldn't read %s\n", TEXTURE_FILE);
- exit(0);
- }
-
- printf("Image: %dx%d\n", ImgWidth, ImgHeight);
-
-
- glTexImage2D(GL_TEXTURE_2D, 0,
- format,
- ImgWidth, ImgHeight, 0,
- format,
- GL_UNSIGNED_BYTE, ImageRGB);
-
- glEnable(GL_TEXTURE_2D);
-
- glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
-
-
-
- glShadeModel(GL_FLAT);
- glClearColor(0.3, 0.3, 0.4, 1.0);
-
- if (argc > 1 && strcmp(argv[1], "-info")==0) {
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- printf("GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- printf("GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- printf("GL_EXTENSIONS = %s\n", (char *) glGetString(GL_EXTENSIONS));
- }
-
- printf( "Both images should appear the same.\n" );
-}
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowSize( 300, 300 );
- glutInitWindowPosition( 0, 0 );
- glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE );
- glutCreateWindow(argv[0] );
- glewInit();
-
- Init( argc, argv );
-
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutSpecialFunc( SpecialKey );
- glutDisplayFunc( Display );
-
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/zcomp.c b/progs/tests/zcomp.c
deleted file mode 100644
index 15e35f17b0..0000000000
--- a/progs/tests/zcomp.c
+++ /dev/null
@@ -1,224 +0,0 @@
-/**
- * Test Z compositing with glDrawPixels(GL_DEPTH_COMPONENT) and stencil test.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-#include "../util/showbuffer.c"
-
-
-static int Win;
-static GLfloat Xrot = 0, Yrot = 0, Zpos = 6;
-static GLboolean Anim = GL_FALSE;
-
-static int Width = 400, Height = 200;
-static GLfloat *Zimg;
-static GLubyte *Cimg;
-static GLboolean showZ = 0;
-
-
-static void
-Idle(void)
-{
- Xrot += 3.0;
- Yrot += 4.0;
- glutPostRedisplay();
-}
-
-
-/**
- * Draw first object, save color+Z images
- */
-static void
-DrawFirst(void)
-{
- static const GLfloat red[4] = { 1.0, 0.0, 0.0, 0.0 };
-
- glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE, red);
-
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
- glPushMatrix();
- glTranslatef(-1, 0, 0);
- glRotatef(45 + Xrot, 1, 0, 0);
-
- glutSolidTorus(0.75, 2.0, 10, 20);
-
- glPopMatrix();
-
- glReadPixels(0, 0, Width, Height, GL_DEPTH_COMPONENT, GL_FLOAT, Zimg);
- glReadPixels(0, 0, Width, Height, GL_RGBA, GL_UNSIGNED_BYTE, Cimg);
-}
-
-
-/**
- * Draw second object.
- */
-static void
-DrawSecond(void)
-{
- static const GLfloat blue[4] = { 0.0, 0.0, 1.0, 0.0 };
-
- glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE, blue);
-
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
-
- glPushMatrix();
- glTranslatef(+1, 0, 0);
- glRotatef(-45 + Xrot, 1, 0, 0);
-
- glutSolidTorus(0.75, 2.0, 10, 20);
-
- glPopMatrix();
-}
-
-
-/**
- * Composite first/saved image over second rendering.
- */
-static void
-Composite(void)
-{
- glWindowPos2i(0, 0);
-
- /* Draw Z values, set stencil where Z test passes */
- glEnable(GL_STENCIL_TEST);
- glStencilFunc(GL_ALWAYS, 1, ~0);
- glStencilOp(GL_KEEP, GL_KEEP, GL_REPLACE);
- glColorMask(0,0,0,0);
- glDrawPixels(Width, Height, GL_DEPTH_COMPONENT, GL_FLOAT, Zimg);
- glColorMask(1,1,1,1);
-
- /* Draw color where stencil==1 */
- glStencilFunc(GL_EQUAL, 1, ~0);
- glStencilOp(GL_KEEP, GL_KEEP, GL_KEEP);
- glDisable(GL_DEPTH_TEST);
- glDrawPixels(Width, Height, GL_RGBA, GL_UNSIGNED_BYTE, Cimg);
- glEnable(GL_DEPTH_TEST);
-
- glDisable(GL_STENCIL_TEST);
-}
-
-
-static void
-Draw(void)
-{
- DrawFirst();
- DrawSecond();
- Composite();
- glutSwapBuffers();
-}
-
-
-static void
-Reshape(int width, int height)
-{
- GLfloat ar = (float) width / height;
- glViewport(0, 0, width, height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glFrustum(-ar, ar, -1.0, 1.0, 5.0, 30.0);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef(0.0, 0.0, -15.0);
-
- Width = width;
- Height = height;
-
- if (Zimg)
- free(Zimg);
- if (Cimg)
- free(Cimg);
- Zimg = (float *) malloc(width * height * 4);
- Cimg = (GLubyte *) malloc(width * height * 4);
-}
-
-
-static void
-Key(unsigned char key, int x, int y)
-{
- const GLfloat step = 1.0;
- (void) x;
- (void) y;
- switch (key) {
- case 'a':
- Anim = !Anim;
- if (Anim)
- glutIdleFunc(Idle);
- else
- glutIdleFunc(NULL);
- break;
- case 'd':
- showZ = !showZ;
- break;
- case 'z':
- Zpos -= step;
- break;
- case 'Z':
- Zpos += step;
- break;
- case 27:
- glutDestroyWindow(Win);
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void
-SpecialKey(int key, int x, int y)
-{
- const GLfloat step = 3.0;
- (void) x;
- (void) y;
- switch (key) {
- case GLUT_KEY_UP:
- Xrot -= step;
- break;
- case GLUT_KEY_DOWN:
- Xrot += step;
- break;
- case GLUT_KEY_LEFT:
- Yrot -= step;
- break;
- case GLUT_KEY_RIGHT:
- Yrot += step;
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void
-Init(void)
-{
- /* setup lighting, etc */
- glEnable(GL_DEPTH_TEST);
- glEnable(GL_LIGHTING);
- glEnable(GL_LIGHT0);
-}
-
-
-int
-main(int argc, char *argv[])
-{
- glutInit(&argc, argv);
- glutInitWindowPosition(0, 0);
- glutInitWindowSize(Width, Height);
- glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH | GLUT_STENCIL);
- Win = glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutSpecialFunc(SpecialKey);
- glutDisplayFunc(Draw);
- if (Anim)
- glutIdleFunc(Idle);
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/zdrawpix.c b/progs/tests/zdrawpix.c
deleted file mode 100644
index ba7da571eb..0000000000
--- a/progs/tests/zdrawpix.c
+++ /dev/null
@@ -1,193 +0,0 @@
-/**
- * Test glDrawPixels(GL_DEPTH_COMPONENT)
- *
- * We load a window-sized buffer of Z values so that Z=1 at the top and
- * Z=0 at the bottom (and interpolate between).
- * We draw that image into the Z buffer, then draw an ordinary cube.
- * The bottom part of the cube should be "clipped" where the cube fails
- * the Z test.
- *
- * Press 'd' to view the Z buffer as a grayscale image.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-#include "../util/showbuffer.c"
-
-
-static int Win;
-static GLfloat Xrot = 50, Yrot = 40, Zpos = 6;
-static GLboolean Anim = GL_FALSE;
-
-static int Width = 200, Height = 200;
-static GLfloat *z;
-static GLboolean showZ = 0;
-
-
-static void
-Idle(void)
-{
- Xrot += 3.0;
- Yrot += 4.0;
- glutPostRedisplay();
-}
-
-
-static void
-Draw(void)
-{
- glClearColor(0, 0, 0.5, 0);
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
-#if 1
- glColor3f(1, 0, 0);
- glWindowPos2i(0,0);
- glColorMask(0,0,0,0);
- glDrawPixels(Width, Height, GL_DEPTH_COMPONENT, GL_FLOAT, z);
-#elif 0
- glPushMatrix();
- glTranslatef(-0.75, 0, Zpos);
- glutSolidSphere(1.0, 20, 10);
- glPopMatrix();
-#endif
- glColorMask(1,1,1,1);
-
- /* draw cube */
- glPushMatrix();
- glTranslatef(0, 0, Zpos);
- glRotatef(Xrot, 1, 0, 0);
- glRotatef(Yrot, 0, 1, 0);
- glutSolidCube(2.0);
- glPopMatrix();
-
-#if 0
- /* drawpixels after cube */
- glColor3f(1, 0, 0);
- glWindowPos2i(0,0);
- //glColorMask(0,0,0,0);
- glDrawPixels(Width, Height, GL_DEPTH_COMPONENT, GL_FLOAT, z);
-#endif
-
- if (showZ) {
- ShowDepthBuffer(Width, Height, 0.0, 1.0);
- }
-
- glutSwapBuffers();
-}
-
-
-static void
-Reshape(int width, int height)
-{
- glViewport(0, 0, width, height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glFrustum(-1.0, 1.0, -1.0, 1.0, 5.0, 30.0);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef(0.0, 0.0, -15.0);
-
- Width = width;
- Height = height;
-
- z = (float *) malloc(width * height * 4);
- {
- int i, j, k = 0;
- for (i = 0; i < height; i++) {
- float zval = (float) i / (height - 1);
- for (j = 0; j < width; j++) {
- z[k++] = zval;
- }
- }
- }
-}
-
-
-static void
-Key(unsigned char key, int x, int y)
-{
- const GLfloat step = 1.0;
- (void) x;
- (void) y;
- switch (key) {
- case 'a':
- Anim = !Anim;
- if (Anim)
- glutIdleFunc(Idle);
- else
- glutIdleFunc(NULL);
- break;
- case 'd':
- showZ = !showZ;
- break;
- case 'z':
- Zpos -= step;
- break;
- case 'Z':
- Zpos += step;
- break;
- case 27:
- glutDestroyWindow(Win);
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void
-SpecialKey(int key, int x, int y)
-{
- const GLfloat step = 3.0;
- (void) x;
- (void) y;
- switch (key) {
- case GLUT_KEY_UP:
- Xrot -= step;
- break;
- case GLUT_KEY_DOWN:
- Xrot += step;
- break;
- case GLUT_KEY_LEFT:
- Yrot -= step;
- break;
- case GLUT_KEY_RIGHT:
- Yrot += step;
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void
-Init(void)
-{
- /* setup lighting, etc */
- glEnable(GL_DEPTH_TEST);
- glEnable(GL_LIGHTING);
- glEnable(GL_LIGHT0);
-}
-
-
-int
-main(int argc, char *argv[])
-{
- glutInit(&argc, argv);
- glutInitWindowPosition(0, 0);
- glutInitWindowSize(400, 400);
- glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
- Win = glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutSpecialFunc(SpecialKey);
- glutDisplayFunc(Draw);
- if (Anim)
- glutIdleFunc(Idle);
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tests/zreaddraw.c b/progs/tests/zreaddraw.c
deleted file mode 100644
index 7740695bb6..0000000000
--- a/progs/tests/zreaddraw.c
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- * Test glRead/DrawPixels for GL_DEPTH_COMPONENT, with pixelzoom.
- *
- * Brian Paul
- * 23 August 2003
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-static GLint WinWidth = 500, WinHeight = 500;
-static GLboolean Invert = GL_FALSE;
-static GLboolean TestPacking = GL_FALSE;
-static GLboolean TestList = GL_FALSE;
-
-
-static void Display(void)
-{
- GLfloat depth[100 * 100 * 2];
- GLfloat depth2[400 * 400]; /* *2 to test pixelstore stuff */
- GLuint list;
- GLenum depthType = GL_FLOAT;
-
- glClearColor(0.5, 0.5, 0.5, 1.0);
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
- glEnable(GL_DEPTH_TEST);
-
- /* draw a sphere */
- glViewport(0, 0, 100, 100);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1, 1, -1, 1, -1, 0); /* clip away back half of sphere */
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glutSolidSphere(1.0, 20, 10);
-
- if (TestPacking) {
- glPixelStorei(GL_PACK_ROW_LENGTH, 120);
- glPixelStorei(GL_PACK_SKIP_PIXELS, 5);
- }
-
- /* read the depth image */
- glReadPixels(0, 0, 100, 100, GL_DEPTH_COMPONENT, depthType, depth);
- if (depthType == GL_FLOAT) {
- GLfloat min, max;
- int i;
- min = max = depth[0];
- for (i = 1; i < 100 * 100; i++) {
- if (depth[i] < min)
- min = depth[i];
- if (depth[i] > max)
- max = depth[i];
- }
- printf("Depth value range: [%f, %f]\n", min, max);
- }
-
- /* Draw the Z image as luminance above original rendering */
- glWindowPos2i(0, 100);
- glDrawPixels(100, 100, GL_LUMINANCE, depthType, depth);
-
- if (TestPacking) {
- glPixelStorei(GL_PACK_ROW_LENGTH, 0);
- glPixelStorei(GL_PACK_SKIP_PIXELS, 0);
- glPixelStorei(GL_UNPACK_ROW_LENGTH, 120);
- glPixelStorei(GL_UNPACK_SKIP_PIXELS, 5);
- }
-
- /* draw depth image with scaling (into z buffer) */
- glPixelZoom(4.0, 4.0);
- glColor4f(1, 0, 0, 0);
- glWindowPos2i(100, 0);
- if (Invert) {
- glPixelTransferf(GL_DEPTH_SCALE, -1.0);
- glPixelTransferf(GL_DEPTH_BIAS, 1.0);
- }
- if (TestList) {
- list = glGenLists(1);
- glNewList(list, GL_COMPILE);
- glDrawPixels(100, 100, GL_DEPTH_COMPONENT, depthType, depth);
- glEndList();
- glCallList(list);
- glDeleteLists(list, 1);
- }
- else {
- glDrawPixels(100, 100, GL_DEPTH_COMPONENT, depthType, depth);
- }
- if (Invert) {
- glPixelTransferf(GL_DEPTH_SCALE, 1.0);
- glPixelTransferf(GL_DEPTH_BIAS, 0.0);
- }
-
- if (TestPacking) {
- glPixelStorei(GL_UNPACK_ROW_LENGTH, 0);
- glPixelStorei(GL_UNPACK_SKIP_PIXELS, 0);
- }
-
- glDisable(GL_DEPTH_TEST);
-
- /* read back scaled depth image */
- glReadPixels(100, 0, 400, 400, GL_DEPTH_COMPONENT, GL_FLOAT, depth2);
- /* draw as luminance */
- glPixelZoom(1.0, 1.0);
- glWindowPos2i(100, 0);
- glDrawPixels(400, 400, GL_LUMINANCE, GL_FLOAT, depth2);
-
- glutSwapBuffers();
-}
-
-
-static void Reshape(int width, int height)
-{
- WinWidth = width;
- WinHeight = height;
- glViewport(0, 0, width, height);
-}
-
-
-static void Key(unsigned char key, int x, int y)
-{
- (void) x;
- (void) y;
- switch (key) {
- case 'i':
- Invert = !Invert;
- break;
- case 'p':
- TestPacking = !TestPacking;
- printf("Test pixel pack/unpack: %d\n", TestPacking);
- break;
- case 'l':
- TestList = !TestList;
- printf("Test dlist: %d\n", TestList);
- break;
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void Init(void)
-{
- const GLfloat blue[4] = {.1, .1, 1.0, 1.0};
- const GLfloat gray[4] = {0.2, 0.2, 0.2, 1.0};
- const GLfloat white[4] = {1.0, 1.0, 1.0, 1.0};
- const GLfloat pos[4] = {0, 0, 10, 0};
-
- printf("GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
-
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, blue);
- glLightfv(GL_LIGHT0, GL_AMBIENT, gray);
- glLightfv(GL_LIGHT0, GL_DIFFUSE, white);
- glLightfv(GL_LIGHT0, GL_POSITION, pos);
- glEnable(GL_LIGHTING);
- glEnable(GL_LIGHT0);
-}
-
-
-int main(int argc, char *argv[])
-{
- glutInit(&argc, argv);
- glutInitWindowPosition(0, 0);
- glutInitWindowSize(WinWidth, WinHeight);
- glutInitDisplayMode(GLUT_RGB | GLUT_DEPTH | GLUT_DOUBLE);
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Display);
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/tools/trace/.gitignore b/progs/tools/trace/.gitignore
deleted file mode 100644
index afe0c5829e..0000000000
--- a/progs/tools/trace/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-gltrace.cc
diff --git a/progs/tools/trace/Makefile b/progs/tools/trace/Makefile
deleted file mode 100644
index 822e466ad1..0000000000
--- a/progs/tools/trace/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# Makefile for Thomas Sondergaard's API tracer
-
-TOP = ../../..
-
-include $(TOP)/configs/current
-
-
-OBJECTS = gltrace.o gltrace_support.o
-
-TRACER = gltrace.so
-
-.cc.o:
- $(CXX) -c $(INCDIRS) $(CXXFLAGS) $< -o $@
-
-
-default: $(TRACER)
-
-$(TRACER): $(OBJECTS)
- $(MKLIB) -o $(TRACER) -noprefix -cplusplus -linker '$(CXX)' \
- -ldflags '$(LDFLAGS)' $(MKLIB_OPTIONS) $(OBJECTS)
-
-gltrace.cc: gltrace.py
- PYTHONPATH=$(TOP)/src/mesa/glapi python gltrace.py -f $(TOP)/src/mesa/glapi/gl_API.xml > gltrace.cc
-
-
-clean:
- rm -f $(OBJECTS)
- rm -f $(TRACER)
- rm -f *~
- rm -f gltrace.cc
diff --git a/progs/tools/trace/README b/progs/tools/trace/README
deleted file mode 100644
index 7b3141dba7..0000000000
--- a/progs/tools/trace/README
+++ /dev/null
@@ -1,23 +0,0 @@
-NAME
- gltrace - trace opengl calls
-
-SYNOPSIS
- gltrace [OPTION] command [arg ...]
-
-DESCRIPTION
- -h help (this text)
- -c log gl calls
- -t time stamp log entries
- -e check for and log errors. errors occurring between
- glBegin() and glEnd() are checked at glEnd()
- -v verbose. Shows configuration settings passed to
- gltrace.so
- -l LOGFILE logfile. Default is stderr
-
-PROBLEMS
- Not all OpenGL extensions are known and traced by gltrace. Extension
- functions not initialized using glXGetProcAddress(ARB) will not be
- traced.
-
-AUTHOR
- Thomas Sondergaard (ts_news1 'at' sondergaard.cc)
diff --git a/progs/tools/trace/gltrace b/progs/tools/trace/gltrace
deleted file mode 100755
index d386912cf2..0000000000
--- a/progs/tools/trace/gltrace
+++ /dev/null
@@ -1,82 +0,0 @@
-#!/bin/bash
-
-# Copyright (C) 2006 Thomas Sondergaard
-# 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
-# on the rights to use, copy, modify, merge, publish, distribute, sub
-# license, 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 (including the next
-# paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
-# IBM AND/OR ITS SUPPLIERS 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.
-#
-# Authors:
-# Thomas Sondergaard <ts@medical-insight.com>
-
-usage="usage: $0 [ -hctev ] [-l LOGFILE] program [args...]\n\t-h\t\thelp (this text)\n\t-c\t\tlog gl calls\n\t-t\t\ttime stamp log entries\n\t-e\t\tcheck for and log errors. errors occurring between\n\t\t\tglBegin() and glEnd() are checked at glEnd()\n\t-v\t\tverbose. Shows configuration settings passed to\n\t\t\tgltrace.so\n\t-l LOGFILE\tlogfile. Default is stderr"
-
-# Path to gltrace.so - must not be relative
-#GLTRACE_SO=/home/ts/Mesa_gltrace/src/mesa/glapi/gltrace.so
-# This seems to work:
-GLTRACE_SO=./gltrace.so
-
-# Set options from command line
-
-VERBOSE=0
-GLTRACE_LOG_CALLS=0
-GLTRACE_LOG_TIME=0
-GLTRACE_CHECK_ERRORS=0
-export GLTRACE_LOG_CALLS GLTRACE_LOG_TIME GLTRACE_CHECK_ERRORS
-
-if [ $# -eq 0 ]; then
- echo -e $usage
- exit
-fi
-
-while getopts "hctevl:" options; do
- case $options in
- h) echo -e $usage
- exit 1;;
- c) GLTRACE_LOG_CALLS=1;;
- t) GLTRACE_LOG_TIME=1;;
- e) GLTRACE_CHECK_ERRORS=1;;
- l) GLTRACE_LOGFILE=$OPTARG
- export GLTRACE_LOGFILE;;
- v) VERBOSE=1;;
- *) echo -e $usage
- exit 1;;
- esac
-done
-
-# Remove the parsed args
-shift $(($OPTIND-1))
-
-if [ ! -r $GLTRACE_SO ]; then
- echo "Error: The gltrace.so file '$GLTRACE_SO' is missing!"
- exit 1
-fi
-
-export LD_PRELOAD=$GLTRACE_SO
-
-if [ $VERBOSE -eq 1 ]; then
- echo GLTRACE_LOG_CALLS=$GLTRACE_LOG_CALLS
- echo GLTRACE_LOG_TIME=$GLTRACE_LOG_TIME
- echo GLTRACE_CHECK_ERRORS=$GLTRACE_CHECK_ERRORS
- echo GLTRACE_LOGFILE=$GLTRACE_LOGFILE
- echo LD_PRELOAD=$LD_PRELOAD
- echo command=$*
-fi
-
-exec $*
diff --git a/progs/tools/trace/gltrace.py b/progs/tools/trace/gltrace.py
deleted file mode 100644
index 973881ac94..0000000000
--- a/progs/tools/trace/gltrace.py
+++ /dev/null
@@ -1,189 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (C) 2006 Thomas Sondergaard
-# 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
-# on the rights to use, copy, modify, merge, publish, distribute, sub
-# license, 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 (including the next
-# paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
-# IBM AND/OR ITS SUPPLIERS 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.
-#
-# Authors:
-# Thomas Sondergaard <ts@medical-insight.com>
-
-import gl_XML, glX_XML, glX_proto_common, license
-import sys, getopt, copy, string
-
-def create_argument_string(parameters):
- """Create a parameter string from a list of gl_parameters."""
-
- list = []
- for p in parameters:
- list.append( p.name )
- #if len(list) == 0: list = ["void"]
-
- return string.join(list, ", ")
-
-def create_logfunc_string(func, name):
- """Create a parameter string from a list of gl_parameters."""
-
- list = []
- list.append('"gl' + name + '("')
- sep = None
- for p in func.parameters:
- if (sep):
- list.append(sep)
- list.append( p.name )
- sep = '", "'
- list.append('");"')
- #if len(list) == 0: list = ["void"]
-
- return "if (config.logCalls) GLTRACE_LOG(" + string.join(list, " << ")+");";
-
-class PrintGltrace(glX_proto_common.glx_print_proto): #(gl_XML.gl_print_base):
- def __init__(self):
- gl_XML.gl_print_base.__init__(self)
-
- self.name = "gltrace.py"
- self.license = license.bsd_license_template % ( \
-"""Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
-(C) Copyright IBM Corporation 2004""", "PRECISION INSIGHT, IBM")
- #self.header_tag = "_INDIRECT_H_"
-
- self.last_category = ""
- return
-
-
- def printRealHeader(self):
- print """/**
- * \\file
- * gl and glX wrappers for tracing
- *
- * \\author Thomas Sondergaard <ts@medical-insight.com>
- */
-"""
- #self.printVisibility( "HIDDEN", "hidden" )
- #self.printFastcall()
- #self.printNoinline()
-
- print """
-#include <GL/gl.h>
-#include <GL/glx.h>
-#include <GL/glu.h>
-#include <dlfcn.h>
-#include "gltrace_support.h"
-
-using namespace gltrace;
-
-static GLenum real_glGetError() {
- static GLenum (*real_func)(void) = 0;
- if (!real_func) real_func = (GLenum (*)(void)) dlsym(RTLD_NEXT, "glGetError");
- return real_func();
-}
-
-bool betweenGLBeginEnd = false;
-
-extern "C" {
-
-
-__GLXextFuncPtr real_glXGetProcAddressARB(const GLubyte *func_name) {
- static __GLXextFuncPtr (*real_func)(const GLubyte *func_name) = 0;
- if (!real_func) real_func = (__GLXextFuncPtr (*)(const GLubyte *func_name)) dlsym(RTLD_NEXT, "glXGetProcAddressARB");
-
- return real_func(func_name);
-}
-
-__GLXextFuncPtr glXGetProcAddressARB(const GLubyte *func_name_ubyte) {
- std::string func_name =
- std::string("gltrace_")+reinterpret_cast<const char*>(func_name_ubyte);
-
- __GLXextFuncPtr f = (__GLXextFuncPtr) dlsym(RTLD_DEFAULT, func_name.c_str());
- if (!f) {
- GLTRACE_LOG("warning: Could not resolve '" << func_name << "' - function will not be intercepted");
- return real_glXGetProcAddressARB(func_name_ubyte);
- }
- return f;
-}
-
-"""
-
- def printRealFooter(self):
- print "} // Extern \"C\""
-
- def printBody(self, api):
- for func in api.functionIterateGlx():
- for func_name in func.entry_points:
- functionPrefix = ""
- use_dlsym = True
- if (api.get_category_for_name(func.name)[1] != None):
- functionPrefix = "gltrace_"
- use_dlsym = False
-
- print '%s %sgl%s(%s) {' % (func.return_type, functionPrefix, func_name, func.get_parameter_string())
- if (use_dlsym):
- print ' static %s (*real_func)(%s) = 0;' % (func.return_type, func.get_parameter_string())
- print ' if (!real_func) real_func = (%s (*)(%s)) dlsym(RTLD_NEXT, "gl%s");' % (func.return_type, func.get_parameter_string(), func_name)
- else: # use glXGetProcAddressArb
- print ' static %s (*real_func)(%s) = 0;' % (func.return_type, func.get_parameter_string())
- print ' if (!real_func) real_func = (%s (*)(%s)) real_glXGetProcAddressARB((GLubyte *)"gl%s");' % (func.return_type, func.get_parameter_string(), func_name)
- print ' ' + create_logfunc_string(func, func_name)
- if (func.return_type == "void"):
- print ' real_func(%s);' % (create_argument_string(func.parameters))
- else:
- print ' %s retval = real_func(%s);' % (func.return_type, create_argument_string(func.parameters))
- if (func.name == "Begin"):
- print ' betweenGLBeginEnd = true;'
- elif (func.name == "End"):
- print ' betweenGLBeginEnd = false;'
- print ' if (!betweenGLBeginEnd && config.checkErrors) {'
- print ' GLenum res;'
- print ' while ((res = real_glGetError ()) != GL_NO_ERROR) '
- print ' GLTRACE_LOG("OpenGL Error (" << res << "): <" << gluErrorString(res) << "> at " << gltrace::getStackTrace());'
- print ' }'
- if (func.return_type != "void"):
- print " return retval;"
- print '}'
-
-
-def show_usage():
- print "Usage: %s [-f input_file_name] [-m output_mode] [-d]" % sys.argv[0]
- print " -m output_mode Output mode can be one of 'proto', 'init_c' or 'init_h'."
- print " -d Enable extra debug information in the generated code."
- sys.exit(1)
-
-
-if __name__ == '__main__':
- file_name = "gl_API.xml"
-
- try:
- (args, trail) = getopt.getopt(sys.argv[1:], "f:d")
- except Exception,e:
- show_usage()
-
- debug = 0
- for (arg,val) in args:
- if arg == "-f":
- file_name = val
- elif arg == "-d":
- debug = 1
-
- printer = PrintGltrace()
-
- printer.debug = debug
- api = gl_XML.parse_GL_API( file_name, glX_XML.glx_item_factory() )
-
- printer.Print( api )
diff --git a/progs/tools/trace/gltrace_support.cc b/progs/tools/trace/gltrace_support.cc
deleted file mode 100644
index 0b76d3247d..0000000000
--- a/progs/tools/trace/gltrace_support.cc
+++ /dev/null
@@ -1,193 +0,0 @@
-/*
- * Copyright (C) 2006 Thomas Sondergaard 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
- * BRIAN PAUL 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.
- */
-
-#include "gltrace_support.h"
-#include <cstdlib>
-#include <cstring>
-#include <assert.h>
-#include <sstream>
-#include <fstream>
-#include <iomanip>
-#include <execinfo.h>
-#include <cxxabi.h>
-#include <sys/time.h>
-
-namespace {
-
- const char *
- demangle (const char * mangled) throw()
- {
- static char buf[4096];
- int status;
- size_t length = sizeof(buf)-1;
-
- memset (buf, 0, sizeof(buf));
-
- if (!mangled)
- return 0;
-
- char * demangled = __cxxabiv1::__cxa_demangle(mangled,
- buf,
- &length,
- &status);
- if (demangled && !status)
- return demangled;
- else
- return mangled;
- }
-
- void
- printStackTrace (void **stackframes,
- int stackframe_size,
- std::ostream & out )
- {
- char **strings = 0;
- std::stringstream ss;
-
- // this might actually fail if memory is tight or we are in a
- // signal handler
- strings = backtrace_symbols (stackframes, stackframe_size);
-
- ss << "Backtrace :";
-
- if (stackframe_size == gltrace::MAX_STACKFRAMES)
- ss << "(possibly incomplete maximal number of frames exceeded):" << std::endl;
- else
- ss << std::endl;
-
- out << ss.str();
-
- // the first frame is the constructor of the exception
- // the last frame always seem to be bogus?
- for (int i = 0; strings && i < stackframe_size-1; ++i) {
- char libname[257], funcname[2049];
- unsigned int address=0, funcoffset = 0x0;
-
- memset (libname,0,sizeof(libname));
- memset (funcname,0,sizeof(funcname));
-
- strcpy (funcname,"??");
- strcpy (libname, "??");
-
- int scanned = sscanf (strings[i], "%256[^(] ( %2048[^+] + %x ) [ %x ]",
- libname,
- funcname,
- &funcoffset,
- &address);
-
- /* ok, so no function was mentioned in the backtrace */
- if (scanned < 4) {
- scanned = sscanf (strings[i], "%256[^([] [ %x ]",
- libname,
- &address);
- }
-
- if (funcname[0] == '_') {
- const char * demangled;
- if ((demangled = demangle(funcname) ) != funcname) {
- strncpy (funcname, demangled, sizeof(funcname)-1);
- }
- }
- else
- strcat (funcname," ()");
-
- out << "\t#" << i << std::hex << " 0x" << address << " in " << funcname
- << " at 0x" << funcoffset << " (from " << libname << ")" << std::endl;
- }
-
- free (strings);
- }
-
-
-} // anon namespace
-
-namespace gltrace {
-
- std::string getStackTrace(int count, int first) {
- ++first;
- std::stringstream ss;
- const int BA_MAX = 1000;
- assert(count + first <= BA_MAX);
- void *ba[BA_MAX];
- int n = backtrace(ba, count+first);
-
- printStackTrace( &ba[first], n-first, ss);
-
- return ss.str();
- }
-
- std::ostream &timeNow(std::ostream &os) {
-
- struct timeval now;
- struct tm t;
- static char const *months[12] =
- {
- "Jan", "Feb", "Mar", "Apr", "May", "Jun",
- "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
- };
-
- gettimeofday (&now, 0);
- localtime_r ((time_t*) &now.tv_sec, &t);
-
- os
- << months[t.tm_mon] << " "
- << std::setw(2) << t.tm_mday << " "
- << std::setw(2) << t.tm_hour << ":"
- << std::setw(2) << t.tm_min << ":"
- << std::setw(2) << t.tm_sec << "."
- << std::setw(3) << now.tv_usec/1000;
- return os;
- }
-
- logstream::logstream(const char *filename) {
- if (!filename)
- init(std::cerr.rdbuf());
- else {
- file_os.reset(new std::ofstream(filename));
- if (file_os->good())
- init(file_os->rdbuf());
- else {
- std::cerr << "ERROR: gltrace: Failed to open '" << filename
- << "' for writing. Falling back to stderr." << std::endl;
- init(std::cerr.rdbuf());
- }
- }
- *this << std::setfill('0'); // setw used in timeNow
- }
-
-
- Config::Config() :
- logCalls(true),
- checkErrors(true),
- logTime(true),
- log(getenv("GLTRACE_LOGFILE")) {
- if (const char *v = getenv("GLTRACE_LOG_CALLS"))
- logCalls = strncmp("1", v, 1) == 0;
- if (const char *v = getenv("GLTRACE_CHECK_ERRORS"))
- checkErrors = strncmp("1", v, 1) == 0;
- if (const char *v = getenv("GLTRACE_LOG_TIME"))
- logTime = strncmp("1", v, 1) == 0;
- }
-
- // *The* config
- Config config;
-
-} // namespace gltrace
diff --git a/progs/tools/trace/gltrace_support.h b/progs/tools/trace/gltrace_support.h
deleted file mode 100644
index de28669a98..0000000000
--- a/progs/tools/trace/gltrace_support.h
+++ /dev/null
@@ -1,65 +0,0 @@
-// -*- c++ -*- (emacs c++ mode)
-/*
- * Copyright (C) 2006 Thomas Sondergaard 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
- * BRIAN PAUL 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.
- */
-#ifndef GLTRACE_SUPPORT_H
-#define GLTRACE_SUPPORT_H
-
-#include <string>
-#include <iostream>
-#include <memory>
-
-namespace gltrace {
-
- const int MAX_STACKFRAMES = 100;
-
- /// Returns the stack trace of the current thread
- std::string getStackTrace(int count = MAX_STACKFRAMES, int first = 0);
-
- std::ostream &timeNow(std::ostream &os);
-
- struct logstream : public std::ostream {
-
- /// Opens a logstream - if filename is null, stderr will be used
- logstream(const char *filename = 0);
-
- private:
- std::auto_ptr<std::ofstream> file_os;
- };
-
- struct Config {
- bool logCalls;
- bool checkErrors;
- bool logTime;
- logstream log;
-
- Config();
- };
-
- extern Config config;
-
-} // namespace gltrace
-
-#define GLTRACE_LOG(x) \
- { if (config.logTime) config.log << timeNow << ": "; config.log << x << "\n"; }
-
-#endif // GLTRACE_SUPPORT_H
-
-
diff --git a/progs/trivial/.gitignore b/progs/trivial/.gitignore
deleted file mode 100644
index 4d6e405c50..0000000000
--- a/progs/trivial/.gitignore
+++ /dev/null
@@ -1,162 +0,0 @@
-clear
-clear-fbo
-clear-fbo-tex
-clear-random
-clear-repeat
-clear-scissor
-clear-undefined
-createwin
-dlist-begin-call-end
-dlist-dangling
-dlist-degenerate
-dlist-edgeflag
-dlist-edgeflag-dangling
-dlist-flat-tri
-dlist-mat-tri
-dlist-recursive-call
-dlist-tri-flat-tri
-dlist-tri-mat-tri
-draw2arrays
-drawarrays
-drawelements
-drawrange
-extfuncs.h
-flat-clip
-fs-tri
-line
-line-clip
-line-cull
-line-flat
-line-smooth
-line-stipple-wide
-line-userclip
-line-userclip-clip
-line-userclip-nop
-line-userclip-nop-clip
-line-wide
-lineloop
-lineloop-clip
-lineloop-elts
-linestrip
-linestrip-clip
-linestrip-flat-stipple
-linestrip-stipple
-linestrip-stipple-wide
-long-fixed-func
-pgon-mode
-point
-point-clip
-point-param
-point-sprite
-point-wide
-point-wide-smooth
-poly
-poly-flat
-poly-flat-clip
-poly-flat-unfilled-clip
-poly-unfilled
-quad
-quad-clip
-quad-clip-all-vertices
-quad-clip-nearplane
-quad-degenerate
-quad-flat
-quad-offset-factor
-quad-offset-unfilled
-quad-offset-units
-quad-tex-2d
-quad-tex-3d
-quad-tex-alpha
-quad-tex-pbo
-quad-tex-sub
-quad-unfilled
-quad-unfilled-clip
-quad-unfilled-stipple
-quads
-quadstrip
-quadstrip-clip
-quadstrip-cont
-quadstrip-flat
-readtex.c
-readtex.h
-readpixels
-tri
-tri-alpha
-tri-alpha-tex
-tri-array-interleaved
-tri-blend
-tri-blend-color
-tri-blend-max
-tri-blend-min
-tri-blend-revsub
-tri-blend-sub
-tri-clear
-tri-clip
-tri-cull
-tri-cull-both
-tri-dlist
-tri-edgeflag
-tri-fbo
-tri-fbo-tex
-tri-fbo-tex-mip
-tri-flat
-tri-flat-clip
-tri-fog
-tri-fp
-tri-fp-const-imm
-tri-lit
-tri-lit-material
-tri-logicop-none
-tri-logicop-xor
-tri-mask-tri
-tri-multitex-vbo
-tri-orig
-tri-query
-tri-repeat
-tri-scissor-tri
-tri-square
-tri-stencil
-tri-stipple
-tri-tex
-tri-tex-3d
-tri-tri
-tri-unfilled
-tri-unfilled-clip
-tri-unfilled-edgeflag
-tri-unfilled-fog
-tri-unfilled-point
-tri-unfilled-smooth
-tri-unfilled-tri
-tri-unfilled-tri-lit
-tri-unfilled-userclip
-tri-unfilled-userclip-stip
-tri-userclip
-tri-viewport
-tri-z
-tri-z-9
-tri-z-eq
-trifan
-trifan-flat
-trifan-flat-clip
-trifan-flat-unfilled-clip
-trifan-unfilled
-tristrip
-tristrip-clip
-tristrip-flat
-vbo-drawarrays
-vbo-drawelements
-vbo-drawrange
-vbo-noninterleaved
-vp-array
-vp-array-int
-vp-clip
-vp-line-clip
-vp-tri
-vp-tri-cb
-vp-tri-cb-pos
-vp-tri-cb-tex
-vp-tri-imm
-vp-tri-invariant
-vp-tri-swap
-vp-tri-tex
-vp-unfilled
diff --git a/progs/trivial/Makefile b/progs/trivial/Makefile
deleted file mode 100644
index 70728616d2..0000000000
--- a/progs/trivial/Makefile
+++ /dev/null
@@ -1,245 +0,0 @@
-# progs/tests/Makefile
-
-
-# These programs aren't intended to be included with the normal distro.
-# They're not too interesting but they're good for testing.
-
-TOP = ../..
-include $(TOP)/configs/current
-
-
-LIBS = -L$(TOP)/$(LIB_DIR) -l $(GLEW_LIB) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) $(APP_LIB_DEPS)
-
-SOURCES = \
- clear-fbo-tex.c \
- clear-fbo.c \
- clear-scissor.c \
- clear-undefined.c \
- clear-repeat.c \
- clear-random.c \
- clear.c \
- createwin.c \
- dlist-dangling.c \
- dlist-flat-tri.c \
- dlist-mat-tri.c \
- dlist-tri-flat-tri.c \
- dlist-tri-mat-tri.c \
- dlist-recursive-call.c \
- dlist-begin-call-end.c \
- dlist-edgeflag-dangling.c \
- dlist-edgeflag.c \
- dlist-degenerate.c \
- drawarrays.c \
- draw2arrays.c \
- drawelements.c \
- drawrange.c \
- flat-clip.c \
- fs-tri.c \
- line-clip.c \
- line-cull.c \
- line-flat.c \
- line-smooth.c \
- line-stipple-wide.c \
- line-userclip-clip.c \
- line-userclip-nop-clip.c \
- line-userclip-nop.c \
- line-userclip.c \
- line-wide.c \
- line.c \
- lineloop-clip.c \
- lineloop-elts.c \
- lineloop.c \
- linestrip-clip.c \
- linestrip-flat-stipple.c \
- linestrip-stipple-wide.c \
- linestrip-stipple.c \
- linestrip.c \
- long-fixed-func.c \
- pgon-mode.c \
- point-clip.c \
- point-param.c \
- point-sprite.c \
- point-wide.c \
- point-wide-smooth.c \
- point.c \
- poly-flat.c \
- poly-flat-clip.c \
- poly-flat-unfilled-clip.c \
- poly-unfilled.c \
- poly.c \
- quad-clip-all-vertices.c \
- quad-clip-nearplane.c \
- quad-clip.c \
- quad-degenerate.c \
- quad-flat.c \
- quad-offset-factor.c \
- quad-offset-unfilled.c \
- quad-offset-units.c \
- quad-tex-2d.c \
- quad-tex-3d.c \
- quad-tex-alpha.c \
- quad-tex-pbo.c \
- quad-tex-sub.c \
- quad-unfilled-clip.c \
- quad-unfilled-stipple.c \
- quad-unfilled.c \
- quad.c \
- quads.c \
- quadstrip-clip.c \
- quadstrip-cont.c \
- quadstrip-flat.c \
- quadstrip.c \
- readpixels.c \
- tri-alpha.c \
- tri-alpha-tex.c \
- tri-array-interleaved.c \
- tri-blend-color.c \
- tri-blend-max.c \
- tri-blend-min.c \
- tri-blend-revsub.c \
- tri-blend-sub.c \
- tri-blend.c \
- tri-clear.c \
- tri-clip.c \
- tri-cull-both.c \
- tri-cull.c \
- tri-logicop-none.c \
- tri-logicop-xor.c \
- tri-dlist.c \
- tri-edgeflag.c \
- tri-fbo-tex-mip.c \
- tri-fbo-tex.c \
- tri-fbo.c \
- tri-flat-clip.c \
- tri-flat.c \
- tri-fog.c \
- tri-fp.c \
- tri-fp-const-imm.c \
- tri-lit.c \
- tri-lit-material.c \
- tri-mask-tri.c \
- tri-orig.c \
- tri-query.c \
- tri-repeat.c \
- tri-scissor-tri.c \
- tri-square.c \
- tri-stencil.c \
- tri-stipple.c \
- tri-multitex-vbo.c \
- tri-tex.c \
- tri-tex-3d.c \
- tri-tri.c \
- tri-unfilled-fog.c \
- tri-unfilled-edgeflag.c \
- tri-unfilled-clip.c \
- tri-unfilled-point.c \
- tri-unfilled-smooth.c \
- tri-unfilled-tri.c \
- tri-unfilled-tri-lit.c \
- tri-unfilled-userclip-stip.c \
- tri-unfilled-userclip.c \
- tri-unfilled.c \
- tri-userclip.c \
- tri-viewport.c \
- tri-z-9.c \
- tri-z-eq.c \
- tri-z.c \
- tri.c \
- trifan-flat.c \
- trifan-flat-clip.c \
- trifan-flat-unfilled-clip.c \
- trifan-unfilled.c \
- trifan.c \
- tristrip-clip.c \
- tristrip-flat.c \
- tristrip.c \
- vbo-drawarrays.c \
- vbo-noninterleaved.c \
- vbo-drawelements.c \
- vbo-drawrange.c \
- vp-array.c \
- vp-array-int.c \
- vp-clip.c \
- vp-line-clip.c \
- vp-tri.c \
- vp-tri-invariant.c \
- vp-tri-swap.c \
- vp-tri-tex.c \
- vp-tri-imm.c \
- vp-tri-cb.c \
- vp-tri-cb-pos.c \
- vp-tri-cb-tex.c \
- vp-unfilled.c
-
-PROGS = $(SOURCES:%.c=%)
-
-INCLUDES = -I. -I$(TOP)/include -I../samples
-
-UTIL_FILES = readtex.h readtex.c
-
-
-##### RULES #####
-
-.SUFFIXES:
-.SUFFIXES: .c
-
-.c:
- $(APP_CC) $(INCLUDES) $(CFLAGS) $(LDFLAGS) $< $(LIBS) -o $@
-
-.c.o:
- $(APP_CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
-
-.S.o:
- $(APP_CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
-
-
-##### TARGETS #####
-
-default: $(UTIL_FILES) $(PROGS)
-
-clean:
- -rm -f $(PROGS)
- -rm -f *.o
- -rm -f getproclist.h
-
-
-# auto code generation
-getprocaddress: getprocaddress.c getproclist.h
-
-getproclist.h: $(TOP)/src/mesa/glapi/gl_API.xml getprocaddress.c getprocaddress.py
- python getprocaddress.py > getproclist.h
-
-
-texrect: texrect.o readtex.o
- $(APP_CC) $(CFLAGS) $(LDFLAGS) texrect.o readtex.o $(LIBS) -o $@
-
-texrect.o: texrect.c readtex.h
- $(APP_CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
-
-invert: invert.o readtex.o
- $(APP_CC) $(CFLAGS) $(LDFLAGS) invert.o readtex.o $(LIBS) -o $@
-
-invert.o: invert.c readtex.h
- $(APP_CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
-
-readtex.o: readtex.c
- $(APP_CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
-
-
-readtex.h: $(TOP)/progs/util/readtex.h
- ln -s $(TOP)/progs/util/readtex.h .
-
-readtex.c: $(TOP)/progs/util/readtex.c
- ln -s $(TOP)/progs/util/readtex.c .
-
-
-fs-tri: fs-tri.c extfuncs.h
-
-
-extfuncs.h: $(TOP)/progs/util/extfuncs.h
- cp $< .
-
-
-# Emacs tags
-tags:
- etags `find . -name \*.[ch]` `find ../include`
diff --git a/progs/trivial/SConscript b/progs/trivial/SConscript
deleted file mode 100644
index 9a1f3575bd..0000000000
--- a/progs/trivial/SConscript
+++ /dev/null
@@ -1,177 +0,0 @@
-Import('env')
-
-if not env['GLUT']:
- Return()
-
-env = env.Clone()
-
-env.Prepend(LIBS = ['$GLUT_LIB'])
-
-progs = [
- 'clear-fbo-tex',
- 'clear-fbo',
- 'clear-scissor',
- 'clear-undefined',
- 'clear-repeat',
- 'clear',
- 'dlist-dangling',
- 'dlist-edgeflag-dangling',
- 'dlist-edgeflag',
- 'dlist-degenerate',
- 'drawarrays',
- 'draw2arrays',
- 'drawelements',
- 'drawrange',
- 'flat-clip',
- 'fs-tri',
- 'line-clip',
- 'line-cull',
- 'line-flat',
- 'line-smooth',
- 'line-stipple-wide',
- 'line-userclip-clip',
- 'line-userclip-nop-clip',
- 'line-userclip-nop',
- 'line-userclip',
- 'line-wide',
- 'line',
- 'lineloop-clip',
- 'lineloop-elts',
- 'lineloop',
- 'linestrip-flat-stipple',
- 'linestrip-stipple-wide',
- 'linestrip-stipple',
- 'linestrip',
- 'long-fixed-func',
- 'pgon-mode',
- 'point-clip',
- 'point-param',
- 'point-sprite',
- 'point-wide',
- 'point-wide-smooth',
- 'point',
- 'poly-flat',
- 'poly-flat-clip',
- 'poly-flat-unfilled-clip',
- 'poly-unfilled',
- 'poly',
- 'quad-clip-all-vertices',
- 'quad-clip-nearplane',
- 'quad-clip',
- 'quad-degenerate',
- 'quad-flat',
- 'quad-offset-factor',
- 'quad-offset-unfilled',
- 'quad-offset-units',
- 'quad-tex-2d',
- 'quad-tex-3d',
- 'quad-tex-alpha',
- 'quad-tex-pbo',
- 'quad-tex-sub',
- 'quad-unfilled-clip',
- 'quad-unfilled-stipple',
- 'quad-unfilled',
- 'quad',
- 'quads',
- 'quadstrip-clip',
- 'quadstrip-cont',
- 'quadstrip-flat',
- 'quadstrip',
- 'tri-alpha',
- 'tri-blend-color',
- 'tri-blend-max',
- 'tri-blend-min',
- 'tri-blend-revsub',
- 'tri-blend-sub',
- 'tri-blend',
- 'tri-clip',
- 'tri-clear',
- 'tri-cull-both',
- 'tri-cull',
- 'tri-dlist',
- 'tri-edgeflag',
- 'tri-fbo-tex-mip',
- 'tri-fbo-tex',
- 'tri-fbo',
- 'tri-flat-clip',
- 'tri-flat',
- 'tri-fog',
- 'tri-fp',
- 'tri-fp-const-imm',
- 'tri-lit',
- 'tri-logicop-none',
- 'tri-logicop-xor',
- 'tri-mask-tri',
- 'tri-orig',
- 'tri-query',
- 'tri-repeat',
- 'tri-scissor-tri',
- 'tri-stencil',
- 'tri-stipple',
- 'tri-multitex-vbo',
- 'tri-tex',
- 'tri-tex-3d',
- 'tri-tri',
- 'tri-unfilled-fog',
- 'tri-unfilled-edgeflag',
- 'tri-unfilled-clip',
- 'tri-unfilled-smooth',
- 'tri-unfilled-tri',
- 'tri-unfilled-tri-lit',
- 'tri-unfilled-userclip-stip',
- 'tri-unfilled-userclip',
- 'tri-unfilled',
- 'tri-userclip',
- 'tri-viewport',
- 'tri-z-eq',
- 'tri-z',
- 'tri',
- 'trifan-flat',
- 'trifan-flat-clip',
- 'trifan-flat-unfilled-clip',
- 'trifan-unfilled',
- 'trifan',
- 'tristrip-clip',
- 'tristrip-flat',
- 'tristrip',
- 'vbo-drawarrays',
- 'vbo-noninterleaved',
- 'vbo-drawelements',
- 'vbo-drawrange',
- 'vp-array',
- 'vp-array-int',
- 'vp-clip',
- 'vp-line-clip',
- 'vp-tri',
- 'vp-tri-invariant',
- 'vp-tri-swap',
- 'vp-tri-tex',
- 'vp-tri-imm',
- 'vp-tri-cb',
- 'vp-tri-cb-pos',
- 'vp-tri-cb-tex',
- 'vp-unfilled',
-]
-
-for prog in progs:
- prog = env.Program(
- target = prog,
- source = prog + '.c',
- )
-
-# auto code generation
-#getprocaddress: getprocaddress.c getproclist.h
-
-#getproclist.h: $(TOP)/src/mesa/glapi/gl_API.xml getprocaddress.c getprocaddress.py
-# python getprocaddress.py > getproclist.h
-
-
-#readtex.h: $(TOP)/progs/util/readtex.h
-# ln -s $(TOP)/progs/util/readtex.h .
-
-#readtex.c: $(TOP)/progs/util/readtex.c
-# ln -s $(TOP)/progs/util/readtex.c .
-
-
-#extfuncs.h: $(TOP)/progs/util/extfuncs.h
-# cp $< .
diff --git a/progs/trivial/clear-fbo-tex.c b/progs/trivial/clear-fbo-tex.c
deleted file mode 100644
index ff31706fd1..0000000000
--- a/progs/trivial/clear-fbo-tex.c
+++ /dev/null
@@ -1,223 +0,0 @@
-
-#include <assert.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <string.h>
-
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-
-
-static GLenum TexTarget = GL_TEXTURE_2D;
-static int TexWidth = 512, TexHeight = 512;
-static GLenum TexIntFormat = GL_RGBA; /* either GL_RGB or GL_RGBA */
-
-static int Width = 512, Height = 512;
-static GLuint MyFB, TexObj;
-
-
-#define CheckError() assert(glGetError() == 0)
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
-
- if (!glutExtensionSupported("GL_EXT_framebuffer_object")) {
- printf("GL_EXT_framebuffer_object not found!\n");
- exit(0);
- }
-
-
- glGenFramebuffersEXT(1, &MyFB);
- glGenTextures(1, &TexObj);
-
- /* Make texture object/image */
- glBindTexture(TexTarget, TexObj);
- glTexParameteri(TexTarget, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameteri(TexTarget, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- glTexParameteri(TexTarget, GL_TEXTURE_BASE_LEVEL, 0);
- glTexParameteri(TexTarget, GL_TEXTURE_MAX_LEVEL, 0);
-
- glTexImage2D(TexTarget, 0, TexIntFormat, TexWidth, TexHeight, 0,
- GL_RGBA, GL_UNSIGNED_BYTE, NULL);
-
-
- glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
-
-
-
- {
- glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, MyFB);
-
- glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT,
- TexTarget, TexObj, 0);
-
-
- glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
- }
-
-}
-
-
-
-static void
-Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode( GL_MODELVIEW );
-
- Width = width;
- Height = height;
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-
-
-static void Draw( void )
-{
-
-
- /* draw to texture image */
- glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, MyFB);
- /* glDrawBuffer(GL_COLOR_ATTACHMENT1_EXT); */
- /* glReadBuffer(GL_COLOR_ATTACHMENT1_EXT); */
-
-
- glViewport(0, 0, TexWidth, TexHeight);
- CheckError();
-
- glClearColor(0.5, 0.5, 1.0, 0.0);
- glClear(GL_COLOR_BUFFER_BIT);
- CheckError();
-
- if (0) {
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(0,.9,0);
- glVertex3f(-0.9, 0.0, -30.0);
- glEnd();
- }
-
- {
- GLubyte *buffer = malloc(Width * Height * 4);
-
- /* read from user framebuffer */
- glReadPixels(0, 0, Width-60, Height-60, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
- CheckError();
-
- /* draw to window */
- glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
- glViewport(0, 0, Width, Height);
-
- /* Try to clear the window, but will overwrite:
- */
- glClearColor(0.8, 0.8, 0, 0.0);
- glClear(GL_COLOR_BUFFER_BIT);
-
- glWindowPos2iARB(30, 30);
- glDrawPixels(Width-60, Height-60, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
-
- free(buffer);
- }
-
- /* Bind normal framebuffer */
- glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
- glViewport(0, 0, Width, Height);
-
- if (0) {
- glBegin(GL_TRIANGLES);
- glColor3f(0,.7,0);
- glVertex3f( 0.5, -0.5, -30.0);
- glColor3f(0,0,.8);
- glVertex3f( 0.5, 0.5, -30.0);
- glColor3f(.9,0,0);
- glVertex3f(-0.5, 0.0, -30.0);
- glEnd();
- }
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-
- CheckError();
-}
-
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-
-
-int
-main( int argc, char *argv[] )
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(100, 0); glutInitWindowSize( Width, Height );
-
- type = GLUT_RGB;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(argv[0]) == GL_FALSE) {
- exit(1);
- }
-
- glewInit();
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/clear-fbo.c b/progs/trivial/clear-fbo.c
deleted file mode 100644
index 6435c901ad..0000000000
--- a/progs/trivial/clear-fbo.c
+++ /dev/null
@@ -1,208 +0,0 @@
-
-#include <assert.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <string.h>
-
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-
-
-static int Width = 512, Height = 512;
-static GLuint MyFB, MyRB;
-
-
-#define CheckError() assert(glGetError() == 0)
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
-
- if (!glutExtensionSupported("GL_EXT_framebuffer_object")) {
- printf("GL_EXT_framebuffer_object not found!\n");
- exit(0);
- }
-
-
- glGenFramebuffersEXT(1, &MyFB);
- glGenRenderbuffersEXT(1, &MyRB);
-
- {
- glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, MyFB);
-
- glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, MyRB);
-
- glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT1_EXT,
- GL_RENDERBUFFER_EXT, MyRB);
-
- glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_RGB, Width, Height);
-
- glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
- }
-
-}
-
-
-
-static void
-Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode( GL_MODELVIEW );
-
- Width = width;
- Height = height;
- glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_RGB, Width, Height);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-
-
-static void Draw( void )
-{
-
- /* draw to user framebuffer */
- glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, MyFB);
- glDrawBuffer(GL_COLOR_ATTACHMENT1_EXT);
- glReadBuffer(GL_COLOR_ATTACHMENT1_EXT);
-
-
- glViewport(0, 0, Width, Height);
- CheckError();
-
- glClearColor(0.5, 0.5, 1.0, 0.0);
- glClear(GL_COLOR_BUFFER_BIT);
- CheckError();
-
- if (0) {
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(0,.9,0);
- glVertex3f(-0.9, 0.0, -30.0);
- glEnd();
- }
-
- {
- GLubyte *buffer = malloc(Width * Height * 4);
-
- /* read from user framebuffer */
- glReadPixels(0, 0, Width-60, Height-60, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
- CheckError();
-
- /* draw to window */
- glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
- glViewport(0, 0, Width, Height);
-
- /* Try to clear the window, but will overwrite:
- */
- glClearColor(0.8, 0.8, 0, 0.0);
- glClear(GL_COLOR_BUFFER_BIT);
-
- glWindowPos2iARB(30, 30);
- glDrawPixels(Width-60, Height-60, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
-
- free(buffer);
- }
-
- /* Bind normal framebuffer */
- glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
- glViewport(0, 0, Width, Height);
-
- if (0) {
- glBegin(GL_TRIANGLES);
- glColor3f(0,.7,0);
- glVertex3f( 0.5, -0.5, -30.0);
- glColor3f(0,0,.8);
- glVertex3f( 0.5, 0.5, -30.0);
- glColor3f(.9,0,0);
- glVertex3f(-0.5, 0.0, -30.0);
- glEnd();
- }
-
- if (doubleBuffer)
- glutSwapBuffers();
- else
- glFinish();
-
- CheckError();
-}
-
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-
-
-int
-main( int argc, char *argv[] )
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(100, 0); glutInitWindowSize( Width, Height );
-
- type = GLUT_RGB;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(argv[0]) == GL_FALSE) {
- exit(1);
- }
-
- glewInit();
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/clear-random.c b/progs/trivial/clear-random.c
deleted file mode 100644
index ab67f84518..0000000000
--- a/progs/trivial/clear-random.c
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(0);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClearColor(
- rand() / (float)RAND_MAX,
- rand() / (float)RAND_MAX,
- rand() / (float)RAND_MAX,
- 0.0);
-
- glClear(GL_COLOR_BUFFER_BIT);
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0);
- glutInitWindowSize( 256, 256);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/clear-repeat.c b/progs/trivial/clear-repeat.c
deleted file mode 100644
index f966adb080..0000000000
--- a/progs/trivial/clear-repeat.c
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.3, 0.1, 0.3, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
- switch (key) {
- case 27:
- exit(0);
- default:
- glutPostRedisplay();
- return;
- }
-}
-
-static void Draw(void)
-{
- static float f = 0;
- while (1) {
- f += .1;
- glClearColor((sin(f)+1)/2.0,(cos(f)+1)/2.0,0.5,1);
- glClear(GL_COLOR_BUFFER_BIT);
- glutSwapBuffers();
-
- {
- static GLint T0 = 0;
- static GLint Frames = 0;
- GLint t = glutGet(GLUT_ELAPSED_TIME);
-
- Frames++;
-
- if (t - T0 >= 5000) {
- GLfloat seconds = (t - T0) / 1000.0;
- GLfloat fps = Frames / seconds;
- printf("%d frames in %6.3f seconds = %6.3f FPS\n", Frames, seconds, fps);
- fflush(stdout);
- T0 = t;
- Frames = 0;
- }
- }
-
- }
- glutPostRedisplay();
-}
-
-static GLenum Args(int argc, char **argv)
-{
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 300, 300);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= GLUT_DOUBLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/clear-scissor.c b/progs/trivial/clear-scissor.c
deleted file mode 100644
index 2b6dee77a9..0000000000
--- a/progs/trivial/clear-scissor.c
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * glClear + glScissor
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-GLenum doubleBuffer;
-GLint Width = 200, Height = 150;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-}
-
-static void Reshape(int width, int height)
-{
- Width = width;
- Height = height;
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glEnable(GL_SCISSOR_TEST);
-
- glClearColor(1, 0, 0, 0);
- glScissor(0, 0, Width / 2, Height / 2);
- glClear(GL_COLOR_BUFFER_BIT);
-
- glClearColor(0, 1, 0, 0);
- glScissor(Width / 2, 0, Width - Width / 2, Height / 2);
- glClear(GL_COLOR_BUFFER_BIT);
-
- glClearColor(0, 0, 1, 0);
- glScissor(0, Height / 2, Width / 2, Height - Height / 2);
- glClear(GL_COLOR_BUFFER_BIT);
-
- glClearColor(1, 1, 1, 0);
- glScissor(Width / 2, Height / 2, Width - Width / 2, Height - Height / 2);
- glClear(GL_COLOR_BUFFER_BIT);
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( Width, Height );
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(argv[0]) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/clear-undefined.c b/progs/trivial/clear-undefined.c
deleted file mode 100644
index 5ec33bf3d7..0000000000
--- a/progs/trivial/clear-undefined.c
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * glClear + glScissor + Undefined content of framebuffer
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-GLenum doubleBuffer;
-GLint Width = 200, Height = 150;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fprintf(stderr, "Top right corner should be red\n");
- fflush(stderr);
-}
-
-static void Reshape(int width, int height)
-{
- Width = width;
- Height = height;
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
- switch (key) {
- case 27:
- exit(1);
- default:
- glutPostRedisplay();
- return;
- }
-
-}
-
-static void Draw(void)
-{
- glColor4f(1.0, 0.0, 0.0, 1.0);
- glBegin(GL_QUADS);
- glVertex2d(0.0, 0.0);
- glVertex2d(0.0, 1.0);
- glVertex2d(1.0, 1.0);
- glVertex2d(1.0, 0.0);
- glEnd();
-
- glBegin(GL_QUADS);
- glVertex2d(0.0, 0.0);
- glVertex2d(0.0, -1.0);
- glVertex2d(1.0, -1.0);
- glVertex2d(1.0, 0.0);
- glEnd();
-
- glEnable(GL_SCISSOR_TEST);
- glClearColor(1, 1, 0, 0);
- glScissor(Width / 2, 0, Width - Width / 2, Height / 2);
- glClear(GL_COLOR_BUFFER_BIT);
-
- glClearColor(0, 0, 1, 0);
- glScissor(0, Height / 2, Width / 2, Height - Height / 2);
- glClear(GL_COLOR_BUFFER_BIT);
- glDisable(GL_SCISSOR_TEST);
-
- glColor4f(0.0, 1.0, 0.0, 1.0);
- glBegin(GL_QUADS);
- glVertex2d( 0.0, 0.0);
- glVertex2d( 0.0, -1.0);
- glVertex2d(-1.0, -1.0);
- glVertex2d(-1.0, 0.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_TRUE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( Width, Height );
-
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(argv[0]) == GL_FALSE) {
- exit(1);
- }
-
- Init();
- Reshape(Width, Height);
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/clear.c b/progs/trivial/clear.c
deleted file mode 100644
index 56c3ea52e6..0000000000
--- a/progs/trivial/clear.c
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(0);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0);
- glutInitWindowSize( 256, 256);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/createwin.c b/progs/trivial/createwin.c
deleted file mode 100644
index 93da30ee29..0000000000
--- a/progs/trivial/createwin.c
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- /* glutMainLoop(); */
- return 0;
-}
diff --git a/progs/trivial/dlist-begin-call-end.c b/progs/trivial/dlist-begin-call-end.c
deleted file mode 100644
index dbfaef3978..0000000000
--- a/progs/trivial/dlist-begin-call-end.c
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-GLint first_list, list;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-
- /* First list will disrupt state which might potentially be
- * short-circuited in calling list:
- */
- first_list = glGenLists(1);
- glNewList(first_list, GL_COMPILE);
- /* glColor3f(0,1,0); */
- glEndList();
-
-
- /* List that looks like it might have redundant state:
- */
- list = glGenLists(1);
- glNewList(list, GL_COMPILE);
-
- glShadeModel(GL_FLAT);
- glBegin(GL_TRIANGLES);
- glColor3f(1,0,0);
- glVertex3f( -0.9, 0.9, -30.0);
- glVertex3f( -0.9, -0.9, -30.0);
- glCallList( first_list );
- glVertex3f( 0.9, 0.0, -30.0);
- glEnd();
- glEndList();
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-
-
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glShadeModel( GL_SMOOTH );
- glCallList(list);
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/dlist-dangling.c b/progs/trivial/dlist-dangling.c
deleted file mode 100644
index 756ab93f87..0000000000
--- a/progs/trivial/dlist-dangling.c
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-GLint list;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-
-
- list = glGenLists(1);
- glNewList(list, GL_COMPILE);
- glBegin(GL_TRIANGLES);
- glVertex3f( 0.9, -0.9, -30.0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(.8,0,0);
- glVertex3f(-0.9, 0.0, -30.0);
- glEnd();
- glEndList();
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-
-
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glColor3f(0,.9,0);
- glCallList(list);
-
- glRotatef(45,0,0,1);
- glColor3f(1,0,1);
- glCallList(list);
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/dlist-degenerate.c b/progs/trivial/dlist-degenerate.c
deleted file mode 100644
index c7f2d2a6e9..0000000000
--- a/progs/trivial/dlist-degenerate.c
+++ /dev/null
@@ -1,153 +0,0 @@
-/**
- * Test display list corner cases.
- */
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glut.h>
-
-
-static int Win;
-static GLfloat Xrot = 0, Yrot = 0, Zrot = 0;
-static GLboolean Anim = GL_FALSE;
-static GLuint List1 = 0, List2 = 0;
-
-
-static void
-Idle(void)
-{
- Xrot += 3.0;
- Yrot += 4.0;
- Zrot += 2.0;
- glutPostRedisplay();
-}
-
-
-static void
-Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
- glPushMatrix();
- glRotatef(Xrot, 1, 0, 0);
- glRotatef(Yrot, 0, 1, 0);
- glRotatef(Zrot, 0, 0, 1);
-
- glCallList(List1);
- glCallList(List2);
-
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-static void
-Reshape(int width, int height)
-{
- glViewport(0, 0, width, height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glFrustum(-1.0, 1.0, -1.0, 1.0, 5.0, 25.0);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef(0.0, 0.0, -15.0);
-}
-
-
-static void
-Key(unsigned char key, int x, int y)
-{
- const GLfloat step = 3.0;
- (void) x;
- (void) y;
- switch (key) {
- case 'a':
- Anim = !Anim;
- if (Anim)
- glutIdleFunc(Idle);
- else
- glutIdleFunc(NULL);
- break;
- case 'z':
- Zrot -= step;
- break;
- case 'Z':
- Zrot += step;
- break;
- case 27:
- glutDestroyWindow(Win);
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void
-SpecialKey(int key, int x, int y)
-{
- const GLfloat step = 3.0;
- (void) x;
- (void) y;
- switch (key) {
- case GLUT_KEY_UP:
- Xrot -= step;
- break;
- case GLUT_KEY_DOWN:
- Xrot += step;
- break;
- case GLUT_KEY_LEFT:
- Yrot -= step;
- break;
- case GLUT_KEY_RIGHT:
- Yrot += step;
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void
-Init(void)
-{
- /* List1: start of primitive */
- List1 = glGenLists(1);
- glNewList(List1, GL_COMPILE);
- glBegin(GL_POLYGON);
- glVertex2f(-1, -1);
- glVertex2f( 1, -1);
- glEndList();
-
- /* List2: end of primitive */
- List2 = glGenLists(1);
- glNewList(List2, GL_COMPILE);
- glVertex2f( 1, 1);
- glVertex2f(-1, 1);
- glEnd();
- glEndList();
-
- glEnable(GL_DEPTH_TEST);
-}
-
-
-int
-main(int argc, char *argv[])
-{
- glutInit(&argc, argv);
- glutInitWindowPosition(0, 0);
- glutInitWindowSize(400, 400);
- glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
- Win = glutCreateWindow(argv[0]);
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutSpecialFunc(SpecialKey);
- glutDisplayFunc(Draw);
- if (Anim)
- glutIdleFunc(Idle);
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/dlist-edgeflag-dangling.c b/progs/trivial/dlist-edgeflag-dangling.c
deleted file mode 100644
index 51504471e2..0000000000
--- a/progs/trivial/dlist-edgeflag-dangling.c
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-GLint list;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-
- glPolygonMode(GL_FRONT, GL_LINE);
- glPolygonMode(GL_BACK, GL_POINT);
-
- list = glGenLists(1);
- glNewList(list, GL_COMPILE);
- glBegin(GL_TRIANGLES);
- glVertex3f( 0.9, -0.9, -30.0);
- glEdgeFlag(1);
- glVertex3f( 0.9, 0.9, -30.0);
- glVertex3f(-0.9, 0.0, -30.0);
- glEnd();
- glEndList();
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-
-
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glPushMatrix();
- glColor3f(0,.9,0);
- glEdgeFlag(0);
- glCallList(list);
-
- glRotatef(45,0,0,1);
- glColor3f(1,0,1);
- glCallList(list);
- glPopMatrix();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/dlist-edgeflag.c b/progs/trivial/dlist-edgeflag.c
deleted file mode 100644
index 9456b96473..0000000000
--- a/progs/trivial/dlist-edgeflag.c
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-GLint list;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-
- glPolygonMode(GL_FRONT, GL_LINE);
- glPolygonMode(GL_BACK, GL_POINT);
-
- list = glGenLists(1);
- glNewList(list, GL_COMPILE);
- glBegin(GL_TRIANGLES);
- glEdgeFlag(1);
-/* glColor3f(0,0,.7); */
- glVertex3f( 0.9, -0.9, -30.0);
- glEdgeFlag(0);
-/* glColor3f(.8,0,0); */
- glVertex3f( 0.9, 0.9, -30.0);
- glEdgeFlag(1);
-/* glColor3f(0,.9,0); */
- glVertex3f(-0.9, 0.0, -30.0);
- glEnd();
- glEndList();
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-
-
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glPushMatrix();
- glColor3f(0,.9,0);
- glCallList(list);
-
- glRotatef(45,0,0,1);
- glColor3f(1,0,1);
- glCallList(list);
- glPopMatrix();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/dlist-flat-tri.c b/progs/trivial/dlist-flat-tri.c
deleted file mode 100644
index 3ee9b283a4..0000000000
--- a/progs/trivial/dlist-flat-tri.c
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-GLint list;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-
- list = glGenLists(1);
- glNewList(list, GL_COMPILE);
-
- /* XXX: this state-change will only be executed if list is called
- * from outside a begin/end pair:
- */
- glShadeModel( GL_FLAT );
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,.7);
- glVertex3f( -0.9, 0.9, -30.0);
- glColor3f(0,.9,0);
- glVertex3f( -0.9, -0.9, -30.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.0, -30.0);
- glEnd();
-
- /* This statechange is potentially NOT redundant:
- */
- glShadeModel( GL_FLAT );
- glBegin(GL_TRIANGLES);
- glColor3f(0,1,0);
- glVertex3f( -0.5, 0.5, -30.0);
- glColor3f(0,0,1);
- glVertex3f( -0.5, -0.5, -30.0);
- glColor3f(1,0,0);
- glVertex3f( 0.5, 0.0, -30.0);
- glEnd();
-
- glEndList();
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-
-
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glShadeModel( GL_SMOOTH );
-
- glBegin(GL_TRIANGLES);
-
- /* Note: call the list from inside a begin/end pair. The end is
- * provided by the display list...
- */
- glCallList(list);
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/dlist-mat-tri.c b/progs/trivial/dlist-mat-tri.c
deleted file mode 100644
index d17c4b913b..0000000000
--- a/progs/trivial/dlist-mat-tri.c
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-GLint list;
-
-static GLfloat red[4] = {0.8, 0.1, 0.0, 1.0};
-static GLfloat green[4] = {0.0, 0.8, 0.2, 1.0};
-/*static GLfloat blue[4] = {0.2, 0.2, .7, 1.0};*/
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClear(GL_COLOR_BUFFER_BIT);
-
- glEnable(GL_LIGHTING);
- glEnable(GL_LIGHT0);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-
- list = glGenLists(1);
- glNewList(list, GL_COMPILE);
-
- /* XXX: this state-change will be executed regardless of whether
- * the list is called from outside a begin/end pair:
- */
- glMaterialfv(GL_FRONT, GL_AMBIENT, red);
- glBegin(GL_TRIANGLES);
- glVertex3f( -0.9, 0.9, -30.0);
- glVertex3f( -0.9, -0.9, -30.0);
- glVertex3f( 0.9, 0.0, -30.0);
- glEnd();
-
- glMaterialfv(GL_FRONT, GL_DIFFUSE, red);
- glBegin(GL_TRIANGLES);
- glVertex3f( -0.7, 0.7, -30.0);
- glVertex3f( -0.7, -0.7, -30.0);
- glVertex3f( 0.7, 0.0, -30.0);
- glEnd();
-
- /* This statechange is redundant:
- */
- glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, red);
- glBegin(GL_TRIANGLES);
- glVertex3f( -0.5, 0.5, -30.0);
- glVertex3f( -0.5, -0.5, -30.0);
- glVertex3f( 0.5, 0.0, -30.0);
- glEnd();
-
- glEndList();
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-
-
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glShadeModel( GL_SMOOTH );
- glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, green);
-
- glBegin(GL_TRIANGLES);
-
- /* Note: call the list from inside a begin/end pair. The end is
- * provided by the display list...
- */
- glCallList(list);
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/dlist-recursive-call.c b/progs/trivial/dlist-recursive-call.c
deleted file mode 100644
index 90224f63cb..0000000000
--- a/progs/trivial/dlist-recursive-call.c
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-GLint first_list, list;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-
- /* First list will disrupt state which might potentially be
- * short-circuited in calling list:
- */
- first_list = glGenLists(1);
- glNewList(first_list, GL_COMPILE);
- glShadeModel( GL_SMOOTH );
- glEndList();
-
-
- /* List that looks like it might have redundant state:
- */
- list = glGenLists(1);
- glNewList(list, GL_COMPILE);
-
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(0,.9,0);
- glVertex3f(-0.9, 0.0, -30.0);
- glEnd();
-
- glShadeModel( GL_FLAT );
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,.7);
- glVertex3f( -0.9, 0.9, -30.0);
- glColor3f(0,.9,0);
- glVertex3f( -0.9, -0.9, -30.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.0, -30.0);
- glEnd();
-
- glCallList( first_list );
-
- /* Do a quick begin/end to ensure we are not inside a dangling
- * primitive from the called list:
- */
- glBegin( GL_POINTS );
- glEnd();
-
- /* This statechange is NOT redundant:
- */
- glShadeModel( GL_FLAT );
- glBegin(GL_TRIANGLES);
- glColor3f(1,0,0);
- glVertex3f( -0.5, 0.5, -30.0);
- glColor3f(0,1,0);
- glVertex3f( -0.5, -0.5, -30.0);
- glColor3f(0,0,1);
- glVertex3f( 0.5, 0.0, -30.0);
- glEnd();
-
- glEndList();
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-
-
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glShadeModel( GL_SMOOTH );
- glCallList(list);
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/dlist-tri-flat-tri.c b/progs/trivial/dlist-tri-flat-tri.c
deleted file mode 100644
index 3265a4d6dc..0000000000
--- a/progs/trivial/dlist-tri-flat-tri.c
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-GLint list;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-
- list = glGenLists(1);
- glNewList(list, GL_COMPILE);
-
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(0,.9,0);
- glVertex3f(-0.9, 0.0, -30.0);
- glEnd();
-
- glShadeModel( GL_FLAT );
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,.7);
- glVertex3f( -0.9, 0.9, -30.0);
- glColor3f(0,.9,0);
- glVertex3f( -0.9, -0.9, -30.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.0, -30.0);
- glEnd();
-
- /* This statechange is redundant:
- */
- glShadeModel( GL_FLAT );
- glBegin(GL_TRIANGLES);
- glColor3f(1,0,0);
- glVertex3f( -0.5, 0.5, -30.0);
- glColor3f(0,1,0);
- glVertex3f( -0.5, -0.5, -30.0);
- glColor3f(0,0,1);
- glVertex3f( 0.5, 0.0, -30.0);
- glEnd();
-
- glEndList();
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-
-
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glShadeModel( GL_SMOOTH );
- glCallList(list);
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/dlist-tri-mat-tri.c b/progs/trivial/dlist-tri-mat-tri.c
deleted file mode 100644
index 053bb124a2..0000000000
--- a/progs/trivial/dlist-tri-mat-tri.c
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-GLint list;
-
-static GLfloat red[4] = {0.8, 0.1, 0.0, 1.0};
-static GLfloat green[4] = {0.0, 0.8, 0.2, 1.0};
-static GLfloat blue[4] = {0.2, 0.2, .9, 1.0};
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClear(GL_COLOR_BUFFER_BIT);
-
- glEnable(GL_LIGHTING);
- glEnable(GL_LIGHT0);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-
- list = glGenLists(1);
- glNewList(list, GL_COMPILE);
-
- glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, green);
-
- glBegin(GL_TRIANGLES);
- glNormal3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -30.0);
- glVertex3f( 0.9, 0.9, -30.0);
- glVertex3f(-0.9, 0.0, -30.0);
- glEnd();
-
- glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, blue);
-
- glBegin(GL_TRIANGLES);
- glVertex3f( -0.9, 0.9, -30.0);
- glVertex3f( -0.9, -0.9, -30.0);
- glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, red);
- glVertex3f( 0.9, 0.0, -30.0);
- glEnd();
-
- glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, blue);
- glBegin(GL_TRIANGLES);
- glVertex3f( -0.5, 0.5, -30.0);
- glVertex3f( -0.5, -0.5, -30.0);
- glVertex3f( 0.5, 0.0, -30.0);
- glEnd();
-
- glEndList();
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-
-
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glShadeModel( GL_SMOOTH );
- glCallList(list);
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/draw2arrays.c b/progs/trivial/draw2arrays.c
deleted file mode 100644
index 2345ae9e9e..0000000000
--- a/progs/trivial/draw2arrays.c
+++ /dev/null
@@ -1,117 +0,0 @@
-/* Basic VBO */
-
-#include <assert.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-GLfloat pos[][3] =
- { { 0.9, -0.9, 0.0 },
- { 0.9, 0.9, 0.0 },
- { -0.9, 0.9, 0.0 },
- { -0.9, -0.9, 0.0 } };
-
-GLubyte color[][4] =
-{ { 0x00, 0x00, 0xff, 0x00 },
- { 0x00, 0xff, 0x00, 0x00 },
- { 0xff, 0x00, 0x00, 0x00 },
- { 0xff, 0xff, 0xff, 0x00 } };
-
-static void Init( void )
-{
- GLint errno;
- GLuint prognum;
-
- static const char *prog1 =
- "!!ARBvp1.0\n"
- "MOV result.color, vertex.color;\n"
- "MOV result.position, vertex.position;\n"
- "END\n";
-
- glGenProgramsARB(1, &prognum);
- glBindProgramARB(GL_VERTEX_PROGRAM_ARB, prognum);
- glProgramStringARB(GL_VERTEX_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
- strlen(prog1), (const GLubyte *) prog1);
-
- assert(glIsProgramARB(prognum));
- errno = glGetError();
- printf("glGetError = %d\n", errno);
- if (errno != GL_NO_ERROR)
- {
- GLint errorpos;
-
- glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &errorpos);
- printf("errorpos: %d\n", errorpos);
- printf("%s\n", (char *)glGetString(GL_PROGRAM_ERROR_STRING_ARB));
- }
-
-
- glEnableClientState( GL_VERTEX_ARRAY );
- glEnableClientState( GL_COLOR_ARRAY );
-
- glVertexPointer( 3, GL_FLOAT, sizeof(pos[0]), pos );
- glColorPointer( 4, GL_UNSIGNED_BYTE, sizeof(color[0]), color );
-
-}
-
-
-
-static void Display( void )
-{
- glClearColor(0.3, 0.3, 0.3, 1);
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
-
- glEnable(GL_VERTEX_PROGRAM_ARB);
-
- /* glDrawArrays( GL_TRIANGLES, 0, 3 ); */
- glDrawArrays( GL_TRIANGLES, 1, 3 );
-
- glFlush();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- /*glTranslatef( 0.0, 0.0, -15.0 );*/
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 250, 250 );
- glutInitDisplayMode( GLUT_RGB | GLUT_SINGLE | GLUT_DEPTH );
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/drawarrays.c b/progs/trivial/drawarrays.c
deleted file mode 100644
index f5c0a50f9a..0000000000
--- a/progs/trivial/drawarrays.c
+++ /dev/null
@@ -1,128 +0,0 @@
-/* Basic VBO */
-
-#include <assert.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-
-struct {
- GLfloat pos[3];
- GLubyte color[4];
-} verts[] =
-{
- { { 0.9, -0.9, 0.0 },
- { 0x00, 0x00, 0xff, 0x00 }
- },
-
- { { 0.9, 0.9, 0.0 },
- { 0x00, 0xff, 0x00, 0x00 }
- },
-
- { { -0.9, 0.9, 0.0 },
- { 0xff, 0x00, 0x00, 0x00 }
- },
-
- { { -0.9, -0.9, 0.0 },
- { 0xff, 0xff, 0xff, 0x00 }
- },
-};
-
-static void Init( void )
-{
- GLint errno;
- GLuint prognum;
-
- static const char *prog1 =
- "!!ARBvp1.0\n"
- "MOV result.color, vertex.color;\n"
- "MOV result.position, vertex.position;\n"
- "END\n";
-
- glGenProgramsARB(1, &prognum);
- glBindProgramARB(GL_VERTEX_PROGRAM_ARB, prognum);
- glProgramStringARB(GL_VERTEX_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
- strlen(prog1), (const GLubyte *) prog1);
-
- assert(glIsProgramARB(prognum));
- errno = glGetError();
- printf("glGetError = %d\n", errno);
- if (errno != GL_NO_ERROR)
- {
- GLint errorpos;
-
- glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &errorpos);
- printf("errorpos: %d\n", errorpos);
- printf("%s\n", (char *)glGetString(GL_PROGRAM_ERROR_STRING_ARB));
- }
-
-
- glEnableClientState( GL_VERTEX_ARRAY );
- glEnableClientState( GL_COLOR_ARRAY );
-
- glVertexPointer( 3, GL_FLOAT, sizeof(verts[0]), verts[0].pos );
- glColorPointer( 4, GL_UNSIGNED_BYTE, sizeof(verts[0]), verts[0].color );
-
-}
-
-
-
-static void Display( void )
-{
- glClearColor(0.3, 0.3, 0.3, 1);
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
-
- glEnable(GL_VERTEX_PROGRAM_ARB);
-
- /* glDrawArrays( GL_TRIANGLES, 0, 3 ); */
- glDrawArrays( GL_TRIANGLES, 1, 3 );
-
- glFlush();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- /*glTranslatef( 0.0, 0.0, -15.0 );*/
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 250, 250 );
- glutInitDisplayMode( GLUT_RGB | GLUT_SINGLE | GLUT_DEPTH );
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/drawelements.c b/progs/trivial/drawelements.c
deleted file mode 100644
index 4c115030af..0000000000
--- a/progs/trivial/drawelements.c
+++ /dev/null
@@ -1,121 +0,0 @@
-/* Test rebasing */
-
-#include <assert.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-GLfloat verts[][4] = {
- { 0.9, -0.9, 0.0, 1.0 },
- { 0.9, 0.9, 0.0, 1.0 },
- { -0.9, 0.9, 0.0, 1.0 },
- { -0.9, -0.9, 0.0, 1.0 },
-};
-
-GLubyte color[][4] = {
- { 0x00, 0x00, 0xff, 0x00 },
- { 0x00, 0xff, 0x00, 0x00 },
- { 0xff, 0x00, 0x00, 0x00 },
- { 0xff, 0xff, 0xff, 0x00 },
-};
-
-GLuint indices[] = { 1, 2, 3 };
-
-static void Init( void )
-{
- GLint errno;
- GLuint prognum;
-
- static const char *prog1 =
- "!!ARBvp1.0\n"
- "MOV result.color, vertex.color;\n"
- "MOV result.position, vertex.position;\n"
- "END\n";
-
- glGenProgramsARB(1, &prognum);
- glBindProgramARB(GL_VERTEX_PROGRAM_ARB, prognum);
- glProgramStringARB(GL_VERTEX_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
- strlen(prog1), (const GLubyte *) prog1);
-
- assert(glIsProgramARB(prognum));
- errno = glGetError();
- printf("glGetError = %d\n", errno);
- if (errno != GL_NO_ERROR)
- {
- GLint errorpos;
-
- glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &errorpos);
- printf("errorpos: %d\n", errorpos);
- printf("%s\n", (char *)glGetString(GL_PROGRAM_ERROR_STRING_ARB));
- }
-
-
- glEnableClientState( GL_VERTEX_ARRAY );
- glEnableClientState( GL_COLOR_ARRAY );
- glVertexPointer( 3, GL_FLOAT, sizeof(verts[0]), verts );
- glColorPointer( 4, GL_UNSIGNED_BYTE, 0, color );
-
-}
-
-
-
-static void Display( void )
-{
- glClearColor(0.3, 0.3, 0.3, 1);
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
-
- glEnable(GL_VERTEX_PROGRAM_NV);
-
- /* Should have min_index == 1, maybe force a rebase:
- */
- glDrawElements( GL_TRIANGLES, 3, GL_UNSIGNED_INT, indices );
-
- glFlush();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- /*glTranslatef( 0.0, 0.0, -15.0 );*/
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 250, 250 );
- glutInitDisplayMode( GLUT_RGB | GLUT_SINGLE | GLUT_DEPTH );
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/drawrange.c b/progs/trivial/drawrange.c
deleted file mode 100644
index e9ea99b537..0000000000
--- a/progs/trivial/drawrange.c
+++ /dev/null
@@ -1,119 +0,0 @@
-/* Test rebasing */
-
-#include <assert.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-GLfloat verts[][4] = {
- { 0.9, -0.9, 0.0, 1.0 },
- { 0.9, 0.9, 0.0, 1.0 },
- { -0.9, 0.9, 0.0, 1.0 },
- { -0.9, -0.9, 0.0, 1.0 },
-};
-
-GLubyte color[][4] = {
- { 0x00, 0x00, 0xff, 0x00 },
- { 0x00, 0xff, 0x00, 0x00 },
- { 0xff, 0x00, 0x00, 0x00 },
- { 0xff, 0xff, 0xff, 0x00 },
-};
-
-GLuint indices[] = { 1, 2, 3 };
-
-static void Init( void )
-{
- GLint errno;
- GLuint prognum;
-
- static const char *prog1 =
- "!!ARBvp1.0\n"
- "MOV result.color, vertex.color;\n"
- "MOV result.position, vertex.position;\n"
- "END\n";
-
- glGenProgramsARB(1, &prognum);
- glBindProgramARB(GL_VERTEX_PROGRAM_ARB, prognum);
- glProgramStringARB(GL_VERTEX_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
- strlen(prog1), (const GLubyte *) prog1);
-
- assert(glIsProgramARB(prognum));
- errno = glGetError();
- printf("glGetError = %d\n", errno);
- if (errno != GL_NO_ERROR)
- {
- GLint errorpos;
-
- glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &errorpos);
- printf("errorpos: %d\n", errorpos);
- printf("%s\n", (char *)glGetString(GL_PROGRAM_ERROR_STRING_ARB));
- }
-
-
- glEnableClientState( GL_VERTEX_ARRAY );
- glEnableClientState( GL_COLOR_ARRAY );
- glVertexPointer( 3, GL_FLOAT, sizeof(verts[0]), verts );
- glColorPointer( 4, GL_UNSIGNED_BYTE, 0, color );
-
-}
-
-
-
-static void Display( void )
-{
- glClearColor(0.3, 0.3, 0.3, 1);
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
-
- glEnable(GL_VERTEX_PROGRAM_NV);
-
- glDrawRangeElements( GL_TRIANGLES, 1, 3, 3, GL_UNSIGNED_INT, indices );
-
- glFlush();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- /*glTranslatef( 0.0, 0.0, -15.0 );*/
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 250, 250 );
- glutInitDisplayMode( GLUT_RGB | GLUT_SINGLE | GLUT_DEPTH );
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/flat-clip.c b/progs/trivial/flat-clip.c
deleted file mode 100644
index dbe17a342e..0000000000
--- a/progs/trivial/flat-clip.c
+++ /dev/null
@@ -1,151 +0,0 @@
-/**
- * Test flat shading and clipping.
- *
- * Brian Paul
- * 30 August 2007
- */
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glut.h>
-
-static int Win;
-static GLfloat Scale = 2.0, Zrot = 50;
-static GLenum Mode = GL_LINE_LOOP;
-static GLboolean Smooth = 0;
-static GLenum PolygonMode = GL_FILL;
-
-
-static void
-Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
- if (Smooth)
- glShadeModel(GL_SMOOTH);
- else
- glShadeModel(GL_FLAT);
-
- glPushMatrix();
- glScalef(Scale, Scale, 1);
- glRotatef(Zrot, 0, 0, 1);
-
- glPolygonMode(GL_FRONT_AND_BACK, PolygonMode);
-
- glBegin(Mode);
- glColor3f(1, 0, 0);
- glVertex2f(-1, -1);
- glColor3f(0, 1, 0);
- glVertex2f( 2, -1);
- glColor3f(0, 0, 1);
- glVertex2f( 0, 1);
- glEnd();
-
- glPushMatrix();
- glScalef(0.9, 0.9, 1);
- glBegin(Mode);
- glColor3f(1, 0, 0);
- glVertex2f( 0, 1);
-
- glColor3f(0, 0, 1);
- glVertex2f( 2, -1);
-
- glColor3f(0, 1, 0);
- glVertex2f(-1, -1);
-
- glEnd();
- glPopMatrix();
-
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-static void
-Reshape(int width, int height)
-{
- glViewport(0, 0, width, height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glFrustum(-1.0, 1.0, -1.0, 1.0, 5.0, 25.0);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef(0.0, 0.0, -15.0);
-}
-
-
-static void
-Key(unsigned char key, int x, int y)
-{
- (void) x;
- (void) y;
- switch (key) {
- case 'p':
- if (Mode == GL_TRIANGLES)
- Mode = GL_LINE_LOOP;
- else
- Mode = GL_TRIANGLES;
- break;
- case 'f':
- if (PolygonMode == GL_POINT)
- PolygonMode = GL_LINE;
- else if (PolygonMode == GL_LINE)
- PolygonMode = GL_FILL;
- else
- PolygonMode = GL_POINT;
- printf("PolygonMode = 0x%x\n", PolygonMode);
- break;
- case 'r':
- Zrot -= 5.0;
- break;
- case 'R':
- Zrot += 5.0;
- break;
- case 'z':
- Scale *= 1.1;
- break;
- case 'Z':
- Scale /= 1.1;
- break;
- case 's':
- Smooth = !Smooth;
- break;
- case 27:
- glutDestroyWindow(Win);
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void
-Init(void)
-{
- printf("Usage:\n");
- printf(" z/Z: change triangle size\n");
- printf(" r/R: rotate\n");
- printf(" p: toggle line/fill mode\n");
- printf(" s: toggle smooth/flat shading\n");
- printf(" f: switch polygon fill mode\n");
-}
-
-
-int
-main(int argc, char *argv[])
-{
- glutInit(&argc, argv);
- glutInitWindowPosition(0, 0);
- glutInitWindowSize(400, 400);
- glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
- Win = glutCreateWindow(argv[0]);
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/fs-tri.c b/progs/trivial/fs-tri.c
deleted file mode 100644
index 6e86df1dcf..0000000000
--- a/progs/trivial/fs-tri.c
+++ /dev/null
@@ -1,209 +0,0 @@
-/* Test fragment shader */
-
-#include <assert.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-
-static GLuint fragShader;
-static GLuint vertShader;
-static GLuint program;
-static GLint win = 0;
-static GLfloat xpos = 0, ypos = 0;
-
-
-static void
-Redisplay(void)
-{
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
- glPushMatrix();
- glTranslatef(xpos, ypos, 0);
-
- glBegin(GL_TRIANGLES);
- glColor3f(1, 0, 0);
- glVertex2f(-0.9, -0.9);
- glColor3f(0, 1, 0);
- glVertex2f( 0.9, -0.9);
- glColor3f(0, 0, 1);
- glVertex2f( 0, 0.9);
- glEnd();
-
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-static void
-Reshape(int width, int height)
-{
- glViewport(0, 0, width, height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1, 1, -1, 1, -1, 1);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
-}
-
-
-static void
-CleanUp(void)
-{
- glDeleteShader(fragShader);
- glDeleteShader(vertShader);
- glDeleteProgram(program);
- glutDestroyWindow(win);
-}
-
-
-static void
-Key(unsigned char key, int x, int y)
-{
- (void) x;
- (void) y;
-
- switch(key) {
- case 27:
- CleanUp();
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void
-SpecialKey(int key, int x, int y)
-{
- const GLfloat step = 0.1;
-
- (void) x;
- (void) y;
-
- switch(key) {
- case GLUT_KEY_UP:
- ypos += step;
- break;
- case GLUT_KEY_DOWN:
- ypos -= step;
- break;
- case GLUT_KEY_LEFT:
- xpos -= step;
- break;
- case GLUT_KEY_RIGHT:
- xpos += step;
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void
-LoadAndCompileShader(GLuint shader, const char *text)
-{
- GLint stat;
-
- glShaderSource(shader, 1, (const GLchar **) &text, NULL);
-
- glCompileShader(shader);
-
- glGetShaderiv(shader, GL_COMPILE_STATUS, &stat);
- if (!stat) {
- GLchar log[1000];
- GLsizei len;
- glGetShaderInfoLog(shader, 1000, &len, log);
- fprintf(stderr, "fslight: problem compiling shader:\n%s\n", log);
- exit(1);
- }
-}
-
-
-static void
-CheckLink(GLuint prog)
-{
- GLint stat;
- glGetProgramiv(prog, GL_LINK_STATUS, &stat);
- if (!stat) {
- GLchar log[1000];
- GLsizei len;
- glGetProgramInfoLog(prog, 1000, &len, log);
- fprintf(stderr, "Linker error:\n%s\n", log);
- }
-}
-
-
-static void
-Init(void)
-{
- /* fragment color is a function of fragment position: */
- static const char *fragShaderText =
- "void main() {\n"
- " gl_FragColor = gl_FragCoord * vec4(0.005); \n"
- " //gl_FragColor = gl_Color; \n"
- " //gl_FragColor = vec4(1, 0, 0.5, 0); \n"
- "}\n";
-#if 0
- static const char *vertShaderText =
- "varying vec3 normal;\n"
- "void main() {\n"
- " gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;\n"
- " normal = gl_NormalMatrix * gl_Normal;\n"
- "}\n";
-#endif
- const char *version;
-
- version = (const char *) glGetString(GL_VERSION);
- if (version[0] != '2' || version[1] != '.') {
- printf("This program requires OpenGL 2.x, found %s\n", version);
- exit(1);
- }
-
- fragShader = glCreateShader(GL_FRAGMENT_SHADER);
- LoadAndCompileShader(fragShader, fragShaderText);
-
-#if 0
- vertShader = glCreateShader(GL_VERTEX_SHADER);
- LoadAndCompileShader(vertShader, vertShaderText);
-#endif
-
- program = glCreateProgram();
- glAttachShader(program, fragShader);
-#if 0
- glAttachShader(program, vertShader);
-#endif
- glLinkProgram(program);
- CheckLink(program);
- glUseProgram(program);
-
- assert(glGetError() == 0);
-
- glClearColor(0.3f, 0.3f, 0.3f, 0.0f);
-
- printf("GL_RENDERER = %s\n",(const char *) glGetString(GL_RENDERER));
-}
-
-
-int
-main(int argc, char *argv[])
-{
- glutInit(&argc, argv);
- glutInitWindowPosition( 0, 0);
- glutInitWindowSize(200, 200);
- glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
- win = glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutSpecialFunc(SpecialKey);
- glutDisplayFunc(Redisplay);
- Init();
- glutMainLoop();
- return 0;
-}
-
-
diff --git a/progs/trivial/line-clip.c b/progs/trivial/line-clip.c
deleted file mode 100644
index e4e388ed5c..0000000000
--- a/progs/trivial/line-clip.c
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_LINE_STRIP);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(0,.9,0);
- glVertex3f(-1.9, 0.0, -30.0);
- /* Repeat - no loop support yet:
- */
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/line-cull.c b/progs/trivial/line-cull.c
deleted file mode 100644
index c531ff132f..0000000000
--- a/progs/trivial/line-cull.c
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_LINE_STRIP);
- glColor3f(0,0,1);
- glVertex3f( -1.5, 0.5, -30.0);
- glColor3f(1,0,0);
- glVertex3f( 0, 2.0, -30.0);
- glColor3f(0,1,0);
- glVertex3f(-1.5, 2.0, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/line-flat.c b/progs/trivial/line-flat.c
deleted file mode 100644
index e2ddb87b9e..0000000000
--- a/progs/trivial/line-flat.c
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
- glShadeModel(GL_FLAT);
-
- glBegin(GL_LINES);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, -30.0);
-
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(0,.9,0);
- glVertex3f(-0.9, 0.0, -30.0);
-
-
- glColor3f(0,.9,0);
- glVertex3f(-0.9, 0.0, -30.0);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/line-smooth.c b/progs/trivial/line-smooth.c
deleted file mode 100644
index 9c4b9a0115..0000000000
--- a/progs/trivial/line-smooth.c
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <math.h>
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-GLboolean smooth = GL_TRUE;
-GLfloat width = 1.0;
-
-
-static void Init(void)
-{
- float range[2], aarange[2];
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
- glGetFloatv(GL_LINE_WIDTH_RANGE, aarange);
- glGetFloatv(GL_ALIASED_LINE_WIDTH_RANGE, range);
- printf("Non-AA line width range: %f .. %f\n", range[0], range[1]);
- printf("AA line width range: %f .. %f\n", aarange[0], aarange[1]);
- fflush(stdout);
-}
-
-
-static void Reshape(int width, int height)
-{
- glViewport(0, 0, (GLint)width, (GLint)height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef(0, 0, -30);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
- switch (key) {
- case 'w':
- width -= 0.5;
- if (width < 0.5)
- width = 0.5;
- break;
- case 'W':
- width += 0.5;
- break;
- case 's':
- smooth = !smooth;
- break;
- case 27:
- exit(1);
- default:
- return;
- }
- printf("LineWidth: %g\n", width);
- glutPostRedisplay();
-}
-
-
-static void Draw(void)
-{
- float a;
-
- glClear(GL_COLOR_BUFFER_BIT);
-
- glLineWidth(width);
-
- if (smooth) {
- glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- glEnable(GL_BLEND);
- glEnable(GL_LINE_SMOOTH);
- }
-
- glColor3f(1, 1, 1);
-
- glBegin(GL_LINES);
- for (a = 0; a < 3.14159; a += 0.2) {
- float x = .9 * cos(a);
- float y = .9 * sin(a);
-
- glVertex2f(-x, -y);
- glVertex2f( x, y);
- }
- glEnd();
-
- glDisable(GL_LINE_SMOOTH);
- glDisable(GL_BLEND);
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(argv[0]) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/line-stipple-wide.c b/progs/trivial/line-stipple-wide.c
deleted file mode 100644
index 767583bbea..0000000000
--- a/progs/trivial/line-stipple-wide.c
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glEnable(GL_LINE_STIPPLE);
- glLineStipple( 5, 0xfffe );
- glLineWidth( 4 );
-
- glBegin(GL_LINES);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, -30.0);
-
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(0,.9,0);
- glVertex3f(-0.9, 0.0, -30.0);
-
- glColor3f(0,.9,0);
- glVertex3f(-0.9, 0.0, -30.0);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/line-userclip-clip.c b/progs/trivial/line-userclip-clip.c
deleted file mode 100644
index 3265b2c3bf..0000000000
--- a/progs/trivial/line-userclip-clip.c
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- static GLdouble plane[4] = { -.5, 0, 1, 0 };
-
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
- glClipPlane(GL_CLIP_PLANE0, plane);
- glEnable(GL_CLIP_PLANE0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
-/* glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0); */
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_LINE_STRIP);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, 0.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, 0.0);
- glColor3f(0,.9,0);
- glVertex3f(-1.9, 0.0, 0.0);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, 0.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/line-userclip-nop-clip.c b/progs/trivial/line-userclip-nop-clip.c
deleted file mode 100644
index 0198e27807..0000000000
--- a/progs/trivial/line-userclip-nop-clip.c
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- static GLdouble plane[4] = { 0, 0, 1, 0 };
-
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
- glClipPlane(GL_CLIP_PLANE0, plane);
- glEnable(GL_CLIP_PLANE0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
-/* glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0); */
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_LINE_STRIP);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, 0.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, 0.0);
- glColor3f(0,.9,0);
- glVertex3f(-1.9, 0.0, 0.0);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, 0.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/line-userclip-nop.c b/progs/trivial/line-userclip-nop.c
deleted file mode 100644
index 6c863a3c82..0000000000
--- a/progs/trivial/line-userclip-nop.c
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- static GLdouble plane[4] = { 0, 0, 1, 0 };
-
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
- glClipPlane(GL_CLIP_PLANE0, plane);
- glEnable(GL_CLIP_PLANE0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
-/* glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0); */
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_LINE_STRIP);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, 0.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, 0.0);
- glColor3f(0,.9,0);
- glVertex3f(-0.9, 0.0, 0.0);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, 0.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/line-userclip.c b/progs/trivial/line-userclip.c
deleted file mode 100644
index 6cfcb6fc73..0000000000
--- a/progs/trivial/line-userclip.c
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- static GLdouble plane[4] = { -.5, 0, 1, 0 };
-
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
- glClipPlane(GL_CLIP_PLANE0, plane);
- glEnable(GL_CLIP_PLANE0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
-/* glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0); */
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_LINE_STRIP);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, 0.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, 0.0);
- glColor3f(0,.9,0);
- glVertex3f(-0.9, 0.0, 0.0);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, 0.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/line-wide.c b/progs/trivial/line-wide.c
deleted file mode 100644
index 1945712c5d..0000000000
--- a/progs/trivial/line-wide.c
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glLineWidth(4.0);
-
- glBegin(GL_LINES);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, -30.0);
-
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(0,.9,0);
- glVertex3f(-0.9, 0.0, -30.0);
-
-
- glColor3f(0,.9,0);
- glVertex3f(-0.9, 0.0, -30.0);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/line.c b/progs/trivial/line.c
deleted file mode 100644
index 58ab96836f..0000000000
--- a/progs/trivial/line.c
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_LINES);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, -30.0);
-
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(0,.9,0);
- glVertex3f(-0.9, 0.0, -30.0);
-
-
- glColor3f(0,.9,0);
- glVertex3f(-0.9, 0.0, -30.0);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/lineloop-clip.c b/progs/trivial/lineloop-clip.c
deleted file mode 100644
index 5e6b6217a1..0000000000
--- a/progs/trivial/lineloop-clip.c
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_LINE_LOOP);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(0,.9,0);
- glVertex3f(-1.9, 0.0, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/lineloop-elts.c b/progs/trivial/lineloop-elts.c
deleted file mode 100644
index ab944157c0..0000000000
--- a/progs/trivial/lineloop-elts.c
+++ /dev/null
@@ -1,121 +0,0 @@
-/* Test rebasing */
-
-#include <assert.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-GLfloat verts[][4] = {
- { 0.9, -0.9, 0.0, 1.0 },
- { 0.9, 0.9, 0.0, 1.0 },
- { -0.9, 0.9, 0.0, 1.0 },
- { -0.9, -0.9, 0.0, 1.0 },
-};
-
-GLubyte color[][4] = {
- { 0x00, 0x00, 0xff, 0x00 },
- { 0x00, 0xff, 0x00, 0x00 },
- { 0xff, 0x00, 0x00, 0x00 },
- { 0xff, 0xff, 0xff, 0x00 },
-};
-
-GLuint indices[] = { 1, 2, 3 };
-
-static void Init( void )
-{
- GLint errno;
- GLuint prognum;
-
- static const char *prog1 =
- "!!ARBvp1.0\n"
- "MOV result.color, vertex.color;\n"
- "MOV result.position, vertex.position;\n"
- "END\n";
-
- glGenProgramsARB(1, &prognum);
- glBindProgramARB(GL_VERTEX_PROGRAM_ARB, prognum);
- glProgramStringARB(GL_VERTEX_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
- strlen(prog1), (const GLubyte *) prog1);
-
- assert(glIsProgramARB(prognum));
- errno = glGetError();
- printf("glGetError = %d\n", errno);
- if (errno != GL_NO_ERROR)
- {
- GLint errorpos;
-
- glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &errorpos);
- printf("errorpos: %d\n", errorpos);
- printf("%s\n", (char *)glGetString(GL_PROGRAM_ERROR_STRING_ARB));
- }
-
-
- glEnableClientState( GL_VERTEX_ARRAY );
- glEnableClientState( GL_COLOR_ARRAY );
- glVertexPointer( 3, GL_FLOAT, sizeof(verts[0]), verts );
- glColorPointer( 4, GL_UNSIGNED_BYTE, 0, color );
-
-}
-
-
-
-static void Display( void )
-{
- glClearColor(0.3, 0.3, 0.3, 1);
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
-
- glEnable(GL_VERTEX_PROGRAM_NV);
-
- /* Should have min_index == 1, maybe force a rebase:
- */
- glDrawElements( GL_LINE_LOOP, 3, GL_UNSIGNED_INT, indices );
-
- glFlush();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- /*glTranslatef( 0.0, 0.0, -15.0 );*/
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 250, 250 );
- glutInitDisplayMode( GLUT_RGB | GLUT_SINGLE | GLUT_DEPTH );
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/lineloop.c b/progs/trivial/lineloop.c
deleted file mode 100644
index 82eccd24f8..0000000000
--- a/progs/trivial/lineloop.c
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_LINE_LOOP);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(0,.9,0);
- glVertex3f(-0.9, 0.0, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/linestrip-clip.c b/progs/trivial/linestrip-clip.c
deleted file mode 100644
index 5e90ea2eb0..0000000000
--- a/progs/trivial/linestrip-clip.c
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_LINE_STRIP);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -30.0);
-
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, -30.0);
-
- glColor3f(0,.9,0);
- glVertex3f(-1.9, 0.0, -30.0);
-
- glColor3f(0,0,.7);
- glVertex3f( 0.8, -0.8, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/linestrip-flat-stipple.c b/progs/trivial/linestrip-flat-stipple.c
deleted file mode 100644
index bae5c3a1c3..0000000000
--- a/progs/trivial/linestrip-flat-stipple.c
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glShadeModel(GL_FLAT);
- glEnable(GL_LINE_STIPPLE);
- glLineStipple( 5, 0xfffe );
-
- glBegin(GL_LINE_STRIP);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(0,.9,0);
- glVertex3f(-0.9, 0.0, -30.0);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/linestrip-stipple-wide.c b/progs/trivial/linestrip-stipple-wide.c
deleted file mode 100644
index 0296941a0d..0000000000
--- a/progs/trivial/linestrip-stipple-wide.c
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glEnable(GL_LINE_STIPPLE);
- glLineStipple( 5, 0xfffe );
- glLineWidth( 4 );
-
- glBegin(GL_LINE_STRIP);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(0,.9,0);
- glVertex3f(-0.9, 0.0, -30.0);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/linestrip-stipple.c b/progs/trivial/linestrip-stipple.c
deleted file mode 100644
index a847d47dee..0000000000
--- a/progs/trivial/linestrip-stipple.c
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glEnable(GL_LINE_STIPPLE);
- glLineStipple( 5, 0xfffe );
-
- glBegin(GL_LINE_STRIP);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(0,.9,0);
- glVertex3f(-0.9, 0.0, -30.0);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/linestrip.c b/progs/trivial/linestrip.c
deleted file mode 100644
index b6d6882146..0000000000
--- a/progs/trivial/linestrip.c
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_LINE_STRIP);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(0,.9,0);
- glVertex3f(-0.9, 0.0, -30.0);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/long-fixed-func.c b/progs/trivial/long-fixed-func.c
deleted file mode 100644
index 4b6c412f9e..0000000000
--- a/progs/trivial/long-fixed-func.c
+++ /dev/null
@@ -1,153 +0,0 @@
-/**
- * Enable as much fixed-function vertex processing state as possible
- * to test fixed-function -> program code generation.
- */
-
-
-
-#include <GL/glew.h>
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-static void
-Reshape(int width, int height)
-{
- glViewport(0, 0, (GLint)width, (GLint)height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-
-static void
-Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_TRIANGLES);
- glColor3f(.8,0,0);
- glVertex3f(-0.9, -0.9, -30.0);
- glColor3f(0,.9,0);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(0,0,.7);
- glVertex3f( 0.0, 0.9, -30.0);
- glEnd();
-
- glFlush();
-
- glutSwapBuffers();
-}
-
-
-static void
-Init(void)
-{
- GLubyte tex[16][16][4];
- GLfloat pos[4] = {5, 10, 3, 1.0};
- int i, j;
-
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.3, 0.1, 0.3, 0.0);
-
- for (i = 0; i < 16; i++) {
- for (j = 0; j < 16; j++) {
- if ((i+j) & 1) {
- tex[i][j][0] = 100;
- tex[i][j][1] = 100;
- tex[i][j][2] = 100;
- tex[i][j][3] = 255;
- }
- else {
- tex[i][j][0] = 200;
- tex[i][j][1] = 200;
- tex[i][j][2] = 200;
- tex[i][j][3] = 255;
- }
- }
- }
-
-
- glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, 1);
- glFogi(GL_FOG_MODE, GL_LINEAR);
- glEnable(GL_FOG);
-
- glPointParameterfv(GL_DISTANCE_ATTENUATION_EXT, pos);
-
- for (i = 0; i < 8; i++) {
- GLuint texObj;
-
- glEnable(GL_LIGHT0 + i);
- glLightf(GL_LIGHT0 + i, GL_SPOT_EXPONENT, 3.5);
- glLightf(GL_LIGHT0 + i, GL_SPOT_CUTOFF, 30.);
- glLightf(GL_LIGHT0 + i, GL_CONSTANT_ATTENUATION, 3.);
- glLightf(GL_LIGHT0 + i, GL_LINEAR_ATTENUATION, 3.);
- glLightf(GL_LIGHT0 + i, GL_QUADRATIC_ATTENUATION, 3.);
- glLightfv(GL_LIGHT0 + i, GL_POSITION, pos);
-
- glActiveTexture(GL_TEXTURE0 + i);
- glTexGeni(GL_S, GL_TEXTURE_GEN_MODE, GL_SPHERE_MAP);
- glTexGeni(GL_T, GL_TEXTURE_GEN_MODE, GL_SPHERE_MAP);
- glTexGeni(GL_R, GL_TEXTURE_GEN_MODE, GL_EYE_LINEAR);
- glTexGeni(GL_Q, GL_TEXTURE_GEN_MODE, GL_EYE_LINEAR);
- glEnable(GL_TEXTURE_GEN_S);
- glEnable(GL_TEXTURE_GEN_T);
- glEnable(GL_TEXTURE_GEN_R);
- glEnable(GL_TEXTURE_GEN_Q);
- glEnable(GL_TEXTURE_2D);
-
- glMatrixMode(GL_TEXTURE);
- glScalef(2.0, 1.0, 3.0);
-
- glGenTextures(1, &texObj);
- glBindTexture(GL_TEXTURE_2D, texObj);
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 16, 16, 0,
- GL_RGBA, GL_UNSIGNED_BYTE, tex);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
- }
-
- glEnable(GL_LIGHTING);
- glActiveTexture(GL_TEXTURE0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-
-static void
-Key(unsigned char key, int x, int y)
-{
- if (key == 27) {
- exit(0);
- }
- glutPostRedisplay();
-}
-
-
-int
-main(int argc, char **argv)
-{
- GLenum type = GLUT_RGB | GLUT_DOUBLE;
-
- glutInit(&argc, argv);
- glutInitWindowPosition(0, 0);
- glutInitWindowSize( 250, 250);
- glutInitDisplayMode(type);
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
- glewInit();
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/pgon-mode.c b/progs/trivial/pgon-mode.c
deleted file mode 100644
index db58638619..0000000000
--- a/progs/trivial/pgon-mode.c
+++ /dev/null
@@ -1,136 +0,0 @@
-/**
- * Test glPolygonMode.
- * A tri-strip w/ two tris is drawn so that the first tri is front-facing
- * but the second tri is back-facing.
- * Set glPolygonMode differently for the front/back faces
- *
- */
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glut.h>
-
-static int Win;
-static GLfloat Zrot = 0;
-static GLboolean FrontFillBackUnfilled = GL_TRUE;
-static GLboolean Lines = GL_TRUE;
-
-
-static void
-Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
- if (FrontFillBackUnfilled) {
- if (Lines) {
- printf("FrontMode = FILL, BackMode = LINE\n");
- glPolygonMode(GL_BACK, GL_LINE);
- }
- else {
- printf("FrontMode = FILL, BackMode = POINT\n");
- glPolygonMode(GL_BACK, GL_POINT);
- }
- glPolygonMode(GL_FRONT, GL_FILL);
- }
- else {
- if (Lines) {
- printf("FrontMode = LINE, BackMode = FILL\n");
- glPolygonMode(GL_FRONT, GL_LINE);
- }
- else {
- printf("FrontMode = POINT, BackMode = FILL\n");
- glPolygonMode(GL_FRONT, GL_POINT);
- }
- glPolygonMode(GL_BACK, GL_FILL);
- }
-
- glPushMatrix();
- glRotatef(Zrot, 0, 0, 1);
-
- glBegin(GL_TRIANGLE_STRIP);
- glVertex2f(-1, 0);
- glVertex2f( 1, 0);
- glVertex2f(0, 1);
- glVertex2f(0, -1);
- glEnd();
-
- glPopMatrix();
-
- glutSwapBuffers();
-}
-
-
-static void
-Reshape(int width, int height)
-{
- glViewport(0, 0, width, height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glFrustum(-1.0, 1.0, -1.0, 1.0, 5.0, 25.0);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef(0.0, 0.0, -15.0);
-}
-
-
-static void
-Key(unsigned char key, int x, int y)
-{
- const GLfloat step = 3.0;
- (void) x;
- (void) y;
- switch (key) {
- case 'p':
- FrontFillBackUnfilled = !FrontFillBackUnfilled;
- break;
- case 'l':
- Lines = !Lines;
- break;
- case 'z':
- Zrot -= step;
- break;
- case 'Z':
- Zrot += step;
- break;
- case 27:
- glutDestroyWindow(Win);
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void
-Init(void)
-{
- printf("GL_RENDERER = %s\n", (char*) glGetString(GL_RENDERER));
-
- glLineWidth(3.0);
- glPointSize(3.0);
-
- glColor4f(1, 1, 1, 0.8);
- glEnable(GL_BLEND);
- glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
-
- printf("Press 'p' to toggle polygon mode\n");
-}
-
-
-int
-main(int argc, char *argv[])
-{
- glutInit(&argc, argv);
- glutInitWindowPosition(0, 0);
- glutInitWindowSize(400, 400);
- glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
- Win = glutCreateWindow(argv[0]);
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/point-clip.c b/progs/trivial/point-clip.c
deleted file mode 100644
index 23cfd77863..0000000000
--- a/progs/trivial/point-clip.c
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_POINTS);
- glColor3f(1,0,0);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(1,1,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(1,0,1);
- glVertex3f(-1.9, 0.9, -30.0);
- glColor3f(0,1,1);
- glVertex3f(-0.9, -0.9, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/point-param.c b/progs/trivial/point-param.c
deleted file mode 100644
index 46bd773265..0000000000
--- a/progs/trivial/point-param.c
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <GL/glew.h>
-#include <math.h>
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, 0, 100.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
- glutPostRedisplay();
-}
-
-
-static float
-expected(float z, float size, const float atten[3])
-{
- float dist = fabs(z);
- const GLfloat q = atten[0] + dist * (atten[1] + dist * atten[2]);
- const GLfloat a = sqrt(1.0 / q);
- return size * a;
-}
-
-
-static void Draw(void)
-{
- static GLfloat atten[3] = { 0.0, 0.1, .01 };
- float size = 40.0;
- int i;
-
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- glPointSize(size);
- glPointParameterfvARB(GL_POINT_DISTANCE_ATTENUATION_ARB, atten);
-
- glColor3f(1,0,0);
-
- printf("Expected point sizes:\n");
- glBegin(GL_POINTS);
- for (i = 0; i < 5; i++) {
- float x = -0.8 + i * 0.4;
- float z = -i * 20 - 10;
- glVertex3f( x, 0.0, z);
- printf(" %f\n", expected(z, size, atten));
- }
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(argv[0]) == GL_FALSE) {
- exit(1);
- }
-
- glewInit();
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/point-sprite.c b/progs/trivial/point-sprite.c
deleted file mode 100644
index 16e6771514..0000000000
--- a/progs/trivial/point-sprite.c
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
-
-#define SIZE 16
- {
- GLubyte tex2d[SIZE][SIZE][3];
- GLint s, t;
-
- for (s = 0; s < SIZE; s++) {
- for (t = 0; t < SIZE; t++) {
-#if 1
- tex2d[t][s][0] = (s < SIZE/2) ? 0 : 255;
- tex2d[t][s][1] = (t < SIZE/2) ? 0 : 255;
- tex2d[t][s][2] = 0;
-#else
- tex2d[t][s][0] = s*255/(SIZE-1);
- tex2d[t][s][1] = t*255/(SIZE-1);
- tex2d[t][s][2] = 0;
-#endif
- }
- }
-
- glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_R, GL_REPEAT);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- glTexImage2D(GL_TEXTURE_2D, 0, 3, SIZE, SIZE, 0,
- GL_RGB, GL_UNSIGNED_BYTE, tex2d);
- glPixelStorei(GL_UNPACK_ALIGNMENT, 4);
- glEnable(GL_TEXTURE_2D);
- }
-
- glEnable(GL_POINT_SPRITE);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glPointSize(16.0);
-
- glBegin(GL_POINTS);
- glColor3f(1,0,0);
- glVertex3f( 0.6, -0.6, -30.0);
- glColor3f(1,1,0);
- glVertex3f( 0.6, 0.6, -30.0);
- glColor3f(1,0,1);
- glVertex3f(-0.6, 0.6, -30.0);
- glColor3f(0,1,1);
- glVertex3f(-0.6, -0.6, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/point-wide-smooth.c b/progs/trivial/point-wide-smooth.c
deleted file mode 100644
index 752cb8aee3..0000000000
--- a/progs/trivial/point-wide-smooth.c
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glPointSize(8.0);
-
- glEnable(GL_POINT_SMOOTH);
- glEnable(GL_BLEND);
- glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
-
- glBegin(GL_POINTS);
- glColor3f(1,0,0);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(1,1,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(1,0,1);
- glVertex3f(-0.9, 0.9, -30.0);
- glColor3f(0,1,1);
- glVertex3f(-0.9, -0.9, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/point-wide.c b/progs/trivial/point-wide.c
deleted file mode 100644
index 3b00ee9e50..0000000000
--- a/progs/trivial/point-wide.c
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
- glDisable(GL_DEPTH_TEST);
-
- glPointSize(8.0);
-
- glBegin(GL_POINTS);
- glColor3f(1,0,0);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(1,1,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(1,0,1);
- glVertex3f(-0.9, 0.9, -30.0);
- glColor3f(0,1,1);
- glVertex3f(-0.9, -0.9, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/point.c b/progs/trivial/point.c
deleted file mode 100644
index 8f5299cf6b..0000000000
--- a/progs/trivial/point.c
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_POINTS);
- glColor3f(1,0,0);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(1,1,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(1,0,1);
- glVertex3f(-0.9, 0.9, -30.0);
- glColor3f(0,1,1);
- glVertex3f(-0.9, -0.9, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/poly-flat-clip.c b/progs/trivial/poly-flat-clip.c
deleted file mode 100644
index 2a968bed40..0000000000
--- a/progs/trivial/poly-flat-clip.c
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
- glShadeModel(GL_FLAT);
-
-
- glBegin(GL_POLYGON);
- glColor3f(1,0,0);
- glVertex3f( 0, 0, -30.0);
- glColor3f(1,1,0);
- glVertex3f( 1.3, 1.1, -30.0);
- glColor3f(1,0,1);
- glVertex3f(-.9, .9, -30.0);
- glColor3f(0,1,1);
- glVertex3f(-1.1, -1.3, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/poly-flat-unfilled-clip.c b/progs/trivial/poly-flat-unfilled-clip.c
deleted file mode 100644
index 89f4e0656a..0000000000
--- a/progs/trivial/poly-flat-unfilled-clip.c
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
- glShadeModel(GL_FLAT);
-
- glPolygonMode(GL_FRONT, GL_LINE);
- glPolygonMode(GL_BACK, GL_LINE);
- glLineWidth(4.0);
-
-
- glBegin(GL_POLYGON);
- glColor3f(1,0,0);
- glVertex3f( 0, 0, -30.0);
- glColor3f(1,1,0);
- glVertex3f( 1.3, 1.1, -30.0);
- glColor3f(1,0,1);
- glVertex3f(-.9, .9, -30.0);
- glColor3f(0,1,1);
- glVertex3f(-1.1, -1.3, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/poly-flat.c b/progs/trivial/poly-flat.c
deleted file mode 100644
index 33c2e04e0f..0000000000
--- a/progs/trivial/poly-flat.c
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
- glShadeModel(GL_FLAT);
-
-
- glBegin(GL_POLYGON);
- glColor3f(1,0,0);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(1,1,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(1,0,1);
- glVertex3f(-0.9, 0.9, -30.0);
- glColor3f(0,1,1);
- glVertex3f(-0.9, -0.9, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/poly-unfilled.c b/progs/trivial/poly-unfilled.c
deleted file mode 100644
index c8c0d7a9e3..0000000000
--- a/progs/trivial/poly-unfilled.c
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
- glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
-
- glBegin(GL_POLYGON);
- glColor3f(1,0,0);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(1,1,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(1,0,1);
- glVertex3f(-0.9, 0.9, -30.0);
- glColor3f(0,1,1);
- glVertex3f(-0.9, -0.9, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/poly.c b/progs/trivial/poly.c
deleted file mode 100644
index 964eb42d78..0000000000
--- a/progs/trivial/poly.c
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_POLYGON);
- glColor3f(1,0,0);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(1,1,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(1,0,1);
- glVertex3f(-0.9, 0.9, -30.0);
- glColor3f(0,1,1);
- glVertex3f(-0.9, -0.9, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/quad-clip-all-vertices.c b/progs/trivial/quad-clip-all-vertices.c
deleted file mode 100644
index 7712d8ca5b..0000000000
--- a/progs/trivial/quad-clip-all-vertices.c
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_QUADS);
- glColor3f(1,0,0);
- glVertex3f( 1.9, -1.9, -30.0);
- glColor3f(1,1,0);
- glVertex3f( 1.9, 1.9, -30.0);
- glColor3f(1,0,1);
- glVertex3f(-1.9, 1.9, -30.0);
- glColor3f(0,1,1);
- glVertex3f(-1.9, -1.9, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/quad-clip-nearplane.c b/progs/trivial/quad-clip-nearplane.c
deleted file mode 100644
index 9380e4f9ae..0000000000
--- a/progs/trivial/quad-clip-nearplane.c
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-float Z = -6;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- fprintf(stderr, "Press z/Z to translate quad\n");
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glFrustum(-1.0, 1.0, -1.0, 1.0, 5, 100.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
- switch (key) {
- case 'z':
- Z += 0.5;
- break;
- case 'Z':
- Z -= 0.5;
- break;
- case 27:
- exit(1);
- default:
- return;
- }
- printf("Z = %f\n", Z);
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glPushMatrix();
- glTranslatef(0, -0.5, Z);
-
- glBegin(GL_QUADS);
- glColor3f(1,0,0);
- glVertex3f( -0.8, 0, -4.0);
- glColor3f(1,1,0);
- glVertex3f( 0.8, 0, -4.0);
- glColor3f(1,0,1);
- glVertex3f( 0.8, 0, 4.0);
- glColor3f(0,1,1);
- glVertex3f( -0.8, 0, 4.0);
- glEnd();
-
- glPopMatrix();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0);
- glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/quad-clip.c b/progs/trivial/quad-clip.c
deleted file mode 100644
index 2847c9f960..0000000000
--- a/progs/trivial/quad-clip.c
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_QUADS);
- glColor3f(1,0,0);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(1,1,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(1,0,1);
- glVertex3f(-1.9, 0.9, -30.0);
- glColor3f(0,1,1);
- glVertex3f(-0.9, -0.9, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/quad-degenerate.c b/progs/trivial/quad-degenerate.c
deleted file mode 100644
index 85e129d4be..0000000000
--- a/progs/trivial/quad-degenerate.c
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_QUADS);
- glColor3f(1,0,0);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(1,1,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(1,0,1);
- glVertex3f(-0.9, 0.9, -30.0);
- glColor3f(0,1,1);
- glVertex3f(-0.9, -0.9, -30.0);
- glColor3f(1,0,0);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(1,1,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(1,0,1);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/quad-flat.c b/progs/trivial/quad-flat.c
deleted file mode 100644
index bed98e31a4..0000000000
--- a/progs/trivial/quad-flat.c
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
- glShadeModel(GL_FLAT);
-
- if (1) {
- glBegin(GL_LINES);
- glColor3f(1,0,0);
- glVertex3f( 0.95, -0.9, -30.0);
- glColor3f(1,1,0);
- glVertex3f( 0.95, 0.9, -30.0);
- glEnd();
- }
-
- glBegin(GL_QUADS);
- glColor3f(1,0,0);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(1,1,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(1,0,1);
- glVertex3f(-0.9, 0.9, -30.0);
- glColor3f(0,1,1);
- glVertex3f(-0.9, -0.9, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/quad-offset-factor.c b/progs/trivial/quad-offset-factor.c
deleted file mode 100644
index 1fc57a54ae..0000000000
--- a/progs/trivial/quad-offset-factor.c
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(1.0, 1.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void quad( float half )
-{
- glBegin(GL_QUADS);
- glVertex3f( half/9.0, -half/9.0, -25.0 + half);
- glVertex3f( half/9.0, half/9.0, -25.0 + half);
- glVertex3f(-half/9.0, half/9.0, -25.0 - half);
- glVertex3f(-half/9.0, -half/9.0, -25.0 - half);
- glEnd();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
- glEnable(GL_DEPTH_TEST);
-
- /* red: offset back */
- glEnable(GL_POLYGON_OFFSET_FILL);
- glPolygonOffset(1, 0);
- glColor3f(1,0,0);
- quad(9);
-
- /* green: no offset */
- glDisable(GL_POLYGON_OFFSET_FILL);
- glColor3f(0,1,0);
- quad(6);
-
- /* black: offset zero, should not be visible because of z test */
- glEnable(GL_POLYGON_OFFSET_FILL);
- glPolygonOffset(0, 0);
- glColor3f(0,0,0);
- quad(6);
-
- /* blue: offset forward */
- glEnable(GL_POLYGON_OFFSET_FILL);
- glPolygonOffset(-1, 0);
- glColor3f(0,0,1);
- quad(3);
-
- glDisable(GL_POLYGON_OFFSET_FILL);
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA | GLUT_DEPTH;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/quad-offset-unfilled.c b/progs/trivial/quad-offset-unfilled.c
deleted file mode 100644
index 62f50fb98c..0000000000
--- a/progs/trivial/quad-offset-unfilled.c
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(1.0, 1.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
- glEnable(GL_DEPTH_TEST);
-
- glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
-
-
-
- glEnable(GL_POLYGON_OFFSET_FILL);
- glPolygonOffset(1, 0);
-
- glBegin(GL_QUADS);
- glColor3f(1,0,0);
- glVertex3f( 0.9, -0.9, -10.0);
- glVertex3f( 0.9, 0.9, -10.0);
- glVertex3f(-0.9, 0.9, -40.0);
- glVertex3f(-0.9, -0.9, -40.0);
- glEnd();
-
- glDisable(GL_POLYGON_OFFSET_FILL);
-
- glBegin(GL_QUADS);
- glColor3f(0,1,0);
- glVertex3f( 0.6, -0.6, -15.0);
- glVertex3f( 0.6, 0.6, -15.0);
- glVertex3f(-0.6, 0.6, -35.0);
- glVertex3f(-0.6, -0.6, -35.0);
- glEnd();
-
- glEnable(GL_POLYGON_OFFSET_LINE);
- glPolygonOffset(-1, 0);
-
- glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
-
- glBegin(GL_QUADS);
- glColor3f(0,0,1);
- glVertex3f( 0.3, -0.3, -20.0);
- glVertex3f( 0.3, 0.3, -20.0);
- glVertex3f(-0.3, 0.3, -30.0);
- glVertex3f(-0.3, -0.3, -30.0);
- glEnd();
-
-
- glDisable(GL_POLYGON_OFFSET_FILL);
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA | GLUT_DEPTH;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/quad-offset-units.c b/progs/trivial/quad-offset-units.c
deleted file mode 100644
index 1ac2338692..0000000000
--- a/progs/trivial/quad-offset-units.c
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(1.0, 1.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.2, 1.2, -1.2, 1.2, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void quad( float half )
-{
- glBegin(GL_QUADS);
- glVertex3f( half/9.0, -half/9.0, -25.0 + half);
- glVertex3f( half/9.0, half/9.0, -25.0 + half);
- glVertex3f(-half/9.0, half/9.0, -25.0 - half);
- glVertex3f(-half/9.0, -half/9.0, -25.0 - half);
- glEnd();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
- glEnable(GL_DEPTH_TEST);
-
- /* red: offset back */
- glEnable(GL_POLYGON_OFFSET_FILL);
- glPolygonOffset(0, 4);
- glColor3f(1,0,0);
- quad(9);
-
- /* black: no offset */
- glDisable(GL_POLYGON_OFFSET_FILL);
- glColor3f(0,0,0);
- quad(6);
-
- /* green: offset 0 (this should obscure the black quad) */
- glEnable(GL_POLYGON_OFFSET_FILL);
- glPolygonOffset(0, 0);
- glDepthFunc( GL_EQUAL );
- glColor3f(0,1,0);
- quad(6);
-
- /* blue: offset forward */
- glDepthFunc( GL_LESS );
- glPolygonOffset(0, -4);
- glColor3f(0,0,1);
- quad(3);
-
- glDisable(GL_POLYGON_OFFSET_FILL);
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA | GLUT_DEPTH;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/quad-tex-2d.c b/progs/trivial/quad-tex-2d.c
deleted file mode 100644
index 8a886ef578..0000000000
--- a/progs/trivial/quad-tex-2d.c
+++ /dev/null
@@ -1,189 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-static GLenum Target = GL_TEXTURE_2D;
-static GLenum Filter = GL_NEAREST;
-GLenum doubleBuffer;
-static float Rot = 0;
-static int win = 0;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-
-#define SIZE 32
- {
- GLubyte tex2d[SIZE][SIZE][3];
- GLint s, t;
-
- for (s = 0; s < SIZE; s++) {
- for (t = 0; t < SIZE; t++) {
-#if 0
- tex2d[t][s][0] = (s < SIZE/2) ? 0 : 255;
- tex2d[t][s][1] = (t < SIZE/2) ? 0 : 255;
- tex2d[t][s][2] = 0;
-#else
- tex2d[t][s][0] = s*255/(SIZE-1);
- tex2d[t][s][1] = t*255/(SIZE-1);
- tex2d[t][s][2] = 0;
-#endif
- }
- }
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
-
- if (Target == GL_TEXTURE_1D)
- glTexImage1D(Target, 0, 3, SIZE, 0, GL_RGB, GL_UNSIGNED_BYTE, tex2d);
- else
- glTexImage2D(Target, 0, 3, SIZE, SIZE, 0,
- GL_RGB, GL_UNSIGNED_BYTE, tex2d);
-
- glEnable(Target);
- glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
- glTexParameterf(Target, GL_TEXTURE_WRAP_R, GL_REPEAT);
- glTexParameterf(Target, GL_TEXTURE_MIN_FILTER, Filter);
- glTexParameterf(Target, GL_TEXTURE_MAG_FILTER, Filter);
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 4);
- }
-}
-
-static void Reshape(int width, int height)
-{
- glViewport(0, 0, (GLint)width, (GLint)height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
-#if 0
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
-#else
- glFrustum(-1, 1, -1, 1, 10, 20);
-#endif
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef(0, 0, -15);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
- switch (key) {
- case 'r':
- Rot += 10.0;
- break;
- case 'R':
- Rot -= 10.0;
- break;
- case 27:
- glutDestroyWindow(win);
- exit(0);
- default:
- return;
- }
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glPushMatrix();
- glRotatef(Rot, 0, 1, 0);
-
- glBegin(GL_QUADS);
- glTexCoord2f(1,0);
- glVertex3f( 0.9, -0.9, 0.0);
- glTexCoord2f(1,1);
- glVertex3f( 0.9, 0.9, 0.0);
- glTexCoord2f(0,1);
- glVertex3f(-0.9, 0.9, 0.0);
- glTexCoord2f(0,0);
- glVertex3f(-0.9, -0.9, 0.0);
- glEnd();
-
- glPopMatrix();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- win = glutCreateWindow(*argv);
- if (!win) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/quad-tex-3d.c b/progs/trivial/quad-tex-3d.c
deleted file mode 100644
index d05131d3b8..0000000000
--- a/progs/trivial/quad-tex-3d.c
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-GLfloat z= 0;
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-
-#define SIZE 16
- {
- GLubyte tex3d[SIZE][SIZE][SIZE][3];
- GLint r, s, t;
-
- for (s = 0; s < SIZE; s++) {
- for (t = 0; t < SIZE; t++) {
- for (r = 0; r < SIZE; r++) {
-#if 0
- tex3d[r][t][s][0] = (s < SIZE/2) ? 0 : 255;
- tex3d[r][t][s][1] = (t < SIZE/2) ? 0 : 255;
- tex3d[r][t][s][2] = (r < SIZE/2) ? 0 : 255;
-#else
- tex3d[r][t][s][0] = s*255/(SIZE-1);
- tex3d[r][t][s][1] = t*255/(SIZE-1);
- tex3d[r][t][s][2] = r*255/(SIZE-1);
-#endif
- }
- }
- }
-
- glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
- glTexParameterf(GL_TEXTURE_3D, GL_TEXTURE_WRAP_R, GL_REPEAT);
- glTexParameterf(GL_TEXTURE_3D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameterf(GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- glTexImage3D(GL_TEXTURE_3D, 0, 3, SIZE, SIZE, SIZE, 0,
- GL_RGB, GL_UNSIGNED_BYTE, tex3d);
- glPixelStorei(GL_UNPACK_ALIGNMENT, 4);
- glEnable(GL_TEXTURE_3D);
- }
-
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case ' ':
- z += 1.0/SIZE;
- break;
- case 27:
- exit(1);
- default:
- return;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- fprintf(stderr, "z: %f\n", z);
-
- glBegin(GL_QUADS);
- glTexCoord3f(1,0,z);
- glVertex3f( 0.9, -0.9, -30.0);
- glTexCoord3f(1,1,z);
- glVertex3f( 0.9, 0.9, -30.0);
- glTexCoord3f(0,1,z);
- glVertex3f(-0.9, 0.9, -30.0);
- glTexCoord3f(0,0,z);
- glVertex3f(-0.9, -0.9, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- glewInit();
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/quad-tex-alpha.c b/progs/trivial/quad-tex-alpha.c
deleted file mode 100644
index 9db6792fad..0000000000
--- a/progs/trivial/quad-tex-alpha.c
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-
-#define SIZE 16
- {
- GLubyte tex2d[SIZE][SIZE][4];
- GLint s, t;
-
- for (s = 0; s < SIZE; s++) {
- for (t = 0; t < SIZE; t++) {
- tex2d[t][s][0] = (s < SIZE/2) ? 0 : 255;
- tex2d[t][s][1] = (t < SIZE/2) ? 0 : 255;
- tex2d[t][s][2] = 0;
- tex2d[t][s][3] = ((t^s) & 3) * 63;
- }
- }
-
- glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_R, GL_REPEAT);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- glTexImage2D(GL_TEXTURE_2D, 0, 4, SIZE, SIZE, 0,
- GL_RGBA, GL_UNSIGNED_BYTE, tex2d);
- glPixelStorei(GL_UNPACK_ALIGNMENT, 4);
- glEnable(GL_TEXTURE_2D);
- }
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glDisable(GL_DEPTH_TEST);
- glDisable(GL_STENCIL_TEST);
- glEnable(GL_ALPHA_TEST);
- glAlphaFunc(GL_GEQUAL, 0.5);
-
- glBegin(GL_QUADS);
- glTexCoord2f(1,0);
- glVertex3f( 0.9, -0.9, -30.0);
- glTexCoord2f(1,1);
- glVertex3f( 0.9, 0.9, -30.0);
- glTexCoord2f(0,1);
- glVertex3f(-0.9, 0.9, -30.0);
- glTexCoord2f(0,0);
- glVertex3f(-0.9, -0.9, -30.0);
- glEnd();
-
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(100, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/quad-tex-pbo.c b/progs/trivial/quad-tex-pbo.c
deleted file mode 100644
index b7aa1db436..0000000000
--- a/progs/trivial/quad-tex-pbo.c
+++ /dev/null
@@ -1,184 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <GL/glew.h>
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-GLenum doubleBuffer;
-
-static GLuint DrawPBO;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-
-#define SIZE 16
- {
- GLubyte tex2d[SIZE][SIZE][4];
- GLint s, t;
-
- for (s = 0; s < SIZE; s++) {
- for (t = 0; t < SIZE; t++) {
- /* bgra:
- */
- tex2d[t][s][0] = 0x30;
- tex2d[t][s][1] = t*255/(SIZE-1);
- tex2d[t][s][2] = s*255/(SIZE-1);
- tex2d[t][s][3] = 0xff;
- }
- }
-
-
- /* put image into DrawPBO */
- glGenBuffersARB(1, &DrawPBO);
- glBindBufferARB(GL_PIXEL_PACK_BUFFER_EXT, DrawPBO);
- glBufferDataARB(GL_PIXEL_PACK_BUFFER_EXT,
- SIZE * SIZE * 4, tex2d, GL_STATIC_DRAW);
- glBindBufferARB(GL_PIXEL_PACK_BUFFER_EXT, 0);
-
-
- glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_R, GL_REPEAT);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- glBindBufferARB(GL_PIXEL_UNPACK_BUFFER_EXT, DrawPBO);
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, SIZE, SIZE, 0,
- GL_BGRA, GL_UNSIGNED_BYTE, NULL);
- glBindBufferARB(GL_PIXEL_UNPACK_BUFFER_EXT, 0);
- glPixelStorei(GL_UNPACK_ALIGNMENT, 4);
- glEnable(GL_TEXTURE_2D);
- }
-
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_QUADS);
- glTexCoord2f(1,0);
- glVertex3f( 0.9, -0.9, -30.0);
- glTexCoord2f(1,1);
- glVertex3f( 0.9, 0.9, -30.0);
- glTexCoord2f(0,1);
- glVertex3f(-0.9, 0.9, -30.0);
- glTexCoord2f(0,0);
- glVertex3f(-0.9, -0.9, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- glewInit();
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/quad-tex-sub.c b/progs/trivial/quad-tex-sub.c
deleted file mode 100644
index 5620dbc6f8..0000000000
--- a/progs/trivial/quad-tex-sub.c
+++ /dev/null
@@ -1,204 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-#define SIZE 16
-GLenum doubleBuffer;
-GLint line = 0;
-
-static void MakeImage()
-{
- GLubyte tex2d[SIZE][SIZE][3];
- GLint s, t;
-
- for (s = 0; s < SIZE; s++) {
- for (t = 0; t < SIZE; t++) {
- tex2d[t][s][0] = s*255/(SIZE-1);
- tex2d[t][s][1] = t*255/(SIZE-1);
- tex2d[t][s][2] = 0*255/(SIZE-1);
- }
- }
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB,
- SIZE, SIZE,
- 0,
- GL_RGB, GL_UNSIGNED_BYTE, tex2d);
- glPixelStorei(GL_UNPACK_ALIGNMENT, 4);
- glEnable(GL_TEXTURE_2D);
-}
-
-static void UpdateLine()
-{
- GLubyte tex[SIZE][3];
- GLubyte b = 0;
- GLint s, t;
-
- t = line % SIZE;
- if (line % (SIZE * 2) < SIZE)
- b = 255;
- else
- b = 0;
-
- for (s = 0; s < SIZE; s++) {
- tex[s][0] = s*255/(SIZE-1);
- tex[s][1] = t*255/(SIZE-1);
- tex[s][2] = b;
- }
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- glTexSubImage2D(GL_TEXTURE_2D, 0,
- 0, t,
- SIZE, 1,
- GL_RGB, GL_UNSIGNED_BYTE, tex);
- glPixelStorei(GL_UNPACK_ALIGNMENT, 4);
-}
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-
- glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
-
- MakeImage();
- UpdateLine();
- line++;
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- UpdateLine();
- line++;
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_QUADS);
- glTexCoord2f(1,0);
- glVertex3f( 0.9, -0.9, -30.0);
- glTexCoord2f(1,1);
- glVertex3f( 0.9, 0.9, -30.0);
- glTexCoord2f(0,1);
- glVertex3f(-0.9, 0.9, -30.0);
- glTexCoord2f(0,0);
- glVertex3f(-0.9, -0.9, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0);
- glutInitWindowSize(250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- glewInit();
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/quad-unfilled-clip.c b/progs/trivial/quad-unfilled-clip.c
deleted file mode 100644
index d2e8718775..0000000000
--- a/progs/trivial/quad-unfilled-clip.c
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
- glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
-
- glBegin(GL_QUADS);
- glColor3f(1,0,0);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(1,1,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(1,0,1);
- glVertex3f(-1.9, 0.9, -30.0);
- glColor3f(0,1,1);
- glVertex3f(-0.9, -0.9, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/quad-unfilled-stipple.c b/progs/trivial/quad-unfilled-stipple.c
deleted file mode 100644
index 8c1737e675..0000000000
--- a/progs/trivial/quad-unfilled-stipple.c
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
- glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
-
- glEnable(GL_LINE_STIPPLE);
- glLineStipple( 5, 0xfffe );
-
- glBegin(GL_QUADS);
- glColor3f(1,0,0);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(1,1,1);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(0,1,0);
- glVertex3f(-0.9, 0.9, -30.0);
- glColor3f(0,0,0);
- glVertex3f(-0.9, -0.9, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/quad-unfilled.c b/progs/trivial/quad-unfilled.c
deleted file mode 100644
index b756449d7a..0000000000
--- a/progs/trivial/quad-unfilled.c
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
- glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
-
- glBegin(GL_QUADS);
- glColor3f(1,0,0);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(1,1,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(1,0,1);
- glVertex3f(-0.9, 0.9, -30.0);
- glColor3f(0,1,1);
- glVertex3f(-0.9, -0.9, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/quad.c b/progs/trivial/quad.c
deleted file mode 100644
index 582de783d5..0000000000
--- a/progs/trivial/quad.c
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_QUADS);
- glColor3f(1,0,0);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(1,1,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(1,0,1);
- glVertex3f(-0.9, 0.9, -30.0);
- glColor3f(0,1,1);
- glVertex3f(-0.9, -0.9, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/quads.c b/progs/trivial/quads.c
deleted file mode 100644
index de7854a255..0000000000
--- a/progs/trivial/quads.c
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_QUADS);
- glColor3f(1,0,0);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(1,1,0);
- glVertex3f( 0.9, 0.9, -30.0);
-
- glColor3f(1,1,1);
- glVertex3f( 0.1, 0.9, -30.0);
- glColor3f(1,0,1);
- glVertex3f( 0.1, -0.9, -30.0);
-
- if (0) {
- glEnd();
- glFlush();
- glBegin(GL_QUADS);
- }
-
- glColor3f(0,1,0);
- glVertex3f(-0.1, -0.9, -30.0);
- glColor3f(1,0,0);
- glVertex3f(-0.1, 0.9, -30.0);
-
-
- glColor3f(1,0,1);
- glVertex3f(-0.9, 0.9, -30.0);
- glColor3f(0,1,1);
- glVertex3f(-0.9, -0.9, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/quadstrip-clip.c b/progs/trivial/quadstrip-clip.c
deleted file mode 100644
index 4cea81a45d..0000000000
--- a/progs/trivial/quadstrip-clip.c
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_QUAD_STRIP);
- glColor3f(1,1,1);
- glVertex3f( 1.9, -0.9, -30.0);
- glVertex3f( 0.9, 0.9, -30.0);
-
- glColor3f(1,0,0);
- glVertex3f( 0.1, -0.8, -30.0);
- glVertex3f( 0.1, 0.8, -30.0);
-
- glColor3f(0,1,0);
- glVertex3f(-0.1, -0.9, -30.0);
- glVertex3f(-0.1, 0.9, -30.0);
-
- glColor3f(0,0,0);
- glVertex3f(-0.9, -0.8, -30.0);
- glVertex3f(-0.9, 0.8, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/quadstrip-cont.c b/progs/trivial/quadstrip-cont.c
deleted file mode 100644
index 44412698dc..0000000000
--- a/progs/trivial/quadstrip-cont.c
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_QUAD_STRIP);
- glColor3f(1,0,0);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(1,1,0);
- glVertex3f( 0.9, 0.9, -30.0);
-
- glColor3f(1,0,0);
- glVertex3f( 0.1, -0.8, -30.0);
- glColor3f(1,1,0);
- glVertex3f( 0.1, 0.8, -30.0);
-
- glColor3f(0,1,1);
- glVertex3f(-0.1, -0.9, -30.0);
- glColor3f(1,0,1);
- glVertex3f(-0.1, 0.9, -30.0);
-
- glColor3f(0,1,1);
- glVertex3f(-0.9, -0.8, -30.0);
- glColor3f(1,0,1);
- glVertex3f(-0.9, 0.8, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static void
-idle(void)
-{
- glutPostRedisplay();
-}
-
-
-static void
-visible(int vis)
-{
- if (vis == GLUT_VISIBLE)
- glutIdleFunc(idle);
- else
- glutIdleFunc(NULL);
-}
-
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutVisibilityFunc(visible);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/quadstrip-flat.c b/progs/trivial/quadstrip-flat.c
deleted file mode 100644
index 0e0b3b49fa..0000000000
--- a/progs/trivial/quadstrip-flat.c
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
- glShadeModel(GL_FLAT);
-
- glBegin(GL_QUAD_STRIP);
- glColor3f(1,0,0);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(1,1,0);
- glVertex3f( 0.9, 0.9, -30.0);
-
- glColor3f(1,0,0);
- glVertex3f( 0.1, -0.8, -30.0);
- glColor3f(1,1,0);
- glVertex3f( 0.1, 0.8, -30.0);
-
- glColor3f(0,1,1);
- glVertex3f(-0.1, -0.9, -30.0);
- glColor3f(1,0,1);
- glVertex3f(-0.1, 0.9, -30.0);
-
- glColor3f(0,1,1);
- glVertex3f(-0.9, -0.8, -30.0);
- glColor3f(1,0,1);
- glVertex3f(-0.9, 0.8, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/quadstrip.c b/progs/trivial/quadstrip.c
deleted file mode 100644
index 1be815fb8c..0000000000
--- a/progs/trivial/quadstrip.c
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_QUAD_STRIP);
- glColor3f(1,0,0);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(1,1,0);
- glVertex3f( 0.9, 0.9, -30.0);
-
- glColor3f(1,0,0);
- glVertex3f( 0.1, -0.8, -30.0);
- glColor3f(1,1,0);
- glVertex3f( 0.1, 0.8, -30.0);
-
- glColor3f(0,1,1);
- glVertex3f(-0.1, -0.9, -30.0);
- glColor3f(1,0,1);
- glVertex3f(-0.1, 0.9, -30.0);
-
- glColor3f(0,1,1);
- glVertex3f(-0.9, -0.8, -30.0);
- glColor3f(1,0,1);
- glVertex3f(-0.9, 0.8, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/readpixels.c b/progs/trivial/readpixels.c
deleted file mode 100644
index b063f17956..0000000000
--- a/progs/trivial/readpixels.c
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * glRead/DrawPixels test
- */
-
-
-#include <GL/glew.h>
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-static int Width = 250, Height = 250;
-static GLfloat Zoom = 1.0;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
- glClearColor(0.3, 0.1, 0.3, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
- Width = width / 2;
- Height = height;
- /* draw on left half (we'll read that area) */
- glViewport(0, 0, Width, height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
- switch (key) {
- case 27:
- exit(0);
- default:
- break;
- }
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- GLfloat *image = (GLfloat *) malloc(Width * Height * 4 * sizeof(GLfloat));
-
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_TRIANGLES);
- glColor3f(.8,0,0);
- glVertex3f(-0.9, -0.9, -30.0);
- glColor3f(0,.9,0);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(0,0,.7);
- glVertex3f( 0.0, 0.9, -30.0);
- glEnd();
-
- glBegin(GL_QUADS);
- glColor3f(1, 1, 1);
- glVertex2f(-1.0, -1.0);
- glVertex2f(-0.9, -1.0);
- glVertex2f(-0.9, -0.9);
- glVertex2f(-1.0, -0.9);
- glEnd();
-
- glReadPixels(0, 0, Width, Height, GL_RGBA, GL_FLOAT, image);
- printf("Pixel(0,0) = %f, %f, %f, %f\n",
- image[0], image[1], image[2], image[3]);
- /* draw to right half of window */
- glWindowPos2iARB(Width, 0);
- glPixelZoom(Zoom, Zoom);
- glDrawPixels(Width, Height, GL_RGBA, GL_FLOAT, image);
- free(image);
-
- glutSwapBuffers();
-}
-
-int main(int argc, char **argv)
-{
- glutInit(&argc, argv);
- glutInitWindowPosition(0, 0);
- glutInitWindowSize(Width*2, Height);
- glutInitDisplayMode(GLUT_RGB | GLUT_ALPHA | GLUT_DOUBLE);
- if (glutCreateWindow(argv[0]) == GL_FALSE) {
- exit(1);
- }
-
- if (argc > 1)
- Zoom = atof(argv[1]);
-
- glewInit();
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-alpha-tex.c b/progs/trivial/tri-alpha-tex.c
deleted file mode 100644
index 853d564ae7..0000000000
--- a/progs/trivial/tri-alpha-tex.c
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-
-#define SIZE 16
- {
- GLubyte tex2d[SIZE][SIZE][4];
- GLint s, t;
-
- for (s = 0; s < SIZE; s++) {
- for (t = 0; t < SIZE; t++) {
- tex2d[t][s][0] = (s < SIZE/2) ? 0 : 255;
- tex2d[t][s][1] = (t < SIZE/2) ? 0 : 255;
- tex2d[t][s][2] = 0;
- tex2d[t][s][3] = ((t^s) & 3) * 63;
- }
- }
-
- glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_R, GL_REPEAT);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- glTexImage2D(GL_TEXTURE_2D, 0, 4, SIZE, SIZE, 0,
- GL_RGBA, GL_UNSIGNED_BYTE, tex2d);
- glPixelStorei(GL_UNPACK_ALIGNMENT, 4);
- glEnable(GL_TEXTURE_2D);
- }
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glDisable(GL_DEPTH_TEST);
- glDisable(GL_STENCIL_TEST);
- glEnable(GL_ALPHA_TEST);
- glAlphaFunc(GL_GEQUAL, 0.5);
-
- glBegin(GL_QUADS);
- glTexCoord2f(1,0);
- glVertex3f( 0.9, -0.9, -30.0);
- glTexCoord2f(1,1);
- glVertex3f( 0.9, 0.9, -30.0);
- glTexCoord2f(0,1);
- glVertex3f(-0.9, 0.9, -30.0);
- glTexCoord2f(0,0);
- glVertex3f(-0.9, -0.9, -30.0);
- glEnd();
-#if 0
- glBegin(GL_TRIANGLES);
- glColor4f(0,0,.7,1);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor4f(.8,0,0,.5);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor4f(0,.9,0,0);
- glVertex3f(-0.9, 0.0, -30.0);
- glEnd();
-#endif
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(100, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-alpha.c b/progs/trivial/tri-alpha.c
deleted file mode 100644
index bd1c88ecf8..0000000000
--- a/progs/trivial/tri-alpha.c
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glDisable(GL_DEPTH_TEST);
- glDisable(GL_STENCIL_TEST);
- glEnable(GL_ALPHA_TEST);
- glAlphaFunc(GL_GEQUAL, 0.5);
-
- glBegin(GL_TRIANGLES);
- glColor4f(0,0,.7,1);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor4f(.8,0,0,.5);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor4f(0,.9,0,0);
- glVertex3f(-0.9, 0.0, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(100, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-array-interleaved.c b/progs/trivial/tri-array-interleaved.c
deleted file mode 100644
index 95de2056cf..0000000000
--- a/progs/trivial/tri-array-interleaved.c
+++ /dev/null
@@ -1,120 +0,0 @@
-/* Test rebasing */
-
-#include <assert.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-struct {
- GLubyte color[4];
- GLfloat vert[3];
-} verts[] = {
-
- { { 0x00, 0x00, 0xff, 0x00 },
- { 0.9, -0.9, 0.0 } },
-
- { { 0x00, 0xff, 0x00, 0x00 },
- { 0.9, 0.9, 0.0 } },
-
- { { 0xff, 0x00, 0x00, 0x00 },
- { -0.9, 0.9, 0.0 } },
-
- { { 0xff, 0xff, 0xff, 0x00 },
- { -0.9, -0.9, 0.0 } },
-};
-
-GLuint indices[] = { 1, 2, 3 };
-
-static void Init( void )
-{
- GLint errno;
- GLuint prognum;
-
- static const char *prog1 =
- "!!ARBvp1.0\n"
- "MOV result.color, vertex.color;\n"
- "MOV result.position, vertex.position;\n"
- "END\n";
-
- glGenProgramsARB(1, &prognum);
- glBindProgramARB(GL_VERTEX_PROGRAM_ARB, prognum);
- glProgramStringARB(GL_VERTEX_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
- strlen(prog1), (const GLubyte *) prog1);
-
- assert(glIsProgramARB(prognum));
- errno = glGetError();
- printf("glGetError = %d\n", errno);
- if (errno != GL_NO_ERROR)
- {
- GLint errorpos;
-
- glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &errorpos);
- printf("errorpos: %d\n", errorpos);
- printf("%s\n", (char *)glGetString(GL_PROGRAM_ERROR_STRING_ARB));
- }
-
- glInterleavedArrays( GL_C4UB_V3F, sizeof(verts[0]), verts );
-}
-
-
-
-static void Display( void )
-{
- glClearColor(0.3, 0.3, 0.3, 1);
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
-
- glEnable(GL_VERTEX_PROGRAM_NV);
-
- /* Should have min_index == 1, maybe force a rebase:
- */
- glDrawElements( GL_TRIANGLES, 3, GL_UNSIGNED_INT, indices );
-
- glFlush();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- /*glTranslatef( 0.0, 0.0, -15.0 );*/
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 250, 250 );
- glutInitDisplayMode( GLUT_RGB | GLUT_SINGLE | GLUT_DEPTH );
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-blend-color.c b/progs/trivial/tri-blend-color.c
deleted file mode 100644
index 629b35c4ab..0000000000
--- a/progs/trivial/tri-blend-color.c
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClearColor(0.0, 0.0, 1.0, 0.0);
- glClear(GL_COLOR_BUFFER_BIT);
-
- glEnable(GL_BLEND);
- glBlendEquation(GL_FUNC_ADD);
- glBlendColor(1.0, 0, 0, 0);
- glBlendFunc(GL_CONSTANT_COLOR, GL_SRC_COLOR);
-
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(0,.9,0);
- glVertex3f(-0.9, 0.0, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(100, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- glewInit();
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-blend-max.c b/progs/trivial/tri-blend-max.c
deleted file mode 100644
index b173dab8ec..0000000000
--- a/progs/trivial/tri-blend-max.c
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * Copyright (c) 1993-1997, Silicon Graphics, Inc.
- * ALL RIGHTS RESERVED
- * Permission to use, copy, modify, and distribute this software for
- * any purpose and without fee is hereby granted, provided that the above
- * copyright notice appear in all copies and that both the copyright notice
- * and this permission notice appear in supporting documentation, and that
- * the name of Silicon Graphics, Inc. not be used in advertising
- * or publicity pertaining to distribution of the software without specific,
- * written prior permission.
- *
- * THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
- * AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
- * INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
- * FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
- * GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
- * SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
- * KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
- * LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
- * THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN
- * ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
- * POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * US Government Users Restricted Rights
- * Use, duplication, or disclosure by the Government is subject to
- * restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
- * (c)(1)(ii) of the Rights in Technical Data and Computer Software
- * clause at DFARS 252.227-7013 and/or in similar or successor
- * clauses in the FAR or the DOD or NASA FAR Supplement.
- * Unpublished-- rights reserved under the copyright laws of the
- * United States. Contractor/manufacturer is Silicon Graphics,
- * Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311.
- *
- * OpenGL(R) is a registered trademark of Silicon Graphics, Inc.
- */
-
-/*
- * alpha.c
- * This program draws several overlapping filled polygons
- * to demonstrate the effect order has on alpha blending results.
- * Use the 't' key to toggle the order of drawing polygons.
- */
-#include <stdlib.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-static int leftFirst = GL_TRUE;
-
-/* Initialize alpha blending function.
- */
-static void init(void)
-{
- glBlendEquation (GL_MAX);
- glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- glShadeModel (GL_FLAT);
- glClearColor (1.0, 0.0, 0.0, 0.0);
-}
-
-static void drawLeftTriangle(void)
-{
- /* draw yellow triangle on LHS of screen */
-
- glBegin (GL_TRIANGLES);
- glColor4f(1.0, 1.0, 0.0, 0.75);
- glVertex3f(0.1, 0.9, 0.0);
- glVertex3f(0.1, 0.1, 0.0);
- glVertex3f(0.7, 0.5, 0.0);
- glEnd();
-}
-
-static void drawRightTriangle(void)
-{
- /* draw cyan triangle on RHS of screen */
-
- glEnable (GL_BLEND);
- glBegin (GL_TRIANGLES);
- glColor4f(0.0, 1.0, 1.0, 0.75);
- glVertex3f(0.9, 0.9, 0.0);
- glVertex3f(0.3, 0.5, 0.0);
- glVertex3f(0.9, 0.1, 0.0);
- glEnd();
- glDisable (GL_BLEND);
-}
-
-static void display(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- if (leftFirst) {
- drawLeftTriangle();
- drawRightTriangle();
- }
- else {
- drawRightTriangle();
- drawLeftTriangle();
- }
-
- glFlush();
-}
-
-static void reshape(int w, int h)
-{
- glViewport(0, 0, (GLsizei) w, (GLsizei) h);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- if (w <= h)
- gluOrtho2D (0.0, 1.0, 0.0, 1.0*(GLfloat)h/(GLfloat)w);
- else
- gluOrtho2D (0.0, 1.0*(GLfloat)w/(GLfloat)h, 0.0, 1.0);
-}
-
-/* ARGSUSED1 */
-static void keyboard(unsigned char key, int x, int y)
-{
- switch (key) {
- case 't':
- case 'T':
- leftFirst = !leftFirst;
- glutPostRedisplay();
- break;
- case 27: /* Escape key */
- exit(0);
- break;
- default:
- break;
- }
-}
-
-/* Main Loop
- * Open window with initial window size, title bar,
- * RGBA display mode, and handle input events.
- */
-int main(int argc, char** argv)
-{
- glutInit(&argc, argv);
- glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
- glutInitWindowSize (200, 200);
- glutCreateWindow (argv[0]);
- glewInit();
- init();
- glutReshapeFunc (reshape);
- glutKeyboardFunc (keyboard);
- glutDisplayFunc (display);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-blend-min.c b/progs/trivial/tri-blend-min.c
deleted file mode 100644
index 629139acae..0000000000
--- a/progs/trivial/tri-blend-min.c
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * Copyright (c) 1993-1997, Silicon Graphics, Inc.
- * ALL RIGHTS RESERVED
- * Permission to use, copy, modify, and distribute this software for
- * any purpose and without fee is hereby granted, provided that the above
- * copyright notice appear in all copies and that both the copyright notice
- * and this permission notice appear in supporting documentation, and that
- * the name of Silicon Graphics, Inc. not be used in advertising
- * or publicity pertaining to distribution of the software without specific,
- * written prior permission.
- *
- * THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
- * AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
- * INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
- * FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
- * GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
- * SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
- * KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
- * LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
- * THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN
- * ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
- * POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * US Government Users Restricted Rights
- * Use, duplication, or disclosure by the Government is subject to
- * restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
- * (c)(1)(ii) of the Rights in Technical Data and Computer Software
- * clause at DFARS 252.227-7013 and/or in similar or successor
- * clauses in the FAR or the DOD or NASA FAR Supplement.
- * Unpublished-- rights reserved under the copyright laws of the
- * United States. Contractor/manufacturer is Silicon Graphics,
- * Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311.
- *
- * OpenGL(R) is a registered trademark of Silicon Graphics, Inc.
- */
-
-/*
- * alpha.c
- * This program draws several overlapping filled polygons
- * to demonstrate the effect order has on alpha blending results.
- * Use the 't' key to toggle the order of drawing polygons.
- */
-#include <stdlib.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-static int leftFirst = GL_TRUE;
-
-/* Initialize alpha blending function.
- */
-static void init(void)
-{
- glBlendEquation (GL_MIN);
- glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- glShadeModel (GL_FLAT);
- glClearColor (1.0, 0.0, 0.0, 0.0);
-}
-
-static void drawLeftTriangle(void)
-{
- /* draw yellow triangle on LHS of screen */
-
- glBegin (GL_TRIANGLES);
- glColor4f(1.0, 1.0, 0.0, 0.75);
- glVertex3f(0.1, 0.9, 0.0);
- glVertex3f(0.1, 0.1, 0.0);
- glVertex3f(0.7, 0.5, 0.0);
- glEnd();
-}
-
-static void drawRightTriangle(void)
-{
- /* draw cyan triangle on RHS of screen */
-
- glEnable (GL_BLEND);
- glBegin (GL_TRIANGLES);
- glColor4f(0.0, 1.0, 1.0, 0.75);
- glVertex3f(0.9, 0.9, 0.0);
- glVertex3f(0.3, 0.5, 0.0);
- glVertex3f(0.9, 0.1, 0.0);
- glEnd();
- glDisable (GL_BLEND);
-}
-
-static void display(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- if (leftFirst) {
- drawLeftTriangle();
- drawRightTriangle();
- }
- else {
- drawRightTriangle();
- drawLeftTriangle();
- }
-
- glFlush();
-}
-
-static void reshape(int w, int h)
-{
- glViewport(0, 0, (GLsizei) w, (GLsizei) h);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- if (w <= h)
- gluOrtho2D (0.0, 1.0, 0.0, 1.0*(GLfloat)h/(GLfloat)w);
- else
- gluOrtho2D (0.0, 1.0*(GLfloat)w/(GLfloat)h, 0.0, 1.0);
-}
-
-/* ARGSUSED1 */
-static void keyboard(unsigned char key, int x, int y)
-{
- switch (key) {
- case 't':
- case 'T':
- leftFirst = !leftFirst;
- glutPostRedisplay();
- break;
- case 27: /* Escape key */
- exit(0);
- break;
- default:
- break;
- }
-}
-
-/* Main Loop
- * Open window with initial window size, title bar,
- * RGBA display mode, and handle input events.
- */
-int main(int argc, char** argv)
-{
- glutInit(&argc, argv);
- glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
- glutInitWindowSize (200, 200);
- glutCreateWindow (argv[0]);
- glewInit();
- init();
- glutReshapeFunc (reshape);
- glutKeyboardFunc (keyboard);
- glutDisplayFunc (display);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-blend-revsub.c b/progs/trivial/tri-blend-revsub.c
deleted file mode 100644
index ef1e92c85d..0000000000
--- a/progs/trivial/tri-blend-revsub.c
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * Copyright (c) 1993-1997, Silicon Graphics, Inc.
- * ALL RIGHTS RESERVED
- * Permission to use, copy, modify, and distribute this software for
- * any purpose and without fee is hereby granted, provided that the above
- * copyright notice appear in all copies and that both the copyright notice
- * and this permission notice appear in supporting documentation, and that
- * the name of Silicon Graphics, Inc. not be used in advertising
- * or publicity pertaining to distribution of the software without specific,
- * written prior permission.
- *
- * THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
- * AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
- * INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
- * FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
- * GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
- * SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
- * KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
- * LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
- * THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN
- * ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
- * POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * US Government Users Restricted Rights
- * Use, duplication, or disclosure by the Government is subject to
- * restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
- * (c)(1)(ii) of the Rights in Technical Data and Computer Software
- * clause at DFARS 252.227-7013 and/or in similar or successor
- * clauses in the FAR or the DOD or NASA FAR Supplement.
- * Unpublished-- rights reserved under the copyright laws of the
- * United States. Contractor/manufacturer is Silicon Graphics,
- * Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311.
- *
- * OpenGL(R) is a registered trademark of Silicon Graphics, Inc.
- */
-
-/*
- * alpha.c
- * This program draws several overlapping filled polygons
- * to demonstrate the effect order has on alpha blending results.
- * Use the 't' key to toggle the order of drawing polygons.
- */
-#include <stdlib.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-static int leftFirst = GL_TRUE;
-
-/* Initialize alpha blending function.
- */
-static void init(void)
-{
- glBlendEquation (GL_FUNC_REVERSE_SUBTRACT);
- glBlendFunc (GL_ONE_MINUS_SRC_ALPHA, GL_SRC_ALPHA);
- glShadeModel (GL_FLAT);
- glClearColor (1.0, 0.0, 0.0, 0.0);
-}
-
-static void drawLeftTriangle(void)
-{
- /* draw yellow triangle on LHS of screen */
-
- glBegin (GL_TRIANGLES);
- glColor4f(1.0, 1.0, 0.0, 0.75);
- glVertex3f(0.1, 0.9, 0.0);
- glVertex3f(0.1, 0.1, 0.0);
- glVertex3f(0.7, 0.5, 0.0);
- glEnd();
-}
-
-static void drawRightTriangle(void)
-{
- /* draw cyan triangle on RHS of screen */
-
- glEnable (GL_BLEND);
- glBegin (GL_TRIANGLES);
- glColor4f(0.0, 1.0, 1.0, 0.75);
- glVertex3f(0.9, 0.9, 0.0);
- glVertex3f(0.3, 0.5, 0.0);
- glVertex3f(0.9, 0.1, 0.0);
- glEnd();
- glDisable (GL_BLEND);
-}
-
-static void display(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- if (leftFirst) {
- drawLeftTriangle();
- drawRightTriangle();
- }
- else {
- drawRightTriangle();
- drawLeftTriangle();
- }
-
- glFlush();
-}
-
-static void reshape(int w, int h)
-{
- glViewport(0, 0, (GLsizei) w, (GLsizei) h);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- if (w <= h)
- gluOrtho2D (0.0, 1.0, 0.0, 1.0*(GLfloat)h/(GLfloat)w);
- else
- gluOrtho2D (0.0, 1.0*(GLfloat)w/(GLfloat)h, 0.0, 1.0);
-}
-
-/* ARGSUSED1 */
-static void keyboard(unsigned char key, int x, int y)
-{
- switch (key) {
- case 't':
- case 'T':
- leftFirst = !leftFirst;
- glutPostRedisplay();
- break;
- case 27: /* Escape key */
- exit(0);
- break;
- default:
- break;
- }
-}
-
-/* Main Loop
- * Open window with initial window size, title bar,
- * RGBA display mode, and handle input events.
- */
-int main(int argc, char** argv)
-{
- glutInit(&argc, argv);
- glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
- glutInitWindowSize (200, 200);
- glutCreateWindow (argv[0]);
- glewInit();
- init();
- glutReshapeFunc (reshape);
- glutKeyboardFunc (keyboard);
- glutDisplayFunc (display);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-blend-sub.c b/progs/trivial/tri-blend-sub.c
deleted file mode 100644
index 3c560ae6ef..0000000000
--- a/progs/trivial/tri-blend-sub.c
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * Copyright (c) 1993-1997, Silicon Graphics, Inc.
- * ALL RIGHTS RESERVED
- * Permission to use, copy, modify, and distribute this software for
- * any purpose and without fee is hereby granted, provided that the above
- * copyright notice appear in all copies and that both the copyright notice
- * and this permission notice appear in supporting documentation, and that
- * the name of Silicon Graphics, Inc. not be used in advertising
- * or publicity pertaining to distribution of the software without specific,
- * written prior permission.
- *
- * THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
- * AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
- * INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
- * FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
- * GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
- * SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
- * KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
- * LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
- * THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN
- * ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
- * POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * US Government Users Restricted Rights
- * Use, duplication, or disclosure by the Government is subject to
- * restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
- * (c)(1)(ii) of the Rights in Technical Data and Computer Software
- * clause at DFARS 252.227-7013 and/or in similar or successor
- * clauses in the FAR or the DOD or NASA FAR Supplement.
- * Unpublished-- rights reserved under the copyright laws of the
- * United States. Contractor/manufacturer is Silicon Graphics,
- * Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311.
- *
- * OpenGL(R) is a registered trademark of Silicon Graphics, Inc.
- */
-
-/*
- * alpha.c
- * This program draws several overlapping filled polygons
- * to demonstrate the effect order has on alpha blending results.
- * Use the 't' key to toggle the order of drawing polygons.
- */
-#include <stdlib.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-static int leftFirst = GL_TRUE;
-
-/* Initialize alpha blending function.
- */
-static void init(void)
-{
- glBlendEquation (GL_FUNC_SUBTRACT);
- glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- glShadeModel (GL_FLAT);
- glClearColor (1.0, 0.0, 0.0, 0.0);
-}
-
-static void drawLeftTriangle(void)
-{
- /* draw yellow triangle on LHS of screen */
-
- glBegin (GL_TRIANGLES);
- glColor4f(1.0, 1.0, 0.0, 0.75);
- glVertex3f(0.1, 0.9, 0.0);
- glVertex3f(0.1, 0.1, 0.0);
- glVertex3f(0.7, 0.5, 0.0);
- glEnd();
-}
-
-static void drawRightTriangle(void)
-{
- /* draw cyan triangle on RHS of screen */
-
- glEnable (GL_BLEND);
- glBegin (GL_TRIANGLES);
- glColor4f(0.0, 1.0, 1.0, 0.75);
- glVertex3f(0.9, 0.9, 0.0);
- glVertex3f(0.3, 0.5, 0.0);
- glVertex3f(0.9, 0.1, 0.0);
- glEnd();
- glDisable (GL_BLEND);
-}
-
-static void display(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- if (leftFirst) {
- drawLeftTriangle();
- drawRightTriangle();
- }
- else {
- drawRightTriangle();
- drawLeftTriangle();
- }
-
- glFlush();
-}
-
-static void reshape(int w, int h)
-{
- glViewport(0, 0, (GLsizei) w, (GLsizei) h);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- if (w <= h)
- gluOrtho2D (0.0, 1.0, 0.0, 1.0*(GLfloat)h/(GLfloat)w);
- else
- gluOrtho2D (0.0, 1.0*(GLfloat)w/(GLfloat)h, 0.0, 1.0);
-}
-
-/* ARGSUSED1 */
-static void keyboard(unsigned char key, int x, int y)
-{
- switch (key) {
- case 't':
- case 'T':
- leftFirst = !leftFirst;
- glutPostRedisplay();
- break;
- case 27: /* Escape key */
- exit(0);
- break;
- default:
- break;
- }
-}
-
-/* Main Loop
- * Open window with initial window size, title bar,
- * RGBA display mode, and handle input events.
- */
-int main(int argc, char** argv)
-{
- glutInit(&argc, argv);
- glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
- glutInitWindowSize (200, 200);
- glutCreateWindow (argv[0]);
- glewInit();
- init();
- glutReshapeFunc (reshape);
- glutKeyboardFunc (keyboard);
- glutDisplayFunc (display);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-blend.c b/progs/trivial/tri-blend.c
deleted file mode 100644
index f41be89b09..0000000000
--- a/progs/trivial/tri-blend.c
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * Copyright (c) 1993-1997, Silicon Graphics, Inc.
- * ALL RIGHTS RESERVED
- * Permission to use, copy, modify, and distribute this software for
- * any purpose and without fee is hereby granted, provided that the above
- * copyright notice appear in all copies and that both the copyright notice
- * and this permission notice appear in supporting documentation, and that
- * the name of Silicon Graphics, Inc. not be used in advertising
- * or publicity pertaining to distribution of the software without specific,
- * written prior permission.
- *
- * THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
- * AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
- * INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
- * FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
- * GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
- * SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
- * KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
- * LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
- * THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN
- * ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
- * POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * US Government Users Restricted Rights
- * Use, duplication, or disclosure by the Government is subject to
- * restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
- * (c)(1)(ii) of the Rights in Technical Data and Computer Software
- * clause at DFARS 252.227-7013 and/or in similar or successor
- * clauses in the FAR or the DOD or NASA FAR Supplement.
- * Unpublished-- rights reserved under the copyright laws of the
- * United States. Contractor/manufacturer is Silicon Graphics,
- * Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311.
- *
- * OpenGL(R) is a registered trademark of Silicon Graphics, Inc.
- */
-
-/*
- * alpha.c
- * This program draws several overlapping filled polygons
- * to demonstrate the effect order has on alpha blending results.
- * Use the 't' key to toggle the order of drawing polygons.
- */
-#include <GL/glut.h>
-#include <stdlib.h>
-
-static int leftFirst = GL_TRUE;
-
-/* Initialize alpha blending function.
- */
-static void init(void)
-{
- glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- glShadeModel (GL_FLAT);
- glClearColor (1.0, 0.0, 0.0, 0.0);
-}
-
-static void drawLeftTriangle(void)
-{
- /* draw yellow triangle on LHS of screen */
-
- glBegin (GL_TRIANGLES);
- glColor4f(1.0, 1.0, 0.0, 0.75);
- glVertex3f(0.1, 0.9, 0.0);
- glVertex3f(0.1, 0.1, 0.0);
- glVertex3f(0.7, 0.5, 0.0);
- glEnd();
-}
-
-static void drawRightTriangle(void)
-{
- /* draw cyan triangle on RHS of screen */
-
- glEnable (GL_BLEND);
- glBegin (GL_TRIANGLES);
- glColor4f(0.0, 1.0, 1.0, 0.75);
- glVertex3f(0.9, 0.9, 0.0);
- glVertex3f(0.3, 0.5, 0.0);
- glVertex3f(0.9, 0.1, 0.0);
- glEnd();
- glDisable (GL_BLEND);
-}
-
-static void display(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- if (leftFirst) {
- drawLeftTriangle();
- drawRightTriangle();
- }
- else {
- drawRightTriangle();
- drawLeftTriangle();
- }
-
- glFlush();
-}
-
-static void reshape(int w, int h)
-{
- glViewport(0, 0, (GLsizei) w, (GLsizei) h);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- if (w <= h)
- gluOrtho2D (0.0, 1.0, 0.0, 1.0*(GLfloat)h/(GLfloat)w);
- else
- gluOrtho2D (0.0, 1.0*(GLfloat)w/(GLfloat)h, 0.0, 1.0);
-}
-
-/* ARGSUSED1 */
-static void keyboard(unsigned char key, int x, int y)
-{
- switch (key) {
- case 't':
- case 'T':
- leftFirst = !leftFirst;
- glutPostRedisplay();
- break;
- case 27: /* Escape key */
- exit(0);
- break;
- default:
- break;
- }
-}
-
-/* Main Loop
- * Open window with initial window size, title bar,
- * RGBA display mode, and handle input events.
- */
-int main(int argc, char** argv)
-{
- glutInit(&argc, argv);
- glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB | GLUT_ALPHA);
- glutInitWindowSize (200, 200);
- glutCreateWindow (argv[0]);
- init();
- glutReshapeFunc (reshape);
- glutKeyboardFunc (keyboard);
- glutDisplayFunc (display);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-clear.c b/progs/trivial/tri-clear.c
deleted file mode 100644
index e52ed81bf4..0000000000
--- a/progs/trivial/tri-clear.c
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-GLint Width = 250, Height = 250;
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(0,.9,0);
- glVertex3f(-0.9, 0.0, -30.0);
- glEnd();
-
- glEnable(GL_SCISSOR_TEST);
- glClearColor(1, 0, 1, 0);
- glScissor(Width / 2, Height / 2, Width - Width / 2, Height - Height / 2);
- glClear(GL_COLOR_BUFFER_BIT);
- glDisable(GL_SCISSOR_TEST);
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(100, 0); glutInitWindowSize( Width, Height);
-
- type = GLUT_RGB;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-clip.c b/progs/trivial/tri-clip.c
deleted file mode 100644
index 3e3879c985..0000000000
--- a/progs/trivial/tri-clip.c
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-static GLenum doubleBuffer;
-static GLfloat Xpos = 0, Ypos = 0;
-
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
- glViewport(0, 0, (GLint)width, (GLint)height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
- glutPostRedisplay();
-}
-
-static void
-SpecialKey(int key, int x, int y)
-{
- const GLfloat step = 0.25;
- (void) x;
- (void) y;
- switch (key) {
- case GLUT_KEY_UP:
- Ypos += step;
- break;
- case GLUT_KEY_DOWN:
- Ypos -= step;
- break;
- case GLUT_KEY_LEFT:
- Xpos -= step;
- break;
- case GLUT_KEY_RIGHT:
- Xpos += step;
- break;
- }
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glPushMatrix();
- glTranslatef(Xpos, Ypos, 0);
-
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(0,.9,0);
- glVertex3f(-1.9, 0.0, -30.0);
- glEnd();
-
- glPopMatrix();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutSpecialFunc(SpecialKey);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-cull-both.c b/progs/trivial/tri-cull-both.c
deleted file mode 100644
index 809599d4a6..0000000000
--- a/progs/trivial/tri-cull-both.c
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
- glCullFace(GL_FRONT_AND_BACK);
- glEnable(GL_CULL_FACE);
-
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
-
-
- glBegin(GL_TRIANGLES);
- glColor3f(.8,0,0);
- glVertex3f( 0.93, 0.9, -30.0);
- glColor3f(0,.9,0);
- glVertex3f(-0.93, 0.0, -30.0);
- glColor3f(0,0,.7);
- glVertex3f( 0.93, -0.8, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-cull.c b/progs/trivial/tri-cull.c
deleted file mode 100644
index c71ad9a031..0000000000
--- a/progs/trivial/tri-cull.c
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-static GLenum doubleBuffer;
-static GLint cullmode = 0;
-static GLenum front = GL_CCW; /* GL default */
-
-static void cull(void)
-{
- cullmode = (cullmode + 1) % 4;
- if (cullmode == 0) {
- glCullFace(GL_FRONT);
- glEnable(GL_CULL_FACE);
- printf("cull GL_FRONT\n");
- }
- else if (cullmode == 1) {
- glCullFace(GL_BACK);
- glEnable(GL_CULL_FACE);
- printf("cull GL_BACK\n");
- }
- else if (cullmode == 2) {
- glCullFace(GL_FRONT_AND_BACK);
- glEnable(GL_CULL_FACE);
- printf("cull GL_FRONT_AND_BACK\n");
- }
- else {
- glDisable(GL_CULL_FACE);
- printf("cull none\n");
- }
-}
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
- glClearColor(0.0, 0.0, 1.0, 0.0);
- cull();
-}
-
-static void Reshape(int width, int height)
-{
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
- switch (key) {
- case 27:
- exit(1);
- case 'c':
- cull();
- break;
- case 'f':
- front = ((front == GL_CCW) ? GL_CW : GL_CCW);
- glFrontFace(front);
- printf("front face = %s\n", front == GL_CCW ? "GL_CCW" : "GL_CW");
- break;
- default:
- return;
- }
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_TRIANGLES);
- /* CCW / front-facing */
- glColor3f(0,0,.7);
- glVertex3f(-0.1, -0.9, -30.0);
- glColor3f(.8,0,0);
- glVertex3f(-0.1, 0.9, -30.0);
- glColor3f(0,.9,0);
- glVertex3f(-0.9, 0.0, -30.0);
-
- /* CW / back-facing */
- glColor3f(0,0,.7);
- glVertex3f( 0.1, -0.9, -30.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.1, 0.9, -30.0);
- glColor3f(0,.9,0);
- glVertex3f( 0.9, 0.0, -30.0);
-
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-dlist.c b/progs/trivial/tri-dlist.c
deleted file mode 100644
index 62d0a965d8..0000000000
--- a/progs/trivial/tri-dlist.c
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-GLint list;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-
- list = glGenLists(1);
- glNewList(list, GL_COMPILE);
- glBegin(GL_TRIANGLES);
-/* glColor3f(0,0,.7); */
- glVertex3f( 0.9, -0.9, -30.0);
-/* glColor3f(.8,0,0); */
- glVertex3f( 0.9, 0.9, -30.0);
-/* glColor3f(0,.9,0); */
- glVertex3f(-0.9, 0.0, -30.0);
- glEnd();
- glEndList();
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-
-
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glColor3f(0,.9,0);
- glCallList(list);
-
- glRotatef(45,0,0,1);
- glColor3f(1,0,1);
- glCallList(list);
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-edgeflag.c b/progs/trivial/tri-edgeflag.c
deleted file mode 100644
index 4c8736ad8c..0000000000
--- a/progs/trivial/tri-edgeflag.c
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-static GLenum doubleBuffer;
-static GLenum frontface = GL_CCW;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-}
-
-static void Reshape(int width, int height)
-{
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
-/* glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0); */
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
- switch (key) {
- case 'f':
- frontface = (frontface == GL_CCW) ? GL_CW : GL_CCW;
- glFrontFace(frontface);
- break;
- case 27:
- exit(1);
- default:
- return;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
- glPolygonMode(GL_FRONT, GL_LINE);
- glPolygonMode(GL_BACK, GL_POINT);
-
- glBegin(GL_TRIANGLES);
- glEdgeFlag(1);
- glColor3f(0.3,0.3,.9);
- glVertex3f( 0.9, -0.9, -0.0);
- glEdgeFlag(0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, -0.0);
- glEdgeFlag(1);
- glColor3f(0,.9,0);
- glVertex3f(-0.9, 0.0, -0.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-fbo-tex-mip.c b/progs/trivial/tri-fbo-tex-mip.c
deleted file mode 100644
index 2e8fb74a00..0000000000
--- a/progs/trivial/tri-fbo-tex-mip.c
+++ /dev/null
@@ -1,259 +0,0 @@
-/* Framebuffer object test */
-
-
-#include <GL/glew.h>
-#include <GL/glut.h>
-#include <assert.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-/* For debug */
-
-
-static int Win = 0;
-static int Width = 512, Height = 512;
-
-static GLenum TexTarget = GL_TEXTURE_2D;
-static int TexWidth = 512, TexHeight = 512;
-
-static GLuint MyFB;
-static GLuint TexObj;
-static GLboolean Anim = GL_FALSE;
-static GLfloat Rot = 0.0;
-static GLuint TextureLevel = 4; /* which texture level to render to */
-static GLenum TexIntFormat = GL_RGB; /* either GL_RGB or GL_RGBA */
-
-
-static void
-CheckError(int line)
-{
- GLenum err = glGetError();
- if (err) {
- printf("GL Error 0x%x at line %d\n", (int) err, line);
- }
-}
-
-
-static void
-Idle(void)
-{
- Rot = glutGet(GLUT_ELAPSED_TIME) * 0.1;
- glutPostRedisplay();
-}
-
-
-static void
-RenderTexture(void)
-{
- GLenum status;
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, 5.0, 25.0);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef(0.0, 0.0, -15.0);
-
- if (1) {
- /* draw to texture image */
- glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, MyFB);
-
- status = glCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT);
- if (status != GL_FRAMEBUFFER_COMPLETE_EXT) {
- printf("Framebuffer incomplete!!!\n");
- }
-
- glViewport(0, 0,
- TexWidth / (1 << TextureLevel),
- TexHeight / (1 << TextureLevel));
- glClearColor(0.5, 0.5, 1.0, 0.0);
- glClear(GL_COLOR_BUFFER_BIT);
-
- CheckError(__LINE__);
-
- glBegin(GL_POLYGON);
- glColor3f(1, 0, 0);
- glVertex2f(-1, -1);
- glColor3f(0, 1, 0);
- glVertex2f(1, -1);
- glColor3f(0, 0, 1);
- glVertex2f(0, 1);
- glEnd();
-
- /* Bind normal framebuffer */
- glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
- }
- else {
- }
-
- CheckError(__LINE__);
-}
-
-
-
-static void
-Display(void)
-{
- float ar = (float) Width / (float) Height;
-
- RenderTexture();
-
- /* draw textured quad in the window */
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glFrustum(-ar, ar, -1.0, 1.0, 5.0, 25.0);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef(0.0, 0.0, -7.0);
-
- glViewport(0, 0, Width, Height);
-
- glClearColor(0.25, 0.25, 0.25, 0);
- glClear(GL_COLOR_BUFFER_BIT);
-
- glPushMatrix();
- glRotatef(Rot, 0, 1, 0);
- glEnable(TexTarget);
- glBindTexture(TexTarget, TexObj);
-
- {
- glBegin(GL_POLYGON);
- glColor3f(0.25, 0.25, 0.25);
- glTexCoord2f(0, 0);
- glVertex2f(-1, -1);
- glTexCoord2f(1, 0);
- glVertex2f(1, -1);
- glColor3f(1.0, 1.0, 1.0);
- glTexCoord2f(1, 1);
- glVertex2f(1, 1);
- glTexCoord2f(0, 1);
- glVertex2f(-1, 1);
- glEnd();
- }
-
- glPopMatrix();
- glDisable(TexTarget);
-
- glutSwapBuffers();
- CheckError(__LINE__);
-}
-
-
-static void
-Reshape(int width, int height)
-{
- glViewport(0, 0, width, height);
- Width = width;
- Height = height;
-}
-
-
-static void
-CleanUp(void)
-{
- glDeleteFramebuffersEXT(1, &MyFB);
-
- glDeleteTextures(1, &TexObj);
-
- glutDestroyWindow(Win);
-
- exit(0);
-}
-
-
-static void
-Key(unsigned char key, int x, int y)
-{
- (void) x;
- (void) y;
- switch (key) {
- case 'a':
- Anim = !Anim;
- if (Anim)
- glutIdleFunc(Idle);
- else
- glutIdleFunc(NULL);
- break;
- case 's':
- Rot += 2.0;
- break;
- case 27:
- CleanUp();
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void
-Init(int argc, char *argv[])
-{
- if (!glutExtensionSupported("GL_EXT_framebuffer_object")) {
- printf("GL_EXT_framebuffer_object not found!\n");
- exit(0);
- }
-
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
-
-
- /* Make texture object/image */
- glGenTextures(1, &TexObj);
- glBindTexture(TexTarget, TexObj);
- glTexParameteri(TexTarget, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameteri(TexTarget, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- glTexParameteri(TexTarget, GL_TEXTURE_BASE_LEVEL, TextureLevel);
- glTexParameteri(TexTarget, GL_TEXTURE_MAX_LEVEL, TextureLevel);
-
- glTexImage2D(TexTarget, 0, TexIntFormat, TexWidth, TexHeight, 0,
- GL_RGBA, GL_UNSIGNED_BYTE, NULL);
- glTexImage2D(TexTarget, TextureLevel, TexIntFormat,
- TexWidth / (1 << TextureLevel), TexHeight / (1 << TextureLevel), 0,
- GL_RGBA, GL_UNSIGNED_BYTE, NULL);
-
-
- glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
-
-
-
-
- /* gen framebuffer id, delete it, do some assertions, just for testing */
- glGenFramebuffersEXT(1, &MyFB);
- glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, MyFB);
- assert(glIsFramebufferEXT(MyFB));
-
-
- CheckError(__LINE__);
-
- /* Render color to texture */
- glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT,
- TexTarget, TexObj, TextureLevel);
-
-
-
- CheckError(__LINE__);
-
- /* bind regular framebuffer */
- glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
-
-
-}
-
-
-int
-main(int argc, char *argv[])
-{
- glutInit(&argc, argv);
- glutInitWindowPosition(0, 0);
- glutInitWindowSize(Width, Height);
- glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE);
- Win = glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Display);
- if (Anim)
- glutIdleFunc(Idle);
- Init(argc, argv);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-fbo-tex.c b/progs/trivial/tri-fbo-tex.c
deleted file mode 100644
index eacb7d577b..0000000000
--- a/progs/trivial/tri-fbo-tex.c
+++ /dev/null
@@ -1,255 +0,0 @@
-/* Framebuffer object test */
-
-
-#include <GL/glew.h>
-#include <GL/glut.h>
-#include <assert.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-/* For debug */
-
-
-static int Win = 0;
-static int Width = 512, Height = 512;
-
-static GLenum TexTarget = GL_TEXTURE_2D;
-static int TexWidth = 512, TexHeight = 512;
-
-static GLuint MyFB;
-static GLuint TexObj;
-static GLboolean Anim = GL_FALSE;
-static GLfloat Rot = 0.0;
-static GLuint TextureLevel = 0; /* which texture level to render to */
-static GLenum TexIntFormat = GL_RGB; /* either GL_RGB or GL_RGBA */
-
-
-static void
-CheckError(int line)
-{
- GLenum err = glGetError();
- if (err) {
- printf("GL Error 0x%x at line %d\n", (int) err, line);
- }
-}
-
-
-static void
-Idle(void)
-{
- Rot = glutGet(GLUT_ELAPSED_TIME) * 0.1;
- glutPostRedisplay();
-}
-
-
-static void
-RenderTexture(void)
-{
- GLenum status;
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, 5.0, 25.0);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef(0.0, 0.0, -15.0);
-
- if (1) {
- /* draw to texture image */
- glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, MyFB);
-
- status = glCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT);
- if (status != GL_FRAMEBUFFER_COMPLETE_EXT) {
- printf("Framebuffer incomplete!!!\n");
- }
-
- glViewport(0, 0, TexWidth, TexHeight);
-
- glClearColor(0.5, 0.5, 1.0, 0.0);
- glClear(GL_COLOR_BUFFER_BIT);
-
- CheckError(__LINE__);
-
- glBegin(GL_POLYGON);
- glColor3f(1, 0, 0);
- glVertex2f(-1, -1);
- glColor3f(0, 1, 0);
- glVertex2f(1, -1);
- glColor3f(0, 0, 1);
- glVertex2f(0, 1);
- glEnd();
-
- /* Bind normal framebuffer */
- glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
- }
- else {
- }
-
- CheckError(__LINE__);
-}
-
-
-
-static void
-Display(void)
-{
- float ar = (float) Width / (float) Height;
-
- RenderTexture();
-
- /* draw textured quad in the window */
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glFrustum(-ar, ar, -1.0, 1.0, 5.0, 25.0);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef(0.0, 0.0, -7.0);
-
- glViewport(0, 0, Width, Height);
-
- glClearColor(0.25, 0.25, 0.25, 0);
- glClear(GL_COLOR_BUFFER_BIT);
-
- glPushMatrix();
- glRotatef(Rot, 0, 1, 0);
- glEnable(TexTarget);
- glBindTexture(TexTarget, TexObj);
-
- {
- glBegin(GL_POLYGON);
- glColor3f(0.25, 0.25, 0.25);
- glTexCoord2f(0, 0);
- glVertex2f(-1, -1);
- glTexCoord2f(1, 0);
- glVertex2f(1, -1);
- glColor3f(1.0, 1.0, 1.0);
- glTexCoord2f(1, 1);
- glVertex2f(1, 1);
- glTexCoord2f(0, 1);
- glVertex2f(-1, 1);
- glEnd();
- }
-
- glPopMatrix();
- glDisable(TexTarget);
-
- glutSwapBuffers();
- CheckError(__LINE__);
-}
-
-
-static void
-Reshape(int width, int height)
-{
- glViewport(0, 0, width, height);
- Width = width;
- Height = height;
-}
-
-
-static void
-CleanUp(void)
-{
- glDeleteFramebuffersEXT(1, &MyFB);
-
- glDeleteTextures(1, &TexObj);
-
- glutDestroyWindow(Win);
-
- exit(0);
-}
-
-
-static void
-Key(unsigned char key, int x, int y)
-{
- (void) x;
- (void) y;
- switch (key) {
- case 'a':
- Anim = !Anim;
- if (Anim)
- glutIdleFunc(Idle);
- else
- glutIdleFunc(NULL);
- break;
- case 's':
- Rot += 2.0;
- break;
- case 27:
- CleanUp();
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void
-Init(int argc, char *argv[])
-{
- if (!glutExtensionSupported("GL_EXT_framebuffer_object")) {
- printf("GL_EXT_framebuffer_object not found!\n");
- exit(0);
- }
-
- printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
-
-
- /* Make texture object/image */
- glGenTextures(1, &TexObj);
- glBindTexture(TexTarget, TexObj);
- glTexParameteri(TexTarget, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameteri(TexTarget, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- glTexParameteri(TexTarget, GL_TEXTURE_BASE_LEVEL, TextureLevel);
- glTexParameteri(TexTarget, GL_TEXTURE_MAX_LEVEL, TextureLevel);
-
- glTexImage2D(TexTarget, 0, TexIntFormat, TexWidth, TexHeight, 0,
- GL_RGBA, GL_UNSIGNED_BYTE, NULL);
-
-
- glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
-
-
-
-
- /* gen framebuffer id, delete it, do some assertions, just for testing */
- glGenFramebuffersEXT(1, &MyFB);
- glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, MyFB);
- assert(glIsFramebufferEXT(MyFB));
-
-
- CheckError(__LINE__);
-
- /* Render color to texture */
- glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT,
- TexTarget, TexObj, TextureLevel);
-
-
-
- CheckError(__LINE__);
-
- /* bind regular framebuffer */
- glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
-
-
-}
-
-
-int
-main(int argc, char *argv[])
-{
- glutInit(&argc, argv);
- glutInitWindowPosition(0, 0);
- glutInitWindowSize(Width, Height);
- glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE);
- Win = glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Display);
- if (Anim)
- glutIdleFunc(Idle);
- Init(argc, argv);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-fbo.c b/progs/trivial/tri-fbo.c
deleted file mode 100644
index 089180f97a..0000000000
--- a/progs/trivial/tri-fbo.c
+++ /dev/null
@@ -1,203 +0,0 @@
-
-#include <assert.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <string.h>
-
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-
-
-static int Width = 400, Height = 400;
-static GLuint MyFB, MyRB;
-
-
-#define CheckError() assert(glGetError() == 0)
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
-
- if (!glutExtensionSupported("GL_EXT_framebuffer_object")) {
- printf("GL_EXT_framebuffer_object not found!\n");
- exit(0);
- }
-
-
- glGenFramebuffersEXT(1, &MyFB);
- glGenRenderbuffersEXT(1, &MyRB);
-
- {
- glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, MyFB);
-
- glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, MyRB);
-
- glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT1_EXT,
- GL_RENDERBUFFER_EXT, MyRB);
-
- glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_RGB, Width, Height);
-
- glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
- }
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-
-
-static void
-Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode( GL_MODELVIEW );
-
- Width = width;
- Height = height;
- glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_RGB, Width, Height);
-}
-
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-
-
-static void Draw( void )
-{
-
- /* draw to user framebuffer */
- glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, MyFB);
- glDrawBuffer(GL_COLOR_ATTACHMENT1_EXT);
- glReadBuffer(GL_COLOR_ATTACHMENT1_EXT);
-
- glClearColor(0.5, 0.5, 1.0, 0.0);
- glClear(GL_COLOR_BUFFER_BIT);
- CheckError();
-
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(0,.9,0);
- glVertex3f(-0.9, 0.0, -30.0);
- glEnd();
-
-
- {
- GLubyte *buffer = malloc(Width * Height * 4);
-
- /* read from user framebuffer */
- glReadPixels(0, 0, Width-60, Height-60, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
- CheckError();
-
- /* draw to window */
- glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
- /* Try to clear the window, but will overwrite:
- */
- glClearColor(0.8, 0.8, 0, 0.0);
- glClear(GL_COLOR_BUFFER_BIT);
-
- glWindowPos2iARB(30, 30);
- glDrawPixels(Width-60, Height-60, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
-
-
- free(buffer);
- }
-
- /* Bind normal framebuffer */
- glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
-
- if (1) {
- glBegin(GL_TRIANGLES);
- glColor3f(0,.7,0);
- glVertex3f( 0.5, -0.5, -30.0);
- glColor3f(0,0,.8);
- glVertex3f( 0.5, 0.5, -30.0);
- glColor3f(.9,0,0);
- glVertex3f(-0.5, 0.0, -30.0);
- glEnd();
- }
-
- if (doubleBuffer)
- glutSwapBuffers();
- else
- glFinish();
-
- CheckError();
-}
-
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-
-
-int
-main( int argc, char *argv[] )
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(100, 0); glutInitWindowSize( Width, Height );
-
- type = GLUT_RGB;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(argv[0]) == GL_FALSE) {
- exit(1);
- }
-
- glewInit();
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-flat-clip.c b/progs/trivial/tri-flat-clip.c
deleted file mode 100644
index a23f8a382b..0000000000
--- a/progs/trivial/tri-flat-clip.c
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.5, 0.5, 0.5, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
- glShadeModel(GL_FLAT);
-
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,1);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(1,0,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(0,1,0);
- glVertex3f(-1.9, 0.0, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-flat.c b/progs/trivial/tri-flat.c
deleted file mode 100644
index 0614321844..0000000000
--- a/progs/trivial/tri-flat.c
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.5, 0.5, 0.5, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
- glShadeModel(GL_FLAT);
-
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,1);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(1,0,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(0,1,0);
- glVertex3f(-0.9, 0.0, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-fog.c b/progs/trivial/tri-fog.c
deleted file mode 100644
index 7fc254a467..0000000000
--- a/progs/trivial/tri-fog.c
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-GLint Width = 250, Height = 250;
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-
- glEnable(GL_FOG);
- glFogi(GL_FOG_MODE, GL_LINEAR);
- glFogf(GL_FOG_START, 25);
- glFogf(GL_FOG_END, 35);
-#if 0
- glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- glEnable (GL_BLEND);
-#endif
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glEnable(GL_FOG);
-
- glBegin(GL_TRIANGLES);
- glColor3f(1,1,1);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(1,1,1);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(1,1,1);
- glVertex3f(-0.9, 0.0, -40.0);
- glEnd();
-
-#if 0
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,.7);
- glVertex3f(-0.9, -0.9, -30.0);
- glColor3f(.8,0,0);
- glVertex3f(-0.9, 0.9, -30.0);
- glColor3f(0,.9,0);
- glVertex3f( 0.9, 0.0, -30.0);
- glEnd();
-#endif
-
- glDisable(GL_FOG);
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(100, 0); glutInitWindowSize(Width, Height);
-
- type = GLUT_RGB;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-fp-const-imm.c b/progs/trivial/tri-fp-const-imm.c
deleted file mode 100644
index accea62042..0000000000
--- a/progs/trivial/tri-fp-const-imm.c
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- GLint errno;
- GLuint prognum;
- static const char *prog1 =
- "!!ARBfp1.0\n"
- "TEMP R1;\n"
- "MOV R1, state.material.emission;\n"
- "MUL R1, R1, {0.9}.x;\n"
- "MOV result.color, R1;\n"
- "END\n";
-
-
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- /* Setup the fragment program */
- glGenProgramsARB(1, &prognum);
- glBindProgramARB(GL_FRAGMENT_PROGRAM_ARB, prognum);
- glProgramStringARB(GL_FRAGMENT_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
- strlen(prog1), (const GLubyte *)prog1);
-
- errno = glGetError();
- printf("glGetError = 0x%x\n", errno);
- if (errno != GL_NO_ERROR) {
- GLint errorpos;
-
- glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &errorpos);
- printf("errorpos: %d\n", errorpos);
- printf("glError(GL_PROGRAM_ERROR_STRING_ARB) = %s\n",
- (char *) glGetString(GL_PROGRAM_ERROR_STRING_ARB));
- }
- glEnable(GL_FRAGMENT_PROGRAM_ARB);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
-/* glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0); */
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,.7);
- glTexCoord3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -0.0);
- glColor3f(.8,0,0);
- glTexCoord3f(.8,0,0);
- glVertex3f( 0.9, 0.9, -0.0);
- glColor3f(0,.9,0);
- glTexCoord3f(0,.9,0);
- glVertex3f(-0.9, 0.0, -0.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- glewInit();
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-fp.c b/progs/trivial/tri-fp.c
deleted file mode 100644
index 6ecfef4d2a..0000000000
--- a/progs/trivial/tri-fp.c
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- GLint errno;
- GLuint prognum;
- static const char *prog1 =
- "!!ARBfp1.0\n"
- "MOV result.color, fragment.texcoord[1];\n"
- /* "MOV result.color, fragment.color;\n" */
- "END\n";
-
-
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- /* Setup the fragment program */
- glGenProgramsARB(1, &prognum);
- glBindProgramARB(GL_FRAGMENT_PROGRAM_ARB, prognum);
- glProgramStringARB(GL_FRAGMENT_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
- strlen(prog1), (const GLubyte *)prog1);
-
- errno = glGetError();
- printf("glGetError = 0x%x\n", errno);
- if (errno != GL_NO_ERROR) {
- GLint errorpos;
-
- glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &errorpos);
- printf("errorpos: %d\n", errorpos);
- printf("glError(GL_PROGRAM_ERROR_STRING_ARB) = %s\n",
- (char *) glGetString(GL_PROGRAM_ERROR_STRING_ARB));
- }
- glEnable(GL_FRAGMENT_PROGRAM_ARB);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
-/* glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0); */
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,.7);
- glTexCoord3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -0.0);
- glColor3f(.8,0,0);
- glTexCoord3f(.8,0,0);
- glVertex3f( 0.9, 0.9, -0.0);
- glColor3f(0,.9,0);
- glTexCoord3f(0,.9,0);
- glVertex3f(-0.9, 0.0, -0.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- glewInit();
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-lit-material.c b/progs/trivial/tri-lit-material.c
deleted file mode 100644
index 16cebb2b98..0000000000
--- a/progs/trivial/tri-lit-material.c
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glEnable(GL_LIGHTING);
- glEnable(GL_LIGHT0);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
-/* glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0); */
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- static GLfloat red[4] = {0.8, 0.1, 0.0, 1.0};
- static GLfloat green[4] = {0.0, 0.8, 0.2, 1.0};
- static GLfloat blue[4] = {0.2, 0.2, .9, 1.0};
-
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_TRIANGLES);
- glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, blue);
- glNormal3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -0.0);
-
- glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, green);
- glNormal3f(0,0,.8);
- glVertex3f( 0.9, 0.9, -0.0);
-
- glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, red);
- glNormal3f(0,0,.9);
- glVertex3f(-0.9, 0.0, -0.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-lit.c b/progs/trivial/tri-lit.c
deleted file mode 100644
index 26ebd99d91..0000000000
--- a/progs/trivial/tri-lit.c
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glEnable(GL_LIGHTING);
- glEnable(GL_LIGHT0);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
-/* glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0); */
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_TRIANGLES);
- glNormal3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -0.0);
- glNormal3f(.8,0,0);
- glVertex3f( 0.9, 0.9, -0.0);
- glNormal3f(0,.9,0);
- glVertex3f(-0.9, 0.0, -0.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-logicop-none.c b/progs/trivial/tri-logicop-none.c
deleted file mode 100644
index 2b6a3d6f5c..0000000000
--- a/progs/trivial/tri-logicop-none.c
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer = 1;
-int win;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.3, 0.1, 0.3, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
- switch (key) {
- case 27:
- exit(0);
- default:
- glutPostRedisplay();
- return;
- }
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_TRIANGLES);
- glColor3f(.8,0,0);
- glVertex3f(-0.9, -0.9, -30.0);
- glColor3f(0,.9,0);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(0,0,.7);
- glVertex3f( 0.0, 0.9, -30.0);
- glEnd();
-
-
- glLineWidth(4.0);
-
- glBegin(GL_LINES);
- glColor3f(.1,.7,.1);
- glVertex3f( 0.5, -0.5, -30.0);
- glVertex3f( 0.5, 0.5, -30.0);
-
- glColor3f(.1,.1,.8);
- glVertex3f( 0.5, 0.5, -30.0);
- glVertex3f(-0.5, 0.5, -30.0);
-
- glColor3f(.5,.1,.1);
- glVertex3f(-0.5, 0.5, -30.0);
- glVertex3f(-0.5, -0.5, -30.0);
-
- glColor3f(.8,.8,.8);
- glVertex3f(-0.5, -0.5, -30.0);
- glVertex3f( 0.5, -0.5, -30.0);
- glEnd();
-
- /* glLineWidth(12.0); */
-
- /* Redraw parts of the lines:
- */
- glBegin(GL_LINES);
- glColor3f(.1,.7,.1);
- glVertex3f( 0.5, -0.2, -30.0);
- glVertex3f( 0.5, 0.2, -30.0);
-
- glColor3f(.1,.1,.8);
- glVertex3f( 0.2, 0.5, -30.0);
- glVertex3f(-0.2, 0.5, -30.0);
-
- glColor3f(.5,.1,.1);
- glVertex3f(-0.5, 0.2, -30.0);
- glVertex3f(-0.5, -0.2, -30.0);
-
- glColor3f(.8,.8,.8);
- glVertex3f(-0.2, -0.5, -30.0);
- glVertex3f( 0.2, -0.5, -30.0);
- glEnd();
-
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- win = glutCreateWindow(*argv);
- if (!win) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-logicop-xor.c b/progs/trivial/tri-logicop-xor.c
deleted file mode 100644
index b8207cd6d8..0000000000
--- a/progs/trivial/tri-logicop-xor.c
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer = 1;
-int win;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.3, 0.1, 0.3, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
- switch (key) {
- case 27:
- exit(0);
- default:
- glutPostRedisplay();
- return;
- }
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_TRIANGLES);
- glColor3f(.8,0,0);
- glVertex3f(-0.9, -0.9, -30.0);
- glColor3f(0,.9,0);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(0,0,.7);
- glVertex3f( 0.0, 0.9, -30.0);
- glEnd();
-
-
- glLineWidth(4.0);
-
- glEnable(GL_BLEND);
- glEnable(GL_COLOR_LOGIC_OP);
- glLogicOp(GL_XOR);
-
- glBegin(GL_LINES);
- glColor3f(.1,.7,.1);
- glVertex3f( 0.5, -0.5, -30.0);
- glVertex3f( 0.5, 0.5, -30.0);
-
- glColor3f(.1,.1,.8);
- glVertex3f( 0.5, 0.5, -30.0);
- glVertex3f(-0.5, 0.5, -30.0);
-
- glColor3f(.5,.1,.1);
- glVertex3f(-0.5, 0.5, -30.0);
- glVertex3f(-0.5, -0.5, -30.0);
-
- glColor3f(.8,.8,.8);
- glVertex3f(-0.5, -0.5, -30.0);
- glVertex3f( 0.5, -0.5, -30.0);
- glEnd();
-
- /* glLineWidth(12.0); */
-
- /* Redraw parts of the lines to remove them:
- */
- glBegin(GL_LINES);
- glColor3f(.1,.7,.1);
- glVertex3f( 0.5, -0.2, -30.0);
- glVertex3f( 0.5, 0.2, -30.0);
-
- glColor3f(.1,.1,.8);
- glVertex3f( 0.2, 0.5, -30.0);
- glVertex3f(-0.2, 0.5, -30.0);
-
- glColor3f(.5,.1,.1);
- glVertex3f(-0.5, 0.2, -30.0);
- glVertex3f(-0.5, -0.2, -30.0);
-
- glColor3f(.8,.8,.8);
- glVertex3f(-0.2, -0.5, -30.0);
- glVertex3f( 0.2, -0.5, -30.0);
- glEnd();
-
-
-
- glDisable(GL_COLOR_LOGIC_OP);
- glDisable(GL_BLEND);
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- win = glutCreateWindow(*argv);
- if (!win) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-mask-tri.c b/progs/trivial/tri-mask-tri.c
deleted file mode 100644
index d62620905d..0000000000
--- a/progs/trivial/tri-mask-tri.c
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-GLint Width = 250, Height = 250;
-GLenum doubleBuffer;
-GLint Win;
-GLboolean Rmask = GL_TRUE, Gmask = GL_FALSE, Bmask = GL_TRUE;
-
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
- glViewport(0, 0, (GLint)width, (GLint)height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
- switch (key) {
- case 'r':
- Rmask = !Rmask;
- break;
- case 'g':
- Gmask = !Gmask;
- break;
- case 'b':
- Bmask = !Bmask;
- break;
- case 27:
- glutDestroyWindow(Win);
- exit(1);
- default:
- return;
- }
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- printf("ColorMask = %d, %d, %d\n", Rmask, Gmask, Bmask);
- glColorMask(1,1,1,1);
-
- glClear(GL_COLOR_BUFFER_BIT);
-
- /* right triangle: green */
- glBegin(GL_TRIANGLES);
- glColor3f(0,1,0);
- glVertex3f( 0.9, -0.9, -30.0);
- glVertex3f( 0.9, 0.9, -30.0);
- glVertex3f(-0.9, 0.0, -30.0);
- glEnd();
-
- glColorMask(Rmask, Gmask, Bmask, 0);
-
- /* left triangle: white&mask: purple middle region: white */
- glBegin(GL_TRIANGLES);
- glColor3f(1,1,1);
- glVertex3f(-0.9, -0.9, -30.0);
- glVertex3f(-0.9, 0.9, -30.0);
- glVertex3f( 0.9, 0.0, -30.0);
- glEnd();
-
- glDisable(GL_SCISSOR_TEST);
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- }
- else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- }
- else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- type = GLUT_RGB;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
-
- glutInitWindowPosition(100, 0); glutInitWindowSize(Width, Height);
- glutInitDisplayMode(type);
- Win = glutCreateWindow(*argv);
- Init();
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-multitex-vbo.c b/progs/trivial/tri-multitex-vbo.c
deleted file mode 100644
index ca4edaa5dd..0000000000
--- a/progs/trivial/tri-multitex-vbo.c
+++ /dev/null
@@ -1,261 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-#define NR_VERTS 4
-
-struct {
- GLfloat position[NR_VERTS][4];
- GLubyte color[NR_VERTS][4];
- GLfloat tex0[NR_VERTS][2];
- GLfloat tex1[NR_VERTS][2];
-} verts = {
-
- { { 0.9, -0.9, 0.0, 1.0 },
- { 0.9, 0.9, 0.0, 1.0 },
- { -0.9, 0.9, 0.0, 1.0 },
- { -0.9, -0.9, 0.0, 1.0 } },
-
- { { 0x00, 0x00, 0xff, 0x00 },
- { 0x00, 0xff, 0x00, 0x00 },
- { 0xff, 0x00, 0x00, 0x00 },
- { 0xff, 0xff, 0xff, 0x00 }
- },
-
- { { 1, -1 },
- { 1, 1 },
- { -1, 1 },
- { -1, -1 } },
-
- { { 3, 0 },
- { 0, 3 },
- { -3, 0 },
- { 0, -3} },
-
-};
-
-GLuint indices[] = { 0, 1, 2, 3 };
-
-GLuint arrayObj, elementObj;
-
-
-GLenum doubleBuffer;
-
-
-#define Offset(ptr, member) (void *)((const char *)&((ptr)->member) - (const char *)(ptr))
-
-static void Init(void)
-{
- GLuint texObj[2];
-
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-
- glGenTextures(2, texObj);
-
-#define SIZE 32
- {
- GLubyte tex2d[SIZE][SIZE][3];
- GLint s, t;
-
- for (s = 0; s < SIZE; s++) {
- for (t = 0; t < SIZE; t++) {
- tex2d[t][s][0] = s*255/(SIZE-1);
- tex2d[t][s][1] = t*255/(SIZE-1);
- tex2d[t][s][2] = 0;
- }
- }
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- glActiveTextureARB(GL_TEXTURE0_ARB);
- glBindTexture(GL_TEXTURE_2D, texObj[0]);
-
-
- glTexImage2D(GL_TEXTURE_2D, 0, 3, SIZE, SIZE, 0,
- GL_RGB, GL_UNSIGNED_BYTE, tex2d);
-
- glEnable(GL_TEXTURE_2D);
- glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_R, GL_REPEAT);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 4);
- }
-
- {
- GLubyte tex2d[SIZE][SIZE][3];
- GLint s, t;
-
- for (s = 0; s < SIZE; s++) {
- for (t = 0; t < SIZE; t++) {
- GLboolean on = ((s/4) ^ (t/4)) & 1;
- tex2d[t][s][0] = on ? 128 : 0;
- tex2d[t][s][1] = on ? 128 : 0;
- tex2d[t][s][2] = on ? 128 : 0;
- }
- }
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- glActiveTextureARB(GL_TEXTURE1_ARB);
- glBindTexture(GL_TEXTURE_2D, texObj[1]);
-
- glTexImage2D(GL_TEXTURE_2D, 0, 3, SIZE, SIZE, 0,
- GL_RGB, GL_UNSIGNED_BYTE, tex2d);
-
- glEnable(GL_TEXTURE_2D);
- glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_ADD);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_R, GL_REPEAT);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 4);
- }
-
- glActiveTextureARB( GL_TEXTURE0_ARB );
-
-
- {
-
- glGenBuffersARB(1, &arrayObj);
- glGenBuffersARB(1, &elementObj);
-
- glBindBufferARB(GL_ARRAY_BUFFER_ARB, arrayObj);
- glBindBufferARB(GL_ELEMENT_ARRAY_BUFFER_ARB, elementObj);
-
- glBufferDataARB(GL_ARRAY_BUFFER_ARB, sizeof(verts), &verts, GL_STATIC_DRAW_ARB);
- glBufferDataARB(GL_ELEMENT_ARRAY_BUFFER_ARB, sizeof(indices), indices, GL_STATIC_DRAW_ARB);
-
- glEnableClientState( GL_VERTEX_ARRAY );
- glVertexPointer( 4, GL_FLOAT, 0, Offset(&verts, position) );
-
- glEnableClientState( GL_COLOR_ARRAY );
- glColorPointer( 4, GL_UNSIGNED_BYTE, 0, Offset(&verts, color) );
-
- glClientActiveTextureARB( GL_TEXTURE0_ARB );
- glEnableClientState( GL_TEXTURE_COORD_ARRAY );
- glTexCoordPointer( 2, GL_FLOAT, 0, Offset(&verts, tex0) );
-
- glClientActiveTextureARB( GL_TEXTURE1_ARB );
- glEnableClientState( GL_TEXTURE_COORD_ARRAY );
- glTexCoordPointer( 2, GL_FLOAT, 0, Offset(&verts, tex1) );
-
- glClientActiveTextureARB( GL_TEXTURE0_ARB );
- }
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
-/* glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0); */
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glDrawElements( GL_TRIANGLES, 3, GL_UNSIGNED_INT, NULL );
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- glewInit();
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-orig.c b/progs/trivial/tri-orig.c
deleted file mode 100644
index d86d34c39d..0000000000
--- a/progs/trivial/tri-orig.c
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
-/* glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0); */
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -0.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, -0.0);
- glColor3f(0,.9,0);
- glVertex3f(-0.9, 0.0, -0.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-query.c b/progs/trivial/tri-query.c
deleted file mode 100644
index 8898f182c7..0000000000
--- a/progs/trivial/tri-query.c
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-static GLuint OccQuery;
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- if (!glutExtensionSupported("GL_ARB_occlusion_query")) {
- fprintf(stderr, "Sorry, this program requires GL_ARB_occlusion_query\n");
- exit(1);
- }
-
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-
- glGenQueriesARB(1, &OccQuery);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- GLuint passed;
- GLint ready;
-
- glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
-
- glEnable(GL_DEPTH_TEST);
-
- glBeginQueryARB(GL_SAMPLES_PASSED_ARB, OccQuery);
-
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(0,.9,0);
- glVertex3f(-0.9, 0.0, -30.0);
- glEnd();
-
- glEndQueryARB(GL_SAMPLES_PASSED_ARB);
-
- do {
- /* do useful work here, if any */
- glGetQueryObjectivARB(OccQuery, GL_QUERY_RESULT_AVAILABLE_ARB, &ready);
- } while (!ready);
- glGetQueryObjectuivARB(OccQuery, GL_QUERY_RESULT_ARB, &passed);
-
- fprintf(stderr, " %d Fragments Visible\n", passed);
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(100, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_DEPTH;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- glewInit();
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-repeat.c b/progs/trivial/tri-repeat.c
deleted file mode 100644
index 91e355c71f..0000000000
--- a/progs/trivial/tri-repeat.c
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.3, 0.1, 0.3, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
- switch (key) {
- case 27:
- exit(0);
- default:
- glutPostRedisplay();
- return;
- }
-}
-
-static void Draw(void)
-{
- static float f = 0;
- f += .1;
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_TRIANGLES);
- glColor3f((sin(f)+1)/2.0,0,0);
- glVertex3f(-0.9, -0.9, -30.0);
- glColor3f(0,(cos(f)+1)/2.0,0);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(0,0,.7);
- glVertex3f( 0.0, 0.9, -30.0);
- glEnd();
-
- glutSwapBuffers();
- glutPostRedisplay();
-}
-
-static GLenum Args(int argc, char **argv)
-{
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= GLUT_DOUBLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-scissor-tri.c b/progs/trivial/tri-scissor-tri.c
deleted file mode 100644
index d65502d91b..0000000000
--- a/progs/trivial/tri-scissor-tri.c
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-GLint Width = 250, Height = 250;
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(0,.9,0);
- glVertex3f(-0.9, 0.0, -30.0);
- glEnd();
-
- glScissor(Width / 4, Height / 4, Width / 2, Height / 2);
- glEnable(GL_SCISSOR_TEST);
-
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,.7);
- glVertex3f(-0.9, -0.9, -30.0);
- glColor3f(.8,0,0);
- glVertex3f(-0.9, 0.9, -30.0);
- glColor3f(0,.9,0);
- glVertex3f( 0.9, 0.0, -30.0);
- glEnd();
-
- glDisable(GL_SCISSOR_TEST);
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(100, 0); glutInitWindowSize(Width, Height);
-
- type = GLUT_RGB;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-square.c b/progs/trivial/tri-square.c
deleted file mode 100644
index 2014bd489c..0000000000
--- a/progs/trivial/tri-square.c
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- gluOrtho2D(0, (GLdouble)width, 0, (GLdouble)height);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glColor3f(1,1,1);
-
- glBegin(GL_TRIANGLES);
- glVertex3f( 10, 10, -30.0);
- glVertex3f( 200, 150, -30.0);
- glVertex3f( 10, 200, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(100, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-stencil.c b/progs/trivial/tri-stencil.c
deleted file mode 100644
index 9f68bca914..0000000000
--- a/progs/trivial/tri-stencil.c
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <math.h>
-#include <GL/glut.h>
-
-
-static void Init(void)
-{
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-5.0, 5.0, -5.0, 5.0, -5.0, 5.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- printf("Exiting...\n");
- exit(1);
- case 'r':
- printf("Redisplaying...\n");
- glutPostRedisplay();
- break;
- default:
- printf("No such key '%c'...\n", key);
- break;
- }
-}
-
-static void Draw(void)
-{
- glShadeModel(GL_FLAT);
-
- {
- glClearColor(0.0, 0.0, 0.0, 0.0);
- glClearStencil(0);
- glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT|GL_STENCIL_BUFFER_BIT);
- }
-
-
- glStencilMask(1);
- glEnable(GL_STENCIL_TEST);
- glStencilFunc(GL_ALWAYS, 1, 1);
- glStencilOp(GL_KEEP, GL_KEEP, GL_REPLACE);
-
- glColor3ub(200, 0, 0);
- glBegin(GL_POLYGON);
- glVertex3i(-4, -4, 0);
- glVertex3i( 4, -4, 0);
- glVertex3i( 0, 4, 0);
- glEnd();
-
-#if 1
- glStencilFunc(GL_EQUAL, 1, 1);
- glStencilOp(GL_INCR, GL_KEEP, GL_DECR);
-
- glColor3ub(0, 200, 0);
- glBegin(GL_POLYGON);
- glVertex3i(3, 3, 0);
- glVertex3i(-3, 3, 0);
- glVertex3i(-3, -3, 0);
- glVertex3i(3, -3, 0);
- glEnd();
-#endif
-
-#if 1
- glStencilFunc(GL_EQUAL, 1, 1);
- glStencilOp(GL_KEEP, GL_KEEP, GL_KEEP);
-
- glColor3ub(0, 0, 200);
- glBegin(GL_POLYGON);
- glVertex3f(2.5, 2.5, 0);
- glVertex3f(-2.5, 2.5, 0);
- glVertex3f(-2.5, -2.5, 0);
- glVertex3f(2.5, -2.5, 0);
- glEnd();
-#endif
-
- glFlush();
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-dr") == 0) {
- } else {
- printf("%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0);
- glutInitWindowSize( 300, 300);
-
- type = GLUT_RGB | GLUT_SINGLE | GLUT_DEPTH | GLUT_STENCIL;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-stipple.c b/progs/trivial/tri-stipple.c
deleted file mode 100644
index 15a08fec7c..0000000000
--- a/progs/trivial/tri-stipple.c
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-static GLubyte fly[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x03, 0x80, 0x01, 0xC0, 0x06, 0xC0, 0x03, 0x60, 0x04, 0x60, 0x06, 0x20,
-0x04, 0x30, 0x0C, 0x20, 0x04, 0x18, 0x18, 0x20, 0x04, 0x0C, 0x30, 0x20,
-0x04, 0x06, 0x60, 0x20, 0x44, 0x03, 0xC0, 0x22, 0x44, 0x01, 0x80, 0x22,
-0x44, 0x01, 0x80, 0x22, 0x44, 0x01, 0x80, 0x22, 0x44, 0x01, 0x80, 0x22,
-0x44, 0x01, 0x80, 0x22, 0x44, 0x01, 0x80, 0x22, 0x66, 0x01, 0x80, 0x66,
-0x33, 0x01, 0x80, 0xCC, 0x19, 0x81, 0x81, 0x98, 0x0C, 0xC1, 0x83, 0x30,
-0x07, 0xe1, 0x87, 0xe0, 0x03, 0x3f, 0xfc, 0xc0, 0x03, 0x31, 0x8c, 0xc0,
-0x03, 0x33, 0xcc, 0xc0, 0x06, 0x64, 0x26, 0x60, 0x0c, 0xcc, 0x33, 0x30,
-0x18, 0xcc, 0x33, 0x18, 0x10, 0xc4, 0x23, 0x08, 0x10, 0x63, 0xC6, 0x08,
-0x10, 0x30, 0x0c, 0x08, 0x10, 0x18, 0x18, 0x08, 0x10, 0x00, 0x00, 0x08};
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glEnable (GL_POLYGON_STIPPLE);
- glPolygonStipple (fly);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
-/* glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0); */
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -0.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, -0.0);
- glColor3f(0,.9,0);
- glVertex3f(-0.9, 0.0, -0.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-tex-3d.c b/progs/trivial/tri-tex-3d.c
deleted file mode 100644
index 073a080d7a..0000000000
--- a/progs/trivial/tri-tex-3d.c
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-
-#define SIZE 16
- {
- GLubyte tex3d[SIZE][SIZE][SIZE][3];
- GLint r, s, t;
-
- for (s = 0; s < SIZE; s++) {
- for (t = 0; t < SIZE; t++) {
- for (r = 0; r < SIZE; r++) {
-#if 0
- tex3d[r][t][s][0] = (s < SIZE/2) ? 0 : 255;
- tex3d[r][t][s][1] = (t < SIZE/2) ? 0 : 255;
- tex3d[r][t][s][2] = (r < SIZE/2) ? 0 : 255;
-#else
- tex3d[r][t][s][0] = s*255/(SIZE-1);
- tex3d[r][t][s][1] = t*255/(SIZE-1);
- tex3d[r][t][s][2] = r*255/(SIZE-1);
-#endif
- }
- }
- }
-
- glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
- glTexParameterf(GL_TEXTURE_3D, GL_TEXTURE_WRAP_R, GL_REPEAT);
- glTexParameterf(GL_TEXTURE_3D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameterf(GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- glTexImage3D(GL_TEXTURE_3D, 0, 3, SIZE, SIZE, SIZE, 0,
- GL_RGB, GL_UNSIGNED_BYTE, tex3d);
- glPixelStorei(GL_UNPACK_ALIGNMENT, 4);
- glEnable(GL_TEXTURE_3D);
- }
-
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_TRIANGLES);
- glTexCoord3f( 0,0,.9);
- glVertex3f( 0.9, -0.9, -30.0);
- glTexCoord3f(.9,0,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glTexCoord3f(0,.9,0);
- glVertex3f(-0.9, 0.0, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- glewInit();
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-tex.c b/progs/trivial/tri-tex.c
deleted file mode 100644
index 244e154504..0000000000
--- a/progs/trivial/tri-tex.c
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-
-
-#define SIZE 32
- {
- GLubyte tex2d[SIZE][SIZE][3];
- GLint s, t;
-
- for (s = 0; s < SIZE; s++) {
- for (t = 0; t < SIZE; t++) {
-#if 0
- tex2d[t][s][0] = (s < SIZE/2) ? 0 : 255;
- tex2d[t][s][1] = (t < SIZE/2) ? 0 : 255;
- tex2d[t][s][2] = 0;
-#else
- tex2d[t][s][0] = s*255/(SIZE-1);
- tex2d[t][s][1] = t*255/(SIZE-1);
- tex2d[t][s][2] = 0;
-#endif
- }
- }
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
-
- glTexImage2D(GL_TEXTURE_2D, 0, 3, SIZE, SIZE, 0,
- GL_RGB, GL_UNSIGNED_BYTE, tex2d);
-
- glEnable(GL_TEXTURE_2D);
- glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_R, GL_REPEAT);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 4);
- }
-
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
-/* glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0); */
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_TRIANGLES);
- glTexCoord2f(1,-1);
- glVertex3f( 0.9, -0.9, -0.0);
- glTexCoord2f(1,1);
- glVertex3f( 0.9, 0.9, -0.0);
- glTexCoord2f(-1,0);
- glVertex3f(-0.9, 0.0, -0.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-tri.c b/progs/trivial/tri-tri.c
deleted file mode 100644
index 7bf400793e..0000000000
--- a/progs/trivial/tri-tri.c
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(0,.9,0);
- glVertex3f(-0.9, 0.0, -30.0);
- glEnd();
-
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,.7);
- glVertex3f(-0.9, -0.9, -30.0);
- glColor3f(.8,0,0);
- glVertex3f(-0.9, 0.9, -30.0);
- glColor3f(0,.9,0);
- glVertex3f( 0.9, 0.0, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(100, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-unfilled-clip.c b/progs/trivial/tri-unfilled-clip.c
deleted file mode 100644
index 585919e16d..0000000000
--- a/progs/trivial/tri-unfilled-clip.c
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
- glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
-
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(0,.9,0);
- glVertex3f(-1.9, 0.0, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-unfilled-edgeflag.c b/progs/trivial/tri-unfilled-edgeflag.c
deleted file mode 100644
index f536f64229..0000000000
--- a/progs/trivial/tri-unfilled-edgeflag.c
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
-/* glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0); */
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
- glPolygonMode(GL_FRONT, GL_LINE);
- glPolygonMode(GL_BACK, GL_LINE);
-
- glBegin(GL_TRIANGLES);
- glEdgeFlag(1);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -0.0);
- glEdgeFlag(0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, -0.0);
- glEdgeFlag(1);
- glColor3f(0,.9,0);
- glVertex3f(-0.9, 0.0, -0.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-unfilled-fog.c b/progs/trivial/tri-unfilled-fog.c
deleted file mode 100644
index c6ecc705b3..0000000000
--- a/progs/trivial/tri-unfilled-fog.c
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-GLint Width = 250, Height = 250;
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
- switch (key) {
- case 27:
- exit(1);
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glEnable(GL_FOG);
-
- glPolygonMode(GL_FRONT, GL_FILL);
- glPolygonMode(GL_BACK, GL_FILL);
-
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,.7);
- glVertex3f( 0.7, -0.7, -30.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.7, 0.7, -30.0);
- glColor3f(0,.9,0);
- glVertex3f(-0.7, 0.0, -30.0);
- glEnd();
-
- glPolygonMode(GL_FRONT, GL_LINE);
- glPolygonMode(GL_BACK, GL_LINE);
-
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(0,.9,0);
- glVertex3f(-0.9, 0.0, -30.0);
- glEnd();
-
- glDisable(GL_FOG);
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(100, 0); glutInitWindowSize(Width, Height);
-
- type = GLUT_RGB;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-unfilled-point.c b/progs/trivial/tri-unfilled-point.c
deleted file mode 100644
index 11e276e1a5..0000000000
--- a/progs/trivial/tri-unfilled-point.c
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
-/* glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0); */
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
- glPolygonMode(GL_FRONT, GL_POINT);
- glPolygonMode(GL_BACK, GL_POINT);
-
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -0.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, -0.0);
- glColor3f(0,.9,0);
- glVertex3f(-0.9, 0.0, -0.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-unfilled-smooth.c b/progs/trivial/tri-unfilled-smooth.c
deleted file mode 100644
index fa31667e65..0000000000
--- a/progs/trivial/tri-unfilled-smooth.c
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
-/* glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0); */
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glEnable(GL_LINE_SMOOTH);
-
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,.7);
- glVertex3f( 0.6, -0.6, -0.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.6, 0.6, -0.0);
- glColor3f(0,.9,0);
- glVertex3f(-0.6, 0.0, -0.0);
- glEnd();
-
- glPolygonMode(GL_FRONT, GL_LINE);
-/* glPolygonMode(GL_BACK, GL_LINE); */
-
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -0.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, -0.0);
- glColor3f(0,.9,0);
- glVertex3f(-0.9, 0.0, -0.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-unfilled-tri-lit.c b/progs/trivial/tri-unfilled-tri-lit.c
deleted file mode 100644
index d6baeb4697..0000000000
--- a/progs/trivial/tri-unfilled-tri-lit.c
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glEnable(GL_LIGHTING);
- glEnable(GL_LIGHT0);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
-/* glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0); */
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glPolygonMode(GL_FRONT, GL_LINE);
- glPolygonMode(GL_BACK, GL_LINE);
-
- glBegin(GL_TRIANGLES);
- glNormal3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -0.0);
- glNormal3f(.8,0,0);
- glVertex3f( 0.9, 0.9, -0.0);
- glNormal3f(0,.9,0);
- glVertex3f(-0.9, 0.0, -0.0);
- glEnd();
-
- glPolygonMode(GL_FRONT, GL_FILL);
- glPolygonMode(GL_BACK, GL_FILL);
-
- glBegin(GL_TRIANGLES);
- glNormal3f(0,0,.7);
- glVertex3f( 0.8, -0.8, -0.0);
- glNormal3f(.8,0,0);
- glVertex3f( 0.8, 0.8, -0.0);
- glNormal3f(0,.9,0);
- glVertex3f(-0.8, 0.0, -0.0);
- glEnd();
-
- glPolygonMode(GL_FRONT, GL_LINE);
- glPolygonMode(GL_BACK, GL_LINE);
-
- glBegin(GL_TRIANGLES);
- glNormal3f(.8,0,0);
- glVertex3f( -0.9, 0.9, -0.0);
- glNormal3f(0,0,.7);
- glVertex3f( -0.9, -0.9, -0.0);
- glNormal3f(0,.9,0);
- glVertex3f( 0.9, 0.0, -0.0);
- glEnd();
-
- glPolygonMode(GL_FRONT, GL_FILL);
- glPolygonMode(GL_BACK, GL_FILL);
-
- glBegin(GL_TRIANGLES);
- glNormal3f(.8,0,0);
- glVertex3f( -0.8, 0.8, -0.0);
- glNormal3f(0,0,.7);
- glVertex3f( -0.8, -0.8, -0.0);
- glNormal3f(0,.9,0);
- glVertex3f( 0.8, 0.0, -0.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-unfilled-tri.c b/progs/trivial/tri-unfilled-tri.c
deleted file mode 100644
index 75a70b8a41..0000000000
--- a/progs/trivial/tri-unfilled-tri.c
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
-/* glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0); */
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glPolygonMode(GL_FRONT, GL_LINE);
- glPolygonMode(GL_BACK, GL_LINE);
-
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -0.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, -0.0);
- glColor3f(0,.9,0);
- glVertex3f(-0.9, 0.0, -0.0);
- glEnd();
-
- glPolygonMode(GL_FRONT, GL_FILL);
- glPolygonMode(GL_BACK, GL_FILL);
-
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,.7);
- glVertex3f( 0.8, -0.8, -0.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.8, 0.8, -0.0);
- glColor3f(0,.9,0);
- glVertex3f(-0.8, 0.0, -0.0);
- glEnd();
-
- glPolygonMode(GL_FRONT, GL_LINE);
- glPolygonMode(GL_BACK, GL_LINE);
-
- glBegin(GL_TRIANGLES);
- glColor3f(.8,0,0);
- glVertex3f( -0.9, 0.9, -0.0);
- glColor3f(0,0,.7);
- glVertex3f( -0.9, -0.9, -0.0);
- glColor3f(0,.9,0);
- glVertex3f( 0.9, 0.0, -0.0);
- glEnd();
-
- glPolygonMode(GL_FRONT, GL_FILL);
- glPolygonMode(GL_BACK, GL_FILL);
-
- glBegin(GL_TRIANGLES);
- glColor3f(.8,0,0);
- glVertex3f( -0.8, 0.8, -0.0);
- glColor3f(0,0,.7);
- glVertex3f( -0.8, -0.8, -0.0);
- glColor3f(0,.9,0);
- glVertex3f( 0.8, 0.0, -0.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-unfilled-userclip-stip.c b/progs/trivial/tri-unfilled-userclip-stip.c
deleted file mode 100644
index 02bfa92f83..0000000000
--- a/progs/trivial/tri-unfilled-userclip-stip.c
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- static GLdouble plane[4] = { -.5, 0, 1, 0 };
-
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
- glClipPlane(GL_CLIP_PLANE0, plane);
- glEnable(GL_CLIP_PLANE0);
- glLineWidth( 4 );
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
-/* glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0); */
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
- glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
-
- glEnable(GL_LINE_STIPPLE);
- glLineStipple( 5, 0xfffe );
-
-
-
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, 0.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, 0.0);
- glColor3f(0,.9,0);
- glVertex3f(-0.9, 0.0, 0.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-unfilled-userclip.c b/progs/trivial/tri-unfilled-userclip.c
deleted file mode 100644
index 11e53fc7cc..0000000000
--- a/progs/trivial/tri-unfilled-userclip.c
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- static GLdouble plane[4] = { -.5, 0, 1, 0 };
-
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
- glClipPlane(GL_CLIP_PLANE0, plane);
- glEnable(GL_CLIP_PLANE0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
-/* glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0); */
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
- glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
-
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, 0.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, 0.0);
- glColor3f(0,.9,0);
- glVertex3f(-0.9, 0.0, 0.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-unfilled.c b/progs/trivial/tri-unfilled.c
deleted file mode 100644
index afa1058dad..0000000000
--- a/progs/trivial/tri-unfilled.c
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
-/* glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0); */
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
- glPolygonMode(GL_FRONT, GL_LINE);
- glPolygonMode(GL_BACK, GL_LINE);
-
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -0.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, -0.0);
- glColor3f(0,.9,0);
- glVertex3f(-0.9, 0.0, -0.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-userclip.c b/progs/trivial/tri-userclip.c
deleted file mode 100644
index 5651c73832..0000000000
--- a/progs/trivial/tri-userclip.c
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- static GLdouble plane[4] = { -.5, 0, 1, 0 };
-
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
- glClipPlane(GL_CLIP_PLANE0, plane);
- glEnable(GL_CLIP_PLANE0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
-/* glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0); */
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, 0.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, 0.0);
- glColor3f(0,.9,0);
- glVertex3f(-0.9, 0.0, 0.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-viewport.c b/progs/trivial/tri-viewport.c
deleted file mode 100644
index 3e52449b47..0000000000
--- a/progs/trivial/tri-viewport.c
+++ /dev/null
@@ -1,327 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-GLenum doubleBuffer = 1;
-int win;
-static float tx = 0;
-static float ty = 0;
-static float tw = 0;
-static float th = 0;
-static float z = -5;
-
-
-static float win_width = 250;
-static float win_height = 250;
-static enum {
- ORTHO,
- FRUSTUM,
- MODE_MAX
-} mode = ORTHO;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0, 0, 0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
- win_width = width;
- win_height = height;
- glutPostRedisplay();
-}
-
-
-static void Key(unsigned char key, int x, int y)
-{
- switch (key) {
- case 27:
- exit(0);
- case 'w':
- tw += 1.0;
- break;
- case 'W':
- tw -= 1.0;
- break;
- case 'h':
- th += 1.0;
- break;
- case 'H':
- th -= 1.0;
- break;
-
- case 'z':
- z += 1.0;
- break;
- case 'Z':
- z -= 1.0;
- break;
- case 'm':
- mode++;
- mode %= MODE_MAX;
- break;
- case ' ':
- tw = th = tx = ty = 0;
- z = -5;
- mode = ORTHO;
- break;
- default:
- break;
- }
- glutPostRedisplay();
-}
-
-
-static void Draw(void)
-{
- int i;
- float w = tw + win_width;
- float h = th + win_height;
-
- fprintf(stderr, "glViewport(%f %f %f %f)\n", tx, ty, w, h);
- fprintf(stderr, "mode: %s\n", mode == FRUSTUM ? "FRUSTUM" : "ORTHO");
- fprintf(stderr, "z: %f\n", z);
- fflush(stderr);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
-
- switch (mode) {
- case FRUSTUM:
- glFrustum(-1.0, 1.0, -1.0, 1.0, 5.0, 25.0);
- break;
- case ORTHO:
- default:
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- break;
- }
-
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
-
-
- glClear(GL_COLOR_BUFFER_BIT);
-
-
- /***********************************************************************
- * Should be clipped to be no larger than the triangles:
- */
- glViewport(tx, ty, w, h);
-
- glBegin(GL_POLYGON);
- glColor3f(1,1,0);
- glVertex3f(-100, -100, z);
- glVertex3f(-100, 100, z);
- glVertex3f(100, 100, z);
- glVertex3f(100, -100, z);
- glEnd();
-
- glBegin(GL_POLYGON);
- glColor3f(0,1,1);
- glVertex3f(-10, -10, z);
- glVertex3f(-10, 10, z);
- glVertex3f(10, 10, z);
- glVertex3f(10, -10, z);
- glEnd();
-
- glBegin(GL_POLYGON);
- glColor3f(1,0,0);
- glVertex3f(-2, -2, z);
- glVertex3f(-2, 2, z);
- glVertex3f(2, 2, z);
- glVertex3f(2, -2, z);
- glEnd();
-
-
- glBegin(GL_POLYGON);
- glColor3f(.5,.5,1);
- glVertex3f(-1, -1, z);
- glVertex3f(-1, 1, z);
- glVertex3f(1, 1, z);
- glVertex3f(1, -1, z);
- glEnd();
-
- /***********************************************************************
- */
- glViewport(0, 0, win_width, win_height);
- glBegin(GL_LINES);
- glColor3f(1,1,0);
- glVertex3f(-1, 0, z);
- glVertex3f(1, 0, z);
-
- glVertex3f(0, -1, z);
- glVertex3f(0, 1, z);
- glEnd();
-
-
- /***********************************************************************
- */
- glViewport(tx, ty, w, h);
- glBegin(GL_TRIANGLES);
- glColor3f(1,0,0);
- glVertex3f(-1, -1, z);
- glVertex3f(0, -1, z);
- glVertex3f(-.5, -.5, z);
-
- glColor3f(1,1,1);
- glVertex3f(0, -1, z);
- glVertex3f(1, -1, z);
- glVertex3f(.5, -.5, z);
-
- glVertex3f(-.5, -.5, z);
- glVertex3f(.5, -.5, z);
- glVertex3f(0, 0, z);
-
-
- glColor3f(0,1,0);
- glVertex3f(1, 1, z);
- glVertex3f(0, 1, z);
- glVertex3f(.5, .5, z);
-
- glColor3f(1,1,1);
- glVertex3f(0, 1, z);
- glVertex3f(-1, 1, z);
- glVertex3f(-.5, .5, z);
-
- glVertex3f(.5, .5, z);
- glVertex3f(-.5, .5, z);
- glVertex3f( 0, 0, z);
-
- glEnd();
-
-
- glViewport(0, 0, win_width, win_height);
-
- glBegin(GL_LINES);
- glColor3f(.5,.5,0);
- for (i = -10; i < 10; i++) {
- float f = i / 10.0;
-
- if (i == 0)
- continue;
-
- glVertex3f(-1, f, z);
- glVertex3f(1, f, z);
-
- glVertex3f(f, -1, z);
- glVertex3f(f, 1, z);
- }
- glEnd();
-
-
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- if (getenv("VPX"))
- tx = atof(getenv("VPX"));
-
- if (getenv("VPY"))
- ty = atof(getenv("VPY"));
-
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-
-static void
-special(int k, int x, int y)
-{
- switch (k) {
- case GLUT_KEY_UP:
- ty += 1.0;
- break;
- case GLUT_KEY_DOWN:
- ty -= 1.0;
- break;
- case GLUT_KEY_LEFT:
- tx -= 1.0;
- break;
- case GLUT_KEY_RIGHT:
- tx += 1.0;
- break;
- default:
- break;
- }
- glutPostRedisplay();
-}
-
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- win = glutCreateWindow(*argv);
- if (!win) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutSpecialFunc(special);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-z-9.c b/progs/trivial/tri-z-9.c
deleted file mode 100644
index 37b9e2f873..0000000000
--- a/progs/trivial/tri-z-9.c
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, 1, -1);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClearColor(0.0, 0.0, 1.0, 0.0);
- glClearDepth(1.0);
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
- glDepthFunc(GL_EQUAL);
- glEnable(GL_DEPTH_TEST);
-
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, .5);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, .5);
- glColor3f(0,.9,0);
- glVertex3f(-0.9, 0.0, .5);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(100, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_DEPTH;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-z-eq.c b/progs/trivial/tri-z-eq.c
deleted file mode 100644
index 6bdac47419..0000000000
--- a/progs/trivial/tri-z-eq.c
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, 1, -1);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClearColor(0.0, 0.0, 1.0, 0.0);
- glClearDepth(1.0);
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
- glDepthFunc(GL_EQUAL);
- glEnable(GL_DEPTH_TEST);
-
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, 1.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, 1.0);
- glColor3f(0,.9,0);
- glVertex3f(-0.9, 0.0, 1.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(100, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_DEPTH;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri-z.c b/progs/trivial/tri-z.c
deleted file mode 100644
index 092249dd76..0000000000
--- a/progs/trivial/tri-z.c
+++ /dev/null
@@ -1,204 +0,0 @@
-/*
- * Copyright (c) 1993-1997, Silicon Graphics, Inc.
- * ALL RIGHTS RESERVED
- * Permission to use, copy, modify, and distribute this software for
- * any purpose and without fee is hereby granted, provided that the above
- * copyright notice appear in all copies and that both the copyright notice
- * and this permission notice appear in supporting documentation, and that
- * the name of Silicon Graphics, Inc. not be used in advertising
- * or publicity pertaining to distribution of the software without specific,
- * written prior permission.
- *
- * THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
- * AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
- * INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
- * FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
- * GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
- * SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
- * KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
- * LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
- * THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN
- * ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
- * POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * US Government Users Restricted Rights
- * Use, duplication, or disclosure by the Government is subject to
- * restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
- * (c)(1)(ii) of the Rights in Technical Data and Computer Software
- * clause at DFARS 252.227-7013 and/or in similar or successor
- * clauses in the FAR or the DOD or NASA FAR Supplement.
- * Unpublished-- rights reserved under the copyright laws of the
- * United States. Contractor/manufacturer is Silicon Graphics,
- * Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311.
- *
- * OpenGL(R) is a registered trademark of Silicon Graphics, Inc.
- */
-
-#include <GL/glut.h>
-#include <stdlib.h>
-#include <stdio.h>
-
-static int leftFirst = GL_TRUE;
-
-static struct { GLenum func; const char *str; } funcs[] =
- {
- { GL_LESS, "GL_LESS" },
- { GL_LEQUAL, "GL_LEQUAL" },
- { GL_GREATER, "GL_GREATER" },
- { GL_GEQUAL, "GL_GEQUAL" },
- { GL_EQUAL, "GL_EQUAL" },
- { GL_NOTEQUAL, "GL_NOTEQUAL" },
- { GL_ALWAYS, "GL_ALWAYS" },
- { GL_NEVER, "GL_NEVER" },
- };
-
-#define NUM_FUNCS (sizeof(funcs) / sizeof(funcs[0]))
-
-static int curFunc = 0;
-static double clearVal = 1.0;
-static float minZ = 0.0;
-static float maxZ = 1.0;
-
-static void usage(void)
-{
- printf("t - toggle rendering order of triangles\n");
- printf("c - toggle Z clear value between 0, 1\n");
- printf("f - cycle through depth test functions\n");
- printf("n/N - decrease/increase depthrange minZ\n");
- printf("x/X - decrease/increase depthrange maxZ\n");
- printf("spc - reset\n");
- printf("z - set to reverse-direction (ztrick) mode\n");
- fflush(stdout);
-}
-
-
-static void init(void)
-{
- glEnable(GL_DEPTH_TEST);
- glClearColor (1.0, 0.0, 0.0, 0.0);
-}
-
-static void drawLeftTriangle(void)
-{
- /* draw yellow triangle on LHS of screen */
- glBegin (GL_TRIANGLES);
- glColor4f(1.0, 1.0, 0.0, 0.75);
- glVertex3f(0.1, 0.9, -1.0);
- glVertex3f(0.1, 0.1, -1.0);
- glVertex3f(0.8, 0.5, 1.0);
- glEnd();
-}
-
-static void drawRightTriangle(void)
-{
- /* draw cyan triangle on RHS of screen */
- glBegin (GL_TRIANGLES);
- glColor4f(0.0, 1.0, 1.0, 0.75);
- glVertex3f(0.9, 0.9, 0.0);
- glVertex3f(0.2, 0.5, 0.0);
- glVertex3f(0.9, 0.1, 0.0);
- glEnd();
-}
-
-static void display(void)
-{
- printf("GL_CLEAR_DEPTH = %.2f, GL_DEPTH_FUNC = %s, DepthRange(%.1f, %.1f)\n",
- clearVal, funcs[curFunc].str, minZ, maxZ);
- fflush(stdout);
- glClearDepth(clearVal);
- glDepthRange(minZ, maxZ);
- glDepthFunc(funcs[curFunc].func);
-
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
- if (leftFirst) {
- drawLeftTriangle();
- drawRightTriangle();
- }
- else {
- drawRightTriangle();
- drawLeftTriangle();
- }
-
- glFlush();
-}
-
-static void reshape(int w, int h)
-{
- glViewport(0, 0, (GLsizei) w, (GLsizei) h);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- if (w <= h)
- gluOrtho2D (0.0, 1.0, 0.0, 1.0*(GLfloat)h/(GLfloat)w);
- else
- gluOrtho2D (0.0, 1.0*(GLfloat)w/(GLfloat)h, 0.0, 1.0);
-}
-
-/* ARGSUSED1 */
-static void keyboard(unsigned char key, int x, int y)
-{
- switch (key) {
- case 'n':
- minZ -= .1;
- break;
- case 'N':
- minZ += .1;
- break;
- case 'x':
- maxZ -= .1;
- break;
- case 'X':
- maxZ += .1;
- break;
- case 'c':
- case 'C':
- clearVal = 1.0 - clearVal;
- break;
- case 'f':
- case 'F':
- curFunc = (curFunc + 1) % NUM_FUNCS;
- break;
- case 't':
- case 'T':
- leftFirst = !leftFirst;
- break;
- case ' ':
- curFunc = 0;
- clearVal = 1.0;
- minZ = 0.0;
- maxZ = 1.0;
- break;
- case 'z':
- curFunc = 2;
- clearVal = 0.0;
- minZ = 1.0;
- maxZ = 0.0;
- break;
- case 27: /* Escape key */
- exit(0);
- break;
- default:
- return;
- }
- glutPostRedisplay();
-}
-
-/* Main Loop
- * Open window with initial window size, title bar,
- * RGBA display mode, and handle input events.
- */
-int main(int argc, char** argv)
-{
- glutInit(&argc, argv);
- glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH);
- glutInitWindowSize (200, 200);
- glutCreateWindow (argv[0]);
- glutReshapeFunc (reshape);
- glutKeyboardFunc (keyboard);
- glutDisplayFunc (display);
- init();
- usage();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tri.c b/progs/trivial/tri.c
deleted file mode 100644
index cac3fcb7d9..0000000000
--- a/progs/trivial/tri.c
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer = 1;
-int win;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.3, 0.1, 0.3, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
- switch (key) {
- case 27:
- glutDestroyWindow(win);
- exit(0);
- default:
- glutPostRedisplay();
- return;
- }
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_TRIANGLES);
- glColor3f(.8,0,0);
- glVertex3f(-0.9, -0.9, -30.0);
- glColor3f(0,.9,0);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(0,0,.7);
- glVertex3f( 0.0, 0.9, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- win = glutCreateWindow(*argv);
- if (!win) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/trifan-flat-clip.c b/progs/trivial/trifan-flat-clip.c
deleted file mode 100644
index 89bc471191..0000000000
--- a/progs/trivial/trifan-flat-clip.c
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
- glShadeModel(GL_FLAT);
-
-
- glBegin(GL_TRIANGLE_FAN);
- glColor3f(1,0,0);
- glVertex3f( 0, 0, -30.0);
- glColor3f(1,1,0);
- glVertex3f( 1.3, 1.1, -30.0);
- glColor3f(1,0,1);
- glVertex3f(-.9, .9, -30.0);
- glColor3f(0,1,1);
- glVertex3f(-1.1, -1.3, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/trifan-flat-unfilled-clip.c b/progs/trivial/trifan-flat-unfilled-clip.c
deleted file mode 100644
index 3a1a226e54..0000000000
--- a/progs/trivial/trifan-flat-unfilled-clip.c
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
- glShadeModel(GL_FLAT);
-
- glPolygonMode(GL_FRONT, GL_LINE);
- glPolygonMode(GL_BACK, GL_LINE);
- glLineWidth(4.0);
-
-
- glBegin(GL_TRIANGLE_FAN);
- glColor3f(1,0,0);
- glVertex3f( 0, 0, -30.0);
- glColor3f(1,1,0);
- glVertex3f( 1.3, 1.1, -30.0);
- glColor3f(1,0,1);
- glVertex3f(-.9, .9, -30.0);
- glColor3f(0,1,1);
- glVertex3f(-1.1, -1.3, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/trifan-flat.c b/progs/trivial/trifan-flat.c
deleted file mode 100644
index d25abdf49e..0000000000
--- a/progs/trivial/trifan-flat.c
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
- glShadeModel(GL_FLAT);
-
-
- glBegin(GL_TRIANGLE_FAN);
- glColor3f(1,0,0);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(1,1,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(1,0,1);
- glVertex3f(-0.9, 0.9, -30.0);
- glColor3f(0,1,1);
- glVertex3f(-0.9, -0.9, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/trifan-unfilled.c b/progs/trivial/trifan-unfilled.c
deleted file mode 100644
index 2e3ff8218f..0000000000
--- a/progs/trivial/trifan-unfilled.c
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
- glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
-
- glBegin(GL_TRIANGLE_FAN);
- glColor3f(1,0,0);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(1,1,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(1,0,1);
- glVertex3f(-0.9, 0.9, -30.0);
- glColor3f(0,1,1);
- glVertex3f(-0.9, -0.9, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/trifan.c b/progs/trivial/trifan.c
deleted file mode 100644
index b8a7615114..0000000000
--- a/progs/trivial/trifan.c
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_TRIANGLE_FAN);
- glColor3f(1,0,0);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(1,1,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(1,0,1);
- glVertex3f(-0.9, 0.9, -30.0);
- glColor3f(0,1,1);
- glVertex3f(-0.9, -0.9, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tristrip-clip.c b/progs/trivial/tristrip-clip.c
deleted file mode 100644
index 4e6ee1fbca..0000000000
--- a/progs/trivial/tristrip-clip.c
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_TRIANGLE_STRIP);
- glColor3f(1,0,0);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(1,1,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(0,1,1);
- glVertex3f(-0.9, -0.9, -30.0);
- glColor3f(1,0,1);
- glVertex3f(-1.9, 0.9, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tristrip-flat.c b/progs/trivial/tristrip-flat.c
deleted file mode 100644
index a90b8b6cb6..0000000000
--- a/progs/trivial/tristrip-flat.c
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
- glShadeModel(GL_FLAT);
-
- if (0) {
- glBegin(GL_LINES);
- glColor3f(1,0,0);
- glVertex3f( 0.95, -0.9, -30.0);
- glColor3f(1,1,0);
- glVertex3f( 0.95, 0.9, -30.0);
- glEnd();
- }
-
- glBegin(GL_TRIANGLE_STRIP);
- glColor3f(1,0,0);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(0,1,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(0,0,.5);
- glVertex3f(-0.9, -0.9, -30.0);
- glColor3f(1,1,1);
- glVertex3f(-0.9, 0.9, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/tristrip.c b/progs/trivial/tristrip.c
deleted file mode 100644
index 29915ff111..0000000000
--- a/progs/trivial/tristrip.c
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the name of
- * Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
- * ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_TRIANGLE_STRIP);
- glColor3f(1,0,0);
- glVertex3f( 0.9, -0.9, -30.0);
- glColor3f(1,1,0);
- glVertex3f( 0.9, 0.9, -30.0);
- glColor3f(0,1,1);
- glVertex3f(-0.9, -0.9, -30.0);
- glColor3f(1,0,1);
- glVertex3f(-0.9, 0.9, -30.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/vbo-drawarrays.c b/progs/trivial/vbo-drawarrays.c
deleted file mode 100644
index cb26e84115..0000000000
--- a/progs/trivial/vbo-drawarrays.c
+++ /dev/null
@@ -1,134 +0,0 @@
-/* Basic VBO */
-
-#include <assert.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-
-struct {
- GLfloat pos[3];
- GLubyte color[4];
-} verts[] =
-{
- { { 0.9, -0.9, 0.0 },
- { 0x00, 0x00, 0xff, 0x00 }
- },
-
- { { 0.9, 0.9, 0.0 },
- { 0x00, 0xff, 0x00, 0x00 }
- },
-
- { { -0.9, 0.9, 0.0 },
- { 0xff, 0x00, 0x00, 0x00 }
- },
-
- { { -0.9, -0.9, 0.0 },
- { 0xff, 0xff, 0xff, 0x00 }
- },
-};
-
-GLuint arrayObj, elementObj;
-
-static void Init( void )
-{
- GLint errno;
- GLuint prognum;
-
- static const char *prog1 =
- "!!ARBvp1.0\n"
- "MOV result.color, vertex.color;\n"
- "MOV result.position, vertex.position;\n"
- "END\n";
-
- glGenProgramsARB(1, &prognum);
- glBindProgramARB(GL_VERTEX_PROGRAM_ARB, prognum);
- glProgramStringARB(GL_VERTEX_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
- strlen(prog1), (const GLubyte *) prog1);
-
- assert(glIsProgramARB(prognum));
- errno = glGetError();
- printf("glGetError = %d\n", errno);
- if (errno != GL_NO_ERROR)
- {
- GLint errorpos;
-
- glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &errorpos);
- printf("errorpos: %d\n", errorpos);
- printf("%s\n", (char *)glGetString(GL_PROGRAM_ERROR_STRING_ARB));
- }
-
-
- glEnableClientState( GL_VERTEX_ARRAY );
- glEnableClientState( GL_COLOR_ARRAY );
-
- glGenBuffersARB(1, &arrayObj);
- glBindBufferARB(GL_ARRAY_BUFFER_ARB, arrayObj);
- glBufferDataARB(GL_ARRAY_BUFFER_ARB, sizeof(verts), verts, GL_STATIC_DRAW_ARB);
-
- glVertexPointer( 3, GL_FLOAT, sizeof(verts[0]), 0 );
- glColorPointer( 4, GL_UNSIGNED_BYTE, sizeof(verts[0]), (void *)(3*sizeof(float)) );
-
-}
-
-
-
-static void Display( void )
-{
- glClearColor(0.3, 0.3, 0.3, 1);
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
-
- glEnable(GL_VERTEX_PROGRAM_ARB);
-
- /* glDrawArrays( GL_TRIANGLES, 0, 3 ); */
- glDrawArrays( GL_TRIANGLES, 1, 3 );
-
- glFlush();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- /*glTranslatef( 0.0, 0.0, -15.0 );*/
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 250, 250 );
- glutInitDisplayMode( GLUT_RGB | GLUT_SINGLE | GLUT_DEPTH );
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/vbo-drawelements.c b/progs/trivial/vbo-drawelements.c
deleted file mode 100644
index b1b16d920b..0000000000
--- a/progs/trivial/vbo-drawelements.c
+++ /dev/null
@@ -1,138 +0,0 @@
-/* Basic VBO */
-
-#include <assert.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-struct {
- GLfloat pos[3];
- GLubyte color[4];
-} verts[] =
-{
- { { 0.9, -0.9, 0.0 },
- { 0x00, 0x00, 0xff, 0x00 }
- },
-
- { { 0.9, 0.9, 0.0 },
- { 0x00, 0xff, 0x00, 0x00 }
- },
-
- { { -0.9, 0.9, 0.0 },
- { 0xff, 0x00, 0x00, 0x00 }
- },
-
- { { -0.9, -0.9, 0.0 },
- { 0xff, 0xff, 0xff, 0x00 }
- },
-};
-
-GLuint indices[] = { 0, 1, 2, 3 };
-
-GLuint arrayObj, elementObj;
-
-static void Init( void )
-{
- GLint errno;
- GLuint prognum;
-
- static const char *prog1 =
- "!!ARBvp1.0\n"
- "MOV result.color, vertex.color;\n"
- "MOV result.position, vertex.position;\n"
- "END\n";
-
- glGenProgramsARB(1, &prognum);
- glBindProgramARB(GL_VERTEX_PROGRAM_ARB, prognum);
- glProgramStringARB(GL_VERTEX_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
- strlen(prog1), (const GLubyte *) prog1);
-
- assert(glIsProgramARB(prognum));
- errno = glGetError();
- printf("glGetError = %d\n", errno);
- if (errno != GL_NO_ERROR)
- {
- GLint errorpos;
-
- glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &errorpos);
- printf("errorpos: %d\n", errorpos);
- printf("%s\n", (char *)glGetString(GL_PROGRAM_ERROR_STRING_ARB));
- }
-
-
- glEnableClientState( GL_VERTEX_ARRAY );
- glEnableClientState( GL_COLOR_ARRAY );
-
- glGenBuffersARB(1, &arrayObj);
- glGenBuffersARB(1, &elementObj);
-
- glBindBufferARB(GL_ARRAY_BUFFER_ARB, arrayObj);
- glBindBufferARB(GL_ELEMENT_ARRAY_BUFFER_ARB, elementObj);
-
- glBufferDataARB(GL_ARRAY_BUFFER_ARB, sizeof(verts), verts, GL_STATIC_DRAW_ARB);
- glBufferDataARB(GL_ELEMENT_ARRAY_BUFFER_ARB, sizeof(indices), indices, GL_STATIC_DRAW_ARB);
-
- glVertexPointer( 3, GL_FLOAT, sizeof(verts[0]), 0 );
- glColorPointer( 4, GL_UNSIGNED_BYTE, sizeof(verts[0]), (void *)(3*sizeof(float)) );
-
-}
-
-
-
-static void Display( void )
-{
- glClearColor(0.3, 0.3, 0.3, 1);
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
-
- glEnable(GL_VERTEX_PROGRAM_ARB);
- glDrawElements( GL_TRIANGLES, 3, GL_UNSIGNED_INT, NULL );
-
- glFlush();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- /*glTranslatef( 0.0, 0.0, -15.0 );*/
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 250, 250 );
- glutInitDisplayMode( GLUT_RGB | GLUT_SINGLE | GLUT_DEPTH );
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/vbo-drawrange.c b/progs/trivial/vbo-drawrange.c
deleted file mode 100644
index fa87eaf8fe..0000000000
--- a/progs/trivial/vbo-drawrange.c
+++ /dev/null
@@ -1,146 +0,0 @@
-/* Basic VBO */
-
-#include <assert.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-#define ELTOBJ 0
-
-struct {
- GLfloat pos[3];
- GLubyte color[4];
-} verts[] =
-{
- { { 0.9, -0.9, 0.0 },
- { 0x00, 0x00, 0xff, 0x00 }
- },
-
- { { 0.9, 0.9, 0.0 },
- { 0x00, 0xff, 0x00, 0x00 }
- },
-
- { { -0.9, 0.9, 0.0 },
- { 0xff, 0x00, 0x00, 0x00 }
- },
-
- { { -0.9, -0.9, 0.0 },
- { 0xff, 0xff, 0xff, 0x00 }
- },
-};
-
-GLuint indices[] = { 1, 2, 3 };
-
-GLuint arrayObj, elementObj;
-
-static void Init( void )
-{
- GLint errno;
- GLuint prognum;
-
- static const char *prog1 =
- "!!ARBvp1.0\n"
- "MOV result.color, vertex.color;\n"
- "MOV result.position, vertex.position;\n"
- "END\n";
-
- glGenProgramsARB(1, &prognum);
- glBindProgramARB(GL_VERTEX_PROGRAM_ARB, prognum);
- glProgramStringARB(GL_VERTEX_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
- strlen(prog1), (const GLubyte *) prog1);
-
- assert(glIsProgramARB(prognum));
- errno = glGetError();
- printf("glGetError = %d\n", errno);
- if (errno != GL_NO_ERROR)
- {
- GLint errorpos;
-
- glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &errorpos);
- printf("errorpos: %d\n", errorpos);
- printf("%s\n", (char *)glGetString(GL_PROGRAM_ERROR_STRING_ARB));
- }
-
-
- glEnableClientState( GL_VERTEX_ARRAY );
- glEnableClientState( GL_COLOR_ARRAY );
-
- glGenBuffersARB(1, &arrayObj);
- glBindBufferARB(GL_ARRAY_BUFFER_ARB, arrayObj);
- glBufferDataARB(GL_ARRAY_BUFFER_ARB, sizeof(verts), verts, GL_STATIC_DRAW_ARB);
-
-#if ELTOBJ
- glGenBuffersARB(1, &elementObj);
- glBindBufferARB(GL_ELEMENT_ARRAY_BUFFER_ARB, elementObj);
- glBufferDataARB(GL_ELEMENT_ARRAY_BUFFER_ARB, sizeof(indices), indices, GL_STATIC_DRAW_ARB);
-#endif
-
- glVertexPointer( 3, GL_FLOAT, sizeof(verts[0]), 0 );
- glColorPointer( 4, GL_UNSIGNED_BYTE, sizeof(verts[0]), (void *)(3*sizeof(float)) );
-
-}
-
-
-
-static void Display( void )
-{
- glClearColor(0.3, 0.3, 0.3, 1);
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
-
- glEnable(GL_VERTEX_PROGRAM_ARB);
-
-#if ELTOBJ
- glDrawRangeElements( GL_TRIANGLES, 1, 3, 3, GL_UNSIGNED_INT, NULL );
-#else
- glDrawRangeElements( GL_TRIANGLES, 1, 3, 3, GL_UNSIGNED_INT, indices );
-#endif
-
- glFlush();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- /*glTranslatef( 0.0, 0.0, -15.0 );*/
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 250, 250 );
- glutInitDisplayMode( GLUT_RGB | GLUT_SINGLE | GLUT_DEPTH );
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/vbo-noninterleaved.c b/progs/trivial/vbo-noninterleaved.c
deleted file mode 100644
index f7c42a8981..0000000000
--- a/progs/trivial/vbo-noninterleaved.c
+++ /dev/null
@@ -1,139 +0,0 @@
-/* Basic VBO */
-
-#include <assert.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-
-struct {
- GLfloat pos[4][4];
- GLfloat col[4][4];
-} verts =
-{
- /* Position: a quad
- */
- {
- { 0.9, -0.9, 0.0, 1.0 },
- { 0.9, 0.9, 0.0, 1.0 },
- { -0.9, 0.9, 0.0, 1.0 },
- { -0.9, -0.9, 0.0, 1.0 },
- },
-
- /* Color: all red
- */
- {
- { 1.0, 0.0, 0.0, 1.0 },
- { 1.0, 0.0, 0.0, 1.0 },
- { 1.0, 0.0, 0.0, 1.0 },
- { 1.0, 0.0, 0.0, 1.0 },
- },
-
-
-};
-
-GLuint arrayObj, elementObj;
-
-static void Init( void )
-{
- GLint errno;
- GLuint prognum;
-
- static const char *prog1 =
- "!!ARBvp1.0\n"
- "MOV result.color, vertex.color;\n"
- "MOV result.position, vertex.position;\n"
- "END\n";
-
- glGenProgramsARB(1, &prognum);
- glBindProgramARB(GL_VERTEX_PROGRAM_ARB, prognum);
- glProgramStringARB(GL_VERTEX_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
- strlen(prog1), (const GLubyte *) prog1);
-
- assert(glIsProgramARB(prognum));
- errno = glGetError();
- printf("glGetError = %d\n", errno);
- if (errno != GL_NO_ERROR)
- {
- GLint errorpos;
-
- glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &errorpos);
- printf("errorpos: %d\n", errorpos);
- printf("%s\n", (char *)glGetString(GL_PROGRAM_ERROR_STRING_ARB));
- }
-
-
- glEnableClientState( GL_VERTEX_ARRAY );
- glEnableClientState( GL_COLOR_ARRAY );
-
- glGenBuffersARB(1, &arrayObj);
- glBindBufferARB(GL_ARRAY_BUFFER_ARB, arrayObj);
- glBufferDataARB(GL_ARRAY_BUFFER_ARB, sizeof(verts), &verts, GL_STATIC_DRAW_ARB);
-
- glVertexPointer( 4, GL_FLOAT, sizeof(verts.pos[0]), 0 );
- glColorPointer( 4, GL_FLOAT, sizeof(verts.col[0]), (void *)(4*4*sizeof(float)) );
-
-}
-
-
-
-static void Display( void )
-{
- glClearColor(0.3, 0.3, 0.3, 1);
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
-
- glEnable(GL_VERTEX_PROGRAM_ARB);
-
- /* glDrawArrays( GL_TRIANGLES, 0, 3 ); */
- /* glDrawArrays( GL_TRIANGLES, 1, 3 ); */
- glDrawArrays( GL_QUADS, 0, 4 );
-
- glFlush();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- /*glTranslatef( 0.0, 0.0, -15.0 );*/
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 250, 250 );
- glutInitDisplayMode( GLUT_RGB | GLUT_SINGLE | GLUT_DEPTH );
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/vp-array-int.c b/progs/trivial/vp-array-int.c
deleted file mode 100644
index 2e1ac1374d..0000000000
--- a/progs/trivial/vp-array-int.c
+++ /dev/null
@@ -1,118 +0,0 @@
-/* Test glGenProgramsNV(), glIsProgramNV(), glLoadProgramNV() */
-
-#include <assert.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-GLint verts[][4] = {
- { 1, -1, 0, 1 },
- { 1, 1, 0, 1 },
- { -1, 1, 0, 1 },
- { -1, -1, 0, 1 },
-};
-
-GLubyte color[][4] = {
- { 0x00, 0x00, 0xff, 0x00 },
- { 0x00, 0xff, 0x00, 0x00 },
- { 0xff, 0x00, 0x00, 0x00 },
- { 0xff, 0xff, 0xff, 0x00 },
-};
-
-GLuint indices[] = { 0, 1, 2, 3 };
-
-static void Init( void )
-{
- GLint errno;
- GLuint prognum;
-
- static const char *prog1 =
- "!!ARBvp1.0\n"
- "MOV result.color, vertex.color;\n"
- "MOV result.position, vertex.position;\n"
- "END\n";
-
- glGenProgramsARB(1, &prognum);
- glBindProgramARB(GL_VERTEX_PROGRAM_ARB, prognum);
- glProgramStringARB(GL_VERTEX_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
- strlen(prog1), (const GLubyte *) prog1);
-
- assert(glIsProgramARB(prognum));
- errno = glGetError();
- printf("glGetError = %d\n", errno);
- if (errno != GL_NO_ERROR)
- {
- GLint errorpos;
-
- glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &errorpos);
- printf("errorpos: %d\n", errorpos);
- printf("%s\n", (char *)glGetString(GL_PROGRAM_ERROR_STRING_ARB));
- }
-
-
- glEnableClientState( GL_VERTEX_ARRAY );
- glEnableClientState( GL_COLOR_ARRAY );
- glVertexPointer( 3, GL_INT, sizeof(verts[0]), verts );
- glColorPointer( 4, GL_UNSIGNED_BYTE, 0, color );
-
-}
-
-
-
-static void Display( void )
-{
- glClearColor(0.3, 0.3, 0.3, 1);
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
-
- glEnable(GL_VERTEX_PROGRAM_NV);
- glDrawElements( GL_TRIANGLES, 3, GL_UNSIGNED_INT, indices );
-
- glFlush();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- /*glTranslatef( 0.0, 0.0, -15.0 );*/
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 250, 250 );
- glutInitDisplayMode( GLUT_RGB | GLUT_SINGLE | GLUT_DEPTH );
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/vp-array.c b/progs/trivial/vp-array.c
deleted file mode 100644
index 852bf7d44d..0000000000
--- a/progs/trivial/vp-array.c
+++ /dev/null
@@ -1,118 +0,0 @@
-/* Test glGenProgramsNV(), glIsProgramNV(), glLoadProgramNV() */
-
-#include <assert.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-GLfloat verts[][4] = {
- { 0.9, -0.9, 0.0, 1.0 },
- { 0.9, 0.9, 0.0, 1.0 },
- { -0.9, 0.9, 0.0, 1.0 },
- { -0.9, -0.9, 0.0, 1.0 },
-};
-
-GLubyte color[][4] = {
- { 0x00, 0x00, 0xff, 0x00 },
- { 0x00, 0xff, 0x00, 0x00 },
- { 0xff, 0x00, 0x00, 0x00 },
- { 0xff, 0xff, 0xff, 0x00 },
-};
-
-GLuint indices[] = { 0, 1, 2, 3 };
-
-static void Init( void )
-{
- GLint errno;
- GLuint prognum;
-
- static const char *prog1 =
- "!!ARBvp1.0\n"
- "MOV result.color, vertex.color;\n"
- "MOV result.position, vertex.position;\n"
- "END\n";
-
- glGenProgramsARB(1, &prognum);
- glBindProgramARB(GL_VERTEX_PROGRAM_ARB, prognum);
- glProgramStringARB(GL_VERTEX_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
- strlen(prog1), (const GLubyte *) prog1);
-
- assert(glIsProgramARB(prognum));
- errno = glGetError();
- printf("glGetError = %d\n", errno);
- if (errno != GL_NO_ERROR)
- {
- GLint errorpos;
-
- glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &errorpos);
- printf("errorpos: %d\n", errorpos);
- printf("%s\n", (char *)glGetString(GL_PROGRAM_ERROR_STRING_ARB));
- }
-
-
- glEnableClientState( GL_VERTEX_ARRAY );
- glEnableClientState( GL_COLOR_ARRAY );
- glVertexPointer( 3, GL_FLOAT, sizeof(verts[0]), verts );
- glColorPointer( 4, GL_UNSIGNED_BYTE, 0, color );
-
-}
-
-
-
-static void Display( void )
-{
- glClearColor(0.3, 0.3, 0.3, 1);
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
-
- glEnable(GL_VERTEX_PROGRAM_NV);
- glDrawElements( GL_TRIANGLES, 3, GL_UNSIGNED_INT, indices );
-
- glFlush();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- /*glTranslatef( 0.0, 0.0, -15.0 );*/
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 250, 250 );
- glutInitDisplayMode( GLUT_RGB | GLUT_SINGLE | GLUT_DEPTH );
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/vp-clip.c b/progs/trivial/vp-clip.c
deleted file mode 100644
index 267b927b93..0000000000
--- a/progs/trivial/vp-clip.c
+++ /dev/null
@@ -1,103 +0,0 @@
-/* Test glGenProgramsNV(), glIsProgramNV(), glLoadProgramNV() */
-
-#include <assert.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-static void Init( void )
-{
- GLint errno;
- GLuint prognum;
-
- static const char *prog1 =
- "!!ARBvp1.0\n"
- "MOV result.color, vertex.color;\n"
- "MOV result.position, vertex.position;\n"
- "END\n";
-
- glGenProgramsARB(1, &prognum);
-
- glBindProgramARB(GL_VERTEX_PROGRAM_ARB, prognum);
- glProgramStringARB(GL_VERTEX_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
- strlen(prog1), (const GLubyte *) prog1);
-
- assert(glIsProgramARB(prognum));
- errno = glGetError();
- printf("glGetError = %d\n", errno);
- if (errno != GL_NO_ERROR)
- {
- GLint errorpos;
-
- glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &errorpos);
- printf("errorpos: %d\n", errorpos);
- printf("%s\n", (char *)glGetString(GL_PROGRAM_ERROR_STRING_ARB));
- }
-}
-
-static void Display( void )
-{
- glClearColor(0.3, 0.3, 0.3, 1);
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
-
- glEnable(GL_VERTEX_PROGRAM_NV);
-
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,1);
- glVertex3f( 2.0, -2.0, 0.0);
- glColor3f(0,1,0);
- glVertex3f( 2.0, 2.0, 0.0);
- glColor3f(1,0,0);
- glVertex3f(-2.0, 0.0, 0.0);
- glEnd();
-
-
- glFlush();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- /*glTranslatef( 0.0, 0.0, -15.0 );*/
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 250, 250 );
- glutInitDisplayMode( GLUT_RGB | GLUT_SINGLE | GLUT_DEPTH );
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/vp-line-clip.c b/progs/trivial/vp-line-clip.c
deleted file mode 100644
index d27e4aae07..0000000000
--- a/progs/trivial/vp-line-clip.c
+++ /dev/null
@@ -1,117 +0,0 @@
-/* Test glGenProgramsNV(), glIsProgramNV(), glLoadProgramNV() */
-
-#include <assert.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-static void Init( void )
-{
- GLint errno;
- GLuint prognum;
-
- static const char *prog1 =
- "!!ARBvp1.0\n"
- "MOV result.color, vertex.color;\n"
- "MOV result.position, vertex.position;\n"
- "END\n";
-
- glGenProgramsARB(1, &prognum);
-
- glBindProgramARB(GL_VERTEX_PROGRAM_ARB, prognum);
- glProgramStringARB(GL_VERTEX_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
- strlen(prog1), (const GLubyte *) prog1);
-
- assert(glIsProgramARB(prognum));
- errno = glGetError();
- printf("glGetError = %d\n", errno);
- if (errno != GL_NO_ERROR)
- {
- GLint errorpos;
-
- glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &errorpos);
- printf("errorpos: %d\n", errorpos);
- printf("%s\n", (char *)glGetString(GL_PROGRAM_ERROR_STRING_ARB));
- }
-}
-
-static void Display( void )
-{
- glClearColor(0.3, 0.3, 0.3, 1);
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
-
- glEnable(GL_VERTEX_PROGRAM_NV);
-
-#if 0
- glBegin(GL_LINES);
- glColor3f(0,0,1);
- glVertex3f( 0.75, -0.75, 0.0);
- glColor3f(0,1,0);
- glVertex3f( 0.75, 0.75, 0.0);
-
- glColor3f(0,1,0);
- glVertex3f( 0.75, 0.75, 0.0);
- glColor3f(1,0,0);
- glVertex3f(-1.75, 0.0, 0.0);
- glEnd();
-#else
- glBegin(GL_LINE_STRIP);
- glColor3f(0,0,1);
- glVertex3f( 0.75, -0.75, 0.0);
- glColor3f(0,1,0);
- glVertex3f( 0.75, 0.75, 0.0);
- glColor3f(1,0,0);
- glVertex3f(-1.75, 0.0, 0.0);
- glEnd();
-#endif
-
-
- glFlush();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- /*glTranslatef( 0.0, 0.0, -15.0 );*/
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 250, 250 );
- glutInitDisplayMode( GLUT_RGB | GLUT_SINGLE | GLUT_DEPTH );
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/vp-tri-cb-pos.c b/progs/trivial/vp-tri-cb-pos.c
deleted file mode 100644
index 9cbc4d1193..0000000000
--- a/progs/trivial/vp-tri-cb-pos.c
+++ /dev/null
@@ -1,158 +0,0 @@
-/* Test glGenProgramsNV(), glIsProgramNV(), glLoadProgramNV() */
-
-#include <stdio.h>
-#include <assert.h>
-#include <string.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- GLint errno;
- GLuint prognum;
-
- static const char *prog1 =
- "!!ARBvp1.0\n"
- "PARAM Emission = state.material.emission; \n"
- "PARAM Ambient = state.material.ambient; \n"
- "PARAM Diffuse = state.material.diffuse; \n"
- "PARAM Specular = state.material.specular; \n"
- "DP4 result.position.x, Ambient, vertex.position;\n"
- "DP4 result.position.y, Diffuse, vertex.position;\n"
- "DP4 result.position.z, Specular, vertex.position;\n"
- "DP4 result.position.w, Emission, vertex.position;\n"
- "MOV result.color, vertex.color;\n"
- "END\n";
-
- const float Ambient[4] = { 0.0, 1.0, 0.0, 0.0 };
- const float Diffuse[4] = { 1.0, 0.0, 0.0, 0.0 };
- const float Specular[4] = { 0.0, 0.0, 1.0, 0.0 };
- const float Emission[4] = { 0.0, 0.0, 0.0, 1.0 };
- glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT, Ambient);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, Diffuse);
- glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, Specular);
- glMaterialfv(GL_FRONT_AND_BACK, GL_EMISSION, Emission);
-
-
- glGenProgramsARB(1, &prognum);
-
- glBindProgramARB(GL_VERTEX_PROGRAM_ARB, prognum);
- glProgramStringARB(GL_VERTEX_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
- strlen(prog1), (const GLubyte *) prog1);
-
- assert(glIsProgramARB(prognum));
- errno = glGetError();
- printf("glGetError = %d\n", errno);
- if (errno != GL_NO_ERROR)
- {
- GLint errorpos;
-
- glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &errorpos);
- printf("errorpos: %d\n", errorpos);
- printf("%s\n", (char *)glGetString(GL_PROGRAM_ERROR_STRING_ARB));
- }
-
- glEnable(GL_VERTEX_PROGRAM_NV);
-
-}
-
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
-/* glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0); */
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -0.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, -0.0);
- glColor3f(0,.9,0);
- glVertex3f(-0.9, 0.0, -0.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- glewInit();
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/vp-tri-cb-tex.c b/progs/trivial/vp-tri-cb-tex.c
deleted file mode 100644
index e543e2ec3f..0000000000
--- a/progs/trivial/vp-tri-cb-tex.c
+++ /dev/null
@@ -1,191 +0,0 @@
-/* Test glGenProgramsNV(), glIsProgramNV(), glLoadProgramNV() */
-
-#include <stdio.h>
-#include <assert.h>
-#include <string.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- GLint errno;
- GLuint prognum;
-
- static const char *prog1 =
- "!!ARBvp1.0\n"
- "PARAM Emission = state.material.emission; \n"
- "PARAM Ambient = state.material.ambient; \n"
- "PARAM Diffuse = state.material.diffuse; \n"
- "PARAM Specular = state.material.specular; \n"
- "DP4 result.position.x, Ambient, vertex.position;\n"
- "DP4 result.position.y, Diffuse, vertex.position;\n"
- "DP4 result.position.z, Specular, vertex.position;\n"
- "DP4 result.position.w, Emission, vertex.position;\n"
- "MOV result.texcoord[0], vertex.texcoord[0];\n"
- "END\n";
-
- const float Ambient[4] = { 0.0, 1.0, 0.0, 0.0 };
- const float Diffuse[4] = { 1.0, 0.0, 0.0, 0.0 };
- const float Specular[4] = { 0.0, 0.0, 1.0, 0.0 };
- const float Emission[4] = { 0.0, 0.0, 0.0, 1.0 };
- glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT, Ambient);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, Diffuse);
- glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, Specular);
- glMaterialfv(GL_FRONT_AND_BACK, GL_EMISSION, Emission);
-
-
- glGenProgramsARB(1, &prognum);
-
- glBindProgramARB(GL_VERTEX_PROGRAM_ARB, prognum);
- glProgramStringARB(GL_VERTEX_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
- strlen(prog1), (const GLubyte *) prog1);
-
- assert(glIsProgramARB(prognum));
- errno = glGetError();
- printf("glGetError = %d\n", errno);
- if (errno != GL_NO_ERROR)
- {
- GLint errorpos;
-
- glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &errorpos);
- printf("errorpos: %d\n", errorpos);
- printf("%s\n", (char *)glGetString(GL_PROGRAM_ERROR_STRING_ARB));
- }
-
- glEnable(GL_VERTEX_PROGRAM_NV);
-
-#define SIZE 32
- {
- GLubyte tex2d[SIZE][SIZE][3];
- GLint s, t;
-
- for (s = 0; s < SIZE; s++) {
- for (t = 0; t < SIZE; t++) {
-#if 0
- tex2d[t][s][0] = (s < SIZE/2) ? 0 : 255;
- tex2d[t][s][1] = (t < SIZE/2) ? 0 : 255;
- tex2d[t][s][2] = 0;
-#else
- tex2d[t][s][0] = s*255/(SIZE-1);
- tex2d[t][s][1] = t*255/(SIZE-1);
- tex2d[t][s][2] = 0;
-#endif
- }
- }
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
-
- glTexImage2D(GL_TEXTURE_2D, 0, 3, SIZE, SIZE, 0,
- GL_RGB, GL_UNSIGNED_BYTE, tex2d);
-
- glEnable(GL_TEXTURE_2D);
- glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_R, GL_REPEAT);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 4);
- }
-
-}
-
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
-/* glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0); */
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glBegin(GL_TRIANGLES);
- glTexCoord2f(1,-1);
- glVertex3f( 0.9, -0.9, -0.0);
- glTexCoord2f(1,1);
- glVertex3f( 0.9, 0.9, -0.0);
- glTexCoord2f(-1,0);
- glVertex3f(-0.9, 0.0, -0.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- glewInit();
-
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/vp-tri-cb.c b/progs/trivial/vp-tri-cb.c
deleted file mode 100644
index 1f12a2c297..0000000000
--- a/progs/trivial/vp-tri-cb.c
+++ /dev/null
@@ -1,108 +0,0 @@
-/* Test glGenProgramsNV(), glIsProgramNV(), glLoadProgramNV() */
-
-#include <assert.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-static void Init( void )
-{
- GLint errno;
- GLuint prognum;
-
- static const char *prog1 =
- "!!ARBvp1.0\n"
- "PARAM Diffuse = state.material.diffuse; \n"
- "MOV result.color, Diffuse;\n"
- "MOV result.position, vertex.position;\n"
- "END\n";
-
- const float Diffuse[4] = { 0.0, 1.0, 0.0, 1.0 };
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, Diffuse);
-
-
- glGenProgramsARB(1, &prognum);
-
- glBindProgramARB(GL_VERTEX_PROGRAM_ARB, prognum);
- glProgramStringARB(GL_VERTEX_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
- strlen(prog1), (const GLubyte *) prog1);
-
- assert(glIsProgramARB(prognum));
- errno = glGetError();
- printf("glGetError = %d\n", errno);
- if (errno != GL_NO_ERROR)
- {
- GLint errorpos;
-
- glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &errorpos);
- printf("errorpos: %d\n", errorpos);
- printf("%s\n", (char *)glGetString(GL_PROGRAM_ERROR_STRING_ARB));
- }
-}
-
-static void Display( void )
-{
- glClearColor(0.3, 0.3, 0.3, 1);
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
-
- glEnable(GL_VERTEX_PROGRAM_NV);
-
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -0.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, -0.0);
- glColor3f(0,.9,0);
- glVertex3f(-0.9, 0.0, -0.0);
- glEnd();
-
-
- glFlush();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- /*glTranslatef( 0.0, 0.0, -15.0 );*/
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 250, 250 );
- glutInitDisplayMode( GLUT_DEPTH | GLUT_RGB | GLUT_SINGLE );
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/vp-tri-imm.c b/progs/trivial/vp-tri-imm.c
deleted file mode 100644
index f2549f3697..0000000000
--- a/progs/trivial/vp-tri-imm.c
+++ /dev/null
@@ -1,102 +0,0 @@
-/* Test glGenProgramsNV(), glIsProgramNV(), glLoadProgramNV() */
-
-#include <assert.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-static void Init( void )
-{
- GLint errno;
- GLuint prognum;
-
- static const char *prog1 =
- "!!ARBvp1.0\n"
- "ADD result.color, vertex.color, {.5}.x;\n"
- "MOV result.position, vertex.position;\n"
- "END\n";
-
-
- glGenProgramsARB(1, &prognum);
-
- glBindProgramARB(GL_VERTEX_PROGRAM_ARB, prognum);
- glProgramStringARB(GL_VERTEX_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
- strlen(prog1), (const GLubyte *) prog1);
-
- assert(glIsProgramARB(prognum));
- errno = glGetError();
- printf("glGetError = %d\n", errno);
- if (errno != GL_NO_ERROR)
- {
- GLint errorpos;
-
- glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &errorpos);
- printf("errorpos: %d\n", errorpos);
- printf("%s\n", (char *)glGetString(GL_PROGRAM_ERROR_STRING_ARB));
- }
-}
-
-static void Display( void )
-{
- glClearColor(0.3, 0.3, 0.3, 1);
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
-
- glEnable(GL_VERTEX_PROGRAM_NV);
-
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,0);
- glVertex3f( 0.9, -0.9, -0.0);
- glVertex3f( 0.9, 0.9, -0.0);
- glVertex3f(-0.9, 0.0, -0.0);
- glEnd();
-
-
- glFlush();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- /*glTranslatef( 0.0, 0.0, -15.0 );*/
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 250, 250 );
- glutInitDisplayMode( GLUT_DEPTH | GLUT_RGB | GLUT_SINGLE );
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/vp-tri-invariant.c b/progs/trivial/vp-tri-invariant.c
deleted file mode 100644
index 4dbe95eb9a..0000000000
--- a/progs/trivial/vp-tri-invariant.c
+++ /dev/null
@@ -1,147 +0,0 @@
-/* Test glGenProgramsNV(), glIsProgramNV(), glLoadProgramNV() */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-
-#define CI_OFFSET_1 16
-#define CI_OFFSET_2 32
-
-
-GLenum doubleBuffer;
-
-static void Init(void)
-{
- GLint errno;
- GLuint prognum;
-
- static const char *prog1 =
- "!!ARBvp1.0\n"
- "OPTION ARB_position_invariant ;"
- "MOV result.color, vertex.color;\n"
- "END\n";
-
-
- glGenProgramsARB(1, &prognum);
-
- glBindProgramARB(GL_VERTEX_PROGRAM_ARB, prognum);
- glProgramStringARB(GL_VERTEX_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
- strlen(prog1), (const GLubyte *) prog1);
-
- errno = glGetError();
- printf("glGetError = %d\n", errno);
- if (errno != GL_NO_ERROR)
- {
- GLint errorpos;
-
- glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &errorpos);
- printf("errorpos: %d\n", errorpos);
- printf("%s\n", (char *)glGetString(GL_PROGRAM_ERROR_STRING_ARB));
- }
-
- fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
- fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
- fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR));
- fflush(stderr);
-
- glClearColor(0.0, 0.0, 1.0, 0.0);
-}
-
-static void Reshape(int width, int height)
-{
-
- glViewport(0, 0, (GLint)width, (GLint)height);
-
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
-/* glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0); */
- glMatrixMode(GL_MODELVIEW);
-}
-
-static void Key(unsigned char key, int x, int y)
-{
-
- switch (key) {
- case 27:
- exit(1);
- default:
- break;
- }
-
- glutPostRedisplay();
-}
-
-static void Draw(void)
-{
- glClear(GL_COLOR_BUFFER_BIT);
-
- glEnable(GL_VERTEX_PROGRAM_ARB);
-
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -0.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, -0.0);
- glColor3f(0,.9,0);
- glVertex3f(-0.9, 0.0, -0.0);
- glEnd();
-
- glFlush();
-
- if (doubleBuffer) {
- glutSwapBuffers();
- }
-}
-
-static GLenum Args(int argc, char **argv)
-{
- GLint i;
-
- doubleBuffer = GL_FALSE;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-sb") == 0) {
- doubleBuffer = GL_FALSE;
- } else if (strcmp(argv[i], "-db") == 0) {
- doubleBuffer = GL_TRUE;
- } else {
- fprintf(stderr, "%s (Bad option).\n", argv[i]);
- return GL_FALSE;
- }
- }
- return GL_TRUE;
-}
-
-int main(int argc, char **argv)
-{
- GLenum type;
-
- glutInit(&argc, argv);
-
- if (Args(argc, argv) == GL_FALSE) {
- exit(1);
- }
-
- glutInitWindowPosition(0, 0); glutInitWindowSize( 250, 250);
-
- type = GLUT_RGB | GLUT_ALPHA;
- type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
- glutInitDisplayMode(type);
-
- if (glutCreateWindow(*argv) == GL_FALSE) {
- exit(1);
- }
-
- glewInit();
- Init();
-
- glutReshapeFunc(Reshape);
- glutKeyboardFunc(Key);
- glutDisplayFunc(Draw);
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/vp-tri-swap.c b/progs/trivial/vp-tri-swap.c
deleted file mode 100644
index a3ab1206fd..0000000000
--- a/progs/trivial/vp-tri-swap.c
+++ /dev/null
@@ -1,104 +0,0 @@
-/* Test glGenProgramsNV(), glIsProgramNV(), glLoadProgramNV() */
-
-#include <assert.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-static void Init( void )
-{
- GLint errno;
- GLuint prognum;
-
- static const char *prog1 =
- "!!ARBvp1.0\n"
- "MOV result.position, vertex.color;\n"
- "MOV result.color, vertex.position;\n"
- "END\n";
-
-
- glGenProgramsARB(1, &prognum);
-
- glBindProgramARB(GL_VERTEX_PROGRAM_ARB, prognum);
- glProgramStringARB(GL_VERTEX_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
- strlen(prog1), (const GLubyte *) prog1);
-
- assert(glIsProgramARB(prognum));
- errno = glGetError();
- printf("glGetError = %d\n", errno);
- if (errno != GL_NO_ERROR)
- {
- GLint errorpos;
-
- glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &errorpos);
- printf("errorpos: %d\n", errorpos);
- printf("%s\n", (char *)glGetString(GL_PROGRAM_ERROR_STRING_ARB));
- }
-}
-
-static void Display( void )
-{
- glClearColor(0.3, 0.3, 0.3, 1);
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
-
- glEnable(GL_VERTEX_PROGRAM_NV);
-
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -0.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, -0.0);
- glColor3f(0,.9,0);
- glVertex3f(-0.9, 0.0, -0.0);
- glEnd();
-
-
- glFlush();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- /*glTranslatef( 0.0, 0.0, -15.0 );*/
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 250, 250 );
- glutInitDisplayMode( GLUT_DEPTH | GLUT_RGB | GLUT_SINGLE );
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/vp-tri-tex.c b/progs/trivial/vp-tri-tex.c
deleted file mode 100644
index bd2b5e59f9..0000000000
--- a/progs/trivial/vp-tri-tex.c
+++ /dev/null
@@ -1,138 +0,0 @@
-/* Test glGenProgramsNV(), glIsProgramNV(), glLoadProgramNV() */
-
-#include <assert.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-static void Init( void )
-{
- GLint errno;
- GLuint prognum;
-
- static const char *prog1 =
- "!!ARBvp1.0\n"
- "MOV result.texcoord[0], vertex.texcoord[0];\n"
- "MOV result.position, vertex.position;\n"
- "END\n";
-
-
- glGenProgramsARB(1, &prognum);
-
- glBindProgramARB(GL_VERTEX_PROGRAM_ARB, prognum);
- glProgramStringARB(GL_VERTEX_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
- strlen(prog1), (const GLubyte *) prog1);
-
- assert(glIsProgramARB(prognum));
- errno = glGetError();
- printf("glGetError = %d\n", errno);
- if (errno != GL_NO_ERROR)
- {
- GLint errorpos;
-
- glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &errorpos);
- printf("errorpos: %d\n", errorpos);
- printf("%s\n", (char *)glGetString(GL_PROGRAM_ERROR_STRING_ARB));
- }
-
-#define SIZE 32
- {
- GLubyte tex2d[SIZE][SIZE][3];
- GLint s, t;
-
- for (s = 0; s < SIZE; s++) {
- for (t = 0; t < SIZE; t++) {
-#if 0
- tex2d[t][s][0] = (s < SIZE/2) ? 0 : 255;
- tex2d[t][s][1] = (t < SIZE/2) ? 0 : 255;
- tex2d[t][s][2] = 0;
-#else
- tex2d[t][s][0] = s*255/(SIZE-1);
- tex2d[t][s][1] = t*255/(SIZE-1);
- tex2d[t][s][2] = 0;
-#endif
- }
- }
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
-
- glTexImage2D(GL_TEXTURE_2D, 0, 3, SIZE, SIZE, 0,
- GL_RGB, GL_UNSIGNED_BYTE, tex2d);
-
- glEnable(GL_TEXTURE_2D);
- glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_R, GL_REPEAT);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 4);
- }
-
-}
-
-static void Display( void )
-{
- glClearColor(0.3, 0.3, 0.3, 1);
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
-
- glEnable(GL_VERTEX_PROGRAM_NV);
-
- glBegin(GL_TRIANGLES);
- glTexCoord2f(1,-1);
- glVertex3f( 0.9, -0.9, -0.0);
- glTexCoord2f(1,1);
- glVertex3f( 0.9, 0.9, -0.0);
- glTexCoord2f(-1,0);
- glVertex3f(-0.9, 0.0, -0.0);
- glEnd();
-
-
- glFlush();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- /*glTranslatef( 0.0, 0.0, -15.0 );*/
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 250, 250 );
- glutInitDisplayMode( GLUT_DEPTH | GLUT_RGB | GLUT_SINGLE );
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/vp-tri.c b/progs/trivial/vp-tri.c
deleted file mode 100644
index 2932977314..0000000000
--- a/progs/trivial/vp-tri.c
+++ /dev/null
@@ -1,105 +0,0 @@
-/* Test glGenProgramsNV(), glIsProgramNV(), glLoadProgramNV() */
-
-#include <assert.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-static void Init( void )
-{
- GLint errno;
- GLuint prognum;
-
- static const char *prog1 =
- "!!ARBvp1.0\n"
- "MOV result.color, vertex.color;\n"
-/* "MOV result.color, {0,0,0,1};\n" */
- "MOV result.position, vertex.position;\n"
- "END\n";
-
-
- glGenProgramsARB(1, &prognum);
-
- glBindProgramARB(GL_VERTEX_PROGRAM_ARB, prognum);
- glProgramStringARB(GL_VERTEX_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
- strlen(prog1), (const GLubyte *) prog1);
-
- assert(glIsProgramARB(prognum));
- errno = glGetError();
- printf("glGetError = %d\n", errno);
- if (errno != GL_NO_ERROR)
- {
- GLint errorpos;
-
- glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &errorpos);
- printf("errorpos: %d\n", errorpos);
- printf("%s\n", (char *)glGetString(GL_PROGRAM_ERROR_STRING_ARB));
- }
-}
-
-static void Display( void )
-{
- glClearColor(0.3, 0.3, 0.3, 1);
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
-
- glEnable(GL_VERTEX_PROGRAM_NV);
-
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,.7);
- glVertex3f( 0.9, -0.9, -0.0);
- glColor3f(.8,0,0);
- glVertex3f( 0.9, 0.9, -0.0);
- glColor3f(0,.9,0);
- glVertex3f(-0.9, 0.0, -0.0);
- glEnd();
-
-
- glFlush();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- /*glTranslatef( 0.0, 0.0, -15.0 );*/
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 250, 250 );
- glutInitDisplayMode( GLUT_DEPTH | GLUT_RGB | GLUT_SINGLE );
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/trivial/vp-unfilled.c b/progs/trivial/vp-unfilled.c
deleted file mode 100644
index fe2de674ea..0000000000
--- a/progs/trivial/vp-unfilled.c
+++ /dev/null
@@ -1,105 +0,0 @@
-/* Test glGenProgramsNV(), glIsProgramNV(), glLoadProgramNV() */
-
-#include <assert.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-static void Init( void )
-{
- GLint errno;
- GLuint prognum;
-
- static const char *prog1 =
- "!!ARBvp1.0\n"
- "MOV result.color, vertex.color;\n"
- "MOV result.position, vertex.position;\n"
- "END\n";
-
- glGenProgramsARB(1, &prognum);
-
- glBindProgramARB(GL_VERTEX_PROGRAM_ARB, prognum);
- glProgramStringARB(GL_VERTEX_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
- strlen(prog1), (const GLubyte *) prog1);
-
- assert(glIsProgramARB(prognum));
- errno = glGetError();
- printf("glGetError = %d\n", errno);
- if (errno != GL_NO_ERROR)
- {
- GLint errorpos;
-
- glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &errorpos);
- printf("errorpos: %d\n", errorpos);
- printf("%s\n", (char *)glGetString(GL_PROGRAM_ERROR_STRING_ARB));
- }
-}
-
-static void Display( void )
-{
- glClearColor(0.3, 0.3, 0.3, 1);
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
- glPolygonMode(GL_FRONT, GL_LINE);
- glPolygonMode(GL_BACK, GL_POINT);
-
- glEnable(GL_VERTEX_PROGRAM_NV);
-
- glBegin(GL_TRIANGLES);
- glColor3f(0,0,1);
- glVertex3f( 0.9, -0.9, 0.0);
- glColor3f(0,1,0);
- glVertex3f( 0.9, 0.9, 0.0);
- glColor3f(1,0,0);
- glVertex3f(-0.9, 0.0, 0.0);
- glEnd();
-
-
- glFlush();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- /*glTranslatef( 0.0, 0.0, -15.0 );*/
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 250, 250 );
- glutInitDisplayMode( GLUT_RGB | GLUT_SINGLE | GLUT_DEPTH );
- glutCreateWindow(argv[0]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- Init();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/vp/.gitignore b/progs/vp/.gitignore
deleted file mode 100644
index a5ff993525..0000000000
--- a/progs/vp/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-vp-tris
diff --git a/progs/vp/Makefile b/progs/vp/Makefile
deleted file mode 100644
index 58a0dacb22..0000000000
--- a/progs/vp/Makefile
+++ /dev/null
@@ -1,53 +0,0 @@
-# progs/tests/Makefile
-
-
-# These programs aren't intended to be included with the normal distro.
-# They're not too interesting but they're good for testing.
-
-TOP = ../..
-include $(TOP)/configs/current
-
-
-LIBS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLEW_LIB) -l$(GLU_LIB) -l$(GL_LIB) $(APP_LIB_DEPS)
-
-SOURCES = \
- vp-tris.c
-
-
-
-PROGS = $(SOURCES:%.c=%)
-
-INCLUDES = -I. -I$(TOP)/include -I../samples
-
-
-##### RULES #####
-
-.SUFFIXES:
-.SUFFIXES: .c
-
-.c:
- $(APP_CC) $(INCLUDES) $(CFLAGS) $(LDFLAGS) $< $(LIBS) -o $@
-
-.c.o:
- $(APP_CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
-
-.S.o:
- $(APP_CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
-
-
-##### TARGETS #####
-
-default: $(PROGS)
-
-clean:
- -rm -f $(PROGS)
- -rm -f *.o
- -rm -f getproclist.h
-
-
-
-
-
-# Emacs tags
-tags:
- etags `find . -name \*.[ch]` `find ../include`
diff --git a/progs/vp/SConscript b/progs/vp/SConscript
deleted file mode 100644
index 640c5dd847..0000000000
--- a/progs/vp/SConscript
+++ /dev/null
@@ -1,13 +0,0 @@
-Import('env')
-
-if not env['GLUT']:
- Return()
-
-env = env.Clone()
-
-env.Prepend(LIBS = ['$GLUT_LIB'])
-
-env.Program(
- target = 'vp-tris',
- source = ['vp-tris.c'],
- )
diff --git a/progs/vp/abs.txt b/progs/vp/abs.txt
deleted file mode 100644
index cd00952e34..0000000000
--- a/progs/vp/abs.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-!!ARBvp1.0
-TEMP R0;
-SUB R0, {0.5}.x, vertex.color;
-ABS result.color, R0;
-MOV result.position, vertex.position;
-END
-
diff --git a/progs/vp/add.txt b/progs/vp/add.txt
deleted file mode 100644
index 4094cd448d..0000000000
--- a/progs/vp/add.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-!!ARBvp1.0
-TEMP R0;
-ADD R0, vertex.color, vertex.color;
-ADD result.color, R0, R0;
-MOV result.position, vertex.position;
-END
diff --git a/progs/vp/addimm.txt b/progs/vp/addimm.txt
deleted file mode 100644
index f5796d7810..0000000000
--- a/progs/vp/addimm.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-!!ARBvp1.0
-TEMP R0;
-ADD result.color, vertex.color, {.5}.x;
-MOV result.position, vertex.position;
-END
diff --git a/progs/vp/arl-static.txt b/progs/vp/arl-static.txt
deleted file mode 100644
index 83aebf689e..0000000000
--- a/progs/vp/arl-static.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-!!ARBvp1.0
-PARAM arr[7] = { {.0,.1,.2,.3}, {.4,.5,.6,.7}, {.8,.9,.10,.1}, {.12,.3,.4,.14}, {.5,.8,.1,.9}, {.2,0,.4,.1}, {.6,.1,.8,.9}};
-ADDRESS addr;
-ARL addr.x, {3}.x;
-MOV result.color, arr[addr.x];
-MOV result.position, vertex.position;
-END
diff --git a/progs/vp/arl-unused.txt b/progs/vp/arl-unused.txt
deleted file mode 100644
index c2afe3c092..0000000000
--- a/progs/vp/arl-unused.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-!!ARBvp1.0
-PARAM arr[7] = { {.0,.1,.2,.3}, {.4,.5,.6,.7}, {.8,.9,.10,.1}, {.12,.3,.4,.14}, {.5,.8,.1,.9}, {.2,0,.4,.1}, {.6,.1,.8,.9}};
-ADDRESS addr;
-ARL addr.x, {3}.x; # not actually used
-MOV result.color, arr[3];
-MOV result.position, vertex.position;
-END
diff --git a/progs/vp/arl.txt b/progs/vp/arl.txt
deleted file mode 100644
index a262b0149c..0000000000
--- a/progs/vp/arl.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-!!ARBvp1.0
-PARAM arr[5] = { {0,1,2,3}, {4,5,6,7}, {8,9,10,11}, {12,13,14,14}, {16,17,18,19} };
-ADDRESS addr;
-TEMP R0;
-MAD R0, {5.0}.x, vertex.color, {2.0}.x;
-ARL addr.x, R0.x;
-MUL result.color, arr[addr.x-2], {.07}.x;
-MOV result.position, vertex.position;
-END
diff --git a/progs/vp/dp3.txt b/progs/vp/dp3.txt
deleted file mode 100644
index 8336bd3dd8..0000000000
--- a/progs/vp/dp3.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-!!ARBvp1.0
-DP3 result.color, vertex.color, vertex.color;
-MOV result.position, vertex.position;
-END
-
diff --git a/progs/vp/dp4.txt b/progs/vp/dp4.txt
deleted file mode 100644
index 70505a494c..0000000000
--- a/progs/vp/dp4.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-!!ARBvp1.0
-DP4 result.color, vertex.color.xxxx, vertex.color;
-MOV result.position, vertex.position;
-END
-
diff --git a/progs/vp/dph.txt b/progs/vp/dph.txt
deleted file mode 100644
index c7cab1384d..0000000000
--- a/progs/vp/dph.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-!!ARBvp1.0
-DPH result.color, vertex.color, vertex.color;
-MOV result.position, vertex.position;
-END
-
diff --git a/progs/vp/dst.txt b/progs/vp/dst.txt
deleted file mode 100644
index 03613c0eec..0000000000
--- a/progs/vp/dst.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-!!ARBvp1.0
-DST result.color, vertex.color, vertex.color;
-MOV result.position, vertex.position;
-END
-
diff --git a/progs/vp/ex2.txt b/progs/vp/ex2.txt
deleted file mode 100644
index bbef67bbb8..0000000000
--- a/progs/vp/ex2.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-!!ARBvp1.0
-TEMP R0;
-EX2 R0, vertex.color.x;
-SUB result.color, R0, {1.0}.x;
-MOV result.position, vertex.position;
-END
diff --git a/progs/vp/exp-no-w.txt b/progs/vp/exp-no-w.txt
deleted file mode 100644
index 98ed4b7a98..0000000000
--- a/progs/vp/exp-no-w.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-!!ARBvp1.0
-TEMP R0;
-EXP R0, vertex.color.x;
-SUB result.color, R0.z, {1.0}.x;
-MOV result.position, vertex.position;
-END
diff --git a/progs/vp/exp.txt b/progs/vp/exp.txt
deleted file mode 100644
index 53ce71db96..0000000000
--- a/progs/vp/exp.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-!!ARBvp1.0
-TEMP R0;
-EXP R0, vertex.color.x;
-SUB result.color, R0.z, R0.w;
-MOV result.position, vertex.position;
-END
diff --git a/progs/vp/flr.txt b/progs/vp/flr.txt
deleted file mode 100644
index c33280da97..0000000000
--- a/progs/vp/flr.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-!!ARBvp1.0
-TEMP R0;
-ADD R0, vertex.color, {0.5}.x;
-FLR result.color, R0;
-MOV result.position, vertex.position;
-END
diff --git a/progs/vp/frc.txt b/progs/vp/frc.txt
deleted file mode 100644
index d8e72b60cc..0000000000
--- a/progs/vp/frc.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-!!ARBvp1.0
-TEMP R0;
-MUL R0, vertex.color, {3.0}.x;
-FRC result.color, R0;
-MOV result.position, vertex.position;
-END
diff --git a/progs/vp/lg2.txt b/progs/vp/lg2.txt
deleted file mode 100644
index 2f59b993a4..0000000000
--- a/progs/vp/lg2.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-!!ARBvp1.0
-TEMP R0;
-MUL R0, vertex.color, {4.0}.x;
-LG2 result.color, R0.x;
-MOV result.position, vertex.position;
-END
diff --git a/progs/vp/lit.txt b/progs/vp/lit.txt
deleted file mode 100644
index 65705b4170..0000000000
--- a/progs/vp/lit.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-!!ARBvp1.0
-TEMP R0;
-SUB R0, {0.5}.x, vertex.color;
-LIT result.color, R0;
-MOV result.position, vertex.position;
-END
diff --git a/progs/vp/log.txt b/progs/vp/log.txt
deleted file mode 100644
index 6b4e94ed0e..0000000000
--- a/progs/vp/log.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-!!ARBvp1.0
-TEMP R0;
-ADD R0, vertex.color, vertex.color;
-ADD R0, R0, R0;
-LOG result.color, R0.x;
-MOV result.position, vertex.position;
-END
diff --git a/progs/vp/mad.txt b/progs/vp/mad.txt
deleted file mode 100644
index 0c9ed6c8b7..0000000000
--- a/progs/vp/mad.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-!!ARBvp1.0
-MAD result.color, vertex.color.z, {1,0,0,1}, vertex.color;
-MOV result.position, vertex.position;
-END
-
diff --git a/progs/vp/max.txt b/progs/vp/max.txt
deleted file mode 100644
index 6747ca5727..0000000000
--- a/progs/vp/max.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-!!ARBvp1.0
-MAX result.color, {0.5}.x, vertex.color;
-MOV result.position, vertex.position;
-END
-
diff --git a/progs/vp/min.txt b/progs/vp/min.txt
deleted file mode 100644
index 2adc872ed9..0000000000
--- a/progs/vp/min.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-!!ARBvp1.0
-MIN result.color, {0.5}.x, vertex.color;
-MOV result.position, vertex.position;
-END
-
diff --git a/progs/vp/mov.txt b/progs/vp/mov.txt
deleted file mode 100644
index 9ce1a45306..0000000000
--- a/progs/vp/mov.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-!!ARBvp1.0
-MOV result.color, vertex.color;
-MOV result.position, vertex.position;
-END
-
diff --git a/progs/vp/msk.txt b/progs/vp/msk.txt
deleted file mode 100644
index 9e925aca11..0000000000
--- a/progs/vp/msk.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-!!ARBvp1.0
-TEMP R0;
-MOV R0.xz, vertex.color;
-MOV R0.yw, {0.5}.x;
-MOV result.color, R0;
-MOV result.position, vertex.position;
-END
diff --git a/progs/vp/mul.txt b/progs/vp/mul.txt
deleted file mode 100644
index e479cdb854..0000000000
--- a/progs/vp/mul.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-!!ARBvp1.0
-MUL result.color, vertex.color, vertex.color;
-MOV result.position, vertex.position;
-END
-
diff --git a/progs/vp/pow.txt b/progs/vp/pow.txt
deleted file mode 100644
index 512412997d..0000000000
--- a/progs/vp/pow.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-!!ARBvp1.0
-POW result.color, vertex.color.x, vertex.color.y;
-MOV result.position, vertex.position;
-END
-
diff --git a/progs/vp/psiz-imm.txt b/progs/vp/psiz-imm.txt
deleted file mode 100644
index 18de2498d6..0000000000
--- a/progs/vp/psiz-imm.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-!!ARBvp1.0
-MOV result.color, vertex.color;
-MOV result.pointsize, {2.0, 0, 0, 1};
-MOV result.position, vertex.position;
-END
diff --git a/progs/vp/psiz-mul-clamp.txt b/progs/vp/psiz-mul-clamp.txt
deleted file mode 100644
index 284c032d79..0000000000
--- a/progs/vp/psiz-mul-clamp.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-!!ARBvp1.0
-TEMP R0;
-MOV result.color, vertex.color;
-MUL R0.x, vertex.color.x, {10.0}.x;
-MAX R0.x, R0.x, {2.0}.x;
-MIN result.pointsize.x, R0.x, {4.0}.x;
-MOV result.position, vertex.position;
-END
-
diff --git a/progs/vp/psiz-mul.txt b/progs/vp/psiz-mul.txt
deleted file mode 100644
index a74df66de2..0000000000
--- a/progs/vp/psiz-mul.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-!!ARBvp1.0
-MOV result.color, vertex.color;
-MUL result.pointsize, vertex.color.x, {10.0}.x;
-MOV result.position, vertex.position;
-END
-
diff --git a/progs/vp/psiz-param-clamp.txt b/progs/vp/psiz-param-clamp.txt
deleted file mode 100644
index 7f83fc4516..0000000000
--- a/progs/vp/psiz-param-clamp.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-!!ARBvp1.0
-TEMP R0;
-TEMP R1;
-MOV result.color, vertex.color;
-MUL R0.x, vertex.color.x, {10.0}.x;
-MAX R0.x, R0.x, {2.0}.x;
-MIN result.pointsize.x, R0.x, {4.0}.x;
-MOV result.position, vertex.position;
-END
-
diff --git a/progs/vp/rcp.txt b/progs/vp/rcp.txt
deleted file mode 100644
index e16292bd00..0000000000
--- a/progs/vp/rcp.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-!!ARBvp1.0
-TEMP R0;
-ADD R0, vertex.color.x, vertex.color.x;
-RCP result.color, R0.x;
-MOV result.position, vertex.position;
-END
-
diff --git a/progs/vp/rsq.txt b/progs/vp/rsq.txt
deleted file mode 100644
index 3e3f3251ee..0000000000
--- a/progs/vp/rsq.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-!!ARBvp1.0
-TEMP R0;
-MUL R0, vertex.color, {3.0}.x;
-RSQ result.color, R0.x;
-MOV result.position, vertex.position;
-END
-
diff --git a/progs/vp/run.sh b/progs/vp/run.sh
deleted file mode 100755
index fdd43d4a52..0000000000
--- a/progs/vp/run.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-for i in *.txt ; do
-echo $i
-./vp-tris $i
-done
-
diff --git a/progs/vp/sge.txt b/progs/vp/sge.txt
deleted file mode 100644
index 3fa82e5d5e..0000000000
--- a/progs/vp/sge.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-!!ARBvp1.0
-SGE result.color, {0.5}.x, vertex.color;
-MOV result.position, vertex.position;
-END
-
diff --git a/progs/vp/slt.txt b/progs/vp/slt.txt
deleted file mode 100644
index 6bf8ffa775..0000000000
--- a/progs/vp/slt.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-!!ARBvp1.0
-SLT result.color, {0.5}.x, vertex.color;
-MOV result.position, vertex.position;
-END
-
diff --git a/progs/vp/sub.txt b/progs/vp/sub.txt
deleted file mode 100644
index a58ab101bc..0000000000
--- a/progs/vp/sub.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-!!ARBvp1.0
-SUB result.color, vertex.color.yzxw, vertex.color;
-MOV result.position, vertex.position;
-END
-
diff --git a/progs/vp/swz.txt b/progs/vp/swz.txt
deleted file mode 100644
index 92c58089b1..0000000000
--- a/progs/vp/swz.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-!!ARBvp1.0
-MOV result.color, vertex.color.xxzx;
-MOV result.position, vertex.position;
-END
-
diff --git a/progs/vp/swz2.txt b/progs/vp/swz2.txt
deleted file mode 100644
index 84c78db49f..0000000000
--- a/progs/vp/swz2.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-!!ARBvp1.0
-SWZ result.color, vertex.color, 1,x,y,z;
-MOV result.position, vertex.position;
-END
-
diff --git a/progs/vp/vp-tris.c b/progs/vp/vp-tris.c
deleted file mode 100644
index 09236c296f..0000000000
--- a/progs/vp/vp-tris.c
+++ /dev/null
@@ -1,333 +0,0 @@
-/* Test glGenProgramsNV(), glIsProgramNV(), glLoadProgramNV() */
-
-#include <assert.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-
-#ifndef WIN32
-#include <unistd.h>
-#include <signal.h>
-#endif
-
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-static const char *filename = NULL;
-static GLuint nr_steps = 4;
-static GLuint prim = GL_TRIANGLES;
-static GLfloat psz = 1.0;
-static GLboolean pointsmooth = 0;
-static GLboolean program_point_size = 0;
-
-static void usage( char *name )
-{
- fprintf( stderr, "usage: %s [ options ] shader_filename\n", name );
- fprintf( stderr, "\n" );
- fprintf( stderr, "options:\n" );
- fprintf( stderr, " -f flat shaded\n" );
- fprintf( stderr, " -nNr subdivision steps\n" );
- fprintf( stderr, " -fps show frames per second\n" );
-}
-
-unsigned show_fps = 0;
-unsigned int frame_cnt = 0;
-
-#ifndef WIN32
-
-void alarmhandler(int);
-
-void alarmhandler (int sig)
-{
- if (sig == SIGALRM) {
- printf("%d frames in 5.0 seconds = %.3f FPS\n", frame_cnt,
- frame_cnt / 5.0);
-
- frame_cnt = 0;
- }
- signal(SIGALRM, alarmhandler);
- alarm(5);
-}
-
-#endif
-
-static void args(int argc, char *argv[])
-{
- GLint i;
-
- for (i = 1; i < argc; i++) {
- if (strncmp(argv[i], "-n", 2) == 0) {
- nr_steps = atoi((argv[i]) + 2);
- }
- else if (strcmp(argv[i], "-f") == 0) {
- glShadeModel(GL_FLAT);
- }
- else if (strcmp(argv[i], "-fps") == 0) {
- show_fps = 1;
- }
- else if (i == argc - 1) {
- filename = argv[i];
- }
- else {
- usage(argv[0]);
- exit(1);
- }
- }
-
- if (!filename) {
- usage(argv[0]);
- exit(1);
- }
-}
-
-
-
-static void Init( void )
-{
- GLint errno;
- GLuint prognum;
- char buf[4096];
- GLuint sz;
- FILE *f;
-
- if ((f = fopen(filename, "r")) == NULL) {
- fprintf(stderr, "couldn't open %s\n", filename);
- exit(1);
- }
-
- sz = (GLuint) fread(buf, 1, sizeof(buf) - 1, f);
- buf[sizeof(buf) - 1] = '\0';
- if (!feof(f)) {
- fprintf(stderr, "file too long\n");
- fclose(f);
- exit(1);
- }
-
- fclose(f);
- fprintf(stderr, "%.*s\n", sz, buf);
-
- if (strncmp( buf, "!!VP", 4 ) == 0) {
- glEnable( GL_VERTEX_PROGRAM_NV );
- glGenProgramsNV( 1, &prognum );
- glBindProgramNV( GL_VERTEX_PROGRAM_NV, prognum );
- glLoadProgramNV( GL_VERTEX_PROGRAM_NV, prognum, sz, (const GLubyte *) buf );
- assert( glIsProgramNV( prognum ) );
- }
- else {
- glEnable(GL_VERTEX_PROGRAM_ARB);
-
- glGenProgramsARB(1, &prognum);
-
- glBindProgramARB(GL_VERTEX_PROGRAM_ARB, prognum);
- glProgramStringARB(GL_VERTEX_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
- sz, (const GLubyte *) buf);
- if (glGetError()) {
- printf("Program failed to compile:\n%s\n", buf);
- printf("Error: %s\n",
- (char *) glGetString(GL_PROGRAM_ERROR_STRING_ARB));
- exit(1);
- }
- assert(glIsProgramARB(prognum));
- }
-
- errno = glGetError();
- printf("glGetError = %d\n", errno);
- if (errno != GL_NO_ERROR)
- {
- GLint errorpos;
-
- glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &errorpos);
- printf("errorpos: %d\n", errorpos);
- printf("%s\n", (char *)glGetString(GL_PROGRAM_ERROR_STRING_ARB));
- }
-
- {
- const float Ambient[4] = { 0.0, 1.0, 0.0, 0.0 };
- const float Diffuse[4] = { 1.0, 0.0, 0.0, 0.0 };
- const float Specular[4] = { 0.0, 0.0, 1.0, 0.0 };
- const float Emission[4] = { 0.0, 0.0, 0.0, 1.0 };
- glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT, Ambient);
- glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, Diffuse);
- glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, Specular);
- glMaterialfv(GL_FRONT_AND_BACK, GL_EMISSION, Emission);
- }
-}
-
-
-union vert {
- struct {
- GLfloat color[3];
- GLfloat pos[3];
- } v;
- GLfloat f[6];
-};
-
-static void make_midpoint( union vert *out,
- const union vert *v0,
- const union vert *v1)
-{
- int i;
- for (i = 0; i < 6; i++)
- out->f[i] = v0->f[i] + .5 * (v1->f[i] - v0->f[i]);
-}
-
-static void subdiv( union vert *v0,
- union vert *v1,
- union vert *v2,
- GLuint depth )
-{
- if (depth == 0) {
- glColor3fv(v0->v.color);
- glVertex3fv(v0->v.pos);
- glColor3fv(v1->v.color);
- glVertex3fv(v1->v.pos);
- glColor3fv(v2->v.color);
- glVertex3fv(v2->v.pos);
- }
- else {
- union vert m[3];
-
- make_midpoint(&m[0], v0, v1);
- make_midpoint(&m[1], v1, v2);
- make_midpoint(&m[2], v2, v0);
-
- subdiv(&m[0], &m[2], v0, depth-1);
- subdiv(&m[1], &m[0], v1, depth-1);
- subdiv(&m[2], &m[1], v2, depth-1);
- subdiv(&m[0], &m[1], &m[2], depth-1);
- }
-}
-
-static void enable( GLenum value, GLboolean flag )
-{
- if (flag)
- glEnable(value);
- else
- glDisable(value);
-}
-
-/** Assignment */
-#define ASSIGN_3V( V, V0, V1, V2 ) \
-do { \
- V[0] = V0; \
- V[1] = V1; \
- V[2] = V2; \
-} while(0)
-
-static void Display( void )
-{
- glClearColor(0.3, 0.3, 0.3, 1);
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
- glPointSize(psz);
-
- enable( GL_POINT_SMOOTH, pointsmooth );
- enable( GL_VERTEX_PROGRAM_POINT_SIZE_ARB, program_point_size );
-
- glBegin(prim);
-
-
- {
- union vert v[3];
-
- ASSIGN_3V(v[0].v.color, 0,0,1);
- ASSIGN_3V(v[0].v.pos, 0.9, -0.9, 0.0);
- ASSIGN_3V(v[1].v.color, 1,0,0);
- ASSIGN_3V(v[1].v.pos, 0.9, 0.9, 0.0);
- ASSIGN_3V(v[2].v.color, 0,1,0);
- ASSIGN_3V(v[2].v.pos, -0.9, 0, 0.0);
-
- subdiv(&v[0], &v[1], &v[2], nr_steps);
- }
-
- glEnd();
-
-
- glFlush();
- if (show_fps) {
- ++frame_cnt;
- glutPostRedisplay();
- }
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- /*glTranslatef( 0.0, 0.0, -15.0 );*/
-}
-
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 'p':
- prim = GL_POINTS;
- break;
- case 't':
- prim = GL_TRIANGLES;
- break;
- case 's':
- psz += .5;
- break;
- case 'S':
- if (psz > .5)
- psz -= .5;
- break;
- case 'm':
- pointsmooth = !pointsmooth;
- break;
- case 'z':
- program_point_size = !program_point_size;
- break;
- case '+':
- nr_steps++;
- break;
- case '-':
- if (nr_steps)
- nr_steps--;
- break;
- case ' ':
- psz = 1.0;
- prim = GL_TRIANGLES;
- nr_steps = 4;
- break;
- case 27:
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-
-
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 250, 250 );
- glutInitDisplayMode( GLUT_RGB | GLUT_SINGLE | GLUT_DEPTH );
- glutCreateWindow(argv[argc-1]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- args( argc, argv );
- Init();
-#ifndef WIN32
- if (show_fps) {
- signal(SIGALRM, alarmhandler);
- alarm(5);
- }
-#endif
- glutMainLoop();
- return 0;
-}
diff --git a/progs/vp/windows/vp2003.sln b/progs/vp/windows/vp2003.sln
deleted file mode 100644
index 76de5cfd7f..0000000000
--- a/progs/vp/windows/vp2003.sln
+++ /dev/null
@@ -1,21 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 8.00
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vp2003", "vp2003.vcproj", "{E1C70416-98E7-4282-B6B2-6C9CF90B12C0}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Global
- GlobalSection(SolutionConfiguration) = preSolution
- Debug = Debug
- Release = Release
- EndGlobalSection
- GlobalSection(ProjectConfiguration) = postSolution
- {E1C70416-98E7-4282-B6B2-6C9CF90B12C0}.Debug.ActiveCfg = Debug|Win32
- {E1C70416-98E7-4282-B6B2-6C9CF90B12C0}.Debug.Build.0 = Debug|Win32
- {E1C70416-98E7-4282-B6B2-6C9CF90B12C0}.Release.ActiveCfg = Release|Win32
- {E1C70416-98E7-4282-B6B2-6C9CF90B12C0}.Release.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- EndGlobalSection
- GlobalSection(ExtensibilityAddIns) = postSolution
- EndGlobalSection
-EndGlobal
diff --git a/progs/vp/windows/vp2003.vcproj b/progs/vp/windows/vp2003.vcproj
deleted file mode 100644
index adca2c5073..0000000000
--- a/progs/vp/windows/vp2003.vcproj
+++ /dev/null
@@ -1,121 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="vp2003"
- ProjectGUID="{E1C70416-98E7-4282-B6B2-6C9CF90B12C0}"
- Keyword="Win32Proj">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="TRUE"
- BasicRuntimeChecks="3"
- RuntimeLibrary="5"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="4"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="glut32.lib"
- OutputFile="$(OutDir)/vp2003.exe"
- LinkIncremental="2"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile="$(OutDir)/vp2003.pdb"
- SubSystem="1"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="4"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="glut32.lib"
- OutputFile="$(OutDir)/vp2003.exe"
- LinkIncremental="1"
- GenerateDebugInformation="TRUE"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <File
- RelativePath="..\vp-tris.c">
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/progs/vp/xform.txt b/progs/vp/xform.txt
deleted file mode 100644
index d1548f1f10..0000000000
--- a/progs/vp/xform.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-!!ARBvp1.0
-PARAM Emission = state.material.emission;
-PARAM Ambient = state.material.ambient;
-PARAM Diffuse = state.material.diffuse;
-PARAM Specular = state.material.specular;
-DP4 result.position.x, Ambient, vertex.position;
-DP4 result.position.y, Diffuse, vertex.position;
-DP4 result.position.z, Specular, vertex.position;
-DP4 result.position.w, Emission, vertex.position;
-MOV result.color, vertex.color;
-END
diff --git a/progs/vp/xpd.txt b/progs/vp/xpd.txt
deleted file mode 100644
index b8818ebc60..0000000000
--- a/progs/vp/xpd.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-!!ARBvp1.0
-XPD result.color, vertex.color, {2,2,2,0};
-MOV result.position, vertex.position;
-END
-
diff --git a/progs/vpglsl/.gitignore b/progs/vpglsl/.gitignore
deleted file mode 100644
index a5ff993525..0000000000
--- a/progs/vpglsl/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-vp-tris
diff --git a/progs/vpglsl/Makefile b/progs/vpglsl/Makefile
deleted file mode 100644
index 3982aca565..0000000000
--- a/progs/vpglsl/Makefile
+++ /dev/null
@@ -1,52 +0,0 @@
-# progs/tests/Makefile
-
-
-# These programs aren't intended to be included with the normal distro.
-# They're not too interesting but they're good for testing.
-
-TOP = ../..
-include $(TOP)/configs/current
-
-LIBS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLEW_LIB) -l$(GLU_LIB) -l$(GL_LIB) $(APP_LIB_DEPS)
-
-SOURCES = \
- vp-tris.c
-
-
-
-PROGS = $(SOURCES:%.c=%)
-
-INCLUDES = -I. -I$(TOP)/include -I../samples
-
-
-##### RULES #####
-
-.SUFFIXES:
-.SUFFIXES: .c
-
-.c:
- $(CC) $(INCLUDES) $(CFLAGS) $< $(LIBS) -o $@
-
-.c.o:
- $(CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
-
-.S.o:
- $(CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
-
-
-##### TARGETS #####
-
-default: $(PROGS)
-
-clean:
- rm -f $(PROGS)
- rm -f *.o
- rm -f getproclist.h
-
-
-
-
-
-# Emacs tags
-tags:
- etags `find . -name \*.[ch]` `find ../include`
diff --git a/progs/vpglsl/SConscript b/progs/vpglsl/SConscript
deleted file mode 100644
index 640c5dd847..0000000000
--- a/progs/vpglsl/SConscript
+++ /dev/null
@@ -1,13 +0,0 @@
-Import('env')
-
-if not env['GLUT']:
- Return()
-
-env = env.Clone()
-
-env.Prepend(LIBS = ['$GLUT_LIB'])
-
-env.Program(
- target = 'vp-tris',
- source = ['vp-tris.c'],
- )
diff --git a/progs/vpglsl/for.glsl b/progs/vpglsl/for.glsl
deleted file mode 100644
index 45d6845dac..0000000000
--- a/progs/vpglsl/for.glsl
+++ /dev/null
@@ -1,7 +0,0 @@
-
-void main() {
- gl_Position = gl_Vertex;
- gl_FrontColor = vec4(0);
- for (int i = 0; i < 4; ++i)
- gl_FrontColor += gl_Color;
-}
diff --git a/progs/vpglsl/if.glsl b/progs/vpglsl/if.glsl
deleted file mode 100644
index 174f69c19c..0000000000
--- a/progs/vpglsl/if.glsl
+++ /dev/null
@@ -1,7 +0,0 @@
-
-void main() {
- gl_FrontColor = gl_Color;
- gl_Position = gl_Vertex;
- if (gl_Position.x < 0.5)
- gl_FrontColor = vec4(1.0, 0.0, 0.0, 1.0);
-}
diff --git a/progs/vpglsl/ifelse.glsl b/progs/vpglsl/ifelse.glsl
deleted file mode 100644
index 645b2117a1..0000000000
--- a/progs/vpglsl/ifelse.glsl
+++ /dev/null
@@ -1,8 +0,0 @@
-
-void main() {
- gl_Position = gl_Vertex;
- if (gl_Position.x < 0.5)
- gl_FrontColor = vec4(1.0, 0.0, 0.0, 1.0);
- else
- gl_FrontColor = gl_Color;
-}
diff --git a/progs/vpglsl/mov.glsl b/progs/vpglsl/mov.glsl
deleted file mode 100644
index 63b16f4754..0000000000
--- a/progs/vpglsl/mov.glsl
+++ /dev/null
@@ -1,5 +0,0 @@
-
-void main() {
- gl_FrontColor = gl_Color;
- gl_Position = gl_Vertex;
-}
diff --git a/progs/vpglsl/nestedifs.glsl b/progs/vpglsl/nestedifs.glsl
deleted file mode 100644
index abb235cd65..0000000000
--- a/progs/vpglsl/nestedifs.glsl
+++ /dev/null
@@ -1,13 +0,0 @@
-
-void main() {
- gl_Position = gl_Vertex;
- if (gl_Position.x < 0.5) {
- if (gl_Position.y < 0.20) {
- gl_FrontColor = vec4(1.0, 0.0, 0.0, 1.0);
- } else {
- gl_FrontColor = vec4(0.0, 1.0, 0.0, 1.0);
- }
- gl_FrontColor.y = 1.0;
- } else
- gl_FrontColor = gl_Color;
-}
diff --git a/progs/vpglsl/nestedswizzle.glsl b/progs/vpglsl/nestedswizzle.glsl
deleted file mode 100644
index a3adb3dfeb..0000000000
--- a/progs/vpglsl/nestedswizzle.glsl
+++ /dev/null
@@ -1,9 +0,0 @@
-
-void main() {
- gl_Position = gl_Vertex;
- gl_FrontColor = gl_Color;
- if (gl_Position.x < 0.5) {
- gl_FrontColor.y = 1.0;
- }
- gl_FrontColor.xzw = vec3(0, 0, 1);
-}
diff --git a/progs/vpglsl/off2f.glsl b/progs/vpglsl/off2f.glsl
deleted file mode 100644
index e06cb42a0e..0000000000
--- a/progs/vpglsl/off2f.glsl
+++ /dev/null
@@ -1,18 +0,0 @@
-const int KernelSize = 8;
-uniform vec2 Offset2f[KernelSize];
-uniform vec4 KernelValue4f[KernelSize];
-
-void main(void)
-{
- int i;
- vec4 sum = vec4(0.0);
- vec4 tmp = gl_Color;
- vec2 rg, ba;
- gl_Position = gl_Vertex;
-
- rg = Offset2f[4];
- ba = Offset2f[5];
-
-
- gl_FrontColor = KernelValue4f[0] * vec4(rg, ba);
-}
diff --git a/progs/vpglsl/psiz-imm.glsl b/progs/vpglsl/psiz-imm.glsl
deleted file mode 100644
index 101d314d58..0000000000
--- a/progs/vpglsl/psiz-imm.glsl
+++ /dev/null
@@ -1,6 +0,0 @@
-
-void main() {
- gl_FrontColor = gl_Color;
- gl_PointSize = 2.0;
- gl_Position = gl_Vertex;
-}
diff --git a/progs/vpglsl/psiz-mul.glsl b/progs/vpglsl/psiz-mul.glsl
deleted file mode 100644
index d2a90d8578..0000000000
--- a/progs/vpglsl/psiz-mul.glsl
+++ /dev/null
@@ -1,6 +0,0 @@
-
-void main() {
- gl_FrontColor = gl_Color;
- gl_PointSize = 10.0 * gl_Color.x;
- gl_Position = gl_Vertex;
-}
diff --git a/progs/vpglsl/varfor1f.glsl b/progs/vpglsl/varfor1f.glsl
deleted file mode 100644
index 9c3e8f2a23..0000000000
--- a/progs/vpglsl/varfor1f.glsl
+++ /dev/null
@@ -1,22 +0,0 @@
-const int KernelSize = 16;
-uniform float KernelValue1f[KernelSize];
-
-void main(void)
-{
- int i;
- vec4 sum = vec4(0.0);
- vec4 tmp = gl_Color;
- gl_Position = gl_Vertex;
-
- for (i = 0; i < KernelSize; ++i) {
- float x, y, z, w;
-
- x = KernelValue1f[i]; ++i;
- y = KernelValue1f[i]; ++i;
- z = KernelValue1f[i]; ++i;
- w = KernelValue1f[i];
-
- sum += tmp * vec4(x, y, z, w);
- }
- gl_FrontColor = sum;
-}
diff --git a/progs/vpglsl/varfor2f.glsl b/progs/vpglsl/varfor2f.glsl
deleted file mode 100644
index d98a110045..0000000000
--- a/progs/vpglsl/varfor2f.glsl
+++ /dev/null
@@ -1,24 +0,0 @@
-const int KernelSize = 9;
-uniform vec2 KernelValue2f[KernelSize];
-
-void main(void)
-{
- int i;
- vec4 sum = vec4(0.0);
- vec4 tmp = gl_Color;
- gl_Position = gl_Vertex;
-
- for (i = 0; i < KernelSize; ++i) {
- vec2 rg, ba;
-
- rg = KernelValue2f[i];
- ++i;
- if (i < KernelSize)
- ba = KernelValue2f[i];
- else
- ba = vec2(0, 0);
-
- sum += tmp * vec4(rg, ba);
- }
- gl_FrontColor = sum;
-}
diff --git a/progs/vpglsl/varfor4f.glsl b/progs/vpglsl/varfor4f.glsl
deleted file mode 100644
index c70ba0356f..0000000000
--- a/progs/vpglsl/varfor4f.glsl
+++ /dev/null
@@ -1,19 +0,0 @@
-const int KernelSize = 4;
-uniform vec4 KernelValue4f[KernelSize];
-
-void main(void)
-{
- int i;
- vec4 sum = vec4(0.0);
- vec4 tmp = gl_Color;
- gl_Position = gl_Vertex;
-
- for (i = 0; i < KernelSize; ++i) {
- vec4 rgba;
-
- rgba = KernelValue4f[i];
-
- sum += tmp * rgba;
- }
- gl_FrontColor = sum;
-}
diff --git a/progs/vpglsl/vp-tris.c b/progs/vpglsl/vp-tris.c
deleted file mode 100644
index 6a1fa3d3bf..0000000000
--- a/progs/vpglsl/vp-tris.c
+++ /dev/null
@@ -1,363 +0,0 @@
-
-#include <assert.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-
-#include <GL/glew.h>
-#include <GL/glut.h>
-
-static const char *filename = NULL;
-static GLuint nr_steps = 4;
-static GLuint prim = GL_TRIANGLES;
-static GLfloat psz = 1.0;
-static GLboolean pointsmooth = 0;
-static GLboolean program_point_size = 0;
-
-static GLuint fragShader;
-static GLuint vertShader;
-static GLuint program;
-
-static void usage( char *name )
-{
- fprintf( stderr, "usage: %s [ options ] shader_filename\n", name );
- fprintf( stderr, "\n" );
- fprintf( stderr, "options:\n" );
- fprintf( stderr, " -f flat shaded\n" );
- fprintf( stderr, " -nNr subdivision steps\n" );
-}
-
-
-static void load_and_compile_shader(GLuint shader, const char *text)
-{
- GLint stat;
-
- glShaderSource(shader, 1, (const GLchar **) &text, NULL);
-
- glCompileShader(shader);
-
- glGetShaderiv(shader, GL_COMPILE_STATUS, &stat);
- if (!stat) {
- GLchar log[1000];
- GLsizei len;
- glGetShaderInfoLog(shader, 1000, &len, log);
- fprintf(stderr, "vp-tris: problem compiling shader:\n%s\n", log);
- exit(1);
- }
-}
-
-static void read_shader(GLuint shader, const char *filename)
-{
- const int max = 100*1000;
- int n;
- char *buffer = (char*) malloc(max);
- FILE *f = fopen(filename, "r");
- if (!f) {
- fprintf(stderr, "vp-tris: Unable to open shader file %s\n", filename);
- exit(1);
- }
-
- n = fread(buffer, 1, max, f);
- printf("vp-tris: read %d bytes from shader file %s\n", n, filename);
- if (n > 0) {
- buffer[n] = 0;
- load_and_compile_shader(shader, buffer);
- }
-
- fclose(f);
- free(buffer);
-}
-
-static void check_link(GLuint prog)
-{
- GLint stat;
- glGetProgramiv(prog, GL_LINK_STATUS, &stat);
- if (!stat) {
- GLchar log[1000];
- GLsizei len;
- glGetProgramInfoLog(prog, 1000, &len, log);
- fprintf(stderr, "Linker error:\n%s\n", log);
- }
-}
-
-static void setup_uniforms()
-{
- {
- GLint loc1f = glGetUniformLocationARB(program, "Offset1f");
- GLint loc2f = glGetUniformLocationARB(program, "Offset2f");
- GLint loc4f = glGetUniformLocationARB(program, "Offset4f");
- GLfloat vecKer[] =
- { 1.0, 0.0, 0.0, 1.0,
- 0.0, 1.0, 0.0, 1.0,
- 1.0, 0.0, 0.0, 1.0,
- 0.0, 0.0, 0.0, 1.0
- };
- if (loc1f >= 0)
- glUniform1fv(loc1f, 16, vecKer);
-
- if (loc2f >= 0)
- glUniform2fv(loc2f, 8, vecKer);
-
- if (loc4f >= 0)
- glUniform4fv(loc4f, 4, vecKer);
-
- }
-
- {
- GLint loc1f = glGetUniformLocationARB(program, "KernelValue1f");
- GLint loc2f = glGetUniformLocationARB(program, "KernelValue2f");
- GLint loc4f = glGetUniformLocationARB(program, "KernelValue4f");
- GLfloat vecKer[] =
- { 1.0, 0.0, 0.0, 0.25,
- 0.0, 1.0, 0.0, 0.25,
- 0.0, 0.0, 1.0, 0.25,
- 0.0, 0.0, 0.0, 0.25,
- 0.5, 0.0, 0.0, 0.35,
- 0.0, 0.5, 0.0, 0.35,
- 0.0, 0.0, 0.5, 0.35,
- 0.0, 0.0, 0.0, 0.35
- };
- if (loc1f >= 0)
- glUniform1fv(loc1f, 16, vecKer);
-
- if (loc2f >= 0)
- glUniform2fv(loc2f, 8, vecKer);
-
- if (loc4f >= 0)
- glUniform4fv(loc4f, 4, vecKer);
- }
-}
-
-static void prepare_shaders()
-{
- static const char *fragShaderText =
- "void main() {\n"
- " gl_FragColor = gl_Color;\n"
- "}\n";
- static const char *vertShaderText =
- "void main() {\n"
- " gl_FrontColor = gl_Color;\n"
- " gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;\n"
- "}\n";
- fragShader = glCreateShader(GL_FRAGMENT_SHADER);
- load_and_compile_shader(fragShader, fragShaderText);
-
-
- vertShader = glCreateShader(GL_VERTEX_SHADER);
- if (filename)
- read_shader(vertShader, filename);
- else
- load_and_compile_shader(vertShader, vertShaderText);
-
- program = glCreateProgram();
- glAttachShader(program, fragShader);
- glAttachShader(program, vertShader);
- glLinkProgram(program);
- check_link(program);
- glUseProgram(program);
-
- setup_uniforms();
-}
-
-static void args(int argc, char *argv[])
-{
- GLint i;
-
- for (i = 1; i < argc; i++) {
- if (strncmp(argv[i], "-n", 2) == 0) {
- nr_steps = atoi((argv[i]) + 2);
- }
- else if (strcmp(argv[i], "-f") == 0) {
- glShadeModel(GL_FLAT);
- }
- else if (i == argc - 1) {
- filename = argv[i];
- }
- else {
- usage(argv[0]);
- exit(1);
- }
- }
-
- if (!filename) {
- usage(argv[0]);
- exit(1);
- }
-}
-
-
-
-
-union vert {
- struct {
- GLfloat color[3];
- GLfloat pos[3];
- } v;
- GLfloat f[6];
-};
-
-static void make_midpoint( union vert *out,
- const union vert *v0,
- const union vert *v1)
-{
- int i;
- for (i = 0; i < 6; i++)
- out->f[i] = v0->f[i] + .5 * (v1->f[i] - v0->f[i]);
-}
-
-static void subdiv( union vert *v0,
- union vert *v1,
- union vert *v2,
- GLuint depth )
-{
- if (depth == 0) {
- glColor3fv(v0->v.color);
- glVertex3fv(v0->v.pos);
- glColor3fv(v1->v.color);
- glVertex3fv(v1->v.pos);
- glColor3fv(v2->v.color);
- glVertex3fv(v2->v.pos);
- }
- else {
- union vert m[3];
-
- make_midpoint(&m[0], v0, v1);
- make_midpoint(&m[1], v1, v2);
- make_midpoint(&m[2], v2, v0);
-
- subdiv(&m[0], &m[2], v0, depth-1);
- subdiv(&m[1], &m[0], v1, depth-1);
- subdiv(&m[2], &m[1], v2, depth-1);
- subdiv(&m[0], &m[1], &m[2], depth-1);
- }
-}
-
-static void enable( GLenum value, GLboolean flag )
-{
- if (flag)
- glEnable(value);
- else
- glDisable(value);
-}
-
-/** Assignment */
-#define ASSIGN_3V( V, V0, V1, V2 ) \
-do { \
- V[0] = V0; \
- V[1] = V1; \
- V[2] = V2; \
-} while(0)
-
-static void Display( void )
-{
- glClearColor(0.3, 0.3, 0.3, 1);
- glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
- glPointSize(psz);
-
- glUseProgram(program);
- enable( GL_POINT_SMOOTH, pointsmooth );
- enable( GL_VERTEX_PROGRAM_POINT_SIZE_ARB, program_point_size );
-
- glBegin(prim);
-
-
- {
- union vert v[3];
-
- ASSIGN_3V(v[0].v.color, 0,0,1);
- ASSIGN_3V(v[0].v.pos, 0.9, -0.9, 0.0);
- ASSIGN_3V(v[1].v.color, 1,0,0);
- ASSIGN_3V(v[1].v.pos, 0.9, 0.9, 0.0);
- ASSIGN_3V(v[2].v.color, 0,1,0);
- ASSIGN_3V(v[2].v.pos, -0.9, 0, 0.0);
-
- subdiv(&v[0], &v[1], &v[2], nr_steps);
- }
-
- glEnd();
-
-
- glFlush();
-}
-
-
-static void Reshape( int width, int height )
-{
- glViewport( 0, 0, width, height );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0);
- glMatrixMode( GL_MODELVIEW );
- glLoadIdentity();
- /*glTranslatef( 0.0, 0.0, -15.0 );*/
-}
-
-
-static void CleanUp(void)
-{
- glDeleteShader(fragShader);
- glDeleteShader(vertShader);
- glDeleteProgram(program);
-}
-
-static void Key( unsigned char key, int x, int y )
-{
- (void) x;
- (void) y;
- switch (key) {
- case 'p':
- prim = GL_POINTS;
- break;
- case 't':
- prim = GL_TRIANGLES;
- break;
- case 's':
- psz += .5;
- break;
- case 'S':
- if (psz > .5)
- psz -= .5;
- break;
- case 'm':
- pointsmooth = !pointsmooth;
- break;
- case 'z':
- program_point_size = !program_point_size;
- break;
- case '+':
- nr_steps++;
- break;
- case '-':
- if (nr_steps)
- nr_steps--;
- break;
- case ' ':
- psz = 1.0;
- prim = GL_TRIANGLES;
- nr_steps = 4;
- break;
- case 27:
- CleanUp();
- exit(0);
- break;
- }
- glutPostRedisplay();
-}
-
-int main( int argc, char *argv[] )
-{
- glutInit( &argc, argv );
- glutInitWindowPosition( 0, 0 );
- glutInitWindowSize( 250, 250 );
- glutInitDisplayMode( GLUT_RGB | GLUT_SINGLE | GLUT_DEPTH );
- glutCreateWindow(argv[argc-1]);
- glewInit();
- glutReshapeFunc( Reshape );
- glutKeyboardFunc( Key );
- glutDisplayFunc( Display );
- args( argc, argv );
- prepare_shaders();
- glutMainLoop();
- return 0;
-}
diff --git a/progs/wgl/SConscript b/progs/wgl/SConscript
deleted file mode 100644
index 31f61676de..0000000000
--- a/progs/wgl/SConscript
+++ /dev/null
@@ -1,25 +0,0 @@
-Import('*')
-
-if env['platform'] != 'windows':
- Return()
-
-env = env.Clone()
-
-env.Append(LIBS = [
- 'kernel32',
- 'user32',
- 'gdi32',
-])
-
-progs = [
- 'sharedtex_mt',
- 'wglthreads',
-]
-
-for prog in progs:
- env.Program(
- target = prog,
- source = prog + '/' + prog + '.c',
- )
-
-env.Program('wglinfo', ['wglinfo.c'])
diff --git a/progs/wgl/sharedtex_mt/sharedtex_mt.c b/progs/wgl/sharedtex_mt/sharedtex_mt.c
deleted file mode 100644
index 779e15001d..0000000000
--- a/progs/wgl/sharedtex_mt/sharedtex_mt.c
+++ /dev/null
@@ -1,565 +0,0 @@
-/*
- * Test sharing of display lists and texture objects between GLX contests.
- * Brian Paul
- * Summer 2000
- *
- *
- * Copyright (C) 2000 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
- * BRIAN PAUL 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.
- *
- *
- * Modified 2009 for multithreading by Thomas Hellstrom.
- *
- * Port to windows by Michal Krol.
- */
-
-
-#include <windows.h>
-#include <GL/gl.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#pragma comment(lib, "opengl32.lib")
-
-struct thread_init_arg {
- int id;
-};
-
-struct window {
- CRITICAL_SECTION drawMutex;
- HDC hDC;
- HWND Win;
- HGLRC Context;
- float Angle;
- int Id;
- HGLRC sharedContext;
- HANDLE hEventInitialised;
-};
-
-
-#define MAX_WINDOWS 20
-static struct window Windows[MAX_WINDOWS];
-static int NumWindows = 0;
-static HANDLE terminate = NULL;
-static HGLRC gCtx = NULL;
-static HDC gHDC = NULL;
-static GLuint Textures[3];
-
-
-
-static void
-Error(const char *msg)
-{
- fprintf(stderr, "Error - %s\n", msg);
- exit(1);
-}
-
-static void
-Resize(struct window *h, unsigned int width, unsigned int height);
-
-static LRESULT CALLBACK
-WndProc(HWND hWnd,
- UINT uMsg,
- WPARAM wParam,
- LPARAM lParam )
-{
- switch (uMsg) {
- case WM_KEYDOWN:
- SetEvent(terminate);
- break;
- case WM_SIZE:
- {
- LONG index = GetWindowLong(hWnd, GWL_USERDATA);
-
- if (index >= 0 && index < MAX_WINDOWS) {
- RECT r;
-
- GetClientRect(hWnd, &r);
- Resize(&Windows[index], r.right, r.bottom);
- }
- }
- break;
- case WM_CREATE:
- {
- CREATESTRUCT *pcs = (CREATESTRUCT *) lParam;
-
- SetWindowLong(hWnd, GWL_USERDATA, (LONG) pcs->lpCreateParams);
- }
- break;
- case WM_DESTROY:
- PostQuitMessage(0);
- break;
- default:
- return DefWindowProc(hWnd, uMsg, wParam, lParam);
- }
-
- return 0;
-}
-
-static int
-initMainthread(void)
-{
- WNDCLASS wc = {0};
- HWND win;
- PIXELFORMATDESCRIPTOR pfd = {0};
- int visinfo;
-
- wc.lpfnWndProc = WndProc;
- wc.lpszClassName = "sharedtex_mt.hidden";
- wc.style = CS_OWNDC | CS_HREDRAW | CS_VREDRAW;
- RegisterClass(&wc);
-
- win = CreateWindowEx(0,
- wc.lpszClassName,
- "sharedtex_mt.hidden",
- WS_CLIPSIBLINGS | WS_CLIPCHILDREN,
- CW_USEDEFAULT,
- CW_USEDEFAULT,
- CW_USEDEFAULT,
- CW_USEDEFAULT,
- NULL,
- NULL,
- wc.hInstance,
- (LPVOID) -1);
- if (!win) {
- Error("Couldn't create window");
- }
-
- gHDC = GetDC(win);
- if (!gHDC) {
- Error("Couldn't obtain HDC");
- }
-
- pfd.cColorBits = 24;
- pfd.cDepthBits = 24;
- pfd.dwFlags = PFD_DOUBLEBUFFER | PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL;
- pfd.iLayerType = PFD_MAIN_PLANE;
- pfd.iPixelType = PFD_TYPE_RGBA;
- pfd.nSize = sizeof(pfd);
- pfd.nVersion = 1;
-
- visinfo = ChoosePixelFormat(gHDC, &pfd);
- if (!visinfo) {
- Error("Unable to find RGB, Z, double-buffered visual");
- }
-
- SetPixelFormat(gHDC, visinfo, &pfd);
- gCtx = wglCreateContext(gHDC);
- if (!gCtx) {
- Error("Couldn't create WGL context");
- }
-
- return 0;
-}
-
-static struct window *
-AddWindow(int xpos, int ypos, HGLRC sCtx)
-{
- struct window *win = &Windows[NumWindows];
- WNDCLASS wc = {0};
- int width = 300, height = 300;
-
- if (NumWindows >= MAX_WINDOWS)
- return NULL;
-
- memset(win, 0, sizeof(*win));
- InitializeCriticalSection(&win->drawMutex);
- win->Angle = 0.0;
- win->Id = NumWindows++;
-
- wc.hbrBackground = (HBRUSH) (COLOR_BTNFACE + 1);
- wc.hCursor = LoadCursor(NULL, IDC_ARROW);
- wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
- wc.lpfnWndProc = WndProc;
- wc.lpszClassName = "sharedtex_mt";
- wc.style = CS_OWNDC | CS_HREDRAW | CS_VREDRAW;
- RegisterClass(&wc);
-
- win->Win = CreateWindowEx(0,
- wc.lpszClassName,
- "sharedtex_mt",
- WS_SIZEBOX | WS_CLIPSIBLINGS | WS_CLIPCHILDREN,
- xpos,
- ypos,
- width,
- height,
- NULL,
- NULL,
- wc.hInstance,
- (LPVOID) win->Id);
- if (!win->Win) {
- Error("Couldn't create window");
- }
-
- win->sharedContext = sCtx;
-
- ShowWindow(win->Win, SW_SHOW);
-
- return win;
-}
-
-
-static void
-InitGLstuff(void)
-{
- glGenTextures(3, Textures);
-
- /* setup first texture object */
- {
- GLubyte image[16][16][4];
- GLint i, j;
- glBindTexture(GL_TEXTURE_2D, Textures[0]);
-
- /* red/white checkerboard */
- for (i = 0; i < 16; i++) {
- for (j = 0; j < 16; j++) {
- if ((i ^ j) & 1) {
- image[i][j][0] = 255;
- image[i][j][1] = 255;
- image[i][j][2] = 255;
- image[i][j][3] = 255;
- }
- else {
- image[i][j][0] = 255;
- image[i][j][1] = 0;
- image[i][j][2] = 0;
- image[i][j][3] = 255;
- }
- }
- }
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 16, 16, 0, GL_RGBA,
- GL_UNSIGNED_BYTE, image);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- }
-
- /* setup second texture object */
- {
- GLubyte image[8][8][3];
- GLint i, j;
- glBindTexture(GL_TEXTURE_2D, Textures[1]);
-
- /* green/yellow checkerboard */
- for (i = 0; i < 8; i++) {
- for (j = 0; j < 8; j++) {
- if ((i ^ j) & 1) {
- image[i][j][0] = 0;
- image[i][j][1] = 255;
- image[i][j][2] = 0;
- }
- else {
- image[i][j][0] = 255;
- image[i][j][1] = 255;
- image[i][j][2] = 0;
- }
- }
- }
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 2);
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 8, 8, 0, GL_RGB,
- GL_UNSIGNED_BYTE, image);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- }
-
- /* setup second texture object */
- {
- GLubyte image[4][4][3];
- GLint i, j;
- glBindTexture(GL_TEXTURE_2D, Textures[2]);
-
- /* blue/gray checkerboard */
- for (i = 0; i < 4; i++) {
- for (j = 0; j < 4; j++) {
- if ((i ^ j) & 1) {
- image[i][j][0] = 0;
- image[i][j][1] = 0;
- image[i][j][2] = 255;
- }
- else {
- image[i][j][0] = 200;
- image[i][j][1] = 200;
- image[i][j][2] = 200;
- }
- }
- }
-
- glPixelStorei(GL_UNPACK_ALIGNMENT, 2);
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 4, 4, 0, GL_RGB,
- GL_UNSIGNED_BYTE, image);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- }
-
- /* Now make the cube object display list */
-
- printf("GL_RENDERER: %s\n", (char *) glGetString(GL_RENDERER));
- printf("GL_VERSION: %s\n", (char *) glGetString(GL_VERSION));
- printf("GL_VENDOR: %s\n", (char *) glGetString(GL_VENDOR));
-}
-
-static void
-Redraw(struct window *h)
-{
- EnterCriticalSection(&h->drawMutex);
- if (!wglMakeCurrent(h->hDC, h->Context)) {
- LeaveCriticalSection(&h->drawMutex);
- Error("wglMakeCurrent failed in Redraw");
- return;
- }
-
- h->Angle += 1.0;
-
- glShadeModel(GL_FLAT);
- glClearColor(0.25, 0.25, 0.25, 1.0);
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
- glEnable(GL_TEXTURE_2D);
- glEnable(GL_DEPTH_TEST);
- glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
-
- glColor3f(1, 1, 1);
-
- glPushMatrix();
- if (h->Id == 0)
- glRotatef(h->Angle, 0, 1, -1);
- else if (h->Id == 1)
- glRotatef(-(h->Angle), 0, 1, -1);
- else if (h->Id == 2)
- glRotatef(h->Angle, 0, 1, 1);
- else if (h->Id == 3)
- glRotatef(-(h->Angle), 0, 1, 1);
- glBindTexture(GL_TEXTURE_2D, Textures[0]);
- glBegin(GL_POLYGON);
- glTexCoord2f(0, 0); glVertex3f(-1, -1, -1);
- glTexCoord2f(1, 0); glVertex3f(-1, 1, -1);
- glTexCoord2f(1, 1); glVertex3f(-1, 1, 1);
- glTexCoord2f(0, 1); glVertex3f(-1, -1, 1);
- glEnd();
- glBegin(GL_POLYGON);
- glTexCoord2f(0, 0); glVertex3f(1, -1, -1);
- glTexCoord2f(1, 0); glVertex3f(1, 1, -1);
- glTexCoord2f(1, 1); glVertex3f(1, 1, 1);
- glTexCoord2f(0, 1); glVertex3f(1, -1, 1);
- glEnd();
-
- glBindTexture(GL_TEXTURE_2D, Textures[1]);
- glBegin(GL_POLYGON);
- glTexCoord2f(0, 0); glVertex3f(-1, -1, -1);
- glTexCoord2f(1, 0); glVertex3f( 1, -1, -1);
- glTexCoord2f(1, 1); glVertex3f( 1, -1, 1);
- glTexCoord2f(0, 1); glVertex3f(-1, -1, 1);
- glEnd();
- glBegin(GL_POLYGON);
- glTexCoord2f(0, 0); glVertex3f(-1, 1, -1);
- glTexCoord2f(1, 0); glVertex3f( 1, 1, -1);
- glTexCoord2f(1, 1); glVertex3f( 1, 1, 1);
- glTexCoord2f(0, 1); glVertex3f(-1, 1, 1);
- glEnd();
-
- glBindTexture(GL_TEXTURE_2D, Textures[2]);
- glBegin(GL_POLYGON);
- glTexCoord2f(0, 0); glVertex3f(-1, -1, -1);
- glTexCoord2f(1, 0); glVertex3f( 1, -1, -1);
- glTexCoord2f(1, 1); glVertex3f( 1, 1, -1);
- glTexCoord2f(0, 1); glVertex3f(-1, 1, -1);
- glEnd();
- glBegin(GL_POLYGON);
- glTexCoord2f(0, 0); glVertex3f(-1, -1, 1);
- glTexCoord2f(1, 0); glVertex3f( 1, -1, 1);
- glTexCoord2f(1, 1); glVertex3f( 1, 1, 1);
- glTexCoord2f(0, 1); glVertex3f(-1, 1, 1);
- glEnd();
-
- glPopMatrix();
-
- SwapBuffers(h->hDC);
-
- if (!wglMakeCurrent(NULL, NULL)) {
- Error("wglMakeCurrent failed in Redraw");
- }
- LeaveCriticalSection(&h->drawMutex);
-}
-
-static DWORD WINAPI
-threadRunner (void *arg)
-{
- struct thread_init_arg *tia = (struct thread_init_arg *) arg;
- struct window *win;
- PIXELFORMATDESCRIPTOR pfd = {0};
- int visinfo;
-
- win = &Windows[tia->id];
-
- win->hDC = GetDC(win->Win);
- if (!win->hDC) {
- Error("Couldn't obtain HDC");
- }
-
- /* Wait for the previous thread */
- if(tia->id > 0)
- WaitForSingleObject(Windows[tia->id - 1].hEventInitialised, INFINITE);
-
- pfd.cColorBits = 24;
- pfd.cDepthBits = 24;
- pfd.dwFlags = PFD_DOUBLEBUFFER | PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL;
- pfd.iLayerType = PFD_MAIN_PLANE;
- pfd.iPixelType = PFD_TYPE_RGBA;
- pfd.nSize = sizeof(pfd);
- pfd.nVersion = 1;
-
- visinfo = ChoosePixelFormat(win->hDC, &pfd);
- if (!visinfo) {
- Error("Unable to find RGB, Z, double-buffered visual");
- }
-
- SetPixelFormat(win->hDC, visinfo, &pfd);
- win->Context = wglCreateContext(win->hDC);
- if (!win->Context) {
- Error("Couldn't create WGL context");
- }
-
- if (win->sharedContext) {
- if(!wglShareLists(win->sharedContext, win->Context))
- Error("Couldn't share WGL context lists");
- }
-
- SetEvent(win->hEventInitialised);
-
- /* Wait for all threads to initialize otherwise wglShareLists will fail */
- if(tia->id < NumWindows - 1)
- WaitForSingleObject(Windows[NumWindows - 1].hEventInitialised, INFINITE);
-
- SendMessage(win->Win, WM_SIZE, 0, 0);
-
- while (1) {
- MSG msg;
-
- /* wait 1 ms for signal either to exit or process messages */
- switch (MsgWaitForMultipleObjects(1, &terminate, FALSE, 1, QS_ALLINPUT)) {
- case WAIT_OBJECT_0:
- SendMessage(win->Win, WM_CLOSE, 0, 0);
- break;
- case WAIT_OBJECT_0 + 1:
- break;
- }
-
- while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) {
- if (msg.message == WM_QUIT) {
- return 0;
- }
- TranslateMessage(&msg);
- DispatchMessage(&msg);
- }
-
- Redraw(win);
- }
-
- return 0;
-}
-
-static void
-Resize(struct window *h, unsigned int width, unsigned int height)
-{
- if (!h->Context)
- return;
-
- EnterCriticalSection(&h->drawMutex);
-
- if (!wglMakeCurrent(h->hDC, h->Context)) {
- LeaveCriticalSection(&h->drawMutex);
- Error("wglMakeCurrent failed in Resize()");
- return;
- }
-
- glViewport(0, 0, width, height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glFrustum(-1, 1, -1, 1, 2, 10);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef(0, 0, -4.5);
- if (!wglMakeCurrent(NULL, NULL)) {
- Error("wglMakeCurrent failed in Resize()");
- }
- LeaveCriticalSection(&h->drawMutex);
-}
-
-int
-main(int argc, char *argv[])
-{
- struct thread_init_arg tia[MAX_WINDOWS];
- struct window *h[MAX_WINDOWS];
- HANDLE threads[MAX_WINDOWS];
- int i;
-
- terminate = CreateEvent(NULL, TRUE, FALSE, NULL);
-
- if (initMainthread())
- return -1;
-
- /* four windows and contexts sharing display lists and texture objects */
- h[0] = AddWindow( 10, 10, gCtx);
- h[1] = AddWindow(330, 10, gCtx);
- h[2] = AddWindow( 10, 350, gCtx);
- h[3] = AddWindow(330, 350, gCtx);
-
- for (i = 0; i < NumWindows; i++) {
- Windows[i].hEventInitialised = CreateEvent(NULL, TRUE, FALSE, NULL);
- }
-
- for (i = 0; i < NumWindows; i++) {
- DWORD id;
-
- tia[i].id = i;
- threads[i] = CreateThread(NULL, 0, threadRunner, &tia[i], 0, &id);
-
- WaitForSingleObject(Windows[i].hEventInitialised, INFINITE);
- }
-
- if (!wglMakeCurrent(gHDC, gCtx)) {
- Error("wglMakeCurrent failed for init thread.");
- return -1;
- }
-
- InitGLstuff();
-
- while (1) {
- MSG msg;
-
- /* wait 1 ms for signal either to exit or process messages */
- switch (MsgWaitForMultipleObjects(NumWindows, threads, TRUE, 1, QS_ALLINPUT)) {
- case WAIT_OBJECT_0:
- return 0;
- }
-
- while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) {
- if (msg.message == WM_QUIT) {
- return 0;
- }
- TranslateMessage(&msg);
- DispatchMessage(&msg);
- }
- }
-
- return 0;
-}
diff --git a/progs/wgl/wglinfo.c b/progs/wgl/wglinfo.c
deleted file mode 100644
index 864372c2f9..0000000000
--- a/progs/wgl/wglinfo.c
+++ /dev/null
@@ -1,736 +0,0 @@
-/*
- * Copyright (C) 2009 VMware, Inc.
- * Copyright (C) 1999-2006 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 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.
- */
-
-
-/*
- * This program is a work-alike of the GLX glxinfo program.
- * Command line options:
- * -t print wide table
- * -v print verbose information
- * -b only print ID of "best" visual on screen 0
- * -l print interesting OpenGL limits (added 5 Sep 2002)
- */
-
-#include <windows.h>
-
-#include <GL/gl.h>
-#include <GL/glext.h>
-#include <GL/wglext.h>
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-
-
-typedef enum
-{
- Normal,
- Wide,
- Verbose
-} InfoMode;
-
-
-/*
- * Print a list of extensions, with word-wrapping.
- */
-static void
-print_extension_list(const char *ext)
-{
- const char *indentString = " ";
- const int indent = 4;
- const int max = 79;
- int width, i, j;
-
- if (!ext || !ext[0])
- return;
-
- width = indent;
- printf(indentString);
- i = j = 0;
- while (1) {
- if (ext[j] == ' ' || ext[j] == 0) {
- /* found end of an extension name */
- const int len = j - i;
- if (width + len > max) {
- /* start a new line */
- printf("\n");
- width = indent;
- printf(indentString);
- }
- /* print the extension name between ext[i] and ext[j] */
- while (i < j) {
- printf("%c", ext[i]);
- i++;
- }
- /* either we're all done, or we'll continue with next extension */
- width += len + 1;
- if (ext[j] == 0) {
- break;
- }
- else {
- i++;
- j++;
- if (ext[j] == 0)
- break;
- printf(", ");
- width += 2;
- }
- }
- j++;
- }
- printf("\n");
-}
-
-
-/**
- * Print interesting limits for vertex/fragment programs.
- */
-static void
-print_program_limits(GLenum target)
-{
-#if defined(GL_ARB_vertex_program) || defined(GL_ARB_fragment_program)
- struct token_name {
- GLenum token;
- const char *name;
- };
- static const struct token_name limits[] = {
- { GL_MAX_PROGRAM_INSTRUCTIONS_ARB, "GL_MAX_PROGRAM_INSTRUCTIONS_ARB" },
- { GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB, "GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB" },
- { GL_MAX_PROGRAM_TEMPORARIES_ARB, "GL_MAX_PROGRAM_TEMPORARIES_ARB" },
- { GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB, "GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB" },
- { GL_MAX_PROGRAM_PARAMETERS_ARB, "GL_MAX_PROGRAM_PARAMETERS_ARB" },
- { GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB, "GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB" },
- { GL_MAX_PROGRAM_ATTRIBS_ARB, "GL_MAX_PROGRAM_ATTRIBS_ARB" },
- { GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB, "GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB" },
- { GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB, "GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB" },
- { GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB, "GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB" },
- { GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB, "GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB" },
- { GL_MAX_PROGRAM_ENV_PARAMETERS_ARB, "GL_MAX_PROGRAM_ENV_PARAMETERS_ARB" },
- { GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB, "GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB" },
- { GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB, "GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB" },
- { GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB, "GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB" },
- { GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB, "GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB" },
- { GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB, "GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB" },
- { GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB, "GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB" },
- { (GLenum) 0, NULL }
- };
- PFNGLGETPROGRAMIVARBPROC GetProgramivARB_func = (PFNGLGETPROGRAMIVARBPROC)
- wglGetProcAddress("glGetProgramivARB");
- GLint max[1];
- int i;
-
- if (target == GL_VERTEX_PROGRAM_ARB) {
- printf(" GL_VERTEX_PROGRAM_ARB:\n");
- }
- else if (target == GL_FRAGMENT_PROGRAM_ARB) {
- printf(" GL_FRAGMENT_PROGRAM_ARB:\n");
- }
- else {
- return; /* something's wrong */
- }
-
- for (i = 0; limits[i].token; i++) {
- GetProgramivARB_func(target, limits[i].token, max);
- if (glGetError() == GL_NO_ERROR) {
- printf(" %s = %d\n", limits[i].name, max[0]);
- }
- }
-#endif /* GL_ARB_vertex_program / GL_ARB_fragment_program */
-}
-
-
-/**
- * Print interesting limits for vertex/fragment shaders.
- */
-static void
-print_shader_limits(GLenum target)
-{
- struct token_name {
- GLenum token;
- const char *name;
- };
-#if defined(GL_ARB_vertex_shader)
- static const struct token_name vertex_limits[] = {
- { GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB, "GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB" },
- { GL_MAX_VARYING_FLOATS_ARB, "GL_MAX_VARYING_FLOATS_ARB" },
- { GL_MAX_VERTEX_ATTRIBS_ARB, "GL_MAX_VERTEX_ATTRIBS_ARB" },
- { GL_MAX_TEXTURE_IMAGE_UNITS_ARB, "GL_MAX_TEXTURE_IMAGE_UNITS_ARB" },
- { GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB, "GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB" },
- { GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB, "GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB" },
- { GL_MAX_TEXTURE_COORDS_ARB, "GL_MAX_TEXTURE_COORDS_ARB" },
- { (GLenum) 0, NULL }
- };
-#endif
-#if defined(GL_ARB_fragment_shader)
- static const struct token_name fragment_limits[] = {
- { GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB, "GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB" },
- { GL_MAX_TEXTURE_COORDS_ARB, "GL_MAX_TEXTURE_COORDS_ARB" },
- { GL_MAX_TEXTURE_IMAGE_UNITS_ARB, "GL_MAX_TEXTURE_IMAGE_UNITS_ARB" },
- { (GLenum) 0, NULL }
- };
-#endif
- GLint max[1];
- int i;
-
-#if defined(GL_ARB_vertex_shader)
- if (target == GL_VERTEX_SHADER_ARB) {
- printf(" GL_VERTEX_SHADER_ARB:\n");
- for (i = 0; vertex_limits[i].token; i++) {
- glGetIntegerv(vertex_limits[i].token, max);
- if (glGetError() == GL_NO_ERROR) {
- printf(" %s = %d\n", vertex_limits[i].name, max[0]);
- }
- }
- }
-#endif
-#if defined(GL_ARB_fragment_shader)
- if (target == GL_FRAGMENT_SHADER_ARB) {
- printf(" GL_FRAGMENT_SHADER_ARB:\n");
- for (i = 0; fragment_limits[i].token; i++) {
- glGetIntegerv(fragment_limits[i].token, max);
- if (glGetError() == GL_NO_ERROR) {
- printf(" %s = %d\n", fragment_limits[i].name, max[0]);
- }
- }
- }
-#endif
-}
-
-
-/**
- * Print interesting OpenGL implementation limits.
- */
-static void
-print_limits(const char *extensions)
-{
- struct token_name {
- GLuint count;
- GLenum token;
- const char *name;
- };
- static const struct token_name limits[] = {
- { 1, GL_MAX_ATTRIB_STACK_DEPTH, "GL_MAX_ATTRIB_STACK_DEPTH" },
- { 1, GL_MAX_CLIENT_ATTRIB_STACK_DEPTH, "GL_MAX_CLIENT_ATTRIB_STACK_DEPTH" },
- { 1, GL_MAX_CLIP_PLANES, "GL_MAX_CLIP_PLANES" },
- { 1, GL_MAX_COLOR_MATRIX_STACK_DEPTH, "GL_MAX_COLOR_MATRIX_STACK_DEPTH" },
- { 1, GL_MAX_ELEMENTS_VERTICES, "GL_MAX_ELEMENTS_VERTICES" },
- { 1, GL_MAX_ELEMENTS_INDICES, "GL_MAX_ELEMENTS_INDICES" },
- { 1, GL_MAX_EVAL_ORDER, "GL_MAX_EVAL_ORDER" },
- { 1, GL_MAX_LIGHTS, "GL_MAX_LIGHTS" },
- { 1, GL_MAX_LIST_NESTING, "GL_MAX_LIST_NESTING" },
- { 1, GL_MAX_MODELVIEW_STACK_DEPTH, "GL_MAX_MODELVIEW_STACK_DEPTH" },
- { 1, GL_MAX_NAME_STACK_DEPTH, "GL_MAX_NAME_STACK_DEPTH" },
- { 1, GL_MAX_PIXEL_MAP_TABLE, "GL_MAX_PIXEL_MAP_TABLE" },
- { 1, GL_MAX_PROJECTION_STACK_DEPTH, "GL_MAX_PROJECTION_STACK_DEPTH" },
- { 1, GL_MAX_TEXTURE_STACK_DEPTH, "GL_MAX_TEXTURE_STACK_DEPTH" },
- { 1, GL_MAX_TEXTURE_SIZE, "GL_MAX_TEXTURE_SIZE" },
- { 1, GL_MAX_3D_TEXTURE_SIZE, "GL_MAX_3D_TEXTURE_SIZE" },
- { 2, GL_MAX_VIEWPORT_DIMS, "GL_MAX_VIEWPORT_DIMS" },
- { 2, GL_ALIASED_LINE_WIDTH_RANGE, "GL_ALIASED_LINE_WIDTH_RANGE" },
- { 2, GL_SMOOTH_LINE_WIDTH_RANGE, "GL_SMOOTH_LINE_WIDTH_RANGE" },
- { 2, GL_ALIASED_POINT_SIZE_RANGE, "GL_ALIASED_POINT_SIZE_RANGE" },
- { 2, GL_SMOOTH_POINT_SIZE_RANGE, "GL_SMOOTH_POINT_SIZE_RANGE" },
-#if defined(GL_ARB_texture_cube_map)
- { 1, GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB, "GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB" },
-#endif
-#if defined(GLX_NV_texture_rectangle)
- { 1, GL_MAX_RECTANGLE_TEXTURE_SIZE_NV, "GL_MAX_RECTANGLE_TEXTURE_SIZE_NV" },
-#endif
-#if defined(GL_ARB_texture_compression)
- { 1, GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB, "GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB" },
-#endif
-#if defined(GL_ARB_multitexture)
- { 1, GL_MAX_TEXTURE_UNITS_ARB, "GL_MAX_TEXTURE_UNITS_ARB" },
-#endif
-#if defined(GL_EXT_texture_lod_bias)
- { 1, GL_MAX_TEXTURE_LOD_BIAS_EXT, "GL_MAX_TEXTURE_LOD_BIAS_EXT" },
-#endif
-#if defined(GL_EXT_texture_filter_anisotropic)
- { 1, GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, "GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT" },
-#endif
-#if defined(GL_ARB_draw_buffers)
- { 1, GL_MAX_DRAW_BUFFERS_ARB, "GL_MAX_DRAW_BUFFERS_ARB" },
-#endif
- { 0, (GLenum) 0, NULL }
- };
- GLint i, max[2];
-
- printf("OpenGL limits:\n");
- for (i = 0; limits[i].count; i++) {
- glGetIntegerv(limits[i].token, max);
- if (glGetError() == GL_NO_ERROR) {
- if (limits[i].count == 1)
- printf(" %s = %d\n", limits[i].name, max[0]);
- else /* XXX fix if we ever query something with more than 2 values */
- printf(" %s = %d, %d\n", limits[i].name, max[0], max[1]);
- }
- }
-
-#if defined(GL_EXT_convolution)
- {
- PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC glGetConvolutionParameterivEXT_func =
- (PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC)wglGetProcAddress("glGetConvolutionParameterivEXT");
- if(glGetConvolutionParameterivEXT_func) {
- /* these don't fit into the above mechanism, unfortunately */
- glGetConvolutionParameterivEXT_func(GL_CONVOLUTION_2D, GL_MAX_CONVOLUTION_WIDTH, max);
- glGetConvolutionParameterivEXT_func(GL_CONVOLUTION_2D, GL_MAX_CONVOLUTION_HEIGHT, max+1);
- if (glGetError() == GL_NONE) {
- printf(" GL_MAX_CONVOLUTION_WIDTH/HEIGHT = %d, %d\n", max[0], max[1]);
- }
- }
- }
-#endif
-
-#if defined(GL_ARB_vertex_program)
- if (strstr(extensions, "GL_ARB_vertex_program")) {
- print_program_limits(GL_VERTEX_PROGRAM_ARB);
- }
-#endif
-#if defined(GL_ARB_fragment_program)
- if (strstr(extensions, "GL_ARB_fragment_program")) {
- print_program_limits(GL_FRAGMENT_PROGRAM_ARB);
- }
-#endif
-#if defined(GL_ARB_vertex_shader)
- if (strstr(extensions, "GL_ARB_vertex_shader")) {
- print_shader_limits(GL_VERTEX_SHADER_ARB);
- }
-#endif
-#if defined(GL_ARB_fragment_shader)
- if (strstr(extensions, "GL_ARB_fragment_shader")) {
- print_shader_limits(GL_FRAGMENT_SHADER_ARB);
- }
-#endif
-}
-
-
-static LRESULT CALLBACK
-WndProc(HWND hWnd,
- UINT uMsg,
- WPARAM wParam,
- LPARAM lParam )
-{
- switch (uMsg) {
- case WM_DESTROY:
- PostQuitMessage(0);
- break;
- default:
- return DefWindowProc(hWnd, uMsg, wParam, lParam);
- }
-
- return 0;
-}
-
-
-static void
-print_screen_info(HDC _hdc, GLboolean limits)
-{
- WNDCLASS wc;
- HWND win;
- HGLRC ctx;
- int visinfo;
- HDC hdc;
- PIXELFORMATDESCRIPTOR pfd;
-
- memset(&wc, 0, sizeof wc);
- wc.hbrBackground = (HBRUSH) (COLOR_BTNFACE + 1);
- wc.hCursor = LoadCursor(NULL, IDC_ARROW);
- wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
- wc.lpfnWndProc = WndProc;
- wc.lpszClassName = "wglinfo";
- wc.style = CS_OWNDC | CS_HREDRAW | CS_VREDRAW;
- RegisterClass(&wc);
-
- win = CreateWindowEx(0,
- wc.lpszClassName,
- "wglinfo",
- WS_CLIPSIBLINGS | WS_CLIPCHILDREN,
- CW_USEDEFAULT,
- CW_USEDEFAULT,
- CW_USEDEFAULT,
- CW_USEDEFAULT,
- NULL,
- NULL,
- wc.hInstance,
- NULL);
- if (!win) {
- fprintf(stderr, "Couldn't create window");
- return;
- }
-
- hdc = GetDC(win);
- if (!hdc) {
- fprintf(stderr, "Couldn't obtain HDC");
- return;
- }
-
- pfd.cColorBits = 3;
- pfd.cRedBits = 1;
- pfd.cGreenBits = 1;
- pfd.cBlueBits = 1;
- pfd.dwFlags = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL;
- pfd.iLayerType = PFD_MAIN_PLANE;
- pfd.iPixelType = PFD_TYPE_RGBA;
- pfd.nSize = sizeof(pfd);
- pfd.nVersion = 1;
-
- visinfo = ChoosePixelFormat(hdc, &pfd);
- if (!visinfo) {
- pfd.dwFlags |= PFD_DOUBLEBUFFER;
- visinfo = ChoosePixelFormat(hdc, &pfd);
- }
-
- if (!visinfo) {
- fprintf(stderr, "Error: couldn't find RGB WGL visual\n");
- return;
- }
-
- SetPixelFormat(hdc, visinfo, &pfd);
- ctx = wglCreateContext(hdc);
- if (!ctx) {
- fprintf(stderr, "Error: wglCreateContext failed\n");
- return;
- }
-
- if (wglMakeCurrent(hdc, ctx)) {
-#if defined(WGL_ARB_extensions_string)
- PFNWGLGETEXTENSIONSSTRINGARBPROC wglGetExtensionsStringARB_func =
- (PFNWGLGETEXTENSIONSSTRINGARBPROC)wglGetProcAddress("wglGetExtensionsStringARB");
-#endif
- const char *glVendor = (const char *) glGetString(GL_VENDOR);
- const char *glRenderer = (const char *) glGetString(GL_RENDERER);
- const char *glVersion = (const char *) glGetString(GL_VERSION);
- const char *glExtensions = (const char *) glGetString(GL_EXTENSIONS);
-
-#if defined(WGL_ARB_extensions_string)
- if(wglGetExtensionsStringARB_func) {
- const char *wglExtensions = wglGetExtensionsStringARB_func(hdc);
- if(wglExtensions) {
- printf("WGL extensions:\n");
- print_extension_list(wglExtensions);
- }
- }
-#endif
- printf("OpenGL vendor string: %s\n", glVendor);
- printf("OpenGL renderer string: %s\n", glRenderer);
- printf("OpenGL version string: %s\n", glVersion);
-#ifdef GL_VERSION_2_0
- if (glVersion[0] >= '2' && glVersion[1] == '.') {
- char *v = (char *) glGetString(GL_SHADING_LANGUAGE_VERSION);
- printf("OpenGL shading language version string: %s\n", v);
- }
-#endif
-
- printf("OpenGL extensions:\n");
- print_extension_list(glExtensions);
- if (limits)
- print_limits(glExtensions);
- }
- else {
- fprintf(stderr, "Error: wglMakeCurrent failed\n");
- }
-
- DestroyWindow(win);
-}
-
-
-static const char *
-visual_render_type_name(BYTE iPixelType)
-{
- switch (iPixelType) {
- case PFD_TYPE_RGBA:
- return "rgba";
- case PFD_TYPE_COLORINDEX:
- return "ci";
- default:
- return "";
- }
-}
-
-static void
-print_visual_attribs_verbose(int iPixelFormat, LPPIXELFORMATDESCRIPTOR ppfd)
-{
- printf("Visual ID: %x generic=%d native=%d\n",
- iPixelFormat,
- ppfd->dwFlags & PFD_GENERIC_FORMAT ? 1 : 0,
- ppfd->dwFlags & PFD_DRAW_TO_WINDOW ? 1 : 0);
- printf(" bufferSize=%d level=%d renderType=%s doubleBuffer=%d stereo=%d\n",
- 0 /* ppfd->bufferSize */, 0 /* ppfd->level */,
- visual_render_type_name(ppfd->iPixelType),
- ppfd->dwFlags & PFD_DOUBLEBUFFER ? 1 : 0,
- ppfd->dwFlags & PFD_STEREO ? 1 : 0);
- printf(" rgba: cRedBits=%d cGreenBits=%d cBlueBits=%d cAlphaBits=%d\n",
- ppfd->cRedBits, ppfd->cGreenBits,
- ppfd->cBlueBits, ppfd->cAlphaBits);
- printf(" cAuxBuffers=%d cDepthBits=%d cStencilBits=%d\n",
- ppfd->cAuxBuffers, ppfd->cDepthBits, ppfd->cStencilBits);
- printf(" accum: cRedBits=%d cGreenBits=%d cBlueBits=%d cAlphaBits=%d\n",
- ppfd->cAccumRedBits, ppfd->cAccumGreenBits,
- ppfd->cAccumBlueBits, ppfd->cAccumAlphaBits);
- printf(" multiSample=%d multiSampleBuffers=%d\n",
- 0 /* ppfd->numSamples */, 0 /* ppfd->numMultisample */);
-}
-
-
-static void
-print_visual_attribs_short_header(void)
-{
- printf(" visual x bf lv rg d st colorbuffer ax dp st accumbuffer ms cav\n");
- printf(" id gen nat sp sz l ci b ro r g b a bf th cl r g b a ns b eat\n");
- printf("-----------------------------------------------------------------------\n");
-}
-
-
-static void
-print_visual_attribs_short(int iPixelFormat, LPPIXELFORMATDESCRIPTOR ppfd)
-{
- char *caveat = "None";
-
- printf("0x%02x %2d %2d %2d %2d %2d %c%c %c %c %2d %2d %2d %2d %2d %2d %2d",
- iPixelFormat,
- ppfd->dwFlags & PFD_GENERIC_FORMAT ? 1 : 0,
- ppfd->dwFlags & PFD_DRAW_TO_WINDOW ? 1 : 0,
- 0,
- 0 /* ppfd->bufferSize */,
- 0 /* ppfd->level */,
- ppfd->iPixelType == PFD_TYPE_RGBA ? 'r' : ' ',
- ppfd->iPixelType == PFD_TYPE_COLORINDEX ? 'c' : ' ',
- ppfd->dwFlags & PFD_DOUBLEBUFFER ? 'y' : '.',
- ppfd->dwFlags & PFD_STEREO ? 'y' : '.',
- ppfd->cRedBits, ppfd->cGreenBits,
- ppfd->cBlueBits, ppfd->cAlphaBits,
- ppfd->cAuxBuffers,
- ppfd->cDepthBits,
- ppfd->cStencilBits
- );
-
- printf(" %2d %2d %2d %2d %2d %1d %s\n",
- ppfd->cAccumRedBits, ppfd->cAccumGreenBits,
- ppfd->cAccumBlueBits, ppfd->cAccumAlphaBits,
- 0 /* ppfd->numSamples */, 0 /* ppfd->numMultisample */,
- caveat
- );
-}
-
-
-static void
-print_visual_attribs_long_header(void)
-{
- printf("Vis Vis Visual Trans buff lev render DB ste r g b a aux dep ste accum buffers MS MS\n");
- printf(" ID Depth Type parent size el type reo sz sz sz sz buf th ncl r g b a num bufs\n");
- printf("----------------------------------------------------------------------------------------------------\n");
-}
-
-
-static void
-print_visual_attribs_long(int iPixelFormat, LPPIXELFORMATDESCRIPTOR ppfd)
-{
- printf("0x%2x %2d %11d %2d %2d %2d %4s %3d %3d %3d %3d %3d %3d",
- iPixelFormat,
- ppfd->dwFlags & PFD_GENERIC_FORMAT ? 1 : 0,
- ppfd->dwFlags & PFD_DRAW_TO_WINDOW ? 1 : 0,
- 0,
- 0 /* ppfd->bufferSize */,
- 0 /* ppfd->level */,
- visual_render_type_name(ppfd->iPixelType),
- ppfd->dwFlags & PFD_DOUBLEBUFFER ? 1 : 0,
- ppfd->dwFlags & PFD_STEREO ? 1 : 0,
- ppfd->cRedBits, ppfd->cGreenBits,
- ppfd->cBlueBits, ppfd->cAlphaBits
- );
-
- printf(" %3d %4d %2d %3d %3d %3d %3d %2d %2d\n",
- ppfd->cAuxBuffers,
- ppfd->cDepthBits,
- ppfd->cStencilBits,
- ppfd->cAccumRedBits, ppfd->cAccumGreenBits,
- ppfd->cAccumBlueBits, ppfd->cAccumAlphaBits,
- 0 /* ppfd->numSamples */, 0 /* ppfd->numMultisample */
- );
-}
-
-
-static void
-print_visual_info(HDC hdc, InfoMode mode)
-{
- PIXELFORMATDESCRIPTOR pfd;
- int numVisuals, numWglVisuals;
- int i;
-
- numVisuals = DescribePixelFormat(hdc, 1, sizeof(PIXELFORMATDESCRIPTOR), NULL);
- if (numVisuals == 0)
- return;
-
- numWglVisuals = 0;
- for (i = 0; i < numVisuals; i++) {
- if(!DescribePixelFormat(hdc, i, sizeof(PIXELFORMATDESCRIPTOR), &pfd))
- continue;
-
- //if(!(pfd.dwFlags & PFD_SUPPORT_OPENGL))
- // continue;
-
- ++numWglVisuals;
- }
-
- printf("%d WGL Visuals\n", numWglVisuals);
-
- if (mode == Normal)
- print_visual_attribs_short_header();
- else if (mode == Wide)
- print_visual_attribs_long_header();
-
- for (i = 0; i < numVisuals; i++) {
- if(!DescribePixelFormat(hdc, i, sizeof(PIXELFORMATDESCRIPTOR), &pfd))
- continue;
-
- //if(!(pfd.dwFlags & PFD_SUPPORT_OPENGL))
- // continue;
-
- if (mode == Verbose)
- print_visual_attribs_verbose(i, &pfd);
- else if (mode == Normal)
- print_visual_attribs_short(i, &pfd);
- else if (mode == Wide)
- print_visual_attribs_long(i, &pfd);
- }
- printf("\n");
-}
-
-
-/*
- * Examine all visuals to find the so-called best one.
- * We prefer deepest RGBA buffer with depth, stencil and accum
- * that has no caveats.
- */
-static int
-find_best_visual(HDC hdc)
-{
-#if 0
- XVisualInfo theTemplate;
- XVisualInfo *visuals;
- int numVisuals;
- long mask;
- int i;
- struct visual_attribs bestVis;
-
- /* get list of all visuals on this screen */
- theTemplate.screen = scrnum;
- mask = VisualScreenMask;
- visuals = XGetVisualInfo(hdc, mask, &theTemplate, &numVisuals);
-
- /* init bestVis with first visual info */
- get_visual_attribs(hdc, &visuals[0], &bestVis);
-
- /* try to find a "better" visual */
- for (i = 1; i < numVisuals; i++) {
- struct visual_attribs vis;
-
- get_visual_attribs(hdc, &visuals[i], &vis);
-
- /* always skip visuals with caveats */
- if (vis.visualCaveat != GLX_NONE_EXT)
- continue;
-
- /* see if this vis is better than bestVis */
- if ((!bestVis.supportsGL && vis.supportsGL) ||
- (bestVis.visualCaveat != GLX_NONE_EXT) ||
- (bestVis.iPixelType != vis.iPixelType) ||
- (!bestVis.doubleBuffer && vis.doubleBuffer) ||
- (bestVis.cRedBits < vis.cRedBits) ||
- (bestVis.cGreenBits < vis.cGreenBits) ||
- (bestVis.cBlueBits < vis.cBlueBits) ||
- (bestVis.cAlphaBits < vis.cAlphaBits) ||
- (bestVis.cDepthBits < vis.cDepthBits) ||
- (bestVis.cStencilBits < vis.cStencilBits) ||
- (bestVis.cAccumRedBits < vis.cAccumRedBits)) {
- /* found a better visual */
- bestVis = vis;
- }
- }
-
- return bestVis.id;
-#else
- return 0;
-#endif
-}
-
-
-static void
-usage(void)
-{
- printf("Usage: glxinfo [-v] [-t] [-h] [-i] [-b] [-display <dname>]\n");
- printf("\t-v: Print visuals info in verbose form.\n");
- printf("\t-t: Print verbose table.\n");
- printf("\t-h: This information.\n");
- printf("\t-b: Find the 'best' visual and print it's number.\n");
- printf("\t-l: Print interesting OpenGL limits.\n");
-}
-
-
-int
-main(int argc, char *argv[])
-{
- HDC hdc;
- InfoMode mode = Normal;
- GLboolean findBest = GL_FALSE;
- GLboolean limits = GL_FALSE;
- int i;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-t") == 0) {
- mode = Wide;
- }
- else if (strcmp(argv[i], "-v") == 0) {
- mode = Verbose;
- }
- else if (strcmp(argv[i], "-b") == 0) {
- findBest = GL_TRUE;
- }
- else if (strcmp(argv[i], "-l") == 0) {
- limits = GL_TRUE;
- }
- else if (strcmp(argv[i], "-h") == 0) {
- usage();
- return 0;
- }
- else {
- printf("Unknown option `%s'\n", argv[i]);
- usage();
- return 0;
- }
- }
-
- hdc = CreateDC(TEXT("DISPLAY"), NULL, NULL, NULL);
-
- if (findBest) {
- int b;
- b = find_best_visual(hdc);
- printf("%d\n", b);
- }
- else {
- print_screen_info(hdc, limits);
- printf("\n");
- print_visual_info(hdc, mode);
- }
-
- return 0;
-}
diff --git a/progs/wgl/wglthreads/wglthreads.c b/progs/wgl/wglthreads/wglthreads.c
deleted file mode 100644
index 27dca10f2a..0000000000
--- a/progs/wgl/wglthreads/wglthreads.c
+++ /dev/null
@@ -1,636 +0,0 @@
-/*
- * Copyright (C) 2000 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
- * BRIAN PAUL 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.
- *
- *
- * Port to windows done by Michal Krol.
- */
-
-
-/*
- * This program tests WGL thread safety.
- * Command line options:
- * -h Print usage
- * -l Enable application-side locking
- * -n <num threads> Number of threads to create (default is 2)
- * -t Use texture mapping
- * -s Force single-threaded.
- *
- * Brian Paul 20 July 2000
- */
-
-
-/*
- * Notes:
- * - Each thread gets its own WGL context.
- *
- * - The WGL contexts share texture objects.
- *
- * - When 't' is pressed to update the texture image, the window/thread which
- * has input focus is signalled to change the texture. The other threads
- * should see the updated texture the next time they call glBindTexture.
- */
-
-
-#include <assert.h>
-#include <windows.h>
-#include <GL/gl.h>
-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#pragma comment(lib, "opengl32.lib")
-
-
-/*
- * Each window/thread/context:
- */
-struct winthread {
- int Index;
- HANDLE Thread;
- HWND Win;
- HDC hDC;
- HGLRC Context;
- float Angle;
- int WinWidth, WinHeight;
- GLboolean NewSize;
- HANDLE hEventInitialised;
- GLboolean Initialized;
- GLboolean MakeNewTexture;
- HANDLE hEventRedraw;
-};
-
-
-#define MAX_WINTHREADS 100
-static struct winthread WinThreads[MAX_WINTHREADS];
-static int NumWinThreads = 2;
-static HANDLE ExitEvent = NULL;
-
-static GLboolean Locking = 0;
-static GLboolean Texture = GL_FALSE;
-static GLboolean SingleThreaded = GL_FALSE;
-static GLuint TexObj = 12;
-static GLboolean Animate = GL_TRUE;
-
-static CRITICAL_SECTION Mutex;
-
-
-static void
-Error(const char *msg)
-{
- fprintf(stderr, "Error: %s\n", msg);
- exit(1);
-}
-
-
-static void
-signal_redraw(void)
-{
- int i;
-
- for (i = 0; i < NumWinThreads; i++) {
- SetEvent(WinThreads[i].hEventRedraw);
- }
-}
-
-
-static void
-MakeNewTexture(struct winthread *wt)
-{
-#define TEX_SIZE 128
- static float step = 0.0f;
- GLfloat image[TEX_SIZE][TEX_SIZE][4];
- GLint width;
- int i, j;
-
- for (j = 0; j < TEX_SIZE; j++) {
- for (i = 0; i < TEX_SIZE; i++) {
- float dt = 5.0f * (j - 0.5f * TEX_SIZE) / TEX_SIZE;
- float ds = 5.0f * (i - 0.5f * TEX_SIZE) / TEX_SIZE;
- float r = dt * dt + ds * ds + step;
- image[j][i][0] =
- image[j][i][1] =
- image[j][i][2] = 0.75f + 0.25f * (float) cos(r);
- image[j][i][3] = 1.0f;
- }
- }
-
- step += 0.5;
-
- glBindTexture(GL_TEXTURE_2D, TexObj);
-
- glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_WIDTH, &width);
- if (width) {
- assert(width == TEX_SIZE);
- /* sub-tex replace */
- glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, TEX_SIZE, TEX_SIZE,
- GL_RGBA, GL_FLOAT, image);
- }
- else {
- /* create new */
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
-
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, TEX_SIZE, TEX_SIZE, 0,
- GL_RGBA, GL_FLOAT, image);
- }
-}
-
-
-
-/* draw a colored cube */
-static void
-draw_object(void)
-{
- glPushMatrix();
- glScalef(0.75f, 0.75f, 0.75f);
-
- glColor3f(1, 0, 0);
-
- if (Texture) {
- glBindTexture(GL_TEXTURE_2D, TexObj);
- glEnable(GL_TEXTURE_2D);
- }
- else {
- glDisable(GL_TEXTURE_2D);
- }
-
- glBegin(GL_QUADS);
-
- /* -X */
- glColor3f(0, 1, 1);
- glTexCoord2f(0, 0); glVertex3f(-1, -1, -1);
- glTexCoord2f(1, 0); glVertex3f(-1, 1, -1);
- glTexCoord2f(1, 1); glVertex3f(-1, 1, 1);
- glTexCoord2f(0, 1); glVertex3f(-1, -1, 1);
-
- /* +X */
- glColor3f(1, 0, 0);
- glTexCoord2f(0, 0); glVertex3f(1, -1, -1);
- glTexCoord2f(1, 0); glVertex3f(1, 1, -1);
- glTexCoord2f(1, 1); glVertex3f(1, 1, 1);
- glTexCoord2f(0, 1); glVertex3f(1, -1, 1);
-
- /* -Y */
- glColor3f(1, 0, 1);
- glTexCoord2f(0, 0); glVertex3f(-1, -1, -1);
- glTexCoord2f(1, 0); glVertex3f( 1, -1, -1);
- glTexCoord2f(1, 1); glVertex3f( 1, -1, 1);
- glTexCoord2f(0, 1); glVertex3f(-1, -1, 1);
-
- /* +Y */
- glColor3f(0, 1, 0);
- glTexCoord2f(0, 0); glVertex3f(-1, 1, -1);
- glTexCoord2f(1, 0); glVertex3f( 1, 1, -1);
- glTexCoord2f(1, 1); glVertex3f( 1, 1, 1);
- glTexCoord2f(0, 1); glVertex3f(-1, 1, 1);
-
- /* -Z */
- glColor3f(1, 1, 0);
- glTexCoord2f(0, 0); glVertex3f(-1, -1, -1);
- glTexCoord2f(1, 0); glVertex3f( 1, -1, -1);
- glTexCoord2f(1, 1); glVertex3f( 1, 1, -1);
- glTexCoord2f(0, 1); glVertex3f(-1, 1, -1);
-
- /* +Y */
- glColor3f(0, 0, 1);
- glTexCoord2f(0, 0); glVertex3f(-1, -1, 1);
- glTexCoord2f(1, 0); glVertex3f( 1, -1, 1);
- glTexCoord2f(1, 1); glVertex3f( 1, 1, 1);
- glTexCoord2f(0, 1); glVertex3f(-1, 1, 1);
-
- glEnd();
-
- glPopMatrix();
-}
-
-
-/* signal resize of given window */
-static void
-resize(struct winthread *wt, int w, int h)
-{
- wt->NewSize = GL_TRUE;
- wt->WinWidth = w;
- wt->WinHeight = h;
- if (!Animate)
- SetEvent(wt->hEventRedraw);
-}
-
-
-/*
- * We have an instance of this for each thread.
- */
-static void
-draw_loop(struct winthread *wt)
-{
- while (1) {
- GLboolean draw = Animate;
- MSG msg;
-
- if (Animate) {
- /* wait 5 ms for signal either to exit or process messages */
- switch (MsgWaitForMultipleObjects(1, &ExitEvent, FALSE, 5, QS_ALLINPUT)) {
- case WAIT_OBJECT_0:
- SendMessage(wt->Win, WM_CLOSE, 0, 0);
- break;
- case WAIT_OBJECT_0 + 1:
- break;
- }
- }
- else {
- HANDLE events[2];
-
- events[0] = wt->hEventRedraw;
- events[1] = ExitEvent;
-
- /* wait for signal either to draw, exit or process messages */
- switch (MsgWaitForMultipleObjects(2, events, FALSE, INFINITE, QS_ALLINPUT)) {
- case WAIT_OBJECT_0:
- draw = GL_TRUE;
- break;
- case WAIT_OBJECT_0 + 1:
- SendMessage(wt->Win, WM_CLOSE, 0, 0);
- break;
- case WAIT_OBJECT_0 + 2:
- break;
- }
- }
-
- while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) {
- if (msg.message == WM_QUIT) {
- return;
- }
- TranslateMessage(&msg);
- DispatchMessage(&msg);
- }
-
- if (!draw)
- continue;
-
- if (Locking)
- EnterCriticalSection(&Mutex);
-
- wglMakeCurrent(wt->hDC, wt->Context);
-
- if (!wt->Initialized) {
- printf("wglthreads: %d: GL_RENDERER = %s\n", wt->Index,
- (char *) glGetString(GL_RENDERER));
- if (Texture /*&& wt->Index == 0*/) {
- MakeNewTexture(wt);
- }
- wt->Initialized = GL_TRUE;
- }
-
- if (Locking)
- LeaveCriticalSection(&Mutex);
-
- glEnable(GL_DEPTH_TEST);
-
- if (wt->NewSize) {
- GLfloat w = (float) wt->WinWidth / (float) wt->WinHeight;
- glViewport(0, 0, wt->WinWidth, wt->WinHeight);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glFrustum(-w, w, -1.0, 1.0, 1.5, 10);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef(0, 0, -2.5);
- wt->NewSize = GL_FALSE;
- }
-
- if (wt->MakeNewTexture) {
- MakeNewTexture(wt);
- wt->MakeNewTexture = GL_FALSE;
- }
-
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
- glPushMatrix();
- glRotatef(wt->Angle, 0, 1, 0);
- glRotatef(wt->Angle, 1, 0, 0);
- glScalef(0.7f, 0.7f, 0.7f);
- draw_object();
- glPopMatrix();
-
- if (Locking)
- EnterCriticalSection(&Mutex);
-
- SwapBuffers(wt->hDC);
-
- if (Locking)
- LeaveCriticalSection(&Mutex);
-
- wt->Angle += 1.0;
- }
-}
-
-
-static void
-keypress(WPARAM keySym, struct winthread *wt)
-{
- switch (keySym) {
- case VK_ESCAPE:
- /* tell all threads to exit */
- SetEvent(ExitEvent);
- /*printf("exit draw_loop %d\n", wt->Index);*/
- return;
- case 't':
- case 'T':
- if (Texture) {
- wt->MakeNewTexture = GL_TRUE;
- if (!Animate)
- signal_redraw();
- }
- break;
- case 'a':
- case 'A':
- Animate = !Animate;
- if (Animate)
- signal_redraw();
- break;
- case 's':
- case 'S':
- if (!Animate)
- signal_redraw();
- break;
- default:
- ; /* nop */
- }
-}
-
-
-static LRESULT CALLBACK
-WndProc(HWND hWnd,
- UINT uMsg,
- WPARAM wParam,
- LPARAM lParam )
-{
- int i;
-
- switch (uMsg) {
- case WM_KEYDOWN:
- for (i = 0; i < NumWinThreads; i++) {
- struct winthread *wt = &WinThreads[i];
-
- if (hWnd == wt->Win) {
- keypress(wParam, wt);
- break;
- }
- }
- break;
- case WM_SIZE:
- for (i = 0; i < NumWinThreads; i++) {
- struct winthread *wt = &WinThreads[i];
-
- if (hWnd == wt->Win) {
- RECT r;
-
- GetClientRect(hWnd, &r);
- resize(wt, r.right, r.bottom);
- break;
- }
- }
- break;
- case WM_DESTROY:
- PostQuitMessage(0);
- break;
- default:
- return DefWindowProc(hWnd, uMsg, wParam, lParam);
- }
-
- return 0;
-}
-
-/*
- * we'll call this once for each thread, before the threads are created.
- */
-static void
-create_window(struct winthread *wt, HGLRC shareCtx)
-{
- WNDCLASS wc = {0};
- int width = 160, height = 160;
- int xpos = (wt->Index % 8) * (width + 10);
- int ypos = (wt->Index / 8) * (width + 20);
- HWND win;
- HDC hdc;
- PIXELFORMATDESCRIPTOR pfd = {0};
- int visinfo;
- HGLRC ctx;
-
- wc.hbrBackground = (HBRUSH) (COLOR_BTNFACE + 1);
- wc.hCursor = LoadCursor(NULL, IDC_ARROW);
- wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
- wc.lpfnWndProc = WndProc;
- wc.lpszClassName = "wglthreads";
- wc.style = CS_OWNDC | CS_HREDRAW | CS_VREDRAW;
- RegisterClass(&wc);
-
- win = CreateWindowEx(0,
- wc.lpszClassName,
- "wglthreads",
- WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_TILEDWINDOW,
- xpos,
- ypos,
- width,
- height,
- NULL,
- NULL,
- wc.hInstance,
- (LPVOID) wt);
- if (!win) {
- Error("Couldn't create window");
- }
-
- hdc = GetDC(win);
- if (!hdc) {
- Error("Couldn't obtain HDC");
- }
-
- pfd.cColorBits = 24;
- pfd.cDepthBits = 24;
- pfd.dwFlags = PFD_DOUBLEBUFFER | PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL;
- pfd.iLayerType = PFD_MAIN_PLANE;
- pfd.iPixelType = PFD_TYPE_RGBA;
- pfd.nSize = sizeof(pfd);
- pfd.nVersion = 1;
-
- visinfo = ChoosePixelFormat(hdc, &pfd);
- if (!visinfo) {
- Error("Unable to find RGB, Z, double-buffered visual");
- }
-
- SetPixelFormat(hdc, visinfo, &pfd);
- ctx = wglCreateContext(hdc);
- if (!ctx) {
- Error("Couldn't create WGL context");
- }
-
- if (shareCtx) {
- if(!wglShareLists(shareCtx, ctx))
- Error("Couldn't share WGL context lists");
- }
-
- /* save the info for this window/context */
- wt->Win = win;
- wt->hDC = hdc;
- wt->Context = ctx;
- wt->Angle = 0.0;
- wt->WinWidth = width;
- wt->WinHeight = height;
- wt->NewSize = GL_TRUE;
-}
-
-
-/*
- * Called by pthread_create()
- */
-static DWORD WINAPI
-ThreadProc(void *p)
-{
- struct winthread *wt = (struct winthread *) p;
- HGLRC share;
-
- /* Wait for the previous thread */
- if(Texture && wt->Index > 0) {
- WaitForSingleObject(WinThreads[wt->Index - 1].hEventInitialised, INFINITE);
- share = WinThreads[0].Context;
- }
- else
- share = 0;
-
- share = (Texture && wt->Index > 0) ? WinThreads[0].Context : 0;
- create_window(wt, share);
- SetEvent(wt->hEventInitialised);
-
- /* Wait for all threads to initialize otherwise wglShareLists will fail */
- if(wt->Index < NumWinThreads - 1)
- WaitForSingleObject(WinThreads[NumWinThreads - 1].hEventInitialised, INFINITE);
-
- draw_loop(wt);
- return 0;
-}
-
-
-static void
-usage(void)
-{
- printf("wglthreads: test of GL thread safety (any key = exit)\n");
- printf("Usage:\n");
- printf(" wglthreads [options]\n");
- printf("Options:\n");
- printf(" -h Show this usage screen\n");
- printf(" -n NUMTHREADS Number of threads to create\n");
- printf(" -l Use application-side locking\n");
- printf(" -t Enable texturing\n");
- printf(" -s Force single-threaded\n");
- printf("Keyboard:\n");
- printf(" Esc Exit\n");
- printf(" t Change texture image (requires -t option)\n");
- printf(" a Toggle animation\n");
- printf(" s Step rotation (when not animating)\n");
-}
-
-
-int
-main(int argc, char *argv[])
-{
- int i;
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-h") == 0) {
- usage();
- exit(0);
- }
- else if (strcmp(argv[i], "-l") == 0) {
- Locking = 1;
- }
- else if (strcmp(argv[i], "-t") == 0) {
- Texture = 1;
- }
- else if (strcmp(argv[i], "-n") == 0 && i + 1 < argc) {
- NumWinThreads = atoi(argv[i + 1]);
- if (NumWinThreads < 1)
- NumWinThreads = 1;
- else if (NumWinThreads > MAX_WINTHREADS)
- NumWinThreads = MAX_WINTHREADS;
- i++;
- }
- else if (strcmp(argv[i], "-s") == 0) {
- SingleThreaded = GL_TRUE;
- }
- else {
- usage();
- exit(1);
- }
- }
-
- if (SingleThreaded)
- printf("wglthreads: Forcing single-threaded, no other threads will be created.\n");
-
- if (Locking)
- printf("wglthreads: Using explicit locks around WGL calls.\n");
- else
- printf("wglthreads: No explict locking.\n");
-
- InitializeCriticalSection(&Mutex);
- ExitEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
-
- if (SingleThreaded) {
- NumWinThreads = 1;
-
- WinThreads[0].Index = 0;
- WinThreads[0].hEventInitialised = CreateEvent(NULL, TRUE, FALSE, NULL);
- WinThreads[0].hEventRedraw = CreateEvent(NULL, FALSE, FALSE, NULL);
-
- ThreadProc((void*) &WinThreads[0]);
- }
- else {
- HANDLE threads[MAX_WINTHREADS];
-
- printf("wglthreads: creating threads\n");
-
- /* Create the events */
- for (i = 0; i < NumWinThreads; i++) {
- WinThreads[i].Index = i;
- WinThreads[i].hEventInitialised = CreateEvent(NULL, TRUE, FALSE, NULL);
- WinThreads[i].hEventRedraw = CreateEvent(NULL, FALSE, FALSE, NULL);
- }
-
- /* Create the threads */
- for (i = 0; i < NumWinThreads; i++) {
- DWORD id;
-
- WinThreads[i].Thread = CreateThread(NULL,
- 0,
- ThreadProc,
- (void*) &WinThreads[i],
- 0,
- &id);
- printf("wglthreads: Created thread %p\n", (void *) WinThreads[i].Thread);
-
- threads[i] = WinThreads[i].Thread;
- }
-
- /* Wait for all threads to finish. */
- WaitForMultipleObjects(NumWinThreads, threads, TRUE, INFINITE);
- }
-
- return 0;
-}
diff --git a/scons/crossmingw.py b/scons/crossmingw.py
deleted file mode 100644
index 107756930a..0000000000
--- a/scons/crossmingw.py
+++ /dev/null
@@ -1,186 +0,0 @@
-"""SCons.Tool.gcc
-
-Tool-specific initialization for MinGW (http://www.mingw.org/)
-
-There normally shouldn't be any need to import this module directly.
-It will usually be imported through the generic SCons.Tool.Tool()
-selection method.
-
-See also http://www.scons.org/wiki/CrossCompilingMingw
-"""
-
-#
-# Copyright (c) 2001, 2002, 2003, 2004 The SCons Foundation
-#
-# 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.
-#
-
-import os
-import os.path
-import string
-
-import SCons.Action
-import SCons.Builder
-import SCons.Tool
-import SCons.Util
-
-# This is what we search for to find mingw:
-prefixes = SCons.Util.Split("""
- mingw32-
- mingw32msvc-
- i386-mingw32-
- i486-mingw32-
- i586-mingw32-
- i686-mingw32-
- i386-mingw32msvc-
- i486-mingw32msvc-
- i586-mingw32msvc-
- i686-mingw32msvc-
- i686-pc-mingw32-
-""")
-
-def find(env):
- for prefix in prefixes:
- # First search in the SCons path and then the OS path:
- if env.WhereIs(prefix + 'gcc') or SCons.Util.WhereIs(prefix + 'gcc'):
- return prefix
-
- return ''
-
-def shlib_generator(target, source, env, for_signature):
- cmd = SCons.Util.CLVar(['$SHLINK', '$SHLINKFLAGS'])
-
- dll = env.FindIxes(target, 'SHLIBPREFIX', 'SHLIBSUFFIX')
- if dll: cmd.extend(['-o', dll])
-
- cmd.extend(['$SOURCES', '$_LIBDIRFLAGS', '$_LIBFLAGS'])
-
- implib = env.FindIxes(target, 'LIBPREFIX', 'LIBSUFFIX')
- if implib: cmd.append('-Wl,--out-implib,'+implib.get_string(for_signature))
-
- def_target = env.FindIxes(target, 'WIN32DEFPREFIX', 'WIN32DEFSUFFIX')
- if def_target: cmd.append('-Wl,--output-def,'+def_target.get_string(for_signature))
-
- return [cmd]
-
-def shlib_emitter(target, source, env):
- dll = env.FindIxes(target, 'SHLIBPREFIX', 'SHLIBSUFFIX')
- no_import_lib = env.get('no_import_lib', 0)
-
- if not dll:
- raise SCons.Errors.UserError, "A shared library should have exactly one target with the suffix: %s" % env.subst("$SHLIBSUFFIX")
-
- if not no_import_lib and \
- not env.FindIxes(target, 'LIBPREFIX', 'LIBSUFFIX'):
-
- # Append an import library to the list of targets.
- target.append(env.ReplaceIxes(dll,
- 'SHLIBPREFIX', 'SHLIBSUFFIX',
- 'LIBPREFIX', 'LIBSUFFIX'))
-
- # Append a def file target if there isn't already a def file target
- # or a def file source. There is no option to disable def file
- # target emitting, because I can't figure out why someone would ever
- # want to turn it off.
- def_source = env.FindIxes(source, 'WIN32DEFPREFIX', 'WIN32DEFSUFFIX')
- def_target = env.FindIxes(target, 'WIN32DEFPREFIX', 'WIN32DEFSUFFIX')
- if not def_source and not def_target:
- target.append(env.ReplaceIxes(dll,
- 'SHLIBPREFIX', 'SHLIBSUFFIX',
- 'WIN32DEFPREFIX', 'WIN32DEFSUFFIX'))
-
- return (target, source)
-
-
-shlib_action = SCons.Action.Action(shlib_generator, '$SHLINKCOMSTR', generator=1)
-
-res_action = SCons.Action.Action('$RCCOM', '$RCCOMSTR')
-
-res_builder = SCons.Builder.Builder(action=res_action, suffix='.o',
- source_scanner=SCons.Tool.SourceFileScanner)
-SCons.Tool.SourceFileScanner.add_scanner('.rc', SCons.Defaults.CScan)
-
-def generate(env):
- mingw_prefix = find(env)
-
- if mingw_prefix:
- dir = os.path.dirname(env.WhereIs(mingw_prefix + 'gcc') or SCons.Util.WhereIs(mingw_prefix + 'gcc'))
-
- # The mingw bin directory must be added to the path:
- path = env['ENV'].get('PATH', [])
- if not path:
- path = []
- if SCons.Util.is_String(path):
- path = string.split(path, os.pathsep)
-
- env['ENV']['PATH'] = string.join([dir] + path, os.pathsep)
-
- # Most of mingw is the same as gcc and friends...
- gnu_tools = ['gcc', 'g++', 'gnulink', 'ar', 'gas']
- for tool in gnu_tools:
- SCons.Tool.Tool(tool)(env)
-
- #... but a few things differ:
- env['CC'] = mingw_prefix + 'gcc'
- env['SHCCFLAGS'] = SCons.Util.CLVar('$CCFLAGS')
- env['CXX'] = mingw_prefix + 'g++'
- env['SHCXXFLAGS'] = SCons.Util.CLVar('$CXXFLAGS')
- env['SHLINKFLAGS'] = SCons.Util.CLVar('$LINKFLAGS -shared')
- env['SHLINKCOM'] = shlib_action
- env.Append(SHLIBEMITTER = [shlib_emitter])
- env['LINK'] = mingw_prefix + 'g++'
- env['AR'] = mingw_prefix + 'ar'
- env['RANLIB'] = mingw_prefix + 'ranlib'
- env['LINK'] = mingw_prefix + 'g++'
- env['AS'] = mingw_prefix + 'as'
- env['WIN32DEFPREFIX'] = ''
- env['WIN32DEFSUFFIX'] = '.def'
- env['SHOBJSUFFIX'] = '.o'
- env['STATIC_AND_SHARED_OBJECTS_ARE_THE_SAME'] = 1
-
- env['RC'] = mingw_prefix + 'windres'
- env['RCFLAGS'] = SCons.Util.CLVar('')
- env['RCCOM'] = '$RC $_CPPDEFFLAGS $_CPPINCFLAGS ${INCPREFIX}${SOURCE.dir} $RCFLAGS -i $SOURCE -o $TARGET'
- env['BUILDERS']['RES'] = res_builder
-
- # Some setting from the platform also have to be overridden:
- env['OBJPREFIX'] = ''
- env['OBJSUFFIX'] = '.o'
- env['SHOBJPREFIX'] = '$OBJPREFIX'
- env['SHOBJSUFFIX'] = '$OBJSUFFIX'
- env['PROGPREFIX'] = ''
- env['PROGSUFFIX'] = '.exe'
- env['LIBPREFIX'] = 'lib'
- env['LIBSUFFIX'] = '.a'
- env['SHLIBPREFIX'] = ''
- env['SHLIBSUFFIX'] = '.dll'
- env['LIBPREFIXES'] = [ 'lib', '' ]
- env['LIBSUFFIXES'] = [ '.a', '.lib' ]
-
- # MinGW port of gdb does not handle well dwarf debug info which is the
- # default in recent gcc versions
- env.AppendUnique(CFLAGS = ['-gstabs'])
-
- #env.AppendUnique(LIBS = ['iberty'])
- env.AppendUnique(SHLINKFLAGS = ['-Wl,--enable-stdcall-fixup'])
- #env.AppendUnique(SHLINKFLAGS = ['-Wl,--kill-at'])
-
-def exists(env):
- return find(env)
diff --git a/scons/dxsdk.py b/scons/dxsdk.py
deleted file mode 100644
index 920cc2f689..0000000000
--- a/scons/dxsdk.py
+++ /dev/null
@@ -1,73 +0,0 @@
-"""dxsdk
-
-Tool-specific initialization for Microsoft DirectX SDK
-
-"""
-
-#
-# Copyright (c) 2009 VMware, Inc.
-#
-# 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.
-#
-
-import os
-import os.path
-
-import SCons.Errors
-import SCons.Util
-
-
-def get_dxsdk_root(env):
- try:
- return os.environ['DXSDK_DIR']
- except KeyError:
- return None
-
-def generate(env):
- dxsdk_root = get_dxsdk_root(env)
- if dxsdk_root is None:
- # DirectX SDK not found
- return
-
- if env['machine'] in ('generic', 'x86'):
- target_cpu = 'x86'
- elif env['machine'] == 'x86_64':
- target_cpu = 'x64'
- else:
- raise SCons.Errors.InternalError, "Unsupported target machine"
-
- include_dir = os.path.join(dxsdk_root, 'Include')
- lib_dir = os.path.join(dxsdk_root, 'Lib', target_cpu)
-
- env.Append(CPPDEFINES = [('HAVE_DXSDK', '1')])
-
- gcc = 'gcc' in os.path.basename(env['CC']).split('-')
- if gcc:
- # Make GCC more forgiving towards Microsoft's headers
- env.Prepend(CPPFLAGS = ['-isystem', include_dir])
- else:
- env.Prepend(CPPPATH = [include_dir])
-
- env.Prepend(LIBPATH = [lib_dir])
-
-def exists(env):
- return get_dxsdk_root(env) is not None
-
-# vim:set ts=4 sw=4 et:
diff --git a/scons/fixes.py b/scons/fixes.py
deleted file mode 100644
index 714cccf61d..0000000000
--- a/scons/fixes.py
+++ /dev/null
@@ -1,27 +0,0 @@
-import sys
-
-# Monkey patch os.spawnve on windows to become thread safe
-if sys.platform == 'win32':
- import os
- import threading
- from os import spawnve as old_spawnve
-
- spawn_lock = threading.Lock()
-
- def new_spawnve(mode, file, args, env):
- spawn_lock.acquire()
- try:
- if mode == os.P_WAIT:
- ret = old_spawnve(os.P_NOWAIT, file, args, env)
- else:
- ret = old_spawnve(mode, file, args, env)
- finally:
- spawn_lock.release()
- if mode == os.P_WAIT:
- pid, status = os.waitpid(ret, 0)
- ret = status >> 8
- return ret
-
- os.spawnve = new_spawnve
-
-
diff --git a/scons/gallium.py b/scons/gallium.py
deleted file mode 100644
index d3bd419fb3..0000000000
--- a/scons/gallium.py
+++ /dev/null
@@ -1,553 +0,0 @@
-"""gallium
-
-Frontend-tool for Gallium3D architecture.
-
-"""
-
-#
-# Copyright 2008 Tungsten Graphics, Inc., Cedar Park, Texas.
-# 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, sub license, 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 (including the
-# next paragraph) 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 NON-INFRINGEMENT.
-# IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS 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.
-#
-
-
-import os
-import os.path
-import re
-
-import SCons.Action
-import SCons.Builder
-import SCons.Scanner
-
-import fixes
-
-
-def quietCommandLines(env):
- # Quiet command lines
- # See also http://www.scons.org/wiki/HidingCommandLinesInOutput
- env['ASCOMSTR'] = " Assembling $SOURCE ..."
- env['ASPPCOMSTR'] = " Assembling $SOURCE ..."
- env['CCCOMSTR'] = " Compiling $SOURCE ..."
- env['SHCCCOMSTR'] = " Compiling $SOURCE ..."
- env['CXXCOMSTR'] = " Compiling $SOURCE ..."
- env['SHCXXCOMSTR'] = " Compiling $SOURCE ..."
- env['ARCOMSTR'] = " Archiving $TARGET ..."
- env['RANLIBCOMSTR'] = " Indexing $TARGET ..."
- env['LINKCOMSTR'] = " Linking $TARGET ..."
- env['SHLINKCOMSTR'] = " Linking $TARGET ..."
- env['LDMODULECOMSTR'] = " Linking $TARGET ..."
- env['SWIGCOMSTR'] = " Generating $TARGET ..."
-
-
-def createConvenienceLibBuilder(env):
- """This is a utility function that creates the ConvenienceLibrary
- Builder in an Environment if it is not there already.
-
- If it is already there, we return the existing one.
-
- Based on the stock StaticLibrary and SharedLibrary builders.
- """
-
- try:
- convenience_lib = env['BUILDERS']['ConvenienceLibrary']
- except KeyError:
- action_list = [ SCons.Action.Action("$ARCOM", "$ARCOMSTR") ]
- if env.Detect('ranlib'):
- ranlib_action = SCons.Action.Action("$RANLIBCOM", "$RANLIBCOMSTR")
- action_list.append(ranlib_action)
-
- convenience_lib = SCons.Builder.Builder(action = action_list,
- emitter = '$LIBEMITTER',
- prefix = '$LIBPREFIX',
- suffix = '$LIBSUFFIX',
- src_suffix = '$SHOBJSUFFIX',
- src_builder = 'SharedObject')
- env['BUILDERS']['ConvenienceLibrary'] = convenience_lib
-
- return convenience_lib
-
-
-# TODO: handle import statements with multiple modules
-# TODO: handle from import statements
-import_re = re.compile(r'^import\s+(\S+)$', re.M)
-
-def python_scan(node, env, path):
- # http://www.scons.org/doc/0.98.5/HTML/scons-user/c2781.html#AEN2789
- contents = node.get_contents()
- source_dir = node.get_dir()
- imports = import_re.findall(contents)
- results = []
- for imp in imports:
- for dir in path:
- file = os.path.join(str(dir), imp.replace('.', os.sep) + '.py')
- if os.path.exists(file):
- results.append(env.File(file))
- break
- file = os.path.join(str(dir), imp.replace('.', os.sep), '__init__.py')
- if os.path.exists(file):
- results.append(env.File(file))
- break
- return results
-
-python_scanner = SCons.Scanner.Scanner(function = python_scan, skeys = ['.py'])
-
-
-def code_generate(env, script, target, source, command):
- """Method to simplify code generation via python scripts.
-
- http://www.scons.org/wiki/UsingCodeGenerators
- http://www.scons.org/doc/0.98.5/HTML/scons-user/c2768.html
- """
-
- # We're generating code using Python scripts, so we have to be
- # careful with our scons elements. This entry represents
- # the generator file *in the source directory*.
- script_src = env.File(script).srcnode()
-
- # This command creates generated code *in the build directory*.
- command = command.replace('$SCRIPT', script_src.path)
- code = env.Command(target, source, command)
-
- # Explicitly mark that the generated code depends on the generator,
- # and on implicitly imported python modules
- path = (script_src.get_dir(),)
- deps = [script_src]
- deps += script_src.get_implicit_deps(env, python_scanner, path)
- env.Depends(code, deps)
-
- # Running the Python script causes .pyc files to be generated in the
- # source directory. When we clean up, they should go too. So add side
- # effects for .pyc files
- for dep in deps:
- pyc = env.File(str(dep) + 'c')
- env.SideEffect(pyc, code)
-
- return code
-
-
-def createCodeGenerateMethod(env):
- env.Append(SCANNERS = python_scanner)
- env.AddMethod(code_generate, 'CodeGenerate')
-
-
-def symlink(target, source, env):
- target = str(target[0])
- source = str(source[0])
- if os.path.islink(target) or os.path.exists(target):
- os.remove(target)
- os.symlink(os.path.basename(source), target)
-
-def install_shared_library(env, source, version = ()):
- source = str(source[0])
- version = tuple(map(str, version))
- target_dir = os.path.join(env.Dir('#.').srcnode().abspath, env['build'], 'lib')
- target_name = '.'.join((str(source),) + version)
- last = env.InstallAs(os.path.join(target_dir, target_name), source)
- while len(version):
- version = version[:-1]
- target_name = '.'.join((str(source),) + version)
- action = SCons.Action.Action(symlink, "$TARGET -> $SOURCE")
- last = env.Command(os.path.join(target_dir, target_name), last, action)
-
-def createInstallMethods(env):
- env.AddMethod(install_shared_library, 'InstallSharedLibrary')
-
-
-def num_jobs():
- try:
- return int(os.environ['NUMBER_OF_PROCESSORS'])
- except (ValueError, KeyError):
- pass
-
- try:
- return os.sysconf('SC_NPROCESSORS_ONLN')
- except (ValueError, OSError, AttributeError):
- pass
-
- try:
- return int(os.popen2("sysctl -n hw.ncpu")[1].read())
- except ValueError:
- pass
-
- return 1
-
-
-def generate(env):
- """Common environment generation code"""
-
- if env.get('quiet', True):
- quietCommandLines(env)
-
- # Toolchain
- platform = env['platform']
- if env['toolchain'] == 'default':
- if platform == 'winddk':
- env['toolchain'] = 'winddk'
- elif platform == 'wince':
- env['toolchain'] = 'wcesdk'
- env.Tool(env['toolchain'])
-
- env['gcc'] = 'gcc' in os.path.basename(env['CC']).split('-')
- env['msvc'] = env['CC'] == 'cl'
-
- # shortcuts
- debug = env['debug']
- machine = env['machine']
- platform = env['platform']
- x86 = env['machine'] == 'x86'
- ppc = env['machine'] == 'ppc'
- gcc = env['gcc']
- msvc = env['msvc']
-
- # Put build output in a separate dir, which depends on the current
- # configuration. See also http://www.scons.org/wiki/AdvancedBuildExample
- build_topdir = 'build'
- build_subdir = env['platform']
- if env['llvm']:
- build_subdir += "-llvm"
- if env['machine'] != 'generic':
- build_subdir += '-' + env['machine']
- if env['debug']:
- build_subdir += "-debug"
- if env['profile']:
- build_subdir += "-profile"
- build_dir = os.path.join(build_topdir, build_subdir)
- # Place the .sconsign file in the build dir too, to avoid issues with
- # different scons versions building the same source file
- env['build'] = build_dir
- env.SConsignFile(os.path.join(build_dir, '.sconsign'))
- if 'SCONS_CACHE_DIR' in os.environ:
- print 'scons: Using build cache in %s.' % (os.environ['SCONS_CACHE_DIR'],)
- env.CacheDir(os.environ['SCONS_CACHE_DIR'])
-
- # Parallel build
- if env.GetOption('num_jobs') <= 1:
- env.SetOption('num_jobs', num_jobs())
-
- # C preprocessor options
- cppdefines = []
- if debug:
- cppdefines += ['DEBUG']
- else:
- cppdefines += ['NDEBUG']
- if env['profile']:
- cppdefines += ['PROFILE']
- if platform == 'windows':
- cppdefines += [
- 'WIN32',
- '_WINDOWS',
- #'_UNICODE',
- #'UNICODE',
- # http://msdn.microsoft.com/en-us/library/aa383745.aspx
- ('_WIN32_WINNT', '0x0601'),
- ('WINVER', '0x0601'),
- # http://msdn2.microsoft.com/en-us/library/6dwk3a1z.aspx,
- 'WIN32_LEAN_AND_MEAN',
- ]
- if msvc and env['toolchain'] != 'winddk':
- cppdefines += [
- 'VC_EXTRALEAN',
- '_USE_MATH_DEFINES',
- '_CRT_SECURE_NO_WARNINGS',
- '_CRT_SECURE_NO_DEPRECATE',
- '_SCL_SECURE_NO_WARNINGS',
- '_SCL_SECURE_NO_DEPRECATE',
- ]
- if debug:
- cppdefines += ['_DEBUG']
- if env['toolchain'] == 'winddk':
- # Mimic WINDDK's builtin flags. See also:
- # - WINDDK's bin/makefile.new i386mk.inc for more info.
- # - buildchk_wxp_x86.log files, generated by the WINDDK's build
- # - http://alter.org.ua/docs/nt_kernel/vc8_proj/
- if machine == 'x86':
- cppdefines += ['_X86_', 'i386']
- if machine == 'x86_64':
- cppdefines += ['_AMD64_', 'AMD64']
- if platform == 'winddk':
- cppdefines += [
- 'STD_CALL',
- ('CONDITION_HANDLING', '1'),
- ('NT_INST', '0'),
- ('WIN32', '100'),
- ('_NT1X_', '100'),
- ('WINNT', '1'),
- ('_WIN32_WINNT', '0x0501'), # minimum required OS version
- ('WINVER', '0x0501'),
- ('_WIN32_IE', '0x0603'),
- ('WIN32_LEAN_AND_MEAN', '1'),
- ('DEVL', '1'),
- ('__BUILDMACHINE__', 'WinDDK'),
- ('FPO', '0'),
- ]
- if debug:
- cppdefines += [('DBG', 1)]
- if platform == 'wince':
- cppdefines += [
- '_CRT_SECURE_NO_DEPRECATE',
- '_USE_32BIT_TIME_T',
- 'UNICODE',
- '_UNICODE',
- ('UNDER_CE', '600'),
- ('_WIN32_WCE', '0x600'),
- 'WINCEOEM',
- 'WINCEINTERNAL',
- 'WIN32',
- 'STRICT',
- 'x86',
- '_X86_',
- 'INTERNATIONAL',
- ('INTLMSG_CODEPAGE', '1252'),
- ]
- if platform == 'windows':
- cppdefines += ['PIPE_SUBSYSTEM_WINDOWS_USER']
- if platform == 'winddk':
- cppdefines += ['PIPE_SUBSYSTEM_WINDOWS_DISPLAY']
- if platform == 'wince':
- cppdefines += ['PIPE_SUBSYSTEM_WINDOWS_CE']
- cppdefines += ['PIPE_SUBSYSTEM_WINDOWS_CE_OGL']
- env.Append(CPPDEFINES = cppdefines)
-
- # C compiler options
- cflags = [] # C
- cxxflags = [] # C++
- ccflags = [] # C & C++
- if gcc:
- if debug:
- ccflags += ['-O0', '-g3']
- elif env['CCVERSION'].startswith('4.2.'):
- # gcc 4.2.x optimizer is broken
- print "warning: gcc 4.2.x optimizer is broken -- disabling optimizations"
- ccflags += ['-O0', '-g3']
- else:
- ccflags += ['-O3', '-g3']
- if env['profile']:
- # See http://code.google.com/p/jrfonseca/wiki/Gprof2Dot#Which_options_should_I_pass_to_gcc_when_compiling_for_profiling?
- ccflags += [
- '-fno-omit-frame-pointer',
- '-fno-optimize-sibling-calls',
- ]
- if env['machine'] == 'x86':
- ccflags += [
- '-m32',
- #'-march=pentium4',
- #'-mfpmath=sse',
- ]
- if platform != 'windows':
- # XXX: -mstackrealign causes stack corruption on MinGW. Ditto
- # for -mincoming-stack-boundary=2. Still enable it on other
- # platforms for now, but we can't rely on it for cross platform
- # code. We have to use __attribute__((force_align_arg_pointer))
- # instead.
- ccflags += [
- '-mmmx', '-msse', '-msse2', # enable SIMD intrinsics
- '-mstackrealign', # ensure stack is aligned
- ]
- if env['machine'] == 'x86_64':
- ccflags += ['-m64']
- # See also:
- # - http://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
- ccflags += [
- '-Wall',
- '-Wmissing-field-initializers',
- '-Werror=pointer-arith',
- '-Wno-long-long',
- '-ffast-math',
- '-fmessage-length=0', # be nice to Eclipse
- '-fno-strict-aliasing', # we violate strict pointer aliasing rules
- ]
- cflags += [
- '-Werror=declaration-after-statement',
- '-Wmissing-prototypes',
- '-std=gnu99',
- ]
- if msvc:
- # See also:
- # - http://msdn.microsoft.com/en-us/library/19z1t1wy.aspx
- # - cl /?
- if debug:
- ccflags += [
- '/Od', # disable optimizations
- '/Oi', # enable intrinsic functions
- '/Oy-', # disable frame pointer omission
- '/GL-', # disable whole program optimization
- ]
- else:
- ccflags += [
- '/O2', # optimize for speed
- '/GL', # enable whole program optimization
- ]
- ccflags += [
- '/fp:fast', # fast floating point
- '/W3', # warning level
- #'/Wp64', # enable 64 bit porting warnings
- ]
- if env['machine'] == 'x86':
- ccflags += [
- #'/arch:SSE2', # use the SSE2 instructions
- ]
- if platform == 'windows':
- ccflags += [
- # TODO
- ]
- if platform == 'winddk':
- ccflags += [
- '/Zl', # omit default library name in .OBJ
- '/Zp8', # 8bytes struct member alignment
- '/Gy', # separate functions for linker
- '/Gm-', # disable minimal rebuild
- '/WX', # treat warnings as errors
- '/Gz', # __stdcall Calling convention
- '/GX-', # disable C++ EH
- '/GR-', # disable C++ RTTI
- '/GF', # enable read-only string pooling
- '/G6', # optimize for PPro, P-II, P-III
- '/Ze', # enable extensions
- '/Gi-', # disable incremental compilation
- '/QIfdiv-', # disable Pentium FDIV fix
- '/hotpatch', # prepares an image for hotpatching.
- #'/Z7', #enable old-style debug info
- ]
- if platform == 'wince':
- # See also C:\WINCE600\public\common\oak\misc\makefile.def
- ccflags += [
- '/Zl', # omit default library name in .OBJ
- '/GF', # enable read-only string pooling
- '/GR-', # disable C++ RTTI
- '/GS', # enable security checks
- # Allow disabling language conformance to maintain backward compat
- #'/Zc:wchar_t-', # don't force wchar_t as native type, instead of typedef
- #'/Zc:forScope-', # don't enforce Standard C++ for scoping rules
- #'/wd4867',
- #'/wd4430',
- #'/MT',
- #'/U_MT',
- ]
- # Automatic pdb generation
- # See http://scons.tigris.org/issues/show_bug.cgi?id=1656
- env.EnsureSConsVersion(0, 98, 0)
- env['PDB'] = '${TARGET.base}.pdb'
- env.Append(CCFLAGS = ccflags)
- env.Append(CFLAGS = cflags)
- env.Append(CXXFLAGS = cxxflags)
-
- if env['platform'] == 'windows' and msvc:
- # Choose the appropriate MSVC CRT
- # http://msdn.microsoft.com/en-us/library/2kzt1wy3.aspx
- if env['debug']:
- env.Append(CCFLAGS = ['/MTd'])
- env.Append(SHCCFLAGS = ['/LDd'])
- else:
- env.Append(CCFLAGS = ['/MT'])
- env.Append(SHCCFLAGS = ['/LD'])
-
- # Assembler options
- if gcc:
- if env['machine'] == 'x86':
- env.Append(ASFLAGS = ['-m32'])
- if env['machine'] == 'x86_64':
- env.Append(ASFLAGS = ['-m64'])
-
- # Linker options
- linkflags = []
- shlinkflags = []
- if gcc:
- if env['machine'] == 'x86':
- linkflags += ['-m32']
- if env['machine'] == 'x86_64':
- linkflags += ['-m64']
- shlinkflags += [
- '-Wl,-Bsymbolic',
- ]
- # Handle circular dependencies in the libraries
- if env['platform'] in ('darwin'):
- pass
- else:
- env['_LIBFLAGS'] = '-Wl,--start-group ' + env['_LIBFLAGS'] + ' -Wl,--end-group'
- if msvc:
- if not env['debug']:
- # enable Link-time Code Generation
- linkflags += ['/LTCG']
- env.Append(ARFLAGS = ['/LTCG'])
- if platform == 'windows' and msvc:
- # See also:
- # - http://msdn2.microsoft.com/en-us/library/y0zzbyt4.aspx
- linkflags += [
- '/fixed:no',
- '/incremental:no',
- ]
- if platform == 'winddk':
- linkflags += [
- '/merge:_PAGE=PAGE',
- '/merge:_TEXT=.text',
- '/section:INIT,d',
- '/opt:ref',
- '/opt:icf',
- '/ignore:4198,4010,4037,4039,4065,4070,4078,4087,4089,4221',
- '/incremental:no',
- '/fullbuild',
- '/release',
- '/nodefaultlib',
- '/wx',
- '/debug',
- '/debugtype:cv',
- '/version:5.1',
- '/osversion:5.1',
- '/functionpadmin:5',
- '/safeseh',
- '/pdbcompress',
- '/stack:0x40000,0x1000',
- '/driver',
- '/align:0x80',
- '/subsystem:native,5.01',
- '/base:0x10000',
-
- '/entry:DrvEnableDriver',
- ]
- if env['debug'] or env['profile']:
- linkflags += [
- '/MAP', # http://msdn.microsoft.com/en-us/library/k7xkk3e2.aspx
- ]
- if platform == 'wince':
- linkflags += [
- '/nodefaultlib',
- #'/incremental:no',
- #'/fullbuild',
- '/entry:_DllMainCRTStartup',
- ]
- env.Append(LINKFLAGS = linkflags)
- env.Append(SHLINKFLAGS = shlinkflags)
-
- # Default libs
- env.Append(LIBS = [])
-
- # Custom builders and methods
- createConvenienceLibBuilder(env)
- createCodeGenerateMethod(env)
- createInstallMethods(env)
-
- # for debugging
- #print env.Dump()
-
-
-def exists(env):
- return 1
diff --git a/scons/generic.py b/scons/generic.py
deleted file mode 100644
index 859bf2ae64..0000000000
--- a/scons/generic.py
+++ /dev/null
@@ -1,590 +0,0 @@
-"""generic
-
-Generic tool that provides a commmon ground for all platforms.
-
-"""
-
-#
-# Copyright 2008 Tungsten Graphics, Inc., Cedar Park, Texas.
-# 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, sub license, 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 (including the
-# next paragraph) 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 NON-INFRINGEMENT.
-# IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS 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.
-#
-
-
-import os
-import os.path
-import re
-import platform as _platform
-import sys
-
-import SCons.Action
-import SCons.Builder
-import SCons.Scanner
-
-
-def quietCommandLines(env):
- # Quiet command lines
- # See also http://www.scons.org/wiki/HidingCommandLinesInOutput
- env['CCCOMSTR'] = "Compiling $SOURCE ..."
- env['CXXCOMSTR'] = "Compiling $SOURCE ..."
- env['ARCOMSTR'] = "Archiving $TARGET ..."
- env['RANLIBCOMSTR'] = ""
- env['LINKCOMSTR'] = "Linking $TARGET ..."
-
-
-def createConvenienceLibBuilder(env):
- """This is a utility function that creates the ConvenienceLibrary
- Builder in an Environment if it is not there already.
-
- If it is already there, we return the existing one.
-
- Based on the stock StaticLibrary and SharedLibrary builders.
- """
-
- try:
- convenience_lib = env['BUILDERS']['ConvenienceLibrary']
- except KeyError:
- action_list = [ SCons.Action.Action("$ARCOM", "$ARCOMSTR") ]
- if env.Detect('ranlib'):
- ranlib_action = SCons.Action.Action("$RANLIBCOM", "$RANLIBCOMSTR")
- action_list.append(ranlib_action)
-
- convenience_lib = SCons.Builder.Builder(action = action_list,
- emitter = '$LIBEMITTER',
- prefix = '$LIBPREFIX',
- suffix = '$LIBSUFFIX',
- src_suffix = '$SHOBJSUFFIX',
- src_builder = 'SharedObject')
- env['BUILDERS']['ConvenienceLibrary'] = convenience_lib
-
- return convenience_lib
-
-
-# TODO: handle import statements with multiple modules
-# TODO: handle from import statements
-import_re = re.compile(r'^import\s+(\S+)$', re.M)
-
-def python_scan(node, env, path):
- # http://www.scons.org/doc/0.98.5/HTML/scons-user/c2781.html#AEN2789
- contents = node.get_contents()
- source_dir = node.get_dir()
- imports = import_re.findall(contents)
- results = []
- for imp in imports:
- for dir in path:
- file = os.path.join(str(dir), imp.replace('.', os.sep) + '.py')
- if os.path.exists(file):
- results.append(env.File(file))
- break
- file = os.path.join(str(dir), imp.replace('.', os.sep), '__init__.py')
- if os.path.exists(file):
- results.append(env.File(file))
- break
- return results
-
-python_scanner = SCons.Scanner.Scanner(function = python_scan, skeys = ['.py'])
-
-
-def code_generate(env, script, target, source, command):
- """Method to simplify code generation via python scripts.
-
- http://www.scons.org/wiki/UsingCodeGenerators
- http://www.scons.org/doc/0.98.5/HTML/scons-user/c2768.html
- """
-
- # We're generating code using Python scripts, so we have to be
- # careful with our scons elements. This entry represents
- # the generator file *in the source directory*.
- script_src = env.File(script).srcnode()
-
- # This command creates generated code *in the build directory*.
- command = command.replace('$SCRIPT', script_src.path)
- code = env.Command(target, source, command)
-
- # Explicitly mark that the generated code depends on the generator,
- # and on implicitly imported python modules
- path = (script_src.get_dir(),)
- deps = [script_src]
- deps += script_src.get_implicit_deps(env, python_scanner, path)
- env.Depends(code, deps)
-
- # Running the Python script causes .pyc files to be generated in the
- # source directory. When we clean up, they should go too. So add side
- # effects for .pyc files
- for dep in deps:
- pyc = env.File(str(dep) + 'c')
- env.SideEffect(pyc, code)
-
- return code
-
-
-def createCodeGenerateMethod(env):
- env.Append(SCANNERS = python_scanner)
- env.AddMethod(code_generate, 'CodeGenerate')
-
-
-def symlink(target, source, env):
- target = str(target[0])
- source = str(source[0])
- if os.path.islink(target) or os.path.exists(target):
- os.remove(target)
- os.symlink(os.path.basename(source), target)
-
-def install_shared_library(env, source, version = ()):
- source = str(source[0])
- version = tuple(map(str, version))
- target_dir = os.path.join(env.Dir('#.').srcnode().abspath, env['build'], 'lib')
- target_name = '.'.join((str(source),) + version)
- last = env.InstallAs(os.path.join(target_dir, target_name), source)
- while len(version):
- version = version[:-1]
- target_name = '.'.join((str(source),) + version)
- action = SCons.Action.Action(symlink, "$TARGET -> $SOURCE")
- last = env.Command(os.path.join(target_dir, target_name), last, action)
-
-def createInstallMethods(env):
- env.AddMethod(install_shared_library, 'InstallSharedLibrary')
-
-
-_platform_map = {
- 'linux2': 'linux',
- 'win32': 'windows',
-}
-
-
-_machine_map = {
- 'x86': 'x86',
- 'i386': 'x86',
- 'i486': 'x86',
- 'i586': 'x86',
- 'i686': 'x86',
- 'ppc': 'ppc',
- 'x86_64': 'x86_64',
-}
-
-
-_toolchain_map = {
- 'winddk': 'winddk',
- 'wince': 'wcesdk',
-}
-
-
-_bool_map = {
- 'y': 1,
- 'yes': 1,
- 't': 1,
- 'true': 1,
- '1': 1,
- 'on': 1,
- 'all': 1,
- 'n': 0,
- 'no': 0,
- 'f': 0,
- 'false': 0,
- '0': 0,
- 'off': 0,
- 'none': 0,
-}
-
-
-def num_jobs():
- try:
- return int(os.environ['NUMBER_OF_PROCESSORS'])
- except (ValueError, KeyError):
- pass
-
- try:
- return os.sysconf('SC_NPROCESSORS_ONLN')
- except (ValueError, OSError, AttributeError):
- pass
-
- try:
- return int(os.popen2("sysctl -n hw.ncpu")[1].read())
- except ValueError:
- pass
-
- return 1
-
-
-def generate(env):
- """Common environment generation code"""
-
- from SCons.Script import ARGUMENTS
-
- # FIXME: this is already too late
- #if env.get('quiet', False):
- # quietCommandLines(env)
-
-
- # Platform
- try:
- env['platform'] = ARGUMENTS['platform']
- except KeyError:
- env['platform'] = _platform_map.get(sys.platform, sys.platform)
-
- # Machine
- try:
- env['machine'] = ARGUMENTS['machine']
- except KeyError:
- env['machine'] = _machine_map.get(os.environ.get('PROCESSOR_ARCHITECTURE', _platform.machine()), 'generic')
-
- # Toolchain
- try:
- env['toolchain'] = ARGUMENTS['toolchain']
- except KeyError:
- if env['platform'] in ('windows', 'winddk', 'wince') and sys.platform != 'win32':
- env['toolchain'] = 'crossmingw'
- else:
- env['toolchain'] = _toolchain_map.get(env['platform'], 'default')
- if env['toolchain'] == 'crossmingw' and env['machine'] not in ('generic', 'x86'):
- env['machine'] = 'x86'
-
- try:
- env['MSVS_VERSION'] = ARGUMENTS['MSVS_VERSION']
- except KeyError:
- pass
-
- # Build type
- env['debug'] = _bool_map[ARGUMENTS.get('debug', 'no')]
- env['profile'] = _bool_map[ARGUMENTS.get('profile', 'no')]
-
- # Put build output in a separate dir, which depends on the current
- # configuration. See also http://www.scons.org/wiki/AdvancedBuildExample
- try:
- env['build'] = ARGUMENTS['build']
- except KeyError:
- build_topdir = 'build'
- build_subdir = env['platform']
- if env['machine'] != 'generic':
- build_subdir += '-' + env['machine']
- if env['debug']:
- build_subdir += "-debug"
- if env['profile']:
- build_subdir += "-profile"
- env['build'] = os.path.join(build_topdir, build_subdir)
- # Place the .sconsign file in the build dir too, to avoid issues with
- # different scons versions building the same source file
- env.SConsignFile(os.path.join(env['build'], '.sconsign'))
-
- # Parallel build
- if env.GetOption('num_jobs') <= 1:
- env.SetOption('num_jobs', num_jobs())
-
- # Summary
- print
- print ' platform=%s' % env['platform']
- print ' machine=%s' % env['machine']
- print ' toolchain=%s' % env['toolchain']
- print ' debug=%s' % ['no', 'yes'][env['debug']]
- print ' profile=%s' % ['no', 'yes'][env['profile']]
- print ' build=%s' % env['build']
- print ' %s jobs' % env.GetOption('num_jobs')
- print
-
- # Load tool chain
- env.Tool(env['toolchain'])
-
- env['gcc'] = 'gcc' in os.path.basename(env['CC']).split('-')
- env['msvc'] = env['CC'] == 'cl'
-
- # shortcuts
- debug = env['debug']
- machine = env['machine']
- platform = env['platform']
- x86 = env['machine'] == 'x86'
- ppc = env['machine'] == 'ppc'
- gcc = env['gcc']
- msvc = env['msvc']
-
- # C preprocessor options
- cppdefines = []
- if debug:
- cppdefines += ['DEBUG']
- else:
- cppdefines += ['NDEBUG']
- if env['profile']:
- cppdefines += ['PROFILE']
- if platform == 'windows':
- cppdefines += [
- 'WIN32',
- '_WINDOWS',
- #'_UNICODE',
- #'UNICODE',
- # http://msdn2.microsoft.com/en-us/library/6dwk3a1z.aspx,
- #'WIN32_LEAN_AND_MEAN',
- ]
- if msvc:
- cppdefines += [
- 'VC_EXTRALEAN',
- '_USE_MATH_DEFINES',
- '_CRT_SECURE_NO_WARNINGS',
- '_CRT_SECURE_NO_DEPRECATE',
- '_SCL_SECURE_NO_WARNINGS',
- '_SCL_SECURE_NO_DEPRECATE',
- ]
- if debug:
- cppdefines += ['_DEBUG']
- if platform == 'winddk':
- # Mimic WINDDK's builtin flags. See also:
- # - WINDDK's bin/makefile.new i386mk.inc for more info.
- # - buildchk_wxp_x86.log files, generated by the WINDDK's build
- # - http://alter.org.ua/docs/nt_kernel/vc8_proj/
- cppdefines += [
- ('_X86_', '1'),
- ('i386', '1'),
- 'STD_CALL',
- ('CONDITION_HANDLING', '1'),
- ('NT_INST', '0'),
- ('WIN32', '100'),
- ('_NT1X_', '100'),
- ('WINNT', '1'),
- ('_WIN32_WINNT', '0x0501'), # minimum required OS version
- ('WINVER', '0x0501'),
- ('_WIN32_IE', '0x0603'),
- ('WIN32_LEAN_AND_MEAN', '1'),
- ('DEVL', '1'),
- ('__BUILDMACHINE__', 'WinDDK'),
- ('FPO', '0'),
- ]
- if debug:
- cppdefines += [('DBG', 1)]
- if platform == 'wince':
- cppdefines += [
- '_CRT_SECURE_NO_DEPRECATE',
- '_USE_32BIT_TIME_T',
- 'UNICODE',
- '_UNICODE',
- ('UNDER_CE', '600'),
- ('_WIN32_WCE', '0x600'),
- 'WINCEOEM',
- 'WINCEINTERNAL',
- 'WIN32',
- 'STRICT',
- 'x86',
- '_X86_',
- 'INTERNATIONAL',
- ('INTLMSG_CODEPAGE', '1252'),
- ]
- env.Append(CPPDEFINES = cppdefines)
-
- # C preprocessor includes
- if platform == 'winddk':
- env.Append(CPPPATH = [
- env['SDK_INC_PATH'],
- env['DDK_INC_PATH'],
- env['WDM_INC_PATH'],
- env['CRT_INC_PATH'],
- ])
-
- # C compiler options
- cflags = [] # C
- cxxflags = [] # C++
- ccflags = [] # C & C++
- if gcc:
- if debug:
- ccflags += ['-O0', '-g3']
- elif env['toolchain'] == 'crossmingw':
- ccflags += ['-O0', '-g3'] # mingw 4.2.1 optimizer is broken
- else:
- ccflags += ['-O3', '-g0']
- if env['machine'] == 'x86':
- ccflags += [
- '-m32',
- #'-march=pentium4',
- '-mmmx', '-msse', '-msse2', # enable SIMD intrinsics
- #'-mfpmath=sse',
- ]
- if env['machine'] == 'x86_64':
- ccflags += ['-m64']
- # See also:
- # - http://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
- ccflags += [
- '-Wall',
- '-Wmissing-field-initializers',
- '-Wpointer-arith',
- '-Wno-long-long',
- '-ffast-math',
- '-fmessage-length=0', # be nice to Eclipse
- ]
- cflags += [
- '-Werror=declaration-after-statement',
- '-Wmissing-prototypes',
- '-std=gnu99',
- ]
- if msvc:
- # See also:
- # - http://msdn.microsoft.com/en-us/library/19z1t1wy.aspx
- # - cl /?
- if debug:
- ccflags += [
- '/Od', # disable optimizations
- '/Oi', # enable intrinsic functions
- '/Oy-', # disable frame pointer omission
- '/GL-', # disable whole program optimization
- ]
- else:
- ccflags += [
- '/Ox', # maximum optimizations
- '/Oi', # enable intrinsic functions
- '/Ot', # favor code speed
- #'/fp:fast', # fast floating point
- ]
- ccflags += [
- '/W3', # warning level
- #'/Wp64', # enable 64 bit porting warnings
- ]
- if env['machine'] == 'x86':
- ccflags += [
- #'/QIfist', # Suppress _ftol
- #'/arch:SSE2', # use the SSE2 instructions
- ]
- if platform == 'windows':
- ccflags += [
- # TODO
- ]
- if platform == 'winddk':
- ccflags += [
- '/Zl', # omit default library name in .OBJ
- '/Zp8', # 8bytes struct member alignment
- '/Gy', # separate functions for linker
- '/Gm-', # disable minimal rebuild
- '/WX', # treat warnings as errors
- '/Gz', # __stdcall Calling convention
- '/GX-', # disable C++ EH
- '/GR-', # disable C++ RTTI
- '/GF', # enable read-only string pooling
- '/G6', # optimize for PPro, P-II, P-III
- '/Ze', # enable extensions
- '/Gi-', # disable incremental compilation
- '/QIfdiv-', # disable Pentium FDIV fix
- '/hotpatch', # prepares an image for hotpatching.
- #'/Z7', #enable old-style debug info
- ]
- if platform == 'wince':
- # See also C:\WINCE600\public\common\oak\misc\makefile.def
- ccflags += [
- '/Zl', # omit default library name in .OBJ
- '/GF', # enable read-only string pooling
- '/GR-', # disable C++ RTTI
- '/GS', # enable security checks
- # Allow disabling language conformance to maintain backward compat
- #'/Zc:wchar_t-', # don't force wchar_t as native type, instead of typedef
- #'/Zc:forScope-', # don't enforce Standard C++ for scoping rules
- #'/wd4867',
- #'/wd4430',
- #'/MT',
- #'/U_MT',
- ]
- # Automatic pdb generation
- # See http://scons.tigris.org/issues/show_bug.cgi?id=1656
- env.EnsureSConsVersion(0, 98, 0)
- env['PDB'] = '${TARGET.base}.pdb'
- env.Append(CCFLAGS = ccflags)
- env.Append(CFLAGS = cflags)
- env.Append(CXXFLAGS = cxxflags)
-
- if env['platform'] == 'windows' and msvc:
- # Choose the appropriate MSVC CRT
- # http://msdn.microsoft.com/en-us/library/2kzt1wy3.aspx
- if env['debug']:
- env.Append(CCFLAGS = ['/MTd'])
- env.Append(SHCCFLAGS = ['/LDd'])
- else:
- env.Append(CCFLAGS = ['/MT'])
- env.Append(SHCCFLAGS = ['/LD'])
-
- # Assembler options
- if gcc:
- if env['machine'] == 'x86':
- env.Append(ASFLAGS = ['-m32'])
- if env['machine'] == 'x86_64':
- env.Append(ASFLAGS = ['-m64'])
-
- # Linker options
- linkflags = []
- if gcc:
- if env['machine'] == 'x86':
- linkflags += ['-m32']
- if env['machine'] == 'x86_64':
- linkflags += ['-m64']
- if platform == 'windows' and msvc:
- # See also:
- # - http://msdn2.microsoft.com/en-us/library/y0zzbyt4.aspx
- linkflags += [
- '/fixed:no',
- '/incremental:no',
- ]
- if platform == 'winddk':
- linkflags += [
- '/merge:_PAGE=PAGE',
- '/merge:_TEXT=.text',
- '/section:INIT,d',
- '/opt:ref',
- '/opt:icf',
- '/ignore:4198,4010,4037,4039,4065,4070,4078,4087,4089,4221',
- '/incremental:no',
- '/fullbuild',
- '/release',
- '/nodefaultlib',
- '/wx',
- '/debug',
- '/debugtype:cv',
- '/version:5.1',
- '/osversion:5.1',
- '/functionpadmin:5',
- '/safeseh',
- '/pdbcompress',
- '/stack:0x40000,0x1000',
- '/driver',
- '/align:0x80',
- '/subsystem:native,5.01',
- '/base:0x10000',
-
- '/entry:DrvEnableDriver',
- ]
- if env['debug'] or env['profile']:
- linkflags += [
- '/MAP', # http://msdn.microsoft.com/en-us/library/k7xkk3e2.aspx
- ]
- if platform == 'wince':
- linkflags += [
- '/nodefaultlib',
- #'/incremental:no',
- #'/fullbuild',
- '/entry:_DllMainCRTStartup',
- ]
- env.Append(LINKFLAGS = linkflags)
-
- # Default libs
- env.Append(LIBS = [])
-
- # Custom builders and methods
- createConvenienceLibBuilder(env)
- createCodeGenerateMethod(env)
- createInstallMethods(env)
-
- # for debugging
- #print env.Dump()
-
-
-def exists(env):
- return 1
diff --git a/scons/llvm.py b/scons/llvm.py
deleted file mode 100644
index 7b26650290..0000000000
--- a/scons/llvm.py
+++ /dev/null
@@ -1,121 +0,0 @@
-"""llvm
-
-Tool-specific initialization for LLVM
-
-"""
-
-#
-# Copyright (c) 2009 VMware, Inc.
-#
-# 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.
-#
-
-import os
-import os.path
-import sys
-
-import SCons.Errors
-import SCons.Util
-
-
-def generate(env):
- try:
- llvm_dir = os.environ['LLVM']
- except KeyError:
- # Do nothing -- use the system headers/libs
- llvm_dir = None
- else:
- if not os.path.isdir(llvm_dir):
- raise SCons.Errors.InternalError, "Specified LLVM directory not found"
-
- if env['debug']:
- llvm_subdir = 'Debug'
- else:
- llvm_subdir = 'Release'
-
- llvm_bin_dir = os.path.join(llvm_dir, llvm_subdir, 'bin')
- if not os.path.isdir(llvm_bin_dir):
- llvm_bin_dir = os.path.join(llvm_dir, 'bin')
- if not os.path.isdir(llvm_bin_dir):
- raise SCons.Errors.InternalError, "LLVM binary directory not found"
-
- env.PrependENVPath('PATH', llvm_bin_dir)
-
- if env['platform'] == 'windows':
- # XXX: There is no llvm-config on Windows, so assume a standard layout
- if llvm_dir is not None:
- env.Prepend(CPPPATH = [os.path.join(llvm_dir, 'include')])
- env.AppendUnique(CPPDEFINES = [
- '__STDC_LIMIT_MACROS',
- '__STDC_CONSTANT_MACROS',
- ])
- env.Prepend(LIBPATH = [os.path.join(llvm_dir, 'lib')])
- env.Prepend(LIBS = [
- 'LLVMX86AsmParser',
- 'LLVMX86AsmPrinter',
- 'LLVMX86CodeGen',
- 'LLVMX86Info',
- 'LLVMLinker',
- 'LLVMipo',
- 'LLVMInterpreter',
- 'LLVMInstrumentation',
- 'LLVMJIT',
- 'LLVMExecutionEngine',
- 'LLVMDebugger',
- 'LLVMBitWriter',
- 'LLVMAsmParser',
- 'LLVMArchive',
- 'LLVMBitReader',
- 'LLVMSelectionDAG',
- 'LLVMAsmPrinter',
- 'LLVMCodeGen',
- 'LLVMScalarOpts',
- 'LLVMTransformUtils',
- 'LLVMipa',
- 'LLVMAnalysis',
- 'LLVMTarget',
- 'LLVMMC',
- 'LLVMCore',
- 'LLVMSupport',
- 'LLVMSystem',
- 'imagehlp',
- 'psapi',
- ])
- env['LLVM_VERSION'] = '2.6'
- return
- elif env.Detect('llvm-config'):
- version = env.backtick('llvm-config --version').rstrip()
-
- try:
- env.ParseConfig('llvm-config --cppflags')
- env.ParseConfig('llvm-config --libs jit interpreter nativecodegen bitwriter')
- env.ParseConfig('llvm-config --ldflags')
- except OSError:
- print 'llvm-config version %s failed' % version
- else:
- if env['platform'] == 'windows':
- env.Append(LIBS = ['imagehlp', 'psapi'])
- env['LINK'] = env['CXX']
- env['LLVM_VERSION'] = version
-
-def exists(env):
- return True
-
-# vim:set ts=4 sw=4 et:
diff --git a/scons/mslib_sa.py b/scons/mslib_sa.py
deleted file mode 100644
index 50d47ee37b..0000000000
--- a/scons/mslib_sa.py
+++ /dev/null
@@ -1,133 +0,0 @@
-"""mslib_sa
-
-Tool-specific initialization for lib (MicroSoft library archiver).
-
-Based on SCons.Tool.mslib, without the MSVC detection.
-
-"""
-
-#
-# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 The SCons Foundation
-#
-# 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.
-#
-
-import os
-import tempfile
-import string
-
-import SCons.Defaults
-import SCons.Tool
-import SCons.Util
-import SCons.Errors
-
-class TempFileMunge:
- """Same as SCons.Platform.TempFileMunge, but preserves LINK /LIB
- together."""
-
- def __init__(self, cmd):
- self.cmd = cmd
-
- def __call__(self, target, source, env, for_signature):
- if for_signature:
- return self.cmd
- cmd = env.subst_list(self.cmd, 0, target, source)[0]
- try:
- maxline = int(env.subst('$MAXLINELENGTH'))
- except ValueError:
- maxline = 2048
-
- if (reduce(lambda x, y: x + len(y), cmd, 0) + len(cmd)) <= maxline:
- return self.cmd
-
- # We do a normpath because mktemp() has what appears to be
- # a bug in Windows that will use a forward slash as a path
- # delimiter. Windows's link mistakes that for a command line
- # switch and barfs.
- #
- # We use the .lnk suffix for the benefit of the Phar Lap
- # linkloc linker, which likes to append an .lnk suffix if
- # none is given.
- tmp = os.path.normpath(tempfile.mktemp('.lnk'))
- native_tmp = SCons.Util.get_native_path(tmp)
-
- if env['SHELL'] and env['SHELL'] == 'sh':
- # The sh shell will try to escape the backslashes in the
- # path, so unescape them.
- native_tmp = string.replace(native_tmp, '\\', r'\\\\')
- # In Cygwin, we want to use rm to delete the temporary
- # file, because del does not exist in the sh shell.
- rm = env.Detect('rm') or 'del'
- else:
- # Don't use 'rm' if the shell is not sh, because rm won't
- # work with the Windows shells (cmd.exe or command.com) or
- # Windows path names.
- rm = 'del'
-
- prefix = env.subst('$TEMPFILEPREFIX')
- if not prefix:
- prefix = '@'
-
- if cmd[0:2] == ['link', '/lib']:
- split = 2
- else:
- split = 1
-
- args = map(SCons.Subst.quote_spaces, cmd[split:])
- open(tmp, 'w').write(string.join(args, " ") + "\n")
- # XXX Using the SCons.Action.print_actions value directly
- # like this is bogus, but expedient. This class should
- # really be rewritten as an Action that defines the
- # __call__() and strfunction() methods and lets the
- # normal action-execution logic handle whether or not to
- # print/execute the action. The problem, though, is all
- # of that is decided before we execute this method as
- # part of expanding the $TEMPFILE construction variable.
- # Consequently, refactoring this will have to wait until
- # we get more flexible with allowing Actions to exist
- # independently and get strung together arbitrarily like
- # Ant tasks. In the meantime, it's going to be more
- # user-friendly to not let obsession with architectural
- # purity get in the way of just being helpful, so we'll
- # reach into SCons.Action directly.
- if SCons.Action.print_actions:
- print("Using tempfile "+native_tmp+" for command line:\n"+
- " ".join(map(str,cmd)))
- return cmd[:split] + [ prefix + native_tmp + '\n' + rm, native_tmp ]
-
-def generate(env):
- """Add Builders and construction variables for lib to an Environment."""
- SCons.Tool.createStaticLibBuilder(env)
-
- if env.Detect('lib'):
- env['AR'] = 'lib'
- else:
- # Recent WINDDK versions do not ship with lib.
- env['AR'] = 'link /lib'
- env['TEMPFILE'] = TempFileMunge
- env['ARFLAGS'] = SCons.Util.CLVar('/nologo')
- env['ARCOM'] = "${TEMPFILE('$AR $ARFLAGS /OUT:$TARGET $SOURCES')}"
- env['LIBPREFIX'] = ''
- env['LIBSUFFIX'] = '.lib'
-
-def exists(env):
- return env.Detect('lib') or env.Detect('link')
-
-# vim:set ts=4 sw=4 et:
diff --git a/scons/mslink_sa.py b/scons/mslink_sa.py
deleted file mode 100644
index 53331def1a..0000000000
--- a/scons/mslink_sa.py
+++ /dev/null
@@ -1,211 +0,0 @@
-"""mslink_sa
-
-Tool-specific initialization for the Microsoft linker.
-
-Based on SCons.Tool.mslink, without the MSVS detection.
-
-"""
-
-#
-# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 The SCons Foundation
-#
-# 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.
-#
-
-import os.path
-
-import SCons.Action
-import SCons.Defaults
-import SCons.Errors
-import SCons.Platform.win32
-import SCons.Tool
-import SCons.Tool.msvc
-import SCons.Util
-
-def pdbGenerator(env, target, source, for_signature):
- try:
- return ['/PDB:%s' % target[0].attributes.pdb, '/DEBUG']
- except (AttributeError, IndexError):
- return None
-
-def windowsShlinkTargets(target, source, env, for_signature):
- listCmd = []
- dll = env.FindIxes(target, 'SHLIBPREFIX', 'SHLIBSUFFIX')
- if dll: listCmd.append("/out:%s"%dll.get_string(for_signature))
-
- implib = env.FindIxes(target, 'LIBPREFIX', 'LIBSUFFIX')
- if implib: listCmd.append("/implib:%s"%implib.get_string(for_signature))
-
- return listCmd
-
-def windowsShlinkSources(target, source, env, for_signature):
- listCmd = []
-
- deffile = env.FindIxes(source, "WINDOWSDEFPREFIX", "WINDOWSDEFSUFFIX")
- for src in source:
- if src == deffile:
- # Treat this source as a .def file.
- listCmd.append("/def:%s" % src.get_string(for_signature))
- else:
- # Just treat it as a generic source file.
- listCmd.append(src)
- return listCmd
-
-def windowsLibEmitter(target, source, env):
- SCons.Tool.msvc.validate_vars(env)
-
- extratargets = []
- extrasources = []
-
- dll = env.FindIxes(target, "SHLIBPREFIX", "SHLIBSUFFIX")
- no_import_lib = env.get('no_import_lib', 0)
-
- if not dll:
- raise SCons.Errors.UserError, "A shared library should have exactly one target with the suffix: %s" % env.subst("$SHLIBSUFFIX")
-
- insert_def = env.subst("$WINDOWS_INSERT_DEF")
- if not insert_def in ['', '0', 0] and \
- not env.FindIxes(source, "WINDOWSDEFPREFIX", "WINDOWSDEFSUFFIX"):
-
- # append a def file to the list of sources
- extrasources.append(
- env.ReplaceIxes(dll,
- "SHLIBPREFIX", "SHLIBSUFFIX",
- "WINDOWSDEFPREFIX", "WINDOWSDEFSUFFIX"))
-
- if env.has_key('PDB') and env['PDB']:
- pdb = env.arg2nodes('$PDB', target=target, source=source)[0]
- extratargets.append(pdb)
- target[0].attributes.pdb = pdb
-
- if not no_import_lib and \
- not env.FindIxes(target, "LIBPREFIX", "LIBSUFFIX"):
- # Append an import library to the list of targets.
- extratargets.append(
- env.ReplaceIxes(dll,
- "SHLIBPREFIX", "SHLIBSUFFIX",
- "LIBPREFIX", "LIBSUFFIX"))
- # and .exp file is created if there are exports from a DLL
- extratargets.append(
- env.ReplaceIxes(dll,
- "SHLIBPREFIX", "SHLIBSUFFIX",
- "WINDOWSEXPPREFIX", "WINDOWSEXPSUFFIX"))
-
- return (target+extratargets, source+extrasources)
-
-def prog_emitter(target, source, env):
- SCons.Tool.msvc.validate_vars(env)
-
- extratargets = []
-
- exe = env.FindIxes(target, "PROGPREFIX", "PROGSUFFIX")
- if not exe:
- raise SCons.Errors.UserError, "An executable should have exactly one target with the suffix: %s" % env.subst("$PROGSUFFIX")
-
- if env.has_key('PDB') and env['PDB']:
- pdb = env.arg2nodes('$PDB', target=target, source=source)[0]
- extratargets.append(pdb)
- target[0].attributes.pdb = pdb
-
- return (target+extratargets,source)
-
-def RegServerFunc(target, source, env):
- if env.has_key('register') and env['register']:
- ret = regServerAction([target[0]], [source[0]], env)
- if ret:
- raise SCons.Errors.UserError, "Unable to register %s" % target[0]
- else:
- print "Registered %s sucessfully" % target[0]
- return ret
- return 0
-
-regServerAction = SCons.Action.Action("$REGSVRCOM", "$REGSVRCOMSTR")
-regServerCheck = SCons.Action.Action(RegServerFunc, None)
-shlibLinkAction = SCons.Action.Action('${TEMPFILE("$SHLINK $SHLINKFLAGS $_SHLINK_TARGETS $( $_LIBDIRFLAGS $) $_LIBFLAGS $_PDB $_SHLINK_SOURCES")}')
-compositeLinkAction = shlibLinkAction + regServerCheck
-
-def generate(env):
- """Add Builders and construction variables for ar to an Environment."""
- SCons.Tool.createSharedLibBuilder(env)
- SCons.Tool.createProgBuilder(env)
-
- env['SHLINK'] = '$LINK'
- env['SHLINKFLAGS'] = SCons.Util.CLVar('$LINKFLAGS /dll')
- env['_SHLINK_TARGETS'] = windowsShlinkTargets
- env['_SHLINK_SOURCES'] = windowsShlinkSources
- env['SHLINKCOM'] = compositeLinkAction
- env.Append(SHLIBEMITTER = [windowsLibEmitter])
- env['LINK'] = 'link'
- env['LINKFLAGS'] = SCons.Util.CLVar('/nologo')
- env['_PDB'] = pdbGenerator
- env['LINKCOM'] = '${TEMPFILE("$LINK $LINKFLAGS /OUT:$TARGET.windows $( $_LIBDIRFLAGS $) $_LIBFLAGS $_PDB $SOURCES.windows")}'
- env.Append(PROGEMITTER = [prog_emitter])
- env['LIBDIRPREFIX']='/LIBPATH:'
- env['LIBDIRSUFFIX']=''
- env['LIBLINKPREFIX']=''
- env['LIBLINKSUFFIX']='$LIBSUFFIX'
-
- env['WIN32DEFPREFIX'] = ''
- env['WIN32DEFSUFFIX'] = '.def'
- env['WIN32_INSERT_DEF'] = 0
- env['WINDOWSDEFPREFIX'] = '${WIN32DEFPREFIX}'
- env['WINDOWSDEFSUFFIX'] = '${WIN32DEFSUFFIX}'
- env['WINDOWS_INSERT_DEF'] = '${WIN32_INSERT_DEF}'
-
- env['WIN32EXPPREFIX'] = ''
- env['WIN32EXPSUFFIX'] = '.exp'
- env['WINDOWSEXPPREFIX'] = '${WIN32EXPPREFIX}'
- env['WINDOWSEXPSUFFIX'] = '${WIN32EXPSUFFIX}'
-
- env['WINDOWSSHLIBMANIFESTPREFIX'] = ''
- env['WINDOWSSHLIBMANIFESTSUFFIX'] = '${SHLIBSUFFIX}.manifest'
- env['WINDOWSPROGMANIFESTPREFIX'] = ''
- env['WINDOWSPROGMANIFESTSUFFIX'] = '${PROGSUFFIX}.manifest'
-
- env['REGSVRACTION'] = regServerCheck
- env['REGSVR'] = os.path.join(SCons.Platform.win32.get_system_root(),'System32','regsvr32')
- env['REGSVRFLAGS'] = '/s '
- env['REGSVRCOM'] = '$REGSVR $REGSVRFLAGS ${TARGET.windows}'
-
- # For most platforms, a loadable module is the same as a shared
- # library. Platforms which are different can override these, but
- # setting them the same means that LoadableModule works everywhere.
- SCons.Tool.createLoadableModuleBuilder(env)
- env['LDMODULE'] = '$SHLINK'
- env['LDMODULEPREFIX'] = '$SHLIBPREFIX'
- env['LDMODULESUFFIX'] = '$SHLIBSUFFIX'
- env['LDMODULEFLAGS'] = '$SHLINKFLAGS'
- # We can't use '$SHLINKCOM' here because that will stringify the
- # action list on expansion, and will then try to execute expanded
- # strings, with the upshot that it would try to execute RegServerFunc
- # as a command.
- env['LDMODULECOM'] = compositeLinkAction
-
-def exists(env):
- platform = env.get('PLATFORM', '')
- if platform in ('win32', 'cygwin'):
- # Only explicitly search for a 'link' executable on Windows
- # systems. Some other systems (e.g. Ubuntu Linux) have an
- # executable named 'link' and we don't want that to make SCons
- # think Visual Studio is installed.
- return env.Detect('link')
- return None
-
-# vim:set ts=4 sw=4 et:
diff --git a/scons/msvc_sa.py b/scons/msvc_sa.py
deleted file mode 100644
index 136d305265..0000000000
--- a/scons/msvc_sa.py
+++ /dev/null
@@ -1,173 +0,0 @@
-"""msvc_sa
-
-Tool-specific initialization for Microsoft Visual C/C++.
-
-Based on SCons.Tool.msvc, without the MSVS detection.
-
-"""
-
-#
-# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 The SCons Foundation
-#
-# 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.
-#
-
-import os.path
-import re
-import string
-
-import SCons.Action
-import SCons.Builder
-import SCons.Errors
-import SCons.Platform.win32
-import SCons.Tool
-import SCons.Util
-import SCons.Warnings
-
-CSuffixes = ['.c', '.C']
-CXXSuffixes = ['.cc', '.cpp', '.cxx', '.c++', '.C++']
-
-def validate_vars(env):
- """Validate the PCH and PCHSTOP construction variables."""
- if env.has_key('PCH') and env['PCH']:
- if not env.has_key('PCHSTOP'):
- raise SCons.Errors.UserError, "The PCHSTOP construction must be defined if PCH is defined."
- if not SCons.Util.is_String(env['PCHSTOP']):
- raise SCons.Errors.UserError, "The PCHSTOP construction variable must be a string: %r"%env['PCHSTOP']
-
-def pch_emitter(target, source, env):
- """Adds the object file target."""
-
- validate_vars(env)
-
- pch = None
- obj = None
-
- for t in target:
- if SCons.Util.splitext(str(t))[1] == '.pch':
- pch = t
- if SCons.Util.splitext(str(t))[1] == '.obj':
- obj = t
-
- if not obj:
- obj = SCons.Util.splitext(str(pch))[0]+'.obj'
-
- target = [pch, obj] # pch must be first, and obj second for the PCHCOM to work
-
- return (target, source)
-
-def object_emitter(target, source, env, parent_emitter):
- """Sets up the PCH dependencies for an object file."""
-
- validate_vars(env)
-
- parent_emitter(target, source, env)
-
- if env.has_key('PCH') and env['PCH']:
- env.Depends(target, env['PCH'])
-
- return (target, source)
-
-def static_object_emitter(target, source, env):
- return object_emitter(target, source, env,
- SCons.Defaults.StaticObjectEmitter)
-
-def shared_object_emitter(target, source, env):
- return object_emitter(target, source, env,
- SCons.Defaults.SharedObjectEmitter)
-
-pch_action = SCons.Action.Action('$PCHCOM', '$PCHCOMSTR')
-pch_builder = SCons.Builder.Builder(action=pch_action, suffix='.pch',
- emitter=pch_emitter,
- source_scanner=SCons.Tool.SourceFileScanner)
-res_action = SCons.Action.Action('$RCCOM', '$RCCOMSTR')
-res_builder = SCons.Builder.Builder(action=res_action,
- src_suffix='.rc',
- suffix='.res',
- src_builder=[],
- source_scanner=SCons.Tool.SourceFileScanner)
-SCons.Tool.SourceFileScanner.add_scanner('.rc', SCons.Defaults.CScan)
-
-def generate(env):
- """Add Builders and construction variables for MSVC++ to an Environment."""
- static_obj, shared_obj = SCons.Tool.createObjBuilders(env)
-
- for suffix in CSuffixes:
- static_obj.add_action(suffix, SCons.Defaults.CAction)
- shared_obj.add_action(suffix, SCons.Defaults.ShCAction)
- static_obj.add_emitter(suffix, static_object_emitter)
- shared_obj.add_emitter(suffix, shared_object_emitter)
-
- for suffix in CXXSuffixes:
- static_obj.add_action(suffix, SCons.Defaults.CXXAction)
- shared_obj.add_action(suffix, SCons.Defaults.ShCXXAction)
- static_obj.add_emitter(suffix, static_object_emitter)
- shared_obj.add_emitter(suffix, shared_object_emitter)
-
- env['CCPDBFLAGS'] = SCons.Util.CLVar(['${(PDB and "/Z7") or ""}'])
- env['CCPCHFLAGS'] = SCons.Util.CLVar(['${(PCH and "/Yu%s /Fp%s"%(PCHSTOP or "",File(PCH))) or ""}'])
- env['CCCOMFLAGS'] = '$CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS /c $SOURCES /Fo$TARGET $CCPCHFLAGS $CCPDBFLAGS'
- env['CC'] = 'cl'
- env['CCFLAGS'] = SCons.Util.CLVar('/nologo')
- env['CFLAGS'] = SCons.Util.CLVar('')
- env['CCCOM'] = '$CC $CFLAGS $CCFLAGS $CCCOMFLAGS'
- env['SHCC'] = '$CC'
- env['SHCCFLAGS'] = SCons.Util.CLVar('$CCFLAGS')
- env['SHCFLAGS'] = SCons.Util.CLVar('$CFLAGS')
- env['SHCCCOM'] = '$SHCC $SHCFLAGS $SHCCFLAGS $CCCOMFLAGS'
- env['CXX'] = '$CC'
- env['CXXFLAGS'] = SCons.Util.CLVar('$CCFLAGS $( /TP $)')
- env['CXXCOM'] = '$CXX $CXXFLAGS $CCCOMFLAGS'
- env['SHCXX'] = '$CXX'
- env['SHCXXFLAGS'] = SCons.Util.CLVar('$CXXFLAGS')
- env['SHCXXCOM'] = '$SHCXX $SHCXXFLAGS $CCCOMFLAGS'
- env['CPPDEFPREFIX'] = '/D'
- env['CPPDEFSUFFIX'] = ''
- env['INCPREFIX'] = '/I'
- env['INCSUFFIX'] = ''
-# env.Append(OBJEMITTER = [static_object_emitter])
-# env.Append(SHOBJEMITTER = [shared_object_emitter])
- env['STATIC_AND_SHARED_OBJECTS_ARE_THE_SAME'] = 1
-
- env['RC'] = 'rc'
- env['RCFLAGS'] = SCons.Util.CLVar('')
- env['RCCOM'] = '$RC $_CPPDEFFLAGS $_CPPINCFLAGS $RCFLAGS /fo$TARGET $SOURCES'
- env['BUILDERS']['RES'] = res_builder
- env['OBJPREFIX'] = ''
- env['OBJSUFFIX'] = '.obj'
- env['SHOBJPREFIX'] = '$OBJPREFIX'
- env['SHOBJSUFFIX'] = '$OBJSUFFIX'
-
- env['CFILESUFFIX'] = '.c'
- env['CXXFILESUFFIX'] = '.cc'
-
- env['PCHPDBFLAGS'] = SCons.Util.CLVar(['${(PDB and "/Yd") or ""}'])
- env['PCHCOM'] = '$CXX $CXXFLAGS $CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS /c $SOURCES /Fo${TARGETS[1]} /Yc$PCHSTOP /Fp${TARGETS[0]} $CCPDBFLAGS $PCHPDBFLAGS'
- env['BUILDERS']['PCH'] = pch_builder
-
- if not env.has_key('ENV'):
- env['ENV'] = {}
- if not env['ENV'].has_key('SystemRoot'): # required for dlls in the winsxs folders
- env['ENV']['SystemRoot'] = SCons.Platform.win32.get_system_root()
-
-def exists(env):
- return env.Detect('cl')
-
-# vim:set ts=4 sw=4 et:
diff --git a/scons/python.py b/scons/python.py
deleted file mode 100644
index 9e94d056e1..0000000000
--- a/scons/python.py
+++ /dev/null
@@ -1,72 +0,0 @@
-"""gallium
-
-Frontend-tool for Gallium3D architecture.
-
-"""
-
-#
-# Copyright 2008 Tungsten Graphics, Inc., Cedar Park, Texas.
-# 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, sub license, 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 (including the
-# next paragraph) 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 NON-INFRINGEMENT.
-# IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS 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.
-#
-
-
-import sys
-import distutils.sysconfig
-import os.path
-
-
-def generate(env):
- # See http://www.scons.org/wiki/PythonExtensions
-
- if sys.platform in ['win32']:
- python_root = sys.prefix
- python_version = '%u%u' % sys.version_info[:2]
- python_include = os.path.join(python_root, 'include')
- python_libs = os.path.join(python_root, 'libs')
- python_lib = os.path.join(python_libs, 'python' + python_version + '.lib')
-
- env.Append(CPPPATH = [python_include])
- env.Append(LIBPATH = [python_libs])
- env.Append(LIBS = ['python' + python_version + '.lib'])
- env.Replace(SHLIBPREFIX = '')
- env.Replace(SHLIBSUFFIX = '.pyd')
-
- # XXX; python25_d.lib is not included in Python for windows, and
- # we'll get missing symbols unless we undefine _DEBUG
- cppdefines = env['CPPDEFINES']
- cppdefines = [define for define in cppdefines if define != '_DEBUG']
- env.Replace(CPPDEFINES = cppdefines)
- env.AppendUnique(CPPFLAGS = ['/U_DEBUG'])
- env.AppendUnique(LINKFLAGS = ['/nodefaultlib:python25_d.lib'])
- else:
- #env.ParseConfig('python-config --cflags --ldflags --libs')
- env.AppendUnique(CPPPATH = [distutils.sysconfig.get_python_inc()])
- env.Replace(SHLIBPREFIX = '')
- env.Replace(SHLIBSUFFIX = distutils.sysconfig.get_config_vars()['SO'])
-
- # for debugging
- #print env.Dump()
-
-
-def exists(env):
- return 1
diff --git a/scons/udis86.py b/scons/udis86.py
deleted file mode 100644
index ba71d4eb0b..0000000000
--- a/scons/udis86.py
+++ /dev/null
@@ -1,42 +0,0 @@
-"""udis86
-
-Tool-specific initialization for udis86
-
-"""
-
-#
-# Copyright (c) 2009 VMware, Inc.
-#
-# 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.
-#
-
-def generate(env):
- conf = env.Configure()
-
- if conf.CheckHeader('udis86.h'): # and conf.CheckLib('udis86'):
- env.Append(CPPDEFINES = [('HAVE_UDIS86', '1')])
- env.Prepend(LIBS = ['udis86'])
-
- conf.Finish()
-
-def exists(env):
- return True
-
-# vim:set ts=4 sw=4 et:
diff --git a/scons/wcesdk.py b/scons/wcesdk.py
deleted file mode 100644
index bf73c2d73f..0000000000
--- a/scons/wcesdk.py
+++ /dev/null
@@ -1,176 +0,0 @@
-"""wcesdk
-
-Tool-specific initialization for Microsoft Window CE SDKs.
-
-"""
-
-#
-# Copyright (c) 2001-2007 The SCons Foundation
-# Copyright (c) 2008 Tungsten Graphics, Inc.
-#
-# 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.
-#
-
-import os.path
-import re
-import string
-
-import SCons.Action
-import SCons.Builder
-import SCons.Errors
-import SCons.Platform.win32
-import SCons.Tool
-import SCons.Util
-import SCons.Warnings
-
-import msvc_sa
-import mslib_sa
-import mslink_sa
-
-def get_wce500_paths(env):
- """Return a 3-tuple of (INCLUDE, LIB, PATH) as the values
- of those three environment variables that should be set
- in order to execute the MSVC tools properly."""
-
- exe_paths = []
- lib_paths = []
- include_paths = []
-
- # mymic the batch files located in Microsoft eMbedded C++ 4.0\EVC\WCExxx\BIN
- os_version = os.environ.get('OSVERSION', 'WCE500')
- platform = os.environ.get('PLATFORM', 'STANDARDSDK_500')
- wce_root = os.environ.get('WCEROOT', 'C:\\Program Files\\Microsoft eMbedded C++ 4.0')
- sdk_root = os.environ.get('SDKROOT', 'C:\\Windows CE Tools')
-
- target_cpu = 'x86'
- cfg = 'none'
-
- exe_paths.append( os.path.join(wce_root, 'COMMON', 'EVC', 'bin') )
- exe_paths.append( os.path.join(wce_root, 'EVC', os_version, 'bin') )
- include_paths.append( os.path.join(sdk_root, os_version, platform, 'include', target_cpu) )
- include_paths.append( os.path.join(sdk_root, os_version, platform, 'MFC', 'include') )
- include_paths.append( os.path.join(sdk_root, os_version, platform, 'ATL', 'include') )
- lib_paths.append( os.path.join(sdk_root, os_version, platform, 'lib', target_cpu) )
- lib_paths.append( os.path.join(sdk_root, os_version, platform, 'MFC', 'lib', target_cpu) )
- lib_paths.append( os.path.join(sdk_root, os_version, platform, 'ATL', 'lib', target_cpu) )
-
- include_path = string.join( include_paths, os.pathsep )
- lib_path = string.join(lib_paths, os.pathsep )
- exe_path = string.join(exe_paths, os.pathsep )
- return (include_path, lib_path, exe_path)
-
-def get_wce600_root(env):
- try:
- return os.environ['_WINCEROOT']
- except KeyError:
- pass
-
- if SCons.Util.can_read_reg:
- key = r'SOFTWARE\Microsoft\Platform Builder\6.00\Directories\OS Install Dir'
- try:
- path, t = SCons.Util.RegGetValue(SCons.Util.HKEY_LOCAL_MACHINE, key)
- except SCons.Util.RegError:
- pass
- else:
- return path
-
- default_path = os.path.join(r'C:\WINCE600', version)
- if os.path.exists(default_path):
- return default_path
-
- return None
-
-def get_wce600_paths(env):
- """Return a 3-tuple of (INCLUDE, LIB, PATH) as the values
- of those three environment variables that should be set
- in order to execute the MSVC tools properly."""
-
- exe_paths = []
- lib_paths = []
- include_paths = []
-
- # See also C:\WINCE600\public\common\oak\misc\wince.bat
-
- wince_root = get_wce600_root(env)
- if wince_root is None:
- raise SCons.Errors.InternalError, "Windows CE 6.0 SDK not found"
-
- os_version = os.environ.get('_WINCEOSVER', '600')
- platform_root = os.environ.get('_PLATFORMROOT', os.path.join(wince_root, 'platform'))
- sdk_root = os.environ.get('_SDKROOT' ,os.path.join(wince_root, 'sdk'))
-
- platform_root = os.environ.get('_PLATFORMROOT', os.path.join(wince_root, 'platform'))
- sdk_root = os.environ.get('_SDKROOT' ,os.path.join(wince_root, 'sdk'))
-
- host_cpu = os.environ.get('_HOSTCPUTYPE', 'i386')
- target_cpu = os.environ.get('_TGTCPU', 'x86')
-
- if env['debug']:
- build = 'debug'
- else:
- build = 'retail'
-
- try:
- project_root = os.environ['_PROJECTROOT']
- except KeyError:
- # No project root defined -- use the common stuff instead
- project_root = os.path.join(wince_root, 'public', 'common')
-
- exe_paths.append( os.path.join(sdk_root, 'bin', host_cpu) )
- exe_paths.append( os.path.join(sdk_root, 'bin', host_cpu, target_cpu) )
- exe_paths.append( os.path.join(wince_root, 'common', 'oak', 'bin', host_cpu) )
- exe_paths.append( os.path.join(wince_root, 'common', 'oak', 'misc') )
-
- include_paths.append( os.path.join(project_root, 'sdk', 'inc') )
- include_paths.append( os.path.join(project_root, 'oak', 'inc') )
- include_paths.append( os.path.join(project_root, 'ddk', 'inc') )
- include_paths.append( os.path.join(sdk_root, 'CE', 'inc') )
-
- lib_paths.append( os.path.join(project_root, 'sdk', 'lib', target_cpu, build) )
- lib_paths.append( os.path.join(project_root, 'oak', 'lib', target_cpu, build) )
- lib_paths.append( os.path.join(project_root, 'ddk', 'lib', target_cpu, build) )
-
- include_path = string.join( include_paths, os.pathsep )
- lib_path = string.join(lib_paths, os.pathsep )
- exe_path = string.join(exe_paths, os.pathsep )
- return (include_path, lib_path, exe_path)
-
-def generate(env):
-
- msvc_sa.generate(env)
- mslib_sa.generate(env)
- mslink_sa.generate(env)
-
- if not env.has_key('ENV'):
- env['ENV'] = {}
-
- try:
- include_path, lib_path, exe_path = get_wce600_paths(env)
-
- env.PrependENVPath('INCLUDE', include_path)
- env.PrependENVPath('LIB', lib_path)
- env.PrependENVPath('PATH', exe_path)
- except (SCons.Util.RegError, SCons.Errors.InternalError):
- pass
-
-def exists(env):
- return get_wce600_root(env) is not None
-
-# vim:set ts=4 sw=4 et:
diff --git a/scons/winddk.py b/scons/winddk.py
deleted file mode 100644
index 4dac16ee66..0000000000
--- a/scons/winddk.py
+++ /dev/null
@@ -1,148 +0,0 @@
-"""winddk
-
-Tool-specific initialization for Microsoft Windows DDK.
-
-"""
-
-#
-# Copyright (c) 2001-2007 The SCons Foundation
-# Copyright (c) 2008 Tungsten Graphics, Inc.
-#
-# 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.
-#
-
-import os.path
-import re
-import string
-
-import SCons.Action
-import SCons.Builder
-import SCons.Errors
-import SCons.Platform.win32
-import SCons.Tool
-import SCons.Util
-import SCons.Warnings
-
-import msvc_sa
-import mslib_sa
-import mslink_sa
-
-versions = [
- '6001.18002',
- '3790.1830',
-]
-
-def cpu_bin(target_cpu):
- if target_cpu == 'i386':
- return 'x86'
- else:
- return target_cpu
-
-def get_winddk_root(env, version):
- default_path = os.path.join(r'C:\WINDDK', version)
- if os.path.exists(default_path):
- return default_path
- return None
-
-def get_winddk_paths(env, version, root):
- version_major, version_minor = map(int, version.split('.'))
-
- if version_major >= 6000:
- target_os = 'wlh'
- else:
- target_os = 'wxp'
-
- if env['machine'] in ('generic', 'x86'):
- target_cpu = 'i386'
- elif env['machine'] == 'x86_64':
- target_cpu = 'amd64'
- else:
- raise SCons.Errors.InternalError, "Unsupported target machine"
-
- if version_major >= 6000:
- # TODO: take in consideration the host cpu
- bin_dir = os.path.join(root, 'bin', 'x86', cpu_bin(target_cpu))
- else:
- if target_cpu == 'i386':
- bin_dir = os.path.join(root, 'bin', 'x86')
- else:
- # TODO: take in consideration the host cpu
- bin_dir = os.path.join(root, 'bin', 'win64', 'x86', cpu_bin(target_cpu))
-
- crt_inc_dir = os.path.join(root, 'inc', 'crt')
- if version_major >= 6000:
- sdk_inc_dir = os.path.join(root, 'inc', 'api')
- ddk_inc_dir = os.path.join(root, 'inc', 'ddk')
- wdm_inc_dir = os.path.join(root, 'inc', 'ddk')
- else:
- ddk_inc_dir = os.path.join(root, 'inc', 'ddk', target_os)
- sdk_inc_dir = os.path.join(root, 'inc', target_os)
- wdm_inc_dir = os.path.join(root, 'inc', 'ddk', 'wdm', target_os)
-
- if env['toolchain'] == 'winddk':
- env.PrependENVPath('PATH', [bin_dir])
- env.PrependENVPath('INCLUDE', [
- wdm_inc_dir,
- ddk_inc_dir,
- crt_inc_dir,
- sdk_inc_dir,
- ])
- env.PrependENVPath('LIB', [
- os.path.join(root, 'lib', 'crt', target_cpu),
- os.path.join(root, 'lib', target_os, target_cpu),
- ])
- elif env['toolchain'] == 'crossmingw':
- env.Prepend(CPPFLAGS = [
- '-isystem', ddk_inc_dir,
- '-isystem', sdk_inc_dir,
- ])
- else:
- env.Prepend(CPPPATH = [
- wdm_inc_dir,
- ddk_inc_dir,
- sdk_inc_dir,
- ])
- env.Prepend(LIBPATH = [
- os.path.join(root, 'lib', target_os, target_cpu),
- ])
-
-
-def generate(env):
- if not env.has_key('ENV'):
- env['ENV'] = {}
-
- for version in versions:
- root = get_winddk_root(env, version)
- if root is not None:
- get_winddk_paths(env, version, root)
- break
-
- if env['toolchain'] == 'winddk':
- msvc_sa.generate(env)
- mslib_sa.generate(env)
- mslink_sa.generate(env)
-
-def exists(env):
- for version in versions:
- if get_winddk_root(env, version) is not None:
- return True
- return False
-
-# vim:set ts=4 sw=4 et:
diff --git a/scons/winsdk.py b/scons/winsdk.py
deleted file mode 100644
index 7e874a507b..0000000000
--- a/scons/winsdk.py
+++ /dev/null
@@ -1,131 +0,0 @@
-"""winsdk
-
-Tool-specific initialization for Microsoft Windows SDK.
-
-"""
-
-#
-# Copyright (c) 2001-2007 The SCons Foundation
-# Copyright (c) 2008 Tungsten Graphics, Inc.
-# Copyright (c) 2009 VMware, Inc.
-#
-# 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.
-#
-
-import os.path
-import platform
-
-import SCons.Errors
-import SCons.Util
-
-import msvc_sa
-import mslib_sa
-import mslink_sa
-
-
-def get_vs_root(env):
- # TODO: Check HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\SxS\VS7
- path = os.path.join(os.getenv('ProgramFiles', r'C:\Program Files'), 'Microsoft Visual Studio 9.0')
- return path
-
-def get_vs_paths(env):
- vs_root = get_vs_root(env)
- if vs_root is None:
- raise SCons.Errors.InternalError, "WINSDK compiler not found"
-
- tool_path = os.path.join(vs_root, 'Common7', 'IDE')
-
- env.PrependENVPath('PATH', tool_path)
-
-def get_vc_root(env):
- # TODO: Check HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\SxS\VC7
- path = os.path.join(os.getenv('ProgramFiles', r'C:\Program Files'), 'Microsoft Visual Studio 9.0', 'VC')
- return path
-
-def get_vc_paths(env):
- vc_root = get_vc_root(env)
- if vc_root is None:
- raise SCons.Errors.InternalError, "WINSDK compiler not found"
-
- target_cpu = env['machine']
-
- if target_cpu in ('generic', 'x86'):
- bin_dir = 'bin'
- lib_dir = 'lib'
- elif target_cpu == 'x86_64':
- # TODO: take in consideration the host cpu
- bin_dir = r'bin\x86_amd64'
- lib_dir = r'lib\amd64'
- else:
- raise SCons.Errors.InternalError, "Unsupported target machine"
- include_dir = 'include'
-
- env.PrependENVPath('PATH', os.path.join(vc_root, bin_dir))
- env.PrependENVPath('INCLUDE', os.path.join(vc_root, include_dir))
- env.PrependENVPath('LIB', os.path.join(vc_root, lib_dir))
-
-def get_sdk_root(env):
- if SCons.Util.can_read_reg:
- key = r'SOFTWARE\Microsoft\Microsoft SDKs\Windows\CurrentInstallFolder'
- try:
- path, t = SCons.Util.RegGetValue(SCons.Util.HKEY_LOCAL_MACHINE, key)
- except SCons.Util.RegError:
- pass
- else:
- return path
-
- return None
-
-def get_sdk_paths(env):
- sdk_root = get_sdk_root(env)
- if sdk_root is None:
- raise SCons.Errors.InternalError, "WINSDK not found"
-
- target_cpu = env['machine']
-
- bin_dir = 'Bin'
- if target_cpu in ('generic', 'x86'):
- lib_dir = 'Lib'
- elif target_cpu == 'x86_64':
- lib_dir = r'Lib\x64'
- else:
- raise SCons.Errors.InternalError, "Unsupported target machine"
- include_dir = 'Include'
-
- env.PrependENVPath('PATH', os.path.join(sdk_root, bin_dir))
- env.PrependENVPath('INCLUDE', os.path.join(sdk_root, include_dir))
- env.PrependENVPath('LIB', os.path.join(sdk_root, lib_dir))
-
-def generate(env):
- if not env.has_key('ENV'):
- env['ENV'] = {}
-
- get_vs_paths(env)
- get_vc_paths(env)
- get_sdk_paths(env)
-
- msvc_sa.generate(env)
- mslib_sa.generate(env)
- mslink_sa.generate(env)
-
-def exists(env):
- return get_vc_root(env) is not None and get_sdk_root(env) is not None
-
-# vim:set ts=4 sw=4 et:
diff --git a/src/driclient/include/driclient.h b/src/driclient/include/driclient.h
deleted file mode 100644
index d391525039..0000000000
--- a/src/driclient/include/driclient.h
+++ /dev/null
@@ -1,97 +0,0 @@
-#ifndef driclient_h
-#define driclient_h
-
-#include <stdint.h>
-#include <X11/Xlib.h>
-#include <drm_sarea.h>
-#include "xf86dri.h"
-
-/* TODO: Bring in DRI XML options */
-
-typedef struct dri_version
-{
- int major;
- int minor;
- int patch;
-} dri_version_t;
-
-typedef struct dri_screen
-{
- Display *display;
- unsigned int num;
- dri_version_t ddx, dri, drm;
- int draw_lock_id;
- int fd;
- drm_sarea_t *sarea;
- void *drawable_hash;
- void *private;
-} dri_screen_t;
-
-struct dri_context;
-
-typedef struct dri_drawable
-{
- drm_drawable_t drm_drawable;
- Drawable x_drawable;
- unsigned int sarea_index;
- unsigned int *sarea_stamp;
- unsigned int last_sarea_stamp;
- int x, y, w, h;
- int back_x, back_y;
- int num_cliprects, num_back_cliprects;
- drm_clip_rect_t *cliprects, *back_cliprects;
- dri_screen_t *dri_screen;
- unsigned int refcount;
- void *private;
-} dri_drawable_t;
-
-typedef struct dri_context
-{
- XID id;
- drm_context_t drm_context;
- dri_screen_t *dri_screen;
- void *private;
-} dri_context_t;
-
-typedef struct dri_framebuffer
-{
- drm_handle_t drm_handle;
- int base, size, stride;
- int private_size;
- void *private;
-} dri_framebuffer_t;
-
-int driCreateScreen(Display *display, int screen, dri_screen_t **dri_screen, dri_framebuffer_t *dri_framebuf);
-int driDestroyScreen(dri_screen_t *dri_screen);
-int driCreateDrawable(dri_screen_t *dri_screen, Drawable drawable, dri_drawable_t **dri_drawable);
-int driUpdateDrawableInfo(dri_drawable_t *dri_drawable);
-int driDestroyDrawable(dri_drawable_t *dri_drawable);
-int driCreateContext(dri_screen_t *dri_screen, Visual *visual, dri_context_t **dri_context);
-int driDestroyContext(dri_context_t *dri_context);
-
-#define DRI_VALIDATE_DRAWABLE_INFO_ONCE(dri_drawable) \
-do \
-{ \
- if (*(dri_drawable->sarea_stamp) != dri_drawable->last_sarea_stamp) \
- driUpdateDrawableInfo(dri_drawable); \
-} while (0)
-
-#define DRI_VALIDATE_DRAWABLE_INFO(dri_screen, dri_drawable) \
-do \
-{ \
- while (*(dri_drawable->sarea_stamp) != dri_drawable->last_sarea_stamp) \
- { \
- register unsigned int hwContext = dri_screen->sarea->lock.lock & \
- ~(DRM_LOCK_HELD | DRM_LOCK_CONT); \
- DRM_UNLOCK(dri_screen->fd, &dri_screen->sarea->lock, hwContext); \
- \
- DRM_SPINLOCK(&dri_screen->sarea->drawable_lock, dri_screen->draw_lock_id); \
- DRI_VALIDATE_DRAWABLE_INFO_ONCE(dri_drawable); \
- DRM_SPINUNLOCK(&dri_screen->sarea->drawable_lock, dri_screen->draw_lock_id); \
- \
- DRM_LIGHT_LOCK(dri_screen->fd, &dri_screen->sarea->lock, hwContext); \
- } \
-} while (0)
-
-#endif
-
diff --git a/src/driclient/include/xf86dri.h b/src/driclient/include/xf86dri.h
deleted file mode 100644
index baf80a7a9d..0000000000
--- a/src/driclient/include/xf86dri.h
+++ /dev/null
@@ -1,119 +0,0 @@
-/**************************************************************************
-
-Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
-Copyright 2000 VA Linux Systems, Inc.
-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, sub license, 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 (including the
-next paragraph) 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 NON-INFRINGEMENT.
-IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS 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.
-
-**************************************************************************/
-
-/**
- * \file xf86dri.h
- * Protocol numbers and function prototypes for DRI X protocol.
- *
- * \author Kevin E. Martin <martin@valinux.com>
- * \author Jens Owen <jens@tungstengraphics.com>
- * \author Rickard E. (Rik) Faith <faith@valinux.com>
- */
-
-#ifndef _XF86DRI_H_
-#define _XF86DRI_H_
-
-#include <X11/Xfuncproto.h>
-#include <xf86drm.h>
-
-#define X_XF86DRIQueryVersion 0
-#define X_XF86DRIQueryDirectRenderingCapable 1
-#define X_XF86DRIOpenConnection 2
-#define X_XF86DRICloseConnection 3
-#define X_XF86DRIGetClientDriverName 4
-#define X_XF86DRICreateContext 5
-#define X_XF86DRIDestroyContext 6
-#define X_XF86DRICreateDrawable 7
-#define X_XF86DRIDestroyDrawable 8
-#define X_XF86DRIGetDrawableInfo 9
-#define X_XF86DRIGetDeviceInfo 10
-#define X_XF86DRIAuthConnection 11
-#define X_XF86DRIOpenFullScreen 12 /* Deprecated */
-#define X_XF86DRICloseFullScreen 13 /* Deprecated */
-
-#define XF86DRINumberEvents 0
-
-#define XF86DRIClientNotLocal 0
-#define XF86DRIOperationNotSupported 1
-#define XF86DRINumberErrors (XF86DRIOperationNotSupported + 1)
-
-#ifndef _XF86DRI_SERVER_
-
-_XFUNCPROTOBEGIN
-
-Bool XF86DRIQueryExtension( Display *dpy, int *event_base, int *error_base );
-
-Bool XF86DRIQueryVersion( Display *dpy, int *majorVersion, int *minorVersion,
- int *patchVersion );
-
-Bool XF86DRIQueryDirectRenderingCapable( Display *dpy, int screen,
- Bool *isCapable );
-
-Bool XF86DRIOpenConnection( Display *dpy, int screen, drm_handle_t *hSAREA,
- char **busIDString );
-
-Bool XF86DRIAuthConnection( Display *dpy, int screen, drm_magic_t magic );
-
-Bool XF86DRICloseConnection( Display *dpy, int screen );
-
-Bool XF86DRIGetClientDriverName( Display *dpy, int screen,
- int *ddxDriverMajorVersion, int *ddxDriverMinorVersion,
- int *ddxDriverPatchVersion, char **clientDriverName );
-
-Bool XF86DRICreateContext( Display *dpy, int screen, Visual *visual,
- XID *ptr_to_returned_context_id, drm_context_t *hHWContext );
-
-Bool XF86DRICreateContextWithConfig( Display *dpy, int screen, int configID,
- XID *ptr_to_returned_context_id, drm_context_t *hHWContext );
-
-Bool XF86DRIDestroyContext( Display *dpy, int screen,
- XID context_id );
-
-Bool XF86DRICreateDrawable( Display *dpy, int screen,
- Drawable drawable, drm_drawable_t *hHWDrawable );
-
-Bool XF86DRIDestroyDrawable( Display *dpy, int screen,
- Drawable drawable);
-
-Bool XF86DRIGetDrawableInfo( Display *dpy, int screen, Drawable drawable,
- unsigned int *index, unsigned int *stamp,
- int *X, int *Y, int *W, int *H,
- int *numClipRects, drm_clip_rect_t ** pClipRects,
- int *backX, int *backY,
- int *numBackClipRects, drm_clip_rect_t **pBackClipRects );
-
-Bool XF86DRIGetDeviceInfo( Display *dpy, int screen,
- drm_handle_t *hFrameBuffer, int *fbOrigin, int *fbSize,
- int *fbStride, int *devPrivateSize, void **pDevPrivate );
-
-_XFUNCPROTOEND
-
-#endif /* _XF86DRI_SERVER_ */
-
-#endif /* _XF86DRI_H_ */
-
diff --git a/src/driclient/src/Makefile b/src/driclient/src/Makefile
deleted file mode 100644
index 34435a2086..0000000000
--- a/src/driclient/src/Makefile
+++ /dev/null
@@ -1,19 +0,0 @@
-TARGET = libdriclient.a
-OBJECTS = driclient.o XF86dri.o
-DRMDIR ?= /usr
-
-CFLAGS += -g -Wall -fPIC -I../include -I${DRMDIR}/include -I${DRMDIR}/include/drm
-
-#############################################
-
-.PHONY = all clean
-
-all: ${TARGET}
-
-${TARGET}: ${OBJECTS}
- ar rcs $@ $^
- if ! test -d ../lib; then mkdir ../lib; fi
- cp ${TARGET} ../lib
-
-clean:
- rm -rf ${OBJECTS} ${TARGET} ../lib/${TARGET}
diff --git a/src/driclient/src/XF86dri.c b/src/driclient/src/XF86dri.c
deleted file mode 100644
index 9e359a9238..0000000000
--- a/src/driclient/src/XF86dri.c
+++ /dev/null
@@ -1,619 +0,0 @@
-/**************************************************************************
-
-Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
-Copyright 2000 VA Linux Systems, Inc.
-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, sub license, 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 (including the
-next paragraph) 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 NON-INFRINGEMENT.
-IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS 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.
-
-**************************************************************************/
-
-/*
- * Authors:
- * Kevin E. Martin <martin@valinux.com>
- * Jens Owen <jens@tungstengraphics.com>
- * Rickard E. (Rik) Faith <faith@valinux.com>
- *
- */
-
-/* THIS IS NOT AN X CONSORTIUM STANDARD */
-
-#define NEED_REPLIES
-#include <X11/Xlibint.h>
-#include <X11/extensions/Xext.h>
-#include <X11/extensions/extutil.h>
-#include "xf86dristr.h"
-
-static XExtensionInfo _xf86dri_info_data;
-static XExtensionInfo *xf86dri_info = &_xf86dri_info_data;
-static char xf86dri_extension_name[] = XF86DRINAME;
-
-#define XF86DRICheckExtension(dpy,i,val) \
- XextCheckExtension (dpy, i, xf86dri_extension_name, val)
-
-/*****************************************************************************
- * *
- * private utility routines *
- * *
- *****************************************************************************/
-
-static int close_display(Display *dpy, XExtCodes *extCodes);
-static /* const */ XExtensionHooks xf86dri_extension_hooks = {
- NULL, /* create_gc */
- NULL, /* copy_gc */
- NULL, /* flush_gc */
- NULL, /* free_gc */
- NULL, /* create_font */
- NULL, /* free_font */
- close_display, /* close_display */
- NULL, /* wire_to_event */
- NULL, /* event_to_wire */
- NULL, /* error */
- NULL, /* error_string */
-};
-
-static XEXT_GENERATE_FIND_DISPLAY (find_display, xf86dri_info,
- xf86dri_extension_name,
- &xf86dri_extension_hooks,
- 0, NULL)
-
-static XEXT_GENERATE_CLOSE_DISPLAY (close_display, xf86dri_info)
-
-
-/*****************************************************************************
- * *
- * public XFree86-DRI Extension routines *
- * *
- *****************************************************************************/
-
-#if 0
-#include <stdio.h>
-#define TRACE(msg) fprintf(stderr,"XF86DRI%s\n", msg);
-#else
-#define TRACE(msg)
-#endif
-
-#define PUBLIC
-
-PUBLIC Bool XF86DRIQueryExtension (dpy, event_basep, error_basep)
- Display *dpy;
- int *event_basep, *error_basep;
-{
- XExtDisplayInfo *info = find_display (dpy);
-
- TRACE("QueryExtension...");
- if (XextHasExtension(info)) {
- *event_basep = info->codes->first_event;
- *error_basep = info->codes->first_error;
- TRACE("QueryExtension... return True");
- return True;
- } else {
- TRACE("QueryExtension... return False");
- return False;
- }
-}
-
-PUBLIC Bool XF86DRIQueryVersion(dpy, majorVersion, minorVersion, patchVersion)
- Display* dpy;
- int* majorVersion;
- int* minorVersion;
- int* patchVersion;
-{
- XExtDisplayInfo *info = find_display (dpy);
- xXF86DRIQueryVersionReply rep;
- xXF86DRIQueryVersionReq *req;
-
- TRACE("QueryVersion...");
- XF86DRICheckExtension (dpy, info, False);
-
- LockDisplay(dpy);
- GetReq(XF86DRIQueryVersion, req);
- req->reqType = info->codes->major_opcode;
- req->driReqType = X_XF86DRIQueryVersion;
- if (!_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
- UnlockDisplay(dpy);
- SyncHandle();
- TRACE("QueryVersion... return False");
- return False;
- }
- *majorVersion = rep.majorVersion;
- *minorVersion = rep.minorVersion;
- *patchVersion = rep.patchVersion;
- UnlockDisplay(dpy);
- SyncHandle();
- TRACE("QueryVersion... return True");
- return True;
-}
-
-PUBLIC Bool XF86DRIQueryDirectRenderingCapable(dpy, screen, isCapable)
- Display* dpy;
- int screen;
- Bool* isCapable;
-{
- XExtDisplayInfo *info = find_display (dpy);
- xXF86DRIQueryDirectRenderingCapableReply rep;
- xXF86DRIQueryDirectRenderingCapableReq *req;
-
- TRACE("QueryDirectRenderingCapable...");
- XF86DRICheckExtension (dpy, info, False);
-
- LockDisplay(dpy);
- GetReq(XF86DRIQueryDirectRenderingCapable, req);
- req->reqType = info->codes->major_opcode;
- req->driReqType = X_XF86DRIQueryDirectRenderingCapable;
- req->screen = screen;
- if (!_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
- UnlockDisplay(dpy);
- SyncHandle();
- TRACE("QueryDirectRenderingCapable... return False");
- return False;
- }
- *isCapable = rep.isCapable;
- UnlockDisplay(dpy);
- SyncHandle();
- TRACE("QueryDirectRenderingCapable... return True");
- return True;
-}
-
-PUBLIC Bool XF86DRIOpenConnection(dpy, screen, hSAREA, busIdString)
- Display* dpy;
- int screen;
- drm_handle_t * hSAREA;
- char **busIdString;
-{
- XExtDisplayInfo *info = find_display (dpy);
- xXF86DRIOpenConnectionReply rep;
- xXF86DRIOpenConnectionReq *req;
-
- TRACE("OpenConnection...");
- XF86DRICheckExtension (dpy, info, False);
-
- LockDisplay(dpy);
- GetReq(XF86DRIOpenConnection, req);
- req->reqType = info->codes->major_opcode;
- req->driReqType = X_XF86DRIOpenConnection;
- req->screen = screen;
- if (!_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
- UnlockDisplay(dpy);
- SyncHandle();
- TRACE("OpenConnection... return False");
- return False;
- }
-
- *hSAREA = rep.hSAREALow;
- if (sizeof(drm_handle_t) == 8) {
- int shift = 32; /* var to prevent warning on next line */
- *hSAREA |= ((drm_handle_t) rep.hSAREAHigh) << shift;
- }
-
- if (rep.length) {
- if (!(*busIdString = (char *)Xcalloc(rep.busIdStringLength + 1, 1))) {
- _XEatData(dpy, ((rep.busIdStringLength+3) & ~3));
- UnlockDisplay(dpy);
- SyncHandle();
- TRACE("OpenConnection... return False");
- return False;
- }
- _XReadPad(dpy, *busIdString, rep.busIdStringLength);
- } else {
- *busIdString = NULL;
- }
- UnlockDisplay(dpy);
- SyncHandle();
- TRACE("OpenConnection... return True");
- return True;
-}
-
-PUBLIC Bool XF86DRIAuthConnection(dpy, screen, magic)
- Display* dpy;
- int screen;
- drm_magic_t magic;
-{
- XExtDisplayInfo *info = find_display (dpy);
- xXF86DRIAuthConnectionReq *req;
- xXF86DRIAuthConnectionReply rep;
-
- TRACE("AuthConnection...");
- XF86DRICheckExtension (dpy, info, False);
-
- LockDisplay(dpy);
- GetReq(XF86DRIAuthConnection, req);
- req->reqType = info->codes->major_opcode;
- req->driReqType = X_XF86DRIAuthConnection;
- req->screen = screen;
- req->magic = magic;
- rep.authenticated = 0;
- if (!_XReply(dpy, (xReply *)&rep, 0, xFalse) || !rep.authenticated) {
- UnlockDisplay(dpy);
- SyncHandle();
- TRACE("AuthConnection... return False");
- return False;
- }
- UnlockDisplay(dpy);
- SyncHandle();
- TRACE("AuthConnection... return True");
- return True;
-}
-
-PUBLIC Bool XF86DRICloseConnection(dpy, screen)
- Display* dpy;
- int screen;
-{
- XExtDisplayInfo *info = find_display (dpy);
- xXF86DRICloseConnectionReq *req;
-
- TRACE("CloseConnection...");
-
- XF86DRICheckExtension (dpy, info, False);
-
- LockDisplay(dpy);
- GetReq(XF86DRICloseConnection, req);
- req->reqType = info->codes->major_opcode;
- req->driReqType = X_XF86DRICloseConnection;
- req->screen = screen;
- UnlockDisplay(dpy);
- SyncHandle();
- TRACE("CloseConnection... return True");
- return True;
-}
-
-PUBLIC Bool XF86DRIGetClientDriverName(dpy, screen, ddxDriverMajorVersion,
- ddxDriverMinorVersion, ddxDriverPatchVersion, clientDriverName)
- Display* dpy;
- int screen;
- int* ddxDriverMajorVersion;
- int* ddxDriverMinorVersion;
- int* ddxDriverPatchVersion;
- char** clientDriverName;
-{
- XExtDisplayInfo *info = find_display (dpy);
- xXF86DRIGetClientDriverNameReply rep;
- xXF86DRIGetClientDriverNameReq *req;
-
- TRACE("GetClientDriverName...");
- XF86DRICheckExtension (dpy, info, False);
-
- LockDisplay(dpy);
- GetReq(XF86DRIGetClientDriverName, req);
- req->reqType = info->codes->major_opcode;
- req->driReqType = X_XF86DRIGetClientDriverName;
- req->screen = screen;
- if (!_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
- UnlockDisplay(dpy);
- SyncHandle();
- TRACE("GetClientDriverName... return False");
- return False;
- }
-
- *ddxDriverMajorVersion = rep.ddxDriverMajorVersion;
- *ddxDriverMinorVersion = rep.ddxDriverMinorVersion;
- *ddxDriverPatchVersion = rep.ddxDriverPatchVersion;
-
- if (rep.length) {
- if (!(*clientDriverName = (char *)Xcalloc(rep.clientDriverNameLength + 1, 1))) {
- _XEatData(dpy, ((rep.clientDriverNameLength+3) & ~3));
- UnlockDisplay(dpy);
- SyncHandle();
- TRACE("GetClientDriverName... return False");
- return False;
- }
- _XReadPad(dpy, *clientDriverName, rep.clientDriverNameLength);
- } else {
- *clientDriverName = NULL;
- }
- UnlockDisplay(dpy);
- SyncHandle();
- TRACE("GetClientDriverName... return True");
- return True;
-}
-
-PUBLIC Bool XF86DRICreateContextWithConfig(dpy, screen, configID, context,
- hHWContext)
- Display* dpy;
- int screen;
- int configID;
- XID* context;
- drm_context_t * hHWContext;
-{
- XExtDisplayInfo *info = find_display (dpy);
- xXF86DRICreateContextReply rep;
- xXF86DRICreateContextReq *req;
-
- TRACE("CreateContext...");
- XF86DRICheckExtension (dpy, info, False);
-
- LockDisplay(dpy);
- GetReq(XF86DRICreateContext, req);
- req->reqType = info->codes->major_opcode;
- req->driReqType = X_XF86DRICreateContext;
- req->visual = configID;
- req->screen = screen;
- *context = XAllocID(dpy);
- req->context = *context;
- if (!_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
- UnlockDisplay(dpy);
- SyncHandle();
- TRACE("CreateContext... return False");
- return False;
- }
- *hHWContext = rep.hHWContext;
- UnlockDisplay(dpy);
- SyncHandle();
- TRACE("CreateContext... return True");
- return True;
-}
-
-PUBLIC Bool XF86DRICreateContext(dpy, screen, visual, context, hHWContext)
- Display* dpy;
- int screen;
- Visual* visual;
- XID* context;
- drm_context_t * hHWContext;
-{
- return XF86DRICreateContextWithConfig( dpy, screen, visual->visualid,
- context, hHWContext );
-}
-
-PUBLIC Bool XF86DRIDestroyContext( Display * ndpy, int screen,
- XID context )
-{
- Display * const dpy = (Display *) ndpy;
- XExtDisplayInfo *info = find_display (dpy);
- xXF86DRIDestroyContextReq *req;
-
- TRACE("DestroyContext...");
- XF86DRICheckExtension (dpy, info, False);
-
- LockDisplay(dpy);
- GetReq(XF86DRIDestroyContext, req);
- req->reqType = info->codes->major_opcode;
- req->driReqType = X_XF86DRIDestroyContext;
- req->screen = screen;
- req->context = context;
- UnlockDisplay(dpy);
- SyncHandle();
- TRACE("DestroyContext... return True");
- return True;
-}
-
-PUBLIC Bool XF86DRICreateDrawable( Display * ndpy, int screen,
- Drawable drawable, drm_drawable_t * hHWDrawable )
-{
- Display * const dpy = (Display *) ndpy;
- XExtDisplayInfo *info = find_display (dpy);
- xXF86DRICreateDrawableReply rep;
- xXF86DRICreateDrawableReq *req;
-
- TRACE("CreateDrawable...");
- XF86DRICheckExtension (dpy, info, False);
-
- LockDisplay(dpy);
- GetReq(XF86DRICreateDrawable, req);
- req->reqType = info->codes->major_opcode;
- req->driReqType = X_XF86DRICreateDrawable;
- req->screen = screen;
- req->drawable = drawable;
- if (!_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
- UnlockDisplay(dpy);
- SyncHandle();
- TRACE("CreateDrawable... return False");
- return False;
- }
- *hHWDrawable = rep.hHWDrawable;
- UnlockDisplay(dpy);
- SyncHandle();
- TRACE("CreateDrawable... return True");
- return True;
-}
-
-PUBLIC Bool XF86DRIDestroyDrawable( Display * ndpy, int screen,
- Drawable drawable )
-{
- Display * const dpy = (Display *) ndpy;
- XExtDisplayInfo *info = find_display (dpy);
- xXF86DRIDestroyDrawableReq *req;
-
- TRACE("DestroyDrawable...");
- XF86DRICheckExtension (dpy, info, False);
-
- LockDisplay(dpy);
- GetReq(XF86DRIDestroyDrawable, req);
- req->reqType = info->codes->major_opcode;
- req->driReqType = X_XF86DRIDestroyDrawable;
- req->screen = screen;
- req->drawable = drawable;
- UnlockDisplay(dpy);
- SyncHandle();
- TRACE("DestroyDrawable... return True");
- return True;
-}
-
-PUBLIC Bool XF86DRIGetDrawableInfo(Display* dpy, int screen, Drawable drawable,
- unsigned int* index, unsigned int* stamp,
- int* X, int* Y, int* W, int* H,
- int* numClipRects, drm_clip_rect_t ** pClipRects,
- int* backX, int* backY,
- int* numBackClipRects, drm_clip_rect_t ** pBackClipRects )
-{
- XExtDisplayInfo *info = find_display (dpy);
- xXF86DRIGetDrawableInfoReply rep;
- xXF86DRIGetDrawableInfoReq *req;
- int total_rects;
-
- TRACE("GetDrawableInfo...");
- XF86DRICheckExtension (dpy, info, False);
-
- LockDisplay(dpy);
- GetReq(XF86DRIGetDrawableInfo, req);
- req->reqType = info->codes->major_opcode;
- req->driReqType = X_XF86DRIGetDrawableInfo;
- req->screen = screen;
- req->drawable = drawable;
-
- if (!_XReply(dpy, (xReply *)&rep, 1, xFalse))
- {
- UnlockDisplay(dpy);
- SyncHandle();
- TRACE("GetDrawableInfo... return False");
- return False;
- }
- *index = rep.drawableTableIndex;
- *stamp = rep.drawableTableStamp;
- *X = (int)rep.drawableX;
- *Y = (int)rep.drawableY;
- *W = (int)rep.drawableWidth;
- *H = (int)rep.drawableHeight;
- *numClipRects = rep.numClipRects;
- total_rects = *numClipRects;
-
- *backX = rep.backX;
- *backY = rep.backY;
- *numBackClipRects = rep.numBackClipRects;
- total_rects += *numBackClipRects;
-
-#if 0
- /* Because of the fix in Xserver/GL/dri/xf86dri.c, this check breaks
- * backwards compatibility (Because of the >> 2 shift) but the fix
- * enables multi-threaded apps to work.
- */
- if (rep.length != ((((SIZEOF(xXF86DRIGetDrawableInfoReply) -
- SIZEOF(xGenericReply) +
- total_rects * sizeof(drm_clip_rect_t)) + 3) & ~3) >> 2)) {
- _XEatData(dpy, rep.length);
- UnlockDisplay(dpy);
- SyncHandle();
- TRACE("GetDrawableInfo... return False");
- return False;
- }
-#endif
-
- if (*numClipRects) {
- int len = sizeof(drm_clip_rect_t) * (*numClipRects);
-
- *pClipRects = (drm_clip_rect_t *)Xcalloc(len, 1);
- if (*pClipRects)
- _XRead(dpy, (char*)*pClipRects, len);
- } else {
- *pClipRects = NULL;
- }
-
- if (*numBackClipRects) {
- int len = sizeof(drm_clip_rect_t) * (*numBackClipRects);
-
- *pBackClipRects = (drm_clip_rect_t *)Xcalloc(len, 1);
- if (*pBackClipRects)
- _XRead(dpy, (char*)*pBackClipRects, len);
- } else {
- *pBackClipRects = NULL;
- }
-
- UnlockDisplay(dpy);
- SyncHandle();
- TRACE("GetDrawableInfo... return True");
- return True;
-}
-
-PUBLIC Bool XF86DRIGetDeviceInfo(dpy, screen, hFrameBuffer,
- fbOrigin, fbSize, fbStride, devPrivateSize, pDevPrivate)
- Display* dpy;
- int screen;
- drm_handle_t * hFrameBuffer;
- int* fbOrigin;
- int* fbSize;
- int* fbStride;
- int* devPrivateSize;
- void** pDevPrivate;
-{
- XExtDisplayInfo *info = find_display (dpy);
- xXF86DRIGetDeviceInfoReply rep;
- xXF86DRIGetDeviceInfoReq *req;
-
- TRACE("GetDeviceInfo...");
- XF86DRICheckExtension (dpy, info, False);
-
- LockDisplay(dpy);
- GetReq(XF86DRIGetDeviceInfo, req);
- req->reqType = info->codes->major_opcode;
- req->driReqType = X_XF86DRIGetDeviceInfo;
- req->screen = screen;
- if (!_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
- UnlockDisplay(dpy);
- SyncHandle();
- TRACE("GetDeviceInfo... return False");
- return False;
- }
-
- *hFrameBuffer = rep.hFrameBufferLow;
- if (sizeof(drm_handle_t) == 8) {
- int shift = 32; /* var to prevent warning on next line */
- *hFrameBuffer |= ((drm_handle_t) rep.hFrameBufferHigh) << shift;
- }
-
- *fbOrigin = rep.framebufferOrigin;
- *fbSize = rep.framebufferSize;
- *fbStride = rep.framebufferStride;
- *devPrivateSize = rep.devPrivateSize;
-
- if (rep.length) {
- if (!(*pDevPrivate = (void *)Xcalloc(rep.devPrivateSize, 1))) {
- _XEatData(dpy, ((rep.devPrivateSize+3) & ~3));
- UnlockDisplay(dpy);
- SyncHandle();
- TRACE("GetDeviceInfo... return False");
- return False;
- }
- _XRead(dpy, (char*)*pDevPrivate, rep.devPrivateSize);
- } else {
- *pDevPrivate = NULL;
- }
-
- UnlockDisplay(dpy);
- SyncHandle();
- TRACE("GetDeviceInfo... return True");
- return True;
-}
-
-PUBLIC Bool XF86DRIOpenFullScreen(dpy, screen, drawable)
- Display* dpy;
- int screen;
- Drawable drawable;
-{
- /* This function and the underlying X protocol are deprecated.
- */
- (void) dpy;
- (void) screen;
- (void) drawable;
- return False;
-}
-
-PUBLIC Bool XF86DRICloseFullScreen(dpy, screen, drawable)
- Display* dpy;
- int screen;
- Drawable drawable;
-{
- /* This function and the underlying X protocol are deprecated.
- */
- (void) dpy;
- (void) screen;
- (void) drawable;
- return True;
-}
-
diff --git a/src/driclient/src/driclient.c b/src/driclient/src/driclient.c
deleted file mode 100644
index dc2189afec..0000000000
--- a/src/driclient/src/driclient.c
+++ /dev/null
@@ -1,310 +0,0 @@
-#include "driclient.h"
-#include <assert.h>
-#include <stdlib.h>
-
-int driCreateScreen(Display *display, int screen, dri_screen_t **dri_screen, dri_framebuffer_t *dri_framebuf)
-{
- int evbase, errbase;
- char *driver_name;
- int newly_opened;
- drm_magic_t magic;
- drmVersionPtr drm_version;
- drm_handle_t sarea_handle;
- char *bus_id;
- dri_screen_t *dri_scrn;
-
- assert(display);
- assert(dri_screen);
-
- if (!XF86DRIQueryExtension(display, &evbase, &errbase))
- return 1;
-
- dri_scrn = calloc(1, sizeof(dri_screen_t));
-
- if (!dri_scrn)
- return 1;
-
- if (!XF86DRIQueryVersion(display, &dri_scrn->dri.major, &dri_scrn->dri.minor, &dri_scrn->dri.patch))
- goto free_screen;
-
- dri_scrn->display = display;
- dri_scrn->num = screen;
- dri_scrn->draw_lock_id = 1;
-
- if (!XF86DRIOpenConnection(display, screen, &sarea_handle, &bus_id))
- goto free_screen;
-
- dri_scrn->fd = -1;
- dri_scrn->fd = drmOpenOnce(NULL, bus_id, &newly_opened);
- XFree(bus_id);
-
- if (dri_scrn->fd < 0)
- goto close_connection;
-
- if (drmGetMagic(dri_scrn->fd, &magic))
- goto close_drm;
-
- drm_version = drmGetVersion(dri_scrn->fd);
-
- if (!drm_version)
- goto close_drm;
-
- dri_scrn->drm.major = drm_version->version_major;
- dri_scrn->drm.minor = drm_version->version_minor;
- dri_scrn->drm.patch = drm_version->version_patchlevel;
- drmFreeVersion(drm_version);
-
- if (!XF86DRIAuthConnection(display, screen, magic))
- goto close_drm;
-
- if (!XF86DRIGetClientDriverName
- (
- display,
- screen,
- &dri_scrn->ddx.major,
- &dri_scrn->ddx.minor,
- &dri_scrn->ddx.patch,
- &driver_name
- ))
- goto close_drm;
-
- if (drmMap(dri_scrn->fd, sarea_handle, SAREA_MAX, (drmAddress)&dri_scrn->sarea))
- goto close_drm;
-
- dri_scrn->drawable_hash = drmHashCreate();
-
- if (!dri_scrn->drawable_hash)
- goto unmap_sarea;
-
- if (dri_framebuf)
- {
- if (!XF86DRIGetDeviceInfo
- (
- display,
- screen, &dri_framebuf->drm_handle,
- &dri_framebuf->base,
- &dri_framebuf->size,
- &dri_framebuf->stride,
- &dri_framebuf->private_size,
- &dri_framebuf->private
- ))
- goto destroy_hash;
- }
-
- *dri_screen = dri_scrn;
-
- return 0;
-
-destroy_hash:
- drmHashDestroy(dri_scrn->drawable_hash);
-unmap_sarea:
- drmUnmap(dri_scrn->sarea, SAREA_MAX);
-close_drm:
- drmCloseOnce(dri_scrn->fd);
-close_connection:
- XF86DRICloseConnection(display, screen);
-free_screen:
- free(dri_scrn);
-
- return 1;
-}
-
-int driDestroyScreen(dri_screen_t *dri_screen)
-{
- Drawable draw;
- dri_drawable_t *dri_draw;
-
- assert(dri_screen);
-
- if (drmHashFirst(dri_screen->drawable_hash, &draw, (void**)&dri_draw))
- {
- dri_draw->refcount = 1;
- driDestroyDrawable(dri_draw);
-
- while (drmHashNext(dri_screen->drawable_hash, &draw, (void**)&dri_draw))
- {
- dri_draw->refcount = 1;
- driDestroyDrawable(dri_draw);
- }
- }
-
- drmHashDestroy(dri_screen->drawable_hash);
- drmUnmap(dri_screen->sarea, SAREA_MAX);
- drmCloseOnce(dri_screen->fd);
- XF86DRICloseConnection(dri_screen->display, dri_screen->num);
- free(dri_screen);
-
- return 0;
-}
-
-int driCreateDrawable(dri_screen_t *dri_screen, Drawable drawable, dri_drawable_t **dri_drawable)
-{
- int evbase, errbase;
- dri_drawable_t *dri_draw;
-
- assert(dri_screen);
- assert(dri_drawable);
-
- if (!XF86DRIQueryExtension(dri_screen->display, &evbase, &errbase))
- return 1;
-
- if (!drmHashLookup(dri_screen->drawable_hash, drawable, (void**)dri_drawable))
- {
- /* Found */
- (*dri_drawable)->refcount++;
- return 0;
- }
-
- dri_draw = calloc(1, sizeof(dri_drawable_t));
-
- if (!dri_draw)
- return 1;
-
- if (!XF86DRICreateDrawable(dri_screen->display, 0, drawable, &dri_draw->drm_drawable))
- {
- free(dri_draw);
- return 1;
- }
-
- dri_draw->x_drawable = drawable;
- dri_draw->sarea_index = 0;
- dri_draw->sarea_stamp = NULL;
- dri_draw->last_sarea_stamp = 0;
- dri_draw->dri_screen = dri_screen;
- dri_draw->refcount = 1;
-
- if (drmHashInsert(dri_screen->drawable_hash, drawable, dri_draw))
- {
- XF86DRIDestroyDrawable(dri_screen->display, dri_screen->num, drawable);
- free(dri_draw);
- return 1;
- }
-
- if (!dri_draw->sarea_stamp || *dri_draw->sarea_stamp != dri_draw->last_sarea_stamp)
- {
- DRM_SPINLOCK(&dri_screen->sarea->drawable_lock, dri_screen->draw_lock_id);
-
- if (driUpdateDrawableInfo(dri_draw))
- {
- XF86DRIDestroyDrawable(dri_screen->display, dri_screen->num, drawable);
- free(dri_draw);
- DRM_SPINUNLOCK(&dri_screen->sarea->drawable_lock, dri_screen->draw_lock_id);
- return 1;
- }
-
- DRM_SPINUNLOCK(&dri_screen->sarea->drawable_lock, dri_screen->draw_lock_id);
- }
-
- *dri_drawable = dri_draw;
-
- return 0;
-}
-
-int driUpdateDrawableInfo(dri_drawable_t *dri_drawable)
-{
- assert(dri_drawable);
-
- if (dri_drawable->cliprects)
- {
- XFree(dri_drawable->cliprects);
- dri_drawable->cliprects = NULL;
- }
- if (dri_drawable->back_cliprects)
- {
- XFree(dri_drawable->back_cliprects);
- dri_drawable->back_cliprects = NULL;
- }
-
- DRM_SPINUNLOCK(&dri_drawable->dri_screen->sarea->drawable_lock, dri_drawable->dri_screen->draw_lock_id);
-
- if (!XF86DRIGetDrawableInfo
- (
- dri_drawable->dri_screen->display,
- dri_drawable->dri_screen->num,
- dri_drawable->x_drawable,
- &dri_drawable->sarea_index,
- &dri_drawable->last_sarea_stamp,
- &dri_drawable->x,
- &dri_drawable->y,
- &dri_drawable->w,
- &dri_drawable->h,
- &dri_drawable->num_cliprects,
- &dri_drawable->cliprects,
- &dri_drawable->back_x,
- &dri_drawable->back_y,
- &dri_drawable->num_back_cliprects,
- &dri_drawable->back_cliprects
- ))
- {
- dri_drawable->sarea_stamp = &dri_drawable->last_sarea_stamp;
- dri_drawable->num_cliprects = 0;
- dri_drawable->cliprects = NULL;
- dri_drawable->num_back_cliprects = 0;
- dri_drawable->back_cliprects = 0;
-
- return 1;
- }
- else
- dri_drawable->sarea_stamp = &dri_drawable->dri_screen->sarea->drawableTable[dri_drawable->sarea_index].stamp;
-
- DRM_SPINLOCK(&dri_drawable->dri_screen->sarea->drawable_lock, dri_drawable->dri_screen->draw_lock_id);
-
- return 0;
-}
-
-int driDestroyDrawable(dri_drawable_t *dri_drawable)
-{
- assert(dri_drawable);
-
- if (--dri_drawable->refcount == 0)
- {
- if (dri_drawable->cliprects)
- XFree(dri_drawable->cliprects);
- if (dri_drawable->back_cliprects)
- XFree(dri_drawable->back_cliprects);
- drmHashDelete(dri_drawable->dri_screen->drawable_hash, dri_drawable->x_drawable);
- XF86DRIDestroyDrawable(dri_drawable->dri_screen->display, dri_drawable->dri_screen->num, dri_drawable->x_drawable);
- free(dri_drawable);
- }
-
- return 0;
-}
-
-int driCreateContext(dri_screen_t *dri_screen, Visual *visual, dri_context_t **dri_context)
-{
- int evbase, errbase;
- dri_context_t *dri_ctx;
-
- assert(dri_screen);
- assert(visual);
- assert(dri_context);
-
- if (!XF86DRIQueryExtension(dri_screen->display, &evbase, &errbase))
- return 1;
-
- dri_ctx = calloc(1, sizeof(dri_context_t));
-
- if (!dri_ctx)
- return 1;
-
- if (!XF86DRICreateContext(dri_screen->display, dri_screen->num, visual, &dri_ctx->id, &dri_ctx->drm_context))
- {
- free(dri_ctx);
- return 1;
- }
-
- dri_ctx->dri_screen = dri_screen;
- *dri_context = dri_ctx;
-
- return 0;
-}
-
-int driDestroyContext(dri_context_t *dri_context)
-{
- assert(dri_context);
-
- XF86DRIDestroyContext(dri_context->dri_screen->display, dri_context->dri_screen->num, dri_context->id);
- free(dri_context);
-
- return 0;
-}
diff --git a/src/driclient/src/xf86dristr.h b/src/driclient/src/xf86dristr.h
deleted file mode 100644
index b834bd1a1a..0000000000
--- a/src/driclient/src/xf86dristr.h
+++ /dev/null
@@ -1,342 +0,0 @@
-/**************************************************************************
-
-Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
-Copyright 2000 VA Linux Systems, Inc.
-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, sub license, 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 (including the
-next paragraph) 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 NON-INFRINGEMENT.
-IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS 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.
-
-**************************************************************************/
-
-/*
- * Authors:
- * Kevin E. Martin <martin@valinux.com>
- * Jens Owen <jens@tungstengraphics.com>
- * Rickard E. (Rik) Fiath <faith@valinux.com>
- *
- */
-
-#ifndef _XF86DRISTR_H_
-#define _XF86DRISTR_H_
-
-#include "xf86dri.h"
-
-#define XF86DRINAME "XFree86-DRI"
-
-/* The DRI version number. This was originally set to be the same of the
- * XFree86 version number. However, this version is really indepedent of
- * the XFree86 version.
- *
- * Version History:
- * 4.0.0: Original
- * 4.0.1: Patch to bump clipstamp when windows are destroyed, 28 May 02
- * 4.1.0: Add transition from single to multi in DRMInfo rec, 24 Jun 02
- */
-#define XF86DRI_MAJOR_VERSION 4
-#define XF86DRI_MINOR_VERSION 1
-#define XF86DRI_PATCH_VERSION 0
-
-typedef struct _XF86DRIQueryVersion {
- CARD8 reqType; /* always DRIReqCode */
- CARD8 driReqType; /* always X_DRIQueryVersion */
- CARD16 length B16;
-} xXF86DRIQueryVersionReq;
-#define sz_xXF86DRIQueryVersionReq 4
-
-typedef struct {
- BYTE type; /* X_Reply */
- BOOL pad1;
- CARD16 sequenceNumber B16;
- CARD32 length B32;
- CARD16 majorVersion B16; /* major version of DRI protocol */
- CARD16 minorVersion B16; /* minor version of DRI protocol */
- CARD32 patchVersion B32; /* patch version of DRI protocol */
- CARD32 pad3 B32;
- CARD32 pad4 B32;
- CARD32 pad5 B32;
- CARD32 pad6 B32;
-} xXF86DRIQueryVersionReply;
-#define sz_xXF86DRIQueryVersionReply 32
-
-typedef struct _XF86DRIQueryDirectRenderingCapable {
- CARD8 reqType; /* always DRIReqCode */
- CARD8 driReqType; /* X_DRIQueryDirectRenderingCapable */
- CARD16 length B16;
- CARD32 screen B32;
-} xXF86DRIQueryDirectRenderingCapableReq;
-#define sz_xXF86DRIQueryDirectRenderingCapableReq 8
-
-typedef struct {
- BYTE type; /* X_Reply */
- BOOL pad1;
- CARD16 sequenceNumber B16;
- CARD32 length B32;
- BOOL isCapable;
- BOOL pad2;
- BOOL pad3;
- BOOL pad4;
- CARD32 pad5 B32;
- CARD32 pad6 B32;
- CARD32 pad7 B32;
- CARD32 pad8 B32;
- CARD32 pad9 B32;
-} xXF86DRIQueryDirectRenderingCapableReply;
-#define sz_xXF86DRIQueryDirectRenderingCapableReply 32
-
-typedef struct _XF86DRIOpenConnection {
- CARD8 reqType; /* always DRIReqCode */
- CARD8 driReqType; /* always X_DRIOpenConnection */
- CARD16 length B16;
- CARD32 screen B32;
-} xXF86DRIOpenConnectionReq;
-#define sz_xXF86DRIOpenConnectionReq 8
-
-typedef struct {
- BYTE type; /* X_Reply */
- BOOL pad1;
- CARD16 sequenceNumber B16;
- CARD32 length B32;
- CARD32 hSAREALow B32;
- CARD32 hSAREAHigh B32;
- CARD32 busIdStringLength B32;
- CARD32 pad6 B32;
- CARD32 pad7 B32;
- CARD32 pad8 B32;
-} xXF86DRIOpenConnectionReply;
-#define sz_xXF86DRIOpenConnectionReply 32
-
-typedef struct _XF86DRIAuthConnection {
- CARD8 reqType; /* always DRIReqCode */
- CARD8 driReqType; /* always X_DRICloseConnection */
- CARD16 length B16;
- CARD32 screen B32;
- CARD32 magic B32;
-} xXF86DRIAuthConnectionReq;
-#define sz_xXF86DRIAuthConnectionReq 12
-
-typedef struct {
- BYTE type;
- BOOL pad1;
- CARD16 sequenceNumber B16;
- CARD32 length B32;
- CARD32 authenticated B32;
- CARD32 pad2 B32;
- CARD32 pad3 B32;
- CARD32 pad4 B32;
- CARD32 pad5 B32;
- CARD32 pad6 B32;
-} xXF86DRIAuthConnectionReply;
-#define zx_xXF86DRIAuthConnectionReply 32
-
-typedef struct _XF86DRICloseConnection {
- CARD8 reqType; /* always DRIReqCode */
- CARD8 driReqType; /* always X_DRICloseConnection */
- CARD16 length B16;
- CARD32 screen B32;
-} xXF86DRICloseConnectionReq;
-#define sz_xXF86DRICloseConnectionReq 8
-
-typedef struct _XF86DRIGetClientDriverName {
- CARD8 reqType; /* always DRIReqCode */
- CARD8 driReqType; /* always X_DRIGetClientDriverName */
- CARD16 length B16;
- CARD32 screen B32;
-} xXF86DRIGetClientDriverNameReq;
-#define sz_xXF86DRIGetClientDriverNameReq 8
-
-typedef struct {
- BYTE type; /* X_Reply */
- BOOL pad1;
- CARD16 sequenceNumber B16;
- CARD32 length B32;
- CARD32 ddxDriverMajorVersion B32;
- CARD32 ddxDriverMinorVersion B32;
- CARD32 ddxDriverPatchVersion B32;
- CARD32 clientDriverNameLength B32;
- CARD32 pad5 B32;
- CARD32 pad6 B32;
-} xXF86DRIGetClientDriverNameReply;
-#define sz_xXF86DRIGetClientDriverNameReply 32
-
-typedef struct _XF86DRICreateContext {
- CARD8 reqType; /* always DRIReqCode */
- CARD8 driReqType; /* always X_DRICreateContext */
- CARD16 length B16;
- CARD32 screen B32;
- CARD32 visual B32;
- CARD32 context B32;
-} xXF86DRICreateContextReq;
-#define sz_xXF86DRICreateContextReq 16
-
-typedef struct {
- BYTE type; /* X_Reply */
- BOOL pad1;
- CARD16 sequenceNumber B16;
- CARD32 length B32;
- CARD32 hHWContext B32;
- CARD32 pad2 B32;
- CARD32 pad3 B32;
- CARD32 pad4 B32;
- CARD32 pad5 B32;
- CARD32 pad6 B32;
-} xXF86DRICreateContextReply;
-#define sz_xXF86DRICreateContextReply 32
-
-typedef struct _XF86DRIDestroyContext {
- CARD8 reqType; /* always DRIReqCode */
- CARD8 driReqType; /* always X_DRIDestroyContext */
- CARD16 length B16;
- CARD32 screen B32;
- CARD32 context B32;
-} xXF86DRIDestroyContextReq;
-#define sz_xXF86DRIDestroyContextReq 12
-
-typedef struct _XF86DRICreateDrawable {
- CARD8 reqType; /* always DRIReqCode */
- CARD8 driReqType; /* always X_DRICreateDrawable */
- CARD16 length B16;
- CARD32 screen B32;
- CARD32 drawable B32;
-} xXF86DRICreateDrawableReq;
-#define sz_xXF86DRICreateDrawableReq 12
-
-typedef struct {
- BYTE type; /* X_Reply */
- BOOL pad1;
- CARD16 sequenceNumber B16;
- CARD32 length B32;
- CARD32 hHWDrawable B32;
- CARD32 pad2 B32;
- CARD32 pad3 B32;
- CARD32 pad4 B32;
- CARD32 pad5 B32;
- CARD32 pad6 B32;
-} xXF86DRICreateDrawableReply;
-#define sz_xXF86DRICreateDrawableReply 32
-
-typedef struct _XF86DRIDestroyDrawable {
- CARD8 reqType; /* always DRIReqCode */
- CARD8 driReqType; /* always X_DRIDestroyDrawable */
- CARD16 length B16;
- CARD32 screen B32;
- CARD32 drawable B32;
-} xXF86DRIDestroyDrawableReq;
-#define sz_xXF86DRIDestroyDrawableReq 12
-
-typedef struct _XF86DRIGetDrawableInfo {
- CARD8 reqType; /* always DRIReqCode */
- CARD8 driReqType; /* always X_DRIGetDrawableInfo */
- CARD16 length B16;
- CARD32 screen B32;
- CARD32 drawable B32;
-} xXF86DRIGetDrawableInfoReq;
-#define sz_xXF86DRIGetDrawableInfoReq 12
-
-typedef struct {
- BYTE type; /* X_Reply */
- BOOL pad1;
- CARD16 sequenceNumber B16;
- CARD32 length B32;
- CARD32 drawableTableIndex B32;
- CARD32 drawableTableStamp B32;
- INT16 drawableX B16;
- INT16 drawableY B16;
- INT16 drawableWidth B16;
- INT16 drawableHeight B16;
- CARD32 numClipRects B32;
- INT16 backX B16;
- INT16 backY B16;
- CARD32 numBackClipRects B32;
-} xXF86DRIGetDrawableInfoReply;
-
-#define sz_xXF86DRIGetDrawableInfoReply 36
-
-
-typedef struct _XF86DRIGetDeviceInfo {
- CARD8 reqType; /* always DRIReqCode */
- CARD8 driReqType; /* always X_DRIGetDeviceInfo */
- CARD16 length B16;
- CARD32 screen B32;
-} xXF86DRIGetDeviceInfoReq;
-#define sz_xXF86DRIGetDeviceInfoReq 8
-
-typedef struct {
- BYTE type; /* X_Reply */
- BOOL pad1;
- CARD16 sequenceNumber B16;
- CARD32 length B32;
- CARD32 hFrameBufferLow B32;
- CARD32 hFrameBufferHigh B32;
- CARD32 framebufferOrigin B32;
- CARD32 framebufferSize B32;
- CARD32 framebufferStride B32;
- CARD32 devPrivateSize B32;
-} xXF86DRIGetDeviceInfoReply;
-#define sz_xXF86DRIGetDeviceInfoReply 32
-
-typedef struct _XF86DRIOpenFullScreen {
- CARD8 reqType; /* always DRIReqCode */
- CARD8 driReqType; /* always X_DRIOpenFullScreen */
- CARD16 length B16;
- CARD32 screen B32;
- CARD32 drawable B32;
-} xXF86DRIOpenFullScreenReq;
-#define sz_xXF86DRIOpenFullScreenReq 12
-
-typedef struct {
- BYTE type;
- BOOL pad1;
- CARD16 sequenceNumber B16;
- CARD32 length B32;
- CARD32 isFullScreen B32;
- CARD32 pad2 B32;
- CARD32 pad3 B32;
- CARD32 pad4 B32;
- CARD32 pad5 B32;
- CARD32 pad6 B32;
-} xXF86DRIOpenFullScreenReply;
-#define sz_xXF86DRIOpenFullScreenReply 32
-
-typedef struct _XF86DRICloseFullScreen {
- CARD8 reqType; /* always DRIReqCode */
- CARD8 driReqType; /* always X_DRICloseFullScreen */
- CARD16 length B16;
- CARD32 screen B32;
- CARD32 drawable B32;
-} xXF86DRICloseFullScreenReq;
-#define sz_xXF86DRICloseFullScreenReq 12
-
-typedef struct {
- BYTE type;
- BOOL pad1;
- CARD16 sequenceNumber B16;
- CARD32 length B32;
- CARD32 pad2 B32;
- CARD32 pad3 B32;
- CARD32 pad4 B32;
- CARD32 pad5 B32;
- CARD32 pad6 B32;
- CARD32 pad7 B32;
-} xXF86DRICloseFullScreenReply;
-#define sz_xXF86DRICloseFullScreenReply 32
-
-
-#endif /* _XF86DRISTR_H_ */
diff --git a/src/gallium/auxiliary/pipebuffer/pb_bufmgr_fenced.c b/src/gallium/auxiliary/pipebuffer/pb_bufmgr_fenced.c
new file mode 100644
index 0000000000..97dd1427fd
--- /dev/null
+++ b/src/gallium/auxiliary/pipebuffer/pb_bufmgr_fenced.c
@@ -0,0 +1,152 @@
+/**************************************************************************
+ *
+ * Copyright 2006 Tungsten Graphics, Inc., Bismarck, ND., USA
+ * 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, sub license, 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 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 NON-INFRINGEMENT. IN NO EVENT SHALL
+ * THE COPYRIGHT HOLDERS, AUTHORS AND/OR ITS SUPPLIERS 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.
+ *
+ * The above copyright notice and this permission notice (including the
+ * next paragraph) shall be included in all copies or substantial portions
+ * of the Software.
+ *
+ *
+ **************************************************************************/
+
+/**
+ * \file
+ * A buffer manager that wraps buffers in fenced buffers.
+ *
+ * \author Jose Fonseca <jrfonseca@tungstengraphics.dot.com>
+ */
+
+
+#include "util/u_debug.h"
+#include "util/u_memory.h"
+
+#include "pb_buffer.h"
+#include "pb_buffer_fenced.h"
+#include "pb_bufmgr.h"
+
+
+struct fenced_pb_manager
+{
+ struct pb_manager base;
+
+ struct pb_manager *provider;
+
+ struct fenced_buffer_list *fenced_list;
+};
+
+
+static INLINE struct fenced_pb_manager *
+fenced_pb_manager(struct pb_manager *mgr)
+{
+ assert(mgr);
+ return (struct fenced_pb_manager *)mgr;
+}
+
+
+static struct pb_buffer *
+fenced_bufmgr_create_buffer(struct pb_manager *mgr,
+ pb_size size,
+ const struct pb_desc *desc)
+{
+ struct fenced_pb_manager *fenced_mgr = fenced_pb_manager(mgr);
+ struct pb_buffer *buf;
+ struct pb_buffer *fenced_buf;
+
+ /* check for free buffers before allocating new ones */
+ fenced_buffer_list_check_free(fenced_mgr->fenced_list, 0);
+
+ buf = fenced_mgr->provider->create_buffer(fenced_mgr->provider, size, desc);
+ if(!buf) {
+ /* try harder to get a buffer */
+ fenced_buffer_list_check_free(fenced_mgr->fenced_list, 1);
+
+ buf = fenced_mgr->provider->create_buffer(fenced_mgr->provider, size, desc);
+ if(!buf) {
+#if 0
+ fenced_buffer_list_dump(fenced_mgr->fenced_list);
+#endif
+
+ /* give up */
+ return NULL;
+ }
+ }
+
+ fenced_buf = fenced_buffer_create(fenced_mgr->fenced_list, buf);
+ if(!fenced_buf) {
+ pb_reference(&buf, NULL);
+ }
+
+ return fenced_buf;
+}
+
+
+static void
+fenced_bufmgr_flush(struct pb_manager *mgr)
+{
+ struct fenced_pb_manager *fenced_mgr = fenced_pb_manager(mgr);
+
+ fenced_buffer_list_check_free(fenced_mgr->fenced_list, TRUE);
+
+ assert(fenced_mgr->provider->flush);
+ if(fenced_mgr->provider->flush)
+ fenced_mgr->provider->flush(fenced_mgr->provider);
+}
+
+
+static void
+fenced_bufmgr_destroy(struct pb_manager *mgr)
+{
+ struct fenced_pb_manager *fenced_mgr = fenced_pb_manager(mgr);
+
+ fenced_buffer_list_destroy(fenced_mgr->fenced_list);
+
+ if(fenced_mgr->provider)
+ fenced_mgr->provider->destroy(fenced_mgr->provider);
+
+ FREE(fenced_mgr);
+}
+
+
+struct pb_manager *
+fenced_bufmgr_create(struct pb_manager *provider,
+ struct pb_fence_ops *ops)
+{
+ struct fenced_pb_manager *fenced_mgr;
+
+ if(!provider)
+ return NULL;
+
+ fenced_mgr = CALLOC_STRUCT(fenced_pb_manager);
+ if (!fenced_mgr)
+ return NULL;
+
+ fenced_mgr->base.destroy = fenced_bufmgr_destroy;
+ fenced_mgr->base.create_buffer = fenced_bufmgr_create_buffer;
+ fenced_mgr->base.flush = fenced_bufmgr_flush;
+
+ fenced_mgr->provider = provider;
+ fenced_mgr->fenced_list = fenced_buffer_list_create(ops);
+ if(!fenced_mgr->fenced_list) {
+ FREE(fenced_mgr);
+ return NULL;
+ }
+
+ return &fenced_mgr->base;
+}
diff --git a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-abs.sh b/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-abs.sh
deleted file mode 100644
index 7a0006bf66..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-abs.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-FRAG1.1
-
-DCL IN[0], COLOR, LINEAR
-DCL OUT[0], COLOR
-
-DCL TEMP[0]
-
-IMM FLT32 { -0.5, -0.4, -0.6, 0.0 }
-
-ADD TEMP[0], IN[0], IMM[0]
-ABS OUT[0], TEMP[0]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-add.sh b/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-add.sh
deleted file mode 100644
index f7836c85dd..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-add.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-FRAG1.1
-
-DCL IN[0], COLOR, LINEAR
-DCL OUT[0], COLOR
-
-ADD OUT[0], IN[0], IN[0]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-dp3.sh b/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-dp3.sh
deleted file mode 100644
index c89cd748a8..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-dp3.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-FRAG1.1
-
-DCL IN[0], COLOR, LINEAR
-DCL OUT[0], COLOR
-
-DP3 OUT[0], IN[0], IN[0]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-dp4.sh b/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-dp4.sh
deleted file mode 100644
index 6517e3c494..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-dp4.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-FRAG1.1
-
-DCL IN[0], COLOR, LINEAR
-DCL OUT[0], COLOR
-
-DP4 OUT[0], IN[0].xyzx, IN[0].xyzx
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-dst.sh b/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-dst.sh
deleted file mode 100644
index 464880ba68..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-dst.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-FRAG1.1
-
-DCL IN[0], COLOR, LINEAR
-DCL OUT[0], COLOR
-
-DST OUT[0], IN[0], IN[0]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-ex2.sh b/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-ex2.sh
deleted file mode 100644
index 2684076f1d..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-ex2.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-FRAG1.1
-
-DCL IN[0], COLOR, LINEAR
-DCL OUT[0], COLOR
-
-DCL TEMP[0]
-
-EX2 TEMP[0], IN[0].xxxx
-MUL OUT[0], TEMP[0], IN[0]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-flr.sh b/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-flr.sh
deleted file mode 100644
index ad11e28918..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-flr.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-FRAG1.1
-
-DCL IN[0], COLOR, LINEAR
-DCL OUT[0], COLOR
-
-DCL TEMP[0]
-
-IMM FLT32 { 2.5, 4.0, 2.0, 1.0 }
-IMM FLT32 { 0.4, 0.25, 0.5, 1.0 }
-
-MUL TEMP[0], IN[0], IMM[0]
-FLR TEMP[0], TEMP[0]
-MUL OUT[0], TEMP[0], IMM[1]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-frc.sh b/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-frc.sh
deleted file mode 100644
index 4f3aa30d66..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-frc.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-FRAG1.1
-
-DCL IN[0], COLOR, LINEAR
-DCL OUT[0], COLOR
-
-DCL TEMP[0]
-
-IMM FLT32 { 2.7, 3.1, 4.5, 1.0 }
-
-MUL TEMP[0], IN[0], IMM[0]
-FRC OUT[0], TEMP[0]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-lg2.sh b/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-lg2.sh
deleted file mode 100644
index 54c7c64459..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-lg2.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-FRAG1.1
-
-DCL IN[0], COLOR, LINEAR
-DCL OUT[0], COLOR
-
-DCL TEMP[0]
-
-IMM FLT32 { 1.0, 0.0, 0.0, 0.0 }
-IMM FLT32 { 0.5, 0.0, 0.0, 0.0 }
-
-ADD TEMP[0], IN[0], IMM[0]
-LG2 TEMP[0].x, TEMP[0].xxxx
-ADD OUT[0], TEMP[0], IMM[1]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-lit.sh b/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-lit.sh
deleted file mode 100644
index 0e78ef86b5..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-lit.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-FRAG1.1
-
-DCL IN[0], COLOR, LINEAR
-DCL OUT[0], COLOR
-
-LIT OUT[0], IN[0]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-lrp.sh b/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-lrp.sh
deleted file mode 100644
index e9ee0f8147..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-lrp.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-FRAG1.1
-
-DCL IN[0], COLOR, LINEAR
-DCL OUT[0], COLOR
-
-DCL TEMP[0]
-
-ABS TEMP[0], IN[0]
-LRP OUT[0], TEMP[0], IN[0].xxxx, IN[0].yyyy
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-mad.sh b/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-mad.sh
deleted file mode 100644
index 439acd5bbd..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-mad.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-FRAG1.1
-
-DCL IN[0], COLOR, LINEAR
-DCL OUT[0], COLOR
-
-IMM FLT32 { 0.5, 0.4, 0.6, 1.0 }
-IMM FLT32 { 0.5, 0.4, 0.6, 0.0 }
-
-MAD OUT[0], IN[0], IMM[0], IMM[1]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-max.sh b/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-max.sh
deleted file mode 100644
index ab21b245dd..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-max.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-FRAG1.1
-
-DCL IN[0], COLOR, LINEAR
-DCL OUT[0], COLOR
-
-IMM FLT32 { 0.4, 0.4, 0.4, 0.0 }
-
-MAX OUT[0], IN[0], IMM[0]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-min.sh b/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-min.sh
deleted file mode 100644
index 969ae73d98..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-min.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-FRAG1.1
-
-DCL IN[0], COLOR, LINEAR
-DCL OUT[0], COLOR
-
-IMM FLT32 { 0.6, 0.6, 0.6, 1.0 }
-
-MIN OUT[0], IN[0], IMM[0]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-mov.sh b/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-mov.sh
deleted file mode 100644
index 612975e057..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-mov.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-FRAG1.1
-
-DCL IN[0], COLOR, LINEAR
-DCL OUT[0], COLOR
-
-MOV OUT[0], IN[0]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-mul.sh b/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-mul.sh
deleted file mode 100644
index ed158b0fc6..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-mul.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-FRAG1.1
-
-DCL IN[0], COLOR, LINEAR
-DCL OUT[0], COLOR
-
-IMM FLT32 { 0.5, 0.6, 0.7, 1.0 }
-
-MUL OUT[0], IN[0], IMM[0]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-rcp.sh b/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-rcp.sh
deleted file mode 100644
index cc9feef07e..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-rcp.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-FRAG1.1
-
-DCL IN[0], COLOR, LINEAR
-DCL OUT[0], COLOR
-
-DCL TEMP[0]
-
-IMM FLT32 { 1.0, 0.0, 0.0, 0.0 }
-IMM FLT32 { 1.5, 0.0, 0.0, 0.0 }
-
-ADD TEMP[0], IN[0], IMM[0]
-RCP TEMP[0].x, TEMP[0].xxxx
-SUB OUT[0], TEMP[0], IMM[1]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-rsq.sh b/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-rsq.sh
deleted file mode 100644
index 695621fdc9..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-rsq.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-FRAG1.1
-
-DCL IN[0], COLOR, LINEAR
-DCL OUT[0], COLOR
-
-DCL TEMP[0]
-
-IMM FLT32 { 1.0, 0.0, 0.0, 0.0 }
-IMM FLT32 { 1.5, 0.0, 0.0, 0.0 }
-
-ADD TEMP[0], IN[0], IMM[0]
-RSQ TEMP[0].x, TEMP[0].xxxx
-SUB OUT[0], TEMP[0], IMM[1]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-sge.sh b/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-sge.sh
deleted file mode 100644
index 9505bc3c3e..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-sge.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-FRAG1.1
-
-DCL IN[0], COLOR, LINEAR
-DCL OUT[0], COLOR
-
-DCL TEMP[0]
-
-IMM FLT32 { 0.6, 0.6, 0.6, 0.0 }
-
-SGE TEMP[0], IN[0], IMM[0]
-MUL OUT[0], IN[0], TEMP[0]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-slt.sh b/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-slt.sh
deleted file mode 100644
index f2a1521cbf..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-slt.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-FRAG1.1
-
-DCL IN[0], COLOR, LINEAR
-DCL OUT[0], COLOR
-
-DCL TEMP[0]
-
-IMM FLT32 { 0.6, 0.6, 0.6, 0.0 }
-
-SLT TEMP[0], IN[0], IMM[0]
-MUL OUT[0], IN[0], TEMP[0]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-srcmod-abs.sh b/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-srcmod-abs.sh
deleted file mode 100644
index 9cd4b68295..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-srcmod-abs.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-FRAG1.1
-
-DCL IN[0], COLOR, LINEAR
-DCL OUT[0], COLOR
-
-DCL TEMP[0]
-
-IMM FLT32 { -0.3, -0.5, -0.4, 0.0 }
-
-ADD TEMP[0], IN[0], IMM[0]
-MOV OUT[0], |TEMP[0]|
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-srcmod-absneg.sh b/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-srcmod-absneg.sh
deleted file mode 100644
index acd6aa750d..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-srcmod-absneg.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-FRAG1.1
-
-DCL IN[0], COLOR, LINEAR
-DCL OUT[0], COLOR
-
-DCL TEMP[0]
-
-IMM FLT32 { -0.2, -0.3, -0.4, 0.0 }
-IMM FLT32 { -1.0, -1.0, -1.0, -1.0 }
-
-ADD TEMP[0], IN[0], IMM[0]
-MOV TEMP[0], -|TEMP[0]|
-MUL OUT[0], TEMP[0], IMM[1]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-srcmod-neg.sh b/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-srcmod-neg.sh
deleted file mode 100644
index ba1b61503b..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-srcmod-neg.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-FRAG1.1
-
-DCL IN[0], COLOR, LINEAR
-DCL OUT[0], COLOR
-
-DCL TEMP[0]
-
-SUB TEMP[0], IN[0], IN[0].yzxw
-MOV OUT[0], -TEMP[0]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-srcmod-swz.sh b/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-srcmod-swz.sh
deleted file mode 100644
index 192aa7bb26..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-srcmod-swz.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-FRAG1.1
-
-DCL IN[0], COLOR, LINEAR
-DCL OUT[0], COLOR
-
-MOV OUT[0], IN[0].yxzw
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-sub.sh b/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-sub.sh
deleted file mode 100644
index 83441fa820..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-sub.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-FRAG1.1
-
-DCL IN[0], COLOR, LINEAR
-DCL OUT[0], COLOR
-
-SUB OUT[0], IN[0], IN[0].yzxw
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-xpd.sh b/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-xpd.sh
deleted file mode 100644
index d6f66c4927..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-xpd.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-FRAG1.1
-
-DCL IN[0], COLOR, LINEAR
-DCL OUT[0], COLOR
-
-XPD OUT[0], IN[0], IN[0].yzxw
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/fragment-shader/fragment-shader.py b/src/gallium/state_trackers/python/tests/regress/fragment-shader/fragment-shader.py
deleted file mode 100644
index d60fb38d1a..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/fragment-shader/fragment-shader.py
+++ /dev/null
@@ -1,218 +0,0 @@
-#!/usr/bin/env python
-##########################################################################
-#
-# Copyright 2009 VMware, Inc.
-# 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, sub license, 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 (including the
-# next paragraph) 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 NON-INFRINGEMENT.
-# IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS 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.
-#
-##########################################################################
-
-
-from gallium import *
-
-def make_image(surface):
- data = surface.get_tile_rgba8(0, 0, surface.width, surface.height)
-
- import Image
- outimage = Image.fromstring('RGBA', (surface.width, surface.height), data, "raw", 'RGBA', 0, 1)
- return outimage
-
-def save_image(filename, surface):
- outimage = make_image(surface)
- outimage.save(filename, "PNG")
-
-def test(dev, name):
- ctx = dev.context_create()
-
- width = 320
- height = 320
- minz = 0.0
- maxz = 1.0
-
- # disabled blending/masking
- blend = Blend()
- blend.rgb_src_factor = PIPE_BLENDFACTOR_ONE
- blend.alpha_src_factor = PIPE_BLENDFACTOR_ONE
- blend.rgb_dst_factor = PIPE_BLENDFACTOR_ZERO
- blend.alpha_dst_factor = PIPE_BLENDFACTOR_ZERO
- blend.colormask = PIPE_MASK_RGBA
- ctx.set_blend(blend)
-
- # depth/stencil/alpha
- depth_stencil_alpha = DepthStencilAlpha()
- depth_stencil_alpha.depth.enabled = 0
- depth_stencil_alpha.depth.writemask = 1
- depth_stencil_alpha.depth.func = PIPE_FUNC_LESS
- ctx.set_depth_stencil_alpha(depth_stencil_alpha)
-
- # rasterizer
- rasterizer = Rasterizer()
- rasterizer.front_winding = PIPE_WINDING_CW
- rasterizer.cull_mode = PIPE_WINDING_NONE
- rasterizer.scissor = 1
- ctx.set_rasterizer(rasterizer)
-
- # viewport
- viewport = Viewport()
- scale = FloatArray(4)
- scale[0] = width / 2.0
- scale[1] = -height / 2.0
- scale[2] = (maxz - minz) / 2.0
- scale[3] = 1.0
- viewport.scale = scale
- translate = FloatArray(4)
- translate[0] = width / 2.0
- translate[1] = height / 2.0
- translate[2] = (maxz - minz) / 2.0
- translate[3] = 0.0
- viewport.translate = translate
- ctx.set_viewport(viewport)
-
- # samplers
- sampler = Sampler()
- sampler.wrap_s = PIPE_TEX_WRAP_CLAMP_TO_EDGE
- sampler.wrap_t = PIPE_TEX_WRAP_CLAMP_TO_EDGE
- sampler.wrap_r = PIPE_TEX_WRAP_CLAMP_TO_EDGE
- sampler.min_mip_filter = PIPE_TEX_MIPFILTER_NONE
- sampler.min_img_filter = PIPE_TEX_MIPFILTER_NEAREST
- sampler.mag_img_filter = PIPE_TEX_MIPFILTER_NEAREST
- sampler.normalized_coords = 1
- ctx.set_sampler(0, sampler)
-
- # scissor
- scissor = Scissor()
- scissor.minx = 0
- scissor.miny = 0
- scissor.maxx = width
- scissor.maxy = height
- ctx.set_scissor(scissor)
-
- clip = Clip()
- clip.nr = 0
- ctx.set_clip(clip)
-
- # framebuffer
- cbuf = dev.texture_create(
- PIPE_FORMAT_X8R8G8B8_UNORM,
- width, height,
- tex_usage=PIPE_TEXTURE_USAGE_DISPLAY_TARGET,
- ).get_surface()
- fb = Framebuffer()
- fb.width = width
- fb.height = height
- fb.nr_cbufs = 1
- fb.set_cbuf(0, cbuf)
- ctx.set_framebuffer(fb)
- rgba = FloatArray(4);
- rgba[0] = 0.5
- rgba[1] = 0.5
- rgba[2] = 0.5
- rgba[3] = 0.5
- ctx.clear(PIPE_CLEAR_COLOR, rgba, 0.0, 0)
-
- # vertex shader
- vs = Shader('''
- VERT1.1
- DCL IN[0], POSITION
- DCL IN[1], COLOR
- DCL OUT[0], POSITION
- DCL OUT[1], COLOR
- MOV OUT[0], IN[0]
- MOV OUT[1], IN[1]
- END
- ''')
- ctx.set_vertex_shader(vs)
-
- # fragment shader
- fs = Shader(file('frag-' + name + '.sh', 'rt').read())
- ctx.set_fragment_shader(fs)
-
- xy = [
- -0.8, -0.8,
- 0.8, -0.8,
- 0.0, 0.8,
- ]
- color = [
- 1.0, 0.0, 0.0,
- 0.0, 1.0, 0.0,
- 0.0, 0.0, 1.0,
- ]
-
- nverts = 3
- nattrs = 2
- verts = FloatArray(nverts * nattrs * 4)
-
- for i in range(0, nverts):
- verts[i * nattrs * 4 + 0] = xy[i * 2 + 0] # x
- verts[i * nattrs * 4 + 1] = xy[i * 2 + 1] # y
- verts[i * nattrs * 4 + 2] = 0.5 # z
- verts[i * nattrs * 4 + 3] = 1.0 # w
- verts[i * nattrs * 4 + 4] = color[i * 3 + 0] # r
- verts[i * nattrs * 4 + 5] = color[i * 3 + 1] # g
- verts[i * nattrs * 4 + 6] = color[i * 3 + 2] # b
- verts[i * nattrs * 4 + 7] = 1.0 # a
-
- ctx.draw_vertices(PIPE_PRIM_TRIANGLES,
- nverts,
- nattrs,
- verts)
-
- ctx.flush()
-
- save_image('frag-' + name + '.png', cbuf)
-
-def main():
- tests = [
- 'abs',
- 'add',
- 'dp3',
- 'dp4',
- 'dst',
- 'ex2',
- 'flr',
- 'frc',
- 'lg2',
- 'lit',
- 'lrp',
- 'mad',
- 'max',
- 'min',
- 'mov',
- 'mul',
- 'rcp',
- 'rsq',
- 'sge',
- 'slt',
- 'srcmod-abs',
- 'srcmod-absneg',
- 'srcmod-neg',
- 'srcmod-swz',
- 'sub',
- 'xpd',
- ]
-
- dev = Device()
- for t in tests:
- test(dev, t)
-
-if __name__ == '__main__':
- main()
diff --git a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-abs.sh b/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-abs.sh
deleted file mode 100644
index f0d0d5de17..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-abs.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-VERT1.1
-
-DCL IN[0], POSITION
-DCL IN[1], COLOR
-DCL OUT[0], POSITION
-DCL OUT[1], COLOR
-DCL TEMP[0]
-
-IMM FLT32 { 0.2, 0.2, 0.0, 0.0 }
-
-ADD TEMP[0], IN[0], IMM[0]
-ABS OUT[0], TEMP[0]
-MOV OUT[1], IN[1]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-add.sh b/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-add.sh
deleted file mode 100644
index 936c851c9d..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-add.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-VERT1.1
-
-DCL IN[0], POSITION
-DCL IN[1], COLOR
-DCL OUT[0], POSITION
-DCL OUT[1], COLOR
-
-IMM FLT32 { 0.2, -0.1, 0.0, 0.0 }
-
-ADD OUT[0], IN[0], IMM[0]
-MOV OUT[1], IN[1]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-arl.sh b/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-arl.sh
deleted file mode 100644
index 7638e96346..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-arl.sh
+++ /dev/null
@@ -1,23 +0,0 @@
-VERT1.1
-
-DCL IN[0], POSITION
-DCL OUT[0], POSITION
-DCL OUT[1], COLOR
-
-DCL TEMP[0]
-
-DCL ADDR[0]
-
-IMM FLT32 { 3.0, 1.0, 1.0, 1.0 }
-IMM FLT32 { 1.0, 0.0, 0.0, 1.0 }
-IMM FLT32 { 0.0, 1.0, 0.0, 1.0 }
-IMM FLT32 { 0.0, 0.0, 1.0, 1.0 }
-IMM FLT32 { 1.0, 1.0, 0.0, 1.0 }
-IMM FLT32 { 0.0, 1.0, 1.0, 1.0 }
-
-MOV OUT[0], IN[0]
-MUL TEMP[0], IN[0], IMM[0]
-ARL ADDR[0].x, TEMP[0]
-MOV OUT[1], IMM[ADDR[0].x + 3]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-arr.sh b/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-arr.sh
deleted file mode 100644
index 28ce6f9a0c..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-arr.sh
+++ /dev/null
@@ -1,23 +0,0 @@
-VERT1.1
-
-DCL IN[0], POSITION
-DCL OUT[0], POSITION
-DCL OUT[1], COLOR
-
-DCL TEMP[0]
-
-DCL ADDR[0]
-
-IMM FLT32 { 3.0, 1.0, 1.0, 1.0 }
-IMM FLT32 { 1.0, 0.0, 0.0, 1.0 }
-IMM FLT32 { 0.0, 1.0, 0.0, 1.0 }
-IMM FLT32 { 0.0, 0.0, 1.0, 1.0 }
-IMM FLT32 { 1.0, 1.0, 0.0, 1.0 }
-IMM FLT32 { 0.0, 1.0, 1.0, 1.0 }
-
-MOV OUT[0], IN[0]
-MUL TEMP[0], IN[0], IMM[0]
-ARR ADDR[0].x, TEMP[0]
-MOV OUT[1], IMM[ADDR[0].x + 3]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-dp3.sh b/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-dp3.sh
deleted file mode 100644
index b57d68520f..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-dp3.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-VERT1.1
-
-DCL IN[0], POSITION
-DCL IN[1], COLOR
-DCL OUT[0], POSITION
-DCL OUT[1], COLOR
-DCL TEMP[0]
-
-IMM FLT32 { 0.0, 0.0, 1.0, 1.0 }
-
-DP3 TEMP[0].xy, IN[0], IN[0]
-MOV TEMP[0].zw, IMM[0]
-MUL OUT[0], IN[0], TEMP[0]
-MOV OUT[1], IN[1]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-dp4.sh b/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-dp4.sh
deleted file mode 100644
index 0eb31719c5..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-dp4.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-VERT1.1
-
-DCL IN[0], POSITION
-DCL IN[1], COLOR
-DCL OUT[0], POSITION
-DCL OUT[1], COLOR
-DCL TEMP[0]
-
-IMM FLT32 { 0.0, 0.0, 1.0, 1.0 }
-
-DP4 TEMP[0].xy, IN[0], IN[0]
-MOV TEMP[0].zw, IMM[0]
-MUL OUT[0], IN[0], TEMP[0]
-MOV OUT[1], IN[1]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-dst.sh b/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-dst.sh
deleted file mode 100644
index dc5e0eb92e..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-dst.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-VERT1.1
-
-DCL IN[0], POSITION
-DCL IN[1], COLOR
-DCL OUT[0], POSITION
-DCL OUT[1], COLOR
-
-MOV OUT[0], IN[0]
-DST OUT[1], IN[1], IN[0]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-ex2.sh b/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-ex2.sh
deleted file mode 100644
index 34057af4e6..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-ex2.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-VERT1.1
-
-DCL IN[0], POSITION
-DCL IN[1], COLOR
-DCL OUT[0], POSITION
-DCL OUT[1], COLOR
-
-DCL TEMP[0..1]
-
-IMM FLT32 { 0.3, 0.3, 0.3, 1.0 }
-
-EX2 TEMP[0], IN[0]
-EX2 TEMP[1], IN[1].yyyy
-MUL TEMP[0], TEMP[0], IMM[0]
-MOV OUT[0], IN[0]
-MUL OUT[1], TEMP[0], TEMP[1]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-flr.sh b/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-flr.sh
deleted file mode 100644
index 44ad708119..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-flr.sh
+++ /dev/null
@@ -1,23 +0,0 @@
-VERT1.1
-
-DCL IN[0], POSITION
-DCL OUT[0], POSITION
-DCL OUT[1], COLOR
-
-DCL TEMP[0]
-
-DCL ADDR[0]
-
-IMM FLT32 { 3.0, 1.0, 1.0, 1.0 }
-IMM FLT32 { 1.0, 0.0, 0.0, 1.0 }
-IMM FLT32 { 0.0, 1.0, 0.0, 1.0 }
-IMM FLT32 { 0.0, 0.0, 1.0, 1.0 }
-IMM FLT32 { 1.0, 1.0, 0.0, 1.0 }
-IMM FLT32 { 0.0, 1.0, 1.0, 1.0 }
-
-MOV OUT[0], IN[0]
-MUL TEMP[0], IN[0], IMM[0]
-FLR ADDR[0].x, TEMP[0]
-MOV OUT[1], IMM[ADDR[0].x + 3]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-frc.sh b/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-frc.sh
deleted file mode 100644
index d179749de8..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-frc.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-VERT1.1
-
-DCL IN[0], POSITION
-DCL OUT[0], POSITION
-DCL OUT[1], COLOR
-
-DCL TEMP[0]
-
-IMM FLT32 { 2.7, 3.1, 4.5, 1.0 }
-
-MUL TEMP[0], IN[0].xyxw, IMM[0]
-MOV OUT[0], IN[0]
-FRC OUT[1], TEMP[0]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-lg2.sh b/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-lg2.sh
deleted file mode 100644
index f6e08d087c..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-lg2.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-VERT1.1
-
-DCL IN[0], POSITION
-DCL IN[1], COLOR
-DCL OUT[0], POSITION
-DCL OUT[1], COLOR
-
-DCL TEMP[0]
-
-IMM FLT32 { 1.0, 0.0, 0.0, 0.0 }
-IMM FLT32 { 0.5, 0.0, 0.0, 0.0 }
-
-ADD TEMP[0], IN[0], IMM[0]
-LG2 TEMP[0].x, TEMP[0].xxxx
-ADD OUT[0], TEMP[0], IMM[1]
-MOV OUT[1], IN[1]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-lit.sh b/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-lit.sh
deleted file mode 100644
index da98f30928..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-lit.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-VERT1.1
-
-DCL IN[0], POSITION
-DCL IN[1], COLOR
-DCL OUT[0], POSITION
-DCL OUT[1], COLOR
-
-MOV OUT[0], IN[0]
-LIT OUT[1], IN[1]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-lrp.sh b/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-lrp.sh
deleted file mode 100644
index 8c262580e2..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-lrp.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-VERT1.1
-
-DCL IN[0], POSITION
-DCL IN[1], COLOR
-DCL OUT[0], POSITION
-DCL OUT[1], COLOR
-
-DCL TEMP[0]
-
-ABS TEMP[0], IN[0]
-MOV OUT[0], IN[0]
-LRP OUT[1], TEMP[0], IN[1].xxxx, IN[1].yyyy
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-mad.sh b/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-mad.sh
deleted file mode 100644
index eb07a3bd56..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-mad.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-VERT1.1
-
-DCL IN[0], POSITION
-DCL IN[1], COLOR
-DCL OUT[0], POSITION
-DCL OUT[1], COLOR
-
-IMM FLT32 { 0.5, 1.0, 1.0, 1.0 }
-IMM FLT32 { 0.5, 0.0, 0.0, 0.0 }
-
-MAD OUT[0], IN[0], IMM[0], IMM[1]
-MOV OUT[1], IN[1]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-max.sh b/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-max.sh
deleted file mode 100644
index 2d8b1fe3bf..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-max.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-VERT1.1
-
-DCL IN[0], POSITION
-DCL IN[1], COLOR
-DCL OUT[0], POSITION
-DCL OUT[1], COLOR
-
-IMM FLT32 { 0.5, 0.5, 0.5, 0.0 }
-
-MOV OUT[0], IN[0]
-MAX OUT[1], IN[1], IMM[0]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-min.sh b/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-min.sh
deleted file mode 100644
index 84af0e2905..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-min.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-VERT1.1
-
-DCL IN[0], POSITION
-DCL IN[1], COLOR
-DCL OUT[0], POSITION
-DCL OUT[1], COLOR
-
-IMM FLT32 { 0.5, 0.5, 0.5, 0.0 }
-
-MOV OUT[0], IN[0]
-MIN OUT[1], IN[1], IMM[0]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-mov.sh b/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-mov.sh
deleted file mode 100644
index bcdec07c20..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-mov.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-VERT1.1
-
-DCL IN[0], POSITION
-DCL IN[1], COLOR
-DCL OUT[0], POSITION
-DCL OUT[1], COLOR
-
-MOV OUT[0], IN[0]
-MOV OUT[1], IN[1]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-mul.sh b/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-mul.sh
deleted file mode 100644
index f3b57c3038..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-mul.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-VERT1.1
-
-DCL IN[0], POSITION
-DCL IN[1], COLOR
-DCL OUT[0], POSITION
-DCL OUT[1], COLOR
-
-IMM FLT32 { 0.6, 0.6, 1.0, 1.0 }
-
-MUL OUT[0], IN[0], IMM[0]
-MOV OUT[1], IN[1]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-rcp.sh b/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-rcp.sh
deleted file mode 100644
index 78af589b5c..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-rcp.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-VERT1.1
-
-DCL IN[0], POSITION
-DCL IN[1], COLOR
-DCL OUT[0], POSITION
-DCL OUT[1], COLOR
-
-DCL TEMP[0]
-
-IMM FLT32 { 1.0, 0.0, 0.0, 0.0 }
-IMM FLT32 { 1.5, 0.0, 0.0, 0.0 }
-
-ADD TEMP[0], IN[0], IMM[0]
-RCP TEMP[0].x, TEMP[0].xxxx
-SUB OUT[0], TEMP[0], IMM[1]
-MOV OUT[1], IN[1]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-rsq.sh b/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-rsq.sh
deleted file mode 100644
index 1675c7d5ff..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-rsq.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-VERT1.1
-
-DCL IN[0], POSITION
-DCL IN[1], COLOR
-DCL OUT[0], POSITION
-DCL OUT[1], COLOR
-
-DCL TEMP[0]
-
-IMM FLT32 { 1.0, 0.0, 0.0, 0.0 }
-IMM FLT32 { 1.5, 0.0, 0.0, 0.0 }
-
-ADD TEMP[0], IN[0], IMM[0]
-RSQ TEMP[0].x, TEMP[0].xxxx
-SUB OUT[0], TEMP[0], IMM[1]
-MOV OUT[1], IN[1]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-sge.sh b/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-sge.sh
deleted file mode 100644
index 3d92cd5aae..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-sge.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-VERT1.1
-
-DCL IN[0], POSITION
-DCL IN[1], COLOR
-DCL OUT[0], POSITION
-DCL OUT[1], COLOR
-
-DCL TEMP[0]
-
-IMM FLT32 { -0.1, -0.1, 1.0, 0.0 }
-
-SGE TEMP[0], IN[0], IMM[0]
-MOV OUT[0], IN[0]
-MUL OUT[1], IN[1], TEMP[0]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-slt.sh b/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-slt.sh
deleted file mode 100644
index 85c60ff4ec..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-slt.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-VERT1.1
-
-DCL IN[0], POSITION
-DCL IN[1], COLOR
-DCL OUT[0], POSITION
-DCL OUT[1], COLOR
-
-DCL TEMP[0]
-
-IMM FLT32 { 0.6, 0.6, 0.0, 0.0 }
-
-SLT TEMP[0], IN[0], IMM[0]
-MOV OUT[0], IN[0]
-MUL OUT[1], IN[1], TEMP[0]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-srcmod-abs.sh b/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-srcmod-abs.sh
deleted file mode 100644
index 6db417a62e..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-srcmod-abs.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-VERT1.1
-
-DCL IN[0], POSITION
-DCL IN[1], COLOR
-DCL OUT[0], POSITION
-DCL OUT[1], COLOR
-DCL TEMP[0]
-
-IMM FLT32 { 0.1, 0.1, 0.0, 0.0 }
-
-ADD TEMP[0], IN[0], IMM[0]
-MOV OUT[0], |TEMP[0]|
-MOV OUT[1], IN[1]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-srcmod-absneg.sh b/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-srcmod-absneg.sh
deleted file mode 100644
index fc83238052..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-srcmod-absneg.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-VERT1.1
-
-DCL IN[0], POSITION
-DCL IN[1], COLOR
-DCL OUT[0], POSITION
-DCL OUT[1], COLOR
-DCL TEMP[0]
-
-IMM FLT32 { -0.2, -0.2, 0.0, 0.0 }
-
-ADD TEMP[0], IN[0], IMM[0]
-MOV OUT[0].xy, -|TEMP[0]|
-MOV OUT[0].zw, IN[0]
-MOV OUT[1], IN[1]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-srcmod-neg.sh b/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-srcmod-neg.sh
deleted file mode 100644
index ce4e90b5e1..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-srcmod-neg.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-VERT1.1
-
-DCL IN[0], POSITION
-DCL IN[1], COLOR
-DCL OUT[0], POSITION
-DCL OUT[1], COLOR
-
-MOV OUT[0].xy, -IN[0]
-MOV OUT[0].zw, IN[0]
-MOV OUT[1], IN[1]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-srcmod-swz.sh b/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-srcmod-swz.sh
deleted file mode 100644
index c03de4c674..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-srcmod-swz.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-VERT1.1
-
-DCL IN[0], POSITION
-DCL IN[1], COLOR
-DCL OUT[0], POSITION
-DCL OUT[1], COLOR
-
-MOV OUT[0], IN[0].yxzw
-MOV OUT[1], IN[1]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-sub.sh b/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-sub.sh
deleted file mode 100644
index a583b95828..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-sub.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-VERT1.1
-
-DCL IN[0], POSITION
-DCL IN[1], COLOR
-DCL OUT[0], POSITION
-DCL OUT[1], COLOR
-
-IMM FLT32 { 0.1, 0.1, 0.0, 0.0 }
-
-SUB OUT[0], IN[0], IMM[0]
-MOV OUT[1], IN[1]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-xpd.sh b/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-xpd.sh
deleted file mode 100644
index 8def8943b0..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vert-xpd.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-VERT1.1
-
-DCL IN[0], POSITION
-DCL IN[1], COLOR
-DCL OUT[0], POSITION
-DCL OUT[1], COLOR
-
-MOV OUT[0], IN[0]
-XPD OUT[1], IN[0], IN[1]
-
-END
diff --git a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vertex-shader.py b/src/gallium/state_trackers/python/tests/regress/vertex-shader/vertex-shader.py
deleted file mode 100644
index 472769f259..0000000000
--- a/src/gallium/state_trackers/python/tests/regress/vertex-shader/vertex-shader.py
+++ /dev/null
@@ -1,247 +0,0 @@
-#!/usr/bin/env python
-##########################################################################
-#
-# Copyright 2009 VMware, Inc.
-# 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, sub license, 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 (including the
-# next paragraph) 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 NON-INFRINGEMENT.
-# IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS 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.
-#
-##########################################################################
-
-
-from gallium import *
-
-def make_image(surface):
- data = surface.get_tile_rgba8(0, 0, surface.width, surface.height)
-
- import Image
- outimage = Image.fromstring('RGBA', (surface.width, surface.height), data, "raw", 'RGBA', 0, 1)
- return outimage
-
-def save_image(filename, surface):
- outimage = make_image(surface)
- outimage.save(filename, "PNG")
-
-def test(dev, name):
- ctx = dev.context_create()
-
- width = 320
- height = 320
- minz = 0.0
- maxz = 1.0
-
- # disabled blending/masking
- blend = Blend()
- blend.rgb_src_factor = PIPE_BLENDFACTOR_ONE
- blend.alpha_src_factor = PIPE_BLENDFACTOR_ONE
- blend.rgb_dst_factor = PIPE_BLENDFACTOR_ZERO
- blend.alpha_dst_factor = PIPE_BLENDFACTOR_ZERO
- blend.colormask = PIPE_MASK_RGBA
- ctx.set_blend(blend)
-
- # depth/stencil/alpha
- depth_stencil_alpha = DepthStencilAlpha()
- depth_stencil_alpha.depth.enabled = 0
- depth_stencil_alpha.depth.writemask = 1
- depth_stencil_alpha.depth.func = PIPE_FUNC_LESS
- ctx.set_depth_stencil_alpha(depth_stencil_alpha)
-
- # rasterizer
- rasterizer = Rasterizer()
- rasterizer.front_winding = PIPE_WINDING_CW
- rasterizer.cull_mode = PIPE_WINDING_NONE
- rasterizer.scissor = 1
- ctx.set_rasterizer(rasterizer)
-
- # viewport
- viewport = Viewport()
- scale = FloatArray(4)
- scale[0] = width / 2.0
- scale[1] = -height / 2.0
- scale[2] = (maxz - minz) / 2.0
- scale[3] = 1.0
- viewport.scale = scale
- translate = FloatArray(4)
- translate[0] = width / 2.0
- translate[1] = height / 2.0
- translate[2] = (maxz - minz) / 2.0
- translate[3] = 0.0
- viewport.translate = translate
- ctx.set_viewport(viewport)
-
- # samplers
- sampler = Sampler()
- sampler.wrap_s = PIPE_TEX_WRAP_CLAMP_TO_EDGE
- sampler.wrap_t = PIPE_TEX_WRAP_CLAMP_TO_EDGE
- sampler.wrap_r = PIPE_TEX_WRAP_CLAMP_TO_EDGE
- sampler.min_mip_filter = PIPE_TEX_MIPFILTER_NONE
- sampler.min_img_filter = PIPE_TEX_MIPFILTER_NEAREST
- sampler.mag_img_filter = PIPE_TEX_MIPFILTER_NEAREST
- sampler.normalized_coords = 1
- ctx.set_sampler(0, sampler)
-
- # scissor
- scissor = Scissor()
- scissor.minx = 0
- scissor.miny = 0
- scissor.maxx = width
- scissor.maxy = height
- ctx.set_scissor(scissor)
-
- clip = Clip()
- clip.nr = 0
- ctx.set_clip(clip)
-
- # framebuffer
- cbuf = dev.texture_create(
- PIPE_FORMAT_X8R8G8B8_UNORM,
- width, height,
- tex_usage=PIPE_TEXTURE_USAGE_DISPLAY_TARGET,
- ).get_surface()
- fb = Framebuffer()
- fb.width = width
- fb.height = height
- fb.nr_cbufs = 1
- fb.set_cbuf(0, cbuf)
- ctx.set_framebuffer(fb)
- rgba = FloatArray(4);
- rgba[0] = 0.5
- rgba[1] = 0.5
- rgba[2] = 0.5
- rgba[3] = 0.5
- ctx.clear(PIPE_CLEAR_COLOR, rgba, 0.0, 0)
-
- # vertex shader
- vs = Shader(file('vert-' + name + '.sh', 'rt').read())
- ctx.set_vertex_shader(vs)
-
- # fragment shader
- fs = Shader('''
- FRAG1.1
- DCL IN[0], COLOR, LINEAR
- DCL OUT[0], COLOR, CONSTANT
- 0:MOV OUT[0], IN[0]
- 1:END
- ''')
- ctx.set_fragment_shader(fs)
-
- xy = [
- 0.0, 0.8,
- -0.2, 0.4,
- 0.2, 0.4,
- -0.4, 0.0,
- 0.0, 0.0,
- 0.4, 0.0,
- -0.6, -0.4,
- -0.2, -0.4,
- 0.2, -0.4,
- 0.6, -0.4,
- -0.8, -0.8,
- -0.4, -0.8,
- 0.0, -0.8,
- 0.4, -0.8,
- 0.8, -0.8,
- ]
- color = [
- 1.0, 0.0, 0.0,
- 0.0, 1.0, 0.0,
- 0.0, 0.0, 1.0,
- ]
- tri = [
- 1, 2, 0,
- 3, 4, 1,
- 4, 2, 1,
- 4, 5, 2,
- 6, 7, 3,
- 7, 4, 3,
- 7, 8, 4,
- 8, 5, 4,
- 8, 9, 5,
- 10, 11, 6,
- 11, 7, 6,
- 11, 12, 7,
- 12, 8, 7,
- 12, 13, 8,
- 13, 9, 8,
- 13, 14, 9,
- ]
-
- nverts = 16 * 3
- nattrs = 2
- verts = FloatArray(nverts * nattrs * 4)
-
- for i in range(0, nverts):
- verts[i * nattrs * 4 + 0] = xy[tri[i] * 2 + 0] # x
- verts[i * nattrs * 4 + 1] = xy[tri[i] * 2 + 1] # y
- verts[i * nattrs * 4 + 2] = 0.5 # z
- verts[i * nattrs * 4 + 3] = 1.0 # w
- verts[i * nattrs * 4 + 4] = color[(i % 3) * 3 + 0] # r
- verts[i * nattrs * 4 + 5] = color[(i % 3) * 3 + 1] # g
- verts[i * nattrs * 4 + 6] = color[(i % 3) * 3 + 2] # b
- verts[i * nattrs * 4 + 7] = 1.0 # a
-
- ctx.draw_vertices(PIPE_PRIM_TRIANGLES,
- nverts,
- nattrs,
- verts)
-
- ctx.flush()
-
- save_image('vert-' + name + '.png', cbuf)
-
-def main():
- tests = [
- 'abs',
- 'add',
- 'arl',
- 'arr',
- 'dp3',
- 'dp4',
- 'dst',
- 'ex2',
- 'flr',
- 'frc',
- 'lg2',
- 'lit',
- 'lrp',
- 'mad',
- 'max',
- 'min',
- 'mov',
- 'mul',
- 'rcp',
- 'rsq',
- 'sge',
- 'slt',
- 'srcmod-abs',
- 'srcmod-absneg',
- 'srcmod-neg',
- 'srcmod-swz',
- 'sub',
- 'xpd',
- ]
-
- dev = Device()
- for t in tests:
- test(dev, t)
-
-if __name__ == '__main__':
- main()
diff --git a/src/glu/mesa/Makefile b/src/glu/mesa/Makefile
deleted file mode 100644
index c468ce6210..0000000000
--- a/src/glu/mesa/Makefile
+++ /dev/null
@@ -1,56 +0,0 @@
-# src/glu/mesa/Makefile
-
-TOP = ../../..
-
-include $(TOP)/configs/current
-
-GLU_MAJOR = 1
-GLU_MINOR = 1
-GLU_TINY = 0$(MESA_MAJOR)0$(MESA_MINOR)0$(MESA_TINY)
-
-C_SOURCES = \
- glu.c \
- mipmap.c \
- nurbs.c \
- nurbscrv.c \
- nurbssrf.c \
- nurbsutl.c \
- polytest.c \
- project.c \
- quadric.c \
- tess.c \
- tesselat.c
-
-OBJECTS = $(C_SOURCES:.c=.o)
-
-INCLUDES = -I. -I$(TOP)/include
-
-##### RULES #####
-
-.c.o:
- $(CC) -c $(INCLUDES) $(CFLAGS) $< -o $@
-
-##### TARGETS #####
-
-default:
- @if [ "${CONFIG_NAME}" = "beos" ] ; then \
- echo "$(GLU_LIB_NAME) not build under BeOS, but integrated into ${GL_LIB_NAME}." ; \
- exit 0 ; \
- else \
- $(MAKE) $(TOP)/$(LIB_DIR)/$(GLU_LIB_NAME) || exit 1 ; \
- fi
-
-$(TOP)/$(LIB_DIR):
- -mkdir $(TOP)/$(LIB_DIR)
-
-# Make the library:
-$(TOP)/$(LIB_DIR)/$(GLU_LIB_NAME): $(OBJECTS)
- @ $(MKLIB) -o $(GLU_LIB) -linker '$(CC)' -ldflags '$(LDFLAGS)' \
- -major $(GLU_MAJOR) -minor $(GLU_MINOR) -patch $(GLU_TINY) \
- $(MKLIB_OPTIONS) -install $(TOP)/$(LIB_DIR) \
- $(GLU_LIB_DEPS) $(OBJECTS)
-
-clean:
- -rm -f *.o */*.o */*/*.o
- -rm -f *.lo */*.lo */*/*.lo
- -rm -f *.la */*.la */*/*.la
diff --git a/src/glu/mesa/Makefile.m32 b/src/glu/mesa/Makefile.m32
deleted file mode 100644
index e2cf9dd527..0000000000
--- a/src/glu/mesa/Makefile.m32
+++ /dev/null
@@ -1,63 +0,0 @@
-# Makefile for GLU for GCC-2.95.2/Mingw32 contributed by
-# Paul Garceau <pgarceau@teleport.com>
-
-# Mesa 3-D graphics library
-# Version: 3.3
-# Copyright (C) 1995-1999 Brian Paul
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Library General Public
-# License as published by the Free Software Foundation; either
-# version 2 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Library General Public License for more details.
-#
-# You should have received a copy of the GNU Library General Public
-# License along with this library; if not, write to the Free
-# Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-
-MESA_MAJOR=3
-MESA_MINOR=3
-MESA_TINY=0
-VERSION=$(MESA_MAJOR).$(MESA_MINOR)
-
-CFLAGS = -I. -DWIN32 -D__WIN32__ -D_WINDOWS \
- -O2 -funroll-loops \
- -fexpensive-optimizations -fomit-frame-pointer -ffast-math \
- -malign-loops=2 -malign-jumps=2 -malign-functions=2 \
- -mwindows
-CC = gcc
-MAKELIB = ar ru
-GLU_LIB = libGLU.a
-
-
-##### MACROS #####
-
-VPATH = RCS
-
-INCDIR = ../include
-LIBDIR = ../lib
-
-SOURCES = glu.c mipmap.c nurbs.c nurbscrv.c nurbssrf.c nurbsutl.c \
- polytest.c project.c quadric.c tess.c tesselat.c
-
-OBJECTS = $(SOURCES:.c=.o)
-
-
-
-##### RULES #####
-
-.c.o:
- $(CC) -c -I$(INCDIR) $(CFLAGS) $<
-
-
-
-##### TARGETS #####
-
-# Make the library:
-$(LIBDIR)/$(GLU_LIB): $(OBJECTS)
- $(MAKELIB) $(GLU_LIB) $(MAJOR) $(MINOR) $(TINY) $(OBJECTS) \ No newline at end of file
diff --git a/src/glu/mesa/Makefile.ugl b/src/glu/mesa/Makefile.ugl
deleted file mode 100644
index fc189bd804..0000000000
--- a/src/glu/mesa/Makefile.ugl
+++ /dev/null
@@ -1,96 +0,0 @@
-# Mesa 3-D graphics library
-# Version: 3.5
-#
-# Copyright (C) 2001 Wind River Systems, Inc
-
-# The MIT License
-# 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.
-
-# Makefile for GLU library
-
-##### MACROS #####
-GLU_MAJOR = 1
-GLU_MINOR = 3
-GLU_TINY = 0$(MESA_MAJOR)0$(MESA_MINOR)0$(MESA_TINY)
-
-##### RULES #####
-
-include ../rules.windml
-
-GLU_SOURCES = \
- glu.c \
- mipmap.c \
- nurbs.c \
- nurbscrv.c \
- nurbssrf.c \
- nurbsutl.c \
- polytest.c \
- project.c \
- quadric.c \
- tess.c \
- tesselat.c \
- ../src/windml/tornado/torMesaGLUInit.c
-
-GLU_OBJECTS = $(GLU_SOURCES:.c=.o)
-GLU_OBJNAME = $(MESA_LIBDIR)/objMesaGLU.o
-
-SOURCES = $(GLU_SOURCES)
-
-##### TARGETS #####
-
-all: depend.$(CPU)$(TOOL) $(GLU_OBJNAME)
-
-# Make the GLU library
-$(GLU_OBJNAME): $(GLU_OBJECTS)
-# $(LD) -r $(GLU_OBJECTS) -o $(MESA_OBJNAME)
- $(LD) -r $(GLU_OBJECTS) -o $(GLU_OBJNAME)
-# $(AR) rus $(MESA_LIBNAME) $(GLU_OBJNAME)
-# $(AR) rus $(VX_LIBNAME) $(GLU_OBJNAME)
-
-depend.$(CPU)$(TOOL):
-ifeq ($(WIND_HOST_TYPE),x86-win32)
- @ $(RM) $@
- @ $(ECHO) Creating depend.$(CPU)$(TOOL)
-ifneq ($(SOURCES),)
- @ for %f in ($(SOURCES)) do \
- $(CC) -MM $(CFLAGS) %f >>$@
-endif
-else
-Makefile
- @ $(RM) $@
- @ $(ECHO) "Creating depend.$(CPU)$(TOOL)"
-ifneq ($(SOURCES),)
- @ for FILE in $(filter-out $(NODEPENDOBJS), $(SOURCES)); \
- do \
- $(CC) -MM $(CFLAGS) $$FILE \
- | $(TCL) $(BIN_DIR)/depend.tcl $(TGT_DIR) >>$@; \
- done
-endif
-endif
-
-.PHONY = clean
-
-clean:
-# $(AR) d $(MESA_LIBNAME) $(GLU_OBJNAME)
-# $(AR) d $(VX_LIBNAME) $(GLU_OBJNAME)
- $(RM) $(GLU_OBJNAME)
- $(RM) $(GLU_OBJECTS)
- $(RM) depend.$(CPU)$(TOOL)
-
-include depend.$(CPU)$(TOOL)
diff --git a/src/glu/mesa/MesaGLU.def b/src/glu/mesa/MesaGLU.def
deleted file mode 100644
index 0cdd7bb787..0000000000
--- a/src/glu/mesa/MesaGLU.def
+++ /dev/null
@@ -1,62 +0,0 @@
-LIBRARY GLU32
-DESCRIPTION 'GLU for Windows Mesa'
-EXETYPE WINDOWS
-CODE MOVEABLE DISCARDABLE
-DATA MOVEABLE SINGLE
-HEAPSIZE 256000
-
-STACKSIZE 4096
-
-EXPORTS
- gluLookAt
- gluOrtho2D
- gluPerspective
- gluPickMatrix
- gluProject
- gluUnProject
- gluErrorString
- gluScaleImage
- gluBuild1DMipmaps
- gluBuild2DMipmaps
- gluNewQuadric
- gluDeleteQuadric
- gluQuadricDrawStyle
- gluQuadricOrientation
- gluQuadricNormals
- gluQuadricTexture
- gluQuadricCallback
- gluCylinder
- gluSphere
- gluDisk
- gluPartialDisk
- gluNewNurbsRenderer
- gluDeleteNurbsRenderer
- gluLoadSamplingMatrices
- gluNurbsProperty
- gluGetNurbsProperty
- gluBeginCurve
- gluEndCurve
- gluNurbsCurve
- gluBeginSurface
- gluEndSurface
- gluNurbsSurface
- gluBeginTrim
- gluEndTrim
- gluPwlCurve
- gluNurbsCallback
- gluNewTess
- gluDeleteTess
-; gluTessBeginPolygon
-; gluTessBeginContour
- gluTessVertex
-; gluTessEndContour
-; gluTessEndPolygon
-; gluTessProperty
-; gluTessNormal
- gluTessCallback
-; gluGetTessProperty
- gluBeginPolygon
- gluNextContour
- gluEndPolygon
- gluGetString
-
diff --git a/src/glu/mesa/README1 b/src/glu/mesa/README1
deleted file mode 100644
index 75968572ff..0000000000
--- a/src/glu/mesa/README1
+++ /dev/null
@@ -1,195 +0,0 @@
-
-Notes on the GLU polygon tesselation facility implemented by Bogdan Sikorski...
-
-
-
-The tesselation module is provided under the same terms as the Mesa
-package.
-
-This is the first release of polygon tesselation code for Mesa.
-It was written during my very little free time, so lets name it:
-"its not perfect". If someone hates pointers, don't look at the code.
-I preffer dynamic allocation versus static. But _all_ ideas, suggestions,
-bug reports and fixes are welcome (if You want, also flames). I am aware
-that many things could have been written using better techniques, but time
-that I could devote to this library was very limited. It is not well commented,
-excuse me. Also I am thinking of continuing working on this code to improve,
-fix and polish it. And make it as compliant as possible to the OpenGL, so
-software ports from OpenGL to Mesa will work correctly. If You know of any
-differences in behaviour, expected input/output between Mesa tesselation library
-and OpenGL, please send me a note. I explain later on why I am not
-confident with this code.
-
-I tried to be fully compliant with the OpenGL routines. By "tried" I mean that
-up to my knowledge it behaves as OpenGL tesselation routines. Just recently
-I began to experiment with OpenGL (actually only Mesa), and also have
-no access to any machine providing official implementation of OpenGL,
-nor access to books (particulary Addison-Wesley publications). Thus my
-knowledge on how the original tesselation code works, what kind of data
-it expects etc. is based _only_ on the publicly available documentation
-provided by SGI. Namely:
-
-* "The OpenGL Graphics System Utility Library" by K.P.Smith
- (Silicon Graphics, 1992)
-* "The OpenGL Graphics Interface" by M.Segal and K.Akeley
- (Silicon Graphics, 19??)
-* "OpenGL and X, Part 1: Introduction" by M.J.Kilgard
- (Silicon Graphics, 1994)
-* "OpenGL and X, Part 2: Using OpenGL with Xlib" by M.J.Kilgard
- (Silicon Graphics, 1994)
-* "OpenGL Graphics with the X Window System" by P.Karlton
- (Silicon Graphics, 1993)
-* Online Docs - Appendix C of OpenGL Programming Guide, Polygon Tesselation
- (partial text cut and sent by e-mail)
-
-
-The tesselation routines use slightly different prototypes than the ones
-specified in the mentioned above publications. The _only_ differences are
-the enumeration types which are not GLenum, but are GLUenum. So the
-implemented routines have following prototypes:
-
-GLUtringulatorObj *gluNewTess(void);
-
-void gluTessCallback(GLUtriangulatorObj *,GLUenum,void (*)());
- ^^^^^^^
-void gluBeginPolygon(GLUtriangulatorObj *);
-
-void gluTessVertex(GLUtriangulatorObj *,GLdouble [3],void *);
-
-void gluNextContour(GLUtriangulatorObj *,GLUenum);
- ^^^^^^^
-void gluEndPolygon(GLUtriangulatorObj *);
-
-const GLubyte *gluErrorString(GLUenum);
- ^^^^^^^
- prototypes for callback functions:
-
-void <begin>(GLUenum);
- ^^^^^^^
-void <edgeFlag>(GLboolean);
-void <vertex>(void *);
-void <end>(void);
-void <error>(GLUenum);
- ^^^^^^^
-
-The begin callback will be called only with GLU_TRIANGLES. No support
-for traingle fans or strips yet.
-
-In case of errors an internal error variable is set to the appropiate
-error enum values (GLU_TESS_ERROR?). Initially it is set to GLU_NO_ERROR.
-The OpenGL library provides 8 error conditions, the tesselation code
-of Mesa provides 9. They are:
-
-GLU_TESS_ERROR1: missing gluEndPolygon /* same as OpenGL */
-GLU_TESS_ERROR2: missing gluBeginPolygon /* same as OpenGL */
-GLU_TESS_ERROR3: misoriented contour /* not used in Mesa
- in OpenGL is bad orientation or intersecting edges */
-GLU_TESS_ERROR4: vertex/edge intersection /* same as OpenGL */
-GLU_TESS_ERROR5: misoriented or self-intersecting loops /* same as OpenGL */
-GLU_TESS_ERROR6: coincident vertices /* same as OpenGL */
-GLU_TESS_ERROR7: colinear vertices /* OpenGL's illegal data */
-GLU_TESS_ERROR8: intersecting edges /* same as OpenGL */
-GLU_TESS_ERROR9: not coplanar contours /* new for Mesa */
-
-The Mesa tesselation code ignores all data and calls after detecting an error
-codition. This means that a _new_ tesselation object must be used for further
-triangulations. Maybe this is too restrictive, and will be lifted in
-future versions.
-
-The tesselation code completely ignores the type parameter passed in
-gluNextContour. It also doesn't check if the passed parameter is a legal
-enum value - ignores silently (maybe at least this should be checked).
-The reason I chose this behaviour is based on what I read in the
-beforementioned documents. I cite:
-
-"....
-void gluNextContour(GLUtriangulatorObj *tessobj, GLenum type);
-
-Marks the beginning of the next contour when multiple contours make up the
-boundary of the polygon to be tessellated. type can be GLU_EXTERIOR,
-GLU_INTERIOR, GLU_CCW, GLU_CW, or GLU_UNKNOWN. These serve only as
-to the tessellation. If you get them right, the tessellation might
-go faster. If you get them wrong, they're ignored, and the tesselation still
-works.
-....."
-
-I hope You agree with me that my decision was correct. Mesa tesselation
-_always_ checks by itself the interrelations between contours. Just as if
-all contours were specified with the type GLU_UNKNOWN.
-
-One of OpenGL's policy is not to check all error conditions - rely sometimes
-that the user "got things right". This is justified, since exhausting
-error checking is timeconsuming, and would significantly slow down
-a correct application. The Mesa tesselation code assumes only _one_ condition
-when triangulating - all vertices in a contour are planar. This is _not_
-checked for correctness. Trying to tesselate such objects will lead to
-unpredictable output.
-
-And now we arrive to the moment where I would like to list the required
-(but checked for) conditions for triangulation, as well as summarize the
-library:
-
-* all contours in a single tesselation cycle _must_ be coplanar - if not
- an error is raised (and if provided a call to the error callback
- is made)
-* the contours can be passed in _any_ order, exteriors and holes can be
- intermixed within a tesselation cycle and the correct hierarchy
- will be determined by the library; thus specifying first holes then
- exteriors, then holes within holes form a valid input.
-* a hole within a hole is consider to be a yet another exterior contour
-* multiple exterior contours (polygons) can be tesselated in one cycle;
- _but_ this significantly degrades performance since many tests will be
- performed for every contour pair; if You want triangulation to be fast
- tesselate a single polygon (with possible holes) one at a time.
-* orientation of exterior contours is arbitray, but if it has holes,
- all interior holes of this particular exterior contour _must_ have an
- opposite orientation.
-* the output triangles have the same orientation as the exterior contour
- that forms them
-* each triangle is "enclosed" within the begin and end callbacks;
- this is not efficent, but was made on purpose; so if triangulation
- results in 2 triangles the following callbacks will be made in such
- order:
- <begin>(GLU_TRAINGLES)
- <vertex>(...) /* 3 vertices of first triangle */
- <vertex>(...)
- <vertex>(...)
- <end>()
- <begin>(GLU_TRAINGLES)
- <vertex>(...) /* 3 vertices of second triangle */
- <vertex>(...)
- <vertex>(...)
- <end>()
- Of course only when begin, vertex, and end callback were provided,
- otherwise no output is done (actually tesselation does not take place).
-* You will notice that some output traingles are very "thin"; there
- exist possible several ways to traingulate a polygon, but "smart" code
- avoiding such cases would require time to write, and will impact on
- execution speed.
-* like OpenGL, no new vertices are introduced during triangulation
-* if the edgeflag callback is provided it will be called whenever
- the just-about-to be output vertex begins a different type of edge
- than the previous vertices; always before the first output a call
- is made with GL_TRUE, to allow synchronization.
-* all intermediate computations are done using GLdouble type, and comparisons
- are biased with a precision value (EPSILON defined in tess.h)
-* the point_in_poly function is my adaptation of code from the
- comp.graphics.alg newsgroup FAQ (originally written by Mr. Wm. Randolph
- Franklin, modified by Scott Anguish).
-* the edge_edge_intersect test is also an adopted code from comp.graphics.alg
- newsgroup FAQ
-* the general idea for traingulation used in this library is described in
- the book "Computational Geometry in C" by Joseph O'Rourke.
-
-
-Excuse my English, its not my mother tongue. I should be available for some
-time uner the following e-mail address. But For how long I am not certain.
-Once I am settled in my new place, I'll post on the Mesa mailing list
-my new address.
-
-(PS: today is my last day of work here, I'm changing my job).
-
-Bogdan. ( bogdan@dia.unisa.it )
-
-Apr 28, 1995.
-
diff --git a/src/glu/mesa/README2 b/src/glu/mesa/README2
deleted file mode 100644
index 3c9959179b..0000000000
--- a/src/glu/mesa/README2
+++ /dev/null
@@ -1,43 +0,0 @@
-The current NURBS implementation has no trimming facilities yet.
-
-The code is not well commented.
-
-1) Normal calculus fails for special cases of NURBS (independent
- of the NURBS modules)
- Those cases arise when for u or v, some control points
- for a fixed value of that parameter form the same point.
- Imagine a Bezier patch degenerated into a "triangle".
-
- v ^ 0,1,2 order=3
- | *
- |
- | 3* 4* 5*
- |
- | 6* 7* 8*
- |
- |
- +------------------------> u
-
- The calculus of du derivative at triple point (0,1 and 2) will fail.
- As a result, the normal vector will be 0.
- The eval2.c code has to be changed to handle the above situation.
-
-2) Adjacent NURBS surfaces ("sharing" the same control points along
- the "joining" edge) will be sampled with the same factor.
- This prevents the formation of "cracks".
- When the control polygon of the "shared" edge is not the same,
- cracks might appear.
-
-The sampling tolerance is sometimes not respected!
-A NURBS object is broken into Bezier curves/surfaces. If one of such
-Bezier objects has a local high curvature with other portions of it
-relatively flat then the high curvature part will be sampled more dense that
-its flatter regions.
-The flat regions might be tesselated into quads having sides of length
-greater than the current sampling tolernace setting.
-I believe such behaviour is acceptable, though not along the concept of
-sampling tolerance.
-
-February 20, 1996.
-
-Bogdan.
diff --git a/src/glu/mesa/all.h b/src/glu/mesa/all.h
deleted file mode 100644
index 874c935925..0000000000
--- a/src/glu/mesa/all.h
+++ /dev/null
@@ -1,54 +0,0 @@
-
-/*
- * Mesa 3-D graphics library
- * Version: 3.3
- * Copyright (C) 1995-2000 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-
-/*
- * This file includes all .h files needed for the GLU source code for
- * the purpose of precompiled headers.
- *
- * If the preprocessor symbol PCH is defined at compile time then each
- * of the .c files will #include "all.h" only, instead of a bunch of
- * individual .h files.
- */
-
-
-#ifndef GLU_ALL_H
-#define GLU_ALL_H
-
-
-#ifndef PC_HEADER
-This is an error. all.h should be included only if PCH is defined.
-#endif
-
-
-#include <assert.h>
-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include "GL/gl.h"
-#include "GL/glu.h"
-#include "gluP.h"
-#include "nurbs.h"
-#include "tess.h"
-
-
-#endif /*GLU_ALL_H */
diff --git a/src/glu/mesa/glu.c b/src/glu/mesa/glu.c
deleted file mode 100644
index f9e33980a4..0000000000
--- a/src/glu/mesa/glu.c
+++ /dev/null
@@ -1,416 +0,0 @@
-
-/*
- * Mesa 3-D graphics library
- * Version: 3.5
- * Copyright (C) 1995-2001 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-
-#ifdef PC_HEADER
-#include "all.h"
-#else
-#include <assert.h>
-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include "gluP.h"
-#endif
-
-
-/*
- * Miscellaneous utility functions
- */
-
-
-#ifndef M_PI
-#define M_PI 3.1415926536
-#endif
-#define EPS 0.00001
-
-#ifndef GLU_INCOMPATIBLE_GL_VERSION
-#define GLU_INCOMPATIBLE_GL_VERSION 100903
-#endif
-
-
-void GLAPIENTRY
-gluLookAt(GLdouble eyex, GLdouble eyey, GLdouble eyez,
- GLdouble centerx, GLdouble centery, GLdouble centerz,
- GLdouble upx, GLdouble upy, GLdouble upz)
-{
- GLdouble m[16];
- GLdouble x[3], y[3], z[3];
- GLdouble mag;
-
- /* Make rotation matrix */
-
- /* Z vector */
- z[0] = eyex - centerx;
- z[1] = eyey - centery;
- z[2] = eyez - centerz;
- mag = sqrt(z[0] * z[0] + z[1] * z[1] + z[2] * z[2]);
- if (mag) { /* mpichler, 19950515 */
- z[0] /= mag;
- z[1] /= mag;
- z[2] /= mag;
- }
-
- /* Y vector */
- y[0] = upx;
- y[1] = upy;
- y[2] = upz;
-
- /* X vector = Y cross Z */
- x[0] = y[1] * z[2] - y[2] * z[1];
- x[1] = -y[0] * z[2] + y[2] * z[0];
- x[2] = y[0] * z[1] - y[1] * z[0];
-
- /* Recompute Y = Z cross X */
- y[0] = z[1] * x[2] - z[2] * x[1];
- y[1] = -z[0] * x[2] + z[2] * x[0];
- y[2] = z[0] * x[1] - z[1] * x[0];
-
- /* mpichler, 19950515 */
- /* cross product gives area of parallelogram, which is < 1.0 for
- * non-perpendicular unit-length vectors; so normalize x, y here
- */
-
- mag = sqrt(x[0] * x[0] + x[1] * x[1] + x[2] * x[2]);
- if (mag) {
- x[0] /= mag;
- x[1] /= mag;
- x[2] /= mag;
- }
-
- mag = sqrt(y[0] * y[0] + y[1] * y[1] + y[2] * y[2]);
- if (mag) {
- y[0] /= mag;
- y[1] /= mag;
- y[2] /= mag;
- }
-
-#define M(row,col) m[col*4+row]
- M(0, 0) = x[0];
- M(0, 1) = x[1];
- M(0, 2) = x[2];
- M(0, 3) = 0.0;
- M(1, 0) = y[0];
- M(1, 1) = y[1];
- M(1, 2) = y[2];
- M(1, 3) = 0.0;
- M(2, 0) = z[0];
- M(2, 1) = z[1];
- M(2, 2) = z[2];
- M(2, 3) = 0.0;
- M(3, 0) = 0.0;
- M(3, 1) = 0.0;
- M(3, 2) = 0.0;
- M(3, 3) = 1.0;
-#undef M
- glMultMatrixd(m);
-
- /* Translate Eye to Origin */
- glTranslated(-eyex, -eyey, -eyez);
-
-}
-
-
-
-void GLAPIENTRY
-gluOrtho2D(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top)
-{
- glOrtho(left, right, bottom, top, -1.0, 1.0);
-}
-
-
-
-static void
-frustum(GLdouble left, GLdouble right,
- GLdouble bottom, GLdouble top,
- GLdouble nearval, GLdouble farval)
-{
- GLdouble x, y, a, b, c, d;
- GLdouble m[16];
-
- x = (2.0 * nearval) / (right - left);
- y = (2.0 * nearval) / (top - bottom);
- a = (right + left) / (right - left);
- b = (top + bottom) / (top - bottom);
- c = -(farval + nearval) / ( farval - nearval);
- d = -(2.0 * farval * nearval) / (farval - nearval);
-
-#define M(row,col) m[col*4+row]
- M(0,0) = x; M(0,1) = 0.0F; M(0,2) = a; M(0,3) = 0.0F;
- M(1,0) = 0.0F; M(1,1) = y; M(1,2) = b; M(1,3) = 0.0F;
- M(2,0) = 0.0F; M(2,1) = 0.0F; M(2,2) = c; M(2,3) = d;
- M(3,0) = 0.0F; M(3,1) = 0.0F; M(3,2) = -1.0F; M(3,3) = 0.0F;
-#undef M
-
- glMultMatrixd(m);
-}
-
-
-void GLAPIENTRY
-gluPerspective(GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar)
-{
- GLdouble xmin, xmax, ymin, ymax;
-
- ymax = zNear * tan(fovy * M_PI / 360.0);
- ymin = -ymax;
- xmin = ymin * aspect;
- xmax = ymax * aspect;
-
- /* don't call glFrustum() because of error semantics (covglu) */
- frustum(xmin, xmax, ymin, ymax, zNear, zFar);
-}
-
-
-
-void GLAPIENTRY
-gluPickMatrix(GLdouble x, GLdouble y,
- GLdouble width, GLdouble height, GLint viewport[4])
-{
- GLfloat m[16];
- GLfloat sx, sy;
- GLfloat tx, ty;
-
- sx = viewport[2] / width;
- sy = viewport[3] / height;
- tx = (viewport[2] + 2.0 * (viewport[0] - x)) / width;
- ty = (viewport[3] + 2.0 * (viewport[1] - y)) / height;
-
-#define M(row,col) m[col*4+row]
- M(0, 0) = sx;
- M(0, 1) = 0.0;
- M(0, 2) = 0.0;
- M(0, 3) = tx;
- M(1, 0) = 0.0;
- M(1, 1) = sy;
- M(1, 2) = 0.0;
- M(1, 3) = ty;
- M(2, 0) = 0.0;
- M(2, 1) = 0.0;
- M(2, 2) = 1.0;
- M(2, 3) = 0.0;
- M(3, 0) = 0.0;
- M(3, 1) = 0.0;
- M(3, 2) = 0.0;
- M(3, 3) = 1.0;
-#undef M
-
- glMultMatrixf(m);
-}
-
-
-
-const GLubyte *GLAPIENTRY
-gluErrorString(GLenum errorCode)
-{
- static char *tess_error[] = {
- "missing gluBeginPolygon",
- "missing gluBeginContour",
- "missing gluEndPolygon",
- "missing gluEndContour",
- "misoriented or self-intersecting loops",
- "coincident vertices",
- "colinear vertices",
- "FIST recovery process fatal error"
- };
- static char *nurbs_error[] = {
- "spline order un-supported",
- "too few knots",
- "valid knot range is empty",
- "decreasing knot sequence knot",
- "knot multiplicity greater than order of spline",
- "endcurve() must follow bgncurve()",
- "bgncurve() must precede endcurve()",
- "missing or extra geometric data",
- "can't draw pwlcurves",
- "missing bgncurve()",
- "missing bgnsurface()",
- "endtrim() must precede endsurface()",
- "bgnsurface() must precede endsurface()",
- "curve of improper type passed as trim curve",
- "bgnsurface() must precede bgntrim()",
- "endtrim() must follow bgntrim()",
- "bgntrim() must precede endtrim()",
- "invalid or missing trim curve",
- "bgntrim() must precede pwlcurve()",
- "pwlcurve referenced twice",
- "pwlcurve and nurbscurve mixed",
- "improper usage of trim data type",
- "nurbscurve referenced twice",
- "nurbscurve and pwlcurve mixed",
- "nurbssurface referenced twice",
- "invalid property",
- "endsurface() must follow bgnsurface()",
- "misoriented trim curves",
- "intersecting trim curves",
- "UNUSED",
- "unconnected trim curves",
- "unknown knot error",
- "negative vertex count encountered",
- "negative byte-stride encountered",
- "unknown type descriptor",
- "null control array or knot vector",
- "duplicate point on pwlcurve"
- };
-
- /* GL Errors */
- if (errorCode == GL_NO_ERROR) {
- return (GLubyte *) "no error";
- }
- else if (errorCode == GL_INVALID_VALUE) {
- return (GLubyte *) "invalid value";
- }
- else if (errorCode == GL_INVALID_ENUM) {
- return (GLubyte *) "invalid enum";
- }
- else if (errorCode == GL_INVALID_OPERATION) {
- return (GLubyte *) "invalid operation";
- }
- else if (errorCode == GL_STACK_OVERFLOW) {
- return (GLubyte *) "stack overflow";
- }
- else if (errorCode == GL_STACK_UNDERFLOW) {
- return (GLubyte *) "stack underflow";
- }
- else if (errorCode == GL_OUT_OF_MEMORY) {
- return (GLubyte *) "out of memory";
- }
- /* GLU Errors */
- else if (errorCode == GLU_NO_ERROR) {
- return (GLubyte *) "no error";
- }
- else if (errorCode == GLU_INVALID_ENUM) {
- return (GLubyte *) "invalid enum";
- }
- else if (errorCode == GLU_INVALID_VALUE) {
- return (GLubyte *) "invalid value";
- }
- else if (errorCode == GLU_OUT_OF_MEMORY) {
- return (GLubyte *) "out of memory";
- }
- else if (errorCode == GLU_INCOMPATIBLE_GL_VERSION) {
- return (GLubyte *) "incompatible GL version";
- }
- else if (errorCode >= GLU_TESS_ERROR1 && errorCode <= GLU_TESS_ERROR8) {
- return (GLubyte *) tess_error[errorCode - GLU_TESS_ERROR1];
- }
- else if (errorCode >= GLU_NURBS_ERROR1 && errorCode <= GLU_NURBS_ERROR37) {
- return (GLubyte *) nurbs_error[errorCode - GLU_NURBS_ERROR1];
- }
- else {
- return NULL;
- }
-}
-
-
-
-/*
- * New in GLU 1.1
- */
-
-const GLubyte *GLAPIENTRY
-gluGetString(GLenum name)
-{
- static char *extensions = "GL_EXT_abgr";
- static char *version = "1.1 Mesa 3.5";
-
- switch (name) {
- case GLU_EXTENSIONS:
- return (GLubyte *) extensions;
- case GLU_VERSION:
- return (GLubyte *) version;
- default:
- return NULL;
- }
-}
-
-
-
-#if 0 /* gluGetProcAddressEXT not finalized yet! */
-
-#ifdef __cplusplus
- /* for BeOS R4.5 */
-void GLAPIENTRY(*gluGetProcAddressEXT(const GLubyte * procName)) (...)
-#else
-void (GLAPIENTRY * gluGetProcAddressEXT(const GLubyte * procName)) ()
-#endif
-{
- struct proc
- {
- const char *name;
- void *address;
- };
- static struct proc procTable[] = {
- {"gluGetProcAddressEXT", (void *) gluGetProcAddressEXT}, /* me! */
-
- /* new 1.1 functions */
- {"gluGetString", (void *) gluGetString},
-
- /* new 1.2 functions */
- {"gluTessBeginPolygon", (void *) gluTessBeginPolygon},
- {"gluTessBeginContour", (void *) gluTessBeginContour},
- {"gluTessEndContour", (void *) gluTessEndContour},
- {"gluTessEndPolygon", (void *) gluTessEndPolygon},
- {"gluGetTessProperty", (void *) gluGetTessProperty},
-
- /* new 1.3 functions */
-
- {NULL, NULL}
- };
- GLuint i;
-
- for (i = 0; procTable[i].address; i++) {
- if (strcmp((const char *) procName, procTable[i].name) == 0)
- return (void (GLAPIENTRY *) ()) procTable[i].address;
- }
-
- return NULL;
-}
-
-#endif
-
-
-
-/*
- * New in GLU 1.3
- */
-#ifdef GLU_VERSION_1_3
-GLboolean GLAPIENTRY
-gluCheckExtension(const GLubyte *extName, const GLubyte * extString)
-{
- assert(extName);
- assert(extString);
- {
- const int len = strlen((const char *) extName);
- const char *start = (const char *) extString;
-
- while (1) {
- const char *c = strstr(start, (const char *) extName);
- if (!c)
- return GL_FALSE;
-
- if ((c == start || c[-1] == ' ') && (c[len] == ' ' || c[len] == 0))
- return GL_TRUE;
-
- start = c + len;
- }
- }
-}
-#endif
diff --git a/src/glu/mesa/gluP.h b/src/glu/mesa/gluP.h
deleted file mode 100644
index dc1b05b6a1..0000000000
--- a/src/glu/mesa/gluP.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Mesa 3-D graphics library
- * Version: 6.3
- * Copyright (C) 1995-2004 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-
-/*
- * This file allows the GLU code to be compiled either with the Mesa
- * headers or with the real OpenGL headers.
- */
-
-
-#ifndef GLUP_H
-#define GLUP_H
-
-
-#include <GL/gl.h>
-#include <GL/glu.h>
-#include <string.h>
-
-
-#if defined(_WIN32) && !defined(__WIN32__)
-# define __WIN32__
-#endif
-
-#if !defined(OPENSTEP) && (defined(__WIN32__) || defined(__CYGWIN__))
-# pragma warning( disable : 4068 ) /* unknown pragma */
-# pragma warning( disable : 4710 ) /* function 'foo' not inlined */
-# pragma warning( disable : 4711 ) /* function 'foo' selected for automatic inline expansion */
-# pragma warning( disable : 4127 ) /* conditional expression is constant */
-# if defined(MESA_MINWARN)
-# pragma warning( disable : 4244 ) /* '=' : conversion from 'const double ' to 'float ', possible loss of data */
-# pragma warning( disable : 4018 ) /* '<' : signed/unsigned mismatch */
-# pragma warning( disable : 4305 ) /* '=' : truncation from 'const double ' to 'float ' */
-# pragma warning( disable : 4550 ) /* 'function' undefined; assuming extern returning int */
-# pragma warning( disable : 4761 ) /* integral size mismatch in argument; conversion supplied */
-# endif
-# define GLCALLBACK __stdcall
-# if defined(__CYGWIN__)
-# define GLCALLBACKPCAST *
-# else
-# define GLCALLBACKPCAST __stdcall *
-# endif
-#else
-/* non-Windows compilation */
-# define GLCALLBACK
-# define GLCALLBACKPCAST *
-#endif /* WIN32 / CYGWIN bracket */
-
-/* compatability guard so we don't need to change client code */
-
-#if defined(_WIN32) && !defined(_WINDEF_) && !defined(_GNU_H_WINDOWS32_BASE) && !defined(OPENSTEP)
-# define CALLBACK GLCALLBACK
-#endif
-
-
-
-#ifndef GLU_TESS_ERROR9
- /* If we're using the real OpenGL header files... */
-# define GLU_TESS_ERROR9 100159
-#endif
-
-
-#define GLU_NO_ERROR GL_NO_ERROR
-
-
-/* for Sun: */
-#ifdef SUNOS4
-#define MEMCPY( DST, SRC, BYTES) \
- memcpy( (char *) (DST), (char *) (SRC), (int) (BYTES) )
-#else
-#define MEMCPY( DST, SRC, BYTES) \
- memcpy( (void *) (DST), (void *) (SRC), (size_t) (BYTES) )
-#endif
-
-
-#ifndef NULL
-# define NULL 0
-#endif
-
-
-#endif
diff --git a/src/glu/mesa/mipmap.c b/src/glu/mesa/mipmap.c
deleted file mode 100644
index d85ce9b9b0..0000000000
--- a/src/glu/mesa/mipmap.c
+++ /dev/null
@@ -1,824 +0,0 @@
-
-/*
- * Mesa 3-D graphics library
- * Version: 3.4
- * Copyright (C) 1995-2000 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-
-#ifdef PC_HEADER
-#include "all.h"
-#else
-#include <assert.h>
-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include "gluP.h"
-#endif
-
-
-/*
- * Compute ceiling of integer quotient of A divided by B:
- */
-#define CEILING( A, B ) ( (A) % (B) == 0 ? (A)/(B) : (A)/(B)+1 )
-
-
-
-#ifdef EPSILON
-#undef EPSILON
-#endif
-#define EPSILON 0.001
-
-
-/* To work around optimizer bug in MSVC4.1 */
-#if defined(__WIN32__) && !defined(OPENSTEP)
-void
-dummy(GLuint j, GLuint k)
-{
-}
-#else
-#define dummy(J, K)
-#endif
-
-
-GLint GLAPIENTRY
-gluScaleImage(GLenum format,
- GLsizei widthin, GLsizei heightin,
- GLenum typein, const void *datain,
- GLsizei widthout, GLsizei heightout,
- GLenum typeout, void *dataout)
-{
- GLint components, i, j, k;
- GLfloat *tempin, *tempout;
- GLfloat sx, sy;
- GLint unpackrowlength, unpackalignment, unpackskiprows, unpackskippixels;
- GLint packrowlength, packalignment, packskiprows, packskippixels;
- GLint sizein, sizeout;
- GLint rowstride, rowlen;
-
-
- /* Determine number of components per pixel */
- switch (format) {
- case GL_COLOR_INDEX:
- case GL_STENCIL_INDEX:
- case GL_DEPTH_COMPONENT:
- case GL_RED:
- case GL_GREEN:
- case GL_BLUE:
- case GL_ALPHA:
- case GL_LUMINANCE:
- components = 1;
- break;
- case GL_LUMINANCE_ALPHA:
- components = 2;
- break;
- case GL_RGB:
- case GL_BGR:
- components = 3;
- break;
- case GL_RGBA:
- case GL_BGRA:
-#ifdef GL_EXT_abgr
- case GL_ABGR_EXT:
-#endif
- components = 4;
- break;
- default:
- return GLU_INVALID_ENUM;
- }
-
- /* Determine bytes per input datum */
- switch (typein) {
- case GL_UNSIGNED_BYTE:
- sizein = sizeof(GLubyte);
- break;
- case GL_BYTE:
- sizein = sizeof(GLbyte);
- break;
- case GL_UNSIGNED_SHORT:
- sizein = sizeof(GLushort);
- break;
- case GL_SHORT:
- sizein = sizeof(GLshort);
- break;
- case GL_UNSIGNED_INT:
- sizein = sizeof(GLuint);
- break;
- case GL_INT:
- sizein = sizeof(GLint);
- break;
- case GL_FLOAT:
- sizein = sizeof(GLfloat);
- break;
- case GL_BITMAP:
- /* not implemented yet */
- default:
- return GL_INVALID_ENUM;
- }
-
- /* Determine bytes per output datum */
- switch (typeout) {
- case GL_UNSIGNED_BYTE:
- sizeout = sizeof(GLubyte);
- break;
- case GL_BYTE:
- sizeout = sizeof(GLbyte);
- break;
- case GL_UNSIGNED_SHORT:
- sizeout = sizeof(GLushort);
- break;
- case GL_SHORT:
- sizeout = sizeof(GLshort);
- break;
- case GL_UNSIGNED_INT:
- sizeout = sizeof(GLuint);
- break;
- case GL_INT:
- sizeout = sizeof(GLint);
- break;
- case GL_FLOAT:
- sizeout = sizeof(GLfloat);
- break;
- case GL_BITMAP:
- /* not implemented yet */
- default:
- return GL_INVALID_ENUM;
- }
-
- /* Get glPixelStore state */
- glGetIntegerv(GL_UNPACK_ROW_LENGTH, &unpackrowlength);
- glGetIntegerv(GL_UNPACK_ALIGNMENT, &unpackalignment);
- glGetIntegerv(GL_UNPACK_SKIP_ROWS, &unpackskiprows);
- glGetIntegerv(GL_UNPACK_SKIP_PIXELS, &unpackskippixels);
- glGetIntegerv(GL_PACK_ROW_LENGTH, &packrowlength);
- glGetIntegerv(GL_PACK_ALIGNMENT, &packalignment);
- glGetIntegerv(GL_PACK_SKIP_ROWS, &packskiprows);
- glGetIntegerv(GL_PACK_SKIP_PIXELS, &packskippixels);
-
- /* Allocate storage for intermediate images */
- tempin = (GLfloat *) malloc(widthin * heightin
- * components * sizeof(GLfloat));
- if (!tempin) {
- return GLU_OUT_OF_MEMORY;
- }
- tempout = (GLfloat *) malloc(widthout * heightout
- * components * sizeof(GLfloat));
- if (!tempout) {
- free(tempin);
- return GLU_OUT_OF_MEMORY;
- }
-
-
- /*
- * Unpack the pixel data and convert to floating point
- */
-
- if (unpackrowlength > 0) {
- rowlen = unpackrowlength;
- }
- else {
- rowlen = widthin;
- }
- if (sizein >= unpackalignment) {
- rowstride = components * rowlen;
- }
- else {
- rowstride = unpackalignment / sizein
- * CEILING(components * rowlen * sizein, unpackalignment);
- }
-
- switch (typein) {
- case GL_UNSIGNED_BYTE:
- k = 0;
- for (i = 0; i < heightin; i++) {
- GLubyte *ubptr = (GLubyte *) datain
- + i * rowstride
- + unpackskiprows * rowstride + unpackskippixels * components;
- for (j = 0; j < widthin * components; j++) {
- dummy(j, k);
- tempin[k++] = (GLfloat) * ubptr++;
- }
- }
- break;
- case GL_BYTE:
- k = 0;
- for (i = 0; i < heightin; i++) {
- GLbyte *bptr = (GLbyte *) datain
- + i * rowstride
- + unpackskiprows * rowstride + unpackskippixels * components;
- for (j = 0; j < widthin * components; j++) {
- dummy(j, k);
- tempin[k++] = (GLfloat) * bptr++;
- }
- }
- break;
- case GL_UNSIGNED_SHORT:
- k = 0;
- for (i = 0; i < heightin; i++) {
- GLushort *usptr = (GLushort *) datain
- + i * rowstride
- + unpackskiprows * rowstride + unpackskippixels * components;
- for (j = 0; j < widthin * components; j++) {
- dummy(j, k);
- tempin[k++] = (GLfloat) * usptr++;
- }
- }
- break;
- case GL_SHORT:
- k = 0;
- for (i = 0; i < heightin; i++) {
- GLshort *sptr = (GLshort *) datain
- + i * rowstride
- + unpackskiprows * rowstride + unpackskippixels * components;
- for (j = 0; j < widthin * components; j++) {
- dummy(j, k);
- tempin[k++] = (GLfloat) * sptr++;
- }
- }
- break;
- case GL_UNSIGNED_INT:
- k = 0;
- for (i = 0; i < heightin; i++) {
- GLuint *uiptr = (GLuint *) datain
- + i * rowstride
- + unpackskiprows * rowstride + unpackskippixels * components;
- for (j = 0; j < widthin * components; j++) {
- dummy(j, k);
- tempin[k++] = (GLfloat) * uiptr++;
- }
- }
- break;
- case GL_INT:
- k = 0;
- for (i = 0; i < heightin; i++) {
- GLint *iptr = (GLint *) datain
- + i * rowstride
- + unpackskiprows * rowstride + unpackskippixels * components;
- for (j = 0; j < widthin * components; j++) {
- dummy(j, k);
- tempin[k++] = (GLfloat) * iptr++;
- }
- }
- break;
- case GL_FLOAT:
- k = 0;
- for (i = 0; i < heightin; i++) {
- GLfloat *fptr = (GLfloat *) datain
- + i * rowstride
- + unpackskiprows * rowstride + unpackskippixels * components;
- for (j = 0; j < widthin * components; j++) {
- dummy(j, k);
- tempin[k++] = *fptr++;
- }
- }
- break;
- default:
- return GLU_INVALID_ENUM;
- }
-
-
- /*
- * Scale the image!
- */
-
- if (widthout > 1)
- sx = (GLfloat) (widthin - 1) / (GLfloat) (widthout - 1);
- else
- sx = (GLfloat) (widthin - 1);
- if (heightout > 1)
- sy = (GLfloat) (heightin - 1) / (GLfloat) (heightout - 1);
- else
- sy = (GLfloat) (heightin - 1);
-
-/*#define POINT_SAMPLE*/
-#ifdef POINT_SAMPLE
- for (i = 0; i < heightout; i++) {
- GLint ii = i * sy;
- for (j = 0; j < widthout; j++) {
- GLint jj = j * sx;
-
- GLfloat *src = tempin + (ii * widthin + jj) * components;
- GLfloat *dst = tempout + (i * widthout + j) * components;
-
- for (k = 0; k < components; k++) {
- *dst++ = *src++;
- }
- }
- }
-#else
- if (sx < 1.0 && sy < 1.0) {
- /* magnify both width and height: use weighted sample of 4 pixels */
- GLint i0, i1, j0, j1;
- GLfloat alpha, beta;
- GLfloat *src00, *src01, *src10, *src11;
- GLfloat s1, s2;
- GLfloat *dst;
-
- for (i = 0; i < heightout; i++) {
- i0 = i * sy;
- i1 = i0 + 1;
- if (i1 >= heightin)
- i1 = heightin - 1;
-/* i1 = (i+1) * sy - EPSILON;*/
- alpha = i * sy - i0;
- for (j = 0; j < widthout; j++) {
- j0 = j * sx;
- j1 = j0 + 1;
- if (j1 >= widthin)
- j1 = widthin - 1;
-/* j1 = (j+1) * sx - EPSILON; */
- beta = j * sx - j0;
-
- /* compute weighted average of pixels in rect (i0,j0)-(i1,j1) */
- src00 = tempin + (i0 * widthin + j0) * components;
- src01 = tempin + (i0 * widthin + j1) * components;
- src10 = tempin + (i1 * widthin + j0) * components;
- src11 = tempin + (i1 * widthin + j1) * components;
-
- dst = tempout + (i * widthout + j) * components;
-
- for (k = 0; k < components; k++) {
- s1 = *src00++ * (1.0 - beta) + *src01++ * beta;
- s2 = *src10++ * (1.0 - beta) + *src11++ * beta;
- *dst++ = s1 * (1.0 - alpha) + s2 * alpha;
- }
- }
- }
- }
- else {
- /* shrink width and/or height: use an unweighted box filter */
- GLint i0, i1;
- GLint j0, j1;
- GLint ii, jj;
- GLfloat sum, *dst;
-
- for (i = 0; i < heightout; i++) {
- i0 = i * sy;
- i1 = i0 + 1;
- if (i1 >= heightin)
- i1 = heightin - 1;
-/* i1 = (i+1) * sy - EPSILON; */
- for (j = 0; j < widthout; j++) {
- j0 = j * sx;
- j1 = j0 + 1;
- if (j1 >= widthin)
- j1 = widthin - 1;
-/* j1 = (j+1) * sx - EPSILON; */
-
- dst = tempout + (i * widthout + j) * components;
-
- /* compute average of pixels in the rectangle (i0,j0)-(i1,j1) */
- for (k = 0; k < components; k++) {
- sum = 0.0;
- for (ii = i0; ii <= i1; ii++) {
- for (jj = j0; jj <= j1; jj++) {
- sum += *(tempin + (ii * widthin + jj) * components + k);
- }
- }
- sum /= (j1 - j0 + 1) * (i1 - i0 + 1);
- *dst++ = sum;
- }
- }
- }
- }
-#endif
-
-
- /*
- * Return output image
- */
-
- if (packrowlength > 0) {
- rowlen = packrowlength;
- }
- else {
- rowlen = widthout;
- }
- if (sizeout >= packalignment) {
- rowstride = components * rowlen;
- }
- else {
- rowstride = packalignment / sizeout
- * CEILING(components * rowlen * sizeout, packalignment);
- }
-
- switch (typeout) {
- case GL_UNSIGNED_BYTE:
- k = 0;
- for (i = 0; i < heightout; i++) {
- GLubyte *ubptr = (GLubyte *) dataout
- + i * rowstride
- + packskiprows * rowstride + packskippixels * components;
- for (j = 0; j < widthout * components; j++) {
- dummy(j, k + i);
- *ubptr++ = (GLubyte) tempout[k++];
- }
- }
- break;
- case GL_BYTE:
- k = 0;
- for (i = 0; i < heightout; i++) {
- GLbyte *bptr = (GLbyte *) dataout
- + i * rowstride
- + packskiprows * rowstride + packskippixels * components;
- for (j = 0; j < widthout * components; j++) {
- dummy(j, k + i);
- *bptr++ = (GLbyte) tempout[k++];
- }
- }
- break;
- case GL_UNSIGNED_SHORT:
- k = 0;
- for (i = 0; i < heightout; i++) {
- GLushort *usptr = (GLushort *) dataout
- + i * rowstride
- + packskiprows * rowstride + packskippixels * components;
- for (j = 0; j < widthout * components; j++) {
- dummy(j, k + i);
- *usptr++ = (GLushort) tempout[k++];
- }
- }
- break;
- case GL_SHORT:
- k = 0;
- for (i = 0; i < heightout; i++) {
- GLshort *sptr = (GLshort *) dataout
- + i * rowstride
- + packskiprows * rowstride + packskippixels * components;
- for (j = 0; j < widthout * components; j++) {
- dummy(j, k + i);
- *sptr++ = (GLshort) tempout[k++];
- }
- }
- break;
- case GL_UNSIGNED_INT:
- k = 0;
- for (i = 0; i < heightout; i++) {
- GLuint *uiptr = (GLuint *) dataout
- + i * rowstride
- + packskiprows * rowstride + packskippixels * components;
- for (j = 0; j < widthout * components; j++) {
- dummy(j, k + i);
- *uiptr++ = (GLuint) tempout[k++];
- }
- }
- break;
- case GL_INT:
- k = 0;
- for (i = 0; i < heightout; i++) {
- GLint *iptr = (GLint *) dataout
- + i * rowstride
- + packskiprows * rowstride + packskippixels * components;
- for (j = 0; j < widthout * components; j++) {
- dummy(j, k + i);
- *iptr++ = (GLint) tempout[k++];
- }
- }
- break;
- case GL_FLOAT:
- k = 0;
- for (i = 0; i < heightout; i++) {
- GLfloat *fptr = (GLfloat *) dataout
- + i * rowstride
- + packskiprows * rowstride + packskippixels * components;
- for (j = 0; j < widthout * components; j++) {
- dummy(j, k + i);
- *fptr++ = tempout[k++];
- }
- }
- break;
- default:
- return GLU_INVALID_ENUM;
- }
-
-
- /* free temporary image storage */
- free(tempin);
- free(tempout);
-
- return 0;
-}
-
-
-
-/*
- * Return the largest k such that 2^k <= n.
- */
-static GLint
-ilog2(GLint n)
-{
- GLint k;
-
- if (n <= 0)
- return 0;
- for (k = 0; n >>= 1; k++);
- return k;
-}
-
-
-
-/*
- * Find the value nearest to n which is also a power of two.
- */
-static GLint
-round2(GLint n)
-{
- GLint m;
-
- for (m = 1; m < n; m *= 2);
-
- /* m>=n */
- if (m - n <= n - m / 2) {
- return m;
- }
- else {
- return m / 2;
- }
-}
-
-
-/*
- * Given an pixel format and datatype, return the number of bytes to
- * store one pixel.
- */
-static GLint
-bytes_per_pixel(GLenum format, GLenum type)
-{
- GLint n, m;
-
- switch (format) {
- case GL_COLOR_INDEX:
- case GL_STENCIL_INDEX:
- case GL_DEPTH_COMPONENT:
- case GL_RED:
- case GL_GREEN:
- case GL_BLUE:
- case GL_ALPHA:
- case GL_LUMINANCE:
- n = 1;
- break;
- case GL_LUMINANCE_ALPHA:
- n = 2;
- break;
- case GL_RGB:
- case GL_BGR:
- n = 3;
- break;
- case GL_RGBA:
- case GL_BGRA:
-#ifdef GL_EXT_abgr
- case GL_ABGR_EXT:
-#endif
- n = 4;
- break;
- default:
- n = 0;
- }
-
- switch (type) {
- case GL_UNSIGNED_BYTE:
- m = sizeof(GLubyte);
- break;
- case GL_BYTE:
- m = sizeof(GLbyte);
- break;
- case GL_BITMAP:
- m = 1;
- break;
- case GL_UNSIGNED_SHORT:
- m = sizeof(GLushort);
- break;
- case GL_SHORT:
- m = sizeof(GLshort);
- break;
- case GL_UNSIGNED_INT:
- m = sizeof(GLuint);
- break;
- case GL_INT:
- m = sizeof(GLint);
- break;
- case GL_FLOAT:
- m = sizeof(GLfloat);
- break;
- default:
- m = 0;
- }
-
- return n * m;
-}
-
-
-
-/*
- * WARNING: This function isn't finished and has never been tested!!!!
- */
-GLint GLAPIENTRY
-gluBuild1DMipmaps(GLenum target, GLint components,
- GLsizei width, GLenum format, GLenum type, const void *data)
-{
- GLubyte *texture;
- GLint levels, max_levels;
- GLint new_width, max_width;
- GLint i, j, k, l;
-
- if (width < 1)
- return GLU_INVALID_VALUE;
-
- glGetIntegerv(GL_MAX_TEXTURE_SIZE, &max_width);
- max_levels = ilog2(max_width) + 1;
-
- /* Compute how many mipmap images to make */
- levels = ilog2(width) + 1;
- if (levels > max_levels) {
- levels = max_levels;
- }
-
- new_width = 1 << (levels - 1);
-
- texture = (GLubyte *) malloc(new_width * components);
- if (!texture) {
- return GLU_OUT_OF_MEMORY;
- }
-
- if (width != new_width) {
- /* initial rescaling */
- switch (type) {
- case GL_UNSIGNED_BYTE:
- {
- GLubyte *ub_data = (GLubyte *) data;
- for (i = 0; i < new_width; i++) {
- j = i * width / new_width;
- for (k = 0; k < components; k++) {
- texture[i * components + k] = ub_data[j * components + k];
- }
- }
- }
- break;
- default:
- /* Not implemented */
- return GLU_ERROR;
- }
- }
-
- /* generate and load mipmap images */
- for (l = 0; l < levels; l++) {
- glTexImage1D(GL_TEXTURE_1D, l, components, new_width, 0,
- format, GL_UNSIGNED_BYTE, texture);
-
- /* Scale image down to 1/2 size */
- new_width = new_width / 2;
- for (i = 0; i < new_width; i++) {
- for (k = 0; k < components; k++) {
- GLint sample1, sample2;
- sample1 = (GLint) texture[i * 2 * components + k];
- sample2 = (GLint) texture[(i * 2 + 1) * components + k];
- texture[i * components + k] = (GLubyte) ((sample1 + sample2) / 2);
- }
- }
- }
-
- free(texture);
-
- return 0;
-}
-
-
-
-GLint GLAPIENTRY
-gluBuild2DMipmaps(GLenum target, GLint components,
- GLsizei width, GLsizei height, GLenum format,
- GLenum type, const void *data)
-{
- GLint w, h, maxsize;
- void *image, *newimage;
- GLint neww, newh, level, bpp;
- int error;
- GLboolean done;
- GLint retval = 0;
- GLint unpackrowlength, unpackalignment, unpackskiprows, unpackskippixels;
- GLint packrowlength, packalignment, packskiprows, packskippixels;
-
- if (width < 1 || height < 1)
- return GLU_INVALID_VALUE;
-
- glGetIntegerv(GL_MAX_TEXTURE_SIZE, &maxsize);
-
- w = round2(width);
- if (w > maxsize) {
- w = maxsize;
- }
- h = round2(height);
- if (h > maxsize) {
- h = maxsize;
- }
-
- bpp = bytes_per_pixel(format, type);
- if (bpp == 0) {
- /* probably a bad format or type enum */
- return GLU_INVALID_ENUM;
- }
-
- /* Get current glPixelStore values */
- glGetIntegerv(GL_UNPACK_ROW_LENGTH, &unpackrowlength);
- glGetIntegerv(GL_UNPACK_ALIGNMENT, &unpackalignment);
- glGetIntegerv(GL_UNPACK_SKIP_ROWS, &unpackskiprows);
- glGetIntegerv(GL_UNPACK_SKIP_PIXELS, &unpackskippixels);
- glGetIntegerv(GL_PACK_ROW_LENGTH, &packrowlength);
- glGetIntegerv(GL_PACK_ALIGNMENT, &packalignment);
- glGetIntegerv(GL_PACK_SKIP_ROWS, &packskiprows);
- glGetIntegerv(GL_PACK_SKIP_PIXELS, &packskippixels);
-
- /* set pixel packing */
- glPixelStorei(GL_PACK_ROW_LENGTH, 0);
- glPixelStorei(GL_PACK_ALIGNMENT, 1);
- glPixelStorei(GL_PACK_SKIP_ROWS, 0);
- glPixelStorei(GL_PACK_SKIP_PIXELS, 0);
-
- done = GL_FALSE;
-
- if (w != width || h != height) {
- /* must rescale image to get "top" mipmap texture image */
- image = malloc((w + 4) * h * bpp);
- if (!image) {
- return GLU_OUT_OF_MEMORY;
- }
- error = gluScaleImage(format, width, height, type, data,
- w, h, type, image);
- if (error) {
- retval = error;
- done = GL_TRUE;
- }
- }
- else {
- image = (void *) data;
- }
-
- level = 0;
- while (!done) {
- if (image != data) {
- /* set pixel unpacking */
- glPixelStorei(GL_UNPACK_ROW_LENGTH, 0);
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- glPixelStorei(GL_UNPACK_SKIP_ROWS, 0);
- glPixelStorei(GL_UNPACK_SKIP_PIXELS, 0);
- }
-
- glTexImage2D(target, level, components, w, h, 0, format, type, image);
-
- if (w == 1 && h == 1)
- break;
-
- neww = (w < 2) ? 1 : w / 2;
- newh = (h < 2) ? 1 : h / 2;
- newimage = malloc((neww + 4) * newh * bpp);
- if (!newimage) {
- return GLU_OUT_OF_MEMORY;
- }
-
- error = gluScaleImage(format, w, h, type, image,
- neww, newh, type, newimage);
- if (error) {
- retval = error;
- done = GL_TRUE;
- }
-
- if (image != data) {
- free(image);
- }
- image = newimage;
-
- w = neww;
- h = newh;
- level++;
- }
-
- if (image != data) {
- free(image);
- }
-
- /* Restore original glPixelStore state */
- glPixelStorei(GL_UNPACK_ROW_LENGTH, unpackrowlength);
- glPixelStorei(GL_UNPACK_ALIGNMENT, unpackalignment);
- glPixelStorei(GL_UNPACK_SKIP_ROWS, unpackskiprows);
- glPixelStorei(GL_UNPACK_SKIP_PIXELS, unpackskippixels);
- glPixelStorei(GL_PACK_ROW_LENGTH, packrowlength);
- glPixelStorei(GL_PACK_ALIGNMENT, packalignment);
- glPixelStorei(GL_PACK_SKIP_ROWS, packskiprows);
- glPixelStorei(GL_PACK_SKIP_PIXELS, packskippixels);
-
- return retval;
-}
diff --git a/src/glu/mesa/nurbs.c b/src/glu/mesa/nurbs.c
deleted file mode 100644
index 3f102b4e45..0000000000
--- a/src/glu/mesa/nurbs.c
+++ /dev/null
@@ -1,628 +0,0 @@
-
-/*
- * Mesa 3-D graphics library
- * Version: 3.3
- * Copyright (C) 1995-2000 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-
-/*
- * NURBS implementation written by Bogdan Sikorski (bogdan@cira.it)
- * See README2 for more info.
- */
-
-
-#ifdef PC_HEADER
-#include "all.h"
-#else
-#include <stdio.h>
-#include <stdlib.h>
-#include "gluP.h"
-#include "nurbs.h"
-#endif
-
-
-void
-call_user_error(GLUnurbsObj * nobj, GLenum error)
-{
- nobj->error = error;
- if (nobj->error_callback != NULL) {
- (*(nobj->error_callback)) (error);
- }
- else {
- printf("NURBS error %d %s\n", error, (char *) gluErrorString(error));
- }
-}
-
-
-
-GLUnurbsObj *GLAPIENTRY
-gluNewNurbsRenderer(void)
-{
- GLUnurbsObj *n;
- GLfloat tmp_viewport[4];
- GLint i, j;
-
- n = (GLUnurbsObj *) malloc(sizeof(GLUnurbsObj));
- if (n) {
- /* init */
- n->culling = GL_FALSE;
- n->nurbs_type = GLU_NURBS_NONE;
- n->error = GLU_NO_ERROR;
- n->error_callback = NULL;
- n->auto_load_matrix = GL_TRUE;
- n->sampling_tolerance = 50.0;
- n->parametric_tolerance = 0.5;
- n->u_step = n->v_step = 100;
- n->sampling_method = GLU_PATH_LENGTH;
- n->display_mode = GLU_FILL;
- /* in case the user doesn't supply the sampling matrices */
- /* set projection and modelview to identity */
- for (i = 0; i < 4; i++)
- for (j = 0; j < 4; j++)
- if (i == j) {
- n->sampling_matrices.model[i * 4 + j] = 1.0;
- n->sampling_matrices.proj[i * 4 + j] = 1.0;
- }
- else {
- n->sampling_matrices.model[i * 4 + j] = 0.0;
- n->sampling_matrices.proj[i * 4 + j] = 0.0;
- }
- /* and set the viewport sampling matrix to current ciewport */
- glGetFloatv(GL_VIEWPORT, tmp_viewport);
- for (i = 0; i < 4; i++)
- n->sampling_matrices.viewport[i] = tmp_viewport[i];
- n->trim = NULL;
- }
- return n;
-}
-
-
-
-void GLAPIENTRY
-gluDeleteNurbsRenderer(GLUnurbsObj * nobj)
-{
- if (nobj) {
- free(nobj);
- }
-}
-
-
-
-void GLAPIENTRY
-gluLoadSamplingMatrices(GLUnurbsObj * nobj,
- const GLfloat modelMatrix[16],
- const GLfloat projMatrix[16], const GLint viewport[4])
-{
- GLint i;
-
- for (i = 0; i < 16; i++) {
- nobj->sampling_matrices.model[i] = modelMatrix[i];
- nobj->sampling_matrices.proj[i] = projMatrix[i];
- }
- for (i = 0; i < 4; i++)
- nobj->sampling_matrices.viewport[i] = viewport[i];
-}
-
-
-void GLAPIENTRY
-gluNurbsProperty(GLUnurbsObj * nobj, GLenum property, GLfloat value)
-{
- GLenum val;
-
- switch (property) {
- case GLU_SAMPLING_TOLERANCE:
- if (value <= 0.0) {
- call_user_error(nobj, GLU_INVALID_VALUE);
- return;
- }
- nobj->sampling_tolerance = value;
- break;
- case GLU_PARAMETRIC_TOLERANCE:
- if (value <= 0.0) {
- call_user_error(nobj, GLU_INVALID_VALUE);
- return;
- }
- nobj->parametric_tolerance = value;
- break;
- case GLU_U_STEP:
- if (value <= 0.0) {
- call_user_error(nobj, GLU_INVALID_VALUE);
- return;
- }
- nobj->u_step = (GLint) value;
- break;
- case GLU_V_STEP:
- if (value <= 0.0) {
- call_user_error(nobj, GLU_INVALID_VALUE);
- return;
- }
- nobj->v_step = (GLint) value;
- break;
- case GLU_SAMPLING_METHOD:
- val = (GLenum) value;
- if (val != GLU_PATH_LENGTH && val != GLU_PARAMETRIC_ERROR
- && val != GLU_DOMAIN_DISTANCE) {
- call_user_error(nobj, GLU_INVALID_ENUM);
- return;
- }
- nobj->sampling_method = val;
- break;
- case GLU_DISPLAY_MODE:
- val = (GLenum) value;
- if (val != GLU_FILL && val != GLU_OUTLINE_POLYGON
- && val != GLU_OUTLINE_PATCH) {
- call_user_error(nobj, GLU_INVALID_ENUM);
- return;
- }
- if (nobj->nurbs_type == GLU_NURBS_CURVE) {
- call_user_error(nobj, GLU_NURBS_ERROR26);
- return;
- }
- nobj->display_mode = val;
- if (val == GLU_OUTLINE_PATCH)
- fprintf(stderr,
- "NURBS, for the moment, can display only in POLYGON mode\n");
- break;
- case GLU_CULLING:
- val = (GLenum) value;
- if (val != GL_TRUE && val != GL_FALSE) {
- call_user_error(nobj, GLU_INVALID_ENUM);
- return;
- }
- nobj->culling = (GLboolean) value;
- break;
- case GLU_AUTO_LOAD_MATRIX:
- val = (GLenum) value;
- if (val != GL_TRUE && val != GL_FALSE) {
- call_user_error(nobj, GLU_INVALID_ENUM);
- return;
- }
- nobj->auto_load_matrix = (GLboolean) value;
- break;
- default:
- call_user_error(nobj, GLU_NURBS_ERROR26);
- }
-}
-
-
-void GLAPIENTRY
-gluGetNurbsProperty(GLUnurbsObj * nobj, GLenum property, GLfloat * value)
-{
- switch (property) {
- case GLU_SAMPLING_TOLERANCE:
- *value = nobj->sampling_tolerance;
- break;
- case GLU_DISPLAY_MODE:
- *value = (GLfloat) (GLint) nobj->display_mode;
- break;
- case GLU_CULLING:
- *value = nobj->culling ? 1.0 : 0.0;
- break;
- case GLU_AUTO_LOAD_MATRIX:
- *value = nobj->auto_load_matrix ? 1.0 : 0.0;
- break;
- default:
- call_user_error(nobj, GLU_INVALID_ENUM);
- }
-}
-
-
-
-void GLAPIENTRY
-gluBeginCurve(GLUnurbsObj * nobj)
-{
- if (nobj->nurbs_type == GLU_NURBS_CURVE) {
- call_user_error(nobj, GLU_NURBS_ERROR6);
- return;
- }
- nobj->nurbs_type = GLU_NURBS_CURVE;
- nobj->curve.geom.type = GLU_INVALID_ENUM;
- nobj->curve.color.type = GLU_INVALID_ENUM;
- nobj->curve.texture.type = GLU_INVALID_ENUM;
- nobj->curve.normal.type = GLU_INVALID_ENUM;
-}
-
-
-void GLAPIENTRY
-gluEndCurve(GLUnurbsObj * nobj)
-{
- if (nobj->nurbs_type == GLU_NURBS_NONE) {
- call_user_error(nobj, GLU_NURBS_ERROR7);
- return;
- }
- if (nobj->curve.geom.type == GLU_INVALID_ENUM) {
- call_user_error(nobj, GLU_NURBS_ERROR8);
- nobj->nurbs_type = GLU_NURBS_NONE;
- return;
- }
- glPushAttrib((GLbitfield) (GL_EVAL_BIT | GL_ENABLE_BIT));
- glDisable(GL_MAP1_VERTEX_3);
- glDisable(GL_MAP1_VERTEX_4);
- glDisable(GL_MAP1_INDEX);
- glDisable(GL_MAP1_COLOR_4);
- glDisable(GL_MAP1_NORMAL);
- glDisable(GL_MAP1_TEXTURE_COORD_1);
- glDisable(GL_MAP1_TEXTURE_COORD_2);
- glDisable(GL_MAP1_TEXTURE_COORD_3);
- glDisable(GL_MAP1_TEXTURE_COORD_4);
- glDisable(GL_MAP2_VERTEX_3);
- glDisable(GL_MAP2_VERTEX_4);
- glDisable(GL_MAP2_INDEX);
- glDisable(GL_MAP2_COLOR_4);
- glDisable(GL_MAP2_NORMAL);
- glDisable(GL_MAP2_TEXTURE_COORD_1);
- glDisable(GL_MAP2_TEXTURE_COORD_2);
- glDisable(GL_MAP2_TEXTURE_COORD_3);
- glDisable(GL_MAP2_TEXTURE_COORD_4);
- do_nurbs_curve(nobj);
- glPopAttrib();
- nobj->nurbs_type = GLU_NURBS_NONE;
-}
-
-
-void GLAPIENTRY
-gluNurbsCurve(GLUnurbsObj * nobj, GLint nknots, GLfloat * knot,
- GLint stride, GLfloat * ctlarray, GLint order, GLenum type)
-{
- if (nobj->nurbs_type == GLU_NURBS_TRIM) {
-#if 0
-/* TODO: NOT IMPLEMENTED YET */
- nurbs_trim *ptr1;
- trim_list *ptr2;
-
- if (type != GLU_MAP1_TRIM_2 && type != GLU_MAP1_TRIM_3) {
- call_user_error(nobj, GLU_NURBS_ERROR14);
- return;
- }
- for (ptr1 = nobj->trim; ptr1->next; ptr1 = ptr1->next);
- if (ptr1->trim_loop) {
- for (ptr2 = ptr1->trim_loop; ptr2->next; ptr2 = ptr2->next);
- if ((ptr2->next = (trim_list *) malloc(sizeof(trim_list))) == NULL) {
- call_user_error(nobj, GLU_OUT_OF_MEMORY);
- return;
- }
- ptr2 = ptr2->next;
- }
- else {
- if ((ptr2 = (trim_list *) malloc(sizeof(trim_list))) == NULL) {
- call_user_error(nobj, GLU_OUT_OF_MEMORY);
- return;
- }
- ptr1->trim_loop = ptr2;
- }
- ptr2->trim_type = GLU_TRIM_NURBS;
- ptr2->curve.nurbs_curve.knot_count = nknots;
- ptr2->curve.nurbs_curve.knot = knot;
- ptr2->curve.nurbs_curve.stride = stride;
- ptr2->curve.nurbs_curve.ctrlarray = ctlarray;
- ptr2->curve.nurbs_curve.order = order;
- ptr2->curve.nurbs_curve.dim = (type == GLU_MAP1_TRIM_2 ? 2 : 3);
- ptr2->curve.nurbs_curve.type = type;
- ptr2->next = NULL;
-#endif
- }
- else {
- if (type == GLU_MAP1_TRIM_2 || type == GLU_MAP1_TRIM_3) {
- call_user_error(nobj, GLU_NURBS_ERROR22);
- return;
- }
- if (nobj->nurbs_type != GLU_NURBS_CURVE) {
- call_user_error(nobj, GLU_NURBS_ERROR10);
- return;
- }
- switch (type) {
- case GL_MAP1_VERTEX_3:
- case GL_MAP1_VERTEX_4:
- if (nobj->curve.geom.type != GLU_INVALID_ENUM) {
- call_user_error(nobj, GLU_NURBS_ERROR8);
- return;
- }
- nobj->curve.geom.type = type;
- nobj->curve.geom.knot_count = nknots;
- nobj->curve.geom.knot = knot;
- nobj->curve.geom.stride = stride;
- nobj->curve.geom.ctrlarray = ctlarray;
- nobj->curve.geom.order = order;
- break;
- case GL_MAP1_INDEX:
- case GL_MAP1_COLOR_4:
- nobj->curve.color.type = type;
- nobj->curve.color.knot_count = nknots;
- nobj->curve.color.knot = knot;
- nobj->curve.color.stride = stride;
- nobj->curve.color.ctrlarray = ctlarray;
- nobj->curve.color.order = order;
- break;
- case GL_MAP1_NORMAL:
- nobj->curve.normal.type = type;
- nobj->curve.normal.knot_count = nknots;
- nobj->curve.normal.knot = knot;
- nobj->curve.normal.stride = stride;
- nobj->curve.normal.ctrlarray = ctlarray;
- nobj->curve.normal.order = order;
- break;
- case GL_MAP1_TEXTURE_COORD_1:
- case GL_MAP1_TEXTURE_COORD_2:
- case GL_MAP1_TEXTURE_COORD_3:
- case GL_MAP1_TEXTURE_COORD_4:
- nobj->curve.texture.type = type;
- nobj->curve.texture.knot_count = nknots;
- nobj->curve.texture.knot = knot;
- nobj->curve.texture.stride = stride;
- nobj->curve.texture.ctrlarray = ctlarray;
- nobj->curve.texture.order = order;
- break;
- default:
- call_user_error(nobj, GLU_INVALID_ENUM);
- }
- }
-}
-
-
-void GLAPIENTRY
-gluBeginSurface(GLUnurbsObj * nobj)
-{
- switch (nobj->nurbs_type) {
- case GLU_NURBS_NONE:
- nobj->nurbs_type = GLU_NURBS_SURFACE;
- nobj->surface.geom.type = GLU_INVALID_ENUM;
- nobj->surface.color.type = GLU_INVALID_ENUM;
- nobj->surface.texture.type = GLU_INVALID_ENUM;
- nobj->surface.normal.type = GLU_INVALID_ENUM;
- break;
- case GLU_NURBS_TRIM:
- call_user_error(nobj, GLU_NURBS_ERROR16);
- break;
- case GLU_NURBS_SURFACE:
- case GLU_NURBS_NO_TRIM:
- case GLU_NURBS_TRIM_DONE:
- call_user_error(nobj, GLU_NURBS_ERROR27);
- break;
- case GLU_NURBS_CURVE:
- call_user_error(nobj, GLU_NURBS_ERROR6);
- break;
- }
-}
-
-
-void GLAPIENTRY
-gluEndSurface(GLUnurbsObj * nobj)
-{
- switch (nobj->nurbs_type) {
- case GLU_NURBS_NONE:
- call_user_error(nobj, GLU_NURBS_ERROR13);
- break;
- case GLU_NURBS_TRIM:
- call_user_error(nobj, GLU_NURBS_ERROR12);
- break;
- case GLU_NURBS_TRIM_DONE:
-/* if(nobj->trim->trim_loop==NULL)
- {
- call_user_error(nobj,GLU_NURBS_ERROR18);
- return;
- }*/
- /* no break - fallthrough */
- case GLU_NURBS_NO_TRIM:
- glPushAttrib((GLbitfield)
- (GL_EVAL_BIT | GL_ENABLE_BIT | GL_POLYGON_BIT));
- glDisable(GL_MAP2_VERTEX_3);
- glDisable(GL_MAP2_VERTEX_4);
- glDisable(GL_MAP2_INDEX);
- glDisable(GL_MAP2_COLOR_4);
- glDisable(GL_MAP2_NORMAL);
- glDisable(GL_MAP2_TEXTURE_COORD_1);
- glDisable(GL_MAP2_TEXTURE_COORD_2);
- glDisable(GL_MAP2_TEXTURE_COORD_3);
- glDisable(GL_MAP2_TEXTURE_COORD_4);
-/* glDisable(GL_MAP1_VERTEX_3);
- glDisable(GL_MAP1_VERTEX_4);
- glDisable(GL_MAP1_INDEX);
- glDisable(GL_MAP1_COLOR_4);
- glDisable(GL_MAP1_NORMAL);
- glDisable(GL_MAP1_TEXTURE_COORD_1);
- glDisable(GL_MAP1_TEXTURE_COORD_2);
- glDisable(GL_MAP1_TEXTURE_COORD_3);
- glDisable(GL_MAP1_TEXTURE_COORD_4);*/
- do_nurbs_surface(nobj);
- glPopAttrib();
- break;
- default:
- call_user_error(nobj, GLU_NURBS_ERROR8);
- }
- nobj->nurbs_type = GLU_NURBS_NONE;
-}
-
-
-void GLAPIENTRY
-gluNurbsSurface(GLUnurbsObj * nobj,
- GLint sknot_count, GLfloat * sknot,
- GLint tknot_count, GLfloat * tknot,
- GLint s_stride, GLint t_stride,
- GLfloat * ctrlarray, GLint sorder, GLint torder, GLenum type)
-{
- if (nobj->nurbs_type == GLU_NURBS_NO_TRIM
- || nobj->nurbs_type == GLU_NURBS_TRIM
- || nobj->nurbs_type == GLU_NURBS_TRIM_DONE) {
- if (type == GL_MAP2_VERTEX_3 || type == GL_MAP2_VERTEX_4) {
- call_user_error(nobj, GLU_NURBS_ERROR8);
- return;
- }
- }
- else if (nobj->nurbs_type != GLU_NURBS_SURFACE) {
- call_user_error(nobj, GLU_NURBS_ERROR11);
- return;
- }
- switch (type) {
- case GL_MAP2_VERTEX_3:
- case GL_MAP2_VERTEX_4:
- nobj->surface.geom.sknot_count = sknot_count;
- nobj->surface.geom.sknot = sknot;
- nobj->surface.geom.tknot_count = tknot_count;
- nobj->surface.geom.tknot = tknot;
- nobj->surface.geom.s_stride = s_stride;
- nobj->surface.geom.t_stride = t_stride;
- nobj->surface.geom.ctrlarray = ctrlarray;
- nobj->surface.geom.sorder = sorder;
- nobj->surface.geom.torder = torder;
- nobj->surface.geom.type = type;
- nobj->nurbs_type = GLU_NURBS_NO_TRIM;
- break;
- case GL_MAP2_INDEX:
- case GL_MAP2_COLOR_4:
- nobj->surface.color.sknot_count = sknot_count;
- nobj->surface.color.sknot = sknot;
- nobj->surface.color.tknot_count = tknot_count;
- nobj->surface.color.tknot = tknot;
- nobj->surface.color.s_stride = s_stride;
- nobj->surface.color.t_stride = t_stride;
- nobj->surface.color.ctrlarray = ctrlarray;
- nobj->surface.color.sorder = sorder;
- nobj->surface.color.torder = torder;
- nobj->surface.color.type = type;
- break;
- case GL_MAP2_NORMAL:
- nobj->surface.normal.sknot_count = sknot_count;
- nobj->surface.normal.sknot = sknot;
- nobj->surface.normal.tknot_count = tknot_count;
- nobj->surface.normal.tknot = tknot;
- nobj->surface.normal.s_stride = s_stride;
- nobj->surface.normal.t_stride = t_stride;
- nobj->surface.normal.ctrlarray = ctrlarray;
- nobj->surface.normal.sorder = sorder;
- nobj->surface.normal.torder = torder;
- nobj->surface.normal.type = type;
- break;
- case GL_MAP2_TEXTURE_COORD_1:
- case GL_MAP2_TEXTURE_COORD_2:
- case GL_MAP2_TEXTURE_COORD_3:
- case GL_MAP2_TEXTURE_COORD_4:
- nobj->surface.texture.sknot_count = sknot_count;
- nobj->surface.texture.sknot = sknot;
- nobj->surface.texture.tknot_count = tknot_count;
- nobj->surface.texture.tknot = tknot;
- nobj->surface.texture.s_stride = s_stride;
- nobj->surface.texture.t_stride = t_stride;
- nobj->surface.texture.ctrlarray = ctrlarray;
- nobj->surface.texture.sorder = sorder;
- nobj->surface.texture.torder = torder;
- nobj->surface.texture.type = type;
- break;
- default:
- call_user_error(nobj, GLU_INVALID_ENUM);
- }
-}
-
-
-void GLAPIENTRY
-gluNurbsCallback(GLUnurbsObj * nobj, GLenum which, void (GLCALLBACK * fn) ())
-{
- nobj->error_callback = (void (GLCALLBACKPCAST) (GLenum)) fn;
-
- if (which != GLU_ERROR)
- call_user_error(nobj, GLU_INVALID_ENUM);
-}
-
-void GLAPIENTRY
-gluBeginTrim(GLUnurbsObj * nobj)
-{
-#if 0
- nurbs_trim *ptr;
-#endif
-
- if (nobj->nurbs_type != GLU_NURBS_TRIM_DONE)
- if (nobj->nurbs_type != GLU_NURBS_NO_TRIM) {
- call_user_error(nobj, GLU_NURBS_ERROR15);
- return;
- }
- nobj->nurbs_type = GLU_NURBS_TRIM;
- fprintf(stderr, "NURBS - trimming not supported yet\n");
-#if 0
- if ((ptr = (nurbs_trim *) malloc(sizeof(nurbs_trim))) == NULL) {
- call_user_error(nobj, GLU_OUT_OF_MEMORY);
- return;
- }
- if (nobj->trim) {
- nurbs_trim *tmp_ptr;
-
- for (tmp_ptr = nobj->trim; tmp_ptr->next; tmp_ptr = tmp_ptr->next);
- tmp_ptr->next = ptr;
- }
- else
- nobj->trim = ptr;
- ptr->trim_loop = NULL;
- ptr->segments = NULL;
- ptr->next = NULL;
-#endif
-}
-
-void GLAPIENTRY
-gluPwlCurve(GLUnurbsObj * nobj, GLint count, GLfloat * array, GLint stride,
- GLenum type)
-{
-#if 0
- nurbs_trim *ptr1;
- trim_list *ptr2;
-#endif
- if (nobj->nurbs_type == GLU_NURBS_CURVE) {
- call_user_error(nobj, GLU_NURBS_ERROR9);
- return;
- }
- if (nobj->nurbs_type == GLU_NURBS_NONE) {
- call_user_error(nobj, GLU_NURBS_ERROR19);
- return;
- }
- if (type != GLU_MAP1_TRIM_2 && type != GLU_MAP1_TRIM_3) {
- call_user_error(nobj, GLU_NURBS_ERROR14);
- return;
- }
-#if 0
- for (ptr1 = nobj->trim; ptr1->next; ptr1 = ptr1->next);
- if (ptr1->trim_loop) {
- for (ptr2 = ptr1->trim_loop; ptr2->next; ptr2 = ptr2->next);
- if ((ptr2->next = (trim_list *) malloc(sizeof(trim_list))) == NULL) {
- call_user_error(nobj, GLU_OUT_OF_MEMORY);
- return;
- }
- ptr2 = ptr2->next;
- }
- else {
- if ((ptr2 = (trim_list *) malloc(sizeof(trim_list))) == NULL) {
- call_user_error(nobj, GLU_OUT_OF_MEMORY);
- return;
- }
- ptr1->trim_loop = ptr2;
- }
- ptr2->trim_type = GLU_TRIM_PWL;
- ptr2->curve.pwl_curve.pt_count = count;
- ptr2->curve.pwl_curve.ctrlarray = array;
- ptr2->curve.pwl_curve.stride = stride;
- ptr2->curve.pwl_curve.dim = (type == GLU_MAP1_TRIM_2 ? 2 : 3);
- ptr2->curve.pwl_curve.type = type;
- ptr2->next = NULL;
-#endif
-}
-
-void GLAPIENTRY
-gluEndTrim(GLUnurbsObj * nobj)
-{
- if (nobj->nurbs_type != GLU_NURBS_TRIM) {
- call_user_error(nobj, GLU_NURBS_ERROR17);
- return;
- }
- nobj->nurbs_type = GLU_NURBS_TRIM_DONE;
-}
diff --git a/src/glu/mesa/nurbs.h b/src/glu/mesa/nurbs.h
deleted file mode 100644
index 3642e213a8..0000000000
--- a/src/glu/mesa/nurbs.h
+++ /dev/null
@@ -1,252 +0,0 @@
-
-/*
- * Mesa 3-D graphics library
- * Version: 3.3
- * Copyright (C) 1995-2000 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-
-/*
- * NURBS implementation written by Bogdan Sikorski (bogdan@cira.it)
- * See README2 for more info.
- */
-
-
-#ifndef NURBS_H
-#define NURBS_H
-
-
-#define EPSILON 1e-06 /* epsilon for double precision compares */
-
-typedef enum
-{
- GLU_NURBS_CURVE, GLU_NURBS_SURFACE, GLU_NURBS_TRIM, GLU_NURBS_NO_TRIM,
- GLU_NURBS_TRIM_DONE, GLU_NURBS_NONE
-}
-GLU_nurbs_enum;
-
-typedef enum
-{
- GLU_TRIM_NURBS, GLU_TRIM_PWL
-}
-GLU_trim_enum;
-
-typedef struct
-{
- GLint sknot_count;
- GLfloat *sknot;
- GLint tknot_count;
- GLfloat *tknot;
- GLint s_stride;
- GLint t_stride;
- GLfloat *ctrlarray;
- GLint sorder;
- GLint torder;
- GLint dim;
- GLenum type;
-}
-surface_attribs;
-
-typedef struct
-{
- surface_attribs geom;
- surface_attribs color;
- surface_attribs texture;
- surface_attribs normal;
-}
-nurbs_surface;
-
-typedef struct
-{
- GLint knot_count;
- GLfloat *knot;
- GLint stride;
- GLfloat *ctrlarray;
- GLint order;
- GLint dim;
- GLenum type;
-}
-curve_attribs;
-
-typedef struct
-{
- GLint pt_count;
- GLfloat *ctrlarray;
- GLint stride;
- GLint dim;
- GLenum type;
-}
-pwl_curve_attribs;
-
-typedef struct
-{
- curve_attribs geom;
- curve_attribs color;
- curve_attribs texture;
- curve_attribs normal;
-}
-nurbs_curve;
-
-typedef struct trim_list_str
-{
- GLU_trim_enum trim_type;
- union
- {
- pwl_curve_attribs pwl_curve;
- curve_attribs nurbs_curve;
- }
- curve;
- struct trim_list_str *next;
-}
-trim_list;
-
-typedef struct seg_trim_str
-{
- GLfloat *points;
- GLint pt_cnt, seg_array_len;
- struct seg_trim_str *next;
-}
-trim_segments;
-
-typedef struct nurbs_trim_str
-{
- trim_list *trim_loop;
- trim_segments *segments;
- struct nurbs_trim_str *next;
-}
-nurbs_trim;
-
-typedef struct
-{
- GLfloat model[16], proj[16], viewport[4];
-}
-culling_and_sampling_str;
-
-struct GLUnurbs
-{
- GLboolean culling;
- GLenum error;
- void (GLCALLBACK * error_callback) (GLenum err);
- GLenum display_mode;
- GLU_nurbs_enum nurbs_type;
- GLboolean auto_load_matrix;
- culling_and_sampling_str sampling_matrices;
- GLenum sampling_method;
- GLfloat sampling_tolerance;
- GLfloat parametric_tolerance;
- GLint u_step, v_step;
- nurbs_surface surface;
- nurbs_curve curve;
- nurbs_trim *trim;
-};
-
-typedef struct
-{
- GLfloat *knot;
- GLint nknots;
- GLfloat *unified_knot;
- GLint unified_nknots;
- GLint order;
- GLint t_min, t_max;
- GLint delta_nknots;
- GLboolean open_at_begin, open_at_end;
- GLfloat *new_knot;
- GLfloat *alpha;
-}
-knot_str_type;
-
-typedef struct
-{
- GLfloat *geom_ctrl;
- GLint geom_s_stride, geom_t_stride;
- GLfloat **geom_offsets;
- GLint geom_s_pt_cnt, geom_t_pt_cnt;
- GLfloat *color_ctrl;
- GLint color_s_stride, color_t_stride;
- GLfloat **color_offsets;
- GLint color_s_pt_cnt, color_t_pt_cnt;
- GLfloat *normal_ctrl;
- GLint normal_s_stride, normal_t_stride;
- GLfloat **normal_offsets;
- GLint normal_s_pt_cnt, normal_t_pt_cnt;
- GLfloat *texture_ctrl;
- GLint texture_s_stride, texture_t_stride;
- GLfloat **texture_offsets;
- GLint texture_s_pt_cnt, texture_t_pt_cnt;
- GLint s_bezier_cnt, t_bezier_cnt;
-}
-new_ctrl_type;
-
-extern void call_user_error(GLUnurbsObj * nobj, GLenum error);
-
-extern GLenum test_knot(GLint nknots, GLfloat * knot, GLint order);
-
-extern GLenum explode_knot(knot_str_type * the_knot);
-
-extern GLenum calc_alphas(knot_str_type * the_knot);
-
-extern GLenum calc_new_ctrl_pts(GLfloat * ctrl, GLint stride,
- knot_str_type * the_knot, GLint dim,
- GLfloat ** new_ctrl, GLint * ncontrol);
-
-extern GLenum glu_do_sampling_crv(GLUnurbsObj * nobj, GLfloat * new_ctrl,
- GLint n_ctrl, GLint order, GLint dim,
- GLint ** factors);
-
-extern GLenum glu_do_sampling_3D(GLUnurbsObj * nobj, new_ctrl_type * new_ctrl,
- int **sfactors, GLint ** tfactors);
-
-extern GLenum glu_do_sampling_uv(GLUnurbsObj * nobj, new_ctrl_type * new_ctrl,
- int **sfactors, GLint ** tfactors);
-
-extern GLenum glu_do_sampling_param_3D(GLUnurbsObj * nobj,
- new_ctrl_type * new_ctrl,
- int **sfactors, GLint ** tfactors);
-
-extern GLboolean fine_culling_test_2D(GLUnurbsObj * nobj, GLfloat * ctrl,
- GLint n_ctrl, GLint stride, GLint dim);
-
-extern GLboolean fine_culling_test_3D(GLUnurbsObj * nobj, GLfloat * ctrl,
- GLint s_n_ctrl, GLint t_n_ctrl,
- GLint s_stride, GLint t_stride,
- GLint dim);
-
-extern void do_nurbs_curve(GLUnurbsObj * nobj);
-
-extern void do_nurbs_surface(GLUnurbsObj * nobj);
-
-extern GLenum patch_trimming(GLUnurbsObj * nobj, new_ctrl_type * new_ctrl,
- GLint * sfactors, GLint * tfactors);
-
-extern void collect_unified_knot(knot_str_type * dest, knot_str_type * src,
- GLfloat maximal_min_knot,
- GLfloat minimal_max_knot);
-
-extern GLenum select_knot_working_range(GLUnurbsObj * nobj,
- knot_str_type * geom_knot,
- knot_str_type * color_knot,
- knot_str_type * normal_knot,
- knot_str_type * texture_knot);
-
-extern void free_unified_knots(knot_str_type * geom_knot,
- knot_str_type * color_knot,
- knot_str_type * normal_knot,
- knot_str_type * texture_knot);
-
-
-
-#endif
diff --git a/src/glu/mesa/nurbscrv.c b/src/glu/mesa/nurbscrv.c
deleted file mode 100644
index 4483e1f776..0000000000
--- a/src/glu/mesa/nurbscrv.c
+++ /dev/null
@@ -1,444 +0,0 @@
-
-/*
- * Mesa 3-D graphics library
- * Version: 3.3
- * Copyright (C) 1995-2000 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-
-/*
- * NURBS implementation written by Bogdan Sikorski (bogdan@cira.it)
- * See README2 for more info.
- */
-
-
-#ifdef PC_HEADER
-#include "all.h"
-#else
-#include <math.h>
-#include <stdlib.h>
-#include "gluP.h"
-#include "nurbs.h"
-#endif
-
-
-static int
-get_curve_dim(GLenum type)
-{
- switch (type) {
- case GL_MAP1_VERTEX_3:
- return 3;
- case GL_MAP1_VERTEX_4:
- return 4;
- case GL_MAP1_INDEX:
- return 1;
- case GL_MAP1_COLOR_4:
- return 4;
- case GL_MAP1_NORMAL:
- return 3;
- case GL_MAP1_TEXTURE_COORD_1:
- return 1;
- case GL_MAP1_TEXTURE_COORD_2:
- return 2;
- case GL_MAP1_TEXTURE_COORD_3:
- return 3;
- case GL_MAP1_TEXTURE_COORD_4:
- return 4;
- default:
- abort(); /* TODO: is this OK? */
- }
- return 0; /*never get here */
-}
-
-static GLenum
-test_nurbs_curve(GLUnurbsObj * nobj, curve_attribs * attribs)
-{
- GLenum err;
- GLint tmp_int;
-
- if (attribs->order < 0) {
- call_user_error(nobj, GLU_INVALID_VALUE);
- return GLU_ERROR;
- }
- glGetIntegerv(GL_MAX_EVAL_ORDER, &tmp_int);
- if (attribs->order > tmp_int || attribs->order < 2) {
- call_user_error(nobj, GLU_NURBS_ERROR1);
- return GLU_ERROR;
- }
- if (attribs->knot_count < attribs->order + 2) {
- call_user_error(nobj, GLU_NURBS_ERROR2);
- return GLU_ERROR;
- }
- if (attribs->stride < 0) {
- call_user_error(nobj, GLU_NURBS_ERROR34);
- return GLU_ERROR;
- }
- if (attribs->knot == NULL || attribs->ctrlarray == NULL) {
- call_user_error(nobj, GLU_NURBS_ERROR36);
- return GLU_ERROR;
- }
- if ((err = test_knot(attribs->knot_count, attribs->knot, attribs->order))
- != GLU_NO_ERROR) {
- call_user_error(nobj, err);
- return GLU_ERROR;
- }
- return GLU_NO_ERROR;
-}
-
-static GLenum
-test_nurbs_curves(GLUnurbsObj * nobj)
-{
- /* test the geometric data */
- if (test_nurbs_curve(nobj, &(nobj->curve.geom)) != GLU_NO_ERROR)
- return GLU_ERROR;
- /* now test the attributive data */
- /* color */
- if (nobj->curve.color.type != GLU_INVALID_ENUM)
- if (test_nurbs_curve(nobj, &(nobj->curve.color)) != GLU_NO_ERROR)
- return GLU_ERROR;
- /* normal */
- if (nobj->curve.normal.type != GLU_INVALID_ENUM)
- if (test_nurbs_curve(nobj, &(nobj->curve.normal)) != GLU_NO_ERROR)
- return GLU_ERROR;
- /* texture */
- if (nobj->curve.texture.type != GLU_INVALID_ENUM)
- if (test_nurbs_curve(nobj, &(nobj->curve.texture)) != GLU_NO_ERROR)
- return GLU_ERROR;
- return GLU_NO_ERROR;
-}
-
-/* prepare the knot information structures */
-static GLenum
-fill_knot_structures(GLUnurbsObj * nobj, knot_str_type * geom_knot,
- knot_str_type * color_knot, knot_str_type * normal_knot,
- knot_str_type * texture_knot)
-{
- GLint order;
- GLfloat *knot;
- GLint nknots;
- GLint t_min, t_max;
-
- geom_knot->unified_knot = NULL;
- knot = geom_knot->knot = nobj->curve.geom.knot;
- nknots = geom_knot->nknots = nobj->curve.geom.knot_count;
- order = geom_knot->order = nobj->curve.geom.order;
- geom_knot->delta_nknots = 0;
- t_min = geom_knot->t_min = order - 1;
- t_max = geom_knot->t_max = nknots - order;
- if (fabs(knot[t_min] - knot[t_max]) < EPSILON) {
- call_user_error(nobj, GLU_NURBS_ERROR3);
- return GLU_ERROR;
- }
- if (fabs(knot[0] - knot[t_min]) < EPSILON) {
- /* knot open at beggining */
- geom_knot->open_at_begin = GL_TRUE;
- }
- else
- geom_knot->open_at_begin = GL_FALSE;
- if (fabs(knot[t_max] - knot[nknots - 1]) < EPSILON) {
- /* knot open at end */
- geom_knot->open_at_end = GL_TRUE;
- }
- else
- geom_knot->open_at_end = GL_FALSE;
- if (nobj->curve.color.type != GLU_INVALID_ENUM) {
- color_knot->unified_knot = (GLfloat *) 1;
- knot = color_knot->knot = nobj->curve.color.knot;
- nknots = color_knot->nknots = nobj->curve.color.knot_count;
- order = color_knot->order = nobj->curve.color.order;
- color_knot->delta_nknots = 0;
- t_min = color_knot->t_min = order - 1;
- t_max = color_knot->t_max = nknots - order;
- if (fabs(knot[t_min] - knot[t_max]) < EPSILON) {
- call_user_error(nobj, GLU_NURBS_ERROR3);
- return GLU_ERROR;
- }
- if (fabs(knot[0] - knot[t_min]) < EPSILON) {
- /* knot open at beggining */
- color_knot->open_at_begin = GL_TRUE;
- }
- else
- color_knot->open_at_begin = GL_FALSE;
- if (fabs(knot[t_max] - knot[nknots - 1]) < EPSILON) {
- /* knot open at end */
- color_knot->open_at_end = GL_TRUE;
- }
- else
- color_knot->open_at_end = GL_FALSE;
- }
- else
- color_knot->unified_knot = NULL;
- if (nobj->curve.normal.type != GLU_INVALID_ENUM) {
- normal_knot->unified_knot = (GLfloat *) 1;
- knot = normal_knot->knot = nobj->curve.normal.knot;
- nknots = normal_knot->nknots = nobj->curve.normal.knot_count;
- order = normal_knot->order = nobj->curve.normal.order;
- normal_knot->delta_nknots = 0;
- t_min = normal_knot->t_min = order - 1;
- t_max = normal_knot->t_max = nknots - order;
- if (fabs(knot[t_min] - knot[t_max]) < EPSILON) {
- call_user_error(nobj, GLU_NURBS_ERROR3);
- return GLU_ERROR;
- }
- if (fabs(knot[0] - knot[t_min]) < EPSILON) {
- /* knot open at beggining */
- normal_knot->open_at_begin = GL_TRUE;
- }
- else
- normal_knot->open_at_begin = GL_FALSE;
- if (fabs(knot[t_max] - knot[nknots - 1]) < EPSILON) {
- /* knot open at end */
- normal_knot->open_at_end = GL_TRUE;
- }
- else
- normal_knot->open_at_end = GL_FALSE;
- }
- else
- normal_knot->unified_knot = NULL;
- if (nobj->curve.texture.type != GLU_INVALID_ENUM) {
- texture_knot->unified_knot = (GLfloat *) 1;
- knot = texture_knot->knot = nobj->curve.texture.knot;
- nknots = texture_knot->nknots = nobj->curve.texture.knot_count;
- order = texture_knot->order = nobj->curve.texture.order;
- texture_knot->delta_nknots = 0;
- t_min = texture_knot->t_min = order - 1;
- t_max = texture_knot->t_max = nknots - order;
- if (fabs(knot[t_min] - knot[t_max]) < EPSILON) {
- call_user_error(nobj, GLU_NURBS_ERROR3);
- return GLU_ERROR;
- }
- if (fabs(knot[0] - knot[t_min]) < EPSILON) {
- /* knot open at beggining */
- texture_knot->open_at_begin = GL_TRUE;
- }
- else
- texture_knot->open_at_begin = GL_FALSE;
- if (fabs(knot[t_max] - knot[nknots - 1]) < EPSILON) {
- /* knot open at end */
- texture_knot->open_at_end = GL_TRUE;
- }
- else
- texture_knot->open_at_end = GL_FALSE;
- }
- else
- texture_knot->unified_knot = NULL;
- return GLU_NO_ERROR;
-}
-
-/* covert the NURBS curve into a series of adjacent Bezier curves */
-static GLenum
-convert_curve(knot_str_type * the_knot, curve_attribs * attrib,
- GLfloat ** new_ctrl, GLint * ncontrol)
-{
- GLenum err;
-
- if ((err = explode_knot(the_knot)) != GLU_NO_ERROR) {
- if (the_knot->unified_knot) {
- free(the_knot->unified_knot);
- the_knot->unified_knot = NULL;
- }
- return err;
- }
- if (the_knot->unified_knot) {
- free(the_knot->unified_knot);
- the_knot->unified_knot = NULL;
- }
- if ((err = calc_alphas(the_knot)) != GLU_NO_ERROR) {
- free(the_knot->new_knot);
- return err;
- }
- free(the_knot->new_knot);
- if ((err = calc_new_ctrl_pts(attrib->ctrlarray, attrib->stride, the_knot,
- attrib->dim, new_ctrl, ncontrol))
- != GLU_NO_ERROR) {
- free(the_knot->alpha);
- return err;
- }
- free(the_knot->alpha);
- return GLU_NO_ERROR;
-}
-
-/* covert curves - geometry and possible attribute ones into equivalent */
-/* sequence of adjacent Bezier curves */
-static GLenum
-convert_curves(GLUnurbsObj * nobj, GLfloat ** new_geom_ctrl,
- GLint * ncontrol, GLfloat ** new_color_ctrl,
- GLfloat ** new_normal_ctrl, GLfloat ** new_texture_ctrl)
-{
- knot_str_type geom_knot, color_knot, normal_knot, texture_knot;
- GLint junk;
- GLenum err;
-
- *new_color_ctrl = *new_normal_ctrl = *new_texture_ctrl = NULL;
-
- if (fill_knot_structures(nobj, &geom_knot, &color_knot, &normal_knot,
- &texture_knot) != GLU_NO_ERROR)
- return GLU_ERROR;
-
- /* unify knots - all knots should have the same number of working */
- /* ranges */
- if (
- (err =
- select_knot_working_range(nobj, &geom_knot, &color_knot, &normal_knot,
- &texture_knot)) != GLU_NO_ERROR) {
- return err;
- }
- /* convert the geometry curve */
- nobj->curve.geom.dim = get_curve_dim(nobj->curve.geom.type);
- if ((err = convert_curve(&geom_knot, &(nobj->curve.geom), new_geom_ctrl,
- ncontrol)) != GLU_NO_ERROR) {
- free_unified_knots(&geom_knot, &color_knot, &normal_knot,
- &texture_knot);
- call_user_error(nobj, err);
- return err;
- }
- /* if additional attributive curves are given convert them as well */
- if (color_knot.unified_knot) {
- nobj->curve.color.dim = get_curve_dim(nobj->curve.color.type);
- if ((err = convert_curve(&color_knot, &(nobj->curve.color),
- new_color_ctrl, &junk)) != GLU_NO_ERROR) {
- free_unified_knots(&geom_knot, &color_knot, &normal_knot,
- &texture_knot);
- free(*new_geom_ctrl);
- call_user_error(nobj, err);
- return err;
- }
- }
- if (normal_knot.unified_knot) {
- nobj->curve.normal.dim = get_curve_dim(nobj->curve.normal.type);
- if ((err = convert_curve(&normal_knot, &(nobj->curve.normal),
- new_normal_ctrl, &junk)) != GLU_NO_ERROR) {
- free_unified_knots(&geom_knot, &color_knot, &normal_knot,
- &texture_knot);
- free(*new_geom_ctrl);
- if (*new_color_ctrl)
- free(*new_color_ctrl);
- call_user_error(nobj, err);
- return err;
- }
- }
- if (texture_knot.unified_knot) {
- nobj->curve.texture.dim = get_curve_dim(nobj->curve.texture.type);
- if ((err = convert_curve(&texture_knot, &(nobj->curve.texture),
- new_texture_ctrl, &junk)) != GLU_NO_ERROR) {
- free_unified_knots(&geom_knot, &color_knot, &normal_knot,
- &texture_knot);
- free(*new_geom_ctrl);
- if (*new_color_ctrl)
- free(*new_color_ctrl);
- if (*new_normal_ctrl)
- free(*new_normal_ctrl);
- call_user_error(nobj, err);
- return err;
- }
- }
- return GLU_NO_ERROR;
-}
-
-/* main NURBS curve procedure */
-void
-do_nurbs_curve(GLUnurbsObj * nobj)
-{
- GLint geom_order, color_order = 0, normal_order = 0, texture_order = 0;
- GLenum geom_type;
- GLint n_ctrl;
- GLfloat *new_geom_ctrl, *new_color_ctrl, *new_normal_ctrl,
- *new_texture_ctrl;
- GLfloat *geom_ctrl = 0, *color_ctrl = 0, *normal_ctrl = 0, *texture_ctrl = 0;
- GLint *factors;
- GLint i, j;
- GLint geom_dim, color_dim = 0, normal_dim = 0, texture_dim = 0;
-
- /* test the user supplied data */
- if (test_nurbs_curves(nobj) != GLU_NO_ERROR)
- return;
-
- if (convert_curves(nobj, &new_geom_ctrl, &n_ctrl, &new_color_ctrl,
- &new_normal_ctrl, &new_texture_ctrl) != GLU_NO_ERROR)
- return;
-
- geom_order = nobj->curve.geom.order;
- geom_type = nobj->curve.geom.type;
- geom_dim = nobj->curve.geom.dim;
-
- if (glu_do_sampling_crv(nobj, new_geom_ctrl, n_ctrl, geom_order, geom_dim,
- &factors) != GLU_NO_ERROR) {
- free(new_geom_ctrl);
- if (new_color_ctrl)
- free(new_color_ctrl);
- if (new_normal_ctrl)
- free(new_normal_ctrl);
- if (new_texture_ctrl)
- free(new_texture_ctrl);
- return;
- }
- glEnable(geom_type);
- if (new_color_ctrl) {
- glEnable(nobj->curve.color.type);
- color_dim = nobj->curve.color.dim;
- color_ctrl = new_color_ctrl;
- color_order = nobj->curve.color.order;
- }
- if (new_normal_ctrl) {
- glEnable(nobj->curve.normal.type);
- normal_dim = nobj->curve.normal.dim;
- normal_ctrl = new_normal_ctrl;
- normal_order = nobj->curve.normal.order;
- }
- if (new_texture_ctrl) {
- glEnable(nobj->curve.texture.type);
- texture_dim = nobj->curve.texture.dim;
- texture_ctrl = new_texture_ctrl;
- texture_order = nobj->curve.texture.order;
- }
- for (i = 0, j = 0, geom_ctrl = new_geom_ctrl;
- i < n_ctrl; i += geom_order, j++, geom_ctrl += geom_order * geom_dim) {
- if (fine_culling_test_2D
- (nobj, geom_ctrl, geom_order, geom_dim, geom_dim)) {
- color_ctrl += color_order * color_dim;
- normal_ctrl += normal_order * normal_dim;
- texture_ctrl += texture_order * texture_dim;
- continue;
- }
- glMap1f(geom_type, 0.0, 1.0, geom_dim, geom_order, geom_ctrl);
- if (new_color_ctrl) {
- glMap1f(nobj->curve.color.type, 0.0, 1.0, color_dim,
- color_order, color_ctrl);
- color_ctrl += color_order * color_dim;
- }
- if (new_normal_ctrl) {
- glMap1f(nobj->curve.normal.type, 0.0, 1.0, normal_dim,
- normal_order, normal_ctrl);
- normal_ctrl += normal_order * normal_dim;
- }
- if (new_texture_ctrl) {
- glMap1f(nobj->curve.texture.type, 0.0, 1.0, texture_dim,
- texture_order, texture_ctrl);
- texture_ctrl += texture_order * texture_dim;
- }
- glMapGrid1f(factors[j], 0.0, 1.0);
- glEvalMesh1(GL_LINE, 0, factors[j]);
- }
- free(new_geom_ctrl);
- free(factors);
- if (new_color_ctrl)
- free(new_color_ctrl);
- if (new_normal_ctrl)
- free(new_normal_ctrl);
- if (new_texture_ctrl)
- free(new_texture_ctrl);
-}
diff --git a/src/glu/mesa/nurbssrf.c b/src/glu/mesa/nurbssrf.c
deleted file mode 100644
index d39fa47d18..0000000000
--- a/src/glu/mesa/nurbssrf.c
+++ /dev/null
@@ -1,1317 +0,0 @@
-
-/*
- * Mesa 3-D graphics library
- * Version: 3.3
- * Copyright (C) 1995-2000 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-
-/*
- * NURBS implementation written by Bogdan Sikorski (bogdan@cira.it)
- * See README2 for more info.
- */
-
-
-#ifdef PC_HEADER
-#include "all.h"
-#else
-#include <math.h>
-#include <stdlib.h>
-#include <string.h>
-#include "gluP.h"
-#include "nurbs.h"
-#endif
-
-
-static int
-get_surface_dim(GLenum type)
-{
- switch (type) {
- case GL_MAP2_VERTEX_3:
- return 3;
- case GL_MAP2_VERTEX_4:
- return 4;
- case GL_MAP2_INDEX:
- return 1;
- case GL_MAP2_COLOR_4:
- return 4;
- case GL_MAP2_NORMAL:
- return 3;
- case GL_MAP2_TEXTURE_COORD_1:
- return 1;
- case GL_MAP2_TEXTURE_COORD_2:
- return 2;
- case GL_MAP2_TEXTURE_COORD_3:
- return 3;
- case GL_MAP2_TEXTURE_COORD_4:
- return 4;
- default:
- abort(); /* TODO: is this OK? */
- }
- return 0; /*never get here */
-}
-
-static GLenum
-test_nurbs_surface(GLUnurbsObj * nobj, surface_attribs * attrib)
-{
- GLenum err;
- GLint tmp_int;
-
- if (attrib->sorder < 0 || attrib->torder < 0) {
- call_user_error(nobj, GLU_INVALID_VALUE);
- return GLU_ERROR;
- }
- glGetIntegerv(GL_MAX_EVAL_ORDER, &tmp_int);
- if (attrib->sorder > tmp_int || attrib->sorder < 2) {
- call_user_error(nobj, GLU_NURBS_ERROR1);
- return GLU_ERROR;
- }
- if (attrib->torder > tmp_int || attrib->torder < 2) {
- call_user_error(nobj, GLU_NURBS_ERROR1);
- return GLU_ERROR;
- }
- if (attrib->sknot_count < attrib->sorder + 2) {
- call_user_error(nobj, GLU_NURBS_ERROR2);
- return GLU_ERROR;
- }
- if (attrib->tknot_count < attrib->torder + 2) {
- call_user_error(nobj, GLU_NURBS_ERROR2);
- return GLU_ERROR;
- }
- if (attrib->s_stride < 0 || attrib->t_stride < 0) {
- call_user_error(nobj, GLU_NURBS_ERROR34);
- return GLU_ERROR;
- }
- if (attrib->sknot == NULL || attrib->tknot == NULL
- || attrib->ctrlarray == NULL) {
- call_user_error(nobj, GLU_NURBS_ERROR36);
- return GLU_ERROR;
- }
- if ((err = test_knot(attrib->tknot_count, attrib->tknot, attrib->torder))
- != GLU_NO_ERROR) {
- call_user_error(nobj, err);
- return GLU_ERROR;
- }
- if ((err = test_knot(attrib->sknot_count, attrib->sknot, attrib->sorder))
- != GLU_NO_ERROR) {
- call_user_error(nobj, err);
- return GLU_ERROR;
- }
- return GLU_NO_ERROR;
-}
-
-static GLenum
-test_nurbs_surfaces(GLUnurbsObj * nobj)
-{
- /* test the geometric data */
- if (test_nurbs_surface(nobj, &(nobj->surface.geom)) != GLU_NO_ERROR)
- return GLU_ERROR;
- /* now test the attributive data */
- /* color */
- if (nobj->surface.color.type != GLU_INVALID_ENUM)
- if (test_nurbs_surface(nobj, &(nobj->surface.color)) != GLU_NO_ERROR)
- return GLU_ERROR;
- /* normal */
- if (nobj->surface.normal.type != GLU_INVALID_ENUM)
- if (test_nurbs_surface(nobj, &(nobj->surface.normal)) != GLU_NO_ERROR)
- return GLU_ERROR;
- /* texture */
- if (nobj->surface.texture.type != GLU_INVALID_ENUM)
- if (test_nurbs_surface(nobj, &(nobj->surface.texture)) != GLU_NO_ERROR)
- return GLU_ERROR;
- return GLU_NO_ERROR;
-}
-
-static GLenum
-convert_surf(knot_str_type * s_knot, knot_str_type * t_knot,
- surface_attribs * attrib, GLfloat ** new_ctrl,
- GLint * s_n_ctrl, GLint * t_n_ctrl)
-{
- GLfloat **tmp_ctrl;
- GLfloat *ctrl_offset;
- GLint tmp_n_control;
- GLint i, j, t_cnt, s_cnt;
- GLint tmp_stride;
- GLint dim;
- GLenum err;
-
- /* valid range is empty? */
- if ((s_knot->unified_knot != NULL && s_knot->unified_nknots == 0) ||
- (t_knot->unified_knot != NULL && t_knot->unified_nknots == 0)) {
- if (s_knot->unified_knot) {
- free(s_knot->unified_knot);
- s_knot->unified_knot = NULL;
- }
- if (t_knot->unified_knot) {
- free(t_knot->unified_knot);
- t_knot->unified_knot = NULL;
- }
- *s_n_ctrl = 0;
- *t_n_ctrl = 0;
- return GLU_NO_ERROR;
- }
- t_cnt = attrib->tknot_count - attrib->torder;
- s_cnt = attrib->sknot_count - attrib->sorder;
- if ((tmp_ctrl = (GLfloat **) malloc(sizeof(GLfloat *) * t_cnt)) == NULL)
- return GLU_OUT_OF_MEMORY;
- if ((err = explode_knot(s_knot)) != GLU_NO_ERROR) {
- free(tmp_ctrl);
- if (s_knot->unified_knot) {
- free(s_knot->unified_knot);
- s_knot->unified_knot = NULL;
- }
- return err;
- }
- if (s_knot->unified_knot) {
- free(s_knot->unified_knot);
- s_knot->unified_knot = NULL;
- }
- if ((err = calc_alphas(s_knot)) != GLU_NO_ERROR) {
- free(tmp_ctrl);
- free(s_knot->new_knot);
- return err;
- }
- free(s_knot->new_knot);
- ctrl_offset = attrib->ctrlarray;
- dim = attrib->dim;
- for (i = 0; i < t_cnt; i++) {
- if ((err = calc_new_ctrl_pts(ctrl_offset, attrib->s_stride, s_knot,
- dim, &(tmp_ctrl[i]),
- &tmp_n_control)) != GLU_NO_ERROR) {
- for (--i; i <= 0; i--)
- free(tmp_ctrl[i]);
- free(tmp_ctrl);
- free(s_knot->alpha);
- return err;
- }
- ctrl_offset += attrib->t_stride;
- }
- free(s_knot->alpha);
- tmp_stride = dim * tmp_n_control;
- if ((*new_ctrl = (GLfloat *) malloc(sizeof(GLfloat) * tmp_stride * t_cnt))
- == NULL) {
- for (i = 0; i < t_cnt; i++)
- free(tmp_ctrl[i]);
- free(tmp_ctrl);
- return GLU_OUT_OF_MEMORY;
- }
- for (i = 0; i < tmp_n_control; i++)
- for (j = 0; j < t_cnt; j++)
- MEMCPY(*new_ctrl + j * dim + i * dim * t_cnt, tmp_ctrl[j] + dim * i,
- sizeof(GLfloat) * dim);
- for (i = 0; i < t_cnt; i++)
- free(tmp_ctrl[i]);
- free(tmp_ctrl);
- *s_n_ctrl = tmp_n_control;
-
- if ((tmp_ctrl = (GLfloat **) malloc(sizeof(GLfloat *) * (*s_n_ctrl))) ==
- NULL) {
- return GLU_OUT_OF_MEMORY;
- }
- if ((err = explode_knot(t_knot)) != GLU_NO_ERROR) {
- free(tmp_ctrl);
- if (t_knot->unified_knot) {
- free(t_knot->unified_knot);
- t_knot->unified_knot = NULL;
- }
- return err;
- }
- if (t_knot->unified_knot) {
- free(t_knot->unified_knot);
- t_knot->unified_knot = NULL;
- }
- if ((err = calc_alphas(t_knot)) != GLU_NO_ERROR) {
- free(tmp_ctrl);
- free(t_knot->new_knot);
- return err;
- }
- free(t_knot->new_knot);
- ctrl_offset = *new_ctrl;
- for (i = 0; i < (*s_n_ctrl); i++) {
- if ((err = calc_new_ctrl_pts(ctrl_offset, dim, t_knot,
- dim, &(tmp_ctrl[i]),
- &tmp_n_control)) != GLU_NO_ERROR) {
- for (--i; i <= 0; i--)
- free(tmp_ctrl[i]);
- free(tmp_ctrl);
- free(t_knot->alpha);
- return err;
- }
- ctrl_offset += dim * t_cnt;
- }
- free(t_knot->alpha);
- free(*new_ctrl);
- tmp_stride = dim * tmp_n_control;
- if (
- (*new_ctrl =
- (GLfloat *) malloc(sizeof(GLfloat) * tmp_stride * (*s_n_ctrl))) ==
- NULL) {
- for (i = 0; i < (*s_n_ctrl); i++)
- free(tmp_ctrl[i]);
- free(tmp_ctrl);
- return GLU_OUT_OF_MEMORY;
- }
- for (i = 0; i < (*s_n_ctrl); i++) {
- MEMCPY(*new_ctrl + i * tmp_stride, tmp_ctrl[i],
- sizeof(GLfloat) * tmp_stride);
- free(tmp_ctrl[i]);
- }
- free(tmp_ctrl);
- *t_n_ctrl = tmp_n_control;
- return GLU_NO_ERROR;
-}
-
-/* prepare the knot information structures */
-static GLenum
-fill_knot_structures(GLUnurbsObj * nobj,
- knot_str_type * geom_s_knot, knot_str_type * geom_t_knot,
- knot_str_type * color_s_knot,
- knot_str_type * color_t_knot,
- knot_str_type * normal_s_knot,
- knot_str_type * normal_t_knot,
- knot_str_type * texture_s_knot,
- knot_str_type * texture_t_knot)
-{
- GLint order;
- GLfloat *knot;
- GLint nknots;
- GLint t_min, t_max;
-
- geom_s_knot->unified_knot = NULL;
- knot = geom_s_knot->knot = nobj->surface.geom.sknot;
- nknots = geom_s_knot->nknots = nobj->surface.geom.sknot_count;
- order = geom_s_knot->order = nobj->surface.geom.sorder;
- geom_s_knot->delta_nknots = 0;
- t_min = geom_s_knot->t_min = order - 1;
- t_max = geom_s_knot->t_max = nknots - order;
- if (fabs(knot[t_min] - knot[t_max]) < EPSILON) {
- call_user_error(nobj, GLU_NURBS_ERROR3);
- return GLU_ERROR;
- }
- if (fabs(knot[0] - knot[t_min]) < EPSILON) {
- /* knot open at beggining */
- geom_s_knot->open_at_begin = GL_TRUE;
- }
- else
- geom_s_knot->open_at_begin = GL_FALSE;
- if (fabs(knot[t_max] - knot[nknots - 1]) < EPSILON) {
- /* knot open at end */
- geom_s_knot->open_at_end = GL_TRUE;
- }
- else
- geom_s_knot->open_at_end = GL_FALSE;
- geom_t_knot->unified_knot = NULL;
- knot = geom_t_knot->knot = nobj->surface.geom.tknot;
- nknots = geom_t_knot->nknots = nobj->surface.geom.tknot_count;
- order = geom_t_knot->order = nobj->surface.geom.torder;
- geom_t_knot->delta_nknots = 0;
- t_min = geom_t_knot->t_min = order - 1;
- t_max = geom_t_knot->t_max = nknots - order;
- if (fabs(knot[t_min] - knot[t_max]) < EPSILON) {
- call_user_error(nobj, GLU_NURBS_ERROR3);
- return GLU_ERROR;
- }
- if (fabs(knot[0] - knot[t_min]) < EPSILON) {
- /* knot open at beggining */
- geom_t_knot->open_at_begin = GL_TRUE;
- }
- else
- geom_t_knot->open_at_begin = GL_FALSE;
- if (fabs(knot[t_max] - knot[nknots - 1]) < EPSILON) {
- /* knot open at end */
- geom_t_knot->open_at_end = GL_TRUE;
- }
- else
- geom_t_knot->open_at_end = GL_FALSE;
-
- if (nobj->surface.color.type != GLU_INVALID_ENUM) {
- color_s_knot->unified_knot = (GLfloat *) 1;
- knot = color_s_knot->knot = nobj->surface.color.sknot;
- nknots = color_s_knot->nknots = nobj->surface.color.sknot_count;
- order = color_s_knot->order = nobj->surface.color.sorder;
- color_s_knot->delta_nknots = 0;
- t_min = color_s_knot->t_min = order - 1;
- t_max = color_s_knot->t_max = nknots - order;
- if (fabs(knot[t_min] - knot[t_max]) < EPSILON) {
- call_user_error(nobj, GLU_NURBS_ERROR3);
- return GLU_ERROR;
- }
- if (fabs(knot[0] - knot[t_min]) < EPSILON) {
- /* knot open at beggining */
- color_s_knot->open_at_begin = GL_TRUE;
- }
- else
- color_s_knot->open_at_begin = GL_FALSE;
- if (fabs(knot[t_max] - knot[nknots - 1]) < EPSILON) {
- /* knot open at end */
- color_s_knot->open_at_end = GL_TRUE;
- }
- else
- color_s_knot->open_at_end = GL_FALSE;
- color_t_knot->unified_knot = (GLfloat *) 1;
- knot = color_t_knot->knot = nobj->surface.color.tknot;
- nknots = color_t_knot->nknots = nobj->surface.color.tknot_count;
- order = color_t_knot->order = nobj->surface.color.torder;
- color_t_knot->delta_nknots = 0;
- t_min = color_t_knot->t_min = order - 1;
- t_max = color_t_knot->t_max = nknots - order;
- if (fabs(knot[t_min] - knot[t_max]) < EPSILON) {
- call_user_error(nobj, GLU_NURBS_ERROR3);
- return GLU_ERROR;
- }
- if (fabs(knot[0] - knot[t_min]) < EPSILON) {
- /* knot open at beggining */
- color_t_knot->open_at_begin = GL_TRUE;
- }
- else
- color_t_knot->open_at_begin = GL_FALSE;
- if (fabs(knot[t_max] - knot[nknots - 1]) < EPSILON) {
- /* knot open at end */
- color_t_knot->open_at_end = GL_TRUE;
- }
- else
- color_t_knot->open_at_end = GL_FALSE;
- }
- else {
- color_s_knot->unified_knot = NULL;
- color_t_knot->unified_knot = NULL;
- }
-
- if (nobj->surface.normal.type != GLU_INVALID_ENUM) {
- normal_s_knot->unified_knot = (GLfloat *) 1;
- knot = normal_s_knot->knot = nobj->surface.normal.sknot;
- nknots = normal_s_knot->nknots = nobj->surface.normal.sknot_count;
- order = normal_s_knot->order = nobj->surface.normal.sorder;
- normal_s_knot->delta_nknots = 0;
- t_min = normal_s_knot->t_min = order - 1;
- t_max = normal_s_knot->t_max = nknots - order;
- if (fabs(knot[t_min] - knot[t_max]) < EPSILON) {
- call_user_error(nobj, GLU_NURBS_ERROR3);
- return GLU_ERROR;
- }
- if (fabs(knot[0] - knot[t_min]) < EPSILON) {
- /* knot open at beggining */
- normal_s_knot->open_at_begin = GL_TRUE;
- }
- else
- normal_s_knot->open_at_begin = GL_FALSE;
- if (fabs(knot[t_max] - knot[nknots - 1]) < EPSILON) {
- /* knot open at end */
- normal_s_knot->open_at_end = GL_TRUE;
- }
- else
- normal_s_knot->open_at_end = GL_FALSE;
- normal_t_knot->unified_knot = (GLfloat *) 1;
- knot = normal_t_knot->knot = nobj->surface.normal.tknot;
- nknots = normal_t_knot->nknots = nobj->surface.normal.tknot_count;
- order = normal_t_knot->order = nobj->surface.normal.torder;
- normal_t_knot->delta_nknots = 0;
- t_min = normal_t_knot->t_min = order - 1;
- t_max = normal_t_knot->t_max = nknots - order;
- if (fabs(knot[t_min] - knot[t_max]) < EPSILON) {
- call_user_error(nobj, GLU_NURBS_ERROR3);
- return GLU_ERROR;
- }
- if (fabs(knot[0] - knot[t_min]) < EPSILON) {
- /* knot open at beggining */
- normal_t_knot->open_at_begin = GL_TRUE;
- }
- else
- normal_t_knot->open_at_begin = GL_FALSE;
- if (fabs(knot[t_max] - knot[nknots - 1]) < EPSILON) {
- /* knot open at end */
- normal_t_knot->open_at_end = GL_TRUE;
- }
- else
- normal_t_knot->open_at_end = GL_FALSE;
- }
- else {
- normal_s_knot->unified_knot = NULL;
- normal_t_knot->unified_knot = NULL;
- }
-
- if (nobj->surface.texture.type != GLU_INVALID_ENUM) {
- texture_s_knot->unified_knot = (GLfloat *) 1;
- knot = texture_s_knot->knot = nobj->surface.texture.sknot;
- nknots = texture_s_knot->nknots = nobj->surface.texture.sknot_count;
- order = texture_s_knot->order = nobj->surface.texture.sorder;
- texture_s_knot->delta_nknots = 0;
- t_min = texture_s_knot->t_min = order - 1;
- t_max = texture_s_knot->t_max = nknots - order;
- if (fabs(knot[t_min] - knot[t_max]) < EPSILON) {
- call_user_error(nobj, GLU_NURBS_ERROR3);
- return GLU_ERROR;
- }
- if (fabs(knot[0] - knot[t_min]) < EPSILON) {
- /* knot open at beggining */
- texture_s_knot->open_at_begin = GL_TRUE;
- }
- else
- texture_s_knot->open_at_begin = GL_FALSE;
- if (fabs(knot[t_max] - knot[nknots - 1]) < EPSILON) {
- /* knot open at end */
- texture_s_knot->open_at_end = GL_TRUE;
- }
- else
- texture_s_knot->open_at_end = GL_FALSE;
- texture_t_knot->unified_knot = (GLfloat *) 1;
- knot = texture_t_knot->knot = nobj->surface.texture.tknot;
- nknots = texture_t_knot->nknots = nobj->surface.texture.tknot_count;
- order = texture_t_knot->order = nobj->surface.texture.torder;
- texture_t_knot->delta_nknots = 0;
- t_min = texture_t_knot->t_min = order - 1;
- t_max = texture_t_knot->t_max = nknots - order;
- if (fabs(knot[t_min] - knot[t_max]) < EPSILON) {
- call_user_error(nobj, GLU_NURBS_ERROR3);
- return GLU_ERROR;
- }
- if (fabs(knot[0] - knot[t_min]) < EPSILON) {
- /* knot open at beggining */
- texture_t_knot->open_at_begin = GL_TRUE;
- }
- else
- texture_t_knot->open_at_begin = GL_FALSE;
- if (fabs(knot[t_max] - knot[nknots - 1]) < EPSILON) {
- /* knot open at end */
- texture_t_knot->open_at_end = GL_TRUE;
- }
- else
- texture_t_knot->open_at_end = GL_FALSE;
- }
- else {
- texture_s_knot->unified_knot = NULL;
- texture_t_knot->unified_knot = NULL;
- }
- return GLU_NO_ERROR;
-}
-
-
-static void
-free_new_ctrl(new_ctrl_type * p)
-{
- if (p->geom_ctrl)
- free(p->geom_ctrl);
- if (p->geom_offsets)
- free(p->geom_offsets);
- if (p->color_ctrl) {
- free(p->color_ctrl);
- if (p->color_offsets)
- free(p->color_offsets);
- }
- if (p->normal_ctrl) {
- free(p->normal_ctrl);
- if (p->normal_offsets)
- free(p->normal_offsets);
- }
- if (p->texture_ctrl) {
- free(p->texture_ctrl);
- if (p->texture_offsets)
- free(p->texture_offsets);
- }
-}
-
-/* convert surfaces - geometry and possible attribute ones into equivalent */
-/* sequence of adjacent Bezier patches */
-static GLenum
-convert_surfs(GLUnurbsObj * nobj, new_ctrl_type * new_ctrl)
-{
- knot_str_type geom_s_knot, color_s_knot, normal_s_knot, texture_s_knot;
- knot_str_type geom_t_knot, color_t_knot, normal_t_knot, texture_t_knot;
- GLenum err;
-
- if ((err = fill_knot_structures(nobj, &geom_s_knot, &geom_t_knot,
- &color_s_knot, &color_t_knot,
- &normal_s_knot, &normal_t_knot,
- &texture_s_knot,
- &texture_t_knot)) != GLU_NO_ERROR) {
- return err;
- }
- /* unify knots - all knots should have the same working range */
- if ((err = select_knot_working_range(nobj, &geom_s_knot, &color_s_knot,
- &normal_s_knot,
- &texture_s_knot)) != GLU_NO_ERROR) {
- call_user_error(nobj, err);
- return err;
- }
- if ((err = select_knot_working_range(nobj, &geom_t_knot, &color_t_knot,
- &normal_t_knot,
- &texture_t_knot)) != GLU_NO_ERROR) {
- free_unified_knots(&geom_s_knot, &color_s_knot, &normal_s_knot,
- &texture_s_knot);
- call_user_error(nobj, err);
- return err;
- }
-
- /* convert the geometry surface */
- nobj->surface.geom.dim = get_surface_dim(nobj->surface.geom.type);
- if ((err = convert_surf(&geom_s_knot, &geom_t_knot, &(nobj->surface.geom),
- &(new_ctrl->geom_ctrl), &(new_ctrl->geom_s_pt_cnt),
- &(new_ctrl->geom_t_pt_cnt))) != GLU_NO_ERROR) {
- free_unified_knots(&geom_s_knot, &color_s_knot, &normal_s_knot,
- &texture_s_knot);
- free_unified_knots(&geom_t_knot, &color_t_knot, &normal_t_knot,
- &texture_t_knot);
- call_user_error(nobj, err);
- return err;
- }
- /* if additional attributive surfaces are given convert them as well */
- if (color_s_knot.unified_knot) {
- nobj->surface.color.dim = get_surface_dim(nobj->surface.color.type);
- if (
- (err =
- convert_surf(&color_s_knot, &color_t_knot, &(nobj->surface.color),
- &(new_ctrl->color_ctrl), &(new_ctrl->color_s_pt_cnt),
- &(new_ctrl->color_t_pt_cnt))) != GLU_NO_ERROR) {
- free_unified_knots(&color_s_knot, &color_s_knot, &normal_s_knot,
- &texture_s_knot);
- free_unified_knots(&color_t_knot, &color_t_knot, &normal_t_knot,
- &texture_t_knot);
- free_new_ctrl(new_ctrl);
- call_user_error(nobj, err);
- return err;
- }
- }
- if (normal_s_knot.unified_knot) {
- nobj->surface.normal.dim = get_surface_dim(nobj->surface.normal.type);
- if ((err = convert_surf(&normal_s_knot, &normal_t_knot,
- &(nobj->surface.normal),
- &(new_ctrl->normal_ctrl),
- &(new_ctrl->normal_s_pt_cnt),
- &(new_ctrl->normal_t_pt_cnt))) !=
- GLU_NO_ERROR) {
- free_unified_knots(&normal_s_knot, &normal_s_knot, &normal_s_knot,
- &texture_s_knot);
- free_unified_knots(&normal_t_knot, &normal_t_knot, &normal_t_knot,
- &texture_t_knot);
- free_new_ctrl(new_ctrl);
- call_user_error(nobj, err);
- return err;
- }
- }
- if (texture_s_knot.unified_knot) {
- nobj->surface.texture.dim = get_surface_dim(nobj->surface.texture.type);
- if ((err = convert_surf(&texture_s_knot, &texture_t_knot,
- &(nobj->surface.texture),
- &(new_ctrl->texture_ctrl),
- &(new_ctrl->texture_s_pt_cnt),
- &(new_ctrl->texture_t_pt_cnt))) !=
- GLU_NO_ERROR) {
- free_unified_knots(&texture_s_knot, &texture_s_knot, &texture_s_knot,
- &texture_s_knot);
- free_unified_knots(&texture_t_knot, &texture_t_knot, &texture_t_knot,
- &texture_t_knot);
- free_new_ctrl(new_ctrl);
- call_user_error(nobj, err);
- return err;
- }
- }
- return GLU_NO_ERROR;
-}
-
-/* tesselate the "boundary" Bezier edge strips */
-static void
-tesselate_strip_t_line(GLint top_start, GLint top_end, GLint top_z,
- GLint bottom_start, GLint bottom_end, GLint bottom_z,
- GLint bottom_domain)
-{
- GLint top_cnt, bottom_cnt, tri_cnt, k;
- GLint direction;
-
- top_cnt = top_end - top_start;
- direction = (top_cnt >= 0 ? 1 : -1);
- bottom_cnt = bottom_end - bottom_start;
- glBegin(GL_LINES);
- while (top_cnt) {
- if (bottom_cnt)
- tri_cnt = top_cnt / bottom_cnt;
- else
- tri_cnt = abs(top_cnt);
- for (k = 0; k <= tri_cnt; k++, top_start += direction) {
- glEvalCoord2f((GLfloat) bottom_z / bottom_domain,
- (GLfloat) bottom_start / bottom_domain);
- glEvalPoint2(top_z, top_start);
- }
- if (bottom_cnt) {
- glEvalCoord2f((GLfloat) bottom_z / bottom_domain,
- (GLfloat) bottom_start / bottom_domain);
- bottom_start += direction;
- top_start -= direction;
- glEvalCoord2f((GLfloat) bottom_z / bottom_domain,
- (GLfloat) bottom_start / bottom_domain);
- glEvalCoord2f((GLfloat) bottom_z / bottom_domain,
- (GLfloat) bottom_start / bottom_domain);
- glEvalPoint2(top_z, top_start);
- }
- top_cnt -= direction * tri_cnt;
- bottom_cnt -= direction;
- }
- glEnd();
-}
-
-
-static void
-tesselate_strip_t_fill(GLint top_start, GLint top_end, GLint top_z,
- GLint bottom_start, GLint bottom_end, GLint bottom_z,
- GLint bottom_domain)
-{
- GLint top_cnt, bottom_cnt, tri_cnt, k;
- GLint direction;
-
- top_cnt = top_end - top_start;
- direction = (top_cnt >= 0 ? 1 : -1);
- bottom_cnt = bottom_end - bottom_start;
- while (top_cnt) {
- if (bottom_cnt)
- tri_cnt = top_cnt / bottom_cnt;
- else
- tri_cnt = abs(top_cnt);
- glBegin(GL_TRIANGLE_FAN);
- glEvalCoord2f((GLfloat) bottom_z / bottom_domain,
- (GLfloat) bottom_start / bottom_domain);
- for (k = 0; k <= tri_cnt; k++, top_start += direction)
- glEvalPoint2(top_z, top_start);
- if (bottom_cnt) {
- bottom_start += direction;
- top_start -= direction;
- glEvalCoord2f((GLfloat) bottom_z / bottom_domain,
- (GLfloat) bottom_start / bottom_domain);
- }
- glEnd();
- top_cnt -= direction * tri_cnt;
- bottom_cnt -= direction;
- }
-}
-
-
-static void
-tesselate_strip_t(GLenum display_mode, GLint top_start, GLint top_end,
- GLint top_z, GLint bottom_start, GLint bottom_end,
- GLint bottom_z, GLint bottom_domain)
-{
- if (display_mode == GL_FILL)
- tesselate_strip_t_fill(top_start, top_end, top_z, bottom_start,
- bottom_end, bottom_z, bottom_domain);
- else
- tesselate_strip_t_line(top_start, top_end, top_z, bottom_start,
- bottom_end, bottom_z, bottom_domain);
-}
-
-
-static void
-tesselate_strip_s_fill(GLint top_start, GLint top_end, GLint top_z,
- GLint bottom_start, GLint bottom_end, GLint bottom_z,
- GLfloat bottom_domain)
-{
- GLint top_cnt, bottom_cnt, tri_cnt, k;
- GLint direction;
-
- top_cnt = top_end - top_start;
- direction = (top_cnt >= 0 ? 1 : -1);
- bottom_cnt = bottom_end - bottom_start;
- while (top_cnt) {
- if (bottom_cnt)
- tri_cnt = top_cnt / bottom_cnt;
- else
- tri_cnt = abs(top_cnt);
- glBegin(GL_TRIANGLE_FAN);
- glEvalCoord2f((GLfloat) bottom_start / bottom_domain,
- (GLfloat) bottom_z / bottom_domain);
- for (k = 0; k <= tri_cnt; k++, top_start += direction)
- glEvalPoint2(top_start, top_z);
- if (bottom_cnt) {
- bottom_start += direction;
- top_start -= direction;
- glEvalCoord2f((GLfloat) bottom_start / bottom_domain,
- (GLfloat) bottom_z / bottom_domain);
- }
- glEnd();
- top_cnt -= direction * tri_cnt;
- bottom_cnt -= direction;
- }
-}
-
-
-static void
-tesselate_strip_s_line(GLint top_start, GLint top_end, GLint top_z,
- GLint bottom_start, GLint bottom_end, GLint bottom_z,
- GLfloat bottom_domain)
-{
- GLint top_cnt, bottom_cnt, tri_cnt, k;
- GLint direction;
-
- top_cnt = top_end - top_start;
- direction = (top_cnt >= 0 ? 1 : -1);
- bottom_cnt = bottom_end - bottom_start;
- glBegin(GL_LINES);
- while (top_cnt) {
- if (bottom_cnt)
- tri_cnt = top_cnt / bottom_cnt;
- else
- tri_cnt = abs(top_cnt);
- for (k = 0; k <= tri_cnt; k++, top_start += direction) {
- glEvalCoord2f((GLfloat) bottom_start / bottom_domain,
- (GLfloat) bottom_z / bottom_domain);
- glEvalPoint2(top_start, top_z);
- }
- if (bottom_cnt) {
- glEvalCoord2f((GLfloat) bottom_start / bottom_domain,
- (GLfloat) bottom_z / bottom_domain);
- bottom_start += direction;
- top_start -= direction;
- glEvalCoord2f((GLfloat) bottom_start / bottom_domain,
- (GLfloat) bottom_z / bottom_domain);
- glEvalPoint2(top_start, top_z);
- glEvalCoord2f((GLfloat) bottom_start / bottom_domain,
- (GLfloat) bottom_z / bottom_domain);
- }
- top_cnt -= direction * tri_cnt;
- bottom_cnt -= direction;
- }
- glEnd();
-}
-
-
-static void
-tesselate_strip_s(GLenum display_mode, GLint top_start, GLint top_end,
- GLint top_z, GLint bottom_start, GLint bottom_end,
- GLint bottom_z, GLfloat bottom_domain)
-{
- if (display_mode == GL_FILL)
- tesselate_strip_s_fill(top_start, top_end, top_z, bottom_start,
- bottom_end, bottom_z, bottom_domain);
- else
- tesselate_strip_s_line(top_start, top_end, top_z, bottom_start,
- bottom_end, bottom_z, bottom_domain);
-}
-
-static void
-tesselate_bottom_left_corner(GLenum display_mode, GLfloat s_1, GLfloat t_1)
-{
- if (display_mode == GL_FILL) {
- glBegin(GL_TRIANGLE_FAN);
- glEvalPoint2(1, 1);
- glEvalCoord2f(s_1, 0.0);
- glEvalCoord2f(0.0, 0.0);
- glEvalCoord2f(0.0, t_1);
- }
- else {
- glBegin(GL_LINES);
- glEvalCoord2f(0.0, 0.0);
- glEvalCoord2f(0.0, t_1);
- glEvalCoord2f(0.0, 0.0);
- glEvalPoint2(1, 1);
- glEvalCoord2f(0.0, 0.0);
- glEvalCoord2f(s_1, 0.0);
- }
- glEnd();
-}
-
-static void
-tesselate_bottom_right_corner(GLenum display_mode, GLint v_top,
- GLint v_bottom, GLfloat s_1, GLfloat t_1)
-{
- if (display_mode == GL_FILL) {
- glBegin(GL_TRIANGLE_FAN);
- glEvalPoint2(1, v_top);
- glEvalCoord2f(0.0, v_bottom * t_1);
- glEvalCoord2f(0.0, (v_bottom + 1) * t_1);
- glEvalCoord2f(s_1, (v_bottom + 1) * t_1);
- }
- else {
- glBegin(GL_LINES);
- glEvalCoord2f(0.0, (v_bottom + 1) * t_1);
- glEvalPoint2(1, v_top);
- glEvalCoord2f(0.0, (v_bottom + 1) * t_1);
- glEvalCoord2f(0.0, v_bottom * t_1);
- glEvalCoord2f(0.0, (v_bottom + 1) * t_1);
- glEvalCoord2f(s_1, (v_bottom + 1) * t_1);
- }
- glEnd();
-}
-
-static void
-tesselate_top_left_corner(GLenum display_mode, GLint u_right, GLint u_left,
- GLfloat s_1, GLfloat t_1)
-{
- if (display_mode == GL_FILL) {
- glBegin(GL_TRIANGLE_FAN);
- glEvalPoint2(u_right, 1);
- glEvalCoord2f((u_left + 1) * s_1, t_1);
- glEvalCoord2f((u_left + 1) * s_1, 0.0);
- glEvalCoord2f(u_left * s_1, 0.0);
- }
- else {
- glBegin(GL_LINES);
- glEvalCoord2f((u_left + 1) * s_1, 0.0);
- glEvalPoint2(u_right, 1);
- glEvalCoord2f((u_left + 1) * s_1, 0.0);
- glEvalCoord2f(u_left * s_1, 0.0);
- glEvalCoord2f((u_left + 1) * s_1, 0.0);
- glEvalCoord2f((u_left + 1) * s_1, t_1);
- }
- glEnd();
-}
-
-static void
-tesselate_top_right_corner(GLenum display_mode, GLint u_left, GLint v_bottom,
- GLint u_right, GLint v_top, GLfloat s_1,
- GLfloat t_1)
-{
- if (display_mode == GL_FILL) {
- glBegin(GL_TRIANGLE_FAN);
- glEvalPoint2(u_left, v_bottom);
- glEvalCoord2f((u_right - 1) * s_1, v_top * t_1);
- glEvalCoord2f(u_right * s_1, v_top * t_1);
- glEvalCoord2f(u_right * s_1, (v_top - 1) * t_1);
- }
- else {
- glBegin(GL_LINES);
- glEvalCoord2f(u_right * s_1, v_top * t_1);
- glEvalPoint2(u_left, v_bottom);
- glEvalCoord2f(u_right * s_1, v_top * t_1);
- glEvalCoord2f(u_right * s_1, (v_top - 1) * t_1);
- glEvalCoord2f(u_right * s_1, v_top * t_1);
- glEvalCoord2f((u_right - 1) * s_1, v_top * t_1);
- }
- glEnd();
-}
-
-/* do mesh mapping of Bezier */
-static void
-nurbs_map_bezier(GLenum display_mode, GLint * sfactors, GLint * tfactors,
- GLint s_bezier_cnt, GLint t_bezier_cnt, GLint s, GLint t)
-{
- GLint top, bottom, right, left;
-
-
- if (s == 0) {
- top = *(tfactors + t * 3);
- bottom = *(tfactors + t * 3 + 1);
- }
- else if (s == s_bezier_cnt - 1) {
- top = *(tfactors + t * 3 + 2);
- bottom = *(tfactors + t * 3);
- }
- else {
- top = bottom = *(tfactors + t * 3);
- }
- if (t == 0) {
- left = *(sfactors + s * 3 + 1);
- right = *(sfactors + s * 3);
- }
- else if (t == t_bezier_cnt - 1) {
- left = *(sfactors + s * 3);
- right = *(sfactors + s * 3 + 2);
- }
- else {
- left = right = *(sfactors + s * 3);
- }
-
- if (top > bottom) {
- if (left < right) {
- glMapGrid2f(right, 0.0, 1.0, top, 0.0, 1.0);
- glEvalMesh2(display_mode, 1, right, 1, top);
- tesselate_strip_s(display_mode, 1, right, 1, 1, left, 0,
- (GLfloat) left);
- tesselate_bottom_left_corner(display_mode, (GLfloat) (1.0 / left),
- (GLfloat) (1.0 / bottom));
-/* tesselate_strip_t(display_mode,1,top,1,1,bottom,0,(GLfloat)bottom);*/
- tesselate_strip_t(display_mode, top, 1, 1, bottom, 1, 0,
- (GLfloat) bottom);
- }
- else if (left == right) {
- glMapGrid2f(right, 0.0, 1.0, top, 0.0, 1.0);
- glEvalMesh2(display_mode, 1, right, 0, top);
-/* tesselate_strip_t(display_mode,0,top,1,0,bottom,0,(GLfloat)bottom);*/
- tesselate_strip_t(display_mode, top, 0, 1, bottom, 0, 0,
- (GLfloat) bottom);
- }
- else {
- glMapGrid2f(left, 0.0, 1.0, top, 0.0, 1.0);
- glEvalMesh2(display_mode, 1, left, 0, top - 1);
-/* tesselate_strip_t(display_mode,0,top-1,1,0,bottom-1,0,
- (GLfloat)bottom);*/
- tesselate_strip_t(display_mode, top - 1, 0, 1, bottom - 1, 0, 0,
- (GLfloat) bottom);
- tesselate_bottom_right_corner(display_mode, top - 1, bottom - 1,
- (GLfloat) (1.0 / right),
- (GLfloat) (1.0 / bottom));
-/* tesselate_strip_s(display_mode,1,left,top-1,1,right,right,
- (GLfloat)right);*/
- tesselate_strip_s(display_mode, left, 1, top - 1, right, 1, right,
- (GLfloat) right);
- }
- }
- else if (top == bottom) {
- if (left < right) {
- glMapGrid2f(right, 0.0, 1.0, top, 0.0, 1.0);
- glEvalMesh2(display_mode, 0, right, 1, top);
- tesselate_strip_s(display_mode, 0, right, 1, 0, left, 0,
- (GLfloat) left);
- }
- else if (left == right) {
- glMapGrid2f(right, 0.0, 1.0, top, 0.0, 1.0);
- glEvalMesh2(display_mode, 0, right, 0, top);
- }
- else {
- glMapGrid2f(left, 0.0, 1.0, top, 0.0, 1.0);
- glEvalMesh2(display_mode, 0, left, 0, top - 1);
-/* tesselate_strip_s(display_mode,0,left,top-1,0,right,right,
- (GLfloat)right);*/
- tesselate_strip_s(display_mode, left, 0, top - 1, right, 0, right,
- (GLfloat) right);
- }
- }
- else {
- if (left < right) {
- glMapGrid2f(right, 0.0, 1.0, bottom, 0.0, 1.0);
- glEvalMesh2(display_mode, 0, right - 1, 1, bottom);
- tesselate_strip_s(display_mode, 0, right - 1, 1, 0, left - 1, 0,
- (GLfloat) left);
- tesselate_top_left_corner(display_mode, right - 1, left - 1,
- (GLfloat) (1.0 / left),
- (GLfloat) (1.0 / top));
- tesselate_strip_t(display_mode, 1, bottom, right - 1, 1, top, top,
- (GLfloat) top);
- }
- else if (left == right) {
- glMapGrid2f(right, 0.0, 1.0, bottom, 0.0, 1.0);
- glEvalMesh2(display_mode, 0, right - 1, 0, bottom);
- tesselate_strip_t(display_mode, 0, bottom, right - 1, 0, top, top,
- (GLfloat) top);
- }
- else {
- glMapGrid2f(left, 0.0, 1.0, bottom, 0.0, 1.0);
- glEvalMesh2(display_mode, 0, left - 1, 0, bottom - 1);
- tesselate_strip_t(display_mode, 0, bottom - 1, left - 1, 0, top - 1,
- top, (GLfloat) top);
- tesselate_top_right_corner(display_mode, left - 1, bottom - 1, right,
- top, (GLfloat) (1.0 / right),
- (GLfloat) (1.0 / top));
-/* tesselate_strip_s(display_mode,0,left-1,bottom-1,0,right-1,right,
- (GLfloat)right);*/
- tesselate_strip_s(display_mode, left - 1, 0, bottom - 1, right - 1,
- 0, right, (GLfloat) right);
- }
- }
-}
-
-/* draw NURBS surface in OUTLINE POLYGON mode */
-static void
-draw_polygon_mode(GLenum display_mode, GLUnurbsObj * nobj,
- new_ctrl_type * new_ctrl, GLint * sfactors,
- GLint * tfactors)
-{
- GLsizei offset;
- GLint t_bezier_cnt, s_bezier_cnt;
- GLboolean do_color, do_normal, do_texture;
- GLint i, j;
-
- t_bezier_cnt = new_ctrl->t_bezier_cnt;
- s_bezier_cnt = new_ctrl->s_bezier_cnt;
- glEnable(nobj->surface.geom.type);
- if (new_ctrl->color_ctrl) {
- glEnable(nobj->surface.color.type);
- do_color = GL_TRUE;
- }
- else
- do_color = GL_FALSE;
- if (new_ctrl->normal_ctrl) {
- glEnable(nobj->surface.normal.type);
- do_normal = GL_TRUE;
- }
- else
- do_normal = GL_FALSE;
- if (new_ctrl->texture_ctrl) {
- glEnable(nobj->surface.texture.type);
- do_texture = GL_TRUE;
- }
- else
- do_texture = GL_FALSE;
- for (j = 0; j < s_bezier_cnt; j++) {
- for (i = 0; i < t_bezier_cnt; i++) {
- offset = j * t_bezier_cnt + i;
- if (fine_culling_test_3D(nobj, *(new_ctrl->geom_offsets + offset),
- nobj->surface.geom.sorder,
- nobj->surface.geom.torder,
- new_ctrl->geom_s_stride,
- new_ctrl->geom_t_stride,
- nobj->surface.geom.dim)) continue;
- glMap2f(nobj->surface.geom.type, 0.0, 1.0, new_ctrl->geom_s_stride,
- nobj->surface.geom.sorder, 0.0, 1.0, new_ctrl->geom_t_stride,
- nobj->surface.geom.torder,
- *(new_ctrl->geom_offsets + offset));
- if (do_color) {
- glMap2f(nobj->surface.color.type, 0.0, 1.0,
- new_ctrl->color_s_stride, nobj->surface.color.sorder,
- 0.0, 1.0, new_ctrl->color_t_stride,
- nobj->surface.color.torder,
- *(new_ctrl->color_offsets + offset));
- }
- if (do_normal) {
- glMap2f(nobj->surface.normal.type, 0.0, 1.0,
- new_ctrl->normal_s_stride, nobj->surface.normal.sorder,
- 0.0, 1.0, new_ctrl->normal_t_stride,
- nobj->surface.normal.torder,
- *(new_ctrl->normal_offsets + offset));
- }
- if (do_texture) {
- glMap2f(nobj->surface.texture.type, 0.0, 1.0,
- new_ctrl->texture_s_stride, nobj->surface.texture.sorder,
- 0.0, 1.0, new_ctrl->texture_t_stride,
- nobj->surface.texture.torder,
- *(new_ctrl->texture_offsets + offset));
- }
-/* glMapGrid2f(sfactors[j*3+0],0.0,1.0,tfactors[i*3+0],0.0,1.0);
- glEvalMesh2(display_mode,0,sfactors[j*3+0],0,tfactors[i*3+0]);*/
- nurbs_map_bezier(display_mode, sfactors, tfactors, s_bezier_cnt,
- t_bezier_cnt, j, i);
- }
- }
-}
-
-
-
-/* draw NURBS surface in OUTLINE POLYGON mode */
-#if 0
-static void
-draw_patch_mode(GLenum display_mode, GLUnurbsObj * nobj,
- new_ctrl_type * new_ctrl, GLint * sfactors, GLint * tfactors)
-{
- GLsizei offset;
- GLint t_bezier_cnt, s_bezier_cnt;
- GLboolean do_color, do_normal, do_texture;
- GLint i, j;
-
- t_bezier_cnt = new_ctrl->t_bezier_cnt;
- s_bezier_cnt = new_ctrl->s_bezier_cnt;
- glEnable(nobj->surface.geom.type);
- if (new_ctrl->color_ctrl) {
- glEnable(nobj->surface.color.type);
- do_color = GL_TRUE;
- }
- else
- do_color = GL_FALSE;
- if (new_ctrl->normal_ctrl) {
- glEnable(nobj->surface.normal.type);
- do_normal = GL_TRUE;
- }
- else
- do_normal = GL_FALSE;
- if (new_ctrl->texture_ctrl) {
- glEnable(nobj->surface.texture.type);
- do_texture = GL_TRUE;
- }
- else
- do_texture = GL_FALSE;
- for (j = 0; j < s_bezier_cnt; j++) {
- for (i = 0; i < t_bezier_cnt; i++) {
- offset = j * t_bezier_cnt + i;
- if (fine_culling_test_3D(nobj, *(new_ctrl->geom_offsets + offset),
- nobj->surface.geom.sorder,
- nobj->surface.geom.torder,
- new_ctrl->geom_s_stride,
- new_ctrl->geom_t_stride,
- nobj->surface.geom.dim)) continue;
- glMap2f(nobj->surface.geom.type, 0.0, 1.0, new_ctrl->geom_s_stride,
- nobj->surface.geom.sorder, 0.0, 1.0, new_ctrl->geom_t_stride,
- nobj->surface.geom.torder,
- *(new_ctrl->geom_offsets + offset));
- if (do_color) {
- glMap2f(nobj->surface.color.type, 0.0, 1.0,
- new_ctrl->color_s_stride, nobj->surface.color.sorder,
- 0.0, 1.0, new_ctrl->color_t_stride,
- nobj->surface.color.torder,
- *(new_ctrl->color_offsets + offset));
- }
- if (do_normal) {
- glMap2f(nobj->surface.normal.type, 0.0, 1.0,
- new_ctrl->normal_s_stride, nobj->surface.normal.sorder,
- 0.0, 1.0, new_ctrl->normal_t_stride,
- nobj->surface.normal.torder,
- *(new_ctrl->normal_offsets + offset));
- }
- if (do_texture) {
- glMap2f(nobj->surface.texture.type, 0.0, 1.0,
- new_ctrl->texture_s_stride, nobj->surface.texture.sorder,
- 0.0, 1.0, new_ctrl->texture_t_stride,
- nobj->surface.texture.torder,
- *(new_ctrl->texture_offsets + offset));
- }
- nurbs_map_bezier(display_mode, sfactors, tfactors, s_bezier_cnt,
- t_bezier_cnt, i, j);
-/* glMapGrid2f(sfactors[j],0.0,1.0,tfactors[i],0.0,1.0);
- glEvalMesh2(display_mode,0,sfactors[j],0,tfactors[i]);*/
- }
- }
-}
-#endif
-
-
-
-static void
-init_new_ctrl(new_ctrl_type * p)
-{
- p->geom_ctrl = p->color_ctrl = p->normal_ctrl = p->texture_ctrl = NULL;
- p->geom_offsets = p->color_offsets = p->normal_offsets =
- p->texture_offsets = NULL;
- p->s_bezier_cnt = p->t_bezier_cnt = 0;
-}
-
-
-static GLenum
-augment_new_ctrl(GLUnurbsObj * nobj, new_ctrl_type * p)
-{
- GLsizei offset_size;
- GLint i, j;
-
- p->s_bezier_cnt = (p->geom_s_pt_cnt) / (nobj->surface.geom.sorder);
- p->t_bezier_cnt = (p->geom_t_pt_cnt) / (nobj->surface.geom.torder);
- offset_size = (p->s_bezier_cnt) * (p->t_bezier_cnt);
- p->geom_t_stride = nobj->surface.geom.dim;
- p->geom_s_stride = (p->geom_t_pt_cnt) * (nobj->surface.geom.dim);
- p->color_t_stride = nobj->surface.color.dim;
- p->color_s_stride = (p->color_t_pt_cnt) * (nobj->surface.color.dim);
- p->normal_t_stride = nobj->surface.normal.dim;
- p->normal_s_stride = (p->normal_t_pt_cnt) * (nobj->surface.normal.dim);
- p->texture_t_stride = nobj->surface.texture.dim;
- p->texture_s_stride = (p->texture_t_pt_cnt) * (nobj->surface.texture.dim);
- if (
- (p->geom_offsets =
- (GLfloat **) malloc(sizeof(GLfloat *) * offset_size)) == NULL) {
- call_user_error(nobj, GLU_OUT_OF_MEMORY);
- return GLU_ERROR;
- }
- if (p->color_ctrl)
- if (
- (p->color_offsets =
- (GLfloat **) malloc(sizeof(GLfloat *) * offset_size)) == NULL) {
- free_new_ctrl(p);
- call_user_error(nobj, GLU_OUT_OF_MEMORY);
- return GLU_ERROR;
- }
- if (p->normal_ctrl)
- if (
- (p->normal_offsets =
- (GLfloat **) malloc(sizeof(GLfloat *) * offset_size)) == NULL) {
- free_new_ctrl(p);
- call_user_error(nobj, GLU_OUT_OF_MEMORY);
- return GLU_ERROR;
- }
- if (p->texture_ctrl)
- if (
- (p->texture_offsets =
- (GLfloat **) malloc(sizeof(GLfloat *) * offset_size)) == NULL) {
- free_new_ctrl(p);
- call_user_error(nobj, GLU_OUT_OF_MEMORY);
- return GLU_ERROR;
- }
- for (i = 0; i < p->s_bezier_cnt; i++)
- for (j = 0; j < p->t_bezier_cnt; j++)
- *(p->geom_offsets + i * (p->t_bezier_cnt) + j) =
- p->geom_ctrl + i * (nobj->surface.geom.sorder) *
- (nobj->surface.geom.dim) * (p->geom_t_pt_cnt) +
- j * (nobj->surface.geom.dim) * (nobj->surface.geom.torder);
- if (p->color_ctrl)
- for (i = 0; i < p->s_bezier_cnt; i++)
- for (j = 0; j < p->t_bezier_cnt; j++)
- *(p->color_offsets + i * (p->t_bezier_cnt) + j) =
- p->color_ctrl + i * (nobj->surface.color.sorder) *
- (nobj->surface.color.dim) * (p->color_t_pt_cnt) +
- j * (nobj->surface.color.dim) * (nobj->surface.color.torder);
- if (p->normal_ctrl)
- for (i = 0; i < p->s_bezier_cnt; i++)
- for (j = 0; j < p->t_bezier_cnt; j++)
- *(p->normal_offsets + i * (p->t_bezier_cnt) + j) =
- p->normal_ctrl + i * (nobj->surface.normal.sorder) *
- (nobj->surface.normal.dim) * (p->normal_t_pt_cnt) +
- j * (nobj->surface.normal.dim) * (nobj->surface.normal.torder);
- if (p->texture_ctrl)
- for (i = 0; i < p->s_bezier_cnt; i++)
- for (j = 0; j < p->t_bezier_cnt; j++)
- *(p->texture_offsets + i * (p->t_bezier_cnt) + j) =
- p->texture_ctrl + i * (nobj->surface.texture.sorder) *
- (nobj->surface.texture.dim) * (p->texture_t_pt_cnt) +
- j * (nobj->surface.texture.dim) *
- (nobj->surface.texture.torder);
- return GLU_NO_ERROR;
-}
-
-/* main NURBS surface procedure */
-void
-do_nurbs_surface(GLUnurbsObj * nobj)
-{
- GLint *sfactors, *tfactors;
- new_ctrl_type new_ctrl;
-
- /* test user supplied data */
- if (test_nurbs_surfaces(nobj) != GLU_NO_ERROR)
- return;
-
- init_new_ctrl(&new_ctrl);
-
- if (convert_surfs(nobj, &new_ctrl) != GLU_NO_ERROR)
- return;
- if (augment_new_ctrl(nobj, &new_ctrl) != GLU_NO_ERROR)
- return;
- switch (nobj->sampling_method) {
- case GLU_PATH_LENGTH:
- if (glu_do_sampling_3D(nobj, &new_ctrl, &sfactors, &tfactors) !=
- GLU_NO_ERROR) {
- free_new_ctrl(&new_ctrl);
- return;
- }
- break;
- case GLU_DOMAIN_DISTANCE:
- if (glu_do_sampling_uv(nobj, &new_ctrl, &sfactors, &tfactors) !=
- GLU_NO_ERROR) {
- free_new_ctrl(&new_ctrl);
- return;
- }
- break;
- case GLU_PARAMETRIC_ERROR:
- if (glu_do_sampling_param_3D(nobj, &new_ctrl, &sfactors, &tfactors) !=
- GLU_NO_ERROR) {
- free_new_ctrl(&new_ctrl);
- return;
- }
- break;
- default:
- abort();
- }
- glFrontFace(GL_CW);
- switch (nobj->display_mode) {
- case GLU_FILL:
-/* if(polygon_trimming(nobj,&new_ctrl,sfactors,tfactors)==GLU_NO_ERROR)*/
- draw_polygon_mode(GL_FILL, nobj, &new_ctrl, sfactors, tfactors);
- break;
- case GLU_OUTLINE_POLYGON:
- /* TODO - missing trimming handeling */
-/* just for now - no OUTLINE_PATCH mode
- draw_patch_mode(GL_LINE,nobj,&new_ctrl,sfactors,tfactors);
- break; */
- case GLU_OUTLINE_PATCH:
-/* if(polygon_trimming(nobj,&new_ctrl,sfactors,tfactors)==GLU_NO_ERROR)*/
- draw_polygon_mode(GL_LINE, nobj, &new_ctrl, sfactors, tfactors);
- break;
- default:
- abort(); /* TODO: is this OK? */
- }
- free(sfactors);
- free(tfactors);
- free_new_ctrl(&new_ctrl);
-}
diff --git a/src/glu/mesa/nurbsutl.c b/src/glu/mesa/nurbsutl.c
deleted file mode 100644
index b46348a50b..0000000000
--- a/src/glu/mesa/nurbsutl.c
+++ /dev/null
@@ -1,1309 +0,0 @@
-
-/*
- * Mesa 3-D graphics library
- * Version: 3.3
- * Copyright (C) 1995-2000 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-
-/*
- * NURBS implementation written by Bogdan Sikorski (bogdan@cira.it)
- * See README2 for more info.
- */
-
-
-#ifdef PC_HEADER
-#include "all.h"
-#else
-#include <math.h>
-#include <stdlib.h>
-#include "gluP.h"
-#include "nurbs.h"
-#endif
-
-
-GLenum test_knot(GLint nknots, GLfloat * knot, GLint order)
-{
- GLsizei i;
- GLint knot_mult;
- GLfloat tmp_knot;
-
- tmp_knot = knot[0];
- knot_mult = 1;
- for (i = 1; i < nknots; i++) {
- if (knot[i] < tmp_knot)
- return GLU_NURBS_ERROR4;
- if (fabs(tmp_knot - knot[i]) > EPSILON) {
- if (knot_mult > order)
- return GLU_NURBS_ERROR5;
- knot_mult = 1;
- tmp_knot = knot[i];
- }
- else
- ++knot_mult;
- }
- return GLU_NO_ERROR;
-}
-
-static int
-/* qsort function */
-#if defined(WIN32) && !defined(OPENSTEP)
- __cdecl
-#endif
-knot_sort(const void *a, const void *b)
-{
- GLfloat x, y;
-
- x = *((GLfloat *) a);
- y = *((GLfloat *) b);
- if (fabs(x - y) < EPSILON)
- return 0;
- if (x > y)
- return 1;
- return -1;
-}
-
-/* insert into dest knot all values within the valid range from src knot */
-/* that do not appear in dest */
-void
-collect_unified_knot(knot_str_type * dest, knot_str_type * src,
- GLfloat maximal_min_knot, GLfloat minimal_max_knot)
-{
- GLfloat *src_knot, *dest_knot;
- GLint src_t_min, src_t_max, dest_t_min, dest_t_max;
- GLint src_nknots, dest_nknots;
- GLint i, j, k, new_cnt;
- GLboolean not_found_flag;
-
- src_knot = src->unified_knot;
- dest_knot = dest->unified_knot;
- src_t_min = src->t_min;
- src_t_max = src->t_max;
- dest_t_min = dest->t_min;
- dest_t_max = dest->t_max;
- src_nknots = src->unified_nknots;
- dest_nknots = dest->unified_nknots;
-
- k = new_cnt = dest_nknots;
- for (i = src_t_min; i <= src_t_max; i++)
- if (src_knot[i] - maximal_min_knot > -EPSILON &&
- src_knot[i] - minimal_max_knot < EPSILON) {
- not_found_flag = GL_TRUE;
- for (j = dest_t_min; j <= dest_t_max; j++)
- if (fabs(dest_knot[j] - src_knot[i]) < EPSILON) {
- not_found_flag = GL_FALSE;
- break;
- }
- if (not_found_flag) {
- /* knot from src is not in dest - add this knot to dest */
- dest_knot[k++] = src_knot[i];
- ++new_cnt;
- ++(dest->t_max); /* the valid range widens */
- ++(dest->delta_nknots); /* increment the extra knot value counter */
- }
- }
- dest->unified_nknots = new_cnt;
- qsort((void *) dest_knot, (size_t) new_cnt, (size_t) sizeof(GLfloat),
- &knot_sort);
-}
-
-/* basing on the new common knot range for all attributes set */
-/* t_min and t_max values for each knot - they will be used later on */
-/* by explode_knot() and calc_new_ctrl_pts */
-static void
-set_new_t_min_t_max(knot_str_type * geom_knot, knot_str_type * color_knot,
- knot_str_type * normal_knot, knot_str_type * texture_knot,
- GLfloat maximal_min_knot, GLfloat minimal_max_knot)
-{
- GLuint t_min = 0, t_max = 0, cnt = 0;
-
- if (minimal_max_knot - maximal_min_knot < EPSILON) {
- /* knot common range empty */
- geom_knot->t_min = geom_knot->t_max = 0;
- color_knot->t_min = color_knot->t_max = 0;
- normal_knot->t_min = normal_knot->t_max = 0;
- texture_knot->t_min = texture_knot->t_max = 0;
- }
- else {
- if (geom_knot->unified_knot != NULL) {
- cnt = geom_knot->unified_nknots;
- for (t_min = 0; t_min < cnt; t_min++)
- if (fabs((geom_knot->unified_knot)[t_min] - maximal_min_knot) <
- EPSILON) break;
- for (t_max = cnt - 1; t_max; t_max--)
- if (fabs((geom_knot->unified_knot)[t_max] - minimal_max_knot) <
- EPSILON) break;
- }
- else if (geom_knot->nknots) {
- cnt = geom_knot->nknots;
- for (t_min = 0; t_min < cnt; t_min++)
- if (fabs((geom_knot->knot)[t_min] - maximal_min_knot) < EPSILON)
- break;
- for (t_max = cnt - 1; t_max; t_max--)
- if (fabs((geom_knot->knot)[t_max] - minimal_max_knot) < EPSILON)
- break;
- }
- geom_knot->t_min = t_min;
- geom_knot->t_max = t_max;
- if (color_knot->unified_knot != NULL) {
- cnt = color_knot->unified_nknots;
- for (t_min = 0; t_min < cnt; t_min++)
- if (fabs((color_knot->unified_knot)[t_min] - maximal_min_knot) <
- EPSILON) break;
- for (t_max = cnt - 1; t_max; t_max--)
- if (fabs((color_knot->unified_knot)[t_max] - minimal_max_knot) <
- EPSILON) break;
- color_knot->t_min = t_min;
- color_knot->t_max = t_max;
- }
- if (normal_knot->unified_knot != NULL) {
- cnt = normal_knot->unified_nknots;
- for (t_min = 0; t_min < cnt; t_min++)
- if (fabs((normal_knot->unified_knot)[t_min] - maximal_min_knot) <
- EPSILON) break;
- for (t_max = cnt - 1; t_max; t_max--)
- if (fabs((normal_knot->unified_knot)[t_max] - minimal_max_knot) <
- EPSILON) break;
- normal_knot->t_min = t_min;
- normal_knot->t_max = t_max;
- }
- if (texture_knot->unified_knot != NULL) {
- cnt = texture_knot->unified_nknots;
- for (t_min = 0; t_min < cnt; t_min++)
- if (fabs((texture_knot->unified_knot)[t_min] - maximal_min_knot)
- < EPSILON)
- break;
- for (t_max = cnt - 1; t_max; t_max--)
- if (fabs((texture_knot->unified_knot)[t_max] - minimal_max_knot)
- < EPSILON)
- break;
- texture_knot->t_min = t_min;
- texture_knot->t_max = t_max;
- }
- }
-}
-
-/* modify all knot valid ranges in such a way that all have the same */
-/* range, common to all knots */
-/* do this by knot insertion */
-GLenum
-select_knot_working_range(GLUnurbsObj * nobj, knot_str_type * geom_knot,
- knot_str_type * color_knot,
- knot_str_type * normal_knot,
- knot_str_type * texture_knot)
-{
- GLint max_nknots;
- GLfloat maximal_min_knot, minimal_max_knot;
- GLint i;
-
- /* find the maximum modified knot length */
- max_nknots = geom_knot->nknots;
- if (color_knot->unified_knot)
- max_nknots += color_knot->nknots;
- if (normal_knot->unified_knot)
- max_nknots += normal_knot->nknots;
- if (texture_knot->unified_knot)
- max_nknots += texture_knot->nknots;
- maximal_min_knot = (geom_knot->knot)[geom_knot->t_min];
- minimal_max_knot = (geom_knot->knot)[geom_knot->t_max];
- /* any attirb data ? */
- if (max_nknots != geom_knot->nknots) {
- /* allocate space for the unified knots */
- if ((geom_knot->unified_knot =
- (GLfloat *) malloc(sizeof(GLfloat) * max_nknots)) == NULL) {
- call_user_error(nobj, GLU_OUT_OF_MEMORY);
- return GLU_ERROR;
- }
- /* copy the original knot to the unified one */
- geom_knot->unified_nknots = geom_knot->nknots;
- for (i = 0; i < geom_knot->nknots; i++)
- (geom_knot->unified_knot)[i] = (geom_knot->knot)[i];
- if (color_knot->unified_knot) {
- if ((color_knot->knot)[color_knot->t_min] - maximal_min_knot >
- EPSILON)
- maximal_min_knot = (color_knot->knot)[color_knot->t_min];
- if (minimal_max_knot - (color_knot->knot)[color_knot->t_max] >
- EPSILON)
- minimal_max_knot = (color_knot->knot)[color_knot->t_max];
- if ((color_knot->unified_knot =
- (GLfloat *) malloc(sizeof(GLfloat) * max_nknots)) == NULL) {
- free(geom_knot->unified_knot);
- call_user_error(nobj, GLU_OUT_OF_MEMORY);
- return GLU_ERROR;
- }
- /* copy the original knot to the unified one */
- color_knot->unified_nknots = color_knot->nknots;
- for (i = 0; i < color_knot->nknots; i++)
- (color_knot->unified_knot)[i] = (color_knot->knot)[i];
- }
- if (normal_knot->unified_knot) {
- if ((normal_knot->knot)[normal_knot->t_min] - maximal_min_knot >
- EPSILON)
- maximal_min_knot = (normal_knot->knot)[normal_knot->t_min];
- if (minimal_max_knot - (normal_knot->knot)[normal_knot->t_max] >
- EPSILON)
- minimal_max_knot = (normal_knot->knot)[normal_knot->t_max];
- if ((normal_knot->unified_knot =
- (GLfloat *) malloc(sizeof(GLfloat) * max_nknots)) == NULL) {
- free(geom_knot->unified_knot);
- free(color_knot->unified_knot);
- call_user_error(nobj, GLU_OUT_OF_MEMORY);
- return GLU_ERROR;
- }
- /* copy the original knot to the unified one */
- normal_knot->unified_nknots = normal_knot->nknots;
- for (i = 0; i < normal_knot->nknots; i++)
- (normal_knot->unified_knot)[i] = (normal_knot->knot)[i];
- }
- if (texture_knot->unified_knot) {
- if ((texture_knot->knot)[texture_knot->t_min] - maximal_min_knot >
- EPSILON)
- maximal_min_knot = (texture_knot->knot)[texture_knot->t_min];
- if (minimal_max_knot - (texture_knot->knot)[texture_knot->t_max] >
- EPSILON)
- minimal_max_knot = (texture_knot->knot)[texture_knot->t_max];
- if ((texture_knot->unified_knot =
- (GLfloat *) malloc(sizeof(GLfloat) * max_nknots)) == NULL) {
- free(geom_knot->unified_knot);
- free(color_knot->unified_knot);
- free(normal_knot->unified_knot);
- call_user_error(nobj, GLU_OUT_OF_MEMORY);
- return GLU_ERROR;
- }
- /* copy the original knot to the unified one */
- texture_knot->unified_nknots = texture_knot->nknots;
- for (i = 0; i < texture_knot->nknots; i++)
- (texture_knot->unified_knot)[i] = (texture_knot->knot)[i];
- }
- /* work on the geometry knot with all additional knot values */
- /* appearing in attirbutive knots */
- if (minimal_max_knot - maximal_min_knot < EPSILON) {
- /* empty working range */
- geom_knot->unified_nknots = 0;
- color_knot->unified_nknots = 0;
- normal_knot->unified_nknots = 0;
- texture_knot->unified_nknots = 0;
- }
- else {
- if (color_knot->unified_knot)
- collect_unified_knot(geom_knot, color_knot, maximal_min_knot,
- minimal_max_knot);
- if (normal_knot->unified_knot)
- collect_unified_knot(geom_knot, normal_knot, maximal_min_knot,
- minimal_max_knot);
- if (texture_knot->unified_knot)
- collect_unified_knot(geom_knot, texture_knot, maximal_min_knot,
- minimal_max_knot);
- /* since we have now built the "unified" geometry knot */
- /* add same knot values to all attributive knots */
- if (color_knot->unified_knot)
- collect_unified_knot(color_knot, geom_knot, maximal_min_knot,
- minimal_max_knot);
- if (normal_knot->unified_knot)
- collect_unified_knot(normal_knot, geom_knot, maximal_min_knot,
- minimal_max_knot);
- if (texture_knot->unified_knot)
- collect_unified_knot(texture_knot, geom_knot, maximal_min_knot,
- minimal_max_knot);
- }
- }
- set_new_t_min_t_max(geom_knot, color_knot, normal_knot, texture_knot,
- maximal_min_knot, minimal_max_knot);
- return GLU_NO_ERROR;
-}
-
-void
-free_unified_knots(knot_str_type * geom_knot, knot_str_type * color_knot,
- knot_str_type * normal_knot, knot_str_type * texture_knot)
-{
- if (geom_knot->unified_knot)
- free(geom_knot->unified_knot);
- if (color_knot->unified_knot)
- free(color_knot->unified_knot);
- if (normal_knot->unified_knot)
- free(normal_knot->unified_knot);
- if (texture_knot->unified_knot)
- free(texture_knot->unified_knot);
-}
-
-GLenum explode_knot(knot_str_type * the_knot)
-{
- GLfloat *knot, *new_knot;
- GLint nknots, n_new_knots = 0;
- GLint t_min, t_max;
- GLint ord;
- GLsizei i, j, k;
- GLfloat tmp_float;
-
- if (the_knot->unified_knot) {
- knot = the_knot->unified_knot;
- nknots = the_knot->unified_nknots;
- }
- else {
- knot = the_knot->knot;
- nknots = the_knot->nknots;
- }
- ord = the_knot->order;
- t_min = the_knot->t_min;
- t_max = the_knot->t_max;
-
- for (i = t_min; i <= t_max;) {
- tmp_float = knot[i];
- for (j = 0; j < ord && (i + j) <= t_max; j++)
- if (fabs(tmp_float - knot[i + j]) > EPSILON)
- break;
- n_new_knots += ord - j;
- i += j;
- }
- /* alloc space for new_knot */
- if (
- (new_knot =
- (GLfloat *) malloc(sizeof(GLfloat) * (nknots + n_new_knots + 1))) == NULL) {
- return GLU_OUT_OF_MEMORY;
- }
- /* fill in new knot */
- for (j = 0; j < t_min; j++)
- new_knot[j] = knot[j];
- for (i = j; i <= t_max; i++) {
- tmp_float = knot[i];
- for (k = 0; k < ord; k++) {
- new_knot[j++] = knot[i];
- if (tmp_float == knot[i + 1])
- i++;
- }
- }
- for (i = t_max + 1; i < (int) nknots; i++)
- new_knot[j++] = knot[i];
- /* fill in the knot structure */
- the_knot->new_knot = new_knot;
- the_knot->delta_nknots += n_new_knots;
- the_knot->t_max += n_new_knots;
- return GLU_NO_ERROR;
-}
-
-GLenum calc_alphas(knot_str_type * the_knot)
-{
- GLfloat tmp_float;
- int i, j, k, m, n;
- int order;
- GLfloat *alpha, *alpha_new, *tmp_alpha;
- GLfloat denom;
- GLfloat *knot, *new_knot;
-
-
- knot = the_knot->knot;
- order = the_knot->order;
- new_knot = the_knot->new_knot;
- n = the_knot->nknots - the_knot->order;
- m = n + the_knot->delta_nknots;
- if ((alpha = (GLfloat *) malloc(sizeof(GLfloat) * n * m)) == NULL) {
- return GLU_OUT_OF_MEMORY;
- }
- if ((alpha_new = (GLfloat *) malloc(sizeof(GLfloat) * n * m)) == NULL) {
- free(alpha);
- return GLU_OUT_OF_MEMORY;
- }
- for (j = 0; j < m; j++) {
- for (i = 0; i < n; i++) {
- if ((knot[i] <= new_knot[j]) && (new_knot[j] < knot[i + 1]))
- tmp_float = 1.0;
- else
- tmp_float = 0.0;
- alpha[i + j * n] = tmp_float;
- }
- }
- for (k = 1; k < order; k++) {
- for (j = 0; j < m; j++)
- for (i = 0; i < n; i++) {
- denom = knot[i + k] - knot[i];
- if (fabs(denom) < EPSILON)
- tmp_float = 0.0;
- else
- tmp_float = (new_knot[j + k] - knot[i]) / denom *
- alpha[i + j * n];
- denom = knot[i + k + 1] - knot[i + 1];
- if (fabs(denom) > EPSILON)
- tmp_float += (knot[i + k + 1] - new_knot[j + k]) / denom *
- alpha[(i + 1) + j * n];
- alpha_new[i + j * n] = tmp_float;
- }
- tmp_alpha = alpha_new;
- alpha_new = alpha;
- alpha = tmp_alpha;
- }
- the_knot->alpha = alpha;
- free(alpha_new);
- return GLU_NO_ERROR;
-}
-
-GLenum
-calc_new_ctrl_pts(GLfloat * ctrl, GLint stride, knot_str_type * the_knot,
- GLint dim, GLfloat ** new_ctrl, GLint * ncontrol)
-{
- GLsizei i, j, k, l, m, n;
- GLsizei index1, index2;
- GLfloat *alpha;
- GLfloat *new_knot;
-
- new_knot = the_knot->new_knot;
- n = the_knot->nknots - the_knot->order;
- alpha = the_knot->alpha;
-
- m = the_knot->t_max + 1 - the_knot->t_min - the_knot->order;
- k = the_knot->t_min;
- /* allocate space for new control points */
- if ((*new_ctrl = (GLfloat *) malloc(sizeof(GLfloat) * dim * m)) == NULL) {
- return GLU_OUT_OF_MEMORY;
- }
- for (j = 0; j < m; j++) {
- for (l = 0; l < dim; l++)
- (*new_ctrl)[j * dim + l] = 0.0;
- for (i = 0; i < n; i++) {
- index1 = i + (j + k) * n;
- index2 = i * stride;
- for (l = 0; l < dim; l++)
- (*new_ctrl)[j * dim + l] += alpha[index1] * ctrl[index2 + l];
- }
- }
- *ncontrol = (GLint) m;
- return GLU_NO_ERROR;
-}
-
-static GLint
-calc_factor(GLfloat * pts, GLint order, GLint indx, GLint stride,
- GLfloat tolerance, GLint dim)
-{
- GLdouble model[16], proj[16];
- GLint viewport[4];
- GLdouble x, y, z, w, winx1, winy1, winz, winx2, winy2;
- GLint i;
- GLdouble len, dx, dy;
-
- glGetDoublev(GL_MODELVIEW_MATRIX, model);
- glGetDoublev(GL_PROJECTION_MATRIX, proj);
- glGetIntegerv(GL_VIEWPORT, viewport);
- if (dim == 4) {
- w = (GLdouble) pts[indx + 3];
- x = (GLdouble) pts[indx] / w;
- y = (GLdouble) pts[indx + 1] / w;
- z = (GLdouble) pts[indx + 2] / w;
- gluProject(x, y, z, model, proj, viewport, &winx1, &winy1, &winz);
- len = 0.0;
- for (i = 1; i < order; i++) {
- w = (GLdouble) pts[indx + i * stride + 3];
- x = (GLdouble) pts[indx + i * stride] / w;
- y = (GLdouble) pts[indx + i * stride + 1] / w;
- z = (GLdouble) pts[indx + i * stride + 2] / w;
- if (gluProject
- (x, y, z, model, proj, viewport, &winx2, &winy2, &winz)) {
- dx = winx2 - winx1;
- dy = winy2 - winy1;
- len += sqrt(dx * dx + dy * dy);
- }
- winx1 = winx2;
- winy1 = winy2;
- }
- }
- else {
- x = (GLdouble) pts[indx];
- y = (GLdouble) pts[indx + 1];
- if (dim == 2)
- z = 0.0;
- else
- z = (GLdouble) pts[indx + 2];
- gluProject(x, y, z, model, proj, viewport, &winx1, &winy1, &winz);
- len = 0.0;
- for (i = 1; i < order; i++) {
- x = (GLdouble) pts[indx + i * stride];
- y = (GLdouble) pts[indx + i * stride + 1];
- if (dim == 2)
- z = 0.0;
- else
- z = (GLdouble) pts[indx + i * stride + 2];
- if (gluProject
- (x, y, z, model, proj, viewport, &winx2, &winy2, &winz)) {
- dx = winx2 - winx1;
- dy = winy2 - winy1;
- len += sqrt(dx * dx + dy * dy);
- }
- winx1 = winx2;
- winy1 = winy2;
- }
- }
- len /= tolerance;
- return ((GLint) len + 1);
-}
-
-/* we can't use the Mesa evaluators - no way to get the point coords */
-/* so we use our own Bezier point calculus routines */
-/* because I'm lazy, I reuse the ones from eval.c */
-
-static void
-bezier_curve(GLfloat * cp, GLfloat * out, GLfloat t,
- GLuint dim, GLuint order, GLint offset)
-{
- GLfloat s, powert;
- GLuint i, k, bincoeff;
-
- if (order >= 2) {
- bincoeff = order - 1;
- s = 1.0 - t;
-
- for (k = 0; k < dim; k++)
- out[k] = s * cp[k] + bincoeff * t * cp[offset + k];
-
- for (i = 2, cp += 2 * offset, powert = t * t; i < order;
- i++, powert *= t, cp += offset) {
- bincoeff *= order - i;
- bincoeff /= i;
-
- for (k = 0; k < dim; k++)
- out[k] = s * out[k] + bincoeff * powert * cp[k];
- }
- }
- else { /* order=1 -> constant curve */
-
- for (k = 0; k < dim; k++)
- out[k] = cp[k];
- }
-}
-
-static GLint
-calc_parametric_factor(GLfloat * pts, GLint order, GLint indx, GLint stride,
- GLfloat tolerance, GLint dim)
-{
- GLdouble model[16], proj[16];
- GLint viewport[4];
- GLdouble x, y, z, w, x1, y1, z1, x2, y2, z2, x3, y3, z3;
- GLint i;
- GLint P;
- GLfloat bez_pt[4];
- GLdouble len = 0.0, tmp, z_med;
-
- P = 2 * (order + 2);
- glGetDoublev(GL_MODELVIEW_MATRIX, model);
- glGetDoublev(GL_PROJECTION_MATRIX, proj);
- glGetIntegerv(GL_VIEWPORT, viewport);
- z_med = (viewport[2] + viewport[3]) * 0.5;
- switch (dim) {
- case 4:
- for (i = 1; i < P; i++) {
- bezier_curve(pts + indx, bez_pt, (GLfloat) i / (GLfloat) P, 4,
- order, stride);
- w = (GLdouble) bez_pt[3];
- x = (GLdouble) bez_pt[0] / w;
- y = (GLdouble) bez_pt[1] / w;
- z = (GLdouble) bez_pt[2] / w;
- gluProject(x, y, z, model, proj, viewport, &x3, &y3, &z3);
- z3 *= z_med;
- bezier_curve(pts + indx, bez_pt, (GLfloat) (i - 1) / (GLfloat) P, 4,
- order, stride);
- w = (GLdouble) bez_pt[3];
- x = (GLdouble) bez_pt[0] / w;
- y = (GLdouble) bez_pt[1] / w;
- z = (GLdouble) bez_pt[2] / w;
- gluProject(x, y, z, model, proj, viewport, &x1, &y1, &z1);
- z1 *= z_med;
- bezier_curve(pts + indx, bez_pt, (GLfloat) (i + 1) / (GLfloat) P, 4,
- order, stride);
- w = (GLdouble) bez_pt[3];
- x = (GLdouble) bez_pt[0] / w;
- y = (GLdouble) bez_pt[1] / w;
- z = (GLdouble) bez_pt[2] / w;
- gluProject(x, y, z, model, proj, viewport, &x2, &y2, &z2);
- z2 *= z_med;
- /* calc distance between point (x3,y3,z3) and line segment */
- /* <x1,y1,z1><x2,y2,z2> */
- x = x2 - x1;
- y = y2 - y1;
- z = z2 - z1;
- tmp = sqrt(x * x + y * y + z * z);
- x /= tmp;
- y /= tmp;
- z /= tmp;
- tmp = x3 * x + y3 * y + z3 * z - x1 * x - y1 * y - z1 * z;
- x = x1 + x * tmp - x3;
- y = y1 + y * tmp - y3;
- z = z1 + z * tmp - z3;
- tmp = sqrt(x * x + y * y + z * z);
- if (tmp > len)
- len = tmp;
- }
- break;
- case 3:
- for (i = 1; i < P; i++) {
- bezier_curve(pts + indx, bez_pt, (GLfloat) i / (GLfloat) P, 3,
- order, stride);
- x = (GLdouble) bez_pt[0];
- y = (GLdouble) bez_pt[1];
- z = (GLdouble) bez_pt[2];
- gluProject(x, y, z, model, proj, viewport, &x3, &y3, &z3);
- z3 *= z_med;
- bezier_curve(pts + indx, bez_pt, (GLfloat) (i - 1) / (GLfloat) P, 3,
- order, stride);
- x = (GLdouble) bez_pt[0];
- y = (GLdouble) bez_pt[1];
- z = (GLdouble) bez_pt[2];
- gluProject(x, y, z, model, proj, viewport, &x1, &y1, &z1);
- z1 *= z_med;
- bezier_curve(pts + indx, bez_pt, (GLfloat) (i + 1) / (GLfloat) P, 3,
- order, stride);
- x = (GLdouble) bez_pt[0];
- y = (GLdouble) bez_pt[1];
- z = (GLdouble) bez_pt[2];
- gluProject(x, y, z, model, proj, viewport, &x2, &y2, &z2);
- z2 *= z_med;
- /* calc distance between point (x3,y3,z3) and line segment */
- /* <x1,y1,z1><x2,y2,z2> */
- x = x2 - x1;
- y = y2 - y1;
- z = z2 - z1;
- tmp = sqrt(x * x + y * y + z * z);
- x /= tmp;
- y /= tmp;
- z /= tmp;
- tmp = x3 * x + y3 * y + z3 * z - x1 * x - y1 * y - z1 * z;
- x = x1 + x * tmp - x3;
- y = y1 + y * tmp - y3;
- z = z1 + z * tmp - z3;
- tmp = sqrt(x * x + y * y + z * z);
- if (tmp > len)
- len = tmp;
- }
- break;
- case 2:
- for (i = 1; i < P; i++) {
- bezier_curve(pts + indx, bez_pt, (GLfloat) i / (GLfloat) P, 2,
- order, stride);
- x = (GLdouble) bez_pt[0];
- y = (GLdouble) bez_pt[1];
- z = 0.0;
- gluProject(x, y, z, model, proj, viewport, &x3, &y3, &z3);
- z3 *= z_med;
- bezier_curve(pts + indx, bez_pt, (GLfloat) (i - 1) / (GLfloat) P, 2,
- order, stride);
- x = (GLdouble) bez_pt[0];
- y = (GLdouble) bez_pt[1];
- z = 0.0;
- gluProject(x, y, z, model, proj, viewport, &x1, &y1, &z1);
- z1 *= z_med;
- bezier_curve(pts + indx, bez_pt, (GLfloat) (i + 1) / (GLfloat) P, 2,
- order, stride);
- x = (GLdouble) bez_pt[0];
- y = (GLdouble) bez_pt[1];
- z = 0.0;
- gluProject(x, y, z, model, proj, viewport, &x2, &y2, &z2);
- z2 *= z_med;
- /* calc distance between point (x3,y3,z3) and line segment */
- /* <x1,y1,z1><x2,y2,z2> */
- x = x2 - x1;
- y = y2 - y1;
- z = z2 - z1;
- tmp = sqrt(x * x + y * y + z * z);
- x /= tmp;
- y /= tmp;
- z /= tmp;
- tmp = x3 * x + y3 * y + z3 * z - x1 * x - y1 * y - z1 * z;
- x = x1 + x * tmp - x3;
- y = y1 + y * tmp - y3;
- z = z1 + z * tmp - z3;
- tmp = sqrt(x * x + y * y + z * z);
- if (tmp > len)
- len = tmp;
- }
- break;
-
- }
- if (len < tolerance)
- return (order);
- else
- return (GLint) (sqrt(len / tolerance) * (order + 2) + 1);
-}
-
-static GLenum
-calc_sampling_3D(new_ctrl_type * new_ctrl, GLfloat tolerance, GLint dim,
- GLint uorder, GLint vorder, GLint ** ufactors,
- GLint ** vfactors)
-{
- GLfloat *ctrl;
- GLint tmp_factor1, tmp_factor2;
- GLint ufactor_cnt, vfactor_cnt;
- GLint offset1, offset2, offset3;
- GLint i, j;
-
- ufactor_cnt = new_ctrl->s_bezier_cnt;
- vfactor_cnt = new_ctrl->t_bezier_cnt;
- if ((*ufactors = (GLint *) malloc(sizeof(GLint) * ufactor_cnt * 3))
- == NULL) {
- return GLU_OUT_OF_MEMORY;
- }
- if ((*vfactors = (GLint *) malloc(sizeof(GLint) * vfactor_cnt * 3))
- == NULL) {
- free(*ufactors);
- return GLU_OUT_OF_MEMORY;
- }
- ctrl = new_ctrl->geom_ctrl;
- offset1 = new_ctrl->geom_t_stride * vorder;
- offset2 = new_ctrl->geom_s_stride * uorder;
- for (j = 0; j < vfactor_cnt; j++) {
- *(*vfactors + j * 3 + 1) = tmp_factor1 = calc_factor(ctrl, vorder,
- j * offset1, dim,
- tolerance, dim);
- /* loop ufactor_cnt-1 times */
- for (i = 1; i < ufactor_cnt; i++) {
- tmp_factor2 = calc_factor(ctrl, vorder,
- j * offset1 + i * offset2, dim, tolerance,
- dim);
- if (tmp_factor2 > tmp_factor1)
- tmp_factor1 = tmp_factor2;
- }
- /* last time for the opposite edge */
- *(*vfactors + j * 3 + 2) = tmp_factor2 = calc_factor(ctrl, vorder,
- j * offset1 +
- i * offset2 -
- new_ctrl->
- geom_s_stride, dim,
- tolerance, dim);
- if (tmp_factor2 > tmp_factor1)
- *(*vfactors + j * 3) = tmp_factor2;
- else
- *(*vfactors + j * 3) = tmp_factor1;
- }
- offset3 = new_ctrl->geom_s_stride;
- offset2 = new_ctrl->geom_s_stride * uorder;
- for (j = 0; j < ufactor_cnt; j++) {
- *(*ufactors + j * 3 + 1) = tmp_factor1 = calc_factor(ctrl, uorder,
- j * offset2,
- offset3, tolerance,
- dim);
- /* loop vfactor_cnt-1 times */
- for (i = 1; i < vfactor_cnt; i++) {
- tmp_factor2 = calc_factor(ctrl, uorder,
- j * offset2 + i * offset1, offset3,
- tolerance, dim);
- if (tmp_factor2 > tmp_factor1)
- tmp_factor1 = tmp_factor2;
- }
- /* last time for the opposite edge */
- *(*ufactors + j * 3 + 2) = tmp_factor2 = calc_factor(ctrl, uorder,
- j * offset2 +
- i * offset1 -
- new_ctrl->
- geom_t_stride,
- offset3, tolerance,
- dim);
- if (tmp_factor2 > tmp_factor1)
- *(*ufactors + j * 3) = tmp_factor2;
- else
- *(*ufactors + j * 3) = tmp_factor1;
- }
- return GL_NO_ERROR;
-}
-
-static GLenum
-calc_sampling_param_3D(new_ctrl_type * new_ctrl, GLfloat tolerance, GLint dim,
- GLint uorder, GLint vorder, GLint ** ufactors,
- GLint ** vfactors)
-{
- GLfloat *ctrl;
- GLint tmp_factor1, tmp_factor2;
- GLint ufactor_cnt, vfactor_cnt;
- GLint offset1, offset2, offset3;
- GLint i, j;
-
- ufactor_cnt = new_ctrl->s_bezier_cnt;
- vfactor_cnt = new_ctrl->t_bezier_cnt;
- if ((*ufactors = (GLint *) malloc(sizeof(GLint) * ufactor_cnt * 3))
- == NULL) {
- return GLU_OUT_OF_MEMORY;
- }
- if ((*vfactors = (GLint *) malloc(sizeof(GLint) * vfactor_cnt * 3))
- == NULL) {
- free(*ufactors);
- return GLU_OUT_OF_MEMORY;
- }
- ctrl = new_ctrl->geom_ctrl;
- offset1 = new_ctrl->geom_t_stride * vorder;
- offset2 = new_ctrl->geom_s_stride * uorder;
- for (j = 0; j < vfactor_cnt; j++) {
- *(*vfactors + j * 3 + 1) = tmp_factor1 =
- calc_parametric_factor(ctrl, vorder, j * offset1, dim, tolerance,
- dim);
- /* loop ufactor_cnt-1 times */
- for (i = 1; i < ufactor_cnt; i++) {
- tmp_factor2 = calc_parametric_factor(ctrl, vorder,
- j * offset1 + i * offset2, dim,
- tolerance, dim);
- if (tmp_factor2 > tmp_factor1)
- tmp_factor1 = tmp_factor2;
- }
- /* last time for the opposite edge */
- *(*vfactors + j * 3 + 2) = tmp_factor2 =
- calc_parametric_factor(ctrl, vorder,
- j * offset1 + i * offset2 -
- new_ctrl->geom_s_stride, dim, tolerance, dim);
- if (tmp_factor2 > tmp_factor1)
- *(*vfactors + j * 3) = tmp_factor2;
- else
- *(*vfactors + j * 3) = tmp_factor1;
- }
- offset3 = new_ctrl->geom_s_stride;
- offset2 = new_ctrl->geom_s_stride * uorder;
- for (j = 0; j < ufactor_cnt; j++) {
- *(*ufactors + j * 3 + 1) = tmp_factor1 =
- calc_parametric_factor(ctrl, uorder, j * offset2, offset3, tolerance,
- dim);
- /* loop vfactor_cnt-1 times */
- for (i = 1; i < vfactor_cnt; i++) {
- tmp_factor2 = calc_parametric_factor(ctrl, uorder,
- j * offset2 + i * offset1,
- offset3, tolerance, dim);
- if (tmp_factor2 > tmp_factor1)
- tmp_factor1 = tmp_factor2;
- }
- /* last time for the opposite edge */
- *(*ufactors + j * 3 + 2) = tmp_factor2 =
- calc_parametric_factor(ctrl, uorder,
- j * offset2 + i * offset1 -
- new_ctrl->geom_t_stride, offset3, tolerance,
- dim);
- if (tmp_factor2 > tmp_factor1)
- *(*ufactors + j * 3) = tmp_factor2;
- else
- *(*ufactors + j * 3) = tmp_factor1;
- }
- return GL_NO_ERROR;
-}
-
-static GLenum
-calc_sampling_2D(GLfloat * ctrl, GLint cnt, GLint order,
- GLfloat tolerance, GLint dim, GLint ** factors)
-{
- GLint factor_cnt;
- GLint tmp_factor;
- GLint offset;
- GLint i;
-
- factor_cnt = cnt / order;
- if ((*factors = (GLint *) malloc(sizeof(GLint) * factor_cnt)) == NULL) {
- return GLU_OUT_OF_MEMORY;
- }
- offset = order * dim;
- for (i = 0; i < factor_cnt; i++) {
- tmp_factor = calc_factor(ctrl, order, i * offset, dim, tolerance, dim);
- if (tmp_factor == 0)
- (*factors)[i] = 1;
- else
- (*factors)[i] = tmp_factor;
- }
- return GL_NO_ERROR;
-}
-
-static void
-set_sampling_and_culling(GLUnurbsObj * nobj)
-{
- if (nobj->auto_load_matrix == GL_FALSE) {
- GLint i;
- GLfloat m[4];
-
- glPushAttrib((GLbitfield) (GL_VIEWPORT_BIT | GL_TRANSFORM_BIT));
- for (i = 0; i < 4; i++)
- m[i] = nobj->sampling_matrices.viewport[i];
- glViewport(m[0], m[1], m[2], m[3]);
- glMatrixMode(GL_PROJECTION);
- glPushMatrix();
- glLoadMatrixf(nobj->sampling_matrices.proj);
- glMatrixMode(GL_MODELVIEW);
- glPushMatrix();
- glLoadMatrixf(nobj->sampling_matrices.model);
- }
-}
-
-static void
-revert_sampling_and_culling(GLUnurbsObj * nobj)
-{
- if (nobj->auto_load_matrix == GL_FALSE) {
- glMatrixMode(GL_MODELVIEW);
- glPopMatrix();
- glMatrixMode(GL_PROJECTION);
- glPopMatrix();
- glPopAttrib();
- }
-}
-
-GLenum
-glu_do_sampling_3D(GLUnurbsObj * nobj, new_ctrl_type * new_ctrl,
- GLint ** sfactors, GLint ** tfactors)
-{
- GLint dim;
- GLenum err;
-
- *sfactors = NULL;
- *tfactors = NULL;
- dim = nobj->surface.geom.dim;
- set_sampling_and_culling(nobj);
- if ((err = calc_sampling_3D(new_ctrl, nobj->sampling_tolerance, dim,
- nobj->surface.geom.sorder,
- nobj->surface.geom.torder, sfactors,
- tfactors)) == GLU_ERROR) {
- revert_sampling_and_culling(nobj);
- call_user_error(nobj, err);
- return GLU_ERROR;
- }
- revert_sampling_and_culling(nobj);
- return GLU_NO_ERROR;
-}
-
-GLenum
-glu_do_sampling_uv(GLUnurbsObj * nobj, new_ctrl_type * new_ctrl,
- GLint ** sfactors, GLint ** tfactors)
-{
- GLint s_cnt, t_cnt, i;
- GLint u_steps, v_steps;
-
- s_cnt = new_ctrl->s_bezier_cnt;
- t_cnt = new_ctrl->t_bezier_cnt;
- *sfactors = NULL;
- *tfactors = NULL;
- if ((*sfactors = (GLint *) malloc(sizeof(GLint) * s_cnt * 3))
- == NULL) {
- return GLU_OUT_OF_MEMORY;
- }
- if ((*tfactors = (GLint *) malloc(sizeof(GLint) * t_cnt * 3))
- == NULL) {
- free(*sfactors);
- return GLU_OUT_OF_MEMORY;
- }
- u_steps = nobj->u_step;
- v_steps = nobj->v_step;
- for (i = 0; i < s_cnt; i++) {
- *(*sfactors + i * 3) = u_steps;
- *(*sfactors + i * 3 + 1) = u_steps;
- *(*sfactors + i * 3 + 2) = u_steps;
- }
- for (i = 0; i < t_cnt; i++) {
- *(*tfactors + i * 3) = v_steps;
- *(*tfactors + i * 3 + 1) = v_steps;
- *(*tfactors + i * 3 + 2) = v_steps;
- }
- return GLU_NO_ERROR;
-}
-
-
-GLenum
-glu_do_sampling_param_3D(GLUnurbsObj * nobj, new_ctrl_type * new_ctrl,
- GLint ** sfactors, GLint ** tfactors)
-{
- GLint dim;
- GLenum err;
-
- *sfactors = NULL;
- *tfactors = NULL;
- dim = nobj->surface.geom.dim;
- set_sampling_and_culling(nobj);
- if (
- (err =
- calc_sampling_param_3D(new_ctrl, nobj->parametric_tolerance, dim,
- nobj->surface.geom.sorder,
- nobj->surface.geom.torder, sfactors,
- tfactors)) == GLU_ERROR) {
- revert_sampling_and_culling(nobj);
- call_user_error(nobj, err);
- return GLU_ERROR;
- }
- revert_sampling_and_culling(nobj);
- return GLU_NO_ERROR;
-}
-
-
-static GLenum
-glu_do_sampling_2D(GLUnurbsObj * nobj, GLfloat * ctrl, GLint cnt, GLint order,
- GLint dim, GLint ** factors)
-{
- GLenum err;
-
- set_sampling_and_culling(nobj);
- err = calc_sampling_2D(ctrl, cnt, order, nobj->sampling_tolerance, dim,
- factors);
- revert_sampling_and_culling(nobj);
- return err;
-}
-
-
-static GLenum
-glu_do_sampling_u(GLUnurbsObj * nobj, GLfloat * ctrl, GLint cnt, GLint order,
- GLint dim, GLint ** factors)
-{
- GLint i;
- GLint u_steps;
-
- cnt /= order;
- if ((*factors = (GLint *) malloc(sizeof(GLint) * cnt))
- == NULL) {
- return GLU_OUT_OF_MEMORY;
- }
- u_steps = nobj->u_step;
- for (i = 0; i < cnt; i++)
- (*factors)[i] = u_steps;
- return GLU_NO_ERROR;
-}
-
-
-static GLenum
-glu_do_sampling_param_2D(GLUnurbsObj * nobj, GLfloat * ctrl, GLint cnt,
- GLint order, GLint dim, GLint ** factors)
-{
- GLint i;
- GLint u_steps;
- GLfloat tolerance;
-
- set_sampling_and_culling(nobj);
- tolerance = nobj->parametric_tolerance;
- cnt /= order;
- if ((*factors = (GLint *) malloc(sizeof(GLint) * cnt))
- == NULL) {
- revert_sampling_and_culling(nobj);
- return GLU_OUT_OF_MEMORY;
- }
- u_steps = nobj->u_step;
- for (i = 0; i < cnt; i++) {
- (*factors)[i] = calc_parametric_factor(ctrl, order, 0,
- dim, tolerance, dim);
-
- }
- revert_sampling_and_culling(nobj);
- return GLU_NO_ERROR;
-}
-
-GLenum
-glu_do_sampling_crv(GLUnurbsObj * nobj, GLfloat * ctrl, GLint cnt,
- GLint order, GLint dim, GLint ** factors)
-{
- GLenum err;
-
- *factors = NULL;
- switch (nobj->sampling_method) {
- case GLU_PATH_LENGTH:
- if ((err = glu_do_sampling_2D(nobj, ctrl, cnt, order, dim, factors)) !=
- GLU_NO_ERROR) {
- call_user_error(nobj, err);
- return GLU_ERROR;
- }
- break;
- case GLU_DOMAIN_DISTANCE:
- if ((err = glu_do_sampling_u(nobj, ctrl, cnt, order, dim, factors)) !=
- GLU_NO_ERROR) {
- call_user_error(nobj, err);
- return GLU_ERROR;
- }
- break;
- case GLU_PARAMETRIC_ERROR:
- if (
- (err =
- glu_do_sampling_param_2D(nobj, ctrl, cnt, order, dim,
- factors)) != GLU_NO_ERROR) {
- call_user_error(nobj, err);
- return GLU_ERROR;
- }
- break;
- default:
- abort();
- }
-
- return GLU_NO_ERROR;
-}
-
-/* TODO - i don't like this culling - this one just tests if at least one */
-/* ctrl point lies within the viewport . Also the point_in_viewport() */
-/* should be included in the fnctions for efficiency reasons */
-
-static GLboolean
-point_in_viewport(GLfloat * pt, GLint dim)
-{
- GLdouble model[16], proj[16];
- GLint viewport[4];
- GLdouble x, y, z, w, winx, winy, winz;
-
- glGetDoublev(GL_MODELVIEW_MATRIX, model);
- glGetDoublev(GL_PROJECTION_MATRIX, proj);
- glGetIntegerv(GL_VIEWPORT, viewport);
- if (dim == 3) {
- x = (GLdouble) pt[0];
- y = (GLdouble) pt[1];
- z = (GLdouble) pt[2];
- gluProject(x, y, z, model, proj, viewport, &winx, &winy, &winz);
- }
- else {
- w = (GLdouble) pt[3];
- x = (GLdouble) pt[0] / w;
- y = (GLdouble) pt[1] / w;
- z = (GLdouble) pt[2] / w;
- gluProject(x, y, z, model, proj, viewport, &winx, &winy, &winz);
- }
- if ((GLint) winx >= viewport[0] && (GLint) winx < viewport[2] &&
- (GLint) winy >= viewport[1] && (GLint) winy < viewport[3])
- return GL_TRUE;
- return GL_FALSE;
-}
-
-GLboolean
-fine_culling_test_3D(GLUnurbsObj * nobj, GLfloat * pts, GLint s_cnt,
- GLint t_cnt, GLint s_stride, GLint t_stride, GLint dim)
-{
- GLint i, j;
-
- if (nobj->culling == GL_FALSE)
- return GL_FALSE;
- set_sampling_and_culling(nobj);
-
- if (dim == 3) {
- for (i = 0; i < s_cnt; i++)
- for (j = 0; j < t_cnt; j++)
- if (point_in_viewport(pts + i * s_stride + j * t_stride, dim)) {
- revert_sampling_and_culling(nobj);
- return GL_FALSE;
- }
- }
- else {
- for (i = 0; i < s_cnt; i++)
- for (j = 0; j < t_cnt; j++)
- if (point_in_viewport(pts + i * s_stride + j * t_stride, dim)) {
- revert_sampling_and_culling(nobj);
- return GL_FALSE;
- }
- }
- revert_sampling_and_culling(nobj);
- return GL_TRUE;
-}
-
-/*GLboolean
-fine_culling_test_3D(GLUnurbsObj *nobj,GLfloat *pts,GLint s_cnt,GLint t_cnt,
- GLint s_stride,GLint t_stride, GLint dim)
-{
- GLint visible_cnt;
- GLfloat feedback_buffer[5];
- GLsizei buffer_size;
- GLint i,j;
-
- if(nobj->culling==GL_FALSE)
- return GL_FALSE;
- buffer_size=5;
- set_sampling_and_culling(nobj);
-
- glFeedbackBuffer(buffer_size,GL_2D,feedback_buffer);
- glRenderMode(GL_FEEDBACK);
- if(dim==3)
- {
- for(i=0;i<s_cnt;i++)
- {
- glBegin(GL_LINE_LOOP);
- for(j=0;j<t_cnt;j++)
- glVertex3fv(pts+i*s_stride+j*t_stride);
- glEnd();
- }
- for(j=0;j<t_cnt;j++)
- {
- glBegin(GL_LINE_LOOP);
- for(i=0;i<s_cnt;i++)
- glVertex3fv(pts+i*s_stride+j*t_stride);
- glEnd();
- }
- }
- else
- {
- for(i=0;i<s_cnt;i++)
- {
- glBegin(GL_LINE_LOOP);
- for(j=0;j<t_cnt;j++)
- glVertex4fv(pts+i*s_stride+j*t_stride);
- glEnd();
- }
- for(j=0;j<t_cnt;j++)
- {
- glBegin(GL_LINE_LOOP);
- for(i=0;i<s_cnt;i++)
- glVertex4fv(pts+i*s_stride+j*t_stride);
- glEnd();
- }
- }
- visible_cnt=glRenderMode(GL_RENDER);
-
- revert_sampling_and_culling(nobj);
- return (GLboolean)(visible_cnt==0);
-}*/
-
-GLboolean
-fine_culling_test_2D(GLUnurbsObj * nobj, GLfloat * pts, GLint cnt,
- GLint stride, GLint dim)
-{
- GLint i;
-
- if (nobj->culling == GL_FALSE)
- return GL_FALSE;
- set_sampling_and_culling(nobj);
-
- if (dim == 3) {
- for (i = 0; i < cnt; i++)
- if (point_in_viewport(pts + i * stride, dim)) {
- revert_sampling_and_culling(nobj);
- return GL_FALSE;
- }
- }
- else {
- for (i = 0; i < cnt; i++)
- if (point_in_viewport(pts + i * stride, dim)) {
- revert_sampling_and_culling(nobj);
- return GL_FALSE;
- }
- }
- revert_sampling_and_culling(nobj);
- return GL_TRUE;
-}
-
-/*GLboolean
-fine_culling_test_2D(GLUnurbsObj *nobj,GLfloat *pts,GLint cnt,
- GLint stride, GLint dim)
-{
- GLint visible_cnt;
- GLfloat feedback_buffer[5];
- GLsizei buffer_size;
- GLint i;
-
- if(nobj->culling==GL_FALSE)
- return GL_FALSE;
- buffer_size=5;
- set_sampling_and_culling(nobj);
-
- glFeedbackBuffer(buffer_size,GL_2D,feedback_buffer);
- glRenderMode(GL_FEEDBACK);
- glBegin(GL_LINE_LOOP);
- if(dim==3)
- {
- for(i=0;i<cnt;i++)
- glVertex3fv(pts+i*stride);
- }
- else
- {
- for(i=0;i<cnt;i++)
- glVertex4fv(pts+i*stride);
- }
- glEnd();
- visible_cnt=glRenderMode(GL_RENDER);
-
- revert_sampling_and_culling(nobj);
- return (GLboolean)(visible_cnt==0);
-}*/
diff --git a/src/glu/mesa/polytest.c b/src/glu/mesa/polytest.c
deleted file mode 100644
index 1ff966f61c..0000000000
--- a/src/glu/mesa/polytest.c
+++ /dev/null
@@ -1,937 +0,0 @@
-
-/*
- * Mesa 3-D graphics library
- * Version: 3.3
- * Copyright (C) 1995-2000 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-
-/*
- * This file is part of the polygon tesselation code contributed by
- * Bogdan Sikorski
- */
-
-
-#ifdef PC_HEADER
-#include "all.h"
-#else
-#include <math.h>
-#include <stdlib.h>
-#include "gluP.h"
-#include "tess.h"
-#endif
-
-
-
-static GLenum store_polygon_as_contour(GLUtriangulatorObj *);
-static void free_current_polygon(tess_polygon *);
-static void prepare_projection_info(GLUtriangulatorObj *);
-static GLdouble twice_the_polygon_area(tess_vertex *, tess_vertex *);
-static GLenum verify_edge_vertex_intersections(GLUtriangulatorObj *);
-void tess_find_contour_hierarchies(GLUtriangulatorObj *);
-static GLenum test_for_overlapping_contours(GLUtriangulatorObj *);
-static GLenum contours_overlap(tess_contour *, tess_polygon *);
-static GLenum is_contour_contained_in(tess_contour *, tess_contour *);
-static void add_new_exterior(GLUtriangulatorObj *, tess_contour *);
-static void add_new_interior(GLUtriangulatorObj *, tess_contour *,
- tess_contour *);
-static void add_interior_with_hierarchy_check(GLUtriangulatorObj *,
- tess_contour *, tess_contour *);
-static void reverse_hierarchy_and_add_exterior(GLUtriangulatorObj *,
- tess_contour *,
- tess_contour *);
-static GLboolean point_in_polygon(tess_contour *, GLdouble, GLdouble);
-static void shift_interior_to_exterior(GLUtriangulatorObj *, tess_contour *);
-static void add_exterior_with_check(GLUtriangulatorObj *, tess_contour *,
- tess_contour *);
-static GLenum cut_out_hole(GLUtriangulatorObj *, tess_contour *,
- tess_contour *);
-static GLenum merge_hole_with_contour(GLUtriangulatorObj *,
- tess_contour *, tess_contour *,
- tess_vertex *, tess_vertex *);
-
-static GLenum
-find_normal(GLUtriangulatorObj * tobj)
-{
- tess_polygon *polygon = tobj->current_polygon;
- tess_vertex *va, *vb, *vc;
- GLdouble A, B, C;
- GLdouble A0, A1, A2, B0, B1, B2;
-
- va = polygon->vertices;
- vb = va->next;
- A0 = vb->location[0] - va->location[0];
- A1 = vb->location[1] - va->location[1];
- A2 = vb->location[2] - va->location[2];
- for (vc = vb->next; vc != va; vc = vc->next) {
- B0 = vc->location[0] - va->location[0];
- B1 = vc->location[1] - va->location[1];
- B2 = vc->location[2] - va->location[2];
- A = A1 * B2 - A2 * B1;
- B = A2 * B0 - A0 * B2;
- C = A0 * B1 - A1 * B0;
- if (fabs(A) > EPSILON || fabs(B) > EPSILON || fabs(C) > EPSILON) {
- polygon->A = A;
- polygon->B = B;
- polygon->C = C;
- polygon->D =
- -A * va->location[0] - B * va->location[1] - C * va->location[2];
- return GLU_NO_ERROR;
- }
- }
- tess_call_user_error(tobj, GLU_TESS_ERROR7);
- return GLU_ERROR;
-}
-
-void
-tess_test_polygon(GLUtriangulatorObj * tobj)
-{
- tess_polygon *polygon = tobj->current_polygon;
-
- /* any vertices defined? */
- if (polygon->vertex_cnt < 3) {
- free_current_polygon(polygon);
- return;
- }
- /* wrap pointers */
- polygon->last_vertex->next = polygon->vertices;
- polygon->vertices->previous = polygon->last_vertex;
- /* determine the normal */
- if (find_normal(tobj) == GLU_ERROR)
- return;
- /* compare the normals of previously defined contours and this one */
- /* first contour define ? */
- if (tobj->contours == NULL) {
- tobj->A = polygon->A;
- tobj->B = polygon->B;
- tobj->C = polygon->C;
- tobj->D = polygon->D;
- /* determine the best projection to use */
- if (fabs(polygon->A) > fabs(polygon->B))
- if (fabs(polygon->A) > fabs(polygon->C))
- tobj->projection = OYZ;
- else
- tobj->projection = OXY;
- else if (fabs(polygon->B) > fabs(polygon->C))
- tobj->projection = OXZ;
- else
- tobj->projection = OXY;
- }
- else {
- GLdouble a[3], b[3];
- tess_vertex *vertex = polygon->vertices;
-
- a[0] = tobj->A;
- a[1] = tobj->B;
- a[2] = tobj->C;
- b[0] = polygon->A;
- b[1] = polygon->B;
- b[2] = polygon->C;
-
- /* compare the normals */
- if (fabs(a[1] * b[2] - a[2] * b[1]) > EPSILON ||
- fabs(a[2] * b[0] - a[0] * b[2]) > EPSILON ||
- fabs(a[0] * b[1] - a[1] * b[0]) > EPSILON) {
- /* not coplanar */
- tess_call_user_error(tobj, GLU_TESS_ERROR9);
- return;
- }
- /* the normals are parallel - test for plane equation */
- if (fabs(a[0] * vertex->location[0] + a[1] * vertex->location[1] +
- a[2] * vertex->location[2] + tobj->D) > EPSILON) {
- /* not the same plane */
- tess_call_user_error(tobj, GLU_TESS_ERROR9);
- return;
- }
- }
- prepare_projection_info(tobj);
- if (verify_edge_vertex_intersections(tobj) == GLU_ERROR)
- return;
- if (test_for_overlapping_contours(tobj) == GLU_ERROR)
- return;
- if (store_polygon_as_contour(tobj) == GLU_ERROR)
- return;
-}
-
-static GLenum
-test_for_overlapping_contours(GLUtriangulatorObj * tobj)
-{
- tess_contour *contour;
- tess_polygon *polygon;
-
- polygon = tobj->current_polygon;
- for (contour = tobj->contours; contour != NULL; contour = contour->next)
- if (contours_overlap(contour, polygon) != GLU_NO_ERROR) {
- tess_call_user_error(tobj, GLU_TESS_ERROR5);
- return GLU_ERROR;
- }
- return GLU_NO_ERROR;
-}
-
-static GLenum
-store_polygon_as_contour(GLUtriangulatorObj * tobj)
-{
- tess_polygon *polygon = tobj->current_polygon;
- tess_contour *contour = tobj->contours;
-
- /* the first contour defined */
- if (contour == NULL) {
- if ((contour = (tess_contour *) malloc(sizeof(tess_contour))) == NULL) {
- tess_call_user_error(tobj, GLU_OUT_OF_MEMORY);
- free_current_polygon(polygon);
- return GLU_ERROR;
- }
- tobj->contours = tobj->last_contour = contour;
- contour->next = contour->previous = NULL;
- }
- else {
- if ((contour = (tess_contour *) malloc(sizeof(tess_contour))) == NULL) {
- tess_call_user_error(tobj, GLU_OUT_OF_MEMORY);
- free_current_polygon(polygon);
- return GLU_ERROR;
- }
- contour->previous = tobj->last_contour;
- tobj->last_contour->next = contour;
- tobj->last_contour = contour;
- contour->next = NULL;
- }
- /* mark all vertices in new contour as not special */
- /* and all are boundary edges */
- {
- tess_vertex *vertex;
- GLuint vertex_cnt, i;
-
- for (vertex = polygon->vertices, i = 0, vertex_cnt =
- polygon->vertex_cnt; i < vertex_cnt; vertex = vertex->next, i++) {
- vertex->shadow_vertex = NULL;
- vertex->edge_flag = GL_TRUE;
- }
- }
- contour->vertex_cnt = polygon->vertex_cnt;
- contour->area = polygon->area;
- contour->orientation = polygon->orientation;
- contour->type = GLU_UNKNOWN;
- contour->vertices = polygon->vertices;
- contour->last_vertex = polygon->last_vertex;
- polygon->vertices = polygon->last_vertex = NULL;
- polygon->vertex_cnt = 0;
- ++(tobj->contour_cnt);
- return GLU_NO_ERROR;
-}
-
-static void
-free_current_polygon(tess_polygon * polygon)
-{
- tess_vertex *vertex, *vertex_tmp;
- GLuint i;
-
- /* free current_polygon structures */
- for (vertex = polygon->vertices, i = 0; i < polygon->vertex_cnt; i++) {
- vertex_tmp = vertex->next;
- free(vertex);
- vertex = vertex_tmp;
- }
- polygon->vertices = polygon->last_vertex = NULL;
- polygon->vertex_cnt = 0;
-}
-
-static void
-prepare_projection_info(GLUtriangulatorObj * tobj)
-{
- tess_polygon *polygon = tobj->current_polygon;
- tess_vertex *vertex, *last_vertex_ptr;
- GLdouble area;
-
- last_vertex_ptr = polygon->last_vertex;
- switch (tobj->projection) {
- case OXY:
- for (vertex = polygon->vertices; vertex != last_vertex_ptr;
- vertex = vertex->next) {
- vertex->x = vertex->location[0];
- vertex->y = vertex->location[1];
- }
- last_vertex_ptr->x = last_vertex_ptr->location[0];
- last_vertex_ptr->y = last_vertex_ptr->location[1];
- break;
- case OXZ:
- for (vertex = polygon->vertices; vertex != last_vertex_ptr;
- vertex = vertex->next) {
- vertex->x = vertex->location[0];
- vertex->y = vertex->location[2];
- }
- last_vertex_ptr->x = last_vertex_ptr->location[0];
- last_vertex_ptr->y = last_vertex_ptr->location[2];
- break;
- case OYZ:
- for (vertex = polygon->vertices; vertex != last_vertex_ptr;
- vertex = vertex->next) {
- vertex->x = vertex->location[1];
- vertex->y = vertex->location[2];
- }
- last_vertex_ptr->x = last_vertex_ptr->location[1];
- last_vertex_ptr->y = last_vertex_ptr->location[2];
- break;
- }
- area = twice_the_polygon_area(polygon->vertices, polygon->last_vertex);
- if (area >= 0.0) {
- polygon->orientation = GLU_CCW;
- polygon->area = area;
- }
- else {
- polygon->orientation = GLU_CW;
- polygon->area = -area;
- }
-}
-
-static GLdouble
-twice_the_polygon_area(tess_vertex * vertex, tess_vertex * last_vertex)
-{
- tess_vertex *next;
- GLdouble area, x, y;
-
- area = 0.0;
- x = vertex->x;
- y = vertex->y;
- vertex = vertex->next;
- for (; vertex != last_vertex; vertex = vertex->next) {
- next = vertex->next;
- area +=
- (vertex->x - x) * (next->y - y) - (vertex->y - y) * (next->x - x);
- }
- return area;
-}
-
-/* test if edges ab and cd intersect */
-/* if not return GLU_NO_ERROR, else if cross return GLU_TESS_ERROR8, */
-/* else if adjacent return GLU_TESS_ERROR4 */
-static GLenum
-edge_edge_intersect(tess_vertex * a,
- tess_vertex * b, tess_vertex * c, tess_vertex * d)
-{
- GLdouble denom, r, s;
- GLdouble xba, ydc, yba, xdc, yac, xac;
-
- xba = b->x - a->x;
- yba = b->y - a->y;
- xdc = d->x - c->x;
- ydc = d->y - c->y;
- xac = a->x - c->x;
- yac = a->y - c->y;
- denom = xba * ydc - yba * xdc;
- r = yac * xdc - xac * ydc;
- /* parallel? */
- if (fabs(denom) < EPSILON) {
- if (fabs(r) < EPSILON) {
- /* colinear */
- if (fabs(xba) < EPSILON) {
- /* compare the Y coordinate */
- if (yba > 0.0) {
- if (
- (fabs(a->y - c->y) < EPSILON
- && fabs(c->y - b->y) < EPSILON)
- || (fabs(a->y - d->y) < EPSILON
- && fabs(d->y - b->y) <
- EPSILON)) return GLU_TESS_ERROR4;
-
- }
- else {
- if (
- (fabs(b->y - c->y) < EPSILON
- && fabs(c->y - a->y) < EPSILON)
- || (fabs(b->y - d->y) < EPSILON
- && fabs(d->y - a->y) <
- EPSILON)) return GLU_TESS_ERROR4;
- }
- }
- else {
- /* compare the X coordinate */
- if (xba > 0.0) {
- if (
- (fabs(a->x - c->x) < EPSILON
- && fabs(c->x - b->x) < EPSILON)
- || (fabs(a->x - d->x) < EPSILON
- && fabs(d->x - b->x) <
- EPSILON)) return GLU_TESS_ERROR4;
- }
- else {
- if (
- (fabs(b->x - c->x) < EPSILON
- && fabs(c->x - a->x) < EPSILON)
- || (fabs(b->x - d->x) < EPSILON
- && fabs(d->x - a->x) <
- EPSILON)) return GLU_TESS_ERROR4;
- }
- }
- }
- return GLU_NO_ERROR;
- }
- r /= denom;
- s = (yac * xba - xac * yba) / denom;
- /* test if one vertex lies on other edge */
- if (((fabs(r) < EPSILON || (r < 1.0 + EPSILON && r > 1.0 - EPSILON)) &&
- s > -EPSILON && s < 1.0 + EPSILON) ||
- ((fabs(s) < EPSILON || (s < 1.0 + EPSILON && s > 1.0 - EPSILON)) &&
- r > -EPSILON && r < 1.0 + EPSILON)) {
- return GLU_TESS_ERROR4;
- }
- /* test for crossing */
- if (r > -EPSILON && r < 1.0 + EPSILON && s > -EPSILON && s < 1.0 + EPSILON) {
- return GLU_TESS_ERROR8;
- }
- return GLU_NO_ERROR;
-}
-
-static GLenum
-verify_edge_vertex_intersections(GLUtriangulatorObj * tobj)
-{
- tess_polygon *polygon = tobj->current_polygon;
- tess_vertex *vertex1, *last_vertex, *vertex2;
- GLenum test;
-
- last_vertex = polygon->last_vertex;
- vertex1 = last_vertex;
- for (vertex2 = vertex1->next->next;
- vertex2->next != last_vertex; vertex2 = vertex2->next) {
- test = edge_edge_intersect(vertex1, vertex1->next, vertex2,
- vertex2->next);
- if (test != GLU_NO_ERROR) {
- tess_call_user_error(tobj, test);
- return GLU_ERROR;
- }
- }
- for (vertex1 = polygon->vertices;
- vertex1->next->next != last_vertex; vertex1 = vertex1->next) {
- for (vertex2 = vertex1->next->next;
- vertex2 != last_vertex; vertex2 = vertex2->next) {
- test = edge_edge_intersect(vertex1, vertex1->next, vertex2,
- vertex2->next);
- if (test != GLU_NO_ERROR) {
- tess_call_user_error(tobj, test);
- return GLU_ERROR;
- }
- }
- }
- return GLU_NO_ERROR;
-}
-
-static int
-#ifdef WIN32
- __cdecl
-#endif
-area_compare(const void *a, const void *b)
-{
- GLdouble area1, area2;
-
- area1 = (*((tess_contour **) a))->area;
- area2 = (*((tess_contour **) b))->area;
- if (area1 < area2)
- return 1;
- if (area1 > area2)
- return -1;
- return 0;
-}
-
-void
-tess_find_contour_hierarchies(GLUtriangulatorObj * tobj)
-{
- tess_contour **contours; /* dinamic array of pointers */
- tess_contour *tmp_contour_ptr = tobj->contours;
- GLuint cnt, i;
- GLenum result;
- GLboolean hierarchy_changed;
-
- /* any contours? */
- if (tobj->contour_cnt < 2) {
- tobj->contours->type = GLU_EXTERIOR;
- return;
- }
- if ((contours = (tess_contour **)
- malloc(sizeof(tess_contour *) * (tobj->contour_cnt))) == NULL) {
- tess_call_user_error(tobj, GLU_OUT_OF_MEMORY);
- return;
- }
- for (tmp_contour_ptr = tobj->contours, cnt = 0;
- tmp_contour_ptr != NULL; tmp_contour_ptr = tmp_contour_ptr->next)
- contours[cnt++] = tmp_contour_ptr;
- /* now sort the contours in decreasing area size order */
- qsort((void *) contours, (size_t) cnt, (size_t) sizeof(tess_contour *),
- area_compare);
- /* we leave just the first contour - remove others from list */
- tobj->contours = contours[0];
- tobj->contours->next = tobj->contours->previous = NULL;
- tobj->last_contour = tobj->contours;
- tobj->contour_cnt = 1;
- /* first contour is the one with greatest area */
- /* must be EXTERIOR */
- tobj->contours->type = GLU_EXTERIOR;
- tmp_contour_ptr = tobj->contours;
- /* now we play! */
- for (i = 1; i < cnt; i++) {
- hierarchy_changed = GL_FALSE;
- for (tmp_contour_ptr = tobj->contours;
- tmp_contour_ptr != NULL; tmp_contour_ptr = tmp_contour_ptr->next) {
- if (tmp_contour_ptr->type == GLU_EXTERIOR) {
- /* check if contour completely contained in EXTERIOR */
- result = is_contour_contained_in(tmp_contour_ptr, contours[i]);
- switch (result) {
- case GLU_INTERIOR:
- /* now we have to check if contour is inside interiors */
- /* or not */
- /* any interiors? */
- if (tmp_contour_ptr->next != NULL &&
- tmp_contour_ptr->next->type == GLU_INTERIOR) {
- /* for all interior, check if inside any of them */
- /* if not inside any of interiors, its another */
- /* interior */
- /* or it may contain some interiors, then change */
- /* the contained interiors to exterior ones */
- add_interior_with_hierarchy_check(tobj,
- tmp_contour_ptr,
- contours[i]);
- }
- else {
- /* not in interior, add as new interior contour */
- add_new_interior(tobj, tmp_contour_ptr, contours[i]);
- }
- hierarchy_changed = GL_TRUE;
- break;
- case GLU_EXTERIOR:
- /* ooops, the marked as EXTERIOR (contours[i]) is */
- /* actually an interior of tmp_contour_ptr */
- /* reverse the local hierarchy */
- reverse_hierarchy_and_add_exterior(tobj, tmp_contour_ptr,
- contours[i]);
- hierarchy_changed = GL_TRUE;
- break;
- case GLU_NO_ERROR:
- break;
- default:
- abort();
- }
- }
- if (hierarchy_changed)
- break; /* break from for loop */
- }
- if (hierarchy_changed == GL_FALSE) {
- /* disjoint with all contours, add to contour list */
- add_new_exterior(tobj, contours[i]);
- }
- }
- free(contours);
-}
-
-/* returns GLU_INTERIOR if inner is completey enclosed within outer */
-/* returns GLU_EXTERIOR if outer is completely enclosed within inner */
-/* returns GLU_NO_ERROR if contours are disjoint */
-static GLenum
-is_contour_contained_in(tess_contour * outer, tess_contour * inner)
-{
- GLenum relation_flag;
-
- /* set relation_flag to relation of containment of first inner vertex */
- /* regarding outer contour */
- if (point_in_polygon(outer, inner->vertices->x, inner->vertices->y))
- relation_flag = GLU_INTERIOR;
- else
- relation_flag = GLU_EXTERIOR;
- if (relation_flag == GLU_INTERIOR)
- return GLU_INTERIOR;
- if (point_in_polygon(inner, outer->vertices->x, outer->vertices->y))
- return GLU_EXTERIOR;
- return GLU_NO_ERROR;
-}
-
-static GLboolean
-point_in_polygon(tess_contour * contour, GLdouble x, GLdouble y)
-{
- tess_vertex *v1, *v2;
- GLuint i, vertex_cnt;
- GLdouble xp1, yp1, xp2, yp2;
- GLboolean tst;
-
- tst = GL_FALSE;
- v1 = contour->vertices;
- v2 = contour->vertices->previous;
- for (i = 0, vertex_cnt = contour->vertex_cnt; i < vertex_cnt; i++) {
- xp1 = v1->x;
- yp1 = v1->y;
- xp2 = v2->x;
- yp2 = v2->y;
- if ((((yp1 <= y) && (y < yp2)) || ((yp2 <= y) && (y < yp1))) &&
- (x < (xp2 - xp1) * (y - yp1) / (yp2 - yp1) + xp1))
- tst = (tst == GL_FALSE ? GL_TRUE : GL_FALSE);
- v2 = v1;
- v1 = v1->next;
- }
- return tst;
-}
-
-static GLenum
-contours_overlap(tess_contour * contour, tess_polygon * polygon)
-{
- tess_vertex *vertex1, *vertex2;
- GLuint vertex1_cnt, vertex2_cnt, i, j;
- GLenum test;
-
- vertex1 = contour->vertices;
- vertex2 = polygon->vertices;
- vertex1_cnt = contour->vertex_cnt;
- vertex2_cnt = polygon->vertex_cnt;
- for (i = 0; i < vertex1_cnt; vertex1 = vertex1->next, i++) {
- for (j = 0; j < vertex2_cnt; vertex2 = vertex2->next, j++)
- if ((test = edge_edge_intersect(vertex1, vertex1->next, vertex2,
- vertex2->next)) != GLU_NO_ERROR)
- return test;
- }
- return GLU_NO_ERROR;
-}
-
-static void
-add_new_exterior(GLUtriangulatorObj * tobj, tess_contour * contour)
-{
- contour->type = GLU_EXTERIOR;
- contour->next = NULL;
- contour->previous = tobj->last_contour;
- tobj->last_contour->next = contour;
- tobj->last_contour = contour;
-}
-
-static void
-add_new_interior(GLUtriangulatorObj * tobj,
- tess_contour * outer, tess_contour * contour)
-{
- contour->type = GLU_INTERIOR;
- contour->next = outer->next;
- contour->previous = outer;
- if (outer->next != NULL)
- outer->next->previous = contour;
- outer->next = contour;
- if (tobj->last_contour == outer)
- tobj->last_contour = contour;
-}
-
-static void
-add_interior_with_hierarchy_check(GLUtriangulatorObj * tobj,
- tess_contour * outer,
- tess_contour * contour)
-{
- tess_contour *ptr;
-
- /* for all interiors of outer check if they are interior of contour */
- /* if so, change that interior to exterior and move it of of the */
- /* interior sequence */
- if (outer->next != NULL && outer->next->type == GLU_INTERIOR) {
- GLenum test;
-
- for (ptr = outer->next; ptr != NULL && ptr->type == GLU_INTERIOR;
- ptr = ptr->next) {
- test = is_contour_contained_in(ptr, contour);
- switch (test) {
- case GLU_INTERIOR:
- /* contour is contained in one of the interiors */
- /* check if possibly contained in other exteriors */
- /* move ptr to first EXTERIOR */
- for (; ptr != NULL && ptr->type == GLU_INTERIOR; ptr = ptr->next);
- if (ptr == NULL)
- /* another exterior */
- add_new_exterior(tobj, contour);
- else
- add_exterior_with_check(tobj, ptr, contour);
- return;
- case GLU_EXTERIOR:
- /* one of the interiors is contained in the contour */
- /* change it to EXTERIOR, and shift it away from the */
- /* interior sequence */
- shift_interior_to_exterior(tobj, ptr);
- break;
- case GLU_NO_ERROR:
- /* disjoint */
- break;
- default:
- abort();
- }
- }
- }
- /* add contour to the interior sequence */
- add_new_interior(tobj, outer, contour);
-}
-
-static void
-reverse_hierarchy_and_add_exterior(GLUtriangulatorObj * tobj,
- tess_contour * outer,
- tess_contour * contour)
-{
- tess_contour *ptr;
-
- /* reverse INTERIORS to EXTERIORS */
- /* any INTERIORS? */
- if (outer->next != NULL && outer->next->type == GLU_INTERIOR)
- for (ptr = outer->next; ptr != NULL && ptr->type == GLU_INTERIOR;
- ptr = ptr->next) ptr->type = GLU_EXTERIOR;
- /* the outer now becomes inner */
- outer->type = GLU_INTERIOR;
- /* contour is the EXTERIOR */
- contour->next = outer;
- if (tobj->contours == outer) {
- /* first contour beeing reversed */
- contour->previous = NULL;
- tobj->contours = contour;
- }
- else {
- outer->previous->next = contour;
- contour->previous = outer->previous;
- }
- outer->previous = contour;
-}
-
-static void
-shift_interior_to_exterior(GLUtriangulatorObj * tobj, tess_contour * contour)
-{
- contour->previous->next = contour->next;
- if (contour->next != NULL)
- contour->next->previous = contour->previous;
- else
- tobj->last_contour = contour->previous;
-}
-
-static void
-add_exterior_with_check(GLUtriangulatorObj * tobj,
- tess_contour * outer, tess_contour * contour)
-{
- GLenum test;
-
- /* this contour might be interior to further exteriors - check */
- /* if not, just add as a new exterior */
- for (; outer != NULL && outer->type == GLU_EXTERIOR; outer = outer->next) {
- test = is_contour_contained_in(outer, contour);
- switch (test) {
- case GLU_INTERIOR:
- /* now we have to check if contour is inside interiors */
- /* or not */
- /* any interiors? */
- if (outer->next != NULL && outer->next->type == GLU_INTERIOR) {
- /* for all interior, check if inside any of them */
- /* if not inside any of interiors, its another */
- /* interior */
- /* or it may contain some interiors, then change */
- /* the contained interiors to exterior ones */
- add_interior_with_hierarchy_check(tobj, outer, contour);
- }
- else {
- /* not in interior, add as new interior contour */
- add_new_interior(tobj, outer, contour);
- }
- return;
- case GLU_NO_ERROR:
- /* disjoint */
- break;
- default:
- abort();
- }
- }
- /* add contour to the exterior sequence */
- add_new_exterior(tobj, contour);
-}
-
-void
-tess_handle_holes(GLUtriangulatorObj * tobj)
-{
- tess_contour *contour, *hole;
- GLenum exterior_orientation;
-
- /* verify hole orientation */
- for (contour = tobj->contours; contour != NULL;) {
- exterior_orientation = contour->orientation;
- for (contour = contour->next;
- contour != NULL && contour->type == GLU_INTERIOR;
- contour = contour->next) {
- if (contour->orientation == exterior_orientation) {
- tess_call_user_error(tobj, GLU_TESS_ERROR5);
- return;
- }
- }
- }
- /* now cut-out holes */
- for (contour = tobj->contours; contour != NULL;) {
- hole = contour->next;
- while (hole != NULL && hole->type == GLU_INTERIOR) {
- if (cut_out_hole(tobj, contour, hole) == GLU_ERROR)
- return;
- hole = contour->next;
- }
- contour = contour->next;
- }
-}
-
-static GLenum
-cut_out_hole(GLUtriangulatorObj * tobj,
- tess_contour * contour, tess_contour * hole)
-{
- tess_contour *tmp_hole;
- tess_vertex *v1, *v2, *tmp_vertex;
- GLuint vertex1_cnt, vertex2_cnt, tmp_vertex_cnt;
- GLuint i, j, k;
- GLenum test = 0;
-
- /* find an edge connecting contour and hole not intersecting any other */
- /* edge belonging to either the contour or any of the other holes */
- for (v1 = contour->vertices, vertex1_cnt = contour->vertex_cnt, i = 0;
- i < vertex1_cnt; i++, v1 = v1->next) {
- for (v2 = hole->vertices, vertex2_cnt = hole->vertex_cnt, j = 0;
- j < vertex2_cnt; j++, v2 = v2->next) {
- /* does edge (v1,v2) intersect any edge of contour */
- for (tmp_vertex = contour->vertices, tmp_vertex_cnt =
- contour->vertex_cnt, k = 0; k < tmp_vertex_cnt;
- tmp_vertex = tmp_vertex->next, k++) {
- /* skip edge tests for edges directly connected */
- if (v1 == tmp_vertex || v1 == tmp_vertex->next)
- continue;
- test = edge_edge_intersect(v1, v2, tmp_vertex, tmp_vertex->next);
- if (test != GLU_NO_ERROR)
- break;
- }
- if (test == GLU_NO_ERROR) {
- /* does edge (v1,v2) intersect any edge of hole */
- for (tmp_vertex = hole->vertices,
- tmp_vertex_cnt = hole->vertex_cnt, k = 0;
- k < tmp_vertex_cnt; tmp_vertex = tmp_vertex->next, k++) {
- /* skip edge tests for edges directly connected */
- if (v2 == tmp_vertex || v2 == tmp_vertex->next)
- continue;
- test =
- edge_edge_intersect(v1, v2, tmp_vertex, tmp_vertex->next);
- if (test != GLU_NO_ERROR)
- break;
- }
- if (test == GLU_NO_ERROR) {
- /* does edge (v1,v2) intersect any other hole? */
- for (tmp_hole = hole->next;
- tmp_hole != NULL && tmp_hole->type == GLU_INTERIOR;
- tmp_hole = tmp_hole->next) {
- /* does edge (v1,v2) intersect any edge of hole */
- for (tmp_vertex = tmp_hole->vertices,
- tmp_vertex_cnt = tmp_hole->vertex_cnt, k = 0;
- k < tmp_vertex_cnt; tmp_vertex = tmp_vertex->next, k++) {
- test = edge_edge_intersect(v1, v2, tmp_vertex,
- tmp_vertex->next);
- if (test != GLU_NO_ERROR)
- break;
- }
- if (test != GLU_NO_ERROR)
- break;
- }
- }
- }
- if (test == GLU_NO_ERROR) {
- /* edge (v1,v2) is good for eliminating the hole */
- if (merge_hole_with_contour(tobj, contour, hole, v1, v2)
- == GLU_NO_ERROR)
- return GLU_NO_ERROR;
- else
- return GLU_ERROR;
- }
- }
- }
- /* other holes are blocking all possible connections of hole */
- /* with contour, we shift this hole as the last hole and retry */
- for (tmp_hole = hole;
- tmp_hole != NULL && tmp_hole->type == GLU_INTERIOR;
- tmp_hole = tmp_hole->next);
- contour->next = hole->next;
- hole->next->previous = contour;
- if (tmp_hole == NULL) {
- /* last EXTERIOR contour, shift hole as last contour */
- hole->next = NULL;
- hole->previous = tobj->last_contour;
- tobj->last_contour->next = hole;
- tobj->last_contour = hole;
- }
- else {
- tmp_hole->previous->next = hole;
- hole->previous = tmp_hole->previous;
- tmp_hole->previous = hole;
- hole->next = tmp_hole;
- }
- hole = contour->next;
- /* try once again - recurse */
- return cut_out_hole(tobj, contour, hole);
-}
-
-static GLenum
-merge_hole_with_contour(GLUtriangulatorObj * tobj,
- tess_contour * contour,
- tess_contour * hole,
- tess_vertex * v1, tess_vertex * v2)
-{
- tess_vertex *v1_new, *v2_new;
-
- /* make copies of v1 and v2, place them respectively after their originals */
- if ((v1_new = (tess_vertex *) malloc(sizeof(tess_vertex))) == NULL) {
- tess_call_user_error(tobj, GLU_OUT_OF_MEMORY);
- return GLU_ERROR;
- }
- if ((v2_new = (tess_vertex *) malloc(sizeof(tess_vertex))) == NULL) {
- tess_call_user_error(tobj, GLU_OUT_OF_MEMORY);
- return GLU_ERROR;
- }
- v1_new->edge_flag = GL_TRUE;
- v1_new->data = v1->data;
- v1_new->location[0] = v1->location[0];
- v1_new->location[1] = v1->location[1];
- v1_new->location[2] = v1->location[2];
- v1_new->x = v1->x;
- v1_new->y = v1->y;
- v1_new->shadow_vertex = v1;
- v1->shadow_vertex = v1_new;
- v1_new->next = v1->next;
- v1_new->previous = v1;
- v1->next->previous = v1_new;
- v1->next = v1_new;
- v2_new->edge_flag = GL_TRUE;
- v2_new->data = v2->data;
- v2_new->location[0] = v2->location[0];
- v2_new->location[1] = v2->location[1];
- v2_new->location[2] = v2->location[2];
- v2_new->x = v2->x;
- v2_new->y = v2->y;
- v2_new->shadow_vertex = v2;
- v2->shadow_vertex = v2_new;
- v2_new->next = v2->next;
- v2_new->previous = v2;
- v2->next->previous = v2_new;
- v2->next = v2_new;
- /* link together the two lists */
- v1->next = v2_new;
- v2_new->previous = v1;
- v2->next = v1_new;
- v1_new->previous = v2;
- /* update the vertex count of the contour */
- contour->vertex_cnt += hole->vertex_cnt + 2;
- /* remove the INTERIOR contour */
- contour->next = hole->next;
- if (hole->next != NULL)
- hole->next->previous = contour;
- free(hole);
- /* update tobj structure */
- --(tobj->contour_cnt);
- if (contour->last_vertex == v1)
- contour->last_vertex = v1_new;
- /* mark two vertices with edge_flag */
- v2->edge_flag = GL_FALSE;
- v1->edge_flag = GL_FALSE;
- return GLU_NO_ERROR;
-}
diff --git a/src/glu/mesa/project.c b/src/glu/mesa/project.c
deleted file mode 100644
index 2e79cdf084..0000000000
--- a/src/glu/mesa/project.c
+++ /dev/null
@@ -1,403 +0,0 @@
-
-/*
- * Mesa 3-D graphics library
- * Version: 3.3
- * Copyright (C) 1995-2000 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-
-#ifdef PC_HEADER
-#include "all.h"
-#else
-#include <stdio.h>
-#include <string.h>
-#include <math.h>
-#include "gluP.h"
-#endif
-
-
-/*
- * This code was contributed by Marc Buffat (buffat@mecaflu.ec-lyon.fr).
- * Thanks Marc!!!
- */
-
-
-
-/* implementation de gluProject et gluUnproject */
-/* M. Buffat 17/2/95 */
-
-
-
-/*
- * Transform a point (column vector) by a 4x4 matrix. I.e. out = m * in
- * Input: m - the 4x4 matrix
- * in - the 4x1 vector
- * Output: out - the resulting 4x1 vector.
- */
-static void
-transform_point(GLdouble out[4], const GLdouble m[16], const GLdouble in[4])
-{
-#define M(row,col) m[col*4+row]
- out[0] =
- M(0, 0) * in[0] + M(0, 1) * in[1] + M(0, 2) * in[2] + M(0, 3) * in[3];
- out[1] =
- M(1, 0) * in[0] + M(1, 1) * in[1] + M(1, 2) * in[2] + M(1, 3) * in[3];
- out[2] =
- M(2, 0) * in[0] + M(2, 1) * in[1] + M(2, 2) * in[2] + M(2, 3) * in[3];
- out[3] =
- M(3, 0) * in[0] + M(3, 1) * in[1] + M(3, 2) * in[2] + M(3, 3) * in[3];
-#undef M
-}
-
-
-
-
-/*
- * Perform a 4x4 matrix multiplication (product = a x b).
- * Input: a, b - matrices to multiply
- * Output: product - product of a and b
- */
-static void
-matmul(GLdouble * product, const GLdouble * a, const GLdouble * b)
-{
- /* This matmul was contributed by Thomas Malik */
- GLdouble temp[16];
- GLint i;
-
-#define A(row,col) a[(col<<2)+row]
-#define B(row,col) b[(col<<2)+row]
-#define T(row,col) temp[(col<<2)+row]
-
- /* i-te Zeile */
- for (i = 0; i < 4; i++) {
- T(i, 0) =
- A(i, 0) * B(0, 0) + A(i, 1) * B(1, 0) + A(i, 2) * B(2, 0) + A(i,
- 3) *
- B(3, 0);
- T(i, 1) =
- A(i, 0) * B(0, 1) + A(i, 1) * B(1, 1) + A(i, 2) * B(2, 1) + A(i,
- 3) *
- B(3, 1);
- T(i, 2) =
- A(i, 0) * B(0, 2) + A(i, 1) * B(1, 2) + A(i, 2) * B(2, 2) + A(i,
- 3) *
- B(3, 2);
- T(i, 3) =
- A(i, 0) * B(0, 3) + A(i, 1) * B(1, 3) + A(i, 2) * B(2, 3) + A(i,
- 3) *
- B(3, 3);
- }
-
-#undef A
-#undef B
-#undef T
- MEMCPY(product, temp, 16 * sizeof(GLdouble));
-}
-
-
-
-/*
- * Compute inverse of 4x4 transformation matrix.
- * Code contributed by Jacques Leroy jle@star.be
- * Return GL_TRUE for success, GL_FALSE for failure (singular matrix)
- */
-static GLboolean
-invert_matrix(const GLdouble * m, GLdouble * out)
-{
-/* NB. OpenGL Matrices are COLUMN major. */
-#define SWAP_ROWS(a, b) { GLdouble *_tmp = a; (a)=(b); (b)=_tmp; }
-#define MAT(m,r,c) (m)[(c)*4+(r)]
-
- GLdouble wtmp[4][8];
- GLdouble m0, m1, m2, m3, s;
- GLdouble *r0, *r1, *r2, *r3;
-
- r0 = wtmp[0], r1 = wtmp[1], r2 = wtmp[2], r3 = wtmp[3];
-
- r0[0] = MAT(m, 0, 0), r0[1] = MAT(m, 0, 1),
- r0[2] = MAT(m, 0, 2), r0[3] = MAT(m, 0, 3),
- r0[4] = 1.0, r0[5] = r0[6] = r0[7] = 0.0,
- r1[0] = MAT(m, 1, 0), r1[1] = MAT(m, 1, 1),
- r1[2] = MAT(m, 1, 2), r1[3] = MAT(m, 1, 3),
- r1[5] = 1.0, r1[4] = r1[6] = r1[7] = 0.0,
- r2[0] = MAT(m, 2, 0), r2[1] = MAT(m, 2, 1),
- r2[2] = MAT(m, 2, 2), r2[3] = MAT(m, 2, 3),
- r2[6] = 1.0, r2[4] = r2[5] = r2[7] = 0.0,
- r3[0] = MAT(m, 3, 0), r3[1] = MAT(m, 3, 1),
- r3[2] = MAT(m, 3, 2), r3[3] = MAT(m, 3, 3),
- r3[7] = 1.0, r3[4] = r3[5] = r3[6] = 0.0;
-
- /* choose pivot - or die */
- if (fabs(r3[0]) > fabs(r2[0]))
- SWAP_ROWS(r3, r2);
- if (fabs(r2[0]) > fabs(r1[0]))
- SWAP_ROWS(r2, r1);
- if (fabs(r1[0]) > fabs(r0[0]))
- SWAP_ROWS(r1, r0);
- if (0.0 == r0[0])
- return GL_FALSE;
-
- /* eliminate first variable */
- m1 = r1[0] / r0[0];
- m2 = r2[0] / r0[0];
- m3 = r3[0] / r0[0];
- s = r0[1];
- r1[1] -= m1 * s;
- r2[1] -= m2 * s;
- r3[1] -= m3 * s;
- s = r0[2];
- r1[2] -= m1 * s;
- r2[2] -= m2 * s;
- r3[2] -= m3 * s;
- s = r0[3];
- r1[3] -= m1 * s;
- r2[3] -= m2 * s;
- r3[3] -= m3 * s;
- s = r0[4];
- if (s != 0.0) {
- r1[4] -= m1 * s;
- r2[4] -= m2 * s;
- r3[4] -= m3 * s;
- }
- s = r0[5];
- if (s != 0.0) {
- r1[5] -= m1 * s;
- r2[5] -= m2 * s;
- r3[5] -= m3 * s;
- }
- s = r0[6];
- if (s != 0.0) {
- r1[6] -= m1 * s;
- r2[6] -= m2 * s;
- r3[6] -= m3 * s;
- }
- s = r0[7];
- if (s != 0.0) {
- r1[7] -= m1 * s;
- r2[7] -= m2 * s;
- r3[7] -= m3 * s;
- }
-
- /* choose pivot - or die */
- if (fabs(r3[1]) > fabs(r2[1]))
- SWAP_ROWS(r3, r2);
- if (fabs(r2[1]) > fabs(r1[1]))
- SWAP_ROWS(r2, r1);
- if (0.0 == r1[1])
- return GL_FALSE;
-
- /* eliminate second variable */
- m2 = r2[1] / r1[1];
- m3 = r3[1] / r1[1];
- r2[2] -= m2 * r1[2];
- r3[2] -= m3 * r1[2];
- r2[3] -= m2 * r1[3];
- r3[3] -= m3 * r1[3];
- s = r1[4];
- if (0.0 != s) {
- r2[4] -= m2 * s;
- r3[4] -= m3 * s;
- }
- s = r1[5];
- if (0.0 != s) {
- r2[5] -= m2 * s;
- r3[5] -= m3 * s;
- }
- s = r1[6];
- if (0.0 != s) {
- r2[6] -= m2 * s;
- r3[6] -= m3 * s;
- }
- s = r1[7];
- if (0.0 != s) {
- r2[7] -= m2 * s;
- r3[7] -= m3 * s;
- }
-
- /* choose pivot - or die */
- if (fabs(r3[2]) > fabs(r2[2]))
- SWAP_ROWS(r3, r2);
- if (0.0 == r2[2])
- return GL_FALSE;
-
- /* eliminate third variable */
- m3 = r3[2] / r2[2];
- r3[3] -= m3 * r2[3], r3[4] -= m3 * r2[4],
- r3[5] -= m3 * r2[5], r3[6] -= m3 * r2[6], r3[7] -= m3 * r2[7];
-
- /* last check */
- if (0.0 == r3[3])
- return GL_FALSE;
-
- s = 1.0 / r3[3]; /* now back substitute row 3 */
- r3[4] *= s;
- r3[5] *= s;
- r3[6] *= s;
- r3[7] *= s;
-
- m2 = r2[3]; /* now back substitute row 2 */
- s = 1.0 / r2[2];
- r2[4] = s * (r2[4] - r3[4] * m2), r2[5] = s * (r2[5] - r3[5] * m2),
- r2[6] = s * (r2[6] - r3[6] * m2), r2[7] = s * (r2[7] - r3[7] * m2);
- m1 = r1[3];
- r1[4] -= r3[4] * m1, r1[5] -= r3[5] * m1,
- r1[6] -= r3[6] * m1, r1[7] -= r3[7] * m1;
- m0 = r0[3];
- r0[4] -= r3[4] * m0, r0[5] -= r3[5] * m0,
- r0[6] -= r3[6] * m0, r0[7] -= r3[7] * m0;
-
- m1 = r1[2]; /* now back substitute row 1 */
- s = 1.0 / r1[1];
- r1[4] = s * (r1[4] - r2[4] * m1), r1[5] = s * (r1[5] - r2[5] * m1),
- r1[6] = s * (r1[6] - r2[6] * m1), r1[7] = s * (r1[7] - r2[7] * m1);
- m0 = r0[2];
- r0[4] -= r2[4] * m0, r0[5] -= r2[5] * m0,
- r0[6] -= r2[6] * m0, r0[7] -= r2[7] * m0;
-
- m0 = r0[1]; /* now back substitute row 0 */
- s = 1.0 / r0[0];
- r0[4] = s * (r0[4] - r1[4] * m0), r0[5] = s * (r0[5] - r1[5] * m0),
- r0[6] = s * (r0[6] - r1[6] * m0), r0[7] = s * (r0[7] - r1[7] * m0);
-
- MAT(out, 0, 0) = r0[4];
- MAT(out, 0, 1) = r0[5], MAT(out, 0, 2) = r0[6];
- MAT(out, 0, 3) = r0[7], MAT(out, 1, 0) = r1[4];
- MAT(out, 1, 1) = r1[5], MAT(out, 1, 2) = r1[6];
- MAT(out, 1, 3) = r1[7], MAT(out, 2, 0) = r2[4];
- MAT(out, 2, 1) = r2[5], MAT(out, 2, 2) = r2[6];
- MAT(out, 2, 3) = r2[7], MAT(out, 3, 0) = r3[4];
- MAT(out, 3, 1) = r3[5], MAT(out, 3, 2) = r3[6];
- MAT(out, 3, 3) = r3[7];
-
- return GL_TRUE;
-
-#undef MAT
-#undef SWAP_ROWS
-}
-
-
-
-/* projection du point (objx,objy,obz) sur l'ecran (winx,winy,winz) */
-GLint GLAPIENTRY
-gluProject(GLdouble objx, GLdouble objy, GLdouble objz,
- const GLdouble model[16], const GLdouble proj[16],
- const GLint viewport[4],
- GLdouble * winx, GLdouble * winy, GLdouble * winz)
-{
- /* matrice de transformation */
- GLdouble in[4], out[4];
-
- /* initilise la matrice et le vecteur a transformer */
- in[0] = objx;
- in[1] = objy;
- in[2] = objz;
- in[3] = 1.0;
- transform_point(out, model, in);
- transform_point(in, proj, out);
-
- /* d'ou le resultat normalise entre -1 et 1 */
- if (in[3] == 0.0)
- return GL_FALSE;
-
- in[0] /= in[3];
- in[1] /= in[3];
- in[2] /= in[3];
-
- /* en coordonnees ecran */
- *winx = viewport[0] + (1 + in[0]) * viewport[2] / 2;
- *winy = viewport[1] + (1 + in[1]) * viewport[3] / 2;
- /* entre 0 et 1 suivant z */
- *winz = (1 + in[2]) / 2;
- return GL_TRUE;
-}
-
-
-
-/* transformation du point ecran (winx,winy,winz) en point objet */
-GLint GLAPIENTRY
-gluUnProject(GLdouble winx, GLdouble winy, GLdouble winz,
- const GLdouble model[16], const GLdouble proj[16],
- const GLint viewport[4],
- GLdouble * objx, GLdouble * objy, GLdouble * objz)
-{
- /* matrice de transformation */
- GLdouble m[16], A[16];
- GLdouble in[4], out[4];
-
- /* transformation coordonnees normalisees entre -1 et 1 */
- in[0] = (winx - viewport[0]) * 2 / viewport[2] - 1.0;
- in[1] = (winy - viewport[1]) * 2 / viewport[3] - 1.0;
- in[2] = 2 * winz - 1.0;
- in[3] = 1.0;
-
- /* calcul transformation inverse */
- matmul(A, proj, model);
- if (!invert_matrix(A, m))
- return GL_FALSE;
-
- /* d'ou les coordonnees objets */
- transform_point(out, m, in);
- if (out[3] == 0.0)
- return GL_FALSE;
- *objx = out[0] / out[3];
- *objy = out[1] / out[3];
- *objz = out[2] / out[3];
- return GL_TRUE;
-}
-
-
-/*
- * New in GLU 1.3
- * This is like gluUnProject but also takes near and far DepthRange values.
- */
-#ifdef GLU_VERSION_1_3
-GLint GLAPIENTRY
-gluUnProject4(GLdouble winx, GLdouble winy, GLdouble winz, GLdouble clipw,
- const GLdouble modelMatrix[16],
- const GLdouble projMatrix[16],
- const GLint viewport[4],
- GLclampd nearZ, GLclampd farZ,
- GLdouble * objx, GLdouble * objy, GLdouble * objz,
- GLdouble * objw)
-{
- /* matrice de transformation */
- GLdouble m[16], A[16];
- GLdouble in[4], out[4];
- GLdouble z = nearZ + winz * (farZ - nearZ);
-
- /* transformation coordonnees normalisees entre -1 et 1 */
- in[0] = (winx - viewport[0]) * 2 / viewport[2] - 1.0;
- in[1] = (winy - viewport[1]) * 2 / viewport[3] - 1.0;
- in[2] = 2.0 * z - 1.0;
- in[3] = clipw;
-
- /* calcul transformation inverse */
- matmul(A, projMatrix, modelMatrix);
- if (!invert_matrix(A, m))
- return GL_FALSE;
-
- /* d'ou les coordonnees objets */
- transform_point(out, m, in);
- if (out[3] == 0.0)
- return GL_FALSE;
- *objx = out[0] / out[3];
- *objy = out[1] / out[3];
- *objz = out[2] / out[3];
- *objw = out[3];
- return GL_TRUE;
-}
-#endif
diff --git a/src/glu/mesa/quadric.c b/src/glu/mesa/quadric.c
deleted file mode 100644
index 0f6889b284..0000000000
--- a/src/glu/mesa/quadric.c
+++ /dev/null
@@ -1,819 +0,0 @@
-
-/*
- * Mesa 3-D graphics library
- * Version: 3.3
- * Copyright (C) 1999-2000 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-
-/* TODO:
- * texture coordinate support
- * flip normals according to orientation
- * there's still some inside/outside orientation bugs in possibly all
- * but the sphere function
- */
-
-
-#ifdef PC_HEADER
-#include "all.h"
-#else
-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include "gluP.h"
-#endif
-
-
-
-#ifndef M_PI
-# define M_PI (3.1415926)
-#endif
-
-
-/*
- * Convert degrees to radians:
- */
-#define DEG_TO_RAD(A) ((A)*(M_PI/180.0))
-
-
-/*
- * Sin and Cos for degree angles:
- */
-#define SIND( A ) sin( (A)*(M_PI/180.0) )
-#define COSD( A) cos( (A)*(M_PI/180.0) )
-
-
-/*
- * Texture coordinates if texture flag is set
- */
-#define TXTR_COORD(x,y) if (qobj->TextureFlag) glTexCoord2f(x,y);
-
-
-
-struct GLUquadric
-{
- GLenum DrawStyle; /* GLU_FILL, LINE, SILHOUETTE, or POINT */
- GLenum Orientation; /* GLU_INSIDE or GLU_OUTSIDE */
- GLboolean TextureFlag; /* Generate texture coords? */
- GLenum Normals; /* GLU_NONE, GLU_FLAT, or GLU_SMOOTH */
- void (GLCALLBACK * ErrorFunc) (GLenum err); /* Error handler callback function */
-};
-
-
-
-/*
- * Process a GLU error.
- */
-static void
-quadric_error(GLUquadricObj * qobj, GLenum error, const char *msg)
-{
- /* Call the error call back function if any */
- if (qobj->ErrorFunc) {
- (*qobj->ErrorFunc) (error);
- }
- /* Print a message to stdout if MESA_DEBUG variable is defined */
- if (getenv("MESA_DEBUG")) {
- fprintf(stderr, "GLUError: %s: %s\n", (char *) gluErrorString(error),
- msg);
- }
-}
-
-
-
-
-GLUquadricObj *GLAPIENTRY
-gluNewQuadric(void)
-{
- GLUquadricObj *q;
-
- q = (GLUquadricObj *) malloc(sizeof(struct GLUquadric));
- if (q) {
- q->DrawStyle = GLU_FILL;
- q->Orientation = GLU_OUTSIDE;
- q->TextureFlag = GL_FALSE;
- q->Normals = GLU_SMOOTH;
- q->ErrorFunc = NULL;
- }
- return q;
-}
-
-
-
-void GLAPIENTRY
-gluDeleteQuadric(GLUquadricObj * state)
-{
- if (state) {
- free((void *) state);
- }
-}
-
-
-
-/*
- * Set the drawing style to be GLU_FILL, GLU_LINE, GLU_SILHOUETTE,
- * or GLU_POINT.
- */
-void GLAPIENTRY
-gluQuadricDrawStyle(GLUquadricObj * quadObject, GLenum drawStyle)
-{
- if (quadObject && (drawStyle == GLU_FILL || drawStyle == GLU_LINE
- || drawStyle == GLU_SILHOUETTE
- || drawStyle == GLU_POINT)) {
- quadObject->DrawStyle = drawStyle;
- }
- else {
- quadric_error(quadObject, GLU_INVALID_ENUM, "qluQuadricDrawStyle");
- }
-}
-
-
-
-/*
- * Set the orientation to GLU_INSIDE or GLU_OUTSIDE.
- */
-void GLAPIENTRY
-gluQuadricOrientation(GLUquadricObj * quadObject, GLenum orientation)
-{
- if (quadObject
- && (orientation == GLU_INSIDE || orientation == GLU_OUTSIDE)) {
- quadObject->Orientation = orientation;
- }
- else {
- quadric_error(quadObject, GLU_INVALID_ENUM, "qluQuadricOrientation");
- }
-}
-
-
-
-/*
- * Set the error handler callback function.
- */
-void GLAPIENTRY
-gluQuadricCallback(GLUquadricObj * qobj,
- GLenum which, void (GLCALLBACK * fn) ())
-{
- /*
- * UGH, this is a mess! I thought ANSI was a standard.
- */
- if (qobj && which == GLU_ERROR) {
-#ifdef __CYGWIN32__
- qobj->ErrorFunc = (void (GLCALLBACKPCAST) (GLenum)) fn;
-#elif defined(OPENSTEP)
- qobj->ErrorFunc = (void (*)(GLenum)) fn;
-#elif defined(_WIN32)
- qobj->ErrorFunc = (void (GLCALLBACK *) (int)) fn;
-#elif defined(__STORM__)
- qobj->ErrorFunc = (void (GLCALLBACK *) (GLenum)) fn;
-#elif defined(__BEOS__)
- qobj->ErrorFunc = (void (*)(GLenum)) fn;
-#else
- qobj->ErrorFunc = (void (GLCALLBACK *) ()) fn;
-#endif
- }
-}
-
-
-void GLAPIENTRY
-gluQuadricNormals(GLUquadricObj * quadObject, GLenum normals)
-{
- if (quadObject
- && (normals == GLU_NONE || normals == GLU_FLAT
- || normals == GLU_SMOOTH)) {
- quadObject->Normals = normals;
- }
-}
-
-
-void GLAPIENTRY
-gluQuadricTexture(GLUquadricObj * quadObject, GLboolean textureCoords)
-{
- if (quadObject) {
- quadObject->TextureFlag = textureCoords;
- }
-}
-
-
-
-
-/*
- * Call glNormal3f after scaling normal to unit length.
- */
-static void
-normal3f(GLfloat x, GLfloat y, GLfloat z)
-{
- GLdouble mag;
-
- mag = sqrt(x * x + y * y + z * z);
- if (mag > 0.00001F) {
- x /= mag;
- y /= mag;
- z /= mag;
- }
- glNormal3f(x, y, z);
-}
-
-
-
-void GLAPIENTRY
-gluCylinder(GLUquadricObj * qobj,
- GLdouble baseRadius, GLdouble topRadius,
- GLdouble height, GLint slices, GLint stacks)
-{
- GLdouble da, r, dr, dz;
- GLfloat x, y, z, nz, nsign;
- GLint i, j;
-
- if (qobj->Orientation == GLU_INSIDE) {
- nsign = -1.0;
- }
- else {
- nsign = 1.0;
- }
-
- da = 2.0 * M_PI / slices;
- dr = (topRadius - baseRadius) / stacks;
- dz = height / stacks;
- nz = (baseRadius - topRadius) / height; /* Z component of normal vectors */
-
- if (qobj->DrawStyle == GLU_POINT) {
- glBegin(GL_POINTS);
- for (i = 0; i < slices; i++) {
- x = cos(i * da);
- y = sin(i * da);
- normal3f(x * nsign, y * nsign, nz * nsign);
-
- z = 0.0;
- r = baseRadius;
- for (j = 0; j <= stacks; j++) {
- glVertex3f(x * r, y * r, z);
- z += dz;
- r += dr;
- }
- }
- glEnd();
- }
- else if (qobj->DrawStyle == GLU_LINE || qobj->DrawStyle == GLU_SILHOUETTE) {
- /* Draw rings */
- if (qobj->DrawStyle == GLU_LINE) {
- z = 0.0;
- r = baseRadius;
- for (j = 0; j <= stacks; j++) {
- glBegin(GL_LINE_LOOP);
- for (i = 0; i < slices; i++) {
- x = cos(i * da);
- y = sin(i * da);
- normal3f(x * nsign, y * nsign, nz * nsign);
- glVertex3f(x * r, y * r, z);
- }
- glEnd();
- z += dz;
- r += dr;
- }
- }
- else {
- /* draw one ring at each end */
- if (baseRadius != 0.0) {
- glBegin(GL_LINE_LOOP);
- for (i = 0; i < slices; i++) {
- x = cos(i * da);
- y = sin(i * da);
- normal3f(x * nsign, y * nsign, nz * nsign);
- glVertex3f(x * baseRadius, y * baseRadius, 0.0);
- }
- glEnd();
- glBegin(GL_LINE_LOOP);
- for (i = 0; i < slices; i++) {
- x = cos(i * da);
- y = sin(i * da);
- normal3f(x * nsign, y * nsign, nz * nsign);
- glVertex3f(x * topRadius, y * topRadius, height);
- }
- glEnd();
- }
- }
- /* draw length lines */
- glBegin(GL_LINES);
- for (i = 0; i < slices; i++) {
- x = cos(i * da);
- y = sin(i * da);
- normal3f(x * nsign, y * nsign, nz * nsign);
- glVertex3f(x * baseRadius, y * baseRadius, 0.0);
- glVertex3f(x * topRadius, y * topRadius, height);
- }
- glEnd();
- }
- else if (qobj->DrawStyle == GLU_FILL) {
- GLfloat ds = 1.0 / slices;
- GLfloat dt = 1.0 / stacks;
- GLfloat t = 0.0;
- z = 0.0;
- r = baseRadius;
- for (j = 0; j < stacks; j++) {
- GLfloat s = 0.0;
- glBegin(GL_QUAD_STRIP);
- for (i = 0; i <= slices; i++) {
- GLfloat x, y;
- if (i == slices) {
- x = sin(0.0);
- y = cos(0.0);
- }
- else {
- x = sin(i * da);
- y = cos(i * da);
- }
- if (nsign == 1.0) {
- normal3f(x * nsign, y * nsign, nz * nsign);
- TXTR_COORD(s, t);
- glVertex3f(x * r, y * r, z);
- normal3f(x * nsign, y * nsign, nz * nsign);
- TXTR_COORD(s, t + dt);
- glVertex3f(x * (r + dr), y * (r + dr), z + dz);
- }
- else {
- normal3f(x * nsign, y * nsign, nz * nsign);
- TXTR_COORD(s, t);
- glVertex3f(x * r, y * r, z);
- normal3f(x * nsign, y * nsign, nz * nsign);
- TXTR_COORD(s, t + dt);
- glVertex3f(x * (r + dr), y * (r + dr), z + dz);
- }
- s += ds;
- } /* for slices */
- glEnd();
- r += dr;
- t += dt;
- z += dz;
- } /* for stacks */
- }
-}
-
-
-
-
-
-void GLAPIENTRY
-gluSphere(GLUquadricObj * qobj, GLdouble radius, GLint slices, GLint stacks)
-{
- GLfloat rho, drho, theta, dtheta;
- GLfloat x, y, z;
- GLfloat s, t, ds, dt;
- GLint i, j, imin, imax;
- GLboolean normals;
- GLfloat nsign;
-
- if (qobj->Normals == GLU_NONE) {
- normals = GL_FALSE;
- }
- else {
- normals = GL_TRUE;
- }
- if (qobj->Orientation == GLU_INSIDE) {
- nsign = -1.0;
- }
- else {
- nsign = 1.0;
- }
-
- drho = M_PI / (GLfloat) stacks;
- dtheta = 2.0 * M_PI / (GLfloat) slices;
-
- /* texturing: s goes from 0.0/0.25/0.5/0.75/1.0 at +y/+x/-y/-x/+y axis */
- /* t goes from -1.0/+1.0 at z = -radius/+radius (linear along longitudes) */
- /* cannot use triangle fan on texturing (s coord. at top/bottom tip varies) */
-
- if (qobj->DrawStyle == GLU_FILL) {
- if (!qobj->TextureFlag) {
- /* draw +Z end as a triangle fan */
- glBegin(GL_TRIANGLE_FAN);
- glNormal3f(0.0, 0.0, 1.0);
- glVertex3f(0.0, 0.0, nsign * radius);
- for (j = 0; j <= slices; j++) {
- theta = (j == slices) ? 0.0 : j * dtheta;
- x = -sin(theta) * sin(drho);
- y = cos(theta) * sin(drho);
- z = nsign * cos(drho);
- if (normals)
- glNormal3f(x * nsign, y * nsign, z * nsign);
- glVertex3f(x * radius, y * radius, z * radius);
- }
- glEnd();
- }
-
- ds = 1.0 / slices;
- dt = 1.0 / stacks;
- t = 1.0; /* because loop now runs from 0 */
- if (qobj->TextureFlag) {
- imin = 0;
- imax = stacks;
- }
- else {
- imin = 1;
- imax = stacks - 1;
- }
-
- /* draw intermediate stacks as quad strips */
- for (i = imin; i < imax; i++) {
- rho = i * drho;
- glBegin(GL_QUAD_STRIP);
- s = 0.0;
- for (j = 0; j <= slices; j++) {
- theta = (j == slices) ? 0.0 : j * dtheta;
- x = -sin(theta) * sin(rho);
- y = cos(theta) * sin(rho);
- z = nsign * cos(rho);
- if (normals)
- glNormal3f(x * nsign, y * nsign, z * nsign);
- TXTR_COORD(s, t);
- glVertex3f(x * radius, y * radius, z * radius);
- x = -sin(theta) * sin(rho + drho);
- y = cos(theta) * sin(rho + drho);
- z = nsign * cos(rho + drho);
- if (normals)
- glNormal3f(x * nsign, y * nsign, z * nsign);
- TXTR_COORD(s, t - dt);
- s += ds;
- glVertex3f(x * radius, y * radius, z * radius);
- }
- glEnd();
- t -= dt;
- }
-
- if (!qobj->TextureFlag) {
- /* draw -Z end as a triangle fan */
- glBegin(GL_TRIANGLE_FAN);
- glNormal3f(0.0, 0.0, -1.0);
- glVertex3f(0.0, 0.0, -radius * nsign);
- rho = M_PI - drho;
- s = 1.0;
- t = dt;
- for (j = slices; j >= 0; j--) {
- theta = (j == slices) ? 0.0 : j * dtheta;
- x = -sin(theta) * sin(rho);
- y = cos(theta) * sin(rho);
- z = nsign * cos(rho);
- if (normals)
- glNormal3f(x * nsign, y * nsign, z * nsign);
- s -= ds;
- glVertex3f(x * radius, y * radius, z * radius);
- }
- glEnd();
- }
- }
- else if (qobj->DrawStyle == GLU_LINE || qobj->DrawStyle == GLU_SILHOUETTE) {
- /* draw stack lines */
- for (i = 1; i < stacks; i++) { /* stack line at i==stacks-1 was missing here */
- rho = i * drho;
- glBegin(GL_LINE_LOOP);
- for (j = 0; j < slices; j++) {
- theta = j * dtheta;
- x = cos(theta) * sin(rho);
- y = sin(theta) * sin(rho);
- z = cos(rho);
- if (normals)
- glNormal3f(x * nsign, y * nsign, z * nsign);
- glVertex3f(x * radius, y * radius, z * radius);
- }
- glEnd();
- }
- /* draw slice lines */
- for (j = 0; j < slices; j++) {
- theta = j * dtheta;
- glBegin(GL_LINE_STRIP);
- for (i = 0; i <= stacks; i++) {
- rho = i * drho;
- x = cos(theta) * sin(rho);
- y = sin(theta) * sin(rho);
- z = cos(rho);
- if (normals)
- glNormal3f(x * nsign, y * nsign, z * nsign);
- glVertex3f(x * radius, y * radius, z * radius);
- }
- glEnd();
- }
- }
- else if (qobj->DrawStyle == GLU_POINT) {
- /* top and bottom-most points */
- glBegin(GL_POINTS);
- if (normals)
- glNormal3f(0.0, 0.0, nsign);
- glVertex3d(0.0, 0.0, radius);
- if (normals)
- glNormal3f(0.0, 0.0, -nsign);
- glVertex3d(0.0, 0.0, -radius);
-
- /* loop over stacks */
- for (i = 1; i < stacks - 1; i++) {
- rho = i * drho;
- for (j = 0; j < slices; j++) {
- theta = j * dtheta;
- x = cos(theta) * sin(rho);
- y = sin(theta) * sin(rho);
- z = cos(rho);
- if (normals)
- glNormal3f(x * nsign, y * nsign, z * nsign);
- glVertex3f(x * radius, y * radius, z * radius);
- }
- }
- glEnd();
- }
-
-}
-
-
-
-void GLAPIENTRY
-gluDisk(GLUquadricObj * qobj,
- GLdouble innerRadius, GLdouble outerRadius, GLint slices, GLint loops)
-{
- GLfloat da, dr;
-#if 0
- GLdouble a, da;
- GLfloat r, dr;
- GLfloat x, y;
- GLfloat r1, r2, dtc;
- GLint s, l;
-#endif
-
- /* Normal vectors */
- if (qobj->Normals != GLU_NONE) {
- if (qobj->Orientation == GLU_OUTSIDE) {
- glNormal3f(0.0, 0.0, +1.0);
- }
- else {
- glNormal3f(0.0, 0.0, -1.0);
- }
- }
-
- da = 2.0 * M_PI / slices;
- dr = (outerRadius - innerRadius) / (GLfloat) loops;
-
- switch (qobj->DrawStyle) {
- case GLU_FILL:
- {
- /* texture of a gluDisk is a cut out of the texture unit square
- * x, y in [-outerRadius, +outerRadius]; s, t in [0, 1]
- * (linear mapping)
- */
- GLfloat dtc = 2.0f * outerRadius;
- GLfloat sa, ca;
- GLfloat r1 = innerRadius;
- GLint l;
- for (l = 0; l < loops; l++) {
- GLfloat r2 = r1 + dr;
- if (qobj->Orientation == GLU_OUTSIDE) {
- GLint s;
- glBegin(GL_QUAD_STRIP);
- for (s = 0; s <= slices; s++) {
- GLfloat a;
- if (s == slices)
- a = 0.0;
- else
- a = s * da;
- sa = sin(a);
- ca = cos(a);
- TXTR_COORD(0.5 + sa * r2 / dtc, 0.5 + ca * r2 / dtc);
- glVertex2f(r2 * sa, r2 * ca);
- TXTR_COORD(0.5 + sa * r1 / dtc, 0.5 + ca * r1 / dtc);
- glVertex2f(r1 * sa, r1 * ca);
- }
- glEnd();
- }
- else {
- GLint s;
- glBegin(GL_QUAD_STRIP);
- for (s = slices; s >= 0; s--) {
- GLfloat a;
- if (s == slices)
- a = 0.0;
- else
- a = s * da;
- sa = sin(a);
- ca = cos(a);
- TXTR_COORD(0.5 - sa * r2 / dtc, 0.5 + ca * r2 / dtc);
- glVertex2f(r2 * sa, r2 * ca);
- TXTR_COORD(0.5 - sa * r1 / dtc, 0.5 + ca * r1 / dtc);
- glVertex2f(r1 * sa, r1 * ca);
- }
- glEnd();
- }
- r1 = r2;
- }
- break;
- }
- case GLU_LINE:
- {
- GLint l, s;
- /* draw loops */
- for (l = 0; l <= loops; l++) {
- GLfloat r = innerRadius + l * dr;
- glBegin(GL_LINE_LOOP);
- for (s = 0; s < slices; s++) {
- GLfloat a = s * da;
- glVertex2f(r * sin(a), r * cos(a));
- }
- glEnd();
- }
- /* draw spokes */
- for (s = 0; s < slices; s++) {
- GLfloat a = s * da;
- GLfloat x = sin(a);
- GLfloat y = cos(a);
- glBegin(GL_LINE_STRIP);
- for (l = 0; l <= loops; l++) {
- GLfloat r = innerRadius + l * dr;
- glVertex2f(r * x, r * y);
- }
- glEnd();
- }
- break;
- }
- case GLU_POINT:
- {
- GLint s;
- glBegin(GL_POINTS);
- for (s = 0; s < slices; s++) {
- GLfloat a = s * da;
- GLfloat x = sin(a);
- GLfloat y = cos(a);
- GLint l;
- for (l = 0; l <= loops; l++) {
- GLfloat r = innerRadius * l * dr;
- glVertex2f(r * x, r * y);
- }
- }
- glEnd();
- break;
- }
- case GLU_SILHOUETTE:
- {
- if (innerRadius != 0.0) {
- GLfloat a;
- glBegin(GL_LINE_LOOP);
- for (a = 0.0; a < 2.0 * M_PI; a += da) {
- GLfloat x = innerRadius * sin(a);
- GLfloat y = innerRadius * cos(a);
- glVertex2f(x, y);
- }
- glEnd();
- }
- {
- GLfloat a;
- glBegin(GL_LINE_LOOP);
- for (a = 0; a < 2.0 * M_PI; a += da) {
- GLfloat x = outerRadius * sin(a);
- GLfloat y = outerRadius * cos(a);
- glVertex2f(x, y);
- }
- glEnd();
- }
- break;
- }
- default:
- abort();
- }
-}
-
-
-
-void GLAPIENTRY
-gluPartialDisk(GLUquadricObj * qobj, GLdouble innerRadius,
- GLdouble outerRadius, GLint slices, GLint loops,
- GLdouble startAngle, GLdouble sweepAngle)
-{
- if (qobj->Normals != GLU_NONE) {
- if (qobj->Orientation == GLU_OUTSIDE) {
- glNormal3f(0.0, 0.0, +1.0);
- }
- else {
- glNormal3f(0.0, 0.0, -1.0);
- }
- }
-
- if (qobj->DrawStyle == GLU_POINT) {
- GLint loop, slice;
- GLdouble radius, delta_radius;
- GLdouble angle, delta_angle;
- delta_radius = (outerRadius - innerRadius) / (loops - 1);
- delta_angle = DEG_TO_RAD((sweepAngle) / (slices - 1));
- glBegin(GL_POINTS);
- radius = innerRadius;
- for (loop = 0; loop < loops; loop++) {
- angle = DEG_TO_RAD(startAngle);
- for (slice = 0; slice < slices; slice++) {
- glVertex2d(radius * sin(angle), radius * cos(angle));
- angle += delta_angle;
- }
- radius += delta_radius;
- }
- glEnd();
- }
- else if (qobj->DrawStyle == GLU_LINE) {
- GLint loop, slice;
- GLdouble radius, delta_radius;
- GLdouble angle, delta_angle;
- delta_radius = (outerRadius - innerRadius) / loops;
- delta_angle = DEG_TO_RAD(sweepAngle / slices);
- /* draw rings */
- radius = innerRadius;
- for (loop = 0; loop < loops; loop++) {
- angle = DEG_TO_RAD(startAngle);
- glBegin(GL_LINE_STRIP);
- for (slice = 0; slice <= slices; slice++) {
- glVertex2d(radius * sin(angle), radius * cos(angle));
- angle += delta_angle;
- }
- glEnd();
- radius += delta_radius;
- }
- /* draw spokes */
- angle = DEG_TO_RAD(startAngle);
- for (slice = 0; slice <= slices; slice++) {
- radius = innerRadius;
- glBegin(GL_LINE_STRIP);
- for (loop = 0; loop < loops; loop++) {
- glVertex2d(radius * sin(angle), radius * cos(angle));
- radius += delta_radius;
- }
- glEnd();
- angle += delta_angle;
- }
- }
- else if (qobj->DrawStyle == GLU_SILHOUETTE) {
- GLint slice;
- GLdouble angle, delta_angle;
- delta_angle = DEG_TO_RAD(sweepAngle / slices);
- /* draw outer ring */
- glBegin(GL_LINE_STRIP);
- angle = DEG_TO_RAD(startAngle);
- for (slice = 0; slice <= slices; slice++) {
- glVertex2d(outerRadius * sin(angle), outerRadius * cos(angle));
- angle += delta_angle;
- }
- glEnd();
- /* draw inner ring */
- if (innerRadius > 0.0) {
- glBegin(GL_LINE_STRIP);
- angle = DEG_TO_RAD(startAngle);
- for (slice = 0; slice < slices; slice++) {
- glVertex2d(innerRadius * sin(angle), innerRadius * cos(angle));
- angle += delta_angle;
- }
- glEnd();
- }
- /* draw spokes */
- if (sweepAngle < 360.0) {
- GLdouble stopAngle = startAngle + sweepAngle;
- glBegin(GL_LINES);
- glVertex2d(innerRadius * SIND(startAngle),
- innerRadius * COSD(startAngle));
- glVertex2d(outerRadius * SIND(startAngle),
- outerRadius * COSD(startAngle));
- glVertex2d(innerRadius * SIND(stopAngle),
- innerRadius * COSD(stopAngle));
- glVertex2d(outerRadius * SIND(stopAngle),
- outerRadius * COSD(stopAngle));
- glEnd();
- }
- }
- else if (qobj->DrawStyle == GLU_FILL) {
- GLint loop, slice;
- GLdouble radius, delta_radius;
- GLdouble angle, delta_angle;
- delta_radius = (outerRadius - innerRadius) / loops;
- delta_angle = DEG_TO_RAD(sweepAngle / slices);
- radius = innerRadius;
- for (loop = 0; loop < loops; loop++) {
- glBegin(GL_QUAD_STRIP);
- angle = DEG_TO_RAD(startAngle);
- for (slice = 0; slice <= slices; slice++) {
- if (qobj->Orientation == GLU_OUTSIDE) {
- glVertex2d((radius + delta_radius) * sin(angle),
- (radius + delta_radius) * cos(angle));
- glVertex2d(radius * sin(angle), radius * cos(angle));
- }
- else {
- glVertex2d(radius * sin(angle), radius * cos(angle));
- glVertex2d((radius + delta_radius) * sin(angle),
- (radius + delta_radius) * cos(angle));
- }
- angle += delta_angle;
- }
- glEnd();
- radius += delta_radius;
- }
- }
-}
diff --git a/src/glu/mesa/tess.c b/src/glu/mesa/tess.c
deleted file mode 100644
index 341d29bae3..0000000000
--- a/src/glu/mesa/tess.c
+++ /dev/null
@@ -1,327 +0,0 @@
-
-/*
- * Mesa 3-D graphics library
- * Version: 3.3
- * Copyright (C) 1995-2000 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-
-/*
- * This file is part of the polygon tesselation code contributed by
- * Bogdan Sikorski
- */
-
-
-#ifdef PC_HEADER
-#include "all.h"
-#else
-#include <math.h>
-#include <stdlib.h>
-#include "tess.h"
-#endif
-
-
-/*
- * This is ugly, but seems the easiest way to do things to make the
- * code work under YellowBox for Windows
- */
-#if defined(OPENSTEP) && defined(CALLBACK)
-#undef CALLBACK
-#define CALLBACK
-#endif
-
-
-static void delete_contours(GLUtriangulatorObj *);
-
-#ifdef __CYGWIN32__
-#define _CALLBACK
-#else
-#define _CALLBACK GLCALLBACK
-#endif
-
-
-static void
-init_callbacks(tess_callbacks * callbacks)
-{
- callbacks->begin = (void (_CALLBACK *) (GLenum)) 0;
- callbacks->edgeFlag = (void (_CALLBACK *) (GLboolean)) 0;
- callbacks->vertex = (void (_CALLBACK *) (void *)) 0;
- callbacks->end = (void (_CALLBACK *) (void)) 0;
- callbacks->error = (void (_CALLBACK *) (GLenum)) 0;
-}
-
-void
-tess_call_user_error(GLUtriangulatorObj * tobj, GLenum gluerr)
-{
- if (tobj->error == GLU_NO_ERROR)
- tobj->error = gluerr;
- if (tobj->callbacks.error != NULL)
- (tobj->callbacks.error) (gluerr);
-}
-
-GLUtriangulatorObj *GLAPIENTRY
-gluNewTess(void)
-{
- GLUtriangulatorObj *tobj;
-
- if ((tobj = (GLUtriangulatorObj *)
- malloc(sizeof(struct GLUtesselator))) == NULL)
- return NULL;
- tobj->contours = tobj->last_contour = NULL;
- init_callbacks(&tobj->callbacks);
- tobj->error = GLU_NO_ERROR;
- tobj->current_polygon = NULL;
- tobj->contour_cnt = 0;
- return tobj;
-}
-
-
-void GLAPIENTRY
-gluTessCallback(GLUtriangulatorObj * tobj, GLenum which,
- void (GLCALLBACK * fn) ())
-{
- switch (which) {
- case GLU_BEGIN:
- tobj->callbacks.begin = (void (_CALLBACK *) (GLenum)) fn;
- break;
- case GLU_EDGE_FLAG:
- tobj->callbacks.edgeFlag = (void (_CALLBACK *) (GLboolean)) fn;
- break;
- case GLU_VERTEX:
- tobj->callbacks.vertex = (void (_CALLBACK *) (void *)) fn;
- break;
- case GLU_END:
- tobj->callbacks.end = (void (_CALLBACK *) (void)) fn;
- break;
- case GLU_ERROR:
- tobj->callbacks.error = (void (_CALLBACK *) (GLenum)) fn;
- break;
- default:
- tobj->error = GLU_INVALID_ENUM;
- break;
- }
-}
-
-
-
-void GLAPIENTRY
-gluDeleteTess(GLUtriangulatorObj * tobj)
-{
- if (tobj->error == GLU_NO_ERROR && tobj->contour_cnt)
- /* was gluEndPolygon called? */
- tess_call_user_error(tobj, GLU_TESS_ERROR1);
- /* delete all internal structures */
- delete_contours(tobj);
- free(tobj);
-}
-
-
-void GLAPIENTRY
-gluBeginPolygon(GLUtriangulatorObj * tobj)
-{
-/*
- if(tobj->error!=GLU_NO_ERROR)
- return;
-*/
- tobj->error = GLU_NO_ERROR;
- if (tobj->current_polygon != NULL) {
- /* gluEndPolygon was not called */
- tess_call_user_error(tobj, GLU_TESS_ERROR1);
- /* delete all internal structures */
- delete_contours(tobj);
- }
- else {
- if ((tobj->current_polygon =
- (tess_polygon *) malloc(sizeof(tess_polygon))) == NULL) {
- tess_call_user_error(tobj, GLU_OUT_OF_MEMORY);
- return;
- }
- tobj->current_polygon->vertex_cnt = 0;
- tobj->current_polygon->vertices =
- tobj->current_polygon->last_vertex = NULL;
- }
-}
-
-
-void GLAPIENTRY
-gluEndPolygon(GLUtriangulatorObj * tobj)
-{
- /*tess_contour *contour_ptr; */
-
- /* there was an error */
- if (tobj->error != GLU_NO_ERROR)
- goto end;
-
- /* check if gluBeginPolygon was called */
- if (tobj->current_polygon == NULL) {
- tess_call_user_error(tobj, GLU_TESS_ERROR2);
- return;
- }
- tess_test_polygon(tobj);
- /* there was an error */
- if (tobj->error != GLU_NO_ERROR)
- goto end;
-
- /* any real contours? */
- if (tobj->contour_cnt == 0) {
- /* delete all internal structures */
- delete_contours(tobj);
- return;
- }
- tess_find_contour_hierarchies(tobj);
- /* there was an error */
- if (tobj->error != GLU_NO_ERROR)
- goto end;
-
- tess_handle_holes(tobj);
- /* there was an error */
- if (tobj->error != GLU_NO_ERROR)
- goto end;
-
- /* if no callbacks, nothing to do */
- if (tobj->callbacks.begin != NULL && tobj->callbacks.vertex != NULL &&
- tobj->callbacks.end != NULL) {
- if (tobj->callbacks.edgeFlag == NULL)
- tess_tesselate(tobj);
- else
- tess_tesselate_with_edge_flag(tobj);
- }
-
- end:
- /* delete all internal structures */
- delete_contours(tobj);
-}
-
-
-void GLAPIENTRY
-gluNextContour(GLUtriangulatorObj * tobj, GLenum type)
-{
- if (tobj->error != GLU_NO_ERROR)
- return;
- if (tobj->current_polygon == NULL) {
- tess_call_user_error(tobj, GLU_TESS_ERROR2);
- return;
- }
- /* first contour? */
- if (tobj->current_polygon->vertex_cnt)
- tess_test_polygon(tobj);
-}
-
-
-void GLAPIENTRY
-gluTessVertex(GLUtriangulatorObj * tobj, GLdouble v[3], void *data)
-{
- tess_polygon *polygon = tobj->current_polygon;
- tess_vertex *last_vertex_ptr;
-
- if (tobj->error != GLU_NO_ERROR)
- return;
- if (polygon == NULL) {
- tess_call_user_error(tobj, GLU_TESS_ERROR2);
- return;
- }
- last_vertex_ptr = polygon->last_vertex;
- if (last_vertex_ptr == NULL) {
- if ((last_vertex_ptr = (tess_vertex *)
- malloc(sizeof(tess_vertex))) == NULL) {
- tess_call_user_error(tobj, GLU_OUT_OF_MEMORY);
- return;
- }
- polygon->vertices = last_vertex_ptr;
- polygon->last_vertex = last_vertex_ptr;
- last_vertex_ptr->data = data;
- last_vertex_ptr->location[0] = v[0];
- last_vertex_ptr->location[1] = v[1];
- last_vertex_ptr->location[2] = v[2];
- last_vertex_ptr->next = NULL;
- last_vertex_ptr->previous = NULL;
- ++(polygon->vertex_cnt);
- }
- else {
- tess_vertex *vertex_ptr;
-
- /* same point twice? */
- if (fabs(last_vertex_ptr->location[0] - v[0]) < EPSILON &&
- fabs(last_vertex_ptr->location[1] - v[1]) < EPSILON &&
- fabs(last_vertex_ptr->location[2] - v[2]) < EPSILON) {
- tess_call_user_error(tobj, GLU_TESS_ERROR6);
- return;
- }
- if ((vertex_ptr = (tess_vertex *)
- malloc(sizeof(tess_vertex))) == NULL) {
- tess_call_user_error(tobj, GLU_OUT_OF_MEMORY);
- return;
- }
- vertex_ptr->data = data;
- vertex_ptr->location[0] = v[0];
- vertex_ptr->location[1] = v[1];
- vertex_ptr->location[2] = v[2];
- vertex_ptr->next = NULL;
- vertex_ptr->previous = last_vertex_ptr;
- ++(polygon->vertex_cnt);
- last_vertex_ptr->next = vertex_ptr;
- polygon->last_vertex = vertex_ptr;
- }
-}
-
-
-static void
-delete_contours(GLUtriangulatorObj * tobj)
-{
- tess_polygon *polygon = tobj->current_polygon;
- tess_contour *contour, *contour_tmp;
- tess_vertex *vertex, *vertex_tmp;
-
- /* remove current_polygon list - if exists due to detected error */
- if (polygon != NULL) {
- if (polygon->vertices) {
- for (vertex = polygon->vertices; vertex != polygon->last_vertex;) {
- vertex_tmp = vertex->next;
- free(vertex);
- vertex = vertex_tmp;
- }
- free(vertex);
- }
- free(polygon);
- tobj->current_polygon = NULL;
- }
- /* remove all contour data */
- for (contour = tobj->contours; contour != NULL;) {
- for (vertex = contour->vertices; vertex != contour->last_vertex;) {
- vertex_tmp = vertex->next;
- free(vertex);
- vertex = vertex_tmp;
- }
- free(vertex);
- contour_tmp = contour->next;
- free(contour);
- contour = contour_tmp;
- }
- tobj->contours = tobj->last_contour = NULL;
- tobj->contour_cnt = 0;
-}
-
-
-void GLAPIENTRY
-gluTessNormal(GLUtesselator *tess, GLdouble valueX, GLdouble valueY, GLdouble valueZ)
-{
- /* dummy function */
- (void) tess;
- (void) valueX;
- (void) valueY;
- (void) valueZ;
-}
diff --git a/src/glu/mesa/tess.h b/src/glu/mesa/tess.h
deleted file mode 100644
index 4e51dddd37..0000000000
--- a/src/glu/mesa/tess.h
+++ /dev/null
@@ -1,107 +0,0 @@
-
-/*
- * Mesa 3-D graphics library
- * Version: 3.3
- * Copyright (C) 1995-2000 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-
-/*
- * This file is part of the polygon tesselation code contributed by
- * Bogdan Sikorski
- */
-
-
-#ifndef TESS_H
-#define TESS_H
-
-
-#include "gluP.h"
-
-#define EPSILON 1e-06 /* epsilon for double precision compares */
-
-typedef enum
-{
- OXY,
- OYZ,
- OXZ
-}
-projection_type;
-
-typedef struct callbacks_str
-{
- void (GLCALLBACK * begin) (GLenum mode);
- void (GLCALLBACK * edgeFlag) (GLboolean flag);
- void (GLCALLBACK * vertex) (GLvoid * v);
- void (GLCALLBACK * end) (void);
- void (GLCALLBACK * error) (GLenum err);
-}
-tess_callbacks;
-
-typedef struct vertex_str
-{
- void *data;
- GLdouble location[3];
- GLdouble x, y;
- GLboolean edge_flag;
- struct vertex_str *shadow_vertex;
- struct vertex_str *next, *previous;
-}
-tess_vertex;
-
-typedef struct contour_str
-{
- GLenum type;
- GLuint vertex_cnt;
- GLdouble area;
- GLenum orientation;
- struct vertex_str *vertices, *last_vertex;
- struct contour_str *next, *previous;
-}
-tess_contour;
-
-typedef struct polygon_str
-{
- GLuint vertex_cnt;
- GLdouble A, B, C, D;
- GLdouble area;
- GLenum orientation;
- struct vertex_str *vertices, *last_vertex;
-}
-tess_polygon;
-
-struct GLUtesselator
-{
- tess_contour *contours, *last_contour;
- GLuint contour_cnt;
- tess_callbacks callbacks;
- tess_polygon *current_polygon;
- GLenum error;
- GLdouble A, B, C, D;
- projection_type projection;
-};
-
-
-extern void tess_call_user_error(GLUtriangulatorObj *, GLenum);
-extern void tess_test_polygon(GLUtriangulatorObj *);
-extern void tess_find_contour_hierarchies(GLUtriangulatorObj *);
-extern void tess_handle_holes(GLUtriangulatorObj *);
-extern void tess_tesselate(GLUtriangulatorObj *);
-extern void tess_tesselate_with_edge_flag(GLUtriangulatorObj *);
-
-
-#endif
diff --git a/src/glu/mesa/tesselat.c b/src/glu/mesa/tesselat.c
deleted file mode 100644
index 47d230073f..0000000000
--- a/src/glu/mesa/tesselat.c
+++ /dev/null
@@ -1,406 +0,0 @@
-
-/*
- * Mesa 3-D graphics library
- * Version: 3.3
- * Copyright (C) 1995-2000 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-
-/*
- * This file is part of the polygon tesselation code contributed by
- * Bogdan Sikorski
- */
-
-
-#ifdef PC_HEADER
-#include "all.h"
-#else
-#include <stdlib.h>
-#include <math.h>
-#include "tess.h"
-#endif
-
-
-
-static GLboolean edge_flag;
-
-static void emit_triangle(GLUtriangulatorObj *, tess_vertex *,
- tess_vertex *, tess_vertex *);
-
-static void emit_triangle_with_edge_flag(GLUtriangulatorObj *,
- tess_vertex *, GLboolean,
- tess_vertex *, GLboolean,
- tess_vertex *, GLboolean);
-
-static GLdouble
-twice_the_triangle_area(tess_vertex * va, tess_vertex * vb, tess_vertex * vc)
-{
- return (vb->x - va->x) * (vc->y - va->y) - (vb->y - va->y) * (vc->x -
- va->x);
-}
-
-static GLboolean
-left(GLdouble A, GLdouble B, GLdouble C, GLdouble x, GLdouble y)
-{
- if (A * x + B * y + C > -EPSILON)
- return GL_TRUE;
- else
- return GL_FALSE;
-}
-
-static GLboolean
-right(GLdouble A, GLdouble B, GLdouble C, GLdouble x, GLdouble y)
-{
- if (A * x + B * y + C < EPSILON)
- return GL_TRUE;
- else
- return GL_FALSE;
-}
-
-static GLint
-convex_ccw(tess_vertex * va,
- tess_vertex * vb, tess_vertex * vc, GLUtriangulatorObj * tobj)
-{
- GLdouble d;
-
- d = twice_the_triangle_area(va, vb, vc);
-
- if (d > EPSILON) {
- return 1;
- }
- else if (d < -EPSILON) {
- return 0;
- }
- else {
- return -1;
- }
-}
-
-static GLint
-convex_cw(tess_vertex * va,
- tess_vertex * vb, tess_vertex * vc, GLUtriangulatorObj * tobj)
-{
- GLdouble d;
-
- d = twice_the_triangle_area(va, vb, vc);
-
- if (d < -EPSILON) {
- return 1;
- }
- else if (d > EPSILON) {
- return 0;
- }
- else {
- return -1;
- }
-}
-
-static GLboolean
-diagonal_ccw(tess_vertex * va,
- tess_vertex * vb,
- GLUtriangulatorObj * tobj, tess_contour * contour)
-{
- tess_vertex *vc = va->next, *vertex, *shadow_vertex;
- struct
- {
- GLdouble A, B, C;
- }
- ac, cb, ba;
- GLdouble x, y;
-
- GLint res = convex_ccw(va, vc, vb, tobj);
- if (res == 0)
- return GL_FALSE;
- if (res == -1)
- return GL_TRUE;
-
- ba.A = vb->y - va->y;
- ba.B = va->x - vb->x;
- ba.C = -ba.A * va->x - ba.B * va->y;
- ac.A = va->y - vc->y;
- ac.B = vc->x - va->x;
- ac.C = -ac.A * vc->x - ac.B * vc->y;
- cb.A = vc->y - vb->y;
- cb.B = vb->x - vc->x;
- cb.C = -cb.A * vb->x - cb.B * vb->y;
- for (vertex = vb->next; vertex != va; vertex = vertex->next) {
- shadow_vertex = vertex->shadow_vertex;
- if (shadow_vertex != NULL &&
- (shadow_vertex == va || shadow_vertex == vb || shadow_vertex == vc))
- continue;
- x = vertex->x;
- y = vertex->y;
- if (left(ba.A, ba.B, ba.C, x, y) &&
- left(ac.A, ac.B, ac.C, x, y) && left(cb.A, cb.B, cb.C, x, y))
- return GL_FALSE;
- }
- return GL_TRUE;
-}
-
-static GLboolean
-diagonal_cw(tess_vertex * va,
- tess_vertex * vb,
- GLUtriangulatorObj * tobj, tess_contour * contour)
-{
- tess_vertex *vc = va->next, *vertex, *shadow_vertex;
- struct
- {
- GLdouble A, B, C;
- }
- ac, cb, ba;
- GLdouble x, y;
-
- GLint res = convex_cw(va, vc, vb, tobj);
- if (res == 0)
- return GL_FALSE;
- if (res == -1)
- return GL_TRUE;
-
- ba.A = vb->y - va->y;
- ba.B = va->x - vb->x;
- ba.C = -ba.A * va->x - ba.B * va->y;
- ac.A = va->y - vc->y;
- ac.B = vc->x - va->x;
- ac.C = -ac.A * vc->x - ac.B * vc->y;
- cb.A = vc->y - vb->y;
- cb.B = vb->x - vc->x;
- cb.C = -cb.A * vb->x - cb.B * vb->y;
- for (vertex = vb->next; vertex != va; vertex = vertex->next) {
- shadow_vertex = vertex->shadow_vertex;
- if (shadow_vertex != NULL &&
- (shadow_vertex == va || shadow_vertex == vb || shadow_vertex == vc))
- continue;
- x = vertex->x;
- y = vertex->y;
- if (right(ba.A, ba.B, ba.C, x, y) &&
- right(ac.A, ac.B, ac.C, x, y) && right(cb.A, cb.B, cb.C, x, y))
- return GL_FALSE;
- }
- return GL_TRUE;
-}
-
-static void
-clip_ear(GLUtriangulatorObj * tobj, tess_vertex * v, tess_contour * contour)
-{
- emit_triangle(tobj, v->previous, v, v->next);
- /* the first in the list */
- if (contour->vertices == v) {
- contour->vertices = v->next;
- contour->last_vertex->next = v->next;
- v->next->previous = contour->last_vertex;
- }
- else
- /* the last ? */
- if (contour->last_vertex == v) {
- contour->vertices->previous = v->previous;
- v->previous->next = v->next;
- contour->last_vertex = v->previous;
- }
- else {
- v->next->previous = v->previous;
- v->previous->next = v->next;
- }
- free(v);
- --(contour->vertex_cnt);
-}
-
-static void
-clip_ear_with_edge_flag(GLUtriangulatorObj * tobj,
- tess_vertex * v, tess_contour * contour)
-{
- emit_triangle_with_edge_flag(tobj, v->previous, v->previous->edge_flag,
- v, v->edge_flag, v->next, GL_FALSE);
- v->previous->edge_flag = GL_FALSE;
- /* the first in the list */
- if (contour->vertices == v) {
- contour->vertices = v->next;
- contour->last_vertex->next = v->next;
- v->next->previous = contour->last_vertex;
- }
- else
- /* the last ? */
- if (contour->last_vertex == v) {
- contour->vertices->previous = v->previous;
- v->previous->next = v->next;
- contour->last_vertex = v->previous;
- }
- else {
- v->next->previous = v->previous;
- v->previous->next = v->next;
- }
- free(v);
- --(contour->vertex_cnt);
-}
-
-static void
-triangulate_ccw(GLUtriangulatorObj * tobj, tess_contour * contour)
-{
- tess_vertex *vertex;
- GLuint vertex_cnt = contour->vertex_cnt;
-
- while (vertex_cnt > 3) {
- vertex = contour->vertices;
- while (diagonal_ccw(vertex, vertex->next->next, tobj, contour) ==
- GL_FALSE && tobj->error == GLU_NO_ERROR)
- vertex = vertex->next;
- if (tobj->error != GLU_NO_ERROR)
- return;
- clip_ear(tobj, vertex->next, contour);
- --vertex_cnt;
- }
-}
-
-static void
-triangulate_cw(GLUtriangulatorObj * tobj, tess_contour * contour)
-{
- tess_vertex *vertex;
- GLuint vertex_cnt = contour->vertex_cnt;
-
- while (vertex_cnt > 3) {
- vertex = contour->vertices;
- while (diagonal_cw(vertex, vertex->next->next, tobj, contour) ==
- GL_FALSE && tobj->error == GLU_NO_ERROR)
- vertex = vertex->next;
- if (tobj->error != GLU_NO_ERROR)
- return;
- clip_ear(tobj, vertex->next, contour);
- --vertex_cnt;
- }
-}
-
-static void
-triangulate_ccw_with_edge_flag(GLUtriangulatorObj * tobj,
- tess_contour * contour)
-{
- tess_vertex *vertex;
- GLuint vertex_cnt = contour->vertex_cnt;
-
- while (vertex_cnt > 3) {
- vertex = contour->vertices;
- while (diagonal_ccw(vertex, vertex->next->next, tobj, contour) ==
- GL_FALSE && tobj->error == GLU_NO_ERROR)
- vertex = vertex->next;
- if (tobj->error != GLU_NO_ERROR)
- return;
- clip_ear_with_edge_flag(tobj, vertex->next, contour);
- --vertex_cnt;
- }
-}
-
-static void
-triangulate_cw_with_edge_flag(GLUtriangulatorObj * tobj,
- tess_contour * contour)
-{
- tess_vertex *vertex;
- GLuint vertex_cnt = contour->vertex_cnt;
-
- while (vertex_cnt > 3) {
- vertex = contour->vertices;
- while (diagonal_cw(vertex, vertex->next->next, tobj, contour) ==
- GL_FALSE && tobj->error == GLU_NO_ERROR)
- vertex = vertex->next;
- if (tobj->error != GLU_NO_ERROR)
- return;
- clip_ear_with_edge_flag(tobj, vertex->next, contour);
- --vertex_cnt;
- }
-}
-
-void
-tess_tesselate(GLUtriangulatorObj * tobj)
-{
- tess_contour *contour;
-
- for (contour = tobj->contours; contour != NULL; contour = contour->next) {
- if (contour->orientation == GLU_CCW) {
- triangulate_ccw(tobj, contour);
- }
- else {
- triangulate_cw(tobj, contour);
- }
- if (tobj->error != GLU_NO_ERROR)
- return;
-
- /* emit the last triangle */
- emit_triangle(tobj, contour->vertices, contour->vertices->next,
- contour->vertices->next->next);
- }
-}
-
-void
-tess_tesselate_with_edge_flag(GLUtriangulatorObj * tobj)
-{
- tess_contour *contour;
-
- edge_flag = GL_TRUE;
- /* first callback with edgeFlag set to GL_TRUE */
- (tobj->callbacks.edgeFlag) (GL_TRUE);
-
- for (contour = tobj->contours; contour != NULL; contour = contour->next) {
- if (contour->orientation == GLU_CCW)
- triangulate_ccw_with_edge_flag(tobj, contour);
- else
- triangulate_cw_with_edge_flag(tobj, contour);
- if (tobj->error != GLU_NO_ERROR)
- return;
- /* emit the last triangle */
- emit_triangle_with_edge_flag(tobj, contour->vertices,
- contour->vertices->edge_flag,
- contour->vertices->next,
- contour->vertices->next->edge_flag,
- contour->vertices->next->next,
- contour->vertices->next->next->edge_flag);
- }
-}
-
-static void
-emit_triangle(GLUtriangulatorObj * tobj,
- tess_vertex * v1, tess_vertex * v2, tess_vertex * v3)
-{
- (tobj->callbacks.begin) (GL_TRIANGLES);
- (tobj->callbacks.vertex) (v1->data);
- (tobj->callbacks.vertex) (v2->data);
- (tobj->callbacks.vertex) (v3->data);
- (tobj->callbacks.end) ();
-}
-
-static void
-emit_triangle_with_edge_flag(GLUtriangulatorObj * tobj,
- tess_vertex * v1,
- GLboolean edge_flag1,
- tess_vertex * v2,
- GLboolean edge_flag2,
- tess_vertex * v3, GLboolean edge_flag3)
-{
- (tobj->callbacks.begin) (GL_TRIANGLES);
- if (edge_flag1 != edge_flag) {
- edge_flag = (edge_flag == GL_TRUE ? GL_FALSE : GL_TRUE);
- (tobj->callbacks.edgeFlag) (edge_flag);
- }
- (tobj->callbacks.vertex) (v1->data);
- if (edge_flag2 != edge_flag) {
- edge_flag = (edge_flag == GL_TRUE ? GL_FALSE : GL_TRUE);
- (tobj->callbacks.edgeFlag) (edge_flag);
- }
- (tobj->callbacks.vertex) (v2->data);
- if (edge_flag3 != edge_flag) {
- edge_flag = (edge_flag == GL_TRUE ? GL_FALSE : GL_TRUE);
- (tobj->callbacks.edgeFlag) (edge_flag);
- }
- (tobj->callbacks.vertex) (v3->data);
- (tobj->callbacks.end) ();
-}
diff --git a/src/glu/mini/all.h b/src/glu/mini/all.h
deleted file mode 100644
index 874c935925..0000000000
--- a/src/glu/mini/all.h
+++ /dev/null
@@ -1,54 +0,0 @@
-
-/*
- * Mesa 3-D graphics library
- * Version: 3.3
- * Copyright (C) 1995-2000 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-
-/*
- * This file includes all .h files needed for the GLU source code for
- * the purpose of precompiled headers.
- *
- * If the preprocessor symbol PCH is defined at compile time then each
- * of the .c files will #include "all.h" only, instead of a bunch of
- * individual .h files.
- */
-
-
-#ifndef GLU_ALL_H
-#define GLU_ALL_H
-
-
-#ifndef PC_HEADER
-This is an error. all.h should be included only if PCH is defined.
-#endif
-
-
-#include <assert.h>
-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include "GL/gl.h"
-#include "GL/glu.h"
-#include "gluP.h"
-#include "nurbs.h"
-#include "tess.h"
-
-
-#endif /*GLU_ALL_H */
diff --git a/src/glu/mini/glu.c b/src/glu/mini/glu.c
deleted file mode 100644
index 31429e3343..0000000000
--- a/src/glu/mini/glu.c
+++ /dev/null
@@ -1,416 +0,0 @@
-
-/*
- * Mesa 3-D graphics library
- * Version: 3.5
- * Copyright (C) 1995-2001 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-
-#ifdef PC_HEADER
-#include "all.h"
-#else
-#include <assert.h>
-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include "gluP.h"
-#endif
-
-
-/*
- * Miscellaneous utility functions
- */
-
-
-#ifndef M_PI
-#define M_PI 3.1415926536
-#endif
-#define EPS 0.00001
-
-#ifndef GLU_INCOMPATIBLE_GL_VERSION
-#define GLU_INCOMPATIBLE_GL_VERSION 100903
-#endif
-
-
-void GLAPIENTRY
-gluLookAt(GLdouble eyex, GLdouble eyey, GLdouble eyez,
- GLdouble centerx, GLdouble centery, GLdouble centerz,
- GLdouble upx, GLdouble upy, GLdouble upz)
-{
- GLfloat m[16];
- GLfloat x[3], y[3], z[3];
- GLfloat mag;
-
- /* Make rotation matrix */
-
- /* Z vector */
- z[0] = eyex - centerx;
- z[1] = eyey - centery;
- z[2] = eyez - centerz;
- mag = sqrt(z[0] * z[0] + z[1] * z[1] + z[2] * z[2]);
- if (mag) { /* mpichler, 19950515 */
- z[0] /= mag;
- z[1] /= mag;
- z[2] /= mag;
- }
-
- /* Y vector */
- y[0] = upx;
- y[1] = upy;
- y[2] = upz;
-
- /* X vector = Y cross Z */
- x[0] = y[1] * z[2] - y[2] * z[1];
- x[1] = -y[0] * z[2] + y[2] * z[0];
- x[2] = y[0] * z[1] - y[1] * z[0];
-
- /* Recompute Y = Z cross X */
- y[0] = z[1] * x[2] - z[2] * x[1];
- y[1] = -z[0] * x[2] + z[2] * x[0];
- y[2] = z[0] * x[1] - z[1] * x[0];
-
- /* mpichler, 19950515 */
- /* cross product gives area of parallelogram, which is < 1.0 for
- * non-perpendicular unit-length vectors; so normalize x, y here
- */
-
- mag = sqrt(x[0] * x[0] + x[1] * x[1] + x[2] * x[2]);
- if (mag) {
- x[0] /= mag;
- x[1] /= mag;
- x[2] /= mag;
- }
-
- mag = sqrt(y[0] * y[0] + y[1] * y[1] + y[2] * y[2]);
- if (mag) {
- y[0] /= mag;
- y[1] /= mag;
- y[2] /= mag;
- }
-
-#define M(row,col) m[col*4+row]
- M(0, 0) = x[0];
- M(0, 1) = x[1];
- M(0, 2) = x[2];
- M(0, 3) = 0.0;
- M(1, 0) = y[0];
- M(1, 1) = y[1];
- M(1, 2) = y[2];
- M(1, 3) = 0.0;
- M(2, 0) = z[0];
- M(2, 1) = z[1];
- M(2, 2) = z[2];
- M(2, 3) = 0.0;
- M(3, 0) = 0.0;
- M(3, 1) = 0.0;
- M(3, 2) = 0.0;
- M(3, 3) = 1.0;
-#undef M
- glMultMatrixf(m);
-
- /* Translate Eye to Origin */
- glTranslatef(-eyex, -eyey, -eyez);
-
-}
-
-
-
-void GLAPIENTRY
-gluOrtho2D(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top)
-{
- glOrtho(left, right, bottom, top, -1.0, 1.0);
-}
-
-
-
-static void
-frustum(GLfloat left, GLfloat right,
- GLfloat bottom, GLfloat top,
- GLfloat nearval, GLfloat farval)
-{
- GLfloat x, y, a, b, c, d;
- GLfloat m[16];
-
- x = (2.0 * nearval) / (right - left);
- y = (2.0 * nearval) / (top - bottom);
- a = (right + left) / (right - left);
- b = (top + bottom) / (top - bottom);
- c = -(farval + nearval) / ( farval - nearval);
- d = -(2.0 * farval * nearval) / (farval - nearval);
-
-#define M(row,col) m[col*4+row]
- M(0,0) = x; M(0,1) = 0.0F; M(0,2) = a; M(0,3) = 0.0F;
- M(1,0) = 0.0F; M(1,1) = y; M(1,2) = b; M(1,3) = 0.0F;
- M(2,0) = 0.0F; M(2,1) = 0.0F; M(2,2) = c; M(2,3) = d;
- M(3,0) = 0.0F; M(3,1) = 0.0F; M(3,2) = -1.0F; M(3,3) = 0.0F;
-#undef M
-
- glMultMatrixf(m);
-}
-
-
-void GLAPIENTRY
-gluPerspective(GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar)
-{
- GLfloat xmin, xmax, ymin, ymax;
-
- ymax = zNear * tan(fovy * M_PI / 360.0);
- ymin = -ymax;
- xmin = ymin * aspect;
- xmax = ymax * aspect;
-
- /* don't call glFrustum() because of error semantics (covglu) */
- frustum(xmin, xmax, ymin, ymax, zNear, zFar);
-}
-
-
-
-void GLAPIENTRY
-gluPickMatrix(GLdouble x, GLdouble y,
- GLdouble width, GLdouble height, GLint viewport[4])
-{
- GLfloat m[16];
- GLfloat sx, sy;
- GLfloat tx, ty;
-
- sx = viewport[2] / width;
- sy = viewport[3] / height;
- tx = (viewport[2] + 2.0 * (viewport[0] - x)) / width;
- ty = (viewport[3] + 2.0 * (viewport[1] - y)) / height;
-
-#define M(row,col) m[col*4+row]
- M(0, 0) = sx;
- M(0, 1) = 0.0;
- M(0, 2) = 0.0;
- M(0, 3) = tx;
- M(1, 0) = 0.0;
- M(1, 1) = sy;
- M(1, 2) = 0.0;
- M(1, 3) = ty;
- M(2, 0) = 0.0;
- M(2, 1) = 0.0;
- M(2, 2) = 1.0;
- M(2, 3) = 0.0;
- M(3, 0) = 0.0;
- M(3, 1) = 0.0;
- M(3, 2) = 0.0;
- M(3, 3) = 1.0;
-#undef M
-
- glMultMatrixf(m);
-}
-
-
-
-const GLubyte *GLAPIENTRY
-gluErrorString(GLenum errorCode)
-{
- static char *tess_error[] = {
- "missing gluBeginPolygon",
- "missing gluBeginContour",
- "missing gluEndPolygon",
- "missing gluEndContour",
- "misoriented or self-intersecting loops",
- "coincident vertices",
- "colinear vertices",
- "FIST recovery process fatal error"
- };
- static char *nurbs_error[] = {
- "spline order un-supported",
- "too few knots",
- "valid knot range is empty",
- "decreasing knot sequence knot",
- "knot multiplicity greater than order of spline",
- "endcurve() must follow bgncurve()",
- "bgncurve() must precede endcurve()",
- "missing or extra geometric data",
- "can't draw pwlcurves",
- "missing bgncurve()",
- "missing bgnsurface()",
- "endtrim() must precede endsurface()",
- "bgnsurface() must precede endsurface()",
- "curve of improper type passed as trim curve",
- "bgnsurface() must precede bgntrim()",
- "endtrim() must follow bgntrim()",
- "bgntrim() must precede endtrim()",
- "invalid or missing trim curve",
- "bgntrim() must precede pwlcurve()",
- "pwlcurve referenced twice",
- "pwlcurve and nurbscurve mixed",
- "improper usage of trim data type",
- "nurbscurve referenced twice",
- "nurbscurve and pwlcurve mixed",
- "nurbssurface referenced twice",
- "invalid property",
- "endsurface() must follow bgnsurface()",
- "misoriented trim curves",
- "intersecting trim curves",
- "UNUSED",
- "unconnected trim curves",
- "unknown knot error",
- "negative vertex count encountered",
- "negative byte-stride encountered",
- "unknown type descriptor",
- "null control array or knot vector",
- "duplicate point on pwlcurve"
- };
-
- /* GL Errors */
- if (errorCode == GL_NO_ERROR) {
- return (GLubyte *) "no error";
- }
- else if (errorCode == GL_INVALID_VALUE) {
- return (GLubyte *) "invalid value";
- }
- else if (errorCode == GL_INVALID_ENUM) {
- return (GLubyte *) "invalid enum";
- }
- else if (errorCode == GL_INVALID_OPERATION) {
- return (GLubyte *) "invalid operation";
- }
- else if (errorCode == GL_STACK_OVERFLOW) {
- return (GLubyte *) "stack overflow";
- }
- else if (errorCode == GL_STACK_UNDERFLOW) {
- return (GLubyte *) "stack underflow";
- }
- else if (errorCode == GL_OUT_OF_MEMORY) {
- return (GLubyte *) "out of memory";
- }
- /* GLU Errors */
- else if (errorCode == GLU_NO_ERROR) {
- return (GLubyte *) "no error";
- }
- else if (errorCode == GLU_INVALID_ENUM) {
- return (GLubyte *) "invalid enum";
- }
- else if (errorCode == GLU_INVALID_VALUE) {
- return (GLubyte *) "invalid value";
- }
- else if (errorCode == GLU_OUT_OF_MEMORY) {
- return (GLubyte *) "out of memory";
- }
- else if (errorCode == GLU_INCOMPATIBLE_GL_VERSION) {
- return (GLubyte *) "incompatible GL version";
- }
- else if (errorCode >= GLU_TESS_ERROR1 && errorCode <= GLU_TESS_ERROR8) {
- return (GLubyte *) tess_error[errorCode - GLU_TESS_ERROR1];
- }
- else if (errorCode >= GLU_NURBS_ERROR1 && errorCode <= GLU_NURBS_ERROR37) {
- return (GLubyte *) nurbs_error[errorCode - GLU_NURBS_ERROR1];
- }
- else {
- return NULL;
- }
-}
-
-
-
-/*
- * New in GLU 1.1
- */
-
-const GLubyte *GLAPIENTRY
-gluGetString(GLenum name)
-{
- static char *extensions = "GL_EXT_abgr";
- static char *version = "1.1 Mesa 3.5";
-
- switch (name) {
- case GLU_EXTENSIONS:
- return (GLubyte *) extensions;
- case GLU_VERSION:
- return (GLubyte *) version;
- default:
- return NULL;
- }
-}
-
-
-
-#if 0 /* gluGetProcAddressEXT not finalized yet! */
-
-#ifdef __cplusplus
- /* for BeOS R4.5 */
-void GLAPIENTRY(*gluGetProcAddressEXT(const GLubyte * procName)) (...)
-#else
-void (GLAPIENTRY * gluGetProcAddressEXT(const GLubyte * procName)) ()
-#endif
-{
- struct proc
- {
- const char *name;
- void *address;
- };
- static struct proc procTable[] = {
- {"gluGetProcAddressEXT", (void *) gluGetProcAddressEXT}, /* me! */
-
- /* new 1.1 functions */
- {"gluGetString", (void *) gluGetString},
-
- /* new 1.2 functions */
- {"gluTessBeginPolygon", (void *) gluTessBeginPolygon},
- {"gluTessBeginContour", (void *) gluTessBeginContour},
- {"gluTessEndContour", (void *) gluTessEndContour},
- {"gluTessEndPolygon", (void *) gluTessEndPolygon},
- {"gluGetTessProperty", (void *) gluGetTessProperty},
-
- /* new 1.3 functions */
-
- {NULL, NULL}
- };
- GLuint i;
-
- for (i = 0; procTable[i].address; i++) {
- if (strcmp((const char *) procName, procTable[i].name) == 0)
- return (void (GLAPIENTRY *) ()) procTable[i].address;
- }
-
- return NULL;
-}
-
-#endif
-
-
-
-/*
- * New in GLU 1.3
- */
-#ifdef GLU_VERSION_1_3
-GLboolean GLAPIENTRY
-gluCheckExtension(const GLubyte *extName, const GLubyte * extString)
-{
- assert(extName);
- assert(extString);
- {
- const int len = strlen((const char *) extName);
- const char *start = (const char *) extString;
-
- while (1) {
- const char *c = strstr(start, (const char *) extName);
- if (!c)
- return GL_FALSE;
-
- if ((c == start || c[-1] == ' ') && (c[len] == ' ' || c[len] == 0))
- return GL_TRUE;
-
- start = c + len;
- }
- }
-}
-#endif
diff --git a/src/glu/mini/gluP.h b/src/glu/mini/gluP.h
deleted file mode 100644
index a39edce41f..0000000000
--- a/src/glu/mini/gluP.h
+++ /dev/null
@@ -1,141 +0,0 @@
-
-/*
- * Mesa 3-D graphics library
- * Version: 3.3
- * Copyright (C) 1995-2000 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-
-/*
- * This file allows the GLU code to be compiled either with the Mesa
- * headers or with the real OpenGL headers.
- */
-
-
-#ifndef GLUP_H
-#define GLUP_H
-
-
-#include <GL/gl.h>
-#include <GL/glu.h>
-#include <string.h>
-
-
-#if defined(_WIN32) && !defined(__WIN32__)
-# define __WIN32__
-#endif
-
-#if !defined(OPENSTEP) && (defined(__WIN32__) || defined(__CYGWIN__))
-# pragma warning( disable : 4068 ) /* unknown pragma */
-# pragma warning( disable : 4710 ) /* function 'foo' not inlined */
-# pragma warning( disable : 4711 ) /* function 'foo' selected for automatic inline expansion */
-# pragma warning( disable : 4127 ) /* conditional expression is constant */
-# if defined(MESA_MINWARN)
-# pragma warning( disable : 4244 ) /* '=' : conversion from 'const double ' to 'float ', possible loss of data */
-# pragma warning( disable : 4018 ) /* '<' : signed/unsigned mismatch */
-# pragma warning( disable : 4305 ) /* '=' : truncation from 'const double ' to 'float ' */
-# pragma warning( disable : 4550 ) /* 'function' undefined; assuming extern returning int */
-# pragma warning( disable : 4761 ) /* integral size mismatch in argument; conversion supplied */
-# endif
-# if defined(_MSC_VER) && defined(BUILD_GL32) /* tag specify we're building mesa as a DLL */
-# define GLAPI __declspec(dllexport)
-# define WGLAPI __declspec(dllexport)
-# elif defined(_MSC_VER) && defined(_DLL) /* tag specifying we're building for DLL runtime support */
-# define GLAPI __declspec(dllimport)
-# define WGLAPI __declspec(dllimport)
-# else /* for use with static link lib build of Win32 edition only */
-# define GLAPI extern
-# define WGLAPI __declspec(dllimport)
-# endif /* _STATIC_MESA support */
-# define GLAPIENTRY __stdcall
-# define GLAPIENTRYP __stdcall *
-# define GLCALLBACK __stdcall
-# define GLCALLBACKP __stdcall *
-# if defined(__CYGWIN__)
-# define GLCALLBACKPCAST *
-# else
-# define GLCALLBACKPCAST __stdcall *
-# endif
-# define GLWINAPI __stdcall
-# define GLWINAPIV __cdecl
-#else
-/* non-Windows compilation */
-# define GLAPI extern
-# define GLAPIENTRY
-# define GLAPIENTRYP *
-# define GLCALLBACK
-# define GLCALLBACKP *
-# define GLCALLBACKPCAST *
-# define GLWINAPI
-# define GLWINAPIV
-#endif /* WIN32 / CYGWIN bracket */
-
-/* compatibility guard so we don't need to change client code */
-
-#if defined(_WIN32) && !defined(_WINDEF_) && !defined(_GNU_H_WINDOWS32_BASE) && !defined(OPENSTEP)
-# define CALLBACK GLCALLBACK
-typedef int (GLAPIENTRY *PROC)();
-typedef void *HGLRC;
-typedef void *HDC;
-typedef unsigned long COLORREF;
-#endif
-
-#if defined(_WIN32) && !defined(_WINGDI_) && !defined(_GNU_H_WINDOWS32_DEFINES) && !defined(OPENSTEP)
-# define WGL_FONT_LINES 0
-# define WGL_FONT_POLYGONS 1
-#ifndef _GNU_H_WINDOWS32_FUNCTIONS
-# ifdef UNICODE
-# define wglUseFontBitmaps wglUseFontBitmapsW
-# define wglUseFontOutlines wglUseFontOutlinesW
-# else
-# define wglUseFontBitmaps wglUseFontBitmapsA
-# define wglUseFontOutlines wglUseFontOutlinesA
-# endif /* !UNICODE */
-#endif /* _GNU_H_WINDOWS32_FUNCTIONS */
-typedef struct tagLAYERPLANEDESCRIPTOR LAYERPLANEDESCRIPTOR, *PLAYERPLANEDESCRIPTOR, *LPLAYERPLANEDESCRIPTOR;
-typedef struct _GLYPHMETRICSFLOAT GLYPHMETRICSFLOAT, *PGLYPHMETRICSFLOAT, *LPGLYPHMETRICSFLOAT;
-typedef struct tagPIXELFORMATDESCRIPTOR PIXELFORMATDESCRIPTOR, *PPIXELFORMATDESCRIPTOR, *LPPIXELFORMATDESCRIPTOR;
-#include <gl/mesa_wgl.h>
-#endif
-
-
-
-#ifndef GLU_TESS_ERROR9
- /* If we're using the real OpenGL header files... */
-# define GLU_TESS_ERROR9 100159
-#endif
-
-
-#define GLU_NO_ERROR GL_NO_ERROR
-
-
-/* for Sun: */
-#ifdef SUNOS4
-#define MEMCPY( DST, SRC, BYTES) \
- memcpy( (char *) (DST), (char *) (SRC), (int) (BYTES) )
-#else
-#define MEMCPY( DST, SRC, BYTES) \
- memcpy( (void *) (DST), (void *) (SRC), (size_t) (BYTES) )
-#endif
-
-
-#ifndef NULL
-# define NULL 0
-#endif
-
-
-#endif
diff --git a/src/glu/mini/mipmap.c b/src/glu/mini/mipmap.c
deleted file mode 100644
index a655d214e3..0000000000
--- a/src/glu/mini/mipmap.c
+++ /dev/null
@@ -1,763 +0,0 @@
-
-/*
- * Mesa 3-D graphics library
- * Version: 3.4
- * Copyright (C) 1995-2000 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-
-#ifdef PC_HEADER
-#include "all.h"
-#else
-#include <assert.h>
-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include "gluP.h"
-#endif
-
-
-/*
- * Compute ceiling of integer quotient of A divided by B:
- */
-#define CEILING( A, B ) ( (A) % (B) == 0 ? (A)/(B) : (A)/(B)+1 )
-
-
-
-#ifdef EPSILON
-#undef EPSILON
-#endif
-#define EPSILON 0.001
-
-
-/* To work around optimizer bug in MSVC4.1 */
-#if defined(__WIN32__) && !defined(OPENSTEP)
-void
-dummy(GLuint j, GLuint k)
-{
-}
-#else
-#define dummy(J, K)
-#endif
-
-
-GLint GLAPIENTRY
-gluScaleImage(GLenum format,
- GLsizei widthin, GLsizei heightin,
- GLenum typein, const void *datain,
- GLsizei widthout, GLsizei heightout,
- GLenum typeout, void *dataout)
-{
- GLint components, i, j, k;
- GLfloat *tempin, *tempout, f;
- GLfloat sx, sy;
- GLint unpackrowlength, unpackalignment, unpackskiprows, unpackskippixels;
- GLint packrowlength, packalignment, packskiprows, packskippixels;
- GLint sizein, sizeout;
- GLint rowstride, rowlen;
-
-
- /* Determine number of components per pixel */
- switch (format) {
- case GL_COLOR_INDEX:
- case GL_STENCIL_INDEX:
- case GL_DEPTH_COMPONENT:
- case GL_RED:
- case GL_GREEN:
- case GL_BLUE:
- case GL_ALPHA:
- case GL_LUMINANCE:
- components = 1;
- break;
- case GL_LUMINANCE_ALPHA:
- components = 2;
- break;
- case GL_RGB:
- case GL_BGR:
- components = 3;
- break;
- case GL_RGBA:
- case GL_BGRA:
-#ifdef GL_EXT_abgr
- case GL_ABGR_EXT:
-#endif
- components = 4;
- break;
- default:
- return GLU_INVALID_ENUM;
- }
-
- /* Determine bytes per input datum */
- switch (typein) {
- case GL_UNSIGNED_BYTE:
- sizein = sizeof(GLubyte);
- break;
- case GL_BYTE:
- sizein = sizeof(GLbyte);
- break;
- case GL_UNSIGNED_SHORT:
- sizein = sizeof(GLushort);
- break;
- case GL_SHORT:
- sizein = sizeof(GLshort);
- break;
- case GL_UNSIGNED_INT:
- sizein = sizeof(GLuint);
- break;
- case GL_INT:
- sizein = sizeof(GLint);
- break;
- case GL_FLOAT:
- sizein = sizeof(GLfloat);
- break;
- case GL_BITMAP:
- /* not implemented yet */
- default:
- return GL_INVALID_ENUM;
- }
-
- /* Determine bytes per output datum */
- switch (typeout) {
- case GL_UNSIGNED_BYTE:
- sizeout = sizeof(GLubyte);
- break;
- case GL_BYTE:
- sizeout = sizeof(GLbyte);
- break;
- case GL_UNSIGNED_SHORT:
- sizeout = sizeof(GLushort);
- break;
- case GL_SHORT:
- sizeout = sizeof(GLshort);
- break;
- case GL_UNSIGNED_INT:
- sizeout = sizeof(GLuint);
- break;
- case GL_INT:
- sizeout = sizeof(GLint);
- break;
- case GL_FLOAT:
- sizeout = sizeof(GLfloat);
- break;
- case GL_BITMAP:
- /* not implemented yet */
- default:
- return GL_INVALID_ENUM;
- }
-
- /* Get glPixelStore state */
- glGetFloatv(GL_UNPACK_ROW_LENGTH, &f); unpackrowlength = (int)f;
- glGetFloatv(GL_UNPACK_ALIGNMENT, &f); unpackalignment = (int)f;
- glGetFloatv(GL_UNPACK_SKIP_ROWS, &f); unpackskiprows = (int)f;
- glGetFloatv(GL_UNPACK_SKIP_PIXELS, &f); unpackskippixels = (int)f;
- glGetFloatv(GL_PACK_ROW_LENGTH, &f); packrowlength = (int)f;
- glGetFloatv(GL_PACK_ALIGNMENT, &f); packalignment = (int)f;
- glGetFloatv(GL_PACK_SKIP_ROWS, &f); packskiprows = (int)f;
- glGetFloatv(GL_PACK_SKIP_PIXELS, &f); packskippixels = (int)f;
-
- /* Allocate storage for intermediate images */
- tempin = (GLfloat *) malloc(widthin * heightin
- * components * sizeof(GLfloat));
- if (!tempin) {
- return GLU_OUT_OF_MEMORY;
- }
- tempout = (GLfloat *) malloc(widthout * heightout
- * components * sizeof(GLfloat));
- if (!tempout) {
- free(tempin);
- return GLU_OUT_OF_MEMORY;
- }
-
-
- /*
- * Unpack the pixel data and convert to floating point
- */
-
- if (unpackrowlength > 0) {
- rowlen = unpackrowlength;
- }
- else {
- rowlen = widthin;
- }
- if (sizein >= unpackalignment) {
- rowstride = components * rowlen;
- }
- else {
- rowstride = unpackalignment / sizein
- * CEILING(components * rowlen * sizein, unpackalignment);
- }
-
- switch (typein) {
- case GL_UNSIGNED_BYTE:
- k = 0;
- for (i = 0; i < heightin; i++) {
- GLubyte *ubptr = (GLubyte *) datain
- + i * rowstride
- + unpackskiprows * rowstride + unpackskippixels * components;
- for (j = 0; j < widthin * components; j++) {
- dummy(j, k);
- tempin[k++] = (GLfloat) * ubptr++;
- }
- }
- break;
- case GL_BYTE:
- k = 0;
- for (i = 0; i < heightin; i++) {
- GLbyte *bptr = (GLbyte *) datain
- + i * rowstride
- + unpackskiprows * rowstride + unpackskippixels * components;
- for (j = 0; j < widthin * components; j++) {
- dummy(j, k);
- tempin[k++] = (GLfloat) * bptr++;
- }
- }
- break;
- case GL_UNSIGNED_SHORT:
- k = 0;
- for (i = 0; i < heightin; i++) {
- GLushort *usptr = (GLushort *) datain
- + i * rowstride
- + unpackskiprows * rowstride + unpackskippixels * components;
- for (j = 0; j < widthin * components; j++) {
- dummy(j, k);
- tempin[k++] = (GLfloat) * usptr++;
- }
- }
- break;
- case GL_SHORT:
- k = 0;
- for (i = 0; i < heightin; i++) {
- GLshort *sptr = (GLshort *) datain
- + i * rowstride
- + unpackskiprows * rowstride + unpackskippixels * components;
- for (j = 0; j < widthin * components; j++) {
- dummy(j, k);
- tempin[k++] = (GLfloat) * sptr++;
- }
- }
- break;
- case GL_UNSIGNED_INT:
- k = 0;
- for (i = 0; i < heightin; i++) {
- GLuint *uiptr = (GLuint *) datain
- + i * rowstride
- + unpackskiprows * rowstride + unpackskippixels * components;
- for (j = 0; j < widthin * components; j++) {
- dummy(j, k);
- tempin[k++] = (GLfloat) * uiptr++;
- }
- }
- break;
- case GL_INT:
- k = 0;
- for (i = 0; i < heightin; i++) {
- GLint *iptr = (GLint *) datain
- + i * rowstride
- + unpackskiprows * rowstride + unpackskippixels * components;
- for (j = 0; j < widthin * components; j++) {
- dummy(j, k);
- tempin[k++] = (GLfloat) * iptr++;
- }
- }
- break;
- case GL_FLOAT:
- k = 0;
- for (i = 0; i < heightin; i++) {
- GLfloat *fptr = (GLfloat *) datain
- + i * rowstride
- + unpackskiprows * rowstride + unpackskippixels * components;
- for (j = 0; j < widthin * components; j++) {
- dummy(j, k);
- tempin[k++] = *fptr++;
- }
- }
- break;
- default:
- return GLU_INVALID_ENUM;
- }
-
-
- /*
- * Scale the image!
- */
-
- if (widthout > 1)
- sx = (GLfloat) (widthin - 1) / (GLfloat) (widthout - 1);
- else
- sx = (GLfloat) (widthin - 1);
- if (heightout > 1)
- sy = (GLfloat) (heightin - 1) / (GLfloat) (heightout - 1);
- else
- sy = (GLfloat) (heightin - 1);
-
-/*#define POINT_SAMPLE*/
-#ifdef POINT_SAMPLE
- for (i = 0; i < heightout; i++) {
- GLint ii = i * sy;
- for (j = 0; j < widthout; j++) {
- GLint jj = j * sx;
-
- GLfloat *src = tempin + (ii * widthin + jj) * components;
- GLfloat *dst = tempout + (i * widthout + j) * components;
-
- for (k = 0; k < components; k++) {
- *dst++ = *src++;
- }
- }
- }
-#else
- if (sx < 1.0 && sy < 1.0) {
- /* magnify both width and height: use weighted sample of 4 pixels */
- GLint i0, i1, j0, j1;
- GLfloat alpha, beta;
- GLfloat *src00, *src01, *src10, *src11;
- GLfloat s1, s2;
- GLfloat *dst;
-
- for (i = 0; i < heightout; i++) {
- i0 = i * sy;
- i1 = i0 + 1;
- if (i1 >= heightin)
- i1 = heightin - 1;
-/* i1 = (i+1) * sy - EPSILON;*/
- alpha = i * sy - i0;
- for (j = 0; j < widthout; j++) {
- j0 = j * sx;
- j1 = j0 + 1;
- if (j1 >= widthin)
- j1 = widthin - 1;
-/* j1 = (j+1) * sx - EPSILON; */
- beta = j * sx - j0;
-
- /* compute weighted average of pixels in rect (i0,j0)-(i1,j1) */
- src00 = tempin + (i0 * widthin + j0) * components;
- src01 = tempin + (i0 * widthin + j1) * components;
- src10 = tempin + (i1 * widthin + j0) * components;
- src11 = tempin + (i1 * widthin + j1) * components;
-
- dst = tempout + (i * widthout + j) * components;
-
- for (k = 0; k < components; k++) {
- s1 = *src00++ * (1.0 - beta) + *src01++ * beta;
- s2 = *src10++ * (1.0 - beta) + *src11++ * beta;
- *dst++ = s1 * (1.0 - alpha) + s2 * alpha;
- }
- }
- }
- }
- else {
- /* shrink width and/or height: use an unweighted box filter */
- GLint i0, i1;
- GLint j0, j1;
- GLint ii, jj;
- GLfloat sum, *dst;
-
- for (i = 0; i < heightout; i++) {
- i0 = i * sy;
- i1 = i0 + 1;
- if (i1 >= heightin)
- i1 = heightin - 1;
-/* i1 = (i+1) * sy - EPSILON; */
- for (j = 0; j < widthout; j++) {
- j0 = j * sx;
- j1 = j0 + 1;
- if (j1 >= widthin)
- j1 = widthin - 1;
-/* j1 = (j+1) * sx - EPSILON; */
-
- dst = tempout + (i * widthout + j) * components;
-
- /* compute average of pixels in the rectangle (i0,j0)-(i1,j1) */
- for (k = 0; k < components; k++) {
- sum = 0.0;
- for (ii = i0; ii <= i1; ii++) {
- for (jj = j0; jj <= j1; jj++) {
- sum += *(tempin + (ii * widthin + jj) * components + k);
- }
- }
- sum /= (j1 - j0 + 1) * (i1 - i0 + 1);
- *dst++ = sum;
- }
- }
- }
- }
-#endif
-
-
- /*
- * Return output image
- */
-
- if (packrowlength > 0) {
- rowlen = packrowlength;
- }
- else {
- rowlen = widthout;
- }
- if (sizeout >= packalignment) {
- rowstride = components * rowlen;
- }
- else {
- rowstride = packalignment / sizeout
- * CEILING(components * rowlen * sizeout, packalignment);
- }
-
- switch (typeout) {
- case GL_UNSIGNED_BYTE:
- k = 0;
- for (i = 0; i < heightout; i++) {
- GLubyte *ubptr = (GLubyte *) dataout
- + i * rowstride
- + packskiprows * rowstride + packskippixels * components;
- for (j = 0; j < widthout * components; j++) {
- dummy(j, k + i);
- *ubptr++ = (GLubyte) tempout[k++];
- }
- }
- break;
- case GL_BYTE:
- k = 0;
- for (i = 0; i < heightout; i++) {
- GLbyte *bptr = (GLbyte *) dataout
- + i * rowstride
- + packskiprows * rowstride + packskippixels * components;
- for (j = 0; j < widthout * components; j++) {
- dummy(j, k + i);
- *bptr++ = (GLbyte) tempout[k++];
- }
- }
- break;
- case GL_UNSIGNED_SHORT:
- k = 0;
- for (i = 0; i < heightout; i++) {
- GLushort *usptr = (GLushort *) dataout
- + i * rowstride
- + packskiprows * rowstride + packskippixels * components;
- for (j = 0; j < widthout * components; j++) {
- dummy(j, k + i);
- *usptr++ = (GLushort) tempout[k++];
- }
- }
- break;
- case GL_SHORT:
- k = 0;
- for (i = 0; i < heightout; i++) {
- GLshort *sptr = (GLshort *) dataout
- + i * rowstride
- + packskiprows * rowstride + packskippixels * components;
- for (j = 0; j < widthout * components; j++) {
- dummy(j, k + i);
- *sptr++ = (GLshort) tempout[k++];
- }
- }
- break;
- case GL_UNSIGNED_INT:
- k = 0;
- for (i = 0; i < heightout; i++) {
- GLuint *uiptr = (GLuint *) dataout
- + i * rowstride
- + packskiprows * rowstride + packskippixels * components;
- for (j = 0; j < widthout * components; j++) {
- dummy(j, k + i);
- *uiptr++ = (GLuint) tempout[k++];
- }
- }
- break;
- case GL_INT:
- k = 0;
- for (i = 0; i < heightout; i++) {
- GLint *iptr = (GLint *) dataout
- + i * rowstride
- + packskiprows * rowstride + packskippixels * components;
- for (j = 0; j < widthout * components; j++) {
- dummy(j, k + i);
- *iptr++ = (GLint) tempout[k++];
- }
- }
- break;
- case GL_FLOAT:
- k = 0;
- for (i = 0; i < heightout; i++) {
- GLfloat *fptr = (GLfloat *) dataout
- + i * rowstride
- + packskiprows * rowstride + packskippixels * components;
- for (j = 0; j < widthout * components; j++) {
- dummy(j, k + i);
- *fptr++ = tempout[k++];
- }
- }
- break;
- default:
- return GLU_INVALID_ENUM;
- }
-
-
- /* free temporary image storage */
- free(tempin);
- free(tempout);
-
- return 0;
-}
-
-
-
-/*
- * Return the largest k such that 2^k <= n.
- */
-static GLint
-ilog2(GLint n)
-{
- GLint k;
-
- if (n <= 0)
- return 0;
- for (k = 0; n >>= 1; k++);
- return k;
-}
-
-
-
-/*
- * Find the value nearest to n which is also a power of two.
- */
-static GLint
-round2(GLint n)
-{
- GLint m;
-
- for (m = 1; m < n; m *= 2);
-
- /* m>=n */
- if (m - n <= n - m / 2) {
- return m;
- }
- else {
- return m / 2;
- }
-}
-
-
-/*
- * Given an pixel format and data type, return the number of bytes to
- * store one pixel.
- */
-static GLint
-bytes_per_pixel(GLenum format, GLenum type)
-{
- GLint n, m;
-
- switch (format) {
- case GL_COLOR_INDEX:
- case GL_STENCIL_INDEX:
- case GL_DEPTH_COMPONENT:
- case GL_RED:
- case GL_GREEN:
- case GL_BLUE:
- case GL_ALPHA:
- case GL_LUMINANCE:
- n = 1;
- break;
- case GL_LUMINANCE_ALPHA:
- n = 2;
- break;
- case GL_RGB:
- case GL_BGR:
- n = 3;
- break;
- case GL_RGBA:
- case GL_BGRA:
-#ifdef GL_EXT_abgr
- case GL_ABGR_EXT:
-#endif
- n = 4;
- break;
- default:
- n = 0;
- }
-
- switch (type) {
- case GL_UNSIGNED_BYTE:
- m = sizeof(GLubyte);
- break;
- case GL_BYTE:
- m = sizeof(GLbyte);
- break;
- case GL_BITMAP:
- m = 1;
- break;
- case GL_UNSIGNED_SHORT:
- m = sizeof(GLushort);
- break;
- case GL_SHORT:
- m = sizeof(GLshort);
- break;
- case GL_UNSIGNED_INT:
- m = sizeof(GLuint);
- break;
- case GL_INT:
- m = sizeof(GLint);
- break;
- case GL_FLOAT:
- m = sizeof(GLfloat);
- break;
- default:
- m = 0;
- }
-
- return n * m;
-}
-
-
-
-/*
- * WARNING: This function isn't finished and has never been tested!!!!
- */
-GLint GLAPIENTRY
-gluBuild1DMipmaps(GLenum target, GLint components,
- GLsizei width, GLenum format, GLenum type, const void *data)
-{
- return 0;
-}
-
-
-
-GLint GLAPIENTRY
-gluBuild2DMipmaps(GLenum target, GLint components,
- GLsizei width, GLsizei height, GLenum format,
- GLenum type, const void *data)
-{
- GLint w, h;
- GLint maxsize;
- void *image, *newimage;
- GLint neww, newh, level, bpp;
- int error;
- GLboolean done;
- GLint retval = 0;
- GLint unpackrowlength, unpackalignment, unpackskiprows, unpackskippixels;
- GLint packrowlength, packalignment, packskiprows, packskippixels;
- GLfloat f;
-
- if (width < 1 || height < 1)
- return GLU_INVALID_VALUE;
-
- glGetFloatv(GL_MAX_TEXTURE_SIZE, &f); maxsize = (int)f;
-
- w = round2(width);
- if (w > maxsize) {
- w = maxsize;
- }
- h = round2(height);
- if (h > maxsize) {
- h = maxsize;
- }
-
- bpp = bytes_per_pixel(format, type);
- if (bpp == 0) {
- /* probably a bad format or type enum */
- return GLU_INVALID_ENUM;
- }
-
- /* Get current glPixelStore values */
- glGetFloatv(GL_UNPACK_ROW_LENGTH, &f); unpackrowlength = (int)f;
- glGetFloatv(GL_UNPACK_ALIGNMENT, &f); unpackalignment = (int)f;
- glGetFloatv(GL_UNPACK_SKIP_ROWS, &f); unpackskiprows = (int)f;
- glGetFloatv(GL_UNPACK_SKIP_PIXELS, &f); unpackskippixels = (int)f;
- glGetFloatv(GL_PACK_ROW_LENGTH, &f); packrowlength = (int)f;
- glGetFloatv(GL_PACK_ALIGNMENT, &f); packalignment = (int)f;
- glGetFloatv(GL_PACK_SKIP_ROWS, &f); packskiprows = (int)f;
- glGetFloatv(GL_PACK_SKIP_PIXELS, &f); packskippixels = (int)f;
-
- /* set pixel packing */
- glPixelStorei(GL_PACK_ROW_LENGTH, 0);
- glPixelStorei(GL_PACK_ALIGNMENT, 1);
- glPixelStorei(GL_PACK_SKIP_ROWS, 0);
- glPixelStorei(GL_PACK_SKIP_PIXELS, 0);
-
- done = GL_FALSE;
-
- if (w != width || h != height) {
- /* must rescale image to get "top" mipmap texture image */
- image = malloc((w + 4) * h * bpp);
- if (!image) {
- return GLU_OUT_OF_MEMORY;
- }
- error = gluScaleImage(format, width, height, type, data,
- w, h, type, image);
- if (error) {
- retval = error;
- done = GL_TRUE;
- }
- }
- else {
- image = (void *) data;
- }
-
- level = 0;
- while (!done) {
- if (image != data) {
- /* set pixel unpacking */
- glPixelStorei(GL_UNPACK_ROW_LENGTH, 0);
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- glPixelStorei(GL_UNPACK_SKIP_ROWS, 0);
- glPixelStorei(GL_UNPACK_SKIP_PIXELS, 0);
- }
-
- glTexImage2D(target, level, components, w, h, 0, format, type, image);
-
- if (w == 1 && h == 1)
- break;
-
- neww = (w < 2) ? 1 : w / 2;
- newh = (h < 2) ? 1 : h / 2;
- newimage = malloc((neww + 4) * newh * bpp);
- if (!newimage) {
- return GLU_OUT_OF_MEMORY;
- }
-
- error = gluScaleImage(format, w, h, type, image,
- neww, newh, type, newimage);
- if (error) {
- retval = error;
- done = GL_TRUE;
- }
-
- if (image != data) {
- free(image);
- }
- image = newimage;
-
- w = neww;
- h = newh;
- level++;
- }
-
- if (image != data) {
- free(image);
- }
-
- /* Restore original glPixelStore state */
- glPixelStorei(GL_UNPACK_ROW_LENGTH, unpackrowlength);
- glPixelStorei(GL_UNPACK_ALIGNMENT, unpackalignment);
- glPixelStorei(GL_UNPACK_SKIP_ROWS, unpackskiprows);
- glPixelStorei(GL_UNPACK_SKIP_PIXELS, unpackskippixels);
- glPixelStorei(GL_PACK_ROW_LENGTH, packrowlength);
- glPixelStorei(GL_PACK_ALIGNMENT, packalignment);
- glPixelStorei(GL_PACK_SKIP_ROWS, packskiprows);
- glPixelStorei(GL_PACK_SKIP_PIXELS, packskippixels);
-
- return retval;
-}
diff --git a/src/glu/mini/nurbs.c b/src/glu/mini/nurbs.c
deleted file mode 100644
index 9f39cacb41..0000000000
--- a/src/glu/mini/nurbs.c
+++ /dev/null
@@ -1,157 +0,0 @@
-
-/*
- * Mesa 3-D graphics library
- * Version: 3.3
- * Copyright (C) 1995-2000 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-
-/*
- * NURBS implementation written by Bogdan Sikorski (bogdan@cira.it)
- * See README2 for more info.
- */
-
-
-#ifdef PC_HEADER
-#include "all.h"
-#else
-#include <stdio.h>
-#include <stdlib.h>
-#include "gluP.h"
-#include "nurbs.h"
-#endif
-
-
-void
-call_user_error(GLUnurbsObj * nobj, GLenum error)
-{
- nobj->error = error;
- if (nobj->error_callback != NULL) {
- (*(nobj->error_callback)) (error);
- }
- else {
- printf("NURBS error %d %s\n", error, (char *) gluErrorString(error));
- }
-}
-
-
-
-GLUnurbsObj *GLAPIENTRY
-gluNewNurbsRenderer(void)
-{
- GLUnurbsObj *n;
- GLfloat tmp_viewport[4];
- GLint i, j;
-
- n = (GLUnurbsObj *) malloc(sizeof(GLUnurbsObj));
- return n;
-}
-
-
-
-void GLAPIENTRY
-gluDeleteNurbsRenderer(GLUnurbsObj * nobj)
-{
- if (nobj) {
- free(nobj);
- }
-}
-
-
-
-void GLAPIENTRY
-gluLoadSamplingMatrices(GLUnurbsObj * nobj,
- const GLfloat modelMatrix[16],
- const GLfloat projMatrix[16], const GLint viewport[4])
-{
-}
-
-
-void GLAPIENTRY
-gluNurbsProperty(GLUnurbsObj * nobj, GLenum property, GLfloat value)
-{
-}
-
-
-void GLAPIENTRY
-gluGetNurbsProperty(GLUnurbsObj * nobj, GLenum property, GLfloat * value)
-{
-}
-
-
-
-void GLAPIENTRY
-gluBeginCurve(GLUnurbsObj * nobj)
-{
-}
-
-
-void GLAPIENTRY
-gluEndCurve(GLUnurbsObj * nobj)
-{
-}
-
-
-void GLAPIENTRY
-gluNurbsCurve(GLUnurbsObj * nobj, GLint nknots, GLfloat * knot,
- GLint stride, GLfloat * ctlarray, GLint order, GLenum type)
-{
-}
-
-
-void GLAPIENTRY
-gluBeginSurface(GLUnurbsObj * nobj)
-{
-}
-
-
-void GLAPIENTRY
-gluEndSurface(GLUnurbsObj * nobj)
-{
-}
-
-
-void GLAPIENTRY
-gluNurbsSurface(GLUnurbsObj * nobj,
- GLint sknot_count, GLfloat * sknot,
- GLint tknot_count, GLfloat * tknot,
- GLint s_stride, GLint t_stride,
- GLfloat * ctrlarray, GLint sorder, GLint torder, GLenum type)
-{
-}
-
-
-void GLAPIENTRY
-gluNurbsCallback(GLUnurbsObj * nobj, GLenum which, void (GLCALLBACK * fn) ())
-{
-}
-
-void GLAPIENTRY
-gluBeginTrim(GLUnurbsObj * nobj)
-{
-}
-
-void GLAPIENTRY
-gluPwlCurve(GLUnurbsObj * nobj, GLint count, GLfloat * array, GLint stride,
- GLenum type)
-{
-}
-
-void GLAPIENTRY
-gluEndTrim(GLUnurbsObj * nobj)
-{
-}
diff --git a/src/glu/mini/nurbs.h b/src/glu/mini/nurbs.h
deleted file mode 100644
index 3642e213a8..0000000000
--- a/src/glu/mini/nurbs.h
+++ /dev/null
@@ -1,252 +0,0 @@
-
-/*
- * Mesa 3-D graphics library
- * Version: 3.3
- * Copyright (C) 1995-2000 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-
-/*
- * NURBS implementation written by Bogdan Sikorski (bogdan@cira.it)
- * See README2 for more info.
- */
-
-
-#ifndef NURBS_H
-#define NURBS_H
-
-
-#define EPSILON 1e-06 /* epsilon for double precision compares */
-
-typedef enum
-{
- GLU_NURBS_CURVE, GLU_NURBS_SURFACE, GLU_NURBS_TRIM, GLU_NURBS_NO_TRIM,
- GLU_NURBS_TRIM_DONE, GLU_NURBS_NONE
-}
-GLU_nurbs_enum;
-
-typedef enum
-{
- GLU_TRIM_NURBS, GLU_TRIM_PWL
-}
-GLU_trim_enum;
-
-typedef struct
-{
- GLint sknot_count;
- GLfloat *sknot;
- GLint tknot_count;
- GLfloat *tknot;
- GLint s_stride;
- GLint t_stride;
- GLfloat *ctrlarray;
- GLint sorder;
- GLint torder;
- GLint dim;
- GLenum type;
-}
-surface_attribs;
-
-typedef struct
-{
- surface_attribs geom;
- surface_attribs color;
- surface_attribs texture;
- surface_attribs normal;
-}
-nurbs_surface;
-
-typedef struct
-{
- GLint knot_count;
- GLfloat *knot;
- GLint stride;
- GLfloat *ctrlarray;
- GLint order;
- GLint dim;
- GLenum type;
-}
-curve_attribs;
-
-typedef struct
-{
- GLint pt_count;
- GLfloat *ctrlarray;
- GLint stride;
- GLint dim;
- GLenum type;
-}
-pwl_curve_attribs;
-
-typedef struct
-{
- curve_attribs geom;
- curve_attribs color;
- curve_attribs texture;
- curve_attribs normal;
-}
-nurbs_curve;
-
-typedef struct trim_list_str
-{
- GLU_trim_enum trim_type;
- union
- {
- pwl_curve_attribs pwl_curve;
- curve_attribs nurbs_curve;
- }
- curve;
- struct trim_list_str *next;
-}
-trim_list;
-
-typedef struct seg_trim_str
-{
- GLfloat *points;
- GLint pt_cnt, seg_array_len;
- struct seg_trim_str *next;
-}
-trim_segments;
-
-typedef struct nurbs_trim_str
-{
- trim_list *trim_loop;
- trim_segments *segments;
- struct nurbs_trim_str *next;
-}
-nurbs_trim;
-
-typedef struct
-{
- GLfloat model[16], proj[16], viewport[4];
-}
-culling_and_sampling_str;
-
-struct GLUnurbs
-{
- GLboolean culling;
- GLenum error;
- void (GLCALLBACK * error_callback) (GLenum err);
- GLenum display_mode;
- GLU_nurbs_enum nurbs_type;
- GLboolean auto_load_matrix;
- culling_and_sampling_str sampling_matrices;
- GLenum sampling_method;
- GLfloat sampling_tolerance;
- GLfloat parametric_tolerance;
- GLint u_step, v_step;
- nurbs_surface surface;
- nurbs_curve curve;
- nurbs_trim *trim;
-};
-
-typedef struct
-{
- GLfloat *knot;
- GLint nknots;
- GLfloat *unified_knot;
- GLint unified_nknots;
- GLint order;
- GLint t_min, t_max;
- GLint delta_nknots;
- GLboolean open_at_begin, open_at_end;
- GLfloat *new_knot;
- GLfloat *alpha;
-}
-knot_str_type;
-
-typedef struct
-{
- GLfloat *geom_ctrl;
- GLint geom_s_stride, geom_t_stride;
- GLfloat **geom_offsets;
- GLint geom_s_pt_cnt, geom_t_pt_cnt;
- GLfloat *color_ctrl;
- GLint color_s_stride, color_t_stride;
- GLfloat **color_offsets;
- GLint color_s_pt_cnt, color_t_pt_cnt;
- GLfloat *normal_ctrl;
- GLint normal_s_stride, normal_t_stride;
- GLfloat **normal_offsets;
- GLint normal_s_pt_cnt, normal_t_pt_cnt;
- GLfloat *texture_ctrl;
- GLint texture_s_stride, texture_t_stride;
- GLfloat **texture_offsets;
- GLint texture_s_pt_cnt, texture_t_pt_cnt;
- GLint s_bezier_cnt, t_bezier_cnt;
-}
-new_ctrl_type;
-
-extern void call_user_error(GLUnurbsObj * nobj, GLenum error);
-
-extern GLenum test_knot(GLint nknots, GLfloat * knot, GLint order);
-
-extern GLenum explode_knot(knot_str_type * the_knot);
-
-extern GLenum calc_alphas(knot_str_type * the_knot);
-
-extern GLenum calc_new_ctrl_pts(GLfloat * ctrl, GLint stride,
- knot_str_type * the_knot, GLint dim,
- GLfloat ** new_ctrl, GLint * ncontrol);
-
-extern GLenum glu_do_sampling_crv(GLUnurbsObj * nobj, GLfloat * new_ctrl,
- GLint n_ctrl, GLint order, GLint dim,
- GLint ** factors);
-
-extern GLenum glu_do_sampling_3D(GLUnurbsObj * nobj, new_ctrl_type * new_ctrl,
- int **sfactors, GLint ** tfactors);
-
-extern GLenum glu_do_sampling_uv(GLUnurbsObj * nobj, new_ctrl_type * new_ctrl,
- int **sfactors, GLint ** tfactors);
-
-extern GLenum glu_do_sampling_param_3D(GLUnurbsObj * nobj,
- new_ctrl_type * new_ctrl,
- int **sfactors, GLint ** tfactors);
-
-extern GLboolean fine_culling_test_2D(GLUnurbsObj * nobj, GLfloat * ctrl,
- GLint n_ctrl, GLint stride, GLint dim);
-
-extern GLboolean fine_culling_test_3D(GLUnurbsObj * nobj, GLfloat * ctrl,
- GLint s_n_ctrl, GLint t_n_ctrl,
- GLint s_stride, GLint t_stride,
- GLint dim);
-
-extern void do_nurbs_curve(GLUnurbsObj * nobj);
-
-extern void do_nurbs_surface(GLUnurbsObj * nobj);
-
-extern GLenum patch_trimming(GLUnurbsObj * nobj, new_ctrl_type * new_ctrl,
- GLint * sfactors, GLint * tfactors);
-
-extern void collect_unified_knot(knot_str_type * dest, knot_str_type * src,
- GLfloat maximal_min_knot,
- GLfloat minimal_max_knot);
-
-extern GLenum select_knot_working_range(GLUnurbsObj * nobj,
- knot_str_type * geom_knot,
- knot_str_type * color_knot,
- knot_str_type * normal_knot,
- knot_str_type * texture_knot);
-
-extern void free_unified_knots(knot_str_type * geom_knot,
- knot_str_type * color_knot,
- knot_str_type * normal_knot,
- knot_str_type * texture_knot);
-
-
-
-#endif
diff --git a/src/glu/mini/nurbscrv.c b/src/glu/mini/nurbscrv.c
deleted file mode 100644
index e80468fdb0..0000000000
--- a/src/glu/mini/nurbscrv.c
+++ /dev/null
@@ -1,132 +0,0 @@
-
-/*
- * Mesa 3-D graphics library
- * Version: 3.3
- * Copyright (C) 1995-2000 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-
-/*
- * NURBS implementation written by Bogdan Sikorski (bogdan@cira.it)
- * See README2 for more info.
- */
-
-
-#ifdef PC_HEADER
-#include "all.h"
-#else
-#include <math.h>
-#include <stdlib.h>
-#include "gluP.h"
-#include "nurbs.h"
-#endif
-
-
-
-/* main NURBS curve procedure */
-void
-do_nurbs_curve(GLUnurbsObj * nobj)
-{
- GLint geom_order, color_order = 0, normal_order = 0, texture_order = 0;
- GLenum geom_type;
- GLint n_ctrl;
- GLfloat *new_geom_ctrl, *new_color_ctrl, *new_normal_ctrl,
- *new_texture_ctrl;
- GLfloat *geom_ctrl = 0, *color_ctrl = 0, *normal_ctrl = 0, *texture_ctrl = 0;
- GLint *factors;
- GLint i, j;
- GLint geom_dim, color_dim = 0, normal_dim = 0, texture_dim = 0;
-
- /* test the user supplied data */
- if (test_nurbs_curves(nobj) != GLU_NO_ERROR)
- return;
-
- if (convert_curves(nobj, &new_geom_ctrl, &n_ctrl, &new_color_ctrl,
- &new_normal_ctrl, &new_texture_ctrl) != GLU_NO_ERROR)
- return;
-
- geom_order = nobj->curve.geom.order;
- geom_type = nobj->curve.geom.type;
- geom_dim = nobj->curve.geom.dim;
-
- if (glu_do_sampling_crv(nobj, new_geom_ctrl, n_ctrl, geom_order, geom_dim,
- &factors) != GLU_NO_ERROR) {
- free(new_geom_ctrl);
- if (new_color_ctrl)
- free(new_color_ctrl);
- if (new_normal_ctrl)
- free(new_normal_ctrl);
- if (new_texture_ctrl)
- free(new_texture_ctrl);
- return;
- }
- glEnable(geom_type);
- if (new_color_ctrl) {
- glEnable(nobj->curve.color.type);
- color_dim = nobj->curve.color.dim;
- color_ctrl = new_color_ctrl;
- color_order = nobj->curve.color.order;
- }
- if (new_normal_ctrl) {
- glEnable(nobj->curve.normal.type);
- normal_dim = nobj->curve.normal.dim;
- normal_ctrl = new_normal_ctrl;
- normal_order = nobj->curve.normal.order;
- }
- if (new_texture_ctrl) {
- glEnable(nobj->curve.texture.type);
- texture_dim = nobj->curve.texture.dim;
- texture_ctrl = new_texture_ctrl;
- texture_order = nobj->curve.texture.order;
- }
- for (i = 0, j = 0, geom_ctrl = new_geom_ctrl;
- i < n_ctrl; i += geom_order, j++, geom_ctrl += geom_order * geom_dim) {
- if (fine_culling_test_2D
- (nobj, geom_ctrl, geom_order, geom_dim, geom_dim)) {
- color_ctrl += color_order * color_dim;
- normal_ctrl += normal_order * normal_dim;
- texture_ctrl += texture_order * texture_dim;
- continue;
- }
- glMap1f(geom_type, 0.0, 1.0, geom_dim, geom_order, geom_ctrl);
- if (new_color_ctrl) {
- glMap1f(nobj->curve.color.type, 0.0, 1.0, color_dim,
- color_order, color_ctrl);
- color_ctrl += color_order * color_dim;
- }
- if (new_normal_ctrl) {
- glMap1f(nobj->curve.normal.type, 0.0, 1.0, normal_dim,
- normal_order, normal_ctrl);
- normal_ctrl += normal_order * normal_dim;
- }
- if (new_texture_ctrl) {
- glMap1f(nobj->curve.texture.type, 0.0, 1.0, texture_dim,
- texture_order, texture_ctrl);
- texture_ctrl += texture_order * texture_dim;
- }
- glMapGrid1f(factors[j], 0.0, 1.0);
- glEvalMesh1(GL_LINE, 0, factors[j]);
- }
- free(new_geom_ctrl);
- free(factors);
- if (new_color_ctrl)
- free(new_color_ctrl);
- if (new_normal_ctrl)
- free(new_normal_ctrl);
- if (new_texture_ctrl)
- free(new_texture_ctrl);
-}
diff --git a/src/glu/mini/polytest.c b/src/glu/mini/polytest.c
deleted file mode 100644
index 1ff966f61c..0000000000
--- a/src/glu/mini/polytest.c
+++ /dev/null
@@ -1,937 +0,0 @@
-
-/*
- * Mesa 3-D graphics library
- * Version: 3.3
- * Copyright (C) 1995-2000 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-
-/*
- * This file is part of the polygon tesselation code contributed by
- * Bogdan Sikorski
- */
-
-
-#ifdef PC_HEADER
-#include "all.h"
-#else
-#include <math.h>
-#include <stdlib.h>
-#include "gluP.h"
-#include "tess.h"
-#endif
-
-
-
-static GLenum store_polygon_as_contour(GLUtriangulatorObj *);
-static void free_current_polygon(tess_polygon *);
-static void prepare_projection_info(GLUtriangulatorObj *);
-static GLdouble twice_the_polygon_area(tess_vertex *, tess_vertex *);
-static GLenum verify_edge_vertex_intersections(GLUtriangulatorObj *);
-void tess_find_contour_hierarchies(GLUtriangulatorObj *);
-static GLenum test_for_overlapping_contours(GLUtriangulatorObj *);
-static GLenum contours_overlap(tess_contour *, tess_polygon *);
-static GLenum is_contour_contained_in(tess_contour *, tess_contour *);
-static void add_new_exterior(GLUtriangulatorObj *, tess_contour *);
-static void add_new_interior(GLUtriangulatorObj *, tess_contour *,
- tess_contour *);
-static void add_interior_with_hierarchy_check(GLUtriangulatorObj *,
- tess_contour *, tess_contour *);
-static void reverse_hierarchy_and_add_exterior(GLUtriangulatorObj *,
- tess_contour *,
- tess_contour *);
-static GLboolean point_in_polygon(tess_contour *, GLdouble, GLdouble);
-static void shift_interior_to_exterior(GLUtriangulatorObj *, tess_contour *);
-static void add_exterior_with_check(GLUtriangulatorObj *, tess_contour *,
- tess_contour *);
-static GLenum cut_out_hole(GLUtriangulatorObj *, tess_contour *,
- tess_contour *);
-static GLenum merge_hole_with_contour(GLUtriangulatorObj *,
- tess_contour *, tess_contour *,
- tess_vertex *, tess_vertex *);
-
-static GLenum
-find_normal(GLUtriangulatorObj * tobj)
-{
- tess_polygon *polygon = tobj->current_polygon;
- tess_vertex *va, *vb, *vc;
- GLdouble A, B, C;
- GLdouble A0, A1, A2, B0, B1, B2;
-
- va = polygon->vertices;
- vb = va->next;
- A0 = vb->location[0] - va->location[0];
- A1 = vb->location[1] - va->location[1];
- A2 = vb->location[2] - va->location[2];
- for (vc = vb->next; vc != va; vc = vc->next) {
- B0 = vc->location[0] - va->location[0];
- B1 = vc->location[1] - va->location[1];
- B2 = vc->location[2] - va->location[2];
- A = A1 * B2 - A2 * B1;
- B = A2 * B0 - A0 * B2;
- C = A0 * B1 - A1 * B0;
- if (fabs(A) > EPSILON || fabs(B) > EPSILON || fabs(C) > EPSILON) {
- polygon->A = A;
- polygon->B = B;
- polygon->C = C;
- polygon->D =
- -A * va->location[0] - B * va->location[1] - C * va->location[2];
- return GLU_NO_ERROR;
- }
- }
- tess_call_user_error(tobj, GLU_TESS_ERROR7);
- return GLU_ERROR;
-}
-
-void
-tess_test_polygon(GLUtriangulatorObj * tobj)
-{
- tess_polygon *polygon = tobj->current_polygon;
-
- /* any vertices defined? */
- if (polygon->vertex_cnt < 3) {
- free_current_polygon(polygon);
- return;
- }
- /* wrap pointers */
- polygon->last_vertex->next = polygon->vertices;
- polygon->vertices->previous = polygon->last_vertex;
- /* determine the normal */
- if (find_normal(tobj) == GLU_ERROR)
- return;
- /* compare the normals of previously defined contours and this one */
- /* first contour define ? */
- if (tobj->contours == NULL) {
- tobj->A = polygon->A;
- tobj->B = polygon->B;
- tobj->C = polygon->C;
- tobj->D = polygon->D;
- /* determine the best projection to use */
- if (fabs(polygon->A) > fabs(polygon->B))
- if (fabs(polygon->A) > fabs(polygon->C))
- tobj->projection = OYZ;
- else
- tobj->projection = OXY;
- else if (fabs(polygon->B) > fabs(polygon->C))
- tobj->projection = OXZ;
- else
- tobj->projection = OXY;
- }
- else {
- GLdouble a[3], b[3];
- tess_vertex *vertex = polygon->vertices;
-
- a[0] = tobj->A;
- a[1] = tobj->B;
- a[2] = tobj->C;
- b[0] = polygon->A;
- b[1] = polygon->B;
- b[2] = polygon->C;
-
- /* compare the normals */
- if (fabs(a[1] * b[2] - a[2] * b[1]) > EPSILON ||
- fabs(a[2] * b[0] - a[0] * b[2]) > EPSILON ||
- fabs(a[0] * b[1] - a[1] * b[0]) > EPSILON) {
- /* not coplanar */
- tess_call_user_error(tobj, GLU_TESS_ERROR9);
- return;
- }
- /* the normals are parallel - test for plane equation */
- if (fabs(a[0] * vertex->location[0] + a[1] * vertex->location[1] +
- a[2] * vertex->location[2] + tobj->D) > EPSILON) {
- /* not the same plane */
- tess_call_user_error(tobj, GLU_TESS_ERROR9);
- return;
- }
- }
- prepare_projection_info(tobj);
- if (verify_edge_vertex_intersections(tobj) == GLU_ERROR)
- return;
- if (test_for_overlapping_contours(tobj) == GLU_ERROR)
- return;
- if (store_polygon_as_contour(tobj) == GLU_ERROR)
- return;
-}
-
-static GLenum
-test_for_overlapping_contours(GLUtriangulatorObj * tobj)
-{
- tess_contour *contour;
- tess_polygon *polygon;
-
- polygon = tobj->current_polygon;
- for (contour = tobj->contours; contour != NULL; contour = contour->next)
- if (contours_overlap(contour, polygon) != GLU_NO_ERROR) {
- tess_call_user_error(tobj, GLU_TESS_ERROR5);
- return GLU_ERROR;
- }
- return GLU_NO_ERROR;
-}
-
-static GLenum
-store_polygon_as_contour(GLUtriangulatorObj * tobj)
-{
- tess_polygon *polygon = tobj->current_polygon;
- tess_contour *contour = tobj->contours;
-
- /* the first contour defined */
- if (contour == NULL) {
- if ((contour = (tess_contour *) malloc(sizeof(tess_contour))) == NULL) {
- tess_call_user_error(tobj, GLU_OUT_OF_MEMORY);
- free_current_polygon(polygon);
- return GLU_ERROR;
- }
- tobj->contours = tobj->last_contour = contour;
- contour->next = contour->previous = NULL;
- }
- else {
- if ((contour = (tess_contour *) malloc(sizeof(tess_contour))) == NULL) {
- tess_call_user_error(tobj, GLU_OUT_OF_MEMORY);
- free_current_polygon(polygon);
- return GLU_ERROR;
- }
- contour->previous = tobj->last_contour;
- tobj->last_contour->next = contour;
- tobj->last_contour = contour;
- contour->next = NULL;
- }
- /* mark all vertices in new contour as not special */
- /* and all are boundary edges */
- {
- tess_vertex *vertex;
- GLuint vertex_cnt, i;
-
- for (vertex = polygon->vertices, i = 0, vertex_cnt =
- polygon->vertex_cnt; i < vertex_cnt; vertex = vertex->next, i++) {
- vertex->shadow_vertex = NULL;
- vertex->edge_flag = GL_TRUE;
- }
- }
- contour->vertex_cnt = polygon->vertex_cnt;
- contour->area = polygon->area;
- contour->orientation = polygon->orientation;
- contour->type = GLU_UNKNOWN;
- contour->vertices = polygon->vertices;
- contour->last_vertex = polygon->last_vertex;
- polygon->vertices = polygon->last_vertex = NULL;
- polygon->vertex_cnt = 0;
- ++(tobj->contour_cnt);
- return GLU_NO_ERROR;
-}
-
-static void
-free_current_polygon(tess_polygon * polygon)
-{
- tess_vertex *vertex, *vertex_tmp;
- GLuint i;
-
- /* free current_polygon structures */
- for (vertex = polygon->vertices, i = 0; i < polygon->vertex_cnt; i++) {
- vertex_tmp = vertex->next;
- free(vertex);
- vertex = vertex_tmp;
- }
- polygon->vertices = polygon->last_vertex = NULL;
- polygon->vertex_cnt = 0;
-}
-
-static void
-prepare_projection_info(GLUtriangulatorObj * tobj)
-{
- tess_polygon *polygon = tobj->current_polygon;
- tess_vertex *vertex, *last_vertex_ptr;
- GLdouble area;
-
- last_vertex_ptr = polygon->last_vertex;
- switch (tobj->projection) {
- case OXY:
- for (vertex = polygon->vertices; vertex != last_vertex_ptr;
- vertex = vertex->next) {
- vertex->x = vertex->location[0];
- vertex->y = vertex->location[1];
- }
- last_vertex_ptr->x = last_vertex_ptr->location[0];
- last_vertex_ptr->y = last_vertex_ptr->location[1];
- break;
- case OXZ:
- for (vertex = polygon->vertices; vertex != last_vertex_ptr;
- vertex = vertex->next) {
- vertex->x = vertex->location[0];
- vertex->y = vertex->location[2];
- }
- last_vertex_ptr->x = last_vertex_ptr->location[0];
- last_vertex_ptr->y = last_vertex_ptr->location[2];
- break;
- case OYZ:
- for (vertex = polygon->vertices; vertex != last_vertex_ptr;
- vertex = vertex->next) {
- vertex->x = vertex->location[1];
- vertex->y = vertex->location[2];
- }
- last_vertex_ptr->x = last_vertex_ptr->location[1];
- last_vertex_ptr->y = last_vertex_ptr->location[2];
- break;
- }
- area = twice_the_polygon_area(polygon->vertices, polygon->last_vertex);
- if (area >= 0.0) {
- polygon->orientation = GLU_CCW;
- polygon->area = area;
- }
- else {
- polygon->orientation = GLU_CW;
- polygon->area = -area;
- }
-}
-
-static GLdouble
-twice_the_polygon_area(tess_vertex * vertex, tess_vertex * last_vertex)
-{
- tess_vertex *next;
- GLdouble area, x, y;
-
- area = 0.0;
- x = vertex->x;
- y = vertex->y;
- vertex = vertex->next;
- for (; vertex != last_vertex; vertex = vertex->next) {
- next = vertex->next;
- area +=
- (vertex->x - x) * (next->y - y) - (vertex->y - y) * (next->x - x);
- }
- return area;
-}
-
-/* test if edges ab and cd intersect */
-/* if not return GLU_NO_ERROR, else if cross return GLU_TESS_ERROR8, */
-/* else if adjacent return GLU_TESS_ERROR4 */
-static GLenum
-edge_edge_intersect(tess_vertex * a,
- tess_vertex * b, tess_vertex * c, tess_vertex * d)
-{
- GLdouble denom, r, s;
- GLdouble xba, ydc, yba, xdc, yac, xac;
-
- xba = b->x - a->x;
- yba = b->y - a->y;
- xdc = d->x - c->x;
- ydc = d->y - c->y;
- xac = a->x - c->x;
- yac = a->y - c->y;
- denom = xba * ydc - yba * xdc;
- r = yac * xdc - xac * ydc;
- /* parallel? */
- if (fabs(denom) < EPSILON) {
- if (fabs(r) < EPSILON) {
- /* colinear */
- if (fabs(xba) < EPSILON) {
- /* compare the Y coordinate */
- if (yba > 0.0) {
- if (
- (fabs(a->y - c->y) < EPSILON
- && fabs(c->y - b->y) < EPSILON)
- || (fabs(a->y - d->y) < EPSILON
- && fabs(d->y - b->y) <
- EPSILON)) return GLU_TESS_ERROR4;
-
- }
- else {
- if (
- (fabs(b->y - c->y) < EPSILON
- && fabs(c->y - a->y) < EPSILON)
- || (fabs(b->y - d->y) < EPSILON
- && fabs(d->y - a->y) <
- EPSILON)) return GLU_TESS_ERROR4;
- }
- }
- else {
- /* compare the X coordinate */
- if (xba > 0.0) {
- if (
- (fabs(a->x - c->x) < EPSILON
- && fabs(c->x - b->x) < EPSILON)
- || (fabs(a->x - d->x) < EPSILON
- && fabs(d->x - b->x) <
- EPSILON)) return GLU_TESS_ERROR4;
- }
- else {
- if (
- (fabs(b->x - c->x) < EPSILON
- && fabs(c->x - a->x) < EPSILON)
- || (fabs(b->x - d->x) < EPSILON
- && fabs(d->x - a->x) <
- EPSILON)) return GLU_TESS_ERROR4;
- }
- }
- }
- return GLU_NO_ERROR;
- }
- r /= denom;
- s = (yac * xba - xac * yba) / denom;
- /* test if one vertex lies on other edge */
- if (((fabs(r) < EPSILON || (r < 1.0 + EPSILON && r > 1.0 - EPSILON)) &&
- s > -EPSILON && s < 1.0 + EPSILON) ||
- ((fabs(s) < EPSILON || (s < 1.0 + EPSILON && s > 1.0 - EPSILON)) &&
- r > -EPSILON && r < 1.0 + EPSILON)) {
- return GLU_TESS_ERROR4;
- }
- /* test for crossing */
- if (r > -EPSILON && r < 1.0 + EPSILON && s > -EPSILON && s < 1.0 + EPSILON) {
- return GLU_TESS_ERROR8;
- }
- return GLU_NO_ERROR;
-}
-
-static GLenum
-verify_edge_vertex_intersections(GLUtriangulatorObj * tobj)
-{
- tess_polygon *polygon = tobj->current_polygon;
- tess_vertex *vertex1, *last_vertex, *vertex2;
- GLenum test;
-
- last_vertex = polygon->last_vertex;
- vertex1 = last_vertex;
- for (vertex2 = vertex1->next->next;
- vertex2->next != last_vertex; vertex2 = vertex2->next) {
- test = edge_edge_intersect(vertex1, vertex1->next, vertex2,
- vertex2->next);
- if (test != GLU_NO_ERROR) {
- tess_call_user_error(tobj, test);
- return GLU_ERROR;
- }
- }
- for (vertex1 = polygon->vertices;
- vertex1->next->next != last_vertex; vertex1 = vertex1->next) {
- for (vertex2 = vertex1->next->next;
- vertex2 != last_vertex; vertex2 = vertex2->next) {
- test = edge_edge_intersect(vertex1, vertex1->next, vertex2,
- vertex2->next);
- if (test != GLU_NO_ERROR) {
- tess_call_user_error(tobj, test);
- return GLU_ERROR;
- }
- }
- }
- return GLU_NO_ERROR;
-}
-
-static int
-#ifdef WIN32
- __cdecl
-#endif
-area_compare(const void *a, const void *b)
-{
- GLdouble area1, area2;
-
- area1 = (*((tess_contour **) a))->area;
- area2 = (*((tess_contour **) b))->area;
- if (area1 < area2)
- return 1;
- if (area1 > area2)
- return -1;
- return 0;
-}
-
-void
-tess_find_contour_hierarchies(GLUtriangulatorObj * tobj)
-{
- tess_contour **contours; /* dinamic array of pointers */
- tess_contour *tmp_contour_ptr = tobj->contours;
- GLuint cnt, i;
- GLenum result;
- GLboolean hierarchy_changed;
-
- /* any contours? */
- if (tobj->contour_cnt < 2) {
- tobj->contours->type = GLU_EXTERIOR;
- return;
- }
- if ((contours = (tess_contour **)
- malloc(sizeof(tess_contour *) * (tobj->contour_cnt))) == NULL) {
- tess_call_user_error(tobj, GLU_OUT_OF_MEMORY);
- return;
- }
- for (tmp_contour_ptr = tobj->contours, cnt = 0;
- tmp_contour_ptr != NULL; tmp_contour_ptr = tmp_contour_ptr->next)
- contours[cnt++] = tmp_contour_ptr;
- /* now sort the contours in decreasing area size order */
- qsort((void *) contours, (size_t) cnt, (size_t) sizeof(tess_contour *),
- area_compare);
- /* we leave just the first contour - remove others from list */
- tobj->contours = contours[0];
- tobj->contours->next = tobj->contours->previous = NULL;
- tobj->last_contour = tobj->contours;
- tobj->contour_cnt = 1;
- /* first contour is the one with greatest area */
- /* must be EXTERIOR */
- tobj->contours->type = GLU_EXTERIOR;
- tmp_contour_ptr = tobj->contours;
- /* now we play! */
- for (i = 1; i < cnt; i++) {
- hierarchy_changed = GL_FALSE;
- for (tmp_contour_ptr = tobj->contours;
- tmp_contour_ptr != NULL; tmp_contour_ptr = tmp_contour_ptr->next) {
- if (tmp_contour_ptr->type == GLU_EXTERIOR) {
- /* check if contour completely contained in EXTERIOR */
- result = is_contour_contained_in(tmp_contour_ptr, contours[i]);
- switch (result) {
- case GLU_INTERIOR:
- /* now we have to check if contour is inside interiors */
- /* or not */
- /* any interiors? */
- if (tmp_contour_ptr->next != NULL &&
- tmp_contour_ptr->next->type == GLU_INTERIOR) {
- /* for all interior, check if inside any of them */
- /* if not inside any of interiors, its another */
- /* interior */
- /* or it may contain some interiors, then change */
- /* the contained interiors to exterior ones */
- add_interior_with_hierarchy_check(tobj,
- tmp_contour_ptr,
- contours[i]);
- }
- else {
- /* not in interior, add as new interior contour */
- add_new_interior(tobj, tmp_contour_ptr, contours[i]);
- }
- hierarchy_changed = GL_TRUE;
- break;
- case GLU_EXTERIOR:
- /* ooops, the marked as EXTERIOR (contours[i]) is */
- /* actually an interior of tmp_contour_ptr */
- /* reverse the local hierarchy */
- reverse_hierarchy_and_add_exterior(tobj, tmp_contour_ptr,
- contours[i]);
- hierarchy_changed = GL_TRUE;
- break;
- case GLU_NO_ERROR:
- break;
- default:
- abort();
- }
- }
- if (hierarchy_changed)
- break; /* break from for loop */
- }
- if (hierarchy_changed == GL_FALSE) {
- /* disjoint with all contours, add to contour list */
- add_new_exterior(tobj, contours[i]);
- }
- }
- free(contours);
-}
-
-/* returns GLU_INTERIOR if inner is completey enclosed within outer */
-/* returns GLU_EXTERIOR if outer is completely enclosed within inner */
-/* returns GLU_NO_ERROR if contours are disjoint */
-static GLenum
-is_contour_contained_in(tess_contour * outer, tess_contour * inner)
-{
- GLenum relation_flag;
-
- /* set relation_flag to relation of containment of first inner vertex */
- /* regarding outer contour */
- if (point_in_polygon(outer, inner->vertices->x, inner->vertices->y))
- relation_flag = GLU_INTERIOR;
- else
- relation_flag = GLU_EXTERIOR;
- if (relation_flag == GLU_INTERIOR)
- return GLU_INTERIOR;
- if (point_in_polygon(inner, outer->vertices->x, outer->vertices->y))
- return GLU_EXTERIOR;
- return GLU_NO_ERROR;
-}
-
-static GLboolean
-point_in_polygon(tess_contour * contour, GLdouble x, GLdouble y)
-{
- tess_vertex *v1, *v2;
- GLuint i, vertex_cnt;
- GLdouble xp1, yp1, xp2, yp2;
- GLboolean tst;
-
- tst = GL_FALSE;
- v1 = contour->vertices;
- v2 = contour->vertices->previous;
- for (i = 0, vertex_cnt = contour->vertex_cnt; i < vertex_cnt; i++) {
- xp1 = v1->x;
- yp1 = v1->y;
- xp2 = v2->x;
- yp2 = v2->y;
- if ((((yp1 <= y) && (y < yp2)) || ((yp2 <= y) && (y < yp1))) &&
- (x < (xp2 - xp1) * (y - yp1) / (yp2 - yp1) + xp1))
- tst = (tst == GL_FALSE ? GL_TRUE : GL_FALSE);
- v2 = v1;
- v1 = v1->next;
- }
- return tst;
-}
-
-static GLenum
-contours_overlap(tess_contour * contour, tess_polygon * polygon)
-{
- tess_vertex *vertex1, *vertex2;
- GLuint vertex1_cnt, vertex2_cnt, i, j;
- GLenum test;
-
- vertex1 = contour->vertices;
- vertex2 = polygon->vertices;
- vertex1_cnt = contour->vertex_cnt;
- vertex2_cnt = polygon->vertex_cnt;
- for (i = 0; i < vertex1_cnt; vertex1 = vertex1->next, i++) {
- for (j = 0; j < vertex2_cnt; vertex2 = vertex2->next, j++)
- if ((test = edge_edge_intersect(vertex1, vertex1->next, vertex2,
- vertex2->next)) != GLU_NO_ERROR)
- return test;
- }
- return GLU_NO_ERROR;
-}
-
-static void
-add_new_exterior(GLUtriangulatorObj * tobj, tess_contour * contour)
-{
- contour->type = GLU_EXTERIOR;
- contour->next = NULL;
- contour->previous = tobj->last_contour;
- tobj->last_contour->next = contour;
- tobj->last_contour = contour;
-}
-
-static void
-add_new_interior(GLUtriangulatorObj * tobj,
- tess_contour * outer, tess_contour * contour)
-{
- contour->type = GLU_INTERIOR;
- contour->next = outer->next;
- contour->previous = outer;
- if (outer->next != NULL)
- outer->next->previous = contour;
- outer->next = contour;
- if (tobj->last_contour == outer)
- tobj->last_contour = contour;
-}
-
-static void
-add_interior_with_hierarchy_check(GLUtriangulatorObj * tobj,
- tess_contour * outer,
- tess_contour * contour)
-{
- tess_contour *ptr;
-
- /* for all interiors of outer check if they are interior of contour */
- /* if so, change that interior to exterior and move it of of the */
- /* interior sequence */
- if (outer->next != NULL && outer->next->type == GLU_INTERIOR) {
- GLenum test;
-
- for (ptr = outer->next; ptr != NULL && ptr->type == GLU_INTERIOR;
- ptr = ptr->next) {
- test = is_contour_contained_in(ptr, contour);
- switch (test) {
- case GLU_INTERIOR:
- /* contour is contained in one of the interiors */
- /* check if possibly contained in other exteriors */
- /* move ptr to first EXTERIOR */
- for (; ptr != NULL && ptr->type == GLU_INTERIOR; ptr = ptr->next);
- if (ptr == NULL)
- /* another exterior */
- add_new_exterior(tobj, contour);
- else
- add_exterior_with_check(tobj, ptr, contour);
- return;
- case GLU_EXTERIOR:
- /* one of the interiors is contained in the contour */
- /* change it to EXTERIOR, and shift it away from the */
- /* interior sequence */
- shift_interior_to_exterior(tobj, ptr);
- break;
- case GLU_NO_ERROR:
- /* disjoint */
- break;
- default:
- abort();
- }
- }
- }
- /* add contour to the interior sequence */
- add_new_interior(tobj, outer, contour);
-}
-
-static void
-reverse_hierarchy_and_add_exterior(GLUtriangulatorObj * tobj,
- tess_contour * outer,
- tess_contour * contour)
-{
- tess_contour *ptr;
-
- /* reverse INTERIORS to EXTERIORS */
- /* any INTERIORS? */
- if (outer->next != NULL && outer->next->type == GLU_INTERIOR)
- for (ptr = outer->next; ptr != NULL && ptr->type == GLU_INTERIOR;
- ptr = ptr->next) ptr->type = GLU_EXTERIOR;
- /* the outer now becomes inner */
- outer->type = GLU_INTERIOR;
- /* contour is the EXTERIOR */
- contour->next = outer;
- if (tobj->contours == outer) {
- /* first contour beeing reversed */
- contour->previous = NULL;
- tobj->contours = contour;
- }
- else {
- outer->previous->next = contour;
- contour->previous = outer->previous;
- }
- outer->previous = contour;
-}
-
-static void
-shift_interior_to_exterior(GLUtriangulatorObj * tobj, tess_contour * contour)
-{
- contour->previous->next = contour->next;
- if (contour->next != NULL)
- contour->next->previous = contour->previous;
- else
- tobj->last_contour = contour->previous;
-}
-
-static void
-add_exterior_with_check(GLUtriangulatorObj * tobj,
- tess_contour * outer, tess_contour * contour)
-{
- GLenum test;
-
- /* this contour might be interior to further exteriors - check */
- /* if not, just add as a new exterior */
- for (; outer != NULL && outer->type == GLU_EXTERIOR; outer = outer->next) {
- test = is_contour_contained_in(outer, contour);
- switch (test) {
- case GLU_INTERIOR:
- /* now we have to check if contour is inside interiors */
- /* or not */
- /* any interiors? */
- if (outer->next != NULL && outer->next->type == GLU_INTERIOR) {
- /* for all interior, check if inside any of them */
- /* if not inside any of interiors, its another */
- /* interior */
- /* or it may contain some interiors, then change */
- /* the contained interiors to exterior ones */
- add_interior_with_hierarchy_check(tobj, outer, contour);
- }
- else {
- /* not in interior, add as new interior contour */
- add_new_interior(tobj, outer, contour);
- }
- return;
- case GLU_NO_ERROR:
- /* disjoint */
- break;
- default:
- abort();
- }
- }
- /* add contour to the exterior sequence */
- add_new_exterior(tobj, contour);
-}
-
-void
-tess_handle_holes(GLUtriangulatorObj * tobj)
-{
- tess_contour *contour, *hole;
- GLenum exterior_orientation;
-
- /* verify hole orientation */
- for (contour = tobj->contours; contour != NULL;) {
- exterior_orientation = contour->orientation;
- for (contour = contour->next;
- contour != NULL && contour->type == GLU_INTERIOR;
- contour = contour->next) {
- if (contour->orientation == exterior_orientation) {
- tess_call_user_error(tobj, GLU_TESS_ERROR5);
- return;
- }
- }
- }
- /* now cut-out holes */
- for (contour = tobj->contours; contour != NULL;) {
- hole = contour->next;
- while (hole != NULL && hole->type == GLU_INTERIOR) {
- if (cut_out_hole(tobj, contour, hole) == GLU_ERROR)
- return;
- hole = contour->next;
- }
- contour = contour->next;
- }
-}
-
-static GLenum
-cut_out_hole(GLUtriangulatorObj * tobj,
- tess_contour * contour, tess_contour * hole)
-{
- tess_contour *tmp_hole;
- tess_vertex *v1, *v2, *tmp_vertex;
- GLuint vertex1_cnt, vertex2_cnt, tmp_vertex_cnt;
- GLuint i, j, k;
- GLenum test = 0;
-
- /* find an edge connecting contour and hole not intersecting any other */
- /* edge belonging to either the contour or any of the other holes */
- for (v1 = contour->vertices, vertex1_cnt = contour->vertex_cnt, i = 0;
- i < vertex1_cnt; i++, v1 = v1->next) {
- for (v2 = hole->vertices, vertex2_cnt = hole->vertex_cnt, j = 0;
- j < vertex2_cnt; j++, v2 = v2->next) {
- /* does edge (v1,v2) intersect any edge of contour */
- for (tmp_vertex = contour->vertices, tmp_vertex_cnt =
- contour->vertex_cnt, k = 0; k < tmp_vertex_cnt;
- tmp_vertex = tmp_vertex->next, k++) {
- /* skip edge tests for edges directly connected */
- if (v1 == tmp_vertex || v1 == tmp_vertex->next)
- continue;
- test = edge_edge_intersect(v1, v2, tmp_vertex, tmp_vertex->next);
- if (test != GLU_NO_ERROR)
- break;
- }
- if (test == GLU_NO_ERROR) {
- /* does edge (v1,v2) intersect any edge of hole */
- for (tmp_vertex = hole->vertices,
- tmp_vertex_cnt = hole->vertex_cnt, k = 0;
- k < tmp_vertex_cnt; tmp_vertex = tmp_vertex->next, k++) {
- /* skip edge tests for edges directly connected */
- if (v2 == tmp_vertex || v2 == tmp_vertex->next)
- continue;
- test =
- edge_edge_intersect(v1, v2, tmp_vertex, tmp_vertex->next);
- if (test != GLU_NO_ERROR)
- break;
- }
- if (test == GLU_NO_ERROR) {
- /* does edge (v1,v2) intersect any other hole? */
- for (tmp_hole = hole->next;
- tmp_hole != NULL && tmp_hole->type == GLU_INTERIOR;
- tmp_hole = tmp_hole->next) {
- /* does edge (v1,v2) intersect any edge of hole */
- for (tmp_vertex = tmp_hole->vertices,
- tmp_vertex_cnt = tmp_hole->vertex_cnt, k = 0;
- k < tmp_vertex_cnt; tmp_vertex = tmp_vertex->next, k++) {
- test = edge_edge_intersect(v1, v2, tmp_vertex,
- tmp_vertex->next);
- if (test != GLU_NO_ERROR)
- break;
- }
- if (test != GLU_NO_ERROR)
- break;
- }
- }
- }
- if (test == GLU_NO_ERROR) {
- /* edge (v1,v2) is good for eliminating the hole */
- if (merge_hole_with_contour(tobj, contour, hole, v1, v2)
- == GLU_NO_ERROR)
- return GLU_NO_ERROR;
- else
- return GLU_ERROR;
- }
- }
- }
- /* other holes are blocking all possible connections of hole */
- /* with contour, we shift this hole as the last hole and retry */
- for (tmp_hole = hole;
- tmp_hole != NULL && tmp_hole->type == GLU_INTERIOR;
- tmp_hole = tmp_hole->next);
- contour->next = hole->next;
- hole->next->previous = contour;
- if (tmp_hole == NULL) {
- /* last EXTERIOR contour, shift hole as last contour */
- hole->next = NULL;
- hole->previous = tobj->last_contour;
- tobj->last_contour->next = hole;
- tobj->last_contour = hole;
- }
- else {
- tmp_hole->previous->next = hole;
- hole->previous = tmp_hole->previous;
- tmp_hole->previous = hole;
- hole->next = tmp_hole;
- }
- hole = contour->next;
- /* try once again - recurse */
- return cut_out_hole(tobj, contour, hole);
-}
-
-static GLenum
-merge_hole_with_contour(GLUtriangulatorObj * tobj,
- tess_contour * contour,
- tess_contour * hole,
- tess_vertex * v1, tess_vertex * v2)
-{
- tess_vertex *v1_new, *v2_new;
-
- /* make copies of v1 and v2, place them respectively after their originals */
- if ((v1_new = (tess_vertex *) malloc(sizeof(tess_vertex))) == NULL) {
- tess_call_user_error(tobj, GLU_OUT_OF_MEMORY);
- return GLU_ERROR;
- }
- if ((v2_new = (tess_vertex *) malloc(sizeof(tess_vertex))) == NULL) {
- tess_call_user_error(tobj, GLU_OUT_OF_MEMORY);
- return GLU_ERROR;
- }
- v1_new->edge_flag = GL_TRUE;
- v1_new->data = v1->data;
- v1_new->location[0] = v1->location[0];
- v1_new->location[1] = v1->location[1];
- v1_new->location[2] = v1->location[2];
- v1_new->x = v1->x;
- v1_new->y = v1->y;
- v1_new->shadow_vertex = v1;
- v1->shadow_vertex = v1_new;
- v1_new->next = v1->next;
- v1_new->previous = v1;
- v1->next->previous = v1_new;
- v1->next = v1_new;
- v2_new->edge_flag = GL_TRUE;
- v2_new->data = v2->data;
- v2_new->location[0] = v2->location[0];
- v2_new->location[1] = v2->location[1];
- v2_new->location[2] = v2->location[2];
- v2_new->x = v2->x;
- v2_new->y = v2->y;
- v2_new->shadow_vertex = v2;
- v2->shadow_vertex = v2_new;
- v2_new->next = v2->next;
- v2_new->previous = v2;
- v2->next->previous = v2_new;
- v2->next = v2_new;
- /* link together the two lists */
- v1->next = v2_new;
- v2_new->previous = v1;
- v2->next = v1_new;
- v1_new->previous = v2;
- /* update the vertex count of the contour */
- contour->vertex_cnt += hole->vertex_cnt + 2;
- /* remove the INTERIOR contour */
- contour->next = hole->next;
- if (hole->next != NULL)
- hole->next->previous = contour;
- free(hole);
- /* update tobj structure */
- --(tobj->contour_cnt);
- if (contour->last_vertex == v1)
- contour->last_vertex = v1_new;
- /* mark two vertices with edge_flag */
- v2->edge_flag = GL_FALSE;
- v1->edge_flag = GL_FALSE;
- return GLU_NO_ERROR;
-}
diff --git a/src/glu/mini/project.c b/src/glu/mini/project.c
deleted file mode 100644
index 2e79cdf084..0000000000
--- a/src/glu/mini/project.c
+++ /dev/null
@@ -1,403 +0,0 @@
-
-/*
- * Mesa 3-D graphics library
- * Version: 3.3
- * Copyright (C) 1995-2000 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-
-#ifdef PC_HEADER
-#include "all.h"
-#else
-#include <stdio.h>
-#include <string.h>
-#include <math.h>
-#include "gluP.h"
-#endif
-
-
-/*
- * This code was contributed by Marc Buffat (buffat@mecaflu.ec-lyon.fr).
- * Thanks Marc!!!
- */
-
-
-
-/* implementation de gluProject et gluUnproject */
-/* M. Buffat 17/2/95 */
-
-
-
-/*
- * Transform a point (column vector) by a 4x4 matrix. I.e. out = m * in
- * Input: m - the 4x4 matrix
- * in - the 4x1 vector
- * Output: out - the resulting 4x1 vector.
- */
-static void
-transform_point(GLdouble out[4], const GLdouble m[16], const GLdouble in[4])
-{
-#define M(row,col) m[col*4+row]
- out[0] =
- M(0, 0) * in[0] + M(0, 1) * in[1] + M(0, 2) * in[2] + M(0, 3) * in[3];
- out[1] =
- M(1, 0) * in[0] + M(1, 1) * in[1] + M(1, 2) * in[2] + M(1, 3) * in[3];
- out[2] =
- M(2, 0) * in[0] + M(2, 1) * in[1] + M(2, 2) * in[2] + M(2, 3) * in[3];
- out[3] =
- M(3, 0) * in[0] + M(3, 1) * in[1] + M(3, 2) * in[2] + M(3, 3) * in[3];
-#undef M
-}
-
-
-
-
-/*
- * Perform a 4x4 matrix multiplication (product = a x b).
- * Input: a, b - matrices to multiply
- * Output: product - product of a and b
- */
-static void
-matmul(GLdouble * product, const GLdouble * a, const GLdouble * b)
-{
- /* This matmul was contributed by Thomas Malik */
- GLdouble temp[16];
- GLint i;
-
-#define A(row,col) a[(col<<2)+row]
-#define B(row,col) b[(col<<2)+row]
-#define T(row,col) temp[(col<<2)+row]
-
- /* i-te Zeile */
- for (i = 0; i < 4; i++) {
- T(i, 0) =
- A(i, 0) * B(0, 0) + A(i, 1) * B(1, 0) + A(i, 2) * B(2, 0) + A(i,
- 3) *
- B(3, 0);
- T(i, 1) =
- A(i, 0) * B(0, 1) + A(i, 1) * B(1, 1) + A(i, 2) * B(2, 1) + A(i,
- 3) *
- B(3, 1);
- T(i, 2) =
- A(i, 0) * B(0, 2) + A(i, 1) * B(1, 2) + A(i, 2) * B(2, 2) + A(i,
- 3) *
- B(3, 2);
- T(i, 3) =
- A(i, 0) * B(0, 3) + A(i, 1) * B(1, 3) + A(i, 2) * B(2, 3) + A(i,
- 3) *
- B(3, 3);
- }
-
-#undef A
-#undef B
-#undef T
- MEMCPY(product, temp, 16 * sizeof(GLdouble));
-}
-
-
-
-/*
- * Compute inverse of 4x4 transformation matrix.
- * Code contributed by Jacques Leroy jle@star.be
- * Return GL_TRUE for success, GL_FALSE for failure (singular matrix)
- */
-static GLboolean
-invert_matrix(const GLdouble * m, GLdouble * out)
-{
-/* NB. OpenGL Matrices are COLUMN major. */
-#define SWAP_ROWS(a, b) { GLdouble *_tmp = a; (a)=(b); (b)=_tmp; }
-#define MAT(m,r,c) (m)[(c)*4+(r)]
-
- GLdouble wtmp[4][8];
- GLdouble m0, m1, m2, m3, s;
- GLdouble *r0, *r1, *r2, *r3;
-
- r0 = wtmp[0], r1 = wtmp[1], r2 = wtmp[2], r3 = wtmp[3];
-
- r0[0] = MAT(m, 0, 0), r0[1] = MAT(m, 0, 1),
- r0[2] = MAT(m, 0, 2), r0[3] = MAT(m, 0, 3),
- r0[4] = 1.0, r0[5] = r0[6] = r0[7] = 0.0,
- r1[0] = MAT(m, 1, 0), r1[1] = MAT(m, 1, 1),
- r1[2] = MAT(m, 1, 2), r1[3] = MAT(m, 1, 3),
- r1[5] = 1.0, r1[4] = r1[6] = r1[7] = 0.0,
- r2[0] = MAT(m, 2, 0), r2[1] = MAT(m, 2, 1),
- r2[2] = MAT(m, 2, 2), r2[3] = MAT(m, 2, 3),
- r2[6] = 1.0, r2[4] = r2[5] = r2[7] = 0.0,
- r3[0] = MAT(m, 3, 0), r3[1] = MAT(m, 3, 1),
- r3[2] = MAT(m, 3, 2), r3[3] = MAT(m, 3, 3),
- r3[7] = 1.0, r3[4] = r3[5] = r3[6] = 0.0;
-
- /* choose pivot - or die */
- if (fabs(r3[0]) > fabs(r2[0]))
- SWAP_ROWS(r3, r2);
- if (fabs(r2[0]) > fabs(r1[0]))
- SWAP_ROWS(r2, r1);
- if (fabs(r1[0]) > fabs(r0[0]))
- SWAP_ROWS(r1, r0);
- if (0.0 == r0[0])
- return GL_FALSE;
-
- /* eliminate first variable */
- m1 = r1[0] / r0[0];
- m2 = r2[0] / r0[0];
- m3 = r3[0] / r0[0];
- s = r0[1];
- r1[1] -= m1 * s;
- r2[1] -= m2 * s;
- r3[1] -= m3 * s;
- s = r0[2];
- r1[2] -= m1 * s;
- r2[2] -= m2 * s;
- r3[2] -= m3 * s;
- s = r0[3];
- r1[3] -= m1 * s;
- r2[3] -= m2 * s;
- r3[3] -= m3 * s;
- s = r0[4];
- if (s != 0.0) {
- r1[4] -= m1 * s;
- r2[4] -= m2 * s;
- r3[4] -= m3 * s;
- }
- s = r0[5];
- if (s != 0.0) {
- r1[5] -= m1 * s;
- r2[5] -= m2 * s;
- r3[5] -= m3 * s;
- }
- s = r0[6];
- if (s != 0.0) {
- r1[6] -= m1 * s;
- r2[6] -= m2 * s;
- r3[6] -= m3 * s;
- }
- s = r0[7];
- if (s != 0.0) {
- r1[7] -= m1 * s;
- r2[7] -= m2 * s;
- r3[7] -= m3 * s;
- }
-
- /* choose pivot - or die */
- if (fabs(r3[1]) > fabs(r2[1]))
- SWAP_ROWS(r3, r2);
- if (fabs(r2[1]) > fabs(r1[1]))
- SWAP_ROWS(r2, r1);
- if (0.0 == r1[1])
- return GL_FALSE;
-
- /* eliminate second variable */
- m2 = r2[1] / r1[1];
- m3 = r3[1] / r1[1];
- r2[2] -= m2 * r1[2];
- r3[2] -= m3 * r1[2];
- r2[3] -= m2 * r1[3];
- r3[3] -= m3 * r1[3];
- s = r1[4];
- if (0.0 != s) {
- r2[4] -= m2 * s;
- r3[4] -= m3 * s;
- }
- s = r1[5];
- if (0.0 != s) {
- r2[5] -= m2 * s;
- r3[5] -= m3 * s;
- }
- s = r1[6];
- if (0.0 != s) {
- r2[6] -= m2 * s;
- r3[6] -= m3 * s;
- }
- s = r1[7];
- if (0.0 != s) {
- r2[7] -= m2 * s;
- r3[7] -= m3 * s;
- }
-
- /* choose pivot - or die */
- if (fabs(r3[2]) > fabs(r2[2]))
- SWAP_ROWS(r3, r2);
- if (0.0 == r2[2])
- return GL_FALSE;
-
- /* eliminate third variable */
- m3 = r3[2] / r2[2];
- r3[3] -= m3 * r2[3], r3[4] -= m3 * r2[4],
- r3[5] -= m3 * r2[5], r3[6] -= m3 * r2[6], r3[7] -= m3 * r2[7];
-
- /* last check */
- if (0.0 == r3[3])
- return GL_FALSE;
-
- s = 1.0 / r3[3]; /* now back substitute row 3 */
- r3[4] *= s;
- r3[5] *= s;
- r3[6] *= s;
- r3[7] *= s;
-
- m2 = r2[3]; /* now back substitute row 2 */
- s = 1.0 / r2[2];
- r2[4] = s * (r2[4] - r3[4] * m2), r2[5] = s * (r2[5] - r3[5] * m2),
- r2[6] = s * (r2[6] - r3[6] * m2), r2[7] = s * (r2[7] - r3[7] * m2);
- m1 = r1[3];
- r1[4] -= r3[4] * m1, r1[5] -= r3[5] * m1,
- r1[6] -= r3[6] * m1, r1[7] -= r3[7] * m1;
- m0 = r0[3];
- r0[4] -= r3[4] * m0, r0[5] -= r3[5] * m0,
- r0[6] -= r3[6] * m0, r0[7] -= r3[7] * m0;
-
- m1 = r1[2]; /* now back substitute row 1 */
- s = 1.0 / r1[1];
- r1[4] = s * (r1[4] - r2[4] * m1), r1[5] = s * (r1[5] - r2[5] * m1),
- r1[6] = s * (r1[6] - r2[6] * m1), r1[7] = s * (r1[7] - r2[7] * m1);
- m0 = r0[2];
- r0[4] -= r2[4] * m0, r0[5] -= r2[5] * m0,
- r0[6] -= r2[6] * m0, r0[7] -= r2[7] * m0;
-
- m0 = r0[1]; /* now back substitute row 0 */
- s = 1.0 / r0[0];
- r0[4] = s * (r0[4] - r1[4] * m0), r0[5] = s * (r0[5] - r1[5] * m0),
- r0[6] = s * (r0[6] - r1[6] * m0), r0[7] = s * (r0[7] - r1[7] * m0);
-
- MAT(out, 0, 0) = r0[4];
- MAT(out, 0, 1) = r0[5], MAT(out, 0, 2) = r0[6];
- MAT(out, 0, 3) = r0[7], MAT(out, 1, 0) = r1[4];
- MAT(out, 1, 1) = r1[5], MAT(out, 1, 2) = r1[6];
- MAT(out, 1, 3) = r1[7], MAT(out, 2, 0) = r2[4];
- MAT(out, 2, 1) = r2[5], MAT(out, 2, 2) = r2[6];
- MAT(out, 2, 3) = r2[7], MAT(out, 3, 0) = r3[4];
- MAT(out, 3, 1) = r3[5], MAT(out, 3, 2) = r3[6];
- MAT(out, 3, 3) = r3[7];
-
- return GL_TRUE;
-
-#undef MAT
-#undef SWAP_ROWS
-}
-
-
-
-/* projection du point (objx,objy,obz) sur l'ecran (winx,winy,winz) */
-GLint GLAPIENTRY
-gluProject(GLdouble objx, GLdouble objy, GLdouble objz,
- const GLdouble model[16], const GLdouble proj[16],
- const GLint viewport[4],
- GLdouble * winx, GLdouble * winy, GLdouble * winz)
-{
- /* matrice de transformation */
- GLdouble in[4], out[4];
-
- /* initilise la matrice et le vecteur a transformer */
- in[0] = objx;
- in[1] = objy;
- in[2] = objz;
- in[3] = 1.0;
- transform_point(out, model, in);
- transform_point(in, proj, out);
-
- /* d'ou le resultat normalise entre -1 et 1 */
- if (in[3] == 0.0)
- return GL_FALSE;
-
- in[0] /= in[3];
- in[1] /= in[3];
- in[2] /= in[3];
-
- /* en coordonnees ecran */
- *winx = viewport[0] + (1 + in[0]) * viewport[2] / 2;
- *winy = viewport[1] + (1 + in[1]) * viewport[3] / 2;
- /* entre 0 et 1 suivant z */
- *winz = (1 + in[2]) / 2;
- return GL_TRUE;
-}
-
-
-
-/* transformation du point ecran (winx,winy,winz) en point objet */
-GLint GLAPIENTRY
-gluUnProject(GLdouble winx, GLdouble winy, GLdouble winz,
- const GLdouble model[16], const GLdouble proj[16],
- const GLint viewport[4],
- GLdouble * objx, GLdouble * objy, GLdouble * objz)
-{
- /* matrice de transformation */
- GLdouble m[16], A[16];
- GLdouble in[4], out[4];
-
- /* transformation coordonnees normalisees entre -1 et 1 */
- in[0] = (winx - viewport[0]) * 2 / viewport[2] - 1.0;
- in[1] = (winy - viewport[1]) * 2 / viewport[3] - 1.0;
- in[2] = 2 * winz - 1.0;
- in[3] = 1.0;
-
- /* calcul transformation inverse */
- matmul(A, proj, model);
- if (!invert_matrix(A, m))
- return GL_FALSE;
-
- /* d'ou les coordonnees objets */
- transform_point(out, m, in);
- if (out[3] == 0.0)
- return GL_FALSE;
- *objx = out[0] / out[3];
- *objy = out[1] / out[3];
- *objz = out[2] / out[3];
- return GL_TRUE;
-}
-
-
-/*
- * New in GLU 1.3
- * This is like gluUnProject but also takes near and far DepthRange values.
- */
-#ifdef GLU_VERSION_1_3
-GLint GLAPIENTRY
-gluUnProject4(GLdouble winx, GLdouble winy, GLdouble winz, GLdouble clipw,
- const GLdouble modelMatrix[16],
- const GLdouble projMatrix[16],
- const GLint viewport[4],
- GLclampd nearZ, GLclampd farZ,
- GLdouble * objx, GLdouble * objy, GLdouble * objz,
- GLdouble * objw)
-{
- /* matrice de transformation */
- GLdouble m[16], A[16];
- GLdouble in[4], out[4];
- GLdouble z = nearZ + winz * (farZ - nearZ);
-
- /* transformation coordonnees normalisees entre -1 et 1 */
- in[0] = (winx - viewport[0]) * 2 / viewport[2] - 1.0;
- in[1] = (winy - viewport[1]) * 2 / viewport[3] - 1.0;
- in[2] = 2.0 * z - 1.0;
- in[3] = clipw;
-
- /* calcul transformation inverse */
- matmul(A, projMatrix, modelMatrix);
- if (!invert_matrix(A, m))
- return GL_FALSE;
-
- /* d'ou les coordonnees objets */
- transform_point(out, m, in);
- if (out[3] == 0.0)
- return GL_FALSE;
- *objx = out[0] / out[3];
- *objy = out[1] / out[3];
- *objz = out[2] / out[3];
- *objw = out[3];
- return GL_TRUE;
-}
-#endif
diff --git a/src/glu/mini/quadric.c b/src/glu/mini/quadric.c
deleted file mode 100644
index 0484890ef6..0000000000
--- a/src/glu/mini/quadric.c
+++ /dev/null
@@ -1,773 +0,0 @@
-
-/*
- * Mesa 3-D graphics library
- * Version: 3.3
- * Copyright (C) 1999-2000 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-
-/* TODO:
- * texture coordinate support
- * flip normals according to orientation
- * there's still some inside/outside orientation bugs in possibly all
- * but the sphere function
- */
-
-
-#ifdef PC_HEADER
-#include "all.h"
-#else
-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include "gluP.h"
-#endif
-
-
-
-#ifndef M_PI
-# define M_PI (3.1415926)
-#endif
-
-
-/*
- * Convert degrees to radians:
- */
-#define DEG_TO_RAD(A) ((A)*(M_PI/180.0))
-
-
-/*
- * Sin and Cos for degree angles:
- */
-#define SIND( A ) sin( (A)*(M_PI/180.0) )
-#define COSD( A) cos( (A)*(M_PI/180.0) )
-
-
-/*
- * Texture coordinates if texture flag is set
- */
-#define TXTR_COORD(x,y) if (qobj->TextureFlag) glTexCoord2f(x,y);
-
-
-
-struct GLUquadric
-{
- GLenum DrawStyle; /* GLU_FILL, LINE, SILHOUETTE, or POINT */
- GLenum Orientation; /* GLU_INSIDE or GLU_OUTSIDE */
- GLboolean TextureFlag; /* Generate texture coords? */
- GLenum Normals; /* GLU_NONE, GLU_FLAT, or GLU_SMOOTH */
- void (GLCALLBACK * ErrorFunc) (GLenum err); /* Error handler callback function */
-};
-
-
-
-/*
- * Process a GLU error.
- */
-static void
-quadric_error(GLUquadricObj * qobj, GLenum error, const char *msg)
-{
- /* Call the error call back function if any */
- if (qobj->ErrorFunc) {
- (*qobj->ErrorFunc) (error);
- }
- /* Print a message to stdout if MESA_DEBUG variable is defined */
- if (getenv("MESA_DEBUG")) {
- fprintf(stderr, "GLUError: %s: %s\n", (char *) gluErrorString(error),
- msg);
- }
-}
-
-
-
-
-GLUquadricObj *GLAPIENTRY
-gluNewQuadric(void)
-{
- GLUquadricObj *q;
-
- q = (GLUquadricObj *) malloc(sizeof(struct GLUquadric));
- if (q) {
- q->DrawStyle = GLU_FILL;
- q->Orientation = GLU_OUTSIDE;
- q->TextureFlag = GL_FALSE;
- q->Normals = GLU_SMOOTH;
- q->ErrorFunc = NULL;
- }
- return q;
-}
-
-
-
-void GLAPIENTRY
-gluDeleteQuadric(GLUquadricObj * state)
-{
- if (state) {
- free((void *) state);
- }
-}
-
-
-
-/*
- * Set the drawing style to be GLU_FILL, GLU_LINE, GLU_SILHOUETTE,
- * or GLU_POINT.
- */
-void GLAPIENTRY
-gluQuadricDrawStyle(GLUquadricObj * quadObject, GLenum drawStyle)
-{
- if (quadObject && (drawStyle == GLU_FILL || drawStyle == GLU_LINE
- || drawStyle == GLU_SILHOUETTE
- || drawStyle == GLU_POINT)) {
- quadObject->DrawStyle = drawStyle;
- }
- else {
- quadric_error(quadObject, GLU_INVALID_ENUM, "qluQuadricDrawStyle");
- }
-}
-
-
-
-/*
- * Set the orientation to GLU_INSIDE or GLU_OUTSIDE.
- */
-void GLAPIENTRY
-gluQuadricOrientation(GLUquadricObj * quadObject, GLenum orientation)
-{
- if (quadObject
- && (orientation == GLU_INSIDE || orientation == GLU_OUTSIDE)) {
- quadObject->Orientation = orientation;
- }
- else {
- quadric_error(quadObject, GLU_INVALID_ENUM, "qluQuadricOrientation");
- }
-}
-
-
-
-/*
- * Set the error handler callback function.
- */
-void GLAPIENTRY
-gluQuadricCallback(GLUquadricObj * qobj,
- GLenum which, void (GLCALLBACK * fn) ())
-{
- /*
- * UGH, this is a mess! I thought ANSI was a standard.
- */
- if (qobj && which == GLU_ERROR) {
-#ifdef __CYGWIN32__
- qobj->ErrorFunc = (void (GLCALLBACKPCAST) (GLenum)) fn;
-#elif defined(OPENSTEP)
- qobj->ErrorFunc = (void (*)(GLenum)) fn;
-#elif defined(_WIN32)
- qobj->ErrorFunc = (void (GLCALLBACK *) (int)) fn;
-#elif defined(__STORM__)
- qobj->ErrorFunc = (void (GLCALLBACK *) (GLenum)) fn;
-#elif defined(__BEOS__)
- qobj->ErrorFunc = (void (*)(GLenum)) fn;
-#else
- qobj->ErrorFunc = (void (GLCALLBACK *) ()) fn;
-#endif
- }
-}
-
-
-void GLAPIENTRY
-gluQuadricNormals(GLUquadricObj * quadObject, GLenum normals)
-{
- if (quadObject
- && (normals == GLU_NONE || normals == GLU_FLAT
- || normals == GLU_SMOOTH)) {
- quadObject->Normals = normals;
- }
-}
-
-
-void GLAPIENTRY
-gluQuadricTexture(GLUquadricObj * quadObject, GLboolean textureCoords)
-{
- if (quadObject) {
- quadObject->TextureFlag = textureCoords;
- }
-}
-
-
-
-
-/*
- * Call glNormal3f after scaling normal to unit length.
- */
-static void
-normal3f(GLfloat x, GLfloat y, GLfloat z)
-{
-}
-
-
-
-void GLAPIENTRY
-gluCylinder(GLUquadricObj * qobj,
- GLdouble baseRadius, GLdouble topRadius,
- GLdouble height, GLint slices, GLint stacks)
-{
- GLdouble da, r, dr, dz;
- GLfloat x, y, z, nz, nsign;
- GLint i, j;
-
- if (qobj->Orientation == GLU_INSIDE) {
- nsign = -1.0;
- }
- else {
- nsign = 1.0;
- }
-
- da = 2.0 * M_PI / slices;
- dr = (topRadius - baseRadius) / stacks;
- dz = height / stacks;
- nz = (baseRadius - topRadius) / height; /* Z component of normal vectors */
-
- if (qobj->DrawStyle == GLU_POINT) {
- glBegin(GL_POINTS);
- for (i = 0; i < slices; i++) {
- x = cos(i * da);
- y = sin(i * da);
- normal3f(x * nsign, y * nsign, nz * nsign);
-
- z = 0.0;
- r = baseRadius;
- for (j = 0; j <= stacks; j++) {
- glVertex3f(x * r, y * r, z);
- z += dz;
- r += dr;
- }
- }
- glEnd();
- }
- else if (qobj->DrawStyle == GLU_LINE || qobj->DrawStyle == GLU_SILHOUETTE) {
- /* Draw rings */
- if (qobj->DrawStyle == GLU_LINE) {
- z = 0.0;
- r = baseRadius;
- for (j = 0; j <= stacks; j++) {
- glBegin(GL_LINE_LOOP);
- for (i = 0; i < slices; i++) {
- x = cos(i * da);
- y = sin(i * da);
- normal3f(x * nsign, y * nsign, nz * nsign);
- glVertex3f(x * r, y * r, z);
- }
- glEnd();
- z += dz;
- r += dr;
- }
- }
- else {
- /* draw one ring at each end */
- if (baseRadius != 0.0) {
- glBegin(GL_LINE_LOOP);
- for (i = 0; i < slices; i++) {
- x = cos(i * da);
- y = sin(i * da);
- normal3f(x * nsign, y * nsign, nz * nsign);
- glVertex3f(x * baseRadius, y * baseRadius, 0.0);
- }
- glEnd();
- glBegin(GL_LINE_LOOP);
- for (i = 0; i < slices; i++) {
- x = cos(i * da);
- y = sin(i * da);
- normal3f(x * nsign, y * nsign, nz * nsign);
- glVertex3f(x * topRadius, y * topRadius, height);
- }
- glEnd();
- }
- }
- /* draw length lines */
- glBegin(GL_LINES);
- for (i = 0; i < slices; i++) {
- x = cos(i * da);
- y = sin(i * da);
- normal3f(x * nsign, y * nsign, nz * nsign);
- glVertex3f(x * baseRadius, y * baseRadius, 0.0);
- glVertex3f(x * topRadius, y * topRadius, height);
- }
- glEnd();
- }
- else if (qobj->DrawStyle == GLU_FILL) {
- GLfloat ds = 1.0 / slices;
- GLfloat dt = 1.0 / stacks;
- GLfloat t = 0.0;
- z = 0.0;
- r = baseRadius;
- for (j = 0; j < stacks; j++) {
- GLfloat s = 0.0;
- glBegin(GL_QUAD_STRIP);
- for (i = 0; i <= slices; i++) {
- GLfloat x, y;
- if (i == slices) {
- x = sin(0.0);
- y = cos(0.0);
- }
- else {
- x = sin(i * da);
- y = cos(i * da);
- }
- if (nsign == 1.0) {
- normal3f(x * nsign, y * nsign, nz * nsign);
- TXTR_COORD(s, t);
- glVertex3f(x * r, y * r, z);
- normal3f(x * nsign, y * nsign, nz * nsign);
- TXTR_COORD(s, t + dt);
- glVertex3f(x * (r + dr), y * (r + dr), z + dz);
- }
- else {
- normal3f(x * nsign, y * nsign, nz * nsign);
- TXTR_COORD(s, t);
- glVertex3f(x * r, y * r, z);
- normal3f(x * nsign, y * nsign, nz * nsign);
- TXTR_COORD(s, t + dt);
- glVertex3f(x * (r + dr), y * (r + dr), z + dz);
- }
- s += ds;
- } /* for slices */
- glEnd();
- r += dr;
- t += dt;
- z += dz;
- } /* for stacks */
- }
-}
-
-
-
-
-
-void GLAPIENTRY
-gluSphere(GLUquadricObj * qobj, GLdouble radius, GLint slices, GLint stacks)
-{
- GLfloat rho, drho, theta, dtheta;
- GLfloat x, y, z;
- GLfloat s, t, ds, dt;
- GLint i, j, imin, imax;
- GLboolean normals;
- GLfloat nsign;
-
- if (qobj->Normals == GLU_NONE) {
- normals = GL_FALSE;
- }
- else {
- normals = GL_TRUE;
- }
- if (qobj->Orientation == GLU_INSIDE) {
- nsign = -1.0;
- }
- else {
- nsign = 1.0;
- }
-
- drho = M_PI / (GLfloat) stacks;
- dtheta = 2.0 * M_PI / (GLfloat) slices;
-
- /* texturing: s goes from 0.0/0.25/0.5/0.75/1.0 at +y/+x/-y/-x/+y axis */
- /* t goes from -1.0/+1.0 at z = -radius/+radius (linear along longitudes) */
- /* cannot use triangle fan on texturing (s coord. at top/bottom tip varies) */
-
- if (qobj->DrawStyle == GLU_FILL) {
- if (!qobj->TextureFlag) {
- /* draw +Z end as a triangle fan */
- glBegin(GL_TRIANGLE_FAN);
-/* glNormal3f(0.0, 0.0, 1.0); */
- glVertex3f(0.0, 0.0, nsign * radius);
- for (j = 0; j <= slices; j++) {
- theta = (j == slices) ? 0.0 : j * dtheta;
- x = -sin(theta) * sin(drho);
- y = cos(theta) * sin(drho);
- z = nsign * cos(drho);
- glVertex3f(x * radius, y * radius, z * radius);
- }
- glEnd();
- }
-
- ds = 1.0 / slices;
- dt = 1.0 / stacks;
- t = 1.0; /* because loop now runs from 0 */
- if (qobj->TextureFlag) {
- imin = 0;
- imax = stacks;
- }
- else {
- imin = 1;
- imax = stacks - 1;
- }
-
- /* draw intermediate stacks as quad strips */
- for (i = imin; i < imax; i++) {
- rho = i * drho;
- glBegin(GL_QUAD_STRIP);
- s = 0.0;
- for (j = 0; j <= slices; j++) {
- theta = (j == slices) ? 0.0 : j * dtheta;
- x = -sin(theta) * sin(rho);
- y = cos(theta) * sin(rho);
- z = nsign * cos(rho);
- TXTR_COORD(s, t);
- glVertex3f(x * radius, y * radius, z * radius);
- x = -sin(theta) * sin(rho + drho);
- y = cos(theta) * sin(rho + drho);
- z = nsign * cos(rho + drho);
- TXTR_COORD(s, t - dt);
- s += ds;
- glVertex3f(x * radius, y * radius, z * radius);
- }
- glEnd();
- t -= dt;
- }
-
- if (!qobj->TextureFlag) {
- /* draw -Z end as a triangle fan */
- glBegin(GL_TRIANGLE_FAN);
- glVertex3f(0.0, 0.0, -radius * nsign);
- rho = M_PI - drho;
- s = 1.0;
- t = dt;
- for (j = slices; j >= 0; j--) {
- theta = (j == slices) ? 0.0 : j * dtheta;
- x = -sin(theta) * sin(rho);
- y = cos(theta) * sin(rho);
- z = nsign * cos(rho);
- s -= ds;
- glVertex3f(x * radius, y * radius, z * radius);
- }
- glEnd();
- }
- }
- else if (qobj->DrawStyle == GLU_LINE || qobj->DrawStyle == GLU_SILHOUETTE) {
- /* draw stack lines */
- for (i = 1; i < stacks; i++) { /* stack line at i==stacks-1 was missing here */
- rho = i * drho;
- glBegin(GL_LINE_LOOP);
- for (j = 0; j < slices; j++) {
- theta = j * dtheta;
- x = cos(theta) * sin(rho);
- y = sin(theta) * sin(rho);
- z = cos(rho);
- glVertex3f(x * radius, y * radius, z * radius);
- }
- glEnd();
- }
- /* draw slice lines */
- for (j = 0; j < slices; j++) {
- theta = j * dtheta;
- glBegin(GL_LINE_STRIP);
- for (i = 0; i <= stacks; i++) {
- rho = i * drho;
- x = cos(theta) * sin(rho);
- y = sin(theta) * sin(rho);
- z = cos(rho);
- glVertex3f(x * radius, y * radius, z * radius);
- }
- glEnd();
- }
- }
- else if (qobj->DrawStyle == GLU_POINT) {
- /* top and bottom-most points */
- glBegin(GL_POINTS);
- glVertex3f(0.0, 0.0, radius);
- glVertex3f(0.0, 0.0, -radius);
-
- /* loop over stacks */
- for (i = 1; i < stacks - 1; i++) {
- rho = i * drho;
- for (j = 0; j < slices; j++) {
- theta = j * dtheta;
- x = cos(theta) * sin(rho);
- y = sin(theta) * sin(rho);
- z = cos(rho);
- glVertex3f(x * radius, y * radius, z * radius);
- }
- }
- glEnd();
- }
-
-}
-
-
-
-void GLAPIENTRY
-gluDisk(GLUquadricObj * qobj,
- GLdouble innerRadius, GLdouble outerRadius, GLint slices, GLint loops)
-{
- GLfloat da, dr;
-#if 0
- GLdouble a, da;
- GLfloat r, dr;
- GLfloat x, y;
- GLfloat r1, r2, dtc;
- GLint s, l;
-#endif
-
-
- da = 2.0 * M_PI / slices;
- dr = (outerRadius - innerRadius) / (GLfloat) loops;
-
- switch (qobj->DrawStyle) {
- case GLU_FILL:
- {
- /* texture of a gluDisk is a cut out of the texture unit square
- * x, y in [-outerRadius, +outerRadius]; s, t in [0, 1]
- * (linear mapping)
- */
- GLfloat dtc = 2.0f * outerRadius;
- GLfloat sa, ca;
- GLfloat r1 = innerRadius;
- GLint l;
- for (l = 0; l < loops; l++) {
- GLfloat r2 = r1 + dr;
- if (qobj->Orientation == GLU_OUTSIDE) {
- GLint s;
- glBegin(GL_QUAD_STRIP);
- for (s = 0; s <= slices; s++) {
- GLfloat a;
- if (s == slices)
- a = 0.0;
- else
- a = s * da;
- sa = sin(a);
- ca = cos(a);
- TXTR_COORD(0.5 + sa * r2 / dtc, 0.5 + ca * r2 / dtc);
- glVertex2f(r2 * sa, r2 * ca);
- TXTR_COORD(0.5 + sa * r1 / dtc, 0.5 + ca * r1 / dtc);
- glVertex2f(r1 * sa, r1 * ca);
- }
- glEnd();
- }
- else {
- GLint s;
- glBegin(GL_QUAD_STRIP);
- for (s = slices; s >= 0; s--) {
- GLfloat a;
- if (s == slices)
- a = 0.0;
- else
- a = s * da;
- sa = sin(a);
- ca = cos(a);
- TXTR_COORD(0.5 - sa * r2 / dtc, 0.5 + ca * r2 / dtc);
- glVertex2f(r2 * sa, r2 * ca);
- TXTR_COORD(0.5 - sa * r1 / dtc, 0.5 + ca * r1 / dtc);
- glVertex2f(r1 * sa, r1 * ca);
- }
- glEnd();
- }
- r1 = r2;
- }
- break;
- }
- case GLU_LINE:
- {
- GLint l, s;
- /* draw loops */
- for (l = 0; l <= loops; l++) {
- GLfloat r = innerRadius + l * dr;
- glBegin(GL_LINE_LOOP);
- for (s = 0; s < slices; s++) {
- GLfloat a = s * da;
- glVertex2f(r * sin(a), r * cos(a));
- }
- glEnd();
- }
- /* draw spokes */
- for (s = 0; s < slices; s++) {
- GLfloat a = s * da;
- GLfloat x = sin(a);
- GLfloat y = cos(a);
- glBegin(GL_LINE_STRIP);
- for (l = 0; l <= loops; l++) {
- GLfloat r = innerRadius + l * dr;
- glVertex2f(r * x, r * y);
- }
- glEnd();
- }
- break;
- }
- case GLU_POINT:
- {
- GLint s;
- glBegin(GL_POINTS);
- for (s = 0; s < slices; s++) {
- GLfloat a = s * da;
- GLfloat x = sin(a);
- GLfloat y = cos(a);
- GLint l;
- for (l = 0; l <= loops; l++) {
- GLfloat r = innerRadius * l * dr;
- glVertex2f(r * x, r * y);
- }
- }
- glEnd();
- break;
- }
- case GLU_SILHOUETTE:
- {
- if (innerRadius != 0.0) {
- GLfloat a;
- glBegin(GL_LINE_LOOP);
- for (a = 0.0; a < 2.0 * M_PI; a += da) {
- GLfloat x = innerRadius * sin(a);
- GLfloat y = innerRadius * cos(a);
- glVertex2f(x, y);
- }
- glEnd();
- }
- {
- GLfloat a;
- glBegin(GL_LINE_LOOP);
- for (a = 0; a < 2.0 * M_PI; a += da) {
- GLfloat x = outerRadius * sin(a);
- GLfloat y = outerRadius * cos(a);
- glVertex2f(x, y);
- }
- glEnd();
- }
- break;
- }
- default:
- abort();
- }
-}
-
-
-
-void GLAPIENTRY
-gluPartialDisk(GLUquadricObj * qobj, GLdouble innerRadius,
- GLdouble outerRadius, GLint slices, GLint loops,
- GLdouble startAngle, GLdouble sweepAngle)
-{
- if (qobj->DrawStyle == GLU_POINT) {
- GLint loop, slice;
- GLdouble radius, delta_radius;
- GLdouble angle, delta_angle;
- delta_radius = (outerRadius - innerRadius) / (loops - 1);
- delta_angle = DEG_TO_RAD((sweepAngle) / (slices - 1));
- glBegin(GL_POINTS);
- radius = innerRadius;
- for (loop = 0; loop < loops; loop++) {
- angle = DEG_TO_RAD(startAngle);
- for (slice = 0; slice < slices; slice++) {
- glVertex2f(radius * sin(angle), radius * cos(angle));
- angle += delta_angle;
- }
- radius += delta_radius;
- }
- glEnd();
- }
- else if (qobj->DrawStyle == GLU_LINE) {
- GLint loop, slice;
- GLdouble radius, delta_radius;
- GLdouble angle, delta_angle;
- delta_radius = (outerRadius - innerRadius) / loops;
- delta_angle = DEG_TO_RAD(sweepAngle / slices);
- /* draw rings */
- radius = innerRadius;
- for (loop = 0; loop < loops; loop++) {
- angle = DEG_TO_RAD(startAngle);
- glBegin(GL_LINE_STRIP);
- for (slice = 0; slice <= slices; slice++) {
- glVertex2f(radius * sin(angle), radius * cos(angle));
- angle += delta_angle;
- }
- glEnd();
- radius += delta_radius;
- }
- /* draw spokes */
- angle = DEG_TO_RAD(startAngle);
- for (slice = 0; slice <= slices; slice++) {
- radius = innerRadius;
- glBegin(GL_LINE_STRIP);
- for (loop = 0; loop < loops; loop++) {
- glVertex2f(radius * sin(angle), radius * cos(angle));
- radius += delta_radius;
- }
- glEnd();
- angle += delta_angle;
- }
- }
- else if (qobj->DrawStyle == GLU_SILHOUETTE) {
- GLint slice;
- GLdouble angle, delta_angle;
- delta_angle = DEG_TO_RAD(sweepAngle / slices);
- /* draw outer ring */
- glBegin(GL_LINE_STRIP);
- angle = DEG_TO_RAD(startAngle);
- for (slice = 0; slice <= slices; slice++) {
- glVertex2f(outerRadius * sin(angle), outerRadius * cos(angle));
- angle += delta_angle;
- }
- glEnd();
- /* draw inner ring */
- if (innerRadius > 0.0) {
- glBegin(GL_LINE_STRIP);
- angle = DEG_TO_RAD(startAngle);
- for (slice = 0; slice < slices; slice++) {
- glVertex2f(innerRadius * sin(angle), innerRadius * cos(angle));
- angle += delta_angle;
- }
- glEnd();
- }
- /* draw spokes */
- if (sweepAngle < 360.0) {
- GLdouble stopAngle = startAngle + sweepAngle;
- glBegin(GL_LINES);
- glVertex2f(innerRadius * SIND(startAngle),
- innerRadius * COSD(startAngle));
- glVertex2f(outerRadius * SIND(startAngle),
- outerRadius * COSD(startAngle));
- glVertex2f(innerRadius * SIND(stopAngle),
- innerRadius * COSD(stopAngle));
- glVertex2f(outerRadius * SIND(stopAngle),
- outerRadius * COSD(stopAngle));
- glEnd();
- }
- }
- else if (qobj->DrawStyle == GLU_FILL) {
- GLint loop, slice;
- GLdouble radius, delta_radius;
- GLdouble angle, delta_angle;
- delta_radius = (outerRadius - innerRadius) / loops;
- delta_angle = DEG_TO_RAD(sweepAngle / slices);
- radius = innerRadius;
- for (loop = 0; loop < loops; loop++) {
- glBegin(GL_QUAD_STRIP);
- angle = DEG_TO_RAD(startAngle);
- for (slice = 0; slice <= slices; slice++) {
- if (qobj->Orientation == GLU_OUTSIDE) {
- glVertex2f((radius + delta_radius) * sin(angle),
- (radius + delta_radius) * cos(angle));
- glVertex2f(radius * sin(angle), radius * cos(angle));
- }
- else {
- glVertex2f(radius * sin(angle), radius * cos(angle));
- glVertex2f((radius + delta_radius) * sin(angle),
- (radius + delta_radius) * cos(angle));
- }
- angle += delta_angle;
- }
- glEnd();
- radius += delta_radius;
- }
- }
-}
diff --git a/src/glu/mini/tess.c b/src/glu/mini/tess.c
deleted file mode 100644
index 341d29bae3..0000000000
--- a/src/glu/mini/tess.c
+++ /dev/null
@@ -1,327 +0,0 @@
-
-/*
- * Mesa 3-D graphics library
- * Version: 3.3
- * Copyright (C) 1995-2000 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-
-/*
- * This file is part of the polygon tesselation code contributed by
- * Bogdan Sikorski
- */
-
-
-#ifdef PC_HEADER
-#include "all.h"
-#else
-#include <math.h>
-#include <stdlib.h>
-#include "tess.h"
-#endif
-
-
-/*
- * This is ugly, but seems the easiest way to do things to make the
- * code work under YellowBox for Windows
- */
-#if defined(OPENSTEP) && defined(CALLBACK)
-#undef CALLBACK
-#define CALLBACK
-#endif
-
-
-static void delete_contours(GLUtriangulatorObj *);
-
-#ifdef __CYGWIN32__
-#define _CALLBACK
-#else
-#define _CALLBACK GLCALLBACK
-#endif
-
-
-static void
-init_callbacks(tess_callbacks * callbacks)
-{
- callbacks->begin = (void (_CALLBACK *) (GLenum)) 0;
- callbacks->edgeFlag = (void (_CALLBACK *) (GLboolean)) 0;
- callbacks->vertex = (void (_CALLBACK *) (void *)) 0;
- callbacks->end = (void (_CALLBACK *) (void)) 0;
- callbacks->error = (void (_CALLBACK *) (GLenum)) 0;
-}
-
-void
-tess_call_user_error(GLUtriangulatorObj * tobj, GLenum gluerr)
-{
- if (tobj->error == GLU_NO_ERROR)
- tobj->error = gluerr;
- if (tobj->callbacks.error != NULL)
- (tobj->callbacks.error) (gluerr);
-}
-
-GLUtriangulatorObj *GLAPIENTRY
-gluNewTess(void)
-{
- GLUtriangulatorObj *tobj;
-
- if ((tobj = (GLUtriangulatorObj *)
- malloc(sizeof(struct GLUtesselator))) == NULL)
- return NULL;
- tobj->contours = tobj->last_contour = NULL;
- init_callbacks(&tobj->callbacks);
- tobj->error = GLU_NO_ERROR;
- tobj->current_polygon = NULL;
- tobj->contour_cnt = 0;
- return tobj;
-}
-
-
-void GLAPIENTRY
-gluTessCallback(GLUtriangulatorObj * tobj, GLenum which,
- void (GLCALLBACK * fn) ())
-{
- switch (which) {
- case GLU_BEGIN:
- tobj->callbacks.begin = (void (_CALLBACK *) (GLenum)) fn;
- break;
- case GLU_EDGE_FLAG:
- tobj->callbacks.edgeFlag = (void (_CALLBACK *) (GLboolean)) fn;
- break;
- case GLU_VERTEX:
- tobj->callbacks.vertex = (void (_CALLBACK *) (void *)) fn;
- break;
- case GLU_END:
- tobj->callbacks.end = (void (_CALLBACK *) (void)) fn;
- break;
- case GLU_ERROR:
- tobj->callbacks.error = (void (_CALLBACK *) (GLenum)) fn;
- break;
- default:
- tobj->error = GLU_INVALID_ENUM;
- break;
- }
-}
-
-
-
-void GLAPIENTRY
-gluDeleteTess(GLUtriangulatorObj * tobj)
-{
- if (tobj->error == GLU_NO_ERROR && tobj->contour_cnt)
- /* was gluEndPolygon called? */
- tess_call_user_error(tobj, GLU_TESS_ERROR1);
- /* delete all internal structures */
- delete_contours(tobj);
- free(tobj);
-}
-
-
-void GLAPIENTRY
-gluBeginPolygon(GLUtriangulatorObj * tobj)
-{
-/*
- if(tobj->error!=GLU_NO_ERROR)
- return;
-*/
- tobj->error = GLU_NO_ERROR;
- if (tobj->current_polygon != NULL) {
- /* gluEndPolygon was not called */
- tess_call_user_error(tobj, GLU_TESS_ERROR1);
- /* delete all internal structures */
- delete_contours(tobj);
- }
- else {
- if ((tobj->current_polygon =
- (tess_polygon *) malloc(sizeof(tess_polygon))) == NULL) {
- tess_call_user_error(tobj, GLU_OUT_OF_MEMORY);
- return;
- }
- tobj->current_polygon->vertex_cnt = 0;
- tobj->current_polygon->vertices =
- tobj->current_polygon->last_vertex = NULL;
- }
-}
-
-
-void GLAPIENTRY
-gluEndPolygon(GLUtriangulatorObj * tobj)
-{
- /*tess_contour *contour_ptr; */
-
- /* there was an error */
- if (tobj->error != GLU_NO_ERROR)
- goto end;
-
- /* check if gluBeginPolygon was called */
- if (tobj->current_polygon == NULL) {
- tess_call_user_error(tobj, GLU_TESS_ERROR2);
- return;
- }
- tess_test_polygon(tobj);
- /* there was an error */
- if (tobj->error != GLU_NO_ERROR)
- goto end;
-
- /* any real contours? */
- if (tobj->contour_cnt == 0) {
- /* delete all internal structures */
- delete_contours(tobj);
- return;
- }
- tess_find_contour_hierarchies(tobj);
- /* there was an error */
- if (tobj->error != GLU_NO_ERROR)
- goto end;
-
- tess_handle_holes(tobj);
- /* there was an error */
- if (tobj->error != GLU_NO_ERROR)
- goto end;
-
- /* if no callbacks, nothing to do */
- if (tobj->callbacks.begin != NULL && tobj->callbacks.vertex != NULL &&
- tobj->callbacks.end != NULL) {
- if (tobj->callbacks.edgeFlag == NULL)
- tess_tesselate(tobj);
- else
- tess_tesselate_with_edge_flag(tobj);
- }
-
- end:
- /* delete all internal structures */
- delete_contours(tobj);
-}
-
-
-void GLAPIENTRY
-gluNextContour(GLUtriangulatorObj * tobj, GLenum type)
-{
- if (tobj->error != GLU_NO_ERROR)
- return;
- if (tobj->current_polygon == NULL) {
- tess_call_user_error(tobj, GLU_TESS_ERROR2);
- return;
- }
- /* first contour? */
- if (tobj->current_polygon->vertex_cnt)
- tess_test_polygon(tobj);
-}
-
-
-void GLAPIENTRY
-gluTessVertex(GLUtriangulatorObj * tobj, GLdouble v[3], void *data)
-{
- tess_polygon *polygon = tobj->current_polygon;
- tess_vertex *last_vertex_ptr;
-
- if (tobj->error != GLU_NO_ERROR)
- return;
- if (polygon == NULL) {
- tess_call_user_error(tobj, GLU_TESS_ERROR2);
- return;
- }
- last_vertex_ptr = polygon->last_vertex;
- if (last_vertex_ptr == NULL) {
- if ((last_vertex_ptr = (tess_vertex *)
- malloc(sizeof(tess_vertex))) == NULL) {
- tess_call_user_error(tobj, GLU_OUT_OF_MEMORY);
- return;
- }
- polygon->vertices = last_vertex_ptr;
- polygon->last_vertex = last_vertex_ptr;
- last_vertex_ptr->data = data;
- last_vertex_ptr->location[0] = v[0];
- last_vertex_ptr->location[1] = v[1];
- last_vertex_ptr->location[2] = v[2];
- last_vertex_ptr->next = NULL;
- last_vertex_ptr->previous = NULL;
- ++(polygon->vertex_cnt);
- }
- else {
- tess_vertex *vertex_ptr;
-
- /* same point twice? */
- if (fabs(last_vertex_ptr->location[0] - v[0]) < EPSILON &&
- fabs(last_vertex_ptr->location[1] - v[1]) < EPSILON &&
- fabs(last_vertex_ptr->location[2] - v[2]) < EPSILON) {
- tess_call_user_error(tobj, GLU_TESS_ERROR6);
- return;
- }
- if ((vertex_ptr = (tess_vertex *)
- malloc(sizeof(tess_vertex))) == NULL) {
- tess_call_user_error(tobj, GLU_OUT_OF_MEMORY);
- return;
- }
- vertex_ptr->data = data;
- vertex_ptr->location[0] = v[0];
- vertex_ptr->location[1] = v[1];
- vertex_ptr->location[2] = v[2];
- vertex_ptr->next = NULL;
- vertex_ptr->previous = last_vertex_ptr;
- ++(polygon->vertex_cnt);
- last_vertex_ptr->next = vertex_ptr;
- polygon->last_vertex = vertex_ptr;
- }
-}
-
-
-static void
-delete_contours(GLUtriangulatorObj * tobj)
-{
- tess_polygon *polygon = tobj->current_polygon;
- tess_contour *contour, *contour_tmp;
- tess_vertex *vertex, *vertex_tmp;
-
- /* remove current_polygon list - if exists due to detected error */
- if (polygon != NULL) {
- if (polygon->vertices) {
- for (vertex = polygon->vertices; vertex != polygon->last_vertex;) {
- vertex_tmp = vertex->next;
- free(vertex);
- vertex = vertex_tmp;
- }
- free(vertex);
- }
- free(polygon);
- tobj->current_polygon = NULL;
- }
- /* remove all contour data */
- for (contour = tobj->contours; contour != NULL;) {
- for (vertex = contour->vertices; vertex != contour->last_vertex;) {
- vertex_tmp = vertex->next;
- free(vertex);
- vertex = vertex_tmp;
- }
- free(vertex);
- contour_tmp = contour->next;
- free(contour);
- contour = contour_tmp;
- }
- tobj->contours = tobj->last_contour = NULL;
- tobj->contour_cnt = 0;
-}
-
-
-void GLAPIENTRY
-gluTessNormal(GLUtesselator *tess, GLdouble valueX, GLdouble valueY, GLdouble valueZ)
-{
- /* dummy function */
- (void) tess;
- (void) valueX;
- (void) valueY;
- (void) valueZ;
-}
diff --git a/src/glu/mini/tess.h b/src/glu/mini/tess.h
deleted file mode 100644
index 4e51dddd37..0000000000
--- a/src/glu/mini/tess.h
+++ /dev/null
@@ -1,107 +0,0 @@
-
-/*
- * Mesa 3-D graphics library
- * Version: 3.3
- * Copyright (C) 1995-2000 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-
-/*
- * This file is part of the polygon tesselation code contributed by
- * Bogdan Sikorski
- */
-
-
-#ifndef TESS_H
-#define TESS_H
-
-
-#include "gluP.h"
-
-#define EPSILON 1e-06 /* epsilon for double precision compares */
-
-typedef enum
-{
- OXY,
- OYZ,
- OXZ
-}
-projection_type;
-
-typedef struct callbacks_str
-{
- void (GLCALLBACK * begin) (GLenum mode);
- void (GLCALLBACK * edgeFlag) (GLboolean flag);
- void (GLCALLBACK * vertex) (GLvoid * v);
- void (GLCALLBACK * end) (void);
- void (GLCALLBACK * error) (GLenum err);
-}
-tess_callbacks;
-
-typedef struct vertex_str
-{
- void *data;
- GLdouble location[3];
- GLdouble x, y;
- GLboolean edge_flag;
- struct vertex_str *shadow_vertex;
- struct vertex_str *next, *previous;
-}
-tess_vertex;
-
-typedef struct contour_str
-{
- GLenum type;
- GLuint vertex_cnt;
- GLdouble area;
- GLenum orientation;
- struct vertex_str *vertices, *last_vertex;
- struct contour_str *next, *previous;
-}
-tess_contour;
-
-typedef struct polygon_str
-{
- GLuint vertex_cnt;
- GLdouble A, B, C, D;
- GLdouble area;
- GLenum orientation;
- struct vertex_str *vertices, *last_vertex;
-}
-tess_polygon;
-
-struct GLUtesselator
-{
- tess_contour *contours, *last_contour;
- GLuint contour_cnt;
- tess_callbacks callbacks;
- tess_polygon *current_polygon;
- GLenum error;
- GLdouble A, B, C, D;
- projection_type projection;
-};
-
-
-extern void tess_call_user_error(GLUtriangulatorObj *, GLenum);
-extern void tess_test_polygon(GLUtriangulatorObj *);
-extern void tess_find_contour_hierarchies(GLUtriangulatorObj *);
-extern void tess_handle_holes(GLUtriangulatorObj *);
-extern void tess_tesselate(GLUtriangulatorObj *);
-extern void tess_tesselate_with_edge_flag(GLUtriangulatorObj *);
-
-
-#endif
diff --git a/src/glu/mini/tesselat.c b/src/glu/mini/tesselat.c
deleted file mode 100644
index 47d230073f..0000000000
--- a/src/glu/mini/tesselat.c
+++ /dev/null
@@ -1,406 +0,0 @@
-
-/*
- * Mesa 3-D graphics library
- * Version: 3.3
- * Copyright (C) 1995-2000 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-
-/*
- * This file is part of the polygon tesselation code contributed by
- * Bogdan Sikorski
- */
-
-
-#ifdef PC_HEADER
-#include "all.h"
-#else
-#include <stdlib.h>
-#include <math.h>
-#include "tess.h"
-#endif
-
-
-
-static GLboolean edge_flag;
-
-static void emit_triangle(GLUtriangulatorObj *, tess_vertex *,
- tess_vertex *, tess_vertex *);
-
-static void emit_triangle_with_edge_flag(GLUtriangulatorObj *,
- tess_vertex *, GLboolean,
- tess_vertex *, GLboolean,
- tess_vertex *, GLboolean);
-
-static GLdouble
-twice_the_triangle_area(tess_vertex * va, tess_vertex * vb, tess_vertex * vc)
-{
- return (vb->x - va->x) * (vc->y - va->y) - (vb->y - va->y) * (vc->x -
- va->x);
-}
-
-static GLboolean
-left(GLdouble A, GLdouble B, GLdouble C, GLdouble x, GLdouble y)
-{
- if (A * x + B * y + C > -EPSILON)
- return GL_TRUE;
- else
- return GL_FALSE;
-}
-
-static GLboolean
-right(GLdouble A, GLdouble B, GLdouble C, GLdouble x, GLdouble y)
-{
- if (A * x + B * y + C < EPSILON)
- return GL_TRUE;
- else
- return GL_FALSE;
-}
-
-static GLint
-convex_ccw(tess_vertex * va,
- tess_vertex * vb, tess_vertex * vc, GLUtriangulatorObj * tobj)
-{
- GLdouble d;
-
- d = twice_the_triangle_area(va, vb, vc);
-
- if (d > EPSILON) {
- return 1;
- }
- else if (d < -EPSILON) {
- return 0;
- }
- else {
- return -1;
- }
-}
-
-static GLint
-convex_cw(tess_vertex * va,
- tess_vertex * vb, tess_vertex * vc, GLUtriangulatorObj * tobj)
-{
- GLdouble d;
-
- d = twice_the_triangle_area(va, vb, vc);
-
- if (d < -EPSILON) {
- return 1;
- }
- else if (d > EPSILON) {
- return 0;
- }
- else {
- return -1;
- }
-}
-
-static GLboolean
-diagonal_ccw(tess_vertex * va,
- tess_vertex * vb,
- GLUtriangulatorObj * tobj, tess_contour * contour)
-{
- tess_vertex *vc = va->next, *vertex, *shadow_vertex;
- struct
- {
- GLdouble A, B, C;
- }
- ac, cb, ba;
- GLdouble x, y;
-
- GLint res = convex_ccw(va, vc, vb, tobj);
- if (res == 0)
- return GL_FALSE;
- if (res == -1)
- return GL_TRUE;
-
- ba.A = vb->y - va->y;
- ba.B = va->x - vb->x;
- ba.C = -ba.A * va->x - ba.B * va->y;
- ac.A = va->y - vc->y;
- ac.B = vc->x - va->x;
- ac.C = -ac.A * vc->x - ac.B * vc->y;
- cb.A = vc->y - vb->y;
- cb.B = vb->x - vc->x;
- cb.C = -cb.A * vb->x - cb.B * vb->y;
- for (vertex = vb->next; vertex != va; vertex = vertex->next) {
- shadow_vertex = vertex->shadow_vertex;
- if (shadow_vertex != NULL &&
- (shadow_vertex == va || shadow_vertex == vb || shadow_vertex == vc))
- continue;
- x = vertex->x;
- y = vertex->y;
- if (left(ba.A, ba.B, ba.C, x, y) &&
- left(ac.A, ac.B, ac.C, x, y) && left(cb.A, cb.B, cb.C, x, y))
- return GL_FALSE;
- }
- return GL_TRUE;
-}
-
-static GLboolean
-diagonal_cw(tess_vertex * va,
- tess_vertex * vb,
- GLUtriangulatorObj * tobj, tess_contour * contour)
-{
- tess_vertex *vc = va->next, *vertex, *shadow_vertex;
- struct
- {
- GLdouble A, B, C;
- }
- ac, cb, ba;
- GLdouble x, y;
-
- GLint res = convex_cw(va, vc, vb, tobj);
- if (res == 0)
- return GL_FALSE;
- if (res == -1)
- return GL_TRUE;
-
- ba.A = vb->y - va->y;
- ba.B = va->x - vb->x;
- ba.C = -ba.A * va->x - ba.B * va->y;
- ac.A = va->y - vc->y;
- ac.B = vc->x - va->x;
- ac.C = -ac.A * vc->x - ac.B * vc->y;
- cb.A = vc->y - vb->y;
- cb.B = vb->x - vc->x;
- cb.C = -cb.A * vb->x - cb.B * vb->y;
- for (vertex = vb->next; vertex != va; vertex = vertex->next) {
- shadow_vertex = vertex->shadow_vertex;
- if (shadow_vertex != NULL &&
- (shadow_vertex == va || shadow_vertex == vb || shadow_vertex == vc))
- continue;
- x = vertex->x;
- y = vertex->y;
- if (right(ba.A, ba.B, ba.C, x, y) &&
- right(ac.A, ac.B, ac.C, x, y) && right(cb.A, cb.B, cb.C, x, y))
- return GL_FALSE;
- }
- return GL_TRUE;
-}
-
-static void
-clip_ear(GLUtriangulatorObj * tobj, tess_vertex * v, tess_contour * contour)
-{
- emit_triangle(tobj, v->previous, v, v->next);
- /* the first in the list */
- if (contour->vertices == v) {
- contour->vertices = v->next;
- contour->last_vertex->next = v->next;
- v->next->previous = contour->last_vertex;
- }
- else
- /* the last ? */
- if (contour->last_vertex == v) {
- contour->vertices->previous = v->previous;
- v->previous->next = v->next;
- contour->last_vertex = v->previous;
- }
- else {
- v->next->previous = v->previous;
- v->previous->next = v->next;
- }
- free(v);
- --(contour->vertex_cnt);
-}
-
-static void
-clip_ear_with_edge_flag(GLUtriangulatorObj * tobj,
- tess_vertex * v, tess_contour * contour)
-{
- emit_triangle_with_edge_flag(tobj, v->previous, v->previous->edge_flag,
- v, v->edge_flag, v->next, GL_FALSE);
- v->previous->edge_flag = GL_FALSE;
- /* the first in the list */
- if (contour->vertices == v) {
- contour->vertices = v->next;
- contour->last_vertex->next = v->next;
- v->next->previous = contour->last_vertex;
- }
- else
- /* the last ? */
- if (contour->last_vertex == v) {
- contour->vertices->previous = v->previous;
- v->previous->next = v->next;
- contour->last_vertex = v->previous;
- }
- else {
- v->next->previous = v->previous;
- v->previous->next = v->next;
- }
- free(v);
- --(contour->vertex_cnt);
-}
-
-static void
-triangulate_ccw(GLUtriangulatorObj * tobj, tess_contour * contour)
-{
- tess_vertex *vertex;
- GLuint vertex_cnt = contour->vertex_cnt;
-
- while (vertex_cnt > 3) {
- vertex = contour->vertices;
- while (diagonal_ccw(vertex, vertex->next->next, tobj, contour) ==
- GL_FALSE && tobj->error == GLU_NO_ERROR)
- vertex = vertex->next;
- if (tobj->error != GLU_NO_ERROR)
- return;
- clip_ear(tobj, vertex->next, contour);
- --vertex_cnt;
- }
-}
-
-static void
-triangulate_cw(GLUtriangulatorObj * tobj, tess_contour * contour)
-{
- tess_vertex *vertex;
- GLuint vertex_cnt = contour->vertex_cnt;
-
- while (vertex_cnt > 3) {
- vertex = contour->vertices;
- while (diagonal_cw(vertex, vertex->next->next, tobj, contour) ==
- GL_FALSE && tobj->error == GLU_NO_ERROR)
- vertex = vertex->next;
- if (tobj->error != GLU_NO_ERROR)
- return;
- clip_ear(tobj, vertex->next, contour);
- --vertex_cnt;
- }
-}
-
-static void
-triangulate_ccw_with_edge_flag(GLUtriangulatorObj * tobj,
- tess_contour * contour)
-{
- tess_vertex *vertex;
- GLuint vertex_cnt = contour->vertex_cnt;
-
- while (vertex_cnt > 3) {
- vertex = contour->vertices;
- while (diagonal_ccw(vertex, vertex->next->next, tobj, contour) ==
- GL_FALSE && tobj->error == GLU_NO_ERROR)
- vertex = vertex->next;
- if (tobj->error != GLU_NO_ERROR)
- return;
- clip_ear_with_edge_flag(tobj, vertex->next, contour);
- --vertex_cnt;
- }
-}
-
-static void
-triangulate_cw_with_edge_flag(GLUtriangulatorObj * tobj,
- tess_contour * contour)
-{
- tess_vertex *vertex;
- GLuint vertex_cnt = contour->vertex_cnt;
-
- while (vertex_cnt > 3) {
- vertex = contour->vertices;
- while (diagonal_cw(vertex, vertex->next->next, tobj, contour) ==
- GL_FALSE && tobj->error == GLU_NO_ERROR)
- vertex = vertex->next;
- if (tobj->error != GLU_NO_ERROR)
- return;
- clip_ear_with_edge_flag(tobj, vertex->next, contour);
- --vertex_cnt;
- }
-}
-
-void
-tess_tesselate(GLUtriangulatorObj * tobj)
-{
- tess_contour *contour;
-
- for (contour = tobj->contours; contour != NULL; contour = contour->next) {
- if (contour->orientation == GLU_CCW) {
- triangulate_ccw(tobj, contour);
- }
- else {
- triangulate_cw(tobj, contour);
- }
- if (tobj->error != GLU_NO_ERROR)
- return;
-
- /* emit the last triangle */
- emit_triangle(tobj, contour->vertices, contour->vertices->next,
- contour->vertices->next->next);
- }
-}
-
-void
-tess_tesselate_with_edge_flag(GLUtriangulatorObj * tobj)
-{
- tess_contour *contour;
-
- edge_flag = GL_TRUE;
- /* first callback with edgeFlag set to GL_TRUE */
- (tobj->callbacks.edgeFlag) (GL_TRUE);
-
- for (contour = tobj->contours; contour != NULL; contour = contour->next) {
- if (contour->orientation == GLU_CCW)
- triangulate_ccw_with_edge_flag(tobj, contour);
- else
- triangulate_cw_with_edge_flag(tobj, contour);
- if (tobj->error != GLU_NO_ERROR)
- return;
- /* emit the last triangle */
- emit_triangle_with_edge_flag(tobj, contour->vertices,
- contour->vertices->edge_flag,
- contour->vertices->next,
- contour->vertices->next->edge_flag,
- contour->vertices->next->next,
- contour->vertices->next->next->edge_flag);
- }
-}
-
-static void
-emit_triangle(GLUtriangulatorObj * tobj,
- tess_vertex * v1, tess_vertex * v2, tess_vertex * v3)
-{
- (tobj->callbacks.begin) (GL_TRIANGLES);
- (tobj->callbacks.vertex) (v1->data);
- (tobj->callbacks.vertex) (v2->data);
- (tobj->callbacks.vertex) (v3->data);
- (tobj->callbacks.end) ();
-}
-
-static void
-emit_triangle_with_edge_flag(GLUtriangulatorObj * tobj,
- tess_vertex * v1,
- GLboolean edge_flag1,
- tess_vertex * v2,
- GLboolean edge_flag2,
- tess_vertex * v3, GLboolean edge_flag3)
-{
- (tobj->callbacks.begin) (GL_TRIANGLES);
- if (edge_flag1 != edge_flag) {
- edge_flag = (edge_flag == GL_TRUE ? GL_FALSE : GL_TRUE);
- (tobj->callbacks.edgeFlag) (edge_flag);
- }
- (tobj->callbacks.vertex) (v1->data);
- if (edge_flag2 != edge_flag) {
- edge_flag = (edge_flag == GL_TRUE ? GL_FALSE : GL_TRUE);
- (tobj->callbacks.edgeFlag) (edge_flag);
- }
- (tobj->callbacks.vertex) (v2->data);
- if (edge_flag3 != edge_flag) {
- edge_flag = (edge_flag == GL_TRUE ? GL_FALSE : GL_TRUE);
- (tobj->callbacks.edgeFlag) (edge_flag);
- }
- (tobj->callbacks.vertex) (v3->data);
- (tobj->callbacks.end) ();
-}
diff --git a/src/glut/beos/Makefile b/src/glut/beos/Makefile
deleted file mode 100644
index a9f8684c9b..0000000000
--- a/src/glut/beos/Makefile
+++ /dev/null
@@ -1,99 +0,0 @@
-# Makefile for GLUT
-#
-# NOTICE: The OpenGL Utility Toolkit (GLUT) distribution contains source
-# code published in a book titled "Programming OpenGL for the X Window
-# System" (ISBN: 0-201-48359-9) published by Addison-Wesley. The
-# programs and associated files contained in the distribution were
-# developed by Mark J. Kilgard and are Copyright 1994, 1995, 1996 by Mark
-# J. Kilgard (unless otherwise noted). The programs are not in the
-# public domain, but they are freely distributable without licensing
-# fees. These programs are provided without guarantee or warrantee
-# expressed or implied.
-#
-# GLUT source included with Mesa with permission from Mark Kilgard.
-
-# src/glut/beos/Makefile
-
-TOP = ../../..
-include $(TOP)/configs/current
-
-GLUT_MAJOR = 3
-GLUT_MINOR = 7
-GLUT_TINY = 1
-
-CPP_SOURCES = \
- glutBlocker.cpp \
- glutInit.cpp \
- glutWindow.cpp \
- glutEvent.cpp \
- glutCallback.cpp \
- glutOverlay.cpp \
- glutGet.cpp \
- glutColor.cpp \
- glutCursor.cpp \
- glutMenu.cpp \
- glutDstr.cpp \
- beos_x11.cpp
-
-C_SOURCES = \
- glut_8x13.c \
- glut_9x15.c \
- glut_bitmap.c \
- glut_bwidth.c \
- glut_hel10.c \
- glut_hel12.c \
- glut_hel18.c \
- glut_tr10.c \
- glut_tr24.c \
- glut_mroman.c \
- glut_roman.c \
- glut_stroke.c \
- glut_swidth.c \
- glut_shapes.c \
- glut_teapot.c \
- glut_vidresize.c \
- glut_util.c \
- glut_ext.c
-
-OBJECTS = \
- $(CPP_SOURCES:.cpp=.o) \
- $(C_SOURCES:.c=.o)
-
-INCLUDES = \
- -I. \
- -I- \
- -I$(TOP)/include
-
-# Rules
-
-.cpp.o:
- $(CC) -c $< $(INCLUDES) $(CFLAGS) $(GLUT_CFLAGS) -o $@
-
-.c.o:
- $(CC) -c $< $(INCLUDES) $(CFLAGS) $(GLUT_CFLAGS) -o $@
-
-
-# ---- TARGETS
-
-default: $(TOP)/$(LIB_DIR) $(TOP)/$(LIB_DIR)/$(GLUT_LIB_NAME)
-
-# Create the lib directory if missing
-$(TOP)/$(LIB_DIR):
- mkdir $(TOP)/$(LIB_DIR)
-
-# Make the library
-$(TOP)/$(LIB_DIR)/$(GLUT_LIB_NAME): depend $(OBJECTS)
- @$(MKLIB) -o $(GLUT_LIB) -linker '$(CC)' -ldflags '$(LDFLAGS)' \
- -major $(GLUT_MAJOR) -minor $(GLUT_MINOR) -patch $(GLUT_TINY) \
- -install $(TOP)/$(LIB_DIR) $(MKLIB_OPTIONS) \
- $(GLUT_LIB_DEPS) $(OBJECTS)
-
-clean:
- -rm -f *.o
-
-depend: $(SOURCES)
- rm -f depend
- touch depend
- $(MKDEP) $(MKDEP_OPTIONS) $(INCLUDES) $(SOURCES) > /dev/null
-
-include depend
diff --git a/src/glut/beos/beos_x11.cpp b/src/glut/beos/beos_x11.cpp
deleted file mode 100644
index 4f7ec48ac8..0000000000
--- a/src/glut/beos/beos_x11.cpp
+++ /dev/null
@@ -1,180 +0,0 @@
-
-/* Copyright (c) Nate Robins, 1997. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include <Screen.h>
-#include <stdio.h>
-#include "beos_x11.h"
-
-/* NOTE: These functions require a BApplication to be instantiated first */
-int DisplayWidth() {
- BScreen s;
- return s.Frame().IntegerWidth() + 1;
-}
-
-int DisplayHeight() {
- BScreen s;
- return s.Frame().IntegerHeight() + 1;
-}
-
-/* the following function was stolen from the X sources as indicated. */
-
-/* Copyright Massachusetts Institute of Technology 1985, 1986, 1987 */
-
-/*
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation, and that the name of M.I.T. not be used in advertising or
-publicity pertaining to distribution of the software without specific,
-written prior permission. M.I.T. makes no representations about the
-suitability of this software for any purpose. It is provided "as is"
-without express or implied warranty.
-*/
-
-#if 0 // Not used currently...
-
-/*
- *Returns pointer to first char ins search which is also in what, else NULL.
- */
-static char *strscan (char *search, char *what)
-{
- int i, len = strlen (what);
- char c;
-
- while ((c = *(search++))) {
- for (i = 0; i < len; i++)
- if (c == what [i])
- return (--search);
- }
- return (NULL);
-}
-
-#endif
-
-/*
- * XParseGeometry parses strings of the form
- * "=<width>x<height>{+-}<xoffset>{+-}<yoffset>", where
- * width, height, xoffset, and yoffset are unsigned integers.
- * Example: "=80x24+300-49"
- * The equal sign is optional.
- * It returns a bitmask that indicates which of the four values
- * were actually found in the string. For each value found,
- * the corresponding argument is updated; for each value
- * not found, the corresponding argument is left unchanged.
- */
-
-static int
-ReadInteger(char *string, char **NextString)
-{
- register int Result = 0;
- int Sign = 1;
-
- if (*string == '+')
- string++;
- else if (*string == '-')
- {
- string++;
- Sign = -1;
- }
- for (; (*string >= '0') && (*string <= '9'); string++)
- {
- Result = (Result * 10) + (*string - '0');
- }
- *NextString = string;
- if (Sign >= 0)
- return (Result);
- else
- return (-Result);
-}
-
-int XParseGeometry (char *string, int *x, int *y,
- unsigned int *width, unsigned int *height)
-{
- int mask = NoValue;
- register char *strind;
- unsigned int tempWidth=0, tempHeight=0;
- int tempX=0, tempY=0;
- char *nextCharacter;
-
- if ( (string == NULL) || (*string == '\0')) return(mask);
- if (*string == '=')
- string++; /* ignore possible '=' at beg of geometry spec */
-
- strind = (char *)string;
- if (*strind != '+' && *strind != '-' && *strind != 'x') {
- tempWidth = ReadInteger(strind, &nextCharacter);
- if (strind == nextCharacter)
- return (0);
- strind = nextCharacter;
- mask |= WidthValue;
- }
-
- if (*strind == 'x' || *strind == 'X') {
- strind++;
- tempHeight = ReadInteger(strind, &nextCharacter);
- if (strind == nextCharacter)
- return (0);
- strind = nextCharacter;
- mask |= HeightValue;
- }
-
- if ((*strind == '+') || (*strind == '-')) {
- if (*strind == '-') {
- strind++;
- tempX = -ReadInteger(strind, &nextCharacter);
- if (strind == nextCharacter)
- return (0);
- strind = nextCharacter;
- mask |= XNegative;
-
- }
- else
- { strind++;
- tempX = ReadInteger(strind, &nextCharacter);
- if (strind == nextCharacter)
- return(0);
- strind = nextCharacter;
- }
- mask |= XValue;
- if ((*strind == '+') || (*strind == '-')) {
- if (*strind == '-') {
- strind++;
- tempY = -ReadInteger(strind, &nextCharacter);
- if (strind == nextCharacter)
- return(0);
- strind = nextCharacter;
- mask |= YNegative;
-
- }
- else
- {
- strind++;
- tempY = ReadInteger(strind, &nextCharacter);
- if (strind == nextCharacter)
- return(0);
- strind = nextCharacter;
- }
- mask |= YValue;
- }
- }
-
- /* If strind isn't at the end of the string the it's an invalid
- geometry specification. */
-
- if (*strind != '\0') return (0);
-
- if (mask & XValue)
- *x = tempX;
- if (mask & YValue)
- *y = tempY;
- if (mask & WidthValue)
- *width = tempWidth;
- if (mask & HeightValue)
- *height = tempHeight;
- return (mask);
-}
diff --git a/src/glut/beos/beos_x11.h b/src/glut/beos/beos_x11.h
deleted file mode 100644
index 966dddd5e0..0000000000
--- a/src/glut/beos/beos_x11.h
+++ /dev/null
@@ -1,33 +0,0 @@
-#ifndef __beos_x11_h__
-#define __beos_x11_h__
-
-/* Copyright (c) Nate Robins, 1997. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-/*
- * Bitmask returned by XParseGeometry(). Each bit tells if the corresponding
- * value (x, y, width, height) was found in the parsed string.
-*/
-#define NoValue 0x0000
-#define XValue 0x0001
-#define YValue 0x0002
-#define WidthValue 0x0004
-#define HeightValue 0x0008
-#define AllValues 0x000F
-#define XNegative 0x0010
-#define YNegative 0x0020
-
-/* Function prototypes. */
-
-extern int DisplayWidth();
-extern int DisplayHeight();
-
-extern int XParseGeometry(
- char* string,
- int* x, int* y,
- unsigned int* width, unsigned int* height);
-
-#endif /* __beos_x11_h__ */
diff --git a/src/glut/beos/glutBlocker.cpp b/src/glut/beos/glutBlocker.cpp
deleted file mode 100644
index aa948522b9..0000000000
--- a/src/glut/beos/glutBlocker.cpp
+++ /dev/null
@@ -1,69 +0,0 @@
-/***********************************************************
- * Copyright (C) 1997, Be Inc. Copyright (C) 1999, Jake Hamby.
- *
- * This program is freely distributable without licensing fees
- * and is provided without guarantee or warrantee expressed or
- * implied. This program is -not- in the public domain.
- *
- * FILE: glutBlocker.cpp
- *
- * DESCRIPTION: helper class for GLUT event loop.
- * if a window receives an event, wake up the event loop.
- ***********************************************************/
-
-/***********************************************************
- * Headers
- ***********************************************************/
-#include "glutBlocker.h"
-
-/***********************************************************
- * Global variable
- ***********************************************************/
-GlutBlocker gBlock;
-
-/***********************************************************
- * Member functions
- ***********************************************************/
-GlutBlocker::GlutBlocker() {
- gSem = create_sem(1, "gSem");
- eSem = create_sem(0, "eSem");
- events = false;
- sleeping = false;
-}
-
-GlutBlocker::~GlutBlocker() {
- delete_sem(eSem);
- delete_sem(gSem);
-}
-
-void GlutBlocker::WaitEvent() {
- acquire_sem(gSem);
- if(!events) { // wait for new event
- sleeping = true;
- release_sem(gSem);
- acquire_sem(eSem); // next event will release eSem
- } else {
- release_sem(gSem);
- }
-}
-
-void GlutBlocker::WaitEvent(bigtime_t usecs) {
- acquire_sem(gSem);
- if(!events) { // wait for new event
- sleeping = true;
- release_sem(gSem);
- acquire_sem_etc(eSem, 1, B_TIMEOUT, usecs); // wait for next event or timeout
- } else {
- release_sem(gSem);
- }
-}
-
-void GlutBlocker::NewEvent() {
- acquire_sem(gSem);
- events = true; // next call to WaitEvent returns immediately
- if(sleeping) {
- sleeping = false;
- release_sem(eSem); // if event loop is blocking, wake it up
- }
- release_sem(gSem);
-}
diff --git a/src/glut/beos/glutBlocker.h b/src/glut/beos/glutBlocker.h
deleted file mode 100644
index fc9e4cc309..0000000000
--- a/src/glut/beos/glutBlocker.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/***********************************************************
- * Copyright (C) 1997, Be Inc. Copyright (C) 1999, Jake Hamby.
- *
- * This program is freely distributable without licensing fees
- * and is provided without guarantee or warrantee expressed or
- * implied. This program is -not- in the public domain.
- *
- * FILE: glutBlocker.h
- *
- * DESCRIPTION: helper class for GLUT event loop.
- * if a window receives an event, wake up the event loop.
- ***********************************************************/
-
-/***********************************************************
- * Headers
- ***********************************************************/
-#include <kernel/OS.h>
-
-/***********************************************************
- * CLASS: GlutBlocker
- *
- * DESCRIPTION: Fairly naive, but safe implementation.
- * global semaphore controls access to state
- * event semaphore blocks WaitEvent() call if necessary
- * (this is basically a condition variable class)
- ***********************************************************/
-class GlutBlocker {
-public:
- GlutBlocker();
- ~GlutBlocker();
- void WaitEvent(); // wait for new event
- void WaitEvent(bigtime_t usecs); // wait with timeout
- void NewEvent(); // new event from a window (may need to wakeup main thread)
- void QuickNewEvent() { events = true; } // new event from main thread
- void ClearEvents() { events = false; } // clear counter at beginning of event loop
- bool PendingEvent() { return events; } // XPending() equivalent
-private:
- sem_id gSem;
- sem_id eSem;
- bool events; // are there any new events?
- bool sleeping; // is someone sleeping on eSem?
-};
-
-/***********************************************************
- * Global variable
- ***********************************************************/
-extern GlutBlocker gBlock;
diff --git a/src/glut/beos/glutCallback.cpp b/src/glut/beos/glutCallback.cpp
deleted file mode 100644
index cf3daaaf36..0000000000
--- a/src/glut/beos/glutCallback.cpp
+++ /dev/null
@@ -1,171 +0,0 @@
-/***********************************************************
- * Copyright (C) 1997, Be Inc. Copyright (C) 1999, Jake Hamby.
- *
- * This program is freely distributable without licensing fees
- * and is provided without guarantee or warrantee expressed or
- * implied. This program is -not- in the public domain.
- *
- *
- * FILE: glutCallback.cpp
- *
- * DESCRIPTION: put all the callback setting routines in
- * one place
- ***********************************************************/
-
-/***********************************************************
- * Headers
- ***********************************************************/
-#include <GL/glut.h>
-#include "glutint.h"
-#include "glutState.h"
-
-/***********************************************************
- * Window related callbacks
- ***********************************************************/
-void APIENTRY
-glutDisplayFunc(GLUTdisplayCB displayFunc)
-{
- /* XXX Remove the warning after GLUT 3.0. */
- if (!displayFunc)
- __glutFatalError("NULL display callback not allowed in GLUT 3.0; update your code.");
- gState.currentWindow->display = displayFunc;
-}
-
-void APIENTRY
-glutKeyboardFunc(GLUTkeyboardCB keyboardFunc)
-{
- gState.currentWindow->keyboard = keyboardFunc;
-}
-
-void APIENTRY
-glutSpecialFunc(GLUTspecialCB specialFunc)
-{
- gState.currentWindow->special = specialFunc;
-}
-
-void APIENTRY
-glutMouseFunc(GLUTmouseCB mouseFunc)
-{
- gState.currentWindow->mouse = mouseFunc;
-}
-
-void APIENTRY
-glutMotionFunc(GLUTmotionCB motionFunc)
-{
- gState.currentWindow->motion = motionFunc;
-}
-
-void APIENTRY
-glutPassiveMotionFunc(GLUTpassiveCB passiveMotionFunc)
-{
- gState.currentWindow->passive = passiveMotionFunc;
-}
-
-void APIENTRY
-glutEntryFunc(GLUTentryCB entryFunc)
-{
- gState.currentWindow->entry = entryFunc;
- if (!entryFunc) {
- gState.currentWindow->entryState = -1;
- }
-}
-
-void APIENTRY
-glutWindowStatusFunc(GLUTwindowStatusCB windowStatusFunc)
-{
- gState.currentWindow->windowStatus = windowStatusFunc;
-}
-
-static void
-visibilityHelper(int status)
-{
- if (status == GLUT_HIDDEN || status == GLUT_FULLY_COVERED)
- gState.currentWindow->visibility(GLUT_NOT_VISIBLE);
- else
- gState.currentWindow->visibility(GLUT_VISIBLE);
-}
-
-void APIENTRY
-glutVisibilityFunc(GLUTvisibilityCB visibilityFunc)
-{
- gState.currentWindow->visibility = visibilityFunc;
- if (visibilityFunc)
- glutWindowStatusFunc(visibilityHelper);
- else
- glutWindowStatusFunc(NULL);
-}
-
-void APIENTRY
-glutReshapeFunc(GLUTreshapeCB reshapeFunc)
-{
- if (reshapeFunc) {
- gState.currentWindow->reshape = reshapeFunc;
- } else {
- gState.currentWindow->reshape = __glutDefaultReshape;
- }
-}
-
-/***********************************************************
- * General callbacks (timer callback in glutEvent.cpp)
- ***********************************************************/
-/* DEPRICATED, use glutMenuStatusFunc instead. */
-void APIENTRY
-glutMenuStateFunc(GLUTmenuStateCB menuStateFunc)
-{
- gState.menuStatus = (GLUTmenuStatusCB) menuStateFunc;
-}
-
-void APIENTRY
-glutMenuStatusFunc(GLUTmenuStatusCB menuStatusFunc)
-{
- gState.menuStatus = menuStatusFunc;
-}
-
-void APIENTRY
-glutIdleFunc(GLUTidleCB idleFunc)
-{
- gState.idle = idleFunc;
-}
-
-/***********************************************************
- * Unsupported callbacks
- ***********************************************************/
-void APIENTRY
-glutOverlayDisplayFunc(GLUTdisplayCB displayFunc)
-{
-}
-
-void APIENTRY
-glutSpaceballMotionFunc(GLUTspaceMotionCB spaceMotionFunc)
-{
-}
-
-void APIENTRY
-glutSpaceballRotateFunc(GLUTspaceRotateCB spaceRotateFunc)
-{
-}
-
-void APIENTRY
-glutSpaceballButtonFunc(GLUTspaceButtonCB spaceButtonFunc)
-{
-}
-
-void APIENTRY
-glutButtonBoxFunc(GLUTbuttonBoxCB buttonBoxFunc)
-{
-}
-
-void APIENTRY
-glutDialsFunc(GLUTdialsCB dialsFunc)
-{
-}
-
-void APIENTRY
-glutTabletMotionFunc(GLUTtabletMotionCB tabletMotionFunc)
-{
-}
-
-void APIENTRY
-glutTabletButtonFunc(GLUTtabletButtonCB tabletButtonFunc)
-{
-}
diff --git a/src/glut/beos/glutColor.cpp b/src/glut/beos/glutColor.cpp
deleted file mode 100644
index d9f7739ae5..0000000000
--- a/src/glut/beos/glutColor.cpp
+++ /dev/null
@@ -1,32 +0,0 @@
-/***********************************************************
- * Copyright (C) 1997, Be Inc. Copyright (C) 1999, Jake Hamby.
- *
- * This program is freely distributable without licensing fees
- * and is provided without guarantee or warrantee expressed or
- * implied. This program is -not- in the public domain.
- *
- *
- * FILE: glutColor.cpp
- *
- * DESCRIPTION: we don't support indexed color, so this code is
- * really simple
- ***********************************************************/
-
-/***********************************************************
- * Headers
- ***********************************************************/
-#include <GL/glut.h>
-#include "glutint.h"
-
-void glutSetColor(int cell, GLfloat red, GLfloat green, GLfloat blue) {
- __glutWarning("glutSetColor: current window is RGBA");
-}
-
-GLfloat glutGetColor(int cell, int component) {
- __glutWarning("glutGetColor: current window is RGBA");
- return -1.0;
-}
-
-void glutCopyColormap(int win) {
- __glutWarning("glutCopyColormap: color index not supported in BeOS");
-}
diff --git a/src/glut/beos/glutCursor.cpp b/src/glut/beos/glutCursor.cpp
deleted file mode 100644
index 3081fff44b..0000000000
--- a/src/glut/beos/glutCursor.cpp
+++ /dev/null
@@ -1,90 +0,0 @@
-/***********************************************************
- * Copyright (C) 1997, Be Inc. Copyright (C) 1999, Jake Hamby.
- *
- * This program is freely distributable without licensing fees
- * and is provided without guarantee or warrantee expressed or
- * implied. This program is -not- in the public domain.
- *
- *
- * FILE: glutCursor.cpp
- *
- * DESCRIPTION: code for handling custom mouse cursors
- ***********************************************************/
-
-/***********************************************************
- * Headers
- ***********************************************************/
-#include <GL/glut.h>
-#include "glutint.h"
-#include "glutState.h"
-#include "glutCursors.h"
-
-static const unsigned char *cursorTable[] = {
- XC_arrow, /* GLUT_CURSOR_RIGHT_ARROW */
- XC_top_left_arrow, /* GLUT_CURSOR_LEFT_ARROW */
- XC_hand1, /* GLUT_CURSOR_INFO */
- XC_pirate, /* GLUT_CURSOR_DESTROY */
- XC_question_arrow, /* GLUT_CURSOR_HELP */
- XC_exchange, /* GLUT_CURSOR_CYCLE */
- XC_spraycan, /* GLUT_CURSOR_SPRAY */
- XC_watch, /* GLUT_CURSOR_WAIT */
- XC_xterm, /* GLUT_CURSOR_TEXT */
- XC_crosshair, /* GLUT_CURSOR_CROSSHAIR */
- XC_sb_v_double_arrow, /* GLUT_CURSOR_UP_DOWN */
- XC_sb_h_double_arrow, /* GLUT_CURSOR_LEFT_RIGHT */
- XC_top_side, /* GLUT_CURSOR_TOP_SIDE */
- XC_bottom_side, /* GLUT_CURSOR_BOTTOM_SIDE */
- XC_left_side, /* GLUT_CURSOR_LEFT_SIDE */
- XC_right_side, /* GLUT_CURSOR_RIGHT_SIDE */
- XC_top_left_corner, /* GLUT_CURSOR_TOP_LEFT_CORNER */
- XC_top_right_corner, /* GLUT_CURSOR_TOP_RIGHT_CORNER */
- XC_bottom_right_corner, /* GLUT_CURSOR_BOTTOM_RIGHT_CORNER */
- XC_bottom_left_corner, /* GLUT_CURSOR_BOTTOM_LEFT_CORNER */
-};
-
-/***********************************************************
- * FUNCTION: glutSetCursor (4.13)
- *
- * DESCRIPTION: set a new mouse cursor for current window
- ***********************************************************/
-void glutSetCursor(int cursor) {
- gState.currentWindow->Window()->Lock();
- gState.currentWindow->cursor = cursor;
- __glutSetCursor(cursor);
- gState.currentWindow->Window()->Unlock();
-}
-
-/***********************************************************
- * FUNCTION: __glutSetCursor
- *
- * DESCRIPTION: the actual cursor changing routine
- ***********************************************************/
-void __glutSetCursor(int cursor) {
- int realcursor = cursor;
- if (cursor < 0 || cursor > GLUT_CURSOR_BOTTOM_LEFT_CORNER) {
- switch(cursor) {
- case GLUT_CURSOR_INHERIT:
- return; // don't change cursor
- case GLUT_CURSOR_NONE:
- // this hides the cursor until the user moves the mouse
- // change it to HideCursor() AT YOUR OWN RISK!
- be_app->ObscureCursor();
- return;
- case GLUT_CURSOR_FULL_CROSSHAIR:
- realcursor = GLUT_CURSOR_CROSSHAIR;
- break;
- default:
- __glutWarning("unknown cursor\n");
- return;
- }
- }
- be_app->SetCursor(cursorTable[realcursor]);
-}
-
-/***********************************************************
- * FUNCTION: glutWarpPointer (x.xx)
- *
- * DESCRIPTION: move the mouse pointer to a new location
- * (note: can't do this in BeOS!)
- ***********************************************************/
-void glutWarpPointer(int x, int y) { }
diff --git a/src/glut/beos/glutCursors.h b/src/glut/beos/glutCursors.h
deleted file mode 100644
index 59f6951e2d..0000000000
--- a/src/glut/beos/glutCursors.h
+++ /dev/null
@@ -1,3083 +0,0 @@
-/* cursors.h: X Window standard cursor shapes */
-/* Generated by bdftobcursor */
-
-const unsigned char XC_X_cursor[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 7, 9, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0x70, 0xe,
- 0x78, 0x1e,
- 0x7c, 0x3e,
- 0x3e, 0x7c,
- 0x1f, 0xf8,
- 0xf, 0xf0,
- 0x7, 0xe0,
- 0x7, 0xe0,
- 0xf, 0xf0,
- 0x1f, 0xf8,
- 0x3e, 0x7c,
- 0x7c, 0x3e,
- 0x78, 0x1e,
- 0x70, 0xe,
- 0x0, 0x0,
- /* mask */
- 0xf0, 0xf,
- 0xf8, 0x1f,
- 0xfc, 0x3f,
- 0xfe, 0x7f,
- 0x7f, 0xfe,
- 0x3f, 0xfc,
- 0x1f, 0xf8,
- 0xf, 0xf0,
- 0xf, 0xf0,
- 0x1f, 0xf8,
- 0x3f, 0xfc,
- 0x7f, 0xfe,
- 0xfe, 0x7f,
- 0xfc, 0x3f,
- 0xf8, 0x1f,
- 0xf0, 0xf,
-};
-
-const unsigned char XC_arrow[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 1, 2, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0x60, 0x0,
- 0x78, 0x0,
- 0x3e, 0x0,
- 0x3f, 0x80,
- 0x1f, 0xe0,
- 0x1f, 0xf8,
- 0xf, 0x80,
- 0xf, 0xc0,
- 0x6, 0xe0,
- 0x6, 0x70,
- 0x2, 0x38,
- 0x2, 0x1c,
- 0x0, 0xe,
- 0x0, 0x4,
- 0x0, 0x0,
- /* mask */
- 0xe0, 0x0,
- 0xf8, 0x0,
- 0xfe, 0x0,
- 0x7f, 0x80,
- 0x7f, 0xe0,
- 0x3f, 0xf8,
- 0x3f, 0xfc,
- 0x1f, 0xfc,
- 0x1f, 0xe0,
- 0xf, 0xf0,
- 0xf, 0xf8,
- 0x7, 0x7c,
- 0x7, 0x3e,
- 0x2, 0x1f,
- 0x0, 0xe,
- 0x0, 0x4,
-};
-
-const unsigned char XC_based_arrow_down[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 12, 9, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- 0xf, 0xf0,
- 0x0, 0x0,
- 0xf, 0xf0,
- 0x1, 0x80,
- 0x1, 0x80,
- 0x1, 0x80,
- 0x1, 0x80,
- 0x5, 0xa0,
- 0x3, 0xc0,
- 0x1, 0x80,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- /* mask */
- 0x0, 0x0,
- 0x0, 0x0,
- 0x1f, 0xf8,
- 0x1f, 0xf8,
- 0x1f, 0xf8,
- 0x1f, 0xf8,
- 0x1f, 0xf8,
- 0x3, 0xc0,
- 0x3, 0xc0,
- 0xf, 0xf0,
- 0xf, 0xf0,
- 0xf, 0xf0,
- 0x7, 0xe0,
- 0x3, 0xc0,
- 0x0, 0x0,
- 0x0, 0x0,
-};
-
-const unsigned char XC_based_arrow_up[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 12, 9, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x1, 0x80,
- 0x3, 0xc0,
- 0x5, 0xa0,
- 0x1, 0x80,
- 0x1, 0x80,
- 0x1, 0x80,
- 0x1, 0x80,
- 0xf, 0xf0,
- 0x0, 0x0,
- 0xf, 0xf0,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- /* mask */
- 0x0, 0x0,
- 0x0, 0x0,
- 0x1, 0x80,
- 0x3, 0xc0,
- 0xf, 0xf0,
- 0xf, 0xf0,
- 0xf, 0xf0,
- 0x3, 0xc0,
- 0x3, 0xc0,
- 0x1f, 0xf8,
- 0x1f, 0xf8,
- 0x1f, 0xf8,
- 0x1f, 0xf8,
- 0x1f, 0xf8,
- 0x0, 0x0,
- 0x0, 0x0,
-};
-
-const unsigned char XC_boat[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 7, 2, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x80,
- 0x3, 0xe0,
- 0x6, 0x11,
- 0xff, 0xff,
- 0x18, 0x0,
- 0x4, 0x0,
- 0x2, 0x0,
- 0x3, 0xff,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- /* mask */
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0xe0,
- 0x3, 0xf0,
- 0x7, 0xf9,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0x1f, 0xff,
- 0x7, 0xff,
- 0x3, 0xff,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
-};
-
-const unsigned char XC_bogosity[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 7, 8, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0x38, 0x8e,
- 0x8, 0x88,
- 0x8, 0x88,
- 0x8, 0x88,
- 0x3f, 0xfe,
- 0x28, 0x8a,
- 0x28, 0x8a,
- 0x28, 0x8a,
- 0x28, 0x8a,
- 0x3f, 0xfe,
- 0x8, 0x88,
- 0x8, 0x88,
- 0x8, 0x88,
- 0x38, 0x8e,
- 0x0, 0x0,
- /* mask */
- 0x7d, 0xdf,
- 0x7d, 0xdf,
- 0x7d, 0xdf,
- 0x1d, 0xdc,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x7d, 0xdf,
- 0x7d, 0xdf,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x1d, 0xdc,
- 0x7d, 0xdf,
- 0x7d, 0xdf,
- 0x7d, 0xdf,
-};
-
-const unsigned char XC_bottom_left_corner[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 14, 15, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0x0, 0x6,
- 0x0, 0x6,
- 0x10, 0x46,
- 0x8, 0x46,
- 0x4, 0x46,
- 0x2, 0x46,
- 0x1, 0x46,
- 0x0, 0xc6,
- 0x1f, 0xc6,
- 0x0, 0x6,
- 0x0, 0x6,
- 0x0, 0x6,
- 0x7f, 0xfe,
- 0x7f, 0xfe,
- 0x0, 0x0,
- /* mask */
- 0x0, 0xf,
- 0x0, 0xf,
- 0x30, 0xef,
- 0x38, 0xef,
- 0x1c, 0xef,
- 0xe, 0xef,
- 0x7, 0xef,
- 0x3, 0xef,
- 0x3f, 0xef,
- 0x3f, 0xef,
- 0x3f, 0xef,
- 0x0, 0xf,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
-};
-
-const unsigned char XC_bottom_right_corner[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 14, 2, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0x60, 0x0,
- 0x60, 0x0,
- 0x62, 0x8,
- 0x62, 0x10,
- 0x62, 0x20,
- 0x62, 0x40,
- 0x62, 0x80,
- 0x63, 0x0,
- 0x63, 0xf8,
- 0x60, 0x0,
- 0x60, 0x0,
- 0x60, 0x0,
- 0x7f, 0xfe,
- 0x7f, 0xfe,
- 0x0, 0x0,
- /* mask */
- 0xf0, 0x0,
- 0xf0, 0x0,
- 0xf7, 0xc,
- 0xf7, 0x1c,
- 0xf7, 0x38,
- 0xf7, 0x70,
- 0xf7, 0xe0,
- 0xf7, 0xc0,
- 0xf7, 0xfc,
- 0xf7, 0xfc,
- 0xf7, 0xfc,
- 0xf0, 0x0,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
-};
-
-const unsigned char XC_bottom_side[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 14, 8, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0x0, 0x80,
- 0x0, 0x80,
- 0x0, 0x80,
- 0x0, 0x80,
- 0x0, 0x80,
- 0x0, 0x80,
- 0x8, 0x88,
- 0x4, 0x90,
- 0x2, 0xa0,
- 0x1, 0xc0,
- 0x0, 0x80,
- 0x0, 0x0,
- 0x3f, 0xfe,
- 0x3f, 0xfe,
- 0x0, 0x0,
- /* mask */
- 0x1, 0xc0,
- 0x1, 0xc0,
- 0x1, 0xc0,
- 0x1, 0xc0,
- 0x1, 0xc0,
- 0x1, 0xc0,
- 0x19, 0xcc,
- 0x1d, 0xdc,
- 0xf, 0xf8,
- 0x7, 0xf0,
- 0x3, 0xe0,
- 0x1, 0xc0,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x7f, 0xff,
-};
-
-const unsigned char XC_bottom_tee[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 12, 8, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x1, 0x80,
- 0x1, 0x80,
- 0x1, 0x80,
- 0x1, 0x80,
- 0x1, 0x80,
- 0x1, 0x80,
- 0x1, 0x80,
- 0x1, 0x80,
- 0x7f, 0xfe,
- 0x7f, 0xfe,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- /* mask */
- 0x0, 0x0,
- 0x0, 0x0,
- 0x3, 0xc0,
- 0x3, 0xc0,
- 0x3, 0xc0,
- 0x3, 0xc0,
- 0x3, 0xc0,
- 0x3, 0xc0,
- 0x3, 0xc0,
- 0x3, 0xc0,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0x0, 0x0,
- 0x0, 0x0,
-};
-
-const unsigned char XC_box_spiral[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 8, 7, /* y,x of hotspot */
- /* data */
- 0xff, 0xff,
- 0x0, 0x1,
- 0x7f, 0xfd,
- 0x40, 0x5,
- 0x5f, 0xf5,
- 0x50, 0x15,
- 0x57, 0xd5,
- 0x54, 0x55,
- 0x55, 0x55,
- 0x55, 0xd5,
- 0x54, 0x15,
- 0x57, 0xf5,
- 0x50, 0x5,
- 0x5f, 0xfd,
- 0x40, 0x1,
- 0x7f, 0xff,
- /* mask */
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
-};
-
-const unsigned char XC_center_ptr[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 1, 9, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0x81, 0x80,
- 0x1, 0x80,
- 0x3, 0xc0,
- 0x3, 0xc0,
- 0x7, 0xe0,
- 0x7, 0xe0,
- 0xf, 0xf0,
- 0xf, 0xf0,
- 0x19, 0x98,
- 0x11, 0x88,
- 0x1, 0x80,
- 0x1, 0x80,
- 0x1, 0x80,
- 0x1, 0x80,
- 0x0, 0x0,
- /* mask */
- 0x83, 0xc0,
- 0x3, 0xc0,
- 0x7, 0xe0,
- 0x7, 0xe0,
- 0xf, 0xf0,
- 0xf, 0xf0,
- 0x1f, 0xf8,
- 0x1f, 0xf8,
- 0x3f, 0xfc,
- 0x3f, 0xfc,
- 0x3f, 0xfc,
- 0x3b, 0xdc,
- 0x3, 0xc0,
- 0x3, 0xc0,
- 0x3, 0xc0,
- 0x3, 0xc0,
-};
-
-const unsigned char XC_circle[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 8, 8, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0x3, 0xc0,
- 0xf, 0xf0,
- 0x1f, 0xf8,
- 0x3c, 0x3c,
- 0x38, 0x1c,
- 0x70, 0xe,
- 0x70, 0xe,
- 0x70, 0xe,
- 0x70, 0xe,
- 0x38, 0x1c,
- 0x3c, 0x3c,
- 0x1f, 0xf8,
- 0xf, 0xf0,
- 0x3, 0xc0,
- 0x0, 0x0,
- /* mask */
- 0x7, 0xe0,
- 0x1f, 0xf8,
- 0x3f, 0xfc,
- 0x7f, 0xfe,
- 0x7f, 0xfe,
- 0xfc, 0x3f,
- 0xf8, 0x1f,
- 0xf8, 0x1f,
- 0xf8, 0x1f,
- 0xf8, 0x1f,
- 0xfc, 0x3f,
- 0x7f, 0xfe,
- 0x7f, 0xfe,
- 0x3f, 0xfc,
- 0x1f, 0xf8,
- 0x7, 0xe0,
-};
-
-const unsigned char XC_clock[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 3, 9, /* y,x of hotspot */
- /* data */
- 0x1f, 0xf8,
- 0x33, 0xcc,
- 0x66, 0x26,
- 0x49, 0x92,
- 0x48, 0xf2,
- 0x44, 0x22,
- 0x63, 0xc6,
- 0x3f, 0xfc,
- 0x29, 0x94,
- 0x29, 0x94,
- 0x29, 0x94,
- 0x2b, 0xd4,
- 0x69, 0x96,
- 0x78, 0x1e,
- 0x7f, 0xfe,
- 0x7f, 0xfe,
- /* mask */
- 0x1f, 0xfe,
- 0x39, 0xf7,
- 0x77, 0xdb,
- 0x6d, 0xed,
- 0x6f, 0xfd,
- 0x66, 0xf9,
- 0x73, 0xf3,
- 0x3f, 0xff,
- 0x35, 0xeb,
- 0x35, 0xeb,
- 0x35, 0xeb,
- 0x37, 0xfb,
- 0x75, 0xeb,
- 0x7c, 0xcf,
- 0x7f, 0xff,
- 0x7f, 0xff,
-};
-
-const unsigned char XC_coffee_mug[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 9, 8, /* y,x of hotspot */
- /* data */
- 0x8f, 0xf8,
- 0x10, 0x4,
- 0x60, 0x6,
- 0x58, 0xa,
- 0x47, 0xf2,
- 0x40, 0x3,
- 0x40, 0x3,
- 0x40, 0x2,
- 0x40, 0x2,
- 0x58, 0x9a,
- 0x55, 0x56,
- 0x55, 0xd7,
- 0x59, 0x5b,
- 0x40, 0x2,
- 0x40, 0x2,
- 0x3f, 0xfc,
- /* mask */
- 0xf, 0xf8,
- 0x1f, 0xfc,
- 0xff, 0xfe,
- 0xff, 0xfe,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xfe,
- 0xff, 0xfe,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xfe,
- 0x3f, 0xfc,
-};
-
-const unsigned char XC_cross[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 7, 9, /* y,x of hotspot */
- /* data */
- 0x1, 0x40,
- 0x1, 0x40,
- 0x1, 0x40,
- 0x1, 0x40,
- 0x1, 0x40,
- 0x1, 0x40,
- 0xff, 0x7f,
- 0x0, 0x0,
- 0xff, 0x7f,
- 0x1, 0x40,
- 0x1, 0x40,
- 0x1, 0x40,
- 0x1, 0x40,
- 0x1, 0x40,
- 0x1, 0x40,
- 0x0, 0x0,
- /* mask */
- 0x3, 0xe0,
- 0x3, 0xe0,
- 0x3, 0xe0,
- 0x3, 0xe0,
- 0x3, 0xe0,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0x3, 0xe0,
- 0x3, 0xe0,
- 0x3, 0xe0,
- 0x3, 0xe0,
- 0x3, 0xe0,
- 0x3, 0xe0,
-};
-
-const unsigned char XC_cross_reverse[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 7, 9, /* y,x of hotspot */
- /* data */
- 0x21, 0x42,
- 0x51, 0x45,
- 0x29, 0x4a,
- 0x15, 0x54,
- 0xb, 0x68,
- 0x5, 0x50,
- 0xfe, 0xbf,
- 0x1, 0x40,
- 0xfe, 0xbf,
- 0x5, 0x50,
- 0xb, 0x68,
- 0x15, 0x54,
- 0x29, 0x4a,
- 0x51, 0x45,
- 0x21, 0x42,
- 0x0, 0x0,
- /* mask */
- 0x33, 0x66,
- 0xdb, 0x6d,
- 0x6f, 0x7b,
- 0x37, 0x76,
- 0x1b, 0x6c,
- 0xfd, 0x5f,
- 0xfe, 0x3f,
- 0x0, 0x80,
- 0xfe, 0x3f,
- 0xfd, 0x5f,
- 0x1b, 0x6c,
- 0x37, 0x76,
- 0x6f, 0x7b,
- 0xdb, 0x6d,
- 0x33, 0x66,
- 0x0, 0x0,
-};
-
-const unsigned char XC_crosshair[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 7, 9, /* y,x of hotspot */
- /* data */
- 0x0, 0x80,
- 0x0, 0x80,
- 0x0, 0x80,
- 0x0, 0x80,
- 0x0, 0x80,
- 0x0, 0x80,
- 0x0, 0x80,
- 0xff, 0x7f,
- 0x0, 0x80,
- 0x0, 0x80,
- 0x0, 0x80,
- 0x0, 0x80,
- 0x0, 0x80,
- 0x0, 0x80,
- 0x0, 0x80,
- 0x0, 0x0,
- /* mask */
- 0x1, 0xc0,
- 0x1, 0xc0,
- 0x1, 0xc0,
- 0x1, 0xc0,
- 0x1, 0xc0,
- 0x1, 0xc0,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0x1, 0xc0,
- 0x1, 0xc0,
- 0x1, 0xc0,
- 0x1, 0xc0,
- 0x1, 0xc0,
- 0x1, 0xc0,
- 0x1, 0xc0,
-};
-
-const unsigned char XC_diamond_cross[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 7, 8, /* y,x of hotspot */
- /* data */
- 0x81, 0x40,
- 0x3, 0x60,
- 0x5, 0x50,
- 0x9, 0x48,
- 0x11, 0x44,
- 0x21, 0x42,
- 0x7f, 0x7f,
- 0x0, 0x0,
- 0x7f, 0x7f,
- 0x21, 0x42,
- 0x11, 0x44,
- 0x9, 0x48,
- 0x5, 0x50,
- 0x3, 0x60,
- 0x1, 0x40,
- 0x0, 0x0,
- /* mask */
- 0x3, 0xe0,
- 0x7, 0xf0,
- 0xf, 0xf8,
- 0x1d, 0xdc,
- 0x39, 0xce,
- 0x71, 0xc7,
- 0xff, 0xff,
- 0xff, 0x7f,
- 0xff, 0xff,
- 0x71, 0xc7,
- 0x39, 0xce,
- 0x1d, 0xdc,
- 0xf, 0xf8,
- 0x7, 0xf0,
- 0x3, 0xe0,
- 0x1, 0xc0,
-};
-
-const unsigned char XC_dot[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 8, 8, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x83, 0xc0,
- 0xf, 0xf0,
- 0xf, 0xf0,
- 0x1f, 0xf8,
- 0x1f, 0xf8,
- 0x1f, 0xf8,
- 0x1f, 0xf8,
- 0xf, 0xf0,
- 0xf, 0xf0,
- 0x3, 0xc0,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- /* mask */
- 0x0, 0x0,
- 0x0, 0x0,
- 0x87, 0xe0,
- 0x1f, 0xf8,
- 0x1f, 0xf8,
- 0x3f, 0xfc,
- 0x3f, 0xfc,
- 0x3f, 0xfc,
- 0x3f, 0xfc,
- 0x3f, 0xfc,
- 0x3f, 0xfc,
- 0x1f, 0xf8,
- 0x1f, 0xf8,
- 0x7, 0xe0,
- 0x0, 0x0,
- 0x0, 0x0,
-};
-
-const unsigned char XC_dotbox[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 7, 8, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0x0, 0x0,
- 0x7f, 0xfc,
- 0x20, 0x4,
- 0x20, 0x4,
- 0x20, 0x4,
- 0x20, 0x4,
- 0x21, 0x84,
- 0x21, 0x84,
- 0x20, 0x4,
- 0x20, 0x4,
- 0x20, 0x4,
- 0x20, 0x4,
- 0x3f, 0xfc,
- 0x0, 0x0,
- 0x0, 0x0,
- /* mask */
- 0x0, 0x0,
- 0x7f, 0xfe,
- 0x7f, 0xfe,
- 0x7f, 0xfe,
- 0x70, 0xe,
- 0x70, 0xe,
- 0x73, 0xce,
- 0x73, 0xce,
- 0x73, 0xce,
- 0x73, 0xce,
- 0x70, 0xe,
- 0x70, 0xe,
- 0x7f, 0xfe,
- 0x7f, 0xfe,
- 0x7f, 0xfe,
- 0x0, 0x0,
-};
-
-const unsigned char XC_double_arrow[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 8, 8, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0x81, 0x80,
- 0x3, 0xc0,
- 0x7, 0xe0,
- 0xd, 0xb0,
- 0x19, 0x98,
- 0x1, 0x80,
- 0x1, 0x80,
- 0x1, 0x80,
- 0x1, 0x80,
- 0x19, 0x98,
- 0xd, 0xb0,
- 0x7, 0xe0,
- 0x3, 0xc0,
- 0x1, 0x80,
- 0x0, 0x0,
- /* mask */
- 0x83, 0xc0,
- 0x7, 0xe0,
- 0xf, 0xf0,
- 0x1f, 0xf8,
- 0x3f, 0xfc,
- 0x3f, 0xfc,
- 0x3f, 0xfc,
- 0x3, 0xc0,
- 0x3, 0xc0,
- 0x3f, 0xfc,
- 0x3f, 0xfc,
- 0x3f, 0xfc,
- 0x1f, 0xf8,
- 0xf, 0xf0,
- 0x7, 0xe0,
- 0x3, 0xc0,
-};
-
-const unsigned char XC_draft_large[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 0, 1, /* y,x of hotspot */
- /* data */
- 0xc0, 0x0,
- 0x30, 0x0,
- 0x3c, 0x0,
- 0x1f, 0x0,
- 0x1f, 0xc0,
- 0xf, 0xf0,
- 0xf, 0xfc,
- 0x7, 0x80,
- 0x7, 0x40,
- 0x3, 0x20,
- 0x3, 0x10,
- 0x1, 0x8,
- 0x1, 0x4,
- 0x0, 0x2,
- 0x0, 0x1,
- 0x0, 0x0,
- /* mask */
- 0x60, 0x0,
- 0x78, 0x0,
- 0x7e, 0x0,
- 0x3f, 0x80,
- 0x1f, 0xe0,
- 0x1f, 0xf8,
- 0xf, 0xfe,
- 0xf, 0xfe,
- 0x7, 0xe0,
- 0x7, 0xf0,
- 0x3, 0xb8,
- 0x3, 0x9c,
- 0x1, 0x8e,
- 0x1, 0x87,
- 0x0, 0x3,
- 0x0, 0x1,
-};
-
-const unsigned char XC_draft_small[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 0, 1, /* y,x of hotspot */
- /* data */
- 0x40, 0x0,
- 0x30, 0x0,
- 0x3c, 0x0,
- 0x1f, 0x0,
- 0x1f, 0xc0,
- 0xe, 0x0,
- 0xd, 0x0,
- 0x4, 0x80,
- 0x4, 0x40,
- 0x0, 0x20,
- 0x0, 0x10,
- 0x0, 0x8,
- 0x0, 0x4,
- 0x0, 0x2,
- 0x0, 0x1,
- 0x0, 0x0,
- /* mask */
- 0x60, 0x0,
- 0x78, 0x0,
- 0x3e, 0x0,
- 0x3f, 0x80,
- 0x1f, 0xe0,
- 0x1f, 0xe0,
- 0xf, 0x80,
- 0xf, 0xc0,
- 0x6, 0xe0,
- 0x2, 0x70,
- 0x0, 0x38,
- 0x0, 0x1c,
- 0x0, 0xe,
- 0x0, 0x7,
- 0x0, 0x3,
- 0x0, 0x0,
-};
-
-const unsigned char XC_draped_box[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 7, 8, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0x0, 0x0,
- 0x7f, 0xfc,
- 0x22, 0x44,
- 0x26, 0x64,
- 0x2c, 0x34,
- 0x38, 0x1c,
- 0x21, 0x84,
- 0x21, 0x84,
- 0x38, 0x1c,
- 0x2c, 0x34,
- 0x26, 0x64,
- 0x22, 0x44,
- 0x3f, 0xfc,
- 0x0, 0x0,
- 0x0, 0x0,
- /* mask */
- 0x0, 0x0,
- 0x7f, 0xfe,
- 0x7f, 0xfe,
- 0x67, 0xe6,
- 0x6f, 0xf6,
- 0x7e, 0x7e,
- 0x7d, 0xbe,
- 0x7b, 0xde,
- 0x7b, 0xde,
- 0x7d, 0xbe,
- 0x7e, 0x7e,
- 0x6f, 0xf6,
- 0x67, 0xe6,
- 0x7f, 0xfe,
- 0x7f, 0xfe,
- 0x0, 0x0,
-};
-
-const unsigned char XC_exchange[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 7, 9, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0x7, 0xe2,
- 0xf, 0xf6,
- 0x18, 0x3e,
- 0x10, 0x12,
- 0x0, 0x32,
- 0x0, 0x7e,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x7e, 0x0,
- 0x4c, 0x0,
- 0x48, 0x8,
- 0x7c, 0x18,
- 0x6f, 0xf0,
- 0x47, 0xe0,
- 0x0, 0x0,
- /* mask */
- 0x7, 0xe3,
- 0xf, 0xf7,
- 0x1f, 0xff,
- 0x3f, 0xff,
- 0x38, 0x3f,
- 0x30, 0xff,
- 0x0, 0xff,
- 0x0, 0xff,
- 0xff, 0x0,
- 0xff, 0x0,
- 0xfe, 0xc,
- 0xfc, 0x1c,
- 0xff, 0xfc,
- 0xff, 0xf8,
- 0xef, 0xf0,
- 0xc7, 0xe0,
-};
-
-const unsigned char XC_fleur[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 8, 8, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0x1, 0x80,
- 0x3, 0xc0,
- 0x7, 0xe0,
- 0x1, 0x80,
- 0x11, 0x88,
- 0x31, 0x8c,
- 0x7f, 0xfe,
- 0x7f, 0xfe,
- 0x31, 0x8c,
- 0x11, 0x88,
- 0x1, 0x80,
- 0x7, 0xe0,
- 0x3, 0xc0,
- 0x1, 0x80,
- 0x0, 0x0,
- /* mask */
- 0x3, 0xc0,
- 0x7, 0xc0,
- 0x7, 0xe0,
- 0xf, 0xf0,
- 0x17, 0xe8,
- 0x3b, 0xdc,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0x3b, 0xdc,
- 0x17, 0xe8,
- 0xf, 0xf0,
- 0x7, 0xe0,
- 0x3, 0xc0,
- 0x3, 0xc0,
-};
-
-const unsigned char XC_gobbler[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 2, 2, /* y,x of hotspot */
- /* data */
- 0x1e, 0x0,
- 0xe, 0x0,
- 0xcc, 0x1,
- 0xd, 0xf9,
- 0xf, 0xff,
- 0xc, 0x7f,
- 0xc, 0x3f,
- 0x1c, 0x6,
- 0xf, 0x0,
- 0x7, 0xf8,
- 0x0, 0x10,
- 0x0, 0x10,
- 0x0, 0x10,
- 0x0, 0x10,
- 0x0, 0x78,
- 0x0, 0x0,
- /* mask */
- 0x3f, 0x0,
- 0x3f, 0x0,
- 0xff, 0x3,
- 0xff, 0xff,
- 0xff, 0xff,
- 0x3f, 0xff,
- 0x3f, 0xff,
- 0x3f, 0xff,
- 0x3f, 0xff,
- 0x3f, 0xff,
- 0x1f, 0xfe,
- 0xf, 0xf8,
- 0x0, 0x38,
- 0x0, 0x38,
- 0x0, 0xfc,
- 0x0, 0xfc,
-};
-
-const unsigned char XC_gumby[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 0, 14, /* y,x of hotspot */
- /* data */
- 0x0, 0xfc,
- 0x1, 0x8,
- 0x2, 0x13,
- 0x5, 0x57,
- 0x4, 0x13,
- 0x5, 0xd3,
- 0x3c, 0x1f,
- 0xfc, 0x1c,
- 0xe4, 0x10,
- 0xe4, 0x10,
- 0xf4, 0x90,
- 0xe4, 0x90,
- 0x4, 0x90,
- 0x8, 0x88,
- 0x10, 0x84,
- 0x1f, 0x7c,
- /* mask */
- 0x0, 0xfc,
- 0x1, 0xfb,
- 0x3, 0xf7,
- 0x7, 0xff,
- 0x7, 0xf7,
- 0x3f, 0xf7,
- 0x7f, 0xff,
- 0xff, 0xff,
- 0xf7, 0xfc,
- 0xf7, 0xf0,
- 0xff, 0xf0,
- 0xf7, 0xf0,
- 0xe7, 0xf0,
- 0xf, 0xf8,
- 0x1f, 0xfc,
- 0x1f, 0x7c,
-};
-
-const unsigned char XC_hand1[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 0, 2, /* y,x of hotspot */
- /* data */
- 0x30, 0x0,
- 0x3c, 0x0,
- 0xf, 0x0,
- 0x7, 0x80,
- 0x3, 0xc0,
- 0x7, 0xe0,
- 0xf, 0xf0,
- 0x7, 0xf4,
- 0xf, 0xfe,
- 0xf, 0xfa,
- 0x7, 0xe0,
- 0x3, 0xe0,
- 0x0, 0x52,
- 0x0, 0x46,
- 0x0, 0x2c,
- 0x0, 0x18,
- /* mask */
- 0xb8, 0x0,
- 0x3e, 0x0,
- 0x1f, 0x80,
- 0xf, 0xc0,
- 0x7, 0xe0,
- 0xf, 0xf0,
- 0x1f, 0xfc,
- 0x1f, 0xfe,
- 0x1f, 0xfe,
- 0x1f, 0xfe,
- 0xf, 0xfe,
- 0x7, 0xfe,
- 0x3, 0xfe,
- 0x0, 0xfe,
- 0x0, 0x7e,
- 0x0, 0x3c,
-};
-
-const unsigned char XC_hand2[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 1, 15, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0x1, 0xfe,
- 0x2, 0x1,
- 0x4, 0x7e,
- 0x8, 0x8,
- 0x8, 0x70,
- 0x8, 0x8,
- 0x14, 0x70,
- 0x22, 0x8,
- 0x41, 0x30,
- 0x20, 0xc0,
- 0x12, 0x40,
- 0x8, 0x80,
- 0x5, 0x0,
- 0x2, 0x0,
- 0x0, 0x0,
- /* mask */
- 0x1, 0xfe,
- 0x3, 0xff,
- 0x7, 0xff,
- 0xf, 0xff,
- 0x1f, 0xfe,
- 0x1f, 0xf8,
- 0x1f, 0xfc,
- 0x3f, 0xf8,
- 0x7f, 0xfc,
- 0xff, 0xf8,
- 0x7f, 0xf0,
- 0x3f, 0xe0,
- 0x1f, 0xc0,
- 0xf, 0x80,
- 0x7, 0x0,
- 0x2, 0x0,
-};
-
-const unsigned char XC_heart[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 9, 9, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0x1f, 0x7c,
- 0x31, 0xc6,
- 0x60, 0x83,
- 0x40, 0x1,
- 0x40, 0x1,
- 0x40, 0x1,
- 0x40, 0x1,
- 0x60, 0x3,
- 0x30, 0x6,
- 0x18, 0xc,
- 0xc, 0x18,
- 0x6, 0x30,
- 0x3, 0x60,
- 0x1, 0xc0,
- 0x0, 0x0,
- /* mask */
- 0x0, 0x0,
- 0x9f, 0x7c,
- 0x3f, 0xfe,
- 0x71, 0xc7,
- 0x60, 0x83,
- 0x60, 0x3,
- 0x60, 0x3,
- 0x61, 0x43,
- 0x70, 0x87,
- 0x38, 0xe,
- 0x1c, 0x1c,
- 0xe, 0x38,
- 0x7, 0xf0,
- 0x3, 0xe0,
- 0x1, 0xc0,
- 0x0, 0x0,
-};
-
-const unsigned char XC_icon[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 8, 8, /* y,x of hotspot */
- /* data */
- 0xff, 0xff,
- 0xaa, 0xab,
- 0xd5, 0x55,
- 0xaa, 0xab,
- 0xd0, 0x5,
- 0xa0, 0xb,
- 0xd0, 0x5,
- 0xa0, 0xb,
- 0xd0, 0x5,
- 0xa0, 0xb,
- 0xd0, 0x5,
- 0xa0, 0xb,
- 0xd5, 0x55,
- 0xaa, 0xab,
- 0xd5, 0x55,
- 0xff, 0xff,
- /* mask */
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
-};
-
-const unsigned char XC_iron_cross[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 7, 8, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0x3f, 0xfc,
- 0x1f, 0xf8,
- 0x4f, 0xf2,
- 0x67, 0xe6,
- 0x73, 0xce,
- 0x79, 0x9e,
- 0x7f, 0xfe,
- 0x7f, 0xfe,
- 0x79, 0x9e,
- 0x73, 0xce,
- 0x67, 0xe6,
- 0x4f, 0xf2,
- 0x1f, 0xf8,
- 0x3f, 0xfc,
- 0x0, 0x0,
- /* mask */
- 0x3f, 0xfc,
- 0x7f, 0xfe,
- 0x7f, 0xfe,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0x7f, 0xfe,
- 0x7f, 0xfe,
- 0x3f, 0xfc,
-};
-
-const unsigned char XC_left_ptr[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 1, 12, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0x0, 0x10,
- 0x0, 0x30,
- 0x0, 0x70,
- 0x0, 0xf0,
- 0x1, 0xf0,
- 0x3, 0xf0,
- 0x7, 0xf0,
- 0xf, 0xf0,
- 0x1, 0xf0,
- 0x1, 0xb0,
- 0x3, 0x10,
- 0x3, 0x0,
- 0x6, 0x0,
- 0x6, 0x0,
- 0x0, 0x0,
- /* mask */
- 0x0, 0x18,
- 0x0, 0x38,
- 0x0, 0x78,
- 0x0, 0xf8,
- 0x1, 0xf8,
- 0x3, 0xf8,
- 0x7, 0xf8,
- 0xf, 0xf8,
- 0x1f, 0xf8,
- 0x1f, 0xf8,
- 0x3, 0xf8,
- 0x7, 0xb8,
- 0x7, 0x98,
- 0xf, 0x0,
- 0xf, 0x0,
- 0x6, 0x0,
-};
-
-const unsigned char XC_left_side[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 7, 15, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0x0, 0x6,
- 0x0, 0x6,
- 0x1, 0x6,
- 0x0, 0x86,
- 0x0, 0x46,
- 0x0, 0x26,
- 0x7f, 0xf6,
- 0x0, 0x26,
- 0x0, 0x46,
- 0x0, 0x86,
- 0x1, 0x6,
- 0x0, 0x6,
- 0x0, 0x6,
- 0x0, 0x0,
- 0x0, 0x0,
- /* mask */
- 0x0, 0xf,
- 0x0, 0xf,
- 0x3, 0xf,
- 0x3, 0x8f,
- 0x1, 0xcf,
- 0x0, 0xef,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0x0, 0xef,
- 0x1, 0xcf,
- 0x3, 0x8f,
- 0x3, 0xf,
- 0x0, 0xf,
- 0x0, 0xf,
- 0x0, 0x0,
-};
-
-const unsigned char XC_left_tee[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 8, 13, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0x80, 0x18,
- 0x0, 0x18,
- 0x0, 0x18,
- 0x0, 0x18,
- 0x0, 0x18,
- 0x0, 0x18,
- 0x1f, 0xf8,
- 0x1f, 0xf8,
- 0x0, 0x18,
- 0x0, 0x18,
- 0x0, 0x18,
- 0x0, 0x18,
- 0x0, 0x18,
- 0x0, 0x18,
- 0x0, 0x0,
- /* mask */
- 0x0, 0x3c,
- 0x0, 0x3c,
- 0x0, 0x3c,
- 0x0, 0x3c,
- 0x0, 0x3c,
- 0x0, 0x3c,
- 0x3f, 0xfc,
- 0x3f, 0xfc,
- 0x3f, 0xfc,
- 0x3f, 0xfc,
- 0x0, 0x3c,
- 0x0, 0x3c,
- 0x0, 0x3c,
- 0x0, 0x3c,
- 0x0, 0x3c,
- 0x0, 0x3c,
-};
-
-const unsigned char XC_leftbutton[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 8, 8, /* y,x of hotspot */
- /* data */
- 0xc0, 0x1,
- 0xbf, 0xfe,
- 0xbf, 0xfe,
- 0xa2, 0x22,
- 0xaa, 0xa2,
- 0xaa, 0xa2,
- 0xaa, 0xa2,
- 0xaa, 0xa2,
- 0xa2, 0x22,
- 0xbf, 0xfe,
- 0xbf, 0xfe,
- 0xbf, 0xfe,
- 0xbf, 0xfe,
- 0xbf, 0xfe,
- 0xbf, 0xfe,
- 0xc0, 0x1,
- /* mask */
- 0xbf, 0xfe,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x3f, 0xfe,
-};
-
-const unsigned char XC_ll_angle[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 12, 13, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x80, 0x18,
- 0x0, 0x18,
- 0x0, 0x18,
- 0x0, 0x18,
- 0x0, 0x18,
- 0x0, 0x18,
- 0x0, 0x18,
- 0x0, 0x18,
- 0x1f, 0xf8,
- 0x1f, 0xf8,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- /* mask */
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x3c,
- 0x0, 0x3c,
- 0x0, 0x3c,
- 0x0, 0x3c,
- 0x0, 0x3c,
- 0x0, 0x3c,
- 0x0, 0x3c,
- 0x0, 0x3c,
- 0x3f, 0xfc,
- 0x3f, 0xfc,
- 0x3f, 0xfc,
- 0x3f, 0xfc,
- 0x0, 0x0,
- 0x0, 0x0,
-};
-
-const unsigned char XC_lr_angle[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 12, 4, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x98, 0x0,
- 0x18, 0x0,
- 0x18, 0x0,
- 0x18, 0x0,
- 0x18, 0x0,
- 0x18, 0x0,
- 0x18, 0x0,
- 0x18, 0x0,
- 0x1f, 0xf8,
- 0x1f, 0xf8,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- /* mask */
- 0x0, 0x0,
- 0x0, 0x0,
- 0x3c, 0x0,
- 0x3c, 0x0,
- 0x3c, 0x0,
- 0x3c, 0x0,
- 0x3c, 0x0,
- 0x3c, 0x0,
- 0x3c, 0x0,
- 0x3c, 0x0,
- 0x3f, 0xfc,
- 0x3f, 0xfc,
- 0x3f, 0xfc,
- 0x3f, 0xfc,
- 0x0, 0x0,
- 0x0, 0x0,
-};
-
-const unsigned char XC_man[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 5, 2, /* y,x of hotspot */
- /* data */
- 0x1, 0xc0,
- 0xf, 0x78,
- 0x1, 0x40,
- 0x0, 0x81,
- 0xe1, 0xc2,
- 0xd2, 0x24,
- 0xe, 0xb8,
- 0x2, 0xa0,
- 0x2, 0x20,
- 0x1, 0x40,
- 0x2, 0x20,
- 0x4, 0x90,
- 0x9, 0x48,
- 0xa, 0x28,
- 0x3c, 0x1e,
- 0xfc, 0x1f,
- /* mask */
- 0x7, 0xf8,
- 0xf, 0xfc,
- 0x1f, 0xfc,
- 0x41, 0xc3,
- 0xe3, 0xe7,
- 0xff, 0xfe,
- 0xdf, 0xfc,
- 0xf, 0xf8,
- 0x7, 0xe0,
- 0x3, 0xe0,
- 0x7, 0xf0,
- 0xf, 0xf8,
- 0x1f, 0xfc,
- 0x3f, 0x7e,
- 0xfe, 0x3f,
- 0xfe, 0x3f,
-};
-
-const unsigned char XC_middlebutton[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 8, 8, /* y,x of hotspot */
- /* data */
- 0xc0, 0x1,
- 0xbf, 0xfe,
- 0xbf, 0xfe,
- 0xa2, 0x22,
- 0xaa, 0x2a,
- 0xaa, 0x2a,
- 0xaa, 0x2a,
- 0xaa, 0x2a,
- 0xa2, 0x22,
- 0xbf, 0xfe,
- 0xbf, 0xfe,
- 0xbf, 0xfe,
- 0xbf, 0xfe,
- 0xbf, 0xfe,
- 0xbf, 0xfe,
- 0xc0, 0x1,
- /* mask */
- 0xbf, 0xfe,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x3f, 0xfe,
-};
-
-const unsigned char XC_mouse[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 2, 11, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0x0, 0xe0,
- 0x0, 0x30,
- 0x0, 0x60,
- 0x0, 0xc0,
- 0x1f, 0xfe,
- 0x20, 0x1,
- 0x6c, 0xcd,
- 0x6c, 0xcd,
- 0x6c, 0xcd,
- 0x60, 0x1,
- 0x60, 0x1,
- 0x38, 0x6,
- 0x6, 0x18,
- 0x1, 0xe0,
- 0x0, 0x0,
- /* mask */
- 0x1, 0xf0,
- 0x0, 0x78,
- 0x0, 0xf0,
- 0x0, 0xe0,
- 0x1f, 0xfe,
- 0x3f, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xef, 0xfc,
- 0x7, 0xf8,
- 0x3, 0xf0,
- 0x1, 0xe0,
-};
-
-const unsigned char XC_pencil[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 15, 3, /* y,x of hotspot */
- /* data */
- 0x40, 0x38,
- 0x0, 0x44,
- 0x0, 0xc4,
- 0x1, 0x48,
- 0x1, 0x78,
- 0x2, 0x10,
- 0x2, 0x20,
- 0x4, 0x20,
- 0x4, 0x40,
- 0x8, 0xc0,
- 0x8, 0x80,
- 0x11, 0x0,
- 0x1e, 0x0,
- 0x1c, 0x0,
- 0x18, 0x0,
- 0x10, 0x0,
- /* mask */
- 0x80, 0x7e,
- 0x0, 0xfe,
- 0x1, 0xfe,
- 0x1, 0xfc,
- 0x3, 0xf8,
- 0x3, 0xf8,
- 0x7, 0xf0,
- 0x7, 0xe0,
- 0xf, 0xe0,
- 0xf, 0xc0,
- 0x1f, 0xc0,
- 0x3f, 0x80,
- 0x3f, 0x0,
- 0x3e, 0x0,
- 0x3c, 0x0,
- 0x38, 0x0,
-};
-
-const unsigned char XC_pirate[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 12, 8, /* y,x of hotspot */
- /* data */
- 0x1, 0xe0,
- 0x3, 0xf0,
- 0x7, 0xf8,
- 0xc, 0xcc,
- 0xc, 0xcc,
- 0x7, 0xf8,
- 0x3, 0xf0,
- 0x1, 0xe0,
- 0x21, 0xe1,
- 0x61, 0xe1,
- 0x10, 0xc2,
- 0xe, 0x1c,
- 0x1, 0xe0,
- 0x47, 0xf8,
- 0x7c, 0xf,
- 0x20, 0x1,
- /* mask */
- 0x3, 0xf0,
- 0x7, 0xf8,
- 0xf, 0xfc,
- 0x1f, 0xfe,
- 0x1f, 0xfe,
- 0xf, 0xfc,
- 0x7, 0xf8,
- 0x83, 0xf1,
- 0xe3, 0xf1,
- 0xf3, 0xf3,
- 0x39, 0xef,
- 0x1e, 0x1e,
- 0x1, 0xe0,
- 0xc7, 0xfe,
- 0xff, 0xff,
- 0x7c, 0xf,
-};
-
-const unsigned char XC_plus[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 8, 9, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x81, 0x80,
- 0x1, 0x80,
- 0x1, 0x80,
- 0x1, 0x80,
- 0x1f, 0xf8,
- 0x1f, 0xf8,
- 0x1, 0x80,
- 0x1, 0x80,
- 0x1, 0x80,
- 0x1, 0x80,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- /* mask */
- 0x0, 0x0,
- 0x0, 0x0,
- 0x3, 0xc0,
- 0x3, 0xc0,
- 0x3, 0xc0,
- 0x3, 0xc0,
- 0x3f, 0xfc,
- 0x3f, 0xfc,
- 0x3f, 0xfc,
- 0x3f, 0xfc,
- 0x3, 0xc0,
- 0x3, 0xc0,
- 0x3, 0xc0,
- 0x3, 0xc0,
- 0x0, 0x0,
- 0x0, 0x0,
-};
-
-const unsigned char XC_question_arrow[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 7, 8, /* y,x of hotspot */
- /* data */
- 0x83, 0xe0,
- 0x7, 0xf0,
- 0xe, 0x38,
- 0xc, 0x18,
- 0xc, 0x38,
- 0xe, 0x30,
- 0x7, 0x0,
- 0x3, 0xc0,
- 0x1, 0xc0,
- 0x1, 0x40,
- 0x1, 0x40,
- 0x7, 0x70,
- 0x3, 0x60,
- 0x1, 0xc0,
- 0x0, 0x80,
- 0x0, 0x0,
- /* mask */
- 0x3, 0xe0,
- 0x7, 0xf0,
- 0xf, 0xf8,
- 0x1f, 0xfc,
- 0x1e, 0x3c,
- 0x1e, 0x7c,
- 0x1f, 0x78,
- 0xf, 0xf0,
- 0x7, 0xe0,
- 0x3, 0xe0,
- 0x3, 0xe0,
- 0x7, 0xf0,
- 0xf, 0xf8,
- 0x7, 0xf0,
- 0x3, 0xe0,
- 0x1, 0xc0,
-};
-
-const unsigned char XC_right_ptr[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 1, 5, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0x8, 0x0,
- 0xc, 0x0,
- 0xe, 0x0,
- 0xf, 0x0,
- 0xf, 0x80,
- 0xf, 0xc0,
- 0xf, 0xe0,
- 0xf, 0xf0,
- 0xf, 0x80,
- 0xd, 0x80,
- 0x8, 0xc0,
- 0x0, 0xc0,
- 0x0, 0x60,
- 0x0, 0x60,
- 0x0, 0x0,
- /* mask */
- 0x18, 0x0,
- 0x1c, 0x0,
- 0x1e, 0x0,
- 0x1f, 0x0,
- 0x1f, 0x80,
- 0x1f, 0xc0,
- 0x1f, 0xe0,
- 0x1f, 0xf0,
- 0x1f, 0xf8,
- 0x1f, 0xf8,
- 0x1f, 0xc0,
- 0x1d, 0xe0,
- 0x19, 0xe0,
- 0x0, 0xf0,
- 0x0, 0xf0,
- 0x0, 0x60,
-};
-
-const unsigned char XC_right_side[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 7, 2, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0x60, 0x0,
- 0x60, 0x0,
- 0x60, 0x80,
- 0x61, 0x0,
- 0x62, 0x0,
- 0x64, 0x0,
- 0x6f, 0xfe,
- 0x64, 0x0,
- 0x62, 0x0,
- 0x61, 0x0,
- 0x60, 0x80,
- 0x60, 0x0,
- 0x60, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- /* mask */
- 0xf0, 0x0,
- 0xf0, 0x0,
- 0xf0, 0xc0,
- 0xf1, 0xc0,
- 0xf3, 0x80,
- 0xf7, 0x0,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xf7, 0x0,
- 0xf3, 0x80,
- 0xf1, 0xc0,
- 0xf0, 0xc0,
- 0xf0, 0x0,
- 0xf0, 0x0,
- 0x0, 0x0,
-};
-
-const unsigned char XC_right_tee[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 8, 4, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0x98, 0x0,
- 0x18, 0x0,
- 0x18, 0x0,
- 0x18, 0x0,
- 0x18, 0x0,
- 0x18, 0x0,
- 0x1f, 0xf8,
- 0x1f, 0xf8,
- 0x18, 0x0,
- 0x18, 0x0,
- 0x18, 0x0,
- 0x18, 0x0,
- 0x18, 0x0,
- 0x18, 0x0,
- 0x0, 0x0,
- /* mask */
- 0x3c, 0x0,
- 0x3c, 0x0,
- 0x3c, 0x0,
- 0x3c, 0x0,
- 0x3c, 0x0,
- 0x3c, 0x0,
- 0x3f, 0xfc,
- 0x3f, 0xfc,
- 0x3f, 0xfc,
- 0x3f, 0xfc,
- 0x3c, 0x0,
- 0x3c, 0x0,
- 0x3c, 0x0,
- 0x3c, 0x0,
- 0x3c, 0x0,
- 0x3c, 0x0,
-};
-
-const unsigned char XC_rightbutton[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 8, 8, /* y,x of hotspot */
- /* data */
- 0xc0, 0x1,
- 0xbf, 0xfe,
- 0xbf, 0xfe,
- 0xa2, 0x22,
- 0xa2, 0xaa,
- 0xa2, 0xaa,
- 0xa2, 0xaa,
- 0xa2, 0xaa,
- 0xa2, 0x22,
- 0xbf, 0xfe,
- 0xbf, 0xfe,
- 0xbf, 0xfe,
- 0xbf, 0xfe,
- 0xbf, 0xfe,
- 0xbf, 0xfe,
- 0xc0, 0x1,
- /* mask */
- 0xbf, 0xfe,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x3f, 0xfe,
-};
-
-const unsigned char XC_rtl_logo[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 7, 9, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0x7f, 0xfe,
- 0x44, 0x2,
- 0x44, 0x2,
- 0x44, 0x2,
- 0x47, 0xfe,
- 0x44, 0x22,
- 0x44, 0x22,
- 0x44, 0x22,
- 0x44, 0x22,
- 0x7f, 0xe2,
- 0x40, 0x22,
- 0x40, 0x22,
- 0x40, 0x22,
- 0x7f, 0xfe,
- 0x0, 0x0,
- /* mask */
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xee, 0x7,
- 0xef, 0xff,
- 0xef, 0xff,
- 0xef, 0xff,
- 0xee, 0x77,
- 0xee, 0x77,
- 0xff, 0xf7,
- 0xff, 0xf7,
- 0xff, 0xf7,
- 0xe0, 0x77,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
-};
-
-const unsigned char XC_sailboat[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 0, 8, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0x42, 0x0,
- 0x2, 0x0,
- 0x6, 0x80,
- 0x6, 0x80,
- 0x6, 0xc0,
- 0xe, 0xc0,
- 0xe, 0xe0,
- 0xe, 0xe0,
- 0x1e, 0xf0,
- 0x1e, 0xf0,
- 0x1e, 0xf8,
- 0x3e, 0xf8,
- 0x1c, 0x7c,
- 0x0, 0x0,
- 0x0, 0x0,
- /* mask */
- 0x3, 0x0,
- 0x7, 0x0,
- 0x7, 0x80,
- 0xf, 0xc0,
- 0xf, 0xc0,
- 0xf, 0xe0,
- 0x1f, 0xe0,
- 0x1f, 0xf0,
- 0x1f, 0xf0,
- 0x3f, 0xf8,
- 0x3f, 0xf8,
- 0x3f, 0xfc,
- 0xff, 0xfc,
- 0xff, 0xfe,
- 0x1f, 0xff,
- 0x7, 0xfe,
-};
-
-const unsigned char XC_sb_down_arrow[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 15, 8, /* y,x of hotspot */
- /* data */
- 0x1, 0x40,
- 0x1, 0x40,
- 0x1, 0x40,
- 0x1, 0x40,
- 0x1, 0x40,
- 0x1, 0x40,
- 0x1, 0x40,
- 0x1, 0x40,
- 0x1, 0x40,
- 0x1, 0x40,
- 0x1, 0x40,
- 0x7, 0xf0,
- 0x3, 0xe0,
- 0x1, 0xc0,
- 0x0, 0x80,
- 0x0, 0x0,
- /* mask */
- 0x3, 0xe0,
- 0x3, 0xe0,
- 0x3, 0xe0,
- 0x3, 0xe0,
- 0x3, 0xe0,
- 0x3, 0xe0,
- 0x3, 0xe0,
- 0x3, 0xe0,
- 0x3, 0xe0,
- 0x3, 0xe0,
- 0xf, 0xf8,
- 0xf, 0xf8,
- 0x7, 0xf0,
- 0x3, 0xe0,
- 0x1, 0xc0,
- 0x0, 0x80,
-};
-
-const unsigned char XC_sb_h_double_arrow[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 7, 8, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x8, 0x8,
- 0x18, 0xc,
- 0x3f, 0xfe,
- 0x78, 0xf,
- 0x3f, 0xfe,
- 0x18, 0xc,
- 0x8, 0x8,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- /* mask */
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x8c, 0x18,
- 0x1c, 0x1c,
- 0x3f, 0xfe,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x3f, 0xfe,
- 0x1c, 0x1c,
- 0xc, 0x18,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
-};
-
-const unsigned char XC_sb_left_arrow[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 7, 16, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x8,
- 0x0, 0xc,
- 0x7f, 0xfe,
- 0x0, 0xf,
- 0x7f, 0xfe,
- 0x0, 0xc,
- 0x0, 0x8,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- /* mask */
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x30,
- 0x0, 0x38,
- 0xff, 0xfc,
- 0xff, 0xfe,
- 0xff, 0xff,
- 0xff, 0xfe,
- 0xff, 0xfc,
- 0x0, 0x38,
- 0x0, 0x30,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
-};
-
-const unsigned char XC_sb_right_arrow[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 7, 0, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x8, 0x0,
- 0x18, 0x0,
- 0x3f, 0xff,
- 0x78, 0x0,
- 0x3f, 0xff,
- 0x18, 0x0,
- 0x8, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- /* mask */
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- 0xc, 0x0,
- 0x1c, 0x0,
- 0x3f, 0xff,
- 0x7f, 0xff,
- 0xff, 0xff,
- 0x7f, 0xff,
- 0x3f, 0xff,
- 0x1c, 0x0,
- 0xc, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
-};
-
-const unsigned char XC_sb_up_arrow[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 0, 8, /* y,x of hotspot */
- /* data */
- 0x0, 0x80,
- 0x9, 0xc0,
- 0x3, 0xe0,
- 0x7, 0xf0,
- 0x1, 0x40,
- 0x1, 0x40,
- 0x1, 0x40,
- 0x1, 0x40,
- 0x1, 0x40,
- 0x1, 0x40,
- 0x1, 0x40,
- 0x1, 0x40,
- 0x1, 0x40,
- 0x1, 0x40,
- 0x1, 0x40,
- 0x0, 0x0,
- /* mask */
- 0x0, 0x80,
- 0x1, 0xc0,
- 0x3, 0xe0,
- 0x7, 0xf0,
- 0xf, 0xf8,
- 0xf, 0xf8,
- 0x3, 0xe0,
- 0x3, 0xe0,
- 0x3, 0xe0,
- 0x3, 0xe0,
- 0x3, 0xe0,
- 0x3, 0xe0,
- 0x3, 0xe0,
- 0x3, 0xe0,
- 0x3, 0xe0,
- 0x3, 0xe0,
-};
-
-const unsigned char XC_sb_v_double_arrow[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 7, 8, /* y,x of hotspot */
- /* data */
- 0x0, 0x80,
- 0x9, 0xc0,
- 0x3, 0xe0,
- 0x7, 0xf0,
- 0x1, 0x40,
- 0x1, 0x40,
- 0x1, 0x40,
- 0x1, 0x40,
- 0x1, 0x40,
- 0x1, 0x40,
- 0x1, 0x40,
- 0x7, 0xf0,
- 0x3, 0xe0,
- 0x1, 0xc0,
- 0x0, 0x80,
- 0x0, 0x0,
- /* mask */
- 0x1, 0xc0,
- 0x3, 0xe0,
- 0x7, 0xf0,
- 0xf, 0xf8,
- 0xf, 0xf8,
- 0x3, 0xe0,
- 0x3, 0xe0,
- 0x3, 0xe0,
- 0x3, 0xe0,
- 0x3, 0xe0,
- 0xf, 0xf8,
- 0xf, 0xf8,
- 0x7, 0xf0,
- 0x3, 0xe0,
- 0x1, 0xc0,
- 0x0, 0x0,
-};
-
-const unsigned char XC_shuttle[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 0, 5, /* y,x of hotspot */
- /* data */
- 0x84, 0x0,
- 0xe, 0x0,
- 0x1f, 0x0,
- 0x7b, 0x80,
- 0x7b, 0xa0,
- 0x7b, 0x90,
- 0x7b, 0x88,
- 0x7b, 0x88,
- 0x7b, 0x88,
- 0x7b, 0x88,
- 0x7b, 0x8c,
- 0x7b, 0x8e,
- 0x7b, 0xbf,
- 0x11, 0x18,
- 0x1e, 0x0,
- 0xc, 0x0,
- /* mask */
- 0x1c, 0x0,
- 0x3e, 0x0,
- 0x7f, 0x0,
- 0xff, 0x0,
- 0xff, 0x60,
- 0xff, 0x70,
- 0xff, 0x78,
- 0xff, 0x78,
- 0xff, 0x78,
- 0xff, 0x78,
- 0xff, 0x7c,
- 0xff, 0x7e,
- 0xff, 0x7f,
- 0x7f, 0x7e,
- 0x7e, 0x30,
- 0x3c, 0x0,
-};
-
-const unsigned char XC_sizing[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 8, 8, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0x81, 0xfe,
- 0x0, 0x2,
- 0x0, 0x2,
- 0x0, 0x2,
- 0x7, 0xe2,
- 0x4, 0x22,
- 0x44, 0x22,
- 0x44, 0x22,
- 0x44, 0x20,
- 0x47, 0xe0,
- 0x48, 0x0,
- 0x50, 0x0,
- 0x60, 0x0,
- 0x7f, 0x80,
- 0x0, 0x0,
- /* mask */
- 0x3, 0xff,
- 0x3, 0xff,
- 0x3, 0xff,
- 0x0, 0x7,
- 0xf, 0xf7,
- 0xf, 0xf7,
- 0xef, 0xf7,
- 0xee, 0x77,
- 0xee, 0x77,
- 0xef, 0xf7,
- 0xef, 0xf0,
- 0xff, 0xf0,
- 0xf8, 0x0,
- 0xff, 0xc0,
- 0xff, 0xc0,
- 0xff, 0xc0,
-};
-
-const unsigned char XC_spider[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 7, 10, /* y,x of hotspot */
- /* data */
- 0x8, 0x4,
- 0x4, 0x8,
- 0x4, 0x8,
- 0x2, 0x10,
- 0x2, 0x10,
- 0xe1, 0xe1,
- 0x19, 0xe6,
- 0x7, 0xf8,
- 0x7, 0xf8,
- 0x19, 0xe6,
- 0xe1, 0xe1,
- 0x2, 0x10,
- 0x2, 0x10,
- 0x4, 0x8,
- 0x4, 0x8,
- 0x8, 0x4,
- /* mask */
- 0x18, 0x6,
- 0xc, 0xc,
- 0x4, 0x8,
- 0x6, 0x18,
- 0x83, 0xf1,
- 0xf3, 0xf3,
- 0x3b, 0xf6,
- 0xf, 0xfc,
- 0x7, 0xfc,
- 0x1f, 0xf6,
- 0xf3, 0xf3,
- 0x83, 0xf1,
- 0x2, 0x18,
- 0x6, 0x18,
- 0xc, 0xc,
- 0x18, 0x6,
-};
-
-const unsigned char XC_spraycan[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 2, 4, /* y,x of hotspot */
- /* data */
- 0x98, 0x0,
- 0x2, 0x0,
- 0x18, 0xb0,
- 0x2, 0x78,
- 0x18, 0x58,
- 0x0, 0xfc,
- 0x0, 0x84,
- 0x0, 0x9c,
- 0x0, 0x94,
- 0x0, 0x9c,
- 0x0, 0x94,
- 0x0, 0x9c,
- 0x0, 0x9c,
- 0x0, 0x84,
- 0x0, 0x84,
- 0x0, 0xfc,
- /* mask */
- 0x30, 0x0,
- 0x34, 0x60,
- 0x35, 0xf0,
- 0x35, 0xf0,
- 0x35, 0xf8,
- 0x3, 0xfc,
- 0x3, 0xfc,
- 0x3, 0xfc,
- 0x3, 0xfc,
- 0x3, 0xfc,
- 0x3, 0xfc,
- 0x3, 0xfc,
- 0x3, 0xfc,
- 0x3, 0xfc,
- 0x3, 0xfc,
- 0x3, 0xfc,
-};
-
-const unsigned char XC_star[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 7, 8, /* y,x of hotspot */
- /* data */
- 0x80, 0x80,
- 0x1, 0x40,
- 0x1, 0x40,
- 0x1, 0x40,
- 0x2, 0x20,
- 0x2, 0x20,
- 0x2, 0x20,
- 0x1c, 0x9c,
- 0x60, 0x3,
- 0x1c, 0x1c,
- 0x4, 0x90,
- 0x9, 0x48,
- 0x12, 0x24,
- 0x14, 0x14,
- 0x18, 0xc,
- 0x10, 0x4,
- /* mask */
- 0x0, 0x80,
- 0x1, 0xc0,
- 0x1, 0xc0,
- 0x3, 0x60,
- 0x3, 0x60,
- 0x6, 0x30,
- 0x1e, 0x38,
- 0x7c, 0x9f,
- 0xe0, 0x3,
- 0x7c, 0x1f,
- 0x1c, 0x9c,
- 0x19, 0xcc,
- 0x33, 0x66,
- 0x36, 0x36,
- 0x3c, 0x1e,
- 0x38, 0xe,
-};
-
-const unsigned char XC_target[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 7, 8, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0x81, 0xc0,
- 0x7, 0xf0,
- 0xe, 0x38,
- 0x18, 0xc,
- 0x30, 0x6,
- 0x60, 0x83,
- 0x61, 0x43,
- 0x60, 0x83,
- 0x30, 0x6,
- 0x18, 0xc,
- 0xe, 0x38,
- 0x7, 0xf0,
- 0x1, 0xc0,
- 0x0, 0x0,
- 0x0, 0x0,
- /* mask */
- 0x0, 0x0,
- 0x3, 0xe0,
- 0x7, 0xf0,
- 0xf, 0xf8,
- 0x1e, 0x3c,
- 0x38, 0xe,
- 0x70, 0x87,
- 0xe1, 0xc3,
- 0xe3, 0x63,
- 0xe1, 0xc3,
- 0x70, 0x87,
- 0x38, 0xe,
- 0x1e, 0x3c,
- 0xf, 0xf8,
- 0x3, 0xe0,
- 0x0, 0x0,
-};
-
-const unsigned char XC_tcross[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 7, 8, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0xc0, 0x80,
- 0x0, 0x80,
- 0x0, 0x80,
- 0x0, 0x80,
- 0x0, 0x80,
- 0x0, 0x80,
- 0x3f, 0xfe,
- 0x0, 0x80,
- 0x0, 0x80,
- 0x0, 0x80,
- 0x0, 0x80,
- 0x0, 0x80,
- 0x0, 0x80,
- 0x0, 0x0,
- 0x0, 0x0,
- /* mask */
- 0x1, 0xc0,
- 0x1, 0xc0,
- 0x1, 0xc0,
- 0x1, 0xc0,
- 0x1, 0xc0,
- 0x1, 0xc0,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x1, 0xc0,
- 0x1, 0xc0,
- 0x1, 0xc0,
- 0x1, 0xc0,
- 0x1, 0xc0,
- 0x1, 0xc0,
- 0x0, 0x0,
-};
-
-const unsigned char XC_top_left_arrow[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 1, 15, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0x80, 0x6,
- 0x0, 0x1e,
- 0x0, 0x7c,
- 0x1, 0xfc,
- 0x7, 0xf8,
- 0x1f, 0xf8,
- 0x1, 0xf0,
- 0x1, 0xf0,
- 0x2, 0x60,
- 0x4, 0x60,
- 0x8, 0x40,
- 0x10, 0x40,
- 0x20, 0x0,
- 0x40, 0x0,
- 0x0, 0x0,
- /* mask */
- 0x0, 0x7,
- 0x0, 0x1f,
- 0x0, 0x7f,
- 0x1, 0xfe,
- 0x7, 0xfe,
- 0x3f, 0xfc,
- 0x3f, 0xfc,
- 0x3f, 0xf8,
- 0x3, 0xf8,
- 0x7, 0xf0,
- 0xe, 0xf0,
- 0x1c, 0xe0,
- 0x38, 0xe0,
- 0x70, 0xe0,
- 0xe0, 0x0,
- 0xc0, 0x0,
-};
-
-const unsigned char XC_top_left_corner[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 1, 15, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0xff, 0xfe,
- 0x7f, 0xfe,
- 0x0, 0x6,
- 0x0, 0x6,
- 0x0, 0x6,
- 0x1f, 0xc6,
- 0x0, 0xc6,
- 0x1, 0x46,
- 0x2, 0x46,
- 0x4, 0x46,
- 0x8, 0x46,
- 0x10, 0x46,
- 0x0, 0x6,
- 0x0, 0x6,
- 0x0, 0x0,
- /* mask */
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0x0, 0xf,
- 0x3f, 0xef,
- 0x3f, 0xef,
- 0x3f, 0xef,
- 0x3, 0xef,
- 0x7, 0xef,
- 0xe, 0xef,
- 0x1c, 0xef,
- 0x38, 0xef,
- 0x30, 0xef,
- 0x0, 0xf,
- 0x0, 0xf,
-};
-
-const unsigned char XC_top_right_corner[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 1, 2, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0xff, 0xfe,
- 0x7f, 0xfe,
- 0x60, 0x0,
- 0x60, 0x0,
- 0x60, 0x0,
- 0x63, 0xf8,
- 0x63, 0x0,
- 0x62, 0x80,
- 0x62, 0x40,
- 0x62, 0x20,
- 0x62, 0x10,
- 0x62, 0x8,
- 0x60, 0x0,
- 0x60, 0x0,
- 0x0, 0x0,
- /* mask */
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xf0, 0x0,
- 0xf7, 0xfc,
- 0xf7, 0xfc,
- 0xf7, 0xfc,
- 0xf7, 0xc0,
- 0xf7, 0xe0,
- 0xf7, 0x70,
- 0xf7, 0x38,
- 0xf7, 0x1c,
- 0xf7, 0xc,
- 0xf0, 0x0,
- 0xf0, 0x0,
-};
-
-const unsigned char XC_top_side[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 1, 8, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0xff, 0xfe,
- 0x3f, 0xfe,
- 0x0, 0x0,
- 0x0, 0x80,
- 0x1, 0xc0,
- 0x2, 0xa0,
- 0x4, 0x90,
- 0x8, 0x88,
- 0x0, 0x80,
- 0x0, 0x80,
- 0x0, 0x80,
- 0x0, 0x80,
- 0x0, 0x80,
- 0x0, 0x80,
- 0x0, 0x0,
- /* mask */
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x7f, 0xff,
- 0x1, 0xc0,
- 0x3, 0xe0,
- 0x7, 0xf0,
- 0xf, 0xf8,
- 0x1d, 0xdc,
- 0x19, 0xcc,
- 0x1, 0xc0,
- 0x1, 0xc0,
- 0x1, 0xc0,
- 0x1, 0xc0,
- 0x1, 0xc0,
- 0x1, 0xc0,
-};
-
-const unsigned char XC_top_tee[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 3, 8, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- 0xff, 0xfe,
- 0x7f, 0xfe,
- 0x1, 0x80,
- 0x1, 0x80,
- 0x1, 0x80,
- 0x1, 0x80,
- 0x1, 0x80,
- 0x1, 0x80,
- 0x1, 0x80,
- 0x1, 0x80,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- /* mask */
- 0x0, 0x0,
- 0x0, 0x0,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0x3, 0xc0,
- 0x3, 0xc0,
- 0x3, 0xc0,
- 0x3, 0xc0,
- 0x3, 0xc0,
- 0x3, 0xc0,
- 0x3, 0xc0,
- 0x3, 0xc0,
- 0x0, 0x0,
- 0x0, 0x0,
-};
-
-const unsigned char XC_trek[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 0, 8, /* y,x of hotspot */
- /* data */
- 0x8, 0x80,
- 0x8, 0x0,
- 0x1, 0xc0,
- 0x3, 0xe0,
- 0x7, 0xf0,
- 0x7, 0x70,
- 0x7, 0xf0,
- 0x3, 0xe0,
- 0x1, 0xc0,
- 0x0, 0x80,
- 0x5, 0xd0,
- 0x6, 0xb0,
- 0x4, 0x90,
- 0x4, 0x10,
- 0x4, 0x10,
- 0x4, 0x10,
- /* mask */
- 0x1, 0xc0,
- 0x1, 0xc0,
- 0x3, 0xe0,
- 0x7, 0xf0,
- 0xf, 0xf8,
- 0xf, 0xf8,
- 0xf, 0xf8,
- 0x7, 0xf0,
- 0x3, 0xe0,
- 0x5, 0xd0,
- 0xf, 0xf8,
- 0xf, 0xf8,
- 0xf, 0xf8,
- 0xe, 0xb8,
- 0xe, 0xb8,
- 0xe, 0x38,
-};
-
-const unsigned char XC_ul_angle[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 3, 13, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x1f, 0xf8,
- 0x1f, 0xf8,
- 0x0, 0x18,
- 0x0, 0x18,
- 0x0, 0x18,
- 0x0, 0x18,
- 0x0, 0x18,
- 0x0, 0x18,
- 0x0, 0x18,
- 0x0, 0x18,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- /* mask */
- 0x0, 0x0,
- 0x0, 0x0,
- 0x3f, 0xfc,
- 0x3f, 0xfc,
- 0x3f, 0xfc,
- 0x3f, 0xfc,
- 0x0, 0x3c,
- 0x0, 0x3c,
- 0x0, 0x3c,
- 0x0, 0x3c,
- 0x0, 0x3c,
- 0x0, 0x3c,
- 0x0, 0x3c,
- 0x0, 0x3c,
- 0x0, 0x0,
- 0x0, 0x0,
-};
-
-const unsigned char XC_umbrella[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 3, 8, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0x89, 0x10,
- 0x14, 0x40,
- 0x65, 0x92,
- 0x13, 0xe4,
- 0xc, 0x98,
- 0x30, 0x86,
- 0x0, 0x80,
- 0x0, 0x80,
- 0x0, 0x80,
- 0x0, 0x80,
- 0x0, 0x80,
- 0x2, 0x80,
- 0x2, 0x80,
- 0x1, 0x0,
- 0x0, 0x0,
- /* mask */
- 0x76, 0xe8,
- 0xdf, 0xfb,
- 0x3f, 0xfd,
- 0xff, 0xfe,
- 0x3f, 0xff,
- 0xff, 0xff,
- 0x79, 0xcf,
- 0x1, 0xc0,
- 0x1, 0xc0,
- 0x1, 0xc0,
- 0x1, 0xc0,
- 0x7, 0xc0,
- 0x7, 0xc0,
- 0x7, 0xc0,
- 0x7, 0xc0,
- 0x3, 0x80,
-};
-
-const unsigned char XC_ur_angle[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 3, 4, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x1f, 0xf8,
- 0x1f, 0xf8,
- 0x18, 0x0,
- 0x18, 0x0,
- 0x18, 0x0,
- 0x18, 0x0,
- 0x18, 0x0,
- 0x18, 0x0,
- 0x18, 0x0,
- 0x18, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- /* mask */
- 0x0, 0x0,
- 0x0, 0x0,
- 0x3f, 0xfc,
- 0x3f, 0xfc,
- 0x3f, 0xfc,
- 0x3f, 0xfc,
- 0x3c, 0x0,
- 0x3c, 0x0,
- 0x3c, 0x0,
- 0x3c, 0x0,
- 0x3c, 0x0,
- 0x3c, 0x0,
- 0x3c, 0x0,
- 0x3c, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
-};
-
-const unsigned char XC_watch[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 9, 1, /* y,x of hotspot */
- /* data */
- 0x7, 0xf8,
- 0x7, 0xf8,
- 0x7, 0xf8,
- 0xf, 0xfc,
- 0x18, 0x86,
- 0x30, 0x83,
- 0xe0, 0x81,
- 0xe1, 0xc1,
- 0xe1, 0xc1,
- 0xe0, 0x21,
- 0x30, 0x13,
- 0x18, 0x6,
- 0xf, 0xfc,
- 0x7, 0xf8,
- 0x7, 0xf8,
- 0x7, 0xf8,
- /* mask */
- 0xf, 0xfc,
- 0xf, 0xfc,
- 0xf, 0xfc,
- 0x1f, 0xfe,
- 0x3f, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0xff, 0xff,
- 0x3f, 0xff,
- 0x1f, 0xfe,
- 0xf, 0xfc,
- 0xf, 0xfc,
- 0xf, 0xfc,
-};
-
-const unsigned char XC_xterm[] = {
- 16, /* 16x16 size */
- 1, /* 1 bit depth */
- 8, 8, /* y,x of hotspot */
- /* data */
- 0x0, 0x0,
- 0xf, 0x70,
- 0x9, 0xc0,
- 0x0, 0x80,
- 0x0, 0x80,
- 0x0, 0x80,
- 0x0, 0x80,
- 0x0, 0x80,
- 0x0, 0x80,
- 0x0, 0x80,
- 0x0, 0x80,
- 0x0, 0x80,
- 0x0, 0x80,
- 0x1, 0xc0,
- 0x7, 0x70,
- 0x0, 0x0,
- /* mask */
- 0xf, 0x78,
- 0xf, 0xf8,
- 0xf, 0xf8,
- 0x3, 0xe0,
- 0x1, 0xc0,
- 0x1, 0xc0,
- 0x1, 0xc0,
- 0x1, 0xc0,
- 0x1, 0xc0,
- 0x1, 0xc0,
- 0x1, 0xc0,
- 0x1, 0xc0,
- 0x3, 0xe0,
- 0xf, 0xf8,
- 0xf, 0xf8,
- 0xf, 0x78,
-};
-
diff --git a/src/glut/beos/glutDstr.cpp b/src/glut/beos/glutDstr.cpp
deleted file mode 100644
index 281a039701..0000000000
--- a/src/glut/beos/glutDstr.cpp
+++ /dev/null
@@ -1,83 +0,0 @@
-/***********************************************************
- * Copyright (C) 1997, Be Inc. Copyright (C) 1999, Jake Hamby.
- *
- * This program is freely distributable without licensing fees
- * and is provided without guarantee or warrantee expressed or
- * implied. This program is -not- in the public domain.
- *
- *
- * FILE: glutDstr.cpp
- *
- * DESCRIPTION: convert display string into a Be options variable
- ***********************************************************/
-
-/***********************************************************
- * Headers
- ***********************************************************/
-#include <GL/glut.h>
-#include <string.h>
-#include <stdlib.h>
-#include "glutint.h"
-#include "glutState.h"
-
-/***********************************************************
- * FUNCTION: glutInitDisplayString
- *
- * DESCRIPTION: sets the display string variable
- ***********************************************************/
-void APIENTRY
-glutInitDisplayString(const char *string)
-{
- if (gState.displayString) {
- free(gState.displayString);
- }
- if (string) {
- gState.displayString = strdup(string);
- if (!gState.displayString)
- __glutFatalError("out of memory.");
- } else
- gState.displayString = NULL;
-}
-
-/***********************************************************
- * FUNCTION: __glutConvertDisplayModeFromString
- *
- * DESCRIPTION: converts the current display mode into a BGLView
- * display mode, printing warnings as appropriate.
- *
- * PARAMETERS: if options is non-NULL, the current display mode is
- * returned in it.
- *
- * RETURNS: 1 if the current display mode is possible, else 0
- ***********************************************************/
-int __glutConvertDisplayModeFromString(unsigned long *options) {
- ulong newoptions = 0;
-
- char *word = strtok(gState.displayString, " \t");
- do {
- char *cstr = strpbrk(word, "=><!~");
- if(cstr)
- *cstr = '\0';
- // this is the most minimal possible parser. scan for
- // options that we support, and add them to newoptions
- // this will certainly cause it to accept things that we
- // don't actually support, but if we don't support it, the
- // program's probably not going to work anyway.
- if(!strcmp(word, "alpha")) {
- newoptions |= BGL_ALPHA;
- } else if((!strcmp(word, "acc")) || (!strcmp(word, "acca"))) {
- newoptions |= BGL_ACCUM;
- } else if(!strcmp(word, "depth")) {
- newoptions |= BGL_DEPTH;
- } else if(!strcmp(word, "double")) {
- newoptions |= BGL_DOUBLE;
- } else if(!strcmp(word, "stencil")) {
- newoptions |= BGL_STENCIL;
- }
- } while((word = strtok(0, " \t")) != 0);
-
- if (options)
- *options = newoptions;
-
- return 1; // assume we support it
-}
diff --git a/src/glut/beos/glutEvent.cpp b/src/glut/beos/glutEvent.cpp
deleted file mode 100644
index cffbc1aa54..0000000000
--- a/src/glut/beos/glutEvent.cpp
+++ /dev/null
@@ -1,695 +0,0 @@
-/***********************************************************
- * Copyright (C) 1997, Be Inc. Copyright (C) 1999, Jake Hamby.
- *
- * This program is freely distributable without licensing fees
- * and is provided without guarantee or warrantee expressed or
- * implied. This program is -not- in the public domain.
- *
- *
- * FILE: glutEvent.cpp
- *
- * DESCRIPTION: here it is, the BeOS GLUT event loop
- ***********************************************************/
-
-/***********************************************************
- * Headers
- ***********************************************************/
-#include <GL/glut.h>
-#include "glutint.h"
-#include "glutState.h"
-#include "glutBlocker.h"
-
-/***********************************************************
- * CLASS: GLUTtimer
- *
- * DESCRIPTION: list of timer callbacks
- ***********************************************************/
-struct GLUTtimer {
- GLUTtimer *next; // list of timers
- bigtime_t timeout; // time to be called
- GLUTtimerCB func; // function to call
- int value; // value
-};
-
-/***********************************************************
- * Private variables
- ***********************************************************/
-static GLUTtimer *__glutTimerList = 0; // list of timer callbacks
-static GLUTtimer *freeTimerList = 0;
-
-/***********************************************************
- * FUNCTION: glutTimerFunc (7.19)
- *
- * DESCRIPTION: register a new timer callback
- ***********************************************************/
-void APIENTRY
-glutTimerFunc(unsigned int interval, GLUTtimerCB timerFunc, int value)
-{
- GLUTtimer *timer, *other;
- GLUTtimer **prevptr;
-
- if (!timerFunc)
- return;
-
- if (freeTimerList) {
- timer = freeTimerList;
- freeTimerList = timer->next;
- } else {
- timer = new GLUTtimer();
- if (!timer)
- __glutFatalError("out of memory.");
- }
-
- timer->func = timerFunc;
- timer->value = value;
- timer->next = NULL;
- timer->timeout = system_time() + (interval*1000); // 1000 ticks in a millisecond
- prevptr = &__glutTimerList;
- other = *prevptr;
- while (other && (other->timeout < timer->timeout)) {
- prevptr = &other->next;
- other = *prevptr;
- }
- timer->next = other;
- *prevptr = timer;
-}
-
-/***********************************************************
- * FUNCTION: handleTimeouts
- *
- * DESCRIPTION: private function to handle outstanding timeouts
- ***********************************************************/
-static void
-handleTimeouts(void)
-{
- bigtime_t now;
- GLUTtimer *timer;
-
- /* Assumption is that __glutTimerList is already determined
- to be non-NULL. */
- now = system_time();
- while (__glutTimerList->timeout <= now) {
- timer = __glutTimerList;
- if(gState.currentWindow)
- gState.currentWindow->LockGL();
- timer->func(timer->value);
- if(gState.currentWindow)
- gState.currentWindow->UnlockGL();
- __glutTimerList = timer->next;
- timer->next = freeTimerList;
- freeTimerList = timer;
- if (!__glutTimerList)
- break;
- }
-}
-
-
-/***********************************************************
- * FUNCTION: processEventsAndTimeouts
- *
- * DESCRIPTION: clear gBlock, then check all windows for events
- ***********************************************************/
-static void
-processEventsAndTimeouts(void)
-{
- gBlock.WaitEvent(); // if there is already an event, returns
- // immediately, otherwise wait forever
- gBlock.ClearEvents();
-
- if(gState.quitAll)
- exit(0); // exit handler cleans up windows and quits nicely
-
- if (gState.currentWindow)
- gState.currentWindow->LockGL();
- for(int i=0; i<gState.windowListSize; i++) {
- if (gState.windowList[i]) {
- GlutWindow *win = gState.windowList[i];
- // NOTE: we can use win as a shortcut for gState.windowList[i]
- // in callbacks, EXCEPT we need to check the original variable
- // after each callback to make sure the window hasn't been destroyed
- if (win->anyevents) {
- win->anyevents = false;
- if (win->reshapeEvent) {
- win->reshapeEvent = false;
- __glutSetWindow(win);
- win->reshape(win->m_width, win->m_height);
- }
- if (!gState.windowList[i])
- continue; // window was destroyed by callback!
-
- if (win->displayEvent) {
- win->displayEvent = false;
- __glutSetWindow(win);
- win->display();
- }
- if (!gState.windowList[i])
- continue; // window was destroyed by callback!
-
- if (win->mouseEvent) {
- win->mouseEvent = false;
- __glutSetWindow(win);
- if (win->mouse) {
- gState.modifierKeys = win->modifierKeys;
- win->mouse(win->button, win->mouseState, win->mouseX, win->mouseY);
- gState.modifierKeys = ~0;
- }
- }
- if (!gState.windowList[i])
- continue; // window was destroyed by callback!
-
- if (win->menuEvent) {
- win->menuEvent = false;
- __glutSetWindow(win);
- GlutMenu *menu = __glutGetMenuByNum(win->menuNumber);
- if (menu) {
- gState.currentMenu = menu;
- menu->select(win->menuValue);
- }
- }
- if (!gState.windowList[i])
- continue; // window was destroyed by callback!
-
- if (win->statusEvent) {
- win->statusEvent = false;
- __glutSetWindow(win);
- if (gState.menuStatus) {
- gState.currentMenu = __glutGetMenuByNum(win->menuNumber);
- gState.menuStatus(win->menuStatus, win->statusX, win->statusY);
- }
- }
- if (!gState.windowList[i])
- continue; // window was destroyed by callback!
-
- if (win->motionEvent) {
- win->motionEvent = false;
- __glutSetWindow(win);
- if (win->motion)
- win->motion(win->motionX, win->motionY);
- }
- if (!gState.windowList[i])
- continue; // window was destroyed by callback!
-
- if (win->passiveEvent) {
- win->passiveEvent = false;
- __glutSetWindow(win);
- if (win->passive)
- win->passive(win->passiveX, win->passiveY);
- }
- if (!gState.windowList[i])
- continue; // window was destroyed by callback!
-
- if (win->keybEvent) {
- win->keybEvent = false;
- __glutSetWindow(win);
- if (win->keyboard) {
- gState.modifierKeys = win->modifierKeys;
- win->keyboard(win->key, win->keyX, win->keyY);
- gState.modifierKeys = ~0;
- }
- }
- if (!gState.windowList[i])
- continue; // window was destroyed by callback!
-
- if (win->specialEvent) {
- win->specialEvent = false;
- __glutSetWindow(win);
- if (win->special) {
- gState.modifierKeys = win->modifierKeys;
- win->special(win->specialKey, win->specialX, win->specialY);
- gState.modifierKeys = ~0;
- }
- }
- if (!gState.windowList[i])
- continue; // window was destroyed by callback!
-
- if (win->entryEvent) {
- win->entryEvent = false;
- __glutSetWindow(win);
- if (win->entry)
- win->entry(win->entryState);
- }
- if (!gState.windowList[i])
- continue; // window was destroyed by callback!
-
- if (win->windowStatusEvent) {
- win->windowStatusEvent = false;
- __glutSetWindow(win);
- if (win->windowStatus)
- win->windowStatus(win->visState);
- }
- if (!gState.windowList[i])
- continue; // window was destroyed by callback!
- }
- }
- }
- if (gState.currentWindow)
- gState.currentWindow->UnlockGL();
-
- // This code isn't necessary since BGLView automatically traps errors
-#if 0
- if(gState.debug) {
- for(int i=0; i<gState.windowListSize; i++) {
- if (gState.windowList[i]) {
- gState.windowList[i]->LockGL();
- glutReportErrors();
- gState.windowList[i]->UnlockGL();
- }
- }
- }
-#endif
- if (__glutTimerList) {
- handleTimeouts();
- }
-}
-
-/***********************************************************
- * FUNCTION: waitForSomething
- *
- * DESCRIPTION: use gBlock to wait for a new event or timeout
- ***********************************************************/
-static void
-waitForSomething(void)
-{
- bigtime_t timeout = __glutTimerList->timeout;
- bigtime_t now = system_time();
-
- if (gBlock.PendingEvent())
- goto immediatelyHandleEvent;
-
- if(timeout>now)
- gBlock.WaitEvent(timeout-now);
- if (gBlock.PendingEvent()) {
- immediatelyHandleEvent:
- processEventsAndTimeouts();
- } else {
- if (__glutTimerList)
- handleTimeouts();
- }
-}
-
-/***********************************************************
- * FUNCTION: idleWait
- *
- * DESCRIPTION: check for events, then call idle function
- ***********************************************************/
-static void
-idleWait(void)
-{
- if (gBlock.PendingEvent()) {
- processEventsAndTimeouts();
- } else {
- if (__glutTimerList)
- handleTimeouts();
- }
- /* Make sure idle func still exists! */
- if(gState.currentWindow)
- gState.currentWindow->LockGL();
- if (gState.idle) {
- gState.idle();
- }
- if(gState.currentWindow)
- gState.currentWindow->UnlockGL();
-}
-
-/***********************************************************
- * FUNCTION: glutMainLoop (3.1)
- *
- * DESCRIPTION: enter the event processing loop
- ***********************************************************/
-void glutMainLoop()
-{
- if (!gState.windowListSize)
- __glutFatalUsage("main loop entered with no windows created.");
-
- if(gState.currentWindow)
- gState.currentWindow->UnlockGL();
-
- for (;;) {
- if (gState.idle) {
- idleWait();
- } else {
- if (__glutTimerList) {
- waitForSomething();
- } else {
- processEventsAndTimeouts();
- }
- }
- }
-}
-
-/***********************************************************
- * CLASS: GlutWindow
- *
- * FUNCTION: KeyDown
- *
- * DESCRIPTION: handles keyboard and special events
- ***********************************************************/
-void GlutWindow::KeyDown(const char *s, int32 slen)
-{
- ulong aChar = s[0];
- BGLView::KeyDown(s,slen);
-
- BPoint p;
-
- switch (aChar) {
- case B_FUNCTION_KEY:
- switch(Window()->CurrentMessage()->FindInt32("key")) {
- case B_F1_KEY:
- aChar = GLUT_KEY_F1;
- goto specialLabel;
- case B_F2_KEY:
- aChar = GLUT_KEY_F2;
- goto specialLabel;
- case B_F3_KEY:
- aChar = GLUT_KEY_F3;
- goto specialLabel;
- case B_F4_KEY:
- aChar = GLUT_KEY_F4;
- goto specialLabel;
- case B_F5_KEY:
- aChar = GLUT_KEY_F5;
- goto specialLabel;
- case B_F6_KEY:
- aChar = GLUT_KEY_F6;
- goto specialLabel;
- case B_F7_KEY:
- aChar = GLUT_KEY_F7;
- goto specialLabel;
- case B_F8_KEY:
- aChar = GLUT_KEY_F8;
- goto specialLabel;
- case B_F9_KEY:
- aChar = GLUT_KEY_F9;
- goto specialLabel;
- case B_F10_KEY:
- aChar = GLUT_KEY_F10;
- goto specialLabel;
- case B_F11_KEY:
- aChar = GLUT_KEY_F11;
- goto specialLabel;
- case B_F12_KEY:
- aChar = GLUT_KEY_F12;
- goto specialLabel;
- default:
- return;
- }
- case B_LEFT_ARROW:
- aChar = GLUT_KEY_LEFT;
- goto specialLabel;
- case B_UP_ARROW:
- aChar = GLUT_KEY_UP;
- goto specialLabel;
- case B_RIGHT_ARROW:
- aChar = GLUT_KEY_RIGHT;
- goto specialLabel;
- case B_DOWN_ARROW:
- aChar = GLUT_KEY_DOWN;
- goto specialLabel;
- case B_PAGE_UP:
- aChar = GLUT_KEY_PAGE_UP;
- goto specialLabel;
- case B_PAGE_DOWN:
- aChar = GLUT_KEY_PAGE_DOWN;
- goto specialLabel;
- case B_HOME:
- aChar = GLUT_KEY_HOME;
- goto specialLabel;
- case B_END:
- aChar = GLUT_KEY_END;
- goto specialLabel;
- case B_INSERT:
- aChar = GLUT_KEY_INSERT;
-specialLabel:
- if (special) {
- anyevents = specialEvent = true;
- GetMouse(&p,&m_buttons);
- specialKey = aChar;
- specialX = (int)p.x;
- specialY = (int)p.y;
- goto setModifiers; // set the modifier variable
- }
- return;
-
- default:
- break;
- }
-
- if (keyboard) {
- anyevents = keybEvent = true;
- GetMouse(&p,&m_buttons);
- key = aChar;
- keyX = (int)p.x;
- keyY = (int)p.y;
-setModifiers:
- modifierKeys = 0;
- uint32 beMod = Window()->CurrentMessage()->FindInt32("modifiers");
- if(beMod & B_SHIFT_KEY)
- modifierKeys |= GLUT_ACTIVE_SHIFT;
- if(beMod & B_CONTROL_KEY)
- modifierKeys |= GLUT_ACTIVE_CTRL;
- if(beMod & B_OPTION_KEY) {
- // since the window traps B_COMMAND_KEY, we'll have to settle
- // for the option key.. but we need to get the raw character,
- // not the Unicode-enhanced version
- key = Window()->CurrentMessage()->FindInt32("raw_char");
- modifierKeys |= GLUT_ACTIVE_ALT;
- }
- gBlock.NewEvent();
- }
-}
-
-/***********************************************************
- * CLASS: GlutWindow
- *
- * FUNCTION: MouseDown
- *
- * DESCRIPTION: handles mouse and menustatus events
- ***********************************************************/
-void GlutWindow::MouseDown(BPoint point)
-{
- BGLView::MouseDown(point);
- MouseCheck();
-}
-
-/***********************************************************
- * CLASS: GlutWindow
- *
- * FUNCTION: MouseCheck
- *
- * DESCRIPTION: checks for button state changes
- ***********************************************************/
-void GlutWindow::MouseCheck()
-{
- if (mouseEvent)
- return; // we already have an outstanding mouse event
-
- BPoint point;
- uint32 newButtons;
- GetMouse(&point, &newButtons);
- if (m_buttons != newButtons) {
- if (newButtons&B_PRIMARY_MOUSE_BUTTON && !(m_buttons&B_PRIMARY_MOUSE_BUTTON)) {
- button = GLUT_LEFT_BUTTON;
- mouseState = GLUT_DOWN;
- } else if (m_buttons&B_PRIMARY_MOUSE_BUTTON && !(newButtons&B_PRIMARY_MOUSE_BUTTON)) {
- button = GLUT_LEFT_BUTTON;
- mouseState = GLUT_UP;
- } else if (newButtons&B_SECONDARY_MOUSE_BUTTON && !(m_buttons&B_SECONDARY_MOUSE_BUTTON)) {
- button = GLUT_RIGHT_BUTTON;
- mouseState = GLUT_DOWN;
- } else if (m_buttons&B_SECONDARY_MOUSE_BUTTON && !(newButtons&B_SECONDARY_MOUSE_BUTTON)) {
- button = GLUT_RIGHT_BUTTON;
- mouseState = GLUT_UP;
- } else if (newButtons&B_TERTIARY_MOUSE_BUTTON && !(m_buttons&B_TERTIARY_MOUSE_BUTTON)) {
- button = GLUT_MIDDLE_BUTTON;
- mouseState = GLUT_DOWN;
- } else if (m_buttons&B_TERTIARY_MOUSE_BUTTON && !(newButtons&B_TERTIARY_MOUSE_BUTTON)) {
- button = GLUT_MIDDLE_BUTTON;
- mouseState = GLUT_UP;
- }
- } else {
- return; // no change, return
- }
- m_buttons = newButtons;
-
- if (mouseState == GLUT_DOWN) {
- BWindow *w = Window();
- GlutMenu *m = __glutGetMenuByNum(menu[button]);
- if (m) {
- if (gState.menuStatus) {
- anyevents = statusEvent = true;
- menuNumber = menu[button];
- menuStatus = GLUT_MENU_IN_USE;
- statusX = (int)point.x;
- statusY = (int)point.y;
- gBlock.NewEvent();
- }
- BRect bounds = w->Frame();
- point.x += bounds.left;
- point.y += bounds.top;
- GlutPopUp *bmenu = static_cast<GlutPopUp*>(m->CreateBMenu()); // start menu
- bmenu->point = point;
- bmenu->win = this;
- thread_id menu_thread = spawn_thread(MenuThread, "menu thread", B_NORMAL_PRIORITY, bmenu);
- resume_thread(menu_thread);
- return;
- }
- }
-
- if (mouse) {
- anyevents = mouseEvent = true;
- mouseX = (int)point.x;
- mouseY = (int)point.y;
- modifierKeys = 0;
- uint32 beMod = modifiers();
- if(beMod & B_SHIFT_KEY)
- modifierKeys |= GLUT_ACTIVE_SHIFT;
- if(beMod & B_CONTROL_KEY)
- modifierKeys |= GLUT_ACTIVE_CTRL;
- if(beMod & B_OPTION_KEY) {
- modifierKeys |= GLUT_ACTIVE_ALT;
- }
- gBlock.NewEvent();
- }
-}
-
-/***********************************************************
- * CLASS: GlutWindow
- *
- * FUNCTION: MouseMoved
- *
- * DESCRIPTION: handles entry, motion, and passive events
- ***********************************************************/
-void GlutWindow::MouseMoved(BPoint point,
- ulong transit, const BMessage *msg)
-{
- BGLView::MouseMoved(point,transit,msg);
-
- if(transit != B_INSIDE_VIEW) {
- if (entry) {
- anyevents = entryEvent = true;
- gBlock.NewEvent();
- }
- if (transit == B_ENTERED_VIEW) {
- entryState = GLUT_ENTERED;
- MakeFocus(); // make me the current focus
- __glutSetCursor(cursor);
- } else
- entryState = GLUT_LEFT;
- }
-
- MouseCheck();
- if(m_buttons) {
- if(motion) {
- anyevents = motionEvent = true;
- motionX = (int)point.x;
- motionY = (int)point.y;
- gBlock.NewEvent();
- }
- } else {
- if(passive) {
- anyevents = passiveEvent = true;
- passiveX = (int)point.x;
- passiveY = (int)point.y;
- gBlock.NewEvent();
- }
- }
-}
-
-/***********************************************************
- * CLASS: GlutWindow
- *
- * FUNCTION: FrameResized
- *
- * DESCRIPTION: handles reshape event
- ***********************************************************/
-void GlutWindow::FrameResized(float width, float height)
-{
- BGLView::FrameResized(width, height);
- if (visible) {
- anyevents = reshapeEvent = true;
- m_width = (int)(width)+1;
- m_height = (int)(height)+1;
- gBlock.NewEvent();
- }
-}
-
-/***********************************************************
- * CLASS: GlutWindow
- *
- * FUNCTION: Draw
- *
- * DESCRIPTION: handles reshape and display events
- ***********************************************************/
-void GlutWindow::Draw(BRect updateRect)
-{
- BGLView::Draw(updateRect);
- BRect frame = Frame();
- if (m_width != (frame.Width()+1) || m_height != (frame.Height()+1)) {
- FrameResized(frame.Width(), frame.Height());
- }
- Window()->Lock();
- if (visible) {
- anyevents = displayEvent = true;
- gBlock.NewEvent();
- }
- Window()->Unlock();
-}
-
-/***********************************************************
- * CLASS: GlutWindow
- *
- * FUNCTION: Pulse
- *
- * DESCRIPTION: handles mouse up event (MouseUp is broken)
- ***********************************************************/
-void GlutWindow::Pulse()
-{
- BGLView::Pulse();
- if (m_buttons) { // if there are buttons pressed
- MouseCheck();
- }
-}
-
-/***********************************************************
- * CLASS: GlutWindow
- *
- * FUNCTION: ErrorCallback
- *
- * DESCRIPTION: handles GL error messages
- ***********************************************************/
-void GlutWindow::ErrorCallback(GLenum errorCode) {
- __glutWarning("GL error: %s", gluErrorString(errorCode));
-}
-
-/***********************************************************
- * CLASS: GlutWindow
- *
- * FUNCTION: MenuThread
- *
- * DESCRIPTION: a new thread to launch popup menu, wait
- * wait for response, then clean up afterwards and
- * send appropriate messages
- ***********************************************************/
-long GlutWindow::MenuThread(void *m) {
- GlutPopUp *bmenu = static_cast<GlutPopUp*>(m);
- GlutWindow *win = bmenu->win; // my window
- GlutBMenuItem *result = (GlutBMenuItem*)bmenu->Go(bmenu->point);
- win->Window()->Lock();
- win->anyevents = win->statusEvent = true;
- win->menuStatus = GLUT_MENU_NOT_IN_USE;
- win->menuNumber = bmenu->menu;
- BPoint cursor;
- uint32 buttons;
- win->GetMouse(&cursor, &buttons);
- win->statusX = (int)cursor.x;
- win->statusY = (int)cursor.y;
- if(result && result->menu) {
- win->menuEvent = true;
- win->menuNumber = result->menu; // in case it was a submenu
- win->menuValue = result->value;
- }
- win->Window()->Unlock();
- gBlock.NewEvent();
- delete bmenu;
- return 0;
-}
diff --git a/src/glut/beos/glutGet.cpp b/src/glut/beos/glutGet.cpp
deleted file mode 100644
index 04a8479b98..0000000000
--- a/src/glut/beos/glutGet.cpp
+++ /dev/null
@@ -1,211 +0,0 @@
-/***********************************************************
- * Copyright (C) 1997, Be Inc. Copyright (C) 1999, Jake Hamby.
- *
- * This program is freely distributable without licensing fees
- * and is provided without guarantee or warrantee expressed or
- * implied. This program is -not- in the public domain.
- *
- *
- * FILE: glutGet.cpp
- *
- * DESCRIPTION: get state information from GL
- ***********************************************************/
-
-/***********************************************************
- * Headers
- ***********************************************************/
-#include <GL/glut.h>
-#include <string.h>
-#include <Autolock.h>
-#include <Screen.h>
-
-#include "glutint.h"
-#include "glutState.h"
-
-/***********************************************************
- * Global variables
- ***********************************************************/
-// rough guess, since we don't know how big the monitor really is
-const float dots_per_mm = (72/25.4); // dots per millimeter
-
-/***********************************************************
- * FUNCTION: glutGet (9.1)
- *
- * DESCRIPTION: retrieve window and GL state
- ***********************************************************/
-int glutGet(GLenum state) {
- switch(state) {
- case GLUT_WINDOW_X:
- {BAutolock winlock(gState.currentWindow->Window()); // need to lock the window
- if (gState.currentWindow->parent)
- return (int)gState.currentWindow->Frame().left;
- else
- return (int)gState.currentWindow->Window()->Frame().left;
- }
- case GLUT_WINDOW_Y:
- {BAutolock winlock(gState.currentWindow->Window());
- if (gState.currentWindow->parent)
- return (int)gState.currentWindow->Frame().top;
- else
- return (int)gState.currentWindow->Window()->Frame().top;
- }
- case GLUT_WINDOW_WIDTH:
- {BAutolock winlock(gState.currentWindow->Window());
- return gState.currentWindow->m_width;
- }
- case GLUT_WINDOW_HEIGHT:
- {BAutolock winlock(gState.currentWindow->Window());
- return gState.currentWindow->m_height;
- }
- case GLUT_WINDOW_PARENT:
- {BAutolock winlock(gState.currentWindow->Window());
- if(gState.currentWindow->parent)
- return gState.currentWindow->parent->num + 1;
- else
- return 0;
- }
- case GLUT_WINDOW_NUM_CHILDREN:
- {BAutolock winlock(gState.currentWindow->Window());
- int num = 0;
- GlutWindow *children = gState.currentWindow->children;
- while (children) {
- num++;
- children = children->siblings;
- }
- return num;
- }
- case GLUT_WINDOW_BUFFER_SIZE: // best guesses
- case GLUT_WINDOW_DEPTH_SIZE:
- return 32;
-
- case GLUT_WINDOW_STENCIL_SIZE:
- case GLUT_WINDOW_RED_SIZE: // always 24-bit color
- case GLUT_WINDOW_GREEN_SIZE:
- case GLUT_WINDOW_BLUE_SIZE:
- case GLUT_WINDOW_ALPHA_SIZE:
- case GLUT_WINDOW_ACCUM_RED_SIZE:
- case GLUT_WINDOW_ACCUM_GREEN_SIZE:
- case GLUT_WINDOW_ACCUM_BLUE_SIZE:
- case GLUT_WINDOW_ACCUM_ALPHA_SIZE:
- return 8;
-
- case GLUT_WINDOW_DOUBLEBUFFER: // always double-buffered RGBA
- case GLUT_WINDOW_RGBA:
- return 1;
-
- case GLUT_WINDOW_COLORMAP_SIZE: // don't support these
- case GLUT_WINDOW_NUM_SAMPLES:
- case GLUT_WINDOW_STEREO:
- return 0;
-
- case GLUT_WINDOW_CURSOR:
- return gState.currentWindow->cursor; // don't need to lock window since it won't change
-
- case GLUT_SCREEN_WIDTH:
- return (int)(BScreen().Frame().Width()) + 1;
- case GLUT_SCREEN_HEIGHT:
- return (int)(BScreen().Frame().Height()) + 1;
- case GLUT_SCREEN_WIDTH_MM:
- return (int)((BScreen().Frame().Width() + 1) / dots_per_mm);
- case GLUT_SCREEN_HEIGHT_MM:
- return (int)((BScreen().Frame().Height() + 1) / dots_per_mm);
- case GLUT_MENU_NUM_ITEMS:
- return gState.currentMenu->num;
- case GLUT_DISPLAY_MODE_POSSIBLE:
- return __glutConvertDisplayMode(0); // returns 1 if possible
- case GLUT_INIT_DISPLAY_MODE:
- return gState.displayMode;
- case GLUT_INIT_WINDOW_X:
- return gState.initX;
- case GLUT_INIT_WINDOW_Y:
- return gState.initY;
- case GLUT_INIT_WINDOW_WIDTH:
- return gState.initWidth;
- case GLUT_INIT_WINDOW_HEIGHT:
- return gState.initHeight;
- case GLUT_ELAPSED_TIME:
- bigtime_t elapsed, beginning, now;
- __glutInitTime(&beginning);
- now = system_time();
- elapsed = now - beginning;
- return (int) (elapsed / 1000); // 1000 ticks in a millisecond
- default:
- __glutWarning("invalid glutGet parameter: %d", state);
- return -1;
- }
-}
-
-/***********************************************************
- * FUNCTION: glutLayerGet (9.2)
- *
- * DESCRIPTION: since we don't support layers, this is easy
- ***********************************************************/
-int glutLayerGet(GLenum info) {
- switch(info) {
- case GLUT_OVERLAY_POSSIBLE:
- case GLUT_HAS_OVERLAY:
- return 0;
- case GLUT_LAYER_IN_USE:
- return GLUT_NORMAL;
- case GLUT_TRANSPARENT_INDEX:
- return -1;
- case GLUT_NORMAL_DAMAGED:
- return gState.currentWindow->displayEvent;
- case GLUT_OVERLAY_DAMAGED:
- return -1;
- default:
- __glutWarning("invalid glutLayerGet param: %d", info);
- return -1;
- }
-}
-
-/***********************************************************
- * FUNCTION: glutDeviceGet (9.3)
- *
- * DESCRIPTION: get info about I/O devices we support
- * easy, since BeOS only supports a keyboard and mouse now
- ***********************************************************/
-int glutDeviceGet(GLenum info) {
- switch(info) {
- case GLUT_HAS_KEYBOARD:
- case GLUT_HAS_MOUSE:
- return 1;
-
- case GLUT_HAS_SPACEBALL:
- case GLUT_HAS_DIAL_AND_BUTTON_BOX:
- case GLUT_HAS_TABLET:
- case GLUT_NUM_SPACEBALL_BUTTONS:
- case GLUT_NUM_BUTTON_BOX_BUTTONS:
- case GLUT_NUM_DIALS:
- case GLUT_NUM_TABLET_BUTTONS:
- return 0;
-
- case GLUT_NUM_MOUSE_BUTTONS:
- {
- int32 mouseButtons = 3; // good guess
- if(get_mouse_type(&mouseButtons) != B_OK) {
- __glutWarning("error getting number of mouse buttons");
- }
- return mouseButtons;
- }
-
- default:
- __glutWarning("invalid glutDeviceGet parameter: %d", info);
- return -1;
- }
-}
-
-/***********************************************************
- * FUNCTION: glutGetModifiers (9.4)
- *
- * DESCRIPTION: get the modifier key state for the current window
- ***********************************************************/
-int glutGetModifiers() {
- if(gState.modifierKeys == (int) ~0) {
- __glutWarning(
- "glutCurrentModifiers: do not call outside core input callback.");
- return 0;
- }
- return gState.modifierKeys;
-}
-
diff --git a/src/glut/beos/glutInit.cpp b/src/glut/beos/glutInit.cpp
deleted file mode 100644
index 401081328f..0000000000
--- a/src/glut/beos/glutInit.cpp
+++ /dev/null
@@ -1,263 +0,0 @@
-/***********************************************************
- * Copyright (C) 1997, Be Inc. Copyright (C) 1999, Jake Hamby.
- *
- * This program is freely distributable without licensing fees
- * and is provided without guarantee or warrantee expressed or
- * implied. This program is -not- in the public domain.
- *
- *
- * FILE: glutInit.cpp
- *
- * DESCRIPTION: initialize GLUT state
- ***********************************************************/
-
-/***********************************************************
- * Headers
- ***********************************************************/
-#include <GL/glut.h>
-#include <string.h>
-#include <stdlib.h>
-#include <signal.h>
-#include "glutint.h"
-#include "glutState.h"
-#include "glutBlocker.h"
-#include "beos_x11.h"
-
-/***********************************************************
- * Global variables
- ***********************************************************/
-GlutState gState;
-char *__glutProgramName = NULL;
-
-/***********************************************************
- * Private variables
- ***********************************************************/
-static int __glutArgc;
-static char **__glutArgv;
-
-/***********************************************************
- * FUNCTION: __glutInitTime
- *
- * DESCRIPTION: set up start time variable
- ***********************************************************/
-void __glutInitTime(bigtime_t *beginning)
-{
- static int beenhere = 0;
- static bigtime_t genesis;
-
- if (!beenhere) {
- genesis = system_time();
- beenhere = 1;
- }
- *beginning = genesis;
-}
-
-/***********************************************************
- * FUNCTION: removeArgs
- *
- * DESCRIPTION: helper function for glutInit to remove args
- * from argv variable passed in
- ***********************************************************/
-static void
-removeArgs(int *argcp, char **argv, int numToRemove)
-{
- int i, j;
-
- for (i = 0, j = numToRemove; argv[j]; i++, j++) {
- argv[i] = argv[j];
- }
- argv[i] = NULL;
- *argcp -= numToRemove;
-}
-
-/***********************************************************
- * FUNCTION: bAppThread
- *
- * DESCRIPTION: starts the BApplication message loop running
- ***********************************************************/
-static int32 bAppThread(void *arg) {
- be_app->Lock();
- return be_app->Run();
-}
-
-/***********************************************************
- * FUNCTION: sigHandler
- *
- * DESCRIPTION: shuts down the app on CTRL-C
- ***********************************************************/
-static void sigHandler(int) {
- gState.quitAll = true;
- gBlock.NewEvent();
-}
-
-/***********************************************************
- * FUNCTION: glutInit (2.1)
- *
- * DESCRIPTION: create BApplication, parse cmd-line arguments,
- * and set up gState structure.
- ***********************************************************/
-void glutInit(int *argcp, char **argv) {
- char *str, *geometry = NULL;
- int i;
-
- if (gState.display) {
- __glutWarning("glutInit being called a second time.");
- return;
- }
- /* Determine temporary program name. */
- str = strrchr(argv[0], '/');
- if (str == NULL) {
- __glutProgramName = argv[0];
- } else {
- __glutProgramName = str + 1;
- }
-
- /* Make private copy of command line arguments. */
- __glutArgc = *argcp;
- __glutArgv = (char **) malloc(__glutArgc * sizeof(char *));
- if (!__glutArgv)
- __glutFatalError("out of memory.");
- for (i = 0; i < __glutArgc; i++) {
- __glutArgv[i] = strdup(argv[i]);
- if (!__glutArgv[i])
- __glutFatalError("out of memory.");
- }
-
- /* determine permanent program name */
- str = strrchr(__glutArgv[0], '/');
- if (str == NULL) {
- __glutProgramName = __glutArgv[0];
- } else {
- __glutProgramName = str + 1;
- }
-
- /* parse arguments for standard options */
- for (i = 1; i < __glutArgc; i++) {
- if (!strcmp(__glutArgv[i], "-display")) {
- __glutWarning("-display option only valid for X glut.");
- if (++i >= __glutArgc) {
- __glutFatalError(
- "follow -display option with X display name.");
- }
- removeArgs(argcp, &argv[1], 2);
- } else if (!strcmp(__glutArgv[i], "-geometry")) {
- if (++i >= __glutArgc) {
- __glutFatalError(
- "follow -geometry option with geometry parameter.");
- }
- geometry = __glutArgv[i];
- removeArgs(argcp, &argv[1], 2);
- } else if (!strcmp(__glutArgv[i], "-direct")) {
- __glutWarning("-direct option only valid for X glut.");
- removeArgs(argcp, &argv[1], 1);
- } else if (!strcmp(__glutArgv[i], "-indirect")) {
- __glutWarning("-indirect option only valid for X glut.");
- removeArgs(argcp, &argv[1], 1);
- } else if (!strcmp(__glutArgv[i], "-iconic")) {
- __glutWarning("-iconic option doesn't make sense in BeOS.");
- removeArgs(argcp, &argv[1], 1);
- } else if (!strcmp(__glutArgv[i], "-gldebug")) {
- gState.debug = true;
- removeArgs(argcp, &argv[1], 1);
- } else if (!strcmp(__glutArgv[i], "-sync")) {
- __glutWarning("-sync option only valid for X glut.");
- removeArgs(argcp, &argv[1], 1);
- } else {
- /* Once unknown option encountered, stop command line
- processing. */
- break;
- }
- }
-
- __glutInit(); /* Create BApplication first so DisplayWidth() works */
- if (geometry) {
- int flags, x, y, width, height;
-
- /* Fix bogus "{width|height} may be used before set"
- warning */
- width = 0;
- height = 0;
-
- flags = XParseGeometry(geometry, &x, &y,
- (unsigned int *) &width, (unsigned int *) &height);
- if (WidthValue & flags) {
- /* Careful because X does not allow zero or negative
- width windows */
- if (width > 0)
- gState.initWidth = width;
- }
- if (HeightValue & flags) {
- /* Careful because X does not allow zero or negative
- height windows */
- if (height > 0)
- gState.initHeight = height;
- }
- if (XValue & flags) {
- if (XNegative & flags)
- x = DisplayWidth() + x - gState.initWidth;
- /* Play safe: reject negative X locations */
- if (x >= 0)
- gState.initX = x;
- }
- if (YValue & flags) {
- if (YNegative & flags)
- y = DisplayHeight() + y - gState.initHeight;
- /* Play safe: reject negative Y locations */
- if (y >= 0)
- gState.initY = y;
- }
- }
-}
-
-/***********************************************************
- * FUNCTION: __glutInit
- *
- * DESCRIPTION: create BApplication, parse cmd-line arguments,
- * and set up gState structure.
- ***********************************************************/
-void __glutInit() {
- // open BApplication
- gState.display = new BApplication("application/x-glut-demo");
- be_app->Unlock();
- gState.appthread = spawn_thread(bAppThread, "BApplication", B_NORMAL_PRIORITY, 0);
- resume_thread(gState.appthread);
-
- bigtime_t unused;
- __glutInitTime(&unused);
-
- /* set atexit() function to destroy all windows before exiting */
- if(atexit(__glutDestroyAllWindows))
- __glutFatalError("can't set exit handler");
-
- /* similarly, destroy all windows on CTRL-C */
- signal(SIGINT, sigHandler);
-}
-
-/***********************************************************
- * FUNCTION: glutInitWindowPosition (2.2)
- *
- * DESCRIPTION: set initial window position
- ***********************************************************/
-void glutInitWindowPosition(int x, int y) {
- gState.initX = x;
- gState.initY = y;
-}
-
-/***********************************************************
- * FUNCTION: glutInitWindowSize (2.2)
- *
- * DESCRIPTION: set initial window size
- ***********************************************************/
-void glutInitWindowSize(int width, int height) {
- gState.initWidth = width;
- gState.initHeight = height;
-}
-
-/***********************************************************
- * FUNCTION: glutInitDisplayMode (2.3)
- *
- * DESCRIPTION: set initial display mode
- ***********************************************************/
-void glutInitDisplayMode(unsigned int mode) {
- gState.displayMode = mode;
-}
diff --git a/src/glut/beos/glutMenu.cpp b/src/glut/beos/glutMenu.cpp
deleted file mode 100644
index 2f9e6a2c67..0000000000
--- a/src/glut/beos/glutMenu.cpp
+++ /dev/null
@@ -1,326 +0,0 @@
-/***********************************************************
- * Copyright (C) 1997, Be Inc. Copyright (C) 1999, Jake Hamby.
- *
- * This program is freely distributable without licensing fees
- * and is provided without guarantee or warrantee expressed or
- * implied. This program is -not- in the public domain.
- *
- * FILE: glutMenu.cpp
- *
- * DESCRIPTION: code for popup menu handling
- ***********************************************************/
-
-/***********************************************************
- * Headers
- ***********************************************************/
-#include <GL/glut.h>
-#include <stdlib.h>
-#include <string.h>
-#include "glutint.h"
-#include "glutState.h"
-
-/***********************************************************
- * Private variables
- ***********************************************************/
-static GlutMenu **menuList = 0;
-static int menuListSize = 0;
-
-/***********************************************************
- * FUNCTION: getUnusedMenuSlot
- *
- * DESCRIPTION: helper function to get a new menu slot
- ***********************************************************/
-GlutMenu *__glutGetMenuByNum(int menunum)
-{
- if (menunum < 1 || menunum > menuListSize) {
- return NULL;
- }
- return menuList[menunum - 1];
-}
-
-/***********************************************************
- * FUNCTION: getUnusedMenuSlot
- *
- * DESCRIPTION: helper function to get a new menu slot
- ***********************************************************/
-static int
-getUnusedMenuSlot(void)
-{
- int i;
-
- /* Look for allocated, unused slot. */
- for (i = 0; i < menuListSize; i++) {
- if (!menuList[i]) {
- return i;
- }
- }
- /* Allocate a new slot. */
- menuListSize++;
- menuList = (GlutMenu **)
- realloc(menuList, menuListSize * sizeof(GlutMenu *));
- if (!menuList)
- __glutFatalError("out of memory.");
- menuList[menuListSize - 1] = NULL;
- return menuListSize - 1;
-}
-
-/***********************************************************
- * FUNCTION: glutCreateMenu (6.1)
- *
- * DESCRIPTION: create a new menu
- ***********************************************************/
-int APIENTRY
-glutCreateMenu(GLUTselectCB selectFunc)
-{
- GlutMenu *menu;
- int menuid;
-
- menuid = getUnusedMenuSlot();
- menu = new GlutMenu(menuid, selectFunc); // constructor sets up members
- menuList[menuid] = menu;
- gState.currentMenu = menu;
- return menuid + 1;
-}
-
-/***********************************************************
- * FUNCTION: glutSetMenu (6.2)
- * glutGetMenu
- *
- * DESCRIPTION: set and get the current menu
- ***********************************************************/
-int APIENTRY
-glutGetMenu(void)
-{
- if (gState.currentMenu) {
- return gState.currentMenu->id + 1;
- } else {
- return 0;
- }
-}
-
-void APIENTRY
-glutSetMenu(int menuid)
-{
- GlutMenu *menu;
-
- if (menuid < 1 || menuid > menuListSize) {
- __glutWarning("glutSetMenu attempted on bogus menu.");
- return;
- }
- menu = menuList[menuid - 1];
- if (!menu) {
- __glutWarning("glutSetMenu attempted on bogus menu.");
- return;
- }
- gState.currentMenu = menu;
-}
-
-/***********************************************************
- * FUNCTION: glutDestroyMenu (6.3)
- *
- * DESCRIPTION: destroy the specified menu
- ***********************************************************/
-void APIENTRY
-glutDestroyMenu(int menunum)
-{
- GlutMenu *menu = __glutGetMenuByNum(menunum);
- menuList[menunum - 1] = 0;
- if (gState.currentMenu == menu) {
- gState.currentMenu = 0;
- }
- delete menu;
-}
-
-/***********************************************************
- * FUNCTION: glutAddMenuEntry (6.4)
- *
- * DESCRIPTION: add a new menu item
- ***********************************************************/
-void
-glutAddMenuEntry(const char *label, int value)
-{
- new GlutMenuItem(gState.currentMenu, false, value, label);
-}
-
-/***********************************************************
- * FUNCTION: glutAddSubMenu (6.5)
- *
- * DESCRIPTION: add a new submenu
- ***********************************************************/
-void
-glutAddSubMenu(const char *label, int menu)
-{
- new GlutMenuItem(gState.currentMenu, true, menu-1, label);
-}
-
-/***********************************************************
- * FUNCTION: glutChangeToMenuEntry (6.6)
- *
- * DESCRIPTION: change menuitem into a menu entry
- ***********************************************************/
-void
-glutChangeToMenuEntry(int num, const char *label, int value)
-{
- GlutMenuItem *item;
- int i;
-
- i = gState.currentMenu->num;
- item = gState.currentMenu->list;
- while (item) {
- if (i == num) {
- free(item->label);
- item->label = strdup(label);
- item->isTrigger = false;
- item->value = value;
- return;
- }
- i--;
- item = item->next;
- }
- __glutWarning("Current menu has no %d item.", num);
-}
-
-/***********************************************************
- * FUNCTION: glutChangeToSubMenu (6.7)
- *
- * DESCRIPTION: change menuitem into a submenu
- ***********************************************************/
-void
-glutChangeToSubMenu(int num, const char *label, int menu)
-{
- GlutMenuItem *item;
- int i;
-
- i = gState.currentMenu->num;
- item = gState.currentMenu->list;
- while (item) {
- if (i == num) {
- free(item->label);
- item->label = strdup(label);
- item->isTrigger = true;
- item->value = menu-1;
- return;
- }
- i--;
- item = item->next;
- }
- __glutWarning("Current menu has no %d item.", num);
-}
-
-/***********************************************************
- * FUNCTION: glutRemoveMenuItem (6.8)
- *
- * DESCRIPTION: remove a menu item
- ***********************************************************/
-void
-glutRemoveMenuItem(int num)
-{
- GlutMenuItem *item, **prev;
- int i;
-
- i = gState.currentMenu->num;
- prev = &gState.currentMenu->list;
- item = gState.currentMenu->list;
-
- while (item) {
- if (i == num) {
- gState.currentMenu->num--;
-
- /* Patch up menu's item list. */
- *prev = item->next;
-
- free(item->label);
- delete item;
- return;
- }
- i--;
- prev = &item->next;
- item = item->next;
- }
- __glutWarning("Current menu has no %d item.", num);
-}
-
-/***********************************************************
- * FUNCTION: glutAttachMenu (6.9)
- * glutDetachMenu
- *
- * DESCRIPTION: attach and detach menu from view
- ***********************************************************/
-void
-glutAttachMenu(int button)
-{
- gState.currentWindow->menu[button] = gState.currentMenu->id + 1;
-}
-
-void
-glutDetachMenu(int button)
-{
- gState.currentWindow->menu[button] = 0;
-}
-
-/***********************************************************
- * CLASS: GlutMenu
- *
- * FUNCTION: CreateBMenu
- *
- * DESCRIPTION: construct a BPopupMenu for this menu
- ***********************************************************/
-BMenu *GlutMenu::CreateBMenu(bool toplevel) {
- BMenu *bpopup;
- if(toplevel) {
- bpopup = new GlutPopUp(id+1);
- } else {
- bpopup = new BMenu("");
- }
- GlutMenuItem *item = list;
- while (item) {
- GlutBMenuItem *bitem;
- if(item->isTrigger) {
- // recursively call CreateBMenu
- bitem = new GlutBMenuItem(menuList[item->value]->CreateBMenu(false));
- bitem->SetLabel(item->label);
- bitem->menu = 0; // real menu items start at 1
- bitem->value = 0;
- } else {
- bitem = new GlutBMenuItem(item->label);
- bitem->menu = id + 1;
- bitem->value = item->value;
- }
- bpopup->AddItem(bitem, 0);
- item = item->next;
- }
- return bpopup;
-}
-
-/***********************************************************
- * CLASS: GlutMenu
- *
- * FUNCTION: (destructor)
- *
- * DESCRIPTION: destroy the menu and its items (but not submenus!)
- ***********************************************************/
-GlutMenu::~GlutMenu() {
- while (list) {
- GlutMenuItem *next = list->next;
- delete list;
- list = next;
- }
-}
-
-/***********************************************************
- * CLASS: GlutMenuItem
- *
- * FUNCTION: (constructor)
- *
- * DESCRIPTION: construct the new menu item and add to parent
- ***********************************************************/
-GlutMenuItem::GlutMenuItem(GlutMenu *n_menu, bool n_trig, int n_value, const char *n_label)
-{
- menu = n_menu;
- isTrigger = n_trig;
- value = n_value;
- label = strdup(n_label);
- next = menu->list;
- menu->list = this;
- menu->num++;
-}
diff --git a/src/glut/beos/glutMenu.h b/src/glut/beos/glutMenu.h
deleted file mode 100644
index 1ee170694b..0000000000
--- a/src/glut/beos/glutMenu.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/***********************************************************
- * Copyright (C) 1997, Be Inc. Copyright (C) 1999, Jake Hamby.
- *
- * This program is freely distributable without licensing fees
- * and is provided without guarantee or warrantee expressed or
- * implied. This program is -not- in the public domain.
- *
- * FILE: glutMenu.h
- *
- * DESCRIPTION: the GlutMenu class is a simple popup menu
- ***********************************************************/
-
-/***********************************************************
- * Headers
- ***********************************************************/
-#include <GL/glut.h>
-#include <Menu.h>
-#include <MenuItem.h>
-#include <PopUpMenu.h>
-
-/***********************************************************
- * Definitions
- ***********************************************************/
-const int32 MENU_ITEM = 'menu';
-
-/***********************************************************
- * CLASS: GlutMenu
- ***********************************************************/
-class GlutMenuItem;
-class GlutPopUp;
-class GlutMenu {
-public:
- GlutMenu(int n_id, GLUTselectCB n_select) {
- id = n_id;
- select = n_select;
- list = 0;
- num = 0;
- }
- ~GlutMenu();
- BMenu *CreateBMenu(bool toplevel=true); // construct BPopUpMenu
-
- // public data
- int id;
- GLUTselectCB select; // callback function
- GlutMenuItem *list; // list of menu items
- int num; // number of items
-};
-
-/***********************************************************
- * CLASS: GlutMenuItem
- ***********************************************************/
-class GlutMenuItem {
-public:
- GlutMenuItem(GlutMenu *n_menu, bool n_trig, int n_value, const char *n_label);
-
- // public data
- GlutMenu *menu; // parent menu
- bool isTrigger; // are we a submenu?
- int value; // value to send, or submenu id if isTrigger
- char *label; // strdup'ed label string
- GlutMenuItem *next; // next menu entry on list
-};
-
-/***********************************************************
- * CLASS: GlutPopUp
- ***********************************************************/
-class GlutPopUp : public BPopUpMenu {
-public:
- GlutPopUp(int m) : BPopUpMenu(0, false, false) { menu = m;}
-
- BPoint point; // point to start menu
- GlutWindow *win; // pointer to my window
- int menu; // my menu number
-};
-
-/***********************************************************
- * CLASS: GlutBMenuItem
- ***********************************************************/
-class GlutBMenuItem : public BMenuItem {
-public:
- GlutBMenuItem(const char *name) : BMenuItem(name, 0) {}
- GlutBMenuItem(BMenu* menu) : BMenuItem(menu) {}
- int menu, value;
-};
diff --git a/src/glut/beos/glutOverlay.cpp b/src/glut/beos/glutOverlay.cpp
deleted file mode 100644
index fed757fe95..0000000000
--- a/src/glut/beos/glutOverlay.cpp
+++ /dev/null
@@ -1,47 +0,0 @@
-/***********************************************************
- * Copyright (C) 1997, Be Inc. Copyright (C) 1999, Jake Hamby.
- *
- * This program is freely distributable without licensing fees
- * and is provided without guarantee or warrantee expressed or
- * implied. This program is -not- in the public domain.
- *
- *
- * FILE: glutOverlay.cpp
- *
- * DESCRIPTION: we don't support overlays, so this code is
- * really simple
- ***********************************************************/
-
-/***********************************************************
- * Headers
- ***********************************************************/
-#include <GL/glut.h>
-#include "glutint.h"
-
-void glutEstablishOverlay() {
- __glutFatalError("BeOS lacks overlay support.");
-}
-
-void glutUseLayer(GLenum layer) {
- // ignore
-}
-
-void glutRemoveOverlay() {
- // ignore
-}
-
-void glutPostOverlayRedisplay() {
- // ignore
-}
-
-void glutShowOverlay() {
- // ignore
-}
-
-void glutHideOverlay() {
- // ignore
-}
-
-void glutPostWindowOverlayRedisplay(int win) {
- // ignore
-}
diff --git a/src/glut/beos/glutState.h b/src/glut/beos/glutState.h
deleted file mode 100644
index 9c44eb6b53..0000000000
--- a/src/glut/beos/glutState.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/***********************************************************
- * Copyright (C) 1997, Be Inc. Copyright (C) 1999, Jake Hamby.
- *
- * This program is freely distributable without licensing fees
- * and is provided without guarantee or warrantee expressed or
- * implied. This program is -not- in the public domain.
- *
- *
- * FILE: glutState.h
- *
- * DESCRIPTION: the global state for GLUT
- * (takes the place of glutint.h in the C version)
- ***********************************************************/
-
-/***********************************************************
- * Headers
- ***********************************************************/
-#include <GL/glut.h>
-#include <Application.h>
-#include "glutWindow.h"
-#include "glutMenu.h"
-
-/***********************************************************
- * CLASS: GlutState
- *
- * DESCRIPTION: all the global state variables
- ***********************************************************/
-struct GlutState {
- BApplication *display;
- thread_id appthread;
-
- int initX, initY; // initial window position
- int initWidth, initHeight; // initial window size
- unsigned int displayMode; // initial display mode
- char *displayString; // verbose display mode
-
- GlutWindow *currentWindow; // current window
- GlutMenu *currentMenu; // current menu
-
- GlutWindow **windowList; // array of pointers to windows
- int windowListSize; // size of window list
-
- GLUTidleCB idle; // idle callback
- GLUTmenuStatusCB menuStatus; // menu status callback
- int modifierKeys; // only valid during keyboard callback
-
- bool debug; // call glGetError
- bool quitAll; // quit
-
- GlutState() {
- display = 0;
- appthread = 0;
- initX = initY = -1;
- initWidth = initHeight = 300;
- displayMode = GLUT_RGB | GLUT_SINGLE | GLUT_DEPTH;
- displayString = 0;
- currentWindow = 0;
- currentMenu = 0;
- windowList = 0;
- windowListSize = 0;
- idle = 0;
- menuStatus = 0;
- modifierKeys = ~0;
- debug = quitAll = false;
- }
-};
-
-/***********************************************************
- * Global variable (declared in glutInit.cpp)
- ***********************************************************/
-extern GlutState gState;
diff --git a/src/glut/beos/glutWindow.cpp b/src/glut/beos/glutWindow.cpp
deleted file mode 100644
index 66ea2a00a8..0000000000
--- a/src/glut/beos/glutWindow.cpp
+++ /dev/null
@@ -1,633 +0,0 @@
-/***********************************************************
- * Copyright (C) 1997, Be Inc. Copyright (C) 1999, Jake Hamby.
- *
- * This program is freely distributable without licensing fees
- * and is provided without guarantee or warrantee expressed or
- * implied. This program is -not- in the public domain.
- *
- *
- * FILE: glutWindow.cpp
- *
- * DESCRIPTION: all the routines for dealing with GlutWindows
- ***********************************************************/
-
-/***********************************************************
- * Headers
- ***********************************************************/
-#include <GL/glut.h>
-#include <stdlib.h>
-#include "glutint.h"
-#include "glutState.h"
-#include "glutBlocker.h"
-
-/***********************************************************
- * FUNCTION: getUnusedWindowSlot
- *
- * DESCRIPTION: helper function to get a new window slot
- ***********************************************************/
-static int
-getUnusedWindowSlot()
-{
- int i;
-
- /* Look for allocated, unused slot. */
- for (i = 0; i < gState.windowListSize; i++) {
- if (!gState.windowList[i]) {
- return i;
- }
- }
- /* Allocate a new slot. */
- gState.windowListSize++;
- gState.windowList = (GlutWindow **)
- realloc(gState.windowList,
- gState.windowListSize * sizeof(GlutWindow *));
-
- if (!gState.windowList)
- __glutFatalError("out of memory.");
- gState.windowList[gState.windowListSize - 1] = NULL;
- return gState.windowListSize - 1;
-}
-
-/***********************************************************
- * FUNCTION: __glutDefaultDisplay
- * __glutDefaultReshape
- *
- * DESCRIPTION: default display and reshape functions
- ***********************************************************/
-static void
-__glutDefaultDisplay(void)
-{
- /* XXX Remove the warning after GLUT 3.0. */
- __glutWarning("The following is a new check for GLUT 3.0; update your code.");
- __glutFatalError(
- "redisplay needed for window %d, but no display callback.",
- gState.currentWindow->num + 1);
-}
-
-void
-__glutDefaultReshape(int width, int height)
-{
- /* Adjust the viewport of the window */
- glViewport(0, 0, (GLsizei) width, (GLsizei) height);
-}
-
-/***********************************************************
- * CLASS: GlutWindow
- *
- * FUNCTION: (constructor)
- *
- * DESCRIPTION: creates a new GLUT window
- * note: subwindows don't resize, but top-level windows
- * follow all sides
- ***********************************************************/
-GlutWindow::GlutWindow(GlutWindow *nparent, char *name,
- int x, int y, int width, int height, ulong options) :
- BGLView(
- (nparent ? BRect(x,y,x+width-1,y+height-1) :
- BRect(0,0,width-1,height-1)), name,
- (nparent ? B_FOLLOW_NONE : B_FOLLOW_ALL_SIDES),
- B_WILL_DRAW|B_FRAME_EVENTS|B_FULL_UPDATE_ON_RESIZE|B_PULSE_NEEDED,
- options)
-{
- // add myself to window list
- num = getUnusedWindowSlot();
- gState.windowList[num] = this;
-
- // set up parent/children relationships
- parent = nparent;
- if (parent) {
- siblings = parent->children;
- parent->children = this;
- } else {
- siblings = 0;
- }
- children = 0;
-
- // initialize variables
- cursor = GLUT_CURSOR_INHERIT; // default cursor
- for (int i = 0; i < GLUT_MAX_MENUS; i++) {
- menu[i] = 0;
- }
- m_width = width;
- m_height = height;
- m_buttons = 0;
-
- // clear callbacks
- display = __glutDefaultDisplay;
- reshape = __glutDefaultReshape;
- mouse = 0;
- motion = 0;
- passive = 0;
- entry = 0;
- keyboard = 0;
- visibility = 0;
- special = 0;
- windowStatus = 0;
-
- // clear event counters
- anyevents = 1;
- displayEvent = 1; // get a reshape and a display event right away
- reshapeEvent = 1;
- mouseEvent = 0;
- motionEvent = 0;
- passiveEvent = 0;
- entryEvent = 0;
- keybEvent = 0;
- windowStatusEvent = 0; // DirectConnected() will report change in
- visState = -1; // visibility
- specialEvent = 0;
- statusEvent = 0;
- menuEvent = 0;
- visible = true;
- gBlock.QuickNewEvent();
-
- // if i'm a subwindow, add me to my parent view
- if (parent) {
- parent->Window()->Lock();
- parent->AddChild(this);
- parent->Window()->Unlock();
- } else {
- // if I'm a top-level window, create my BWindow
- GlutBWindow *mybwindow = new GlutBWindow(
- BRect(x,y,x+width-1,y+height-1), name);
- mybwindow->AddChild(this);
- mybwindow->bgl = this;
- mybwindow->Show();
- }
-
- // give me the keyboard focus (focus follows mouse, X style, as
- // implemented in GlutWindow::MouseMoved())
- Window()->Lock();
- MakeFocus();
- Window()->Unlock();
-
- // make myself the default window
- __glutSetWindow(this);
-}
-
-/***********************************************************
- * FUNCTION: glutCreateWindow (4.1)
- *
- * DESCRIPTION: creates a new GLUT window
- ***********************************************************/
-int glutCreateWindow(const char *name) {
- if (!be_app)
- __glutInit();
-
- ulong options;
- if (!__glutConvertDisplayMode(&options)) {
- __glutWarning("visual with necessary capabilities not found.");
- }
-
- // if X or Y is negative, then start at a reasonable position
- bool defaultxy = (gState.initX < 0) || (gState.initY < 0);
-
- GlutWindow *window = new GlutWindow(0, const_cast<char*>(name),
- (defaultxy ? 50 : gState.initX), (defaultxy ? 50 : gState.initY),
- gState.initWidth, gState.initHeight, options);
-
- return window->num + 1;
-}
-
-/***********************************************************
- * FUNCTION: glutCreateSubWindow (4.2)
- *
- * DESCRIPTION: creates a new GLUT subwindow
- * Note: a subwindow is a GlutWindow (which is actually
- * a BGLView) without its own BWindow
- ***********************************************************/
-int glutCreateSubWindow(int win, int x, int y, int width, int height) {
- ulong options;
- if (!__glutConvertDisplayMode(&options)) {
- __glutFatalError("visual with necessary capabilities not found.");
- }
-
- GlutWindow *window = new GlutWindow(gState.windowList[win-1], "child",
- x, y, width, height, options);
-
- return window->num + 1;
-}
-
-/***********************************************************
- * FUNCTION: __glutSetWindow
- *
- * DESCRIPTION: set the current window (utility function)
- ***********************************************************/
-void
-__glutSetWindow(GlutWindow * window)
-{
- if (gState.currentWindow)
- gState.currentWindow->UnlockGL();
- gState.currentWindow = window;
- gState.currentWindow->LockGL();
-}
-
-/***********************************************************
- * FUNCTION: glutSetWindow (4.3)
- * glutGetWindow
- *
- * DESCRIPTION: set and get the current window
- ***********************************************************/
-void glutSetWindow(int win) {
- GlutWindow *window;
-
- if (win < 1 || win > gState.windowListSize) {
- __glutWarning("glutSetWindow attempted on bogus window.");
- return;
- }
- window = gState.windowList[win - 1];
- if (!window) {
- __glutWarning("glutSetWindow attempted on bogus window.");
- return;
- }
- __glutSetWindow(window);
-}
-
-int glutGetWindow() {
- if (gState.currentWindow) {
- return gState.currentWindow->num + 1;
- } else {
- return 0;
- }
-}
-
-/***********************************************************
- * FUNCTION: __glutDestroyWindow
- *
- * DESCRIPTION: recursively set entries to 0
- ***********************************************************/
-static void
-__glutDestroyWindow(GlutWindow *window, GlutWindow *initialWindow) {
- // first, find all children recursively and set their entries to 0
- GlutWindow *cur = window->children;
- while (cur) {
- GlutWindow *siblings = cur->siblings;
- __glutDestroyWindow(cur, initialWindow);
- cur = siblings;
- }
-
- /* Remove from parent's children list (only necessary for
- non-initial windows and subwindows!). */
- GlutWindow *parent = window->parent;
- if (parent && parent == initialWindow->parent) {
- GlutWindow **prev = &parent->children;
- cur = parent->children;
- while (cur) {
- if (cur == window) {
- *prev = cur->siblings;
- break;
- }
- prev = &(cur->siblings);
- cur = cur->siblings;
- }
- }
-
- // finally, check if we are the current window, and set to 0
- if (gState.currentWindow == window) {
- gState.currentWindow = 0;
- }
- gState.windowList[window->num] = 0;
-}
-
-/***********************************************************
- * FUNCTION: glutDestroyWindow (4.4)
- *
- * DESCRIPTION: destroy window and all its children
- ***********************************************************/
-void glutDestroyWindow(int win) {
- // can't destroy a window if another window has the GL context
- if (gState.currentWindow)
- gState.currentWindow->UnlockGL();
-
- // lock the window
- GlutWindow *window = gState.windowList[win-1];
- BWindow *bwindow = window->Window();
- bwindow->Lock();
-
- // if win is the current window, set current window to 0
- if (gState.currentWindow == window) {
- gState.currentWindow = 0;
- }
-
- // recursively set child entries to 0
- __glutDestroyWindow(window, window);
-
- // try flushing OpenGL
- window->LockGL();
- glFlush();
- window->UnlockGL();
-
- // now, if the window was top-level, delete its BWindow
- if(!window->parent) {
- bwindow->Quit();
- } else {
- // else, detach it from the BWindow and delete it
- window->RemoveSelf();
- delete window;
- bwindow->Unlock();
- }
- // relock GL if the current window is still valid
- if(gState.currentWindow)
- gState.currentWindow->LockGL();
-}
-
-/***********************************************************
- * FUNCTION: __glutDestroyAllWindows
- *
- * DESCRIPTION: destroy all windows when exit() is called
- * this seems to be necessary to avoid delays
- * and crashes when using BDirectWindow
- ***********************************************************/
-void __glutDestroyAllWindows() {
- for(int i=0; i<gState.windowListSize; i++) {
- if (gState.windowList[i]) {
- glutDestroyWindow(i + 1);
- }
- }
- gState.display->Lock();
- gState.display->Quit();
- status_t ignored;
- wait_for_thread(gState.appthread, &ignored);
-}
-
-/***********************************************************
- * FUNCTION: glutPostRedisplay (4.5)
- *
- * DESCRIPTION: mark window as needing redisplay
- ***********************************************************/
-void glutPostRedisplay() {
- gState.currentWindow->Window()->Lock();
- gState.currentWindow->anyevents = true;
- gState.currentWindow->displayEvent = true;
- gState.currentWindow->Window()->Unlock();
- gBlock.QuickNewEvent();
-}
-
-/***********************************************************
- * FUNCTION: glutPostWindowRedisplay
- *
- * DESCRIPTION: mark window as needing redisplay
- ***********************************************************/
-void glutPostWindowRedisplay(int win) {
- GlutWindow *gwin = gState.windowList[win - 1];
- gwin->Window()->Lock();
- gwin->anyevents = true;
- gwin->displayEvent = true;
- gwin->Window()->Unlock();
- gBlock.QuickNewEvent();
-}
-
-/***********************************************************
- * FUNCTION: glutSwapBuffers (4.6)
- *
- * DESCRIPTION: swap buffers
- ***********************************************************/
-void glutSwapBuffers() {
- gState.currentWindow->SwapBuffers();
-}
-
-/***********************************************************
- * FUNCTION: glutPositionWindow (4.7)
- *
- * DESCRIPTION: move window
- ***********************************************************/
-void glutPositionWindow(int x, int y) {
- BDirectWindow *win = dynamic_cast<BDirectWindow*>(gState.currentWindow->Window());
- win->Lock();
- if (gState.currentWindow->parent)
- gState.currentWindow->MoveTo(x, y); // move the child view
- else {
- if(win->IsFullScreen()) {
- win->SetFullScreen(false);
- }
- win->MoveTo(x, y); // move the window
- }
- win->Unlock();
-}
-
-/***********************************************************
- * FUNCTION: glutReshapeWindow (4.8)
- *
- * DESCRIPTION: reshape window (we'll catch the callback
- * when the view gets a Draw() message
- ***********************************************************/
-void glutReshapeWindow(int width, int height) {
- BDirectWindow *win = dynamic_cast<BDirectWindow*>(gState.currentWindow->Window());
- win->Lock();
- if (gState.currentWindow->parent)
- gState.currentWindow->ResizeTo(width-1, height-1); // resize the child
- else {
- if(win->IsFullScreen()) {
- win->SetFullScreen(false);
- }
- win->ResizeTo(width-1, height-1); // resize the parent
- }
- win->Unlock();
-}
-
-/***********************************************************
- * FUNCTION: glutFullScreen (4.9)
- *
- * DESCRIPTION: makes the window full screen
- ***********************************************************/
-void glutFullScreen() {
- BDirectWindow *win = dynamic_cast<BDirectWindow*>(gState.currentWindow->Window());
- win->Lock();
- win->SetFullScreen(true);
- win->Unlock();
-}
-
-/***********************************************************
- * FUNCTION: glutPopWindow (4.10)
- * glutPushWindow
- *
- * DESCRIPTION: change the stacking order of the current window
- * NOTE: I can't figure out how to do this for windows,
- * and there is no concept of "stacking order" for
- * subwindows, so these are currently no-ops.
- ***********************************************************/
-void glutPopWindow() { }
-void glutPushWindow() { }
-
-/***********************************************************
- * FUNCTION: glutShowWindow (4.11)
- * glutHideWindow
- * glutIconifyWindow
- *
- * DESCRIPTION: change display status of current window
- ***********************************************************/
-void glutShowWindow() {
- gState.currentWindow->Window()->Lock();
- if (gState.currentWindow->parent) // subwindow
- gState.currentWindow->Show();
- else {
- if(gState.currentWindow->Window()->IsHidden())
- gState.currentWindow->Window()->Show(); // show the actual BWindow
- gState.currentWindow->Window()->Minimize(false);
- }
- gState.currentWindow->Window()->Unlock();
-}
-
-void glutHideWindow() {
- gState.currentWindow->Window()->Lock();
- if (gState.currentWindow->parent) // subwindow
- gState.currentWindow->Hide();
- else
- gState.currentWindow->Window()->Hide(); // show the actual BWindow
- gState.currentWindow->Window()->Unlock();
-}
-
-void glutIconifyWindow() {
- if(gState.currentWindow->parent)
- __glutFatalError("can't iconify a subwindow");
-
- gState.currentWindow->Window()->Lock();
- gState.currentWindow->Window()->Minimize(true);
- gState.currentWindow->Window()->Unlock();
-}
-
-/***********************************************************
- * FUNCTION: glutSetWindowTitle (4.12)
- * glutSetIconTitle
- *
- * DESCRIPTION: set the window title (icon title is same)
- ***********************************************************/
-void glutSetWindowTitle(const char *name) {
- if (gState.currentWindow->parent)
- __glutFatalError("glutSetWindowTitle: isn't a top-level window");
-
- gState.currentWindow->Window()->Lock();
- gState.currentWindow->Window()->SetTitle(name);
- gState.currentWindow->Window()->Unlock();
-}
-
-void glutSetIconTitle(const char *name) {
- glutSetWindowTitle(name);
-}
-
-/***********************************************************
- * FUNCTION: __glutConvertDisplayMode
- *
- * DESCRIPTION: converts the current display mode into a BGLView
- * display mode, printing warnings as appropriate.
- *
- * PARAMETERS: if options is non-NULL, the current display mode is
- * returned in it.
- *
- * RETURNS: 1 if the current display mode is possible, else 0
- ***********************************************************/
-int __glutConvertDisplayMode(unsigned long *options) {
- if (gState.displayString) {
- /* __glutDisplayString should be NULL except if
- glutInitDisplayString has been called to register a
- different display string. Calling glutInitDisplayString
- means using a string instead of an integer mask determine
- the visual to use. This big ugly code is in glutDstr.cpp */
- return __glutConvertDisplayModeFromString(options);
- }
-
- if(options) {
- ulong newoptions = 0;
- if(gState.displayMode & GLUT_ACCUM)
- newoptions |= BGL_ACCUM;
- if(gState.displayMode & GLUT_ALPHA)
- newoptions |= BGL_ALPHA;
- if(gState.displayMode & GLUT_DEPTH)
- newoptions |= BGL_DEPTH;
- if(gState.displayMode & GLUT_DOUBLE)
- newoptions |= BGL_DOUBLE;
- if(gState.displayMode & GLUT_STENCIL)
- newoptions |= BGL_STENCIL;
- *options = newoptions;
- }
-
- if(gState.displayMode & GLUT_INDEX) {
- __glutWarning("BeOS doesn't support indexed color");
- return 0;
- }
- if(gState.displayMode & GLUT_MULTISAMPLE) {
- return 1; // try to go without multisampling
- }
- if(gState.displayMode & GLUT_STEREO) {
- __glutWarning("BeOS doesn't support stereo windows");
- return 0;
- }
- if(gState.displayMode & GLUT_LUMINANCE) {
- __glutWarning("BeOS doesn't support luminance color model");
- return 0;
- }
- return 1; // visual supported
-}
-
-/***********************************************************
- * CLASS: GlutBWindow
- *
- * DESCRIPTION: very thin wrapper around BWindow
- ***********************************************************/
-GlutBWindow::GlutBWindow(BRect frame, char *name) :
- BDirectWindow(frame, name, B_TITLED_WINDOW, 0) {
- fConnectionDisabled = false;
- bgl = 0;
- SetPulseRate(100000);
-
- if (!SupportsWindowMode()) {
- __glutFatalError("video card doesn't support windowed operation");
- }
-}
-
-void GlutBWindow::DirectConnected( direct_buffer_info *info ) {
- bgl->DirectConnected(info);
- if(bgl && !fConnectionDisabled) {
- bgl->EnableDirectMode(true);
- }
- int newVisState;
- if((info->buffer_state & B_DIRECT_MODE_MASK) == B_DIRECT_START) {
- bgl->visible = true;
- }
- if(!bgl->visible || info->buffer_state == B_DIRECT_STOP)
- newVisState = GLUT_HIDDEN;
- else {
- if (info->clip_list_count == 0)
- newVisState = GLUT_FULLY_COVERED;
- else if (info->clip_list_count == 1)
- newVisState = GLUT_FULLY_RETAINED;
- else
- newVisState = GLUT_PARTIALLY_RETAINED;
- }
- if(newVisState != bgl->visState) {
- bgl->visState = newVisState;
- bgl->anyevents = bgl->windowStatusEvent = true;
- gBlock.NewEvent();
- }
-}
-
-GlutBWindow::~GlutBWindow() {
- fConnectionDisabled = true;
- if(bgl) {
- bgl->EnableDirectMode(false);
- }
- if(!IsHidden())
- Hide();
- Sync();
-}
-
-bool GlutBWindow::QuitRequested() {
- gState.quitAll = true;
- gBlock.NewEvent();
- return false; // don't quit now, wait for main thread to do it
-}
-
-void GlutBWindow::Minimize(bool minimize) {
- bgl->visible = !minimize;
- BWindow::Minimize(minimize);
-}
-
-void GlutBWindow::Hide() {
- BWindow::Hide();
- bgl->visible = false;
-}
-
-void GlutBWindow::Show() {
- BWindow::Show();
- bgl->visible = true;
-}
diff --git a/src/glut/beos/glutWindow.h b/src/glut/beos/glutWindow.h
deleted file mode 100644
index d3ac186269..0000000000
--- a/src/glut/beos/glutWindow.h
+++ /dev/null
@@ -1,119 +0,0 @@
-/***********************************************************
- * Copyright (C) 1997, Be Inc. Copyright (C) 1999, Jake Hamby.
- *
- * This program is freely distributable without licensing fees
- * and is provided without guarantee or warrantee expressed or
- * implied. This program is -not- in the public domain.
- *
- *
- * FILE: glutWindow.h
- *
- * DESCRIPTION: the GlutWindow class saves all events for
- * handling by main thread
- ***********************************************************/
-
-/***********************************************************
- * Headers
- ***********************************************************/
-#include <GL/glut.h>
-#include <Window.h>
-#include <GLView.h>
-
-/***********************************************************
- * CLASS: GlutWindow
- *
- * INHERITS FROM: BGLView (NOT BWindow!)
- *
- * DESCRIPTION: all information needed for windows and
- * subwindows (handled as similarly as possible)
- ***********************************************************/
-class GlutWindow : public BGLView {
-public:
- GlutWindow(GlutWindow *nparent, char *name, int x, int y, int width,
- int height, ulong options);
-
- void KeyDown(const char *bytes, int32 numBytes);
- void MouseDown(BPoint point);
- void MouseMoved(BPoint point, uint32 transit, const BMessage *message);
- void FrameResized(float width, float height);
- void Draw(BRect updateRect);
- void Pulse(); // needed since MouseUp() is broken
- void MouseCheck(); // check for button state changes
- void ErrorCallback(GLenum errorCode);
-
- static long MenuThread(void *menu);
-
- int num; // window number returned to user
- int cursor; // my cursor
-#define GLUT_MAX_MENUS 3
- int menu[GLUT_MAX_MENUS]; // my popup menus
- int m_width, m_height; // the last width and height reported to GLUT
- uint32 m_buttons; // the last mouse button state
-
- /* Window relationship state. */
- GlutWindow *parent; /* parent window */
- GlutWindow *children; /* first child window */
- GlutWindow *siblings; /* next sibling */
-
- // leave out buttons and dials callbacks that we don't support
- GLUTdisplayCB display; /* redraw */
- GLUTreshapeCB reshape; /* resize (width,height) */
- GLUTmouseCB mouse; /* mouse (button,state,x,y) */
- GLUTmotionCB motion; /* motion (x,y) */
- GLUTpassiveCB passive; /* passive motion (x,y) */
- GLUTentryCB entry; /* window entry/exit (state) */
- GLUTkeyboardCB keyboard; /* keyboard (ASCII,x,y) */
- GLUTvisibilityCB visibility; /* visibility */
- GLUTspecialCB special; /* special key */
- GLUTwindowStatusCB windowStatus; /* window status */
-
- bool anyevents; // were any events received?
- bool displayEvent; // call display
- bool reshapeEvent; // call reshape
- bool mouseEvent; // call mouse
- bool motionEvent; // call motion
- bool passiveEvent; // call passive
- bool entryEvent; // call entry
- bool keybEvent; // call keyboard
- bool windowStatusEvent; // call visibility
- bool specialEvent; // call special
- bool statusEvent; // menu status changed
- bool menuEvent; // menu selected
-
- int button, mouseState; // for mouse callback
- int mouseX, mouseY; // for mouse callback
- int motionX, motionY; // for motion callback
- int passiveX, passiveY; // for passive callback
- int entryState; // for entry callback
- unsigned char key; // for keyboard callback
- int keyX, keyY; // for keyboard callback
- int visState; // for visibility callback
- int specialKey; // for special key callback
- int specialX, specialY; // for special callback
- int modifierKeys; // modifier key state
- int menuStatus; // for status callback
- int statusX, statusY; // for status callback
- int menuNumber; // for menu and status callbacks
- int menuValue; // for menu callback
- bool visible; // for visibility callback
-};
-
-/***********************************************************
- * CLASS: GlutBWindow
- *
- * INHERITS FROM: BDirectWindow
- *
- * DESCRIPTION: basically a BWindow that won't quit
- ***********************************************************/
-class GlutBWindow : public BDirectWindow {
-public:
- GlutBWindow(BRect frame, char *name);
- ~GlutBWindow();
- void DirectConnected(direct_buffer_info *info);
- bool QuitRequested(); // exits app
- void Minimize(bool minimized); // minimized windows are not visible
- void Hide();
- void Show();
- GlutWindow *bgl;
- bool fConnectionDisabled;
-};
diff --git a/src/glut/beos/glut_8x13.c b/src/glut/beos/glut_8x13.c
deleted file mode 100644
index 843c63d35a..0000000000
--- a/src/glut/beos/glut_8x13.c
+++ /dev/null
@@ -1,2073 +0,0 @@
-
-/* GENERATED FILE -- DO NOT MODIFY */
-
-#define glutBitmap8By13 XXX
-#include "glutbitmap.h"
-#undef glutBitmap8By13
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch0data[] = { 0x0 };
-static const BitmapCharRec ch0 = {1,1,0,0,8,ch0data};
-#else
-static const BitmapCharRec ch0 = {0,0,0,0,8,0};
-#endif
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch32data[] = { 0x0 };
-static const BitmapCharRec ch32 = {1,1,0,0,8,ch32data};
-#else
-static const BitmapCharRec ch32 = {0,0,0,0,8,0};
-#endif
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch127data[] = { 0x0 };
-static const BitmapCharRec ch127 = {1,1,0,0,8,ch127data};
-#else
-static const BitmapCharRec ch127 = {0,0,0,0,8,0};
-#endif
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch160data[] = { 0x0 };
-static const BitmapCharRec ch160 = {1,1,0,0,8,ch160data};
-#else
-static const BitmapCharRec ch160 = {0,0,0,0,8,0};
-#endif
-
-/* char: 0xff */
-
-static const GLubyte ch255data[] = {
-0x78,0x84,0x4,0x74,0x8c,0x84,0x84,0x84,0x0,0x0,0x48,0x48,
-};
-
-static const BitmapCharRec ch255 = {6,12,-1,2,8,ch255data};
-
-/* char: 0xfe */
-
-static const GLubyte ch254data[] = {
-0x80,0x80,0xb8,0xc4,0x84,0x84,0xc4,0xb8,0x80,0x80,
-};
-
-static const BitmapCharRec ch254 = {6,10,-1,2,8,ch254data};
-
-/* char: 0xfd */
-
-static const GLubyte ch253data[] = {
-0x78,0x84,0x4,0x74,0x8c,0x84,0x84,0x84,0x0,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch253 = {6,12,-1,2,8,ch253data};
-
-/* char: 0xfc */
-
-static const GLubyte ch252data[] = {
-0x74,0x88,0x88,0x88,0x88,0x88,0x0,0x0,0x48,0x48,
-};
-
-static const BitmapCharRec ch252 = {6,10,-1,0,8,ch252data};
-
-/* char: 0xfb */
-
-static const GLubyte ch251data[] = {
-0x74,0x88,0x88,0x88,0x88,0x88,0x0,0x0,0x48,0x30,
-};
-
-static const BitmapCharRec ch251 = {6,10,-1,0,8,ch251data};
-
-/* char: 0xfa */
-
-static const GLubyte ch250data[] = {
-0x74,0x88,0x88,0x88,0x88,0x88,0x0,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch250 = {6,10,-1,0,8,ch250data};
-
-/* char: 0xf9 */
-
-static const GLubyte ch249data[] = {
-0x74,0x88,0x88,0x88,0x88,0x88,0x0,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch249 = {6,10,-1,0,8,ch249data};
-
-/* char: 0xf8 */
-
-static const GLubyte ch248data[] = {
-0x80,0x78,0xc4,0xa4,0x94,0x8c,0x78,0x4,
-};
-
-static const BitmapCharRec ch248 = {6,8,-1,1,8,ch248data};
-
-/* char: 0xf7 */
-
-static const GLubyte ch247data[] = {
-0x20,0x20,0x0,0xf8,0x0,0x20,0x20,
-};
-
-static const BitmapCharRec ch247 = {5,7,-1,-1,8,ch247data};
-
-/* char: 0xf6 */
-
-static const GLubyte ch246data[] = {
-0x78,0x84,0x84,0x84,0x84,0x78,0x0,0x0,0x48,0x48,
-};
-
-static const BitmapCharRec ch246 = {6,10,-1,0,8,ch246data};
-
-/* char: 0xf5 */
-
-static const GLubyte ch245data[] = {
-0x78,0x84,0x84,0x84,0x84,0x78,0x0,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch245 = {6,10,-1,0,8,ch245data};
-
-/* char: 0xf4 */
-
-static const GLubyte ch244data[] = {
-0x78,0x84,0x84,0x84,0x84,0x78,0x0,0x0,0x48,0x30,
-};
-
-static const BitmapCharRec ch244 = {6,10,-1,0,8,ch244data};
-
-/* char: 0xf3 */
-
-static const GLubyte ch243data[] = {
-0x78,0x84,0x84,0x84,0x84,0x78,0x0,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch243 = {6,10,-1,0,8,ch243data};
-
-/* char: 0xf2 */
-
-static const GLubyte ch242data[] = {
-0x78,0x84,0x84,0x84,0x84,0x78,0x0,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch242 = {6,10,-1,0,8,ch242data};
-
-/* char: 0xf1 */
-
-static const GLubyte ch241data[] = {
-0x84,0x84,0x84,0x84,0xc4,0xb8,0x0,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch241 = {6,10,-1,0,8,ch241data};
-
-/* char: 0xf0 */
-
-static const GLubyte ch240data[] = {
-0x78,0x84,0x84,0x84,0x84,0x78,0x8,0x50,0x30,0x48,
-};
-
-static const BitmapCharRec ch240 = {6,10,-1,0,8,ch240data};
-
-/* char: 0xef */
-
-static const GLubyte ch239data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x60,0x0,0x0,0x50,0x50,
-};
-
-static const BitmapCharRec ch239 = {5,10,-1,0,8,ch239data};
-
-/* char: 0xee */
-
-static const GLubyte ch238data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x60,0x0,0x0,0x90,0x60,
-};
-
-static const BitmapCharRec ch238 = {5,10,-1,0,8,ch238data};
-
-/* char: 0xed */
-
-static const GLubyte ch237data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x60,0x0,0x0,0x40,0x20,
-};
-
-static const BitmapCharRec ch237 = {5,10,-1,0,8,ch237data};
-
-/* char: 0xec */
-
-static const GLubyte ch236data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x60,0x0,0x0,0x20,0x40,
-};
-
-static const BitmapCharRec ch236 = {5,10,-1,0,8,ch236data};
-
-/* char: 0xeb */
-
-static const GLubyte ch235data[] = {
-0x78,0x84,0x80,0xfc,0x84,0x78,0x0,0x0,0x48,0x48,
-};
-
-static const BitmapCharRec ch235 = {6,10,-1,0,8,ch235data};
-
-/* char: 0xea */
-
-static const GLubyte ch234data[] = {
-0x78,0x84,0x80,0xfc,0x84,0x78,0x0,0x0,0x48,0x30,
-};
-
-static const BitmapCharRec ch234 = {6,10,-1,0,8,ch234data};
-
-/* char: 0xe9 */
-
-static const GLubyte ch233data[] = {
-0x78,0x84,0x80,0xfc,0x84,0x78,0x0,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch233 = {6,10,-1,0,8,ch233data};
-
-/* char: 0xe8 */
-
-static const GLubyte ch232data[] = {
-0x78,0x84,0x80,0xfc,0x84,0x78,0x0,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch232 = {6,10,-1,0,8,ch232data};
-
-/* char: 0xe7 */
-
-static const GLubyte ch231data[] = {
-0x20,0x10,0x78,0x84,0x80,0x80,0x84,0x78,
-};
-
-static const BitmapCharRec ch231 = {6,8,-1,2,8,ch231data};
-
-/* char: 0xe6 */
-
-static const GLubyte ch230data[] = {
-0x6c,0x92,0x90,0x7c,0x12,0x6c,
-};
-
-static const BitmapCharRec ch230 = {7,6,0,0,8,ch230data};
-
-/* char: 0xe5 */
-
-static const GLubyte ch229data[] = {
-0x74,0x8c,0x84,0x7c,0x4,0x78,0x0,0x30,0x48,0x30,
-};
-
-static const BitmapCharRec ch229 = {6,10,-1,0,8,ch229data};
-
-/* char: 0xe4 */
-
-static const GLubyte ch228data[] = {
-0x74,0x8c,0x84,0x7c,0x4,0x78,0x0,0x0,0x48,0x48,
-};
-
-static const BitmapCharRec ch228 = {6,10,-1,0,8,ch228data};
-
-/* char: 0xe3 */
-
-static const GLubyte ch227data[] = {
-0x74,0x8c,0x84,0x7c,0x4,0x78,0x0,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch227 = {6,10,-1,0,8,ch227data};
-
-/* char: 0xe2 */
-
-static const GLubyte ch226data[] = {
-0x74,0x8c,0x84,0x7c,0x4,0x78,0x0,0x0,0x48,0x30,
-};
-
-static const BitmapCharRec ch226 = {6,10,-1,0,8,ch226data};
-
-/* char: 0xe1 */
-
-static const GLubyte ch225data[] = {
-0x74,0x8c,0x84,0x7c,0x4,0x78,0x0,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch225 = {6,10,-1,0,8,ch225data};
-
-/* char: 0xe0 */
-
-static const GLubyte ch224data[] = {
-0x74,0x8c,0x84,0x7c,0x4,0x78,0x0,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch224 = {6,10,-1,0,8,ch224data};
-
-/* char: 0xdf */
-
-static const GLubyte ch223data[] = {
-0x80,0xb8,0xc4,0x84,0x84,0xf8,0x84,0x84,0x78,
-};
-
-static const BitmapCharRec ch223 = {6,9,-1,1,8,ch223data};
-
-/* char: 0xde */
-
-static const GLubyte ch222data[] = {
-0x80,0x80,0x80,0xf8,0x84,0x84,0x84,0xf8,0x80,
-};
-
-static const BitmapCharRec ch222 = {6,9,-1,0,8,ch222data};
-
-/* char: 0xdd */
-
-static const GLubyte ch221data[] = {
-0x20,0x20,0x20,0x20,0x50,0x88,0x88,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch221 = {5,10,-1,0,8,ch221data};
-
-/* char: 0xdc */
-
-static const GLubyte ch220data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x48,0x48,
-};
-
-static const BitmapCharRec ch220 = {6,10,-1,0,8,ch220data};
-
-/* char: 0xdb */
-
-static const GLubyte ch219data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x48,0x30,
-};
-
-static const BitmapCharRec ch219 = {6,10,-1,0,8,ch219data};
-
-/* char: 0xda */
-
-static const GLubyte ch218data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch218 = {6,10,-1,0,8,ch218data};
-
-/* char: 0xd9 */
-
-static const GLubyte ch217data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch217 = {6,10,-1,0,8,ch217data};
-
-/* char: 0xd8 */
-
-static const GLubyte ch216data[] = {
-0x80,0x78,0xc4,0xa4,0xa4,0xa4,0x94,0x94,0x8c,0x78,0x4,
-};
-
-static const BitmapCharRec ch216 = {6,11,-1,1,8,ch216data};
-
-/* char: 0xd7 */
-
-static const GLubyte ch215data[] = {
-0x84,0x48,0x30,0x30,0x48,0x84,
-};
-
-static const BitmapCharRec ch215 = {6,6,-1,-1,8,ch215data};
-
-/* char: 0xd6 */
-
-static const GLubyte ch214data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x28,0x28,
-};
-
-static const BitmapCharRec ch214 = {7,10,0,0,8,ch214data};
-
-/* char: 0xd5 */
-
-static const GLubyte ch213data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x28,0x14,
-};
-
-static const BitmapCharRec ch213 = {7,10,0,0,8,ch213data};
-
-/* char: 0xd4 */
-
-static const GLubyte ch212data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x24,0x18,
-};
-
-static const BitmapCharRec ch212 = {7,10,0,0,8,ch212data};
-
-/* char: 0xd3 */
-
-static const GLubyte ch211data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x10,0x8,
-};
-
-static const BitmapCharRec ch211 = {7,10,0,0,8,ch211data};
-
-/* char: 0xd2 */
-
-static const GLubyte ch210data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x8,0x10,
-};
-
-static const BitmapCharRec ch210 = {7,10,0,0,8,ch210data};
-
-/* char: 0xd1 */
-
-static const GLubyte ch209data[] = {
-0x82,0x86,0x8a,0x92,0xa2,0xc2,0x82,0x0,0x28,0x14,
-};
-
-static const BitmapCharRec ch209 = {7,10,0,0,8,ch209data};
-
-/* char: 0xd0 */
-
-static const GLubyte ch208data[] = {
-0xfc,0x42,0x42,0x42,0xe2,0x42,0x42,0x42,0xfc,
-};
-
-static const BitmapCharRec ch208 = {7,9,0,0,8,ch208data};
-
-/* char: 0xcf */
-
-static const GLubyte ch207data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0xf8,0x0,0x50,0x50,
-};
-
-static const BitmapCharRec ch207 = {5,10,-1,0,8,ch207data};
-
-/* char: 0xce */
-
-static const GLubyte ch206data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0xf8,0x0,0x48,0x30,
-};
-
-static const BitmapCharRec ch206 = {5,10,-1,0,8,ch206data};
-
-/* char: 0xcd */
-
-static const GLubyte ch205data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0xf8,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch205 = {5,10,-1,0,8,ch205data};
-
-/* char: 0xcc */
-
-static const GLubyte ch204data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0xf8,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch204 = {5,10,-1,0,8,ch204data};
-
-/* char: 0xcb */
-
-static const GLubyte ch203data[] = {
-0xfc,0x80,0x80,0xf0,0x80,0x80,0xfc,0x0,0x48,0x48,
-};
-
-static const BitmapCharRec ch203 = {6,10,-1,0,8,ch203data};
-
-/* char: 0xca */
-
-static const GLubyte ch202data[] = {
-0xfc,0x80,0x80,0xf0,0x80,0x80,0xfc,0x0,0x48,0x30,
-};
-
-static const BitmapCharRec ch202 = {6,10,-1,0,8,ch202data};
-
-/* char: 0xc9 */
-
-static const GLubyte ch201data[] = {
-0xfc,0x80,0x80,0xf0,0x80,0x80,0xfc,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch201 = {6,10,-1,0,8,ch201data};
-
-/* char: 0xc8 */
-
-static const GLubyte ch200data[] = {
-0xfc,0x80,0x80,0xf0,0x80,0x80,0xfc,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch200 = {6,10,-1,0,8,ch200data};
-
-/* char: 0xc7 */
-
-static const GLubyte ch199data[] = {
-0x20,0x10,0x78,0x84,0x80,0x80,0x80,0x80,0x80,0x84,0x78,
-};
-
-static const BitmapCharRec ch199 = {6,11,-1,2,8,ch199data};
-
-/* char: 0xc6 */
-
-static const GLubyte ch198data[] = {
-0x9e,0x90,0x90,0xf0,0x9c,0x90,0x90,0x90,0x6e,
-};
-
-static const BitmapCharRec ch198 = {7,9,0,0,8,ch198data};
-
-/* char: 0xc5 */
-
-static const GLubyte ch197data[] = {
-0x84,0x84,0xfc,0x84,0x84,0x48,0x30,0x30,0x48,0x30,
-};
-
-static const BitmapCharRec ch197 = {6,10,-1,0,8,ch197data};
-
-/* char: 0xc4 */
-
-static const GLubyte ch196data[] = {
-0x84,0x84,0xfc,0x84,0x84,0x48,0x30,0x0,0x48,0x48,
-};
-
-static const BitmapCharRec ch196 = {6,10,-1,0,8,ch196data};
-
-/* char: 0xc3 */
-
-static const GLubyte ch195data[] = {
-0x84,0x84,0xfc,0x84,0x84,0x48,0x30,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch195 = {6,10,-1,0,8,ch195data};
-
-/* char: 0xc2 */
-
-static const GLubyte ch194data[] = {
-0x84,0x84,0xfc,0x84,0x84,0x48,0x30,0x0,0x48,0x30,
-};
-
-static const BitmapCharRec ch194 = {6,10,-1,0,8,ch194data};
-
-/* char: 0xc1 */
-
-static const GLubyte ch193data[] = {
-0x84,0x84,0xfc,0x84,0x84,0x48,0x30,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch193 = {6,10,-1,0,8,ch193data};
-
-/* char: 0xc0 */
-
-static const GLubyte ch192data[] = {
-0x84,0x84,0xfc,0x84,0x84,0x48,0x30,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch192 = {6,10,-1,0,8,ch192data};
-
-/* char: 0xbf */
-
-static const GLubyte ch191data[] = {
-0x78,0x84,0x84,0x80,0x40,0x20,0x20,0x0,0x20,
-};
-
-static const BitmapCharRec ch191 = {6,9,-1,0,8,ch191data};
-
-/* char: 0xbe */
-
-static const GLubyte ch190data[] = {
-0x6,0x1a,0x12,0xa,0x66,0x92,0x10,0x20,0x90,0x60,
-};
-
-static const BitmapCharRec ch190 = {7,10,0,0,8,ch190data};
-
-/* char: 0xbd */
-
-static const GLubyte ch189data[] = {
-0x1e,0x10,0xc,0x2,0xf2,0x4c,0x40,0x40,0xc0,0x40,
-};
-
-static const BitmapCharRec ch189 = {7,10,0,0,8,ch189data};
-
-/* char: 0xbc */
-
-static const GLubyte ch188data[] = {
-0x6,0x1a,0x12,0xa,0xe6,0x42,0x40,0x40,0xc0,0x40,
-};
-
-static const BitmapCharRec ch188 = {7,10,0,0,8,ch188data};
-
-/* char: 0xbb */
-
-static const GLubyte ch187data[] = {
-0x90,0x48,0x24,0x12,0x24,0x48,0x90,
-};
-
-static const BitmapCharRec ch187 = {7,7,0,-1,8,ch187data};
-
-/* char: 0xba */
-
-static const GLubyte ch186data[] = {
-0xf0,0x0,0x60,0x90,0x90,0x60,
-};
-
-static const BitmapCharRec ch186 = {4,6,-1,-3,8,ch186data};
-
-/* char: 0xb9 */
-
-static const GLubyte ch185data[] = {
-0xe0,0x40,0x40,0x40,0xc0,0x40,
-};
-
-static const BitmapCharRec ch185 = {3,6,-1,-4,8,ch185data};
-
-/* char: 0xb8 */
-
-static const GLubyte ch184data[] = {
-0xc0,0x40,
-};
-
-static const BitmapCharRec ch184 = {2,2,-3,2,8,ch184data};
-
-/* char: 0xb7 */
-
-static const GLubyte ch183data[] = {
-0xc0,
-};
-
-static const BitmapCharRec ch183 = {2,1,-3,-4,8,ch183data};
-
-/* char: 0xb6 */
-
-static const GLubyte ch182data[] = {
-0x28,0x28,0x28,0x28,0x68,0xe8,0xe8,0xe8,0x7c,
-};
-
-static const BitmapCharRec ch182 = {6,9,-1,0,8,ch182data};
-
-/* char: 0xb5 */
-
-static const GLubyte ch181data[] = {
-0x80,0xb4,0xcc,0x84,0x84,0x84,0x84,
-};
-
-static const BitmapCharRec ch181 = {6,7,-1,1,8,ch181data};
-
-/* char: 0xb4 */
-
-static const GLubyte ch180data[] = {
-0x80,0x40,
-};
-
-static const BitmapCharRec ch180 = {2,2,-3,-8,8,ch180data};
-
-/* char: 0xb3 */
-
-static const GLubyte ch179data[] = {
-0x60,0x90,0x10,0x20,0x90,0x60,
-};
-
-static const BitmapCharRec ch179 = {4,6,-1,-4,8,ch179data};
-
-/* char: 0xb2 */
-
-static const GLubyte ch178data[] = {
-0xf0,0x80,0x60,0x10,0x90,0x60,
-};
-
-static const BitmapCharRec ch178 = {4,6,-1,-4,8,ch178data};
-
-/* char: 0xb1 */
-
-static const GLubyte ch177data[] = {
-0xf8,0x0,0x20,0x20,0xf8,0x20,0x20,
-};
-
-static const BitmapCharRec ch177 = {5,7,-1,-1,8,ch177data};
-
-/* char: 0xb0 */
-
-static const GLubyte ch176data[] = {
-0x60,0x90,0x90,0x60,
-};
-
-static const BitmapCharRec ch176 = {4,4,-2,-5,8,ch176data};
-
-/* char: 0xaf */
-
-static const GLubyte ch175data[] = {
-0xfc,
-};
-
-static const BitmapCharRec ch175 = {6,1,-1,-8,8,ch175data};
-
-/* char: 0xae */
-
-static const GLubyte ch174data[] = {
-0x38,0x44,0xaa,0xb2,0xaa,0xaa,0x92,0x44,0x38,
-};
-
-static const BitmapCharRec ch174 = {7,9,0,-1,8,ch174data};
-
-/* char: 0xad */
-
-static const GLubyte ch173data[] = {
-0xfc,
-};
-
-static const BitmapCharRec ch173 = {6,1,-1,-4,8,ch173data};
-
-/* char: 0xac */
-
-static const GLubyte ch172data[] = {
-0x4,0x4,0x4,0xfc,
-};
-
-static const BitmapCharRec ch172 = {6,4,-1,-1,8,ch172data};
-
-/* char: 0xab */
-
-static const GLubyte ch171data[] = {
-0x12,0x24,0x48,0x90,0x48,0x24,0x12,
-};
-
-static const BitmapCharRec ch171 = {7,7,0,-1,8,ch171data};
-
-/* char: 0xaa */
-
-static const GLubyte ch170data[] = {
-0xf8,0x0,0x78,0x88,0x78,0x8,0x70,
-};
-
-static const BitmapCharRec ch170 = {5,7,-1,-2,8,ch170data};
-
-/* char: 0xa9 */
-
-static const GLubyte ch169data[] = {
-0x38,0x44,0x92,0xaa,0xa2,0xaa,0x92,0x44,0x38,
-};
-
-static const BitmapCharRec ch169 = {7,9,0,-1,8,ch169data};
-
-/* char: 0xa8 */
-
-static const GLubyte ch168data[] = {
-0xd8,
-};
-
-static const BitmapCharRec ch168 = {5,1,-1,-8,8,ch168data};
-
-/* char: 0xa7 */
-
-static const GLubyte ch167data[] = {
-0x60,0x90,0x10,0x60,0x90,0x90,0x60,0x80,0x90,0x60,
-};
-
-static const BitmapCharRec ch167 = {4,10,-2,0,8,ch167data};
-
-/* char: 0xa6 */
-
-static const GLubyte ch166data[] = {
-0x80,0x80,0x80,0x80,0x0,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch166 = {1,9,-3,0,8,ch166data};
-
-/* char: 0xa5 */
-
-static const GLubyte ch165data[] = {
-0x10,0x10,0x7c,0x10,0x7c,0x28,0x44,0x82,0x82,
-};
-
-static const BitmapCharRec ch165 = {7,9,0,0,8,ch165data};
-
-/* char: 0xa4 */
-
-static const GLubyte ch164data[] = {
-0x84,0x78,0x48,0x48,0x78,0x84,
-};
-
-static const BitmapCharRec ch164 = {6,6,-1,-1,8,ch164data};
-
-/* char: 0xa3 */
-
-static const GLubyte ch163data[] = {
-0xdc,0x62,0x20,0x20,0x20,0x70,0x20,0x22,0x1c,
-};
-
-static const BitmapCharRec ch163 = {7,9,0,0,8,ch163data};
-
-/* char: 0xa2 */
-
-static const GLubyte ch162data[] = {
-0x20,0x70,0xa8,0xa0,0xa0,0xa8,0x70,0x20,
-};
-
-static const BitmapCharRec ch162 = {5,8,-1,-1,8,ch162data};
-
-/* char: 0xa1 */
-
-static const GLubyte ch161data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,
-};
-
-static const BitmapCharRec ch161 = {1,9,-3,0,8,ch161data};
-
-/* char: 0x7e '~' */
-
-static const GLubyte ch126data[] = {
-0x90,0xa8,0x48,
-};
-
-static const BitmapCharRec ch126 = {5,3,-1,-6,8,ch126data};
-
-/* char: 0x7d '}' */
-
-static const GLubyte ch125data[] = {
-0xe0,0x10,0x10,0x20,0x18,0x20,0x10,0x10,0xe0,
-};
-
-static const BitmapCharRec ch125 = {5,9,-1,0,8,ch125data};
-
-/* char: 0x7c '|' */
-
-static const GLubyte ch124data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch124 = {1,9,-3,0,8,ch124data};
-
-/* char: 0x7b '{' */
-
-static const GLubyte ch123data[] = {
-0x38,0x40,0x40,0x20,0xc0,0x20,0x40,0x40,0x38,
-};
-
-static const BitmapCharRec ch123 = {5,9,-2,0,8,ch123data};
-
-/* char: 0x7a 'z' */
-
-static const GLubyte ch122data[] = {
-0xfc,0x40,0x20,0x10,0x8,0xfc,
-};
-
-static const BitmapCharRec ch122 = {6,6,-1,0,8,ch122data};
-
-/* char: 0x79 'y' */
-
-static const GLubyte ch121data[] = {
-0x78,0x84,0x4,0x74,0x8c,0x84,0x84,0x84,
-};
-
-static const BitmapCharRec ch121 = {6,8,-1,2,8,ch121data};
-
-/* char: 0x78 'x' */
-
-static const GLubyte ch120data[] = {
-0x84,0x48,0x30,0x30,0x48,0x84,
-};
-
-static const BitmapCharRec ch120 = {6,6,-1,0,8,ch120data};
-
-/* char: 0x77 'w' */
-
-static const GLubyte ch119data[] = {
-0x44,0xaa,0x92,0x92,0x82,0x82,
-};
-
-static const BitmapCharRec ch119 = {7,6,0,0,8,ch119data};
-
-/* char: 0x76 'v' */
-
-static const GLubyte ch118data[] = {
-0x20,0x50,0x50,0x88,0x88,0x88,
-};
-
-static const BitmapCharRec ch118 = {5,6,-1,0,8,ch118data};
-
-/* char: 0x75 'u' */
-
-static const GLubyte ch117data[] = {
-0x74,0x88,0x88,0x88,0x88,0x88,
-};
-
-static const BitmapCharRec ch117 = {6,6,-1,0,8,ch117data};
-
-/* char: 0x74 't' */
-
-static const GLubyte ch116data[] = {
-0x38,0x44,0x40,0x40,0x40,0xf8,0x40,0x40,
-};
-
-static const BitmapCharRec ch116 = {6,8,-1,0,8,ch116data};
-
-/* char: 0x73 's' */
-
-static const GLubyte ch115data[] = {
-0x78,0x84,0x18,0x60,0x84,0x78,
-};
-
-static const BitmapCharRec ch115 = {6,6,-1,0,8,ch115data};
-
-/* char: 0x72 'r' */
-
-static const GLubyte ch114data[] = {
-0x40,0x40,0x40,0x40,0x44,0xb8,
-};
-
-static const BitmapCharRec ch114 = {6,6,-1,0,8,ch114data};
-
-/* char: 0x71 'q' */
-
-static const GLubyte ch113data[] = {
-0x4,0x4,0x4,0x74,0x8c,0x84,0x8c,0x74,
-};
-
-static const BitmapCharRec ch113 = {6,8,-1,2,8,ch113data};
-
-/* char: 0x70 'p' */
-
-static const GLubyte ch112data[] = {
-0x80,0x80,0x80,0xb8,0xc4,0x84,0xc4,0xb8,
-};
-
-static const BitmapCharRec ch112 = {6,8,-1,2,8,ch112data};
-
-/* char: 0x6f 'o' */
-
-static const GLubyte ch111data[] = {
-0x78,0x84,0x84,0x84,0x84,0x78,
-};
-
-static const BitmapCharRec ch111 = {6,6,-1,0,8,ch111data};
-
-/* char: 0x6e 'n' */
-
-static const GLubyte ch110data[] = {
-0x84,0x84,0x84,0x84,0xc4,0xb8,
-};
-
-static const BitmapCharRec ch110 = {6,6,-1,0,8,ch110data};
-
-/* char: 0x6d 'm' */
-
-static const GLubyte ch109data[] = {
-0x82,0x92,0x92,0x92,0x92,0xec,
-};
-
-static const BitmapCharRec ch109 = {7,6,0,0,8,ch109data};
-
-/* char: 0x6c 'l' */
-
-static const GLubyte ch108data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x60,
-};
-
-static const BitmapCharRec ch108 = {5,9,-1,0,8,ch108data};
-
-/* char: 0x6b 'k' */
-
-static const GLubyte ch107data[] = {
-0x84,0x88,0x90,0xe0,0x90,0x88,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch107 = {6,9,-1,0,8,ch107data};
-
-/* char: 0x6a 'j' */
-
-static const GLubyte ch106data[] = {
-0x70,0x88,0x88,0x8,0x8,0x8,0x8,0x18,0x0,0x8,
-};
-
-static const BitmapCharRec ch106 = {5,10,-1,2,8,ch106data};
-
-/* char: 0x69 'i' */
-
-static const GLubyte ch105data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x60,0x0,0x20,
-};
-
-static const BitmapCharRec ch105 = {5,8,-1,0,8,ch105data};
-
-/* char: 0x68 'h' */
-
-static const GLubyte ch104data[] = {
-0x84,0x84,0x84,0x84,0xc4,0xb8,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch104 = {6,9,-1,0,8,ch104data};
-
-/* char: 0x67 'g' */
-
-static const GLubyte ch103data[] = {
-0x78,0x84,0x78,0x80,0x70,0x88,0x88,0x74,
-};
-
-static const BitmapCharRec ch103 = {6,8,-1,2,8,ch103data};
-
-/* char: 0x66 'f' */
-
-static const GLubyte ch102data[] = {
-0x40,0x40,0x40,0x40,0xf8,0x40,0x40,0x44,0x38,
-};
-
-static const BitmapCharRec ch102 = {6,9,-1,0,8,ch102data};
-
-/* char: 0x65 'e' */
-
-static const GLubyte ch101data[] = {
-0x78,0x84,0x80,0xfc,0x84,0x78,
-};
-
-static const BitmapCharRec ch101 = {6,6,-1,0,8,ch101data};
-
-/* char: 0x64 'd' */
-
-static const GLubyte ch100data[] = {
-0x74,0x8c,0x84,0x84,0x8c,0x74,0x4,0x4,0x4,
-};
-
-static const BitmapCharRec ch100 = {6,9,-1,0,8,ch100data};
-
-/* char: 0x63 'c' */
-
-static const GLubyte ch99data[] = {
-0x78,0x84,0x80,0x80,0x84,0x78,
-};
-
-static const BitmapCharRec ch99 = {6,6,-1,0,8,ch99data};
-
-/* char: 0x62 'b' */
-
-static const GLubyte ch98data[] = {
-0xb8,0xc4,0x84,0x84,0xc4,0xb8,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch98 = {6,9,-1,0,8,ch98data};
-
-/* char: 0x61 'a' */
-
-static const GLubyte ch97data[] = {
-0x74,0x8c,0x84,0x7c,0x4,0x78,
-};
-
-static const BitmapCharRec ch97 = {6,6,-1,0,8,ch97data};
-
-/* char: 0x60 '`' */
-
-static const GLubyte ch96data[] = {
-0x10,0x60,0xe0,
-};
-
-static const BitmapCharRec ch96 = {4,3,-2,-6,8,ch96data};
-
-/* char: 0x5f '_' */
-
-static const GLubyte ch95data[] = {
-0xfe,
-};
-
-static const BitmapCharRec ch95 = {7,1,0,1,8,ch95data};
-
-/* char: 0x5e '^' */
-
-static const GLubyte ch94data[] = {
-0x88,0x50,0x20,
-};
-
-static const BitmapCharRec ch94 = {5,3,-1,-6,8,ch94data};
-
-/* char: 0x5d ']' */
-
-static const GLubyte ch93data[] = {
-0xf0,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0xf0,
-};
-
-static const BitmapCharRec ch93 = {4,9,-1,0,8,ch93data};
-
-/* char: 0x5c '\' */
-
-static const GLubyte ch92data[] = {
-0x2,0x2,0x4,0x8,0x10,0x20,0x40,0x80,0x80,
-};
-
-static const BitmapCharRec ch92 = {7,9,0,0,8,ch92data};
-
-/* char: 0x5b '[' */
-
-static const GLubyte ch91data[] = {
-0xf0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xf0,
-};
-
-static const BitmapCharRec ch91 = {4,9,-2,0,8,ch91data};
-
-/* char: 0x5a 'Z' */
-
-static const GLubyte ch90data[] = {
-0xfc,0x80,0x80,0x40,0x20,0x10,0x8,0x4,0xfc,
-};
-
-static const BitmapCharRec ch90 = {6,9,-1,0,8,ch90data};
-
-/* char: 0x59 'Y' */
-
-static const GLubyte ch89data[] = {
-0x10,0x10,0x10,0x10,0x10,0x28,0x44,0x82,0x82,
-};
-
-static const BitmapCharRec ch89 = {7,9,0,0,8,ch89data};
-
-/* char: 0x58 'X' */
-
-static const GLubyte ch88data[] = {
-0x82,0x82,0x44,0x28,0x10,0x28,0x44,0x82,0x82,
-};
-
-static const BitmapCharRec ch88 = {7,9,0,0,8,ch88data};
-
-/* char: 0x57 'W' */
-
-static const GLubyte ch87data[] = {
-0x44,0xaa,0x92,0x92,0x92,0x82,0x82,0x82,0x82,
-};
-
-static const BitmapCharRec ch87 = {7,9,0,0,8,ch87data};
-
-/* char: 0x56 'V' */
-
-static const GLubyte ch86data[] = {
-0x10,0x28,0x28,0x28,0x44,0x44,0x44,0x82,0x82,
-};
-
-static const BitmapCharRec ch86 = {7,9,0,0,8,ch86data};
-
-/* char: 0x55 'U' */
-
-static const GLubyte ch85data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
-};
-
-static const BitmapCharRec ch85 = {6,9,-1,0,8,ch85data};
-
-/* char: 0x54 'T' */
-
-static const GLubyte ch84data[] = {
-0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0xfe,
-};
-
-static const BitmapCharRec ch84 = {7,9,0,0,8,ch84data};
-
-/* char: 0x53 'S' */
-
-static const GLubyte ch83data[] = {
-0x78,0x84,0x4,0x4,0x78,0x80,0x80,0x84,0x78,
-};
-
-static const BitmapCharRec ch83 = {6,9,-1,0,8,ch83data};
-
-/* char: 0x52 'R' */
-
-static const GLubyte ch82data[] = {
-0x84,0x88,0x90,0xa0,0xf8,0x84,0x84,0x84,0xf8,
-};
-
-static const BitmapCharRec ch82 = {6,9,-1,0,8,ch82data};
-
-/* char: 0x51 'Q' */
-
-static const GLubyte ch81data[] = {
-0x4,0x78,0x94,0xa4,0x84,0x84,0x84,0x84,0x84,0x78,
-};
-
-static const BitmapCharRec ch81 = {6,10,-1,1,8,ch81data};
-
-/* char: 0x50 'P' */
-
-static const GLubyte ch80data[] = {
-0x80,0x80,0x80,0x80,0xf8,0x84,0x84,0x84,0xf8,
-};
-
-static const BitmapCharRec ch80 = {6,9,-1,0,8,ch80data};
-
-/* char: 0x4f 'O' */
-
-static const GLubyte ch79data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x78,
-};
-
-static const BitmapCharRec ch79 = {6,9,-1,0,8,ch79data};
-
-/* char: 0x4e 'N' */
-
-static const GLubyte ch78data[] = {
-0x84,0x84,0x84,0x8c,0x94,0xa4,0xc4,0x84,0x84,
-};
-
-static const BitmapCharRec ch78 = {6,9,-1,0,8,ch78data};
-
-/* char: 0x4d 'M' */
-
-static const GLubyte ch77data[] = {
-0x82,0x82,0x82,0x92,0x92,0xaa,0xc6,0x82,0x82,
-};
-
-static const BitmapCharRec ch77 = {7,9,0,0,8,ch77data};
-
-/* char: 0x4c 'L' */
-
-static const GLubyte ch76data[] = {
-0xfc,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch76 = {6,9,-1,0,8,ch76data};
-
-/* char: 0x4b 'K' */
-
-static const GLubyte ch75data[] = {
-0x84,0x88,0x90,0xa0,0xc0,0xa0,0x90,0x88,0x84,
-};
-
-static const BitmapCharRec ch75 = {6,9,-1,0,8,ch75data};
-
-/* char: 0x4a 'J' */
-
-static const GLubyte ch74data[] = {
-0x70,0x88,0x8,0x8,0x8,0x8,0x8,0x8,0x3c,
-};
-
-static const BitmapCharRec ch74 = {6,9,-1,0,8,ch74data};
-
-/* char: 0x49 'I' */
-
-static const GLubyte ch73data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xf8,
-};
-
-static const BitmapCharRec ch73 = {5,9,-1,0,8,ch73data};
-
-/* char: 0x48 'H' */
-
-static const GLubyte ch72data[] = {
-0x84,0x84,0x84,0x84,0xfc,0x84,0x84,0x84,0x84,
-};
-
-static const BitmapCharRec ch72 = {6,9,-1,0,8,ch72data};
-
-/* char: 0x47 'G' */
-
-static const GLubyte ch71data[] = {
-0x74,0x8c,0x84,0x9c,0x80,0x80,0x80,0x84,0x78,
-};
-
-static const BitmapCharRec ch71 = {6,9,-1,0,8,ch71data};
-
-/* char: 0x46 'F' */
-
-static const GLubyte ch70data[] = {
-0x80,0x80,0x80,0x80,0xf0,0x80,0x80,0x80,0xfc,
-};
-
-static const BitmapCharRec ch70 = {6,9,-1,0,8,ch70data};
-
-/* char: 0x45 'E' */
-
-static const GLubyte ch69data[] = {
-0xfc,0x80,0x80,0x80,0xf0,0x80,0x80,0x80,0xfc,
-};
-
-static const BitmapCharRec ch69 = {6,9,-1,0,8,ch69data};
-
-/* char: 0x44 'D' */
-
-static const GLubyte ch68data[] = {
-0xfc,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0xfc,
-};
-
-static const BitmapCharRec ch68 = {7,9,0,0,8,ch68data};
-
-/* char: 0x43 'C' */
-
-static const GLubyte ch67data[] = {
-0x78,0x84,0x80,0x80,0x80,0x80,0x80,0x84,0x78,
-};
-
-static const BitmapCharRec ch67 = {6,9,-1,0,8,ch67data};
-
-/* char: 0x42 'B' */
-
-static const GLubyte ch66data[] = {
-0xfc,0x42,0x42,0x42,0x7c,0x42,0x42,0x42,0xfc,
-};
-
-static const BitmapCharRec ch66 = {7,9,0,0,8,ch66data};
-
-/* char: 0x41 'A' */
-
-static const GLubyte ch65data[] = {
-0x84,0x84,0x84,0xfc,0x84,0x84,0x84,0x48,0x30,
-};
-
-static const BitmapCharRec ch65 = {6,9,-1,0,8,ch65data};
-
-/* char: 0x40 '@' */
-
-static const GLubyte ch64data[] = {
-0x78,0x80,0x94,0xac,0xa4,0x9c,0x84,0x84,0x78,
-};
-
-static const BitmapCharRec ch64 = {6,9,-1,0,8,ch64data};
-
-/* char: 0x3f '?' */
-
-static const GLubyte ch63data[] = {
-0x10,0x0,0x10,0x10,0x8,0x4,0x84,0x84,0x78,
-};
-
-static const BitmapCharRec ch63 = {6,9,-1,0,8,ch63data};
-
-/* char: 0x3e '>' */
-
-static const GLubyte ch62data[] = {
-0x80,0x40,0x20,0x10,0x8,0x10,0x20,0x40,0x80,
-};
-
-static const BitmapCharRec ch62 = {5,9,-1,0,8,ch62data};
-
-/* char: 0x3d '=' */
-
-static const GLubyte ch61data[] = {
-0xfc,0x0,0x0,0xfc,
-};
-
-static const BitmapCharRec ch61 = {6,4,-1,-2,8,ch61data};
-
-/* char: 0x3c '<' */
-
-static const GLubyte ch60data[] = {
-0x8,0x10,0x20,0x40,0x80,0x40,0x20,0x10,0x8,
-};
-
-static const BitmapCharRec ch60 = {5,9,-2,0,8,ch60data};
-
-/* char: 0x3b ';' */
-
-static const GLubyte ch59data[] = {
-0x80,0x60,0x70,0x0,0x0,0x20,0x70,0x20,
-};
-
-static const BitmapCharRec ch59 = {4,8,-1,1,8,ch59data};
-
-/* char: 0x3a ':' */
-
-static const GLubyte ch58data[] = {
-0x40,0xe0,0x40,0x0,0x0,0x40,0xe0,0x40,
-};
-
-static const BitmapCharRec ch58 = {3,8,-2,1,8,ch58data};
-
-/* char: 0x39 '9' */
-
-static const GLubyte ch57data[] = {
-0x70,0x8,0x4,0x4,0x74,0x8c,0x84,0x84,0x78,
-};
-
-static const BitmapCharRec ch57 = {6,9,-1,0,8,ch57data};
-
-/* char: 0x38 '8' */
-
-static const GLubyte ch56data[] = {
-0x78,0x84,0x84,0x84,0x78,0x84,0x84,0x84,0x78,
-};
-
-static const BitmapCharRec ch56 = {6,9,-1,0,8,ch56data};
-
-/* char: 0x37 '7' */
-
-static const GLubyte ch55data[] = {
-0x40,0x40,0x20,0x20,0x10,0x10,0x8,0x4,0xfc,
-};
-
-static const BitmapCharRec ch55 = {6,9,-1,0,8,ch55data};
-
-/* char: 0x36 '6' */
-
-static const GLubyte ch54data[] = {
-0x78,0x84,0x84,0xc4,0xb8,0x80,0x80,0x40,0x38,
-};
-
-static const BitmapCharRec ch54 = {6,9,-1,0,8,ch54data};
-
-/* char: 0x35 '5' */
-
-static const GLubyte ch53data[] = {
-0x78,0x84,0x4,0x4,0xc4,0xb8,0x80,0x80,0xfc,
-};
-
-static const BitmapCharRec ch53 = {6,9,-1,0,8,ch53data};
-
-/* char: 0x34 '4' */
-
-static const GLubyte ch52data[] = {
-0x8,0x8,0xfc,0x88,0x88,0x48,0x28,0x18,0x8,
-};
-
-static const BitmapCharRec ch52 = {6,9,-1,0,8,ch52data};
-
-/* char: 0x33 '3' */
-
-static const GLubyte ch51data[] = {
-0x78,0x84,0x4,0x4,0x38,0x10,0x8,0x4,0xfc,
-};
-
-static const BitmapCharRec ch51 = {6,9,-1,0,8,ch51data};
-
-/* char: 0x32 '2' */
-
-static const GLubyte ch50data[] = {
-0xfc,0x80,0x40,0x30,0x8,0x4,0x84,0x84,0x78,
-};
-
-static const BitmapCharRec ch50 = {6,9,-1,0,8,ch50data};
-
-/* char: 0x31 '1' */
-
-static const GLubyte ch49data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0xa0,0x60,0x20,
-};
-
-static const BitmapCharRec ch49 = {5,9,-1,0,8,ch49data};
-
-/* char: 0x30 '0' */
-
-static const GLubyte ch48data[] = {
-0x30,0x48,0x84,0x84,0x84,0x84,0x84,0x48,0x30,
-};
-
-static const BitmapCharRec ch48 = {6,9,-1,0,8,ch48data};
-
-/* char: 0x2f '/' */
-
-static const GLubyte ch47data[] = {
-0x80,0x80,0x40,0x20,0x10,0x8,0x4,0x2,0x2,
-};
-
-static const BitmapCharRec ch47 = {7,9,0,0,8,ch47data};
-
-/* char: 0x2e '.' */
-
-static const GLubyte ch46data[] = {
-0x40,0xe0,0x40,
-};
-
-static const BitmapCharRec ch46 = {3,3,-2,1,8,ch46data};
-
-/* char: 0x2d '-' */
-
-static const GLubyte ch45data[] = {
-0xfc,
-};
-
-static const BitmapCharRec ch45 = {6,1,-1,-4,8,ch45data};
-
-/* char: 0x2c ',' */
-
-static const GLubyte ch44data[] = {
-0x80,0x60,0x70,
-};
-
-static const BitmapCharRec ch44 = {4,3,-1,1,8,ch44data};
-
-/* char: 0x2b '+' */
-
-static const GLubyte ch43data[] = {
-0x20,0x20,0xf8,0x20,0x20,
-};
-
-static const BitmapCharRec ch43 = {5,5,-1,-2,8,ch43data};
-
-/* char: 0x2a '*' */
-
-static const GLubyte ch42data[] = {
-0x48,0x30,0xfc,0x30,0x48,
-};
-
-static const BitmapCharRec ch42 = {6,5,-1,-2,8,ch42data};
-
-/* char: 0x29 ')' */
-
-static const GLubyte ch41data[] = {
-0x80,0x40,0x40,0x20,0x20,0x20,0x40,0x40,0x80,
-};
-
-static const BitmapCharRec ch41 = {3,9,-2,0,8,ch41data};
-
-/* char: 0x28 '(' */
-
-static const GLubyte ch40data[] = {
-0x20,0x40,0x40,0x80,0x80,0x80,0x40,0x40,0x20,
-};
-
-static const BitmapCharRec ch40 = {3,9,-3,0,8,ch40data};
-
-/* char: 0x27 ''' */
-
-static const GLubyte ch39data[] = {
-0x80,0x60,0x70,
-};
-
-static const BitmapCharRec ch39 = {4,3,-1,-6,8,ch39data};
-
-/* char: 0x26 '&' */
-
-static const GLubyte ch38data[] = {
-0x74,0x88,0x94,0x60,0x90,0x90,0x60,
-};
-
-static const BitmapCharRec ch38 = {6,7,-1,0,8,ch38data};
-
-/* char: 0x25 '%' */
-
-static const GLubyte ch37data[] = {
-0x88,0x54,0x48,0x20,0x10,0x10,0x48,0xa4,0x44,
-};
-
-static const BitmapCharRec ch37 = {6,9,-1,0,8,ch37data};
-
-/* char: 0x24 '$' */
-
-static const GLubyte ch36data[] = {
-0x20,0xf0,0x28,0x70,0xa0,0x78,0x20,
-};
-
-static const BitmapCharRec ch36 = {5,7,-1,-1,8,ch36data};
-
-/* char: 0x23 '#' */
-
-static const GLubyte ch35data[] = {
-0x48,0x48,0xfc,0x48,0xfc,0x48,0x48,
-};
-
-static const BitmapCharRec ch35 = {6,7,-1,-1,8,ch35data};
-
-/* char: 0x22 '"' */
-
-static const GLubyte ch34data[] = {
-0x90,0x90,0x90,
-};
-
-static const BitmapCharRec ch34 = {4,3,-2,-6,8,ch34data};
-
-/* char: 0x21 '!' */
-
-static const GLubyte ch33data[] = {
-0x80,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch33 = {1,9,-3,0,8,ch33data};
-
-/* char: 0x1f */
-
-static const GLubyte ch31data[] = {
-0x80,
-};
-
-static const BitmapCharRec ch31 = {1,1,-3,-3,8,ch31data};
-
-/* char: 0x1e */
-
-static const GLubyte ch30data[] = {
-0xdc,0x62,0x20,0x20,0x20,0x70,0x20,0x22,0x1c,
-};
-
-static const BitmapCharRec ch30 = {7,9,0,0,8,ch30data};
-
-/* char: 0x1d */
-
-static const GLubyte ch29data[] = {
-0x80,0x40,0xfe,0x10,0xfe,0x4,0x2,
-};
-
-static const BitmapCharRec ch29 = {7,7,0,0,8,ch29data};
-
-/* char: 0x1c */
-
-static const GLubyte ch28data[] = {
-0x88,0x48,0x48,0x48,0x48,0xfc,
-};
-
-static const BitmapCharRec ch28 = {6,6,-1,0,8,ch28data};
-
-/* char: 0x1b */
-
-static const GLubyte ch27data[] = {
-0xfe,0x80,0x20,0x8,0x2,0x8,0x20,0x80,
-};
-
-static const BitmapCharRec ch27 = {7,8,0,0,8,ch27data};
-
-/* char: 0x1a */
-
-static const GLubyte ch26data[] = {
-0xfe,0x2,0x8,0x20,0x80,0x20,0x8,0x2,
-};
-
-static const BitmapCharRec ch26 = {7,8,0,0,8,ch26data};
-
-/* char: 0x19 */
-
-static const GLubyte ch25data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch25 = {1,13,-3,2,8,ch25data};
-
-/* char: 0x18 */
-
-static const GLubyte ch24data[] = {
-0x10,0x10,0x10,0x10,0x10,0xff,
-};
-
-static const BitmapCharRec ch24 = {8,6,0,2,8,ch24data};
-
-/* char: 0x17 */
-
-static const GLubyte ch23data[] = {
-0xff,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
-};
-
-static const BitmapCharRec ch23 = {8,8,0,-3,8,ch23data};
-
-/* char: 0x16 */
-
-static const GLubyte ch22data[] = {
-0x10,0x10,0x10,0x10,0x10,0xf0,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
-};
-
-static const BitmapCharRec ch22 = {4,13,0,2,8,ch22data};
-
-/* char: 0x15 */
-
-static const GLubyte ch21data[] = {
-0x80,0x80,0x80,0x80,0x80,0xf8,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch21 = {5,13,-3,2,8,ch21data};
-
-/* char: 0x14 */
-
-static const GLubyte ch20data[] = {
-0xff,
-};
-
-static const BitmapCharRec ch20 = {8,1,0,1,8,ch20data};
-
-/* char: 0x13 */
-
-static const GLubyte ch19data[] = {
-0xff,
-};
-
-static const BitmapCharRec ch19 = {8,1,0,-1,8,ch19data};
-
-/* char: 0x12 */
-
-static const GLubyte ch18data[] = {
-0xff,
-};
-
-static const BitmapCharRec ch18 = {8,1,0,-3,8,ch18data};
-
-/* char: 0x11 */
-
-static const GLubyte ch17data[] = {
-0xff,
-};
-
-static const BitmapCharRec ch17 = {8,1,0,-5,8,ch17data};
-
-/* char: 0x10 */
-
-static const GLubyte ch16data[] = {
-0xff,
-};
-
-static const BitmapCharRec ch16 = {8,1,0,-7,8,ch16data};
-
-/* char: 0xf */
-
-static const GLubyte ch15data[] = {
-0x10,0x10,0x10,0x10,0x10,0xff,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
-};
-
-static const BitmapCharRec ch15 = {8,13,0,2,8,ch15data};
-
-/* char: 0xe */
-
-static const GLubyte ch14data[] = {
-0xf8,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch14 = {5,8,-3,-3,8,ch14data};
-
-/* char: 0xd */
-
-static const GLubyte ch13data[] = {
-0x80,0x80,0x80,0x80,0x80,0xf8,
-};
-
-static const BitmapCharRec ch13 = {5,6,-3,2,8,ch13data};
-
-/* char: 0xc */
-
-static const GLubyte ch12data[] = {
-0x10,0x10,0x10,0x10,0x10,0xf0,
-};
-
-static const BitmapCharRec ch12 = {4,6,0,2,8,ch12data};
-
-/* char: 0xb */
-
-static const GLubyte ch11data[] = {
-0xf0,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
-};
-
-static const BitmapCharRec ch11 = {4,8,0,-3,8,ch11data};
-
-/* char: 0xa */
-
-static const GLubyte ch10data[] = {
-0x8,0x8,0x8,0x8,0x3e,0x20,0x50,0x88,0x88,
-};
-
-static const BitmapCharRec ch10 = {7,9,0,2,8,ch10data};
-
-/* char: 0x9 */
-
-static const GLubyte ch9data[] = {
-0x3e,0x20,0x20,0x20,0x88,0x98,0xa8,0xc8,0x88,
-};
-
-static const BitmapCharRec ch9 = {7,9,0,2,8,ch9data};
-
-/* char: 0x8 */
-
-static const GLubyte ch8data[] = {
-0xfe,0x10,0x10,0xfe,0x10,0x10,
-};
-
-static const BitmapCharRec ch8 = {7,6,0,0,8,ch8data};
-
-/* char: 0x7 */
-
-static const GLubyte ch7data[] = {
-0x70,0x88,0x88,0x70,
-};
-
-static const BitmapCharRec ch7 = {5,4,-1,-5,8,ch7data};
-
-/* char: 0x6 */
-
-static const GLubyte ch6data[] = {
-0x20,0x20,0x3c,0x20,0x3e,0xf8,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch6 = {7,9,0,2,8,ch6data};
-
-/* char: 0x5 */
-
-static const GLubyte ch5data[] = {
-0x22,0x22,0x3c,0x22,0x3c,0x78,0x80,0x80,0x78,
-};
-
-static const BitmapCharRec ch5 = {7,9,0,2,8,ch5data};
-
-/* char: 0x4 */
-
-static const GLubyte ch4data[] = {
-0x10,0x10,0x1c,0x10,0x9e,0x80,0xe0,0x80,0xf0,
-};
-
-static const BitmapCharRec ch4 = {7,9,0,2,8,ch4data};
-
-/* char: 0x3 */
-
-static const GLubyte ch3data[] = {
-0x8,0x8,0x8,0x3e,0x88,0x88,0xf8,0x88,0x88,
-};
-
-static const BitmapCharRec ch3 = {7,9,0,2,8,ch3data};
-
-/* char: 0x2 */
-
-static const GLubyte ch2data[] = {
-0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,
-};
-
-static const BitmapCharRec ch2 = {8,12,0,2,8,ch2data};
-
-/* char: 0x1 */
-
-static const GLubyte ch1data[] = {
-0x10,0x38,0x7c,0xfe,0x7c,0x38,0x10,
-};
-
-static const BitmapCharRec ch1 = {7,7,0,-1,8,ch1data};
-
-static const BitmapCharRec * const chars[] = {
-&ch0,
-&ch1,
-&ch2,
-&ch3,
-&ch4,
-&ch5,
-&ch6,
-&ch7,
-&ch8,
-&ch9,
-&ch10,
-&ch11,
-&ch12,
-&ch13,
-&ch14,
-&ch15,
-&ch16,
-&ch17,
-&ch18,
-&ch19,
-&ch20,
-&ch21,
-&ch22,
-&ch23,
-&ch24,
-&ch25,
-&ch26,
-&ch27,
-&ch28,
-&ch29,
-&ch30,
-&ch31,
-&ch32,
-&ch33,
-&ch34,
-&ch35,
-&ch36,
-&ch37,
-&ch38,
-&ch39,
-&ch40,
-&ch41,
-&ch42,
-&ch43,
-&ch44,
-&ch45,
-&ch46,
-&ch47,
-&ch48,
-&ch49,
-&ch50,
-&ch51,
-&ch52,
-&ch53,
-&ch54,
-&ch55,
-&ch56,
-&ch57,
-&ch58,
-&ch59,
-&ch60,
-&ch61,
-&ch62,
-&ch63,
-&ch64,
-&ch65,
-&ch66,
-&ch67,
-&ch68,
-&ch69,
-&ch70,
-&ch71,
-&ch72,
-&ch73,
-&ch74,
-&ch75,
-&ch76,
-&ch77,
-&ch78,
-&ch79,
-&ch80,
-&ch81,
-&ch82,
-&ch83,
-&ch84,
-&ch85,
-&ch86,
-&ch87,
-&ch88,
-&ch89,
-&ch90,
-&ch91,
-&ch92,
-&ch93,
-&ch94,
-&ch95,
-&ch96,
-&ch97,
-&ch98,
-&ch99,
-&ch100,
-&ch101,
-&ch102,
-&ch103,
-&ch104,
-&ch105,
-&ch106,
-&ch107,
-&ch108,
-&ch109,
-&ch110,
-&ch111,
-&ch112,
-&ch113,
-&ch114,
-&ch115,
-&ch116,
-&ch117,
-&ch118,
-&ch119,
-&ch120,
-&ch121,
-&ch122,
-&ch123,
-&ch124,
-&ch125,
-&ch126,
-&ch127,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-&ch160,
-&ch161,
-&ch162,
-&ch163,
-&ch164,
-&ch165,
-&ch166,
-&ch167,
-&ch168,
-&ch169,
-&ch170,
-&ch171,
-&ch172,
-&ch173,
-&ch174,
-&ch175,
-&ch176,
-&ch177,
-&ch178,
-&ch179,
-&ch180,
-&ch181,
-&ch182,
-&ch183,
-&ch184,
-&ch185,
-&ch186,
-&ch187,
-&ch188,
-&ch189,
-&ch190,
-&ch191,
-&ch192,
-&ch193,
-&ch194,
-&ch195,
-&ch196,
-&ch197,
-&ch198,
-&ch199,
-&ch200,
-&ch201,
-&ch202,
-&ch203,
-&ch204,
-&ch205,
-&ch206,
-&ch207,
-&ch208,
-&ch209,
-&ch210,
-&ch211,
-&ch212,
-&ch213,
-&ch214,
-&ch215,
-&ch216,
-&ch217,
-&ch218,
-&ch219,
-&ch220,
-&ch221,
-&ch222,
-&ch223,
-&ch224,
-&ch225,
-&ch226,
-&ch227,
-&ch228,
-&ch229,
-&ch230,
-&ch231,
-&ch232,
-&ch233,
-&ch234,
-&ch235,
-&ch236,
-&ch237,
-&ch238,
-&ch239,
-&ch240,
-&ch241,
-&ch242,
-&ch243,
-&ch244,
-&ch245,
-&ch246,
-&ch247,
-&ch248,
-&ch249,
-&ch250,
-&ch251,
-&ch252,
-&ch253,
-&ch254,
-&ch255,
-};
-
-const BitmapFontRec glutBitmap8By13 = {
-"-misc-fixed-medium-r-normal--13-120-75-75-C-80-iso8859-1",
-256,
-0,
-chars
-};
-
diff --git a/src/glut/beos/glut_9x15.c b/src/glut/beos/glut_9x15.c
deleted file mode 100644
index 2d5c004e47..0000000000
--- a/src/glut/beos/glut_9x15.c
+++ /dev/null
@@ -1,2075 +0,0 @@
-
-/* GENERATED FILE -- DO NOT MODIFY */
-
-#define glutBitmap9By15 XXX
-#include "glutbitmap.h"
-#undef glutBitmap9By15
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch0data[] = { 0x0 };
-static const BitmapCharRec ch0 = {1,1,0,0,9,ch0data};
-#else
-static const BitmapCharRec ch0 = {0,0,0,0,9,0};
-#endif
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch32data[] = { 0x0 };
-static const BitmapCharRec ch32 = {1,1,0,0,9,ch32data};
-#else
-static const BitmapCharRec ch32 = {0,0,0,0,9,0};
-#endif
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch127data[] = { 0x0 };
-static const BitmapCharRec ch127 = {1,1,0,0,9,ch127data};
-#else
-static const BitmapCharRec ch127 = {0,0,0,0,9,0};
-#endif
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch160data[] = { 0x0 };
-static const BitmapCharRec ch160 = {1,1,0,0,9,ch160data};
-#else
-static const BitmapCharRec ch160 = {0,0,0,0,9,0};
-#endif
-
-/* char: 0xff */
-
-static const GLubyte ch255data[] = {
-0x78,0x84,0x4,0x74,0x8c,0x84,0x84,0x84,0x84,0x84,0x0,0x0,0x28,0x28,
-};
-
-static const BitmapCharRec ch255 = {6,14,-1,3,9,ch255data};
-
-/* char: 0xfe */
-
-static const GLubyte ch254data[] = {
-0x80,0x80,0x80,0xbc,0xc2,0x82,0x82,0x82,0xc2,0xbc,0x80,0x80,
-};
-
-static const BitmapCharRec ch254 = {7,12,-1,3,9,ch254data};
-
-/* char: 0xfd */
-
-static const GLubyte ch253data[] = {
-0x78,0x84,0x4,0x74,0x8c,0x84,0x84,0x84,0x84,0x84,0x0,0x0,0x30,0x8,
-};
-
-static const BitmapCharRec ch253 = {6,14,-1,3,9,ch253data};
-
-/* char: 0xfc */
-
-static const GLubyte ch252data[] = {
-0x7a,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x0,0x28,0x28,
-};
-
-static const BitmapCharRec ch252 = {7,11,-1,0,9,ch252data};
-
-/* char: 0xfb */
-
-static const GLubyte ch251data[] = {
-0x7a,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x0,0x44,0x38,
-};
-
-static const BitmapCharRec ch251 = {7,11,-1,0,9,ch251data};
-
-/* char: 0xfa */
-
-static const GLubyte ch250data[] = {
-0x7a,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x0,0x30,0x8,
-};
-
-static const BitmapCharRec ch250 = {7,11,-1,0,9,ch250data};
-
-/* char: 0xf9 */
-
-static const GLubyte ch249data[] = {
-0x7a,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x0,0x18,0x20,
-};
-
-static const BitmapCharRec ch249 = {7,11,-1,0,9,ch249data};
-
-/* char: 0xf8 */
-
-static const GLubyte ch248data[] = {
-0x80,0x7c,0xa2,0xa2,0x92,0x8a,0x8a,0x7c,0x2,
-};
-
-static const BitmapCharRec ch248 = {7,9,-1,1,9,ch248data};
-
-/* char: 0xf7 */
-
-static const GLubyte ch247data[] = {
-0x10,0x38,0x10,0x0,0xfe,0x0,0x10,0x38,0x10,
-};
-
-static const BitmapCharRec ch247 = {7,9,-1,0,9,ch247data};
-
-/* char: 0xf6 */
-
-static const GLubyte ch246data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x0,0x28,0x28,
-};
-
-static const BitmapCharRec ch246 = {7,11,-1,0,9,ch246data};
-
-/* char: 0xf5 */
-
-static const GLubyte ch245data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch245 = {7,11,-1,0,9,ch245data};
-
-/* char: 0xf4 */
-
-static const GLubyte ch244data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x0,0x44,0x38,
-};
-
-static const BitmapCharRec ch244 = {7,11,-1,0,9,ch244data};
-
-/* char: 0xf3 */
-
-static const GLubyte ch243data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x0,0x30,0x8,
-};
-
-static const BitmapCharRec ch243 = {7,11,-1,0,9,ch243data};
-
-/* char: 0xf2 */
-
-static const GLubyte ch242data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x0,0x18,0x20,
-};
-
-static const BitmapCharRec ch242 = {7,11,-1,0,9,ch242data};
-
-/* char: 0xf1 */
-
-static const GLubyte ch241data[] = {
-0x82,0x82,0x82,0x82,0x82,0xc2,0xbc,0x0,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch241 = {7,11,-1,0,9,ch241data};
-
-/* char: 0xf0 */
-
-static const GLubyte ch240data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x8,0x50,0x30,0x48,
-};
-
-static const BitmapCharRec ch240 = {7,11,-1,0,9,ch240data};
-
-/* char: 0xef */
-
-static const GLubyte ch239data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0xe0,0x0,0x0,0x50,0x50,
-};
-
-static const BitmapCharRec ch239 = {5,11,-2,0,9,ch239data};
-
-/* char: 0xee */
-
-static const GLubyte ch238data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0xe0,0x0,0x0,0x90,0x60,
-};
-
-static const BitmapCharRec ch238 = {5,11,-2,0,9,ch238data};
-
-/* char: 0xed */
-
-static const GLubyte ch237data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0xe0,0x0,0x0,0x60,0x10,
-};
-
-static const BitmapCharRec ch237 = {5,11,-2,0,9,ch237data};
-
-/* char: 0xec */
-
-static const GLubyte ch236data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0xe0,0x0,0x0,0x30,0x40,
-};
-
-static const BitmapCharRec ch236 = {5,11,-2,0,9,ch236data};
-
-/* char: 0xeb */
-
-static const GLubyte ch235data[] = {
-0x7c,0x80,0x80,0xfe,0x82,0x82,0x7c,0x0,0x0,0x28,0x28,
-};
-
-static const BitmapCharRec ch235 = {7,11,-1,0,9,ch235data};
-
-/* char: 0xea */
-
-static const GLubyte ch234data[] = {
-0x7c,0x80,0x80,0xfe,0x82,0x82,0x7c,0x0,0x0,0x44,0x38,
-};
-
-static const BitmapCharRec ch234 = {7,11,-1,0,9,ch234data};
-
-/* char: 0xe9 */
-
-static const GLubyte ch233data[] = {
-0x7c,0x80,0x80,0xfe,0x82,0x82,0x7c,0x0,0x0,0x30,0x8,
-};
-
-static const BitmapCharRec ch233 = {7,11,-1,0,9,ch233data};
-
-/* char: 0xe8 */
-
-static const GLubyte ch232data[] = {
-0x7c,0x80,0x80,0xfe,0x82,0x82,0x7c,0x0,0x0,0x18,0x20,
-};
-
-static const BitmapCharRec ch232 = {7,11,-1,0,9,ch232data};
-
-/* char: 0xe7 */
-
-static const GLubyte ch231data[] = {
-0x30,0x48,0x18,0x7c,0x82,0x80,0x80,0x80,0x82,0x7c,
-};
-
-static const BitmapCharRec ch231 = {7,10,-1,3,9,ch231data};
-
-/* char: 0xe6 */
-
-static const GLubyte ch230data[] = {
-0x6e,0x92,0x90,0x7c,0x12,0x92,0x6c,
-};
-
-static const BitmapCharRec ch230 = {7,7,-1,0,9,ch230data};
-
-/* char: 0xe5 */
-
-static const GLubyte ch229data[] = {
-0x7a,0x86,0x82,0x7e,0x2,0x2,0x7c,0x0,0x18,0x24,0x18,
-};
-
-static const BitmapCharRec ch229 = {7,11,-1,0,9,ch229data};
-
-/* char: 0xe4 */
-
-static const GLubyte ch228data[] = {
-0x7a,0x86,0x82,0x7e,0x2,0x2,0x7c,0x0,0x0,0x28,0x28,
-};
-
-static const BitmapCharRec ch228 = {7,11,-1,0,9,ch228data};
-
-/* char: 0xe3 */
-
-static const GLubyte ch227data[] = {
-0x7a,0x86,0x82,0x7e,0x2,0x2,0x7c,0x0,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch227 = {7,11,-1,0,9,ch227data};
-
-/* char: 0xe2 */
-
-static const GLubyte ch226data[] = {
-0x7a,0x86,0x82,0x7e,0x2,0x2,0x7c,0x0,0x0,0x44,0x38,
-};
-
-static const BitmapCharRec ch226 = {7,11,-1,0,9,ch226data};
-
-/* char: 0xe1 */
-
-static const GLubyte ch225data[] = {
-0x7a,0x86,0x82,0x7e,0x2,0x2,0x7c,0x0,0x0,0x30,0x8,
-};
-
-static const BitmapCharRec ch225 = {7,11,-1,0,9,ch225data};
-
-/* char: 0xe0 */
-
-static const GLubyte ch224data[] = {
-0x7a,0x86,0x82,0x7e,0x2,0x2,0x7c,0x0,0x0,0x18,0x20,
-};
-
-static const BitmapCharRec ch224 = {7,11,-1,0,9,ch224data};
-
-/* char: 0xdf */
-
-static const GLubyte ch223data[] = {
-0x80,0xbc,0xc2,0x82,0x82,0xfc,0x82,0x82,0x7c,
-};
-
-static const BitmapCharRec ch223 = {7,9,-1,1,9,ch223data};
-
-/* char: 0xde */
-
-static const GLubyte ch222data[] = {
-0x80,0x80,0x80,0xfc,0x82,0x82,0x82,0xfc,0x80,0x80,
-};
-
-static const BitmapCharRec ch222 = {7,10,-1,0,9,ch222data};
-
-/* char: 0xdd */
-
-static const GLubyte ch221data[] = {
-0x10,0x10,0x10,0x10,0x28,0x44,0x82,0x82,0x0,0x30,0x8,
-};
-
-static const BitmapCharRec ch221 = {7,11,-1,0,9,ch221data};
-
-/* char: 0xdc */
-
-static const GLubyte ch220data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x0,0x28,0x28,
-};
-
-static const BitmapCharRec ch220 = {7,11,-1,0,9,ch220data};
-
-/* char: 0xdb */
-
-static const GLubyte ch219data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x0,0x44,0x38,
-};
-
-static const BitmapCharRec ch219 = {7,11,-1,0,9,ch219data};
-
-/* char: 0xda */
-
-static const GLubyte ch218data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x0,0x30,0x8,
-};
-
-static const BitmapCharRec ch218 = {7,11,-1,0,9,ch218data};
-
-/* char: 0xd9 */
-
-static const GLubyte ch217data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x0,0x18,0x20,
-};
-
-static const BitmapCharRec ch217 = {7,11,-1,0,9,ch217data};
-
-/* char: 0xd8 */
-
-static const GLubyte ch216data[] = {
-0x80,0x7c,0xc2,0xa2,0xa2,0x92,0x92,0x8a,0x8a,0x86,0x7c,0x2,
-};
-
-static const BitmapCharRec ch216 = {7,12,-1,1,9,ch216data};
-
-/* char: 0xd7 */
-
-static const GLubyte ch215data[] = {
-0x82,0x44,0x28,0x10,0x28,0x44,0x82,
-};
-
-static const BitmapCharRec ch215 = {7,7,-1,-1,9,ch215data};
-
-/* char: 0xd6 */
-
-static const GLubyte ch214data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x28,0x28,
-};
-
-static const BitmapCharRec ch214 = {7,11,-1,0,9,ch214data};
-
-/* char: 0xd5 */
-
-static const GLubyte ch213data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch213 = {7,11,-1,0,9,ch213data};
-
-/* char: 0xd4 */
-
-static const GLubyte ch212data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x44,0x38,
-};
-
-static const BitmapCharRec ch212 = {7,11,-1,0,9,ch212data};
-
-/* char: 0xd3 */
-
-static const GLubyte ch211data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x30,0x8,
-};
-
-static const BitmapCharRec ch211 = {7,11,-1,0,9,ch211data};
-
-/* char: 0xd2 */
-
-static const GLubyte ch210data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x18,0x20,
-};
-
-static const BitmapCharRec ch210 = {7,11,-1,0,9,ch210data};
-
-/* char: 0xd1 */
-
-static const GLubyte ch209data[] = {
-0x82,0x86,0x8a,0x92,0x92,0xa2,0xc2,0x82,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch209 = {7,11,-1,0,9,ch209data};
-
-/* char: 0xd0 */
-
-static const GLubyte ch208data[] = {
-0xfc,0x42,0x42,0x42,0x42,0xf2,0x42,0x42,0x42,0xfc,
-};
-
-static const BitmapCharRec ch208 = {7,10,-1,0,9,ch208data};
-
-/* char: 0xcf */
-
-static const GLubyte ch207data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0xf8,0x0,0x50,0x50,
-};
-
-static const BitmapCharRec ch207 = {5,11,-2,0,9,ch207data};
-
-/* char: 0xce */
-
-static const GLubyte ch206data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0xf8,0x0,0x88,0x70,
-};
-
-static const BitmapCharRec ch206 = {5,11,-2,0,9,ch206data};
-
-/* char: 0xcd */
-
-static const GLubyte ch205data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0xf8,0x0,0x60,0x10,
-};
-
-static const BitmapCharRec ch205 = {5,11,-2,0,9,ch205data};
-
-/* char: 0xcc */
-
-static const GLubyte ch204data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0xf8,0x0,0x30,0x40,
-};
-
-static const BitmapCharRec ch204 = {5,11,-2,0,9,ch204data};
-
-/* char: 0xcb */
-
-static const GLubyte ch203data[] = {
-0xfe,0x40,0x40,0x40,0x78,0x40,0x40,0xfe,0x0,0x28,0x28,
-};
-
-static const BitmapCharRec ch203 = {7,11,-1,0,9,ch203data};
-
-/* char: 0xca */
-
-static const GLubyte ch202data[] = {
-0xfe,0x40,0x40,0x40,0x78,0x40,0x40,0xfe,0x0,0x44,0x38,
-};
-
-static const BitmapCharRec ch202 = {7,11,-1,0,9,ch202data};
-
-/* char: 0xc9 */
-
-static const GLubyte ch201data[] = {
-0xfe,0x40,0x40,0x40,0x78,0x40,0x40,0xfe,0x0,0x30,0x8,
-};
-
-static const BitmapCharRec ch201 = {7,11,-1,0,9,ch201data};
-
-/* char: 0xc8 */
-
-static const GLubyte ch200data[] = {
-0xfe,0x40,0x40,0x40,0x78,0x40,0x40,0xfe,0x0,0x18,0x20,
-};
-
-static const BitmapCharRec ch200 = {7,11,-1,0,9,ch200data};
-
-/* char: 0xc7 */
-
-static const GLubyte ch199data[] = {
-0x30,0x48,0x18,0x7c,0x82,0x80,0x80,0x80,0x80,0x80,0x80,0x82,0x7c,
-};
-
-static const BitmapCharRec ch199 = {7,13,-1,3,9,ch199data};
-
-/* char: 0xc6 */
-
-static const GLubyte ch198data[] = {
-0x9e,0x90,0x90,0x90,0xfc,0x90,0x90,0x90,0x90,0x6e,
-};
-
-static const BitmapCharRec ch198 = {7,10,-1,0,9,ch198data};
-
-/* char: 0xc5 */
-
-static const GLubyte ch197data[] = {
-0x82,0x82,0x82,0xfe,0x82,0x82,0x44,0x38,0x10,0x28,0x10,
-};
-
-static const BitmapCharRec ch197 = {7,11,-1,0,9,ch197data};
-
-/* char: 0xc4 */
-
-static const GLubyte ch196data[] = {
-0x82,0x82,0x82,0xfe,0x82,0x82,0x44,0x38,0x0,0x28,0x28,
-};
-
-static const BitmapCharRec ch196 = {7,11,-1,0,9,ch196data};
-
-/* char: 0xc3 */
-
-static const GLubyte ch195data[] = {
-0x82,0x82,0x82,0xfe,0x82,0x82,0x44,0x38,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch195 = {7,11,-1,0,9,ch195data};
-
-/* char: 0xc2 */
-
-static const GLubyte ch194data[] = {
-0x82,0x82,0x82,0xfe,0x82,0x82,0x44,0x38,0x0,0x44,0x38,
-};
-
-static const BitmapCharRec ch194 = {7,11,-1,0,9,ch194data};
-
-/* char: 0xc1 */
-
-static const GLubyte ch193data[] = {
-0x82,0x82,0x82,0xfe,0x82,0x82,0x44,0x38,0x0,0x30,0x8,
-};
-
-static const BitmapCharRec ch193 = {7,11,-1,0,9,ch193data};
-
-/* char: 0xc0 */
-
-static const GLubyte ch192data[] = {
-0x82,0x82,0x82,0xfe,0x82,0x82,0x44,0x38,0x0,0x18,0x20,
-};
-
-static const BitmapCharRec ch192 = {7,11,-1,0,9,ch192data};
-
-/* char: 0xbf */
-
-static const GLubyte ch191data[] = {
-0x7c,0x82,0x82,0x80,0x40,0x20,0x10,0x10,0x0,0x10,
-};
-
-static const BitmapCharRec ch191 = {7,10,-1,0,9,ch191data};
-
-/* char: 0xbe */
-
-static const GLubyte ch190data[] = {
-0x6,0x1a,0x12,0xa,0x66,0x92,0x10,0x20,0x90,0x60,
-};
-
-static const BitmapCharRec ch190 = {7,10,-1,0,9,ch190data};
-
-/* char: 0xbd */
-
-static const GLubyte ch189data[] = {
-0x1e,0x10,0xc,0x2,0xf2,0x4c,0x40,0x40,0xc0,0x40,
-};
-
-static const BitmapCharRec ch189 = {7,10,-1,0,9,ch189data};
-
-/* char: 0xbc */
-
-static const GLubyte ch188data[] = {
-0x6,0x1a,0x12,0xa,0xe6,0x42,0x40,0x40,0xc0,0x40,
-};
-
-static const BitmapCharRec ch188 = {7,10,-1,0,9,ch188data};
-
-/* char: 0xbb */
-
-static const GLubyte ch187data[] = {
-0x90,0x48,0x24,0x12,0x12,0x24,0x48,0x90,
-};
-
-static const BitmapCharRec ch187 = {7,8,-1,-1,9,ch187data};
-
-/* char: 0xba */
-
-static const GLubyte ch186data[] = {
-0xf8,0x0,0x70,0x88,0x88,0x70,
-};
-
-static const BitmapCharRec ch186 = {5,6,-1,-5,9,ch186data};
-
-/* char: 0xb9 */
-
-static const GLubyte ch185data[] = {
-0xe0,0x40,0x40,0x40,0xc0,0x40,
-};
-
-static const BitmapCharRec ch185 = {3,6,-1,-4,9,ch185data};
-
-/* char: 0xb8 */
-
-static const GLubyte ch184data[] = {
-0x60,0x90,0x30,
-};
-
-static const BitmapCharRec ch184 = {4,3,-2,3,9,ch184data};
-
-/* char: 0xb7 */
-
-static const GLubyte ch183data[] = {
-0xc0,0xc0,
-};
-
-static const BitmapCharRec ch183 = {2,2,-4,-4,9,ch183data};
-
-/* char: 0xb6 */
-
-static const GLubyte ch182data[] = {
-0xa,0xa,0xa,0xa,0xa,0x7a,0x8a,0x8a,0x8a,0x7e,
-};
-
-static const BitmapCharRec ch182 = {7,10,-1,0,9,ch182data};
-
-/* char: 0xb5 */
-
-static const GLubyte ch181data[] = {
-0x80,0x80,0xba,0xc6,0x82,0x82,0x82,0x82,0x82,
-};
-
-static const BitmapCharRec ch181 = {7,9,-1,2,9,ch181data};
-
-/* char: 0xb4 */
-
-static const GLubyte ch180data[] = {
-0xc0,0x20,
-};
-
-static const BitmapCharRec ch180 = {3,2,-3,-9,9,ch180data};
-
-/* char: 0xb3 */
-
-static const GLubyte ch179data[] = {
-0x60,0x90,0x10,0x20,0x90,0x60,
-};
-
-static const BitmapCharRec ch179 = {4,6,-1,-4,9,ch179data};
-
-/* char: 0xb2 */
-
-static const GLubyte ch178data[] = {
-0xf0,0x80,0x60,0x10,0x90,0x60,
-};
-
-static const BitmapCharRec ch178 = {4,6,-1,-4,9,ch178data};
-
-/* char: 0xb1 */
-
-static const GLubyte ch177data[] = {
-0xfe,0x0,0x10,0x10,0x10,0xfe,0x10,0x10,0x10,
-};
-
-static const BitmapCharRec ch177 = {7,9,-1,-1,9,ch177data};
-
-/* char: 0xb0 */
-
-static const GLubyte ch176data[] = {
-0x60,0x90,0x90,0x60,
-};
-
-static const BitmapCharRec ch176 = {4,4,-3,-6,9,ch176data};
-
-/* char: 0xaf */
-
-static const GLubyte ch175data[] = {
-0xfc,
-};
-
-static const BitmapCharRec ch175 = {6,1,-1,-9,9,ch175data};
-
-/* char: 0xae */
-
-static const GLubyte ch174data[] = {
-0x3c,0x42,0xa5,0xa9,0xbd,0xa5,0xb9,0x42,0x3c,
-};
-
-static const BitmapCharRec ch174 = {8,9,0,-1,9,ch174data};
-
-/* char: 0xad */
-
-static const GLubyte ch173data[] = {
-0xfc,
-};
-
-static const BitmapCharRec ch173 = {6,1,-1,-4,9,ch173data};
-
-/* char: 0xac */
-
-static const GLubyte ch172data[] = {
-0x4,0x4,0x4,0xfc,
-};
-
-static const BitmapCharRec ch172 = {6,4,-1,-2,9,ch172data};
-
-/* char: 0xab */
-
-static const GLubyte ch171data[] = {
-0x12,0x24,0x48,0x90,0x90,0x48,0x24,0x12,
-};
-
-static const BitmapCharRec ch171 = {7,8,-1,-1,9,ch171data};
-
-/* char: 0xaa */
-
-static const GLubyte ch170data[] = {
-0xf8,0x0,0x78,0x90,0x70,0x90,0x60,
-};
-
-static const BitmapCharRec ch170 = {5,7,-3,-3,9,ch170data};
-
-/* char: 0xa9 */
-
-static const GLubyte ch169data[] = {
-0x3c,0x42,0x99,0xa5,0xa1,0xa5,0x99,0x42,0x3c,
-};
-
-static const BitmapCharRec ch169 = {8,9,0,-1,9,ch169data};
-
-/* char: 0xa8 */
-
-static const GLubyte ch168data[] = {
-0xa0,0xa0,
-};
-
-static const BitmapCharRec ch168 = {3,2,-3,-9,9,ch168data};
-
-/* char: 0xa7 */
-
-static const GLubyte ch167data[] = {
-0x70,0x88,0x8,0x70,0x88,0x88,0x88,0x70,0x80,0x88,0x70,
-};
-
-static const BitmapCharRec ch167 = {5,11,-2,1,9,ch167data};
-
-/* char: 0xa6 */
-
-static const GLubyte ch166data[] = {
-0x80,0x80,0x80,0x80,0x80,0x0,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch166 = {1,11,-4,1,9,ch166data};
-
-/* char: 0xa5 */
-
-static const GLubyte ch165data[] = {
-0x10,0x10,0x10,0x7c,0x10,0x7c,0x28,0x44,0x82,0x82,
-};
-
-static const BitmapCharRec ch165 = {7,10,-1,0,9,ch165data};
-
-/* char: 0xa4 */
-
-static const GLubyte ch164data[] = {
-0x82,0x7c,0x44,0x44,0x7c,0x82,
-};
-
-static const BitmapCharRec ch164 = {7,6,-1,-3,9,ch164data};
-
-/* char: 0xa3 */
-
-static const GLubyte ch163data[] = {
-0x5c,0xa2,0x60,0x20,0x20,0xf8,0x20,0x20,0x22,0x1c,
-};
-
-static const BitmapCharRec ch163 = {7,10,-1,0,9,ch163data};
-
-/* char: 0xa2 */
-
-static const GLubyte ch162data[] = {
-0x40,0x78,0xa4,0xa0,0x90,0x94,0x78,0x8,
-};
-
-static const BitmapCharRec ch162 = {6,8,-1,0,9,ch162data};
-
-/* char: 0xa1 */
-
-static const GLubyte ch161data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x0,0x80,0x80,
-};
-
-static const BitmapCharRec ch161 = {1,11,-4,0,9,ch161data};
-
-/* char: 0x7e '~' */
-
-static const GLubyte ch126data[] = {
-0x8c,0x92,0x62,
-};
-
-static const BitmapCharRec ch126 = {7,3,-1,-7,9,ch126data};
-
-/* char: 0x7d '}' */
-
-static const GLubyte ch125data[] = {
-0xe0,0x10,0x10,0x10,0x20,0x18,0x18,0x20,0x10,0x10,0x10,0xe0,
-};
-
-static const BitmapCharRec ch125 = {5,12,-1,1,9,ch125data};
-
-/* char: 0x7c '|' */
-
-static const GLubyte ch124data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch124 = {1,12,-4,1,9,ch124data};
-
-/* char: 0x7b '{' */
-
-static const GLubyte ch123data[] = {
-0x38,0x40,0x40,0x40,0x20,0xc0,0xc0,0x20,0x40,0x40,0x40,0x38,
-};
-
-static const BitmapCharRec ch123 = {5,12,-3,1,9,ch123data};
-
-/* char: 0x7a 'z' */
-
-static const GLubyte ch122data[] = {
-0xfe,0x40,0x20,0x10,0x8,0x4,0xfe,
-};
-
-static const BitmapCharRec ch122 = {7,7,-1,0,9,ch122data};
-
-/* char: 0x79 'y' */
-
-static const GLubyte ch121data[] = {
-0x78,0x84,0x4,0x74,0x8c,0x84,0x84,0x84,0x84,0x84,
-};
-
-static const BitmapCharRec ch121 = {6,10,-1,3,9,ch121data};
-
-/* char: 0x78 'x' */
-
-static const GLubyte ch120data[] = {
-0x82,0x44,0x28,0x10,0x28,0x44,0x82,
-};
-
-static const BitmapCharRec ch120 = {7,7,-1,0,9,ch120data};
-
-/* char: 0x77 'w' */
-
-static const GLubyte ch119data[] = {
-0x44,0xaa,0x92,0x92,0x92,0x82,0x82,
-};
-
-static const BitmapCharRec ch119 = {7,7,-1,0,9,ch119data};
-
-/* char: 0x76 'v' */
-
-static const GLubyte ch118data[] = {
-0x10,0x28,0x28,0x44,0x44,0x82,0x82,
-};
-
-static const BitmapCharRec ch118 = {7,7,-1,0,9,ch118data};
-
-/* char: 0x75 'u' */
-
-static const GLubyte ch117data[] = {
-0x7a,0x84,0x84,0x84,0x84,0x84,0x84,
-};
-
-static const BitmapCharRec ch117 = {7,7,-1,0,9,ch117data};
-
-/* char: 0x74 't' */
-
-static const GLubyte ch116data[] = {
-0x1c,0x22,0x20,0x20,0x20,0x20,0xfc,0x20,0x20,
-};
-
-static const BitmapCharRec ch116 = {7,9,-1,0,9,ch116data};
-
-/* char: 0x73 's' */
-
-static const GLubyte ch115data[] = {
-0x7c,0x82,0x2,0x7c,0x80,0x82,0x7c,
-};
-
-static const BitmapCharRec ch115 = {7,7,-1,0,9,ch115data};
-
-/* char: 0x72 'r' */
-
-static const GLubyte ch114data[] = {
-0x40,0x40,0x40,0x40,0x42,0x62,0x9c,
-};
-
-static const BitmapCharRec ch114 = {7,7,-1,0,9,ch114data};
-
-/* char: 0x71 'q' */
-
-static const GLubyte ch113data[] = {
-0x2,0x2,0x2,0x7a,0x86,0x82,0x82,0x82,0x86,0x7a,
-};
-
-static const BitmapCharRec ch113 = {7,10,-1,3,9,ch113data};
-
-/* char: 0x70 'p' */
-
-static const GLubyte ch112data[] = {
-0x80,0x80,0x80,0xbc,0xc2,0x82,0x82,0x82,0xc2,0xbc,
-};
-
-static const BitmapCharRec ch112 = {7,10,-1,3,9,ch112data};
-
-/* char: 0x6f 'o' */
-
-static const GLubyte ch111data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,
-};
-
-static const BitmapCharRec ch111 = {7,7,-1,0,9,ch111data};
-
-/* char: 0x6e 'n' */
-
-static const GLubyte ch110data[] = {
-0x82,0x82,0x82,0x82,0x82,0xc2,0xbc,
-};
-
-static const BitmapCharRec ch110 = {7,7,-1,0,9,ch110data};
-
-/* char: 0x6d 'm' */
-
-static const GLubyte ch109data[] = {
-0x82,0x92,0x92,0x92,0x92,0x92,0xec,
-};
-
-static const BitmapCharRec ch109 = {7,7,-1,0,9,ch109data};
-
-/* char: 0x6c 'l' */
-
-static const GLubyte ch108data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xe0,
-};
-
-static const BitmapCharRec ch108 = {5,10,-2,0,9,ch108data};
-
-/* char: 0x6b 'k' */
-
-static const GLubyte ch107data[] = {
-0x82,0x8c,0xb0,0xc0,0xb0,0x8c,0x82,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch107 = {7,10,-1,0,9,ch107data};
-
-/* char: 0x6a 'j' */
-
-static const GLubyte ch106data[] = {
-0x78,0x84,0x84,0x84,0x4,0x4,0x4,0x4,0x4,0x1c,0x0,0x0,0xc,
-};
-
-static const BitmapCharRec ch106 = {6,13,-1,3,9,ch106data};
-
-/* char: 0x69 'i' */
-
-static const GLubyte ch105data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0xe0,0x0,0x0,0x60,
-};
-
-static const BitmapCharRec ch105 = {5,10,-2,0,9,ch105data};
-
-/* char: 0x68 'h' */
-
-static const GLubyte ch104data[] = {
-0x82,0x82,0x82,0x82,0x82,0xc2,0xbc,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch104 = {7,10,-1,0,9,ch104data};
-
-/* char: 0x67 'g' */
-
-static const GLubyte ch103data[] = {
-0x7c,0x82,0x82,0x7c,0x80,0x78,0x84,0x84,0x84,0x7a,
-};
-
-static const BitmapCharRec ch103 = {7,10,-1,3,9,ch103data};
-
-/* char: 0x66 'f' */
-
-static const GLubyte ch102data[] = {
-0x20,0x20,0x20,0x20,0xf8,0x20,0x20,0x22,0x22,0x1c,
-};
-
-static const BitmapCharRec ch102 = {7,10,-1,0,9,ch102data};
-
-/* char: 0x65 'e' */
-
-static const GLubyte ch101data[] = {
-0x7c,0x80,0x80,0xfe,0x82,0x82,0x7c,
-};
-
-static const BitmapCharRec ch101 = {7,7,-1,0,9,ch101data};
-
-/* char: 0x64 'd' */
-
-static const GLubyte ch100data[] = {
-0x7a,0x86,0x82,0x82,0x82,0x86,0x7a,0x2,0x2,0x2,
-};
-
-static const BitmapCharRec ch100 = {7,10,-1,0,9,ch100data};
-
-/* char: 0x63 'c' */
-
-static const GLubyte ch99data[] = {
-0x7c,0x82,0x80,0x80,0x80,0x82,0x7c,
-};
-
-static const BitmapCharRec ch99 = {7,7,-1,0,9,ch99data};
-
-/* char: 0x62 'b' */
-
-static const GLubyte ch98data[] = {
-0xbc,0xc2,0x82,0x82,0x82,0xc2,0xbc,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch98 = {7,10,-1,0,9,ch98data};
-
-/* char: 0x61 'a' */
-
-static const GLubyte ch97data[] = {
-0x7a,0x86,0x82,0x7e,0x2,0x2,0x7c,
-};
-
-static const BitmapCharRec ch97 = {7,7,-1,0,9,ch97data};
-
-/* char: 0x60 '`' */
-
-static const GLubyte ch96data[] = {
-0x10,0x20,0x40,0xc0,
-};
-
-static const BitmapCharRec ch96 = {4,4,-3,-6,9,ch96data};
-
-/* char: 0x5f '_' */
-
-static const GLubyte ch95data[] = {
-0xff,
-};
-
-static const BitmapCharRec ch95 = {8,1,0,1,9,ch95data};
-
-/* char: 0x5e '^' */
-
-static const GLubyte ch94data[] = {
-0x82,0x44,0x28,0x10,
-};
-
-static const BitmapCharRec ch94 = {7,4,-1,-6,9,ch94data};
-
-/* char: 0x5d ']' */
-
-static const GLubyte ch93data[] = {
-0xf0,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0xf0,
-};
-
-static const BitmapCharRec ch93 = {4,12,-2,1,9,ch93data};
-
-/* char: 0x5c '\' */
-
-static const GLubyte ch92data[] = {
-0x2,0x4,0x4,0x8,0x10,0x10,0x20,0x40,0x40,0x80,
-};
-
-static const BitmapCharRec ch92 = {7,10,-1,0,9,ch92data};
-
-/* char: 0x5b '[' */
-
-static const GLubyte ch91data[] = {
-0xf0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xf0,
-};
-
-static const BitmapCharRec ch91 = {4,12,-3,1,9,ch91data};
-
-/* char: 0x5a 'Z' */
-
-static const GLubyte ch90data[] = {
-0xfe,0x80,0x80,0x40,0x20,0x10,0x8,0x4,0x2,0xfe,
-};
-
-static const BitmapCharRec ch90 = {7,10,-1,0,9,ch90data};
-
-/* char: 0x59 'Y' */
-
-static const GLubyte ch89data[] = {
-0x10,0x10,0x10,0x10,0x10,0x10,0x28,0x44,0x82,0x82,
-};
-
-static const BitmapCharRec ch89 = {7,10,-1,0,9,ch89data};
-
-/* char: 0x58 'X' */
-
-static const GLubyte ch88data[] = {
-0x82,0x82,0x44,0x28,0x10,0x10,0x28,0x44,0x82,0x82,
-};
-
-static const BitmapCharRec ch88 = {7,10,-1,0,9,ch88data};
-
-/* char: 0x57 'W' */
-
-static const GLubyte ch87data[] = {
-0x44,0xaa,0x92,0x92,0x92,0x92,0x82,0x82,0x82,0x82,
-};
-
-static const BitmapCharRec ch87 = {7,10,-1,0,9,ch87data};
-
-/* char: 0x56 'V' */
-
-static const GLubyte ch86data[] = {
-0x10,0x28,0x28,0x28,0x44,0x44,0x44,0x82,0x82,0x82,
-};
-
-static const BitmapCharRec ch86 = {7,10,-1,0,9,ch86data};
-
-/* char: 0x55 'U' */
-
-static const GLubyte ch85data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,
-};
-
-static const BitmapCharRec ch85 = {7,10,-1,0,9,ch85data};
-
-/* char: 0x54 'T' */
-
-static const GLubyte ch84data[] = {
-0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0xfe,
-};
-
-static const BitmapCharRec ch84 = {7,10,-1,0,9,ch84data};
-
-/* char: 0x53 'S' */
-
-static const GLubyte ch83data[] = {
-0x7c,0x82,0x82,0x2,0xc,0x70,0x80,0x82,0x82,0x7c,
-};
-
-static const BitmapCharRec ch83 = {7,10,-1,0,9,ch83data};
-
-/* char: 0x52 'R' */
-
-static const GLubyte ch82data[] = {
-0x82,0x82,0x84,0x88,0x90,0xfc,0x82,0x82,0x82,0xfc,
-};
-
-static const BitmapCharRec ch82 = {7,10,-1,0,9,ch82data};
-
-/* char: 0x51 'Q' */
-
-static const GLubyte ch81data[] = {
-0x6,0x8,0x7c,0x92,0xa2,0x82,0x82,0x82,0x82,0x82,0x82,0x7c,
-};
-
-static const BitmapCharRec ch81 = {7,12,-1,2,9,ch81data};
-
-/* char: 0x50 'P' */
-
-static const GLubyte ch80data[] = {
-0x80,0x80,0x80,0x80,0x80,0xfc,0x82,0x82,0x82,0xfc,
-};
-
-static const BitmapCharRec ch80 = {7,10,-1,0,9,ch80data};
-
-/* char: 0x4f 'O' */
-
-static const GLubyte ch79data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x7c,
-};
-
-static const BitmapCharRec ch79 = {7,10,-1,0,9,ch79data};
-
-/* char: 0x4e 'N' */
-
-static const GLubyte ch78data[] = {
-0x82,0x82,0x82,0x86,0x8a,0x92,0xa2,0xc2,0x82,0x82,
-};
-
-static const BitmapCharRec ch78 = {7,10,-1,0,9,ch78data};
-
-/* char: 0x4d 'M' */
-
-static const GLubyte ch77data[] = {
-0x82,0x82,0x82,0x92,0x92,0xaa,0xaa,0xc6,0x82,0x82,
-};
-
-static const BitmapCharRec ch77 = {7,10,-1,0,9,ch77data};
-
-/* char: 0x4c 'L' */
-
-static const GLubyte ch76data[] = {
-0xfe,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch76 = {7,10,-1,0,9,ch76data};
-
-/* char: 0x4b 'K' */
-
-static const GLubyte ch75data[] = {
-0x82,0x84,0x88,0x90,0xa0,0xe0,0x90,0x88,0x84,0x82,
-};
-
-static const BitmapCharRec ch75 = {7,10,-1,0,9,ch75data};
-
-/* char: 0x4a 'J' */
-
-static const GLubyte ch74data[] = {
-0x78,0x84,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x1e,
-};
-
-static const BitmapCharRec ch74 = {7,10,-1,0,9,ch74data};
-
-/* char: 0x49 'I' */
-
-static const GLubyte ch73data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xf8,
-};
-
-static const BitmapCharRec ch73 = {5,10,-2,0,9,ch73data};
-
-/* char: 0x48 'H' */
-
-static const GLubyte ch72data[] = {
-0x82,0x82,0x82,0x82,0x82,0xfe,0x82,0x82,0x82,0x82,
-};
-
-static const BitmapCharRec ch72 = {7,10,-1,0,9,ch72data};
-
-/* char: 0x47 'G' */
-
-static const GLubyte ch71data[] = {
-0x7c,0x82,0x82,0x82,0x8e,0x80,0x80,0x80,0x82,0x7c,
-};
-
-static const BitmapCharRec ch71 = {7,10,-1,0,9,ch71data};
-
-/* char: 0x46 'F' */
-
-static const GLubyte ch70data[] = {
-0x40,0x40,0x40,0x40,0x40,0x78,0x40,0x40,0x40,0xfe,
-};
-
-static const BitmapCharRec ch70 = {7,10,-1,0,9,ch70data};
-
-/* char: 0x45 'E' */
-
-static const GLubyte ch69data[] = {
-0xfe,0x40,0x40,0x40,0x40,0x78,0x40,0x40,0x40,0xfe,
-};
-
-static const BitmapCharRec ch69 = {7,10,-1,0,9,ch69data};
-
-/* char: 0x44 'D' */
-
-static const GLubyte ch68data[] = {
-0xfc,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0xfc,
-};
-
-static const BitmapCharRec ch68 = {7,10,-1,0,9,ch68data};
-
-/* char: 0x43 'C' */
-
-static const GLubyte ch67data[] = {
-0x7c,0x82,0x80,0x80,0x80,0x80,0x80,0x80,0x82,0x7c,
-};
-
-static const BitmapCharRec ch67 = {7,10,-1,0,9,ch67data};
-
-/* char: 0x42 'B' */
-
-static const GLubyte ch66data[] = {
-0xfc,0x42,0x42,0x42,0x42,0x7c,0x42,0x42,0x42,0xfc,
-};
-
-static const BitmapCharRec ch66 = {7,10,-1,0,9,ch66data};
-
-/* char: 0x41 'A' */
-
-static const GLubyte ch65data[] = {
-0x82,0x82,0x82,0xfe,0x82,0x82,0x82,0x44,0x28,0x10,
-};
-
-static const BitmapCharRec ch65 = {7,10,-1,0,9,ch65data};
-
-/* char: 0x40 '@' */
-
-static const GLubyte ch64data[] = {
-0x7c,0x80,0x80,0x9a,0xa6,0xa2,0x9e,0x82,0x82,0x7c,
-};
-
-static const BitmapCharRec ch64 = {7,10,-1,0,9,ch64data};
-
-/* char: 0x3f '?' */
-
-static const GLubyte ch63data[] = {
-0x10,0x0,0x10,0x10,0x8,0x4,0x2,0x82,0x82,0x7c,
-};
-
-static const BitmapCharRec ch63 = {7,10,-1,0,9,ch63data};
-
-/* char: 0x3e '>' */
-
-static const GLubyte ch62data[] = {
-0x80,0x40,0x20,0x10,0x8,0x8,0x10,0x20,0x40,0x80,
-};
-
-static const BitmapCharRec ch62 = {5,10,-2,0,9,ch62data};
-
-/* char: 0x3d '=' */
-
-static const GLubyte ch61data[] = {
-0xfe,0x0,0x0,0xfe,
-};
-
-static const BitmapCharRec ch61 = {7,4,-1,-2,9,ch61data};
-
-/* char: 0x3c '<' */
-
-static const GLubyte ch60data[] = {
-0x8,0x10,0x20,0x40,0x80,0x80,0x40,0x20,0x10,0x8,
-};
-
-static const BitmapCharRec ch60 = {5,10,-2,0,9,ch60data};
-
-/* char: 0x3b ';' */
-
-static const GLubyte ch59data[] = {
-0x80,0x40,0x40,0xc0,0xc0,0x0,0x0,0x0,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch59 = {2,10,-4,3,9,ch59data};
-
-/* char: 0x3a ':' */
-
-static const GLubyte ch58data[] = {
-0xc0,0xc0,0x0,0x0,0x0,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch58 = {2,7,-4,0,9,ch58data};
-
-/* char: 0x39 '9' */
-
-static const GLubyte ch57data[] = {
-0x78,0x4,0x2,0x2,0x7a,0x86,0x82,0x82,0x82,0x7c,
-};
-
-static const BitmapCharRec ch57 = {7,10,-1,0,9,ch57data};
-
-/* char: 0x38 '8' */
-
-static const GLubyte ch56data[] = {
-0x38,0x44,0x82,0x82,0x44,0x38,0x44,0x82,0x44,0x38,
-};
-
-static const BitmapCharRec ch56 = {7,10,-1,0,9,ch56data};
-
-/* char: 0x37 '7' */
-
-static const GLubyte ch55data[] = {
-0x40,0x40,0x20,0x20,0x10,0x8,0x4,0x2,0x2,0xfe,
-};
-
-static const BitmapCharRec ch55 = {7,10,-1,0,9,ch55data};
-
-/* char: 0x36 '6' */
-
-static const GLubyte ch54data[] = {
-0x7c,0x82,0x82,0x82,0xc2,0xbc,0x80,0x80,0x40,0x3c,
-};
-
-static const BitmapCharRec ch54 = {7,10,-1,0,9,ch54data};
-
-/* char: 0x35 '5' */
-
-static const GLubyte ch53data[] = {
-0x7c,0x82,0x2,0x2,0x2,0xc2,0xbc,0x80,0x80,0xfe,
-};
-
-static const BitmapCharRec ch53 = {7,10,-1,0,9,ch53data};
-
-/* char: 0x34 '4' */
-
-static const GLubyte ch52data[] = {
-0x4,0x4,0x4,0xfe,0x84,0x44,0x24,0x14,0xc,0x4,
-};
-
-static const BitmapCharRec ch52 = {7,10,-1,0,9,ch52data};
-
-/* char: 0x33 '3' */
-
-static const GLubyte ch51data[] = {
-0x7c,0x82,0x2,0x2,0x2,0x1c,0x8,0x4,0x2,0xfe,
-};
-
-static const BitmapCharRec ch51 = {7,10,-1,0,9,ch51data};
-
-/* char: 0x32 '2' */
-
-static const GLubyte ch50data[] = {
-0xfe,0x80,0x40,0x30,0x8,0x4,0x2,0x82,0x82,0x7c,
-};
-
-static const BitmapCharRec ch50 = {7,10,-1,0,9,ch50data};
-
-/* char: 0x31 '1' */
-
-static const GLubyte ch49data[] = {
-0xfe,0x10,0x10,0x10,0x10,0x10,0x90,0x50,0x30,0x10,
-};
-
-static const BitmapCharRec ch49 = {7,10,-1,0,9,ch49data};
-
-/* char: 0x30 '0' */
-
-static const GLubyte ch48data[] = {
-0x38,0x44,0x82,0x82,0x82,0x82,0x82,0x82,0x44,0x38,
-};
-
-static const BitmapCharRec ch48 = {7,10,-1,0,9,ch48data};
-
-/* char: 0x2f '/' */
-
-static const GLubyte ch47data[] = {
-0x80,0x40,0x40,0x20,0x10,0x10,0x8,0x4,0x4,0x2,
-};
-
-static const BitmapCharRec ch47 = {7,10,-1,0,9,ch47data};
-
-/* char: 0x2e '.' */
-
-static const GLubyte ch46data[] = {
-0xc0,0xc0,
-};
-
-static const BitmapCharRec ch46 = {2,2,-4,0,9,ch46data};
-
-/* char: 0x2d '-' */
-
-static const GLubyte ch45data[] = {
-0xfe,
-};
-
-static const BitmapCharRec ch45 = {7,1,-1,-4,9,ch45data};
-
-/* char: 0x2c ',' */
-
-static const GLubyte ch44data[] = {
-0x80,0x40,0x40,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch44 = {2,5,-4,3,9,ch44data};
-
-/* char: 0x2b '+' */
-
-static const GLubyte ch43data[] = {
-0x10,0x10,0x10,0xfe,0x10,0x10,0x10,
-};
-
-static const BitmapCharRec ch43 = {7,7,-1,-1,9,ch43data};
-
-/* char: 0x2a '*' */
-
-static const GLubyte ch42data[] = {
-0x10,0x92,0x54,0x38,0x54,0x92,0x10,
-};
-
-static const BitmapCharRec ch42 = {7,7,-1,-1,9,ch42data};
-
-/* char: 0x29 ')' */
-
-static const GLubyte ch41data[] = {
-0x80,0x40,0x40,0x20,0x20,0x20,0x20,0x20,0x20,0x40,0x40,0x80,
-};
-
-static const BitmapCharRec ch41 = {3,12,-3,1,9,ch41data};
-
-/* char: 0x28 '(' */
-
-static const GLubyte ch40data[] = {
-0x20,0x40,0x40,0x80,0x80,0x80,0x80,0x80,0x80,0x40,0x40,0x20,
-};
-
-static const BitmapCharRec ch40 = {3,12,-3,1,9,ch40data};
-
-/* char: 0x27 ''' */
-
-static const GLubyte ch39data[] = {
-0x80,0x40,0x20,0x30,
-};
-
-static const BitmapCharRec ch39 = {4,4,-3,-6,9,ch39data};
-
-/* char: 0x26 '&' */
-
-static const GLubyte ch38data[] = {
-0x62,0x94,0x88,0x94,0x62,0x60,0x90,0x90,0x90,0x60,
-};
-
-static const BitmapCharRec ch38 = {7,10,-1,0,9,ch38data};
-
-/* char: 0x25 '%' */
-
-static const GLubyte ch37data[] = {
-0x84,0x4a,0x4a,0x24,0x10,0x10,0x48,0xa4,0xa4,0x42,
-};
-
-static const BitmapCharRec ch37 = {7,10,-1,0,9,ch37data};
-
-/* char: 0x24 '$' */
-
-static const GLubyte ch36data[] = {
-0x10,0x7c,0x92,0x12,0x12,0x14,0x38,0x50,0x90,0x92,0x7c,0x10,
-};
-
-static const BitmapCharRec ch36 = {7,12,-1,1,9,ch36data};
-
-/* char: 0x23 '#' */
-
-static const GLubyte ch35data[] = {
-0x48,0x48,0xfc,0x48,0x48,0xfc,0x48,0x48,
-};
-
-static const BitmapCharRec ch35 = {6,8,-1,-1,9,ch35data};
-
-/* char: 0x22 '"' */
-
-static const GLubyte ch34data[] = {
-0x90,0x90,0x90,
-};
-
-static const BitmapCharRec ch34 = {4,3,-3,-7,9,ch34data};
-
-/* char: 0x21 '!' */
-
-static const GLubyte ch33data[] = {
-0x80,0x80,0x0,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch33 = {1,11,-4,0,9,ch33data};
-
-/* char: 0x1f */
-
-static const GLubyte ch31data[] = {
-0xc0,0xc0,
-};
-
-static const BitmapCharRec ch31 = {2,2,-4,-2,9,ch31data};
-
-/* char: 0x1e */
-
-static const GLubyte ch30data[] = {
-0x5c,0xa2,0x60,0x20,0x20,0xf8,0x20,0x20,0x22,0x1c,
-};
-
-static const BitmapCharRec ch30 = {7,10,-1,0,9,ch30data};
-
-/* char: 0x1d */
-
-static const GLubyte ch29data[] = {
-0x80,0x40,0xfe,0x10,0xfe,0x4,0x2,
-};
-
-static const BitmapCharRec ch29 = {7,7,-1,0,9,ch29data};
-
-/* char: 0x1c */
-
-static const GLubyte ch28data[] = {
-0x44,0x24,0x24,0x24,0x24,0x24,0xfe,
-};
-
-static const BitmapCharRec ch28 = {7,7,-1,0,9,ch28data};
-
-/* char: 0x1b */
-
-static const GLubyte ch27data[] = {
-0xfe,0x0,0x80,0x40,0x20,0x10,0x8,0x8,0x10,0x20,0x40,0x80,
-};
-
-static const BitmapCharRec ch27 = {7,12,-1,2,9,ch27data};
-
-/* char: 0x1a */
-
-static const GLubyte ch26data[] = {
-0xfc,0x0,0x4,0x8,0x10,0x20,0x40,0x40,0x20,0x10,0x8,0x4,
-};
-
-static const BitmapCharRec ch26 = {6,12,-2,2,9,ch26data};
-
-/* char: 0x19 */
-
-static const GLubyte ch25data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch25 = {1,15,-4,3,9,ch25data};
-
-/* char: 0x18 */
-
-static const GLubyte ch24data[] = {
-0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0xff,0x80,
-};
-
-static const BitmapCharRec ch24 = {9,7,0,3,9,ch24data};
-
-/* char: 0x17 */
-
-static const GLubyte ch23data[] = {
-0xff,0x80,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,
-0x8,0x0,
-};
-
-static const BitmapCharRec ch23 = {9,9,0,-3,9,ch23data};
-
-/* char: 0x16 */
-
-static const GLubyte ch22data[] = {
-0x8,0x8,0x8,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,
-};
-
-static const BitmapCharRec ch22 = {5,15,0,3,9,ch22data};
-
-/* char: 0x15 */
-
-static const GLubyte ch21data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0xf8,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch21 = {5,15,-4,3,9,ch21data};
-
-/* char: 0x14 */
-
-static const GLubyte ch20data[] = {
-0xff,0x80,
-};
-
-static const BitmapCharRec ch20 = {9,1,0,1,9,ch20data};
-
-/* char: 0x13 */
-
-static const GLubyte ch19data[] = {
-0xff,0x80,
-};
-
-static const BitmapCharRec ch19 = {9,1,0,-1,9,ch19data};
-
-/* char: 0x12 */
-
-static const GLubyte ch18data[] = {
-0xff,0x80,
-};
-
-static const BitmapCharRec ch18 = {9,1,0,-3,9,ch18data};
-
-/* char: 0x11 */
-
-static const GLubyte ch17data[] = {
-0xff,0x80,
-};
-
-static const BitmapCharRec ch17 = {9,1,0,-5,9,ch17data};
-
-/* char: 0x10 */
-
-static const GLubyte ch16data[] = {
-0xff,0x80,
-};
-
-static const BitmapCharRec ch16 = {9,1,0,-7,9,ch16data};
-
-/* char: 0xf */
-
-static const GLubyte ch15data[] = {
-0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0xff,0x80,0x8,0x0,
-0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,
-};
-
-static const BitmapCharRec ch15 = {9,15,0,3,9,ch15data};
-
-/* char: 0xe */
-
-static const GLubyte ch14data[] = {
-0xf8,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch14 = {5,9,-4,-3,9,ch14data};
-
-/* char: 0xd */
-
-static const GLubyte ch13data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0xf8,
-};
-
-static const BitmapCharRec ch13 = {5,7,-4,3,9,ch13data};
-
-/* char: 0xc */
-
-static const GLubyte ch12data[] = {
-0x8,0x8,0x8,0x8,0x8,0x8,0xf8,
-};
-
-static const BitmapCharRec ch12 = {5,7,0,3,9,ch12data};
-
-/* char: 0xb */
-
-static const GLubyte ch11data[] = {
-0xf8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,
-};
-
-static const BitmapCharRec ch11 = {5,9,0,-3,9,ch11data};
-
-/* char: 0xa */
-
-static const GLubyte ch10data[] = {
-0x8,0x8,0x8,0x8,0x3e,0x0,0x20,0x50,0x88,0x88,
-};
-
-static const BitmapCharRec ch10 = {7,10,-1,2,9,ch10data};
-
-/* char: 0x9 */
-
-static const GLubyte ch9data[] = {
-0x3e,0x20,0x20,0x20,0x20,0x88,0x98,0xa8,0xc8,0x88,
-};
-
-static const BitmapCharRec ch9 = {7,10,-1,2,9,ch9data};
-
-/* char: 0x8 */
-
-static const GLubyte ch8data[] = {
-0xfe,0x10,0x10,0xfe,0x10,0x10,
-};
-
-static const BitmapCharRec ch8 = {7,6,-1,0,9,ch8data};
-
-/* char: 0x7 */
-
-static const GLubyte ch7data[] = {
-0x70,0x88,0x88,0x70,
-};
-
-static const BitmapCharRec ch7 = {5,4,-2,-6,9,ch7data};
-
-/* char: 0x6 */
-
-static const GLubyte ch6data[] = {
-0x20,0x20,0x3c,0x20,0x3e,0x0,0xf8,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch6 = {7,10,-1,2,9,ch6data};
-
-/* char: 0x5 */
-
-static const GLubyte ch5data[] = {
-0x22,0x22,0x3c,0x22,0x3c,0x0,0x78,0x80,0x80,0x78,
-};
-
-static const BitmapCharRec ch5 = {7,10,-1,2,9,ch5data};
-
-/* char: 0x4 */
-
-static const GLubyte ch4data[] = {
-0x10,0x10,0x1c,0x10,0x1e,0x80,0x80,0xe0,0x80,0xf0,
-};
-
-static const BitmapCharRec ch4 = {7,10,-1,2,9,ch4data};
-
-/* char: 0x3 */
-
-static const GLubyte ch3data[] = {
-0x8,0x8,0x8,0x3e,0x0,0x88,0x88,0xf8,0x88,0x88,
-};
-
-static const BitmapCharRec ch3 = {7,10,-1,2,9,ch3data};
-
-/* char: 0x2 */
-
-static const GLubyte ch2data[] = {
-0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,
-};
-
-static const BitmapCharRec ch2 = {8,14,0,3,9,ch2data};
-
-/* char: 0x1 */
-
-static const GLubyte ch1data[] = {
-0x10,0x38,0x7c,0xfe,0x7c,0x38,0x10,
-};
-
-static const BitmapCharRec ch1 = {7,7,-1,0,9,ch1data};
-
-static const BitmapCharRec * const chars[] = {
-&ch0,
-&ch1,
-&ch2,
-&ch3,
-&ch4,
-&ch5,
-&ch6,
-&ch7,
-&ch8,
-&ch9,
-&ch10,
-&ch11,
-&ch12,
-&ch13,
-&ch14,
-&ch15,
-&ch16,
-&ch17,
-&ch18,
-&ch19,
-&ch20,
-&ch21,
-&ch22,
-&ch23,
-&ch24,
-&ch25,
-&ch26,
-&ch27,
-&ch28,
-&ch29,
-&ch30,
-&ch31,
-&ch32,
-&ch33,
-&ch34,
-&ch35,
-&ch36,
-&ch37,
-&ch38,
-&ch39,
-&ch40,
-&ch41,
-&ch42,
-&ch43,
-&ch44,
-&ch45,
-&ch46,
-&ch47,
-&ch48,
-&ch49,
-&ch50,
-&ch51,
-&ch52,
-&ch53,
-&ch54,
-&ch55,
-&ch56,
-&ch57,
-&ch58,
-&ch59,
-&ch60,
-&ch61,
-&ch62,
-&ch63,
-&ch64,
-&ch65,
-&ch66,
-&ch67,
-&ch68,
-&ch69,
-&ch70,
-&ch71,
-&ch72,
-&ch73,
-&ch74,
-&ch75,
-&ch76,
-&ch77,
-&ch78,
-&ch79,
-&ch80,
-&ch81,
-&ch82,
-&ch83,
-&ch84,
-&ch85,
-&ch86,
-&ch87,
-&ch88,
-&ch89,
-&ch90,
-&ch91,
-&ch92,
-&ch93,
-&ch94,
-&ch95,
-&ch96,
-&ch97,
-&ch98,
-&ch99,
-&ch100,
-&ch101,
-&ch102,
-&ch103,
-&ch104,
-&ch105,
-&ch106,
-&ch107,
-&ch108,
-&ch109,
-&ch110,
-&ch111,
-&ch112,
-&ch113,
-&ch114,
-&ch115,
-&ch116,
-&ch117,
-&ch118,
-&ch119,
-&ch120,
-&ch121,
-&ch122,
-&ch123,
-&ch124,
-&ch125,
-&ch126,
-&ch127,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-&ch160,
-&ch161,
-&ch162,
-&ch163,
-&ch164,
-&ch165,
-&ch166,
-&ch167,
-&ch168,
-&ch169,
-&ch170,
-&ch171,
-&ch172,
-&ch173,
-&ch174,
-&ch175,
-&ch176,
-&ch177,
-&ch178,
-&ch179,
-&ch180,
-&ch181,
-&ch182,
-&ch183,
-&ch184,
-&ch185,
-&ch186,
-&ch187,
-&ch188,
-&ch189,
-&ch190,
-&ch191,
-&ch192,
-&ch193,
-&ch194,
-&ch195,
-&ch196,
-&ch197,
-&ch198,
-&ch199,
-&ch200,
-&ch201,
-&ch202,
-&ch203,
-&ch204,
-&ch205,
-&ch206,
-&ch207,
-&ch208,
-&ch209,
-&ch210,
-&ch211,
-&ch212,
-&ch213,
-&ch214,
-&ch215,
-&ch216,
-&ch217,
-&ch218,
-&ch219,
-&ch220,
-&ch221,
-&ch222,
-&ch223,
-&ch224,
-&ch225,
-&ch226,
-&ch227,
-&ch228,
-&ch229,
-&ch230,
-&ch231,
-&ch232,
-&ch233,
-&ch234,
-&ch235,
-&ch236,
-&ch237,
-&ch238,
-&ch239,
-&ch240,
-&ch241,
-&ch242,
-&ch243,
-&ch244,
-&ch245,
-&ch246,
-&ch247,
-&ch248,
-&ch249,
-&ch250,
-&ch251,
-&ch252,
-&ch253,
-&ch254,
-&ch255,
-};
-
-const BitmapFontRec glutBitmap9By15 = {
-"-misc-fixed-medium-r-normal--15-140-75-75-C-90-iso8859-1",
-256,
-0,
-chars
-};
-
diff --git a/src/glut/beos/glut_bitmap.c b/src/glut/beos/glut_bitmap.c
deleted file mode 100644
index f1afdd7a04..0000000000
--- a/src/glut/beos/glut_bitmap.c
+++ /dev/null
@@ -1,57 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include "glutint.h"
-#include "glutbitmap.h"
-
-void APIENTRY
-glutBitmapCharacter(GLUTbitmapFont font, int c)
-{
- const BitmapCharRec *ch;
- BitmapFontPtr fontinfo;
- GLint swapbytes, lsbfirst, rowlength;
- GLint skiprows, skippixels, alignment;
-
-#if defined(_WIN32)
- fontinfo = (BitmapFontPtr) __glutFont(font);
-#else
- fontinfo = (BitmapFontPtr) font;
-#endif
-
- if (c < fontinfo->first ||
- c >= fontinfo->first + fontinfo->num_chars)
- return;
- ch = fontinfo->ch[c - fontinfo->first];
- if (ch) {
- /* Save current modes. */
- glGetIntegerv(GL_UNPACK_SWAP_BYTES, &swapbytes);
- glGetIntegerv(GL_UNPACK_LSB_FIRST, &lsbfirst);
- glGetIntegerv(GL_UNPACK_ROW_LENGTH, &rowlength);
- glGetIntegerv(GL_UNPACK_SKIP_ROWS, &skiprows);
- glGetIntegerv(GL_UNPACK_SKIP_PIXELS, &skippixels);
- glGetIntegerv(GL_UNPACK_ALIGNMENT, &alignment);
- /* Little endian machines (DEC Alpha for example) could
- benefit from setting GL_UNPACK_LSB_FIRST to GL_TRUE
- instead of GL_FALSE, but this would require changing the
- generated bitmaps too. */
- glPixelStorei(GL_UNPACK_SWAP_BYTES, GL_FALSE);
- glPixelStorei(GL_UNPACK_LSB_FIRST, GL_FALSE);
- glPixelStorei(GL_UNPACK_ROW_LENGTH, 0);
- glPixelStorei(GL_UNPACK_SKIP_ROWS, 0);
- glPixelStorei(GL_UNPACK_SKIP_PIXELS, 0);
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- glBitmap(ch->width, ch->height, ch->xorig, ch->yorig,
- ch->advance, 0, ch->bitmap);
- /* Restore saved modes. */
- glPixelStorei(GL_UNPACK_SWAP_BYTES, swapbytes);
- glPixelStorei(GL_UNPACK_LSB_FIRST, lsbfirst);
- glPixelStorei(GL_UNPACK_ROW_LENGTH, rowlength);
- glPixelStorei(GL_UNPACK_SKIP_ROWS, skiprows);
- glPixelStorei(GL_UNPACK_SKIP_PIXELS, skippixels);
- glPixelStorei(GL_UNPACK_ALIGNMENT, alignment);
- }
-}
diff --git a/src/glut/beos/glut_bwidth.c b/src/glut/beos/glut_bwidth.c
deleted file mode 100644
index bee5e8827e..0000000000
--- a/src/glut/beos/glut_bwidth.c
+++ /dev/null
@@ -1,58 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include "glutint.h"
-#include "glutbitmap.h"
-
-/* CENTRY */
-int APIENTRY
-glutBitmapWidth(GLUTbitmapFont font, int c)
-{
- BitmapFontPtr fontinfo;
- const BitmapCharRec *ch;
-
-#ifdef _WIN32
- fontinfo = (BitmapFontPtr) __glutFont(font);
-#else
- fontinfo = (BitmapFontPtr) font;
-#endif
-
- if (c < fontinfo->first || c >= fontinfo->first + fontinfo->num_chars)
- return 0;
- ch = fontinfo->ch[c - fontinfo->first];
- if (ch)
- return ch->advance;
- else
- return 0;
-}
-
-int APIENTRY
-glutBitmapLength(GLUTbitmapFont font, const unsigned char *string)
-{
- int c, length;
- BitmapFontPtr fontinfo;
- const BitmapCharRec *ch;
-
-#ifdef _WIN32
- fontinfo = (BitmapFontPtr) __glutFont(font);
-#else
- fontinfo = (BitmapFontPtr) font;
-#endif
-
- length = 0;
- for (; *string != '\0'; string++) {
- c = *string;
- if (c >= fontinfo->first && c < fontinfo->first + fontinfo->num_chars) {
- ch = fontinfo->ch[c - fontinfo->first];
- if (ch)
- length += ch->advance;
- }
- }
- return length;
-}
-
-/* ENDCENTRY */
diff --git a/src/glut/beos/glut_ext.c b/src/glut/beos/glut_ext.c
deleted file mode 100644
index 334f31f1a3..0000000000
--- a/src/glut/beos/glut_ext.c
+++ /dev/null
@@ -1,201 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994, 1997. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include <stdlib.h>
-#include <string.h>
-
-#include "glutint.h"
-
-/* CENTRY */
-int GLUTAPIENTRY
-glutExtensionSupported(const char *extension)
-{
- static const GLubyte *extensions = NULL;
- const GLubyte *start;
- GLubyte *where, *terminator;
-
- /* Extension names should not have spaces. */
- where = (GLubyte *) strchr(extension, ' ');
- if (where || *extension == '\0')
- return 0;
-
- if (!extensions) {
- extensions = glGetString(GL_EXTENSIONS);
- }
- /* It takes a bit of care to be fool-proof about parsing the
- OpenGL extensions string. Don't be fooled by sub-strings,
- etc. */
- start = extensions;
- for (;;) {
- /* If your application crashes in the strstr routine below,
- you are probably calling glutExtensionSupported without
- having a current window. Calling glGetString without
- a current OpenGL context has unpredictable results.
- Please fix your program. */
- where = (GLubyte *) strstr((const char *) start, extension);
- if (!where)
- break;
- terminator = where + strlen(extension);
- if (where == start || *(where - 1) == ' ') {
- if (*terminator == ' ' || *terminator == '\0') {
- return 1;
- }
- }
- start = terminator;
- }
- return 0;
-}
-
-
-struct name_address_pair {
- const char *name;
- const GLUTproc address;
-};
-
-static struct name_address_pair glut_functions[] = {
- { "glutInit", (const GLUTproc) glutInit },
- { "glutInitDisplayMode", (const GLUTproc) glutInitDisplayMode },
- { "glutInitDisplayString", (const GLUTproc) glutInitDisplayString },
- { "glutInitWindowPosition", (const GLUTproc) glutInitWindowPosition },
- { "glutInitWindowSize", (const GLUTproc) glutInitWindowSize },
- { "glutMainLoop", (const GLUTproc) glutMainLoop },
- { "glutCreateWindow", (const GLUTproc) glutCreateWindow },
- { "glutCreateSubWindow", (const GLUTproc) glutCreateSubWindow },
- { "glutDestroyWindow", (const GLUTproc) glutDestroyWindow },
- { "glutPostRedisplay", (const GLUTproc) glutPostRedisplay },
- { "glutPostWindowRedisplay", (const GLUTproc) glutPostWindowRedisplay },
- { "glutSwapBuffers", (const GLUTproc) glutSwapBuffers },
- { "glutGetWindow", (const GLUTproc) glutGetWindow },
- { "glutSetWindow", (const GLUTproc) glutSetWindow },
- { "glutSetWindowTitle", (const GLUTproc) glutSetWindowTitle },
- { "glutSetIconTitle", (const GLUTproc) glutSetIconTitle },
- { "glutPositionWindow", (const GLUTproc) glutPositionWindow },
- { "glutReshapeWindow", (const GLUTproc) glutReshapeWindow },
- { "glutPopWindow", (const GLUTproc) glutPopWindow },
- { "glutPushWindow", (const GLUTproc) glutPushWindow },
- { "glutIconifyWindow", (const GLUTproc) glutIconifyWindow },
- { "glutShowWindow", (const GLUTproc) glutShowWindow },
- { "glutHideWindow", (const GLUTproc) glutHideWindow },
- { "glutFullScreen", (const GLUTproc) glutFullScreen },
- { "glutSetCursor", (const GLUTproc) glutSetCursor },
- { "glutWarpPointer", (const GLUTproc) glutWarpPointer },
- { "glutEstablishOverlay", (const GLUTproc) glutEstablishOverlay },
- { "glutRemoveOverlay", (const GLUTproc) glutRemoveOverlay },
- { "glutUseLayer", (const GLUTproc) glutUseLayer },
- { "glutPostOverlayRedisplay", (const GLUTproc) glutPostOverlayRedisplay },
- { "glutPostWindowOverlayRedisplay", (const GLUTproc) glutPostWindowOverlayRedisplay },
- { "glutShowOverlay", (const GLUTproc) glutShowOverlay },
- { "glutHideOverlay", (const GLUTproc) glutHideOverlay },
- { "glutCreateMenu", (const GLUTproc) glutCreateMenu },
- { "glutDestroyMenu", (const GLUTproc) glutDestroyMenu },
- { "glutGetMenu", (const GLUTproc) glutGetMenu },
- { "glutSetMenu", (const GLUTproc) glutSetMenu },
- { "glutAddMenuEntry", (const GLUTproc) glutAddMenuEntry },
- { "glutAddSubMenu", (const GLUTproc) glutAddSubMenu },
- { "glutChangeToMenuEntry", (const GLUTproc) glutChangeToMenuEntry },
- { "glutChangeToSubMenu", (const GLUTproc) glutChangeToSubMenu },
- { "glutRemoveMenuItem", (const GLUTproc) glutRemoveMenuItem },
- { "glutAttachMenu", (const GLUTproc) glutAttachMenu },
- { "glutDetachMenu", (const GLUTproc) glutDetachMenu },
- { "glutDisplayFunc", (const GLUTproc) glutDisplayFunc },
- { "glutReshapeFunc", (const GLUTproc) glutReshapeFunc },
- { "glutKeyboardFunc", (const GLUTproc) glutKeyboardFunc },
- { "glutMouseFunc", (const GLUTproc) glutMouseFunc },
- { "glutMotionFunc", (const GLUTproc) glutMotionFunc },
- { "glutPassiveMotionFunc", (const GLUTproc) glutPassiveMotionFunc },
- { "glutEntryFunc", (const GLUTproc) glutEntryFunc },
- { "glutVisibilityFunc", (const GLUTproc) glutVisibilityFunc },
- { "glutIdleFunc", (const GLUTproc) glutIdleFunc },
- { "glutTimerFunc", (const GLUTproc) glutTimerFunc },
- { "glutMenuStateFunc", (const GLUTproc) glutMenuStateFunc },
- { "glutSpecialFunc", (const GLUTproc) glutSpecialFunc },
- { "glutSpaceballMotionFunc", (const GLUTproc) glutSpaceballMotionFunc },
- { "glutSpaceballRotateFunc", (const GLUTproc) glutSpaceballRotateFunc },
- { "glutSpaceballButtonFunc", (const GLUTproc) glutSpaceballButtonFunc },
- { "glutButtonBoxFunc", (const GLUTproc) glutButtonBoxFunc },
- { "glutDialsFunc", (const GLUTproc) glutDialsFunc },
- { "glutTabletMotionFunc", (const GLUTproc) glutTabletMotionFunc },
- { "glutTabletButtonFunc", (const GLUTproc) glutTabletButtonFunc },
- { "glutMenuStatusFunc", (const GLUTproc) glutMenuStatusFunc },
- { "glutOverlayDisplayFunc", (const GLUTproc) glutOverlayDisplayFunc },
- { "glutWindowStatusFunc", (const GLUTproc) glutWindowStatusFunc },
-// { "glutKeyboardUpFunc", (const GLUTproc) glutKeyboardUpFunc },
-// { "glutSpecialUpFunc", (const GLUTproc) glutSpecialUpFunc },
-// { "glutJoystickFunc", (const GLUTproc) glutJoystickFunc },
- { "glutSetColor", (const GLUTproc) glutSetColor },
- { "glutGetColor", (const GLUTproc) glutGetColor },
- { "glutCopyColormap", (const GLUTproc) glutCopyColormap },
- { "glutGet", (const GLUTproc) glutGet },
- { "glutDeviceGet", (const GLUTproc) glutDeviceGet },
- { "glutExtensionSupported", (const GLUTproc) glutExtensionSupported },
- { "glutGetModifiers", (const GLUTproc) glutGetModifiers },
- { "glutLayerGet", (const GLUTproc) glutLayerGet },
- { "glutGetProcAddress", (const GLUTproc) glutGetProcAddress },
- { "glutBitmapCharacter", (const GLUTproc) glutBitmapCharacter },
- { "glutBitmapWidth", (const GLUTproc) glutBitmapWidth },
- { "glutStrokeCharacter", (const GLUTproc) glutStrokeCharacter },
- { "glutStrokeWidth", (const GLUTproc) glutStrokeWidth },
- { "glutBitmapLength", (const GLUTproc) glutBitmapLength },
- { "glutStrokeLength", (const GLUTproc) glutStrokeLength },
- { "glutWireSphere", (const GLUTproc) glutWireSphere },
- { "glutSolidSphere", (const GLUTproc) glutSolidSphere },
- { "glutWireCone", (const GLUTproc) glutWireCone },
- { "glutSolidCone", (const GLUTproc) glutSolidCone },
- { "glutWireCube", (const GLUTproc) glutWireCube },
- { "glutSolidCube", (const GLUTproc) glutSolidCube },
- { "glutWireTorus", (const GLUTproc) glutWireTorus },
- { "glutSolidTorus", (const GLUTproc) glutSolidTorus },
- { "glutWireDodecahedron", (const GLUTproc) glutWireDodecahedron },
- { "glutSolidDodecahedron", (const GLUTproc) glutSolidDodecahedron },
- { "glutWireTeapot", (const GLUTproc) glutWireTeapot },
- { "glutSolidTeapot", (const GLUTproc) glutSolidTeapot },
- { "glutWireOctahedron", (const GLUTproc) glutWireOctahedron },
- { "glutSolidOctahedron", (const GLUTproc) glutSolidOctahedron },
- { "glutWireTetrahedron", (const GLUTproc) glutWireTetrahedron },
- { "glutSolidTetrahedron", (const GLUTproc) glutSolidTetrahedron },
- { "glutWireIcosahedron", (const GLUTproc) glutWireIcosahedron },
- { "glutSolidIcosahedron", (const GLUTproc) glutSolidIcosahedron },
- { "glutVideoResizeGet", (const GLUTproc) glutVideoResizeGet },
- { "glutSetupVideoResizing", (const GLUTproc) glutSetupVideoResizing },
- { "glutStopVideoResizing", (const GLUTproc) glutStopVideoResizing },
- { "glutVideoResize", (const GLUTproc) glutVideoResize },
- { "glutVideoPan", (const GLUTproc) glutVideoPan },
- { "glutReportErrors", (const GLUTproc) glutReportErrors },
-// { "glutIgnoreKeyRepeat", (const GLUTproc) glutIgnoreKeyRepeat },
-// { "glutSetKeyRepeat", (const GLUTproc) glutSetKeyRepeat },
-// { "glutForceJoystickFunc", (const GLUTproc) glutForceJoystickFunc },
-// { "glutGameModeString", (const GLUTproc) glutGameModeString },
-// { "glutEnterGameMode", (const GLUTproc) glutEnterGameMode },
-// { "glutLeaveGameMode", (const GLUTproc) glutLeaveGameMode },
-// { "glutGameModeGet", (const GLUTproc) glutGameModeGet },
- { NULL, NULL }
-};
-
-
-/* XXX This isn't an official GLUT function, yet */
-GLUTproc GLUTAPIENTRY
-glutGetProcAddress(const char *procName)
-{
- /* Try GLUT functions first */
- int i;
- for (i = 0; glut_functions[i].name; i++) {
- if (strcmp(glut_functions[i].name, procName) == 0)
- return glut_functions[i].address;
- }
-
- /* Try core GL functions */
-#if defined(_WIN32)
- return (GLUTProc) wglGetProcAddress((LPCSTR) procName);
-#elif defined(GLX_ARB_get_proc_address)
- return (GLUTProc) glXGetProcAddressARB((const GLubyte *) procName);
-#else
- return NULL;
-#endif
-}
-
-
-/* ENDCENTRY */
diff --git a/src/glut/beos/glut_hel10.c b/src/glut/beos/glut_hel10.c
deleted file mode 100644
index 703cef38f2..0000000000
--- a/src/glut/beos/glut_hel10.c
+++ /dev/null
@@ -1,1778 +0,0 @@
-
-/* GENERATED FILE -- DO NOT MODIFY */
-
-#define glutBitmapHelvetica10 XXX
-#include "glutbitmap.h"
-#undef glutBitmapHelvetica10
-
-/* char: 0xff */
-
-static const GLubyte ch255data[] = {
-0x80,0x40,0x40,0x60,0xa0,0xa0,0x90,0x90,0x0,0x50,
-};
-
-static const BitmapCharRec ch255 = {4,10,0,2,5,ch255data};
-
-/* char: 0xfe */
-
-static const GLubyte ch254data[] = {
-0x80,0x80,0xb0,0xc8,0x88,0x88,0xc8,0xb0,0x80,0x80,
-};
-
-static const BitmapCharRec ch254 = {5,10,0,2,6,ch254data};
-
-/* char: 0xfd */
-
-static const GLubyte ch253data[] = {
-0x80,0x40,0x40,0x60,0xa0,0xa0,0x90,0x90,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch253 = {4,11,0,2,5,ch253data};
-
-/* char: 0xfc */
-
-static const GLubyte ch252data[] = {
-0x70,0x90,0x90,0x90,0x90,0x90,0x0,0x50,
-};
-
-static const BitmapCharRec ch252 = {4,8,0,0,5,ch252data};
-
-/* char: 0xfb */
-
-static const GLubyte ch251data[] = {
-0x70,0x90,0x90,0x90,0x90,0x90,0x0,0x50,0x20,
-};
-
-static const BitmapCharRec ch251 = {4,9,0,0,5,ch251data};
-
-/* char: 0xfa */
-
-static const GLubyte ch250data[] = {
-0x70,0x90,0x90,0x90,0x90,0x90,0x0,0x40,0x20,
-};
-
-static const BitmapCharRec ch250 = {4,9,0,0,5,ch250data};
-
-/* char: 0xf9 */
-
-static const GLubyte ch249data[] = {
-0x70,0x90,0x90,0x90,0x90,0x90,0x0,0x20,0x40,
-};
-
-static const BitmapCharRec ch249 = {4,9,0,0,5,ch249data};
-
-/* char: 0xf8 */
-
-static const GLubyte ch248data[] = {
-0x70,0x88,0xc8,0xa8,0x98,0x74,
-};
-
-static const BitmapCharRec ch248 = {6,6,0,0,6,ch248data};
-
-/* char: 0xf7 */
-
-static const GLubyte ch247data[] = {
-0x20,0x0,0xf8,0x0,0x20,
-};
-
-static const BitmapCharRec ch247 = {5,5,0,-1,6,ch247data};
-
-/* char: 0xf6 */
-
-static const GLubyte ch246data[] = {
-0x70,0x88,0x88,0x88,0x88,0x70,0x0,0x50,
-};
-
-static const BitmapCharRec ch246 = {5,8,0,0,6,ch246data};
-
-/* char: 0xf5 */
-
-static const GLubyte ch245data[] = {
-0x70,0x88,0x88,0x88,0x88,0x70,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch245 = {5,9,0,0,6,ch245data};
-
-/* char: 0xf4 */
-
-static const GLubyte ch244data[] = {
-0x70,0x88,0x88,0x88,0x88,0x70,0x0,0x50,0x20,
-};
-
-static const BitmapCharRec ch244 = {5,9,0,0,6,ch244data};
-
-/* char: 0xf3 */
-
-static const GLubyte ch243data[] = {
-0x70,0x88,0x88,0x88,0x88,0x70,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch243 = {5,9,0,0,6,ch243data};
-
-/* char: 0xf2 */
-
-static const GLubyte ch242data[] = {
-0x70,0x88,0x88,0x88,0x88,0x70,0x0,0x20,0x40,
-};
-
-static const BitmapCharRec ch242 = {5,9,0,0,6,ch242data};
-
-/* char: 0xf1 */
-
-static const GLubyte ch241data[] = {
-0x90,0x90,0x90,0x90,0x90,0xe0,0x0,0xa0,0x50,
-};
-
-static const BitmapCharRec ch241 = {4,9,0,0,5,ch241data};
-
-/* char: 0xf0 */
-
-static const GLubyte ch240data[] = {
-0x70,0x88,0x88,0x88,0x88,0x78,0x90,0x60,0x50,
-};
-
-static const BitmapCharRec ch240 = {5,9,0,0,6,ch240data};
-
-/* char: 0xef */
-
-static const GLubyte ch239data[] = {
-0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0,
-};
-
-static const BitmapCharRec ch239 = {3,8,0,0,2,ch239data};
-
-/* char: 0xee */
-
-static const GLubyte ch238data[] = {
-0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0,0x40,
-};
-
-static const BitmapCharRec ch238 = {3,9,1,0,2,ch238data};
-
-/* char: 0xed */
-
-static const GLubyte ch237data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,0x40,
-};
-
-static const BitmapCharRec ch237 = {2,9,0,0,2,ch237data};
-
-/* char: 0xec */
-
-static const GLubyte ch236data[] = {
-0x40,0x40,0x40,0x40,0x40,0x40,0x0,0x40,0x80,
-};
-
-static const BitmapCharRec ch236 = {2,9,1,0,2,ch236data};
-
-/* char: 0xeb */
-
-static const GLubyte ch235data[] = {
-0x60,0x90,0x80,0xf0,0x90,0x60,0x0,0x50,
-};
-
-static const BitmapCharRec ch235 = {4,8,0,0,5,ch235data};
-
-/* char: 0xea */
-
-static const GLubyte ch234data[] = {
-0x60,0x90,0x80,0xf0,0x90,0x60,0x0,0x50,0x20,
-};
-
-static const BitmapCharRec ch234 = {4,9,0,0,5,ch234data};
-
-/* char: 0xe9 */
-
-static const GLubyte ch233data[] = {
-0x60,0x90,0x80,0xf0,0x90,0x60,0x0,0x40,0x20,
-};
-
-static const BitmapCharRec ch233 = {4,9,0,0,5,ch233data};
-
-/* char: 0xe8 */
-
-static const GLubyte ch232data[] = {
-0x60,0x90,0x80,0xf0,0x90,0x60,0x0,0x20,0x40,
-};
-
-static const BitmapCharRec ch232 = {4,9,0,0,5,ch232data};
-
-/* char: 0xe7 */
-
-static const GLubyte ch231data[] = {
-0x60,0x20,0x60,0x90,0x80,0x80,0x90,0x60,
-};
-
-static const BitmapCharRec ch231 = {4,8,0,2,5,ch231data};
-
-/* char: 0xe6 */
-
-static const GLubyte ch230data[] = {
-0x6c,0x92,0x90,0x7e,0x12,0xec,
-};
-
-static const BitmapCharRec ch230 = {7,6,0,0,8,ch230data};
-
-/* char: 0xe5 */
-
-static const GLubyte ch229data[] = {
-0x68,0x90,0x90,0x70,0x10,0xe0,0x20,0x50,0x20,
-};
-
-static const BitmapCharRec ch229 = {5,9,0,0,5,ch229data};
-
-/* char: 0xe4 */
-
-static const GLubyte ch228data[] = {
-0x68,0x90,0x90,0x70,0x10,0xe0,0x0,0x50,
-};
-
-static const BitmapCharRec ch228 = {5,8,0,0,5,ch228data};
-
-/* char: 0xe3 */
-
-static const GLubyte ch227data[] = {
-0x68,0x90,0x90,0x70,0x10,0xe0,0x0,0xa0,0x50,
-};
-
-static const BitmapCharRec ch227 = {5,9,0,0,5,ch227data};
-
-/* char: 0xe2 */
-
-static const GLubyte ch226data[] = {
-0x68,0x90,0x90,0x70,0x10,0xe0,0x0,0x50,0x20,
-};
-
-static const BitmapCharRec ch226 = {5,9,0,0,5,ch226data};
-
-/* char: 0xe1 */
-
-static const GLubyte ch225data[] = {
-0x68,0x90,0x90,0x70,0x10,0xe0,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch225 = {5,9,0,0,5,ch225data};
-
-/* char: 0xe0 */
-
-static const GLubyte ch224data[] = {
-0x68,0x90,0x90,0x70,0x10,0xe0,0x0,0x20,0x40,
-};
-
-static const BitmapCharRec ch224 = {5,9,0,0,5,ch224data};
-
-/* char: 0xdf */
-
-static const GLubyte ch223data[] = {
-0xa0,0x90,0x90,0x90,0xa0,0x90,0x90,0x60,
-};
-
-static const BitmapCharRec ch223 = {4,8,0,0,5,ch223data};
-
-/* char: 0xde */
-
-static const GLubyte ch222data[] = {
-0x80,0x80,0xf0,0x88,0x88,0xf0,0x80,0x80,
-};
-
-static const BitmapCharRec ch222 = {5,8,-1,0,7,ch222data};
-
-/* char: 0xdd */
-
-static const GLubyte ch221data[] = {
-0x10,0x10,0x10,0x28,0x28,0x44,0x44,0x82,0x0,0x10,0x8,
-};
-
-static const BitmapCharRec ch221 = {7,11,0,0,7,ch221data};
-
-/* char: 0xdc */
-
-static const GLubyte ch220data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x48,
-};
-
-static const BitmapCharRec ch220 = {6,10,-1,0,8,ch220data};
-
-/* char: 0xdb */
-
-static const GLubyte ch219data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x28,0x10,
-};
-
-static const BitmapCharRec ch219 = {6,11,-1,0,8,ch219data};
-
-/* char: 0xda */
-
-static const GLubyte ch218data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch218 = {6,11,-1,0,8,ch218data};
-
-/* char: 0xd9 */
-
-static const GLubyte ch217data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch217 = {6,11,-1,0,8,ch217data};
-
-/* char: 0xd8 */
-
-static const GLubyte ch216data[] = {
-0x80,0x78,0xc4,0xa4,0xa4,0x94,0x94,0x8c,0x78,0x4,
-};
-
-static const BitmapCharRec ch216 = {6,10,-1,1,8,ch216data};
-
-/* char: 0xd7 */
-
-static const GLubyte ch215data[] = {
-0x88,0x50,0x20,0x50,0x88,
-};
-
-static const BitmapCharRec ch215 = {5,5,0,-1,6,ch215data};
-
-/* char: 0xd6 */
-
-static const GLubyte ch214data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x78,0x0,0x48,
-};
-
-static const BitmapCharRec ch214 = {6,10,-1,0,8,ch214data};
-
-/* char: 0xd5 */
-
-static const GLubyte ch213data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x78,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch213 = {6,11,-1,0,8,ch213data};
-
-/* char: 0xd4 */
-
-static const GLubyte ch212data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x78,0x0,0x28,0x10,
-};
-
-static const BitmapCharRec ch212 = {6,11,-1,0,8,ch212data};
-
-/* char: 0xd3 */
-
-static const GLubyte ch211data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x78,0x0,0x10,0x8,
-};
-
-static const BitmapCharRec ch211 = {6,11,-1,0,8,ch211data};
-
-/* char: 0xd2 */
-
-static const GLubyte ch210data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x78,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch210 = {6,11,-1,0,8,ch210data};
-
-/* char: 0xd1 */
-
-static const GLubyte ch209data[] = {
-0x8c,0x8c,0x94,0x94,0xa4,0xa4,0xc4,0xc4,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch209 = {6,11,-1,0,8,ch209data};
-
-/* char: 0xd0 */
-
-static const GLubyte ch208data[] = {
-0x78,0x44,0x42,0x42,0xf2,0x42,0x44,0x78,
-};
-
-static const BitmapCharRec ch208 = {7,8,0,0,8,ch208data};
-
-/* char: 0xcf */
-
-static const GLubyte ch207data[] = {
-0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0,
-};
-
-static const BitmapCharRec ch207 = {3,10,0,0,3,ch207data};
-
-/* char: 0xce */
-
-static const GLubyte ch206data[] = {
-0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0,0x40,
-};
-
-static const BitmapCharRec ch206 = {3,11,0,0,3,ch206data};
-
-/* char: 0xcd */
-
-static const GLubyte ch205data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,0x40,
-};
-
-static const BitmapCharRec ch205 = {2,11,-1,0,3,ch205data};
-
-/* char: 0xcc */
-
-static const GLubyte ch204data[] = {
-0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0x40,0x80,
-};
-
-static const BitmapCharRec ch204 = {2,11,0,0,3,ch204data};
-
-/* char: 0xcb */
-
-static const GLubyte ch203data[] = {
-0xf8,0x80,0x80,0x80,0xf8,0x80,0x80,0xf8,0x0,0x50,
-};
-
-static const BitmapCharRec ch203 = {5,10,-1,0,7,ch203data};
-
-/* char: 0xca */
-
-static const GLubyte ch202data[] = {
-0xf8,0x80,0x80,0xf8,0x80,0x80,0x80,0xf8,0x0,0x50,0x20,
-};
-
-static const BitmapCharRec ch202 = {5,11,-1,0,7,ch202data};
-
-/* char: 0xc9 */
-
-static const GLubyte ch201data[] = {
-0xf8,0x80,0x80,0x80,0xf8,0x80,0x80,0xf8,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch201 = {5,11,-1,0,7,ch201data};
-
-/* char: 0xc8 */
-
-static const GLubyte ch200data[] = {
-0xf8,0x80,0x80,0x80,0xf8,0x80,0x80,0xf8,0x0,0x20,0x40,
-};
-
-static const BitmapCharRec ch200 = {5,11,-1,0,7,ch200data};
-
-/* char: 0xc7 */
-
-static const GLubyte ch199data[] = {
-0x30,0x10,0x78,0x84,0x80,0x80,0x80,0x80,0x84,0x78,
-};
-
-static const BitmapCharRec ch199 = {6,10,-1,2,8,ch199data};
-
-/* char: 0xc6 */
-
-static const GLubyte ch198data[] = {
-0x8f,0x80,0x88,0x0,0x78,0x0,0x48,0x0,0x2f,0x80,0x28,0x0,0x18,0x0,0x1f,0x80,
-};
-
-static const BitmapCharRec ch198 = {9,8,0,0,10,ch198data};
-
-/* char: 0xc5 */
-
-static const GLubyte ch197data[] = {
-0x82,0x82,0x7c,0x44,0x28,0x28,0x10,0x10,0x10,0x28,0x10,
-};
-
-static const BitmapCharRec ch197 = {7,11,0,0,7,ch197data};
-
-/* char: 0xc4 */
-
-static const GLubyte ch196data[] = {
-0x82,0x82,0x7c,0x44,0x28,0x28,0x10,0x10,0x0,0x28,
-};
-
-static const BitmapCharRec ch196 = {7,10,0,0,7,ch196data};
-
-/* char: 0xc3 */
-
-static const GLubyte ch195data[] = {
-0x82,0x82,0x7c,0x44,0x28,0x28,0x10,0x10,0x0,0x28,0x14,
-};
-
-static const BitmapCharRec ch195 = {7,11,0,0,7,ch195data};
-
-/* char: 0xc2 */
-
-static const GLubyte ch194data[] = {
-0x82,0x82,0x7c,0x44,0x28,0x28,0x10,0x10,0x0,0x28,0x10,
-};
-
-static const BitmapCharRec ch194 = {7,11,0,0,7,ch194data};
-
-/* char: 0xc1 */
-
-static const GLubyte ch193data[] = {
-0x82,0x82,0x7c,0x44,0x28,0x28,0x10,0x10,0x0,0x10,0x8,
-};
-
-static const BitmapCharRec ch193 = {7,11,0,0,7,ch193data};
-
-/* char: 0xc0 */
-
-static const GLubyte ch192data[] = {
-0x82,0x82,0x7c,0x44,0x28,0x28,0x10,0x10,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch192 = {7,11,0,0,7,ch192data};
-
-/* char: 0xbf */
-
-static const GLubyte ch191data[] = {
-0x60,0x90,0x80,0x40,0x20,0x20,0x0,0x20,
-};
-
-static const BitmapCharRec ch191 = {4,8,-1,2,6,ch191data};
-
-/* char: 0xbe */
-
-static const GLubyte ch190data[] = {
-0x21,0x0,0x17,0x80,0x13,0x0,0x9,0x0,0xc8,0x0,0x24,0x0,0x44,0x0,0xe2,0x0,
-};
-
-static const BitmapCharRec ch190 = {9,8,0,0,9,ch190data};
-
-/* char: 0xbd */
-
-static const GLubyte ch189data[] = {
-0x27,0x12,0x15,0xb,0x48,0x44,0xc4,0x42,
-};
-
-static const BitmapCharRec ch189 = {8,8,0,0,9,ch189data};
-
-/* char: 0xbc */
-
-static const GLubyte ch188data[] = {
-0x21,0x0,0x17,0x80,0x13,0x0,0x9,0x0,0x48,0x0,0x44,0x0,0xc4,0x0,0x42,0x0,
-};
-
-static const BitmapCharRec ch188 = {9,8,0,0,9,ch188data};
-
-/* char: 0xbb */
-
-static const GLubyte ch187data[] = {
-0xa0,0x50,0x28,0x50,0xa0,
-};
-
-static const BitmapCharRec ch187 = {5,5,0,0,6,ch187data};
-
-/* char: 0xba */
-
-static const GLubyte ch186data[] = {
-0xe0,0x0,0xe0,0xa0,0xe0,
-};
-
-static const BitmapCharRec ch186 = {3,5,0,-3,4,ch186data};
-
-/* char: 0xb9 */
-
-static const GLubyte ch185data[] = {
-0x40,0x40,0xc0,0x40,
-};
-
-static const BitmapCharRec ch185 = {2,4,0,-3,3,ch185data};
-
-/* char: 0xb8 */
-
-static const GLubyte ch184data[] = {
-0xc0,0x40,
-};
-
-static const BitmapCharRec ch184 = {2,2,0,2,3,ch184data};
-
-/* char: 0xb7 */
-
-static const GLubyte ch183data[] = {
-0xc0,
-};
-
-static const BitmapCharRec ch183 = {2,1,0,-3,3,ch183data};
-
-/* char: 0xb6 */
-
-static const GLubyte ch182data[] = {
-0x28,0x28,0x28,0x28,0x28,0x68,0xe8,0xe8,0xe8,0x7c,
-};
-
-static const BitmapCharRec ch182 = {6,10,0,2,6,ch182data};
-
-/* char: 0xb5 */
-
-static const GLubyte ch181data[] = {
-0x80,0x80,0xf0,0x90,0x90,0x90,0x90,0x90,
-};
-
-static const BitmapCharRec ch181 = {4,8,0,2,5,ch181data};
-
-/* char: 0xb4 */
-
-static const GLubyte ch180data[] = {
-0x80,0x40,
-};
-
-static const BitmapCharRec ch180 = {2,2,0,-6,3,ch180data};
-
-/* char: 0xb3 */
-
-static const GLubyte ch179data[] = {
-0xc0,0x20,0x40,0xe0,
-};
-
-static const BitmapCharRec ch179 = {3,4,0,-3,3,ch179data};
-
-/* char: 0xb2 */
-
-static const GLubyte ch178data[] = {
-0xe0,0x40,0xa0,0x60,
-};
-
-static const BitmapCharRec ch178 = {3,4,0,-3,3,ch178data};
-
-/* char: 0xb1 */
-
-static const GLubyte ch177data[] = {
-0xf8,0x0,0x20,0x20,0xf8,0x20,0x20,
-};
-
-static const BitmapCharRec ch177 = {5,7,0,0,6,ch177data};
-
-/* char: 0xb0 */
-
-static const GLubyte ch176data[] = {
-0x60,0x90,0x90,0x60,
-};
-
-static const BitmapCharRec ch176 = {4,4,0,-3,4,ch176data};
-
-/* char: 0xaf */
-
-static const GLubyte ch175data[] = {
-0xe0,
-};
-
-static const BitmapCharRec ch175 = {3,1,0,-7,3,ch175data};
-
-/* char: 0xae */
-
-static const GLubyte ch174data[] = {
-0x38,0x44,0xaa,0xb2,0xba,0x44,0x38,
-};
-
-static const BitmapCharRec ch174 = {7,7,-1,0,9,ch174data};
-
-/* char: 0xad */
-
-static const GLubyte ch173data[] = {
-0xe0,
-};
-
-static const BitmapCharRec ch173 = {3,1,0,-3,4,ch173data};
-
-/* char: 0xac */
-
-static const GLubyte ch172data[] = {
-0x8,0x8,0xf8,
-};
-
-static const BitmapCharRec ch172 = {5,3,-1,-2,7,ch172data};
-
-/* char: 0xab */
-
-static const GLubyte ch171data[] = {
-0x28,0x50,0xa0,0x50,0x28,
-};
-
-static const BitmapCharRec ch171 = {5,5,0,0,6,ch171data};
-
-/* char: 0xaa */
-
-static const GLubyte ch170data[] = {
-0xe0,0x0,0xa0,0x20,0xe0,
-};
-
-static const BitmapCharRec ch170 = {3,5,0,-3,4,ch170data};
-
-/* char: 0xa9 */
-
-static const GLubyte ch169data[] = {
-0x38,0x44,0x9a,0xa2,0x9a,0x44,0x38,
-};
-
-static const BitmapCharRec ch169 = {7,7,-1,0,9,ch169data};
-
-/* char: 0xa8 */
-
-static const GLubyte ch168data[] = {
-0xa0,
-};
-
-static const BitmapCharRec ch168 = {3,1,0,-7,3,ch168data};
-
-/* char: 0xa7 */
-
-static const GLubyte ch167data[] = {
-0x70,0x88,0x18,0x70,0xc8,0x98,0x70,0xc0,0x88,0x70,
-};
-
-static const BitmapCharRec ch167 = {5,10,0,2,6,ch167data};
-
-/* char: 0xa6 */
-
-static const GLubyte ch166data[] = {
-0x80,0x80,0x80,0x80,0x0,0x0,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch166 = {1,10,-1,2,3,ch166data};
-
-/* char: 0xa5 */
-
-static const GLubyte ch165data[] = {
-0x20,0xf8,0x20,0xf8,0x50,0x50,0x88,0x88,
-};
-
-static const BitmapCharRec ch165 = {5,8,0,0,6,ch165data};
-
-/* char: 0xa4 */
-
-static const GLubyte ch164data[] = {
-0x90,0x60,0x90,0x90,0x60,0x90,
-};
-
-static const BitmapCharRec ch164 = {4,6,0,-1,5,ch164data};
-
-/* char: 0xa3 */
-
-static const GLubyte ch163data[] = {
-0xb0,0x48,0x40,0x40,0xe0,0x40,0x48,0x30,
-};
-
-static const BitmapCharRec ch163 = {5,8,0,0,6,ch163data};
-
-/* char: 0xa2 */
-
-static const GLubyte ch162data[] = {
-0x40,0x70,0xa8,0xa0,0xa0,0xa8,0x70,0x10,
-};
-
-static const BitmapCharRec ch162 = {5,8,0,1,6,ch162data};
-
-/* char: 0xa1 */
-
-static const GLubyte ch161data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,
-};
-
-static const BitmapCharRec ch161 = {1,8,-1,2,3,ch161data};
-
-/* char: 0xa0 */
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch160data[] = { 0x0 };
-static const BitmapCharRec ch160 = {1,1,0,0,3,ch160data};
-#else
-static const BitmapCharRec ch160 = {0,0,0,0,3,0};
-#endif
-
-/* char: 0x7e '~' */
-
-static const GLubyte ch126data[] = {
-0x98,0x64,
-};
-
-static const BitmapCharRec ch126 = {6,2,0,-3,7,ch126data};
-
-/* char: 0x7d '}' */
-
-static const GLubyte ch125data[] = {
-0x80,0x40,0x40,0x40,0x40,0x20,0x40,0x40,0x40,0x80,
-};
-
-static const BitmapCharRec ch125 = {3,10,0,2,3,ch125data};
-
-/* char: 0x7c '|' */
-
-static const GLubyte ch124data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch124 = {1,10,-1,2,3,ch124data};
-
-/* char: 0x7b '{' */
-
-static const GLubyte ch123data[] = {
-0x20,0x40,0x40,0x40,0x40,0x80,0x40,0x40,0x40,0x20,
-};
-
-static const BitmapCharRec ch123 = {3,10,0,2,3,ch123data};
-
-/* char: 0x7a 'z' */
-
-static const GLubyte ch122data[] = {
-0xf0,0x80,0x40,0x20,0x10,0xf0,
-};
-
-static const BitmapCharRec ch122 = {4,6,0,0,5,ch122data};
-
-/* char: 0x79 'y' */
-
-static const GLubyte ch121data[] = {
-0x80,0x40,0x40,0x60,0xa0,0xa0,0x90,0x90,
-};
-
-static const BitmapCharRec ch121 = {4,8,0,2,5,ch121data};
-
-/* char: 0x78 'x' */
-
-static const GLubyte ch120data[] = {
-0x88,0x88,0x50,0x20,0x50,0x88,
-};
-
-static const BitmapCharRec ch120 = {5,6,0,0,6,ch120data};
-
-/* char: 0x77 'w' */
-
-static const GLubyte ch119data[] = {
-0x28,0x28,0x54,0x54,0x92,0x92,
-};
-
-static const BitmapCharRec ch119 = {7,6,0,0,8,ch119data};
-
-/* char: 0x76 'v' */
-
-static const GLubyte ch118data[] = {
-0x20,0x20,0x50,0x50,0x88,0x88,
-};
-
-static const BitmapCharRec ch118 = {5,6,0,0,6,ch118data};
-
-/* char: 0x75 'u' */
-
-static const GLubyte ch117data[] = {
-0x70,0x90,0x90,0x90,0x90,0x90,
-};
-
-static const BitmapCharRec ch117 = {4,6,0,0,5,ch117data};
-
-/* char: 0x74 't' */
-
-static const GLubyte ch116data[] = {
-0x60,0x40,0x40,0x40,0x40,0xe0,0x40,0x40,
-};
-
-static const BitmapCharRec ch116 = {3,8,0,0,4,ch116data};
-
-/* char: 0x73 's' */
-
-static const GLubyte ch115data[] = {
-0x60,0x90,0x10,0x60,0x90,0x60,
-};
-
-static const BitmapCharRec ch115 = {4,6,0,0,5,ch115data};
-
-/* char: 0x72 'r' */
-
-static const GLubyte ch114data[] = {
-0x80,0x80,0x80,0x80,0xc0,0xa0,
-};
-
-static const BitmapCharRec ch114 = {3,6,0,0,4,ch114data};
-
-/* char: 0x71 'q' */
-
-static const GLubyte ch113data[] = {
-0x8,0x8,0x68,0x98,0x88,0x88,0x98,0x68,
-};
-
-static const BitmapCharRec ch113 = {5,8,0,2,6,ch113data};
-
-/* char: 0x70 'p' */
-
-static const GLubyte ch112data[] = {
-0x80,0x80,0xb0,0xc8,0x88,0x88,0xc8,0xb0,
-};
-
-static const BitmapCharRec ch112 = {5,8,0,2,6,ch112data};
-
-/* char: 0x6f 'o' */
-
-static const GLubyte ch111data[] = {
-0x70,0x88,0x88,0x88,0x88,0x70,
-};
-
-static const BitmapCharRec ch111 = {5,6,0,0,6,ch111data};
-
-/* char: 0x6e 'n' */
-
-static const GLubyte ch110data[] = {
-0x88,0x88,0x88,0x88,0xc8,0xb0,
-};
-
-static const BitmapCharRec ch110 = {5,6,0,0,6,ch110data};
-
-/* char: 0x6d 'm' */
-
-static const GLubyte ch109data[] = {
-0x92,0x92,0x92,0x92,0x92,0xec,
-};
-
-static const BitmapCharRec ch109 = {7,6,0,0,8,ch109data};
-
-/* char: 0x6c 'l' */
-
-static const GLubyte ch108data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch108 = {1,8,0,0,2,ch108data};
-
-/* char: 0x6b 'k' */
-
-static const GLubyte ch107data[] = {
-0x90,0x90,0xa0,0xc0,0xa0,0x90,0x80,0x80,
-};
-
-static const BitmapCharRec ch107 = {4,8,0,0,5,ch107data};
-
-/* char: 0x6a 'j' */
-
-static const GLubyte ch106data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,
-};
-
-static const BitmapCharRec ch106 = {1,9,0,1,2,ch106data};
-
-/* char: 0x69 'i' */
-
-static const GLubyte ch105data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,
-};
-
-static const BitmapCharRec ch105 = {1,8,0,0,2,ch105data};
-
-/* char: 0x68 'h' */
-
-static const GLubyte ch104data[] = {
-0x88,0x88,0x88,0x88,0xc8,0xb0,0x80,0x80,
-};
-
-static const BitmapCharRec ch104 = {5,8,0,0,6,ch104data};
-
-/* char: 0x67 'g' */
-
-static const GLubyte ch103data[] = {
-0x70,0x8,0x68,0x98,0x88,0x88,0x98,0x68,
-};
-
-static const BitmapCharRec ch103 = {5,8,0,2,6,ch103data};
-
-/* char: 0x66 'f' */
-
-static const GLubyte ch102data[] = {
-0x40,0x40,0x40,0x40,0x40,0xe0,0x40,0x30,
-};
-
-static const BitmapCharRec ch102 = {4,8,0,0,4,ch102data};
-
-/* char: 0x65 'e' */
-
-static const GLubyte ch101data[] = {
-0x60,0x90,0x80,0xf0,0x90,0x60,
-};
-
-static const BitmapCharRec ch101 = {4,6,0,0,5,ch101data};
-
-/* char: 0x64 'd' */
-
-static const GLubyte ch100data[] = {
-0x68,0x98,0x88,0x88,0x98,0x68,0x8,0x8,
-};
-
-static const BitmapCharRec ch100 = {5,8,0,0,6,ch100data};
-
-/* char: 0x63 'c' */
-
-static const GLubyte ch99data[] = {
-0x60,0x90,0x80,0x80,0x90,0x60,
-};
-
-static const BitmapCharRec ch99 = {4,6,0,0,5,ch99data};
-
-/* char: 0x62 'b' */
-
-static const GLubyte ch98data[] = {
-0xb0,0xc8,0x88,0x88,0xc8,0xb0,0x80,0x80,
-};
-
-static const BitmapCharRec ch98 = {5,8,0,0,6,ch98data};
-
-/* char: 0x61 'a' */
-
-static const GLubyte ch97data[] = {
-0x68,0x90,0x90,0x70,0x10,0xe0,
-};
-
-static const BitmapCharRec ch97 = {5,6,0,0,5,ch97data};
-
-/* char: 0x60 '`' */
-
-static const GLubyte ch96data[] = {
-0x80,0x80,0x40,
-};
-
-static const BitmapCharRec ch96 = {2,3,0,-5,3,ch96data};
-
-/* char: 0x5f '_' */
-
-static const GLubyte ch95data[] = {
-0xfc,
-};
-
-static const BitmapCharRec ch95 = {6,1,0,2,6,ch95data};
-
-/* char: 0x5e '^' */
-
-static const GLubyte ch94data[] = {
-0x88,0x50,0x50,0x20,0x20,
-};
-
-static const BitmapCharRec ch94 = {5,5,0,-3,6,ch94data};
-
-/* char: 0x5d ']' */
-
-static const GLubyte ch93data[] = {
-0xc0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xc0,
-};
-
-static const BitmapCharRec ch93 = {2,10,0,2,3,ch93data};
-
-/* char: 0x5c '\' */
-
-static const GLubyte ch92data[] = {
-0x20,0x20,0x40,0x40,0x40,0x40,0x80,0x80,
-};
-
-static const BitmapCharRec ch92 = {3,8,0,0,3,ch92data};
-
-/* char: 0x5b '[' */
-
-static const GLubyte ch91data[] = {
-0xc0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xc0,
-};
-
-static const BitmapCharRec ch91 = {2,10,-1,2,3,ch91data};
-
-/* char: 0x5a 'Z' */
-
-static const GLubyte ch90data[] = {
-0xf8,0x80,0x40,0x20,0x20,0x10,0x8,0xf8,
-};
-
-static const BitmapCharRec ch90 = {5,8,-1,0,7,ch90data};
-
-/* char: 0x59 'Y' */
-
-static const GLubyte ch89data[] = {
-0x10,0x10,0x10,0x28,0x28,0x44,0x44,0x82,
-};
-
-static const BitmapCharRec ch89 = {7,8,0,0,7,ch89data};
-
-/* char: 0x58 'X' */
-
-static const GLubyte ch88data[] = {
-0x88,0x88,0x50,0x50,0x20,0x50,0x88,0x88,
-};
-
-static const BitmapCharRec ch88 = {5,8,-1,0,7,ch88data};
-
-/* char: 0x57 'W' */
-
-static const GLubyte ch87data[] = {
-0x22,0x0,0x22,0x0,0x22,0x0,0x55,0x0,0x49,0x0,0x49,0x0,0x88,0x80,0x88,0x80,
-};
-
-static const BitmapCharRec ch87 = {9,8,0,0,9,ch87data};
-
-/* char: 0x56 'V' */
-
-static const GLubyte ch86data[] = {
-0x10,0x28,0x28,0x44,0x44,0x44,0x82,0x82,
-};
-
-static const BitmapCharRec ch86 = {7,8,0,0,7,ch86data};
-
-/* char: 0x55 'U' */
-
-static const GLubyte ch85data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
-};
-
-static const BitmapCharRec ch85 = {6,8,-1,0,8,ch85data};
-
-/* char: 0x54 'T' */
-
-static const GLubyte ch84data[] = {
-0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xf8,
-};
-
-static const BitmapCharRec ch84 = {5,8,0,0,5,ch84data};
-
-/* char: 0x53 'S' */
-
-static const GLubyte ch83data[] = {
-0x70,0x88,0x88,0x8,0x70,0x80,0x88,0x70,
-};
-
-static const BitmapCharRec ch83 = {5,8,-1,0,7,ch83data};
-
-/* char: 0x52 'R' */
-
-static const GLubyte ch82data[] = {
-0x88,0x88,0x88,0x88,0xf0,0x88,0x88,0xf0,
-};
-
-static const BitmapCharRec ch82 = {5,8,-1,0,7,ch82data};
-
-/* char: 0x51 'Q' */
-
-static const GLubyte ch81data[] = {
-0x2,0x7c,0x8c,0x94,0x84,0x84,0x84,0x84,0x78,
-};
-
-static const BitmapCharRec ch81 = {7,9,-1,1,8,ch81data};
-
-/* char: 0x50 'P' */
-
-static const GLubyte ch80data[] = {
-0x80,0x80,0x80,0x80,0xf0,0x88,0x88,0xf0,
-};
-
-static const BitmapCharRec ch80 = {5,8,-1,0,7,ch80data};
-
-/* char: 0x4f 'O' */
-
-static const GLubyte ch79data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x78,
-};
-
-static const BitmapCharRec ch79 = {6,8,-1,0,8,ch79data};
-
-/* char: 0x4e 'N' */
-
-static const GLubyte ch78data[] = {
-0x8c,0x8c,0x94,0x94,0xa4,0xa4,0xc4,0xc4,
-};
-
-static const BitmapCharRec ch78 = {6,8,-1,0,8,ch78data};
-
-/* char: 0x4d 'M' */
-
-static const GLubyte ch77data[] = {
-0x92,0x92,0x92,0xaa,0xaa,0xc6,0xc6,0x82,
-};
-
-static const BitmapCharRec ch77 = {7,8,-1,0,9,ch77data};
-
-/* char: 0x4c 'L' */
-
-static const GLubyte ch76data[] = {
-0xf0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch76 = {4,8,-1,0,6,ch76data};
-
-/* char: 0x4b 'K' */
-
-static const GLubyte ch75data[] = {
-0x88,0x88,0x90,0x90,0xe0,0xa0,0x90,0x88,
-};
-
-static const BitmapCharRec ch75 = {5,8,-1,0,7,ch75data};
-
-/* char: 0x4a 'J' */
-
-static const GLubyte ch74data[] = {
-0x60,0x90,0x10,0x10,0x10,0x10,0x10,0x10,
-};
-
-static const BitmapCharRec ch74 = {4,8,0,0,5,ch74data};
-
-/* char: 0x49 'I' */
-
-static const GLubyte ch73data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch73 = {1,8,-1,0,3,ch73data};
-
-/* char: 0x48 'H' */
-
-static const GLubyte ch72data[] = {
-0x84,0x84,0x84,0x84,0xfc,0x84,0x84,0x84,
-};
-
-static const BitmapCharRec ch72 = {6,8,-1,0,8,ch72data};
-
-/* char: 0x47 'G' */
-
-static const GLubyte ch71data[] = {
-0x74,0x8c,0x84,0x8c,0x80,0x80,0x84,0x78,
-};
-
-static const BitmapCharRec ch71 = {6,8,-1,0,8,ch71data};
-
-/* char: 0x46 'F' */
-
-static const GLubyte ch70data[] = {
-0x80,0x80,0x80,0x80,0xf0,0x80,0x80,0xf8,
-};
-
-static const BitmapCharRec ch70 = {5,8,-1,0,6,ch70data};
-
-/* char: 0x45 'E' */
-
-static const GLubyte ch69data[] = {
-0xf8,0x80,0x80,0x80,0xf8,0x80,0x80,0xf8,
-};
-
-static const BitmapCharRec ch69 = {5,8,-1,0,7,ch69data};
-
-/* char: 0x44 'D' */
-
-static const GLubyte ch68data[] = {
-0xf0,0x88,0x84,0x84,0x84,0x84,0x88,0xf0,
-};
-
-static const BitmapCharRec ch68 = {6,8,-1,0,8,ch68data};
-
-/* char: 0x43 'C' */
-
-static const GLubyte ch67data[] = {
-0x78,0x84,0x80,0x80,0x80,0x80,0x84,0x78,
-};
-
-static const BitmapCharRec ch67 = {6,8,-1,0,8,ch67data};
-
-/* char: 0x42 'B' */
-
-static const GLubyte ch66data[] = {
-0xf0,0x88,0x88,0x88,0xf0,0x88,0x88,0xf0,
-};
-
-static const BitmapCharRec ch66 = {5,8,-1,0,7,ch66data};
-
-/* char: 0x41 'A' */
-
-static const GLubyte ch65data[] = {
-0x82,0x82,0x7c,0x44,0x28,0x28,0x10,0x10,
-};
-
-static const BitmapCharRec ch65 = {7,8,0,0,7,ch65data};
-
-/* char: 0x40 '@' */
-
-static const GLubyte ch64data[] = {
-0x3e,0x0,0x40,0x0,0x9b,0x0,0xa4,0x80,0xa4,0x80,0xa2,0x40,0x92,0x40,0x4d,0x40,
-0x20,0x80,0x1f,0x0,
-};
-
-static const BitmapCharRec ch64 = {10,10,0,2,11,ch64data};
-
-/* char: 0x3f '?' */
-
-static const GLubyte ch63data[] = {
-0x40,0x0,0x40,0x40,0x20,0x10,0x90,0x60,
-};
-
-static const BitmapCharRec ch63 = {4,8,-1,0,6,ch63data};
-
-/* char: 0x3e '>' */
-
-static const GLubyte ch62data[] = {
-0x80,0x40,0x20,0x40,0x80,
-};
-
-static const BitmapCharRec ch62 = {3,5,-1,-1,6,ch62data};
-
-/* char: 0x3d '=' */
-
-static const GLubyte ch61data[] = {
-0xf0,0x0,0xf0,
-};
-
-static const BitmapCharRec ch61 = {4,3,0,-2,5,ch61data};
-
-/* char: 0x3c '<' */
-
-static const GLubyte ch60data[] = {
-0x20,0x40,0x80,0x40,0x20,
-};
-
-static const BitmapCharRec ch60 = {3,5,-1,-1,6,ch60data};
-
-/* char: 0x3b ';' */
-
-static const GLubyte ch59data[] = {
-0x80,0x40,0x40,0x0,0x0,0x0,0x0,0x40,
-};
-
-static const BitmapCharRec ch59 = {2,8,0,2,3,ch59data};
-
-/* char: 0x3a ':' */
-
-static const GLubyte ch58data[] = {
-0x80,0x0,0x0,0x0,0x0,0x80,
-};
-
-static const BitmapCharRec ch58 = {1,6,-1,0,3,ch58data};
-
-/* char: 0x39 '9' */
-
-static const GLubyte ch57data[] = {
-0x70,0x88,0x8,0x68,0x98,0x88,0x88,0x70,
-};
-
-static const BitmapCharRec ch57 = {5,8,0,0,6,ch57data};
-
-/* char: 0x38 '8' */
-
-static const GLubyte ch56data[] = {
-0x70,0x88,0x88,0x88,0x70,0x88,0x88,0x70,
-};
-
-static const BitmapCharRec ch56 = {5,8,0,0,6,ch56data};
-
-/* char: 0x37 '7' */
-
-static const GLubyte ch55data[] = {
-0x40,0x40,0x20,0x20,0x10,0x10,0x8,0xf8,
-};
-
-static const BitmapCharRec ch55 = {5,8,0,0,6,ch55data};
-
-/* char: 0x36 '6' */
-
-static const GLubyte ch54data[] = {
-0x70,0x88,0x88,0xc8,0xb0,0x80,0x88,0x70,
-};
-
-static const BitmapCharRec ch54 = {5,8,0,0,6,ch54data};
-
-/* char: 0x35 '5' */
-
-static const GLubyte ch53data[] = {
-0x70,0x88,0x8,0x8,0xf0,0x80,0x80,0xf8,
-};
-
-static const BitmapCharRec ch53 = {5,8,0,0,6,ch53data};
-
-/* char: 0x34 '4' */
-
-static const GLubyte ch52data[] = {
-0x10,0x10,0xf8,0x90,0x50,0x50,0x30,0x10,
-};
-
-static const BitmapCharRec ch52 = {5,8,0,0,6,ch52data};
-
-/* char: 0x33 '3' */
-
-static const GLubyte ch51data[] = {
-0x70,0x88,0x8,0x8,0x30,0x8,0x88,0x70,
-};
-
-static const BitmapCharRec ch51 = {5,8,0,0,6,ch51data};
-
-/* char: 0x32 '2' */
-
-static const GLubyte ch50data[] = {
-0xf8,0x80,0x40,0x30,0x8,0x8,0x88,0x70,
-};
-
-static const BitmapCharRec ch50 = {5,8,0,0,6,ch50data};
-
-/* char: 0x31 '1' */
-
-static const GLubyte ch49data[] = {
-0x40,0x40,0x40,0x40,0x40,0x40,0xc0,0x40,
-};
-
-static const BitmapCharRec ch49 = {2,8,-1,0,6,ch49data};
-
-/* char: 0x30 '0' */
-
-static const GLubyte ch48data[] = {
-0x70,0x88,0x88,0x88,0x88,0x88,0x88,0x70,
-};
-
-static const BitmapCharRec ch48 = {5,8,0,0,6,ch48data};
-
-/* char: 0x2f '/' */
-
-static const GLubyte ch47data[] = {
-0x80,0x80,0x40,0x40,0x40,0x40,0x20,0x20,
-};
-
-static const BitmapCharRec ch47 = {3,8,0,0,3,ch47data};
-
-/* char: 0x2e '.' */
-
-static const GLubyte ch46data[] = {
-0x80,
-};
-
-static const BitmapCharRec ch46 = {1,1,-1,0,3,ch46data};
-
-/* char: 0x2d '-' */
-
-static const GLubyte ch45data[] = {
-0xf8,
-};
-
-static const BitmapCharRec ch45 = {5,1,-1,-3,7,ch45data};
-
-/* char: 0x2c ',' */
-
-static const GLubyte ch44data[] = {
-0x80,0x40,0x40,
-};
-
-static const BitmapCharRec ch44 = {2,3,0,2,3,ch44data};
-
-/* char: 0x2b '+' */
-
-static const GLubyte ch43data[] = {
-0x20,0x20,0xf8,0x20,0x20,
-};
-
-static const BitmapCharRec ch43 = {5,5,0,-1,6,ch43data};
-
-/* char: 0x2a '*' */
-
-static const GLubyte ch42data[] = {
-0xa0,0x40,0xa0,
-};
-
-static const BitmapCharRec ch42 = {3,3,0,-5,4,ch42data};
-
-/* char: 0x29 ')' */
-
-static const GLubyte ch41data[] = {
-0x80,0x40,0x40,0x20,0x20,0x20,0x20,0x40,0x40,0x80,
-};
-
-static const BitmapCharRec ch41 = {3,10,-1,2,4,ch41data};
-
-/* char: 0x28 '(' */
-
-static const GLubyte ch40data[] = {
-0x20,0x40,0x40,0x80,0x80,0x80,0x80,0x40,0x40,0x20,
-};
-
-static const BitmapCharRec ch40 = {3,10,0,2,4,ch40data};
-
-/* char: 0x27 ''' */
-
-static const GLubyte ch39data[] = {
-0x80,0x40,0x40,
-};
-
-static const BitmapCharRec ch39 = {2,3,-1,-5,3,ch39data};
-
-/* char: 0x26 '&' */
-
-static const GLubyte ch38data[] = {
-0x64,0x98,0x98,0xa4,0x60,0x50,0x50,0x20,
-};
-
-static const BitmapCharRec ch38 = {6,8,-1,0,8,ch38data};
-
-/* char: 0x25 '%' */
-
-static const GLubyte ch37data[] = {
-0x26,0x29,0x16,0x10,0x8,0x68,0x94,0x64,
-};
-
-static const BitmapCharRec ch37 = {8,8,0,0,9,ch37data};
-
-/* char: 0x24 '$' */
-
-static const GLubyte ch36data[] = {
-0x20,0x70,0xa8,0x28,0x70,0xa0,0xa8,0x70,0x20,
-};
-
-static const BitmapCharRec ch36 = {5,9,0,1,6,ch36data};
-
-/* char: 0x23 '#' */
-
-static const GLubyte ch35data[] = {
-0x50,0x50,0xf8,0x28,0x7c,0x28,0x28,
-};
-
-static const BitmapCharRec ch35 = {6,7,0,0,6,ch35data};
-
-/* char: 0x22 '"' */
-
-static const GLubyte ch34data[] = {
-0xa0,0xa0,
-};
-
-static const BitmapCharRec ch34 = {3,2,-1,-6,4,ch34data};
-
-/* char: 0x21 '!' */
-
-static const GLubyte ch33data[] = {
-0x80,0x0,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch33 = {1,8,-1,0,3,ch33data};
-
-/* char: 0x20 ' ' */
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch32data[] = { 0x0 };
-static const BitmapCharRec ch32 = {0,0,0,0,3,ch32data};
-#else
-static const BitmapCharRec ch32 = {0,0,0,0,3,0};
-#endif
-
-static const BitmapCharRec * const chars[] = {
-&ch32,
-&ch33,
-&ch34,
-&ch35,
-&ch36,
-&ch37,
-&ch38,
-&ch39,
-&ch40,
-&ch41,
-&ch42,
-&ch43,
-&ch44,
-&ch45,
-&ch46,
-&ch47,
-&ch48,
-&ch49,
-&ch50,
-&ch51,
-&ch52,
-&ch53,
-&ch54,
-&ch55,
-&ch56,
-&ch57,
-&ch58,
-&ch59,
-&ch60,
-&ch61,
-&ch62,
-&ch63,
-&ch64,
-&ch65,
-&ch66,
-&ch67,
-&ch68,
-&ch69,
-&ch70,
-&ch71,
-&ch72,
-&ch73,
-&ch74,
-&ch75,
-&ch76,
-&ch77,
-&ch78,
-&ch79,
-&ch80,
-&ch81,
-&ch82,
-&ch83,
-&ch84,
-&ch85,
-&ch86,
-&ch87,
-&ch88,
-&ch89,
-&ch90,
-&ch91,
-&ch92,
-&ch93,
-&ch94,
-&ch95,
-&ch96,
-&ch97,
-&ch98,
-&ch99,
-&ch100,
-&ch101,
-&ch102,
-&ch103,
-&ch104,
-&ch105,
-&ch106,
-&ch107,
-&ch108,
-&ch109,
-&ch110,
-&ch111,
-&ch112,
-&ch113,
-&ch114,
-&ch115,
-&ch116,
-&ch117,
-&ch118,
-&ch119,
-&ch120,
-&ch121,
-&ch122,
-&ch123,
-&ch124,
-&ch125,
-&ch126,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-&ch160,
-&ch161,
-&ch162,
-&ch163,
-&ch164,
-&ch165,
-&ch166,
-&ch167,
-&ch168,
-&ch169,
-&ch170,
-&ch171,
-&ch172,
-&ch173,
-&ch174,
-&ch175,
-&ch176,
-&ch177,
-&ch178,
-&ch179,
-&ch180,
-&ch181,
-&ch182,
-&ch183,
-&ch184,
-&ch185,
-&ch186,
-&ch187,
-&ch188,
-&ch189,
-&ch190,
-&ch191,
-&ch192,
-&ch193,
-&ch194,
-&ch195,
-&ch196,
-&ch197,
-&ch198,
-&ch199,
-&ch200,
-&ch201,
-&ch202,
-&ch203,
-&ch204,
-&ch205,
-&ch206,
-&ch207,
-&ch208,
-&ch209,
-&ch210,
-&ch211,
-&ch212,
-&ch213,
-&ch214,
-&ch215,
-&ch216,
-&ch217,
-&ch218,
-&ch219,
-&ch220,
-&ch221,
-&ch222,
-&ch223,
-&ch224,
-&ch225,
-&ch226,
-&ch227,
-&ch228,
-&ch229,
-&ch230,
-&ch231,
-&ch232,
-&ch233,
-&ch234,
-&ch235,
-&ch236,
-&ch237,
-&ch238,
-&ch239,
-&ch240,
-&ch241,
-&ch242,
-&ch243,
-&ch244,
-&ch245,
-&ch246,
-&ch247,
-&ch248,
-&ch249,
-&ch250,
-&ch251,
-&ch252,
-&ch253,
-&ch254,
-&ch255,
-};
-
-const BitmapFontRec glutBitmapHelvetica10 = {
-"-adobe-helvetica-medium-r-normal--10-100-75-75-p-56-iso8859-1",
-224,
-32,
-chars
-};
-
diff --git a/src/glut/beos/glut_hel12.c b/src/glut/beos/glut_hel12.c
deleted file mode 100644
index 68aed8a2bd..0000000000
--- a/src/glut/beos/glut_hel12.c
+++ /dev/null
@@ -1,1788 +0,0 @@
-
-/* GENERATED FILE -- DO NOT MODIFY */
-
-#define glutBitmapHelvetica12 XXX
-#include "glutbitmap.h"
-#undef glutBitmapHelvetica12
-
-/* char: 0xff */
-
-static const GLubyte ch255data[] = {
-0xc0,0x20,0x20,0x20,0x30,0x50,0x50,0x48,0x88,0x88,0x0,0x50,
-};
-
-static const BitmapCharRec ch255 = {5,12,-1,3,7,ch255data};
-
-/* char: 0xfe */
-
-static const GLubyte ch254data[] = {
-0x80,0x80,0x80,0xb0,0xc8,0x88,0x88,0x88,0xc8,0xb0,0x80,0x80,
-};
-
-static const BitmapCharRec ch254 = {5,12,-1,3,7,ch254data};
-
-/* char: 0xfd */
-
-static const GLubyte ch253data[] = {
-0x80,0x40,0x20,0x20,0x50,0x50,0x90,0x88,0x88,0x88,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch253 = {5,13,-1,3,7,ch253data};
-
-/* char: 0xfc */
-
-static const GLubyte ch252data[] = {
-0x68,0x98,0x88,0x88,0x88,0x88,0x88,0x0,0x50,
-};
-
-static const BitmapCharRec ch252 = {5,9,-1,0,7,ch252data};
-
-/* char: 0xfb */
-
-static const GLubyte ch251data[] = {
-0x68,0x98,0x88,0x88,0x88,0x88,0x88,0x0,0x50,0x20,
-};
-
-static const BitmapCharRec ch251 = {5,10,-1,0,7,ch251data};
-
-/* char: 0xfa */
-
-static const GLubyte ch250data[] = {
-0x68,0x98,0x88,0x88,0x88,0x88,0x88,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch250 = {5,10,-1,0,7,ch250data};
-
-/* char: 0xf9 */
-
-static const GLubyte ch249data[] = {
-0x68,0x98,0x88,0x88,0x88,0x88,0x88,0x0,0x20,0x40,
-};
-
-static const BitmapCharRec ch249 = {5,10,-1,0,7,ch249data};
-
-/* char: 0xf8 */
-
-static const GLubyte ch248data[] = {
-0xb8,0x44,0x64,0x54,0x4c,0x44,0x3a,
-};
-
-static const BitmapCharRec ch248 = {7,7,0,0,7,ch248data};
-
-/* char: 0xf7 */
-
-static const GLubyte ch247data[] = {
-0x20,0x0,0xf8,0x0,0x20,
-};
-
-static const BitmapCharRec ch247 = {5,5,-1,-1,7,ch247data};
-
-/* char: 0xf6 */
-
-static const GLubyte ch246data[] = {
-0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x0,0x50,
-};
-
-static const BitmapCharRec ch246 = {5,9,-1,0,7,ch246data};
-
-/* char: 0xf5 */
-
-static const GLubyte ch245data[] = {
-0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch245 = {5,10,-1,0,7,ch245data};
-
-/* char: 0xf4 */
-
-static const GLubyte ch244data[] = {
-0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x0,0x50,0x20,
-};
-
-static const BitmapCharRec ch244 = {5,10,-1,0,7,ch244data};
-
-/* char: 0xf3 */
-
-static const GLubyte ch243data[] = {
-0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch243 = {5,10,-1,0,7,ch243data};
-
-/* char: 0xf2 */
-
-static const GLubyte ch242data[] = {
-0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x0,0x20,0x40,
-};
-
-static const BitmapCharRec ch242 = {5,10,-1,0,7,ch242data};
-
-/* char: 0xf1 */
-
-static const GLubyte ch241data[] = {
-0x88,0x88,0x88,0x88,0x88,0xc8,0xb0,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch241 = {5,10,-1,0,7,ch241data};
-
-/* char: 0xf0 */
-
-static const GLubyte ch240data[] = {
-0x70,0x88,0x88,0x88,0x88,0x78,0x8,0x50,0x30,0x68,
-};
-
-static const BitmapCharRec ch240 = {5,10,-1,0,7,ch240data};
-
-/* char: 0xef */
-
-static const GLubyte ch239data[] = {
-0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0,
-};
-
-static const BitmapCharRec ch239 = {3,9,0,0,3,ch239data};
-
-/* char: 0xee */
-
-static const GLubyte ch238data[] = {
-0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0,0x40,
-};
-
-static const BitmapCharRec ch238 = {3,10,0,0,3,ch238data};
-
-/* char: 0xed */
-
-static const GLubyte ch237data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,0x40,
-};
-
-static const BitmapCharRec ch237 = {2,10,-1,0,3,ch237data};
-
-/* char: 0xec */
-
-static const GLubyte ch236data[] = {
-0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0x40,0x80,
-};
-
-static const BitmapCharRec ch236 = {2,10,0,0,3,ch236data};
-
-/* char: 0xeb */
-
-static const GLubyte ch235data[] = {
-0x70,0x88,0x80,0xf8,0x88,0x88,0x70,0x0,0x50,
-};
-
-static const BitmapCharRec ch235 = {5,9,-1,0,7,ch235data};
-
-/* char: 0xea */
-
-static const GLubyte ch234data[] = {
-0x70,0x88,0x80,0xf8,0x88,0x88,0x70,0x0,0x50,0x20,
-};
-
-static const BitmapCharRec ch234 = {5,10,-1,0,7,ch234data};
-
-/* char: 0xe9 */
-
-static const GLubyte ch233data[] = {
-0x70,0x88,0x80,0xf8,0x88,0x88,0x70,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch233 = {5,10,-1,0,7,ch233data};
-
-/* char: 0xe8 */
-
-static const GLubyte ch232data[] = {
-0x70,0x88,0x80,0xf8,0x88,0x88,0x70,0x0,0x20,0x40,
-};
-
-static const BitmapCharRec ch232 = {5,10,-1,0,7,ch232data};
-
-/* char: 0xe7 */
-
-static const GLubyte ch231data[] = {
-0x60,0x10,0x20,0x70,0x88,0x80,0x80,0x80,0x88,0x70,
-};
-
-static const BitmapCharRec ch231 = {5,10,-1,3,7,ch231data};
-
-/* char: 0xe6 */
-
-static const GLubyte ch230data[] = {
-0x77,0x0,0x88,0x80,0x88,0x0,0x7f,0x80,0x8,0x80,0x88,0x80,0x77,0x0,
-};
-
-static const BitmapCharRec ch230 = {9,7,-1,0,11,ch230data};
-
-/* char: 0xe5 */
-
-static const GLubyte ch229data[] = {
-0x74,0x88,0x88,0x78,0x8,0x88,0x70,0x30,0x48,0x30,
-};
-
-static const BitmapCharRec ch229 = {6,10,-1,0,7,ch229data};
-
-/* char: 0xe4 */
-
-static const GLubyte ch228data[] = {
-0x74,0x88,0x88,0x78,0x8,0x88,0x70,0x0,0x50,
-};
-
-static const BitmapCharRec ch228 = {6,9,-1,0,7,ch228data};
-
-/* char: 0xe3 */
-
-static const GLubyte ch227data[] = {
-0x74,0x88,0x88,0x78,0x8,0x88,0x70,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch227 = {6,10,-1,0,7,ch227data};
-
-/* char: 0xe2 */
-
-static const GLubyte ch226data[] = {
-0x74,0x88,0x88,0x78,0x8,0x88,0x70,0x0,0x50,0x20,
-};
-
-static const BitmapCharRec ch226 = {6,10,-1,0,7,ch226data};
-
-/* char: 0xe1 */
-
-static const GLubyte ch225data[] = {
-0x74,0x88,0x88,0x78,0x8,0x88,0x70,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch225 = {6,10,-1,0,7,ch225data};
-
-/* char: 0xe0 */
-
-static const GLubyte ch224data[] = {
-0x74,0x88,0x88,0x78,0x8,0x88,0x70,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch224 = {6,10,-1,0,7,ch224data};
-
-/* char: 0xdf */
-
-static const GLubyte ch223data[] = {
-0xb0,0x88,0x88,0x88,0xb0,0x88,0x88,0x88,0x70,
-};
-
-static const BitmapCharRec ch223 = {5,9,-1,0,7,ch223data};
-
-/* char: 0xde */
-
-static const GLubyte ch222data[] = {
-0x80,0x80,0xf8,0x84,0x84,0x84,0xf8,0x80,0x80,
-};
-
-static const BitmapCharRec ch222 = {6,9,-1,0,8,ch222data};
-
-/* char: 0xdd */
-
-static const GLubyte ch221data[] = {
-0x10,0x10,0x10,0x10,0x28,0x44,0x44,0x82,0x82,0x0,0x10,0x8,
-};
-
-static const BitmapCharRec ch221 = {7,12,-1,0,9,ch221data};
-
-/* char: 0xdc */
-
-static const GLubyte ch220data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x48,
-};
-
-static const BitmapCharRec ch220 = {6,11,-1,0,8,ch220data};
-
-/* char: 0xdb */
-
-static const GLubyte ch219data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x28,0x10,
-};
-
-static const BitmapCharRec ch219 = {6,12,-1,0,8,ch219data};
-
-/* char: 0xda */
-
-static const GLubyte ch218data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x10,0x8,
-};
-
-static const BitmapCharRec ch218 = {6,12,-1,0,8,ch218data};
-
-/* char: 0xd9 */
-
-static const GLubyte ch217data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch217 = {6,12,-1,0,8,ch217data};
-
-/* char: 0xd8 */
-
-static const GLubyte ch216data[] = {
-0x80,0x0,0x5e,0x0,0x21,0x0,0x50,0x80,0x48,0x80,0x44,0x80,0x44,0x80,0x42,0x80,
-0x21,0x0,0x1e,0x80,0x0,0x40,
-};
-
-static const BitmapCharRec ch216 = {10,11,0,1,10,ch216data};
-
-/* char: 0xd7 */
-
-static const GLubyte ch215data[] = {
-0x88,0x50,0x20,0x50,0x88,
-};
-
-static const BitmapCharRec ch215 = {5,5,-1,-1,7,ch215data};
-
-/* char: 0xd6 */
-
-static const GLubyte ch214data[] = {
-0x3c,0x42,0x81,0x81,0x81,0x81,0x81,0x42,0x3c,0x0,0x24,
-};
-
-static const BitmapCharRec ch214 = {8,11,-1,0,10,ch214data};
-
-/* char: 0xd5 */
-
-static const GLubyte ch213data[] = {
-0x3c,0x42,0x81,0x81,0x81,0x81,0x81,0x42,0x3c,0x0,0x28,0x14,
-};
-
-static const BitmapCharRec ch213 = {8,12,-1,0,10,ch213data};
-
-/* char: 0xd4 */
-
-static const GLubyte ch212data[] = {
-0x3c,0x42,0x81,0x81,0x81,0x81,0x81,0x42,0x3c,0x0,0x14,0x8,
-};
-
-static const BitmapCharRec ch212 = {8,12,-1,0,10,ch212data};
-
-/* char: 0xd3 */
-
-static const GLubyte ch211data[] = {
-0x3c,0x42,0x81,0x81,0x81,0x81,0x81,0x42,0x3c,0x0,0x8,0x4,
-};
-
-static const BitmapCharRec ch211 = {8,12,-1,0,10,ch211data};
-
-/* char: 0xd2 */
-
-static const GLubyte ch210data[] = {
-0x3c,0x42,0x81,0x81,0x81,0x81,0x81,0x42,0x3c,0x0,0x8,0x10,
-};
-
-static const BitmapCharRec ch210 = {8,12,-1,0,10,ch210data};
-
-/* char: 0xd1 */
-
-static const GLubyte ch209data[] = {
-0x82,0x86,0x8a,0x8a,0x92,0xa2,0xa2,0xc2,0x82,0x0,0x28,0x14,
-};
-
-static const BitmapCharRec ch209 = {7,12,-1,0,9,ch209data};
-
-/* char: 0xd0 */
-
-static const GLubyte ch208data[] = {
-0x7c,0x42,0x41,0x41,0xf1,0x41,0x41,0x42,0x7c,
-};
-
-static const BitmapCharRec ch208 = {8,9,0,0,9,ch208data};
-
-/* char: 0xcf */
-
-static const GLubyte ch207data[] = {
-0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0,
-};
-
-static const BitmapCharRec ch207 = {3,11,0,0,3,ch207data};
-
-/* char: 0xce */
-
-static const GLubyte ch206data[] = {
-0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0,0x40,
-};
-
-static const BitmapCharRec ch206 = {3,12,0,0,3,ch206data};
-
-/* char: 0xcd */
-
-static const GLubyte ch205data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,0x40,
-};
-
-static const BitmapCharRec ch205 = {2,12,-1,0,3,ch205data};
-
-/* char: 0xcc */
-
-static const GLubyte ch204data[] = {
-0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0x40,0x80,
-};
-
-static const BitmapCharRec ch204 = {2,12,0,0,3,ch204data};
-
-/* char: 0xcb */
-
-static const GLubyte ch203data[] = {
-0xfc,0x80,0x80,0x80,0xfc,0x80,0x80,0x80,0xfc,0x0,0x28,
-};
-
-static const BitmapCharRec ch203 = {6,11,-1,0,8,ch203data};
-
-/* char: 0xca */
-
-static const GLubyte ch202data[] = {
-0xfc,0x80,0x80,0x80,0xfc,0x80,0x80,0x80,0xfc,0x0,0x28,0x10,
-};
-
-static const BitmapCharRec ch202 = {6,12,-1,0,8,ch202data};
-
-/* char: 0xc9 */
-
-static const GLubyte ch201data[] = {
-0xfc,0x80,0x80,0x80,0xfc,0x80,0x80,0x80,0xfc,0x0,0x10,0x8,
-};
-
-static const BitmapCharRec ch201 = {6,12,-1,0,8,ch201data};
-
-/* char: 0xc8 */
-
-static const GLubyte ch200data[] = {
-0xfc,0x80,0x80,0x80,0xfc,0x80,0x80,0x80,0xfc,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch200 = {6,12,-1,0,8,ch200data};
-
-/* char: 0xc7 */
-
-static const GLubyte ch199data[] = {
-0x30,0x8,0x8,0x3c,0x42,0x80,0x80,0x80,0x80,0x80,0x42,0x3c,
-};
-
-static const BitmapCharRec ch199 = {7,12,-1,3,9,ch199data};
-
-/* char: 0xc6 */
-
-static const GLubyte ch198data[] = {
-0x8f,0x80,0x88,0x0,0x88,0x0,0x78,0x0,0x4f,0x80,0x48,0x0,0x28,0x0,0x28,0x0,
-0x1f,0x80,
-};
-
-static const BitmapCharRec ch198 = {9,9,-1,0,11,ch198data};
-
-/* char: 0xc5 */
-
-static const GLubyte ch197data[] = {
-0x82,0x82,0x82,0x7c,0x44,0x44,0x28,0x10,0x10,0x10,0x28,0x10,
-};
-
-static const BitmapCharRec ch197 = {7,12,-1,0,9,ch197data};
-
-/* char: 0xc4 */
-
-static const GLubyte ch196data[] = {
-0x82,0x82,0x82,0x7c,0x44,0x44,0x28,0x10,0x10,0x0,0x28,
-};
-
-static const BitmapCharRec ch196 = {7,11,-1,0,9,ch196data};
-
-/* char: 0xc3 */
-
-static const GLubyte ch195data[] = {
-0x82,0x82,0x82,0x7c,0x44,0x44,0x28,0x10,0x10,0x0,0x28,0x14,
-};
-
-static const BitmapCharRec ch195 = {7,12,-1,0,9,ch195data};
-
-/* char: 0xc2 */
-
-static const GLubyte ch194data[] = {
-0x82,0x82,0x82,0x7c,0x44,0x44,0x28,0x10,0x10,0x0,0x28,0x10,
-};
-
-static const BitmapCharRec ch194 = {7,12,-1,0,9,ch194data};
-
-/* char: 0xc1 */
-
-static const GLubyte ch193data[] = {
-0x82,0x82,0x82,0x7c,0x44,0x44,0x28,0x10,0x10,0x0,0x10,0x8,
-};
-
-static const BitmapCharRec ch193 = {7,12,-1,0,9,ch193data};
-
-/* char: 0xc0 */
-
-static const GLubyte ch192data[] = {
-0x82,0x82,0x82,0x7c,0x44,0x44,0x28,0x10,0x10,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch192 = {7,12,-1,0,9,ch192data};
-
-/* char: 0xbf */
-
-static const GLubyte ch191data[] = {
-0x70,0x88,0x88,0x40,0x40,0x20,0x20,0x0,0x20,
-};
-
-static const BitmapCharRec ch191 = {5,9,-1,3,7,ch191data};
-
-/* char: 0xbe */
-
-static const GLubyte ch190data[] = {
-0x21,0x0,0x17,0x80,0x15,0x0,0xb,0x0,0xc9,0x0,0x24,0x0,0x44,0x0,0x22,0x0,
-0xe1,0x0,
-};
-
-static const BitmapCharRec ch190 = {9,9,0,0,10,ch190data};
-
-/* char: 0xbd */
-
-static const GLubyte ch189data[] = {
-0x47,0x80,0x22,0x0,0x11,0x0,0x14,0x80,0x4b,0x0,0x48,0x0,0x44,0x0,0xc2,0x0,
-0x41,0x0,
-};
-
-static const BitmapCharRec ch189 = {9,9,0,0,10,ch189data};
-
-/* char: 0xbc */
-
-static const GLubyte ch188data[] = {
-0x41,0x0,0x27,0x80,0x15,0x0,0x13,0x0,0x49,0x0,0x44,0x0,0x44,0x0,0xc2,0x0,
-0x41,0x0,
-};
-
-static const BitmapCharRec ch188 = {9,9,0,0,10,ch188data};
-
-/* char: 0xbb */
-
-static const GLubyte ch187data[] = {
-0xa0,0x50,0x28,0x50,0xa0,
-};
-
-static const BitmapCharRec ch187 = {5,5,-1,-1,7,ch187data};
-
-/* char: 0xba */
-
-static const GLubyte ch186data[] = {
-0xe0,0x0,0xe0,0xa0,0xe0,
-};
-
-static const BitmapCharRec ch186 = {3,5,-1,-4,5,ch186data};
-
-/* char: 0xb9 */
-
-static const GLubyte ch185data[] = {
-0x40,0x40,0x40,0xc0,0x40,
-};
-
-static const BitmapCharRec ch185 = {2,5,-1,-3,4,ch185data};
-
-/* char: 0xb8 */
-
-static const GLubyte ch184data[] = {
-0xc0,0x20,0x20,0x40,
-};
-
-static const BitmapCharRec ch184 = {3,4,0,3,3,ch184data};
-
-/* char: 0xb7 */
-
-static const GLubyte ch183data[] = {
-0x80,
-};
-
-static const BitmapCharRec ch183 = {1,1,-1,-3,3,ch183data};
-
-/* char: 0xb6 */
-
-static const GLubyte ch182data[] = {
-0x28,0x28,0x28,0x28,0x28,0x28,0x68,0xe8,0xe8,0xe8,0x68,0x3c,
-};
-
-static const BitmapCharRec ch182 = {6,12,0,3,7,ch182data};
-
-/* char: 0xb5 */
-
-static const GLubyte ch181data[] = {
-0x80,0x80,0x80,0xe8,0x98,0x88,0x88,0x88,0x88,0x88,
-};
-
-static const BitmapCharRec ch181 = {5,10,-1,3,7,ch181data};
-
-/* char: 0xb4 */
-
-static const GLubyte ch180data[] = {
-0x80,0x40,
-};
-
-static const BitmapCharRec ch180 = {2,2,0,-8,2,ch180data};
-
-/* char: 0xb3 */
-
-static const GLubyte ch179data[] = {
-0xc0,0x20,0x40,0x20,0xe0,
-};
-
-static const BitmapCharRec ch179 = {3,5,0,-3,4,ch179data};
-
-/* char: 0xb2 */
-
-static const GLubyte ch178data[] = {
-0xf0,0x40,0x20,0x90,0x60,
-};
-
-static const BitmapCharRec ch178 = {4,5,0,-3,4,ch178data};
-
-/* char: 0xb1 */
-
-static const GLubyte ch177data[] = {
-0xf8,0x0,0x20,0x20,0xf8,0x20,0x20,
-};
-
-static const BitmapCharRec ch177 = {5,7,-1,0,7,ch177data};
-
-/* char: 0xb0 */
-
-static const GLubyte ch176data[] = {
-0x60,0x90,0x90,0x60,
-};
-
-static const BitmapCharRec ch176 = {4,4,0,-4,5,ch176data};
-
-/* char: 0xaf */
-
-static const GLubyte ch175data[] = {
-0xf0,
-};
-
-static const BitmapCharRec ch175 = {4,1,0,-8,4,ch175data};
-
-/* char: 0xae */
-
-static const GLubyte ch174data[] = {
-0x3e,0x0,0x41,0x0,0x94,0x80,0x94,0x80,0x98,0x80,0x94,0x80,0x9c,0x80,0x41,0x0,
-0x3e,0x0,
-};
-
-static const BitmapCharRec ch174 = {9,9,-1,0,11,ch174data};
-
-/* char: 0xad */
-
-static const GLubyte ch173data[] = {
-0xf0,
-};
-
-static const BitmapCharRec ch173 = {4,1,0,-3,5,ch173data};
-
-/* char: 0xac */
-
-static const GLubyte ch172data[] = {
-0x4,0x4,0x4,0xfc,
-};
-
-static const BitmapCharRec ch172 = {6,4,-1,-2,8,ch172data};
-
-/* char: 0xab */
-
-static const GLubyte ch171data[] = {
-0x28,0x50,0xa0,0x50,0x28,
-};
-
-static const BitmapCharRec ch171 = {5,5,-1,-1,7,ch171data};
-
-/* char: 0xaa */
-
-static const GLubyte ch170data[] = {
-0xe0,0x0,0xa0,0x20,0xe0,
-};
-
-static const BitmapCharRec ch170 = {3,5,-1,-4,5,ch170data};
-
-/* char: 0xa9 */
-
-static const GLubyte ch169data[] = {
-0x3e,0x0,0x41,0x0,0x9c,0x80,0xa2,0x80,0xa0,0x80,0xa2,0x80,0x9c,0x80,0x41,0x0,
-0x3e,0x0,
-};
-
-static const BitmapCharRec ch169 = {9,9,-1,0,11,ch169data};
-
-/* char: 0xa8 */
-
-static const GLubyte ch168data[] = {
-0xa0,
-};
-
-static const BitmapCharRec ch168 = {3,1,0,-8,3,ch168data};
-
-/* char: 0xa7 */
-
-static const GLubyte ch167data[] = {
-0x70,0x88,0x8,0x30,0x48,0x88,0x88,0x90,0x60,0x80,0x88,0x70,
-};
-
-static const BitmapCharRec ch167 = {5,12,0,3,6,ch167data};
-
-/* char: 0xa6 */
-
-static const GLubyte ch166data[] = {
-0x80,0x80,0x80,0x80,0x0,0x0,0x0,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch166 = {1,11,-1,2,3,ch166data};
-
-/* char: 0xa5 */
-
-static const GLubyte ch165data[] = {
-0x20,0x20,0xf8,0x20,0xf8,0x20,0x50,0x88,0x88,
-};
-
-static const BitmapCharRec ch165 = {5,9,-1,0,7,ch165data};
-
-/* char: 0xa4 */
-
-static const GLubyte ch164data[] = {
-0x84,0x78,0x48,0x48,0x78,0x84,
-};
-
-static const BitmapCharRec ch164 = {6,6,0,-1,7,ch164data};
-
-/* char: 0xa3 */
-
-static const GLubyte ch163data[] = {
-0xb0,0x48,0x20,0x20,0xf0,0x40,0x40,0x48,0x30,
-};
-
-static const BitmapCharRec ch163 = {5,9,-1,0,7,ch163data};
-
-/* char: 0xa2 */
-
-static const GLubyte ch162data[] = {
-0x40,0x70,0xc8,0xa0,0xa0,0xa0,0xa8,0x70,0x10,
-};
-
-static const BitmapCharRec ch162 = {5,9,-1,1,7,ch162data};
-
-/* char: 0xa1 */
-
-static const GLubyte ch161data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,
-};
-
-static const BitmapCharRec ch161 = {1,10,-1,3,3,ch161data};
-
-/* char: 0xa0 */
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch160data[] = { 0x0 };
-static const BitmapCharRec ch160 = {1,1,0,0,4,ch160data};
-#else
-static const BitmapCharRec ch160 = {0,0,0,0,4,0};
-#endif
-
-/* char: 0x7e '~' */
-
-static const GLubyte ch126data[] = {
-0x98,0x64,
-};
-
-static const BitmapCharRec ch126 = {6,2,0,-3,7,ch126data};
-
-/* char: 0x7d '}' */
-
-static const GLubyte ch125data[] = {
-0xc0,0x20,0x20,0x20,0x20,0x20,0x10,0x20,0x20,0x20,0x20,0xc0,
-};
-
-static const BitmapCharRec ch125 = {4,12,0,3,4,ch125data};
-
-/* char: 0x7c '|' */
-
-static const GLubyte ch124data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch124 = {1,12,-1,3,3,ch124data};
-
-/* char: 0x7b '{' */
-
-static const GLubyte ch123data[] = {
-0x30,0x40,0x40,0x40,0x40,0x40,0x80,0x40,0x40,0x40,0x40,0x30,
-};
-
-static const BitmapCharRec ch123 = {4,12,0,3,4,ch123data};
-
-/* char: 0x7a 'z' */
-
-static const GLubyte ch122data[] = {
-0xf0,0x80,0x40,0x40,0x20,0x10,0xf0,
-};
-
-static const BitmapCharRec ch122 = {4,7,-1,0,6,ch122data};
-
-/* char: 0x79 'y' */
-
-static const GLubyte ch121data[] = {
-0x80,0x40,0x20,0x20,0x50,0x50,0x90,0x88,0x88,0x88,
-};
-
-static const BitmapCharRec ch121 = {5,10,-1,3,7,ch121data};
-
-/* char: 0x78 'x' */
-
-static const GLubyte ch120data[] = {
-0x84,0x84,0x48,0x30,0x30,0x48,0x84,
-};
-
-static const BitmapCharRec ch120 = {6,7,0,0,6,ch120data};
-
-/* char: 0x77 'w' */
-
-static const GLubyte ch119data[] = {
-0x22,0x0,0x22,0x0,0x55,0x0,0x49,0x0,0x49,0x0,0x88,0x80,0x88,0x80,
-};
-
-static const BitmapCharRec ch119 = {9,7,0,0,9,ch119data};
-
-/* char: 0x76 'v' */
-
-static const GLubyte ch118data[] = {
-0x20,0x20,0x50,0x50,0x88,0x88,0x88,
-};
-
-static const BitmapCharRec ch118 = {5,7,-1,0,7,ch118data};
-
-/* char: 0x75 'u' */
-
-static const GLubyte ch117data[] = {
-0x68,0x98,0x88,0x88,0x88,0x88,0x88,
-};
-
-static const BitmapCharRec ch117 = {5,7,-1,0,7,ch117data};
-
-/* char: 0x74 't' */
-
-static const GLubyte ch116data[] = {
-0x60,0x40,0x40,0x40,0x40,0x40,0xe0,0x40,0x40,
-};
-
-static const BitmapCharRec ch116 = {3,9,0,0,3,ch116data};
-
-/* char: 0x73 's' */
-
-static const GLubyte ch115data[] = {
-0x60,0x90,0x10,0x60,0x80,0x90,0x60,
-};
-
-static const BitmapCharRec ch115 = {4,7,-1,0,6,ch115data};
-
-/* char: 0x72 'r' */
-
-static const GLubyte ch114data[] = {
-0x80,0x80,0x80,0x80,0x80,0xc0,0xa0,
-};
-
-static const BitmapCharRec ch114 = {3,7,-1,0,4,ch114data};
-
-/* char: 0x71 'q' */
-
-static const GLubyte ch113data[] = {
-0x8,0x8,0x8,0x68,0x98,0x88,0x88,0x88,0x98,0x68,
-};
-
-static const BitmapCharRec ch113 = {5,10,-1,3,7,ch113data};
-
-/* char: 0x70 'p' */
-
-static const GLubyte ch112data[] = {
-0x80,0x80,0x80,0xb0,0xc8,0x88,0x88,0x88,0xc8,0xb0,
-};
-
-static const BitmapCharRec ch112 = {5,10,-1,3,7,ch112data};
-
-/* char: 0x6f 'o' */
-
-static const GLubyte ch111data[] = {
-0x70,0x88,0x88,0x88,0x88,0x88,0x70,
-};
-
-static const BitmapCharRec ch111 = {5,7,-1,0,7,ch111data};
-
-/* char: 0x6e 'n' */
-
-static const GLubyte ch110data[] = {
-0x88,0x88,0x88,0x88,0x88,0xc8,0xb0,
-};
-
-static const BitmapCharRec ch110 = {5,7,-1,0,7,ch110data};
-
-/* char: 0x6d 'm' */
-
-static const GLubyte ch109data[] = {
-0x92,0x92,0x92,0x92,0x92,0xda,0xa4,
-};
-
-static const BitmapCharRec ch109 = {7,7,-1,0,9,ch109data};
-
-/* char: 0x6c 'l' */
-
-static const GLubyte ch108data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch108 = {1,9,-1,0,3,ch108data};
-
-/* char: 0x6b 'k' */
-
-static const GLubyte ch107data[] = {
-0x88,0x90,0xa0,0xc0,0xc0,0xa0,0x90,0x80,0x80,
-};
-
-static const BitmapCharRec ch107 = {5,9,-1,0,6,ch107data};
-
-/* char: 0x6a 'j' */
-
-static const GLubyte ch106data[] = {
-0x80,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0x40,
-};
-
-static const BitmapCharRec ch106 = {2,12,0,3,3,ch106data};
-
-/* char: 0x69 'i' */
-
-static const GLubyte ch105data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,
-};
-
-static const BitmapCharRec ch105 = {1,9,-1,0,3,ch105data};
-
-/* char: 0x68 'h' */
-
-static const GLubyte ch104data[] = {
-0x88,0x88,0x88,0x88,0x88,0xc8,0xb0,0x80,0x80,
-};
-
-static const BitmapCharRec ch104 = {5,9,-1,0,7,ch104data};
-
-/* char: 0x67 'g' */
-
-static const GLubyte ch103data[] = {
-0x70,0x88,0x8,0x68,0x98,0x88,0x88,0x88,0x98,0x68,
-};
-
-static const BitmapCharRec ch103 = {5,10,-1,3,7,ch103data};
-
-/* char: 0x66 'f' */
-
-static const GLubyte ch102data[] = {
-0x40,0x40,0x40,0x40,0x40,0x40,0xe0,0x40,0x30,
-};
-
-static const BitmapCharRec ch102 = {4,9,0,0,3,ch102data};
-
-/* char: 0x65 'e' */
-
-static const GLubyte ch101data[] = {
-0x70,0x88,0x80,0xf8,0x88,0x88,0x70,
-};
-
-static const BitmapCharRec ch101 = {5,7,-1,0,7,ch101data};
-
-/* char: 0x64 'd' */
-
-static const GLubyte ch100data[] = {
-0x68,0x98,0x88,0x88,0x88,0x98,0x68,0x8,0x8,
-};
-
-static const BitmapCharRec ch100 = {5,9,-1,0,7,ch100data};
-
-/* char: 0x63 'c' */
-
-static const GLubyte ch99data[] = {
-0x70,0x88,0x80,0x80,0x80,0x88,0x70,
-};
-
-static const BitmapCharRec ch99 = {5,7,-1,0,7,ch99data};
-
-/* char: 0x62 'b' */
-
-static const GLubyte ch98data[] = {
-0xb0,0xc8,0x88,0x88,0x88,0xc8,0xb0,0x80,0x80,
-};
-
-static const BitmapCharRec ch98 = {5,9,-1,0,7,ch98data};
-
-/* char: 0x61 'a' */
-
-static const GLubyte ch97data[] = {
-0x74,0x88,0x88,0x78,0x8,0x88,0x70,
-};
-
-static const BitmapCharRec ch97 = {6,7,-1,0,7,ch97data};
-
-/* char: 0x60 '`' */
-
-static const GLubyte ch96data[] = {
-0xc0,0x80,0x40,
-};
-
-static const BitmapCharRec ch96 = {2,3,0,-6,3,ch96data};
-
-/* char: 0x5f '_' */
-
-static const GLubyte ch95data[] = {
-0xfe,
-};
-
-static const BitmapCharRec ch95 = {7,1,0,2,7,ch95data};
-
-/* char: 0x5e '^' */
-
-static const GLubyte ch94data[] = {
-0x88,0x50,0x20,
-};
-
-static const BitmapCharRec ch94 = {5,3,0,-5,6,ch94data};
-
-/* char: 0x5d ']' */
-
-static const GLubyte ch93data[] = {
-0xc0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xc0,
-};
-
-static const BitmapCharRec ch93 = {2,12,0,3,3,ch93data};
-
-/* char: 0x5c '\' */
-
-static const GLubyte ch92data[] = {
-0x10,0x10,0x20,0x20,0x20,0x40,0x40,0x80,0x80,
-};
-
-static const BitmapCharRec ch92 = {4,9,0,0,4,ch92data};
-
-/* char: 0x5b '[' */
-
-static const GLubyte ch91data[] = {
-0xc0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xc0,
-};
-
-static const BitmapCharRec ch91 = {2,12,-1,3,3,ch91data};
-
-/* char: 0x5a 'Z' */
-
-static const GLubyte ch90data[] = {
-0xfe,0x80,0x40,0x20,0x10,0x8,0x4,0x2,0xfe,
-};
-
-static const BitmapCharRec ch90 = {7,9,-1,0,9,ch90data};
-
-/* char: 0x59 'Y' */
-
-static const GLubyte ch89data[] = {
-0x10,0x10,0x10,0x10,0x28,0x44,0x44,0x82,0x82,
-};
-
-static const BitmapCharRec ch89 = {7,9,-1,0,9,ch89data};
-
-/* char: 0x58 'X' */
-
-static const GLubyte ch88data[] = {
-0x82,0x44,0x44,0x28,0x10,0x28,0x44,0x44,0x82,
-};
-
-static const BitmapCharRec ch88 = {7,9,-1,0,9,ch88data};
-
-/* char: 0x57 'W' */
-
-static const GLubyte ch87data[] = {
-0x22,0x0,0x22,0x0,0x22,0x0,0x55,0x0,0x55,0x0,0x49,0x0,0x88,0x80,0x88,0x80,
-0x88,0x80,
-};
-
-static const BitmapCharRec ch87 = {9,9,-1,0,11,ch87data};
-
-/* char: 0x56 'V' */
-
-static const GLubyte ch86data[] = {
-0x10,0x10,0x28,0x28,0x44,0x44,0x44,0x82,0x82,
-};
-
-static const BitmapCharRec ch86 = {7,9,-1,0,9,ch86data};
-
-/* char: 0x55 'U' */
-
-static const GLubyte ch85data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
-};
-
-static const BitmapCharRec ch85 = {6,9,-1,0,8,ch85data};
-
-/* char: 0x54 'T' */
-
-static const GLubyte ch84data[] = {
-0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0xfe,
-};
-
-static const BitmapCharRec ch84 = {7,9,0,0,7,ch84data};
-
-/* char: 0x53 'S' */
-
-static const GLubyte ch83data[] = {
-0x78,0x84,0x84,0x4,0x18,0x60,0x80,0x84,0x78,
-};
-
-static const BitmapCharRec ch83 = {6,9,-1,0,8,ch83data};
-
-/* char: 0x52 'R' */
-
-static const GLubyte ch82data[] = {
-0x84,0x84,0x84,0x88,0xf8,0x84,0x84,0x84,0xf8,
-};
-
-static const BitmapCharRec ch82 = {6,9,-1,0,8,ch82data};
-
-/* char: 0x51 'Q' */
-
-static const GLubyte ch81data[] = {
-0x3d,0x42,0x85,0x89,0x81,0x81,0x81,0x42,0x3c,
-};
-
-static const BitmapCharRec ch81 = {8,9,-1,0,10,ch81data};
-
-/* char: 0x50 'P' */
-
-static const GLubyte ch80data[] = {
-0x80,0x80,0x80,0x80,0xf8,0x84,0x84,0x84,0xf8,
-};
-
-static const BitmapCharRec ch80 = {6,9,-1,0,8,ch80data};
-
-/* char: 0x4f 'O' */
-
-static const GLubyte ch79data[] = {
-0x3c,0x42,0x81,0x81,0x81,0x81,0x81,0x42,0x3c,
-};
-
-static const BitmapCharRec ch79 = {8,9,-1,0,10,ch79data};
-
-/* char: 0x4e 'N' */
-
-static const GLubyte ch78data[] = {
-0x82,0x86,0x8a,0x8a,0x92,0xa2,0xa2,0xc2,0x82,
-};
-
-static const BitmapCharRec ch78 = {7,9,-1,0,9,ch78data};
-
-/* char: 0x4d 'M' */
-
-static const GLubyte ch77data[] = {
-0x88,0x80,0x88,0x80,0x94,0x80,0x94,0x80,0xa2,0x80,0xa2,0x80,0xc1,0x80,0xc1,0x80,
-0x80,0x80,
-};
-
-static const BitmapCharRec ch77 = {9,9,-1,0,11,ch77data};
-
-/* char: 0x4c 'L' */
-
-static const GLubyte ch76data[] = {
-0xf8,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch76 = {5,9,-1,0,7,ch76data};
-
-/* char: 0x4b 'K' */
-
-static const GLubyte ch75data[] = {
-0x82,0x84,0x88,0x90,0xe0,0xa0,0x90,0x88,0x84,
-};
-
-static const BitmapCharRec ch75 = {7,9,-1,0,8,ch75data};
-
-/* char: 0x4a 'J' */
-
-static const GLubyte ch74data[] = {
-0x70,0x88,0x88,0x8,0x8,0x8,0x8,0x8,0x8,
-};
-
-static const BitmapCharRec ch74 = {5,9,-1,0,7,ch74data};
-
-/* char: 0x49 'I' */
-
-static const GLubyte ch73data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch73 = {1,9,-1,0,3,ch73data};
-
-/* char: 0x48 'H' */
-
-static const GLubyte ch72data[] = {
-0x82,0x82,0x82,0x82,0xfe,0x82,0x82,0x82,0x82,
-};
-
-static const BitmapCharRec ch72 = {7,9,-1,0,9,ch72data};
-
-/* char: 0x47 'G' */
-
-static const GLubyte ch71data[] = {
-0x3a,0x46,0x82,0x82,0x8e,0x80,0x80,0x42,0x3c,
-};
-
-static const BitmapCharRec ch71 = {7,9,-1,0,9,ch71data};
-
-/* char: 0x46 'F' */
-
-static const GLubyte ch70data[] = {
-0x80,0x80,0x80,0x80,0xf8,0x80,0x80,0x80,0xfc,
-};
-
-static const BitmapCharRec ch70 = {6,9,-1,0,8,ch70data};
-
-/* char: 0x45 'E' */
-
-static const GLubyte ch69data[] = {
-0xfc,0x80,0x80,0x80,0xfc,0x80,0x80,0x80,0xfc,
-};
-
-static const BitmapCharRec ch69 = {6,9,-1,0,8,ch69data};
-
-/* char: 0x44 'D' */
-
-static const GLubyte ch68data[] = {
-0xf8,0x84,0x82,0x82,0x82,0x82,0x82,0x84,0xf8,
-};
-
-static const BitmapCharRec ch68 = {7,9,-1,0,9,ch68data};
-
-/* char: 0x43 'C' */
-
-static const GLubyte ch67data[] = {
-0x3c,0x42,0x80,0x80,0x80,0x80,0x80,0x42,0x3c,
-};
-
-static const BitmapCharRec ch67 = {7,9,-1,0,9,ch67data};
-
-/* char: 0x42 'B' */
-
-static const GLubyte ch66data[] = {
-0xf8,0x84,0x84,0x84,0xf8,0x84,0x84,0x84,0xf8,
-};
-
-static const BitmapCharRec ch66 = {6,9,-1,0,8,ch66data};
-
-/* char: 0x41 'A' */
-
-static const GLubyte ch65data[] = {
-0x82,0x82,0x82,0x7c,0x44,0x44,0x28,0x28,0x10,
-};
-
-static const BitmapCharRec ch65 = {7,9,-1,0,9,ch65data};
-
-/* char: 0x40 '@' */
-
-static const GLubyte ch64data[] = {
-0x3e,0x0,0x40,0x0,0x9b,0x0,0xa6,0x80,0xa2,0x40,0xa2,0x40,0x92,0x40,0x4d,0x40,
-0x60,0x80,0x1f,0x0,
-};
-
-static const BitmapCharRec ch64 = {10,10,-1,1,12,ch64data};
-
-/* char: 0x3f '?' */
-
-static const GLubyte ch63data[] = {
-0x20,0x0,0x20,0x20,0x10,0x10,0x88,0x88,0x70,
-};
-
-static const BitmapCharRec ch63 = {5,9,-1,0,7,ch63data};
-
-/* char: 0x3e '>' */
-
-static const GLubyte ch62data[] = {
-0xc0,0x30,0xc,0x30,0xc0,
-};
-
-static const BitmapCharRec ch62 = {6,5,-1,-1,7,ch62data};
-
-/* char: 0x3d '=' */
-
-static const GLubyte ch61data[] = {
-0xf8,0x0,0xf8,
-};
-
-static const BitmapCharRec ch61 = {5,3,-1,-2,7,ch61data};
-
-/* char: 0x3c '<' */
-
-static const GLubyte ch60data[] = {
-0xc,0x30,0xc0,0x30,0xc,
-};
-
-static const BitmapCharRec ch60 = {6,5,0,-1,7,ch60data};
-
-/* char: 0x3b ';' */
-
-static const GLubyte ch59data[] = {
-0x80,0x40,0x40,0x0,0x0,0x0,0x0,0x40,
-};
-
-static const BitmapCharRec ch59 = {2,8,0,2,3,ch59data};
-
-/* char: 0x3a ':' */
-
-static const GLubyte ch58data[] = {
-0x80,0x0,0x0,0x0,0x0,0x80,
-};
-
-static const BitmapCharRec ch58 = {1,6,-1,0,3,ch58data};
-
-/* char: 0x39 '9' */
-
-static const GLubyte ch57data[] = {
-0x70,0x88,0x8,0x8,0x78,0x88,0x88,0x88,0x70,
-};
-
-static const BitmapCharRec ch57 = {5,9,-1,0,7,ch57data};
-
-/* char: 0x38 '8' */
-
-static const GLubyte ch56data[] = {
-0x70,0x88,0x88,0x88,0x88,0x70,0x88,0x88,0x70,
-};
-
-static const BitmapCharRec ch56 = {5,9,-1,0,7,ch56data};
-
-/* char: 0x37 '7' */
-
-static const GLubyte ch55data[] = {
-0x40,0x40,0x20,0x20,0x20,0x10,0x10,0x8,0xf8,
-};
-
-static const BitmapCharRec ch55 = {5,9,-1,0,7,ch55data};
-
-/* char: 0x36 '6' */
-
-static const GLubyte ch54data[] = {
-0x70,0x88,0x88,0x88,0xc8,0xb0,0x80,0x88,0x70,
-};
-
-static const BitmapCharRec ch54 = {5,9,-1,0,7,ch54data};
-
-/* char: 0x35 '5' */
-
-static const GLubyte ch53data[] = {
-0x70,0x88,0x88,0x8,0x8,0xf0,0x80,0x80,0xf8,
-};
-
-static const BitmapCharRec ch53 = {5,9,-1,0,7,ch53data};
-
-/* char: 0x34 '4' */
-
-static const GLubyte ch52data[] = {
-0x8,0x8,0xfc,0x88,0x48,0x28,0x28,0x18,0x8,
-};
-
-static const BitmapCharRec ch52 = {6,9,0,0,7,ch52data};
-
-/* char: 0x33 '3' */
-
-static const GLubyte ch51data[] = {
-0x70,0x88,0x88,0x8,0x8,0x30,0x8,0x88,0x70,
-};
-
-static const BitmapCharRec ch51 = {5,9,-1,0,7,ch51data};
-
-/* char: 0x32 '2' */
-
-static const GLubyte ch50data[] = {
-0xf8,0x80,0x80,0x40,0x20,0x10,0x8,0x88,0x70,
-};
-
-static const BitmapCharRec ch50 = {5,9,-1,0,7,ch50data};
-
-/* char: 0x31 '1' */
-
-static const GLubyte ch49data[] = {
-0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xe0,0x20,
-};
-
-static const BitmapCharRec ch49 = {3,9,-1,0,7,ch49data};
-
-/* char: 0x30 '0' */
-
-static const GLubyte ch48data[] = {
-0x70,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x70,
-};
-
-static const BitmapCharRec ch48 = {5,9,-1,0,7,ch48data};
-
-/* char: 0x2f '/' */
-
-static const GLubyte ch47data[] = {
-0x80,0x80,0x40,0x40,0x40,0x20,0x20,0x10,0x10,
-};
-
-static const BitmapCharRec ch47 = {4,9,0,0,4,ch47data};
-
-/* char: 0x2e '.' */
-
-static const GLubyte ch46data[] = {
-0x80,
-};
-
-static const BitmapCharRec ch46 = {1,1,-1,0,3,ch46data};
-
-/* char: 0x2d '-' */
-
-static const GLubyte ch45data[] = {
-0xf8,
-};
-
-static const BitmapCharRec ch45 = {5,1,-1,-3,8,ch45data};
-
-/* char: 0x2c ',' */
-
-static const GLubyte ch44data[] = {
-0x80,0x40,0x40,
-};
-
-static const BitmapCharRec ch44 = {2,3,-1,2,4,ch44data};
-
-/* char: 0x2b '+' */
-
-static const GLubyte ch43data[] = {
-0x20,0x20,0xf8,0x20,0x20,
-};
-
-static const BitmapCharRec ch43 = {5,5,-1,-1,7,ch43data};
-
-/* char: 0x2a '*' */
-
-static const GLubyte ch42data[] = {
-0xa0,0x40,0xa0,
-};
-
-static const BitmapCharRec ch42 = {3,3,-1,-6,5,ch42data};
-
-/* char: 0x29 ')' */
-
-static const GLubyte ch41data[] = {
-0x80,0x40,0x40,0x20,0x20,0x20,0x20,0x20,0x20,0x40,0x40,0x80,
-};
-
-static const BitmapCharRec ch41 = {3,12,0,3,4,ch41data};
-
-/* char: 0x28 '(' */
-
-static const GLubyte ch40data[] = {
-0x20,0x40,0x40,0x80,0x80,0x80,0x80,0x80,0x80,0x40,0x40,0x20,
-};
-
-static const BitmapCharRec ch40 = {3,12,-1,3,4,ch40data};
-
-/* char: 0x27 ''' */
-
-static const GLubyte ch39data[] = {
-0x80,0x40,0xc0,
-};
-
-static const BitmapCharRec ch39 = {2,3,-1,-6,3,ch39data};
-
-/* char: 0x26 '&' */
-
-static const GLubyte ch38data[] = {
-0x72,0x8c,0x84,0x8a,0x50,0x30,0x48,0x48,0x30,
-};
-
-static const BitmapCharRec ch38 = {7,9,-1,0,9,ch38data};
-
-/* char: 0x25 '%' */
-
-static const GLubyte ch37data[] = {
-0x23,0x0,0x14,0x80,0x14,0x80,0x13,0x0,0x8,0x0,0x68,0x0,0x94,0x0,0x94,0x0,
-0x62,0x0,
-};
-
-static const BitmapCharRec ch37 = {9,9,-1,0,11,ch37data};
-
-/* char: 0x24 '$' */
-
-static const GLubyte ch36data[] = {
-0x20,0x70,0xa8,0xa8,0x28,0x70,0xa0,0xa8,0x70,0x20,
-};
-
-static const BitmapCharRec ch36 = {5,10,-1,1,7,ch36data};
-
-/* char: 0x23 '#' */
-
-static const GLubyte ch35data[] = {
-0x50,0x50,0x50,0xfc,0x28,0xfc,0x28,0x28,
-};
-
-static const BitmapCharRec ch35 = {6,8,0,0,7,ch35data};
-
-/* char: 0x22 '"' */
-
-static const GLubyte ch34data[] = {
-0xa0,0xa0,0xa0,
-};
-
-static const BitmapCharRec ch34 = {3,3,-1,-6,5,ch34data};
-
-/* char: 0x21 '!' */
-
-static const GLubyte ch33data[] = {
-0x80,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch33 = {1,9,-1,0,3,ch33data};
-
-/* char: 0x20 ' ' */
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch32data[] = { 0x0 };
-static const BitmapCharRec ch32 = {1,1,0,0,4,ch32data};
-#else
-static const BitmapCharRec ch32 = {0,0,0,0,4,0};
-#endif
-
-static const BitmapCharRec * const chars[] = {
-&ch32,
-&ch33,
-&ch34,
-&ch35,
-&ch36,
-&ch37,
-&ch38,
-&ch39,
-&ch40,
-&ch41,
-&ch42,
-&ch43,
-&ch44,
-&ch45,
-&ch46,
-&ch47,
-&ch48,
-&ch49,
-&ch50,
-&ch51,
-&ch52,
-&ch53,
-&ch54,
-&ch55,
-&ch56,
-&ch57,
-&ch58,
-&ch59,
-&ch60,
-&ch61,
-&ch62,
-&ch63,
-&ch64,
-&ch65,
-&ch66,
-&ch67,
-&ch68,
-&ch69,
-&ch70,
-&ch71,
-&ch72,
-&ch73,
-&ch74,
-&ch75,
-&ch76,
-&ch77,
-&ch78,
-&ch79,
-&ch80,
-&ch81,
-&ch82,
-&ch83,
-&ch84,
-&ch85,
-&ch86,
-&ch87,
-&ch88,
-&ch89,
-&ch90,
-&ch91,
-&ch92,
-&ch93,
-&ch94,
-&ch95,
-&ch96,
-&ch97,
-&ch98,
-&ch99,
-&ch100,
-&ch101,
-&ch102,
-&ch103,
-&ch104,
-&ch105,
-&ch106,
-&ch107,
-&ch108,
-&ch109,
-&ch110,
-&ch111,
-&ch112,
-&ch113,
-&ch114,
-&ch115,
-&ch116,
-&ch117,
-&ch118,
-&ch119,
-&ch120,
-&ch121,
-&ch122,
-&ch123,
-&ch124,
-&ch125,
-&ch126,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-&ch160,
-&ch161,
-&ch162,
-&ch163,
-&ch164,
-&ch165,
-&ch166,
-&ch167,
-&ch168,
-&ch169,
-&ch170,
-&ch171,
-&ch172,
-&ch173,
-&ch174,
-&ch175,
-&ch176,
-&ch177,
-&ch178,
-&ch179,
-&ch180,
-&ch181,
-&ch182,
-&ch183,
-&ch184,
-&ch185,
-&ch186,
-&ch187,
-&ch188,
-&ch189,
-&ch190,
-&ch191,
-&ch192,
-&ch193,
-&ch194,
-&ch195,
-&ch196,
-&ch197,
-&ch198,
-&ch199,
-&ch200,
-&ch201,
-&ch202,
-&ch203,
-&ch204,
-&ch205,
-&ch206,
-&ch207,
-&ch208,
-&ch209,
-&ch210,
-&ch211,
-&ch212,
-&ch213,
-&ch214,
-&ch215,
-&ch216,
-&ch217,
-&ch218,
-&ch219,
-&ch220,
-&ch221,
-&ch222,
-&ch223,
-&ch224,
-&ch225,
-&ch226,
-&ch227,
-&ch228,
-&ch229,
-&ch230,
-&ch231,
-&ch232,
-&ch233,
-&ch234,
-&ch235,
-&ch236,
-&ch237,
-&ch238,
-&ch239,
-&ch240,
-&ch241,
-&ch242,
-&ch243,
-&ch244,
-&ch245,
-&ch246,
-&ch247,
-&ch248,
-&ch249,
-&ch250,
-&ch251,
-&ch252,
-&ch253,
-&ch254,
-&ch255,
-};
-
-const BitmapFontRec glutBitmapHelvetica12 = {
-"-adobe-helvetica-medium-r-normal--12-120-75-75-p-67-iso8859-1",
-224,
-32,
-chars
-};
-
diff --git a/src/glut/beos/glut_hel18.c b/src/glut/beos/glut_hel18.c
deleted file mode 100644
index f0800843e8..0000000000
--- a/src/glut/beos/glut_hel18.c
+++ /dev/null
@@ -1,1897 +0,0 @@
-
-/* GENERATED FILE -- DO NOT MODIFY */
-
-#define glutBitmapHelvetica18 XXX
-#include "glutbitmap.h"
-#undef glutBitmapHelvetica18
-
-/* char: 0xff */
-
-static const GLubyte ch255data[] = {
-0x70,0x70,0x18,0x18,0x18,0x18,0x3c,0x24,0x66,0x66,0x66,0xc3,0xc3,0xc3,0x0,0x66,
-0x66,
-};
-
-static const BitmapCharRec ch255 = {8,17,-1,4,10,ch255data};
-
-/* char: 0xfe */
-
-static const GLubyte ch254data[] = {
-0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xde,0x0,0xff,0x0,0xe3,0x0,0xc1,0x80,
-0xc1,0x80,0xc1,0x80,0xc1,0x80,0xe3,0x0,0xff,0x0,0xde,0x0,0xc0,0x0,0xc0,0x0,
-0xc0,0x0,0xc0,0x0,
-};
-
-static const BitmapCharRec ch254 = {9,18,-1,4,11,ch254data};
-
-/* char: 0xfd */
-
-static const GLubyte ch253data[] = {
-0x70,0x70,0x18,0x18,0x18,0x18,0x3c,0x24,0x66,0x66,0x66,0xc3,0xc3,0xc3,0x0,0x18,
-0xc,0x6,
-};
-
-static const BitmapCharRec ch253 = {8,18,-1,4,10,ch253data};
-
-/* char: 0xfc */
-
-static const GLubyte ch252data[] = {
-0x73,0xfb,0xc7,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0x0,0x66,0x66,
-};
-
-static const BitmapCharRec ch252 = {8,13,-1,0,10,ch252data};
-
-/* char: 0xfb */
-
-static const GLubyte ch251data[] = {
-0x73,0xfb,0xc7,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0x0,0x66,0x3c,0x18,
-};
-
-static const BitmapCharRec ch251 = {8,14,-1,0,10,ch251data};
-
-/* char: 0xfa */
-
-static const GLubyte ch250data[] = {
-0x73,0xfb,0xc7,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0x0,0x18,0xc,0x6,
-};
-
-static const BitmapCharRec ch250 = {8,14,-1,0,10,ch250data};
-
-/* char: 0xf9 */
-
-static const GLubyte ch249data[] = {
-0x73,0xfb,0xc7,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0x0,0xc,0x18,0x30,
-};
-
-static const BitmapCharRec ch249 = {8,14,-1,0,10,ch249data};
-
-/* char: 0xf8 */
-
-static const GLubyte ch248data[] = {
-0xce,0x0,0x7f,0x80,0x31,0x80,0x78,0xc0,0x6c,0xc0,0x66,0xc0,0x63,0xc0,0x31,0x80,
-0x3f,0xc0,0xe,0x60,
-};
-
-static const BitmapCharRec ch248 = {11,10,0,0,11,ch248data};
-
-/* char: 0xf7 */
-
-static const GLubyte ch247data[] = {
-0x18,0x18,0x0,0xff,0xff,0x0,0x18,0x18,
-};
-
-static const BitmapCharRec ch247 = {8,8,-1,-1,10,ch247data};
-
-/* char: 0xf6 */
-
-static const GLubyte ch246data[] = {
-0x3e,0x0,0x7f,0x0,0x63,0x0,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x0,
-0x7f,0x0,0x3e,0x0,0x0,0x0,0x36,0x0,0x36,0x0,
-};
-
-static const BitmapCharRec ch246 = {9,13,-1,0,11,ch246data};
-
-/* char: 0xf5 */
-
-static const GLubyte ch245data[] = {
-0x3e,0x0,0x7f,0x0,0x63,0x0,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x0,
-0x7f,0x0,0x3e,0x0,0x0,0x0,0x26,0x0,0x2d,0x0,0x19,0x0,
-};
-
-static const BitmapCharRec ch245 = {9,14,-1,0,11,ch245data};
-
-/* char: 0xf4 */
-
-static const GLubyte ch244data[] = {
-0x3e,0x0,0x7f,0x0,0x63,0x0,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x0,
-0x7f,0x0,0x3e,0x0,0x0,0x0,0x33,0x0,0x1e,0x0,0xc,0x0,
-};
-
-static const BitmapCharRec ch244 = {9,14,-1,0,11,ch244data};
-
-/* char: 0xf3 */
-
-static const GLubyte ch243data[] = {
-0x3e,0x0,0x7f,0x0,0x63,0x0,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x0,
-0x7f,0x0,0x3e,0x0,0x0,0x0,0x18,0x0,0xc,0x0,0x6,0x0,
-};
-
-static const BitmapCharRec ch243 = {9,14,-1,0,11,ch243data};
-
-/* char: 0xf2 */
-
-static const GLubyte ch242data[] = {
-0x3e,0x0,0x7f,0x0,0x63,0x0,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x0,
-0x7f,0x0,0x3e,0x0,0x0,0x0,0xc,0x0,0x18,0x0,0x30,0x0,
-};
-
-static const BitmapCharRec ch242 = {9,14,-1,0,11,ch242data};
-
-/* char: 0xf1 */
-
-static const GLubyte ch241data[] = {
-0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xe3,0xdf,0xce,0x0,0x4c,0x5a,0x32,
-};
-
-static const BitmapCharRec ch241 = {8,14,-1,0,10,ch241data};
-
-/* char: 0xf0 */
-
-static const GLubyte ch240data[] = {
-0x3e,0x0,0x7f,0x0,0x63,0x0,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x0,
-0x7f,0x0,0x3e,0x0,0x4c,0x0,0x38,0x0,0x36,0x0,0x60,0x0,
-};
-
-static const BitmapCharRec ch240 = {9,14,-1,0,11,ch240data};
-
-/* char: 0xef */
-
-static const GLubyte ch239data[] = {
-0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x0,0xd8,0xd8,
-};
-
-static const BitmapCharRec ch239 = {5,13,0,0,4,ch239data};
-
-/* char: 0xee */
-
-static const GLubyte ch238data[] = {
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x0,0xcc,0x78,0x30,
-};
-
-static const BitmapCharRec ch238 = {6,14,1,0,4,ch238data};
-
-/* char: 0xed */
-
-static const GLubyte ch237data[] = {
-0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x0,0xc0,0x60,0x30,
-};
-
-static const BitmapCharRec ch237 = {4,14,0,0,4,ch237data};
-
-/* char: 0xec */
-
-static const GLubyte ch236data[] = {
-0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x0,0x30,0x60,0xc0,
-};
-
-static const BitmapCharRec ch236 = {4,14,0,0,4,ch236data};
-
-/* char: 0xeb */
-
-static const GLubyte ch235data[] = {
-0x3c,0x7f,0xe3,0xc0,0xc0,0xff,0xc3,0xc3,0x7e,0x3c,0x0,0x36,0x36,
-};
-
-static const BitmapCharRec ch235 = {8,13,-1,0,10,ch235data};
-
-/* char: 0xea */
-
-static const GLubyte ch234data[] = {
-0x3c,0x7f,0xe3,0xc0,0xc0,0xff,0xc3,0xc3,0x7e,0x3c,0x0,0x66,0x3c,0x18,
-};
-
-static const BitmapCharRec ch234 = {8,14,-1,0,10,ch234data};
-
-/* char: 0xe9 */
-
-static const GLubyte ch233data[] = {
-0x3c,0x7f,0xe3,0xc0,0xc0,0xff,0xc3,0xc3,0x7e,0x3c,0x0,0x18,0xc,0x6,
-};
-
-static const BitmapCharRec ch233 = {8,14,-1,0,10,ch233data};
-
-/* char: 0xe8 */
-
-static const GLubyte ch232data[] = {
-0x3c,0x7f,0xe3,0xc0,0xc0,0xff,0xc3,0xc3,0x7e,0x3c,0x0,0x18,0x30,0x60,
-};
-
-static const BitmapCharRec ch232 = {8,14,-1,0,10,ch232data};
-
-/* char: 0xe7 */
-
-static const GLubyte ch231data[] = {
-0x78,0x6c,0xc,0x38,0x3e,0x7f,0x63,0xc0,0xc0,0xc0,0xc0,0x63,0x7f,0x3e,
-};
-
-static const BitmapCharRec ch231 = {8,14,-1,4,10,ch231data};
-
-/* char: 0xe6 */
-
-static const GLubyte ch230data[] = {
-0x75,0xe0,0xef,0xf8,0xc7,0x18,0xc6,0x0,0xe6,0x0,0x7f,0xf8,0xe,0x18,0xc6,0x18,
-0xef,0xf0,0x7d,0xe0,
-};
-
-static const BitmapCharRec ch230 = {13,10,-1,0,15,ch230data};
-
-/* char: 0xe5 */
-
-static const GLubyte ch229data[] = {
-0x76,0xee,0xc6,0xc6,0xe6,0x7e,0xe,0xc6,0xee,0x7c,0x38,0x6c,0x6c,0x38,
-};
-
-static const BitmapCharRec ch229 = {7,14,-1,0,9,ch229data};
-
-/* char: 0xe4 */
-
-static const GLubyte ch228data[] = {
-0x76,0xee,0xc6,0xc6,0xe6,0x7e,0xe,0xc6,0xee,0x7c,0x0,0x6c,0x6c,
-};
-
-static const BitmapCharRec ch228 = {7,13,-1,0,9,ch228data};
-
-/* char: 0xe3 */
-
-static const GLubyte ch227data[] = {
-0x76,0xee,0xc6,0xc6,0xe6,0x7e,0xe,0xc6,0xee,0x7c,0x0,0x4c,0x5a,0x32,
-};
-
-static const BitmapCharRec ch227 = {7,14,-1,0,9,ch227data};
-
-/* char: 0xe2 */
-
-static const GLubyte ch226data[] = {
-0x76,0xee,0xc6,0xc6,0xe6,0x7e,0xe,0xc6,0xee,0x7c,0x0,0x66,0x3c,0x18,
-};
-
-static const BitmapCharRec ch226 = {7,14,-1,0,9,ch226data};
-
-/* char: 0xe1 */
-
-static const GLubyte ch225data[] = {
-0x76,0xee,0xc6,0xc6,0xe6,0x7e,0xe,0xc6,0xee,0x7c,0x0,0x30,0x18,0xc,
-};
-
-static const BitmapCharRec ch225 = {7,14,-1,0,9,ch225data};
-
-/* char: 0xe0 */
-
-static const GLubyte ch224data[] = {
-0x76,0xee,0xc6,0xc6,0xe6,0x7e,0xe,0xc6,0xee,0x7c,0x0,0x18,0x30,0x60,
-};
-
-static const BitmapCharRec ch224 = {7,14,-1,0,9,ch224data};
-
-/* char: 0xdf */
-
-static const GLubyte ch223data[] = {
-0xdc,0xde,0xc6,0xc6,0xc6,0xc6,0xdc,0xdc,0xc6,0xc6,0xc6,0xc6,0x7c,0x38,
-};
-
-static const BitmapCharRec ch223 = {7,14,-1,0,9,ch223data};
-
-/* char: 0xde */
-
-static const GLubyte ch222data[] = {
-0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x0,0xff,0x80,0xc1,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc1,0xc0,0xff,0x80,0xff,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,
-};
-
-static const BitmapCharRec ch222 = {10,14,-1,0,12,ch222data};
-
-/* char: 0xdd */
-
-static const GLubyte ch221data[] = {
-0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0xf,0x0,0x19,0x80,
-0x30,0xc0,0x30,0xc0,0x60,0x60,0x60,0x60,0xc0,0x30,0xc0,0x30,0x0,0x0,0x6,0x0,
-0x3,0x0,0x1,0x80,
-};
-
-static const BitmapCharRec ch221 = {12,18,-1,0,14,ch221data};
-
-/* char: 0xdc */
-
-static const GLubyte ch220data[] = {
-0x1f,0x0,0x7f,0xc0,0x60,0xc0,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,
-0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0x0,0x0,0x19,0x80,
-0x19,0x80,
-};
-
-static const BitmapCharRec ch220 = {11,17,-1,0,13,ch220data};
-
-/* char: 0xdb */
-
-static const GLubyte ch219data[] = {
-0x1f,0x0,0x7f,0xc0,0x60,0xc0,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,
-0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0x0,0x0,0x19,0x80,
-0xf,0x0,0x6,0x0,
-};
-
-static const BitmapCharRec ch219 = {11,18,-1,0,13,ch219data};
-
-/* char: 0xda */
-
-static const GLubyte ch218data[] = {
-0x1f,0x0,0x7f,0xc0,0x60,0xc0,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,
-0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0x0,0x0,0xc,0x0,
-0x6,0x0,0x3,0x0,
-};
-
-static const BitmapCharRec ch218 = {11,18,-1,0,13,ch218data};
-
-/* char: 0xd9 */
-
-static const GLubyte ch217data[] = {
-0x1f,0x0,0x7f,0xc0,0x60,0xc0,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,
-0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0x0,0x0,0x6,0x0,
-0xc,0x0,0x18,0x0,
-};
-
-static const BitmapCharRec ch217 = {11,18,-1,0,13,ch217data};
-
-/* char: 0xd8 */
-
-static const GLubyte ch216data[] = {
-0xc7,0xc0,0xff,0xf0,0x78,0x38,0x38,0x18,0x6c,0x1c,0x6e,0xc,0x67,0xc,0x63,0x8c,
-0x61,0xcc,0x70,0xdc,0x30,0x78,0x38,0x38,0x1f,0xfc,0x7,0xcc,
-};
-
-static const BitmapCharRec ch216 = {14,14,0,0,15,ch216data};
-
-/* char: 0xd7 */
-
-static const GLubyte ch215data[] = {
-0xc0,0xc0,0x61,0x80,0x33,0x0,0x1e,0x0,0xc,0x0,0x1e,0x0,0x33,0x0,0x61,0x80,
-0xc0,0xc0,
-};
-
-static const BitmapCharRec ch215 = {10,9,0,0,10,ch215data};
-
-/* char: 0xd6 */
-
-static const GLubyte ch214data[] = {
-0xf,0x80,0x3f,0xe0,0x70,0x70,0x60,0x30,0xe0,0x38,0xc0,0x18,0xc0,0x18,0xc0,0x18,
-0xc0,0x18,0xe0,0x38,0x60,0x30,0x70,0x70,0x3f,0xe0,0xf,0x80,0x0,0x0,0xd,0x80,
-0xd,0x80,
-};
-
-static const BitmapCharRec ch214 = {13,17,-1,0,15,ch214data};
-
-/* char: 0xd5 */
-
-static const GLubyte ch213data[] = {
-0xf,0x80,0x3f,0xe0,0x70,0x70,0x60,0x30,0xe0,0x38,0xc0,0x18,0xc0,0x18,0xc0,0x18,
-0xc0,0x18,0xe0,0x38,0x60,0x30,0x70,0x70,0x3f,0xe0,0xf,0x80,0x0,0x0,0x9,0x80,
-0xb,0x40,0x6,0x40,
-};
-
-static const BitmapCharRec ch213 = {13,18,-1,0,15,ch213data};
-
-/* char: 0xd4 */
-
-static const GLubyte ch212data[] = {
-0xf,0x80,0x3f,0xe0,0x70,0x70,0x60,0x30,0xe0,0x38,0xc0,0x18,0xc0,0x18,0xc0,0x18,
-0xc0,0x18,0xe0,0x38,0x60,0x30,0x70,0x70,0x3f,0xe0,0xf,0x80,0x0,0x0,0xc,0xc0,
-0x7,0x80,0x3,0x0,
-};
-
-static const BitmapCharRec ch212 = {13,18,-1,0,15,ch212data};
-
-/* char: 0xd3 */
-
-static const GLubyte ch211data[] = {
-0xf,0x80,0x3f,0xe0,0x70,0x70,0x60,0x30,0xe0,0x38,0xc0,0x18,0xc0,0x18,0xc0,0x18,
-0xc0,0x18,0xe0,0x38,0x60,0x30,0x70,0x70,0x3f,0xe0,0xf,0x80,0x0,0x0,0x3,0x0,
-0x1,0x80,0x0,0xc0,
-};
-
-static const BitmapCharRec ch211 = {13,18,-1,0,15,ch211data};
-
-/* char: 0xd2 */
-
-static const GLubyte ch210data[] = {
-0xf,0x80,0x3f,0xe0,0x70,0x70,0x60,0x30,0xe0,0x38,0xc0,0x18,0xc0,0x18,0xc0,0x18,
-0xc0,0x18,0xe0,0x38,0x60,0x30,0x70,0x70,0x3f,0xe0,0xf,0x80,0x0,0x0,0x3,0x0,
-0x6,0x0,0xc,0x0,
-};
-
-static const BitmapCharRec ch210 = {13,18,-1,0,15,ch210data};
-
-/* char: 0xd1 */
-
-static const GLubyte ch209data[] = {
-0xc0,0x60,0xc0,0xe0,0xc1,0xe0,0xc1,0xe0,0xc3,0x60,0xc6,0x60,0xc6,0x60,0xcc,0x60,
-0xcc,0x60,0xd8,0x60,0xd8,0x60,0xf0,0x60,0xe0,0x60,0xe0,0x60,0x0,0x0,0x13,0x0,
-0x16,0x80,0xc,0x80,
-};
-
-static const BitmapCharRec ch209 = {11,18,-1,0,13,ch209data};
-
-/* char: 0xd0 */
-
-static const GLubyte ch208data[] = {
-0x7f,0x80,0x7f,0xc0,0x60,0xe0,0x60,0x60,0x60,0x30,0x60,0x30,0xfc,0x30,0xfc,0x30,
-0x60,0x30,0x60,0x30,0x60,0x60,0x60,0xe0,0x7f,0xc0,0x7f,0x80,
-};
-
-static const BitmapCharRec ch208 = {12,14,0,0,13,ch208data};
-
-/* char: 0xcf */
-
-static const GLubyte ch207data[] = {
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x0,0xcc,
-0xcc,
-};
-
-static const BitmapCharRec ch207 = {6,17,0,0,6,ch207data};
-
-/* char: 0xce */
-
-static const GLubyte ch206data[] = {
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x0,0xcc,
-0x78,0x30,
-};
-
-static const BitmapCharRec ch206 = {6,18,0,0,6,ch206data};
-
-/* char: 0xcd */
-
-static const GLubyte ch205data[] = {
-0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x0,0xc0,
-0x60,0x30,
-};
-
-static const BitmapCharRec ch205 = {4,18,-2,0,6,ch205data};
-
-/* char: 0xcc */
-
-static const GLubyte ch204data[] = {
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x0,0x30,
-0x60,0xc0,
-};
-
-static const BitmapCharRec ch204 = {4,18,0,0,6,ch204data};
-
-/* char: 0xcb */
-
-static const GLubyte ch203data[] = {
-0xff,0x80,0xff,0x80,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x0,0xff,0x0,
-0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,0xff,0x80,0x0,0x0,0x33,0x0,
-0x33,0x0,
-};
-
-static const BitmapCharRec ch203 = {9,17,-1,0,11,ch203data};
-
-/* char: 0xca */
-
-static const GLubyte ch202data[] = {
-0xff,0x80,0xff,0x80,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x0,0xff,0x0,
-0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,0xff,0x80,0x0,0x0,0x33,0x0,
-0x1e,0x0,0xc,0x0,
-};
-
-static const BitmapCharRec ch202 = {9,18,-1,0,11,ch202data};
-
-/* char: 0xc9 */
-
-static const GLubyte ch201data[] = {
-0xff,0x80,0xff,0x80,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x0,0xff,0x0,
-0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,0xff,0x80,0x0,0x0,0xc,0x0,
-0x6,0x0,0x3,0x0,
-};
-
-static const BitmapCharRec ch201 = {9,18,-1,0,11,ch201data};
-
-/* char: 0xc8 */
-
-static const GLubyte ch200data[] = {
-0xff,0x80,0xff,0x80,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x0,0xff,0x0,
-0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,0xff,0x80,0x0,0x0,0xc,0x0,
-0x18,0x0,0x30,0x0,
-};
-
-static const BitmapCharRec ch200 = {9,18,-1,0,11,ch200data};
-
-/* char: 0xc7 */
-
-static const GLubyte ch199data[] = {
-0x1e,0x0,0x1b,0x0,0x3,0x0,0xe,0x0,0xf,0x80,0x3f,0xe0,0x70,0x70,0x60,0x30,
-0xe0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xe0,0x0,0x60,0x30,0x70,0x70,
-0x3f,0xe0,0xf,0x80,
-};
-
-static const BitmapCharRec ch199 = {12,18,-1,4,14,ch199data};
-
-/* char: 0xc6 */
-
-static const GLubyte ch198data[] = {
-0xc1,0xff,0xc1,0xff,0x61,0x80,0x61,0x80,0x7f,0x80,0x3f,0x80,0x31,0xfe,0x31,0xfe,
-0x19,0x80,0x19,0x80,0xd,0x80,0xd,0x80,0x7,0xff,0x7,0xff,
-};
-
-static const BitmapCharRec ch198 = {16,14,-1,0,18,ch198data};
-
-/* char: 0xc5 */
-
-static const GLubyte ch197data[] = {
-0xc0,0x30,0xc0,0x30,0x60,0x60,0x60,0x60,0x7f,0xe0,0x3f,0xc0,0x30,0xc0,0x30,0xc0,
-0x19,0x80,0x19,0x80,0xf,0x0,0xf,0x0,0x6,0x0,0x6,0x0,0xf,0x0,0x19,0x80,
-0x19,0x80,0xf,0x0,
-};
-
-static const BitmapCharRec ch197 = {12,18,0,0,12,ch197data};
-
-/* char: 0xc4 */
-
-static const GLubyte ch196data[] = {
-0xc0,0x30,0xc0,0x30,0x60,0x60,0x60,0x60,0x7f,0xe0,0x3f,0xc0,0x30,0xc0,0x30,0xc0,
-0x19,0x80,0x19,0x80,0xf,0x0,0xf,0x0,0x6,0x0,0x6,0x0,0x0,0x0,0x19,0x80,
-0x19,0x80,
-};
-
-static const BitmapCharRec ch196 = {12,17,0,0,12,ch196data};
-
-/* char: 0xc3 */
-
-static const GLubyte ch195data[] = {
-0xc0,0x30,0xc0,0x30,0x60,0x60,0x60,0x60,0x7f,0xe0,0x3f,0xc0,0x30,0xc0,0x30,0xc0,
-0x19,0x80,0x19,0x80,0xf,0x0,0xf,0x0,0x6,0x0,0x6,0x0,0x0,0x0,0x13,0x0,
-0x16,0x80,0xc,0x80,
-};
-
-static const BitmapCharRec ch195 = {12,18,0,0,12,ch195data};
-
-/* char: 0xc2 */
-
-static const GLubyte ch194data[] = {
-0xc0,0x30,0xc0,0x30,0x60,0x60,0x60,0x60,0x7f,0xe0,0x3f,0xc0,0x30,0xc0,0x30,0xc0,
-0x19,0x80,0x19,0x80,0xf,0x0,0xf,0x0,0x6,0x0,0x6,0x0,0x0,0x0,0x19,0x80,
-0xf,0x0,0x6,0x0,
-};
-
-static const BitmapCharRec ch194 = {12,18,0,0,12,ch194data};
-
-/* char: 0xc1 */
-
-static const GLubyte ch193data[] = {
-0xc0,0x30,0xc0,0x30,0x60,0x60,0x60,0x60,0x7f,0xe0,0x3f,0xc0,0x30,0xc0,0x30,0xc0,
-0x19,0x80,0x19,0x80,0xf,0x0,0xf,0x0,0x6,0x0,0x6,0x0,0x0,0x0,0x6,0x0,
-0x3,0x0,0x1,0x80,
-};
-
-static const BitmapCharRec ch193 = {12,18,0,0,12,ch193data};
-
-/* char: 0xc0 */
-
-static const GLubyte ch192data[] = {
-0xc0,0x30,0xc0,0x30,0x60,0x60,0x60,0x60,0x7f,0xe0,0x3f,0xc0,0x30,0xc0,0x30,0xc0,
-0x19,0x80,0x19,0x80,0xf,0x0,0xf,0x0,0x6,0x0,0x6,0x0,0x0,0x0,0x6,0x0,
-0xc,0x0,0x18,0x0,
-};
-
-static const BitmapCharRec ch192 = {12,18,0,0,12,ch192data};
-
-/* char: 0xbf */
-
-static const GLubyte ch191data[] = {
-0x7c,0xfe,0xc6,0xc6,0xe0,0x70,0x38,0x18,0x18,0x18,0x0,0x0,0x18,0x18,
-};
-
-static const BitmapCharRec ch191 = {7,14,-1,4,10,ch191data};
-
-/* char: 0xbe */
-
-static const GLubyte ch190data[] = {
-0x18,0x18,0x18,0x18,0xc,0xfc,0x6,0xd8,0x6,0x78,0x73,0x38,0xf9,0x18,0x99,0x88,
-0x30,0xc0,0x30,0xc0,0x98,0x60,0xf8,0x30,0x70,0x30,
-};
-
-static const BitmapCharRec ch190 = {14,13,0,0,15,ch190data};
-
-/* char: 0xbd */
-
-static const GLubyte ch189data[] = {
-0x30,0xf8,0x30,0xf8,0x18,0x60,0xc,0x30,0xc,0x18,0x66,0x98,0x62,0xf8,0x63,0x70,
-0x61,0x80,0x61,0x80,0xe0,0xc0,0xe0,0x60,0x60,0x60,
-};
-
-static const BitmapCharRec ch189 = {13,13,-1,0,15,ch189data};
-
-/* char: 0xbc */
-
-static const GLubyte ch188data[] = {
-0x30,0x30,0x30,0x30,0x19,0xf8,0xd,0xb0,0xc,0xf0,0x66,0x70,0x62,0x30,0x63,0x10,
-0x61,0x80,0x61,0x80,0xe0,0xc0,0xe0,0x60,0x60,0x60,
-};
-
-static const BitmapCharRec ch188 = {13,13,-1,0,15,ch188data};
-
-/* char: 0xbb */
-
-static const GLubyte ch187data[] = {
-0x90,0xd8,0x6c,0x36,0x36,0x6c,0xd8,0x90,
-};
-
-static const BitmapCharRec ch187 = {7,8,-1,-1,9,ch187data};
-
-/* char: 0xba */
-
-static const GLubyte ch186data[] = {
-0xf8,0x0,0x70,0xd8,0x88,0x88,0xd8,0x70,
-};
-
-static const BitmapCharRec ch186 = {5,8,-1,-6,7,ch186data};
-
-/* char: 0xb9 */
-
-static const GLubyte ch185data[] = {
-0x60,0x60,0x60,0x60,0x60,0xe0,0xe0,0x60,
-};
-
-static const BitmapCharRec ch185 = {3,8,-1,-5,6,ch185data};
-
-/* char: 0xb8 */
-
-static const GLubyte ch184data[] = {
-0xf0,0xd8,0x18,0x70,0x60,
-};
-
-static const BitmapCharRec ch184 = {5,5,0,4,5,ch184data};
-
-/* char: 0xb7 */
-
-static const GLubyte ch183data[] = {
-0xc0,0xc0,
-};
-
-static const BitmapCharRec ch183 = {2,2,-1,-4,4,ch183data};
-
-/* char: 0xb6 */
-
-static const GLubyte ch182data[] = {
-0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x32,0x72,0xf2,0xf2,0xf2,0xf2,
-0x72,0x3f,
-};
-
-static const BitmapCharRec ch182 = {8,18,-1,4,10,ch182data};
-
-/* char: 0xb5 */
-
-static const GLubyte ch181data[] = {
-0xc0,0xc0,0xc0,0xc0,0xdb,0xff,0xe7,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,
-};
-
-static const BitmapCharRec ch181 = {8,14,-1,4,10,ch181data};
-
-/* char: 0xb4 */
-
-static const GLubyte ch180data[] = {
-0xc0,0x60,0x30,
-};
-
-static const BitmapCharRec ch180 = {4,3,0,-11,4,ch180data};
-
-/* char: 0xb3 */
-
-static const GLubyte ch179data[] = {
-0x70,0xf8,0x98,0x30,0x30,0x98,0xf8,0x70,
-};
-
-static const BitmapCharRec ch179 = {5,8,0,-5,6,ch179data};
-
-/* char: 0xb2 */
-
-static const GLubyte ch178data[] = {
-0xf8,0xf8,0x60,0x30,0x18,0x98,0xf8,0x70,
-};
-
-static const BitmapCharRec ch178 = {5,8,0,-5,6,ch178data};
-
-/* char: 0xb1 */
-
-static const GLubyte ch177data[] = {
-0xff,0xff,0x0,0x18,0x18,0x18,0xff,0xff,0x18,0x18,0x18,
-};
-
-static const BitmapCharRec ch177 = {8,11,-1,0,10,ch177data};
-
-/* char: 0xb0 */
-
-static const GLubyte ch176data[] = {
-0x70,0xd8,0x88,0xd8,0x70,
-};
-
-static const BitmapCharRec ch176 = {5,5,-1,-8,7,ch176data};
-
-/* char: 0xaf */
-
-static const GLubyte ch175data[] = {
-0xf8,
-};
-
-static const BitmapCharRec ch175 = {5,1,0,-12,5,ch175data};
-
-/* char: 0xae */
-
-static const GLubyte ch174data[] = {
-0xf,0x80,0x30,0x60,0x40,0x10,0x48,0x50,0x88,0x88,0x89,0x8,0x8f,0x88,0x88,0x48,
-0x88,0x48,0x4f,0x90,0x40,0x10,0x30,0x60,0xf,0x80,
-};
-
-static const BitmapCharRec ch174 = {13,13,-1,0,14,ch174data};
-
-/* char: 0xad */
-
-static const GLubyte ch173data[] = {
-0xf8,0xf8,
-};
-
-static const BitmapCharRec ch173 = {5,2,-1,-4,7,ch173data};
-
-/* char: 0xac */
-
-static const GLubyte ch172data[] = {
-0x1,0x80,0x1,0x80,0x1,0x80,0xff,0x80,0xff,0x80,
-};
-
-static const BitmapCharRec ch172 = {9,5,-1,-3,11,ch172data};
-
-/* char: 0xab */
-
-static const GLubyte ch171data[] = {
-0x12,0x36,0x6c,0xd8,0xd8,0x6c,0x36,0x12,
-};
-
-static const BitmapCharRec ch171 = {7,8,-1,-1,9,ch171data};
-
-/* char: 0xaa */
-
-static const GLubyte ch170data[] = {
-0xf8,0x0,0x68,0xd8,0x48,0x38,0xc8,0x70,
-};
-
-static const BitmapCharRec ch170 = {5,8,-1,-6,7,ch170data};
-
-/* char: 0xa9 */
-
-static const GLubyte ch169data[] = {
-0xf,0x80,0x30,0x60,0x40,0x10,0x47,0x10,0x88,0x88,0x90,0x8,0x90,0x8,0x90,0x8,
-0x88,0x88,0x47,0x10,0x40,0x10,0x30,0x60,0xf,0x80,
-};
-
-static const BitmapCharRec ch169 = {13,13,-1,0,15,ch169data};
-
-/* char: 0xa8 */
-
-static const GLubyte ch168data[] = {
-0xd8,0xd8,
-};
-
-static const BitmapCharRec ch168 = {5,2,0,-11,6,ch168data};
-
-/* char: 0xa7 */
-
-static const GLubyte ch167data[] = {
-0x3c,0x7e,0xc3,0xc3,0x7,0xe,0x3e,0x73,0xe3,0xc3,0xc7,0x6e,0x7c,0xf0,0xc3,0xc3,
-0x7e,0x3c,
-};
-
-static const BitmapCharRec ch167 = {8,18,-1,4,10,ch167data};
-
-/* char: 0xa6 */
-
-static const GLubyte ch166data[] = {
-0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x0,0x0,0x0,0x0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc0,
-};
-
-static const BitmapCharRec ch166 = {2,17,-1,3,4,ch166data};
-
-/* char: 0xa5 */
-
-static const GLubyte ch165data[] = {
-0x18,0x18,0x18,0x18,0xff,0x18,0xff,0x3c,0x66,0x66,0x66,0xc3,0xc3,
-};
-
-static const BitmapCharRec ch165 = {8,13,-1,0,10,ch165data};
-
-/* char: 0xa4 */
-
-static const GLubyte ch164data[] = {
-0xc3,0xff,0x66,0x66,0x66,0xff,0xc3,
-};
-
-static const BitmapCharRec ch164 = {8,7,-1,-3,10,ch164data};
-
-/* char: 0xa3 */
-
-static const GLubyte ch163data[] = {
-0xdf,0x0,0xff,0x80,0x60,0x80,0x30,0x0,0x18,0x0,0x18,0x0,0x7e,0x0,0x30,0x0,
-0x60,0x0,0x61,0x80,0x61,0x80,0x3f,0x0,0x1e,0x0,
-};
-
-static const BitmapCharRec ch163 = {9,13,0,0,10,ch163data};
-
-/* char: 0xa2 */
-
-static const GLubyte ch162data[] = {
-0x10,0x10,0x3e,0x7f,0x6b,0xc8,0xc8,0xc8,0xc8,0x6b,0x7f,0x3e,0x4,0x4,
-};
-
-static const BitmapCharRec ch162 = {8,14,-1,2,10,ch162data};
-
-/* char: 0xa1 */
-
-static const GLubyte ch161data[] = {
-0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x40,0x40,0x0,0x0,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch161 = {2,14,-2,4,6,ch161data};
-
-/* char: 0xa0 */
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch160data[] = { 0x0 };
-static const BitmapCharRec ch160 = {1,1,0,0,5,ch160data};
-#else
-static const BitmapCharRec ch160 = {0,0,0,0,5,0};
-#endif
-
-/* char: 0x7e '~' */
-
-static const GLubyte ch126data[] = {
-0xcc,0x7e,0x33,
-};
-
-static const BitmapCharRec ch126 = {8,3,-1,-4,10,ch126data};
-
-/* char: 0x7d '}' */
-
-static const GLubyte ch125data[] = {
-0xc0,0x60,0x30,0x30,0x30,0x30,0x30,0x30,0x18,0xc,0x18,0x30,0x30,0x30,0x30,0x30,
-0x60,0xc0,
-};
-
-static const BitmapCharRec ch125 = {6,18,0,4,6,ch125data};
-
-/* char: 0x7c '|' */
-
-static const GLubyte ch124data[] = {
-0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc0,0xc0,
-};
-
-static const BitmapCharRec ch124 = {2,18,-1,4,4,ch124data};
-
-/* char: 0x7b '{' */
-
-static const GLubyte ch123data[] = {
-0xc,0x18,0x30,0x30,0x30,0x30,0x30,0x30,0x60,0xc0,0x60,0x30,0x30,0x30,0x30,0x30,
-0x18,0xc,
-};
-
-static const BitmapCharRec ch123 = {6,18,0,4,6,ch123data};
-
-/* char: 0x7a 'z' */
-
-static const GLubyte ch122data[] = {
-0xfe,0xfe,0xc0,0x60,0x30,0x18,0xc,0x6,0xfe,0xfe,
-};
-
-static const BitmapCharRec ch122 = {7,10,-1,0,9,ch122data};
-
-/* char: 0x79 'y' */
-
-static const GLubyte ch121data[] = {
-0x70,0x70,0x18,0x18,0x18,0x18,0x3c,0x24,0x66,0x66,0x66,0xc3,0xc3,0xc3,
-};
-
-static const BitmapCharRec ch121 = {8,14,-1,4,10,ch121data};
-
-/* char: 0x78 'x' */
-
-static const GLubyte ch120data[] = {
-0xc3,0xe7,0x66,0x3c,0x18,0x18,0x3c,0x66,0xe7,0xc3,
-};
-
-static const BitmapCharRec ch120 = {8,10,-1,0,10,ch120data};
-
-/* char: 0x77 'w' */
-
-static const GLubyte ch119data[] = {
-0x19,0x80,0x19,0x80,0x39,0xc0,0x29,0x40,0x69,0x60,0x66,0x60,0x66,0x60,0xc6,0x30,
-0xc6,0x30,0xc6,0x30,
-};
-
-static const BitmapCharRec ch119 = {12,10,-1,0,14,ch119data};
-
-/* char: 0x76 'v' */
-
-static const GLubyte ch118data[] = {
-0x18,0x18,0x3c,0x24,0x66,0x66,0x66,0xc3,0xc3,0xc3,
-};
-
-static const BitmapCharRec ch118 = {8,10,-1,0,10,ch118data};
-
-/* char: 0x75 'u' */
-
-static const GLubyte ch117data[] = {
-0x73,0xfb,0xc7,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,
-};
-
-static const BitmapCharRec ch117 = {8,10,-1,0,10,ch117data};
-
-/* char: 0x74 't' */
-
-static const GLubyte ch116data[] = {
-0x18,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0xfc,0xfc,0x30,0x30,0x30,
-};
-
-static const BitmapCharRec ch116 = {6,13,0,0,6,ch116data};
-
-/* char: 0x73 's' */
-
-static const GLubyte ch115data[] = {
-0x78,0xfc,0xc6,0x6,0x3e,0xfc,0xc0,0xc6,0x7e,0x3c,
-};
-
-static const BitmapCharRec ch115 = {7,10,-1,0,9,ch115data};
-
-/* char: 0x72 'r' */
-
-static const GLubyte ch114data[] = {
-0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xe0,0xd8,0xd8,
-};
-
-static const BitmapCharRec ch114 = {5,10,-1,0,6,ch114data};
-
-/* char: 0x71 'q' */
-
-static const GLubyte ch113data[] = {
-0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x3d,0x80,0x7f,0x80,0x63,0x80,0xc1,0x80,
-0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x80,0x7f,0x80,0x3d,0x80,
-};
-
-static const BitmapCharRec ch113 = {9,14,-1,4,11,ch113data};
-
-/* char: 0x70 'p' */
-
-static const GLubyte ch112data[] = {
-0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xde,0x0,0xff,0x0,0xe3,0x0,0xc1,0x80,
-0xc1,0x80,0xc1,0x80,0xc1,0x80,0xe3,0x0,0xff,0x0,0xde,0x0,
-};
-
-static const BitmapCharRec ch112 = {9,14,-1,4,11,ch112data};
-
-/* char: 0x6f 'o' */
-
-static const GLubyte ch111data[] = {
-0x3e,0x0,0x7f,0x0,0x63,0x0,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x0,
-0x7f,0x0,0x3e,0x0,
-};
-
-static const BitmapCharRec ch111 = {9,10,-1,0,11,ch111data};
-
-/* char: 0x6e 'n' */
-
-static const GLubyte ch110data[] = {
-0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xe3,0xdf,0xce,
-};
-
-static const BitmapCharRec ch110 = {8,10,-1,0,10,ch110data};
-
-/* char: 0x6d 'm' */
-
-static const GLubyte ch109data[] = {
-0xc6,0x30,0xc6,0x30,0xc6,0x30,0xc6,0x30,0xc6,0x30,0xc6,0x30,0xc6,0x30,0xe7,0x30,
-0xde,0xf0,0xcc,0x60,
-};
-
-static const BitmapCharRec ch109 = {12,10,-1,0,14,ch109data};
-
-/* char: 0x6c 'l' */
-
-static const GLubyte ch108data[] = {
-0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch108 = {2,14,-1,0,4,ch108data};
-
-/* char: 0x6b 'k' */
-
-static const GLubyte ch107data[] = {
-0xc7,0xc6,0xce,0xcc,0xd8,0xf8,0xf0,0xd8,0xcc,0xc6,0xc0,0xc0,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch107 = {8,14,-1,0,9,ch107data};
-
-/* char: 0x6a 'j' */
-
-static const GLubyte ch106data[] = {
-0xe0,0xf0,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x0,0x0,
-0x30,0x30,
-};
-
-static const BitmapCharRec ch106 = {4,18,1,4,4,ch106data};
-
-/* char: 0x69 'i' */
-
-static const GLubyte ch105data[] = {
-0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x0,0x0,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch105 = {2,14,-1,0,4,ch105data};
-
-/* char: 0x68 'h' */
-
-static const GLubyte ch104data[] = {
-0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xe3,0xdf,0xce,0xc0,0xc0,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch104 = {8,14,-1,0,10,ch104data};
-
-/* char: 0x67 'g' */
-
-static const GLubyte ch103data[] = {
-0x1c,0x0,0x7f,0x0,0x63,0x0,0x1,0x80,0x3d,0x80,0x7f,0x80,0x63,0x80,0xc1,0x80,
-0xc1,0x80,0xc1,0x80,0xc1,0x80,0x61,0x80,0x7f,0x80,0x3d,0x80,
-};
-
-static const BitmapCharRec ch103 = {9,14,-1,4,11,ch103data};
-
-/* char: 0x66 'f' */
-
-static const GLubyte ch102data[] = {
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0xfc,0xfc,0x30,0x30,0x3c,0x1c,
-};
-
-static const BitmapCharRec ch102 = {6,14,0,0,6,ch102data};
-
-/* char: 0x65 'e' */
-
-static const GLubyte ch101data[] = {
-0x3c,0x7f,0xe3,0xc0,0xc0,0xff,0xc3,0xc3,0x7e,0x3c,
-};
-
-static const BitmapCharRec ch101 = {8,10,-1,0,10,ch101data};
-
-/* char: 0x64 'd' */
-
-static const GLubyte ch100data[] = {
-0x3d,0x80,0x7f,0x80,0x63,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x80,
-0x7f,0x80,0x3d,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,
-};
-
-static const BitmapCharRec ch100 = {9,14,-1,0,11,ch100data};
-
-/* char: 0x63 'c' */
-
-static const GLubyte ch99data[] = {
-0x3e,0x7f,0x63,0xc0,0xc0,0xc0,0xc0,0x63,0x7f,0x3e,
-};
-
-static const BitmapCharRec ch99 = {8,10,-1,0,10,ch99data};
-
-/* char: 0x62 'b' */
-
-static const GLubyte ch98data[] = {
-0xde,0x0,0xff,0x0,0xe3,0x0,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xe3,0x0,
-0xff,0x0,0xde,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,
-};
-
-static const BitmapCharRec ch98 = {9,14,-1,0,11,ch98data};
-
-/* char: 0x61 'a' */
-
-static const GLubyte ch97data[] = {
-0x76,0xee,0xc6,0xc6,0xe6,0x7e,0xe,0xc6,0xee,0x7c,
-};
-
-static const BitmapCharRec ch97 = {7,10,-1,0,9,ch97data};
-
-/* char: 0x60 '`' */
-
-static const GLubyte ch96data[] = {
-0xc0,0xc0,0x80,0x80,0x40,
-};
-
-static const BitmapCharRec ch96 = {2,5,-1,-9,4,ch96data};
-
-/* char: 0x5f '_' */
-
-static const GLubyte ch95data[] = {
-0xff,0xc0,0xff,0xc0,
-};
-
-static const BitmapCharRec ch95 = {10,2,0,4,10,ch95data};
-
-/* char: 0x5e '^' */
-
-static const GLubyte ch94data[] = {
-0x82,0xc6,0x6c,0x38,0x10,
-};
-
-static const BitmapCharRec ch94 = {7,5,-1,-8,9,ch94data};
-
-/* char: 0x5d ']' */
-
-static const GLubyte ch93data[] = {
-0xf0,0xf0,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-0xf0,0xf0,
-};
-
-static const BitmapCharRec ch93 = {4,18,0,4,5,ch93data};
-
-/* char: 0x5c '\' */
-
-static const GLubyte ch92data[] = {
-0x18,0x18,0x10,0x10,0x30,0x30,0x20,0x20,0x60,0x60,0x40,0x40,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch92 = {5,14,0,0,5,ch92data};
-
-/* char: 0x5b '[' */
-
-static const GLubyte ch91data[] = {
-0xf0,0xf0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xf0,0xf0,
-};
-
-static const BitmapCharRec ch91 = {4,18,-1,4,5,ch91data};
-
-/* char: 0x5a 'Z' */
-
-static const GLubyte ch90data[] = {
-0xff,0xc0,0xff,0xc0,0xc0,0x0,0x60,0x0,0x30,0x0,0x18,0x0,0x1c,0x0,0xc,0x0,
-0x6,0x0,0x3,0x0,0x1,0x80,0x0,0xc0,0xff,0xc0,0xff,0xc0,
-};
-
-static const BitmapCharRec ch90 = {10,14,-1,0,12,ch90data};
-
-/* char: 0x59 'Y' */
-
-static const GLubyte ch89data[] = {
-0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0xf,0x0,0x19,0x80,
-0x30,0xc0,0x30,0xc0,0x60,0x60,0x60,0x60,0xc0,0x30,0xc0,0x30,
-};
-
-static const BitmapCharRec ch89 = {12,14,-1,0,14,ch89data};
-
-/* char: 0x58 'X' */
-
-static const GLubyte ch88data[] = {
-0xc0,0x60,0xe0,0xe0,0x60,0xc0,0x71,0xc0,0x31,0x80,0x1b,0x0,0xe,0x0,0xe,0x0,
-0x1b,0x0,0x31,0x80,0x71,0xc0,0x60,0xc0,0xe0,0xe0,0xc0,0x60,
-};
-
-static const BitmapCharRec ch88 = {11,14,-1,0,13,ch88data};
-
-/* char: 0x57 'W' */
-
-static const GLubyte ch87data[] = {
-0x18,0x18,0x18,0x18,0x1c,0x38,0x34,0x2c,0x36,0x6c,0x36,0x6c,0x66,0x66,0x66,0x66,
-0x62,0x46,0x63,0xc6,0xc3,0xc3,0xc1,0x83,0xc1,0x83,0xc1,0x83,
-};
-
-static const BitmapCharRec ch87 = {16,14,-1,0,18,ch87data};
-
-/* char: 0x56 'V' */
-
-static const GLubyte ch86data[] = {
-0x6,0x0,0xf,0x0,0xf,0x0,0x19,0x80,0x19,0x80,0x19,0x80,0x30,0xc0,0x30,0xc0,
-0x30,0xc0,0x60,0x60,0x60,0x60,0x60,0x60,0xc0,0x30,0xc0,0x30,
-};
-
-static const BitmapCharRec ch86 = {12,14,-1,0,14,ch86data};
-
-/* char: 0x55 'U' */
-
-static const GLubyte ch85data[] = {
-0x1f,0x0,0x7f,0xc0,0x60,0xc0,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,
-0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,
-};
-
-static const BitmapCharRec ch85 = {11,14,-1,0,13,ch85data};
-
-/* char: 0x54 'T' */
-
-static const GLubyte ch84data[] = {
-0xc,0x0,0xc,0x0,0xc,0x0,0xc,0x0,0xc,0x0,0xc,0x0,0xc,0x0,0xc,0x0,
-0xc,0x0,0xc,0x0,0xc,0x0,0xc,0x0,0xff,0xc0,0xff,0xc0,
-};
-
-static const BitmapCharRec ch84 = {10,14,-1,0,12,ch84data};
-
-/* char: 0x53 'S' */
-
-static const GLubyte ch83data[] = {
-0x3f,0x0,0x7f,0xc0,0xe0,0xe0,0xc0,0x60,0x0,0x60,0x0,0xe0,0x3,0xc0,0x1f,0x0,
-0x7c,0x0,0xe0,0x0,0xc0,0x60,0xe0,0xe0,0x7f,0xc0,0x1f,0x0,
-};
-
-static const BitmapCharRec ch83 = {11,14,-1,0,13,ch83data};
-
-/* char: 0x52 'R' */
-
-static const GLubyte ch82data[] = {
-0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc1,0x80,0xc1,0x80,0xff,0x0,0xff,0x80,
-0xc1,0xc0,0xc0,0xc0,0xc0,0xc0,0xc1,0xc0,0xff,0x80,0xff,0x0,
-};
-
-static const BitmapCharRec ch82 = {10,14,-1,0,12,ch82data};
-
-/* char: 0x51 'Q' */
-
-static const GLubyte ch81data[] = {
-0x0,0x30,0xf,0xb0,0x3f,0xe0,0x70,0xf0,0x61,0xb0,0xe1,0xb8,0xc0,0x18,0xc0,0x18,
-0xc0,0x18,0xc0,0x18,0xe0,0x38,0x60,0x30,0x70,0x70,0x3f,0xe0,0xf,0x80,
-};
-
-static const BitmapCharRec ch81 = {13,15,-1,1,15,ch81data};
-
-/* char: 0x50 'P' */
-
-static const GLubyte ch80data[] = {
-0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x0,0xff,0x80,
-0xc1,0xc0,0xc0,0xc0,0xc0,0xc0,0xc1,0xc0,0xff,0x80,0xff,0x0,
-};
-
-static const BitmapCharRec ch80 = {10,14,-1,0,12,ch80data};
-
-/* char: 0x4f 'O' */
-
-static const GLubyte ch79data[] = {
-0xf,0x80,0x3f,0xe0,0x70,0x70,0x60,0x30,0xe0,0x38,0xc0,0x18,0xc0,0x18,0xc0,0x18,
-0xc0,0x18,0xe0,0x38,0x60,0x30,0x70,0x70,0x3f,0xe0,0xf,0x80,
-};
-
-static const BitmapCharRec ch79 = {13,14,-1,0,15,ch79data};
-
-/* char: 0x4e 'N' */
-
-static const GLubyte ch78data[] = {
-0xc0,0x60,0xc0,0xe0,0xc1,0xe0,0xc1,0xe0,0xc3,0x60,0xc6,0x60,0xc6,0x60,0xcc,0x60,
-0xcc,0x60,0xd8,0x60,0xf0,0x60,0xf0,0x60,0xe0,0x60,0xc0,0x60,
-};
-
-static const BitmapCharRec ch78 = {11,14,-1,0,13,ch78data};
-
-/* char: 0x4d 'M' */
-
-static const GLubyte ch77data[] = {
-0xc3,0xc,0xc3,0xc,0xc7,0x8c,0xc4,0x8c,0xcc,0xcc,0xcc,0xcc,0xd8,0x6c,0xd8,0x6c,
-0xf0,0x3c,0xf0,0x3c,0xe0,0x1c,0xe0,0x1c,0xc0,0xc,0xc0,0xc,
-};
-
-static const BitmapCharRec ch77 = {14,14,-1,0,16,ch77data};
-
-/* char: 0x4c 'L' */
-
-static const GLubyte ch76data[] = {
-0xff,0xff,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch76 = {8,14,-1,0,10,ch76data};
-
-/* char: 0x4b 'K' */
-
-static const GLubyte ch75data[] = {
-0xc0,0x70,0xc0,0xe0,0xc1,0xc0,0xc3,0x80,0xc7,0x0,0xce,0x0,0xfc,0x0,0xf8,0x0,
-0xdc,0x0,0xce,0x0,0xc7,0x0,0xc3,0x80,0xc1,0xc0,0xc0,0xe0,
-};
-
-static const BitmapCharRec ch75 = {12,14,-1,0,13,ch75data};
-
-/* char: 0x4a 'J' */
-
-static const GLubyte ch74data[] = {
-0x3c,0x7e,0xe7,0xc3,0xc3,0x3,0x3,0x3,0x3,0x3,0x3,0x3,0x3,0x3,
-};
-
-static const BitmapCharRec ch74 = {8,14,-1,0,10,ch74data};
-
-/* char: 0x49 'I' */
-
-static const GLubyte ch73data[] = {
-0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch73 = {2,14,-2,0,6,ch73data};
-
-/* char: 0x48 'H' */
-
-static const GLubyte ch72data[] = {
-0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xff,0xe0,0xff,0xe0,
-0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,
-};
-
-static const BitmapCharRec ch72 = {11,14,-1,0,13,ch72data};
-
-/* char: 0x47 'G' */
-
-static const GLubyte ch71data[] = {
-0xf,0xb0,0x3f,0xf0,0x70,0x70,0x60,0x30,0xe0,0x30,0xc1,0xf0,0xc1,0xf0,0xc0,0x0,
-0xc0,0x0,0xe0,0x30,0x60,0x30,0x70,0x70,0x3f,0xe0,0xf,0x80,
-};
-
-static const BitmapCharRec ch71 = {12,14,-1,0,14,ch71data};
-
-/* char: 0x46 'F' */
-
-static const GLubyte ch70data[] = {
-0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x0,0xff,0x0,
-0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,0xff,0x80,
-};
-
-static const BitmapCharRec ch70 = {9,14,-1,0,11,ch70data};
-
-/* char: 0x45 'E' */
-
-static const GLubyte ch69data[] = {
-0xff,0x80,0xff,0x80,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x0,0xff,0x0,
-0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,0xff,0x80,
-};
-
-static const BitmapCharRec ch69 = {9,14,-1,0,11,ch69data};
-
-/* char: 0x44 'D' */
-
-static const GLubyte ch68data[] = {
-0xff,0x0,0xff,0x80,0xc1,0xc0,0xc0,0xc0,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,
-0xc0,0x60,0xc0,0x60,0xc0,0xc0,0xc1,0xc0,0xff,0x80,0xff,0x0,
-};
-
-static const BitmapCharRec ch68 = {11,14,-1,0,13,ch68data};
-
-/* char: 0x43 'C' */
-
-static const GLubyte ch67data[] = {
-0xf,0x80,0x3f,0xe0,0x70,0x70,0x60,0x30,0xe0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,
-0xc0,0x0,0xe0,0x0,0x60,0x30,0x70,0x70,0x3f,0xe0,0xf,0x80,
-};
-
-static const BitmapCharRec ch67 = {12,14,-1,0,14,ch67data};
-
-/* char: 0x42 'B' */
-
-static const GLubyte ch66data[] = {
-0xff,0x80,0xff,0xc0,0xc0,0xe0,0xc0,0x60,0xc0,0x60,0xc0,0xe0,0xff,0xc0,0xff,0x80,
-0xc1,0x80,0xc0,0xc0,0xc0,0xc0,0xc1,0xc0,0xff,0x80,0xff,0x0,
-};
-
-static const BitmapCharRec ch66 = {11,14,-1,0,13,ch66data};
-
-/* char: 0x41 'A' */
-
-static const GLubyte ch65data[] = {
-0xc0,0x30,0xc0,0x30,0x60,0x60,0x60,0x60,0x7f,0xe0,0x3f,0xc0,0x30,0xc0,0x30,0xc0,
-0x19,0x80,0x19,0x80,0xf,0x0,0xf,0x0,0x6,0x0,0x6,0x0,
-};
-
-static const BitmapCharRec ch65 = {12,14,0,0,12,ch65data};
-
-/* char: 0x40 '@' */
-
-static const GLubyte ch64data[] = {
-0x7,0xe0,0x1f,0xf0,0x38,0x0,0x70,0x0,0x67,0x70,0xcf,0xf8,0xcc,0xcc,0xcc,0x66,
-0xcc,0x66,0xcc,0x63,0xc6,0x33,0x67,0x73,0x63,0xb3,0x30,0x6,0x1c,0xe,0xf,0xfc,
-0x3,0xf0,
-};
-
-static const BitmapCharRec ch64 = {16,17,-1,3,18,ch64data};
-
-/* char: 0x3f '?' */
-
-static const GLubyte ch63data[] = {
-0x30,0x30,0x0,0x0,0x30,0x30,0x30,0x38,0x1c,0xe,0xc6,0xc6,0xfe,0x7c,
-};
-
-static const BitmapCharRec ch63 = {7,14,-1,0,10,ch63data};
-
-/* char: 0x3e '>' */
-
-static const GLubyte ch62data[] = {
-0xc0,0xf0,0x3c,0xe,0x3,0xe,0x3c,0xf0,0xc0,
-};
-
-static const BitmapCharRec ch62 = {8,9,-1,0,10,ch62data};
-
-/* char: 0x3d '=' */
-
-static const GLubyte ch61data[] = {
-0xfe,0xfe,0x0,0x0,0xfe,0xfe,
-};
-
-static const BitmapCharRec ch61 = {7,6,-2,-2,11,ch61data};
-
-/* char: 0x3c '<' */
-
-static const GLubyte ch60data[] = {
-0x3,0xf,0x3c,0x70,0xc0,0x70,0x3c,0xf,0x3,
-};
-
-static const BitmapCharRec ch60 = {8,9,-1,0,10,ch60data};
-
-/* char: 0x3b ';' */
-
-static const GLubyte ch59data[] = {
-0x80,0x40,0x40,0xc0,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch59 = {2,13,-1,3,5,ch59data};
-
-/* char: 0x3a ':' */
-
-static const GLubyte ch58data[] = {
-0xc0,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch58 = {2,10,-1,0,5,ch58data};
-
-/* char: 0x39 '9' */
-
-static const GLubyte ch57data[] = {
-0x7c,0xfe,0xc6,0x3,0x3,0x3b,0x7f,0xc3,0xc3,0xc3,0xc7,0x7e,0x3c,
-};
-
-static const BitmapCharRec ch57 = {8,13,-1,0,10,ch57data};
-
-/* char: 0x38 '8' */
-
-static const GLubyte ch56data[] = {
-0x3c,0x7e,0xe7,0xc3,0xc3,0x66,0x7e,0x66,0xc3,0xc3,0xe7,0x7e,0x3c,
-};
-
-static const BitmapCharRec ch56 = {8,13,-1,0,10,ch56data};
-
-/* char: 0x37 '7' */
-
-static const GLubyte ch55data[] = {
-0x60,0x60,0x30,0x30,0x30,0x18,0x18,0xc,0xc,0x6,0x3,0xff,0xff,
-};
-
-static const BitmapCharRec ch55 = {8,13,-1,0,10,ch55data};
-
-/* char: 0x36 '6' */
-
-static const GLubyte ch54data[] = {
-0x3c,0x7e,0xe3,0xc3,0xc3,0xc3,0xfe,0xdc,0xc0,0xc0,0x63,0x7f,0x3c,
-};
-
-static const BitmapCharRec ch54 = {8,13,-1,0,10,ch54data};
-
-/* char: 0x35 '5' */
-
-static const GLubyte ch53data[] = {
-0x7c,0xfe,0xc7,0xc3,0x3,0x3,0xc7,0xfe,0xfc,0xc0,0xc0,0xfe,0xfe,
-};
-
-static const BitmapCharRec ch53 = {8,13,-1,0,10,ch53data};
-
-/* char: 0x34 '4' */
-
-static const GLubyte ch52data[] = {
-0x3,0x0,0x3,0x0,0x3,0x0,0xff,0x80,0xff,0x80,0xc3,0x0,0x63,0x0,0x33,0x0,
-0x33,0x0,0x1b,0x0,0xf,0x0,0x7,0x0,0x3,0x0,
-};
-
-static const BitmapCharRec ch52 = {9,13,-1,0,10,ch52data};
-
-/* char: 0x33 '3' */
-
-static const GLubyte ch51data[] = {
-0x3c,0x7e,0xc7,0xc3,0x3,0x7,0x1e,0x1c,0x6,0xc3,0xc3,0x7e,0x3c,
-};
-
-static const BitmapCharRec ch51 = {8,13,-1,0,10,ch51data};
-
-/* char: 0x32 '2' */
-
-static const GLubyte ch50data[] = {
-0xff,0xff,0xc0,0xe0,0x70,0x38,0x1c,0xe,0x7,0x3,0xc3,0xfe,0x3c,
-};
-
-static const BitmapCharRec ch50 = {8,13,-1,0,10,ch50data};
-
-/* char: 0x31 '1' */
-
-static const GLubyte ch49data[] = {
-0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xf8,0xf8,0x18,
-};
-
-static const BitmapCharRec ch49 = {5,13,-2,0,10,ch49data};
-
-/* char: 0x30 '0' */
-
-static const GLubyte ch48data[] = {
-0x3c,0x7e,0x66,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0x66,0x7e,0x3c,
-};
-
-static const BitmapCharRec ch48 = {8,13,-1,0,10,ch48data};
-
-/* char: 0x2f '/' */
-
-static const GLubyte ch47data[] = {
-0xc0,0xc0,0x40,0x40,0x60,0x60,0x20,0x20,0x30,0x30,0x10,0x10,0x18,0x18,
-};
-
-static const BitmapCharRec ch47 = {5,14,0,0,5,ch47data};
-
-/* char: 0x2e '.' */
-
-static const GLubyte ch46data[] = {
-0xc0,0xc0,
-};
-
-static const BitmapCharRec ch46 = {2,2,-1,0,5,ch46data};
-
-/* char: 0x2d '-' */
-
-static const GLubyte ch45data[] = {
-0xff,0xff,
-};
-
-static const BitmapCharRec ch45 = {8,2,-1,-4,11,ch45data};
-
-/* char: 0x2c ',' */
-
-static const GLubyte ch44data[] = {
-0x80,0x40,0x40,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch44 = {2,5,-1,3,5,ch44data};
-
-/* char: 0x2b '+' */
-
-static const GLubyte ch43data[] = {
-0x18,0x18,0x18,0x18,0xff,0xff,0x18,0x18,0x18,0x18,
-};
-
-static const BitmapCharRec ch43 = {8,10,-1,0,10,ch43data};
-
-/* char: 0x2a '*' */
-
-static const GLubyte ch42data[] = {
-0x88,0x70,0x70,0xf8,0x20,0x20,
-};
-
-static const BitmapCharRec ch42 = {5,6,-1,-8,7,ch42data};
-
-/* char: 0x29 ')' */
-
-static const GLubyte ch41data[] = {
-0x80,0xc0,0x60,0x60,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x60,0x60,
-0xc0,0x80,
-};
-
-static const BitmapCharRec ch41 = {4,18,-1,4,6,ch41data};
-
-/* char: 0x28 '(' */
-
-static const GLubyte ch40data[] = {
-0x10,0x30,0x60,0x60,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x60,0x60,
-0x30,0x10,
-};
-
-static const BitmapCharRec ch40 = {4,18,-1,4,6,ch40data};
-
-/* char: 0x27 ''' */
-
-static const GLubyte ch39data[] = {
-0x80,0x40,0x40,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch39 = {2,5,-1,-9,4,ch39data};
-
-/* char: 0x26 '&' */
-
-static const GLubyte ch38data[] = {
-0x3c,0x70,0x7e,0xe0,0xe7,0xc0,0xc3,0x80,0xc3,0xc0,0xc6,0xc0,0xee,0xc0,0x7c,0x0,
-0x3c,0x0,0x66,0x0,0x66,0x0,0x7e,0x0,0x3c,0x0,
-};
-
-static const BitmapCharRec ch38 = {12,13,-1,0,13,ch38data};
-
-/* char: 0x25 '%' */
-
-static const GLubyte ch37data[] = {
-0x18,0x78,0x18,0xfc,0xc,0xcc,0xc,0xcc,0x6,0xfc,0x6,0x78,0x3,0x0,0x7b,0x0,
-0xfd,0x80,0xcd,0x80,0xcc,0xc0,0xfc,0xc0,0x78,0x60,
-};
-
-static const BitmapCharRec ch37 = {14,13,-1,0,16,ch37data};
-
-/* char: 0x24 '$' */
-
-static const GLubyte ch36data[] = {
-0x8,0x0,0x8,0x0,0x3e,0x0,0x7f,0x0,0xeb,0x80,0xc9,0x80,0x9,0x80,0xf,0x0,
-0x3e,0x0,0x78,0x0,0xe8,0x0,0xc8,0x0,0xcb,0x0,0x7f,0x0,0x3e,0x0,0x8,0x0,
-};
-
-static const BitmapCharRec ch36 = {9,16,-1,2,10,ch36data};
-
-/* char: 0x23 '#' */
-
-static const GLubyte ch35data[] = {
-0x24,0x0,0x24,0x0,0x24,0x0,0xff,0x80,0xff,0x80,0x12,0x0,0x12,0x0,0x12,0x0,
-0x7f,0xc0,0x7f,0xc0,0x9,0x0,0x9,0x0,0x9,0x0,
-};
-
-static const BitmapCharRec ch35 = {10,13,0,0,10,ch35data};
-
-/* char: 0x22 '"' */
-
-static const GLubyte ch34data[] = {
-0x90,0x90,0xd8,0xd8,0xd8,
-};
-
-static const BitmapCharRec ch34 = {5,5,0,-9,5,ch34data};
-
-/* char: 0x21 '!' */
-
-static const GLubyte ch33data[] = {
-0xc0,0xc0,0x0,0x0,0x80,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch33 = {2,14,-2,0,6,ch33data};
-
-/* char: 0x20 ' ' */
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch32data[] = { 0x0 };
-static const BitmapCharRec ch32 = {1,1,0,0,5,ch32data};
-#else
-static const BitmapCharRec ch32 = {0,0,0,0,5,0};
-#endif
-
-static const BitmapCharRec * const chars[] = {
-&ch32,
-&ch33,
-&ch34,
-&ch35,
-&ch36,
-&ch37,
-&ch38,
-&ch39,
-&ch40,
-&ch41,
-&ch42,
-&ch43,
-&ch44,
-&ch45,
-&ch46,
-&ch47,
-&ch48,
-&ch49,
-&ch50,
-&ch51,
-&ch52,
-&ch53,
-&ch54,
-&ch55,
-&ch56,
-&ch57,
-&ch58,
-&ch59,
-&ch60,
-&ch61,
-&ch62,
-&ch63,
-&ch64,
-&ch65,
-&ch66,
-&ch67,
-&ch68,
-&ch69,
-&ch70,
-&ch71,
-&ch72,
-&ch73,
-&ch74,
-&ch75,
-&ch76,
-&ch77,
-&ch78,
-&ch79,
-&ch80,
-&ch81,
-&ch82,
-&ch83,
-&ch84,
-&ch85,
-&ch86,
-&ch87,
-&ch88,
-&ch89,
-&ch90,
-&ch91,
-&ch92,
-&ch93,
-&ch94,
-&ch95,
-&ch96,
-&ch97,
-&ch98,
-&ch99,
-&ch100,
-&ch101,
-&ch102,
-&ch103,
-&ch104,
-&ch105,
-&ch106,
-&ch107,
-&ch108,
-&ch109,
-&ch110,
-&ch111,
-&ch112,
-&ch113,
-&ch114,
-&ch115,
-&ch116,
-&ch117,
-&ch118,
-&ch119,
-&ch120,
-&ch121,
-&ch122,
-&ch123,
-&ch124,
-&ch125,
-&ch126,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-&ch160,
-&ch161,
-&ch162,
-&ch163,
-&ch164,
-&ch165,
-&ch166,
-&ch167,
-&ch168,
-&ch169,
-&ch170,
-&ch171,
-&ch172,
-&ch173,
-&ch174,
-&ch175,
-&ch176,
-&ch177,
-&ch178,
-&ch179,
-&ch180,
-&ch181,
-&ch182,
-&ch183,
-&ch184,
-&ch185,
-&ch186,
-&ch187,
-&ch188,
-&ch189,
-&ch190,
-&ch191,
-&ch192,
-&ch193,
-&ch194,
-&ch195,
-&ch196,
-&ch197,
-&ch198,
-&ch199,
-&ch200,
-&ch201,
-&ch202,
-&ch203,
-&ch204,
-&ch205,
-&ch206,
-&ch207,
-&ch208,
-&ch209,
-&ch210,
-&ch211,
-&ch212,
-&ch213,
-&ch214,
-&ch215,
-&ch216,
-&ch217,
-&ch218,
-&ch219,
-&ch220,
-&ch221,
-&ch222,
-&ch223,
-&ch224,
-&ch225,
-&ch226,
-&ch227,
-&ch228,
-&ch229,
-&ch230,
-&ch231,
-&ch232,
-&ch233,
-&ch234,
-&ch235,
-&ch236,
-&ch237,
-&ch238,
-&ch239,
-&ch240,
-&ch241,
-&ch242,
-&ch243,
-&ch244,
-&ch245,
-&ch246,
-&ch247,
-&ch248,
-&ch249,
-&ch250,
-&ch251,
-&ch252,
-&ch253,
-&ch254,
-&ch255,
-};
-
-const BitmapFontRec glutBitmapHelvetica18 = {
-"-adobe-helvetica-medium-r-normal--18-180-75-75-p-98-iso8859-1",
-224,
-32,
-chars
-};
-
diff --git a/src/glut/beos/glut_mroman.c b/src/glut/beos/glut_mroman.c
deleted file mode 100644
index a29f043b4a..0000000000
--- a/src/glut/beos/glut_mroman.c
+++ /dev/null
@@ -1,2451 +0,0 @@
-
-/* GENERATED FILE -- DO NOT MODIFY */
-
-#include "glutstroke.h"
-
-/* char: 33 '!' */
-
-static const CoordRec char33_stroke0[] = {
- { 52.381, 100 },
- { 52.381, 33.3333 },
-};
-
-static const CoordRec char33_stroke1[] = {
- { 52.381, 9.5238 },
- { 47.6191, 4.7619 },
- { 52.381, 0 },
- { 57.1429, 4.7619 },
- { 52.381, 9.5238 },
-};
-
-static const StrokeRec char33[] = {
- { 2, char33_stroke0 },
- { 5, char33_stroke1 },
-};
-
-/* char: 34 '"' */
-
-static const CoordRec char34_stroke0[] = {
- { 33.3334, 100 },
- { 33.3334, 66.6667 },
-};
-
-static const CoordRec char34_stroke1[] = {
- { 71.4286, 100 },
- { 71.4286, 66.6667 },
-};
-
-static const StrokeRec char34[] = {
- { 2, char34_stroke0 },
- { 2, char34_stroke1 },
-};
-
-/* char: 35 '#' */
-
-static const CoordRec char35_stroke0[] = {
- { 54.7619, 119.048 },
- { 21.4286, -33.3333 },
-};
-
-static const CoordRec char35_stroke1[] = {
- { 83.3334, 119.048 },
- { 50, -33.3333 },
-};
-
-static const CoordRec char35_stroke2[] = {
- { 21.4286, 57.1429 },
- { 88.0952, 57.1429 },
-};
-
-static const CoordRec char35_stroke3[] = {
- { 16.6667, 28.5714 },
- { 83.3334, 28.5714 },
-};
-
-static const StrokeRec char35[] = {
- { 2, char35_stroke0 },
- { 2, char35_stroke1 },
- { 2, char35_stroke2 },
- { 2, char35_stroke3 },
-};
-
-/* char: 36 '$' */
-
-static const CoordRec char36_stroke0[] = {
- { 42.8571, 119.048 },
- { 42.8571, -19.0476 },
-};
-
-static const CoordRec char36_stroke1[] = {
- { 61.9047, 119.048 },
- { 61.9047, -19.0476 },
-};
-
-static const CoordRec char36_stroke2[] = {
- { 85.7143, 85.7143 },
- { 76.1905, 95.2381 },
- { 61.9047, 100 },
- { 42.8571, 100 },
- { 28.5714, 95.2381 },
- { 19.0476, 85.7143 },
- { 19.0476, 76.1905 },
- { 23.8095, 66.6667 },
- { 28.5714, 61.9048 },
- { 38.0952, 57.1429 },
- { 66.6666, 47.619 },
- { 76.1905, 42.8571 },
- { 80.9524, 38.0952 },
- { 85.7143, 28.5714 },
- { 85.7143, 14.2857 },
- { 76.1905, 4.7619 },
- { 61.9047, 0 },
- { 42.8571, 0 },
- { 28.5714, 4.7619 },
- { 19.0476, 14.2857 },
-};
-
-static const StrokeRec char36[] = {
- { 2, char36_stroke0 },
- { 2, char36_stroke1 },
- { 20, char36_stroke2 },
-};
-
-/* char: 37 '%' */
-
-static const CoordRec char37_stroke0[] = {
- { 95.2381, 100 },
- { 9.5238, 0 },
-};
-
-static const CoordRec char37_stroke1[] = {
- { 33.3333, 100 },
- { 42.8571, 90.4762 },
- { 42.8571, 80.9524 },
- { 38.0952, 71.4286 },
- { 28.5714, 66.6667 },
- { 19.0476, 66.6667 },
- { 9.5238, 76.1905 },
- { 9.5238, 85.7143 },
- { 14.2857, 95.2381 },
- { 23.8095, 100 },
- { 33.3333, 100 },
- { 42.8571, 95.2381 },
- { 57.1428, 90.4762 },
- { 71.4286, 90.4762 },
- { 85.7143, 95.2381 },
- { 95.2381, 100 },
-};
-
-static const CoordRec char37_stroke2[] = {
- { 76.1905, 33.3333 },
- { 66.6667, 28.5714 },
- { 61.9048, 19.0476 },
- { 61.9048, 9.5238 },
- { 71.4286, 0 },
- { 80.9524, 0 },
- { 90.4762, 4.7619 },
- { 95.2381, 14.2857 },
- { 95.2381, 23.8095 },
- { 85.7143, 33.3333 },
- { 76.1905, 33.3333 },
-};
-
-static const StrokeRec char37[] = {
- { 2, char37_stroke0 },
- { 16, char37_stroke1 },
- { 11, char37_stroke2 },
-};
-
-/* char: 38 '&' */
-
-static const CoordRec char38_stroke0[] = {
- { 100, 57.1429 },
- { 100, 61.9048 },
- { 95.2381, 66.6667 },
- { 90.4762, 66.6667 },
- { 85.7143, 61.9048 },
- { 80.9524, 52.381 },
- { 71.4286, 28.5714 },
- { 61.9048, 14.2857 },
- { 52.3809, 4.7619 },
- { 42.8571, 0 },
- { 23.8095, 0 },
- { 14.2857, 4.7619 },
- { 9.5238, 9.5238 },
- { 4.7619, 19.0476 },
- { 4.7619, 28.5714 },
- { 9.5238, 38.0952 },
- { 14.2857, 42.8571 },
- { 47.619, 61.9048 },
- { 52.3809, 66.6667 },
- { 57.1429, 76.1905 },
- { 57.1429, 85.7143 },
- { 52.3809, 95.2381 },
- { 42.8571, 100 },
- { 33.3333, 95.2381 },
- { 28.5714, 85.7143 },
- { 28.5714, 76.1905 },
- { 33.3333, 61.9048 },
- { 42.8571, 47.619 },
- { 66.6667, 14.2857 },
- { 76.1905, 4.7619 },
- { 85.7143, 0 },
- { 95.2381, 0 },
- { 100, 4.7619 },
- { 100, 9.5238 },
-};
-
-static const StrokeRec char38[] = {
- { 34, char38_stroke0 },
-};
-
-/* char: 39 ''' */
-
-static const CoordRec char39_stroke0[] = {
- { 52.381, 100 },
- { 52.381, 66.6667 },
-};
-
-static const StrokeRec char39[] = {
- { 2, char39_stroke0 },
-};
-
-/* char: 40 '(' */
-
-static const CoordRec char40_stroke0[] = {
- { 69.0476, 119.048 },
- { 59.5238, 109.524 },
- { 50, 95.2381 },
- { 40.4762, 76.1905 },
- { 35.7143, 52.381 },
- { 35.7143, 33.3333 },
- { 40.4762, 9.5238 },
- { 50, -9.5238 },
- { 59.5238, -23.8095 },
- { 69.0476, -33.3333 },
-};
-
-static const StrokeRec char40[] = {
- { 10, char40_stroke0 },
-};
-
-/* char: 41 ')' */
-
-static const CoordRec char41_stroke0[] = {
- { 35.7143, 119.048 },
- { 45.2381, 109.524 },
- { 54.7619, 95.2381 },
- { 64.2857, 76.1905 },
- { 69.0476, 52.381 },
- { 69.0476, 33.3333 },
- { 64.2857, 9.5238 },
- { 54.7619, -9.5238 },
- { 45.2381, -23.8095 },
- { 35.7143, -33.3333 },
-};
-
-static const StrokeRec char41[] = {
- { 10, char41_stroke0 },
-};
-
-/* char: 42 '*' */
-
-static const CoordRec char42_stroke0[] = {
- { 52.381, 71.4286 },
- { 52.381, 14.2857 },
-};
-
-static const CoordRec char42_stroke1[] = {
- { 28.5715, 57.1429 },
- { 76.1905, 28.5714 },
-};
-
-static const CoordRec char42_stroke2[] = {
- { 76.1905, 57.1429 },
- { 28.5715, 28.5714 },
-};
-
-static const StrokeRec char42[] = {
- { 2, char42_stroke0 },
- { 2, char42_stroke1 },
- { 2, char42_stroke2 },
-};
-
-/* char: 43 '+' */
-
-static const CoordRec char43_stroke0[] = {
- { 52.3809, 85.7143 },
- { 52.3809, 0 },
-};
-
-static const CoordRec char43_stroke1[] = {
- { 9.5238, 42.8571 },
- { 95.2381, 42.8571 },
-};
-
-static const StrokeRec char43[] = {
- { 2, char43_stroke0 },
- { 2, char43_stroke1 },
-};
-
-/* char: 44 ',' */
-
-static const CoordRec char44_stroke0[] = {
- { 57.1429, 4.7619 },
- { 52.381, 0 },
- { 47.6191, 4.7619 },
- { 52.381, 9.5238 },
- { 57.1429, 4.7619 },
- { 57.1429, -4.7619 },
- { 52.381, -14.2857 },
- { 47.6191, -19.0476 },
-};
-
-static const StrokeRec char44[] = {
- { 8, char44_stroke0 },
-};
-
-/* char: 45 '-' */
-
-static const CoordRec char45_stroke0[] = {
- { 9.5238, 42.8571 },
- { 95.2381, 42.8571 },
-};
-
-static const StrokeRec char45[] = {
- { 2, char45_stroke0 },
-};
-
-/* char: 46 '.' */
-
-static const CoordRec char46_stroke0[] = {
- { 52.381, 9.5238 },
- { 47.6191, 4.7619 },
- { 52.381, 0 },
- { 57.1429, 4.7619 },
- { 52.381, 9.5238 },
-};
-
-static const StrokeRec char46[] = {
- { 5, char46_stroke0 },
-};
-
-/* char: 47 '/' */
-
-static const CoordRec char47_stroke0[] = {
- { 19.0476, -14.2857 },
- { 85.7143, 100 },
-};
-
-static const StrokeRec char47[] = {
- { 2, char47_stroke0 },
-};
-
-/* char: 48 '0' */
-
-static const CoordRec char48_stroke0[] = {
- { 47.619, 100 },
- { 33.3333, 95.2381 },
- { 23.8095, 80.9524 },
- { 19.0476, 57.1429 },
- { 19.0476, 42.8571 },
- { 23.8095, 19.0476 },
- { 33.3333, 4.7619 },
- { 47.619, 0 },
- { 57.1428, 0 },
- { 71.4286, 4.7619 },
- { 80.9524, 19.0476 },
- { 85.7143, 42.8571 },
- { 85.7143, 57.1429 },
- { 80.9524, 80.9524 },
- { 71.4286, 95.2381 },
- { 57.1428, 100 },
- { 47.619, 100 },
-};
-
-static const StrokeRec char48[] = {
- { 17, char48_stroke0 },
-};
-
-/* char: 49 '1' */
-
-static const CoordRec char49_stroke0[] = {
- { 40.4762, 80.9524 },
- { 50, 85.7143 },
- { 64.2857, 100 },
- { 64.2857, 0 },
-};
-
-static const StrokeRec char49[] = {
- { 4, char49_stroke0 },
-};
-
-/* char: 50 '2' */
-
-static const CoordRec char50_stroke0[] = {
- { 23.8095, 76.1905 },
- { 23.8095, 80.9524 },
- { 28.5714, 90.4762 },
- { 33.3333, 95.2381 },
- { 42.8571, 100 },
- { 61.9047, 100 },
- { 71.4286, 95.2381 },
- { 76.1905, 90.4762 },
- { 80.9524, 80.9524 },
- { 80.9524, 71.4286 },
- { 76.1905, 61.9048 },
- { 66.6666, 47.619 },
- { 19.0476, 0 },
- { 85.7143, 0 },
-};
-
-static const StrokeRec char50[] = {
- { 14, char50_stroke0 },
-};
-
-/* char: 51 '3' */
-
-static const CoordRec char51_stroke0[] = {
- { 28.5714, 100 },
- { 80.9524, 100 },
- { 52.3809, 61.9048 },
- { 66.6666, 61.9048 },
- { 76.1905, 57.1429 },
- { 80.9524, 52.381 },
- { 85.7143, 38.0952 },
- { 85.7143, 28.5714 },
- { 80.9524, 14.2857 },
- { 71.4286, 4.7619 },
- { 57.1428, 0 },
- { 42.8571, 0 },
- { 28.5714, 4.7619 },
- { 23.8095, 9.5238 },
- { 19.0476, 19.0476 },
-};
-
-static const StrokeRec char51[] = {
- { 15, char51_stroke0 },
-};
-
-/* char: 52 '4' */
-
-static const CoordRec char52_stroke0[] = {
- { 64.2857, 100 },
- { 16.6667, 33.3333 },
- { 88.0952, 33.3333 },
-};
-
-static const CoordRec char52_stroke1[] = {
- { 64.2857, 100 },
- { 64.2857, 0 },
-};
-
-static const StrokeRec char52[] = {
- { 3, char52_stroke0 },
- { 2, char52_stroke1 },
-};
-
-/* char: 53 '5' */
-
-static const CoordRec char53_stroke0[] = {
- { 76.1905, 100 },
- { 28.5714, 100 },
- { 23.8095, 57.1429 },
- { 28.5714, 61.9048 },
- { 42.8571, 66.6667 },
- { 57.1428, 66.6667 },
- { 71.4286, 61.9048 },
- { 80.9524, 52.381 },
- { 85.7143, 38.0952 },
- { 85.7143, 28.5714 },
- { 80.9524, 14.2857 },
- { 71.4286, 4.7619 },
- { 57.1428, 0 },
- { 42.8571, 0 },
- { 28.5714, 4.7619 },
- { 23.8095, 9.5238 },
- { 19.0476, 19.0476 },
-};
-
-static const StrokeRec char53[] = {
- { 17, char53_stroke0 },
-};
-
-/* char: 54 '6' */
-
-static const CoordRec char54_stroke0[] = {
- { 78.5714, 85.7143 },
- { 73.8096, 95.2381 },
- { 59.5238, 100 },
- { 50, 100 },
- { 35.7143, 95.2381 },
- { 26.1905, 80.9524 },
- { 21.4286, 57.1429 },
- { 21.4286, 33.3333 },
- { 26.1905, 14.2857 },
- { 35.7143, 4.7619 },
- { 50, 0 },
- { 54.7619, 0 },
- { 69.0476, 4.7619 },
- { 78.5714, 14.2857 },
- { 83.3334, 28.5714 },
- { 83.3334, 33.3333 },
- { 78.5714, 47.619 },
- { 69.0476, 57.1429 },
- { 54.7619, 61.9048 },
- { 50, 61.9048 },
- { 35.7143, 57.1429 },
- { 26.1905, 47.619 },
- { 21.4286, 33.3333 },
-};
-
-static const StrokeRec char54[] = {
- { 23, char54_stroke0 },
-};
-
-/* char: 55 '7' */
-
-static const CoordRec char55_stroke0[] = {
- { 85.7143, 100 },
- { 38.0952, 0 },
-};
-
-static const CoordRec char55_stroke1[] = {
- { 19.0476, 100 },
- { 85.7143, 100 },
-};
-
-static const StrokeRec char55[] = {
- { 2, char55_stroke0 },
- { 2, char55_stroke1 },
-};
-
-/* char: 56 '8' */
-
-static const CoordRec char56_stroke0[] = {
- { 42.8571, 100 },
- { 28.5714, 95.2381 },
- { 23.8095, 85.7143 },
- { 23.8095, 76.1905 },
- { 28.5714, 66.6667 },
- { 38.0952, 61.9048 },
- { 57.1428, 57.1429 },
- { 71.4286, 52.381 },
- { 80.9524, 42.8571 },
- { 85.7143, 33.3333 },
- { 85.7143, 19.0476 },
- { 80.9524, 9.5238 },
- { 76.1905, 4.7619 },
- { 61.9047, 0 },
- { 42.8571, 0 },
- { 28.5714, 4.7619 },
- { 23.8095, 9.5238 },
- { 19.0476, 19.0476 },
- { 19.0476, 33.3333 },
- { 23.8095, 42.8571 },
- { 33.3333, 52.381 },
- { 47.619, 57.1429 },
- { 66.6666, 61.9048 },
- { 76.1905, 66.6667 },
- { 80.9524, 76.1905 },
- { 80.9524, 85.7143 },
- { 76.1905, 95.2381 },
- { 61.9047, 100 },
- { 42.8571, 100 },
-};
-
-static const StrokeRec char56[] = {
- { 29, char56_stroke0 },
-};
-
-/* char: 57 '9' */
-
-static const CoordRec char57_stroke0[] = {
- { 83.3334, 66.6667 },
- { 78.5714, 52.381 },
- { 69.0476, 42.8571 },
- { 54.7619, 38.0952 },
- { 50, 38.0952 },
- { 35.7143, 42.8571 },
- { 26.1905, 52.381 },
- { 21.4286, 66.6667 },
- { 21.4286, 71.4286 },
- { 26.1905, 85.7143 },
- { 35.7143, 95.2381 },
- { 50, 100 },
- { 54.7619, 100 },
- { 69.0476, 95.2381 },
- { 78.5714, 85.7143 },
- { 83.3334, 66.6667 },
- { 83.3334, 42.8571 },
- { 78.5714, 19.0476 },
- { 69.0476, 4.7619 },
- { 54.7619, 0 },
- { 45.2381, 0 },
- { 30.9524, 4.7619 },
- { 26.1905, 14.2857 },
-};
-
-static const StrokeRec char57[] = {
- { 23, char57_stroke0 },
-};
-
-/* char: 58 ':' */
-
-static const CoordRec char58_stroke0[] = {
- { 52.381, 66.6667 },
- { 47.6191, 61.9048 },
- { 52.381, 57.1429 },
- { 57.1429, 61.9048 },
- { 52.381, 66.6667 },
-};
-
-static const CoordRec char58_stroke1[] = {
- { 52.381, 9.5238 },
- { 47.6191, 4.7619 },
- { 52.381, 0 },
- { 57.1429, 4.7619 },
- { 52.381, 9.5238 },
-};
-
-static const StrokeRec char58[] = {
- { 5, char58_stroke0 },
- { 5, char58_stroke1 },
-};
-
-/* char: 59 ';' */
-
-static const CoordRec char59_stroke0[] = {
- { 52.381, 66.6667 },
- { 47.6191, 61.9048 },
- { 52.381, 57.1429 },
- { 57.1429, 61.9048 },
- { 52.381, 66.6667 },
-};
-
-static const CoordRec char59_stroke1[] = {
- { 57.1429, 4.7619 },
- { 52.381, 0 },
- { 47.6191, 4.7619 },
- { 52.381, 9.5238 },
- { 57.1429, 4.7619 },
- { 57.1429, -4.7619 },
- { 52.381, -14.2857 },
- { 47.6191, -19.0476 },
-};
-
-static const StrokeRec char59[] = {
- { 5, char59_stroke0 },
- { 8, char59_stroke1 },
-};
-
-/* char: 60 '<' */
-
-static const CoordRec char60_stroke0[] = {
- { 90.4762, 85.7143 },
- { 14.2857, 42.8571 },
- { 90.4762, 0 },
-};
-
-static const StrokeRec char60[] = {
- { 3, char60_stroke0 },
-};
-
-/* char: 61 '=' */
-
-static const CoordRec char61_stroke0[] = {
- { 9.5238, 57.1429 },
- { 95.2381, 57.1429 },
-};
-
-static const CoordRec char61_stroke1[] = {
- { 9.5238, 28.5714 },
- { 95.2381, 28.5714 },
-};
-
-static const StrokeRec char61[] = {
- { 2, char61_stroke0 },
- { 2, char61_stroke1 },
-};
-
-/* char: 62 '>' */
-
-static const CoordRec char62_stroke0[] = {
- { 14.2857, 85.7143 },
- { 90.4762, 42.8571 },
- { 14.2857, 0 },
-};
-
-static const StrokeRec char62[] = {
- { 3, char62_stroke0 },
-};
-
-/* char: 63 '?' */
-
-static const CoordRec char63_stroke0[] = {
- { 23.8095, 76.1905 },
- { 23.8095, 80.9524 },
- { 28.5714, 90.4762 },
- { 33.3333, 95.2381 },
- { 42.8571, 100 },
- { 61.9047, 100 },
- { 71.4285, 95.2381 },
- { 76.1905, 90.4762 },
- { 80.9524, 80.9524 },
- { 80.9524, 71.4286 },
- { 76.1905, 61.9048 },
- { 71.4285, 57.1429 },
- { 52.3809, 47.619 },
- { 52.3809, 33.3333 },
-};
-
-static const CoordRec char63_stroke1[] = {
- { 52.3809, 9.5238 },
- { 47.619, 4.7619 },
- { 52.3809, 0 },
- { 57.1428, 4.7619 },
- { 52.3809, 9.5238 },
-};
-
-static const StrokeRec char63[] = {
- { 14, char63_stroke0 },
- { 5, char63_stroke1 },
-};
-
-/* char: 64 '@' */
-
-static const CoordRec char64_stroke0[] = {
- { 64.2857, 52.381 },
- { 54.7619, 57.1429 },
- { 45.2381, 57.1429 },
- { 40.4762, 47.619 },
- { 40.4762, 42.8571 },
- { 45.2381, 33.3333 },
- { 54.7619, 33.3333 },
- { 64.2857, 38.0952 },
-};
-
-static const CoordRec char64_stroke1[] = {
- { 64.2857, 57.1429 },
- { 64.2857, 38.0952 },
- { 69.0476, 33.3333 },
- { 78.5714, 33.3333 },
- { 83.3334, 42.8571 },
- { 83.3334, 47.619 },
- { 78.5714, 61.9048 },
- { 69.0476, 71.4286 },
- { 54.7619, 76.1905 },
- { 50, 76.1905 },
- { 35.7143, 71.4286 },
- { 26.1905, 61.9048 },
- { 21.4286, 47.619 },
- { 21.4286, 42.8571 },
- { 26.1905, 28.5714 },
- { 35.7143, 19.0476 },
- { 50, 14.2857 },
- { 54.7619, 14.2857 },
- { 69.0476, 19.0476 },
-};
-
-static const StrokeRec char64[] = {
- { 8, char64_stroke0 },
- { 19, char64_stroke1 },
-};
-
-/* char: 65 'A' */
-
-static const CoordRec char65_stroke0[] = {
- { 52.3809, 100 },
- { 14.2857, 0 },
-};
-
-static const CoordRec char65_stroke1[] = {
- { 52.3809, 100 },
- { 90.4762, 0 },
-};
-
-static const CoordRec char65_stroke2[] = {
- { 28.5714, 33.3333 },
- { 76.1905, 33.3333 },
-};
-
-static const StrokeRec char65[] = {
- { 2, char65_stroke0 },
- { 2, char65_stroke1 },
- { 2, char65_stroke2 },
-};
-
-/* char: 66 'B' */
-
-static const CoordRec char66_stroke0[] = {
- { 19.0476, 100 },
- { 19.0476, 0 },
-};
-
-static const CoordRec char66_stroke1[] = {
- { 19.0476, 100 },
- { 61.9047, 100 },
- { 76.1905, 95.2381 },
- { 80.9524, 90.4762 },
- { 85.7143, 80.9524 },
- { 85.7143, 71.4286 },
- { 80.9524, 61.9048 },
- { 76.1905, 57.1429 },
- { 61.9047, 52.381 },
-};
-
-static const CoordRec char66_stroke2[] = {
- { 19.0476, 52.381 },
- { 61.9047, 52.381 },
- { 76.1905, 47.619 },
- { 80.9524, 42.8571 },
- { 85.7143, 33.3333 },
- { 85.7143, 19.0476 },
- { 80.9524, 9.5238 },
- { 76.1905, 4.7619 },
- { 61.9047, 0 },
- { 19.0476, 0 },
-};
-
-static const StrokeRec char66[] = {
- { 2, char66_stroke0 },
- { 9, char66_stroke1 },
- { 10, char66_stroke2 },
-};
-
-/* char: 67 'C' */
-
-static const CoordRec char67_stroke0[] = {
- { 88.0952, 76.1905 },
- { 83.3334, 85.7143 },
- { 73.8096, 95.2381 },
- { 64.2857, 100 },
- { 45.2381, 100 },
- { 35.7143, 95.2381 },
- { 26.1905, 85.7143 },
- { 21.4286, 76.1905 },
- { 16.6667, 61.9048 },
- { 16.6667, 38.0952 },
- { 21.4286, 23.8095 },
- { 26.1905, 14.2857 },
- { 35.7143, 4.7619 },
- { 45.2381, 0 },
- { 64.2857, 0 },
- { 73.8096, 4.7619 },
- { 83.3334, 14.2857 },
- { 88.0952, 23.8095 },
-};
-
-static const StrokeRec char67[] = {
- { 18, char67_stroke0 },
-};
-
-/* char: 68 'D' */
-
-static const CoordRec char68_stroke0[] = {
- { 19.0476, 100 },
- { 19.0476, 0 },
-};
-
-static const CoordRec char68_stroke1[] = {
- { 19.0476, 100 },
- { 52.3809, 100 },
- { 66.6666, 95.2381 },
- { 76.1905, 85.7143 },
- { 80.9524, 76.1905 },
- { 85.7143, 61.9048 },
- { 85.7143, 38.0952 },
- { 80.9524, 23.8095 },
- { 76.1905, 14.2857 },
- { 66.6666, 4.7619 },
- { 52.3809, 0 },
- { 19.0476, 0 },
-};
-
-static const StrokeRec char68[] = {
- { 2, char68_stroke0 },
- { 12, char68_stroke1 },
-};
-
-/* char: 69 'E' */
-
-static const CoordRec char69_stroke0[] = {
- { 21.4286, 100 },
- { 21.4286, 0 },
-};
-
-static const CoordRec char69_stroke1[] = {
- { 21.4286, 100 },
- { 83.3334, 100 },
-};
-
-static const CoordRec char69_stroke2[] = {
- { 21.4286, 52.381 },
- { 59.5238, 52.381 },
-};
-
-static const CoordRec char69_stroke3[] = {
- { 21.4286, 0 },
- { 83.3334, 0 },
-};
-
-static const StrokeRec char69[] = {
- { 2, char69_stroke0 },
- { 2, char69_stroke1 },
- { 2, char69_stroke2 },
- { 2, char69_stroke3 },
-};
-
-/* char: 70 'F' */
-
-static const CoordRec char70_stroke0[] = {
- { 21.4286, 100 },
- { 21.4286, 0 },
-};
-
-static const CoordRec char70_stroke1[] = {
- { 21.4286, 100 },
- { 83.3334, 100 },
-};
-
-static const CoordRec char70_stroke2[] = {
- { 21.4286, 52.381 },
- { 59.5238, 52.381 },
-};
-
-static const StrokeRec char70[] = {
- { 2, char70_stroke0 },
- { 2, char70_stroke1 },
- { 2, char70_stroke2 },
-};
-
-/* char: 71 'G' */
-
-static const CoordRec char71_stroke0[] = {
- { 88.0952, 76.1905 },
- { 83.3334, 85.7143 },
- { 73.8096, 95.2381 },
- { 64.2857, 100 },
- { 45.2381, 100 },
- { 35.7143, 95.2381 },
- { 26.1905, 85.7143 },
- { 21.4286, 76.1905 },
- { 16.6667, 61.9048 },
- { 16.6667, 38.0952 },
- { 21.4286, 23.8095 },
- { 26.1905, 14.2857 },
- { 35.7143, 4.7619 },
- { 45.2381, 0 },
- { 64.2857, 0 },
- { 73.8096, 4.7619 },
- { 83.3334, 14.2857 },
- { 88.0952, 23.8095 },
- { 88.0952, 38.0952 },
-};
-
-static const CoordRec char71_stroke1[] = {
- { 64.2857, 38.0952 },
- { 88.0952, 38.0952 },
-};
-
-static const StrokeRec char71[] = {
- { 19, char71_stroke0 },
- { 2, char71_stroke1 },
-};
-
-/* char: 72 'H' */
-
-static const CoordRec char72_stroke0[] = {
- { 19.0476, 100 },
- { 19.0476, 0 },
-};
-
-static const CoordRec char72_stroke1[] = {
- { 85.7143, 100 },
- { 85.7143, 0 },
-};
-
-static const CoordRec char72_stroke2[] = {
- { 19.0476, 52.381 },
- { 85.7143, 52.381 },
-};
-
-static const StrokeRec char72[] = {
- { 2, char72_stroke0 },
- { 2, char72_stroke1 },
- { 2, char72_stroke2 },
-};
-
-/* char: 73 'I' */
-
-static const CoordRec char73_stroke0[] = {
- { 52.381, 100 },
- { 52.381, 0 },
-};
-
-static const StrokeRec char73[] = {
- { 2, char73_stroke0 },
-};
-
-/* char: 74 'J' */
-
-static const CoordRec char74_stroke0[] = {
- { 76.1905, 100 },
- { 76.1905, 23.8095 },
- { 71.4286, 9.5238 },
- { 66.6667, 4.7619 },
- { 57.1429, 0 },
- { 47.6191, 0 },
- { 38.0953, 4.7619 },
- { 33.3334, 9.5238 },
- { 28.5715, 23.8095 },
- { 28.5715, 33.3333 },
-};
-
-static const StrokeRec char74[] = {
- { 10, char74_stroke0 },
-};
-
-/* char: 75 'K' */
-
-static const CoordRec char75_stroke0[] = {
- { 19.0476, 100 },
- { 19.0476, 0 },
-};
-
-static const CoordRec char75_stroke1[] = {
- { 85.7143, 100 },
- { 19.0476, 33.3333 },
-};
-
-static const CoordRec char75_stroke2[] = {
- { 42.8571, 57.1429 },
- { 85.7143, 0 },
-};
-
-static const StrokeRec char75[] = {
- { 2, char75_stroke0 },
- { 2, char75_stroke1 },
- { 2, char75_stroke2 },
-};
-
-/* char: 76 'L' */
-
-static const CoordRec char76_stroke0[] = {
- { 23.8095, 100 },
- { 23.8095, 0 },
-};
-
-static const CoordRec char76_stroke1[] = {
- { 23.8095, 0 },
- { 80.9524, 0 },
-};
-
-static const StrokeRec char76[] = {
- { 2, char76_stroke0 },
- { 2, char76_stroke1 },
-};
-
-/* char: 77 'M' */
-
-static const CoordRec char77_stroke0[] = {
- { 14.2857, 100 },
- { 14.2857, 0 },
-};
-
-static const CoordRec char77_stroke1[] = {
- { 14.2857, 100 },
- { 52.3809, 0 },
-};
-
-static const CoordRec char77_stroke2[] = {
- { 90.4762, 100 },
- { 52.3809, 0 },
-};
-
-static const CoordRec char77_stroke3[] = {
- { 90.4762, 100 },
- { 90.4762, 0 },
-};
-
-static const StrokeRec char77[] = {
- { 2, char77_stroke0 },
- { 2, char77_stroke1 },
- { 2, char77_stroke2 },
- { 2, char77_stroke3 },
-};
-
-/* char: 78 'N' */
-
-static const CoordRec char78_stroke0[] = {
- { 19.0476, 100 },
- { 19.0476, 0 },
-};
-
-static const CoordRec char78_stroke1[] = {
- { 19.0476, 100 },
- { 85.7143, 0 },
-};
-
-static const CoordRec char78_stroke2[] = {
- { 85.7143, 100 },
- { 85.7143, 0 },
-};
-
-static const StrokeRec char78[] = {
- { 2, char78_stroke0 },
- { 2, char78_stroke1 },
- { 2, char78_stroke2 },
-};
-
-/* char: 79 'O' */
-
-static const CoordRec char79_stroke0[] = {
- { 42.8571, 100 },
- { 33.3333, 95.2381 },
- { 23.8095, 85.7143 },
- { 19.0476, 76.1905 },
- { 14.2857, 61.9048 },
- { 14.2857, 38.0952 },
- { 19.0476, 23.8095 },
- { 23.8095, 14.2857 },
- { 33.3333, 4.7619 },
- { 42.8571, 0 },
- { 61.9047, 0 },
- { 71.4286, 4.7619 },
- { 80.9524, 14.2857 },
- { 85.7143, 23.8095 },
- { 90.4762, 38.0952 },
- { 90.4762, 61.9048 },
- { 85.7143, 76.1905 },
- { 80.9524, 85.7143 },
- { 71.4286, 95.2381 },
- { 61.9047, 100 },
- { 42.8571, 100 },
-};
-
-static const StrokeRec char79[] = {
- { 21, char79_stroke0 },
-};
-
-/* char: 80 'P' */
-
-static const CoordRec char80_stroke0[] = {
- { 19.0476, 100 },
- { 19.0476, 0 },
-};
-
-static const CoordRec char80_stroke1[] = {
- { 19.0476, 100 },
- { 61.9047, 100 },
- { 76.1905, 95.2381 },
- { 80.9524, 90.4762 },
- { 85.7143, 80.9524 },
- { 85.7143, 66.6667 },
- { 80.9524, 57.1429 },
- { 76.1905, 52.381 },
- { 61.9047, 47.619 },
- { 19.0476, 47.619 },
-};
-
-static const StrokeRec char80[] = {
- { 2, char80_stroke0 },
- { 10, char80_stroke1 },
-};
-
-/* char: 81 'Q' */
-
-static const CoordRec char81_stroke0[] = {
- { 42.8571, 100 },
- { 33.3333, 95.2381 },
- { 23.8095, 85.7143 },
- { 19.0476, 76.1905 },
- { 14.2857, 61.9048 },
- { 14.2857, 38.0952 },
- { 19.0476, 23.8095 },
- { 23.8095, 14.2857 },
- { 33.3333, 4.7619 },
- { 42.8571, 0 },
- { 61.9047, 0 },
- { 71.4286, 4.7619 },
- { 80.9524, 14.2857 },
- { 85.7143, 23.8095 },
- { 90.4762, 38.0952 },
- { 90.4762, 61.9048 },
- { 85.7143, 76.1905 },
- { 80.9524, 85.7143 },
- { 71.4286, 95.2381 },
- { 61.9047, 100 },
- { 42.8571, 100 },
-};
-
-static const CoordRec char81_stroke1[] = {
- { 57.1428, 19.0476 },
- { 85.7143, -9.5238 },
-};
-
-static const StrokeRec char81[] = {
- { 21, char81_stroke0 },
- { 2, char81_stroke1 },
-};
-
-/* char: 82 'R' */
-
-static const CoordRec char82_stroke0[] = {
- { 19.0476, 100 },
- { 19.0476, 0 },
-};
-
-static const CoordRec char82_stroke1[] = {
- { 19.0476, 100 },
- { 61.9047, 100 },
- { 76.1905, 95.2381 },
- { 80.9524, 90.4762 },
- { 85.7143, 80.9524 },
- { 85.7143, 71.4286 },
- { 80.9524, 61.9048 },
- { 76.1905, 57.1429 },
- { 61.9047, 52.381 },
- { 19.0476, 52.381 },
-};
-
-static const CoordRec char82_stroke2[] = {
- { 52.3809, 52.381 },
- { 85.7143, 0 },
-};
-
-static const StrokeRec char82[] = {
- { 2, char82_stroke0 },
- { 10, char82_stroke1 },
- { 2, char82_stroke2 },
-};
-
-/* char: 83 'S' */
-
-static const CoordRec char83_stroke0[] = {
- { 85.7143, 85.7143 },
- { 76.1905, 95.2381 },
- { 61.9047, 100 },
- { 42.8571, 100 },
- { 28.5714, 95.2381 },
- { 19.0476, 85.7143 },
- { 19.0476, 76.1905 },
- { 23.8095, 66.6667 },
- { 28.5714, 61.9048 },
- { 38.0952, 57.1429 },
- { 66.6666, 47.619 },
- { 76.1905, 42.8571 },
- { 80.9524, 38.0952 },
- { 85.7143, 28.5714 },
- { 85.7143, 14.2857 },
- { 76.1905, 4.7619 },
- { 61.9047, 0 },
- { 42.8571, 0 },
- { 28.5714, 4.7619 },
- { 19.0476, 14.2857 },
-};
-
-static const StrokeRec char83[] = {
- { 20, char83_stroke0 },
-};
-
-/* char: 84 'T' */
-
-static const CoordRec char84_stroke0[] = {
- { 52.3809, 100 },
- { 52.3809, 0 },
-};
-
-static const CoordRec char84_stroke1[] = {
- { 19.0476, 100 },
- { 85.7143, 100 },
-};
-
-static const StrokeRec char84[] = {
- { 2, char84_stroke0 },
- { 2, char84_stroke1 },
-};
-
-/* char: 85 'U' */
-
-static const CoordRec char85_stroke0[] = {
- { 19.0476, 100 },
- { 19.0476, 28.5714 },
- { 23.8095, 14.2857 },
- { 33.3333, 4.7619 },
- { 47.619, 0 },
- { 57.1428, 0 },
- { 71.4286, 4.7619 },
- { 80.9524, 14.2857 },
- { 85.7143, 28.5714 },
- { 85.7143, 100 },
-};
-
-static const StrokeRec char85[] = {
- { 10, char85_stroke0 },
-};
-
-/* char: 86 'V' */
-
-static const CoordRec char86_stroke0[] = {
- { 14.2857, 100 },
- { 52.3809, 0 },
-};
-
-static const CoordRec char86_stroke1[] = {
- { 90.4762, 100 },
- { 52.3809, 0 },
-};
-
-static const StrokeRec char86[] = {
- { 2, char86_stroke0 },
- { 2, char86_stroke1 },
-};
-
-/* char: 87 'W' */
-
-static const CoordRec char87_stroke0[] = {
- { 4.7619, 100 },
- { 28.5714, 0 },
-};
-
-static const CoordRec char87_stroke1[] = {
- { 52.3809, 100 },
- { 28.5714, 0 },
-};
-
-static const CoordRec char87_stroke2[] = {
- { 52.3809, 100 },
- { 76.1905, 0 },
-};
-
-static const CoordRec char87_stroke3[] = {
- { 100, 100 },
- { 76.1905, 0 },
-};
-
-static const StrokeRec char87[] = {
- { 2, char87_stroke0 },
- { 2, char87_stroke1 },
- { 2, char87_stroke2 },
- { 2, char87_stroke3 },
-};
-
-/* char: 88 'X' */
-
-static const CoordRec char88_stroke0[] = {
- { 19.0476, 100 },
- { 85.7143, 0 },
-};
-
-static const CoordRec char88_stroke1[] = {
- { 85.7143, 100 },
- { 19.0476, 0 },
-};
-
-static const StrokeRec char88[] = {
- { 2, char88_stroke0 },
- { 2, char88_stroke1 },
-};
-
-/* char: 89 'Y' */
-
-static const CoordRec char89_stroke0[] = {
- { 14.2857, 100 },
- { 52.3809, 52.381 },
- { 52.3809, 0 },
-};
-
-static const CoordRec char89_stroke1[] = {
- { 90.4762, 100 },
- { 52.3809, 52.381 },
-};
-
-static const StrokeRec char89[] = {
- { 3, char89_stroke0 },
- { 2, char89_stroke1 },
-};
-
-/* char: 90 'Z' */
-
-static const CoordRec char90_stroke0[] = {
- { 85.7143, 100 },
- { 19.0476, 0 },
-};
-
-static const CoordRec char90_stroke1[] = {
- { 19.0476, 100 },
- { 85.7143, 100 },
-};
-
-static const CoordRec char90_stroke2[] = {
- { 19.0476, 0 },
- { 85.7143, 0 },
-};
-
-static const StrokeRec char90[] = {
- { 2, char90_stroke0 },
- { 2, char90_stroke1 },
- { 2, char90_stroke2 },
-};
-
-/* char: 91 '[' */
-
-static const CoordRec char91_stroke0[] = {
- { 35.7143, 119.048 },
- { 35.7143, -33.3333 },
-};
-
-static const CoordRec char91_stroke1[] = {
- { 40.4762, 119.048 },
- { 40.4762, -33.3333 },
-};
-
-static const CoordRec char91_stroke2[] = {
- { 35.7143, 119.048 },
- { 69.0476, 119.048 },
-};
-
-static const CoordRec char91_stroke3[] = {
- { 35.7143, -33.3333 },
- { 69.0476, -33.3333 },
-};
-
-static const StrokeRec char91[] = {
- { 2, char91_stroke0 },
- { 2, char91_stroke1 },
- { 2, char91_stroke2 },
- { 2, char91_stroke3 },
-};
-
-/* char: 92 '\' */
-
-static const CoordRec char92_stroke0[] = {
- { 19.0476, 100 },
- { 85.7143, -14.2857 },
-};
-
-static const StrokeRec char92[] = {
- { 2, char92_stroke0 },
-};
-
-/* char: 93 ']' */
-
-static const CoordRec char93_stroke0[] = {
- { 64.2857, 119.048 },
- { 64.2857, -33.3333 },
-};
-
-static const CoordRec char93_stroke1[] = {
- { 69.0476, 119.048 },
- { 69.0476, -33.3333 },
-};
-
-static const CoordRec char93_stroke2[] = {
- { 35.7143, 119.048 },
- { 69.0476, 119.048 },
-};
-
-static const CoordRec char93_stroke3[] = {
- { 35.7143, -33.3333 },
- { 69.0476, -33.3333 },
-};
-
-static const StrokeRec char93[] = {
- { 2, char93_stroke0 },
- { 2, char93_stroke1 },
- { 2, char93_stroke2 },
- { 2, char93_stroke3 },
-};
-
-/* char: 94 '^' */
-
-static const CoordRec char94_stroke0[] = {
- { 52.3809, 109.524 },
- { 14.2857, 42.8571 },
-};
-
-static const CoordRec char94_stroke1[] = {
- { 52.3809, 109.524 },
- { 90.4762, 42.8571 },
-};
-
-static const StrokeRec char94[] = {
- { 2, char94_stroke0 },
- { 2, char94_stroke1 },
-};
-
-/* char: 95 '_' */
-
-static const CoordRec char95_stroke0[] = {
- { 0, -33.3333 },
- { 104.762, -33.3333 },
- { 104.762, -28.5714 },
- { 0, -28.5714 },
- { 0, -33.3333 },
-};
-
-static const StrokeRec char95[] = {
- { 5, char95_stroke0 },
-};
-
-/* char: 96 '`' */
-
-static const CoordRec char96_stroke0[] = {
- { 42.8572, 100 },
- { 66.6667, 71.4286 },
-};
-
-static const CoordRec char96_stroke1[] = {
- { 42.8572, 100 },
- { 38.0953, 95.2381 },
- { 66.6667, 71.4286 },
-};
-
-static const StrokeRec char96[] = {
- { 2, char96_stroke0 },
- { 3, char96_stroke1 },
-};
-
-/* char: 97 'a' */
-
-static const CoordRec char97_stroke0[] = {
- { 80.9524, 66.6667 },
- { 80.9524, 0 },
-};
-
-static const CoordRec char97_stroke1[] = {
- { 80.9524, 52.381 },
- { 71.4285, 61.9048 },
- { 61.9047, 66.6667 },
- { 47.619, 66.6667 },
- { 38.0952, 61.9048 },
- { 28.5714, 52.381 },
- { 23.8095, 38.0952 },
- { 23.8095, 28.5714 },
- { 28.5714, 14.2857 },
- { 38.0952, 4.7619 },
- { 47.619, 0 },
- { 61.9047, 0 },
- { 71.4285, 4.7619 },
- { 80.9524, 14.2857 },
-};
-
-static const StrokeRec char97[] = {
- { 2, char97_stroke0 },
- { 14, char97_stroke1 },
-};
-
-/* char: 98 'b' */
-
-static const CoordRec char98_stroke0[] = {
- { 23.8095, 100 },
- { 23.8095, 0 },
-};
-
-static const CoordRec char98_stroke1[] = {
- { 23.8095, 52.381 },
- { 33.3333, 61.9048 },
- { 42.8571, 66.6667 },
- { 57.1428, 66.6667 },
- { 66.6666, 61.9048 },
- { 76.1905, 52.381 },
- { 80.9524, 38.0952 },
- { 80.9524, 28.5714 },
- { 76.1905, 14.2857 },
- { 66.6666, 4.7619 },
- { 57.1428, 0 },
- { 42.8571, 0 },
- { 33.3333, 4.7619 },
- { 23.8095, 14.2857 },
-};
-
-static const StrokeRec char98[] = {
- { 2, char98_stroke0 },
- { 14, char98_stroke1 },
-};
-
-/* char: 99 'c' */
-
-static const CoordRec char99_stroke0[] = {
- { 80.9524, 52.381 },
- { 71.4285, 61.9048 },
- { 61.9047, 66.6667 },
- { 47.619, 66.6667 },
- { 38.0952, 61.9048 },
- { 28.5714, 52.381 },
- { 23.8095, 38.0952 },
- { 23.8095, 28.5714 },
- { 28.5714, 14.2857 },
- { 38.0952, 4.7619 },
- { 47.619, 0 },
- { 61.9047, 0 },
- { 71.4285, 4.7619 },
- { 80.9524, 14.2857 },
-};
-
-static const StrokeRec char99[] = {
- { 14, char99_stroke0 },
-};
-
-/* char: 100 'd' */
-
-static const CoordRec char100_stroke0[] = {
- { 80.9524, 100 },
- { 80.9524, 0 },
-};
-
-static const CoordRec char100_stroke1[] = {
- { 80.9524, 52.381 },
- { 71.4285, 61.9048 },
- { 61.9047, 66.6667 },
- { 47.619, 66.6667 },
- { 38.0952, 61.9048 },
- { 28.5714, 52.381 },
- { 23.8095, 38.0952 },
- { 23.8095, 28.5714 },
- { 28.5714, 14.2857 },
- { 38.0952, 4.7619 },
- { 47.619, 0 },
- { 61.9047, 0 },
- { 71.4285, 4.7619 },
- { 80.9524, 14.2857 },
-};
-
-static const StrokeRec char100[] = {
- { 2, char100_stroke0 },
- { 14, char100_stroke1 },
-};
-
-/* char: 101 'e' */
-
-static const CoordRec char101_stroke0[] = {
- { 23.8095, 38.0952 },
- { 80.9524, 38.0952 },
- { 80.9524, 47.619 },
- { 76.1905, 57.1429 },
- { 71.4285, 61.9048 },
- { 61.9047, 66.6667 },
- { 47.619, 66.6667 },
- { 38.0952, 61.9048 },
- { 28.5714, 52.381 },
- { 23.8095, 38.0952 },
- { 23.8095, 28.5714 },
- { 28.5714, 14.2857 },
- { 38.0952, 4.7619 },
- { 47.619, 0 },
- { 61.9047, 0 },
- { 71.4285, 4.7619 },
- { 80.9524, 14.2857 },
-};
-
-static const StrokeRec char101[] = {
- { 17, char101_stroke0 },
-};
-
-/* char: 102 'f' */
-
-static const CoordRec char102_stroke0[] = {
- { 71.4286, 100 },
- { 61.9048, 100 },
- { 52.381, 95.2381 },
- { 47.6191, 80.9524 },
- { 47.6191, 0 },
-};
-
-static const CoordRec char102_stroke1[] = {
- { 33.3334, 66.6667 },
- { 66.6667, 66.6667 },
-};
-
-static const StrokeRec char102[] = {
- { 5, char102_stroke0 },
- { 2, char102_stroke1 },
-};
-
-/* char: 103 'g' */
-
-static const CoordRec char103_stroke0[] = {
- { 80.9524, 66.6667 },
- { 80.9524, -9.5238 },
- { 76.1905, -23.8095 },
- { 71.4285, -28.5714 },
- { 61.9047, -33.3333 },
- { 47.619, -33.3333 },
- { 38.0952, -28.5714 },
-};
-
-static const CoordRec char103_stroke1[] = {
- { 80.9524, 52.381 },
- { 71.4285, 61.9048 },
- { 61.9047, 66.6667 },
- { 47.619, 66.6667 },
- { 38.0952, 61.9048 },
- { 28.5714, 52.381 },
- { 23.8095, 38.0952 },
- { 23.8095, 28.5714 },
- { 28.5714, 14.2857 },
- { 38.0952, 4.7619 },
- { 47.619, 0 },
- { 61.9047, 0 },
- { 71.4285, 4.7619 },
- { 80.9524, 14.2857 },
-};
-
-static const StrokeRec char103[] = {
- { 7, char103_stroke0 },
- { 14, char103_stroke1 },
-};
-
-/* char: 104 'h' */
-
-static const CoordRec char104_stroke0[] = {
- { 26.1905, 100 },
- { 26.1905, 0 },
-};
-
-static const CoordRec char104_stroke1[] = {
- { 26.1905, 47.619 },
- { 40.4762, 61.9048 },
- { 50, 66.6667 },
- { 64.2857, 66.6667 },
- { 73.8095, 61.9048 },
- { 78.5715, 47.619 },
- { 78.5715, 0 },
-};
-
-static const StrokeRec char104[] = {
- { 2, char104_stroke0 },
- { 7, char104_stroke1 },
-};
-
-/* char: 105 'i' */
-
-static const CoordRec char105_stroke0[] = {
- { 47.6191, 100 },
- { 52.381, 95.2381 },
- { 57.1429, 100 },
- { 52.381, 104.762 },
- { 47.6191, 100 },
-};
-
-static const CoordRec char105_stroke1[] = {
- { 52.381, 66.6667 },
- { 52.381, 0 },
-};
-
-static const StrokeRec char105[] = {
- { 5, char105_stroke0 },
- { 2, char105_stroke1 },
-};
-
-/* char: 106 'j' */
-
-static const CoordRec char106_stroke0[] = {
- { 57.1429, 100 },
- { 61.9048, 95.2381 },
- { 66.6667, 100 },
- { 61.9048, 104.762 },
- { 57.1429, 100 },
-};
-
-static const CoordRec char106_stroke1[] = {
- { 61.9048, 66.6667 },
- { 61.9048, -14.2857 },
- { 57.1429, -28.5714 },
- { 47.6191, -33.3333 },
- { 38.0953, -33.3333 },
-};
-
-static const StrokeRec char106[] = {
- { 5, char106_stroke0 },
- { 5, char106_stroke1 },
-};
-
-/* char: 107 'k' */
-
-static const CoordRec char107_stroke0[] = {
- { 26.1905, 100 },
- { 26.1905, 0 },
-};
-
-static const CoordRec char107_stroke1[] = {
- { 73.8095, 66.6667 },
- { 26.1905, 19.0476 },
-};
-
-static const CoordRec char107_stroke2[] = {
- { 45.2381, 38.0952 },
- { 78.5715, 0 },
-};
-
-static const StrokeRec char107[] = {
- { 2, char107_stroke0 },
- { 2, char107_stroke1 },
- { 2, char107_stroke2 },
-};
-
-/* char: 108 'l' */
-
-static const CoordRec char108_stroke0[] = {
- { 52.381, 100 },
- { 52.381, 0 },
-};
-
-static const StrokeRec char108[] = {
- { 2, char108_stroke0 },
-};
-
-/* char: 109 'm' */
-
-static const CoordRec char109_stroke0[] = {
- { 0, 66.6667 },
- { 0, 0 },
-};
-
-static const CoordRec char109_stroke1[] = {
- { 0, 47.619 },
- { 14.2857, 61.9048 },
- { 23.8095, 66.6667 },
- { 38.0952, 66.6667 },
- { 47.619, 61.9048 },
- { 52.381, 47.619 },
- { 52.381, 0 },
-};
-
-static const CoordRec char109_stroke2[] = {
- { 52.381, 47.619 },
- { 66.6667, 61.9048 },
- { 76.1905, 66.6667 },
- { 90.4762, 66.6667 },
- { 100, 61.9048 },
- { 104.762, 47.619 },
- { 104.762, 0 },
-};
-
-static const StrokeRec char109[] = {
- { 2, char109_stroke0 },
- { 7, char109_stroke1 },
- { 7, char109_stroke2 },
-};
-
-/* char: 110 'n' */
-
-static const CoordRec char110_stroke0[] = {
- { 26.1905, 66.6667 },
- { 26.1905, 0 },
-};
-
-static const CoordRec char110_stroke1[] = {
- { 26.1905, 47.619 },
- { 40.4762, 61.9048 },
- { 50, 66.6667 },
- { 64.2857, 66.6667 },
- { 73.8095, 61.9048 },
- { 78.5715, 47.619 },
- { 78.5715, 0 },
-};
-
-static const StrokeRec char110[] = {
- { 2, char110_stroke0 },
- { 7, char110_stroke1 },
-};
-
-/* char: 111 'o' */
-
-static const CoordRec char111_stroke0[] = {
- { 45.2381, 66.6667 },
- { 35.7143, 61.9048 },
- { 26.1905, 52.381 },
- { 21.4286, 38.0952 },
- { 21.4286, 28.5714 },
- { 26.1905, 14.2857 },
- { 35.7143, 4.7619 },
- { 45.2381, 0 },
- { 59.5238, 0 },
- { 69.0476, 4.7619 },
- { 78.5714, 14.2857 },
- { 83.3334, 28.5714 },
- { 83.3334, 38.0952 },
- { 78.5714, 52.381 },
- { 69.0476, 61.9048 },
- { 59.5238, 66.6667 },
- { 45.2381, 66.6667 },
-};
-
-static const StrokeRec char111[] = {
- { 17, char111_stroke0 },
-};
-
-/* char: 112 'p' */
-
-static const CoordRec char112_stroke0[] = {
- { 23.8095, 66.6667 },
- { 23.8095, -33.3333 },
-};
-
-static const CoordRec char112_stroke1[] = {
- { 23.8095, 52.381 },
- { 33.3333, 61.9048 },
- { 42.8571, 66.6667 },
- { 57.1428, 66.6667 },
- { 66.6666, 61.9048 },
- { 76.1905, 52.381 },
- { 80.9524, 38.0952 },
- { 80.9524, 28.5714 },
- { 76.1905, 14.2857 },
- { 66.6666, 4.7619 },
- { 57.1428, 0 },
- { 42.8571, 0 },
- { 33.3333, 4.7619 },
- { 23.8095, 14.2857 },
-};
-
-static const StrokeRec char112[] = {
- { 2, char112_stroke0 },
- { 14, char112_stroke1 },
-};
-
-/* char: 113 'q' */
-
-static const CoordRec char113_stroke0[] = {
- { 80.9524, 66.6667 },
- { 80.9524, -33.3333 },
-};
-
-static const CoordRec char113_stroke1[] = {
- { 80.9524, 52.381 },
- { 71.4285, 61.9048 },
- { 61.9047, 66.6667 },
- { 47.619, 66.6667 },
- { 38.0952, 61.9048 },
- { 28.5714, 52.381 },
- { 23.8095, 38.0952 },
- { 23.8095, 28.5714 },
- { 28.5714, 14.2857 },
- { 38.0952, 4.7619 },
- { 47.619, 0 },
- { 61.9047, 0 },
- { 71.4285, 4.7619 },
- { 80.9524, 14.2857 },
-};
-
-static const StrokeRec char113[] = {
- { 2, char113_stroke0 },
- { 14, char113_stroke1 },
-};
-
-/* char: 114 'r' */
-
-static const CoordRec char114_stroke0[] = {
- { 33.3334, 66.6667 },
- { 33.3334, 0 },
-};
-
-static const CoordRec char114_stroke1[] = {
- { 33.3334, 38.0952 },
- { 38.0953, 52.381 },
- { 47.6191, 61.9048 },
- { 57.1429, 66.6667 },
- { 71.4286, 66.6667 },
-};
-
-static const StrokeRec char114[] = {
- { 2, char114_stroke0 },
- { 5, char114_stroke1 },
-};
-
-/* char: 115 's' */
-
-static const CoordRec char115_stroke0[] = {
- { 78.5715, 52.381 },
- { 73.8095, 61.9048 },
- { 59.5238, 66.6667 },
- { 45.2381, 66.6667 },
- { 30.9524, 61.9048 },
- { 26.1905, 52.381 },
- { 30.9524, 42.8571 },
- { 40.4762, 38.0952 },
- { 64.2857, 33.3333 },
- { 73.8095, 28.5714 },
- { 78.5715, 19.0476 },
- { 78.5715, 14.2857 },
- { 73.8095, 4.7619 },
- { 59.5238, 0 },
- { 45.2381, 0 },
- { 30.9524, 4.7619 },
- { 26.1905, 14.2857 },
-};
-
-static const StrokeRec char115[] = {
- { 17, char115_stroke0 },
-};
-
-/* char: 116 't' */
-
-static const CoordRec char116_stroke0[] = {
- { 47.6191, 100 },
- { 47.6191, 19.0476 },
- { 52.381, 4.7619 },
- { 61.9048, 0 },
- { 71.4286, 0 },
-};
-
-static const CoordRec char116_stroke1[] = {
- { 33.3334, 66.6667 },
- { 66.6667, 66.6667 },
-};
-
-static const StrokeRec char116[] = {
- { 5, char116_stroke0 },
- { 2, char116_stroke1 },
-};
-
-/* char: 117 'u' */
-
-static const CoordRec char117_stroke0[] = {
- { 26.1905, 66.6667 },
- { 26.1905, 19.0476 },
- { 30.9524, 4.7619 },
- { 40.4762, 0 },
- { 54.7619, 0 },
- { 64.2857, 4.7619 },
- { 78.5715, 19.0476 },
-};
-
-static const CoordRec char117_stroke1[] = {
- { 78.5715, 66.6667 },
- { 78.5715, 0 },
-};
-
-static const StrokeRec char117[] = {
- { 7, char117_stroke0 },
- { 2, char117_stroke1 },
-};
-
-/* char: 118 'v' */
-
-static const CoordRec char118_stroke0[] = {
- { 23.8095, 66.6667 },
- { 52.3809, 0 },
-};
-
-static const CoordRec char118_stroke1[] = {
- { 80.9524, 66.6667 },
- { 52.3809, 0 },
-};
-
-static const StrokeRec char118[] = {
- { 2, char118_stroke0 },
- { 2, char118_stroke1 },
-};
-
-/* char: 119 'w' */
-
-static const CoordRec char119_stroke0[] = {
- { 14.2857, 66.6667 },
- { 33.3333, 0 },
-};
-
-static const CoordRec char119_stroke1[] = {
- { 52.3809, 66.6667 },
- { 33.3333, 0 },
-};
-
-static const CoordRec char119_stroke2[] = {
- { 52.3809, 66.6667 },
- { 71.4286, 0 },
-};
-
-static const CoordRec char119_stroke3[] = {
- { 90.4762, 66.6667 },
- { 71.4286, 0 },
-};
-
-static const StrokeRec char119[] = {
- { 2, char119_stroke0 },
- { 2, char119_stroke1 },
- { 2, char119_stroke2 },
- { 2, char119_stroke3 },
-};
-
-/* char: 120 'x' */
-
-static const CoordRec char120_stroke0[] = {
- { 26.1905, 66.6667 },
- { 78.5715, 0 },
-};
-
-static const CoordRec char120_stroke1[] = {
- { 78.5715, 66.6667 },
- { 26.1905, 0 },
-};
-
-static const StrokeRec char120[] = {
- { 2, char120_stroke0 },
- { 2, char120_stroke1 },
-};
-
-/* char: 121 'y' */
-
-static const CoordRec char121_stroke0[] = {
- { 26.1905, 66.6667 },
- { 54.7619, 0 },
-};
-
-static const CoordRec char121_stroke1[] = {
- { 83.3334, 66.6667 },
- { 54.7619, 0 },
- { 45.2381, -19.0476 },
- { 35.7143, -28.5714 },
- { 26.1905, -33.3333 },
- { 21.4286, -33.3333 },
-};
-
-static const StrokeRec char121[] = {
- { 2, char121_stroke0 },
- { 6, char121_stroke1 },
-};
-
-/* char: 122 'z' */
-
-static const CoordRec char122_stroke0[] = {
- { 78.5715, 66.6667 },
- { 26.1905, 0 },
-};
-
-static const CoordRec char122_stroke1[] = {
- { 26.1905, 66.6667 },
- { 78.5715, 66.6667 },
-};
-
-static const CoordRec char122_stroke2[] = {
- { 26.1905, 0 },
- { 78.5715, 0 },
-};
-
-static const StrokeRec char122[] = {
- { 2, char122_stroke0 },
- { 2, char122_stroke1 },
- { 2, char122_stroke2 },
-};
-
-/* char: 123 '{' */
-
-static const CoordRec char123_stroke0[] = {
- { 64.2857, 119.048 },
- { 54.7619, 114.286 },
- { 50, 109.524 },
- { 45.2381, 100 },
- { 45.2381, 90.4762 },
- { 50, 80.9524 },
- { 54.7619, 76.1905 },
- { 59.5238, 66.6667 },
- { 59.5238, 57.1429 },
- { 50, 47.619 },
-};
-
-static const CoordRec char123_stroke1[] = {
- { 54.7619, 114.286 },
- { 50, 104.762 },
- { 50, 95.2381 },
- { 54.7619, 85.7143 },
- { 59.5238, 80.9524 },
- { 64.2857, 71.4286 },
- { 64.2857, 61.9048 },
- { 59.5238, 52.381 },
- { 40.4762, 42.8571 },
- { 59.5238, 33.3333 },
- { 64.2857, 23.8095 },
- { 64.2857, 14.2857 },
- { 59.5238, 4.7619 },
- { 54.7619, 0 },
- { 50, -9.5238 },
- { 50, -19.0476 },
- { 54.7619, -28.5714 },
-};
-
-static const CoordRec char123_stroke2[] = {
- { 50, 38.0952 },
- { 59.5238, 28.5714 },
- { 59.5238, 19.0476 },
- { 54.7619, 9.5238 },
- { 50, 4.7619 },
- { 45.2381, -4.7619 },
- { 45.2381, -14.2857 },
- { 50, -23.8095 },
- { 54.7619, -28.5714 },
- { 64.2857, -33.3333 },
-};
-
-static const StrokeRec char123[] = {
- { 10, char123_stroke0 },
- { 17, char123_stroke1 },
- { 10, char123_stroke2 },
-};
-
-/* char: 124 '|' */
-
-static const CoordRec char124_stroke0[] = {
- { 52.381, 119.048 },
- { 52.381, -33.3333 },
-};
-
-static const StrokeRec char124[] = {
- { 2, char124_stroke0 },
-};
-
-/* char: 125 '}' */
-
-static const CoordRec char125_stroke0[] = {
- { 40.4762, 119.048 },
- { 50, 114.286 },
- { 54.7619, 109.524 },
- { 59.5238, 100 },
- { 59.5238, 90.4762 },
- { 54.7619, 80.9524 },
- { 50, 76.1905 },
- { 45.2381, 66.6667 },
- { 45.2381, 57.1429 },
- { 54.7619, 47.619 },
-};
-
-static const CoordRec char125_stroke1[] = {
- { 50, 114.286 },
- { 54.7619, 104.762 },
- { 54.7619, 95.2381 },
- { 50, 85.7143 },
- { 45.2381, 80.9524 },
- { 40.4762, 71.4286 },
- { 40.4762, 61.9048 },
- { 45.2381, 52.381 },
- { 64.2857, 42.8571 },
- { 45.2381, 33.3333 },
- { 40.4762, 23.8095 },
- { 40.4762, 14.2857 },
- { 45.2381, 4.7619 },
- { 50, 0 },
- { 54.7619, -9.5238 },
- { 54.7619, -19.0476 },
- { 50, -28.5714 },
-};
-
-static const CoordRec char125_stroke2[] = {
- { 54.7619, 38.0952 },
- { 45.2381, 28.5714 },
- { 45.2381, 19.0476 },
- { 50, 9.5238 },
- { 54.7619, 4.7619 },
- { 59.5238, -4.7619 },
- { 59.5238, -14.2857 },
- { 54.7619, -23.8095 },
- { 50, -28.5714 },
- { 40.4762, -33.3333 },
-};
-
-static const StrokeRec char125[] = {
- { 10, char125_stroke0 },
- { 17, char125_stroke1 },
- { 10, char125_stroke2 },
-};
-
-/* char: 126 '~' */
-
-static const CoordRec char126_stroke0[] = {
- { 9.5238, 28.5714 },
- { 9.5238, 38.0952 },
- { 14.2857, 52.381 },
- { 23.8095, 57.1429 },
- { 33.3333, 57.1429 },
- { 42.8571, 52.381 },
- { 61.9048, 38.0952 },
- { 71.4286, 33.3333 },
- { 80.9524, 33.3333 },
- { 90.4762, 38.0952 },
- { 95.2381, 47.619 },
-};
-
-static const CoordRec char126_stroke1[] = {
- { 9.5238, 38.0952 },
- { 14.2857, 47.619 },
- { 23.8095, 52.381 },
- { 33.3333, 52.381 },
- { 42.8571, 47.619 },
- { 61.9048, 33.3333 },
- { 71.4286, 28.5714 },
- { 80.9524, 28.5714 },
- { 90.4762, 33.3333 },
- { 95.2381, 47.619 },
- { 95.2381, 57.1429 },
-};
-
-static const StrokeRec char126[] = {
- { 11, char126_stroke0 },
- { 11, char126_stroke1 },
-};
-
-/* char: 127 */
-
-static const CoordRec char127_stroke0[] = {
- { 71.4286, 100 },
- { 33.3333, -33.3333 },
-};
-
-static const CoordRec char127_stroke1[] = {
- { 47.619, 66.6667 },
- { 33.3333, 61.9048 },
- { 23.8095, 52.381 },
- { 19.0476, 38.0952 },
- { 19.0476, 23.8095 },
- { 23.8095, 14.2857 },
- { 33.3333, 4.7619 },
- { 47.619, 0 },
- { 57.1428, 0 },
- { 71.4286, 4.7619 },
- { 80.9524, 14.2857 },
- { 85.7143, 28.5714 },
- { 85.7143, 42.8571 },
- { 80.9524, 52.381 },
- { 71.4286, 61.9048 },
- { 57.1428, 66.6667 },
- { 47.619, 66.6667 },
-};
-
-static const StrokeRec char127[] = {
- { 2, char127_stroke0 },
- { 17, char127_stroke1 },
-};
-
-static const StrokeCharRec chars[] = {
- { 0, /* char0 */ 0, 0, 0 },
- { 0, /* char1 */ 0, 0, 0 },
- { 0, /* char2 */ 0, 0, 0 },
- { 0, /* char3 */ 0, 0, 0 },
- { 0, /* char4 */ 0, 0, 0 },
- { 0, /* char5 */ 0, 0, 0 },
- { 0, /* char6 */ 0, 0, 0 },
- { 0, /* char7 */ 0, 0, 0 },
- { 0, /* char8 */ 0, 0, 0 },
- { 0, /* char9 */ 0, 0, 0 },
- { 0, /* char10 */ 0, 0, 0 },
- { 0, /* char11 */ 0, 0, 0 },
- { 0, /* char12 */ 0, 0, 0 },
- { 0, /* char13 */ 0, 0, 0 },
- { 0, /* char14 */ 0, 0, 0 },
- { 0, /* char15 */ 0, 0, 0 },
- { 0, /* char16 */ 0, 0, 0 },
- { 0, /* char17 */ 0, 0, 0 },
- { 0, /* char18 */ 0, 0, 0 },
- { 0, /* char19 */ 0, 0, 0 },
- { 0, /* char20 */ 0, 0, 0 },
- { 0, /* char21 */ 0, 0, 0 },
- { 0, /* char22 */ 0, 0, 0 },
- { 0, /* char23 */ 0, 0, 0 },
- { 0, /* char24 */ 0, 0, 0 },
- { 0, /* char25 */ 0, 0, 0 },
- { 0, /* char26 */ 0, 0, 0 },
- { 0, /* char27 */ 0, 0, 0 },
- { 0, /* char28 */ 0, 0, 0 },
- { 0, /* char29 */ 0, 0, 0 },
- { 0, /* char30 */ 0, 0, 0 },
- { 0, /* char31 */ 0, 0, 0 },
- { 0, /* char32 */ 0, 52.381, 104.762 },
- { 2, char33, 52.381, 104.762 },
- { 2, char34, 52.381, 104.762 },
- { 4, char35, 52.381, 104.762 },
- { 3, char36, 52.381, 104.762 },
- { 3, char37, 52.381, 104.762 },
- { 1, char38, 52.381, 104.762 },
- { 1, char39, 52.381, 104.762 },
- { 1, char40, 52.381, 104.762 },
- { 1, char41, 52.381, 104.762 },
- { 3, char42, 52.381, 104.762 },
- { 2, char43, 52.381, 104.762 },
- { 1, char44, 52.381, 104.762 },
- { 1, char45, 52.381, 104.762 },
- { 1, char46, 52.381, 104.762 },
- { 1, char47, 52.381, 104.762 },
- { 1, char48, 52.381, 104.762 },
- { 1, char49, 52.381, 104.762 },
- { 1, char50, 52.381, 104.762 },
- { 1, char51, 52.381, 104.762 },
- { 2, char52, 52.381, 104.762 },
- { 1, char53, 52.381, 104.762 },
- { 1, char54, 52.381, 104.762 },
- { 2, char55, 52.381, 104.762 },
- { 1, char56, 52.381, 104.762 },
- { 1, char57, 52.381, 104.762 },
- { 2, char58, 52.381, 104.762 },
- { 2, char59, 52.381, 104.762 },
- { 1, char60, 52.381, 104.762 },
- { 2, char61, 52.381, 104.762 },
- { 1, char62, 52.381, 104.762 },
- { 2, char63, 52.381, 104.762 },
- { 2, char64, 52.381, 104.762 },
- { 3, char65, 52.381, 104.762 },
- { 3, char66, 52.381, 104.762 },
- { 1, char67, 52.381, 104.762 },
- { 2, char68, 52.381, 104.762 },
- { 4, char69, 52.381, 104.762 },
- { 3, char70, 52.381, 104.762 },
- { 2, char71, 52.381, 104.762 },
- { 3, char72, 52.381, 104.762 },
- { 1, char73, 52.381, 104.762 },
- { 1, char74, 52.381, 104.762 },
- { 3, char75, 52.381, 104.762 },
- { 2, char76, 52.381, 104.762 },
- { 4, char77, 52.381, 104.762 },
- { 3, char78, 52.381, 104.762 },
- { 1, char79, 52.381, 104.762 },
- { 2, char80, 52.381, 104.762 },
- { 2, char81, 52.381, 104.762 },
- { 3, char82, 52.381, 104.762 },
- { 1, char83, 52.381, 104.762 },
- { 2, char84, 52.381, 104.762 },
- { 1, char85, 52.381, 104.762 },
- { 2, char86, 52.381, 104.762 },
- { 4, char87, 52.381, 104.762 },
- { 2, char88, 52.381, 104.762 },
- { 2, char89, 52.381, 104.762 },
- { 3, char90, 52.381, 104.762 },
- { 4, char91, 52.381, 104.762 },
- { 1, char92, 52.381, 104.762 },
- { 4, char93, 52.381, 104.762 },
- { 2, char94, 52.381, 104.762 },
- { 1, char95, 52.381, 104.762 },
- { 2, char96, 52.381, 104.762 },
- { 2, char97, 52.381, 104.762 },
- { 2, char98, 52.381, 104.762 },
- { 1, char99, 52.381, 104.762 },
- { 2, char100, 52.381, 104.762 },
- { 1, char101, 52.381, 104.762 },
- { 2, char102, 52.381, 104.762 },
- { 2, char103, 52.381, 104.762 },
- { 2, char104, 52.381, 104.762 },
- { 2, char105, 52.381, 104.762 },
- { 2, char106, 52.381, 104.762 },
- { 3, char107, 52.381, 104.762 },
- { 1, char108, 52.381, 104.762 },
- { 3, char109, 52.381, 104.762 },
- { 2, char110, 52.381, 104.762 },
- { 1, char111, 52.381, 104.762 },
- { 2, char112, 52.381, 104.762 },
- { 2, char113, 52.381, 104.762 },
- { 2, char114, 52.381, 104.762 },
- { 1, char115, 52.381, 104.762 },
- { 2, char116, 52.381, 104.762 },
- { 2, char117, 52.381, 104.762 },
- { 2, char118, 52.381, 104.762 },
- { 4, char119, 52.381, 104.762 },
- { 2, char120, 52.381, 104.762 },
- { 2, char121, 52.381, 104.762 },
- { 3, char122, 52.381, 104.762 },
- { 3, char123, 52.381, 104.762 },
- { 1, char124, 52.381, 104.762 },
- { 3, char125, 52.381, 104.762 },
- { 2, char126, 52.381, 104.762 },
- { 2, char127, 52.381, 104.762 },
-};
-
-StrokeFontRec glutStrokeMonoRoman = { "Roman", 128, chars, 119.048, -33.3333 };
-
diff --git a/src/glut/beos/glut_roman.c b/src/glut/beos/glut_roman.c
deleted file mode 100644
index af2b4ec956..0000000000
--- a/src/glut/beos/glut_roman.c
+++ /dev/null
@@ -1,2451 +0,0 @@
-
-/* GENERATED FILE -- DO NOT MODIFY */
-
-#include "glutstroke.h"
-
-/* char: 33 '!' */
-
-static const CoordRec char33_stroke0[] = {
- { 13.3819, 100 },
- { 13.3819, 33.3333 },
-};
-
-static const CoordRec char33_stroke1[] = {
- { 13.3819, 9.5238 },
- { 8.62, 4.7619 },
- { 13.3819, 0 },
- { 18.1438, 4.7619 },
- { 13.3819, 9.5238 },
-};
-
-static const StrokeRec char33[] = {
- { 2, char33_stroke0 },
- { 5, char33_stroke1 },
-};
-
-/* char: 34 '"' */
-
-static const CoordRec char34_stroke0[] = {
- { 4.02, 100 },
- { 4.02, 66.6667 },
-};
-
-static const CoordRec char34_stroke1[] = {
- { 42.1152, 100 },
- { 42.1152, 66.6667 },
-};
-
-static const StrokeRec char34[] = {
- { 2, char34_stroke0 },
- { 2, char34_stroke1 },
-};
-
-/* char: 35 '#' */
-
-static const CoordRec char35_stroke0[] = {
- { 41.2952, 119.048 },
- { 7.9619, -33.3333 },
-};
-
-static const CoordRec char35_stroke1[] = {
- { 69.8667, 119.048 },
- { 36.5333, -33.3333 },
-};
-
-static const CoordRec char35_stroke2[] = {
- { 7.9619, 57.1429 },
- { 74.6286, 57.1429 },
-};
-
-static const CoordRec char35_stroke3[] = {
- { 3.2, 28.5714 },
- { 69.8667, 28.5714 },
-};
-
-static const StrokeRec char35[] = {
- { 2, char35_stroke0 },
- { 2, char35_stroke1 },
- { 2, char35_stroke2 },
- { 2, char35_stroke3 },
-};
-
-/* char: 36 '$' */
-
-static const CoordRec char36_stroke0[] = {
- { 28.6295, 119.048 },
- { 28.6295, -19.0476 },
-};
-
-static const CoordRec char36_stroke1[] = {
- { 47.6771, 119.048 },
- { 47.6771, -19.0476 },
-};
-
-static const CoordRec char36_stroke2[] = {
- { 71.4867, 85.7143 },
- { 61.9629, 95.2381 },
- { 47.6771, 100 },
- { 28.6295, 100 },
- { 14.3438, 95.2381 },
- { 4.82, 85.7143 },
- { 4.82, 76.1905 },
- { 9.5819, 66.6667 },
- { 14.3438, 61.9048 },
- { 23.8676, 57.1429 },
- { 52.439, 47.619 },
- { 61.9629, 42.8571 },
- { 66.7248, 38.0952 },
- { 71.4867, 28.5714 },
- { 71.4867, 14.2857 },
- { 61.9629, 4.7619 },
- { 47.6771, 0 },
- { 28.6295, 0 },
- { 14.3438, 4.7619 },
- { 4.82, 14.2857 },
-};
-
-static const StrokeRec char36[] = {
- { 2, char36_stroke0 },
- { 2, char36_stroke1 },
- { 20, char36_stroke2 },
-};
-
-/* char: 37 '%' */
-
-static const CoordRec char37_stroke0[] = {
- { 92.0743, 100 },
- { 6.36, 0 },
-};
-
-static const CoordRec char37_stroke1[] = {
- { 30.1695, 100 },
- { 39.6933, 90.4762 },
- { 39.6933, 80.9524 },
- { 34.9314, 71.4286 },
- { 25.4076, 66.6667 },
- { 15.8838, 66.6667 },
- { 6.36, 76.1905 },
- { 6.36, 85.7143 },
- { 11.1219, 95.2381 },
- { 20.6457, 100 },
- { 30.1695, 100 },
- { 39.6933, 95.2381 },
- { 53.979, 90.4762 },
- { 68.2648, 90.4762 },
- { 82.5505, 95.2381 },
- { 92.0743, 100 },
-};
-
-static const CoordRec char37_stroke2[] = {
- { 73.0267, 33.3333 },
- { 63.5029, 28.5714 },
- { 58.741, 19.0476 },
- { 58.741, 9.5238 },
- { 68.2648, 0 },
- { 77.7886, 0 },
- { 87.3124, 4.7619 },
- { 92.0743, 14.2857 },
- { 92.0743, 23.8095 },
- { 82.5505, 33.3333 },
- { 73.0267, 33.3333 },
-};
-
-static const StrokeRec char37[] = {
- { 2, char37_stroke0 },
- { 16, char37_stroke1 },
- { 11, char37_stroke2 },
-};
-
-/* char: 38 '&' */
-
-static const CoordRec char38_stroke0[] = {
- { 101.218, 57.1429 },
- { 101.218, 61.9048 },
- { 96.4562, 66.6667 },
- { 91.6943, 66.6667 },
- { 86.9324, 61.9048 },
- { 82.1705, 52.381 },
- { 72.6467, 28.5714 },
- { 63.1229, 14.2857 },
- { 53.599, 4.7619 },
- { 44.0752, 0 },
- { 25.0276, 0 },
- { 15.5038, 4.7619 },
- { 10.7419, 9.5238 },
- { 5.98, 19.0476 },
- { 5.98, 28.5714 },
- { 10.7419, 38.0952 },
- { 15.5038, 42.8571 },
- { 48.8371, 61.9048 },
- { 53.599, 66.6667 },
- { 58.361, 76.1905 },
- { 58.361, 85.7143 },
- { 53.599, 95.2381 },
- { 44.0752, 100 },
- { 34.5514, 95.2381 },
- { 29.7895, 85.7143 },
- { 29.7895, 76.1905 },
- { 34.5514, 61.9048 },
- { 44.0752, 47.619 },
- { 67.8848, 14.2857 },
- { 77.4086, 4.7619 },
- { 86.9324, 0 },
- { 96.4562, 0 },
- { 101.218, 4.7619 },
- { 101.218, 9.5238 },
-};
-
-static const StrokeRec char38[] = {
- { 34, char38_stroke0 },
-};
-
-/* char: 39 ''' */
-
-static const CoordRec char39_stroke0[] = {
- { 4.44, 100 },
- { 4.44, 66.6667 },
-};
-
-static const StrokeRec char39[] = {
- { 2, char39_stroke0 },
-};
-
-/* char: 40 '(' */
-
-static const CoordRec char40_stroke0[] = {
- { 40.9133, 119.048 },
- { 31.3895, 109.524 },
- { 21.8657, 95.2381 },
- { 12.3419, 76.1905 },
- { 7.58, 52.381 },
- { 7.58, 33.3333 },
- { 12.3419, 9.5238 },
- { 21.8657, -9.5238 },
- { 31.3895, -23.8095 },
- { 40.9133, -33.3333 },
-};
-
-static const StrokeRec char40[] = {
- { 10, char40_stroke0 },
-};
-
-/* char: 41 ')' */
-
-static const CoordRec char41_stroke0[] = {
- { 5.28, 119.048 },
- { 14.8038, 109.524 },
- { 24.3276, 95.2381 },
- { 33.8514, 76.1905 },
- { 38.6133, 52.381 },
- { 38.6133, 33.3333 },
- { 33.8514, 9.5238 },
- { 24.3276, -9.5238 },
- { 14.8038, -23.8095 },
- { 5.28, -33.3333 },
-};
-
-static const StrokeRec char41[] = {
- { 10, char41_stroke0 },
-};
-
-/* char: 42 '*' */
-
-static const CoordRec char42_stroke0[] = {
- { 30.7695, 71.4286 },
- { 30.7695, 14.2857 },
-};
-
-static const CoordRec char42_stroke1[] = {
- { 6.96, 57.1429 },
- { 54.579, 28.5714 },
-};
-
-static const CoordRec char42_stroke2[] = {
- { 54.579, 57.1429 },
- { 6.96, 28.5714 },
-};
-
-static const StrokeRec char42[] = {
- { 2, char42_stroke0 },
- { 2, char42_stroke1 },
- { 2, char42_stroke2 },
-};
-
-/* char: 43 '+' */
-
-static const CoordRec char43_stroke0[] = {
- { 48.8371, 85.7143 },
- { 48.8371, 0 },
-};
-
-static const CoordRec char43_stroke1[] = {
- { 5.98, 42.8571 },
- { 91.6943, 42.8571 },
-};
-
-static const StrokeRec char43[] = {
- { 2, char43_stroke0 },
- { 2, char43_stroke1 },
-};
-
-/* char: 44 ',' */
-
-static const CoordRec char44_stroke0[] = {
- { 18.2838, 4.7619 },
- { 13.5219, 0 },
- { 8.76, 4.7619 },
- { 13.5219, 9.5238 },
- { 18.2838, 4.7619 },
- { 18.2838, -4.7619 },
- { 13.5219, -14.2857 },
- { 8.76, -19.0476 },
-};
-
-static const StrokeRec char44[] = {
- { 8, char44_stroke0 },
-};
-
-/* char: 45 '-' */
-
-static const CoordRec char45_stroke0[] = {
- { 7.38, 42.8571 },
- { 93.0943, 42.8571 },
-};
-
-static const StrokeRec char45[] = {
- { 2, char45_stroke0 },
-};
-
-/* char: 46 '.' */
-
-static const CoordRec char46_stroke0[] = {
- { 13.1019, 9.5238 },
- { 8.34, 4.7619 },
- { 13.1019, 0 },
- { 17.8638, 4.7619 },
- { 13.1019, 9.5238 },
-};
-
-static const StrokeRec char46[] = {
- { 5, char46_stroke0 },
-};
-
-/* char: 47 '/' */
-
-static const CoordRec char47_stroke0[] = {
- { 7.24, -14.2857 },
- { 73.9067, 100 },
-};
-
-static const StrokeRec char47[] = {
- { 2, char47_stroke0 },
-};
-
-/* char: 48 '0' */
-
-static const CoordRec char48_stroke0[] = {
- { 33.5514, 100 },
- { 19.2657, 95.2381 },
- { 9.7419, 80.9524 },
- { 4.98, 57.1429 },
- { 4.98, 42.8571 },
- { 9.7419, 19.0476 },
- { 19.2657, 4.7619 },
- { 33.5514, 0 },
- { 43.0752, 0 },
- { 57.361, 4.7619 },
- { 66.8848, 19.0476 },
- { 71.6467, 42.8571 },
- { 71.6467, 57.1429 },
- { 66.8848, 80.9524 },
- { 57.361, 95.2381 },
- { 43.0752, 100 },
- { 33.5514, 100 },
-};
-
-static const StrokeRec char48[] = {
- { 17, char48_stroke0 },
-};
-
-/* char: 49 '1' */
-
-static const CoordRec char49_stroke0[] = {
- { 11.82, 80.9524 },
- { 21.3438, 85.7143 },
- { 35.6295, 100 },
- { 35.6295, 0 },
-};
-
-static const StrokeRec char49[] = {
- { 4, char49_stroke0 },
-};
-
-/* char: 50 '2' */
-
-static const CoordRec char50_stroke0[] = {
- { 10.1819, 76.1905 },
- { 10.1819, 80.9524 },
- { 14.9438, 90.4762 },
- { 19.7057, 95.2381 },
- { 29.2295, 100 },
- { 48.2771, 100 },
- { 57.801, 95.2381 },
- { 62.5629, 90.4762 },
- { 67.3248, 80.9524 },
- { 67.3248, 71.4286 },
- { 62.5629, 61.9048 },
- { 53.039, 47.619 },
- { 5.42, 0 },
- { 72.0867, 0 },
-};
-
-static const StrokeRec char50[] = {
- { 14, char50_stroke0 },
-};
-
-/* char: 51 '3' */
-
-static const CoordRec char51_stroke0[] = {
- { 14.5238, 100 },
- { 66.9048, 100 },
- { 38.3333, 61.9048 },
- { 52.619, 61.9048 },
- { 62.1429, 57.1429 },
- { 66.9048, 52.381 },
- { 71.6667, 38.0952 },
- { 71.6667, 28.5714 },
- { 66.9048, 14.2857 },
- { 57.381, 4.7619 },
- { 43.0952, 0 },
- { 28.8095, 0 },
- { 14.5238, 4.7619 },
- { 9.7619, 9.5238 },
- { 5, 19.0476 },
-};
-
-static const StrokeRec char51[] = {
- { 15, char51_stroke0 },
-};
-
-/* char: 52 '4' */
-
-static const CoordRec char52_stroke0[] = {
- { 51.499, 100 },
- { 3.88, 33.3333 },
- { 75.3086, 33.3333 },
-};
-
-static const CoordRec char52_stroke1[] = {
- { 51.499, 100 },
- { 51.499, 0 },
-};
-
-static const StrokeRec char52[] = {
- { 3, char52_stroke0 },
- { 2, char52_stroke1 },
-};
-
-/* char: 53 '5' */
-
-static const CoordRec char53_stroke0[] = {
- { 62.0029, 100 },
- { 14.3838, 100 },
- { 9.6219, 57.1429 },
- { 14.3838, 61.9048 },
- { 28.6695, 66.6667 },
- { 42.9552, 66.6667 },
- { 57.241, 61.9048 },
- { 66.7648, 52.381 },
- { 71.5267, 38.0952 },
- { 71.5267, 28.5714 },
- { 66.7648, 14.2857 },
- { 57.241, 4.7619 },
- { 42.9552, 0 },
- { 28.6695, 0 },
- { 14.3838, 4.7619 },
- { 9.6219, 9.5238 },
- { 4.86, 19.0476 },
-};
-
-static const StrokeRec char53[] = {
- { 17, char53_stroke0 },
-};
-
-/* char: 54 '6' */
-
-static const CoordRec char54_stroke0[] = {
- { 62.7229, 85.7143 },
- { 57.961, 95.2381 },
- { 43.6752, 100 },
- { 34.1514, 100 },
- { 19.8657, 95.2381 },
- { 10.3419, 80.9524 },
- { 5.58, 57.1429 },
- { 5.58, 33.3333 },
- { 10.3419, 14.2857 },
- { 19.8657, 4.7619 },
- { 34.1514, 0 },
- { 38.9133, 0 },
- { 53.199, 4.7619 },
- { 62.7229, 14.2857 },
- { 67.4848, 28.5714 },
- { 67.4848, 33.3333 },
- { 62.7229, 47.619 },
- { 53.199, 57.1429 },
- { 38.9133, 61.9048 },
- { 34.1514, 61.9048 },
- { 19.8657, 57.1429 },
- { 10.3419, 47.619 },
- { 5.58, 33.3333 },
-};
-
-static const StrokeRec char54[] = {
- { 23, char54_stroke0 },
-};
-
-/* char: 55 '7' */
-
-static const CoordRec char55_stroke0[] = {
- { 72.2267, 100 },
- { 24.6076, 0 },
-};
-
-static const CoordRec char55_stroke1[] = {
- { 5.56, 100 },
- { 72.2267, 100 },
-};
-
-static const StrokeRec char55[] = {
- { 2, char55_stroke0 },
- { 2, char55_stroke1 },
-};
-
-/* char: 56 '8' */
-
-static const CoordRec char56_stroke0[] = {
- { 29.4095, 100 },
- { 15.1238, 95.2381 },
- { 10.3619, 85.7143 },
- { 10.3619, 76.1905 },
- { 15.1238, 66.6667 },
- { 24.6476, 61.9048 },
- { 43.6952, 57.1429 },
- { 57.981, 52.381 },
- { 67.5048, 42.8571 },
- { 72.2667, 33.3333 },
- { 72.2667, 19.0476 },
- { 67.5048, 9.5238 },
- { 62.7429, 4.7619 },
- { 48.4571, 0 },
- { 29.4095, 0 },
- { 15.1238, 4.7619 },
- { 10.3619, 9.5238 },
- { 5.6, 19.0476 },
- { 5.6, 33.3333 },
- { 10.3619, 42.8571 },
- { 19.8857, 52.381 },
- { 34.1714, 57.1429 },
- { 53.219, 61.9048 },
- { 62.7429, 66.6667 },
- { 67.5048, 76.1905 },
- { 67.5048, 85.7143 },
- { 62.7429, 95.2381 },
- { 48.4571, 100 },
- { 29.4095, 100 },
-};
-
-static const StrokeRec char56[] = {
- { 29, char56_stroke0 },
-};
-
-/* char: 57 '9' */
-
-static const CoordRec char57_stroke0[] = {
- { 68.5048, 66.6667 },
- { 63.7429, 52.381 },
- { 54.219, 42.8571 },
- { 39.9333, 38.0952 },
- { 35.1714, 38.0952 },
- { 20.8857, 42.8571 },
- { 11.3619, 52.381 },
- { 6.6, 66.6667 },
- { 6.6, 71.4286 },
- { 11.3619, 85.7143 },
- { 20.8857, 95.2381 },
- { 35.1714, 100 },
- { 39.9333, 100 },
- { 54.219, 95.2381 },
- { 63.7429, 85.7143 },
- { 68.5048, 66.6667 },
- { 68.5048, 42.8571 },
- { 63.7429, 19.0476 },
- { 54.219, 4.7619 },
- { 39.9333, 0 },
- { 30.4095, 0 },
- { 16.1238, 4.7619 },
- { 11.3619, 14.2857 },
-};
-
-static const StrokeRec char57[] = {
- { 23, char57_stroke0 },
-};
-
-/* char: 58 ':' */
-
-static const CoordRec char58_stroke0[] = {
- { 14.0819, 66.6667 },
- { 9.32, 61.9048 },
- { 14.0819, 57.1429 },
- { 18.8438, 61.9048 },
- { 14.0819, 66.6667 },
-};
-
-static const CoordRec char58_stroke1[] = {
- { 14.0819, 9.5238 },
- { 9.32, 4.7619 },
- { 14.0819, 0 },
- { 18.8438, 4.7619 },
- { 14.0819, 9.5238 },
-};
-
-static const StrokeRec char58[] = {
- { 5, char58_stroke0 },
- { 5, char58_stroke1 },
-};
-
-/* char: 59 ';' */
-
-static const CoordRec char59_stroke0[] = {
- { 12.9619, 66.6667 },
- { 8.2, 61.9048 },
- { 12.9619, 57.1429 },
- { 17.7238, 61.9048 },
- { 12.9619, 66.6667 },
-};
-
-static const CoordRec char59_stroke1[] = {
- { 17.7238, 4.7619 },
- { 12.9619, 0 },
- { 8.2, 4.7619 },
- { 12.9619, 9.5238 },
- { 17.7238, 4.7619 },
- { 17.7238, -4.7619 },
- { 12.9619, -14.2857 },
- { 8.2, -19.0476 },
-};
-
-static const StrokeRec char59[] = {
- { 5, char59_stroke0 },
- { 8, char59_stroke1 },
-};
-
-/* char: 60 '<' */
-
-static const CoordRec char60_stroke0[] = {
- { 79.2505, 85.7143 },
- { 3.06, 42.8571 },
- { 79.2505, 0 },
-};
-
-static const StrokeRec char60[] = {
- { 3, char60_stroke0 },
-};
-
-/* char: 61 '=' */
-
-static const CoordRec char61_stroke0[] = {
- { 5.7, 57.1429 },
- { 91.4143, 57.1429 },
-};
-
-static const CoordRec char61_stroke1[] = {
- { 5.7, 28.5714 },
- { 91.4143, 28.5714 },
-};
-
-static const StrokeRec char61[] = {
- { 2, char61_stroke0 },
- { 2, char61_stroke1 },
-};
-
-/* char: 62 '>' */
-
-static const CoordRec char62_stroke0[] = {
- { 2.78, 85.7143 },
- { 78.9705, 42.8571 },
- { 2.78, 0 },
-};
-
-static const StrokeRec char62[] = {
- { 3, char62_stroke0 },
-};
-
-/* char: 63 '?' */
-
-static const CoordRec char63_stroke0[] = {
- { 8.42, 76.1905 },
- { 8.42, 80.9524 },
- { 13.1819, 90.4762 },
- { 17.9438, 95.2381 },
- { 27.4676, 100 },
- { 46.5152, 100 },
- { 56.039, 95.2381 },
- { 60.801, 90.4762 },
- { 65.5629, 80.9524 },
- { 65.5629, 71.4286 },
- { 60.801, 61.9048 },
- { 56.039, 57.1429 },
- { 36.9914, 47.619 },
- { 36.9914, 33.3333 },
-};
-
-static const CoordRec char63_stroke1[] = {
- { 36.9914, 9.5238 },
- { 32.2295, 4.7619 },
- { 36.9914, 0 },
- { 41.7533, 4.7619 },
- { 36.9914, 9.5238 },
-};
-
-static const StrokeRec char63[] = {
- { 14, char63_stroke0 },
- { 5, char63_stroke1 },
-};
-
-/* char: 64 '@' */
-
-static const CoordRec char64_stroke0[] = {
- { 49.2171, 52.381 },
- { 39.6933, 57.1429 },
- { 30.1695, 57.1429 },
- { 25.4076, 47.619 },
- { 25.4076, 42.8571 },
- { 30.1695, 33.3333 },
- { 39.6933, 33.3333 },
- { 49.2171, 38.0952 },
-};
-
-static const CoordRec char64_stroke1[] = {
- { 49.2171, 57.1429 },
- { 49.2171, 38.0952 },
- { 53.979, 33.3333 },
- { 63.5029, 33.3333 },
- { 68.2648, 42.8571 },
- { 68.2648, 47.619 },
- { 63.5029, 61.9048 },
- { 53.979, 71.4286 },
- { 39.6933, 76.1905 },
- { 34.9314, 76.1905 },
- { 20.6457, 71.4286 },
- { 11.1219, 61.9048 },
- { 6.36, 47.619 },
- { 6.36, 42.8571 },
- { 11.1219, 28.5714 },
- { 20.6457, 19.0476 },
- { 34.9314, 14.2857 },
- { 39.6933, 14.2857 },
- { 53.979, 19.0476 },
-};
-
-static const StrokeRec char64[] = {
- { 8, char64_stroke0 },
- { 19, char64_stroke1 },
-};
-
-/* char: 65 'A' */
-
-static const CoordRec char65_stroke0[] = {
- { 40.5952, 100 },
- { 2.5, 0 },
-};
-
-static const CoordRec char65_stroke1[] = {
- { 40.5952, 100 },
- { 78.6905, 0 },
-};
-
-static const CoordRec char65_stroke2[] = {
- { 16.7857, 33.3333 },
- { 64.4048, 33.3333 },
-};
-
-static const StrokeRec char65[] = {
- { 2, char65_stroke0 },
- { 2, char65_stroke1 },
- { 2, char65_stroke2 },
-};
-
-/* char: 66 'B' */
-
-static const CoordRec char66_stroke0[] = {
- { 11.42, 100 },
- { 11.42, 0 },
-};
-
-static const CoordRec char66_stroke1[] = {
- { 11.42, 100 },
- { 54.2771, 100 },
- { 68.5629, 95.2381 },
- { 73.3248, 90.4762 },
- { 78.0867, 80.9524 },
- { 78.0867, 71.4286 },
- { 73.3248, 61.9048 },
- { 68.5629, 57.1429 },
- { 54.2771, 52.381 },
-};
-
-static const CoordRec char66_stroke2[] = {
- { 11.42, 52.381 },
- { 54.2771, 52.381 },
- { 68.5629, 47.619 },
- { 73.3248, 42.8571 },
- { 78.0867, 33.3333 },
- { 78.0867, 19.0476 },
- { 73.3248, 9.5238 },
- { 68.5629, 4.7619 },
- { 54.2771, 0 },
- { 11.42, 0 },
-};
-
-static const StrokeRec char66[] = {
- { 2, char66_stroke0 },
- { 9, char66_stroke1 },
- { 10, char66_stroke2 },
-};
-
-/* char: 67 'C' */
-
-static const CoordRec char67_stroke0[] = {
- { 78.0886, 76.1905 },
- { 73.3267, 85.7143 },
- { 63.8029, 95.2381 },
- { 54.279, 100 },
- { 35.2314, 100 },
- { 25.7076, 95.2381 },
- { 16.1838, 85.7143 },
- { 11.4219, 76.1905 },
- { 6.66, 61.9048 },
- { 6.66, 38.0952 },
- { 11.4219, 23.8095 },
- { 16.1838, 14.2857 },
- { 25.7076, 4.7619 },
- { 35.2314, 0 },
- { 54.279, 0 },
- { 63.8029, 4.7619 },
- { 73.3267, 14.2857 },
- { 78.0886, 23.8095 },
-};
-
-static const StrokeRec char67[] = {
- { 18, char67_stroke0 },
-};
-
-/* char: 68 'D' */
-
-static const CoordRec char68_stroke0[] = {
- { 11.96, 100 },
- { 11.96, 0 },
-};
-
-static const CoordRec char68_stroke1[] = {
- { 11.96, 100 },
- { 45.2933, 100 },
- { 59.579, 95.2381 },
- { 69.1029, 85.7143 },
- { 73.8648, 76.1905 },
- { 78.6267, 61.9048 },
- { 78.6267, 38.0952 },
- { 73.8648, 23.8095 },
- { 69.1029, 14.2857 },
- { 59.579, 4.7619 },
- { 45.2933, 0 },
- { 11.96, 0 },
-};
-
-static const StrokeRec char68[] = {
- { 2, char68_stroke0 },
- { 12, char68_stroke1 },
-};
-
-/* char: 69 'E' */
-
-static const CoordRec char69_stroke0[] = {
- { 11.42, 100 },
- { 11.42, 0 },
-};
-
-static const CoordRec char69_stroke1[] = {
- { 11.42, 100 },
- { 73.3248, 100 },
-};
-
-static const CoordRec char69_stroke2[] = {
- { 11.42, 52.381 },
- { 49.5152, 52.381 },
-};
-
-static const CoordRec char69_stroke3[] = {
- { 11.42, 0 },
- { 73.3248, 0 },
-};
-
-static const StrokeRec char69[] = {
- { 2, char69_stroke0 },
- { 2, char69_stroke1 },
- { 2, char69_stroke2 },
- { 2, char69_stroke3 },
-};
-
-/* char: 70 'F' */
-
-static const CoordRec char70_stroke0[] = {
- { 11.42, 100 },
- { 11.42, 0 },
-};
-
-static const CoordRec char70_stroke1[] = {
- { 11.42, 100 },
- { 73.3248, 100 },
-};
-
-static const CoordRec char70_stroke2[] = {
- { 11.42, 52.381 },
- { 49.5152, 52.381 },
-};
-
-static const StrokeRec char70[] = {
- { 2, char70_stroke0 },
- { 2, char70_stroke1 },
- { 2, char70_stroke2 },
-};
-
-/* char: 71 'G' */
-
-static const CoordRec char71_stroke0[] = {
- { 78.4886, 76.1905 },
- { 73.7267, 85.7143 },
- { 64.2029, 95.2381 },
- { 54.679, 100 },
- { 35.6314, 100 },
- { 26.1076, 95.2381 },
- { 16.5838, 85.7143 },
- { 11.8219, 76.1905 },
- { 7.06, 61.9048 },
- { 7.06, 38.0952 },
- { 11.8219, 23.8095 },
- { 16.5838, 14.2857 },
- { 26.1076, 4.7619 },
- { 35.6314, 0 },
- { 54.679, 0 },
- { 64.2029, 4.7619 },
- { 73.7267, 14.2857 },
- { 78.4886, 23.8095 },
- { 78.4886, 38.0952 },
-};
-
-static const CoordRec char71_stroke1[] = {
- { 54.679, 38.0952 },
- { 78.4886, 38.0952 },
-};
-
-static const StrokeRec char71[] = {
- { 19, char71_stroke0 },
- { 2, char71_stroke1 },
-};
-
-/* char: 72 'H' */
-
-static const CoordRec char72_stroke0[] = {
- { 11.42, 100 },
- { 11.42, 0 },
-};
-
-static const CoordRec char72_stroke1[] = {
- { 78.0867, 100 },
- { 78.0867, 0 },
-};
-
-static const CoordRec char72_stroke2[] = {
- { 11.42, 52.381 },
- { 78.0867, 52.381 },
-};
-
-static const StrokeRec char72[] = {
- { 2, char72_stroke0 },
- { 2, char72_stroke1 },
- { 2, char72_stroke2 },
-};
-
-/* char: 73 'I' */
-
-static const CoordRec char73_stroke0[] = {
- { 10.86, 100 },
- { 10.86, 0 },
-};
-
-static const StrokeRec char73[] = {
- { 2, char73_stroke0 },
-};
-
-/* char: 74 'J' */
-
-static const CoordRec char74_stroke0[] = {
- { 50.119, 100 },
- { 50.119, 23.8095 },
- { 45.3571, 9.5238 },
- { 40.5952, 4.7619 },
- { 31.0714, 0 },
- { 21.5476, 0 },
- { 12.0238, 4.7619 },
- { 7.2619, 9.5238 },
- { 2.5, 23.8095 },
- { 2.5, 33.3333 },
-};
-
-static const StrokeRec char74[] = {
- { 10, char74_stroke0 },
-};
-
-/* char: 75 'K' */
-
-static const CoordRec char75_stroke0[] = {
- { 11.28, 100 },
- { 11.28, 0 },
-};
-
-static const CoordRec char75_stroke1[] = {
- { 77.9467, 100 },
- { 11.28, 33.3333 },
-};
-
-static const CoordRec char75_stroke2[] = {
- { 35.0895, 57.1429 },
- { 77.9467, 0 },
-};
-
-static const StrokeRec char75[] = {
- { 2, char75_stroke0 },
- { 2, char75_stroke1 },
- { 2, char75_stroke2 },
-};
-
-/* char: 76 'L' */
-
-static const CoordRec char76_stroke0[] = {
- { 11.68, 100 },
- { 11.68, 0 },
-};
-
-static const CoordRec char76_stroke1[] = {
- { 11.68, 0 },
- { 68.8229, 0 },
-};
-
-static const StrokeRec char76[] = {
- { 2, char76_stroke0 },
- { 2, char76_stroke1 },
-};
-
-/* char: 77 'M' */
-
-static const CoordRec char77_stroke0[] = {
- { 10.86, 100 },
- { 10.86, 0 },
-};
-
-static const CoordRec char77_stroke1[] = {
- { 10.86, 100 },
- { 48.9552, 0 },
-};
-
-static const CoordRec char77_stroke2[] = {
- { 87.0505, 100 },
- { 48.9552, 0 },
-};
-
-static const CoordRec char77_stroke3[] = {
- { 87.0505, 100 },
- { 87.0505, 0 },
-};
-
-static const StrokeRec char77[] = {
- { 2, char77_stroke0 },
- { 2, char77_stroke1 },
- { 2, char77_stroke2 },
- { 2, char77_stroke3 },
-};
-
-/* char: 78 'N' */
-
-static const CoordRec char78_stroke0[] = {
- { 11.14, 100 },
- { 11.14, 0 },
-};
-
-static const CoordRec char78_stroke1[] = {
- { 11.14, 100 },
- { 77.8067, 0 },
-};
-
-static const CoordRec char78_stroke2[] = {
- { 77.8067, 100 },
- { 77.8067, 0 },
-};
-
-static const StrokeRec char78[] = {
- { 2, char78_stroke0 },
- { 2, char78_stroke1 },
- { 2, char78_stroke2 },
-};
-
-/* char: 79 'O' */
-
-static const CoordRec char79_stroke0[] = {
- { 34.8114, 100 },
- { 25.2876, 95.2381 },
- { 15.7638, 85.7143 },
- { 11.0019, 76.1905 },
- { 6.24, 61.9048 },
- { 6.24, 38.0952 },
- { 11.0019, 23.8095 },
- { 15.7638, 14.2857 },
- { 25.2876, 4.7619 },
- { 34.8114, 0 },
- { 53.859, 0 },
- { 63.3829, 4.7619 },
- { 72.9067, 14.2857 },
- { 77.6686, 23.8095 },
- { 82.4305, 38.0952 },
- { 82.4305, 61.9048 },
- { 77.6686, 76.1905 },
- { 72.9067, 85.7143 },
- { 63.3829, 95.2381 },
- { 53.859, 100 },
- { 34.8114, 100 },
-};
-
-static const StrokeRec char79[] = {
- { 21, char79_stroke0 },
-};
-
-/* char: 80 'P' */
-
-static const CoordRec char80_stroke0[] = {
- { 12.1, 100 },
- { 12.1, 0 },
-};
-
-static const CoordRec char80_stroke1[] = {
- { 12.1, 100 },
- { 54.9571, 100 },
- { 69.2429, 95.2381 },
- { 74.0048, 90.4762 },
- { 78.7667, 80.9524 },
- { 78.7667, 66.6667 },
- { 74.0048, 57.1429 },
- { 69.2429, 52.381 },
- { 54.9571, 47.619 },
- { 12.1, 47.619 },
-};
-
-static const StrokeRec char80[] = {
- { 2, char80_stroke0 },
- { 10, char80_stroke1 },
-};
-
-/* char: 81 'Q' */
-
-static const CoordRec char81_stroke0[] = {
- { 33.8714, 100 },
- { 24.3476, 95.2381 },
- { 14.8238, 85.7143 },
- { 10.0619, 76.1905 },
- { 5.3, 61.9048 },
- { 5.3, 38.0952 },
- { 10.0619, 23.8095 },
- { 14.8238, 14.2857 },
- { 24.3476, 4.7619 },
- { 33.8714, 0 },
- { 52.919, 0 },
- { 62.4429, 4.7619 },
- { 71.9667, 14.2857 },
- { 76.7286, 23.8095 },
- { 81.4905, 38.0952 },
- { 81.4905, 61.9048 },
- { 76.7286, 76.1905 },
- { 71.9667, 85.7143 },
- { 62.4429, 95.2381 },
- { 52.919, 100 },
- { 33.8714, 100 },
-};
-
-static const CoordRec char81_stroke1[] = {
- { 48.1571, 19.0476 },
- { 76.7286, -9.5238 },
-};
-
-static const StrokeRec char81[] = {
- { 21, char81_stroke0 },
- { 2, char81_stroke1 },
-};
-
-/* char: 82 'R' */
-
-static const CoordRec char82_stroke0[] = {
- { 11.68, 100 },
- { 11.68, 0 },
-};
-
-static const CoordRec char82_stroke1[] = {
- { 11.68, 100 },
- { 54.5371, 100 },
- { 68.8229, 95.2381 },
- { 73.5848, 90.4762 },
- { 78.3467, 80.9524 },
- { 78.3467, 71.4286 },
- { 73.5848, 61.9048 },
- { 68.8229, 57.1429 },
- { 54.5371, 52.381 },
- { 11.68, 52.381 },
-};
-
-static const CoordRec char82_stroke2[] = {
- { 45.0133, 52.381 },
- { 78.3467, 0 },
-};
-
-static const StrokeRec char82[] = {
- { 2, char82_stroke0 },
- { 10, char82_stroke1 },
- { 2, char82_stroke2 },
-};
-
-/* char: 83 'S' */
-
-static const CoordRec char83_stroke0[] = {
- { 74.6667, 85.7143 },
- { 65.1429, 95.2381 },
- { 50.8571, 100 },
- { 31.8095, 100 },
- { 17.5238, 95.2381 },
- { 8, 85.7143 },
- { 8, 76.1905 },
- { 12.7619, 66.6667 },
- { 17.5238, 61.9048 },
- { 27.0476, 57.1429 },
- { 55.619, 47.619 },
- { 65.1429, 42.8571 },
- { 69.9048, 38.0952 },
- { 74.6667, 28.5714 },
- { 74.6667, 14.2857 },
- { 65.1429, 4.7619 },
- { 50.8571, 0 },
- { 31.8095, 0 },
- { 17.5238, 4.7619 },
- { 8, 14.2857 },
-};
-
-static const StrokeRec char83[] = {
- { 20, char83_stroke0 },
-};
-
-/* char: 84 'T' */
-
-static const CoordRec char84_stroke0[] = {
- { 35.6933, 100 },
- { 35.6933, 0 },
-};
-
-static const CoordRec char84_stroke1[] = {
- { 2.36, 100 },
- { 69.0267, 100 },
-};
-
-static const StrokeRec char84[] = {
- { 2, char84_stroke0 },
- { 2, char84_stroke1 },
-};
-
-/* char: 85 'U' */
-
-static const CoordRec char85_stroke0[] = {
- { 11.54, 100 },
- { 11.54, 28.5714 },
- { 16.3019, 14.2857 },
- { 25.8257, 4.7619 },
- { 40.1114, 0 },
- { 49.6352, 0 },
- { 63.921, 4.7619 },
- { 73.4448, 14.2857 },
- { 78.2067, 28.5714 },
- { 78.2067, 100 },
-};
-
-static const StrokeRec char85[] = {
- { 10, char85_stroke0 },
-};
-
-/* char: 86 'V' */
-
-static const CoordRec char86_stroke0[] = {
- { 2.36, 100 },
- { 40.4552, 0 },
-};
-
-static const CoordRec char86_stroke1[] = {
- { 78.5505, 100 },
- { 40.4552, 0 },
-};
-
-static const StrokeRec char86[] = {
- { 2, char86_stroke0 },
- { 2, char86_stroke1 },
-};
-
-/* char: 87 'W' */
-
-static const CoordRec char87_stroke0[] = {
- { 2.22, 100 },
- { 26.0295, 0 },
-};
-
-static const CoordRec char87_stroke1[] = {
- { 49.839, 100 },
- { 26.0295, 0 },
-};
-
-static const CoordRec char87_stroke2[] = {
- { 49.839, 100 },
- { 73.6486, 0 },
-};
-
-static const CoordRec char87_stroke3[] = {
- { 97.4581, 100 },
- { 73.6486, 0 },
-};
-
-static const StrokeRec char87[] = {
- { 2, char87_stroke0 },
- { 2, char87_stroke1 },
- { 2, char87_stroke2 },
- { 2, char87_stroke3 },
-};
-
-/* char: 88 'X' */
-
-static const CoordRec char88_stroke0[] = {
- { 2.5, 100 },
- { 69.1667, 0 },
-};
-
-static const CoordRec char88_stroke1[] = {
- { 69.1667, 100 },
- { 2.5, 0 },
-};
-
-static const StrokeRec char88[] = {
- { 2, char88_stroke0 },
- { 2, char88_stroke1 },
-};
-
-/* char: 89 'Y' */
-
-static const CoordRec char89_stroke0[] = {
- { 1.52, 100 },
- { 39.6152, 52.381 },
- { 39.6152, 0 },
-};
-
-static const CoordRec char89_stroke1[] = {
- { 77.7105, 100 },
- { 39.6152, 52.381 },
-};
-
-static const StrokeRec char89[] = {
- { 3, char89_stroke0 },
- { 2, char89_stroke1 },
-};
-
-/* char: 90 'Z' */
-
-static const CoordRec char90_stroke0[] = {
- { 69.1667, 100 },
- { 2.5, 0 },
-};
-
-static const CoordRec char90_stroke1[] = {
- { 2.5, 100 },
- { 69.1667, 100 },
-};
-
-static const CoordRec char90_stroke2[] = {
- { 2.5, 0 },
- { 69.1667, 0 },
-};
-
-static const StrokeRec char90[] = {
- { 2, char90_stroke0 },
- { 2, char90_stroke1 },
- { 2, char90_stroke2 },
-};
-
-/* char: 91 '[' */
-
-static const CoordRec char91_stroke0[] = {
- { 7.78, 119.048 },
- { 7.78, -33.3333 },
-};
-
-static const CoordRec char91_stroke1[] = {
- { 12.5419, 119.048 },
- { 12.5419, -33.3333 },
-};
-
-static const CoordRec char91_stroke2[] = {
- { 7.78, 119.048 },
- { 41.1133, 119.048 },
-};
-
-static const CoordRec char91_stroke3[] = {
- { 7.78, -33.3333 },
- { 41.1133, -33.3333 },
-};
-
-static const StrokeRec char91[] = {
- { 2, char91_stroke0 },
- { 2, char91_stroke1 },
- { 2, char91_stroke2 },
- { 2, char91_stroke3 },
-};
-
-/* char: 92 '\' */
-
-static const CoordRec char92_stroke0[] = {
- { 5.84, 100 },
- { 72.5067, -14.2857 },
-};
-
-static const StrokeRec char92[] = {
- { 2, char92_stroke0 },
-};
-
-/* char: 93 ']' */
-
-static const CoordRec char93_stroke0[] = {
- { 33.0114, 119.048 },
- { 33.0114, -33.3333 },
-};
-
-static const CoordRec char93_stroke1[] = {
- { 37.7733, 119.048 },
- { 37.7733, -33.3333 },
-};
-
-static const CoordRec char93_stroke2[] = {
- { 4.44, 119.048 },
- { 37.7733, 119.048 },
-};
-
-static const CoordRec char93_stroke3[] = {
- { 4.44, -33.3333 },
- { 37.7733, -33.3333 },
-};
-
-static const StrokeRec char93[] = {
- { 2, char93_stroke0 },
- { 2, char93_stroke1 },
- { 2, char93_stroke2 },
- { 2, char93_stroke3 },
-};
-
-/* char: 94 '^' */
-
-static const CoordRec char94_stroke0[] = {
- { 44.0752, 109.524 },
- { 5.98, 42.8571 },
-};
-
-static const CoordRec char94_stroke1[] = {
- { 44.0752, 109.524 },
- { 82.1705, 42.8571 },
-};
-
-static const StrokeRec char94[] = {
- { 2, char94_stroke0 },
- { 2, char94_stroke1 },
-};
-
-/* char: 95 '_' */
-
-static const CoordRec char95_stroke0[] = {
- { -1.1, -33.3333 },
- { 103.662, -33.3333 },
- { 103.662, -28.5714 },
- { -1.1, -28.5714 },
- { -1.1, -33.3333 },
-};
-
-static const StrokeRec char95[] = {
- { 5, char95_stroke0 },
-};
-
-/* char: 96 '`' */
-
-static const CoordRec char96_stroke0[] = {
- { 33.0219, 100 },
- { 56.8314, 71.4286 },
-};
-
-static const CoordRec char96_stroke1[] = {
- { 33.0219, 100 },
- { 28.26, 95.2381 },
- { 56.8314, 71.4286 },
-};
-
-static const StrokeRec char96[] = {
- { 2, char96_stroke0 },
- { 3, char96_stroke1 },
-};
-
-/* char: 97 'a' */
-
-static const CoordRec char97_stroke0[] = {
- { 63.8229, 66.6667 },
- { 63.8229, 0 },
-};
-
-static const CoordRec char97_stroke1[] = {
- { 63.8229, 52.381 },
- { 54.299, 61.9048 },
- { 44.7752, 66.6667 },
- { 30.4895, 66.6667 },
- { 20.9657, 61.9048 },
- { 11.4419, 52.381 },
- { 6.68, 38.0952 },
- { 6.68, 28.5714 },
- { 11.4419, 14.2857 },
- { 20.9657, 4.7619 },
- { 30.4895, 0 },
- { 44.7752, 0 },
- { 54.299, 4.7619 },
- { 63.8229, 14.2857 },
-};
-
-static const StrokeRec char97[] = {
- { 2, char97_stroke0 },
- { 14, char97_stroke1 },
-};
-
-/* char: 98 'b' */
-
-static const CoordRec char98_stroke0[] = {
- { 8.76, 100 },
- { 8.76, 0 },
-};
-
-static const CoordRec char98_stroke1[] = {
- { 8.76, 52.381 },
- { 18.2838, 61.9048 },
- { 27.8076, 66.6667 },
- { 42.0933, 66.6667 },
- { 51.6171, 61.9048 },
- { 61.141, 52.381 },
- { 65.9029, 38.0952 },
- { 65.9029, 28.5714 },
- { 61.141, 14.2857 },
- { 51.6171, 4.7619 },
- { 42.0933, 0 },
- { 27.8076, 0 },
- { 18.2838, 4.7619 },
- { 8.76, 14.2857 },
-};
-
-static const StrokeRec char98[] = {
- { 2, char98_stroke0 },
- { 14, char98_stroke1 },
-};
-
-/* char: 99 'c' */
-
-static const CoordRec char99_stroke0[] = {
- { 62.6629, 52.381 },
- { 53.139, 61.9048 },
- { 43.6152, 66.6667 },
- { 29.3295, 66.6667 },
- { 19.8057, 61.9048 },
- { 10.2819, 52.381 },
- { 5.52, 38.0952 },
- { 5.52, 28.5714 },
- { 10.2819, 14.2857 },
- { 19.8057, 4.7619 },
- { 29.3295, 0 },
- { 43.6152, 0 },
- { 53.139, 4.7619 },
- { 62.6629, 14.2857 },
-};
-
-static const StrokeRec char99[] = {
- { 14, char99_stroke0 },
-};
-
-/* char: 100 'd' */
-
-static const CoordRec char100_stroke0[] = {
- { 61.7829, 100 },
- { 61.7829, 0 },
-};
-
-static const CoordRec char100_stroke1[] = {
- { 61.7829, 52.381 },
- { 52.259, 61.9048 },
- { 42.7352, 66.6667 },
- { 28.4495, 66.6667 },
- { 18.9257, 61.9048 },
- { 9.4019, 52.381 },
- { 4.64, 38.0952 },
- { 4.64, 28.5714 },
- { 9.4019, 14.2857 },
- { 18.9257, 4.7619 },
- { 28.4495, 0 },
- { 42.7352, 0 },
- { 52.259, 4.7619 },
- { 61.7829, 14.2857 },
-};
-
-static const StrokeRec char100[] = {
- { 2, char100_stroke0 },
- { 14, char100_stroke1 },
-};
-
-/* char: 101 'e' */
-
-static const CoordRec char101_stroke0[] = {
- { 5.72, 38.0952 },
- { 62.8629, 38.0952 },
- { 62.8629, 47.619 },
- { 58.101, 57.1429 },
- { 53.339, 61.9048 },
- { 43.8152, 66.6667 },
- { 29.5295, 66.6667 },
- { 20.0057, 61.9048 },
- { 10.4819, 52.381 },
- { 5.72, 38.0952 },
- { 5.72, 28.5714 },
- { 10.4819, 14.2857 },
- { 20.0057, 4.7619 },
- { 29.5295, 0 },
- { 43.8152, 0 },
- { 53.339, 4.7619 },
- { 62.8629, 14.2857 },
-};
-
-static const StrokeRec char101[] = {
- { 17, char101_stroke0 },
-};
-
-/* char: 102 'f' */
-
-static const CoordRec char102_stroke0[] = {
- { 38.7752, 100 },
- { 29.2514, 100 },
- { 19.7276, 95.2381 },
- { 14.9657, 80.9524 },
- { 14.9657, 0 },
-};
-
-static const CoordRec char102_stroke1[] = {
- { 0.68, 66.6667 },
- { 34.0133, 66.6667 },
-};
-
-static const StrokeRec char102[] = {
- { 5, char102_stroke0 },
- { 2, char102_stroke1 },
-};
-
-/* char: 103 'g' */
-
-static const CoordRec char103_stroke0[] = {
- { 62.5029, 66.6667 },
- { 62.5029, -9.5238 },
- { 57.741, -23.8095 },
- { 52.979, -28.5714 },
- { 43.4552, -33.3333 },
- { 29.1695, -33.3333 },
- { 19.6457, -28.5714 },
-};
-
-static const CoordRec char103_stroke1[] = {
- { 62.5029, 52.381 },
- { 52.979, 61.9048 },
- { 43.4552, 66.6667 },
- { 29.1695, 66.6667 },
- { 19.6457, 61.9048 },
- { 10.1219, 52.381 },
- { 5.36, 38.0952 },
- { 5.36, 28.5714 },
- { 10.1219, 14.2857 },
- { 19.6457, 4.7619 },
- { 29.1695, 0 },
- { 43.4552, 0 },
- { 52.979, 4.7619 },
- { 62.5029, 14.2857 },
-};
-
-static const StrokeRec char103[] = {
- { 7, char103_stroke0 },
- { 14, char103_stroke1 },
-};
-
-/* char: 104 'h' */
-
-static const CoordRec char104_stroke0[] = {
- { 9.6, 100 },
- { 9.6, 0 },
-};
-
-static const CoordRec char104_stroke1[] = {
- { 9.6, 47.619 },
- { 23.8857, 61.9048 },
- { 33.4095, 66.6667 },
- { 47.6952, 66.6667 },
- { 57.219, 61.9048 },
- { 61.981, 47.619 },
- { 61.981, 0 },
-};
-
-static const StrokeRec char104[] = {
- { 2, char104_stroke0 },
- { 7, char104_stroke1 },
-};
-
-/* char: 105 'i' */
-
-static const CoordRec char105_stroke0[] = {
- { 10.02, 100 },
- { 14.7819, 95.2381 },
- { 19.5438, 100 },
- { 14.7819, 104.762 },
- { 10.02, 100 },
-};
-
-static const CoordRec char105_stroke1[] = {
- { 14.7819, 66.6667 },
- { 14.7819, 0 },
-};
-
-static const StrokeRec char105[] = {
- { 5, char105_stroke0 },
- { 2, char105_stroke1 },
-};
-
-/* char: 106 'j' */
-
-static const CoordRec char106_stroke0[] = {
- { 17.3876, 100 },
- { 22.1495, 95.2381 },
- { 26.9114, 100 },
- { 22.1495, 104.762 },
- { 17.3876, 100 },
-};
-
-static const CoordRec char106_stroke1[] = {
- { 22.1495, 66.6667 },
- { 22.1495, -14.2857 },
- { 17.3876, -28.5714 },
- { 7.8638, -33.3333 },
- { -1.66, -33.3333 },
-};
-
-static const StrokeRec char106[] = {
- { 5, char106_stroke0 },
- { 5, char106_stroke1 },
-};
-
-/* char: 107 'k' */
-
-static const CoordRec char107_stroke0[] = {
- { 9.6, 100 },
- { 9.6, 0 },
-};
-
-static const CoordRec char107_stroke1[] = {
- { 57.219, 66.6667 },
- { 9.6, 19.0476 },
-};
-
-static const CoordRec char107_stroke2[] = {
- { 28.6476, 38.0952 },
- { 61.981, 0 },
-};
-
-static const StrokeRec char107[] = {
- { 2, char107_stroke0 },
- { 2, char107_stroke1 },
- { 2, char107_stroke2 },
-};
-
-/* char: 108 'l' */
-
-static const CoordRec char108_stroke0[] = {
- { 10.02, 100 },
- { 10.02, 0 },
-};
-
-static const StrokeRec char108[] = {
- { 2, char108_stroke0 },
-};
-
-/* char: 109 'm' */
-
-static const CoordRec char109_stroke0[] = {
- { 9.6, 66.6667 },
- { 9.6, 0 },
-};
-
-static const CoordRec char109_stroke1[] = {
- { 9.6, 47.619 },
- { 23.8857, 61.9048 },
- { 33.4095, 66.6667 },
- { 47.6952, 66.6667 },
- { 57.219, 61.9048 },
- { 61.981, 47.619 },
- { 61.981, 0 },
-};
-
-static const CoordRec char109_stroke2[] = {
- { 61.981, 47.619 },
- { 76.2667, 61.9048 },
- { 85.7905, 66.6667 },
- { 100.076, 66.6667 },
- { 109.6, 61.9048 },
- { 114.362, 47.619 },
- { 114.362, 0 },
-};
-
-static const StrokeRec char109[] = {
- { 2, char109_stroke0 },
- { 7, char109_stroke1 },
- { 7, char109_stroke2 },
-};
-
-/* char: 110 'n' */
-
-static const CoordRec char110_stroke0[] = {
- { 9.18, 66.6667 },
- { 9.18, 0 },
-};
-
-static const CoordRec char110_stroke1[] = {
- { 9.18, 47.619 },
- { 23.4657, 61.9048 },
- { 32.9895, 66.6667 },
- { 47.2752, 66.6667 },
- { 56.799, 61.9048 },
- { 61.561, 47.619 },
- { 61.561, 0 },
-};
-
-static const StrokeRec char110[] = {
- { 2, char110_stroke0 },
- { 7, char110_stroke1 },
-};
-
-/* char: 111 'o' */
-
-static const CoordRec char111_stroke0[] = {
- { 28.7895, 66.6667 },
- { 19.2657, 61.9048 },
- { 9.7419, 52.381 },
- { 4.98, 38.0952 },
- { 4.98, 28.5714 },
- { 9.7419, 14.2857 },
- { 19.2657, 4.7619 },
- { 28.7895, 0 },
- { 43.0752, 0 },
- { 52.599, 4.7619 },
- { 62.1229, 14.2857 },
- { 66.8848, 28.5714 },
- { 66.8848, 38.0952 },
- { 62.1229, 52.381 },
- { 52.599, 61.9048 },
- { 43.0752, 66.6667 },
- { 28.7895, 66.6667 },
-};
-
-static const StrokeRec char111[] = {
- { 17, char111_stroke0 },
-};
-
-/* char: 112 'p' */
-
-static const CoordRec char112_stroke0[] = {
- { 9.46, 66.6667 },
- { 9.46, -33.3333 },
-};
-
-static const CoordRec char112_stroke1[] = {
- { 9.46, 52.381 },
- { 18.9838, 61.9048 },
- { 28.5076, 66.6667 },
- { 42.7933, 66.6667 },
- { 52.3171, 61.9048 },
- { 61.841, 52.381 },
- { 66.6029, 38.0952 },
- { 66.6029, 28.5714 },
- { 61.841, 14.2857 },
- { 52.3171, 4.7619 },
- { 42.7933, 0 },
- { 28.5076, 0 },
- { 18.9838, 4.7619 },
- { 9.46, 14.2857 },
-};
-
-static const StrokeRec char112[] = {
- { 2, char112_stroke0 },
- { 14, char112_stroke1 },
-};
-
-/* char: 113 'q' */
-
-static const CoordRec char113_stroke0[] = {
- { 61.9829, 66.6667 },
- { 61.9829, -33.3333 },
-};
-
-static const CoordRec char113_stroke1[] = {
- { 61.9829, 52.381 },
- { 52.459, 61.9048 },
- { 42.9352, 66.6667 },
- { 28.6495, 66.6667 },
- { 19.1257, 61.9048 },
- { 9.6019, 52.381 },
- { 4.84, 38.0952 },
- { 4.84, 28.5714 },
- { 9.6019, 14.2857 },
- { 19.1257, 4.7619 },
- { 28.6495, 0 },
- { 42.9352, 0 },
- { 52.459, 4.7619 },
- { 61.9829, 14.2857 },
-};
-
-static const StrokeRec char113[] = {
- { 2, char113_stroke0 },
- { 14, char113_stroke1 },
-};
-
-/* char: 114 'r' */
-
-static const CoordRec char114_stroke0[] = {
- { 9.46, 66.6667 },
- { 9.46, 0 },
-};
-
-static const CoordRec char114_stroke1[] = {
- { 9.46, 38.0952 },
- { 14.2219, 52.381 },
- { 23.7457, 61.9048 },
- { 33.2695, 66.6667 },
- { 47.5552, 66.6667 },
-};
-
-static const StrokeRec char114[] = {
- { 2, char114_stroke0 },
- { 5, char114_stroke1 },
-};
-
-/* char: 115 's' */
-
-static const CoordRec char115_stroke0[] = {
- { 57.081, 52.381 },
- { 52.319, 61.9048 },
- { 38.0333, 66.6667 },
- { 23.7476, 66.6667 },
- { 9.4619, 61.9048 },
- { 4.7, 52.381 },
- { 9.4619, 42.8571 },
- { 18.9857, 38.0952 },
- { 42.7952, 33.3333 },
- { 52.319, 28.5714 },
- { 57.081, 19.0476 },
- { 57.081, 14.2857 },
- { 52.319, 4.7619 },
- { 38.0333, 0 },
- { 23.7476, 0 },
- { 9.4619, 4.7619 },
- { 4.7, 14.2857 },
-};
-
-static const StrokeRec char115[] = {
- { 17, char115_stroke0 },
-};
-
-/* char: 116 't' */
-
-static const CoordRec char116_stroke0[] = {
- { 14.8257, 100 },
- { 14.8257, 19.0476 },
- { 19.5876, 4.7619 },
- { 29.1114, 0 },
- { 38.6352, 0 },
-};
-
-static const CoordRec char116_stroke1[] = {
- { 0.54, 66.6667 },
- { 33.8733, 66.6667 },
-};
-
-static const StrokeRec char116[] = {
- { 5, char116_stroke0 },
- { 2, char116_stroke1 },
-};
-
-/* char: 117 'u' */
-
-static const CoordRec char117_stroke0[] = {
- { 9.46, 66.6667 },
- { 9.46, 19.0476 },
- { 14.2219, 4.7619 },
- { 23.7457, 0 },
- { 38.0314, 0 },
- { 47.5552, 4.7619 },
- { 61.841, 19.0476 },
-};
-
-static const CoordRec char117_stroke1[] = {
- { 61.841, 66.6667 },
- { 61.841, 0 },
-};
-
-static const StrokeRec char117[] = {
- { 7, char117_stroke0 },
- { 2, char117_stroke1 },
-};
-
-/* char: 118 'v' */
-
-static const CoordRec char118_stroke0[] = {
- { 1.8, 66.6667 },
- { 30.3714, 0 },
-};
-
-static const CoordRec char118_stroke1[] = {
- { 58.9429, 66.6667 },
- { 30.3714, 0 },
-};
-
-static const StrokeRec char118[] = {
- { 2, char118_stroke0 },
- { 2, char118_stroke1 },
-};
-
-/* char: 119 'w' */
-
-static const CoordRec char119_stroke0[] = {
- { 2.5, 66.6667 },
- { 21.5476, 0 },
-};
-
-static const CoordRec char119_stroke1[] = {
- { 40.5952, 66.6667 },
- { 21.5476, 0 },
-};
-
-static const CoordRec char119_stroke2[] = {
- { 40.5952, 66.6667 },
- { 59.6429, 0 },
-};
-
-static const CoordRec char119_stroke3[] = {
- { 78.6905, 66.6667 },
- { 59.6429, 0 },
-};
-
-static const StrokeRec char119[] = {
- { 2, char119_stroke0 },
- { 2, char119_stroke1 },
- { 2, char119_stroke2 },
- { 2, char119_stroke3 },
-};
-
-/* char: 120 'x' */
-
-static const CoordRec char120_stroke0[] = {
- { 1.66, 66.6667 },
- { 54.041, 0 },
-};
-
-static const CoordRec char120_stroke1[] = {
- { 54.041, 66.6667 },
- { 1.66, 0 },
-};
-
-static const StrokeRec char120[] = {
- { 2, char120_stroke0 },
- { 2, char120_stroke1 },
-};
-
-/* char: 121 'y' */
-
-static const CoordRec char121_stroke0[] = {
- { 6.5619, 66.6667 },
- { 35.1333, 0 },
-};
-
-static const CoordRec char121_stroke1[] = {
- { 63.7048, 66.6667 },
- { 35.1333, 0 },
- { 25.6095, -19.0476 },
- { 16.0857, -28.5714 },
- { 6.5619, -33.3333 },
- { 1.8, -33.3333 },
-};
-
-static const StrokeRec char121[] = {
- { 2, char121_stroke0 },
- { 6, char121_stroke1 },
-};
-
-/* char: 122 'z' */
-
-static const CoordRec char122_stroke0[] = {
- { 56.821, 66.6667 },
- { 4.44, 0 },
-};
-
-static const CoordRec char122_stroke1[] = {
- { 4.44, 66.6667 },
- { 56.821, 66.6667 },
-};
-
-static const CoordRec char122_stroke2[] = {
- { 4.44, 0 },
- { 56.821, 0 },
-};
-
-static const StrokeRec char122[] = {
- { 2, char122_stroke0 },
- { 2, char122_stroke1 },
- { 2, char122_stroke2 },
-};
-
-/* char: 123 '{' */
-
-static const CoordRec char123_stroke0[] = {
- { 31.1895, 119.048 },
- { 21.6657, 114.286 },
- { 16.9038, 109.524 },
- { 12.1419, 100 },
- { 12.1419, 90.4762 },
- { 16.9038, 80.9524 },
- { 21.6657, 76.1905 },
- { 26.4276, 66.6667 },
- { 26.4276, 57.1429 },
- { 16.9038, 47.619 },
-};
-
-static const CoordRec char123_stroke1[] = {
- { 21.6657, 114.286 },
- { 16.9038, 104.762 },
- { 16.9038, 95.2381 },
- { 21.6657, 85.7143 },
- { 26.4276, 80.9524 },
- { 31.1895, 71.4286 },
- { 31.1895, 61.9048 },
- { 26.4276, 52.381 },
- { 7.38, 42.8571 },
- { 26.4276, 33.3333 },
- { 31.1895, 23.8095 },
- { 31.1895, 14.2857 },
- { 26.4276, 4.7619 },
- { 21.6657, 0 },
- { 16.9038, -9.5238 },
- { 16.9038, -19.0476 },
- { 21.6657, -28.5714 },
-};
-
-static const CoordRec char123_stroke2[] = {
- { 16.9038, 38.0952 },
- { 26.4276, 28.5714 },
- { 26.4276, 19.0476 },
- { 21.6657, 9.5238 },
- { 16.9038, 4.7619 },
- { 12.1419, -4.7619 },
- { 12.1419, -14.2857 },
- { 16.9038, -23.8095 },
- { 21.6657, -28.5714 },
- { 31.1895, -33.3333 },
-};
-
-static const StrokeRec char123[] = {
- { 10, char123_stroke0 },
- { 17, char123_stroke1 },
- { 10, char123_stroke2 },
-};
-
-/* char: 124 '|' */
-
-static const CoordRec char124_stroke0[] = {
- { 11.54, 119.048 },
- { 11.54, -33.3333 },
-};
-
-static const StrokeRec char124[] = {
- { 2, char124_stroke0 },
-};
-
-/* char: 125 '}' */
-
-static const CoordRec char125_stroke0[] = {
- { 9.18, 119.048 },
- { 18.7038, 114.286 },
- { 23.4657, 109.524 },
- { 28.2276, 100 },
- { 28.2276, 90.4762 },
- { 23.4657, 80.9524 },
- { 18.7038, 76.1905 },
- { 13.9419, 66.6667 },
- { 13.9419, 57.1429 },
- { 23.4657, 47.619 },
-};
-
-static const CoordRec char125_stroke1[] = {
- { 18.7038, 114.286 },
- { 23.4657, 104.762 },
- { 23.4657, 95.2381 },
- { 18.7038, 85.7143 },
- { 13.9419, 80.9524 },
- { 9.18, 71.4286 },
- { 9.18, 61.9048 },
- { 13.9419, 52.381 },
- { 32.9895, 42.8571 },
- { 13.9419, 33.3333 },
- { 9.18, 23.8095 },
- { 9.18, 14.2857 },
- { 13.9419, 4.7619 },
- { 18.7038, 0 },
- { 23.4657, -9.5238 },
- { 23.4657, -19.0476 },
- { 18.7038, -28.5714 },
-};
-
-static const CoordRec char125_stroke2[] = {
- { 23.4657, 38.0952 },
- { 13.9419, 28.5714 },
- { 13.9419, 19.0476 },
- { 18.7038, 9.5238 },
- { 23.4657, 4.7619 },
- { 28.2276, -4.7619 },
- { 28.2276, -14.2857 },
- { 23.4657, -23.8095 },
- { 18.7038, -28.5714 },
- { 9.18, -33.3333 },
-};
-
-static const StrokeRec char125[] = {
- { 10, char125_stroke0 },
- { 17, char125_stroke1 },
- { 10, char125_stroke2 },
-};
-
-/* char: 126 '~' */
-
-static const CoordRec char126_stroke0[] = {
- { 2.92, 28.5714 },
- { 2.92, 38.0952 },
- { 7.6819, 52.381 },
- { 17.2057, 57.1429 },
- { 26.7295, 57.1429 },
- { 36.2533, 52.381 },
- { 55.301, 38.0952 },
- { 64.8248, 33.3333 },
- { 74.3486, 33.3333 },
- { 83.8724, 38.0952 },
- { 88.6343, 47.619 },
-};
-
-static const CoordRec char126_stroke1[] = {
- { 2.92, 38.0952 },
- { 7.6819, 47.619 },
- { 17.2057, 52.381 },
- { 26.7295, 52.381 },
- { 36.2533, 47.619 },
- { 55.301, 33.3333 },
- { 64.8248, 28.5714 },
- { 74.3486, 28.5714 },
- { 83.8724, 33.3333 },
- { 88.6343, 47.619 },
- { 88.6343, 57.1429 },
-};
-
-static const StrokeRec char126[] = {
- { 11, char126_stroke0 },
- { 11, char126_stroke1 },
-};
-
-/* char: 127 */
-
-static const CoordRec char127_stroke0[] = {
- { 52.381, 100 },
- { 14.2857, -33.3333 },
-};
-
-static const CoordRec char127_stroke1[] = {
- { 28.5714, 66.6667 },
- { 14.2857, 61.9048 },
- { 4.7619, 52.381 },
- { 0, 38.0952 },
- { 0, 23.8095 },
- { 4.7619, 14.2857 },
- { 14.2857, 4.7619 },
- { 28.5714, 0 },
- { 38.0952, 0 },
- { 52.381, 4.7619 },
- { 61.9048, 14.2857 },
- { 66.6667, 28.5714 },
- { 66.6667, 42.8571 },
- { 61.9048, 52.381 },
- { 52.381, 61.9048 },
- { 38.0952, 66.6667 },
- { 28.5714, 66.6667 },
-};
-
-static const StrokeRec char127[] = {
- { 2, char127_stroke0 },
- { 17, char127_stroke1 },
-};
-
-static const StrokeCharRec chars[] = {
- { 0, /* char0 */ 0, 0, 0 },
- { 0, /* char1 */ 0, 0, 0 },
- { 0, /* char2 */ 0, 0, 0 },
- { 0, /* char3 */ 0, 0, 0 },
- { 0, /* char4 */ 0, 0, 0 },
- { 0, /* char5 */ 0, 0, 0 },
- { 0, /* char6 */ 0, 0, 0 },
- { 0, /* char7 */ 0, 0, 0 },
- { 0, /* char8 */ 0, 0, 0 },
- { 0, /* char9 */ 0, 0, 0 },
- { 0, /* char10 */ 0, 0, 0 },
- { 0, /* char11 */ 0, 0, 0 },
- { 0, /* char12 */ 0, 0, 0 },
- { 0, /* char13 */ 0, 0, 0 },
- { 0, /* char14 */ 0, 0, 0 },
- { 0, /* char15 */ 0, 0, 0 },
- { 0, /* char16 */ 0, 0, 0 },
- { 0, /* char17 */ 0, 0, 0 },
- { 0, /* char18 */ 0, 0, 0 },
- { 0, /* char19 */ 0, 0, 0 },
- { 0, /* char20 */ 0, 0, 0 },
- { 0, /* char21 */ 0, 0, 0 },
- { 0, /* char22 */ 0, 0, 0 },
- { 0, /* char23 */ 0, 0, 0 },
- { 0, /* char24 */ 0, 0, 0 },
- { 0, /* char25 */ 0, 0, 0 },
- { 0, /* char26 */ 0, 0, 0 },
- { 0, /* char27 */ 0, 0, 0 },
- { 0, /* char28 */ 0, 0, 0 },
- { 0, /* char29 */ 0, 0, 0 },
- { 0, /* char30 */ 0, 0, 0 },
- { 0, /* char31 */ 0, 0, 0 },
- { 0, /* char32 */ 0, 52.381, 104.762 },
- { 2, char33, 13.3819, 26.6238 },
- { 2, char34, 23.0676, 51.4352 },
- { 4, char35, 36.5333, 79.4886 },
- { 3, char36, 38.1533, 76.2067 },
- { 3, char37, 49.2171, 96.5743 },
- { 1, char38, 53.599, 101.758 },
- { 1, char39, 4.44, 13.62 },
- { 1, char40, 21.8657, 47.1733 },
- { 1, char41, 24.3276, 47.5333 },
- { 3, char42, 30.7695, 59.439 },
- { 2, char43, 48.8371, 97.2543 },
- { 1, char44, 13.5219, 26.0638 },
- { 1, char45, 50.2371, 100.754 },
- { 1, char46, 13.1019, 26.4838 },
- { 1, char47, 40.5733, 82.1067 },
- { 1, char48, 38.3133, 77.0667 },
- { 1, char49, 30.8676, 66.5295 },
- { 1, char50, 38.7533, 77.6467 },
- { 1, char51, 38.3333, 77.0467 },
- { 2, char52, 37.2133, 80.1686 },
- { 1, char53, 38.1933, 77.6867 },
- { 1, char54, 34.1514, 73.8048 },
- { 2, char55, 38.8933, 77.2267 },
- { 1, char56, 38.9333, 77.6667 },
- { 1, char57, 39.9333, 74.0648 },
- { 2, char58, 14.0819, 26.2238 },
- { 2, char59, 12.9619, 26.3038 },
- { 1, char60, 41.1552, 81.6105 },
- { 2, char61, 48.5571, 97.2543 },
- { 1, char62, 40.8752, 81.6105 },
- { 2, char63, 36.9914, 73.9029 },
- { 2, char64, 34.9314, 74.3648 },
- { 3, char65, 40.5952, 80.4905 },
- { 3, char66, 44.7533, 83.6267 },
- { 1, char67, 39.9933, 84.4886 },
- { 2, char68, 45.2933, 85.2867 },
- { 4, char69, 39.9914, 78.1848 },
- { 3, char70, 39.9914, 78.7448 },
- { 2, char71, 40.3933, 89.7686 },
- { 3, char72, 44.7533, 89.0867 },
- { 1, char73, 10.86, 21.3 },
- { 1, char74, 31.0714, 59.999 },
- { 3, char75, 44.6133, 79.3267 },
- { 2, char76, 40.2514, 71.3229 },
- { 4, char77, 48.9552, 97.2105 },
- { 3, char78, 44.4733, 88.8067 },
- { 1, char79, 44.3352, 88.8305 },
- { 2, char80, 45.4333, 85.6667 },
- { 2, char81, 43.3952, 88.0905 },
- { 3, char82, 45.0133, 82.3667 },
- { 1, char83, 41.3333, 80.8267 },
- { 2, char84, 35.6933, 71.9467 },
- { 1, char85, 44.8733, 89.4867 },
- { 2, char86, 40.4552, 81.6105 },
- { 4, char87, 49.839, 100.518 },
- { 2, char88, 35.8333, 72.3667 },
- { 2, char89, 39.6152, 79.6505 },
- { 3, char90, 35.8333, 73.7467 },
- { 4, char91, 22.0657, 46.1133 },
- { 1, char92, 39.1733, 78.2067 },
- { 4, char93, 23.4876, 46.3933 },
- { 2, char94, 44.0752, 90.2305 },
- { 1, char95, 51.281, 104.062 },
- { 2, char96, 42.5457, 83.5714 },
- { 2, char97, 35.2514, 66.6029 },
- { 2, char98, 37.3314, 70.4629 },
- { 1, char99, 34.0914, 68.9229 },
- { 2, char100, 33.2114, 70.2629 },
- { 1, char101, 34.2914, 68.5229 },
- { 2, char102, 14.9657, 38.6552 },
- { 2, char103, 33.9314, 70.9829 },
- { 2, char104, 33.4095, 71.021 },
- { 2, char105, 14.7819, 28.8638 },
- { 2, char106, 17.3876, 36.2314 },
- { 3, char107, 33.4095, 62.521 },
- { 1, char108, 10.02, 19.34 },
- { 3, char109, 61.981, 123.962 },
- { 2, char110, 32.9895, 70.881 },
- { 1, char111, 33.5514, 71.7448 },
- { 2, char112, 38.0314, 70.8029 },
- { 2, char113, 33.4114, 70.7429 },
- { 2, char114, 23.7457, 49.4952 },
- { 1, char115, 28.5095, 62.321 },
- { 2, char116, 14.8257, 39.3152 },
- { 2, char117, 33.2695, 71.161 },
- { 2, char118, 30.3714, 60.6029 },
- { 4, char119, 40.5952, 80.4905 },
- { 2, char120, 25.4695, 56.401 },
- { 2, char121, 35.1333, 66.0648 },
- { 3, char122, 28.2495, 61.821 },
- { 3, char123, 21.6657, 41.6295 },
- { 1, char124, 11.54, 23.78 },
- { 3, char125, 18.7038, 41.4695 },
- { 2, char126, 45.7771, 91.2743 },
- { 2, char127, 33.3333, 66.6667 },
-};
-
-StrokeFontRec glutStrokeRoman = { "Roman", 128, chars, 119.048, -33.3333 };
-
diff --git a/src/glut/beos/glut_shapes.c b/src/glut/beos/glut_shapes.c
deleted file mode 100644
index ce5bebb2be..0000000000
--- a/src/glut/beos/glut_shapes.c
+++ /dev/null
@@ -1,596 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994, 1997. */
-
-/**
-(c) Copyright 1993, Silicon Graphics, Inc.
-
-ALL RIGHTS RESERVED
-
-Permission to use, copy, modify, and distribute this software
-for any purpose and without fee is hereby granted, provided
-that the above copyright notice appear in all copies and that
-both the copyright notice and this permission notice appear in
-supporting documentation, and that the name of Silicon
-Graphics, Inc. not be used in advertising or publicity
-pertaining to distribution of the software without specific,
-written prior permission.
-
-THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU
-"AS-IS" AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR
-OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO
-EVENT SHALL SILICON GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE
-ELSE FOR ANY DIRECT, SPECIAL, INCIDENTAL, INDIRECT OR
-CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER,
-INCLUDING WITHOUT LIMITATION, LOSS OF PROFIT, LOSS OF USE,
-SAVINGS OR REVENUE, OR THE CLAIMS OF THIRD PARTIES, WHETHER OR
-NOT SILICON GRAPHICS, INC. HAS BEEN ADVISED OF THE POSSIBILITY
-OF SUCH LOSS, HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-ARISING OUT OF OR IN CONNECTION WITH THE POSSESSION, USE OR
-PERFORMANCE OF THIS SOFTWARE.
-
-US Government Users Restricted Rights
-
-Use, duplication, or disclosure by the Government is subject to
-restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
-(c)(1)(ii) of the Rights in Technical Data and Computer
-Software clause at DFARS 252.227-7013 and/or in similar or
-successor clauses in the FAR or the DOD or NASA FAR
-Supplement. Unpublished-- rights reserved under the copyright
-laws of the United States. Contractor/manufacturer is Silicon
-Graphics, Inc., 2011 N. Shoreline Blvd., Mountain View, CA
-94039-7311.
-
-OpenGL(TM) is a trademark of Silicon Graphics, Inc.
-*/
-
-#include <math.h>
-#include "glutint.h"
-
-/* Some <math.h> files do not define M_PI... */
-#ifndef M_PI
-#define M_PI 3.14159265358979323846
-#endif
-
-static GLUquadricObj *quadObj;
-
-#define QUAD_OBJ_INIT() { if(!quadObj) initQuadObj(); }
-
-static void
-initQuadObj(void)
-{
- quadObj = gluNewQuadric();
- if (!quadObj)
- __glutFatalError("out of memory.");
-}
-
-/* CENTRY */
-void APIENTRY
-glutWireSphere(GLdouble radius, GLint slices, GLint stacks)
-{
- QUAD_OBJ_INIT();
- gluQuadricDrawStyle(quadObj, GLU_LINE);
- gluQuadricNormals(quadObj, GLU_SMOOTH);
- /* If we ever changed/used the texture or orientation state
- of quadObj, we'd need to change it to the defaults here
- with gluQuadricTexture and/or gluQuadricOrientation. */
- gluSphere(quadObj, radius, slices, stacks);
-}
-
-void APIENTRY
-glutSolidSphere(GLdouble radius, GLint slices, GLint stacks)
-{
- QUAD_OBJ_INIT();
- gluQuadricDrawStyle(quadObj, GLU_FILL);
- gluQuadricNormals(quadObj, GLU_SMOOTH);
- /* If we ever changed/used the texture or orientation state
- of quadObj, we'd need to change it to the defaults here
- with gluQuadricTexture and/or gluQuadricOrientation. */
- gluSphere(quadObj, radius, slices, stacks);
-}
-
-void APIENTRY
-glutWireCone(GLdouble base, GLdouble height,
- GLint slices, GLint stacks)
-{
- QUAD_OBJ_INIT();
- gluQuadricDrawStyle(quadObj, GLU_LINE);
- gluQuadricNormals(quadObj, GLU_SMOOTH);
- /* If we ever changed/used the texture or orientation state
- of quadObj, we'd need to change it to the defaults here
- with gluQuadricTexture and/or gluQuadricOrientation. */
- gluCylinder(quadObj, base, 0.0, height, slices, stacks);
-}
-
-void APIENTRY
-glutSolidCone(GLdouble base, GLdouble height,
- GLint slices, GLint stacks)
-{
- QUAD_OBJ_INIT();
- gluQuadricDrawStyle(quadObj, GLU_FILL);
- gluQuadricNormals(quadObj, GLU_SMOOTH);
- /* If we ever changed/used the texture or orientation state
- of quadObj, we'd need to change it to the defaults here
- with gluQuadricTexture and/or gluQuadricOrientation. */
- gluCylinder(quadObj, base, 0.0, height, slices, stacks);
-}
-
-/* ENDCENTRY */
-
-static void
-drawBox(GLfloat size, GLenum type)
-{
- static GLfloat n[6][3] =
- {
- {-1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {1.0, 0.0, 0.0},
- {0.0, -1.0, 0.0},
- {0.0, 0.0, 1.0},
- {0.0, 0.0, -1.0}
- };
- static GLint faces[6][4] =
- {
- {0, 1, 2, 3},
- {3, 2, 6, 7},
- {7, 6, 5, 4},
- {4, 5, 1, 0},
- {5, 6, 2, 1},
- {7, 4, 0, 3}
- };
- GLfloat v[8][3];
- GLint i;
-
- v[0][0] = v[1][0] = v[2][0] = v[3][0] = -size / 2;
- v[4][0] = v[5][0] = v[6][0] = v[7][0] = size / 2;
- v[0][1] = v[1][1] = v[4][1] = v[5][1] = -size / 2;
- v[2][1] = v[3][1] = v[6][1] = v[7][1] = size / 2;
- v[0][2] = v[3][2] = v[4][2] = v[7][2] = -size / 2;
- v[1][2] = v[2][2] = v[5][2] = v[6][2] = size / 2;
-
- for (i = 5; i >= 0; i--) {
- glBegin(type);
- glNormal3fv(&n[i][0]);
- glVertex3fv(&v[faces[i][0]][0]);
- glVertex3fv(&v[faces[i][1]][0]);
- glVertex3fv(&v[faces[i][2]][0]);
- glVertex3fv(&v[faces[i][3]][0]);
- glEnd();
- }
-}
-
-/* CENTRY */
-void APIENTRY
-glutWireCube(GLdouble size)
-{
- drawBox(size, GL_LINE_LOOP);
-}
-
-void APIENTRY
-glutSolidCube(GLdouble size)
-{
- drawBox(size, GL_QUADS);
-}
-
-/* ENDCENTRY */
-
-static void
-doughnut(GLfloat r, GLfloat R, GLint nsides, GLint rings)
-{
- int i, j;
- GLfloat theta, phi, theta1;
- GLfloat cosTheta, sinTheta;
- GLfloat cosTheta1, sinTheta1;
- GLfloat ringDelta, sideDelta;
-
- ringDelta = 2.0 * M_PI / rings;
- sideDelta = 2.0 * M_PI / nsides;
-
- theta = 0.0;
- cosTheta = 1.0;
- sinTheta = 0.0;
- for (i = rings - 1; i >= 0; i--) {
- theta1 = theta + ringDelta;
- cosTheta1 = cos(theta1);
- sinTheta1 = sin(theta1);
- glBegin(GL_QUAD_STRIP);
- phi = 0.0;
- for (j = nsides; j >= 0; j--) {
- GLfloat cosPhi, sinPhi, dist;
-
- phi += sideDelta;
- cosPhi = cos(phi);
- sinPhi = sin(phi);
- dist = R + r * cosPhi;
-
- glNormal3f(cosTheta1 * cosPhi, -sinTheta1 * cosPhi, sinPhi);
- glVertex3f(cosTheta1 * dist, -sinTheta1 * dist, r * sinPhi);
- glNormal3f(cosTheta * cosPhi, -sinTheta * cosPhi, sinPhi);
- glVertex3f(cosTheta * dist, -sinTheta * dist, r * sinPhi);
- }
- glEnd();
- theta = theta1;
- cosTheta = cosTheta1;
- sinTheta = sinTheta1;
- }
-}
-
-/* CENTRY */
-void APIENTRY
-glutWireTorus(GLdouble innerRadius, GLdouble outerRadius,
- GLint nsides, GLint rings)
-{
- glPushAttrib(GL_POLYGON_BIT);
- glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
- doughnut(innerRadius, outerRadius, nsides, rings);
- glPopAttrib();
-}
-
-void APIENTRY
-glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius,
- GLint nsides, GLint rings)
-{
- doughnut(innerRadius, outerRadius, nsides, rings);
-}
-
-/* ENDCENTRY */
-
-static GLfloat dodec[20][3];
-
-static void
-initDodecahedron(void)
-{
- GLfloat alpha, beta;
-
- alpha = sqrt(2.0 / (3.0 + sqrt(5.0)));
- beta = 1.0 + sqrt(6.0 / (3.0 + sqrt(5.0)) -
- 2.0 + 2.0 * sqrt(2.0 / (3.0 + sqrt(5.0))));
- /* *INDENT-OFF* */
- dodec[0][0] = -alpha; dodec[0][1] = 0; dodec[0][2] = beta;
- dodec[1][0] = alpha; dodec[1][1] = 0; dodec[1][2] = beta;
- dodec[2][0] = -1; dodec[2][1] = -1; dodec[2][2] = -1;
- dodec[3][0] = -1; dodec[3][1] = -1; dodec[3][2] = 1;
- dodec[4][0] = -1; dodec[4][1] = 1; dodec[4][2] = -1;
- dodec[5][0] = -1; dodec[5][1] = 1; dodec[5][2] = 1;
- dodec[6][0] = 1; dodec[6][1] = -1; dodec[6][2] = -1;
- dodec[7][0] = 1; dodec[7][1] = -1; dodec[7][2] = 1;
- dodec[8][0] = 1; dodec[8][1] = 1; dodec[8][2] = -1;
- dodec[9][0] = 1; dodec[9][1] = 1; dodec[9][2] = 1;
- dodec[10][0] = beta; dodec[10][1] = alpha; dodec[10][2] = 0;
- dodec[11][0] = beta; dodec[11][1] = -alpha; dodec[11][2] = 0;
- dodec[12][0] = -beta; dodec[12][1] = alpha; dodec[12][2] = 0;
- dodec[13][0] = -beta; dodec[13][1] = -alpha; dodec[13][2] = 0;
- dodec[14][0] = -alpha; dodec[14][1] = 0; dodec[14][2] = -beta;
- dodec[15][0] = alpha; dodec[15][1] = 0; dodec[15][2] = -beta;
- dodec[16][0] = 0; dodec[16][1] = beta; dodec[16][2] = alpha;
- dodec[17][0] = 0; dodec[17][1] = beta; dodec[17][2] = -alpha;
- dodec[18][0] = 0; dodec[18][1] = -beta; dodec[18][2] = alpha;
- dodec[19][0] = 0; dodec[19][1] = -beta; dodec[19][2] = -alpha;
- /* *INDENT-ON* */
-
-}
-
-#define DIFF3(_a,_b,_c) { \
- (_c)[0] = (_a)[0] - (_b)[0]; \
- (_c)[1] = (_a)[1] - (_b)[1]; \
- (_c)[2] = (_a)[2] - (_b)[2]; \
-}
-
-static void
-crossprod(GLfloat v1[3], GLfloat v2[3], GLfloat prod[3])
-{
- GLfloat p[3]; /* in case prod == v1 or v2 */
-
- p[0] = v1[1] * v2[2] - v2[1] * v1[2];
- p[1] = v1[2] * v2[0] - v2[2] * v1[0];
- p[2] = v1[0] * v2[1] - v2[0] * v1[1];
- prod[0] = p[0];
- prod[1] = p[1];
- prod[2] = p[2];
-}
-
-static void
-normalize(GLfloat v[3])
-{
- GLfloat d;
-
- d = sqrt(v[0] * v[0] + v[1] * v[1] + v[2] * v[2]);
- if (d == 0.0) {
- __glutWarning("normalize: zero length vector");
- v[0] = d = 1.0;
- }
- d = 1 / d;
- v[0] *= d;
- v[1] *= d;
- v[2] *= d;
-}
-
-static void
-pentagon(int a, int b, int c, int d, int e, GLenum shadeType)
-{
- GLfloat n0[3], d1[3], d2[3];
-
- DIFF3(dodec[a], dodec[b], d1);
- DIFF3(dodec[b], dodec[c], d2);
- crossprod(d1, d2, n0);
- normalize(n0);
-
- glBegin(shadeType);
- glNormal3fv(n0);
- glVertex3fv(&dodec[a][0]);
- glVertex3fv(&dodec[b][0]);
- glVertex3fv(&dodec[c][0]);
- glVertex3fv(&dodec[d][0]);
- glVertex3fv(&dodec[e][0]);
- glEnd();
-}
-
-static void
-dodecahedron(GLenum type)
-{
- static int inited = 0;
-
- if (inited == 0) {
- inited = 1;
- initDodecahedron();
- }
- pentagon(0, 1, 9, 16, 5, type);
- pentagon(1, 0, 3, 18, 7, type);
- pentagon(1, 7, 11, 10, 9, type);
- pentagon(11, 7, 18, 19, 6, type);
- pentagon(8, 17, 16, 9, 10, type);
- pentagon(2, 14, 15, 6, 19, type);
- pentagon(2, 13, 12, 4, 14, type);
- pentagon(2, 19, 18, 3, 13, type);
- pentagon(3, 0, 5, 12, 13, type);
- pentagon(6, 15, 8, 10, 11, type);
- pentagon(4, 17, 8, 15, 14, type);
- pentagon(4, 12, 5, 16, 17, type);
-}
-
-/* CENTRY */
-void APIENTRY
-glutWireDodecahedron(void)
-{
- dodecahedron(GL_LINE_LOOP);
-}
-
-void APIENTRY
-glutSolidDodecahedron(void)
-{
- dodecahedron(GL_TRIANGLE_FAN);
-}
-
-/* ENDCENTRY */
-
-static void
-recorditem(GLfloat * n1, GLfloat * n2, GLfloat * n3,
- GLenum shadeType)
-{
- GLfloat q0[3], q1[3];
-
- DIFF3(n1, n2, q0);
- DIFF3(n2, n3, q1);
- crossprod(q0, q1, q1);
- normalize(q1);
-
- glBegin(shadeType);
- glNormal3fv(q1);
- glVertex3fv(n1);
- glVertex3fv(n2);
- glVertex3fv(n3);
- glEnd();
-}
-
-static void
-subdivide(GLfloat * v0, GLfloat * v1, GLfloat * v2,
- GLenum shadeType)
-{
- int depth;
- GLfloat w0[3], w1[3], w2[3];
- GLfloat l;
- int i, j, k, n;
-
- depth = 1;
- for (i = 0; i < depth; i++) {
- for (j = 0; i + j < depth; j++) {
- k = depth - i - j;
- for (n = 0; n < 3; n++) {
- w0[n] = (i * v0[n] + j * v1[n] + k * v2[n]) / depth;
- w1[n] = ((i + 1) * v0[n] + j * v1[n] + (k - 1) * v2[n])
- / depth;
- w2[n] = (i * v0[n] + (j + 1) * v1[n] + (k - 1) * v2[n])
- / depth;
- }
- l = sqrt(w0[0] * w0[0] + w0[1] * w0[1] + w0[2] * w0[2]);
- w0[0] /= l;
- w0[1] /= l;
- w0[2] /= l;
- l = sqrt(w1[0] * w1[0] + w1[1] * w1[1] + w1[2] * w1[2]);
- w1[0] /= l;
- w1[1] /= l;
- w1[2] /= l;
- l = sqrt(w2[0] * w2[0] + w2[1] * w2[1] + w2[2] * w2[2]);
- w2[0] /= l;
- w2[1] /= l;
- w2[2] /= l;
- recorditem(w1, w0, w2, shadeType);
- }
- }
-}
-
-static void
-drawtriangle(int i, GLfloat data[][3], int ndx[][3],
- GLenum shadeType)
-{
- GLfloat *x0, *x1, *x2;
-
- x0 = data[ndx[i][0]];
- x1 = data[ndx[i][1]];
- x2 = data[ndx[i][2]];
- subdivide(x0, x1, x2, shadeType);
-}
-
-/* octahedron data: The octahedron produced is centered at the
- origin and has radius 1.0 */
-static GLfloat odata[6][3] =
-{
- {1.0, 0.0, 0.0},
- {-1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, -1.0, 0.0},
- {0.0, 0.0, 1.0},
- {0.0, 0.0, -1.0}
-};
-
-static int ondex[8][3] =
-{
- {0, 4, 2},
- {1, 2, 4},
- {0, 3, 4},
- {1, 4, 3},
- {0, 2, 5},
- {1, 5, 2},
- {0, 5, 3},
- {1, 3, 5}
-};
-
-static void
-octahedron(GLenum shadeType)
-{
- int i;
-
- for (i = 7; i >= 0; i--) {
- drawtriangle(i, odata, ondex, shadeType);
- }
-}
-
-/* CENTRY */
-void APIENTRY
-glutWireOctahedron(void)
-{
- octahedron(GL_LINE_LOOP);
-}
-
-void APIENTRY
-glutSolidOctahedron(void)
-{
- octahedron(GL_TRIANGLES);
-}
-
-/* ENDCENTRY */
-
-/* icosahedron data: These numbers are rigged to make an
- icosahedron of radius 1.0 */
-
-#define X .525731112119133606
-#define Z .850650808352039932
-
-static GLfloat idata[12][3] =
-{
- {-X, 0, Z},
- {X, 0, Z},
- {-X, 0, -Z},
- {X, 0, -Z},
- {0, Z, X},
- {0, Z, -X},
- {0, -Z, X},
- {0, -Z, -X},
- {Z, X, 0},
- {-Z, X, 0},
- {Z, -X, 0},
- {-Z, -X, 0}
-};
-
-static int index[20][3] =
-{
- {0, 4, 1},
- {0, 9, 4},
- {9, 5, 4},
- {4, 5, 8},
- {4, 8, 1},
- {8, 10, 1},
- {8, 3, 10},
- {5, 3, 8},
- {5, 2, 3},
- {2, 7, 3},
- {7, 10, 3},
- {7, 6, 10},
- {7, 11, 6},
- {11, 0, 6},
- {0, 1, 6},
- {6, 1, 10},
- {9, 0, 11},
- {9, 11, 2},
- {9, 2, 5},
- {7, 2, 11},
-};
-
-static void
-icosahedron(GLenum shadeType)
-{
- int i;
-
- for (i = 19; i >= 0; i--) {
- drawtriangle(i, idata, index, shadeType);
- }
-}
-
-/* CENTRY */
-void APIENTRY
-glutWireIcosahedron(void)
-{
- icosahedron(GL_LINE_LOOP);
-}
-
-void APIENTRY
-glutSolidIcosahedron(void)
-{
- icosahedron(GL_TRIANGLES);
-}
-
-/* ENDCENTRY */
-
-/* tetrahedron data: */
-
-#define T 1.73205080756887729
-
-static GLfloat tdata[4][3] =
-{
- {T, T, T},
- {T, -T, -T},
- {-T, T, -T},
- {-T, -T, T}
-};
-
-static int tndex[4][3] =
-{
- {0, 1, 3},
- {2, 1, 0},
- {3, 2, 0},
- {1, 2, 3}
-};
-
-static void
-tetrahedron(GLenum shadeType)
-{
- int i;
-
- for (i = 3; i >= 0; i--)
- drawtriangle(i, tdata, tndex, shadeType);
-}
-
-/* CENTRY */
-void APIENTRY
-glutWireTetrahedron(void)
-{
- tetrahedron(GL_LINE_LOOP);
-}
-
-void APIENTRY
-glutSolidTetrahedron(void)
-{
- tetrahedron(GL_TRIANGLES);
-}
-
-/* ENDCENTRY */
diff --git a/src/glut/beos/glut_stroke.c b/src/glut/beos/glut_stroke.c
deleted file mode 100644
index 2fe408be1a..0000000000
--- a/src/glut/beos/glut_stroke.c
+++ /dev/null
@@ -1,42 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include "glutint.h"
-#include "glutstroke.h"
-
-void APIENTRY
-glutStrokeCharacter(GLUTstrokeFont font, int c)
-{
- const StrokeCharRec *ch;
- const StrokeRec *stroke;
- const CoordRec *coord;
- StrokeFontPtr fontinfo;
- int i, j;
-
-
-#if defined(_WIN32)
- fontinfo = (StrokeFontPtr) __glutFont(font);
-#else
- fontinfo = (StrokeFontPtr) font;
-#endif
-
- if (c < 0 || c >= fontinfo->num_chars)
- return;
- ch = &(fontinfo->ch[c]);
- if (ch) {
- for (i = ch->num_strokes, stroke = ch->stroke;
- i > 0; i--, stroke++) {
- glBegin(GL_LINE_STRIP);
- for (j = stroke->num_coords, coord = stroke->coord;
- j > 0; j--, coord++) {
- glVertex2f(coord->x, coord->y);
- }
- glEnd();
- }
- glTranslatef(ch->right, 0.0, 0.0);
- }
-}
diff --git a/src/glut/beos/glut_swidth.c b/src/glut/beos/glut_swidth.c
deleted file mode 100644
index e1b7374575..0000000000
--- a/src/glut/beos/glut_swidth.c
+++ /dev/null
@@ -1,58 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1995. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include "glutint.h"
-#include "glutstroke.h"
-
-/* CENTRY */
-int APIENTRY
-glutStrokeWidth(GLUTstrokeFont font, int c)
-{
- StrokeFontPtr fontinfo;
- const StrokeCharRec *ch;
-
-#if defined(_WIN32)
- fontinfo = (StrokeFontPtr) __glutFont(font);
-#else
- fontinfo = (StrokeFontPtr) font;
-#endif
-
- if (c < 0 || c >= fontinfo->num_chars)
- return 0;
- ch = &(fontinfo->ch[c]);
- if (ch)
- return ch->right;
- else
- return 0;
-}
-
-int APIENTRY
-glutStrokeLength(GLUTstrokeFont font, const unsigned char *string)
-{
- int c, length;
- StrokeFontPtr fontinfo;
- const StrokeCharRec *ch;
-
-#if defined(_WIN32)
- fontinfo = (StrokeFontPtr) __glutFont(font);
-#else
- fontinfo = (StrokeFontPtr) font;
-#endif
-
- length = 0;
- for (; *string != '\0'; string++) {
- c = *string;
- if (c >= 0 && c < fontinfo->num_chars) {
- ch = &(fontinfo->ch[c]);
- if (ch)
- length += ch->right;
- }
- }
- return length;
-}
-
-/* ENDCENTRY */
diff --git a/src/glut/beos/glut_teapot.c b/src/glut/beos/glut_teapot.c
deleted file mode 100644
index 3c9bdc1ab7..0000000000
--- a/src/glut/beos/glut_teapot.c
+++ /dev/null
@@ -1,210 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994. */
-
-/**
-(c) Copyright 1993, Silicon Graphics, Inc.
-
-ALL RIGHTS RESERVED
-
-Permission to use, copy, modify, and distribute this software
-for any purpose and without fee is hereby granted, provided
-that the above copyright notice appear in all copies and that
-both the copyright notice and this permission notice appear in
-supporting documentation, and that the name of Silicon
-Graphics, Inc. not be used in advertising or publicity
-pertaining to distribution of the software without specific,
-written prior permission.
-
-THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU
-"AS-IS" AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR
-OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO
-EVENT SHALL SILICON GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE
-ELSE FOR ANY DIRECT, SPECIAL, INCIDENTAL, INDIRECT OR
-CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER,
-INCLUDING WITHOUT LIMITATION, LOSS OF PROFIT, LOSS OF USE,
-SAVINGS OR REVENUE, OR THE CLAIMS OF THIRD PARTIES, WHETHER OR
-NOT SILICON GRAPHICS, INC. HAS BEEN ADVISED OF THE POSSIBILITY
-OF SUCH LOSS, HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-ARISING OUT OF OR IN CONNECTION WITH THE POSSESSION, USE OR
-PERFORMANCE OF THIS SOFTWARE.
-
-US Government Users Restricted Rights
-
-Use, duplication, or disclosure by the Government is subject to
-restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
-(c)(1)(ii) of the Rights in Technical Data and Computer
-Software clause at DFARS 252.227-7013 and/or in similar or
-successor clauses in the FAR or the DOD or NASA FAR
-Supplement. Unpublished-- rights reserved under the copyright
-laws of the United States. Contractor/manufacturer is Silicon
-Graphics, Inc., 2011 N. Shoreline Blvd., Mountain View, CA
-94039-7311.
-
-OpenGL(TM) is a trademark of Silicon Graphics, Inc.
-*/
-
-#include "glutint.h"
-
-/* Rim, body, lid, and bottom data must be reflected in x and
- y; handle and spout data across the y axis only. */
-
-static int patchdata[][16] =
-{
- /* rim */
- {102, 103, 104, 105, 4, 5, 6, 7, 8, 9, 10, 11,
- 12, 13, 14, 15},
- /* body */
- {12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
- 24, 25, 26, 27},
- {24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40},
- /* lid */
- {96, 96, 96, 96, 97, 98, 99, 100, 101, 101, 101,
- 101, 0, 1, 2, 3,},
- {0, 1, 2, 3, 106, 107, 108, 109, 110, 111, 112,
- 113, 114, 115, 116, 117},
- /* bottom */
- {118, 118, 118, 118, 124, 122, 119, 121, 123, 126,
- 125, 120, 40, 39, 38, 37},
- /* handle */
- {41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, 56},
- {53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
- 28, 65, 66, 67},
- /* spout */
- {68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
- 80, 81, 82, 83},
- {80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
- 92, 93, 94, 95}
-};
-/* *INDENT-OFF* */
-
-static float cpdata[][3] =
-{
- {0.2, 0, 2.7}, {0.2, -0.112, 2.7}, {0.112, -0.2, 2.7}, {0,
- -0.2, 2.7}, {1.3375, 0, 2.53125}, {1.3375, -0.749, 2.53125},
- {0.749, -1.3375, 2.53125}, {0, -1.3375, 2.53125}, {1.4375,
- 0, 2.53125}, {1.4375, -0.805, 2.53125}, {0.805, -1.4375,
- 2.53125}, {0, -1.4375, 2.53125}, {1.5, 0, 2.4}, {1.5, -0.84,
- 2.4}, {0.84, -1.5, 2.4}, {0, -1.5, 2.4}, {1.75, 0, 1.875},
- {1.75, -0.98, 1.875}, {0.98, -1.75, 1.875}, {0, -1.75,
- 1.875}, {2, 0, 1.35}, {2, -1.12, 1.35}, {1.12, -2, 1.35},
- {0, -2, 1.35}, {2, 0, 0.9}, {2, -1.12, 0.9}, {1.12, -2,
- 0.9}, {0, -2, 0.9}, {-2, 0, 0.9}, {2, 0, 0.45}, {2, -1.12,
- 0.45}, {1.12, -2, 0.45}, {0, -2, 0.45}, {1.5, 0, 0.225},
- {1.5, -0.84, 0.225}, {0.84, -1.5, 0.225}, {0, -1.5, 0.225},
- {1.5, 0, 0.15}, {1.5, -0.84, 0.15}, {0.84, -1.5, 0.15}, {0,
- -1.5, 0.15}, {-1.6, 0, 2.025}, {-1.6, -0.3, 2.025}, {-1.5,
- -0.3, 2.25}, {-1.5, 0, 2.25}, {-2.3, 0, 2.025}, {-2.3, -0.3,
- 2.025}, {-2.5, -0.3, 2.25}, {-2.5, 0, 2.25}, {-2.7, 0,
- 2.025}, {-2.7, -0.3, 2.025}, {-3, -0.3, 2.25}, {-3, 0,
- 2.25}, {-2.7, 0, 1.8}, {-2.7, -0.3, 1.8}, {-3, -0.3, 1.8},
- {-3, 0, 1.8}, {-2.7, 0, 1.575}, {-2.7, -0.3, 1.575}, {-3,
- -0.3, 1.35}, {-3, 0, 1.35}, {-2.5, 0, 1.125}, {-2.5, -0.3,
- 1.125}, {-2.65, -0.3, 0.9375}, {-2.65, 0, 0.9375}, {-2,
- -0.3, 0.9}, {-1.9, -0.3, 0.6}, {-1.9, 0, 0.6}, {1.7, 0,
- 1.425}, {1.7, -0.66, 1.425}, {1.7, -0.66, 0.6}, {1.7, 0,
- 0.6}, {2.6, 0, 1.425}, {2.6, -0.66, 1.425}, {3.1, -0.66,
- 0.825}, {3.1, 0, 0.825}, {2.3, 0, 2.1}, {2.3, -0.25, 2.1},
- {2.4, -0.25, 2.025}, {2.4, 0, 2.025}, {2.7, 0, 2.4}, {2.7,
- -0.25, 2.4}, {3.3, -0.25, 2.4}, {3.3, 0, 2.4}, {2.8, 0,
- 2.475}, {2.8, -0.25, 2.475}, {3.525, -0.25, 2.49375},
- {3.525, 0, 2.49375}, {2.9, 0, 2.475}, {2.9, -0.15, 2.475},
- {3.45, -0.15, 2.5125}, {3.45, 0, 2.5125}, {2.8, 0, 2.4},
- {2.8, -0.15, 2.4}, {3.2, -0.15, 2.4}, {3.2, 0, 2.4}, {0, 0,
- 3.15}, {0.8, 0, 3.15}, {0.8, -0.45, 3.15}, {0.45, -0.8,
- 3.15}, {0, -0.8, 3.15}, {0, 0, 2.85}, {1.4, 0, 2.4}, {1.4,
- -0.784, 2.4}, {0.784, -1.4, 2.4}, {0, -1.4, 2.4}, {0.4, 0,
- 2.55}, {0.4, -0.224, 2.55}, {0.224, -0.4, 2.55}, {0, -0.4,
- 2.55}, {1.3, 0, 2.55}, {1.3, -0.728, 2.55}, {0.728, -1.3,
- 2.55}, {0, -1.3, 2.55}, {1.3, 0, 2.4}, {1.3, -0.728, 2.4},
- {0.728, -1.3, 2.4}, {0, -1.3, 2.4}, {0, 0, 0}, {1.425,
- -0.798, 0}, {1.5, 0, 0.075}, {1.425, 0, 0}, {0.798, -1.425,
- 0}, {0, -1.5, 0.075}, {0, -1.425, 0}, {1.5, -0.84, 0.075},
- {0.84, -1.5, 0.075}
-};
-
-static float tex[2][2][2] =
-{
- { {0, 0},
- {1, 0}},
- { {0, 1},
- {1, 1}}
-};
-
-/* *INDENT-ON* */
-
-static void
-teapot(GLint grid, GLdouble scale, GLenum type)
-{
- float p[4][4][3], q[4][4][3], r[4][4][3], s[4][4][3];
- long i, j, k, l;
-
- glPushAttrib(GL_ENABLE_BIT | GL_EVAL_BIT);
- glEnable(GL_AUTO_NORMAL);
- glEnable(GL_NORMALIZE);
- glEnable(GL_MAP2_VERTEX_3);
- glEnable(GL_MAP2_TEXTURE_COORD_2);
- glPushMatrix();
- glRotatef(270.0, 1.0, 0.0, 0.0);
- glScalef(0.5 * scale, 0.5 * scale, 0.5 * scale);
- glTranslatef(0.0, 0.0, -1.5);
- for (i = 0; i < 10; i++) {
- for (j = 0; j < 4; j++) {
- for (k = 0; k < 4; k++) {
- for (l = 0; l < 3; l++) {
- p[j][k][l] = cpdata[patchdata[i][j * 4 + k]][l];
- q[j][k][l] = cpdata[patchdata[i][j * 4 + (3 - k)]][l];
- if (l == 1)
- q[j][k][l] *= -1.0;
- if (i < 6) {
- r[j][k][l] =
- cpdata[patchdata[i][j * 4 + (3 - k)]][l];
- if (l == 0)
- r[j][k][l] *= -1.0;
- s[j][k][l] = cpdata[patchdata[i][j * 4 + k]][l];
- if (l == 0)
- s[j][k][l] *= -1.0;
- if (l == 1)
- s[j][k][l] *= -1.0;
- }
- }
- }
- }
- glMap2f(GL_MAP2_TEXTURE_COORD_2, 0, 1, 2, 2, 0, 1, 4, 2,
- &tex[0][0][0]);
- glMap2f(GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4,
- &p[0][0][0]);
- glMapGrid2f(grid, 0.0, 1.0, grid, 0.0, 1.0);
- glEvalMesh2(type, 0, grid, 0, grid);
- glMap2f(GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4,
- &q[0][0][0]);
- glEvalMesh2(type, 0, grid, 0, grid);
- if (i < 6) {
- glMap2f(GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4,
- &r[0][0][0]);
- glEvalMesh2(type, 0, grid, 0, grid);
- glMap2f(GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4,
- &s[0][0][0]);
- glEvalMesh2(type, 0, grid, 0, grid);
- }
- }
- glPopMatrix();
- glPopAttrib();
-}
-
-/* CENTRY */
-void APIENTRY
-glutSolidTeapot(GLdouble scale)
-{
- teapot(14, scale, GL_FILL);
-}
-
-void APIENTRY
-glutWireTeapot(GLdouble scale)
-{
- teapot(10, scale, GL_LINE);
-}
-
-/* ENDCENTRY */
diff --git a/src/glut/beos/glut_tr10.c b/src/glut/beos/glut_tr10.c
deleted file mode 100644
index 0fac8070ca..0000000000
--- a/src/glut/beos/glut_tr10.c
+++ /dev/null
@@ -1,1777 +0,0 @@
-
-/* GENERATED FILE -- DO NOT MODIFY */
-
-#define glutBitmapTimesRoman10 XXX
-#include "glutbitmap.h"
-#undef glutBitmapTimesRoman10
-
-/* char: 0xff */
-
-static const GLubyte ch255data[] = {
-0x80,0xc0,0x40,0x60,0xa0,0x90,0xb8,0x0,0xa0,
-};
-
-static const BitmapCharRec ch255 = {5,9,0,2,5,ch255data};
-
-/* char: 0xfe */
-
-static const GLubyte ch254data[] = {
-0xc0,0x80,0xe0,0x90,0x90,0x90,0xe0,0x80,0x80,
-};
-
-static const BitmapCharRec ch254 = {4,9,0,2,5,ch254data};
-
-/* char: 0xfd */
-
-static const GLubyte ch253data[] = {
-0x80,0xc0,0x40,0x60,0xa0,0x90,0xb8,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch253 = {5,10,0,2,5,ch253data};
-
-/* char: 0xfc */
-
-static const GLubyte ch252data[] = {
-0x68,0x90,0x90,0x90,0x90,0x0,0x50,
-};
-
-static const BitmapCharRec ch252 = {5,7,0,0,5,ch252data};
-
-/* char: 0xfb */
-
-static const GLubyte ch251data[] = {
-0x68,0x90,0x90,0x90,0x90,0x0,0x50,0x20,
-};
-
-static const BitmapCharRec ch251 = {5,8,0,0,5,ch251data};
-
-/* char: 0xfa */
-
-static const GLubyte ch250data[] = {
-0x68,0x90,0x90,0x90,0x90,0x0,0x40,0x20,
-};
-
-static const BitmapCharRec ch250 = {5,8,0,0,5,ch250data};
-
-/* char: 0xf9 */
-
-static const GLubyte ch249data[] = {
-0x68,0x90,0x90,0x90,0x90,0x0,0x20,0x40,
-};
-
-static const BitmapCharRec ch249 = {5,8,0,0,5,ch249data};
-
-/* char: 0xf8 */
-
-static const GLubyte ch248data[] = {
-0x80,0x70,0x48,0x48,0x48,0x38,0x4,
-};
-
-static const BitmapCharRec ch248 = {6,7,1,1,5,ch248data};
-
-/* char: 0xf7 */
-
-static const GLubyte ch247data[] = {
-0x20,0x0,0xf8,0x0,0x20,
-};
-
-static const BitmapCharRec ch247 = {5,5,0,0,6,ch247data};
-
-/* char: 0xf6 */
-
-static const GLubyte ch246data[] = {
-0x60,0x90,0x90,0x90,0x60,0x0,0xa0,
-};
-
-static const BitmapCharRec ch246 = {4,7,0,0,5,ch246data};
-
-/* char: 0xf5 */
-
-static const GLubyte ch245data[] = {
-0x60,0x90,0x90,0x90,0x60,0x0,0xa0,0x50,
-};
-
-static const BitmapCharRec ch245 = {4,8,0,0,5,ch245data};
-
-/* char: 0xf4 */
-
-static const GLubyte ch244data[] = {
-0x60,0x90,0x90,0x90,0x60,0x0,0xa0,0x40,
-};
-
-static const BitmapCharRec ch244 = {4,8,0,0,5,ch244data};
-
-/* char: 0xf3 */
-
-static const GLubyte ch243data[] = {
-0x60,0x90,0x90,0x90,0x60,0x0,0x40,0x20,
-};
-
-static const BitmapCharRec ch243 = {4,8,0,0,5,ch243data};
-
-/* char: 0xf2 */
-
-static const GLubyte ch242data[] = {
-0x60,0x90,0x90,0x90,0x60,0x0,0x20,0x40,
-};
-
-static const BitmapCharRec ch242 = {4,8,0,0,5,ch242data};
-
-/* char: 0xf1 */
-
-static const GLubyte ch241data[] = {
-0xd8,0x90,0x90,0x90,0xe0,0x0,0xa0,0x50,
-};
-
-static const BitmapCharRec ch241 = {5,8,0,0,5,ch241data};
-
-/* char: 0xf0 */
-
-static const GLubyte ch240data[] = {
-0x60,0x90,0x90,0x90,0x70,0xa0,0x70,0x40,
-};
-
-static const BitmapCharRec ch240 = {4,8,0,0,5,ch240data};
-
-/* char: 0xef */
-
-static const GLubyte ch239data[] = {
-0xe0,0x40,0x40,0x40,0xc0,0x0,0xa0,
-};
-
-static const BitmapCharRec ch239 = {3,7,0,0,4,ch239data};
-
-/* char: 0xee */
-
-static const GLubyte ch238data[] = {
-0xe0,0x40,0x40,0x40,0xc0,0x0,0xa0,0x40,
-};
-
-static const BitmapCharRec ch238 = {3,8,0,0,4,ch238data};
-
-/* char: 0xed */
-
-static const GLubyte ch237data[] = {
-0xe0,0x40,0x40,0x40,0xc0,0x0,0x40,0x20,
-};
-
-static const BitmapCharRec ch237 = {3,8,0,0,4,ch237data};
-
-/* char: 0xec */
-
-static const GLubyte ch236data[] = {
-0xe0,0x40,0x40,0x40,0xc0,0x0,0x40,0x80,
-};
-
-static const BitmapCharRec ch236 = {3,8,0,0,4,ch236data};
-
-/* char: 0xeb */
-
-static const GLubyte ch235data[] = {
-0x60,0x80,0xc0,0xa0,0x60,0x0,0xa0,
-};
-
-static const BitmapCharRec ch235 = {3,7,0,0,4,ch235data};
-
-/* char: 0xea */
-
-static const GLubyte ch234data[] = {
-0x60,0x80,0xc0,0xa0,0x60,0x0,0xa0,0x40,
-};
-
-static const BitmapCharRec ch234 = {3,8,0,0,4,ch234data};
-
-/* char: 0xe9 */
-
-static const GLubyte ch233data[] = {
-0x60,0x80,0xc0,0xa0,0x60,0x0,0x40,0x20,
-};
-
-static const BitmapCharRec ch233 = {3,8,0,0,4,ch233data};
-
-/* char: 0xe8 */
-
-static const GLubyte ch232data[] = {
-0x60,0x80,0xc0,0xa0,0x60,0x0,0x40,0x80,
-};
-
-static const BitmapCharRec ch232 = {3,8,0,0,4,ch232data};
-
-/* char: 0xe7 */
-
-static const GLubyte ch231data[] = {
-0xc0,0x20,0x40,0x60,0x80,0x80,0x80,0x60,
-};
-
-static const BitmapCharRec ch231 = {3,8,0,3,4,ch231data};
-
-/* char: 0xe6 */
-
-static const GLubyte ch230data[] = {
-0xd8,0xa0,0x70,0x28,0xd8,
-};
-
-static const BitmapCharRec ch230 = {5,5,0,0,6,ch230data};
-
-/* char: 0xe5 */
-
-static const GLubyte ch229data[] = {
-0xe0,0xa0,0x60,0x20,0xc0,0x40,0xa0,0x40,
-};
-
-static const BitmapCharRec ch229 = {3,8,0,0,4,ch229data};
-
-/* char: 0xe4 */
-
-static const GLubyte ch228data[] = {
-0xe0,0xa0,0x60,0x20,0xc0,0x0,0xa0,
-};
-
-static const BitmapCharRec ch228 = {3,7,0,0,4,ch228data};
-
-/* char: 0xe3 */
-
-static const GLubyte ch227data[] = {
-0xe0,0xa0,0x60,0x20,0xc0,0x0,0xa0,0x50,
-};
-
-static const BitmapCharRec ch227 = {4,8,0,0,4,ch227data};
-
-/* char: 0xe2 */
-
-static const GLubyte ch226data[] = {
-0xe0,0xa0,0x60,0x20,0xc0,0x0,0xa0,0x40,
-};
-
-static const BitmapCharRec ch226 = {3,8,0,0,4,ch226data};
-
-/* char: 0xe1 */
-
-static const GLubyte ch225data[] = {
-0xe0,0xa0,0x60,0x20,0xc0,0x0,0x40,0x20,
-};
-
-static const BitmapCharRec ch225 = {3,8,0,0,4,ch225data};
-
-/* char: 0xe0 */
-
-static const GLubyte ch224data[] = {
-0xe0,0xa0,0x60,0x20,0xc0,0x0,0x40,0x80,
-};
-
-static const BitmapCharRec ch224 = {3,8,0,0,4,ch224data};
-
-/* char: 0xdf */
-
-static const GLubyte ch223data[] = {
-0xe0,0x50,0x50,0x60,0x50,0x50,0x20,
-};
-
-static const BitmapCharRec ch223 = {4,7,0,0,5,ch223data};
-
-/* char: 0xde */
-
-static const GLubyte ch222data[] = {
-0xe0,0x40,0x70,0x48,0x70,0x40,0xe0,
-};
-
-static const BitmapCharRec ch222 = {5,7,0,0,6,ch222data};
-
-/* char: 0xdd */
-
-static const GLubyte ch221data[] = {
-0x38,0x10,0x10,0x28,0x28,0x44,0xee,0x0,0x10,0x8,
-};
-
-static const BitmapCharRec ch221 = {7,10,0,0,8,ch221data};
-
-/* char: 0xdc */
-
-static const GLubyte ch220data[] = {
-0x38,0x6c,0x44,0x44,0x44,0x44,0xee,0x0,0x28,
-};
-
-static const BitmapCharRec ch220 = {7,9,0,0,8,ch220data};
-
-/* char: 0xdb */
-
-static const GLubyte ch219data[] = {
-0x38,0x6c,0x44,0x44,0x44,0x44,0xee,0x0,0x28,0x10,
-};
-
-static const BitmapCharRec ch219 = {7,10,0,0,8,ch219data};
-
-/* char: 0xda */
-
-static const GLubyte ch218data[] = {
-0x38,0x6c,0x44,0x44,0x44,0x44,0xee,0x0,0x10,0x8,
-};
-
-static const BitmapCharRec ch218 = {7,10,0,0,8,ch218data};
-
-/* char: 0xd9 */
-
-static const GLubyte ch217data[] = {
-0x38,0x6c,0x44,0x44,0x44,0x44,0xee,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch217 = {7,10,0,0,8,ch217data};
-
-/* char: 0xd8 */
-
-static const GLubyte ch216data[] = {
-0x80,0x7c,0x66,0x52,0x52,0x4a,0x66,0x3e,0x1,
-};
-
-static const BitmapCharRec ch216 = {8,9,0,1,8,ch216data};
-
-/* char: 0xd7 */
-
-static const GLubyte ch215data[] = {
-0x88,0x50,0x20,0x50,0x88,
-};
-
-static const BitmapCharRec ch215 = {5,5,0,0,6,ch215data};
-
-/* char: 0xd6 */
-
-static const GLubyte ch214data[] = {
-0x78,0xcc,0x84,0x84,0x84,0xcc,0x78,0x0,0x50,
-};
-
-static const BitmapCharRec ch214 = {6,9,0,0,7,ch214data};
-
-/* char: 0xd5 */
-
-static const GLubyte ch213data[] = {
-0x78,0xcc,0x84,0x84,0x84,0xcc,0x78,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch213 = {6,10,0,0,7,ch213data};
-
-/* char: 0xd4 */
-
-static const GLubyte ch212data[] = {
-0x78,0xcc,0x84,0x84,0x84,0xcc,0x78,0x0,0x50,0x20,
-};
-
-static const BitmapCharRec ch212 = {6,10,0,0,7,ch212data};
-
-/* char: 0xd3 */
-
-static const GLubyte ch211data[] = {
-0x78,0xcc,0x84,0x84,0x84,0xcc,0x78,0x0,0x10,0x8,
-};
-
-static const BitmapCharRec ch211 = {6,10,0,0,7,ch211data};
-
-/* char: 0xd2 */
-
-static const GLubyte ch210data[] = {
-0x78,0xcc,0x84,0x84,0x84,0xcc,0x78,0x0,0x20,0x40,
-};
-
-static const BitmapCharRec ch210 = {6,10,0,0,7,ch210data};
-
-/* char: 0xd1 */
-
-static const GLubyte ch209data[] = {
-0xe4,0x4c,0x4c,0x54,0x54,0x64,0xee,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch209 = {7,10,0,0,8,ch209data};
-
-/* char: 0xd0 */
-
-static const GLubyte ch208data[] = {
-0xf8,0x4c,0x44,0xe4,0x44,0x4c,0xf8,
-};
-
-static const BitmapCharRec ch208 = {6,7,0,0,7,ch208data};
-
-/* char: 0xcf */
-
-static const GLubyte ch207data[] = {
-0xe0,0x40,0x40,0x40,0x40,0x40,0xe0,0x0,0xa0,
-};
-
-static const BitmapCharRec ch207 = {3,9,0,0,4,ch207data};
-
-/* char: 0xce */
-
-static const GLubyte ch206data[] = {
-0xe0,0x40,0x40,0x40,0x40,0x40,0xe0,0x0,0xa0,0x40,
-};
-
-static const BitmapCharRec ch206 = {3,10,0,0,4,ch206data};
-
-/* char: 0xcd */
-
-static const GLubyte ch205data[] = {
-0xe0,0x40,0x40,0x40,0x40,0x40,0xe0,0x0,0x40,0x20,
-};
-
-static const BitmapCharRec ch205 = {3,10,0,0,4,ch205data};
-
-/* char: 0xcc */
-
-static const GLubyte ch204data[] = {
-0xe0,0x40,0x40,0x40,0x40,0x40,0xe0,0x0,0x40,0x80,
-};
-
-static const BitmapCharRec ch204 = {3,10,0,0,4,ch204data};
-
-/* char: 0xcb */
-
-static const GLubyte ch203data[] = {
-0xf8,0x48,0x40,0x70,0x40,0x48,0xf8,0x0,0x50,
-};
-
-static const BitmapCharRec ch203 = {5,9,0,0,6,ch203data};
-
-/* char: 0xca */
-
-static const GLubyte ch202data[] = {
-0xf8,0x48,0x40,0x70,0x40,0x48,0xf8,0x0,0x50,0x20,
-};
-
-static const BitmapCharRec ch202 = {5,10,0,0,6,ch202data};
-
-/* char: 0xc9 */
-
-static const GLubyte ch201data[] = {
-0xf8,0x48,0x40,0x70,0x40,0x48,0xf8,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch201 = {5,10,0,0,6,ch201data};
-
-/* char: 0xc8 */
-
-static const GLubyte ch200data[] = {
-0xf8,0x48,0x40,0x70,0x40,0x48,0xf8,0x0,0x20,0x40,
-};
-
-static const BitmapCharRec ch200 = {5,10,0,0,6,ch200data};
-
-/* char: 0xc7 */
-
-static const GLubyte ch199data[] = {
-0x60,0x10,0x20,0x78,0xc4,0x80,0x80,0x80,0xc4,0x7c,
-};
-
-static const BitmapCharRec ch199 = {6,10,0,3,7,ch199data};
-
-/* char: 0xc6 */
-
-static const GLubyte ch198data[] = {
-0xef,0x49,0x78,0x2e,0x28,0x39,0x1f,
-};
-
-static const BitmapCharRec ch198 = {8,7,0,0,9,ch198data};
-
-/* char: 0xc5 */
-
-static const GLubyte ch197data[] = {
-0xee,0x44,0x7c,0x28,0x28,0x38,0x10,0x10,0x28,0x10,
-};
-
-static const BitmapCharRec ch197 = {7,10,0,0,8,ch197data};
-
-/* char: 0xc4 */
-
-static const GLubyte ch196data[] = {
-0xee,0x44,0x7c,0x28,0x28,0x38,0x10,0x0,0x28,
-};
-
-static const BitmapCharRec ch196 = {7,9,0,0,8,ch196data};
-
-/* char: 0xc3 */
-
-static const GLubyte ch195data[] = {
-0xee,0x44,0x7c,0x28,0x28,0x38,0x10,0x0,0x28,0x14,
-};
-
-static const BitmapCharRec ch195 = {7,10,0,0,8,ch195data};
-
-/* char: 0xc2 */
-
-static const GLubyte ch194data[] = {
-0xee,0x44,0x7c,0x28,0x28,0x38,0x10,0x0,0x28,0x10,
-};
-
-static const BitmapCharRec ch194 = {7,10,0,0,8,ch194data};
-
-/* char: 0xc1 */
-
-static const GLubyte ch193data[] = {
-0xee,0x44,0x7c,0x28,0x28,0x38,0x10,0x0,0x10,0x8,
-};
-
-static const BitmapCharRec ch193 = {7,10,0,0,8,ch193data};
-
-/* char: 0xc0 */
-
-static const GLubyte ch192data[] = {
-0xee,0x44,0x7c,0x28,0x28,0x38,0x10,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch192 = {7,10,0,0,8,ch192data};
-
-/* char: 0xbf */
-
-static const GLubyte ch191data[] = {
-0xe0,0xa0,0x80,0x40,0x40,0x0,0x40,
-};
-
-static const BitmapCharRec ch191 = {3,7,0,2,4,ch191data};
-
-/* char: 0xbe */
-
-static const GLubyte ch190data[] = {
-0x44,0x3e,0x2c,0xd4,0x28,0x48,0xe4,
-};
-
-static const BitmapCharRec ch190 = {7,7,0,0,8,ch190data};
-
-/* char: 0xbd */
-
-static const GLubyte ch189data[] = {
-0x4e,0x24,0x2a,0xf6,0x48,0xc8,0x44,
-};
-
-static const BitmapCharRec ch189 = {7,7,0,0,8,ch189data};
-
-/* char: 0xbc */
-
-static const GLubyte ch188data[] = {
-0x44,0x3e,0x2c,0xf4,0x48,0xc8,0x44,
-};
-
-static const BitmapCharRec ch188 = {7,7,0,0,8,ch188data};
-
-/* char: 0xbb */
-
-static const GLubyte ch187data[] = {
-0xa0,0x50,0x50,0xa0,
-};
-
-static const BitmapCharRec ch187 = {4,4,0,-1,5,ch187data};
-
-/* char: 0xba */
-
-static const GLubyte ch186data[] = {
-0xe0,0x0,0x40,0xa0,0x40,
-};
-
-static const BitmapCharRec ch186 = {3,5,0,-2,4,ch186data};
-
-/* char: 0xb9 */
-
-static const GLubyte ch185data[] = {
-0xe0,0x40,0xc0,0x40,
-};
-
-static const BitmapCharRec ch185 = {3,4,0,-3,3,ch185data};
-
-/* char: 0xb8 */
-
-static const GLubyte ch184data[] = {
-0xc0,0x20,0x40,
-};
-
-static const BitmapCharRec ch184 = {3,3,0,3,4,ch184data};
-
-/* char: 0xb7 */
-
-static const GLubyte ch183data[] = {
-0x80,
-};
-
-static const BitmapCharRec ch183 = {1,1,0,-2,2,ch183data};
-
-/* char: 0xb6 */
-
-static const GLubyte ch182data[] = {
-0x28,0x28,0x28,0x28,0x68,0xe8,0xe8,0xe8,0x7c,
-};
-
-static const BitmapCharRec ch182 = {6,9,0,2,6,ch182data};
-
-/* char: 0xb5 */
-
-static const GLubyte ch181data[] = {
-0x80,0x80,0xe8,0x90,0x90,0x90,0x90,
-};
-
-static const BitmapCharRec ch181 = {5,7,0,2,5,ch181data};
-
-/* char: 0xb4 */
-
-static const GLubyte ch180data[] = {
-0x80,0x40,
-};
-
-static const BitmapCharRec ch180 = {2,2,0,-5,3,ch180data};
-
-/* char: 0xb3 */
-
-static const GLubyte ch179data[] = {
-0xc0,0x20,0x40,0xe0,
-};
-
-static const BitmapCharRec ch179 = {3,4,0,-3,3,ch179data};
-
-/* char: 0xb2 */
-
-static const GLubyte ch178data[] = {
-0xe0,0x40,0xa0,0x60,
-};
-
-static const BitmapCharRec ch178 = {3,4,0,-3,3,ch178data};
-
-/* char: 0xb1 */
-
-static const GLubyte ch177data[] = {
-0xf8,0x0,0x20,0x20,0xf8,0x20,0x20,
-};
-
-static const BitmapCharRec ch177 = {5,7,0,0,6,ch177data};
-
-/* char: 0xb0 */
-
-static const GLubyte ch176data[] = {
-0x60,0x90,0x90,0x60,
-};
-
-static const BitmapCharRec ch176 = {4,4,0,-3,4,ch176data};
-
-/* char: 0xaf */
-
-static const GLubyte ch175data[] = {
-0xe0,
-};
-
-static const BitmapCharRec ch175 = {3,1,0,-6,4,ch175data};
-
-/* char: 0xae */
-
-static const GLubyte ch174data[] = {
-0x38,0x44,0xaa,0xb2,0xba,0x44,0x38,
-};
-
-static const BitmapCharRec ch174 = {7,7,-1,0,9,ch174data};
-
-/* char: 0xad */
-
-static const GLubyte ch173data[] = {
-0xe0,
-};
-
-static const BitmapCharRec ch173 = {3,1,0,-2,4,ch173data};
-
-/* char: 0xac */
-
-static const GLubyte ch172data[] = {
-0x8,0x8,0xf8,
-};
-
-static const BitmapCharRec ch172 = {5,3,-1,-1,7,ch172data};
-
-/* char: 0xab */
-
-static const GLubyte ch171data[] = {
-0x50,0xa0,0xa0,0x50,
-};
-
-static const BitmapCharRec ch171 = {4,4,0,-1,5,ch171data};
-
-/* char: 0xaa */
-
-static const GLubyte ch170data[] = {
-0xe0,0x0,0xa0,0x20,0xc0,
-};
-
-static const BitmapCharRec ch170 = {3,5,0,-2,4,ch170data};
-
-/* char: 0xa9 */
-
-static const GLubyte ch169data[] = {
-0x38,0x44,0x9a,0xa2,0x9a,0x44,0x38,
-};
-
-static const BitmapCharRec ch169 = {7,7,-1,0,9,ch169data};
-
-/* char: 0xa8 */
-
-static const GLubyte ch168data[] = {
-0xa0,
-};
-
-static const BitmapCharRec ch168 = {3,1,-1,-6,5,ch168data};
-
-/* char: 0xa7 */
-
-static const GLubyte ch167data[] = {
-0xe0,0x90,0x20,0x50,0x90,0xa0,0x40,0x90,0x70,
-};
-
-static const BitmapCharRec ch167 = {4,9,0,1,5,ch167data};
-
-/* char: 0xa6 */
-
-static const GLubyte ch166data[] = {
-0x80,0x80,0x80,0x0,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch166 = {1,7,0,0,2,ch166data};
-
-/* char: 0xa5 */
-
-static const GLubyte ch165data[] = {
-0x70,0x20,0xf8,0x20,0xd8,0x50,0x88,
-};
-
-static const BitmapCharRec ch165 = {5,7,0,0,5,ch165data};
-
-/* char: 0xa4 */
-
-static const GLubyte ch164data[] = {
-0x88,0x70,0x50,0x50,0x70,0x88,
-};
-
-static const BitmapCharRec ch164 = {5,6,0,-1,5,ch164data};
-
-/* char: 0xa3 */
-
-static const GLubyte ch163data[] = {
-0xf0,0xc8,0x40,0xe0,0x40,0x50,0x30,
-};
-
-static const BitmapCharRec ch163 = {5,7,0,0,5,ch163data};
-
-/* char: 0xa2 */
-
-static const GLubyte ch162data[] = {
-0x80,0xe0,0x90,0x80,0x90,0x70,0x10,
-};
-
-static const BitmapCharRec ch162 = {4,7,0,1,5,ch162data};
-
-/* char: 0xa1 */
-
-static const GLubyte ch161data[] = {
-0x80,0x80,0x80,0x80,0x80,0x0,0x80,
-};
-
-static const BitmapCharRec ch161 = {1,7,-1,2,3,ch161data};
-
-/* char: 0xa0 */
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch160data[] = { 0x0 };
-static const BitmapCharRec ch160 = {1,1,0,0,2,ch160data};
-#else
-static const BitmapCharRec ch160 = {0,0,0,0,2,0};
-#endif
-
-/* char: 0x7e '~' */
-
-static const GLubyte ch126data[] = {
-0x98,0x64,
-};
-
-static const BitmapCharRec ch126 = {6,2,0,-2,7,ch126data};
-
-/* char: 0x7d '}' */
-
-static const GLubyte ch125data[] = {
-0x80,0x40,0x40,0x40,0x20,0x40,0x40,0x40,0x80,
-};
-
-static const BitmapCharRec ch125 = {3,9,0,2,4,ch125data};
-
-/* char: 0x7c '|' */
-
-static const GLubyte ch124data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch124 = {1,9,0,2,2,ch124data};
-
-/* char: 0x7b '{' */
-
-static const GLubyte ch123data[] = {
-0x20,0x40,0x40,0x40,0x80,0x40,0x40,0x40,0x20,
-};
-
-static const BitmapCharRec ch123 = {3,9,0,2,4,ch123data};
-
-/* char: 0x7a 'z' */
-
-static const GLubyte ch122data[] = {
-0xf0,0x90,0x40,0x20,0xf0,
-};
-
-static const BitmapCharRec ch122 = {4,5,0,0,5,ch122data};
-
-/* char: 0x79 'y' */
-
-static const GLubyte ch121data[] = {
-0x40,0x40,0x20,0x30,0x50,0x48,0xdc,
-};
-
-static const BitmapCharRec ch121 = {6,7,1,2,5,ch121data};
-
-/* char: 0x78 'x' */
-
-static const GLubyte ch120data[] = {
-0xd8,0x50,0x20,0x50,0xd8,
-};
-
-static const BitmapCharRec ch120 = {5,5,0,0,6,ch120data};
-
-/* char: 0x77 'w' */
-
-static const GLubyte ch119data[] = {
-0x28,0x6c,0x54,0x92,0xdb,
-};
-
-static const BitmapCharRec ch119 = {8,5,0,0,8,ch119data};
-
-/* char: 0x76 'v' */
-
-static const GLubyte ch118data[] = {
-0x20,0x60,0x50,0x90,0xd8,
-};
-
-static const BitmapCharRec ch118 = {5,5,0,0,5,ch118data};
-
-/* char: 0x75 'u' */
-
-static const GLubyte ch117data[] = {
-0x68,0x90,0x90,0x90,0x90,
-};
-
-static const BitmapCharRec ch117 = {5,5,0,0,5,ch117data};
-
-/* char: 0x74 't' */
-
-static const GLubyte ch116data[] = {
-0x30,0x40,0x40,0x40,0xe0,0x40,
-};
-
-static const BitmapCharRec ch116 = {4,6,0,0,4,ch116data};
-
-/* char: 0x73 's' */
-
-static const GLubyte ch115data[] = {
-0xe0,0x20,0x60,0x80,0xe0,
-};
-
-static const BitmapCharRec ch115 = {3,5,0,0,4,ch115data};
-
-/* char: 0x72 'r' */
-
-static const GLubyte ch114data[] = {
-0xe0,0x40,0x40,0x60,0xa0,
-};
-
-static const BitmapCharRec ch114 = {3,5,0,0,4,ch114data};
-
-/* char: 0x71 'q' */
-
-static const GLubyte ch113data[] = {
-0x38,0x10,0x70,0x90,0x90,0x90,0x70,
-};
-
-static const BitmapCharRec ch113 = {5,7,0,2,5,ch113data};
-
-/* char: 0x70 'p' */
-
-static const GLubyte ch112data[] = {
-0xc0,0x80,0xe0,0x90,0x90,0x90,0xe0,
-};
-
-static const BitmapCharRec ch112 = {4,7,0,2,5,ch112data};
-
-/* char: 0x6f 'o' */
-
-static const GLubyte ch111data[] = {
-0x60,0x90,0x90,0x90,0x60,
-};
-
-static const BitmapCharRec ch111 = {4,5,0,0,5,ch111data};
-
-/* char: 0x6e 'n' */
-
-static const GLubyte ch110data[] = {
-0xd8,0x90,0x90,0x90,0xe0,
-};
-
-static const BitmapCharRec ch110 = {5,5,0,0,5,ch110data};
-
-/* char: 0x6d 'm' */
-
-static const GLubyte ch109data[] = {
-0xdb,0x92,0x92,0x92,0xec,
-};
-
-static const BitmapCharRec ch109 = {8,5,0,0,8,ch109data};
-
-/* char: 0x6c 'l' */
-
-static const GLubyte ch108data[] = {
-0xe0,0x40,0x40,0x40,0x40,0x40,0xc0,
-};
-
-static const BitmapCharRec ch108 = {3,7,0,0,4,ch108data};
-
-/* char: 0x6b 'k' */
-
-static const GLubyte ch107data[] = {
-0x98,0x90,0xe0,0xa0,0x90,0x80,0x80,
-};
-
-static const BitmapCharRec ch107 = {5,7,0,0,5,ch107data};
-
-/* char: 0x6a 'j' */
-
-static const GLubyte ch106data[] = {
-0x80,0x40,0x40,0x40,0x40,0x40,0xc0,0x0,0x40,
-};
-
-static const BitmapCharRec ch106 = {2,9,0,2,3,ch106data};
-
-/* char: 0x69 'i' */
-
-static const GLubyte ch105data[] = {
-0x40,0x40,0x40,0x40,0xc0,0x0,0x40,
-};
-
-static const BitmapCharRec ch105 = {2,7,0,0,3,ch105data};
-
-/* char: 0x68 'h' */
-
-static const GLubyte ch104data[] = {
-0xd8,0x90,0x90,0x90,0xe0,0x80,0x80,
-};
-
-static const BitmapCharRec ch104 = {5,7,0,0,5,ch104data};
-
-/* char: 0x67 'g' */
-
-static const GLubyte ch103data[] = {
-0xe0,0x90,0x60,0x40,0xa0,0xa0,0x70,
-};
-
-static const BitmapCharRec ch103 = {4,7,0,2,5,ch103data};
-
-/* char: 0x66 'f' */
-
-static const GLubyte ch102data[] = {
-0xe0,0x40,0x40,0x40,0xe0,0x40,0x30,
-};
-
-static const BitmapCharRec ch102 = {4,7,0,0,4,ch102data};
-
-/* char: 0x65 'e' */
-
-static const GLubyte ch101data[] = {
-0x60,0x80,0xc0,0xa0,0x60,
-};
-
-static const BitmapCharRec ch101 = {3,5,0,0,4,ch101data};
-
-/* char: 0x64 'd' */
-
-static const GLubyte ch100data[] = {
-0x68,0x90,0x90,0x90,0x70,0x10,0x30,
-};
-
-static const BitmapCharRec ch100 = {5,7,0,0,5,ch100data};
-
-/* char: 0x63 'c' */
-
-static const GLubyte ch99data[] = {
-0x60,0x80,0x80,0x80,0x60,
-};
-
-static const BitmapCharRec ch99 = {3,5,0,0,4,ch99data};
-
-/* char: 0x62 'b' */
-
-static const GLubyte ch98data[] = {
-0xe0,0x90,0x90,0x90,0xe0,0x80,0x80,
-};
-
-static const BitmapCharRec ch98 = {4,7,0,0,5,ch98data};
-
-/* char: 0x61 'a' */
-
-static const GLubyte ch97data[] = {
-0xe0,0xa0,0x60,0x20,0xc0,
-};
-
-static const BitmapCharRec ch97 = {3,5,0,0,4,ch97data};
-
-/* char: 0x60 '`' */
-
-static const GLubyte ch96data[] = {
-0xc0,0x80,
-};
-
-static const BitmapCharRec ch96 = {2,2,0,-5,3,ch96data};
-
-/* char: 0x5f '_' */
-
-static const GLubyte ch95data[] = {
-0xf8,
-};
-
-static const BitmapCharRec ch95 = {5,1,0,3,5,ch95data};
-
-/* char: 0x5e '^' */
-
-static const GLubyte ch94data[] = {
-0xa0,0xa0,0x40,
-};
-
-static const BitmapCharRec ch94 = {3,3,-1,-4,5,ch94data};
-
-/* char: 0x5d ']' */
-
-static const GLubyte ch93data[] = {
-0xc0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xc0,
-};
-
-static const BitmapCharRec ch93 = {2,9,0,2,3,ch93data};
-
-/* char: 0x5c '\' */
-
-static const GLubyte ch92data[] = {
-0x20,0x20,0x40,0x40,0x40,0x80,0x80,
-};
-
-static const BitmapCharRec ch92 = {3,7,0,0,3,ch92data};
-
-/* char: 0x5b '[' */
-
-static const GLubyte ch91data[] = {
-0xc0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xc0,
-};
-
-static const BitmapCharRec ch91 = {2,9,0,2,3,ch91data};
-
-/* char: 0x5a 'Z' */
-
-static const GLubyte ch90data[] = {
-0xf8,0x88,0x40,0x20,0x10,0x88,0xf8,
-};
-
-static const BitmapCharRec ch90 = {5,7,0,0,6,ch90data};
-
-/* char: 0x59 'Y' */
-
-static const GLubyte ch89data[] = {
-0x38,0x10,0x10,0x28,0x28,0x44,0xee,
-};
-
-static const BitmapCharRec ch89 = {7,7,0,0,8,ch89data};
-
-/* char: 0x58 'X' */
-
-static const GLubyte ch88data[] = {
-0xee,0x44,0x28,0x10,0x28,0x44,0xee,
-};
-
-static const BitmapCharRec ch88 = {7,7,0,0,8,ch88data};
-
-/* char: 0x57 'W' */
-
-static const GLubyte ch87data[] = {
-0x22,0x0,0x22,0x0,0x55,0x0,0x55,0x0,0xc9,0x80,0x88,0x80,0xdd,0xc0,
-};
-
-static const BitmapCharRec ch87 = {10,7,0,0,10,ch87data};
-
-/* char: 0x56 'V' */
-
-static const GLubyte ch86data[] = {
-0x10,0x10,0x28,0x28,0x6c,0x44,0xee,
-};
-
-static const BitmapCharRec ch86 = {7,7,0,0,8,ch86data};
-
-/* char: 0x55 'U' */
-
-static const GLubyte ch85data[] = {
-0x38,0x6c,0x44,0x44,0x44,0x44,0xee,
-};
-
-static const BitmapCharRec ch85 = {7,7,0,0,8,ch85data};
-
-/* char: 0x54 'T' */
-
-static const GLubyte ch84data[] = {
-0x70,0x20,0x20,0x20,0x20,0xa8,0xf8,
-};
-
-static const BitmapCharRec ch84 = {5,7,0,0,6,ch84data};
-
-/* char: 0x53 'S' */
-
-static const GLubyte ch83data[] = {
-0xe0,0x90,0x10,0x60,0xc0,0x90,0x70,
-};
-
-static const BitmapCharRec ch83 = {4,7,0,0,5,ch83data};
-
-/* char: 0x52 'R' */
-
-static const GLubyte ch82data[] = {
-0xec,0x48,0x50,0x70,0x48,0x48,0xf0,
-};
-
-static const BitmapCharRec ch82 = {6,7,0,0,7,ch82data};
-
-/* char: 0x51 'Q' */
-
-static const GLubyte ch81data[] = {
-0xc,0x18,0x70,0xcc,0x84,0x84,0x84,0xcc,0x78,
-};
-
-static const BitmapCharRec ch81 = {6,9,0,2,7,ch81data};
-
-/* char: 0x50 'P' */
-
-static const GLubyte ch80data[] = {
-0xe0,0x40,0x40,0x70,0x48,0x48,0xf0,
-};
-
-static const BitmapCharRec ch80 = {5,7,0,0,6,ch80data};
-
-/* char: 0x4f 'O' */
-
-static const GLubyte ch79data[] = {
-0x78,0xcc,0x84,0x84,0x84,0xcc,0x78,
-};
-
-static const BitmapCharRec ch79 = {6,7,0,0,7,ch79data};
-
-/* char: 0x4e 'N' */
-
-static const GLubyte ch78data[] = {
-0xe4,0x4c,0x4c,0x54,0x54,0x64,0xee,
-};
-
-static const BitmapCharRec ch78 = {7,7,0,0,8,ch78data};
-
-/* char: 0x4d 'M' */
-
-static const GLubyte ch77data[] = {
-0xeb,0x80,0x49,0x0,0x55,0x0,0x55,0x0,0x63,0x0,0x63,0x0,0xe3,0x80,
-};
-
-static const BitmapCharRec ch77 = {9,7,0,0,10,ch77data};
-
-/* char: 0x4c 'L' */
-
-static const GLubyte ch76data[] = {
-0xf8,0x48,0x40,0x40,0x40,0x40,0xe0,
-};
-
-static const BitmapCharRec ch76 = {5,7,0,0,6,ch76data};
-
-/* char: 0x4b 'K' */
-
-static const GLubyte ch75data[] = {
-0xec,0x48,0x50,0x60,0x50,0x48,0xec,
-};
-
-static const BitmapCharRec ch75 = {6,7,0,0,7,ch75data};
-
-/* char: 0x4a 'J' */
-
-static const GLubyte ch74data[] = {
-0xc0,0xa0,0x20,0x20,0x20,0x20,0x70,
-};
-
-static const BitmapCharRec ch74 = {4,7,0,0,4,ch74data};
-
-/* char: 0x49 'I' */
-
-static const GLubyte ch73data[] = {
-0xe0,0x40,0x40,0x40,0x40,0x40,0xe0,
-};
-
-static const BitmapCharRec ch73 = {3,7,0,0,4,ch73data};
-
-/* char: 0x48 'H' */
-
-static const GLubyte ch72data[] = {
-0xee,0x44,0x44,0x7c,0x44,0x44,0xee,
-};
-
-static const BitmapCharRec ch72 = {7,7,0,0,8,ch72data};
-
-/* char: 0x47 'G' */
-
-static const GLubyte ch71data[] = {
-0x78,0xc4,0x84,0x9c,0x80,0xc4,0x7c,
-};
-
-static const BitmapCharRec ch71 = {6,7,0,0,7,ch71data};
-
-/* char: 0x46 'F' */
-
-static const GLubyte ch70data[] = {
-0xe0,0x40,0x40,0x70,0x40,0x48,0xf8,
-};
-
-static const BitmapCharRec ch70 = {5,7,0,0,6,ch70data};
-
-/* char: 0x45 'E' */
-
-static const GLubyte ch69data[] = {
-0xf8,0x48,0x40,0x70,0x40,0x48,0xf8,
-};
-
-static const BitmapCharRec ch69 = {5,7,0,0,6,ch69data};
-
-/* char: 0x44 'D' */
-
-static const GLubyte ch68data[] = {
-0xf8,0x4c,0x44,0x44,0x44,0x4c,0xf8,
-};
-
-static const BitmapCharRec ch68 = {6,7,0,0,7,ch68data};
-
-/* char: 0x43 'C' */
-
-static const GLubyte ch67data[] = {
-0x78,0xc4,0x80,0x80,0x80,0xc4,0x7c,
-};
-
-static const BitmapCharRec ch67 = {6,7,0,0,7,ch67data};
-
-/* char: 0x42 'B' */
-
-static const GLubyte ch66data[] = {
-0xf0,0x48,0x48,0x70,0x48,0x48,0xf0,
-};
-
-static const BitmapCharRec ch66 = {5,7,0,0,6,ch66data};
-
-/* char: 0x41 'A' */
-
-static const GLubyte ch65data[] = {
-0xee,0x44,0x7c,0x28,0x28,0x38,0x10,
-};
-
-static const BitmapCharRec ch65 = {7,7,0,0,8,ch65data};
-
-/* char: 0x40 '@' */
-
-static const GLubyte ch64data[] = {
-0x3e,0x40,0x92,0xad,0xa5,0xa5,0x9d,0x42,0x3c,
-};
-
-static const BitmapCharRec ch64 = {8,9,0,2,9,ch64data};
-
-/* char: 0x3f '?' */
-
-static const GLubyte ch63data[] = {
-0x40,0x0,0x40,0x40,0x20,0xa0,0xe0,
-};
-
-static const BitmapCharRec ch63 = {3,7,0,0,4,ch63data};
-
-/* char: 0x3e '>' */
-
-static const GLubyte ch62data[] = {
-0x80,0x40,0x20,0x40,0x80,
-};
-
-static const BitmapCharRec ch62 = {3,5,0,0,5,ch62data};
-
-/* char: 0x3d '=' */
-
-static const GLubyte ch61data[] = {
-0xf8,0x0,0xf8,
-};
-
-static const BitmapCharRec ch61 = {5,3,0,-1,6,ch61data};
-
-/* char: 0x3c '<' */
-
-static const GLubyte ch60data[] = {
-0x20,0x40,0x80,0x40,0x20,
-};
-
-static const BitmapCharRec ch60 = {3,5,-1,0,5,ch60data};
-
-/* char: 0x3b ';' */
-
-static const GLubyte ch59data[] = {
-0x80,0x80,0x80,0x0,0x0,0x0,0x80,
-};
-
-static const BitmapCharRec ch59 = {1,7,-1,2,3,ch59data};
-
-/* char: 0x3a ':' */
-
-static const GLubyte ch58data[] = {
-0x80,0x0,0x0,0x0,0x80,
-};
-
-static const BitmapCharRec ch58 = {1,5,-1,0,3,ch58data};
-
-/* char: 0x39 '9' */
-
-static const GLubyte ch57data[] = {
-0xc0,0x20,0x70,0x90,0x90,0x90,0x60,
-};
-
-static const BitmapCharRec ch57 = {4,7,0,0,5,ch57data};
-
-/* char: 0x38 '8' */
-
-static const GLubyte ch56data[] = {
-0x60,0x90,0x90,0x60,0x90,0x90,0x60,
-};
-
-static const BitmapCharRec ch56 = {4,7,0,0,5,ch56data};
-
-/* char: 0x37 '7' */
-
-static const GLubyte ch55data[] = {
-0x40,0x40,0x40,0x20,0x20,0x90,0xf0,
-};
-
-static const BitmapCharRec ch55 = {4,7,0,0,5,ch55data};
-
-/* char: 0x36 '6' */
-
-static const GLubyte ch54data[] = {
-0x60,0x90,0x90,0x90,0xe0,0x40,0x30,
-};
-
-static const BitmapCharRec ch54 = {4,7,0,0,5,ch54data};
-
-/* char: 0x35 '5' */
-
-static const GLubyte ch53data[] = {
-0xe0,0x90,0x10,0x10,0xe0,0x40,0x70,
-};
-
-static const BitmapCharRec ch53 = {4,7,0,0,5,ch53data};
-
-/* char: 0x34 '4' */
-
-static const GLubyte ch52data[] = {
-0x10,0x10,0xf8,0x90,0x50,0x30,0x10,
-};
-
-static const BitmapCharRec ch52 = {5,7,0,0,5,ch52data};
-
-/* char: 0x33 '3' */
-
-static const GLubyte ch51data[] = {
-0xe0,0x10,0x10,0x60,0x10,0x90,0x60,
-};
-
-static const BitmapCharRec ch51 = {4,7,0,0,5,ch51data};
-
-/* char: 0x32 '2' */
-
-static const GLubyte ch50data[] = {
-0xf0,0x40,0x20,0x20,0x10,0x90,0x60,
-};
-
-static const BitmapCharRec ch50 = {4,7,0,0,5,ch50data};
-
-/* char: 0x31 '1' */
-
-static const GLubyte ch49data[] = {
-0xe0,0x40,0x40,0x40,0x40,0xc0,0x40,
-};
-
-static const BitmapCharRec ch49 = {3,7,-1,0,5,ch49data};
-
-/* char: 0x30 '0' */
-
-static const GLubyte ch48data[] = {
-0x60,0x90,0x90,0x90,0x90,0x90,0x60,
-};
-
-static const BitmapCharRec ch48 = {4,7,0,0,5,ch48data};
-
-/* char: 0x2f '/' */
-
-static const GLubyte ch47data[] = {
-0x80,0x80,0x40,0x40,0x40,0x20,0x20,
-};
-
-static const BitmapCharRec ch47 = {3,7,0,0,3,ch47data};
-
-/* char: 0x2e '.' */
-
-static const GLubyte ch46data[] = {
-0x80,
-};
-
-static const BitmapCharRec ch46 = {1,1,-1,0,3,ch46data};
-
-/* char: 0x2d '-' */
-
-static const GLubyte ch45data[] = {
-0xf0,
-};
-
-static const BitmapCharRec ch45 = {4,1,-1,-2,7,ch45data};
-
-/* char: 0x2c ',' */
-
-static const GLubyte ch44data[] = {
-0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch44 = {1,3,-1,2,3,ch44data};
-
-/* char: 0x2b '+' */
-
-static const GLubyte ch43data[] = {
-0x20,0x20,0xf8,0x20,0x20,
-};
-
-static const BitmapCharRec ch43 = {5,5,0,0,6,ch43data};
-
-/* char: 0x2a '*' */
-
-static const GLubyte ch42data[] = {
-0xa0,0x40,0xa0,
-};
-
-static const BitmapCharRec ch42 = {3,3,0,-4,5,ch42data};
-
-/* char: 0x29 ')' */
-
-static const GLubyte ch41data[] = {
-0x80,0x40,0x40,0x20,0x20,0x20,0x40,0x40,0x80,
-};
-
-static const BitmapCharRec ch41 = {3,9,0,2,4,ch41data};
-
-/* char: 0x28 '(' */
-
-static const GLubyte ch40data[] = {
-0x20,0x40,0x40,0x80,0x80,0x80,0x40,0x40,0x20,
-};
-
-static const BitmapCharRec ch40 = {3,9,0,2,4,ch40data};
-
-/* char: 0x27 ''' */
-
-static const GLubyte ch39data[] = {
-0x40,0xc0,
-};
-
-static const BitmapCharRec ch39 = {2,2,0,-5,3,ch39data};
-
-/* char: 0x26 '&' */
-
-static const GLubyte ch38data[] = {
-0x76,0x8d,0x98,0x74,0x6e,0x50,0x30,
-};
-
-static const BitmapCharRec ch38 = {8,7,0,0,8,ch38data};
-
-/* char: 0x25 '%' */
-
-static const GLubyte ch37data[] = {
-0x44,0x2a,0x2a,0x56,0xa8,0xa4,0x7e,
-};
-
-static const BitmapCharRec ch37 = {7,7,0,0,8,ch37data};
-
-/* char: 0x24 '$' */
-
-static const GLubyte ch36data[] = {
-0x20,0xe0,0x90,0x10,0x60,0x80,0x90,0x70,0x20,
-};
-
-static const BitmapCharRec ch36 = {4,9,0,1,5,ch36data};
-
-/* char: 0x23 '#' */
-
-static const GLubyte ch35data[] = {
-0x50,0x50,0xf8,0x50,0xf8,0x50,0x50,
-};
-
-static const BitmapCharRec ch35 = {5,7,0,0,5,ch35data};
-
-/* char: 0x22 '"' */
-
-static const GLubyte ch34data[] = {
-0xa0,0xa0,
-};
-
-static const BitmapCharRec ch34 = {3,2,0,-5,4,ch34data};
-
-/* char: 0x21 '!' */
-
-static const GLubyte ch33data[] = {
-0x80,0x0,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch33 = {1,7,-1,0,3,ch33data};
-
-/* char: 0x20 ' ' */
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch32data[] = { 0x0 };
-static const BitmapCharRec ch32 = {1,1,0,0,2,ch32data};
-#else
-static const BitmapCharRec ch32 = {0,0,0,0,2,0};
-#endif
-
-static const BitmapCharRec * const chars[] = {
-&ch32,
-&ch33,
-&ch34,
-&ch35,
-&ch36,
-&ch37,
-&ch38,
-&ch39,
-&ch40,
-&ch41,
-&ch42,
-&ch43,
-&ch44,
-&ch45,
-&ch46,
-&ch47,
-&ch48,
-&ch49,
-&ch50,
-&ch51,
-&ch52,
-&ch53,
-&ch54,
-&ch55,
-&ch56,
-&ch57,
-&ch58,
-&ch59,
-&ch60,
-&ch61,
-&ch62,
-&ch63,
-&ch64,
-&ch65,
-&ch66,
-&ch67,
-&ch68,
-&ch69,
-&ch70,
-&ch71,
-&ch72,
-&ch73,
-&ch74,
-&ch75,
-&ch76,
-&ch77,
-&ch78,
-&ch79,
-&ch80,
-&ch81,
-&ch82,
-&ch83,
-&ch84,
-&ch85,
-&ch86,
-&ch87,
-&ch88,
-&ch89,
-&ch90,
-&ch91,
-&ch92,
-&ch93,
-&ch94,
-&ch95,
-&ch96,
-&ch97,
-&ch98,
-&ch99,
-&ch100,
-&ch101,
-&ch102,
-&ch103,
-&ch104,
-&ch105,
-&ch106,
-&ch107,
-&ch108,
-&ch109,
-&ch110,
-&ch111,
-&ch112,
-&ch113,
-&ch114,
-&ch115,
-&ch116,
-&ch117,
-&ch118,
-&ch119,
-&ch120,
-&ch121,
-&ch122,
-&ch123,
-&ch124,
-&ch125,
-&ch126,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-&ch160,
-&ch161,
-&ch162,
-&ch163,
-&ch164,
-&ch165,
-&ch166,
-&ch167,
-&ch168,
-&ch169,
-&ch170,
-&ch171,
-&ch172,
-&ch173,
-&ch174,
-&ch175,
-&ch176,
-&ch177,
-&ch178,
-&ch179,
-&ch180,
-&ch181,
-&ch182,
-&ch183,
-&ch184,
-&ch185,
-&ch186,
-&ch187,
-&ch188,
-&ch189,
-&ch190,
-&ch191,
-&ch192,
-&ch193,
-&ch194,
-&ch195,
-&ch196,
-&ch197,
-&ch198,
-&ch199,
-&ch200,
-&ch201,
-&ch202,
-&ch203,
-&ch204,
-&ch205,
-&ch206,
-&ch207,
-&ch208,
-&ch209,
-&ch210,
-&ch211,
-&ch212,
-&ch213,
-&ch214,
-&ch215,
-&ch216,
-&ch217,
-&ch218,
-&ch219,
-&ch220,
-&ch221,
-&ch222,
-&ch223,
-&ch224,
-&ch225,
-&ch226,
-&ch227,
-&ch228,
-&ch229,
-&ch230,
-&ch231,
-&ch232,
-&ch233,
-&ch234,
-&ch235,
-&ch236,
-&ch237,
-&ch238,
-&ch239,
-&ch240,
-&ch241,
-&ch242,
-&ch243,
-&ch244,
-&ch245,
-&ch246,
-&ch247,
-&ch248,
-&ch249,
-&ch250,
-&ch251,
-&ch252,
-&ch253,
-&ch254,
-&ch255,
-};
-
-const BitmapFontRec glutBitmapTimesRoman10 = {
-"-adobe-times-medium-r-normal--10-100-75-75-p-54-iso8859-1",
-224,
-32,
-chars
-};
-
diff --git a/src/glut/beos/glut_tr24.c b/src/glut/beos/glut_tr24.c
deleted file mode 100644
index 22b0e51603..0000000000
--- a/src/glut/beos/glut_tr24.c
+++ /dev/null
@@ -1,2060 +0,0 @@
-
-/* GENERATED FILE -- DO NOT MODIFY */
-
-#define glutBitmapTimesRoman24 XXX
-#include "glutbitmap.h"
-#undef glutBitmapTimesRoman24
-
-/* char: 0xff */
-
-static const GLubyte ch255data[] = {
-0xe0,0x0,0xf0,0x0,0x18,0x0,0x8,0x0,0xc,0x0,0x4,0x0,0xe,0x0,0xe,0x0,
-0x1a,0x0,0x19,0x0,0x19,0x0,0x31,0x0,0x30,0x80,0x30,0x80,0x60,0x80,0x60,0xc0,
-0xf1,0xe0,0x0,0x0,0x0,0x0,0x33,0x0,0x33,0x0,
-};
-
-static const BitmapCharRec ch255 = {11,21,0,5,11,ch255data};
-
-/* char: 0xfe */
-
-static const GLubyte ch254data[] = {
-0xf0,0x0,0x60,0x0,0x60,0x0,0x60,0x0,0x60,0x0,0x6e,0x0,0x73,0x80,0x61,0x80,
-0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x61,0x80,0x73,0x80,
-0x6e,0x0,0x60,0x0,0x60,0x0,0x60,0x0,0x60,0x0,0xe0,0x0,
-};
-
-static const BitmapCharRec ch254 = {10,22,-1,5,12,ch254data};
-
-/* char: 0xfd */
-
-static const GLubyte ch253data[] = {
-0xe0,0x0,0xf0,0x0,0x18,0x0,0x8,0x0,0xc,0x0,0x4,0x0,0xe,0x0,0xe,0x0,
-0x1a,0x0,0x19,0x0,0x19,0x0,0x31,0x0,0x30,0x80,0x30,0x80,0x60,0x80,0x60,0xc0,
-0xf1,0xe0,0x0,0x0,0x8,0x0,0x6,0x0,0x3,0x80,0x1,0x80,
-};
-
-static const BitmapCharRec ch253 = {11,22,0,5,11,ch253data};
-
-/* char: 0xfc */
-
-static const GLubyte ch252data[] = {
-0x1c,0xe0,0x3e,0xc0,0x71,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
-0x60,0xc0,0x60,0xc0,0x60,0xc0,0xe1,0xc0,0x0,0x0,0x0,0x0,0x33,0x0,0x33,0x0,
-};
-
-static const BitmapCharRec ch252 = {11,16,-1,0,13,ch252data};
-
-/* char: 0xfb */
-
-static const GLubyte ch251data[] = {
-0x1c,0xe0,0x3e,0xc0,0x71,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
-0x60,0xc0,0x60,0xc0,0x60,0xc0,0xe1,0xc0,0x0,0x0,0x21,0x0,0x12,0x0,0x1e,0x0,
-0xc,0x0,
-};
-
-static const BitmapCharRec ch251 = {11,17,-1,0,13,ch251data};
-
-/* char: 0xfa */
-
-static const GLubyte ch250data[] = {
-0x1c,0xe0,0x3e,0xc0,0x71,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
-0x60,0xc0,0x60,0xc0,0x60,0xc0,0xe1,0xc0,0x0,0x0,0x8,0x0,0x6,0x0,0x3,0x80,
-0x1,0x80,
-};
-
-static const BitmapCharRec ch250 = {11,17,-1,0,13,ch250data};
-
-/* char: 0xf9 */
-
-static const GLubyte ch249data[] = {
-0x1c,0xe0,0x3e,0xc0,0x71,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
-0x60,0xc0,0x60,0xc0,0x60,0xc0,0xe1,0xc0,0x0,0x0,0x2,0x0,0xc,0x0,0x38,0x0,
-0x30,0x0,
-};
-
-static const BitmapCharRec ch249 = {11,17,-1,0,13,ch249data};
-
-/* char: 0xf8 */
-
-static const GLubyte ch248data[] = {
-0xc0,0x0,0xde,0x0,0x73,0x80,0x71,0x80,0xd0,0xc0,0xd8,0xc0,0xc8,0xc0,0xcc,0xc0,
-0xc4,0xc0,0xc6,0xc0,0x63,0x80,0x73,0x80,0x1e,0xc0,0x0,0xc0,
-};
-
-static const BitmapCharRec ch248 = {10,14,-1,1,12,ch248data};
-
-/* char: 0xf7 */
-
-static const GLubyte ch247data[] = {
-0x6,0x0,0x6,0x0,0x0,0x0,0x0,0x0,0xff,0xf0,0xff,0xf0,0x0,0x0,0x0,0x0,
-0x6,0x0,0x6,0x0,
-};
-
-static const BitmapCharRec ch247 = {12,10,-1,-2,14,ch247data};
-
-/* char: 0xf6 */
-
-static const GLubyte ch246data[] = {
-0x1e,0x0,0x73,0x80,0x61,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc0,0xc0,0x61,0x80,0x73,0x80,0x1e,0x0,0x0,0x0,0x0,0x0,0x33,0x0,0x33,0x0,
-};
-
-static const BitmapCharRec ch246 = {10,16,-1,0,12,ch246data};
-
-/* char: 0xf5 */
-
-static const GLubyte ch245data[] = {
-0x1e,0x0,0x73,0x80,0x61,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc0,0xc0,0x61,0x80,0x73,0x80,0x1e,0x0,0x0,0x0,0x0,0x0,0x27,0x0,0x1c,0x80,
-};
-
-static const BitmapCharRec ch245 = {10,16,-1,0,12,ch245data};
-
-/* char: 0xf4 */
-
-static const GLubyte ch244data[] = {
-0x1e,0x0,0x73,0x80,0x61,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc0,0xc0,0x61,0x80,0x73,0x80,0x1e,0x0,0x0,0x0,0x21,0x0,0x12,0x0,0x1e,0x0,
-0xc,0x0,
-};
-
-static const BitmapCharRec ch244 = {10,17,-1,0,12,ch244data};
-
-/* char: 0xf3 */
-
-static const GLubyte ch243data[] = {
-0x1e,0x0,0x73,0x80,0x61,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc0,0xc0,0x61,0x80,0x73,0x80,0x1e,0x0,0x0,0x0,0x8,0x0,0x6,0x0,0x3,0x80,
-0x1,0x80,
-};
-
-static const BitmapCharRec ch243 = {10,17,-1,0,12,ch243data};
-
-/* char: 0xf2 */
-
-static const GLubyte ch242data[] = {
-0x1e,0x0,0x73,0x80,0x61,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc0,0xc0,0x61,0x80,0x73,0x80,0x1e,0x0,0x0,0x0,0x2,0x0,0xc,0x0,0x38,0x0,
-0x30,0x0,
-};
-
-static const BitmapCharRec ch242 = {10,17,-1,0,12,ch242data};
-
-/* char: 0xf1 */
-
-static const GLubyte ch241data[] = {
-0xf1,0xe0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
-0x60,0xc0,0x71,0xc0,0x6f,0x80,0xe7,0x0,0x0,0x0,0x0,0x0,0x27,0x0,0x1c,0x80,
-};
-
-static const BitmapCharRec ch241 = {11,16,-1,0,13,ch241data};
-
-/* char: 0xf0 */
-
-static const GLubyte ch240data[] = {
-0x1e,0x0,0x73,0x80,0x61,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc0,0xc0,0x61,0x80,0x73,0x80,0x1f,0x0,0xc6,0x0,0x3c,0x0,0x1e,0x0,0x71,0x80,
-0xc0,0x0,
-};
-
-static const BitmapCharRec ch240 = {10,17,-1,0,12,ch240data};
-
-/* char: 0xef */
-
-static const GLubyte ch239data[] = {
-0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x70,0x0,0x0,0xcc,0xcc,
-};
-
-static const BitmapCharRec ch239 = {6,16,0,0,6,ch239data};
-
-/* char: 0xee */
-
-static const GLubyte ch238data[] = {
-0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x70,0x0,0x84,0x48,0x78,
-0x30,
-};
-
-static const BitmapCharRec ch238 = {6,17,0,0,6,ch238data};
-
-/* char: 0xed */
-
-static const GLubyte ch237data[] = {
-0xf0,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0xe0,0x0,0x80,0x60,0x38,
-0x18,
-};
-
-static const BitmapCharRec ch237 = {5,17,-1,0,6,ch237data};
-
-/* char: 0xec */
-
-static const GLubyte ch236data[] = {
-0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x70,0x0,0x8,0x30,0xe0,
-0xc0,
-};
-
-static const BitmapCharRec ch236 = {5,17,0,0,6,ch236data};
-
-/* char: 0xeb */
-
-static const GLubyte ch235data[] = {
-0x1e,0x0,0x7f,0x0,0x70,0x80,0xe0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,
-0xc1,0x80,0x41,0x80,0x63,0x0,0x1e,0x0,0x0,0x0,0x0,0x0,0x33,0x0,0x33,0x0,
-};
-
-static const BitmapCharRec ch235 = {9,16,-1,0,11,ch235data};
-
-/* char: 0xea */
-
-static const GLubyte ch234data[] = {
-0x1e,0x0,0x7f,0x0,0x70,0x80,0xe0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,
-0xc1,0x80,0x41,0x80,0x63,0x0,0x1e,0x0,0x0,0x0,0x21,0x0,0x12,0x0,0x1e,0x0,
-0xc,0x0,
-};
-
-static const BitmapCharRec ch234 = {9,17,-1,0,11,ch234data};
-
-/* char: 0xe9 */
-
-static const GLubyte ch233data[] = {
-0x1e,0x0,0x7f,0x0,0x70,0x80,0xe0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,
-0xc1,0x80,0x41,0x80,0x63,0x0,0x1e,0x0,0x0,0x0,0x10,0x0,0xc,0x0,0x7,0x0,
-0x3,0x0,
-};
-
-static const BitmapCharRec ch233 = {9,17,-1,0,11,ch233data};
-
-/* char: 0xe8 */
-
-static const GLubyte ch232data[] = {
-0x1e,0x0,0x7f,0x0,0x70,0x80,0xe0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,
-0xc1,0x80,0x41,0x80,0x63,0x0,0x1e,0x0,0x0,0x0,0x4,0x0,0x18,0x0,0x70,0x0,
-0x60,0x0,
-};
-
-static const BitmapCharRec ch232 = {9,17,-1,0,11,ch232data};
-
-/* char: 0xe7 */
-
-static const GLubyte ch231data[] = {
-0x3c,0x0,0x66,0x0,0x6,0x0,0x1e,0x0,0x18,0x0,0x8,0x0,0x1e,0x0,0x7f,0x0,
-0x70,0x80,0xe0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0x41,0x80,
-0x63,0x80,0x1f,0x0,
-};
-
-static const BitmapCharRec ch231 = {9,18,-1,6,11,ch231data};
-
-/* char: 0xe6 */
-
-static const GLubyte ch230data[] = {
-0x70,0xf0,0xfb,0xf8,0xc7,0x84,0xc3,0x0,0xc3,0x0,0x63,0x0,0x3b,0x0,0xf,0xfc,
-0x3,0xc,0x63,0xc,0x67,0x98,0x3c,0xf0,
-};
-
-static const BitmapCharRec ch230 = {14,12,-1,0,16,ch230data};
-
-/* char: 0xe5 */
-
-static const GLubyte ch229data[] = {
-0x71,0x80,0xfb,0x0,0xc7,0x0,0xc3,0x0,0xc3,0x0,0x63,0x0,0x3b,0x0,0xf,0x0,
-0x3,0x0,0x63,0x0,0x67,0x0,0x3e,0x0,0x0,0x0,0x1c,0x0,0x22,0x0,0x22,0x0,
-0x1c,0x0,
-};
-
-static const BitmapCharRec ch229 = {9,17,-1,0,11,ch229data};
-
-/* char: 0xe4 */
-
-static const GLubyte ch228data[] = {
-0x71,0x80,0xfb,0x0,0xc7,0x0,0xc3,0x0,0xc3,0x0,0x63,0x0,0x3b,0x0,0xf,0x0,
-0x3,0x0,0x63,0x0,0x67,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x66,0x0,0x66,0x0,
-};
-
-static const BitmapCharRec ch228 = {9,16,-1,0,11,ch228data};
-
-/* char: 0xe3 */
-
-static const GLubyte ch227data[] = {
-0x71,0x80,0xfb,0x0,0xc7,0x0,0xc3,0x0,0xc3,0x0,0x63,0x0,0x3b,0x0,0xf,0x0,
-0x3,0x0,0x63,0x0,0x67,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x5c,0x0,0x3a,0x0,
-};
-
-static const BitmapCharRec ch227 = {9,16,-1,0,11,ch227data};
-
-/* char: 0xe2 */
-
-static const GLubyte ch226data[] = {
-0x71,0x80,0xfb,0x0,0xc7,0x0,0xc3,0x0,0xc3,0x0,0x63,0x0,0x3b,0x0,0xf,0x0,
-0x3,0x0,0x63,0x0,0x67,0x0,0x3e,0x0,0x0,0x0,0x42,0x0,0x24,0x0,0x3c,0x0,
-0x18,0x0,
-};
-
-static const BitmapCharRec ch226 = {9,17,-1,0,11,ch226data};
-
-/* char: 0xe1 */
-
-static const GLubyte ch225data[] = {
-0x71,0x80,0xfb,0x0,0xc7,0x0,0xc3,0x0,0xc3,0x0,0x63,0x0,0x3b,0x0,0xf,0x0,
-0x3,0x0,0x63,0x0,0x67,0x0,0x3e,0x0,0x0,0x0,0x10,0x0,0xc,0x0,0x7,0x0,
-0x3,0x0,
-};
-
-static const BitmapCharRec ch225 = {9,17,-1,0,11,ch225data};
-
-/* char: 0xe0 */
-
-static const GLubyte ch224data[] = {
-0x71,0x80,0xfb,0x0,0xc7,0x0,0xc3,0x0,0xc3,0x0,0x63,0x0,0x3b,0x0,0xf,0x0,
-0x3,0x0,0x63,0x0,0x67,0x0,0x3e,0x0,0x0,0x0,0x4,0x0,0x18,0x0,0x70,0x0,
-0x60,0x0,
-};
-
-static const BitmapCharRec ch224 = {9,17,-1,0,11,ch224data};
-
-/* char: 0xdf */
-
-static const GLubyte ch223data[] = {
-0xe7,0x0,0x6c,0x80,0x6c,0xc0,0x60,0xc0,0x60,0xc0,0x61,0xc0,0x61,0x80,0x63,0x80,
-0x67,0x0,0x6c,0x0,0x63,0x0,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x33,0x0,
-0x1e,0x0,
-};
-
-static const BitmapCharRec ch223 = {10,17,-1,0,12,ch223data};
-
-/* char: 0xde */
-
-static const GLubyte ch222data[] = {
-0xfc,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x3f,0xc0,0x30,0x70,0x30,0x30,0x30,0x18,
-0x30,0x18,0x30,0x18,0x30,0x30,0x30,0x70,0x3f,0xc0,0x30,0x0,0x30,0x0,0x30,0x0,
-0xfc,0x0,
-};
-
-static const BitmapCharRec ch222 = {13,17,-1,0,15,ch222data};
-
-/* char: 0xdd */
-
-static const GLubyte ch221data[] = {
-0x7,0xe0,0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x3,0xc0,
-0x3,0x40,0x6,0x60,0x6,0x20,0xc,0x30,0x1c,0x10,0x18,0x18,0x38,0x8,0x30,0xc,
-0xfc,0x3f,0x0,0x0,0x1,0x0,0x0,0xc0,0x0,0x70,0x0,0x30,
-};
-
-static const BitmapCharRec ch221 = {16,22,0,0,16,ch221data};
-
-/* char: 0xdc */
-
-static const GLubyte ch220data[] = {
-0x7,0xe0,0x1c,0x30,0x18,0x8,0x30,0x8,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
-0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
-0xfc,0x1f,0x0,0x0,0x0,0x0,0x6,0x30,0x6,0x30,
-};
-
-static const BitmapCharRec ch220 = {16,21,-1,0,18,ch220data};
-
-/* char: 0xdb */
-
-static const GLubyte ch219data[] = {
-0x7,0xe0,0x1c,0x30,0x18,0x8,0x30,0x8,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
-0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
-0xfc,0x1f,0x0,0x0,0x8,0x10,0x6,0x60,0x3,0xc0,0x1,0x80,
-};
-
-static const BitmapCharRec ch219 = {16,22,-1,0,18,ch219data};
-
-/* char: 0xda */
-
-static const GLubyte ch218data[] = {
-0x7,0xe0,0x1c,0x30,0x18,0x8,0x30,0x8,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
-0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
-0xfc,0x1f,0x0,0x0,0x1,0x0,0x0,0xc0,0x0,0x70,0x0,0x30,
-};
-
-static const BitmapCharRec ch218 = {16,22,-1,0,18,ch218data};
-
-/* char: 0xd9 */
-
-static const GLubyte ch217data[] = {
-0x7,0xe0,0x1c,0x30,0x18,0x8,0x30,0x8,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
-0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
-0xfc,0x1f,0x0,0x0,0x0,0x40,0x1,0x80,0x7,0x0,0x6,0x0,
-};
-
-static const BitmapCharRec ch217 = {16,22,-1,0,18,ch217data};
-
-/* char: 0xd8 */
-
-static const GLubyte ch216data[] = {
-0x20,0x0,0x27,0xe0,0x1c,0x38,0x38,0x1c,0x68,0x6,0x64,0x6,0xc2,0x3,0xc2,0x3,
-0xc1,0x3,0xc1,0x3,0xc0,0x83,0xc0,0x83,0xc0,0x43,0x60,0x46,0x60,0x26,0x38,0x1c,
-0x1c,0x38,0x7,0xe4,0x0,0x4,
-};
-
-static const BitmapCharRec ch216 = {16,19,-1,1,18,ch216data};
-
-/* char: 0xd7 */
-
-static const GLubyte ch215data[] = {
-0x80,0x40,0xc0,0xc0,0x61,0x80,0x33,0x0,0x1e,0x0,0xc,0x0,0x1e,0x0,0x33,0x0,
-0x61,0x80,0xc0,0xc0,0x80,0x40,
-};
-
-static const BitmapCharRec ch215 = {10,11,-2,-1,14,ch215data};
-
-/* char: 0xd6 */
-
-static const GLubyte ch214data[] = {
-0x7,0xe0,0x1c,0x38,0x38,0x1c,0x60,0x6,0x60,0x6,0xc0,0x3,0xc0,0x3,0xc0,0x3,
-0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,0x60,0x6,0x60,0x6,0x38,0x1c,0x1c,0x38,
-0x7,0xe0,0x0,0x0,0x0,0x0,0x6,0x60,0x6,0x60,
-};
-
-static const BitmapCharRec ch214 = {16,21,-1,0,18,ch214data};
-
-/* char: 0xd5 */
-
-static const GLubyte ch213data[] = {
-0x7,0xe0,0x1c,0x38,0x38,0x1c,0x60,0x6,0x60,0x6,0xc0,0x3,0xc0,0x3,0xc0,0x3,
-0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,0x60,0x6,0x60,0x6,0x38,0x1c,0x1c,0x38,
-0x7,0xe0,0x0,0x0,0x0,0x0,0x4,0xe0,0x3,0x90,
-};
-
-static const BitmapCharRec ch213 = {16,21,-1,0,18,ch213data};
-
-/* char: 0xd4 */
-
-static const GLubyte ch212data[] = {
-0x7,0xe0,0x1c,0x38,0x38,0x1c,0x60,0x6,0x60,0x6,0xc0,0x3,0xc0,0x3,0xc0,0x3,
-0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,0x60,0x6,0x60,0x6,0x38,0x1c,0x1c,0x38,
-0x7,0xe0,0x0,0x0,0x8,0x10,0x6,0x60,0x3,0xc0,0x1,0x80,
-};
-
-static const BitmapCharRec ch212 = {16,22,-1,0,18,ch212data};
-
-/* char: 0xd3 */
-
-static const GLubyte ch211data[] = {
-0x7,0xe0,0x1c,0x38,0x38,0x1c,0x60,0x6,0x60,0x6,0xc0,0x3,0xc0,0x3,0xc0,0x3,
-0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,0x60,0x6,0x60,0x6,0x38,0x1c,0x1c,0x38,
-0x7,0xe0,0x0,0x0,0x1,0x0,0x0,0xc0,0x0,0x70,0x0,0x30,
-};
-
-static const BitmapCharRec ch211 = {16,22,-1,0,18,ch211data};
-
-/* char: 0xd2 */
-
-static const GLubyte ch210data[] = {
-0x7,0xe0,0x1c,0x38,0x38,0x1c,0x60,0x6,0x60,0x6,0xc0,0x3,0xc0,0x3,0xc0,0x3,
-0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,0x60,0x6,0x60,0x6,0x38,0x1c,0x1c,0x38,
-0x7,0xe0,0x0,0x0,0x0,0x40,0x1,0x80,0x7,0x0,0x6,0x0,
-};
-
-static const BitmapCharRec ch210 = {16,22,-1,0,18,ch210data};
-
-/* char: 0xd1 */
-
-static const GLubyte ch209data[] = {
-0xf8,0xc,0x20,0x1c,0x20,0x1c,0x20,0x34,0x20,0x64,0x20,0x64,0x20,0xc4,0x21,0x84,
-0x21,0x84,0x23,0x4,0x26,0x4,0x26,0x4,0x2c,0x4,0x38,0x4,0x38,0x4,0x30,0x4,
-0xf0,0x1f,0x0,0x0,0x0,0x0,0x4,0xe0,0x3,0x90,
-};
-
-static const BitmapCharRec ch209 = {16,21,-1,0,18,ch209data};
-
-/* char: 0xd0 */
-
-static const GLubyte ch208data[] = {
-0x7f,0xe0,0x18,0x38,0x18,0x1c,0x18,0x6,0x18,0x6,0x18,0x3,0x18,0x3,0x18,0x3,
-0xff,0x3,0x18,0x3,0x18,0x3,0x18,0x3,0x18,0x6,0x18,0x6,0x18,0x1c,0x18,0x38,
-0x7f,0xe0,
-};
-
-static const BitmapCharRec ch208 = {16,17,0,0,17,ch208data};
-
-/* char: 0xcf */
-
-static const GLubyte ch207data[] = {
-0xfc,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-0xfc,0x0,0x0,0xcc,0xcc,
-};
-
-static const BitmapCharRec ch207 = {6,21,-1,0,8,ch207data};
-
-/* char: 0xce */
-
-static const GLubyte ch206data[] = {
-0x7e,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
-0x7e,0x0,0x81,0x66,0x3c,0x18,
-};
-
-static const BitmapCharRec ch206 = {8,22,-1,0,8,ch206data};
-
-/* char: 0xcd */
-
-static const GLubyte ch205data[] = {
-0xfc,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-0xfc,0x0,0x40,0x30,0x1c,0xc,
-};
-
-static const BitmapCharRec ch205 = {6,22,-1,0,8,ch205data};
-
-/* char: 0xcc */
-
-static const GLubyte ch204data[] = {
-0xfc,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-0xfc,0x0,0x8,0x30,0xe0,0xc0,
-};
-
-static const BitmapCharRec ch204 = {6,22,-1,0,8,ch204data};
-
-/* char: 0xcb */
-
-static const GLubyte ch203data[] = {
-0xff,0xf8,0x30,0x18,0x30,0x8,0x30,0x8,0x30,0x0,0x30,0x0,0x30,0x40,0x30,0x40,
-0x3f,0xc0,0x30,0x40,0x30,0x40,0x30,0x0,0x30,0x0,0x30,0x10,0x30,0x10,0x30,0x30,
-0xff,0xf0,0x0,0x0,0x0,0x0,0x19,0x80,0x19,0x80,
-};
-
-static const BitmapCharRec ch203 = {13,21,-1,0,15,ch203data};
-
-/* char: 0xca */
-
-static const GLubyte ch202data[] = {
-0xff,0xf8,0x30,0x18,0x30,0x8,0x30,0x8,0x30,0x0,0x30,0x0,0x30,0x40,0x30,0x40,
-0x3f,0xc0,0x30,0x40,0x30,0x40,0x30,0x0,0x30,0x0,0x30,0x10,0x30,0x10,0x30,0x30,
-0xff,0xf0,0x0,0x0,0x10,0x20,0xc,0xc0,0x7,0x80,0x3,0x0,
-};
-
-static const BitmapCharRec ch202 = {13,22,-1,0,15,ch202data};
-
-/* char: 0xc9 */
-
-static const GLubyte ch201data[] = {
-0xff,0xf8,0x30,0x18,0x30,0x8,0x30,0x8,0x30,0x0,0x30,0x0,0x30,0x40,0x30,0x40,
-0x3f,0xc0,0x30,0x40,0x30,0x40,0x30,0x0,0x30,0x0,0x30,0x10,0x30,0x10,0x30,0x30,
-0xff,0xf0,0x0,0x0,0x4,0x0,0x3,0x0,0x1,0xc0,0x0,0xc0,
-};
-
-static const BitmapCharRec ch201 = {13,22,-1,0,15,ch201data};
-
-/* char: 0xc8 */
-
-static const GLubyte ch200data[] = {
-0xff,0xf8,0x30,0x18,0x30,0x8,0x30,0x8,0x30,0x0,0x30,0x0,0x30,0x40,0x30,0x40,
-0x3f,0xc0,0x30,0x40,0x30,0x40,0x30,0x0,0x30,0x0,0x30,0x10,0x30,0x10,0x30,0x30,
-0xff,0xf0,0x0,0x0,0x1,0x0,0x6,0x0,0x1c,0x0,0x18,0x0,
-};
-
-static const BitmapCharRec ch200 = {13,22,-1,0,15,ch200data};
-
-/* char: 0xc7 */
-
-static const GLubyte ch199data[] = {
-0x7,0x80,0xc,0xc0,0x0,0xc0,0x3,0xc0,0x3,0x0,0x1,0x0,0x7,0xe0,0x1e,0x38,
-0x38,0x8,0x60,0x4,0x60,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,
-0xc0,0x0,0xc0,0x0,0x60,0x4,0x60,0x4,0x38,0xc,0x1c,0x3c,0x7,0xe4,
-};
-
-static const BitmapCharRec ch199 = {14,23,-1,6,16,ch199data};
-
-/* char: 0xc6 */
-
-static const GLubyte ch198data[] = {
-0xf9,0xff,0xf0,0x30,0x60,0x30,0x10,0x60,0x10,0x10,0x60,0x10,0x18,0x60,0x0,0x8,
-0x60,0x0,0xf,0xe0,0x80,0xc,0x60,0x80,0x4,0x7f,0x80,0x4,0x60,0x80,0x6,0x60,
-0x80,0x2,0x60,0x0,0x2,0x60,0x0,0x1,0x60,0x20,0x1,0x60,0x20,0x1,0xe0,0x60,
-0x3,0xff,0xe0,
-};
-
-static const BitmapCharRec ch198 = {20,17,0,0,21,ch198data};
-
-/* char: 0xc5 */
-
-static const GLubyte ch197data[] = {
-0xfc,0x1f,0x80,0x30,0x6,0x0,0x10,0x6,0x0,0x10,0xc,0x0,0x18,0xc,0x0,0x8,
-0xc,0x0,0xf,0xf8,0x0,0xc,0x18,0x0,0x4,0x18,0x0,0x4,0x30,0x0,0x6,0x30,
-0x0,0x2,0x30,0x0,0x2,0x60,0x0,0x1,0x60,0x0,0x1,0xc0,0x0,0x1,0xc0,0x0,
-0x0,0x80,0x0,0x1,0xc0,0x0,0x2,0x20,0x0,0x2,0x20,0x0,0x1,0xc0,0x0,
-};
-
-static const BitmapCharRec ch197 = {17,21,0,0,17,ch197data};
-
-/* char: 0xc4 */
-
-static const GLubyte ch196data[] = {
-0xfc,0x1f,0x80,0x30,0x6,0x0,0x10,0x6,0x0,0x10,0xc,0x0,0x18,0xc,0x0,0x8,
-0xc,0x0,0xf,0xf8,0x0,0xc,0x18,0x0,0x4,0x18,0x0,0x4,0x30,0x0,0x6,0x30,
-0x0,0x2,0x30,0x0,0x2,0x60,0x0,0x1,0x60,0x0,0x1,0xc0,0x0,0x1,0xc0,0x0,
-0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6,0x30,0x0,0x6,0x30,0x0,
-};
-
-static const BitmapCharRec ch196 = {17,21,0,0,17,ch196data};
-
-/* char: 0xc3 */
-
-static const GLubyte ch195data[] = {
-0xfc,0x1f,0x80,0x30,0x7,0x0,0x10,0x6,0x0,0x10,0xc,0x0,0x18,0xc,0x0,0x8,
-0xc,0x0,0xf,0xf8,0x0,0xc,0x18,0x0,0x4,0x18,0x0,0x4,0x30,0x0,0x6,0x30,
-0x0,0x2,0x30,0x0,0x2,0x60,0x0,0x1,0x60,0x0,0x1,0xc0,0x0,0x1,0xc0,0x0,
-0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0xe0,0x0,0x3,0x90,0x0,
-};
-
-static const BitmapCharRec ch195 = {17,21,0,0,17,ch195data};
-
-/* char: 0xc2 */
-
-static const GLubyte ch194data[] = {
-0xfc,0x1f,0x80,0x30,0x6,0x0,0x10,0x6,0x0,0x10,0xc,0x0,0x18,0xc,0x0,0x8,
-0xc,0x0,0xf,0xf8,0x0,0xc,0x18,0x0,0x4,0x18,0x0,0x4,0x30,0x0,0x6,0x30,
-0x0,0x2,0x30,0x0,0x2,0x60,0x0,0x1,0x60,0x0,0x1,0xc0,0x0,0x1,0xc0,0x0,
-0x0,0x80,0x0,0x0,0x0,0x0,0x8,0x10,0x0,0x6,0x60,0x0,0x3,0xc0,0x0,0x1,
-0x80,0x0,
-};
-
-static const BitmapCharRec ch194 = {17,22,0,0,17,ch194data};
-
-/* char: 0xc1 */
-
-static const GLubyte ch193data[] = {
-0xfc,0x1f,0x80,0x30,0x6,0x0,0x10,0x6,0x0,0x10,0xc,0x0,0x18,0xc,0x0,0x8,
-0xc,0x0,0xf,0xf8,0x0,0xc,0x18,0x0,0x4,0x18,0x0,0x4,0x30,0x0,0x6,0x30,
-0x0,0x2,0x30,0x0,0x2,0x60,0x0,0x1,0x60,0x0,0x1,0xc0,0x0,0x1,0xc0,0x0,
-0x0,0x80,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0xc0,0x0,0x0,0x70,0x0,0x0,
-0x30,0x0,
-};
-
-static const BitmapCharRec ch193 = {17,22,0,0,17,ch193data};
-
-/* char: 0xc0 */
-
-static const GLubyte ch192data[] = {
-0xfc,0x1f,0x80,0x30,0x6,0x0,0x10,0x6,0x0,0x10,0xc,0x0,0x18,0xc,0x0,0x8,
-0xc,0x0,0xf,0xf8,0x0,0xc,0x18,0x0,0x4,0x18,0x0,0x4,0x30,0x0,0x6,0x30,
-0x0,0x2,0x30,0x0,0x2,0x60,0x0,0x1,0x60,0x0,0x1,0xc0,0x0,0x1,0xc0,0x0,
-0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x20,0x0,0x0,0xc0,0x0,0x3,0x80,0x0,0x3,
-0x0,0x0,
-};
-
-static const BitmapCharRec ch192 = {17,22,0,0,17,ch192data};
-
-/* char: 0xbf */
-
-static const GLubyte ch191data[] = {
-0x3e,0x63,0xc1,0xc3,0xc3,0xe0,0x70,0x30,0x38,0x18,0x18,0x8,0x8,0x0,0x0,0xc,
-0xc,
-};
-
-static const BitmapCharRec ch191 = {8,17,-1,5,11,ch191data};
-
-/* char: 0xbe */
-
-static const GLubyte ch190data[] = {
-0x18,0x2,0x0,0x8,0x2,0x0,0xc,0x7f,0x80,0x4,0x22,0x0,0x6,0x32,0x0,0x3,
-0x12,0x0,0x1,0xa,0x0,0x71,0x8e,0x0,0x88,0x86,0x0,0x8c,0xc2,0x0,0xc,0x60,
-0x0,0x8,0x20,0x0,0x30,0x30,0x0,0x8,0x10,0x0,0x8c,0x18,0x0,0x4c,0xc,0x0,
-0x38,0x4,0x0,
-};
-
-static const BitmapCharRec ch190 = {17,17,0,0,18,ch190data};
-
-/* char: 0xbd */
-
-static const GLubyte ch189data[] = {
-0x30,0x7e,0x10,0x22,0x18,0x10,0x8,0x18,0xc,0x8,0x6,0x4,0x2,0x6,0xfb,0x46,
-0x21,0x26,0x21,0x9c,0x20,0xc0,0x20,0x40,0x20,0x60,0x20,0x20,0xa0,0x30,0x60,0x18,
-0x20,0x8,
-};
-
-static const BitmapCharRec ch189 = {15,17,-1,0,18,ch189data};
-
-/* char: 0xbc */
-
-static const GLubyte ch188data[] = {
-0x30,0x4,0x10,0x4,0x18,0xff,0x8,0x44,0xc,0x64,0x6,0x24,0x2,0x14,0xfb,0x1c,
-0x21,0xc,0x21,0x84,0x20,0xc0,0x20,0x40,0x20,0x60,0x20,0x20,0xa0,0x30,0x60,0x18,
-0x20,0x8,
-};
-
-static const BitmapCharRec ch188 = {16,17,-1,0,18,ch188data};
-
-/* char: 0xbb */
-
-static const GLubyte ch187data[] = {
-0x88,0x0,0xcc,0x0,0x66,0x0,0x33,0x0,0x19,0x80,0x19,0x80,0x33,0x0,0x66,0x0,
-0xcc,0x0,0x88,0x0,
-};
-
-static const BitmapCharRec ch187 = {9,10,-2,-1,12,ch187data};
-
-/* char: 0xba */
-
-static const GLubyte ch186data[] = {
-0xfc,0x0,0x78,0xcc,0xcc,0xcc,0xcc,0xcc,0x78,
-};
-
-static const BitmapCharRec ch186 = {6,9,-1,-8,8,ch186data};
-
-/* char: 0xb9 */
-
-static const GLubyte ch185data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0xa0,0x60,0x20,
-};
-
-static const BitmapCharRec ch185 = {5,10,-1,-7,7,ch185data};
-
-/* char: 0xb8 */
-
-static const GLubyte ch184data[] = {
-0x78,0xcc,0xc,0x3c,0x30,0x10,
-};
-
-static const BitmapCharRec ch184 = {6,6,-1,6,8,ch184data};
-
-/* char: 0xb7 */
-
-static const GLubyte ch183data[] = {
-0xc0,0xc0,
-};
-
-static const BitmapCharRec ch183 = {2,2,-2,-6,6,ch183data};
-
-/* char: 0xb6 */
-
-static const GLubyte ch182data[] = {
-0x9,0x0,0x9,0x0,0x9,0x0,0x9,0x0,0x9,0x0,0x9,0x0,0x9,0x0,0x9,0x0,
-0x9,0x0,0x9,0x0,0x9,0x0,0x19,0x0,0x39,0x0,0x79,0x0,0x79,0x0,0xf9,0x0,
-0xf9,0x0,0xf9,0x0,0x79,0x0,0x79,0x0,0x39,0x0,0x1f,0x80,
-};
-
-static const BitmapCharRec ch182 = {9,22,-1,5,11,ch182data};
-
-/* char: 0xb5 */
-
-static const GLubyte ch181data[] = {
-0x40,0x0,0xe0,0x0,0xc0,0x0,0x40,0x0,0x40,0x0,0x5c,0xe0,0x7e,0xc0,0x71,0xc0,
-0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
-0xe1,0xc0,
-};
-
-static const BitmapCharRec ch181 = {11,17,-1,5,13,ch181data};
-
-/* char: 0xb4 */
-
-static const GLubyte ch180data[] = {
-0x80,0x60,0x38,0x18,
-};
-
-static const BitmapCharRec ch180 = {5,4,-2,-13,8,ch180data};
-
-/* char: 0xb3 */
-
-static const GLubyte ch179data[] = {
-0x70,0x88,0x8c,0xc,0x8,0x30,0x8,0x8c,0x4c,0x38,
-};
-
-static const BitmapCharRec ch179 = {6,10,0,-7,7,ch179data};
-
-/* char: 0xb2 */
-
-static const GLubyte ch178data[] = {
-0xfc,0x44,0x20,0x30,0x10,0x8,0xc,0x8c,0x4c,0x38,
-};
-
-static const BitmapCharRec ch178 = {6,10,0,-7,7,ch178data};
-
-/* char: 0xb1 */
-
-static const GLubyte ch177data[] = {
-0xff,0xf0,0xff,0xf0,0x0,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,
-0xff,0xf0,0xff,0xf0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,
-};
-
-static const BitmapCharRec ch177 = {12,15,-1,0,14,ch177data};
-
-/* char: 0xb0 */
-
-static const GLubyte ch176data[] = {
-0x38,0x44,0x82,0x82,0x82,0x44,0x38,
-};
-
-static const BitmapCharRec ch176 = {7,7,-1,-10,9,ch176data};
-
-/* char: 0xaf */
-
-static const GLubyte ch175data[] = {
-0xfc,0xfc,
-};
-
-static const BitmapCharRec ch175 = {6,2,-1,-14,8,ch175data};
-
-/* char: 0xae */
-
-static const GLubyte ch174data[] = {
-0x7,0xf0,0x0,0x1c,0x1c,0x0,0x30,0x6,0x0,0x60,0x3,0x0,0x47,0x19,0x0,0xc2,
-0x31,0x80,0x82,0x20,0x80,0x82,0x40,0x80,0x83,0xe0,0x80,0x82,0x30,0x80,0x82,0x10,
-0x80,0xc2,0x11,0x80,0x42,0x31,0x0,0x67,0xe3,0x0,0x30,0x6,0x0,0x1c,0x1c,0x0,
-0x7,0xf0,0x0,
-};
-
-static const BitmapCharRec ch174 = {17,17,-1,0,19,ch174data};
-
-/* char: 0xad */
-
-static const GLubyte ch173data[] = {
-0xfe,0xfe,
-};
-
-static const BitmapCharRec ch173 = {7,2,-1,-5,9,ch173data};
-
-/* char: 0xac */
-
-static const GLubyte ch172data[] = {
-0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0xff,0xf0,0xff,0xf0,
-};
-
-static const BitmapCharRec ch172 = {12,7,-1,-3,14,ch172data};
-
-/* char: 0xab */
-
-static const GLubyte ch171data[] = {
-0x8,0x80,0x19,0x80,0x33,0x0,0x66,0x0,0xcc,0x0,0xcc,0x0,0x66,0x0,0x33,0x0,
-0x19,0x80,0x8,0x80,
-};
-
-static const BitmapCharRec ch171 = {9,10,-2,-1,13,ch171data};
-
-/* char: 0xaa */
-
-static const GLubyte ch170data[] = {
-0x7e,0x0,0x76,0xcc,0xcc,0x7c,0xc,0xcc,0x78,
-};
-
-static const BitmapCharRec ch170 = {7,9,0,-8,8,ch170data};
-
-/* char: 0xa9 */
-
-static const GLubyte ch169data[] = {
-0x7,0xf0,0x0,0x1c,0x1c,0x0,0x30,0x6,0x0,0x61,0xc3,0x0,0x47,0x71,0x0,0xc4,
-0x19,0x80,0x8c,0x0,0x80,0x88,0x0,0x80,0x88,0x0,0x80,0x88,0x0,0x80,0x8c,0x0,
-0x80,0xc4,0x19,0x80,0x47,0x31,0x0,0x61,0xe3,0x0,0x30,0x6,0x0,0x1c,0x1c,0x0,
-0x7,0xf0,0x0,
-};
-
-static const BitmapCharRec ch169 = {17,17,-1,0,19,ch169data};
-
-/* char: 0xa8 */
-
-static const GLubyte ch168data[] = {
-0xcc,0xcc,
-};
-
-static const BitmapCharRec ch168 = {6,2,-1,-14,8,ch168data};
-
-/* char: 0xa7 */
-
-static const GLubyte ch167data[] = {
-0x38,0x64,0x62,0x6,0xe,0x1c,0x38,0x74,0xe2,0xc3,0x83,0x87,0x4e,0x3c,0x38,0x70,
-0x60,0x46,0x26,0x1c,
-};
-
-static const BitmapCharRec ch167 = {8,20,-2,2,12,ch167data};
-
-/* char: 0xa6 */
-
-static const GLubyte ch166data[] = {
-0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x0,0x0,0x0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc0,
-};
-
-static const BitmapCharRec ch166 = {2,17,-2,0,6,ch166data};
-
-/* char: 0xa5 */
-
-static const GLubyte ch165data[] = {
-0xf,0xc0,0x3,0x0,0x3,0x0,0x3,0x0,0x3,0x0,0x1f,0xe0,0x3,0x0,0x1f,0xe0,
-0x3,0x0,0x7,0x80,0xc,0x80,0xc,0xc0,0x18,0x40,0x18,0x60,0x30,0x20,0x70,0x30,
-0xf8,0x7c,
-};
-
-static const BitmapCharRec ch165 = {14,17,0,0,14,ch165data};
-
-/* char: 0xa4 */
-
-static const GLubyte ch164data[] = {
-0xc0,0x60,0xee,0xe0,0x7f,0xc0,0x31,0x80,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
-0x31,0x80,0x7f,0xc0,0xee,0xe0,0xc0,0x60,
-};
-
-static const BitmapCharRec ch164 = {11,12,-1,-3,13,ch164data};
-
-/* char: 0xa3 */
-
-static const GLubyte ch163data[] = {
-0xe7,0x80,0xbe,0xc0,0x78,0x40,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,
-0x30,0x0,0xfc,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x31,0x80,0x19,0x80,
-0xf,0x0,
-};
-
-static const BitmapCharRec ch163 = {10,17,-1,0,12,ch163data};
-
-/* char: 0xa2 */
-
-static const GLubyte ch162data[] = {
-0x40,0x0,0x40,0x0,0x3e,0x0,0x7f,0x0,0x70,0x80,0xd0,0x0,0xc8,0x0,0xc8,0x0,
-0xc8,0x0,0xc4,0x0,0xc4,0x0,0x43,0x80,0x63,0x80,0x1f,0x0,0x1,0x0,0x1,0x0,
-};
-
-static const BitmapCharRec ch162 = {9,16,-1,2,12,ch162data};
-
-/* char: 0xa1 */
-
-static const GLubyte ch161data[] = {
-0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x0,0x0,0x0,0xc0,
-0xc0,
-};
-
-static const BitmapCharRec ch161 = {2,17,-4,5,8,ch161data};
-
-/* char: 0xa0 */
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch160data[] = { 0x0 };
-static const BitmapCharRec ch160 = {1,1,0,0,6,ch160data};
-#else
-static const BitmapCharRec ch160 = {0,0,0,0,6,0};
-#endif
-
-/* char: 0x7e '~' */
-
-static const GLubyte ch126data[] = {
-0x83,0x80,0xc7,0xc0,0x7c,0x60,0x38,0x20,
-};
-
-static const BitmapCharRec ch126 = {11,4,-1,-5,13,ch126data};
-
-/* char: 0x7d '}' */
-
-static const GLubyte ch125data[] = {
-0xe0,0x30,0x18,0x18,0x18,0x18,0x18,0x18,0x8,0xc,0x4,0x3,0x4,0xc,0x8,0x18,
-0x18,0x18,0x18,0x18,0x30,0xe0,
-};
-
-static const BitmapCharRec ch125 = {8,22,-1,5,10,ch125data};
-
-/* char: 0x7c '|' */
-
-static const GLubyte ch124data[] = {
-0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc0,
-};
-
-static const BitmapCharRec ch124 = {2,17,-2,0,6,ch124data};
-
-/* char: 0x7b '{' */
-
-static const GLubyte ch123data[] = {
-0x7,0xc,0x18,0x18,0x18,0x18,0x18,0x18,0x10,0x30,0x20,0xc0,0x20,0x30,0x10,0x18,
-0x18,0x18,0x18,0x18,0xc,0x7,
-};
-
-static const BitmapCharRec ch123 = {8,22,-1,5,10,ch123data};
-
-/* char: 0x7a 'z' */
-
-static const GLubyte ch122data[] = {
-0xff,0xc3,0x61,0x70,0x30,0x38,0x18,0x1c,0xe,0x86,0xc3,0xff,
-};
-
-static const BitmapCharRec ch122 = {8,12,-1,0,10,ch122data};
-
-/* char: 0x79 'y' */
-
-static const GLubyte ch121data[] = {
-0xe0,0x0,0xf0,0x0,0x18,0x0,0x8,0x0,0xc,0x0,0x4,0x0,0xe,0x0,0xe,0x0,
-0x1a,0x0,0x19,0x0,0x19,0x0,0x31,0x0,0x30,0x80,0x30,0x80,0x60,0x80,0x60,0xc0,
-0xf1,0xe0,
-};
-
-static const BitmapCharRec ch121 = {11,17,0,5,11,ch121data};
-
-/* char: 0x78 'x' */
-
-static const GLubyte ch120data[] = {
-0xf1,0xe0,0x60,0xc0,0x21,0x80,0x33,0x80,0x1b,0x0,0xe,0x0,0xc,0x0,0x1a,0x0,
-0x39,0x0,0x31,0x80,0x60,0xc0,0xf1,0xe0,
-};
-
-static const BitmapCharRec ch120 = {11,12,-1,0,13,ch120data};
-
-/* char: 0x77 'w' */
-
-static const GLubyte ch119data[] = {
-0x4,0x10,0x0,0xe,0x38,0x0,0xe,0x38,0x0,0x1a,0x28,0x0,0x1a,0x64,0x0,0x19,
-0x64,0x0,0x31,0x64,0x0,0x30,0xc2,0x0,0x30,0xc2,0x0,0x60,0xc2,0x0,0x60,0xc3,
-0x0,0xf1,0xe7,0x80,
-};
-
-static const BitmapCharRec ch119 = {17,12,0,0,17,ch119data};
-
-/* char: 0x76 'v' */
-
-static const GLubyte ch118data[] = {
-0x4,0x0,0xe,0x0,0xe,0x0,0x1a,0x0,0x19,0x0,0x19,0x0,0x31,0x0,0x30,0x80,
-0x30,0x80,0x60,0x80,0x60,0xc0,0xf1,0xe0,
-};
-
-static const BitmapCharRec ch118 = {11,12,0,0,11,ch118data};
-
-/* char: 0x75 'u' */
-
-static const GLubyte ch117data[] = {
-0x1c,0xe0,0x3e,0xc0,0x71,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
-0x60,0xc0,0x60,0xc0,0x60,0xc0,0xe1,0xc0,
-};
-
-static const BitmapCharRec ch117 = {11,12,-1,0,13,ch117data};
-
-/* char: 0x74 't' */
-
-static const GLubyte ch116data[] = {
-0x1c,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0xfe,0x70,0x30,0x10,
-};
-
-static const BitmapCharRec ch116 = {7,15,0,0,7,ch116data};
-
-/* char: 0x73 's' */
-
-static const GLubyte ch115data[] = {
-0xf8,0xc6,0x83,0x3,0x7,0x1e,0x7c,0x70,0xe0,0xc2,0x66,0x3e,
-};
-
-static const BitmapCharRec ch115 = {8,12,-1,0,10,ch115data};
-
-/* char: 0x72 'r' */
-
-static const GLubyte ch114data[] = {
-0xf0,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x76,0x6e,0xe6,
-};
-
-static const BitmapCharRec ch114 = {7,12,-1,0,8,ch114data};
-
-/* char: 0x71 'q' */
-
-static const GLubyte ch113data[] = {
-0x3,0xc0,0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x1d,0x80,0x73,0x80,0x61,0x80,
-0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x61,0x80,0x73,0x80,
-0x1d,0x80,
-};
-
-static const BitmapCharRec ch113 = {10,17,-1,5,12,ch113data};
-
-/* char: 0x70 'p' */
-
-static const GLubyte ch112data[] = {
-0xf0,0x0,0x60,0x0,0x60,0x0,0x60,0x0,0x60,0x0,0x6e,0x0,0x73,0x80,0x61,0x80,
-0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x61,0x80,0x73,0x80,
-0xee,0x0,
-};
-
-static const BitmapCharRec ch112 = {10,17,-1,5,12,ch112data};
-
-/* char: 0x6f 'o' */
-
-static const GLubyte ch111data[] = {
-0x1e,0x0,0x73,0x80,0x61,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc0,0xc0,0x61,0x80,0x73,0x80,0x1e,0x0,
-};
-
-static const BitmapCharRec ch111 = {10,12,-1,0,12,ch111data};
-
-/* char: 0x6e 'n' */
-
-static const GLubyte ch110data[] = {
-0xf1,0xe0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
-0x60,0xc0,0x71,0xc0,0x6f,0x80,0xe7,0x0,
-};
-
-static const BitmapCharRec ch110 = {11,12,-1,0,13,ch110data};
-
-/* char: 0x6d 'm' */
-
-static const GLubyte ch109data[] = {
-0xf1,0xe3,0xc0,0x60,0xc1,0x80,0x60,0xc1,0x80,0x60,0xc1,0x80,0x60,0xc1,0x80,0x60,
-0xc1,0x80,0x60,0xc1,0x80,0x60,0xc1,0x80,0x60,0xc1,0x80,0x71,0xe3,0x80,0x6f,0x9f,
-0x0,0xe7,0xe,0x0,
-};
-
-static const BitmapCharRec ch109 = {18,12,-1,0,20,ch109data};
-
-/* char: 0x6c 'l' */
-
-static const GLubyte ch108data[] = {
-0xf0,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,
-0xe0,
-};
-
-static const BitmapCharRec ch108 = {4,17,-1,0,6,ch108data};
-
-/* char: 0x6b 'k' */
-
-static const GLubyte ch107data[] = {
-0xf3,0xe0,0x61,0xc0,0x63,0x80,0x67,0x0,0x6e,0x0,0x6c,0x0,0x78,0x0,0x68,0x0,
-0x64,0x0,0x66,0x0,0x63,0x0,0x67,0xc0,0x60,0x0,0x60,0x0,0x60,0x0,0x60,0x0,
-0xe0,0x0,
-};
-
-static const BitmapCharRec ch107 = {11,17,-1,0,12,ch107data};
-
-/* char: 0x6a 'j' */
-
-static const GLubyte ch106data[] = {
-0xc0,0xe0,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-0x70,0x0,0x0,0x0,0x30,0x30,
-};
-
-static const BitmapCharRec ch106 = {4,22,0,5,6,ch106data};
-
-/* char: 0x69 'i' */
-
-static const GLubyte ch105data[] = {
-0xf0,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0xe0,0x0,0x0,0x0,0x60,
-0x60,
-};
-
-static const BitmapCharRec ch105 = {4,17,-1,0,6,ch105data};
-
-/* char: 0x68 'h' */
-
-static const GLubyte ch104data[] = {
-0xf1,0xe0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
-0x60,0xc0,0x71,0xc0,0x6f,0x80,0x67,0x0,0x60,0x0,0x60,0x0,0x60,0x0,0x60,0x0,
-0xe0,0x0,
-};
-
-static const BitmapCharRec ch104 = {11,17,-1,0,13,ch104data};
-
-/* char: 0x67 'g' */
-
-static const GLubyte ch103data[] = {
-0x3f,0x0,0xf1,0xc0,0xc0,0x60,0xc0,0x20,0x60,0x60,0x3f,0xc0,0x7f,0x0,0x60,0x0,
-0x30,0x0,0x3e,0x0,0x33,0x0,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x33,0x0,
-0x1f,0xc0,
-};
-
-static const BitmapCharRec ch103 = {11,17,-1,5,12,ch103data};
-
-/* char: 0x66 'f' */
-
-static const GLubyte ch102data[] = {
-0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0xfe,0x30,0x30,0x30,0x16,
-0xe,
-};
-
-static const BitmapCharRec ch102 = {7,17,0,0,7,ch102data};
-
-/* char: 0x65 'e' */
-
-static const GLubyte ch101data[] = {
-0x1e,0x0,0x7f,0x0,0x70,0x80,0xe0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,
-0xc1,0x80,0x41,0x80,0x63,0x0,0x1e,0x0,
-};
-
-static const BitmapCharRec ch101 = {9,12,-1,0,11,ch101data};
-
-/* char: 0x64 'd' */
-
-static const GLubyte ch100data[] = {
-0x1e,0xc0,0x73,0x80,0x61,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,
-0xc1,0x80,0x61,0x80,0x73,0x80,0x1d,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,
-0x3,0x80,
-};
-
-static const BitmapCharRec ch100 = {10,17,-1,0,12,ch100data};
-
-/* char: 0x63 'c' */
-
-static const GLubyte ch99data[] = {
-0x1e,0x0,0x7f,0x0,0x70,0x80,0xe0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,
-0xc0,0x0,0x41,0x80,0x63,0x80,0x1f,0x0,
-};
-
-static const BitmapCharRec ch99 = {9,12,-1,0,11,ch99data};
-
-/* char: 0x62 'b' */
-
-static const GLubyte ch98data[] = {
-0x5e,0x0,0x73,0x80,0x61,0x80,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
-0x60,0xc0,0x61,0x80,0x73,0x80,0x6e,0x0,0x60,0x0,0x60,0x0,0x60,0x0,0x60,0x0,
-0xe0,0x0,
-};
-
-static const BitmapCharRec ch98 = {10,17,-1,0,12,ch98data};
-
-/* char: 0x61 'a' */
-
-static const GLubyte ch97data[] = {
-0x71,0x80,0xfb,0x0,0xc7,0x0,0xc3,0x0,0xc3,0x0,0x63,0x0,0x3b,0x0,0xf,0x0,
-0x3,0x0,0x63,0x0,0x67,0x0,0x3e,0x0,
-};
-
-static const BitmapCharRec ch97 = {9,12,-1,0,11,ch97data};
-
-/* char: 0x60 '`' */
-
-static const GLubyte ch96data[] = {
-0x60,0xe0,0x80,0xc0,0x60,
-};
-
-static const BitmapCharRec ch96 = {3,5,-2,-12,7,ch96data};
-
-/* char: 0x5f '_' */
-
-static const GLubyte ch95data[] = {
-0xff,0xf8,0xff,0xf8,
-};
-
-static const BitmapCharRec ch95 = {13,2,0,5,13,ch95data};
-
-/* char: 0x5e '^' */
-
-static const GLubyte ch94data[] = {
-0x80,0x80,0xc1,0x80,0x41,0x0,0x63,0x0,0x22,0x0,0x36,0x0,0x14,0x0,0x1c,0x0,
-0x8,0x0,
-};
-
-static const BitmapCharRec ch94 = {9,9,-1,-8,11,ch94data};
-
-/* char: 0x5d ']' */
-
-static const GLubyte ch93data[] = {
-0xf8,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
-0x18,0x18,0x18,0x18,0xf8,
-};
-
-static const BitmapCharRec ch93 = {5,21,-1,4,8,ch93data};
-
-/* char: 0x5c '\' */
-
-static const GLubyte ch92data[] = {
-0x6,0x6,0x4,0xc,0xc,0x8,0x18,0x18,0x10,0x30,0x30,0x20,0x60,0x60,0x40,0xc0,
-0xc0,
-};
-
-static const BitmapCharRec ch92 = {7,17,0,0,7,ch92data};
-
-/* char: 0x5b '[' */
-
-static const GLubyte ch91data[] = {
-0xf8,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc0,0xc0,0xc0,0xc0,0xf8,
-};
-
-static const BitmapCharRec ch91 = {5,21,-2,4,8,ch91data};
-
-/* char: 0x5a 'Z' */
-
-static const GLubyte ch90data[] = {
-0xff,0xf8,0xe0,0x18,0x70,0x8,0x30,0x8,0x38,0x0,0x18,0x0,0x1c,0x0,0xe,0x0,
-0x6,0x0,0x7,0x0,0x3,0x0,0x3,0x80,0x1,0xc0,0x80,0xc0,0x80,0xe0,0xc0,0x70,
-0xff,0xf0,
-};
-
-static const BitmapCharRec ch90 = {13,17,-1,0,15,ch90data};
-
-/* char: 0x59 'Y' */
-
-static const GLubyte ch89data[] = {
-0x7,0xe0,0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x3,0xc0,
-0x3,0x40,0x6,0x60,0x6,0x20,0xc,0x30,0x1c,0x10,0x18,0x18,0x38,0x8,0x30,0xc,
-0xfc,0x3f,
-};
-
-static const BitmapCharRec ch89 = {16,17,0,0,16,ch89data};
-
-/* char: 0x58 'X' */
-
-static const GLubyte ch88data[] = {
-0xfc,0xf,0xc0,0x30,0x3,0x80,0x18,0x7,0x0,0x8,0xe,0x0,0x4,0xc,0x0,0x6,
-0x18,0x0,0x2,0x38,0x0,0x1,0x70,0x0,0x0,0xe0,0x0,0x0,0xc0,0x0,0x1,0xc0,
-0x0,0x3,0xa0,0x0,0x3,0x10,0x0,0x6,0x8,0x0,0xe,0xc,0x0,0x1c,0x6,0x0,
-0x7e,0xf,0x80,
-};
-
-static const BitmapCharRec ch88 = {18,17,0,0,18,ch88data};
-
-/* char: 0x57 'W' */
-
-static const GLubyte ch87data[] = {
-0x1,0x83,0x0,0x1,0x83,0x0,0x1,0x83,0x80,0x3,0x87,0x80,0x3,0x46,0x80,0x3,
-0x46,0xc0,0x6,0x46,0x40,0x6,0x4c,0x40,0x6,0x4c,0x60,0xc,0x2c,0x60,0xc,0x2c,
-0x20,0x18,0x2c,0x20,0x18,0x18,0x30,0x18,0x18,0x10,0x30,0x18,0x10,0x30,0x18,0x18,
-0xfc,0x7e,0x7e,
-};
-
-static const BitmapCharRec ch87 = {23,17,0,0,23,ch87data};
-
-/* char: 0x56 'V' */
-
-static const GLubyte ch86data[] = {
-0x1,0x80,0x0,0x1,0x80,0x0,0x1,0x80,0x0,0x3,0xc0,0x0,0x3,0x40,0x0,0x3,
-0x60,0x0,0x6,0x20,0x0,0x6,0x20,0x0,0x6,0x30,0x0,0xc,0x10,0x0,0xc,0x18,
-0x0,0x18,0x8,0x0,0x18,0x8,0x0,0x18,0xc,0x0,0x30,0x4,0x0,0x30,0x6,0x0,
-0xfc,0x1f,0x80,
-};
-
-static const BitmapCharRec ch86 = {17,17,0,0,17,ch86data};
-
-/* char: 0x55 'U' */
-
-static const GLubyte ch85data[] = {
-0x7,0xe0,0x1c,0x30,0x18,0x8,0x30,0x8,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
-0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
-0xfc,0x1f,
-};
-
-static const BitmapCharRec ch85 = {16,17,-1,0,18,ch85data};
-
-/* char: 0x54 'T' */
-
-static const GLubyte ch84data[] = {
-0xf,0xc0,0x3,0x0,0x3,0x0,0x3,0x0,0x3,0x0,0x3,0x0,0x3,0x0,0x3,0x0,
-0x3,0x0,0x3,0x0,0x3,0x0,0x3,0x0,0x3,0x0,0x83,0x4,0x83,0x4,0xc3,0xc,
-0xff,0xfc,
-};
-
-static const BitmapCharRec ch84 = {14,17,-1,0,16,ch84data};
-
-/* char: 0x53 'S' */
-
-static const GLubyte ch83data[] = {
-0x9e,0x0,0xf1,0x80,0xc0,0xc0,0x80,0x60,0x80,0x60,0x0,0x60,0x0,0xe0,0x3,0xc0,
-0xf,0x80,0x1e,0x0,0x78,0x0,0xe0,0x0,0xc0,0x40,0xc0,0x40,0xc0,0xc0,0x63,0xc0,
-0x1e,0x40,
-};
-
-static const BitmapCharRec ch83 = {11,17,-1,0,13,ch83data};
-
-/* char: 0x52 'R' */
-
-static const GLubyte ch82data[] = {
-0xfc,0x1e,0x30,0x1c,0x30,0x38,0x30,0x70,0x30,0x60,0x30,0xc0,0x31,0xc0,0x33,0x80,
-0x3f,0xc0,0x30,0x70,0x30,0x30,0x30,0x38,0x30,0x18,0x30,0x38,0x30,0x30,0x30,0x70,
-0xff,0xc0,
-};
-
-static const BitmapCharRec ch82 = {15,17,-1,0,16,ch82data};
-
-/* char: 0x51 'Q' */
-
-static const GLubyte ch81data[] = {
-0x0,0xf,0x0,0x38,0x0,0x70,0x0,0xe0,0x1,0xc0,0x7,0xe0,0x1c,0x38,0x38,0x1c,
-0x60,0x6,0x60,0x6,0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,
-0xc0,0x3,0x60,0x6,0x60,0x6,0x38,0x1c,0x1c,0x38,0x7,0xe0,
-};
-
-static const BitmapCharRec ch81 = {16,22,-1,5,18,ch81data};
-
-/* char: 0x50 'P' */
-
-static const GLubyte ch80data[] = {
-0xfc,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,
-0x3f,0xc0,0x30,0x70,0x30,0x30,0x30,0x18,0x30,0x18,0x30,0x18,0x30,0x30,0x30,0x70,
-0xff,0xc0,
-};
-
-static const BitmapCharRec ch80 = {13,17,-1,0,15,ch80data};
-
-/* char: 0x4f 'O' */
-
-static const GLubyte ch79data[] = {
-0x7,0xe0,0x1c,0x38,0x38,0x1c,0x60,0x6,0x60,0x6,0xc0,0x3,0xc0,0x3,0xc0,0x3,
-0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,0x60,0x6,0x60,0x6,0x38,0x1c,0x1c,0x38,
-0x7,0xe0,
-};
-
-static const BitmapCharRec ch79 = {16,17,-1,0,18,ch79data};
-
-/* char: 0x4e 'N' */
-
-static const GLubyte ch78data[] = {
-0xf8,0xc,0x20,0x1c,0x20,0x1c,0x20,0x34,0x20,0x64,0x20,0x64,0x20,0xc4,0x21,0x84,
-0x21,0x84,0x23,0x4,0x26,0x4,0x26,0x4,0x2c,0x4,0x38,0x4,0x38,0x4,0x30,0x4,
-0xf0,0x1f,
-};
-
-static const BitmapCharRec ch78 = {16,17,-1,0,18,ch78data};
-
-/* char: 0x4d 'M' */
-
-static const GLubyte ch77data[] = {
-0xf8,0x21,0xf8,0x20,0x60,0x60,0x20,0x60,0x60,0x20,0xd0,0x60,0x20,0xd0,0x60,0x21,
-0x88,0x60,0x21,0x88,0x60,0x23,0x8,0x60,0x23,0x4,0x60,0x26,0x4,0x60,0x26,0x2,
-0x60,0x2c,0x2,0x60,0x2c,0x2,0x60,0x38,0x1,0x60,0x38,0x1,0x60,0x30,0x0,0xe0,
-0xf0,0x0,0xf8,
-};
-
-static const BitmapCharRec ch77 = {21,17,-1,0,22,ch77data};
-
-/* char: 0x4c 'L' */
-
-static const GLubyte ch76data[] = {
-0xff,0xf8,0x30,0x18,0x30,0x8,0x30,0x8,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,
-0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,
-0xfc,0x0,
-};
-
-static const BitmapCharRec ch76 = {13,17,-1,0,14,ch76data};
-
-/* char: 0x4b 'K' */
-
-static const GLubyte ch75data[] = {
-0xfc,0x1f,0x30,0xe,0x30,0x1c,0x30,0x38,0x30,0x70,0x30,0xe0,0x31,0xc0,0x33,0x80,
-0x3f,0x0,0x3e,0x0,0x33,0x0,0x31,0x80,0x30,0xc0,0x30,0x60,0x30,0x30,0x30,0x18,
-0xfc,0x7e,
-};
-
-static const BitmapCharRec ch75 = {16,17,-1,0,17,ch75data};
-
-/* char: 0x4a 'J' */
-
-static const GLubyte ch74data[] = {
-0x78,0x0,0xcc,0x0,0xc6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,
-0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,
-0x1f,0x80,
-};
-
-static const BitmapCharRec ch74 = {9,17,-1,0,11,ch74data};
-
-/* char: 0x49 'I' */
-
-static const GLubyte ch73data[] = {
-0xfc,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-0xfc,
-};
-
-static const BitmapCharRec ch73 = {6,17,-1,0,8,ch73data};
-
-/* char: 0x48 'H' */
-
-static const GLubyte ch72data[] = {
-0xfc,0x1f,0x80,0x30,0x6,0x0,0x30,0x6,0x0,0x30,0x6,0x0,0x30,0x6,0x0,0x30,
-0x6,0x0,0x30,0x6,0x0,0x30,0x6,0x0,0x3f,0xfe,0x0,0x30,0x6,0x0,0x30,0x6,
-0x0,0x30,0x6,0x0,0x30,0x6,0x0,0x30,0x6,0x0,0x30,0x6,0x0,0x30,0x6,0x0,
-0xfc,0x1f,0x80,
-};
-
-static const BitmapCharRec ch72 = {17,17,-1,0,19,ch72data};
-
-/* char: 0x47 'G' */
-
-static const GLubyte ch71data[] = {
-0x7,0xe0,0x1e,0x38,0x38,0x1c,0x60,0xc,0x60,0xc,0xc0,0xc,0xc0,0xc,0xc0,0x3f,
-0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0x60,0x4,0x60,0x4,0x38,0xc,0x1c,0x3c,
-0x7,0xe4,
-};
-
-static const BitmapCharRec ch71 = {16,17,-1,0,18,ch71data};
-
-/* char: 0x46 'F' */
-
-static const GLubyte ch70data[] = {
-0xfc,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x20,0x30,0x20,
-0x3f,0xe0,0x30,0x20,0x30,0x20,0x30,0x0,0x30,0x0,0x30,0x10,0x30,0x10,0x30,0x30,
-0xff,0xf0,
-};
-
-static const BitmapCharRec ch70 = {12,17,-1,0,14,ch70data};
-
-/* char: 0x45 'E' */
-
-static const GLubyte ch69data[] = {
-0xff,0xf8,0x30,0x18,0x30,0x8,0x30,0x8,0x30,0x0,0x30,0x0,0x30,0x40,0x30,0x40,
-0x3f,0xc0,0x30,0x40,0x30,0x40,0x30,0x0,0x30,0x0,0x30,0x10,0x30,0x10,0x30,0x30,
-0xff,0xf0,
-};
-
-static const BitmapCharRec ch69 = {13,17,-1,0,15,ch69data};
-
-/* char: 0x44 'D' */
-
-static const GLubyte ch68data[] = {
-0xff,0xc0,0x30,0x70,0x30,0x38,0x30,0xc,0x30,0xc,0x30,0x6,0x30,0x6,0x30,0x6,
-0x30,0x6,0x30,0x6,0x30,0x6,0x30,0x6,0x30,0xc,0x30,0xc,0x30,0x38,0x30,0x70,
-0xff,0xc0,
-};
-
-static const BitmapCharRec ch68 = {15,17,-1,0,17,ch68data};
-
-/* char: 0x43 'C' */
-
-static const GLubyte ch67data[] = {
-0x7,0xe0,0x1e,0x38,0x38,0x8,0x60,0x4,0x60,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,
-0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0x60,0x4,0x60,0x4,0x38,0xc,0x1c,0x3c,
-0x7,0xe4,
-};
-
-static const BitmapCharRec ch67 = {14,17,-1,0,16,ch67data};
-
-/* char: 0x42 'B' */
-
-static const GLubyte ch66data[] = {
-0xff,0xe0,0x30,0x78,0x30,0x18,0x30,0xc,0x30,0xc,0x30,0xc,0x30,0x18,0x30,0x38,
-0x3f,0xe0,0x30,0x40,0x30,0x30,0x30,0x18,0x30,0x18,0x30,0x18,0x30,0x30,0x30,0x70,
-0xff,0xc0,
-};
-
-static const BitmapCharRec ch66 = {14,17,-1,0,16,ch66data};
-
-/* char: 0x41 'A' */
-
-static const GLubyte ch65data[] = {
-0xfc,0x1f,0x80,0x30,0x6,0x0,0x10,0x6,0x0,0x10,0xc,0x0,0x18,0xc,0x0,0x8,
-0xc,0x0,0xf,0xf8,0x0,0xc,0x18,0x0,0x4,0x18,0x0,0x4,0x30,0x0,0x6,0x30,
-0x0,0x2,0x30,0x0,0x2,0x60,0x0,0x1,0x60,0x0,0x1,0xc0,0x0,0x1,0xc0,0x0,
-0x0,0x80,0x0,
-};
-
-static const BitmapCharRec ch65 = {17,17,0,0,17,ch65data};
-
-/* char: 0x40 '@' */
-
-static const GLubyte ch64data[] = {
-0x3,0xf0,0x0,0xe,0xc,0x0,0x18,0x0,0x0,0x30,0x0,0x0,0x61,0xde,0x0,0x63,
-0x7b,0x0,0xc6,0x39,0x80,0xc6,0x18,0x80,0xc6,0x18,0xc0,0xc6,0x18,0x40,0xc6,0xc,
-0x40,0xc3,0xc,0x40,0xc3,0x8c,0x40,0xe1,0xfc,0x40,0x60,0xec,0xc0,0x70,0x0,0x80,
-0x38,0x1,0x80,0x1c,0x3,0x0,0xf,0xe,0x0,0x3,0xf8,0x0,
-};
-
-static const BitmapCharRec ch64 = {18,20,-2,3,22,ch64data};
-
-/* char: 0x3f '?' */
-
-static const GLubyte ch63data[] = {
-0x30,0x30,0x0,0x0,0x10,0x10,0x10,0x18,0x18,0xc,0xe,0x7,0xc3,0xc3,0x83,0xc6,
-0x7c,
-};
-
-static const BitmapCharRec ch63 = {8,17,-2,0,11,ch63data};
-
-/* char: 0x3e '>' */
-
-static const GLubyte ch62data[] = {
-0xc0,0x0,0x70,0x0,0x1c,0x0,0x7,0x0,0x1,0xc0,0x0,0x60,0x1,0xc0,0x7,0x0,
-0x1c,0x0,0x70,0x0,0xc0,0x0,
-};
-
-static const BitmapCharRec ch62 = {11,11,-1,-1,13,ch62data};
-
-/* char: 0x3d '=' */
-
-static const GLubyte ch61data[] = {
-0xff,0xf0,0xff,0xf0,0x0,0x0,0x0,0x0,0xff,0xf0,0xff,0xf0,
-};
-
-static const BitmapCharRec ch61 = {12,6,-1,-4,14,ch61data};
-
-/* char: 0x3c '<' */
-
-static const GLubyte ch60data[] = {
-0x0,0x60,0x1,0xc0,0x7,0x0,0x1c,0x0,0x70,0x0,0xc0,0x0,0x70,0x0,0x1c,0x0,
-0x7,0x0,0x1,0xc0,0x0,0x60,
-};
-
-static const BitmapCharRec ch60 = {11,11,-1,-1,13,ch60data};
-
-/* char: 0x3b ';' */
-
-static const GLubyte ch59data[] = {
-0xc0,0x60,0x20,0xe0,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch59 = {3,14,-2,3,7,ch59data};
-
-/* char: 0x3a ':' */
-
-static const GLubyte ch58data[] = {
-0xc0,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch58 = {2,11,-2,0,6,ch58data};
-
-/* char: 0x39 '9' */
-
-static const GLubyte ch57data[] = {
-0xf0,0x0,0x1c,0x0,0x6,0x0,0x3,0x0,0x3,0x80,0x1,0x80,0x1d,0x80,0x73,0xc0,
-0x61,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc1,0xc0,0x61,0x80,0x77,0x80,
-0x1e,0x0,
-};
-
-static const BitmapCharRec ch57 = {10,17,-1,0,12,ch57data};
-
-/* char: 0x38 '8' */
-
-static const GLubyte ch56data[] = {
-0x1e,0x0,0x73,0x80,0xe1,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x41,0xc0,0x61,0x80,
-0x37,0x0,0x1e,0x0,0x1e,0x0,0x33,0x0,0x61,0x80,0x61,0x80,0x61,0x80,0x33,0x0,
-0x1e,0x0,
-};
-
-static const BitmapCharRec ch56 = {10,17,-1,0,12,ch56data};
-
-/* char: 0x37 '7' */
-
-static const GLubyte ch55data[] = {
-0x18,0x0,0x18,0x0,0xc,0x0,0xc,0x0,0xc,0x0,0x4,0x0,0x6,0x0,0x6,0x0,
-0x2,0x0,0x3,0x0,0x3,0x0,0x1,0x0,0x1,0x80,0x81,0x80,0xc0,0xc0,0xff,0xc0,
-0x7f,0xc0,
-};
-
-static const BitmapCharRec ch55 = {10,17,-1,0,12,ch55data};
-
-/* char: 0x36 '6' */
-
-static const GLubyte ch54data[] = {
-0x1e,0x0,0x7b,0x80,0x61,0x80,0xe0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc1,0x80,0xf3,0x80,0xee,0x0,0x60,0x0,0x70,0x0,0x30,0x0,0x18,0x0,0xe,0x0,
-0x3,0xc0,
-};
-
-static const BitmapCharRec ch54 = {10,17,-1,0,12,ch54data};
-
-/* char: 0x35 '5' */
-
-static const GLubyte ch53data[] = {
-0x7e,0x0,0xe3,0x80,0xc1,0x80,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x1,0xc0,
-0x3,0x80,0xf,0x80,0x7e,0x0,0x78,0x0,0x60,0x0,0x20,0x0,0x20,0x0,0x1f,0x80,
-0x1f,0xc0,
-};
-
-static const BitmapCharRec ch53 = {10,17,-1,0,12,ch53data};
-
-/* char: 0x34 '4' */
-
-static const GLubyte ch52data[] = {
-0x3,0x0,0x3,0x0,0x3,0x0,0x3,0x0,0xff,0xc0,0xff,0xc0,0xc3,0x0,0x43,0x0,
-0x63,0x0,0x23,0x0,0x33,0x0,0x13,0x0,0x1b,0x0,0xb,0x0,0x7,0x0,0x7,0x0,
-0x3,0x0,
-};
-
-static const BitmapCharRec ch52 = {10,17,-1,0,12,ch52data};
-
-/* char: 0x33 '3' */
-
-static const GLubyte ch51data[] = {
-0x78,0x0,0xe6,0x0,0xc3,0x0,0x1,0x0,0x1,0x80,0x1,0x80,0x1,0x80,0x3,0x80,
-0x7,0x0,0x1e,0x0,0xc,0x0,0x6,0x0,0x83,0x0,0x83,0x0,0x47,0x0,0x7e,0x0,
-0x1c,0x0,
-};
-
-static const BitmapCharRec ch51 = {9,17,-1,0,12,ch51data};
-
-/* char: 0x32 '2' */
-
-static const GLubyte ch50data[] = {
-0xff,0x80,0xff,0xc0,0x60,0x40,0x30,0x0,0x18,0x0,0xc,0x0,0x4,0x0,0x6,0x0,
-0x3,0x0,0x3,0x0,0x1,0x80,0x1,0x80,0x81,0x80,0x81,0x80,0x43,0x80,0x7f,0x0,
-0x1c,0x0,
-};
-
-static const BitmapCharRec ch50 = {10,17,-1,0,12,ch50data};
-
-/* char: 0x31 '1' */
-
-static const GLubyte ch49data[] = {
-0xff,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x78,0x18,
-0x8,
-};
-
-static const BitmapCharRec ch49 = {8,17,-2,0,12,ch49data};
-
-/* char: 0x30 '0' */
-
-static const GLubyte ch48data[] = {
-0x1e,0x0,0x33,0x0,0x61,0x80,0x61,0x80,0xe1,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x61,0x80,0x61,0x80,0x33,0x0,
-0x1e,0x0,
-};
-
-static const BitmapCharRec ch48 = {10,17,-1,0,12,ch48data};
-
-/* char: 0x2f '/' */
-
-static const GLubyte ch47data[] = {
-0xc0,0xc0,0xc0,0x60,0x60,0x20,0x30,0x30,0x10,0x18,0x18,0x8,0xc,0xc,0x4,0x6,
-0x6,0x3,0x3,0x3,
-};
-
-static const BitmapCharRec ch47 = {8,20,1,3,7,ch47data};
-
-/* char: 0x2e '.' */
-
-static const GLubyte ch46data[] = {
-0xc0,0xc0,
-};
-
-static const BitmapCharRec ch46 = {2,2,-2,0,6,ch46data};
-
-/* char: 0x2d '-' */
-
-static const GLubyte ch45data[] = {
-0xff,0xf0,0xff,0xf0,
-};
-
-static const BitmapCharRec ch45 = {12,2,-1,-6,14,ch45data};
-
-/* char: 0x2c ',' */
-
-static const GLubyte ch44data[] = {
-0xc0,0x60,0x20,0xe0,0xc0,
-};
-
-static const BitmapCharRec ch44 = {3,5,-2,3,7,ch44data};
-
-/* char: 0x2b '+' */
-
-static const GLubyte ch43data[] = {
-0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0xff,0xf0,0xff,0xf0,0x6,0x0,
-0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,
-};
-
-static const BitmapCharRec ch43 = {12,12,-1,-1,14,ch43data};
-
-/* char: 0x2a '*' */
-
-static const GLubyte ch42data[] = {
-0x8,0x0,0x1c,0x0,0xc9,0x80,0xeb,0x80,0x1c,0x0,0xeb,0x80,0xc9,0x80,0x1c,0x0,
-0x8,0x0,
-};
-
-static const BitmapCharRec ch42 = {9,9,-2,-8,12,ch42data};
-
-/* char: 0x29 ')' */
-
-static const GLubyte ch41data[] = {
-0x80,0x40,0x20,0x30,0x10,0x18,0x18,0xc,0xc,0xc,0xc,0xc,0xc,0xc,0xc,0x18,
-0x18,0x10,0x30,0x20,0x40,0x80,
-};
-
-static const BitmapCharRec ch41 = {6,22,-1,5,8,ch41data};
-
-/* char: 0x28 '(' */
-
-static const GLubyte ch40data[] = {
-0x4,0x8,0x10,0x30,0x20,0x60,0x60,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x60,
-0x60,0x20,0x30,0x10,0x8,0x4,
-};
-
-static const BitmapCharRec ch40 = {6,22,-1,5,8,ch40data};
-
-/* char: 0x27 ''' */
-
-static const GLubyte ch39data[] = {
-0xc0,0x60,0x20,0xe0,0xc0,
-};
-
-static const BitmapCharRec ch39 = {3,5,-3,-12,8,ch39data};
-
-/* char: 0x26 '&' */
-
-static const GLubyte ch38data[] = {
-0x3c,0x3c,0x7f,0x7e,0xe1,0xe1,0xc0,0xc0,0xc1,0xc0,0xc1,0xa0,0x63,0x20,0x37,0x10,
-0x1e,0x18,0xe,0x3e,0xf,0x0,0x1d,0x80,0x18,0xc0,0x18,0x40,0x18,0x40,0xc,0xc0,
-0x7,0x80,
-};
-
-static const BitmapCharRec ch38 = {16,17,-1,0,18,ch38data};
-
-/* char: 0x25 '%' */
-
-static const GLubyte ch37data[] = {
-0x30,0x3c,0x0,0x18,0x72,0x0,0xc,0x61,0x0,0x4,0x60,0x80,0x6,0x60,0x80,0x3,
-0x30,0x80,0x1,0x19,0x80,0x1,0x8f,0x0,0x78,0xc0,0x0,0xe4,0x40,0x0,0xc2,0x60,
-0x0,0xc1,0x30,0x0,0xc1,0x10,0x0,0x61,0x18,0x0,0x33,0xfc,0x0,0x1e,0xc,0x0,
-};
-
-static const BitmapCharRec ch37 = {17,16,-1,0,19,ch37data};
-
-/* char: 0x24 '$' */
-
-static const GLubyte ch36data[] = {
-0x4,0x0,0x4,0x0,0x3f,0x0,0xe5,0xc0,0xc4,0xc0,0x84,0x60,0x84,0x60,0x4,0x60,
-0x4,0xe0,0x7,0xc0,0x7,0x80,0x1e,0x0,0x3c,0x0,0x74,0x0,0x64,0x0,0x64,0x20,
-0x64,0x60,0x34,0xe0,0x1f,0x80,0x4,0x0,0x4,0x0,
-};
-
-static const BitmapCharRec ch36 = {11,21,0,2,12,ch36data};
-
-/* char: 0x23 '#' */
-
-static const GLubyte ch35data[] = {
-0x22,0x0,0x22,0x0,0x22,0x0,0x22,0x0,0x22,0x0,0xff,0xc0,0xff,0xc0,0x11,0x0,
-0x11,0x0,0x11,0x0,0x7f,0xe0,0x7f,0xe0,0x8,0x80,0x8,0x80,0x8,0x80,0x8,0x80,
-0x8,0x80,
-};
-
-static const BitmapCharRec ch35 = {11,17,-1,0,13,ch35data};
-
-/* char: 0x22 '"' */
-
-static const GLubyte ch34data[] = {
-0x88,0xcc,0xcc,0xcc,0xcc,
-};
-
-static const BitmapCharRec ch34 = {6,5,-1,-12,10,ch34data};
-
-/* char: 0x21 '!' */
-
-static const GLubyte ch33data[] = {
-0xc0,0xc0,0x0,0x0,0x0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc0,
-};
-
-static const BitmapCharRec ch33 = {2,17,-3,0,8,ch33data};
-
-/* char: 0x20 ' ' */
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch32data[] = { 0x0 };
-static const BitmapCharRec ch32 = {1,1,0,0,6,ch32data};
-#else
-static const BitmapCharRec ch32 = {0,0,0,0,6,0};
-#endif
-
-static const BitmapCharRec * const chars[] = {
-&ch32,
-&ch33,
-&ch34,
-&ch35,
-&ch36,
-&ch37,
-&ch38,
-&ch39,
-&ch40,
-&ch41,
-&ch42,
-&ch43,
-&ch44,
-&ch45,
-&ch46,
-&ch47,
-&ch48,
-&ch49,
-&ch50,
-&ch51,
-&ch52,
-&ch53,
-&ch54,
-&ch55,
-&ch56,
-&ch57,
-&ch58,
-&ch59,
-&ch60,
-&ch61,
-&ch62,
-&ch63,
-&ch64,
-&ch65,
-&ch66,
-&ch67,
-&ch68,
-&ch69,
-&ch70,
-&ch71,
-&ch72,
-&ch73,
-&ch74,
-&ch75,
-&ch76,
-&ch77,
-&ch78,
-&ch79,
-&ch80,
-&ch81,
-&ch82,
-&ch83,
-&ch84,
-&ch85,
-&ch86,
-&ch87,
-&ch88,
-&ch89,
-&ch90,
-&ch91,
-&ch92,
-&ch93,
-&ch94,
-&ch95,
-&ch96,
-&ch97,
-&ch98,
-&ch99,
-&ch100,
-&ch101,
-&ch102,
-&ch103,
-&ch104,
-&ch105,
-&ch106,
-&ch107,
-&ch108,
-&ch109,
-&ch110,
-&ch111,
-&ch112,
-&ch113,
-&ch114,
-&ch115,
-&ch116,
-&ch117,
-&ch118,
-&ch119,
-&ch120,
-&ch121,
-&ch122,
-&ch123,
-&ch124,
-&ch125,
-&ch126,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-&ch160,
-&ch161,
-&ch162,
-&ch163,
-&ch164,
-&ch165,
-&ch166,
-&ch167,
-&ch168,
-&ch169,
-&ch170,
-&ch171,
-&ch172,
-&ch173,
-&ch174,
-&ch175,
-&ch176,
-&ch177,
-&ch178,
-&ch179,
-&ch180,
-&ch181,
-&ch182,
-&ch183,
-&ch184,
-&ch185,
-&ch186,
-&ch187,
-&ch188,
-&ch189,
-&ch190,
-&ch191,
-&ch192,
-&ch193,
-&ch194,
-&ch195,
-&ch196,
-&ch197,
-&ch198,
-&ch199,
-&ch200,
-&ch201,
-&ch202,
-&ch203,
-&ch204,
-&ch205,
-&ch206,
-&ch207,
-&ch208,
-&ch209,
-&ch210,
-&ch211,
-&ch212,
-&ch213,
-&ch214,
-&ch215,
-&ch216,
-&ch217,
-&ch218,
-&ch219,
-&ch220,
-&ch221,
-&ch222,
-&ch223,
-&ch224,
-&ch225,
-&ch226,
-&ch227,
-&ch228,
-&ch229,
-&ch230,
-&ch231,
-&ch232,
-&ch233,
-&ch234,
-&ch235,
-&ch236,
-&ch237,
-&ch238,
-&ch239,
-&ch240,
-&ch241,
-&ch242,
-&ch243,
-&ch244,
-&ch245,
-&ch246,
-&ch247,
-&ch248,
-&ch249,
-&ch250,
-&ch251,
-&ch252,
-&ch253,
-&ch254,
-&ch255,
-};
-
-const BitmapFontRec glutBitmapTimesRoman24 = {
-"-adobe-times-medium-r-normal--24-240-75-75-p-124-iso8859-1",
-224,
-32,
-chars
-};
-
diff --git a/src/glut/beos/glut_util.c b/src/glut/beos/glut_util.c
deleted file mode 100644
index 29e79513a3..0000000000
--- a/src/glut/beos/glut_util.c
+++ /dev/null
@@ -1,81 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <stdio.h>
-
-#include "glutint.h"
-
-/* strdup is actually not a standard ANSI C or POSIX routine
- so implement a private one for GLUT. OpenVMS does not have a
- strdup; Linux's standard libc doesn't declare strdup by default
- (unless BSD or SVID interfaces are requested). */
-char *
-__glutStrdup(const char *string)
-{
- char *copy;
-
- copy = (char*) malloc(strlen(string) + 1);
- if (copy == NULL)
- return NULL;
- strcpy(copy, string);
- return copy;
-}
-
-void
-__glutWarning(char *format,...)
-{
- va_list args;
-
- va_start(args, format);
- fprintf(stderr, "GLUT: Warning in %s: ",
- __glutProgramName ? __glutProgramName : "(unamed)");
- vfprintf(stderr, format, args);
- va_end(args);
- putc('\n', stderr);
-}
-
-/* CENTRY */
-void APIENTRY
-glutReportErrors(void)
-{
- GLenum error;
-
- while ((error = glGetError()) != GL_NO_ERROR)
- __glutWarning("GL error: %s", gluErrorString(error));
-}
-/* ENDCENTRY */
-
-void
-__glutFatalError(char *format,...)
-{
- va_list args;
-
- va_start(args, format);
- fprintf(stderr, "GLUT: Fatal Error in %s: ",
- __glutProgramName ? __glutProgramName : "(unamed)");
- vfprintf(stderr, format, args);
- va_end(args);
- putc('\n', stderr);
- exit(1);
-}
-
-void
-__glutFatalUsage(char *format,...)
-{
- va_list args;
-
- va_start(args, format);
- fprintf(stderr, "GLUT: Fatal API Usage in %s: ",
- __glutProgramName ? __glutProgramName : "(unamed)");
- vfprintf(stderr, format, args);
- va_end(args);
- putc('\n', stderr);
- abort();
-}
diff --git a/src/glut/beos/glut_vidresize.c b/src/glut/beos/glut_vidresize.c
deleted file mode 100644
index a9d9e632f5..0000000000
--- a/src/glut/beos/glut_vidresize.c
+++ /dev/null
@@ -1,230 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1996. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include <stdlib.h>
-
-#if !defined(_WIN32) && !defined(__BEOS__)
-#include <GL/glx.h>
-#endif
-
-#ifdef __sgi
-#include <dlfcn.h>
-#endif
-
-#include "glutint.h"
-
-/* Grumble. The IRIX 6.3 and early IRIX 6.4 OpenGL headers
- support the video resize extension, but failed to define
- GLX_SGIX_video_resize. */
-#ifdef GLX_SYNC_FRAME_SGIX
-#define GLX_SGIX_video_resize 1
-#endif
-
-#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_video_resize)
-static int canVideoResize = -1;
-static int videoResizeChannel;
-#else
-static int canVideoResize = 0;
-#endif
-static int videoResizeInUse = 0;
-static int dx = -1, dy = -1, dw = -1, dh = -1;
-
-/* XXX Note that IRIX 6.2, 6.3, and some 6.4 versions have a
- bug where programs seg-fault when they attempt video
- resizing from an indirect OpenGL context (either local or
- over a network). */
-
-#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_video_resize)
-
-static volatile int errorCaught;
-
-/* ARGSUSED */
-static
-catchXSGIvcErrors(Display * dpy, XErrorEvent * event)
-{
- errorCaught = 1;
- return 0;
-}
-#endif
-
-/* CENTRY */
-int APIENTRY
-glutVideoResizeGet(GLenum param)
-{
-#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_video_resize)
- if (canVideoResize < 0) {
- canVideoResize = __glutIsSupportedByGLX("GLX_SGIX_video_resize");
- if (canVideoResize) {
-#if __sgi
- /* This is a hack because IRIX 6.2, 6.3, and some 6.4
- versions were released with GLX_SGIX_video_resize
- being advertised by the X server though the video
- resize extension is not actually supported. We try to
- determine if the libGL.so we are using actually has a
- video resize entrypoint before we try to use the
- feature. */
- void (*func) (void);
- void *glxDso = dlopen("libGL.so", RTLD_LAZY);
-
- func = (void (*)(void)) dlsym(glxDso, "glXQueryChannelDeltasSGIX");
- if (!func) {
- canVideoResize = 0;
- } else
-#endif
- {
- char *channelString;
- int (*handler) (Display *, XErrorEvent *);
-
- channelString = getenv("GLUT_VIDEO_RESIZE_CHANNEL");
- videoResizeChannel = channelString ? atoi(channelString) : 0;
-
- /* Work around another annoying problem with SGI's
- GLX_SGIX_video_resize implementation. Early IRIX
- 6.4 OpenGL's advertise the extension and have the
- video resize API, but an XSGIvc X protocol errors
- result trying to use the API. Set up an error
- handler to intercept what would otherwise be a fatal
- error. If an error was recieved, do not report that
- video resize is possible. */
- handler = XSetErrorHandler(catchXSGIvcErrors);
-
- errorCaught = 0;
-
- glXQueryChannelDeltasSGIX(__glutDisplay, __glutScreen,
- videoResizeChannel, &dx, &dy, &dw, &dh);
-
- /* glXQueryChannelDeltasSGIX is an inherent X server
- round-trip so we know we will have gotten either the
- correct reply or and error by this time. */
- XSetErrorHandler(handler);
-
- /* Still yet another work around. In IRIX 6.4 betas,
- glXQueryChannelDeltasSGIX will return as if it
- succeeded, but the values are filled with junk.
- Watch to make sure the delta variables really make
- sense. */
- if (errorCaught ||
- dx < 0 || dy < 0 || dw < 0 || dh < 0 ||
- dx > 2048 || dy > 2048 || dw > 2048 || dh > 2048) {
- canVideoResize = 0;
- }
- }
- }
- }
-#endif /* GLX_SGIX_video_resize */
-
- switch (param) {
- case GLUT_VIDEO_RESIZE_POSSIBLE:
- return canVideoResize;
- case GLUT_VIDEO_RESIZE_IN_USE:
- return videoResizeInUse;
- case GLUT_VIDEO_RESIZE_X_DELTA:
- return dx;
- case GLUT_VIDEO_RESIZE_Y_DELTA:
- return dy;
- case GLUT_VIDEO_RESIZE_WIDTH_DELTA:
- return dw;
- case GLUT_VIDEO_RESIZE_HEIGHT_DELTA:
- return dh;
- case GLUT_VIDEO_RESIZE_X:
- case GLUT_VIDEO_RESIZE_Y:
- case GLUT_VIDEO_RESIZE_WIDTH:
- case GLUT_VIDEO_RESIZE_HEIGHT:
-#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_video_resize)
- if (videoResizeInUse) {
- int x, y, width, height;
-
- glXQueryChannelRectSGIX(__glutDisplay, __glutScreen,
- videoResizeChannel, &x, &y, &width, &height);
- switch (param) {
- case GLUT_VIDEO_RESIZE_X:
- return x;
- case GLUT_VIDEO_RESIZE_Y:
- return y;
- case GLUT_VIDEO_RESIZE_WIDTH:
- return width;
- case GLUT_VIDEO_RESIZE_HEIGHT:
- return height;
- }
- }
-#endif
- return -1;
- default:
- __glutWarning("invalid glutVideoResizeGet parameter: %d", param);
- return -1;
- }
-}
-
-void APIENTRY
-glutSetupVideoResizing(void)
-{
-#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_video_resize)
- if (glutVideoResizeGet(GLUT_VIDEO_RESIZE_POSSIBLE)) {
- glXBindChannelToWindowSGIX(__glutDisplay, __glutScreen,
- videoResizeChannel, __glutCurrentWindow->win);
- videoResizeInUse = 1;
- } else
-#endif
- __glutFatalError("glutEstablishVideoResizing: video resizing not possible.\n");
-}
-
-void APIENTRY
-glutStopVideoResizing(void)
-{
-#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_video_resize)
- if (glutVideoResizeGet(GLUT_VIDEO_RESIZE_POSSIBLE)) {
- if (videoResizeInUse) {
- glXBindChannelToWindowSGIX(__glutDisplay, __glutScreen,
- videoResizeChannel, None);
- videoResizeInUse = 0;
- }
- }
-#endif
-}
-
-/* ARGSUSED */
-void APIENTRY
-glutVideoResize(int x, int y, int width, int height)
-{
-#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_video_resize)
- if (videoResizeInUse) {
-#ifdef GLX_SYNC_SWAP_SGIX
- /* glXChannelRectSyncSGIX introduced in a patch to IRIX
- 6.2; the original unpatched IRIX 6.2 behavior is always
- GLX_SYNC_SWAP_SGIX. */
- glXChannelRectSyncSGIX(__glutDisplay, __glutScreen,
- videoResizeChannel, GLX_SYNC_SWAP_SGIX);
-#endif
- glXChannelRectSGIX(__glutDisplay, __glutScreen,
- videoResizeChannel, x, y, width, height);
- }
-#endif
-}
-
-/* ARGSUSED */
-void APIENTRY
-glutVideoPan(int x, int y, int width, int height)
-{
-#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_video_resize)
- if (videoResizeInUse) {
-#ifdef GLX_SYNC_FRAME_SGIX
- /* glXChannelRectSyncSGIX introduced in a patch to IRIX
- 6.2; the original unpatched IRIX 6.2 behavior is always
- GLX_SYNC_SWAP_SGIX. We just ignore that we cannot
- accomplish GLX_SYNC_FRAME_SGIX on IRIX unpatched 6.2;
- this means you'd need a glutSwapBuffers to actually
- realize the video resize. */
- glXChannelRectSyncSGIX(__glutDisplay, __glutScreen,
- videoResizeChannel, GLX_SYNC_FRAME_SGIX);
-#endif
- glXChannelRectSGIX(__glutDisplay, __glutScreen,
- videoResizeChannel, x, y, width, height);
- }
-#endif
-}
-
-/* ENDCENTRY */
diff --git a/src/glut/beos/glutbitmap.h b/src/glut/beos/glutbitmap.h
deleted file mode 100644
index 32bf53c097..0000000000
--- a/src/glut/beos/glutbitmap.h
+++ /dev/null
@@ -1,30 +0,0 @@
-#ifndef __glutbitmap_h__
-#define __glutbitmap_h__
-
-/* Copyright (c) Mark J. Kilgard, 1994. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include <GL/glut.h>
-
-typedef struct {
- const GLsizei width;
- const GLsizei height;
- const GLfloat xorig;
- const GLfloat yorig;
- const GLfloat advance;
- const GLubyte *bitmap;
-} BitmapCharRec, *BitmapCharPtr;
-
-typedef struct {
- const char *name;
- const int num_chars;
- const int first;
- const BitmapCharRec * const *ch;
-} BitmapFontRec, *BitmapFontPtr;
-
-typedef void *GLUTbitmapFont;
-
-#endif /* __glutbitmap_h__ */
diff --git a/src/glut/beos/glutint.h b/src/glut/beos/glutint.h
deleted file mode 100644
index 06b417e9ca..0000000000
--- a/src/glut/beos/glutint.h
+++ /dev/null
@@ -1,814 +0,0 @@
-#ifndef __glutint_h__
-#define __glutint_h__
-
-/* Copyright (c) Mark J. Kilgard, 1994, 1997, 1998. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#if defined(__CYGWIN32__)
-#include <sys/time.h>
-#endif
-
-#if defined(_WIN32)
-#include "glutwin32.h"
-#elif !defined(__BEOS__)
-#ifdef __sgi
-#define SUPPORT_FORTRAN
-#endif
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-#include <GL/glx.h>
-#endif
-
-#include <GL/glut.h>
-
-/* Non-Win32 platforms need APIENTRY defined to nothing
- because all the GLUT routines have the APIENTRY prefix
- to make Win32 happy. */
-#ifndef APIENTRY
-#define APIENTRY
-#endif
-
-#ifdef __vms
-#if ( __VMS_VER < 70000000 )
-struct timeval {
- __int64 val;
-};
-extern int sys$gettim(struct timeval *);
-#else
-#include <time.h>
-#endif
-#else
-#include <sys/types.h>
-#if !defined(_WIN32)
-#include <sys/time.h>
-#else
-#include <winsock.h>
-#endif
-#endif
-#if defined(__vms) && ( __VMS_VER < 70000000 )
-
-/* For VMS6.2 or lower :
- One TICK on VMS is 100 nanoseconds; 0.1 microseconds or
- 0.0001 milliseconds. This means that there are 0.01
- ticks/ns, 10 ticks/us, 10,000 ticks/ms and 10,000,000
- ticks/second. */
-
-#define TICKS_PER_MILLISECOND 10000
-#define TICKS_PER_SECOND 10000000
-
-#define GETTIMEOFDAY(_x) (void) sys$gettim (_x);
-
-#define ADD_TIME(dest, src1, src2) { \
- (dest).val = (src1).val + (src2).val; \
-}
-
-#define TIMEDELTA(dest, src1, src2) { \
- (dest).val = (src1).val - (src2).val; \
-}
-
-#define IS_AFTER(t1, t2) ((t2).val > (t1).val)
-
-#define IS_AT_OR_AFTER(t1, t2) ((t2).val >= (t1).val)
-
-#else
-#if defined(SVR4) && !defined(sun) /* Sun claims SVR4, but
- wants 2 args. */
-#define GETTIMEOFDAY(_x) gettimeofday(_x)
-#else
-#define GETTIMEOFDAY(_x) gettimeofday(_x, NULL)
-#endif
-#define ADD_TIME(dest, src1, src2) { \
- if(((dest).tv_usec = \
- (src1).tv_usec + (src2).tv_usec) >= 1000000) { \
- (dest).tv_usec -= 1000000; \
- (dest).tv_sec = (src1).tv_sec + (src2).tv_sec + 1; \
- } else { \
- (dest).tv_sec = (src1).tv_sec + (src2).tv_sec; \
- if(((dest).tv_sec >= 1) && (((dest).tv_usec <0))) { \
- (dest).tv_sec --;(dest).tv_usec += 1000000; \
- } \
- } \
-}
-#define TIMEDELTA(dest, src1, src2) { \
- if(((dest).tv_usec = (src1).tv_usec - (src2).tv_usec) < 0) { \
- (dest).tv_usec += 1000000; \
- (dest).tv_sec = (src1).tv_sec - (src2).tv_sec - 1; \
- } else { \
- (dest).tv_sec = (src1).tv_sec - (src2).tv_sec; \
- } \
-}
-#define IS_AFTER(t1, t2) \
- (((t2).tv_sec > (t1).tv_sec) || \
- (((t2).tv_sec == (t1).tv_sec) && \
- ((t2).tv_usec > (t1).tv_usec)))
-#define IS_AT_OR_AFTER(t1, t2) \
- (((t2).tv_sec > (t1).tv_sec) || \
- (((t2).tv_sec == (t1).tv_sec) && \
- ((t2).tv_usec >= (t1).tv_usec)))
-#endif
-
-#define IGNORE_IN_GAME_MODE() \
- { if (__glutGameModeWindow) return; }
-
-/* BeOS doesn't need most of this file */
-#ifndef __BEOS__
-
-#define GLUT_WIND_IS_RGB(x) (((x) & GLUT_INDEX) == 0)
-#define GLUT_WIND_IS_INDEX(x) (((x) & GLUT_INDEX) != 0)
-#define GLUT_WIND_IS_SINGLE(x) (((x) & GLUT_DOUBLE) == 0)
-#define GLUT_WIND_IS_DOUBLE(x) (((x) & GLUT_DOUBLE) != 0)
-#define GLUT_WIND_HAS_ACCUM(x) (((x) & GLUT_ACCUM) != 0)
-#define GLUT_WIND_HAS_ALPHA(x) (((x) & GLUT_ALPHA) != 0)
-#define GLUT_WIND_HAS_DEPTH(x) (((x) & GLUT_DEPTH) != 0)
-#define GLUT_WIND_HAS_STENCIL(x) (((x) & GLUT_STENCIL) != 0)
-#define GLUT_WIND_IS_MULTISAMPLE(x) (((x) & GLUT_MULTISAMPLE) != 0)
-#define GLUT_WIND_IS_STEREO(x) (((x) & GLUT_STEREO) != 0)
-#define GLUT_WIND_IS_LUMINANCE(x) (((x) & GLUT_LUMINANCE) != 0)
-#define GLUT_MAP_WORK (1 << 0)
-#define GLUT_EVENT_MASK_WORK (1 << 1)
-#define GLUT_REDISPLAY_WORK (1 << 2)
-#define GLUT_CONFIGURE_WORK (1 << 3)
-#define GLUT_COLORMAP_WORK (1 << 4)
-#define GLUT_DEVICE_MASK_WORK (1 << 5)
-#define GLUT_FINISH_WORK (1 << 6)
-#define GLUT_DEBUG_WORK (1 << 7)
-#define GLUT_DUMMY_WORK (1 << 8)
-#define GLUT_FULL_SCREEN_WORK (1 << 9)
-#define GLUT_OVERLAY_REDISPLAY_WORK (1 << 10)
-#define GLUT_REPAIR_WORK (1 << 11)
-#define GLUT_OVERLAY_REPAIR_WORK (1 << 12)
-
-/* Frame buffer capability macros and types. */
-#define RGBA 0
-#define BUFFER_SIZE 1
-#define DOUBLEBUFFER 2
-#define STEREO 3
-#define AUX_BUFFERS 4
-#define RED_SIZE 5 /* Used as mask bit for
- "color selected". */
-#define GREEN_SIZE 6
-#define BLUE_SIZE 7
-#define ALPHA_SIZE 8
-#define DEPTH_SIZE 9
-#define STENCIL_SIZE 10
-#define ACCUM_RED_SIZE 11 /* Used as mask bit for
- "acc selected". */
-#define ACCUM_GREEN_SIZE 12
-#define ACCUM_BLUE_SIZE 13
-#define ACCUM_ALPHA_SIZE 14
-#define LEVEL 15
-
-#define NUM_GLXCAPS (LEVEL + 1)
-
-#define XVISUAL (NUM_GLXCAPS + 0)
-#define TRANSPARENT (NUM_GLXCAPS + 1)
-#define SAMPLES (NUM_GLXCAPS + 2)
-#define XSTATICGRAY (NUM_GLXCAPS + 3) /* Used as
- mask bit
- for "any
- visual type
- selected". */
-#define XGRAYSCALE (NUM_GLXCAPS + 4)
-#define XSTATICCOLOR (NUM_GLXCAPS + 5)
-#define XPSEUDOCOLOR (NUM_GLXCAPS + 6)
-#define XTRUECOLOR (NUM_GLXCAPS + 7)
-#define XDIRECTCOLOR (NUM_GLXCAPS + 8)
-#define SLOW (NUM_GLXCAPS + 9)
-#define CONFORMANT (NUM_GLXCAPS + 10)
-
-#define NUM_CAPS (NUM_GLXCAPS + 11)
-
-/* Frame buffer capablities that don't have a corresponding
- FrameBufferMode entry. These get used as mask bits. */
-#define NUM (NUM_CAPS + 0)
-#define RGBA_MODE (NUM_CAPS + 1)
-#define CI_MODE (NUM_CAPS + 2)
-#define LUMINANCE_MODE (NUM_CAPS + 3)
-
-#define NONE 0
-#define EQ 1
-#define NEQ 2
-#define LTE 3
-#define GTE 4
-#define GT 5
-#define LT 6
-#define MIN 7
-
-typedef struct _Criterion {
- int capability;
- int comparison;
- int value;
-} Criterion;
-
-typedef struct _FrameBufferMode {
- XVisualInfo *vi;
-#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_fbconfig)
-
- /* fbc is non-NULL when the XVisualInfo* is not OpenGL-capable
- (ie, GLX_USE_GL is false), but the SGIX_fbconfig extension shows
- the visual's fbconfig is OpenGL-capable. The reason for this is typically
- an RGBA luminance fbconfig such as 16-bit StaticGray that could
- not be advertised as a GLX visual since StaticGray visuals are
- required (by the GLX specification) to be color index. The
- SGIX_fbconfig allows StaticGray visuals to instead advertised as
- fbconfigs that can provide RGBA luminance support. */
-
- GLXFBConfigSGIX fbc;
-#endif
- int valid;
- int cap[NUM_CAPS];
-} FrameBufferMode;
-
-/* DisplayMode capability macros for game mode. */
-#define DM_WIDTH 0 /* "width" */
-#define DM_HEIGHT 1 /* "height" */
-#define DM_PIXEL_DEPTH 2 /* "bpp" (bits per pixel) */
-#define DM_HERTZ 3 /* "hertz" */
-#define DM_NUM 4 /* "num" */
-
-#define NUM_DM_CAPS (DM_NUM+1)
-
-typedef struct _DisplayMode {
-#ifdef _WIN32
- DEVMODE devmode;
-#else
- /* XXX The X Window System does not have a standard
- mechanism for display setting changes. On SGI
- systems, GLUT could use the XSGIvc (SGI X video
- control extension). Perhaps this can be done in
- a future release of GLUT. */
-#endif
- int valid;
- int cap[NUM_DM_CAPS];
-} DisplayMode;
-
-#endif /* BeOS */
-
-/* GLUT function types */
-typedef void (*GLUTdisplayCB) (void);
-typedef void (*GLUTreshapeCB) (int, int);
-typedef void (*GLUTkeyboardCB) (unsigned char, int, int);
-typedef void (*GLUTmouseCB) (int, int, int, int);
-typedef void (*GLUTmotionCB) (int, int);
-typedef void (*GLUTpassiveCB) (int, int);
-typedef void (*GLUTentryCB) (int);
-typedef void (*GLUTvisibilityCB) (int);
-typedef void (*GLUTwindowStatusCB) (int);
-typedef void (*GLUTidleCB) (void);
-typedef void (*GLUTtimerCB) (int);
-typedef void (*GLUTmenuStateCB) (int); /* DEPRICATED. */
-typedef void (*GLUTmenuStatusCB) (int, int, int);
-typedef void (*GLUTselectCB) (int);
-typedef void (*GLUTspecialCB) (int, int, int);
-typedef void (*GLUTspaceMotionCB) (int, int, int);
-typedef void (*GLUTspaceRotateCB) (int, int, int);
-typedef void (*GLUTspaceButtonCB) (int, int);
-typedef void (*GLUTdialsCB) (int, int);
-typedef void (*GLUTbuttonBoxCB) (int, int);
-typedef void (*GLUTtabletMotionCB) (int, int);
-typedef void (*GLUTtabletButtonCB) (int, int, int, int);
-typedef void (*GLUTjoystickCB) (unsigned int buttonMask, int x, int y, int z);
-#ifdef SUPPORT_FORTRAN
-typedef void (*GLUTdisplayFCB) (void);
-typedef void (*GLUTreshapeFCB) (int *, int *);
-/* NOTE the pressed key is int, not unsigned char for Fortran! */
-typedef void (*GLUTkeyboardFCB) (int *, int *, int *);
-typedef void (*GLUTmouseFCB) (int *, int *, int *, int *);
-typedef void (*GLUTmotionFCB) (int *, int *);
-typedef void (*GLUTpassiveFCB) (int *, int *);
-typedef void (*GLUTentryFCB) (int *);
-typedef void (*GLUTvisibilityFCB) (int *);
-typedef void (*GLUTwindowStatusFCB) (int *);
-typedef void (*GLUTidleFCB) (void);
-typedef void (*GLUTtimerFCB) (int *);
-typedef void (*GLUTmenuStateFCB) (int *); /* DEPRICATED. */
-typedef void (*GLUTmenuStatusFCB) (int *, int *, int *);
-typedef void (*GLUTselectFCB) (int *);
-typedef void (*GLUTspecialFCB) (int *, int *, int *);
-typedef void (*GLUTspaceMotionFCB) (int *, int *, int *);
-typedef void (*GLUTspaceRotateFCB) (int *, int *, int *);
-typedef void (*GLUTspaceButtonFCB) (int *, int *);
-typedef void (*GLUTdialsFCB) (int *, int *);
-typedef void (*GLUTbuttonBoxFCB) (int *, int *);
-typedef void (*GLUTtabletMotionFCB) (int *, int *);
-typedef void (*GLUTtabletButtonFCB) (int *, int *, int *, int *);
-typedef void (*GLUTjoystickFCB) (unsigned int *buttonMask, int *x, int *y, int *z);
-#endif
-
-#ifndef __BEOS__
-
-typedef struct _GLUTcolorcell GLUTcolorcell;
-struct _GLUTcolorcell {
- /* GLUT_RED, GLUT_GREEN, GLUT_BLUE */
- GLfloat component[3];
-};
-
-typedef struct _GLUTcolormap GLUTcolormap;
-struct _GLUTcolormap {
- Visual *visual; /* visual of the colormap */
- Colormap cmap; /* X colormap ID */
- int refcnt; /* number of windows using colormap */
- int size; /* number of cells in colormap */
- int transparent; /* transparent pixel, or -1 if opaque */
- GLUTcolorcell *cells; /* array of cells */
- GLUTcolormap *next; /* next colormap in list */
-};
-
-typedef struct _GLUTwindow GLUTwindow;
-typedef struct _GLUToverlay GLUToverlay;
-struct _GLUTwindow {
- int num; /* Small integer window id (0-based). */
-
- /* Window system related state. */
-#if defined(_WIN32)
- int pf; /* Pixel format. */
- HDC hdc; /* Window's Win32 device context. */
-#endif
- Window win; /* X window for GLUT window */
- GLXContext ctx; /* OpenGL context GLUT glut window */
- XVisualInfo *vis; /* visual for window */
- Bool visAlloced; /* if vis needs deallocate on destroy */
- Colormap cmap; /* RGB colormap for window; None if CI */
- GLUTcolormap *colormap; /* colormap; NULL if RGBA */
- GLUToverlay *overlay; /* overlay; NULL if no overlay */
-#if defined(_WIN32)
- HDC renderDc; /* Win32's device context for rendering. */
-#endif
- Window renderWin; /* X window for rendering (might be
- overlay) */
- GLXContext renderCtx; /* OpenGL context for rendering (might
- be overlay) */
- /* GLUT settable or visible window state. */
- int width; /* window width in pixels */
- int height; /* window height in pixels */
- int cursor; /* cursor name */
- int visState; /* visibility state (-1 is unknown) */
- int shownState; /* if window mapped */
- int entryState; /* entry state (-1 is unknown) */
-#define GLUT_MAX_MENUS 3
-
- int menu[GLUT_MAX_MENUS]; /* attatched menu nums */
- /* Window relationship state. */
- GLUTwindow *parent; /* parent window */
- GLUTwindow *children; /* list of children */
- GLUTwindow *siblings; /* list of siblings */
- /* Misc. non-API visible (hidden) state. */
- Bool treatAsSingle; /* treat this window as single-buffered
- (it might be "fake" though) */
- Bool forceReshape; /* force reshape before display */
-#if !defined(_WIN32)
- Bool isDirect; /* if direct context (X11 only) */
-#endif
- Bool usedSwapBuffers; /* if swap buffers used last display */
- long eventMask; /* mask of X events selected for */
- int buttonUses; /* number of button uses, ref cnt */
- int tabletPos[2]; /* tablet position (-1 is invalid) */
- /* Work list related state. */
- unsigned int workMask; /* mask of window work to be done */
- GLUTwindow *prevWorkWin; /* link list of windows to work on */
- Bool desiredMapState; /* how to mapped window if on map work
- list */
- Bool ignoreKeyRepeat; /* if window ignores autorepeat */
- int desiredConfMask; /* mask of desired window configuration
- */
- int desiredX; /* desired X location */
- int desiredY; /* desired Y location */
- int desiredWidth; /* desired window width */
- int desiredHeight; /* desired window height */
- int desiredStack; /* desired window stack */
- /* Per-window callbacks. */
- GLUTdisplayCB display; /* redraw */
- GLUTreshapeCB reshape; /* resize (width,height) */
- GLUTmouseCB mouse; /* mouse (button,state,x,y) */
- GLUTmotionCB motion; /* motion (x,y) */
- GLUTpassiveCB passive; /* passive motion (x,y) */
- GLUTentryCB entry; /* window entry/exit (state) */
- GLUTkeyboardCB keyboard; /* keyboard (ASCII,x,y) */
- GLUTkeyboardCB keyboardUp; /* keyboard up (ASCII,x,y) */
- GLUTwindowStatusCB windowStatus; /* window status */
- GLUTvisibilityCB visibility; /* visibility */
- GLUTspecialCB special; /* special key */
- GLUTspecialCB specialUp; /* special up key */
- GLUTbuttonBoxCB buttonBox; /* button box */
- GLUTdialsCB dials; /* dials */
- GLUTspaceMotionCB spaceMotion; /* Spaceball motion */
- GLUTspaceRotateCB spaceRotate; /* Spaceball rotate */
- GLUTspaceButtonCB spaceButton; /* Spaceball button */
- GLUTtabletMotionCB tabletMotion; /* tablet motion */
- GLUTtabletButtonCB tabletButton; /* tablet button */
-#ifdef _WIN32
- GLUTjoystickCB joystick; /* joystick */
- int joyPollInterval; /* joystick polling interval */
-#endif
-#ifdef SUPPORT_FORTRAN
- /* Special Fortran display unneeded since no
- parameters! */
- GLUTreshapeFCB freshape; /* Fortran reshape */
- GLUTmouseFCB fmouse; /* Fortran mouse */
- GLUTmotionFCB fmotion; /* Fortran motion */
- GLUTpassiveFCB fpassive; /* Fortran passive */
- GLUTentryFCB fentry; /* Fortran entry */
- GLUTkeyboardFCB fkeyboard; /* Fortran keyboard */
- GLUTkeyboardFCB fkeyboardUp; /* Fortran keyboard up */
- GLUTwindowStatusFCB fwindowStatus; /* Fortran visibility
- */
- GLUTvisibilityFCB fvisibility; /* Fortran visibility
- */
- GLUTspecialFCB fspecial; /* special key */
- GLUTspecialFCB fspecialUp; /* special key up */
- GLUTbuttonBoxFCB fbuttonBox; /* button box */
- GLUTdialsFCB fdials; /* dials */
- GLUTspaceMotionFCB fspaceMotion; /* Spaceball motion
- */
- GLUTspaceRotateFCB fspaceRotate; /* Spaceball rotate
- */
- GLUTspaceButtonFCB fspaceButton; /* Spaceball button
- */
- GLUTtabletMotionFCB ftabletMotion; /* tablet motion
- */
- GLUTtabletButtonFCB ftabletButton; /* tablet button
- */
-#ifdef _WIN32
- GLUTjoystickFCB fjoystick; /* joystick */
-#endif
-#endif
-};
-
-struct _GLUToverlay {
-#if defined(_WIN32)
- int pf;
- HDC hdc;
-#endif
- Window win;
- GLXContext ctx;
- XVisualInfo *vis; /* visual for window */
- Bool visAlloced; /* if vis needs deallocate on destroy */
- Colormap cmap; /* RGB colormap for window; None if CI */
- GLUTcolormap *colormap; /* colormap; NULL if RGBA */
- int shownState; /* if overlay window mapped */
- Bool treatAsSingle; /* treat as single-buffered */
-#if !defined(_WIN32)
- Bool isDirect; /* if direct context */
-#endif
- int transparentPixel; /* transparent pixel value */
- GLUTdisplayCB display; /* redraw */
- /* Special Fortran display unneeded since no
- parameters! */
-};
-
-typedef struct _GLUTstale GLUTstale;
-struct _GLUTstale {
- GLUTwindow *window;
- Window win;
- GLUTstale *next;
-};
-
-extern GLUTstale *__glutStaleWindowList;
-
-#define GLUT_OVERLAY_EVENT_FILTER_MASK \
- (ExposureMask | \
- StructureNotifyMask | \
- EnterWindowMask | \
- LeaveWindowMask)
-#define GLUT_DONT_PROPAGATE_FILTER_MASK \
- (ButtonReleaseMask | \
- ButtonPressMask | \
- KeyPressMask | \
- KeyReleaseMask | \
- PointerMotionMask | \
- Button1MotionMask | \
- Button2MotionMask | \
- Button3MotionMask)
-#define GLUT_HACK_STOP_PROPAGATE_MASK \
- (KeyPressMask | \
- KeyReleaseMask)
-
-typedef struct _GLUTmenu GLUTmenu;
-typedef struct _GLUTmenuItem GLUTmenuItem;
-struct _GLUTmenu {
- int id; /* small integer menu id (0-based) */
- Window win; /* X window for the menu */
- GLUTselectCB select; /* function of menu */
- GLUTmenuItem *list; /* list of menu entries */
- int num; /* number of entries */
-#if !defined(_WIN32)
- Bool managed; /* are the InputOnly windows size
- validated? */
- Bool searched; /* help detect menu loops */
- int pixheight; /* height of menu in pixels */
- int pixwidth; /* width of menu in pixels */
-#endif
- int submenus; /* number of submenu entries */
- GLUTmenuItem *highlighted; /* pointer to highlighted menu
- entry, NULL not highlighted */
- GLUTmenu *cascade; /* currently cascading this menu */
- GLUTmenuItem *anchor; /* currently anchored to this entry */
- int x; /* current x origin relative to the
- root window */
- int y; /* current y origin relative to the
- root window */
-#ifdef SUPPORT_FORTRAN
- GLUTselectFCB fselect; /* function of menu */
-#endif
-};
-
-struct _GLUTmenuItem {
- Window win; /* InputOnly X window for entry */
- GLUTmenu *menu; /* menu entry belongs to */
- Bool isTrigger; /* is a submenu trigger? */
- int value; /* value to return for selecting this
- entry; doubles as submenu id
- (0-base) if submenu trigger */
-#if defined(_WIN32)
- UINT unique; /* unique menu item id (Win32 only) */
-#endif
- char *label; /* __glutStrdup'ed label string */
- int len; /* length of label string */
- int pixwidth; /* width of X window in pixels */
- GLUTmenuItem *next; /* next menu entry on list for menu */
-};
-
-typedef struct _GLUTtimer GLUTtimer;
-struct _GLUTtimer {
- GLUTtimer *next; /* list of timers */
- struct timeval timeout; /* time to be called */
- GLUTtimerCB func; /* timer (value) */
- int value; /* return value */
-#ifdef SUPPORT_FORTRAN
- GLUTtimerFCB ffunc; /* Fortran timer */
-#endif
-};
-
-typedef struct _GLUTeventParser GLUTeventParser;
-struct _GLUTeventParser {
- int (*func) (XEvent *);
- GLUTeventParser *next;
-};
-
-/* Declarations to implement glutFullScreen support with
- mwm/4Dwm. */
-
-/* The following X property format is defined in Motif 1.1's
- Xm/MwmUtils.h, but GLUT should not depend on that header
- file. Note: Motif 1.2 expanded this structure with
- uninteresting fields (to GLUT) so just stick with the
- smaller Motif 1.1 structure. */
-typedef struct {
-#define MWM_HINTS_DECORATIONS 2
- long flags;
- long functions;
- long decorations;
- long input_mode;
-} MotifWmHints;
-
-/* Make current and buffer swap macros. */
-#ifdef _WIN32
-#define MAKE_CURRENT_LAYER(window) \
- { \
- HGLRC currentContext = wglGetCurrentContext(); \
- HDC currentDc = wglGetCurrentDC(); \
- \
- if (currentContext != window->renderCtx \
- || currentDc != window->renderDc) { \
- wglMakeCurrent(window->renderDc, window->renderCtx); \
- } \
- }
-#define MAKE_CURRENT_WINDOW(window) \
- { \
- HGLRC currentContext = wglGetCurrentContext(); \
- HDC currentDc = wglGetCurrentDC(); \
- \
- if (currentContext != window->ctx || currentDc != window->hdc) { \
- wglMakeCurrent(window->hdc, window->ctx); \
- } \
- }
-#define MAKE_CURRENT_OVERLAY(overlay) \
- wglMakeCurrent(overlay->hdc, overlay->ctx)
-#define UNMAKE_CURRENT() \
- wglMakeCurrent(NULL, NULL)
-#define SWAP_BUFFERS_WINDOW(window) \
- SwapBuffers(window->hdc)
-#define SWAP_BUFFERS_LAYER(window) \
- SwapBuffers(window->renderDc)
-#else
-#define MAKE_CURRENT_LAYER(window) \
- glXMakeCurrent(__glutDisplay, window->renderWin, window->renderCtx)
-#define MAKE_CURRENT_WINDOW(window) \
- glXMakeCurrent(__glutDisplay, window->win, window->ctx)
-#define MAKE_CURRENT_OVERLAY(overlay) \
- glXMakeCurrent(__glutDisplay, overlay->win, overlay->ctx)
-#define UNMAKE_CURRENT() \
- glXMakeCurrent(__glutDisplay, None, NULL)
-#define SWAP_BUFFERS_WINDOW(window) \
- glXSwapBuffers(__glutDisplay, window->win)
-#define SWAP_BUFFERS_LAYER(window) \
- glXSwapBuffers(__glutDisplay, window->renderWin)
-#endif
-
-/* private variables from glut_event.c */
-extern GLUTwindow *__glutWindowWorkList;
-extern int __glutWindowDamaged;
-#ifdef SUPPORT_FORTRAN
-extern GLUTtimer *__glutTimerList;
-extern GLUTtimer *__glutNewTimer;
-#endif
-extern GLUTmenu *__glutMappedMenu;
-
-extern void (*__glutUpdateInputDeviceMaskFunc) (GLUTwindow *);
-#if !defined(_WIN32)
-extern void (*__glutMenuItemEnterOrLeave)(GLUTmenuItem * item,
- int num, int type);
-extern void (*__glutFinishMenu)(Window win, int x, int y);
-extern void (*__glutPaintMenu)(GLUTmenu * menu);
-extern void (*__glutStartMenu)(GLUTmenu * menu,
- GLUTwindow * window, int x, int y, int x_win, int y_win);
-extern GLUTmenu * (*__glutGetMenuByNum)(int menunum);
-extern GLUTmenuItem * (*__glutGetMenuItem)(GLUTmenu * menu,
- Window win, int *which);
-extern GLUTmenu * (*__glutGetMenu)(Window win);
-#endif
-
-/* private variables from glut_init.c */
-extern Atom __glutWMDeleteWindow;
-extern Display *__glutDisplay;
-extern unsigned int __glutDisplayMode;
-extern char *__glutDisplayString;
-extern XVisualInfo *(*__glutDetermineVisualFromString) (char *string, Bool * treatAsSingle,
- Criterion * requiredCriteria, int nRequired, int requiredMask, void **fbc);
-extern GLboolean __glutDebug;
-extern GLboolean __glutForceDirect;
-extern GLboolean __glutIconic;
-extern GLboolean __glutTryDirect;
-extern Window __glutRoot;
-extern XSizeHints __glutSizeHints;
-extern char **__glutArgv;
-#endif /* BeOS */
-extern char *__glutProgramName;
-#ifndef __BEOS__
-extern int __glutArgc;
-extern int __glutConnectionFD;
-extern int __glutInitHeight;
-extern int __glutInitWidth;
-extern int __glutInitX;
-extern int __glutInitY;
-extern int __glutScreen;
-extern int __glutScreenHeight;
-extern int __glutScreenWidth;
-extern Atom __glutMotifHints;
-extern unsigned int __glutModifierMask;
-
-/* private variables from glut_menu.c */
-extern GLUTmenuItem *__glutItemSelected;
-extern GLUTmenu **__glutMenuList;
-extern void (*__glutMenuStatusFunc) (int, int, int);
-extern void __glutMenuModificationError(void);
-extern void __glutSetMenuItem(GLUTmenuItem * item,
- const char *label, int value, Bool isTrigger);
-
-/* private variables from glut_win.c */
-extern GLUTwindow **__glutWindowList;
-extern GLUTwindow *__glutCurrentWindow;
-extern GLUTwindow *__glutMenuWindow;
-extern GLUTmenu *__glutCurrentMenu;
-extern int __glutWindowListSize;
-extern void (*__glutFreeOverlayFunc) (GLUToverlay *);
-extern XVisualInfo *__glutDetermineWindowVisual(Bool * treatAsSingle,
- Bool * visAlloced, void **fbc);
-
-/* private variables from glut_mesa.c */
-extern int __glutMesaSwapHackSupport;
-
-/* private variables from glut_gamemode.c */
-extern GLUTwindow *__glutGameModeWindow;
-
-/* private routines from glut_cindex.c */
-extern GLUTcolormap * __glutAssociateNewColormap(XVisualInfo * vis);
-extern void __glutFreeColormap(GLUTcolormap *);
-
-/* private routines from glut_cmap.c */
-extern void __glutSetupColormap(
- XVisualInfo * vi,
- GLUTcolormap ** colormap,
- Colormap * cmap);
-#if !defined(_WIN32)
-extern void __glutEstablishColormapsProperty(
- GLUTwindow * window);
-extern GLUTwindow *__glutToplevelOf(GLUTwindow * window);
-#endif
-
-/* private routines from glut_cursor.c */
-extern void __glutSetCursor(GLUTwindow *window);
-
-/* private routines from glut_event.c */
-extern void __glutPutOnWorkList(GLUTwindow * window,
- int work_mask);
-extern void __glutRegisterEventParser(GLUTeventParser * parser);
-extern void __glutPostRedisplay(GLUTwindow * window, int layerMask);
-
-/* private routines from glut_init.c */
-#if !defined(_WIN32)
-extern void __glutOpenXConnection(char *display);
-#else
-extern void __glutOpenWin32Connection(char *display);
-#endif
-extern void __glutInitTime(struct timeval *beginning);
-
-/* private routines for glut_menu.c (or win32_menu.c) */
-#if defined(_WIN32)
-extern GLUTmenu *__glutGetMenu(Window win);
-extern GLUTmenu *__glutGetMenuByNum(int menunum);
-extern GLUTmenuItem *__glutGetMenuItem(GLUTmenu * menu,
- Window win, int *which);
-extern void __glutStartMenu(GLUTmenu * menu,
- GLUTwindow * window, int x, int y, int x_win, int y_win);
-extern void __glutFinishMenu(Window win, int x, int y);
-#endif
-extern void __glutSetMenu(GLUTmenu * menu);
-
-#endif /* BeOS */
-#ifdef __cplusplus
-extern "C" {
-#endif
-/* private routines from glut_util.c */
-extern char * __glutStrdup(const char *string);
-extern void __glutWarning(char *format,...);
-extern void __glutFatalError(char *format,...);
-extern void __glutFatalUsage(char *format,...);
-#ifdef __cplusplus
-}
-#endif
-#ifndef __BEOS__
-
-/* private routines from glut_win.c */
-extern GLUTwindow *__glutGetWindow(Window win);
-extern void __glutChangeWindowEventMask(long mask, Bool add);
-extern XVisualInfo *__glutDetermineVisual(
- unsigned int mode,
- Bool * fakeSingle,
- XVisualInfo * (getVisualInfo) (unsigned int));
-extern XVisualInfo *__glutGetVisualInfo(unsigned int mode);
-extern void __glutSetWindow(GLUTwindow * window);
-extern void __glutReshapeFunc(GLUTreshapeCB reshapeFunc,
- int callingConvention);
-extern void __glutDefaultReshape(int, int);
-extern GLUTwindow *__glutCreateWindow(
- GLUTwindow * parent,
- int x, int y, int width, int height, int gamemode);
-extern void __glutDestroyWindow(
- GLUTwindow * window,
- GLUTwindow * initialWindow);
-
-#if !defined(_WIN32)
-/* private routines from glut_glxext.c */
-extern int __glutIsSupportedByGLX(char *);
-#endif
-
-/* private routines from glut_input.c */
-extern void __glutUpdateInputDeviceMask(GLUTwindow * window);
-
-/* private routines from glut_mesa.c */
-extern void __glutDetermineMesaSwapHackSupport(void);
-
-/* private routines from glut_gameglut.c */
-extern void __glutCloseDownGameMode(void);
-
-#if defined(_WIN32)
-/* private routines from win32_*.c */
-extern LONG WINAPI __glutWindowProc(HWND win, UINT msg, WPARAM w, LPARAM l);
-extern HDC XHDC;
-#endif
-
-#else /* BeOS */
-/* BeOS specific C++ function prototypes */
-#ifdef __cplusplus
-
-#include <SupportDefs.h>
-
-/* private routines from glutInit.cpp */
-void __glutInitTime(bigtime_t *beginning);
-void __glutInit();
-
-/* private routines from glutMenu.cpp */
-class GlutMenu; // avoid including glutMenu.h
-GlutMenu *__glutGetMenuByNum(int menunum);
-
-/* private routines from glutWindow.cpp */
-int __glutConvertDisplayMode(unsigned long *options);
-void __glutDefaultReshape(int width, int height);
-class GlutWindow; // avoid including glutWindow.h in every source file
-void __glutSetWindow(GlutWindow * window);
-void __glutDestroyAllWindows();
-
-/* private routines from glutDstr.cpp */
-int __glutConvertDisplayModeFromString(unsigned long *options);
-
-/* private routines from glutCursor.cpp */
-void __glutSetCursor(int cursor);
-
-#endif /* __cplusplus */
-#endif /* BeOS */
-
-#endif /* __glutint_h__ */
diff --git a/src/glut/beos/glutstroke.h b/src/glut/beos/glutstroke.h
deleted file mode 100644
index cbc9e156fe..0000000000
--- a/src/glut/beos/glutstroke.h
+++ /dev/null
@@ -1,42 +0,0 @@
-#ifndef __glutstroke_h__
-#define __glutstroke_h__
-
-/* Copyright (c) Mark J. Kilgard, 1994. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#if defined(_WIN32)
-#pragma warning (disable:4244) /* disable bogus conversion warnings */
-#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */
-#endif
-
-typedef struct {
- float x;
- float y;
-} CoordRec, *CoordPtr;
-
-typedef struct {
- int num_coords;
- const CoordRec *coord;
-} StrokeRec, *StrokePtr;
-
-typedef struct {
- int num_strokes;
- const StrokeRec *stroke;
- float center;
- float right;
-} StrokeCharRec, *StrokeCharPtr;
-
-typedef struct {
- const char *name;
- int num_chars;
- const StrokeCharRec *ch;
- float top;
- float bottom;
-} StrokeFontRec, *StrokeFontPtr;
-
-typedef void *GLUTstrokeFont;
-
-#endif /* __glutstroke_h__ */
diff --git a/src/glut/directfb/Makefile b/src/glut/directfb/Makefile
deleted file mode 100644
index bf93d63e30..0000000000
--- a/src/glut/directfb/Makefile
+++ /dev/null
@@ -1,87 +0,0 @@
-# subset glut
-
-TOP = ../../..
-include $(TOP)/configs/current
-
-MARK = $(TOP)/src/glut/glx
-
-GLUT_MAJOR = 3
-GLUT_MINOR = 7
-GLUT_TINY = 1
-
-INCLUDES = -I$(TOP)/include -I$(MARK) $(shell pkg-config --cflags directfb)
-
-GLUT_LIB_DEPS += $(shell pkg-config --libs directfb)
-
-CORE_SOURCES = \
- callback.c \
- color.c \
- cursor.c \
- ext.c \
- events.c \
- font.c \
- game.c \
- globals.c \
- init.c \
- menu.c \
- models.c \
- overlay.c \
- state.c \
- teapot.c \
- window.c \
-
-
-MARK_SOURCES = \
- $(MARK)/glut_8x13.c \
- $(MARK)/glut_9x15.c \
- $(MARK)/glut_hel10.c \
- $(MARK)/glut_hel12.c \
- $(MARK)/glut_hel18.c \
- $(MARK)/glut_tr10.c \
- $(MARK)/glut_tr24.c
-
-SOURCES = $(CORE_SOURCES) $(MARK_SOURCES)
-
-OBJECTS = $(SOURCES:.c=.o)
-
-
-##### RULES #####
-
-.c.o:
- $(CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
-
-.S.o:
- $(CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
-
-
-##### TARGETS #####
-
-default: depend $(TOP)/$(LIB_DIR)/$(GLUT_LIB_NAME)
-
-
-# Make the library
-$(TOP)/$(LIB_DIR)/$(GLUT_LIB_NAME): depend $(OBJECTS)
- $(MKLIB) -o $(GLUT_LIB) -linker '$(CC)' -ldflags '$(LDFLAGS)' \
- -major $(GLUT_MAJOR) -minor $(GLUT_MINOR) -patch $(GLUT_TINY) \
- $(GLUT_LIB_DEPS) -install $(TOP)/$(LIB_DIR) \
- $(MKLIB_OPTIONS) $(OBJECTS)
-
-
-# Run 'make -f Makefile.solo dep' to update the dependencies if you change
-# what's included by any source file.
-depend: $(SOURCES)
- rm -f depend
- touch depend
- $(MKDEP) $(MKDEP_OPTIONS) $(INCLUDES) $(SOURCES) > /dev/null
-
-# Emacs tags
-tags:
- etags `find . -name \*.[ch]` `find ../include`
-
-
-# Remove .o and backup files
-clean: depend
- -rm -f depend depend.bak
- -rm -f *.o *~ *.o *~ *.so libglut.so.3.7
-
-include depend
diff --git a/src/glut/directfb/NOTES b/src/glut/directfb/NOTES
deleted file mode 100644
index af917c6667..0000000000
--- a/src/glut/directfb/NOTES
+++ /dev/null
@@ -1,9 +0,0 @@
-DirectFB GLUT Implementation NOTES
-----------------------------------
-
-* To have high performance rendering, it's really important to
- use glutEnterGameMode() instead of glutCreateWindow()/glutFullScreen().
- You can also force a windowed application to game mode by setting
- the environment variable "__GLUT_GAME_MODE".
-
-
diff --git a/src/glut/directfb/callback.c b/src/glut/directfb/callback.c
deleted file mode 100644
index 7c9768aac0..0000000000
--- a/src/glut/directfb/callback.c
+++ /dev/null
@@ -1,300 +0,0 @@
-/*
- * Copyright (C) 2006 Claudio Ciccani <klan@users.sf.net>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/time.h>
-
-#include "internal.h"
-
-
-typedef void (GLUTCALLBACK *__GlutTimerCallback) ( int value );
-
-typedef struct __GlutTimer_s {
- struct timeval interval;
- struct timeval expire;
-
- __GlutTimerCallback func;
- int value;
-
- struct __GlutTimer_s *next;
-} __GlutTimer;
-
-/*****************************************************************************/
-
-static __GlutTimer *g_timers = NULL;
-
-/*****************************************************************************/
-
-
-void GLUTAPIENTRY
-glutDisplayFunc( void (GLUTCALLBACK *func) (void) )
-{
- display_func = func;
-}
-
-
-void GLUTAPIENTRY
-glutReshapeFunc( void (GLUTCALLBACK *func) (int width, int height) )
-{
- reshape_func = func;
-}
-
-
-void GLUTAPIENTRY
-glutKeyboardFunc( void (GLUTCALLBACK *func) (unsigned char key, int x, int y) )
-{
- keyboard_func = func;
-}
-
-
-void GLUTAPIENTRY
-glutMouseFunc( void (GLUTCALLBACK *func) (int button, int state, int x, int y) )
-{
- mouse_func = func;
-}
-
-
-void GLUTAPIENTRY
-glutMotionFunc( void (GLUTCALLBACK *func) (int x, int y) )
-{
- motion_func = func;
-}
-
-
-void GLUTAPIENTRY
-glutPassiveMotionFunc( void (GLUTCALLBACK *func) (int x, int y) )
-{
- passive_motion_func = func;
-}
-
-
-void GLUTAPIENTRY
-glutEntryFunc( void (GLUTCALLBACK *func) (int state) )
-{
- entry_func = func;
-}
-
-
-void GLUTAPIENTRY
-glutVisibilityFunc( void (GLUTCALLBACK *func) (int state) )
-{
- visibility_func = func;
-}
-
-
-void GLUTAPIENTRY
-glutMenuStateFunc( void (GLUTCALLBACK *func) (int state) )
-{
- menu_state_func = func;
-}
-
-
-void GLUTAPIENTRY
-glutSpecialFunc( void (GLUTCALLBACK *func) (int key, int x, int y) )
-{
- special_func = func;
-}
-
-
-void GLUTAPIENTRY
-glutSpaceballMotionFunc( void (GLUTCALLBACK *func) (int x, int y, int z) )
-{
-}
-
-
-void GLUTAPIENTRY
-glutSpaceballRotateFunc( void (GLUTCALLBACK *func) (int x, int y, int z) )
-{
-}
-
-
-void GLUTAPIENTRY
-glutSpaceballButtonFunc( void (GLUTCALLBACK *func) (int button, int state) )
-{
-}
-
-
-void GLUTAPIENTRY
-glutButtonBoxFunc( void (GLUTCALLBACK *func) (int button, int state) )
-{
-}
-
-
-void GLUTAPIENTRY
-glutDialsFunc( void (GLUTCALLBACK *func) (int dial, int value) )
-{
-}
-
-
-void GLUTAPIENTRY
-glutTabletMotionFunc( void (GLUTCALLBACK *func) (int x, int y) )
-{
-}
-
-
-void GLUTAPIENTRY
-glutTabletButtonFunc( void (GLUTCALLBACK *func) (int button, int state, int x, int y) )
-{
-}
-
-
-void GLUTAPIENTRY
-glutMenuStatusFunc( void (GLUTCALLBACK *func) (int status, int x, int y) )
-{
-}
-
-
-void GLUTAPIENTRY
-glutOverlayDisplayFunc( void (GLUTCALLBACK *func) (void) )
-{
-}
-
-
-void GLUTAPIENTRY
-glutWindowStatusFunc( void (GLUTCALLBACK *func) (int state) )
-{
-}
-
-
-void GLUTAPIENTRY
-glutKeyboardUpFunc( void (GLUTCALLBACK *func) (unsigned char key, int x, int y) )
-{
- keyboard_up_func = func;
-}
-
-
-void GLUTAPIENTRY
-glutSpecialUpFunc( void (GLUTCALLBACK *func) (int key, int x, int y) )
-{
- special_up_func = func;
-}
-
-
-void GLUTAPIENTRY
-glutJoystickFunc( void (GLUTCALLBACK *func)(unsigned int buttons, int x, int y, int z), int pollInterval )
-{
- joystick_func = func;
- /* FIXME: take care of pollInterval */
-}
-
-
-void GLUTAPIENTRY
-glutIdleFunc( void (GLUTCALLBACK *func) (void) )
-{
- idle_func = func;
-}
-
-
-void GLUTAPIENTRY
-glutTimerFunc( unsigned int msec, void (GLUTCALLBACK *func) (int value), int value )
-{
- __GlutTimer *timer;
-
- if (!func)
- return;
-
- timer = calloc( 1, sizeof(__GlutTimer) );
- if (!timer)
- __glutFatalError( "out of memory" );
-
- timer->interval.tv_sec = msec / 1000;
- timer->interval.tv_usec = (msec % 1000) * 1000;
-
- gettimeofday( &timer->expire, NULL );
- timer->expire.tv_usec += timer->interval.tv_usec;
- timer->expire.tv_sec += timer->interval.tv_sec + timer->expire.tv_usec/1000000;
- timer->expire.tv_usec %= 1000000;
-
- timer->func = func;
- timer->value = value;
-
- timer->next = g_timers;
- g_timers = timer;
-}
-
-
-void
-__glutHandleTimers( void )
-{
- __GlutTimer *cur;
- struct timeval now;
-
- for (cur = g_timers; cur; cur = cur->next ) {
- gettimeofday( &now, NULL );
-
- if (cur->expire.tv_sec > now.tv_sec ||
- (cur->expire.tv_sec == now.tv_sec &&
- cur->expire.tv_usec >= now.tv_usec))
- {
- g_idle = GL_FALSE;
-
- cur->func( cur->value );
-
- cur->expire.tv_usec += cur->interval.tv_usec;
- cur->expire.tv_sec += cur->interval.tv_sec + cur->expire.tv_usec/1000000;
- cur->expire.tv_usec %= 1000000;
- }
- }
-}
-
-
-GLboolean
-__glutGetTimeout( int *ret_msec )
-{
- __GlutTimer *cur;
- struct timeval *time = NULL;
- struct timeval now;
-
- for (cur = g_timers; cur; cur = cur->next) {
- if (time == NULL ||
- time->tv_sec > cur->expire.tv_sec ||
- (time->tv_sec == cur->expire.tv_sec &&
- time->tv_usec > cur->expire.tv_usec)) {
- time = &cur->expire;
- }
- }
-
- if (time == NULL)
- return GL_FALSE;
-
- gettimeofday( &now, NULL );
-
- *ret_msec = (time->tv_sec - now.tv_sec) * 1000 +
- (time->tv_usec - now.tv_usec + 999) / 1000;
-
- return GL_TRUE;
-}
-
-
-void
-__glutFreeTimers( void )
-{
- __GlutTimer *cur = g_timers;
-
- while (cur) {
- __GlutTimer *next = cur->next;
- free( cur );
- cur = next;
- }
-
- g_timers = NULL;
-}
-
diff --git a/src/glut/directfb/color.c b/src/glut/directfb/color.c
deleted file mode 100644
index 26c514c6d5..0000000000
--- a/src/glut/directfb/color.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (C) 2006 Claudio Ciccani <klan@users.sf.net>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "internal.h"
-
-
-void GLUTAPIENTRY
-glutSetColor( int index, GLfloat red, GLfloat green, GLfloat blue )
-{
-}
-
-
-GLfloat GLUTAPIENTRY
-glutGetColor( int index, int component )
-{
- return 0.0;
-}
-
-
-void GLUTAPIENTRY
-glutCopyColormap( int win )
-{
-}
diff --git a/src/glut/directfb/cursor.c b/src/glut/directfb/cursor.c
deleted file mode 100644
index aca3fcc921..0000000000
--- a/src/glut/directfb/cursor.c
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * Copyright (C) 2006 Claudio Ciccani <klan@users.sf.net>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "internal.h"
-
-#include "cursors.h"
-
-
-void GLUTAPIENTRY
-glutSetCursor( int type )
-{
- const unsigned char *cursor;
- DFBSurfaceDescription dsc;
- IDirectFBSurface *shape;
-
- if (!g_current || !g_current->window)
- return;
-
- if (g_current->cursor == type)
- return;
-
- switch (type) {
- case GLUT_CURSOR_RIGHT_ARROW:
- cursor = &cur_right_arrow[0];
- break;
- case GLUT_CURSOR_LEFT_ARROW:
- cursor = &cur_left_arrow[0];
- break;
- case GLUT_CURSOR_INFO:
- cursor = &cur_info[0];
- break;
- case GLUT_CURSOR_DESTROY:
- cursor = &cur_destroy[0];
- break;
- case GLUT_CURSOR_HELP:
- cursor = &cur_help[0];
- break;
- case GLUT_CURSOR_CYCLE:
- cursor = &cur_cycle[0];
- break;
- case GLUT_CURSOR_SPRAY:
- cursor = &cur_spray[0];
- break;
- case GLUT_CURSOR_WAIT:
- cursor = &cur_wait[0];
- break;
- case GLUT_CURSOR_TEXT:
- cursor = &cur_text[0];
- break;
- case GLUT_CURSOR_CROSSHAIR:
- cursor = &cur_crosshair[0];
- break;
- case GLUT_CURSOR_UP_DOWN:
- cursor = &cur_up_down[0];
- break;
- case GLUT_CURSOR_LEFT_RIGHT:
- cursor = &cur_left_right[0];
- break;
- case GLUT_CURSOR_TOP_SIDE:
- cursor = &cur_top_side[0];
- break;
- case GLUT_CURSOR_BOTTOM_SIDE:
- cursor = &cur_bottom_side[0];
- break;
- case GLUT_CURSOR_LEFT_SIDE:
- cursor = &cur_left_side[0];
- break;
- case GLUT_CURSOR_RIGHT_SIDE:
- cursor = &cur_right_side[0];
- break;
- case GLUT_CURSOR_TOP_LEFT_CORNER:
- cursor = &cur_top_left[0];
- break;
- case GLUT_CURSOR_TOP_RIGHT_CORNER:
- cursor = &cur_top_right[0];
- break;
- case GLUT_CURSOR_BOTTOM_RIGHT_CORNER:
- cursor = &cur_bottom_right[0];
- break;
- case GLUT_CURSOR_BOTTOM_LEFT_CORNER:
- cursor = &cur_bottom_left[0];
- break;
- case GLUT_CURSOR_NONE:
- cursor = NULL;
- break;
- default:
- cursor = &cur_right_arrow[0];
- break;
- }
-
- dsc.flags = DSDESC_WIDTH | DSDESC_HEIGHT | DSDESC_PIXELFORMAT;
- dsc.width =
- dsc.height = cursor ? cursor[0] : 8;
- dsc.pixelformat = DSPF_ARGB;
-
- if (dfb->CreateSurface( dfb, &dsc, &shape ))
- return;
-
- if (cursor) {
- __u8 *src = (__u8*) &cursor[3];
- __u8 *msk = src + cursor[0]*cursor[0]/8;
- void *dst;
- int pitch;
- int x, y;
-
- if (shape->Lock( shape, DSLF_WRITE, &dst, &pitch )) {
- shape->Release( shape );
- return;
- }
-
- for (y = 0; y < cursor[0]; y++) {
- for (x = 0; x < cursor[0]; x++) {
- ((__u32*)dst)[x] =
- ((src[x>>3] & (0x80 >> (x&7))) ? 0 : 0x00ffffff) |
- ((msk[x>>3] & (0x80 >> (x&7))) ? 0xff000000 : 0);
- }
-
- dst += pitch;
- src += cursor[0]/8;
- msk += cursor[0]/8;
- }
-
- shape->Unlock( shape );
- }
- else {
- /* Invisible cursor */
- shape->Clear( shape, 0, 0, 0, 0 );
- }
-
- g_current->window->SetCursorShape( g_current->window, shape,
- cursor ? cursor[1] : 0,
- cursor ? cursor[2] : 0 );
- g_current->cursor = type;
-
- shape->Release( shape );
-}
-
-
-void GLUTAPIENTRY
-glutWarpPointer( int x, int y )
-{
- if (g_current) {
- if (!g_game) {
- int wx, wy;
- g_current->window->GetPosition( g_current->window, &wx, &wy );
- primary->WarpCursor( primary, wx+x, wy+y );
- }
- else {
- g_current->cx = x;
- g_current->cy = y;
- }
- }
-}
-
-
diff --git a/src/glut/directfb/cursors.h b/src/glut/directfb/cursors.h
deleted file mode 100644
index 30ab7c348e..0000000000
--- a/src/glut/directfb/cursors.h
+++ /dev/null
@@ -1,306 +0,0 @@
-#ifndef __GLUT_CURSORS_H__
-#define __GLUT_CURSORS_H__
-
-
-static const unsigned char cur_right_arrow[] = {
- 16, /* size */
- 1, 2, /* hotspot */
- /* data */
- 0x00, 0x00, 0x60, 0x00, 0x78, 0x00, 0x3e, 0x00,
- 0x3f, 0x80, 0x1f, 0xe0, 0x1f, 0xf8, 0x0f, 0x80,
- 0x0f, 0xc0, 0x06, 0xe0, 0x06, 0x70, 0x02, 0x38,
- 0x02, 0x1c, 0x00, 0x0e, 0x00, 0x04, 0x00, 0x00,
- /* mask */
- 0xe0, 0x00, 0xf8, 0x00, 0xfe, 0x00, 0x7f, 0x80,
- 0x7f, 0xe0, 0x3f, 0xf8, 0x3f, 0xfc, 0x1f, 0xfc,
- 0x1f, 0xe0, 0x0f, 0xf0, 0x0f, 0xf8, 0x07, 0x7c,
- 0x07, 0x3e, 0x02, 0x1f, 0x00, 0x0e, 0x00, 0x04,
-};
-
-static const unsigned char cur_left_arrow[] = {
- 16, /* size */
- 1, 15, /* hotspot */
- /* data */
- 0x00, 0x00, 0x80, 0x06, 0x00, 0x1e, 0x00, 0x7c,
- 0x01, 0xfc, 0x07, 0xf8, 0x1f, 0xf8, 0x01, 0xf0,
- 0x01, 0xf0, 0x02, 0x60, 0x04, 0x60, 0x08, 0x40,
- 0x10, 0x40, 0x20, 0x00, 0x40, 0x00, 0x00, 0x00,
- /* mask */
- 0x00, 0x07, 0x00, 0x1f, 0x00, 0x7f, 0x01, 0xfe,
- 0x07, 0xfe, 0x3f, 0xfc, 0x3f, 0xfc, 0x3f, 0xf8,
- 0x03, 0xf8, 0x07, 0xf0, 0x0e, 0xf0, 0x1c, 0xe0,
- 0x38, 0xe0, 0x70, 0xe0, 0xe0, 0x00, 0xc0, 0x00,
-};
-
-static const unsigned char cur_info[] = {
- 16, /* size */
- 0, 2, /* hotspot */
- /* data */
- 0x30, 0x00, 0x3c, 0x00, 0x0f, 0x00, 0x07, 0x80,
- 0x03, 0xc0, 0x07, 0xe0, 0x0f, 0xf0, 0x07, 0xf4,
- 0x0f, 0xfe, 0x0f, 0xfa, 0x07, 0xe0, 0x03, 0xe0,
- 0x00, 0x52, 0x00, 0x46, 0x00, 0x2c, 0x00, 0x18,
- /* mask */
- 0xb8, 0x00, 0x3e, 0x00, 0x1f, 0x80, 0x0f, 0xc0,
- 0x07, 0xe0, 0x0f, 0xf0, 0x1f, 0xfc, 0x1f, 0xfe,
- 0x1f, 0xfe, 0x1f, 0xfe, 0x0f, 0xfe, 0x07, 0xfe,
- 0x03, 0xfe, 0x00, 0xfe, 0x00, 0x7e, 0x00, 0x3c,
-};
-
-static const unsigned char cur_destroy[] = {
- 16, /* size */
- 12, 8, /* hotspot */
- /* data */
- 0x01, 0xe0, 0x03, 0xf0, 0x07, 0xf8, 0x0c, 0xcc,
- 0x0c, 0xcc, 0x07, 0xf8, 0x03, 0xf0, 0x01, 0xe0,
- 0x21, 0xe1, 0x61, 0xe1, 0x10, 0xc2, 0x0e, 0x1c,
- 0x01, 0xe0, 0x47, 0xf8, 0x7c, 0x0f, 0x20, 0x01,
- /* mask */
- 0x03, 0xf0, 0x07, 0xf8, 0x0f, 0xfc, 0x1f, 0xfe,
- 0x1f, 0xfe, 0x0f, 0xfc, 0x07, 0xf8, 0x83, 0xf1,
- 0xe3, 0xf1, 0xf3, 0xf3, 0x39, 0xef, 0x1e, 0x1e,
- 0x01, 0xe0, 0xc7, 0xfe, 0xff, 0xff, 0x7c, 0x0f,
-};
-
-static const unsigned char cur_help[] = {
- 16, /* size */
- 7, 8, /* hotspot */
- /* data */
- 0x83, 0xe0, 0x07, 0xf0, 0x0e, 0x38, 0x0c, 0x18,
- 0x0c, 0x38, 0x0e, 0x30, 0x07, 0x00, 0x03, 0xc0,
- 0x01, 0xc0, 0x01, 0x40, 0x01, 0x40, 0x07, 0x70,
- 0x03, 0x60, 0x01, 0xc0, 0x00, 0x80, 0x00, 0x00,
- /* mask */
- 0x03, 0xe0, 0x07, 0xf0, 0x0f, 0xf8, 0x1f, 0xfc,
- 0x1e, 0x3c, 0x1e, 0x7c, 0x1f, 0x78, 0x0f, 0xf0,
- 0x07, 0xe0, 0x03, 0xe0, 0x03, 0xe0, 0x07, 0xf0,
- 0x0f, 0xf8, 0x07, 0xf0, 0x03, 0xe0, 0x01, 0xc0,
-};
-
-static const unsigned char cur_cycle[] = {
- 16, /* size */
- 7, 9, /* hotspot */
- /* data */
- 0x00, 0x00, 0x07, 0xe2, 0x0f, 0xf6, 0x18, 0x3e,
- 0x10, 0x12, 0x00, 0x32, 0x00, 0x7e, 0x00, 0x00,
- 0x00, 0x00, 0x7e, 0x00, 0x4c, 0x00, 0x48, 0x08,
- 0x7c, 0x18, 0x6f, 0xf0, 0x47, 0xe0, 0x00, 0x00,
- /* mask */
- 0x07, 0xe3, 0x0f, 0xf7, 0x1f, 0xff, 0x3f, 0xff,
- 0x38, 0x3f, 0x30, 0xff, 0x00, 0xff, 0x00, 0xff,
- 0xff, 0x00, 0xff, 0x00, 0xfe, 0x0c, 0xfc, 0x1c,
- 0xff, 0xfc, 0xff, 0xf8, 0xef, 0xf0, 0xc7, 0xe0,
-};
-
-static const unsigned char cur_spray[] = {
- 16, /* size */
- 2, 4, /* hotspot */
- /* data */
- 0x98, 0x00, 0x02, 0x00, 0x18, 0xb0, 0x02, 0x78,
- 0x18, 0x58, 0x00, 0xfc, 0x00, 0x84, 0x00, 0x9c,
- 0x00, 0x94, 0x00, 0x9c, 0x00, 0x94, 0x00, 0x9c,
- 0x00, 0x9c, 0x00, 0x84, 0x00, 0x84, 0x00, 0xfc,
- /* mask */
- 0x30, 0x00, 0x34, 0x60, 0x35, 0xf0, 0x35, 0xf0,
- 0x35, 0xf8, 0x03, 0xfc, 0x03, 0xfc, 0x03, 0xfc,
- 0x03, 0xfc, 0x03, 0xfc, 0x03, 0xfc, 0x03, 0xfc,
- 0x03, 0xfc, 0x03, 0xfc, 0x03, 0xfc, 0x03, 0xfc,
-};
-
-static const unsigned char cur_wait[] = {
- 16, /* size */
- 9, 1, /* hotspot */
- /* data */
- 0x07, 0xf8, 0x07, 0xf8, 0x07, 0xf8, 0x0f, 0xfc,
- 0x18, 0x86, 0x30, 0x83, 0xe0, 0x81, 0xe1, 0xc1,
- 0xe1, 0xc1, 0xe0, 0x21, 0x30, 0x13, 0x18, 0x06,
- 0x0f, 0xfc, 0x07, 0xf8, 0x07, 0xf8, 0x07, 0xf8,
- /* mask */
- 0x0f, 0xfc, 0x0f, 0xfc, 0x0f, 0xfc, 0x1f, 0xfe,
- 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xff,
- 0x1f, 0xfe, 0x0f, 0xfc, 0x0f, 0xfc, 0x0f, 0xfc,
-};
-
-static const unsigned char cur_text[] = {
- 16, /* size */
- 8, 8, /* hotspot */
- /* data */
- 0x00, 0x00, 0x0f, 0x70, 0x09, 0xc0, 0x00, 0x80,
- 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80,
- 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80,
- 0x00, 0x80, 0x01, 0xc0, 0x07, 0x70, 0x00, 0x00,
- /* mask */
- 0x0f, 0x78, 0x0f, 0xf8, 0x0f, 0xf8, 0x03, 0xe0,
- 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0,
- 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0,
- 0x03, 0xe0, 0x0f, 0xf8, 0x0f, 0xf8, 0x0f, 0x78,
-};
-
-static const unsigned char cur_crosshair[] = {
- 16, /* size */
- 7, 9, /* hotspot */
- /* data */
- 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80,
- 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0xff, 0x7f,
- 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80,
- 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00,
- /* mask */
- 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0,
- 0x01, 0xc0, 0x01, 0xc0, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0,
- 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0,
-};
-
-static const unsigned char cur_up_down[] = {
- 16, /* size */
- 7, 8, /* hotspot */
- /* data */
- 0x00, 0x80, 0x09, 0xc0, 0x03, 0xe0, 0x07, 0xf0,
- 0x01, 0x40, 0x01, 0x40, 0x01, 0x40, 0x01, 0x40,
- 0x01, 0x40, 0x01, 0x40, 0x01, 0x40, 0x07, 0xf0,
- 0x03, 0xe0, 0x01, 0xc0, 0x00, 0x80, 0x00, 0x00,
- /* mask */
- 0x01, 0xc0, 0x03, 0xe0, 0x07, 0xf0, 0x0f, 0xf8,
- 0x0f, 0xf8, 0x03, 0xe0, 0x03, 0xe0, 0x03, 0xe0,
- 0x03, 0xe0, 0x03, 0xe0, 0x0f, 0xf8, 0x0f, 0xf8,
- 0x07, 0xf0, 0x03, 0xe0, 0x01, 0xc0, 0x00, 0x00,
-};
-
-static const unsigned char cur_left_right[] = {
- 16, /* size */
- 7, 8, /* hotspot */
- /* data */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x08, 0x08, 0x18, 0x0c, 0x3f, 0xfe, 0x78, 0x0f,
- 0x3f, 0xfe, 0x18, 0x0c, 0x08, 0x08, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- /* mask */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8c, 0x18,
- 0x1c, 0x1c, 0x3f, 0xfe, 0x7f, 0xff, 0x7f, 0xff,
- 0x7f, 0xff, 0x3f, 0xfe, 0x1c, 0x1c, 0x0c, 0x18,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-
-static const unsigned char cur_top_side[] = {
- 16, /* size */
- 1, 8, /* hotspot */
- /* data */
- 0x00, 0x00, 0xff, 0xfe, 0x3f, 0xfe, 0x00, 0x00,
- 0x00, 0x80, 0x01, 0xc0, 0x02, 0xa0, 0x04, 0x90,
- 0x08, 0x88, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80,
- 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00,
- /* mask */
- 0x7f, 0xff, 0x7f, 0xff, 0x7f, 0xff, 0x7f, 0xff,
- 0x01, 0xc0, 0x03, 0xe0, 0x07, 0xf0, 0x0f, 0xf8,
- 0x1d, 0xdc, 0x19, 0xcc, 0x01, 0xc0, 0x01, 0xc0,
- 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0,
-};
-
-static const unsigned char cur_bottom_side[] = {
- 16, /* size */
- 14, 8, /* hotspot */
- /* data */
- 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80,
- 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x08, 0x88,
- 0x04, 0x90, 0x02, 0xa0, 0x01, 0xc0, 0x00, 0x80,
- 0x00, 0x00, 0x3f, 0xfe, 0x3f, 0xfe, 0x00, 0x00,
- /* mask */
- 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0,
- 0x01, 0xc0, 0x01, 0xc0, 0x19, 0xcc, 0x1d, 0xdc,
- 0x0f, 0xf8, 0x07, 0xf0, 0x03, 0xe0, 0x01, 0xc0,
- 0x7f, 0xff, 0x7f, 0xff, 0x7f, 0xff, 0x7f, 0xff,
-};
-
-static const unsigned char cur_left_side[] = {
- 16, /* size */
- 7, 15, /* hotspot */
- /* data */
- 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x01, 0x06,
- 0x00, 0x86, 0x00, 0x46, 0x00, 0x26, 0x7f, 0xf6,
- 0x00, 0x26, 0x00, 0x46, 0x00, 0x86, 0x01, 0x06,
- 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00,
- /* mask */
- 0x00, 0x0f, 0x00, 0x0f, 0x03, 0x0f, 0x03, 0x8f,
- 0x01, 0xcf, 0x00, 0xef, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0x00, 0xef, 0x01, 0xcf, 0x03, 0x8f,
- 0x03, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x00,
-};
-
-static const unsigned char cur_right_side[] = {
- 16, /* size */
- 7, 2, /* hotspot */
- /* data */
- 0x00, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x80,
- 0x61, 0x00, 0x62, 0x00, 0x64, 0x00, 0x6f, 0xfe,
- 0x64, 0x00, 0x62, 0x00, 0x61, 0x00, 0x60, 0x80,
- 0x60, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00,
- /* mask */
- 0xf0, 0x00, 0xf0, 0x00, 0xf0, 0xc0, 0xf1, 0xc0,
- 0xf3, 0x80, 0xf7, 0x00, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xf7, 0x00, 0xf3, 0x80, 0xf1, 0xc0,
- 0xf0, 0xc0, 0xf0, 0x00, 0xf0, 0x00, 0x00, 0x00,
-};
-
-static const unsigned char cur_top_left[] = {
- 16, /* size */
- 1, 15, /* hotspot */
- /* data */
- 0x00, 0x00, 0xff, 0xfe, 0x7f, 0xfe, 0x00, 0x06,
- 0x00, 0x06, 0x00, 0x06, 0x1f, 0xc6, 0x00, 0xc6,
- 0x01, 0x46, 0x02, 0x46, 0x04, 0x46, 0x08, 0x46,
- 0x10, 0x46, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00,
- /* mask */
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0x00, 0x0f, 0x3f, 0xef, 0x3f, 0xef, 0x3f, 0xef,
- 0x03, 0xef, 0x07, 0xef, 0x0e, 0xef, 0x1c, 0xef,
- 0x38, 0xef, 0x30, 0xef, 0x00, 0x0f, 0x00, 0x0f,
-};
-
-static const unsigned char cur_top_right[] = {
- 16, /* size */
- 1, 2, /* hotspot */
- /* data */
- 0x00, 0x00, 0xff, 0xfe, 0x7f, 0xfe, 0x60, 0x00,
- 0x60, 0x00, 0x60, 0x00, 0x63, 0xf8, 0x63, 0x00,
- 0x62, 0x80, 0x62, 0x40, 0x62, 0x20, 0x62, 0x10,
- 0x62, 0x08, 0x60, 0x00, 0x60, 0x00, 0x00, 0x00,
- /* mask */
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xf0, 0x00, 0xf7, 0xfc, 0xf7, 0xfc, 0xf7, 0xfc,
- 0xf7, 0xc0, 0xf7, 0xe0, 0xf7, 0x70, 0xf7, 0x38,
- 0xf7, 0x1c, 0xf7, 0x0c, 0xf0, 0x00, 0xf0, 0x00,
-};
-
-static const unsigned char cur_bottom_right[] = {
- 16, /* size */
- 14, 2, /* hotspot */
- /* data */
- 0x00, 0x00, 0x60, 0x00, 0x60, 0x00, 0x62, 0x08,
- 0x62, 0x10, 0x62, 0x20, 0x62, 0x40, 0x62, 0x80,
- 0x63, 0x00, 0x63, 0xf8, 0x60, 0x00, 0x60, 0x00,
- 0x60, 0x00, 0x7f, 0xfe, 0x7f, 0xfe, 0x00, 0x00,
- /* mask */
- 0xf0, 0x00, 0xf0, 0x00, 0xf7, 0x0c, 0xf7, 0x1c,
- 0xf7, 0x38, 0xf7, 0x70, 0xf7, 0xe0, 0xf7, 0xc0,
- 0xf7, 0xfc, 0xf7, 0xfc, 0xf7, 0xfc, 0xf0, 0x00,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-};
-
-static const unsigned char cur_bottom_left[] = {
- 16, /* size */
- 14, 15, /* hotspot */
- /* data */
- 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x10, 0x46,
- 0x08, 0x46, 0x04, 0x46, 0x02, 0x46, 0x01, 0x46,
- 0x00, 0xc6, 0x1f, 0xc6, 0x00, 0x06, 0x00, 0x06,
- 0x00, 0x06, 0x7f, 0xfe, 0x7f, 0xfe, 0x00, 0x00,
- /* mask */
- 0x00, 0x0f, 0x00, 0x0f, 0x30, 0xef, 0x38, 0xef,
- 0x1c, 0xef, 0x0e, 0xef, 0x07, 0xef, 0x03, 0xef,
- 0x3f, 0xef, 0x3f, 0xef, 0x3f, 0xef, 0x00, 0x0f,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-};
-
-
-#endif /* __GLUT_CURSORS_H__ */
diff --git a/src/glut/directfb/events.c b/src/glut/directfb/events.c
deleted file mode 100644
index 6ebdd166ac..0000000000
--- a/src/glut/directfb/events.c
+++ /dev/null
@@ -1,492 +0,0 @@
-/*
- * Copyright (C) 2006 Claudio Ciccani <klan@users.sf.net>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-
-#include "internal.h"
-
-
-/*****************************************************************************/
-
-static int g_ignore_key_repeat = 0;
-
-/*****************************************************************************/
-
-
-int GLUTAPIENTRY
-glutDeviceGet( GLenum type )
-{
- switch (type) {
- case GLUT_HAS_KEYBOARD:
- return (keyboard != NULL);
- case GLUT_HAS_MOUSE:
- return (mouse != NULL);
- case GLUT_NUM_MOUSE_BUTTONS:
- if (mouse) {
- DFBInputDeviceDescription dsc;
- mouse->GetDescription( mouse, &dsc );
- return dsc.max_button+1;
- }
- break;
- case GLUT_DEVICE_IGNORE_KEY_REPEAT:
- return g_ignore_key_repeat;
- case GLUT_DEVICE_KEY_REPEAT:
- return (g_ignore_key_repeat) ? GLUT_KEY_REPEAT_OFF
- : GLUT_KEY_REPEAT_ON;
- case GLUT_HAS_JOYSTICK:
- case GLUT_OWNS_JOYSTICK:
- return (g_game && joystick); /* only available in game mode */
- case GLUT_JOYSTICK_BUTTONS:
- if (joystick) {
- DFBInputDeviceDescription dsc;
- joystick->GetDescription( joystick, &dsc );
- return dsc.max_button+1;
- }
- break;
- case GLUT_JOYSTICK_AXES:
- if (joystick) {
- DFBInputDeviceDescription dsc;
- joystick->GetDescription( joystick, &dsc );
- return dsc.max_axis+1;
- }
- break;
- case GLUT_JOYSTICK_POLL_RATE:
- if (joystick)
- return 1; /* hack */
- break;
- default:
- break;
- }
-
- return 0;
-}
-
-
-int GLUTAPIENTRY
-glutGetModifiers( void )
-{
- if (g_current)
- return g_current->modifiers;
- return 0;
-}
-
-
-void GLUTAPIENTRY
-glutIgnoreKeyRepeat( int ignore )
-{
- g_ignore_key_repeat = ignore;
-}
-
-
-void GLUTAPIENTRY
-glutSetKeyRepeat( int mode )
-{
- g_ignore_key_repeat = (mode == GLUT_KEY_REPEAT_OFF);
-}
-
-
-void GLUTAPIENTRY
-glutForceJoystickFunc( void )
-{
- if (g_game && joystick && joystick_func) {
- joystick_func( g_game->buttons,
- g_game->jx, g_game->jy, g_game->jz );
- }
-}
-
-
-static int
-__glutSpecialKey( DFBInputDeviceKeySymbol key )
-{
- switch (key) {
- case DIKS_F1:
- return GLUT_KEY_F1;
- case DIKS_F2:
- return GLUT_KEY_F2;
- case DIKS_F3:
- return GLUT_KEY_F3;
- case DIKS_F4:
- return GLUT_KEY_F4;
- case DIKS_F5:
- return GLUT_KEY_F5;
- case DIKS_F6:
- return GLUT_KEY_F6;
- case DIKS_F7:
- return GLUT_KEY_F7;
- case DIKS_F8:
- return GLUT_KEY_F8;
- case DIKS_F9:
- return GLUT_KEY_F9;
- case DIKS_F10:
- return GLUT_KEY_F10;
- case DIKS_F11:
- return GLUT_KEY_F11;
- case DIKS_F12:
- return GLUT_KEY_F12;
- case DIKS_CURSOR_LEFT:
- return GLUT_KEY_LEFT;
- case DIKS_CURSOR_UP:
- return GLUT_KEY_UP;
- case DIKS_CURSOR_RIGHT:
- return GLUT_KEY_RIGHT;
- case DIKS_CURSOR_DOWN:
- return GLUT_KEY_DOWN;
- case DIKS_PAGE_UP:
- return GLUT_KEY_PAGE_UP;
- case DIKS_PAGE_DOWN:
- return GLUT_KEY_PAGE_DOWN;
- case DIKS_HOME:
- return GLUT_KEY_HOME;
- case DIKS_END:
- return GLUT_KEY_END;
- case DIKS_INSERT:
- return GLUT_KEY_INSERT;
- default:
- break;
- }
-
- return 0;
-}
-
-
-static int
-__glutButton( DFBInputDeviceButtonIdentifier button )
-{
- switch (button) {
- case DIBI_LEFT:
- return GLUT_LEFT_BUTTON;
- case DIBI_MIDDLE:
- return GLUT_MIDDLE_BUTTON;
- case DIBI_RIGHT:
- return GLUT_RIGHT_BUTTON;
- default:
- break;
- }
-
- return 0;
-}
-
-
-static int
-__glutModifiers( DFBInputDeviceModifierMask mask )
-{
- return ((mask & DIMM_SHIFT) ? GLUT_ACTIVE_SHIFT : 0) |
- ((mask & DIMM_CONTROL) ? GLUT_ACTIVE_CTRL : 0) |
- ((mask & DIMM_ALT) ? GLUT_ACTIVE_ALT : 0);
-}
-
-
-static void
-__glutWindowEvent( DFBWindowEvent *e, DFBWindowEvent *p )
-{
- __GlutWindow *window;
-
- window = __glutFindWindow( e->window_id );
- if (!window) /* window was destroyed */
- return;
-
- switch (e->type) {
- case DWET_KEYDOWN:
- window->modifiers = __glutModifiers( e->modifiers );
- if (g_ignore_key_repeat && p) {
- if (p->type == DWET_KEYDOWN &&
- p->window_id == e->window_id &&
- p->key_symbol == e->key_symbol)
- break;
- }
- if (DFB_KEY_IS_ASCII( e->key_symbol )) {
- if (keyboard_func) {
- __glutSetWindow( window );
- keyboard_func( e->key_symbol, e->x, e->y );
- }
- }
- else {
- int key = __glutSpecialKey( e->key_symbol );
- if (key && special_func) {
- __glutSetWindow( window );
- special_func( key, e->x, e->y );
- }
- }
- break;
- case DWET_KEYUP:
- window->modifiers = __glutModifiers( e->modifiers );
- if (DFB_KEY_IS_ASCII( e->key_symbol )) {
- if (keyboard_up_func) {
- __glutSetWindow( window );
- keyboard_up_func( e->key_symbol, e->x, e->y );
- }
- }
- else {
- int key = __glutSpecialKey( e->key_symbol );
- if (key && special_up_func) {
- __glutSetWindow( window );
- special_up_func( key, e->x, e->y );
- }
- }
- break;
- case DWET_BUTTONDOWN:
- if (mouse_func) {
- __glutSetWindow( window );
- mouse_func( __glutButton( e->button ), GLUT_DOWN, e->x, e->y );
- }
- break;
- case DWET_BUTTONUP:
- if (mouse_func) {
- __glutSetWindow( window );
- mouse_func( __glutButton( e->button ), GLUT_UP, e->x, e->y );
- }
- break;
- case DWET_MOTION:
- if (e->buttons) {
- if (motion_func) {
- __glutSetWindow( window );
- motion_func( e->cx, e->cy );
- }
- }
- else {
- if (passive_motion_func) {
- __glutSetWindow( window );
- passive_motion_func( e->cx, e->cy );
- }
- }
- break;
- case DWET_ENTER:
- if (entry_func) {
- __glutSetWindow( window );
- entry_func( GLUT_ENTERED );
- }
- break;
- case DWET_LEAVE:
- if (entry_func) {
- __glutSetWindow( window );
- entry_func( GLUT_LEFT );
- }
- break;
- case DWET_SIZE:
- window->reshape = GL_TRUE;
- window->redisplay = GL_TRUE;
- break;
- default:
- break;
- }
-}
-
-
-static void
-__glutInputEvent( DFBInputEvent *e, DFBInputEvent *p )
-{
- __glutAssert( g_game != NULL );
-
- switch (e->type) {
- case DIET_KEYPRESS:
- g_game->modifiers = __glutModifiers( e->modifiers );
- if (g_ignore_key_repeat && p) {
- if (p->type == DIET_KEYPRESS &&
- p->key_symbol == e->key_symbol)
- break;
- }
- if (DFB_KEY_IS_ASCII( e->key_symbol )) {
- if (keyboard_func) {
- __glutSetWindow( g_game );
- keyboard_func( e->key_symbol, g_game->cx, g_game->cy );
- }
- }
- else {
- int key = __glutSpecialKey( e->key_symbol );
- if (key && special_func) {
- __glutSetWindow( g_game );
- special_func( key, g_game->cx, g_game->cy );
- }
- }
- break;
- case DIET_KEYRELEASE:
- g_game->modifiers = __glutModifiers( e->modifiers );
- if (DFB_KEY_IS_ASCII( e->key_symbol )) {
- if (keyboard_up_func) {
- __glutSetWindow( g_game );
- keyboard_up_func( e->key_symbol, g_game->cx, g_game->cy );
- }
- }
- else {
- int key = __glutSpecialKey( e->key_symbol );
- if (key && special_up_func) {
- __glutSetWindow( g_game );
- special_up_func( key, g_game->cx, g_game->cy );
- }
- }
- break;
- case DIET_BUTTONPRESS:
- if (e->device_id == DIDID_JOYSTICK) {
- g_game->buttons = e->buttons;
- if (joystick_func) {
- __glutSetWindow( g_game );
- joystick_func( g_game->buttons,
- g_game->jx, g_game->jy, g_game->jz );
- }
- }
- else {
- if (mouse_func) {
- __glutSetWindow( g_game );
- mouse_func( __glutButton( e->button ),
- GLUT_DOWN, g_game->cx, g_game->cy );
- }
- }
- break;
- case DIET_BUTTONRELEASE:
- if (e->device_id == DIDID_JOYSTICK) {
- g_game->buttons = e->buttons;
- if (joystick_func) {
- __glutSetWindow( g_game );
- joystick_func( g_game->buttons,
- g_game->jx, g_game->jy, g_game->jz );
- }
- }
- else {
- if (mouse_func) {
- __glutSetWindow( g_game );
- mouse_func( __glutButton( e->button ),
- GLUT_UP, g_game->cx, g_game->cy );
- }
- }
- break;
- case DIET_AXISMOTION:
- if (e->device_id == DIDID_JOYSTICK) {
- switch (e->axis) {
- case DIAI_X:
- if (e->flags & DIEF_AXISABS)
- g_game->jx = e->axisabs;
- else if (e->flags & DIEF_AXISREL)
- g_game->jx += e->axisrel;
- break;
- case DIAI_Y:
- if (e->flags & DIEF_AXISABS)
- g_game->jy = e->axisabs;
- else if (e->flags & DIEF_AXISREL)
- g_game->jy += e->axisrel;
- break;
- case DIAI_Z:
- if (e->flags & DIEF_AXISABS)
- g_game->jz = e->axisabs;
- else if (e->flags & DIEF_AXISREL)
- g_game->jz += e->axisrel;
- break;
- default:
- break;
- }
- if (joystick_func) {
- __glutSetWindow( g_game );
- joystick_func( g_game->buttons,
- g_game->jx, g_game->jy, g_game->jz );
- }
- }
- else {
- switch (e->axis) {
- case DIAI_X:
- if (e->flags & DIEF_AXISABS)
- g_game->cx = e->axisabs;
- else if (e->flags & DIEF_AXISREL)
- g_game->cx += e->axisrel;
- break;
- case DIAI_Y:
- if (e->flags & DIEF_AXISABS)
- g_game->cy = e->axisabs;
- else if (e->flags & DIEF_AXISREL)
- g_game->cy += e->axisrel;
- break;
- default:
- return;
- }
- if (e->buttons && motion_func) {
- __glutSetWindow( g_game );
- motion_func( g_game->cx, g_game->cy );
- }
- else if (!e->buttons && passive_motion_func) {
- __glutSetWindow( g_game );
- passive_motion_func( g_game->cx, g_game->cy );
- }
- }
- break;
- default:
- break;
- }
-}
-
-
-void GLUTAPIENTRY
-glutMainLoop( void )
-{
- __glutAssert( events != NULL );
-
- __glutHandleWindows();
-
- while (GL_TRUE) {
- DFBEvent evt, prev;
-
- g_idle = GL_TRUE;
-
- __glutHandleTimers();
-
- prev.clazz = DFEC_NONE;
-
- while (events->GetEvent( events, &evt ) == DFB_OK) {
- g_idle = GL_FALSE;
-
- switch (evt.clazz) {
- case DFEC_WINDOW:
- if (prev.clazz == DFEC_WINDOW)
- __glutWindowEvent( &evt.window, &prev.window );
- else
- __glutWindowEvent( &evt.window, NULL );
- break;
- case DFEC_INPUT:
- if (prev.clazz == DFEC_INPUT)
- __glutInputEvent( &evt.input, &prev.input );
- else
- __glutInputEvent( &evt.input, NULL );
- break;
- default:
- __glutWarning( "unexpected event class %d!\n", evt.clazz );
- break;
- }
-
- prev = evt;
-
- __glutHandleTimers();
- }
-
- __glutHandleWindows();
-
- if (g_idle) {
- if (idle_func) {
- idle_func();
- }
- else {
- int msec;
- __glutSetWindow( NULL );
- if (__glutGetTimeout( &msec ))
- events->WaitForEventWithTimeout( events, msec/1000, msec%1000 );
- else
- events->WaitForEvent( events );
- }
- }
- }
-}
-
diff --git a/src/glut/directfb/ext.c b/src/glut/directfb/ext.c
deleted file mode 100644
index e37ecf5afa..0000000000
--- a/src/glut/directfb/ext.c
+++ /dev/null
@@ -1,202 +0,0 @@
-/*
- * Copyright (C) 2006 Claudio Ciccani <klan@users.sf.net>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "internal.h"
-
-
-static const struct {
- const char *name;
- const GLUTproc address;
-} glut_functions[] = {
- { "glutInit", (const GLUTproc) glutInit },
- { "glutInitDisplayMode", (const GLUTproc) glutInitDisplayMode },
- { "glutInitDisplayString", (const GLUTproc) glutInitDisplayString },
- { "glutInitWindowPosition", (const GLUTproc) glutInitWindowPosition },
- { "glutInitWindowSize", (const GLUTproc) glutInitWindowSize },
- { "glutMainLoop", (const GLUTproc) glutMainLoop },
- { "glutCreateWindow", (const GLUTproc) glutCreateWindow },
- { "glutCreateSubWindow", (const GLUTproc) glutCreateSubWindow },
- { "glutDestroyWindow", (const GLUTproc) glutDestroyWindow },
- { "glutPostRedisplay", (const GLUTproc) glutPostRedisplay },
- { "glutPostWindowRedisplay", (const GLUTproc) glutPostWindowRedisplay },
- { "glutSwapBuffers", (const GLUTproc) glutSwapBuffers },
- { "glutGetWindow", (const GLUTproc) glutGetWindow },
- { "glutSetWindow", (const GLUTproc) glutSetWindow },
- { "glutSetWindowTitle", (const GLUTproc) glutSetWindowTitle },
- { "glutSetIconTitle", (const GLUTproc) glutSetIconTitle },
- { "glutPositionWindow", (const GLUTproc) glutPositionWindow },
- { "glutReshapeWindow", (const GLUTproc) glutReshapeWindow },
- { "glutPopWindow", (const GLUTproc) glutPopWindow },
- { "glutPushWindow", (const GLUTproc) glutPushWindow },
- { "glutIconifyWindow", (const GLUTproc) glutIconifyWindow },
- { "glutShowWindow", (const GLUTproc) glutShowWindow },
- { "glutHideWindow", (const GLUTproc) glutHideWindow },
- { "glutFullScreen", (const GLUTproc) glutFullScreen },
- { "glutSetCursor", (const GLUTproc) glutSetCursor },
- { "glutWarpPointer", (const GLUTproc) glutWarpPointer },
- { "glutEstablishOverlay", (const GLUTproc) glutEstablishOverlay },
- { "glutRemoveOverlay", (const GLUTproc) glutRemoveOverlay },
- { "glutUseLayer", (const GLUTproc) glutUseLayer },
- { "glutPostOverlayRedisplay", (const GLUTproc) glutPostOverlayRedisplay },
- { "glutPostWindowOverlayRedisplay", (const GLUTproc) glutPostWindowOverlayRedisplay },
- { "glutShowOverlay", (const GLUTproc) glutShowOverlay },
- { "glutHideOverlay", (const GLUTproc) glutHideOverlay },
- { "glutCreateMenu", (const GLUTproc) glutCreateMenu },
- { "glutDestroyMenu", (const GLUTproc) glutDestroyMenu },
- { "glutGetMenu", (const GLUTproc) glutGetMenu },
- { "glutSetMenu", (const GLUTproc) glutSetMenu },
- { "glutAddMenuEntry", (const GLUTproc) glutAddMenuEntry },
- { "glutAddSubMenu", (const GLUTproc) glutAddSubMenu },
- { "glutChangeToMenuEntry", (const GLUTproc) glutChangeToMenuEntry },
- { "glutChangeToSubMenu", (const GLUTproc) glutChangeToSubMenu },
- { "glutRemoveMenuItem", (const GLUTproc) glutRemoveMenuItem },
- { "glutAttachMenu", (const GLUTproc) glutAttachMenu },
- { "glutDetachMenu", (const GLUTproc) glutDetachMenu },
- { "glutDisplayFunc", (const GLUTproc) glutDisplayFunc },
- { "glutReshapeFunc", (const GLUTproc) glutReshapeFunc },
- { "glutKeyboardFunc", (const GLUTproc) glutKeyboardFunc },
- { "glutMouseFunc", (const GLUTproc) glutMouseFunc },
- { "glutMotionFunc", (const GLUTproc) glutMotionFunc },
- { "glutPassiveMotionFunc", (const GLUTproc) glutPassiveMotionFunc },
- { "glutEntryFunc", (const GLUTproc) glutEntryFunc },
- { "glutVisibilityFunc", (const GLUTproc) glutVisibilityFunc },
- { "glutIdleFunc", (const GLUTproc) glutIdleFunc },
- { "glutTimerFunc", (const GLUTproc) glutTimerFunc },
- { "glutMenuStateFunc", (const GLUTproc) glutMenuStateFunc },
- { "glutSpecialFunc", (const GLUTproc) glutSpecialFunc },
- { "glutSpaceballMotionFunc", (const GLUTproc) glutSpaceballMotionFunc },
- { "glutSpaceballRotateFunc", (const GLUTproc) glutSpaceballRotateFunc },
- { "glutSpaceballButtonFunc", (const GLUTproc) glutSpaceballButtonFunc },
- { "glutButtonBoxFunc", (const GLUTproc) glutButtonBoxFunc },
- { "glutDialsFunc", (const GLUTproc) glutDialsFunc },
- { "glutTabletMotionFunc", (const GLUTproc) glutTabletMotionFunc },
- { "glutTabletButtonFunc", (const GLUTproc) glutTabletButtonFunc },
- { "glutMenuStatusFunc", (const GLUTproc) glutMenuStatusFunc },
- { "glutOverlayDisplayFunc", (const GLUTproc) glutOverlayDisplayFunc },
- { "glutWindowStatusFunc", (const GLUTproc) glutWindowStatusFunc },
- { "glutKeyboardUpFunc", (const GLUTproc) glutKeyboardUpFunc },
- { "glutSpecialUpFunc", (const GLUTproc) glutSpecialUpFunc },
- { "glutJoystickFunc", (const GLUTproc) glutJoystickFunc },
- { "glutSetColor", (const GLUTproc) glutSetColor },
- { "glutGetColor", (const GLUTproc) glutGetColor },
- { "glutCopyColormap", (const GLUTproc) glutCopyColormap },
- { "glutGet", (const GLUTproc) glutGet },
- { "glutDeviceGet", (const GLUTproc) glutDeviceGet },
- { "glutExtensionSupported", (const GLUTproc) glutExtensionSupported },
- { "glutGetModifiers", (const GLUTproc) glutGetModifiers },
- { "glutLayerGet", (const GLUTproc) glutLayerGet },
- { "glutGetProcAddress", (const GLUTproc) glutGetProcAddress },
- { "glutBitmapCharacter", (const GLUTproc) glutBitmapCharacter },
- { "glutBitmapWidth", (const GLUTproc) glutBitmapWidth },
- { "glutStrokeCharacter", (const GLUTproc) glutStrokeCharacter },
- { "glutStrokeWidth", (const GLUTproc) glutStrokeWidth },
- { "glutBitmapLength", (const GLUTproc) glutBitmapLength },
- { "glutStrokeLength", (const GLUTproc) glutStrokeLength },
- { "glutWireSphere", (const GLUTproc) glutWireSphere },
- { "glutSolidSphere", (const GLUTproc) glutSolidSphere },
- { "glutWireCone", (const GLUTproc) glutWireCone },
- { "glutSolidCone", (const GLUTproc) glutSolidCone },
- { "glutWireCube", (const GLUTproc) glutWireCube },
- { "glutSolidCube", (const GLUTproc) glutSolidCube },
- { "glutWireTorus", (const GLUTproc) glutWireTorus },
- { "glutSolidTorus", (const GLUTproc) glutSolidTorus },
- { "glutWireDodecahedron", (const GLUTproc) glutWireDodecahedron },
- { "glutSolidDodecahedron", (const GLUTproc) glutSolidDodecahedron },
- { "glutWireTeapot", (const GLUTproc) glutWireTeapot },
- { "glutSolidTeapot", (const GLUTproc) glutSolidTeapot },
- { "glutWireOctahedron", (const GLUTproc) glutWireOctahedron },
- { "glutSolidOctahedron", (const GLUTproc) glutSolidOctahedron },
- { "glutWireTetrahedron", (const GLUTproc) glutWireTetrahedron },
- { "glutSolidTetrahedron", (const GLUTproc) glutSolidTetrahedron },
- { "glutWireIcosahedron", (const GLUTproc) glutWireIcosahedron },
- { "glutSolidIcosahedron", (const GLUTproc) glutSolidIcosahedron },
-// { "glutVideoResizeGet", (const GLUTproc) glutVideoResizeGet },
-// { "glutSetupVideoResizing", (const GLUTproc) glutSetupVideoResizing },
-// { "glutStopVideoResizing", (const GLUTproc) glutStopVideoResizing },
-// { "glutVideoResize", (const GLUTproc) glutVideoResize },
-// { "glutVideoPan", (const GLUTproc) glutVideoPan },
- { "glutReportErrors", (const GLUTproc) glutReportErrors },
- { "glutIgnoreKeyRepeat", (const GLUTproc) glutIgnoreKeyRepeat },
- { "glutSetKeyRepeat", (const GLUTproc) glutSetKeyRepeat },
- { "glutForceJoystickFunc", (const GLUTproc) glutForceJoystickFunc },
- { "glutGameModeString", (const GLUTproc) glutGameModeString },
- { "glutEnterGameMode", (const GLUTproc) glutEnterGameMode },
- { "glutLeaveGameMode", (const GLUTproc) glutLeaveGameMode },
- { "glutGameModeGet", (const GLUTproc) glutGameModeGet },
-};
-
-
-GLUTproc GLUTAPIENTRY
-glutGetProcAddress( const char *name )
-{
- int i;
-
- for (i = 0; i < sizeof(glut_functions)/sizeof(glut_functions[0]); i++) {
- if (!strcmp( name, glut_functions[i].name ))
- return glut_functions[i].address;
- }
-
-#if DIRECTFBGL_INTERFACE_VERSION >= 1
- if (g_current) {
- void *address = NULL;
- g_current->gl->GetProcAddress( g_current->gl, name, &address );
- return address;
- }
-#endif
- return NULL;
-}
-
-
-int GLUTAPIENTRY
-glutExtensionSupported( const char *name )
-{
- GLubyte *extensions;
- int length;
-
- if (!name || !*name)
- return 0;
-
- length = strlen( name );
- extensions = (GLubyte*) glGetString( GL_EXTENSIONS );
-
- while (extensions && *extensions) {
- GLubyte *next;
-
- next = strchr( extensions, ' ' );
- if (next) {
- if (length == (int)(next - extensions)) {
- if (!strncmp( extensions, name, length ))
- return 1;
- }
- extensions = next+1;
- }
- else {
- if (!strcmp( extensions, name ))
- return 1;
- break;
- }
- }
-
- return 0;
-}
-
diff --git a/src/glut/directfb/font.c b/src/glut/directfb/font.c
deleted file mode 100644
index 0139cddbec..0000000000
--- a/src/glut/directfb/font.c
+++ /dev/null
@@ -1,213 +0,0 @@
-/* Copyright (c) Mark J. Kilgard, 1994, 1998.
-
- This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include "internal.h"
-#include "font.h"
-
-
-#if defined(_WIN32) || defined (GLUT_IMPORT_LIB)
-
-static inline void*
-__glutFont( void *font )
-{
- switch((long)font) {
- case (long)GLUT_STROKE_ROMAN:
- return &glutStrokeRoman;
- case (long)GLUT_STROKE_MONO_ROMAN:
- return &glutStrokeMonoRoman;
- case (long)GLUT_BITMAP_9_BY_15:
- return &glutBitmap9By15;
- case (long)GLUT_BITMAP_8_BY_13:
- return &glutBitmap8By13;
- case (long)GLUT_BITMAP_TIMES_ROMAN_10:
- return &glutBitmapTimesRoman10;
- case (long)GLUT_BITMAP_TIMES_ROMAN_24:
- return &glutBitmapTimesRoman24;
- case (long)GLUT_BITMAP_HELVETICA_10:
- return &glutBitmapHelvetica10;
- case (long)GLUT_BITMAP_HELVETICA_12:
- return &glutBitmapHelvetica12;
- case (long)GLUT_BITMAP_HELVETICA_18:
- return &glutBitmapHelvetica18;
- }
-
- return NULL;
-}
-
-#else
-
-static inline void*
-__glutFont( void *font )
-{
- return font;
-}
-
-#endif
-
-
-void GLUTAPIENTRY
-glutBitmapCharacter( GLUTbitmapFont font, int c )
-{
- const BitmapCharRec *ch;
- BitmapFontPtr fontinfo;
- GLint swapbytes, lsbfirst, rowlength;
- GLint skiprows, skippixels, alignment;
-
- fontinfo = (BitmapFontPtr) __glutFont( font );
-
- if (!fontinfo || c < fontinfo->first ||
- c >= fontinfo->first + fontinfo->num_chars)
- return;
-
- ch = fontinfo->ch[c - fontinfo->first];
- if (ch) {
- /* Save current modes. */
- glGetIntegerv(GL_UNPACK_SWAP_BYTES, &swapbytes);
- glGetIntegerv(GL_UNPACK_LSB_FIRST, &lsbfirst);
- glGetIntegerv(GL_UNPACK_ROW_LENGTH, &rowlength);
- glGetIntegerv(GL_UNPACK_SKIP_ROWS, &skiprows);
- glGetIntegerv(GL_UNPACK_SKIP_PIXELS, &skippixels);
- glGetIntegerv(GL_UNPACK_ALIGNMENT, &alignment);
- /* Little endian machines (DEC Alpha for example) could
- benefit from setting GL_UNPACK_LSB_FIRST to GL_TRUE
- instead of GL_FALSE, but this would require changing the
- generated bitmaps too. */
- glPixelStorei(GL_UNPACK_SWAP_BYTES, GL_FALSE);
- glPixelStorei(GL_UNPACK_LSB_FIRST, GL_FALSE);
- glPixelStorei(GL_UNPACK_ROW_LENGTH, 0);
- glPixelStorei(GL_UNPACK_SKIP_ROWS, 0);
- glPixelStorei(GL_UNPACK_SKIP_PIXELS, 0);
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- glBitmap(ch->width, ch->height, ch->xorig, ch->yorig,
- ch->advance, 0, ch->bitmap);
- /* Restore saved modes. */
- glPixelStorei(GL_UNPACK_SWAP_BYTES, swapbytes);
- glPixelStorei(GL_UNPACK_LSB_FIRST, lsbfirst);
- glPixelStorei(GL_UNPACK_ROW_LENGTH, rowlength);
- glPixelStorei(GL_UNPACK_SKIP_ROWS, skiprows);
- glPixelStorei(GL_UNPACK_SKIP_PIXELS, skippixels);
- glPixelStorei(GL_UNPACK_ALIGNMENT, alignment);
- }
-}
-
-
-int GLUTAPIENTRY
-glutBitmapWidth( GLUTbitmapFont font, int c )
-{
- BitmapFontPtr fontinfo;
- const BitmapCharRec *ch;
-
- fontinfo = (BitmapFontPtr) __glutFont( font );
-
- if (!fontinfo || c < fontinfo->first ||
- c >= fontinfo->first + fontinfo->num_chars)
- return 0;
-
- ch = fontinfo->ch[c - fontinfo->first];
- if (ch)
- return ch->advance;
-
- return 0;
-}
-
-
-int GLUTAPIENTRY
-glutBitmapLength( GLUTbitmapFont font, const unsigned char *string )
-{
- int c, length;
- BitmapFontPtr fontinfo;
- const BitmapCharRec *ch;
-
- fontinfo = (BitmapFontPtr) __glutFont( font );
- if (!fontinfo)
- return 0;
-
- for (length = 0; *string != '\0'; string++) {
- c = *string;
- if (c >= fontinfo->first &&
- c < fontinfo->first + fontinfo->num_chars) {
- ch = fontinfo->ch[c - fontinfo->first];
- if (ch)
- length += ch->advance;
- }
- }
-
- return length;
-}
-
-
-void GLUTAPIENTRY
-glutStrokeCharacter( GLUTstrokeFont font, int c )
-{
- const StrokeCharRec *ch;
- const StrokeRec *stroke;
- const CoordRec *coord;
- StrokeFontPtr fontinfo;
- int i, j;
-
- fontinfo = (StrokeFontPtr) __glutFont( font );
-
- if (!fontinfo || c < 0 || c >= fontinfo->num_chars)
- return;
-
- ch = &(fontinfo->ch[c]);
- if (ch) {
- for (i = ch->num_strokes, stroke = ch->stroke;
- i > 0; i--, stroke++) {
- glBegin(GL_LINE_STRIP);
- for (j = stroke->num_coords, coord = stroke->coord;
- j > 0; j--, coord++) {
- glVertex2f(coord->x, coord->y);
- }
- glEnd();
- }
- glTranslatef(ch->right, 0.0, 0.0);
- }
-}
-
-
-int GLUTAPIENTRY
-glutStrokeWidth( GLUTstrokeFont font, int c )
-{
- StrokeFontPtr fontinfo;
- const StrokeCharRec *ch;
-
- fontinfo = (StrokeFontPtr) __glutFont( font );
-
- if (!fontinfo || c < 0 || c >= fontinfo->num_chars)
- return 0;
-
- ch = &(fontinfo->ch[c]);
- if (ch)
- return ch->right;
-
- return 0;
-}
-
-
-int GLUTAPIENTRY
-glutStrokeLength( GLUTstrokeFont font, const unsigned char *string )
-{
- int c, length;
- StrokeFontPtr fontinfo;
- const StrokeCharRec *ch;
-
- fontinfo = (StrokeFontPtr) __glutFont( font );
- if (!fontinfo)
- return 0;
-
- for (length = 0; *string != '\0'; string++) {
- c = *string;
- if (c >= 0 && c < fontinfo->num_chars) {
- ch = &(fontinfo->ch[c]);
- if (ch)
- length += ch->right;
- }
- }
-
- return length;
-}
-
diff --git a/src/glut/directfb/font.h b/src/glut/directfb/font.h
deleted file mode 100644
index b1e76838a0..0000000000
--- a/src/glut/directfb/font.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/* Copyright (c) Mark J. Kilgard, 1994, 1998. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#ifndef __GLUT_FONT_H__
-#define __GLUT_FONT_H__
-
-
-typedef struct {
- const GLsizei width;
- const GLsizei height;
- const GLfloat xorig;
- const GLfloat yorig;
- const GLfloat advance;
- const GLubyte *bitmap;
-} BitmapCharRec, *BitmapCharPtr;
-
-typedef struct {
- const char *name;
- const int num_chars;
- const int first;
- const BitmapCharRec * const *ch;
-} BitmapFontRec, *BitmapFontPtr;
-
-typedef void *GLUTbitmapFont;
-
-
-typedef struct {
- float x;
- float y;
-} CoordRec, *CoordPtr;
-
-typedef struct {
- int num_coords;
- const CoordRec *coord;
-} StrokeRec, *StrokePtr;
-
-typedef struct {
- int num_strokes;
- const StrokeRec *stroke;
- float center;
- float right;
-} StrokeCharRec, *StrokeCharPtr;
-
-typedef struct {
- const char *name;
- int num_chars;
- const StrokeCharRec *ch;
- float top;
- float bottom;
-} StrokeFontRec, *StrokeFontPtr;
-
-typedef void *GLUTstrokeFont;
-
-
-#endif /* __GLUT_FONT_H__ */
diff --git a/src/glut/directfb/game.c b/src/glut/directfb/game.c
deleted file mode 100644
index 4c027a68f6..0000000000
--- a/src/glut/directfb/game.c
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * Copyright (C) 2006 Claudio Ciccani <klan@users.sf.net>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "internal.h"
-
-
-/*****************************************************************************/
-
-static int g_display_changed = 0;
-
-/*****************************************************************************/
-
-
-void GLUTAPIENTRY
-glutGameModeString( const char *string )
-{
- int x, y, bpp;
- char *tmp;
-
- if (!string)
- return;
-
- tmp = strchr( string, 'x' );
- if (tmp) {
- x = strtol( string, NULL, 10 );
- y = strtol( tmp+1, NULL, 10 );
-
- if (x > 0 && y > 0) {
- g_width = x;
- g_height = y;
- }
- }
-
- tmp = strchr( string, ':' );
- if (tmp) {
- bpp = strtol( tmp+1, NULL, 10 );
-
- if (bpp > 0)
- g_bpp = bpp;
- }
-}
-
-
-int GLUTAPIENTRY
-glutEnterGameMode( void )
-{
- DFBDisplayLayerConfig prev, cur;
-
- glutInit( NULL, NULL );
-
- primary->GetConfiguration( primary, &prev );
- primary->SetCooperativeLevel( primary, DLSCL_EXCLUSIVE );
-
- if (g_game)
- __glutDestroyWindow( g_game );
-
- g_game = __glutCreateWindow( GL_TRUE );
- if (!g_game)
- return 0;
-
- __glutSetWindow( g_game );
- g_game->cursor = GLUT_CURSOR_NONE;
-
- primary->GetConfiguration( primary, &cur );
- g_display_changed = (cur.width != prev.width ||
- cur.height != prev.height ||
- cur.pixelformat != prev.pixelformat);
-
- return g_game->id;
-}
-
-
-void GLUTAPIENTRY
-glutLeaveGameMode( void )
-{
- if (g_game)
- __glutDestroyWindow( g_game );
-
- primary->SetCooperativeLevel( primary, DLSCL_ADMINISTRATIVE );
-}
-
-
-int GLUTAPIENTRY
-glutGameModeGet( GLenum type )
-{
- switch (type) {
- case GLUT_GAME_MODE_ACTIVE:
- return (g_game != NULL);
- case GLUT_GAME_MODE_POSSIBLE:
- if (primary) {
- DFBDisplayLayerConfig c;
- c.flags = DLCONF_WIDTH | DLCONF_HEIGHT;
- c.width = g_width;
- c.height = g_height;
- /* XXX: bpp */
- if (primary->TestConfiguration( primary, &c, 0 ) == DFB_OK)
- return 1;
- }
- break;
- case GLUT_GAME_MODE_WIDTH:
- if (g_game) {
- int w;
- g_game->surface->GetSize( g_game->surface, &w, 0 );
- return w;
- }
- break;
- case GLUT_GAME_MODE_HEIGHT:
- if (g_game) {
- int h;
- g_game->surface->GetSize( g_game->surface, 0, &h );
- return h;
- }
- break;
- case GLUT_GAME_MODE_PIXEL_DEPTH:
- if (g_game) {
- DFBSurfacePixelFormat f;
- g_game->surface->GetPixelFormat( g_game->surface, &f );
- return DFB_COLOR_BITS_PER_PIXEL( f );
- }
- break;
- case GLUT_GAME_MODE_REFRESH_RATE:
- return 60; /* assume 60hz */
- case GLUT_GAME_MODE_DISPLAY_CHANGED:
- return g_display_changed;
- default:
- break;
- }
-
- return 0;
-}
-
-
-
diff --git a/src/glut/directfb/globals.c b/src/glut/directfb/globals.c
deleted file mode 100644
index 2a5291137e..0000000000
--- a/src/glut/directfb/globals.c
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (C) 2006 Claudio Ciccani <klan@users.sf.net>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "internal.h"
-
-IDirectFB *dfb = NULL;
-IDirectFBDisplayLayer *primary = NULL;
-IDirectFBEventBuffer *events = NULL;
-IDirectFBInputDevice *keyboard = NULL;
-IDirectFBInputDevice *mouse = NULL;
-IDirectFBInputDevice *joystick = NULL;
-
-GLenum g_display_mode = 0;
-GLuint g_width = DEFAULT_WIDTH;
-GLuint g_height = DEFAULT_HEIGHT;
-GLint g_xpos = 0;
-GLint g_ypos = 0;
-GLint g_bpp = 0;
-GLboolean g_idle = GL_TRUE;
-__GlutWindow *g_current = NULL;
-__GlutWindow *g_game = NULL;
-
-
-void (GLUTCALLBACK *display_func) (void) = 0;
-void (GLUTCALLBACK *reshape_func) (int width, int height) = 0;
-void (GLUTCALLBACK *keyboard_func) (unsigned char key, int x, int y) = 0;
-void (GLUTCALLBACK *mouse_func) (int button, int state, int x, int y) = 0;
-void (GLUTCALLBACK *motion_func) (int x, int y) = 0;
-void (GLUTCALLBACK *passive_motion_func) (int x, int y) = 0;
-void (GLUTCALLBACK *entry_func) (int state) = 0;
-void (GLUTCALLBACK *visibility_func) (int state) = 0;
-void (GLUTCALLBACK *idle_func) (void) = 0;
-void (GLUTCALLBACK *menu_state_func) (int state) = 0;
-void (GLUTCALLBACK *special_func) (int key, int x, int y) = 0;
-void (GLUTCALLBACK *spaceball_motion_func) (int x, int y, int z) = 0;
-void (GLUTCALLBACK *spaceball_rotate_func) (int x, int y, int z) = 0;
-void (GLUTCALLBACK *spaceball_button_func) (int button, int state) = 0;
-void (GLUTCALLBACK *button_box_func) (int button, int state) = 0;
-void (GLUTCALLBACK *dials_func) (int dial, int value) = 0;
-void (GLUTCALLBACK *tablet_motion_func) (int x, int y) = 0;
-void (GLUTCALLBACK *tabled_button_func) (int button, int state, int x, int y) = 0;
-void (GLUTCALLBACK *menu_status_func) (int status, int x, int y) = 0;
-void (GLUTCALLBACK *overlay_display_func) (void) = 0;
-void (GLUTCALLBACK *window_status_func) (int state) = 0;
-void (GLUTCALLBACK *keyboard_up_func) (unsigned char key, int x, int y) = 0;
-void (GLUTCALLBACK *special_up_func) (int key, int x, int y) = 0;
-void (GLUTCALLBACK *joystick_func) (unsigned int buttons, int x, int y, int z) = 0;
diff --git a/src/glut/directfb/init.c b/src/glut/directfb/init.c
deleted file mode 100644
index ba1a49adf2..0000000000
--- a/src/glut/directfb/init.c
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * Copyright (C) 2006 Claudio Ciccani <klan@users.sf.net>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "internal.h"
-
-
-static void
-__glutExit( void )
-{
- __glutFreeTimers();
- __glutDestroyWindows();
-
- if (events) {
- events->Release( events );
- events = NULL;
- }
-
- if (joystick) {
- joystick->Release( joystick );
- joystick = NULL;
- }
-
- if (mouse) {
- mouse->Release( mouse );
- mouse = NULL;
- }
-
- if (keyboard) {
- keyboard->Release( keyboard );
- keyboard = NULL;
- }
-
- if (primary) {
- primary->Release( primary );
- primary = NULL;
- }
-
- if (dfb) {
- dfb->Release( dfb );
- dfb = NULL;
- }
-}
-
-
-void GLUTAPIENTRY
-glutInit( int *argcp, char **argv )
-{
- DFBResult ret;
-
- if (dfb)
- return;
-
- glutGet( GLUT_ELAPSED_TIME );
-
- ret = DirectFBInit( argcp, argv ? &argv : NULL );
- if (ret)
- DirectFBErrorFatal( "DirectFBInit()", ret );
-
- ret = DirectFBCreate( &dfb );
- if (ret)
- DirectFBErrorFatal( "DirectFBCreate()", ret );
-
- ret = dfb->GetDisplayLayer( dfb, DLID_PRIMARY, &primary );
- if (ret)
- DirectFBErrorFatal( "IDirectFB::GetDisplayLayer()", ret );
-
- ret = dfb->CreateEventBuffer( dfb, &events );
- if (ret)
- DirectFBErrorFatal( "IDirectFB::CreateEventBuffer()", ret );
-
- dfb->GetInputDevice( dfb, DIDID_KEYBOARD, &keyboard );
- dfb->GetInputDevice( dfb, DIDID_MOUSE, &mouse );
- dfb->GetInputDevice( dfb, DIDID_JOYSTICK, &joystick );
-
- primary->SetCooperativeLevel( primary, DLSCL_ADMINISTRATIVE );
-
- atexit( __glutExit );
-}
-
-
-void GLUTAPIENTRY
-glutInitDisplayMode( unsigned int mode )
-{
- g_display_mode = mode;
-}
-
-
-void GLUTAPIENTRY
-glutInitWindowPosition( int x, int y )
-{
- g_xpos = x;
- g_ypos = y;
-}
-
-
-void GLUTAPIENTRY
-glutInitWindowSize( int width, int height )
-{
- g_width = width;
- g_height = height;
-}
-
-
-void GLUTAPIENTRY
-glutInitDisplayString( const char *string )
-{
-}
-
diff --git a/src/glut/directfb/internal.h b/src/glut/directfb/internal.h
deleted file mode 100644
index 55c4b5ce28..0000000000
--- a/src/glut/directfb/internal.h
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
- * Copyright (C) 2006 Claudio Ciccani <klan@users.sf.net>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#ifndef __GLUT_INTERNAL_H__
-#define __GLUT_INTERNAL_H__
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#include <directfb.h>
-#include <directfb_version.h>
-
-#include <directfbgl.h>
-
-#include "GL/glut.h"
-
-
-#define VERSION_CODE( M, m, r ) (((M) << 16) | ((m) << 8) | ((r)))
-
-#define DIRECTFB_VERSION_CODE VERSION_CODE( DIRECTFB_MAJOR_VERSION, \
- DIRECTFB_MINOR_VERSION, \
- DIRECTFB_MICRO_VERSION )
-
-
-#define DEFAULT_WIDTH 640
-#define DEFAULT_HEIGHT 480
-
-/*
- * Window request flags
- */
-#define WINDOW_REQUEST_POSITION 0x00000001
-#define WINDOW_REQUEST_RESIZE 0x00000002
-#define WINDOW_REQUEST_RESTACK 0x00000004
-#define WINDOW_REQUEST_SHOW 0x00000008
-#define WINDOW_REQUEST_HIDE 0x00000010
-#define WINDOW_REQUEST_DESTROY 0x00000020
-
-/*
- * GLUT Window implementation
- */
-typedef struct __GlutWindow_s {
- int id;
- DFBWindowID wid;
-
- IDirectFBWindow *window; /* NULL = fullscreen (game mode) */
- IDirectFBSurface *surface;
- IDirectFBGL *gl;
-
- /* display mode */
- GLenum mode;
-
- /* cursor position in fullscreen mode */
- int cx;
- int cy;
- /* joystick position */
- int jx;
- int jy;
- int jz;
- /* pressed modifiers */
- int modifiers;
- /* pressed buttons */
- int buttons;
- /* current cursor shape */
- int cursor;
-
- struct {
- int flags;
- int x;
- int y;
- int w;
- int h;
- int z;
- } req;
-
- GLboolean visible;
- GLboolean redisplay;
- GLboolean reshape;
- GLboolean visibility;
-
- struct __GlutWindow_s *next;
- struct __GlutWindow_s *prev;
-} __GlutWindow;
-
-
-/* Global Vars */
-extern IDirectFB *dfb;
-extern IDirectFBDisplayLayer *primary;
-extern IDirectFBEventBuffer *events;
-extern IDirectFBInputDevice *keyboard;
-extern IDirectFBInputDevice *mouse;
-extern IDirectFBInputDevice *joystick;
-
-extern GLenum g_display_mode;
-extern GLuint g_width;
-extern GLuint g_height;
-extern GLint g_xpos;
-extern GLint g_ypos;
-extern GLint g_bpp;
-extern GLboolean g_idle;
-extern __GlutWindow *g_current;
-extern __GlutWindow *g_game;
-
-
-/* Global Funcs */
-/* window.c */
-extern __GlutWindow* __glutCreateWindow( GLboolean fullscreen );
-extern __GlutWindow* __glutFindWindow( DFBWindowID id );
-extern void __glutSetWindow( __GlutWindow *window );
-extern void __glutHandleWindows( void );
-extern void __glutDestroyWindow( __GlutWindow *window );
-extern void __glutDestroyWindows( void );
-/* callback.c */
-extern void __glutHandleTimers( void );
-extern GLboolean __glutGetTimeout( int *ret_msec );
-extern void __glutFreeTimers( void );
-
-
-/* Global Callbacks */
-extern void (GLUTCALLBACK *display_func) (void);
-extern void (GLUTCALLBACK *reshape_func) (int width, int height);
-extern void (GLUTCALLBACK *keyboard_func) (unsigned char key, int x, int y);
-extern void (GLUTCALLBACK *mouse_func) (int button, int state, int x, int y);
-extern void (GLUTCALLBACK *motion_func) (int x, int y);
-extern void (GLUTCALLBACK *passive_motion_func) (int x, int y);
-extern void (GLUTCALLBACK *entry_func) (int state);
-extern void (GLUTCALLBACK *visibility_func) (int state);
-extern void (GLUTCALLBACK *idle_func) (void);
-extern void (GLUTCALLBACK *menu_state_func) (int state);
-extern void (GLUTCALLBACK *special_func) (int key, int x, int y);
-extern void (GLUTCALLBACK *spaceball_motion_func) (int x, int y, int z);
-extern void (GLUTCALLBACK *spaceball_rotate_func) (int x, int y, int z);
-extern void (GLUTCALLBACK *spaceball_button_func) (int button, int state);
-extern void (GLUTCALLBACK *button_box_func) (int button, int state);
-extern void (GLUTCALLBACK *dials_func) (int dial, int value);
-extern void (GLUTCALLBACK *tablet_motion_func) (int x, int y);
-extern void (GLUTCALLBACK *tabled_button_func) (int button, int state, int x, int y);
-extern void (GLUTCALLBACK *menu_status_func) (int status, int x, int y);
-extern void (GLUTCALLBACK *overlay_display_func) (void);
-extern void (GLUTCALLBACK *window_status_func) (int state);
-extern void (GLUTCALLBACK *keyboard_up_func) (unsigned char key, int x, int y);
-extern void (GLUTCALLBACK *special_up_func) (int key, int x, int y);
-extern void (GLUTCALLBACK *joystick_func) (unsigned int buttons, int x, int y, int z);
-
-
-#ifdef DEBUG
-# define __glutAssert( exp ) {\
- if (!(exp)) {\
- fprintf( stderr, "(!!) *** Assertion [%s] failed in %s() ***\n",\
- #exp, __FUNCTION__ );
- fflush( stderr );\
- exit( -1 );\
- }\
- }
-#else
-# define __glutAssert( exp )
-#endif
-
-#define __glutWarning( format, ... ) {\
- fprintf( stderr, "(!) GLUT: " format "!\n", ## __VA_ARGS__ );\
- fflush( stderr );\
-}
-
-#define __glutFatalError( format, ... ) {\
- fprintf( stderr, "(!) GLUT: " format "!\n", ## __VA_ARGS__ );\
- fprintf( stderr, "\t-> from %s() at line %d\n", __FUNCTION__, __LINE__ );\
- fflush( stderr );\
- exit( -1 );\
-}
-
-
-#endif /* __GLUT_INTERNAL_H__ */
-
diff --git a/src/glut/directfb/menu.c b/src/glut/directfb/menu.c
deleted file mode 100644
index 400e966bbb..0000000000
--- a/src/glut/directfb/menu.c
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright (C) 2006 Claudio Ciccani <klan@users.sf.net>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "internal.h"
-
-
-int GLUTAPIENTRY
-glutCreateMenu( void (GLUTCALLBACK *func) (int) )
-{
- return 0;
-}
-
-void GLUTAPIENTRY
-glutDestroyMenu( int menu )
-{
-}
-
-
-int GLUTAPIENTRY
-glutGetMenu( void )
-{
- return 0;
-}
-
-
-void GLUTAPIENTRY
-glutSetMenu( int menu )
-{
-}
-
-
-void GLUTAPIENTRY
-glutAddMenuEntry( const char *label, int value )
-{
-}
-
-
-void GLUTAPIENTRY
-glutAddSubMenu( const char *label, int submenu )
-{
-}
-
-
-void GLUTAPIENTRY
-glutChangeToMenuEntry( int item, const char *label, int value )
-{
-}
-
-
-void GLUTAPIENTRY
-glutChangeToSubMenu( int item, const char *label, int submenu )
-{
-}
-
-
-void GLUTAPIENTRY
-glutRemoveMenuItem( int item )
-{
-}
-
-
-void GLUTAPIENTRY
-glutAttachMenu( int button )
-{
-}
-
-
-void GLUTAPIENTRY
-glutDetachMenu( int button )
-{
-}
diff --git a/src/glut/directfb/models.c b/src/glut/directfb/models.c
deleted file mode 100644
index d96a8f5077..0000000000
--- a/src/glut/directfb/models.c
+++ /dev/null
@@ -1,599 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994, 1997. */
-
-/**
-(c) Copyright 1993, Silicon Graphics, Inc.
-
-ALL RIGHTS RESERVED
-
-Permission to use, copy, modify, and distribute this software
-for any purpose and without fee is hereby granted, provided
-that the above copyright notice appear in all copies and that
-both the copyright notice and this permission notice appear in
-supporting documentation, and that the name of Silicon
-Graphics, Inc. not be used in advertising or publicity
-pertaining to distribution of the software without specific,
-written prior permission.
-
-THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU
-"AS-IS" AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR
-OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO
-EVENT SHALL SILICON GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE
-ELSE FOR ANY DIRECT, SPECIAL, INCIDENTAL, INDIRECT OR
-CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER,
-INCLUDING WITHOUT LIMITATION, LOSS OF PROFIT, LOSS OF USE,
-SAVINGS OR REVENUE, OR THE CLAIMS OF THIRD PARTIES, WHETHER OR
-NOT SILICON GRAPHICS, INC. HAS BEEN ADVISED OF THE POSSIBILITY
-OF SUCH LOSS, HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-ARISING OUT OF OR IN CONNECTION WITH THE POSSESSION, USE OR
-PERFORMANCE OF THIS SOFTWARE.
-
-US Government Users Restricted Rights
-
-Use, duplication, or disclosure by the Government is subject to
-restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
-(c)(1)(ii) of the Rights in Technical Data and Computer
-Software clause at DFARS 252.227-7013 and/or in similar or
-successor clauses in the FAR or the DOD or NASA FAR
-Supplement. Unpublished-- rights reserved under the copyright
-laws of the United States. Contractor/manufacturer is Silicon
-Graphics, Inc., 2011 N. Shoreline Blvd., Mountain View, CA
-94039-7311.
-
-OpenGL(TM) is a trademark of Silicon Graphics, Inc.
-*/
-
-#include <math.h>
-#include <GL/gl.h>
-#include <GL/glu.h>
-
-#include "internal.h"
-
-/* Some <math.h> files do not define M_PI... */
-#ifndef M_PI
-#define M_PI 3.14159265358979323846
-#endif
-
-static GLUquadricObj *quadObj;
-
-#define QUAD_OBJ_INIT() { if(!quadObj) initQuadObj(); }
-
-static void
-initQuadObj(void)
-{
- quadObj = gluNewQuadric();
- if (!quadObj)
- __glutFatalError("out of memory");
-}
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutWireSphere(GLdouble radius, GLint slices, GLint stacks)
-{
- QUAD_OBJ_INIT();
- gluQuadricDrawStyle(quadObj, GLU_LINE);
- gluQuadricNormals(quadObj, GLU_SMOOTH);
- /* If we ever changed/used the texture or orientation state
- of quadObj, we'd need to change it to the defaults here
- with gluQuadricTexture and/or gluQuadricOrientation. */
- gluSphere(quadObj, radius, slices, stacks);
-}
-
-void GLUTAPIENTRY
-glutSolidSphere(GLdouble radius, GLint slices, GLint stacks)
-{
- QUAD_OBJ_INIT();
- gluQuadricDrawStyle(quadObj, GLU_FILL);
- gluQuadricNormals(quadObj, GLU_SMOOTH);
- /* If we ever changed/used the texture or orientation state
- of quadObj, we'd need to change it to the defaults here
- with gluQuadricTexture and/or gluQuadricOrientation. */
- gluSphere(quadObj, radius, slices, stacks);
-}
-
-void GLUTAPIENTRY
-glutWireCone(GLdouble base, GLdouble height,
- GLint slices, GLint stacks)
-{
- QUAD_OBJ_INIT();
- gluQuadricDrawStyle(quadObj, GLU_LINE);
- gluQuadricNormals(quadObj, GLU_SMOOTH);
- /* If we ever changed/used the texture or orientation state
- of quadObj, we'd need to change it to the defaults here
- with gluQuadricTexture and/or gluQuadricOrientation. */
- gluCylinder(quadObj, base, 0.0, height, slices, stacks);
-}
-
-void GLUTAPIENTRY
-glutSolidCone(GLdouble base, GLdouble height,
- GLint slices, GLint stacks)
-{
- QUAD_OBJ_INIT();
- gluQuadricDrawStyle(quadObj, GLU_FILL);
- gluQuadricNormals(quadObj, GLU_SMOOTH);
- /* If we ever changed/used the texture or orientation state
- of quadObj, we'd need to change it to the defaults here
- with gluQuadricTexture and/or gluQuadricOrientation. */
- gluCylinder(quadObj, base, 0.0, height, slices, stacks);
-}
-
-/* ENDCENTRY */
-
-static void
-drawBox(GLfloat size, GLenum type)
-{
- static GLfloat n[6][3] =
- {
- {-1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {1.0, 0.0, 0.0},
- {0.0, -1.0, 0.0},
- {0.0, 0.0, 1.0},
- {0.0, 0.0, -1.0}
- };
- static GLint faces[6][4] =
- {
- {0, 1, 2, 3},
- {3, 2, 6, 7},
- {7, 6, 5, 4},
- {4, 5, 1, 0},
- {5, 6, 2, 1},
- {7, 4, 0, 3}
- };
- GLfloat v[8][3];
- GLint i;
-
- v[0][0] = v[1][0] = v[2][0] = v[3][0] = -size / 2;
- v[4][0] = v[5][0] = v[6][0] = v[7][0] = size / 2;
- v[0][1] = v[1][1] = v[4][1] = v[5][1] = -size / 2;
- v[2][1] = v[3][1] = v[6][1] = v[7][1] = size / 2;
- v[0][2] = v[3][2] = v[4][2] = v[7][2] = -size / 2;
- v[1][2] = v[2][2] = v[5][2] = v[6][2] = size / 2;
-
- for (i = 5; i >= 0; i--) {
- glBegin(type);
-/* glNormal3fv(&n[i][0]); */
- glVertex3fv(&v[faces[i][0]][0]);
- glVertex3fv(&v[faces[i][1]][0]);
- glVertex3fv(&v[faces[i][2]][0]);
- glVertex3fv(&v[faces[i][3]][0]);
- glEnd();
- }
-}
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutWireCube(GLdouble size)
-{
- drawBox(size, GL_LINE_LOOP);
-}
-
-void GLUTAPIENTRY
-glutSolidCube(GLdouble size)
-{
- drawBox(size, GL_QUADS);
-}
-
-/* ENDCENTRY */
-
-static void
-doughnut(GLfloat r, GLfloat R, GLint nsides, GLint rings)
-{
- int i, j;
- GLfloat theta, phi, theta1;
- GLfloat cosTheta, sinTheta;
- GLfloat cosTheta1, sinTheta1;
- GLfloat ringDelta, sideDelta;
-
- ringDelta = 2.0 * M_PI / rings;
- sideDelta = 2.0 * M_PI / nsides;
-
- theta = 0.0;
- cosTheta = 1.0;
- sinTheta = 0.0;
- for (i = rings - 1; i >= 0; i--) {
- theta1 = theta + ringDelta;
- cosTheta1 = cos(theta1);
- sinTheta1 = sin(theta1);
- glBegin(GL_QUAD_STRIP);
- phi = 0.0;
- for (j = nsides; j >= 0; j--) {
- GLfloat cosPhi, sinPhi, dist;
-
- phi += sideDelta;
- cosPhi = cos(phi);
- sinPhi = sin(phi);
- dist = R + r * cosPhi;
-
-/* glNormal3f(cosTheta1 * cosPhi, -sinTheta1 * cosPhi, sinPhi); */
- glVertex3f(cosTheta1 * dist, -sinTheta1 * dist, r * sinPhi);
-/* glNormal3f(cosTheta * cosPhi, -sinTheta * cosPhi, sinPhi); */
- glVertex3f(cosTheta * dist, -sinTheta * dist, r * sinPhi);
- }
- glEnd();
- theta = theta1;
- cosTheta = cosTheta1;
- sinTheta = sinTheta1;
- }
-}
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutWireTorus(GLdouble innerRadius, GLdouble outerRadius,
- GLint nsides, GLint rings)
-{
-/* glPushAttrib(GL_POLYGON_BIT); */
-/* glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); */
- doughnut(innerRadius, outerRadius, nsides, rings);
-/* glPopAttrib(); */
-}
-
-void GLUTAPIENTRY
-glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius,
- GLint nsides, GLint rings)
-{
- doughnut(innerRadius, outerRadius, nsides, rings);
-}
-
-/* ENDCENTRY */
-
-static GLfloat dodec[20][3];
-
-static void
-initDodecahedron(void)
-{
- GLfloat alpha, beta;
-
- alpha = sqrt(2.0 / (3.0 + sqrt(5.0)));
- beta = 1.0 + sqrt(6.0 / (3.0 + sqrt(5.0)) -
- 2.0 + 2.0 * sqrt(2.0 / (3.0 + sqrt(5.0))));
- /* *INDENT-OFF* */
- dodec[0][0] = -alpha; dodec[0][1] = 0; dodec[0][2] = beta;
- dodec[1][0] = alpha; dodec[1][1] = 0; dodec[1][2] = beta;
- dodec[2][0] = -1; dodec[2][1] = -1; dodec[2][2] = -1;
- dodec[3][0] = -1; dodec[3][1] = -1; dodec[3][2] = 1;
- dodec[4][0] = -1; dodec[4][1] = 1; dodec[4][2] = -1;
- dodec[5][0] = -1; dodec[5][1] = 1; dodec[5][2] = 1;
- dodec[6][0] = 1; dodec[6][1] = -1; dodec[6][2] = -1;
- dodec[7][0] = 1; dodec[7][1] = -1; dodec[7][2] = 1;
- dodec[8][0] = 1; dodec[8][1] = 1; dodec[8][2] = -1;
- dodec[9][0] = 1; dodec[9][1] = 1; dodec[9][2] = 1;
- dodec[10][0] = beta; dodec[10][1] = alpha; dodec[10][2] = 0;
- dodec[11][0] = beta; dodec[11][1] = -alpha; dodec[11][2] = 0;
- dodec[12][0] = -beta; dodec[12][1] = alpha; dodec[12][2] = 0;
- dodec[13][0] = -beta; dodec[13][1] = -alpha; dodec[13][2] = 0;
- dodec[14][0] = -alpha; dodec[14][1] = 0; dodec[14][2] = -beta;
- dodec[15][0] = alpha; dodec[15][1] = 0; dodec[15][2] = -beta;
- dodec[16][0] = 0; dodec[16][1] = beta; dodec[16][2] = alpha;
- dodec[17][0] = 0; dodec[17][1] = beta; dodec[17][2] = -alpha;
- dodec[18][0] = 0; dodec[18][1] = -beta; dodec[18][2] = alpha;
- dodec[19][0] = 0; dodec[19][1] = -beta; dodec[19][2] = -alpha;
- /* *INDENT-ON* */
-
-}
-
-#define DIFF3(_a,_b,_c) { \
- (_c)[0] = (_a)[0] - (_b)[0]; \
- (_c)[1] = (_a)[1] - (_b)[1]; \
- (_c)[2] = (_a)[2] - (_b)[2]; \
-}
-
-static void
-crossprod(GLfloat v1[3], GLfloat v2[3], GLfloat prod[3])
-{
- GLfloat p[3]; /* in case prod == v1 or v2 */
-
- p[0] = v1[1] * v2[2] - v2[1] * v1[2];
- p[1] = v1[2] * v2[0] - v2[2] * v1[0];
- p[2] = v1[0] * v2[1] - v2[0] * v1[1];
- prod[0] = p[0];
- prod[1] = p[1];
- prod[2] = p[2];
-}
-
-static void
-normalize(GLfloat v[3])
-{
- GLfloat d;
-
- d = sqrt(v[0] * v[0] + v[1] * v[1] + v[2] * v[2]);
- if (d == 0.0) {
-/* __glutWarning("normalize: zero length vector"); */
- v[0] = d = 1.0;
- }
- d = 1 / d;
- v[0] *= d;
- v[1] *= d;
- v[2] *= d;
-}
-
-static void
-pentagon(int a, int b, int c, int d, int e, GLenum shadeType)
-{
- GLfloat n0[3], d1[3], d2[3];
-
- DIFF3(dodec[a], dodec[b], d1);
- DIFF3(dodec[b], dodec[c], d2);
- crossprod(d1, d2, n0);
- normalize(n0);
-
- glBegin(shadeType);
-/* glNormal3fv(n0); */
- glVertex3fv(&dodec[a][0]);
- glVertex3fv(&dodec[b][0]);
- glVertex3fv(&dodec[c][0]);
- glVertex3fv(&dodec[d][0]);
- glVertex3fv(&dodec[e][0]);
- glEnd();
-}
-
-static void
-dodecahedron(GLenum type)
-{
- static int inited = 0;
-
- if (inited == 0) {
- inited = 1;
- initDodecahedron();
- }
- pentagon(0, 1, 9, 16, 5, type);
- pentagon(1, 0, 3, 18, 7, type);
- pentagon(1, 7, 11, 10, 9, type);
- pentagon(11, 7, 18, 19, 6, type);
- pentagon(8, 17, 16, 9, 10, type);
- pentagon(2, 14, 15, 6, 19, type);
- pentagon(2, 13, 12, 4, 14, type);
- pentagon(2, 19, 18, 3, 13, type);
- pentagon(3, 0, 5, 12, 13, type);
- pentagon(6, 15, 8, 10, 11, type);
- pentagon(4, 17, 8, 15, 14, type);
- pentagon(4, 12, 5, 16, 17, type);
-}
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutWireDodecahedron(void)
-{
- dodecahedron(GL_LINE_LOOP);
-}
-
-void GLUTAPIENTRY
-glutSolidDodecahedron(void)
-{
- dodecahedron(GL_TRIANGLE_FAN);
-}
-
-/* ENDCENTRY */
-
-static void
-recorditem(GLfloat * n1, GLfloat * n2, GLfloat * n3,
- GLenum shadeType)
-{
- GLfloat q0[3], q1[3];
-
- DIFF3(n1, n2, q0);
- DIFF3(n2, n3, q1);
- crossprod(q0, q1, q1);
- normalize(q1);
-
- glBegin(shadeType);
-/* glNormal3fv(q1); */
- glVertex3fv(n1);
- glVertex3fv(n2);
- glVertex3fv(n3);
- glEnd();
-}
-
-static void
-subdivide(GLfloat * v0, GLfloat * v1, GLfloat * v2,
- GLenum shadeType)
-{
- int depth;
- GLfloat w0[3], w1[3], w2[3];
- GLfloat l;
- int i, j, k, n;
-
- depth = 1;
- for (i = 0; i < depth; i++) {
- for (j = 0; i + j < depth; j++) {
- k = depth - i - j;
- for (n = 0; n < 3; n++) {
- w0[n] = (i * v0[n] + j * v1[n] + k * v2[n]) / depth;
- w1[n] = ((i + 1) * v0[n] + j * v1[n] + (k - 1) * v2[n])
- / depth;
- w2[n] = (i * v0[n] + (j + 1) * v1[n] + (k - 1) * v2[n])
- / depth;
- }
- l = sqrt(w0[0] * w0[0] + w0[1] * w0[1] + w0[2] * w0[2]);
- w0[0] /= l;
- w0[1] /= l;
- w0[2] /= l;
- l = sqrt(w1[0] * w1[0] + w1[1] * w1[1] + w1[2] * w1[2]);
- w1[0] /= l;
- w1[1] /= l;
- w1[2] /= l;
- l = sqrt(w2[0] * w2[0] + w2[1] * w2[1] + w2[2] * w2[2]);
- w2[0] /= l;
- w2[1] /= l;
- w2[2] /= l;
- recorditem(w1, w0, w2, shadeType);
- }
- }
-}
-
-static void
-drawtriangle(int i, GLfloat data[][3], int ndx[][3],
- GLenum shadeType)
-{
- GLfloat *x0, *x1, *x2;
-
- x0 = data[ndx[i][0]];
- x1 = data[ndx[i][1]];
- x2 = data[ndx[i][2]];
- subdivide(x0, x1, x2, shadeType);
-}
-
-/* octahedron data: The octahedron produced is centered at the
- origin and has radius 1.0 */
-static GLfloat odata[6][3] =
-{
- {1.0, 0.0, 0.0},
- {-1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, -1.0, 0.0},
- {0.0, 0.0, 1.0},
- {0.0, 0.0, -1.0}
-};
-
-static int ondex[8][3] =
-{
- {0, 4, 2},
- {1, 2, 4},
- {0, 3, 4},
- {1, 4, 3},
- {0, 2, 5},
- {1, 5, 2},
- {0, 5, 3},
- {1, 3, 5}
-};
-
-static void
-octahedron(GLenum shadeType)
-{
- int i;
-
- for (i = 7; i >= 0; i--) {
- drawtriangle(i, odata, ondex, shadeType);
- }
-}
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutWireOctahedron(void)
-{
- octahedron(GL_LINE_LOOP);
-}
-
-void GLUTAPIENTRY
-glutSolidOctahedron(void)
-{
- octahedron(GL_TRIANGLES);
-}
-
-/* ENDCENTRY */
-
-/* icosahedron data: These numbers are rigged to make an
- icosahedron of radius 1.0 */
-
-#define X .525731112119133606
-#define Z .850650808352039932
-
-static GLfloat idata[12][3] =
-{
- {-X, 0, Z},
- {X, 0, Z},
- {-X, 0, -Z},
- {X, 0, -Z},
- {0, Z, X},
- {0, Z, -X},
- {0, -Z, X},
- {0, -Z, -X},
- {Z, X, 0},
- {-Z, X, 0},
- {Z, -X, 0},
- {-Z, -X, 0}
-};
-
-static int index[20][3] =
-{
- {0, 4, 1},
- {0, 9, 4},
- {9, 5, 4},
- {4, 5, 8},
- {4, 8, 1},
- {8, 10, 1},
- {8, 3, 10},
- {5, 3, 8},
- {5, 2, 3},
- {2, 7, 3},
- {7, 10, 3},
- {7, 6, 10},
- {7, 11, 6},
- {11, 0, 6},
- {0, 1, 6},
- {6, 1, 10},
- {9, 0, 11},
- {9, 11, 2},
- {9, 2, 5},
- {7, 2, 11},
-};
-
-static void
-icosahedron(GLenum shadeType)
-{
- int i;
-
- for (i = 19; i >= 0; i--) {
- drawtriangle(i, idata, index, shadeType);
- }
-}
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutWireIcosahedron(void)
-{
- icosahedron(GL_LINE_LOOP);
-}
-
-void GLUTAPIENTRY
-glutSolidIcosahedron(void)
-{
- icosahedron(GL_TRIANGLES);
-}
-
-/* ENDCENTRY */
-
-/* tetrahedron data: */
-
-#define T 1.73205080756887729
-
-static GLfloat tdata[4][3] =
-{
- {T, T, T},
- {T, -T, -T},
- {-T, T, -T},
- {-T, -T, T}
-};
-
-static int tndex[4][3] =
-{
- {0, 1, 3},
- {2, 1, 0},
- {3, 2, 0},
- {1, 2, 3}
-};
-
-static void
-tetrahedron(GLenum shadeType)
-{
- int i;
-
- for (i = 3; i >= 0; i--)
- drawtriangle(i, tdata, tndex, shadeType);
-}
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutWireTetrahedron(void)
-{
- tetrahedron(GL_LINE_LOOP);
-}
-
-void GLUTAPIENTRY
-glutSolidTetrahedron(void)
-{
- tetrahedron(GL_TRIANGLES);
-}
-
-/* ENDCENTRY */
diff --git a/src/glut/directfb/overlay.c b/src/glut/directfb/overlay.c
deleted file mode 100644
index 714be5f1a2..0000000000
--- a/src/glut/directfb/overlay.c
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright (C) 2006 Claudio Ciccani <klan@users.sf.net>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "internal.h"
-
-
-void GLUTAPIENTRY
-glutEstablishOverlay( void )
-{
-}
-
-
-void GLUTAPIENTRY
-glutRemoveOverlay( void )
-{
-}
-
-
-void GLUTAPIENTRY
-glutUseLayer( GLenum layer )
-{
-}
-
-
-void GLUTAPIENTRY
-glutPostOverlayRedisplay( void )
-{
-}
-
-
-void GLUTAPIENTRY
-glutPostWindowOverlayRedisplay( int win )
-{
-}
-
-
-void GLUTAPIENTRY
-glutShowOverlay( void )
-{
-}
-
-
-void GLUTAPIENTRY
-glutHideOverlay( void )
-{
-}
diff --git a/src/glut/directfb/state.c b/src/glut/directfb/state.c
deleted file mode 100644
index 194d5bbb62..0000000000
--- a/src/glut/directfb/state.c
+++ /dev/null
@@ -1,219 +0,0 @@
-/*
- * Copyright (C) 2006 Claudio Ciccani <klan@users.sf.net>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <sys/time.h>
-
-#include "GL/glu.h"
-
-#include "internal.h"
-
-
-int GLUTAPIENTRY
-glutGet( GLenum type )
-{
- switch (type) {
- case GLUT_WINDOW_X:
- if (g_current && g_current->window) {
- int x;
- g_current->window->GetPosition( g_current->window, &x, 0 );
- return x;
- }
- break;
- case GLUT_WINDOW_Y:
- if (g_current && g_current->window) {
- int y;
- g_current->window->GetPosition( g_current->window, 0, &y );
- return y;
- }
- break;
-
- case GLUT_WINDOW_WIDTH:
- if (g_current) {
- int w;
- g_current->surface->GetSize( g_current->surface, &w, 0 );
- return w;
- }
- break;
- case GLUT_WINDOW_HEIGHT:
- if (g_current) {
- int h;
- g_current->surface->GetSize( g_current->surface, 0, &h );
- return h;
- }
- break;
-
- case GLUT_WINDOW_BUFFER_SIZE:
- if (g_current) {
- DFBGLAttributes a;
- g_current->gl->GetAttributes( g_current->gl, &a );
- return a.buffer_size;
- }
- break;
- case GLUT_WINDOW_STENCIL_SIZE:
- if (g_current) {
- DFBGLAttributes a;
- g_current->gl->GetAttributes( g_current->gl, &a );
- return a.stencil_size;
- }
- break;
- case GLUT_WINDOW_DEPTH_SIZE:
- if (g_current) {
- DFBGLAttributes a;
- g_current->gl->GetAttributes( g_current->gl, &a );
- return a.depth_size;
- }
- break;
- case GLUT_WINDOW_RED_SIZE:
- if (g_current) {
- DFBGLAttributes a;
- g_current->gl->GetAttributes( g_current->gl, &a );
- return a.red_size;
- }
- break;
- case GLUT_WINDOW_GREEN_SIZE:
- if (g_current) {
- DFBGLAttributes a;
- g_current->gl->GetAttributes( g_current->gl, &a );
- return a.green_size;
- }
- break;
- case GLUT_WINDOW_BLUE_SIZE:
- if (g_current) {
- DFBGLAttributes a;
- g_current->gl->GetAttributes( g_current->gl, &a );
- return a.blue_size;
- }
- break;
- case GLUT_WINDOW_ALPHA_SIZE:
- if (g_current) {
- DFBGLAttributes a;
- g_current->gl->GetAttributes( g_current->gl, &a );
- return a.alpha_size;
- }
- break;
- case GLUT_WINDOW_ACCUM_RED_SIZE:
- if (g_current) {
- DFBGLAttributes a;
- g_current->gl->GetAttributes( g_current->gl, &a );
- return a.accum_red_size;
- }
- break;
- case GLUT_WINDOW_ACCUM_GREEN_SIZE:
- if (g_current) {
- DFBGLAttributes a;
- g_current->gl->GetAttributes( g_current->gl, &a );
- return a.accum_green_size;
- }
- break;
- case GLUT_WINDOW_ACCUM_BLUE_SIZE:
- if (g_current) {
- DFBGLAttributes a;
- g_current->gl->GetAttributes( g_current->gl, &a );
- return a.accum_blue_size;
- }
- break;
- case GLUT_WINDOW_ACCUM_ALPHA_SIZE:
- if (g_current) {
- DFBGLAttributes a;
- g_current->gl->GetAttributes( g_current->gl, &a );
- return a.accum_alpha_size;
- }
- break;
- case GLUT_WINDOW_DOUBLEBUFFER:
- if (g_current) {
- DFBGLAttributes a;
- g_current->gl->GetAttributes( g_current->gl, &a );
- return a.double_buffer;
- }
- break;
-
- case GLUT_WINDOW_RGBA:
- return 1;
-
- case GLUT_WINDOW_CURSOR:
- if (g_current)
- return g_current->cursor;
- break;
-
- case GLUT_SCREEN_WIDTH:
- if (primary) {
- DFBDisplayLayerConfig c;
- primary->GetConfiguration( primary, &c );
- return c.width;
- }
- break;
- case GLUT_SCREEN_HEIGHT:
- if (primary) {
- DFBDisplayLayerConfig c;
- primary->GetConfiguration( primary, &c );
- return c.height;
- }
- break;
-
- case GLUT_INIT_DISPLAY_MODE:
- return g_display_mode;
- case GLUT_INIT_WINDOW_X:
- return g_xpos;
- case GLUT_INIT_WINDOW_Y:
- return g_ypos;
- case GLUT_INIT_WINDOW_WIDTH:
- return g_width;
- case GLUT_INIT_WINDOW_HEIGHT:
- return g_height;
-
- case GLUT_ELAPSED_TIME:
- {
- static long long start = -1;
- struct timeval t;
-
- gettimeofday( &t, NULL );
- if (start == -1) {
- start = t.tv_sec * 1000ll + t.tv_usec / 1000ll;
- return 0;
- }
- return (t.tv_sec * 1000ll + t.tv_usec / 1000ll - start);
- }
- break;
-
- default:
- break;
- }
-
- return 0;
-}
-
-
-int GLUTAPIENTRY
-glutLayerGet( GLenum type )
-{
- return 0;
-}
-
-void GLUTAPIENTRY
-glutReportErrors( void )
-{
- GLenum error;
-
- while ((error = glGetError()) != GL_NO_ERROR)
- __glutWarning( "**OpenGL Error** %s", gluErrorString( error ) );
-}
-
-
diff --git a/src/glut/directfb/teapot.c b/src/glut/directfb/teapot.c
deleted file mode 100644
index e7f1ee812f..0000000000
--- a/src/glut/directfb/teapot.c
+++ /dev/null
@@ -1,212 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994. */
-
-/**
-(c) Copyright 1993, Silicon Graphics, Inc.
-
-ALL RIGHTS RESERVED
-
-Permission to use, copy, modify, and distribute this software
-for any purpose and without fee is hereby granted, provided
-that the above copyright notice appear in all copies and that
-both the copyright notice and this permission notice appear in
-supporting documentation, and that the name of Silicon
-Graphics, Inc. not be used in advertising or publicity
-pertaining to distribution of the software without specific,
-written prior permission.
-
-THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU
-"AS-IS" AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR
-OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO
-EVENT SHALL SILICON GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE
-ELSE FOR ANY DIRECT, SPECIAL, INCIDENTAL, INDIRECT OR
-CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER,
-INCLUDING WITHOUT LIMITATION, LOSS OF PROFIT, LOSS OF USE,
-SAVINGS OR REVENUE, OR THE CLAIMS OF THIRD PARTIES, WHETHER OR
-NOT SILICON GRAPHICS, INC. HAS BEEN ADVISED OF THE POSSIBILITY
-OF SUCH LOSS, HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-ARISING OUT OF OR IN CONNECTION WITH THE POSSESSION, USE OR
-PERFORMANCE OF THIS SOFTWARE.
-
-US Government Users Restricted Rights
-
-Use, duplication, or disclosure by the Government is subject to
-restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
-(c)(1)(ii) of the Rights in Technical Data and Computer
-Software clause at DFARS 252.227-7013 and/or in similar or
-successor clauses in the FAR or the DOD or NASA FAR
-Supplement. Unpublished-- rights reserved under the copyright
-laws of the United States. Contractor/manufacturer is Silicon
-Graphics, Inc., 2011 N. Shoreline Blvd., Mountain View, CA
-94039-7311.
-
-OpenGL(TM) is a trademark of Silicon Graphics, Inc.
-*/
-
-#include <GL/gl.h>
-#include <GL/glu.h>
-#include "GL/glut.h"
-
-/* Rim, body, lid, and bottom data must be reflected in x and
- y; handle and spout data across the y axis only. */
-
-static int patchdata[][16] =
-{
- /* rim */
- {102, 103, 104, 105, 4, 5, 6, 7, 8, 9, 10, 11,
- 12, 13, 14, 15},
- /* body */
- {12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
- 24, 25, 26, 27},
- {24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40},
- /* lid */
- {96, 96, 96, 96, 97, 98, 99, 100, 101, 101, 101,
- 101, 0, 1, 2, 3,},
- {0, 1, 2, 3, 106, 107, 108, 109, 110, 111, 112,
- 113, 114, 115, 116, 117},
- /* bottom */
- {118, 118, 118, 118, 124, 122, 119, 121, 123, 126,
- 125, 120, 40, 39, 38, 37},
- /* handle */
- {41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, 56},
- {53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
- 28, 65, 66, 67},
- /* spout */
- {68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
- 80, 81, 82, 83},
- {80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
- 92, 93, 94, 95}
-};
-/* *INDENT-OFF* */
-
-static float cpdata[][3] =
-{
- {0.2, 0, 2.7}, {0.2, -0.112, 2.7}, {0.112, -0.2, 2.7}, {0,
- -0.2, 2.7}, {1.3375, 0, 2.53125}, {1.3375, -0.749, 2.53125},
- {0.749, -1.3375, 2.53125}, {0, -1.3375, 2.53125}, {1.4375,
- 0, 2.53125}, {1.4375, -0.805, 2.53125}, {0.805, -1.4375,
- 2.53125}, {0, -1.4375, 2.53125}, {1.5, 0, 2.4}, {1.5, -0.84,
- 2.4}, {0.84, -1.5, 2.4}, {0, -1.5, 2.4}, {1.75, 0, 1.875},
- {1.75, -0.98, 1.875}, {0.98, -1.75, 1.875}, {0, -1.75,
- 1.875}, {2, 0, 1.35}, {2, -1.12, 1.35}, {1.12, -2, 1.35},
- {0, -2, 1.35}, {2, 0, 0.9}, {2, -1.12, 0.9}, {1.12, -2,
- 0.9}, {0, -2, 0.9}, {-2, 0, 0.9}, {2, 0, 0.45}, {2, -1.12,
- 0.45}, {1.12, -2, 0.45}, {0, -2, 0.45}, {1.5, 0, 0.225},
- {1.5, -0.84, 0.225}, {0.84, -1.5, 0.225}, {0, -1.5, 0.225},
- {1.5, 0, 0.15}, {1.5, -0.84, 0.15}, {0.84, -1.5, 0.15}, {0,
- -1.5, 0.15}, {-1.6, 0, 2.025}, {-1.6, -0.3, 2.025}, {-1.5,
- -0.3, 2.25}, {-1.5, 0, 2.25}, {-2.3, 0, 2.025}, {-2.3, -0.3,
- 2.025}, {-2.5, -0.3, 2.25}, {-2.5, 0, 2.25}, {-2.7, 0,
- 2.025}, {-2.7, -0.3, 2.025}, {-3, -0.3, 2.25}, {-3, 0,
- 2.25}, {-2.7, 0, 1.8}, {-2.7, -0.3, 1.8}, {-3, -0.3, 1.8},
- {-3, 0, 1.8}, {-2.7, 0, 1.575}, {-2.7, -0.3, 1.575}, {-3,
- -0.3, 1.35}, {-3, 0, 1.35}, {-2.5, 0, 1.125}, {-2.5, -0.3,
- 1.125}, {-2.65, -0.3, 0.9375}, {-2.65, 0, 0.9375}, {-2,
- -0.3, 0.9}, {-1.9, -0.3, 0.6}, {-1.9, 0, 0.6}, {1.7, 0,
- 1.425}, {1.7, -0.66, 1.425}, {1.7, -0.66, 0.6}, {1.7, 0,
- 0.6}, {2.6, 0, 1.425}, {2.6, -0.66, 1.425}, {3.1, -0.66,
- 0.825}, {3.1, 0, 0.825}, {2.3, 0, 2.1}, {2.3, -0.25, 2.1},
- {2.4, -0.25, 2.025}, {2.4, 0, 2.025}, {2.7, 0, 2.4}, {2.7,
- -0.25, 2.4}, {3.3, -0.25, 2.4}, {3.3, 0, 2.4}, {2.8, 0,
- 2.475}, {2.8, -0.25, 2.475}, {3.525, -0.25, 2.49375},
- {3.525, 0, 2.49375}, {2.9, 0, 2.475}, {2.9, -0.15, 2.475},
- {3.45, -0.15, 2.5125}, {3.45, 0, 2.5125}, {2.8, 0, 2.4},
- {2.8, -0.15, 2.4}, {3.2, -0.15, 2.4}, {3.2, 0, 2.4}, {0, 0,
- 3.15}, {0.8, 0, 3.15}, {0.8, -0.45, 3.15}, {0.45, -0.8,
- 3.15}, {0, -0.8, 3.15}, {0, 0, 2.85}, {1.4, 0, 2.4}, {1.4,
- -0.784, 2.4}, {0.784, -1.4, 2.4}, {0, -1.4, 2.4}, {0.4, 0,
- 2.55}, {0.4, -0.224, 2.55}, {0.224, -0.4, 2.55}, {0, -0.4,
- 2.55}, {1.3, 0, 2.55}, {1.3, -0.728, 2.55}, {0.728, -1.3,
- 2.55}, {0, -1.3, 2.55}, {1.3, 0, 2.4}, {1.3, -0.728, 2.4},
- {0.728, -1.3, 2.4}, {0, -1.3, 2.4}, {0, 0, 0}, {1.425,
- -0.798, 0}, {1.5, 0, 0.075}, {1.425, 0, 0}, {0.798, -1.425,
- 0}, {0, -1.5, 0.075}, {0, -1.425, 0}, {1.5, -0.84, 0.075},
- {0.84, -1.5, 0.075}
-};
-
-static float tex[2][2][2] =
-{
- { {0, 0},
- {1, 0}},
- { {0, 1},
- {1, 1}}
-};
-
-/* *INDENT-ON* */
-
-static void
-teapot(GLint grid, GLdouble scale, GLenum type)
-{
- float p[4][4][3], q[4][4][3], r[4][4][3], s[4][4][3];
- long i, j, k, l;
-
- glPushAttrib(GL_ENABLE_BIT | GL_EVAL_BIT);
- glEnable(GL_AUTO_NORMAL);
- glEnable(GL_NORMALIZE);
- glEnable(GL_MAP2_VERTEX_3);
- glEnable(GL_MAP2_TEXTURE_COORD_2);
- glPushMatrix();
- glRotatef(270.0, 1.0, 0.0, 0.0);
- glScalef(0.5 * scale, 0.5 * scale, 0.5 * scale);
- glTranslatef(0.0, 0.0, -1.5);
- for (i = 0; i < 10; i++) {
- for (j = 0; j < 4; j++) {
- for (k = 0; k < 4; k++) {
- for (l = 0; l < 3; l++) {
- p[j][k][l] = cpdata[patchdata[i][j * 4 + k]][l];
- q[j][k][l] = cpdata[patchdata[i][j * 4 + (3 - k)]][l];
- if (l == 1)
- q[j][k][l] *= -1.0;
- if (i < 6) {
- r[j][k][l] =
- cpdata[patchdata[i][j * 4 + (3 - k)]][l];
- if (l == 0)
- r[j][k][l] *= -1.0;
- s[j][k][l] = cpdata[patchdata[i][j * 4 + k]][l];
- if (l == 0)
- s[j][k][l] *= -1.0;
- if (l == 1)
- s[j][k][l] *= -1.0;
- }
- }
- }
- }
- glMap2f(GL_MAP2_TEXTURE_COORD_2, 0, 1, 2, 2, 0, 1, 4, 2,
- &tex[0][0][0]);
- glMap2f(GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4,
- &p[0][0][0]);
- glMapGrid2f(grid, 0.0, 1.0, grid, 0.0, 1.0);
- glEvalMesh2(type, 0, grid, 0, grid);
- glMap2f(GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4,
- &q[0][0][0]);
- glEvalMesh2(type, 0, grid, 0, grid);
- if (i < 6) {
- glMap2f(GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4,
- &r[0][0][0]);
- glEvalMesh2(type, 0, grid, 0, grid);
- glMap2f(GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4,
- &s[0][0][0]);
- glEvalMesh2(type, 0, grid, 0, grid);
- }
- }
- glPopMatrix();
- glPopAttrib();
-}
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutSolidTeapot(GLdouble scale)
-{
- teapot(7, scale, GL_FILL);
-}
-
-void GLUTAPIENTRY
-glutWireTeapot(GLdouble scale)
-{
- teapot(10, scale, GL_LINE);
-}
-
-/* ENDCENTRY */
diff --git a/src/glut/directfb/window.c b/src/glut/directfb/window.c
deleted file mode 100644
index 62cf8bb33e..0000000000
--- a/src/glut/directfb/window.c
+++ /dev/null
@@ -1,597 +0,0 @@
-/*
- * Copyright (C) 2006 Claudio Ciccani <klan@users.sf.net>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-
-#include "internal.h"
-
-
-/*****************************************************************************/
-
-static __GlutWindow *g_stack = NULL;
-
-/*****************************************************************************/
-
-
-__GlutWindow*
-__glutCreateWindow( GLboolean fullscreen )
-{
- __GlutWindow *new;
- DFBResult ret;
- static int curid = 1;
-
- new = calloc( 1, sizeof(__GlutWindow) );
- if (!new)
- __glutFatalError( "out of memory" );
-
- new->id = curid++;
-
- if (fullscreen) {
- DFBDisplayLayerConfig config;
- DFBDisplayLayerConfigFlags fail = 0;
-
- config.flags = DLCONF_WIDTH | DLCONF_HEIGHT |
- DLCONF_BUFFERMODE;
- config.width = g_width;
- config.height = g_height;
-
- if (g_display_mode & GLUT_DOUBLE)
- config.buffermode = DLBM_BACKVIDEO;
- else
- config.buffermode = DLBM_FRONTONLY;
-
- if (g_bpp) {
- config.flags |= DLCONF_PIXELFORMAT;
-
- switch (g_bpp) {
- case 8:
- config.pixelformat = DSPF_RGB332;
- break;
- case 12:
- config.pixelformat = DSPF_ARGB4444;
- break;
- case 15:
- config.pixelformat = DSPF_ARGB1555;
- break;
- case 16:
- config.pixelformat = DSPF_RGB16;
- break;
- case 24:
- case 32:
- config.pixelformat = DSPF_RGB32;
- break;
- default:
- config.flags &= ~DLCONF_PIXELFORMAT;
- break;
- }
- }
-
- primary->TestConfiguration( primary, &config, &fail );
- config.flags &= ~fail;
- primary->SetConfiguration( primary, &config );
-
- ret = primary->GetSurface( primary, &new->surface );
- if (ret) {
- DirectFBError( "IDirectFBDisplayLayer::GetSurface()", ret );
- free( new );
- return NULL;
- }
-
- ret = new->surface->GetGL( new->surface, &new->gl );
- if (ret) {
- DirectFBError( "IDirectFBSurface::GetGL()", ret );
- new->surface->Release( new->surface );
- free( new );
- return NULL;
- }
-
- events->Reset( events );
- if (keyboard)
- keyboard->AttachEventBuffer( keyboard, events );
- if (mouse)
- mouse->AttachEventBuffer( mouse, events );
- if (joystick)
- joystick->AttachEventBuffer( joystick, events );
-
- new->visible = GL_TRUE;
- }
- else {
- DFBWindowDescription dsc;
-
- dsc.flags = DWDESC_CAPS | DWDESC_POSX | DWDESC_POSY |
- DWDESC_WIDTH | DWDESC_HEIGHT;
- dsc.caps = DWCAPS_NONE;
- dsc.posx = g_xpos;
- dsc.posy = g_ypos;
- dsc.width = g_width;
- dsc.height = g_height;
-
- if (g_display_mode & GLUT_DOUBLE)
- dsc.caps |= DWCAPS_DOUBLEBUFFER;
- if (g_display_mode & GLUT_ALPHA)
- dsc.caps |= DWCAPS_ALPHACHANNEL;
-
- ret = primary->CreateWindow( primary, &dsc, &new->window );
- if (ret) {
- DirectFBError( "IDirectFBDisplayLayer::CreateWindow()", ret );
- free( new );
- return NULL;
- }
-
- new->window->GetID( new->window, &new->wid );
-
- ret = new->window->GetSurface( new->window, &new->surface );
- if (ret) {
- DirectFBError( "IDirectFBWindow::GetSurface()", ret );
- new->window->Release( new->window );
- free( new );
- return NULL;
- }
-
- ret = new->surface->GetGL( new->surface, &new->gl );
- if (ret) {
- DirectFBError( "IDirectFBSurface::GetGl()", ret );
- new->surface->Release( new->surface );
- new->window->Release( new->window );
- free( new );
- return NULL;
- }
-
- new->window->AttachEventBuffer( new->window, events );
- /* enable only handled events */
- new->window->DisableEvents( new->window, DWET_ALL );
- new->window->EnableEvents( new->window, DWET_KEYDOWN | DWET_KEYUP |
- DWET_BUTTONDOWN | DWET_BUTTONUP |
- DWET_ENTER | DWET_LEAVE |
- DWET_MOTION | DWET_SIZE );
-
- new->req.flags |= WINDOW_REQUEST_SHOW;
- }
-
- new->mode = g_display_mode;
-
- new->reshape = GL_TRUE;
- new->visibility = GL_TRUE;
- new->redisplay = GL_TRUE;
-
- if (g_stack) {
- new->prev = g_stack->prev;
- g_stack->prev->next = new;
- g_stack->prev = new;
- }
- else {
- new->prev = new;
- g_stack = new;
- }
-
- return new;
-}
-
-
-__GlutWindow*
-__glutFindWindow( DFBWindowID id )
-{
- __GlutWindow *cur;
-
- for (cur = g_stack; cur; cur = cur->next) {
- if (cur->wid == id)
- return cur;
- }
-
- __glutFatalError( "Window %d not found", id );
-
- return NULL;
-}
-
-
-void
-__glutSetWindow( __GlutWindow *window )
-{
- if (g_current) {
- if (g_current == window)
- return;
- g_current->gl->Unlock( g_current->gl );
- }
-
- if (window)
- window->gl->Lock( window->gl );
- g_current = window;
-}
-
-
-void
-__glutHandleWindows( void )
-{
- __GlutWindow *cur = g_stack;
-
- while (cur) {
- __GlutWindow *next = cur->next;
- GLboolean displayed = GL_FALSE;
-
- if (cur->window && cur->req.flags) {
- if (cur == g_current)
- cur->gl->Unlock( cur->gl );
-
- if (cur->req.flags & WINDOW_REQUEST_DESTROY) {
- __glutDestroyWindow( cur );
- cur = next;
- continue;
- }
-
- if (cur->req.flags & WINDOW_REQUEST_POSITION) {
- cur->window->MoveTo( cur->window,
- cur->req.x, cur->req.y );
- }
-
- if (cur->req.flags & WINDOW_REQUEST_RESIZE) {
- cur->window->Resize( cur->window,
- cur->req.w, cur->req.h );
- cur->reshape = GL_TRUE;
- cur->redisplay = GL_TRUE;
- }
-
- if (cur->req.flags & WINDOW_REQUEST_RESTACK) {
- while (cur->req.z > 0) {
- if (cur->req.z >= +1000) {
- cur->window->RaiseToTop( cur->window );
- cur->req.z = 0;
- break;
- }
-
- cur->window->Raise( cur->window );
- cur->req.z--;
- }
-
- while (cur->req.z < 0) {
- if (cur->req.z <= -1000) {
- cur->window->LowerToBottom( cur->window );
- cur->req.z = 0;
- break;
- }
-
- cur->window->Lower( cur->window );
- cur->req.z++;
- }
- }
-
- if (cur->req.flags & WINDOW_REQUEST_SHOW) {
- cur->window->SetOpacity( cur->window, 0xff );
- cur->visible = GL_TRUE;
- cur->visibility = GL_TRUE;
- }
- else if (cur->req.flags & WINDOW_REQUEST_HIDE) {
- cur->window->SetOpacity( cur->window, 0x00 );
- cur->visible = GL_FALSE;
- cur->visibility = GL_TRUE;
- }
-
- cur->req.flags = 0;
-
- if (cur == g_current)
- cur->gl->Lock( cur->gl );
- }
-
- if (cur->reshape && reshape_func) {
- int w, h;
- g_idle = GL_FALSE;
- cur->surface->GetSize( cur->surface, &w, &h );
- __glutSetWindow( cur );
- reshape_func( w, h );
- displayed = GL_TRUE;
- }
-
- if (cur->visibility && visibility_func) {
- g_idle = GL_FALSE;
- __glutSetWindow( cur );
- visibility_func( cur->visible ? GLUT_VISIBLE : GLUT_NOT_VISIBLE );
- displayed = GL_TRUE;
- }
-
- if (cur->redisplay && display_func) {
- g_idle = GL_FALSE;
- __glutSetWindow( cur );
- display_func();
- displayed = GL_TRUE;
- }
-
- if (displayed && cur->window && cur->visible) {
- if (!(cur->mode & GLUT_DOUBLE)) {
- cur->gl->Unlock( cur->gl );
- cur->surface->Flip( cur->surface, NULL, 0 );
- cur->gl->Lock( cur->gl );
- }
- }
-
- cur->reshape = GL_FALSE;
- cur->visibility = GL_FALSE;
- cur->redisplay = GL_FALSE;
-
- cur = next;
- }
-}
-
-
-void
-__glutDestroyWindow( __GlutWindow *window )
-{
- __GlutWindow *next = window->next;
- __GlutWindow *prev = window->prev;
-
- __glutAssert( window != NULL );
-
- if (window == g_current)
- g_current = NULL;
- if (window == g_game)
- g_game = NULL;
-
- window->gl->Unlock( window->gl );
- window->gl->Release( window->gl );
- window->surface->Release( window->surface );
-
- if (window->window) {
-#if DIRECTFB_VERSION_CODE >= VERSION_CODE(0,9,26)
- window->window->DetachEventBuffer( window->window, events );
-#else
- window->window->Destroy( window->window );
-#endif
- window->window->Release( window->window );
- }
- else {
-#if DIRECTFB_VERSION_CODE >= VERSION_CODE(0,9,26)
- if (joystick)
- joystick->DetachEventBuffer( joystick, events );
- if (mouse)
- mouse->DetachEventBuffer( mouse, events );
- if (keyboard)
- keyboard->DetachEventBuffer( keyboard, events );
-#endif
- events->Reset( events );
- }
-
- free( window );
-
- if (next)
- next->prev = prev;
- else
- g_stack->prev = prev;
-
- if (window == g_stack)
- g_stack = next;
- else
- prev->next = next;
-}
-
-
-void
-__glutDestroyWindows( void )
-{
- __GlutWindow *cur = g_stack;
-
- while (cur) {
- __GlutWindow *next = cur->next;
- __glutDestroyWindow( cur );
- cur = next;
- }
-}
-
-
-int GLUTAPIENTRY
-glutCreateWindow( const char *title )
-{
- __GlutWindow *window;
-
- if (getenv( "__GLUT_GAME_MODE" ))
- return glutEnterGameMode();
-
- glutInit( NULL, NULL );
-
- window = __glutCreateWindow( GL_FALSE );
- if (!window)
- return 0;
-
- __glutSetWindow( window );
- glutSetCursor( GLUT_CURSOR_INHERIT );
-
- return window->id;
-}
-
-
-int GLUTAPIENTRY
-glutCreateSubWindow( int win, int x, int y, int width, int height )
-{
- return GL_FALSE;
-}
-
-
-void GLUTAPIENTRY
-glutDestroyWindow( int win )
-{
- __GlutWindow *cur;
-
- for (cur = g_stack; cur; cur = cur->next) {
- if (cur->id == win) {
- if (cur->window)
- cur->window->Destroy( cur->window );
-
- cur->req.flags |= WINDOW_REQUEST_DESTROY;
- break;
- }
- }
-}
-
-
-void GLUTAPIENTRY
-glutPostRedisplay( void )
-{
- if (g_current)
- g_current->redisplay = GL_TRUE;
-}
-
-
-void GLUTAPIENTRY
-glutPostWindowRedisplay( int win )
-{
- __GlutWindow *cur;
-
- for (cur = g_stack; cur; cur = cur->next) {
- if (cur->id == win) {
- cur->redisplay = GL_TRUE;
- break;
- }
- }
-}
-
-
-void GLUTAPIENTRY
-glutSwapBuffers( void )
-{
- if (g_current) {
- g_current->gl->Unlock( g_current->gl );
- g_current->surface->Flip( g_current->surface, NULL, 0 );
- g_current->gl->Lock( g_current->gl );
- }
-}
-
-
-int GLUTAPIENTRY
-glutGetWindow( void )
-{
- return (g_current) ? g_current->id : 0;
-}
-
-
-void GLUTAPIENTRY
-glutSetWindow( int win )
-{
- __GlutWindow *cur;
-
- if (g_current && g_current->id == win)
- return;
-
- for (cur = g_stack; cur; cur = cur->next) {
- if (cur->id == win) {
- __glutSetWindow( cur );
- break;
- }
- }
-}
-
-
-void GLUTAPIENTRY
-glutSetWindowTitle( const char *title )
-{
-}
-
-
-void GLUTAPIENTRY
-glutSetIconTitle( const char *title )
-{
-}
-
-
-void GLUTAPIENTRY
-glutFullScreen( void )
-{
- if (g_current && !g_game) {
- DFBDisplayLayerConfig config;
-
- primary->GetConfiguration( primary, &config );
-
- g_current->req.flags |= WINDOW_REQUEST_POSITION |
- WINDOW_REQUEST_RESIZE |
- WINDOW_REQUEST_RESTACK;
- g_current->req.x = 0;
- g_current->req.y = 0;
- g_current->req.w = config.width;
- g_current->req.h = config.height;
- g_current->req.z = 1000;
- }
-}
-
-
-void GLUTAPIENTRY
-glutPositionWindow( int x, int y )
-{
- if (g_current && !g_game) {
- g_current->req.flags |= WINDOW_REQUEST_POSITION;
- g_current->req.x = x;
- g_current->req.y = y;
- }
-}
-
-
-void GLUTAPIENTRY
-glutReshapeWindow( int width, int height )
-{
- if (g_current && !g_game) {
- g_current->req.flags |= WINDOW_REQUEST_RESIZE;
- g_current->req.w = width;
- g_current->req.h = height;
- }
-}
-
-
-void GLUTAPIENTRY
-glutPopWindow( void )
-{
- if (g_current && !g_game) {
- g_current->req.flags |= WINDOW_REQUEST_RESTACK;
- g_current->req.z--;
- }
-}
-
-
-void GLUTAPIENTRY
-glutPushWindow( void )
-{
- if (g_current && !g_game) {
- g_current->req.flags |= WINDOW_REQUEST_RESTACK;
- g_current->req.z++;
- }
-}
-
-
-void GLUTAPIENTRY
-glutIconifyWindow( void )
-{
-}
-
-
-void GLUTAPIENTRY
-glutShowWindow( void )
-{
- if (g_current && !g_game) {
- g_current->req.flags |= WINDOW_REQUEST_SHOW;
- g_current->req.flags &= ~WINDOW_REQUEST_HIDE;
- }
-}
-
-
-void GLUTAPIENTRY
-glutHideWindow( void )
-{
- if (g_current && !g_game) {
- g_current->req.flags |= WINDOW_REQUEST_HIDE;
- g_current->req.flags &= ~WINDOW_REQUEST_SHOW;
- }
-}
-
diff --git a/src/glut/dos/PC_HW/pc_hw.c b/src/glut/dos/PC_HW/pc_hw.c
deleted file mode 100644
index 100b372165..0000000000
--- a/src/glut/dos/PC_HW/pc_hw.c
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * PC/HW routine collection v1.3 for DOS/DJGPP
- *
- * Copyright (C) 2002 - Daniel Borca
- * Email : dborca@yahoo.com
- * Web : http://www.geocities.com/dborca
- */
-
-
-#include <dpmi.h>
-#include <fcntl.h>
-#include <sys/stat.h> /* for mode definitions */
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-
-#include "pc_hw.h"
-
-
-/*
- * atexit
- */
-#define MAX_ATEXIT 32
-
-static volatile int atexitcnt;
-static VFUNC atexittbl[MAX_ATEXIT];
-
-
-static void __attribute__((destructor))
-doexit (void)
-{
- while (atexitcnt) atexittbl[--atexitcnt]();
-}
-
-
-int
-pc_clexit (VFUNC f)
-{
- int i;
-
- for (i = 0; i < atexitcnt; i++) {
- if (atexittbl[i] == f) {
- for (atexitcnt--; i < atexitcnt; i++) atexittbl[i] = atexittbl[i+1];
- atexittbl[i] = 0;
- return 0;
- }
- }
- return -1;
-}
-
-
-int
-pc_atexit (VFUNC f)
-{
- pc_clexit(f);
- if (atexitcnt < MAX_ATEXIT) {
- atexittbl[atexitcnt++] = f;
- return 0;
- }
- return -1;
-}
-
-
-/*
- * locked memory allocation
- */
-void *
-pc_malloc (size_t size)
-{
- void *p = malloc(size);
-
- if (p) {
- if (_go32_dpmi_lock_data(p, size)) {
- free(p);
- return NULL;
- }
- }
-
- return p;
-}
-
-
-/*
- * standard redirection
- */
-static char outname[L_tmpnam];
-static int h_out, h_outbak;
-static char errname[L_tmpnam];
-static int h_err, h_errbak;
-
-
-int
-pc_open_stdout (void)
-{
- tmpnam(outname);
-
- if ((h_out=open(outname, O_WRONLY | O_CREAT | O_TEXT | O_TRUNC, S_IREAD | S_IWRITE)) > 0) {
- h_outbak = dup(STDOUT_FILENO);
- fflush(stdout);
- dup2(h_out, STDOUT_FILENO);
- }
-
- return h_out;
-}
-
-
-void
-pc_close_stdout (void)
-{
- FILE *f;
- char *line = alloca(512);
-
- if (h_out > 0) {
- dup2(h_outbak, STDOUT_FILENO);
- close(h_out);
- close(h_outbak);
-
- f = fopen(outname, "rt");
- while (fgets(line, 512, f)) {
- fputs(line, stdout);
- }
- fclose(f);
-
- remove(outname);
- }
-}
-
-
-int
-pc_open_stderr (void)
-{
- tmpnam(errname);
-
- if ((h_err=open(errname, O_WRONLY | O_CREAT | O_TEXT | O_TRUNC, S_IREAD | S_IWRITE)) > 0) {
- h_errbak = dup(STDERR_FILENO);
- fflush(stderr);
- dup2(h_err, STDERR_FILENO);
- }
-
- return h_err;
-}
-
-
-void
-pc_close_stderr (void)
-{
- FILE *f;
- char *line = alloca(512);
-
- if (h_err > 0) {
- dup2(h_errbak, STDERR_FILENO);
- close(h_err);
- close(h_errbak);
-
- f = fopen(errname, "rt");
- while (fgets(line, 512, f)) {
- fputs(line, stderr);
- }
- fclose(f);
-
- remove(errname);
- }
-}
diff --git a/src/glut/dos/PC_HW/pc_hw.h b/src/glut/dos/PC_HW/pc_hw.h
deleted file mode 100644
index 41948ec991..0000000000
--- a/src/glut/dos/PC_HW/pc_hw.h
+++ /dev/null
@@ -1,229 +0,0 @@
-/*
- * PC/HW routine collection v1.4 for DOS/DJGPP
- *
- * Copyright (C) 2002 - Daniel Borca
- * Email : dborca@yahoo.com
- * Web : http://www.geocities.com/dborca
- */
-
-
-#ifndef PC_HW_H_included
-#define PC_HW_H_included
-
-#include <dpmi.h>
-#include <stdlib.h>
-
-/*
- * misc C definitions
- */
-#define FALSE 0
-#define TRUE !FALSE
-
-#define SQR(x) ((x) * (x))
-
-#define MIN(x,y) (((x) < (y)) ? (x) : (y))
-#define MAX(x,y) (((x) > (y)) ? (x) : (y))
-#define MID(x,y,z) MAX((x), MIN((y), (z)))
-
-typedef void (*VFUNC) (void);
-typedef void (*PFUNC) (void *);
-typedef void (*MFUNC) (int x, int y, int z, int b);
-
-/*
- * atexit
- */
-int pc_atexit (VFUNC f);
-int pc_clexit (VFUNC f);
-
-/*
- * locked memory
- */
-#define ENDOFUNC(x) static void x##_end() { }
-#define LOCKFUNC(x) _go32_dpmi_lock_code((void *)x, (long)x##_end - (long)x)
-#define LOCKDATA(x) _go32_dpmi_lock_data((void *)&x, sizeof(x))
-#define LOCKBUFF(x, l) _go32_dpmi_lock_data((void *)x, l)
-
-void *pc_malloc (size_t size);
-
-/*
- * IRQ
- */
-#define ENABLE() __asm __volatile ("sti")
-#define DISABLE() __asm __volatile ("cli")
-
-extern int pc_install_irq (int i, int (*handler) ());
-extern int pc_remove_irq (int i);
-
-/*
- * keyboard
- */
-#define KB_SHIFT_FLAG 0x0001
-#define KB_CTRL_FLAG 0x0002
-#define KB_ALT_FLAG 0x0004
-#define KB_LWIN_FLAG 0x0008
-#define KB_RWIN_FLAG 0x0010
-#define KB_MENU_FLAG 0x0020
-#define KB_SCROLOCK_FLAG 0x0100
-#define KB_NUMLOCK_FLAG 0x0200
-#define KB_CAPSLOCK_FLAG 0x0400
-#define KB_INALTSEQ_FLAG 0x0800
-#define KB_ACCENT1_FLAG 0x1000
-#define KB_ACCENT2_FLAG 0x2000
-#define KB_ACCENT3_FLAG 0x4000
-#define KB_ACCENT4_FLAG 0x8000
-
-#define KEY_A 1
-#define KEY_B 2
-#define KEY_C 3
-#define KEY_D 4
-#define KEY_E 5
-#define KEY_F 6
-#define KEY_G 7
-#define KEY_H 8
-#define KEY_I 9
-#define KEY_J 10
-#define KEY_K 11
-#define KEY_L 12
-#define KEY_M 13
-#define KEY_N 14
-#define KEY_O 15
-#define KEY_P 16
-#define KEY_Q 17
-#define KEY_R 18
-#define KEY_S 19
-#define KEY_T 20
-#define KEY_U 21
-#define KEY_V 22
-#define KEY_W 23
-#define KEY_X 24
-#define KEY_Y 25
-#define KEY_Z 26
-#define KEY_0 27
-#define KEY_1 28
-#define KEY_2 29
-#define KEY_3 30
-#define KEY_4 31
-#define KEY_5 32
-#define KEY_6 33
-#define KEY_7 34
-#define KEY_8 35
-#define KEY_9 36
-#define KEY_0_PAD 37
-#define KEY_1_PAD 38
-#define KEY_2_PAD 39
-#define KEY_3_PAD 40
-#define KEY_4_PAD 41
-#define KEY_5_PAD 42
-#define KEY_6_PAD 43
-#define KEY_7_PAD 44
-#define KEY_8_PAD 45
-#define KEY_9_PAD 46
-#define KEY_F1 47
-#define KEY_F2 48
-#define KEY_F3 49
-#define KEY_F4 50
-#define KEY_F5 51
-#define KEY_F6 52
-#define KEY_F7 53
-#define KEY_F8 54
-#define KEY_F9 55
-#define KEY_F10 56
-#define KEY_F11 57
-#define KEY_F12 58
-#define KEY_ESC 59
-#define KEY_TILDE 60
-#define KEY_MINUS 61
-#define KEY_EQUALS 62
-#define KEY_BACKSPACE 63
-#define KEY_TAB 64
-#define KEY_OPENBRACE 65
-#define KEY_CLOSEBRACE 66
-#define KEY_ENTER 67
-#define KEY_COLON 68
-#define KEY_QUOTE 69
-#define KEY_BACKSLASH 70
-#define KEY_BACKSLASH2 71
-#define KEY_COMMA 72
-#define KEY_STOP 73
-#define KEY_SLASH 74
-#define KEY_SPACE 75
-#define KEY_INSERT 76
-#define KEY_DEL 77
-#define KEY_HOME 78
-#define KEY_END 79
-#define KEY_PGUP 80
-#define KEY_PGDN 81
-#define KEY_LEFT 82
-#define KEY_RIGHT 83
-#define KEY_UP 84
-#define KEY_DOWN 85
-#define KEY_SLASH_PAD 86
-#define KEY_ASTERISK 87
-#define KEY_MINUS_PAD 88
-#define KEY_PLUS_PAD 89
-#define KEY_DEL_PAD 90
-#define KEY_ENTER_PAD 91
-#define KEY_PRTSCR 92
-#define KEY_PAUSE 93
-#define KEY_ABNT_C1 94
-#define KEY_YEN 95
-#define KEY_KANA 96
-#define KEY_CONVERT 97
-#define KEY_NOCONVERT 98
-#define KEY_AT 99
-#define KEY_CIRCUMFLEX 100
-#define KEY_COLON2 101
-#define KEY_KANJI 102
-
-#define KEY_MODIFIERS 103
-
-#define KEY_LSHIFT 103
-#define KEY_RSHIFT 104
-#define KEY_LCONTROL 105
-#define KEY_RCONTROL 106
-#define KEY_ALT 107
-#define KEY_ALTGR 108
-#define KEY_LWIN 109
-#define KEY_RWIN 110
-#define KEY_MENU 111
-#define KEY_SCRLOCK 112
-#define KEY_NUMLOCK 113
-#define KEY_CAPSLOCK 114
-
-#define KEY_MAX 115
-
-int pc_install_keyb (void);
-void pc_remove_keyb (void);
-int pc_keypressed (void);
-int pc_readkey (void);
-int pc_keydown (int code);
-int pc_keyshifts (void);
-
-/*
- * timer
- */
-int pc_install_int (PFUNC func, void *parm, unsigned int freq);
-int pc_remove_int (int fid);
-int pc_adjust_int (int fid, unsigned int freq);
-void pc_remove_timer (void);
-
-/*
- * mouse
- */
-int pc_install_mouse (void);
-void pc_remove_mouse (void);
-MFUNC pc_install_mouse_handler (MFUNC handler);
-void pc_mouse_area (int x1, int y1, int x2, int y2);
-void pc_mouse_speed (int xspeed, int yspeed);
-int pc_query_mouse (int *x, int *y, int *z);
-void pc_warp_mouse (int x, int y);
-
-/*
- * standard redirection
- */
-int pc_open_stdout (void);
-int pc_open_stderr (void);
-void pc_close_stdout (void);
-void pc_close_stderr (void);
-
-#endif
diff --git a/src/glut/dos/PC_HW/pc_irq.S b/src/glut/dos/PC_HW/pc_irq.S
deleted file mode 100644
index 7d62ac74ce..0000000000
--- a/src/glut/dos/PC_HW/pc_irq.S
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- * PC/HW routine collection v1.3 for DOS/DJGPP
- *
- * Copyright (C) 2002 - Daniel Borca
- * Email : dborca@yahoo.com
- * Web : http://www.geocities.com/dborca
- */
-
-
- .file "pc_irq.S"
-
- .text
-
-#define IRQ_STACK_SIZE 16384
-
-#define IRQ_WRAPPER_LEN (__irq_wrapper_1-__irq_wrapper_0)
-#define IRQ_OLD (__irq_old_0-__irq_wrapper_0)
-#define IRQ_HOOK (__irq_hook_0-__irq_wrapper_0)
-#define IRQ_STACK (__irq_stack_0-__irq_wrapper_0)
-
- .balign 4
-common:
- movw $0x0400, %ax
- int $0x31
-
- movl %ss:8(%ebp), %ebx
- cmpl $15, %ebx
- jbe 0f
- fail:
- orl $-1, %eax
- popl %edi
- popl %ebx
- leave
- ret
-
- 0:
- movl %ebx, %edi
- imull $IRQ_WRAPPER_LEN, %edi
- addl $__irq_wrapper_0, %edi
-
- cmpb $7, %bl
- jbe 1f
- movb %dl, %dh
- subb $8, %dh
- 1:
- addb %dh, %bl
- ret
-
- .balign 4
- .global _pc_install_irq
-_pc_install_irq:
- pushl %ebp
- movl %esp, %ebp
- pushl %ebx
- pushl %edi
-
- call common
-
- cmpl $0, IRQ_HOOK(%edi)
- jne fail
-
- pushl $IRQ_WRAPPER_LEN
- pushl %edi
- call __go32_dpmi_lock_code
- addl $8, %esp
- testl %eax, %eax
- jnz fail
-
- pushl $IRQ_STACK_SIZE
- call _pc_malloc
- popl %edx
- testl %eax, %eax
- jz fail
- addl %edx, %eax
- movl %eax, IRQ_STACK(%edi)
-
- movl ___djgpp_ds_alias, %eax
- movl %eax, IRQ_STACK+4(%edi)
-
- movl %ss:12(%ebp), %eax
- movl %eax, IRQ_HOOK(%edi)
-
- movw $0x0204, %ax
- int $0x31
- movl %edx, IRQ_OLD(%edi)
- movw %cx, IRQ_OLD+4(%edi)
- movw $0x0205, %ax
- movl %edi, %edx
- movl %cs, %ecx
- int $0x31
-
- done:
- xorl %eax, %eax
- popl %edi
- popl %ebx
- leave
- ret
-
- .balign 4
- .global _pc_remove_irq
-_pc_remove_irq:
- pushl %ebp
- movl %esp, %ebp
- pushl %ebx
- pushl %edi
-
- call common
-
- cmpl $0, IRQ_HOOK(%edi)
- je fail
-
- movl $0, IRQ_HOOK(%edi)
-
- movw $0x0205, %ax
- movl IRQ_OLD(%edi), %edx
- movl IRQ_OLD+4(%edi), %ecx
- int $0x31
-
- movl IRQ_STACK(%edi), %eax
- subl $IRQ_STACK_SIZE, %eax
- pushl %eax
- call _free
- popl %eax
-
- jmp done
-
-#define WRAPPER(x) ; \
- .balign 4 ; \
-__irq_wrapper_##x: ; \
- pushal ; \
- pushl %ds ; \
- pushl %es ; \
- pushl %fs ; \
- pushl %gs ; \
- movl %ss, %ebx ; \
- movl %esp, %esi ; \
- lss %cs:__irq_stack_##x, %esp ; \
- pushl %ss ; \
- pushl %ss ; \
- popl %es ; \
- popl %ds ; \
- movl ___djgpp_dos_sel, %fs ; \
- pushl %fs ; \
- popl %gs ; \
- call *__irq_hook_##x ; \
- movl %ebx, %ss ; \
- movl %esi, %esp ; \
- testl %eax, %eax ; \
- popl %gs ; \
- popl %fs ; \
- popl %es ; \
- popl %ds ; \
- popal ; \
- jz __irq_ignore_##x ; \
-__irq_bypass_##x: ; \
- ljmp *%cs:__irq_old_##x ; \
-__irq_ignore_##x: ; \
- iret ; \
- .balign 4 ; \
-__irq_old_##x: ; \
- .long 0, 0 ; \
-__irq_hook_##x: ; \
- .long 0 ; \
-__irq_stack_##x: ; \
- .long 0, 0
-
- WRAPPER(0);
- WRAPPER(1);
- WRAPPER(2);
- WRAPPER(3);
- WRAPPER(4);
- WRAPPER(5);
- WRAPPER(6);
- WRAPPER(7);
- WRAPPER(8);
- WRAPPER(9);
- WRAPPER(10);
- WRAPPER(11);
- WRAPPER(12);
- WRAPPER(13);
- WRAPPER(14);
- WRAPPER(15);
diff --git a/src/glut/dos/PC_HW/pc_keyb.c b/src/glut/dos/PC_HW/pc_keyb.c
deleted file mode 100644
index d7e3257b9d..0000000000
--- a/src/glut/dos/PC_HW/pc_keyb.c
+++ /dev/null
@@ -1,540 +0,0 @@
-/*
- * PC/HW routine collection v1.3 for DOS/DJGPP
- *
- * Copyright (C) 2002 - Daniel Borca
- * Email : dborca@yahoo.com
- * Web : http://www.geocities.com/dborca
- */
-
-
-#include <pc.h>
-#include <sys/exceptn.h>
-#include <sys/farptr.h>
-
-#include "pc_hw.h"
-
-
-#define KEYB_IRQ 1
-
-#define KEY_BUFFER_SIZE 64
-
-#define KB_MODIFIERS (KB_SHIFT_FLAG | KB_CTRL_FLAG | KB_ALT_FLAG | KB_LWIN_FLAG | KB_RWIN_FLAG | KB_MENU_FLAG)
-#define KB_LED_FLAGS (KB_SCROLOCK_FLAG | KB_NUMLOCK_FLAG | KB_CAPSLOCK_FLAG)
-
-static int keyboard_installed;
-
-static volatile struct {
- volatile int start, end;
- volatile int key[KEY_BUFFER_SIZE];
-} key_buffer;
-
-static volatile int key_enhanced, key_pause_loop, key_shifts;
-static int leds_ok = TRUE;
-static int in_a_terrupt = FALSE;
-static volatile char pc_key[KEY_MAX];
-
-
-/* convert Allegro format scancodes into key_shifts flag bits */
-static unsigned short modifier_table[KEY_MAX - KEY_MODIFIERS] = {
- KB_SHIFT_FLAG, KB_SHIFT_FLAG, KB_CTRL_FLAG,
- KB_CTRL_FLAG, KB_ALT_FLAG, KB_ALT_FLAG,
- KB_LWIN_FLAG, KB_RWIN_FLAG, KB_MENU_FLAG,
- KB_SCROLOCK_FLAG, KB_NUMLOCK_FLAG, KB_CAPSLOCK_FLAG
-};
-
-
-/* lookup table for converting hardware scancodes into Allegro format */
-static unsigned char hw_to_mycode[128] = {
- /* 0x00 */ 0, KEY_ESC, KEY_1, KEY_2,
- /* 0x04 */ KEY_3, KEY_4, KEY_5, KEY_6,
- /* 0x08 */ KEY_7, KEY_8, KEY_9, KEY_0,
- /* 0x0C */ KEY_MINUS, KEY_EQUALS, KEY_BACKSPACE, KEY_TAB,
- /* 0x10 */ KEY_Q, KEY_W, KEY_E, KEY_R,
- /* 0x14 */ KEY_T, KEY_Y, KEY_U, KEY_I,
- /* 0x18 */ KEY_O, KEY_P, KEY_OPENBRACE, KEY_CLOSEBRACE,
- /* 0x1C */ KEY_ENTER, KEY_LCONTROL, KEY_A, KEY_S,
- /* 0x20 */ KEY_D, KEY_F, KEY_G, KEY_H,
- /* 0x24 */ KEY_J, KEY_K, KEY_L, KEY_COLON,
- /* 0x28 */ KEY_QUOTE, KEY_TILDE, KEY_LSHIFT, KEY_BACKSLASH,
- /* 0x2C */ KEY_Z, KEY_X, KEY_C, KEY_V,
- /* 0x30 */ KEY_B, KEY_N, KEY_M, KEY_COMMA,
- /* 0x34 */ KEY_STOP, KEY_SLASH, KEY_RSHIFT, KEY_ASTERISK,
- /* 0x38 */ KEY_ALT, KEY_SPACE, KEY_CAPSLOCK, KEY_F1,
- /* 0x3C */ KEY_F2, KEY_F3, KEY_F4, KEY_F5,
- /* 0x40 */ KEY_F6, KEY_F7, KEY_F8, KEY_F9,
- /* 0x44 */ KEY_F10, KEY_NUMLOCK, KEY_SCRLOCK, KEY_7_PAD,
- /* 0x48 */ KEY_8_PAD, KEY_9_PAD, KEY_MINUS_PAD, KEY_4_PAD,
- /* 0x4C */ KEY_5_PAD, KEY_6_PAD, KEY_PLUS_PAD, KEY_1_PAD,
- /* 0x50 */ KEY_2_PAD, KEY_3_PAD, KEY_0_PAD, KEY_DEL_PAD,
- /* 0x54 */ KEY_PRTSCR, 0, KEY_BACKSLASH2, KEY_F11,
- /* 0x58 */ KEY_F12, 0, 0, KEY_LWIN,
- /* 0x5C */ KEY_RWIN, KEY_MENU, 0, 0,
- /* 0x60 */ 0, 0, 0, 0,
- /* 0x64 */ 0, 0, 0, 0,
- /* 0x68 */ 0, 0, 0, 0,
- /* 0x6C */ 0, 0, 0, 0,
- /* 0x70 */ KEY_KANA, 0, 0, KEY_ABNT_C1,
- /* 0x74 */ 0, 0, 0, 0,
- /* 0x78 */ 0, KEY_CONVERT, 0, KEY_NOCONVERT,
- /* 0x7C */ 0, KEY_YEN, 0, 0
-};
-
-
-/* lookup table for converting extended hardware codes into Allegro format */
-static unsigned char hw_to_mycode_ex[128] = {
- /* 0x00 */ 0, KEY_ESC, KEY_1, KEY_2,
- /* 0x04 */ KEY_3, KEY_4, KEY_5, KEY_6,
- /* 0x08 */ KEY_7, KEY_8, KEY_9, KEY_0,
- /* 0x0C */ KEY_MINUS, KEY_EQUALS, KEY_BACKSPACE, KEY_TAB,
- /* 0x10 */ KEY_CIRCUMFLEX, KEY_AT, KEY_COLON2, KEY_R,
- /* 0x14 */ KEY_KANJI, KEY_Y, KEY_U, KEY_I,
- /* 0x18 */ KEY_O, KEY_P, KEY_OPENBRACE, KEY_CLOSEBRACE,
- /* 0x1C */ KEY_ENTER_PAD, KEY_RCONTROL, KEY_A, KEY_S,
- /* 0x20 */ KEY_D, KEY_F, KEY_G, KEY_H,
- /* 0x24 */ KEY_J, KEY_K, KEY_L, KEY_COLON,
- /* 0x28 */ KEY_QUOTE, KEY_TILDE, 0, KEY_BACKSLASH,
- /* 0x2C */ KEY_Z, KEY_X, KEY_C, KEY_V,
- /* 0x30 */ KEY_B, KEY_N, KEY_M, KEY_COMMA,
- /* 0x34 */ KEY_STOP, KEY_SLASH_PAD, 0, KEY_PRTSCR,
- /* 0x38 */ KEY_ALTGR, KEY_SPACE, KEY_CAPSLOCK, KEY_F1,
- /* 0x3C */ KEY_F2, KEY_F3, KEY_F4, KEY_F5,
- /* 0x40 */ KEY_F6, KEY_F7, KEY_F8, KEY_F9,
- /* 0x44 */ KEY_F10, KEY_NUMLOCK, KEY_PAUSE, KEY_HOME,
- /* 0x48 */ KEY_UP, KEY_PGUP, KEY_MINUS_PAD, KEY_LEFT,
- /* 0x4C */ KEY_5_PAD, KEY_RIGHT, KEY_PLUS_PAD, KEY_END,
- /* 0x50 */ KEY_DOWN, KEY_PGDN, KEY_INSERT, KEY_DEL,
- /* 0x54 */ KEY_PRTSCR, 0, KEY_BACKSLASH2, KEY_F11,
- /* 0x58 */ KEY_F12, 0, 0, KEY_LWIN,
- /* 0x5C */ KEY_RWIN, KEY_MENU, 0, 0,
- /* 0x60 */ 0, 0, 0, 0,
- /* 0x64 */ 0, 0, 0, 0,
- /* 0x68 */ 0, 0, 0, 0,
- /* 0x6C */ 0, 0, 0, 0,
- /* 0x70 */ 0, 0, 0, 0,
- /* 0x74 */ 0, 0, 0, 0,
- /* 0x78 */ 0, 0, 0, 0,
- /* 0x7C */ 0, 0, 0, 0
-};
-
-
-/* default mapping table for the US keyboard layout */
-static unsigned short standard_key_ascii_table[KEY_MAX] = {
- /* start */ 0,
- /* alphabet */ 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
- /* numbers */ '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
- /* numpad */ '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
- /* func keys */ 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- /* misc chars */ 27, '`', '-', '=', 8, 9, '[', ']', 13, ';', '\'', '\\', '\\', ',', '.', '/', ' ',
- /* controls */ 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- /* numpad */ '/', '*', '-', '+', '.', 13,
- /* modifiers */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
-};
-
-
-/* capslock mapping table for the US keyboard layout */
-static unsigned short standard_key_capslock_table[KEY_MAX] = {
- /* start */ 0,
- /* alphabet */ 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
- /* numbers */ '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
- /* numpad */ '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
- /* func keys */ 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- /* misc chars */ 27, '`', '-', '=', 8, 9, '[', ']', 13, ';', '\'', '\\', '\\', ',', '.', '/', ' ',
- /* controls */ 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- /* numpad */ '/', '*', '-', '+', '.', 13,
- /* modifiers */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
-};
-
-
-/* shifted mapping table for the US keyboard layout */
-static unsigned short standard_key_shift_table[KEY_MAX] = {
- /* start */ 0,
- /* alphabet */ 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
- /* numbers */ ')', '!', '@', '#', '$', '%', '^', '&', '*', '(',
- /* numpad */ '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
- /* func keys */ 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- /* misc chars */ 27, '~', '_', '+', 8, 9, '{', '}', 13, ':', '"', '|', '|', '<', '>', '?', ' ',
- /* controls */ 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- /* numpad */ '/', '*', '-', '+', '.', 13,
- /* modifiers */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
-};
-
-
-/* ctrl+key mapping table for the US keyboard layout */
-static unsigned short standard_key_control_table[KEY_MAX] = {
- /* start */ 0,
- /* alphabet */ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
- /* numbers */ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- /* numpad */ '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
- /* func keys */ 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- /* misc chars */ 27, 2, 2, 2, 127, 127, 2, 2, 10, 2, 2, 2, 2, 2, 2, 2, 2,
- /* controls */ 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- /* numpad */ 2, 2, 2, 2, 2, 10,
- /* modifiers */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
-};
-
-
-/* convert numeric pad scancodes into arrow codes */
-static unsigned char numlock_table[10] = {
- KEY_INSERT, KEY_END, KEY_DOWN, KEY_PGDN, KEY_LEFT,
- KEY_5_PAD, KEY_RIGHT, KEY_HOME, KEY_UP, KEY_PGUP
-};
-
-
-/* kb_wait_for_write_ready:
- * Wait for the keyboard controller to set the ready-for-write bit.
- */
-static __inline int
-kb_wait_for_write_ready (void)
-{
- int timeout = 4096;
-
- while ((timeout > 0) && (inportb(0x64) & 2)) timeout--;
-
- return (timeout > 0);
-}
-
-
-/* kb_wait_for_read_ready:
- * Wait for the keyboard controller to set the ready-for-read bit.
- */
-static __inline int
-kb_wait_for_read_ready (void)
-{
- int timeout = 16384;
-
- while ((timeout > 0) && (!(inportb(0x64) & 1))) timeout--;
-
- return (timeout > 0);
-}
-
-
-/* kb_send_data:
- * Sends a byte to the keyboard controller. Returns 1 if all OK.
- */
-static __inline int
-kb_send_data (unsigned char data)
-{
- int resends = 4;
- int timeout, temp;
-
- do {
- if (!kb_wait_for_write_ready())
- return 0;
-
- outportb(0x60, data);
- timeout = 4096;
-
- while (--timeout > 0) {
- if (!kb_wait_for_read_ready())
- return 0;
-
- temp = inportb(0x60);
-
- if (temp == 0xFA)
- return 1;
-
- if (temp == 0xFE)
- break;
- }
- } while ((resends-- > 0) && (timeout > 0));
-
- return 0;
-}
-
-
-static void
-update_leds (int leds)
-{
- if (leds_ok) {
- if (!in_a_terrupt)
- DISABLE();
-
- if (!kb_send_data(0xED)) {
- kb_send_data(0xF4);
- leds_ok = FALSE;
- } else if (!kb_send_data((leds >> 8) & 7)) {
- kb_send_data(0xF4);
- leds_ok = FALSE;
- }
-
- if (!in_a_terrupt)
- ENABLE();
- }
-} ENDOFUNC(update_leds)
-
-
-static void
-inject_key (int scancode)
-{
- unsigned short *table;
-
- if ((scancode >= KEY_0_PAD) && (scancode <= KEY_9_PAD)) {
- if (((key_shifts & KB_NUMLOCK_FLAG) != 0) == ((key_shifts & KB_SHIFT_FLAG) != 0)) {
- scancode = numlock_table[scancode - KEY_0_PAD];
- }
- table = standard_key_ascii_table;
- } else if (key_shifts & KB_CTRL_FLAG) {
- table = standard_key_control_table;
- } else if (key_shifts & KB_SHIFT_FLAG) {
- if (key_shifts & KB_CAPSLOCK_FLAG) {
- if (standard_key_ascii_table[scancode] == standard_key_capslock_table[scancode]) {
- table = standard_key_shift_table;
- } else {
- table = standard_key_ascii_table;
- }
- } else {
- table = standard_key_shift_table;
- }
- } else if (key_shifts & KB_CAPSLOCK_FLAG) {
- table = standard_key_capslock_table;
- } else {
- table = standard_key_ascii_table;
- }
-
- key_buffer.key[key_buffer.end++] = (scancode << 16) | table[scancode];
-
- if (key_buffer.end >= KEY_BUFFER_SIZE)
- key_buffer.end = 0;
- if (key_buffer.end == key_buffer.start) {
- key_buffer.start++;
- if (key_buffer.start >= KEY_BUFFER_SIZE)
- key_buffer.start = 0;
- }
-} ENDOFUNC(inject_key)
-
-
-static void
-handle_code (int scancode, int keycode)
-{
- in_a_terrupt++;
-
- if (keycode == 0) { /* pause */
- inject_key(scancode);
- pc_key[KEY_PAUSE] ^= TRUE;
- } else if (scancode) {
- int flag;
-
- if (scancode >= KEY_MODIFIERS) {
- flag = modifier_table[scancode - KEY_MODIFIERS];
- } else {
- flag = 0;
- }
- if ((char)keycode < 0) { /* release */
- pc_key[scancode] = FALSE;
- if (flag & KB_MODIFIERS) {
- key_shifts &= ~flag;
- }
- } else { /* keypress */
- pc_key[scancode] = TRUE;
- if (flag & KB_MODIFIERS) {
- key_shifts |= flag;
- }
- if (flag & KB_LED_FLAGS) {
- key_shifts ^= flag;
- update_leds(key_shifts);
- }
- if (scancode < KEY_MODIFIERS) {
- inject_key(scancode);
- }
- }
- }
-
- in_a_terrupt--;
-} ENDOFUNC(handle_code)
-
-
-static int
-keyboard ()
-{
- unsigned char temp, scancode;
-
- temp = inportb(0x60);
-
- if (temp <= 0xe1) {
- if (key_pause_loop) {
- if (!--key_pause_loop) handle_code(KEY_PAUSE, 0);
- } else
- switch (temp) {
- case 0xe0:
- key_enhanced = TRUE;
- break;
- case 0xe1:
- key_pause_loop = 5;
- break;
- default:
- if (key_enhanced) {
- key_enhanced = FALSE;
- scancode = hw_to_mycode_ex[temp & 0x7f];
- } else {
- scancode = hw_to_mycode[temp & 0x7f];
- }
- handle_code(scancode, temp);
- }
- }
-
- if (((temp==0x4F)||(temp==0x53))&&(key_shifts&KB_CTRL_FLAG)&&(key_shifts&KB_ALT_FLAG)) {
- /* Hack alert:
- * only SIGINT (but not Ctrl-Break)
- * calls the destructors and will safely clean up
- */
- __asm("\n\
- movb $0x79, %%al \n\
- call ___djgpp_hw_exception \n\
- ":::"%eax", "%ebx", "%ecx", "%edx", "%esi", "%edi", "memory");
- }
-
- __asm("\n\
- inb $0x61, %%al \n\
- movb %%al, %%ah \n\
- orb $0x80, %%al \n\
- outb %%al, $0x61 \n\
- xchgb %%al, %%ah \n\
- outb %%al, $0x61 \n\
- movb $0x20, %%al \n\
- outb %%al, $0x20 \n\
- ":::"%eax");
- return 0;
-} ENDOFUNC(keyboard)
-
-
-int
-pc_keypressed (void)
-{
- return (key_buffer.start!=key_buffer.end);
-}
-
-
-int
-pc_readkey (void)
-{
- if (keyboard_installed) {
- int key;
-
- while (key_buffer.start == key_buffer.end) {
- __dpmi_yield();
- }
-
- DISABLE();
- key = key_buffer.key[key_buffer.start++];
- if (key_buffer.start >= KEY_BUFFER_SIZE)
- key_buffer.start = 0;
- ENABLE();
-
- return key;
- } else {
- return 0;
- }
-}
-
-
-int
-pc_keydown (int code)
-{
- return pc_key[code];
-}
-
-
-int
-pc_keyshifts (void)
-{
- return key_shifts;
-}
-
-
-void
-pc_remove_keyb (void)
-{
- if (keyboard_installed) {
- int s1, s2, s3;
-
- keyboard_installed = FALSE;
- pc_clexit(pc_remove_keyb);
-
- DISABLE();
- _farsetsel(__djgpp_dos_sel);
- _farnspokew(0x41c, _farnspeekw(0x41a));
-
- s1 = _farnspeekb(0x417) & 0x80;
- s2 = _farnspeekb(0x418) & 0xFC;
- s3 = _farnspeekb(0x496) & 0xF3;
-
- if (pc_key[KEY_RSHIFT]) { s1 |= 1; }
- if (pc_key[KEY_LSHIFT]) { s1 |= 2; }
- if (pc_key[KEY_LCONTROL]) { s2 |= 1; s1 |= 4; }
- if (pc_key[KEY_ALT]) { s1 |= 8; s2 |= 2; }
- if (pc_key[KEY_RCONTROL]) { s1 |= 4; s3 |= 4; }
- if (pc_key[KEY_ALTGR]) { s1 |= 8; s3 |= 8; }
-
- if (key_shifts & KB_SCROLOCK_FLAG) s1 |= 16;
- if (key_shifts & KB_NUMLOCK_FLAG) s1 |= 32;
- if (key_shifts & KB_CAPSLOCK_FLAG) s1 |= 64;
-
- _farnspokeb(0x417, s1);
- _farnspokeb(0x418, s2);
- _farnspokeb(0x496, s3);
- update_leds(key_shifts);
-
- ENABLE();
- pc_remove_irq(KEYB_IRQ);
- }
-}
-
-
-int
-pc_install_keyb (void)
-{
- if (keyboard_installed || pc_install_irq(KEYB_IRQ, keyboard)) {
- return -1;
- } else {
- int s1, s2, s3;
-
- LOCKDATA(key_buffer);
- LOCKDATA(key_enhanced);
- LOCKDATA(key_pause_loop);
- LOCKDATA(key_shifts);
- LOCKDATA(leds_ok);
- LOCKDATA(in_a_terrupt);
- LOCKDATA(pc_key);
- LOCKDATA(modifier_table);
- LOCKDATA(hw_to_mycode);
- LOCKDATA(hw_to_mycode_ex);
- LOCKDATA(standard_key_ascii_table);
- LOCKDATA(standard_key_capslock_table);
- LOCKDATA(standard_key_shift_table);
- LOCKDATA(standard_key_control_table);
- LOCKDATA(numlock_table);
- LOCKFUNC(update_leds);
- LOCKFUNC(inject_key);
- LOCKFUNC(handle_code);
- LOCKFUNC(keyboard);
-
- DISABLE();
- _farsetsel(__djgpp_dos_sel);
- _farnspokew(0x41c, _farnspeekw(0x41a));
-
- key_shifts = 0;
- s1 = _farnspeekb(0x417);
- s2 = _farnspeekb(0x418);
- s3 = _farnspeekb(0x496);
-
- if (s1 & 1) { key_shifts |= KB_SHIFT_FLAG; pc_key[KEY_RSHIFT] = TRUE; }
- if (s1 & 2) { key_shifts |= KB_SHIFT_FLAG; pc_key[KEY_LSHIFT] = TRUE; }
- if (s2 & 1) { key_shifts |= KB_CTRL_FLAG; pc_key[KEY_LCONTROL] = TRUE; }
- if (s2 & 2) { key_shifts |= KB_ALT_FLAG; pc_key[KEY_ALT] = TRUE; }
- if (s3 & 4) { key_shifts |= KB_CTRL_FLAG; pc_key[KEY_RCONTROL] = TRUE; }
- if (s3 & 8) { key_shifts |= KB_ALT_FLAG; pc_key[KEY_ALTGR] = TRUE; }
-
- if (s1 & 16) key_shifts |= KB_SCROLOCK_FLAG;
- if (s1 & 32) key_shifts |= KB_NUMLOCK_FLAG;
- if (s1 & 64) key_shifts |= KB_CAPSLOCK_FLAG;
- update_leds(key_shifts);
-
- key_enhanced = key_pause_loop = 0;
- key_buffer.start = key_buffer.end = 0;
- ENABLE();
-
- pc_atexit(pc_remove_keyb);
- keyboard_installed = TRUE;
- return 0;
- }
-}
diff --git a/src/glut/dos/PC_HW/pc_mouse.c b/src/glut/dos/PC_HW/pc_mouse.c
deleted file mode 100644
index 5bf99d367f..0000000000
--- a/src/glut/dos/PC_HW/pc_mouse.c
+++ /dev/null
@@ -1,293 +0,0 @@
-/*
- * PC/HW routine collection v1.3 for DOS/DJGPP
- *
- * Copyright (C) 2002 - Daniel Borca
- * Email : dborca@yahoo.com
- * Web : http://www.geocities.com/dborca
- */
-
-
-#include <dpmi.h>
-#include <sys/exceptn.h>
-#include <sys/segments.h>
-
-#include "pc_hw.h"
-
-
-#define PC_CUTE_WHEEL 1 /* CuteMouse WheelAPI */
-
-#define MOUSE_STACK_SIZE 16384
-
-#define CLEAR_MICKEYS() \
- do { \
- __asm __volatile ("movw $0xb, %%ax; int $0x33":::"%eax", "%ecx", "%edx"); \
- ox = oy = 0; \
- } while (0)
-
-extern void mouse_wrap (void);
-extern int mouse_wrap_end[];
-
-static MFUNC mouse_func;
-static long mouse_callback;
-static __dpmi_regs mouse_regs;
-
-static volatile struct {
- volatile int x, y, z, b;
-} pc_mouse;
-
-static int minx = 0;
-static int maxx = 319;
-static int miny = 0;
-static int maxy = 199;
-static int minz = 0;
-static int maxz = 255;
-
-static int sx = 2;
-static int sy = 2;
-
-static int emulat3 = FALSE;
-
-static int ox, oy;
-
-
-static void
-mouse (__dpmi_regs *r)
-{
- int nx = (signed short)r->x.si / sx;
- int ny = (signed short)r->x.di / sy;
- int dx = nx - ox;
- int dy = ny - oy;
-#if PC_CUTE_WHEEL
- int dz = (signed char)r->h.bh;
-#endif
- ox = nx;
- oy = ny;
-
- pc_mouse.b = r->h.bl;
- pc_mouse.x = MID(minx, pc_mouse.x + dx, maxx);
- pc_mouse.y = MID(miny, pc_mouse.y + dy, maxy);
-#if PC_CUTE_WHEEL
- pc_mouse.z = MID(minz, pc_mouse.z + dz, maxz);
-#endif
-
- if (emulat3) {
- if ((pc_mouse.b & 3) == 3) {
- pc_mouse.b = 4;
- }
- }
-
- if (mouse_func) {
- mouse_func(pc_mouse.x, pc_mouse.y, pc_mouse.z, pc_mouse.b);
- }
-} ENDOFUNC(mouse)
-
-
-void
-pc_remove_mouse (void)
-{
- if (mouse_callback) {
- pc_clexit(pc_remove_mouse);
- __asm("\n\
- movl %%edx, %%ecx \n\
- shrl $16, %%ecx \n\
- movw $0x0304, %%ax \n\
- int $0x31 \n\
- movw $0x000c, %%ax \n\
- xorl %%ecx, %%ecx \n\
- int $0x33 \n\
- "::"d"(mouse_callback):"%eax", "%ecx");
-
- mouse_callback = 0;
-
- free((void *)(mouse_wrap_end[0] - MOUSE_STACK_SIZE));
- }
-}
-
-
-int
-pc_install_mouse (void)
-{
- int buttons;
-
- /* fail if already call-backed */
- if (mouse_callback) {
- return 0;
- }
-
- /* reset mouse and get status */
- __asm("\n\
- xorl %%eax, %%eax \n\
- int $0x33 \n\
- andl %%ebx, %%eax \n\
- movl %%eax, %0 \n\
- ":"=g" (buttons)::"%eax", "%ebx");
- if (!buttons) {
- return 0;
- }
-
- /* lock wrapper */
- LOCKDATA(mouse_func);
- LOCKDATA(mouse_callback);
- LOCKDATA(mouse_regs);
- LOCKDATA(pc_mouse);
- LOCKDATA(minx);
- LOCKDATA(maxx);
- LOCKDATA(miny);
- LOCKDATA(maxy);
- LOCKDATA(minz);
- LOCKDATA(maxz);
- LOCKDATA(sx);
- LOCKDATA(sy);
- LOCKDATA(emulat3);
- LOCKDATA(ox);
- LOCKDATA(oy);
- LOCKFUNC(mouse);
- LOCKFUNC(mouse_wrap);
-
- mouse_wrap_end[1] = __djgpp_ds_alias;
- /* grab a locked stack */
- if ((mouse_wrap_end[0] = (int)pc_malloc(MOUSE_STACK_SIZE)) == NULL) {
- return 0;
- }
-
- /* try to hook a call-back */
- __asm("\n\
- pushl %%ds \n\
- pushl %%es \n\
- movw $0x0303, %%ax \n\
- pushl %%ds \n\
- pushl %%cs \n\
- popl %%ds \n\
- popl %%es \n\
- int $0x31 \n\
- popl %%es \n\
- popl %%ds \n\
- jc 0f \n\
- shll $16, %%ecx \n\
- movw %%dx, %%cx \n\
- movl %%ecx, %0 \n\
- 0: \n\
- ":"=g"(mouse_callback)
- :"S" (mouse_wrap), "D"(&mouse_regs)
- :"%eax", "%ecx", "%edx");
- if (!mouse_callback) {
- free((void *)mouse_wrap_end[0]);
- return 0;
- }
-
- /* adjust stack */
- mouse_wrap_end[0] += MOUSE_STACK_SIZE;
-
- /* install the handler */
- mouse_regs.x.ax = 0x000c;
-#if PC_CUTE_WHEEL
- mouse_regs.x.cx = 0x7f | 0x80;
-#else
- mouse_regs.x.cx = 0x7f;
-#endif
- mouse_regs.x.dx = mouse_callback & 0xffff;
- mouse_regs.x.es = mouse_callback >> 16;
- __dpmi_int(0x33, &mouse_regs);
-
- CLEAR_MICKEYS();
-
- emulat3 = (buttons < 3);
- pc_atexit(pc_remove_mouse);
- return buttons;
-}
-
-
-MFUNC
-pc_install_mouse_handler (MFUNC handler)
-{
- MFUNC old;
-
- if (!mouse_callback && !pc_install_mouse()) {
- return NULL;
- }
-
- old = mouse_func;
- mouse_func = handler;
- return old;
-}
-
-
-void
-pc_mouse_area (int x1, int y1, int x2, int y2)
-{
- minx = x1;
- maxx = x2;
- miny = y1;
- maxy = y2;
-}
-
-
-void
-pc_mouse_speed (int xspeed, int yspeed)
-{
- DISABLE();
-
- sx = MAX(1, xspeed);
- sy = MAX(1, yspeed);
-
- ENABLE();
-}
-
-
-int
-pc_query_mouse (int *x, int *y, int *z)
-{
- *x = pc_mouse.x;
- *y = pc_mouse.y;
- *z = pc_mouse.z;
- return pc_mouse.b;
-}
-
-
-void
-pc_warp_mouse (int x, int y)
-{
- CLEAR_MICKEYS();
-
- pc_mouse.x = MID(minx, x, maxx);
- pc_mouse.y = MID(miny, y, maxy);
-
- if (mouse_func) {
- mouse_func(pc_mouse.x, pc_mouse.y, pc_mouse.z, pc_mouse.b);
- }
-}
-
-
-/* Hack alert:
- * `mouse_wrap_end' actually holds the
- * address of stack in a safe data selector.
- */
-__asm("\n\
- .text \n\
- .p2align 5,,31 \n\
- .global _mouse_wrap \n\
-_mouse_wrap: \n\
- cld \n\
- lodsl \n\
- movl %eax, %es:42(%edi) \n\
- addw $4, %es:46(%edi) \n\
- pushl %es \n\
- movl %ss, %ebx \n\
- movl %esp, %esi \n\
- lss %cs:_mouse_wrap_end, %esp\n\
- pushl %ss \n\
- pushl %ss \n\
- popl %es \n\
- popl %ds \n\
- movl ___djgpp_dos_sel, %fs \n\
- pushl %fs \n\
- popl %gs \n\
- pushl %edi \n\
- call _mouse \n\
- popl %edi \n\
- movl %ebx, %ss \n\
- movl %esi, %esp \n\
- popl %es \n\
- iret \n\
- .global _mouse_wrap_end \n\
-_mouse_wrap_end:.long 0, 0");
diff --git a/src/glut/dos/PC_HW/pc_timer.c b/src/glut/dos/PC_HW/pc_timer.c
deleted file mode 100644
index e7cbe70a1f..0000000000
--- a/src/glut/dos/PC_HW/pc_timer.c
+++ /dev/null
@@ -1,327 +0,0 @@
-/*
- * PC/HW routine collection v1.5 for DOS/DJGPP
- *
- * Copyright (C) 2002 - Daniel Borca
- * Email : dborca@yahoo.com
- * Web : http://www.geocities.com/dborca
- */
-
-
-#include <pc.h>
-#include <string.h>
-
-#include "pc_hw.h"
-
-#define TIMER_IRQ 0
-
-#define MAX_TIMERS 8
-
-#define PIT_FREQ 0x1234DD
-
-#define ADJUST(timer, basefreq) timer.counter = PIT_FREQ * timer.freq / SQR(basefreq)
-
-#define unvolatile(__v, __t) __extension__ ({union { volatile __t __cp; __t __p; } __q; __q.__cp = __v; __q.__p;})
-
-static int timer_installed;
-
-typedef struct {
- volatile unsigned int counter, clock_ticks, freq;
- volatile PFUNC func;
- volatile void *parm;
-} TIMER;
-
-static TIMER timer_main, timer_func[MAX_TIMERS];
-
-
-/* Desc: main timer callback
- *
- * In : -
- * Out : 0 to bypass BIOS, 1 to chain to BIOS
- *
- * Note: -
- */
-static int
-timer ()
-{
- int i;
-
- for (i = 0; i < MAX_TIMERS; i++) {
- TIMER *t = &timer_func[i];
- if (t->func) {
- t->clock_ticks += t->counter;
- if (t->clock_ticks >= timer_main.counter) {
- t->clock_ticks -= timer_main.counter;
- t->func(unvolatile(t->parm, void *));
- }
- }
- }
-
- timer_main.clock_ticks += timer_main.counter;
- if (timer_main.clock_ticks >= 0x10000) {
- timer_main.clock_ticks -= 0x10000;
- return 1;
- } else {
- outportb(0x20, 0x20);
- return 0;
- }
-} ENDOFUNC(timer)
-
-
-/* Desc: uninstall timer engine
- *
- * In : -
- * Out : -
- *
- * Note: -
- */
-void
-pc_remove_timer (void)
-{
- if (timer_installed) {
- timer_installed = FALSE;
- pc_clexit(pc_remove_timer);
-
- DISABLE();
- outportb(0x43, 0x34);
- outportb(0x40, 0);
- outportb(0x40, 0);
- ENABLE();
-
- pc_remove_irq(TIMER_IRQ);
- }
-}
-
-
-/* Desc: remove timerfunc
- *
- * In : timerfunc id
- * Out : 0 if success
- *
- * Note: tries to relax the main timer whenever possible
- */
-int
-pc_remove_int (int fid)
-{
- int i;
- unsigned int freq = 0;
-
- /* are we installed? */
- if (!timer_installed) {
- return -1;
- }
-
- /* sanity check */
- if ((fid < 0) || (fid >= MAX_TIMERS) || (timer_func[fid].func == NULL)) {
- return -1;
- }
- timer_func[fid].func = NULL;
-
- /* scan for maximum frequency */
- for (i = 0; i < MAX_TIMERS; i++) {
- TIMER *t = &timer_func[i];
- if (t->func) {
- if (freq < t->freq) {
- freq = t->freq;
- }
- }
- }
-
- /* if there are no callbacks left, cleanup */
- if (!freq) {
- pc_remove_timer();
- return 0;
- }
-
- /* if we just lowered the maximum frequency, try to relax the timer engine */
- if (freq < timer_main.freq) {
- unsigned int new_counter = PIT_FREQ / freq;
-
- DISABLE();
-
- for (i = 0; i < MAX_TIMERS; i++) {
- if (timer_func[i].func) {
- ADJUST(timer_func[i], freq);
- }
- }
-
- outportb(0x43, 0x34);
- outportb(0x40, (unsigned char)new_counter);
- outportb(0x40, (unsigned char)(new_counter>>8));
- timer_main.clock_ticks = 0;
- timer_main.counter = new_counter;
- timer_main.freq = freq;
-
- ENABLE();
- }
-
- return 0;
-} ENDOFUNC(pc_remove_int)
-
-
-/* Desc: adjust timerfunc
- *
- * In : timerfunc id, new frequency (Hz)
- * Out : 0 if success
- *
- * Note: might change the main timer frequency
- */
-int
-pc_adjust_int (int fid, unsigned int freq)
-{
- int i;
-
- /* are we installed? */
- if (!timer_installed) {
- return -1;
- }
-
- /* sanity check */
- if ((fid < 0) || (fid >= MAX_TIMERS) || (timer_func[fid].func == NULL)) {
- return -1;
- }
- timer_func[fid].freq = freq;
-
- /* scan for maximum frequency */
- freq = 0;
- for (i = 0; i < MAX_TIMERS; i++) {
- TIMER *t = &timer_func[i];
- if (t->func) {
- if (freq < t->freq) {
- freq = t->freq;
- }
- }
- }
-
- /* update main timer / sons to match highest frequency */
- DISABLE();
-
- /* using '>' is correct still (and avoids updating
- * the HW timer too often), but doesn't relax the timer!
- */
- if (freq != timer_main.freq) {
- unsigned int new_counter = PIT_FREQ / freq;
-
- for (i = 0; i < MAX_TIMERS; i++) {
- if (timer_func[i].func) {
- ADJUST(timer_func[i], freq);
- }
- }
-
- outportb(0x43, 0x34);
- outportb(0x40, (unsigned char)new_counter);
- outportb(0x40, (unsigned char)(new_counter>>8));
- timer_main.clock_ticks = 0;
- timer_main.counter = new_counter;
- timer_main.freq = freq;
- } else {
- ADJUST(timer_func[fid], timer_main.freq);
- }
-
- ENABLE();
-
- return 0;
-} ENDOFUNC(pc_adjust_int)
-
-
-/* Desc: install timer engine
- *
- * In : -
- * Out : 0 for success
- *
- * Note: initial frequency is 18.2 Hz
- */
-static int
-install_timer (void)
-{
- if (timer_installed || pc_install_irq(TIMER_IRQ, timer)) {
- return -1;
- } else {
- memset(timer_func, 0, sizeof(timer_func));
-
- LOCKDATA(timer_func);
- LOCKDATA(timer_main);
- LOCKFUNC(timer);
- LOCKFUNC(pc_adjust_int);
- LOCKFUNC(pc_remove_int);
-
- timer_main.counter = 0x10000;
-
- DISABLE();
- outportb(0x43, 0x34);
- outportb(0x40, 0);
- outportb(0x40, 0);
- timer_main.clock_ticks = 0;
- ENABLE();
-
- pc_atexit(pc_remove_timer);
- timer_installed = TRUE;
- return 0;
- }
-}
-
-
-/* Desc: install timerfunc
- *
- * In : callback function, opaque pointer to be passed to callee, freq (Hz)
- * Out : timerfunc id (0 .. MAX_TIMERS-1)
- *
- * Note: returns -1 if error
- */
-int
-pc_install_int (PFUNC func, void *parm, unsigned int freq)
-{
- int i;
- TIMER *t = NULL;
-
- /* ensure the timer engine is set up */
- if (!timer_installed) {
- if (install_timer()) {
- return -1;
- }
- }
-
- /* find an empty slot */
- for (i = 0; i < MAX_TIMERS; i++) {
- if (!timer_func[i].func) {
- t = &timer_func[i];
- break;
- }
- }
- if (t == NULL) {
- return -1;
- }
-
- DISABLE();
-
- t->func = func;
- t->parm = parm;
- t->freq = freq;
- t->clock_ticks = 0;
-
- /* update main timer / sons to match highest frequency */
- if (freq > timer_main.freq) {
- unsigned int new_counter = PIT_FREQ / freq;
-
- for (i = 0; i < MAX_TIMERS; i++) {
- if (timer_func[i].func) {
- ADJUST(timer_func[i], freq);
- }
- }
-
- outportb(0x43, 0x34);
- outportb(0x40, (unsigned char)new_counter);
- outportb(0x40, (unsigned char)(new_counter>>8));
- timer_main.clock_ticks = 0;
- timer_main.counter = new_counter;
- timer_main.freq = freq;
- } else {
- /* t == &timer_func[i] */
- ADJUST(timer_func[i], timer_main.freq);
- }
-
- i = t - timer_func;
-
- ENABLE();
-
- return i;
-}
diff --git a/src/glut/dos/bitmap.c b/src/glut/dos/bitmap.c
deleted file mode 100644
index 6d6b91e1c7..0000000000
--- a/src/glut/dos/bitmap.c
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * DOS/DJGPP Mesa Utility Toolkit
- * Version: 1.0
- *
- * Copyright (C) 2005 Daniel Borca 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
- * DANIEL BORCA 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.
- */
-
-
-#include "internal.h"
-
-
-void APIENTRY
-glutBitmapCharacter (void *font, int c)
-{
- const GLUTBitmapFont *bfp = _glut_font(font);
- const GLUTBitmapChar *bcp;
-
- if (c >= bfp->num || !(bcp = bfp->table[c]))
- return;
-
- glPushClientAttrib(GL_CLIENT_PIXEL_STORE_BIT);
-
- glPixelStorei(GL_UNPACK_SWAP_BYTES, GL_FALSE);
- glPixelStorei(GL_UNPACK_LSB_FIRST, GL_FALSE);
- glPixelStorei(GL_UNPACK_ROW_LENGTH, 0);
- glPixelStorei(GL_UNPACK_SKIP_ROWS, 0);
- glPixelStorei(GL_UNPACK_SKIP_PIXELS, 0);
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- glBitmap(bcp->width, bcp->height, bcp->xorig, bcp->yorig,
- bcp->xmove, 0, bcp->bitmap);
-
- glPopClientAttrib();
-}
-
-
-void APIENTRY
-glutBitmapString (void *font, const unsigned char *string)
-{
- const GLUTBitmapFont *bfp = _glut_font(font);
- const GLUTBitmapChar *bcp;
- unsigned char c;
-
- glPushClientAttrib(GL_CLIENT_PIXEL_STORE_BIT);
-
- glPixelStorei(GL_UNPACK_SWAP_BYTES, GL_FALSE);
- glPixelStorei(GL_UNPACK_LSB_FIRST, GL_FALSE);
- glPixelStorei(GL_UNPACK_ROW_LENGTH, 0);
- glPixelStorei(GL_UNPACK_SKIP_ROWS, 0);
- glPixelStorei(GL_UNPACK_SKIP_PIXELS, 0);
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
-
- while ((c = *(string++))) {
- if (c < bfp->num && (bcp = bfp->table[c]))
- glBitmap(bcp->width, bcp->height, bcp->xorig,
- bcp->yorig, bcp->xmove, 0, bcp->bitmap);
- }
-
- glPopClientAttrib();
-}
-
-
-int APIENTRY
-glutBitmapWidth (void *font, int c)
-{
- const GLUTBitmapFont *bfp = _glut_font(font);
- const GLUTBitmapChar *bcp;
-
- if (c >= bfp->num || !(bcp = bfp->table[c]))
- return 0;
-
- return bcp->xmove;
-}
-
-
-int APIENTRY
-glutBitmapLength (void *font, const unsigned char *string)
-{
- const GLUTBitmapFont *bfp = _glut_font(font);
- const GLUTBitmapChar *bcp;
- unsigned char c;
- int length = 0;
-
- while ((c = *(string++))) {
- if (c < bfp->num && (bcp = bfp->table[c]))
- length += bcp->xmove;
- }
-
- return length;
-}
-
-
-int APIENTRY
-glutBitmapHeight (void *font)
-{
- const GLUTBitmapFont *bfp = _glut_font(font);
-
- return bfp->height;
-}
diff --git a/src/glut/dos/callback.c b/src/glut/dos/callback.c
deleted file mode 100644
index b6cc58feae..0000000000
--- a/src/glut/dos/callback.c
+++ /dev/null
@@ -1,204 +0,0 @@
-/*
- * DOS/DJGPP Mesa Utility Toolkit
- * Version: 1.0
- *
- * Copyright (C) 2005 Daniel Borca 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
- * DANIEL BORCA 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.
- */
-
-
-#include "internal.h"
-
-
-GLUTSShotCB _glut_timer_cb[MAX_TIMER_CB];
-
-GLUTidleCB _glut_idle_func = NULL;
-
-
-void APIENTRY
-glutDisplayFunc (GLUTdisplayCB func)
-{
- _glut_current->display = func;
-}
-
-
-void APIENTRY
-glutReshapeFunc (GLUTreshapeCB func)
-{
- _glut_current->reshape = func;
-}
-
-
-void APIENTRY
-glutKeyboardFunc (GLUTkeyboardCB func)
-{
- _glut_current->keyboard = func;
-}
-
-
-void APIENTRY
-glutMouseFunc (GLUTmouseCB func)
-{
- _glut_current->mouse = func;
-}
-
-
-void APIENTRY
-glutMotionFunc (GLUTmotionCB func)
-{
- _glut_current->motion = func;
-}
-
-
-void APIENTRY
-glutPassiveMotionFunc (GLUTpassiveCB func)
-{
- _glut_current->passive = func;
-}
-
-
-void APIENTRY
-glutEntryFunc (GLUTentryCB func)
-{
- _glut_current->entry = func;
-}
-
-
-void APIENTRY
-glutVisibilityFunc (GLUTvisibilityCB func)
-{
- _glut_current->visibility = func;
-}
-
-
-void APIENTRY
-glutWindowStatusFunc (GLUTwindowStatusCB func)
-{
- _glut_current->windowStatus = func;
-}
-
-
-void APIENTRY
-glutIdleFunc (GLUTidleCB func)
-{
- _glut_idle_func = func;
-}
-
-
-void APIENTRY
-glutTimerFunc (unsigned int millis, GLUTtimerCB func, int value)
-{
- int i;
-
- if (millis > 0) {
- for (i = 0; i < MAX_TIMER_CB; i++) {
- GLUTSShotCB *cb = &_glut_timer_cb[i];
- if (cb->func == NULL) {
- cb->value = value;
- cb->func = func;
- cb->time = glutGet(GLUT_ELAPSED_TIME) + millis;
- break;
- }
- }
- }
-}
-
-
-void APIENTRY
-glutSpecialFunc (GLUTspecialCB func)
-{
- _glut_current->special = func;
-}
-
-
-void APIENTRY
-glutSpaceballMotionFunc (GLUTspaceMotionCB func)
-{
- _glut_current->spaceMotion = func;
-}
-
-
-void APIENTRY
-glutSpaceballRotateFunc (GLUTspaceRotateCB func)
-{
- _glut_current->spaceRotate = func;
-}
-
-
-void APIENTRY
-glutSpaceballButtonFunc (GLUTspaceButtonCB func)
-{
- _glut_current->spaceButton = func;
-}
-
-
-void APIENTRY
-glutDialsFunc (GLUTdialsCB func)
-{
- _glut_current->dials = func;
-}
-
-
-void APIENTRY
-glutButtonBoxFunc (GLUTbuttonBoxCB func)
-{
- _glut_current->buttonBox = func;
-}
-
-
-void APIENTRY
-glutTabletMotionFunc (GLUTtabletMotionCB func)
-{
- _glut_current->tabletMotion = func;
-}
-
-
-void APIENTRY
-glutTabletButtonFunc (GLUTtabletButtonCB func)
-{
- _glut_current->tabletButton = func;
-}
-
-
-void APIENTRY
-glutJoystickFunc (GLUTjoystickCB func, int interval)
-{
- _glut_current->joystick = func;
-}
-
-
-void APIENTRY
-glutKeyboardUpFunc (GLUTkeyboardCB func)
-{
- _glut_current->keyboardUp = func;
-}
-
-
-void APIENTRY
-glutSpecialUpFunc (GLUTspecialCB func)
-{
- _glut_current->specialUp = func;
-}
-
-
-void APIENTRY
-glutMouseWheelFunc (GLUTmouseWheelCB func)
-{
- _glut_current->mouseWheel = func;
-}
diff --git a/src/glut/dos/color.c b/src/glut/dos/color.c
deleted file mode 100644
index 5ffc1209a2..0000000000
--- a/src/glut/dos/color.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * DOS/DJGPP Mesa Utility Toolkit
- * Version: 1.0
- *
- * Copyright (C) 2005 Daniel Borca 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
- * DANIEL BORCA 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.
- */
-
-
-#include "internal.h"
-
-
-#define CLAMP(i) ((i) > 1.0F ? 1.0F : ((i) < 0.0F ? 0.0F : (i)))
-
-
-void APIENTRY
-glutSetColor (int ndx, GLfloat red, GLfloat green, GLfloat blue)
-{
- if (_glut_default.mode & GLUT_INDEX) {
- if ((ndx >= 0) && (ndx < (256 - RESERVED_COLORS))) {
- DMesaSetCI(ndx, CLAMP(red), CLAMP(green), CLAMP(blue));
- }
- }
-}
-
-
-GLfloat APIENTRY
-glutGetColor (int ndx, int component)
-{
- return 0.0;
-}
-
-
-void APIENTRY
-glutCopyColormap (int win)
-{
-}
diff --git a/src/glut/dos/extens.c b/src/glut/dos/extens.c
deleted file mode 100644
index 8bb867264e..0000000000
--- a/src/glut/dos/extens.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * DOS/DJGPP Mesa Utility Toolkit
- * Version: 1.0
- *
- * Copyright (C) 2005 Daniel Borca 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
- * DANIEL BORCA 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.
- */
-
-
-#include <string.h>
-
-#include "internal.h"
-
-
-int APIENTRY
-glutExtensionSupported (const char *extension)
-{
- static const GLubyte *extensions = NULL;
- const GLubyte *last, *where;
-
- /* Extension names should not have spaces. */
- if (strchr(extension, ' ') || *extension == '\0') {
- return GL_FALSE;
- }
-
- /* Not my problem if you don't have a valid OpenGL context */
- if (!extensions) {
- extensions = glGetString(GL_EXTENSIONS);
- }
- if (!extensions) {
- return GL_FALSE;
- }
-
- /* Take care of sub-strings etc. */
- for (last = extensions;;) {
- if ((where = (GLubyte *)strstr((const char *)last, extension)) == NULL) {
- return GL_FALSE;
- }
- last = where + strlen(extension);
- if (where == extensions || *(where - 1) == ' ') {
- if (*last == ' ' || *last == '\0') {
- return GL_TRUE;
- }
- }
- }
-}
-
-
-GLUTproc APIENTRY
-glutGetProcAddress (const char *procName)
-{
- /* TODO - handle glut namespace */
- return (GLUTproc)DMesaGetProcAddress(procName);
-}
diff --git a/src/glut/dos/f8x13.c b/src/glut/dos/f8x13.c
deleted file mode 100644
index bbf58b52b1..0000000000
--- a/src/glut/dos/f8x13.c
+++ /dev/null
@@ -1,1183 +0,0 @@
-/* autogenerated by bdf2c! do not edit */
-
-/* "Public domain font. Share and enjoy." */
-
-
-#include "internal.h"
-/*
-typedef struct {
- int width, height;
- int xorig, yorig;
- int xmove;
- const unsigned char *bitmap;
-} GLUTBitmapChar;
-
-typedef struct {
- const char *name;
- int height;
- int num;
- const GLUTBitmapChar *const *table;
-} GLUTBitmapFont;
-*/
-
-
-static const unsigned char ch0data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch0 = { 8, 13, 0, 2, 8, ch0data };
-
-static const unsigned char ch1data[] = {
- 0x0,0x0,0x0,0x10,0x38,0x7c,0xfe,0x7c,0x38,0x10,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch1 = { 8, 13, 0, 2, 8, ch1data };
-
-static const unsigned char ch2data[] = {
- 0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x0
-};
-static const GLUTBitmapChar ch2 = { 8, 13, 0, 2, 8, ch2data };
-
-static const unsigned char ch3data[] = {
- 0x8,0x8,0x8,0x3e,0x88,0x88,0xf8,0x88,0x88,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch3 = { 8, 13, 0, 2, 8, ch3data };
-
-static const unsigned char ch4data[] = {
- 0x10,0x10,0x1c,0x10,0x9e,0x80,0xe0,0x80,0xf0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch4 = { 8, 13, 0, 2, 8, ch4data };
-
-static const unsigned char ch5data[] = {
- 0x22,0x22,0x3c,0x22,0x3c,0x78,0x80,0x80,0x78,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch5 = { 8, 13, 0, 2, 8, ch5data };
-
-static const unsigned char ch6data[] = {
- 0x20,0x20,0x3c,0x20,0x3e,0xf8,0x80,0x80,0x80,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch6 = { 8, 13, 0, 2, 8, ch6data };
-
-static const unsigned char ch7data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x38,0x44,0x44,0x38,0x0,0x0
-};
-static const GLUTBitmapChar ch7 = { 8, 13, 0, 2, 8, ch7data };
-
-static const unsigned char ch8data[] = {
- 0x0,0x0,0xfe,0x10,0x10,0xfe,0x10,0x10,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch8 = { 8, 13, 0, 2, 8, ch8data };
-
-static const unsigned char ch9data[] = {
- 0x3e,0x20,0x20,0x20,0x88,0x98,0xa8,0xc8,0x88,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch9 = { 8, 13, 0, 2, 8, ch9data };
-
-static const unsigned char ch10data[] = {
- 0x8,0x8,0x8,0x8,0x3e,0x20,0x50,0x88,0x88,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch10 = { 8, 13, 0, 2, 8, ch10data };
-
-static const unsigned char ch11data[] = {
- 0x0,0x0,0x0,0x0,0x0,0xf0,0x10,0x10,0x10,0x10,0x10,0x10,0x10
-};
-static const GLUTBitmapChar ch11 = { 8, 13, 0, 2, 8, ch11data };
-
-static const unsigned char ch12data[] = {
- 0x10,0x10,0x10,0x10,0x10,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch12 = { 8, 13, 0, 2, 8, ch12data };
-
-static const unsigned char ch13data[] = {
- 0x10,0x10,0x10,0x10,0x10,0x1f,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch13 = { 8, 13, 0, 2, 8, ch13data };
-
-static const unsigned char ch14data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x1f,0x10,0x10,0x10,0x10,0x10,0x10,0x10
-};
-static const GLUTBitmapChar ch14 = { 8, 13, 0, 2, 8, ch14data };
-
-static const unsigned char ch15data[] = {
- 0x10,0x10,0x10,0x10,0x10,0xff,0x10,0x10,0x10,0x10,0x10,0x10,0x10
-};
-static const GLUTBitmapChar ch15 = { 8, 13, 0, 2, 8, ch15data };
-
-static const unsigned char ch16data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch16 = { 8, 13, 0, 2, 8, ch16data };
-
-static const unsigned char ch17data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch17 = { 8, 13, 0, 2, 8, ch17data };
-
-static const unsigned char ch18data[] = {
- 0x0,0x0,0x0,0x0,0x0,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch18 = { 8, 13, 0, 2, 8, ch18data };
-
-static const unsigned char ch19data[] = {
- 0x0,0x0,0x0,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch19 = { 8, 13, 0, 2, 8, ch19data };
-
-static const unsigned char ch20data[] = {
- 0x0,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch20 = { 8, 13, 0, 2, 8, ch20data };
-
-static const unsigned char ch21data[] = {
- 0x10,0x10,0x10,0x10,0x10,0x1f,0x10,0x10,0x10,0x10,0x10,0x10,0x10
-};
-static const GLUTBitmapChar ch21 = { 8, 13, 0, 2, 8, ch21data };
-
-static const unsigned char ch22data[] = {
- 0x10,0x10,0x10,0x10,0x10,0xf0,0x10,0x10,0x10,0x10,0x10,0x10,0x10
-};
-static const GLUTBitmapChar ch22 = { 8, 13, 0, 2, 8, ch22data };
-
-static const unsigned char ch23data[] = {
- 0x0,0x0,0x0,0x0,0x0,0xff,0x10,0x10,0x10,0x10,0x10,0x10,0x10
-};
-static const GLUTBitmapChar ch23 = { 8, 13, 0, 2, 8, ch23data };
-
-static const unsigned char ch24data[] = {
- 0x10,0x10,0x10,0x10,0x10,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch24 = { 8, 13, 0, 2, 8, ch24data };
-
-static const unsigned char ch25data[] = {
- 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10
-};
-static const GLUTBitmapChar ch25 = { 8, 13, 0, 2, 8, ch25data };
-
-static const unsigned char ch26data[] = {
- 0x0,0x0,0xfe,0x2,0x8,0x20,0x80,0x20,0x8,0x2,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch26 = { 8, 13, 0, 2, 8, ch26data };
-
-static const unsigned char ch27data[] = {
- 0x0,0x0,0xfe,0x80,0x20,0x8,0x2,0x8,0x20,0x80,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch27 = { 8, 13, 0, 2, 8, ch27data };
-
-static const unsigned char ch28data[] = {
- 0x0,0x0,0x44,0x24,0x24,0x24,0x24,0x7e,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch28 = { 8, 13, 0, 2, 8, ch28data };
-
-static const unsigned char ch29data[] = {
- 0x0,0x0,0x80,0x40,0xfe,0x10,0xfe,0x4,0x2,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch29 = { 8, 13, 0, 2, 8, ch29data };
-
-static const unsigned char ch30data[] = {
- 0x0,0x0,0xdc,0x62,0x20,0x20,0x20,0x70,0x20,0x22,0x1c,0x0,0x0
-};
-static const GLUTBitmapChar ch30 = { 8, 13, 0, 2, 8, ch30data };
-
-static const unsigned char ch31data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch31 = { 8, 13, 0, 2, 8, ch31data };
-
-static const unsigned char ch32data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch32 = { 8, 13, 0, 2, 8, ch32data };
-
-static const unsigned char ch33data[] = {
- 0x0,0x0,0x10,0x0,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x0,0x0
-};
-static const GLUTBitmapChar ch33 = { 8, 13, 0, 2, 8, ch33data };
-
-static const unsigned char ch34data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x24,0x24,0x24,0x0,0x0
-};
-static const GLUTBitmapChar ch34 = { 8, 13, 0, 2, 8, ch34data };
-
-static const unsigned char ch35data[] = {
- 0x0,0x0,0x0,0x24,0x24,0x7e,0x24,0x7e,0x24,0x24,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch35 = { 8, 13, 0, 2, 8, ch35data };
-
-static const unsigned char ch36data[] = {
- 0x0,0x0,0x0,0x10,0x78,0x14,0x38,0x50,0x3c,0x10,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch36 = { 8, 13, 0, 2, 8, ch36data };
-
-static const unsigned char ch37data[] = {
- 0x0,0x0,0x44,0x2a,0x24,0x10,0x8,0x8,0x24,0x52,0x22,0x0,0x0
-};
-static const GLUTBitmapChar ch37 = { 8, 13, 0, 2, 8, ch37data };
-
-static const unsigned char ch38data[] = {
- 0x0,0x0,0x3a,0x44,0x4a,0x30,0x48,0x48,0x30,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch38 = { 8, 13, 0, 2, 8, ch38data };
-
-static const unsigned char ch39data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x30,0x38,0x0,0x0
-};
-static const GLUTBitmapChar ch39 = { 8, 13, 0, 2, 8, ch39data };
-
-static const unsigned char ch40data[] = {
- 0x0,0x0,0x4,0x8,0x8,0x10,0x10,0x10,0x8,0x8,0x4,0x0,0x0
-};
-static const GLUTBitmapChar ch40 = { 8, 13, 0, 2, 8, ch40data };
-
-static const unsigned char ch41data[] = {
- 0x0,0x0,0x20,0x10,0x10,0x8,0x8,0x8,0x10,0x10,0x20,0x0,0x0
-};
-static const GLUTBitmapChar ch41 = { 8, 13, 0, 2, 8, ch41data };
-
-static const unsigned char ch42data[] = {
- 0x0,0x0,0x0,0x0,0x24,0x18,0x7e,0x18,0x24,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch42 = { 8, 13, 0, 2, 8, ch42data };
-
-static const unsigned char ch43data[] = {
- 0x0,0x0,0x0,0x0,0x10,0x10,0x7c,0x10,0x10,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch43 = { 8, 13, 0, 2, 8, ch43data };
-
-static const unsigned char ch44data[] = {
- 0x0,0x40,0x30,0x38,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch44 = { 8, 13, 0, 2, 8, ch44data };
-
-static const unsigned char ch45data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x7e,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch45 = { 8, 13, 0, 2, 8, ch45data };
-
-static const unsigned char ch46data[] = {
- 0x0,0x10,0x38,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch46 = { 8, 13, 0, 2, 8, ch46data };
-
-static const unsigned char ch47data[] = {
- 0x0,0x0,0x80,0x80,0x40,0x20,0x10,0x8,0x4,0x2,0x2,0x0,0x0
-};
-static const GLUTBitmapChar ch47 = { 8, 13, 0, 2, 8, ch47data };
-
-static const unsigned char ch48data[] = {
- 0x0,0x0,0x18,0x24,0x42,0x42,0x42,0x42,0x42,0x24,0x18,0x0,0x0
-};
-static const GLUTBitmapChar ch48 = { 8, 13, 0, 2, 8, ch48data };
-
-static const unsigned char ch49data[] = {
- 0x0,0x0,0x7c,0x10,0x10,0x10,0x10,0x10,0x50,0x30,0x10,0x0,0x0
-};
-static const GLUTBitmapChar ch49 = { 8, 13, 0, 2, 8, ch49data };
-
-static const unsigned char ch50data[] = {
- 0x0,0x0,0x7e,0x40,0x20,0x18,0x4,0x2,0x42,0x42,0x3c,0x0,0x0
-};
-static const GLUTBitmapChar ch50 = { 8, 13, 0, 2, 8, ch50data };
-
-static const unsigned char ch51data[] = {
- 0x0,0x0,0x3c,0x42,0x2,0x2,0x1c,0x8,0x4,0x2,0x7e,0x0,0x0
-};
-static const GLUTBitmapChar ch51 = { 8, 13, 0, 2, 8, ch51data };
-
-static const unsigned char ch52data[] = {
- 0x0,0x0,0x4,0x4,0x7e,0x44,0x44,0x24,0x14,0xc,0x4,0x0,0x0
-};
-static const GLUTBitmapChar ch52 = { 8, 13, 0, 2, 8, ch52data };
-
-static const unsigned char ch53data[] = {
- 0x0,0x0,0x3c,0x42,0x2,0x2,0x62,0x5c,0x40,0x40,0x7e,0x0,0x0
-};
-static const GLUTBitmapChar ch53 = { 8, 13, 0, 2, 8, ch53data };
-
-static const unsigned char ch54data[] = {
- 0x0,0x0,0x3c,0x42,0x42,0x62,0x5c,0x40,0x40,0x20,0x1c,0x0,0x0
-};
-static const GLUTBitmapChar ch54 = { 8, 13, 0, 2, 8, ch54data };
-
-static const unsigned char ch55data[] = {
- 0x0,0x0,0x20,0x20,0x10,0x10,0x8,0x8,0x4,0x2,0x7e,0x0,0x0
-};
-static const GLUTBitmapChar ch55 = { 8, 13, 0, 2, 8, ch55data };
-
-static const unsigned char ch56data[] = {
- 0x0,0x0,0x3c,0x42,0x42,0x42,0x3c,0x42,0x42,0x42,0x3c,0x0,0x0
-};
-static const GLUTBitmapChar ch56 = { 8, 13, 0, 2, 8, ch56data };
-
-static const unsigned char ch57data[] = {
- 0x0,0x0,0x38,0x4,0x2,0x2,0x3a,0x46,0x42,0x42,0x3c,0x0,0x0
-};
-static const GLUTBitmapChar ch57 = { 8, 13, 0, 2, 8, ch57data };
-
-static const unsigned char ch58data[] = {
- 0x0,0x10,0x38,0x10,0x0,0x0,0x10,0x38,0x10,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch58 = { 8, 13, 0, 2, 8, ch58data };
-
-static const unsigned char ch59data[] = {
- 0x0,0x40,0x30,0x38,0x0,0x0,0x10,0x38,0x10,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch59 = { 8, 13, 0, 2, 8, ch59data };
-
-static const unsigned char ch60data[] = {
- 0x0,0x0,0x2,0x4,0x8,0x10,0x20,0x10,0x8,0x4,0x2,0x0,0x0
-};
-static const GLUTBitmapChar ch60 = { 8, 13, 0, 2, 8, ch60data };
-
-static const unsigned char ch61data[] = {
- 0x0,0x0,0x0,0x0,0x7e,0x0,0x0,0x7e,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch61 = { 8, 13, 0, 2, 8, ch61data };
-
-static const unsigned char ch62data[] = {
- 0x0,0x0,0x40,0x20,0x10,0x8,0x4,0x8,0x10,0x20,0x40,0x0,0x0
-};
-static const GLUTBitmapChar ch62 = { 8, 13, 0, 2, 8, ch62data };
-
-static const unsigned char ch63data[] = {
- 0x0,0x0,0x8,0x0,0x8,0x8,0x4,0x2,0x42,0x42,0x3c,0x0,0x0
-};
-static const GLUTBitmapChar ch63 = { 8, 13, 0, 2, 8, ch63data };
-
-static const unsigned char ch64data[] = {
- 0x0,0x0,0x3c,0x40,0x4a,0x56,0x52,0x4e,0x42,0x42,0x3c,0x0,0x0
-};
-static const GLUTBitmapChar ch64 = { 8, 13, 0, 2, 8, ch64data };
-
-static const unsigned char ch65data[] = {
- 0x0,0x0,0x42,0x42,0x42,0x7e,0x42,0x42,0x42,0x24,0x18,0x0,0x0
-};
-static const GLUTBitmapChar ch65 = { 8, 13, 0, 2, 8, ch65data };
-
-static const unsigned char ch66data[] = {
- 0x0,0x0,0xfc,0x42,0x42,0x42,0x7c,0x42,0x42,0x42,0xfc,0x0,0x0
-};
-static const GLUTBitmapChar ch66 = { 8, 13, 0, 2, 8, ch66data };
-
-static const unsigned char ch67data[] = {
- 0x0,0x0,0x3c,0x42,0x40,0x40,0x40,0x40,0x40,0x42,0x3c,0x0,0x0
-};
-static const GLUTBitmapChar ch67 = { 8, 13, 0, 2, 8, ch67data };
-
-static const unsigned char ch68data[] = {
- 0x0,0x0,0xfc,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0xfc,0x0,0x0
-};
-static const GLUTBitmapChar ch68 = { 8, 13, 0, 2, 8, ch68data };
-
-static const unsigned char ch69data[] = {
- 0x0,0x0,0x7e,0x40,0x40,0x40,0x78,0x40,0x40,0x40,0x7e,0x0,0x0
-};
-static const GLUTBitmapChar ch69 = { 8, 13, 0, 2, 8, ch69data };
-
-static const unsigned char ch70data[] = {
- 0x0,0x0,0x40,0x40,0x40,0x40,0x78,0x40,0x40,0x40,0x7e,0x0,0x0
-};
-static const GLUTBitmapChar ch70 = { 8, 13, 0, 2, 8, ch70data };
-
-static const unsigned char ch71data[] = {
- 0x0,0x0,0x3a,0x46,0x42,0x4e,0x40,0x40,0x40,0x42,0x3c,0x0,0x0
-};
-static const GLUTBitmapChar ch71 = { 8, 13, 0, 2, 8, ch71data };
-
-static const unsigned char ch72data[] = {
- 0x0,0x0,0x42,0x42,0x42,0x42,0x7e,0x42,0x42,0x42,0x42,0x0,0x0
-};
-static const GLUTBitmapChar ch72 = { 8, 13, 0, 2, 8, ch72data };
-
-static const unsigned char ch73data[] = {
- 0x0,0x0,0x7c,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x7c,0x0,0x0
-};
-static const GLUTBitmapChar ch73 = { 8, 13, 0, 2, 8, ch73data };
-
-static const unsigned char ch74data[] = {
- 0x0,0x0,0x38,0x44,0x4,0x4,0x4,0x4,0x4,0x4,0x1e,0x0,0x0
-};
-static const GLUTBitmapChar ch74 = { 8, 13, 0, 2, 8, ch74data };
-
-static const unsigned char ch75data[] = {
- 0x0,0x0,0x42,0x44,0x48,0x50,0x60,0x50,0x48,0x44,0x42,0x0,0x0
-};
-static const GLUTBitmapChar ch75 = { 8, 13, 0, 2, 8, ch75data };
-
-static const unsigned char ch76data[] = {
- 0x0,0x0,0x7e,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0x0
-};
-static const GLUTBitmapChar ch76 = { 8, 13, 0, 2, 8, ch76data };
-
-static const unsigned char ch77data[] = {
- 0x0,0x0,0x82,0x82,0x82,0x92,0x92,0xaa,0xc6,0x82,0x82,0x0,0x0
-};
-static const GLUTBitmapChar ch77 = { 8, 13, 0, 2, 8, ch77data };
-
-static const unsigned char ch78data[] = {
- 0x0,0x0,0x42,0x42,0x42,0x46,0x4a,0x52,0x62,0x42,0x42,0x0,0x0
-};
-static const GLUTBitmapChar ch78 = { 8, 13, 0, 2, 8, ch78data };
-
-static const unsigned char ch79data[] = {
- 0x0,0x0,0x3c,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x3c,0x0,0x0
-};
-static const GLUTBitmapChar ch79 = { 8, 13, 0, 2, 8, ch79data };
-
-static const unsigned char ch80data[] = {
- 0x0,0x0,0x40,0x40,0x40,0x40,0x7c,0x42,0x42,0x42,0x7c,0x0,0x0
-};
-static const GLUTBitmapChar ch80 = { 8, 13, 0, 2, 8, ch80data };
-
-static const unsigned char ch81data[] = {
- 0x0,0x2,0x3c,0x4a,0x52,0x42,0x42,0x42,0x42,0x42,0x3c,0x0,0x0
-};
-static const GLUTBitmapChar ch81 = { 8, 13, 0, 2, 8, ch81data };
-
-static const unsigned char ch82data[] = {
- 0x0,0x0,0x42,0x44,0x48,0x50,0x7c,0x42,0x42,0x42,0x7c,0x0,0x0
-};
-static const GLUTBitmapChar ch82 = { 8, 13, 0, 2, 8, ch82data };
-
-static const unsigned char ch83data[] = {
- 0x0,0x0,0x3c,0x42,0x2,0x2,0x3c,0x40,0x40,0x42,0x3c,0x0,0x0
-};
-static const GLUTBitmapChar ch83 = { 8, 13, 0, 2, 8, ch83data };
-
-static const unsigned char ch84data[] = {
- 0x0,0x0,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0xfe,0x0,0x0
-};
-static const GLUTBitmapChar ch84 = { 8, 13, 0, 2, 8, ch84data };
-
-static const unsigned char ch85data[] = {
- 0x0,0x0,0x3c,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x0,0x0
-};
-static const GLUTBitmapChar ch85 = { 8, 13, 0, 2, 8, ch85data };
-
-static const unsigned char ch86data[] = {
- 0x0,0x0,0x10,0x28,0x28,0x28,0x44,0x44,0x44,0x82,0x82,0x0,0x0
-};
-static const GLUTBitmapChar ch86 = { 8, 13, 0, 2, 8, ch86data };
-
-static const unsigned char ch87data[] = {
- 0x0,0x0,0x44,0xaa,0x92,0x92,0x92,0x82,0x82,0x82,0x82,0x0,0x0
-};
-static const GLUTBitmapChar ch87 = { 8, 13, 0, 2, 8, ch87data };
-
-static const unsigned char ch88data[] = {
- 0x0,0x0,0x82,0x82,0x44,0x28,0x10,0x28,0x44,0x82,0x82,0x0,0x0
-};
-static const GLUTBitmapChar ch88 = { 8, 13, 0, 2, 8, ch88data };
-
-static const unsigned char ch89data[] = {
- 0x0,0x0,0x10,0x10,0x10,0x10,0x10,0x28,0x44,0x82,0x82,0x0,0x0
-};
-static const GLUTBitmapChar ch89 = { 8, 13, 0, 2, 8, ch89data };
-
-static const unsigned char ch90data[] = {
- 0x0,0x0,0x7e,0x40,0x40,0x20,0x10,0x8,0x4,0x2,0x7e,0x0,0x0
-};
-static const GLUTBitmapChar ch90 = { 8, 13, 0, 2, 8, ch90data };
-
-static const unsigned char ch91data[] = {
- 0x0,0x0,0x3c,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x0,0x0
-};
-static const GLUTBitmapChar ch91 = { 8, 13, 0, 2, 8, ch91data };
-
-static const unsigned char ch92data[] = {
- 0x0,0x0,0x2,0x2,0x4,0x8,0x10,0x20,0x40,0x80,0x80,0x0,0x0
-};
-static const GLUTBitmapChar ch92 = { 8, 13, 0, 2, 8, ch92data };
-
-static const unsigned char ch93data[] = {
- 0x0,0x0,0x78,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x78,0x0,0x0
-};
-static const GLUTBitmapChar ch93 = { 8, 13, 0, 2, 8, ch93data };
-
-static const unsigned char ch94data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x44,0x28,0x10,0x0,0x0
-};
-static const GLUTBitmapChar ch94 = { 8, 13, 0, 2, 8, ch94data };
-
-static const unsigned char ch95data[] = {
- 0x0,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch95 = { 8, 13, 0, 2, 8, ch95data };
-
-static const unsigned char ch96data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x18,0x38,0x0,0x0
-};
-static const GLUTBitmapChar ch96 = { 8, 13, 0, 2, 8, ch96data };
-
-static const unsigned char ch97data[] = {
- 0x0,0x0,0x3a,0x46,0x42,0x3e,0x2,0x3c,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch97 = { 8, 13, 0, 2, 8, ch97data };
-
-static const unsigned char ch98data[] = {
- 0x0,0x0,0x5c,0x62,0x42,0x42,0x62,0x5c,0x40,0x40,0x40,0x0,0x0
-};
-static const GLUTBitmapChar ch98 = { 8, 13, 0, 2, 8, ch98data };
-
-static const unsigned char ch99data[] = {
- 0x0,0x0,0x3c,0x42,0x40,0x40,0x42,0x3c,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch99 = { 8, 13, 0, 2, 8, ch99data };
-
-static const unsigned char ch100data[] = {
- 0x0,0x0,0x3a,0x46,0x42,0x42,0x46,0x3a,0x2,0x2,0x2,0x0,0x0
-};
-static const GLUTBitmapChar ch100 = { 8, 13, 0, 2, 8, ch100data };
-
-static const unsigned char ch101data[] = {
- 0x0,0x0,0x3c,0x42,0x40,0x7e,0x42,0x3c,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch101 = { 8, 13, 0, 2, 8, ch101data };
-
-static const unsigned char ch102data[] = {
- 0x0,0x0,0x20,0x20,0x20,0x20,0x7c,0x20,0x20,0x22,0x1c,0x0,0x0
-};
-static const GLUTBitmapChar ch102 = { 8, 13, 0, 2, 8, ch102data };
-
-static const unsigned char ch103data[] = {
- 0x3c,0x42,0x3c,0x40,0x38,0x44,0x44,0x3a,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch103 = { 8, 13, 0, 2, 8, ch103data };
-
-static const unsigned char ch104data[] = {
- 0x0,0x0,0x42,0x42,0x42,0x42,0x62,0x5c,0x40,0x40,0x40,0x0,0x0
-};
-static const GLUTBitmapChar ch104 = { 8, 13, 0, 2, 8, ch104data };
-
-static const unsigned char ch105data[] = {
- 0x0,0x0,0x7c,0x10,0x10,0x10,0x10,0x30,0x0,0x10,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch105 = { 8, 13, 0, 2, 8, ch105data };
-
-static const unsigned char ch106data[] = {
- 0x38,0x44,0x44,0x4,0x4,0x4,0x4,0xc,0x0,0x4,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch106 = { 8, 13, 0, 2, 8, ch106data };
-
-static const unsigned char ch107data[] = {
- 0x0,0x0,0x42,0x44,0x48,0x70,0x48,0x44,0x40,0x40,0x40,0x0,0x0
-};
-static const GLUTBitmapChar ch107 = { 8, 13, 0, 2, 8, ch107data };
-
-static const unsigned char ch108data[] = {
- 0x0,0x0,0x7c,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x30,0x0,0x0
-};
-static const GLUTBitmapChar ch108 = { 8, 13, 0, 2, 8, ch108data };
-
-static const unsigned char ch109data[] = {
- 0x0,0x0,0x82,0x92,0x92,0x92,0x92,0xec,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch109 = { 8, 13, 0, 2, 8, ch109data };
-
-static const unsigned char ch110data[] = {
- 0x0,0x0,0x42,0x42,0x42,0x42,0x62,0x5c,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch110 = { 8, 13, 0, 2, 8, ch110data };
-
-static const unsigned char ch111data[] = {
- 0x0,0x0,0x3c,0x42,0x42,0x42,0x42,0x3c,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch111 = { 8, 13, 0, 2, 8, ch111data };
-
-static const unsigned char ch112data[] = {
- 0x40,0x40,0x40,0x5c,0x62,0x42,0x62,0x5c,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch112 = { 8, 13, 0, 2, 8, ch112data };
-
-static const unsigned char ch113data[] = {
- 0x2,0x2,0x2,0x3a,0x46,0x42,0x46,0x3a,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch113 = { 8, 13, 0, 2, 8, ch113data };
-
-static const unsigned char ch114data[] = {
- 0x0,0x0,0x20,0x20,0x20,0x20,0x22,0x5c,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch114 = { 8, 13, 0, 2, 8, ch114data };
-
-static const unsigned char ch115data[] = {
- 0x0,0x0,0x3c,0x42,0xc,0x30,0x42,0x3c,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch115 = { 8, 13, 0, 2, 8, ch115data };
-
-static const unsigned char ch116data[] = {
- 0x0,0x0,0x1c,0x22,0x20,0x20,0x20,0x7c,0x20,0x20,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch116 = { 8, 13, 0, 2, 8, ch116data };
-
-static const unsigned char ch117data[] = {
- 0x0,0x0,0x3a,0x44,0x44,0x44,0x44,0x44,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch117 = { 8, 13, 0, 2, 8, ch117data };
-
-static const unsigned char ch118data[] = {
- 0x0,0x0,0x10,0x28,0x28,0x44,0x44,0x44,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch118 = { 8, 13, 0, 2, 8, ch118data };
-
-static const unsigned char ch119data[] = {
- 0x0,0x0,0x44,0xaa,0x92,0x92,0x82,0x82,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch119 = { 8, 13, 0, 2, 8, ch119data };
-
-static const unsigned char ch120data[] = {
- 0x0,0x0,0x42,0x24,0x18,0x18,0x24,0x42,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch120 = { 8, 13, 0, 2, 8, ch120data };
-
-static const unsigned char ch121data[] = {
- 0x3c,0x42,0x2,0x3a,0x46,0x42,0x42,0x42,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch121 = { 8, 13, 0, 2, 8, ch121data };
-
-static const unsigned char ch122data[] = {
- 0x0,0x0,0x7e,0x20,0x10,0x8,0x4,0x7e,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch122 = { 8, 13, 0, 2, 8, ch122data };
-
-static const unsigned char ch123data[] = {
- 0x0,0x0,0xe,0x10,0x10,0x8,0x30,0x8,0x10,0x10,0xe,0x0,0x0
-};
-static const GLUTBitmapChar ch123 = { 8, 13, 0, 2, 8, ch123data };
-
-static const unsigned char ch124data[] = {
- 0x0,0x0,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x0,0x0
-};
-static const GLUTBitmapChar ch124 = { 8, 13, 0, 2, 8, ch124data };
-
-static const unsigned char ch125data[] = {
- 0x0,0x0,0x70,0x8,0x8,0x10,0xc,0x10,0x8,0x8,0x70,0x0,0x0
-};
-static const GLUTBitmapChar ch125 = { 8, 13, 0, 2, 8, ch125data };
-
-static const unsigned char ch126data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x48,0x54,0x24,0x0,0x0
-};
-static const GLUTBitmapChar ch126 = { 8, 13, 0, 2, 8, ch126data };
-
-static const unsigned char ch127data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch127 = { 8, 13, 0, 2, 8, ch127data };
-
-static const unsigned char ch160data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch160 = { 8, 13, 0, 2, 8, ch160data };
-
-static const unsigned char ch161data[] = {
- 0x0,0x0,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x0,0x10,0x0,0x0
-};
-static const GLUTBitmapChar ch161 = { 8, 13, 0, 2, 8, ch161data };
-
-static const unsigned char ch162data[] = {
- 0x0,0x0,0x0,0x10,0x38,0x54,0x50,0x50,0x54,0x38,0x10,0x0,0x0
-};
-static const GLUTBitmapChar ch162 = { 8, 13, 0, 2, 8, ch162data };
-
-static const unsigned char ch163data[] = {
- 0x0,0x0,0xdc,0x62,0x20,0x20,0x20,0x70,0x20,0x22,0x1c,0x0,0x0
-};
-static const GLUTBitmapChar ch163 = { 8, 13, 0, 2, 8, ch163data };
-
-static const unsigned char ch164data[] = {
- 0x0,0x0,0x0,0x42,0x3c,0x24,0x24,0x3c,0x42,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch164 = { 8, 13, 0, 2, 8, ch164data };
-
-static const unsigned char ch165data[] = {
- 0x0,0x0,0x10,0x10,0x7c,0x10,0x7c,0x28,0x44,0x82,0x82,0x0,0x0
-};
-static const GLUTBitmapChar ch165 = { 8, 13, 0, 2, 8, ch165data };
-
-static const unsigned char ch166data[] = {
- 0x0,0x0,0x10,0x10,0x10,0x10,0x0,0x10,0x10,0x10,0x10,0x0,0x0
-};
-static const GLUTBitmapChar ch166 = { 8, 13, 0, 2, 8, ch166data };
-
-static const unsigned char ch167data[] = {
- 0x0,0x0,0x18,0x24,0x4,0x18,0x24,0x24,0x18,0x20,0x24,0x18,0x0
-};
-static const GLUTBitmapChar ch167 = { 8, 13, 0, 2, 8, ch167data };
-
-static const unsigned char ch168data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6c,0x0,0x0
-};
-static const GLUTBitmapChar ch168 = { 8, 13, 0, 2, 8, ch168data };
-
-static const unsigned char ch169data[] = {
- 0x0,0x0,0x0,0x38,0x44,0x92,0xaa,0xa2,0xaa,0x92,0x44,0x38,0x0
-};
-static const GLUTBitmapChar ch169 = { 8, 13, 0, 2, 8, ch169data };
-
-static const unsigned char ch170data[] = {
- 0x0,0x0,0x0,0x0,0x7c,0x0,0x3c,0x44,0x3c,0x4,0x38,0x0,0x0
-};
-static const GLUTBitmapChar ch170 = { 8, 13, 0, 2, 8, ch170data };
-
-static const unsigned char ch171data[] = {
- 0x0,0x0,0x0,0x12,0x24,0x48,0x90,0x48,0x24,0x12,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch171 = { 8, 13, 0, 2, 8, ch171data };
-
-static const unsigned char ch172data[] = {
- 0x0,0x0,0x0,0x2,0x2,0x2,0x7e,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch172 = { 8, 13, 0, 2, 8, ch172data };
-
-static const unsigned char ch173data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x7e,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch173 = { 8, 13, 0, 2, 8, ch173data };
-
-static const unsigned char ch174data[] = {
- 0x0,0x0,0x0,0x38,0x44,0xaa,0xb2,0xaa,0xaa,0x92,0x44,0x38,0x0
-};
-static const GLUTBitmapChar ch174 = { 8, 13, 0, 2, 8, ch174data };
-
-static const unsigned char ch175data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7e,0x0,0x0
-};
-static const GLUTBitmapChar ch175 = { 8, 13, 0, 2, 8, ch175data };
-
-static const unsigned char ch176data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x18,0x24,0x24,0x18,0x0,0x0
-};
-static const GLUTBitmapChar ch176 = { 8, 13, 0, 2, 8, ch176data };
-
-static const unsigned char ch177data[] = {
- 0x0,0x0,0x0,0x7c,0x0,0x10,0x10,0x7c,0x10,0x10,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch177 = { 8, 13, 0, 2, 8, ch177data };
-
-static const unsigned char ch178data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x78,0x40,0x30,0x8,0x48,0x30,0x0
-};
-static const GLUTBitmapChar ch178 = { 8, 13, 0, 2, 8, ch178data };
-
-static const unsigned char ch179data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x30,0x48,0x8,0x10,0x48,0x30,0x0
-};
-static const GLUTBitmapChar ch179 = { 8, 13, 0, 2, 8, ch179data };
-
-static const unsigned char ch180data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0x8,0x0
-};
-static const GLUTBitmapChar ch180 = { 8, 13, 0, 2, 8, ch180data };
-
-static const unsigned char ch181data[] = {
- 0x0,0x40,0x5a,0x66,0x42,0x42,0x42,0x42,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch181 = { 8, 13, 0, 2, 8, ch181data };
-
-static const unsigned char ch182data[] = {
- 0x0,0x0,0x14,0x14,0x14,0x14,0x34,0x74,0x74,0x74,0x3e,0x0,0x0
-};
-static const GLUTBitmapChar ch182 = { 8, 13, 0, 2, 8, ch182data };
-
-static const unsigned char ch183data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x18,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch183 = { 8, 13, 0, 2, 8, ch183data };
-
-static const unsigned char ch184data[] = {
- 0x18,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch184 = { 8, 13, 0, 2, 8, ch184data };
-
-static const unsigned char ch185data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x70,0x20,0x20,0x20,0x60,0x20,0x0
-};
-static const GLUTBitmapChar ch185 = { 8, 13, 0, 2, 8, ch185data };
-
-static const unsigned char ch186data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x78,0x0,0x30,0x48,0x48,0x30,0x0,0x0
-};
-static const GLUTBitmapChar ch186 = { 8, 13, 0, 2, 8, ch186data };
-
-static const unsigned char ch187data[] = {
- 0x0,0x0,0x0,0x90,0x48,0x24,0x12,0x24,0x48,0x90,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch187 = { 8, 13, 0, 2, 8, ch187data };
-
-static const unsigned char ch188data[] = {
- 0x0,0x0,0x6,0x1a,0x12,0xa,0xe6,0x42,0x40,0x40,0xc0,0x40,0x0
-};
-static const GLUTBitmapChar ch188 = { 8, 13, 0, 2, 8, ch188data };
-
-static const unsigned char ch189data[] = {
- 0x0,0x0,0x1e,0x10,0xc,0x2,0xf2,0x4c,0x40,0x40,0xc0,0x40,0x0
-};
-static const GLUTBitmapChar ch189 = { 8, 13, 0, 2, 8, ch189data };
-
-static const unsigned char ch190data[] = {
- 0x0,0x0,0x6,0x1a,0x12,0xa,0x66,0x92,0x10,0x20,0x90,0x60,0x0
-};
-static const GLUTBitmapChar ch190 = { 8, 13, 0, 2, 8, ch190data };
-
-static const unsigned char ch191data[] = {
- 0x0,0x0,0x3c,0x42,0x42,0x40,0x20,0x10,0x10,0x0,0x10,0x0,0x0
-};
-static const GLUTBitmapChar ch191 = { 8, 13, 0, 2, 8, ch191data };
-
-static const unsigned char ch192data[] = {
- 0x0,0x0,0x42,0x42,0x7e,0x42,0x42,0x24,0x18,0x0,0x8,0x10,0x0
-};
-static const GLUTBitmapChar ch192 = { 8, 13, 0, 2, 8, ch192data };
-
-static const unsigned char ch193data[] = {
- 0x0,0x0,0x42,0x42,0x7e,0x42,0x42,0x24,0x18,0x0,0x10,0x8,0x0
-};
-static const GLUTBitmapChar ch193 = { 8, 13, 0, 2, 8, ch193data };
-
-static const unsigned char ch194data[] = {
- 0x0,0x0,0x42,0x42,0x7e,0x42,0x42,0x24,0x18,0x0,0x24,0x18,0x0
-};
-static const GLUTBitmapChar ch194 = { 8, 13, 0, 2, 8, ch194data };
-
-static const unsigned char ch195data[] = {
- 0x0,0x0,0x42,0x42,0x7e,0x42,0x42,0x24,0x18,0x0,0x28,0x14,0x0
-};
-static const GLUTBitmapChar ch195 = { 8, 13, 0, 2, 8, ch195data };
-
-static const unsigned char ch196data[] = {
- 0x0,0x0,0x42,0x42,0x7e,0x42,0x42,0x24,0x18,0x0,0x24,0x24,0x0
-};
-static const GLUTBitmapChar ch196 = { 8, 13, 0, 2, 8, ch196data };
-
-static const unsigned char ch197data[] = {
- 0x0,0x0,0x42,0x42,0x7e,0x42,0x42,0x24,0x18,0x18,0x24,0x18,0x0
-};
-static const GLUTBitmapChar ch197 = { 8, 13, 0, 2, 8, ch197data };
-
-static const unsigned char ch198data[] = {
- 0x0,0x0,0x9e,0x90,0x90,0xf0,0x9c,0x90,0x90,0x90,0x6e,0x0,0x0
-};
-static const GLUTBitmapChar ch198 = { 8, 13, 0, 2, 8, ch198data };
-
-static const unsigned char ch199data[] = {
- 0x10,0x8,0x3c,0x42,0x40,0x40,0x40,0x40,0x40,0x42,0x3c,0x0,0x0
-};
-static const GLUTBitmapChar ch199 = { 8, 13, 0, 2, 8, ch199data };
-
-static const unsigned char ch200data[] = {
- 0x0,0x0,0x7e,0x40,0x40,0x78,0x40,0x40,0x7e,0x0,0x8,0x10,0x0
-};
-static const GLUTBitmapChar ch200 = { 8, 13, 0, 2, 8, ch200data };
-
-static const unsigned char ch201data[] = {
- 0x0,0x0,0x7e,0x40,0x40,0x78,0x40,0x40,0x7e,0x0,0x10,0x8,0x0
-};
-static const GLUTBitmapChar ch201 = { 8, 13, 0, 2, 8, ch201data };
-
-static const unsigned char ch202data[] = {
- 0x0,0x0,0x7e,0x40,0x40,0x78,0x40,0x40,0x7e,0x0,0x24,0x18,0x0
-};
-static const GLUTBitmapChar ch202 = { 8, 13, 0, 2, 8, ch202data };
-
-static const unsigned char ch203data[] = {
- 0x0,0x0,0x7e,0x40,0x40,0x78,0x40,0x40,0x7e,0x0,0x24,0x24,0x0
-};
-static const GLUTBitmapChar ch203 = { 8, 13, 0, 2, 8, ch203data };
-
-static const unsigned char ch204data[] = {
- 0x0,0x0,0x7c,0x10,0x10,0x10,0x10,0x10,0x7c,0x0,0x8,0x10,0x0
-};
-static const GLUTBitmapChar ch204 = { 8, 13, 0, 2, 8, ch204data };
-
-static const unsigned char ch205data[] = {
- 0x0,0x0,0x7c,0x10,0x10,0x10,0x10,0x10,0x7c,0x0,0x10,0x8,0x0
-};
-static const GLUTBitmapChar ch205 = { 8, 13, 0, 2, 8, ch205data };
-
-static const unsigned char ch206data[] = {
- 0x0,0x0,0x7c,0x10,0x10,0x10,0x10,0x10,0x7c,0x0,0x24,0x18,0x0
-};
-static const GLUTBitmapChar ch206 = { 8, 13, 0, 2, 8, ch206data };
-
-static const unsigned char ch207data[] = {
- 0x0,0x0,0x7c,0x10,0x10,0x10,0x10,0x10,0x7c,0x0,0x28,0x28,0x0
-};
-static const GLUTBitmapChar ch207 = { 8, 13, 0, 2, 8, ch207data };
-
-static const unsigned char ch208data[] = {
- 0x0,0x0,0xfc,0x42,0x42,0x42,0xe2,0x42,0x42,0x42,0xfc,0x0,0x0
-};
-static const GLUTBitmapChar ch208 = { 8, 13, 0, 2, 8, ch208data };
-
-static const unsigned char ch209data[] = {
- 0x0,0x0,0x82,0x86,0x8a,0x92,0xa2,0xc2,0x82,0x0,0x28,0x14,0x0
-};
-static const GLUTBitmapChar ch209 = { 8, 13, 0, 2, 8, ch209data };
-
-static const unsigned char ch210data[] = {
- 0x0,0x0,0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x8,0x10,0x0
-};
-static const GLUTBitmapChar ch210 = { 8, 13, 0, 2, 8, ch210data };
-
-static const unsigned char ch211data[] = {
- 0x0,0x0,0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x10,0x8,0x0
-};
-static const GLUTBitmapChar ch211 = { 8, 13, 0, 2, 8, ch211data };
-
-static const unsigned char ch212data[] = {
- 0x0,0x0,0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x24,0x18,0x0
-};
-static const GLUTBitmapChar ch212 = { 8, 13, 0, 2, 8, ch212data };
-
-static const unsigned char ch213data[] = {
- 0x0,0x0,0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x28,0x14,0x0
-};
-static const GLUTBitmapChar ch213 = { 8, 13, 0, 2, 8, ch213data };
-
-static const unsigned char ch214data[] = {
- 0x0,0x0,0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x28,0x28,0x0
-};
-static const GLUTBitmapChar ch214 = { 8, 13, 0, 2, 8, ch214data };
-
-static const unsigned char ch215data[] = {
- 0x0,0x0,0x0,0x42,0x24,0x18,0x18,0x24,0x42,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch215 = { 8, 13, 0, 2, 8, ch215data };
-
-static const unsigned char ch216data[] = {
- 0x0,0x40,0x3c,0x62,0x52,0x52,0x52,0x4a,0x4a,0x46,0x3c,0x2,0x0
-};
-static const GLUTBitmapChar ch216 = { 8, 13, 0, 2, 8, ch216data };
-
-static const unsigned char ch217data[] = {
- 0x0,0x0,0x3c,0x42,0x42,0x42,0x42,0x42,0x42,0x0,0x8,0x10,0x0
-};
-static const GLUTBitmapChar ch217 = { 8, 13, 0, 2, 8, ch217data };
-
-static const unsigned char ch218data[] = {
- 0x0,0x0,0x3c,0x42,0x42,0x42,0x42,0x42,0x42,0x0,0x10,0x8,0x0
-};
-static const GLUTBitmapChar ch218 = { 8, 13, 0, 2, 8, ch218data };
-
-static const unsigned char ch219data[] = {
- 0x0,0x0,0x3c,0x42,0x42,0x42,0x42,0x42,0x42,0x0,0x24,0x18,0x0
-};
-static const GLUTBitmapChar ch219 = { 8, 13, 0, 2, 8, ch219data };
-
-static const unsigned char ch220data[] = {
- 0x0,0x0,0x3c,0x42,0x42,0x42,0x42,0x42,0x42,0x0,0x24,0x24,0x0
-};
-static const GLUTBitmapChar ch220 = { 8, 13, 0, 2, 8, ch220data };
-
-static const unsigned char ch221data[] = {
- 0x0,0x0,0x10,0x10,0x10,0x10,0x28,0x44,0x44,0x0,0x10,0x8,0x0
-};
-static const GLUTBitmapChar ch221 = { 8, 13, 0, 2, 8, ch221data };
-
-static const unsigned char ch222data[] = {
- 0x0,0x0,0x40,0x40,0x40,0x7c,0x42,0x42,0x42,0x7c,0x40,0x0,0x0
-};
-static const GLUTBitmapChar ch222 = { 8, 13, 0, 2, 8, ch222data };
-
-static const unsigned char ch223data[] = {
- 0x0,0x40,0x5c,0x62,0x42,0x42,0x7c,0x42,0x42,0x3c,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch223 = { 8, 13, 0, 2, 8, ch223data };
-
-static const unsigned char ch224data[] = {
- 0x0,0x0,0x3a,0x46,0x42,0x3e,0x2,0x3c,0x0,0x0,0x8,0x10,0x0
-};
-static const GLUTBitmapChar ch224 = { 8, 13, 0, 2, 8, ch224data };
-
-static const unsigned char ch225data[] = {
- 0x0,0x0,0x3a,0x46,0x42,0x3e,0x2,0x3c,0x0,0x0,0x10,0x8,0x0
-};
-static const GLUTBitmapChar ch225 = { 8, 13, 0, 2, 8, ch225data };
-
-static const unsigned char ch226data[] = {
- 0x0,0x0,0x3a,0x46,0x42,0x3e,0x2,0x3c,0x0,0x0,0x24,0x18,0x0
-};
-static const GLUTBitmapChar ch226 = { 8, 13, 0, 2, 8, ch226data };
-
-static const unsigned char ch227data[] = {
- 0x0,0x0,0x3a,0x46,0x42,0x3e,0x2,0x3c,0x0,0x0,0x28,0x14,0x0
-};
-static const GLUTBitmapChar ch227 = { 8, 13, 0, 2, 8, ch227data };
-
-static const unsigned char ch228data[] = {
- 0x0,0x0,0x3a,0x46,0x42,0x3e,0x2,0x3c,0x0,0x0,0x24,0x24,0x0
-};
-static const GLUTBitmapChar ch228 = { 8, 13, 0, 2, 8, ch228data };
-
-static const unsigned char ch229data[] = {
- 0x0,0x0,0x3a,0x46,0x42,0x3e,0x2,0x3c,0x0,0x18,0x24,0x18,0x0
-};
-static const GLUTBitmapChar ch229 = { 8, 13, 0, 2, 8, ch229data };
-
-static const unsigned char ch230data[] = {
- 0x0,0x0,0x6c,0x92,0x90,0x7c,0x12,0x6c,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch230 = { 8, 13, 0, 2, 8, ch230data };
-
-static const unsigned char ch231data[] = {
- 0x10,0x8,0x3c,0x42,0x40,0x40,0x42,0x3c,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch231 = { 8, 13, 0, 2, 8, ch231data };
-
-static const unsigned char ch232data[] = {
- 0x0,0x0,0x3c,0x42,0x40,0x7e,0x42,0x3c,0x0,0x0,0x8,0x10,0x0
-};
-static const GLUTBitmapChar ch232 = { 8, 13, 0, 2, 8, ch232data };
-
-static const unsigned char ch233data[] = {
- 0x0,0x0,0x3c,0x42,0x40,0x7e,0x42,0x3c,0x0,0x0,0x10,0x8,0x0
-};
-static const GLUTBitmapChar ch233 = { 8, 13, 0, 2, 8, ch233data };
-
-static const unsigned char ch234data[] = {
- 0x0,0x0,0x3c,0x42,0x40,0x7e,0x42,0x3c,0x0,0x0,0x24,0x18,0x0
-};
-static const GLUTBitmapChar ch234 = { 8, 13, 0, 2, 8, ch234data };
-
-static const unsigned char ch235data[] = {
- 0x0,0x0,0x3c,0x42,0x40,0x7e,0x42,0x3c,0x0,0x0,0x24,0x24,0x0
-};
-static const GLUTBitmapChar ch235 = { 8, 13, 0, 2, 8, ch235data };
-
-static const unsigned char ch236data[] = {
- 0x0,0x0,0x7c,0x10,0x10,0x10,0x10,0x30,0x0,0x0,0x10,0x20,0x0
-};
-static const GLUTBitmapChar ch236 = { 8, 13, 0, 2, 8, ch236data };
-
-static const unsigned char ch237data[] = {
- 0x0,0x0,0x7c,0x10,0x10,0x10,0x10,0x30,0x0,0x0,0x20,0x10,0x0
-};
-static const GLUTBitmapChar ch237 = { 8, 13, 0, 2, 8, ch237data };
-
-static const unsigned char ch238data[] = {
- 0x0,0x0,0x7c,0x10,0x10,0x10,0x10,0x30,0x0,0x0,0x48,0x30,0x0
-};
-static const GLUTBitmapChar ch238 = { 8, 13, 0, 2, 8, ch238data };
-
-static const unsigned char ch239data[] = {
- 0x0,0x0,0x7c,0x10,0x10,0x10,0x10,0x30,0x0,0x0,0x28,0x28,0x0
-};
-static const GLUTBitmapChar ch239 = { 8, 13, 0, 2, 8, ch239data };
-
-static const unsigned char ch240data[] = {
- 0x0,0x0,0x3c,0x42,0x42,0x42,0x42,0x3c,0x4,0x28,0x18,0x24,0x0
-};
-static const GLUTBitmapChar ch240 = { 8, 13, 0, 2, 8, ch240data };
-
-static const unsigned char ch241data[] = {
- 0x0,0x0,0x42,0x42,0x42,0x42,0x62,0x5c,0x0,0x0,0x28,0x14,0x0
-};
-static const GLUTBitmapChar ch241 = { 8, 13, 0, 2, 8, ch241data };
-
-static const unsigned char ch242data[] = {
- 0x0,0x0,0x3c,0x42,0x42,0x42,0x42,0x3c,0x0,0x0,0x8,0x10,0x0
-};
-static const GLUTBitmapChar ch242 = { 8, 13, 0, 2, 8, ch242data };
-
-static const unsigned char ch243data[] = {
- 0x0,0x0,0x3c,0x42,0x42,0x42,0x42,0x3c,0x0,0x0,0x10,0x8,0x0
-};
-static const GLUTBitmapChar ch243 = { 8, 13, 0, 2, 8, ch243data };
-
-static const unsigned char ch244data[] = {
- 0x0,0x0,0x3c,0x42,0x42,0x42,0x42,0x3c,0x0,0x0,0x24,0x18,0x0
-};
-static const GLUTBitmapChar ch244 = { 8, 13, 0, 2, 8, ch244data };
-
-static const unsigned char ch245data[] = {
- 0x0,0x0,0x3c,0x42,0x42,0x42,0x42,0x3c,0x0,0x0,0x28,0x14,0x0
-};
-static const GLUTBitmapChar ch245 = { 8, 13, 0, 2, 8, ch245data };
-
-static const unsigned char ch246data[] = {
- 0x0,0x0,0x3c,0x42,0x42,0x42,0x42,0x3c,0x0,0x0,0x24,0x24,0x0
-};
-static const GLUTBitmapChar ch246 = { 8, 13, 0, 2, 8, ch246data };
-
-static const unsigned char ch247data[] = {
- 0x0,0x0,0x0,0x10,0x10,0x0,0x7c,0x0,0x10,0x10,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch247 = { 8, 13, 0, 2, 8, ch247data };
-
-static const unsigned char ch248data[] = {
- 0x0,0x40,0x3c,0x62,0x52,0x4a,0x46,0x3c,0x2,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch248 = { 8, 13, 0, 2, 8, ch248data };
-
-static const unsigned char ch249data[] = {
- 0x0,0x0,0x3a,0x44,0x44,0x44,0x44,0x44,0x0,0x0,0x8,0x10,0x0
-};
-static const GLUTBitmapChar ch249 = { 8, 13, 0, 2, 8, ch249data };
-
-static const unsigned char ch250data[] = {
- 0x0,0x0,0x3a,0x44,0x44,0x44,0x44,0x44,0x0,0x0,0x10,0x8,0x0
-};
-static const GLUTBitmapChar ch250 = { 8, 13, 0, 2, 8, ch250data };
-
-static const unsigned char ch251data[] = {
- 0x0,0x0,0x3a,0x44,0x44,0x44,0x44,0x44,0x0,0x0,0x24,0x18,0x0
-};
-static const GLUTBitmapChar ch251 = { 8, 13, 0, 2, 8, ch251data };
-
-static const unsigned char ch252data[] = {
- 0x0,0x0,0x3a,0x44,0x44,0x44,0x44,0x44,0x0,0x0,0x24,0x24,0x0
-};
-static const GLUTBitmapChar ch252 = { 8, 13, 0, 2, 8, ch252data };
-
-static const unsigned char ch253data[] = {
- 0x3c,0x42,0x2,0x3a,0x46,0x42,0x42,0x42,0x0,0x0,0x10,0x8,0x0
-};
-static const GLUTBitmapChar ch253 = { 8, 13, 0, 2, 8, ch253data };
-
-static const unsigned char ch254data[] = {
- 0x40,0x40,0x5c,0x62,0x42,0x42,0x62,0x5c,0x40,0x40,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch254 = { 8, 13, 0, 2, 8, ch254data };
-
-static const unsigned char ch255data[] = {
- 0x3c,0x42,0x2,0x3a,0x46,0x42,0x42,0x42,0x0,0x0,0x24,0x24,0x0
-};
-static const GLUTBitmapChar ch255 = { 8, 13, 0, 2, 8, ch255data };
-
-
-static const GLUTBitmapChar *chars[] = {
- &ch0, &ch1, &ch2, &ch3, &ch4, &ch5, &ch6, &ch7,
- &ch8, &ch9, &ch10, &ch11, &ch12, &ch13, &ch14, &ch15,
- &ch16, &ch17, &ch18, &ch19, &ch20, &ch21, &ch22, &ch23,
- &ch24, &ch25, &ch26, &ch27, &ch28, &ch29, &ch30, &ch31,
- &ch32, &ch33, &ch34, &ch35, &ch36, &ch37, &ch38, &ch39,
- &ch40, &ch41, &ch42, &ch43, &ch44, &ch45, &ch46, &ch47,
- &ch48, &ch49, &ch50, &ch51, &ch52, &ch53, &ch54, &ch55,
- &ch56, &ch57, &ch58, &ch59, &ch60, &ch61, &ch62, &ch63,
- &ch64, &ch65, &ch66, &ch67, &ch68, &ch69, &ch70, &ch71,
- &ch72, &ch73, &ch74, &ch75, &ch76, &ch77, &ch78, &ch79,
- &ch80, &ch81, &ch82, &ch83, &ch84, &ch85, &ch86, &ch87,
- &ch88, &ch89, &ch90, &ch91, &ch92, &ch93, &ch94, &ch95,
- &ch96, &ch97, &ch98, &ch99, &ch100, &ch101, &ch102, &ch103,
- &ch104, &ch105, &ch106, &ch107, &ch108, &ch109, &ch110, &ch111,
- &ch112, &ch113, &ch114, &ch115, &ch116, &ch117, &ch118, &ch119,
- &ch120, &ch121, &ch122, &ch123, &ch124, &ch125, &ch126, &ch127,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- &ch160, &ch161, &ch162, &ch163, &ch164, &ch165, &ch166, &ch167,
- &ch168, &ch169, &ch170, &ch171, &ch172, &ch173, &ch174, &ch175,
- &ch176, &ch177, &ch178, &ch179, &ch180, &ch181, &ch182, &ch183,
- &ch184, &ch185, &ch186, &ch187, &ch188, &ch189, &ch190, &ch191,
- &ch192, &ch193, &ch194, &ch195, &ch196, &ch197, &ch198, &ch199,
- &ch200, &ch201, &ch202, &ch203, &ch204, &ch205, &ch206, &ch207,
- &ch208, &ch209, &ch210, &ch211, &ch212, &ch213, &ch214, &ch215,
- &ch216, &ch217, &ch218, &ch219, &ch220, &ch221, &ch222, &ch223,
- &ch224, &ch225, &ch226, &ch227, &ch228, &ch229, &ch230, &ch231,
- &ch232, &ch233, &ch234, &ch235, &ch236, &ch237, &ch238, &ch239,
- &ch240, &ch241, &ch242, &ch243, &ch244, &ch245, &ch246, &ch247,
- &ch248, &ch249, &ch250, &ch251, &ch252, &ch253, &ch254, &ch255
-};
-
-const GLUTBitmapFont glutBitmap8By13 = {
- "-Misc-Fixed-Medium-R-Normal--13-120-75-75-C-80-ISO8859-1",
- 13, 256, chars
-};
diff --git a/src/glut/dos/f9x15.c b/src/glut/dos/f9x15.c
deleted file mode 100644
index 0e7cd6da51..0000000000
--- a/src/glut/dos/f9x15.c
+++ /dev/null
@@ -1,1407 +0,0 @@
-/* autogenerated by bdf2c! do not edit */
-
-/* "Public domain terminal emulator font. Share and enjoy." */
-
-
-#include "internal.h"
-/*
-typedef struct {
- int width, height;
- int xorig, yorig;
- int xmove;
- const unsigned char *bitmap;
-} GLUTBitmapChar;
-
-typedef struct {
- const char *name;
- int height;
- int num;
- const GLUTBitmapChar *const *table;
-} GLUTBitmapFont;
-*/
-
-
-static const unsigned char ch0data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch0 = { 9, 15, 0, 3, 9, ch0data };
-
-static const unsigned char ch1data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x1c,0x0,0x3e,0x0,0x7f,0x0,0x3e,0x0,
- 0x1c,0x0,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch1 = { 9, 15, 0, 3, 9, ch1data };
-
-static const unsigned char ch2data[] = {
- 0x55,0x0,0xaa,0x0,0x55,0x0,0xaa,0x0,0x55,0x0,0xaa,0x0,0x55,0x0,0xaa,0x0,
- 0x55,0x0,0xaa,0x0,0x55,0x0,0xaa,0x0,0x55,0x0,0xaa,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch2 = { 9, 15, 0, 3, 9, ch2data };
-
-static const unsigned char ch3data[] = {
- 0x0,0x0,0x4,0x0,0x4,0x0,0x4,0x0,0x1f,0x0,0x0,0x0,0x44,0x0,0x44,0x0,
- 0x7c,0x0,0x44,0x0,0x44,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch3 = { 9, 15, 0, 3, 9, ch3data };
-
-static const unsigned char ch4data[] = {
- 0x0,0x0,0x8,0x0,0x8,0x0,0xe,0x0,0x8,0x0,0xf,0x0,0x40,0x0,0x40,0x0,
- 0x70,0x0,0x40,0x0,0x78,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch4 = { 9, 15, 0, 3, 9, ch4data };
-
-static const unsigned char ch5data[] = {
- 0x0,0x0,0x11,0x0,0x11,0x0,0x1e,0x0,0x11,0x0,0x1e,0x0,0x0,0x0,0x3c,0x0,
- 0x40,0x0,0x40,0x0,0x3c,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch5 = { 9, 15, 0, 3, 9, ch5data };
-
-static const unsigned char ch6data[] = {
- 0x0,0x0,0x10,0x0,0x10,0x0,0x1e,0x0,0x10,0x0,0x1f,0x0,0x0,0x0,0x7c,0x0,
- 0x40,0x0,0x40,0x0,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch6 = { 9, 15, 0, 3, 9, ch6data };
-
-static const unsigned char ch7data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
- 0x0,0x0,0x1c,0x0,0x22,0x0,0x22,0x0,0x1c,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch7 = { 9, 15, 0, 3, 9, ch7data };
-
-static const unsigned char ch8data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0x0,0x8,0x0,0x8,0x0,0x7f,0x0,0x8,0x0,
- 0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch8 = { 9, 15, 0, 3, 9, ch8data };
-
-static const unsigned char ch9data[] = {
- 0x0,0x0,0x1f,0x0,0x10,0x0,0x10,0x0,0x10,0x0,0x10,0x0,0x44,0x0,0x4c,0x0,
- 0x54,0x0,0x64,0x0,0x44,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch9 = { 9, 15, 0, 3, 9, ch9data };
-
-static const unsigned char ch10data[] = {
- 0x0,0x0,0x4,0x0,0x4,0x0,0x4,0x0,0x4,0x0,0x1f,0x0,0x0,0x0,0x10,0x0,
- 0x28,0x0,0x44,0x0,0x44,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch10 = { 9, 15, 0, 3, 9, ch10data };
-
-static const unsigned char ch11data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf8,0x0,0x8,0x0,
- 0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0
-};
-static const GLUTBitmapChar ch11 = { 9, 15, 0, 3, 9, ch11data };
-
-static const unsigned char ch12data[] = {
- 0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0xf8,0x0,0x0,0x0,
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch12 = { 9, 15, 0, 3, 9, ch12data };
-
-static const unsigned char ch13data[] = {
- 0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0xf,0x80,0x0,0x0,
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch13 = { 9, 15, 0, 3, 9, ch13data };
-
-static const unsigned char ch14data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0x80,0x8,0x0,
- 0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0
-};
-static const GLUTBitmapChar ch14 = { 9, 15, 0, 3, 9, ch14data };
-
-static const unsigned char ch15data[] = {
- 0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0xff,0x80,0x8,0x0,
- 0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0
-};
-static const GLUTBitmapChar ch15 = { 9, 15, 0, 3, 9, ch15data };
-
-static const unsigned char ch16data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
- 0x0,0x0,0x0,0x0,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch16 = { 9, 15, 0, 3, 9, ch16data };
-
-static const unsigned char ch17data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
- 0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch17 = { 9, 15, 0, 3, 9, ch17data };
-
-static const unsigned char ch18data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0x80,0x0,0x0,
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch18 = { 9, 15, 0, 3, 9, ch18data };
-
-static const unsigned char ch19data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch19 = { 9, 15, 0, 3, 9, ch19data };
-
-static const unsigned char ch20data[] = {
- 0x0,0x0,0x0,0x0,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch20 = { 9, 15, 0, 3, 9, ch20data };
-
-static const unsigned char ch21data[] = {
- 0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0xf,0x80,0x8,0x0,
- 0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0
-};
-static const GLUTBitmapChar ch21 = { 9, 15, 0, 3, 9, ch21data };
-
-static const unsigned char ch22data[] = {
- 0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0xf8,0x0,0x8,0x0,
- 0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0
-};
-static const GLUTBitmapChar ch22 = { 9, 15, 0, 3, 9, ch22data };
-
-static const unsigned char ch23data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0x80,0x8,0x0,
- 0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0
-};
-static const GLUTBitmapChar ch23 = { 9, 15, 0, 3, 9, ch23data };
-
-static const unsigned char ch24data[] = {
- 0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0xff,0x80,0x0,0x0,
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch24 = { 9, 15, 0, 3, 9, ch24data };
-
-static const unsigned char ch25data[] = {
- 0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,
- 0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0
-};
-static const GLUTBitmapChar ch25 = { 9, 15, 0, 3, 9, ch25data };
-
-static const unsigned char ch26data[] = {
- 0x0,0x0,0x3f,0x0,0x0,0x0,0x1,0x0,0x2,0x0,0x4,0x0,0x8,0x0,0x10,0x0,
- 0x10,0x0,0x8,0x0,0x4,0x0,0x2,0x0,0x1,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch26 = { 9, 15, 0, 3, 9, ch26data };
-
-static const unsigned char ch27data[] = {
- 0x0,0x0,0x7f,0x0,0x0,0x0,0x40,0x0,0x20,0x0,0x10,0x0,0x8,0x0,0x4,0x0,
- 0x4,0x0,0x8,0x0,0x10,0x0,0x20,0x0,0x40,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch27 = { 9, 15, 0, 3, 9, ch27data };
-
-static const unsigned char ch28data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x22,0x0,0x12,0x0,0x12,0x0,0x12,0x0,0x12,0x0,
- 0x12,0x0,0x7f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch28 = { 9, 15, 0, 3, 9, ch28data };
-
-static const unsigned char ch29data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x20,0x0,0x7f,0x0,0x8,0x0,0x7f,0x0,
- 0x2,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch29 = { 9, 15, 0, 3, 9, ch29data };
-
-static const unsigned char ch30data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x2e,0x0,0x51,0x0,0x30,0x0,0x10,0x0,0x10,0x0,
- 0x7c,0x0,0x10,0x0,0x10,0x0,0x11,0x0,0xe,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch30 = { 9, 15, 0, 3, 9, ch30data };
-
-static const unsigned char ch31data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc,0x0,0xc,0x0,0x0,0x0,
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch31 = { 9, 15, 0, 3, 9, ch31data };
-
-static const unsigned char ch32data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch32 = { 9, 15, 0, 3, 9, ch32data };
-
-static const unsigned char ch33data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x8,0x0,0x0,0x0,0x0,0x0,0x8,0x0,
- 0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch33 = { 9, 15, 0, 3, 9, ch33data };
-
-static const unsigned char ch34data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
- 0x0,0x0,0x0,0x0,0x12,0x0,0x12,0x0,0x12,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch34 = { 9, 15, 0, 3, 9, ch34data };
-
-static const unsigned char ch35data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x24,0x0,0x24,0x0,0x7e,0x0,0x24,0x0,
- 0x24,0x0,0x7e,0x0,0x24,0x0,0x24,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch35 = { 9, 15, 0, 3, 9, ch35data };
-
-static const unsigned char ch36data[] = {
- 0x0,0x0,0x0,0x0,0x8,0x0,0x3e,0x0,0x49,0x0,0x9,0x0,0x9,0x0,0xa,0x0,
- 0x1c,0x0,0x28,0x0,0x48,0x0,0x49,0x0,0x3e,0x0,0x8,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch36 = { 9, 15, 0, 3, 9, ch36data };
-
-static const unsigned char ch37data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x42,0x0,0x25,0x0,0x25,0x0,0x12,0x0,0x8,0x0,
- 0x8,0x0,0x24,0x0,0x52,0x0,0x52,0x0,0x21,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch37 = { 9, 15, 0, 3, 9, ch37data };
-
-static const unsigned char ch38data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x31,0x0,0x4a,0x0,0x44,0x0,0x4a,0x0,0x31,0x0,
- 0x30,0x0,0x48,0x0,0x48,0x0,0x48,0x0,0x30,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch38 = { 9, 15, 0, 3, 9, ch38data };
-
-static const unsigned char ch39data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
- 0x0,0x0,0x10,0x0,0x8,0x0,0x4,0x0,0x6,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch39 = { 9, 15, 0, 3, 9, ch39data };
-
-static const unsigned char ch40data[] = {
- 0x0,0x0,0x0,0x0,0x4,0x0,0x8,0x0,0x8,0x0,0x10,0x0,0x10,0x0,0x10,0x0,
- 0x10,0x0,0x10,0x0,0x10,0x0,0x8,0x0,0x8,0x0,0x4,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch40 = { 9, 15, 0, 3, 9, ch40data };
-
-static const unsigned char ch41data[] = {
- 0x0,0x0,0x0,0x0,0x10,0x0,0x8,0x0,0x8,0x0,0x4,0x0,0x4,0x0,0x4,0x0,
- 0x4,0x0,0x4,0x0,0x4,0x0,0x8,0x0,0x8,0x0,0x10,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch41 = { 9, 15, 0, 3, 9, ch41data };
-
-static const unsigned char ch42data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x49,0x0,0x2a,0x0,0x1c,0x0,
- 0x2a,0x0,0x49,0x0,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch42 = { 9, 15, 0, 3, 9, ch42data };
-
-static const unsigned char ch43data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x7f,0x0,
- 0x8,0x0,0x8,0x0,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch43 = { 9, 15, 0, 3, 9, ch43data };
-
-static const unsigned char ch44data[] = {
- 0x8,0x0,0x4,0x0,0x4,0x0,0xc,0x0,0xc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch44 = { 9, 15, 0, 3, 9, ch44data };
-
-static const unsigned char ch45data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0x0,
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch45 = { 9, 15, 0, 3, 9, ch45data };
-
-static const unsigned char ch46data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0xc,0x0,0xc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch46 = { 9, 15, 0, 3, 9, ch46data };
-
-static const unsigned char ch47data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x20,0x0,0x20,0x0,0x10,0x0,0x8,0x0,
- 0x8,0x0,0x4,0x0,0x2,0x0,0x2,0x0,0x1,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch47 = { 9, 15, 0, 3, 9, ch47data };
-
-static const unsigned char ch48data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x1c,0x0,0x22,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
- 0x41,0x0,0x41,0x0,0x41,0x0,0x22,0x0,0x1c,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch48 = { 9, 15, 0, 3, 9, ch48data };
-
-static const unsigned char ch49data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,
- 0x8,0x0,0x48,0x0,0x28,0x0,0x18,0x0,0x8,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch49 = { 9, 15, 0, 3, 9, ch49data };
-
-static const unsigned char ch50data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0x0,0x40,0x0,0x20,0x0,0x18,0x0,0x4,0x0,
- 0x2,0x0,0x1,0x0,0x41,0x0,0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch50 = { 9, 15, 0, 3, 9, ch50data };
-
-static const unsigned char ch51data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x1,0x0,0x1,0x0,0x1,0x0,
- 0xe,0x0,0x4,0x0,0x2,0x0,0x1,0x0,0x7f,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch51 = { 9, 15, 0, 3, 9, ch51data };
-
-static const unsigned char ch52data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x2,0x0,0x2,0x0,0x7f,0x0,0x42,0x0,
- 0x22,0x0,0x12,0x0,0xa,0x0,0x6,0x0,0x2,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch52 = { 9, 15, 0, 3, 9, ch52data };
-
-static const unsigned char ch53data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x1,0x0,0x1,0x0,0x1,0x0,
- 0x61,0x0,0x5e,0x0,0x40,0x0,0x40,0x0,0x7f,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch53 = { 9, 15, 0, 3, 9, ch53data };
-
-static const unsigned char ch54data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x61,0x0,
- 0x5e,0x0,0x40,0x0,0x40,0x0,0x20,0x0,0x1e,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch54 = { 9, 15, 0, 3, 9, ch54data };
-
-static const unsigned char ch55data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x0,0x20,0x0,0x10,0x0,0x10,0x0,0x8,0x0,
- 0x4,0x0,0x2,0x0,0x1,0x0,0x1,0x0,0x7f,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch55 = { 9, 15, 0, 3, 9, ch55data };
-
-static const unsigned char ch56data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x1c,0x0,0x22,0x0,0x41,0x0,0x41,0x0,0x22,0x0,
- 0x1c,0x0,0x22,0x0,0x41,0x0,0x22,0x0,0x1c,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch56 = { 9, 15, 0, 3, 9, ch56data };
-
-static const unsigned char ch57data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3c,0x0,0x2,0x0,0x1,0x0,0x1,0x0,0x3d,0x0,
- 0x43,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch57 = { 9, 15, 0, 3, 9, ch57data };
-
-static const unsigned char ch58data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0xc,0x0,0xc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
- 0xc,0x0,0xc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch58 = { 9, 15, 0, 3, 9, ch58data };
-
-static const unsigned char ch59data[] = {
- 0x8,0x0,0x4,0x0,0x4,0x0,0xc,0x0,0xc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
- 0xc,0x0,0xc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch59 = { 9, 15, 0, 3, 9, ch59data };
-
-static const unsigned char ch60data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x4,0x0,0x8,0x0,0x10,0x0,0x20,0x0,
- 0x20,0x0,0x10,0x0,0x8,0x0,0x4,0x0,0x2,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch60 = { 9, 15, 0, 3, 9, ch60data };
-
-static const unsigned char ch61data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0x0,0x0,0x0,0x0,0x0,
- 0x7f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch61 = { 9, 15, 0, 3, 9, ch61data };
-
-static const unsigned char ch62data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x0,0x10,0x0,0x8,0x0,0x4,0x0,0x2,0x0,
- 0x2,0x0,0x4,0x0,0x8,0x0,0x10,0x0,0x20,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch62 = { 9, 15, 0, 3, 9, ch62data };
-
-static const unsigned char ch63data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x0,0x0,0x8,0x0,0x8,0x0,0x4,0x0,
- 0x2,0x0,0x1,0x0,0x41,0x0,0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch63 = { 9, 15, 0, 3, 9, ch63data };
-
-static const unsigned char ch64data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x40,0x0,0x40,0x0,0x4d,0x0,0x53,0x0,
- 0x51,0x0,0x4f,0x0,0x41,0x0,0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch64 = { 9, 15, 0, 3, 9, ch64data };
-
-static const unsigned char ch65data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x7f,0x0,0x41,0x0,
- 0x41,0x0,0x41,0x0,0x22,0x0,0x14,0x0,0x8,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch65 = { 9, 15, 0, 3, 9, ch65data };
-
-static const unsigned char ch66data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x7e,0x0,0x21,0x0,0x21,0x0,0x21,0x0,0x21,0x0,
- 0x3e,0x0,0x21,0x0,0x21,0x0,0x21,0x0,0x7e,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch66 = { 9, 15, 0, 3, 9, ch66data };
-
-static const unsigned char ch67data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x40,0x0,0x40,0x0,0x40,0x0,
- 0x40,0x0,0x40,0x0,0x40,0x0,0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch67 = { 9, 15, 0, 3, 9, ch67data };
-
-static const unsigned char ch68data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x7e,0x0,0x21,0x0,0x21,0x0,0x21,0x0,0x21,0x0,
- 0x21,0x0,0x21,0x0,0x21,0x0,0x21,0x0,0x7e,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch68 = { 9, 15, 0, 3, 9, ch68data };
-
-static const unsigned char ch69data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0x0,0x20,0x0,0x20,0x0,0x20,0x0,0x20,0x0,
- 0x3c,0x0,0x20,0x0,0x20,0x0,0x20,0x0,0x7f,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch69 = { 9, 15, 0, 3, 9, ch69data };
-
-static const unsigned char ch70data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x0,0x20,0x0,0x20,0x0,0x20,0x0,0x20,0x0,
- 0x3c,0x0,0x20,0x0,0x20,0x0,0x20,0x0,0x7f,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch70 = { 9, 15, 0, 3, 9, ch70data };
-
-static const unsigned char ch71data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x47,0x0,
- 0x40,0x0,0x40,0x0,0x40,0x0,0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch71 = { 9, 15, 0, 3, 9, ch71data };
-
-static const unsigned char ch72data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
- 0x7f,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch72 = { 9, 15, 0, 3, 9, ch72data };
-
-static const unsigned char ch73data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,
- 0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x3e,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch73 = { 9, 15, 0, 3, 9, ch73data };
-
-static const unsigned char ch74data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3c,0x0,0x42,0x0,0x2,0x0,0x2,0x0,0x2,0x0,
- 0x2,0x0,0x2,0x0,0x2,0x0,0x2,0x0,0xf,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch74 = { 9, 15, 0, 3, 9, ch74data };
-
-static const unsigned char ch75data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x41,0x0,0x42,0x0,0x44,0x0,0x48,0x0,0x50,0x0,
- 0x70,0x0,0x48,0x0,0x44,0x0,0x42,0x0,0x41,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch75 = { 9, 15, 0, 3, 9, ch75data };
-
-static const unsigned char ch76data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0x0,0x40,0x0,0x40,0x0,0x40,0x0,0x40,0x0,
- 0x40,0x0,0x40,0x0,0x40,0x0,0x40,0x0,0x40,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch76 = { 9, 15, 0, 3, 9, ch76data };
-
-static const unsigned char ch77data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x49,0x0,0x49,0x0,
- 0x55,0x0,0x55,0x0,0x63,0x0,0x41,0x0,0x41,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch77 = { 9, 15, 0, 3, 9, ch77data };
-
-static const unsigned char ch78data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x43,0x0,0x45,0x0,
- 0x49,0x0,0x51,0x0,0x61,0x0,0x41,0x0,0x41,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch78 = { 9, 15, 0, 3, 9, ch78data };
-
-static const unsigned char ch79data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
- 0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch79 = { 9, 15, 0, 3, 9, ch79data };
-
-static const unsigned char ch80data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x40,0x0,0x40,0x0,0x40,0x0,0x40,0x0,
- 0x7e,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x7e,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch80 = { 9, 15, 0, 3, 9, ch80data };
-
-static const unsigned char ch81data[] = {
- 0x0,0x0,0x3,0x0,0x4,0x0,0x3e,0x0,0x49,0x0,0x51,0x0,0x41,0x0,0x41,0x0,
- 0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch81 = { 9, 15, 0, 3, 9, ch81data };
-
-static const unsigned char ch82data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x41,0x0,0x41,0x0,0x42,0x0,0x44,0x0,0x48,0x0,
- 0x7e,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x7e,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch82 = { 9, 15, 0, 3, 9, ch82data };
-
-static const unsigned char ch83data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x41,0x0,0x1,0x0,0x6,0x0,
- 0x38,0x0,0x40,0x0,0x41,0x0,0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch83 = { 9, 15, 0, 3, 9, ch83data };
-
-static const unsigned char ch84data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,
- 0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x7f,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch84 = { 9, 15, 0, 3, 9, ch84data };
-
-static const unsigned char ch85data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
- 0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch85 = { 9, 15, 0, 3, 9, ch85data };
-
-static const unsigned char ch86data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x14,0x0,0x14,0x0,0x14,0x0,0x22,0x0,
- 0x22,0x0,0x22,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch86 = { 9, 15, 0, 3, 9, ch86data };
-
-static const unsigned char ch87data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x22,0x0,0x55,0x0,0x49,0x0,0x49,0x0,0x49,0x0,
- 0x49,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch87 = { 9, 15, 0, 3, 9, ch87data };
-
-static const unsigned char ch88data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x41,0x0,0x41,0x0,0x22,0x0,0x14,0x0,0x8,0x0,
- 0x8,0x0,0x14,0x0,0x22,0x0,0x41,0x0,0x41,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch88 = { 9, 15, 0, 3, 9, ch88data };
-
-static const unsigned char ch89data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,
- 0x8,0x0,0x14,0x0,0x22,0x0,0x41,0x0,0x41,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch89 = { 9, 15, 0, 3, 9, ch89data };
-
-static const unsigned char ch90data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0x0,0x40,0x0,0x40,0x0,0x20,0x0,0x10,0x0,
- 0x8,0x0,0x4,0x0,0x2,0x0,0x1,0x0,0x7f,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch90 = { 9, 15, 0, 3, 9, ch90data };
-
-static const unsigned char ch91data[] = {
- 0x0,0x0,0x0,0x0,0x1e,0x0,0x10,0x0,0x10,0x0,0x10,0x0,0x10,0x0,0x10,0x0,
- 0x10,0x0,0x10,0x0,0x10,0x0,0x10,0x0,0x10,0x0,0x1e,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch91 = { 9, 15, 0, 3, 9, ch91data };
-
-static const unsigned char ch92data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x2,0x0,0x2,0x0,0x4,0x0,0x8,0x0,
- 0x8,0x0,0x10,0x0,0x20,0x0,0x20,0x0,0x40,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch92 = { 9, 15, 0, 3, 9, ch92data };
-
-static const unsigned char ch93data[] = {
- 0x0,0x0,0x0,0x0,0x3c,0x0,0x4,0x0,0x4,0x0,0x4,0x0,0x4,0x0,0x4,0x0,
- 0x4,0x0,0x4,0x0,0x4,0x0,0x4,0x0,0x4,0x0,0x3c,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch93 = { 9, 15, 0, 3, 9, ch93data };
-
-static const unsigned char ch94data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
- 0x0,0x0,0x41,0x0,0x22,0x0,0x14,0x0,0x8,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch94 = { 9, 15, 0, 3, 9, ch94data };
-
-static const unsigned char ch95data[] = {
- 0x0,0x0,0x0,0x0,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch95 = { 9, 15, 0, 3, 9, ch95data };
-
-static const unsigned char ch96data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
- 0x0,0x0,0x2,0x0,0x4,0x0,0x8,0x0,0x18,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch96 = { 9, 15, 0, 3, 9, ch96data };
-
-static const unsigned char ch97data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3d,0x0,0x43,0x0,0x41,0x0,0x3f,0x0,0x1,0x0,
- 0x1,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch97 = { 9, 15, 0, 3, 9, ch97data };
-
-static const unsigned char ch98data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x5e,0x0,0x61,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
- 0x61,0x0,0x5e,0x0,0x40,0x0,0x40,0x0,0x40,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch98 = { 9, 15, 0, 3, 9, ch98data };
-
-static const unsigned char ch99data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x40,0x0,0x40,0x0,0x40,0x0,
- 0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch99 = { 9, 15, 0, 3, 9, ch99data };
-
-static const unsigned char ch100data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3d,0x0,0x43,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
- 0x43,0x0,0x3d,0x0,0x1,0x0,0x1,0x0,0x1,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch100 = { 9, 15, 0, 3, 9, ch100data };
-
-static const unsigned char ch101data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x40,0x0,0x40,0x0,0x7f,0x0,0x41,0x0,
- 0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch101 = { 9, 15, 0, 3, 9, ch101data };
-
-static const unsigned char ch102data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x10,0x0,0x10,0x0,0x10,0x0,0x10,0x0,0x7c,0x0,
- 0x10,0x0,0x10,0x0,0x11,0x0,0x11,0x0,0xe,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch102 = { 9, 15, 0, 3, 9, ch102data };
-
-static const unsigned char ch103data[] = {
- 0x3e,0x0,0x41,0x0,0x41,0x0,0x3e,0x0,0x40,0x0,0x3c,0x0,0x42,0x0,0x42,0x0,
- 0x42,0x0,0x3d,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch103 = { 9, 15, 0, 3, 9, ch103data };
-
-static const unsigned char ch104data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
- 0x61,0x0,0x5e,0x0,0x40,0x0,0x40,0x0,0x40,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch104 = { 9, 15, 0, 3, 9, ch104data };
-
-static const unsigned char ch105data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,
- 0x8,0x0,0x38,0x0,0x0,0x0,0x0,0x0,0x18,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch105 = { 9, 15, 0, 3, 9, ch105data };
-
-static const unsigned char ch106data[] = {
- 0x3c,0x0,0x42,0x0,0x42,0x0,0x42,0x0,0x2,0x0,0x2,0x0,0x2,0x0,0x2,0x0,
- 0x2,0x0,0xe,0x0,0x0,0x0,0x0,0x0,0x6,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch106 = { 9, 15, 0, 3, 9, ch106data };
-
-static const unsigned char ch107data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x41,0x0,0x46,0x0,0x58,0x0,0x60,0x0,0x58,0x0,
- 0x46,0x0,0x41,0x0,0x40,0x0,0x40,0x0,0x40,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch107 = { 9, 15, 0, 3, 9, ch107data };
-
-static const unsigned char ch108data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,
- 0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x38,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch108 = { 9, 15, 0, 3, 9, ch108data };
-
-static const unsigned char ch109data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x41,0x0,0x49,0x0,0x49,0x0,0x49,0x0,0x49,0x0,
- 0x49,0x0,0x76,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch109 = { 9, 15, 0, 3, 9, ch109data };
-
-static const unsigned char ch110data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
- 0x61,0x0,0x5e,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch110 = { 9, 15, 0, 3, 9, ch110data };
-
-static const unsigned char ch111data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
- 0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch111 = { 9, 15, 0, 3, 9, ch111data };
-
-static const unsigned char ch112data[] = {
- 0x40,0x0,0x40,0x0,0x40,0x0,0x5e,0x0,0x61,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
- 0x61,0x0,0x5e,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch112 = { 9, 15, 0, 3, 9, ch112data };
-
-static const unsigned char ch113data[] = {
- 0x1,0x0,0x1,0x0,0x1,0x0,0x3d,0x0,0x43,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
- 0x43,0x0,0x3d,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch113 = { 9, 15, 0, 3, 9, ch113data };
-
-static const unsigned char ch114data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x0,0x20,0x0,0x20,0x0,0x20,0x0,0x21,0x0,
- 0x31,0x0,0x4e,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch114 = { 9, 15, 0, 3, 9, ch114data };
-
-static const unsigned char ch115data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x1,0x0,0x3e,0x0,0x40,0x0,
- 0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch115 = { 9, 15, 0, 3, 9, ch115data };
-
-static const unsigned char ch116data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0xe,0x0,0x11,0x0,0x10,0x0,0x10,0x0,0x10,0x0,
- 0x10,0x0,0x7e,0x0,0x10,0x0,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch116 = { 9, 15, 0, 3, 9, ch116data };
-
-static const unsigned char ch117data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3d,0x0,0x42,0x0,0x42,0x0,0x42,0x0,0x42,0x0,
- 0x42,0x0,0x42,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch117 = { 9, 15, 0, 3, 9, ch117data };
-
-static const unsigned char ch118data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x14,0x0,0x14,0x0,0x22,0x0,0x22,0x0,
- 0x41,0x0,0x41,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch118 = { 9, 15, 0, 3, 9, ch118data };
-
-static const unsigned char ch119data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x22,0x0,0x55,0x0,0x49,0x0,0x49,0x0,0x49,0x0,
- 0x41,0x0,0x41,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch119 = { 9, 15, 0, 3, 9, ch119data };
-
-static const unsigned char ch120data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x41,0x0,0x22,0x0,0x14,0x0,0x8,0x0,0x14,0x0,
- 0x22,0x0,0x41,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch120 = { 9, 15, 0, 3, 9, ch120data };
-
-static const unsigned char ch121data[] = {
- 0x3c,0x0,0x42,0x0,0x2,0x0,0x3a,0x0,0x46,0x0,0x42,0x0,0x42,0x0,0x42,0x0,
- 0x42,0x0,0x42,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch121 = { 9, 15, 0, 3, 9, ch121data };
-
-static const unsigned char ch122data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0x0,0x20,0x0,0x10,0x0,0x8,0x0,0x4,0x0,
- 0x2,0x0,0x7f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch122 = { 9, 15, 0, 3, 9, ch122data };
-
-static const unsigned char ch123data[] = {
- 0x0,0x0,0x0,0x0,0x7,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x4,0x0,0x18,0x0,
- 0x18,0x0,0x4,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x7,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch123 = { 9, 15, 0, 3, 9, ch123data };
-
-static const unsigned char ch124data[] = {
- 0x0,0x0,0x0,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,
- 0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch124 = { 9, 15, 0, 3, 9, ch124data };
-
-static const unsigned char ch125data[] = {
- 0x0,0x0,0x0,0x0,0x70,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x10,0x0,0xc,0x0,
- 0xc,0x0,0x10,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x70,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch125 = { 9, 15, 0, 3, 9, ch125data };
-
-static const unsigned char ch126data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
- 0x0,0x0,0x0,0x0,0x46,0x0,0x49,0x0,0x31,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch126 = { 9, 15, 0, 3, 9, ch126data };
-
-static const unsigned char ch127data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch127 = { 9, 15, 0, 3, 9, ch127data };
-
-static const unsigned char ch160data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch160 = { 9, 15, 0, 3, 9, ch160data };
-
-static const unsigned char ch161data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,
- 0x8,0x0,0x8,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x8,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch161 = { 9, 15, 0, 3, 9, ch161data };
-
-static const unsigned char ch162data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x0,0x3c,0x0,0x52,0x0,0x50,0x0,0x48,0x0,
- 0x4a,0x0,0x3c,0x0,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch162 = { 9, 15, 0, 3, 9, ch162data };
-
-static const unsigned char ch163data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x2e,0x0,0x51,0x0,0x30,0x0,0x10,0x0,0x10,0x0,
- 0x7c,0x0,0x10,0x0,0x10,0x0,0x11,0x0,0xe,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch163 = { 9, 15, 0, 3, 9, ch163data };
-
-static const unsigned char ch164data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x41,0x0,0x3e,0x0,
- 0x22,0x0,0x22,0x0,0x3e,0x0,0x41,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch164 = { 9, 15, 0, 3, 9, ch164data };
-
-static const unsigned char ch165data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x3e,0x0,0x8,0x0,
- 0x3e,0x0,0x14,0x0,0x22,0x0,0x41,0x0,0x41,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch165 = { 9, 15, 0, 3, 9, ch165data };
-
-static const unsigned char ch166data[] = {
- 0x0,0x0,0x0,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x0,0x0,
- 0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch166 = { 9, 15, 0, 3, 9, ch166data };
-
-static const unsigned char ch167data[] = {
- 0x0,0x0,0x0,0x0,0x1c,0x0,0x22,0x0,0x2,0x0,0x1c,0x0,0x22,0x0,0x22,0x0,
- 0x22,0x0,0x1c,0x0,0x20,0x0,0x22,0x0,0x1c,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch167 = { 9, 15, 0, 3, 9, ch167data };
-
-static const unsigned char ch168data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x14,0x0,0x14,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch168 = { 9, 15, 0, 3, 9, ch168data };
-
-static const unsigned char ch169data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3c,0x0,0x42,0x0,0x99,0x0,0xa5,0x0,
- 0xa1,0x0,0xa5,0x0,0x99,0x0,0x42,0x0,0x3c,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch169 = { 9, 15, 0, 3, 9, ch169data };
-
-static const unsigned char ch170data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0x0,0x0,0x0,
- 0xf,0x0,0x12,0x0,0xe,0x0,0x12,0x0,0xc,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch170 = { 9, 15, 0, 3, 9, ch170data };
-
-static const unsigned char ch171data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x9,0x0,0x12,0x0,0x24,0x0,0x48,0x0,
- 0x48,0x0,0x24,0x0,0x12,0x0,0x9,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch171 = { 9, 15, 0, 3, 9, ch171data };
-
-static const unsigned char ch172data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x2,0x0,0x2,0x0,
- 0x7e,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch172 = { 9, 15, 0, 3, 9, ch172data };
-
-static const unsigned char ch173data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7e,0x0,
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch173 = { 9, 15, 0, 3, 9, ch173data };
-
-static const unsigned char ch174data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3c,0x0,0x42,0x0,0xa5,0x0,0xa9,0x0,
- 0xbd,0x0,0xa5,0x0,0xb9,0x0,0x42,0x0,0x3c,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch174 = { 9, 15, 0, 3, 9, ch174data };
-
-static const unsigned char ch175data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7e,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch175 = { 9, 15, 0, 3, 9, ch175data };
-
-static const unsigned char ch176data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
- 0x0,0x0,0xc,0x0,0x12,0x0,0x12,0x0,0xc,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch176 = { 9, 15, 0, 3, 9, ch176data };
-
-static const unsigned char ch177data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0x0,0x0,0x0,0x8,0x0,0x8,0x0,
- 0x8,0x0,0x7f,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch177 = { 9, 15, 0, 3, 9, ch177data };
-
-static const unsigned char ch178data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x78,0x0,
- 0x40,0x0,0x30,0x0,0x8,0x0,0x48,0x0,0x30,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch178 = { 9, 15, 0, 3, 9, ch178data };
-
-static const unsigned char ch179data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x30,0x0,
- 0x48,0x0,0x8,0x0,0x10,0x0,0x48,0x0,0x30,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch179 = { 9, 15, 0, 3, 9, ch179data };
-
-static const unsigned char ch180data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x18,0x0,0x4,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch180 = { 9, 15, 0, 3, 9, ch180data };
-
-static const unsigned char ch181data[] = {
- 0x0,0x0,0x40,0x0,0x40,0x0,0x5d,0x0,0x63,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
- 0x41,0x0,0x41,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch181 = { 9, 15, 0, 3, 9, ch181data };
-
-static const unsigned char ch182data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x5,0x0,0x5,0x0,0x5,0x0,0x5,0x0,0x5,0x0,
- 0x3d,0x0,0x45,0x0,0x45,0x0,0x45,0x0,0x3f,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch182 = { 9, 15, 0, 3, 9, ch182data };
-
-static const unsigned char ch183data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc,0x0,
- 0xc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch183 = { 9, 15, 0, 3, 9, ch183data };
-
-static const unsigned char ch184data[] = {
- 0x18,0x0,0x24,0x0,0xc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch184 = { 9, 15, 0, 3, 9, ch184data };
-
-static const unsigned char ch185data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x70,0x0,
- 0x20,0x0,0x20,0x0,0x20,0x0,0x60,0x0,0x20,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch185 = { 9, 15, 0, 3, 9, ch185data };
-
-static const unsigned char ch186data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
- 0x7c,0x0,0x0,0x0,0x38,0x0,0x44,0x0,0x44,0x0,0x38,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch186 = { 9, 15, 0, 3, 9, ch186data };
-
-static const unsigned char ch187data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x48,0x0,0x24,0x0,0x12,0x0,0x9,0x0,
- 0x9,0x0,0x12,0x0,0x24,0x0,0x48,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch187 = { 9, 15, 0, 3, 9, ch187data };
-
-static const unsigned char ch188data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x0,0xd,0x0,0x9,0x0,0x5,0x0,0x73,0x0,
- 0x21,0x0,0x20,0x0,0x20,0x0,0x60,0x0,0x20,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch188 = { 9, 15, 0, 3, 9, ch188data };
-
-static const unsigned char ch189data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0xf,0x0,0x8,0x0,0x6,0x0,0x1,0x0,0x79,0x0,
- 0x26,0x0,0x20,0x0,0x20,0x0,0x60,0x0,0x20,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch189 = { 9, 15, 0, 3, 9, ch189data };
-
-static const unsigned char ch190data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x0,0xd,0x0,0x9,0x0,0x5,0x0,0x33,0x0,
- 0x49,0x0,0x8,0x0,0x10,0x0,0x48,0x0,0x30,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch190 = { 9, 15, 0, 3, 9, ch190data };
-
-static const unsigned char ch191data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x41,0x0,0x40,0x0,0x20,0x0,
- 0x10,0x0,0x8,0x0,0x8,0x0,0x0,0x0,0x8,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch191 = { 9, 15, 0, 3, 9, ch191data };
-
-static const unsigned char ch192data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x7f,0x0,0x41,0x0,
- 0x41,0x0,0x22,0x0,0x1c,0x0,0x0,0x0,0xc,0x0,0x10,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch192 = { 9, 15, 0, 3, 9, ch192data };
-
-static const unsigned char ch193data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x7f,0x0,0x41,0x0,
- 0x41,0x0,0x22,0x0,0x1c,0x0,0x0,0x0,0x18,0x0,0x4,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch193 = { 9, 15, 0, 3, 9, ch193data };
-
-static const unsigned char ch194data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x7f,0x0,0x41,0x0,
- 0x41,0x0,0x22,0x0,0x1c,0x0,0x0,0x0,0x22,0x0,0x1c,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch194 = { 9, 15, 0, 3, 9, ch194data };
-
-static const unsigned char ch195data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x7f,0x0,0x41,0x0,
- 0x41,0x0,0x22,0x0,0x1c,0x0,0x0,0x0,0x28,0x0,0x14,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch195 = { 9, 15, 0, 3, 9, ch195data };
-
-static const unsigned char ch196data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x7f,0x0,0x41,0x0,
- 0x41,0x0,0x22,0x0,0x1c,0x0,0x0,0x0,0x14,0x0,0x14,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch196 = { 9, 15, 0, 3, 9, ch196data };
-
-static const unsigned char ch197data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x7f,0x0,0x41,0x0,
- 0x41,0x0,0x22,0x0,0x1c,0x0,0x8,0x0,0x14,0x0,0x8,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch197 = { 9, 15, 0, 3, 9, ch197data };
-
-static const unsigned char ch198data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x4f,0x0,0x48,0x0,0x48,0x0,0x48,0x0,0x7e,0x0,
- 0x48,0x0,0x48,0x0,0x48,0x0,0x48,0x0,0x37,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch198 = { 9, 15, 0, 3, 9, ch198data };
-
-static const unsigned char ch199data[] = {
- 0x18,0x0,0x24,0x0,0xc,0x0,0x3e,0x0,0x41,0x0,0x40,0x0,0x40,0x0,0x40,0x0,
- 0x40,0x0,0x40,0x0,0x40,0x0,0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch199 = { 9, 15, 0, 3, 9, ch199data };
-
-static const unsigned char ch200data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0x0,0x20,0x0,0x20,0x0,0x20,0x0,0x3c,0x0,
- 0x20,0x0,0x20,0x0,0x7f,0x0,0x0,0x0,0xc,0x0,0x10,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch200 = { 9, 15, 0, 3, 9, ch200data };
-
-static const unsigned char ch201data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0x0,0x20,0x0,0x20,0x0,0x20,0x0,0x3c,0x0,
- 0x20,0x0,0x20,0x0,0x7f,0x0,0x0,0x0,0x18,0x0,0x4,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch201 = { 9, 15, 0, 3, 9, ch201data };
-
-static const unsigned char ch202data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0x0,0x20,0x0,0x20,0x0,0x20,0x0,0x3c,0x0,
- 0x20,0x0,0x20,0x0,0x7f,0x0,0x0,0x0,0x22,0x0,0x1c,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch202 = { 9, 15, 0, 3, 9, ch202data };
-
-static const unsigned char ch203data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0x0,0x20,0x0,0x20,0x0,0x20,0x0,0x3c,0x0,
- 0x20,0x0,0x20,0x0,0x7f,0x0,0x0,0x0,0x14,0x0,0x14,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch203 = { 9, 15, 0, 3, 9, ch203data };
-
-static const unsigned char ch204data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,
- 0x8,0x0,0x8,0x0,0x3e,0x0,0x0,0x0,0xc,0x0,0x10,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch204 = { 9, 15, 0, 3, 9, ch204data };
-
-static const unsigned char ch205data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,
- 0x8,0x0,0x8,0x0,0x3e,0x0,0x0,0x0,0x18,0x0,0x4,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch205 = { 9, 15, 0, 3, 9, ch205data };
-
-static const unsigned char ch206data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,
- 0x8,0x0,0x8,0x0,0x3e,0x0,0x0,0x0,0x22,0x0,0x1c,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch206 = { 9, 15, 0, 3, 9, ch206data };
-
-static const unsigned char ch207data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,
- 0x8,0x0,0x8,0x0,0x3e,0x0,0x0,0x0,0x14,0x0,0x14,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch207 = { 9, 15, 0, 3, 9, ch207data };
-
-static const unsigned char ch208data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x7e,0x0,0x21,0x0,0x21,0x0,0x21,0x0,0x21,0x0,
- 0x79,0x0,0x21,0x0,0x21,0x0,0x21,0x0,0x7e,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch208 = { 9, 15, 0, 3, 9, ch208data };
-
-static const unsigned char ch209data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x41,0x0,0x43,0x0,0x45,0x0,0x49,0x0,0x49,0x0,
- 0x51,0x0,0x61,0x0,0x41,0x0,0x0,0x0,0x28,0x0,0x14,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch209 = { 9, 15, 0, 3, 9, ch209data };
-
-static const unsigned char ch210data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
- 0x41,0x0,0x41,0x0,0x3e,0x0,0x0,0x0,0xc,0x0,0x10,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch210 = { 9, 15, 0, 3, 9, ch210data };
-
-static const unsigned char ch211data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
- 0x41,0x0,0x41,0x0,0x3e,0x0,0x0,0x0,0x18,0x0,0x4,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch211 = { 9, 15, 0, 3, 9, ch211data };
-
-static const unsigned char ch212data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
- 0x41,0x0,0x41,0x0,0x3e,0x0,0x0,0x0,0x22,0x0,0x1c,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch212 = { 9, 15, 0, 3, 9, ch212data };
-
-static const unsigned char ch213data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
- 0x41,0x0,0x41,0x0,0x3e,0x0,0x0,0x0,0x28,0x0,0x14,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch213 = { 9, 15, 0, 3, 9, ch213data };
-
-static const unsigned char ch214data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
- 0x41,0x0,0x41,0x0,0x3e,0x0,0x0,0x0,0x14,0x0,0x14,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch214 = { 9, 15, 0, 3, 9, ch214data };
-
-static const unsigned char ch215data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x41,0x0,0x22,0x0,0x14,0x0,0x8,0x0,
- 0x14,0x0,0x22,0x0,0x41,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch215 = { 9, 15, 0, 3, 9, ch215data };
-
-static const unsigned char ch216data[] = {
- 0x0,0x0,0x0,0x0,0x40,0x0,0x3e,0x0,0x61,0x0,0x51,0x0,0x51,0x0,0x49,0x0,
- 0x49,0x0,0x45,0x0,0x45,0x0,0x43,0x0,0x3e,0x0,0x1,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch216 = { 9, 15, 0, 3, 9, ch216data };
-
-static const unsigned char ch217data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
- 0x41,0x0,0x41,0x0,0x41,0x0,0x0,0x0,0xc,0x0,0x10,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch217 = { 9, 15, 0, 3, 9, ch217data };
-
-static const unsigned char ch218data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
- 0x41,0x0,0x41,0x0,0x41,0x0,0x0,0x0,0x18,0x0,0x4,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch218 = { 9, 15, 0, 3, 9, ch218data };
-
-static const unsigned char ch219data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
- 0x41,0x0,0x41,0x0,0x41,0x0,0x0,0x0,0x22,0x0,0x1c,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch219 = { 9, 15, 0, 3, 9, ch219data };
-
-static const unsigned char ch220data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
- 0x41,0x0,0x41,0x0,0x41,0x0,0x0,0x0,0x14,0x0,0x14,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch220 = { 9, 15, 0, 3, 9, ch220data };
-
-static const unsigned char ch221data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x14,0x0,
- 0x22,0x0,0x41,0x0,0x41,0x0,0x0,0x0,0x18,0x0,0x4,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch221 = { 9, 15, 0, 3, 9, ch221data };
-
-static const unsigned char ch222data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x40,0x0,0x40,0x0,0x7e,0x0,0x41,0x0,
- 0x41,0x0,0x41,0x0,0x7e,0x0,0x40,0x0,0x40,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch222 = { 9, 15, 0, 3, 9, ch222data };
-
-static const unsigned char ch223data[] = {
- 0x0,0x0,0x0,0x0,0x40,0x0,0x5e,0x0,0x61,0x0,0x41,0x0,0x41,0x0,0x7e,0x0,
- 0x41,0x0,0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch223 = { 9, 15, 0, 3, 9, ch223data };
-
-static const unsigned char ch224data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3d,0x0,0x43,0x0,0x41,0x0,0x3f,0x0,0x1,0x0,
- 0x1,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0xc,0x0,0x10,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch224 = { 9, 15, 0, 3, 9, ch224data };
-
-static const unsigned char ch225data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3d,0x0,0x43,0x0,0x41,0x0,0x3f,0x0,0x1,0x0,
- 0x1,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x18,0x0,0x4,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch225 = { 9, 15, 0, 3, 9, ch225data };
-
-static const unsigned char ch226data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3d,0x0,0x43,0x0,0x41,0x0,0x3f,0x0,0x1,0x0,
- 0x1,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x22,0x0,0x1c,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch226 = { 9, 15, 0, 3, 9, ch226data };
-
-static const unsigned char ch227data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3d,0x0,0x43,0x0,0x41,0x0,0x3f,0x0,0x1,0x0,
- 0x1,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x28,0x0,0x14,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch227 = { 9, 15, 0, 3, 9, ch227data };
-
-static const unsigned char ch228data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3d,0x0,0x43,0x0,0x41,0x0,0x3f,0x0,0x1,0x0,
- 0x1,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x14,0x0,0x14,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch228 = { 9, 15, 0, 3, 9, ch228data };
-
-static const unsigned char ch229data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3d,0x0,0x43,0x0,0x41,0x0,0x3f,0x0,0x1,0x0,
- 0x1,0x0,0x3e,0x0,0x0,0x0,0xc,0x0,0x12,0x0,0xc,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch229 = { 9, 15, 0, 3, 9, ch229data };
-
-static const unsigned char ch230data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x37,0x0,0x49,0x0,0x48,0x0,0x3e,0x0,0x9,0x0,
- 0x49,0x0,0x36,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch230 = { 9, 15, 0, 3, 9, ch230data };
-
-static const unsigned char ch231data[] = {
- 0x18,0x0,0x24,0x0,0xc,0x0,0x3e,0x0,0x41,0x0,0x40,0x0,0x40,0x0,0x40,0x0,
- 0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch231 = { 9, 15, 0, 3, 9, ch231data };
-
-static const unsigned char ch232data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x40,0x0,0x40,0x0,0x7f,0x0,0x41,0x0,
- 0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0xc,0x0,0x10,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch232 = { 9, 15, 0, 3, 9, ch232data };
-
-static const unsigned char ch233data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x40,0x0,0x40,0x0,0x7f,0x0,0x41,0x0,
- 0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x18,0x0,0x4,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch233 = { 9, 15, 0, 3, 9, ch233data };
-
-static const unsigned char ch234data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x40,0x0,0x40,0x0,0x7f,0x0,0x41,0x0,
- 0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x22,0x0,0x1c,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch234 = { 9, 15, 0, 3, 9, ch234data };
-
-static const unsigned char ch235data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x40,0x0,0x40,0x0,0x7f,0x0,0x41,0x0,
- 0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x14,0x0,0x14,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch235 = { 9, 15, 0, 3, 9, ch235data };
-
-static const unsigned char ch236data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,
- 0x8,0x0,0x38,0x0,0x0,0x0,0x0,0x0,0xc,0x0,0x10,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch236 = { 9, 15, 0, 3, 9, ch236data };
-
-static const unsigned char ch237data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,
- 0x8,0x0,0x38,0x0,0x0,0x0,0x0,0x0,0x18,0x0,0x4,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch237 = { 9, 15, 0, 3, 9, ch237data };
-
-static const unsigned char ch238data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,
- 0x8,0x0,0x38,0x0,0x0,0x0,0x0,0x0,0x24,0x0,0x18,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch238 = { 9, 15, 0, 3, 9, ch238data };
-
-static const unsigned char ch239data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,
- 0x8,0x0,0x38,0x0,0x0,0x0,0x0,0x0,0x14,0x0,0x14,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch239 = { 9, 15, 0, 3, 9, ch239data };
-
-static const unsigned char ch240data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
- 0x41,0x0,0x3e,0x0,0x4,0x0,0x28,0x0,0x18,0x0,0x24,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch240 = { 9, 15, 0, 3, 9, ch240data };
-
-static const unsigned char ch241data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
- 0x61,0x0,0x5e,0x0,0x0,0x0,0x0,0x0,0x28,0x0,0x14,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch241 = { 9, 15, 0, 3, 9, ch241data };
-
-static const unsigned char ch242data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
- 0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0xc,0x0,0x10,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch242 = { 9, 15, 0, 3, 9, ch242data };
-
-static const unsigned char ch243data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
- 0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x18,0x0,0x4,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch243 = { 9, 15, 0, 3, 9, ch243data };
-
-static const unsigned char ch244data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
- 0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x22,0x0,0x1c,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch244 = { 9, 15, 0, 3, 9, ch244data };
-
-static const unsigned char ch245data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
- 0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x28,0x0,0x14,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch245 = { 9, 15, 0, 3, 9, ch245data };
-
-static const unsigned char ch246data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
- 0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x14,0x0,0x14,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch246 = { 9, 15, 0, 3, 9, ch246data };
-
-static const unsigned char ch247data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x1c,0x0,0x8,0x0,0x0,0x0,0x7f,0x0,
- 0x0,0x0,0x8,0x0,0x1c,0x0,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch247 = { 9, 15, 0, 3, 9, ch247data };
-
-static const unsigned char ch248data[] = {
- 0x0,0x0,0x0,0x0,0x40,0x0,0x3e,0x0,0x51,0x0,0x51,0x0,0x49,0x0,0x45,0x0,
- 0x45,0x0,0x3e,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch248 = { 9, 15, 0, 3, 9, ch248data };
-
-static const unsigned char ch249data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3d,0x0,0x42,0x0,0x42,0x0,0x42,0x0,0x42,0x0,
- 0x42,0x0,0x42,0x0,0x0,0x0,0x0,0x0,0xc,0x0,0x10,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch249 = { 9, 15, 0, 3, 9, ch249data };
-
-static const unsigned char ch250data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3d,0x0,0x42,0x0,0x42,0x0,0x42,0x0,0x42,0x0,
- 0x42,0x0,0x42,0x0,0x0,0x0,0x0,0x0,0x18,0x0,0x4,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch250 = { 9, 15, 0, 3, 9, ch250data };
-
-static const unsigned char ch251data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3d,0x0,0x42,0x0,0x42,0x0,0x42,0x0,0x42,0x0,
- 0x42,0x0,0x42,0x0,0x0,0x0,0x0,0x0,0x22,0x0,0x1c,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch251 = { 9, 15, 0, 3, 9, ch251data };
-
-static const unsigned char ch252data[] = {
- 0x0,0x0,0x0,0x0,0x0,0x0,0x3d,0x0,0x42,0x0,0x42,0x0,0x42,0x0,0x42,0x0,
- 0x42,0x0,0x42,0x0,0x0,0x0,0x0,0x0,0x14,0x0,0x14,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch252 = { 9, 15, 0, 3, 9, ch252data };
-
-static const unsigned char ch253data[] = {
- 0x3c,0x0,0x42,0x0,0x2,0x0,0x3a,0x0,0x46,0x0,0x42,0x0,0x42,0x0,0x42,0x0,
- 0x42,0x0,0x42,0x0,0x0,0x0,0x0,0x0,0x18,0x0,0x4,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch253 = { 9, 15, 0, 3, 9, ch253data };
-
-static const unsigned char ch254data[] = {
- 0x40,0x0,0x40,0x0,0x40,0x0,0x5e,0x0,0x61,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
- 0x61,0x0,0x5e,0x0,0x40,0x0,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch254 = { 9, 15, 0, 3, 9, ch254data };
-
-static const unsigned char ch255data[] = {
- 0x3c,0x0,0x42,0x0,0x2,0x0,0x3a,0x0,0x46,0x0,0x42,0x0,0x42,0x0,0x42,0x0,
- 0x42,0x0,0x42,0x0,0x0,0x0,0x0,0x0,0x14,0x0,0x14,0x0,0x0,0x0
-};
-static const GLUTBitmapChar ch255 = { 9, 15, 0, 3, 9, ch255data };
-
-
-static const GLUTBitmapChar *chars[] = {
- &ch0, &ch1, &ch2, &ch3, &ch4, &ch5, &ch6, &ch7,
- &ch8, &ch9, &ch10, &ch11, &ch12, &ch13, &ch14, &ch15,
- &ch16, &ch17, &ch18, &ch19, &ch20, &ch21, &ch22, &ch23,
- &ch24, &ch25, &ch26, &ch27, &ch28, &ch29, &ch30, &ch31,
- &ch32, &ch33, &ch34, &ch35, &ch36, &ch37, &ch38, &ch39,
- &ch40, &ch41, &ch42, &ch43, &ch44, &ch45, &ch46, &ch47,
- &ch48, &ch49, &ch50, &ch51, &ch52, &ch53, &ch54, &ch55,
- &ch56, &ch57, &ch58, &ch59, &ch60, &ch61, &ch62, &ch63,
- &ch64, &ch65, &ch66, &ch67, &ch68, &ch69, &ch70, &ch71,
- &ch72, &ch73, &ch74, &ch75, &ch76, &ch77, &ch78, &ch79,
- &ch80, &ch81, &ch82, &ch83, &ch84, &ch85, &ch86, &ch87,
- &ch88, &ch89, &ch90, &ch91, &ch92, &ch93, &ch94, &ch95,
- &ch96, &ch97, &ch98, &ch99, &ch100, &ch101, &ch102, &ch103,
- &ch104, &ch105, &ch106, &ch107, &ch108, &ch109, &ch110, &ch111,
- &ch112, &ch113, &ch114, &ch115, &ch116, &ch117, &ch118, &ch119,
- &ch120, &ch121, &ch122, &ch123, &ch124, &ch125, &ch126, &ch127,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- &ch160, &ch161, &ch162, &ch163, &ch164, &ch165, &ch166, &ch167,
- &ch168, &ch169, &ch170, &ch171, &ch172, &ch173, &ch174, &ch175,
- &ch176, &ch177, &ch178, &ch179, &ch180, &ch181, &ch182, &ch183,
- &ch184, &ch185, &ch186, &ch187, &ch188, &ch189, &ch190, &ch191,
- &ch192, &ch193, &ch194, &ch195, &ch196, &ch197, &ch198, &ch199,
- &ch200, &ch201, &ch202, &ch203, &ch204, &ch205, &ch206, &ch207,
- &ch208, &ch209, &ch210, &ch211, &ch212, &ch213, &ch214, &ch215,
- &ch216, &ch217, &ch218, &ch219, &ch220, &ch221, &ch222, &ch223,
- &ch224, &ch225, &ch226, &ch227, &ch228, &ch229, &ch230, &ch231,
- &ch232, &ch233, &ch234, &ch235, &ch236, &ch237, &ch238, &ch239,
- &ch240, &ch241, &ch242, &ch243, &ch244, &ch245, &ch246, &ch247,
- &ch248, &ch249, &ch250, &ch251, &ch252, &ch253, &ch254, &ch255
-};
-
-const GLUTBitmapFont glutBitmap9By15 = {
- "-Misc-Fixed-Medium-R-Normal--15-140-75-75-C-90-ISO8859-1",
- 15, 256, chars
-};
diff --git a/src/glut/dos/hel10.c b/src/glut/dos/hel10.c
deleted file mode 100644
index 3d24ffee1c..0000000000
--- a/src/glut/dos/hel10.c
+++ /dev/null
@@ -1,1019 +0,0 @@
-/* autogenerated by bdf2c! do not edit */
-
-/* "Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved." */
-
-
-#include "internal.h"
-/*
-typedef struct {
- int width, height;
- int xorig, yorig;
- int xmove;
- const unsigned char *bitmap;
-} GLUTBitmapChar;
-
-typedef struct {
- const char *name;
- int height;
- int num;
- const GLUTBitmapChar *const *table;
-} GLUTBitmapFont;
-*/
-
-
-static const unsigned char ch32data[] = {
- 0x0
-};
-static const GLUTBitmapChar ch32 = { 1, 1, 0, 0, 3, ch32data };
-
-static const unsigned char ch33data[] = {
- 0x80,0x0,0x80,0x80,0x80,0x80,0x80,0x80
-};
-static const GLUTBitmapChar ch33 = { 1, 8, -1, 0, 3, ch33data };
-
-static const unsigned char ch34data[] = {
- 0xa0,0xa0
-};
-static const GLUTBitmapChar ch34 = { 3, 2, -1, -6, 4, ch34data };
-
-static const unsigned char ch35data[] = {
- 0x50,0x50,0xf8,0x28,0x7c,0x28,0x28
-};
-static const GLUTBitmapChar ch35 = { 6, 7, 0, 0, 6, ch35data };
-
-static const unsigned char ch36data[] = {
- 0x20,0x70,0xa8,0x28,0x70,0xa0,0xa8,0x70,0x20
-};
-static const GLUTBitmapChar ch36 = { 5, 9, 0, 1, 6, ch36data };
-
-static const unsigned char ch37data[] = {
- 0x26,0x29,0x16,0x10,0x8,0x68,0x94,0x64
-};
-static const GLUTBitmapChar ch37 = { 8, 8, 0, 0, 9, ch37data };
-
-static const unsigned char ch38data[] = {
- 0x64,0x98,0x98,0xa4,0x60,0x50,0x50,0x20
-};
-static const GLUTBitmapChar ch38 = { 6, 8, -1, 0, 8, ch38data };
-
-static const unsigned char ch39data[] = {
- 0x80,0x40,0x40
-};
-static const GLUTBitmapChar ch39 = { 2, 3, -1, -5, 3, ch39data };
-
-static const unsigned char ch40data[] = {
- 0x20,0x40,0x40,0x80,0x80,0x80,0x80,0x40,0x40,0x20
-};
-static const GLUTBitmapChar ch40 = { 3, 10, 0, 2, 4, ch40data };
-
-static const unsigned char ch41data[] = {
- 0x80,0x40,0x40,0x20,0x20,0x20,0x20,0x40,0x40,0x80
-};
-static const GLUTBitmapChar ch41 = { 3, 10, -1, 2, 4, ch41data };
-
-static const unsigned char ch42data[] = {
- 0xa0,0x40,0xa0
-};
-static const GLUTBitmapChar ch42 = { 3, 3, 0, -5, 4, ch42data };
-
-static const unsigned char ch43data[] = {
- 0x20,0x20,0xf8,0x20,0x20
-};
-static const GLUTBitmapChar ch43 = { 5, 5, 0, -1, 6, ch43data };
-
-static const unsigned char ch44data[] = {
- 0x80,0x40,0x40
-};
-static const GLUTBitmapChar ch44 = { 2, 3, 0, 2, 3, ch44data };
-
-static const unsigned char ch45data[] = {
- 0xf8
-};
-static const GLUTBitmapChar ch45 = { 5, 1, -1, -3, 7, ch45data };
-
-static const unsigned char ch46data[] = {
- 0x80
-};
-static const GLUTBitmapChar ch46 = { 1, 1, -1, 0, 3, ch46data };
-
-static const unsigned char ch47data[] = {
- 0x80,0x80,0x40,0x40,0x40,0x40,0x20,0x20
-};
-static const GLUTBitmapChar ch47 = { 3, 8, 0, 0, 3, ch47data };
-
-static const unsigned char ch48data[] = {
- 0x70,0x88,0x88,0x88,0x88,0x88,0x88,0x70
-};
-static const GLUTBitmapChar ch48 = { 5, 8, 0, 0, 6, ch48data };
-
-static const unsigned char ch49data[] = {
- 0x40,0x40,0x40,0x40,0x40,0x40,0xc0,0x40
-};
-static const GLUTBitmapChar ch49 = { 2, 8, -1, 0, 6, ch49data };
-
-static const unsigned char ch50data[] = {
- 0xf8,0x80,0x40,0x30,0x8,0x8,0x88,0x70
-};
-static const GLUTBitmapChar ch50 = { 5, 8, 0, 0, 6, ch50data };
-
-static const unsigned char ch51data[] = {
- 0x70,0x88,0x8,0x8,0x30,0x8,0x88,0x70
-};
-static const GLUTBitmapChar ch51 = { 5, 8, 0, 0, 6, ch51data };
-
-static const unsigned char ch52data[] = {
- 0x10,0x10,0xf8,0x90,0x50,0x50,0x30,0x10
-};
-static const GLUTBitmapChar ch52 = { 5, 8, 0, 0, 6, ch52data };
-
-static const unsigned char ch53data[] = {
- 0x70,0x88,0x8,0x8,0xf0,0x80,0x80,0xf8
-};
-static const GLUTBitmapChar ch53 = { 5, 8, 0, 0, 6, ch53data };
-
-static const unsigned char ch54data[] = {
- 0x70,0x88,0x88,0xc8,0xb0,0x80,0x88,0x70
-};
-static const GLUTBitmapChar ch54 = { 5, 8, 0, 0, 6, ch54data };
-
-static const unsigned char ch55data[] = {
- 0x40,0x40,0x20,0x20,0x10,0x10,0x8,0xf8
-};
-static const GLUTBitmapChar ch55 = { 5, 8, 0, 0, 6, ch55data };
-
-static const unsigned char ch56data[] = {
- 0x70,0x88,0x88,0x88,0x70,0x88,0x88,0x70
-};
-static const GLUTBitmapChar ch56 = { 5, 8, 0, 0, 6, ch56data };
-
-static const unsigned char ch57data[] = {
- 0x70,0x88,0x8,0x68,0x98,0x88,0x88,0x70
-};
-static const GLUTBitmapChar ch57 = { 5, 8, 0, 0, 6, ch57data };
-
-static const unsigned char ch58data[] = {
- 0x80,0x0,0x0,0x0,0x0,0x80
-};
-static const GLUTBitmapChar ch58 = { 1, 6, -1, 0, 3, ch58data };
-
-static const unsigned char ch59data[] = {
- 0x80,0x40,0x40,0x0,0x0,0x0,0x0,0x40
-};
-static const GLUTBitmapChar ch59 = { 2, 8, 0, 2, 3, ch59data };
-
-static const unsigned char ch60data[] = {
- 0x20,0x40,0x80,0x40,0x20
-};
-static const GLUTBitmapChar ch60 = { 3, 5, -1, -1, 6, ch60data };
-
-static const unsigned char ch61data[] = {
- 0xf0,0x0,0xf0
-};
-static const GLUTBitmapChar ch61 = { 4, 3, 0, -2, 5, ch61data };
-
-static const unsigned char ch62data[] = {
- 0x80,0x40,0x20,0x40,0x80
-};
-static const GLUTBitmapChar ch62 = { 3, 5, -1, -1, 6, ch62data };
-
-static const unsigned char ch63data[] = {
- 0x40,0x0,0x40,0x40,0x20,0x10,0x90,0x60
-};
-static const GLUTBitmapChar ch63 = { 4, 8, -1, 0, 6, ch63data };
-
-static const unsigned char ch64data[] = {
- 0x3e,0x0,0x40,0x0,0x9b,0x0,0xa4,0x80,0xa4,0x80,0xa2,0x40,0x92,0x40,0x4d,0x40,
- 0x20,0x80,0x1f,0x0
-};
-static const GLUTBitmapChar ch64 = { 10, 10, 0, 2, 11, ch64data };
-
-static const unsigned char ch65data[] = {
- 0x82,0x82,0x7c,0x44,0x28,0x28,0x10,0x10
-};
-static const GLUTBitmapChar ch65 = { 7, 8, 0, 0, 7, ch65data };
-
-static const unsigned char ch66data[] = {
- 0xf0,0x88,0x88,0x88,0xf0,0x88,0x88,0xf0
-};
-static const GLUTBitmapChar ch66 = { 5, 8, -1, 0, 7, ch66data };
-
-static const unsigned char ch67data[] = {
- 0x78,0x84,0x80,0x80,0x80,0x80,0x84,0x78
-};
-static const GLUTBitmapChar ch67 = { 6, 8, -1, 0, 8, ch67data };
-
-static const unsigned char ch68data[] = {
- 0xf0,0x88,0x84,0x84,0x84,0x84,0x88,0xf0
-};
-static const GLUTBitmapChar ch68 = { 6, 8, -1, 0, 8, ch68data };
-
-static const unsigned char ch69data[] = {
- 0xf8,0x80,0x80,0x80,0xf8,0x80,0x80,0xf8
-};
-static const GLUTBitmapChar ch69 = { 5, 8, -1, 0, 7, ch69data };
-
-static const unsigned char ch70data[] = {
- 0x80,0x80,0x80,0x80,0xf0,0x80,0x80,0xf8
-};
-static const GLUTBitmapChar ch70 = { 5, 8, -1, 0, 6, ch70data };
-
-static const unsigned char ch71data[] = {
- 0x74,0x8c,0x84,0x8c,0x80,0x80,0x84,0x78
-};
-static const GLUTBitmapChar ch71 = { 6, 8, -1, 0, 8, ch71data };
-
-static const unsigned char ch72data[] = {
- 0x84,0x84,0x84,0x84,0xfc,0x84,0x84,0x84
-};
-static const GLUTBitmapChar ch72 = { 6, 8, -1, 0, 8, ch72data };
-
-static const unsigned char ch73data[] = {
- 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80
-};
-static const GLUTBitmapChar ch73 = { 1, 8, -1, 0, 3, ch73data };
-
-static const unsigned char ch74data[] = {
- 0x60,0x90,0x10,0x10,0x10,0x10,0x10,0x10
-};
-static const GLUTBitmapChar ch74 = { 4, 8, 0, 0, 5, ch74data };
-
-static const unsigned char ch75data[] = {
- 0x88,0x88,0x90,0x90,0xe0,0xa0,0x90,0x88
-};
-static const GLUTBitmapChar ch75 = { 5, 8, -1, 0, 7, ch75data };
-
-static const unsigned char ch76data[] = {
- 0xf0,0x80,0x80,0x80,0x80,0x80,0x80,0x80
-};
-static const GLUTBitmapChar ch76 = { 4, 8, -1, 0, 6, ch76data };
-
-static const unsigned char ch77data[] = {
- 0x92,0x92,0x92,0xaa,0xaa,0xc6,0xc6,0x82
-};
-static const GLUTBitmapChar ch77 = { 7, 8, -1, 0, 9, ch77data };
-
-static const unsigned char ch78data[] = {
- 0x8c,0x8c,0x94,0x94,0xa4,0xa4,0xc4,0xc4
-};
-static const GLUTBitmapChar ch78 = { 6, 8, -1, 0, 8, ch78data };
-
-static const unsigned char ch79data[] = {
- 0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x78
-};
-static const GLUTBitmapChar ch79 = { 6, 8, -1, 0, 8, ch79data };
-
-static const unsigned char ch80data[] = {
- 0x80,0x80,0x80,0x80,0xf0,0x88,0x88,0xf0
-};
-static const GLUTBitmapChar ch80 = { 5, 8, -1, 0, 7, ch80data };
-
-static const unsigned char ch81data[] = {
- 0x2,0x7c,0x8c,0x94,0x84,0x84,0x84,0x84,0x78
-};
-static const GLUTBitmapChar ch81 = { 7, 9, -1, 1, 8, ch81data };
-
-static const unsigned char ch82data[] = {
- 0x88,0x88,0x88,0x88,0xf0,0x88,0x88,0xf0
-};
-static const GLUTBitmapChar ch82 = { 5, 8, -1, 0, 7, ch82data };
-
-static const unsigned char ch83data[] = {
- 0x70,0x88,0x88,0x8,0x70,0x80,0x88,0x70
-};
-static const GLUTBitmapChar ch83 = { 5, 8, -1, 0, 7, ch83data };
-
-static const unsigned char ch84data[] = {
- 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xf8
-};
-static const GLUTBitmapChar ch84 = { 5, 8, 0, 0, 5, ch84data };
-
-static const unsigned char ch85data[] = {
- 0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84
-};
-static const GLUTBitmapChar ch85 = { 6, 8, -1, 0, 8, ch85data };
-
-static const unsigned char ch86data[] = {
- 0x10,0x28,0x28,0x44,0x44,0x44,0x82,0x82
-};
-static const GLUTBitmapChar ch86 = { 7, 8, 0, 0, 7, ch86data };
-
-static const unsigned char ch87data[] = {
- 0x22,0x0,0x22,0x0,0x22,0x0,0x55,0x0,0x49,0x0,0x49,0x0,0x88,0x80,0x88,0x80
-};
-static const GLUTBitmapChar ch87 = { 9, 8, 0, 0, 9, ch87data };
-
-static const unsigned char ch88data[] = {
- 0x88,0x88,0x50,0x50,0x20,0x50,0x88,0x88
-};
-static const GLUTBitmapChar ch88 = { 5, 8, -1, 0, 7, ch88data };
-
-static const unsigned char ch89data[] = {
- 0x10,0x10,0x10,0x28,0x28,0x44,0x44,0x82
-};
-static const GLUTBitmapChar ch89 = { 7, 8, 0, 0, 7, ch89data };
-
-static const unsigned char ch90data[] = {
- 0xf8,0x80,0x40,0x20,0x20,0x10,0x8,0xf8
-};
-static const GLUTBitmapChar ch90 = { 5, 8, -1, 0, 7, ch90data };
-
-static const unsigned char ch91data[] = {
- 0xc0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xc0
-};
-static const GLUTBitmapChar ch91 = { 2, 10, -1, 2, 3, ch91data };
-
-static const unsigned char ch92data[] = {
- 0x20,0x20,0x40,0x40,0x40,0x40,0x80,0x80
-};
-static const GLUTBitmapChar ch92 = { 3, 8, 0, 0, 3, ch92data };
-
-static const unsigned char ch93data[] = {
- 0xc0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xc0
-};
-static const GLUTBitmapChar ch93 = { 2, 10, 0, 2, 3, ch93data };
-
-static const unsigned char ch94data[] = {
- 0x88,0x50,0x50,0x20,0x20
-};
-static const GLUTBitmapChar ch94 = { 5, 5, 0, -3, 6, ch94data };
-
-static const unsigned char ch95data[] = {
- 0xfc
-};
-static const GLUTBitmapChar ch95 = { 6, 1, 0, 2, 6, ch95data };
-
-static const unsigned char ch96data[] = {
- 0x80,0x80,0x40
-};
-static const GLUTBitmapChar ch96 = { 2, 3, 0, -5, 3, ch96data };
-
-static const unsigned char ch97data[] = {
- 0x68,0x90,0x90,0x70,0x10,0xe0
-};
-static const GLUTBitmapChar ch97 = { 5, 6, 0, 0, 5, ch97data };
-
-static const unsigned char ch98data[] = {
- 0xb0,0xc8,0x88,0x88,0xc8,0xb0,0x80,0x80
-};
-static const GLUTBitmapChar ch98 = { 5, 8, 0, 0, 6, ch98data };
-
-static const unsigned char ch99data[] = {
- 0x60,0x90,0x80,0x80,0x90,0x60
-};
-static const GLUTBitmapChar ch99 = { 4, 6, 0, 0, 5, ch99data };
-
-static const unsigned char ch100data[] = {
- 0x68,0x98,0x88,0x88,0x98,0x68,0x8,0x8
-};
-static const GLUTBitmapChar ch100 = { 5, 8, 0, 0, 6, ch100data };
-
-static const unsigned char ch101data[] = {
- 0x60,0x90,0x80,0xf0,0x90,0x60
-};
-static const GLUTBitmapChar ch101 = { 4, 6, 0, 0, 5, ch101data };
-
-static const unsigned char ch102data[] = {
- 0x40,0x40,0x40,0x40,0x40,0xe0,0x40,0x30
-};
-static const GLUTBitmapChar ch102 = { 4, 8, 0, 0, 4, ch102data };
-
-static const unsigned char ch103data[] = {
- 0x70,0x8,0x68,0x98,0x88,0x88,0x98,0x68
-};
-static const GLUTBitmapChar ch103 = { 5, 8, 0, 2, 6, ch103data };
-
-static const unsigned char ch104data[] = {
- 0x88,0x88,0x88,0x88,0xc8,0xb0,0x80,0x80
-};
-static const GLUTBitmapChar ch104 = { 5, 8, 0, 0, 6, ch104data };
-
-static const unsigned char ch105data[] = {
- 0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80
-};
-static const GLUTBitmapChar ch105 = { 1, 8, 0, 0, 2, ch105data };
-
-static const unsigned char ch106data[] = {
- 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80
-};
-static const GLUTBitmapChar ch106 = { 1, 9, 0, 1, 2, ch106data };
-
-static const unsigned char ch107data[] = {
- 0x90,0x90,0xa0,0xc0,0xa0,0x90,0x80,0x80
-};
-static const GLUTBitmapChar ch107 = { 4, 8, 0, 0, 5, ch107data };
-
-static const unsigned char ch108data[] = {
- 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80
-};
-static const GLUTBitmapChar ch108 = { 1, 8, 0, 0, 2, ch108data };
-
-static const unsigned char ch109data[] = {
- 0x92,0x92,0x92,0x92,0x92,0xec
-};
-static const GLUTBitmapChar ch109 = { 7, 6, 0, 0, 8, ch109data };
-
-static const unsigned char ch110data[] = {
- 0x88,0x88,0x88,0x88,0xc8,0xb0
-};
-static const GLUTBitmapChar ch110 = { 5, 6, 0, 0, 6, ch110data };
-
-static const unsigned char ch111data[] = {
- 0x70,0x88,0x88,0x88,0x88,0x70
-};
-static const GLUTBitmapChar ch111 = { 5, 6, 0, 0, 6, ch111data };
-
-static const unsigned char ch112data[] = {
- 0x80,0x80,0xb0,0xc8,0x88,0x88,0xc8,0xb0
-};
-static const GLUTBitmapChar ch112 = { 5, 8, 0, 2, 6, ch112data };
-
-static const unsigned char ch113data[] = {
- 0x8,0x8,0x68,0x98,0x88,0x88,0x98,0x68
-};
-static const GLUTBitmapChar ch113 = { 5, 8, 0, 2, 6, ch113data };
-
-static const unsigned char ch114data[] = {
- 0x80,0x80,0x80,0x80,0xc0,0xa0
-};
-static const GLUTBitmapChar ch114 = { 3, 6, 0, 0, 4, ch114data };
-
-static const unsigned char ch115data[] = {
- 0x60,0x90,0x10,0x60,0x90,0x60
-};
-static const GLUTBitmapChar ch115 = { 4, 6, 0, 0, 5, ch115data };
-
-static const unsigned char ch116data[] = {
- 0x60,0x40,0x40,0x40,0x40,0xe0,0x40,0x40
-};
-static const GLUTBitmapChar ch116 = { 3, 8, 0, 0, 4, ch116data };
-
-static const unsigned char ch117data[] = {
- 0x70,0x90,0x90,0x90,0x90,0x90
-};
-static const GLUTBitmapChar ch117 = { 4, 6, 0, 0, 5, ch117data };
-
-static const unsigned char ch118data[] = {
- 0x20,0x20,0x50,0x50,0x88,0x88
-};
-static const GLUTBitmapChar ch118 = { 5, 6, 0, 0, 6, ch118data };
-
-static const unsigned char ch119data[] = {
- 0x28,0x28,0x54,0x54,0x92,0x92
-};
-static const GLUTBitmapChar ch119 = { 7, 6, 0, 0, 8, ch119data };
-
-static const unsigned char ch120data[] = {
- 0x88,0x88,0x50,0x20,0x50,0x88
-};
-static const GLUTBitmapChar ch120 = { 5, 6, 0, 0, 6, ch120data };
-
-static const unsigned char ch121data[] = {
- 0x80,0x40,0x40,0x60,0xa0,0xa0,0x90,0x90
-};
-static const GLUTBitmapChar ch121 = { 4, 8, 0, 2, 5, ch121data };
-
-static const unsigned char ch122data[] = {
- 0xf0,0x80,0x40,0x20,0x10,0xf0
-};
-static const GLUTBitmapChar ch122 = { 4, 6, 0, 0, 5, ch122data };
-
-static const unsigned char ch123data[] = {
- 0x20,0x40,0x40,0x40,0x40,0x80,0x40,0x40,0x40,0x20
-};
-static const GLUTBitmapChar ch123 = { 3, 10, 0, 2, 3, ch123data };
-
-static const unsigned char ch124data[] = {
- 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80
-};
-static const GLUTBitmapChar ch124 = { 1, 10, -1, 2, 3, ch124data };
-
-static const unsigned char ch125data[] = {
- 0x80,0x40,0x40,0x40,0x40,0x20,0x40,0x40,0x40,0x80
-};
-static const GLUTBitmapChar ch125 = { 3, 10, 0, 2, 3, ch125data };
-
-static const unsigned char ch126data[] = {
- 0x98,0x64
-};
-static const GLUTBitmapChar ch126 = { 6, 2, 0, -3, 7, ch126data };
-
-static const unsigned char ch160data[] = {
- 0x0
-};
-static const GLUTBitmapChar ch160 = { 1, 1, 0, 0, 3, ch160data };
-
-static const unsigned char ch161data[] = {
- 0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80
-};
-static const GLUTBitmapChar ch161 = { 1, 8, -1, 2, 3, ch161data };
-
-static const unsigned char ch162data[] = {
- 0x40,0x70,0xa8,0xa0,0xa0,0xa8,0x70,0x10
-};
-static const GLUTBitmapChar ch162 = { 5, 8, 0, 1, 6, ch162data };
-
-static const unsigned char ch163data[] = {
- 0xb0,0x48,0x40,0x40,0xe0,0x40,0x48,0x30
-};
-static const GLUTBitmapChar ch163 = { 5, 8, 0, 0, 6, ch163data };
-
-static const unsigned char ch164data[] = {
- 0x90,0x60,0x90,0x90,0x60,0x90
-};
-static const GLUTBitmapChar ch164 = { 4, 6, 0, -1, 5, ch164data };
-
-static const unsigned char ch165data[] = {
- 0x20,0xf8,0x20,0xf8,0x50,0x50,0x88,0x88
-};
-static const GLUTBitmapChar ch165 = { 5, 8, 0, 0, 6, ch165data };
-
-static const unsigned char ch166data[] = {
- 0x80,0x80,0x80,0x80,0x0,0x0,0x80,0x80,0x80,0x80
-};
-static const GLUTBitmapChar ch166 = { 1, 10, -1, 2, 3, ch166data };
-
-static const unsigned char ch167data[] = {
- 0x70,0x88,0x18,0x70,0xc8,0x98,0x70,0xc0,0x88,0x70
-};
-static const GLUTBitmapChar ch167 = { 5, 10, 0, 2, 6, ch167data };
-
-static const unsigned char ch168data[] = {
- 0xa0
-};
-static const GLUTBitmapChar ch168 = { 3, 1, 0, -7, 3, ch168data };
-
-static const unsigned char ch169data[] = {
- 0x38,0x44,0x9a,0xa2,0x9a,0x44,0x38
-};
-static const GLUTBitmapChar ch169 = { 7, 7, -1, 0, 9, ch169data };
-
-static const unsigned char ch170data[] = {
- 0xe0,0x0,0xa0,0x20,0xe0
-};
-static const GLUTBitmapChar ch170 = { 3, 5, 0, -3, 4, ch170data };
-
-static const unsigned char ch171data[] = {
- 0x28,0x50,0xa0,0x50,0x28
-};
-static const GLUTBitmapChar ch171 = { 5, 5, 0, 0, 6, ch171data };
-
-static const unsigned char ch172data[] = {
- 0x8,0x8,0xf8
-};
-static const GLUTBitmapChar ch172 = { 5, 3, -1, -2, 7, ch172data };
-
-static const unsigned char ch173data[] = {
- 0xe0
-};
-static const GLUTBitmapChar ch173 = { 3, 1, 0, -3, 4, ch173data };
-
-static const unsigned char ch174data[] = {
- 0x38,0x44,0xaa,0xb2,0xba,0x44,0x38
-};
-static const GLUTBitmapChar ch174 = { 7, 7, -1, 0, 9, ch174data };
-
-static const unsigned char ch175data[] = {
- 0xe0
-};
-static const GLUTBitmapChar ch175 = { 3, 1, 0, -7, 3, ch175data };
-
-static const unsigned char ch176data[] = {
- 0x60,0x90,0x90,0x60
-};
-static const GLUTBitmapChar ch176 = { 4, 4, 0, -3, 4, ch176data };
-
-static const unsigned char ch177data[] = {
- 0xf8,0x0,0x20,0x20,0xf8,0x20,0x20
-};
-static const GLUTBitmapChar ch177 = { 5, 7, 0, 0, 6, ch177data };
-
-static const unsigned char ch178data[] = {
- 0xe0,0x40,0xa0,0x60
-};
-static const GLUTBitmapChar ch178 = { 3, 4, 0, -3, 3, ch178data };
-
-static const unsigned char ch179data[] = {
- 0xc0,0x20,0x40,0xe0
-};
-static const GLUTBitmapChar ch179 = { 3, 4, 0, -3, 3, ch179data };
-
-static const unsigned char ch180data[] = {
- 0x80,0x40
-};
-static const GLUTBitmapChar ch180 = { 2, 2, 0, -6, 3, ch180data };
-
-static const unsigned char ch181data[] = {
- 0x80,0x80,0xf0,0x90,0x90,0x90,0x90,0x90
-};
-static const GLUTBitmapChar ch181 = { 4, 8, 0, 2, 5, ch181data };
-
-static const unsigned char ch182data[] = {
- 0x28,0x28,0x28,0x28,0x28,0x68,0xe8,0xe8,0xe8,0x7c
-};
-static const GLUTBitmapChar ch182 = { 6, 10, 0, 2, 6, ch182data };
-
-static const unsigned char ch183data[] = {
- 0xc0
-};
-static const GLUTBitmapChar ch183 = { 2, 1, 0, -3, 3, ch183data };
-
-static const unsigned char ch184data[] = {
- 0xc0,0x40
-};
-static const GLUTBitmapChar ch184 = { 2, 2, 0, 2, 3, ch184data };
-
-static const unsigned char ch185data[] = {
- 0x40,0x40,0xc0,0x40
-};
-static const GLUTBitmapChar ch185 = { 2, 4, 0, -3, 3, ch185data };
-
-static const unsigned char ch186data[] = {
- 0xe0,0x0,0xe0,0xa0,0xe0
-};
-static const GLUTBitmapChar ch186 = { 3, 5, 0, -3, 4, ch186data };
-
-static const unsigned char ch187data[] = {
- 0xa0,0x50,0x28,0x50,0xa0
-};
-static const GLUTBitmapChar ch187 = { 5, 5, 0, 0, 6, ch187data };
-
-static const unsigned char ch188data[] = {
- 0x21,0x0,0x17,0x80,0x13,0x0,0x9,0x0,0x48,0x0,0x44,0x0,0xc4,0x0,0x42,0x0
-};
-static const GLUTBitmapChar ch188 = { 9, 8, 0, 0, 9, ch188data };
-
-static const unsigned char ch189data[] = {
- 0x27,0x12,0x15,0xb,0x48,0x44,0xc4,0x42
-};
-static const GLUTBitmapChar ch189 = { 8, 8, 0, 0, 9, ch189data };
-
-static const unsigned char ch190data[] = {
- 0x21,0x0,0x17,0x80,0x13,0x0,0x9,0x0,0xc8,0x0,0x24,0x0,0x44,0x0,0xe2,0x0
-};
-static const GLUTBitmapChar ch190 = { 9, 8, 0, 0, 9, ch190data };
-
-static const unsigned char ch191data[] = {
- 0x60,0x90,0x80,0x40,0x20,0x20,0x0,0x20
-};
-static const GLUTBitmapChar ch191 = { 4, 8, -1, 2, 6, ch191data };
-
-static const unsigned char ch192data[] = {
- 0x82,0x82,0x7c,0x44,0x28,0x28,0x10,0x10,0x0,0x10,0x20
-};
-static const GLUTBitmapChar ch192 = { 7, 11, 0, 0, 7, ch192data };
-
-static const unsigned char ch193data[] = {
- 0x82,0x82,0x7c,0x44,0x28,0x28,0x10,0x10,0x0,0x10,0x8
-};
-static const GLUTBitmapChar ch193 = { 7, 11, 0, 0, 7, ch193data };
-
-static const unsigned char ch194data[] = {
- 0x82,0x82,0x7c,0x44,0x28,0x28,0x10,0x10,0x0,0x28,0x10
-};
-static const GLUTBitmapChar ch194 = { 7, 11, 0, 0, 7, ch194data };
-
-static const unsigned char ch195data[] = {
- 0x82,0x82,0x7c,0x44,0x28,0x28,0x10,0x10,0x0,0x28,0x14
-};
-static const GLUTBitmapChar ch195 = { 7, 11, 0, 0, 7, ch195data };
-
-static const unsigned char ch196data[] = {
- 0x82,0x82,0x7c,0x44,0x28,0x28,0x10,0x10,0x0,0x28
-};
-static const GLUTBitmapChar ch196 = { 7, 10, 0, 0, 7, ch196data };
-
-static const unsigned char ch197data[] = {
- 0x82,0x82,0x7c,0x44,0x28,0x28,0x10,0x10,0x10,0x28,0x10
-};
-static const GLUTBitmapChar ch197 = { 7, 11, 0, 0, 7, ch197data };
-
-static const unsigned char ch198data[] = {
- 0x8f,0x80,0x88,0x0,0x78,0x0,0x48,0x0,0x2f,0x80,0x28,0x0,0x18,0x0,0x1f,0x80
-};
-static const GLUTBitmapChar ch198 = { 9, 8, 0, 0, 10, ch198data };
-
-static const unsigned char ch199data[] = {
- 0x30,0x10,0x78,0x84,0x80,0x80,0x80,0x80,0x84,0x78
-};
-static const GLUTBitmapChar ch199 = { 6, 10, -1, 2, 8, ch199data };
-
-static const unsigned char ch200data[] = {
- 0xf8,0x80,0x80,0x80,0xf8,0x80,0x80,0xf8,0x0,0x20,0x40
-};
-static const GLUTBitmapChar ch200 = { 5, 11, -1, 0, 7, ch200data };
-
-static const unsigned char ch201data[] = {
- 0xf8,0x80,0x80,0x80,0xf8,0x80,0x80,0xf8,0x0,0x20,0x10
-};
-static const GLUTBitmapChar ch201 = { 5, 11, -1, 0, 7, ch201data };
-
-static const unsigned char ch202data[] = {
- 0xf8,0x80,0x80,0xf8,0x80,0x80,0x80,0xf8,0x0,0x50,0x20
-};
-static const GLUTBitmapChar ch202 = { 5, 11, -1, 0, 7, ch202data };
-
-static const unsigned char ch203data[] = {
- 0xf8,0x80,0x80,0x80,0xf8,0x80,0x80,0xf8,0x0,0x50
-};
-static const GLUTBitmapChar ch203 = { 5, 10, -1, 0, 7, ch203data };
-
-static const unsigned char ch204data[] = {
- 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0x40,0x80
-};
-static const GLUTBitmapChar ch204 = { 2, 11, 0, 0, 3, ch204data };
-
-static const unsigned char ch205data[] = {
- 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,0x40
-};
-static const GLUTBitmapChar ch205 = { 2, 11, -1, 0, 3, ch205data };
-
-static const unsigned char ch206data[] = {
- 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0,0x40
-};
-static const GLUTBitmapChar ch206 = { 3, 11, 0, 0, 3, ch206data };
-
-static const unsigned char ch207data[] = {
- 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0
-};
-static const GLUTBitmapChar ch207 = { 3, 10, 0, 0, 3, ch207data };
-
-static const unsigned char ch208data[] = {
- 0x78,0x44,0x42,0x42,0xf2,0x42,0x44,0x78
-};
-static const GLUTBitmapChar ch208 = { 7, 8, 0, 0, 8, ch208data };
-
-static const unsigned char ch209data[] = {
- 0x8c,0x8c,0x94,0x94,0xa4,0xa4,0xc4,0xc4,0x0,0x50,0x28
-};
-static const GLUTBitmapChar ch209 = { 6, 11, -1, 0, 8, ch209data };
-
-static const unsigned char ch210data[] = {
- 0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x78,0x0,0x10,0x20
-};
-static const GLUTBitmapChar ch210 = { 6, 11, -1, 0, 8, ch210data };
-
-static const unsigned char ch211data[] = {
- 0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x78,0x0,0x10,0x8
-};
-static const GLUTBitmapChar ch211 = { 6, 11, -1, 0, 8, ch211data };
-
-static const unsigned char ch212data[] = {
- 0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x78,0x0,0x28,0x10
-};
-static const GLUTBitmapChar ch212 = { 6, 11, -1, 0, 8, ch212data };
-
-static const unsigned char ch213data[] = {
- 0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x78,0x0,0x50,0x28
-};
-static const GLUTBitmapChar ch213 = { 6, 11, -1, 0, 8, ch213data };
-
-static const unsigned char ch214data[] = {
- 0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x78,0x0,0x48
-};
-static const GLUTBitmapChar ch214 = { 6, 10, -1, 0, 8, ch214data };
-
-static const unsigned char ch215data[] = {
- 0x88,0x50,0x20,0x50,0x88
-};
-static const GLUTBitmapChar ch215 = { 5, 5, 0, -1, 6, ch215data };
-
-static const unsigned char ch216data[] = {
- 0x80,0x78,0xc4,0xa4,0xa4,0x94,0x94,0x8c,0x78,0x4
-};
-static const GLUTBitmapChar ch216 = { 6, 10, -1, 1, 8, ch216data };
-
-static const unsigned char ch217data[] = {
- 0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x10,0x20
-};
-static const GLUTBitmapChar ch217 = { 6, 11, -1, 0, 8, ch217data };
-
-static const unsigned char ch218data[] = {
- 0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x20,0x10
-};
-static const GLUTBitmapChar ch218 = { 6, 11, -1, 0, 8, ch218data };
-
-static const unsigned char ch219data[] = {
- 0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x28,0x10
-};
-static const GLUTBitmapChar ch219 = { 6, 11, -1, 0, 8, ch219data };
-
-static const unsigned char ch220data[] = {
- 0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x48
-};
-static const GLUTBitmapChar ch220 = { 6, 10, -1, 0, 8, ch220data };
-
-static const unsigned char ch221data[] = {
- 0x10,0x10,0x10,0x28,0x28,0x44,0x44,0x82,0x0,0x10,0x8
-};
-static const GLUTBitmapChar ch221 = { 7, 11, 0, 0, 7, ch221data };
-
-static const unsigned char ch222data[] = {
- 0x80,0x80,0xf0,0x88,0x88,0xf0,0x80,0x80
-};
-static const GLUTBitmapChar ch222 = { 5, 8, -1, 0, 7, ch222data };
-
-static const unsigned char ch223data[] = {
- 0xa0,0x90,0x90,0x90,0xa0,0x90,0x90,0x60
-};
-static const GLUTBitmapChar ch223 = { 4, 8, 0, 0, 5, ch223data };
-
-static const unsigned char ch224data[] = {
- 0x68,0x90,0x90,0x70,0x10,0xe0,0x0,0x20,0x40
-};
-static const GLUTBitmapChar ch224 = { 5, 9, 0, 0, 5, ch224data };
-
-static const unsigned char ch225data[] = {
- 0x68,0x90,0x90,0x70,0x10,0xe0,0x0,0x20,0x10
-};
-static const GLUTBitmapChar ch225 = { 5, 9, 0, 0, 5, ch225data };
-
-static const unsigned char ch226data[] = {
- 0x68,0x90,0x90,0x70,0x10,0xe0,0x0,0x50,0x20
-};
-static const GLUTBitmapChar ch226 = { 5, 9, 0, 0, 5, ch226data };
-
-static const unsigned char ch227data[] = {
- 0x68,0x90,0x90,0x70,0x10,0xe0,0x0,0xa0,0x50
-};
-static const GLUTBitmapChar ch227 = { 5, 9, 0, 0, 5, ch227data };
-
-static const unsigned char ch228data[] = {
- 0x68,0x90,0x90,0x70,0x10,0xe0,0x0,0x50
-};
-static const GLUTBitmapChar ch228 = { 5, 8, 0, 0, 5, ch228data };
-
-static const unsigned char ch229data[] = {
- 0x68,0x90,0x90,0x70,0x10,0xe0,0x20,0x50,0x20
-};
-static const GLUTBitmapChar ch229 = { 5, 9, 0, 0, 5, ch229data };
-
-static const unsigned char ch230data[] = {
- 0x6c,0x92,0x90,0x7e,0x12,0xec
-};
-static const GLUTBitmapChar ch230 = { 7, 6, 0, 0, 8, ch230data };
-
-static const unsigned char ch231data[] = {
- 0x60,0x20,0x60,0x90,0x80,0x80,0x90,0x60
-};
-static const GLUTBitmapChar ch231 = { 4, 8, 0, 2, 5, ch231data };
-
-static const unsigned char ch232data[] = {
- 0x60,0x90,0x80,0xf0,0x90,0x60,0x0,0x20,0x40
-};
-static const GLUTBitmapChar ch232 = { 4, 9, 0, 0, 5, ch232data };
-
-static const unsigned char ch233data[] = {
- 0x60,0x90,0x80,0xf0,0x90,0x60,0x0,0x40,0x20
-};
-static const GLUTBitmapChar ch233 = { 4, 9, 0, 0, 5, ch233data };
-
-static const unsigned char ch234data[] = {
- 0x60,0x90,0x80,0xf0,0x90,0x60,0x0,0x50,0x20
-};
-static const GLUTBitmapChar ch234 = { 4, 9, 0, 0, 5, ch234data };
-
-static const unsigned char ch235data[] = {
- 0x60,0x90,0x80,0xf0,0x90,0x60,0x0,0x50
-};
-static const GLUTBitmapChar ch235 = { 4, 8, 0, 0, 5, ch235data };
-
-static const unsigned char ch236data[] = {
- 0x40,0x40,0x40,0x40,0x40,0x40,0x0,0x40,0x80
-};
-static const GLUTBitmapChar ch236 = { 2, 9, 1, 0, 2, ch236data };
-
-static const unsigned char ch237data[] = {
- 0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,0x40
-};
-static const GLUTBitmapChar ch237 = { 2, 9, 0, 0, 2, ch237data };
-
-static const unsigned char ch238data[] = {
- 0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0,0x40
-};
-static const GLUTBitmapChar ch238 = { 3, 9, 1, 0, 2, ch238data };
-
-static const unsigned char ch239data[] = {
- 0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0
-};
-static const GLUTBitmapChar ch239 = { 3, 8, 0, 0, 2, ch239data };
-
-static const unsigned char ch240data[] = {
- 0x70,0x88,0x88,0x88,0x88,0x78,0x90,0x60,0x50
-};
-static const GLUTBitmapChar ch240 = { 5, 9, 0, 0, 6, ch240data };
-
-static const unsigned char ch241data[] = {
- 0x90,0x90,0x90,0x90,0x90,0xe0,0x0,0xa0,0x50
-};
-static const GLUTBitmapChar ch241 = { 4, 9, 0, 0, 5, ch241data };
-
-static const unsigned char ch242data[] = {
- 0x70,0x88,0x88,0x88,0x88,0x70,0x0,0x20,0x40
-};
-static const GLUTBitmapChar ch242 = { 5, 9, 0, 0, 6, ch242data };
-
-static const unsigned char ch243data[] = {
- 0x70,0x88,0x88,0x88,0x88,0x70,0x0,0x20,0x10
-};
-static const GLUTBitmapChar ch243 = { 5, 9, 0, 0, 6, ch243data };
-
-static const unsigned char ch244data[] = {
- 0x70,0x88,0x88,0x88,0x88,0x70,0x0,0x50,0x20
-};
-static const GLUTBitmapChar ch244 = { 5, 9, 0, 0, 6, ch244data };
-
-static const unsigned char ch245data[] = {
- 0x70,0x88,0x88,0x88,0x88,0x70,0x0,0x50,0x28
-};
-static const GLUTBitmapChar ch245 = { 5, 9, 0, 0, 6, ch245data };
-
-static const unsigned char ch246data[] = {
- 0x70,0x88,0x88,0x88,0x88,0x70,0x0,0x50
-};
-static const GLUTBitmapChar ch246 = { 5, 8, 0, 0, 6, ch246data };
-
-static const unsigned char ch247data[] = {
- 0x20,0x0,0xf8,0x0,0x20
-};
-static const GLUTBitmapChar ch247 = { 5, 5, 0, -1, 6, ch247data };
-
-static const unsigned char ch248data[] = {
- 0x70,0x88,0xc8,0xa8,0x98,0x74
-};
-static const GLUTBitmapChar ch248 = { 6, 6, 0, 0, 6, ch248data };
-
-static const unsigned char ch249data[] = {
- 0x70,0x90,0x90,0x90,0x90,0x90,0x0,0x20,0x40
-};
-static const GLUTBitmapChar ch249 = { 4, 9, 0, 0, 5, ch249data };
-
-static const unsigned char ch250data[] = {
- 0x70,0x90,0x90,0x90,0x90,0x90,0x0,0x40,0x20
-};
-static const GLUTBitmapChar ch250 = { 4, 9, 0, 0, 5, ch250data };
-
-static const unsigned char ch251data[] = {
- 0x70,0x90,0x90,0x90,0x90,0x90,0x0,0x50,0x20
-};
-static const GLUTBitmapChar ch251 = { 4, 9, 0, 0, 5, ch251data };
-
-static const unsigned char ch252data[] = {
- 0x70,0x90,0x90,0x90,0x90,0x90,0x0,0x50
-};
-static const GLUTBitmapChar ch252 = { 4, 8, 0, 0, 5, ch252data };
-
-static const unsigned char ch253data[] = {
- 0x80,0x40,0x40,0x60,0xa0,0xa0,0x90,0x90,0x0,0x20,0x10
-};
-static const GLUTBitmapChar ch253 = { 4, 11, 0, 2, 5, ch253data };
-
-static const unsigned char ch254data[] = {
- 0x80,0x80,0xb0,0xc8,0x88,0x88,0xc8,0xb0,0x80,0x80
-};
-static const GLUTBitmapChar ch254 = { 5, 10, 0, 2, 6, ch254data };
-
-static const unsigned char ch255data[] = {
- 0x80,0x40,0x40,0x60,0xa0,0xa0,0x90,0x90,0x0,0x50
-};
-static const GLUTBitmapChar ch255 = { 4, 10, 0, 2, 5, ch255data };
-
-
-static const GLUTBitmapChar *chars[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- &ch32, &ch33, &ch34, &ch35, &ch36, &ch37, &ch38, &ch39,
- &ch40, &ch41, &ch42, &ch43, &ch44, &ch45, &ch46, &ch47,
- &ch48, &ch49, &ch50, &ch51, &ch52, &ch53, &ch54, &ch55,
- &ch56, &ch57, &ch58, &ch59, &ch60, &ch61, &ch62, &ch63,
- &ch64, &ch65, &ch66, &ch67, &ch68, &ch69, &ch70, &ch71,
- &ch72, &ch73, &ch74, &ch75, &ch76, &ch77, &ch78, &ch79,
- &ch80, &ch81, &ch82, &ch83, &ch84, &ch85, &ch86, &ch87,
- &ch88, &ch89, &ch90, &ch91, &ch92, &ch93, &ch94, &ch95,
- &ch96, &ch97, &ch98, &ch99, &ch100, &ch101, &ch102, &ch103,
- &ch104, &ch105, &ch106, &ch107, &ch108, &ch109, &ch110, &ch111,
- &ch112, &ch113, &ch114, &ch115, &ch116, &ch117, &ch118, &ch119,
- &ch120, &ch121, &ch122, &ch123, &ch124, &ch125, &ch126, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- &ch160, &ch161, &ch162, &ch163, &ch164, &ch165, &ch166, &ch167,
- &ch168, &ch169, &ch170, &ch171, &ch172, &ch173, &ch174, &ch175,
- &ch176, &ch177, &ch178, &ch179, &ch180, &ch181, &ch182, &ch183,
- &ch184, &ch185, &ch186, &ch187, &ch188, &ch189, &ch190, &ch191,
- &ch192, &ch193, &ch194, &ch195, &ch196, &ch197, &ch198, &ch199,
- &ch200, &ch201, &ch202, &ch203, &ch204, &ch205, &ch206, &ch207,
- &ch208, &ch209, &ch210, &ch211, &ch212, &ch213, &ch214, &ch215,
- &ch216, &ch217, &ch218, &ch219, &ch220, &ch221, &ch222, &ch223,
- &ch224, &ch225, &ch226, &ch227, &ch228, &ch229, &ch230, &ch231,
- &ch232, &ch233, &ch234, &ch235, &ch236, &ch237, &ch238, &ch239,
- &ch240, &ch241, &ch242, &ch243, &ch244, &ch245, &ch246, &ch247,
- &ch248, &ch249, &ch250, &ch251, &ch252, &ch253, &ch254, &ch255
-};
-
-const GLUTBitmapFont glutBitmapHelvetica10 = {
- "-Adobe-Helvetica-Medium-R-Normal--10-100-75-75-P-56-ISO8859-1",
- 13, 256, chars
-};
diff --git a/src/glut/dos/hel12.c b/src/glut/dos/hel12.c
deleted file mode 100644
index 0fe8b0919b..0000000000
--- a/src/glut/dos/hel12.c
+++ /dev/null
@@ -1,1029 +0,0 @@
-/* autogenerated by bdf2c! do not edit */
-
-/* "Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved." */
-
-
-#include "internal.h"
-/*
-typedef struct {
- int width, height;
- int xorig, yorig;
- int xmove;
- const unsigned char *bitmap;
-} GLUTBitmapChar;
-
-typedef struct {
- const char *name;
- int height;
- int num;
- const GLUTBitmapChar *const *table;
-} GLUTBitmapFont;
-*/
-
-
-static const unsigned char ch32data[] = {
- 0x0
-};
-static const GLUTBitmapChar ch32 = { 1, 1, 0, 0, 4, ch32data };
-
-static const unsigned char ch33data[] = {
- 0x80,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x80
-};
-static const GLUTBitmapChar ch33 = { 1, 9, -1, 0, 3, ch33data };
-
-static const unsigned char ch34data[] = {
- 0xa0,0xa0,0xa0
-};
-static const GLUTBitmapChar ch34 = { 3, 3, -1, -6, 5, ch34data };
-
-static const unsigned char ch35data[] = {
- 0x50,0x50,0x50,0xfc,0x28,0xfc,0x28,0x28
-};
-static const GLUTBitmapChar ch35 = { 6, 8, 0, 0, 7, ch35data };
-
-static const unsigned char ch36data[] = {
- 0x20,0x70,0xa8,0xa8,0x28,0x70,0xa0,0xa8,0x70,0x20
-};
-static const GLUTBitmapChar ch36 = { 5, 10, -1, 1, 7, ch36data };
-
-static const unsigned char ch37data[] = {
- 0x23,0x0,0x14,0x80,0x14,0x80,0x13,0x0,0x8,0x0,0x68,0x0,0x94,0x0,0x94,0x0,
- 0x62,0x0
-};
-static const GLUTBitmapChar ch37 = { 9, 9, -1, 0, 11, ch37data };
-
-static const unsigned char ch38data[] = {
- 0x72,0x8c,0x84,0x8a,0x50,0x30,0x48,0x48,0x30
-};
-static const GLUTBitmapChar ch38 = { 7, 9, -1, 0, 9, ch38data };
-
-static const unsigned char ch39data[] = {
- 0x80,0x40,0xc0
-};
-static const GLUTBitmapChar ch39 = { 2, 3, -1, -6, 3, ch39data };
-
-static const unsigned char ch40data[] = {
- 0x20,0x40,0x40,0x80,0x80,0x80,0x80,0x80,0x80,0x40,0x40,0x20
-};
-static const GLUTBitmapChar ch40 = { 3, 12, -1, 3, 4, ch40data };
-
-static const unsigned char ch41data[] = {
- 0x80,0x40,0x40,0x20,0x20,0x20,0x20,0x20,0x20,0x40,0x40,0x80
-};
-static const GLUTBitmapChar ch41 = { 3, 12, 0, 3, 4, ch41data };
-
-static const unsigned char ch42data[] = {
- 0xa0,0x40,0xa0
-};
-static const GLUTBitmapChar ch42 = { 3, 3, -1, -6, 5, ch42data };
-
-static const unsigned char ch43data[] = {
- 0x20,0x20,0xf8,0x20,0x20
-};
-static const GLUTBitmapChar ch43 = { 5, 5, -1, -1, 7, ch43data };
-
-static const unsigned char ch44data[] = {
- 0x80,0x40,0x40
-};
-static const GLUTBitmapChar ch44 = { 2, 3, -1, 2, 4, ch44data };
-
-static const unsigned char ch45data[] = {
- 0xf8
-};
-static const GLUTBitmapChar ch45 = { 5, 1, -1, -3, 8, ch45data };
-
-static const unsigned char ch46data[] = {
- 0x80
-};
-static const GLUTBitmapChar ch46 = { 1, 1, -1, 0, 3, ch46data };
-
-static const unsigned char ch47data[] = {
- 0x80,0x80,0x40,0x40,0x40,0x20,0x20,0x10,0x10
-};
-static const GLUTBitmapChar ch47 = { 4, 9, 0, 0, 4, ch47data };
-
-static const unsigned char ch48data[] = {
- 0x70,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x70
-};
-static const GLUTBitmapChar ch48 = { 5, 9, -1, 0, 7, ch48data };
-
-static const unsigned char ch49data[] = {
- 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xe0,0x20
-};
-static const GLUTBitmapChar ch49 = { 3, 9, -1, 0, 7, ch49data };
-
-static const unsigned char ch50data[] = {
- 0xf8,0x80,0x80,0x40,0x20,0x10,0x8,0x88,0x70
-};
-static const GLUTBitmapChar ch50 = { 5, 9, -1, 0, 7, ch50data };
-
-static const unsigned char ch51data[] = {
- 0x70,0x88,0x88,0x8,0x8,0x30,0x8,0x88,0x70
-};
-static const GLUTBitmapChar ch51 = { 5, 9, -1, 0, 7, ch51data };
-
-static const unsigned char ch52data[] = {
- 0x8,0x8,0xfc,0x88,0x48,0x28,0x28,0x18,0x8
-};
-static const GLUTBitmapChar ch52 = { 6, 9, 0, 0, 7, ch52data };
-
-static const unsigned char ch53data[] = {
- 0x70,0x88,0x88,0x8,0x8,0xf0,0x80,0x80,0xf8
-};
-static const GLUTBitmapChar ch53 = { 5, 9, -1, 0, 7, ch53data };
-
-static const unsigned char ch54data[] = {
- 0x70,0x88,0x88,0x88,0xc8,0xb0,0x80,0x88,0x70
-};
-static const GLUTBitmapChar ch54 = { 5, 9, -1, 0, 7, ch54data };
-
-static const unsigned char ch55data[] = {
- 0x40,0x40,0x20,0x20,0x20,0x10,0x10,0x8,0xf8
-};
-static const GLUTBitmapChar ch55 = { 5, 9, -1, 0, 7, ch55data };
-
-static const unsigned char ch56data[] = {
- 0x70,0x88,0x88,0x88,0x88,0x70,0x88,0x88,0x70
-};
-static const GLUTBitmapChar ch56 = { 5, 9, -1, 0, 7, ch56data };
-
-static const unsigned char ch57data[] = {
- 0x70,0x88,0x8,0x8,0x78,0x88,0x88,0x88,0x70
-};
-static const GLUTBitmapChar ch57 = { 5, 9, -1, 0, 7, ch57data };
-
-static const unsigned char ch58data[] = {
- 0x80,0x0,0x0,0x0,0x0,0x80
-};
-static const GLUTBitmapChar ch58 = { 1, 6, -1, 0, 3, ch58data };
-
-static const unsigned char ch59data[] = {
- 0x80,0x40,0x40,0x0,0x0,0x0,0x0,0x40
-};
-static const GLUTBitmapChar ch59 = { 2, 8, 0, 2, 3, ch59data };
-
-static const unsigned char ch60data[] = {
- 0xc,0x30,0xc0,0x30,0xc
-};
-static const GLUTBitmapChar ch60 = { 6, 5, 0, -1, 7, ch60data };
-
-static const unsigned char ch61data[] = {
- 0xf8,0x0,0xf8
-};
-static const GLUTBitmapChar ch61 = { 5, 3, -1, -2, 7, ch61data };
-
-static const unsigned char ch62data[] = {
- 0xc0,0x30,0xc,0x30,0xc0
-};
-static const GLUTBitmapChar ch62 = { 6, 5, -1, -1, 7, ch62data };
-
-static const unsigned char ch63data[] = {
- 0x20,0x0,0x20,0x20,0x10,0x10,0x88,0x88,0x70
-};
-static const GLUTBitmapChar ch63 = { 5, 9, -1, 0, 7, ch63data };
-
-static const unsigned char ch64data[] = {
- 0x3e,0x0,0x40,0x0,0x9b,0x0,0xa6,0x80,0xa2,0x40,0xa2,0x40,0x92,0x40,0x4d,0x40,
- 0x60,0x80,0x1f,0x0
-};
-static const GLUTBitmapChar ch64 = { 10, 10, -1, 1, 12, ch64data };
-
-static const unsigned char ch65data[] = {
- 0x82,0x82,0x82,0x7c,0x44,0x44,0x28,0x28,0x10
-};
-static const GLUTBitmapChar ch65 = { 7, 9, -1, 0, 9, ch65data };
-
-static const unsigned char ch66data[] = {
- 0xf8,0x84,0x84,0x84,0xf8,0x84,0x84,0x84,0xf8
-};
-static const GLUTBitmapChar ch66 = { 6, 9, -1, 0, 8, ch66data };
-
-static const unsigned char ch67data[] = {
- 0x3c,0x42,0x80,0x80,0x80,0x80,0x80,0x42,0x3c
-};
-static const GLUTBitmapChar ch67 = { 7, 9, -1, 0, 9, ch67data };
-
-static const unsigned char ch68data[] = {
- 0xf8,0x84,0x82,0x82,0x82,0x82,0x82,0x84,0xf8
-};
-static const GLUTBitmapChar ch68 = { 7, 9, -1, 0, 9, ch68data };
-
-static const unsigned char ch69data[] = {
- 0xfc,0x80,0x80,0x80,0xfc,0x80,0x80,0x80,0xfc
-};
-static const GLUTBitmapChar ch69 = { 6, 9, -1, 0, 8, ch69data };
-
-static const unsigned char ch70data[] = {
- 0x80,0x80,0x80,0x80,0xf8,0x80,0x80,0x80,0xfc
-};
-static const GLUTBitmapChar ch70 = { 6, 9, -1, 0, 8, ch70data };
-
-static const unsigned char ch71data[] = {
- 0x3a,0x46,0x82,0x82,0x8e,0x80,0x80,0x42,0x3c
-};
-static const GLUTBitmapChar ch71 = { 7, 9, -1, 0, 9, ch71data };
-
-static const unsigned char ch72data[] = {
- 0x82,0x82,0x82,0x82,0xfe,0x82,0x82,0x82,0x82
-};
-static const GLUTBitmapChar ch72 = { 7, 9, -1, 0, 9, ch72data };
-
-static const unsigned char ch73data[] = {
- 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80
-};
-static const GLUTBitmapChar ch73 = { 1, 9, -1, 0, 3, ch73data };
-
-static const unsigned char ch74data[] = {
- 0x70,0x88,0x88,0x8,0x8,0x8,0x8,0x8,0x8
-};
-static const GLUTBitmapChar ch74 = { 5, 9, -1, 0, 7, ch74data };
-
-static const unsigned char ch75data[] = {
- 0x82,0x84,0x88,0x90,0xe0,0xa0,0x90,0x88,0x84
-};
-static const GLUTBitmapChar ch75 = { 7, 9, -1, 0, 8, ch75data };
-
-static const unsigned char ch76data[] = {
- 0xf8,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80
-};
-static const GLUTBitmapChar ch76 = { 5, 9, -1, 0, 7, ch76data };
-
-static const unsigned char ch77data[] = {
- 0x88,0x80,0x88,0x80,0x94,0x80,0x94,0x80,0xa2,0x80,0xa2,0x80,0xc1,0x80,0xc1,0x80,
- 0x80,0x80
-};
-static const GLUTBitmapChar ch77 = { 9, 9, -1, 0, 11, ch77data };
-
-static const unsigned char ch78data[] = {
- 0x82,0x86,0x8a,0x8a,0x92,0xa2,0xa2,0xc2,0x82
-};
-static const GLUTBitmapChar ch78 = { 7, 9, -1, 0, 9, ch78data };
-
-static const unsigned char ch79data[] = {
- 0x3c,0x42,0x81,0x81,0x81,0x81,0x81,0x42,0x3c
-};
-static const GLUTBitmapChar ch79 = { 8, 9, -1, 0, 10, ch79data };
-
-static const unsigned char ch80data[] = {
- 0x80,0x80,0x80,0x80,0xf8,0x84,0x84,0x84,0xf8
-};
-static const GLUTBitmapChar ch80 = { 6, 9, -1, 0, 8, ch80data };
-
-static const unsigned char ch81data[] = {
- 0x3d,0x42,0x85,0x89,0x81,0x81,0x81,0x42,0x3c
-};
-static const GLUTBitmapChar ch81 = { 8, 9, -1, 0, 10, ch81data };
-
-static const unsigned char ch82data[] = {
- 0x84,0x84,0x84,0x88,0xf8,0x84,0x84,0x84,0xf8
-};
-static const GLUTBitmapChar ch82 = { 6, 9, -1, 0, 8, ch82data };
-
-static const unsigned char ch83data[] = {
- 0x78,0x84,0x84,0x4,0x18,0x60,0x80,0x84,0x78
-};
-static const GLUTBitmapChar ch83 = { 6, 9, -1, 0, 8, ch83data };
-
-static const unsigned char ch84data[] = {
- 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0xfe
-};
-static const GLUTBitmapChar ch84 = { 7, 9, 0, 0, 7, ch84data };
-
-static const unsigned char ch85data[] = {
- 0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84
-};
-static const GLUTBitmapChar ch85 = { 6, 9, -1, 0, 8, ch85data };
-
-static const unsigned char ch86data[] = {
- 0x10,0x10,0x28,0x28,0x44,0x44,0x44,0x82,0x82
-};
-static const GLUTBitmapChar ch86 = { 7, 9, -1, 0, 9, ch86data };
-
-static const unsigned char ch87data[] = {
- 0x22,0x0,0x22,0x0,0x22,0x0,0x55,0x0,0x55,0x0,0x49,0x0,0x88,0x80,0x88,0x80,
- 0x88,0x80
-};
-static const GLUTBitmapChar ch87 = { 9, 9, -1, 0, 11, ch87data };
-
-static const unsigned char ch88data[] = {
- 0x82,0x44,0x44,0x28,0x10,0x28,0x44,0x44,0x82
-};
-static const GLUTBitmapChar ch88 = { 7, 9, -1, 0, 9, ch88data };
-
-static const unsigned char ch89data[] = {
- 0x10,0x10,0x10,0x10,0x28,0x44,0x44,0x82,0x82
-};
-static const GLUTBitmapChar ch89 = { 7, 9, -1, 0, 9, ch89data };
-
-static const unsigned char ch90data[] = {
- 0xfe,0x80,0x40,0x20,0x10,0x8,0x4,0x2,0xfe
-};
-static const GLUTBitmapChar ch90 = { 7, 9, -1, 0, 9, ch90data };
-
-static const unsigned char ch91data[] = {
- 0xc0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xc0
-};
-static const GLUTBitmapChar ch91 = { 2, 12, -1, 3, 3, ch91data };
-
-static const unsigned char ch92data[] = {
- 0x10,0x10,0x20,0x20,0x20,0x40,0x40,0x80,0x80
-};
-static const GLUTBitmapChar ch92 = { 4, 9, 0, 0, 4, ch92data };
-
-static const unsigned char ch93data[] = {
- 0xc0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xc0
-};
-static const GLUTBitmapChar ch93 = { 2, 12, 0, 3, 3, ch93data };
-
-static const unsigned char ch94data[] = {
- 0x88,0x50,0x20
-};
-static const GLUTBitmapChar ch94 = { 5, 3, 0, -5, 6, ch94data };
-
-static const unsigned char ch95data[] = {
- 0xfe
-};
-static const GLUTBitmapChar ch95 = { 7, 1, 0, 2, 7, ch95data };
-
-static const unsigned char ch96data[] = {
- 0xc0,0x80,0x40
-};
-static const GLUTBitmapChar ch96 = { 2, 3, 0, -6, 3, ch96data };
-
-static const unsigned char ch97data[] = {
- 0x74,0x88,0x88,0x78,0x8,0x88,0x70
-};
-static const GLUTBitmapChar ch97 = { 6, 7, -1, 0, 7, ch97data };
-
-static const unsigned char ch98data[] = {
- 0xb0,0xc8,0x88,0x88,0x88,0xc8,0xb0,0x80,0x80
-};
-static const GLUTBitmapChar ch98 = { 5, 9, -1, 0, 7, ch98data };
-
-static const unsigned char ch99data[] = {
- 0x70,0x88,0x80,0x80,0x80,0x88,0x70
-};
-static const GLUTBitmapChar ch99 = { 5, 7, -1, 0, 7, ch99data };
-
-static const unsigned char ch100data[] = {
- 0x68,0x98,0x88,0x88,0x88,0x98,0x68,0x8,0x8
-};
-static const GLUTBitmapChar ch100 = { 5, 9, -1, 0, 7, ch100data };
-
-static const unsigned char ch101data[] = {
- 0x70,0x88,0x80,0xf8,0x88,0x88,0x70
-};
-static const GLUTBitmapChar ch101 = { 5, 7, -1, 0, 7, ch101data };
-
-static const unsigned char ch102data[] = {
- 0x40,0x40,0x40,0x40,0x40,0x40,0xe0,0x40,0x30
-};
-static const GLUTBitmapChar ch102 = { 4, 9, 0, 0, 3, ch102data };
-
-static const unsigned char ch103data[] = {
- 0x70,0x88,0x8,0x68,0x98,0x88,0x88,0x88,0x98,0x68
-};
-static const GLUTBitmapChar ch103 = { 5, 10, -1, 3, 7, ch103data };
-
-static const unsigned char ch104data[] = {
- 0x88,0x88,0x88,0x88,0x88,0xc8,0xb0,0x80,0x80
-};
-static const GLUTBitmapChar ch104 = { 5, 9, -1, 0, 7, ch104data };
-
-static const unsigned char ch105data[] = {
- 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80
-};
-static const GLUTBitmapChar ch105 = { 1, 9, -1, 0, 3, ch105data };
-
-static const unsigned char ch106data[] = {
- 0x80,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0x40
-};
-static const GLUTBitmapChar ch106 = { 2, 12, 0, 3, 3, ch106data };
-
-static const unsigned char ch107data[] = {
- 0x88,0x90,0xa0,0xc0,0xc0,0xa0,0x90,0x80,0x80
-};
-static const GLUTBitmapChar ch107 = { 5, 9, -1, 0, 6, ch107data };
-
-static const unsigned char ch108data[] = {
- 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80
-};
-static const GLUTBitmapChar ch108 = { 1, 9, -1, 0, 3, ch108data };
-
-static const unsigned char ch109data[] = {
- 0x92,0x92,0x92,0x92,0x92,0xda,0xa4
-};
-static const GLUTBitmapChar ch109 = { 7, 7, -1, 0, 9, ch109data };
-
-static const unsigned char ch110data[] = {
- 0x88,0x88,0x88,0x88,0x88,0xc8,0xb0
-};
-static const GLUTBitmapChar ch110 = { 5, 7, -1, 0, 7, ch110data };
-
-static const unsigned char ch111data[] = {
- 0x70,0x88,0x88,0x88,0x88,0x88,0x70
-};
-static const GLUTBitmapChar ch111 = { 5, 7, -1, 0, 7, ch111data };
-
-static const unsigned char ch112data[] = {
- 0x80,0x80,0x80,0xb0,0xc8,0x88,0x88,0x88,0xc8,0xb0
-};
-static const GLUTBitmapChar ch112 = { 5, 10, -1, 3, 7, ch112data };
-
-static const unsigned char ch113data[] = {
- 0x8,0x8,0x8,0x68,0x98,0x88,0x88,0x88,0x98,0x68
-};
-static const GLUTBitmapChar ch113 = { 5, 10, -1, 3, 7, ch113data };
-
-static const unsigned char ch114data[] = {
- 0x80,0x80,0x80,0x80,0x80,0xc0,0xa0
-};
-static const GLUTBitmapChar ch114 = { 3, 7, -1, 0, 4, ch114data };
-
-static const unsigned char ch115data[] = {
- 0x60,0x90,0x10,0x60,0x80,0x90,0x60
-};
-static const GLUTBitmapChar ch115 = { 4, 7, -1, 0, 6, ch115data };
-
-static const unsigned char ch116data[] = {
- 0x60,0x40,0x40,0x40,0x40,0x40,0xe0,0x40,0x40
-};
-static const GLUTBitmapChar ch116 = { 3, 9, 0, 0, 3, ch116data };
-
-static const unsigned char ch117data[] = {
- 0x68,0x98,0x88,0x88,0x88,0x88,0x88
-};
-static const GLUTBitmapChar ch117 = { 5, 7, -1, 0, 7, ch117data };
-
-static const unsigned char ch118data[] = {
- 0x20,0x20,0x50,0x50,0x88,0x88,0x88
-};
-static const GLUTBitmapChar ch118 = { 5, 7, -1, 0, 7, ch118data };
-
-static const unsigned char ch119data[] = {
- 0x22,0x0,0x22,0x0,0x55,0x0,0x49,0x0,0x49,0x0,0x88,0x80,0x88,0x80
-};
-static const GLUTBitmapChar ch119 = { 9, 7, 0, 0, 9, ch119data };
-
-static const unsigned char ch120data[] = {
- 0x84,0x84,0x48,0x30,0x30,0x48,0x84
-};
-static const GLUTBitmapChar ch120 = { 6, 7, 0, 0, 6, ch120data };
-
-static const unsigned char ch121data[] = {
- 0x80,0x40,0x20,0x20,0x50,0x50,0x90,0x88,0x88,0x88
-};
-static const GLUTBitmapChar ch121 = { 5, 10, -1, 3, 7, ch121data };
-
-static const unsigned char ch122data[] = {
- 0xf0,0x80,0x40,0x40,0x20,0x10,0xf0
-};
-static const GLUTBitmapChar ch122 = { 4, 7, -1, 0, 6, ch122data };
-
-static const unsigned char ch123data[] = {
- 0x30,0x40,0x40,0x40,0x40,0x40,0x80,0x40,0x40,0x40,0x40,0x30
-};
-static const GLUTBitmapChar ch123 = { 4, 12, 0, 3, 4, ch123data };
-
-static const unsigned char ch124data[] = {
- 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80
-};
-static const GLUTBitmapChar ch124 = { 1, 12, -1, 3, 3, ch124data };
-
-static const unsigned char ch125data[] = {
- 0xc0,0x20,0x20,0x20,0x20,0x20,0x10,0x20,0x20,0x20,0x20,0xc0
-};
-static const GLUTBitmapChar ch125 = { 4, 12, 0, 3, 4, ch125data };
-
-static const unsigned char ch126data[] = {
- 0x98,0x64
-};
-static const GLUTBitmapChar ch126 = { 6, 2, 0, -3, 7, ch126data };
-
-static const unsigned char ch160data[] = {
- 0x0
-};
-static const GLUTBitmapChar ch160 = { 1, 1, 0, 0, 4, ch160data };
-
-static const unsigned char ch161data[] = {
- 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80
-};
-static const GLUTBitmapChar ch161 = { 1, 10, -1, 3, 3, ch161data };
-
-static const unsigned char ch162data[] = {
- 0x40,0x70,0xc8,0xa0,0xa0,0xa0,0xa8,0x70,0x10
-};
-static const GLUTBitmapChar ch162 = { 5, 9, -1, 1, 7, ch162data };
-
-static const unsigned char ch163data[] = {
- 0xb0,0x48,0x20,0x20,0xf0,0x40,0x40,0x48,0x30
-};
-static const GLUTBitmapChar ch163 = { 5, 9, -1, 0, 7, ch163data };
-
-static const unsigned char ch164data[] = {
- 0x84,0x78,0x48,0x48,0x78,0x84
-};
-static const GLUTBitmapChar ch164 = { 6, 6, 0, -1, 7, ch164data };
-
-static const unsigned char ch165data[] = {
- 0x20,0x20,0xf8,0x20,0xf8,0x20,0x50,0x88,0x88
-};
-static const GLUTBitmapChar ch165 = { 5, 9, -1, 0, 7, ch165data };
-
-static const unsigned char ch166data[] = {
- 0x80,0x80,0x80,0x80,0x0,0x0,0x0,0x80,0x80,0x80,0x80
-};
-static const GLUTBitmapChar ch166 = { 1, 11, -1, 2, 3, ch166data };
-
-static const unsigned char ch167data[] = {
- 0x70,0x88,0x8,0x30,0x48,0x88,0x88,0x90,0x60,0x80,0x88,0x70
-};
-static const GLUTBitmapChar ch167 = { 5, 12, 0, 3, 6, ch167data };
-
-static const unsigned char ch168data[] = {
- 0xa0
-};
-static const GLUTBitmapChar ch168 = { 3, 1, 0, -8, 3, ch168data };
-
-static const unsigned char ch169data[] = {
- 0x3e,0x0,0x41,0x0,0x9c,0x80,0xa2,0x80,0xa0,0x80,0xa2,0x80,0x9c,0x80,0x41,0x0,
- 0x3e,0x0
-};
-static const GLUTBitmapChar ch169 = { 9, 9, -1, 0, 11, ch169data };
-
-static const unsigned char ch170data[] = {
- 0xe0,0x0,0xa0,0x20,0xe0
-};
-static const GLUTBitmapChar ch170 = { 3, 5, -1, -4, 5, ch170data };
-
-static const unsigned char ch171data[] = {
- 0x28,0x50,0xa0,0x50,0x28
-};
-static const GLUTBitmapChar ch171 = { 5, 5, -1, -1, 7, ch171data };
-
-static const unsigned char ch172data[] = {
- 0x4,0x4,0x4,0xfc
-};
-static const GLUTBitmapChar ch172 = { 6, 4, -1, -2, 8, ch172data };
-
-static const unsigned char ch173data[] = {
- 0xf0
-};
-static const GLUTBitmapChar ch173 = { 4, 1, 0, -3, 5, ch173data };
-
-static const unsigned char ch174data[] = {
- 0x3e,0x0,0x41,0x0,0x94,0x80,0x94,0x80,0x98,0x80,0x94,0x80,0x9c,0x80,0x41,0x0,
- 0x3e,0x0
-};
-static const GLUTBitmapChar ch174 = { 9, 9, -1, 0, 11, ch174data };
-
-static const unsigned char ch175data[] = {
- 0xf0
-};
-static const GLUTBitmapChar ch175 = { 4, 1, 0, -8, 4, ch175data };
-
-static const unsigned char ch176data[] = {
- 0x60,0x90,0x90,0x60
-};
-static const GLUTBitmapChar ch176 = { 4, 4, 0, -4, 5, ch176data };
-
-static const unsigned char ch177data[] = {
- 0xf8,0x0,0x20,0x20,0xf8,0x20,0x20
-};
-static const GLUTBitmapChar ch177 = { 5, 7, -1, 0, 7, ch177data };
-
-static const unsigned char ch178data[] = {
- 0xf0,0x40,0x20,0x90,0x60
-};
-static const GLUTBitmapChar ch178 = { 4, 5, 0, -3, 4, ch178data };
-
-static const unsigned char ch179data[] = {
- 0xc0,0x20,0x40,0x20,0xe0
-};
-static const GLUTBitmapChar ch179 = { 3, 5, 0, -3, 4, ch179data };
-
-static const unsigned char ch180data[] = {
- 0x80,0x40
-};
-static const GLUTBitmapChar ch180 = { 2, 2, 0, -8, 2, ch180data };
-
-static const unsigned char ch181data[] = {
- 0x80,0x80,0x80,0xe8,0x98,0x88,0x88,0x88,0x88,0x88
-};
-static const GLUTBitmapChar ch181 = { 5, 10, -1, 3, 7, ch181data };
-
-static const unsigned char ch182data[] = {
- 0x28,0x28,0x28,0x28,0x28,0x28,0x68,0xe8,0xe8,0xe8,0x68,0x3c
-};
-static const GLUTBitmapChar ch182 = { 6, 12, 0, 3, 7, ch182data };
-
-static const unsigned char ch183data[] = {
- 0x80
-};
-static const GLUTBitmapChar ch183 = { 1, 1, -1, -3, 3, ch183data };
-
-static const unsigned char ch184data[] = {
- 0xc0,0x20,0x20,0x40
-};
-static const GLUTBitmapChar ch184 = { 3, 4, 0, 3, 3, ch184data };
-
-static const unsigned char ch185data[] = {
- 0x40,0x40,0x40,0xc0,0x40
-};
-static const GLUTBitmapChar ch185 = { 2, 5, -1, -3, 4, ch185data };
-
-static const unsigned char ch186data[] = {
- 0xe0,0x0,0xe0,0xa0,0xe0
-};
-static const GLUTBitmapChar ch186 = { 3, 5, -1, -4, 5, ch186data };
-
-static const unsigned char ch187data[] = {
- 0xa0,0x50,0x28,0x50,0xa0
-};
-static const GLUTBitmapChar ch187 = { 5, 5, -1, -1, 7, ch187data };
-
-static const unsigned char ch188data[] = {
- 0x41,0x0,0x27,0x80,0x15,0x0,0x13,0x0,0x49,0x0,0x44,0x0,0x44,0x0,0xc2,0x0,
- 0x41,0x0
-};
-static const GLUTBitmapChar ch188 = { 9, 9, 0, 0, 10, ch188data };
-
-static const unsigned char ch189data[] = {
- 0x47,0x80,0x22,0x0,0x11,0x0,0x14,0x80,0x4b,0x0,0x48,0x0,0x44,0x0,0xc2,0x0,
- 0x41,0x0
-};
-static const GLUTBitmapChar ch189 = { 9, 9, 0, 0, 10, ch189data };
-
-static const unsigned char ch190data[] = {
- 0x21,0x0,0x17,0x80,0x15,0x0,0xb,0x0,0xc9,0x0,0x24,0x0,0x44,0x0,0x22,0x0,
- 0xe1,0x0
-};
-static const GLUTBitmapChar ch190 = { 9, 9, 0, 0, 10, ch190data };
-
-static const unsigned char ch191data[] = {
- 0x70,0x88,0x88,0x40,0x40,0x20,0x20,0x0,0x20
-};
-static const GLUTBitmapChar ch191 = { 5, 9, -1, 3, 7, ch191data };
-
-static const unsigned char ch192data[] = {
- 0x82,0x82,0x82,0x7c,0x44,0x44,0x28,0x10,0x10,0x0,0x10,0x20
-};
-static const GLUTBitmapChar ch192 = { 7, 12, -1, 0, 9, ch192data };
-
-static const unsigned char ch193data[] = {
- 0x82,0x82,0x82,0x7c,0x44,0x44,0x28,0x10,0x10,0x0,0x10,0x8
-};
-static const GLUTBitmapChar ch193 = { 7, 12, -1, 0, 9, ch193data };
-
-static const unsigned char ch194data[] = {
- 0x82,0x82,0x82,0x7c,0x44,0x44,0x28,0x10,0x10,0x0,0x28,0x10
-};
-static const GLUTBitmapChar ch194 = { 7, 12, -1, 0, 9, ch194data };
-
-static const unsigned char ch195data[] = {
- 0x82,0x82,0x82,0x7c,0x44,0x44,0x28,0x10,0x10,0x0,0x28,0x14
-};
-static const GLUTBitmapChar ch195 = { 7, 12, -1, 0, 9, ch195data };
-
-static const unsigned char ch196data[] = {
- 0x82,0x82,0x82,0x7c,0x44,0x44,0x28,0x10,0x10,0x0,0x28
-};
-static const GLUTBitmapChar ch196 = { 7, 11, -1, 0, 9, ch196data };
-
-static const unsigned char ch197data[] = {
- 0x82,0x82,0x82,0x7c,0x44,0x44,0x28,0x10,0x10,0x10,0x28,0x10
-};
-static const GLUTBitmapChar ch197 = { 7, 12, -1, 0, 9, ch197data };
-
-static const unsigned char ch198data[] = {
- 0x8f,0x80,0x88,0x0,0x88,0x0,0x78,0x0,0x4f,0x80,0x48,0x0,0x28,0x0,0x28,0x0,
- 0x1f,0x80
-};
-static const GLUTBitmapChar ch198 = { 9, 9, -1, 0, 11, ch198data };
-
-static const unsigned char ch199data[] = {
- 0x30,0x8,0x8,0x3c,0x42,0x80,0x80,0x80,0x80,0x80,0x42,0x3c
-};
-static const GLUTBitmapChar ch199 = { 7, 12, -1, 3, 9, ch199data };
-
-static const unsigned char ch200data[] = {
- 0xfc,0x80,0x80,0x80,0xfc,0x80,0x80,0x80,0xfc,0x0,0x10,0x20
-};
-static const GLUTBitmapChar ch200 = { 6, 12, -1, 0, 8, ch200data };
-
-static const unsigned char ch201data[] = {
- 0xfc,0x80,0x80,0x80,0xfc,0x80,0x80,0x80,0xfc,0x0,0x10,0x8
-};
-static const GLUTBitmapChar ch201 = { 6, 12, -1, 0, 8, ch201data };
-
-static const unsigned char ch202data[] = {
- 0xfc,0x80,0x80,0x80,0xfc,0x80,0x80,0x80,0xfc,0x0,0x28,0x10
-};
-static const GLUTBitmapChar ch202 = { 6, 12, -1, 0, 8, ch202data };
-
-static const unsigned char ch203data[] = {
- 0xfc,0x80,0x80,0x80,0xfc,0x80,0x80,0x80,0xfc,0x0,0x28
-};
-static const GLUTBitmapChar ch203 = { 6, 11, -1, 0, 8, ch203data };
-
-static const unsigned char ch204data[] = {
- 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0x40,0x80
-};
-static const GLUTBitmapChar ch204 = { 2, 12, 0, 0, 3, ch204data };
-
-static const unsigned char ch205data[] = {
- 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,0x40
-};
-static const GLUTBitmapChar ch205 = { 2, 12, -1, 0, 3, ch205data };
-
-static const unsigned char ch206data[] = {
- 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0,0x40
-};
-static const GLUTBitmapChar ch206 = { 3, 12, 0, 0, 3, ch206data };
-
-static const unsigned char ch207data[] = {
- 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0
-};
-static const GLUTBitmapChar ch207 = { 3, 11, 0, 0, 3, ch207data };
-
-static const unsigned char ch208data[] = {
- 0x7c,0x42,0x41,0x41,0xf1,0x41,0x41,0x42,0x7c
-};
-static const GLUTBitmapChar ch208 = { 8, 9, 0, 0, 9, ch208data };
-
-static const unsigned char ch209data[] = {
- 0x82,0x86,0x8a,0x8a,0x92,0xa2,0xa2,0xc2,0x82,0x0,0x28,0x14
-};
-static const GLUTBitmapChar ch209 = { 7, 12, -1, 0, 9, ch209data };
-
-static const unsigned char ch210data[] = {
- 0x3c,0x42,0x81,0x81,0x81,0x81,0x81,0x42,0x3c,0x0,0x8,0x10
-};
-static const GLUTBitmapChar ch210 = { 8, 12, -1, 0, 10, ch210data };
-
-static const unsigned char ch211data[] = {
- 0x3c,0x42,0x81,0x81,0x81,0x81,0x81,0x42,0x3c,0x0,0x8,0x4
-};
-static const GLUTBitmapChar ch211 = { 8, 12, -1, 0, 10, ch211data };
-
-static const unsigned char ch212data[] = {
- 0x3c,0x42,0x81,0x81,0x81,0x81,0x81,0x42,0x3c,0x0,0x14,0x8
-};
-static const GLUTBitmapChar ch212 = { 8, 12, -1, 0, 10, ch212data };
-
-static const unsigned char ch213data[] = {
- 0x3c,0x42,0x81,0x81,0x81,0x81,0x81,0x42,0x3c,0x0,0x28,0x14
-};
-static const GLUTBitmapChar ch213 = { 8, 12, -1, 0, 10, ch213data };
-
-static const unsigned char ch214data[] = {
- 0x3c,0x42,0x81,0x81,0x81,0x81,0x81,0x42,0x3c,0x0,0x24
-};
-static const GLUTBitmapChar ch214 = { 8, 11, -1, 0, 10, ch214data };
-
-static const unsigned char ch215data[] = {
- 0x88,0x50,0x20,0x50,0x88
-};
-static const GLUTBitmapChar ch215 = { 5, 5, -1, -1, 7, ch215data };
-
-static const unsigned char ch216data[] = {
- 0x80,0x0,0x5e,0x0,0x21,0x0,0x50,0x80,0x48,0x80,0x44,0x80,0x44,0x80,0x42,0x80,
- 0x21,0x0,0x1e,0x80,0x0,0x40
-};
-static const GLUTBitmapChar ch216 = { 10, 11, 0, 1, 10, ch216data };
-
-static const unsigned char ch217data[] = {
- 0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x10,0x20
-};
-static const GLUTBitmapChar ch217 = { 6, 12, -1, 0, 8, ch217data };
-
-static const unsigned char ch218data[] = {
- 0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x10,0x8
-};
-static const GLUTBitmapChar ch218 = { 6, 12, -1, 0, 8, ch218data };
-
-static const unsigned char ch219data[] = {
- 0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x28,0x10
-};
-static const GLUTBitmapChar ch219 = { 6, 12, -1, 0, 8, ch219data };
-
-static const unsigned char ch220data[] = {
- 0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x48
-};
-static const GLUTBitmapChar ch220 = { 6, 11, -1, 0, 8, ch220data };
-
-static const unsigned char ch221data[] = {
- 0x10,0x10,0x10,0x10,0x28,0x44,0x44,0x82,0x82,0x0,0x10,0x8
-};
-static const GLUTBitmapChar ch221 = { 7, 12, -1, 0, 9, ch221data };
-
-static const unsigned char ch222data[] = {
- 0x80,0x80,0xf8,0x84,0x84,0x84,0xf8,0x80,0x80
-};
-static const GLUTBitmapChar ch222 = { 6, 9, -1, 0, 8, ch222data };
-
-static const unsigned char ch223data[] = {
- 0xb0,0x88,0x88,0x88,0xb0,0x88,0x88,0x88,0x70
-};
-static const GLUTBitmapChar ch223 = { 5, 9, -1, 0, 7, ch223data };
-
-static const unsigned char ch224data[] = {
- 0x74,0x88,0x88,0x78,0x8,0x88,0x70,0x0,0x10,0x20
-};
-static const GLUTBitmapChar ch224 = { 6, 10, -1, 0, 7, ch224data };
-
-static const unsigned char ch225data[] = {
- 0x74,0x88,0x88,0x78,0x8,0x88,0x70,0x0,0x20,0x10
-};
-static const GLUTBitmapChar ch225 = { 6, 10, -1, 0, 7, ch225data };
-
-static const unsigned char ch226data[] = {
- 0x74,0x88,0x88,0x78,0x8,0x88,0x70,0x0,0x50,0x20
-};
-static const GLUTBitmapChar ch226 = { 6, 10, -1, 0, 7, ch226data };
-
-static const unsigned char ch227data[] = {
- 0x74,0x88,0x88,0x78,0x8,0x88,0x70,0x0,0x50,0x28
-};
-static const GLUTBitmapChar ch227 = { 6, 10, -1, 0, 7, ch227data };
-
-static const unsigned char ch228data[] = {
- 0x74,0x88,0x88,0x78,0x8,0x88,0x70,0x0,0x50
-};
-static const GLUTBitmapChar ch228 = { 6, 9, -1, 0, 7, ch228data };
-
-static const unsigned char ch229data[] = {
- 0x74,0x88,0x88,0x78,0x8,0x88,0x70,0x30,0x48,0x30
-};
-static const GLUTBitmapChar ch229 = { 6, 10, -1, 0, 7, ch229data };
-
-static const unsigned char ch230data[] = {
- 0x77,0x0,0x88,0x80,0x88,0x0,0x7f,0x80,0x8,0x80,0x88,0x80,0x77,0x0
-};
-static const GLUTBitmapChar ch230 = { 9, 7, -1, 0, 11, ch230data };
-
-static const unsigned char ch231data[] = {
- 0x60,0x10,0x20,0x70,0x88,0x80,0x80,0x80,0x88,0x70
-};
-static const GLUTBitmapChar ch231 = { 5, 10, -1, 3, 7, ch231data };
-
-static const unsigned char ch232data[] = {
- 0x70,0x88,0x80,0xf8,0x88,0x88,0x70,0x0,0x20,0x40
-};
-static const GLUTBitmapChar ch232 = { 5, 10, -1, 0, 7, ch232data };
-
-static const unsigned char ch233data[] = {
- 0x70,0x88,0x80,0xf8,0x88,0x88,0x70,0x0,0x20,0x10
-};
-static const GLUTBitmapChar ch233 = { 5, 10, -1, 0, 7, ch233data };
-
-static const unsigned char ch234data[] = {
- 0x70,0x88,0x80,0xf8,0x88,0x88,0x70,0x0,0x50,0x20
-};
-static const GLUTBitmapChar ch234 = { 5, 10, -1, 0, 7, ch234data };
-
-static const unsigned char ch235data[] = {
- 0x70,0x88,0x80,0xf8,0x88,0x88,0x70,0x0,0x50
-};
-static const GLUTBitmapChar ch235 = { 5, 9, -1, 0, 7, ch235data };
-
-static const unsigned char ch236data[] = {
- 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0x40,0x80
-};
-static const GLUTBitmapChar ch236 = { 2, 10, 0, 0, 3, ch236data };
-
-static const unsigned char ch237data[] = {
- 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,0x40
-};
-static const GLUTBitmapChar ch237 = { 2, 10, -1, 0, 3, ch237data };
-
-static const unsigned char ch238data[] = {
- 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0,0x40
-};
-static const GLUTBitmapChar ch238 = { 3, 10, 0, 0, 3, ch238data };
-
-static const unsigned char ch239data[] = {
- 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0
-};
-static const GLUTBitmapChar ch239 = { 3, 9, 0, 0, 3, ch239data };
-
-static const unsigned char ch240data[] = {
- 0x70,0x88,0x88,0x88,0x88,0x78,0x8,0x50,0x30,0x68
-};
-static const GLUTBitmapChar ch240 = { 5, 10, -1, 0, 7, ch240data };
-
-static const unsigned char ch241data[] = {
- 0x88,0x88,0x88,0x88,0x88,0xc8,0xb0,0x0,0x50,0x28
-};
-static const GLUTBitmapChar ch241 = { 5, 10, -1, 0, 7, ch241data };
-
-static const unsigned char ch242data[] = {
- 0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x0,0x20,0x40
-};
-static const GLUTBitmapChar ch242 = { 5, 10, -1, 0, 7, ch242data };
-
-static const unsigned char ch243data[] = {
- 0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x0,0x20,0x10
-};
-static const GLUTBitmapChar ch243 = { 5, 10, -1, 0, 7, ch243data };
-
-static const unsigned char ch244data[] = {
- 0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x0,0x50,0x20
-};
-static const GLUTBitmapChar ch244 = { 5, 10, -1, 0, 7, ch244data };
-
-static const unsigned char ch245data[] = {
- 0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x0,0x50,0x28
-};
-static const GLUTBitmapChar ch245 = { 5, 10, -1, 0, 7, ch245data };
-
-static const unsigned char ch246data[] = {
- 0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x0,0x50
-};
-static const GLUTBitmapChar ch246 = { 5, 9, -1, 0, 7, ch246data };
-
-static const unsigned char ch247data[] = {
- 0x20,0x0,0xf8,0x0,0x20
-};
-static const GLUTBitmapChar ch247 = { 5, 5, -1, -1, 7, ch247data };
-
-static const unsigned char ch248data[] = {
- 0xb8,0x44,0x64,0x54,0x4c,0x44,0x3a
-};
-static const GLUTBitmapChar ch248 = { 7, 7, 0, 0, 7, ch248data };
-
-static const unsigned char ch249data[] = {
- 0x68,0x98,0x88,0x88,0x88,0x88,0x88,0x0,0x20,0x40
-};
-static const GLUTBitmapChar ch249 = { 5, 10, -1, 0, 7, ch249data };
-
-static const unsigned char ch250data[] = {
- 0x68,0x98,0x88,0x88,0x88,0x88,0x88,0x0,0x20,0x10
-};
-static const GLUTBitmapChar ch250 = { 5, 10, -1, 0, 7, ch250data };
-
-static const unsigned char ch251data[] = {
- 0x68,0x98,0x88,0x88,0x88,0x88,0x88,0x0,0x50,0x20
-};
-static const GLUTBitmapChar ch251 = { 5, 10, -1, 0, 7, ch251data };
-
-static const unsigned char ch252data[] = {
- 0x68,0x98,0x88,0x88,0x88,0x88,0x88,0x0,0x50
-};
-static const GLUTBitmapChar ch252 = { 5, 9, -1, 0, 7, ch252data };
-
-static const unsigned char ch253data[] = {
- 0x80,0x40,0x20,0x20,0x50,0x50,0x90,0x88,0x88,0x88,0x0,0x20,0x10
-};
-static const GLUTBitmapChar ch253 = { 5, 13, -1, 3, 7, ch253data };
-
-static const unsigned char ch254data[] = {
- 0x80,0x80,0x80,0xb0,0xc8,0x88,0x88,0x88,0xc8,0xb0,0x80,0x80
-};
-static const GLUTBitmapChar ch254 = { 5, 12, -1, 3, 7, ch254data };
-
-static const unsigned char ch255data[] = {
- 0xc0,0x20,0x20,0x20,0x30,0x50,0x50,0x48,0x88,0x88,0x0,0x50
-};
-static const GLUTBitmapChar ch255 = { 5, 12, -1, 3, 7, ch255data };
-
-
-static const GLUTBitmapChar *chars[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- &ch32, &ch33, &ch34, &ch35, &ch36, &ch37, &ch38, &ch39,
- &ch40, &ch41, &ch42, &ch43, &ch44, &ch45, &ch46, &ch47,
- &ch48, &ch49, &ch50, &ch51, &ch52, &ch53, &ch54, &ch55,
- &ch56, &ch57, &ch58, &ch59, &ch60, &ch61, &ch62, &ch63,
- &ch64, &ch65, &ch66, &ch67, &ch68, &ch69, &ch70, &ch71,
- &ch72, &ch73, &ch74, &ch75, &ch76, &ch77, &ch78, &ch79,
- &ch80, &ch81, &ch82, &ch83, &ch84, &ch85, &ch86, &ch87,
- &ch88, &ch89, &ch90, &ch91, &ch92, &ch93, &ch94, &ch95,
- &ch96, &ch97, &ch98, &ch99, &ch100, &ch101, &ch102, &ch103,
- &ch104, &ch105, &ch106, &ch107, &ch108, &ch109, &ch110, &ch111,
- &ch112, &ch113, &ch114, &ch115, &ch116, &ch117, &ch118, &ch119,
- &ch120, &ch121, &ch122, &ch123, &ch124, &ch125, &ch126, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- &ch160, &ch161, &ch162, &ch163, &ch164, &ch165, &ch166, &ch167,
- &ch168, &ch169, &ch170, &ch171, &ch172, &ch173, &ch174, &ch175,
- &ch176, &ch177, &ch178, &ch179, &ch180, &ch181, &ch182, &ch183,
- &ch184, &ch185, &ch186, &ch187, &ch188, &ch189, &ch190, &ch191,
- &ch192, &ch193, &ch194, &ch195, &ch196, &ch197, &ch198, &ch199,
- &ch200, &ch201, &ch202, &ch203, &ch204, &ch205, &ch206, &ch207,
- &ch208, &ch209, &ch210, &ch211, &ch212, &ch213, &ch214, &ch215,
- &ch216, &ch217, &ch218, &ch219, &ch220, &ch221, &ch222, &ch223,
- &ch224, &ch225, &ch226, &ch227, &ch228, &ch229, &ch230, &ch231,
- &ch232, &ch233, &ch234, &ch235, &ch236, &ch237, &ch238, &ch239,
- &ch240, &ch241, &ch242, &ch243, &ch244, &ch245, &ch246, &ch247,
- &ch248, &ch249, &ch250, &ch251, &ch252, &ch253, &ch254, &ch255
-};
-
-const GLUTBitmapFont glutBitmapHelvetica12 = {
- "-Adobe-Helvetica-Medium-R-Normal--12-120-75-75-P-67-ISO8859-1",
- 15, 256, chars
-};
diff --git a/src/glut/dos/hel18.c b/src/glut/dos/hel18.c
deleted file mode 100644
index f4d4340e3e..0000000000
--- a/src/glut/dos/hel18.c
+++ /dev/null
@@ -1,1138 +0,0 @@
-/* autogenerated by bdf2c! do not edit */
-
-/* "Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved." */
-
-
-#include "internal.h"
-/*
-typedef struct {
- int width, height;
- int xorig, yorig;
- int xmove;
- const unsigned char *bitmap;
-} GLUTBitmapChar;
-
-typedef struct {
- const char *name;
- int height;
- int num;
- const GLUTBitmapChar *const *table;
-} GLUTBitmapFont;
-*/
-
-
-static const unsigned char ch32data[] = {
- 0x0
-};
-static const GLUTBitmapChar ch32 = { 1, 1, 0, 0, 5, ch32data };
-
-static const unsigned char ch33data[] = {
- 0xc0,0xc0,0x0,0x0,0x80,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0
-};
-static const GLUTBitmapChar ch33 = { 2, 14, -2, 0, 6, ch33data };
-
-static const unsigned char ch34data[] = {
- 0x90,0x90,0xd8,0xd8,0xd8
-};
-static const GLUTBitmapChar ch34 = { 5, 5, 0, -9, 5, ch34data };
-
-static const unsigned char ch35data[] = {
- 0x24,0x0,0x24,0x0,0x24,0x0,0xff,0x80,0xff,0x80,0x12,0x0,0x12,0x0,0x12,0x0,
- 0x7f,0xc0,0x7f,0xc0,0x9,0x0,0x9,0x0,0x9,0x0
-};
-static const GLUTBitmapChar ch35 = { 10, 13, 0, 0, 10, ch35data };
-
-static const unsigned char ch36data[] = {
- 0x8,0x0,0x8,0x0,0x3e,0x0,0x7f,0x0,0xeb,0x80,0xc9,0x80,0x9,0x80,0xf,0x0,
- 0x3e,0x0,0x78,0x0,0xe8,0x0,0xc8,0x0,0xcb,0x0,0x7f,0x0,0x3e,0x0,0x8,0x0
-};
-static const GLUTBitmapChar ch36 = { 9, 16, -1, 2, 10, ch36data };
-
-static const unsigned char ch37data[] = {
- 0x18,0x78,0x18,0xfc,0xc,0xcc,0xc,0xcc,0x6,0xfc,0x6,0x78,0x3,0x0,0x7b,0x0,
- 0xfd,0x80,0xcd,0x80,0xcc,0xc0,0xfc,0xc0,0x78,0x60
-};
-static const GLUTBitmapChar ch37 = { 14, 13, -1, 0, 16, ch37data };
-
-static const unsigned char ch38data[] = {
- 0x3c,0x70,0x7e,0xe0,0xe7,0xc0,0xc3,0x80,0xc3,0xc0,0xc6,0xc0,0xee,0xc0,0x7c,0x0,
- 0x3c,0x0,0x66,0x0,0x66,0x0,0x7e,0x0,0x3c,0x0
-};
-static const GLUTBitmapChar ch38 = { 12, 13, -1, 0, 13, ch38data };
-
-static const unsigned char ch39data[] = {
- 0x80,0x40,0x40,0xc0,0xc0
-};
-static const GLUTBitmapChar ch39 = { 2, 5, -1, -9, 4, ch39data };
-
-static const unsigned char ch40data[] = {
- 0x10,0x30,0x60,0x60,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x60,0x60,
- 0x30,0x10
-};
-static const GLUTBitmapChar ch40 = { 4, 18, -1, 4, 6, ch40data };
-
-static const unsigned char ch41data[] = {
- 0x80,0xc0,0x60,0x60,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x60,0x60,
- 0xc0,0x80
-};
-static const GLUTBitmapChar ch41 = { 4, 18, -1, 4, 6, ch41data };
-
-static const unsigned char ch42data[] = {
- 0x88,0x70,0x70,0xf8,0x20,0x20
-};
-static const GLUTBitmapChar ch42 = { 5, 6, -1, -8, 7, ch42data };
-
-static const unsigned char ch43data[] = {
- 0x18,0x18,0x18,0x18,0xff,0xff,0x18,0x18,0x18,0x18
-};
-static const GLUTBitmapChar ch43 = { 8, 10, -1, 0, 10, ch43data };
-
-static const unsigned char ch44data[] = {
- 0x80,0x40,0x40,0xc0,0xc0
-};
-static const GLUTBitmapChar ch44 = { 2, 5, -1, 3, 5, ch44data };
-
-static const unsigned char ch45data[] = {
- 0xff,0xff
-};
-static const GLUTBitmapChar ch45 = { 8, 2, -1, -4, 11, ch45data };
-
-static const unsigned char ch46data[] = {
- 0xc0,0xc0
-};
-static const GLUTBitmapChar ch46 = { 2, 2, -1, 0, 5, ch46data };
-
-static const unsigned char ch47data[] = {
- 0xc0,0xc0,0x40,0x40,0x60,0x60,0x20,0x20,0x30,0x30,0x10,0x10,0x18,0x18
-};
-static const GLUTBitmapChar ch47 = { 5, 14, 0, 0, 5, ch47data };
-
-static const unsigned char ch48data[] = {
- 0x3c,0x7e,0x66,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0x66,0x7e,0x3c
-};
-static const GLUTBitmapChar ch48 = { 8, 13, -1, 0, 10, ch48data };
-
-static const unsigned char ch49data[] = {
- 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xf8,0xf8,0x18
-};
-static const GLUTBitmapChar ch49 = { 5, 13, -2, 0, 10, ch49data };
-
-static const unsigned char ch50data[] = {
- 0xff,0xff,0xc0,0xe0,0x70,0x38,0x1c,0xe,0x7,0x3,0xc3,0xfe,0x3c
-};
-static const GLUTBitmapChar ch50 = { 8, 13, -1, 0, 10, ch50data };
-
-static const unsigned char ch51data[] = {
- 0x3c,0x7e,0xc7,0xc3,0x3,0x7,0x1e,0x1c,0x6,0xc3,0xc3,0x7e,0x3c
-};
-static const GLUTBitmapChar ch51 = { 8, 13, -1, 0, 10, ch51data };
-
-static const unsigned char ch52data[] = {
- 0x3,0x0,0x3,0x0,0x3,0x0,0xff,0x80,0xff,0x80,0xc3,0x0,0x63,0x0,0x33,0x0,
- 0x33,0x0,0x1b,0x0,0xf,0x0,0x7,0x0,0x3,0x0
-};
-static const GLUTBitmapChar ch52 = { 9, 13, -1, 0, 10, ch52data };
-
-static const unsigned char ch53data[] = {
- 0x7c,0xfe,0xc7,0xc3,0x3,0x3,0xc7,0xfe,0xfc,0xc0,0xc0,0xfe,0xfe
-};
-static const GLUTBitmapChar ch53 = { 8, 13, -1, 0, 10, ch53data };
-
-static const unsigned char ch54data[] = {
- 0x3c,0x7e,0xe3,0xc3,0xc3,0xc3,0xfe,0xdc,0xc0,0xc0,0x63,0x7f,0x3c
-};
-static const GLUTBitmapChar ch54 = { 8, 13, -1, 0, 10, ch54data };
-
-static const unsigned char ch55data[] = {
- 0x60,0x60,0x30,0x30,0x30,0x18,0x18,0xc,0xc,0x6,0x3,0xff,0xff
-};
-static const GLUTBitmapChar ch55 = { 8, 13, -1, 0, 10, ch55data };
-
-static const unsigned char ch56data[] = {
- 0x3c,0x7e,0xe7,0xc3,0xc3,0x66,0x7e,0x66,0xc3,0xc3,0xe7,0x7e,0x3c
-};
-static const GLUTBitmapChar ch56 = { 8, 13, -1, 0, 10, ch56data };
-
-static const unsigned char ch57data[] = {
- 0x7c,0xfe,0xc6,0x3,0x3,0x3b,0x7f,0xc3,0xc3,0xc3,0xc7,0x7e,0x3c
-};
-static const GLUTBitmapChar ch57 = { 8, 13, -1, 0, 10, ch57data };
-
-static const unsigned char ch58data[] = {
- 0xc0,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0xc0
-};
-static const GLUTBitmapChar ch58 = { 2, 10, -1, 0, 5, ch58data };
-
-static const unsigned char ch59data[] = {
- 0x80,0x40,0x40,0xc0,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0xc0
-};
-static const GLUTBitmapChar ch59 = { 2, 13, -1, 3, 5, ch59data };
-
-static const unsigned char ch60data[] = {
- 0x3,0xf,0x3c,0x70,0xc0,0x70,0x3c,0xf,0x3
-};
-static const GLUTBitmapChar ch60 = { 8, 9, -1, 0, 10, ch60data };
-
-static const unsigned char ch61data[] = {
- 0xfe,0xfe,0x0,0x0,0xfe,0xfe
-};
-static const GLUTBitmapChar ch61 = { 7, 6, -2, -2, 11, ch61data };
-
-static const unsigned char ch62data[] = {
- 0xc0,0xf0,0x3c,0xe,0x3,0xe,0x3c,0xf0,0xc0
-};
-static const GLUTBitmapChar ch62 = { 8, 9, -1, 0, 10, ch62data };
-
-static const unsigned char ch63data[] = {
- 0x30,0x30,0x0,0x0,0x30,0x30,0x30,0x38,0x1c,0xe,0xc6,0xc6,0xfe,0x7c
-};
-static const GLUTBitmapChar ch63 = { 7, 14, -1, 0, 10, ch63data };
-
-static const unsigned char ch64data[] = {
- 0x7,0xe0,0x1f,0xf0,0x38,0x0,0x70,0x0,0x67,0x70,0xcf,0xf8,0xcc,0xcc,0xcc,0x66,
- 0xcc,0x66,0xcc,0x63,0xc6,0x33,0x67,0x73,0x63,0xb3,0x30,0x6,0x1c,0xe,0xf,0xfc,
- 0x3,0xf0
-};
-static const GLUTBitmapChar ch64 = { 16, 17, -1, 3, 18, ch64data };
-
-static const unsigned char ch65data[] = {
- 0xc0,0x30,0xc0,0x30,0x60,0x60,0x60,0x60,0x7f,0xe0,0x3f,0xc0,0x30,0xc0,0x30,0xc0,
- 0x19,0x80,0x19,0x80,0xf,0x0,0xf,0x0,0x6,0x0,0x6,0x0
-};
-static const GLUTBitmapChar ch65 = { 12, 14, 0, 0, 12, ch65data };
-
-static const unsigned char ch66data[] = {
- 0xff,0x80,0xff,0xc0,0xc0,0xe0,0xc0,0x60,0xc0,0x60,0xc0,0xe0,0xff,0xc0,0xff,0x80,
- 0xc1,0x80,0xc0,0xc0,0xc0,0xc0,0xc1,0xc0,0xff,0x80,0xff,0x0
-};
-static const GLUTBitmapChar ch66 = { 11, 14, -1, 0, 13, ch66data };
-
-static const unsigned char ch67data[] = {
- 0xf,0x80,0x3f,0xe0,0x70,0x70,0x60,0x30,0xe0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,
- 0xc0,0x0,0xe0,0x0,0x60,0x30,0x70,0x70,0x3f,0xe0,0xf,0x80
-};
-static const GLUTBitmapChar ch67 = { 12, 14, -1, 0, 14, ch67data };
-
-static const unsigned char ch68data[] = {
- 0xff,0x0,0xff,0x80,0xc1,0xc0,0xc0,0xc0,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,
- 0xc0,0x60,0xc0,0x60,0xc0,0xc0,0xc1,0xc0,0xff,0x80,0xff,0x0
-};
-static const GLUTBitmapChar ch68 = { 11, 14, -1, 0, 13, ch68data };
-
-static const unsigned char ch69data[] = {
- 0xff,0x80,0xff,0x80,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x0,0xff,0x0,
- 0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,0xff,0x80
-};
-static const GLUTBitmapChar ch69 = { 9, 14, -1, 0, 11, ch69data };
-
-static const unsigned char ch70data[] = {
- 0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x0,0xff,0x0,
- 0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,0xff,0x80
-};
-static const GLUTBitmapChar ch70 = { 9, 14, -1, 0, 11, ch70data };
-
-static const unsigned char ch71data[] = {
- 0xf,0xb0,0x3f,0xf0,0x70,0x70,0x60,0x30,0xe0,0x30,0xc1,0xf0,0xc1,0xf0,0xc0,0x0,
- 0xc0,0x0,0xe0,0x30,0x60,0x30,0x70,0x70,0x3f,0xe0,0xf,0x80
-};
-static const GLUTBitmapChar ch71 = { 12, 14, -1, 0, 14, ch71data };
-
-static const unsigned char ch72data[] = {
- 0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xff,0xe0,0xff,0xe0,
- 0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60
-};
-static const GLUTBitmapChar ch72 = { 11, 14, -1, 0, 13, ch72data };
-
-static const unsigned char ch73data[] = {
- 0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0
-};
-static const GLUTBitmapChar ch73 = { 2, 14, -2, 0, 6, ch73data };
-
-static const unsigned char ch74data[] = {
- 0x3c,0x7e,0xe7,0xc3,0xc3,0x3,0x3,0x3,0x3,0x3,0x3,0x3,0x3,0x3
-};
-static const GLUTBitmapChar ch74 = { 8, 14, -1, 0, 10, ch74data };
-
-static const unsigned char ch75data[] = {
- 0xc0,0x70,0xc0,0xe0,0xc1,0xc0,0xc3,0x80,0xc7,0x0,0xce,0x0,0xfc,0x0,0xf8,0x0,
- 0xdc,0x0,0xce,0x0,0xc7,0x0,0xc3,0x80,0xc1,0xc0,0xc0,0xe0
-};
-static const GLUTBitmapChar ch75 = { 12, 14, -1, 0, 13, ch75data };
-
-static const unsigned char ch76data[] = {
- 0xff,0xff,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0
-};
-static const GLUTBitmapChar ch76 = { 8, 14, -1, 0, 10, ch76data };
-
-static const unsigned char ch77data[] = {
- 0xc3,0xc,0xc3,0xc,0xc7,0x8c,0xc4,0x8c,0xcc,0xcc,0xcc,0xcc,0xd8,0x6c,0xd8,0x6c,
- 0xf0,0x3c,0xf0,0x3c,0xe0,0x1c,0xe0,0x1c,0xc0,0xc,0xc0,0xc
-};
-static const GLUTBitmapChar ch77 = { 14, 14, -1, 0, 16, ch77data };
-
-static const unsigned char ch78data[] = {
- 0xc0,0x60,0xc0,0xe0,0xc1,0xe0,0xc1,0xe0,0xc3,0x60,0xc6,0x60,0xc6,0x60,0xcc,0x60,
- 0xcc,0x60,0xd8,0x60,0xf0,0x60,0xf0,0x60,0xe0,0x60,0xc0,0x60
-};
-static const GLUTBitmapChar ch78 = { 11, 14, -1, 0, 13, ch78data };
-
-static const unsigned char ch79data[] = {
- 0xf,0x80,0x3f,0xe0,0x70,0x70,0x60,0x30,0xe0,0x38,0xc0,0x18,0xc0,0x18,0xc0,0x18,
- 0xc0,0x18,0xe0,0x38,0x60,0x30,0x70,0x70,0x3f,0xe0,0xf,0x80
-};
-static const GLUTBitmapChar ch79 = { 13, 14, -1, 0, 15, ch79data };
-
-static const unsigned char ch80data[] = {
- 0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x0,0xff,0x80,
- 0xc1,0xc0,0xc0,0xc0,0xc0,0xc0,0xc1,0xc0,0xff,0x80,0xff,0x0
-};
-static const GLUTBitmapChar ch80 = { 10, 14, -1, 0, 12, ch80data };
-
-static const unsigned char ch81data[] = {
- 0x0,0x30,0xf,0xb0,0x3f,0xe0,0x70,0xf0,0x61,0xb0,0xe1,0xb8,0xc0,0x18,0xc0,0x18,
- 0xc0,0x18,0xc0,0x18,0xe0,0x38,0x60,0x30,0x70,0x70,0x3f,0xe0,0xf,0x80
-};
-static const GLUTBitmapChar ch81 = { 13, 15, -1, 1, 15, ch81data };
-
-static const unsigned char ch82data[] = {
- 0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc1,0x80,0xc1,0x80,0xff,0x0,0xff,0x80,
- 0xc1,0xc0,0xc0,0xc0,0xc0,0xc0,0xc1,0xc0,0xff,0x80,0xff,0x0
-};
-static const GLUTBitmapChar ch82 = { 10, 14, -1, 0, 12, ch82data };
-
-static const unsigned char ch83data[] = {
- 0x3f,0x0,0x7f,0xc0,0xe0,0xe0,0xc0,0x60,0x0,0x60,0x0,0xe0,0x3,0xc0,0x1f,0x0,
- 0x7c,0x0,0xe0,0x0,0xc0,0x60,0xe0,0xe0,0x7f,0xc0,0x1f,0x0
-};
-static const GLUTBitmapChar ch83 = { 11, 14, -1, 0, 13, ch83data };
-
-static const unsigned char ch84data[] = {
- 0xc,0x0,0xc,0x0,0xc,0x0,0xc,0x0,0xc,0x0,0xc,0x0,0xc,0x0,0xc,0x0,
- 0xc,0x0,0xc,0x0,0xc,0x0,0xc,0x0,0xff,0xc0,0xff,0xc0
-};
-static const GLUTBitmapChar ch84 = { 10, 14, -1, 0, 12, ch84data };
-
-static const unsigned char ch85data[] = {
- 0x1f,0x0,0x7f,0xc0,0x60,0xc0,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,
- 0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60
-};
-static const GLUTBitmapChar ch85 = { 11, 14, -1, 0, 13, ch85data };
-
-static const unsigned char ch86data[] = {
- 0x6,0x0,0xf,0x0,0xf,0x0,0x19,0x80,0x19,0x80,0x19,0x80,0x30,0xc0,0x30,0xc0,
- 0x30,0xc0,0x60,0x60,0x60,0x60,0x60,0x60,0xc0,0x30,0xc0,0x30
-};
-static const GLUTBitmapChar ch86 = { 12, 14, -1, 0, 14, ch86data };
-
-static const unsigned char ch87data[] = {
- 0x18,0x18,0x18,0x18,0x1c,0x38,0x34,0x2c,0x36,0x6c,0x36,0x6c,0x66,0x66,0x66,0x66,
- 0x62,0x46,0x63,0xc6,0xc3,0xc3,0xc1,0x83,0xc1,0x83,0xc1,0x83
-};
-static const GLUTBitmapChar ch87 = { 16, 14, -1, 0, 18, ch87data };
-
-static const unsigned char ch88data[] = {
- 0xc0,0x60,0xe0,0xe0,0x60,0xc0,0x71,0xc0,0x31,0x80,0x1b,0x0,0xe,0x0,0xe,0x0,
- 0x1b,0x0,0x31,0x80,0x71,0xc0,0x60,0xc0,0xe0,0xe0,0xc0,0x60
-};
-static const GLUTBitmapChar ch88 = { 11, 14, -1, 0, 13, ch88data };
-
-static const unsigned char ch89data[] = {
- 0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0xf,0x0,0x19,0x80,
- 0x30,0xc0,0x30,0xc0,0x60,0x60,0x60,0x60,0xc0,0x30,0xc0,0x30
-};
-static const GLUTBitmapChar ch89 = { 12, 14, -1, 0, 14, ch89data };
-
-static const unsigned char ch90data[] = {
- 0xff,0xc0,0xff,0xc0,0xc0,0x0,0x60,0x0,0x30,0x0,0x18,0x0,0x1c,0x0,0xc,0x0,
- 0x6,0x0,0x3,0x0,0x1,0x80,0x0,0xc0,0xff,0xc0,0xff,0xc0
-};
-static const GLUTBitmapChar ch90 = { 10, 14, -1, 0, 12, ch90data };
-
-static const unsigned char ch91data[] = {
- 0xf0,0xf0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
- 0xf0,0xf0
-};
-static const GLUTBitmapChar ch91 = { 4, 18, -1, 4, 5, ch91data };
-
-static const unsigned char ch92data[] = {
- 0x18,0x18,0x10,0x10,0x30,0x30,0x20,0x20,0x60,0x60,0x40,0x40,0xc0,0xc0
-};
-static const GLUTBitmapChar ch92 = { 5, 14, 0, 0, 5, ch92data };
-
-static const unsigned char ch93data[] = {
- 0xf0,0xf0,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
- 0xf0,0xf0
-};
-static const GLUTBitmapChar ch93 = { 4, 18, 0, 4, 5, ch93data };
-
-static const unsigned char ch94data[] = {
- 0x82,0xc6,0x6c,0x38,0x10
-};
-static const GLUTBitmapChar ch94 = { 7, 5, -1, -8, 9, ch94data };
-
-static const unsigned char ch95data[] = {
- 0xff,0xc0,0xff,0xc0
-};
-static const GLUTBitmapChar ch95 = { 10, 2, 0, 4, 10, ch95data };
-
-static const unsigned char ch96data[] = {
- 0xc0,0xc0,0x80,0x80,0x40
-};
-static const GLUTBitmapChar ch96 = { 2, 5, -1, -9, 4, ch96data };
-
-static const unsigned char ch97data[] = {
- 0x76,0xee,0xc6,0xc6,0xe6,0x7e,0xe,0xc6,0xee,0x7c
-};
-static const GLUTBitmapChar ch97 = { 7, 10, -1, 0, 9, ch97data };
-
-static const unsigned char ch98data[] = {
- 0xde,0x0,0xff,0x0,0xe3,0x0,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xe3,0x0,
- 0xff,0x0,0xde,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0
-};
-static const GLUTBitmapChar ch98 = { 9, 14, -1, 0, 11, ch98data };
-
-static const unsigned char ch99data[] = {
- 0x3e,0x7f,0x63,0xc0,0xc0,0xc0,0xc0,0x63,0x7f,0x3e
-};
-static const GLUTBitmapChar ch99 = { 8, 10, -1, 0, 10, ch99data };
-
-static const unsigned char ch100data[] = {
- 0x3d,0x80,0x7f,0x80,0x63,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x80,
- 0x7f,0x80,0x3d,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80
-};
-static const GLUTBitmapChar ch100 = { 9, 14, -1, 0, 11, ch100data };
-
-static const unsigned char ch101data[] = {
- 0x3c,0x7f,0xe3,0xc0,0xc0,0xff,0xc3,0xc3,0x7e,0x3c
-};
-static const GLUTBitmapChar ch101 = { 8, 10, -1, 0, 10, ch101data };
-
-static const unsigned char ch102data[] = {
- 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0xfc,0xfc,0x30,0x30,0x3c,0x1c
-};
-static const GLUTBitmapChar ch102 = { 6, 14, 0, 0, 6, ch102data };
-
-static const unsigned char ch103data[] = {
- 0x1c,0x0,0x7f,0x0,0x63,0x0,0x1,0x80,0x3d,0x80,0x7f,0x80,0x63,0x80,0xc1,0x80,
- 0xc1,0x80,0xc1,0x80,0xc1,0x80,0x61,0x80,0x7f,0x80,0x3d,0x80
-};
-static const GLUTBitmapChar ch103 = { 9, 14, -1, 4, 11, ch103data };
-
-static const unsigned char ch104data[] = {
- 0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xe3,0xdf,0xce,0xc0,0xc0,0xc0,0xc0
-};
-static const GLUTBitmapChar ch104 = { 8, 14, -1, 0, 10, ch104data };
-
-static const unsigned char ch105data[] = {
- 0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x0,0x0,0xc0,0xc0
-};
-static const GLUTBitmapChar ch105 = { 2, 14, -1, 0, 4, ch105data };
-
-static const unsigned char ch106data[] = {
- 0xe0,0xf0,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x0,0x0,
- 0x30,0x30
-};
-static const GLUTBitmapChar ch106 = { 4, 18, 1, 4, 4, ch106data };
-
-static const unsigned char ch107data[] = {
- 0xc7,0xc6,0xce,0xcc,0xd8,0xf8,0xf0,0xd8,0xcc,0xc6,0xc0,0xc0,0xc0,0xc0
-};
-static const GLUTBitmapChar ch107 = { 8, 14, -1, 0, 9, ch107data };
-
-static const unsigned char ch108data[] = {
- 0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0
-};
-static const GLUTBitmapChar ch108 = { 2, 14, -1, 0, 4, ch108data };
-
-static const unsigned char ch109data[] = {
- 0xc6,0x30,0xc6,0x30,0xc6,0x30,0xc6,0x30,0xc6,0x30,0xc6,0x30,0xc6,0x30,0xe7,0x30,
- 0xde,0xf0,0xcc,0x60
-};
-static const GLUTBitmapChar ch109 = { 12, 10, -1, 0, 14, ch109data };
-
-static const unsigned char ch110data[] = {
- 0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xe3,0xdf,0xce
-};
-static const GLUTBitmapChar ch110 = { 8, 10, -1, 0, 10, ch110data };
-
-static const unsigned char ch111data[] = {
- 0x3e,0x0,0x7f,0x0,0x63,0x0,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x0,
- 0x7f,0x0,0x3e,0x0
-};
-static const GLUTBitmapChar ch111 = { 9, 10, -1, 0, 11, ch111data };
-
-static const unsigned char ch112data[] = {
- 0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xde,0x0,0xff,0x0,0xe3,0x0,0xc1,0x80,
- 0xc1,0x80,0xc1,0x80,0xc1,0x80,0xe3,0x0,0xff,0x0,0xde,0x0
-};
-static const GLUTBitmapChar ch112 = { 9, 14, -1, 4, 11, ch112data };
-
-static const unsigned char ch113data[] = {
- 0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x3d,0x80,0x7f,0x80,0x63,0x80,0xc1,0x80,
- 0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x80,0x7f,0x80,0x3d,0x80
-};
-static const GLUTBitmapChar ch113 = { 9, 14, -1, 4, 11, ch113data };
-
-static const unsigned char ch114data[] = {
- 0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xe0,0xd8,0xd8
-};
-static const GLUTBitmapChar ch114 = { 5, 10, -1, 0, 6, ch114data };
-
-static const unsigned char ch115data[] = {
- 0x78,0xfc,0xc6,0x6,0x3e,0xfc,0xc0,0xc6,0x7e,0x3c
-};
-static const GLUTBitmapChar ch115 = { 7, 10, -1, 0, 9, ch115data };
-
-static const unsigned char ch116data[] = {
- 0x18,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0xfc,0xfc,0x30,0x30,0x30
-};
-static const GLUTBitmapChar ch116 = { 6, 13, 0, 0, 6, ch116data };
-
-static const unsigned char ch117data[] = {
- 0x73,0xfb,0xc7,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3
-};
-static const GLUTBitmapChar ch117 = { 8, 10, -1, 0, 10, ch117data };
-
-static const unsigned char ch118data[] = {
- 0x18,0x18,0x3c,0x24,0x66,0x66,0x66,0xc3,0xc3,0xc3
-};
-static const GLUTBitmapChar ch118 = { 8, 10, -1, 0, 10, ch118data };
-
-static const unsigned char ch119data[] = {
- 0x19,0x80,0x19,0x80,0x39,0xc0,0x29,0x40,0x69,0x60,0x66,0x60,0x66,0x60,0xc6,0x30,
- 0xc6,0x30,0xc6,0x30
-};
-static const GLUTBitmapChar ch119 = { 12, 10, -1, 0, 14, ch119data };
-
-static const unsigned char ch120data[] = {
- 0xc3,0xe7,0x66,0x3c,0x18,0x18,0x3c,0x66,0xe7,0xc3
-};
-static const GLUTBitmapChar ch120 = { 8, 10, -1, 0, 10, ch120data };
-
-static const unsigned char ch121data[] = {
- 0x70,0x70,0x18,0x18,0x18,0x18,0x3c,0x24,0x66,0x66,0x66,0xc3,0xc3,0xc3
-};
-static const GLUTBitmapChar ch121 = { 8, 14, -1, 4, 10, ch121data };
-
-static const unsigned char ch122data[] = {
- 0xfe,0xfe,0xc0,0x60,0x30,0x18,0xc,0x6,0xfe,0xfe
-};
-static const GLUTBitmapChar ch122 = { 7, 10, -1, 0, 9, ch122data };
-
-static const unsigned char ch123data[] = {
- 0xc,0x18,0x30,0x30,0x30,0x30,0x30,0x30,0x60,0xc0,0x60,0x30,0x30,0x30,0x30,0x30,
- 0x18,0xc
-};
-static const GLUTBitmapChar ch123 = { 6, 18, 0, 4, 6, ch123data };
-
-static const unsigned char ch124data[] = {
- 0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
- 0xc0,0xc0
-};
-static const GLUTBitmapChar ch124 = { 2, 18, -1, 4, 4, ch124data };
-
-static const unsigned char ch125data[] = {
- 0xc0,0x60,0x30,0x30,0x30,0x30,0x30,0x30,0x18,0xc,0x18,0x30,0x30,0x30,0x30,0x30,
- 0x60,0xc0
-};
-static const GLUTBitmapChar ch125 = { 6, 18, 0, 4, 6, ch125data };
-
-static const unsigned char ch126data[] = {
- 0xcc,0x7e,0x33
-};
-static const GLUTBitmapChar ch126 = { 8, 3, -1, -4, 10, ch126data };
-
-static const unsigned char ch160data[] = {
- 0x0
-};
-static const GLUTBitmapChar ch160 = { 1, 1, 0, 0, 5, ch160data };
-
-static const unsigned char ch161data[] = {
- 0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x40,0x40,0x0,0x0,0xc0,0xc0
-};
-static const GLUTBitmapChar ch161 = { 2, 14, -2, 4, 6, ch161data };
-
-static const unsigned char ch162data[] = {
- 0x10,0x10,0x3e,0x7f,0x6b,0xc8,0xc8,0xc8,0xc8,0x6b,0x7f,0x3e,0x4,0x4
-};
-static const GLUTBitmapChar ch162 = { 8, 14, -1, 2, 10, ch162data };
-
-static const unsigned char ch163data[] = {
- 0xdf,0x0,0xff,0x80,0x60,0x80,0x30,0x0,0x18,0x0,0x18,0x0,0x7e,0x0,0x30,0x0,
- 0x60,0x0,0x61,0x80,0x61,0x80,0x3f,0x0,0x1e,0x0
-};
-static const GLUTBitmapChar ch163 = { 9, 13, 0, 0, 10, ch163data };
-
-static const unsigned char ch164data[] = {
- 0xc3,0xff,0x66,0x66,0x66,0xff,0xc3
-};
-static const GLUTBitmapChar ch164 = { 8, 7, -1, -3, 10, ch164data };
-
-static const unsigned char ch165data[] = {
- 0x18,0x18,0x18,0x18,0xff,0x18,0xff,0x3c,0x66,0x66,0x66,0xc3,0xc3
-};
-static const GLUTBitmapChar ch165 = { 8, 13, -1, 0, 10, ch165data };
-
-static const unsigned char ch166data[] = {
- 0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x0,0x0,0x0,0x0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
- 0xc0
-};
-static const GLUTBitmapChar ch166 = { 2, 17, -1, 3, 4, ch166data };
-
-static const unsigned char ch167data[] = {
- 0x3c,0x7e,0xc3,0xc3,0x7,0xe,0x3e,0x73,0xe3,0xc3,0xc7,0x6e,0x7c,0xf0,0xc3,0xc3,
- 0x7e,0x3c
-};
-static const GLUTBitmapChar ch167 = { 8, 18, -1, 4, 10, ch167data };
-
-static const unsigned char ch168data[] = {
- 0xd8,0xd8
-};
-static const GLUTBitmapChar ch168 = { 5, 2, 0, -11, 6, ch168data };
-
-static const unsigned char ch169data[] = {
- 0xf,0x80,0x30,0x60,0x40,0x10,0x47,0x10,0x88,0x88,0x90,0x8,0x90,0x8,0x90,0x8,
- 0x88,0x88,0x47,0x10,0x40,0x10,0x30,0x60,0xf,0x80
-};
-static const GLUTBitmapChar ch169 = { 13, 13, -1, 0, 15, ch169data };
-
-static const unsigned char ch170data[] = {
- 0xf8,0x0,0x68,0xd8,0x48,0x38,0xc8,0x70
-};
-static const GLUTBitmapChar ch170 = { 5, 8, -1, -6, 7, ch170data };
-
-static const unsigned char ch171data[] = {
- 0x12,0x36,0x6c,0xd8,0xd8,0x6c,0x36,0x12
-};
-static const GLUTBitmapChar ch171 = { 7, 8, -1, -1, 9, ch171data };
-
-static const unsigned char ch172data[] = {
- 0x1,0x80,0x1,0x80,0x1,0x80,0xff,0x80,0xff,0x80
-};
-static const GLUTBitmapChar ch172 = { 9, 5, -1, -3, 11, ch172data };
-
-static const unsigned char ch173data[] = {
- 0xf8,0xf8
-};
-static const GLUTBitmapChar ch173 = { 5, 2, -1, -4, 7, ch173data };
-
-static const unsigned char ch174data[] = {
- 0xf,0x80,0x30,0x60,0x40,0x10,0x48,0x50,0x88,0x88,0x89,0x8,0x8f,0x88,0x88,0x48,
- 0x88,0x48,0x4f,0x90,0x40,0x10,0x30,0x60,0xf,0x80
-};
-static const GLUTBitmapChar ch174 = { 13, 13, -1, 0, 14, ch174data };
-
-static const unsigned char ch175data[] = {
- 0xf8
-};
-static const GLUTBitmapChar ch175 = { 5, 1, 0, -12, 5, ch175data };
-
-static const unsigned char ch176data[] = {
- 0x70,0xd8,0x88,0xd8,0x70
-};
-static const GLUTBitmapChar ch176 = { 5, 5, -1, -8, 7, ch176data };
-
-static const unsigned char ch177data[] = {
- 0xff,0xff,0x0,0x18,0x18,0x18,0xff,0xff,0x18,0x18,0x18
-};
-static const GLUTBitmapChar ch177 = { 8, 11, -1, 0, 10, ch177data };
-
-static const unsigned char ch178data[] = {
- 0xf8,0xf8,0x60,0x30,0x18,0x98,0xf8,0x70
-};
-static const GLUTBitmapChar ch178 = { 5, 8, 0, -5, 6, ch178data };
-
-static const unsigned char ch179data[] = {
- 0x70,0xf8,0x98,0x30,0x30,0x98,0xf8,0x70
-};
-static const GLUTBitmapChar ch179 = { 5, 8, 0, -5, 6, ch179data };
-
-static const unsigned char ch180data[] = {
- 0xc0,0x60,0x30
-};
-static const GLUTBitmapChar ch180 = { 4, 3, 0, -11, 4, ch180data };
-
-static const unsigned char ch181data[] = {
- 0xc0,0xc0,0xc0,0xc0,0xdb,0xff,0xe7,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3
-};
-static const GLUTBitmapChar ch181 = { 8, 14, -1, 4, 10, ch181data };
-
-static const unsigned char ch182data[] = {
- 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x32,0x72,0xf2,0xf2,0xf2,0xf2,
- 0x72,0x3f
-};
-static const GLUTBitmapChar ch182 = { 8, 18, -1, 4, 10, ch182data };
-
-static const unsigned char ch183data[] = {
- 0xc0,0xc0
-};
-static const GLUTBitmapChar ch183 = { 2, 2, -1, -4, 4, ch183data };
-
-static const unsigned char ch184data[] = {
- 0xf0,0xd8,0x18,0x70,0x60
-};
-static const GLUTBitmapChar ch184 = { 5, 5, 0, 4, 5, ch184data };
-
-static const unsigned char ch185data[] = {
- 0x60,0x60,0x60,0x60,0x60,0xe0,0xe0,0x60
-};
-static const GLUTBitmapChar ch185 = { 3, 8, -1, -5, 6, ch185data };
-
-static const unsigned char ch186data[] = {
- 0xf8,0x0,0x70,0xd8,0x88,0x88,0xd8,0x70
-};
-static const GLUTBitmapChar ch186 = { 5, 8, -1, -6, 7, ch186data };
-
-static const unsigned char ch187data[] = {
- 0x90,0xd8,0x6c,0x36,0x36,0x6c,0xd8,0x90
-};
-static const GLUTBitmapChar ch187 = { 7, 8, -1, -1, 9, ch187data };
-
-static const unsigned char ch188data[] = {
- 0x30,0x30,0x30,0x30,0x19,0xf8,0xd,0xb0,0xc,0xf0,0x66,0x70,0x62,0x30,0x63,0x10,
- 0x61,0x80,0x61,0x80,0xe0,0xc0,0xe0,0x60,0x60,0x60
-};
-static const GLUTBitmapChar ch188 = { 13, 13, -1, 0, 15, ch188data };
-
-static const unsigned char ch189data[] = {
- 0x30,0xf8,0x30,0xf8,0x18,0x60,0xc,0x30,0xc,0x18,0x66,0x98,0x62,0xf8,0x63,0x70,
- 0x61,0x80,0x61,0x80,0xe0,0xc0,0xe0,0x60,0x60,0x60
-};
-static const GLUTBitmapChar ch189 = { 13, 13, -1, 0, 15, ch189data };
-
-static const unsigned char ch190data[] = {
- 0x18,0x18,0x18,0x18,0xc,0xfc,0x6,0xd8,0x6,0x78,0x73,0x38,0xf9,0x18,0x99,0x88,
- 0x30,0xc0,0x30,0xc0,0x98,0x60,0xf8,0x30,0x70,0x30
-};
-static const GLUTBitmapChar ch190 = { 14, 13, 0, 0, 15, ch190data };
-
-static const unsigned char ch191data[] = {
- 0x7c,0xfe,0xc6,0xc6,0xe0,0x70,0x38,0x18,0x18,0x18,0x0,0x0,0x18,0x18
-};
-static const GLUTBitmapChar ch191 = { 7, 14, -1, 4, 10, ch191data };
-
-static const unsigned char ch192data[] = {
- 0xc0,0x30,0xc0,0x30,0x60,0x60,0x60,0x60,0x7f,0xe0,0x3f,0xc0,0x30,0xc0,0x30,0xc0,
- 0x19,0x80,0x19,0x80,0xf,0x0,0xf,0x0,0x6,0x0,0x6,0x0,0x0,0x0,0x6,0x0,
- 0xc,0x0,0x18,0x0
-};
-static const GLUTBitmapChar ch192 = { 12, 18, 0, 0, 12, ch192data };
-
-static const unsigned char ch193data[] = {
- 0xc0,0x30,0xc0,0x30,0x60,0x60,0x60,0x60,0x7f,0xe0,0x3f,0xc0,0x30,0xc0,0x30,0xc0,
- 0x19,0x80,0x19,0x80,0xf,0x0,0xf,0x0,0x6,0x0,0x6,0x0,0x0,0x0,0x6,0x0,
- 0x3,0x0,0x1,0x80
-};
-static const GLUTBitmapChar ch193 = { 12, 18, 0, 0, 12, ch193data };
-
-static const unsigned char ch194data[] = {
- 0xc0,0x30,0xc0,0x30,0x60,0x60,0x60,0x60,0x7f,0xe0,0x3f,0xc0,0x30,0xc0,0x30,0xc0,
- 0x19,0x80,0x19,0x80,0xf,0x0,0xf,0x0,0x6,0x0,0x6,0x0,0x0,0x0,0x19,0x80,
- 0xf,0x0,0x6,0x0
-};
-static const GLUTBitmapChar ch194 = { 12, 18, 0, 0, 12, ch194data };
-
-static const unsigned char ch195data[] = {
- 0xc0,0x30,0xc0,0x30,0x60,0x60,0x60,0x60,0x7f,0xe0,0x3f,0xc0,0x30,0xc0,0x30,0xc0,
- 0x19,0x80,0x19,0x80,0xf,0x0,0xf,0x0,0x6,0x0,0x6,0x0,0x0,0x0,0x13,0x0,
- 0x16,0x80,0xc,0x80
-};
-static const GLUTBitmapChar ch195 = { 12, 18, 0, 0, 12, ch195data };
-
-static const unsigned char ch196data[] = {
- 0xc0,0x30,0xc0,0x30,0x60,0x60,0x60,0x60,0x7f,0xe0,0x3f,0xc0,0x30,0xc0,0x30,0xc0,
- 0x19,0x80,0x19,0x80,0xf,0x0,0xf,0x0,0x6,0x0,0x6,0x0,0x0,0x0,0x19,0x80,
- 0x19,0x80
-};
-static const GLUTBitmapChar ch196 = { 12, 17, 0, 0, 12, ch196data };
-
-static const unsigned char ch197data[] = {
- 0xc0,0x30,0xc0,0x30,0x60,0x60,0x60,0x60,0x7f,0xe0,0x3f,0xc0,0x30,0xc0,0x30,0xc0,
- 0x19,0x80,0x19,0x80,0xf,0x0,0xf,0x0,0x6,0x0,0x6,0x0,0xf,0x0,0x19,0x80,
- 0x19,0x80,0xf,0x0
-};
-static const GLUTBitmapChar ch197 = { 12, 18, 0, 0, 12, ch197data };
-
-static const unsigned char ch198data[] = {
- 0xc1,0xff,0xc1,0xff,0x61,0x80,0x61,0x80,0x7f,0x80,0x3f,0x80,0x31,0xfe,0x31,0xfe,
- 0x19,0x80,0x19,0x80,0xd,0x80,0xd,0x80,0x7,0xff,0x7,0xff
-};
-static const GLUTBitmapChar ch198 = { 16, 14, -1, 0, 18, ch198data };
-
-static const unsigned char ch199data[] = {
- 0x1e,0x0,0x1b,0x0,0x3,0x0,0xe,0x0,0xf,0x80,0x3f,0xe0,0x70,0x70,0x60,0x30,
- 0xe0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xe0,0x0,0x60,0x30,0x70,0x70,
- 0x3f,0xe0,0xf,0x80
-};
-static const GLUTBitmapChar ch199 = { 12, 18, -1, 4, 14, ch199data };
-
-static const unsigned char ch200data[] = {
- 0xff,0x80,0xff,0x80,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x0,0xff,0x0,
- 0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,0xff,0x80,0x0,0x0,0xc,0x0,
- 0x18,0x0,0x30,0x0
-};
-static const GLUTBitmapChar ch200 = { 9, 18, -1, 0, 11, ch200data };
-
-static const unsigned char ch201data[] = {
- 0xff,0x80,0xff,0x80,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x0,0xff,0x0,
- 0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,0xff,0x80,0x0,0x0,0xc,0x0,
- 0x6,0x0,0x3,0x0
-};
-static const GLUTBitmapChar ch201 = { 9, 18, -1, 0, 11, ch201data };
-
-static const unsigned char ch202data[] = {
- 0xff,0x80,0xff,0x80,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x0,0xff,0x0,
- 0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,0xff,0x80,0x0,0x0,0x33,0x0,
- 0x1e,0x0,0xc,0x0
-};
-static const GLUTBitmapChar ch202 = { 9, 18, -1, 0, 11, ch202data };
-
-static const unsigned char ch203data[] = {
- 0xff,0x80,0xff,0x80,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x0,0xff,0x0,
- 0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,0xff,0x80,0x0,0x0,0x33,0x0,
- 0x33,0x0
-};
-static const GLUTBitmapChar ch203 = { 9, 17, -1, 0, 11, ch203data };
-
-static const unsigned char ch204data[] = {
- 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x0,0x30,
- 0x60,0xc0
-};
-static const GLUTBitmapChar ch204 = { 4, 18, 0, 0, 6, ch204data };
-
-static const unsigned char ch205data[] = {
- 0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x0,0xc0,
- 0x60,0x30
-};
-static const GLUTBitmapChar ch205 = { 4, 18, -2, 0, 6, ch205data };
-
-static const unsigned char ch206data[] = {
- 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x0,0xcc,
- 0x78,0x30
-};
-static const GLUTBitmapChar ch206 = { 6, 18, 0, 0, 6, ch206data };
-
-static const unsigned char ch207data[] = {
- 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x0,0xcc,
- 0xcc
-};
-static const GLUTBitmapChar ch207 = { 6, 17, 0, 0, 6, ch207data };
-
-static const unsigned char ch208data[] = {
- 0x7f,0x80,0x7f,0xc0,0x60,0xe0,0x60,0x60,0x60,0x30,0x60,0x30,0xfc,0x30,0xfc,0x30,
- 0x60,0x30,0x60,0x30,0x60,0x60,0x60,0xe0,0x7f,0xc0,0x7f,0x80
-};
-static const GLUTBitmapChar ch208 = { 12, 14, 0, 0, 13, ch208data };
-
-static const unsigned char ch209data[] = {
- 0xc0,0x60,0xc0,0xe0,0xc1,0xe0,0xc1,0xe0,0xc3,0x60,0xc6,0x60,0xc6,0x60,0xcc,0x60,
- 0xcc,0x60,0xd8,0x60,0xd8,0x60,0xf0,0x60,0xe0,0x60,0xe0,0x60,0x0,0x0,0x13,0x0,
- 0x16,0x80,0xc,0x80
-};
-static const GLUTBitmapChar ch209 = { 11, 18, -1, 0, 13, ch209data };
-
-static const unsigned char ch210data[] = {
- 0xf,0x80,0x3f,0xe0,0x70,0x70,0x60,0x30,0xe0,0x38,0xc0,0x18,0xc0,0x18,0xc0,0x18,
- 0xc0,0x18,0xe0,0x38,0x60,0x30,0x70,0x70,0x3f,0xe0,0xf,0x80,0x0,0x0,0x3,0x0,
- 0x6,0x0,0xc,0x0
-};
-static const GLUTBitmapChar ch210 = { 13, 18, -1, 0, 15, ch210data };
-
-static const unsigned char ch211data[] = {
- 0xf,0x80,0x3f,0xe0,0x70,0x70,0x60,0x30,0xe0,0x38,0xc0,0x18,0xc0,0x18,0xc0,0x18,
- 0xc0,0x18,0xe0,0x38,0x60,0x30,0x70,0x70,0x3f,0xe0,0xf,0x80,0x0,0x0,0x3,0x0,
- 0x1,0x80,0x0,0xc0
-};
-static const GLUTBitmapChar ch211 = { 13, 18, -1, 0, 15, ch211data };
-
-static const unsigned char ch212data[] = {
- 0xf,0x80,0x3f,0xe0,0x70,0x70,0x60,0x30,0xe0,0x38,0xc0,0x18,0xc0,0x18,0xc0,0x18,
- 0xc0,0x18,0xe0,0x38,0x60,0x30,0x70,0x70,0x3f,0xe0,0xf,0x80,0x0,0x0,0xc,0xc0,
- 0x7,0x80,0x3,0x0
-};
-static const GLUTBitmapChar ch212 = { 13, 18, -1, 0, 15, ch212data };
-
-static const unsigned char ch213data[] = {
- 0xf,0x80,0x3f,0xe0,0x70,0x70,0x60,0x30,0xe0,0x38,0xc0,0x18,0xc0,0x18,0xc0,0x18,
- 0xc0,0x18,0xe0,0x38,0x60,0x30,0x70,0x70,0x3f,0xe0,0xf,0x80,0x0,0x0,0x9,0x80,
- 0xb,0x40,0x6,0x40
-};
-static const GLUTBitmapChar ch213 = { 13, 18, -1, 0, 15, ch213data };
-
-static const unsigned char ch214data[] = {
- 0xf,0x80,0x3f,0xe0,0x70,0x70,0x60,0x30,0xe0,0x38,0xc0,0x18,0xc0,0x18,0xc0,0x18,
- 0xc0,0x18,0xe0,0x38,0x60,0x30,0x70,0x70,0x3f,0xe0,0xf,0x80,0x0,0x0,0xd,0x80,
- 0xd,0x80
-};
-static const GLUTBitmapChar ch214 = { 13, 17, -1, 0, 15, ch214data };
-
-static const unsigned char ch215data[] = {
- 0xc0,0xc0,0x61,0x80,0x33,0x0,0x1e,0x0,0xc,0x0,0x1e,0x0,0x33,0x0,0x61,0x80,
- 0xc0,0xc0
-};
-static const GLUTBitmapChar ch215 = { 10, 9, 0, 0, 10, ch215data };
-
-static const unsigned char ch216data[] = {
- 0xc7,0xc0,0xff,0xf0,0x78,0x38,0x38,0x18,0x6c,0x1c,0x6e,0xc,0x67,0xc,0x63,0x8c,
- 0x61,0xcc,0x70,0xdc,0x30,0x78,0x38,0x38,0x1f,0xfc,0x7,0xcc
-};
-static const GLUTBitmapChar ch216 = { 14, 14, 0, 0, 15, ch216data };
-
-static const unsigned char ch217data[] = {
- 0x1f,0x0,0x7f,0xc0,0x60,0xc0,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,
- 0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0x0,0x0,0x6,0x0,
- 0xc,0x0,0x18,0x0
-};
-static const GLUTBitmapChar ch217 = { 11, 18, -1, 0, 13, ch217data };
-
-static const unsigned char ch218data[] = {
- 0x1f,0x0,0x7f,0xc0,0x60,0xc0,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,
- 0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0x0,0x0,0xc,0x0,
- 0x6,0x0,0x3,0x0
-};
-static const GLUTBitmapChar ch218 = { 11, 18, -1, 0, 13, ch218data };
-
-static const unsigned char ch219data[] = {
- 0x1f,0x0,0x7f,0xc0,0x60,0xc0,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,
- 0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0x0,0x0,0x19,0x80,
- 0xf,0x0,0x6,0x0
-};
-static const GLUTBitmapChar ch219 = { 11, 18, -1, 0, 13, ch219data };
-
-static const unsigned char ch220data[] = {
- 0x1f,0x0,0x7f,0xc0,0x60,0xc0,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,
- 0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0x0,0x0,0x19,0x80,
- 0x19,0x80
-};
-static const GLUTBitmapChar ch220 = { 11, 17, -1, 0, 13, ch220data };
-
-static const unsigned char ch221data[] = {
- 0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0xf,0x0,0x19,0x80,
- 0x30,0xc0,0x30,0xc0,0x60,0x60,0x60,0x60,0xc0,0x30,0xc0,0x30,0x0,0x0,0x6,0x0,
- 0x3,0x0,0x1,0x80
-};
-static const GLUTBitmapChar ch221 = { 12, 18, -1, 0, 14, ch221data };
-
-static const unsigned char ch222data[] = {
- 0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x0,0xff,0x80,0xc1,0xc0,0xc0,0xc0,0xc0,0xc0,
- 0xc1,0xc0,0xff,0x80,0xff,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0
-};
-static const GLUTBitmapChar ch222 = { 10, 14, -1, 0, 12, ch222data };
-
-static const unsigned char ch223data[] = {
- 0xdc,0xde,0xc6,0xc6,0xc6,0xc6,0xdc,0xdc,0xc6,0xc6,0xc6,0xc6,0x7c,0x38
-};
-static const GLUTBitmapChar ch223 = { 7, 14, -1, 0, 9, ch223data };
-
-static const unsigned char ch224data[] = {
- 0x76,0xee,0xc6,0xc6,0xe6,0x7e,0xe,0xc6,0xee,0x7c,0x0,0x18,0x30,0x60
-};
-static const GLUTBitmapChar ch224 = { 7, 14, -1, 0, 9, ch224data };
-
-static const unsigned char ch225data[] = {
- 0x76,0xee,0xc6,0xc6,0xe6,0x7e,0xe,0xc6,0xee,0x7c,0x0,0x30,0x18,0xc
-};
-static const GLUTBitmapChar ch225 = { 7, 14, -1, 0, 9, ch225data };
-
-static const unsigned char ch226data[] = {
- 0x76,0xee,0xc6,0xc6,0xe6,0x7e,0xe,0xc6,0xee,0x7c,0x0,0x66,0x3c,0x18
-};
-static const GLUTBitmapChar ch226 = { 7, 14, -1, 0, 9, ch226data };
-
-static const unsigned char ch227data[] = {
- 0x76,0xee,0xc6,0xc6,0xe6,0x7e,0xe,0xc6,0xee,0x7c,0x0,0x4c,0x5a,0x32
-};
-static const GLUTBitmapChar ch227 = { 7, 14, -1, 0, 9, ch227data };
-
-static const unsigned char ch228data[] = {
- 0x76,0xee,0xc6,0xc6,0xe6,0x7e,0xe,0xc6,0xee,0x7c,0x0,0x6c,0x6c
-};
-static const GLUTBitmapChar ch228 = { 7, 13, -1, 0, 9, ch228data };
-
-static const unsigned char ch229data[] = {
- 0x76,0xee,0xc6,0xc6,0xe6,0x7e,0xe,0xc6,0xee,0x7c,0x38,0x6c,0x6c,0x38
-};
-static const GLUTBitmapChar ch229 = { 7, 14, -1, 0, 9, ch229data };
-
-static const unsigned char ch230data[] = {
- 0x75,0xe0,0xef,0xf8,0xc7,0x18,0xc6,0x0,0xe6,0x0,0x7f,0xf8,0xe,0x18,0xc6,0x18,
- 0xef,0xf0,0x7d,0xe0
-};
-static const GLUTBitmapChar ch230 = { 13, 10, -1, 0, 15, ch230data };
-
-static const unsigned char ch231data[] = {
- 0x78,0x6c,0xc,0x38,0x3e,0x7f,0x63,0xc0,0xc0,0xc0,0xc0,0x63,0x7f,0x3e
-};
-static const GLUTBitmapChar ch231 = { 8, 14, -1, 4, 10, ch231data };
-
-static const unsigned char ch232data[] = {
- 0x3c,0x7f,0xe3,0xc0,0xc0,0xff,0xc3,0xc3,0x7e,0x3c,0x0,0x18,0x30,0x60
-};
-static const GLUTBitmapChar ch232 = { 8, 14, -1, 0, 10, ch232data };
-
-static const unsigned char ch233data[] = {
- 0x3c,0x7f,0xe3,0xc0,0xc0,0xff,0xc3,0xc3,0x7e,0x3c,0x0,0x18,0xc,0x6
-};
-static const GLUTBitmapChar ch233 = { 8, 14, -1, 0, 10, ch233data };
-
-static const unsigned char ch234data[] = {
- 0x3c,0x7f,0xe3,0xc0,0xc0,0xff,0xc3,0xc3,0x7e,0x3c,0x0,0x66,0x3c,0x18
-};
-static const GLUTBitmapChar ch234 = { 8, 14, -1, 0, 10, ch234data };
-
-static const unsigned char ch235data[] = {
- 0x3c,0x7f,0xe3,0xc0,0xc0,0xff,0xc3,0xc3,0x7e,0x3c,0x0,0x36,0x36
-};
-static const GLUTBitmapChar ch235 = { 8, 13, -1, 0, 10, ch235data };
-
-static const unsigned char ch236data[] = {
- 0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x0,0x30,0x60,0xc0
-};
-static const GLUTBitmapChar ch236 = { 4, 14, 0, 0, 4, ch236data };
-
-static const unsigned char ch237data[] = {
- 0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x0,0xc0,0x60,0x30
-};
-static const GLUTBitmapChar ch237 = { 4, 14, 0, 0, 4, ch237data };
-
-static const unsigned char ch238data[] = {
- 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x0,0xcc,0x78,0x30
-};
-static const GLUTBitmapChar ch238 = { 6, 14, 1, 0, 4, ch238data };
-
-static const unsigned char ch239data[] = {
- 0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x0,0xd8,0xd8
-};
-static const GLUTBitmapChar ch239 = { 5, 13, 0, 0, 4, ch239data };
-
-static const unsigned char ch240data[] = {
- 0x3e,0x0,0x7f,0x0,0x63,0x0,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x0,
- 0x7f,0x0,0x3e,0x0,0x4c,0x0,0x38,0x0,0x36,0x0,0x60,0x0
-};
-static const GLUTBitmapChar ch240 = { 9, 14, -1, 0, 11, ch240data };
-
-static const unsigned char ch241data[] = {
- 0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xe3,0xdf,0xce,0x0,0x4c,0x5a,0x32
-};
-static const GLUTBitmapChar ch241 = { 8, 14, -1, 0, 10, ch241data };
-
-static const unsigned char ch242data[] = {
- 0x3e,0x0,0x7f,0x0,0x63,0x0,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x0,
- 0x7f,0x0,0x3e,0x0,0x0,0x0,0xc,0x0,0x18,0x0,0x30,0x0
-};
-static const GLUTBitmapChar ch242 = { 9, 14, -1, 0, 11, ch242data };
-
-static const unsigned char ch243data[] = {
- 0x3e,0x0,0x7f,0x0,0x63,0x0,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x0,
- 0x7f,0x0,0x3e,0x0,0x0,0x0,0x18,0x0,0xc,0x0,0x6,0x0
-};
-static const GLUTBitmapChar ch243 = { 9, 14, -1, 0, 11, ch243data };
-
-static const unsigned char ch244data[] = {
- 0x3e,0x0,0x7f,0x0,0x63,0x0,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x0,
- 0x7f,0x0,0x3e,0x0,0x0,0x0,0x33,0x0,0x1e,0x0,0xc,0x0
-};
-static const GLUTBitmapChar ch244 = { 9, 14, -1, 0, 11, ch244data };
-
-static const unsigned char ch245data[] = {
- 0x3e,0x0,0x7f,0x0,0x63,0x0,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x0,
- 0x7f,0x0,0x3e,0x0,0x0,0x0,0x26,0x0,0x2d,0x0,0x19,0x0
-};
-static const GLUTBitmapChar ch245 = { 9, 14, -1, 0, 11, ch245data };
-
-static const unsigned char ch246data[] = {
- 0x3e,0x0,0x7f,0x0,0x63,0x0,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x0,
- 0x7f,0x0,0x3e,0x0,0x0,0x0,0x36,0x0,0x36,0x0
-};
-static const GLUTBitmapChar ch246 = { 9, 13, -1, 0, 11, ch246data };
-
-static const unsigned char ch247data[] = {
- 0x18,0x18,0x0,0xff,0xff,0x0,0x18,0x18
-};
-static const GLUTBitmapChar ch247 = { 8, 8, -1, -1, 10, ch247data };
-
-static const unsigned char ch248data[] = {
- 0xce,0x0,0x7f,0x80,0x31,0x80,0x78,0xc0,0x6c,0xc0,0x66,0xc0,0x63,0xc0,0x31,0x80,
- 0x3f,0xc0,0xe,0x60
-};
-static const GLUTBitmapChar ch248 = { 11, 10, 0, 0, 11, ch248data };
-
-static const unsigned char ch249data[] = {
- 0x73,0xfb,0xc7,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0x0,0xc,0x18,0x30
-};
-static const GLUTBitmapChar ch249 = { 8, 14, -1, 0, 10, ch249data };
-
-static const unsigned char ch250data[] = {
- 0x73,0xfb,0xc7,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0x0,0x18,0xc,0x6
-};
-static const GLUTBitmapChar ch250 = { 8, 14, -1, 0, 10, ch250data };
-
-static const unsigned char ch251data[] = {
- 0x73,0xfb,0xc7,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0x0,0x66,0x3c,0x18
-};
-static const GLUTBitmapChar ch251 = { 8, 14, -1, 0, 10, ch251data };
-
-static const unsigned char ch252data[] = {
- 0x73,0xfb,0xc7,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0x0,0x66,0x66
-};
-static const GLUTBitmapChar ch252 = { 8, 13, -1, 0, 10, ch252data };
-
-static const unsigned char ch253data[] = {
- 0x70,0x70,0x18,0x18,0x18,0x18,0x3c,0x24,0x66,0x66,0x66,0xc3,0xc3,0xc3,0x0,0x18,
- 0xc,0x6
-};
-static const GLUTBitmapChar ch253 = { 8, 18, -1, 4, 10, ch253data };
-
-static const unsigned char ch254data[] = {
- 0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xde,0x0,0xff,0x0,0xe3,0x0,0xc1,0x80,
- 0xc1,0x80,0xc1,0x80,0xc1,0x80,0xe3,0x0,0xff,0x0,0xde,0x0,0xc0,0x0,0xc0,0x0,
- 0xc0,0x0,0xc0,0x0
-};
-static const GLUTBitmapChar ch254 = { 9, 18, -1, 4, 11, ch254data };
-
-static const unsigned char ch255data[] = {
- 0x70,0x70,0x18,0x18,0x18,0x18,0x3c,0x24,0x66,0x66,0x66,0xc3,0xc3,0xc3,0x0,0x66,
- 0x66
-};
-static const GLUTBitmapChar ch255 = { 8, 17, -1, 4, 10, ch255data };
-
-
-static const GLUTBitmapChar *chars[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- &ch32, &ch33, &ch34, &ch35, &ch36, &ch37, &ch38, &ch39,
- &ch40, &ch41, &ch42, &ch43, &ch44, &ch45, &ch46, &ch47,
- &ch48, &ch49, &ch50, &ch51, &ch52, &ch53, &ch54, &ch55,
- &ch56, &ch57, &ch58, &ch59, &ch60, &ch61, &ch62, &ch63,
- &ch64, &ch65, &ch66, &ch67, &ch68, &ch69, &ch70, &ch71,
- &ch72, &ch73, &ch74, &ch75, &ch76, &ch77, &ch78, &ch79,
- &ch80, &ch81, &ch82, &ch83, &ch84, &ch85, &ch86, &ch87,
- &ch88, &ch89, &ch90, &ch91, &ch92, &ch93, &ch94, &ch95,
- &ch96, &ch97, &ch98, &ch99, &ch100, &ch101, &ch102, &ch103,
- &ch104, &ch105, &ch106, &ch107, &ch108, &ch109, &ch110, &ch111,
- &ch112, &ch113, &ch114, &ch115, &ch116, &ch117, &ch118, &ch119,
- &ch120, &ch121, &ch122, &ch123, &ch124, &ch125, &ch126, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- &ch160, &ch161, &ch162, &ch163, &ch164, &ch165, &ch166, &ch167,
- &ch168, &ch169, &ch170, &ch171, &ch172, &ch173, &ch174, &ch175,
- &ch176, &ch177, &ch178, &ch179, &ch180, &ch181, &ch182, &ch183,
- &ch184, &ch185, &ch186, &ch187, &ch188, &ch189, &ch190, &ch191,
- &ch192, &ch193, &ch194, &ch195, &ch196, &ch197, &ch198, &ch199,
- &ch200, &ch201, &ch202, &ch203, &ch204, &ch205, &ch206, &ch207,
- &ch208, &ch209, &ch210, &ch211, &ch212, &ch213, &ch214, &ch215,
- &ch216, &ch217, &ch218, &ch219, &ch220, &ch221, &ch222, &ch223,
- &ch224, &ch225, &ch226, &ch227, &ch228, &ch229, &ch230, &ch231,
- &ch232, &ch233, &ch234, &ch235, &ch236, &ch237, &ch238, &ch239,
- &ch240, &ch241, &ch242, &ch243, &ch244, &ch245, &ch246, &ch247,
- &ch248, &ch249, &ch250, &ch251, &ch252, &ch253, &ch254, &ch255
-};
-
-const GLUTBitmapFont glutBitmapHelvetica18 = {
- "-Adobe-Helvetica-Medium-R-Normal--18-180-75-75-P-98-ISO8859-1",
- 22, 256, chars
-};
diff --git a/src/glut/dos/init.c b/src/glut/dos/init.c
deleted file mode 100644
index 3a98dcf0a4..0000000000
--- a/src/glut/dos/init.c
+++ /dev/null
@@ -1,223 +0,0 @@
-/*
- * DOS/DJGPP Mesa Utility Toolkit
- * Version: 1.0
- *
- * Copyright (C) 2005 Daniel Borca 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
- * DANIEL BORCA 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.
- */
-
-
-#include <stdarg.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "internal.h"
-
-
-char *__glutProgramName = NULL;
-
-GLUTvisual _glut_visual = {
- 16, 8, 16, 8, 16, /* bpp, alpha, depth, stencil, accum */
-
- { 0, 0 }, 0, /* geometry */
-
- 0 /* flags */
-};
-
-GLUTdefault _glut_default = {
- 0, 0, /* glutInitWindowPosition */
- 300, 300, /* glutInitWindowSize */
- 0 /* glutInitDisplayMode */
-};
-
-GLuint _glut_fps = 0;
-
-static char *init_string;
-
-
-void
-_glut_fatal (char *format,...)
-{
- va_list args;
-
- va_start(args, format);
- fprintf(stderr, "GLUT: Fatal Error in %s: ",
- __glutProgramName ? __glutProgramName : "(unamed)");
- vfprintf(stderr, format, args);
- va_end(args);
- putc('\n', stderr);
- exit(1);
-}
-
-
-/* strdup is actually not a standard ANSI C or POSIX routine
- * so implement a private one for GLUT.
- */
-static char *
-_glut_strdup (const char *string)
-{
- if (string != NULL) {
- int len = strlen(string) + 1;
- char *p = malloc(len);
- if (p != NULL) {
- return strcpy(p, string);
- }
- }
- return NULL;
-}
-
-
-void APIENTRY
-glutInit (int *argc, char **argv)
-{
- char *str;
- const char *env;
-
- if ((env = getenv("DMESA_GLUT_BPP")) != NULL) {
- _glut_visual.bpp = atoi(env);
- }
- if ((env = getenv("DMESA_GLUT_ALPHA")) != NULL) {
- _glut_visual.alpha = atoi(env);
- }
- if ((env = getenv("DMESA_GLUT_DEPTH")) != NULL) {
- _glut_visual.depth = atoi(env);
- }
- if ((env = getenv("DMESA_GLUT_STENCIL")) != NULL) {
- _glut_visual.stencil = atoi(env);
- }
- if ((env = getenv("DMESA_GLUT_ACCUM")) != NULL) {
- _glut_visual.accum = atoi(env);
- }
- if ((env = getenv("DMESA_GLUT_REFRESH")) != NULL) {
- _glut_visual.refresh = atoi(env);
- }
-
- /* Determine program name. */
- str = strrchr(argv[0], '/');
- if (str == NULL) {
- str = argv[0];
- } else {
- str++;
- }
- __glutProgramName = _glut_strdup(str);
-
- /* check if GLUT_FPS env var is set */
- if ((env = getenv("GLUT_FPS")) != NULL) {
- if ((_glut_fps = atoi(env)) <= 0) {
- _glut_fps = 5000; /* 5000 milliseconds */
- }
- }
-
- /* Initialize timer */
- glutGet(GLUT_ELAPSED_TIME);
-}
-
-
-void APIENTRY
-glutInitDisplayMode (unsigned int mode)
-{
- _glut_default.mode = mode;
-}
-
-
-void APIENTRY
-glutInitWindowPosition (int x, int y)
-{
- _glut_default.x = x;
- _glut_default.y = y;
-}
-
-
-void APIENTRY
-glutInitWindowSize (int width, int height)
-{
- _glut_default.width = width;
- _glut_default.height = height;
-}
-
-
-void APIENTRY
-glutInitDisplayString (const char *string)
-{
- init_string = _glut_strdup(string);
-}
-
-
-void APIENTRY
-glutSetOption (GLenum pname, int value)
-{
- switch (pname) {
- case GLUT_INIT_WINDOW_X:
- _glut_default.x = value;
- break;
- case GLUT_INIT_WINDOW_Y:
- _glut_default.y = value;
- break;
- }
-}
-
-
-void APIENTRY
-glutForceJoystickFunc (void)
-{
-}
-
-
-void APIENTRY
-glutIgnoreKeyRepeat (int ignore)
-{
-}
-
-
-void APIENTRY
-glutSetKeyRepeat (int repeatMode)
-{
-}
-
-
-void APIENTRY
-glutVideoPan (int x, int y, int w, int h)
-{
-}
-
-
-int APIENTRY
-glutVideoResizeGet( GLenum eWhat )
-{
- return 0;
-}
-
-
-void APIENTRY
-glutSetupVideoResizing (void)
-{
-}
-
-
-void APIENTRY
-glutStopVideoResizing (void)
-{
-}
-
-
-void APIENTRY
-glutVideoResize (int x, int y, int w, int h)
-{
-}
diff --git a/src/glut/dos/internal.h b/src/glut/dos/internal.h
deleted file mode 100644
index 063c2d00d9..0000000000
--- a/src/glut/dos/internal.h
+++ /dev/null
@@ -1,197 +0,0 @@
-/*
- * DOS/DJGPP Mesa Utility Toolkit
- * Version: 1.0
- *
- * Copyright (C) 2005 Daniel Borca 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
- * DANIEL BORCA 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.
- */
-
-
-#ifndef INTERNAL_H_included
-#define INTERNAL_H_included
-
-#include <GL/glut.h>
-
-#include "GL/dmesa.h"
-
-
-#define MAX_WINDOWS 2
-#define MAX_TIMER_CB 8
-#define RESERVED_COLORS 0
-
-
-/* GLUT function types */
-typedef void (GLUTCALLBACK *GLUTdisplayCB) (void);
-typedef void (GLUTCALLBACK *GLUTreshapeCB) (int, int);
-typedef void (GLUTCALLBACK *GLUTkeyboardCB) (unsigned char, int, int);
-typedef void (GLUTCALLBACK *GLUTmouseCB) (int, int, int, int);
-typedef void (GLUTCALLBACK *GLUTmotionCB) (int, int);
-typedef void (GLUTCALLBACK *GLUTpassiveCB) (int, int);
-typedef void (GLUTCALLBACK *GLUTentryCB) (int);
-typedef void (GLUTCALLBACK *GLUTvisibilityCB) (int);
-typedef void (GLUTCALLBACK *GLUTwindowStatusCB) (int);
-typedef void (GLUTCALLBACK *GLUTidleCB) (void);
-typedef void (GLUTCALLBACK *GLUTtimerCB) (int);
-typedef void (GLUTCALLBACK *GLUTmenuStateCB) (int); /* DEPRECATED. */
-typedef void (GLUTCALLBACK *GLUTmenuStatusCB) (int, int, int);
-typedef void (GLUTCALLBACK *GLUTselectCB) (int);
-typedef void (GLUTCALLBACK *GLUTspecialCB) (int, int, int);
-typedef void (GLUTCALLBACK *GLUTspaceMotionCB) (int, int, int);
-typedef void (GLUTCALLBACK *GLUTspaceRotateCB) (int, int, int);
-typedef void (GLUTCALLBACK *GLUTspaceButtonCB) (int, int);
-typedef void (GLUTCALLBACK *GLUTdialsCB) (int, int);
-typedef void (GLUTCALLBACK *GLUTbuttonBoxCB) (int, int);
-typedef void (GLUTCALLBACK *GLUTtabletMotionCB) (int, int);
-typedef void (GLUTCALLBACK *GLUTtabletButtonCB) (int, int, int, int);
-typedef void (GLUTCALLBACK *GLUTjoystickCB) (unsigned int, int, int, int);
-
-typedef void (GLUTCALLBACK *GLUTdestroyCB) (void);
-typedef void (GLUTCALLBACK *GLUTmouseWheelCB) (int, int, int, int);
-typedef void (GLUTCALLBACK *GLUTmenuDestroyCB) (void);
-
-
-typedef struct {
- GLuint bpp, alpha;
- GLuint depth, stencil;
- GLuint accum;
-
- GLint geometry[2];
- GLuint refresh;
-
- GLint flags;
-} GLUTvisual;
-
-typedef struct {
- GLint x, y;
- GLint width, height;
- GLuint mode;
-} GLUTdefault;
-
-typedef struct {
- void (*func) (int);
- int value;
- int time;
-} GLUTSShotCB;
-
-typedef struct GLUTwindow {
- int num; /* window id */
-
- DMesaContext context;
- DMesaBuffer buffer;
-
- int show_mouse;
- GLboolean redisplay;
-
- /* GLUT settable or visible window state. */
- int xpos;
- int ypos;
- int width; /* window width in pixels */
- int height; /* window height in pixels */
-
- /* Per-window callbacks. */
- GLUTdisplayCB display; /* redraw */
- GLUTreshapeCB reshape; /* resize (width,height) */
- GLUTmouseCB mouse; /* mouse (button,state,x,y) */
- GLUTmotionCB motion; /* motion (x,y) */
- GLUTpassiveCB passive; /* passive motion (x,y) */
- GLUTentryCB entry; /* window entry/exit (state) */
- GLUTkeyboardCB keyboard; /* keyboard (ASCII,x,y) */
- GLUTkeyboardCB keyboardUp; /* keyboard up (ASCII,x,y) */
- GLUTwindowStatusCB windowStatus; /* window status */
- GLUTvisibilityCB visibility; /* visibility */
- GLUTspecialCB special; /* special key */
- GLUTspecialCB specialUp; /* special up key */
- GLUTbuttonBoxCB buttonBox; /* button box */
- GLUTdialsCB dials; /* dials */
- GLUTspaceMotionCB spaceMotion; /* Spaceball motion */
- GLUTspaceRotateCB spaceRotate; /* Spaceball rotate */
- GLUTspaceButtonCB spaceButton; /* Spaceball button */
- GLUTtabletMotionCB tabletMotion; /* tablet motion */
- GLUTtabletButtonCB tabletButton; /* tablet button */
- GLUTjoystickCB joystick; /* joystick */
-
- GLUTdestroyCB destroy; /* destroy */
- GLUTmouseWheelCB mouseWheel; /* mouse wheel */
-
- /* specific data */
- void *data;
-} GLUTwindow;
-
-typedef struct {
- int width, height;
- int xorig, yorig;
- int xmove;
- const unsigned char *bitmap;
-} GLUTBitmapChar;
-
-typedef struct {
- const char *name;
- int height;
- int num;
- const GLUTBitmapChar *const *table;
-} GLUTBitmapFont;
-
-typedef struct {
- const GLfloat x, y;
-} GLUTStrokeVertex;
-
-typedef struct {
- const unsigned num;
- const GLUTStrokeVertex *vertex;
-} GLUTStrokeStrip;
-
-typedef struct {
- const GLfloat right;
- const unsigned num;
- const GLUTStrokeStrip *strip;
-} GLUTStrokeChar;
-
-typedef struct {
- const char *name;
- const unsigned num;
- const GLUTStrokeChar *const *table;
- const GLfloat height;
- const GLfloat descent;
-} GLUTStrokeFont;
-
-
-extern char *__glutProgramName;
-
-extern GLUTvisual _glut_visual;
-extern GLUTdefault _glut_default;
-
-extern GLuint _glut_fps;
-extern GLUTidleCB _glut_idle_func;
-extern GLUTmenuStatusCB _glut_menu_status_func;
-extern GLUTSShotCB _glut_timer_cb[];
-
-extern GLUTwindow *_glut_current, *_glut_windows[];
-
-extern int _glut_mouse; /* number of buttons, if mouse installed */
-extern int _glut_mouse_x, _glut_mouse_y; /* mouse coords, relative to current win */
-
-
-extern void _glut_mouse_init (void);
-extern void _glut_fatal(char *format,...);
-extern void *_glut_font (void *font);
-
-
-#include "pc_hw/pc_hw.h"
-
-#endif
diff --git a/src/glut/dos/loop.c b/src/glut/dos/loop.c
deleted file mode 100644
index 36c3adc3ff..0000000000
--- a/src/glut/dos/loop.c
+++ /dev/null
@@ -1,245 +0,0 @@
-/*
- * DOS/DJGPP Mesa Utility Toolkit
- * Version: 1.0
- *
- * Copyright (C) 2005 Daniel Borca 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
- * DANIEL BORCA 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.
- */
-
-
-#include <string.h>
-
-#include <GL/glut.h>
-#include "GL/dmesa.h"
-
-#include "PC_HW/pc_hw.h"
-#include "internal.h"
-
-
-static int looping = 0;
-
-
-#define DO_REDISPLAY(w, ccin, ccout) \
- do { \
- if (w->redisplay && w->display) { \
- int rv = GL_TRUE; \
- \
- idle = GL_FALSE; \
- w->redisplay = GL_FALSE; \
- \
- /* test IN condition (whether we need to `MakeCurrent') */\
- if (ccin) { \
- rv = DMesaMakeCurrent(w->context, w->buffer); \
- } \
- \
- /* do the display only if `MakeCurrent' didn't failed */ \
- if (rv) { \
- if (w->show_mouse && !(_glut_default.mode & GLUT_DOUBLE)) {\
- /* XXX scare mouse */ \
- w->display(); \
- /* XXX unscare mouse */ \
- } else { \
- w->display(); \
- } \
- \
- /* update OUT condition */ \
- ccout; \
- } \
- } \
- } while (0)
-
-
-void APIENTRY
-glutMainLoopEvent (void)
-{
- int i, n;
- GLUTwindow *w;
- GLboolean idle;
- static int old_mouse_x = 0;
- static int old_mouse_y = 0;
- static int old_mouse_b = 0;
-
- static GLboolean virgin = GL_TRUE;
- if (virgin) {
- pc_install_keyb();
- _glut_mouse_init();
-
- for (i = 0; i < MAX_WINDOWS; i++) {
- w = _glut_windows[i];
- if (w != NULL) {
- glutSetWindow(w->num);
- glutPostRedisplay();
- if (w->reshape) {
- w->reshape(w->width, w->height);
- }
- if (w->visibility) {
- w->visibility(GLUT_VISIBLE);
- }
- }
- }
- virgin = GL_FALSE;
- }
-
- idle = GL_TRUE;
-
- n = 0;
- for (i = 0; i < MAX_WINDOWS; i++) {
- w = _glut_windows[i];
- if ((w != NULL) && (w != _glut_current)) {
- /* 1) redisplay `w'
- * 2) `MakeCurrent' always
- * 3) update number of non-default windows
- */
- DO_REDISPLAY(w, GL_TRUE, n++);
- }
- }
- /* 1) redisplay `_glut_current'
- * 2) `MakeCurrent' only if we previously did non-default windows
- * 3) don't update anything
- */
- DO_REDISPLAY(_glut_current, n, n);
-
- if (_glut_mouse) {
- int mouse_x;
- int mouse_y;
- int mouse_z;
- int mouse_b;
-
- /* query mouse */
- mouse_b = pc_query_mouse(&mouse_x, &mouse_y, &mouse_z);
-
- /* relative to window coordinates */
- _glut_mouse_x = mouse_x - _glut_current->xpos;
- _glut_mouse_y = mouse_y - _glut_current->ypos;
-
- /* mouse was moved? */
- if ((mouse_x != old_mouse_x) || (mouse_y != old_mouse_y)) {
- idle = GL_FALSE;
- old_mouse_x = mouse_x;
- old_mouse_y = mouse_y;
-
- if (mouse_b) {
- /* any button pressed */
- if (_glut_current->motion) {
- _glut_current->motion(_glut_mouse_x, _glut_mouse_y);
- }
- } else {
- /* no button pressed */
- if (_glut_current->passive) {
- _glut_current->passive(_glut_mouse_x, _glut_mouse_y);
- }
- }
- }
-
- /* button state changed? */
- if (mouse_b != old_mouse_b) {
- GLUTmouseCB mouse_func;
-
- if ((mouse_func = _glut_current->mouse)) {
- if ((old_mouse_b & 1) && !(mouse_b & 1))
- mouse_func(GLUT_LEFT_BUTTON, GLUT_UP, _glut_mouse_x, _glut_mouse_y);
- else if (!(old_mouse_b & 1) && (mouse_b & 1))
- mouse_func(GLUT_LEFT_BUTTON, GLUT_DOWN, _glut_mouse_x, _glut_mouse_y);
-
- if ((old_mouse_b & 2) && !(mouse_b & 2))
- mouse_func(GLUT_RIGHT_BUTTON, GLUT_UP, _glut_mouse_x, _glut_mouse_y);
- else if (!(old_mouse_b & 2) && (mouse_b & 2))
- mouse_func(GLUT_RIGHT_BUTTON, GLUT_DOWN, _glut_mouse_x, _glut_mouse_y);
-
- if ((old_mouse_b & 4) && !(mouse_b & 4))
- mouse_func(GLUT_MIDDLE_BUTTON, GLUT_UP, _glut_mouse_x, _glut_mouse_y);
- else if (!(old_mouse_b & 3) && (mouse_b & 4))
- mouse_func(GLUT_MIDDLE_BUTTON, GLUT_DOWN, _glut_mouse_x, _glut_mouse_y);
- }
-
- idle = GL_FALSE;
- old_mouse_b = mouse_b;
- }
- }
-
- if (pc_keypressed()) {
- int key;
- int glut_key;
-
- idle = GL_FALSE;
- key = pc_readkey();
-
- switch (key>>16) {
- case KEY_F1: glut_key = GLUT_KEY_F1; goto special;
- case KEY_F2: glut_key = GLUT_KEY_F2; goto special;
- case KEY_F3: glut_key = GLUT_KEY_F3; goto special;
- case KEY_F4: glut_key = GLUT_KEY_F4; goto special;
- case KEY_F5: glut_key = GLUT_KEY_F5; goto special;
- case KEY_F6: glut_key = GLUT_KEY_F6; goto special;
- case KEY_F7: glut_key = GLUT_KEY_F7; goto special;
- case KEY_F8: glut_key = GLUT_KEY_F8; goto special;
- case KEY_F9: glut_key = GLUT_KEY_F9; goto special;
- case KEY_F10: glut_key = GLUT_KEY_F10; goto special;
- case KEY_F11: glut_key = GLUT_KEY_F11; goto special;
- case KEY_F12: glut_key = GLUT_KEY_F12; goto special;
- case KEY_LEFT: glut_key = GLUT_KEY_LEFT; goto special;
- case KEY_UP: glut_key = GLUT_KEY_UP; goto special;
- case KEY_RIGHT: glut_key = GLUT_KEY_RIGHT; goto special;
- case KEY_DOWN: glut_key = GLUT_KEY_DOWN; goto special;
- case KEY_PGUP: glut_key = GLUT_KEY_PAGE_UP; goto special;
- case KEY_PGDN: glut_key = GLUT_KEY_PAGE_DOWN; goto special;
- case KEY_HOME: glut_key = GLUT_KEY_HOME; goto special;
- case KEY_END: glut_key = GLUT_KEY_END; goto special;
- case KEY_INSERT: glut_key = GLUT_KEY_INSERT; goto special;
- special:
- if (_glut_current->special) {
- _glut_current->special(glut_key, _glut_mouse_x, _glut_mouse_y);
- }
- break;
- default:
- if (_glut_current->keyboard) {
- _glut_current->keyboard(key & 0xFF, _glut_mouse_x, _glut_mouse_y);
- }
- }
- }
-
- if (idle && _glut_idle_func)
- _glut_idle_func();
-
- for (i = 0; i < MAX_TIMER_CB; i++) {
- int time = glutGet(GLUT_ELAPSED_TIME);
- GLUTSShotCB *cb = &_glut_timer_cb[i];
- if (cb->func && (time >= cb->time)) {
- cb->func(cb->value);
- cb->func = NULL;
- }
- }
-}
-
-
-void APIENTRY
-glutMainLoop (void)
-{
- looping++;
- while (looping) {
- glutMainLoopEvent();
- }
-}
-
-
-void APIENTRY
-glutLeaveMainLoop (void)
-{
- looping--;
-}
diff --git a/src/glut/dos/menu.c b/src/glut/dos/menu.c
deleted file mode 100644
index 857d2b4a46..0000000000
--- a/src/glut/dos/menu.c
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * DOS/DJGPP Mesa Utility Toolkit
- * Version: 1.0
- *
- * Copyright (C) 2005 Daniel Borca 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
- * DANIEL BORCA 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.
- */
-
-
-#include "internal.h"
-
-
-GLUTmenuStatusCB _glut_menu_status_func = NULL;
-
-
-void APIENTRY
-glutMenuStateFunc (GLUTmenuStateCB func)
-{
- _glut_menu_status_func = (GLUTmenuStatusCB)func;
-}
-
-
-void APIENTRY
-glutMenuStatusFunc (GLUTmenuStatusCB func)
-{
- _glut_menu_status_func = func;
-}
-
-
-int APIENTRY
-glutCreateMenu (GLUTselectCB func)
-{
- return 0;
-}
-
-
-void APIENTRY
-glutDestroyMenu (int menu)
-{
-}
-
-
-int APIENTRY
-glutGetMenu (void)
-{
- return 0;
-}
-
-
-void APIENTRY
-glutSetMenu (int menu)
-{
-}
-
-
-void APIENTRY
-glutAddMenuEntry (const char *label, int value)
-{
-}
-
-
-void APIENTRY
-glutAddSubMenu (const char *label, int submenu)
-{
-}
-
-
-void APIENTRY
-glutChangeToMenuEntry (int item, const char *label, int value)
-{
-}
-
-
-void APIENTRY
-glutChangeToSubMenu (int item, const char *label, int submenu)
-{
-}
-
-
-void APIENTRY
-glutRemoveMenuItem (int item)
-{
-}
-
-
-void APIENTRY
-glutAttachMenu (int button)
-{
-}
-
-
-void APIENTRY
-glutDetachMenu (int button)
-{
-}
-
-
-void APIENTRY
-glutMenuDestroyFunc ( void (* callback)( void ) )
-{
-}
-
-
-void * APIENTRY
-glutGetMenuData (void)
-{
- return NULL;
-}
-
-
-void APIENTRY
-glutSetMenuData (void *data)
-{
-}
diff --git a/src/glut/dos/mouse.c b/src/glut/dos/mouse.c
deleted file mode 100644
index 945e2a5c14..0000000000
--- a/src/glut/dos/mouse.c
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * DOS/DJGPP Mesa Utility Toolkit
- * Version: 1.0
- *
- * Copyright (C) 2005 Daniel Borca 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
- * DANIEL BORCA 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.
- */
-
-
-#include "internal.h"
-
-
-int _glut_mouse;
-int _glut_mouse_x = 0, _glut_mouse_y = 0;
-
-
-void
-_glut_mouse_init (void)
-{
- if ((_glut_mouse = pc_install_mouse())) {
- pc_mouse_area(_glut_current->xpos, _glut_current->ypos, _glut_current->xpos + _glut_current->width - 1, _glut_current->ypos + _glut_current->height - 1);
-
- _glut_current->show_mouse = (_glut_current->mouse || _glut_current->motion || _glut_current->passive);
- }
-}
-
-
-void APIENTRY
-glutSetCursor (int cursor)
-{
- /* XXX completely futile until full mouse support (maybe never) */
-}
-
-
-void APIENTRY
-glutWarpPointer (int x, int y)
-{
- pc_warp_mouse(x, y);
-}
diff --git a/src/glut/dos/mroman.c b/src/glut/dos/mroman.c
deleted file mode 100644
index 137458b754..0000000000
--- a/src/glut/dos/mroman.c
+++ /dev/null
@@ -1,2779 +0,0 @@
-
-/* GENERATED FILE -- DO NOT MODIFY */
-
-#include "internal.h"
-
-/* char: 0x20 */
-
-static const GLUTStrokeChar ch32 = {104.7619f,0,NULL};
-
-/* char: 0x21 */
-
-static const GLUTStrokeVertex ch33st0[] =
-{
- {52.3810f,100.0000f},
- {52.3810f,33.3333f}
-};
-
-static const GLUTStrokeVertex ch33st1[] =
-{
- {52.3810f,9.5238f},
- {47.6191f,4.7619f},
- {52.3810f,0.0000f},
- {57.1429f,4.7619f},
- {52.3810f,9.5238f}
-};
-
-static const GLUTStrokeStrip ch33st[] =
-{
- {2,ch33st0},
- {5,ch33st1}
-};
-
-static const GLUTStrokeChar ch33 = {104.7619f,2,ch33st};
-
-/* char: 0x22 */
-
-static const GLUTStrokeVertex ch34st0[] =
-{
- {33.3334f,100.0000f},
- {33.3334f,66.6667f}
-};
-
-static const GLUTStrokeVertex ch34st1[] =
-{
- {71.4286f,100.0000f},
- {71.4286f,66.6667f}
-};
-
-static const GLUTStrokeStrip ch34st[] =
-{
- {2,ch34st0},
- {2,ch34st1}
-};
-
-static const GLUTStrokeChar ch34 = {104.7619f,2,ch34st};
-
-/* char: 0x23 */
-
-static const GLUTStrokeVertex ch35st0[] =
-{
- {54.7619f,119.0476f},
- {21.4286f,-33.3333f}
-};
-
-static const GLUTStrokeVertex ch35st1[] =
-{
- {83.3334f,119.0476f},
- {50.0000f,-33.3333f}
-};
-
-static const GLUTStrokeVertex ch35st2[] =
-{
- {21.4286f,57.1429f},
- {88.0952f,57.1429f}
-};
-
-static const GLUTStrokeVertex ch35st3[] =
-{
- {16.6667f,28.5714f},
- {83.3334f,28.5714f}
-};
-
-static const GLUTStrokeStrip ch35st[] =
-{
- {2,ch35st0},
- {2,ch35st1},
- {2,ch35st2},
- {2,ch35st3}
-};
-
-static const GLUTStrokeChar ch35 = {104.7619f,4,ch35st};
-
-/* char: 0x24 */
-
-static const GLUTStrokeVertex ch36st0[] =
-{
- {42.8571f,119.0476f},
- {42.8571f,-19.0476f}
-};
-
-static const GLUTStrokeVertex ch36st1[] =
-{
- {61.9047f,119.0476f},
- {61.9047f,-19.0476f}
-};
-
-static const GLUTStrokeVertex ch36st2[] =
-{
- {85.7143f,85.7143f},
- {76.1905f,95.2381f},
- {61.9047f,100.0000f},
- {42.8571f,100.0000f},
- {28.5714f,95.2381f},
- {19.0476f,85.7143f},
- {19.0476f,76.1905f},
- {23.8095f,66.6667f},
- {28.5714f,61.9048f},
- {38.0952f,57.1429f},
- {66.6666f,47.6190f},
- {76.1905f,42.8571f},
- {80.9524f,38.0952f},
- {85.7143f,28.5714f},
- {85.7143f,14.2857f},
- {76.1905f,4.7619f},
- {61.9047f,0.0000f},
- {42.8571f,0.0000f},
- {28.5714f,4.7619f},
- {19.0476f,14.2857f}
-};
-
-static const GLUTStrokeStrip ch36st[] =
-{
- {2,ch36st0},
- {2,ch36st1},
- {20,ch36st2}
-};
-
-static const GLUTStrokeChar ch36 = {104.7619f,3,ch36st};
-
-/* char: 0x25 */
-
-static const GLUTStrokeVertex ch37st0[] =
-{
- {95.2381f,100.0000f},
- {9.5238f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch37st1[] =
-{
- {33.3333f,100.0000f},
- {42.8571f,90.4762f},
- {42.8571f,80.9524f},
- {38.0952f,71.4286f},
- {28.5714f,66.6667f},
- {19.0476f,66.6667f},
- {9.5238f,76.1905f},
- {9.5238f,85.7143f},
- {14.2857f,95.2381f},
- {23.8095f,100.0000f},
- {33.3333f,100.0000f},
- {42.8571f,95.2381f},
- {57.1428f,90.4762f},
- {71.4286f,90.4762f},
- {85.7143f,95.2381f},
- {95.2381f,100.0000f}
-};
-
-static const GLUTStrokeVertex ch37st2[] =
-{
- {76.1905f,33.3333f},
- {66.6667f,28.5714f},
- {61.9048f,19.0476f},
- {61.9048f,9.5238f},
- {71.4286f,0.0000f},
- {80.9524f,0.0000f},
- {90.4762f,4.7619f},
- {95.2381f,14.2857f},
- {95.2381f,23.8095f},
- {85.7143f,33.3333f},
- {76.1905f,33.3333f}
-};
-
-static const GLUTStrokeStrip ch37st[] =
-{
- {2,ch37st0},
- {16,ch37st1},
- {11,ch37st2}
-};
-
-static const GLUTStrokeChar ch37 = {104.7619f,3,ch37st};
-
-/* char: 0x26 */
-
-static const GLUTStrokeVertex ch38st0[] =
-{
- {100.0000f,57.1429f},
- {100.0000f,61.9048f},
- {95.2381f,66.6667f},
- {90.4762f,66.6667f},
- {85.7143f,61.9048f},
- {80.9524f,52.3810f},
- {71.4286f,28.5714f},
- {61.9048f,14.2857f},
- {52.3809f,4.7619f},
- {42.8571f,0.0000f},
- {23.8095f,0.0000f},
- {14.2857f,4.7619f},
- {9.5238f,9.5238f},
- {4.7619f,19.0476f},
- {4.7619f,28.5714f},
- {9.5238f,38.0952f},
- {14.2857f,42.8571f},
- {47.6190f,61.9048f},
- {52.3809f,66.6667f},
- {57.1429f,76.1905f},
- {57.1429f,85.7143f},
- {52.3809f,95.2381f},
- {42.8571f,100.0000f},
- {33.3333f,95.2381f},
- {28.5714f,85.7143f},
- {28.5714f,76.1905f},
- {33.3333f,61.9048f},
- {42.8571f,47.6190f},
- {66.6667f,14.2857f},
- {76.1905f,4.7619f},
- {85.7143f,0.0000f},
- {95.2381f,0.0000f},
- {100.0000f,4.7619f},
- {100.0000f,9.5238f}
-};
-
-static const GLUTStrokeStrip ch38st[] =
-{
- {34,ch38st0}
-};
-
-static const GLUTStrokeChar ch38 = {104.7619f,1,ch38st};
-
-/* char: 0x27 */
-
-static const GLUTStrokeVertex ch39st0[] =
-{
- {52.3810f,100.0000f},
- {52.3810f,66.6667f}
-};
-
-static const GLUTStrokeStrip ch39st[] =
-{
- {2,ch39st0}
-};
-
-static const GLUTStrokeChar ch39 = {104.7619f,1,ch39st};
-
-/* char: 0x28 */
-
-static const GLUTStrokeVertex ch40st0[] =
-{
- {69.0476f,119.0476f},
- {59.5238f,109.5238f},
- {50.0000f,95.2381f},
- {40.4762f,76.1905f},
- {35.7143f,52.3810f},
- {35.7143f,33.3333f},
- {40.4762f,9.5238f},
- {50.0000f,-9.5238f},
- {59.5238f,-23.8095f},
- {69.0476f,-33.3333f}
-};
-
-static const GLUTStrokeStrip ch40st[] =
-{
- {10,ch40st0}
-};
-
-static const GLUTStrokeChar ch40 = {104.7619f,1,ch40st};
-
-/* char: 0x29 */
-
-static const GLUTStrokeVertex ch41st0[] =
-{
- {35.7143f,119.0476f},
- {45.2381f,109.5238f},
- {54.7619f,95.2381f},
- {64.2857f,76.1905f},
- {69.0476f,52.3810f},
- {69.0476f,33.3333f},
- {64.2857f,9.5238f},
- {54.7619f,-9.5238f},
- {45.2381f,-23.8095f},
- {35.7143f,-33.3333f}
-};
-
-static const GLUTStrokeStrip ch41st[] =
-{
- {10,ch41st0}
-};
-
-static const GLUTStrokeChar ch41 = {104.7619f,1,ch41st};
-
-/* char: 0x2a */
-
-static const GLUTStrokeVertex ch42st0[] =
-{
- {52.3810f,71.4286f},
- {52.3810f,14.2857f}
-};
-
-static const GLUTStrokeVertex ch42st1[] =
-{
- {28.5715f,57.1429f},
- {76.1905f,28.5714f}
-};
-
-static const GLUTStrokeVertex ch42st2[] =
-{
- {76.1905f,57.1429f},
- {28.5715f,28.5714f}
-};
-
-static const GLUTStrokeStrip ch42st[] =
-{
- {2,ch42st0},
- {2,ch42st1},
- {2,ch42st2}
-};
-
-static const GLUTStrokeChar ch42 = {104.7619f,3,ch42st};
-
-/* char: 0x2b */
-
-static const GLUTStrokeVertex ch43st0[] =
-{
- {52.3809f,85.7143f},
- {52.3809f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch43st1[] =
-{
- {9.5238f,42.8571f},
- {95.2381f,42.8571f}
-};
-
-static const GLUTStrokeStrip ch43st[] =
-{
- {2,ch43st0},
- {2,ch43st1}
-};
-
-static const GLUTStrokeChar ch43 = {104.7619f,2,ch43st};
-
-/* char: 0x2c */
-
-static const GLUTStrokeVertex ch44st0[] =
-{
- {57.1429f,4.7619f},
- {52.3810f,0.0000f},
- {47.6191f,4.7619f},
- {52.3810f,9.5238f},
- {57.1429f,4.7619f},
- {57.1429f,-4.7619f},
- {52.3810f,-14.2857f},
- {47.6191f,-19.0476f}
-};
-
-static const GLUTStrokeStrip ch44st[] =
-{
- {8,ch44st0}
-};
-
-static const GLUTStrokeChar ch44 = {104.7619f,1,ch44st};
-
-/* char: 0x2d */
-
-static const GLUTStrokeVertex ch45st0[] =
-{
- {9.5238f,42.8571f},
- {95.2381f,42.8571f}
-};
-
-static const GLUTStrokeStrip ch45st[] =
-{
- {2,ch45st0}
-};
-
-static const GLUTStrokeChar ch45 = {104.7619f,1,ch45st};
-
-/* char: 0x2e */
-
-static const GLUTStrokeVertex ch46st0[] =
-{
- {52.3810f,9.5238f},
- {47.6191f,4.7619f},
- {52.3810f,0.0000f},
- {57.1429f,4.7619f},
- {52.3810f,9.5238f}
-};
-
-static const GLUTStrokeStrip ch46st[] =
-{
- {5,ch46st0}
-};
-
-static const GLUTStrokeChar ch46 = {104.7619f,1,ch46st};
-
-/* char: 0x2f */
-
-static const GLUTStrokeVertex ch47st0[] =
-{
- {19.0476f,-14.2857f},
- {85.7143f,100.0000f}
-};
-
-static const GLUTStrokeStrip ch47st[] =
-{
- {2,ch47st0}
-};
-
-static const GLUTStrokeChar ch47 = {104.7619f,1,ch47st};
-
-/* char: 0x30 */
-
-static const GLUTStrokeVertex ch48st0[] =
-{
- {47.6190f,100.0000f},
- {33.3333f,95.2381f},
- {23.8095f,80.9524f},
- {19.0476f,57.1429f},
- {19.0476f,42.8571f},
- {23.8095f,19.0476f},
- {33.3333f,4.7619f},
- {47.6190f,0.0000f},
- {57.1428f,0.0000f},
- {71.4286f,4.7619f},
- {80.9524f,19.0476f},
- {85.7143f,42.8571f},
- {85.7143f,57.1429f},
- {80.9524f,80.9524f},
- {71.4286f,95.2381f},
- {57.1428f,100.0000f},
- {47.6190f,100.0000f}
-};
-
-static const GLUTStrokeStrip ch48st[] =
-{
- {17,ch48st0}
-};
-
-static const GLUTStrokeChar ch48 = {104.7619f,1,ch48st};
-
-/* char: 0x31 */
-
-static const GLUTStrokeVertex ch49st0[] =
-{
- {40.4762f,80.9524f},
- {50.0000f,85.7143f},
- {64.2857f,100.0000f},
- {64.2857f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch49st[] =
-{
- {4,ch49st0}
-};
-
-static const GLUTStrokeChar ch49 = {104.7619f,1,ch49st};
-
-/* char: 0x32 */
-
-static const GLUTStrokeVertex ch50st0[] =
-{
- {23.8095f,76.1905f},
- {23.8095f,80.9524f},
- {28.5714f,90.4762f},
- {33.3333f,95.2381f},
- {42.8571f,100.0000f},
- {61.9047f,100.0000f},
- {71.4286f,95.2381f},
- {76.1905f,90.4762f},
- {80.9524f,80.9524f},
- {80.9524f,71.4286f},
- {76.1905f,61.9048f},
- {66.6666f,47.6190f},
- {19.0476f,0.0000f},
- {85.7143f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch50st[] =
-{
- {14,ch50st0}
-};
-
-static const GLUTStrokeChar ch50 = {104.7619f,1,ch50st};
-
-/* char: 0x33 */
-
-static const GLUTStrokeVertex ch51st0[] =
-{
- {28.5714f,100.0000f},
- {80.9524f,100.0000f},
- {52.3809f,61.9048f},
- {66.6666f,61.9048f},
- {76.1905f,57.1429f},
- {80.9524f,52.3810f},
- {85.7143f,38.0952f},
- {85.7143f,28.5714f},
- {80.9524f,14.2857f},
- {71.4286f,4.7619f},
- {57.1428f,0.0000f},
- {42.8571f,0.0000f},
- {28.5714f,4.7619f},
- {23.8095f,9.5238f},
- {19.0476f,19.0476f}
-};
-
-static const GLUTStrokeStrip ch51st[] =
-{
- {15,ch51st0}
-};
-
-static const GLUTStrokeChar ch51 = {104.7619f,1,ch51st};
-
-/* char: 0x34 */
-
-static const GLUTStrokeVertex ch52st0[] =
-{
- {64.2857f,100.0000f},
- {16.6667f,33.3333f},
- {88.0952f,33.3333f}
-};
-
-static const GLUTStrokeVertex ch52st1[] =
-{
- {64.2857f,100.0000f},
- {64.2857f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch52st[] =
-{
- {3,ch52st0},
- {2,ch52st1}
-};
-
-static const GLUTStrokeChar ch52 = {104.7619f,2,ch52st};
-
-/* char: 0x35 */
-
-static const GLUTStrokeVertex ch53st0[] =
-{
- {76.1905f,100.0000f},
- {28.5714f,100.0000f},
- {23.8095f,57.1429f},
- {28.5714f,61.9048f},
- {42.8571f,66.6667f},
- {57.1428f,66.6667f},
- {71.4286f,61.9048f},
- {80.9524f,52.3810f},
- {85.7143f,38.0952f},
- {85.7143f,28.5714f},
- {80.9524f,14.2857f},
- {71.4286f,4.7619f},
- {57.1428f,0.0000f},
- {42.8571f,0.0000f},
- {28.5714f,4.7619f},
- {23.8095f,9.5238f},
- {19.0476f,19.0476f}
-};
-
-static const GLUTStrokeStrip ch53st[] =
-{
- {17,ch53st0}
-};
-
-static const GLUTStrokeChar ch53 = {104.7619f,1,ch53st};
-
-/* char: 0x36 */
-
-static const GLUTStrokeVertex ch54st0[] =
-{
- {78.5714f,85.7143f},
- {73.8096f,95.2381f},
- {59.5238f,100.0000f},
- {50.0000f,100.0000f},
- {35.7143f,95.2381f},
- {26.1905f,80.9524f},
- {21.4286f,57.1429f},
- {21.4286f,33.3333f},
- {26.1905f,14.2857f},
- {35.7143f,4.7619f},
- {50.0000f,0.0000f},
- {54.7619f,0.0000f},
- {69.0476f,4.7619f},
- {78.5714f,14.2857f},
- {83.3334f,28.5714f},
- {83.3334f,33.3333f},
- {78.5714f,47.6190f},
- {69.0476f,57.1429f},
- {54.7619f,61.9048f},
- {50.0000f,61.9048f},
- {35.7143f,57.1429f},
- {26.1905f,47.6190f},
- {21.4286f,33.3333f}
-};
-
-static const GLUTStrokeStrip ch54st[] =
-{
- {23,ch54st0}
-};
-
-static const GLUTStrokeChar ch54 = {104.7619f,1,ch54st};
-
-/* char: 0x37 */
-
-static const GLUTStrokeVertex ch55st0[] =
-{
- {85.7143f,100.0000f},
- {38.0952f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch55st1[] =
-{
- {19.0476f,100.0000f},
- {85.7143f,100.0000f}
-};
-
-static const GLUTStrokeStrip ch55st[] =
-{
- {2,ch55st0},
- {2,ch55st1}
-};
-
-static const GLUTStrokeChar ch55 = {104.7619f,2,ch55st};
-
-/* char: 0x38 */
-
-static const GLUTStrokeVertex ch56st0[] =
-{
- {42.8571f,100.0000f},
- {28.5714f,95.2381f},
- {23.8095f,85.7143f},
- {23.8095f,76.1905f},
- {28.5714f,66.6667f},
- {38.0952f,61.9048f},
- {57.1428f,57.1429f},
- {71.4286f,52.3810f},
- {80.9524f,42.8571f},
- {85.7143f,33.3333f},
- {85.7143f,19.0476f},
- {80.9524f,9.5238f},
- {76.1905f,4.7619f},
- {61.9047f,0.0000f},
- {42.8571f,0.0000f},
- {28.5714f,4.7619f},
- {23.8095f,9.5238f},
- {19.0476f,19.0476f},
- {19.0476f,33.3333f},
- {23.8095f,42.8571f},
- {33.3333f,52.3810f},
- {47.6190f,57.1429f},
- {66.6666f,61.9048f},
- {76.1905f,66.6667f},
- {80.9524f,76.1905f},
- {80.9524f,85.7143f},
- {76.1905f,95.2381f},
- {61.9047f,100.0000f},
- {42.8571f,100.0000f}
-};
-
-static const GLUTStrokeStrip ch56st[] =
-{
- {29,ch56st0}
-};
-
-static const GLUTStrokeChar ch56 = {104.7619f,1,ch56st};
-
-/* char: 0x39 */
-
-static const GLUTStrokeVertex ch57st0[] =
-{
- {83.3334f,66.6667f},
- {78.5714f,52.3810f},
- {69.0476f,42.8571f},
- {54.7619f,38.0952f},
- {50.0000f,38.0952f},
- {35.7143f,42.8571f},
- {26.1905f,52.3810f},
- {21.4286f,66.6667f},
- {21.4286f,71.4286f},
- {26.1905f,85.7143f},
- {35.7143f,95.2381f},
- {50.0000f,100.0000f},
- {54.7619f,100.0000f},
- {69.0476f,95.2381f},
- {78.5714f,85.7143f},
- {83.3334f,66.6667f},
- {83.3334f,42.8571f},
- {78.5714f,19.0476f},
- {69.0476f,4.7619f},
- {54.7619f,0.0000f},
- {45.2381f,0.0000f},
- {30.9524f,4.7619f},
- {26.1905f,14.2857f}
-};
-
-static const GLUTStrokeStrip ch57st[] =
-{
- {23,ch57st0}
-};
-
-static const GLUTStrokeChar ch57 = {104.7619f,1,ch57st};
-
-/* char: 0x3a */
-
-static const GLUTStrokeVertex ch58st0[] =
-{
- {52.3810f,66.6667f},
- {47.6191f,61.9048f},
- {52.3810f,57.1429f},
- {57.1429f,61.9048f},
- {52.3810f,66.6667f}
-};
-
-static const GLUTStrokeVertex ch58st1[] =
-{
- {52.3810f,9.5238f},
- {47.6191f,4.7619f},
- {52.3810f,0.0000f},
- {57.1429f,4.7619f},
- {52.3810f,9.5238f}
-};
-
-static const GLUTStrokeStrip ch58st[] =
-{
- {5,ch58st0},
- {5,ch58st1}
-};
-
-static const GLUTStrokeChar ch58 = {104.7619f,2,ch58st};
-
-/* char: 0x3b */
-
-static const GLUTStrokeVertex ch59st0[] =
-{
- {52.3810f,66.6667f},
- {47.6191f,61.9048f},
- {52.3810f,57.1429f},
- {57.1429f,61.9048f},
- {52.3810f,66.6667f}
-};
-
-static const GLUTStrokeVertex ch59st1[] =
-{
- {57.1429f,4.7619f},
- {52.3810f,0.0000f},
- {47.6191f,4.7619f},
- {52.3810f,9.5238f},
- {57.1429f,4.7619f},
- {57.1429f,-4.7619f},
- {52.3810f,-14.2857f},
- {47.6191f,-19.0476f}
-};
-
-static const GLUTStrokeStrip ch59st[] =
-{
- {5,ch59st0},
- {8,ch59st1}
-};
-
-static const GLUTStrokeChar ch59 = {104.7619f,2,ch59st};
-
-/* char: 0x3c */
-
-static const GLUTStrokeVertex ch60st0[] =
-{
- {90.4762f,85.7143f},
- {14.2857f,42.8571f},
- {90.4762f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch60st[] =
-{
- {3,ch60st0}
-};
-
-static const GLUTStrokeChar ch60 = {104.7619f,1,ch60st};
-
-/* char: 0x3d */
-
-static const GLUTStrokeVertex ch61st0[] =
-{
- {9.5238f,57.1429f},
- {95.2381f,57.1429f}
-};
-
-static const GLUTStrokeVertex ch61st1[] =
-{
- {9.5238f,28.5714f},
- {95.2381f,28.5714f}
-};
-
-static const GLUTStrokeStrip ch61st[] =
-{
- {2,ch61st0},
- {2,ch61st1}
-};
-
-static const GLUTStrokeChar ch61 = {104.7619f,2,ch61st};
-
-/* char: 0x3e */
-
-static const GLUTStrokeVertex ch62st0[] =
-{
- {14.2857f,85.7143f},
- {90.4762f,42.8571f},
- {14.2857f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch62st[] =
-{
- {3,ch62st0}
-};
-
-static const GLUTStrokeChar ch62 = {104.7619f,1,ch62st};
-
-/* char: 0x3f */
-
-static const GLUTStrokeVertex ch63st0[] =
-{
- {23.8095f,76.1905f},
- {23.8095f,80.9524f},
- {28.5714f,90.4762f},
- {33.3333f,95.2381f},
- {42.8571f,100.0000f},
- {61.9047f,100.0000f},
- {71.4285f,95.2381f},
- {76.1905f,90.4762f},
- {80.9524f,80.9524f},
- {80.9524f,71.4286f},
- {76.1905f,61.9048f},
- {71.4285f,57.1429f},
- {52.3809f,47.6190f},
- {52.3809f,33.3333f}
-};
-
-static const GLUTStrokeVertex ch63st1[] =
-{
- {52.3809f,9.5238f},
- {47.6190f,4.7619f},
- {52.3809f,0.0000f},
- {57.1428f,4.7619f},
- {52.3809f,9.5238f}
-};
-
-static const GLUTStrokeStrip ch63st[] =
-{
- {14,ch63st0},
- {5,ch63st1}
-};
-
-static const GLUTStrokeChar ch63 = {104.7619f,2,ch63st};
-
-/* char: 0x40 */
-
-static const GLUTStrokeVertex ch64st0[] =
-{
- {64.2857f,52.3810f},
- {54.7619f,57.1429f},
- {45.2381f,57.1429f},
- {40.4762f,47.6190f},
- {40.4762f,42.8571f},
- {45.2381f,33.3333f},
- {54.7619f,33.3333f},
- {64.2857f,38.0952f}
-};
-
-static const GLUTStrokeVertex ch64st1[] =
-{
- {64.2857f,57.1429f},
- {64.2857f,38.0952f},
- {69.0476f,33.3333f},
- {78.5714f,33.3333f},
- {83.3334f,42.8571f},
- {83.3334f,47.6190f},
- {78.5714f,61.9048f},
- {69.0476f,71.4286f},
- {54.7619f,76.1905f},
- {50.0000f,76.1905f},
- {35.7143f,71.4286f},
- {26.1905f,61.9048f},
- {21.4286f,47.6190f},
- {21.4286f,42.8571f},
- {26.1905f,28.5714f},
- {35.7143f,19.0476f},
- {50.0000f,14.2857f},
- {54.7619f,14.2857f},
- {69.0476f,19.0476f}
-};
-
-static const GLUTStrokeStrip ch64st[] =
-{
- {8,ch64st0},
- {19,ch64st1}
-};
-
-static const GLUTStrokeChar ch64 = {104.7619f,2,ch64st};
-
-/* char: 0x41 */
-
-static const GLUTStrokeVertex ch65st0[] =
-{
- {52.3809f,100.0000f},
- {14.2857f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch65st1[] =
-{
- {52.3809f,100.0000f},
- {90.4762f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch65st2[] =
-{
- {28.5714f,33.3333f},
- {76.1905f,33.3333f}
-};
-
-static const GLUTStrokeStrip ch65st[] =
-{
- {2,ch65st0},
- {2,ch65st1},
- {2,ch65st2}
-};
-
-static const GLUTStrokeChar ch65 = {104.7619f,3,ch65st};
-
-/* char: 0x42 */
-
-static const GLUTStrokeVertex ch66st0[] =
-{
- {19.0476f,100.0000f},
- {19.0476f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch66st1[] =
-{
- {19.0476f,100.0000f},
- {61.9047f,100.0000f},
- {76.1905f,95.2381f},
- {80.9524f,90.4762f},
- {85.7143f,80.9524f},
- {85.7143f,71.4286f},
- {80.9524f,61.9048f},
- {76.1905f,57.1429f},
- {61.9047f,52.3810f}
-};
-
-static const GLUTStrokeVertex ch66st2[] =
-{
- {19.0476f,52.3810f},
- {61.9047f,52.3810f},
- {76.1905f,47.6190f},
- {80.9524f,42.8571f},
- {85.7143f,33.3333f},
- {85.7143f,19.0476f},
- {80.9524f,9.5238f},
- {76.1905f,4.7619f},
- {61.9047f,0.0000f},
- {19.0476f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch66st[] =
-{
- {2,ch66st0},
- {9,ch66st1},
- {10,ch66st2}
-};
-
-static const GLUTStrokeChar ch66 = {104.7619f,3,ch66st};
-
-/* char: 0x43 */
-
-static const GLUTStrokeVertex ch67st0[] =
-{
- {88.0952f,76.1905f},
- {83.3334f,85.7143f},
- {73.8096f,95.2381f},
- {64.2857f,100.0000f},
- {45.2381f,100.0000f},
- {35.7143f,95.2381f},
- {26.1905f,85.7143f},
- {21.4286f,76.1905f},
- {16.6667f,61.9048f},
- {16.6667f,38.0952f},
- {21.4286f,23.8095f},
- {26.1905f,14.2857f},
- {35.7143f,4.7619f},
- {45.2381f,0.0000f},
- {64.2857f,0.0000f},
- {73.8096f,4.7619f},
- {83.3334f,14.2857f},
- {88.0952f,23.8095f}
-};
-
-static const GLUTStrokeStrip ch67st[] =
-{
- {18,ch67st0}
-};
-
-static const GLUTStrokeChar ch67 = {104.7619f,1,ch67st};
-
-/* char: 0x44 */
-
-static const GLUTStrokeVertex ch68st0[] =
-{
- {19.0476f,100.0000f},
- {19.0476f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch68st1[] =
-{
- {19.0476f,100.0000f},
- {52.3809f,100.0000f},
- {66.6666f,95.2381f},
- {76.1905f,85.7143f},
- {80.9524f,76.1905f},
- {85.7143f,61.9048f},
- {85.7143f,38.0952f},
- {80.9524f,23.8095f},
- {76.1905f,14.2857f},
- {66.6666f,4.7619f},
- {52.3809f,0.0000f},
- {19.0476f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch68st[] =
-{
- {2,ch68st0},
- {12,ch68st1}
-};
-
-static const GLUTStrokeChar ch68 = {104.7619f,2,ch68st};
-
-/* char: 0x45 */
-
-static const GLUTStrokeVertex ch69st0[] =
-{
- {21.4286f,100.0000f},
- {21.4286f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch69st1[] =
-{
- {21.4286f,100.0000f},
- {83.3334f,100.0000f}
-};
-
-static const GLUTStrokeVertex ch69st2[] =
-{
- {21.4286f,52.3810f},
- {59.5238f,52.3810f}
-};
-
-static const GLUTStrokeVertex ch69st3[] =
-{
- {21.4286f,0.0000f},
- {83.3334f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch69st[] =
-{
- {2,ch69st0},
- {2,ch69st1},
- {2,ch69st2},
- {2,ch69st3}
-};
-
-static const GLUTStrokeChar ch69 = {104.7619f,4,ch69st};
-
-/* char: 0x46 */
-
-static const GLUTStrokeVertex ch70st0[] =
-{
- {21.4286f,100.0000f},
- {21.4286f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch70st1[] =
-{
- {21.4286f,100.0000f},
- {83.3334f,100.0000f}
-};
-
-static const GLUTStrokeVertex ch70st2[] =
-{
- {21.4286f,52.3810f},
- {59.5238f,52.3810f}
-};
-
-static const GLUTStrokeStrip ch70st[] =
-{
- {2,ch70st0},
- {2,ch70st1},
- {2,ch70st2}
-};
-
-static const GLUTStrokeChar ch70 = {104.7619f,3,ch70st};
-
-/* char: 0x47 */
-
-static const GLUTStrokeVertex ch71st0[] =
-{
- {88.0952f,76.1905f},
- {83.3334f,85.7143f},
- {73.8096f,95.2381f},
- {64.2857f,100.0000f},
- {45.2381f,100.0000f},
- {35.7143f,95.2381f},
- {26.1905f,85.7143f},
- {21.4286f,76.1905f},
- {16.6667f,61.9048f},
- {16.6667f,38.0952f},
- {21.4286f,23.8095f},
- {26.1905f,14.2857f},
- {35.7143f,4.7619f},
- {45.2381f,0.0000f},
- {64.2857f,0.0000f},
- {73.8096f,4.7619f},
- {83.3334f,14.2857f},
- {88.0952f,23.8095f},
- {88.0952f,38.0952f}
-};
-
-static const GLUTStrokeVertex ch71st1[] =
-{
- {64.2857f,38.0952f},
- {88.0952f,38.0952f}
-};
-
-static const GLUTStrokeStrip ch71st[] =
-{
- {19,ch71st0},
- {2,ch71st1}
-};
-
-static const GLUTStrokeChar ch71 = {104.7619f,2,ch71st};
-
-/* char: 0x48 */
-
-static const GLUTStrokeVertex ch72st0[] =
-{
- {19.0476f,100.0000f},
- {19.0476f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch72st1[] =
-{
- {85.7143f,100.0000f},
- {85.7143f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch72st2[] =
-{
- {19.0476f,52.3810f},
- {85.7143f,52.3810f}
-};
-
-static const GLUTStrokeStrip ch72st[] =
-{
- {2,ch72st0},
- {2,ch72st1},
- {2,ch72st2}
-};
-
-static const GLUTStrokeChar ch72 = {104.7619f,3,ch72st};
-
-/* char: 0x49 */
-
-static const GLUTStrokeVertex ch73st0[] =
-{
- {52.3810f,100.0000f},
- {52.3810f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch73st[] =
-{
- {2,ch73st0}
-};
-
-static const GLUTStrokeChar ch73 = {104.7619f,1,ch73st};
-
-/* char: 0x4a */
-
-static const GLUTStrokeVertex ch74st0[] =
-{
- {76.1905f,100.0000f},
- {76.1905f,23.8095f},
- {71.4286f,9.5238f},
- {66.6667f,4.7619f},
- {57.1429f,0.0000f},
- {47.6191f,0.0000f},
- {38.0953f,4.7619f},
- {33.3334f,9.5238f},
- {28.5715f,23.8095f},
- {28.5715f,33.3333f}
-};
-
-static const GLUTStrokeStrip ch74st[] =
-{
- {10,ch74st0}
-};
-
-static const GLUTStrokeChar ch74 = {104.7619f,1,ch74st};
-
-/* char: 0x4b */
-
-static const GLUTStrokeVertex ch75st0[] =
-{
- {19.0476f,100.0000f},
- {19.0476f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch75st1[] =
-{
- {85.7143f,100.0000f},
- {19.0476f,33.3333f}
-};
-
-static const GLUTStrokeVertex ch75st2[] =
-{
- {42.8571f,57.1429f},
- {85.7143f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch75st[] =
-{
- {2,ch75st0},
- {2,ch75st1},
- {2,ch75st2}
-};
-
-static const GLUTStrokeChar ch75 = {104.7619f,3,ch75st};
-
-/* char: 0x4c */
-
-static const GLUTStrokeVertex ch76st0[] =
-{
- {23.8095f,100.0000f},
- {23.8095f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch76st1[] =
-{
- {23.8095f,0.0000f},
- {80.9524f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch76st[] =
-{
- {2,ch76st0},
- {2,ch76st1}
-};
-
-static const GLUTStrokeChar ch76 = {104.7619f,2,ch76st};
-
-/* char: 0x4d */
-
-static const GLUTStrokeVertex ch77st0[] =
-{
- {14.2857f,100.0000f},
- {14.2857f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch77st1[] =
-{
- {14.2857f,100.0000f},
- {52.3809f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch77st2[] =
-{
- {90.4762f,100.0000f},
- {52.3809f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch77st3[] =
-{
- {90.4762f,100.0000f},
- {90.4762f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch77st[] =
-{
- {2,ch77st0},
- {2,ch77st1},
- {2,ch77st2},
- {2,ch77st3}
-};
-
-static const GLUTStrokeChar ch77 = {104.7619f,4,ch77st};
-
-/* char: 0x4e */
-
-static const GLUTStrokeVertex ch78st0[] =
-{
- {19.0476f,100.0000f},
- {19.0476f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch78st1[] =
-{
- {19.0476f,100.0000f},
- {85.7143f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch78st2[] =
-{
- {85.7143f,100.0000f},
- {85.7143f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch78st[] =
-{
- {2,ch78st0},
- {2,ch78st1},
- {2,ch78st2}
-};
-
-static const GLUTStrokeChar ch78 = {104.7619f,3,ch78st};
-
-/* char: 0x4f */
-
-static const GLUTStrokeVertex ch79st0[] =
-{
- {42.8571f,100.0000f},
- {33.3333f,95.2381f},
- {23.8095f,85.7143f},
- {19.0476f,76.1905f},
- {14.2857f,61.9048f},
- {14.2857f,38.0952f},
- {19.0476f,23.8095f},
- {23.8095f,14.2857f},
- {33.3333f,4.7619f},
- {42.8571f,0.0000f},
- {61.9047f,0.0000f},
- {71.4286f,4.7619f},
- {80.9524f,14.2857f},
- {85.7143f,23.8095f},
- {90.4762f,38.0952f},
- {90.4762f,61.9048f},
- {85.7143f,76.1905f},
- {80.9524f,85.7143f},
- {71.4286f,95.2381f},
- {61.9047f,100.0000f},
- {42.8571f,100.0000f}
-};
-
-static const GLUTStrokeStrip ch79st[] =
-{
- {21,ch79st0}
-};
-
-static const GLUTStrokeChar ch79 = {104.7619f,1,ch79st};
-
-/* char: 0x50 */
-
-static const GLUTStrokeVertex ch80st0[] =
-{
- {19.0476f,100.0000f},
- {19.0476f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch80st1[] =
-{
- {19.0476f,100.0000f},
- {61.9047f,100.0000f},
- {76.1905f,95.2381f},
- {80.9524f,90.4762f},
- {85.7143f,80.9524f},
- {85.7143f,66.6667f},
- {80.9524f,57.1429f},
- {76.1905f,52.3810f},
- {61.9047f,47.6190f},
- {19.0476f,47.6190f}
-};
-
-static const GLUTStrokeStrip ch80st[] =
-{
- {2,ch80st0},
- {10,ch80st1}
-};
-
-static const GLUTStrokeChar ch80 = {104.7619f,2,ch80st};
-
-/* char: 0x51 */
-
-static const GLUTStrokeVertex ch81st0[] =
-{
- {42.8571f,100.0000f},
- {33.3333f,95.2381f},
- {23.8095f,85.7143f},
- {19.0476f,76.1905f},
- {14.2857f,61.9048f},
- {14.2857f,38.0952f},
- {19.0476f,23.8095f},
- {23.8095f,14.2857f},
- {33.3333f,4.7619f},
- {42.8571f,0.0000f},
- {61.9047f,0.0000f},
- {71.4286f,4.7619f},
- {80.9524f,14.2857f},
- {85.7143f,23.8095f},
- {90.4762f,38.0952f},
- {90.4762f,61.9048f},
- {85.7143f,76.1905f},
- {80.9524f,85.7143f},
- {71.4286f,95.2381f},
- {61.9047f,100.0000f},
- {42.8571f,100.0000f}
-};
-
-static const GLUTStrokeVertex ch81st1[] =
-{
- {57.1428f,19.0476f},
- {85.7143f,-9.5238f}
-};
-
-static const GLUTStrokeStrip ch81st[] =
-{
- {21,ch81st0},
- {2,ch81st1}
-};
-
-static const GLUTStrokeChar ch81 = {104.7619f,2,ch81st};
-
-/* char: 0x52 */
-
-static const GLUTStrokeVertex ch82st0[] =
-{
- {19.0476f,100.0000f},
- {19.0476f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch82st1[] =
-{
- {19.0476f,100.0000f},
- {61.9047f,100.0000f},
- {76.1905f,95.2381f},
- {80.9524f,90.4762f},
- {85.7143f,80.9524f},
- {85.7143f,71.4286f},
- {80.9524f,61.9048f},
- {76.1905f,57.1429f},
- {61.9047f,52.3810f},
- {19.0476f,52.3810f}
-};
-
-static const GLUTStrokeVertex ch82st2[] =
-{
- {52.3809f,52.3810f},
- {85.7143f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch82st[] =
-{
- {2,ch82st0},
- {10,ch82st1},
- {2,ch82st2}
-};
-
-static const GLUTStrokeChar ch82 = {104.7619f,3,ch82st};
-
-/* char: 0x53 */
-
-static const GLUTStrokeVertex ch83st0[] =
-{
- {85.7143f,85.7143f},
- {76.1905f,95.2381f},
- {61.9047f,100.0000f},
- {42.8571f,100.0000f},
- {28.5714f,95.2381f},
- {19.0476f,85.7143f},
- {19.0476f,76.1905f},
- {23.8095f,66.6667f},
- {28.5714f,61.9048f},
- {38.0952f,57.1429f},
- {66.6666f,47.6190f},
- {76.1905f,42.8571f},
- {80.9524f,38.0952f},
- {85.7143f,28.5714f},
- {85.7143f,14.2857f},
- {76.1905f,4.7619f},
- {61.9047f,0.0000f},
- {42.8571f,0.0000f},
- {28.5714f,4.7619f},
- {19.0476f,14.2857f}
-};
-
-static const GLUTStrokeStrip ch83st[] =
-{
- {20,ch83st0}
-};
-
-static const GLUTStrokeChar ch83 = {104.7619f,1,ch83st};
-
-/* char: 0x54 */
-
-static const GLUTStrokeVertex ch84st0[] =
-{
- {52.3809f,100.0000f},
- {52.3809f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch84st1[] =
-{
- {19.0476f,100.0000f},
- {85.7143f,100.0000f}
-};
-
-static const GLUTStrokeStrip ch84st[] =
-{
- {2,ch84st0},
- {2,ch84st1}
-};
-
-static const GLUTStrokeChar ch84 = {104.7619f,2,ch84st};
-
-/* char: 0x55 */
-
-static const GLUTStrokeVertex ch85st0[] =
-{
- {19.0476f,100.0000f},
- {19.0476f,28.5714f},
- {23.8095f,14.2857f},
- {33.3333f,4.7619f},
- {47.6190f,0.0000f},
- {57.1428f,0.0000f},
- {71.4286f,4.7619f},
- {80.9524f,14.2857f},
- {85.7143f,28.5714f},
- {85.7143f,100.0000f}
-};
-
-static const GLUTStrokeStrip ch85st[] =
-{
- {10,ch85st0}
-};
-
-static const GLUTStrokeChar ch85 = {104.7619f,1,ch85st};
-
-/* char: 0x56 */
-
-static const GLUTStrokeVertex ch86st0[] =
-{
- {14.2857f,100.0000f},
- {52.3809f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch86st1[] =
-{
- {90.4762f,100.0000f},
- {52.3809f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch86st[] =
-{
- {2,ch86st0},
- {2,ch86st1}
-};
-
-static const GLUTStrokeChar ch86 = {104.7619f,2,ch86st};
-
-/* char: 0x57 */
-
-static const GLUTStrokeVertex ch87st0[] =
-{
- {4.7619f,100.0000f},
- {28.5714f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch87st1[] =
-{
- {52.3809f,100.0000f},
- {28.5714f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch87st2[] =
-{
- {52.3809f,100.0000f},
- {76.1905f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch87st3[] =
-{
- {100.0000f,100.0000f},
- {76.1905f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch87st[] =
-{
- {2,ch87st0},
- {2,ch87st1},
- {2,ch87st2},
- {2,ch87st3}
-};
-
-static const GLUTStrokeChar ch87 = {104.7619f,4,ch87st};
-
-/* char: 0x58 */
-
-static const GLUTStrokeVertex ch88st0[] =
-{
- {19.0476f,100.0000f},
- {85.7143f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch88st1[] =
-{
- {85.7143f,100.0000f},
- {19.0476f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch88st[] =
-{
- {2,ch88st0},
- {2,ch88st1}
-};
-
-static const GLUTStrokeChar ch88 = {104.7619f,2,ch88st};
-
-/* char: 0x59 */
-
-static const GLUTStrokeVertex ch89st0[] =
-{
- {14.2857f,100.0000f},
- {52.3809f,52.3810f},
- {52.3809f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch89st1[] =
-{
- {90.4762f,100.0000f},
- {52.3809f,52.3810f}
-};
-
-static const GLUTStrokeStrip ch89st[] =
-{
- {3,ch89st0},
- {2,ch89st1}
-};
-
-static const GLUTStrokeChar ch89 = {104.7619f,2,ch89st};
-
-/* char: 0x5a */
-
-static const GLUTStrokeVertex ch90st0[] =
-{
- {85.7143f,100.0000f},
- {19.0476f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch90st1[] =
-{
- {19.0476f,100.0000f},
- {85.7143f,100.0000f}
-};
-
-static const GLUTStrokeVertex ch90st2[] =
-{
- {19.0476f,0.0000f},
- {85.7143f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch90st[] =
-{
- {2,ch90st0},
- {2,ch90st1},
- {2,ch90st2}
-};
-
-static const GLUTStrokeChar ch90 = {104.7619f,3,ch90st};
-
-/* char: 0x5b */
-
-static const GLUTStrokeVertex ch91st0[] =
-{
- {35.7143f,119.0476f},
- {35.7143f,-33.3333f}
-};
-
-static const GLUTStrokeVertex ch91st1[] =
-{
- {40.4762f,119.0476f},
- {40.4762f,-33.3333f}
-};
-
-static const GLUTStrokeVertex ch91st2[] =
-{
- {35.7143f,119.0476f},
- {69.0476f,119.0476f}
-};
-
-static const GLUTStrokeVertex ch91st3[] =
-{
- {35.7143f,-33.3333f},
- {69.0476f,-33.3333f}
-};
-
-static const GLUTStrokeStrip ch91st[] =
-{
- {2,ch91st0},
- {2,ch91st1},
- {2,ch91st2},
- {2,ch91st3}
-};
-
-static const GLUTStrokeChar ch91 = {104.7619f,4,ch91st};
-
-/* char: 0x5c */
-
-static const GLUTStrokeVertex ch92st0[] =
-{
- {19.0476f,100.0000f},
- {85.7143f,-14.2857f}
-};
-
-static const GLUTStrokeStrip ch92st[] =
-{
- {2,ch92st0}
-};
-
-static const GLUTStrokeChar ch92 = {104.7619f,1,ch92st};
-
-/* char: 0x5d */
-
-static const GLUTStrokeVertex ch93st0[] =
-{
- {64.2857f,119.0476f},
- {64.2857f,-33.3333f}
-};
-
-static const GLUTStrokeVertex ch93st1[] =
-{
- {69.0476f,119.0476f},
- {69.0476f,-33.3333f}
-};
-
-static const GLUTStrokeVertex ch93st2[] =
-{
- {35.7143f,119.0476f},
- {69.0476f,119.0476f}
-};
-
-static const GLUTStrokeVertex ch93st3[] =
-{
- {35.7143f,-33.3333f},
- {69.0476f,-33.3333f}
-};
-
-static const GLUTStrokeStrip ch93st[] =
-{
- {2,ch93st0},
- {2,ch93st1},
- {2,ch93st2},
- {2,ch93st3}
-};
-
-static const GLUTStrokeChar ch93 = {104.7619f,4,ch93st};
-
-/* char: 0x5e */
-
-static const GLUTStrokeVertex ch94st0[] =
-{
- {52.3809f,109.5238f},
- {14.2857f,42.8571f}
-};
-
-static const GLUTStrokeVertex ch94st1[] =
-{
- {52.3809f,109.5238f},
- {90.4762f,42.8571f}
-};
-
-static const GLUTStrokeStrip ch94st[] =
-{
- {2,ch94st0},
- {2,ch94st1}
-};
-
-static const GLUTStrokeChar ch94 = {104.7619f,2,ch94st};
-
-/* char: 0x5f */
-
-static const GLUTStrokeVertex ch95st0[] =
-{
- {0.0000f,-33.3333f},
- {104.7619f,-33.3333f},
- {104.7619f,-28.5714f},
- {0.0000f,-28.5714f},
- {0.0000f,-33.3333f}
-};
-
-static const GLUTStrokeStrip ch95st[] =
-{
- {5,ch95st0}
-};
-
-static const GLUTStrokeChar ch95 = {104.7619f,1,ch95st};
-
-/* char: 0x60 */
-
-static const GLUTStrokeVertex ch96st0[] =
-{
- {42.8572f,100.0000f},
- {66.6667f,71.4286f}
-};
-
-static const GLUTStrokeVertex ch96st1[] =
-{
- {42.8572f,100.0000f},
- {38.0953f,95.2381f},
- {66.6667f,71.4286f}
-};
-
-static const GLUTStrokeStrip ch96st[] =
-{
- {2,ch96st0},
- {3,ch96st1}
-};
-
-static const GLUTStrokeChar ch96 = {104.7619f,2,ch96st};
-
-/* char: 0x61 */
-
-static const GLUTStrokeVertex ch97st0[] =
-{
- {80.9524f,66.6667f},
- {80.9524f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch97st1[] =
-{
- {80.9524f,52.3810f},
- {71.4285f,61.9048f},
- {61.9047f,66.6667f},
- {47.6190f,66.6667f},
- {38.0952f,61.9048f},
- {28.5714f,52.3810f},
- {23.8095f,38.0952f},
- {23.8095f,28.5714f},
- {28.5714f,14.2857f},
- {38.0952f,4.7619f},
- {47.6190f,0.0000f},
- {61.9047f,0.0000f},
- {71.4285f,4.7619f},
- {80.9524f,14.2857f}
-};
-
-static const GLUTStrokeStrip ch97st[] =
-{
- {2,ch97st0},
- {14,ch97st1}
-};
-
-static const GLUTStrokeChar ch97 = {104.7619f,2,ch97st};
-
-/* char: 0x62 */
-
-static const GLUTStrokeVertex ch98st0[] =
-{
- {23.8095f,100.0000f},
- {23.8095f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch98st1[] =
-{
- {23.8095f,52.3810f},
- {33.3333f,61.9048f},
- {42.8571f,66.6667f},
- {57.1428f,66.6667f},
- {66.6666f,61.9048f},
- {76.1905f,52.3810f},
- {80.9524f,38.0952f},
- {80.9524f,28.5714f},
- {76.1905f,14.2857f},
- {66.6666f,4.7619f},
- {57.1428f,0.0000f},
- {42.8571f,0.0000f},
- {33.3333f,4.7619f},
- {23.8095f,14.2857f}
-};
-
-static const GLUTStrokeStrip ch98st[] =
-{
- {2,ch98st0},
- {14,ch98st1}
-};
-
-static const GLUTStrokeChar ch98 = {104.7619f,2,ch98st};
-
-/* char: 0x63 */
-
-static const GLUTStrokeVertex ch99st0[] =
-{
- {80.9524f,52.3810f},
- {71.4285f,61.9048f},
- {61.9047f,66.6667f},
- {47.6190f,66.6667f},
- {38.0952f,61.9048f},
- {28.5714f,52.3810f},
- {23.8095f,38.0952f},
- {23.8095f,28.5714f},
- {28.5714f,14.2857f},
- {38.0952f,4.7619f},
- {47.6190f,0.0000f},
- {61.9047f,0.0000f},
- {71.4285f,4.7619f},
- {80.9524f,14.2857f}
-};
-
-static const GLUTStrokeStrip ch99st[] =
-{
- {14,ch99st0}
-};
-
-static const GLUTStrokeChar ch99 = {104.7619f,1,ch99st};
-
-/* char: 0x64 */
-
-static const GLUTStrokeVertex ch100st0[] =
-{
- {80.9524f,100.0000f},
- {80.9524f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch100st1[] =
-{
- {80.9524f,52.3810f},
- {71.4285f,61.9048f},
- {61.9047f,66.6667f},
- {47.6190f,66.6667f},
- {38.0952f,61.9048f},
- {28.5714f,52.3810f},
- {23.8095f,38.0952f},
- {23.8095f,28.5714f},
- {28.5714f,14.2857f},
- {38.0952f,4.7619f},
- {47.6190f,0.0000f},
- {61.9047f,0.0000f},
- {71.4285f,4.7619f},
- {80.9524f,14.2857f}
-};
-
-static const GLUTStrokeStrip ch100st[] =
-{
- {2,ch100st0},
- {14,ch100st1}
-};
-
-static const GLUTStrokeChar ch100 = {104.7619f,2,ch100st};
-
-/* char: 0x65 */
-
-static const GLUTStrokeVertex ch101st0[] =
-{
- {23.8095f,38.0952f},
- {80.9524f,38.0952f},
- {80.9524f,47.6190f},
- {76.1905f,57.1429f},
- {71.4285f,61.9048f},
- {61.9047f,66.6667f},
- {47.6190f,66.6667f},
- {38.0952f,61.9048f},
- {28.5714f,52.3810f},
- {23.8095f,38.0952f},
- {23.8095f,28.5714f},
- {28.5714f,14.2857f},
- {38.0952f,4.7619f},
- {47.6190f,0.0000f},
- {61.9047f,0.0000f},
- {71.4285f,4.7619f},
- {80.9524f,14.2857f}
-};
-
-static const GLUTStrokeStrip ch101st[] =
-{
- {17,ch101st0}
-};
-
-static const GLUTStrokeChar ch101 = {104.7619f,1,ch101st};
-
-/* char: 0x66 */
-
-static const GLUTStrokeVertex ch102st0[] =
-{
- {71.4286f,100.0000f},
- {61.9048f,100.0000f},
- {52.3810f,95.2381f},
- {47.6191f,80.9524f},
- {47.6191f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch102st1[] =
-{
- {33.3334f,66.6667f},
- {66.6667f,66.6667f}
-};
-
-static const GLUTStrokeStrip ch102st[] =
-{
- {5,ch102st0},
- {2,ch102st1}
-};
-
-static const GLUTStrokeChar ch102 = {104.7619f,2,ch102st};
-
-/* char: 0x67 */
-
-static const GLUTStrokeVertex ch103st0[] =
-{
- {80.9524f,66.6667f},
- {80.9524f,-9.5238f},
- {76.1905f,-23.8095f},
- {71.4285f,-28.5714f},
- {61.9047f,-33.3333f},
- {47.6190f,-33.3333f},
- {38.0952f,-28.5714f}
-};
-
-static const GLUTStrokeVertex ch103st1[] =
-{
- {80.9524f,52.3810f},
- {71.4285f,61.9048f},
- {61.9047f,66.6667f},
- {47.6190f,66.6667f},
- {38.0952f,61.9048f},
- {28.5714f,52.3810f},
- {23.8095f,38.0952f},
- {23.8095f,28.5714f},
- {28.5714f,14.2857f},
- {38.0952f,4.7619f},
- {47.6190f,0.0000f},
- {61.9047f,0.0000f},
- {71.4285f,4.7619f},
- {80.9524f,14.2857f}
-};
-
-static const GLUTStrokeStrip ch103st[] =
-{
- {7,ch103st0},
- {14,ch103st1}
-};
-
-static const GLUTStrokeChar ch103 = {104.7619f,2,ch103st};
-
-/* char: 0x68 */
-
-static const GLUTStrokeVertex ch104st0[] =
-{
- {26.1905f,100.0000f},
- {26.1905f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch104st1[] =
-{
- {26.1905f,47.6190f},
- {40.4762f,61.9048f},
- {50.0000f,66.6667f},
- {64.2857f,66.6667f},
- {73.8095f,61.9048f},
- {78.5715f,47.6190f},
- {78.5715f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch104st[] =
-{
- {2,ch104st0},
- {7,ch104st1}
-};
-
-static const GLUTStrokeChar ch104 = {104.7619f,2,ch104st};
-
-/* char: 0x69 */
-
-static const GLUTStrokeVertex ch105st0[] =
-{
- {47.6191f,100.0000f},
- {52.3810f,95.2381f},
- {57.1429f,100.0000f},
- {52.3810f,104.7619f},
- {47.6191f,100.0000f}
-};
-
-static const GLUTStrokeVertex ch105st1[] =
-{
- {52.3810f,66.6667f},
- {52.3810f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch105st[] =
-{
- {5,ch105st0},
- {2,ch105st1}
-};
-
-static const GLUTStrokeChar ch105 = {104.7619f,2,ch105st};
-
-/* char: 0x6a */
-
-static const GLUTStrokeVertex ch106st0[] =
-{
- {57.1429f,100.0000f},
- {61.9048f,95.2381f},
- {66.6667f,100.0000f},
- {61.9048f,104.7619f},
- {57.1429f,100.0000f}
-};
-
-static const GLUTStrokeVertex ch106st1[] =
-{
- {61.9048f,66.6667f},
- {61.9048f,-14.2857f},
- {57.1429f,-28.5714f},
- {47.6191f,-33.3333f},
- {38.0953f,-33.3333f}
-};
-
-static const GLUTStrokeStrip ch106st[] =
-{
- {5,ch106st0},
- {5,ch106st1}
-};
-
-static const GLUTStrokeChar ch106 = {104.7619f,2,ch106st};
-
-/* char: 0x6b */
-
-static const GLUTStrokeVertex ch107st0[] =
-{
- {26.1905f,100.0000f},
- {26.1905f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch107st1[] =
-{
- {73.8095f,66.6667f},
- {26.1905f,19.0476f}
-};
-
-static const GLUTStrokeVertex ch107st2[] =
-{
- {45.2381f,38.0952f},
- {78.5715f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch107st[] =
-{
- {2,ch107st0},
- {2,ch107st1},
- {2,ch107st2}
-};
-
-static const GLUTStrokeChar ch107 = {104.7619f,3,ch107st};
-
-/* char: 0x6c */
-
-static const GLUTStrokeVertex ch108st0[] =
-{
- {52.3810f,100.0000f},
- {52.3810f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch108st[] =
-{
- {2,ch108st0}
-};
-
-static const GLUTStrokeChar ch108 = {104.7619f,1,ch108st};
-
-/* char: 0x6d */
-
-static const GLUTStrokeVertex ch109st0[] =
-{
- {0.0000f,66.6667f},
- {0.0000f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch109st1[] =
-{
- {0.0000f,47.6190f},
- {14.2857f,61.9048f},
- {23.8095f,66.6667f},
- {38.0952f,66.6667f},
- {47.6190f,61.9048f},
- {52.3810f,47.6190f},
- {52.3810f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch109st2[] =
-{
- {52.3810f,47.6190f},
- {66.6667f,61.9048f},
- {76.1905f,66.6667f},
- {90.4762f,66.6667f},
- {100.0000f,61.9048f},
- {104.7619f,47.6190f},
- {104.7619f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch109st[] =
-{
- {2,ch109st0},
- {7,ch109st1},
- {7,ch109st2}
-};
-
-static const GLUTStrokeChar ch109 = {104.7619f,3,ch109st};
-
-/* char: 0x6e */
-
-static const GLUTStrokeVertex ch110st0[] =
-{
- {26.1905f,66.6667f},
- {26.1905f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch110st1[] =
-{
- {26.1905f,47.6190f},
- {40.4762f,61.9048f},
- {50.0000f,66.6667f},
- {64.2857f,66.6667f},
- {73.8095f,61.9048f},
- {78.5715f,47.6190f},
- {78.5715f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch110st[] =
-{
- {2,ch110st0},
- {7,ch110st1}
-};
-
-static const GLUTStrokeChar ch110 = {104.7619f,2,ch110st};
-
-/* char: 0x6f */
-
-static const GLUTStrokeVertex ch111st0[] =
-{
- {45.2381f,66.6667f},
- {35.7143f,61.9048f},
- {26.1905f,52.3810f},
- {21.4286f,38.0952f},
- {21.4286f,28.5714f},
- {26.1905f,14.2857f},
- {35.7143f,4.7619f},
- {45.2381f,0.0000f},
- {59.5238f,0.0000f},
- {69.0476f,4.7619f},
- {78.5714f,14.2857f},
- {83.3334f,28.5714f},
- {83.3334f,38.0952f},
- {78.5714f,52.3810f},
- {69.0476f,61.9048f},
- {59.5238f,66.6667f},
- {45.2381f,66.6667f}
-};
-
-static const GLUTStrokeStrip ch111st[] =
-{
- {17,ch111st0}
-};
-
-static const GLUTStrokeChar ch111 = {104.7619f,1,ch111st};
-
-/* char: 0x70 */
-
-static const GLUTStrokeVertex ch112st0[] =
-{
- {23.8095f,66.6667f},
- {23.8095f,-33.3333f}
-};
-
-static const GLUTStrokeVertex ch112st1[] =
-{
- {23.8095f,52.3810f},
- {33.3333f,61.9048f},
- {42.8571f,66.6667f},
- {57.1428f,66.6667f},
- {66.6666f,61.9048f},
- {76.1905f,52.3810f},
- {80.9524f,38.0952f},
- {80.9524f,28.5714f},
- {76.1905f,14.2857f},
- {66.6666f,4.7619f},
- {57.1428f,0.0000f},
- {42.8571f,0.0000f},
- {33.3333f,4.7619f},
- {23.8095f,14.2857f}
-};
-
-static const GLUTStrokeStrip ch112st[] =
-{
- {2,ch112st0},
- {14,ch112st1}
-};
-
-static const GLUTStrokeChar ch112 = {104.7619f,2,ch112st};
-
-/* char: 0x71 */
-
-static const GLUTStrokeVertex ch113st0[] =
-{
- {80.9524f,66.6667f},
- {80.9524f,-33.3333f}
-};
-
-static const GLUTStrokeVertex ch113st1[] =
-{
- {80.9524f,52.3810f},
- {71.4285f,61.9048f},
- {61.9047f,66.6667f},
- {47.6190f,66.6667f},
- {38.0952f,61.9048f},
- {28.5714f,52.3810f},
- {23.8095f,38.0952f},
- {23.8095f,28.5714f},
- {28.5714f,14.2857f},
- {38.0952f,4.7619f},
- {47.6190f,0.0000f},
- {61.9047f,0.0000f},
- {71.4285f,4.7619f},
- {80.9524f,14.2857f}
-};
-
-static const GLUTStrokeStrip ch113st[] =
-{
- {2,ch113st0},
- {14,ch113st1}
-};
-
-static const GLUTStrokeChar ch113 = {104.7619f,2,ch113st};
-
-/* char: 0x72 */
-
-static const GLUTStrokeVertex ch114st0[] =
-{
- {33.3334f,66.6667f},
- {33.3334f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch114st1[] =
-{
- {33.3334f,38.0952f},
- {38.0953f,52.3810f},
- {47.6191f,61.9048f},
- {57.1429f,66.6667f},
- {71.4286f,66.6667f}
-};
-
-static const GLUTStrokeStrip ch114st[] =
-{
- {2,ch114st0},
- {5,ch114st1}
-};
-
-static const GLUTStrokeChar ch114 = {104.7619f,2,ch114st};
-
-/* char: 0x73 */
-
-static const GLUTStrokeVertex ch115st0[] =
-{
- {78.5715f,52.3810f},
- {73.8095f,61.9048f},
- {59.5238f,66.6667f},
- {45.2381f,66.6667f},
- {30.9524f,61.9048f},
- {26.1905f,52.3810f},
- {30.9524f,42.8571f},
- {40.4762f,38.0952f},
- {64.2857f,33.3333f},
- {73.8095f,28.5714f},
- {78.5715f,19.0476f},
- {78.5715f,14.2857f},
- {73.8095f,4.7619f},
- {59.5238f,0.0000f},
- {45.2381f,0.0000f},
- {30.9524f,4.7619f},
- {26.1905f,14.2857f}
-};
-
-static const GLUTStrokeStrip ch115st[] =
-{
- {17,ch115st0}
-};
-
-static const GLUTStrokeChar ch115 = {104.7619f,1,ch115st};
-
-/* char: 0x74 */
-
-static const GLUTStrokeVertex ch116st0[] =
-{
- {47.6191f,100.0000f},
- {47.6191f,19.0476f},
- {52.3810f,4.7619f},
- {61.9048f,0.0000f},
- {71.4286f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch116st1[] =
-{
- {33.3334f,66.6667f},
- {66.6667f,66.6667f}
-};
-
-static const GLUTStrokeStrip ch116st[] =
-{
- {5,ch116st0},
- {2,ch116st1}
-};
-
-static const GLUTStrokeChar ch116 = {104.7619f,2,ch116st};
-
-/* char: 0x75 */
-
-static const GLUTStrokeVertex ch117st0[] =
-{
- {26.1905f,66.6667f},
- {26.1905f,19.0476f},
- {30.9524f,4.7619f},
- {40.4762f,0.0000f},
- {54.7619f,0.0000f},
- {64.2857f,4.7619f},
- {78.5715f,19.0476f}
-};
-
-static const GLUTStrokeVertex ch117st1[] =
-{
- {78.5715f,66.6667f},
- {78.5715f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch117st[] =
-{
- {7,ch117st0},
- {2,ch117st1}
-};
-
-static const GLUTStrokeChar ch117 = {104.7619f,2,ch117st};
-
-/* char: 0x76 */
-
-static const GLUTStrokeVertex ch118st0[] =
-{
- {23.8095f,66.6667f},
- {52.3809f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch118st1[] =
-{
- {80.9524f,66.6667f},
- {52.3809f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch118st[] =
-{
- {2,ch118st0},
- {2,ch118st1}
-};
-
-static const GLUTStrokeChar ch118 = {104.7619f,2,ch118st};
-
-/* char: 0x77 */
-
-static const GLUTStrokeVertex ch119st0[] =
-{
- {14.2857f,66.6667f},
- {33.3333f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch119st1[] =
-{
- {52.3809f,66.6667f},
- {33.3333f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch119st2[] =
-{
- {52.3809f,66.6667f},
- {71.4286f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch119st3[] =
-{
- {90.4762f,66.6667f},
- {71.4286f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch119st[] =
-{
- {2,ch119st0},
- {2,ch119st1},
- {2,ch119st2},
- {2,ch119st3}
-};
-
-static const GLUTStrokeChar ch119 = {104.7619f,4,ch119st};
-
-/* char: 0x78 */
-
-static const GLUTStrokeVertex ch120st0[] =
-{
- {26.1905f,66.6667f},
- {78.5715f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch120st1[] =
-{
- {78.5715f,66.6667f},
- {26.1905f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch120st[] =
-{
- {2,ch120st0},
- {2,ch120st1}
-};
-
-static const GLUTStrokeChar ch120 = {104.7619f,2,ch120st};
-
-/* char: 0x79 */
-
-static const GLUTStrokeVertex ch121st0[] =
-{
- {26.1905f,66.6667f},
- {54.7619f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch121st1[] =
-{
- {83.3334f,66.6667f},
- {54.7619f,0.0000f},
- {45.2381f,-19.0476f},
- {35.7143f,-28.5714f},
- {26.1905f,-33.3333f},
- {21.4286f,-33.3333f}
-};
-
-static const GLUTStrokeStrip ch121st[] =
-{
- {2,ch121st0},
- {6,ch121st1}
-};
-
-static const GLUTStrokeChar ch121 = {104.7619f,2,ch121st};
-
-/* char: 0x7a */
-
-static const GLUTStrokeVertex ch122st0[] =
-{
- {78.5715f,66.6667f},
- {26.1905f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch122st1[] =
-{
- {26.1905f,66.6667f},
- {78.5715f,66.6667f}
-};
-
-static const GLUTStrokeVertex ch122st2[] =
-{
- {26.1905f,0.0000f},
- {78.5715f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch122st[] =
-{
- {2,ch122st0},
- {2,ch122st1},
- {2,ch122st2}
-};
-
-static const GLUTStrokeChar ch122 = {104.7619f,3,ch122st};
-
-/* char: 0x7b */
-
-static const GLUTStrokeVertex ch123st0[] =
-{
- {64.2857f,119.0476f},
- {54.7619f,114.2857f},
- {50.0000f,109.5238f},
- {45.2381f,100.0000f},
- {45.2381f,90.4762f},
- {50.0000f,80.9524f},
- {54.7619f,76.1905f},
- {59.5238f,66.6667f},
- {59.5238f,57.1429f},
- {50.0000f,47.6190f}
-};
-
-static const GLUTStrokeVertex ch123st1[] =
-{
- {54.7619f,114.2857f},
- {50.0000f,104.7619f},
- {50.0000f,95.2381f},
- {54.7619f,85.7143f},
- {59.5238f,80.9524f},
- {64.2857f,71.4286f},
- {64.2857f,61.9048f},
- {59.5238f,52.3810f},
- {40.4762f,42.8571f},
- {59.5238f,33.3333f},
- {64.2857f,23.8095f},
- {64.2857f,14.2857f},
- {59.5238f,4.7619f},
- {54.7619f,0.0000f},
- {50.0000f,-9.5238f},
- {50.0000f,-19.0476f},
- {54.7619f,-28.5714f}
-};
-
-static const GLUTStrokeVertex ch123st2[] =
-{
- {50.0000f,38.0952f},
- {59.5238f,28.5714f},
- {59.5238f,19.0476f},
- {54.7619f,9.5238f},
- {50.0000f,4.7619f},
- {45.2381f,-4.7619f},
- {45.2381f,-14.2857f},
- {50.0000f,-23.8095f},
- {54.7619f,-28.5714f},
- {64.2857f,-33.3333f}
-};
-
-static const GLUTStrokeStrip ch123st[] =
-{
- {10,ch123st0},
- {17,ch123st1},
- {10,ch123st2}
-};
-
-static const GLUTStrokeChar ch123 = {104.7619f,3,ch123st};
-
-/* char: 0x7c */
-
-static const GLUTStrokeVertex ch124st0[] =
-{
- {52.3810f,119.0476f},
- {52.3810f,-33.3333f}
-};
-
-static const GLUTStrokeStrip ch124st[] =
-{
- {2,ch124st0}
-};
-
-static const GLUTStrokeChar ch124 = {104.7619f,1,ch124st};
-
-/* char: 0x7d */
-
-static const GLUTStrokeVertex ch125st0[] =
-{
- {40.4762f,119.0476f},
- {50.0000f,114.2857f},
- {54.7619f,109.5238f},
- {59.5238f,100.0000f},
- {59.5238f,90.4762f},
- {54.7619f,80.9524f},
- {50.0000f,76.1905f},
- {45.2381f,66.6667f},
- {45.2381f,57.1429f},
- {54.7619f,47.6190f}
-};
-
-static const GLUTStrokeVertex ch125st1[] =
-{
- {50.0000f,114.2857f},
- {54.7619f,104.7619f},
- {54.7619f,95.2381f},
- {50.0000f,85.7143f},
- {45.2381f,80.9524f},
- {40.4762f,71.4286f},
- {40.4762f,61.9048f},
- {45.2381f,52.3810f},
- {64.2857f,42.8571f},
- {45.2381f,33.3333f},
- {40.4762f,23.8095f},
- {40.4762f,14.2857f},
- {45.2381f,4.7619f},
- {50.0000f,0.0000f},
- {54.7619f,-9.5238f},
- {54.7619f,-19.0476f},
- {50.0000f,-28.5714f}
-};
-
-static const GLUTStrokeVertex ch125st2[] =
-{
- {54.7619f,38.0952f},
- {45.2381f,28.5714f},
- {45.2381f,19.0476f},
- {50.0000f,9.5238f},
- {54.7619f,4.7619f},
- {59.5238f,-4.7619f},
- {59.5238f,-14.2857f},
- {54.7619f,-23.8095f},
- {50.0000f,-28.5714f},
- {40.4762f,-33.3333f}
-};
-
-static const GLUTStrokeStrip ch125st[] =
-{
- {10,ch125st0},
- {17,ch125st1},
- {10,ch125st2}
-};
-
-static const GLUTStrokeChar ch125 = {104.7619f,3,ch125st};
-
-/* char: 0x7e */
-
-static const GLUTStrokeVertex ch126st0[] =
-{
- {9.5238f,28.5714f},
- {9.5238f,38.0952f},
- {14.2857f,52.3810f},
- {23.8095f,57.1429f},
- {33.3333f,57.1429f},
- {42.8571f,52.3810f},
- {61.9048f,38.0952f},
- {71.4286f,33.3333f},
- {80.9524f,33.3333f},
- {90.4762f,38.0952f},
- {95.2381f,47.6190f}
-};
-
-static const GLUTStrokeVertex ch126st1[] =
-{
- {9.5238f,38.0952f},
- {14.2857f,47.6190f},
- {23.8095f,52.3810f},
- {33.3333f,52.3810f},
- {42.8571f,47.6190f},
- {61.9048f,33.3333f},
- {71.4286f,28.5714f},
- {80.9524f,28.5714f},
- {90.4762f,33.3333f},
- {95.2381f,47.6190f},
- {95.2381f,57.1429f}
-};
-
-static const GLUTStrokeStrip ch126st[] =
-{
- {11,ch126st0},
- {11,ch126st1}
-};
-
-static const GLUTStrokeChar ch126 = {104.7619f,2,ch126st};
-
-static const GLUTStrokeChar *chars[] =
-{
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- &ch32, &ch33, &ch34, &ch35, &ch36, &ch37, &ch38, &ch39,
- &ch40, &ch41, &ch42, &ch43, &ch44, &ch45, &ch46, &ch47,
- &ch48, &ch49, &ch50, &ch51, &ch52, &ch53, &ch54, &ch55,
- &ch56, &ch57, &ch58, &ch59, &ch60, &ch61, &ch62, &ch63,
- &ch64, &ch65, &ch66, &ch67, &ch68, &ch69, &ch70, &ch71,
- &ch72, &ch73, &ch74, &ch75, &ch76, &ch77, &ch78, &ch79,
- &ch80, &ch81, &ch82, &ch83, &ch84, &ch85, &ch86, &ch87,
- &ch88, &ch89, &ch90, &ch91, &ch92, &ch93, &ch94, &ch95,
- &ch96, &ch97, &ch98, &ch99, &ch100, &ch101, &ch102, &ch103,
- &ch104, &ch105, &ch106, &ch107, &ch108, &ch109, &ch110, &ch111,
- &ch112, &ch113, &ch114, &ch115, &ch116, &ch117, &ch118, &ch119,
- &ch120, &ch121, &ch122, &ch123, &ch124, &ch125, &ch126
-};
-
-const GLUTStrokeFont glutStrokeMonoRoman = {"MonoRoman",128,chars,152.3809f,33.3333f};
diff --git a/src/glut/dos/overlay.c b/src/glut/dos/overlay.c
deleted file mode 100644
index 46d3a39577..0000000000
--- a/src/glut/dos/overlay.c
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * DOS/DJGPP Mesa Utility Toolkit
- * Version: 1.0
- *
- * Copyright (C) 2005 Daniel Borca 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
- * DANIEL BORCA 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.
- */
-
-
-#include "internal.h"
-
-
-int APIENTRY
-glutLayerGet (GLenum info)
-{
- switch (info) {
- case GLUT_OVERLAY_POSSIBLE:
- case GLUT_HAS_OVERLAY:
- return GL_FALSE;
- case GLUT_LAYER_IN_USE:
- return GLUT_NORMAL;
- case GLUT_NORMAL_DAMAGED:
- return GL_FALSE;
- case GLUT_OVERLAY_DAMAGED:
- case GLUT_TRANSPARENT_INDEX:
- default:
- return -1;
- }
-}
-
-
-void APIENTRY
-glutOverlayDisplayFunc (GLUTdisplayCB func)
-{
-}
-
-
-void APIENTRY
-glutEstablishOverlay (void)
-{
-}
-
-
-void APIENTRY
-glutRemoveOverlay (void)
-{
-}
-
-
-void APIENTRY
-glutUseLayer (GLenum layer)
-{
-}
-
-
-void APIENTRY
-glutPostOverlayRedisplay (void)
-{
-}
-
-
-void APIENTRY
-glutShowOverlay (void)
-{
-}
-
-
-void APIENTRY
-glutHideOverlay (void)
-{
-}
-
-
-void APIENTRY
-glutPostWindowOverlayRedisplay (int win)
-{
-}
diff --git a/src/glut/dos/roman.c b/src/glut/dos/roman.c
deleted file mode 100644
index c30d76eb3f..0000000000
--- a/src/glut/dos/roman.c
+++ /dev/null
@@ -1,2779 +0,0 @@
-
-/* GENERATED FILE -- DO NOT MODIFY */
-
-#include "internal.h"
-
-/* char: 0x20 */
-
-static const GLUTStrokeChar ch32 = {104.7619f,0,NULL};
-
-/* char: 0x21 */
-
-static const GLUTStrokeVertex ch33st0[] =
-{
- {13.3819f,100.0000f},
- {13.3819f,33.3333f}
-};
-
-static const GLUTStrokeVertex ch33st1[] =
-{
- {13.3819f,9.5238f},
- {8.6200f,4.7619f},
- {13.3819f,0.0000f},
- {18.1438f,4.7619f},
- {13.3819f,9.5238f}
-};
-
-static const GLUTStrokeStrip ch33st[] =
-{
- {2,ch33st0},
- {5,ch33st1}
-};
-
-static const GLUTStrokeChar ch33 = {26.6238f,2,ch33st};
-
-/* char: 0x22 */
-
-static const GLUTStrokeVertex ch34st0[] =
-{
- {4.0200f,100.0000f},
- {4.0200f,66.6667f}
-};
-
-static const GLUTStrokeVertex ch34st1[] =
-{
- {42.1152f,100.0000f},
- {42.1152f,66.6667f}
-};
-
-static const GLUTStrokeStrip ch34st[] =
-{
- {2,ch34st0},
- {2,ch34st1}
-};
-
-static const GLUTStrokeChar ch34 = {51.4352f,2,ch34st};
-
-/* char: 0x23 */
-
-static const GLUTStrokeVertex ch35st0[] =
-{
- {41.2952f,119.0476f},
- {7.9619f,-33.3333f}
-};
-
-static const GLUTStrokeVertex ch35st1[] =
-{
- {69.8667f,119.0476f},
- {36.5333f,-33.3333f}
-};
-
-static const GLUTStrokeVertex ch35st2[] =
-{
- {7.9619f,57.1429f},
- {74.6286f,57.1429f}
-};
-
-static const GLUTStrokeVertex ch35st3[] =
-{
- {3.2000f,28.5714f},
- {69.8667f,28.5714f}
-};
-
-static const GLUTStrokeStrip ch35st[] =
-{
- {2,ch35st0},
- {2,ch35st1},
- {2,ch35st2},
- {2,ch35st3}
-};
-
-static const GLUTStrokeChar ch35 = {79.4886f,4,ch35st};
-
-/* char: 0x24 */
-
-static const GLUTStrokeVertex ch36st0[] =
-{
- {28.6295f,119.0476f},
- {28.6295f,-19.0476f}
-};
-
-static const GLUTStrokeVertex ch36st1[] =
-{
- {47.6771f,119.0476f},
- {47.6771f,-19.0476f}
-};
-
-static const GLUTStrokeVertex ch36st2[] =
-{
- {71.4867f,85.7143f},
- {61.9629f,95.2381f},
- {47.6771f,100.0000f},
- {28.6295f,100.0000f},
- {14.3438f,95.2381f},
- {4.8200f,85.7143f},
- {4.8200f,76.1905f},
- {9.5819f,66.6667f},
- {14.3438f,61.9048f},
- {23.8676f,57.1429f},
- {52.4390f,47.6190f},
- {61.9629f,42.8571f},
- {66.7248f,38.0952f},
- {71.4867f,28.5714f},
- {71.4867f,14.2857f},
- {61.9629f,4.7619f},
- {47.6771f,0.0000f},
- {28.6295f,0.0000f},
- {14.3438f,4.7619f},
- {4.8200f,14.2857f}
-};
-
-static const GLUTStrokeStrip ch36st[] =
-{
- {2,ch36st0},
- {2,ch36st1},
- {20,ch36st2}
-};
-
-static const GLUTStrokeChar ch36 = {76.2067f,3,ch36st};
-
-/* char: 0x25 */
-
-static const GLUTStrokeVertex ch37st0[] =
-{
- {92.0743f,100.0000f},
- {6.3600f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch37st1[] =
-{
- {30.1695f,100.0000f},
- {39.6933f,90.4762f},
- {39.6933f,80.9524f},
- {34.9314f,71.4286f},
- {25.4076f,66.6667f},
- {15.8838f,66.6667f},
- {6.3600f,76.1905f},
- {6.3600f,85.7143f},
- {11.1219f,95.2381f},
- {20.6457f,100.0000f},
- {30.1695f,100.0000f},
- {39.6933f,95.2381f},
- {53.9790f,90.4762f},
- {68.2648f,90.4762f},
- {82.5505f,95.2381f},
- {92.0743f,100.0000f}
-};
-
-static const GLUTStrokeVertex ch37st2[] =
-{
- {73.0267f,33.3333f},
- {63.5029f,28.5714f},
- {58.7410f,19.0476f},
- {58.7410f,9.5238f},
- {68.2648f,0.0000f},
- {77.7886f,0.0000f},
- {87.3124f,4.7619f},
- {92.0743f,14.2857f},
- {92.0743f,23.8095f},
- {82.5505f,33.3333f},
- {73.0267f,33.3333f}
-};
-
-static const GLUTStrokeStrip ch37st[] =
-{
- {2,ch37st0},
- {16,ch37st1},
- {11,ch37st2}
-};
-
-static const GLUTStrokeChar ch37 = {96.5743f,3,ch37st};
-
-/* char: 0x26 */
-
-static const GLUTStrokeVertex ch38st0[] =
-{
- {101.2181f,57.1429f},
- {101.2181f,61.9048f},
- {96.4562f,66.6667f},
- {91.6943f,66.6667f},
- {86.9324f,61.9048f},
- {82.1705f,52.3810f},
- {72.6467f,28.5714f},
- {63.1229f,14.2857f},
- {53.5990f,4.7619f},
- {44.0752f,0.0000f},
- {25.0276f,0.0000f},
- {15.5038f,4.7619f},
- {10.7419f,9.5238f},
- {5.9800f,19.0476f},
- {5.9800f,28.5714f},
- {10.7419f,38.0952f},
- {15.5038f,42.8571f},
- {48.8371f,61.9048f},
- {53.5990f,66.6667f},
- {58.3610f,76.1905f},
- {58.3610f,85.7143f},
- {53.5990f,95.2381f},
- {44.0752f,100.0000f},
- {34.5514f,95.2381f},
- {29.7895f,85.7143f},
- {29.7895f,76.1905f},
- {34.5514f,61.9048f},
- {44.0752f,47.6190f},
- {67.8848f,14.2857f},
- {77.4086f,4.7619f},
- {86.9324f,0.0000f},
- {96.4562f,0.0000f},
- {101.2181f,4.7619f},
- {101.2181f,9.5238f}
-};
-
-static const GLUTStrokeStrip ch38st[] =
-{
- {34,ch38st0}
-};
-
-static const GLUTStrokeChar ch38 = {101.7581f,1,ch38st};
-
-/* char: 0x27 */
-
-static const GLUTStrokeVertex ch39st0[] =
-{
- {4.4400f,100.0000f},
- {4.4400f,66.6667f}
-};
-
-static const GLUTStrokeStrip ch39st[] =
-{
- {2,ch39st0}
-};
-
-static const GLUTStrokeChar ch39 = {13.6200f,1,ch39st};
-
-/* char: 0x28 */
-
-static const GLUTStrokeVertex ch40st0[] =
-{
- {40.9133f,119.0476f},
- {31.3895f,109.5238f},
- {21.8657f,95.2381f},
- {12.3419f,76.1905f},
- {7.5800f,52.3810f},
- {7.5800f,33.3333f},
- {12.3419f,9.5238f},
- {21.8657f,-9.5238f},
- {31.3895f,-23.8095f},
- {40.9133f,-33.3333f}
-};
-
-static const GLUTStrokeStrip ch40st[] =
-{
- {10,ch40st0}
-};
-
-static const GLUTStrokeChar ch40 = {47.1733f,1,ch40st};
-
-/* char: 0x29 */
-
-static const GLUTStrokeVertex ch41st0[] =
-{
- {5.2800f,119.0476f},
- {14.8038f,109.5238f},
- {24.3276f,95.2381f},
- {33.8514f,76.1905f},
- {38.6133f,52.3810f},
- {38.6133f,33.3333f},
- {33.8514f,9.5238f},
- {24.3276f,-9.5238f},
- {14.8038f,-23.8095f},
- {5.2800f,-33.3333f}
-};
-
-static const GLUTStrokeStrip ch41st[] =
-{
- {10,ch41st0}
-};
-
-static const GLUTStrokeChar ch41 = {47.5333f,1,ch41st};
-
-/* char: 0x2a */
-
-static const GLUTStrokeVertex ch42st0[] =
-{
- {30.7695f,71.4286f},
- {30.7695f,14.2857f}
-};
-
-static const GLUTStrokeVertex ch42st1[] =
-{
- {6.9600f,57.1429f},
- {54.5790f,28.5714f}
-};
-
-static const GLUTStrokeVertex ch42st2[] =
-{
- {54.5790f,57.1429f},
- {6.9600f,28.5714f}
-};
-
-static const GLUTStrokeStrip ch42st[] =
-{
- {2,ch42st0},
- {2,ch42st1},
- {2,ch42st2}
-};
-
-static const GLUTStrokeChar ch42 = {59.4390f,3,ch42st};
-
-/* char: 0x2b */
-
-static const GLUTStrokeVertex ch43st0[] =
-{
- {48.8371f,85.7143f},
- {48.8371f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch43st1[] =
-{
- {5.9800f,42.8571f},
- {91.6943f,42.8571f}
-};
-
-static const GLUTStrokeStrip ch43st[] =
-{
- {2,ch43st0},
- {2,ch43st1}
-};
-
-static const GLUTStrokeChar ch43 = {97.2543f,2,ch43st};
-
-/* char: 0x2c */
-
-static const GLUTStrokeVertex ch44st0[] =
-{
- {18.2838f,4.7619f},
- {13.5219f,0.0000f},
- {8.7600f,4.7619f},
- {13.5219f,9.5238f},
- {18.2838f,4.7619f},
- {18.2838f,-4.7619f},
- {13.5219f,-14.2857f},
- {8.7600f,-19.0476f}
-};
-
-static const GLUTStrokeStrip ch44st[] =
-{
- {8,ch44st0}
-};
-
-static const GLUTStrokeChar ch44 = {26.0638f,1,ch44st};
-
-/* char: 0x2d */
-
-static const GLUTStrokeVertex ch45st0[] =
-{
- {7.3800f,42.8571f},
- {93.0943f,42.8571f}
-};
-
-static const GLUTStrokeStrip ch45st[] =
-{
- {2,ch45st0}
-};
-
-static const GLUTStrokeChar ch45 = {100.7543f,1,ch45st};
-
-/* char: 0x2e */
-
-static const GLUTStrokeVertex ch46st0[] =
-{
- {13.1019f,9.5238f},
- {8.3400f,4.7619f},
- {13.1019f,0.0000f},
- {17.8638f,4.7619f},
- {13.1019f,9.5238f}
-};
-
-static const GLUTStrokeStrip ch46st[] =
-{
- {5,ch46st0}
-};
-
-static const GLUTStrokeChar ch46 = {26.4838f,1,ch46st};
-
-/* char: 0x2f */
-
-static const GLUTStrokeVertex ch47st0[] =
-{
- {7.2400f,-14.2857f},
- {73.9067f,100.0000f}
-};
-
-static const GLUTStrokeStrip ch47st[] =
-{
- {2,ch47st0}
-};
-
-static const GLUTStrokeChar ch47 = {82.1067f,1,ch47st};
-
-/* char: 0x30 */
-
-static const GLUTStrokeVertex ch48st0[] =
-{
- {33.5514f,100.0000f},
- {19.2657f,95.2381f},
- {9.7419f,80.9524f},
- {4.9800f,57.1429f},
- {4.9800f,42.8571f},
- {9.7419f,19.0476f},
- {19.2657f,4.7619f},
- {33.5514f,0.0000f},
- {43.0752f,0.0000f},
- {57.3610f,4.7619f},
- {66.8848f,19.0476f},
- {71.6467f,42.8571f},
- {71.6467f,57.1429f},
- {66.8848f,80.9524f},
- {57.3610f,95.2381f},
- {43.0752f,100.0000f},
- {33.5514f,100.0000f}
-};
-
-static const GLUTStrokeStrip ch48st[] =
-{
- {17,ch48st0}
-};
-
-static const GLUTStrokeChar ch48 = {77.0667f,1,ch48st};
-
-/* char: 0x31 */
-
-static const GLUTStrokeVertex ch49st0[] =
-{
- {11.8200f,80.9524f},
- {21.3438f,85.7143f},
- {35.6295f,100.0000f},
- {35.6295f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch49st[] =
-{
- {4,ch49st0}
-};
-
-static const GLUTStrokeChar ch49 = {66.5295f,1,ch49st};
-
-/* char: 0x32 */
-
-static const GLUTStrokeVertex ch50st0[] =
-{
- {10.1819f,76.1905f},
- {10.1819f,80.9524f},
- {14.9438f,90.4762f},
- {19.7057f,95.2381f},
- {29.2295f,100.0000f},
- {48.2771f,100.0000f},
- {57.8010f,95.2381f},
- {62.5629f,90.4762f},
- {67.3248f,80.9524f},
- {67.3248f,71.4286f},
- {62.5629f,61.9048f},
- {53.0390f,47.6190f},
- {5.4200f,0.0000f},
- {72.0867f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch50st[] =
-{
- {14,ch50st0}
-};
-
-static const GLUTStrokeChar ch50 = {77.6467f,1,ch50st};
-
-/* char: 0x33 */
-
-static const GLUTStrokeVertex ch51st0[] =
-{
- {14.5238f,100.0000f},
- {66.9048f,100.0000f},
- {38.3333f,61.9048f},
- {52.6190f,61.9048f},
- {62.1429f,57.1429f},
- {66.9048f,52.3810f},
- {71.6667f,38.0952f},
- {71.6667f,28.5714f},
- {66.9048f,14.2857f},
- {57.3810f,4.7619f},
- {43.0952f,0.0000f},
- {28.8095f,0.0000f},
- {14.5238f,4.7619f},
- {9.7619f,9.5238f},
- {5.0000f,19.0476f}
-};
-
-static const GLUTStrokeStrip ch51st[] =
-{
- {15,ch51st0}
-};
-
-static const GLUTStrokeChar ch51 = {77.0467f,1,ch51st};
-
-/* char: 0x34 */
-
-static const GLUTStrokeVertex ch52st0[] =
-{
- {51.4990f,100.0000f},
- {3.8800f,33.3333f},
- {75.3086f,33.3333f}
-};
-
-static const GLUTStrokeVertex ch52st1[] =
-{
- {51.4990f,100.0000f},
- {51.4990f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch52st[] =
-{
- {3,ch52st0},
- {2,ch52st1}
-};
-
-static const GLUTStrokeChar ch52 = {80.1686f,2,ch52st};
-
-/* char: 0x35 */
-
-static const GLUTStrokeVertex ch53st0[] =
-{
- {62.0029f,100.0000f},
- {14.3838f,100.0000f},
- {9.6219f,57.1429f},
- {14.3838f,61.9048f},
- {28.6695f,66.6667f},
- {42.9552f,66.6667f},
- {57.2410f,61.9048f},
- {66.7648f,52.3810f},
- {71.5267f,38.0952f},
- {71.5267f,28.5714f},
- {66.7648f,14.2857f},
- {57.2410f,4.7619f},
- {42.9552f,0.0000f},
- {28.6695f,0.0000f},
- {14.3838f,4.7619f},
- {9.6219f,9.5238f},
- {4.8600f,19.0476f}
-};
-
-static const GLUTStrokeStrip ch53st[] =
-{
- {17,ch53st0}
-};
-
-static const GLUTStrokeChar ch53 = {77.6867f,1,ch53st};
-
-/* char: 0x36 */
-
-static const GLUTStrokeVertex ch54st0[] =
-{
- {62.7229f,85.7143f},
- {57.9610f,95.2381f},
- {43.6752f,100.0000f},
- {34.1514f,100.0000f},
- {19.8657f,95.2381f},
- {10.3419f,80.9524f},
- {5.5800f,57.1429f},
- {5.5800f,33.3333f},
- {10.3419f,14.2857f},
- {19.8657f,4.7619f},
- {34.1514f,0.0000f},
- {38.9133f,0.0000f},
- {53.1990f,4.7619f},
- {62.7229f,14.2857f},
- {67.4848f,28.5714f},
- {67.4848f,33.3333f},
- {62.7229f,47.6190f},
- {53.1990f,57.1429f},
- {38.9133f,61.9048f},
- {34.1514f,61.9048f},
- {19.8657f,57.1429f},
- {10.3419f,47.6190f},
- {5.5800f,33.3333f}
-};
-
-static const GLUTStrokeStrip ch54st[] =
-{
- {23,ch54st0}
-};
-
-static const GLUTStrokeChar ch54 = {73.8048f,1,ch54st};
-
-/* char: 0x37 */
-
-static const GLUTStrokeVertex ch55st0[] =
-{
- {72.2267f,100.0000f},
- {24.6076f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch55st1[] =
-{
- {5.5600f,100.0000f},
- {72.2267f,100.0000f}
-};
-
-static const GLUTStrokeStrip ch55st[] =
-{
- {2,ch55st0},
- {2,ch55st1}
-};
-
-static const GLUTStrokeChar ch55 = {77.2267f,2,ch55st};
-
-/* char: 0x38 */
-
-static const GLUTStrokeVertex ch56st0[] =
-{
- {29.4095f,100.0000f},
- {15.1238f,95.2381f},
- {10.3619f,85.7143f},
- {10.3619f,76.1905f},
- {15.1238f,66.6667f},
- {24.6476f,61.9048f},
- {43.6952f,57.1429f},
- {57.9810f,52.3810f},
- {67.5048f,42.8571f},
- {72.2667f,33.3333f},
- {72.2667f,19.0476f},
- {67.5048f,9.5238f},
- {62.7429f,4.7619f},
- {48.4571f,0.0000f},
- {29.4095f,0.0000f},
- {15.1238f,4.7619f},
- {10.3619f,9.5238f},
- {5.6000f,19.0476f},
- {5.6000f,33.3333f},
- {10.3619f,42.8571f},
- {19.8857f,52.3810f},
- {34.1714f,57.1429f},
- {53.2190f,61.9048f},
- {62.7429f,66.6667f},
- {67.5048f,76.1905f},
- {67.5048f,85.7143f},
- {62.7429f,95.2381f},
- {48.4571f,100.0000f},
- {29.4095f,100.0000f}
-};
-
-static const GLUTStrokeStrip ch56st[] =
-{
- {29,ch56st0}
-};
-
-static const GLUTStrokeChar ch56 = {77.6667f,1,ch56st};
-
-/* char: 0x39 */
-
-static const GLUTStrokeVertex ch57st0[] =
-{
- {68.5048f,66.6667f},
- {63.7429f,52.3810f},
- {54.2190f,42.8571f},
- {39.9333f,38.0952f},
- {35.1714f,38.0952f},
- {20.8857f,42.8571f},
- {11.3619f,52.3810f},
- {6.6000f,66.6667f},
- {6.6000f,71.4286f},
- {11.3619f,85.7143f},
- {20.8857f,95.2381f},
- {35.1714f,100.0000f},
- {39.9333f,100.0000f},
- {54.2190f,95.2381f},
- {63.7429f,85.7143f},
- {68.5048f,66.6667f},
- {68.5048f,42.8571f},
- {63.7429f,19.0476f},
- {54.2190f,4.7619f},
- {39.9333f,0.0000f},
- {30.4095f,0.0000f},
- {16.1238f,4.7619f},
- {11.3619f,14.2857f}
-};
-
-static const GLUTStrokeStrip ch57st[] =
-{
- {23,ch57st0}
-};
-
-static const GLUTStrokeChar ch57 = {74.0648f,1,ch57st};
-
-/* char: 0x3a */
-
-static const GLUTStrokeVertex ch58st0[] =
-{
- {14.0819f,66.6667f},
- {9.3200f,61.9048f},
- {14.0819f,57.1429f},
- {18.8438f,61.9048f},
- {14.0819f,66.6667f}
-};
-
-static const GLUTStrokeVertex ch58st1[] =
-{
- {14.0819f,9.5238f},
- {9.3200f,4.7619f},
- {14.0819f,0.0000f},
- {18.8438f,4.7619f},
- {14.0819f,9.5238f}
-};
-
-static const GLUTStrokeStrip ch58st[] =
-{
- {5,ch58st0},
- {5,ch58st1}
-};
-
-static const GLUTStrokeChar ch58 = {26.2238f,2,ch58st};
-
-/* char: 0x3b */
-
-static const GLUTStrokeVertex ch59st0[] =
-{
- {12.9619f,66.6667f},
- {8.2000f,61.9048f},
- {12.9619f,57.1429f},
- {17.7238f,61.9048f},
- {12.9619f,66.6667f}
-};
-
-static const GLUTStrokeVertex ch59st1[] =
-{
- {17.7238f,4.7619f},
- {12.9619f,0.0000f},
- {8.2000f,4.7619f},
- {12.9619f,9.5238f},
- {17.7238f,4.7619f},
- {17.7238f,-4.7619f},
- {12.9619f,-14.2857f},
- {8.2000f,-19.0476f}
-};
-
-static const GLUTStrokeStrip ch59st[] =
-{
- {5,ch59st0},
- {8,ch59st1}
-};
-
-static const GLUTStrokeChar ch59 = {26.3038f,2,ch59st};
-
-/* char: 0x3c */
-
-static const GLUTStrokeVertex ch60st0[] =
-{
- {79.2505f,85.7143f},
- {3.0600f,42.8571f},
- {79.2505f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch60st[] =
-{
- {3,ch60st0}
-};
-
-static const GLUTStrokeChar ch60 = {81.6105f,1,ch60st};
-
-/* char: 0x3d */
-
-static const GLUTStrokeVertex ch61st0[] =
-{
- {5.7000f,57.1429f},
- {91.4143f,57.1429f}
-};
-
-static const GLUTStrokeVertex ch61st1[] =
-{
- {5.7000f,28.5714f},
- {91.4143f,28.5714f}
-};
-
-static const GLUTStrokeStrip ch61st[] =
-{
- {2,ch61st0},
- {2,ch61st1}
-};
-
-static const GLUTStrokeChar ch61 = {97.2543f,2,ch61st};
-
-/* char: 0x3e */
-
-static const GLUTStrokeVertex ch62st0[] =
-{
- {2.7800f,85.7143f},
- {78.9705f,42.8571f},
- {2.7800f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch62st[] =
-{
- {3,ch62st0}
-};
-
-static const GLUTStrokeChar ch62 = {81.6105f,1,ch62st};
-
-/* char: 0x3f */
-
-static const GLUTStrokeVertex ch63st0[] =
-{
- {8.4200f,76.1905f},
- {8.4200f,80.9524f},
- {13.1819f,90.4762f},
- {17.9438f,95.2381f},
- {27.4676f,100.0000f},
- {46.5152f,100.0000f},
- {56.0390f,95.2381f},
- {60.8010f,90.4762f},
- {65.5629f,80.9524f},
- {65.5629f,71.4286f},
- {60.8010f,61.9048f},
- {56.0390f,57.1429f},
- {36.9914f,47.6190f},
- {36.9914f,33.3333f}
-};
-
-static const GLUTStrokeVertex ch63st1[] =
-{
- {36.9914f,9.5238f},
- {32.2295f,4.7619f},
- {36.9914f,0.0000f},
- {41.7533f,4.7619f},
- {36.9914f,9.5238f}
-};
-
-static const GLUTStrokeStrip ch63st[] =
-{
- {14,ch63st0},
- {5,ch63st1}
-};
-
-static const GLUTStrokeChar ch63 = {73.9029f,2,ch63st};
-
-/* char: 0x40 */
-
-static const GLUTStrokeVertex ch64st0[] =
-{
- {49.2171f,52.3810f},
- {39.6933f,57.1429f},
- {30.1695f,57.1429f},
- {25.4076f,47.6190f},
- {25.4076f,42.8571f},
- {30.1695f,33.3333f},
- {39.6933f,33.3333f},
- {49.2171f,38.0952f}
-};
-
-static const GLUTStrokeVertex ch64st1[] =
-{
- {49.2171f,57.1429f},
- {49.2171f,38.0952f},
- {53.9790f,33.3333f},
- {63.5029f,33.3333f},
- {68.2648f,42.8571f},
- {68.2648f,47.6190f},
- {63.5029f,61.9048f},
- {53.9790f,71.4286f},
- {39.6933f,76.1905f},
- {34.9314f,76.1905f},
- {20.6457f,71.4286f},
- {11.1219f,61.9048f},
- {6.3600f,47.6190f},
- {6.3600f,42.8571f},
- {11.1219f,28.5714f},
- {20.6457f,19.0476f},
- {34.9314f,14.2857f},
- {39.6933f,14.2857f},
- {53.9790f,19.0476f}
-};
-
-static const GLUTStrokeStrip ch64st[] =
-{
- {8,ch64st0},
- {19,ch64st1}
-};
-
-static const GLUTStrokeChar ch64 = {74.3648f,2,ch64st};
-
-/* char: 0x41 */
-
-static const GLUTStrokeVertex ch65st0[] =
-{
- {40.5952f,100.0000f},
- {2.5000f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch65st1[] =
-{
- {40.5952f,100.0000f},
- {78.6905f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch65st2[] =
-{
- {16.7857f,33.3333f},
- {64.4048f,33.3333f}
-};
-
-static const GLUTStrokeStrip ch65st[] =
-{
- {2,ch65st0},
- {2,ch65st1},
- {2,ch65st2}
-};
-
-static const GLUTStrokeChar ch65 = {80.4905f,3,ch65st};
-
-/* char: 0x42 */
-
-static const GLUTStrokeVertex ch66st0[] =
-{
- {11.4200f,100.0000f},
- {11.4200f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch66st1[] =
-{
- {11.4200f,100.0000f},
- {54.2771f,100.0000f},
- {68.5629f,95.2381f},
- {73.3248f,90.4762f},
- {78.0867f,80.9524f},
- {78.0867f,71.4286f},
- {73.3248f,61.9048f},
- {68.5629f,57.1429f},
- {54.2771f,52.3810f}
-};
-
-static const GLUTStrokeVertex ch66st2[] =
-{
- {11.4200f,52.3810f},
- {54.2771f,52.3810f},
- {68.5629f,47.6190f},
- {73.3248f,42.8571f},
- {78.0867f,33.3333f},
- {78.0867f,19.0476f},
- {73.3248f,9.5238f},
- {68.5629f,4.7619f},
- {54.2771f,0.0000f},
- {11.4200f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch66st[] =
-{
- {2,ch66st0},
- {9,ch66st1},
- {10,ch66st2}
-};
-
-static const GLUTStrokeChar ch66 = {83.6267f,3,ch66st};
-
-/* char: 0x43 */
-
-static const GLUTStrokeVertex ch67st0[] =
-{
- {78.0886f,76.1905f},
- {73.3267f,85.7143f},
- {63.8029f,95.2381f},
- {54.2790f,100.0000f},
- {35.2314f,100.0000f},
- {25.7076f,95.2381f},
- {16.1838f,85.7143f},
- {11.4219f,76.1905f},
- {6.6600f,61.9048f},
- {6.6600f,38.0952f},
- {11.4219f,23.8095f},
- {16.1838f,14.2857f},
- {25.7076f,4.7619f},
- {35.2314f,0.0000f},
- {54.2790f,0.0000f},
- {63.8029f,4.7619f},
- {73.3267f,14.2857f},
- {78.0886f,23.8095f}
-};
-
-static const GLUTStrokeStrip ch67st[] =
-{
- {18,ch67st0}
-};
-
-static const GLUTStrokeChar ch67 = {84.4886f,1,ch67st};
-
-/* char: 0x44 */
-
-static const GLUTStrokeVertex ch68st0[] =
-{
- {11.9600f,100.0000f},
- {11.9600f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch68st1[] =
-{
- {11.9600f,100.0000f},
- {45.2933f,100.0000f},
- {59.5790f,95.2381f},
- {69.1029f,85.7143f},
- {73.8648f,76.1905f},
- {78.6267f,61.9048f},
- {78.6267f,38.0952f},
- {73.8648f,23.8095f},
- {69.1029f,14.2857f},
- {59.5790f,4.7619f},
- {45.2933f,0.0000f},
- {11.9600f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch68st[] =
-{
- {2,ch68st0},
- {12,ch68st1}
-};
-
-static const GLUTStrokeChar ch68 = {85.2867f,2,ch68st};
-
-/* char: 0x45 */
-
-static const GLUTStrokeVertex ch69st0[] =
-{
- {11.4200f,100.0000f},
- {11.4200f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch69st1[] =
-{
- {11.4200f,100.0000f},
- {73.3248f,100.0000f}
-};
-
-static const GLUTStrokeVertex ch69st2[] =
-{
- {11.4200f,52.3810f},
- {49.5152f,52.3810f}
-};
-
-static const GLUTStrokeVertex ch69st3[] =
-{
- {11.4200f,0.0000f},
- {73.3248f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch69st[] =
-{
- {2,ch69st0},
- {2,ch69st1},
- {2,ch69st2},
- {2,ch69st3}
-};
-
-static const GLUTStrokeChar ch69 = {78.1848f,4,ch69st};
-
-/* char: 0x46 */
-
-static const GLUTStrokeVertex ch70st0[] =
-{
- {11.4200f,100.0000f},
- {11.4200f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch70st1[] =
-{
- {11.4200f,100.0000f},
- {73.3248f,100.0000f}
-};
-
-static const GLUTStrokeVertex ch70st2[] =
-{
- {11.4200f,52.3810f},
- {49.5152f,52.3810f}
-};
-
-static const GLUTStrokeStrip ch70st[] =
-{
- {2,ch70st0},
- {2,ch70st1},
- {2,ch70st2}
-};
-
-static const GLUTStrokeChar ch70 = {78.7448f,3,ch70st};
-
-/* char: 0x47 */
-
-static const GLUTStrokeVertex ch71st0[] =
-{
- {78.4886f,76.1905f},
- {73.7267f,85.7143f},
- {64.2029f,95.2381f},
- {54.6790f,100.0000f},
- {35.6314f,100.0000f},
- {26.1076f,95.2381f},
- {16.5838f,85.7143f},
- {11.8219f,76.1905f},
- {7.0600f,61.9048f},
- {7.0600f,38.0952f},
- {11.8219f,23.8095f},
- {16.5838f,14.2857f},
- {26.1076f,4.7619f},
- {35.6314f,0.0000f},
- {54.6790f,0.0000f},
- {64.2029f,4.7619f},
- {73.7267f,14.2857f},
- {78.4886f,23.8095f},
- {78.4886f,38.0952f}
-};
-
-static const GLUTStrokeVertex ch71st1[] =
-{
- {54.6790f,38.0952f},
- {78.4886f,38.0952f}
-};
-
-static const GLUTStrokeStrip ch71st[] =
-{
- {19,ch71st0},
- {2,ch71st1}
-};
-
-static const GLUTStrokeChar ch71 = {89.7686f,2,ch71st};
-
-/* char: 0x48 */
-
-static const GLUTStrokeVertex ch72st0[] =
-{
- {11.4200f,100.0000f},
- {11.4200f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch72st1[] =
-{
- {78.0867f,100.0000f},
- {78.0867f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch72st2[] =
-{
- {11.4200f,52.3810f},
- {78.0867f,52.3810f}
-};
-
-static const GLUTStrokeStrip ch72st[] =
-{
- {2,ch72st0},
- {2,ch72st1},
- {2,ch72st2}
-};
-
-static const GLUTStrokeChar ch72 = {89.0867f,3,ch72st};
-
-/* char: 0x49 */
-
-static const GLUTStrokeVertex ch73st0[] =
-{
- {10.8600f,100.0000f},
- {10.8600f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch73st[] =
-{
- {2,ch73st0}
-};
-
-static const GLUTStrokeChar ch73 = {21.3000f,1,ch73st};
-
-/* char: 0x4a */
-
-static const GLUTStrokeVertex ch74st0[] =
-{
- {50.1190f,100.0000f},
- {50.1190f,23.8095f},
- {45.3571f,9.5238f},
- {40.5952f,4.7619f},
- {31.0714f,0.0000f},
- {21.5476f,0.0000f},
- {12.0238f,4.7619f},
- {7.2619f,9.5238f},
- {2.5000f,23.8095f},
- {2.5000f,33.3333f}
-};
-
-static const GLUTStrokeStrip ch74st[] =
-{
- {10,ch74st0}
-};
-
-static const GLUTStrokeChar ch74 = {59.9990f,1,ch74st};
-
-/* char: 0x4b */
-
-static const GLUTStrokeVertex ch75st0[] =
-{
- {11.2800f,100.0000f},
- {11.2800f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch75st1[] =
-{
- {77.9467f,100.0000f},
- {11.2800f,33.3333f}
-};
-
-static const GLUTStrokeVertex ch75st2[] =
-{
- {35.0895f,57.1429f},
- {77.9467f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch75st[] =
-{
- {2,ch75st0},
- {2,ch75st1},
- {2,ch75st2}
-};
-
-static const GLUTStrokeChar ch75 = {79.3267f,3,ch75st};
-
-/* char: 0x4c */
-
-static const GLUTStrokeVertex ch76st0[] =
-{
- {11.6800f,100.0000f},
- {11.6800f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch76st1[] =
-{
- {11.6800f,0.0000f},
- {68.8229f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch76st[] =
-{
- {2,ch76st0},
- {2,ch76st1}
-};
-
-static const GLUTStrokeChar ch76 = {71.3229f,2,ch76st};
-
-/* char: 0x4d */
-
-static const GLUTStrokeVertex ch77st0[] =
-{
- {10.8600f,100.0000f},
- {10.8600f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch77st1[] =
-{
- {10.8600f,100.0000f},
- {48.9552f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch77st2[] =
-{
- {87.0505f,100.0000f},
- {48.9552f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch77st3[] =
-{
- {87.0505f,100.0000f},
- {87.0505f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch77st[] =
-{
- {2,ch77st0},
- {2,ch77st1},
- {2,ch77st2},
- {2,ch77st3}
-};
-
-static const GLUTStrokeChar ch77 = {97.2105f,4,ch77st};
-
-/* char: 0x4e */
-
-static const GLUTStrokeVertex ch78st0[] =
-{
- {11.1400f,100.0000f},
- {11.1400f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch78st1[] =
-{
- {11.1400f,100.0000f},
- {77.8067f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch78st2[] =
-{
- {77.8067f,100.0000f},
- {77.8067f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch78st[] =
-{
- {2,ch78st0},
- {2,ch78st1},
- {2,ch78st2}
-};
-
-static const GLUTStrokeChar ch78 = {88.8067f,3,ch78st};
-
-/* char: 0x4f */
-
-static const GLUTStrokeVertex ch79st0[] =
-{
- {34.8114f,100.0000f},
- {25.2876f,95.2381f},
- {15.7638f,85.7143f},
- {11.0019f,76.1905f},
- {6.2400f,61.9048f},
- {6.2400f,38.0952f},
- {11.0019f,23.8095f},
- {15.7638f,14.2857f},
- {25.2876f,4.7619f},
- {34.8114f,0.0000f},
- {53.8590f,0.0000f},
- {63.3829f,4.7619f},
- {72.9067f,14.2857f},
- {77.6686f,23.8095f},
- {82.4305f,38.0952f},
- {82.4305f,61.9048f},
- {77.6686f,76.1905f},
- {72.9067f,85.7143f},
- {63.3829f,95.2381f},
- {53.8590f,100.0000f},
- {34.8114f,100.0000f}
-};
-
-static const GLUTStrokeStrip ch79st[] =
-{
- {21,ch79st0}
-};
-
-static const GLUTStrokeChar ch79 = {88.8305f,1,ch79st};
-
-/* char: 0x50 */
-
-static const GLUTStrokeVertex ch80st0[] =
-{
- {12.1000f,100.0000f},
- {12.1000f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch80st1[] =
-{
- {12.1000f,100.0000f},
- {54.9571f,100.0000f},
- {69.2429f,95.2381f},
- {74.0048f,90.4762f},
- {78.7667f,80.9524f},
- {78.7667f,66.6667f},
- {74.0048f,57.1429f},
- {69.2429f,52.3810f},
- {54.9571f,47.6190f},
- {12.1000f,47.6190f}
-};
-
-static const GLUTStrokeStrip ch80st[] =
-{
- {2,ch80st0},
- {10,ch80st1}
-};
-
-static const GLUTStrokeChar ch80 = {85.6667f,2,ch80st};
-
-/* char: 0x51 */
-
-static const GLUTStrokeVertex ch81st0[] =
-{
- {33.8714f,100.0000f},
- {24.3476f,95.2381f},
- {14.8238f,85.7143f},
- {10.0619f,76.1905f},
- {5.3000f,61.9048f},
- {5.3000f,38.0952f},
- {10.0619f,23.8095f},
- {14.8238f,14.2857f},
- {24.3476f,4.7619f},
- {33.8714f,0.0000f},
- {52.9190f,0.0000f},
- {62.4429f,4.7619f},
- {71.9667f,14.2857f},
- {76.7286f,23.8095f},
- {81.4905f,38.0952f},
- {81.4905f,61.9048f},
- {76.7286f,76.1905f},
- {71.9667f,85.7143f},
- {62.4429f,95.2381f},
- {52.9190f,100.0000f},
- {33.8714f,100.0000f}
-};
-
-static const GLUTStrokeVertex ch81st1[] =
-{
- {48.1571f,19.0476f},
- {76.7286f,-9.5238f}
-};
-
-static const GLUTStrokeStrip ch81st[] =
-{
- {21,ch81st0},
- {2,ch81st1}
-};
-
-static const GLUTStrokeChar ch81 = {88.0905f,2,ch81st};
-
-/* char: 0x52 */
-
-static const GLUTStrokeVertex ch82st0[] =
-{
- {11.6800f,100.0000f},
- {11.6800f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch82st1[] =
-{
- {11.6800f,100.0000f},
- {54.5371f,100.0000f},
- {68.8229f,95.2381f},
- {73.5848f,90.4762f},
- {78.3467f,80.9524f},
- {78.3467f,71.4286f},
- {73.5848f,61.9048f},
- {68.8229f,57.1429f},
- {54.5371f,52.3810f},
- {11.6800f,52.3810f}
-};
-
-static const GLUTStrokeVertex ch82st2[] =
-{
- {45.0133f,52.3810f},
- {78.3467f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch82st[] =
-{
- {2,ch82st0},
- {10,ch82st1},
- {2,ch82st2}
-};
-
-static const GLUTStrokeChar ch82 = {82.3667f,3,ch82st};
-
-/* char: 0x53 */
-
-static const GLUTStrokeVertex ch83st0[] =
-{
- {74.6667f,85.7143f},
- {65.1429f,95.2381f},
- {50.8571f,100.0000f},
- {31.8095f,100.0000f},
- {17.5238f,95.2381f},
- {8.0000f,85.7143f},
- {8.0000f,76.1905f},
- {12.7619f,66.6667f},
- {17.5238f,61.9048f},
- {27.0476f,57.1429f},
- {55.6190f,47.6190f},
- {65.1429f,42.8571f},
- {69.9048f,38.0952f},
- {74.6667f,28.5714f},
- {74.6667f,14.2857f},
- {65.1429f,4.7619f},
- {50.8571f,0.0000f},
- {31.8095f,0.0000f},
- {17.5238f,4.7619f},
- {8.0000f,14.2857f}
-};
-
-static const GLUTStrokeStrip ch83st[] =
-{
- {20,ch83st0}
-};
-
-static const GLUTStrokeChar ch83 = {80.8267f,1,ch83st};
-
-/* char: 0x54 */
-
-static const GLUTStrokeVertex ch84st0[] =
-{
- {35.6933f,100.0000f},
- {35.6933f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch84st1[] =
-{
- {2.3600f,100.0000f},
- {69.0267f,100.0000f}
-};
-
-static const GLUTStrokeStrip ch84st[] =
-{
- {2,ch84st0},
- {2,ch84st1}
-};
-
-static const GLUTStrokeChar ch84 = {71.9467f,2,ch84st};
-
-/* char: 0x55 */
-
-static const GLUTStrokeVertex ch85st0[] =
-{
- {11.5400f,100.0000f},
- {11.5400f,28.5714f},
- {16.3019f,14.2857f},
- {25.8257f,4.7619f},
- {40.1114f,0.0000f},
- {49.6352f,0.0000f},
- {63.9210f,4.7619f},
- {73.4448f,14.2857f},
- {78.2067f,28.5714f},
- {78.2067f,100.0000f}
-};
-
-static const GLUTStrokeStrip ch85st[] =
-{
- {10,ch85st0}
-};
-
-static const GLUTStrokeChar ch85 = {89.4867f,1,ch85st};
-
-/* char: 0x56 */
-
-static const GLUTStrokeVertex ch86st0[] =
-{
- {2.3600f,100.0000f},
- {40.4552f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch86st1[] =
-{
- {78.5505f,100.0000f},
- {40.4552f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch86st[] =
-{
- {2,ch86st0},
- {2,ch86st1}
-};
-
-static const GLUTStrokeChar ch86 = {81.6105f,2,ch86st};
-
-/* char: 0x57 */
-
-static const GLUTStrokeVertex ch87st0[] =
-{
- {2.2200f,100.0000f},
- {26.0295f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch87st1[] =
-{
- {49.8390f,100.0000f},
- {26.0295f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch87st2[] =
-{
- {49.8390f,100.0000f},
- {73.6486f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch87st3[] =
-{
- {97.4581f,100.0000f},
- {73.6486f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch87st[] =
-{
- {2,ch87st0},
- {2,ch87st1},
- {2,ch87st2},
- {2,ch87st3}
-};
-
-static const GLUTStrokeChar ch87 = {100.5181f,4,ch87st};
-
-/* char: 0x58 */
-
-static const GLUTStrokeVertex ch88st0[] =
-{
- {2.5000f,100.0000f},
- {69.1667f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch88st1[] =
-{
- {69.1667f,100.0000f},
- {2.5000f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch88st[] =
-{
- {2,ch88st0},
- {2,ch88st1}
-};
-
-static const GLUTStrokeChar ch88 = {72.3667f,2,ch88st};
-
-/* char: 0x59 */
-
-static const GLUTStrokeVertex ch89st0[] =
-{
- {1.5200f,100.0000f},
- {39.6152f,52.3810f},
- {39.6152f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch89st1[] =
-{
- {77.7105f,100.0000f},
- {39.6152f,52.3810f}
-};
-
-static const GLUTStrokeStrip ch89st[] =
-{
- {3,ch89st0},
- {2,ch89st1}
-};
-
-static const GLUTStrokeChar ch89 = {79.6505f,2,ch89st};
-
-/* char: 0x5a */
-
-static const GLUTStrokeVertex ch90st0[] =
-{
- {69.1667f,100.0000f},
- {2.5000f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch90st1[] =
-{
- {2.5000f,100.0000f},
- {69.1667f,100.0000f}
-};
-
-static const GLUTStrokeVertex ch90st2[] =
-{
- {2.5000f,0.0000f},
- {69.1667f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch90st[] =
-{
- {2,ch90st0},
- {2,ch90st1},
- {2,ch90st2}
-};
-
-static const GLUTStrokeChar ch90 = {73.7467f,3,ch90st};
-
-/* char: 0x5b */
-
-static const GLUTStrokeVertex ch91st0[] =
-{
- {7.7800f,119.0476f},
- {7.7800f,-33.3333f}
-};
-
-static const GLUTStrokeVertex ch91st1[] =
-{
- {12.5419f,119.0476f},
- {12.5419f,-33.3333f}
-};
-
-static const GLUTStrokeVertex ch91st2[] =
-{
- {7.7800f,119.0476f},
- {41.1133f,119.0476f}
-};
-
-static const GLUTStrokeVertex ch91st3[] =
-{
- {7.7800f,-33.3333f},
- {41.1133f,-33.3333f}
-};
-
-static const GLUTStrokeStrip ch91st[] =
-{
- {2,ch91st0},
- {2,ch91st1},
- {2,ch91st2},
- {2,ch91st3}
-};
-
-static const GLUTStrokeChar ch91 = {46.1133f,4,ch91st};
-
-/* char: 0x5c */
-
-static const GLUTStrokeVertex ch92st0[] =
-{
- {5.8400f,100.0000f},
- {72.5067f,-14.2857f}
-};
-
-static const GLUTStrokeStrip ch92st[] =
-{
- {2,ch92st0}
-};
-
-static const GLUTStrokeChar ch92 = {78.2067f,1,ch92st};
-
-/* char: 0x5d */
-
-static const GLUTStrokeVertex ch93st0[] =
-{
- {33.0114f,119.0476f},
- {33.0114f,-33.3333f}
-};
-
-static const GLUTStrokeVertex ch93st1[] =
-{
- {37.7733f,119.0476f},
- {37.7733f,-33.3333f}
-};
-
-static const GLUTStrokeVertex ch93st2[] =
-{
- {4.4400f,119.0476f},
- {37.7733f,119.0476f}
-};
-
-static const GLUTStrokeVertex ch93st3[] =
-{
- {4.4400f,-33.3333f},
- {37.7733f,-33.3333f}
-};
-
-static const GLUTStrokeStrip ch93st[] =
-{
- {2,ch93st0},
- {2,ch93st1},
- {2,ch93st2},
- {2,ch93st3}
-};
-
-static const GLUTStrokeChar ch93 = {46.3933f,4,ch93st};
-
-/* char: 0x5e */
-
-static const GLUTStrokeVertex ch94st0[] =
-{
- {44.0752f,109.5238f},
- {5.9800f,42.8571f}
-};
-
-static const GLUTStrokeVertex ch94st1[] =
-{
- {44.0752f,109.5238f},
- {82.1705f,42.8571f}
-};
-
-static const GLUTStrokeStrip ch94st[] =
-{
- {2,ch94st0},
- {2,ch94st1}
-};
-
-static const GLUTStrokeChar ch94 = {90.2305f,2,ch94st};
-
-/* char: 0x5f */
-
-static const GLUTStrokeVertex ch95st0[] =
-{
- {-1.1000f,-33.3333f},
- {103.6619f,-33.3333f},
- {103.6619f,-28.5714f},
- {-1.1000f,-28.5714f},
- {-1.1000f,-33.3333f}
-};
-
-static const GLUTStrokeStrip ch95st[] =
-{
- {5,ch95st0}
-};
-
-static const GLUTStrokeChar ch95 = {104.0619f,1,ch95st};
-
-/* char: 0x60 */
-
-static const GLUTStrokeVertex ch96st0[] =
-{
- {33.0219f,100.0000f},
- {56.8314f,71.4286f}
-};
-
-static const GLUTStrokeVertex ch96st1[] =
-{
- {33.0219f,100.0000f},
- {28.2600f,95.2381f},
- {56.8314f,71.4286f}
-};
-
-static const GLUTStrokeStrip ch96st[] =
-{
- {2,ch96st0},
- {3,ch96st1}
-};
-
-static const GLUTStrokeChar ch96 = {83.5714f,2,ch96st};
-
-/* char: 0x61 */
-
-static const GLUTStrokeVertex ch97st0[] =
-{
- {63.8229f,66.6667f},
- {63.8229f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch97st1[] =
-{
- {63.8229f,52.3810f},
- {54.2990f,61.9048f},
- {44.7752f,66.6667f},
- {30.4895f,66.6667f},
- {20.9657f,61.9048f},
- {11.4419f,52.3810f},
- {6.6800f,38.0952f},
- {6.6800f,28.5714f},
- {11.4419f,14.2857f},
- {20.9657f,4.7619f},
- {30.4895f,0.0000f},
- {44.7752f,0.0000f},
- {54.2990f,4.7619f},
- {63.8229f,14.2857f}
-};
-
-static const GLUTStrokeStrip ch97st[] =
-{
- {2,ch97st0},
- {14,ch97st1}
-};
-
-static const GLUTStrokeChar ch97 = {66.6029f,2,ch97st};
-
-/* char: 0x62 */
-
-static const GLUTStrokeVertex ch98st0[] =
-{
- {8.7600f,100.0000f},
- {8.7600f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch98st1[] =
-{
- {8.7600f,52.3810f},
- {18.2838f,61.9048f},
- {27.8076f,66.6667f},
- {42.0933f,66.6667f},
- {51.6171f,61.9048f},
- {61.1410f,52.3810f},
- {65.9029f,38.0952f},
- {65.9029f,28.5714f},
- {61.1410f,14.2857f},
- {51.6171f,4.7619f},
- {42.0933f,0.0000f},
- {27.8076f,0.0000f},
- {18.2838f,4.7619f},
- {8.7600f,14.2857f}
-};
-
-static const GLUTStrokeStrip ch98st[] =
-{
- {2,ch98st0},
- {14,ch98st1}
-};
-
-static const GLUTStrokeChar ch98 = {70.4629f,2,ch98st};
-
-/* char: 0x63 */
-
-static const GLUTStrokeVertex ch99st0[] =
-{
- {62.6629f,52.3810f},
- {53.1390f,61.9048f},
- {43.6152f,66.6667f},
- {29.3295f,66.6667f},
- {19.8057f,61.9048f},
- {10.2819f,52.3810f},
- {5.5200f,38.0952f},
- {5.5200f,28.5714f},
- {10.2819f,14.2857f},
- {19.8057f,4.7619f},
- {29.3295f,0.0000f},
- {43.6152f,0.0000f},
- {53.1390f,4.7619f},
- {62.6629f,14.2857f}
-};
-
-static const GLUTStrokeStrip ch99st[] =
-{
- {14,ch99st0}
-};
-
-static const GLUTStrokeChar ch99 = {68.9229f,1,ch99st};
-
-/* char: 0x64 */
-
-static const GLUTStrokeVertex ch100st0[] =
-{
- {61.7829f,100.0000f},
- {61.7829f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch100st1[] =
-{
- {61.7829f,52.3810f},
- {52.2590f,61.9048f},
- {42.7352f,66.6667f},
- {28.4495f,66.6667f},
- {18.9257f,61.9048f},
- {9.4019f,52.3810f},
- {4.6400f,38.0952f},
- {4.6400f,28.5714f},
- {9.4019f,14.2857f},
- {18.9257f,4.7619f},
- {28.4495f,0.0000f},
- {42.7352f,0.0000f},
- {52.2590f,4.7619f},
- {61.7829f,14.2857f}
-};
-
-static const GLUTStrokeStrip ch100st[] =
-{
- {2,ch100st0},
- {14,ch100st1}
-};
-
-static const GLUTStrokeChar ch100 = {70.2629f,2,ch100st};
-
-/* char: 0x65 */
-
-static const GLUTStrokeVertex ch101st0[] =
-{
- {5.7200f,38.0952f},
- {62.8629f,38.0952f},
- {62.8629f,47.6190f},
- {58.1010f,57.1429f},
- {53.3390f,61.9048f},
- {43.8152f,66.6667f},
- {29.5295f,66.6667f},
- {20.0057f,61.9048f},
- {10.4819f,52.3810f},
- {5.7200f,38.0952f},
- {5.7200f,28.5714f},
- {10.4819f,14.2857f},
- {20.0057f,4.7619f},
- {29.5295f,0.0000f},
- {43.8152f,0.0000f},
- {53.3390f,4.7619f},
- {62.8629f,14.2857f}
-};
-
-static const GLUTStrokeStrip ch101st[] =
-{
- {17,ch101st0}
-};
-
-static const GLUTStrokeChar ch101 = {68.5229f,1,ch101st};
-
-/* char: 0x66 */
-
-static const GLUTStrokeVertex ch102st0[] =
-{
- {38.7752f,100.0000f},
- {29.2514f,100.0000f},
- {19.7276f,95.2381f},
- {14.9657f,80.9524f},
- {14.9657f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch102st1[] =
-{
- {0.6800f,66.6667f},
- {34.0133f,66.6667f}
-};
-
-static const GLUTStrokeStrip ch102st[] =
-{
- {5,ch102st0},
- {2,ch102st1}
-};
-
-static const GLUTStrokeChar ch102 = {38.6552f,2,ch102st};
-
-/* char: 0x67 */
-
-static const GLUTStrokeVertex ch103st0[] =
-{
- {62.5029f,66.6667f},
- {62.5029f,-9.5238f},
- {57.7410f,-23.8095f},
- {52.9790f,-28.5714f},
- {43.4552f,-33.3333f},
- {29.1695f,-33.3333f},
- {19.6457f,-28.5714f}
-};
-
-static const GLUTStrokeVertex ch103st1[] =
-{
- {62.5029f,52.3810f},
- {52.9790f,61.9048f},
- {43.4552f,66.6667f},
- {29.1695f,66.6667f},
- {19.6457f,61.9048f},
- {10.1219f,52.3810f},
- {5.3600f,38.0952f},
- {5.3600f,28.5714f},
- {10.1219f,14.2857f},
- {19.6457f,4.7619f},
- {29.1695f,0.0000f},
- {43.4552f,0.0000f},
- {52.9790f,4.7619f},
- {62.5029f,14.2857f}
-};
-
-static const GLUTStrokeStrip ch103st[] =
-{
- {7,ch103st0},
- {14,ch103st1}
-};
-
-static const GLUTStrokeChar ch103 = {70.9829f,2,ch103st};
-
-/* char: 0x68 */
-
-static const GLUTStrokeVertex ch104st0[] =
-{
- {9.6000f,100.0000f},
- {9.6000f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch104st1[] =
-{
- {9.6000f,47.6190f},
- {23.8857f,61.9048f},
- {33.4095f,66.6667f},
- {47.6952f,66.6667f},
- {57.2190f,61.9048f},
- {61.9810f,47.6190f},
- {61.9810f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch104st[] =
-{
- {2,ch104st0},
- {7,ch104st1}
-};
-
-static const GLUTStrokeChar ch104 = {71.0210f,2,ch104st};
-
-/* char: 0x69 */
-
-static const GLUTStrokeVertex ch105st0[] =
-{
- {10.0200f,100.0000f},
- {14.7819f,95.2381f},
- {19.5438f,100.0000f},
- {14.7819f,104.7619f},
- {10.0200f,100.0000f}
-};
-
-static const GLUTStrokeVertex ch105st1[] =
-{
- {14.7819f,66.6667f},
- {14.7819f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch105st[] =
-{
- {5,ch105st0},
- {2,ch105st1}
-};
-
-static const GLUTStrokeChar ch105 = {28.8638f,2,ch105st};
-
-/* char: 0x6a */
-
-static const GLUTStrokeVertex ch106st0[] =
-{
- {17.3876f,100.0000f},
- {22.1495f,95.2381f},
- {26.9114f,100.0000f},
- {22.1495f,104.7619f},
- {17.3876f,100.0000f}
-};
-
-static const GLUTStrokeVertex ch106st1[] =
-{
- {22.1495f,66.6667f},
- {22.1495f,-14.2857f},
- {17.3876f,-28.5714f},
- {7.8638f,-33.3333f},
- {-1.6600f,-33.3333f}
-};
-
-static const GLUTStrokeStrip ch106st[] =
-{
- {5,ch106st0},
- {5,ch106st1}
-};
-
-static const GLUTStrokeChar ch106 = {36.2314f,2,ch106st};
-
-/* char: 0x6b */
-
-static const GLUTStrokeVertex ch107st0[] =
-{
- {9.6000f,100.0000f},
- {9.6000f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch107st1[] =
-{
- {57.2190f,66.6667f},
- {9.6000f,19.0476f}
-};
-
-static const GLUTStrokeVertex ch107st2[] =
-{
- {28.6476f,38.0952f},
- {61.9810f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch107st[] =
-{
- {2,ch107st0},
- {2,ch107st1},
- {2,ch107st2}
-};
-
-static const GLUTStrokeChar ch107 = {62.5210f,3,ch107st};
-
-/* char: 0x6c */
-
-static const GLUTStrokeVertex ch108st0[] =
-{
- {10.0200f,100.0000f},
- {10.0200f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch108st[] =
-{
- {2,ch108st0}
-};
-
-static const GLUTStrokeChar ch108 = {19.3400f,1,ch108st};
-
-/* char: 0x6d */
-
-static const GLUTStrokeVertex ch109st0[] =
-{
- {9.6000f,66.6667f},
- {9.6000f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch109st1[] =
-{
- {9.6000f,47.6190f},
- {23.8857f,61.9048f},
- {33.4095f,66.6667f},
- {47.6952f,66.6667f},
- {57.2190f,61.9048f},
- {61.9810f,47.6190f},
- {61.9810f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch109st2[] =
-{
- {61.9810f,47.6190f},
- {76.2667f,61.9048f},
- {85.7905f,66.6667f},
- {100.0762f,66.6667f},
- {109.6000f,61.9048f},
- {114.3619f,47.6190f},
- {114.3619f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch109st[] =
-{
- {2,ch109st0},
- {7,ch109st1},
- {7,ch109st2}
-};
-
-static const GLUTStrokeChar ch109 = {123.9619f,3,ch109st};
-
-/* char: 0x6e */
-
-static const GLUTStrokeVertex ch110st0[] =
-{
- {9.1800f,66.6667f},
- {9.1800f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch110st1[] =
-{
- {9.1800f,47.6190f},
- {23.4657f,61.9048f},
- {32.9895f,66.6667f},
- {47.2752f,66.6667f},
- {56.7990f,61.9048f},
- {61.5610f,47.6190f},
- {61.5610f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch110st[] =
-{
- {2,ch110st0},
- {7,ch110st1}
-};
-
-static const GLUTStrokeChar ch110 = {70.8810f,2,ch110st};
-
-/* char: 0x6f */
-
-static const GLUTStrokeVertex ch111st0[] =
-{
- {28.7895f,66.6667f},
- {19.2657f,61.9048f},
- {9.7419f,52.3810f},
- {4.9800f,38.0952f},
- {4.9800f,28.5714f},
- {9.7419f,14.2857f},
- {19.2657f,4.7619f},
- {28.7895f,0.0000f},
- {43.0752f,0.0000f},
- {52.5990f,4.7619f},
- {62.1229f,14.2857f},
- {66.8848f,28.5714f},
- {66.8848f,38.0952f},
- {62.1229f,52.3810f},
- {52.5990f,61.9048f},
- {43.0752f,66.6667f},
- {28.7895f,66.6667f}
-};
-
-static const GLUTStrokeStrip ch111st[] =
-{
- {17,ch111st0}
-};
-
-static const GLUTStrokeChar ch111 = {71.7448f,1,ch111st};
-
-/* char: 0x70 */
-
-static const GLUTStrokeVertex ch112st0[] =
-{
- {9.4600f,66.6667f},
- {9.4600f,-33.3333f}
-};
-
-static const GLUTStrokeVertex ch112st1[] =
-{
- {9.4600f,52.3810f},
- {18.9838f,61.9048f},
- {28.5076f,66.6667f},
- {42.7933f,66.6667f},
- {52.3171f,61.9048f},
- {61.8410f,52.3810f},
- {66.6029f,38.0952f},
- {66.6029f,28.5714f},
- {61.8410f,14.2857f},
- {52.3171f,4.7619f},
- {42.7933f,0.0000f},
- {28.5076f,0.0000f},
- {18.9838f,4.7619f},
- {9.4600f,14.2857f}
-};
-
-static const GLUTStrokeStrip ch112st[] =
-{
- {2,ch112st0},
- {14,ch112st1}
-};
-
-static const GLUTStrokeChar ch112 = {70.8029f,2,ch112st};
-
-/* char: 0x71 */
-
-static const GLUTStrokeVertex ch113st0[] =
-{
- {61.9829f,66.6667f},
- {61.9829f,-33.3333f}
-};
-
-static const GLUTStrokeVertex ch113st1[] =
-{
- {61.9829f,52.3810f},
- {52.4590f,61.9048f},
- {42.9352f,66.6667f},
- {28.6495f,66.6667f},
- {19.1257f,61.9048f},
- {9.6019f,52.3810f},
- {4.8400f,38.0952f},
- {4.8400f,28.5714f},
- {9.6019f,14.2857f},
- {19.1257f,4.7619f},
- {28.6495f,0.0000f},
- {42.9352f,0.0000f},
- {52.4590f,4.7619f},
- {61.9829f,14.2857f}
-};
-
-static const GLUTStrokeStrip ch113st[] =
-{
- {2,ch113st0},
- {14,ch113st1}
-};
-
-static const GLUTStrokeChar ch113 = {70.7429f,2,ch113st};
-
-/* char: 0x72 */
-
-static const GLUTStrokeVertex ch114st0[] =
-{
- {9.4600f,66.6667f},
- {9.4600f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch114st1[] =
-{
- {9.4600f,38.0952f},
- {14.2219f,52.3810f},
- {23.7457f,61.9048f},
- {33.2695f,66.6667f},
- {47.5552f,66.6667f}
-};
-
-static const GLUTStrokeStrip ch114st[] =
-{
- {2,ch114st0},
- {5,ch114st1}
-};
-
-static const GLUTStrokeChar ch114 = {49.4952f,2,ch114st};
-
-/* char: 0x73 */
-
-static const GLUTStrokeVertex ch115st0[] =
-{
- {57.0810f,52.3810f},
- {52.3190f,61.9048f},
- {38.0333f,66.6667f},
- {23.7476f,66.6667f},
- {9.4619f,61.9048f},
- {4.7000f,52.3810f},
- {9.4619f,42.8571f},
- {18.9857f,38.0952f},
- {42.7952f,33.3333f},
- {52.3190f,28.5714f},
- {57.0810f,19.0476f},
- {57.0810f,14.2857f},
- {52.3190f,4.7619f},
- {38.0333f,0.0000f},
- {23.7476f,0.0000f},
- {9.4619f,4.7619f},
- {4.7000f,14.2857f}
-};
-
-static const GLUTStrokeStrip ch115st[] =
-{
- {17,ch115st0}
-};
-
-static const GLUTStrokeChar ch115 = {62.3210f,1,ch115st};
-
-/* char: 0x74 */
-
-static const GLUTStrokeVertex ch116st0[] =
-{
- {14.8257f,100.0000f},
- {14.8257f,19.0476f},
- {19.5876f,4.7619f},
- {29.1114f,0.0000f},
- {38.6352f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch116st1[] =
-{
- {0.5400f,66.6667f},
- {33.8733f,66.6667f}
-};
-
-static const GLUTStrokeStrip ch116st[] =
-{
- {5,ch116st0},
- {2,ch116st1}
-};
-
-static const GLUTStrokeChar ch116 = {39.3152f,2,ch116st};
-
-/* char: 0x75 */
-
-static const GLUTStrokeVertex ch117st0[] =
-{
- {9.4600f,66.6667f},
- {9.4600f,19.0476f},
- {14.2219f,4.7619f},
- {23.7457f,0.0000f},
- {38.0314f,0.0000f},
- {47.5552f,4.7619f},
- {61.8410f,19.0476f}
-};
-
-static const GLUTStrokeVertex ch117st1[] =
-{
- {61.8410f,66.6667f},
- {61.8410f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch117st[] =
-{
- {7,ch117st0},
- {2,ch117st1}
-};
-
-static const GLUTStrokeChar ch117 = {71.1610f,2,ch117st};
-
-/* char: 0x76 */
-
-static const GLUTStrokeVertex ch118st0[] =
-{
- {1.8000f,66.6667f},
- {30.3714f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch118st1[] =
-{
- {58.9429f,66.6667f},
- {30.3714f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch118st[] =
-{
- {2,ch118st0},
- {2,ch118st1}
-};
-
-static const GLUTStrokeChar ch118 = {60.6029f,2,ch118st};
-
-/* char: 0x77 */
-
-static const GLUTStrokeVertex ch119st0[] =
-{
- {2.5000f,66.6667f},
- {21.5476f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch119st1[] =
-{
- {40.5952f,66.6667f},
- {21.5476f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch119st2[] =
-{
- {40.5952f,66.6667f},
- {59.6429f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch119st3[] =
-{
- {78.6905f,66.6667f},
- {59.6429f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch119st[] =
-{
- {2,ch119st0},
- {2,ch119st1},
- {2,ch119st2},
- {2,ch119st3}
-};
-
-static const GLUTStrokeChar ch119 = {80.4905f,4,ch119st};
-
-/* char: 0x78 */
-
-static const GLUTStrokeVertex ch120st0[] =
-{
- {1.6600f,66.6667f},
- {54.0410f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch120st1[] =
-{
- {54.0410f,66.6667f},
- {1.6600f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch120st[] =
-{
- {2,ch120st0},
- {2,ch120st1}
-};
-
-static const GLUTStrokeChar ch120 = {56.4010f,2,ch120st};
-
-/* char: 0x79 */
-
-static const GLUTStrokeVertex ch121st0[] =
-{
- {6.5619f,66.6667f},
- {35.1333f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch121st1[] =
-{
- {63.7048f,66.6667f},
- {35.1333f,0.0000f},
- {25.6095f,-19.0476f},
- {16.0857f,-28.5714f},
- {6.5619f,-33.3333f},
- {1.8000f,-33.3333f}
-};
-
-static const GLUTStrokeStrip ch121st[] =
-{
- {2,ch121st0},
- {6,ch121st1}
-};
-
-static const GLUTStrokeChar ch121 = {66.0648f,2,ch121st};
-
-/* char: 0x7a */
-
-static const GLUTStrokeVertex ch122st0[] =
-{
- {56.8210f,66.6667f},
- {4.4400f,0.0000f}
-};
-
-static const GLUTStrokeVertex ch122st1[] =
-{
- {4.4400f,66.6667f},
- {56.8210f,66.6667f}
-};
-
-static const GLUTStrokeVertex ch122st2[] =
-{
- {4.4400f,0.0000f},
- {56.8210f,0.0000f}
-};
-
-static const GLUTStrokeStrip ch122st[] =
-{
- {2,ch122st0},
- {2,ch122st1},
- {2,ch122st2}
-};
-
-static const GLUTStrokeChar ch122 = {61.8210f,3,ch122st};
-
-/* char: 0x7b */
-
-static const GLUTStrokeVertex ch123st0[] =
-{
- {31.1895f,119.0476f},
- {21.6657f,114.2857f},
- {16.9038f,109.5238f},
- {12.1419f,100.0000f},
- {12.1419f,90.4762f},
- {16.9038f,80.9524f},
- {21.6657f,76.1905f},
- {26.4276f,66.6667f},
- {26.4276f,57.1429f},
- {16.9038f,47.6190f}
-};
-
-static const GLUTStrokeVertex ch123st1[] =
-{
- {21.6657f,114.2857f},
- {16.9038f,104.7619f},
- {16.9038f,95.2381f},
- {21.6657f,85.7143f},
- {26.4276f,80.9524f},
- {31.1895f,71.4286f},
- {31.1895f,61.9048f},
- {26.4276f,52.3810f},
- {7.3800f,42.8571f},
- {26.4276f,33.3333f},
- {31.1895f,23.8095f},
- {31.1895f,14.2857f},
- {26.4276f,4.7619f},
- {21.6657f,0.0000f},
- {16.9038f,-9.5238f},
- {16.9038f,-19.0476f},
- {21.6657f,-28.5714f}
-};
-
-static const GLUTStrokeVertex ch123st2[] =
-{
- {16.9038f,38.0952f},
- {26.4276f,28.5714f},
- {26.4276f,19.0476f},
- {21.6657f,9.5238f},
- {16.9038f,4.7619f},
- {12.1419f,-4.7619f},
- {12.1419f,-14.2857f},
- {16.9038f,-23.8095f},
- {21.6657f,-28.5714f},
- {31.1895f,-33.3333f}
-};
-
-static const GLUTStrokeStrip ch123st[] =
-{
- {10,ch123st0},
- {17,ch123st1},
- {10,ch123st2}
-};
-
-static const GLUTStrokeChar ch123 = {41.6295f,3,ch123st};
-
-/* char: 0x7c */
-
-static const GLUTStrokeVertex ch124st0[] =
-{
- {11.5400f,119.0476f},
- {11.5400f,-33.3333f}
-};
-
-static const GLUTStrokeStrip ch124st[] =
-{
- {2,ch124st0}
-};
-
-static const GLUTStrokeChar ch124 = {23.7800f,1,ch124st};
-
-/* char: 0x7d */
-
-static const GLUTStrokeVertex ch125st0[] =
-{
- {9.1800f,119.0476f},
- {18.7038f,114.2857f},
- {23.4657f,109.5238f},
- {28.2276f,100.0000f},
- {28.2276f,90.4762f},
- {23.4657f,80.9524f},
- {18.7038f,76.1905f},
- {13.9419f,66.6667f},
- {13.9419f,57.1429f},
- {23.4657f,47.6190f}
-};
-
-static const GLUTStrokeVertex ch125st1[] =
-{
- {18.7038f,114.2857f},
- {23.4657f,104.7619f},
- {23.4657f,95.2381f},
- {18.7038f,85.7143f},
- {13.9419f,80.9524f},
- {9.1800f,71.4286f},
- {9.1800f,61.9048f},
- {13.9419f,52.3810f},
- {32.9895f,42.8571f},
- {13.9419f,33.3333f},
- {9.1800f,23.8095f},
- {9.1800f,14.2857f},
- {13.9419f,4.7619f},
- {18.7038f,0.0000f},
- {23.4657f,-9.5238f},
- {23.4657f,-19.0476f},
- {18.7038f,-28.5714f}
-};
-
-static const GLUTStrokeVertex ch125st2[] =
-{
- {23.4657f,38.0952f},
- {13.9419f,28.5714f},
- {13.9419f,19.0476f},
- {18.7038f,9.5238f},
- {23.4657f,4.7619f},
- {28.2276f,-4.7619f},
- {28.2276f,-14.2857f},
- {23.4657f,-23.8095f},
- {18.7038f,-28.5714f},
- {9.1800f,-33.3333f}
-};
-
-static const GLUTStrokeStrip ch125st[] =
-{
- {10,ch125st0},
- {17,ch125st1},
- {10,ch125st2}
-};
-
-static const GLUTStrokeChar ch125 = {41.4695f,3,ch125st};
-
-/* char: 0x7e */
-
-static const GLUTStrokeVertex ch126st0[] =
-{
- {2.9200f,28.5714f},
- {2.9200f,38.0952f},
- {7.6819f,52.3810f},
- {17.2057f,57.1429f},
- {26.7295f,57.1429f},
- {36.2533f,52.3810f},
- {55.3010f,38.0952f},
- {64.8248f,33.3333f},
- {74.3486f,33.3333f},
- {83.8724f,38.0952f},
- {88.6343f,47.6190f}
-};
-
-static const GLUTStrokeVertex ch126st1[] =
-{
- {2.9200f,38.0952f},
- {7.6819f,47.6190f},
- {17.2057f,52.3810f},
- {26.7295f,52.3810f},
- {36.2533f,47.6190f},
- {55.3010f,33.3333f},
- {64.8248f,28.5714f},
- {74.3486f,28.5714f},
- {83.8724f,33.3333f},
- {88.6343f,47.6190f},
- {88.6343f,57.1429f}
-};
-
-static const GLUTStrokeStrip ch126st[] =
-{
- {11,ch126st0},
- {11,ch126st1}
-};
-
-static const GLUTStrokeChar ch126 = {91.2743f,2,ch126st};
-
-static const GLUTStrokeChar *chars[] =
-{
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- &ch32, &ch33, &ch34, &ch35, &ch36, &ch37, &ch38, &ch39,
- &ch40, &ch41, &ch42, &ch43, &ch44, &ch45, &ch46, &ch47,
- &ch48, &ch49, &ch50, &ch51, &ch52, &ch53, &ch54, &ch55,
- &ch56, &ch57, &ch58, &ch59, &ch60, &ch61, &ch62, &ch63,
- &ch64, &ch65, &ch66, &ch67, &ch68, &ch69, &ch70, &ch71,
- &ch72, &ch73, &ch74, &ch75, &ch76, &ch77, &ch78, &ch79,
- &ch80, &ch81, &ch82, &ch83, &ch84, &ch85, &ch86, &ch87,
- &ch88, &ch89, &ch90, &ch91, &ch92, &ch93, &ch94, &ch95,
- &ch96, &ch97, &ch98, &ch99, &ch100, &ch101, &ch102, &ch103,
- &ch104, &ch105, &ch106, &ch107, &ch108, &ch109, &ch110, &ch111,
- &ch112, &ch113, &ch114, &ch115, &ch116, &ch117, &ch118, &ch119,
- &ch120, &ch121, &ch122, &ch123, &ch124, &ch125, &ch126
-};
-
-const GLUTStrokeFont glutStrokeRoman = {"Roman",128,chars,152.3809f,33.3333f};
diff --git a/src/glut/dos/shapes.c b/src/glut/dos/shapes.c
deleted file mode 100644
index 4edebe90ed..0000000000
--- a/src/glut/dos/shapes.c
+++ /dev/null
@@ -1,1143 +0,0 @@
-/*
- * freeglut_geometry.c
- *
- * Freeglut geometry rendering methods.
- *
- * Copyright (c) 1999-2000 Pawel W. Olszta. All Rights Reserved.
- * Written by Pawel W. Olszta, <olszta@sourceforge.net>
- * Creation date: Fri Dec 3 1999
- *
- * 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
- * PAWEL W. OLSZTA 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.
- */
-
-#include <math.h>
-#include "internal.h"
-
-/*
- * TODO BEFORE THE STABLE RELEASE:
- *
- * Following functions have been contributed by Andreas Umbach.
- *
- * glutWireCube() -- looks OK
- * glutSolidCube() -- OK
- *
- * Those functions have been implemented by John Fay.
- *
- * glutWireTorus() -- looks OK
- * glutSolidTorus() -- looks OK
- * glutWireDodecahedron() -- looks OK
- * glutSolidDodecahedron() -- looks OK
- * glutWireOctahedron() -- looks OK
- * glutSolidOctahedron() -- looks OK
- * glutWireTetrahedron() -- looks OK
- * glutSolidTetrahedron() -- looks OK
- * glutWireIcosahedron() -- looks OK
- * glutSolidIcosahedron() -- looks OK
- *
- * The Following functions have been updated by Nigel Stewart, based
- * on FreeGLUT 2.0.0 implementations:
- *
- * glutWireSphere() -- looks OK
- * glutSolidSphere() -- looks OK
- * glutWireCone() -- looks OK
- * glutSolidCone() -- looks OK
- */
-
-
-/* -- INTERFACE FUNCTIONS -------------------------------------------------- */
-
-/*
- * Draws a wireframed cube. Code contributed by Andreas Umbach <marvin@dataway.ch>
- */
-void GLUTAPIENTRY glutWireCube( GLdouble dSize )
-{
- double size = dSize * 0.5;
-
-# define V(a,b,c) glVertex3d( a size, b size, c size );
-# define N(a,b,c) glNormal3d( a, b, c );
-
- /*
- * PWO: I dared to convert the code to use macros...
- */
- glBegin( GL_LINE_LOOP ); N( 1.0, 0.0, 0.0); V(+,-,+); V(+,-,-); V(+,+,-); V(+,+,+); glEnd();
- glBegin( GL_LINE_LOOP ); N( 0.0, 1.0, 0.0); V(+,+,+); V(+,+,-); V(-,+,-); V(-,+,+); glEnd();
- glBegin( GL_LINE_LOOP ); N( 0.0, 0.0, 1.0); V(+,+,+); V(-,+,+); V(-,-,+); V(+,-,+); glEnd();
- glBegin( GL_LINE_LOOP ); N(-1.0, 0.0, 0.0); V(-,-,+); V(-,+,+); V(-,+,-); V(-,-,-); glEnd();
- glBegin( GL_LINE_LOOP ); N( 0.0,-1.0, 0.0); V(-,-,+); V(-,-,-); V(+,-,-); V(+,-,+); glEnd();
- glBegin( GL_LINE_LOOP ); N( 0.0, 0.0,-1.0); V(-,-,-); V(-,+,-); V(+,+,-); V(+,-,-); glEnd();
-
-# undef V
-# undef N
-}
-
-/*
- * Draws a solid cube. Code contributed by Andreas Umbach <marvin@dataway.ch>
- */
-void GLUTAPIENTRY glutSolidCube( GLdouble dSize )
-{
- double size = dSize * 0.5;
-
-# define V(a,b,c) glVertex3d( a size, b size, c size );
-# define N(a,b,c) glNormal3d( a, b, c );
-
- /*
- * PWO: Again, I dared to convert the code to use macros...
- */
- glBegin( GL_QUADS );
- N( 1.0, 0.0, 0.0); V(+,-,+); V(+,-,-); V(+,+,-); V(+,+,+);
- N( 0.0, 1.0, 0.0); V(+,+,+); V(+,+,-); V(-,+,-); V(-,+,+);
- N( 0.0, 0.0, 1.0); V(+,+,+); V(-,+,+); V(-,-,+); V(+,-,+);
- N(-1.0, 0.0, 0.0); V(-,-,+); V(-,+,+); V(-,+,-); V(-,-,-);
- N( 0.0,-1.0, 0.0); V(-,-,+); V(-,-,-); V(+,-,-); V(+,-,+);
- N( 0.0, 0.0,-1.0); V(-,-,-); V(-,+,-); V(+,+,-); V(+,-,-);
- glEnd();
-
-# undef V
-# undef N
-}
-
-/*
- * Compute lookup table of cos and sin values forming a cirle
- *
- * Notes:
- * It is the responsibility of the caller to free these tables
- * The size of the table is (n+1) to form a connected loop
- * The last entry is exactly the same as the first
- * The sign of n can be flipped to get the reverse loop
- */
-
-static void circleTable(double **sint,double **cost,const int n)
-{
- int i;
-
- /* Table size, the sign of n flips the circle direction */
-
- const int size = abs(n);
-
- /* Determine the angle between samples */
-
- const double angle = 2*M_PI/(double)n;
-
- /* Allocate memory for n samples, plus duplicate of first entry at the end */
-
- *sint = (double *) calloc(sizeof(double), size+1);
- *cost = (double *) calloc(sizeof(double), size+1);
-
- /* Bail out if memory allocation fails, fgError never returns */
-
- if (!(*sint) || !(*cost))
- {
- free(*sint);
- free(*cost);
- _glut_fatal("Failed to allocate memory in circleTable");
- }
-
- /* Compute cos and sin around the circle */
-
- for (i=0; i<size; i++)
- {
- (*sint)[i] = sin(angle*i);
- (*cost)[i] = cos(angle*i);
- }
-
- /* Last sample is duplicate of the first */
-
- (*sint)[size] = (*sint)[0];
- (*cost)[size] = (*cost)[0];
-}
-
-/*
- * Draws a solid sphere
- */
-void GLUTAPIENTRY glutSolidSphere(GLdouble radius, GLint slices, GLint stacks)
-{
- int i,j;
-
- /* Adjust z and radius as stacks are drawn. */
-
- double z0,z1;
- double r0,r1;
-
- /* Pre-computed circle */
-
- double *sint1,*cost1;
- double *sint2,*cost2;
- circleTable(&sint1,&cost1,-slices);
- circleTable(&sint2,&cost2,stacks*2);
-
- /* The top stack is covered with a triangle fan */
-
- z0 = 1.0;
- z1 = cost2[1];
- r0 = 0.0;
- r1 = sint2[1];
-
- glBegin(GL_TRIANGLE_FAN);
-
- glNormal3d(0,0,1);
- glVertex3d(0,0,radius);
-
- for (j=slices; j>=0; j--)
- {
- glNormal3d(cost1[j]*r1, sint1[j]*r1, z1 );
- glVertex3d(cost1[j]*r1*radius, sint1[j]*r1*radius, z1*radius);
- }
-
- glEnd();
-
- /* Cover each stack with a quad strip, except the top and bottom stacks */
-
- for( i=1; i<stacks-1; i++ )
- {
- z0 = z1; z1 = cost2[i+1];
- r0 = r1; r1 = sint2[i+1];
-
- glBegin(GL_QUAD_STRIP);
-
- for(j=0; j<=slices; j++)
- {
- glNormal3d(cost1[j]*r1, sint1[j]*r1, z1 );
- glVertex3d(cost1[j]*r1*radius, sint1[j]*r1*radius, z1*radius);
- glNormal3d(cost1[j]*r0, sint1[j]*r0, z0 );
- glVertex3d(cost1[j]*r0*radius, sint1[j]*r0*radius, z0*radius);
- }
-
- glEnd();
- }
-
- /* The bottom stack is covered with a triangle fan */
-
- z0 = z1;
- r0 = r1;
-
- glBegin(GL_TRIANGLE_FAN);
-
- glNormal3d(0,0,-1);
- glVertex3d(0,0,-radius);
-
- for (j=0; j<=slices; j++)
- {
- glNormal3d(cost1[j]*r0, sint1[j]*r0, z0 );
- glVertex3d(cost1[j]*r0*radius, sint1[j]*r0*radius, z0*radius);
- }
-
- glEnd();
-
- /* Release sin and cos tables */
-
- free(sint1);
- free(cost1);
- free(sint2);
- free(cost2);
-}
-
-/*
- * Draws a solid sphere
- */
-void GLUTAPIENTRY glutWireSphere(GLdouble radius, GLint slices, GLint stacks)
-{
- int i,j;
-
- /* Adjust z and radius as stacks and slices are drawn. */
-
- double r;
- double x,y,z;
-
- /* Pre-computed circle */
-
- double *sint1,*cost1;
- double *sint2,*cost2;
- circleTable(&sint1,&cost1,-slices );
- circleTable(&sint2,&cost2, stacks*2);
-
- /* Draw a line loop for each stack */
-
- for (i=1; i<stacks; i++)
- {
- z = cost2[i];
- r = sint2[i];
-
- glBegin(GL_LINE_LOOP);
-
- for(j=0; j<=slices; j++)
- {
- x = cost1[j];
- y = sint1[j];
-
- glNormal3d(x,y,z);
- glVertex3d(x*r*radius,y*r*radius,z*radius);
- }
-
- glEnd();
- }
-
- /* Draw a line loop for each slice */
-
- for (i=0; i<slices; i++)
- {
- glBegin(GL_LINE_STRIP);
-
- for(j=0; j<=stacks; j++)
- {
- x = cost1[i]*sint2[j];
- y = sint1[i]*sint2[j];
- z = cost2[j];
-
- glNormal3d(x,y,z);
- glVertex3d(x*radius,y*radius,z*radius);
- }
-
- glEnd();
- }
-
- /* Release sin and cos tables */
-
- free(sint1);
- free(cost1);
- free(sint2);
- free(cost2);
-}
-
-/*
- * Draws a solid cone
- */
-void GLUTAPIENTRY glutSolidCone( GLdouble base, GLdouble height, GLint slices, GLint stacks )
-{
- int i,j;
-
- /* Step in z and radius as stacks are drawn. */
-
- double z0,z1;
- double r0,r1;
-
- const double zStep = height/stacks;
- const double rStep = base/stacks;
-
- /* Scaling factors for vertex normals */
-
- const double cosn = ( height / sqrt ( height * height + base * base ));
- const double sinn = ( base / sqrt ( height * height + base * base ));
-
- /* Pre-computed circle */
-
- double *sint,*cost;
- circleTable(&sint,&cost,-slices);
-
- /* Cover the circular base with a triangle fan... */
-
- z0 = 0.0;
- z1 = zStep;
-
- r0 = base;
- r1 = r0 - rStep;
-
- glBegin(GL_TRIANGLE_FAN);
-
- glNormal3d(0.0,0.0,-1.0);
- glVertex3d(0.0,0.0, z0 );
-
- for (j=0; j<=slices; j++)
- glVertex3d(cost[j]*r0, sint[j]*r0, z0);
-
- glEnd();
-
- /* Cover each stack with a quad strip, except the top stack */
-
- for( i=0; i<stacks-1; i++ )
- {
- glBegin(GL_QUAD_STRIP);
-
- for(j=0; j<=slices; j++)
- {
- glNormal3d(cost[j]*sinn, sint[j]*sinn, cosn);
- glVertex3d(cost[j]*r0, sint[j]*r0, z0 );
- glVertex3d(cost[j]*r1, sint[j]*r1, z1 );
- }
-
- z0 = z1; z1 += zStep;
- r0 = r1; r1 -= rStep;
-
- glEnd();
- }
-
- /* The top stack is covered with individual triangles */
-
- glBegin(GL_TRIANGLES);
-
- glNormal3d(cost[0]*sinn, sint[0]*sinn, cosn);
-
- for (j=0; j<slices; j++)
- {
- glVertex3d(cost[j+0]*r0, sint[j+0]*r0, z0 );
- glVertex3d(0, 0, height);
- glNormal3d(cost[j+1]*sinn, sint[j+1]*sinn, cosn );
- glVertex3d(cost[j+1]*r0, sint[j+1]*r0, z0 );
- }
-
- glEnd();
-
- /* Release sin and cos tables */
-
- free(sint);
- free(cost);
-}
-
-/*
- * Draws a wire cone
- */
-void GLUTAPIENTRY glutWireCone( GLdouble base, GLdouble height, GLint slices, GLint stacks)
-{
- int i,j;
-
- /* Step in z and radius as stacks are drawn. */
-
- double z = 0.0;
- double r = base;
-
- const double zStep = height/stacks;
- const double rStep = base/stacks;
-
- /* Scaling factors for vertex normals */
-
- const double cosn = ( height / sqrt ( height * height + base * base ));
- const double sinn = ( base / sqrt ( height * height + base * base ));
-
- /* Pre-computed circle */
-
- double *sint,*cost;
- circleTable(&sint,&cost,-slices);
-
- /* Draw the stacks... */
-
- for (i=0; i<stacks; i++)
- {
- glBegin(GL_LINE_LOOP);
-
- for( j=0; j<slices; j++ )
- {
- glNormal3d(cost[j]*sinn, sint[j]*sinn, cosn);
- glVertex3d(cost[j]*r, sint[j]*r, z );
- }
-
- glEnd();
-
- z += zStep;
- r -= rStep;
- }
-
- /* Draw the slices */
-
- r = base;
-
- glBegin(GL_LINES);
-
- for (j=0; j<slices; j++)
- {
- glNormal3d(cost[j]*sinn, sint[j]*sinn, cosn );
- glVertex3d(cost[j]*r, sint[j]*r, 0.0 );
- glVertex3d(0.0, 0.0, height);
- }
-
- glEnd();
-
- /* Release sin and cos tables */
-
- free(sint);
- free(cost);
-}
-
-
-/*
- * Draws a solid cylinder
- */
-void GLUTAPIENTRY glutSolidCylinder(GLdouble radius, GLdouble height, GLint slices, GLint stacks)
-{
- int i,j;
-
- /* Step in z and radius as stacks are drawn. */
-
- double z0,z1;
- const double zStep = height/stacks;
-
- /* Pre-computed circle */
-
- double *sint,*cost;
- circleTable(&sint,&cost,-slices);
-
- /* Cover the base and top */
-
- glBegin(GL_TRIANGLE_FAN);
- glNormal3d(0.0, 0.0, -1.0 );
- glVertex3d(0.0, 0.0, 0.0 );
- for (j=0; j<=slices; j++)
- glVertex3d(cost[j]*radius, sint[j]*radius, 0.0);
- glEnd();
-
- glBegin(GL_TRIANGLE_FAN);
- glNormal3d(0.0, 0.0, 1.0 );
- glVertex3d(0.0, 0.0, height);
- for (j=slices; j>=0; j--)
- glVertex3d(cost[j]*radius, sint[j]*radius, height);
- glEnd();
-
- /* Do the stacks */
-
- z0 = 0.0;
- z1 = zStep;
-
- for (i=1; i<=stacks; i++)
- {
- if (i==stacks)
- z1 = height;
-
- glBegin(GL_QUAD_STRIP);
- for (j=0; j<=slices; j++ )
- {
- glNormal3d(cost[j], sint[j], 0.0 );
- glVertex3d(cost[j]*radius, sint[j]*radius, z0 );
- glVertex3d(cost[j]*radius, sint[j]*radius, z1 );
- }
- glEnd();
-
- z0 = z1; z1 += zStep;
- }
-
- /* Release sin and cos tables */
-
- free(sint);
- free(cost);
-}
-
-/*
- * Draws a wire cylinder
- */
-void GLUTAPIENTRY glutWireCylinder(GLdouble radius, GLdouble height, GLint slices, GLint stacks)
-{
- int i,j;
-
- /* Step in z and radius as stacks are drawn. */
-
- double z = 0.0;
- const double zStep = height/stacks;
-
- /* Pre-computed circle */
-
- double *sint,*cost;
- circleTable(&sint,&cost,-slices);
-
- /* Draw the stacks... */
-
- for (i=0; i<=stacks; i++)
- {
- if (i==stacks)
- z = height;
-
- glBegin(GL_LINE_LOOP);
-
- for( j=0; j<slices; j++ )
- {
- glNormal3d(cost[j], sint[j], 0.0);
- glVertex3d(cost[j]*radius, sint[j]*radius, z );
- }
-
- glEnd();
-
- z += zStep;
- }
-
- /* Draw the slices */
-
- glBegin(GL_LINES);
-
- for (j=0; j<slices; j++)
- {
- glNormal3d(cost[j], sint[j], 0.0 );
- glVertex3d(cost[j]*radius, sint[j]*radius, 0.0 );
- glVertex3d(cost[j]*radius, sint[j]*radius, height);
- }
-
- glEnd();
-
- /* Release sin and cos tables */
-
- free(sint);
- free(cost);
-}
-
-/*
- *
- */
-void GLUTAPIENTRY glutWireTorus( GLdouble dInnerRadius, GLdouble dOuterRadius, GLint nSides, GLint nRings )
-{
- double iradius = dInnerRadius, oradius = dOuterRadius, phi, psi, dpsi, dphi;
- double *vertex, *normal;
- int i, j;
- double spsi, cpsi, sphi, cphi ;
-
- /*
- * Allocate the vertices array
- */
- vertex = (double *)calloc( sizeof(double), 3 * nSides * nRings );
- normal = (double *)calloc( sizeof(double), 3 * nSides * nRings );
-
- glPushMatrix();
-
- dpsi = 2.0 * M_PI / (double)nRings ;
- dphi = -2.0 * M_PI / (double)nSides ;
- psi = 0.0;
-
- for( j=0; j<nRings; j++ )
- {
- cpsi = cos ( psi ) ;
- spsi = sin ( psi ) ;
- phi = 0.0;
-
- for( i=0; i<nSides; i++ )
- {
- int offset = 3 * ( j * nSides + i ) ;
- cphi = cos ( phi ) ;
- sphi = sin ( phi ) ;
- *(vertex + offset + 0) = cpsi * ( oradius + cphi * iradius ) ;
- *(vertex + offset + 1) = spsi * ( oradius + cphi * iradius ) ;
- *(vertex + offset + 2) = sphi * iradius ;
- *(normal + offset + 0) = cpsi * cphi ;
- *(normal + offset + 1) = spsi * cphi ;
- *(normal + offset + 2) = sphi ;
- phi += dphi;
- }
-
- psi += dpsi;
- }
-
- for( i=0; i<nSides; i++ )
- {
- glBegin( GL_LINE_LOOP );
-
- for( j=0; j<nRings; j++ )
- {
- int offset = 3 * ( j * nSides + i ) ;
- glNormal3dv( normal + offset );
- glVertex3dv( vertex + offset );
- }
-
- glEnd();
- }
-
- for( j=0; j<nRings; j++ )
- {
- glBegin(GL_LINE_LOOP);
-
- for( i=0; i<nSides; i++ )
- {
- int offset = 3 * ( j * nSides + i ) ;
- glNormal3dv( normal + offset );
- glVertex3dv( vertex + offset );
- }
-
- glEnd();
- }
-
- free ( vertex ) ;
- free ( normal ) ;
- glPopMatrix();
-}
-
-/*
- *
- */
-void GLUTAPIENTRY glutSolidTorus( GLdouble dInnerRadius, GLdouble dOuterRadius, GLint nSides, GLint nRings )
-{
- double iradius = dInnerRadius, oradius = dOuterRadius, phi, psi, dpsi, dphi;
- double *vertex, *normal;
- int i, j;
- double spsi, cpsi, sphi, cphi ;
-
- /*
- * Increment the number of sides and rings to allow for one more point than surface
- */
- nSides ++ ;
- nRings ++ ;
-
- /*
- * Allocate the vertices array
- */
- vertex = (double *)calloc( sizeof(double), 3 * nSides * nRings );
- normal = (double *)calloc( sizeof(double), 3 * nSides * nRings );
-
- glPushMatrix();
-
- dpsi = 2.0 * M_PI / (double)(nRings - 1) ;
- dphi = -2.0 * M_PI / (double)(nSides - 1) ;
- psi = 0.0;
-
- for( j=0; j<nRings; j++ )
- {
- cpsi = cos ( psi ) ;
- spsi = sin ( psi ) ;
- phi = 0.0;
-
- for( i=0; i<nSides; i++ )
- {
- int offset = 3 * ( j * nSides + i ) ;
- cphi = cos ( phi ) ;
- sphi = sin ( phi ) ;
- *(vertex + offset + 0) = cpsi * ( oradius + cphi * iradius ) ;
- *(vertex + offset + 1) = spsi * ( oradius + cphi * iradius ) ;
- *(vertex + offset + 2) = sphi * iradius ;
- *(normal + offset + 0) = cpsi * cphi ;
- *(normal + offset + 1) = spsi * cphi ;
- *(normal + offset + 2) = sphi ;
- phi += dphi;
- }
-
- psi += dpsi;
- }
-
- glBegin( GL_QUADS );
- for( i=0; i<nSides-1; i++ )
- {
- for( j=0; j<nRings-1; j++ )
- {
- int offset = 3 * ( j * nSides + i ) ;
- glNormal3dv( normal + offset );
- glVertex3dv( vertex + offset );
- glNormal3dv( normal + offset + 3 );
- glVertex3dv( vertex + offset + 3 );
- glNormal3dv( normal + offset + 3 * nSides + 3 );
- glVertex3dv( vertex + offset + 3 * nSides + 3 );
- glNormal3dv( normal + offset + 3 * nSides );
- glVertex3dv( vertex + offset + 3 * nSides );
- }
- }
-
- glEnd();
-
- free ( vertex ) ;
- free ( normal ) ;
- glPopMatrix();
-}
-
-/*
- *
- */
-void GLUTAPIENTRY glutWireDodecahedron( void )
-{
- /* Magic Numbers: It is possible to create a dodecahedron by attaching two pentagons to each face of
- * of a cube. The coordinates of the points are:
- * (+-x,0, z); (+-1, 1, 1); (0, z, x )
- * where x = 0.61803398875 and z = 1.61803398875.
- */
- glBegin ( GL_LINE_LOOP ) ;
- glNormal3d ( 0.0, 0.525731112119, 0.850650808354 ) ; glVertex3d ( 0.0, 1.61803398875, 0.61803398875 ) ; glVertex3d ( -1.0, 1.0, 1.0 ) ; glVertex3d ( -0.61803398875, 0.0, 1.61803398875 ) ; glVertex3d ( 0.61803398875, 0.0, 1.61803398875 ) ; glVertex3d ( 1.0, 1.0, 1.0 ) ;
- glEnd () ;
- glBegin ( GL_LINE_LOOP ) ;
- glNormal3d ( 0.0, 0.525731112119, -0.850650808354 ) ; glVertex3d ( 0.0, 1.61803398875, -0.61803398875 ) ; glVertex3d ( 1.0, 1.0, -1.0 ) ; glVertex3d ( 0.61803398875, 0.0, -1.61803398875 ) ; glVertex3d ( -0.61803398875, 0.0, -1.61803398875 ) ; glVertex3d ( -1.0, 1.0, -1.0 ) ;
- glEnd () ;
- glBegin ( GL_LINE_LOOP ) ;
- glNormal3d ( 0.0, -0.525731112119, 0.850650808354 ) ; glVertex3d ( 0.0, -1.61803398875, 0.61803398875 ) ; glVertex3d ( 1.0, -1.0, 1.0 ) ; glVertex3d ( 0.61803398875, 0.0, 1.61803398875 ) ; glVertex3d ( -0.61803398875, 0.0, 1.61803398875 ) ; glVertex3d ( -1.0, -1.0, 1.0 ) ;
- glEnd () ;
- glBegin ( GL_LINE_LOOP ) ;
- glNormal3d ( 0.0, -0.525731112119, -0.850650808354 ) ; glVertex3d ( 0.0, -1.61803398875, -0.61803398875 ) ; glVertex3d ( -1.0, -1.0, -1.0 ) ; glVertex3d ( -0.61803398875, 0.0, -1.61803398875 ) ; glVertex3d ( 0.61803398875, 0.0, -1.61803398875 ) ; glVertex3d ( 1.0, -1.0, -1.0 ) ;
- glEnd () ;
-
- glBegin ( GL_LINE_LOOP ) ;
- glNormal3d ( 0.850650808354, 0.0, 0.525731112119 ) ; glVertex3d ( 0.61803398875, 0.0, 1.61803398875 ) ; glVertex3d ( 1.0, -1.0, 1.0 ) ; glVertex3d ( 1.61803398875, -0.61803398875, 0.0 ) ; glVertex3d ( 1.61803398875, 0.61803398875, 0.0 ) ; glVertex3d ( 1.0, 1.0, 1.0 ) ;
- glEnd () ;
- glBegin ( GL_LINE_LOOP ) ;
- glNormal3d ( -0.850650808354, 0.0, 0.525731112119 ) ; glVertex3d ( -0.61803398875, 0.0, 1.61803398875 ) ; glVertex3d ( -1.0, 1.0, 1.0 ) ; glVertex3d ( -1.61803398875, 0.61803398875, 0.0 ) ; glVertex3d ( -1.61803398875, -0.61803398875, 0.0 ) ; glVertex3d ( -1.0, -1.0, 1.0 ) ;
- glEnd () ;
- glBegin ( GL_LINE_LOOP ) ;
- glNormal3d ( 0.850650808354, 0.0, -0.525731112119 ) ; glVertex3d ( 0.61803398875, 0.0, -1.61803398875 ) ; glVertex3d ( 1.0, 1.0, -1.0 ) ; glVertex3d ( 1.61803398875, 0.61803398875, 0.0 ) ; glVertex3d ( 1.61803398875, -0.61803398875, 0.0 ) ; glVertex3d ( 1.0, -1.0, -1.0 ) ;
- glEnd () ;
- glBegin ( GL_LINE_LOOP ) ;
- glNormal3d ( -0.850650808354, 0.0, -0.525731112119 ) ; glVertex3d ( -0.61803398875, 0.0, -1.61803398875 ) ; glVertex3d ( -1.0, -1.0, -1.0 ) ; glVertex3d ( -1.61803398875, -0.61803398875, 0.0 ) ; glVertex3d ( -1.61803398875, 0.61803398875, 0.0 ) ; glVertex3d ( -1.0, 1.0, -1.0 ) ;
- glEnd () ;
-
- glBegin ( GL_LINE_LOOP ) ;
- glNormal3d ( 0.525731112119, 0.850650808354, 0.0 ) ; glVertex3d ( 1.61803398875, 0.61803398875, 0.0 ) ; glVertex3d ( 1.0, 1.0, -1.0 ) ; glVertex3d ( 0.0, 1.61803398875, -0.61803398875 ) ; glVertex3d ( 0.0, 1.61803398875, 0.61803398875 ) ; glVertex3d ( 1.0, 1.0, 1.0 ) ;
- glEnd () ;
- glBegin ( GL_LINE_LOOP ) ;
- glNormal3d ( 0.525731112119, -0.850650808354, 0.0 ) ; glVertex3d ( 1.61803398875, -0.61803398875, 0.0 ) ; glVertex3d ( 1.0, -1.0, 1.0 ) ; glVertex3d ( 0.0, -1.61803398875, 0.61803398875 ) ; glVertex3d ( 0.0, -1.61803398875, -0.61803398875 ) ; glVertex3d ( 1.0, -1.0, -1.0 ) ;
- glEnd () ;
- glBegin ( GL_LINE_LOOP ) ;
- glNormal3d ( -0.525731112119, 0.850650808354, 0.0 ) ; glVertex3d ( -1.61803398875, 0.61803398875, 0.0 ) ; glVertex3d ( -1.0, 1.0, 1.0 ) ; glVertex3d ( 0.0, 1.61803398875, 0.61803398875 ) ; glVertex3d ( 0.0, 1.61803398875, -0.61803398875 ) ; glVertex3d ( -1.0, 1.0, -1.0 ) ;
- glEnd () ;
- glBegin ( GL_LINE_LOOP ) ;
- glNormal3d ( -0.525731112119, -0.850650808354, 0.0 ) ; glVertex3d ( -1.61803398875, -0.61803398875, 0.0 ) ; glVertex3d ( -1.0, -1.0, -1.0 ) ; glVertex3d ( 0.0, -1.61803398875, -0.61803398875 ) ; glVertex3d ( 0.0, -1.61803398875, 0.61803398875 ) ; glVertex3d ( -1.0, -1.0, 1.0 ) ;
- glEnd () ;
-}
-
-/*
- *
- */
-void GLUTAPIENTRY glutSolidDodecahedron( void )
-{
- /* Magic Numbers: It is possible to create a dodecahedron by attaching two pentagons to each face of
- * of a cube. The coordinates of the points are:
- * (+-x,0, z); (+-1, 1, 1); (0, z, x )
- * where x = 0.61803398875 and z = 1.61803398875.
- */
- glBegin ( GL_POLYGON ) ;
- glNormal3d ( 0.0, 0.525731112119, 0.850650808354 ) ; glVertex3d ( 0.0, 1.61803398875, 0.61803398875 ) ; glVertex3d ( -1.0, 1.0, 1.0 ) ; glVertex3d ( -0.61803398875, 0.0, 1.61803398875 ) ; glVertex3d ( 0.61803398875, 0.0, 1.61803398875 ) ; glVertex3d ( 1.0, 1.0, 1.0 ) ;
- glEnd () ;
- glBegin ( GL_POLYGON ) ;
- glNormal3d ( 0.0, 0.525731112119, -0.850650808354 ) ; glVertex3d ( 0.0, 1.61803398875, -0.61803398875 ) ; glVertex3d ( 1.0, 1.0, -1.0 ) ; glVertex3d ( 0.61803398875, 0.0, -1.61803398875 ) ; glVertex3d ( -0.61803398875, 0.0, -1.61803398875 ) ; glVertex3d ( -1.0, 1.0, -1.0 ) ;
- glEnd () ;
- glBegin ( GL_POLYGON ) ;
- glNormal3d ( 0.0, -0.525731112119, 0.850650808354 ) ; glVertex3d ( 0.0, -1.61803398875, 0.61803398875 ) ; glVertex3d ( 1.0, -1.0, 1.0 ) ; glVertex3d ( 0.61803398875, 0.0, 1.61803398875 ) ; glVertex3d ( -0.61803398875, 0.0, 1.61803398875 ) ; glVertex3d ( -1.0, -1.0, 1.0 ) ;
- glEnd () ;
- glBegin ( GL_POLYGON ) ;
- glNormal3d ( 0.0, -0.525731112119, -0.850650808354 ) ; glVertex3d ( 0.0, -1.61803398875, -0.61803398875 ) ; glVertex3d ( -1.0, -1.0, -1.0 ) ; glVertex3d ( -0.61803398875, 0.0, -1.61803398875 ) ; glVertex3d ( 0.61803398875, 0.0, -1.61803398875 ) ; glVertex3d ( 1.0, -1.0, -1.0 ) ;
- glEnd () ;
-
- glBegin ( GL_POLYGON ) ;
- glNormal3d ( 0.850650808354, 0.0, 0.525731112119 ) ; glVertex3d ( 0.61803398875, 0.0, 1.61803398875 ) ; glVertex3d ( 1.0, -1.0, 1.0 ) ; glVertex3d ( 1.61803398875, -0.61803398875, 0.0 ) ; glVertex3d ( 1.61803398875, 0.61803398875, 0.0 ) ; glVertex3d ( 1.0, 1.0, 1.0 ) ;
- glEnd () ;
- glBegin ( GL_POLYGON ) ;
- glNormal3d ( -0.850650808354, 0.0, 0.525731112119 ) ; glVertex3d ( -0.61803398875, 0.0, 1.61803398875 ) ; glVertex3d ( -1.0, 1.0, 1.0 ) ; glVertex3d ( -1.61803398875, 0.61803398875, 0.0 ) ; glVertex3d ( -1.61803398875, -0.61803398875, 0.0 ) ; glVertex3d ( -1.0, -1.0, 1.0 ) ;
- glEnd () ;
- glBegin ( GL_POLYGON ) ;
- glNormal3d ( 0.850650808354, 0.0, -0.525731112119 ) ; glVertex3d ( 0.61803398875, 0.0, -1.61803398875 ) ; glVertex3d ( 1.0, 1.0, -1.0 ) ; glVertex3d ( 1.61803398875, 0.61803398875, 0.0 ) ; glVertex3d ( 1.61803398875, -0.61803398875, 0.0 ) ; glVertex3d ( 1.0, -1.0, -1.0 ) ;
- glEnd () ;
- glBegin ( GL_POLYGON ) ;
- glNormal3d ( -0.850650808354, 0.0, -0.525731112119 ) ; glVertex3d ( -0.61803398875, 0.0, -1.61803398875 ) ; glVertex3d ( -1.0, -1.0, -1.0 ) ; glVertex3d ( -1.61803398875, -0.61803398875, 0.0 ) ; glVertex3d ( -1.61803398875, 0.61803398875, 0.0 ) ; glVertex3d ( -1.0, 1.0, -1.0 ) ;
- glEnd () ;
-
- glBegin ( GL_POLYGON ) ;
- glNormal3d ( 0.525731112119, 0.850650808354, 0.0 ) ; glVertex3d ( 1.61803398875, 0.61803398875, 0.0 ) ; glVertex3d ( 1.0, 1.0, -1.0 ) ; glVertex3d ( 0.0, 1.61803398875, -0.61803398875 ) ; glVertex3d ( 0.0, 1.61803398875, 0.61803398875 ) ; glVertex3d ( 1.0, 1.0, 1.0 ) ;
- glEnd () ;
- glBegin ( GL_POLYGON ) ;
- glNormal3d ( 0.525731112119, -0.850650808354, 0.0 ) ; glVertex3d ( 1.61803398875, -0.61803398875, 0.0 ) ; glVertex3d ( 1.0, -1.0, 1.0 ) ; glVertex3d ( 0.0, -1.61803398875, 0.61803398875 ) ; glVertex3d ( 0.0, -1.61803398875, -0.61803398875 ) ; glVertex3d ( 1.0, -1.0, -1.0 ) ;
- glEnd () ;
- glBegin ( GL_POLYGON ) ;
- glNormal3d ( -0.525731112119, 0.850650808354, 0.0 ) ; glVertex3d ( -1.61803398875, 0.61803398875, 0.0 ) ; glVertex3d ( -1.0, 1.0, 1.0 ) ; glVertex3d ( 0.0, 1.61803398875, 0.61803398875 ) ; glVertex3d ( 0.0, 1.61803398875, -0.61803398875 ) ; glVertex3d ( -1.0, 1.0, -1.0 ) ;
- glEnd () ;
- glBegin ( GL_POLYGON ) ;
- glNormal3d ( -0.525731112119, -0.850650808354, 0.0 ) ; glVertex3d ( -1.61803398875, -0.61803398875, 0.0 ) ; glVertex3d ( -1.0, -1.0, -1.0 ) ; glVertex3d ( 0.0, -1.61803398875, -0.61803398875 ) ; glVertex3d ( 0.0, -1.61803398875, 0.61803398875 ) ; glVertex3d ( -1.0, -1.0, 1.0 ) ;
- glEnd () ;
-}
-
-/*
- *
- */
-void GLUTAPIENTRY glutWireOctahedron( void )
-{
-#define RADIUS 1.0f
- glBegin( GL_LINE_LOOP );
- glNormal3d( 0.577350269189, 0.577350269189, 0.577350269189); glVertex3d( RADIUS, 0.0, 0.0 ); glVertex3d( 0.0, RADIUS, 0.0 ); glVertex3d( 0.0, 0.0, RADIUS );
- glNormal3d( 0.577350269189, 0.577350269189,-0.577350269189); glVertex3d( RADIUS, 0.0, 0.0 ); glVertex3d( 0.0, RADIUS, 0.0 ); glVertex3d( 0.0, 0.0,-RADIUS );
- glNormal3d( 0.577350269189,-0.577350269189, 0.577350269189); glVertex3d( RADIUS, 0.0, 0.0 ); glVertex3d( 0.0,-RADIUS, 0.0 ); glVertex3d( 0.0, 0.0, RADIUS );
- glNormal3d( 0.577350269189,-0.577350269189,-0.577350269189); glVertex3d( RADIUS, 0.0, 0.0 ); glVertex3d( 0.0,-RADIUS, 0.0 ); glVertex3d( 0.0, 0.0,-RADIUS );
- glNormal3d(-0.577350269189, 0.577350269189, 0.577350269189); glVertex3d(-RADIUS, 0.0, 0.0 ); glVertex3d( 0.0, RADIUS, 0.0 ); glVertex3d( 0.0, 0.0, RADIUS );
- glNormal3d(-0.577350269189, 0.577350269189,-0.577350269189); glVertex3d(-RADIUS, 0.0, 0.0 ); glVertex3d( 0.0, RADIUS, 0.0 ); glVertex3d( 0.0, 0.0,-RADIUS );
- glNormal3d(-0.577350269189,-0.577350269189, 0.577350269189); glVertex3d(-RADIUS, 0.0, 0.0 ); glVertex3d( 0.0,-RADIUS, 0.0 ); glVertex3d( 0.0, 0.0, RADIUS );
- glNormal3d(-0.577350269189,-0.577350269189,-0.577350269189); glVertex3d(-RADIUS, 0.0, 0.0 ); glVertex3d( 0.0,-RADIUS, 0.0 ); glVertex3d( 0.0, 0.0,-RADIUS );
- glEnd();
-#undef RADIUS
-}
-
-/*
- *
- */
-void GLUTAPIENTRY glutSolidOctahedron( void )
-{
-#define RADIUS 1.0f
- glBegin( GL_TRIANGLES );
- glNormal3d( 0.577350269189, 0.577350269189, 0.577350269189); glVertex3d( RADIUS, 0.0, 0.0 ); glVertex3d( 0.0, RADIUS, 0.0 ); glVertex3d( 0.0, 0.0, RADIUS );
- glNormal3d( 0.577350269189, 0.577350269189,-0.577350269189); glVertex3d( RADIUS, 0.0, 0.0 ); glVertex3d( 0.0, RADIUS, 0.0 ); glVertex3d( 0.0, 0.0,-RADIUS );
- glNormal3d( 0.577350269189,-0.577350269189, 0.577350269189); glVertex3d( RADIUS, 0.0, 0.0 ); glVertex3d( 0.0,-RADIUS, 0.0 ); glVertex3d( 0.0, 0.0, RADIUS );
- glNormal3d( 0.577350269189,-0.577350269189,-0.577350269189); glVertex3d( RADIUS, 0.0, 0.0 ); glVertex3d( 0.0,-RADIUS, 0.0 ); glVertex3d( 0.0, 0.0,-RADIUS );
- glNormal3d(-0.577350269189, 0.577350269189, 0.577350269189); glVertex3d(-RADIUS, 0.0, 0.0 ); glVertex3d( 0.0, RADIUS, 0.0 ); glVertex3d( 0.0, 0.0, RADIUS );
- glNormal3d(-0.577350269189, 0.577350269189,-0.577350269189); glVertex3d(-RADIUS, 0.0, 0.0 ); glVertex3d( 0.0, RADIUS, 0.0 ); glVertex3d( 0.0, 0.0,-RADIUS );
- glNormal3d(-0.577350269189,-0.577350269189, 0.577350269189); glVertex3d(-RADIUS, 0.0, 0.0 ); glVertex3d( 0.0,-RADIUS, 0.0 ); glVertex3d( 0.0, 0.0, RADIUS );
- glNormal3d(-0.577350269189,-0.577350269189,-0.577350269189); glVertex3d(-RADIUS, 0.0, 0.0 ); glVertex3d( 0.0,-RADIUS, 0.0 ); glVertex3d( 0.0, 0.0,-RADIUS );
- glEnd();
-#undef RADIUS
-}
-
-/*
- *
- */
-void GLUTAPIENTRY glutWireTetrahedron( void )
-{
- /* Magic Numbers: r0 = ( 1, 0, 0 )
- * r1 = ( -1/3, 2 sqrt(2) / 3, 0 )
- * r2 = ( -1/3, -sqrt(2) / 3, sqrt(6) / 3 )
- * r3 = ( -1/3, -sqrt(2) / 3, -sqrt(6) / 3 )
- * |r0| = |r1| = |r2| = |r3| = 1
- * Distance between any two points is 2 sqrt(6) / 3
- *
- * Normals: The unit normals are simply the negative of the coordinates of the point not on the surface.
- */
-
- double r0[3] = { 1.0, 0.0, 0.0 } ;
- double r1[3] = { -0.333333333333, 0.942809041582, 0.0 } ;
- double r2[3] = { -0.333333333333, -0.471404520791, 0.816496580928 } ;
- double r3[3] = { -0.333333333333, -0.471404520791, -0.816496580928 } ;
-
- glBegin( GL_LINE_LOOP ) ;
- glNormal3d ( -1.0, 0.0, 0.0 ) ; glVertex3dv ( r1 ) ; glVertex3dv ( r3 ) ; glVertex3dv ( r2 ) ;
- glNormal3d ( 0.333333333333, -0.942809041582, 0.0 ) ; glVertex3dv ( r0 ) ; glVertex3dv ( r2 ) ; glVertex3dv ( r3 ) ;
- glNormal3d ( 0.333333333333, 0.471404520791, -0.816496580928 ) ; glVertex3dv ( r0 ) ; glVertex3dv ( r3 ) ; glVertex3dv ( r1 ) ;
- glNormal3d ( 0.333333333333, 0.471404520791, 0.816496580928 ) ; glVertex3dv ( r0 ) ; glVertex3dv ( r1 ) ; glVertex3dv ( r2 ) ;
- glEnd() ;
-}
-
-/*
- *
- */
-void GLUTAPIENTRY glutSolidTetrahedron( void )
-{
- /* Magic Numbers: r0 = ( 1, 0, 0 )
- * r1 = ( -1/3, 2 sqrt(2) / 3, 0 )
- * r2 = ( -1/3, -sqrt(2) / 3, sqrt(6) / 3 )
- * r3 = ( -1/3, -sqrt(2) / 3, -sqrt(6) / 3 )
- * |r0| = |r1| = |r2| = |r3| = 1
- * Distance between any two points is 2 sqrt(6) / 3
- *
- * Normals: The unit normals are simply the negative of the coordinates of the point not on the surface.
- */
-
- double r0[3] = { 1.0, 0.0, 0.0 } ;
- double r1[3] = { -0.333333333333, 0.942809041582, 0.0 } ;
- double r2[3] = { -0.333333333333, -0.471404520791, 0.816496580928 } ;
- double r3[3] = { -0.333333333333, -0.471404520791, -0.816496580928 } ;
-
- glBegin( GL_TRIANGLES ) ;
- glNormal3d ( -1.0, 0.0, 0.0 ) ; glVertex3dv ( r1 ) ; glVertex3dv ( r3 ) ; glVertex3dv ( r2 ) ;
- glNormal3d ( 0.333333333333, -0.942809041582, 0.0 ) ; glVertex3dv ( r0 ) ; glVertex3dv ( r2 ) ; glVertex3dv ( r3 ) ;
- glNormal3d ( 0.333333333333, 0.471404520791, -0.816496580928 ) ; glVertex3dv ( r0 ) ; glVertex3dv ( r3 ) ; glVertex3dv ( r1 ) ;
- glNormal3d ( 0.333333333333, 0.471404520791, 0.816496580928 ) ; glVertex3dv ( r0 ) ; glVertex3dv ( r1 ) ; glVertex3dv ( r2 ) ;
- glEnd() ;
-}
-
-/*
- *
- */
-double icos_r[12][3] = { { 1.0, 0.0, 0.0 },
- { 0.447213595500, 0.894427191000, 0.0 }, { 0.447213595500, 0.276393202252, 0.850650808354 }, { 0.447213595500, -0.723606797748, 0.525731112119 }, { 0.447213595500, -0.723606797748, -0.525731112119 }, { 0.447213595500, 0.276393202252, -0.850650808354 },
- { -0.447213595500, -0.894427191000, 0.0 }, { -0.447213595500, -0.276393202252, 0.850650808354 }, { -0.447213595500, 0.723606797748, 0.525731112119 }, { -0.447213595500, 0.723606797748, -0.525731112119 }, { -0.447213595500, -0.276393202252, -0.850650808354 },
- { -1.0, 0.0, 0.0 } } ;
-int icos_v [20][3] = { { 0, 1, 2 }, { 0, 2, 3 }, { 0, 3, 4 }, { 0, 4, 5 }, { 0, 5, 1 },
- { 1, 8, 2 }, { 2, 7, 3 }, { 3, 6, 4 }, { 4, 10, 5 }, { 5, 9, 1 },
- { 1, 9, 8 }, { 2, 8, 7 }, { 3, 7, 6 }, { 4, 6, 10 }, { 5, 10, 9 },
- { 11, 9, 10 }, { 11, 8, 9 }, { 11, 7, 8 }, { 11, 6, 7 }, { 11, 10, 6 } } ;
-
-void GLUTAPIENTRY glutWireIcosahedron( void )
-{
- int i ;
- for ( i = 0; i < 20; i++ )
- {
- double normal[3] ;
- normal[0] = ( icos_r[icos_v[i][1]][1] - icos_r[icos_v[i][0]][1] ) * ( icos_r[icos_v[i][2]][2] - icos_r[icos_v[i][0]][2] ) - ( icos_r[icos_v[i][1]][2] - icos_r[icos_v[i][0]][2] ) * ( icos_r[icos_v[i][2]][1] - icos_r[icos_v[i][0]][1] ) ;
- normal[1] = ( icos_r[icos_v[i][1]][2] - icos_r[icos_v[i][0]][2] ) * ( icos_r[icos_v[i][2]][0] - icos_r[icos_v[i][0]][0] ) - ( icos_r[icos_v[i][1]][0] - icos_r[icos_v[i][0]][0] ) * ( icos_r[icos_v[i][2]][2] - icos_r[icos_v[i][0]][2] ) ;
- normal[2] = ( icos_r[icos_v[i][1]][0] - icos_r[icos_v[i][0]][0] ) * ( icos_r[icos_v[i][2]][1] - icos_r[icos_v[i][0]][1] ) - ( icos_r[icos_v[i][1]][1] - icos_r[icos_v[i][0]][1] ) * ( icos_r[icos_v[i][2]][0] - icos_r[icos_v[i][0]][0] ) ;
- glBegin ( GL_LINE_LOOP ) ;
- glNormal3dv ( normal ) ;
- glVertex3dv ( icos_r[icos_v[i][0]] ) ;
- glVertex3dv ( icos_r[icos_v[i][1]] ) ;
- glVertex3dv ( icos_r[icos_v[i][2]] ) ;
- glEnd () ;
- }
-}
-
-/*
- *
- */
-void GLUTAPIENTRY glutSolidIcosahedron( void )
-{
- int i ;
-
- glBegin ( GL_TRIANGLES ) ;
- for ( i = 0; i < 20; i++ )
- {
- double normal[3] ;
- normal[0] = ( icos_r[icos_v[i][1]][1] - icos_r[icos_v[i][0]][1] ) * ( icos_r[icos_v[i][2]][2] - icos_r[icos_v[i][0]][2] ) - ( icos_r[icos_v[i][1]][2] - icos_r[icos_v[i][0]][2] ) * ( icos_r[icos_v[i][2]][1] - icos_r[icos_v[i][0]][1] ) ;
- normal[1] = ( icos_r[icos_v[i][1]][2] - icos_r[icos_v[i][0]][2] ) * ( icos_r[icos_v[i][2]][0] - icos_r[icos_v[i][0]][0] ) - ( icos_r[icos_v[i][1]][0] - icos_r[icos_v[i][0]][0] ) * ( icos_r[icos_v[i][2]][2] - icos_r[icos_v[i][0]][2] ) ;
- normal[2] = ( icos_r[icos_v[i][1]][0] - icos_r[icos_v[i][0]][0] ) * ( icos_r[icos_v[i][2]][1] - icos_r[icos_v[i][0]][1] ) - ( icos_r[icos_v[i][1]][1] - icos_r[icos_v[i][0]][1] ) * ( icos_r[icos_v[i][2]][0] - icos_r[icos_v[i][0]][0] ) ;
- glNormal3dv ( normal ) ;
- glVertex3dv ( icos_r[icos_v[i][0]] ) ;
- glVertex3dv ( icos_r[icos_v[i][1]] ) ;
- glVertex3dv ( icos_r[icos_v[i][2]] ) ;
- }
-
- glEnd () ;
-}
-
-/*
- *
- */
-double rdod_r[14][3] = { { 0.0, 0.0, 1.0 },
- { 0.707106781187, 0.000000000000, 0.5 }, { 0.000000000000, 0.707106781187, 0.5 }, { -0.707106781187, 0.000000000000, 0.5 }, { 0.000000000000, -0.707106781187, 0.5 },
- { 0.707106781187, 0.707106781187, 0.0 }, { -0.707106781187, 0.707106781187, 0.0 }, { -0.707106781187, -0.707106781187, 0.0 }, { 0.707106781187, -0.707106781187, 0.0 },
- { 0.707106781187, 0.000000000000, -0.5 }, { 0.000000000000, 0.707106781187, -0.5 }, { -0.707106781187, 0.000000000000, -0.5 }, { 0.000000000000, -0.707106781187, -0.5 },
- { 0.0, 0.0, -1.0 } } ;
-int rdod_v [12][4] = { { 0, 1, 5, 2 }, { 0, 2, 6, 3 }, { 0, 3, 7, 4 }, { 0, 4, 8, 1 },
- { 5, 10, 6, 2 }, { 6, 11, 7, 3 }, { 7, 12, 8, 4 }, { 8, 9, 5, 1 },
- { 5, 9, 13, 10 }, { 6, 10, 13, 11 }, { 7, 11, 13, 12 }, { 8, 12, 13, 9 } } ;
-double rdod_n[12][3] = {
- { 0.353553390594, 0.353553390594, 0.5 }, { -0.353553390594, 0.353553390594, 0.5 }, { -0.353553390594, -0.353553390594, 0.5 }, { 0.353553390594, -0.353553390594, 0.5 },
- { 0.000000000000, 1.000000000000, 0.0 }, { -1.000000000000, 0.000000000000, 0.0 }, { 0.000000000000, -1.000000000000, 0.0 }, { 1.000000000000, 0.000000000000, 0.0 },
- { 0.353553390594, 0.353553390594, -0.5 }, { -0.353553390594, 0.353553390594, -0.5 }, { -0.353553390594, -0.353553390594, -0.5 }, { 0.353553390594, -0.353553390594, -0.5 }
- } ;
-
-void GLUTAPIENTRY glutWireRhombicDodecahedron( void )
-{
- int i ;
- for ( i = 0; i < 12; i++ )
- {
- glBegin ( GL_LINE_LOOP ) ;
- glNormal3dv ( rdod_n[i] ) ;
- glVertex3dv ( rdod_r[rdod_v[i][0]] ) ;
- glVertex3dv ( rdod_r[rdod_v[i][1]] ) ;
- glVertex3dv ( rdod_r[rdod_v[i][2]] ) ;
- glVertex3dv ( rdod_r[rdod_v[i][3]] ) ;
- glEnd () ;
- }
-}
-
-/*
- *
- */
-void GLUTAPIENTRY glutSolidRhombicDodecahedron( void )
-{
- int i ;
-
- glBegin ( GL_QUADS ) ;
- for ( i = 0; i < 12; i++ )
- {
- glNormal3dv ( rdod_n[i] ) ;
- glVertex3dv ( rdod_r[rdod_v[i][0]] ) ;
- glVertex3dv ( rdod_r[rdod_v[i][1]] ) ;
- glVertex3dv ( rdod_r[rdod_v[i][2]] ) ;
- glVertex3dv ( rdod_r[rdod_v[i][3]] ) ;
- }
-
- glEnd () ;
-}
-
-#define NUM_FACES 4
-
-static GLdouble tetrahedron_v[4][3] = /* Vertices */
-{
- { -0.5, -0.288675134595, -0.144337567297 },
- { 0.5, -0.288675134595, -0.144337567297 },
- { 0.0, 0.577350269189, -0.144337567297 },
- { 0.0, 0.0, 0.672159013631 }
-} ;
-
-static GLint tetrahedron_i[4][3] = /* Vertex indices */
-{
- { 0, 1, 2 }, { 0, 2, 3 }, { 0, 3, 1 }, { 1, 3, 2 }
-} ;
-
-static GLdouble tetrahedron_n[4][3] = /* Normals */
-{
- { 0.0, 0.0, -1.0 },
- { -0.816496580928, 0.471404520791, 0.333333333333 },
- { 0.0, -0.942809041582, 0.333333333333 },
- { 0.816496580928, 0.471404520791, 0.333333333333 }
-} ;
-
-void GLUTAPIENTRY glutWireSierpinskiSponge ( int num_levels, GLdouble offset[3], GLdouble scale )
-{
- int i, j ;
-
- if ( num_levels == 0 )
- {
-
- for ( i = 0 ; i < NUM_FACES ; i++ )
- {
- glBegin ( GL_LINE_LOOP ) ;
- glNormal3dv ( tetrahedron_n[i] ) ;
- for ( j = 0; j < 3; j++ )
- {
- double x = offset[0] + scale * tetrahedron_v[tetrahedron_i[i][j]][0] ;
- double y = offset[1] + scale * tetrahedron_v[tetrahedron_i[i][j]][1] ;
- double z = offset[2] + scale * tetrahedron_v[tetrahedron_i[i][j]][2] ;
- glVertex3d ( x, y, z ) ;
- }
-
- glEnd () ;
- }
- }
- else
- {
- GLdouble local_offset[3] ; /* Use a local variable to avoid buildup of roundoff errors */
- num_levels -- ;
- scale /= 2.0 ;
- local_offset[0] = offset[0] + scale * tetrahedron_v[0][0] ;
- local_offset[1] = offset[1] + scale * tetrahedron_v[0][1] ;
- local_offset[2] = offset[2] + scale * tetrahedron_v[0][2] ;
- glutWireSierpinskiSponge ( num_levels, local_offset, scale ) ;
- local_offset[0] += scale ;
- glutWireSierpinskiSponge ( num_levels, local_offset, scale ) ;
- local_offset[0] -= 0.5 * scale ;
- local_offset[1] += 0.866025403784 * scale ;
- glutWireSierpinskiSponge ( num_levels, local_offset, scale ) ;
- local_offset[1] -= 0.577350269189 * scale ;
- local_offset[2] += 0.816496580928 * scale ;
- glutWireSierpinskiSponge ( num_levels, local_offset, scale ) ;
- }
-}
-
-void GLUTAPIENTRY glutSolidSierpinskiSponge ( int num_levels, GLdouble offset[3], GLdouble scale )
-{
- int i, j ;
-
- if ( num_levels == 0 )
- {
- glBegin ( GL_TRIANGLES ) ;
-
- for ( i = 0 ; i < NUM_FACES ; i++ )
- {
- glNormal3dv ( tetrahedron_n[i] ) ;
- for ( j = 0; j < 3; j++ )
- {
- double x = offset[0] + scale * tetrahedron_v[tetrahedron_i[i][j]][0] ;
- double y = offset[1] + scale * tetrahedron_v[tetrahedron_i[i][j]][1] ;
- double z = offset[2] + scale * tetrahedron_v[tetrahedron_i[i][j]][2] ;
- glVertex3d ( x, y, z ) ;
- }
- }
-
- glEnd () ;
- }
- else
- {
- GLdouble local_offset[3] ; /* Use a local variable to avoid buildup of roundoff errors */
- num_levels -- ;
- scale /= 2.0 ;
- local_offset[0] = offset[0] + scale * tetrahedron_v[0][0] ;
- local_offset[1] = offset[1] + scale * tetrahedron_v[0][1] ;
- local_offset[2] = offset[2] + scale * tetrahedron_v[0][2] ;
- glutSolidSierpinskiSponge ( num_levels, local_offset, scale ) ;
- local_offset[0] += scale ;
- glutSolidSierpinskiSponge ( num_levels, local_offset, scale ) ;
- local_offset[0] -= 0.5 * scale ;
- local_offset[1] += 0.866025403784 * scale ;
- glutSolidSierpinskiSponge ( num_levels, local_offset, scale ) ;
- local_offset[1] -= 0.577350269189 * scale ;
- local_offset[2] += 0.816496580928 * scale ;
- glutSolidSierpinskiSponge ( num_levels, local_offset, scale ) ;
- }
-}
-
-#undef NUM_FACES
-
-/*** END OF FILE ***/
diff --git a/src/glut/dos/state.c b/src/glut/dos/state.c
deleted file mode 100644
index b0d5d8ae92..0000000000
--- a/src/glut/dos/state.c
+++ /dev/null
@@ -1,238 +0,0 @@
-/*
- * DOS/DJGPP Mesa Utility Toolkit
- * Version: 1.0
- *
- * Copyright (C) 2005 Daniel Borca 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
- * DANIEL BORCA 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.
- */
-
-
-#include <stdio.h>
-
-#include "internal.h"
-
-
-#define FREQUENCY 100 /* set this to zero to use the default timer */
-
-
-static int timer_installed;
-#if FREQUENCY
-static volatile int ticks;
-
-
-static void
-ticks_timer (void *p)
-{
- (void)p;
- ticks++;
-} ENDOFUNC(ticks_timer)
-#else
-#include <time.h>
-
-static struct timeval then;
-#endif
-
-
-int APIENTRY
-glutGet (GLenum type)
-{
- switch (type) {
- case GLUT_WINDOW_X:
- return _glut_current->xpos;
- case GLUT_WINDOW_Y:
- return _glut_current->ypos;
- case GLUT_WINDOW_WIDTH:
- return _glut_current->width;
- case GLUT_WINDOW_HEIGHT:
- return _glut_current->height;
- case GLUT_WINDOW_STENCIL_SIZE:
- return _glut_visual.stencil;
- case GLUT_WINDOW_DEPTH_SIZE:
- return _glut_visual.depth;
- case GLUT_WINDOW_RGBA:
- return !(_glut_default.mode & GLUT_INDEX);
- case GLUT_WINDOW_COLORMAP_SIZE:
- return (_glut_default.mode & GLUT_INDEX) ? (256 - RESERVED_COLORS) : 0;
- case GLUT_SCREEN_WIDTH:
- return _glut_visual.geometry[0];
- case GLUT_SCREEN_HEIGHT:
- return _glut_visual.geometry[1];
- case GLUT_INIT_WINDOW_X:
- return _glut_default.x;
- case GLUT_INIT_WINDOW_Y:
- return _glut_default.y;
- case GLUT_INIT_WINDOW_WIDTH:
- return _glut_default.width;
- case GLUT_INIT_WINDOW_HEIGHT:
- return _glut_default.height;
- case GLUT_INIT_DISPLAY_MODE:
- return _glut_default.mode;
- case GLUT_ELAPSED_TIME:
-#if FREQUENCY
- if (!timer_installed) {
- timer_installed = GL_TRUE;
- LOCKDATA(ticks);
- LOCKFUNC(ticks_timer);
- pc_install_int(ticks_timer, NULL, FREQUENCY);
- }
- return ticks * 1000 / FREQUENCY;
-#else
- if (!timer_installed) {
- timer_installed = GL_TRUE;
- gettimeofday(&then, NULL);
- return 0;
- } else {
- struct timeval now;
- gettimeofday(&now, NULL);
- return (now.tv_usec - then.tv_usec) / 1000 +
- (now.tv_sec - then.tv_sec) * 1000;
- }
-#endif
- default:
- return -1;
- }
-}
-
-
-int APIENTRY
-glutDeviceGet (GLenum type)
-{
- switch (type) {
- case GLUT_HAS_KEYBOARD:
- return GL_TRUE;
- case GLUT_HAS_MOUSE:
- return (_glut_mouse != 0);
- case GLUT_NUM_MOUSE_BUTTONS:
- return _glut_mouse;
- case GLUT_HAS_SPACEBALL:
- case GLUT_HAS_DIAL_AND_BUTTON_BOX:
- case GLUT_HAS_TABLET:
- return GL_FALSE;
- case GLUT_NUM_SPACEBALL_BUTTONS:
- case GLUT_NUM_BUTTON_BOX_BUTTONS:
- case GLUT_NUM_DIALS:
- case GLUT_NUM_TABLET_BUTTONS:
- return 0;
- default:
- return -1;
- }
-}
-
-
-int APIENTRY
-glutGetModifiers (void)
-{
- int mod = 0;
- int shifts = pc_keyshifts();
-
- if (shifts & (KB_SHIFT_FLAG | KB_CAPSLOCK_FLAG)) {
- mod |= GLUT_ACTIVE_SHIFT;
- }
-
- if (shifts & KB_ALT_FLAG) {
- mod |= GLUT_ACTIVE_ALT;
- }
-
- if (shifts & KB_CTRL_FLAG) {
- mod |= GLUT_ACTIVE_CTRL;
- }
-
- return mod;
-}
-
-
-void APIENTRY
-glutReportErrors (void)
-{
- /* reports all the OpenGL errors that happened till now */
-}
-
-
-/* GAME MODE
- * Hack alert: incomplete... what is GameMode, anyway?
- */
-static GLint game;
-static GLboolean game_possible;
-static GLboolean game_active;
-static GLuint game_width;
-static GLuint game_height;
-static GLuint game_bpp;
-static GLuint game_refresh;
-
-
-void APIENTRY
-glutGameModeString (const char *string)
-{
- if (sscanf(string, "%ux%u:%u@%u", &game_width, &game_height, &game_bpp, &game_refresh) == 4) {
- game_possible = GL_TRUE;
- }
-}
-
-
-int APIENTRY
-glutGameModeGet (GLenum mode)
-{
- switch (mode) {
- case GLUT_GAME_MODE_ACTIVE:
- return game_active;
- case GLUT_GAME_MODE_POSSIBLE:
- return game_possible && !_glut_current;
- case GLUT_GAME_MODE_WIDTH:
- return game_active ? (int)game_width : -1;
- case GLUT_GAME_MODE_HEIGHT:
- return game_active ? (int)game_height : -1;
- case GLUT_GAME_MODE_PIXEL_DEPTH:
- return game_active ? (int)game_bpp : -1;
- case GLUT_GAME_MODE_REFRESH_RATE:
- return game_active ? (int)game_refresh : -1;
- default:
- return -1;
- }
-}
-
-
-int APIENTRY
-glutEnterGameMode (void)
-{
- if (glutGameModeGet(GLUT_GAME_MODE_POSSIBLE)) {
- _glut_visual.bpp = game_bpp;
- _glut_visual.refresh = game_refresh;
-
- glutInitWindowSize(game_width, game_height);
-
- if ((game = glutCreateWindow("<game>")) > 0) {
- game_active = GL_TRUE;
- }
-
- return game;
- } else {
- return 0;
- }
-}
-
-
-void GLUTAPIENTRY
-glutLeaveGameMode (void)
-{
- if (glutGameModeGet(GLUT_GAME_MODE_ACTIVE)) {
- game_active = GL_FALSE;
-
- glutDestroyWindow(game);
- }
-}
diff --git a/src/glut/dos/stroke.c b/src/glut/dos/stroke.c
deleted file mode 100644
index aa2c06a7db..0000000000
--- a/src/glut/dos/stroke.c
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * FxGLUT version 0.12 - GLUT for Voodoo 1 and 2 under Linux
- * Copyright (C) 1999 Christopher John Purnell
- * cjp@lost.org.uk
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "internal.h"
-
-
-void
-glutStrokeCharacter (void *font, int c)
-{
- const GLUTStrokeFont *sfp = _glut_font(font);
- const GLUTStrokeChar *scp;
- const GLUTStrokeStrip *ssp;
- const GLUTStrokeVertex *svp;
- unsigned i, j;
-
- if (((unsigned)c) >= sfp->num || !(scp = sfp->table[c]))
- return;
-
- ssp = scp->strip;
-
- for (i = 0; i < scp->num; i++, ssp++) {
- svp = ssp->vertex;
-
- glBegin(GL_LINE_STRIP);
- for (j = 0; j < ssp->num; j++, svp++) {
- glVertex2f(svp->x, svp->y);
- }
- glEnd();
- }
-
- glTranslatef(scp->right, 0.0, 0.0);
-}
-
-
-void
-glutStrokeString (void *font, const unsigned char *string)
-{
- const GLUTStrokeFont *sfp = _glut_font(font);
- const GLUTStrokeChar *scp;
- const GLUTStrokeStrip *ssp;
- const GLUTStrokeVertex *svp;
- unsigned char c;
- unsigned i, j;
-
- while ((c = *(string++))) {
- if (c < sfp->num && (scp = sfp->table[c])) {
- ssp = scp->strip;
-
- for (i = 0; i < scp->num; i++, ssp++) {
- svp = ssp->vertex;
-
- glBegin(GL_LINE_STRIP);
- for (j = 0; j < ssp->num; j++, svp++) {
- glVertex2f(svp->x, svp->y);
- }
- glEnd();
- }
-
- glTranslatef(scp->right, 0.0, 0.0);
- }
- }
-}
-
-
-int
-glutStrokeWidth (void *font, int c)
-{
- const GLUTStrokeFont *sfp = _glut_font(font);
- const GLUTStrokeChar *scp;
-
- if (((unsigned)c) >= sfp->num || !(scp = sfp->table[c]))
- return 0;
-
- return scp->right;
-}
-
-
-int
-glutStrokeLength (void *font, const unsigned char *string)
-{
- const GLUTStrokeFont *sfp = _glut_font(font);
- const GLUTStrokeChar *scp;
- unsigned char c;
- int length = 0;
-
- while ((c = *(string++))) {
- if (c < sfp->num && (scp = sfp->table[c]))
- length += scp->right;
- }
-
- return length;
-}
-
-
-GLfloat
-glutStrokeHeight (void *font)
-{
- const GLUTStrokeFont *sfp = _glut_font(font);
-
- return sfp->height;
-}
diff --git a/src/glut/dos/teapot.c b/src/glut/dos/teapot.c
deleted file mode 100644
index 8d02eb49f3..0000000000
--- a/src/glut/dos/teapot.c
+++ /dev/null
@@ -1,201 +0,0 @@
-/*
- * (c) Copyright 1993, Silicon Graphics, Inc.
- *
- * ALL RIGHTS RESERVED
- *
- * Permission to use, copy, modify, and distribute this software
- * for any purpose and without fee is hereby granted, provided
- * that the above copyright notice appear in all copies and that
- * both the copyright notice and this permission notice appear in
- * supporting documentation, and that the name of Silicon
- * Graphics, Inc. not be used in advertising or publicity
- * pertaining to distribution of the software without specific,
- * written prior permission.
- *
- * THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU
- * "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR
- * OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
- * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO
- * EVENT SHALL SILICON GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE
- * ELSE FOR ANY DIRECT, SPECIAL, INCIDENTAL, INDIRECT OR
- * CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER,
- * INCLUDING WITHOUT LIMITATION, LOSS OF PROFIT, LOSS OF USE,
- * SAVINGS OR REVENUE, OR THE CLAIMS OF THIRD PARTIES, WHETHER OR
- * NOT SILICON GRAPHICS, INC. HAS BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH LOSS, HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * ARISING OUT OF OR IN CONNECTION WITH THE POSSESSION, USE OR
- * PERFORMANCE OF THIS SOFTWARE.
- *
- * US Government Users Restricted Rights
- *
- * Use, duplication, or disclosure by the Government is subject to
- * restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
- * (c)(1)(ii) of the Rights in Technical Data and Computer
- * Software clause at DFARS 252.227-7013 and/or in similar or
- * successor clauses in the FAR or the DOD or NASA FAR
- * Supplement. Unpublished-- rights reserved under the copyright
- * laws of the United States. Contractor/manufacturer is Silicon
- * Graphics, Inc., 2011 N. Shoreline Blvd., Mountain View, CA
- * 94039-7311.
- *
- * OpenGL(TM) is a trademark of Silicon Graphics, Inc.
- */
-
-#include "internal.h"
-
-/*
- * Rim, body, lid, and bottom data must be reflected in x and y;
- * handle and spout data across the y axis only.
- */
-static int patchdata[][16] =
-{
- { 102, 103, 104, 105, 4, 5, 6, 7,
- 8, 9, 10, 11, 12, 13, 14, 15 }, /* rim */
- { 12, 13, 14, 15, 16, 17, 18, 19,
- 20, 21, 22, 23, 24, 25, 26, 27 }, /* body */
- { 24, 25, 26, 27, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, 39, 40 },
- { 96, 96, 96, 96, 97, 98, 99, 100,
- 101, 101, 101, 101, 0, 1, 2, 3 }, /* lid */
- { 0, 1, 2, 3, 106, 107, 108, 109,
- 110, 111, 112, 113, 114, 115, 116, 117 },
- { 118, 118, 118, 118, 124, 122, 119, 121,
- 123, 126, 125, 120, 40, 39, 38, 37 }, /* bottom */
- { 41, 42, 43, 44, 45, 46, 47, 48,
- 49, 50, 51, 52, 53, 54, 55, 56 }, /* handle */
- { 53, 54, 55, 56, 57, 58, 59, 60,
- 61, 62, 63, 64, 28, 65, 66, 67 },
- { 68, 69, 70, 71, 72, 73, 74, 75,
- 76, 77, 78, 79, 80, 81, 82, 83 }, /* spout */
- { 80, 81, 82, 83, 84, 85, 86, 87,
- 88, 89, 90, 91, 92, 93, 94, 95 }
-};
-
-static float cpdata[][3] =
-{
- {0.2, 0, 2.7}, {0.2, -0.112, 2.7}, {0.112, -0.2, 2.7},
- {0,-0.2, 2.7}, {1.3375, 0, 2.53125}, {1.3375, -0.749, 2.53125},
- {0.749, -1.3375, 2.53125}, {0, -1.3375, 2.53125},
- {1.4375, 0, 2.53125}, {1.4375, -0.805, 2.53125},
- {0.805, -1.4375, 2.53125}, {0, -1.4375, 2.53125},
- {1.5, 0, 2.4}, {1.5, -0.84, 2.4}, {0.84, -1.5, 2.4},
- {0, -1.5, 2.4}, {1.75, 0, 1.875}, {1.75, -0.98, 1.875},
- {0.98, -1.75, 1.875}, {0, -1.75, 1.875}, {2, 0, 1.35},
- {2, -1.12, 1.35}, {1.12, -2, 1.35}, {0, -2, 1.35}, {2, 0, 0.9},
- {2, -1.12, 0.9}, {1.12, -2, 0.9}, {0, -2, 0.9}, {-2, 0, 0.9},
- {2, 0, 0.45}, {2, -1.12, 0.45}, {1.12, -2, 0.45}, {0, -2, 0.45},
- {1.5, 0, 0.225}, {1.5, -0.84, 0.225}, {0.84, -1.5, 0.225},
- {0, -1.5, 0.225}, {1.5, 0, 0.15}, {1.5, -0.84, 0.15},
- {0.84, -1.5, 0.15}, {0, -1.5, 0.15}, {-1.6, 0, 2.025},
- {-1.6, -0.3, 2.025}, {-1.5, -0.3, 2.25}, {-1.5, 0, 2.25},
- {-2.3, 0, 2.025}, {-2.3, -0.3, 2.025}, {-2.5, -0.3, 2.25},
- {-2.5, 0, 2.25}, {-2.7, 0, 2.025}, {-2.7, -0.3, 2.025},
- {-3, -0.3, 2.25}, {-3, 0, 2.25}, {-2.7, 0, 1.8},
- {-2.7, -0.3, 1.8}, {-3, -0.3, 1.8}, {-3, 0, 1.8},
- {-2.7, 0, 1.575}, {-2.7, -0.3, 1.575}, {-3, -0.3, 1.35},
- {-3, 0, 1.35}, {-2.5, 0, 1.125}, {-2.5, -0.3, 1.125},
- {-2.65, -0.3, 0.9375}, {-2.65, 0, 0.9375}, {-2, -0.3, 0.9},
- {-1.9, -0.3, 0.6}, {-1.9, 0, 0.6}, {1.7, 0, 1.425},
- {1.7, -0.66, 1.425}, {1.7, -0.66, 0.6}, {1.7, 0, 0.6},
- {2.6, 0, 1.425}, {2.6, -0.66, 1.425}, {3.1, -0.66, 0.825},
- {3.1, 0, 0.825}, {2.3, 0, 2.1}, {2.3, -0.25, 2.1},
- {2.4, -0.25, 2.025}, {2.4, 0, 2.025}, {2.7, 0, 2.4},
- {2.7, -0.25, 2.4}, {3.3, -0.25, 2.4}, {3.3, 0, 2.4},
- {2.8, 0, 2.475}, {2.8, -0.25, 2.475}, {3.525, -0.25, 2.49375},
- {3.525, 0, 2.49375}, {2.9, 0, 2.475}, {2.9, -0.15, 2.475},
- {3.45, -0.15, 2.5125}, {3.45, 0, 2.5125}, {2.8, 0, 2.4},
- {2.8, -0.15, 2.4}, {3.2, -0.15, 2.4}, {3.2, 0, 2.4},
- {0, 0, 3.15}, {0.8, 0, 3.15}, {0.8, -0.45, 3.15},
- {0.45, -0.8, 3.15}, {0, -0.8, 3.15}, {0, 0, 2.85}, {1.4, 0, 2.4},
- {1.4, -0.784, 2.4}, {0.784, -1.4, 2.4}, {0, -1.4, 2.4},
- {0.4, 0, 2.55}, {0.4, -0.224, 2.55}, {0.224, -0.4, 2.55},
- {0, -0.4, 2.55}, {1.3, 0, 2.55}, {1.3, -0.728, 2.55},
- {0.728, -1.3, 2.55}, {0, -1.3, 2.55}, {1.3, 0, 2.4},
- {1.3, -0.728, 2.4}, {0.728, -1.3, 2.4}, {0, -1.3, 2.4},
- {0, 0, 0}, {1.425, -0.798, 0}, {1.5, 0, 0.075}, {1.425, 0, 0},
- {0.798, -1.425, 0}, {0, -1.5, 0.075}, {0, -1.425, 0},
- {1.5, -0.84, 0.075}, {0.84, -1.5, 0.075}
-};
-
-static float tex[2][2][2] =
-{
- { {0, 0}, {1, 0} },
- { {0, 1}, {1, 1} }
-};
-
-static void teapot( GLint grid, GLdouble scale, GLenum type )
-{
- float p[4][4][3], q[4][4][3], r[4][4][3], s[4][4][3];
- long i, j, k, l;
-
- glPushAttrib( GL_ENABLE_BIT | GL_EVAL_BIT );
- glEnable( GL_AUTO_NORMAL );
- glEnable( GL_NORMALIZE );
- glEnable( GL_MAP2_VERTEX_3 );
- glEnable( GL_MAP2_TEXTURE_COORD_2 );
-
- glPushMatrix();
- glRotatef(270.0, 1.0, 0.0, 0.0);
- glScalef(0.5 * scale, 0.5 * scale, 0.5 * scale);
- glTranslatef(0.0, 0.0, -1.5);
-
- for (i = 0; i < 10; i++)
- {
- for (j = 0; j < 4; j++)
- {
- for (k = 0; k < 4; k++)
- {
- for (l = 0; l < 3; l++)
- {
- p[j][k][l] = cpdata[patchdata[i][j * 4 + k]][l];
- q[j][k][l] = cpdata[patchdata[i][j * 4 + (3 - k)]][l];
- if (l == 1)
- q[j][k][l] *= -1.0;
- if (i < 6)
- {
- r[j][k][l] = cpdata[patchdata[i][j * 4 + (3 - k)]][l];
- if (l == 0)
- r[j][k][l] *= -1.0;
- s[j][k][l] = cpdata[patchdata[i][j * 4 + k]][l];
- if (l == 0)
- s[j][k][l] *= -1.0;
- if (l == 1)
- s[j][k][l] *= -1.0;
- }
- }
- }
- }
-
- glMap2f(GL_MAP2_TEXTURE_COORD_2, 0, 1, 2, 2, 0, 1, 4, 2,
- &tex[0][0][0]);
- glMap2f(GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4,
- &p[0][0][0]);
- glMapGrid2f(grid, 0.0, 1.0, grid, 0.0, 1.0);
- glEvalMesh2(type, 0, grid, 0, grid);
- glMap2f(GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4,
- &q[0][0][0]);
- glEvalMesh2(type, 0, grid, 0, grid);
- if (i < 6)
- {
- glMap2f(GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4,
- &r[0][0][0]);
- glEvalMesh2(type, 0, grid, 0, grid);
- glMap2f(GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4,
- &s[0][0][0]);
- glEvalMesh2(type, 0, grid, 0, grid);
- }
- }
-
- glPopMatrix();
- glPopAttrib();
-}
-
-void glutWireTeapot(GLdouble size)
-{
- teapot(10, size, GL_LINE);
-}
-
-void glutSolidTeapot(GLdouble size)
-{
- teapot(7, size, GL_FILL);
-}
diff --git a/src/glut/dos/tr10.c b/src/glut/dos/tr10.c
deleted file mode 100644
index a1e03f3e1b..0000000000
--- a/src/glut/dos/tr10.c
+++ /dev/null
@@ -1,1018 +0,0 @@
-/* autogenerated by bdf2c! do not edit */
-
-/* "Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved." */
-
-
-#include "internal.h"
-/*
-typedef struct {
- int width, height;
- int xorig, yorig;
- int xmove;
- const unsigned char *bitmap;
-} GLUTBitmapChar;
-
-typedef struct {
- const char *name;
- int height;
- int num;
- const GLUTBitmapChar *const *table;
-} GLUTBitmapFont;
-*/
-
-
-static const unsigned char ch32data[] = {
- 0x0
-};
-static const GLUTBitmapChar ch32 = { 1, 1, 0, 0, 2, ch32data };
-
-static const unsigned char ch33data[] = {
- 0x80,0x0,0x80,0x80,0x80,0x80,0x80
-};
-static const GLUTBitmapChar ch33 = { 1, 7, -1, 0, 3, ch33data };
-
-static const unsigned char ch34data[] = {
- 0xa0,0xa0
-};
-static const GLUTBitmapChar ch34 = { 3, 2, 0, -5, 4, ch34data };
-
-static const unsigned char ch35data[] = {
- 0x50,0x50,0xf8,0x50,0xf8,0x50,0x50
-};
-static const GLUTBitmapChar ch35 = { 5, 7, 0, 0, 5, ch35data };
-
-static const unsigned char ch36data[] = {
- 0x20,0xe0,0x90,0x10,0x60,0x80,0x90,0x70,0x20
-};
-static const GLUTBitmapChar ch36 = { 4, 9, 0, 1, 5, ch36data };
-
-static const unsigned char ch37data[] = {
- 0x44,0x2a,0x2a,0x56,0xa8,0xa4,0x7e
-};
-static const GLUTBitmapChar ch37 = { 7, 7, 0, 0, 8, ch37data };
-
-static const unsigned char ch38data[] = {
- 0x76,0x8d,0x98,0x74,0x6e,0x50,0x30
-};
-static const GLUTBitmapChar ch38 = { 8, 7, 0, 0, 8, ch38data };
-
-static const unsigned char ch39data[] = {
- 0x40,0xc0
-};
-static const GLUTBitmapChar ch39 = { 2, 2, 0, -5, 3, ch39data };
-
-static const unsigned char ch40data[] = {
- 0x20,0x40,0x40,0x80,0x80,0x80,0x40,0x40,0x20
-};
-static const GLUTBitmapChar ch40 = { 3, 9, 0, 2, 4, ch40data };
-
-static const unsigned char ch41data[] = {
- 0x80,0x40,0x40,0x20,0x20,0x20,0x40,0x40,0x80
-};
-static const GLUTBitmapChar ch41 = { 3, 9, 0, 2, 4, ch41data };
-
-static const unsigned char ch42data[] = {
- 0xa0,0x40,0xa0
-};
-static const GLUTBitmapChar ch42 = { 3, 3, 0, -4, 5, ch42data };
-
-static const unsigned char ch43data[] = {
- 0x20,0x20,0xf8,0x20,0x20
-};
-static const GLUTBitmapChar ch43 = { 5, 5, 0, 0, 6, ch43data };
-
-static const unsigned char ch44data[] = {
- 0x80,0x80,0x80
-};
-static const GLUTBitmapChar ch44 = { 1, 3, -1, 2, 3, ch44data };
-
-static const unsigned char ch45data[] = {
- 0xf0
-};
-static const GLUTBitmapChar ch45 = { 4, 1, -1, -2, 7, ch45data };
-
-static const unsigned char ch46data[] = {
- 0x80
-};
-static const GLUTBitmapChar ch46 = { 1, 1, -1, 0, 3, ch46data };
-
-static const unsigned char ch47data[] = {
- 0x80,0x80,0x40,0x40,0x40,0x20,0x20
-};
-static const GLUTBitmapChar ch47 = { 3, 7, 0, 0, 3, ch47data };
-
-static const unsigned char ch48data[] = {
- 0x60,0x90,0x90,0x90,0x90,0x90,0x60
-};
-static const GLUTBitmapChar ch48 = { 4, 7, 0, 0, 5, ch48data };
-
-static const unsigned char ch49data[] = {
- 0xe0,0x40,0x40,0x40,0x40,0xc0,0x40
-};
-static const GLUTBitmapChar ch49 = { 3, 7, -1, 0, 5, ch49data };
-
-static const unsigned char ch50data[] = {
- 0xf0,0x40,0x20,0x20,0x10,0x90,0x60
-};
-static const GLUTBitmapChar ch50 = { 4, 7, 0, 0, 5, ch50data };
-
-static const unsigned char ch51data[] = {
- 0xe0,0x10,0x10,0x60,0x10,0x90,0x60
-};
-static const GLUTBitmapChar ch51 = { 4, 7, 0, 0, 5, ch51data };
-
-static const unsigned char ch52data[] = {
- 0x10,0x10,0xf8,0x90,0x50,0x30,0x10
-};
-static const GLUTBitmapChar ch52 = { 5, 7, 0, 0, 5, ch52data };
-
-static const unsigned char ch53data[] = {
- 0xe0,0x90,0x10,0x10,0xe0,0x40,0x70
-};
-static const GLUTBitmapChar ch53 = { 4, 7, 0, 0, 5, ch53data };
-
-static const unsigned char ch54data[] = {
- 0x60,0x90,0x90,0x90,0xe0,0x40,0x30
-};
-static const GLUTBitmapChar ch54 = { 4, 7, 0, 0, 5, ch54data };
-
-static const unsigned char ch55data[] = {
- 0x40,0x40,0x40,0x20,0x20,0x90,0xf0
-};
-static const GLUTBitmapChar ch55 = { 4, 7, 0, 0, 5, ch55data };
-
-static const unsigned char ch56data[] = {
- 0x60,0x90,0x90,0x60,0x90,0x90,0x60
-};
-static const GLUTBitmapChar ch56 = { 4, 7, 0, 0, 5, ch56data };
-
-static const unsigned char ch57data[] = {
- 0xc0,0x20,0x70,0x90,0x90,0x90,0x60
-};
-static const GLUTBitmapChar ch57 = { 4, 7, 0, 0, 5, ch57data };
-
-static const unsigned char ch58data[] = {
- 0x80,0x0,0x0,0x0,0x80
-};
-static const GLUTBitmapChar ch58 = { 1, 5, -1, 0, 3, ch58data };
-
-static const unsigned char ch59data[] = {
- 0x80,0x80,0x80,0x0,0x0,0x0,0x80
-};
-static const GLUTBitmapChar ch59 = { 1, 7, -1, 2, 3, ch59data };
-
-static const unsigned char ch60data[] = {
- 0x20,0x40,0x80,0x40,0x20
-};
-static const GLUTBitmapChar ch60 = { 3, 5, -1, 0, 5, ch60data };
-
-static const unsigned char ch61data[] = {
- 0xf8,0x0,0xf8
-};
-static const GLUTBitmapChar ch61 = { 5, 3, 0, -1, 6, ch61data };
-
-static const unsigned char ch62data[] = {
- 0x80,0x40,0x20,0x40,0x80
-};
-static const GLUTBitmapChar ch62 = { 3, 5, 0, 0, 5, ch62data };
-
-static const unsigned char ch63data[] = {
- 0x40,0x0,0x40,0x40,0x20,0xa0,0xe0
-};
-static const GLUTBitmapChar ch63 = { 3, 7, 0, 0, 4, ch63data };
-
-static const unsigned char ch64data[] = {
- 0x3e,0x40,0x92,0xad,0xa5,0xa5,0x9d,0x42,0x3c
-};
-static const GLUTBitmapChar ch64 = { 8, 9, 0, 2, 9, ch64data };
-
-static const unsigned char ch65data[] = {
- 0xee,0x44,0x7c,0x28,0x28,0x38,0x10
-};
-static const GLUTBitmapChar ch65 = { 7, 7, 0, 0, 8, ch65data };
-
-static const unsigned char ch66data[] = {
- 0xf0,0x48,0x48,0x70,0x48,0x48,0xf0
-};
-static const GLUTBitmapChar ch66 = { 5, 7, 0, 0, 6, ch66data };
-
-static const unsigned char ch67data[] = {
- 0x78,0xc4,0x80,0x80,0x80,0xc4,0x7c
-};
-static const GLUTBitmapChar ch67 = { 6, 7, 0, 0, 7, ch67data };
-
-static const unsigned char ch68data[] = {
- 0xf8,0x4c,0x44,0x44,0x44,0x4c,0xf8
-};
-static const GLUTBitmapChar ch68 = { 6, 7, 0, 0, 7, ch68data };
-
-static const unsigned char ch69data[] = {
- 0xf8,0x48,0x40,0x70,0x40,0x48,0xf8
-};
-static const GLUTBitmapChar ch69 = { 5, 7, 0, 0, 6, ch69data };
-
-static const unsigned char ch70data[] = {
- 0xe0,0x40,0x40,0x70,0x40,0x48,0xf8
-};
-static const GLUTBitmapChar ch70 = { 5, 7, 0, 0, 6, ch70data };
-
-static const unsigned char ch71data[] = {
- 0x78,0xc4,0x84,0x9c,0x80,0xc4,0x7c
-};
-static const GLUTBitmapChar ch71 = { 6, 7, 0, 0, 7, ch71data };
-
-static const unsigned char ch72data[] = {
- 0xee,0x44,0x44,0x7c,0x44,0x44,0xee
-};
-static const GLUTBitmapChar ch72 = { 7, 7, 0, 0, 8, ch72data };
-
-static const unsigned char ch73data[] = {
- 0xe0,0x40,0x40,0x40,0x40,0x40,0xe0
-};
-static const GLUTBitmapChar ch73 = { 3, 7, 0, 0, 4, ch73data };
-
-static const unsigned char ch74data[] = {
- 0xc0,0xa0,0x20,0x20,0x20,0x20,0x70
-};
-static const GLUTBitmapChar ch74 = { 4, 7, 0, 0, 4, ch74data };
-
-static const unsigned char ch75data[] = {
- 0xec,0x48,0x50,0x60,0x50,0x48,0xec
-};
-static const GLUTBitmapChar ch75 = { 6, 7, 0, 0, 7, ch75data };
-
-static const unsigned char ch76data[] = {
- 0xf8,0x48,0x40,0x40,0x40,0x40,0xe0
-};
-static const GLUTBitmapChar ch76 = { 5, 7, 0, 0, 6, ch76data };
-
-static const unsigned char ch77data[] = {
- 0xeb,0x80,0x49,0x0,0x55,0x0,0x55,0x0,0x63,0x0,0x63,0x0,0xe3,0x80
-};
-static const GLUTBitmapChar ch77 = { 9, 7, 0, 0, 10, ch77data };
-
-static const unsigned char ch78data[] = {
- 0xe4,0x4c,0x4c,0x54,0x54,0x64,0xee
-};
-static const GLUTBitmapChar ch78 = { 7, 7, 0, 0, 8, ch78data };
-
-static const unsigned char ch79data[] = {
- 0x78,0xcc,0x84,0x84,0x84,0xcc,0x78
-};
-static const GLUTBitmapChar ch79 = { 6, 7, 0, 0, 7, ch79data };
-
-static const unsigned char ch80data[] = {
- 0xe0,0x40,0x40,0x70,0x48,0x48,0xf0
-};
-static const GLUTBitmapChar ch80 = { 5, 7, 0, 0, 6, ch80data };
-
-static const unsigned char ch81data[] = {
- 0xc,0x18,0x70,0xcc,0x84,0x84,0x84,0xcc,0x78
-};
-static const GLUTBitmapChar ch81 = { 6, 9, 0, 2, 7, ch81data };
-
-static const unsigned char ch82data[] = {
- 0xec,0x48,0x50,0x70,0x48,0x48,0xf0
-};
-static const GLUTBitmapChar ch82 = { 6, 7, 0, 0, 7, ch82data };
-
-static const unsigned char ch83data[] = {
- 0xe0,0x90,0x10,0x60,0xc0,0x90,0x70
-};
-static const GLUTBitmapChar ch83 = { 4, 7, 0, 0, 5, ch83data };
-
-static const unsigned char ch84data[] = {
- 0x70,0x20,0x20,0x20,0x20,0xa8,0xf8
-};
-static const GLUTBitmapChar ch84 = { 5, 7, 0, 0, 6, ch84data };
-
-static const unsigned char ch85data[] = {
- 0x38,0x6c,0x44,0x44,0x44,0x44,0xee
-};
-static const GLUTBitmapChar ch85 = { 7, 7, 0, 0, 8, ch85data };
-
-static const unsigned char ch86data[] = {
- 0x10,0x10,0x28,0x28,0x6c,0x44,0xee
-};
-static const GLUTBitmapChar ch86 = { 7, 7, 0, 0, 8, ch86data };
-
-static const unsigned char ch87data[] = {
- 0x22,0x0,0x22,0x0,0x55,0x0,0x55,0x0,0xc9,0x80,0x88,0x80,0xdd,0xc0
-};
-static const GLUTBitmapChar ch87 = { 10, 7, 0, 0, 10, ch87data };
-
-static const unsigned char ch88data[] = {
- 0xee,0x44,0x28,0x10,0x28,0x44,0xee
-};
-static const GLUTBitmapChar ch88 = { 7, 7, 0, 0, 8, ch88data };
-
-static const unsigned char ch89data[] = {
- 0x38,0x10,0x10,0x28,0x28,0x44,0xee
-};
-static const GLUTBitmapChar ch89 = { 7, 7, 0, 0, 8, ch89data };
-
-static const unsigned char ch90data[] = {
- 0xf8,0x88,0x40,0x20,0x10,0x88,0xf8
-};
-static const GLUTBitmapChar ch90 = { 5, 7, 0, 0, 6, ch90data };
-
-static const unsigned char ch91data[] = {
- 0xc0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xc0
-};
-static const GLUTBitmapChar ch91 = { 2, 9, 0, 2, 3, ch91data };
-
-static const unsigned char ch92data[] = {
- 0x20,0x20,0x40,0x40,0x40,0x80,0x80
-};
-static const GLUTBitmapChar ch92 = { 3, 7, 0, 0, 3, ch92data };
-
-static const unsigned char ch93data[] = {
- 0xc0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xc0
-};
-static const GLUTBitmapChar ch93 = { 2, 9, 0, 2, 3, ch93data };
-
-static const unsigned char ch94data[] = {
- 0xa0,0xa0,0x40
-};
-static const GLUTBitmapChar ch94 = { 3, 3, -1, -4, 5, ch94data };
-
-static const unsigned char ch95data[] = {
- 0xf8
-};
-static const GLUTBitmapChar ch95 = { 5, 1, 0, 3, 5, ch95data };
-
-static const unsigned char ch96data[] = {
- 0xc0,0x80
-};
-static const GLUTBitmapChar ch96 = { 2, 2, 0, -5, 3, ch96data };
-
-static const unsigned char ch97data[] = {
- 0xe0,0xa0,0x60,0x20,0xc0
-};
-static const GLUTBitmapChar ch97 = { 3, 5, 0, 0, 4, ch97data };
-
-static const unsigned char ch98data[] = {
- 0xe0,0x90,0x90,0x90,0xe0,0x80,0x80
-};
-static const GLUTBitmapChar ch98 = { 4, 7, 0, 0, 5, ch98data };
-
-static const unsigned char ch99data[] = {
- 0x60,0x80,0x80,0x80,0x60
-};
-static const GLUTBitmapChar ch99 = { 3, 5, 0, 0, 4, ch99data };
-
-static const unsigned char ch100data[] = {
- 0x68,0x90,0x90,0x90,0x70,0x10,0x30
-};
-static const GLUTBitmapChar ch100 = { 5, 7, 0, 0, 5, ch100data };
-
-static const unsigned char ch101data[] = {
- 0x60,0x80,0xc0,0xa0,0x60
-};
-static const GLUTBitmapChar ch101 = { 3, 5, 0, 0, 4, ch101data };
-
-static const unsigned char ch102data[] = {
- 0xe0,0x40,0x40,0x40,0xe0,0x40,0x30
-};
-static const GLUTBitmapChar ch102 = { 4, 7, 0, 0, 4, ch102data };
-
-static const unsigned char ch103data[] = {
- 0xe0,0x90,0x60,0x40,0xa0,0xa0,0x70
-};
-static const GLUTBitmapChar ch103 = { 4, 7, 0, 2, 5, ch103data };
-
-static const unsigned char ch104data[] = {
- 0xd8,0x90,0x90,0x90,0xe0,0x80,0x80
-};
-static const GLUTBitmapChar ch104 = { 5, 7, 0, 0, 5, ch104data };
-
-static const unsigned char ch105data[] = {
- 0x40,0x40,0x40,0x40,0xc0,0x0,0x40
-};
-static const GLUTBitmapChar ch105 = { 2, 7, 0, 0, 3, ch105data };
-
-static const unsigned char ch106data[] = {
- 0x80,0x40,0x40,0x40,0x40,0x40,0xc0,0x0,0x40
-};
-static const GLUTBitmapChar ch106 = { 2, 9, 0, 2, 3, ch106data };
-
-static const unsigned char ch107data[] = {
- 0x98,0x90,0xe0,0xa0,0x90,0x80,0x80
-};
-static const GLUTBitmapChar ch107 = { 5, 7, 0, 0, 5, ch107data };
-
-static const unsigned char ch108data[] = {
- 0xe0,0x40,0x40,0x40,0x40,0x40,0xc0
-};
-static const GLUTBitmapChar ch108 = { 3, 7, 0, 0, 4, ch108data };
-
-static const unsigned char ch109data[] = {
- 0xdb,0x92,0x92,0x92,0xec
-};
-static const GLUTBitmapChar ch109 = { 8, 5, 0, 0, 8, ch109data };
-
-static const unsigned char ch110data[] = {
- 0xd8,0x90,0x90,0x90,0xe0
-};
-static const GLUTBitmapChar ch110 = { 5, 5, 0, 0, 5, ch110data };
-
-static const unsigned char ch111data[] = {
- 0x60,0x90,0x90,0x90,0x60
-};
-static const GLUTBitmapChar ch111 = { 4, 5, 0, 0, 5, ch111data };
-
-static const unsigned char ch112data[] = {
- 0xc0,0x80,0xe0,0x90,0x90,0x90,0xe0
-};
-static const GLUTBitmapChar ch112 = { 4, 7, 0, 2, 5, ch112data };
-
-static const unsigned char ch113data[] = {
- 0x38,0x10,0x70,0x90,0x90,0x90,0x70
-};
-static const GLUTBitmapChar ch113 = { 5, 7, 0, 2, 5, ch113data };
-
-static const unsigned char ch114data[] = {
- 0xe0,0x40,0x40,0x60,0xa0
-};
-static const GLUTBitmapChar ch114 = { 3, 5, 0, 0, 4, ch114data };
-
-static const unsigned char ch115data[] = {
- 0xe0,0x20,0x60,0x80,0xe0
-};
-static const GLUTBitmapChar ch115 = { 3, 5, 0, 0, 4, ch115data };
-
-static const unsigned char ch116data[] = {
- 0x30,0x40,0x40,0x40,0xe0,0x40
-};
-static const GLUTBitmapChar ch116 = { 4, 6, 0, 0, 4, ch116data };
-
-static const unsigned char ch117data[] = {
- 0x68,0x90,0x90,0x90,0x90
-};
-static const GLUTBitmapChar ch117 = { 5, 5, 0, 0, 5, ch117data };
-
-static const unsigned char ch118data[] = {
- 0x20,0x60,0x50,0x90,0xd8
-};
-static const GLUTBitmapChar ch118 = { 5, 5, 0, 0, 5, ch118data };
-
-static const unsigned char ch119data[] = {
- 0x28,0x6c,0x54,0x92,0xdb
-};
-static const GLUTBitmapChar ch119 = { 8, 5, 0, 0, 8, ch119data };
-
-static const unsigned char ch120data[] = {
- 0xd8,0x50,0x20,0x50,0xd8
-};
-static const GLUTBitmapChar ch120 = { 5, 5, 0, 0, 6, ch120data };
-
-static const unsigned char ch121data[] = {
- 0x40,0x40,0x20,0x30,0x50,0x48,0xdc
-};
-static const GLUTBitmapChar ch121 = { 6, 7, 1, 2, 5, ch121data };
-
-static const unsigned char ch122data[] = {
- 0xf0,0x90,0x40,0x20,0xf0
-};
-static const GLUTBitmapChar ch122 = { 4, 5, 0, 0, 5, ch122data };
-
-static const unsigned char ch123data[] = {
- 0x20,0x40,0x40,0x40,0x80,0x40,0x40,0x40,0x20
-};
-static const GLUTBitmapChar ch123 = { 3, 9, 0, 2, 4, ch123data };
-
-static const unsigned char ch124data[] = {
- 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80
-};
-static const GLUTBitmapChar ch124 = { 1, 9, 0, 2, 2, ch124data };
-
-static const unsigned char ch125data[] = {
- 0x80,0x40,0x40,0x40,0x20,0x40,0x40,0x40,0x80
-};
-static const GLUTBitmapChar ch125 = { 3, 9, 0, 2, 4, ch125data };
-
-static const unsigned char ch126data[] = {
- 0x98,0x64
-};
-static const GLUTBitmapChar ch126 = { 6, 2, 0, -2, 7, ch126data };
-
-static const unsigned char ch160data[] = {
- 0x0
-};
-static const GLUTBitmapChar ch160 = { 1, 1, 0, 0, 2, ch160data };
-
-static const unsigned char ch161data[] = {
- 0x80,0x80,0x80,0x80,0x80,0x0,0x80
-};
-static const GLUTBitmapChar ch161 = { 1, 7, -1, 2, 3, ch161data };
-
-static const unsigned char ch162data[] = {
- 0x80,0xe0,0x90,0x80,0x90,0x70,0x10
-};
-static const GLUTBitmapChar ch162 = { 4, 7, 0, 1, 5, ch162data };
-
-static const unsigned char ch163data[] = {
- 0xf0,0xc8,0x40,0xe0,0x40,0x50,0x30
-};
-static const GLUTBitmapChar ch163 = { 5, 7, 0, 0, 5, ch163data };
-
-static const unsigned char ch164data[] = {
- 0x88,0x70,0x50,0x50,0x70,0x88
-};
-static const GLUTBitmapChar ch164 = { 5, 6, 0, -1, 5, ch164data };
-
-static const unsigned char ch165data[] = {
- 0x70,0x20,0xf8,0x20,0xd8,0x50,0x88
-};
-static const GLUTBitmapChar ch165 = { 5, 7, 0, 0, 5, ch165data };
-
-static const unsigned char ch166data[] = {
- 0x80,0x80,0x80,0x0,0x80,0x80,0x80
-};
-static const GLUTBitmapChar ch166 = { 1, 7, 0, 0, 2, ch166data };
-
-static const unsigned char ch167data[] = {
- 0xe0,0x90,0x20,0x50,0x90,0xa0,0x40,0x90,0x70
-};
-static const GLUTBitmapChar ch167 = { 4, 9, 0, 1, 5, ch167data };
-
-static const unsigned char ch168data[] = {
- 0xa0
-};
-static const GLUTBitmapChar ch168 = { 3, 1, -1, -6, 5, ch168data };
-
-static const unsigned char ch169data[] = {
- 0x38,0x44,0x9a,0xa2,0x9a,0x44,0x38
-};
-static const GLUTBitmapChar ch169 = { 7, 7, -1, 0, 9, ch169data };
-
-static const unsigned char ch170data[] = {
- 0xe0,0x0,0xa0,0x20,0xc0
-};
-static const GLUTBitmapChar ch170 = { 3, 5, 0, -2, 4, ch170data };
-
-static const unsigned char ch171data[] = {
- 0x50,0xa0,0xa0,0x50
-};
-static const GLUTBitmapChar ch171 = { 4, 4, 0, -1, 5, ch171data };
-
-static const unsigned char ch172data[] = {
- 0x8,0x8,0xf8
-};
-static const GLUTBitmapChar ch172 = { 5, 3, -1, -1, 7, ch172data };
-
-static const unsigned char ch173data[] = {
- 0xe0
-};
-static const GLUTBitmapChar ch173 = { 3, 1, 0, -2, 4, ch173data };
-
-static const unsigned char ch174data[] = {
- 0x38,0x44,0xaa,0xb2,0xba,0x44,0x38
-};
-static const GLUTBitmapChar ch174 = { 7, 7, -1, 0, 9, ch174data };
-
-static const unsigned char ch175data[] = {
- 0xe0
-};
-static const GLUTBitmapChar ch175 = { 3, 1, 0, -6, 4, ch175data };
-
-static const unsigned char ch176data[] = {
- 0x60,0x90,0x90,0x60
-};
-static const GLUTBitmapChar ch176 = { 4, 4, 0, -3, 4, ch176data };
-
-static const unsigned char ch177data[] = {
- 0xf8,0x0,0x20,0x20,0xf8,0x20,0x20
-};
-static const GLUTBitmapChar ch177 = { 5, 7, 0, 0, 6, ch177data };
-
-static const unsigned char ch178data[] = {
- 0xe0,0x40,0xa0,0x60
-};
-static const GLUTBitmapChar ch178 = { 3, 4, 0, -3, 3, ch178data };
-
-static const unsigned char ch179data[] = {
- 0xc0,0x20,0x40,0xe0
-};
-static const GLUTBitmapChar ch179 = { 3, 4, 0, -3, 3, ch179data };
-
-static const unsigned char ch180data[] = {
- 0x80,0x40
-};
-static const GLUTBitmapChar ch180 = { 2, 2, 0, -5, 3, ch180data };
-
-static const unsigned char ch181data[] = {
- 0x80,0x80,0xe8,0x90,0x90,0x90,0x90
-};
-static const GLUTBitmapChar ch181 = { 5, 7, 0, 2, 5, ch181data };
-
-static const unsigned char ch182data[] = {
- 0x28,0x28,0x28,0x28,0x68,0xe8,0xe8,0xe8,0x7c
-};
-static const GLUTBitmapChar ch182 = { 6, 9, 0, 2, 6, ch182data };
-
-static const unsigned char ch183data[] = {
- 0x80
-};
-static const GLUTBitmapChar ch183 = { 1, 1, 0, -2, 2, ch183data };
-
-static const unsigned char ch184data[] = {
- 0xc0,0x20,0x40
-};
-static const GLUTBitmapChar ch184 = { 3, 3, 0, 3, 4, ch184data };
-
-static const unsigned char ch185data[] = {
- 0xe0,0x40,0xc0,0x40
-};
-static const GLUTBitmapChar ch185 = { 3, 4, 0, -3, 3, ch185data };
-
-static const unsigned char ch186data[] = {
- 0xe0,0x0,0x40,0xa0,0x40
-};
-static const GLUTBitmapChar ch186 = { 3, 5, 0, -2, 4, ch186data };
-
-static const unsigned char ch187data[] = {
- 0xa0,0x50,0x50,0xa0
-};
-static const GLUTBitmapChar ch187 = { 4, 4, 0, -1, 5, ch187data };
-
-static const unsigned char ch188data[] = {
- 0x44,0x3e,0x2c,0xf4,0x48,0xc8,0x44
-};
-static const GLUTBitmapChar ch188 = { 7, 7, 0, 0, 8, ch188data };
-
-static const unsigned char ch189data[] = {
- 0x4e,0x24,0x2a,0xf6,0x48,0xc8,0x44
-};
-static const GLUTBitmapChar ch189 = { 7, 7, 0, 0, 8, ch189data };
-
-static const unsigned char ch190data[] = {
- 0x44,0x3e,0x2c,0xd4,0x28,0x48,0xe4
-};
-static const GLUTBitmapChar ch190 = { 7, 7, 0, 0, 8, ch190data };
-
-static const unsigned char ch191data[] = {
- 0xe0,0xa0,0x80,0x40,0x40,0x0,0x40
-};
-static const GLUTBitmapChar ch191 = { 3, 7, 0, 2, 4, ch191data };
-
-static const unsigned char ch192data[] = {
- 0xee,0x44,0x7c,0x28,0x28,0x38,0x10,0x0,0x10,0x20
-};
-static const GLUTBitmapChar ch192 = { 7, 10, 0, 0, 8, ch192data };
-
-static const unsigned char ch193data[] = {
- 0xee,0x44,0x7c,0x28,0x28,0x38,0x10,0x0,0x10,0x8
-};
-static const GLUTBitmapChar ch193 = { 7, 10, 0, 0, 8, ch193data };
-
-static const unsigned char ch194data[] = {
- 0xee,0x44,0x7c,0x28,0x28,0x38,0x10,0x0,0x28,0x10
-};
-static const GLUTBitmapChar ch194 = { 7, 10, 0, 0, 8, ch194data };
-
-static const unsigned char ch195data[] = {
- 0xee,0x44,0x7c,0x28,0x28,0x38,0x10,0x0,0x28,0x14
-};
-static const GLUTBitmapChar ch195 = { 7, 10, 0, 0, 8, ch195data };
-
-static const unsigned char ch196data[] = {
- 0xee,0x44,0x7c,0x28,0x28,0x38,0x10,0x0,0x28
-};
-static const GLUTBitmapChar ch196 = { 7, 9, 0, 0, 8, ch196data };
-
-static const unsigned char ch197data[] = {
- 0xee,0x44,0x7c,0x28,0x28,0x38,0x10,0x10,0x28,0x10
-};
-static const GLUTBitmapChar ch197 = { 7, 10, 0, 0, 8, ch197data };
-
-static const unsigned char ch198data[] = {
- 0xef,0x49,0x78,0x2e,0x28,0x39,0x1f
-};
-static const GLUTBitmapChar ch198 = { 8, 7, 0, 0, 9, ch198data };
-
-static const unsigned char ch199data[] = {
- 0x60,0x10,0x20,0x78,0xc4,0x80,0x80,0x80,0xc4,0x7c
-};
-static const GLUTBitmapChar ch199 = { 6, 10, 0, 3, 7, ch199data };
-
-static const unsigned char ch200data[] = {
- 0xf8,0x48,0x40,0x70,0x40,0x48,0xf8,0x0,0x20,0x40
-};
-static const GLUTBitmapChar ch200 = { 5, 10, 0, 0, 6, ch200data };
-
-static const unsigned char ch201data[] = {
- 0xf8,0x48,0x40,0x70,0x40,0x48,0xf8,0x0,0x20,0x10
-};
-static const GLUTBitmapChar ch201 = { 5, 10, 0, 0, 6, ch201data };
-
-static const unsigned char ch202data[] = {
- 0xf8,0x48,0x40,0x70,0x40,0x48,0xf8,0x0,0x50,0x20
-};
-static const GLUTBitmapChar ch202 = { 5, 10, 0, 0, 6, ch202data };
-
-static const unsigned char ch203data[] = {
- 0xf8,0x48,0x40,0x70,0x40,0x48,0xf8,0x0,0x50
-};
-static const GLUTBitmapChar ch203 = { 5, 9, 0, 0, 6, ch203data };
-
-static const unsigned char ch204data[] = {
- 0xe0,0x40,0x40,0x40,0x40,0x40,0xe0,0x0,0x40,0x80
-};
-static const GLUTBitmapChar ch204 = { 3, 10, 0, 0, 4, ch204data };
-
-static const unsigned char ch205data[] = {
- 0xe0,0x40,0x40,0x40,0x40,0x40,0xe0,0x0,0x40,0x20
-};
-static const GLUTBitmapChar ch205 = { 3, 10, 0, 0, 4, ch205data };
-
-static const unsigned char ch206data[] = {
- 0xe0,0x40,0x40,0x40,0x40,0x40,0xe0,0x0,0xa0,0x40
-};
-static const GLUTBitmapChar ch206 = { 3, 10, 0, 0, 4, ch206data };
-
-static const unsigned char ch207data[] = {
- 0xe0,0x40,0x40,0x40,0x40,0x40,0xe0,0x0,0xa0
-};
-static const GLUTBitmapChar ch207 = { 3, 9, 0, 0, 4, ch207data };
-
-static const unsigned char ch208data[] = {
- 0xf8,0x4c,0x44,0xe4,0x44,0x4c,0xf8
-};
-static const GLUTBitmapChar ch208 = { 6, 7, 0, 0, 7, ch208data };
-
-static const unsigned char ch209data[] = {
- 0xe4,0x4c,0x4c,0x54,0x54,0x64,0xee,0x0,0x50,0x28
-};
-static const GLUTBitmapChar ch209 = { 7, 10, 0, 0, 8, ch209data };
-
-static const unsigned char ch210data[] = {
- 0x78,0xcc,0x84,0x84,0x84,0xcc,0x78,0x0,0x20,0x40
-};
-static const GLUTBitmapChar ch210 = { 6, 10, 0, 0, 7, ch210data };
-
-static const unsigned char ch211data[] = {
- 0x78,0xcc,0x84,0x84,0x84,0xcc,0x78,0x0,0x10,0x8
-};
-static const GLUTBitmapChar ch211 = { 6, 10, 0, 0, 7, ch211data };
-
-static const unsigned char ch212data[] = {
- 0x78,0xcc,0x84,0x84,0x84,0xcc,0x78,0x0,0x50,0x20
-};
-static const GLUTBitmapChar ch212 = { 6, 10, 0, 0, 7, ch212data };
-
-static const unsigned char ch213data[] = {
- 0x78,0xcc,0x84,0x84,0x84,0xcc,0x78,0x0,0x50,0x28
-};
-static const GLUTBitmapChar ch213 = { 6, 10, 0, 0, 7, ch213data };
-
-static const unsigned char ch214data[] = {
- 0x78,0xcc,0x84,0x84,0x84,0xcc,0x78,0x0,0x50
-};
-static const GLUTBitmapChar ch214 = { 6, 9, 0, 0, 7, ch214data };
-
-static const unsigned char ch215data[] = {
- 0x88,0x50,0x20,0x50,0x88
-};
-static const GLUTBitmapChar ch215 = { 5, 5, 0, 0, 6, ch215data };
-
-static const unsigned char ch216data[] = {
- 0x80,0x7c,0x66,0x52,0x52,0x4a,0x66,0x3e,0x1
-};
-static const GLUTBitmapChar ch216 = { 8, 9, 0, 1, 8, ch216data };
-
-static const unsigned char ch217data[] = {
- 0x38,0x6c,0x44,0x44,0x44,0x44,0xee,0x0,0x10,0x20
-};
-static const GLUTBitmapChar ch217 = { 7, 10, 0, 0, 8, ch217data };
-
-static const unsigned char ch218data[] = {
- 0x38,0x6c,0x44,0x44,0x44,0x44,0xee,0x0,0x10,0x8
-};
-static const GLUTBitmapChar ch218 = { 7, 10, 0, 0, 8, ch218data };
-
-static const unsigned char ch219data[] = {
- 0x38,0x6c,0x44,0x44,0x44,0x44,0xee,0x0,0x28,0x10
-};
-static const GLUTBitmapChar ch219 = { 7, 10, 0, 0, 8, ch219data };
-
-static const unsigned char ch220data[] = {
- 0x38,0x6c,0x44,0x44,0x44,0x44,0xee,0x0,0x28
-};
-static const GLUTBitmapChar ch220 = { 7, 9, 0, 0, 8, ch220data };
-
-static const unsigned char ch221data[] = {
- 0x38,0x10,0x10,0x28,0x28,0x44,0xee,0x0,0x10,0x8
-};
-static const GLUTBitmapChar ch221 = { 7, 10, 0, 0, 8, ch221data };
-
-static const unsigned char ch222data[] = {
- 0xe0,0x40,0x70,0x48,0x70,0x40,0xe0
-};
-static const GLUTBitmapChar ch222 = { 5, 7, 0, 0, 6, ch222data };
-
-static const unsigned char ch223data[] = {
- 0xe0,0x50,0x50,0x60,0x50,0x50,0x20
-};
-static const GLUTBitmapChar ch223 = { 4, 7, 0, 0, 5, ch223data };
-
-static const unsigned char ch224data[] = {
- 0xe0,0xa0,0x60,0x20,0xc0,0x0,0x40,0x80
-};
-static const GLUTBitmapChar ch224 = { 3, 8, 0, 0, 4, ch224data };
-
-static const unsigned char ch225data[] = {
- 0xe0,0xa0,0x60,0x20,0xc0,0x0,0x40,0x20
-};
-static const GLUTBitmapChar ch225 = { 3, 8, 0, 0, 4, ch225data };
-
-static const unsigned char ch226data[] = {
- 0xe0,0xa0,0x60,0x20,0xc0,0x0,0xa0,0x40
-};
-static const GLUTBitmapChar ch226 = { 3, 8, 0, 0, 4, ch226data };
-
-static const unsigned char ch227data[] = {
- 0xe0,0xa0,0x60,0x20,0xc0,0x0,0xa0,0x50
-};
-static const GLUTBitmapChar ch227 = { 4, 8, 0, 0, 4, ch227data };
-
-static const unsigned char ch228data[] = {
- 0xe0,0xa0,0x60,0x20,0xc0,0x0,0xa0
-};
-static const GLUTBitmapChar ch228 = { 3, 7, 0, 0, 4, ch228data };
-
-static const unsigned char ch229data[] = {
- 0xe0,0xa0,0x60,0x20,0xc0,0x40,0xa0,0x40
-};
-static const GLUTBitmapChar ch229 = { 3, 8, 0, 0, 4, ch229data };
-
-static const unsigned char ch230data[] = {
- 0xd8,0xa0,0x70,0x28,0xd8
-};
-static const GLUTBitmapChar ch230 = { 5, 5, 0, 0, 6, ch230data };
-
-static const unsigned char ch231data[] = {
- 0xc0,0x20,0x40,0x60,0x80,0x80,0x80,0x60
-};
-static const GLUTBitmapChar ch231 = { 3, 8, 0, 3, 4, ch231data };
-
-static const unsigned char ch232data[] = {
- 0x60,0x80,0xc0,0xa0,0x60,0x0,0x40,0x80
-};
-static const GLUTBitmapChar ch232 = { 3, 8, 0, 0, 4, ch232data };
-
-static const unsigned char ch233data[] = {
- 0x60,0x80,0xc0,0xa0,0x60,0x0,0x40,0x20
-};
-static const GLUTBitmapChar ch233 = { 3, 8, 0, 0, 4, ch233data };
-
-static const unsigned char ch234data[] = {
- 0x60,0x80,0xc0,0xa0,0x60,0x0,0xa0,0x40
-};
-static const GLUTBitmapChar ch234 = { 3, 8, 0, 0, 4, ch234data };
-
-static const unsigned char ch235data[] = {
- 0x60,0x80,0xc0,0xa0,0x60,0x0,0xa0
-};
-static const GLUTBitmapChar ch235 = { 3, 7, 0, 0, 4, ch235data };
-
-static const unsigned char ch236data[] = {
- 0xe0,0x40,0x40,0x40,0xc0,0x0,0x40,0x80
-};
-static const GLUTBitmapChar ch236 = { 3, 8, 0, 0, 4, ch236data };
-
-static const unsigned char ch237data[] = {
- 0xe0,0x40,0x40,0x40,0xc0,0x0,0x40,0x20
-};
-static const GLUTBitmapChar ch237 = { 3, 8, 0, 0, 4, ch237data };
-
-static const unsigned char ch238data[] = {
- 0xe0,0x40,0x40,0x40,0xc0,0x0,0xa0,0x40
-};
-static const GLUTBitmapChar ch238 = { 3, 8, 0, 0, 4, ch238data };
-
-static const unsigned char ch239data[] = {
- 0xe0,0x40,0x40,0x40,0xc0,0x0,0xa0
-};
-static const GLUTBitmapChar ch239 = { 3, 7, 0, 0, 4, ch239data };
-
-static const unsigned char ch240data[] = {
- 0x60,0x90,0x90,0x90,0x70,0xa0,0x70,0x40
-};
-static const GLUTBitmapChar ch240 = { 4, 8, 0, 0, 5, ch240data };
-
-static const unsigned char ch241data[] = {
- 0xd8,0x90,0x90,0x90,0xe0,0x0,0xa0,0x50
-};
-static const GLUTBitmapChar ch241 = { 5, 8, 0, 0, 5, ch241data };
-
-static const unsigned char ch242data[] = {
- 0x60,0x90,0x90,0x90,0x60,0x0,0x20,0x40
-};
-static const GLUTBitmapChar ch242 = { 4, 8, 0, 0, 5, ch242data };
-
-static const unsigned char ch243data[] = {
- 0x60,0x90,0x90,0x90,0x60,0x0,0x40,0x20
-};
-static const GLUTBitmapChar ch243 = { 4, 8, 0, 0, 5, ch243data };
-
-static const unsigned char ch244data[] = {
- 0x60,0x90,0x90,0x90,0x60,0x0,0xa0,0x40
-};
-static const GLUTBitmapChar ch244 = { 4, 8, 0, 0, 5, ch244data };
-
-static const unsigned char ch245data[] = {
- 0x60,0x90,0x90,0x90,0x60,0x0,0xa0,0x50
-};
-static const GLUTBitmapChar ch245 = { 4, 8, 0, 0, 5, ch245data };
-
-static const unsigned char ch246data[] = {
- 0x60,0x90,0x90,0x90,0x60,0x0,0xa0
-};
-static const GLUTBitmapChar ch246 = { 4, 7, 0, 0, 5, ch246data };
-
-static const unsigned char ch247data[] = {
- 0x20,0x0,0xf8,0x0,0x20
-};
-static const GLUTBitmapChar ch247 = { 5, 5, 0, 0, 6, ch247data };
-
-static const unsigned char ch248data[] = {
- 0x80,0x70,0x48,0x48,0x48,0x38,0x4
-};
-static const GLUTBitmapChar ch248 = { 6, 7, 1, 1, 5, ch248data };
-
-static const unsigned char ch249data[] = {
- 0x68,0x90,0x90,0x90,0x90,0x0,0x20,0x40
-};
-static const GLUTBitmapChar ch249 = { 5, 8, 0, 0, 5, ch249data };
-
-static const unsigned char ch250data[] = {
- 0x68,0x90,0x90,0x90,0x90,0x0,0x40,0x20
-};
-static const GLUTBitmapChar ch250 = { 5, 8, 0, 0, 5, ch250data };
-
-static const unsigned char ch251data[] = {
- 0x68,0x90,0x90,0x90,0x90,0x0,0x50,0x20
-};
-static const GLUTBitmapChar ch251 = { 5, 8, 0, 0, 5, ch251data };
-
-static const unsigned char ch252data[] = {
- 0x68,0x90,0x90,0x90,0x90,0x0,0x50
-};
-static const GLUTBitmapChar ch252 = { 5, 7, 0, 0, 5, ch252data };
-
-static const unsigned char ch253data[] = {
- 0x80,0xc0,0x40,0x60,0xa0,0x90,0xb8,0x0,0x20,0x10
-};
-static const GLUTBitmapChar ch253 = { 5, 10, 0, 2, 5, ch253data };
-
-static const unsigned char ch254data[] = {
- 0xc0,0x80,0xe0,0x90,0x90,0x90,0xe0,0x80,0x80
-};
-static const GLUTBitmapChar ch254 = { 4, 9, 0, 2, 5, ch254data };
-
-static const unsigned char ch255data[] = {
- 0x80,0xc0,0x40,0x60,0xa0,0x90,0xb8,0x0,0xa0
-};
-static const GLUTBitmapChar ch255 = { 5, 9, 0, 2, 5, ch255data };
-
-
-static const GLUTBitmapChar *chars[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- &ch32, &ch33, &ch34, &ch35, &ch36, &ch37, &ch38, &ch39,
- &ch40, &ch41, &ch42, &ch43, &ch44, &ch45, &ch46, &ch47,
- &ch48, &ch49, &ch50, &ch51, &ch52, &ch53, &ch54, &ch55,
- &ch56, &ch57, &ch58, &ch59, &ch60, &ch61, &ch62, &ch63,
- &ch64, &ch65, &ch66, &ch67, &ch68, &ch69, &ch70, &ch71,
- &ch72, &ch73, &ch74, &ch75, &ch76, &ch77, &ch78, &ch79,
- &ch80, &ch81, &ch82, &ch83, &ch84, &ch85, &ch86, &ch87,
- &ch88, &ch89, &ch90, &ch91, &ch92, &ch93, &ch94, &ch95,
- &ch96, &ch97, &ch98, &ch99, &ch100, &ch101, &ch102, &ch103,
- &ch104, &ch105, &ch106, &ch107, &ch108, &ch109, &ch110, &ch111,
- &ch112, &ch113, &ch114, &ch115, &ch116, &ch117, &ch118, &ch119,
- &ch120, &ch121, &ch122, &ch123, &ch124, &ch125, &ch126, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- &ch160, &ch161, &ch162, &ch163, &ch164, &ch165, &ch166, &ch167,
- &ch168, &ch169, &ch170, &ch171, &ch172, &ch173, &ch174, &ch175,
- &ch176, &ch177, &ch178, &ch179, &ch180, &ch181, &ch182, &ch183,
- &ch184, &ch185, &ch186, &ch187, &ch188, &ch189, &ch190, &ch191,
- &ch192, &ch193, &ch194, &ch195, &ch196, &ch197, &ch198, &ch199,
- &ch200, &ch201, &ch202, &ch203, &ch204, &ch205, &ch206, &ch207,
- &ch208, &ch209, &ch210, &ch211, &ch212, &ch213, &ch214, &ch215,
- &ch216, &ch217, &ch218, &ch219, &ch220, &ch221, &ch222, &ch223,
- &ch224, &ch225, &ch226, &ch227, &ch228, &ch229, &ch230, &ch231,
- &ch232, &ch233, &ch234, &ch235, &ch236, &ch237, &ch238, &ch239,
- &ch240, &ch241, &ch242, &ch243, &ch244, &ch245, &ch246, &ch247,
- &ch248, &ch249, &ch250, &ch251, &ch252, &ch253, &ch254, &ch255
-};
-
-const GLUTBitmapFont glutBitmapTimesRoman10 = {
- "-Adobe-Times-Medium-R-Normal--10-100-75-75-P-54-ISO8859-1",
- 13, 256, chars
-};
diff --git a/src/glut/dos/tr24.c b/src/glut/dos/tr24.c
deleted file mode 100644
index 2dd2a78c83..0000000000
--- a/src/glut/dos/tr24.c
+++ /dev/null
@@ -1,1301 +0,0 @@
-/* autogenerated by bdf2c! do not edit */
-
-/* "Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved." */
-
-
-#include "internal.h"
-/*
-typedef struct {
- int width, height;
- int xorig, yorig;
- int xmove;
- const unsigned char *bitmap;
-} GLUTBitmapChar;
-
-typedef struct {
- const char *name;
- int height;
- int num;
- const GLUTBitmapChar *const *table;
-} GLUTBitmapFont;
-*/
-
-
-static const unsigned char ch32data[] = {
- 0x0
-};
-static const GLUTBitmapChar ch32 = { 1, 1, 0, 0, 6, ch32data };
-
-static const unsigned char ch33data[] = {
- 0xc0,0xc0,0x0,0x0,0x0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
- 0xc0
-};
-static const GLUTBitmapChar ch33 = { 2, 17, -3, 0, 8, ch33data };
-
-static const unsigned char ch34data[] = {
- 0x88,0xcc,0xcc,0xcc,0xcc
-};
-static const GLUTBitmapChar ch34 = { 6, 5, -1, -12, 10, ch34data };
-
-static const unsigned char ch35data[] = {
- 0x22,0x0,0x22,0x0,0x22,0x0,0x22,0x0,0x22,0x0,0xff,0xc0,0xff,0xc0,0x11,0x0,
- 0x11,0x0,0x11,0x0,0x7f,0xe0,0x7f,0xe0,0x8,0x80,0x8,0x80,0x8,0x80,0x8,0x80,
- 0x8,0x80
-};
-static const GLUTBitmapChar ch35 = { 11, 17, -1, 0, 13, ch35data };
-
-static const unsigned char ch36data[] = {
- 0x4,0x0,0x4,0x0,0x3f,0x0,0xe5,0xc0,0xc4,0xc0,0x84,0x60,0x84,0x60,0x4,0x60,
- 0x4,0xe0,0x7,0xc0,0x7,0x80,0x1e,0x0,0x3c,0x0,0x74,0x0,0x64,0x0,0x64,0x20,
- 0x64,0x60,0x34,0xe0,0x1f,0x80,0x4,0x0,0x4,0x0
-};
-static const GLUTBitmapChar ch36 = { 11, 21, 0, 2, 12, ch36data };
-
-static const unsigned char ch37data[] = {
- 0x30,0x3c,0x0,0x18,0x72,0x0,0xc,0x61,0x0,0x4,0x60,0x80,0x6,0x60,0x80,0x3,
- 0x30,0x80,0x1,0x19,0x80,0x1,0x8f,0x0,0x78,0xc0,0x0,0xe4,0x40,0x0,0xc2,0x60,
- 0x0,0xc1,0x30,0x0,0xc1,0x10,0x0,0x61,0x18,0x0,0x33,0xfc,0x0,0x1e,0xc,0x0
-};
-static const GLUTBitmapChar ch37 = { 17, 16, -1, 0, 19, ch37data };
-
-static const unsigned char ch38data[] = {
- 0x3c,0x3c,0x7f,0x7e,0xe1,0xe1,0xc0,0xc0,0xc1,0xc0,0xc1,0xa0,0x63,0x20,0x37,0x10,
- 0x1e,0x18,0xe,0x3e,0xf,0x0,0x1d,0x80,0x18,0xc0,0x18,0x40,0x18,0x40,0xc,0xc0,
- 0x7,0x80
-};
-static const GLUTBitmapChar ch38 = { 16, 17, -1, 0, 18, ch38data };
-
-static const unsigned char ch39data[] = {
- 0xc0,0x60,0x20,0xe0,0xc0
-};
-static const GLUTBitmapChar ch39 = { 3, 5, -3, -12, 8, ch39data };
-
-static const unsigned char ch40data[] = {
- 0x4,0x8,0x10,0x30,0x20,0x60,0x60,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x60,
- 0x60,0x20,0x30,0x10,0x8,0x4
-};
-static const GLUTBitmapChar ch40 = { 6, 22, -1, 5, 8, ch40data };
-
-static const unsigned char ch41data[] = {
- 0x80,0x40,0x20,0x30,0x10,0x18,0x18,0xc,0xc,0xc,0xc,0xc,0xc,0xc,0xc,0x18,
- 0x18,0x10,0x30,0x20,0x40,0x80
-};
-static const GLUTBitmapChar ch41 = { 6, 22, -1, 5, 8, ch41data };
-
-static const unsigned char ch42data[] = {
- 0x8,0x0,0x1c,0x0,0xc9,0x80,0xeb,0x80,0x1c,0x0,0xeb,0x80,0xc9,0x80,0x1c,0x0,
- 0x8,0x0
-};
-static const GLUTBitmapChar ch42 = { 9, 9, -2, -8, 12, ch42data };
-
-static const unsigned char ch43data[] = {
- 0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0xff,0xf0,0xff,0xf0,0x6,0x0,
- 0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0
-};
-static const GLUTBitmapChar ch43 = { 12, 12, -1, -1, 14, ch43data };
-
-static const unsigned char ch44data[] = {
- 0xc0,0x60,0x20,0xe0,0xc0
-};
-static const GLUTBitmapChar ch44 = { 3, 5, -2, 3, 7, ch44data };
-
-static const unsigned char ch45data[] = {
- 0xff,0xf0,0xff,0xf0
-};
-static const GLUTBitmapChar ch45 = { 12, 2, -1, -6, 14, ch45data };
-
-static const unsigned char ch46data[] = {
- 0xc0,0xc0
-};
-static const GLUTBitmapChar ch46 = { 2, 2, -2, 0, 6, ch46data };
-
-static const unsigned char ch47data[] = {
- 0xc0,0xc0,0xc0,0x60,0x60,0x20,0x30,0x30,0x10,0x18,0x18,0x8,0xc,0xc,0x4,0x6,
- 0x6,0x3,0x3,0x3
-};
-static const GLUTBitmapChar ch47 = { 8, 20, 1, 3, 7, ch47data };
-
-static const unsigned char ch48data[] = {
- 0x1e,0x0,0x33,0x0,0x61,0x80,0x61,0x80,0xe1,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
- 0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x61,0x80,0x61,0x80,0x33,0x0,
- 0x1e,0x0
-};
-static const GLUTBitmapChar ch48 = { 10, 17, -1, 0, 12, ch48data };
-
-static const unsigned char ch49data[] = {
- 0xff,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x78,0x18,
- 0x8
-};
-static const GLUTBitmapChar ch49 = { 8, 17, -2, 0, 12, ch49data };
-
-static const unsigned char ch50data[] = {
- 0xff,0x80,0xff,0xc0,0x60,0x40,0x30,0x0,0x18,0x0,0xc,0x0,0x4,0x0,0x6,0x0,
- 0x3,0x0,0x3,0x0,0x1,0x80,0x1,0x80,0x81,0x80,0x81,0x80,0x43,0x80,0x7f,0x0,
- 0x1c,0x0
-};
-static const GLUTBitmapChar ch50 = { 10, 17, -1, 0, 12, ch50data };
-
-static const unsigned char ch51data[] = {
- 0x78,0x0,0xe6,0x0,0xc3,0x0,0x1,0x0,0x1,0x80,0x1,0x80,0x1,0x80,0x3,0x80,
- 0x7,0x0,0x1e,0x0,0xc,0x0,0x6,0x0,0x83,0x0,0x83,0x0,0x47,0x0,0x7e,0x0,
- 0x1c,0x0
-};
-static const GLUTBitmapChar ch51 = { 9, 17, -1, 0, 12, ch51data };
-
-static const unsigned char ch52data[] = {
- 0x3,0x0,0x3,0x0,0x3,0x0,0x3,0x0,0xff,0xc0,0xff,0xc0,0xc3,0x0,0x43,0x0,
- 0x63,0x0,0x23,0x0,0x33,0x0,0x13,0x0,0x1b,0x0,0xb,0x0,0x7,0x0,0x7,0x0,
- 0x3,0x0
-};
-static const GLUTBitmapChar ch52 = { 10, 17, -1, 0, 12, ch52data };
-
-static const unsigned char ch53data[] = {
- 0x7e,0x0,0xe3,0x80,0xc1,0x80,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x1,0xc0,
- 0x3,0x80,0xf,0x80,0x7e,0x0,0x78,0x0,0x60,0x0,0x20,0x0,0x20,0x0,0x1f,0x80,
- 0x1f,0xc0
-};
-static const GLUTBitmapChar ch53 = { 10, 17, -1, 0, 12, ch53data };
-
-static const unsigned char ch54data[] = {
- 0x1e,0x0,0x7b,0x80,0x61,0x80,0xe0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
- 0xc1,0x80,0xf3,0x80,0xee,0x0,0x60,0x0,0x70,0x0,0x30,0x0,0x18,0x0,0xe,0x0,
- 0x3,0xc0
-};
-static const GLUTBitmapChar ch54 = { 10, 17, -1, 0, 12, ch54data };
-
-static const unsigned char ch55data[] = {
- 0x18,0x0,0x18,0x0,0xc,0x0,0xc,0x0,0xc,0x0,0x4,0x0,0x6,0x0,0x6,0x0,
- 0x2,0x0,0x3,0x0,0x3,0x0,0x1,0x0,0x1,0x80,0x81,0x80,0xc0,0xc0,0xff,0xc0,
- 0x7f,0xc0
-};
-static const GLUTBitmapChar ch55 = { 10, 17, -1, 0, 12, ch55data };
-
-static const unsigned char ch56data[] = {
- 0x1e,0x0,0x73,0x80,0xe1,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x41,0xc0,0x61,0x80,
- 0x37,0x0,0x1e,0x0,0x1e,0x0,0x33,0x0,0x61,0x80,0x61,0x80,0x61,0x80,0x33,0x0,
- 0x1e,0x0
-};
-static const GLUTBitmapChar ch56 = { 10, 17, -1, 0, 12, ch56data };
-
-static const unsigned char ch57data[] = {
- 0xf0,0x0,0x1c,0x0,0x6,0x0,0x3,0x0,0x3,0x80,0x1,0x80,0x1d,0x80,0x73,0xc0,
- 0x61,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc1,0xc0,0x61,0x80,0x77,0x80,
- 0x1e,0x0
-};
-static const GLUTBitmapChar ch57 = { 10, 17, -1, 0, 12, ch57data };
-
-static const unsigned char ch58data[] = {
- 0xc0,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0xc0
-};
-static const GLUTBitmapChar ch58 = { 2, 11, -2, 0, 6, ch58data };
-
-static const unsigned char ch59data[] = {
- 0xc0,0x60,0x20,0xe0,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0xc0
-};
-static const GLUTBitmapChar ch59 = { 3, 14, -2, 3, 7, ch59data };
-
-static const unsigned char ch60data[] = {
- 0x0,0x60,0x1,0xc0,0x7,0x0,0x1c,0x0,0x70,0x0,0xc0,0x0,0x70,0x0,0x1c,0x0,
- 0x7,0x0,0x1,0xc0,0x0,0x60
-};
-static const GLUTBitmapChar ch60 = { 11, 11, -1, -1, 13, ch60data };
-
-static const unsigned char ch61data[] = {
- 0xff,0xf0,0xff,0xf0,0x0,0x0,0x0,0x0,0xff,0xf0,0xff,0xf0
-};
-static const GLUTBitmapChar ch61 = { 12, 6, -1, -4, 14, ch61data };
-
-static const unsigned char ch62data[] = {
- 0xc0,0x0,0x70,0x0,0x1c,0x0,0x7,0x0,0x1,0xc0,0x0,0x60,0x1,0xc0,0x7,0x0,
- 0x1c,0x0,0x70,0x0,0xc0,0x0
-};
-static const GLUTBitmapChar ch62 = { 11, 11, -1, -1, 13, ch62data };
-
-static const unsigned char ch63data[] = {
- 0x30,0x30,0x0,0x0,0x10,0x10,0x10,0x18,0x18,0xc,0xe,0x7,0xc3,0xc3,0x83,0xc6,
- 0x7c
-};
-static const GLUTBitmapChar ch63 = { 8, 17, -2, 0, 11, ch63data };
-
-static const unsigned char ch64data[] = {
- 0x3,0xf0,0x0,0xe,0xc,0x0,0x18,0x0,0x0,0x30,0x0,0x0,0x61,0xde,0x0,0x63,
- 0x7b,0x0,0xc6,0x39,0x80,0xc6,0x18,0x80,0xc6,0x18,0xc0,0xc6,0x18,0x40,0xc6,0xc,
- 0x40,0xc3,0xc,0x40,0xc3,0x8c,0x40,0xe1,0xfc,0x40,0x60,0xec,0xc0,0x70,0x0,0x80,
- 0x38,0x1,0x80,0x1c,0x3,0x0,0xf,0xe,0x0,0x3,0xf8,0x0
-};
-static const GLUTBitmapChar ch64 = { 18, 20, -2, 3, 22, ch64data };
-
-static const unsigned char ch65data[] = {
- 0xfc,0x1f,0x80,0x30,0x6,0x0,0x10,0x6,0x0,0x10,0xc,0x0,0x18,0xc,0x0,0x8,
- 0xc,0x0,0xf,0xf8,0x0,0xc,0x18,0x0,0x4,0x18,0x0,0x4,0x30,0x0,0x6,0x30,
- 0x0,0x2,0x30,0x0,0x2,0x60,0x0,0x1,0x60,0x0,0x1,0xc0,0x0,0x1,0xc0,0x0,
- 0x0,0x80,0x0
-};
-static const GLUTBitmapChar ch65 = { 17, 17, 0, 0, 17, ch65data };
-
-static const unsigned char ch66data[] = {
- 0xff,0xe0,0x30,0x78,0x30,0x18,0x30,0xc,0x30,0xc,0x30,0xc,0x30,0x18,0x30,0x38,
- 0x3f,0xe0,0x30,0x40,0x30,0x30,0x30,0x18,0x30,0x18,0x30,0x18,0x30,0x30,0x30,0x70,
- 0xff,0xc0
-};
-static const GLUTBitmapChar ch66 = { 14, 17, -1, 0, 16, ch66data };
-
-static const unsigned char ch67data[] = {
- 0x7,0xe0,0x1e,0x38,0x38,0x8,0x60,0x4,0x60,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,
- 0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0x60,0x4,0x60,0x4,0x38,0xc,0x1c,0x3c,
- 0x7,0xe4
-};
-static const GLUTBitmapChar ch67 = { 14, 17, -1, 0, 16, ch67data };
-
-static const unsigned char ch68data[] = {
- 0xff,0xc0,0x30,0x70,0x30,0x38,0x30,0xc,0x30,0xc,0x30,0x6,0x30,0x6,0x30,0x6,
- 0x30,0x6,0x30,0x6,0x30,0x6,0x30,0x6,0x30,0xc,0x30,0xc,0x30,0x38,0x30,0x70,
- 0xff,0xc0
-};
-static const GLUTBitmapChar ch68 = { 15, 17, -1, 0, 17, ch68data };
-
-static const unsigned char ch69data[] = {
- 0xff,0xf8,0x30,0x18,0x30,0x8,0x30,0x8,0x30,0x0,0x30,0x0,0x30,0x40,0x30,0x40,
- 0x3f,0xc0,0x30,0x40,0x30,0x40,0x30,0x0,0x30,0x0,0x30,0x10,0x30,0x10,0x30,0x30,
- 0xff,0xf0
-};
-static const GLUTBitmapChar ch69 = { 13, 17, -1, 0, 15, ch69data };
-
-static const unsigned char ch70data[] = {
- 0xfc,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x20,0x30,0x20,
- 0x3f,0xe0,0x30,0x20,0x30,0x20,0x30,0x0,0x30,0x0,0x30,0x10,0x30,0x10,0x30,0x30,
- 0xff,0xf0
-};
-static const GLUTBitmapChar ch70 = { 12, 17, -1, 0, 14, ch70data };
-
-static const unsigned char ch71data[] = {
- 0x7,0xe0,0x1e,0x38,0x38,0x1c,0x60,0xc,0x60,0xc,0xc0,0xc,0xc0,0xc,0xc0,0x3f,
- 0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0x60,0x4,0x60,0x4,0x38,0xc,0x1c,0x3c,
- 0x7,0xe4
-};
-static const GLUTBitmapChar ch71 = { 16, 17, -1, 0, 18, ch71data };
-
-static const unsigned char ch72data[] = {
- 0xfc,0x1f,0x80,0x30,0x6,0x0,0x30,0x6,0x0,0x30,0x6,0x0,0x30,0x6,0x0,0x30,
- 0x6,0x0,0x30,0x6,0x0,0x30,0x6,0x0,0x3f,0xfe,0x0,0x30,0x6,0x0,0x30,0x6,
- 0x0,0x30,0x6,0x0,0x30,0x6,0x0,0x30,0x6,0x0,0x30,0x6,0x0,0x30,0x6,0x0,
- 0xfc,0x1f,0x80
-};
-static const GLUTBitmapChar ch72 = { 17, 17, -1, 0, 19, ch72data };
-
-static const unsigned char ch73data[] = {
- 0xfc,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
- 0xfc
-};
-static const GLUTBitmapChar ch73 = { 6, 17, -1, 0, 8, ch73data };
-
-static const unsigned char ch74data[] = {
- 0x78,0x0,0xcc,0x0,0xc6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,
- 0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,
- 0x1f,0x80
-};
-static const GLUTBitmapChar ch74 = { 9, 17, -1, 0, 11, ch74data };
-
-static const unsigned char ch75data[] = {
- 0xfc,0x1f,0x30,0xe,0x30,0x1c,0x30,0x38,0x30,0x70,0x30,0xe0,0x31,0xc0,0x33,0x80,
- 0x3f,0x0,0x3e,0x0,0x33,0x0,0x31,0x80,0x30,0xc0,0x30,0x60,0x30,0x30,0x30,0x18,
- 0xfc,0x7e
-};
-static const GLUTBitmapChar ch75 = { 16, 17, -1, 0, 17, ch75data };
-
-static const unsigned char ch76data[] = {
- 0xff,0xf8,0x30,0x18,0x30,0x8,0x30,0x8,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,
- 0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,
- 0xfc,0x0
-};
-static const GLUTBitmapChar ch76 = { 13, 17, -1, 0, 14, ch76data };
-
-static const unsigned char ch77data[] = {
- 0xf8,0x21,0xf8,0x20,0x60,0x60,0x20,0x60,0x60,0x20,0xd0,0x60,0x20,0xd0,0x60,0x21,
- 0x88,0x60,0x21,0x88,0x60,0x23,0x8,0x60,0x23,0x4,0x60,0x26,0x4,0x60,0x26,0x2,
- 0x60,0x2c,0x2,0x60,0x2c,0x2,0x60,0x38,0x1,0x60,0x38,0x1,0x60,0x30,0x0,0xe0,
- 0xf0,0x0,0xf8
-};
-static const GLUTBitmapChar ch77 = { 21, 17, -1, 0, 22, ch77data };
-
-static const unsigned char ch78data[] = {
- 0xf8,0xc,0x20,0x1c,0x20,0x1c,0x20,0x34,0x20,0x64,0x20,0x64,0x20,0xc4,0x21,0x84,
- 0x21,0x84,0x23,0x4,0x26,0x4,0x26,0x4,0x2c,0x4,0x38,0x4,0x38,0x4,0x30,0x4,
- 0xf0,0x1f
-};
-static const GLUTBitmapChar ch78 = { 16, 17, -1, 0, 18, ch78data };
-
-static const unsigned char ch79data[] = {
- 0x7,0xe0,0x1c,0x38,0x38,0x1c,0x60,0x6,0x60,0x6,0xc0,0x3,0xc0,0x3,0xc0,0x3,
- 0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,0x60,0x6,0x60,0x6,0x38,0x1c,0x1c,0x38,
- 0x7,0xe0
-};
-static const GLUTBitmapChar ch79 = { 16, 17, -1, 0, 18, ch79data };
-
-static const unsigned char ch80data[] = {
- 0xfc,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,
- 0x3f,0xc0,0x30,0x70,0x30,0x30,0x30,0x18,0x30,0x18,0x30,0x18,0x30,0x30,0x30,0x70,
- 0xff,0xc0
-};
-static const GLUTBitmapChar ch80 = { 13, 17, -1, 0, 15, ch80data };
-
-static const unsigned char ch81data[] = {
- 0x0,0xf,0x0,0x38,0x0,0x70,0x0,0xe0,0x1,0xc0,0x7,0xe0,0x1c,0x38,0x38,0x1c,
- 0x60,0x6,0x60,0x6,0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,
- 0xc0,0x3,0x60,0x6,0x60,0x6,0x38,0x1c,0x1c,0x38,0x7,0xe0
-};
-static const GLUTBitmapChar ch81 = { 16, 22, -1, 5, 18, ch81data };
-
-static const unsigned char ch82data[] = {
- 0xfc,0x1e,0x30,0x1c,0x30,0x38,0x30,0x70,0x30,0x60,0x30,0xc0,0x31,0xc0,0x33,0x80,
- 0x3f,0xc0,0x30,0x70,0x30,0x30,0x30,0x38,0x30,0x18,0x30,0x38,0x30,0x30,0x30,0x70,
- 0xff,0xc0
-};
-static const GLUTBitmapChar ch82 = { 15, 17, -1, 0, 16, ch82data };
-
-static const unsigned char ch83data[] = {
- 0x9e,0x0,0xf1,0x80,0xc0,0xc0,0x80,0x60,0x80,0x60,0x0,0x60,0x0,0xe0,0x3,0xc0,
- 0xf,0x80,0x1e,0x0,0x78,0x0,0xe0,0x0,0xc0,0x40,0xc0,0x40,0xc0,0xc0,0x63,0xc0,
- 0x1e,0x40
-};
-static const GLUTBitmapChar ch83 = { 11, 17, -1, 0, 13, ch83data };
-
-static const unsigned char ch84data[] = {
- 0xf,0xc0,0x3,0x0,0x3,0x0,0x3,0x0,0x3,0x0,0x3,0x0,0x3,0x0,0x3,0x0,
- 0x3,0x0,0x3,0x0,0x3,0x0,0x3,0x0,0x3,0x0,0x83,0x4,0x83,0x4,0xc3,0xc,
- 0xff,0xfc
-};
-static const GLUTBitmapChar ch84 = { 14, 17, -1, 0, 16, ch84data };
-
-static const unsigned char ch85data[] = {
- 0x7,0xe0,0x1c,0x30,0x18,0x8,0x30,0x8,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
- 0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
- 0xfc,0x1f
-};
-static const GLUTBitmapChar ch85 = { 16, 17, -1, 0, 18, ch85data };
-
-static const unsigned char ch86data[] = {
- 0x1,0x80,0x0,0x1,0x80,0x0,0x1,0x80,0x0,0x3,0xc0,0x0,0x3,0x40,0x0,0x3,
- 0x60,0x0,0x6,0x20,0x0,0x6,0x20,0x0,0x6,0x30,0x0,0xc,0x10,0x0,0xc,0x18,
- 0x0,0x18,0x8,0x0,0x18,0x8,0x0,0x18,0xc,0x0,0x30,0x4,0x0,0x30,0x6,0x0,
- 0xfc,0x1f,0x80
-};
-static const GLUTBitmapChar ch86 = { 17, 17, 0, 0, 17, ch86data };
-
-static const unsigned char ch87data[] = {
- 0x1,0x83,0x0,0x1,0x83,0x0,0x1,0x83,0x80,0x3,0x87,0x80,0x3,0x46,0x80,0x3,
- 0x46,0xc0,0x6,0x46,0x40,0x6,0x4c,0x40,0x6,0x4c,0x60,0xc,0x2c,0x60,0xc,0x2c,
- 0x20,0x18,0x2c,0x20,0x18,0x18,0x30,0x18,0x18,0x10,0x30,0x18,0x10,0x30,0x18,0x18,
- 0xfc,0x7e,0x7e
-};
-static const GLUTBitmapChar ch87 = { 23, 17, 0, 0, 23, ch87data };
-
-static const unsigned char ch88data[] = {
- 0xfc,0xf,0xc0,0x30,0x3,0x80,0x18,0x7,0x0,0x8,0xe,0x0,0x4,0xc,0x0,0x6,
- 0x18,0x0,0x2,0x38,0x0,0x1,0x70,0x0,0x0,0xe0,0x0,0x0,0xc0,0x0,0x1,0xc0,
- 0x0,0x3,0xa0,0x0,0x3,0x10,0x0,0x6,0x8,0x0,0xe,0xc,0x0,0x1c,0x6,0x0,
- 0x7e,0xf,0x80
-};
-static const GLUTBitmapChar ch88 = { 18, 17, 0, 0, 18, ch88data };
-
-static const unsigned char ch89data[] = {
- 0x7,0xe0,0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x3,0xc0,
- 0x3,0x40,0x6,0x60,0x6,0x20,0xc,0x30,0x1c,0x10,0x18,0x18,0x38,0x8,0x30,0xc,
- 0xfc,0x3f
-};
-static const GLUTBitmapChar ch89 = { 16, 17, 0, 0, 16, ch89data };
-
-static const unsigned char ch90data[] = {
- 0xff,0xf8,0xe0,0x18,0x70,0x8,0x30,0x8,0x38,0x0,0x18,0x0,0x1c,0x0,0xe,0x0,
- 0x6,0x0,0x7,0x0,0x3,0x0,0x3,0x80,0x1,0xc0,0x80,0xc0,0x80,0xe0,0xc0,0x70,
- 0xff,0xf0
-};
-static const GLUTBitmapChar ch90 = { 13, 17, -1, 0, 15, ch90data };
-
-static const unsigned char ch91data[] = {
- 0xf8,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
- 0xc0,0xc0,0xc0,0xc0,0xf8
-};
-static const GLUTBitmapChar ch91 = { 5, 21, -2, 4, 8, ch91data };
-
-static const unsigned char ch92data[] = {
- 0x6,0x6,0x4,0xc,0xc,0x8,0x18,0x18,0x10,0x30,0x30,0x20,0x60,0x60,0x40,0xc0,
- 0xc0
-};
-static const GLUTBitmapChar ch92 = { 7, 17, 0, 0, 7, ch92data };
-
-static const unsigned char ch93data[] = {
- 0xf8,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
- 0x18,0x18,0x18,0x18,0xf8
-};
-static const GLUTBitmapChar ch93 = { 5, 21, -1, 4, 8, ch93data };
-
-static const unsigned char ch94data[] = {
- 0x80,0x80,0xc1,0x80,0x41,0x0,0x63,0x0,0x22,0x0,0x36,0x0,0x14,0x0,0x1c,0x0,
- 0x8,0x0
-};
-static const GLUTBitmapChar ch94 = { 9, 9, -1, -8, 11, ch94data };
-
-static const unsigned char ch95data[] = {
- 0xff,0xf8,0xff,0xf8
-};
-static const GLUTBitmapChar ch95 = { 13, 2, 0, 5, 13, ch95data };
-
-static const unsigned char ch96data[] = {
- 0x60,0xe0,0x80,0xc0,0x60
-};
-static const GLUTBitmapChar ch96 = { 3, 5, -2, -12, 7, ch96data };
-
-static const unsigned char ch97data[] = {
- 0x71,0x80,0xfb,0x0,0xc7,0x0,0xc3,0x0,0xc3,0x0,0x63,0x0,0x3b,0x0,0xf,0x0,
- 0x3,0x0,0x63,0x0,0x67,0x0,0x3e,0x0
-};
-static const GLUTBitmapChar ch97 = { 9, 12, -1, 0, 11, ch97data };
-
-static const unsigned char ch98data[] = {
- 0x5e,0x0,0x73,0x80,0x61,0x80,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
- 0x60,0xc0,0x61,0x80,0x73,0x80,0x6e,0x0,0x60,0x0,0x60,0x0,0x60,0x0,0x60,0x0,
- 0xe0,0x0
-};
-static const GLUTBitmapChar ch98 = { 10, 17, -1, 0, 12, ch98data };
-
-static const unsigned char ch99data[] = {
- 0x1e,0x0,0x7f,0x0,0x70,0x80,0xe0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,
- 0xc0,0x0,0x41,0x80,0x63,0x80,0x1f,0x0
-};
-static const GLUTBitmapChar ch99 = { 9, 12, -1, 0, 11, ch99data };
-
-static const unsigned char ch100data[] = {
- 0x1e,0xc0,0x73,0x80,0x61,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,
- 0xc1,0x80,0x61,0x80,0x73,0x80,0x1d,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,
- 0x3,0x80
-};
-static const GLUTBitmapChar ch100 = { 10, 17, -1, 0, 12, ch100data };
-
-static const unsigned char ch101data[] = {
- 0x1e,0x0,0x7f,0x0,0x70,0x80,0xe0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,
- 0xc1,0x80,0x41,0x80,0x63,0x0,0x1e,0x0
-};
-static const GLUTBitmapChar ch101 = { 9, 12, -1, 0, 11, ch101data };
-
-static const unsigned char ch102data[] = {
- 0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0xfe,0x30,0x30,0x30,0x16,
- 0xe
-};
-static const GLUTBitmapChar ch102 = { 7, 17, 0, 0, 7, ch102data };
-
-static const unsigned char ch103data[] = {
- 0x3f,0x0,0xf1,0xc0,0xc0,0x60,0xc0,0x20,0x60,0x60,0x3f,0xc0,0x7f,0x0,0x60,0x0,
- 0x30,0x0,0x3e,0x0,0x33,0x0,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x33,0x0,
- 0x1f,0xc0
-};
-static const GLUTBitmapChar ch103 = { 11, 17, -1, 5, 12, ch103data };
-
-static const unsigned char ch104data[] = {
- 0xf1,0xe0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
- 0x60,0xc0,0x71,0xc0,0x6f,0x80,0x67,0x0,0x60,0x0,0x60,0x0,0x60,0x0,0x60,0x0,
- 0xe0,0x0
-};
-static const GLUTBitmapChar ch104 = { 11, 17, -1, 0, 13, ch104data };
-
-static const unsigned char ch105data[] = {
- 0xf0,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0xe0,0x0,0x0,0x0,0x60,
- 0x60
-};
-static const GLUTBitmapChar ch105 = { 4, 17, -1, 0, 6, ch105data };
-
-static const unsigned char ch106data[] = {
- 0xc0,0xe0,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
- 0x70,0x0,0x0,0x0,0x30,0x30
-};
-static const GLUTBitmapChar ch106 = { 4, 22, 0, 5, 6, ch106data };
-
-static const unsigned char ch107data[] = {
- 0xf3,0xe0,0x61,0xc0,0x63,0x80,0x67,0x0,0x6e,0x0,0x6c,0x0,0x78,0x0,0x68,0x0,
- 0x64,0x0,0x66,0x0,0x63,0x0,0x67,0xc0,0x60,0x0,0x60,0x0,0x60,0x0,0x60,0x0,
- 0xe0,0x0
-};
-static const GLUTBitmapChar ch107 = { 11, 17, -1, 0, 12, ch107data };
-
-static const unsigned char ch108data[] = {
- 0xf0,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,
- 0xe0
-};
-static const GLUTBitmapChar ch108 = { 4, 17, -1, 0, 6, ch108data };
-
-static const unsigned char ch109data[] = {
- 0xf1,0xe3,0xc0,0x60,0xc1,0x80,0x60,0xc1,0x80,0x60,0xc1,0x80,0x60,0xc1,0x80,0x60,
- 0xc1,0x80,0x60,0xc1,0x80,0x60,0xc1,0x80,0x60,0xc1,0x80,0x71,0xe3,0x80,0x6f,0x9f,
- 0x0,0xe7,0xe,0x0
-};
-static const GLUTBitmapChar ch109 = { 18, 12, -1, 0, 20, ch109data };
-
-static const unsigned char ch110data[] = {
- 0xf1,0xe0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
- 0x60,0xc0,0x71,0xc0,0x6f,0x80,0xe7,0x0
-};
-static const GLUTBitmapChar ch110 = { 11, 12, -1, 0, 13, ch110data };
-
-static const unsigned char ch111data[] = {
- 0x1e,0x0,0x73,0x80,0x61,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
- 0xc0,0xc0,0x61,0x80,0x73,0x80,0x1e,0x0
-};
-static const GLUTBitmapChar ch111 = { 10, 12, -1, 0, 12, ch111data };
-
-static const unsigned char ch112data[] = {
- 0xf0,0x0,0x60,0x0,0x60,0x0,0x60,0x0,0x60,0x0,0x6e,0x0,0x73,0x80,0x61,0x80,
- 0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x61,0x80,0x73,0x80,
- 0xee,0x0
-};
-static const GLUTBitmapChar ch112 = { 10, 17, -1, 5, 12, ch112data };
-
-static const unsigned char ch113data[] = {
- 0x3,0xc0,0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x1d,0x80,0x73,0x80,0x61,0x80,
- 0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x61,0x80,0x73,0x80,
- 0x1d,0x80
-};
-static const GLUTBitmapChar ch113 = { 10, 17, -1, 5, 12, ch113data };
-
-static const unsigned char ch114data[] = {
- 0xf0,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x76,0x6e,0xe6
-};
-static const GLUTBitmapChar ch114 = { 7, 12, -1, 0, 8, ch114data };
-
-static const unsigned char ch115data[] = {
- 0xf8,0xc6,0x83,0x3,0x7,0x1e,0x7c,0x70,0xe0,0xc2,0x66,0x3e
-};
-static const GLUTBitmapChar ch115 = { 8, 12, -1, 0, 10, ch115data };
-
-static const unsigned char ch116data[] = {
- 0x1c,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0xfe,0x70,0x30,0x10
-};
-static const GLUTBitmapChar ch116 = { 7, 15, 0, 0, 7, ch116data };
-
-static const unsigned char ch117data[] = {
- 0x1c,0xe0,0x3e,0xc0,0x71,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
- 0x60,0xc0,0x60,0xc0,0x60,0xc0,0xe1,0xc0
-};
-static const GLUTBitmapChar ch117 = { 11, 12, -1, 0, 13, ch117data };
-
-static const unsigned char ch118data[] = {
- 0x4,0x0,0xe,0x0,0xe,0x0,0x1a,0x0,0x19,0x0,0x19,0x0,0x31,0x0,0x30,0x80,
- 0x30,0x80,0x60,0x80,0x60,0xc0,0xf1,0xe0
-};
-static const GLUTBitmapChar ch118 = { 11, 12, 0, 0, 11, ch118data };
-
-static const unsigned char ch119data[] = {
- 0x4,0x10,0x0,0xe,0x38,0x0,0xe,0x38,0x0,0x1a,0x28,0x0,0x1a,0x64,0x0,0x19,
- 0x64,0x0,0x31,0x64,0x0,0x30,0xc2,0x0,0x30,0xc2,0x0,0x60,0xc2,0x0,0x60,0xc3,
- 0x0,0xf1,0xe7,0x80
-};
-static const GLUTBitmapChar ch119 = { 17, 12, 0, 0, 17, ch119data };
-
-static const unsigned char ch120data[] = {
- 0xf1,0xe0,0x60,0xc0,0x21,0x80,0x33,0x80,0x1b,0x0,0xe,0x0,0xc,0x0,0x1a,0x0,
- 0x39,0x0,0x31,0x80,0x60,0xc0,0xf1,0xe0
-};
-static const GLUTBitmapChar ch120 = { 11, 12, -1, 0, 13, ch120data };
-
-static const unsigned char ch121data[] = {
- 0xe0,0x0,0xf0,0x0,0x18,0x0,0x8,0x0,0xc,0x0,0x4,0x0,0xe,0x0,0xe,0x0,
- 0x1a,0x0,0x19,0x0,0x19,0x0,0x31,0x0,0x30,0x80,0x30,0x80,0x60,0x80,0x60,0xc0,
- 0xf1,0xe0
-};
-static const GLUTBitmapChar ch121 = { 11, 17, 0, 5, 11, ch121data };
-
-static const unsigned char ch122data[] = {
- 0xff,0xc3,0x61,0x70,0x30,0x38,0x18,0x1c,0xe,0x86,0xc3,0xff
-};
-static const GLUTBitmapChar ch122 = { 8, 12, -1, 0, 10, ch122data };
-
-static const unsigned char ch123data[] = {
- 0x7,0xc,0x18,0x18,0x18,0x18,0x18,0x18,0x10,0x30,0x20,0xc0,0x20,0x30,0x10,0x18,
- 0x18,0x18,0x18,0x18,0xc,0x7
-};
-static const GLUTBitmapChar ch123 = { 8, 22, -1, 5, 10, ch123data };
-
-static const unsigned char ch124data[] = {
- 0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
- 0xc0
-};
-static const GLUTBitmapChar ch124 = { 2, 17, -2, 0, 6, ch124data };
-
-static const unsigned char ch125data[] = {
- 0xe0,0x30,0x18,0x18,0x18,0x18,0x18,0x18,0x8,0xc,0x4,0x3,0x4,0xc,0x8,0x18,
- 0x18,0x18,0x18,0x18,0x30,0xe0
-};
-static const GLUTBitmapChar ch125 = { 8, 22, -1, 5, 10, ch125data };
-
-static const unsigned char ch126data[] = {
- 0x83,0x80,0xc7,0xc0,0x7c,0x60,0x38,0x20
-};
-static const GLUTBitmapChar ch126 = { 11, 4, -1, -5, 13, ch126data };
-
-static const unsigned char ch160data[] = {
- 0x0
-};
-static const GLUTBitmapChar ch160 = { 1, 1, 0, 0, 6, ch160data };
-
-static const unsigned char ch161data[] = {
- 0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x0,0x0,0x0,0xc0,
- 0xc0
-};
-static const GLUTBitmapChar ch161 = { 2, 17, -4, 5, 8, ch161data };
-
-static const unsigned char ch162data[] = {
- 0x40,0x0,0x40,0x0,0x3e,0x0,0x7f,0x0,0x70,0x80,0xd0,0x0,0xc8,0x0,0xc8,0x0,
- 0xc8,0x0,0xc4,0x0,0xc4,0x0,0x43,0x80,0x63,0x80,0x1f,0x0,0x1,0x0,0x1,0x0
-};
-static const GLUTBitmapChar ch162 = { 9, 16, -1, 2, 12, ch162data };
-
-static const unsigned char ch163data[] = {
- 0xe7,0x80,0xbe,0xc0,0x78,0x40,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,
- 0x30,0x0,0xfc,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x31,0x80,0x19,0x80,
- 0xf,0x0
-};
-static const GLUTBitmapChar ch163 = { 10, 17, -1, 0, 12, ch163data };
-
-static const unsigned char ch164data[] = {
- 0xc0,0x60,0xee,0xe0,0x7f,0xc0,0x31,0x80,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
- 0x31,0x80,0x7f,0xc0,0xee,0xe0,0xc0,0x60
-};
-static const GLUTBitmapChar ch164 = { 11, 12, -1, -3, 13, ch164data };
-
-static const unsigned char ch165data[] = {
- 0xf,0xc0,0x3,0x0,0x3,0x0,0x3,0x0,0x3,0x0,0x1f,0xe0,0x3,0x0,0x1f,0xe0,
- 0x3,0x0,0x7,0x80,0xc,0x80,0xc,0xc0,0x18,0x40,0x18,0x60,0x30,0x20,0x70,0x30,
- 0xf8,0x7c
-};
-static const GLUTBitmapChar ch165 = { 14, 17, 0, 0, 14, ch165data };
-
-static const unsigned char ch166data[] = {
- 0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x0,0x0,0x0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
- 0xc0
-};
-static const GLUTBitmapChar ch166 = { 2, 17, -2, 0, 6, ch166data };
-
-static const unsigned char ch167data[] = {
- 0x38,0x64,0x62,0x6,0xe,0x1c,0x38,0x74,0xe2,0xc3,0x83,0x87,0x4e,0x3c,0x38,0x70,
- 0x60,0x46,0x26,0x1c
-};
-static const GLUTBitmapChar ch167 = { 8, 20, -2, 2, 12, ch167data };
-
-static const unsigned char ch168data[] = {
- 0xcc,0xcc
-};
-static const GLUTBitmapChar ch168 = { 6, 2, -1, -14, 8, ch168data };
-
-static const unsigned char ch169data[] = {
- 0x7,0xf0,0x0,0x1c,0x1c,0x0,0x30,0x6,0x0,0x61,0xc3,0x0,0x47,0x71,0x0,0xc4,
- 0x19,0x80,0x8c,0x0,0x80,0x88,0x0,0x80,0x88,0x0,0x80,0x88,0x0,0x80,0x8c,0x0,
- 0x80,0xc4,0x19,0x80,0x47,0x31,0x0,0x61,0xe3,0x0,0x30,0x6,0x0,0x1c,0x1c,0x0,
- 0x7,0xf0,0x0
-};
-static const GLUTBitmapChar ch169 = { 17, 17, -1, 0, 19, ch169data };
-
-static const unsigned char ch170data[] = {
- 0x7e,0x0,0x76,0xcc,0xcc,0x7c,0xc,0xcc,0x78
-};
-static const GLUTBitmapChar ch170 = { 7, 9, 0, -8, 8, ch170data };
-
-static const unsigned char ch171data[] = {
- 0x8,0x80,0x19,0x80,0x33,0x0,0x66,0x0,0xcc,0x0,0xcc,0x0,0x66,0x0,0x33,0x0,
- 0x19,0x80,0x8,0x80
-};
-static const GLUTBitmapChar ch171 = { 9, 10, -2, -1, 13, ch171data };
-
-static const unsigned char ch172data[] = {
- 0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0xff,0xf0,0xff,0xf0
-};
-static const GLUTBitmapChar ch172 = { 12, 7, -1, -3, 14, ch172data };
-
-static const unsigned char ch173data[] = {
- 0xfe,0xfe
-};
-static const GLUTBitmapChar ch173 = { 7, 2, -1, -5, 9, ch173data };
-
-static const unsigned char ch174data[] = {
- 0x7,0xf0,0x0,0x1c,0x1c,0x0,0x30,0x6,0x0,0x60,0x3,0x0,0x47,0x19,0x0,0xc2,
- 0x31,0x80,0x82,0x20,0x80,0x82,0x40,0x80,0x83,0xe0,0x80,0x82,0x30,0x80,0x82,0x10,
- 0x80,0xc2,0x11,0x80,0x42,0x31,0x0,0x67,0xe3,0x0,0x30,0x6,0x0,0x1c,0x1c,0x0,
- 0x7,0xf0,0x0
-};
-static const GLUTBitmapChar ch174 = { 17, 17, -1, 0, 19, ch174data };
-
-static const unsigned char ch175data[] = {
- 0xfc,0xfc
-};
-static const GLUTBitmapChar ch175 = { 6, 2, -1, -14, 8, ch175data };
-
-static const unsigned char ch176data[] = {
- 0x38,0x44,0x82,0x82,0x82,0x44,0x38
-};
-static const GLUTBitmapChar ch176 = { 7, 7, -1, -10, 9, ch176data };
-
-static const unsigned char ch177data[] = {
- 0xff,0xf0,0xff,0xf0,0x0,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,
- 0xff,0xf0,0xff,0xf0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0
-};
-static const GLUTBitmapChar ch177 = { 12, 15, -1, 0, 14, ch177data };
-
-static const unsigned char ch178data[] = {
- 0xfc,0x44,0x20,0x30,0x10,0x8,0xc,0x8c,0x4c,0x38
-};
-static const GLUTBitmapChar ch178 = { 6, 10, 0, -7, 7, ch178data };
-
-static const unsigned char ch179data[] = {
- 0x70,0x88,0x8c,0xc,0x8,0x30,0x8,0x8c,0x4c,0x38
-};
-static const GLUTBitmapChar ch179 = { 6, 10, 0, -7, 7, ch179data };
-
-static const unsigned char ch180data[] = {
- 0x80,0x60,0x38,0x18
-};
-static const GLUTBitmapChar ch180 = { 5, 4, -2, -13, 8, ch180data };
-
-static const unsigned char ch181data[] = {
- 0x40,0x0,0xe0,0x0,0xc0,0x0,0x40,0x0,0x40,0x0,0x5c,0xe0,0x7e,0xc0,0x71,0xc0,
- 0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
- 0xe1,0xc0
-};
-static const GLUTBitmapChar ch181 = { 11, 17, -1, 5, 13, ch181data };
-
-static const unsigned char ch182data[] = {
- 0x9,0x0,0x9,0x0,0x9,0x0,0x9,0x0,0x9,0x0,0x9,0x0,0x9,0x0,0x9,0x0,
- 0x9,0x0,0x9,0x0,0x9,0x0,0x19,0x0,0x39,0x0,0x79,0x0,0x79,0x0,0xf9,0x0,
- 0xf9,0x0,0xf9,0x0,0x79,0x0,0x79,0x0,0x39,0x0,0x1f,0x80
-};
-static const GLUTBitmapChar ch182 = { 9, 22, -1, 5, 11, ch182data };
-
-static const unsigned char ch183data[] = {
- 0xc0,0xc0
-};
-static const GLUTBitmapChar ch183 = { 2, 2, -2, -6, 6, ch183data };
-
-static const unsigned char ch184data[] = {
- 0x78,0xcc,0xc,0x3c,0x30,0x10
-};
-static const GLUTBitmapChar ch184 = { 6, 6, -1, 6, 8, ch184data };
-
-static const unsigned char ch185data[] = {
- 0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0xa0,0x60,0x20
-};
-static const GLUTBitmapChar ch185 = { 5, 10, -1, -7, 7, ch185data };
-
-static const unsigned char ch186data[] = {
- 0xfc,0x0,0x78,0xcc,0xcc,0xcc,0xcc,0xcc,0x78
-};
-static const GLUTBitmapChar ch186 = { 6, 9, -1, -8, 8, ch186data };
-
-static const unsigned char ch187data[] = {
- 0x88,0x0,0xcc,0x0,0x66,0x0,0x33,0x0,0x19,0x80,0x19,0x80,0x33,0x0,0x66,0x0,
- 0xcc,0x0,0x88,0x0
-};
-static const GLUTBitmapChar ch187 = { 9, 10, -2, -1, 12, ch187data };
-
-static const unsigned char ch188data[] = {
- 0x30,0x4,0x10,0x4,0x18,0xff,0x8,0x44,0xc,0x64,0x6,0x24,0x2,0x14,0xfb,0x1c,
- 0x21,0xc,0x21,0x84,0x20,0xc0,0x20,0x40,0x20,0x60,0x20,0x20,0xa0,0x30,0x60,0x18,
- 0x20,0x8
-};
-static const GLUTBitmapChar ch188 = { 16, 17, -1, 0, 18, ch188data };
-
-static const unsigned char ch189data[] = {
- 0x30,0x7e,0x10,0x22,0x18,0x10,0x8,0x18,0xc,0x8,0x6,0x4,0x2,0x6,0xfb,0x46,
- 0x21,0x26,0x21,0x9c,0x20,0xc0,0x20,0x40,0x20,0x60,0x20,0x20,0xa0,0x30,0x60,0x18,
- 0x20,0x8
-};
-static const GLUTBitmapChar ch189 = { 15, 17, -1, 0, 18, ch189data };
-
-static const unsigned char ch190data[] = {
- 0x18,0x2,0x0,0x8,0x2,0x0,0xc,0x7f,0x80,0x4,0x22,0x0,0x6,0x32,0x0,0x3,
- 0x12,0x0,0x1,0xa,0x0,0x71,0x8e,0x0,0x88,0x86,0x0,0x8c,0xc2,0x0,0xc,0x60,
- 0x0,0x8,0x20,0x0,0x30,0x30,0x0,0x8,0x10,0x0,0x8c,0x18,0x0,0x4c,0xc,0x0,
- 0x38,0x4,0x0
-};
-static const GLUTBitmapChar ch190 = { 17, 17, 0, 0, 18, ch190data };
-
-static const unsigned char ch191data[] = {
- 0x3e,0x63,0xc1,0xc3,0xc3,0xe0,0x70,0x30,0x38,0x18,0x18,0x8,0x8,0x0,0x0,0xc,
- 0xc
-};
-static const GLUTBitmapChar ch191 = { 8, 17, -1, 5, 11, ch191data };
-
-static const unsigned char ch192data[] = {
- 0xfc,0x1f,0x80,0x30,0x6,0x0,0x10,0x6,0x0,0x10,0xc,0x0,0x18,0xc,0x0,0x8,
- 0xc,0x0,0xf,0xf8,0x0,0xc,0x18,0x0,0x4,0x18,0x0,0x4,0x30,0x0,0x6,0x30,
- 0x0,0x2,0x30,0x0,0x2,0x60,0x0,0x1,0x60,0x0,0x1,0xc0,0x0,0x1,0xc0,0x0,
- 0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x20,0x0,0x0,0xc0,0x0,0x3,0x80,0x0,0x3,
- 0x0,0x0
-};
-static const GLUTBitmapChar ch192 = { 17, 22, 0, 0, 17, ch192data };
-
-static const unsigned char ch193data[] = {
- 0xfc,0x1f,0x80,0x30,0x6,0x0,0x10,0x6,0x0,0x10,0xc,0x0,0x18,0xc,0x0,0x8,
- 0xc,0x0,0xf,0xf8,0x0,0xc,0x18,0x0,0x4,0x18,0x0,0x4,0x30,0x0,0x6,0x30,
- 0x0,0x2,0x30,0x0,0x2,0x60,0x0,0x1,0x60,0x0,0x1,0xc0,0x0,0x1,0xc0,0x0,
- 0x0,0x80,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0xc0,0x0,0x0,0x70,0x0,0x0,
- 0x30,0x0
-};
-static const GLUTBitmapChar ch193 = { 17, 22, 0, 0, 17, ch193data };
-
-static const unsigned char ch194data[] = {
- 0xfc,0x1f,0x80,0x30,0x6,0x0,0x10,0x6,0x0,0x10,0xc,0x0,0x18,0xc,0x0,0x8,
- 0xc,0x0,0xf,0xf8,0x0,0xc,0x18,0x0,0x4,0x18,0x0,0x4,0x30,0x0,0x6,0x30,
- 0x0,0x2,0x30,0x0,0x2,0x60,0x0,0x1,0x60,0x0,0x1,0xc0,0x0,0x1,0xc0,0x0,
- 0x0,0x80,0x0,0x0,0x0,0x0,0x8,0x10,0x0,0x6,0x60,0x0,0x3,0xc0,0x0,0x1,
- 0x80,0x0
-};
-static const GLUTBitmapChar ch194 = { 17, 22, 0, 0, 17, ch194data };
-
-static const unsigned char ch195data[] = {
- 0xfc,0x1f,0x80,0x30,0x7,0x0,0x10,0x6,0x0,0x10,0xc,0x0,0x18,0xc,0x0,0x8,
- 0xc,0x0,0xf,0xf8,0x0,0xc,0x18,0x0,0x4,0x18,0x0,0x4,0x30,0x0,0x6,0x30,
- 0x0,0x2,0x30,0x0,0x2,0x60,0x0,0x1,0x60,0x0,0x1,0xc0,0x0,0x1,0xc0,0x0,
- 0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0xe0,0x0,0x3,0x90,0x0
-};
-static const GLUTBitmapChar ch195 = { 17, 21, 0, 0, 17, ch195data };
-
-static const unsigned char ch196data[] = {
- 0xfc,0x1f,0x80,0x30,0x6,0x0,0x10,0x6,0x0,0x10,0xc,0x0,0x18,0xc,0x0,0x8,
- 0xc,0x0,0xf,0xf8,0x0,0xc,0x18,0x0,0x4,0x18,0x0,0x4,0x30,0x0,0x6,0x30,
- 0x0,0x2,0x30,0x0,0x2,0x60,0x0,0x1,0x60,0x0,0x1,0xc0,0x0,0x1,0xc0,0x0,
- 0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6,0x30,0x0,0x6,0x30,0x0
-};
-static const GLUTBitmapChar ch196 = { 17, 21, 0, 0, 17, ch196data };
-
-static const unsigned char ch197data[] = {
- 0xfc,0x1f,0x80,0x30,0x6,0x0,0x10,0x6,0x0,0x10,0xc,0x0,0x18,0xc,0x0,0x8,
- 0xc,0x0,0xf,0xf8,0x0,0xc,0x18,0x0,0x4,0x18,0x0,0x4,0x30,0x0,0x6,0x30,
- 0x0,0x2,0x30,0x0,0x2,0x60,0x0,0x1,0x60,0x0,0x1,0xc0,0x0,0x1,0xc0,0x0,
- 0x0,0x80,0x0,0x1,0xc0,0x0,0x2,0x20,0x0,0x2,0x20,0x0,0x1,0xc0,0x0
-};
-static const GLUTBitmapChar ch197 = { 17, 21, 0, 0, 17, ch197data };
-
-static const unsigned char ch198data[] = {
- 0xf9,0xff,0xf0,0x30,0x60,0x30,0x10,0x60,0x10,0x10,0x60,0x10,0x18,0x60,0x0,0x8,
- 0x60,0x0,0xf,0xe0,0x80,0xc,0x60,0x80,0x4,0x7f,0x80,0x4,0x60,0x80,0x6,0x60,
- 0x80,0x2,0x60,0x0,0x2,0x60,0x0,0x1,0x60,0x20,0x1,0x60,0x20,0x1,0xe0,0x60,
- 0x3,0xff,0xe0
-};
-static const GLUTBitmapChar ch198 = { 20, 17, 0, 0, 21, ch198data };
-
-static const unsigned char ch199data[] = {
- 0x7,0x80,0xc,0xc0,0x0,0xc0,0x3,0xc0,0x3,0x0,0x1,0x0,0x7,0xe0,0x1e,0x38,
- 0x38,0x8,0x60,0x4,0x60,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,
- 0xc0,0x0,0xc0,0x0,0x60,0x4,0x60,0x4,0x38,0xc,0x1c,0x3c,0x7,0xe4
-};
-static const GLUTBitmapChar ch199 = { 14, 23, -1, 6, 16, ch199data };
-
-static const unsigned char ch200data[] = {
- 0xff,0xf8,0x30,0x18,0x30,0x8,0x30,0x8,0x30,0x0,0x30,0x0,0x30,0x40,0x30,0x40,
- 0x3f,0xc0,0x30,0x40,0x30,0x40,0x30,0x0,0x30,0x0,0x30,0x10,0x30,0x10,0x30,0x30,
- 0xff,0xf0,0x0,0x0,0x1,0x0,0x6,0x0,0x1c,0x0,0x18,0x0
-};
-static const GLUTBitmapChar ch200 = { 13, 22, -1, 0, 15, ch200data };
-
-static const unsigned char ch201data[] = {
- 0xff,0xf8,0x30,0x18,0x30,0x8,0x30,0x8,0x30,0x0,0x30,0x0,0x30,0x40,0x30,0x40,
- 0x3f,0xc0,0x30,0x40,0x30,0x40,0x30,0x0,0x30,0x0,0x30,0x10,0x30,0x10,0x30,0x30,
- 0xff,0xf0,0x0,0x0,0x4,0x0,0x3,0x0,0x1,0xc0,0x0,0xc0
-};
-static const GLUTBitmapChar ch201 = { 13, 22, -1, 0, 15, ch201data };
-
-static const unsigned char ch202data[] = {
- 0xff,0xf8,0x30,0x18,0x30,0x8,0x30,0x8,0x30,0x0,0x30,0x0,0x30,0x40,0x30,0x40,
- 0x3f,0xc0,0x30,0x40,0x30,0x40,0x30,0x0,0x30,0x0,0x30,0x10,0x30,0x10,0x30,0x30,
- 0xff,0xf0,0x0,0x0,0x10,0x20,0xc,0xc0,0x7,0x80,0x3,0x0
-};
-static const GLUTBitmapChar ch202 = { 13, 22, -1, 0, 15, ch202data };
-
-static const unsigned char ch203data[] = {
- 0xff,0xf8,0x30,0x18,0x30,0x8,0x30,0x8,0x30,0x0,0x30,0x0,0x30,0x40,0x30,0x40,
- 0x3f,0xc0,0x30,0x40,0x30,0x40,0x30,0x0,0x30,0x0,0x30,0x10,0x30,0x10,0x30,0x30,
- 0xff,0xf0,0x0,0x0,0x0,0x0,0x19,0x80,0x19,0x80
-};
-static const GLUTBitmapChar ch203 = { 13, 21, -1, 0, 15, ch203data };
-
-static const unsigned char ch204data[] = {
- 0xfc,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
- 0xfc,0x0,0x8,0x30,0xe0,0xc0
-};
-static const GLUTBitmapChar ch204 = { 6, 22, -1, 0, 8, ch204data };
-
-static const unsigned char ch205data[] = {
- 0xfc,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
- 0xfc,0x0,0x40,0x30,0x1c,0xc
-};
-static const GLUTBitmapChar ch205 = { 6, 22, -1, 0, 8, ch205data };
-
-static const unsigned char ch206data[] = {
- 0x7e,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
- 0x7e,0x0,0x81,0x66,0x3c,0x18
-};
-static const GLUTBitmapChar ch206 = { 8, 22, -1, 0, 8, ch206data };
-
-static const unsigned char ch207data[] = {
- 0xfc,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
- 0xfc,0x0,0x0,0xcc,0xcc
-};
-static const GLUTBitmapChar ch207 = { 6, 21, -1, 0, 8, ch207data };
-
-static const unsigned char ch208data[] = {
- 0x7f,0xe0,0x18,0x38,0x18,0x1c,0x18,0x6,0x18,0x6,0x18,0x3,0x18,0x3,0x18,0x3,
- 0xff,0x3,0x18,0x3,0x18,0x3,0x18,0x3,0x18,0x6,0x18,0x6,0x18,0x1c,0x18,0x38,
- 0x7f,0xe0
-};
-static const GLUTBitmapChar ch208 = { 16, 17, 0, 0, 17, ch208data };
-
-static const unsigned char ch209data[] = {
- 0xf8,0xc,0x20,0x1c,0x20,0x1c,0x20,0x34,0x20,0x64,0x20,0x64,0x20,0xc4,0x21,0x84,
- 0x21,0x84,0x23,0x4,0x26,0x4,0x26,0x4,0x2c,0x4,0x38,0x4,0x38,0x4,0x30,0x4,
- 0xf0,0x1f,0x0,0x0,0x0,0x0,0x4,0xe0,0x3,0x90
-};
-static const GLUTBitmapChar ch209 = { 16, 21, -1, 0, 18, ch209data };
-
-static const unsigned char ch210data[] = {
- 0x7,0xe0,0x1c,0x38,0x38,0x1c,0x60,0x6,0x60,0x6,0xc0,0x3,0xc0,0x3,0xc0,0x3,
- 0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,0x60,0x6,0x60,0x6,0x38,0x1c,0x1c,0x38,
- 0x7,0xe0,0x0,0x0,0x0,0x40,0x1,0x80,0x7,0x0,0x6,0x0
-};
-static const GLUTBitmapChar ch210 = { 16, 22, -1, 0, 18, ch210data };
-
-static const unsigned char ch211data[] = {
- 0x7,0xe0,0x1c,0x38,0x38,0x1c,0x60,0x6,0x60,0x6,0xc0,0x3,0xc0,0x3,0xc0,0x3,
- 0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,0x60,0x6,0x60,0x6,0x38,0x1c,0x1c,0x38,
- 0x7,0xe0,0x0,0x0,0x1,0x0,0x0,0xc0,0x0,0x70,0x0,0x30
-};
-static const GLUTBitmapChar ch211 = { 16, 22, -1, 0, 18, ch211data };
-
-static const unsigned char ch212data[] = {
- 0x7,0xe0,0x1c,0x38,0x38,0x1c,0x60,0x6,0x60,0x6,0xc0,0x3,0xc0,0x3,0xc0,0x3,
- 0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,0x60,0x6,0x60,0x6,0x38,0x1c,0x1c,0x38,
- 0x7,0xe0,0x0,0x0,0x8,0x10,0x6,0x60,0x3,0xc0,0x1,0x80
-};
-static const GLUTBitmapChar ch212 = { 16, 22, -1, 0, 18, ch212data };
-
-static const unsigned char ch213data[] = {
- 0x7,0xe0,0x1c,0x38,0x38,0x1c,0x60,0x6,0x60,0x6,0xc0,0x3,0xc0,0x3,0xc0,0x3,
- 0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,0x60,0x6,0x60,0x6,0x38,0x1c,0x1c,0x38,
- 0x7,0xe0,0x0,0x0,0x0,0x0,0x4,0xe0,0x3,0x90
-};
-static const GLUTBitmapChar ch213 = { 16, 21, -1, 0, 18, ch213data };
-
-static const unsigned char ch214data[] = {
- 0x7,0xe0,0x1c,0x38,0x38,0x1c,0x60,0x6,0x60,0x6,0xc0,0x3,0xc0,0x3,0xc0,0x3,
- 0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,0x60,0x6,0x60,0x6,0x38,0x1c,0x1c,0x38,
- 0x7,0xe0,0x0,0x0,0x0,0x0,0x6,0x60,0x6,0x60
-};
-static const GLUTBitmapChar ch214 = { 16, 21, -1, 0, 18, ch214data };
-
-static const unsigned char ch215data[] = {
- 0x80,0x40,0xc0,0xc0,0x61,0x80,0x33,0x0,0x1e,0x0,0xc,0x0,0x1e,0x0,0x33,0x0,
- 0x61,0x80,0xc0,0xc0,0x80,0x40
-};
-static const GLUTBitmapChar ch215 = { 10, 11, -2, -1, 14, ch215data };
-
-static const unsigned char ch216data[] = {
- 0x20,0x0,0x27,0xe0,0x1c,0x38,0x38,0x1c,0x68,0x6,0x64,0x6,0xc2,0x3,0xc2,0x3,
- 0xc1,0x3,0xc1,0x3,0xc0,0x83,0xc0,0x83,0xc0,0x43,0x60,0x46,0x60,0x26,0x38,0x1c,
- 0x1c,0x38,0x7,0xe4,0x0,0x4
-};
-static const GLUTBitmapChar ch216 = { 16, 19, -1, 1, 18, ch216data };
-
-static const unsigned char ch217data[] = {
- 0x7,0xe0,0x1c,0x30,0x18,0x8,0x30,0x8,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
- 0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
- 0xfc,0x1f,0x0,0x0,0x0,0x40,0x1,0x80,0x7,0x0,0x6,0x0
-};
-static const GLUTBitmapChar ch217 = { 16, 22, -1, 0, 18, ch217data };
-
-static const unsigned char ch218data[] = {
- 0x7,0xe0,0x1c,0x30,0x18,0x8,0x30,0x8,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
- 0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
- 0xfc,0x1f,0x0,0x0,0x1,0x0,0x0,0xc0,0x0,0x70,0x0,0x30
-};
-static const GLUTBitmapChar ch218 = { 16, 22, -1, 0, 18, ch218data };
-
-static const unsigned char ch219data[] = {
- 0x7,0xe0,0x1c,0x30,0x18,0x8,0x30,0x8,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
- 0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
- 0xfc,0x1f,0x0,0x0,0x8,0x10,0x6,0x60,0x3,0xc0,0x1,0x80
-};
-static const GLUTBitmapChar ch219 = { 16, 22, -1, 0, 18, ch219data };
-
-static const unsigned char ch220data[] = {
- 0x7,0xe0,0x1c,0x30,0x18,0x8,0x30,0x8,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
- 0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
- 0xfc,0x1f,0x0,0x0,0x0,0x0,0x6,0x30,0x6,0x30
-};
-static const GLUTBitmapChar ch220 = { 16, 21, -1, 0, 18, ch220data };
-
-static const unsigned char ch221data[] = {
- 0x7,0xe0,0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x3,0xc0,
- 0x3,0x40,0x6,0x60,0x6,0x20,0xc,0x30,0x1c,0x10,0x18,0x18,0x38,0x8,0x30,0xc,
- 0xfc,0x3f,0x0,0x0,0x1,0x0,0x0,0xc0,0x0,0x70,0x0,0x30
-};
-static const GLUTBitmapChar ch221 = { 16, 22, 0, 0, 16, ch221data };
-
-static const unsigned char ch222data[] = {
- 0xfc,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x3f,0xc0,0x30,0x70,0x30,0x30,0x30,0x18,
- 0x30,0x18,0x30,0x18,0x30,0x30,0x30,0x70,0x3f,0xc0,0x30,0x0,0x30,0x0,0x30,0x0,
- 0xfc,0x0
-};
-static const GLUTBitmapChar ch222 = { 13, 17, -1, 0, 15, ch222data };
-
-static const unsigned char ch223data[] = {
- 0xe7,0x0,0x6c,0x80,0x6c,0xc0,0x60,0xc0,0x60,0xc0,0x61,0xc0,0x61,0x80,0x63,0x80,
- 0x67,0x0,0x6c,0x0,0x63,0x0,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x33,0x0,
- 0x1e,0x0
-};
-static const GLUTBitmapChar ch223 = { 10, 17, -1, 0, 12, ch223data };
-
-static const unsigned char ch224data[] = {
- 0x71,0x80,0xfb,0x0,0xc7,0x0,0xc3,0x0,0xc3,0x0,0x63,0x0,0x3b,0x0,0xf,0x0,
- 0x3,0x0,0x63,0x0,0x67,0x0,0x3e,0x0,0x0,0x0,0x4,0x0,0x18,0x0,0x70,0x0,
- 0x60,0x0
-};
-static const GLUTBitmapChar ch224 = { 9, 17, -1, 0, 11, ch224data };
-
-static const unsigned char ch225data[] = {
- 0x71,0x80,0xfb,0x0,0xc7,0x0,0xc3,0x0,0xc3,0x0,0x63,0x0,0x3b,0x0,0xf,0x0,
- 0x3,0x0,0x63,0x0,0x67,0x0,0x3e,0x0,0x0,0x0,0x10,0x0,0xc,0x0,0x7,0x0,
- 0x3,0x0
-};
-static const GLUTBitmapChar ch225 = { 9, 17, -1, 0, 11, ch225data };
-
-static const unsigned char ch226data[] = {
- 0x71,0x80,0xfb,0x0,0xc7,0x0,0xc3,0x0,0xc3,0x0,0x63,0x0,0x3b,0x0,0xf,0x0,
- 0x3,0x0,0x63,0x0,0x67,0x0,0x3e,0x0,0x0,0x0,0x42,0x0,0x24,0x0,0x3c,0x0,
- 0x18,0x0
-};
-static const GLUTBitmapChar ch226 = { 9, 17, -1, 0, 11, ch226data };
-
-static const unsigned char ch227data[] = {
- 0x71,0x80,0xfb,0x0,0xc7,0x0,0xc3,0x0,0xc3,0x0,0x63,0x0,0x3b,0x0,0xf,0x0,
- 0x3,0x0,0x63,0x0,0x67,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x5c,0x0,0x3a,0x0
-};
-static const GLUTBitmapChar ch227 = { 9, 16, -1, 0, 11, ch227data };
-
-static const unsigned char ch228data[] = {
- 0x71,0x80,0xfb,0x0,0xc7,0x0,0xc3,0x0,0xc3,0x0,0x63,0x0,0x3b,0x0,0xf,0x0,
- 0x3,0x0,0x63,0x0,0x67,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x66,0x0,0x66,0x0
-};
-static const GLUTBitmapChar ch228 = { 9, 16, -1, 0, 11, ch228data };
-
-static const unsigned char ch229data[] = {
- 0x71,0x80,0xfb,0x0,0xc7,0x0,0xc3,0x0,0xc3,0x0,0x63,0x0,0x3b,0x0,0xf,0x0,
- 0x3,0x0,0x63,0x0,0x67,0x0,0x3e,0x0,0x0,0x0,0x1c,0x0,0x22,0x0,0x22,0x0,
- 0x1c,0x0
-};
-static const GLUTBitmapChar ch229 = { 9, 17, -1, 0, 11, ch229data };
-
-static const unsigned char ch230data[] = {
- 0x70,0xf0,0xfb,0xf8,0xc7,0x84,0xc3,0x0,0xc3,0x0,0x63,0x0,0x3b,0x0,0xf,0xfc,
- 0x3,0xc,0x63,0xc,0x67,0x98,0x3c,0xf0
-};
-static const GLUTBitmapChar ch230 = { 14, 12, -1, 0, 16, ch230data };
-
-static const unsigned char ch231data[] = {
- 0x3c,0x0,0x66,0x0,0x6,0x0,0x1e,0x0,0x18,0x0,0x8,0x0,0x1e,0x0,0x7f,0x0,
- 0x70,0x80,0xe0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0x41,0x80,
- 0x63,0x80,0x1f,0x0
-};
-static const GLUTBitmapChar ch231 = { 9, 18, -1, 6, 11, ch231data };
-
-static const unsigned char ch232data[] = {
- 0x1e,0x0,0x7f,0x0,0x70,0x80,0xe0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,
- 0xc1,0x80,0x41,0x80,0x63,0x0,0x1e,0x0,0x0,0x0,0x4,0x0,0x18,0x0,0x70,0x0,
- 0x60,0x0
-};
-static const GLUTBitmapChar ch232 = { 9, 17, -1, 0, 11, ch232data };
-
-static const unsigned char ch233data[] = {
- 0x1e,0x0,0x7f,0x0,0x70,0x80,0xe0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,
- 0xc1,0x80,0x41,0x80,0x63,0x0,0x1e,0x0,0x0,0x0,0x10,0x0,0xc,0x0,0x7,0x0,
- 0x3,0x0
-};
-static const GLUTBitmapChar ch233 = { 9, 17, -1, 0, 11, ch233data };
-
-static const unsigned char ch234data[] = {
- 0x1e,0x0,0x7f,0x0,0x70,0x80,0xe0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,
- 0xc1,0x80,0x41,0x80,0x63,0x0,0x1e,0x0,0x0,0x0,0x21,0x0,0x12,0x0,0x1e,0x0,
- 0xc,0x0
-};
-static const GLUTBitmapChar ch234 = { 9, 17, -1, 0, 11, ch234data };
-
-static const unsigned char ch235data[] = {
- 0x1e,0x0,0x7f,0x0,0x70,0x80,0xe0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,
- 0xc1,0x80,0x41,0x80,0x63,0x0,0x1e,0x0,0x0,0x0,0x0,0x0,0x33,0x0,0x33,0x0
-};
-static const GLUTBitmapChar ch235 = { 9, 16, -1, 0, 11, ch235data };
-
-static const unsigned char ch236data[] = {
- 0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x70,0x0,0x8,0x30,0xe0,
- 0xc0
-};
-static const GLUTBitmapChar ch236 = { 5, 17, 0, 0, 6, ch236data };
-
-static const unsigned char ch237data[] = {
- 0xf0,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0xe0,0x0,0x80,0x60,0x38,
- 0x18
-};
-static const GLUTBitmapChar ch237 = { 5, 17, -1, 0, 6, ch237data };
-
-static const unsigned char ch238data[] = {
- 0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x70,0x0,0x84,0x48,0x78,
- 0x30
-};
-static const GLUTBitmapChar ch238 = { 6, 17, 0, 0, 6, ch238data };
-
-static const unsigned char ch239data[] = {
- 0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x70,0x0,0x0,0xcc,0xcc
-};
-static const GLUTBitmapChar ch239 = { 6, 16, 0, 0, 6, ch239data };
-
-static const unsigned char ch240data[] = {
- 0x1e,0x0,0x73,0x80,0x61,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
- 0xc0,0xc0,0x61,0x80,0x73,0x80,0x1f,0x0,0xc6,0x0,0x3c,0x0,0x1e,0x0,0x71,0x80,
- 0xc0,0x0
-};
-static const GLUTBitmapChar ch240 = { 10, 17, -1, 0, 12, ch240data };
-
-static const unsigned char ch241data[] = {
- 0xf1,0xe0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
- 0x60,0xc0,0x71,0xc0,0x6f,0x80,0xe7,0x0,0x0,0x0,0x0,0x0,0x27,0x0,0x1c,0x80
-};
-static const GLUTBitmapChar ch241 = { 11, 16, -1, 0, 13, ch241data };
-
-static const unsigned char ch242data[] = {
- 0x1e,0x0,0x73,0x80,0x61,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
- 0xc0,0xc0,0x61,0x80,0x73,0x80,0x1e,0x0,0x0,0x0,0x2,0x0,0xc,0x0,0x38,0x0,
- 0x30,0x0
-};
-static const GLUTBitmapChar ch242 = { 10, 17, -1, 0, 12, ch242data };
-
-static const unsigned char ch243data[] = {
- 0x1e,0x0,0x73,0x80,0x61,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
- 0xc0,0xc0,0x61,0x80,0x73,0x80,0x1e,0x0,0x0,0x0,0x8,0x0,0x6,0x0,0x3,0x80,
- 0x1,0x80
-};
-static const GLUTBitmapChar ch243 = { 10, 17, -1, 0, 12, ch243data };
-
-static const unsigned char ch244data[] = {
- 0x1e,0x0,0x73,0x80,0x61,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
- 0xc0,0xc0,0x61,0x80,0x73,0x80,0x1e,0x0,0x0,0x0,0x21,0x0,0x12,0x0,0x1e,0x0,
- 0xc,0x0
-};
-static const GLUTBitmapChar ch244 = { 10, 17, -1, 0, 12, ch244data };
-
-static const unsigned char ch245data[] = {
- 0x1e,0x0,0x73,0x80,0x61,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
- 0xc0,0xc0,0x61,0x80,0x73,0x80,0x1e,0x0,0x0,0x0,0x0,0x0,0x27,0x0,0x1c,0x80
-};
-static const GLUTBitmapChar ch245 = { 10, 16, -1, 0, 12, ch245data };
-
-static const unsigned char ch246data[] = {
- 0x1e,0x0,0x73,0x80,0x61,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
- 0xc0,0xc0,0x61,0x80,0x73,0x80,0x1e,0x0,0x0,0x0,0x0,0x0,0x33,0x0,0x33,0x0
-};
-static const GLUTBitmapChar ch246 = { 10, 16, -1, 0, 12, ch246data };
-
-static const unsigned char ch247data[] = {
- 0x6,0x0,0x6,0x0,0x0,0x0,0x0,0x0,0xff,0xf0,0xff,0xf0,0x0,0x0,0x0,0x0,
- 0x6,0x0,0x6,0x0
-};
-static const GLUTBitmapChar ch247 = { 12, 10, -1, -2, 14, ch247data };
-
-static const unsigned char ch248data[] = {
- 0xc0,0x0,0xde,0x0,0x73,0x80,0x71,0x80,0xd0,0xc0,0xd8,0xc0,0xc8,0xc0,0xcc,0xc0,
- 0xc4,0xc0,0xc6,0xc0,0x63,0x80,0x73,0x80,0x1e,0xc0,0x0,0xc0
-};
-static const GLUTBitmapChar ch248 = { 10, 14, -1, 1, 12, ch248data };
-
-static const unsigned char ch249data[] = {
- 0x1c,0xe0,0x3e,0xc0,0x71,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
- 0x60,0xc0,0x60,0xc0,0x60,0xc0,0xe1,0xc0,0x0,0x0,0x2,0x0,0xc,0x0,0x38,0x0,
- 0x30,0x0
-};
-static const GLUTBitmapChar ch249 = { 11, 17, -1, 0, 13, ch249data };
-
-static const unsigned char ch250data[] = {
- 0x1c,0xe0,0x3e,0xc0,0x71,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
- 0x60,0xc0,0x60,0xc0,0x60,0xc0,0xe1,0xc0,0x0,0x0,0x8,0x0,0x6,0x0,0x3,0x80,
- 0x1,0x80
-};
-static const GLUTBitmapChar ch250 = { 11, 17, -1, 0, 13, ch250data };
-
-static const unsigned char ch251data[] = {
- 0x1c,0xe0,0x3e,0xc0,0x71,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
- 0x60,0xc0,0x60,0xc0,0x60,0xc0,0xe1,0xc0,0x0,0x0,0x21,0x0,0x12,0x0,0x1e,0x0,
- 0xc,0x0
-};
-static const GLUTBitmapChar ch251 = { 11, 17, -1, 0, 13, ch251data };
-
-static const unsigned char ch252data[] = {
- 0x1c,0xe0,0x3e,0xc0,0x71,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
- 0x60,0xc0,0x60,0xc0,0x60,0xc0,0xe1,0xc0,0x0,0x0,0x0,0x0,0x33,0x0,0x33,0x0
-};
-static const GLUTBitmapChar ch252 = { 11, 16, -1, 0, 13, ch252data };
-
-static const unsigned char ch253data[] = {
- 0xe0,0x0,0xf0,0x0,0x18,0x0,0x8,0x0,0xc,0x0,0x4,0x0,0xe,0x0,0xe,0x0,
- 0x1a,0x0,0x19,0x0,0x19,0x0,0x31,0x0,0x30,0x80,0x30,0x80,0x60,0x80,0x60,0xc0,
- 0xf1,0xe0,0x0,0x0,0x8,0x0,0x6,0x0,0x3,0x80,0x1,0x80
-};
-static const GLUTBitmapChar ch253 = { 11, 22, 0, 5, 11, ch253data };
-
-static const unsigned char ch254data[] = {
- 0xf0,0x0,0x60,0x0,0x60,0x0,0x60,0x0,0x60,0x0,0x6e,0x0,0x73,0x80,0x61,0x80,
- 0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x61,0x80,0x73,0x80,
- 0x6e,0x0,0x60,0x0,0x60,0x0,0x60,0x0,0x60,0x0,0xe0,0x0
-};
-static const GLUTBitmapChar ch254 = { 10, 22, -1, 5, 12, ch254data };
-
-static const unsigned char ch255data[] = {
- 0xe0,0x0,0xf0,0x0,0x18,0x0,0x8,0x0,0xc,0x0,0x4,0x0,0xe,0x0,0xe,0x0,
- 0x1a,0x0,0x19,0x0,0x19,0x0,0x31,0x0,0x30,0x80,0x30,0x80,0x60,0x80,0x60,0xc0,
- 0xf1,0xe0,0x0,0x0,0x0,0x0,0x33,0x0,0x33,0x0
-};
-static const GLUTBitmapChar ch255 = { 11, 21, 0, 5, 11, ch255data };
-
-
-static const GLUTBitmapChar *chars[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- &ch32, &ch33, &ch34, &ch35, &ch36, &ch37, &ch38, &ch39,
- &ch40, &ch41, &ch42, &ch43, &ch44, &ch45, &ch46, &ch47,
- &ch48, &ch49, &ch50, &ch51, &ch52, &ch53, &ch54, &ch55,
- &ch56, &ch57, &ch58, &ch59, &ch60, &ch61, &ch62, &ch63,
- &ch64, &ch65, &ch66, &ch67, &ch68, &ch69, &ch70, &ch71,
- &ch72, &ch73, &ch74, &ch75, &ch76, &ch77, &ch78, &ch79,
- &ch80, &ch81, &ch82, &ch83, &ch84, &ch85, &ch86, &ch87,
- &ch88, &ch89, &ch90, &ch91, &ch92, &ch93, &ch94, &ch95,
- &ch96, &ch97, &ch98, &ch99, &ch100, &ch101, &ch102, &ch103,
- &ch104, &ch105, &ch106, &ch107, &ch108, &ch109, &ch110, &ch111,
- &ch112, &ch113, &ch114, &ch115, &ch116, &ch117, &ch118, &ch119,
- &ch120, &ch121, &ch122, &ch123, &ch124, &ch125, &ch126, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- &ch160, &ch161, &ch162, &ch163, &ch164, &ch165, &ch166, &ch167,
- &ch168, &ch169, &ch170, &ch171, &ch172, &ch173, &ch174, &ch175,
- &ch176, &ch177, &ch178, &ch179, &ch180, &ch181, &ch182, &ch183,
- &ch184, &ch185, &ch186, &ch187, &ch188, &ch189, &ch190, &ch191,
- &ch192, &ch193, &ch194, &ch195, &ch196, &ch197, &ch198, &ch199,
- &ch200, &ch201, &ch202, &ch203, &ch204, &ch205, &ch206, &ch207,
- &ch208, &ch209, &ch210, &ch211, &ch212, &ch213, &ch214, &ch215,
- &ch216, &ch217, &ch218, &ch219, &ch220, &ch221, &ch222, &ch223,
- &ch224, &ch225, &ch226, &ch227, &ch228, &ch229, &ch230, &ch231,
- &ch232, &ch233, &ch234, &ch235, &ch236, &ch237, &ch238, &ch239,
- &ch240, &ch241, &ch242, &ch243, &ch244, &ch245, &ch246, &ch247,
- &ch248, &ch249, &ch250, &ch251, &ch252, &ch253, &ch254, &ch255
-};
-
-const GLUTBitmapFont glutBitmapTimesRoman24 = {
- "-Adobe-Times-Medium-R-Normal--24-240-75-75-P-124-ISO8859-1",
- 28, 256, chars
-};
diff --git a/src/glut/dos/util.c b/src/glut/dos/util.c
deleted file mode 100644
index df126443d3..0000000000
--- a/src/glut/dos/util.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * DOS/DJGPP Mesa Utility Toolkit
- * Version: 1.0
- *
- * Copyright (C) 2005 Daniel Borca 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
- * DANIEL BORCA 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.
- */
-
-
-#include "internal.h"
-
-
-extern GLUTStrokeFont glutStrokeRoman, glutStrokeMonoRoman;
-extern GLUTBitmapFont glutBitmap8By13, glutBitmap9By15, glutBitmapTimesRoman10, glutBitmapTimesRoman24, glutBitmapHelvetica10, glutBitmapHelvetica12, glutBitmapHelvetica18;
-
-/* To get around the fact that DJGPP DXEs only allow functions
- to be exported and no data addresses (as Unix DSOs support), the
- GLUT API constants such as GLUT_STROKE_ROMAN have to get passed
- through a case statement to get mapped to the actual data structure
- address. */
-void *
-_glut_font (void *font)
-{
- switch ((int)font) {
- case (int)GLUT_STROKE_ROMAN:
- return &glutStrokeRoman;
- case (int)GLUT_STROKE_MONO_ROMAN:
- return &glutStrokeMonoRoman;
- case (int)GLUT_BITMAP_9_BY_15:
- return &glutBitmap9By15;
- case (int)GLUT_BITMAP_8_BY_13:
- return &glutBitmap8By13;
- case (int)GLUT_BITMAP_TIMES_ROMAN_10:
- return &glutBitmapTimesRoman10;
- case (int)GLUT_BITMAP_TIMES_ROMAN_24:
- return &glutBitmapTimesRoman24;
- case (int)GLUT_BITMAP_HELVETICA_10:
- return &glutBitmapHelvetica10;
- case (int)GLUT_BITMAP_HELVETICA_12:
- return &glutBitmapHelvetica12;
- case (int)GLUT_BITMAP_HELVETICA_18:
- return &glutBitmapHelvetica18;
- default:
- if ((font == &glutStrokeRoman) ||
- (font == &glutStrokeMonoRoman) ||
- (font == &glutBitmap9By15) ||
- (font == &glutBitmap8By13) ||
- (font == &glutBitmapTimesRoman10) ||
- (font == &glutBitmapTimesRoman24) ||
- (font == &glutBitmapHelvetica10) ||
- (font == &glutBitmapHelvetica12) ||
- (font == &glutBitmapHelvetica18)) {
- return font;
- }
- _glut_fatal("bad font!");
- return NULL;
- }
-}
diff --git a/src/glut/dos/window.c b/src/glut/dos/window.c
deleted file mode 100644
index 610cf36dcc..0000000000
--- a/src/glut/dos/window.c
+++ /dev/null
@@ -1,329 +0,0 @@
-/*
- * DOS/DJGPP Mesa Utility Toolkit
- * Version: 1.0
- *
- * Copyright (C) 2005 Daniel Borca 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
- * DANIEL BORCA 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.
- */
-
-
-#include <stdio.h>
-
-#include "internal.h"
-
-
-static GLuint swaptime, swapcount;
-
-static DMesaVisual visual = NULL;
-
-GLUTwindow *_glut_current, *_glut_windows[MAX_WINDOWS];
-
-
-static void
-clean (void)
-{
- int i;
-
- for (i=1; i<=MAX_WINDOWS; i++) {
- glutDestroyWindow(i);
- }
- if (visual) DMesaDestroyVisual(visual);
-
- pc_close_stdout();
- pc_close_stderr();
-}
-
-
-static GLUTwindow *
-_glut_window (int win)
-{
- if (win > 0 && --win < MAX_WINDOWS) {
- return _glut_windows[win];
- }
- return NULL;
-}
-
-
-int APIENTRY
-glutCreateWindow (const char *title)
-{
- int i;
- int m8width = (_glut_default.width + 7) & ~7;
-
- if (!(_glut_default.mode & GLUT_DOUBLE)) {
- return 0;
- }
-
- /* We set the Visual once. This will be our desktop (graphic mode).
- * We should do this in the `glutInit' code, but we don't have any idea
- * about its geometry. Supposedly, when we are about to create one
- * window, we have a slight idea about resolution.
- */
- if (!visual) {
- if ((visual=DMesaCreateVisual(_glut_default.x + m8width, _glut_default.y + _glut_default.height, _glut_visual.bpp, _glut_visual.refresh,
- GLUT_SINGLE,
- !(_glut_default.mode & GLUT_INDEX),
- (_glut_default.mode & GLUT_ALPHA ) ? _glut_visual.alpha : 0,
- (_glut_default.mode & GLUT_DEPTH ) ? _glut_visual.depth : 0,
- (_glut_default.mode & GLUT_STENCIL) ? _glut_visual.stencil : 0,
- (_glut_default.mode & GLUT_ACCUM ) ? _glut_visual.accum : 0))==NULL) {
- return 0;
- }
-
- DMesaGetIntegerv(DMESA_GET_SCREEN_SIZE, _glut_visual.geometry);
- DMesaGetIntegerv(DMESA_GET_DRIVER_CAPS, &_glut_visual.flags);
-
- /* Also hook stdio/stderr once */
- pc_open_stdout();
- pc_open_stderr();
- pc_atexit(clean);
- }
-
- /* Search for an empty slot.
- * Each window has its own rendering Context and its own Buffer.
- */
- for (i=0; i<MAX_WINDOWS; i++) {
- if (_glut_windows[i] == NULL) {
- DMesaContext c;
- DMesaBuffer b;
- GLUTwindow *w;
-
- if ((w = (GLUTwindow *)calloc(1, sizeof(GLUTwindow))) == NULL) {
- return 0;
- }
-
- /* Allocate the rendering Context. */
- if ((c = DMesaCreateContext(visual, NULL)) == NULL) {
- free(w);
- return 0;
- }
-
- /* Allocate the Buffer (displayable area).
- * We have to specify buffer size and position (inside the desktop).
- */
- if ((b = DMesaCreateBuffer(visual, _glut_default.x, _glut_default.y, m8width, _glut_default.height)) == NULL) {
- DMesaDestroyContext(c);
- free(w);
- return 0;
- }
-
- /* Bind Buffer to Context and make the Context the current one. */
- if (!DMesaMakeCurrent(c, b)) {
- DMesaDestroyBuffer(b);
- DMesaDestroyContext(c);
- free(w);
- return 0;
- }
-
- _glut_current = _glut_windows[i] = w;
-
- w->num = ++i;
- w->xpos = _glut_default.x;
- w->ypos = _glut_default.y;
- w->width = m8width;
- w->height = _glut_default.height;
- w->context = c;
- w->buffer = b;
-
- return i;
- }
- }
-
- return 0;
-}
-
-
-int APIENTRY
-glutCreateSubWindow (int win, int x, int y, int width, int height)
-{
- return GL_FALSE;
-}
-
-
-void APIENTRY
-glutDestroyWindow (int win)
-{
- GLUTwindow *w = _glut_window(win);
- if (w != NULL) {
- if (w->destroy) {
- w->destroy();
- }
- DMesaMakeCurrent(NULL, NULL);
- DMesaDestroyBuffer(w->buffer);
- DMesaDestroyContext(w->context);
- free(w);
- _glut_windows[win - 1] = NULL;
- }
-}
-
-
-void APIENTRY
-glutPostRedisplay (void)
-{
- _glut_current->redisplay = GL_TRUE;
-}
-
-
-void APIENTRY
-glutSwapBuffers (void)
-{
- if (_glut_current->show_mouse) {
- /* XXX scare mouse */
- DMesaSwapBuffers(_glut_current->buffer);
- /* XXX unscare mouse */
- } else {
- DMesaSwapBuffers(_glut_current->buffer);
- }
-
- if (_glut_fps) {
- GLint t = glutGet(GLUT_ELAPSED_TIME);
- swapcount++;
- if (swaptime == 0)
- swaptime = t;
- else if (t - swaptime > _glut_fps) {
- double time = 0.001 * (t - swaptime);
- double fps = (double)swapcount / time;
- fprintf(stderr, "GLUT: %d frames in %.2f seconds = %.2f FPS\n", swapcount, time, fps);
- swaptime = t;
- swapcount = 0;
- }
- }
-}
-
-
-int APIENTRY
-glutGetWindow (void)
-{
- return _glut_current->num;
-}
-
-
-void APIENTRY
-glutSetWindow (int win)
-{
- GLUTwindow *w = _glut_window(win);
- if (w != NULL) {
- _glut_current = w;
- DMesaMakeCurrent(_glut_current->context, _glut_current->buffer);
- }
-}
-
-
-void APIENTRY
-glutSetWindowTitle (const char *title)
-{
-}
-
-
-void APIENTRY
-glutSetIconTitle (const char *title)
-{
-}
-
-
-void APIENTRY
-glutPositionWindow (int x, int y)
-{
- if (DMesaMoveBuffer(x, y)) {
- _glut_current->xpos = x;
- _glut_current->ypos = y;
- }
-}
-
-
-void APIENTRY
-glutReshapeWindow (int width, int height)
-{
- if (DMesaResizeBuffer(width, height)) {
- _glut_current->width = width;
- _glut_current->height = height;
- if (_glut_current->reshape) {
- _glut_current->reshape(width, height);
- } else {
- glViewport(0, 0, width, height);
- }
- }
-}
-
-
-void APIENTRY
-glutFullScreen (void)
-{
-}
-
-
-void APIENTRY
-glutPopWindow (void)
-{
-}
-
-
-void APIENTRY
-glutPushWindow (void)
-{
-}
-
-
-void APIENTRY
-glutIconifyWindow (void)
-{
-}
-
-
-void APIENTRY
-glutShowWindow (void)
-{
-}
-
-
-void APIENTRY
-glutHideWindow (void)
-{
-}
-
-
-void APIENTRY
-glutCloseFunc (GLUTdestroyCB destroy)
-{
- _glut_current->destroy = destroy;
-}
-
-
-void APIENTRY
-glutPostWindowRedisplay (int win)
-{
- GLUTwindow *w = _glut_window(win);
- if (w != NULL) {
- w->redisplay = GL_TRUE;
- }
-}
-
-
-void * APIENTRY
-glutGetWindowData (void)
-{
- return _glut_current->data;
-}
-
-
-void APIENTRY
-glutSetWindowData (void *data)
-{
- _glut_current->data = data;
-}
diff --git a/src/glut/fbdev/Makefile b/src/glut/fbdev/Makefile
deleted file mode 100644
index c150ea88dc..0000000000
--- a/src/glut/fbdev/Makefile
+++ /dev/null
@@ -1,94 +0,0 @@
-# subset glut
-
-TOP = ../../..
-include $(TOP)/configs/current
-
-GLX_SHARED = $(TOP)/src/glut/glx
-MINI_SHARED = $(TOP)/src/glut/mini
-
-GLUT_MAJOR = 3
-GLUT_MINOR = 7
-GLUT_TINY = 1
-
-INCLUDES = -I$(TOP)/include -I$(GLX_SHARED)
-
-CORE_SOURCES = \
- fbdev.c \
- colormap.c \
- cursor.c \
- menu.c \
- overlay.c \
- ext.c \
- state.c \
- input.c \
- callback.c \
- gamemode.c \
- vidresize.c \
- bitmap.c \
- stroke.c
-
-GLX_SHARED_SOURCES = \
- $(GLX_SHARED)/glut_8x13.c \
- $(GLX_SHARED)/glut_9x15.c \
- $(GLX_SHARED)/glut_hel10.c \
- $(GLX_SHARED)/glut_hel12.c \
- $(GLX_SHARED)/glut_hel18.c \
- $(GLX_SHARED)/glut_tr10.c \
- $(GLX_SHARED)/glut_tr24.c \
- $(GLX_SHARED)/glut_mroman.c \
- $(GLX_SHARED)/glut_roman.c \
-
-MINI_SHARED_SOURCES = \
- $(MINI_SHARED)/models.c \
- $(MINI_SHARED)/teapot.c
-
-SOURCES = $(CORE_SOURCES) $(GLX_SHARED_SOURCES) $(MINI_SHARED_SOURCES)
-
-OBJECTS = $(SOURCES:.c=.o)
-
-
-##### RULES #####
-
-.c.o:
- $(CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
-
-.S.o:
- $(CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
-
-
-##### TARGETS #####
-
-default: depend $(TOP)/$(LIB_DIR)/$(GLUT_LIB_NAME)
-
-
-# Make the library
-$(TOP)/$(LIB_DIR)/$(GLUT_LIB_NAME): depend $(OBJECTS)
- $(MKLIB) -o $(GLUT_LIB) -linker '$(CC)' -ldflags '$(LDFLAGS)' \
- -major $(GLUT_MAJOR) -minor $(GLUT_MINOR) -patch $(GLUT_TINY) \
- $(GLUT_LIB_DEPS) -install $(TOP)/$(LIB_DIR) \
- $(MKLIB_OPTIONS) $(OBJECTS)
-
-install:
- $(INSTALL) -d $(DESTDIR)$(INSTALL_INC_DIR)/GL
- $(INSTALL) -d $(DESTDIR)$(INSTALL_LIB_DIR)
- $(INSTALL) -m 644 $(TOP)/include/GL/glut.h $(DESTDIR)$(INSTALL_INC_DIR)/GL
- $(MINSTALL) $(TOP)/$(LIB_DIR)/libglut* $(DESTDIR)$(INSTALL_LIB_DIR)
-
-# Run 'make -f Makefile.solo dep' to update the dependencies if you change
-# what's included by any source file.
-depend: $(SOURCES)
- rm -f depend
- touch depend
- $(MKDEP) $(MKDEP_OPTIONS) $(INCLUDES) $(SOURCES) > /dev/null
-
-# Emacs tags
-tags:
- etags `find . -name \*.[ch]` `find ../include`
-
-
-# Remove .o and backup files
-clean: depend
- -rm -f depend depend.bak
- -rm -f *.o *~ *.o *~ *.so libglut.so.3.7
-
-include depend
diff --git a/src/glut/fbdev/bitmap.c b/src/glut/fbdev/bitmap.c
deleted file mode 100644
index 5dbb330cc2..0000000000
--- a/src/glut/fbdev/bitmap.c
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Mesa 3-D graphics library
- * Version: 6.5
- * Copyright (C) 1995-2006 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-/*
- * Library for glut using mesa fbdev driver
- *
- * Written by Sean D'Epagnier (c) 2006
- *
- * To improve on this library, maybe support subwindows or overlays,
- * I (sean at depagnier dot com) will do my best to help.
- */
-
-
-#include "glutbitmap.h"
-
-void glutBitmapCharacter(GLUTbitmapFont font, int c)
-{
- const BitmapCharRec *ch;
- BitmapFontPtr fi = (BitmapFontPtr) font;
-
- if (c < fi->first ||
- c >= fi->first + fi->num_chars)
- return;
- ch = fi->ch[c - fi->first];
- if (!ch)
- return;
-
- glPushClientAttrib(GL_CLIENT_PIXEL_STORE_BIT);
-
- glPixelStorei(GL_UNPACK_SWAP_BYTES, GL_FALSE);
- glPixelStorei(GL_UNPACK_LSB_FIRST, GL_FALSE);
- glPixelStorei(GL_UNPACK_ROW_LENGTH, 0);
- glPixelStorei(GL_UNPACK_SKIP_ROWS, 0);
- glPixelStorei(GL_UNPACK_SKIP_PIXELS, 0);
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- glBitmap(ch->width, ch->height, ch->xorig, ch->yorig,
- ch->advance, 0, ch->bitmap);
- glPopClientAttrib();
-}
-
-int glutBitmapWidth (GLUTbitmapFont font, int c)
-{
- const BitmapCharRec *ch;
- BitmapFontPtr fi = (BitmapFontPtr) font;
-
- if (c < fi->first || c >= fi->first + fi->num_chars)
- return 0;
- ch = fi->ch[c - fi->first];
- if (ch)
- return ch->advance;
- return 0;
-}
-
-int glutBitmapLength(GLUTbitmapFont font, const unsigned char *string)
-{
- int length = 0;
-
- for (; *string; string++)
- length += glutBitmapWidth(font, *string);
- return length;
-}
diff --git a/src/glut/fbdev/callback.c b/src/glut/fbdev/callback.c
deleted file mode 100644
index 8c039f530b..0000000000
--- a/src/glut/fbdev/callback.c
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * Mesa 3-D graphics library
- * Version: 6.5
- * Copyright (C) 1995-2006 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-/*
- * Library for glut using mesa fbdev driver
- *
- * Written by Sean D'Epagnier (c) 2006
- */
-
-#include <stdlib.h>
-
-#include <GL/glut.h>
-
-#include "internal.h"
-
-void (*DisplayFunc)(void) = NULL;
-void (*ReshapeFunc)(int width, int height) = NULL;
-void (*KeyboardFunc)(unsigned char key, int x, int y) = NULL;
-void (*KeyboardUpFunc)(unsigned char key, int x, int y) = NULL;
-void (*MouseFunc)(int key, int state, int x, int y) = NULL;
-void (*MotionFunc)(int x, int y) = NULL;
-void (*PassiveMotionFunc)(int x, int y) = NULL;
-void (*VisibilityFunc)(int state) = NULL;
-void (*SpecialFunc)(int key, int x, int y) = NULL;
-void (*SpecialUpFunc)(int key, int x, int y) = NULL;
-void (*IdleFunc)(void) = NULL;
-void (*MenuStatusFunc)(int state, int x, int y) = NULL;
-void (*MenuStateFunc)(int state) = NULL;
-
-void glutDisplayFunc(void (*func)(void))
-{
- DisplayFunc = func;
-}
-
-void glutOverlayDisplayFunc(void (*func)(void))
-{
-}
-
-void glutWindowStatusFunc(void (*func)(int state))
-{
-}
-
-void glutReshapeFunc(void (*func)(int width, int height))
-{
- ReshapeFunc = func;
-}
-
-void glutKeyboardFunc(void (*func)(unsigned char key, int x, int y))
-{
- KeyboardFunc = func;
-}
-
-void glutKeyboardUpFunc(void (*func)(unsigned char key, int x, int y))
-{
- KeyboardUpFunc = func;
-}
-
-void glutMouseFunc(void (*func)(int button, int state, int x, int y))
-{
- MouseFunc = func;
-}
-
-void glutMotionFunc(void (*func)(int x, int y))
-{
- MotionFunc = func;
-}
-
-void glutPassiveMotionFunc(void (*func)(int x, int y))
-{
- PassiveMotionFunc = func;
-}
-
-void glutJoystickFunc(void (*func)(unsigned int buttonMask,
- int x, int y, int z), int pollInterval)
-{
-}
-
-void glutVisibilityFunc(void (*func)(int state))
-{
- VisibilityFunc = func;
-}
-
-void glutEntryFunc(void (*func)(int state))
-{
-}
-
-void glutSpecialFunc(void (*func)(int key, int x, int y))
-{
- SpecialFunc = func;
-}
-
-void glutSpecialUpFunc(void (*func)(int key, int x, int y))
-{
- SpecialUpFunc = func;
-}
-
-void glutSpaceballMotionFunc(void (*func)(int x, int y, int z))
-{
-}
-
-void glutSpaceballRotateFunc(void (*func)(int x, int y, int z))
-{
-}
-
-void glutSpaceballButtonFunc(void (*func)(int button, int state))
-{
-}
-
-void glutButtonBoxFunc(void (*func)(int button, int state))
-{
-}
-
-void glutDialsFunc(void (*func)(int dial, int value))
-{
-}
-
-void glutTabletMotionFunc(void (*func)(int x, int y))
-{
-}
-
-void glutTabletButtonFunc(void (*func)(int button, int state,
- int x, int y))
-{
-}
-
-void glutMenuStatusFunc(void (*func)(int status, int x, int y))
-{
- MenuStatusFunc = func;
-}
-
-void glutMenuStateFunc(void (*func)(int status))
-{
- MenuStateFunc = func;
-}
-
-void glutIdleFunc(void (*func)(void))
-{
- IdleFunc = func;
-}
-
-void glutTimerFunc(unsigned int msecs,
- void (*func)(int value), int value)
-{
- struct GlutTimer **head = &GlutTimers, *timer = malloc(sizeof *timer);
- timer->time = glutGet(GLUT_ELAPSED_TIME) + msecs;
- timer->func = func;
- timer->value = value;
-
- while(*head && (*head)->time < timer->time)
- head = &(*head)->next;
-
- timer->next = *head;
- *head = timer;
-}
diff --git a/src/glut/fbdev/colormap.c b/src/glut/fbdev/colormap.c
deleted file mode 100644
index 3e72a7b051..0000000000
--- a/src/glut/fbdev/colormap.c
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * Mesa 3-D graphics library
- * Version: 6.5
- * Copyright (C) 1995-2006 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-/*
- * Library for glut using mesa fbdev driver
- *
- * Written by Sean D'Epagnier (c) 2006
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#include <linux/fb.h>
-
-#include <GL/gl.h>
-#include <GL/glut.h>
-
-#include "internal.h"
-
-#define TOCMAP(x)(unsigned short)((x<0?0:x>1?1:x)*(GLfloat) ((1<<16) - 1))
-#define TORMAP(x)(unsigned short)((x<0?0:x>1?1:x)*(GLfloat)(REVERSECMAPSIZE-1))
-#define FROMCMAP(x) (GLfloat)x / (GLfloat)((1<<16) - 1)
-
-static struct fb_cmap ColorMap, OriginalColorMap;
-
-unsigned short RedColorMap[256], GreenColorMap[256], BlueColorMap[256];
-
-unsigned char ReverseColorMap[REVERSECMAPSIZE]
- [REVERSECMAPSIZE]
- [REVERSECMAPSIZE];
-
-static void FindReverseMap(int r, int g, int b)
-{
- static int count;
- int i, shift = 16 - REVERSECMAPSIZELOG;
- unsigned int minv = -1, mini = 0;
- for(i=0; i<256; i++) {
- int val = 0;
- val += abs(r-(RedColorMap[i]>>shift));
- val += abs(g-(GreenColorMap[i]>>shift));
- val += abs(b-(BlueColorMap[i]>>shift));
- if(val < minv) {
- minv = val;
- mini = i;
- }
- }
- ReverseColorMap[r][g][b] = mini;
-}
-
-static void FillItemReverseColorMap(int r, int g, int b)
-{
- FindReverseMap(r, g, b);
- if(r > 0)
- FindReverseMap(r-1, g, b);
- if(r < REVERSECMAPSIZE - 1)
- FindReverseMap(r+1, g, b);
- if(g > 0)
- FindReverseMap(r, g-1, b);
- if(g < REVERSECMAPSIZE - 1)
- FindReverseMap(r, g+1, b);
- if(b > 0)
- FindReverseMap(r, g, b-1);
- if(b < REVERSECMAPSIZE - 1)
- FindReverseMap(r, g, b+1);
-}
-
-static void FillReverseColorMap(void)
-{
- int r, g, b;
- for(r = 0; r < REVERSECMAPSIZE; r++)
- for(g = 0; g < REVERSECMAPSIZE; g++)
- for(b = 0; b < REVERSECMAPSIZE; b++)
- FindReverseMap(r, g, b);
-}
-
-void RestoreColorMap(void)
-{
- if(FixedInfo.visual == FB_VISUAL_TRUECOLOR)
- return;
-
- if (ioctl(FrameBufferFD, FBIOPUTCMAP, (void *) &ColorMap) < 0)
- sprintf(exiterror, "ioctl(FBIOPUTCMAP) failed!\n");
-}
-
-void LoadColorMap(void)
-{
- if(FixedInfo.visual == FB_VISUAL_TRUECOLOR)
- return;
-
- ColorMap.start = 0;
- ColorMap.red = RedColorMap;
- ColorMap.green = GreenColorMap;
- ColorMap.blue = BlueColorMap;
- ColorMap.transp = NULL;
-
- if(DisplayMode & GLUT_INDEX) {
- ColorMap.len = 256;
-
- if (ioctl(FrameBufferFD, FBIOGETCMAP, (void *) &ColorMap) < 0)
- sprintf(exiterror, "ioctl(FBIOGETCMAP) failed!\n");
-
- FillReverseColorMap();
- } else {
- int rcols = 1 << VarInfo.red.length;
- int gcols = 1 << VarInfo.green.length;
- int bcols = 1 << VarInfo.blue.length;
-
- int i;
-
- ColorMap.len = gcols;
-
- for (i = 0; i < rcols ; i++)
- RedColorMap[i] = (65536/(rcols-1)) * i;
-
- for (i = 0; i < gcols ; i++)
- GreenColorMap[i] = (65536/(gcols-1)) * i;
-
- for (i = 0; i < bcols ; i++)
- BlueColorMap[i] = (65536/(bcols-1)) * i;
-
- RestoreColorMap();
- }
-}
-
-void glutSetColor(int cell, GLfloat red, GLfloat green, GLfloat blue)
-{
- if(cell < 0 || cell >= 256)
- return;
-
- RedColorMap[cell] = TOCMAP(red);
- GreenColorMap[cell] = TOCMAP(green);
- BlueColorMap[cell] = TOCMAP(blue);
-
- RestoreColorMap();
-
- FillItemReverseColorMap(TORMAP(red), TORMAP(green), TORMAP(blue));
-}
-
-GLfloat glutGetColor(int cell, int component)
-{
- if(!(DisplayMode & GLUT_INDEX))
- return -1.0;
-
- if(cell < 0 || cell > 256)
- return -1.0;
-
- switch(component) {
- case GLUT_RED:
- return FROMCMAP(RedColorMap[cell]);
- case GLUT_GREEN:
- return FROMCMAP(GreenColorMap[cell]);
- case GLUT_BLUE:
- return FROMCMAP(BlueColorMap[cell]);
- }
- return -1.0;
-}
-
-void glutCopyColormap(int win)
-{
-}
diff --git a/src/glut/fbdev/cursor.c b/src/glut/fbdev/cursor.c
deleted file mode 100644
index 4bb2b7fba0..0000000000
--- a/src/glut/fbdev/cursor.c
+++ /dev/null
@@ -1,272 +0,0 @@
-/*
- * Mesa 3-D graphics library
- * Version: 6.5
- * Copyright (C) 1995-2006 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-/*
- * Library for glut using mesa fbdev driver
- *
- * Written by Sean D'Epagnier (c) 2006
- */
-
-/* these routines are written to access graphics memory directly, not using mesa
- to render the cursor, this is faster, it would be good to use a hardware
- cursor if it exists instead */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <inttypes.h>
-#include <string.h>
-
-#include <linux/fb.h>
-
-#include <GL/glut.h>
-
-#include "internal.h"
-#include "cursors.h"
-
-int CurrentCursor = GLUT_CURSOR_LEFT_ARROW;
-
-static int LastMouseX, LastMouseY;
-static unsigned char *MouseBuffer;
-
-void InitializeCursor(void)
-{
- if(!MouseBuffer && (MouseBuffer = malloc(CURSOR_WIDTH * CURSOR_HEIGHT
- * VarInfo.bits_per_pixel / 8)) == NULL) {
- sprintf(exiterror, "malloc failure\n");
- exit(0);
- }
-
- MouseX = VarInfo.xres / 2;
- MouseY = VarInfo.yres / 2;
-}
-
-void EraseCursor(void)
-{
- int off = LastMouseY * FixedInfo.line_length
- + LastMouseX * VarInfo.bits_per_pixel / 8;
- int stride = CURSOR_WIDTH * VarInfo.bits_per_pixel / 8;
- int i;
-
- unsigned char *src = MouseBuffer;
-
- if(!MouseVisible || CurrentCursor < 0 || CurrentCursor >= NUM_CURSORS)
- return;
-
- for(i = 0; i<CURSOR_HEIGHT; i++) {
- memcpy(BackBuffer + off, src, stride);
- src += stride;
- off += FixedInfo.line_length;
- }
-}
-
-static void SaveCursor(int x, int y)
-{
- int bypp, off, stride, i;
- unsigned char *src = MouseBuffer;
-
- if(x < 0)
- LastMouseX = 0;
- else
- if(x > (int)VarInfo.xres - CURSOR_WIDTH)
- LastMouseX = VarInfo.xres - CURSOR_WIDTH;
- else
- LastMouseX = x;
-
- if(y < 0)
- LastMouseY = 0;
- else
- if(y > (int)VarInfo.yres - CURSOR_HEIGHT)
- LastMouseY = VarInfo.yres - CURSOR_HEIGHT;
- else
- LastMouseY = y;
-
- bypp = VarInfo.bits_per_pixel / 8;
- off = LastMouseY * FixedInfo.line_length + LastMouseX * bypp;
- stride = CURSOR_WIDTH * bypp;
- for(i = 0; i<CURSOR_HEIGHT; i++) {
- memcpy(src, BackBuffer + off, stride);
- src += stride;
- off += FixedInfo.line_length;
- }
-}
-
-void DrawCursor(void)
-{
- int i, j, px, py, xoff, xlen, yoff, ylen, bypp, cstride, dstride;
- unsigned char *c;
- const unsigned char *d;
-
- if(!MouseVisible || CurrentCursor < 0 || CurrentCursor >= NUM_CURSORS)
- return;
-
- px = MouseX - CursorsXOffset[CurrentCursor];
- py = MouseY - CursorsYOffset[CurrentCursor];
-
- SaveCursor(px, py);
-
- xoff = 0;
- if(px < 0)
- xoff = -px;
-
- xlen = CURSOR_WIDTH;
- if(px + CURSOR_WIDTH > VarInfo.xres)
- xlen = VarInfo.xres - px;
-
- yoff = 0;
- if(py < 0)
- yoff = -py;
-
- ylen = CURSOR_HEIGHT;
- if(py + CURSOR_HEIGHT > VarInfo.yres)
- ylen = VarInfo.yres - py;
-
- bypp = VarInfo.bits_per_pixel / 8;
-
- c = BackBuffer + FixedInfo.line_length * (py + yoff) + (px + xoff) * bypp;
- cstride = FixedInfo.line_length - bypp * (xlen - xoff);
-
- d = Cursors[CurrentCursor] + (CURSOR_WIDTH * yoff + xoff)*4;
- dstride = (CURSOR_WIDTH - xlen + xoff) * 4;
-
- switch(bypp) {
- case 1:
- {
- const int shift = 8 - REVERSECMAPSIZELOG;
- for(i = yoff; i < ylen; i++) {
- for(j = xoff; j < xlen; j++) {
- if(d[3] < 220)
- *c = ReverseColorMap
- [(d[0]+(((int)(RedColorMap[c[0]]>>8)*d[3])>>8))>>shift]
- [(d[1]+(((int)(GreenColorMap[c[0]]>>8)*d[3])>>8))>>shift]
- [(d[2]+(((int)(BlueColorMap[c[0]]>>8)*d[3])>>8))>>shift];
- c++;
- d+=4;
- }
- d += dstride;
- c += cstride;
- }
- } break;
- case 2:
- {
- uint16_t *e = (void*)c;
- cstride /= 2;
- for(i = yoff; i < ylen; i++) {
- for(j = xoff; j < xlen; j++) {
- if(d[3] < 220)
- e[0] = ((((d[0] + (((int)(((e[0] >> 8) & 0xf8)
- | ((c[0] >> 11) & 0x7)) * d[3]) >> 8)) & 0xf8) << 8)
- | (((d[1] + (((int)(((e[0] >> 3) & 0xfc)
- | ((e[0] >> 5) & 0x3)) * d[3]) >> 8)) & 0xfc) << 3)
- | ((d[2] + (((int)(((e[0] << 3) & 0xf8)
- | (e[0] & 0x7)) * d[3]) >> 8)) >> 3));
-
- e++;
- d+=4;
- }
- d += dstride;
- e += cstride;
- }
- } break;
- case 3:
- case 4:
- for(i = yoff; i < ylen; i++) {
- for(j = xoff; j < xlen; j++) {
- if(d[3] < 220) {
- c[0] = d[0] + (((int)c[0] * d[3]) >> 8);
- c[1] = d[1] + (((int)c[1] * d[3]) >> 8);
- c[2] = d[2] + (((int)c[2] * d[3]) >> 8);
- }
-
- c+=bypp;
- d+=4;
- }
- d += dstride;
- c += cstride;
- } break;
- }
-}
-
-#define MIN(x, y) x < y ? x : y
-void SwapCursor(void)
-{
- int px = MouseX - CursorsXOffset[CurrentCursor];
- int py = MouseY - CursorsYOffset[CurrentCursor];
-
- int minx = MIN(px, LastMouseX);
- int sizex = abs(px - LastMouseX);
-
- int miny = MIN(py, LastMouseY);
- int sizey = abs(py - LastMouseY);
-
- if(MouseVisible)
- DrawCursor();
-
- /* now update the portion of the screen that has changed, this is also
- used to hide the mouse if MouseVisible is 0 */
- if(DisplayMode & GLUT_DOUBLE && ((sizex || sizey) || !MouseVisible)) {
- int off, stride, i;
- if(minx < 0)
- minx = 0;
- if(miny < 0)
- miny = 0;
-
- if(minx + sizex > VarInfo.xres - CURSOR_WIDTH)
- sizex = VarInfo.xres - CURSOR_WIDTH - minx;
- if(miny + sizey > VarInfo.yres - CURSOR_HEIGHT)
- sizey = VarInfo.yres - CURSOR_HEIGHT - miny;
- off = FixedInfo.line_length * miny
- + minx * VarInfo.bits_per_pixel / 8;
- stride = (sizex + CURSOR_WIDTH) * VarInfo.bits_per_pixel / 8;
-
- for(i = 0; i < sizey + CURSOR_HEIGHT; i++) {
- memcpy(FrameBuffer+off, BackBuffer+off, stride);
- off += FixedInfo.line_length;
- }
- }
-}
-
-void glutWarpPointer(int x, int y)
-{
- if(x < 0)
- x = 0;
- if(x >= VarInfo.xres)
- x = VarInfo.xres - 1;
- MouseX = x;
-
- if(y < 0)
- y = 0;
- if(y >= VarInfo.yres)
- y = VarInfo.yres - 1;
- MouseY = y;
-
- EraseCursor();
- SwapCursor();
-}
-
-void glutSetCursor(int cursor)
-{
- if(cursor == GLUT_CURSOR_FULL_CROSSHAIR)
- cursor = GLUT_CURSOR_CROSSHAIR;
-
- EraseCursor();
- MouseVisible = 1;
- CurrentCursor = cursor;
- SwapCursor();
-}
diff --git a/src/glut/fbdev/cursors.h b/src/glut/fbdev/cursors.h
deleted file mode 100644
index b1f8c3cde4..0000000000
--- a/src/glut/fbdev/cursors.h
+++ /dev/null
@@ -1,7099 +0,0 @@
-/* These cursor images were generated from png files
- included in xorg.
-
- They are in the format RGBA and are each 32x32
- the RGB components have already been multiplied
- by the alpha, and the alpha is already inverted */
-
-#define CURSOR_WIDTH 32
-#define CURSOR_HEIGHT 32
-
-int CursorsXOffset[20]={16, 4, 9, 16, 7, 16, 10, 8, 8, 11,
- 16, 13, 12, 20, 3, 28, 3, 28, 28, 3};
-int CursorsYOffset[20]={4, 4, 2, 20, 28, 14, 0, 8, 14, 11,
- 14, 12, 3, 28, 18, 12, 3, 3, 26, 26};
-
-const unsigned char Cursors[][CURSOR_WIDTH * CURSOR_HEIGHT * 4] = {
- {
- 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 210,
- 0, 0, 0, 76, 0, 0, 0, 100, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 210, 2, 2, 2, 73,
- 127, 127, 127, 64, 0, 0, 0, 64, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 210, 2, 2, 2, 73, 127, 127, 127, 64,
- 190, 190, 190, 64, 0, 0, 0, 64, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 254, 0, 0, 0, 251,
- 0, 0, 0, 247, 0, 0, 0, 248, 0, 0, 0, 252,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 210,
- 2, 2, 2, 73, 127, 127, 127, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 0, 0, 0, 64, 0, 0, 0, 255,
- 0, 0, 0, 254, 0, 0, 0, 248, 0, 0, 0, 236,
- 0, 0, 0, 227, 0, 0, 0, 229, 0, 0, 0, 240,
- 0, 0, 0, 252, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 210, 2, 2, 2, 73,
- 127, 127, 127, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 0, 0, 0, 64, 0, 0, 0, 254,
- 0, 0, 0, 248, 0, 0, 0, 234, 0, 0, 0, 221,
- 0, 0, 0, 217, 0, 0, 0, 218, 0, 0, 0, 228,
- 0, 0, 0, 248, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 210, 2, 2, 2, 73, 127, 127, 127, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 0, 0, 0, 64, 0, 0, 0, 248,
- 0, 0, 0, 234, 0, 0, 0, 221, 0, 0, 0, 216,
- 0, 0, 0, 216, 0, 0, 0, 216, 0, 0, 0, 225,
- 0, 0, 0, 246, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 210,
- 2, 2, 2, 73, 127, 127, 127, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 0, 0, 0, 62, 0, 0, 0, 234,
- 0, 0, 0, 221, 0, 0, 0, 216, 0, 0, 0, 215,
- 0, 0, 0, 215, 0, 0, 0, 216, 0, 0, 0, 225,
- 0, 0, 0, 245, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 210, 2, 2, 2, 73,
- 127, 127, 127, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 189, 189, 189, 62, 0, 0, 0, 59, 0, 0, 0, 221,
- 0, 0, 0, 216, 0, 0, 0, 215, 0, 0, 0, 215,
- 0, 0, 0, 215, 0, 0, 0, 216, 0, 0, 0, 225,
- 0, 0, 0, 245, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 210, 2, 2, 2, 73, 127, 127, 127, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 189, 189, 189, 62,
- 189, 189, 189, 59, 0, 0, 0, 55, 0, 0, 0, 216,
- 0, 0, 0, 215, 0, 0, 0, 215, 0, 0, 0, 215,
- 0, 0, 0, 215, 0, 0, 0, 216, 0, 0, 0, 225,
- 0, 0, 0, 245, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 210,
- 2, 2, 2, 73, 127, 127, 127, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 189, 189, 189, 62, 189, 189, 189, 59,
- 189, 189, 189, 55, 0, 0, 0, 54, 0, 0, 0, 215,
- 0, 0, 0, 215, 0, 0, 0, 215, 0, 0, 0, 215,
- 0, 0, 0, 215, 0, 0, 0, 216, 0, 0, 0, 225,
- 0, 0, 0, 245, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 210, 2, 2, 2, 73,
- 127, 127, 127, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 189, 189, 189, 62, 189, 189, 189, 59, 189, 189, 189, 55,
- 190, 190, 190, 54, 0, 0, 0, 54, 0, 0, 0, 215,
- 0, 0, 0, 215, 0, 0, 0, 215, 0, 0, 0, 215,
- 0, 0, 0, 215, 0, 0, 0, 216, 0, 0, 0, 225,
- 0, 0, 0, 245, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 222, 2, 2, 2, 73, 127, 127, 127, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 189, 189, 189, 62,
- 189, 189, 189, 59, 189, 189, 189, 55, 190, 190, 190, 54,
- 190, 190, 190, 54, 0, 0, 0, 54, 0, 0, 0, 215,
- 0, 0, 0, 215, 0, 0, 0, 215, 0, 0, 0, 215,
- 0, 0, 0, 215, 0, 0, 0, 216, 0, 0, 0, 225,
- 0, 0, 0, 245, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 189, 26, 26, 26, 64, 130, 130, 130, 64,
- 187, 187, 187, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 189, 189, 189, 62, 189, 189, 189, 59,
- 189, 189, 189, 55, 190, 190, 190, 54, 190, 190, 190, 54,
- 190, 190, 190, 54, 0, 0, 0, 54, 0, 0, 0, 215,
- 0, 0, 0, 215, 0, 0, 0, 215, 0, 0, 0, 215,
- 0, 0, 0, 215, 0, 0, 0, 216, 0, 0, 0, 225,
- 0, 0, 0, 245, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 252, 0, 0, 0, 174, 0, 0, 0, 94,
- 23, 23, 23, 64, 104, 104, 104, 64, 178, 178, 178, 64,
- 189, 189, 189, 62, 189, 189, 189, 59, 189, 189, 189, 55,
- 190, 190, 190, 54, 190, 190, 190, 54, 190, 190, 190, 54,
- 190, 190, 190, 54, 0, 0, 0, 54, 0, 0, 0, 215,
- 0, 0, 0, 215, 0, 0, 0, 215, 0, 0, 0, 215,
- 0, 0, 0, 215, 0, 0, 0, 216, 0, 0, 0, 225,
- 0, 0, 0, 245, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 201, 0, 0, 0, 97, 56, 56, 56, 62,
- 189, 189, 189, 59, 189, 189, 189, 55, 190, 190, 190, 54,
- 190, 190, 190, 54, 190, 190, 190, 54, 190, 190, 190, 54,
- 190, 190, 190, 54, 0, 0, 0, 54, 0, 0, 0, 215,
- 0, 0, 0, 215, 0, 0, 0, 215, 0, 0, 0, 215,
- 0, 0, 0, 215, 0, 0, 0, 216, 0, 0, 0, 225,
- 0, 0, 0, 245, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 91, 133, 133, 133, 61,
- 189, 189, 189, 56, 190, 190, 190, 54, 148, 148, 148, 54,
- 127, 127, 127, 54, 186, 186, 186, 54, 190, 190, 190, 54,
- 190, 190, 190, 54, 0, 0, 0, 54, 0, 0, 0, 215,
- 0, 0, 0, 215, 0, 0, 0, 215, 0, 0, 0, 215,
- 0, 0, 0, 215, 0, 0, 0, 216, 0, 0, 0, 225,
- 0, 0, 0, 245, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 198, 26, 26, 26, 63, 189, 189, 189, 60,
- 189, 189, 189, 55, 190, 190, 190, 54, 56, 56, 56, 54,
- 0, 0, 0, 67, 20, 20, 20, 54, 101, 101, 101, 54,
- 175, 175, 175, 54, 0, 0, 0, 54, 0, 0, 0, 215,
- 0, 0, 0, 215, 0, 0, 0, 215, 0, 0, 0, 215,
- 0, 0, 0, 215, 0, 0, 0, 216, 0, 0, 0, 225,
- 0, 0, 0, 245, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 118, 107, 107, 107, 64, 189, 189, 189, 62,
- 189, 189, 189, 57, 165, 165, 165, 55, 2, 2, 2, 59,
- 0, 0, 0, 203, 0, 0, 0, 172, 0, 0, 0, 105,
- 5, 5, 5, 56, 0, 0, 0, 72, 0, 0, 0, 215,
- 0, 0, 0, 215, 0, 0, 0, 215, 0, 0, 0, 215,
- 0, 0, 0, 215, 0, 0, 0, 216, 0, 0, 0, 225,
- 0, 0, 0, 245, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 225,
- 8, 8, 8, 64, 178, 178, 178, 64, 189, 189, 189, 63,
- 190, 190, 190, 61, 88, 88, 88, 59, 0, 0, 0, 119,
- 0, 0, 0, 218, 0, 0, 0, 216, 0, 0, 0, 215,
- 0, 0, 0, 202, 0, 0, 0, 207, 0, 0, 0, 215,
- 0, 0, 0, 215, 0, 0, 0, 215, 0, 0, 0, 215,
- 0, 0, 0, 215, 0, 0, 0, 216, 0, 0, 0, 225,
- 0, 0, 0, 245, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 144,
- 80, 80, 80, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 184, 184, 184, 64, 14, 14, 14, 63, 0, 0, 0, 202,
- 0, 0, 0, 222, 0, 0, 0, 216, 0, 0, 0, 215,
- 0, 0, 0, 215, 0, 0, 0, 215, 0, 0, 0, 215,
- 0, 0, 0, 215, 0, 0, 0, 215, 0, 0, 0, 215,
- 0, 0, 0, 215, 0, 0, 0, 216, 0, 0, 0, 225,
- 0, 0, 0, 245, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 243, 0, 0, 0, 73,
- 160, 160, 160, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 122, 122, 122, 64, 0, 0, 0, 102, 0, 0, 0, 237,
- 0, 0, 0, 220, 0, 0, 0, 216, 0, 0, 0, 215,
- 0, 0, 0, 215, 0, 0, 0, 215, 0, 0, 0, 215,
- 0, 0, 0, 216, 0, 0, 0, 216, 0, 0, 0, 216,
- 0, 0, 0, 216, 0, 0, 0, 216, 0, 0, 0, 225,
- 0, 0, 0, 246, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 207, 23, 23, 23, 64,
- 169, 169, 169, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 41, 41, 41, 64, 0, 0, 0, 178, 0, 0, 0, 229,
- 0, 0, 0, 217, 0, 0, 0, 216, 0, 0, 0, 215,
- 0, 0, 0, 215, 0, 0, 0, 215, 0, 0, 0, 216,
- 0, 0, 0, 218, 0, 0, 0, 219, 0, 0, 0, 217,
- 0, 0, 0, 216, 0, 0, 0, 217, 0, 0, 0, 228,
- 0, 0, 0, 247, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 249, 0, 0, 0, 135,
- 2, 2, 2, 70, 62, 62, 62, 64, 110, 110, 110, 64,
- 0, 0, 0, 78, 0, 0, 0, 234, 0, 0, 0, 222,
- 0, 0, 0, 216, 0, 0, 0, 215, 0, 0, 0, 215,
- 0, 0, 0, 215, 0, 0, 0, 216, 0, 0, 0, 217,
- 0, 0, 0, 227, 0, 0, 0, 235, 0, 0, 0, 230,
- 0, 0, 0, 225, 0, 0, 0, 226, 0, 0, 0, 239,
- 0, 0, 0, 252, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 237, 0, 0, 0, 165, 0, 0, 0, 111,
- 0, 0, 0, 179, 0, 0, 0, 232, 0, 0, 0, 218,
- 0, 0, 0, 216, 0, 0, 0, 215, 0, 0, 0, 215,
- 0, 0, 0, 215, 0, 0, 0, 216, 0, 0, 0, 221,
- 0, 0, 0, 239, 0, 0, 0, 250, 0, 0, 0, 249,
- 0, 0, 0, 245, 0, 0, 0, 246, 0, 0, 0, 251,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 254,
- 0, 0, 0, 245, 0, 0, 0, 224, 0, 0, 0, 216,
- 0, 0, 0, 215, 0, 0, 0, 215, 0, 0, 0, 215,
- 0, 0, 0, 216, 0, 0, 0, 217, 0, 0, 0, 228,
- 0, 0, 0, 247, 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 254,
- 0, 0, 0, 242, 0, 0, 0, 222, 0, 0, 0, 216,
- 0, 0, 0, 215, 0, 0, 0, 215, 0, 0, 0, 215,
- 0, 0, 0, 216, 0, 0, 0, 219, 0, 0, 0, 236,
- 0, 0, 0, 252, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 254,
- 0, 0, 0, 246, 0, 0, 0, 228, 0, 0, 0, 218,
- 0, 0, 0, 216, 0, 0, 0, 216, 0, 0, 0, 216,
- 0, 0, 0, 216, 0, 0, 0, 225, 0, 0, 0, 244,
- 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 252, 0, 0, 0, 243, 0, 0, 0, 231,
- 0, 0, 0, 223, 0, 0, 0, 219, 0, 0, 0, 217,
- 0, 0, 0, 220, 0, 0, 0, 234, 0, 0, 0, 250,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 253, 0, 0, 0, 249,
- 0, 0, 0, 242, 0, 0, 0, 235, 0, 0, 0, 231,
- 0, 0, 0, 235, 0, 0, 0, 247, 0, 0, 0, 254,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255,
- },{
- 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 100,
- 0, 0, 0, 76, 0, 0, 0, 210, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 64,
- 127, 127, 127, 64, 2, 2, 2, 73, 0, 0, 0, 210,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 64,
- 190, 190, 190, 64, 127, 127, 127, 64, 2, 2, 2, 73,
- 0, 0, 0, 210, 0, 0, 0, 255, 0, 0, 0, 252,
- 0, 0, 0, 248, 0, 0, 0, 248, 0, 0, 0, 251,
- 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 127, 127, 127, 64,
- 2, 2, 2, 73, 0, 0, 0, 208, 0, 0, 0, 241,
- 0, 0, 0, 230, 0, 0, 0, 228, 0, 0, 0, 237,
- 0, 0, 0, 249, 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 127, 127, 127, 64, 2, 2, 2, 71, 0, 0, 0, 189,
- 0, 0, 0, 219, 0, 0, 0, 218, 0, 0, 0, 222,
- 0, 0, 0, 235, 0, 0, 0, 249, 0, 0, 0, 254,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 127, 127, 127, 62, 2, 2, 2, 64,
- 0, 0, 0, 179, 0, 0, 0, 217, 0, 0, 0, 217,
- 0, 0, 0, 222, 0, 0, 0, 235, 0, 0, 0, 249,
- 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 189, 189, 189, 62, 127, 127, 127, 57,
- 3, 3, 3, 62, 0, 0, 0, 179, 0, 0, 0, 217,
- 0, 0, 0, 217, 0, 0, 0, 222, 0, 0, 0, 235,
- 0, 0, 0, 249, 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 189, 189, 189, 62, 189, 189, 189, 57,
- 127, 127, 127, 54, 3, 3, 3, 62, 0, 0, 0, 179,
- 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 222,
- 0, 0, 0, 235, 0, 0, 0, 249, 0, 0, 0, 254,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 189, 189, 189, 62, 189, 189, 189, 57,
- 190, 190, 190, 54, 127, 127, 127, 54, 3, 3, 3, 62,
- 0, 0, 0, 179, 0, 0, 0, 217, 0, 0, 0, 217,
- 0, 0, 0, 222, 0, 0, 0, 235, 0, 0, 0, 249,
- 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 189, 189, 189, 62, 189, 189, 189, 57,
- 190, 190, 190, 54, 190, 190, 190, 54, 127, 127, 127, 54,
- 3, 3, 3, 62, 0, 0, 0, 179, 0, 0, 0, 217,
- 0, 0, 0, 217, 0, 0, 0, 222, 0, 0, 0, 235,
- 0, 0, 0, 249, 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 189, 189, 189, 62, 189, 189, 189, 57,
- 190, 190, 190, 54, 190, 190, 190, 54, 190, 190, 190, 54,
- 127, 127, 127, 54, 3, 3, 3, 62, 0, 0, 0, 179,
- 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 222,
- 0, 0, 0, 235, 0, 0, 0, 249, 0, 0, 0, 254,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 189, 189, 189, 62, 189, 189, 189, 57,
- 190, 190, 190, 54, 190, 190, 190, 54, 190, 190, 190, 54,
- 190, 190, 190, 54, 127, 127, 127, 54, 3, 3, 3, 62,
- 0, 0, 0, 189, 0, 0, 0, 217, 0, 0, 0, 217,
- 0, 0, 0, 222, 0, 0, 0, 235, 0, 0, 0, 249,
- 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 189, 189, 189, 62, 189, 189, 189, 57,
- 190, 190, 190, 54, 190, 190, 190, 54, 190, 190, 190, 54,
- 186, 186, 186, 54, 130, 130, 130, 54, 26, 26, 26, 54,
- 0, 0, 0, 161, 0, 0, 0, 217, 0, 0, 0, 217,
- 0, 0, 0, 217, 0, 0, 0, 222, 0, 0, 0, 235,
- 0, 0, 0, 249, 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 189, 189, 189, 62, 189, 189, 189, 57,
- 190, 190, 190, 54, 178, 178, 178, 54, 103, 103, 103, 54,
- 23, 23, 23, 54, 0, 0, 0, 79, 0, 0, 0, 148,
- 0, 0, 0, 214, 0, 0, 0, 217, 0, 0, 0, 217,
- 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 222,
- 0, 0, 0, 235, 0, 0, 0, 249, 0, 0, 0, 254,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 189, 189, 189, 62, 189, 189, 189, 57,
- 190, 190, 190, 54, 56, 56, 56, 54, 0, 0, 0, 82,
- 0, 0, 0, 171, 0, 0, 0, 217, 0, 0, 0, 217,
- 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 217,
- 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 217,
- 0, 0, 0, 222, 0, 0, 0, 235, 0, 0, 0, 250,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 187, 187, 187, 64,
- 127, 127, 127, 64, 147, 147, 147, 62, 189, 189, 189, 57,
- 190, 190, 190, 54, 133, 133, 133, 54, 0, 0, 0, 77,
- 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 217,
- 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 217,
- 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 217,
- 0, 0, 0, 218, 0, 0, 0, 224, 0, 0, 0, 243,
- 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 64,
- 175, 175, 175, 64, 100, 100, 100, 64, 20, 20, 20, 64,
- 0, 0, 0, 79, 56, 56, 56, 62, 189, 189, 189, 57,
- 190, 190, 190, 54, 190, 190, 190, 54, 26, 26, 26, 54,
- 0, 0, 0, 169, 0, 0, 0, 217, 0, 0, 0, 217,
- 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 217,
- 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 217,
- 0, 0, 0, 217, 0, 0, 0, 222, 0, 0, 0, 241,
- 0, 0, 0, 253, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 85,
- 5, 5, 5, 67, 0, 0, 0, 124, 0, 0, 0, 204,
- 0, 0, 0, 240, 2, 2, 2, 68, 165, 165, 165, 57,
- 190, 190, 190, 54, 190, 190, 190, 54, 106, 106, 106, 54,
- 0, 0, 0, 100, 0, 0, 0, 217, 0, 0, 0, 217,
- 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 217,
- 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 218,
- 0, 0, 0, 221, 0, 0, 0, 230, 0, 0, 0, 246,
- 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 246,
- 0, 0, 0, 240, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 132, 88, 88, 88, 57,
- 190, 190, 190, 54, 190, 190, 190, 54, 178, 178, 178, 54,
- 8, 8, 8, 54, 0, 0, 0, 192, 0, 0, 0, 217,
- 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 217,
- 0, 0, 0, 217, 0, 0, 0, 219, 0, 0, 0, 227,
- 0, 0, 0, 236, 0, 0, 0, 245, 0, 0, 0, 253,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 209, 14, 14, 14, 57,
- 184, 184, 184, 54, 190, 190, 190, 54, 190, 190, 190, 54,
- 80, 80, 80, 54, 0, 0, 0, 123, 0, 0, 0, 217,
- 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 217,
- 0, 0, 0, 217, 0, 0, 0, 223, 0, 0, 0, 239,
- 0, 0, 0, 251, 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 246, 0, 0, 0, 92,
- 121, 121, 121, 54, 190, 190, 190, 54, 190, 190, 190, 54,
- 160, 160, 160, 54, 0, 0, 0, 62, 0, 0, 0, 207,
- 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 217,
- 0, 0, 0, 217, 0, 0, 0, 221, 0, 0, 0, 238,
- 0, 0, 0, 252, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 248, 0, 0, 0, 166,
- 41, 41, 41, 55, 190, 190, 190, 54, 189, 189, 189, 55,
- 169, 169, 169, 55, 23, 23, 23, 55, 0, 0, 0, 176,
- 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 217,
- 0, 0, 0, 217, 0, 0, 0, 218, 0, 0, 0, 230,
- 0, 0, 0, 248, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 234,
- 0, 0, 0, 71, 109, 109, 109, 57, 62, 62, 62, 58,
- 2, 2, 2, 65, 0, 0, 0, 122, 0, 0, 0, 214,
- 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 217,
- 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 223,
- 0, 0, 0, 241, 0, 0, 0, 253, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 251,
- 0, 0, 0, 178, 0, 0, 0, 109, 0, 0, 0, 163,
- 0, 0, 0, 233, 0, 0, 0, 240, 0, 0, 0, 222,
- 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 217,
- 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 219,
- 0, 0, 0, 233, 0, 0, 0, 250, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 247, 0, 0, 0, 229,
- 0, 0, 0, 218, 0, 0, 0, 217, 0, 0, 0, 217,
- 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 217,
- 0, 0, 0, 226, 0, 0, 0, 245, 0, 0, 0, 254,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 237,
- 0, 0, 0, 221, 0, 0, 0, 217, 0, 0, 0, 217,
- 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 217,
- 0, 0, 0, 223, 0, 0, 0, 243, 0, 0, 0, 254,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 254, 0, 0, 0, 245,
- 0, 0, 0, 226, 0, 0, 0, 218, 0, 0, 0, 217,
- 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 219,
- 0, 0, 0, 229, 0, 0, 0, 246, 0, 0, 0, 254,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 251,
- 0, 0, 0, 235, 0, 0, 0, 222, 0, 0, 0, 219,
- 0, 0, 0, 220, 0, 0, 0, 224, 0, 0, 0, 232,
- 0, 0, 0, 243, 0, 0, 0, 252, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 254,
- 0, 0, 0, 247, 0, 0, 0, 236, 0, 0, 0, 232,
- 0, 0, 0, 236, 0, 0, 0, 243, 0, 0, 0, 249,
- 0, 0, 0, 253, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255,
- },{
- 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 13, 14, 20, 170, 45, 49, 63, 26,
- 50, 52, 63, 26, 63, 67, 78, 80, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 17, 18, 21, 197, 36, 36, 41, 108, 53, 53, 63, 0,
- 58, 57, 69, 0, 76, 81, 96, 28, 62, 65, 76, 129,
- 16, 17, 19, 233, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 4, 4, 17, 55, 94, 94, 99, 0, 210, 213, 218, 0,
- 206, 209, 214, 0, 117, 118, 124, 0, 23, 24, 36, 0,
- 31, 33, 38, 210, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 13, 12, 22, 55, 100, 100, 103, 0, 202, 204, 208, 0,
- 193, 195, 200, 0, 122, 123, 128, 0, 29, 30, 39, 0,
- 29, 32, 36, 210, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 14, 14, 25, 55, 101, 101, 104, 0, 201, 203, 208, 0,
- 193, 195, 200, 0, 121, 121, 127, 0, 32, 32, 43, 0,
- 28, 31, 37, 210, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 17, 16, 27, 55, 101, 101, 104, 0, 200, 203, 207, 0,
- 193, 196, 201, 0, 119, 120, 125, 0, 33, 33, 44, 0,
- 26, 29, 36, 187, 0, 0, 0, 189, 0, 0, 0, 189,
- 0, 0, 0, 203, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 17, 16, 27, 55, 101, 101, 104, 0, 199, 201, 206, 0,
- 194, 196, 200, 0, 118, 119, 124, 0, 36, 36, 46, 0,
- 24, 27, 34, 173, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 187, 0, 0, 0, 220, 0, 0, 0, 248,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 18, 17, 28, 55, 102, 103, 106, 0, 202, 205, 210, 0,
- 198, 200, 205, 0, 117, 118, 123, 0, 40, 40, 51, 0,
- 7, 7, 9, 169, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 240,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 20, 19, 29, 55, 104, 104, 107, 0, 204, 206, 212, 0,
- 201, 203, 208, 0, 117, 117, 123, 0, 34, 35, 47, 0,
- 13, 15, 19, 160, 12, 13, 17, 164, 13, 14, 17, 164,
- 13, 14, 17, 164, 14, 15, 18, 164, 12, 13, 15, 224,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 2, 2, 6, 197, 22, 22, 30, 20, 33, 33, 39, 20,
- 19, 20, 25, 163, 0, 0, 0, 255, 0, 0, 0, 255,
- 23, 22, 33, 55, 103, 103, 106, 0, 205, 207, 212, 0,
- 202, 204, 210, 0, 114, 114, 121, 0, 27, 27, 36, 0,
- 41, 45, 56, 0, 43, 46, 58, 0, 38, 41, 54, 0,
- 52, 54, 65, 0, 49, 51, 64, 0, 51, 54, 66, 45,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 9, 9, 9, 28, 79, 80, 85, 0, 82, 82, 89, 0,
- 52, 54, 63, 77, 25, 28, 34, 151, 0, 0, 0, 255,
- 23, 22, 33, 55, 103, 103, 106, 0, 207, 209, 213, 0,
- 205, 207, 212, 0, 112, 113, 119, 0, 33, 32, 42, 0,
- 72, 73, 78, 0, 36, 36, 47, 0, 30, 30, 41, 0,
- 74, 75, 81, 0, 45, 44, 52, 0, 39, 40, 50, 22,
- 41, 42, 49, 126, 25, 26, 30, 211, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 26, 26, 26, 25, 211, 213, 218, 0, 214, 217, 221, 0,
- 67, 67, 77, 0, 21, 20, 26, 50, 5, 5, 7, 246,
- 25, 24, 32, 50, 103, 103, 106, 0, 209, 211, 215, 0,
- 208, 210, 214, 0, 111, 112, 118, 0, 60, 60, 70, 0,
- 209, 210, 214, 0, 98, 99, 106, 0, 77, 76, 83, 0,
- 204, 206, 210, 0, 67, 68, 74, 0, 34, 34, 44, 0,
- 2, 2, 20, 0, 58, 61, 70, 143, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 2, 2, 2, 104, 73, 74, 78, 0, 216, 218, 222, 0,
- 191, 193, 199, 0, 149, 150, 156, 3, 23, 23, 36, 11,
- 33, 32, 40, 0, 97, 97, 101, 0, 209, 211, 216, 0,
- 208, 210, 214, 0, 113, 113, 119, 0, 57, 56, 65, 0,
- 204, 205, 209, 0, 99, 99, 105, 0, 78, 77, 84, 0,
- 198, 200, 205, 0, 70, 69, 77, 0, 87, 86, 93, 0,
- 167, 168, 173, 0, 73, 74, 83, 2, 45, 47, 54, 101,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 2, 218, 27, 27, 31, 61, 130, 131, 135, 0,
- 197, 198, 203, 0, 183, 184, 190, 0, 90, 90, 100, 0,
- 38, 37, 47, 0, 103, 103, 108, 0, 210, 212, 216, 0,
- 210, 212, 217, 0, 159, 160, 164, 0, 108, 109, 114, 0,
- 209, 211, 215, 0, 148, 149, 153, 0, 122, 122, 127, 0,
- 202, 204, 209, 0, 78, 78, 87, 0, 112, 112, 118, 0,
- 201, 203, 208, 0, 68, 67, 74, 0, 39, 40, 46, 89,
- 0, 0, 0, 252, 0, 0, 0, 252, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 2, 2, 3, 198, 17, 16, 26, 0,
- 163, 165, 169, 0, 203, 205, 209, 0, 222, 224, 228, 0,
- 62, 61, 70, 0, 107, 107, 114, 0, 209, 211, 216, 0,
- 225, 227, 231, 0, 213, 215, 220, 0, 209, 212, 216, 0,
- 214, 216, 220, 0, 212, 214, 218, 0, 205, 208, 213, 0,
- 210, 212, 217, 0, 66, 67, 74, 0, 107, 108, 113, 0,
- 202, 204, 208, 0, 68, 68, 75, 0, 38, 38, 46, 63,
- 0, 0, 0, 178, 0, 0, 0, 190, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 3, 3, 4, 209, 21, 20, 31, 0,
- 170, 172, 176, 0, 209, 211, 216, 0, 210, 212, 216, 0,
- 55, 54, 63, 0, 107, 108, 114, 0, 209, 212, 216, 0,
- 230, 232, 236, 0, 239, 242, 245, 0, 236, 238, 242, 0,
- 234, 237, 241, 0, 229, 232, 237, 0, 219, 221, 227, 0,
- 209, 211, 216, 0, 194, 197, 202, 0, 204, 206, 211, 0,
- 205, 207, 211, 0, 67, 67, 74, 0, 36, 38, 45, 63,
- 0, 0, 0, 178, 0, 0, 0, 184, 0, 0, 0, 219,
- 0, 0, 0, 242, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 3, 3, 3, 226, 5, 5, 14, 93,
- 110, 111, 119, 22, 177, 179, 183, 0, 215, 217, 221, 0,
- 111, 111, 120, 0, 155, 156, 162, 0, 213, 215, 220, 0,
- 228, 231, 234, 0, 233, 236, 240, 0, 232, 235, 240, 0,
- 229, 231, 236, 0, 225, 227, 231, 0, 217, 220, 225, 0,
- 211, 213, 218, 0, 203, 205, 211, 0, 201, 203, 208, 0,
- 214, 216, 221, 0, 66, 66, 72, 0, 36, 38, 45, 63,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 221, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 10, 9, 20, 65, 87, 87, 93, 0, 229, 231, 234, 0,
- 210, 212, 216, 0, 205, 207, 212, 0, 213, 215, 221, 0,
- 221, 224, 229, 0, 226, 229, 234, 0, 226, 229, 234, 0,
- 221, 223, 228, 0, 216, 219, 224, 0, 213, 215, 221, 0,
- 209, 211, 216, 0, 203, 206, 212, 0, 201, 203, 208, 0,
- 214, 217, 221, 0, 63, 62, 68, 0, 36, 37, 44, 63,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 179, 0, 0, 0, 209, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 247, 14, 14, 17, 170, 36, 37, 48, 0,
- 204, 206, 209, 0, 212, 214, 220, 0, 212, 214, 219, 0,
- 215, 218, 224, 0, 219, 222, 227, 0, 218, 221, 227, 0,
- 215, 217, 223, 0, 211, 213, 219, 0, 209, 211, 217, 0,
- 206, 208, 215, 0, 206, 209, 215, 0, 212, 214, 219, 0,
- 217, 219, 224, 0, 53, 52, 59, 0, 34, 36, 44, 63,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 204, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 205, 28, 27, 35, 0,
- 198, 199, 203, 0, 211, 214, 219, 0, 207, 210, 215, 0,
- 208, 210, 216, 0, 209, 212, 218, 0, 210, 212, 217, 0,
- 206, 209, 215, 0, 204, 207, 213, 0, 200, 203, 209, 0,
- 198, 201, 206, 0, 206, 209, 215, 0, 201, 203, 207, 0,
- 152, 154, 160, 0, 41, 43, 51, 58, 14, 14, 18, 124,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 204, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 1, 205, 5, 5, 18, 0,
- 207, 209, 213, 0, 221, 223, 227, 0, 205, 207, 212, 0,
- 200, 203, 209, 0, 203, 206, 212, 0, 202, 205, 211, 0,
- 200, 202, 208, 0, 197, 199, 205, 0, 195, 198, 203, 0,
- 193, 195, 200, 0, 196, 198, 203, 0, 154, 155, 160, 0,
- 36, 36, 42, 0, 43, 49, 60, 108, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 204, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 253, 0, 0, 1, 244,
- 32, 31, 42, 14, 115, 115, 120, 0, 195, 197, 201, 0,
- 195, 197, 202, 0, 196, 199, 204, 0, 196, 199, 205, 0,
- 196, 198, 203, 0, 194, 196, 201, 0, 191, 194, 199, 0,
- 191, 193, 197, 0, 191, 193, 198, 0, 156, 157, 162, 0,
- 32, 31, 38, 0, 44, 48, 59, 108, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 204, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 25, 25, 36, 16, 109, 110, 114, 0, 198, 200, 205, 0,
- 194, 196, 201, 0, 195, 197, 203, 0, 195, 198, 203, 0,
- 194, 197, 202, 0, 194, 196, 200, 0, 193, 195, 199, 0,
- 191, 193, 198, 0, 191, 193, 197, 0, 156, 158, 163, 0,
- 28, 27, 34, 0, 29, 32, 39, 126, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 204, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 9, 9, 21, 39, 81, 82, 86, 1, 176, 178, 182, 22,
- 170, 171, 175, 21, 170, 172, 176, 15, 171, 173, 176, 15,
- 170, 171, 175, 15, 169, 171, 175, 15, 168, 170, 174, 16,
- 168, 170, 173, 22, 168, 170, 174, 22, 136, 138, 141, 15,
- 18, 18, 23, 0, 25, 27, 33, 134, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 204, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 248, 0, 0, 0, 77, 0, 0, 0, 52,
- 0, 0, 0, 49, 0, 0, 0, 36, 0, 0, 0, 36,
- 0, 0, 0, 36, 0, 0, 0, 36, 0, 0, 0, 36,
- 0, 0, 0, 38, 0, 0, 0, 38, 0, 0, 0, 36,
- 0, 0, 0, 109, 1, 1, 1, 176, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 200, 0, 0, 0, 229, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 241, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 223, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 254, 0, 0, 0, 249, 0, 0, 0, 184,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 223, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 184,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 231, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 191,
- 0, 0, 0, 178, 0, 0, 0, 183, 0, 0, 0, 183,
- 0, 0, 0, 183, 0, 0, 0, 183, 0, 0, 0, 183,
- 0, 0, 0, 183, 0, 0, 0, 183, 0, 0, 0, 185,
- 0, 0, 0, 185, 0, 0, 0, 182, 0, 0, 0, 178,
- 0, 0, 0, 235, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 251,
- 0, 0, 0, 200, 0, 0, 0, 193, 0, 0, 0, 193,
- 0, 0, 0, 193, 0, 0, 0, 193, 0, 0, 0, 193,
- 0, 0, 0, 193, 0, 0, 0, 193, 0, 0, 0, 194,
- 0, 0, 0, 194, 0, 0, 0, 193, 0, 0, 0, 221,
- 0, 0, 0, 253, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255,
- },{
- 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 254,
- 7, 7, 7, 246, 14, 14, 14, 239, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 254, 45, 45, 45, 164,
- 51, 51, 51, 83, 47, 47, 47, 67, 53, 53, 53, 61,
- 45, 45, 45, 54, 50, 50, 50, 64, 55, 55, 55, 135,
- 24, 24, 24, 223, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 8, 8, 8, 243, 39, 39, 39, 111, 7, 7, 7, 50,
- 0, 0, 0, 50, 0, 0, 0, 50, 0, 0, 0, 50,
- 0, 0, 0, 50, 0, 0, 0, 50, 1, 1, 1, 50,
- 37, 37, 37, 61, 48, 48, 48, 177, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 59, 59, 59, 100, 3, 3, 3, 50, 2, 2, 2, 50,
- 0, 0, 0, 50, 0, 0, 0, 50, 0, 0, 0, 50,
- 0, 0, 0, 50, 0, 0, 0, 50, 1, 1, 1, 50,
- 4, 4, 4, 50, 44, 44, 44, 56, 26, 26, 26, 226,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 6, 6, 6, 248,
- 35, 35, 35, 54, 1, 1, 1, 50, 2, 2, 2, 50,
- 0, 0, 0, 50, 0, 0, 0, 50, 0, 0, 0, 50,
- 0, 0, 0, 50, 0, 0, 0, 50, 0, 0, 0, 50,
- 1, 1, 1, 50, 31, 31, 31, 50, 44, 44, 44, 205,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 2, 2, 2, 252,
- 38, 38, 38, 55, 16, 16, 16, 50, 2, 2, 2, 50,
- 1, 1, 1, 50, 1, 1, 1, 50, 0, 0, 0, 50,
- 0, 0, 0, 50, 1, 1, 1, 50, 1, 1, 1, 48,
- 5, 5, 5, 44, 30, 30, 30, 42, 35, 35, 35, 171,
- 0, 0, 0, 208, 0, 0, 0, 210, 0, 0, 0, 243,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 254,
- 77, 77, 77, 56, 39, 39, 39, 51, 2, 2, 2, 50,
- 14, 14, 14, 50, 12, 12, 12, 50, 2, 2, 2, 50,
- 3, 3, 3, 50, 13, 13, 13, 45, 2, 2, 2, 36,
- 4, 4, 4, 35, 65, 65, 65, 36, 39, 39, 39, 134,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 203, 0, 0, 0, 249, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 101, 101, 101, 58, 45, 45, 45, 66, 98, 98, 98, 50,
- 161, 161, 161, 50, 155, 155, 155, 50, 16, 16, 16, 50,
- 112, 112, 112, 44, 161, 161, 161, 35, 131, 131, 131, 35,
- 14, 14, 14, 35, 108, 108, 108, 54, 7, 7, 7, 172,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 191, 0, 0, 0, 253,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 84, 84, 84, 117, 14, 14, 14, 50, 149, 149, 149, 50,
- 163, 163, 163, 50, 148, 148, 148, 50, 41, 41, 41, 49,
- 106, 106, 106, 35, 163, 163, 163, 35, 163, 163, 163, 35,
- 33, 33, 33, 35, 84, 84, 84, 63, 15, 15, 15, 166,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 238,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 72, 72, 72, 70, 5, 5, 5, 50, 65, 65, 65, 50,
- 108, 108, 108, 50, 58, 58, 58, 50, 125, 125, 125, 50,
- 79, 79, 79, 35, 97, 97, 97, 35, 80, 80, 80, 35,
- 6, 6, 6, 35, 36, 36, 36, 40, 27, 27, 27, 153,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 238,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 14, 14, 14, 239, 57, 57, 57, 141, 71, 71, 71, 102,
- 61, 61, 61, 87, 12, 12, 12, 50, 154, 154, 154, 52,
- 94, 94, 94, 35, 38, 38, 38, 41, 70, 70, 70, 87,
- 69, 69, 69, 54, 30, 30, 30, 147, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 233,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 100, 100, 100, 99,
- 100, 100, 100, 102, 48, 48, 48, 57, 23, 23, 23, 50,
- 42, 42, 42, 39, 92, 92, 92, 50, 50, 50, 50, 129,
- 49, 49, 49, 135, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 186, 0, 0, 0, 245,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 21, 21, 21, 227,
- 33, 33, 33, 206, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 28, 28, 28, 214, 43, 43, 43, 50,
- 111, 111, 111, 105, 99, 99, 99, 63, 103, 103, 103, 60,
- 105, 105, 105, 45, 114, 114, 114, 59, 67, 67, 67, 60,
- 50, 50, 50, 102, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 8, 8, 8, 171, 35, 35, 35, 145,
- 0, 0, 0, 178, 0, 0, 0, 196, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 3, 3, 3, 251, 55, 55, 55, 66,
- 29, 29, 29, 51, 18, 18, 18, 225, 0, 0, 0, 255,
- 0, 0, 0, 255, 38, 38, 38, 205, 30, 30, 30, 51,
- 105, 105, 105, 57, 102, 102, 102, 63, 99, 99, 99, 56,
- 112, 112, 112, 42, 113, 113, 113, 46, 19, 19, 19, 35,
- 41, 41, 41, 111, 0, 0, 0, 178, 0, 0, 0, 178,
- 23, 23, 23, 158, 52, 52, 52, 65, 55, 55, 55, 36,
- 13, 13, 13, 168, 0, 0, 0, 180, 0, 0, 0, 239,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 42, 42, 42, 206, 24, 24, 24, 50,
- 6, 6, 6, 50, 47, 47, 47, 178, 0, 0, 0, 254,
- 0, 0, 0, 255, 0, 0, 0, 255, 48, 48, 48, 168,
- 24, 24, 24, 52, 32, 32, 32, 50, 63, 63, 63, 50,
- 40, 40, 40, 43, 14, 14, 14, 37, 38, 38, 38, 60,
- 17, 17, 17, 165, 0, 0, 0, 178, 29, 29, 29, 147,
- 40, 40, 40, 48, 55, 55, 55, 48, 49, 49, 49, 38,
- 9, 9, 9, 170, 0, 0, 0, 211, 0, 0, 0, 254,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 45, 45, 45, 137, 4, 4, 4, 50,
- 3, 3, 3, 50, 44, 44, 44, 68, 38, 38, 38, 203,
- 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255,
- 26, 26, 26, 193, 41, 41, 41, 72, 39, 39, 39, 57,
- 14, 14, 14, 71, 22, 22, 22, 140, 1, 1, 1, 211,
- 0, 0, 0, 202, 36, 36, 36, 137, 31, 31, 31, 46,
- 16, 16, 16, 35, 87, 87, 87, 50, 24, 24, 24, 47,
- 23, 23, 23, 191, 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 32, 32, 32, 198, 30, 30, 30, 60, 65, 65, 65, 62,
- 38, 38, 38, 50, 6, 6, 6, 50, 24, 24, 24, 50,
- 55, 55, 55, 110, 38, 38, 38, 199, 3, 3, 3, 251,
- 0, 0, 0, 255, 0, 0, 0, 255, 2, 2, 2, 252,
- 2, 2, 2, 252, 11, 11, 11, 237, 11, 11, 11, 167,
- 15, 15, 15, 115, 40, 40, 40, 40, 76, 76, 76, 62,
- 84, 84, 84, 47, 53, 53, 53, 39, 36, 36, 36, 39,
- 20, 20, 20, 192, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 80, 80, 80, 119, 2, 2, 2, 50, 20, 20, 20, 50,
- 41, 41, 41, 67, 64, 64, 64, 50, 10, 10, 10, 50,
- 2, 2, 2, 50, 14, 14, 14, 50, 51, 51, 51, 66,
- 60, 60, 60, 120, 8, 8, 8, 244, 0, 0, 0, 255,
- 12, 12, 12, 214, 51, 51, 51, 83, 24, 24, 24, 36,
- 15, 15, 15, 39, 93, 93, 93, 41, 55, 55, 55, 64,
- 47, 47, 47, 118, 38, 38, 38, 150, 41, 41, 41, 145,
- 2, 2, 2, 214, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 222, 0, 0, 0, 194,
- 0, 0, 0, 253, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 21, 21, 21, 231, 90, 90, 90, 96, 51, 51, 51, 185,
- 0, 0, 0, 255, 13, 13, 13, 239, 9, 9, 9, 227,
- 55, 55, 55, 102, 36, 36, 36, 54, 42, 42, 42, 36,
- 96, 96, 96, 35, 73, 73, 73, 88, 24, 24, 24, 75,
- 7, 7, 7, 50, 13, 13, 13, 50, 62, 62, 62, 40,
- 80, 80, 80, 78, 38, 38, 38, 148, 0, 0, 0, 178,
- 0, 0, 0, 179, 0, 0, 0, 181, 2, 2, 2, 177,
- 1, 1, 1, 234, 0, 0, 0, 255, 0, 0, 0, 254,
- 0, 0, 0, 206, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 250, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 57, 57, 57, 191, 24, 24, 24, 50, 25, 25, 25, 106,
- 8, 8, 8, 232, 8, 8, 8, 244, 3, 3, 3, 251,
- 73, 73, 73, 148, 66, 66, 66, 97, 55, 55, 55, 38,
- 7, 7, 7, 35, 3, 3, 3, 40, 40, 40, 40, 50,
- 77, 77, 77, 93, 80, 80, 80, 106, 34, 34, 34, 51,
- 44, 44, 44, 45, 26, 26, 26, 102, 14, 14, 14, 148,
- 44, 44, 44, 141, 65, 65, 65, 133, 55, 55, 55, 82,
- 29, 29, 29, 77, 46, 46, 46, 194, 0, 0, 0, 198,
- 0, 0, 0, 178, 0, 0, 0, 189, 0, 0, 0, 180,
- 0, 0, 0, 249, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 58, 58, 58, 57, 35, 35, 35, 65,
- 14, 14, 14, 51, 17, 17, 17, 52, 15, 15, 15, 60,
- 4, 4, 4, 48, 1, 1, 1, 38, 30, 30, 30, 38,
- 56, 56, 56, 61, 49, 49, 49, 114, 23, 23, 23, 173,
- 33, 33, 33, 182, 60, 60, 60, 84, 45, 45, 45, 57,
- 35, 35, 35, 50, 14, 14, 14, 45, 60, 60, 60, 50,
- 38, 38, 38, 46, 18, 18, 18, 47, 4, 4, 4, 50,
- 6, 6, 6, 48, 35, 35, 35, 140, 0, 0, 0, 181,
- 0, 0, 0, 184, 0, 0, 0, 182, 0, 0, 0, 178,
- 0, 0, 0, 236, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 57, 57, 57, 131, 34, 34, 34, 51,
- 28, 28, 28, 52, 58, 58, 58, 50, 36, 36, 36, 50,
- 54, 54, 54, 48, 46, 46, 46, 104, 23, 23, 23, 158,
- 1, 1, 1, 177, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 190, 13, 13, 13, 206,
- 43, 43, 43, 187, 60, 60, 60, 112, 54, 54, 54, 57,
- 85, 85, 85, 58, 87, 87, 87, 60, 39, 39, 39, 41,
- 60, 60, 60, 71, 16, 16, 16, 169, 0, 0, 0, 189,
- 0, 0, 0, 192, 0, 0, 0, 203, 0, 0, 0, 205,
- 0, 0, 0, 253, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 35, 35, 35, 119, 12, 12, 12, 50,
- 76, 76, 76, 62, 46, 46, 46, 98, 51, 51, 51, 169,
- 11, 11, 11, 216, 0, 0, 0, 191, 0, 0, 0, 204,
- 0, 0, 0, 229, 0, 0, 0, 217, 0, 0, 0, 212,
- 0, 0, 0, 181, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 179, 0, 0, 0, 223, 18, 18, 18, 195,
- 56, 56, 56, 84, 15, 15, 15, 36, 6, 6, 6, 35,
- 46, 46, 46, 121, 0, 0, 0, 211, 0, 0, 0, 238,
- 0, 0, 0, 253, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 38, 38, 38, 194, 50, 50, 50, 115,
- 51, 51, 51, 158, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 234, 0, 0, 0, 182, 0, 0, 0, 225,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 226, 0, 0, 0, 201, 0, 0, 0, 180,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 180, 53, 53, 53, 102, 58, 58, 58, 62,
- 35, 35, 35, 166, 0, 0, 0, 240, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 227,
- 0, 0, 0, 220, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 247, 0, 0, 0, 178, 0, 0, 0, 180,
- 0, 0, 0, 203, 0, 0, 0, 207, 0, 0, 0, 213,
- 0, 0, 0, 181, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 190, 0, 0, 0, 213,
- 0, 0, 0, 218, 1, 1, 1, 177, 1, 1, 1, 177,
- 0, 0, 0, 178, 0, 0, 0, 182, 0, 0, 0, 194,
- 0, 0, 0, 190, 0, 0, 0, 183, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 198, 0, 0, 0, 184,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 186, 0, 0, 0, 214,
- 0, 0, 0, 237, 0, 0, 0, 253, 0, 0, 0, 255,
- 0, 0, 0, 254, 0, 0, 0, 235, 0, 0, 0, 220,
- 0, 0, 0, 199, 0, 0, 0, 178, 0, 0, 0, 181,
- 0, 0, 0, 181, 0, 0, 0, 180, 0, 0, 0, 178,
- 0, 0, 0, 187, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 202, 0, 0, 0, 178,
- 0, 0, 0, 183, 0, 0, 0, 178, 0, 0, 0, 192,
- 0, 0, 0, 223, 0, 0, 0, 252, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 245, 0, 0, 0, 214,
- 0, 0, 0, 179, 0, 0, 0, 184, 0, 0, 0, 178,
- 0, 0, 0, 218, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 210, 0, 0, 0, 178,
- 0, 0, 0, 191, 0, 0, 0, 241, 0, 0, 0, 254,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 245, 0, 0, 0, 188, 0, 0, 0, 178,
- 0, 0, 0, 226, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 254, 0, 0, 0, 247,
- 0, 0, 0, 251, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 239, 0, 0, 0, 237,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255,
- },{
- 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 13, 13, 13, 233, 58, 58, 58, 179,
- 87, 87, 87, 150, 89, 89, 89, 146, 68, 68, 68, 166,
- 23, 23, 23, 213, 0, 0, 0, 253, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 22, 22, 22, 226,
- 150, 150, 150, 90, 239, 239, 239, 8, 249, 249, 249, 0,
- 242, 242, 242, 0, 243, 243, 243, 0, 248, 248, 248, 0,
- 248, 248, 248, 2, 180, 180, 180, 46, 50, 50, 50, 175,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 35, 35, 35, 212, 220, 220, 220, 26,
- 245, 245, 245, 0, 197, 197, 197, 0, 159, 159, 159, 1,
- 134, 134, 134, 21, 133, 133, 133, 30, 178, 178, 178, 6,
- 219, 219, 219, 0, 242, 242, 242, 0, 229, 229, 229, 2,
- 83, 83, 83, 126, 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 4, 4, 4, 247, 200, 200, 200, 43, 246, 246, 246, 0,
- 175, 175, 175, 0, 82, 82, 82, 54, 12, 12, 12, 200,
- 0, 0, 0, 253, 0, 0, 0, 255, 3, 3, 3, 229,
- 81, 81, 81, 103, 216, 216, 216, 2, 239, 239, 239, 0,
- 216, 216, 216, 2, 45, 45, 45, 167, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 80, 80, 80, 160, 254, 254, 254, 0, 206, 206, 206, 0,
- 104, 104, 104, 36, 1, 1, 1, 239, 0, 0, 0, 255,
- 0, 0, 0, 246, 0, 0, 0, 207, 0, 0, 0, 182,
- 0, 0, 0, 178, 75, 75, 75, 96, 242, 242, 242, 0,
- 231, 231, 231, 0, 140, 140, 140, 31, 0, 0, 0, 202,
- 0, 0, 0, 243, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 163, 163, 163, 75, 243, 243, 243, 0, 177, 177, 177, 0,
- 36, 36, 36, 155, 0, 0, 0, 255, 0, 0, 0, 239,
- 0, 0, 0, 185, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 1, 1, 1, 177, 203, 203, 203, 20,
- 242, 242, 242, 0, 183, 183, 183, 2, 5, 5, 5, 156,
- 0, 0, 0, 182, 0, 0, 0, 232, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 141, 141, 141, 57, 162, 162, 162, 11, 139, 139, 139, 6,
- 3, 3, 3, 229, 0, 0, 0, 250, 0, 0, 0, 187,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 195,
- 0, 0, 0, 236, 0, 0, 0, 252, 168, 168, 168, 66,
- 243, 243, 243, 0, 178, 178, 178, 1, 10, 10, 10, 145,
- 0, 0, 0, 178, 0, 0, 0, 182, 0, 0, 0, 242,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 254, 0, 0, 0, 247, 2, 2, 2, 228,
- 0, 0, 0, 254, 0, 0, 0, 218, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 194, 0, 0, 0, 252,
- 0, 0, 0, 255, 2, 2, 2, 251, 207, 207, 207, 32,
- 234, 234, 234, 0, 154, 154, 154, 5, 2, 2, 2, 183,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 204,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 191, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 234, 0, 0, 0, 255,
- 0, 0, 0, 255, 105, 105, 105, 137, 253, 253, 253, 0,
- 196, 196, 196, 0, 88, 88, 88, 64, 0, 0, 0, 246,
- 0, 0, 0, 179, 0, 0, 0, 178, 0, 0, 0, 184,
- 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 251, 0, 0, 0, 183, 0, 0, 0, 179,
- 0, 0, 0, 183, 0, 0, 0, 253, 0, 0, 0, 254,
- 99, 99, 99, 143, 248, 248, 248, 3, 213, 213, 213, 0,
- 126, 126, 126, 10, 13, 13, 13, 203, 0, 0, 0, 255,
- 0, 0, 0, 186, 0, 0, 0, 178, 0, 0, 0, 180,
- 0, 0, 0, 251, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 253, 0, 0, 0, 247,
- 0, 0, 0, 242, 2, 2, 2, 252, 126, 126, 126, 115,
- 251, 251, 251, 1, 213, 213, 213, 0, 130, 130, 130, 6,
- 24, 24, 24, 170, 0, 0, 0, 255, 0, 0, 0, 251,
- 0, 0, 0, 181, 0, 0, 0, 178, 0, 0, 0, 184,
- 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 1, 1, 1, 253, 138, 138, 138, 104, 252, 252, 252, 0,
- 202, 202, 202, 0, 119, 119, 119, 11, 21, 21, 21, 175,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 214,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 206,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 87, 87, 87, 155, 252, 252, 252, 1, 200, 200, 200, 0,
- 113, 113, 113, 19, 13, 13, 13, 197, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 218, 0, 0, 0, 179,
- 0, 0, 0, 178, 0, 0, 0, 183, 0, 0, 0, 244,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 2, 2, 2, 250,
- 211, 211, 211, 30, 231, 231, 231, 0, 139, 139, 139, 5,
- 13, 13, 13, 196, 0, 0, 0, 255, 0, 0, 0, 254,
- 0, 0, 0, 210, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 181, 0, 0, 0, 233, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 32, 32, 32, 207,
- 252, 252, 252, 1, 208, 208, 208, 0, 85, 85, 85, 78,
- 0, 0, 0, 255, 0, 0, 0, 254, 0, 0, 0, 205,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 182,
- 0, 0, 0, 233, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 58, 58, 58, 176,
- 253, 253, 253, 0, 195, 195, 195, 0, 59, 59, 59, 128,
- 0, 0, 0, 255, 0, 0, 0, 218, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 185, 0, 0, 0, 240,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 49, 49, 49, 177,
- 174, 174, 174, 17, 134, 134, 134, 17, 35, 35, 35, 153,
- 0, 0, 0, 250, 0, 0, 0, 182, 0, 0, 0, 178,
- 0, 0, 0, 182, 0, 0, 0, 241, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 254,
- 0, 0, 0, 251, 0, 0, 0, 251, 0, 0, 0, 254,
- 0, 0, 0, 231, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 211, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 1, 1, 1, 252,
- 0, 0, 0, 252, 0, 0, 0, 252, 0, 0, 0, 254,
- 0, 0, 0, 220, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 228, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 176, 176, 176, 51,
- 238, 238, 238, 0, 230, 230, 230, 0, 55, 55, 55, 148,
- 0, 0, 0, 219, 0, 0, 0, 179, 0, 0, 0, 179,
- 0, 0, 0, 234, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 182, 182, 182, 51,
- 252, 252, 252, 0, 204, 204, 204, 0, 46, 46, 46, 148,
- 0, 0, 0, 253, 0, 0, 0, 250, 0, 0, 0, 250,
- 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 4, 4, 4, 245,
- 31, 31, 31, 206, 37, 37, 37, 199, 195, 195, 195, 40,
- 249, 249, 249, 0, 200, 200, 200, 0, 80, 80, 80, 108,
- 49, 49, 49, 186, 31, 31, 31, 197, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 3, 3, 3, 247,
- 182, 182, 182, 40, 251, 251, 251, 0, 254, 254, 254, 0,
- 253, 253, 253, 0, 236, 236, 236, 0, 247, 247, 247, 0,
- 204, 204, 204, 0, 49, 49, 49, 97, 0, 0, 0, 184,
- 0, 0, 0, 236, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 41, 41, 41, 186, 233, 233, 233, 1, 250, 250, 250, 0,
- 254, 254, 254, 0, 249, 249, 249, 0, 197, 197, 197, 0,
- 100, 100, 100, 25, 0, 0, 0, 173, 0, 0, 0, 178,
- 0, 0, 0, 234, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 127, 127, 127, 87, 243, 243, 243, 0,
- 252, 252, 252, 0, 223, 223, 223, 0, 151, 151, 151, 0,
- 23, 23, 23, 123, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 224, 0, 0, 0, 241, 0, 0, 0, 245,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 12, 12, 12, 228, 209, 209, 209, 14,
- 243, 243, 243, 0, 184, 184, 184, 0, 78, 78, 78, 47,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 227,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 77, 77, 77, 143,
- 231, 231, 231, 0, 135, 135, 135, 3, 11, 11, 11, 146,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 195, 0, 0, 0, 254,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 1, 1, 1, 250,
- 154, 154, 154, 48, 56, 56, 56, 104, 0, 0, 0, 190,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 179, 0, 0, 0, 238, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 21, 21, 21, 201, 3, 3, 3, 233, 0, 0, 0, 235,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 206, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 205, 0, 0, 0, 178, 0, 0, 0, 182,
- 0, 0, 0, 246, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 247, 0, 0, 0, 183, 0, 0, 0, 217,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 229, 0, 0, 0, 252,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255,
- },{
- 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 2, 3, 2, 251,
- 14, 20, 12, 231, 23, 36, 18, 210, 28, 45, 22, 199,
- 29, 47, 23, 197, 28, 48, 21, 194, 20, 35, 15, 211,
- 5, 8, 4, 244, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 254,
- 32, 43, 28, 204, 79, 121, 65, 112, 100, 173, 76, 47,
- 95, 180, 66, 38, 82, 175, 50, 38, 77, 169, 46, 38,
- 74, 166, 44, 38, 68, 162, 37, 38, 67, 161, 36, 38,
- 62, 155, 30, 42, 63, 138, 38, 74, 43, 96, 26, 129,
- 16, 38, 9, 202, 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 1, 1, 1, 253, 39, 54, 33, 191, 95, 142, 79, 88,
- 107, 184, 82, 38, 83, 175, 52, 38, 54, 149, 22, 38,
- 33, 116, 5, 38, 24, 98, 0, 42, 21, 83, 0, 66,
- 17, 68, 0, 99, 15, 60, 0, 116, 12, 51, 0, 134,
- 13, 52, 0, 134, 17, 66, 0, 117, 27, 92, 5, 85,
- 36, 114, 10, 54, 34, 95, 13, 106, 10, 23, 5, 220,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 54, 94, 41, 123, 0, 1, 0, 250,
- 0, 0, 0, 255, 0, 0, 0, 255, 24, 33, 22, 216,
- 99, 140, 86, 93, 107, 185, 81, 38, 87, 181, 55, 38,
- 52, 147, 20, 39, 26, 102, 0, 38, 18, 75, 0, 62,
- 7, 30, 0, 156, 0, 3, 0, 240, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 2, 0, 248, 11, 44, 0, 167, 27, 94, 4, 76,
- 0, 3, 0, 245, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 12, 16, 10, 235, 78, 157, 52, 42, 9, 37, 0, 179,
- 1, 1, 1, 253, 70, 93, 62, 148, 116, 182, 94, 43,
- 96, 184, 66, 38, 68, 174, 33, 38, 37, 134, 5, 39,
- 22, 90, 0, 39, 9, 35, 0, 126, 0, 1, 0, 248,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 254,
- 0, 0, 0, 245, 0, 0, 0, 236, 0, 0, 0, 232,
- 0, 0, 0, 229, 0, 0, 0, 227, 0, 0, 0, 231,
- 0, 0, 0, 239, 0, 0, 0, 252, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 42, 64, 35, 177, 79, 171, 49, 38, 26, 102, 1, 80,
- 78, 106, 69, 133, 117, 188, 94, 38, 82, 182, 49, 38,
- 53, 168, 15, 38, 32, 129, 0, 39, 22, 89, 0, 39,
- 7, 29, 0, 148, 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 246, 0, 0, 0, 214, 0, 0, 0, 185,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 181, 0, 0, 0, 194,
- 0, 0, 0, 217, 0, 0, 0, 246, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 72, 117, 57, 115, 78, 178, 45, 39, 49, 164, 11, 38,
- 91, 182, 61, 39, 81, 182, 47, 38, 49, 172, 7, 38,
- 35, 141, 0, 38, 23, 95, 0, 38, 7, 28, 0, 150,
- 0, 0, 0, 255, 0, 0, 0, 244, 0, 0, 0, 208,
- 0, 0, 0, 180, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 179, 0, 0, 0, 187,
- 0, 0, 0, 201, 0, 0, 0, 208, 0, 0, 0, 215,
- 0, 0, 0, 219, 0, 0, 0, 215, 0, 0, 0, 206,
- 0, 0, 0, 195, 0, 0, 0, 184, 0, 0, 0, 218,
- 0, 0, 0, 252, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 2, 2, 1, 252,
- 96, 164, 73, 58, 72, 179, 36, 38, 48, 173, 6, 38,
- 54, 175, 13, 38, 47, 173, 5, 35, 39, 160, 0, 34,
- 29, 120, 0, 38, 14, 56, 0, 98, 0, 0, 0, 250,
- 0, 0, 0, 214, 0, 0, 0, 180, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 181,
- 0, 0, 0, 208, 0, 0, 0, 243, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 246, 0, 0, 0, 208,
- 0, 0, 0, 222, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 26, 38, 22, 209,
- 96, 178, 69, 42, 62, 178, 24, 38, 43, 172, 0, 38,
- 43, 172, 0, 38, 42, 171, 0, 32, 37, 149, 0, 29,
- 26, 104, 0, 38, 3, 14, 0, 189, 0, 0, 0, 188,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 188, 0, 0, 0, 243,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 56, 89, 45, 148,
- 87, 181, 55, 39, 53, 175, 12, 38, 43, 172, 0, 38,
- 43, 172, 0, 38, 42, 172, 0, 28, 37, 152, 0, 27,
- 29, 118, 0, 38, 9, 25, 3, 153, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 192, 0, 0, 0, 248, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 85, 141, 67, 86,
- 77, 179, 42, 40, 47, 173, 5, 38, 42, 171, 0, 38,
- 41, 166, 0, 36, 39, 159, 0, 27, 37, 150, 0, 27,
- 38, 147, 2, 27, 50, 149, 17, 29, 35, 95, 15, 76,
- 7, 20, 3, 154, 0, 0, 0, 178, 0, 0, 0, 191,
- 0, 0, 0, 249, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 252,
- 3, 12, 0, 217, 3, 12, 0, 228, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 11, 16, 10, 236, 101, 177, 75, 44,
- 62, 171, 26, 38, 38, 150, 0, 38, 34, 139, 0, 38,
- 32, 129, 0, 33, 29, 117, 0, 27, 25, 104, 0, 29,
- 20, 85, 0, 40, 15, 60, 0, 71, 9, 36, 0, 108,
- 2, 9, 0, 156, 0, 0, 0, 179, 0, 0, 0, 241,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 1, 0, 249, 3, 14, 0, 209,
- 8, 35, 0, 157, 15, 59, 0, 105, 21, 85, 0, 55,
- 53, 129, 27, 39, 32, 53, 25, 186, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 40, 62, 33, 179, 75, 161, 46, 38,
- 30, 117, 1, 38, 26, 104, 0, 39, 20, 83, 0, 61,
- 14, 56, 0, 84, 7, 32, 0, 114, 2, 12, 0, 150,
- 0, 0, 0, 175, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 203, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 2, 0, 246, 4, 17, 0, 200, 9, 38, 0, 151,
- 15, 61, 0, 100, 22, 89, 0, 52, 27, 107, 0, 39,
- 29, 120, 0, 38, 33, 131, 0, 38, 54, 155, 19, 38,
- 98, 175, 73, 45, 8, 11, 7, 241, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 33, 63, 22, 159, 15, 54, 2, 119,
- 7, 29, 0, 171, 2, 9, 0, 223, 0, 0, 0, 249,
- 0, 0, 0, 181, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 205, 0, 0, 0, 250,
- 0, 0, 0, 255, 0, 0, 0, 255, 11, 41, 1, 159,
- 33, 107, 8, 47, 33, 119, 5, 38, 31, 125, 0, 40,
- 33, 132, 0, 38, 35, 142, 0, 38, 38, 152, 0, 38,
- 40, 161, 0, 38, 46, 168, 5, 38, 78, 180, 43, 39,
- 80, 134, 62, 93, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 231,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 184,
- 0, 0, 0, 218, 0, 0, 0, 254, 0, 0, 0, 254,
- 16, 40, 8, 197, 41, 116, 16, 90, 38, 147, 2, 38,
- 39, 160, 0, 38, 43, 171, 0, 38, 43, 172, 0, 39,
- 43, 172, 0, 38, 54, 175, 14, 38, 87, 181, 56, 39,
- 52, 83, 41, 154, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 245, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 210,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 179,
- 0, 0, 0, 183, 0, 0, 0, 198, 0, 0, 0, 215,
- 0, 0, 0, 235, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 3, 14, 0, 211, 28, 114, 0, 38,
- 38, 155, 0, 38, 43, 172, 0, 38, 43, 172, 0, 38,
- 43, 172, 0, 38, 63, 178, 25, 38, 96, 178, 68, 39,
- 22, 32, 19, 186, 0, 0, 0, 205, 0, 0, 0, 187,
- 0, 0, 0, 178, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 188,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 183,
- 0, 0, 0, 201, 0, 0, 0, 219, 0, 0, 0, 237,
- 0, 0, 0, 253, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 11, 44, 0, 123, 29, 117, 0, 38,
- 39, 160, 0, 38, 43, 172, 0, 36, 44, 173, 1, 33,
- 45, 173, 3, 31, 72, 179, 37, 28, 92, 158, 69, 45,
- 1, 1, 1, 177, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 250, 0, 0, 0, 205,
- 0, 0, 0, 222, 0, 0, 0, 240, 0, 0, 0, 254,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 3, 12, 0, 206, 22, 89, 0, 42, 34, 138, 0, 37,
- 44, 170, 2, 29, 65, 178, 26, 27, 69, 179, 32, 27,
- 52, 172, 12, 27, 83, 181, 51, 27, 68, 110, 53, 85,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 2, 10, 0, 212,
- 17, 69, 0, 54, 29, 118, 0, 38, 43, 161, 4, 38,
- 67, 178, 31, 38, 104, 186, 76, 33, 92, 155, 71, 50,
- 39, 148, 4, 28, 88, 179, 57, 27, 37, 58, 30, 129,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 185, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 3, 13, 0, 200, 17, 71, 0, 52,
- 28, 115, 0, 39, 49, 159, 13, 39, 77, 181, 44, 38,
- 105, 186, 79, 38, 115, 160, 100, 72, 15, 20, 14, 175,
- 21, 87, 0, 65, 90, 168, 63, 31, 8, 12, 7, 168,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 206, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 1, 4, 0, 239,
- 6, 26, 0, 188, 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 1, 4, 0, 239,
- 8, 32, 0, 151, 19, 79, 0, 45, 34, 124, 4, 39,
- 64, 168, 30, 38, 94, 184, 64, 38, 118, 183, 96, 42,
- 78, 108, 68, 130, 7, 8, 7, 232, 0, 0, 0, 179,
- 7, 29, 0, 134, 65, 120, 47, 64, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 227, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 1, 7, 0, 237,
- 30, 95, 8, 95, 28, 96, 6, 83, 9, 38, 0, 170,
- 5, 22, 0, 201, 1, 7, 0, 234, 0, 2, 0, 245,
- 0, 3, 0, 242, 2, 9, 0, 226, 3, 16, 0, 209,
- 7, 30, 0, 171, 11, 46, 0, 131, 20, 83, 0, 50,
- 29, 112, 1, 38, 54, 147, 22, 38, 89, 181, 58, 38,
- 110, 184, 86, 39, 94, 137, 80, 95, 28, 36, 25, 214,
- 0, 0, 0, 253, 0, 0, 0, 198, 0, 0, 0, 178,
- 0, 0, 0, 177, 19, 30, 14, 149, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 179,
- 0, 0, 0, 248, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 16, 44, 6, 186, 43, 118, 18, 76,
- 52, 143, 21, 39, 45, 133, 16, 38, 35, 120, 8, 41,
- 33, 115, 5, 40, 37, 122, 8, 38, 38, 125, 10, 38,
- 44, 133, 13, 38, 51, 144, 20, 38, 65, 161, 33, 38,
- 88, 179, 58, 38, 109, 182, 85, 41, 85, 126, 72, 107,
- 30, 40, 27, 208, 0, 0, 0, 255, 0, 0, 0, 253,
- 0, 0, 0, 202, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 179,
- 0, 0, 0, 192, 0, 0, 0, 178, 0, 0, 0, 194,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 254,
- 11, 24, 7, 222, 32, 64, 21, 172, 43, 97, 25, 128,
- 65, 128, 44, 96, 74, 143, 51, 79, 76, 139, 55, 85,
- 75, 136, 54, 88, 71, 127, 52, 100, 65, 109, 50, 123,
- 54, 83, 44, 155, 17, 23, 15, 228, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 251, 0, 0, 0, 199,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 180, 0, 0, 0, 225,
- 0, 0, 0, 237, 0, 0, 0, 178, 0, 0, 0, 215,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 229, 0, 0, 0, 243, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 254,
- 0, 0, 0, 230, 0, 0, 0, 191, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 194, 0, 0, 0, 240, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 197, 0, 0, 0, 237,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 229, 0, 0, 0, 187, 0, 0, 0, 206,
- 0, 0, 0, 226, 0, 0, 0, 237, 0, 0, 0, 245,
- 0, 0, 0, 248, 0, 0, 0, 242, 0, 0, 0, 236,
- 0, 0, 0, 227, 0, 0, 0, 214, 0, 0, 0, 191,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 188, 0, 0, 0, 225,
- 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 245, 0, 0, 0, 254,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 213,
- 0, 0, 0, 185, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178,
- 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 192,
- 0, 0, 0, 226, 0, 0, 0, 253, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 254, 0, 0, 0, 239, 0, 0, 0, 223,
- 0, 0, 0, 208, 0, 0, 0, 201, 0, 0, 0, 199,
- 0, 0, 0, 200, 0, 0, 0, 204, 0, 0, 0, 209,
- 0, 0, 0, 219, 0, 0, 0, 237, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255,
- },{
- 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 13, 5, 13, 201,
- 32, 13, 24, 144, 1, 0, 1, 248, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 18, 8, 16, 185, 130, 40, 22, 23,
- 146, 46, 22, 6, 35, 13, 21, 148, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 2, 1, 2, 245, 95, 32, 25, 56, 169, 58, 22, 0,
- 163, 57, 25, 0, 104, 34, 24, 42, 3, 1, 4, 238,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 2, 1, 3, 242,
- 15, 8, 20, 186, 148, 60, 31, 10, 172, 86, 59, 0,
- 176, 89, 55, 0, 134, 48, 24, 15, 18, 10, 24, 174,
- 3, 2, 5, 238, 0, 0, 0, 255, 0, 0, 0, 254,
- 0, 0, 0, 253, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 253, 68, 55, 76, 108,
- 79, 54, 76, 73, 188, 142, 152, 0, 189, 159, 185, 0,
- 180, 98, 70, 0, 149, 69, 43, 14, 123, 103, 128, 49,
- 42, 32, 48, 150, 0, 0, 0, 252, 0, 0, 0, 240,
- 0, 0, 0, 233, 0, 0, 0, 248, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 13, 7, 17, 198, 160, 134, 161, 15,
- 152, 121, 143, 18, 198, 177, 205, 0, 205, 187, 216, 0,
- 175, 106, 91, 0, 172, 95, 70, 9, 205, 182, 205, 3,
- 103, 85, 109, 67, 0, 0, 0, 240, 0, 0, 0, 215,
- 0, 0, 0, 209, 0, 0, 0, 231, 0, 0, 0, 252,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 42, 28, 45, 144, 196, 173, 202, 0,
- 194, 164, 189, 0, 214, 198, 226, 0, 210, 193, 222, 0,
- 162, 91, 82, 0, 179, 102, 82, 1, 200, 177, 206, 0,
- 111, 88, 114, 49, 0, 0, 0, 223, 0, 0, 0, 205,
- 0, 0, 0, 203, 0, 0, 0, 218, 0, 0, 0, 247,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 62, 45, 68, 115, 197, 176, 207, 0,
- 195, 168, 195, 0, 216, 200, 227, 0, 203, 183, 212, 0,
- 157, 84, 74, 0, 159, 84, 72, 4, 198, 177, 208, 0,
- 92, 72, 98, 69, 0, 0, 0, 214, 0, 0, 0, 203,
- 0, 0, 0, 202, 0, 0, 0, 210, 0, 0, 0, 233,
- 0, 0, 0, 248, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 84, 66, 91, 87, 202, 183, 212, 0,
- 191, 164, 193, 0, 217, 202, 227, 0, 197, 173, 203, 0,
- 173, 113, 112, 0, 163, 96, 92, 4, 202, 184, 214, 0,
- 76, 58, 80, 81, 0, 0, 0, 205, 0, 0, 0, 202,
- 0, 0, 0, 202, 0, 0, 0, 203, 0, 0, 0, 210,
- 0, 0, 0, 234, 0, 0, 0, 253, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 109, 88, 117, 56, 199, 176, 204, 0,
- 199, 179, 211, 0, 216, 201, 227, 0, 197, 170, 200, 0,
- 185, 139, 148, 0, 168, 107, 108, 4, 199, 180, 210, 0,
- 59, 42, 62, 97, 0, 0, 0, 202, 0, 0, 0, 202,
- 0, 0, 0, 202, 0, 0, 0, 202, 0, 0, 0, 204,
- 0, 0, 0, 225, 0, 0, 0, 251, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 2, 1, 3, 244, 128, 103, 133, 36, 190, 164, 193, 0,
- 202, 180, 212, 0, 215, 198, 226, 0, 200, 173, 201, 0,
- 188, 154, 171, 0, 168, 115, 123, 4, 190, 166, 196, 0,
- 43, 29, 45, 118, 0, 0, 0, 202, 0, 0, 0, 202,
- 0, 0, 0, 202, 0, 0, 0, 202, 0, 0, 0, 204,
- 0, 0, 0, 225, 0, 0, 0, 251, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 13, 6, 14, 207, 148, 121, 151, 22, 206, 183, 213, 0,
- 191, 155, 180, 0, 209, 186, 214, 0, 205, 178, 203, 0,
- 222, 205, 227, 0, 190, 160, 184, 0, 187, 161, 191, 1,
- 28, 17, 29, 138, 0, 0, 0, 202, 0, 0, 0, 202,
- 0, 0, 0, 202, 0, 0, 0, 202, 0, 0, 0, 205,
- 0, 0, 0, 228, 0, 0, 0, 252, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 1, 0, 1, 250, 31, 19, 33, 162,
- 142, 119, 147, 36, 213, 193, 222, 0, 210, 186, 214, 0,
- 209, 163, 170, 0, 213, 185, 210, 0, 207, 182, 209, 0,
- 215, 185, 213, 0, 221, 198, 223, 0, 193, 166, 193, 1,
- 56, 36, 56, 92, 1, 0, 1, 197, 0, 0, 0, 202,
- 0, 0, 0, 202, 0, 0, 0, 202, 0, 0, 0, 206,
- 0, 0, 0, 231, 0, 0, 0, 253, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 34, 20, 35, 155, 187, 162, 190, 9,
- 221, 199, 224, 0, 177, 134, 184, 0, 157, 93, 100, 0,
- 182, 112, 102, 0, 155, 80, 71, 0, 176, 123, 133, 0,
- 208, 157, 181, 0, 212, 171, 194, 0, 215, 185, 211, 0,
- 166, 132, 156, 10, 13, 6, 14, 162, 0, 0, 0, 202,
- 0, 0, 0, 202, 0, 0, 0, 202, 0, 0, 0, 207,
- 0, 0, 0, 235, 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 82, 54, 73, 85, 182, 138, 159, 2,
- 184, 134, 149, 2, 195, 142, 153, 0, 180, 102, 88, 0,
- 200, 155, 159, 0, 149, 81, 74, 0, 173, 85, 67, 0,
- 197, 146, 156, 0, 190, 134, 142, 0, 166, 113, 125, 5,
- 119, 78, 95, 34, 14, 6, 14, 163, 0, 0, 0, 202,
- 0, 0, 0, 202, 0, 0, 0, 202, 0, 0, 0, 208,
- 0, 0, 0, 238, 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 10, 5, 11, 217, 27, 12, 23, 175,
- 84, 42, 55, 77, 173, 95, 89, 0, 201, 134, 117, 0,
- 203, 150, 161, 0, 200, 151, 161, 0, 168, 83, 53, 0,
- 217, 130, 88, 0, 171, 82, 67, 0, 108, 50, 62, 24,
- 10, 4, 9, 177, 0, 0, 0, 202, 0, 0, 0, 202,
- 0, 0, 0, 202, 0, 0, 0, 202, 0, 0, 0, 209,
- 0, 0, 0, 238, 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 73, 31, 42, 96, 183, 96, 77, 0, 180, 123, 107, 30,
- 201, 147, 131, 15, 218, 183, 141, 0, 217, 157, 84, 1,
- 189, 117, 83, 22, 180, 92, 74, 0, 101, 46, 59, 37,
- 2, 0, 1, 198, 0, 0, 0, 202, 0, 0, 0, 202,
- 0, 0, 0, 202, 0, 0, 0, 202, 0, 0, 0, 205,
- 0, 0, 0, 225, 0, 0, 0, 249, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 111, 57, 68, 63, 215, 153, 138, 0, 155, 112, 104, 64,
- 47, 23, 29, 187, 102, 67, 55, 115, 77, 44, 41, 119,
- 148, 103, 100, 49, 207, 145, 147, 0, 104, 52, 61, 56,
- 0, 0, 0, 202, 0, 0, 0, 202, 0, 0, 0, 202,
- 0, 0, 0, 202, 0, 0, 0, 202, 0, 0, 0, 204,
- 0, 0, 0, 217, 0, 0, 0, 246, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 18, 8, 13, 219,
- 176, 138, 147, 29, 229, 204, 199, 0, 139, 106, 109, 89,
- 0, 0, 0, 254, 0, 0, 0, 245, 17, 8, 11, 202,
- 191, 165, 167, 25, 228, 210, 213, 0, 131, 93, 105, 54,
- 0, 0, 0, 201, 0, 0, 0, 202, 0, 0, 0, 202,
- 0, 0, 0, 202, 0, 0, 0, 202, 0, 0, 0, 212,
- 0, 0, 0, 235, 0, 0, 0, 251, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 51, 36, 41, 183,
- 226, 225, 225, 5, 231, 231, 231, 0, 158, 142, 148, 75,
- 0, 0, 0, 255, 0, 0, 0, 254, 22, 12, 15, 221,
- 173, 173, 173, 59, 197, 197, 197, 30, 118, 108, 111, 92,
- 0, 0, 0, 204, 0, 0, 0, 203, 0, 0, 0, 203,
- 0, 0, 0, 203, 0, 0, 0, 203, 0, 0, 0, 220,
- 0, 0, 0, 249, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 8, 7, 8, 246,
- 86, 86, 86, 160, 107, 107, 107, 136, 35, 35, 35, 216,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 254,
- 2, 2, 2, 232, 9, 9, 9, 199, 0, 0, 0, 215,
- 0, 0, 0, 226, 0, 0, 0, 220, 0, 0, 0, 220,
- 0, 0, 0, 214, 0, 0, 0, 205, 0, 0, 0, 224,
- 0, 0, 0, 251, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 252,
- 0, 0, 0, 229, 0, 0, 0, 207, 0, 0, 0, 226,
- 0, 0, 0, 249, 0, 0, 0, 249, 0, 0, 0, 247,
- 0, 0, 0, 227, 0, 0, 0, 207, 0, 0, 0, 226,
- 0, 0, 0, 252, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 249,
- 0, 0, 0, 221, 0, 0, 0, 207, 0, 0, 0, 229,
- 0, 0, 0, 252, 0, 0, 0, 255, 0, 0, 0, 251,
- 0, 0, 0, 227, 0, 0, 0, 212, 0, 0, 0, 230,
- 0, 0, 0, 252, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 251,
- 0, 0, 0, 231, 0, 0, 0, 222, 0, 0, 0, 239,
- 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 254,
- 0, 0, 0, 245, 0, 0, 0, 240, 0, 0, 0, 247,
- 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 251, 0, 0, 0, 250, 0, 0, 0, 253,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255,
- },{
- 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 28, 28, 28, 226, 34, 34, 34, 220, 34, 34, 34, 220,
- 34, 34, 34, 220, 34, 34, 34, 220, 34, 34, 34, 220,
- 34, 34, 34, 220, 15, 15, 15, 239, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 55, 55, 55, 189,
- 44, 45, 45, 114, 28, 31, 32, 83, 36, 42, 43, 83,
- 38, 45, 47, 83, 38, 45, 47, 83, 27, 30, 31, 83,
- 28, 29, 30, 85, 62, 62, 62, 136, 22, 22, 22, 232,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 59, 59, 59, 148,
- 127, 122, 98, 16, 12, 24, 26, 0, 18, 31, 34, 0,
- 14, 26, 29, 0, 12, 23, 26, 0, 9, 19, 21, 0,
- 23, 33, 34, 0, 106, 95, 73, 66, 57, 57, 57, 197,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 60, 60, 60, 142,
- 175, 160, 127, 25, 117, 114, 93, 7, 174, 154, 118, 0,
- 200, 173, 128, 0, 189, 161, 115, 0, 135, 116, 80, 0,
- 76, 70, 55, 35, 127, 111, 79, 60, 58, 58, 58, 196,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 55, 55, 55, 194, 81, 76, 68, 99,
- 232, 207, 156, 1, 198, 176, 143, 0, 194, 184, 170, 0,
- 182, 177, 169, 0, 184, 178, 169, 0, 190, 175, 155, 0,
- 181, 153, 112, 0, 133, 111, 75, 32, 71, 70, 69, 133,
- 17, 17, 17, 237, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 29, 29, 29, 225, 74, 73, 69, 112, 213, 187, 139, 9,
- 197, 185, 168, 0, 179, 178, 176, 0, 190, 190, 190, 0,
- 158, 158, 157, 0, 171, 170, 169, 0, 159, 157, 156, 0,
- 165, 160, 156, 0, 187, 163, 127, 0, 120, 102, 71, 45,
- 71, 71, 71, 138, 0, 0, 0, 226, 0, 0, 0, 226,
- 0, 0, 0, 227, 0, 0, 0, 237, 0, 0, 0, 251,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 67, 67, 67, 161, 160, 144, 113, 43, 202, 181, 151, 0,
- 192, 192, 192, 0, 208, 209, 209, 0, 197, 197, 197, 0,
- 207, 208, 208, 0, 200, 200, 200, 0, 187, 187, 186, 0,
- 139, 137, 140, 0, 151, 146, 141, 0, 196, 164, 117, 0,
- 80, 73, 60, 78, 37, 37, 37, 174, 0, 0, 0, 204,
- 0, 0, 0, 206, 0, 0, 0, 219, 0, 0, 0, 244,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 8, 8, 8, 246,
- 72, 71, 69, 119, 221, 192, 144, 2, 189, 186, 182, 0,
- 181, 182, 181, 0, 181, 186, 190, 0, 203, 205, 207, 0,
- 214, 215, 215, 0, 211, 212, 212, 0, 184, 184, 186, 0,
- 185, 185, 186, 0, 147, 144, 143, 0, 187, 169, 146, 0,
- 126, 104, 68, 39, 75, 75, 75, 130, 2, 2, 2, 202,
- 0, 0, 0, 207, 0, 0, 0, 218, 0, 0, 0, 242,
- 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 22, 22, 22, 232,
- 93, 89, 80, 98, 212, 186, 142, 0, 184, 183, 182, 0,
- 206, 207, 207, 0, 210, 212, 213, 0, 183, 185, 189, 0,
- 164, 171, 179, 0, 170, 172, 176, 0, 205, 206, 207, 0,
- 214, 215, 215, 0, 165, 163, 162, 0, 181, 173, 162, 0,
- 186, 153, 98, 10, 71, 63, 50, 77, 47, 47, 47, 166,
- 0, 0, 0, 205, 0, 0, 0, 210, 0, 0, 0, 229,
- 0, 0, 0, 249, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 22, 22, 22, 232,
- 93, 87, 77, 96, 210, 185, 141, 0, 164, 162, 160, 0,
- 201, 202, 202, 0, 217, 219, 219, 0, 213, 214, 214, 0,
- 150, 158, 168, 0, 189, 191, 193, 0, 213, 214, 214, 0,
- 215, 216, 216, 0, 159, 157, 156, 0, 182, 174, 162, 0,
- 194, 158, 100, 3, 87, 72, 51, 61, 52, 52, 52, 162,
- 0, 0, 0, 204, 0, 0, 0, 205, 0, 0, 0, 212,
- 0, 0, 0, 235, 0, 0, 0, 252, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 12, 12, 12, 242,
- 73, 71, 67, 113, 213, 182, 130, 0, 178, 177, 175, 0,
- 172, 172, 171, 0, 215, 216, 216, 0, 199, 199, 199, 0,
- 183, 183, 182, 0, 181, 180, 179, 0, 211, 212, 212, 0,
- 211, 212, 212, 0, 154, 152, 151, 0, 193, 181, 162, 0,
- 127, 103, 67, 32, 68, 68, 68, 116, 12, 12, 12, 194,
- 0, 0, 0, 204, 0, 0, 0, 204, 0, 0, 0, 206,
- 0, 0, 0, 220, 0, 0, 0, 246, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 66, 66, 66, 150, 162, 137, 94, 30, 185, 170, 150, 0,
- 143, 141, 140, 0, 203, 203, 203, 0, 186, 186, 185, 0,
- 169, 172, 180, 0, 182, 183, 185, 0, 197, 197, 197, 0,
- 181, 180, 179, 0, 144, 140, 137, 0, 187, 161, 122, 0,
- 82, 71, 52, 67, 50, 50, 50, 163, 0, 0, 0, 204,
- 0, 0, 0, 204, 0, 0, 0, 204, 0, 0, 0, 204,
- 0, 0, 0, 211, 0, 0, 0, 237, 0, 0, 0, 253,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 45, 45, 45, 209, 73, 66, 54, 97, 197, 165, 113, 2,
- 177, 172, 165, 0, 138, 136, 136, 0, 166, 164, 164, 0,
- 176, 175, 176, 0, 186, 185, 185, 0, 166, 164, 163, 0,
- 164, 161, 160, 0, 182, 165, 143, 0, 140, 115, 75, 21,
- 69, 68, 68, 110, 5, 5, 5, 199, 0, 0, 0, 204,
- 0, 0, 0, 204, 0, 0, 0, 204, 0, 0, 0, 204,
- 0, 0, 0, 207, 0, 0, 0, 223, 0, 0, 0, 248,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 254, 69, 69, 69, 168, 94, 84, 64, 78,
- 210, 181, 129, 1, 182, 167, 146, 0, 166, 162, 160, 0,
- 154, 150, 147, 0, 155, 152, 151, 0, 175, 170, 164, 0,
- 182, 161, 131, 0, 144, 118, 77, 15, 64, 61, 56, 93,
- 34, 34, 34, 176, 0, 0, 0, 204, 0, 0, 0, 204,
- 0, 0, 0, 204, 0, 0, 0, 204, 0, 0, 0, 204,
- 0, 0, 0, 207, 0, 0, 0, 225, 0, 0, 0, 248,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 4, 4, 4, 250, 63, 63, 63, 139,
- 179, 156, 111, 28, 156, 141, 103, 7, 199, 170, 120, 0,
- 183, 156, 114, 0, 177, 149, 108, 0, 153, 126, 86, 0,
- 101, 87, 62, 26, 104, 87, 60, 49, 66, 66, 66, 150,
- 0, 0, 0, 204, 0, 0, 0, 204, 0, 0, 0, 204,
- 0, 0, 0, 204, 0, 0, 0, 204, 0, 0, 0, 204,
- 0, 0, 0, 213, 0, 0, 0, 239, 0, 0, 0, 253,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 58, 58, 58, 145,
- 135, 123, 89, 9, 6, 18, 21, 0, 14, 23, 23, 0,
- 23, 23, 18, 0, 16, 16, 13, 0, 3, 10, 11, 0,
- 18, 24, 21, 0, 103, 87, 60, 54, 53, 53, 53, 161,
- 0, 0, 0, 204, 0, 0, 0, 204, 0, 0, 0, 204,
- 0, 0, 0, 204, 0, 0, 0, 204, 0, 0, 0, 206,
- 0, 0, 0, 223, 0, 0, 0, 248, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 67, 67, 67, 165,
- 31, 31, 29, 86, 1, 6, 8, 44, 6, 18, 21, 44,
- 7, 22, 24, 44, 2, 8, 9, 43, 0, 2, 3, 41,
- 7, 10, 10, 40, 49, 48, 46, 93, 35, 35, 35, 175,
- 0, 0, 0, 204, 0, 0, 0, 204, 0, 0, 0, 204,
- 0, 0, 0, 204, 0, 0, 0, 205, 0, 0, 0, 215,
- 0, 0, 0, 238, 0, 0, 0, 253, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 4, 4, 4, 250,
- 59, 59, 59, 187, 59, 59, 59, 180, 59, 59, 59, 180,
- 59, 59, 59, 180, 59, 59, 59, 180, 59, 59, 59, 175,
- 59, 59, 59, 159, 43, 43, 43, 170, 0, 0, 0, 204,
- 0, 0, 0, 204, 0, 0, 0, 204, 0, 0, 0, 204,
- 0, 0, 0, 205, 0, 0, 0, 211, 0, 0, 0, 233,
- 0, 0, 0, 251, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 253,
- 0, 0, 0, 233, 0, 0, 0, 212, 0, 0, 0, 205,
- 0, 0, 0, 204, 0, 0, 0, 204, 0, 0, 0, 204,
- 0, 0, 0, 207, 0, 0, 0, 218, 0, 0, 0, 243,
- 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 253,
- 0, 0, 0, 237, 0, 0, 0, 212, 0, 0, 0, 205,
- 0, 0, 0, 204, 0, 0, 0, 204, 0, 0, 0, 204,
- 0, 0, 0, 206, 0, 0, 0, 220, 0, 0, 0, 246,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 250, 0, 0, 0, 238, 0, 0, 0, 233,
- 0, 0, 0, 233, 0, 0, 0, 233, 0, 0, 0, 233,
- 0, 0, 0, 234, 0, 0, 0, 242, 0, 0, 0, 253,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255,
- },{
- 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 237,
- 0, 0, 0, 252, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 251, 0, 0, 0, 65,
- 0, 0, 0, 77, 0, 0, 0, 95, 0, 0, 0, 76,
- 0, 0, 0, 195, 0, 0, 0, 209, 0, 0, 0, 105,
- 0, 0, 0, 77, 0, 0, 0, 95, 0, 0, 0, 77,
- 0, 0, 0, 245, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 101, 136, 136, 136, 67,
- 171, 171, 171, 79, 174, 174, 174, 80, 174, 174, 174, 80,
- 103, 103, 103, 60, 87, 87, 87, 59, 171, 171, 171, 79,
- 174, 174, 174, 80, 174, 174, 174, 80, 158, 158, 158, 75,
- 5, 5, 5, 69, 0, 0, 0, 252, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 77, 158, 158, 158, 75,
- 174, 174, 174, 80, 174, 174, 174, 80, 174, 174, 174, 80,
- 174, 174, 174, 80, 174, 174, 174, 80, 174, 174, 174, 80,
- 174, 174, 174, 80, 174, 174, 174, 80, 165, 165, 165, 78,
- 5, 5, 5, 51, 0, 0, 0, 237, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 245, 5, 5, 5, 67,
- 10, 10, 10, 68, 8, 8, 8, 52, 105, 105, 105, 64,
- 174, 174, 174, 80, 174, 174, 174, 80, 125, 125, 125, 66,
- 10, 10, 10, 57, 10, 10, 10, 63, 8, 8, 8, 81,
- 0, 0, 0, 215, 0, 0, 0, 253, 0, 0, 0, 253,
- 0, 0, 0, 252, 0, 0, 0, 251, 0, 0, 0, 251,
- 0, 0, 0, 252, 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 7, 7, 7, 56,
- 174, 174, 174, 80, 174, 174, 174, 80, 17, 17, 17, 38,
- 0, 0, 0, 218, 0, 0, 0, 214, 0, 0, 0, 210,
- 0, 0, 0, 228, 0, 0, 0, 235, 0, 0, 0, 236,
- 0, 0, 0, 231, 0, 0, 0, 229, 0, 0, 0, 230,
- 0, 0, 0, 233, 0, 0, 0, 245, 0, 0, 0, 254,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 75,
- 174, 174, 174, 80, 173, 173, 173, 79, 9, 9, 9, 53,
- 0, 0, 0, 210, 0, 0, 0, 209, 0, 0, 0, 209,
- 0, 0, 0, 209, 0, 0, 0, 211, 0, 0, 0, 212,
- 0, 0, 0, 209, 0, 0, 0, 209, 0, 0, 0, 209,
- 0, 0, 0, 212, 0, 0, 0, 231, 0, 0, 0, 251,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 59,
- 174, 174, 174, 80, 173, 173, 173, 79, 12, 12, 12, 62,
- 0, 0, 0, 212, 0, 0, 0, 207, 0, 0, 0, 206,
- 0, 0, 0, 205, 0, 0, 0, 205, 0, 0, 0, 205,
- 0, 0, 0, 205, 0, 0, 0, 206, 0, 0, 0, 207,
- 0, 0, 0, 211, 0, 0, 0, 231, 0, 0, 0, 251,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 82,
- 174, 174, 174, 80, 173, 173, 173, 80, 12, 12, 12, 66,
- 0, 0, 0, 231, 0, 0, 0, 226, 0, 0, 0, 222,
- 0, 0, 0, 211, 0, 0, 0, 205, 0, 0, 0, 205,
- 0, 0, 0, 209, 0, 0, 0, 221, 0, 0, 0, 226,
- 0, 0, 0, 230, 0, 0, 0, 243, 0, 0, 0, 253,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 65,
- 174, 174, 174, 80, 174, 174, 174, 80, 10, 10, 10, 58,
- 0, 0, 0, 251, 0, 0, 0, 250, 0, 0, 0, 244,
- 0, 0, 0, 223, 0, 0, 0, 207, 0, 0, 0, 205,
- 0, 0, 0, 219, 0, 0, 0, 242, 0, 0, 0, 249,
- 0, 0, 0, 251, 0, 0, 0, 253, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 82,
- 174, 174, 174, 80, 174, 174, 174, 80, 7, 7, 7, 48,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 250,
- 0, 0, 0, 229, 0, 0, 0, 208, 0, 0, 0, 207,
- 0, 0, 0, 225, 0, 0, 0, 249, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 76,
- 174, 174, 174, 80, 174, 174, 174, 80, 12, 12, 12, 73,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 251,
- 0, 0, 0, 229, 0, 0, 0, 209, 0, 0, 0, 207,
- 0, 0, 0, 226, 0, 0, 0, 250, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 75,
- 174, 174, 174, 80, 174, 174, 174, 80, 13, 13, 13, 80,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 251,
- 0, 0, 0, 229, 0, 0, 0, 209, 0, 0, 0, 207,
- 0, 0, 0, 226, 0, 0, 0, 250, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 89,
- 174, 174, 174, 80, 174, 174, 174, 80, 11, 11, 11, 65,
- 0, 0, 0, 252, 0, 0, 0, 255, 0, 0, 0, 251,
- 0, 0, 0, 229, 0, 0, 0, 209, 0, 0, 0, 207,
- 0, 0, 0, 226, 0, 0, 0, 250, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 89,
- 174, 174, 174, 80, 174, 174, 174, 80, 8, 8, 8, 51,
- 0, 0, 0, 237, 0, 0, 0, 255, 0, 0, 0, 251,
- 0, 0, 0, 229, 0, 0, 0, 209, 0, 0, 0, 207,
- 0, 0, 0, 226, 0, 0, 0, 250, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 69,
- 174, 174, 174, 80, 174, 174, 174, 80, 12, 12, 12, 70,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 251,
- 0, 0, 0, 229, 0, 0, 0, 209, 0, 0, 0, 207,
- 0, 0, 0, 226, 0, 0, 0, 250, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 80,
- 174, 174, 174, 80, 174, 174, 174, 80, 13, 13, 13, 80,
- 0, 0, 0, 234, 0, 0, 0, 255, 0, 0, 0, 251,
- 0, 0, 0, 229, 0, 0, 0, 209, 0, 0, 0, 207,
- 0, 0, 0, 226, 0, 0, 0, 250, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 87,
- 174, 174, 174, 80, 174, 174, 174, 80, 11, 11, 11, 64,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 251,
- 0, 0, 0, 229, 0, 0, 0, 209, 0, 0, 0, 207,
- 0, 0, 0, 226, 0, 0, 0, 250, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 87,
- 174, 174, 174, 80, 174, 174, 174, 80, 12, 12, 12, 73,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 251,
- 0, 0, 0, 229, 0, 0, 0, 209, 0, 0, 0, 207,
- 0, 0, 0, 226, 0, 0, 0, 250, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 95,
- 174, 174, 174, 80, 174, 174, 174, 80, 12, 12, 12, 73,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 251,
- 0, 0, 0, 229, 0, 0, 0, 209, 0, 0, 0, 207,
- 0, 0, 0, 226, 0, 0, 0, 250, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 9, 9, 9, 61,
- 174, 174, 174, 80, 174, 174, 174, 80, 25, 25, 25, 55,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 251,
- 0, 0, 0, 229, 0, 0, 0, 209, 0, 0, 0, 207,
- 0, 0, 0, 226, 0, 0, 0, 250, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 245, 6, 6, 6, 78,
- 7, 7, 7, 53, 10, 10, 10, 61, 105, 105, 105, 64,
- 174, 174, 174, 80, 174, 174, 174, 80, 125, 125, 125, 66,
- 12, 12, 12, 68, 9, 9, 9, 58, 6, 6, 6, 63,
- 0, 0, 0, 210, 0, 0, 0, 209, 0, 0, 0, 207,
- 0, 0, 0, 226, 0, 0, 0, 250, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 84, 158, 158, 158, 75,
- 174, 174, 174, 80, 174, 174, 174, 80, 174, 174, 174, 80,
- 174, 174, 174, 80, 174, 174, 174, 80, 174, 174, 174, 80,
- 174, 174, 174, 80, 174, 174, 174, 80, 150, 150, 150, 71,
- 7, 7, 7, 62, 0, 0, 0, 209, 0, 0, 0, 207,
- 0, 0, 0, 226, 0, 0, 0, 250, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 88, 147, 147, 147, 72,
- 174, 174, 174, 80, 174, 174, 174, 80, 174, 174, 174, 80,
- 103, 103, 103, 60, 87, 87, 87, 59, 171, 171, 171, 79,
- 174, 174, 174, 80, 174, 174, 174, 80, 157, 157, 157, 74,
- 8, 8, 8, 82, 0, 0, 0, 193, 0, 0, 0, 207,
- 0, 0, 0, 225, 0, 0, 0, 249, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 251, 0, 0, 0, 81,
- 0, 0, 0, 87, 0, 0, 0, 95, 0, 0, 0, 82,
- 0, 0, 0, 195, 0, 0, 0, 209, 0, 0, 0, 81,
- 0, 0, 0, 74, 0, 0, 0, 87, 0, 0, 0, 74,
- 0, 0, 0, 198, 0, 0, 0, 205, 0, 0, 0, 205,
- 0, 0, 0, 219, 0, 0, 0, 242, 0, 0, 0, 249,
- 0, 0, 0, 251, 0, 0, 0, 253, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 254, 0, 0, 0, 245,
- 0, 0, 0, 228, 0, 0, 0, 206, 0, 0, 0, 191,
- 0, 0, 0, 211, 0, 0, 0, 205, 0, 0, 0, 205,
- 0, 0, 0, 209, 0, 0, 0, 221, 0, 0, 0, 226,
- 0, 0, 0, 230, 0, 0, 0, 243, 0, 0, 0, 253,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 234,
- 0, 0, 0, 212, 0, 0, 0, 207, 0, 0, 0, 206,
- 0, 0, 0, 205, 0, 0, 0, 205, 0, 0, 0, 205,
- 0, 0, 0, 205, 0, 0, 0, 206, 0, 0, 0, 207,
- 0, 0, 0, 211, 0, 0, 0, 231, 0, 0, 0, 251,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 235,
- 0, 0, 0, 213, 0, 0, 0, 209, 0, 0, 0, 209,
- 0, 0, 0, 209, 0, 0, 0, 211, 0, 0, 0, 212,
- 0, 0, 0, 209, 0, 0, 0, 209, 0, 0, 0, 209,
- 0, 0, 0, 212, 0, 0, 0, 231, 0, 0, 0, 251,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 254, 0, 0, 0, 247,
- 0, 0, 0, 235, 0, 0, 0, 230, 0, 0, 0, 229,
- 0, 0, 0, 231, 0, 0, 0, 235, 0, 0, 0, 236,
- 0, 0, 0, 231, 0, 0, 0, 229, 0, 0, 0, 230,
- 0, 0, 0, 233, 0, 0, 0, 245, 0, 0, 0, 254,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 254,
- 0, 0, 0, 252, 0, 0, 0, 251, 0, 0, 0, 251,
- 0, 0, 0, 252, 0, 0, 0, 253, 0, 0, 0, 253,
- 0, 0, 0, 252, 0, 0, 0, 251, 0, 0, 0, 251,
- 0, 0, 0, 252, 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255,
- },{
- 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 252, 0, 0, 0, 168, 0, 0, 0, 162,
- 0, 0, 0, 246, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 168, 160, 160, 160, 64, 172, 172, 172, 64,
- 12, 12, 12, 145, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 159, 190, 190, 190, 64, 190, 190, 190, 64,
- 23, 23, 23, 136, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 159, 190, 190, 190, 64, 190, 190, 190, 64,
- 23, 23, 23, 136, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 254, 0, 0, 0, 252,
- 0, 0, 0, 252, 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 159, 190, 190, 190, 64, 190, 190, 190, 64,
- 23, 23, 23, 136, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 254, 0, 0, 0, 247, 0, 0, 0, 235,
- 0, 0, 0, 234, 0, 0, 0, 245, 0, 0, 0, 254,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 159, 190, 190, 190, 64, 190, 190, 190, 64,
- 23, 23, 23, 136, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 252, 0, 0, 0, 234, 0, 0, 0, 214,
- 0, 0, 0, 212, 0, 0, 0, 231, 0, 0, 0, 251,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 159, 190, 190, 190, 64, 190, 190, 190, 64,
- 23, 23, 23, 136, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 251, 0, 0, 0, 230, 0, 0, 0, 208,
- 0, 0, 0, 207, 0, 0, 0, 226, 0, 0, 0, 250,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 159, 190, 190, 190, 64, 190, 190, 190, 64,
- 23, 23, 23, 136, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 251, 0, 0, 0, 230, 0, 0, 0, 208,
- 0, 0, 0, 207, 0, 0, 0, 226, 0, 0, 0, 250,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 168,
- 0, 0, 0, 159, 0, 0, 0, 159, 0, 0, 0, 159,
- 0, 0, 0, 159, 0, 0, 0, 159, 0, 0, 0, 159,
- 0, 0, 0, 112, 190, 190, 190, 64, 190, 190, 190, 64,
- 23, 23, 23, 100, 0, 0, 0, 159, 0, 0, 0, 159,
- 0, 0, 0, 157, 0, 0, 0, 144, 0, 0, 0, 130,
- 0, 0, 0, 129, 0, 0, 0, 169, 0, 0, 0, 250,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 168, 160, 160, 160, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 189, 189, 189, 63, 190, 190, 190, 57, 189, 189, 189, 52,
- 189, 189, 189, 52, 112, 112, 112, 57, 0, 0, 0, 213,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 162, 172, 172, 172, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 189, 189, 189, 63, 190, 190, 190, 57, 189, 189, 189, 52,
- 189, 189, 189, 52, 124, 124, 124, 57, 0, 0, 0, 207,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 246, 12, 12, 12, 145,
- 23, 23, 23, 136, 23, 23, 23, 136, 23, 23, 23, 136,
- 23, 23, 23, 136, 23, 23, 23, 136, 23, 23, 23, 135,
- 23, 23, 23, 98, 189, 189, 189, 63, 189, 189, 189, 63,
- 44, 44, 44, 89, 23, 23, 23, 133, 23, 23, 23, 133,
- 23, 23, 23, 131, 23, 23, 23, 121, 23, 23, 23, 110,
- 23, 23, 23, 110, 5, 5, 5, 146, 0, 0, 0, 246,
- 0, 0, 0, 251, 0, 0, 0, 251, 0, 0, 0, 251,
- 0, 0, 0, 251, 0, 0, 0, 252, 0, 0, 0, 253,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 254, 0, 0, 0, 247,
- 0, 0, 0, 147, 189, 189, 189, 58, 190, 190, 190, 57,
- 23, 23, 23, 122, 0, 0, 0, 230, 0, 0, 0, 230,
- 0, 0, 0, 228, 0, 0, 0, 217, 0, 0, 0, 206,
- 0, 0, 0, 205, 0, 0, 0, 215, 0, 0, 0, 227,
- 0, 0, 0, 230, 0, 0, 0, 230, 0, 0, 0, 230,
- 0, 0, 0, 230, 0, 0, 0, 230, 0, 0, 0, 237,
- 0, 0, 0, 250, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 235,
- 0, 0, 0, 135, 190, 190, 190, 52, 189, 189, 189, 52,
- 23, 23, 23, 111, 0, 0, 0, 208, 0, 0, 0, 208,
- 0, 0, 0, 208, 0, 0, 0, 206, 0, 0, 0, 204,
- 0, 0, 0, 204, 0, 0, 0, 206, 0, 0, 0, 208,
- 0, 0, 0, 208, 0, 0, 0, 208, 0, 0, 0, 208,
- 0, 0, 0, 208, 0, 0, 0, 209, 0, 0, 0, 217,
- 0, 0, 0, 241, 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 234,
- 0, 0, 0, 134, 189, 189, 189, 52, 189, 189, 189, 52,
- 23, 23, 23, 110, 0, 0, 0, 207, 0, 0, 0, 207,
- 0, 0, 0, 207, 0, 0, 0, 206, 0, 0, 0, 204,
- 0, 0, 0, 204, 0, 0, 0, 205, 0, 0, 0, 207,
- 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 207,
- 0, 0, 0, 207, 0, 0, 0, 208, 0, 0, 0, 216,
- 0, 0, 0, 240, 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 254, 0, 0, 0, 245,
- 0, 0, 0, 146, 189, 189, 189, 57, 189, 189, 189, 57,
- 23, 23, 23, 120, 0, 0, 0, 226, 0, 0, 0, 226,
- 0, 0, 0, 224, 0, 0, 0, 215, 0, 0, 0, 206,
- 0, 0, 0, 205, 0, 0, 0, 214, 0, 0, 0, 224,
- 0, 0, 0, 226, 0, 0, 0, 226, 0, 0, 0, 226,
- 0, 0, 0, 226, 0, 0, 0, 227, 0, 0, 0, 234,
- 0, 0, 0, 248, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 254,
- 0, 0, 0, 157, 189, 189, 189, 63, 189, 189, 189, 63,
- 23, 23, 23, 133, 0, 0, 0, 250, 0, 0, 0, 250,
- 0, 0, 0, 246, 0, 0, 0, 227, 0, 0, 0, 208,
- 0, 0, 0, 207, 0, 0, 0, 224, 0, 0, 0, 245,
- 0, 0, 0, 250, 0, 0, 0, 250, 0, 0, 0, 250,
- 0, 0, 0, 250, 0, 0, 0, 250, 0, 0, 0, 252,
- 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 159, 190, 190, 190, 64, 190, 190, 190, 64,
- 23, 23, 23, 136, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 251, 0, 0, 0, 230, 0, 0, 0, 208,
- 0, 0, 0, 207, 0, 0, 0, 226, 0, 0, 0, 250,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 168, 160, 160, 160, 64, 172, 172, 172, 64,
- 12, 12, 12, 145, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 251, 0, 0, 0, 230, 0, 0, 0, 208,
- 0, 0, 0, 207, 0, 0, 0, 226, 0, 0, 0, 250,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 252, 0, 0, 0, 168, 0, 0, 0, 162,
- 0, 0, 0, 246, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 251, 0, 0, 0, 230, 0, 0, 0, 208,
- 0, 0, 0, 207, 0, 0, 0, 226, 0, 0, 0, 250,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 251, 0, 0, 0, 230, 0, 0, 0, 208,
- 0, 0, 0, 207, 0, 0, 0, 226, 0, 0, 0, 250,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 251, 0, 0, 0, 230, 0, 0, 0, 208,
- 0, 0, 0, 207, 0, 0, 0, 226, 0, 0, 0, 250,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 252, 0, 0, 0, 234, 0, 0, 0, 214,
- 0, 0, 0, 212, 0, 0, 0, 231, 0, 0, 0, 251,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 254, 0, 0, 0, 247, 0, 0, 0, 235,
- 0, 0, 0, 234, 0, 0, 0, 245, 0, 0, 0, 254,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 254, 0, 0, 0, 252,
- 0, 0, 0, 252, 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255,
- },{
- 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 201,
- 0, 0, 0, 201, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 192, 107, 107, 107, 67,
- 107, 107, 107, 67, 0, 0, 0, 192, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 192, 107, 107, 107, 67, 190, 190, 190, 64,
- 190, 190, 190, 64, 107, 107, 107, 67, 0, 0, 0, 192,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 192,
- 107, 107, 107, 67, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 107, 107, 107, 67,
- 0, 0, 0, 192, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 253, 0, 0, 0, 253, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 192, 107, 107, 107, 67,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 107, 107, 107, 67, 0, 0, 0, 192, 0, 0, 0, 250,
- 0, 0, 0, 239, 0, 0, 0, 239, 0, 0, 0, 250,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 201, 107, 107, 107, 67, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 106, 106, 106, 65, 0, 0, 0, 184,
- 0, 0, 0, 216, 0, 0, 0, 216, 0, 0, 0, 234,
- 0, 0, 0, 249, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 204, 23, 23, 23, 136, 23, 23, 23, 136,
- 23, 23, 23, 136, 23, 23, 23, 100, 190, 190, 190, 64,
- 190, 190, 190, 64, 23, 23, 23, 100, 23, 23, 23, 135,
- 23, 23, 23, 132, 23, 23, 23, 122, 0, 0, 0, 170,
- 0, 0, 0, 206, 0, 0, 0, 206, 0, 0, 0, 215,
- 0, 0, 0, 234, 0, 0, 0, 249, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64,
- 190, 190, 190, 64, 0, 0, 0, 159, 0, 0, 0, 249,
- 0, 0, 0, 234, 0, 0, 0, 215, 0, 0, 0, 206,
- 0, 0, 0, 204, 0, 0, 0, 204, 0, 0, 0, 206,
- 0, 0, 0, 215, 0, 0, 0, 234, 0, 0, 0, 249,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64,
- 190, 190, 190, 64, 0, 0, 0, 155, 0, 0, 0, 234,
- 0, 0, 0, 215, 0, 0, 0, 206, 0, 0, 0, 204,
- 0, 0, 0, 204, 0, 0, 0, 204, 0, 0, 0, 204,
- 0, 0, 0, 206, 0, 0, 0, 215, 0, 0, 0, 234,
- 0, 0, 0, 250, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64,
- 189, 189, 189, 64, 0, 0, 0, 148, 0, 0, 0, 218,
- 0, 0, 0, 209, 0, 0, 0, 207, 0, 0, 0, 205,
- 0, 0, 0, 204, 0, 0, 0, 204, 0, 0, 0, 205,
- 0, 0, 0, 207, 0, 0, 0, 209, 0, 0, 0, 218,
- 0, 0, 0, 240, 0, 0, 0, 253, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64,
- 189, 189, 189, 64, 0, 0, 0, 150, 0, 0, 0, 229,
- 0, 0, 0, 226, 0, 0, 0, 224, 0, 0, 0, 215,
- 0, 0, 0, 206, 0, 0, 0, 206, 0, 0, 0, 215,
- 0, 0, 0, 224, 0, 0, 0, 226, 0, 0, 0, 229,
- 0, 0, 0, 242, 0, 0, 0, 253, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64,
- 190, 190, 190, 64, 0, 0, 0, 158, 0, 0, 0, 250,
- 0, 0, 0, 250, 0, 0, 0, 246, 0, 0, 0, 227,
- 0, 0, 0, 208, 0, 0, 0, 208, 0, 0, 0, 227,
- 0, 0, 0, 246, 0, 0, 0, 250, 0, 0, 0, 250,
- 0, 0, 0, 253, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64,
- 190, 190, 190, 64, 0, 0, 0, 159, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 251, 0, 0, 0, 230,
- 0, 0, 0, 208, 0, 0, 0, 208, 0, 0, 0, 230,
- 0, 0, 0, 251, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64,
- 190, 190, 190, 64, 0, 0, 0, 159, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 251, 0, 0, 0, 230,
- 0, 0, 0, 208, 0, 0, 0, 208, 0, 0, 0, 230,
- 0, 0, 0, 251, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64,
- 190, 190, 190, 64, 0, 0, 0, 159, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 251, 0, 0, 0, 230,
- 0, 0, 0, 208, 0, 0, 0, 208, 0, 0, 0, 230,
- 0, 0, 0, 251, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64,
- 190, 190, 190, 64, 0, 0, 0, 159, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 251, 0, 0, 0, 230,
- 0, 0, 0, 208, 0, 0, 0, 208, 0, 0, 0, 230,
- 0, 0, 0, 251, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 180, 68, 68, 68, 88, 71, 71, 71, 88,
- 71, 71, 71, 88, 71, 71, 71, 76, 190, 190, 190, 64,
- 190, 190, 190, 64, 71, 71, 71, 76, 71, 71, 71, 88,
- 71, 71, 71, 88, 68, 68, 68, 87, 0, 0, 0, 160,
- 0, 0, 0, 208, 0, 0, 0, 208, 0, 0, 0, 230,
- 0, 0, 0, 251, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 225, 62, 62, 62, 82, 187, 187, 187, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 187, 187, 187, 64, 62, 62, 62, 80, 0, 0, 0, 202,
- 0, 0, 0, 208, 0, 0, 0, 208, 0, 0, 0, 230,
- 0, 0, 0, 251, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 225, 62, 62, 62, 82,
- 187, 187, 187, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 187, 187, 187, 64,
- 62, 62, 62, 82, 0, 0, 0, 221, 0, 0, 0, 229,
- 0, 0, 0, 208, 0, 0, 0, 208, 0, 0, 0, 229,
- 0, 0, 0, 251, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 225,
- 62, 62, 62, 82, 187, 187, 187, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 186, 186, 186, 63, 61, 61, 61, 79,
- 0, 0, 0, 216, 0, 0, 0, 243, 0, 0, 0, 225,
- 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 225,
- 0, 0, 0, 243, 0, 0, 0, 246, 0, 0, 0, 247,
- 0, 0, 0, 251, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 225, 62, 62, 62, 82, 187, 187, 187, 64,
- 187, 187, 187, 63, 62, 62, 62, 76, 0, 0, 0, 197,
- 0, 0, 0, 220, 0, 0, 0, 218, 0, 0, 0, 212,
- 0, 0, 0, 205, 0, 0, 0, 205, 0, 0, 0, 212,
- 0, 0, 0, 218, 0, 0, 0, 220, 0, 0, 0, 224,
- 0, 0, 0, 240, 0, 0, 0, 253, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 225, 62, 62, 62, 82,
- 62, 62, 62, 81, 0, 0, 0, 213, 0, 0, 0, 221,
- 0, 0, 0, 208, 0, 0, 0, 206, 0, 0, 0, 205,
- 0, 0, 0, 204, 0, 0, 0, 204, 0, 0, 0, 205,
- 0, 0, 0, 206, 0, 0, 0, 208, 0, 0, 0, 221,
- 0, 0, 0, 242, 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 234,
- 0, 0, 0, 234, 0, 0, 0, 252, 0, 0, 0, 239,
- 0, 0, 0, 219, 0, 0, 0, 207, 0, 0, 0, 204,
- 0, 0, 0, 204, 0, 0, 0, 204, 0, 0, 0, 204,
- 0, 0, 0, 207, 0, 0, 0, 219, 0, 0, 0, 239,
- 0, 0, 0, 252, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 251,
- 0, 0, 0, 238, 0, 0, 0, 219, 0, 0, 0, 207,
- 0, 0, 0, 204, 0, 0, 0, 204, 0, 0, 0, 207,
- 0, 0, 0, 219, 0, 0, 0, 238, 0, 0, 0, 251,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 251, 0, 0, 0, 238, 0, 0, 0, 219,
- 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 219,
- 0, 0, 0, 238, 0, 0, 0, 251, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 251, 0, 0, 0, 239,
- 0, 0, 0, 221, 0, 0, 0, 221, 0, 0, 0, 239,
- 0, 0, 0, 251, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 252,
- 0, 0, 0, 244, 0, 0, 0, 244, 0, 0, 0, 252,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 254, 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255,
- },{
- 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 253,
- 20, 20, 20, 148, 15, 15, 15, 160, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 28, 28, 28, 128, 7, 7, 7, 177,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 246, 34, 34, 34, 122,
- 168, 168, 168, 64, 36, 36, 36, 133, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 73, 73, 73, 95, 149, 149, 149, 64,
- 16, 16, 16, 152, 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 236, 52, 52, 52, 103, 179, 179, 179, 64,
- 190, 190, 190, 64, 36, 36, 36, 133, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 254, 0, 0, 0, 253, 0, 0, 0, 254,
- 0, 0, 0, 255, 73, 73, 73, 95, 190, 190, 190, 64,
- 164, 164, 164, 64, 29, 29, 29, 128, 0, 0, 0, 249,
- 0, 0, 0, 255, 0, 0, 0, 253, 0, 0, 0, 253,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 222,
- 75, 75, 75, 87, 186, 186, 186, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 87, 87, 87, 83, 63, 63, 63, 117,
- 63, 63, 63, 117, 63, 63, 63, 117, 63, 63, 63, 116,
- 63, 63, 63, 111, 63, 63, 63, 109, 63, 63, 63, 115,
- 63, 63, 63, 117, 112, 112, 112, 73, 190, 190, 190, 64,
- 190, 190, 190, 64, 176, 176, 176, 64, 47, 47, 47, 108,
- 0, 0, 0, 238, 0, 0, 0, 239, 0, 0, 0, 234,
- 0, 0, 0, 248, 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 36, 36, 36, 106,
- 187, 187, 187, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 189, 189, 189, 63, 189, 189, 189, 59,
- 189, 189, 189, 54, 189, 189, 189, 55, 189, 189, 189, 62,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 173, 173, 173, 64,
- 11, 11, 11, 141, 0, 0, 0, 229, 0, 0, 0, 212,
- 0, 0, 0, 225, 0, 0, 0, 245, 0, 0, 0, 254,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 234,
- 56, 56, 56, 100, 181, 181, 181, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 70, 70, 70, 91, 42, 42, 42, 138,
- 42, 42, 42, 133, 42, 42, 42, 122, 42, 42, 42, 113,
- 42, 42, 42, 111, 42, 42, 42, 117, 42, 42, 42, 131,
- 42, 42, 42, 136, 99, 99, 99, 75, 190, 190, 190, 63,
- 190, 190, 190, 63, 167, 167, 167, 63, 32, 32, 32, 122,
- 0, 0, 0, 241, 0, 0, 0, 226, 0, 0, 0, 207,
- 0, 0, 0, 208, 0, 0, 0, 222, 0, 0, 0, 243,
- 0, 0, 0, 253, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 245, 37, 37, 37, 118, 170, 170, 170, 64,
- 190, 190, 190, 64, 35, 35, 35, 133, 0, 0, 0, 247,
- 0, 0, 0, 227, 0, 0, 0, 210, 0, 0, 0, 205,
- 0, 0, 0, 204, 0, 0, 0, 210, 0, 0, 0, 222,
- 0, 0, 0, 226, 73, 73, 73, 84, 189, 189, 189, 57,
- 151, 151, 151, 57, 18, 18, 18, 129, 0, 0, 0, 224,
- 0, 0, 0, 224, 0, 0, 0, 214, 0, 0, 0, 205,
- 0, 0, 0, 204, 0, 0, 0, 207, 0, 0, 0, 219,
- 0, 0, 0, 241, 0, 0, 0, 253, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 252, 22, 22, 22, 141,
- 156, 156, 156, 64, 36, 36, 36, 132, 0, 0, 0, 235,
- 0, 0, 0, 211, 0, 0, 0, 205, 0, 0, 0, 204,
- 0, 0, 0, 204, 0, 0, 0, 205, 0, 0, 0, 206,
- 0, 0, 0, 206, 73, 73, 73, 77, 131, 131, 131, 54,
- 8, 8, 8, 140, 0, 0, 0, 206, 0, 0, 0, 206,
- 0, 0, 0, 206, 0, 0, 0, 205, 0, 0, 0, 204,
- 0, 0, 0, 204, 0, 0, 0, 204, 0, 0, 0, 207,
- 0, 0, 0, 225, 0, 0, 0, 249, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 10, 10, 10, 170, 11, 11, 11, 173, 0, 0, 0, 245,
- 0, 0, 0, 224, 0, 0, 0, 209, 0, 0, 0, 204,
- 0, 0, 0, 204, 0, 0, 0, 209, 0, 0, 0, 219,
- 0, 0, 0, 222, 20, 20, 20, 129, 2, 2, 2, 173,
- 0, 0, 0, 222, 0, 0, 0, 222, 0, 0, 0, 222,
- 0, 0, 0, 221, 0, 0, 0, 212, 0, 0, 0, 205,
- 0, 0, 0, 204, 0, 0, 0, 206, 0, 0, 0, 217,
- 0, 0, 0, 238, 0, 0, 0, 253, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 254,
- 0, 0, 0, 247, 0, 0, 0, 227, 0, 0, 0, 210,
- 0, 0, 0, 205, 0, 0, 0, 216, 0, 0, 0, 242,
- 0, 0, 0, 250, 0, 0, 0, 251, 0, 0, 0, 251,
- 0, 0, 0, 251, 0, 0, 0, 251, 0, 0, 0, 251,
- 0, 0, 0, 247, 0, 0, 0, 226, 0, 0, 0, 207,
- 0, 0, 0, 207, 0, 0, 0, 220, 0, 0, 0, 241,
- 0, 0, 0, 253, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 254, 0, 0, 0, 249, 0, 0, 0, 231,
- 0, 0, 0, 213, 0, 0, 0, 218, 0, 0, 0, 246,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 252, 0, 0, 0, 228, 0, 0, 0, 211,
- 0, 0, 0, 223, 0, 0, 0, 243, 0, 0, 0, 253,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 250,
- 0, 0, 0, 236, 0, 0, 0, 231, 0, 0, 0, 249,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 253, 0, 0, 0, 237, 0, 0, 0, 231,
- 0, 0, 0, 246, 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 253, 0, 0, 0, 252, 0, 0, 0, 254,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 252,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255,
- },{
- 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 180,
- 0, 0, 0, 159, 0, 0, 0, 159, 0, 0, 0, 159,
- 0, 0, 0, 159, 0, 0, 0, 159, 0, 0, 0, 159,
- 0, 0, 0, 159, 0, 0, 0, 159, 0, 0, 0, 159,
- 0, 0, 0, 159, 0, 0, 0, 159, 0, 0, 0, 159,
- 0, 0, 0, 159, 0, 0, 0, 159, 0, 0, 0, 159,
- 0, 0, 0, 159, 0, 0, 0, 171, 0, 0, 0, 252,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 180, 139, 139, 139, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 157, 157, 157, 64, 5, 5, 5, 157,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 171, 157, 157, 157, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 172, 172, 172, 64, 8, 8, 8, 148,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 252, 5, 5, 5, 157,
- 23, 23, 23, 136, 23, 23, 23, 136, 23, 23, 23, 136,
- 23, 23, 23, 136, 23, 23, 23, 136, 23, 23, 23, 135,
- 23, 23, 23, 134, 23, 23, 23, 133, 23, 23, 23, 133,
- 23, 23, 23, 133, 23, 23, 23, 133, 23, 23, 23, 133,
- 23, 23, 23, 133, 23, 23, 23, 133, 23, 23, 23, 133,
- 23, 23, 23, 133, 9, 9, 9, 144, 0, 0, 0, 242,
- 0, 0, 0, 251, 0, 0, 0, 251, 0, 0, 0, 251,
- 0, 0, 0, 251, 0, 0, 0, 252, 0, 0, 0, 252,
- 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 254, 0, 0, 0, 248,
- 0, 0, 0, 236, 0, 0, 0, 194, 0, 0, 0, 173,
- 0, 0, 0, 230, 0, 0, 0, 230, 0, 0, 0, 230,
- 0, 0, 0, 230, 0, 0, 0, 230, 0, 0, 0, 230,
- 0, 0, 0, 230, 0, 0, 0, 230, 0, 0, 0, 230,
- 0, 0, 0, 230, 0, 0, 0, 230, 0, 0, 0, 230,
- 0, 0, 0, 230, 0, 0, 0, 230, 0, 0, 0, 235,
- 0, 0, 0, 247, 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 253, 0, 0, 0, 236,
- 0, 0, 0, 178, 83, 83, 83, 60, 127, 127, 127, 52,
- 3, 3, 3, 140, 0, 0, 0, 208, 0, 0, 0, 208,
- 0, 0, 0, 208, 0, 0, 0, 208, 0, 0, 0, 208,
- 0, 0, 0, 208, 0, 0, 0, 208, 0, 0, 0, 208,
- 0, 0, 0, 208, 0, 0, 0, 208, 0, 0, 0, 208,
- 0, 0, 0, 208, 0, 0, 0, 208, 0, 0, 0, 213,
- 0, 0, 0, 233, 0, 0, 0, 252, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 195,
- 83, 83, 83, 61, 189, 189, 189, 52, 189, 189, 189, 52,
- 127, 127, 127, 52, 3, 3, 3, 139, 0, 0, 0, 207,
- 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 207,
- 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 207,
- 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 207,
- 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 212,
- 0, 0, 0, 232, 0, 0, 0, 251, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 210, 82, 82, 82, 71,
- 190, 190, 190, 58, 189, 189, 189, 57, 189, 189, 189, 57,
- 189, 189, 189, 57, 127, 127, 127, 57, 2, 2, 2, 150,
- 0, 0, 0, 226, 0, 0, 0, 226, 0, 0, 0, 224,
- 0, 0, 0, 224, 0, 0, 0, 226, 0, 0, 0, 226,
- 0, 0, 0, 226, 0, 0, 0, 226, 0, 0, 0, 226,
- 0, 0, 0, 226, 0, 0, 0, 227, 0, 0, 0, 231,
- 0, 0, 0, 245, 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 210, 83, 83, 83, 73, 190, 190, 190, 64,
- 189, 189, 189, 63, 186, 186, 186, 63, 189, 189, 189, 63,
- 186, 186, 186, 63, 189, 189, 189, 63, 127, 127, 127, 63,
- 3, 3, 3, 167, 0, 0, 0, 245, 0, 0, 0, 235,
- 0, 0, 0, 233, 0, 0, 0, 243, 0, 0, 0, 249,
- 0, 0, 0, 250, 0, 0, 0, 250, 0, 0, 0, 250,
- 0, 0, 0, 250, 0, 0, 0, 250, 0, 0, 0, 251,
- 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 210,
- 83, 83, 83, 73, 190, 190, 190, 64, 190, 190, 190, 64,
- 83, 83, 83, 64, 166, 166, 166, 64, 190, 190, 190, 64,
- 68, 68, 68, 64, 181, 181, 181, 64, 190, 190, 190, 64,
- 127, 127, 127, 63, 3, 3, 3, 158, 0, 0, 0, 218,
- 0, 0, 0, 215, 0, 0, 0, 231, 0, 0, 0, 248,
- 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 210, 83, 83, 83, 73,
- 190, 190, 190, 64, 190, 190, 190, 64, 83, 83, 83, 73,
- 0, 0, 0, 139, 166, 166, 166, 64, 190, 190, 190, 64,
- 23, 23, 23, 118, 44, 44, 44, 94, 180, 180, 180, 63,
- 189, 189, 189, 59, 127, 127, 127, 54, 3, 3, 3, 139,
- 0, 0, 0, 206, 0, 0, 0, 213, 0, 0, 0, 231,
- 0, 0, 0, 248, 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 210, 83, 83, 83, 73, 190, 190, 190, 64,
- 190, 190, 190, 64, 83, 83, 83, 73, 0, 0, 0, 210,
- 0, 0, 0, 183, 166, 166, 166, 64, 190, 190, 190, 64,
- 23, 23, 23, 135, 0, 0, 0, 233, 44, 44, 44, 87,
- 181, 181, 181, 54, 189, 189, 189, 52, 127, 127, 127, 51,
- 2, 2, 2, 137, 0, 0, 0, 205, 0, 0, 0, 213,
- 0, 0, 0, 231, 0, 0, 0, 248, 0, 0, 0, 254,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 213,
- 83, 83, 83, 73, 190, 190, 190, 64, 190, 190, 190, 64,
- 83, 83, 83, 73, 0, 0, 0, 210, 0, 0, 0, 255,
- 0, 0, 0, 183, 166, 166, 166, 64, 190, 190, 190, 64,
- 24, 24, 24, 132, 0, 0, 0, 236, 0, 0, 0, 202,
- 44, 44, 44, 76, 180, 180, 180, 51, 189, 189, 189, 51,
- 127, 127, 127, 51, 3, 3, 3, 139, 0, 0, 0, 205,
- 0, 0, 0, 213, 0, 0, 0, 231, 0, 0, 0, 248,
- 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 189,
- 127, 127, 127, 64, 190, 190, 190, 64, 83, 83, 83, 73,
- 0, 0, 0, 210, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 183, 166, 166, 166, 64, 189, 189, 189, 63,
- 23, 23, 23, 124, 0, 0, 0, 217, 0, 0, 0, 207,
- 0, 0, 0, 191, 44, 44, 44, 76, 180, 180, 180, 51,
- 160, 160, 160, 51, 14, 14, 14, 115, 0, 0, 0, 206,
- 0, 0, 0, 206, 0, 0, 0, 213, 0, 0, 0, 231,
- 0, 0, 0, 248, 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 2, 2, 2, 171, 56, 56, 56, 73, 0, 0, 0, 210,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 183, 165, 165, 165, 63, 189, 189, 189, 59,
- 23, 23, 23, 114, 0, 0, 0, 207, 0, 0, 0, 206,
- 0, 0, 0, 214, 0, 0, 0, 202, 41, 41, 41, 77,
- 17, 17, 17, 102, 0, 0, 0, 212, 0, 0, 0, 216,
- 0, 0, 0, 208, 0, 0, 0, 206, 0, 0, 0, 213,
- 0, 0, 0, 231, 0, 0, 0, 248, 0, 0, 0, 254,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 181, 166, 166, 166, 59, 190, 190, 190, 54,
- 23, 23, 23, 109, 0, 0, 0, 207, 0, 0, 0, 217,
- 0, 0, 0, 233, 0, 0, 0, 229, 0, 0, 0, 209,
- 0, 0, 0, 207, 0, 0, 0, 223, 0, 0, 0, 235,
- 0, 0, 0, 221, 0, 0, 0, 208, 0, 0, 0, 206,
- 0, 0, 0, 213, 0, 0, 0, 231, 0, 0, 0, 248,
- 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 253,
- 0, 0, 0, 175, 165, 165, 165, 55, 189, 189, 189, 52,
- 23, 23, 23, 110, 0, 0, 0, 217, 0, 0, 0, 236,
- 0, 0, 0, 248, 0, 0, 0, 233, 0, 0, 0, 210,
- 0, 0, 0, 207, 0, 0, 0, 226, 0, 0, 0, 247,
- 0, 0, 0, 240, 0, 0, 0, 221, 0, 0, 0, 208,
- 0, 0, 0, 206, 0, 0, 0, 214, 0, 0, 0, 235,
- 0, 0, 0, 252, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 253,
- 0, 0, 0, 173, 166, 166, 166, 54, 189, 189, 189, 52,
- 23, 23, 23, 117, 0, 0, 0, 236, 0, 0, 0, 250,
- 0, 0, 0, 252, 0, 0, 0, 233, 0, 0, 0, 210,
- 0, 0, 0, 207, 0, 0, 0, 226, 0, 0, 0, 249,
- 0, 0, 0, 252, 0, 0, 0, 241, 0, 0, 0, 221,
- 0, 0, 0, 209, 0, 0, 0, 212, 0, 0, 0, 232,
- 0, 0, 0, 251, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 180, 166, 166, 166, 58, 189, 189, 189, 56,
- 24, 24, 24, 127, 0, 0, 0, 250, 0, 0, 0, 255,
- 0, 0, 0, 252, 0, 0, 0, 233, 0, 0, 0, 210,
- 0, 0, 0, 207, 0, 0, 0, 226, 0, 0, 0, 250,
- 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 241,
- 0, 0, 0, 226, 0, 0, 0, 229, 0, 0, 0, 245,
- 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 183, 165, 165, 165, 63, 189, 189, 189, 62,
- 23, 23, 23, 134, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 252, 0, 0, 0, 233, 0, 0, 0, 210,
- 0, 0, 0, 207, 0, 0, 0, 226, 0, 0, 0, 250,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 253,
- 0, 0, 0, 248, 0, 0, 0, 249, 0, 0, 0, 254,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 183, 166, 166, 166, 64, 190, 190, 190, 64,
- 23, 23, 23, 136, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 252, 0, 0, 0, 233, 0, 0, 0, 210,
- 0, 0, 0, 207, 0, 0, 0, 226, 0, 0, 0, 250,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 183, 166, 166, 166, 64, 190, 190, 190, 64,
- 23, 23, 23, 136, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 252, 0, 0, 0, 233, 0, 0, 0, 210,
- 0, 0, 0, 207, 0, 0, 0, 226, 0, 0, 0, 250,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 228, 0, 0, 0, 159, 0, 0, 0, 159,
- 0, 0, 0, 204, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 252, 0, 0, 0, 233, 0, 0, 0, 210,
- 0, 0, 0, 207, 0, 0, 0, 226, 0, 0, 0, 250,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 252, 0, 0, 0, 233, 0, 0, 0, 210,
- 0, 0, 0, 207, 0, 0, 0, 226, 0, 0, 0, 250,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 253, 0, 0, 0, 233, 0, 0, 0, 210,
- 0, 0, 0, 207, 0, 0, 0, 226, 0, 0, 0, 250,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 253, 0, 0, 0, 235, 0, 0, 0, 213,
- 0, 0, 0, 211, 0, 0, 0, 229, 0, 0, 0, 250,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 254, 0, 0, 0, 245, 0, 0, 0, 233,
- 0, 0, 0, 231, 0, 0, 0, 241, 0, 0, 0, 253,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 254, 0, 0, 0, 252,
- 0, 0, 0, 252, 0, 0, 0, 253, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255,
- },{
- 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 207,
- 0, 0, 0, 164, 0, 0, 0, 164, 0, 0, 0, 230,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 23, 23, 23, 136,
- 185, 185, 185, 64, 161, 161, 161, 64, 0, 0, 0, 183,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 23, 23, 23, 136,
- 190, 190, 190, 64, 166, 166, 166, 64, 0, 0, 0, 183,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 23, 23, 23, 136,
- 190, 190, 190, 64, 166, 166, 166, 64, 0, 0, 0, 183,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 253, 0, 0, 0, 251, 0, 0, 0, 251,
- 0, 0, 0, 253, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 23, 23, 23, 136,
- 190, 190, 190, 64, 166, 166, 166, 64, 0, 0, 0, 183,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 252,
- 0, 0, 0, 240, 0, 0, 0, 229, 0, 0, 0, 231,
- 0, 0, 0, 244, 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 23, 23, 23, 136,
- 190, 190, 190, 64, 166, 166, 166, 64, 0, 0, 0, 183,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 250,
- 0, 0, 0, 228, 0, 0, 0, 210, 0, 0, 0, 213,
- 0, 0, 0, 235, 0, 0, 0, 253, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 23, 23, 23, 136,
- 190, 190, 190, 64, 166, 166, 166, 64, 0, 0, 0, 183,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 250,
- 0, 0, 0, 226, 0, 0, 0, 207, 0, 0, 0, 210,
- 0, 0, 0, 233, 0, 0, 0, 252, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 23, 23, 23, 136,
- 190, 190, 190, 64, 166, 166, 166, 64, 0, 0, 0, 183,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 250,
- 0, 0, 0, 226, 0, 0, 0, 207, 0, 0, 0, 210,
- 0, 0, 0, 233, 0, 0, 0, 252, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 253, 13, 13, 13, 137,
- 35, 35, 35, 104, 0, 0, 0, 241, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 23, 23, 23, 136,
- 190, 190, 190, 64, 166, 166, 166, 64, 0, 0, 0, 183,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 250,
- 0, 0, 0, 193, 47, 47, 47, 67, 1, 1, 1, 149,
- 0, 0, 0, 233, 0, 0, 0, 252, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 12, 12, 12, 148, 153, 153, 153, 64,
- 177, 177, 177, 64, 37, 37, 37, 101, 0, 0, 0, 241,
- 0, 0, 0, 255, 0, 0, 0, 255, 23, 23, 23, 136,
- 190, 190, 190, 64, 166, 166, 166, 64, 0, 0, 0, 183,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 213,
- 73, 73, 73, 69, 187, 187, 187, 52, 117, 117, 117, 54,
- 0, 0, 0, 180, 0, 0, 0, 252, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 5, 5, 5, 166, 136, 136, 136, 64,
- 190, 190, 190, 64, 176, 176, 176, 64, 37, 37, 37, 101,
- 0, 0, 0, 242, 0, 0, 0, 255, 23, 23, 23, 136,
- 190, 190, 190, 64, 166, 166, 166, 64, 0, 0, 0, 183,
- 0, 0, 0, 255, 0, 0, 0, 218, 72, 72, 72, 76,
- 187, 187, 187, 57, 189, 189, 189, 52, 94, 94, 94, 58,
- 0, 0, 0, 191, 0, 0, 0, 252, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 6, 6, 6, 159,
- 137, 137, 137, 64, 190, 190, 190, 64, 176, 176, 176, 64,
- 36, 36, 36, 101, 0, 0, 0, 242, 23, 23, 23, 135,
- 189, 189, 189, 62, 165, 165, 165, 62, 0, 0, 0, 182,
- 0, 0, 0, 218, 73, 73, 73, 77, 188, 188, 188, 63,
- 189, 189, 189, 57, 95, 95, 95, 56, 0, 0, 0, 166,
- 0, 0, 0, 233, 0, 0, 0, 252, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 6, 6, 6, 159, 137, 137, 137, 64, 190, 190, 190, 64,
- 176, 176, 176, 64, 36, 36, 36, 101, 23, 23, 23, 119,
- 189, 189, 189, 57, 166, 166, 166, 56, 0, 0, 0, 140,
- 71, 71, 71, 77, 188, 188, 188, 64, 189, 189, 189, 63,
- 96, 96, 96, 61, 0, 0, 0, 162, 0, 0, 0, 210,
- 0, 0, 0, 233, 0, 0, 0, 252, 0, 0, 0, 255,
- 0, 0, 0, 250, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 6, 6, 6, 158, 138, 138, 138, 64,
- 190, 190, 190, 64, 176, 176, 176, 63, 60, 60, 60, 58,
- 190, 190, 190, 53, 166, 166, 166, 52, 71, 71, 71, 55,
- 188, 188, 188, 60, 189, 189, 189, 63, 96, 96, 96, 68,
- 0, 0, 0, 176, 0, 0, 0, 207, 0, 0, 0, 210,
- 0, 0, 0, 233, 0, 0, 0, 252, 0, 0, 0, 250,
- 0, 0, 0, 235, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 6, 6, 6, 157,
- 138, 138, 138, 64, 189, 189, 189, 63, 182, 182, 182, 59,
- 190, 190, 190, 54, 185, 185, 185, 51, 187, 187, 187, 52,
- 189, 189, 189, 55, 97, 97, 97, 65, 0, 0, 0, 192,
- 0, 0, 0, 226, 0, 0, 0, 207, 0, 0, 0, 210,
- 0, 0, 0, 233, 0, 0, 0, 247, 0, 0, 0, 235,
- 0, 0, 0, 216, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 6, 6, 6, 157, 138, 138, 138, 64, 189, 189, 189, 62,
- 190, 190, 190, 58, 189, 189, 189, 54, 189, 189, 189, 51,
- 97, 97, 97, 56, 0, 0, 0, 172, 0, 0, 0, 234,
- 0, 0, 0, 223, 0, 0, 0, 207, 0, 0, 0, 209,
- 0, 0, 0, 228, 0, 0, 0, 232, 0, 0, 0, 216,
- 0, 0, 0, 206, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 6, 6, 6, 156, 139, 139, 139, 64,
- 189, 189, 189, 62, 190, 190, 190, 58, 98, 98, 98, 58,
- 0, 0, 0, 160, 0, 0, 0, 208, 0, 0, 0, 216,
- 0, 0, 0, 214, 0, 0, 0, 206, 0, 0, 0, 207,
- 0, 0, 0, 216, 0, 0, 0, 214, 0, 0, 0, 206,
- 0, 0, 0, 207, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 7, 7, 7, 155,
- 139, 139, 139, 64, 99, 99, 99, 67, 0, 0, 0, 180,
- 0, 0, 0, 214, 0, 0, 0, 206, 0, 0, 0, 206,
- 0, 0, 0, 206, 0, 0, 0, 204, 0, 0, 0, 205,
- 0, 0, 0, 206, 0, 0, 0, 206, 0, 0, 0, 207,
- 0, 0, 0, 217, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 4, 4, 4, 172, 0, 0, 0, 200, 0, 0, 0, 248,
- 0, 0, 0, 232, 0, 0, 0, 214, 0, 0, 0, 206,
- 0, 0, 0, 204, 0, 0, 0, 204, 0, 0, 0, 204,
- 0, 0, 0, 204, 0, 0, 0, 207, 0, 0, 0, 217,
- 0, 0, 0, 237, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 251, 2, 2, 2, 165, 5, 5, 5, 153,
- 5, 5, 5, 153, 5, 5, 5, 153, 5, 5, 5, 153,
- 5, 5, 5, 153, 5, 5, 5, 153, 5, 5, 5, 153,
- 5, 5, 5, 153, 5, 5, 5, 153, 5, 5, 5, 153,
- 5, 5, 5, 148, 5, 5, 5, 137, 6, 6, 6, 127,
- 6, 6, 6, 123, 5, 5, 5, 122, 5, 5, 5, 122,
- 1, 1, 1, 141, 0, 0, 0, 217, 0, 0, 0, 237,
- 0, 0, 0, 251, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 6, 6, 6, 154, 161, 161, 161, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 189, 189, 189, 62, 190, 190, 190, 58,
- 189, 189, 189, 54, 189, 189, 189, 51, 189, 189, 189, 52,
- 143, 143, 143, 54, 0, 0, 0, 167, 0, 0, 0, 251,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 8, 8, 8, 149, 169, 169, 169, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 189, 189, 189, 62,
- 190, 190, 190, 58, 190, 190, 190, 54, 189, 189, 189, 55,
- 153, 153, 153, 59, 0, 0, 0, 171, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 247, 7, 7, 7, 152, 19, 19, 19, 140,
- 19, 19, 19, 140, 19, 19, 19, 140, 19, 19, 19, 140,
- 19, 19, 19, 140, 19, 19, 19, 139, 19, 19, 19, 137,
- 19, 19, 19, 136, 19, 19, 19, 136, 19, 19, 19, 136,
- 19, 19, 19, 136, 19, 19, 19, 135, 19, 19, 19, 135,
- 19, 19, 19, 133, 19, 19, 19, 129, 19, 19, 19, 130,
- 4, 4, 4, 154, 0, 0, 0, 247, 0, 0, 0, 250,
- 0, 0, 0, 250, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 254, 0, 0, 0, 245, 0, 0, 0, 231,
- 0, 0, 0, 226, 0, 0, 0, 226, 0, 0, 0, 226,
- 0, 0, 0, 226, 0, 0, 0, 226, 0, 0, 0, 226,
- 0, 0, 0, 225, 0, 0, 0, 223, 0, 0, 0, 224,
- 0, 0, 0, 225, 0, 0, 0, 226, 0, 0, 0, 226,
- 0, 0, 0, 226, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 251, 0, 0, 0, 232, 0, 0, 0, 212,
- 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 207,
- 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 207,
- 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 207,
- 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 207,
- 0, 0, 0, 207,
- },{
- 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 231,
- 0, 0, 0, 228, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 204, 92, 92, 92, 68,
- 106, 106, 106, 65, 0, 0, 0, 188, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 224, 0, 0, 0, 213,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 1, 1, 1, 158, 190, 190, 190, 64,
- 190, 190, 190, 64, 20, 20, 20, 139, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 212, 79, 79, 79, 77, 105, 105, 105, 68,
- 1, 1, 1, 191, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 1, 1, 1, 158, 190, 190, 190, 64,
- 190, 190, 190, 64, 20, 20, 20, 139, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 254, 0, 0, 0, 253, 0, 0, 0, 205,
- 88, 88, 88, 73, 189, 189, 189, 64, 188, 188, 188, 64,
- 45, 45, 45, 85, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 1, 1, 1, 158, 190, 190, 190, 64,
- 190, 190, 190, 64, 20, 20, 20, 139, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 250,
- 0, 0, 0, 239, 0, 0, 0, 184, 98, 98, 98, 68,
- 189, 189, 189, 64, 187, 187, 187, 64, 68, 68, 68, 82,
- 0, 0, 0, 220, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 253,
- 0, 0, 0, 253, 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 1, 1, 1, 158, 190, 190, 190, 64,
- 190, 190, 190, 64, 20, 20, 20, 139, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 253, 0, 0, 0, 238,
- 1, 1, 1, 162, 108, 108, 108, 57, 190, 190, 190, 58,
- 184, 184, 184, 63, 60, 60, 60, 86, 0, 0, 0, 226,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 250, 0, 0, 0, 239,
- 0, 0, 0, 235, 0, 0, 0, 247, 0, 0, 0, 254,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 1, 1, 1, 158, 190, 190, 190, 64,
- 190, 190, 190, 64, 20, 20, 20, 139, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 252, 2, 2, 2, 166,
- 117, 117, 117, 54, 189, 189, 189, 52, 181, 181, 181, 56,
- 52, 52, 52, 90, 0, 0, 0, 231, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 249, 0, 0, 0, 234, 0, 0, 0, 216,
- 0, 0, 0, 213, 0, 0, 0, 229, 0, 0, 0, 249,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 1, 1, 1, 158, 190, 190, 190, 64,
- 190, 190, 190, 64, 20, 20, 20, 139, 0, 0, 0, 255,
- 0, 0, 0, 255, 3, 3, 3, 170, 126, 126, 126, 59,
- 190, 190, 190, 52, 178, 178, 178, 52, 44, 44, 44, 86,
- 0, 0, 0, 231, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 254, 0, 0, 0, 249,
- 0, 0, 0, 233, 0, 0, 0, 214, 0, 0, 0, 206,
- 0, 0, 0, 208, 0, 0, 0, 225, 0, 0, 0, 247,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 1, 1, 1, 158, 190, 190, 190, 64,
- 190, 190, 190, 64, 20, 20, 20, 139, 0, 0, 0, 255,
- 6, 6, 6, 161, 135, 135, 135, 63, 190, 190, 190, 58,
- 185, 185, 185, 52, 70, 70, 70, 52, 33, 33, 33, 104,
- 33, 33, 33, 128, 33, 33, 33, 132, 33, 33, 33, 132,
- 32, 32, 32, 131, 32, 32, 32, 129, 32, 32, 32, 121,
- 32, 32, 32, 112, 33, 33, 33, 106, 32, 32, 32, 107,
- 32, 32, 32, 112, 30, 30, 30, 123, 0, 0, 0, 209,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 1, 1, 1, 158, 190, 190, 190, 64,
- 190, 190, 190, 64, 20, 20, 20, 139, 0, 0, 0, 178,
- 140, 140, 140, 64, 190, 190, 190, 63, 190, 190, 190, 58,
- 190, 190, 190, 52, 189, 189, 189, 52, 189, 189, 189, 56,
- 189, 189, 189, 62, 190, 190, 190, 64, 190, 190, 190, 64,
- 189, 189, 189, 62, 189, 189, 189, 58, 190, 190, 190, 53,
- 189, 189, 189, 51, 189, 189, 189, 52, 189, 189, 189, 56,
- 190, 190, 190, 60, 175, 175, 175, 63, 0, 0, 0, 174,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 1, 1, 1, 158, 190, 190, 190, 64,
- 190, 190, 190, 64, 20, 20, 20, 139, 0, 0, 0, 224,
- 64, 64, 64, 84, 186, 186, 186, 63, 190, 190, 190, 58,
- 185, 185, 185, 52, 136, 136, 136, 52, 136, 136, 136, 56,
- 135, 135, 135, 62, 135, 135, 135, 64, 135, 135, 135, 62,
- 135, 135, 135, 58, 135, 135, 135, 53, 135, 135, 135, 51,
- 135, 135, 135, 52, 135, 135, 135, 56, 135, 135, 135, 61,
- 135, 135, 135, 63, 125, 125, 125, 64, 0, 0, 0, 175,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 1, 1, 1, 158, 190, 190, 190, 64,
- 190, 190, 190, 64, 20, 20, 20, 139, 0, 0, 0, 255,
- 0, 0, 0, 229, 56, 56, 56, 88, 183, 183, 183, 58,
- 190, 190, 190, 52, 112, 112, 112, 52, 1, 1, 1, 132,
- 0, 0, 0, 212, 0, 0, 0, 211, 0, 0, 0, 195,
- 0, 0, 0, 181, 0, 0, 0, 176, 0, 0, 0, 177,
- 0, 0, 0, 186, 0, 0, 0, 201, 0, 0, 0, 209,
- 0, 0, 0, 210, 0, 0, 0, 211, 0, 0, 0, 238,
- 0, 0, 0, 246, 0, 0, 0, 246, 0, 0, 0, 246,
- 0, 0, 0, 246, 0, 0, 0, 247, 0, 0, 0, 247,
- 0, 0, 0, 251, 0, 0, 0, 255,
- 0, 0, 0, 255, 1, 1, 1, 158, 190, 190, 190, 64,
- 190, 190, 190, 64, 20, 20, 20, 139, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 232, 47, 47, 47, 87,
- 180, 180, 180, 52, 189, 189, 189, 52, 122, 122, 122, 57,
- 3, 3, 3, 166, 0, 0, 0, 227, 0, 0, 0, 211,
- 0, 0, 0, 205, 0, 0, 0, 204, 0, 0, 0, 205,
- 0, 0, 0, 211, 0, 0, 0, 217, 0, 0, 0, 219,
- 0, 0, 0, 219, 0, 0, 0, 219, 0, 0, 0, 219,
- 0, 0, 0, 219, 0, 0, 0, 219, 0, 0, 0, 219,
- 0, 0, 0, 219, 0, 0, 0, 219, 0, 0, 0, 222,
- 0, 0, 0, 237, 0, 0, 0, 255,
- 0, 0, 0, 255, 1, 1, 1, 158, 190, 190, 190, 64,
- 190, 190, 190, 64, 20, 20, 20, 139, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 218,
- 40, 40, 40, 83, 176, 176, 176, 52, 189, 189, 189, 56,
- 130, 130, 130, 59, 5, 5, 5, 139, 0, 0, 0, 205,
- 0, 0, 0, 204, 0, 0, 0, 204, 0, 0, 0, 204,
- 0, 0, 0, 205, 0, 0, 0, 206, 0, 0, 0, 206,
- 0, 0, 0, 206, 0, 0, 0, 206, 0, 0, 0, 206,
- 0, 0, 0, 206, 0, 0, 0, 206, 0, 0, 0, 206,
- 0, 0, 0, 206, 0, 0, 0, 206, 0, 0, 0, 209,
- 0, 0, 0, 230, 0, 0, 0, 255,
- 0, 0, 0, 255, 1, 1, 1, 158, 190, 190, 190, 64,
- 190, 190, 190, 64, 20, 20, 20, 139, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 232,
- 0, 0, 0, 199, 34, 34, 34, 86, 172, 172, 172, 56,
- 189, 189, 189, 60, 137, 137, 137, 57, 8, 8, 8, 127,
- 0, 0, 0, 204, 0, 0, 0, 204, 0, 0, 0, 205,
- 0, 0, 0, 210, 0, 0, 0, 215, 0, 0, 0, 217,
- 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 217,
- 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 217,
- 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 220,
- 0, 0, 0, 236, 0, 0, 0, 255,
- 0, 0, 0, 255, 1, 1, 1, 158, 190, 190, 190, 64,
- 190, 190, 190, 64, 20, 20, 20, 139, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 232,
- 0, 0, 0, 209, 0, 0, 0, 199, 28, 28, 28, 99,
- 168, 168, 168, 62, 190, 190, 190, 61, 145, 145, 145, 57,
- 11, 11, 11, 120, 0, 0, 0, 205, 0, 0, 0, 206,
- 0, 0, 0, 217, 0, 0, 0, 234, 0, 0, 0, 242,
- 0, 0, 0, 244, 0, 0, 0, 244, 0, 0, 0, 244,
- 0, 0, 0, 244, 0, 0, 0, 244, 0, 0, 0, 244,
- 0, 0, 0, 244, 0, 0, 0, 244, 0, 0, 0, 245,
- 0, 0, 0, 250, 0, 0, 0, 255,
- 0, 0, 0, 255, 1, 1, 1, 158, 190, 190, 190, 64,
- 190, 190, 190, 64, 20, 20, 20, 139, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 232,
- 0, 0, 0, 209, 0, 0, 0, 206, 0, 0, 0, 218,
- 23, 23, 23, 118, 162, 162, 162, 64, 175, 175, 175, 62,
- 35, 35, 35, 94, 0, 0, 0, 211, 0, 0, 0, 205,
- 0, 0, 0, 209, 0, 0, 0, 224, 0, 0, 0, 243,
- 0, 0, 0, 253, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 1, 1, 1, 160, 181, 181, 181, 64,
- 187, 187, 187, 64, 14, 14, 14, 141, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 232,
- 0, 0, 0, 209, 0, 0, 0, 206, 0, 0, 0, 224,
- 0, 0, 0, 245, 19, 19, 19, 133, 32, 32, 32, 113,
- 0, 0, 0, 235, 0, 0, 0, 229, 0, 0, 0, 212,
- 0, 0, 0, 206, 0, 0, 0, 209, 0, 0, 0, 224,
- 0, 0, 0, 243, 0, 0, 0, 253, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 235, 36, 36, 36, 110,
- 43, 43, 43, 103, 0, 0, 0, 225, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 232,
- 0, 0, 0, 209, 0, 0, 0, 206, 0, 0, 0, 224,
- 0, 0, 0, 249, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 254, 0, 0, 0, 247, 0, 0, 0, 230,
- 0, 0, 0, 212, 0, 0, 0, 206, 0, 0, 0, 209,
- 0, 0, 0, 223, 0, 0, 0, 242, 0, 0, 0, 253,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 232,
- 0, 0, 0, 209, 0, 0, 0, 206, 0, 0, 0, 224,
- 0, 0, 0, 249, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 254, 0, 0, 0, 248,
- 0, 0, 0, 231, 0, 0, 0, 213, 0, 0, 0, 206,
- 0, 0, 0, 209, 0, 0, 0, 226, 0, 0, 0, 248,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 233,
- 0, 0, 0, 209, 0, 0, 0, 207, 0, 0, 0, 224,
- 0, 0, 0, 249, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 254,
- 0, 0, 0, 248, 0, 0, 0, 232, 0, 0, 0, 214,
- 0, 0, 0, 211, 0, 0, 0, 228, 0, 0, 0, 248,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 253, 0, 0, 0, 236,
- 0, 0, 0, 214, 0, 0, 0, 210, 0, 0, 0, 229,
- 0, 0, 0, 250, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 254, 0, 0, 0, 249, 0, 0, 0, 236,
- 0, 0, 0, 233, 0, 0, 0, 245, 0, 0, 0, 254,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 254, 0, 0, 0, 247,
- 0, 0, 0, 234, 0, 0, 0, 231, 0, 0, 0, 243,
- 0, 0, 0, 253, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 253,
- 0, 0, 0, 252, 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255,
- },{
- 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 173,
- 0, 0, 0, 182, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 191, 0, 0, 0, 215, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 5, 5, 5, 158, 155, 155, 155, 64,
- 137, 137, 137, 64, 0, 0, 0, 181, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 2, 2, 2, 174,
- 125, 125, 125, 64, 80, 80, 80, 74, 0, 0, 0, 212,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 23, 23, 23, 136, 190, 190, 190, 64,
- 190, 190, 190, 64, 0, 0, 0, 159, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 57, 57, 57, 72,
- 190, 190, 190, 64, 189, 189, 189, 64, 79, 79, 79, 74,
- 0, 0, 0, 213, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 23, 23, 23, 136, 190, 190, 190, 64,
- 190, 190, 190, 64, 0, 0, 0, 159, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 207,
- 87, 87, 87, 72, 190, 190, 190, 64, 189, 189, 189, 64,
- 79, 79, 79, 74, 0, 0, 0, 213, 0, 0, 0, 255,
- 0, 0, 0, 254, 0, 0, 0, 252, 0, 0, 0, 253,
- 0, 0, 0, 255, 23, 23, 23, 136, 190, 190, 190, 64,
- 190, 190, 190, 64, 0, 0, 0, 159, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 207, 87, 87, 87, 72, 190, 190, 190, 64,
- 189, 189, 189, 64, 78, 78, 78, 75, 0, 0, 0, 213,
- 0, 0, 0, 247, 0, 0, 0, 236, 0, 0, 0, 238,
- 0, 0, 0, 250, 23, 23, 23, 135, 190, 190, 190, 64,
- 190, 190, 190, 64, 0, 0, 0, 160, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 206, 89, 89, 89, 71,
- 190, 190, 190, 64, 189, 189, 189, 64, 78, 78, 78, 73,
- 0, 0, 0, 193, 0, 0, 0, 214, 0, 0, 0, 216,
- 0, 0, 0, 234, 23, 23, 23, 132, 190, 190, 190, 64,
- 190, 190, 190, 64, 0, 0, 0, 159, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 206,
- 89, 89, 89, 71, 190, 190, 190, 64, 189, 189, 189, 62,
- 77, 77, 77, 66, 0, 0, 0, 174, 0, 0, 0, 206,
- 0, 0, 0, 215, 23, 23, 23, 123, 189, 189, 189, 63,
- 190, 190, 190, 64, 0, 0, 0, 160, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 232, 0, 0, 0, 190, 0, 0, 0, 190,
- 0, 0, 0, 190, 0, 0, 0, 190, 0, 0, 0, 190,
- 0, 0, 0, 190, 0, 0, 0, 190, 0, 0, 0, 190,
- 0, 0, 0, 190, 0, 0, 0, 190, 0, 0, 0, 190,
- 0, 0, 0, 141, 90, 90, 90, 64, 190, 190, 190, 63,
- 188, 188, 188, 60, 76, 76, 76, 64, 0, 0, 0, 174,
- 0, 0, 0, 206, 23, 23, 23, 113, 189, 189, 189, 59,
- 189, 189, 189, 63, 0, 0, 0, 159, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 160, 158, 158, 158, 64, 158, 158, 158, 64,
- 158, 158, 158, 64, 158, 158, 158, 64, 158, 158, 158, 64,
- 158, 158, 158, 64, 158, 158, 158, 64, 158, 158, 158, 64,
- 158, 158, 158, 64, 158, 158, 158, 64, 158, 158, 158, 64,
- 158, 158, 158, 64, 158, 158, 158, 64, 187, 187, 187, 64,
- 189, 189, 189, 63, 188, 188, 188, 60, 76, 76, 76, 64,
- 0, 0, 0, 176, 23, 23, 23, 109, 190, 190, 190, 54,
- 189, 189, 189, 59, 0, 0, 0, 157, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 159, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 189, 189, 189, 63, 132, 132, 132, 60,
- 0, 0, 0, 158, 23, 23, 23, 110, 189, 189, 189, 52,
- 190, 190, 190, 54, 0, 0, 0, 149, 0, 0, 0, 250,
- 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 200, 32, 32, 32, 127, 32, 32, 32, 127,
- 32, 32, 32, 127, 32, 32, 32, 127, 32, 32, 32, 127,
- 32, 32, 32, 126, 32, 32, 32, 126, 32, 32, 32, 124,
- 32, 32, 32, 124, 32, 32, 32, 124, 32, 32, 32, 124,
- 32, 32, 32, 110, 71, 71, 71, 63, 187, 187, 187, 63,
- 189, 189, 189, 63, 134, 134, 134, 63, 4, 4, 4, 157,
- 0, 0, 0, 234, 23, 23, 23, 116, 189, 189, 189, 51,
- 189, 189, 189, 52, 0, 0, 0, 136, 0, 0, 0, 235,
- 0, 0, 0, 250, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 254, 0, 0, 0, 244, 0, 0, 0, 233,
- 0, 0, 0, 231, 0, 0, 0, 231, 0, 0, 0, 219,
- 38, 38, 38, 92, 176, 176, 176, 58, 190, 190, 190, 58,
- 134, 134, 134, 58, 5, 5, 5, 145, 0, 0, 0, 231,
- 0, 0, 0, 227, 23, 23, 23, 116, 189, 189, 189, 52,
- 189, 189, 189, 51, 0, 0, 0, 129, 0, 0, 0, 216,
- 0, 0, 0, 234, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 252, 0, 0, 0, 232, 0, 0, 0, 212,
- 0, 0, 0, 209, 0, 0, 0, 197, 37, 37, 37, 82,
- 177, 177, 177, 52, 190, 190, 190, 52, 135, 135, 135, 52,
- 5, 5, 5, 131, 0, 0, 0, 209, 0, 0, 0, 209,
- 0, 0, 0, 208, 23, 23, 23, 110, 189, 189, 189, 51,
- 189, 189, 189, 51, 0, 0, 0, 128, 0, 0, 0, 206,
- 0, 0, 0, 217, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 252, 0, 0, 0, 232, 0, 0, 0, 211,
- 0, 0, 0, 196, 37, 37, 37, 81, 176, 176, 176, 52,
- 189, 189, 189, 52, 135, 135, 135, 52, 5, 5, 5, 131,
- 0, 0, 0, 208, 0, 0, 0, 208, 0, 0, 0, 208,
- 0, 0, 0, 207, 23, 23, 23, 110, 189, 189, 189, 51,
- 189, 189, 189, 51, 0, 0, 0, 128, 0, 0, 0, 206,
- 0, 0, 0, 216, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 253, 0, 0, 0, 242, 0, 0, 0, 218,
- 36, 36, 36, 89, 177, 177, 177, 57, 190, 190, 190, 57,
- 136, 136, 136, 57, 5, 5, 5, 145, 0, 0, 0, 228,
- 0, 0, 0, 228, 0, 0, 0, 228, 0, 0, 0, 228,
- 0, 0, 0, 225, 24, 24, 24, 115, 189, 189, 189, 52,
- 189, 189, 189, 51, 0, 0, 0, 129, 0, 0, 0, 214,
- 0, 0, 0, 232, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 253, 35, 35, 35, 99,
- 176, 176, 176, 63, 189, 189, 189, 63, 136, 136, 136, 63,
- 6, 6, 6, 157, 0, 0, 0, 250, 0, 0, 0, 250,
- 0, 0, 0, 250, 0, 0, 0, 250, 0, 0, 0, 247,
- 0, 0, 0, 235, 23, 23, 23, 116, 189, 189, 189, 51,
- 189, 189, 189, 51, 0, 0, 0, 135, 0, 0, 0, 232,
- 0, 0, 0, 248, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 24, 24, 24, 117,
- 167, 167, 167, 64, 137, 137, 137, 64, 6, 6, 6, 159,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 239,
- 0, 0, 0, 220, 23, 23, 23, 111, 189, 189, 189, 51,
- 189, 189, 189, 54, 0, 0, 0, 147, 0, 0, 0, 249,
- 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 249,
- 21, 21, 21, 128, 6, 6, 6, 161, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 252, 0, 0, 0, 240, 0, 0, 0, 220,
- 0, 0, 0, 208, 10, 10, 10, 116, 176, 176, 176, 54,
- 163, 163, 163, 58, 0, 0, 0, 165, 0, 0, 0, 254,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 253,
- 0, 0, 0, 240, 0, 0, 0, 220, 0, 0, 0, 208,
- 0, 0, 0, 206, 0, 0, 0, 202, 17, 17, 17, 123,
- 13, 13, 13, 140, 0, 0, 0, 248, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 248,
- 0, 0, 0, 226, 0, 0, 0, 208, 0, 0, 0, 206,
- 0, 0, 0, 214, 0, 0, 0, 232, 0, 0, 0, 248,
- 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 249,
- 0, 0, 0, 229, 0, 0, 0, 212, 0, 0, 0, 214,
- 0, 0, 0, 232, 0, 0, 0, 248, 0, 0, 0, 254,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 254,
- 0, 0, 0, 246, 0, 0, 0, 233, 0, 0, 0, 236,
- 0, 0, 0, 249, 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 254, 0, 0, 0, 251, 0, 0, 0, 252,
- 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255,
- },{
- 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 180,
- 0, 0, 0, 159, 0, 0, 0, 159, 0, 0, 0, 159,
- 0, 0, 0, 159, 0, 0, 0, 159, 0, 0, 0, 159,
- 0, 0, 0, 159, 0, 0, 0, 159, 0, 0, 0, 159,
- 0, 0, 0, 159, 0, 0, 0, 159, 0, 0, 0, 159,
- 0, 0, 0, 159, 0, 0, 0, 159, 0, 0, 0, 159,
- 0, 0, 0, 159, 0, 0, 0, 168, 0, 0, 0, 252,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 177, 142, 142, 142, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 160, 160, 160, 64, 0, 0, 0, 168,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 172, 172, 172, 64, 0, 0, 0, 162,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64,
- 190, 190, 190, 64, 44, 44, 44, 91, 23, 23, 23, 136,
- 23, 23, 23, 136, 23, 23, 23, 136, 23, 23, 23, 135,
- 23, 23, 23, 134, 23, 23, 23, 133, 23, 23, 23, 133,
- 23, 23, 23, 133, 23, 23, 23, 133, 23, 23, 23, 133,
- 23, 23, 23, 133, 23, 23, 23, 133, 23, 23, 23, 133,
- 23, 23, 23, 133, 12, 12, 12, 141, 0, 0, 0, 242,
- 0, 0, 0, 251, 0, 0, 0, 251, 0, 0, 0, 251,
- 0, 0, 0, 251, 0, 0, 0, 252, 0, 0, 0, 252,
- 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64,
- 190, 190, 190, 64, 23, 23, 23, 136, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 254, 0, 0, 0, 248,
- 0, 0, 0, 236, 0, 0, 0, 230, 0, 0, 0, 230,
- 0, 0, 0, 230, 0, 0, 0, 230, 0, 0, 0, 230,
- 0, 0, 0, 230, 0, 0, 0, 230, 0, 0, 0, 230,
- 0, 0, 0, 230, 0, 0, 0, 230, 0, 0, 0, 230,
- 0, 0, 0, 230, 0, 0, 0, 230, 0, 0, 0, 230,
- 0, 0, 0, 230, 0, 0, 0, 230, 0, 0, 0, 234,
- 0, 0, 0, 247, 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64,
- 190, 190, 190, 64, 23, 23, 23, 136, 0, 0, 0, 255,
- 0, 0, 0, 216, 0, 0, 0, 158, 0, 0, 0, 148,
- 0, 0, 0, 135, 0, 0, 0, 131, 0, 0, 0, 131,
- 0, 0, 0, 131, 0, 0, 0, 131, 0, 0, 0, 131,
- 0, 0, 0, 131, 0, 0, 0, 131, 0, 0, 0, 131,
- 0, 0, 0, 131, 0, 0, 0, 177, 0, 0, 0, 208,
- 0, 0, 0, 208, 0, 0, 0, 208, 0, 0, 0, 208,
- 0, 0, 0, 208, 0, 0, 0, 208, 0, 0, 0, 214,
- 0, 0, 0, 235, 0, 0, 0, 252, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64,
- 190, 190, 190, 64, 23, 23, 23, 136, 0, 0, 0, 255,
- 0, 0, 0, 159, 189, 189, 189, 63, 189, 189, 189, 58,
- 190, 190, 190, 52, 189, 189, 189, 51, 189, 189, 189, 51,
- 189, 189, 189, 52, 189, 189, 189, 52, 189, 189, 189, 52,
- 189, 189, 189, 52, 189, 189, 189, 52, 189, 189, 189, 52,
- 189, 189, 189, 52, 0, 0, 0, 129, 0, 0, 0, 207,
- 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 207,
- 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 212,
- 0, 0, 0, 234, 0, 0, 0, 252, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64,
- 190, 190, 190, 64, 23, 23, 23, 136, 0, 0, 0, 255,
- 0, 0, 0, 159, 189, 189, 189, 63, 190, 190, 190, 57,
- 189, 189, 189, 52, 189, 189, 189, 51, 189, 189, 189, 54,
- 189, 189, 189, 56, 189, 189, 189, 57, 189, 189, 189, 57,
- 189, 189, 189, 57, 189, 189, 189, 57, 189, 189, 189, 57,
- 189, 189, 189, 57, 0, 0, 0, 141, 0, 0, 0, 226,
- 0, 0, 0, 226, 0, 0, 0, 226, 0, 0, 0, 226,
- 0, 0, 0, 226, 0, 0, 0, 226, 0, 0, 0, 231,
- 0, 0, 0, 245, 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64,
- 190, 190, 190, 64, 23, 23, 23, 136, 0, 0, 0, 255,
- 0, 0, 0, 159, 189, 189, 189, 63, 190, 190, 190, 57,
- 189, 189, 189, 52, 171, 171, 171, 52, 29, 29, 29, 59,
- 0, 0, 0, 146, 0, 0, 0, 156, 0, 0, 0, 154,
- 0, 0, 0, 154, 0, 0, 0, 154, 0, 0, 0, 154,
- 0, 0, 0, 154, 0, 0, 0, 209, 0, 0, 0, 246,
- 0, 0, 0, 246, 0, 0, 0, 246, 0, 0, 0, 246,
- 0, 0, 0, 246, 0, 0, 0, 246, 0, 0, 0, 249,
- 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64,
- 190, 190, 190, 64, 23, 23, 23, 136, 0, 0, 0, 255,
- 0, 0, 0, 159, 189, 189, 189, 63, 190, 190, 190, 57,
- 172, 172, 172, 52, 189, 189, 189, 52, 171, 171, 171, 57,
- 29, 29, 29, 106, 0, 0, 0, 234, 0, 0, 0, 232,
- 0, 0, 0, 230, 0, 0, 0, 229, 0, 0, 0, 229,
- 0, 0, 0, 229, 0, 0, 0, 229, 0, 0, 0, 229,
- 0, 0, 0, 229, 0, 0, 0, 229, 0, 0, 0, 229,
- 0, 0, 0, 230, 0, 0, 0, 232, 0, 0, 0, 243,
- 0, 0, 0, 253, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64,
- 190, 190, 190, 64, 23, 23, 23, 136, 0, 0, 0, 255,
- 0, 0, 0, 159, 189, 189, 189, 63, 190, 190, 190, 57,
- 29, 29, 29, 55, 171, 171, 171, 52, 189, 189, 189, 57,
- 171, 171, 171, 62, 29, 29, 29, 98, 0, 0, 0, 204,
- 0, 0, 0, 208, 0, 0, 0, 208, 0, 0, 0, 208,
- 0, 0, 0, 208, 0, 0, 0, 208, 0, 0, 0, 208,
- 0, 0, 0, 208, 0, 0, 0, 208, 0, 0, 0, 208,
- 0, 0, 0, 208, 0, 0, 0, 212, 0, 0, 0, 232,
- 0, 0, 0, 252, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64,
- 190, 190, 190, 64, 23, 23, 23, 136, 0, 0, 0, 255,
- 0, 0, 0, 159, 189, 189, 189, 63, 190, 190, 190, 57,
- 0, 0, 0, 122, 29, 29, 29, 88, 171, 171, 171, 57,
- 189, 189, 189, 62, 172, 172, 172, 57, 30, 30, 30, 88,
- 0, 0, 0, 197, 0, 0, 0, 204, 0, 0, 0, 204,
- 0, 0, 0, 205, 0, 0, 0, 207, 0, 0, 0, 208,
- 0, 0, 0, 208, 0, 0, 0, 208, 0, 0, 0, 208,
- 0, 0, 0, 208, 0, 0, 0, 212, 0, 0, 0, 232,
- 0, 0, 0, 252, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64,
- 190, 190, 190, 64, 23, 23, 23, 136, 0, 0, 0, 255,
- 0, 0, 0, 159, 189, 189, 189, 63, 190, 190, 190, 57,
- 0, 0, 0, 129, 0, 0, 0, 200, 29, 29, 29, 95,
- 171, 171, 171, 62, 190, 190, 190, 57, 172, 172, 172, 52,
- 29, 29, 29, 87, 0, 0, 0, 197, 0, 0, 0, 204,
- 0, 0, 0, 208, 0, 0, 0, 219, 0, 0, 0, 228,
- 0, 0, 0, 230, 0, 0, 0, 230, 0, 0, 0, 230,
- 0, 0, 0, 230, 0, 0, 0, 232, 0, 0, 0, 243,
- 0, 0, 0, 253, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64,
- 190, 190, 190, 64, 23, 23, 23, 136, 0, 0, 0, 255,
- 0, 0, 0, 159, 189, 189, 189, 63, 190, 190, 190, 57,
- 0, 0, 0, 129, 0, 0, 0, 207, 0, 0, 0, 218,
- 29, 29, 29, 105, 172, 172, 172, 57, 189, 189, 189, 52,
- 172, 172, 172, 51, 29, 29, 29, 87, 0, 0, 0, 197,
- 0, 0, 0, 207, 0, 0, 0, 220, 0, 0, 0, 239,
- 0, 0, 0, 249, 0, 0, 0, 251, 0, 0, 0, 251,
- 0, 0, 0, 251, 0, 0, 0, 252, 0, 0, 0, 253,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64,
- 190, 190, 190, 64, 23, 23, 23, 136, 0, 0, 0, 255,
- 0, 0, 0, 159, 189, 189, 189, 63, 190, 190, 190, 57,
- 0, 0, 0, 129, 0, 0, 0, 207, 0, 0, 0, 226,
- 0, 0, 0, 237, 29, 29, 29, 99, 172, 172, 172, 52,
- 189, 189, 189, 51, 172, 172, 172, 52, 29, 29, 29, 88,
- 0, 0, 0, 198, 0, 0, 0, 209, 0, 0, 0, 223,
- 0, 0, 0, 243, 0, 0, 0, 253, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64,
- 190, 190, 190, 64, 23, 23, 23, 136, 0, 0, 0, 255,
- 0, 0, 0, 159, 189, 189, 189, 63, 190, 190, 190, 57,
- 0, 0, 0, 129, 0, 0, 0, 207, 0, 0, 0, 226,
- 0, 0, 0, 246, 0, 0, 0, 222, 29, 29, 29, 89,
- 172, 172, 172, 52, 189, 189, 189, 55, 171, 171, 171, 55,
- 30, 30, 30, 88, 0, 0, 0, 198, 0, 0, 0, 209,
- 0, 0, 0, 223, 0, 0, 0, 243, 0, 0, 0, 253,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64,
- 190, 190, 190, 64, 23, 23, 23, 136, 0, 0, 0, 255,
- 0, 0, 0, 159, 189, 189, 189, 63, 190, 190, 190, 57,
- 0, 0, 0, 129, 0, 0, 0, 207, 0, 0, 0, 226,
- 0, 0, 0, 246, 0, 0, 0, 229, 0, 0, 0, 201,
- 30, 30, 30, 88, 171, 171, 171, 57, 189, 189, 189, 60,
- 163, 163, 163, 56, 3, 3, 3, 120, 0, 0, 0, 205,
- 0, 0, 0, 209, 0, 0, 0, 223, 0, 0, 0, 243,
- 0, 0, 0, 253, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64,
- 190, 190, 190, 64, 23, 23, 23, 136, 0, 0, 0, 255,
- 0, 0, 0, 159, 189, 189, 189, 63, 190, 190, 190, 57,
- 0, 0, 0, 129, 0, 0, 0, 207, 0, 0, 0, 226,
- 0, 0, 0, 246, 0, 0, 0, 229, 0, 0, 0, 208,
- 0, 0, 0, 201, 29, 29, 29, 96, 163, 163, 163, 62,
- 44, 44, 44, 89, 0, 0, 0, 208, 0, 0, 0, 209,
- 0, 0, 0, 205, 0, 0, 0, 209, 0, 0, 0, 223,
- 0, 0, 0, 243, 0, 0, 0, 253, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 162, 172, 172, 172, 64,
- 181, 181, 181, 64, 14, 14, 14, 139, 0, 0, 0, 255,
- 0, 0, 0, 216, 0, 0, 0, 157, 0, 0, 0, 144,
- 0, 0, 0, 176, 0, 0, 0, 207, 0, 0, 0, 226,
- 0, 0, 0, 246, 0, 0, 0, 229, 0, 0, 0, 208,
- 0, 0, 0, 208, 0, 0, 0, 221, 3, 3, 3, 145,
- 0, 0, 0, 235, 0, 0, 0, 243, 0, 0, 0, 223,
- 0, 0, 0, 209, 0, 0, 0, 205, 0, 0, 0, 209,
- 0, 0, 0, 223, 0, 0, 0, 243, 0, 0, 0, 253,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 246, 12, 12, 12, 145,
- 14, 14, 14, 139, 0, 0, 0, 237, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 251, 0, 0, 0, 230,
- 0, 0, 0, 208, 0, 0, 0, 207, 0, 0, 0, 226,
- 0, 0, 0, 246, 0, 0, 0, 229, 0, 0, 0, 208,
- 0, 0, 0, 208, 0, 0, 0, 230, 0, 0, 0, 251,
- 0, 0, 0, 255, 0, 0, 0, 253, 0, 0, 0, 243,
- 0, 0, 0, 223, 0, 0, 0, 209, 0, 0, 0, 205,
- 0, 0, 0, 209, 0, 0, 0, 224, 0, 0, 0, 244,
- 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 251, 0, 0, 0, 230,
- 0, 0, 0, 208, 0, 0, 0, 207, 0, 0, 0, 226,
- 0, 0, 0, 246, 0, 0, 0, 230, 0, 0, 0, 208,
- 0, 0, 0, 208, 0, 0, 0, 230, 0, 0, 0, 251,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 253,
- 0, 0, 0, 243, 0, 0, 0, 223, 0, 0, 0, 209,
- 0, 0, 0, 205, 0, 0, 0, 213, 0, 0, 0, 235,
- 0, 0, 0, 252, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 251, 0, 0, 0, 230,
- 0, 0, 0, 208, 0, 0, 0, 207, 0, 0, 0, 226,
- 0, 0, 0, 246, 0, 0, 0, 232, 0, 0, 0, 212,
- 0, 0, 0, 212, 0, 0, 0, 232, 0, 0, 0, 252,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 253, 0, 0, 0, 243, 0, 0, 0, 224,
- 0, 0, 0, 213, 0, 0, 0, 222, 0, 0, 0, 242,
- 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 233,
- 0, 0, 0, 212, 0, 0, 0, 211, 0, 0, 0, 230,
- 0, 0, 0, 249, 0, 0, 0, 243, 0, 0, 0, 232,
- 0, 0, 0, 232, 0, 0, 0, 243, 0, 0, 0, 253,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 253, 0, 0, 0, 244,
- 0, 0, 0, 235, 0, 0, 0, 242, 0, 0, 0, 252,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 254, 0, 0, 0, 245,
- 0, 0, 0, 232, 0, 0, 0, 230, 0, 0, 0, 243,
- 0, 0, 0, 253, 0, 0, 0, 253, 0, 0, 0, 252,
- 0, 0, 0, 252, 0, 0, 0, 253, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 254,
- 0, 0, 0, 252, 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 254,
- 0, 0, 0, 251, 0, 0, 0, 251, 0, 0, 0, 254,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255,
- },{
- 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 242, 2, 2, 2, 158, 3, 3, 3, 156,
- 3, 3, 3, 156, 3, 3, 3, 156, 3, 3, 3, 156,
- 3, 3, 3, 156, 3, 3, 3, 156, 3, 3, 3, 156,
- 3, 3, 3, 156, 3, 3, 3, 156, 3, 3, 3, 156,
- 3, 3, 3, 156, 3, 3, 3, 156, 3, 3, 3, 156,
- 3, 3, 3, 156, 3, 3, 3, 156, 3, 3, 3, 156,
- 1, 1, 1, 183, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 16, 16, 16, 137, 176, 176, 176, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 128, 128, 128, 64, 0, 0, 0, 197, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 18, 18, 18, 134, 180, 180, 180, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 172, 172, 172, 64, 0, 0, 0, 178, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 237, 11, 11, 11, 145, 17, 17, 17, 143,
- 17, 17, 17, 143, 17, 17, 17, 143, 17, 17, 17, 143,
- 17, 17, 17, 143, 17, 17, 17, 143, 17, 17, 17, 142,
- 16, 16, 16, 142, 16, 16, 16, 141, 16, 16, 16, 141,
- 16, 16, 16, 141, 16, 16, 16, 141, 16, 16, 16, 141,
- 16, 16, 16, 141, 53, 53, 53, 86, 189, 189, 189, 64,
- 172, 172, 172, 64, 0, 0, 0, 176, 0, 0, 0, 253,
- 0, 0, 0, 253, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 254, 0, 0, 0, 249, 0, 0, 0, 239,
- 0, 0, 0, 236, 0, 0, 0, 236, 0, 0, 0, 235,
- 0, 0, 0, 235, 0, 0, 0, 235, 0, 0, 0, 235,
- 0, 0, 0, 235, 40, 40, 40, 110, 189, 189, 189, 59,
- 172, 172, 172, 59, 0, 0, 0, 164, 0, 0, 0, 235,
- 0, 0, 0, 235, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 207, 10, 10, 10, 150,
- 10, 10, 10, 150, 10, 10, 10, 150, 10, 10, 10, 150,
- 10, 10, 10, 148, 10, 10, 10, 139, 10, 10, 10, 128,
- 10, 10, 10, 125, 10, 10, 10, 125, 10, 10, 10, 125,
- 10, 10, 10, 125, 9, 9, 9, 125, 0, 0, 0, 182,
- 0, 0, 0, 211, 40, 40, 40, 99, 189, 189, 189, 53,
- 172, 172, 172, 53, 0, 0, 0, 147, 0, 0, 0, 211,
- 0, 0, 0, 211, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 7, 7, 7, 152, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 189, 189, 189, 63, 190, 190, 190, 58, 189, 189, 189, 53,
- 189, 189, 189, 52, 189, 189, 189, 51, 189, 189, 189, 51,
- 189, 189, 189, 51, 175, 175, 175, 51, 0, 0, 0, 141,
- 0, 0, 0, 206, 40, 40, 40, 96, 189, 189, 189, 51,
- 172, 172, 172, 51, 0, 0, 0, 143, 0, 0, 0, 206,
- 0, 0, 0, 206, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 6, 6, 6, 152, 176, 176, 176, 64,
- 176, 176, 176, 64, 176, 176, 176, 64, 176, 176, 176, 64,
- 176, 176, 176, 64, 176, 176, 176, 61, 176, 176, 176, 57,
- 177, 177, 177, 55, 185, 185, 185, 55, 189, 189, 189, 55,
- 189, 189, 189, 55, 175, 175, 175, 55, 0, 0, 0, 151,
- 0, 0, 0, 221, 40, 40, 40, 103, 189, 189, 189, 55,
- 172, 172, 172, 55, 0, 0, 0, 154, 0, 0, 0, 221,
- 0, 0, 0, 221, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 220, 0, 0, 0, 173,
- 0, 0, 0, 173, 0, 0, 0, 173, 0, 0, 0, 173,
- 0, 0, 0, 173, 0, 0, 0, 172, 0, 0, 0, 150,
- 46, 46, 46, 63, 181, 181, 181, 61, 190, 190, 190, 61,
- 190, 190, 190, 61, 175, 175, 175, 61, 0, 0, 0, 167,
- 0, 0, 0, 245, 39, 39, 39, 115, 190, 190, 190, 61,
- 172, 172, 172, 61, 0, 0, 0, 170, 0, 0, 0, 245,
- 0, 0, 0, 246, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 234, 47, 47, 47, 91,
- 181, 181, 181, 59, 189, 189, 189, 59, 163, 163, 163, 59,
- 189, 189, 189, 59, 175, 175, 175, 59, 0, 0, 0, 160,
- 0, 0, 0, 234, 40, 40, 40, 110, 189, 189, 189, 59,
- 172, 172, 172, 59, 0, 0, 0, 163, 0, 0, 0, 236,
- 0, 0, 0, 245, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 235, 47, 47, 47, 92, 180, 180, 180, 59,
- 190, 190, 190, 54, 156, 156, 156, 53, 30, 30, 30, 58,
- 189, 189, 189, 53, 175, 175, 175, 53, 0, 0, 0, 144,
- 0, 0, 0, 210, 39, 39, 39, 98, 189, 189, 189, 53,
- 172, 172, 172, 53, 0, 0, 0, 146, 0, 0, 0, 214,
- 0, 0, 0, 232, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 235,
- 48, 48, 48, 92, 182, 182, 182, 63, 190, 190, 190, 58,
- 156, 156, 156, 53, 16, 16, 16, 108, 13, 13, 13, 117,
- 189, 189, 189, 52, 174, 174, 174, 52, 0, 0, 0, 141,
- 0, 0, 0, 206, 39, 39, 39, 96, 189, 189, 189, 51,
- 172, 172, 172, 51, 0, 0, 0, 142, 0, 0, 0, 208,
- 0, 0, 0, 229, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 234, 49, 49, 49, 92,
- 182, 182, 182, 64, 189, 189, 189, 64, 155, 155, 155, 61,
- 15, 15, 15, 121, 0, 0, 0, 224, 13, 13, 13, 129,
- 190, 190, 190, 56, 175, 175, 175, 56, 0, 0, 0, 153,
- 0, 0, 0, 217, 39, 39, 39, 98, 189, 189, 189, 51,
- 172, 172, 172, 51, 0, 0, 0, 142, 0, 0, 0, 208,
- 0, 0, 0, 229, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 234, 49, 49, 49, 92, 182, 182, 182, 64,
- 190, 190, 190, 64, 155, 155, 155, 64, 15, 15, 15, 133,
- 0, 0, 0, 248, 0, 0, 0, 250, 13, 13, 13, 143,
- 190, 190, 190, 62, 175, 175, 175, 62, 0, 0, 0, 163,
- 0, 0, 0, 222, 39, 39, 39, 98, 189, 189, 189, 51,
- 172, 172, 172, 51, 0, 0, 0, 142, 0, 0, 0, 208,
- 0, 0, 0, 229, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 234,
- 49, 49, 49, 91, 182, 182, 182, 64, 190, 190, 190, 64,
- 155, 155, 155, 64, 15, 15, 15, 135, 0, 0, 0, 253,
- 0, 0, 0, 255, 0, 0, 0, 255, 13, 13, 13, 146,
- 189, 189, 189, 64, 175, 175, 175, 61, 0, 0, 0, 153,
- 0, 0, 0, 210, 39, 39, 39, 96, 189, 189, 189, 52,
- 172, 172, 172, 52, 0, 0, 0, 142, 0, 0, 0, 208,
- 0, 0, 0, 229, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 234, 49, 49, 49, 91,
- 182, 182, 182, 64, 190, 190, 190, 64, 154, 154, 154, 64,
- 14, 14, 14, 135, 0, 0, 0, 253, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 13, 13, 13, 146,
- 189, 189, 189, 62, 174, 174, 174, 57, 0, 0, 0, 143,
- 0, 0, 0, 205, 40, 40, 40, 97, 190, 190, 190, 54,
- 172, 172, 172, 54, 0, 0, 0, 143, 0, 0, 0, 208,
- 0, 0, 0, 229, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 5, 5, 5, 141, 167, 167, 167, 64,
- 190, 190, 190, 64, 154, 154, 154, 64, 14, 14, 14, 136,
- 0, 0, 0, 253, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 254, 13, 13, 13, 142,
- 189, 189, 189, 57, 175, 175, 175, 53, 0, 0, 0, 140,
- 0, 0, 0, 208, 40, 40, 40, 102, 189, 189, 189, 59,
- 172, 172, 172, 57, 0, 0, 0, 144, 0, 0, 0, 208,
- 0, 0, 0, 229, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 244, 33, 33, 33, 106,
- 138, 138, 138, 64, 13, 13, 13, 136, 0, 0, 0, 253,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 254, 0, 0, 0, 245, 11, 11, 11, 132,
- 163, 163, 163, 53, 151, 151, 151, 51, 0, 0, 0, 143,
- 0, 0, 0, 220, 39, 39, 39, 111, 189, 189, 189, 62,
- 172, 172, 172, 58, 0, 0, 0, 144, 0, 0, 0, 208,
- 0, 0, 0, 229, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 244,
- 0, 0, 0, 177, 0, 0, 0, 253, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 254,
- 0, 0, 0, 245, 0, 0, 0, 227, 0, 0, 0, 186,
- 0, 0, 0, 150, 0, 0, 0, 152, 0, 0, 0, 204,
- 0, 0, 0, 240, 16, 16, 16, 137, 150, 150, 150, 63,
- 117, 117, 117, 58, 0, 0, 0, 160, 0, 0, 0, 208,
- 0, 0, 0, 229, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 254, 0, 0, 0, 246,
- 0, 0, 0, 227, 0, 0, 0, 211, 0, 0, 0, 205,
- 0, 0, 0, 208, 0, 0, 0, 221, 0, 0, 0, 240,
- 0, 0, 0, 252, 0, 0, 0, 249, 0, 0, 0, 186,
- 0, 0, 0, 183, 0, 0, 0, 208, 0, 0, 0, 208,
- 0, 0, 0, 229, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 253, 0, 0, 0, 237,
- 0, 0, 0, 214, 0, 0, 0, 206, 0, 0, 0, 208,
- 0, 0, 0, 221, 0, 0, 0, 240, 0, 0, 0, 252,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 252,
- 0, 0, 0, 231, 0, 0, 0, 209, 0, 0, 0, 208,
- 0, 0, 0, 229, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 254, 0, 0, 0, 243,
- 0, 0, 0, 222, 0, 0, 0, 211, 0, 0, 0, 221,
- 0, 0, 0, 240, 0, 0, 0, 252, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 252,
- 0, 0, 0, 232, 0, 0, 0, 211, 0, 0, 0, 211,
- 0, 0, 0, 231, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 252,
- 0, 0, 0, 242, 0, 0, 0, 233, 0, 0, 0, 242,
- 0, 0, 0, 252, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 253,
- 0, 0, 0, 242, 0, 0, 0, 230, 0, 0, 0, 230,
- 0, 0, 0, 242, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 253, 0, 0, 0, 251, 0, 0, 0, 253,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 253, 0, 0, 0, 251, 0, 0, 0, 251,
- 0, 0, 0, 253, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255,
- },{
- 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 213,
- 0, 0, 0, 218, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 254,
- 0, 0, 0, 210, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 245,
- 0, 0, 0, 221, 0, 0, 0, 221, 0, 0, 0, 245,
- 0, 0, 0, 255, 7, 7, 7, 164, 128, 128, 128, 64,
- 117, 117, 117, 64, 0, 0, 0, 188, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 252, 16, 16, 16, 133,
- 111, 111, 111, 64, 8, 8, 8, 154, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 161,
- 134, 134, 134, 64, 134, 134, 134, 64, 0, 0, 0, 161,
- 0, 0, 0, 255, 23, 23, 23, 136, 190, 190, 190, 64,
- 190, 190, 190, 64, 0, 0, 0, 159, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 2, 2, 2, 154, 156, 156, 156, 64,
- 190, 190, 190, 64, 148, 148, 148, 64, 12, 12, 12, 143,
- 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 159,
- 190, 190, 190, 64, 190, 190, 190, 64, 0, 0, 0, 159,
- 0, 0, 0, 255, 23, 23, 23, 136, 190, 190, 190, 64,
- 190, 190, 190, 64, 0, 0, 0, 159, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 233, 50, 50, 50, 92,
- 182, 182, 182, 64, 190, 190, 190, 64, 155, 155, 155, 64,
- 16, 16, 16, 133, 0, 0, 0, 252, 0, 0, 0, 255,
- 0, 0, 0, 254, 0, 0, 0, 254, 0, 0, 0, 159,
- 190, 190, 190, 64, 190, 190, 190, 64, 0, 0, 0, 159,
- 0, 0, 0, 255, 23, 23, 23, 136, 190, 190, 190, 64,
- 190, 190, 190, 64, 0, 0, 0, 159, 0, 0, 0, 254,
- 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 238,
- 42, 42, 42, 99, 177, 177, 177, 64, 190, 190, 190, 64,
- 161, 161, 161, 64, 22, 22, 22, 123, 0, 0, 0, 248,
- 0, 0, 0, 246, 0, 0, 0, 240, 0, 0, 0, 154,
- 189, 189, 189, 64, 190, 190, 190, 64, 0, 0, 0, 159,
- 0, 0, 0, 255, 23, 23, 23, 136, 189, 189, 189, 64,
- 189, 189, 189, 62, 0, 0, 0, 148, 0, 0, 0, 238,
- 0, 0, 0, 246, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 242, 34, 34, 34, 106, 173, 173, 173, 64,
- 190, 190, 190, 64, 167, 167, 167, 64, 27, 27, 27, 110,
- 0, 0, 0, 218, 0, 0, 0, 215, 0, 0, 0, 140,
- 190, 190, 190, 61, 189, 189, 189, 64, 0, 0, 0, 159,
- 0, 0, 0, 255, 23, 23, 23, 136, 190, 190, 190, 63,
- 190, 190, 190, 58, 0, 0, 0, 133, 0, 0, 0, 214,
- 0, 0, 0, 233, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 247, 27, 27, 27, 115,
- 167, 167, 167, 64, 190, 190, 190, 63, 173, 173, 173, 59,
- 34, 34, 34, 88, 0, 0, 0, 195, 0, 0, 0, 130,
- 190, 190, 190, 56, 190, 190, 190, 61, 0, 0, 0, 159,
- 0, 0, 0, 255, 23, 23, 23, 136, 189, 189, 189, 63,
- 190, 190, 190, 57, 0, 0, 0, 129, 0, 0, 0, 208,
- 0, 0, 0, 230, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 249,
- 22, 22, 22, 123, 161, 161, 161, 64, 190, 190, 190, 61,
- 177, 177, 177, 56, 42, 42, 42, 81, 0, 0, 0, 115,
- 190, 190, 190, 52, 189, 189, 189, 56, 0, 0, 0, 154,
- 0, 0, 0, 253, 23, 23, 23, 136, 189, 189, 189, 63,
- 190, 190, 190, 57, 0, 0, 0, 129, 0, 0, 0, 208,
- 0, 0, 0, 229, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 252, 16, 16, 16, 133, 155, 155, 155, 63,
- 190, 190, 190, 61, 181, 181, 181, 56, 50, 50, 50, 52,
- 189, 189, 189, 51, 190, 190, 190, 52, 0, 0, 0, 141,
- 0, 0, 0, 242, 23, 23, 23, 134, 189, 189, 189, 63,
- 190, 190, 190, 57, 0, 0, 0, 129, 0, 0, 0, 208,
- 0, 0, 0, 229, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 254, 12, 12, 12, 143,
- 147, 147, 147, 64, 190, 190, 190, 61, 185, 185, 185, 56,
- 189, 189, 189, 53, 189, 189, 189, 51, 0, 0, 0, 131,
- 0, 0, 0, 222, 23, 23, 23, 127, 189, 189, 189, 62,
- 190, 190, 190, 57, 0, 0, 0, 129, 0, 0, 0, 208,
- 0, 0, 0, 229, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 190, 55, 55, 55, 109,
- 55, 55, 55, 109, 55, 55, 55, 109, 55, 55, 55, 109,
- 55, 55, 55, 109, 55, 55, 55, 109, 55, 55, 55, 109,
- 64, 64, 64, 67, 173, 173, 173, 64, 190, 190, 190, 61,
- 189, 189, 189, 57, 189, 189, 189, 53, 0, 0, 0, 128,
- 0, 0, 0, 208, 23, 23, 23, 116, 189, 189, 189, 59,
- 189, 189, 189, 57, 0, 0, 0, 129, 0, 0, 0, 208,
- 0, 0, 0, 229, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 189, 189, 189, 64,
- 189, 189, 189, 62, 190, 190, 190, 57, 0, 0, 0, 131,
- 0, 0, 0, 205, 23, 23, 23, 110, 190, 190, 190, 54,
- 190, 190, 190, 54, 0, 0, 0, 129, 0, 0, 0, 208,
- 0, 0, 0, 229, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 165, 111, 111, 111, 64,
- 111, 111, 111, 64, 111, 111, 111, 64, 111, 111, 111, 64,
- 111, 111, 111, 64, 111, 111, 111, 64, 111, 111, 111, 64,
- 111, 111, 111, 64, 111, 111, 111, 64, 111, 111, 111, 64,
- 111, 111, 111, 64, 111, 111, 111, 62, 0, 0, 0, 146,
- 0, 0, 0, 212, 23, 23, 23, 109, 189, 189, 189, 51,
- 189, 189, 189, 52, 0, 0, 0, 128, 0, 0, 0, 208,
- 0, 0, 0, 229, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 244,
- 0, 0, 0, 244, 0, 0, 0, 244, 0, 0, 0, 244,
- 0, 0, 0, 244, 0, 0, 0, 243, 0, 0, 0, 240,
- 0, 0, 0, 236, 0, 0, 0, 235, 0, 0, 0, 235,
- 0, 0, 0, 235, 0, 0, 0, 234, 0, 0, 0, 236,
- 0, 0, 0, 222, 23, 23, 23, 111, 189, 189, 189, 51,
- 189, 189, 189, 51, 0, 0, 0, 127, 0, 0, 0, 208,
- 0, 0, 0, 229, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 228, 0, 0, 0, 221,
- 0, 0, 0, 221, 0, 0, 0, 221, 0, 0, 0, 221,
- 0, 0, 0, 221, 0, 0, 0, 219, 0, 0, 0, 207,
- 0, 0, 0, 194, 0, 0, 0, 191, 0, 0, 0, 191,
- 0, 0, 0, 191, 0, 0, 0, 191, 0, 0, 0, 190,
- 0, 0, 0, 186, 23, 23, 23, 100, 189, 189, 189, 51,
- 189, 189, 189, 51, 0, 0, 0, 128, 0, 0, 0, 208,
- 0, 0, 0, 230, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 193, 106, 106, 106, 65, 134, 134, 134, 64,
- 134, 134, 134, 64, 134, 134, 134, 64, 134, 134, 134, 64,
- 134, 134, 134, 64, 134, 134, 134, 63, 133, 133, 133, 58,
- 133, 133, 133, 53, 133, 133, 133, 52, 133, 133, 133, 52,
- 133, 133, 133, 52, 133, 133, 133, 52, 133, 133, 133, 52,
- 133, 133, 133, 51, 141, 141, 141, 51, 189, 189, 189, 51,
- 189, 189, 189, 51, 0, 0, 0, 128, 0, 0, 0, 209,
- 0, 0, 0, 230, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 159, 184, 184, 184, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 190, 190, 190, 63, 189, 189, 189, 59,
- 189, 189, 189, 55, 190, 190, 190, 54, 190, 190, 190, 54,
- 190, 190, 190, 54, 190, 190, 190, 54, 190, 190, 190, 54,
- 190, 190, 190, 54, 190, 190, 190, 54, 190, 190, 190, 54,
- 177, 177, 177, 54, 0, 0, 0, 137, 0, 0, 0, 220,
- 0, 0, 0, 237, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 233, 33, 33, 33, 117, 55, 55, 55, 109,
- 55, 55, 55, 109, 55, 55, 55, 109, 55, 55, 55, 109,
- 55, 55, 55, 109, 55, 55, 55, 109, 55, 55, 55, 107,
- 55, 55, 55, 105, 55, 55, 55, 105, 55, 55, 55, 105,
- 55, 55, 55, 105, 55, 55, 55, 105, 55, 55, 55, 105,
- 55, 55, 55, 105, 55, 55, 55, 105, 55, 55, 55, 105,
- 23, 23, 23, 124, 0, 0, 0, 232, 0, 0, 0, 244,
- 0, 0, 0, 249, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 249, 0, 0, 0, 240,
- 0, 0, 0, 236, 0, 0, 0, 235, 0, 0, 0, 235,
- 0, 0, 0, 235, 0, 0, 0, 235, 0, 0, 0, 235,
- 0, 0, 0, 235, 0, 0, 0, 235, 0, 0, 0, 235,
- 0, 0, 0, 235, 0, 0, 0, 235, 0, 0, 0, 236,
- 0, 0, 0, 235, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 253, 0, 0, 0, 236, 0, 0, 0, 216,
- 0, 0, 0, 210, 0, 0, 0, 210, 0, 0, 0, 210,
- 0, 0, 0, 210, 0, 0, 0, 210, 0, 0, 0, 210,
- 0, 0, 0, 210, 0, 0, 0, 210, 0, 0, 0, 210,
- 0, 0, 0, 210, 0, 0, 0, 210, 0, 0, 0, 210,
- 0, 0, 0, 210, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 252, 0, 0, 0, 233, 0, 0, 0, 212,
- 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 207,
- 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 207,
- 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 207,
- 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 207,
- 0, 0, 0, 207, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 254, 0, 0, 0, 245, 0, 0, 0, 230,
- 0, 0, 0, 226, 0, 0, 0, 225, 0, 0, 0, 225,
- 0, 0, 0, 225, 0, 0, 0, 225, 0, 0, 0, 225,
- 0, 0, 0, 225, 0, 0, 0, 225, 0, 0, 0, 225,
- 0, 0, 0, 225, 0, 0, 0, 225, 0, 0, 0, 225,
- 0, 0, 0, 225,
- },{
- 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 243,
- 0, 0, 0, 241, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 203, 87, 87, 87, 69,
- 100, 100, 100, 65, 4, 4, 4, 179, 0, 0, 0, 255,
- 0, 0, 0, 249, 0, 0, 0, 228, 0, 0, 0, 228,
- 0, 0, 0, 247, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 219,
- 0, 0, 0, 253, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 161, 188, 188, 188, 64,
- 190, 190, 190, 64, 26, 26, 26, 132, 0, 0, 0, 255,
- 0, 0, 0, 166, 123, 123, 123, 64, 126, 126, 126, 64,
- 3, 3, 3, 155, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 4, 4, 4, 171, 101, 101, 101, 65,
- 19, 19, 19, 130, 0, 0, 0, 251, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 161, 188, 188, 188, 64,
- 190, 190, 190, 64, 26, 26, 26, 132, 0, 0, 0, 255,
- 0, 0, 0, 164, 185, 185, 185, 64, 190, 190, 190, 64,
- 6, 6, 6, 152, 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 7, 7, 7, 160, 134, 134, 134, 64, 190, 190, 190, 64,
- 161, 161, 161, 64, 7, 7, 7, 144, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 161, 188, 188, 188, 64,
- 190, 190, 190, 64, 26, 26, 26, 132, 0, 0, 0, 255,
- 0, 0, 0, 164, 185, 185, 185, 64, 189, 189, 189, 62,
- 6, 6, 6, 143, 0, 0, 0, 239, 0, 0, 0, 249,
- 0, 0, 0, 254, 0, 0, 0, 253, 10, 10, 10, 149,
- 142, 142, 142, 64, 190, 190, 190, 64, 186, 186, 186, 64,
- 66, 66, 66, 82, 0, 0, 0, 221, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 254,
- 0, 0, 0, 253, 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 161, 188, 188, 188, 64,
- 190, 190, 190, 64, 26, 26, 26, 132, 0, 0, 0, 255,
- 0, 0, 0, 164, 185, 185, 185, 63, 189, 189, 189, 59,
- 5, 5, 5, 128, 0, 0, 0, 215, 0, 0, 0, 235,
- 0, 0, 0, 248, 14, 14, 14, 135, 150, 150, 150, 59,
- 189, 189, 189, 59, 183, 183, 183, 62, 57, 57, 57, 87,
- 0, 0, 0, 227, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 253, 0, 0, 0, 246,
- 0, 0, 0, 238, 0, 0, 0, 245, 0, 0, 0, 253,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 161, 188, 188, 188, 64,
- 190, 190, 190, 64, 26, 26, 26, 132, 0, 0, 0, 255,
- 0, 0, 0, 164, 185, 185, 185, 63, 189, 189, 189, 57,
- 6, 6, 6, 124, 0, 0, 0, 208, 0, 0, 0, 225,
- 19, 19, 19, 125, 156, 156, 156, 58, 190, 190, 190, 53,
- 179, 179, 179, 54, 48, 48, 48, 87, 0, 0, 0, 231,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 253, 0, 0, 0, 243, 0, 0, 0, 225,
- 0, 0, 0, 214, 0, 0, 0, 224, 0, 0, 0, 244,
- 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 161, 188, 188, 188, 64,
- 190, 190, 190, 64, 26, 26, 26, 132, 0, 0, 0, 255,
- 0, 0, 0, 164, 184, 184, 184, 63, 189, 189, 189, 57,
- 6, 6, 6, 124, 0, 0, 0, 202, 24, 24, 24, 106,
- 163, 163, 163, 62, 189, 189, 189, 57, 176, 176, 176, 52,
- 40, 40, 40, 83, 0, 0, 0, 217, 0, 0, 0, 252,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 253,
- 0, 0, 0, 242, 0, 0, 0, 223, 0, 0, 0, 209,
- 0, 0, 0, 206, 0, 0, 0, 213, 0, 0, 0, 236,
- 0, 0, 0, 252, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 161, 188, 188, 188, 64,
- 190, 190, 190, 64, 26, 26, 26, 132, 0, 0, 0, 255,
- 0, 0, 0, 164, 184, 184, 184, 63, 189, 189, 189, 57,
- 6, 6, 6, 115, 30, 30, 30, 90, 169, 169, 169, 57,
- 189, 189, 189, 62, 171, 171, 171, 57, 33, 33, 33, 87,
- 0, 0, 0, 199, 0, 0, 0, 232, 0, 0, 0, 252,
- 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 241,
- 0, 0, 0, 222, 0, 0, 0, 208, 0, 0, 0, 205,
- 0, 0, 0, 210, 0, 0, 0, 225, 0, 0, 0, 245,
- 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 161, 188, 188, 188, 64,
- 190, 190, 190, 64, 26, 26, 26, 132, 0, 0, 0, 255,
- 0, 0, 0, 164, 184, 184, 184, 63, 189, 189, 189, 57,
- 43, 43, 43, 53, 173, 173, 173, 52, 190, 190, 190, 57,
- 166, 166, 166, 62, 27, 27, 27, 102, 0, 0, 0, 200,
- 0, 0, 0, 209, 0, 0, 0, 232, 0, 0, 0, 252,
- 0, 0, 0, 252, 0, 0, 0, 240, 0, 0, 0, 221,
- 0, 0, 0, 208, 0, 0, 0, 205, 0, 0, 0, 210,
- 0, 0, 0, 226, 0, 0, 0, 245, 0, 0, 0, 253,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 161, 188, 188, 188, 64,
- 190, 190, 190, 64, 26, 26, 26, 132, 0, 0, 0, 255,
- 0, 0, 0, 164, 184, 184, 184, 63, 189, 189, 189, 57,
- 180, 180, 180, 52, 189, 189, 189, 52, 160, 160, 160, 57,
- 21, 21, 21, 120, 0, 0, 0, 222, 0, 0, 0, 207,
- 0, 0, 0, 209, 0, 0, 0, 231, 0, 0, 0, 248,
- 0, 0, 0, 239, 0, 0, 0, 220, 0, 0, 0, 208,
- 0, 0, 0, 205, 0, 0, 0, 211, 0, 0, 0, 227,
- 0, 0, 0, 246, 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 161, 188, 188, 188, 64,
- 190, 190, 190, 64, 26, 26, 26, 132, 0, 0, 0, 255,
- 0, 0, 0, 164, 184, 184, 184, 63, 189, 189, 189, 57,
- 189, 189, 189, 52, 175, 175, 175, 52, 58, 58, 58, 59,
- 42, 42, 42, 115, 42, 42, 42, 109, 42, 42, 42, 99,
- 42, 42, 42, 100, 41, 41, 41, 110, 42, 42, 42, 114,
- 42, 42, 42, 106, 2, 2, 2, 153, 0, 0, 0, 205,
- 0, 0, 0, 212, 0, 0, 0, 229, 0, 0, 0, 246,
- 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 161, 188, 188, 188, 64,
- 190, 190, 190, 64, 26, 26, 26, 132, 0, 0, 0, 255,
- 0, 0, 0, 164, 184, 184, 184, 63, 189, 189, 189, 57,
- 189, 189, 189, 52, 189, 189, 189, 52, 190, 190, 190, 57,
- 189, 189, 189, 62, 189, 189, 189, 57, 189, 189, 189, 52,
- 189, 189, 189, 52, 190, 190, 190, 54, 190, 190, 190, 54,
- 189, 189, 189, 52, 12, 12, 12, 118, 0, 0, 0, 212,
- 0, 0, 0, 230, 0, 0, 0, 247, 0, 0, 0, 254,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 161, 188, 188, 188, 64,
- 190, 190, 190, 64, 26, 26, 26, 132, 0, 0, 0, 255,
- 0, 0, 0, 166, 123, 123, 123, 63, 126, 126, 126, 57,
- 126, 126, 126, 52, 126, 126, 126, 52, 126, 126, 126, 57,
- 126, 126, 126, 62, 126, 126, 126, 57, 126, 126, 126, 52,
- 126, 126, 126, 51, 126, 126, 126, 52, 126, 126, 126, 51,
- 126, 126, 126, 51, 8, 8, 8, 126, 0, 0, 0, 231,
- 0, 0, 0, 247, 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 161, 188, 188, 188, 64,
- 190, 190, 190, 64, 26, 26, 26, 132, 0, 0, 0, 255,
- 0, 0, 0, 248, 0, 0, 0, 224, 0, 0, 0, 203,
- 0, 0, 0, 186, 0, 0, 0, 186, 0, 0, 0, 205,
- 0, 0, 0, 220, 0, 0, 0, 204, 0, 0, 0, 186,
- 0, 0, 0, 183, 0, 0, 0, 183, 0, 0, 0, 183,
- 0, 0, 0, 187, 0, 0, 0, 216, 0, 0, 0, 239,
- 0, 0, 0, 244, 0, 0, 0, 245, 0, 0, 0, 245,
- 0, 0, 0, 246, 0, 0, 0, 246, 0, 0, 0, 251,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 161, 188, 188, 188, 64,
- 190, 190, 190, 64, 26, 26, 26, 126, 0, 0, 0, 238,
- 0, 0, 0, 238, 0, 0, 0, 233, 0, 0, 0, 212,
- 0, 0, 0, 193, 0, 0, 0, 194, 0, 0, 0, 213,
- 0, 0, 0, 229, 0, 0, 0, 212, 0, 0, 0, 193,
- 0, 0, 0, 190, 0, 0, 0, 190, 0, 0, 0, 190,
- 0, 0, 0, 193, 0, 0, 0, 200, 0, 0, 0, 217,
- 0, 0, 0, 218, 0, 0, 0, 218, 0, 0, 0, 218,
- 0, 0, 0, 218, 0, 0, 0, 221, 0, 0, 0, 238,
- 0, 0, 0, 253, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 161, 188, 188, 188, 64,
- 190, 190, 190, 64, 127, 127, 127, 64, 117, 117, 117, 64,
- 117, 117, 117, 64, 117, 117, 117, 63, 117, 117, 117, 57,
- 117, 117, 117, 52, 117, 117, 117, 52, 117, 117, 117, 57,
- 117, 117, 117, 62, 117, 117, 117, 57, 117, 117, 117, 52,
- 117, 117, 117, 51, 117, 117, 117, 51, 117, 117, 117, 51,
- 117, 117, 117, 51, 104, 104, 104, 52, 6, 6, 6, 136,
- 0, 0, 0, 206, 0, 0, 0, 206, 0, 0, 0, 206,
- 0, 0, 0, 206, 0, 0, 0, 210, 0, 0, 0, 232,
- 0, 0, 0, 252, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 163, 179, 179, 179, 64,
- 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64,
- 190, 190, 190, 64, 189, 189, 189, 63, 189, 189, 189, 57,
- 189, 189, 189, 52, 189, 189, 189, 52, 190, 190, 190, 57,
- 189, 189, 189, 62, 189, 189, 189, 59, 189, 189, 189, 55,
- 189, 189, 189, 55, 189, 189, 189, 55, 189, 189, 189, 55,
- 189, 189, 189, 55, 189, 189, 189, 55, 34, 34, 34, 104,
- 0, 0, 0, 218, 0, 0, 0, 218, 0, 0, 0, 218,
- 0, 0, 0, 218, 0, 0, 0, 221, 0, 0, 0, 238,
- 0, 0, 0, 253, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 236, 37, 37, 37, 108,
- 73, 73, 73, 91, 73, 73, 73, 91, 73, 73, 73, 91,
- 73, 73, 73, 91, 73, 73, 73, 89, 73, 73, 73, 80,
- 73, 73, 73, 73, 73, 73, 73, 74, 73, 73, 73, 81,
- 73, 73, 73, 88, 73, 73, 73, 88, 74, 74, 74, 87,
- 73, 73, 73, 87, 73, 73, 73, 87, 73, 73, 73, 87,
- 73, 73, 73, 87, 61, 61, 61, 88, 0, 0, 0, 191,
- 0, 0, 0, 243, 0, 0, 0, 243, 0, 0, 0, 243,
- 0, 0, 0, 243, 0, 0, 0, 245, 0, 0, 0, 249,
- 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 250, 0, 0, 0, 227,
- 0, 0, 0, 207, 0, 0, 0, 206, 0, 0, 0, 219,
- 0, 0, 0, 233, 0, 0, 0, 235, 0, 0, 0, 235,
- 0, 0, 0, 235, 0, 0, 0, 235, 0, 0, 0, 235,
- 0, 0, 0, 235, 0, 0, 0, 235, 0, 0, 0, 235,
- 0, 0, 0, 235, 0, 0, 0, 235, 0, 0, 0, 235,
- 0, 0, 0, 235, 0, 0, 0, 235, 0, 0, 0, 238,
- 0, 0, 0, 248, 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 250, 0, 0, 0, 227,
- 0, 0, 0, 207, 0, 0, 0, 205, 0, 0, 0, 207,
- 0, 0, 0, 209, 0, 0, 0, 210, 0, 0, 0, 210,
- 0, 0, 0, 210, 0, 0, 0, 210, 0, 0, 0, 210,
- 0, 0, 0, 210, 0, 0, 0, 210, 0, 0, 0, 210,
- 0, 0, 0, 210, 0, 0, 0, 210, 0, 0, 0, 210,
- 0, 0, 0, 210, 0, 0, 0, 210, 0, 0, 0, 215,
- 0, 0, 0, 234, 0, 0, 0, 252, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 251, 0, 0, 0, 232,
- 0, 0, 0, 211, 0, 0, 0, 207, 0, 0, 0, 207,
- 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 207,
- 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 207,
- 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 207,
- 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 207,
- 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 211,
- 0, 0, 0, 231, 0, 0, 0, 251, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255,
- 0, 0, 0, 255, 0, 0, 0, 254, 0, 0, 0, 245,
- 0, 0, 0, 231, 0, 0, 0, 226, 0, 0, 0, 226,
- 0, 0, 0, 226, 0, 0, 0, 226, 0, 0, 0, 226,
- 0, 0, 0, 226, 0, 0, 0, 226, 0, 0, 0, 226,
- 0, 0, 0, 226, 0, 0, 0, 226, 0, 0, 0, 226,
- 0, 0, 0, 226, 0, 0, 0, 226, 0, 0, 0, 226,
- 0, 0, 0, 226, 0, 0, 0, 226, 0, 0, 0, 230,
- 0, 0, 0, 243, 0, 0, 0, 254, 0, 0, 0, 255,
- 0, 0, 0, 255,
- }};
-
-#define NUM_CURSORS sizeof(Cursors) / sizeof(Cursors[0])
diff --git a/src/glut/fbdev/ext.c b/src/glut/fbdev/ext.c
deleted file mode 100644
index 65953e705b..0000000000
--- a/src/glut/fbdev/ext.c
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * Mesa 3-D graphics library
- * Version: 6.5
- * Copyright (C) 1995-2006 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-/*
- * Library for glut using mesa fbdev driver
- *
- * Written by Sean D'Epagnier (c) 2006
- */
-
-#include <stdio.h>
-
-#include <GL/gl.h>
-#include <GL/glut.h>
-
-#include "internal.h"
-
-void glutReportErrors(void)
-{
- GLenum error;
-
- while ((error = glGetError()) != GL_NO_ERROR)
- sprintf(exiterror, "GL error: %s", gluErrorString(error));
-}
-
-static struct {
- const char *name;
- const GLUTproc address;
-} glut_functions[] = {
- { "glutInit", (const GLUTproc) glutInit },
- { "glutInitDisplayMode", (const GLUTproc) glutInitDisplayMode },
- { "glutInitWindowPosition", (const GLUTproc) glutInitWindowPosition },
- { "glutInitWindowSize", (const GLUTproc) glutInitWindowSize },
- { "glutMainLoop", (const GLUTproc) glutMainLoop },
- { "glutCreateWindow", (const GLUTproc) glutCreateWindow },
- { "glutCreateSubWindow", (const GLUTproc) glutCreateSubWindow },
- { "glutDestroyWindow", (const GLUTproc) glutDestroyWindow },
- { "glutPostRedisplay", (const GLUTproc) glutPostRedisplay },
- { "glutSwapBuffers", (const GLUTproc) glutSwapBuffers },
- { "glutGetWindow", (const GLUTproc) glutGetWindow },
- { "glutSetWindow", (const GLUTproc) glutSetWindow },
- { "glutSetWindowTitle", (const GLUTproc) glutSetWindowTitle },
- { "glutSetIconTitle", (const GLUTproc) glutSetIconTitle },
- { "glutPositionWindow", (const GLUTproc) glutPositionWindow },
- { "glutReshapeWindow", (const GLUTproc) glutReshapeWindow },
- { "glutPopWindow", (const GLUTproc) glutPopWindow },
- { "glutPushWindow", (const GLUTproc) glutPushWindow },
- { "glutIconifyWindow", (const GLUTproc) glutIconifyWindow },
- { "glutShowWindow", (const GLUTproc) glutShowWindow },
- { "glutHideWindow", (const GLUTproc) glutHideWindow },
- { "glutFullScreen", (const GLUTproc) glutFullScreen },
- { "glutSetCursor", (const GLUTproc) glutSetCursor },
- { "glutWarpPointer", (const GLUTproc) glutWarpPointer },
- { "glutEstablishOverlay", (const GLUTproc) glutEstablishOverlay },
- { "glutRemoveOverlay", (const GLUTproc) glutRemoveOverlay },
- { "glutUseLayer", (const GLUTproc) glutUseLayer },
- { "glutPostOverlayRedisplay", (const GLUTproc) glutPostOverlayRedisplay },
- { "glutShowOverlay", (const GLUTproc) glutShowOverlay },
- { "glutHideOverlay", (const GLUTproc) glutHideOverlay },
- { "glutCreateMenu", (const GLUTproc) glutCreateMenu },
- { "glutDestroyMenu", (const GLUTproc) glutDestroyMenu },
- { "glutGetMenu", (const GLUTproc) glutGetMenu },
- { "glutSetMenu", (const GLUTproc) glutSetMenu },
- { "glutAddMenuEntry", (const GLUTproc) glutAddMenuEntry },
- { "glutAddSubMenu", (const GLUTproc) glutAddSubMenu },
- { "glutChangeToMenuEntry", (const GLUTproc) glutChangeToMenuEntry },
- { "glutChangeToSubMenu", (const GLUTproc) glutChangeToSubMenu },
- { "glutRemoveMenuItem", (const GLUTproc) glutRemoveMenuItem },
- { "glutAttachMenu", (const GLUTproc) glutAttachMenu },
- { "glutDetachMenu", (const GLUTproc) glutDetachMenu },
- { "glutDisplayFunc", (const GLUTproc) glutDisplayFunc },
- { "glutReshapeFunc", (const GLUTproc) glutReshapeFunc },
- { "glutKeyboardFunc", (const GLUTproc) glutKeyboardFunc },
- { "glutMouseFunc", (const GLUTproc) glutMouseFunc },
- { "glutMotionFunc", (const GLUTproc) glutMotionFunc },
- { "glutPassiveMotionFunc", (const GLUTproc) glutPassiveMotionFunc },
- { "glutEntryFunc", (const GLUTproc) glutEntryFunc },
- { "glutVisibilityFunc", (const GLUTproc) glutVisibilityFunc },
- { "glutIdleFunc", (const GLUTproc) glutIdleFunc },
- { "glutTimerFunc", (const GLUTproc) glutTimerFunc },
- { "glutMenuStateFunc", (const GLUTproc) glutMenuStateFunc },
- { "glutSpecialFunc", (const GLUTproc) glutSpecialFunc },
- { "glutSpaceballRotateFunc", (const GLUTproc) glutSpaceballRotateFunc },
- { "glutButtonBoxFunc", (const GLUTproc) glutButtonBoxFunc },
- { "glutDialsFunc", (const GLUTproc) glutDialsFunc },
- { "glutTabletMotionFunc", (const GLUTproc) glutTabletMotionFunc },
- { "glutTabletButtonFunc", (const GLUTproc) glutTabletButtonFunc },
- { "glutMenuStatusFunc", (const GLUTproc) glutMenuStatusFunc },
- { "glutOverlayDisplayFunc", (const GLUTproc) glutOverlayDisplayFunc },
- { "glutSetColor", (const GLUTproc) glutSetColor },
- { "glutGetColor", (const GLUTproc) glutGetColor },
- { "glutCopyColormap", (const GLUTproc) glutCopyColormap },
- { "glutGet", (const GLUTproc) glutGet },
- { "glutDeviceGet", (const GLUTproc) glutDeviceGet },
- { "glutExtensionSupported", (const GLUTproc) glutExtensionSupported },
- { "glutGetModifiers", (const GLUTproc) glutGetModifiers },
- { "glutLayerGet", (const GLUTproc) glutLayerGet },
- { "glutGetProcAddress", (const GLUTproc) glutGetProcAddress },
- { "glutBitmapCharacter", (const GLUTproc) glutBitmapCharacter },
- { "glutBitmapWidth", (const GLUTproc) glutBitmapWidth },
- { "glutStrokeCharacter", (const GLUTproc) glutStrokeCharacter },
- { "glutStrokeWidth", (const GLUTproc) glutStrokeWidth },
- { "glutBitmapLength", (const GLUTproc) glutBitmapLength },
- { "glutStrokeLength", (const GLUTproc) glutStrokeLength },
- { "glutWireSphere", (const GLUTproc) glutWireSphere },
- { "glutSolidSphere", (const GLUTproc) glutSolidSphere },
- { "glutWireCone", (const GLUTproc) glutWireCone },
- { "glutSolidCone", (const GLUTproc) glutSolidCone },
- { "glutWireCube", (const GLUTproc) glutWireCube },
- { "glutSolidCube", (const GLUTproc) glutSolidCube },
- { "glutWireTorus", (const GLUTproc) glutWireTorus },
- { "glutSolidTorus", (const GLUTproc) glutSolidTorus },
- { "glutWireDodecahedron", (const GLUTproc) glutWireDodecahedron },
- { "glutSolidDodecahedron", (const GLUTproc) glutSolidDodecahedron },
- { "glutWireTeapot", (const GLUTproc) glutWireTeapot },
- { "glutSolidTeapot", (const GLUTproc) glutSolidTeapot },
- { "glutWireOctahedron", (const GLUTproc) glutWireOctahedron },
- { "glutSolidOctahedron", (const GLUTproc) glutSolidOctahedron },
- { "glutWireTetrahedron", (const GLUTproc) glutWireTetrahedron },
- { "glutSolidTetrahedron", (const GLUTproc) glutSolidTetrahedron },
- { "glutWireIcosahedron", (const GLUTproc) glutWireIcosahedron },
- { "glutSolidIcosahedron", (const GLUTproc) glutSolidIcosahedron },
- { "glutReportErrors", (const GLUTproc) glutReportErrors },
- { NULL, NULL }
-};
-
-GLUTproc glutGetProcAddress(const char *procName)
-{
- /* Try GLUT functions first */
- int i;
- for (i = 0; glut_functions[i].name; i++) {
- if (strcmp(glut_functions[i].name, procName) == 0)
- return glut_functions[i].address;
- }
-
- /* Try core GL functions */
- return (GLUTproc) glFBDevGetProcAddress(procName);
-}
diff --git a/src/glut/fbdev/fbdev.c b/src/glut/fbdev/fbdev.c
deleted file mode 100644
index 80237f5bc7..0000000000
--- a/src/glut/fbdev/fbdev.c
+++ /dev/null
@@ -1,940 +0,0 @@
-/*
- * Mesa 3-D graphics library
- * Version: 6.5
- * Copyright (C) 1995-2006 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-/*
- * Library for glut using mesa fbdev driver
- *
- * Written by Sean D'Epagnier (c) 2006
- *
- * To improve on this library, maybe support subwindows or overlays,
- * I (sean at depagnier dot com) will do my best to help.
- */
-
-#include <errno.h>
-#include <signal.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <inttypes.h>
-
-#include <sys/mman.h>
-#include <sys/time.h>
-#include <sys/kd.h>
-
-#include <linux/fb.h>
-#include <linux/vt.h>
-
-#include <GL/gl.h>
-#include <GL/glut.h>
-
-#include "internal.h"
-
-#define FBMODES "/etc/fb.modes"
-
-struct fb_fix_screeninfo FixedInfo;
-struct fb_var_screeninfo VarInfo;
-static struct fb_var_screeninfo OrigVarInfo;
-
-static int DesiredDepth = 0;
-
-int FrameBufferFD = -1;
-unsigned char *FrameBuffer;
-unsigned char *BackBuffer = NULL;
-int DisplayMode;
-
-struct GlutTimer *GlutTimers = NULL;
-
-struct timeval StartTime;
-
-/* per window data */
-GLFBDevContextPtr Context;
-GLFBDevBufferPtr Buffer;
-GLFBDevVisualPtr Visual;
-
-int Redisplay;
-int Visible;
-int VisibleSwitch;
-int Active;
-static int Resized;
-/* we have to poll to see if we are visible
- on a framebuffer that is not active */
-int VisiblePoll;
-int Swapping, VTSwitch;
-static int FramebufferIndex;
-
-static int Initialized;
-
-char exiterror[256];
-
-/* test if the active console is attached to the same framebuffer */
-void TestVisible(void) {
- struct fb_con2fbmap confb;
- struct vt_stat st;
- int ret;
- ioctl(ConsoleFD, VT_GETSTATE, &st);
- confb.console = st.v_active;
-
- ret = ioctl(FrameBufferFD, FBIOGET_CON2FBMAP, &confb);
-
- if(ret == -1 || confb.framebuffer == FramebufferIndex) {
- VisibleSwitch = 1;
- Visible = 0;
- VisiblePoll = 0;
- }
-}
-
-static void Cleanup(void)
-{
- /* do not handle this signal when cleaning up */
- signal(SIGWINCH, SIG_IGN);
-
- if(GameMode)
- glutLeaveGameMode();
-
- if(ConsoleFD != -1)
- RestoreVT();
-
- /* close mouse */
- CloseMouse();
-
- if(Visual)
- glutDestroyWindow(1);
-
- /* restore original variable screen info */
- if(FrameBufferFD != -1) {
- OrigVarInfo.xoffset = 0;
- OrigVarInfo.yoffset = 0;
-
- if (ioctl(FrameBufferFD, FBIOPUT_VSCREENINFO, &OrigVarInfo))
- fprintf(stderr, "ioctl(FBIOPUT_VSCREENINFO failed): %s\n",
- strerror(errno));
-
- if(FrameBuffer)
- munmap(FrameBuffer, FixedInfo.smem_len);
- close(FrameBufferFD);
-
- }
-
- /* free allocated back buffer */
- if(DisplayMode & GLUT_DOUBLE)
- free(BackBuffer);
-
- /* free menu items */
- FreeMenus();
-
- if(exiterror[0])
- fprintf(stderr, "[glfbdev glut] %s", exiterror);
- }
-
-static void CrashHandler(int sig)
-{
- sprintf(exiterror, "Caught signal %d, cleaning up\n", sig);
- exit(0);
-}
-
-static void removeArgs(int *argcp, char **argv, int num)
-{
- int i;
- for (i = 0; argv[i+num]; i++)
- argv[i] = argv[i+num];
-
- argv[i] = NULL;
- *argcp -= num;
-}
-
-#define REQPARAM(PARAM) \
- if (i >= *argcp - 1) { \
- fprintf(stderr, PARAM" requires a parameter\n"); \
- exit(0); \
- }
-
-void glutInit (int *argcp, char **argv)
-{
- int i, nomouse = 0, nokeyboard = 0, usestdin = 0;
- int RequiredWidth = 0, RequiredHeight;
- char *fbdev;
-
- stack_t stack;
- struct sigaction sa;
-
- /* parse out args */
- for (i = 1; i < *argcp;) {
- if (!strcmp(argv[i], "-geometry")) {
- REQPARAM("geometry");
- if(sscanf(argv[i+1], "%dx%d", &RequiredWidth,
- &RequiredHeight) != 2) {
- fprintf(stderr,"Please specify geometry as widthxheight\n");
- exit(0);
- }
- removeArgs(argcp, &argv[i], 2);
- } else
- if (!strcmp(argv[i], "-bpp")) {
- REQPARAM("bpp");
- if(sscanf(argv[i+1], "%d", &DesiredDepth) != 1) {
- fprintf(stderr, "Please specify a parameter for bpp\n");
- exit(0);
- }
- removeArgs(argcp, &argv[i], 2);
- } else
- if (!strcmp(argv[i], "-vt")) {
- REQPARAM("vt");
- if(sscanf(argv[i+1], "%d", &CurrentVT) != 1) {
- fprintf(stderr, "Please specify a parameter for vt\n");
- exit(0);
- }
- removeArgs(argcp, &argv[i], 2);
- } else
- if (!strcmp(argv[i], "-mousespeed")) {
- REQPARAM("mousespeed");
- if(sscanf(argv[i+1], "%lf", &MouseSpeed) != 1) {
- fprintf(stderr, "Please specify a mouse speed, eg: 2.5\n");
- exit(0);
- }
- removeArgs(argcp, &argv[i], 2);
- } else
- if (!strcmp(argv[i], "-nomouse")) {
- nomouse = 1;
- removeArgs(argcp, &argv[i], 1);
- } else
- if (!strcmp(argv[i], "-nokeyboard")) {
- nokeyboard = 1;
- removeArgs(argcp, &argv[i], 1);
- } else
- if (!strcmp(argv[i], "-stdin")) {
- usestdin = 1;
- removeArgs(argcp, &argv[i], 1);
- } else
- if (!strcmp(argv[i], "-gpmmouse")) {
-#ifdef HAVE_GPM
- GpmMouse = 1;
-#else
- fprintf(stderr, "gpm support not compiled\n");
- exit(0);
-#endif
- removeArgs(argcp, &argv[i], 1);
- } else
- if (!strcmp(argv[i], "--")) {
- removeArgs(argcp, &argv[i], 1);
- break;
- } else
- i++;
- }
-
- gettimeofday(&StartTime, 0);
- atexit(Cleanup);
-
- /* set up SIGSEGV to use alternate stack */
- stack.ss_flags = 0;
- stack.ss_size = SIGSTKSZ;
- if(!(stack.ss_sp = malloc(SIGSTKSZ)))
- sprintf(exiterror, "Failed to allocate alternate stack for SIGSEGV!\n");
-
- sigaltstack(&stack, NULL);
-
- sa.sa_handler = CrashHandler;
- sa.sa_flags = SA_ONSTACK;
- sigemptyset(&sa.sa_mask);
- sigaction(SIGSEGV, &sa, NULL);
-
- signal(SIGINT, CrashHandler);
- signal(SIGTERM, CrashHandler);
- signal(SIGABRT, CrashHandler);
-
- if(nomouse == 0)
- InitializeMouse();
- if(nokeyboard == 0)
- InitializeVT(usestdin);
-
- fbdev = getenv("FRAMEBUFFER");
- if(fbdev) {
-#ifdef MULTIHEAD
- if(!sscanf(fbdev, "/dev/fb%d", &FramebufferIndex))
- if(!sscanf(fbdev, "/dev/fb/%d", &FramebufferIndex))
- sprintf(exiterror, "Could not determine Framebuffer index!\n");
-#endif
- } else {
- static char fb[128];
- struct fb_con2fbmap confb;
- int fd = open("/dev/fb0", O_RDWR);
-
- FramebufferIndex = 0;
-
- confb.console = CurrentVT;
- if(ioctl(fd, FBIOGET_CON2FBMAP, &confb) != -1)
- FramebufferIndex = confb.framebuffer;
- sprintf(fb, "/dev/fb%d", FramebufferIndex);
- fbdev = fb;
- close(fd);
- }
-
- /* open the framebuffer device */
- FrameBufferFD = open(fbdev, O_RDWR);
- if (FrameBufferFD < 0) {
- sprintf(exiterror, "Error opening %s: %s\n", fbdev, strerror(errno));
- exit(0);
- }
-
- /* get the fixed screen info */
- if (ioctl(FrameBufferFD, FBIOGET_FSCREENINFO, &FixedInfo)) {
- sprintf(exiterror, "error: ioctl(FBIOGET_FSCREENINFO) failed: %s\n",
- strerror(errno));
- exit(0);
- }
-
- /* get the variable screen info */
- if (ioctl(FrameBufferFD, FBIOGET_VSCREENINFO, &OrigVarInfo)) {
- sprintf(exiterror, "error: ioctl(FBIOGET_VSCREENINFO) failed: %s\n",
- strerror(errno));
- exit(0);
- }
-
- /* operate on a copy */
- VarInfo = OrigVarInfo;
-
- /* set the depth, resolution, etc */
- if(RequiredWidth)
- if(!ParseFBModes(RequiredWidth, RequiredWidth, RequiredHeight,
- RequiredHeight, 0, MAX_VSYNC)) {
- sprintf(exiterror, "No mode (%dx%d) found in "FBMODES"\n",
- RequiredWidth, RequiredHeight);
- exit(0);
- }
-
- Initialized = 1;
-}
-
-void glutInitDisplayMode (unsigned int mode)
-{
- DisplayMode = mode;
-}
-
-static const char *GetStrVal(const char *p, int *set, int min, int max)
-{
- char *endptr;
- int comp = *p, val;
-
- if(p[1] == '=')
- p++;
-
- if(*p == '\0')
- return p;
-
- val = strtol(p+1, &endptr, 10);
-
- if(endptr == p+1)
- return p;
-
- switch(comp) {
- case '!':
- if(val == min)
- val = max;
- else
- val = min;
- break;
- case '<':
- val = min;
- break;
- case '>':
- val = max;
- break;
- }
-
- if(val < min || val > max) {
- sprintf(exiterror, "display string value out of range\n");
- exit(0);
- }
-
- *set = val;
-
- return endptr;
-}
-
-static void SetAttrib(int val, int attr)
-{
- if(val)
- DisplayMode |= attr;
- else
- DisplayMode &= ~attr;
-}
-
-void glutInitDisplayString(const char *string)
-{
- const char *p = string;
- int val;
- while(*p) {
- if(*p == ' ')
- p++;
- else
- if(memcmp(p, "acca", 4) == 0) {
- p = GetStrVal(p+4, &AccumSize, 1, 32);
- SetAttrib(AccumSize, GLUT_ACCUM);
- } else
- if(memcmp(p, "acc", 3) == 0) {
- p = GetStrVal(p+3, &AccumSize, 1, 32);
- SetAttrib(AccumSize, GLUT_ACCUM);
- } else
- if(memcmp(p, "depth", 5) == 0) {
- p = GetStrVal(p+5, &DepthSize, 12, 32);
- SetAttrib(DepthSize, GLUT_DEPTH);
- } else
- if(memcmp(p, "double", 6) == 0) {
- val = 1;
- p = GetStrVal(p+6, &val, 0, 1);
- SetAttrib(val, GLUT_DOUBLE);
- } else
- if(memcmp(p, "index", 5) == 0) {
- val = 1;
- p = GetStrVal(p+5, &val, 0, 1);
- SetAttrib(val, GLUT_INDEX);
- } else
- if(memcmp(p, "stencil", 7) == 0) {
- p = GetStrVal(p+7, &StencilSize, 0, 1);
- SetAttrib(StencilSize, GLUT_STENCIL);
- } else
- if(memcmp(p, "samples", 7) == 0) {
- NumSamples = 1;
- p = GetStrVal(p+7, &NumSamples, 0, 16);
- SetAttrib(NumSamples, GLUT_MULTISAMPLE);
- } else
- if(p = strchr(p, ' '))
- p++;
- else
- break;
- }
-}
-
-void glutInitWindowPosition (int x, int y)
-{
-}
-
-void glutInitWindowSize (int width, int height)
-{
-}
-
-static void ProcessTimers(void)
-{
- while(GlutTimers && GlutTimers->time <= glutGet(GLUT_ELAPSED_TIME)) {
- struct GlutTimer *timer = GlutTimers;
- GlutTimers = timer->next;
- timer->func(timer->value);
- free(timer);
- }
-}
-
-void glutMainLoop(void)
-{
- int idleiters;
-
- if(ReshapeFunc)
- ReshapeFunc(VarInfo.xres, VarInfo.yres);
-
- if(!DisplayFunc) {
- sprintf(exiterror, "Fatal Error: No Display Function registered\n");
- exit(0);
- }
-
- for(;;) {
- ProcessTimers();
-
- if(Active)
- ReceiveInput();
- else
- if(VisiblePoll)
- TestVisible();
-
- if(IdleFunc)
- IdleFunc();
-
- if(VisibleSwitch) {
- VisibleSwitch = 0;
- if(VisibilityFunc)
- VisibilityFunc(Visible ? GLUT_VISIBLE : GLUT_NOT_VISIBLE);
- }
-
- if(Resized) {
- SetVideoMode();
- CreateBuffer();
-
- if(!glFBDevMakeCurrent( Context, Buffer, Buffer )) {
- sprintf(exiterror, "Failure to Make Current\n");
- exit(0);
- }
-
- InitializeMenus();
-
- if(ReshapeFunc)
- ReshapeFunc(VarInfo.xres, VarInfo.yres);
-
- Redisplay = 1;
- Resized = 0;
- }
-
- if(Visible && Redisplay) {
- Redisplay = 0;
- EraseCursor();
- DisplayFunc();
- if(!(DisplayMode & GLUT_DOUBLE)) {
- if(ActiveMenu)
- DrawMenus();
- DrawCursor();
- }
- idleiters = 0;
- } else {
- /* we sleep if not receiving redisplays, and
- the main loop is running faster than 2khz */
-
- static int lasttime;
- int time = glutGet(GLUT_ELAPSED_TIME);
- if(time > lasttime) {
- if(idleiters >= 2)
- usleep(100);
-
- idleiters = 0;
- lasttime = time;
- }
- idleiters++;
- }
- }
-}
-
-int ParseFBModes(int minw, int maxw, int minh, int maxh, int minf, int maxf)
-{
- char buf[1024];
- struct fb_var_screeninfo vi = VarInfo;
-
- FILE *fbmodes = fopen(FBMODES, "r");
-
- if(!fbmodes) {
- sprintf(exiterror, "Warning: could not open "FBMODES"\n");
- return 0;
- }
-
- while(fgets(buf, sizeof buf, fbmodes)) {
- char *c;
- int v, bpp, freq;
-
- if(!(c = strstr(buf, "geometry")))
- continue;
- v = sscanf(c, "geometry %d %d %d %d %d", &vi.xres, &vi.yres,
- &vi.xres_virtual, &vi.yres_virtual, &bpp);
- if(v != 5)
- continue;
-
- if(maxw < minw) {
- if(maxw < vi.xres && minw > vi.xres)
- continue;
- } else
- if(maxw < vi.xres || minw > vi.xres)
- continue;
-
- if(maxh < minh) {
- if(maxh < vi.yres && minh > vi.yres)
- continue;
- } else
- if(maxh < vi.yres || minh > vi.yres)
- continue;
-
- fgets(buf, sizeof buf, fbmodes);
- if(!(c = strstr(buf, "timings")))
- continue;
-
- v = sscanf(c, "timings %d %d %d %d %d %d %d", &vi.pixclock,
- &vi.left_margin, &vi.right_margin, &vi.upper_margin,
- &vi.lower_margin, &vi.hsync_len, &vi.vsync_len);
-
- if(v != 7)
- continue;
-
- freq = 1E12/vi.pixclock
- /(vi.left_margin + vi.xres + vi.right_margin + vi.hsync_len)
- /(vi.upper_margin + vi.yres + vi.lower_margin + vi.vsync_len);
-
- if(maxf < minf) {
- if(maxf < freq && minf > freq)
- continue;
- } else
- if(maxf < freq || minf > freq)
- continue;
-
- VarInfo = vi;
- fclose(fbmodes);
- return 1;
- }
-
- fclose(fbmodes);
-
- return 0;
-}
-
-void SetVideoMode(void)
-{
- /* set new variable screen info */
- if (ioctl(FrameBufferFD, FBIOPUT_VSCREENINFO, &VarInfo)) {
- sprintf(exiterror, "FBIOPUT_VSCREENINFO failed: %s\n", strerror(errno));
- strcat(exiterror, "Perhaps the device does not support the selected mode\n");
- exit(0);
- }
-
- /* reload the screen info to update rgb bits */
- if (ioctl(FrameBufferFD, FBIOGET_VSCREENINFO, &VarInfo)) {
- sprintf(exiterror, "error: ioctl(FBIOGET_VSCREENINFO) failed: %s\n",
- strerror(errno));
- exit(0);
- }
-
- /* reload the fixed info to update color mode */
- if (ioctl(FrameBufferFD, FBIOGET_FSCREENINFO, &FixedInfo)) {
- sprintf(exiterror, "error: ioctl(FBIOGET_FSCREENINFO) failed: %s\n",
- strerror(errno));
- exit(0);
- }
-
- if (DesiredDepth && DesiredDepth != VarInfo.bits_per_pixel) {
- sprintf(exiterror, "error: Could not set set %d bpp\n", DesiredDepth);
- exit(0);
- }
-
- if(DisplayMode & GLUT_INDEX && FixedInfo.visual == FB_VISUAL_DIRECTCOLOR) {
- sprintf(exiterror, "error: Could not set 8 bit color mode\n");
- exit(0);
- }
-
- /* initialize colormap */
- LoadColorMap();
-}
-
-void CreateBuffer(void)
-{
- int size = VarInfo.xres_virtual * VarInfo.yres_virtual
- * VarInfo.bits_per_pixel / 8;
-
- /* mmap the framebuffer into our address space */
- if(FrameBuffer)
- munmap(FrameBuffer, FixedInfo.smem_len);
- FrameBuffer = mmap(0, FixedInfo.smem_len, PROT_READ | PROT_WRITE,
- MAP_SHARED, FrameBufferFD, 0);
- if (FrameBuffer == MAP_FAILED) {
- sprintf(exiterror, "error: unable to mmap framebuffer: %s\n",
- strerror(errno));
- exit(0);
- }
-
- if(DisplayMode & GLUT_DOUBLE) {
- free(BackBuffer);
- if(!(BackBuffer = malloc(size))) {
- sprintf(exiterror, "Failed to allocate double buffer\n");
- exit(0);
- }
- } else
- BackBuffer = FrameBuffer;
-
- if(Buffer)
- glFBDevDestroyBuffer(Buffer);
-
- if(!(Buffer = glFBDevCreateBuffer( &FixedInfo, &VarInfo, Visual,
- FrameBuffer, BackBuffer, size))) {
- sprintf(exiterror, "Failure to create Buffer\n");
- exit(0);
- }
-}
-
-void CreateVisual(void)
-{
- int i, mask = DisplayMode;
- int attribs[20];
- for(i=0; i<sizeof(attribs)/sizeof(*attribs) && mask; i++) {
- if(mask & GLUT_DOUBLE) {
- attribs[i] = GLFBDEV_DOUBLE_BUFFER;
- mask &= ~GLUT_DOUBLE;
- continue;
- }
-
- if(mask & GLUT_INDEX) {
- attribs[i] = GLFBDEV_COLOR_INDEX;
- mask &= ~GLUT_INDEX;
- continue;
- }
-
- if(mask & GLUT_DEPTH) {
- attribs[i] = GLFBDEV_DEPTH_SIZE;
- attribs[++i] = DepthSize;
- mask &= ~GLUT_DEPTH;
- continue;
- }
-
- if(mask & GLUT_STENCIL) {
- attribs[i] = GLFBDEV_STENCIL_SIZE;
- attribs[++i] = StencilSize;
- mask &= ~GLUT_STENCIL;
- continue;
- }
-
- if(mask & GLUT_ACCUM) {
- attribs[i] = GLFBDEV_ACCUM_SIZE;
- attribs[++i] = AccumSize;
- mask &= ~GLUT_ACCUM;
- continue;
- }
-
- if(mask & GLUT_ALPHA)
- if(!(DisplayMode & GLUT_INDEX)) {
- mask &= ~GLUT_ALPHA;
- i--;
- continue;
- }
-
- if(mask & GLUT_MULTISAMPLE) {
- attribs[i] = GLFBDEV_MULTISAMPLE;
- attribs[++i] = NumSamples;
- mask &= ~GLUT_MULTISAMPLE;
- continue;
- }
-
- sprintf(exiterror, "Invalid mode from glutInitDisplayMode\n");
- exit(0);
- }
-
- attribs[i] = GLFBDEV_NONE;
-
- if(!(Visual = glFBDevCreateVisual( &FixedInfo, &VarInfo, attribs ))) {
- sprintf(exiterror, "Failure to create Visual\n");
- exit(0);
- }
-}
-
-static void SignalWinch(int arg)
-{
- /* we can't change bitdepth without destroying the visual */
- int bits_per_pixel = VarInfo.bits_per_pixel;
- struct fb_bitfield red = VarInfo.red, green = VarInfo.green,
- blue = VarInfo.blue, transp = VarInfo.transp;
-
- /* get the variable screen info */
- if (ioctl(FrameBufferFD, FBIOGET_VSCREENINFO, &VarInfo)) {
- sprintf(exiterror, "error: ioctl(FBIOGET_VSCREENINFO) failed: %s\n",
- strerror(errno));
- exit(0);
- }
-
- /* restore bitdepth and color masks only */
- VarInfo.bits_per_pixel = bits_per_pixel;
- VarInfo.red = red;
- VarInfo.green = green;
- VarInfo.blue = blue;
- VarInfo.transp = transp;
-
- Resized = 1;
-}
-
-int glutCreateWindow (const char *title)
-{
- if(Initialized == 0) {
- int argc = 0;
- char *argv[] = {NULL};
- glutInit(&argc, argv);
- }
-
- if(Context)
- return 0;
-
- if(DisplayMode & GLUT_INDEX)
- VarInfo.bits_per_pixel = 8;
- else
- if(VarInfo.bits_per_pixel == 8)
- VarInfo.bits_per_pixel = 32;
-
- if (DesiredDepth)
- VarInfo.bits_per_pixel = DesiredDepth;
-
- VarInfo.xoffset = 0;
- VarInfo.yoffset = 0;
- VarInfo.nonstd = 0;
- VarInfo.vmode &= ~FB_VMODE_YWRAP; /* turn off scrolling */
-
- SetVideoMode();
- CreateVisual();
- CreateBuffer();
-
- if(!(Context = glFBDevCreateContext(Visual, NULL))) {
- sprintf(exiterror, "Failure to create Context\n");
- exit(0);
- }
-
- if(!glFBDevMakeCurrent( Context, Buffer, Buffer )) {
- sprintf(exiterror, "Failure to Make Current\n");
- exit(0);
- }
-
- InitializeCursor();
- InitializeMenus();
-
- glutSetWindowTitle(title);
-
- signal(SIGWINCH, SignalWinch);
-
- Visible = 1;
- VisibleSwitch = 1;
- Redisplay = 1;
- return 1;
-}
-
-int glutCreateSubWindow(int win, int x, int y, int width, int height)
-{
- return 0;
-}
-
-void glutSetWindow(int win)
-{
-}
-
-int glutGetWindow(void)
-{
- return 1;
-}
-
-void glutDestroyWindow(int win)
-{
- glFBDevMakeCurrent( NULL, NULL, NULL);
- glFBDevDestroyContext(Context);
- glFBDevDestroyBuffer(Buffer);
- glFBDevDestroyVisual(Visual);
-
- Visual = NULL;
-}
-
-void glutPostRedisplay(void)
-{
- Redisplay = 1;
-}
-
-void glutPostWindowRedisplay(int win)
-{
- Redisplay = 1;
-}
-
-void glutSwapBuffers(void)
-{
- glFlush();
-
- if(!(DisplayMode & GLUT_DOUBLE))
- return;
-
- if(ActiveMenu)
- DrawMenus();
- DrawCursor();
-
- if(Visible) {
- Swapping = 1;
- glFBDevSwapBuffers(Buffer);
- Swapping = 0;
- }
-
- /* if there was a vt switch while swapping, switch now */
- if(VTSwitch) {
- if(ioctl(ConsoleFD, VT_ACTIVATE, VTSwitch) < 0)
- sprintf(exiterror, "Error switching console\n");
- VTSwitch = 0;
- }
-}
-
-void glutPositionWindow(int x, int y)
-{
-}
-
-void glutReshapeWindow(int width, int height)
-{
- if(GameMode)
- return;
-
- if(!ParseFBModes(width, width, height, height, 0, MAX_VSYNC))
- return;
-
- signal(SIGWINCH, SIG_IGN);
-
- SetVideoMode();
- signal(SIGWINCH, SignalWinch);
- Resized = 1;
-}
-
-void glutFullScreen(void)
-{
-}
-
-void glutPopWindow(void)
-{
-}
-
-void glutPushWindow(void)
-{
-}
-
-void glutShowWindow(void)
-{
- Visible = 1;
-}
-
-void glutHideWindow(void)
-{
- Visible = 0;
-}
-
-static void UnIconifyWindow(int sig)
-{
- if(ConsoleFD == 0)
- InitializeVT(1);
- else
- if(ConsoleFD > 0)
- InitializeVT(0);
- if (ioctl(FrameBufferFD, FBIOPUT_VSCREENINFO, &VarInfo)) {
- sprintf(exiterror, "ioctl(FBIOPUT_VSCREENINFO failed): %s\n",
- strerror(errno));
- exit(0);
- }
-
- RestoreColorMap();
-
- Redisplay = 1;
- VisibleSwitch = 1;
- Visible = 1;
-}
-
-void glutIconifyWindow(void)
-{
- RestoreVT();
- signal(SIGCONT, UnIconifyWindow);
- if (ioctl(FrameBufferFD, FBIOPUT_VSCREENINFO, &OrigVarInfo))
- fprintf(stderr, "ioctl(FBIOPUT_VSCREENINFO failed): %s\n",
- strerror(errno));
-
- raise(SIGSTOP);
-}
-
-void glutSetWindowTitle(const char *name)
-{
- /* escape code to set title in screen */
- if(getenv("TERM") && memcmp(getenv("TERM"), "screen", 6) == 0)
- printf("\033k%s\033\\", name);
-}
-
-void glutSetIconTitle(const char *name)
-{
-}
diff --git a/src/glut/fbdev/gamemode.c b/src/glut/fbdev/gamemode.c
deleted file mode 100644
index 30be36af7a..0000000000
--- a/src/glut/fbdev/gamemode.c
+++ /dev/null
@@ -1,306 +0,0 @@
-/*
- * Mesa 3-D graphics library
- * Version: 6.5
- * Copyright (C) 1995-2006 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-/*
- * Library for glut using mesa fbdev driver
- *
- * Written by Sean D'Epagnier (c) 2006
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <linux/fb.h>
-
-#include <GL/glut.h>
-
-#include "internal.h"
-
-int GameMode;
-
-static int ModePossible, DispChanged;
-static struct fb_var_screeninfo NormVarInfo, GameVarInfo;
-
-static GLFBDevContextPtr GameContext;
-static GLFBDevVisualPtr NormVisual;
-
-/* storage for non-gamemode callbacks */
-void (*KeyFuncs[2])(unsigned char key, int x, int y);
-static void (*NormFuncs[8])();
-
-static const char*SetOpers(const char *p, unsigned int *min, unsigned int *max)
-{
- char *endptr;
- int comp = *p, val, neq = 0;
-
- if(p[1] == '=') {
- neq = 0;
- p++;
- }
-
- val = strtol(p+1, &endptr, 10);
- if(endptr == p+1)
- return p;
-
- switch(comp) {
- case '=':
- *min = *max = val;
- break;
- case '!':
- *min = val + 1;
- *max = val - 1;
- break;
- case '<':
- *max = val - neq;
- break;
- case '>':
- *min = val + neq;
- break;
- }
- return endptr;
-}
-
-void glutGameModeString(const char *string)
-{
- const char *p = string;
- unsigned int minb = 15, maxb = 32;
- unsigned int minw = 0, maxw = -1;
- unsigned int minh, maxh = -1;
- unsigned int minf = 0, maxf = MAX_VSYNC;
- char *endptr;
- int count = -1, val;
-
- ModePossible = 0;
-
- if(DisplayMode & GLUT_INDEX)
- minb = maxb = 8;
-
- again:
- count++;
- if((val = strtol(p, &endptr, 10)) && *endptr=='x') {
- maxw = minw = val;
- p = endptr + 1;
- maxh = minh = strtol(p, &endptr, 10);
- p = endptr;
- goto again;
- }
-
- if(*p == ':') {
- minb = strtol(p+1, &endptr, 10);
- p = endptr;
- if(DisplayMode & GLUT_INDEX) {
- if(minb != 8)
- return;
- } else
- if(minb != 15 && minb != 16 && minb != 24 && minb != 32)
- return;
- maxb = minb;
- goto again;
- }
-
- if(*p == '@') {
- minf = strtol(p+1, &endptr, 10) - 5;
- maxf = minf + 10;
- p = endptr;
- goto again;
- }
-
- if(count == 0)
- while(*p) {
- if(*p == ' ')
- p++;
- else
- if(memcmp(p, "bpp", 3) == 0)
- p = SetOpers(p+3, &minb, &maxb);
- else
- if(memcmp(p, "height", 6) == 0)
- p = SetOpers(p+6, &minh, &maxh);
- else
- if(memcmp(p, "hertz", 5) == 0)
- p = SetOpers(p+5, &minf, &maxf);
- else
- if(memcmp(p, "width", 5) == 0)
- p = SetOpers(p+5, &minw, &maxw);
- else
- if(p = strchr(p, ' '))
- p++;
- else
- break;
- }
-
- NormVarInfo = VarInfo;
- if(!ParseFBModes(minw, maxw, minh, maxh, minf, maxf))
- return;
-
- GameVarInfo = VarInfo;
- VarInfo = NormVarInfo;
-
- /* determine optimal bitdepth, make sure we have enough video memory */
- if(VarInfo.bits_per_pixel && VarInfo.bits_per_pixel <= maxb)
- GameVarInfo.bits_per_pixel = VarInfo.bits_per_pixel;
- else
- GameVarInfo.bits_per_pixel = maxb;
-
- while(FixedInfo.smem_len < GameVarInfo.xres * GameVarInfo.yres
- * GameVarInfo.bits_per_pixel / 8) {
- if(GameVarInfo.bits_per_pixel < minb)
- return;
- GameVarInfo.bits_per_pixel = ((GameVarInfo.bits_per_pixel+1)/8)*8-8;
- }
-
- ModePossible = 1;
-}
-
-int glutEnterGameMode(void)
-{
- if(ActiveMenu)
- return 0;
-
- if(!ModePossible)
- return 0;
-
- if(GameMode) {
- if(!memcmp(&GameVarInfo, &VarInfo, sizeof VarInfo)) {
- DispChanged = 0;
- return 1;
- }
- glutLeaveGameMode();
- }
-
- if (ioctl(FrameBufferFD, FBIOPUT_VSCREENINFO, &GameVarInfo))
- return 0;
-
- NormVarInfo = VarInfo;
- VarInfo = GameVarInfo;
-
- NormVisual = Visual;
- SetVideoMode();
- CreateVisual();
- CreateBuffer();
-
- if(!(GameContext = glFBDevCreateContext(Visual, NULL))) {
- sprintf(exiterror, "Failure to create Context\n");
- exit(0);
- }
-
- if(!glFBDevMakeCurrent( GameContext, Buffer, Buffer )) {
- sprintf(exiterror, "Failure to Make Game Current\n");
- exit(0);
- }
-
- InitializeCursor();
-
- KeyFuncs[0] = KeyboardFunc;
- KeyFuncs[1] = KeyboardUpFunc;
-
- NormFuncs[0] = DisplayFunc;
- NormFuncs[1] = ReshapeFunc;
- NormFuncs[2] = MouseFunc;
- NormFuncs[3] = MotionFunc;
- NormFuncs[4] = PassiveMotionFunc;
- NormFuncs[5] = VisibilityFunc;
- NormFuncs[6] = SpecialFunc;
- NormFuncs[7] = SpecialUpFunc;
-
- DisplayFunc = NULL;
- ReshapeFunc = NULL;
- KeyboardFunc = NULL;
- KeyboardUpFunc = NULL;
- MouseFunc = NULL;
- MotionFunc = NULL;
- PassiveMotionFunc = NULL;
- VisibilityFunc = NULL;
- SpecialFunc = SpecialUpFunc = NULL;
-
- DispChanged = 1;
- GameMode = 1;
- Visible = 1;
- VisibleSwitch = 1;
- Redisplay = 1;
- return 1;
-}
-
-void glutLeaveGameMode(void)
-{
- if(!GameMode)
- return;
-
- glFBDevDestroyContext(GameContext);
- glFBDevDestroyVisual(Visual);
-
- VarInfo = NormVarInfo;
- Visual = NormVisual;
-
- if(Visual) {
- SetVideoMode();
- CreateBuffer();
-
- if(!glFBDevMakeCurrent( Context, Buffer, Buffer )) {
- sprintf(exiterror, "Failure to Make Current\n");
- exit(0);
- }
-
- Redisplay = 1;
- }
-
- KeyboardFunc = KeyFuncs[0];
- KeyboardUpFunc = KeyFuncs[1];
-
- DisplayFunc = NormFuncs[0];
- ReshapeFunc = NormFuncs[1];
- MouseFunc = NormFuncs[2];
- MotionFunc = NormFuncs[3];
- PassiveMotionFunc = NormFuncs[4];
- VisibilityFunc = NormFuncs[5];
- SpecialFunc = NormFuncs[6];
- SpecialUpFunc = NormFuncs[7];
-
- GameMode = 0;
-}
-
-int glutGameModeGet(GLenum mode) {
- switch(mode) {
- case GLUT_GAME_MODE_ACTIVE:
- return GameMode;
- case GLUT_GAME_MODE_POSSIBLE:
- return ModePossible;
- case GLUT_GAME_MODE_DISPLAY_CHANGED:
- return DispChanged;
- }
-
- if(!ModePossible)
- return -1;
-
- switch(mode) {
- case GLUT_GAME_MODE_WIDTH:
- return GameVarInfo.xres;
- case GLUT_GAME_MODE_HEIGHT:
- return GameVarInfo.yres;
- case GLUT_GAME_MODE_PIXEL_DEPTH:
- return GameVarInfo.bits_per_pixel;
- case GLUT_GAME_MODE_REFRESH_RATE:
- return 1E12/GameVarInfo.pixclock
- / (GameVarInfo.left_margin + GameVarInfo.xres
- + GameVarInfo.right_margin + GameVarInfo.hsync_len)
- / (GameVarInfo.upper_margin + GameVarInfo.yres
- + GameVarInfo.lower_margin + GameVarInfo.vsync_len);
- }
-}
diff --git a/src/glut/fbdev/input.c b/src/glut/fbdev/input.c
deleted file mode 100644
index 1445682c76..0000000000
--- a/src/glut/fbdev/input.c
+++ /dev/null
@@ -1,828 +0,0 @@
-/*
- * Mesa 3-D graphics library
- * Version: 6.5
- * Copyright (C) 1995-2006 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-/*
- * Library for glut using mesa fbdev driver
- *
- * Written by Sean D'Epagnier (c) 2006
- */
-
-#include <errno.h>
-#include <signal.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <termios.h>
-#include <inttypes.h>
-
-#include <sys/ioctl.h>
-#include <sys/poll.h>
-#include <sys/kd.h>
-
-#include <linux/keyboard.h>
-#include <linux/fb.h>
-#include <linux/vt.h>
-
-#include <GL/glut.h>
-
-#include "internal.h"
-
-#define MOUSEDEV "/dev/gpmdata"
-
-#ifdef HAVE_GPM
-#include <gpm.h>
-int GpmMouse;
-#endif
-
-int CurrentVT = 0;
-int ConsoleFD = -1;
-
-int KeyboardModifiers;
-
-int MouseX, MouseY;
-int NumMouseButtons;
-
-double MouseSpeed = 0;
-
-int KeyRepeatMode = GLUT_KEY_REPEAT_DEFAULT;
-
-int MouseVisible = 0;
-int LastMouseTime = 0;
-
-static int OldKDMode = -1;
-static int OldMode = KD_TEXT;
-static struct vt_mode OldVTMode;
-static struct termios OldTermios;
-
-static int KeyboardLedState;
-
-static int MouseFD;
-
-static int kbdpipe[2];
-
-static int LastStdinKeyTime, LastStdinSpecialKey = -1, LastStdinCode = -1;
-
-#define MODIFIER(mod) \
- KeyboardModifiers = release ? KeyboardModifiers & ~mod \
- : KeyboardModifiers | mod;
-
-/* signal handler attached to SIGIO on keyboard input, vt
- switching and modifiers is handled in the signal handler
- other keypresses read from a pipe that leaves the handler
- if a program locks up the glut loop, you can still switch
- vts and kill it without Alt-SysRq hack */
-static void KeyboardHandler(int sig)
-{
- unsigned char code;
-
- while(read(ConsoleFD, &code, 1) == 1) {
- int release, labelval;
- struct kbentry entry;
- static int lalt; /* only left alt does vt switch */
-
- release = code & 0x80;
-
- entry.kb_index = code & 0x7F;
- entry.kb_table = 0;
-
- if (ioctl(ConsoleFD, KDGKBENT, &entry) < 0) {
- sprintf(exiterror, "ioctl(KDGKBENT) failed.\n");
- exit(0);
- }
-
- labelval = entry.kb_value;
-
- switch(labelval) {
- case K_SHIFT:
- case K_SHIFTL:
- MODIFIER(GLUT_ACTIVE_SHIFT);
- continue;
- case K_CTRL:
- MODIFIER(GLUT_ACTIVE_CTRL);
- continue;
- case K_ALT:
- lalt = !release;
- case K_ALTGR:
- MODIFIER(GLUT_ACTIVE_ALT);
- continue;
- }
-
- if(lalt && !release) {
- /* VT switch, we must do it */
- int vt = -1;
- struct vt_stat st;
- if(labelval >= K_F1 && labelval <= K_F12)
- vt = labelval - K_F1 + 1;
-
- if(labelval == K_LEFT)
- if(ioctl(ConsoleFD, VT_GETSTATE, &st) >= 0)
- vt = st.v_active - 1;
-
- if(labelval == K_RIGHT)
- if(ioctl(ConsoleFD, VT_GETSTATE, &st) >= 0)
- vt = st.v_active + 1;
-
- if(vt != -1) {
- if(Swapping)
- VTSwitch = vt;
- else
- if(ioctl(ConsoleFD, VT_ACTIVATE, vt) < 0)
- sprintf(exiterror, "Error switching console\n");
- continue;
- }
- }
- write(kbdpipe[1], &code, 1);
- }
-}
-
-static void LedModifier(int led, int release)
-{
- static int releaseflag = K_CAPS | K_NUM | K_HOLD;
- if(release)
- releaseflag |= led;
- else
- if(releaseflag & led) {
- KeyboardLedState ^= led;
- releaseflag &= ~led;
- }
-
- ioctl(ConsoleFD, KDSKBLED, KeyboardLedState);
- ioctl(ConsoleFD, KDSETLED, 0x80);
-}
-
-static void HandleKeyPress(unsigned char key, int up)
-{
- if(up) {
- if(KeyboardUpFunc)
- KeyboardUpFunc(key, MouseX, MouseY);
- } else
- if(KeyboardFunc)
- KeyboardFunc(key, MouseX, MouseY);
- else
- if(key == 27)
- exit(0); /* no handler, to provide a way to exit */
-}
-
-static void HandleSpecialPress(int key, int up)
-{
- if(up) {
- if(SpecialUpFunc)
- SpecialUpFunc(key, MouseX, MouseY);
- } else
- if(SpecialFunc)
- SpecialFunc(key, MouseX, MouseY);
-}
-
-static void ReleaseStdinKey(void)
-{
- if(LastStdinSpecialKey != -1) {
- HandleSpecialPress(LastStdinSpecialKey, 1);
- LastStdinSpecialKey = -1;
- }
- if(LastStdinCode != -1) {
- HandleKeyPress(LastStdinCode, 1);
- LastStdinCode = -1;
- }
-}
-
-#define READKEY read(kbdpipe[0], &code, 1)
-static int ReadKey(void)
-{
- int release, labelval, labelvalnoshift;
- unsigned char code;
- int specialkey = 0;
- struct kbentry entry;
-
- if(READKEY != 1) {
- /* if we are reading from stdin, we detect key releases when the key
- does not repeat after a given timeout */
- if(ConsoleFD == 0 && LastStdinKeyTime + 100 < glutGet(GLUT_ELAPSED_TIME))
- ReleaseStdinKey();
- return 0;
- }
-
- if(code == 0)
- return 0;
-
- /* stdin input escape code based */
- if(ConsoleFD == 0) {
- KeyboardModifiers = 0;
- altset:
- if(code == 27 && READKEY == 1) {
- if(code != 91) {
- KeyboardModifiers |= GLUT_ACTIVE_ALT;
- goto altset;
- }
- READKEY;
- switch(code) {
- case 68:
- specialkey = GLUT_KEY_LEFT; break;
- case 65:
- specialkey = GLUT_KEY_UP; break;
- case 67:
- specialkey = GLUT_KEY_RIGHT; break;
- case 66:
- specialkey = GLUT_KEY_DOWN; break;
- case 52:
- specialkey = GLUT_KEY_END; READKEY; break;
- case 53:
- specialkey = GLUT_KEY_PAGE_UP; READKEY; break;
- case 54:
- specialkey = GLUT_KEY_PAGE_DOWN; READKEY; break;
- case 49:
- READKEY;
- if(code == 126)
- specialkey = GLUT_KEY_HOME;
- else {
- specialkey = GLUT_KEY_F1 + code - 50;
- READKEY;
- }
- break;
- case 50:
- READKEY;
- if(code == 126)
- specialkey = GLUT_KEY_INSERT;
- else {
- if(code > '1')
- code--;
- if(code > '6')
- code--;
- if(code > '3') {
- KeyboardModifiers |= GLUT_ACTIVE_SHIFT;
- code -= 12;
- }
- specialkey = GLUT_KEY_F1 + code - 40;
- READKEY;
- }
- break;
- case 51:
- READKEY;
- if(code == 126) {
- code = '\b';
- goto stdkey;
- }
- KeyboardModifiers |= GLUT_ACTIVE_SHIFT;
- specialkey = GLUT_KEY_F1 + code - 45;
- READKEY;
- break;
- case 91:
- READKEY;
- specialkey = GLUT_KEY_F1 + code - 65;
- break;
- default:
- return 0;
- }
- }
-
- if(specialkey) {
- LastStdinKeyTime = glutGet(GLUT_ELAPSED_TIME);
-
- if(LastStdinSpecialKey != specialkey) {
- ReleaseStdinKey();
- HandleSpecialPress(specialkey, 0);
- LastStdinSpecialKey = specialkey;
- LastStdinKeyTime += 200; /* initial repeat */
- } else
- if(KeyRepeatMode != GLUT_KEY_REPEAT_OFF)
- HandleSpecialPress(specialkey, 0);
- } else {
- if(code >= 1 && code <= 26 && code != '\r') {
- KeyboardModifiers |= GLUT_ACTIVE_CTRL;
- code += 'a' - 1;
- }
- if((code >= 43 && code <= 34) || (code == 60)
- || (code >= 62 && code <= 90) || (code == 94)
- || (code == 95) || (code >= 123 && code <= 126))
- KeyboardModifiers |= GLUT_ACTIVE_SHIFT;
-
- stdkey:
- LastStdinKeyTime = glutGet(GLUT_ELAPSED_TIME);
- if(LastStdinCode != code) {
- ReleaseStdinKey();
- HandleKeyPress(code, 0);
- LastStdinCode = code;
- LastStdinKeyTime += 200; /* initial repeat */
- } else
- if(KeyRepeatMode != GLUT_KEY_REPEAT_OFF)
- HandleSpecialPress(code, 0);
- }
- return 1;
- }
-
- /* linux kbd reading */
- release = code & 0x80;
- code &= 0x7F;
-
- if(KeyRepeatMode == GLUT_KEY_REPEAT_OFF) {
- static char keystates[128];
- if(release)
- keystates[code] = 0;
- else {
- if(keystates[code])
- return 1;
- keystates[code] = 1;
- }
- }
-
- entry.kb_index = code;
- entry.kb_table = 0;
-
- if (ioctl(ConsoleFD, KDGKBENT, &entry) < 0) {
- sprintf(exiterror, "ioctl(KDGKBENT) failed.\n");
- exit(0);
- }
-
- labelvalnoshift = entry.kb_value;
-
- if(KeyboardModifiers & GLUT_ACTIVE_SHIFT)
- entry.kb_table |= K_SHIFTTAB;
-
- if (ioctl(ConsoleFD, KDGKBENT, &entry) < 0) {
- sprintf(exiterror, "ioctl(KDGKBENT) failed.\n");
- exit(0);
- }
-
- labelval = entry.kb_value;
-
- switch(labelvalnoshift) {
- case K_CAPS:
- LedModifier(LED_CAP, release);
- return 0;
- case K_NUM:
- LedModifier(LED_NUM, release);
- return 0;
- case K_HOLD: /* scroll lock suspends glut */
- LedModifier(LED_SCR, release);
- while(KeyboardLedState & LED_SCR) {
- usleep(10000);
- ReadKey();
- }
- return 0;
- }
-
- /* we could queue keypresses here */
- if(KeyboardLedState & LED_SCR)
- return 0;
-
- if(labelvalnoshift >= K_F1 && labelvalnoshift <= K_F12)
- specialkey = GLUT_KEY_F1 + labelvalnoshift - K_F1;
- else
- switch(labelvalnoshift) {
- case K_LEFT:
- specialkey = GLUT_KEY_LEFT; break;
- case K_UP:
- specialkey = GLUT_KEY_UP; break;
- case K_RIGHT:
- specialkey = GLUT_KEY_RIGHT; break;
- case K_DOWN:
- specialkey = GLUT_KEY_DOWN; break;
- case K_PGUP:
- specialkey = GLUT_KEY_PAGE_UP; break;
- case K_PGDN:
- specialkey = GLUT_KEY_PAGE_DOWN; break;
- case K_FIND:
- specialkey = GLUT_KEY_HOME; break;
- case K_SELECT:
- specialkey = GLUT_KEY_END; break;
- case K_INSERT:
- specialkey = GLUT_KEY_INSERT; break;
- case K_REMOVE:
- labelval = '\b';
- break;
- case K_ENTER:
- labelval = '\r'; break;
- }
-
- /* likely a keypad input, but depends on keyboard mapping, ignore */
- if(labelval == 512)
- return 1;
-
- /* dispatch callback */
- if(specialkey)
- HandleSpecialPress(specialkey, release);
- else {
- char c = labelval;
-
- if(KeyboardLedState & LED_CAP) {
- if(c >= 'A' && c <= 'Z')
- c += 'a' - 'A';
- else
- if(c >= 'a' && c <= 'z')
- c += 'A' - 'a';
- }
- HandleKeyPress(c, release);
- }
- return 1;
-}
-
-void glutIgnoreKeyRepeat(int ignore)
-{
- KeyRepeatMode = ignore ? GLUT_KEY_REPEAT_OFF : GLUT_KEY_REPEAT_ON;
-}
-
-void glutSetKeyRepeat(int repeatMode)
-{
- KeyRepeatMode = repeatMode;
-}
-
-void glutForceJoystickFunc(void)
-{
-}
-
-static void HandleMousePress(int button, int pressed)
-{
- if(TryMenu(button, pressed))
- return;
-
- if(MouseFunc)
- MouseFunc(button, pressed ? GLUT_DOWN : GLUT_UP, MouseX, MouseY);
-}
-
-static int ReadMouse(void)
-{
- int l, r, m;
- static int ll, lm, lr;
- signed char dx, dy;
-
-#ifdef HAVE_GPM
- if(GpmMouse) {
- Gpm_Event event;
- struct pollfd pfd;
- pfd.fd = gpm_fd;
- pfd.events = POLLIN;
- if(poll(&pfd, 1, 1) != 1)
- return 0;
-
- if(Gpm_GetEvent(&event) != 1)
- return 0;
-
- l = event.buttons & GPM_B_LEFT;
- m = event.buttons & GPM_B_MIDDLE;
- r = event.buttons & GPM_B_RIGHT;
-
- /* gpm is weird in that it gives a button number when the button
- is released, with type set to GPM_UP, this is only a problem
- if it is the last button released */
-
- if(event.type & GPM_UP)
- if(event.buttons == GPM_B_LEFT || event.buttons == GPM_B_MIDDLE ||
- event.buttons == GPM_B_RIGHT || event.buttons == GPM_B_FOURTH)
- l = m = r = 0;
-
- dx = event.dx;
- dy = event.dy;
- } else
-#endif
- {
- char data[4];
-
- if(MouseFD == -1)
- return 0;
-
- if(read(MouseFD, data, 4) != 4)
- return 0;
-
- l = ((data[0] & 0x20) >> 3);
- m = ((data[3] & 0x10) >> 3);
- r = ((data[0] & 0x10) >> 4);
-
- dx = (((data[0] & 0x03) << 6) | (data[1] & 0x3F));
- dy = (((data[0] & 0x0C) << 4) | (data[2] & 0x3F));
- }
-
- MouseX += dx * MouseSpeed;
- if(MouseX < 0)
- MouseX = 0;
- else
- if(MouseX >= VarInfo.xres)
- MouseX = VarInfo.xres - 1;
-
- MouseY += dy * MouseSpeed;
- if(MouseY < 0)
- MouseY = 0;
- else
- if(MouseY >= VarInfo.yres)
- MouseY = VarInfo.yres - 1;
-
- if(l != ll)
- HandleMousePress(GLUT_LEFT_BUTTON, l);
- if(m != lm)
- HandleMousePress(GLUT_MIDDLE_BUTTON, m);
- if(r != lr)
- HandleMousePress(GLUT_RIGHT_BUTTON, r);
-
- ll = l, lm = m, lr = r;
-
- if(dx || dy || !MouseVisible) {
- if(l || m || r) {
- if(MotionFunc)
- MotionFunc(MouseX, MouseY);
- } else
- if(PassiveMotionFunc)
- PassiveMotionFunc(MouseX, MouseY);
-
- EraseCursor();
-
- MouseVisible = 1;
-
- if(ActiveMenu)
- Redisplay = 1;
- else
- SwapCursor();
- }
-
- LastMouseTime = glutGet(GLUT_ELAPSED_TIME);
-
- return 1;
-}
-
-void ReceiveInput(void)
-{
- if(ConsoleFD != -1)
- while(ReadKey());
-
- while(ReadMouse());
-
- /* implement a 2 second timeout on the mouse */
- if(MouseVisible && glutGet(GLUT_ELAPSED_TIME) - LastMouseTime > 2000) {
- EraseCursor();
- MouseVisible = 0;
- SwapCursor();
- }
-}
-
-static void VTSwitchHandler(int sig)
-{
- struct vt_stat st;
- switch(sig) {
- case SIGUSR1:
- ioctl(ConsoleFD, VT_RELDISP, 1);
- Active = 0;
-#ifdef MULTIHEAD
- VisiblePoll = 1;
- TestVisible();
-#else
- VisibleSwitch = 1;
- Visible = 0;
-#endif
- break;
- case SIGUSR2:
- ioctl(ConsoleFD, VT_GETSTATE, &st);
- if(st.v_active)
- ioctl(ConsoleFD, VT_RELDISP, VT_ACKACQ);
-
- RestoreColorMap();
-
- Active = 1;
- Visible = 1;
- VisibleSwitch = 1;
-
- Redisplay = 1;
- break;
- }
-}
-
-void InitializeVT(int usestdin)
-{
- struct termios tio;
- struct vt_mode vt;
- char console[128];
-
- signal(SIGIO, SIG_IGN);
-
- Active = 1;
-
- if(usestdin) {
- ConsoleFD = 0;
- goto setattribs;
- }
-
- /* detect the current vt if it was not specified */
- if(CurrentVT == 0) {
- int fd = open("/dev/tty", O_RDWR | O_NDELAY, 0);
- struct vt_stat st;
- if(fd == -1) {
- sprintf(exiterror, "Failed to open /dev/tty\n");
- exit(0);
- }
-
- if(ioctl(fd, VT_GETSTATE, &st) == -1) {
- fprintf(stderr, "Could not detect current vt, specify with -vt\n");
- fprintf(stderr, "Defaulting to stdin input\n");
- ConsoleFD = 0;
- close(fd);
- goto setattribs;
- }
-
- CurrentVT = st.v_active;
- close(fd);
- }
-
- /* if we close with the modifier set in glutIconifyWindow, we won't
- get the signal when they are released, so set to zero here */
- KeyboardModifiers = 0;
-
- /* open the console tty */
- sprintf(console, "/dev/tty%d", CurrentVT);
- ConsoleFD = open(console, O_RDWR | O_NDELAY, 0);
- if (ConsoleFD < 0) {
- sprintf(exiterror, "error couldn't open %s,"
- " defaulting to stdin \n", console);
- ConsoleFD = 0;
- goto setattribs;
- }
-
- signal(SIGUSR1, VTSwitchHandler);
- signal(SIGUSR2, VTSwitchHandler);
-
- if (ioctl(ConsoleFD, VT_GETMODE, &OldVTMode) < 0) {
- sprintf(exiterror,"Failed to grab %s, defaulting to stdin\n", console);
- close(ConsoleFD);
- ConsoleFD = 0;
- goto setattribs;
- }
-
- vt = OldVTMode;
-
- vt.mode = VT_PROCESS;
- vt.waitv = 0;
- vt.relsig = SIGUSR1;
- vt.acqsig = SIGUSR2;
- if (ioctl(ConsoleFD, VT_SETMODE, &vt) < 0) {
- sprintf(exiterror, "error: ioctl(VT_SETMODE) failed: %s\n",
- strerror(errno));
- close(ConsoleFD);
- ConsoleFD = 0;
- exit(1);
- }
-
- if (ioctl(ConsoleFD, KDGKBMODE, &OldKDMode) < 0) {
- sprintf(exiterror, "Warning: ioctl KDGKBMODE failed!\n");
- OldKDMode = K_XLATE;
- }
-
- /* use SIGIO so VT switching can work if the program is locked */
- signal(SIGIO, KeyboardHandler);
-
- pipe(kbdpipe);
-
- if(fcntl(kbdpipe[0], F_SETFL, O_NONBLOCK | O_ASYNC) < 0) {
- sprintf(exiterror, "Failed to set keyboard to non-blocking\n");
- exit(0);
- }
-
- fcntl(ConsoleFD, F_SETOWN, getpid());
-
- if(ioctl(ConsoleFD, KDGETMODE, &OldMode) < 0)
- sprintf(exiterror, "Warning: Failed to get terminal mode\n");
-
-#ifdef HAVE_GPM
- if(!GpmMouse)
-#endif
- if(ioctl(ConsoleFD, KDSETMODE, KD_GRAPHICS) < 0)
- sprintf(exiterror,"Warning: Failed to set terminal to graphics\n");
-
- if(ioctl(ConsoleFD, KDSKBMODE, K_MEDIUMRAW) < 0) {
- sprintf(exiterror, "ioctl KDSKBMODE failed!\n");
- exit(0);
- }
-
- if(ioctl(ConsoleFD, KDGKBLED, &KeyboardLedState) < 0) {
- sprintf(exiterror, "ioctl KDGKBLED failed!\n");
- exit(0);
- }
-
- setattribs:
- /* enable async input input */
- if(fcntl(ConsoleFD, F_SETFL, O_ASYNC) < 0) {
- sprintf(exiterror, "Failed to set O_ASYNC mode on fd %d\n", ConsoleFD);
- exit(0);
- }
-
- /* save old terminos settings */
- if (tcgetattr(ConsoleFD, &OldTermios) < 0) {
- sprintf(exiterror, "tcgetattr failed\n");
- exit(0);
- }
-
- tio = OldTermios;
-
- /* terminos settings for straight-through mode */
- tio.c_lflag &= ~(ICANON | ECHO | ISIG);
- tio.c_iflag &= ~(ISTRIP | IGNCR | ICRNL | INLCR | IXOFF | IXON);
- tio.c_iflag |= IGNBRK;
-
- tio.c_cc[VMIN] = 0;
- tio.c_cc[VTIME] = 0;
-
- if (tcsetattr(ConsoleFD, TCSANOW, &tio) < 0) {
- sprintf(exiterror, "tcsetattr failed\n");
- exit(0);
- }
-}
-
-void RestoreVT(void)
-{
- if(ConsoleFD < 0)
- return;
-
- if (tcsetattr(ConsoleFD, TCSANOW, &OldTermios) < 0)
- sprintf(exiterror, "tcsetattr failed\n");
-
- /* setting the mode to text from graphics restores the colormap */
- if(
-#ifdef HAVE_GPM
- !GpmMouse ||
-#endif
- ConsoleFD == 0)
- if(ioctl(ConsoleFD, KDSETMODE, KD_GRAPHICS) < 0)
- goto skipioctl; /* no need to fail twice */
-
- if(ioctl(ConsoleFD, KDSETMODE, OldMode) < 0)
- fprintf(stderr, "ioctl KDSETMODE failed!\n");
-
- skipioctl:
-
- if(ConsoleFD == 0)
- return;
-
- /* restore keyboard state */
- if (ioctl(ConsoleFD, VT_SETMODE, &OldVTMode) < 0)
- fprintf(stderr, "Failed to set vtmode\n");
-
- if (ioctl(ConsoleFD, KDSKBMODE, OldKDMode) < 0)
- fprintf(stderr, "ioctl KDSKBMODE failed!\n");
-
- close(ConsoleFD);
-
- close(kbdpipe[0]);
- close(kbdpipe[1]);
-}
-
-void InitializeMouse(void)
-{
-#ifdef HAVE_GPM
- if(!GpmMouse)
-#endif
- {
- const char *mousedev = getenv("MOUSE");
- if(!mousedev)
- mousedev = MOUSEDEV;
- if((MouseFD = open(mousedev, O_RDONLY | O_NONBLOCK)) >= 0) {
- if(!MouseSpeed)
- MouseSpeed = 1;
- NumMouseButtons = 3;
- return;
- }
- }
-#ifdef HAVE_GPM
- {
- Gpm_Connect conn;
- int c;
- conn.eventMask = ~0; /* Want to know about all the events */
- conn.defaultMask = 0; /* don't handle anything by default */
- conn.minMod = 0; /* want everything */
- conn.maxMod = ~0; /* all modifiers included */
- if(Gpm_Open(&conn, 0) != -1) {
- if(!MouseSpeed)
- MouseSpeed = 8;
- NumMouseButtons = 3;
- return;
- }
- fprintf(stderr, "Cannot open gpmctl.\n");
- }
-#endif
- fprintf(stderr,"Cannot open %s.\n"
- "Continuing without Mouse\n", MOUSEDEV);
-}
-
-void CloseMouse(void)
-{
-#ifdef HAVE_GPM
- if(GpmMouse) {
- if(NumMouseButtons)
- Gpm_Close();
- } else
-#endif
- if(MouseFD >= 0)
- close(MouseFD);
-}
diff --git a/src/glut/fbdev/internal.h b/src/glut/fbdev/internal.h
deleted file mode 100644
index 0a159d96b0..0000000000
--- a/src/glut/fbdev/internal.h
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * Mesa 3-D graphics library
- * Version: 6.5
- * Copyright (C) 1995-2006 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-/*
- * Library for glut using mesa fbdev driver
- *
- * Written by Sean D'Epagnier (c) 2006
- */
-
-#include <sys/time.h>
-#include <linux/fb.h>
-#include <GL/glfbdev.h>
-
-#define MULTIHEAD /* enable multihead hacks,
- it allows the program to continue drawing
- without reading input when a second fbdev
- has keyboard focus it can cause
- screen corruption that requires C-l to fix */
-#define HAVE_GPM
-
-#define MAX_VSYNC 200
-
-/* this causes these symbols to not be exported */
-#pragma GCC visibility push(hidden)
-
-
-/* --------- fbdev ------------ */
-extern int Redisplay;
-extern int Visible;
-extern int VisibleSwitch;
-extern int Active;
-extern int VisiblePoll;
-extern int Swapping, VTSwitch;
-
-void TestVisible(void);
-int ParseFBModes(int, int, int, int, int, int);
-void SetVideoMode(void);
-void CreateBuffer(void);
-void CreateVisual(void);
-
-extern int FrameBufferFD;
-extern unsigned char *FrameBuffer;
-extern unsigned char *BackBuffer;
-extern int DisplayMode;
-
-extern char exiterror[256];
-
-extern struct fb_fix_screeninfo FixedInfo;
-extern struct fb_var_screeninfo VarInfo;
-
-extern GLFBDevContextPtr Context;
-extern GLFBDevBufferPtr Buffer;
-extern GLFBDevVisualPtr Visual;
-
-/* --- colormap --- */
-#define REVERSECMAPSIZELOG 3
-#define REVERSECMAPSIZE (1<<REVERSECMAPSIZELOG)
-
-extern unsigned short RedColorMap[256],
- GreenColorMap[256],
- BlueColorMap[256];
-extern unsigned char ReverseColorMap[REVERSECMAPSIZE]
- [REVERSECMAPSIZE]
- [REVERSECMAPSIZE];
-
-void LoadColorMap(void);
-void RestoreColorMap(void);
-
-/* --- mouse --- */
-extern int MouseX, MouseY;
-extern int CurrentCursor;
-extern int MouseVisible;
-extern int LastMouseTime;
-extern int NumMouseButtons;
-
-void InitializeCursor(void);
-void EraseCursor(void);
-void DrawCursor(void);
-void SwapCursor(void);
-
-/* --- menus --- */
-struct GlutMenu {
- int NumItems;
- int x, y;
- int width;
- int selected;
- struct {
- int value;
- int submenu;
- char *name;
- } *Items;
- void (*func)(int);
-};
-
-extern struct GlutMenu *Menus;
-
-extern int ActiveMenu;
-extern int CurrentMenu;
-
-void InitializeMenus(void);
-void FreeMenus(void);
-void DrawMenus(void);
-
-int TryMenu(int, int);
-void OpenMenu(void);
-void CloseMenu(void);
-
-/* --- state --- */
-extern int AccumSize, DepthSize, StencilSize, NumSamples;
-extern struct timeval StartTime;
-extern int KeyboardModifiers;
-
-/* --- input --- */
-#ifdef HAVE_GPM
-extern int GpmMouse;
-#endif
-
-extern int CurrentVT;
-extern int ConsoleFD;
-
-extern double MouseSpeed;
-
-extern int KeyRepeatMode;
-
-void InitializeVT(int);
-void RestoreVT(void);
-void CloseMouse(void);
-void InitializeMouse(void);
-
-void ReceiveInput(void);
-
-/* --- callback --- */
-extern void (*DisplayFunc)(void);
-extern void (*ReshapeFunc)(int width, int height);
-extern void (*KeyboardFunc)(unsigned char key, int x, int y);
-extern void (*KeyboardUpFunc)(unsigned char key, int x, int y);
-extern void (*MouseFunc)(int key, int state, int x, int y);
-extern void (*MotionFunc)(int x, int y);
-extern void (*PassiveMotionFunc)(int x, int y);
-extern void (*VisibilityFunc)(int state);
-extern void (*SpecialFunc)(int key, int x, int y);
-extern void (*SpecialUpFunc)(int key, int x, int y);
-extern void (*IdleFunc)(void);
-extern void (*MenuStatusFunc)(int state, int x, int y);
-extern void (*MenuStateFunc)(int state);
-
-/* --- timers --- */
-struct GlutTimer {
- int time;
- void (*func)(int);
- int value;
- struct GlutTimer *next;
-};
-
-extern struct GlutTimer *GlutTimers;
-
-/* ------- Game Mode -------- */
-extern int GameMode;
-
-#pragma GCC visibility pop
diff --git a/src/glut/fbdev/menu.c b/src/glut/fbdev/menu.c
deleted file mode 100644
index 4ab4eb30d4..0000000000
--- a/src/glut/fbdev/menu.c
+++ /dev/null
@@ -1,309 +0,0 @@
-/*
- * Mesa 3-D graphics library
- * Version: 6.5
- * Copyright (C) 1995-2006 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-/*
- * Library for glut using mesa fbdev driver
- *
- * Written by Sean D'Epagnier (c) 2006
- */
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-
-#include <linux/fb.h>
-
-#include <GL/glut.h>
-
-#include "internal.h"
-
-#define MENU_FONT_WIDTH 9
-#define MENU_FONT_HEIGHT 15
-#define MENU_FONT GLUT_BITMAP_9_BY_15
-#define SUBMENU_OFFSET 20
-
-struct GlutMenu *Menus;
-int ActiveMenu;
-int CurrentMenu;
-
-static double MenuProjection[16];
-
-static int AttachedMenus[3];
-static int NumMenus = 1;
-static int SelectedMenu;
-
-void InitializeMenus(void)
-{
- glPushAttrib(GL_TRANSFORM_BIT);
- glMatrixMode(GL_PROJECTION);
- glPushMatrix();
- glLoadIdentity();
- gluOrtho2D(0.0, VarInfo.xres, VarInfo.yres, 0.0);
- glGetDoublev(GL_PROJECTION_MATRIX, MenuProjection);
-
- glPopMatrix();
- glPopAttrib();
-}
-
-void FreeMenus(void)
-{
- int i, j;
-
- for(i = 1; i<NumMenus; i++) {
- for(j = 0; j<Menus[i].NumItems; j++)
- free(Menus[i].Items[j].name);
- free(Menus[i].Items);
- }
-
- free(Menus);
-}
-
-int TryMenu(int button, int pressed)
-{
- if(ActiveMenu && !pressed) {
- ActiveMenu = 0;
- CloseMenu();
- Redisplay = 1;
- return 1;
- }
-
- if(AttachedMenus[button] && pressed) {
- ActiveMenu = AttachedMenus[button];
- OpenMenu();
- Redisplay = 1;
- return 1;
- }
- return 0;
-}
-
-static int DrawMenu(int menu, int x, int *y)
-{
- int i;
- int ret = 1;
-
- for(i=0; i < Menus[menu].NumItems; i++) {
- char *s = Menus[menu].Items[i].name;
- int a = 0;
- if(MouseY >= *y && MouseY < *y + MENU_FONT_HEIGHT &&
- MouseX >= x && MouseX < x + Menus[menu].width) {
- a = 1;
- SelectedMenu = menu;
- ret = 0;
- Menus[menu].selected = i;
- glColor3f(1,0,0);
- } else
- glColor3f(1,1,1);
-
- *y += MENU_FONT_HEIGHT;
- glRasterPos2i(x, *y);
- for(; *s; s++)
- glutBitmapCharacter(MENU_FONT, *s);
-
- if(Menus[menu].selected == i)
- if(Menus[menu].Items[i].submenu)
- if(DrawMenu(Menus[menu].Items[i].submenu, x
- + SUBMENU_OFFSET, y)) {
- if(!a)
- Menus[menu].selected = -1;
- } else
- ret = 0;
- }
- return ret;
-}
-
-void DrawMenus(void)
-{
- int x, y;
-
- if(GameMode)
- return;
-
- x = Menus[ActiveMenu].x;
- y = Menus[ActiveMenu].y;
-
- /* save old settings */
- glPushAttrib(GL_COLOR_BUFFER_BIT | GL_CURRENT_BIT
- | GL_ENABLE_BIT | GL_VIEWPORT_BIT);
-
- glMatrixMode(GL_MODELVIEW);
- glPushMatrix();
- glLoadIdentity();
-
- glMatrixMode(GL_PROJECTION);
- glPushMatrix();
- glLoadMatrixd(MenuProjection);
- glViewport(0, 0, VarInfo.xres, VarInfo.yres);
-
- glDisable(GL_DEPTH_TEST);
- glDisable(GL_ALPHA_TEST);
- glDisable(GL_LIGHTING);
- glDisable(GL_FOG);
- glDisable(GL_TEXTURE_2D);
- glEnable(GL_COLOR_LOGIC_OP);
- glLogicOp(GL_AND_REVERSE);
-
- if(DrawMenu(ActiveMenu, x, &y))
- Menus[ActiveMenu].selected = -1;
-
- /* restore settings */
- glPopMatrix();
- glMatrixMode(GL_MODELVIEW);
- glPopMatrix();
-
- glPopAttrib();
-}
-
-void OpenMenu(void)
-{
- if(MenuStatusFunc)
- MenuStatusFunc(GLUT_MENU_IN_USE, MouseX, MouseY);
- if(MenuStateFunc)
- MenuStateFunc(GLUT_MENU_IN_USE);
- Menus[ActiveMenu].x = MouseX-Menus[ActiveMenu].width/2;
-
- if(Menus[ActiveMenu].x < 0)
- Menus[ActiveMenu].x = 0;
- if(Menus[ActiveMenu].x + Menus[ActiveMenu].width >= VarInfo.xres)
- Menus[ActiveMenu].x = VarInfo.xres - Menus[ActiveMenu].width - 1;
-
- Menus[ActiveMenu].y = MouseY-Menus[ActiveMenu].NumItems*MENU_FONT_HEIGHT/2;
- Menus[ActiveMenu].selected = -1;
-}
-
-void CloseMenu(void)
-{
- if(MenuStatusFunc)
- MenuStatusFunc(GLUT_MENU_NOT_IN_USE, MouseX, MouseY);
- if(MenuStateFunc)
- MenuStateFunc(GLUT_MENU_NOT_IN_USE);
- if(SelectedMenu > 0) {
- int selected = Menus[SelectedMenu].selected;
- if(selected >= 0)
- if(Menus[SelectedMenu].Items[selected].submenu == 0)
- Menus[SelectedMenu].func(Menus[SelectedMenu].Items
- [selected].value);
- }
-
-}
-
-/* glut menu functions */
-
-int glutCreateMenu(void (*func)(int value))
-{
- CurrentMenu = NumMenus;
- NumMenus++;
- Menus = realloc(Menus, sizeof(*Menus) * NumMenus);
- Menus[CurrentMenu].NumItems = 0;
- Menus[CurrentMenu].Items = NULL;
- Menus[CurrentMenu].func = func;
- Menus[CurrentMenu].width = 0;
- return CurrentMenu;
-}
-
-void glutSetMenu(int menu)
-{
- CurrentMenu = menu;
-}
-
-int glutGetMenu(void)
-{
- return CurrentMenu;
-}
-
-void glutDestroyMenu(int menu)
-{
- if(menu == CurrentMenu)
- CurrentMenu = 0;
-}
-
-static void NameMenuEntry(int entry, const char *name)
-{
- int cm = CurrentMenu;
- if(!(Menus[cm].Items[entry-1].name = realloc(Menus[cm].Items[entry-1].name,
- strlen(name) + 1))) {
- sprintf(exiterror, "realloc failed in NameMenuEntry\n");
- exit(0);
- }
- strcpy(Menus[cm].Items[entry-1].name, name);
- if(strlen(name) * MENU_FONT_WIDTH > Menus[cm].width)
- Menus[cm].width = strlen(name) * MENU_FONT_WIDTH;
-}
-
-static int AddMenuItem(const char *name)
-{
- int cm = CurrentMenu;
- int item = Menus[cm].NumItems++;
- if(!(Menus[cm].Items = realloc(Menus[cm].Items,
- Menus[cm].NumItems * sizeof(*Menus[0].Items)))) {
- sprintf(exiterror, "realloc failed in AddMenuItem\n");
- exit(0);
- }
- Menus[cm].Items[item].name = NULL;
- NameMenuEntry(item+1, name);
- return item;
-}
-
-void glutAddMenuEntry(const char *name, int value)
-{
- int item = AddMenuItem(name);
- Menus[CurrentMenu].Items[item].value = value;
- Menus[CurrentMenu].Items[item].submenu = 0;
-}
-
-void glutAddSubMenu(const char *name, int menu)
-{
- int item = AddMenuItem(name);
- if(menu == CurrentMenu) {
- sprintf(exiterror, "Recursive menus not supported\n");
- exit(0);
- }
- Menus[CurrentMenu].Items[item].submenu = menu;
-}
-
-void glutChangeToMenuEntry(int entry, const char *name, int value)
-{
- NameMenuEntry(entry, name);
- Menus[CurrentMenu].Items[entry-1].value = value;
- Menus[CurrentMenu].Items[entry-1].submenu = 0;
-}
-
-void glutChangeToSubMenu(int entry, const char *name, int menu)
-{
- NameMenuEntry(entry, name);
- Menus[CurrentMenu].Items[entry-1].submenu = menu;
-}
-
-void glutRemoveMenuItem(int entry)
-{
- memmove(Menus[CurrentMenu].Items + entry - 1,
- Menus[CurrentMenu].Items + entry,
- sizeof(*Menus[0].Items) * (Menus[CurrentMenu].NumItems - entry));
- Menus[CurrentMenu].NumItems--;
-}
-
-void glutAttachMenu(int button)
-{
- AttachedMenus[button] = CurrentMenu;
-}
-
-void glutDetachMenu(int button)
-{
- AttachedMenus[button] = 0;
-}
diff --git a/src/glut/fbdev/overlay.c b/src/glut/fbdev/overlay.c
deleted file mode 100644
index 374cf30e7d..0000000000
--- a/src/glut/fbdev/overlay.c
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Mesa 3-D graphics library
- * Version: 6.5
- * Copyright (C) 1995-2006 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-/*
- * Library for glut using mesa fbdev driver
- *
- * Written by Sean D'Epagnier (c) 2006
- */
-
-#include <stdlib.h>
-#include <GL/gl.h>
-
-void glutEstablishOverlay(void)
-{
- exit(0);
-}
-
-void glutUseLayer(GLenum layer)
-{
-}
-
-void glutRemoveOverlay(void)
-{
-}
-
-void glutPostOverlayRedisplay(void)
-{
-}
-
-void glutPostWindowOverlayRedisplay(int win)
-{
-}
-
-void glutShowOverlay(void)
-{
-}
-
-void glutHideOverlay(void)
-{
-}
diff --git a/src/glut/fbdev/state.c b/src/glut/fbdev/state.c
deleted file mode 100644
index 212a04aa02..0000000000
--- a/src/glut/fbdev/state.c
+++ /dev/null
@@ -1,197 +0,0 @@
-/*
- * Mesa 3-D graphics library
- * Version: 6.5
- * Copyright (C) 1995-2006 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-/*
- * Library for glut using mesa fbdev driver
- *
- * Written by Sean D'Epagnier (c) 2006
- */
-
-#include <string.h>
-#include <sys/time.h>
-
-#include <linux/fb.h>
-
-#include <GL/glut.h>
-
-#include "../../mesa/main/config.h"
-
-#include "internal.h"
-
-int AccumSize = 16; /* per channel size of accumulation buffer */
-int DepthSize = DEFAULT_SOFTWARE_DEPTH_BITS;
-int StencilSize = STENCIL_BITS;
-int NumSamples = 4;
-
-int glutGet(GLenum state)
-{
- switch(state) {
- case GLUT_WINDOW_X:
- return 0;
- case GLUT_WINDOW_Y:
- return 0;
- case GLUT_INIT_WINDOW_WIDTH:
- case GLUT_WINDOW_WIDTH:
- case GLUT_SCREEN_WIDTH:
- return VarInfo.xres;
- case GLUT_INIT_WINDOW_HEIGHT:
- case GLUT_WINDOW_HEIGHT:
- case GLUT_SCREEN_HEIGHT:
- return VarInfo.yres;
- case GLUT_WINDOW_BUFFER_SIZE:
- return VarInfo.bits_per_pixel;
- case GLUT_WINDOW_STENCIL_SIZE:
- return StencilSize;
- case GLUT_WINDOW_DEPTH_SIZE:
- return DepthSize;
- case GLUT_WINDOW_RED_SIZE:
- return VarInfo.red.length;
- case GLUT_WINDOW_GREEN_SIZE:
- return VarInfo.green.length;
- case GLUT_WINDOW_BLUE_SIZE:
- return VarInfo.green.length;
- case GLUT_WINDOW_ALPHA_SIZE:
- return VarInfo.transp.length;
- case GLUT_WINDOW_ACCUM_RED_SIZE:
- case GLUT_WINDOW_ACCUM_GREEN_SIZE:
- case GLUT_WINDOW_ACCUM_BLUE_SIZE:
- case GLUT_WINDOW_ACCUM_ALPHA_SIZE:
- return AccumSize;
- case GLUT_WINDOW_DOUBLEBUFFER:
- if(DisplayMode & GLUT_DOUBLE)
- return 1;
- return 0;
- case GLUT_WINDOW_RGBA:
- if(DisplayMode & GLUT_INDEX)
- return 0;
- return 1;
- case GLUT_WINDOW_PARENT:
- return 0;
- case GLUT_WINDOW_NUM_CHILDREN:
- return 0;
- case GLUT_WINDOW_COLORMAP_SIZE:
- if(DisplayMode & GLUT_INDEX)
- return 256;
- return 0;
- case GLUT_WINDOW_NUM_SAMPLES:
- return NumSamples;
- case GLUT_WINDOW_STEREO:
- return 0;
- case GLUT_WINDOW_CURSOR:
- return CurrentCursor;
- case GLUT_SCREEN_WIDTH_MM:
- return VarInfo.width;
- case GLUT_SCREEN_HEIGHT_MM:
- return VarInfo.height;
- case GLUT_MENU_NUM_ITEMS:
- if(CurrentMenu)
- return Menus[CurrentMenu].NumItems;
- return 0;
- case GLUT_DISPLAY_MODE_POSSIBLE:
- if((DisplayMode & GLUT_MULTISAMPLE)
- || (DisplayMode & GLUT_STEREO)
- || (DisplayMode & GLUT_LUMINANCE)
- || (DisplayMode & GLUT_ALPHA) && (DisplayMode & GLUT_INDEX))
- return 0;
- return 1;
- case GLUT_INIT_DISPLAY_MODE:
- return DisplayMode;
- case GLUT_INIT_WINDOW_X:
- case GLUT_INIT_WINDOW_Y:
- return 0;
- case GLUT_ELAPSED_TIME:
- {
- static struct timeval tv;
- gettimeofday(&tv, 0);
- return 1000 * (tv.tv_sec - StartTime.tv_sec)
- + (tv.tv_usec - StartTime.tv_usec) / 1000;
- }
- }
- return -1;
-}
-
-int glutLayerGet(GLenum info)
-{
- switch(info) {
- case GLUT_OVERLAY_POSSIBLE:
- return 0;
- case GLUT_LAYER_IN_USE:
- return GLUT_NORMAL;
- case GLUT_HAS_OVERLAY:
- return 0;
- case GLUT_TRANSPARENT_INDEX:
- return -1;
- case GLUT_NORMAL_DAMAGED:
- return Redisplay;
- case GLUT_OVERLAY_DAMAGED:
- return -1;
- }
- return -1;
-}
-
-int glutDeviceGet(GLenum info)
-{
- switch(info) {
- case GLUT_HAS_KEYBOARD:
- return ConsoleFD != -1 ? 1 : 0;
- case GLUT_HAS_MOUSE:
- case GLUT_NUM_MOUSE_BUTTONS:
- return NumMouseButtons;
- case GLUT_HAS_SPACEBALL:
- case GLUT_HAS_DIAL_AND_BUTTON_BOX:
- case GLUT_HAS_TABLET:
- return 0;
- case GLUT_NUM_SPACEBALL_BUTTONS:
- case GLUT_NUM_BUTTON_BOX_BUTTONS:
- case GLUT_NUM_DIALS:
- case GLUT_NUM_TABLET_BUTTONS:
- return 0;
- case GLUT_DEVICE_IGNORE_KEY_REPEAT:
- return KeyRepeatMode == GLUT_KEY_REPEAT_OFF;
- case GLUT_DEVICE_KEY_REPEAT:
- return KeyRepeatMode;
- case GLUT_JOYSTICK_POLL_RATE:
- case GLUT_HAS_JOYSTICK:
- case GLUT_JOYSTICK_BUTTONS:
- case GLUT_JOYSTICK_AXES:
- return 0;
- }
- return -1;
-}
-
-int glutGetModifiers(void){
- return KeyboardModifiers;
-}
-
-int glutExtensionSupported(const char *extension)
-{
- const char *exts = (const char *) glGetString(GL_EXTENSIONS);
- const char *start = exts;
- int len = strlen(extension);
- for(;;) {
- const char *p = strstr(exts, extension);
- if(!p)
- break;
- if((p == start || p[-1] == ' ') && (p[len] == ' ' || p[len] == 0))
- return 1;
- exts = p + len;
- }
- return 0;
-}
diff --git a/src/glut/fbdev/stroke.c b/src/glut/fbdev/stroke.c
deleted file mode 100644
index 1943ac661b..0000000000
--- a/src/glut/fbdev/stroke.c
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Mesa 3-D graphics library
- * Version: 6.5
- * Copyright (C) 1995-2006 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-/*
- * Library for glut using mesa fbdev driver
- *
- * Written by Sean D'Epagnier (c) 2006
- *
- * To improve on this library, maybe support subwindows or overlays,
- * I (sean at depagnier dot com) will do my best to help.
- */
-
-#include <GL/glut.h>
-#include "glutstroke.h"
-
-void glutStrokeCharacter(GLUTstrokeFont font, int c)
-{
- const StrokeCharRec *ch;
- const StrokeRec *stroke;
- const CoordRec *coord;
- StrokeFontPtr fontinfo = (StrokeFontPtr) font;
- int i, j;
-
- if (c < 0 || c >= fontinfo->num_chars)
- return;
- ch = &(fontinfo->ch[c]);
- if (ch) {
- for (i = ch->num_strokes, stroke = ch->stroke;
- i > 0; i--, stroke++) {
- glBegin(GL_LINE_STRIP);
- for (j = stroke->num_coords, coord = stroke->coord;
- j > 0; j--, coord++) {
- glVertex2f(coord->x, coord->y);
- }
- glEnd();
- }
- glTranslatef(ch->right, 0.0, 0.0);
- }
-}
-
-int glutStrokeWidth(GLUTstrokeFont font, int c)
-{
- StrokeFontPtr fontinfo;
- const StrokeCharRec *ch;
-
- fontinfo = (StrokeFontPtr) font;
-
- if (c < 0 || c >= fontinfo->num_chars)
- return 0;
- ch = &(fontinfo->ch[c]);
- if (ch)
- return ch->right;
-
- return 0;
-}
-
-int glutStrokeLength(GLUTstrokeFont font, const unsigned char *string)
-{
- int length = 0;
-
- for (; *string; string++)
- length += glutStrokeWidth(font, *string);
- return length;
-}
diff --git a/src/glut/fbdev/vidresize.c b/src/glut/fbdev/vidresize.c
deleted file mode 100644
index 960b018623..0000000000
--- a/src/glut/fbdev/vidresize.c
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Mesa 3-D graphics library
- * Version: 6.5
- * Copyright (C) 1995-2006 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-/*
- * Library for glut using mesa fbdev driver
- *
- * Written by Sean D'Epagnier (c) 2006
- */
-
-/* Notice, if you know how to implement these functions correctly
- please proceed */
-
-#include <stdlib.h>
-
-#include <GL/glut.h>
-
-#include "internal.h"
-
-int glutVideoResizeGet(GLenum param)
-{
- return 0;
-}
-
-void glutSetupVideoResizing(void)
-{
-}
-
-void glutStopVideoResizing(void)
-{
-}
-
-void glutVideoResize(int x, int y, int width, int height)
-{
-}
-
-void glutVideoPan(int x, int y, int width, int height)
-{
-}
diff --git a/src/glut/ggi/Makefile b/src/glut/ggi/Makefile
deleted file mode 100644
index c23dfcac10..0000000000
--- a/src/glut/ggi/Makefile
+++ /dev/null
@@ -1,53 +0,0 @@
-# Makefile for GLUT for ggi
-
-TOP = ../../..
-
-include $(TOP)/configs/current
-
-
-##### MACROS #####
-
-GLUT_MAJOR = 3
-GLUT_MINOR = 7
-GLUT_TINY = 1
-
-SOURCES = \
- ggiglut.c
-
-
-OBJECTS = $(SOURCES:.c=.o)
-
-
-##### RULES #####
-
-.c.o:
- $(CC) -c -I$(TOP)/include $(CFLAGS) $(GLUT_CFLAGS) $<
-
-
-
-##### TARGETS #####
-
-default: $(TOP)/$(LIB_DIR)/$(GLUT_LIB_NAME)
-
-
-# Make the library
-$(TOP)/$(LIB_DIR)/$(GLUT_LIB_NAME): depend $(OBJECTS)
- $(MKLIB) -o $(GLUT_LIB) -linker '$(CC)' -ldflags '$(LDFLAGS)' \
- -major $(GLUT_MAJOR) -minor $(GLUT_MINOR) \
- -patch $(GLUT_TINY) $(MKLIB_OPTIONS) -install $(TOP)/$(LIB_DIR) \
- $(GLUT_LIB_DEPS) $(OBJECTS)
-
-
-clean:
- -rm -f *.o *~
- -rm -f *.lo
- -rm -f *.la
- -rm -rf .libs
-
-
-depend: $(SOURCES)
- rm -f depend
- touch depend
- $(MKDEP) $(MKDEP_OPTIONS) -I$(TOP)/include $(SOURCES)
-
-include depend
diff --git a/src/glut/ggi/debug.h b/src/glut/ggi/debug.h
deleted file mode 100644
index 09fa960670..0000000000
--- a/src/glut/ggi/debug.h
+++ /dev/null
@@ -1,259 +0,0 @@
-/*
-******************************************************************************
-
- GGIMesa debugging macros
-
- Copyright (C) 1998-1999 Marcus Sundberg [marcus@ggi-project.org]
- Copyright (C) 1999-2000 Jon Taylor [taylorj@ggi-project.org]
-
- 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 AUTHOR(S) 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.
-
-******************************************************************************
-*/
-
-#ifndef _GGI_GLUT_INTERNAL_DEBUG_H
-#define _GGI_GLUT_INTERNAL_DEBUG_H
-
-#define DEBUG
-
-#include <stdio.h>
-#include <stdarg.h>
-#include <ggi/types.h>
-#include <ggi/gg.h>
-
-
-__BEGIN_DECLS
-
-/* Exported variables */
-#ifdef BUILDING_GGIGLUT
-extern uint32 _ggiglutDebugState;
-extern int _ggiglutDebugSync;
-#else
-IMPORTVAR uint32 _ggiglutDebugState;
-IMPORTVAR int _ggiglutDebugSync;
-#endif
-
-__END_DECLS
-
-
-/* Debugging types
- * bit 0 is reserved! */
-
-#define GGIGLUTDEBUG_CORE (1<<1) /* 2 */
-#define GGIGLUTDEBUG_MODE (1<<2) /* 4 */
-#define GGIGLUTDEBUG_COLOR (1<<3) /* 8 */
-#define GGIGLUTDEBUG_DRAW (1<<4) /* 16 */
-#define GGIGLUTDEBUG_MISC (1<<5) /* 32 */
-#define GGIGLUTDEBUG_LIBS (1<<6) /* 64 */
-#define GGIGLUTDEBUG_EVENTS (1<<7) /* 128 */
-
-#define GGIGLUTDEBUG_ALL 0xffffffff
-
-#ifdef __GNUC__
-
-#ifdef DEBUG
-#define GGIGLUTDPRINT(form,args...) if (_ggiglutDebugState) { ggDPrintf(_ggiglutDebugSync, "GGIGLUT",form, ##args); }
-#define GGIGLUTDPRINT_CORE(form,args...) if (_ggiglutDebugState & GGIGLUTDEBUG_CORE) { ggDPrintf(_ggiglutDebugSync,"GGIGLUT",form, ##args); }
-#define GGIGLUTDPRINT_MODE(form,args...) if (_ggiglutDebugState & GGIGLUTDEBUG_MODE) { ggDPrintf(_ggiglutDebugSync,"GGIGLUT",form, ##args); }
-#define GGIGLUTDPRINT_COLOR(form,args...) if (_ggiglutDebugState & GGIGLUTDEBUG_COLOR) { ggDPrintf(_ggiglutDebugSync,"GGIGLUT",form, ##args); }
-#define GGIGLUTDPRINT_DRAW(form,args...) if (_ggiglutDebugState & GGIGLUTDEBUG_DRAW) { ggDPrintf(_ggiglutDebugSync,"GGIGLUT",form, ##args); }
-#define GGIGLUTDPRINT_MISC(form,args...) if (_ggiglutDebugState & GGIGLUTDEBUG_MISC) { ggDPrintf(_ggiglutDebugSync,"GGIGLUT",form, ##args); }
-#define GGIGLUTDPRINT_LIBS(form,args...) if (_ggiglutDebugState & GGIGLUTDEBUG_LIBS) { ggDPrintf(_ggiglutDebugSync,"GGIGLUT",form, ##args); }
-#define GGIGLUTDPRINT_EVENTS(form,args...) if (_ggiglutDebugState & GGIGLUTDEBUG_EVENTS) { ggDPrintf(_ggiglutDebugSync,"GGIGLUT",form, ##args); }
-#else /* DEBUG */
-#define GGIGLUTDPRINT(form,args...) do{}while(0)
-#define GGIGLUTDPRINT_CORE(form,args...) do{}while(0)
-#define GGIGLUTDPRINT_MODE(form,args...) do{}while(0)
-#define GGIGLUTDPRINT_COLOR(form,args...) do{}while(0)
-#define GGIGLUTDPRINT_DRAW(form,args...) do{}while(0)
-#define GGIGLUTDPRINT_MISC(form,args...) do{}while(0)
-#define GGIGLUTDPRINT_LIBS(form,args...) do{}while(0)
-#define GGIGLUTDPRINT_EVENTS(form,args...) do{}while(0)
-#endif /* DEBUG */
-
-#else /* __GNUC__ */
-
-__BEGIN_DECLS
-
-static inline void GGIGLUTDPRINT(const char *form,...)
-{
-#ifdef DEBUG
- if (_ggiDebugState) {
- va_list args;
-
- fprintf(stderr, "GGIGLUT: ");
- va_start(args, form);
- vfprintf(stderr, form, args);
- va_end(args);
- if (_ggiglutDebugSync) fflush(stderr);
- }
-#endif
-}
-
-static inline void GGIGLUTDPRINT_CORE(const char *form,...)
-{
-#ifdef DEBUG
- if (_ggiDebugState & GGIDEBUG_CORE) {
- va_list args;
-
- fprintf(stderr, "GGIGLUT: ");
- va_start(args, form);
- vfprintf(stderr, form, args);
- va_end(args);
- if (_ggiglutDebugSync) fflush(stderr);
- }
-#endif
-}
-
-static inline void GGIGLUTDPRINT_MODE(const char *form,...)
-{
-#ifdef DEBUG
- if (_ggiDebugState & GGIDEBUG_MODE) {
- va_list args;
-
- fprintf(stderr, "GGIGLUT: ");
- va_start(args, form);
- vfprintf(stderr, form, args);
- va_end(args);
- if (_ggiglutDebugSync) fflush(stderr);
- }
-#endif
-}
-
-static inline void GGIGLUTDPRINT_COLOR(const char *form,...)
-{
-#ifdef DEBUG
- if (_ggiDebugState & GGIDEBUG_COLOR) {
- va_list args;
-
- fprintf(stderr, "GGIGLUT: ");
- va_start(args, form);
- vfprintf(stderr, form, args);
- va_end(args);
- if (_ggiglutDebugSync) fflush(stderr);
- }
-#endif
-}
-
-static inline void GGIGLUTDPRINT_DRAW(const char *form,...)
-{
-#ifdef DEBUG
- if (_ggiDebugState & GGIDEBUG_DRAW) {
- va_list args;
-
- fprintf(stderr, "GGIGLUT: ");
- va_start(args, form);
- vfprintf(stderr, form, args);
- va_end(args);
- if (_ggiglutDebugSync) fflush(stderr);
- }
-#endif
-}
-
-static inline void GGIGLUTDPRINT_MISC(const char *form,...)
-{
-#ifdef DEBUG
- if (_ggiDebugState & GGIDEBUG_MISC) {
- va_list args;
-
- fprintf(stderr, "GGIGLUT: ");
- va_start(args, form);
- vfprintf(stderr, form, args);
- va_end(args);
- if (_ggiglutDebugSync) fflush(stderr);
- }
-#endif
-}
-
-static inline void GGIGLUTDPRINT_LIBS(const char *form,...)
-{
-#ifdef DEBUG
- if (_ggiDebugState & GGIDEBUG_LIBS) {
- va_list args;
-
- fprintf(stderr, "GGIGLUT: ");
- va_start(args, form);
- vfprintf(stderr, form, args);
- va_end(args);
- if (_ggiglutDebugSync) fflush(stderr);
- }
-#endif
-}
-
-static inline void GGIGLUTDPRINT_EVENTS(const char *form,...)
-{
-#ifdef DEBUG
- if (_ggiDebugState & GGIDEBUG_EVENTS) {
- va_list args;
-
- fprintf(stderr, "GGIGLUT: ");
- va_start(args, form);
- vfprintf(stderr, form, args);
- va_end(args);
- if (_ggiglutDebugSync) fflush(stderr);
- }
-#endif
-}
-
-__END_DECLS
-
-#endif /* __GNUC__ */
-
-#ifdef DEBUG
-#define GGIGLUT_ASSERT(x,str) \
-{ if (!(x)) { \
- fprintf(stderr,"GGIGLUT:%s:%d: INTERNAL ERROR: %s\n",__FILE__,__LINE__,str); \
- exit(1); \
-} }
-#define GGIGLUT_APPASSERT(x,str) \
-{ if (!(x)) { \
- fprintf(stderr,"GGIGLUT:%s:%d: APPLICATION ERROR: %s\n",__FILE__,__LINE__,str); \
- exit(1); \
-} }
-#else /* DEBUG */
-#define GGIGLUT_ASSERT(x,str) do{}while(0)
-#define GGIGLUT_APPASSERT(x,str) do{}while(0)
-#endif /* DEBUG */
-
-#ifdef DEBUG
-# define GGIGLUTD0(x) x
-#else
-# define GGIGLUTD0(x) /* empty */
-#endif
-
-#ifdef GGIGLUTDLEV
-# if GGIGLUTDLEV == 1
-# define GGIGLUTD1(x) x
-# define GGIGLUTD2(x) /* empty */
-# define GGIGLUTD3(x) /* empty */
-# elif GGIGLUTDLEV == 2
-# define GGIGLUTD1(x) x
-# define GGIGLUTD2(x) x
-# define GGIGLUTD3(x) /* empty */
-# elif GGIGLUTDLEV > 2
-# define GGIGLUTD1(x) x
-# define GGIGLUTD2(x) x
-# define GGIGLUTD3(x) x
-# endif
-#else
-# define GGIGLUTD1(x) /* empty */
-# define GGIGLUTD2(x) /* empty */
-# define GGIGLUTD3(x) /* empty */
-#endif
-
-#endif /* _GGI_MESA_INTERNAL_DEBUG_H */
diff --git a/src/glut/ggi/ggiglut.c b/src/glut/ggi/ggiglut.c
deleted file mode 100644
index 2fe65a154c..0000000000
--- a/src/glut/ggi/ggiglut.c
+++ /dev/null
@@ -1,959 +0,0 @@
-/* **************************************************************************
- * ggiglut.c
- * **************************************************************************
- *
- * Copyright (C) 1998 Uwe Maurer - uwe_maurer@t-online.de
- * Copyright (C) 1999 James Simmons
- * Copyright (C) 1999 Jon Taylor
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- * **************************************************************************
- * To-do:
- * - Make everything use the portable ggi_* types
- *
- */
-
-#define BUILDING_GGIGLUT
-
-#define WIDTH 640
-#define HEIGHT 480
-#define GRAPHTYPE_RGB GT_16BIT
-#define GRAPHTYPE_INDEX GT_8BIT
-
-/*************************************************************************/
-
-#include <GL/gl.h>
-#include <GL/glu.h>
-#include <GL/glut.h>
-#include <stdio.h>
-#include <stdarg.h>
-#include <string.h>
-#include "GL/ggimesa.h"
-#include "debug.h"
-
-#include <ggi/ggi.h>
-#include <ggi/gii.h>
-
-int _ggiglutDebugSync = 0;
-uint32 _ggiglutDebugState = 0;
-
-char *__glutProgramName = "GGI";
-
-static ggi_visual_t __glut_vis;
-
-static ggi_mesa_context_t __glut_ctx;
-
-//static int __glut_width = WIDTH;
-//static int __glut_height = HEIGHT;
-//static ggi_graphtype __glut_gt_rgb = GRAPHTYPE_RGB;
-//static ggi_graphtype __glut_gt_index = GRAPHTYPE_INDEX;
-static int __glut_width = GGI_AUTO;
-static int __glut_height = GGI_AUTO;
-static ggi_graphtype __glut_gt_rgb = GT_AUTO;
-static ggi_graphtype __glut_gt_index = GT_8BIT;
-static int __glut_init = GL_FALSE;
-
-static int mousex = WIDTH / 2;
-static int mousey = HEIGHT / 2;
-static int mouse_moved = GL_FALSE;
-static int mouse_down = GL_FALSE;
-static int mouse_showcursor = GL_FALSE;
-
-static void (*__glut_reshape)(int, int);
-static void (*__glut_display)(void);
-static void (*__glut_idle)(void);
-static void (*__glut_keyboard)(unsigned char, int, int);
-static void (*__glut_special)(int, int, int);
-static void (*__glut_mouse)(int, int, int, int);
-static void (*__glut_motion)(int, int);
-static void (*__glut_passive_motion)(int, int);
-static void (*__glut_visibility)(int);
-
-static unsigned int __glut_mode = GLUT_RGB | GLUT_SINGLE | GLUT_DEPTH;
-
-static int __glut_mod_keys = 0;
-
-static int __glut_redisplay = GL_FALSE;
-
-/* Menu */
-static int __glut_menubutton = -1;
-static int __glut_menuactive = GL_FALSE;
-
-#define MAX_ENTRIES 64
-
-typedef struct menu_s
-{
- char *label[MAX_ENTRIES];
- int value[MAX_ENTRIES];
- struct menu_s * submenu[MAX_ENTRIES];
- void (*func)(int);
- int max_strlen;
- int num_entries;
-} menu_t;
-
-static menu_t *mainmenu;
-static menu_t *curmenu;
-static menu_t *activemenu;
-
-void glutInit(int *argc, char **argv)
-{
- ggi_graphtype gt;
- int i, k;
- char *str;
-
- GGIGLUTDPRINT_CORE("glutInit() called\n");
-
- #define REMOVE {for (k=i;k<*argc-1;k++) argv[k]=argv[k+1]; \
- (*argc)--; i--; }
-
- if (__glut_init) return;
-
- str = getenv("GGIGLUT_DEBUG");
- if (str != NULL) {
- _ggiglutDebugState = atoi(str);
- fprintf(stderr, "Debugging=%d\n", _ggiglutDebugState);
- GGIGLUTDPRINT_CORE("Debugging=%d\n", _ggiglutDebugState);
- }
-
- str = getenv("GGIGLUT_DEBUGSYNC");
- if (str != NULL) {
- _ggiglutDebugSync = 1;
- }
-
- if (argc && argv)
- {
-
- for (i = 1; i < *argc; i++)
- {
- if (strcmp(argv[i], "-mouse") == 0)
- {
- mouse_showcursor = GL_TRUE;
- REMOVE;
- }
- else
- if (strcmp(argv[i], "-bpp") == 0 && (i + 1) < (*argc))
- {
- switch(atoi(argv[i + 1]))
- {
- case 4: gt = GT_4BIT; break;
- case 8: gt = GT_8BIT; break;
- case 15: gt = GT_15BIT; break;
- case 16: gt = GT_16BIT; break;
- case 24: gt = GT_24BIT; break;
- case 32: gt = GT_32BIT; break;
- default:
- ggiPanic("\"%s\" bits per pixel?\n", argv[i+1]);
- }
- __glut_gt_rgb = __glut_gt_index = gt;
- REMOVE;
- REMOVE;
- }
- else
- if (strcmp(argv[i], "-size") == 0 && (i + 2) < (*argc))
- {
- __glut_width = atoi(argv[i + 1]);
- __glut_height = atoi(argv[i + 2]);
- REMOVE;
- REMOVE;
- REMOVE;
- }
- }
- }
-
- if (ggiInit() < 0)
- {
- ggiPanic("ggiInit() failed!\n");
- }
- __glut_init = GL_TRUE;
-
-#undef REMOVE
-}
-
-void glutInitWindowPosition(int x, int y)
-{
- GGIGLUTDPRINT_CORE("glutInitWindowPosition() called\n");
-}
-
-void glutInitWindowSize(int x, int y)
-{
- GGIGLUTDPRINT_CORE("glutInitWindowsSize() called\n");
-}
-
-void glutFullScreen(void)
-{
- GGIGLUTDPRINT_CORE("glutFullScreen() called\n");
-}
-
-void glutInitDisplayMode(unsigned int mode)
-{
- GGIGLUTDPRINT_CORE("glutInitDisplayMode() called\n");
-
- __glut_mode = mode;
-}
-
-void glutInitDisplayString(const char *string)
-{
- GGIGLUTDPRINT_CORE("glutInitDisplayString(%s) called\n", string);
-}
-
-int glutCreateWindow(const char *title)
-{
- ggi_graphtype gt;
- ggi_mode mode =
- {
- 1,
- { GGI_AUTO, GGI_AUTO },
- { GGI_AUTO, GGI_AUTO },
- { 0, 0 },
- GT_AUTO,
- { GGI_AUTO, GGI_AUTO }
- };
- int frames;
- int rgb;
- int err;
-
- GGIGLUTDPRINT_CORE("glutCreateWindow() called\n");
-
- if (!__glut_init)
- glutInit(NULL, NULL);
-
- GGIGLUTDPRINT("GGIGLUT: %s\n", title);
-
- rgb = !(__glut_mode & GLUT_INDEX);
- frames = (__glut_mode & GLUT_DOUBLE) ? 2 : 1;
-
- gt = (rgb) ? __glut_gt_rgb : __glut_gt_index;
-
- __glut_vis = ggiOpen(NULL);
- if (__glut_vis == NULL)
- {
- ggiPanic("ggiOpen() failed!\n");
- /* return GL_FALSE; */
- }
-
- ggiSetFlags(__glut_vis, GGIFLAG_ASYNC);
-
- ggiCheckMode(__glut_vis, &mode);
-
- err = ggiSetMode(__glut_vis, &mode);
- if (err < 0)
- {
- ggiPanic("Can't set graphic mode!\n");
- /* return GL_FALSE; */
- }
-
- if (ggiMesaExtendVisual(__glut_vis, GL_FALSE, GL_FALSE,
- 16, 0, 0, 0, 0, 0, 1) < 0)
- {
- ggiPanic("GGIMesaSetVisual failed!\n");
- }
-
- __glut_ctx = ggiMesaCreateContext(__glut_vis);
-
- if (__glut_ctx == NULL)
- ggiPanic("Can't create mesa-context\n");
-
- ggiGetMode(__glut_vis, &mode);
-
-
- __glut_width = mode.visible.x;
- __glut_height = mode.visible.y;
-
- mousex = mode.visible.x / 2;
- mousey = mode.visible.y / 2;
-
- ggiMesaMakeCurrent(__glut_ctx, __glut_vis);
-
- if (__glut_reshape)
- __glut_reshape(__glut_width, __glut_height);
-
- return GL_TRUE;
-}
-
-void glutReshapeFunc(void (*func)(int, int))
-{
- GGIGLUTDPRINT_CORE("glutReshapeFunc() called\n");
-
- __glut_reshape = func;
- if (__glut_vis && __glut_reshape)
- __glut_reshape(__glut_width, __glut_height);
-}
-
-void glutKeyboardFunc(void (*keyboard)(unsigned char key, int x, int y))
-{
- GGIGLUTDPRINT_CORE("glutKeyBoardFunc() called\n");
-
- __glut_keyboard = keyboard;
-}
-
-int glutGetModifiers(void)
-{
- GGIGLUTDPRINT_CORE("glutGetModifiers() called\n");
-
- return __glut_mod_keys;
-}
-
-void glutEntryFunc(void (*func)(int state))
-{
- GGIGLUTDPRINT_CORE("glutEntryFunc() called\n");
-}
-
-void glutVisibilitFunc(void (*func)(int state))
-{
- GGIGLUTDPRINT_CORE("glutVisibilityFunc() called\n");
-}
-
-void glutTimerFunc(unsigned int millis, void (*func)(int value), int value)
-{
- GGIGLUTDPRINT_CORE("glutTimerFunc() called\n");
-}
-
-void glutMenuStateFunc(void (*func)(int state))
-{
- GGIGLUTDPRINT_CORE("glutMenuStateFunc() called\n");
-}
-
-int glutGet(GLenum type)
-{
- GGIGLUTDPRINT_CORE("glutGet() called\n");
-
- switch(type)
- {
- case GLUT_WINDOW_X:
- return 0;
- case GLUT_WINDOW_Y:
- return 0;
- case GLUT_WINDOW_WIDTH:
- return __glut_width;
- case GLUT_WINDOW_HEIGHT:
- return __glut_height;
- case GLUT_MENU_NUM_ITEMS:
- if (curmenu)
- return curmenu->num_entries;
- else
- return 0;
- default:
- GGIGLUTDPRINT("glutGet: unknown type %i\n", type);
- }
- return 0;
-}
-
-void glutSpecialFunc(void (*special)(int key, int x, int y))
-{
- GGIGLUTDPRINT_CORE("glutSpecialFunc() called\n");
-
- __glut_special=special;
-}
-
-void glutDisplayFunc(void (*disp)(void))
-{
- GGIGLUTDPRINT_CORE("glutDisplayFunc() called\n");
- __glut_display=disp;
-}
-
-void glutSetColor(int index, GLfloat red, GLfloat green, GLfloat blue)
-{
- ggi_color c;
- GLfloat max;
-
- GGIGLUTDPRINT_CORE("glutSetColor() called\n");
-
- if (red > 1.0) red = 1.0;
- if (red < 0.0) red = 0.0;
- if (green > 1.0) green = 1.0;
- if (green < 0.0) green = 0.0;
- if (blue > 1.0) blue = 1.0;
- if (blue < 0.0) blue = 0.0;
-
- max = (float)((1 << GGI_COLOR_PRECISION) - 1);
-
- c.r = (int)(max * red);
- c.g = (int)(max * green);
- c.b = (int)(max * blue);
- ggiSetPalette(__glut_vis, index, 1, &c);
-}
-
-void glutPostRedisplay(void)
-{
- GGIGLUTDPRINT_CORE("glutPostRedisplay() called\n");
-
- __glut_redisplay = GL_TRUE;
-}
-
-void glutPostWindowRedisplay(int win)
-{
- GGIGLUTDPRINT_CORE("glutPostWindowRedisplay() called\n");
-
- __glut_redisplay = GL_TRUE;
-}
-
-void glutSwapBuffers(void)
-{
- GGIGLUTDPRINT_CORE("glutSwapBuffers() called\n");
-
- ggiMesaSwapBuffers();
-}
-
-void glutIdleFunc(void (*idle)(void))
-{
- GGIGLUTDPRINT_CORE("glutIdleFunc() called\n");
-
- __glut_idle = idle;
-}
-
-static void keyboard(ggi_event *ev)
-{
- int sym;
- int modifer = 0, key = 0;
-
- GGIGLUTDPRINT_CORE("keyboard() called\n");
-
- sym = ev->key.sym;
-
- modifer = ev->key.modifiers;
- if (modifer == GII_KM_SHIFT)
- __glut_mod_keys |= GLUT_ACTIVE_SHIFT;
- if (modifer == GII_KM_CTRL)
- __glut_mod_keys |= GLUT_ACTIVE_CTRL;
- if (modifer == GII_KM_ALT)
- __glut_mod_keys |= GLUT_ACTIVE_ALT;
-
- /* if (__glut_special && key) __glut_special(GII_KTYP(key),0,0); */
-
- if (__glut_keyboard)
-// __glut_keyboard(GII_UNICODE(sym), 0, 0);
- __glut_keyboard(sym, 0, 0);
-}
-
-static void mouseabs(ggi_event *ev)
-{
- int oldx = mousex;
- int oldy = mousey;
-
- mousex = ev->pmove.x;
- mousey = ev->pmove.y;
-
- if (mousex < 0) mousex = 0;
- if (mousey < 0) mousey = 0;
- if (mousex >= __glut_width) mousex = __glut_width - 1;
- if (mousey >= __glut_height) mousey = __glut_height - 1;
-
- if (mousex != oldx || mousey != oldy) mouse_moved = GL_TRUE;
-}
-
-static void mouse(ggi_event *ev)
-{
- int oldx = mousex;
- int oldy = mousey;
-
- GGIGLUTDPRINT_CORE("mouse() called\n");
-
- mousex += ev->pmove.x >> 1;
- mousey += ev->pmove.y >> 1;
-
- if (mousex < 0) mousex = 0;
- if (mousey < 0) mousey = 0;
- if (mousex >= __glut_width) mousex = __glut_width - 1;
- if (mousey >= __glut_height) mousey = __glut_height - 1;
-
- if (mousex != oldx || mousey != oldy) mouse_moved = GL_TRUE;
-
-}
-
-static void showmenu(void);
-static int clickmenu(void);
-static void updatemouse(void);
-static void drawmouse(void);
-
-static void mousemove(void)
-{
- GGIGLUTDPRINT_CORE("mousemove() called\n");
-
- if (mouse_moved) {
- if (__glut_motion && mouse_down) {
- __glut_motion(mousex,mousey);
- }
-
- if (__glut_passive_motion && (!mouse_down)) {
- __glut_passive_motion(mousex,mousey);
- }
-
- if (__glut_menuactive) updatemouse();
- mouse_moved=GL_FALSE;
- }
-}
-
-static void button(ggi_event *ev)
-{
- int i;
- int btn[4] = {
- 0,
- GLUT_LEFT_BUTTON,
- GLUT_RIGHT_BUTTON,
- GLUT_MIDDLE_BUTTON
- };
-
- GGIGLUTDPRINT_CORE("button() called\n");
-
- mousemove();
-
- if (ev->pbutton.button <= 3) { /* GGI can have >3 buttons ! */
- char state = ev->any.type == evPtrButtonPress ? GLUT_DOWN : GLUT_UP;
- if (__glut_menuactive) {
- if (state == GLUT_UP && clickmenu()) {
- glutPostRedisplay();
- __glut_menuactive = GL_FALSE;
- }
- } else
- if (btn[ev->pbutton.button] == __glut_menubutton) {
- __glut_menuactive = GL_TRUE;
- activemenu = mainmenu;
- showmenu();
- } else
- if (__glut_mouse) {
- __glut_mouse(btn[ev->pbutton.button], state, mousex, mousey);
- }
- if (state == GLUT_DOWN) {
- mouse_down |= (1 << (ev->pbutton.button - 1));
- }
- else mouse_down &= ~( 1 << (ev->pbutton.button - 1));
- }
-}
-
-void glutMainLoop(void)
-{
- ggi_event ev;
- ggi_event_mask evmask = (emKeyPress | emKeyRepeat | emPtrMove | emPtrButton);
-
- GGIGLUTDPRINT_CORE("glutMainLoop() called\n");
-
- ggiSetEventMask(__glut_vis, evmask);
-
- glutPostRedisplay();
-
- if (__glut_visibility)
- __glut_visibility(GLUT_VISIBLE);
-
- while (1)
- {
- if (!__glut_menuactive)
- {
- if (__glut_idle)
- __glut_idle();
- if (__glut_redisplay && __glut_display)
- {
- __glut_redisplay = GL_FALSE;
- __glut_display();
- }
- }
-
- while (1)
- {
- struct timeval t = {0, 0};
-
- if (ggiEventPoll(__glut_vis, evmask, &t) == 0)
- break;
-
- ggiEventRead(__glut_vis, &ev, evmask);
-
- switch (ev.any.type)
- {
- case evKeyPress:
- case evKeyRepeat:
- keyboard(&ev);
- break;
- case evPtrAbsolute:
- mouseabs(&ev);
- break;
- case evPtrRelative:
- mouse(&ev);
- break;
- case evPtrButtonPress:
- case evPtrButtonRelease:
- button(&ev);
- break;
- }
- }
- mousemove();
- }
-}
-
-static void showmenu()
-{
- int y,i;
- ggi_color col = { 0xffff, 0xffff, 0xffff };
-
- GGIGLUTDPRINT_CORE("showmenu() called\n");
-
- ggiSetGCForeground(__glut_vis,ggiMapColor(__glut_vis,&col));
- ggiSetOrigin(__glut_vis,0,0);
-
- for (y = i = 0; i < activemenu->num_entries; i++, y += 8) {
- ggiPuts(__glut_vis, 0, y, activemenu->label[i]);
- }
- drawmouse();
-}
-
-static int clickmenu(void)
-{
- int i;
- int w, h;
-
- GGIGLUTDPRINT_CORE("clickmenu() called\n");
-
- i = mousey / 8;
-
- if (i >= activemenu->num_entries) return GL_TRUE;
- if (mousex >= 8 * strlen(activemenu->label[i])) return GL_TRUE;
-
- if (activemenu->submenu[i]) {
- ggi_color col={0,0,0};
- ggiSetGCForeground(__glut_vis,ggiMapColor(__glut_vis,&col));
- h=activemenu->num_entries*8;
- w=activemenu->max_strlen*8;
- ggiDrawBox(__glut_vis,0,0,w,h);
- activemenu=activemenu->submenu[i];
- showmenu();
- return GL_FALSE;
- }
- curmenu=activemenu;
- activemenu->func(activemenu->value[i]);
- return GL_TRUE;
-}
-
-static int oldx=-1;
-static int oldy=-1;
-static char buffer[16*16*4];
-
-static void updatemouse()
-{
- GGIGLUTDPRINT_CORE("updatemouse() called\n");
-
- ggiPutBox(__glut_vis,oldx,oldy,16,16,buffer);
- drawmouse();
-}
-
-static void drawmouse()
-{
- int x,y;
-
- GGIGLUTDPRINT_CORE("drawmouse() called\n");
-
- x=mousex-8;
- if (x<0) x=0;
- y=mousey-8;
- if (y<0) y=0;
- ggiGetBox(__glut_vis,x,y,16,16,buffer);
- ggiDrawLine(__glut_vis,mousex-2,mousey,mousex+2,mousey);
- ggiDrawLine(__glut_vis,mousex,mousey-2,mousex,mousey+2);
- oldx=x;
- oldy=y;
-}
-
-int glutCreateMenu(void(*func)(int))
-{
- menu_t *m;
-
- GGIGLUTDPRINT_CORE("glutCreateMenu() called\n");
-
- m=malloc(sizeof(menu_t));
- memset(m,0,sizeof(menu_t));
- curmenu=m;
- curmenu->func=func;
- return (int)curmenu;
-}
-
-static void addEntry(const char *label,int value,menu_t *submenu)
-{
- int i=curmenu->num_entries;
-
- GGIGLUTDPRINT_CORE("addEntry() called\n");
-
- /* printf("%i %i %s %p\n",i,value,label,submenu); */
- if (i<MAX_ENTRIES) {
- curmenu->label[i]=strdup(label);
- curmenu->value[i]=value;
- curmenu->submenu[i]=submenu;
-
- if (strlen(label)>curmenu->max_strlen)
- curmenu->max_strlen=strlen(label);
- curmenu->num_entries++;
- }
-}
-
-void glutAddMenuEntry(const char *label,int value)
-{
- GGIGLUTDPRINT_CORE("glutAddMenuEntry() called\n");
-
- addEntry(label,value,NULL);
-}
-
-void glutAddSubMenu(const char *label,int submenu)
-{
- char text[100];
-
- GGIGLUTDPRINT_CORE("glutAddSubMenu() called\n");
-
- if (!curmenu) return;
- strncpy(text,label,98);
- text[98]=0;
- text[strlen(text)+1]=0;
- text[strlen(text)]='>';
-
- addEntry(text,0,(menu_t *) submenu);
-}
-
-void glutAttachMenu(int button)
-{
- GGIGLUTDPRINT_CORE("glutAttachMenu() called\n");
-
- mainmenu=curmenu;
- __glut_menubutton=button;
-}
-
-void glutDetachMenu(int button)
-{
- GGIGLUTDPRINT_CORE("glutDetachMenu() called\n");
-}
-
-void glutVisibilityFunc(void (*func)(int state))
-{
- GGIGLUTDPRINT_CORE("glutVisibilityFunc() called\n");
-
- __glut_visibility=func;
-}
-
-void glutMouseFunc(void (*mouse)(int, int, int, int))
-{
- GGIGLUTDPRINT_CORE("glutMouseFunc() called\n");
-
- __glut_mouse=mouse;
-}
-
-void glutMotionFunc(void (*motion)(int,int))
-{
- GGIGLUTDPRINT_CORE("glutMotionFunc() called\n");
-
- __glut_motion=motion;
-}
-
-void glutPassiveMotionFunc(void (*motion)(int,int))
-{
- GGIGLUTDPRINT_CORE("glutPassiveMotionFunc() called\n");
-
- __glut_passive_motion=motion;
-}
-
-void glutSetWindowTitle(const char *title)
-{
- GGIGLUTDPRINT_CORE("glutSetWindowTitle() called\n");
-}
-
-void glutSetIconTitle(const char *title)
-{
- GGIGLUTDPRINT_CORE("glutSetIconTitle() called\n");
-}
-
-void glutChangeToMenuEntry(int item,const char *label,int value)
-{
- GGIGLUTDPRINT_CORE("glutChangeToMenuEntry() called\n");
-
- if (item>0 && item<=curmenu->num_entries) {
- item--;
- free(curmenu->label[item]);
- curmenu->label[item]=strdup(label);
- curmenu->value[item]=value;
- curmenu->submenu[item]=NULL;
- }
-}
-void glutChangeToSubMenu(int item,const char *label,int submenu)
-{
- GGIGLUTDPRINT_CORE("glutChengeToSubMenu() called\n");
-
- if (item>0 && item<=curmenu->num_entries) {
- item--;
- free(curmenu->label[item]);
- curmenu->label[item]=strdup(label);
- curmenu->value[item]=0;
- curmenu->submenu[item]=(menu_t *)submenu;
- }
-}
-
-void glutDestroyMenu(int menu)
-{
- menu_t *m=(menu_t *)menu;
- int i;
-
- GGIGLUTDPRINT_CORE("glutDestroyMenu() called\n");
-
- for (i=0;i<m->num_entries;i++) {
- free(m->label[i]);
- }
- free(m);
-}
-
-int glutCreateSubWindow(int win,int x,int y,int w,int h)
-{
- GGIGLUTDPRINT_CORE("glutCreateSubWindow() called\n");
-
- return 0;
-}
-
-void glutDestroyWindow(int win)
-{
- GGIGLUTDPRINT_CORE("glutDestroyWindow() called\n");
-}
-
-int glutGetWindow(void)
-{
- GGIGLUTDPRINT_CORE("glutGetWindow() called\n");
-
- return 0;
-}
-
-void glutSetWindow(int win)
-{
- GGIGLUTDPRINT_CORE("glutSetWindow() called\n");
-}
-
-void glutPositionWindow(int x,int y)
-{
- GGIGLUTDPRINT_CORE("glutPositionWindow() called\n");
-}
-
-void glutReshapeWindow(int x,int y)
-{
- GGIGLUTDPRINT_CORE("glutReshapeWindow() called\n");
-}
-
-void glutPushWindow(void)
-{
- GGIGLUTDPRINT_CORE("glutPushWindow() called\n");
-}
-
-void glutPopWindow(void)
-{
- GGIGLUTDPRINT_CORE("glutPopWindow() called\n");
-}
-
-void glutIconifyWindow(void)
-{
- GGIGLUTDPRINT_CORE("glutIconifyWindow() called\n");
-}
-
-void glutShowWindow()
-{
- GGIGLUTDPRINT_CORE("glutShowWindow() called\n");
-}
-
-void glutHideWindow()
-{
- GGIGLUTDPRINT_CORE("glutHideWindow() called\n");
-}
-
-void glutSetCursor(int cursor)
-{
- GGIGLUTDPRINT_CORE("glutSetCursor() called\n");
-}
-
-void glutWarpPointer(int x,int y)
-{
- GGIGLUTDPRINT_CORE("glutWarpPointer() called\n");
-}
-
-void glutEstablishOverlay(void)
-{
- GGIGLUTDPRINT_CORE("glutEstablishOverlay() called\n");
-}
-
-void glutRemoveOverlay(void)
-{
- GGIGLUTDPRINT_CORE("glutRemoveOverlay() called\n");
-}
-
-void glutUseLayer(GLenum layer)
-{
- GGIGLUTDPRINT_CORE("glutUseLayer() called\n");
-}
-
-int glutLayerGet(GLenum type)
-{
- GGIGLUTDPRINT_CORE("glutLayerGet() called\n");
- return 0;
-}
-
-void glutPostOverlayRedisplay(void)
-{
- GGIGLUTDPRINT_CORE("glutPostOverlayRedisplay() called\n");
-}
-
-void glutPostWindowOverlayRedisplay(int w)
-{
- GGIGLUTDPRINT_CORE("glutPostWindowOverlayRedisplay() called\n");
-}
-
-void glutShowOverlay(void)
-{
- GGIGLUTDPRINT_CORE("glutShowOverlay() called\n");
-}
-
-void glutHideOverlay(void)
-{
- GGIGLUTDPRINT_CORE("glutHideOverlay() called\n");
-}
-
-int glutGetMenu(void)
-{
- GGIGLUTDPRINT_CORE("glutGetMenu() called\n");
- return 0;
-}
-
-void glutSetMenu(int menu)
-{
- GGIGLUTDPRINT_CORE("glutSetMenu() called\n");
-}
-
-void glutRemoveMenuItem(int item)
-{
- GGIGLUTDPRINT_CORE("glutRemoveMenuItem() called\n");
-}
-
-void glutSpaceBallMotionFunc(void (*func)(int key,int x,int y))
-{
- GGIGLUTDPRINT_CORE("glutSpaceBallMotionFunc() called\n");
-}
-
-void glutSpaceBallRotateFunc(void (*func)(int x,int y,int z))
-{
- GGIGLUTDPRINT_CORE("glutSpaceBallRotateFunc() called\n");
-}
-
-void glutSpaceBallButtonFunc(void (*func)(int button,int state))
-{
- GGIGLUTDPRINT_CORE("glutSpaceBallButtonFunc() called\n");
-}
-
-void glutCopyColormap(int win)
-{
- GGIGLUTDPRINT_CORE("glutCopyColormap() called\n");
-}
-
-int glutDeviceGet(GLenum param)
-{
- GGIGLUTDPRINT_CORE("glutDeviceGet() called\n");
-
- return 0;
-}
diff --git a/src/glut/glx/Makefile b/src/glut/glx/Makefile
deleted file mode 100644
index 6889cd4b40..0000000000
--- a/src/glut/glx/Makefile
+++ /dev/null
@@ -1,140 +0,0 @@
-# Makefile for GLUT
-#
-# NOTICE: The OpenGL Utility Toolkit (GLUT) distribution contains source
-# code published in a book titled "Programming OpenGL for the X Window
-# System" (ISBN: 0-201-48359-9) published by Addison-Wesley. The
-# programs and associated files contained in the distribution were
-# developed by Mark J. Kilgard and are Copyright 1994, 1995, 1996 by Mark
-# J. Kilgard (unless otherwise noted). The programs are not in the
-# public domain, but they are freely distributable without licensing
-# fees. These programs are provided without guarantee or warrantee
-# expressed or implied.
-#
-# GLUT source included with Mesa with permission from Mark Kilgard.
-
-
-TOP = ../../..
-
-include $(TOP)/configs/current
-
-
-##### MACROS #####
-
-GLUT_MAJOR = 3
-GLUT_MINOR = 7
-GLUT_TINY = 1
-
-SOURCES = \
- glut_8x13.c \
- glut_9x15.c \
- glut_bitmap.c \
- glut_bwidth.c \
- glut_cindex.c \
- glut_cmap.c \
- glut_cursor.c \
- glut_dials.c \
- glut_dstr.c \
- glut_event.c \
- glut_ext.c \
- glut_fcb.c \
- glut_fullscrn.c \
- glut_gamemode.c \
- glut_get.c \
- glut_glxext.c \
- glut_hel10.c \
- glut_hel12.c \
- glut_hel18.c \
- glut_init.c \
- glut_input.c \
- glut_joy.c \
- glut_key.c \
- glut_keyctrl.c \
- glut_keyup.c \
- glut_menu.c \
- glut_menu2.c \
- glut_mesa.c \
- glut_modifier.c \
- glut_mroman.c \
- glut_overlay.c \
- glut_ppm.c \
- glut_roman.c \
- glut_shapes.c \
- glut_space.c \
- glut_stroke.c \
- glut_swap.c \
- glut_swidth.c \
- glut_tablet.c \
- glut_teapot.c \
- glut_tr10.c \
- glut_tr24.c \
- glut_util.c \
- glut_vidresize.c \
- glut_warp.c \
- glut_win.c \
- glut_winmisc.c \
- layerutil.c
-
-
-OBJECTS = $(SOURCES:.c=.o)
-
-
-##### RULES #####
-
-.c.o:
- $(CC) -c -I$(TOP)/include $(X11_INCLUDES) $(CFLAGS) $(GLUT_CFLAGS) $<
-
-
-
-##### TARGETS #####
-
-default: $(TOP)/$(LIB_DIR)/$(GLUT_LIB_NAME)
-
-
-# Make the library
-$(TOP)/$(LIB_DIR)/$(GLUT_LIB_NAME): depend $(OBJECTS)
- $(MKLIB) -o $(GLUT_LIB) -linker '$(CC)' -ldflags '$(LDFLAGS)' \
- -major $(GLUT_MAJOR) -minor $(GLUT_MINOR) -patch $(GLUT_TINY) \
- $(MKLIB_OPTIONS) -install $(TOP)/$(LIB_DIR) \
- -id $(INSTALL_LIB_DIR)/lib$(GLUT_LIB).$(GLUT_MAJOR).dylib \
- $(GLUT_LIB_DEPS) $(OBJECTS)
-
-
-# glut pkgconfig file
-pcedit = sed \
- -e 's,@INSTALL_DIR@,$(INSTALL_DIR),' \
- -e 's,@INSTALL_LIB_DIR@,$(INSTALL_LIB_DIR),' \
- -e 's,@INSTALL_INC_DIR@,$(INSTALL_INC_DIR),' \
- -e 's,@VERSION@,$(GLUT_MAJOR).$(GLUT_MINOR).$(GLUT_TINY),' \
- -e 's,@GLUT_PC_REQ_PRIV@,$(GLUT_PC_REQ_PRIV),' \
- -e 's,@GLUT_PC_LIB_PRIV@,$(GLUT_PC_LIB_PRIV),' \
- -e 's,@GLUT_PC_CFLAGS@,$(GLUT_PC_CFLAGS),' \
- -e 's,@GLUT_LIB@,$(GLUT_LIB),'
-glut.pc: glut.pc.in
- $(pcedit) $< > $@
-
-install: glut.pc
- $(INSTALL) -d $(DESTDIR)$(INSTALL_INC_DIR)/GL
- $(INSTALL) -d $(DESTDIR)$(INSTALL_LIB_DIR)
- $(INSTALL) -d $(DESTDIR)$(INSTALL_LIB_DIR)/pkgconfig
- $(INSTALL) -m 644 $(TOP)/include/GL/glut.h $(DESTDIR)$(INSTALL_INC_DIR)/GL
- $(MINSTALL) $(TOP)/$(LIB_DIR)/$(GLUT_LIB_GLOB) $(DESTDIR)$(INSTALL_LIB_DIR)
- $(INSTALL) -m 644 glut.pc $(DESTDIR)$(INSTALL_LIB_DIR)/pkgconfig
-
-
-clean:
- -rm -f *.o *~
- -rm -f *.lo
- -rm -f *.la
- -rm -f *.pc
- -rm -rf .libs
- -rm -f depend depend.bak
-
-
-depend: $(SOURCES)
- @ echo "running $(MKDEP)"
- @ rm -f depend
- @ touch depend
- @ $(MKDEP) $(MKDEP_OPTIONS) -I$(TOP)/include $(SOURCES) \
- $(X11_INCLUDES) > /dev/null
-
-include depend
diff --git a/src/glut/glx/Makefile.cygnus b/src/glut/glx/Makefile.cygnus
deleted file mode 100644
index 5d5fa6912c..0000000000
--- a/src/glut/glx/Makefile.cygnus
+++ /dev/null
@@ -1,110 +0,0 @@
-# Makefile.cygnus for Cygnus-Win32 target
-# /Stephane Rehel, November 16 1997
-
-# Makefile for GLUT 3.7
-#
-# NOTICE: The OpenGL Utility Toolkit (GLUT) distribution contains source
-# code published in a book titled "Programming OpenGL for the X Window
-# System" (ISBN: 0-201-48359-9) published by Addison-Wesley. The
-# programs and associated files contained in the distribution were
-# developed by Mark J. Kilgard and are Copyright 1994, 1995, 1996 by Mark
-# J. Kilgard (unless otherwise noted). The programs are not in the
-# public domain, but they are freely distributable without licensing
-# fees. These programs are provided without guarantee or warrantee
-# expressed or implied.
-#
-# GLUT source included with Mesa with permission from Mark Kilgard.
-
-
-##### MACROS #####
-
-GLUT_MAJOR = 3
-GLUT_MINOR = 7
-GLUT_TINY = 0
-
-VPATH = RCS
-
-INCDIR = ../include
-LIBDIR = ../lib
-
-SOURCES = \
- glut_8x13.c \
- glut_9x15.c \
- glut_bitmap.c \
- glut_bwidth.c \
- glut_cindex.c \
- glut_cmap.c \
- glut_cursor.c \
- glut_dials.c \
- glut_dstr.c \
- glut_event.c \
- glut_ext.c \
- glut_fullscrn.c \
- glut_get.c \
- glut_hel10.c \
- glut_hel12.c \
- glut_hel18.c \
- glut_init.c \
- glut_input.c \
- glut_mesa.c \
- glut_modifier.c \
- glut_mroman.c \
- glut_overlay.c \
- glut_roman.c \
- glut_shapes.c \
- glut_space.c \
- glut_stroke.c \
- glut_swap.c \
- glut_swidth.c \
- glut_tablet.c \
- glut_teapot.c \
- glut_tr10.c \
- glut_tr24.c \
- glut_util.c \
- glut_vidresize.c \
- glut_warp.c \
- glut_win.c \
- glut_winmisc.c \
- win32_x11.c \
- win32_glx.c \
- win32_menu.c \
- win32_util.c
-
-OBJECTS = $(SOURCES:.c=.o)
-
-
-
-##### RULES #####
-
-.c.o:
- $(CC) -c -I$(INCDIR) $(CFLAGS) $<
-
-
-
-##### TARGETS #####
-
-default:
- @echo "Specify a target configuration"
-
-clean:
- -rm *.o *~
-
-targets: $(LIBDIR)/$(GLUT_LIB)
-
-# Make the library
-$(LIBDIR)/$(GLUT_LIB): $(OBJECTS)
- $(MAKELIB) $(GLUT_LIB) $(GLUT_MAJOR) $(GLUT_MINOR) $(GLUT_TINY) $(OBJECTS)
- mv $(GLUT_LIB)* $(LIBDIR)
-
-include ../Make-config
-
-include depend
-
-
-
-#
-# Run 'make dep' to update the dependencies if you change what's included
-# by any source file.
-#
-dep: $(SOURCES)
- makedepend -fdepend -Y -I../include $(SOURCES)
diff --git a/src/glut/glx/Makefile.mgw b/src/glut/glx/Makefile.mgw
deleted file mode 100644
index 5e1fde03de..0000000000
--- a/src/glut/glx/Makefile.mgw
+++ /dev/null
@@ -1,191 +0,0 @@
-# Mesa 3-D graphics library
-# Version: 5.1
-#
-# Copyright (C) 1999-2003 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
-# BRIAN PAUL 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.
-
-# MinGW core makefile v1.4 for Mesa
-#
-# Copyright (C) 2002 - Daniel Borca
-# Email : dborca@users.sourceforge.net
-# Web : http://www.geocities.com/dborca
-
-# MinGW core-glut makefile updated for Mesa 7.0
-#
-# Updated : by Heromyth, on 2007-7-21
-# Email : zxpmyth@yahoo.com.cn
-# Bugs : 1) All the default settings work fine. But the setting X86=1 can't work.
-# The others havn't been tested yet.
-# 2) The generated DLLs are *not* compatible with the ones built
-# with the other compilers like VC8, especially for GLUT.
-# 3) Although more tests are needed, it can be used individually!
-
-
-#
-# Available options:
-#
-# Environment variables:
-# CFLAGS
-#
-# GLIDE path to Glide3 SDK; used with FX.
-# default = $(TOP)/glide3
-# FX=1 build for 3dfx Glide3. Note that this disables
-# compilation of most WMesa code and requires fxMesa.
-# As a consequence, you'll need the Win32 Glide3
-# library to build any application.
-# default = no
-# ICD=1 build the installable client driver interface
-# (windows opengl driver interface)
-# default = no
-# X86=1 optimize for x86 (if possible, use MMX, SSE, 3DNow).
-# default = no
-#
-# Targets:
-# all: build GL
-# clean: remove object files
-#
-
-
-
-.PHONY: all clean
-.INTERMEDIATE: x86/gen_matypes.exe
-.SUFFIXES: .rc .res
-
-# Set this to the prefix of your build tools, i.e. mingw32-
-TOOLS_PREFIX = mingw32-
-
-TOP = ../../..
-
-LIBDIR = $(TOP)/lib
-
-LIB_NAME = glut32
-
-DLL_EXT = .dll
-IMP_EXT = .a
-LIB_PRE = lib
-STRIP = -s
-
-AR = ar
-ARFLAGS = crus
-DLLTOOL = dlltool
-
-GLUT_DLL = $(LIB_NAME)$(DLL_EXT)
-GLUT_IMP = $(LIB_PRE)$(LIB_NAME)$(IMP_EXT)
-GLUT_DEF = $(LIB_NAME).def
-
-LDLIBS = -L$(LIBDIR) -lwinmm -lgdi32 -luser32 -lopengl32 -lglu32
-LDFLAGS = $(STRIP) -shared -fPIC -Wl,--kill-at
-
-CFLAGS += -DBUILD_GLUT32 -DGLUT_BUILDING_LIB -DMESA -D_DLL
-CFLAGS += -DNDEBUG -DLIBRARYBUILD -I$(TOP)/include
-
-CC = $(TOOLS_PREFIX)gcc
-CXX = $(TOOLS_PREFIX)g++
-CXXFLAGS = $(CFLAGS)
-
-AR = ar
-ARFLAGS = crus
-
-UNLINK = del $(subst /,\,$(1))
-ifneq ($(wildcard $(addsuffix /rm.exe,$(subst ;, ,$(PATH)))),)
-UNLINK = $(RM) $(1)
-endif
-ifneq ($(wildcard $(addsuffix /rm,$(subst :, ,$(PATH)))),)
-UNLINK = $(RM) $(1)
-endif
-
-HDRS = glutint.h glutstroke.h glutbitmap.h glutwin32.h stroke.h win32_glx.h win32_x11.h
-
-SRCS = \
- glut_bitmap.c \
- glut_bwidth.c \
- glut_cindex.c \
- glut_cmap.c \
- glut_cursor.c \
- glut_dials.c \
- glut_dstr.c \
- glut_event.c \
- glut_ext.c \
- glut_fcb.c \
- glut_fullscrn.c \
- glut_gamemode.c \
- glut_get.c \
- glut_init.c \
- glut_input.c \
- glut_joy.c \
- glut_key.c \
- glut_keyctrl.c \
- glut_keyup.c \
- glut_mesa.c \
- glut_modifier.c \
- glut_overlay.c \
- glut_shapes.c \
- glut_space.c \
- glut_stroke.c \
- glut_swap.c \
- glut_swidth.c \
- glut_tablet.c \
- glut_teapot.c \
- glut_util.c \
- glut_vidresize.c \
- glut_warp.c \
- glut_win.c \
- glut_winmisc.c \
- win32_glx.c \
- win32_menu.c \
- win32_util.c \
- win32_winproc.c \
- win32_x11.c
-
-
-SRCSSEMIGENS = \
- glut_8x13.c \
- glut_9x15.c \
- glut_hel10.c \
- glut_hel12.c \
- glut_hel18.c \
- glut_mroman.c \
- glut_roman.c \
- glut_tr10.c \
- glut_tr24.c
-
-
-
-SOURCES = $(SRCS) $(SRCSSEMIGENS)
-
-OBJECTS = $(addsuffix .o,$(basename $(SOURCES)))
-
-.c.o:
- $(CC) -o $@ $(CFLAGS) -c $<
-.cc.o:
- $(CXX) -o $@ $(CXXFLAGS) -c $<
-
-
-all: $(LIBDIR) $(LIBDIR)/$(GLUT_DLL) $(LIBDIR)/$(GLUT_IMP)
-
-$(LIBDIR):
- mkdir -p $(LIBDIR)
-
-$(LIBDIR)/$(GLUT_DLL) $(LIBDIR)/$(GLUT_IMP): $(OBJECTS)
- $(CXX) $(LDFLAGS) -o $(LIBDIR)/$(GLUT_DLL) $^ $(LDLIBS)
- $(DLLTOOL) --as=as --dllname $(LIB_NAME) --output-def $(LIBDIR)/$(GLUT_DEF) $^
- $(DLLTOOL) --as=as -k --dllname $(LIB_NAME) --output-lib $(LIBDIR)/$(GLUT_IMP) --def $(LIBDIR)/$(GLUT_DEF)
-
-clean:
- -$(call UNLINK,*.o) \ No newline at end of file
diff --git a/src/glut/glx/Makefile.sgi b/src/glut/glx/Makefile.sgi
deleted file mode 100644
index 9514c324d2..0000000000
--- a/src/glut/glx/Makefile.sgi
+++ /dev/null
@@ -1,189 +0,0 @@
-#! smake
-#
-# Copyright (c) Mark J. Kilgard, 1995, 1998.
-#
-include $(ROOT)/usr/include/make/commondefs
-
-# NOTE: In my GLUT development tree, many of the C source files for
-# GLUT are generated. For this reason, "make full_clobber" will remove
-# these generated C files, while "make clobber" will not.
-
-TOP = ../..
-
-TARGETS = libglut.a
-
-LN = ln -s
-MV = mv
-RM = -rm -rf
-
-HDRS = glutint.h glutstroke.h layerutil.h glutbitmap.h
-
-SRCS = \
- glut_bitmap.c \
- glut_bwidth.c \
- glut_cindex.c \
- glut_cmap.c \
- glut_cursor.c \
- glut_dials.c \
- glut_dstr.c \
- glut_event.c \
- glut_ext.c \
- glut_fbc.c \
- glut_fullscrn.c \
- glut_gamemode.c \
- glut_get.c \
- glut_glxext.c \
- glut_init.c \
- glut_input.c \
- glut_joy.c \
- glut_key.c \
- glut_keyctrl.c \
- glut_keyup.c \
- glut_menu.c \
- glut_menu2.c \
- glut_mesa.c \
- glut_modifier.c \
- glut_overlay.c \
- glut_shapes.c \
- glut_space.c \
- glut_stroke.c \
- glut_swap.c \
- glut_swidth.c \
- glut_tablet.c \
- glut_teapot.c \
- glut_util.c \
- glut_vidresize.c \
- glut_warp.c \
- glut_win.c \
- glut_winmisc.c \
- layerutil.c
-
-SRCSSEMIGENS = \
- glut_8x13.c \
- glut_9x15.c \
- glut_hel10.c \
- glut_hel12.c \
- glut_hel18.c \
- glut_mroman.c \
- glut_roman.c \
- glut_tr10.c \
- glut_tr24.c
-
-OBJS = $(SRCS:.c=.o) $(SRCSSEMIGENS:.c=.o)
-OTHERGENS = y.tab.c y.tab.h strokegen.c strokegen.h strokelex.c
-OTHERSRCS = strokegen.y strokelex.l stroke.h
-FONTS = Roman.stroke MonoRoman.stroke
-
-# Uncomment the LCDEFS line below if you want to build a version of
-# libglut.a that avoids using the SGI "fast atoms" optimization
-# introduced in IRIX 6.3. This optimization eliminates serveral X server
-# round-trips. If you are building libglut.a on an IRIX 6.3 or later
-# machine and want a chance (no guarantees) that GLUT executables built
-# against your libglut.a will work on IRIX 6.2 machines, uncomment out
-# the LCDEFS line below. Otherwise, you'll get a run-time message about
-# "attempted access to unresolvable symbol in XXX: _XSGIFastInternAtom"
-#LCDEFS = -DNO_FAST_ATOMS
-
-LCOPTS = -I$(TOP)/include -fullwarn
-LWOFF = ,813,852,827,826
-LDIRT = *~ $(OTHERGENS) strokegen *.bak hardcopy glutsrc.ps capturexfont *.pure dstr dstr.c *.gen
-
-default: $(TARGETS)
-
-sinclude ObjectType.mk
-
-$(OBJS) : $(HDRS)
-
-libglut.a : $(OBJS)
- $(RM) $@
- $(AR) crl $@ $(OBJS)
-
-.ORDER : strokegen.h strokegen.c
-
-strokegen.h strokegen.c : strokegen.y
- $(YACC) -d strokegen.y
- $(MV) y.tab.c strokegen.c
- $(MV) y.tab.h strokegen.h
-
-# avoid warnings when compiling lex generated code
-strokegen.o : strokegen.c
- $(CC) $(CFLAGS) -woff 726,825,635,818,819,820,824,831,835,822,821,1167,1498,1116,1136,1174,1196,803 -c -MDupdate Makedepend strokegen.c
-
-strokelex.c : strokelex.l
- $(LEX) strokelex.l
- $(MV) lex.yy.c strokelex.c
-
-# avoid warnings when compiling lex generated code
-strokelex.o : strokelex.c
- $(CC) $(CFLAGS) -woff 831,825,817,835,702,819,635,824,822,1167,1498,1110,1196,1174,803 -c -MDupdate Makedepend strokelex.c
-
-strokegen : strokegen.o strokelex.o
- $(CC) -o $@ $(LDFLAGS) strokegen.o strokelex.o -ll
-
-capturexfont : capturexfont.o
- $(CC) -o $@ $(LDFLAGS) capturexfont.o -lX11
-
-# glut_roman.c and glut_mroman.c are now checked in, but here are rules to generate them
-glut_roman.c.gen : Roman.stroke strokegen
- ./strokegen -s glutStrokeRoman < Roman.stroke > $@
-glut_mroman.c.gen : MonoRoman.stroke strokegen
- ./strokegen -s glutStrokeMonoRoman < MonoRoman.stroke > $@
-
-glutsrc.ps : $(SRCS)
- $(RM) hardcopy
- mkdir -p hardcopy
- for i in $(SRCS) ;\
- do \
- grep -v CENTRY $$i | grep -v INDENT- > hardcopy/$$i; \
- done
- cd hardcopy ; enscript -p ../$@ -G -2r `echo $(SRCS) | fmt -1 | sort`
- $(RM) hardcopy
-
-# The bitmap files can be generated using capturexfont, but because
-# they require a connection to an X server and potentially different
-# X servers have different fonts, these generated files are part
-# of the GLUT distribution.
-
-9_BY_15 = -misc-fixed-medium-r-normal--15-140-75-75-C-90-iso8859-1
-8_BY_13 = -misc-fixed-medium-r-normal--13-120-75-75-C-80-iso8859-1
-TR10 = -adobe-times-medium-r-normal--10-100-75-75-p-54-iso8859-1
-TR24 = -adobe-times-medium-r-normal--24-240-75-75-p-124-iso8859-1
-HEL10 = -adobe-helvetica-medium-r-normal--10-100-75-75-p-56-iso8859-1
-HEL12 = -adobe-helvetica-medium-r-normal--12-120-75-75-p-67-iso8859-1
-HEL18 = -adobe-helvetica-medium-r-normal--18-180-75-75-p-98-iso8859-1
-
-semigens : capturexfont
- ./capturexfont $(9_BY_15) glutBitmap9By15 > glut_9x15.c.gen
- ./capturexfont $(8_BY_13) glutBitmap8By13 > glut_8x13.c.gen
- ./capturexfont $(TR10) glutBitmapTimesRoman10 > glut_tr10.c.gen
- ./capturexfont $(TR24) glutBitmapTimesRoman24 > glut_tr24.c.gen
- ./capturexfont $(HEL10) glutBitmapHelvetica10 > glut_hel10.c.gen
- ./capturexfont $(HEL12) glutBitmapHelvetica12 > glut_hel12.c.gen
- ./capturexfont $(HEL18) glutBitmapHelvetica18 > glut_hel18.c.gen
-
-# unused test rule for test building 16-bit font
-JIS = -jis-fixed-medium-r-normal--24-230-75-75-c-240-jisx0208.1983-0
-glut_jis.c :
- ./capturexfont $(JIS) glutBitmapJis > $@
-
-sources: $(SRCS)
-
-symcheck: libglut.a
- -nm -Bo libglut.a | grep -v ' d ' | grep -v ' T glut' | grep -v ' D glut' | grep -v ' U ' | grep -v ' T __glut' | grep -v ' t ' | grep -v ' b ' | grep -v ' D __glut' | grep -v ' B __glut'
-
-dstr.c: glut_dstr.c
- ln -s glut_dstr.c $@
-
-dstr: dstr.c glut_util.o glut_glxext.o
- $(RM) $@
- $(CC) -g -o $@ $(CFLAGS) -DTEST dstr.c glut_util.o glut_glxext.o -lGLU -lGL -lXext -lX11 -lm
-
-./glut.h : glut.h
-./glutint.h : glutint.h
-./glutstroke.h : glutstroke.h
-./strokegen.h : strokegen.h
-./stroke.h : stroke.h
-./layerutil.h : layerutil.h
-strokelex.o: strokelex.c strokegen.h
-
-include $(COMMONRULES)
diff --git a/src/glut/glx/Makefile.win b/src/glut/glx/Makefile.win
deleted file mode 100644
index 4ce7f6fc71..0000000000
--- a/src/glut/glx/Makefile.win
+++ /dev/null
@@ -1,99 +0,0 @@
-# Makefile for Win32
-
-!include <win32.mak>
-
-TOP = ..
-
-# NOTE: glut_menu.c and glut_glxext.c are NOT compiled into Win32 GLUT
-
-SRCS = glut_8x13.c glut_9x15.c glut_bitmap.c glut_bwidth.c glut_cindex.c glut_cmap.c glut_cursor.c glut_dials.c glut_dstr.c glut_event.c glut_ext.c glut_fbc.c glut_fullscrn.c glut_gamemode.c glut_get.c glut_hel10.c glut_hel12.c glut_hel18.c glut_init.c glut_input.c glut_joy.c glut_key.c glut_keyctrl.c glut_keyup.c glut_mesa.c glut_modifier.c glut_mroman.c glut_overlay.c glut_roman.c glut_shapes.c glut_space.c glut_stroke.c glut_swap.c glut_swidth.c glut_tablet.c glut_teapot.c glut_tr10.c glut_tr24.c glut_util.c glut_vidresize.c glut_warp.c glut_win.c glut_winmisc.c win32_glx.c win32_menu.c win32_util.c win32_winproc.c win32_x11.c
-
-all : glutdll
-
-!include "$(TOP)/mesawin32.mak"
-
-glutdll : $(GLUTDLL)
-
-!IFDEF NODEBUG
-OPTIMIZE_CFLAGS = -DNDEBUG
-!ENDIF
-
-CFLAGS = $(cvarsdll) $(CFLAGS) $(OPTIMIZE_CFLAGS) -DMESA -DBUILD_GL32
-LFLAGS = $(dlllflags) $(lcommon) $(LFLAGS)
-
-OBJS = $(SRCS:.c=.obj)
-MS_LIBS = ../lib/$(MESALIB) ../lib/$(GLULIB) winmm.lib $(guilibsdll)
-SGI_LIBS = $(SGI_OPENGL) $(SGI_GLU) winmm.lib $(guilibsdll)
-
-MesaGlut.dll : $(OBJS) glut.def
- $(link) $(LFLAGS) -out:MesaGlut.dll -def:glut.def $(OBJS) $(MS_LIBS)
- @echo "copying GLUT dynamic link library to lib directory..."
- -copy $(GLUTDLL) ..\lib
- @echo "copying GLUT import library to lib directory..."
- -copy $(GLUTLIB) ..\lib
-
-glut.dll : $(OBJS) glut.def
- $(link) $(LFLAGS) -out:glut.dll -def:glut.def $(OBJS) $(SGI_LIBS)
-
-install : $(GLUTDLL)
- @echo "copying GLUT dynamic link library to system directory..."
- -copy $(GLUTDLL) $(DLLINSTALL)
- @echo "copying GLUT header file to include directory..."
- -copy ..\include\GL\glut.h $(INCLUDEINSTALL)
- @echo "copying GLUT import library to library directory..."
- -copy $(GLUTLIB) $(LIBINSTALL)
-
-.c.obj :
- $(cc) $(CFLAGS) -I . $*.c
-
-# explicit object dependencies for all source files
-
-win32_glx.obj: win32_glx.c win32_glx.h
-win32_x11.obj: win32_x11.c win32_x11.h
-win32_menu.obj: win32_menu.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h
-win32_util.obj: win32_util.c glutint.h ..\include\GL\glutf90.h
-win32_winproc.obj: win32_winproc.c glutint.h ..\include\GL\glutf90.h
-
-glut_mroman.obj: glut_mroman.c glutstroke.h glutint.h ..\include\GL\glutf90.h
-glut_roman.obj: glut_roman.c glutstroke.h glutint.h ..\include\GL\glutf90.h
-glut_hel12.obj: glut_hel12.c glutbitmap.h glutint.h ..\include\GL\glutf90.h
-glut_8x13.obj: glut_8x13.c glutbitmap.h glutint.h ..\include\GL\glutf90.h
-glut_hel18.obj: glut_hel18.c glutbitmap.h glutint.h ..\include\GL\glutf90.h
-glut_9x15.obj: glut_9x15.c glutbitmap.h glutint.h ..\include\GL\glutf90.h
-glut_tr10.obj: glut_tr10.c glutbitmap.h glutint.h ..\include\GL\glutf90.h
-glut_hel10.obj: glut_hel10.c glutbitmap.h glutint.h ..\include\GL\glutf90.h
-glut_tr24.obj: glut_tr24.c glutbitmap.h glutint.h ..\include\GL\glutf90.h
-
-glut_bitmap.obj: glut_bitmap.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_bwidth.obj: glut_bwidth.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_cindex.obj: glut_cindex.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_cmap.obj: glut_cmap.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_cursor.obj: glut_cursor.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_dials.obj: glut_dials.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_dstr.obj: glut_dstr.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_event.obj: glut_event.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_ext.obj: glut_ext.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_fullscrn.obj: glut_fullscrn.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_gamemode.obj: glut_gamemode.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_get.obj: glut_get.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_init.obj: glut_init.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_input.obj: glut_input.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_joy.obj: glut_joy.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_key.obj: glut_key.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_keyctrl.obj: glut_keyctrl.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_keyup.obj: glut_keyup.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_mesa.obj: glut_mesa.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_modifier.obj: glut_modifier.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_overlay.obj: glut_overlay.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_shapes.obj: glut_shapes.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_space.obj: glut_space.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_swap.obj: glut_swap.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_swidth.obj: glut_swidth.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_tablet.obj: glut_tablet.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_teapot.obj: glut_teapot.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_util.obj: glut_util.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_vidresize.obj: glut_vidresize.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_warp.obj: glut_warp.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-glut_win.obj: glut_win.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h
-glut_winmisc.obj: glut_winmisc.c glutint.h ..\include\GL\glutf90.h ..\include\GL\glut.h glutwin32.h win32_glx.h win32_x11.h
-
diff --git a/src/glut/glx/SConscript b/src/glut/glx/SConscript
deleted file mode 100644
index 938fec03df..0000000000
--- a/src/glut/glx/SConscript
+++ /dev/null
@@ -1,87 +0,0 @@
-Import('*')
-
-env = env.Clone()
-
-if env['platform'] != 'windows':
- Return()
-
-target = 'glut32'
-
-env.Replace(CPPDEFINES = [
- 'BUILD_GLUT32',
- 'GLUT_BUILDING_LIB',
- 'NDEBUG',
- 'GLUT_NO_WARNING_DISABLE',
-])
-
-env.AppendUnique(CPPPATH = [
- '#/include',
-])
-
-env.PrependUnique(LIBS = [
- 'winmm',
- 'gdi32',
- 'user32',
- 'opengl32',
- 'glu32',
-])
-
-sources = [
- 'glut_bitmap.c',
- 'glut_bwidth.c',
- 'glut_cindex.c',
- 'glut_cmap.c',
- 'glut_cursor.c',
- 'glut_dials.c',
- 'glut_dstr.c',
- 'glut_event.c',
- 'glut_ext.c',
- 'glut_fullscrn.c',
- 'glut_gamemode.c',
- 'glut_get.c',
- 'glut_init.c',
- 'glut_input.c',
- 'glut_joy.c',
- 'glut_key.c',
- 'glut_keyctrl.c',
- 'glut_keyup.c',
- 'glut_mesa.c',
- 'glut_modifier.c',
- 'glut_overlay.c',
- 'glut_ppm.c',
- 'glut_shapes.c',
- 'glut_space.c',
- 'glut_stroke.c',
- 'glut_swap.c',
- 'glut_swidth.c',
- 'glut_tablet.c',
- 'glut_teapot.c',
- 'glut_util.c',
- 'glut_vidresize.c',
- 'glut_warp.c',
- 'glut_win.c',
- 'glut_winmisc.c',
-
- 'win32_glx.c',
- 'win32_menu.c',
- 'win32_util.c',
- 'win32_winproc.c',
- 'win32_x11.c',
-
- 'glut_8x13.c',
- 'glut_9x15.c',
- 'glut_hel10.c',
- 'glut_hel12.c',
- 'glut_hel18.c',
- 'glut_mroman.c',
- 'glut_roman.c',
- 'glut_tr10.c',
- 'glut_tr24.c',
-
- 'glut.def',
-]
-
-env.SharedLibrary(
- target = target,
- source = sources,
-)
diff --git a/src/glut/glx/capturexfont.c b/src/glut/glx/capturexfont.c
deleted file mode 100644
index b99e793056..0000000000
--- a/src/glut/glx/capturexfont.c
+++ /dev/null
@@ -1,356 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-/* capturexfont.c connects to an X server and downloads a
- bitmap font from which a C source file is generated,
- encoding the font for GLUT's use. Example usage:
- capturexfont.c 9x15 glutBitmap9By15 > glut_9x15.c */
-
-#ifdef __VMS
-#include <GL/vms_x_fix.h>
-#endif
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <ctype.h>
-#include <GL/gl.h>
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-
-#define MAX_GLYPHS_PER_GRAB 512 /* This is big enough for 2^9
- glyph character sets */
-
-static void
-outputChar(int num, int width, int height,
- int xoff, int yoff, int advance, int data)
-{
- if (width == 0 || height == 0) {
- printf("#ifdef _WIN32\n");
- printf("/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with\n");
- printf(" a height or width of zero does not advance the raster position\n");
- printf(" as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */\n");
- printf("static const GLubyte ch%ddata[] = { 0x0 };\n", num);
- printf("static const BitmapCharRec ch%d = {", num);
- printf("%d,", 0);
- printf("%d,", 0);
- printf("%d,", xoff);
- printf("%d,", yoff);
- printf("%d,", advance);
- printf("ch%ddata", num);
- printf("};\n");
- printf("#else\n");
- }
- printf("static const BitmapCharRec ch%d = {", num);
- printf("%d,", width);
- printf("%d,", height);
- printf("%d,", xoff);
- printf("%d,", yoff);
- printf("%d,", advance);
- if (data) {
- printf("ch%ddata", num);
- } else {
- printf("0");
- }
- printf("};\n");
- if (width == 0 || height == 0) {
- printf("#endif\n");
- }
- printf("\n");
-}
-
-/* Can't just use isprint because it only works for the range
- of ASCII characters (ie, TRUE for isascii) and capturexfont
- might be run on 16-bit fonts. */
-#define PRINTABLE(ch) (isascii(ch) ? isprint(ch) : 0)
-
-void
-captureXFont(Display * dpy, Font font, char *xfont, char *name)
-{
- int first, last, count;
- int cnt, len;
- Pixmap offscreen;
- Window drawable;
- XFontStruct *fontinfo;
- XImage *image;
- GC xgc;
- XGCValues values;
- int width, height;
- int i, j, k;
- XCharStruct *charinfo;
- XChar2b character;
- GLubyte *bitmapData;
- int x, y;
- int spanLength;
- int charWidth, charHeight, maxSpanLength, pixwidth;
- int grabList[MAX_GLYPHS_PER_GRAB];
- int glyphsPerGrab = MAX_GLYPHS_PER_GRAB;
- int numToGrab;
- int rows, pages, byte1, byte2, index;
- int nullBitmap;
-
- drawable = RootWindow(dpy, DefaultScreen(dpy));
-
- fontinfo = XQueryFont(dpy, font);
- pages = fontinfo->max_char_or_byte2 - fontinfo->min_char_or_byte2 + 1;
- first = (fontinfo->min_byte1 << 8) + fontinfo->min_char_or_byte2;
- last = (fontinfo->max_byte1 << 8) + fontinfo->max_char_or_byte2;
- count = last - first + 1;
-
- width = fontinfo->max_bounds.rbearing -
- fontinfo->min_bounds.lbearing;
- height = fontinfo->max_bounds.ascent +
- fontinfo->max_bounds.descent;
- /* 16-bit fonts have more than one row; indexing into
- per_char is trickier. */
- rows = fontinfo->max_byte1 - fontinfo->min_byte1 + 1;
-
- maxSpanLength = (width + 7) / 8;
- /* For portability reasons we don't use alloca for
- bitmapData, but we could. */
- bitmapData = malloc(height * maxSpanLength);
- /* Be careful determining the width of the pixmap; the X
- protocol allows pixmaps of width 2^16-1 (unsigned short
- size) but drawing coordinates max out at 2^15-1 (signed
- short size). If the width is too large, we need to limit
- the glyphs per grab. */
- if ((glyphsPerGrab * 8 * maxSpanLength) >= (1 << 15)) {
- glyphsPerGrab = (1 << 15) / (8 * maxSpanLength);
- }
- pixwidth = glyphsPerGrab * 8 * maxSpanLength;
- offscreen = XCreatePixmap(dpy, drawable, pixwidth, height, 1);
-
- values.font = font;
- values.background = 0;
- values.foreground = 0;
- xgc = XCreateGC(dpy, offscreen,
- GCFont | GCBackground | GCForeground, &values);
- XFillRectangle(dpy, offscreen, xgc, 0, 0,
- 8 * maxSpanLength * glyphsPerGrab, height);
- XSetForeground(dpy, xgc, 1);
-
- numToGrab = 0;
- if (fontinfo->per_char == NULL) {
- charinfo = &(fontinfo->min_bounds);
- charWidth = charinfo->rbearing - charinfo->lbearing;
- charHeight = charinfo->ascent + charinfo->descent;
- spanLength = (charWidth + 7) / 8;
- }
- printf("\n/* GENERATED FILE -- DO NOT MODIFY */\n\n");
- printf("#include \"glutbitmap.h\"\n\n");
- for (i = first; count; i++, count--) {
- int undefined;
- if (rows == 1) {
- undefined = (fontinfo->min_char_or_byte2 > i ||
- fontinfo->max_char_or_byte2 < i);
- } else {
- byte2 = i & 0xff;
- byte1 = i >> 8;
- undefined = (fontinfo->min_char_or_byte2 > byte2 ||
- fontinfo->max_char_or_byte2 < byte2 ||
- fontinfo->min_byte1 > byte1 ||
- fontinfo->max_byte1 < byte1);
-
- }
- if (undefined) {
- goto PossiblyDoGrab;
- }
- if (fontinfo->per_char != NULL) {
- if (rows == 1) {
- index = i - fontinfo->min_char_or_byte2;
- } else {
- byte2 = i & 0xff;
- byte1 = i >> 8;
- index =
- (byte1 - fontinfo->min_byte1) * pages +
- (byte2 - fontinfo->min_char_or_byte2);
- }
- charinfo = &(fontinfo->per_char[index]);
- charWidth = charinfo->rbearing - charinfo->lbearing;
- charHeight = charinfo->ascent + charinfo->descent;
- if (charWidth == 0 || charHeight == 0) {
- if (charinfo->width != 0) {
- /* Still must move raster pos even if empty character
-
- */
- outputChar(i, 0, 0, 0, 0, charinfo->width, 0);
- }
- goto PossiblyDoGrab;
- }
- }
- grabList[numToGrab] = i;
- character.byte2 = i & 255;
- character.byte1 = i >> 8;
-
- /* XXX We could use XDrawImageString16 which would also
- paint the backing rectangle but X server bugs in some
- scalable font rasterizers makes it more effective to do
- XFillRectangles to clear the pixmap and then
- XDrawImage16 for the text. */
- XDrawString16(dpy, offscreen, xgc,
- -charinfo->lbearing + 8 * maxSpanLength * numToGrab,
- charinfo->ascent, &character, 1);
-
- numToGrab++;
-
- PossiblyDoGrab:
-
- if (numToGrab >= glyphsPerGrab || count == 1) {
- image = XGetImage(dpy, offscreen,
- 0, 0, pixwidth, height, 1, XYPixmap);
- for (j = numToGrab - 1; j >= 0; j--) {
- if (fontinfo->per_char != NULL) {
- byte2 = grabList[j] & 0xff;
- byte1 = grabList[j] >> 8;
- index =
- (byte1 - fontinfo->min_byte1) * pages +
- (byte2 - fontinfo->min_char_or_byte2);
- charinfo = &(fontinfo->per_char[index]);
- charWidth = charinfo->rbearing - charinfo->lbearing;
- charHeight = charinfo->ascent + charinfo->descent;
- spanLength = (charWidth + 7) / 8;
- }
- memset(bitmapData, 0, height * spanLength);
- for (y = 0; y < charHeight; y++) {
- for (x = 0; x < charWidth; x++) {
- if (XGetPixel(image, j * maxSpanLength * 8 + x,
- charHeight - 1 - y)) {
- /* Little endian machines (such as DEC Alpha)
- could benefit from reversing the bit order
- here and changing the GL_UNPACK_LSB_FIRST
- parameter in glutBitmapCharacter to GL_TRUE. */
- bitmapData[y * spanLength + x / 8] |=
- (1 << (7 - (x & 7)));
- }
- }
- }
- if (PRINTABLE(grabList[j])) {
- printf("/* char: 0x%x '%c' */\n\n",
- grabList[j], grabList[j]);
- } else {
- printf("/* char: 0x%x */\n\n", grabList[j]);
- }
-
- /* Determine if the bitmap is null. */
- nullBitmap = 1;
- len = (charinfo->ascent + charinfo->descent) *
- ((charinfo->rbearing - charinfo->lbearing + 7) / 8);
- cnt = 0;
- while (cnt < len) {
- for (k = 0; k < 16 && cnt < len; k++, cnt++) {
- if (bitmapData[cnt] != 0) {
- nullBitmap = 0;
- }
- }
- }
-
- if (!nullBitmap) {
- printf("static const GLubyte ch%ddata[] = {\n", grabList[j]);
- len = (charinfo->ascent + charinfo->descent) *
- ((charinfo->rbearing - charinfo->lbearing + 7) / 8);
- cnt = 0;
- while (cnt < len) {
- for (k = 0; k < 16 && cnt < len; k++, cnt++) {
- printf("0x%x,", bitmapData[cnt]);
- }
- printf("\n");
- }
- printf("};\n\n");
- } else {
- charWidth = 0;
- charHeight = 0;
- }
-
- outputChar(grabList[j], charWidth, charHeight,
- -charinfo->lbearing, charinfo->descent,
- charinfo->width, !nullBitmap);
- }
- XDestroyImage(image);
- numToGrab = 0;
- if (count > 0) {
- XSetForeground(dpy, xgc, 0);
- XFillRectangle(dpy, offscreen, xgc, 0, 0,
- 8 * maxSpanLength * glyphsPerGrab, height);
- XSetForeground(dpy, xgc, 1);
- }
- }
- }
- XFreeGC(dpy, xgc);
- XFreePixmap(dpy, offscreen);
- /* For portability reasons we don't use alloca for
- bitmapData, but we could. */
- free(bitmapData);
-
- printf("static const BitmapCharRec * const chars[] = {\n");
- for (i = first; i <= last; i++) {
- int undefined;
- byte2 = i & 0xff;
- byte1 = i >> 8;
- undefined = (fontinfo->min_char_or_byte2 > byte2 ||
- fontinfo->max_char_or_byte2 < byte2 ||
- fontinfo->min_byte1 > byte1 ||
- fontinfo->max_byte1 < byte1);
- if (undefined) {
- printf("0,\n");
- } else {
- if (fontinfo->per_char != NULL) {
- if (rows == 1) {
- index = i - fontinfo->min_char_or_byte2;
- } else {
- byte2 = i & 0xff;
- byte1 = i >> 8;
- index =
- (byte1 - fontinfo->min_byte1) * pages +
- (byte2 - fontinfo->min_char_or_byte2);
- }
- charinfo = &(fontinfo->per_char[index]);
- charWidth = charinfo->rbearing - charinfo->lbearing;
- charHeight = charinfo->ascent + charinfo->descent;
- if (charWidth == 0 || charHeight == 0) {
- if (charinfo->width == 0) {
- printf("0,\n");
- continue;
- }
- }
- }
- printf("&ch%d,\n", i);
- }
- }
- printf("};\n\n");
- printf("const BitmapFontRec %s = {\n", name);
- printf("\"%s\",\n", xfont);
- printf("%d,\n", last - first + 1);
- printf("%d,\n", first);
- printf("chars\n");
- printf("};\n\n");
- XFreeFont(dpy, fontinfo);
-}
-
-int
-main(int argc, char **argv)
-{
- Display *dpy;
- Font font;
-
- if (argc != 3) {
- fprintf(stderr, "usage: capturexfont XFONT NAME\n");
- exit(1);
- }
- dpy = XOpenDisplay(NULL);
- if (dpy == NULL) {
- fprintf(stderr, "capturexfont: could not open X display\n");
- exit(1);
- }
- font = XLoadFont(dpy, argv[1]);
- if (font == None) {
- fprintf(stderr, "capturexfont: bad font\n");
- exit(1);
- }
- captureXFont(dpy, font, argv[1], argv[2]);
- XCloseDisplay(dpy);
- return 0;
-}
diff --git a/src/glut/glx/fxglut.def b/src/glut/glx/fxglut.def
deleted file mode 100644
index 805a0c7222..0000000000
--- a/src/glut/glx/fxglut.def
+++ /dev/null
@@ -1,103 +0,0 @@
-EXPORTS
- glutInit
- glutInitDisplayMode
- glutInitDisplayString
- glutInitWindowPosition
- glutInitWindowSize
- glutMainLoop
- glutCreateWindow
- glutCreateSubWindow
- glutDestroyWindow
- glutPostRedisplay
- glutSwapBuffers
- glutGetWindow
- glutSetWindow
- glutSetWindowTitle
- glutSetIconTitle
- glutPositionWindow
- glutReshapeWindow
- glutPopWindow
- glutPushWindow
- glutIconifyWindow
- glutShowWindow
- glutHideWindow
- glutFullScreen
- glutSetCursor
- glutWarpPointer
- glutEstablishOverlay
- glutRemoveOverlay
- glutUseLayer
- glutPostOverlayRedisplay
- glutShowOverlay
- glutHideOverlay
- glutCreateMenu
- glutDestroyMenu
- glutGetMenu
- glutSetMenu
- glutAddMenuEntry
- glutAddSubMenu
- glutChangeToMenuEntry
- glutChangeToSubMenu
- glutRemoveMenuItem
- glutAttachMenu
- glutDetachMenu
- glutDisplayFunc
- glutReshapeFunc
- glutKeyboardFunc
- glutMouseFunc
- glutMotionFunc
- glutPassiveMotionFunc
- glutEntryFunc
- glutVisibilityFunc
- glutIdleFunc
- glutTimerFunc
- glutMenuStateFunc
- glutSpecialFunc
- glutSpaceballMotionFunc
- glutSpaceballRotateFunc
- glutSpaceballButtonFunc
- glutButtonBoxFunc
- glutDialsFunc
- glutTabletMotionFunc
- glutTabletButtonFunc
- glutMenuStatusFunc
- glutOverlayDisplayFunc
- glutWindowStatusFunc
- glutSetColor
- glutGetColor
- glutCopyColormap
- glutGet
- glutDeviceGet
- glutExtensionSupported
- glutGetModifiers
- glutLayerGet
- glutBitmapCharacter
- glutBitmapWidth
- glutStrokeCharacter
- glutStrokeWidth
- glutBitmapLength
- glutStrokeLength
- glutWireSphere
- glutSolidSphere
- glutWireCone
- glutSolidCone
- glutWireCube
- glutSolidCube
- glutWireTorus
- glutSolidTorus
- glutWireDodecahedron
- glutSolidDodecahedron
- glutWireTeapot
- glutSolidTeapot
- glutWireOctahedron
- glutSolidOctahedron
- glutWireTetrahedron
- glutSolidTetrahedron
- glutWireIcosahedron
- glutSolidIcosahedron
- glutVideoResizeGet
- glutSetupVideoResizing
- glutStopVideoResizing
- glutVideoResize
- glutVideoPan
- glutReportErrors
diff --git a/src/glut/glx/glut.def b/src/glut/glx/glut.def
deleted file mode 100644
index 90010815e4..0000000000
--- a/src/glut/glx/glut.def
+++ /dev/null
@@ -1,125 +0,0 @@
-EXPORTS
- glutAddMenuEntry
- glutAddSubMenu
- glutAttachMenu
- glutBitmapCharacter
- glutBitmapLength
- glutBitmapWidth
- glutButtonBoxFunc
- glutChangeToMenuEntry
- glutChangeToSubMenu
- glutCopyColormap
- glutCreateMenu
- __glutCreateMenuWithExit
- glutCreateSubWindow
- glutCreateWindow
- __glutCreateWindowWithExit
- glutDestroyMenu
- glutDestroyWindow
- glutDetachMenu
- glutDeviceGet
- glutDialsFunc
- glutDisplayFunc
- glutEnterGameMode
- glutEntryFunc
- glutEstablishOverlay
- glutExtensionSupported
- glutForceJoystickFunc
- glutFullScreen
- glutGameModeGet
- glutGameModeString
- glutGet
- glutGetColor
- glutGetMenu
- glutGetModifiers
- glutGetWindow
- glutHideOverlay
- glutHideWindow
- glutIconifyWindow
- glutIdleFunc
- glutIgnoreKeyRepeat
- glutInit
- __glutInitWithExit
- glutInitDisplayMode
- glutInitDisplayString
- glutInitWindowPosition
- glutInitWindowSize
- glutJoystickFunc
- glutKeyboardFunc
- glutKeyboardUpFunc
- glutLayerGet
- glutLeaveGameMode
- glutMainLoop
- glutMenuStateFunc
- glutMenuStatusFunc
- glutMotionFunc
- glutMouseFunc
- glutOverlayDisplayFunc
- glutPassiveMotionFunc
- glutPopWindow
- glutPositionWindow
- glutPostOverlayRedisplay
- glutPostRedisplay
- glutPostWindowOverlayRedisplay
- glutPostWindowRedisplay
- glutPushWindow
- glutRemoveMenuItem
- glutRemoveOverlay
- glutReportErrors
- glutReshapeFunc
- glutReshapeWindow
- glutSetColor
- glutSetCursor
- glutSetIconTitle
- glutSetKeyRepeat
- glutSetMenu
- glutSetWindow
- glutSetWindowTitle
- glutSetupVideoResizing
- glutShowOverlay
- glutShowWindow
- glutSolidCone
- glutSolidCube
- glutSolidDodecahedron
- glutSolidIcosahedron
- glutSolidOctahedron
- glutSolidSphere
- glutSolidTeapot
- glutSolidTetrahedron
- glutSolidTorus
- glutSpaceballButtonFunc
- glutSpaceballMotionFunc
- glutSpaceballRotateFunc
- glutSpecialFunc
- glutSpecialUpFunc
- glutStopVideoResizing
- glutStrokeCharacter
- glutStrokeLength
- glutStrokeWidth
- glutSwapBuffers
- glutTabletButtonFunc
- glutTabletMotionFunc
- glutTimerFunc
- glutUseLayer
- glutVideoPan
- glutVideoResize
- glutVideoResizeGet
- glutVisibilityFunc
- glutWarpPointer
- glutWindowStatusFunc
- glutWireCone
- glutWireCube
- glutWireDodecahedron
- glutWireIcosahedron
- glutWireOctahedron
- glutWireSphere
- glutWireTeapot
- glutWireTetrahedron
- glutWireTorus
- glutStrokeRoman
- glutBitmap9By15
- glutBitmapHelvetica10
- glutBitmapHelvetica18
- glutBitmapTimesRoman24
-; __glutSetFCB
-; __glutGetFCB
diff --git a/src/glut/glx/glut.pc.in b/src/glut/glx/glut.pc.in
deleted file mode 100644
index 151dd0b802..0000000000
--- a/src/glut/glx/glut.pc.in
+++ /dev/null
@@ -1,13 +0,0 @@
-prefix=@INSTALL_DIR@
-exec_prefix=${prefix}
-libdir=@INSTALL_LIB_DIR@
-includedir=@INSTALL_INC_DIR@
-
-Name: glut
-Description: Mesa OpenGL Utility Toolkit library
-Requires: gl glu
-Requires.private: @GLUT_PC_REQ_PRIV@
-Version: @VERSION@
-Libs: -L${libdir} -l@GLUT_LIB@
-Libs.private: @GLUT_PC_LIB_PRIV@
-Cflags: -I${includedir} @GLUT_PC_CFLAGS@
diff --git a/src/glut/glx/glut_8x13.c b/src/glut/glx/glut_8x13.c
deleted file mode 100644
index 843c63d35a..0000000000
--- a/src/glut/glx/glut_8x13.c
+++ /dev/null
@@ -1,2073 +0,0 @@
-
-/* GENERATED FILE -- DO NOT MODIFY */
-
-#define glutBitmap8By13 XXX
-#include "glutbitmap.h"
-#undef glutBitmap8By13
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch0data[] = { 0x0 };
-static const BitmapCharRec ch0 = {1,1,0,0,8,ch0data};
-#else
-static const BitmapCharRec ch0 = {0,0,0,0,8,0};
-#endif
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch32data[] = { 0x0 };
-static const BitmapCharRec ch32 = {1,1,0,0,8,ch32data};
-#else
-static const BitmapCharRec ch32 = {0,0,0,0,8,0};
-#endif
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch127data[] = { 0x0 };
-static const BitmapCharRec ch127 = {1,1,0,0,8,ch127data};
-#else
-static const BitmapCharRec ch127 = {0,0,0,0,8,0};
-#endif
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch160data[] = { 0x0 };
-static const BitmapCharRec ch160 = {1,1,0,0,8,ch160data};
-#else
-static const BitmapCharRec ch160 = {0,0,0,0,8,0};
-#endif
-
-/* char: 0xff */
-
-static const GLubyte ch255data[] = {
-0x78,0x84,0x4,0x74,0x8c,0x84,0x84,0x84,0x0,0x0,0x48,0x48,
-};
-
-static const BitmapCharRec ch255 = {6,12,-1,2,8,ch255data};
-
-/* char: 0xfe */
-
-static const GLubyte ch254data[] = {
-0x80,0x80,0xb8,0xc4,0x84,0x84,0xc4,0xb8,0x80,0x80,
-};
-
-static const BitmapCharRec ch254 = {6,10,-1,2,8,ch254data};
-
-/* char: 0xfd */
-
-static const GLubyte ch253data[] = {
-0x78,0x84,0x4,0x74,0x8c,0x84,0x84,0x84,0x0,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch253 = {6,12,-1,2,8,ch253data};
-
-/* char: 0xfc */
-
-static const GLubyte ch252data[] = {
-0x74,0x88,0x88,0x88,0x88,0x88,0x0,0x0,0x48,0x48,
-};
-
-static const BitmapCharRec ch252 = {6,10,-1,0,8,ch252data};
-
-/* char: 0xfb */
-
-static const GLubyte ch251data[] = {
-0x74,0x88,0x88,0x88,0x88,0x88,0x0,0x0,0x48,0x30,
-};
-
-static const BitmapCharRec ch251 = {6,10,-1,0,8,ch251data};
-
-/* char: 0xfa */
-
-static const GLubyte ch250data[] = {
-0x74,0x88,0x88,0x88,0x88,0x88,0x0,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch250 = {6,10,-1,0,8,ch250data};
-
-/* char: 0xf9 */
-
-static const GLubyte ch249data[] = {
-0x74,0x88,0x88,0x88,0x88,0x88,0x0,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch249 = {6,10,-1,0,8,ch249data};
-
-/* char: 0xf8 */
-
-static const GLubyte ch248data[] = {
-0x80,0x78,0xc4,0xa4,0x94,0x8c,0x78,0x4,
-};
-
-static const BitmapCharRec ch248 = {6,8,-1,1,8,ch248data};
-
-/* char: 0xf7 */
-
-static const GLubyte ch247data[] = {
-0x20,0x20,0x0,0xf8,0x0,0x20,0x20,
-};
-
-static const BitmapCharRec ch247 = {5,7,-1,-1,8,ch247data};
-
-/* char: 0xf6 */
-
-static const GLubyte ch246data[] = {
-0x78,0x84,0x84,0x84,0x84,0x78,0x0,0x0,0x48,0x48,
-};
-
-static const BitmapCharRec ch246 = {6,10,-1,0,8,ch246data};
-
-/* char: 0xf5 */
-
-static const GLubyte ch245data[] = {
-0x78,0x84,0x84,0x84,0x84,0x78,0x0,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch245 = {6,10,-1,0,8,ch245data};
-
-/* char: 0xf4 */
-
-static const GLubyte ch244data[] = {
-0x78,0x84,0x84,0x84,0x84,0x78,0x0,0x0,0x48,0x30,
-};
-
-static const BitmapCharRec ch244 = {6,10,-1,0,8,ch244data};
-
-/* char: 0xf3 */
-
-static const GLubyte ch243data[] = {
-0x78,0x84,0x84,0x84,0x84,0x78,0x0,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch243 = {6,10,-1,0,8,ch243data};
-
-/* char: 0xf2 */
-
-static const GLubyte ch242data[] = {
-0x78,0x84,0x84,0x84,0x84,0x78,0x0,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch242 = {6,10,-1,0,8,ch242data};
-
-/* char: 0xf1 */
-
-static const GLubyte ch241data[] = {
-0x84,0x84,0x84,0x84,0xc4,0xb8,0x0,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch241 = {6,10,-1,0,8,ch241data};
-
-/* char: 0xf0 */
-
-static const GLubyte ch240data[] = {
-0x78,0x84,0x84,0x84,0x84,0x78,0x8,0x50,0x30,0x48,
-};
-
-static const BitmapCharRec ch240 = {6,10,-1,0,8,ch240data};
-
-/* char: 0xef */
-
-static const GLubyte ch239data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x60,0x0,0x0,0x50,0x50,
-};
-
-static const BitmapCharRec ch239 = {5,10,-1,0,8,ch239data};
-
-/* char: 0xee */
-
-static const GLubyte ch238data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x60,0x0,0x0,0x90,0x60,
-};
-
-static const BitmapCharRec ch238 = {5,10,-1,0,8,ch238data};
-
-/* char: 0xed */
-
-static const GLubyte ch237data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x60,0x0,0x0,0x40,0x20,
-};
-
-static const BitmapCharRec ch237 = {5,10,-1,0,8,ch237data};
-
-/* char: 0xec */
-
-static const GLubyte ch236data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x60,0x0,0x0,0x20,0x40,
-};
-
-static const BitmapCharRec ch236 = {5,10,-1,0,8,ch236data};
-
-/* char: 0xeb */
-
-static const GLubyte ch235data[] = {
-0x78,0x84,0x80,0xfc,0x84,0x78,0x0,0x0,0x48,0x48,
-};
-
-static const BitmapCharRec ch235 = {6,10,-1,0,8,ch235data};
-
-/* char: 0xea */
-
-static const GLubyte ch234data[] = {
-0x78,0x84,0x80,0xfc,0x84,0x78,0x0,0x0,0x48,0x30,
-};
-
-static const BitmapCharRec ch234 = {6,10,-1,0,8,ch234data};
-
-/* char: 0xe9 */
-
-static const GLubyte ch233data[] = {
-0x78,0x84,0x80,0xfc,0x84,0x78,0x0,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch233 = {6,10,-1,0,8,ch233data};
-
-/* char: 0xe8 */
-
-static const GLubyte ch232data[] = {
-0x78,0x84,0x80,0xfc,0x84,0x78,0x0,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch232 = {6,10,-1,0,8,ch232data};
-
-/* char: 0xe7 */
-
-static const GLubyte ch231data[] = {
-0x20,0x10,0x78,0x84,0x80,0x80,0x84,0x78,
-};
-
-static const BitmapCharRec ch231 = {6,8,-1,2,8,ch231data};
-
-/* char: 0xe6 */
-
-static const GLubyte ch230data[] = {
-0x6c,0x92,0x90,0x7c,0x12,0x6c,
-};
-
-static const BitmapCharRec ch230 = {7,6,0,0,8,ch230data};
-
-/* char: 0xe5 */
-
-static const GLubyte ch229data[] = {
-0x74,0x8c,0x84,0x7c,0x4,0x78,0x0,0x30,0x48,0x30,
-};
-
-static const BitmapCharRec ch229 = {6,10,-1,0,8,ch229data};
-
-/* char: 0xe4 */
-
-static const GLubyte ch228data[] = {
-0x74,0x8c,0x84,0x7c,0x4,0x78,0x0,0x0,0x48,0x48,
-};
-
-static const BitmapCharRec ch228 = {6,10,-1,0,8,ch228data};
-
-/* char: 0xe3 */
-
-static const GLubyte ch227data[] = {
-0x74,0x8c,0x84,0x7c,0x4,0x78,0x0,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch227 = {6,10,-1,0,8,ch227data};
-
-/* char: 0xe2 */
-
-static const GLubyte ch226data[] = {
-0x74,0x8c,0x84,0x7c,0x4,0x78,0x0,0x0,0x48,0x30,
-};
-
-static const BitmapCharRec ch226 = {6,10,-1,0,8,ch226data};
-
-/* char: 0xe1 */
-
-static const GLubyte ch225data[] = {
-0x74,0x8c,0x84,0x7c,0x4,0x78,0x0,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch225 = {6,10,-1,0,8,ch225data};
-
-/* char: 0xe0 */
-
-static const GLubyte ch224data[] = {
-0x74,0x8c,0x84,0x7c,0x4,0x78,0x0,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch224 = {6,10,-1,0,8,ch224data};
-
-/* char: 0xdf */
-
-static const GLubyte ch223data[] = {
-0x80,0xb8,0xc4,0x84,0x84,0xf8,0x84,0x84,0x78,
-};
-
-static const BitmapCharRec ch223 = {6,9,-1,1,8,ch223data};
-
-/* char: 0xde */
-
-static const GLubyte ch222data[] = {
-0x80,0x80,0x80,0xf8,0x84,0x84,0x84,0xf8,0x80,
-};
-
-static const BitmapCharRec ch222 = {6,9,-1,0,8,ch222data};
-
-/* char: 0xdd */
-
-static const GLubyte ch221data[] = {
-0x20,0x20,0x20,0x20,0x50,0x88,0x88,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch221 = {5,10,-1,0,8,ch221data};
-
-/* char: 0xdc */
-
-static const GLubyte ch220data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x48,0x48,
-};
-
-static const BitmapCharRec ch220 = {6,10,-1,0,8,ch220data};
-
-/* char: 0xdb */
-
-static const GLubyte ch219data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x48,0x30,
-};
-
-static const BitmapCharRec ch219 = {6,10,-1,0,8,ch219data};
-
-/* char: 0xda */
-
-static const GLubyte ch218data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch218 = {6,10,-1,0,8,ch218data};
-
-/* char: 0xd9 */
-
-static const GLubyte ch217data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch217 = {6,10,-1,0,8,ch217data};
-
-/* char: 0xd8 */
-
-static const GLubyte ch216data[] = {
-0x80,0x78,0xc4,0xa4,0xa4,0xa4,0x94,0x94,0x8c,0x78,0x4,
-};
-
-static const BitmapCharRec ch216 = {6,11,-1,1,8,ch216data};
-
-/* char: 0xd7 */
-
-static const GLubyte ch215data[] = {
-0x84,0x48,0x30,0x30,0x48,0x84,
-};
-
-static const BitmapCharRec ch215 = {6,6,-1,-1,8,ch215data};
-
-/* char: 0xd6 */
-
-static const GLubyte ch214data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x28,0x28,
-};
-
-static const BitmapCharRec ch214 = {7,10,0,0,8,ch214data};
-
-/* char: 0xd5 */
-
-static const GLubyte ch213data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x28,0x14,
-};
-
-static const BitmapCharRec ch213 = {7,10,0,0,8,ch213data};
-
-/* char: 0xd4 */
-
-static const GLubyte ch212data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x24,0x18,
-};
-
-static const BitmapCharRec ch212 = {7,10,0,0,8,ch212data};
-
-/* char: 0xd3 */
-
-static const GLubyte ch211data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x10,0x8,
-};
-
-static const BitmapCharRec ch211 = {7,10,0,0,8,ch211data};
-
-/* char: 0xd2 */
-
-static const GLubyte ch210data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x8,0x10,
-};
-
-static const BitmapCharRec ch210 = {7,10,0,0,8,ch210data};
-
-/* char: 0xd1 */
-
-static const GLubyte ch209data[] = {
-0x82,0x86,0x8a,0x92,0xa2,0xc2,0x82,0x0,0x28,0x14,
-};
-
-static const BitmapCharRec ch209 = {7,10,0,0,8,ch209data};
-
-/* char: 0xd0 */
-
-static const GLubyte ch208data[] = {
-0xfc,0x42,0x42,0x42,0xe2,0x42,0x42,0x42,0xfc,
-};
-
-static const BitmapCharRec ch208 = {7,9,0,0,8,ch208data};
-
-/* char: 0xcf */
-
-static const GLubyte ch207data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0xf8,0x0,0x50,0x50,
-};
-
-static const BitmapCharRec ch207 = {5,10,-1,0,8,ch207data};
-
-/* char: 0xce */
-
-static const GLubyte ch206data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0xf8,0x0,0x48,0x30,
-};
-
-static const BitmapCharRec ch206 = {5,10,-1,0,8,ch206data};
-
-/* char: 0xcd */
-
-static const GLubyte ch205data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0xf8,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch205 = {5,10,-1,0,8,ch205data};
-
-/* char: 0xcc */
-
-static const GLubyte ch204data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0xf8,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch204 = {5,10,-1,0,8,ch204data};
-
-/* char: 0xcb */
-
-static const GLubyte ch203data[] = {
-0xfc,0x80,0x80,0xf0,0x80,0x80,0xfc,0x0,0x48,0x48,
-};
-
-static const BitmapCharRec ch203 = {6,10,-1,0,8,ch203data};
-
-/* char: 0xca */
-
-static const GLubyte ch202data[] = {
-0xfc,0x80,0x80,0xf0,0x80,0x80,0xfc,0x0,0x48,0x30,
-};
-
-static const BitmapCharRec ch202 = {6,10,-1,0,8,ch202data};
-
-/* char: 0xc9 */
-
-static const GLubyte ch201data[] = {
-0xfc,0x80,0x80,0xf0,0x80,0x80,0xfc,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch201 = {6,10,-1,0,8,ch201data};
-
-/* char: 0xc8 */
-
-static const GLubyte ch200data[] = {
-0xfc,0x80,0x80,0xf0,0x80,0x80,0xfc,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch200 = {6,10,-1,0,8,ch200data};
-
-/* char: 0xc7 */
-
-static const GLubyte ch199data[] = {
-0x20,0x10,0x78,0x84,0x80,0x80,0x80,0x80,0x80,0x84,0x78,
-};
-
-static const BitmapCharRec ch199 = {6,11,-1,2,8,ch199data};
-
-/* char: 0xc6 */
-
-static const GLubyte ch198data[] = {
-0x9e,0x90,0x90,0xf0,0x9c,0x90,0x90,0x90,0x6e,
-};
-
-static const BitmapCharRec ch198 = {7,9,0,0,8,ch198data};
-
-/* char: 0xc5 */
-
-static const GLubyte ch197data[] = {
-0x84,0x84,0xfc,0x84,0x84,0x48,0x30,0x30,0x48,0x30,
-};
-
-static const BitmapCharRec ch197 = {6,10,-1,0,8,ch197data};
-
-/* char: 0xc4 */
-
-static const GLubyte ch196data[] = {
-0x84,0x84,0xfc,0x84,0x84,0x48,0x30,0x0,0x48,0x48,
-};
-
-static const BitmapCharRec ch196 = {6,10,-1,0,8,ch196data};
-
-/* char: 0xc3 */
-
-static const GLubyte ch195data[] = {
-0x84,0x84,0xfc,0x84,0x84,0x48,0x30,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch195 = {6,10,-1,0,8,ch195data};
-
-/* char: 0xc2 */
-
-static const GLubyte ch194data[] = {
-0x84,0x84,0xfc,0x84,0x84,0x48,0x30,0x0,0x48,0x30,
-};
-
-static const BitmapCharRec ch194 = {6,10,-1,0,8,ch194data};
-
-/* char: 0xc1 */
-
-static const GLubyte ch193data[] = {
-0x84,0x84,0xfc,0x84,0x84,0x48,0x30,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch193 = {6,10,-1,0,8,ch193data};
-
-/* char: 0xc0 */
-
-static const GLubyte ch192data[] = {
-0x84,0x84,0xfc,0x84,0x84,0x48,0x30,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch192 = {6,10,-1,0,8,ch192data};
-
-/* char: 0xbf */
-
-static const GLubyte ch191data[] = {
-0x78,0x84,0x84,0x80,0x40,0x20,0x20,0x0,0x20,
-};
-
-static const BitmapCharRec ch191 = {6,9,-1,0,8,ch191data};
-
-/* char: 0xbe */
-
-static const GLubyte ch190data[] = {
-0x6,0x1a,0x12,0xa,0x66,0x92,0x10,0x20,0x90,0x60,
-};
-
-static const BitmapCharRec ch190 = {7,10,0,0,8,ch190data};
-
-/* char: 0xbd */
-
-static const GLubyte ch189data[] = {
-0x1e,0x10,0xc,0x2,0xf2,0x4c,0x40,0x40,0xc0,0x40,
-};
-
-static const BitmapCharRec ch189 = {7,10,0,0,8,ch189data};
-
-/* char: 0xbc */
-
-static const GLubyte ch188data[] = {
-0x6,0x1a,0x12,0xa,0xe6,0x42,0x40,0x40,0xc0,0x40,
-};
-
-static const BitmapCharRec ch188 = {7,10,0,0,8,ch188data};
-
-/* char: 0xbb */
-
-static const GLubyte ch187data[] = {
-0x90,0x48,0x24,0x12,0x24,0x48,0x90,
-};
-
-static const BitmapCharRec ch187 = {7,7,0,-1,8,ch187data};
-
-/* char: 0xba */
-
-static const GLubyte ch186data[] = {
-0xf0,0x0,0x60,0x90,0x90,0x60,
-};
-
-static const BitmapCharRec ch186 = {4,6,-1,-3,8,ch186data};
-
-/* char: 0xb9 */
-
-static const GLubyte ch185data[] = {
-0xe0,0x40,0x40,0x40,0xc0,0x40,
-};
-
-static const BitmapCharRec ch185 = {3,6,-1,-4,8,ch185data};
-
-/* char: 0xb8 */
-
-static const GLubyte ch184data[] = {
-0xc0,0x40,
-};
-
-static const BitmapCharRec ch184 = {2,2,-3,2,8,ch184data};
-
-/* char: 0xb7 */
-
-static const GLubyte ch183data[] = {
-0xc0,
-};
-
-static const BitmapCharRec ch183 = {2,1,-3,-4,8,ch183data};
-
-/* char: 0xb6 */
-
-static const GLubyte ch182data[] = {
-0x28,0x28,0x28,0x28,0x68,0xe8,0xe8,0xe8,0x7c,
-};
-
-static const BitmapCharRec ch182 = {6,9,-1,0,8,ch182data};
-
-/* char: 0xb5 */
-
-static const GLubyte ch181data[] = {
-0x80,0xb4,0xcc,0x84,0x84,0x84,0x84,
-};
-
-static const BitmapCharRec ch181 = {6,7,-1,1,8,ch181data};
-
-/* char: 0xb4 */
-
-static const GLubyte ch180data[] = {
-0x80,0x40,
-};
-
-static const BitmapCharRec ch180 = {2,2,-3,-8,8,ch180data};
-
-/* char: 0xb3 */
-
-static const GLubyte ch179data[] = {
-0x60,0x90,0x10,0x20,0x90,0x60,
-};
-
-static const BitmapCharRec ch179 = {4,6,-1,-4,8,ch179data};
-
-/* char: 0xb2 */
-
-static const GLubyte ch178data[] = {
-0xf0,0x80,0x60,0x10,0x90,0x60,
-};
-
-static const BitmapCharRec ch178 = {4,6,-1,-4,8,ch178data};
-
-/* char: 0xb1 */
-
-static const GLubyte ch177data[] = {
-0xf8,0x0,0x20,0x20,0xf8,0x20,0x20,
-};
-
-static const BitmapCharRec ch177 = {5,7,-1,-1,8,ch177data};
-
-/* char: 0xb0 */
-
-static const GLubyte ch176data[] = {
-0x60,0x90,0x90,0x60,
-};
-
-static const BitmapCharRec ch176 = {4,4,-2,-5,8,ch176data};
-
-/* char: 0xaf */
-
-static const GLubyte ch175data[] = {
-0xfc,
-};
-
-static const BitmapCharRec ch175 = {6,1,-1,-8,8,ch175data};
-
-/* char: 0xae */
-
-static const GLubyte ch174data[] = {
-0x38,0x44,0xaa,0xb2,0xaa,0xaa,0x92,0x44,0x38,
-};
-
-static const BitmapCharRec ch174 = {7,9,0,-1,8,ch174data};
-
-/* char: 0xad */
-
-static const GLubyte ch173data[] = {
-0xfc,
-};
-
-static const BitmapCharRec ch173 = {6,1,-1,-4,8,ch173data};
-
-/* char: 0xac */
-
-static const GLubyte ch172data[] = {
-0x4,0x4,0x4,0xfc,
-};
-
-static const BitmapCharRec ch172 = {6,4,-1,-1,8,ch172data};
-
-/* char: 0xab */
-
-static const GLubyte ch171data[] = {
-0x12,0x24,0x48,0x90,0x48,0x24,0x12,
-};
-
-static const BitmapCharRec ch171 = {7,7,0,-1,8,ch171data};
-
-/* char: 0xaa */
-
-static const GLubyte ch170data[] = {
-0xf8,0x0,0x78,0x88,0x78,0x8,0x70,
-};
-
-static const BitmapCharRec ch170 = {5,7,-1,-2,8,ch170data};
-
-/* char: 0xa9 */
-
-static const GLubyte ch169data[] = {
-0x38,0x44,0x92,0xaa,0xa2,0xaa,0x92,0x44,0x38,
-};
-
-static const BitmapCharRec ch169 = {7,9,0,-1,8,ch169data};
-
-/* char: 0xa8 */
-
-static const GLubyte ch168data[] = {
-0xd8,
-};
-
-static const BitmapCharRec ch168 = {5,1,-1,-8,8,ch168data};
-
-/* char: 0xa7 */
-
-static const GLubyte ch167data[] = {
-0x60,0x90,0x10,0x60,0x90,0x90,0x60,0x80,0x90,0x60,
-};
-
-static const BitmapCharRec ch167 = {4,10,-2,0,8,ch167data};
-
-/* char: 0xa6 */
-
-static const GLubyte ch166data[] = {
-0x80,0x80,0x80,0x80,0x0,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch166 = {1,9,-3,0,8,ch166data};
-
-/* char: 0xa5 */
-
-static const GLubyte ch165data[] = {
-0x10,0x10,0x7c,0x10,0x7c,0x28,0x44,0x82,0x82,
-};
-
-static const BitmapCharRec ch165 = {7,9,0,0,8,ch165data};
-
-/* char: 0xa4 */
-
-static const GLubyte ch164data[] = {
-0x84,0x78,0x48,0x48,0x78,0x84,
-};
-
-static const BitmapCharRec ch164 = {6,6,-1,-1,8,ch164data};
-
-/* char: 0xa3 */
-
-static const GLubyte ch163data[] = {
-0xdc,0x62,0x20,0x20,0x20,0x70,0x20,0x22,0x1c,
-};
-
-static const BitmapCharRec ch163 = {7,9,0,0,8,ch163data};
-
-/* char: 0xa2 */
-
-static const GLubyte ch162data[] = {
-0x20,0x70,0xa8,0xa0,0xa0,0xa8,0x70,0x20,
-};
-
-static const BitmapCharRec ch162 = {5,8,-1,-1,8,ch162data};
-
-/* char: 0xa1 */
-
-static const GLubyte ch161data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,
-};
-
-static const BitmapCharRec ch161 = {1,9,-3,0,8,ch161data};
-
-/* char: 0x7e '~' */
-
-static const GLubyte ch126data[] = {
-0x90,0xa8,0x48,
-};
-
-static const BitmapCharRec ch126 = {5,3,-1,-6,8,ch126data};
-
-/* char: 0x7d '}' */
-
-static const GLubyte ch125data[] = {
-0xe0,0x10,0x10,0x20,0x18,0x20,0x10,0x10,0xe0,
-};
-
-static const BitmapCharRec ch125 = {5,9,-1,0,8,ch125data};
-
-/* char: 0x7c '|' */
-
-static const GLubyte ch124data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch124 = {1,9,-3,0,8,ch124data};
-
-/* char: 0x7b '{' */
-
-static const GLubyte ch123data[] = {
-0x38,0x40,0x40,0x20,0xc0,0x20,0x40,0x40,0x38,
-};
-
-static const BitmapCharRec ch123 = {5,9,-2,0,8,ch123data};
-
-/* char: 0x7a 'z' */
-
-static const GLubyte ch122data[] = {
-0xfc,0x40,0x20,0x10,0x8,0xfc,
-};
-
-static const BitmapCharRec ch122 = {6,6,-1,0,8,ch122data};
-
-/* char: 0x79 'y' */
-
-static const GLubyte ch121data[] = {
-0x78,0x84,0x4,0x74,0x8c,0x84,0x84,0x84,
-};
-
-static const BitmapCharRec ch121 = {6,8,-1,2,8,ch121data};
-
-/* char: 0x78 'x' */
-
-static const GLubyte ch120data[] = {
-0x84,0x48,0x30,0x30,0x48,0x84,
-};
-
-static const BitmapCharRec ch120 = {6,6,-1,0,8,ch120data};
-
-/* char: 0x77 'w' */
-
-static const GLubyte ch119data[] = {
-0x44,0xaa,0x92,0x92,0x82,0x82,
-};
-
-static const BitmapCharRec ch119 = {7,6,0,0,8,ch119data};
-
-/* char: 0x76 'v' */
-
-static const GLubyte ch118data[] = {
-0x20,0x50,0x50,0x88,0x88,0x88,
-};
-
-static const BitmapCharRec ch118 = {5,6,-1,0,8,ch118data};
-
-/* char: 0x75 'u' */
-
-static const GLubyte ch117data[] = {
-0x74,0x88,0x88,0x88,0x88,0x88,
-};
-
-static const BitmapCharRec ch117 = {6,6,-1,0,8,ch117data};
-
-/* char: 0x74 't' */
-
-static const GLubyte ch116data[] = {
-0x38,0x44,0x40,0x40,0x40,0xf8,0x40,0x40,
-};
-
-static const BitmapCharRec ch116 = {6,8,-1,0,8,ch116data};
-
-/* char: 0x73 's' */
-
-static const GLubyte ch115data[] = {
-0x78,0x84,0x18,0x60,0x84,0x78,
-};
-
-static const BitmapCharRec ch115 = {6,6,-1,0,8,ch115data};
-
-/* char: 0x72 'r' */
-
-static const GLubyte ch114data[] = {
-0x40,0x40,0x40,0x40,0x44,0xb8,
-};
-
-static const BitmapCharRec ch114 = {6,6,-1,0,8,ch114data};
-
-/* char: 0x71 'q' */
-
-static const GLubyte ch113data[] = {
-0x4,0x4,0x4,0x74,0x8c,0x84,0x8c,0x74,
-};
-
-static const BitmapCharRec ch113 = {6,8,-1,2,8,ch113data};
-
-/* char: 0x70 'p' */
-
-static const GLubyte ch112data[] = {
-0x80,0x80,0x80,0xb8,0xc4,0x84,0xc4,0xb8,
-};
-
-static const BitmapCharRec ch112 = {6,8,-1,2,8,ch112data};
-
-/* char: 0x6f 'o' */
-
-static const GLubyte ch111data[] = {
-0x78,0x84,0x84,0x84,0x84,0x78,
-};
-
-static const BitmapCharRec ch111 = {6,6,-1,0,8,ch111data};
-
-/* char: 0x6e 'n' */
-
-static const GLubyte ch110data[] = {
-0x84,0x84,0x84,0x84,0xc4,0xb8,
-};
-
-static const BitmapCharRec ch110 = {6,6,-1,0,8,ch110data};
-
-/* char: 0x6d 'm' */
-
-static const GLubyte ch109data[] = {
-0x82,0x92,0x92,0x92,0x92,0xec,
-};
-
-static const BitmapCharRec ch109 = {7,6,0,0,8,ch109data};
-
-/* char: 0x6c 'l' */
-
-static const GLubyte ch108data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x60,
-};
-
-static const BitmapCharRec ch108 = {5,9,-1,0,8,ch108data};
-
-/* char: 0x6b 'k' */
-
-static const GLubyte ch107data[] = {
-0x84,0x88,0x90,0xe0,0x90,0x88,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch107 = {6,9,-1,0,8,ch107data};
-
-/* char: 0x6a 'j' */
-
-static const GLubyte ch106data[] = {
-0x70,0x88,0x88,0x8,0x8,0x8,0x8,0x18,0x0,0x8,
-};
-
-static const BitmapCharRec ch106 = {5,10,-1,2,8,ch106data};
-
-/* char: 0x69 'i' */
-
-static const GLubyte ch105data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x60,0x0,0x20,
-};
-
-static const BitmapCharRec ch105 = {5,8,-1,0,8,ch105data};
-
-/* char: 0x68 'h' */
-
-static const GLubyte ch104data[] = {
-0x84,0x84,0x84,0x84,0xc4,0xb8,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch104 = {6,9,-1,0,8,ch104data};
-
-/* char: 0x67 'g' */
-
-static const GLubyte ch103data[] = {
-0x78,0x84,0x78,0x80,0x70,0x88,0x88,0x74,
-};
-
-static const BitmapCharRec ch103 = {6,8,-1,2,8,ch103data};
-
-/* char: 0x66 'f' */
-
-static const GLubyte ch102data[] = {
-0x40,0x40,0x40,0x40,0xf8,0x40,0x40,0x44,0x38,
-};
-
-static const BitmapCharRec ch102 = {6,9,-1,0,8,ch102data};
-
-/* char: 0x65 'e' */
-
-static const GLubyte ch101data[] = {
-0x78,0x84,0x80,0xfc,0x84,0x78,
-};
-
-static const BitmapCharRec ch101 = {6,6,-1,0,8,ch101data};
-
-/* char: 0x64 'd' */
-
-static const GLubyte ch100data[] = {
-0x74,0x8c,0x84,0x84,0x8c,0x74,0x4,0x4,0x4,
-};
-
-static const BitmapCharRec ch100 = {6,9,-1,0,8,ch100data};
-
-/* char: 0x63 'c' */
-
-static const GLubyte ch99data[] = {
-0x78,0x84,0x80,0x80,0x84,0x78,
-};
-
-static const BitmapCharRec ch99 = {6,6,-1,0,8,ch99data};
-
-/* char: 0x62 'b' */
-
-static const GLubyte ch98data[] = {
-0xb8,0xc4,0x84,0x84,0xc4,0xb8,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch98 = {6,9,-1,0,8,ch98data};
-
-/* char: 0x61 'a' */
-
-static const GLubyte ch97data[] = {
-0x74,0x8c,0x84,0x7c,0x4,0x78,
-};
-
-static const BitmapCharRec ch97 = {6,6,-1,0,8,ch97data};
-
-/* char: 0x60 '`' */
-
-static const GLubyte ch96data[] = {
-0x10,0x60,0xe0,
-};
-
-static const BitmapCharRec ch96 = {4,3,-2,-6,8,ch96data};
-
-/* char: 0x5f '_' */
-
-static const GLubyte ch95data[] = {
-0xfe,
-};
-
-static const BitmapCharRec ch95 = {7,1,0,1,8,ch95data};
-
-/* char: 0x5e '^' */
-
-static const GLubyte ch94data[] = {
-0x88,0x50,0x20,
-};
-
-static const BitmapCharRec ch94 = {5,3,-1,-6,8,ch94data};
-
-/* char: 0x5d ']' */
-
-static const GLubyte ch93data[] = {
-0xf0,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0xf0,
-};
-
-static const BitmapCharRec ch93 = {4,9,-1,0,8,ch93data};
-
-/* char: 0x5c '\' */
-
-static const GLubyte ch92data[] = {
-0x2,0x2,0x4,0x8,0x10,0x20,0x40,0x80,0x80,
-};
-
-static const BitmapCharRec ch92 = {7,9,0,0,8,ch92data};
-
-/* char: 0x5b '[' */
-
-static const GLubyte ch91data[] = {
-0xf0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xf0,
-};
-
-static const BitmapCharRec ch91 = {4,9,-2,0,8,ch91data};
-
-/* char: 0x5a 'Z' */
-
-static const GLubyte ch90data[] = {
-0xfc,0x80,0x80,0x40,0x20,0x10,0x8,0x4,0xfc,
-};
-
-static const BitmapCharRec ch90 = {6,9,-1,0,8,ch90data};
-
-/* char: 0x59 'Y' */
-
-static const GLubyte ch89data[] = {
-0x10,0x10,0x10,0x10,0x10,0x28,0x44,0x82,0x82,
-};
-
-static const BitmapCharRec ch89 = {7,9,0,0,8,ch89data};
-
-/* char: 0x58 'X' */
-
-static const GLubyte ch88data[] = {
-0x82,0x82,0x44,0x28,0x10,0x28,0x44,0x82,0x82,
-};
-
-static const BitmapCharRec ch88 = {7,9,0,0,8,ch88data};
-
-/* char: 0x57 'W' */
-
-static const GLubyte ch87data[] = {
-0x44,0xaa,0x92,0x92,0x92,0x82,0x82,0x82,0x82,
-};
-
-static const BitmapCharRec ch87 = {7,9,0,0,8,ch87data};
-
-/* char: 0x56 'V' */
-
-static const GLubyte ch86data[] = {
-0x10,0x28,0x28,0x28,0x44,0x44,0x44,0x82,0x82,
-};
-
-static const BitmapCharRec ch86 = {7,9,0,0,8,ch86data};
-
-/* char: 0x55 'U' */
-
-static const GLubyte ch85data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
-};
-
-static const BitmapCharRec ch85 = {6,9,-1,0,8,ch85data};
-
-/* char: 0x54 'T' */
-
-static const GLubyte ch84data[] = {
-0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0xfe,
-};
-
-static const BitmapCharRec ch84 = {7,9,0,0,8,ch84data};
-
-/* char: 0x53 'S' */
-
-static const GLubyte ch83data[] = {
-0x78,0x84,0x4,0x4,0x78,0x80,0x80,0x84,0x78,
-};
-
-static const BitmapCharRec ch83 = {6,9,-1,0,8,ch83data};
-
-/* char: 0x52 'R' */
-
-static const GLubyte ch82data[] = {
-0x84,0x88,0x90,0xa0,0xf8,0x84,0x84,0x84,0xf8,
-};
-
-static const BitmapCharRec ch82 = {6,9,-1,0,8,ch82data};
-
-/* char: 0x51 'Q' */
-
-static const GLubyte ch81data[] = {
-0x4,0x78,0x94,0xa4,0x84,0x84,0x84,0x84,0x84,0x78,
-};
-
-static const BitmapCharRec ch81 = {6,10,-1,1,8,ch81data};
-
-/* char: 0x50 'P' */
-
-static const GLubyte ch80data[] = {
-0x80,0x80,0x80,0x80,0xf8,0x84,0x84,0x84,0xf8,
-};
-
-static const BitmapCharRec ch80 = {6,9,-1,0,8,ch80data};
-
-/* char: 0x4f 'O' */
-
-static const GLubyte ch79data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x78,
-};
-
-static const BitmapCharRec ch79 = {6,9,-1,0,8,ch79data};
-
-/* char: 0x4e 'N' */
-
-static const GLubyte ch78data[] = {
-0x84,0x84,0x84,0x8c,0x94,0xa4,0xc4,0x84,0x84,
-};
-
-static const BitmapCharRec ch78 = {6,9,-1,0,8,ch78data};
-
-/* char: 0x4d 'M' */
-
-static const GLubyte ch77data[] = {
-0x82,0x82,0x82,0x92,0x92,0xaa,0xc6,0x82,0x82,
-};
-
-static const BitmapCharRec ch77 = {7,9,0,0,8,ch77data};
-
-/* char: 0x4c 'L' */
-
-static const GLubyte ch76data[] = {
-0xfc,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch76 = {6,9,-1,0,8,ch76data};
-
-/* char: 0x4b 'K' */
-
-static const GLubyte ch75data[] = {
-0x84,0x88,0x90,0xa0,0xc0,0xa0,0x90,0x88,0x84,
-};
-
-static const BitmapCharRec ch75 = {6,9,-1,0,8,ch75data};
-
-/* char: 0x4a 'J' */
-
-static const GLubyte ch74data[] = {
-0x70,0x88,0x8,0x8,0x8,0x8,0x8,0x8,0x3c,
-};
-
-static const BitmapCharRec ch74 = {6,9,-1,0,8,ch74data};
-
-/* char: 0x49 'I' */
-
-static const GLubyte ch73data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xf8,
-};
-
-static const BitmapCharRec ch73 = {5,9,-1,0,8,ch73data};
-
-/* char: 0x48 'H' */
-
-static const GLubyte ch72data[] = {
-0x84,0x84,0x84,0x84,0xfc,0x84,0x84,0x84,0x84,
-};
-
-static const BitmapCharRec ch72 = {6,9,-1,0,8,ch72data};
-
-/* char: 0x47 'G' */
-
-static const GLubyte ch71data[] = {
-0x74,0x8c,0x84,0x9c,0x80,0x80,0x80,0x84,0x78,
-};
-
-static const BitmapCharRec ch71 = {6,9,-1,0,8,ch71data};
-
-/* char: 0x46 'F' */
-
-static const GLubyte ch70data[] = {
-0x80,0x80,0x80,0x80,0xf0,0x80,0x80,0x80,0xfc,
-};
-
-static const BitmapCharRec ch70 = {6,9,-1,0,8,ch70data};
-
-/* char: 0x45 'E' */
-
-static const GLubyte ch69data[] = {
-0xfc,0x80,0x80,0x80,0xf0,0x80,0x80,0x80,0xfc,
-};
-
-static const BitmapCharRec ch69 = {6,9,-1,0,8,ch69data};
-
-/* char: 0x44 'D' */
-
-static const GLubyte ch68data[] = {
-0xfc,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0xfc,
-};
-
-static const BitmapCharRec ch68 = {7,9,0,0,8,ch68data};
-
-/* char: 0x43 'C' */
-
-static const GLubyte ch67data[] = {
-0x78,0x84,0x80,0x80,0x80,0x80,0x80,0x84,0x78,
-};
-
-static const BitmapCharRec ch67 = {6,9,-1,0,8,ch67data};
-
-/* char: 0x42 'B' */
-
-static const GLubyte ch66data[] = {
-0xfc,0x42,0x42,0x42,0x7c,0x42,0x42,0x42,0xfc,
-};
-
-static const BitmapCharRec ch66 = {7,9,0,0,8,ch66data};
-
-/* char: 0x41 'A' */
-
-static const GLubyte ch65data[] = {
-0x84,0x84,0x84,0xfc,0x84,0x84,0x84,0x48,0x30,
-};
-
-static const BitmapCharRec ch65 = {6,9,-1,0,8,ch65data};
-
-/* char: 0x40 '@' */
-
-static const GLubyte ch64data[] = {
-0x78,0x80,0x94,0xac,0xa4,0x9c,0x84,0x84,0x78,
-};
-
-static const BitmapCharRec ch64 = {6,9,-1,0,8,ch64data};
-
-/* char: 0x3f '?' */
-
-static const GLubyte ch63data[] = {
-0x10,0x0,0x10,0x10,0x8,0x4,0x84,0x84,0x78,
-};
-
-static const BitmapCharRec ch63 = {6,9,-1,0,8,ch63data};
-
-/* char: 0x3e '>' */
-
-static const GLubyte ch62data[] = {
-0x80,0x40,0x20,0x10,0x8,0x10,0x20,0x40,0x80,
-};
-
-static const BitmapCharRec ch62 = {5,9,-1,0,8,ch62data};
-
-/* char: 0x3d '=' */
-
-static const GLubyte ch61data[] = {
-0xfc,0x0,0x0,0xfc,
-};
-
-static const BitmapCharRec ch61 = {6,4,-1,-2,8,ch61data};
-
-/* char: 0x3c '<' */
-
-static const GLubyte ch60data[] = {
-0x8,0x10,0x20,0x40,0x80,0x40,0x20,0x10,0x8,
-};
-
-static const BitmapCharRec ch60 = {5,9,-2,0,8,ch60data};
-
-/* char: 0x3b ';' */
-
-static const GLubyte ch59data[] = {
-0x80,0x60,0x70,0x0,0x0,0x20,0x70,0x20,
-};
-
-static const BitmapCharRec ch59 = {4,8,-1,1,8,ch59data};
-
-/* char: 0x3a ':' */
-
-static const GLubyte ch58data[] = {
-0x40,0xe0,0x40,0x0,0x0,0x40,0xe0,0x40,
-};
-
-static const BitmapCharRec ch58 = {3,8,-2,1,8,ch58data};
-
-/* char: 0x39 '9' */
-
-static const GLubyte ch57data[] = {
-0x70,0x8,0x4,0x4,0x74,0x8c,0x84,0x84,0x78,
-};
-
-static const BitmapCharRec ch57 = {6,9,-1,0,8,ch57data};
-
-/* char: 0x38 '8' */
-
-static const GLubyte ch56data[] = {
-0x78,0x84,0x84,0x84,0x78,0x84,0x84,0x84,0x78,
-};
-
-static const BitmapCharRec ch56 = {6,9,-1,0,8,ch56data};
-
-/* char: 0x37 '7' */
-
-static const GLubyte ch55data[] = {
-0x40,0x40,0x20,0x20,0x10,0x10,0x8,0x4,0xfc,
-};
-
-static const BitmapCharRec ch55 = {6,9,-1,0,8,ch55data};
-
-/* char: 0x36 '6' */
-
-static const GLubyte ch54data[] = {
-0x78,0x84,0x84,0xc4,0xb8,0x80,0x80,0x40,0x38,
-};
-
-static const BitmapCharRec ch54 = {6,9,-1,0,8,ch54data};
-
-/* char: 0x35 '5' */
-
-static const GLubyte ch53data[] = {
-0x78,0x84,0x4,0x4,0xc4,0xb8,0x80,0x80,0xfc,
-};
-
-static const BitmapCharRec ch53 = {6,9,-1,0,8,ch53data};
-
-/* char: 0x34 '4' */
-
-static const GLubyte ch52data[] = {
-0x8,0x8,0xfc,0x88,0x88,0x48,0x28,0x18,0x8,
-};
-
-static const BitmapCharRec ch52 = {6,9,-1,0,8,ch52data};
-
-/* char: 0x33 '3' */
-
-static const GLubyte ch51data[] = {
-0x78,0x84,0x4,0x4,0x38,0x10,0x8,0x4,0xfc,
-};
-
-static const BitmapCharRec ch51 = {6,9,-1,0,8,ch51data};
-
-/* char: 0x32 '2' */
-
-static const GLubyte ch50data[] = {
-0xfc,0x80,0x40,0x30,0x8,0x4,0x84,0x84,0x78,
-};
-
-static const BitmapCharRec ch50 = {6,9,-1,0,8,ch50data};
-
-/* char: 0x31 '1' */
-
-static const GLubyte ch49data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0xa0,0x60,0x20,
-};
-
-static const BitmapCharRec ch49 = {5,9,-1,0,8,ch49data};
-
-/* char: 0x30 '0' */
-
-static const GLubyte ch48data[] = {
-0x30,0x48,0x84,0x84,0x84,0x84,0x84,0x48,0x30,
-};
-
-static const BitmapCharRec ch48 = {6,9,-1,0,8,ch48data};
-
-/* char: 0x2f '/' */
-
-static const GLubyte ch47data[] = {
-0x80,0x80,0x40,0x20,0x10,0x8,0x4,0x2,0x2,
-};
-
-static const BitmapCharRec ch47 = {7,9,0,0,8,ch47data};
-
-/* char: 0x2e '.' */
-
-static const GLubyte ch46data[] = {
-0x40,0xe0,0x40,
-};
-
-static const BitmapCharRec ch46 = {3,3,-2,1,8,ch46data};
-
-/* char: 0x2d '-' */
-
-static const GLubyte ch45data[] = {
-0xfc,
-};
-
-static const BitmapCharRec ch45 = {6,1,-1,-4,8,ch45data};
-
-/* char: 0x2c ',' */
-
-static const GLubyte ch44data[] = {
-0x80,0x60,0x70,
-};
-
-static const BitmapCharRec ch44 = {4,3,-1,1,8,ch44data};
-
-/* char: 0x2b '+' */
-
-static const GLubyte ch43data[] = {
-0x20,0x20,0xf8,0x20,0x20,
-};
-
-static const BitmapCharRec ch43 = {5,5,-1,-2,8,ch43data};
-
-/* char: 0x2a '*' */
-
-static const GLubyte ch42data[] = {
-0x48,0x30,0xfc,0x30,0x48,
-};
-
-static const BitmapCharRec ch42 = {6,5,-1,-2,8,ch42data};
-
-/* char: 0x29 ')' */
-
-static const GLubyte ch41data[] = {
-0x80,0x40,0x40,0x20,0x20,0x20,0x40,0x40,0x80,
-};
-
-static const BitmapCharRec ch41 = {3,9,-2,0,8,ch41data};
-
-/* char: 0x28 '(' */
-
-static const GLubyte ch40data[] = {
-0x20,0x40,0x40,0x80,0x80,0x80,0x40,0x40,0x20,
-};
-
-static const BitmapCharRec ch40 = {3,9,-3,0,8,ch40data};
-
-/* char: 0x27 ''' */
-
-static const GLubyte ch39data[] = {
-0x80,0x60,0x70,
-};
-
-static const BitmapCharRec ch39 = {4,3,-1,-6,8,ch39data};
-
-/* char: 0x26 '&' */
-
-static const GLubyte ch38data[] = {
-0x74,0x88,0x94,0x60,0x90,0x90,0x60,
-};
-
-static const BitmapCharRec ch38 = {6,7,-1,0,8,ch38data};
-
-/* char: 0x25 '%' */
-
-static const GLubyte ch37data[] = {
-0x88,0x54,0x48,0x20,0x10,0x10,0x48,0xa4,0x44,
-};
-
-static const BitmapCharRec ch37 = {6,9,-1,0,8,ch37data};
-
-/* char: 0x24 '$' */
-
-static const GLubyte ch36data[] = {
-0x20,0xf0,0x28,0x70,0xa0,0x78,0x20,
-};
-
-static const BitmapCharRec ch36 = {5,7,-1,-1,8,ch36data};
-
-/* char: 0x23 '#' */
-
-static const GLubyte ch35data[] = {
-0x48,0x48,0xfc,0x48,0xfc,0x48,0x48,
-};
-
-static const BitmapCharRec ch35 = {6,7,-1,-1,8,ch35data};
-
-/* char: 0x22 '"' */
-
-static const GLubyte ch34data[] = {
-0x90,0x90,0x90,
-};
-
-static const BitmapCharRec ch34 = {4,3,-2,-6,8,ch34data};
-
-/* char: 0x21 '!' */
-
-static const GLubyte ch33data[] = {
-0x80,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch33 = {1,9,-3,0,8,ch33data};
-
-/* char: 0x1f */
-
-static const GLubyte ch31data[] = {
-0x80,
-};
-
-static const BitmapCharRec ch31 = {1,1,-3,-3,8,ch31data};
-
-/* char: 0x1e */
-
-static const GLubyte ch30data[] = {
-0xdc,0x62,0x20,0x20,0x20,0x70,0x20,0x22,0x1c,
-};
-
-static const BitmapCharRec ch30 = {7,9,0,0,8,ch30data};
-
-/* char: 0x1d */
-
-static const GLubyte ch29data[] = {
-0x80,0x40,0xfe,0x10,0xfe,0x4,0x2,
-};
-
-static const BitmapCharRec ch29 = {7,7,0,0,8,ch29data};
-
-/* char: 0x1c */
-
-static const GLubyte ch28data[] = {
-0x88,0x48,0x48,0x48,0x48,0xfc,
-};
-
-static const BitmapCharRec ch28 = {6,6,-1,0,8,ch28data};
-
-/* char: 0x1b */
-
-static const GLubyte ch27data[] = {
-0xfe,0x80,0x20,0x8,0x2,0x8,0x20,0x80,
-};
-
-static const BitmapCharRec ch27 = {7,8,0,0,8,ch27data};
-
-/* char: 0x1a */
-
-static const GLubyte ch26data[] = {
-0xfe,0x2,0x8,0x20,0x80,0x20,0x8,0x2,
-};
-
-static const BitmapCharRec ch26 = {7,8,0,0,8,ch26data};
-
-/* char: 0x19 */
-
-static const GLubyte ch25data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch25 = {1,13,-3,2,8,ch25data};
-
-/* char: 0x18 */
-
-static const GLubyte ch24data[] = {
-0x10,0x10,0x10,0x10,0x10,0xff,
-};
-
-static const BitmapCharRec ch24 = {8,6,0,2,8,ch24data};
-
-/* char: 0x17 */
-
-static const GLubyte ch23data[] = {
-0xff,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
-};
-
-static const BitmapCharRec ch23 = {8,8,0,-3,8,ch23data};
-
-/* char: 0x16 */
-
-static const GLubyte ch22data[] = {
-0x10,0x10,0x10,0x10,0x10,0xf0,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
-};
-
-static const BitmapCharRec ch22 = {4,13,0,2,8,ch22data};
-
-/* char: 0x15 */
-
-static const GLubyte ch21data[] = {
-0x80,0x80,0x80,0x80,0x80,0xf8,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch21 = {5,13,-3,2,8,ch21data};
-
-/* char: 0x14 */
-
-static const GLubyte ch20data[] = {
-0xff,
-};
-
-static const BitmapCharRec ch20 = {8,1,0,1,8,ch20data};
-
-/* char: 0x13 */
-
-static const GLubyte ch19data[] = {
-0xff,
-};
-
-static const BitmapCharRec ch19 = {8,1,0,-1,8,ch19data};
-
-/* char: 0x12 */
-
-static const GLubyte ch18data[] = {
-0xff,
-};
-
-static const BitmapCharRec ch18 = {8,1,0,-3,8,ch18data};
-
-/* char: 0x11 */
-
-static const GLubyte ch17data[] = {
-0xff,
-};
-
-static const BitmapCharRec ch17 = {8,1,0,-5,8,ch17data};
-
-/* char: 0x10 */
-
-static const GLubyte ch16data[] = {
-0xff,
-};
-
-static const BitmapCharRec ch16 = {8,1,0,-7,8,ch16data};
-
-/* char: 0xf */
-
-static const GLubyte ch15data[] = {
-0x10,0x10,0x10,0x10,0x10,0xff,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
-};
-
-static const BitmapCharRec ch15 = {8,13,0,2,8,ch15data};
-
-/* char: 0xe */
-
-static const GLubyte ch14data[] = {
-0xf8,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch14 = {5,8,-3,-3,8,ch14data};
-
-/* char: 0xd */
-
-static const GLubyte ch13data[] = {
-0x80,0x80,0x80,0x80,0x80,0xf8,
-};
-
-static const BitmapCharRec ch13 = {5,6,-3,2,8,ch13data};
-
-/* char: 0xc */
-
-static const GLubyte ch12data[] = {
-0x10,0x10,0x10,0x10,0x10,0xf0,
-};
-
-static const BitmapCharRec ch12 = {4,6,0,2,8,ch12data};
-
-/* char: 0xb */
-
-static const GLubyte ch11data[] = {
-0xf0,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
-};
-
-static const BitmapCharRec ch11 = {4,8,0,-3,8,ch11data};
-
-/* char: 0xa */
-
-static const GLubyte ch10data[] = {
-0x8,0x8,0x8,0x8,0x3e,0x20,0x50,0x88,0x88,
-};
-
-static const BitmapCharRec ch10 = {7,9,0,2,8,ch10data};
-
-/* char: 0x9 */
-
-static const GLubyte ch9data[] = {
-0x3e,0x20,0x20,0x20,0x88,0x98,0xa8,0xc8,0x88,
-};
-
-static const BitmapCharRec ch9 = {7,9,0,2,8,ch9data};
-
-/* char: 0x8 */
-
-static const GLubyte ch8data[] = {
-0xfe,0x10,0x10,0xfe,0x10,0x10,
-};
-
-static const BitmapCharRec ch8 = {7,6,0,0,8,ch8data};
-
-/* char: 0x7 */
-
-static const GLubyte ch7data[] = {
-0x70,0x88,0x88,0x70,
-};
-
-static const BitmapCharRec ch7 = {5,4,-1,-5,8,ch7data};
-
-/* char: 0x6 */
-
-static const GLubyte ch6data[] = {
-0x20,0x20,0x3c,0x20,0x3e,0xf8,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch6 = {7,9,0,2,8,ch6data};
-
-/* char: 0x5 */
-
-static const GLubyte ch5data[] = {
-0x22,0x22,0x3c,0x22,0x3c,0x78,0x80,0x80,0x78,
-};
-
-static const BitmapCharRec ch5 = {7,9,0,2,8,ch5data};
-
-/* char: 0x4 */
-
-static const GLubyte ch4data[] = {
-0x10,0x10,0x1c,0x10,0x9e,0x80,0xe0,0x80,0xf0,
-};
-
-static const BitmapCharRec ch4 = {7,9,0,2,8,ch4data};
-
-/* char: 0x3 */
-
-static const GLubyte ch3data[] = {
-0x8,0x8,0x8,0x3e,0x88,0x88,0xf8,0x88,0x88,
-};
-
-static const BitmapCharRec ch3 = {7,9,0,2,8,ch3data};
-
-/* char: 0x2 */
-
-static const GLubyte ch2data[] = {
-0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,
-};
-
-static const BitmapCharRec ch2 = {8,12,0,2,8,ch2data};
-
-/* char: 0x1 */
-
-static const GLubyte ch1data[] = {
-0x10,0x38,0x7c,0xfe,0x7c,0x38,0x10,
-};
-
-static const BitmapCharRec ch1 = {7,7,0,-1,8,ch1data};
-
-static const BitmapCharRec * const chars[] = {
-&ch0,
-&ch1,
-&ch2,
-&ch3,
-&ch4,
-&ch5,
-&ch6,
-&ch7,
-&ch8,
-&ch9,
-&ch10,
-&ch11,
-&ch12,
-&ch13,
-&ch14,
-&ch15,
-&ch16,
-&ch17,
-&ch18,
-&ch19,
-&ch20,
-&ch21,
-&ch22,
-&ch23,
-&ch24,
-&ch25,
-&ch26,
-&ch27,
-&ch28,
-&ch29,
-&ch30,
-&ch31,
-&ch32,
-&ch33,
-&ch34,
-&ch35,
-&ch36,
-&ch37,
-&ch38,
-&ch39,
-&ch40,
-&ch41,
-&ch42,
-&ch43,
-&ch44,
-&ch45,
-&ch46,
-&ch47,
-&ch48,
-&ch49,
-&ch50,
-&ch51,
-&ch52,
-&ch53,
-&ch54,
-&ch55,
-&ch56,
-&ch57,
-&ch58,
-&ch59,
-&ch60,
-&ch61,
-&ch62,
-&ch63,
-&ch64,
-&ch65,
-&ch66,
-&ch67,
-&ch68,
-&ch69,
-&ch70,
-&ch71,
-&ch72,
-&ch73,
-&ch74,
-&ch75,
-&ch76,
-&ch77,
-&ch78,
-&ch79,
-&ch80,
-&ch81,
-&ch82,
-&ch83,
-&ch84,
-&ch85,
-&ch86,
-&ch87,
-&ch88,
-&ch89,
-&ch90,
-&ch91,
-&ch92,
-&ch93,
-&ch94,
-&ch95,
-&ch96,
-&ch97,
-&ch98,
-&ch99,
-&ch100,
-&ch101,
-&ch102,
-&ch103,
-&ch104,
-&ch105,
-&ch106,
-&ch107,
-&ch108,
-&ch109,
-&ch110,
-&ch111,
-&ch112,
-&ch113,
-&ch114,
-&ch115,
-&ch116,
-&ch117,
-&ch118,
-&ch119,
-&ch120,
-&ch121,
-&ch122,
-&ch123,
-&ch124,
-&ch125,
-&ch126,
-&ch127,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-&ch160,
-&ch161,
-&ch162,
-&ch163,
-&ch164,
-&ch165,
-&ch166,
-&ch167,
-&ch168,
-&ch169,
-&ch170,
-&ch171,
-&ch172,
-&ch173,
-&ch174,
-&ch175,
-&ch176,
-&ch177,
-&ch178,
-&ch179,
-&ch180,
-&ch181,
-&ch182,
-&ch183,
-&ch184,
-&ch185,
-&ch186,
-&ch187,
-&ch188,
-&ch189,
-&ch190,
-&ch191,
-&ch192,
-&ch193,
-&ch194,
-&ch195,
-&ch196,
-&ch197,
-&ch198,
-&ch199,
-&ch200,
-&ch201,
-&ch202,
-&ch203,
-&ch204,
-&ch205,
-&ch206,
-&ch207,
-&ch208,
-&ch209,
-&ch210,
-&ch211,
-&ch212,
-&ch213,
-&ch214,
-&ch215,
-&ch216,
-&ch217,
-&ch218,
-&ch219,
-&ch220,
-&ch221,
-&ch222,
-&ch223,
-&ch224,
-&ch225,
-&ch226,
-&ch227,
-&ch228,
-&ch229,
-&ch230,
-&ch231,
-&ch232,
-&ch233,
-&ch234,
-&ch235,
-&ch236,
-&ch237,
-&ch238,
-&ch239,
-&ch240,
-&ch241,
-&ch242,
-&ch243,
-&ch244,
-&ch245,
-&ch246,
-&ch247,
-&ch248,
-&ch249,
-&ch250,
-&ch251,
-&ch252,
-&ch253,
-&ch254,
-&ch255,
-};
-
-const BitmapFontRec glutBitmap8By13 = {
-"-misc-fixed-medium-r-normal--13-120-75-75-C-80-iso8859-1",
-256,
-0,
-chars
-};
-
diff --git a/src/glut/glx/glut_9x15.c b/src/glut/glx/glut_9x15.c
deleted file mode 100644
index 2d5c004e47..0000000000
--- a/src/glut/glx/glut_9x15.c
+++ /dev/null
@@ -1,2075 +0,0 @@
-
-/* GENERATED FILE -- DO NOT MODIFY */
-
-#define glutBitmap9By15 XXX
-#include "glutbitmap.h"
-#undef glutBitmap9By15
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch0data[] = { 0x0 };
-static const BitmapCharRec ch0 = {1,1,0,0,9,ch0data};
-#else
-static const BitmapCharRec ch0 = {0,0,0,0,9,0};
-#endif
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch32data[] = { 0x0 };
-static const BitmapCharRec ch32 = {1,1,0,0,9,ch32data};
-#else
-static const BitmapCharRec ch32 = {0,0,0,0,9,0};
-#endif
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch127data[] = { 0x0 };
-static const BitmapCharRec ch127 = {1,1,0,0,9,ch127data};
-#else
-static const BitmapCharRec ch127 = {0,0,0,0,9,0};
-#endif
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch160data[] = { 0x0 };
-static const BitmapCharRec ch160 = {1,1,0,0,9,ch160data};
-#else
-static const BitmapCharRec ch160 = {0,0,0,0,9,0};
-#endif
-
-/* char: 0xff */
-
-static const GLubyte ch255data[] = {
-0x78,0x84,0x4,0x74,0x8c,0x84,0x84,0x84,0x84,0x84,0x0,0x0,0x28,0x28,
-};
-
-static const BitmapCharRec ch255 = {6,14,-1,3,9,ch255data};
-
-/* char: 0xfe */
-
-static const GLubyte ch254data[] = {
-0x80,0x80,0x80,0xbc,0xc2,0x82,0x82,0x82,0xc2,0xbc,0x80,0x80,
-};
-
-static const BitmapCharRec ch254 = {7,12,-1,3,9,ch254data};
-
-/* char: 0xfd */
-
-static const GLubyte ch253data[] = {
-0x78,0x84,0x4,0x74,0x8c,0x84,0x84,0x84,0x84,0x84,0x0,0x0,0x30,0x8,
-};
-
-static const BitmapCharRec ch253 = {6,14,-1,3,9,ch253data};
-
-/* char: 0xfc */
-
-static const GLubyte ch252data[] = {
-0x7a,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x0,0x28,0x28,
-};
-
-static const BitmapCharRec ch252 = {7,11,-1,0,9,ch252data};
-
-/* char: 0xfb */
-
-static const GLubyte ch251data[] = {
-0x7a,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x0,0x44,0x38,
-};
-
-static const BitmapCharRec ch251 = {7,11,-1,0,9,ch251data};
-
-/* char: 0xfa */
-
-static const GLubyte ch250data[] = {
-0x7a,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x0,0x30,0x8,
-};
-
-static const BitmapCharRec ch250 = {7,11,-1,0,9,ch250data};
-
-/* char: 0xf9 */
-
-static const GLubyte ch249data[] = {
-0x7a,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x0,0x18,0x20,
-};
-
-static const BitmapCharRec ch249 = {7,11,-1,0,9,ch249data};
-
-/* char: 0xf8 */
-
-static const GLubyte ch248data[] = {
-0x80,0x7c,0xa2,0xa2,0x92,0x8a,0x8a,0x7c,0x2,
-};
-
-static const BitmapCharRec ch248 = {7,9,-1,1,9,ch248data};
-
-/* char: 0xf7 */
-
-static const GLubyte ch247data[] = {
-0x10,0x38,0x10,0x0,0xfe,0x0,0x10,0x38,0x10,
-};
-
-static const BitmapCharRec ch247 = {7,9,-1,0,9,ch247data};
-
-/* char: 0xf6 */
-
-static const GLubyte ch246data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x0,0x28,0x28,
-};
-
-static const BitmapCharRec ch246 = {7,11,-1,0,9,ch246data};
-
-/* char: 0xf5 */
-
-static const GLubyte ch245data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch245 = {7,11,-1,0,9,ch245data};
-
-/* char: 0xf4 */
-
-static const GLubyte ch244data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x0,0x44,0x38,
-};
-
-static const BitmapCharRec ch244 = {7,11,-1,0,9,ch244data};
-
-/* char: 0xf3 */
-
-static const GLubyte ch243data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x0,0x30,0x8,
-};
-
-static const BitmapCharRec ch243 = {7,11,-1,0,9,ch243data};
-
-/* char: 0xf2 */
-
-static const GLubyte ch242data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x0,0x18,0x20,
-};
-
-static const BitmapCharRec ch242 = {7,11,-1,0,9,ch242data};
-
-/* char: 0xf1 */
-
-static const GLubyte ch241data[] = {
-0x82,0x82,0x82,0x82,0x82,0xc2,0xbc,0x0,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch241 = {7,11,-1,0,9,ch241data};
-
-/* char: 0xf0 */
-
-static const GLubyte ch240data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x8,0x50,0x30,0x48,
-};
-
-static const BitmapCharRec ch240 = {7,11,-1,0,9,ch240data};
-
-/* char: 0xef */
-
-static const GLubyte ch239data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0xe0,0x0,0x0,0x50,0x50,
-};
-
-static const BitmapCharRec ch239 = {5,11,-2,0,9,ch239data};
-
-/* char: 0xee */
-
-static const GLubyte ch238data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0xe0,0x0,0x0,0x90,0x60,
-};
-
-static const BitmapCharRec ch238 = {5,11,-2,0,9,ch238data};
-
-/* char: 0xed */
-
-static const GLubyte ch237data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0xe0,0x0,0x0,0x60,0x10,
-};
-
-static const BitmapCharRec ch237 = {5,11,-2,0,9,ch237data};
-
-/* char: 0xec */
-
-static const GLubyte ch236data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0xe0,0x0,0x0,0x30,0x40,
-};
-
-static const BitmapCharRec ch236 = {5,11,-2,0,9,ch236data};
-
-/* char: 0xeb */
-
-static const GLubyte ch235data[] = {
-0x7c,0x80,0x80,0xfe,0x82,0x82,0x7c,0x0,0x0,0x28,0x28,
-};
-
-static const BitmapCharRec ch235 = {7,11,-1,0,9,ch235data};
-
-/* char: 0xea */
-
-static const GLubyte ch234data[] = {
-0x7c,0x80,0x80,0xfe,0x82,0x82,0x7c,0x0,0x0,0x44,0x38,
-};
-
-static const BitmapCharRec ch234 = {7,11,-1,0,9,ch234data};
-
-/* char: 0xe9 */
-
-static const GLubyte ch233data[] = {
-0x7c,0x80,0x80,0xfe,0x82,0x82,0x7c,0x0,0x0,0x30,0x8,
-};
-
-static const BitmapCharRec ch233 = {7,11,-1,0,9,ch233data};
-
-/* char: 0xe8 */
-
-static const GLubyte ch232data[] = {
-0x7c,0x80,0x80,0xfe,0x82,0x82,0x7c,0x0,0x0,0x18,0x20,
-};
-
-static const BitmapCharRec ch232 = {7,11,-1,0,9,ch232data};
-
-/* char: 0xe7 */
-
-static const GLubyte ch231data[] = {
-0x30,0x48,0x18,0x7c,0x82,0x80,0x80,0x80,0x82,0x7c,
-};
-
-static const BitmapCharRec ch231 = {7,10,-1,3,9,ch231data};
-
-/* char: 0xe6 */
-
-static const GLubyte ch230data[] = {
-0x6e,0x92,0x90,0x7c,0x12,0x92,0x6c,
-};
-
-static const BitmapCharRec ch230 = {7,7,-1,0,9,ch230data};
-
-/* char: 0xe5 */
-
-static const GLubyte ch229data[] = {
-0x7a,0x86,0x82,0x7e,0x2,0x2,0x7c,0x0,0x18,0x24,0x18,
-};
-
-static const BitmapCharRec ch229 = {7,11,-1,0,9,ch229data};
-
-/* char: 0xe4 */
-
-static const GLubyte ch228data[] = {
-0x7a,0x86,0x82,0x7e,0x2,0x2,0x7c,0x0,0x0,0x28,0x28,
-};
-
-static const BitmapCharRec ch228 = {7,11,-1,0,9,ch228data};
-
-/* char: 0xe3 */
-
-static const GLubyte ch227data[] = {
-0x7a,0x86,0x82,0x7e,0x2,0x2,0x7c,0x0,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch227 = {7,11,-1,0,9,ch227data};
-
-/* char: 0xe2 */
-
-static const GLubyte ch226data[] = {
-0x7a,0x86,0x82,0x7e,0x2,0x2,0x7c,0x0,0x0,0x44,0x38,
-};
-
-static const BitmapCharRec ch226 = {7,11,-1,0,9,ch226data};
-
-/* char: 0xe1 */
-
-static const GLubyte ch225data[] = {
-0x7a,0x86,0x82,0x7e,0x2,0x2,0x7c,0x0,0x0,0x30,0x8,
-};
-
-static const BitmapCharRec ch225 = {7,11,-1,0,9,ch225data};
-
-/* char: 0xe0 */
-
-static const GLubyte ch224data[] = {
-0x7a,0x86,0x82,0x7e,0x2,0x2,0x7c,0x0,0x0,0x18,0x20,
-};
-
-static const BitmapCharRec ch224 = {7,11,-1,0,9,ch224data};
-
-/* char: 0xdf */
-
-static const GLubyte ch223data[] = {
-0x80,0xbc,0xc2,0x82,0x82,0xfc,0x82,0x82,0x7c,
-};
-
-static const BitmapCharRec ch223 = {7,9,-1,1,9,ch223data};
-
-/* char: 0xde */
-
-static const GLubyte ch222data[] = {
-0x80,0x80,0x80,0xfc,0x82,0x82,0x82,0xfc,0x80,0x80,
-};
-
-static const BitmapCharRec ch222 = {7,10,-1,0,9,ch222data};
-
-/* char: 0xdd */
-
-static const GLubyte ch221data[] = {
-0x10,0x10,0x10,0x10,0x28,0x44,0x82,0x82,0x0,0x30,0x8,
-};
-
-static const BitmapCharRec ch221 = {7,11,-1,0,9,ch221data};
-
-/* char: 0xdc */
-
-static const GLubyte ch220data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x0,0x28,0x28,
-};
-
-static const BitmapCharRec ch220 = {7,11,-1,0,9,ch220data};
-
-/* char: 0xdb */
-
-static const GLubyte ch219data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x0,0x44,0x38,
-};
-
-static const BitmapCharRec ch219 = {7,11,-1,0,9,ch219data};
-
-/* char: 0xda */
-
-static const GLubyte ch218data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x0,0x30,0x8,
-};
-
-static const BitmapCharRec ch218 = {7,11,-1,0,9,ch218data};
-
-/* char: 0xd9 */
-
-static const GLubyte ch217data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x0,0x18,0x20,
-};
-
-static const BitmapCharRec ch217 = {7,11,-1,0,9,ch217data};
-
-/* char: 0xd8 */
-
-static const GLubyte ch216data[] = {
-0x80,0x7c,0xc2,0xa2,0xa2,0x92,0x92,0x8a,0x8a,0x86,0x7c,0x2,
-};
-
-static const BitmapCharRec ch216 = {7,12,-1,1,9,ch216data};
-
-/* char: 0xd7 */
-
-static const GLubyte ch215data[] = {
-0x82,0x44,0x28,0x10,0x28,0x44,0x82,
-};
-
-static const BitmapCharRec ch215 = {7,7,-1,-1,9,ch215data};
-
-/* char: 0xd6 */
-
-static const GLubyte ch214data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x28,0x28,
-};
-
-static const BitmapCharRec ch214 = {7,11,-1,0,9,ch214data};
-
-/* char: 0xd5 */
-
-static const GLubyte ch213data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch213 = {7,11,-1,0,9,ch213data};
-
-/* char: 0xd4 */
-
-static const GLubyte ch212data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x44,0x38,
-};
-
-static const BitmapCharRec ch212 = {7,11,-1,0,9,ch212data};
-
-/* char: 0xd3 */
-
-static const GLubyte ch211data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x30,0x8,
-};
-
-static const BitmapCharRec ch211 = {7,11,-1,0,9,ch211data};
-
-/* char: 0xd2 */
-
-static const GLubyte ch210data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x18,0x20,
-};
-
-static const BitmapCharRec ch210 = {7,11,-1,0,9,ch210data};
-
-/* char: 0xd1 */
-
-static const GLubyte ch209data[] = {
-0x82,0x86,0x8a,0x92,0x92,0xa2,0xc2,0x82,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch209 = {7,11,-1,0,9,ch209data};
-
-/* char: 0xd0 */
-
-static const GLubyte ch208data[] = {
-0xfc,0x42,0x42,0x42,0x42,0xf2,0x42,0x42,0x42,0xfc,
-};
-
-static const BitmapCharRec ch208 = {7,10,-1,0,9,ch208data};
-
-/* char: 0xcf */
-
-static const GLubyte ch207data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0xf8,0x0,0x50,0x50,
-};
-
-static const BitmapCharRec ch207 = {5,11,-2,0,9,ch207data};
-
-/* char: 0xce */
-
-static const GLubyte ch206data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0xf8,0x0,0x88,0x70,
-};
-
-static const BitmapCharRec ch206 = {5,11,-2,0,9,ch206data};
-
-/* char: 0xcd */
-
-static const GLubyte ch205data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0xf8,0x0,0x60,0x10,
-};
-
-static const BitmapCharRec ch205 = {5,11,-2,0,9,ch205data};
-
-/* char: 0xcc */
-
-static const GLubyte ch204data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0xf8,0x0,0x30,0x40,
-};
-
-static const BitmapCharRec ch204 = {5,11,-2,0,9,ch204data};
-
-/* char: 0xcb */
-
-static const GLubyte ch203data[] = {
-0xfe,0x40,0x40,0x40,0x78,0x40,0x40,0xfe,0x0,0x28,0x28,
-};
-
-static const BitmapCharRec ch203 = {7,11,-1,0,9,ch203data};
-
-/* char: 0xca */
-
-static const GLubyte ch202data[] = {
-0xfe,0x40,0x40,0x40,0x78,0x40,0x40,0xfe,0x0,0x44,0x38,
-};
-
-static const BitmapCharRec ch202 = {7,11,-1,0,9,ch202data};
-
-/* char: 0xc9 */
-
-static const GLubyte ch201data[] = {
-0xfe,0x40,0x40,0x40,0x78,0x40,0x40,0xfe,0x0,0x30,0x8,
-};
-
-static const BitmapCharRec ch201 = {7,11,-1,0,9,ch201data};
-
-/* char: 0xc8 */
-
-static const GLubyte ch200data[] = {
-0xfe,0x40,0x40,0x40,0x78,0x40,0x40,0xfe,0x0,0x18,0x20,
-};
-
-static const BitmapCharRec ch200 = {7,11,-1,0,9,ch200data};
-
-/* char: 0xc7 */
-
-static const GLubyte ch199data[] = {
-0x30,0x48,0x18,0x7c,0x82,0x80,0x80,0x80,0x80,0x80,0x80,0x82,0x7c,
-};
-
-static const BitmapCharRec ch199 = {7,13,-1,3,9,ch199data};
-
-/* char: 0xc6 */
-
-static const GLubyte ch198data[] = {
-0x9e,0x90,0x90,0x90,0xfc,0x90,0x90,0x90,0x90,0x6e,
-};
-
-static const BitmapCharRec ch198 = {7,10,-1,0,9,ch198data};
-
-/* char: 0xc5 */
-
-static const GLubyte ch197data[] = {
-0x82,0x82,0x82,0xfe,0x82,0x82,0x44,0x38,0x10,0x28,0x10,
-};
-
-static const BitmapCharRec ch197 = {7,11,-1,0,9,ch197data};
-
-/* char: 0xc4 */
-
-static const GLubyte ch196data[] = {
-0x82,0x82,0x82,0xfe,0x82,0x82,0x44,0x38,0x0,0x28,0x28,
-};
-
-static const BitmapCharRec ch196 = {7,11,-1,0,9,ch196data};
-
-/* char: 0xc3 */
-
-static const GLubyte ch195data[] = {
-0x82,0x82,0x82,0xfe,0x82,0x82,0x44,0x38,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch195 = {7,11,-1,0,9,ch195data};
-
-/* char: 0xc2 */
-
-static const GLubyte ch194data[] = {
-0x82,0x82,0x82,0xfe,0x82,0x82,0x44,0x38,0x0,0x44,0x38,
-};
-
-static const BitmapCharRec ch194 = {7,11,-1,0,9,ch194data};
-
-/* char: 0xc1 */
-
-static const GLubyte ch193data[] = {
-0x82,0x82,0x82,0xfe,0x82,0x82,0x44,0x38,0x0,0x30,0x8,
-};
-
-static const BitmapCharRec ch193 = {7,11,-1,0,9,ch193data};
-
-/* char: 0xc0 */
-
-static const GLubyte ch192data[] = {
-0x82,0x82,0x82,0xfe,0x82,0x82,0x44,0x38,0x0,0x18,0x20,
-};
-
-static const BitmapCharRec ch192 = {7,11,-1,0,9,ch192data};
-
-/* char: 0xbf */
-
-static const GLubyte ch191data[] = {
-0x7c,0x82,0x82,0x80,0x40,0x20,0x10,0x10,0x0,0x10,
-};
-
-static const BitmapCharRec ch191 = {7,10,-1,0,9,ch191data};
-
-/* char: 0xbe */
-
-static const GLubyte ch190data[] = {
-0x6,0x1a,0x12,0xa,0x66,0x92,0x10,0x20,0x90,0x60,
-};
-
-static const BitmapCharRec ch190 = {7,10,-1,0,9,ch190data};
-
-/* char: 0xbd */
-
-static const GLubyte ch189data[] = {
-0x1e,0x10,0xc,0x2,0xf2,0x4c,0x40,0x40,0xc0,0x40,
-};
-
-static const BitmapCharRec ch189 = {7,10,-1,0,9,ch189data};
-
-/* char: 0xbc */
-
-static const GLubyte ch188data[] = {
-0x6,0x1a,0x12,0xa,0xe6,0x42,0x40,0x40,0xc0,0x40,
-};
-
-static const BitmapCharRec ch188 = {7,10,-1,0,9,ch188data};
-
-/* char: 0xbb */
-
-static const GLubyte ch187data[] = {
-0x90,0x48,0x24,0x12,0x12,0x24,0x48,0x90,
-};
-
-static const BitmapCharRec ch187 = {7,8,-1,-1,9,ch187data};
-
-/* char: 0xba */
-
-static const GLubyte ch186data[] = {
-0xf8,0x0,0x70,0x88,0x88,0x70,
-};
-
-static const BitmapCharRec ch186 = {5,6,-1,-5,9,ch186data};
-
-/* char: 0xb9 */
-
-static const GLubyte ch185data[] = {
-0xe0,0x40,0x40,0x40,0xc0,0x40,
-};
-
-static const BitmapCharRec ch185 = {3,6,-1,-4,9,ch185data};
-
-/* char: 0xb8 */
-
-static const GLubyte ch184data[] = {
-0x60,0x90,0x30,
-};
-
-static const BitmapCharRec ch184 = {4,3,-2,3,9,ch184data};
-
-/* char: 0xb7 */
-
-static const GLubyte ch183data[] = {
-0xc0,0xc0,
-};
-
-static const BitmapCharRec ch183 = {2,2,-4,-4,9,ch183data};
-
-/* char: 0xb6 */
-
-static const GLubyte ch182data[] = {
-0xa,0xa,0xa,0xa,0xa,0x7a,0x8a,0x8a,0x8a,0x7e,
-};
-
-static const BitmapCharRec ch182 = {7,10,-1,0,9,ch182data};
-
-/* char: 0xb5 */
-
-static const GLubyte ch181data[] = {
-0x80,0x80,0xba,0xc6,0x82,0x82,0x82,0x82,0x82,
-};
-
-static const BitmapCharRec ch181 = {7,9,-1,2,9,ch181data};
-
-/* char: 0xb4 */
-
-static const GLubyte ch180data[] = {
-0xc0,0x20,
-};
-
-static const BitmapCharRec ch180 = {3,2,-3,-9,9,ch180data};
-
-/* char: 0xb3 */
-
-static const GLubyte ch179data[] = {
-0x60,0x90,0x10,0x20,0x90,0x60,
-};
-
-static const BitmapCharRec ch179 = {4,6,-1,-4,9,ch179data};
-
-/* char: 0xb2 */
-
-static const GLubyte ch178data[] = {
-0xf0,0x80,0x60,0x10,0x90,0x60,
-};
-
-static const BitmapCharRec ch178 = {4,6,-1,-4,9,ch178data};
-
-/* char: 0xb1 */
-
-static const GLubyte ch177data[] = {
-0xfe,0x0,0x10,0x10,0x10,0xfe,0x10,0x10,0x10,
-};
-
-static const BitmapCharRec ch177 = {7,9,-1,-1,9,ch177data};
-
-/* char: 0xb0 */
-
-static const GLubyte ch176data[] = {
-0x60,0x90,0x90,0x60,
-};
-
-static const BitmapCharRec ch176 = {4,4,-3,-6,9,ch176data};
-
-/* char: 0xaf */
-
-static const GLubyte ch175data[] = {
-0xfc,
-};
-
-static const BitmapCharRec ch175 = {6,1,-1,-9,9,ch175data};
-
-/* char: 0xae */
-
-static const GLubyte ch174data[] = {
-0x3c,0x42,0xa5,0xa9,0xbd,0xa5,0xb9,0x42,0x3c,
-};
-
-static const BitmapCharRec ch174 = {8,9,0,-1,9,ch174data};
-
-/* char: 0xad */
-
-static const GLubyte ch173data[] = {
-0xfc,
-};
-
-static const BitmapCharRec ch173 = {6,1,-1,-4,9,ch173data};
-
-/* char: 0xac */
-
-static const GLubyte ch172data[] = {
-0x4,0x4,0x4,0xfc,
-};
-
-static const BitmapCharRec ch172 = {6,4,-1,-2,9,ch172data};
-
-/* char: 0xab */
-
-static const GLubyte ch171data[] = {
-0x12,0x24,0x48,0x90,0x90,0x48,0x24,0x12,
-};
-
-static const BitmapCharRec ch171 = {7,8,-1,-1,9,ch171data};
-
-/* char: 0xaa */
-
-static const GLubyte ch170data[] = {
-0xf8,0x0,0x78,0x90,0x70,0x90,0x60,
-};
-
-static const BitmapCharRec ch170 = {5,7,-3,-3,9,ch170data};
-
-/* char: 0xa9 */
-
-static const GLubyte ch169data[] = {
-0x3c,0x42,0x99,0xa5,0xa1,0xa5,0x99,0x42,0x3c,
-};
-
-static const BitmapCharRec ch169 = {8,9,0,-1,9,ch169data};
-
-/* char: 0xa8 */
-
-static const GLubyte ch168data[] = {
-0xa0,0xa0,
-};
-
-static const BitmapCharRec ch168 = {3,2,-3,-9,9,ch168data};
-
-/* char: 0xa7 */
-
-static const GLubyte ch167data[] = {
-0x70,0x88,0x8,0x70,0x88,0x88,0x88,0x70,0x80,0x88,0x70,
-};
-
-static const BitmapCharRec ch167 = {5,11,-2,1,9,ch167data};
-
-/* char: 0xa6 */
-
-static const GLubyte ch166data[] = {
-0x80,0x80,0x80,0x80,0x80,0x0,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch166 = {1,11,-4,1,9,ch166data};
-
-/* char: 0xa5 */
-
-static const GLubyte ch165data[] = {
-0x10,0x10,0x10,0x7c,0x10,0x7c,0x28,0x44,0x82,0x82,
-};
-
-static const BitmapCharRec ch165 = {7,10,-1,0,9,ch165data};
-
-/* char: 0xa4 */
-
-static const GLubyte ch164data[] = {
-0x82,0x7c,0x44,0x44,0x7c,0x82,
-};
-
-static const BitmapCharRec ch164 = {7,6,-1,-3,9,ch164data};
-
-/* char: 0xa3 */
-
-static const GLubyte ch163data[] = {
-0x5c,0xa2,0x60,0x20,0x20,0xf8,0x20,0x20,0x22,0x1c,
-};
-
-static const BitmapCharRec ch163 = {7,10,-1,0,9,ch163data};
-
-/* char: 0xa2 */
-
-static const GLubyte ch162data[] = {
-0x40,0x78,0xa4,0xa0,0x90,0x94,0x78,0x8,
-};
-
-static const BitmapCharRec ch162 = {6,8,-1,0,9,ch162data};
-
-/* char: 0xa1 */
-
-static const GLubyte ch161data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x0,0x80,0x80,
-};
-
-static const BitmapCharRec ch161 = {1,11,-4,0,9,ch161data};
-
-/* char: 0x7e '~' */
-
-static const GLubyte ch126data[] = {
-0x8c,0x92,0x62,
-};
-
-static const BitmapCharRec ch126 = {7,3,-1,-7,9,ch126data};
-
-/* char: 0x7d '}' */
-
-static const GLubyte ch125data[] = {
-0xe0,0x10,0x10,0x10,0x20,0x18,0x18,0x20,0x10,0x10,0x10,0xe0,
-};
-
-static const BitmapCharRec ch125 = {5,12,-1,1,9,ch125data};
-
-/* char: 0x7c '|' */
-
-static const GLubyte ch124data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch124 = {1,12,-4,1,9,ch124data};
-
-/* char: 0x7b '{' */
-
-static const GLubyte ch123data[] = {
-0x38,0x40,0x40,0x40,0x20,0xc0,0xc0,0x20,0x40,0x40,0x40,0x38,
-};
-
-static const BitmapCharRec ch123 = {5,12,-3,1,9,ch123data};
-
-/* char: 0x7a 'z' */
-
-static const GLubyte ch122data[] = {
-0xfe,0x40,0x20,0x10,0x8,0x4,0xfe,
-};
-
-static const BitmapCharRec ch122 = {7,7,-1,0,9,ch122data};
-
-/* char: 0x79 'y' */
-
-static const GLubyte ch121data[] = {
-0x78,0x84,0x4,0x74,0x8c,0x84,0x84,0x84,0x84,0x84,
-};
-
-static const BitmapCharRec ch121 = {6,10,-1,3,9,ch121data};
-
-/* char: 0x78 'x' */
-
-static const GLubyte ch120data[] = {
-0x82,0x44,0x28,0x10,0x28,0x44,0x82,
-};
-
-static const BitmapCharRec ch120 = {7,7,-1,0,9,ch120data};
-
-/* char: 0x77 'w' */
-
-static const GLubyte ch119data[] = {
-0x44,0xaa,0x92,0x92,0x92,0x82,0x82,
-};
-
-static const BitmapCharRec ch119 = {7,7,-1,0,9,ch119data};
-
-/* char: 0x76 'v' */
-
-static const GLubyte ch118data[] = {
-0x10,0x28,0x28,0x44,0x44,0x82,0x82,
-};
-
-static const BitmapCharRec ch118 = {7,7,-1,0,9,ch118data};
-
-/* char: 0x75 'u' */
-
-static const GLubyte ch117data[] = {
-0x7a,0x84,0x84,0x84,0x84,0x84,0x84,
-};
-
-static const BitmapCharRec ch117 = {7,7,-1,0,9,ch117data};
-
-/* char: 0x74 't' */
-
-static const GLubyte ch116data[] = {
-0x1c,0x22,0x20,0x20,0x20,0x20,0xfc,0x20,0x20,
-};
-
-static const BitmapCharRec ch116 = {7,9,-1,0,9,ch116data};
-
-/* char: 0x73 's' */
-
-static const GLubyte ch115data[] = {
-0x7c,0x82,0x2,0x7c,0x80,0x82,0x7c,
-};
-
-static const BitmapCharRec ch115 = {7,7,-1,0,9,ch115data};
-
-/* char: 0x72 'r' */
-
-static const GLubyte ch114data[] = {
-0x40,0x40,0x40,0x40,0x42,0x62,0x9c,
-};
-
-static const BitmapCharRec ch114 = {7,7,-1,0,9,ch114data};
-
-/* char: 0x71 'q' */
-
-static const GLubyte ch113data[] = {
-0x2,0x2,0x2,0x7a,0x86,0x82,0x82,0x82,0x86,0x7a,
-};
-
-static const BitmapCharRec ch113 = {7,10,-1,3,9,ch113data};
-
-/* char: 0x70 'p' */
-
-static const GLubyte ch112data[] = {
-0x80,0x80,0x80,0xbc,0xc2,0x82,0x82,0x82,0xc2,0xbc,
-};
-
-static const BitmapCharRec ch112 = {7,10,-1,3,9,ch112data};
-
-/* char: 0x6f 'o' */
-
-static const GLubyte ch111data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,
-};
-
-static const BitmapCharRec ch111 = {7,7,-1,0,9,ch111data};
-
-/* char: 0x6e 'n' */
-
-static const GLubyte ch110data[] = {
-0x82,0x82,0x82,0x82,0x82,0xc2,0xbc,
-};
-
-static const BitmapCharRec ch110 = {7,7,-1,0,9,ch110data};
-
-/* char: 0x6d 'm' */
-
-static const GLubyte ch109data[] = {
-0x82,0x92,0x92,0x92,0x92,0x92,0xec,
-};
-
-static const BitmapCharRec ch109 = {7,7,-1,0,9,ch109data};
-
-/* char: 0x6c 'l' */
-
-static const GLubyte ch108data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xe0,
-};
-
-static const BitmapCharRec ch108 = {5,10,-2,0,9,ch108data};
-
-/* char: 0x6b 'k' */
-
-static const GLubyte ch107data[] = {
-0x82,0x8c,0xb0,0xc0,0xb0,0x8c,0x82,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch107 = {7,10,-1,0,9,ch107data};
-
-/* char: 0x6a 'j' */
-
-static const GLubyte ch106data[] = {
-0x78,0x84,0x84,0x84,0x4,0x4,0x4,0x4,0x4,0x1c,0x0,0x0,0xc,
-};
-
-static const BitmapCharRec ch106 = {6,13,-1,3,9,ch106data};
-
-/* char: 0x69 'i' */
-
-static const GLubyte ch105data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0xe0,0x0,0x0,0x60,
-};
-
-static const BitmapCharRec ch105 = {5,10,-2,0,9,ch105data};
-
-/* char: 0x68 'h' */
-
-static const GLubyte ch104data[] = {
-0x82,0x82,0x82,0x82,0x82,0xc2,0xbc,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch104 = {7,10,-1,0,9,ch104data};
-
-/* char: 0x67 'g' */
-
-static const GLubyte ch103data[] = {
-0x7c,0x82,0x82,0x7c,0x80,0x78,0x84,0x84,0x84,0x7a,
-};
-
-static const BitmapCharRec ch103 = {7,10,-1,3,9,ch103data};
-
-/* char: 0x66 'f' */
-
-static const GLubyte ch102data[] = {
-0x20,0x20,0x20,0x20,0xf8,0x20,0x20,0x22,0x22,0x1c,
-};
-
-static const BitmapCharRec ch102 = {7,10,-1,0,9,ch102data};
-
-/* char: 0x65 'e' */
-
-static const GLubyte ch101data[] = {
-0x7c,0x80,0x80,0xfe,0x82,0x82,0x7c,
-};
-
-static const BitmapCharRec ch101 = {7,7,-1,0,9,ch101data};
-
-/* char: 0x64 'd' */
-
-static const GLubyte ch100data[] = {
-0x7a,0x86,0x82,0x82,0x82,0x86,0x7a,0x2,0x2,0x2,
-};
-
-static const BitmapCharRec ch100 = {7,10,-1,0,9,ch100data};
-
-/* char: 0x63 'c' */
-
-static const GLubyte ch99data[] = {
-0x7c,0x82,0x80,0x80,0x80,0x82,0x7c,
-};
-
-static const BitmapCharRec ch99 = {7,7,-1,0,9,ch99data};
-
-/* char: 0x62 'b' */
-
-static const GLubyte ch98data[] = {
-0xbc,0xc2,0x82,0x82,0x82,0xc2,0xbc,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch98 = {7,10,-1,0,9,ch98data};
-
-/* char: 0x61 'a' */
-
-static const GLubyte ch97data[] = {
-0x7a,0x86,0x82,0x7e,0x2,0x2,0x7c,
-};
-
-static const BitmapCharRec ch97 = {7,7,-1,0,9,ch97data};
-
-/* char: 0x60 '`' */
-
-static const GLubyte ch96data[] = {
-0x10,0x20,0x40,0xc0,
-};
-
-static const BitmapCharRec ch96 = {4,4,-3,-6,9,ch96data};
-
-/* char: 0x5f '_' */
-
-static const GLubyte ch95data[] = {
-0xff,
-};
-
-static const BitmapCharRec ch95 = {8,1,0,1,9,ch95data};
-
-/* char: 0x5e '^' */
-
-static const GLubyte ch94data[] = {
-0x82,0x44,0x28,0x10,
-};
-
-static const BitmapCharRec ch94 = {7,4,-1,-6,9,ch94data};
-
-/* char: 0x5d ']' */
-
-static const GLubyte ch93data[] = {
-0xf0,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0xf0,
-};
-
-static const BitmapCharRec ch93 = {4,12,-2,1,9,ch93data};
-
-/* char: 0x5c '\' */
-
-static const GLubyte ch92data[] = {
-0x2,0x4,0x4,0x8,0x10,0x10,0x20,0x40,0x40,0x80,
-};
-
-static const BitmapCharRec ch92 = {7,10,-1,0,9,ch92data};
-
-/* char: 0x5b '[' */
-
-static const GLubyte ch91data[] = {
-0xf0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xf0,
-};
-
-static const BitmapCharRec ch91 = {4,12,-3,1,9,ch91data};
-
-/* char: 0x5a 'Z' */
-
-static const GLubyte ch90data[] = {
-0xfe,0x80,0x80,0x40,0x20,0x10,0x8,0x4,0x2,0xfe,
-};
-
-static const BitmapCharRec ch90 = {7,10,-1,0,9,ch90data};
-
-/* char: 0x59 'Y' */
-
-static const GLubyte ch89data[] = {
-0x10,0x10,0x10,0x10,0x10,0x10,0x28,0x44,0x82,0x82,
-};
-
-static const BitmapCharRec ch89 = {7,10,-1,0,9,ch89data};
-
-/* char: 0x58 'X' */
-
-static const GLubyte ch88data[] = {
-0x82,0x82,0x44,0x28,0x10,0x10,0x28,0x44,0x82,0x82,
-};
-
-static const BitmapCharRec ch88 = {7,10,-1,0,9,ch88data};
-
-/* char: 0x57 'W' */
-
-static const GLubyte ch87data[] = {
-0x44,0xaa,0x92,0x92,0x92,0x92,0x82,0x82,0x82,0x82,
-};
-
-static const BitmapCharRec ch87 = {7,10,-1,0,9,ch87data};
-
-/* char: 0x56 'V' */
-
-static const GLubyte ch86data[] = {
-0x10,0x28,0x28,0x28,0x44,0x44,0x44,0x82,0x82,0x82,
-};
-
-static const BitmapCharRec ch86 = {7,10,-1,0,9,ch86data};
-
-/* char: 0x55 'U' */
-
-static const GLubyte ch85data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,
-};
-
-static const BitmapCharRec ch85 = {7,10,-1,0,9,ch85data};
-
-/* char: 0x54 'T' */
-
-static const GLubyte ch84data[] = {
-0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0xfe,
-};
-
-static const BitmapCharRec ch84 = {7,10,-1,0,9,ch84data};
-
-/* char: 0x53 'S' */
-
-static const GLubyte ch83data[] = {
-0x7c,0x82,0x82,0x2,0xc,0x70,0x80,0x82,0x82,0x7c,
-};
-
-static const BitmapCharRec ch83 = {7,10,-1,0,9,ch83data};
-
-/* char: 0x52 'R' */
-
-static const GLubyte ch82data[] = {
-0x82,0x82,0x84,0x88,0x90,0xfc,0x82,0x82,0x82,0xfc,
-};
-
-static const BitmapCharRec ch82 = {7,10,-1,0,9,ch82data};
-
-/* char: 0x51 'Q' */
-
-static const GLubyte ch81data[] = {
-0x6,0x8,0x7c,0x92,0xa2,0x82,0x82,0x82,0x82,0x82,0x82,0x7c,
-};
-
-static const BitmapCharRec ch81 = {7,12,-1,2,9,ch81data};
-
-/* char: 0x50 'P' */
-
-static const GLubyte ch80data[] = {
-0x80,0x80,0x80,0x80,0x80,0xfc,0x82,0x82,0x82,0xfc,
-};
-
-static const BitmapCharRec ch80 = {7,10,-1,0,9,ch80data};
-
-/* char: 0x4f 'O' */
-
-static const GLubyte ch79data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x7c,
-};
-
-static const BitmapCharRec ch79 = {7,10,-1,0,9,ch79data};
-
-/* char: 0x4e 'N' */
-
-static const GLubyte ch78data[] = {
-0x82,0x82,0x82,0x86,0x8a,0x92,0xa2,0xc2,0x82,0x82,
-};
-
-static const BitmapCharRec ch78 = {7,10,-1,0,9,ch78data};
-
-/* char: 0x4d 'M' */
-
-static const GLubyte ch77data[] = {
-0x82,0x82,0x82,0x92,0x92,0xaa,0xaa,0xc6,0x82,0x82,
-};
-
-static const BitmapCharRec ch77 = {7,10,-1,0,9,ch77data};
-
-/* char: 0x4c 'L' */
-
-static const GLubyte ch76data[] = {
-0xfe,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch76 = {7,10,-1,0,9,ch76data};
-
-/* char: 0x4b 'K' */
-
-static const GLubyte ch75data[] = {
-0x82,0x84,0x88,0x90,0xa0,0xe0,0x90,0x88,0x84,0x82,
-};
-
-static const BitmapCharRec ch75 = {7,10,-1,0,9,ch75data};
-
-/* char: 0x4a 'J' */
-
-static const GLubyte ch74data[] = {
-0x78,0x84,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x1e,
-};
-
-static const BitmapCharRec ch74 = {7,10,-1,0,9,ch74data};
-
-/* char: 0x49 'I' */
-
-static const GLubyte ch73data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xf8,
-};
-
-static const BitmapCharRec ch73 = {5,10,-2,0,9,ch73data};
-
-/* char: 0x48 'H' */
-
-static const GLubyte ch72data[] = {
-0x82,0x82,0x82,0x82,0x82,0xfe,0x82,0x82,0x82,0x82,
-};
-
-static const BitmapCharRec ch72 = {7,10,-1,0,9,ch72data};
-
-/* char: 0x47 'G' */
-
-static const GLubyte ch71data[] = {
-0x7c,0x82,0x82,0x82,0x8e,0x80,0x80,0x80,0x82,0x7c,
-};
-
-static const BitmapCharRec ch71 = {7,10,-1,0,9,ch71data};
-
-/* char: 0x46 'F' */
-
-static const GLubyte ch70data[] = {
-0x40,0x40,0x40,0x40,0x40,0x78,0x40,0x40,0x40,0xfe,
-};
-
-static const BitmapCharRec ch70 = {7,10,-1,0,9,ch70data};
-
-/* char: 0x45 'E' */
-
-static const GLubyte ch69data[] = {
-0xfe,0x40,0x40,0x40,0x40,0x78,0x40,0x40,0x40,0xfe,
-};
-
-static const BitmapCharRec ch69 = {7,10,-1,0,9,ch69data};
-
-/* char: 0x44 'D' */
-
-static const GLubyte ch68data[] = {
-0xfc,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0xfc,
-};
-
-static const BitmapCharRec ch68 = {7,10,-1,0,9,ch68data};
-
-/* char: 0x43 'C' */
-
-static const GLubyte ch67data[] = {
-0x7c,0x82,0x80,0x80,0x80,0x80,0x80,0x80,0x82,0x7c,
-};
-
-static const BitmapCharRec ch67 = {7,10,-1,0,9,ch67data};
-
-/* char: 0x42 'B' */
-
-static const GLubyte ch66data[] = {
-0xfc,0x42,0x42,0x42,0x42,0x7c,0x42,0x42,0x42,0xfc,
-};
-
-static const BitmapCharRec ch66 = {7,10,-1,0,9,ch66data};
-
-/* char: 0x41 'A' */
-
-static const GLubyte ch65data[] = {
-0x82,0x82,0x82,0xfe,0x82,0x82,0x82,0x44,0x28,0x10,
-};
-
-static const BitmapCharRec ch65 = {7,10,-1,0,9,ch65data};
-
-/* char: 0x40 '@' */
-
-static const GLubyte ch64data[] = {
-0x7c,0x80,0x80,0x9a,0xa6,0xa2,0x9e,0x82,0x82,0x7c,
-};
-
-static const BitmapCharRec ch64 = {7,10,-1,0,9,ch64data};
-
-/* char: 0x3f '?' */
-
-static const GLubyte ch63data[] = {
-0x10,0x0,0x10,0x10,0x8,0x4,0x2,0x82,0x82,0x7c,
-};
-
-static const BitmapCharRec ch63 = {7,10,-1,0,9,ch63data};
-
-/* char: 0x3e '>' */
-
-static const GLubyte ch62data[] = {
-0x80,0x40,0x20,0x10,0x8,0x8,0x10,0x20,0x40,0x80,
-};
-
-static const BitmapCharRec ch62 = {5,10,-2,0,9,ch62data};
-
-/* char: 0x3d '=' */
-
-static const GLubyte ch61data[] = {
-0xfe,0x0,0x0,0xfe,
-};
-
-static const BitmapCharRec ch61 = {7,4,-1,-2,9,ch61data};
-
-/* char: 0x3c '<' */
-
-static const GLubyte ch60data[] = {
-0x8,0x10,0x20,0x40,0x80,0x80,0x40,0x20,0x10,0x8,
-};
-
-static const BitmapCharRec ch60 = {5,10,-2,0,9,ch60data};
-
-/* char: 0x3b ';' */
-
-static const GLubyte ch59data[] = {
-0x80,0x40,0x40,0xc0,0xc0,0x0,0x0,0x0,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch59 = {2,10,-4,3,9,ch59data};
-
-/* char: 0x3a ':' */
-
-static const GLubyte ch58data[] = {
-0xc0,0xc0,0x0,0x0,0x0,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch58 = {2,7,-4,0,9,ch58data};
-
-/* char: 0x39 '9' */
-
-static const GLubyte ch57data[] = {
-0x78,0x4,0x2,0x2,0x7a,0x86,0x82,0x82,0x82,0x7c,
-};
-
-static const BitmapCharRec ch57 = {7,10,-1,0,9,ch57data};
-
-/* char: 0x38 '8' */
-
-static const GLubyte ch56data[] = {
-0x38,0x44,0x82,0x82,0x44,0x38,0x44,0x82,0x44,0x38,
-};
-
-static const BitmapCharRec ch56 = {7,10,-1,0,9,ch56data};
-
-/* char: 0x37 '7' */
-
-static const GLubyte ch55data[] = {
-0x40,0x40,0x20,0x20,0x10,0x8,0x4,0x2,0x2,0xfe,
-};
-
-static const BitmapCharRec ch55 = {7,10,-1,0,9,ch55data};
-
-/* char: 0x36 '6' */
-
-static const GLubyte ch54data[] = {
-0x7c,0x82,0x82,0x82,0xc2,0xbc,0x80,0x80,0x40,0x3c,
-};
-
-static const BitmapCharRec ch54 = {7,10,-1,0,9,ch54data};
-
-/* char: 0x35 '5' */
-
-static const GLubyte ch53data[] = {
-0x7c,0x82,0x2,0x2,0x2,0xc2,0xbc,0x80,0x80,0xfe,
-};
-
-static const BitmapCharRec ch53 = {7,10,-1,0,9,ch53data};
-
-/* char: 0x34 '4' */
-
-static const GLubyte ch52data[] = {
-0x4,0x4,0x4,0xfe,0x84,0x44,0x24,0x14,0xc,0x4,
-};
-
-static const BitmapCharRec ch52 = {7,10,-1,0,9,ch52data};
-
-/* char: 0x33 '3' */
-
-static const GLubyte ch51data[] = {
-0x7c,0x82,0x2,0x2,0x2,0x1c,0x8,0x4,0x2,0xfe,
-};
-
-static const BitmapCharRec ch51 = {7,10,-1,0,9,ch51data};
-
-/* char: 0x32 '2' */
-
-static const GLubyte ch50data[] = {
-0xfe,0x80,0x40,0x30,0x8,0x4,0x2,0x82,0x82,0x7c,
-};
-
-static const BitmapCharRec ch50 = {7,10,-1,0,9,ch50data};
-
-/* char: 0x31 '1' */
-
-static const GLubyte ch49data[] = {
-0xfe,0x10,0x10,0x10,0x10,0x10,0x90,0x50,0x30,0x10,
-};
-
-static const BitmapCharRec ch49 = {7,10,-1,0,9,ch49data};
-
-/* char: 0x30 '0' */
-
-static const GLubyte ch48data[] = {
-0x38,0x44,0x82,0x82,0x82,0x82,0x82,0x82,0x44,0x38,
-};
-
-static const BitmapCharRec ch48 = {7,10,-1,0,9,ch48data};
-
-/* char: 0x2f '/' */
-
-static const GLubyte ch47data[] = {
-0x80,0x40,0x40,0x20,0x10,0x10,0x8,0x4,0x4,0x2,
-};
-
-static const BitmapCharRec ch47 = {7,10,-1,0,9,ch47data};
-
-/* char: 0x2e '.' */
-
-static const GLubyte ch46data[] = {
-0xc0,0xc0,
-};
-
-static const BitmapCharRec ch46 = {2,2,-4,0,9,ch46data};
-
-/* char: 0x2d '-' */
-
-static const GLubyte ch45data[] = {
-0xfe,
-};
-
-static const BitmapCharRec ch45 = {7,1,-1,-4,9,ch45data};
-
-/* char: 0x2c ',' */
-
-static const GLubyte ch44data[] = {
-0x80,0x40,0x40,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch44 = {2,5,-4,3,9,ch44data};
-
-/* char: 0x2b '+' */
-
-static const GLubyte ch43data[] = {
-0x10,0x10,0x10,0xfe,0x10,0x10,0x10,
-};
-
-static const BitmapCharRec ch43 = {7,7,-1,-1,9,ch43data};
-
-/* char: 0x2a '*' */
-
-static const GLubyte ch42data[] = {
-0x10,0x92,0x54,0x38,0x54,0x92,0x10,
-};
-
-static const BitmapCharRec ch42 = {7,7,-1,-1,9,ch42data};
-
-/* char: 0x29 ')' */
-
-static const GLubyte ch41data[] = {
-0x80,0x40,0x40,0x20,0x20,0x20,0x20,0x20,0x20,0x40,0x40,0x80,
-};
-
-static const BitmapCharRec ch41 = {3,12,-3,1,9,ch41data};
-
-/* char: 0x28 '(' */
-
-static const GLubyte ch40data[] = {
-0x20,0x40,0x40,0x80,0x80,0x80,0x80,0x80,0x80,0x40,0x40,0x20,
-};
-
-static const BitmapCharRec ch40 = {3,12,-3,1,9,ch40data};
-
-/* char: 0x27 ''' */
-
-static const GLubyte ch39data[] = {
-0x80,0x40,0x20,0x30,
-};
-
-static const BitmapCharRec ch39 = {4,4,-3,-6,9,ch39data};
-
-/* char: 0x26 '&' */
-
-static const GLubyte ch38data[] = {
-0x62,0x94,0x88,0x94,0x62,0x60,0x90,0x90,0x90,0x60,
-};
-
-static const BitmapCharRec ch38 = {7,10,-1,0,9,ch38data};
-
-/* char: 0x25 '%' */
-
-static const GLubyte ch37data[] = {
-0x84,0x4a,0x4a,0x24,0x10,0x10,0x48,0xa4,0xa4,0x42,
-};
-
-static const BitmapCharRec ch37 = {7,10,-1,0,9,ch37data};
-
-/* char: 0x24 '$' */
-
-static const GLubyte ch36data[] = {
-0x10,0x7c,0x92,0x12,0x12,0x14,0x38,0x50,0x90,0x92,0x7c,0x10,
-};
-
-static const BitmapCharRec ch36 = {7,12,-1,1,9,ch36data};
-
-/* char: 0x23 '#' */
-
-static const GLubyte ch35data[] = {
-0x48,0x48,0xfc,0x48,0x48,0xfc,0x48,0x48,
-};
-
-static const BitmapCharRec ch35 = {6,8,-1,-1,9,ch35data};
-
-/* char: 0x22 '"' */
-
-static const GLubyte ch34data[] = {
-0x90,0x90,0x90,
-};
-
-static const BitmapCharRec ch34 = {4,3,-3,-7,9,ch34data};
-
-/* char: 0x21 '!' */
-
-static const GLubyte ch33data[] = {
-0x80,0x80,0x0,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch33 = {1,11,-4,0,9,ch33data};
-
-/* char: 0x1f */
-
-static const GLubyte ch31data[] = {
-0xc0,0xc0,
-};
-
-static const BitmapCharRec ch31 = {2,2,-4,-2,9,ch31data};
-
-/* char: 0x1e */
-
-static const GLubyte ch30data[] = {
-0x5c,0xa2,0x60,0x20,0x20,0xf8,0x20,0x20,0x22,0x1c,
-};
-
-static const BitmapCharRec ch30 = {7,10,-1,0,9,ch30data};
-
-/* char: 0x1d */
-
-static const GLubyte ch29data[] = {
-0x80,0x40,0xfe,0x10,0xfe,0x4,0x2,
-};
-
-static const BitmapCharRec ch29 = {7,7,-1,0,9,ch29data};
-
-/* char: 0x1c */
-
-static const GLubyte ch28data[] = {
-0x44,0x24,0x24,0x24,0x24,0x24,0xfe,
-};
-
-static const BitmapCharRec ch28 = {7,7,-1,0,9,ch28data};
-
-/* char: 0x1b */
-
-static const GLubyte ch27data[] = {
-0xfe,0x0,0x80,0x40,0x20,0x10,0x8,0x8,0x10,0x20,0x40,0x80,
-};
-
-static const BitmapCharRec ch27 = {7,12,-1,2,9,ch27data};
-
-/* char: 0x1a */
-
-static const GLubyte ch26data[] = {
-0xfc,0x0,0x4,0x8,0x10,0x20,0x40,0x40,0x20,0x10,0x8,0x4,
-};
-
-static const BitmapCharRec ch26 = {6,12,-2,2,9,ch26data};
-
-/* char: 0x19 */
-
-static const GLubyte ch25data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch25 = {1,15,-4,3,9,ch25data};
-
-/* char: 0x18 */
-
-static const GLubyte ch24data[] = {
-0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0xff,0x80,
-};
-
-static const BitmapCharRec ch24 = {9,7,0,3,9,ch24data};
-
-/* char: 0x17 */
-
-static const GLubyte ch23data[] = {
-0xff,0x80,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,
-0x8,0x0,
-};
-
-static const BitmapCharRec ch23 = {9,9,0,-3,9,ch23data};
-
-/* char: 0x16 */
-
-static const GLubyte ch22data[] = {
-0x8,0x8,0x8,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,
-};
-
-static const BitmapCharRec ch22 = {5,15,0,3,9,ch22data};
-
-/* char: 0x15 */
-
-static const GLubyte ch21data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0xf8,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch21 = {5,15,-4,3,9,ch21data};
-
-/* char: 0x14 */
-
-static const GLubyte ch20data[] = {
-0xff,0x80,
-};
-
-static const BitmapCharRec ch20 = {9,1,0,1,9,ch20data};
-
-/* char: 0x13 */
-
-static const GLubyte ch19data[] = {
-0xff,0x80,
-};
-
-static const BitmapCharRec ch19 = {9,1,0,-1,9,ch19data};
-
-/* char: 0x12 */
-
-static const GLubyte ch18data[] = {
-0xff,0x80,
-};
-
-static const BitmapCharRec ch18 = {9,1,0,-3,9,ch18data};
-
-/* char: 0x11 */
-
-static const GLubyte ch17data[] = {
-0xff,0x80,
-};
-
-static const BitmapCharRec ch17 = {9,1,0,-5,9,ch17data};
-
-/* char: 0x10 */
-
-static const GLubyte ch16data[] = {
-0xff,0x80,
-};
-
-static const BitmapCharRec ch16 = {9,1,0,-7,9,ch16data};
-
-/* char: 0xf */
-
-static const GLubyte ch15data[] = {
-0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0xff,0x80,0x8,0x0,
-0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,
-};
-
-static const BitmapCharRec ch15 = {9,15,0,3,9,ch15data};
-
-/* char: 0xe */
-
-static const GLubyte ch14data[] = {
-0xf8,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch14 = {5,9,-4,-3,9,ch14data};
-
-/* char: 0xd */
-
-static const GLubyte ch13data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0xf8,
-};
-
-static const BitmapCharRec ch13 = {5,7,-4,3,9,ch13data};
-
-/* char: 0xc */
-
-static const GLubyte ch12data[] = {
-0x8,0x8,0x8,0x8,0x8,0x8,0xf8,
-};
-
-static const BitmapCharRec ch12 = {5,7,0,3,9,ch12data};
-
-/* char: 0xb */
-
-static const GLubyte ch11data[] = {
-0xf8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,
-};
-
-static const BitmapCharRec ch11 = {5,9,0,-3,9,ch11data};
-
-/* char: 0xa */
-
-static const GLubyte ch10data[] = {
-0x8,0x8,0x8,0x8,0x3e,0x0,0x20,0x50,0x88,0x88,
-};
-
-static const BitmapCharRec ch10 = {7,10,-1,2,9,ch10data};
-
-/* char: 0x9 */
-
-static const GLubyte ch9data[] = {
-0x3e,0x20,0x20,0x20,0x20,0x88,0x98,0xa8,0xc8,0x88,
-};
-
-static const BitmapCharRec ch9 = {7,10,-1,2,9,ch9data};
-
-/* char: 0x8 */
-
-static const GLubyte ch8data[] = {
-0xfe,0x10,0x10,0xfe,0x10,0x10,
-};
-
-static const BitmapCharRec ch8 = {7,6,-1,0,9,ch8data};
-
-/* char: 0x7 */
-
-static const GLubyte ch7data[] = {
-0x70,0x88,0x88,0x70,
-};
-
-static const BitmapCharRec ch7 = {5,4,-2,-6,9,ch7data};
-
-/* char: 0x6 */
-
-static const GLubyte ch6data[] = {
-0x20,0x20,0x3c,0x20,0x3e,0x0,0xf8,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch6 = {7,10,-1,2,9,ch6data};
-
-/* char: 0x5 */
-
-static const GLubyte ch5data[] = {
-0x22,0x22,0x3c,0x22,0x3c,0x0,0x78,0x80,0x80,0x78,
-};
-
-static const BitmapCharRec ch5 = {7,10,-1,2,9,ch5data};
-
-/* char: 0x4 */
-
-static const GLubyte ch4data[] = {
-0x10,0x10,0x1c,0x10,0x1e,0x80,0x80,0xe0,0x80,0xf0,
-};
-
-static const BitmapCharRec ch4 = {7,10,-1,2,9,ch4data};
-
-/* char: 0x3 */
-
-static const GLubyte ch3data[] = {
-0x8,0x8,0x8,0x3e,0x0,0x88,0x88,0xf8,0x88,0x88,
-};
-
-static const BitmapCharRec ch3 = {7,10,-1,2,9,ch3data};
-
-/* char: 0x2 */
-
-static const GLubyte ch2data[] = {
-0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,
-};
-
-static const BitmapCharRec ch2 = {8,14,0,3,9,ch2data};
-
-/* char: 0x1 */
-
-static const GLubyte ch1data[] = {
-0x10,0x38,0x7c,0xfe,0x7c,0x38,0x10,
-};
-
-static const BitmapCharRec ch1 = {7,7,-1,0,9,ch1data};
-
-static const BitmapCharRec * const chars[] = {
-&ch0,
-&ch1,
-&ch2,
-&ch3,
-&ch4,
-&ch5,
-&ch6,
-&ch7,
-&ch8,
-&ch9,
-&ch10,
-&ch11,
-&ch12,
-&ch13,
-&ch14,
-&ch15,
-&ch16,
-&ch17,
-&ch18,
-&ch19,
-&ch20,
-&ch21,
-&ch22,
-&ch23,
-&ch24,
-&ch25,
-&ch26,
-&ch27,
-&ch28,
-&ch29,
-&ch30,
-&ch31,
-&ch32,
-&ch33,
-&ch34,
-&ch35,
-&ch36,
-&ch37,
-&ch38,
-&ch39,
-&ch40,
-&ch41,
-&ch42,
-&ch43,
-&ch44,
-&ch45,
-&ch46,
-&ch47,
-&ch48,
-&ch49,
-&ch50,
-&ch51,
-&ch52,
-&ch53,
-&ch54,
-&ch55,
-&ch56,
-&ch57,
-&ch58,
-&ch59,
-&ch60,
-&ch61,
-&ch62,
-&ch63,
-&ch64,
-&ch65,
-&ch66,
-&ch67,
-&ch68,
-&ch69,
-&ch70,
-&ch71,
-&ch72,
-&ch73,
-&ch74,
-&ch75,
-&ch76,
-&ch77,
-&ch78,
-&ch79,
-&ch80,
-&ch81,
-&ch82,
-&ch83,
-&ch84,
-&ch85,
-&ch86,
-&ch87,
-&ch88,
-&ch89,
-&ch90,
-&ch91,
-&ch92,
-&ch93,
-&ch94,
-&ch95,
-&ch96,
-&ch97,
-&ch98,
-&ch99,
-&ch100,
-&ch101,
-&ch102,
-&ch103,
-&ch104,
-&ch105,
-&ch106,
-&ch107,
-&ch108,
-&ch109,
-&ch110,
-&ch111,
-&ch112,
-&ch113,
-&ch114,
-&ch115,
-&ch116,
-&ch117,
-&ch118,
-&ch119,
-&ch120,
-&ch121,
-&ch122,
-&ch123,
-&ch124,
-&ch125,
-&ch126,
-&ch127,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-&ch160,
-&ch161,
-&ch162,
-&ch163,
-&ch164,
-&ch165,
-&ch166,
-&ch167,
-&ch168,
-&ch169,
-&ch170,
-&ch171,
-&ch172,
-&ch173,
-&ch174,
-&ch175,
-&ch176,
-&ch177,
-&ch178,
-&ch179,
-&ch180,
-&ch181,
-&ch182,
-&ch183,
-&ch184,
-&ch185,
-&ch186,
-&ch187,
-&ch188,
-&ch189,
-&ch190,
-&ch191,
-&ch192,
-&ch193,
-&ch194,
-&ch195,
-&ch196,
-&ch197,
-&ch198,
-&ch199,
-&ch200,
-&ch201,
-&ch202,
-&ch203,
-&ch204,
-&ch205,
-&ch206,
-&ch207,
-&ch208,
-&ch209,
-&ch210,
-&ch211,
-&ch212,
-&ch213,
-&ch214,
-&ch215,
-&ch216,
-&ch217,
-&ch218,
-&ch219,
-&ch220,
-&ch221,
-&ch222,
-&ch223,
-&ch224,
-&ch225,
-&ch226,
-&ch227,
-&ch228,
-&ch229,
-&ch230,
-&ch231,
-&ch232,
-&ch233,
-&ch234,
-&ch235,
-&ch236,
-&ch237,
-&ch238,
-&ch239,
-&ch240,
-&ch241,
-&ch242,
-&ch243,
-&ch244,
-&ch245,
-&ch246,
-&ch247,
-&ch248,
-&ch249,
-&ch250,
-&ch251,
-&ch252,
-&ch253,
-&ch254,
-&ch255,
-};
-
-const BitmapFontRec glutBitmap9By15 = {
-"-misc-fixed-medium-r-normal--15-140-75-75-C-90-iso8859-1",
-256,
-0,
-chars
-};
-
diff --git a/src/glut/glx/glut_bitmap.c b/src/glut/glx/glut_bitmap.c
deleted file mode 100644
index 8fec7f1171..0000000000
--- a/src/glut/glx/glut_bitmap.c
+++ /dev/null
@@ -1,57 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include "glutint.h"
-#include "glutbitmap.h"
-
-void GLUTAPIENTRY
-glutBitmapCharacter(GLUTbitmapFont font, int c)
-{
- const BitmapCharRec *ch;
- BitmapFontPtr fontinfo;
- GLint swapbytes, lsbfirst, rowlength;
- GLint skiprows, skippixels, alignment;
-
-#if defined(_WIN32) || defined(GLUT_IMPORT_LIB)
- fontinfo = (BitmapFontPtr) __glutFont(font);
-#else
- fontinfo = (BitmapFontPtr) font;
-#endif
-
- if (c < fontinfo->first ||
- c >= fontinfo->first + fontinfo->num_chars)
- return;
- ch = fontinfo->ch[c - fontinfo->first];
- if (ch) {
- /* Save current modes. */
- glGetIntegerv(GL_UNPACK_SWAP_BYTES, &swapbytes);
- glGetIntegerv(GL_UNPACK_LSB_FIRST, &lsbfirst);
- glGetIntegerv(GL_UNPACK_ROW_LENGTH, &rowlength);
- glGetIntegerv(GL_UNPACK_SKIP_ROWS, &skiprows);
- glGetIntegerv(GL_UNPACK_SKIP_PIXELS, &skippixels);
- glGetIntegerv(GL_UNPACK_ALIGNMENT, &alignment);
- /* Little endian machines (DEC Alpha for example) could
- benefit from setting GL_UNPACK_LSB_FIRST to GL_TRUE
- instead of GL_FALSE, but this would require changing the
- generated bitmaps too. */
- glPixelStorei(GL_UNPACK_SWAP_BYTES, GL_FALSE);
- glPixelStorei(GL_UNPACK_LSB_FIRST, GL_FALSE);
- glPixelStorei(GL_UNPACK_ROW_LENGTH, 0);
- glPixelStorei(GL_UNPACK_SKIP_ROWS, 0);
- glPixelStorei(GL_UNPACK_SKIP_PIXELS, 0);
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- glBitmap(ch->width, ch->height, ch->xorig, ch->yorig,
- ch->advance, 0, ch->bitmap);
- /* Restore saved modes. */
- glPixelStorei(GL_UNPACK_SWAP_BYTES, swapbytes);
- glPixelStorei(GL_UNPACK_LSB_FIRST, lsbfirst);
- glPixelStorei(GL_UNPACK_ROW_LENGTH, rowlength);
- glPixelStorei(GL_UNPACK_SKIP_ROWS, skiprows);
- glPixelStorei(GL_UNPACK_SKIP_PIXELS, skippixels);
- glPixelStorei(GL_UNPACK_ALIGNMENT, alignment);
- }
-}
diff --git a/src/glut/glx/glut_bwidth.c b/src/glut/glx/glut_bwidth.c
deleted file mode 100644
index f9cdb184da..0000000000
--- a/src/glut/glx/glut_bwidth.c
+++ /dev/null
@@ -1,58 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include "glutint.h"
-#include "glutbitmap.h"
-
-/* CENTRY */
-int GLUTAPIENTRY
-glutBitmapWidth(GLUTbitmapFont font, int c)
-{
- BitmapFontPtr fontinfo;
- const BitmapCharRec *ch;
-
-#if defined(_WIN32) || defined(GLUT_IMPORT_LIB)
- fontinfo = (BitmapFontPtr) __glutFont(font);
-#else
- fontinfo = (BitmapFontPtr) font;
-#endif
-
- if (c < fontinfo->first || c >= fontinfo->first + fontinfo->num_chars)
- return 0;
- ch = fontinfo->ch[c - fontinfo->first];
- if (ch)
- return ch->advance;
- else
- return 0;
-}
-
-int GLUTAPIENTRY
-glutBitmapLength(GLUTbitmapFont font, const unsigned char *string)
-{
- int c, length;
- BitmapFontPtr fontinfo;
- const BitmapCharRec *ch;
-
-#if defined(_WIN32) || defined(GLUT_IMPORT_LIB)
- fontinfo = (BitmapFontPtr) __glutFont(font);
-#else
- fontinfo = (BitmapFontPtr) font;
-#endif
-
- length = 0;
- for (; *string != '\0'; string++) {
- c = *string;
- if (c >= fontinfo->first && c < fontinfo->first + fontinfo->num_chars) {
- ch = fontinfo->ch[c - fontinfo->first];
- if (ch)
- length += ch->advance;
- }
- }
- return length;
-}
-
-/* ENDCENTRY */
diff --git a/src/glut/glx/glut_cindex.c b/src/glut/glx/glut_cindex.c
deleted file mode 100644
index d0c12bf3a0..0000000000
--- a/src/glut/glx/glut_cindex.c
+++ /dev/null
@@ -1,252 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994, 1996, 1997. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include <stdlib.h>
-#include "glutint.h"
-
-#define CLAMP(i) ((i) > 1.0 ? 1.0 : ((i) < 0.0 ? 0.0 : (i)))
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutSetColor(int ndx, GLfloat red, GLfloat green, GLfloat blue)
-{
- GLUTcolormap *cmap, *newcmap;
- XVisualInfo *vis;
- XColor color;
- int i;
-
- if (__glutCurrentWindow->renderWin == __glutCurrentWindow->win) {
- cmap = __glutCurrentWindow->colormap;
- vis = __glutCurrentWindow->vis;
- } else {
- cmap = __glutCurrentWindow->overlay->colormap;
- vis = __glutCurrentWindow->overlay->vis;
- if (ndx == __glutCurrentWindow->overlay->transparentPixel) {
- __glutWarning(
- "glutSetColor: cannot set color of overlay transparent index %d\n",
- ndx);
- return;
- }
- }
-
- if (!cmap) {
- __glutWarning("glutSetColor: current window is RGBA");
- return;
- }
-#if defined(_WIN32)
- if (ndx >= 256 || /* always assume 256 colors on Win32 */
-#else
- if (ndx >= vis->visual->map_entries ||
-#endif
- ndx < 0) {
- __glutWarning("glutSetColor: index %d out of range", ndx);
- return;
- }
- if (cmap->refcnt > 1) {
- newcmap = __glutAssociateNewColormap(vis);
- cmap->refcnt--;
- /* Wouldn't it be nice if XCopyColormapAndFree could be
- told not to free the old colormap's entries! */
- for (i = cmap->size - 1; i >= 0; i--) {
- if (i == ndx) {
- /* We are going to set this cell shortly! */
- continue;
- }
- if (cmap->cells[i].component[GLUT_RED] >= 0.0) {
- color.pixel = i;
- newcmap->cells[i].component[GLUT_RED] =
- cmap->cells[i].component[GLUT_RED];
- color.red = (GLfloat) 0xffff *
- cmap->cells[i].component[GLUT_RED];
- newcmap->cells[i].component[GLUT_GREEN] =
- cmap->cells[i].component[GLUT_GREEN];
- color.green = (GLfloat) 0xffff *
- cmap->cells[i].component[GLUT_GREEN];
- newcmap->cells[i].component[GLUT_BLUE] =
- cmap->cells[i].component[GLUT_BLUE];
- color.blue = (GLfloat) 0xffff *
- cmap->cells[i].component[GLUT_BLUE];
- color.flags = DoRed | DoGreen | DoBlue;
-#if defined(_WIN32)
- if (IsWindowVisible(__glutCurrentWindow->win)) {
- XHDC = __glutCurrentWindow->hdc;
- } else {
- XHDC = 0;
- }
-#endif
- XStoreColor(__glutDisplay, newcmap->cmap, &color);
- } else {
- /* Leave unallocated entries unallocated. */
- }
- }
- cmap = newcmap;
- if (__glutCurrentWindow->renderWin == __glutCurrentWindow->win) {
- __glutCurrentWindow->colormap = cmap;
- __glutCurrentWindow->cmap = cmap->cmap;
- } else {
- __glutCurrentWindow->overlay->colormap = cmap;
- __glutCurrentWindow->overlay->cmap = cmap->cmap;
- }
- XSetWindowColormap(__glutDisplay,
- __glutCurrentWindow->renderWin, cmap->cmap);
-
-#if !defined(_WIN32)
- {
- GLUTwindow *toplevel;
-
- toplevel = __glutToplevelOf(__glutCurrentWindow);
- if (toplevel->cmap != cmap->cmap) {
- __glutPutOnWorkList(toplevel, GLUT_COLORMAP_WORK);
- }
- }
-#endif
- }
- color.pixel = ndx;
- red = CLAMP(red);
- cmap->cells[ndx].component[GLUT_RED] = red;
- color.red = (GLfloat) 0xffff *red;
- green = CLAMP(green);
- cmap->cells[ndx].component[GLUT_GREEN] = green;
- color.green = (GLfloat) 0xffff *green;
- blue = CLAMP(blue);
- cmap->cells[ndx].component[GLUT_BLUE] = blue;
- color.blue = (GLfloat) 0xffff *blue;
- color.flags = DoRed | DoGreen | DoBlue;
-#if defined(_WIN32)
- if (IsWindowVisible(__glutCurrentWindow->win)) {
- XHDC = __glutCurrentWindow->hdc;
- } else {
- XHDC = 0;
- }
-#endif
- XStoreColor(__glutDisplay, cmap->cmap, &color);
-}
-
-GLfloat GLUTAPIENTRY
-glutGetColor(int ndx, int comp)
-{
- GLUTcolormap *colormap;
- XVisualInfo *vis;
-
- if (__glutCurrentWindow->renderWin == __glutCurrentWindow->win) {
- colormap = __glutCurrentWindow->colormap;
- vis = __glutCurrentWindow->vis;
- } else {
- colormap = __glutCurrentWindow->overlay->colormap;
- vis = __glutCurrentWindow->overlay->vis;
- if (ndx == __glutCurrentWindow->overlay->transparentPixel) {
- __glutWarning("glutGetColor: requesting overlay transparent index %d\n",
- ndx);
- return -1.0;
- }
- }
-
- if (!colormap) {
- __glutWarning("glutGetColor: current window is RGBA");
- return -1.0;
- }
-#if defined(_WIN32)
-#define OUT_OF_RANGE_NDX(ndx) (ndx >= 256 || ndx < 0)
-#else
-#define OUT_OF_RANGE_NDX(ndx) (ndx >= vis->visual->map_entries || ndx < 0)
-#endif
- if (OUT_OF_RANGE_NDX(ndx)) {
- __glutWarning("glutGetColor: index %d out of range", ndx);
- return -1.0;
- }
- return colormap->cells[ndx].component[comp];
-}
-
-void GLUTAPIENTRY
-glutCopyColormap(int winnum)
-{
- GLUTwindow *window = __glutWindowList[winnum - 1];
- GLUTcolormap *oldcmap, *newcmap;
- XVisualInfo *dstvis;
-
- if (__glutCurrentWindow->renderWin == __glutCurrentWindow->win) {
- oldcmap = __glutCurrentWindow->colormap;
- dstvis = __glutCurrentWindow->vis;
- newcmap = window->colormap;
- } else {
- oldcmap = __glutCurrentWindow->overlay->colormap;
- dstvis = __glutCurrentWindow->overlay->vis;
- if (!window->overlay) {
- __glutWarning("glutCopyColormap: window %d has no overlay", winnum);
- return;
- }
- newcmap = window->overlay->colormap;
- }
-
- if (!oldcmap) {
- __glutWarning("glutCopyColormap: destination colormap must be color index");
- return;
- }
- if (!newcmap) {
- __glutWarning(
- "glutCopyColormap: source colormap of window %d must be color index",
- winnum);
- return;
- }
- if (newcmap == oldcmap) {
- /* Source and destination are the same; now copy needed. */
- return;
- }
-#if !defined(_WIN32)
- /* Play safe: compare visual IDs, not Visual*'s. */
- if (newcmap->visual->visualid == oldcmap->visual->visualid) {
-#endif
- /* Visuals match! "Copy" by reference... */
- __glutFreeColormap(oldcmap);
- newcmap->refcnt++;
- if (__glutCurrentWindow->renderWin == __glutCurrentWindow->win) {
- __glutCurrentWindow->colormap = newcmap;
- __glutCurrentWindow->cmap = newcmap->cmap;
- } else {
- __glutCurrentWindow->overlay->colormap = newcmap;
- __glutCurrentWindow->overlay->cmap = newcmap->cmap;
- }
- XSetWindowColormap(__glutDisplay, __glutCurrentWindow->renderWin,
- newcmap->cmap);
-#if !defined(_WIN32)
- __glutPutOnWorkList(__glutToplevelOf(window), GLUT_COLORMAP_WORK);
- } else {
- GLUTcolormap *copycmap;
- XColor color;
- int i, last;
-
- /* Visuals different - need a distinct X colormap! */
- copycmap = __glutAssociateNewColormap(dstvis);
- /* Wouldn't it be nice if XCopyColormapAndFree could be
- told not to free the old colormap's entries! */
- last = newcmap->size;
- if (last > copycmap->size) {
- last = copycmap->size;
- }
- for (i = last - 1; i >= 0; i--) {
- if (newcmap->cells[i].component[GLUT_RED] >= 0.0) {
- color.pixel = i;
- copycmap->cells[i].component[GLUT_RED] =
- newcmap->cells[i].component[GLUT_RED];
- color.red = (GLfloat) 0xffff *
- newcmap->cells[i].component[GLUT_RED];
- copycmap->cells[i].component[GLUT_GREEN] =
- newcmap->cells[i].component[GLUT_GREEN];
- color.green = (GLfloat) 0xffff *
- newcmap->cells[i].component[GLUT_GREEN];
- copycmap->cells[i].component[GLUT_BLUE] =
- newcmap->cells[i].component[GLUT_BLUE];
- color.blue = (GLfloat) 0xffff *
- newcmap->cells[i].component[GLUT_BLUE];
- color.flags = DoRed | DoGreen | DoBlue;
- XStoreColor(__glutDisplay, copycmap->cmap, &color);
- }
- }
- }
-#endif
-}
-/* ENDCENTRY */
diff --git a/src/glut/glx/glut_cmap.c b/src/glut/glx/glut_cmap.c
deleted file mode 100644
index e8d9e1f01b..0000000000
--- a/src/glut/glx/glut_cmap.c
+++ /dev/null
@@ -1,419 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994, 1996, 1997. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#ifdef __VMS
-#include <GL/vms_x_fix.h>
-#endif
-
-#include <stdlib.h>
-#include <string.h>
-#include <stdio.h> /* SunOS multithreaded assert() needs <stdio.h>. Lame. */
-#include <assert.h>
-#if !defined(_WIN32)
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-#include <X11/Xatom.h> /* for XA_RGB_DEFAULT_MAP atom */
-#if defined(__vms)
-#include <Xmu/StdCmap.h> /* for XmuLookupStandardColormap */
-#else
-#include <X11/Xmu/StdCmap.h> /* for XmuLookupStandardColormap */
-#endif
-#endif
-
-/* SGI optimization introduced in IRIX 6.3 to avoid X server
- round trips for interning common X atoms. */
-#if defined(_SGI_EXTRA_PREDEFINES) && !defined(NO_FAST_ATOMS)
-#include <X11/SGIFastAtom.h>
-#else
-#define XSGIFastInternAtom(dpy,string,fast_name,how) XInternAtom(dpy,string,how)
-#endif
-
-#include "glutint.h"
-#include "layerutil.h"
-
-GLUTcolormap *__glutColormapList = NULL;
-
-GLUTcolormap *
-__glutAssociateNewColormap(XVisualInfo * vis)
-{
- GLUTcolormap *cmap;
- int transparentPixel, i;
- unsigned long pixels[255];
-
- cmap = (GLUTcolormap *) malloc(sizeof(GLUTcolormap));
- if (!cmap)
- __glutFatalError("out of memory.");
-#if defined(_WIN32)
- pixels[0] = 0; /* avoid compilation warnings on win32 */
- cmap->visual = 0;
- cmap->size = 256; /* always assume 256 on Win32 */
-#else
- cmap->visual = vis->visual;
- cmap->size = vis->visual->map_entries;
-#endif
- cmap->refcnt = 1;
- cmap->cells = (GLUTcolorcell *)
- malloc(sizeof(GLUTcolorcell) * cmap->size);
- if (!cmap->cells)
- __glutFatalError("out of memory.");
- /* make all color cell entries be invalid */
- for (i = cmap->size - 1; i >= 0; i--) {
- cmap->cells[i].component[GLUT_RED] = -1.0;
- cmap->cells[i].component[GLUT_GREEN] = -1.0;
- cmap->cells[i].component[GLUT_BLUE] = -1.0;
- }
- transparentPixel = __glutGetTransparentPixel(__glutDisplay, vis);
- if (transparentPixel == -1 || transparentPixel >= cmap->size) {
-
- /* If there is no transparent pixel or if the transparent
- pixel is outside the range of valid colormap cells (HP
- can implement their overlays this smart way since their
- transparent pixel is 255), we can AllocAll the colormap.
- See note below. */
-
- cmap->cmap = XCreateColormap(__glutDisplay,
- __glutRoot, cmap->visual, AllocAll);
- } else {
-
- /* On machines where zero (or some other value in the range
- of 0 through map_entries-1), BadAlloc may be generated
- when an AllocAll overlay colormap is allocated since the
- transparent pixel precludes all the cells in the colormap
- being allocated (the transparent pixel is pre-allocated).
- So in this case, use XAllocColorCells to allocate
- map_entries-1 pixels (that is, all but the transparent
- pixel. */
-
-#if defined(_WIN32)
- cmap->cmap = XCreateColormap(__glutDisplay,
- __glutRoot, 0, AllocNone);
-#else
- cmap->cmap = XCreateColormap(__glutDisplay,
- __glutRoot, vis->visual, AllocNone);
- XAllocColorCells(__glutDisplay, cmap->cmap, False, 0, 0,
- pixels, cmap->size - 1);
-#endif
- }
- cmap->next = __glutColormapList;
- __glutColormapList = cmap;
- return cmap;
-}
-
-static GLUTcolormap *
-associateColormap(XVisualInfo * vis)
-{
-#if !defined(_WIN32)
- GLUTcolormap *cmap = __glutColormapList;
-
- while (cmap != NULL) {
- /* Play safe: compare visual IDs, not Visual*'s. */
- if (cmap->visual->visualid == vis->visual->visualid) {
- /* Already have created colormap for the visual. */
- cmap->refcnt++;
- return cmap;
- }
- cmap = cmap->next;
- }
-#endif
- return __glutAssociateNewColormap(vis);
-}
-
-void
-__glutSetupColormap(XVisualInfo * vi, GLUTcolormap ** colormap, Colormap * cmap)
-{
-#if defined(_WIN32)
- if (vi->dwFlags & PFD_NEED_PALETTE || vi->iPixelType == PFD_TYPE_COLORINDEX) {
- *colormap = associateColormap(vi);
- *cmap = (*colormap)->cmap;
- } else {
- *colormap = NULL;
- *cmap = 0;
- }
-#else
- Status status;
- XStandardColormap *standardCmaps;
- int i, numCmaps;
- static Atom hpColorRecoveryAtom = -1;
- int isRGB, visualClass, rc;
-
-#if defined(__cplusplus) || defined(c_plusplus)
- visualClass = vi->c_class;
-#else
- visualClass = vi->class;
-#endif
- switch (visualClass) {
- case PseudoColor:
- /* Mesa might return a PseudoColor visual for RGB mode. */
- rc = glXGetConfig(__glutDisplay, vi, GLX_RGBA, &isRGB);
- if (rc == 0 && isRGB) {
- /* Must be Mesa. */
- *colormap = NULL;
- if (MaxCmapsOfScreen(DefaultScreenOfDisplay(__glutDisplay)) == 1
- && vi->visual == DefaultVisual(__glutDisplay, __glutScreen)) {
- char *privateCmap = getenv("MESA_PRIVATE_CMAP");
-
- if (privateCmap) {
- /* User doesn't want to share colormaps. */
- *cmap = XCreateColormap(__glutDisplay, __glutRoot,
- vi->visual, AllocNone);
- } else {
- /* Share the root colormap. */
- *cmap = DefaultColormap(__glutDisplay, __glutScreen);
- }
- } else {
- /* Get our own PseudoColor colormap. */
- *cmap = XCreateColormap(__glutDisplay, __glutRoot,
- vi->visual, AllocNone);
- }
- } else {
- /* CI mode, real GLX never returns a PseudoColor visual
- for RGB mode. */
- *colormap = associateColormap(vi);
- *cmap = (*colormap)->cmap;
- }
- break;
- case TrueColor:
- *colormap = NULL; /* NULL if RGBA */
-
- /* Hewlett-Packard supports a feature called "HP Color
- Recovery". Mesa has code to use HP Color Recovery. For
- Mesa to use this feature, the atom
- _HP_RGB_SMOOTH_MAP_LIST must be defined on the root
- window AND the colormap obtainable by XGetRGBColormaps
- for that atom must be set on the window. If that
- colormap is not set, the output will look stripy. */
-
- if (hpColorRecoveryAtom == -1) {
- char *xvendor;
-
-#define VENDOR_HP "Hewlett-Packard"
-
- /* Only makes sense to make XInternAtom round-trip if we
- know that we are connected to an HP X server. */
- xvendor = ServerVendor(__glutDisplay);
- if (!strncmp(xvendor, VENDOR_HP, sizeof(VENDOR_HP) - 1)) {
- hpColorRecoveryAtom = XInternAtom(__glutDisplay, "_HP_RGB_SMOOTH_MAP_LIST", True);
- } else {
- hpColorRecoveryAtom = None;
- }
- }
- if (hpColorRecoveryAtom != None) {
- status = XGetRGBColormaps(__glutDisplay, __glutRoot,
- &standardCmaps, &numCmaps, hpColorRecoveryAtom);
- if (status == 1) {
- for (i = 0; i < numCmaps; i++) {
- if (standardCmaps[i].visualid == vi->visualid) {
- *cmap = standardCmaps[i].colormap;
- XFree(standardCmaps);
- return;
- }
- }
- XFree(standardCmaps);
- }
- }
-#ifndef SOLARIS_2_4_BUG
- /* Solaris 2.4 and 2.5 have a bug in their
- XmuLookupStandardColormap implementations. Please
- compile your Solaris 2.4 or 2.5 version of GLUT with
- -DSOLARIS_2_4_BUG to work around this bug. The symptom
- of the bug is that programs will get a BadMatch error
- from X_CreateWindow when creating a GLUT window because
- Solaris 2.4 and 2.5 create a corrupted RGB_DEFAULT_MAP
- property. Note that this workaround prevents Colormap
- sharing between applications, perhaps leading
- unnecessary colormap installations or colormap flashing.
- Sun fixed this bug in Solaris 2.6. */
- status = XmuLookupStandardColormap(__glutDisplay,
- vi->screen, vi->visualid, vi->depth, XA_RGB_DEFAULT_MAP,
- /* replace */ False, /* retain */ True);
- if (status == 1) {
- status = XGetRGBColormaps(__glutDisplay, __glutRoot,
- &standardCmaps, &numCmaps, XA_RGB_DEFAULT_MAP);
- if (status == 1) {
- for (i = 0; i < numCmaps; i++) {
- if (standardCmaps[i].visualid == vi->visualid) {
- *cmap = standardCmaps[i].colormap;
- XFree(standardCmaps);
- return;
- }
- }
- XFree(standardCmaps);
- }
- }
-#endif
- /* If no standard colormap but TrueColor, just make a
- private one. */
- /* XXX Should do a better job of internal sharing for
- privately allocated TrueColor colormaps. */
- *cmap = XCreateColormap(__glutDisplay, __glutRoot,
- vi->visual, AllocNone);
- break;
- case DirectColor:
- *colormap = NULL; /* NULL if RGBA */
- *cmap = XCreateColormap(__glutDisplay, __glutRoot,
- vi->visual, AllocAll);
- if (vi->depth == 24) {
- /* init the red, green, blue maps to linear ramps */
- XColor xc[256];
- int i;
- for (i = 0; i < 256; i++) {
- xc[i].pixel = (i << 16) | (i << 8) | i;
- xc[i].red = (i << 8) | i;
- xc[i].green = (i << 8) | i;
- xc[i].blue = (i << 8) | i;
- xc[i].flags = DoRed | DoGreen | DoBlue;
- }
- XStoreColors(__glutDisplay, *cmap, xc, 256);
- }
- else {
- fprintf(stderr, "GLUT Error: DirectColor visuals other than 24-bits "
- "not fully supported.\n");
- }
- break;
- case StaticColor:
- case StaticGray:
- case GrayScale:
- /* Mesa supports these visuals */
- *colormap = NULL;
- *cmap = XCreateColormap(__glutDisplay, __glutRoot,
- vi->visual, AllocNone);
- break;
- default:
- __glutFatalError(
- "could not allocate colormap for visual type: %d.",
- visualClass);
- }
- return;
-#endif
-}
-
-#if !defined(_WIN32)
-static int
-findColormaps(GLUTwindow * window,
- Window * winlist, Colormap * cmaplist, int num, int max)
-{
- GLUTwindow *child;
- int i;
-
- /* Do not allow more entries that maximum number of
- colormaps! */
- if (num >= max)
- return num;
- /* Is cmap for this window already on the list? */
- for (i = 0; i < num; i++) {
- if (cmaplist[i] == window->cmap)
- goto normalColormapAlreadyListed;
- }
- /* Not found on the list; add colormap and window. */
- winlist[num] = window->win;
- cmaplist[num] = window->cmap;
- num++;
-
-normalColormapAlreadyListed:
-
- /* Repeat above but for the overlay colormap if there one. */
- if (window->overlay) {
- if (num >= max)
- return num;
- for (i = 0; i < num; i++) {
- if (cmaplist[i] == window->overlay->cmap)
- goto overlayColormapAlreadyListed;
- }
- winlist[num] = window->overlay->win;
- cmaplist[num] = window->overlay->cmap;
- num++;
- }
-overlayColormapAlreadyListed:
-
- /* Recursively search children. */
- child = window->children;
- while (child) {
- num = findColormaps(child, winlist, cmaplist, num, max);
- child = child->siblings;
- }
- return num;
-}
-
-void
-__glutEstablishColormapsProperty(GLUTwindow * window)
-{
- /* this routine is strictly X. Win32 doesn't need to do
- anything of this sort (but has to do other wacky stuff
- later). */
- static Atom wmColormapWindows = None;
- Window *winlist;
- Colormap *cmaplist;
- Status status;
- int maxcmaps, num;
-
- assert(!window->parent);
- maxcmaps = MaxCmapsOfScreen(ScreenOfDisplay(__glutDisplay,
- __glutScreen));
- /* For portability reasons we don't use alloca for winlist
- and cmaplist, but we could. */
- winlist = (Window *) malloc(maxcmaps * sizeof(Window));
- cmaplist = (Colormap *) malloc(maxcmaps * sizeof(Colormap));
- num = findColormaps(window, winlist, cmaplist, 0, maxcmaps);
- if (num < 2) {
- /* Property no longer needed; remove it. */
- wmColormapWindows = XSGIFastInternAtom(__glutDisplay,
- "WM_COLORMAP_WINDOWS", SGI_XA_WM_COLORMAP_WINDOWS, False);
- if (wmColormapWindows == None) {
- __glutWarning("Could not intern X atom for WM_COLORMAP_WINDOWS.");
- return;
- }
- XDeleteProperty(__glutDisplay, window->win, wmColormapWindows);
- } else {
- status = XSetWMColormapWindows(__glutDisplay, window->win,
- winlist, num);
- /* XSetWMColormapWindows should always work unless the
- WM_COLORMAP_WINDOWS property cannot be intern'ed. We
- check to be safe. */
- if (status == False)
- __glutFatalError("XSetWMColormapWindows returned False.");
- }
- /* For portability reasons we don't use alloca for winlist
- and cmaplist, but we could. */
- free(winlist);
- free(cmaplist);
-}
-
-GLUTwindow *
-__glutToplevelOf(GLUTwindow * window)
-{
- while (window->parent) {
- window = window->parent;
- }
- return window;
-}
-#endif
-
-void
-__glutFreeColormap(GLUTcolormap * cmap)
-{
- GLUTcolormap *cur, **prev;
-
- cmap->refcnt--;
- if (cmap->refcnt == 0) {
- /* remove from colormap list */
- cur = __glutColormapList;
- prev = &__glutColormapList;
- while (cur) {
- if (cur == cmap) {
- *prev = cmap->next;
- break;
- }
- prev = &(cur->next);
- cur = cur->next;
- }
- /* actually free colormap */
- XFreeColormap(__glutDisplay, cmap->cmap);
- free(cmap->cells);
- free(cmap);
- }
-}
-
diff --git a/src/glut/glx/glut_cursor.c b/src/glut/glx/glut_cursor.c
deleted file mode 100644
index 797cb49fb0..0000000000
--- a/src/glut/glx/glut_cursor.c
+++ /dev/null
@@ -1,201 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1995, 1998. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include "glutint.h"
-
-#if !defined(_WIN32)
-#include <X11/Xatom.h> /* For XA_CURSOR */
-#include <X11/cursorfont.h>
-#endif
-
-typedef struct _CursorTable {
-#if defined(_WIN32)
- char* glyph;
-#else
- int glyph;
-#endif
- Cursor cursor;
-} CursorTable;
-/* *INDENT-OFF* */
-
-static CursorTable cursorTable[] = {
- {XC_arrow, None}, /* GLUT_CURSOR_RIGHT_ARROW */
- {XC_top_left_arrow, None}, /* GLUT_CURSOR_LEFT_ARROW */
- {XC_hand1, None}, /* GLUT_CURSOR_INFO */
- {XC_pirate, None}, /* GLUT_CURSOR_DESTROY */
- {XC_question_arrow, None}, /* GLUT_CURSOR_HELP */
- {XC_exchange, None}, /* GLUT_CURSOR_CYCLE */
- {XC_spraycan, None}, /* GLUT_CURSOR_SPRAY */
- {XC_watch, None}, /* GLUT_CURSOR_WAIT */
- {XC_xterm, None}, /* GLUT_CURSOR_TEXT */
- {XC_crosshair, None}, /* GLUT_CURSOR_CROSSHAIR */
- {XC_sb_v_double_arrow, None}, /* GLUT_CURSOR_UP_DOWN */
- {XC_sb_h_double_arrow, None}, /* GLUT_CURSOR_LEFT_RIGHT */
- {XC_top_side, None}, /* GLUT_CURSOR_TOP_SIDE */
- {XC_bottom_side, None}, /* GLUT_CURSOR_BOTTOM_SIDE */
- {XC_left_side, None}, /* GLUT_CURSOR_LEFT_SIDE */
- {XC_right_side, None}, /* GLUT_CURSOR_RIGHT_SIDE */
- {XC_top_left_corner, None}, /* GLUT_CURSOR_TOP_LEFT_CORNER */
- {XC_top_right_corner, None}, /* GLUT_CURSOR_TOP_RIGHT_CORNER */
- {XC_bottom_right_corner, None}, /* GLUT_CURSOR_BOTTOM_RIGHT_CORNER */
- {XC_bottom_left_corner, None}, /* GLUT_CURSOR_BOTTOM_LEFT_CORNER */
-};
-/* *INDENT-ON* */
-
-#if !defined(_WIN32)
-static Cursor blankCursor = None;
-static Cursor fullCrosshairCusor = None;
-
-/* SGI X server's support a special property called the
- _SGI_CROSSHAIR_CURSOR that when installed as a window's
- cursor, becomes a full screen crosshair cursor. SGI
- has special cursor generation hardware for this case. */
-static Cursor
-getFullCrosshairCursor(void)
-{
- Cursor cursor;
- Atom crosshairAtom, actualType;
- int rc, actualFormat;
- unsigned long n, left;
- unsigned char *value;
-
- if (fullCrosshairCusor == None) {
- crosshairAtom = XInternAtom(__glutDisplay,
- "_SGI_CROSSHAIR_CURSOR", True);
- if (crosshairAtom != None) {
- value = 0; /* Make compiler happy. */
- rc = XGetWindowProperty(__glutDisplay, __glutRoot,
- crosshairAtom, 0, 1, False, XA_CURSOR, &actualType,
- &actualFormat, &n, &left, &value);
- if (rc == Success && actualFormat == 32 && n >= 1) {
- cursor = ((unsigned long *)value)[0];
- XFree(value);
- return cursor;
- }
- }
- }
- return XCreateFontCursor(__glutDisplay, XC_crosshair);
-}
-
-/* X11 forces you to create a blank cursor if you want
- to disable the cursor. */
-static Cursor
-makeBlankCursor(void)
-{
- static char data[1] =
- {0};
- Cursor cursor;
- Pixmap blank;
- XColor dummy;
-
- blank = XCreateBitmapFromData(__glutDisplay, __glutRoot,
- data, 1, 1);
- if (blank == None)
- __glutFatalError("out of memory.");
- cursor = XCreatePixmapCursor(__glutDisplay, blank, blank,
- &dummy, &dummy, 0, 0);
- XFreePixmap(__glutDisplay, blank);
-
- return cursor;
-}
-#endif /* !_WIN32 */
-
-/* Win32 and X11 use this same function to accomplish
- fairly different tasks. X11 lets you just define the
- cursor for a window and the window system takes care
- of making sure that the window's cursor is installed
- when the mouse is in the window. Win32 requires the
- application to handle a WM_SETCURSOR message to install
- the right cursor when windows are entered. Think of
- the Win32 __glutSetCursor (called from __glutWindowProc)
- as "install cursor". Think of the X11 __glutSetCursor
- (called from glutSetCursor) as "define cursor". */
-void
-__glutSetCursor(GLUTwindow *window)
-{
- int cursor = window->cursor;
- Cursor xcursor = 0;
-
- if (cursor >= 0 &&
- cursor < sizeof(cursorTable) / sizeof(cursorTable[0])) {
- if (cursorTable[cursor].cursor == None) {
- cursorTable[cursor].cursor = XCreateFontCursor(__glutDisplay,
- cursorTable[cursor].glyph);
- }
- xcursor = cursorTable[cursor].cursor;
- } else {
- /* Special cases. */
- switch (cursor) {
- case GLUT_CURSOR_INHERIT:
-#if defined(_WIN32)
- while (window->parent) {
- window = window->parent;
- if (window->cursor != GLUT_CURSOR_INHERIT) {
- __glutSetCursor(window);
- return;
- }
- }
- /* XXX Default to an arrow cursor. Is this
- right or should we be letting the default
- window proc be installing some system cursor? */
- xcursor = cursorTable[0].cursor;
- if (xcursor == NULL) {
- xcursor =
- cursorTable[0].cursor =
- LoadCursor(NULL, cursorTable[0].glyph);
- }
-#else
- xcursor = None;
-#endif
- break;
- case GLUT_CURSOR_NONE:
-#if defined(_WIN32)
- xcursor = NULL;
-#else
- if (blankCursor == None) {
- blankCursor = makeBlankCursor();
- }
- xcursor = blankCursor;
-#endif
- break;
- case GLUT_CURSOR_FULL_CROSSHAIR:
-#if defined(_WIN32)
- xcursor = (HICON) IDC_CROSS;
-#else
- if (fullCrosshairCusor == None) {
- fullCrosshairCusor = getFullCrosshairCursor();
- }
- xcursor = fullCrosshairCusor;
-#endif
- break;
- }
- }
- XDefineCursor(__glutDisplay,
- window->win, xcursor);
- XFlush(__glutDisplay);
-}
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutSetCursor(int cursor)
-{
-#ifdef _WIN32
- POINT point;
-
- __glutCurrentWindow->cursor = cursor;
- /* Are we in the window right now? If so,
- install the cursor. */
- GetCursorPos(&point);
- if (__glutCurrentWindow->win == WindowFromPoint(point)) {
- __glutSetCursor(__glutCurrentWindow);
- }
-#else
- __glutCurrentWindow->cursor = cursor;
- __glutSetCursor(__glutCurrentWindow);
-#endif
-}
-/* ENDCENTRY */
diff --git a/src/glut/glx/glut_dials.c b/src/glut/glx/glut_dials.c
deleted file mode 100644
index e015b91bc4..0000000000
--- a/src/glut/glx/glut_dials.c
+++ /dev/null
@@ -1,26 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include "glutint.h"
-
-void GLUTAPIENTRY
-glutButtonBoxFunc(GLUTbuttonBoxCB buttonBoxFunc)
-{
- __glutCurrentWindow->buttonBox = buttonBoxFunc;
- __glutUpdateInputDeviceMaskFunc = __glutUpdateInputDeviceMask;
- __glutPutOnWorkList(__glutCurrentWindow,
- GLUT_DEVICE_MASK_WORK);
-}
-
-void GLUTAPIENTRY
-glutDialsFunc(GLUTdialsCB dialsFunc)
-{
- __glutCurrentWindow->dials = dialsFunc;
- __glutUpdateInputDeviceMaskFunc = __glutUpdateInputDeviceMask;
- __glutPutOnWorkList(__glutCurrentWindow,
- GLUT_DEVICE_MASK_WORK);
-}
diff --git a/src/glut/glx/glut_dstr.c b/src/glut/glx/glut_dstr.c
deleted file mode 100644
index 2513af4539..0000000000
--- a/src/glut/glx/glut_dstr.c
+++ /dev/null
@@ -1,1624 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1997. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include <assert.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include "glutint.h"
-
-/* glxcaps matches the criteria macros listed in glutint.h, but
- only list the first set (those that correspond to GLX visual
- attributes). */
-static int glxcap[NUM_GLXCAPS] =
-{
- GLX_RGBA,
- GLX_BUFFER_SIZE,
- GLX_DOUBLEBUFFER,
- GLX_STEREO,
- GLX_AUX_BUFFERS,
- GLX_RED_SIZE,
- GLX_GREEN_SIZE,
- GLX_BLUE_SIZE,
- GLX_ALPHA_SIZE,
- GLX_DEPTH_SIZE,
- GLX_STENCIL_SIZE,
- GLX_ACCUM_RED_SIZE,
- GLX_ACCUM_GREEN_SIZE,
- GLX_ACCUM_BLUE_SIZE,
- GLX_ACCUM_ALPHA_SIZE,
- GLX_LEVEL,
-};
-
-#ifdef TEST
-
-#if !defined(_WIN32)
-char *__glutProgramName = "dstr";
-Display *__glutDisplay;
-int __glutScreen;
-XVisualInfo *(*__glutDetermineVisualFromString) (char *string, Bool * treatAsSingle,
- Criterion * requiredCriteria, int nRequired, int requiredMask, void **fbc) = NULL;
-char *__glutDisplayString = NULL;
-#endif
-static int verbose = 0;
-
-static char *compstr[] =
-{
- "none", "=", "!=", "<=", ">=", ">", "<", "~"
-};
-static char *capstr[] =
-{
- "rgba", "bufsize", "double", "stereo", "auxbufs", "red", "green", "blue", "alpha",
- "depth", "stencil", "acred", "acgreen", "acblue", "acalpha", "level", "xvisual",
- "transparent", "samples", "xstaticgray", "xgrayscale", "xstaticcolor", "xpseudocolor",
- "xtruecolor", "xdirectcolor", "slow", "conformant", "num"
-};
-
-static void
-printCriteria(Criterion * criteria, int ncriteria)
-{
- int i;
- printf("Criteria: %d\n", ncriteria);
- for (i = 0; i < ncriteria; i++) {
- printf(" %s %s %d\n",
- capstr[criteria[i].capability],
- compstr[criteria[i].comparison],
- criteria[i].value);
- }
-}
-
-#endif /* TEST */
-
-static int isMesaGLX = -1;
-
-static int
-determineMesaGLX(void)
-{
-#ifdef GLX_VERSION_1_1
- const char *vendor, *version, *ch;
-
- vendor = glXGetClientString(__glutDisplay, GLX_VENDOR);
- if (!strcmp(vendor, "Brian Paul")) {
- version = glXGetClientString(__glutDisplay, GLX_VERSION);
- for (ch = version; *ch != ' ' && *ch != '\0'; ch++);
- for (; *ch == ' ' && *ch != '\0'; ch++);
-
-#define MESA_NAME "Mesa " /* Trailing space is intentional. */
-
- if (!strncmp(MESA_NAME, ch, sizeof(MESA_NAME) - 1)) {
- return 1;
- }
- }
-#else
- /* Recent versions for Mesa should support GLX 1.1 and
- therefore glXGetClientString. If we get into this case,
- we would be compiling against a true OpenGL not supporting
- GLX 1.1, and the resulting compiled library won't work well
- with Mesa then. */
-#endif
- return 0;
-}
-
-static XVisualInfo **
-getMesaVisualList(int *n)
-{
- XVisualInfo **vlist, *vinfo;
- int attribs[23];
- int i, x, cnt;
-
- vlist = (XVisualInfo **) malloc((32 + 16) * sizeof(XVisualInfo *));
- if (!vlist)
- __glutFatalError("out of memory.");
-
- cnt = 0;
- for (i = 0; i < 32; i++) {
- x = 0;
- attribs[x] = GLX_RGBA;
- x++;
- attribs[x] = GLX_RED_SIZE;
- x++;
- attribs[x] = 1;
- x++;
- attribs[x] = GLX_GREEN_SIZE;
- x++;
- attribs[x] = 1;
- x++;
- attribs[x] = GLX_BLUE_SIZE;
- x++;
- attribs[x] = 1;
- x++;
- if (i & 1) {
- attribs[x] = GLX_DEPTH_SIZE;
- x++;
- attribs[x] = 1;
- x++;
- }
- if (i & 2) {
- attribs[x] = GLX_STENCIL_SIZE;
- x++;
- attribs[x] = 1;
- x++;
- }
- if (i & 4) {
- attribs[x] = GLX_ACCUM_RED_SIZE;
- x++;
- attribs[x] = 1;
- x++;
- attribs[x] = GLX_ACCUM_GREEN_SIZE;
- x++;
- attribs[x] = 1;
- x++;
- attribs[x] = GLX_ACCUM_BLUE_SIZE;
- x++;
- attribs[x] = 1;
- x++;
- }
- if (i & 8) {
- attribs[x] = GLX_ALPHA_SIZE;
- x++;
- attribs[x] = 1;
- x++;
- if (i & 4) {
- attribs[x] = GLX_ACCUM_ALPHA_SIZE;
- x++;
- attribs[x] = 1;
- x++;
- }
- }
- if (i & 16) {
- attribs[x] = GLX_DOUBLEBUFFER;
- x++;
- }
- attribs[x] = None;
- x++;
- assert(x <= sizeof(attribs) / sizeof(attribs[0]));
- vinfo = glXChooseVisual(__glutDisplay, __glutScreen, attribs);
- if (vinfo) {
- vlist[cnt] = vinfo;
- cnt++;
- }
- }
- for (i = 0; i < 16; i++) {
- x = 0;
- if (i & 1) {
- attribs[x] = GLX_DEPTH_SIZE;
- x++;
- attribs[x] = 1;
- x++;
- }
- if (i & 2) {
- attribs[x] = GLX_STENCIL_SIZE;
- x++;
- attribs[x] = 1;
- x++;
- }
- if (i & 4) {
- attribs[x] = GLX_DOUBLEBUFFER;
- x++;
- }
- if (i & 8) {
- attribs[x] = GLX_LEVEL;
- x++;
- attribs[x] = 1;
- x++;
-#if defined(GLX_TRANSPARENT_TYPE_EXT) && defined(GLX_TRANSPARENT_INDEX_EXT)
- attribs[x] = GLX_TRANSPARENT_TYPE_EXT;
- x++;
- attribs[x] = GLX_TRANSPARENT_INDEX_EXT;
- x++;
-#endif
- }
- attribs[x] = None;
- x++;
- assert(x <= sizeof(attribs) / sizeof(attribs[0]));
- vinfo = glXChooseVisual(__glutDisplay, __glutScreen, attribs);
- if (vinfo) {
- vlist[cnt] = vinfo;
- cnt++;
- }
- }
-
- *n = cnt;
- return vlist;
-}
-
-static FrameBufferMode *
-loadVisuals(int *nitems_return)
-{
- XVisualInfo *vinfo, **vlist, template;
- FrameBufferMode *fbmodes, *mode;
- int n, i, j, rc, glcapable;
-#if defined(GLX_VERSION_1_1) && defined(GLX_SGIS_multisample)
- int multisample;
-#endif
-#if defined(GLX_VERSION_1_1) && defined(GLX_EXT_visual_info)
- int visual_info;
-#endif
-#if defined(GLX_VERSION_1_1) && defined(GLX_EXT_visual_rating)
- int visual_rating;
-#endif
-#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_fbconfig)
- int fbconfig;
-#endif
-
- isMesaGLX = determineMesaGLX();
- if (isMesaGLX) {
- vlist = getMesaVisualList(&n);
- } else {
-#if !defined(_WIN32)
- template.screen = __glutScreen;
- vinfo = XGetVisualInfo(__glutDisplay, VisualScreenMask, &template, &n);
-#else
- vinfo = XGetVisualInfo(__glutDisplay, 0, &template, &n);
-#endif
- if (vinfo == NULL) {
- *nitems_return = 0;
- return NULL;
- }
- assert(n > 0);
-
- /* Make an array of XVisualInfo* pointers to help the Mesa
- case because each glXChooseVisual call returns a
- distinct XVisualInfo*, not a handy array like
- XGetVisualInfo. (Mesa expects us to return the _exact_
- pointer returned by glXChooseVisual so we could not just
- copy the returned structure.) */
- vlist = (XVisualInfo **) malloc(n * sizeof(XVisualInfo *));
- if (!vlist)
- __glutFatalError("out of memory.");
- for (i = 0; i < n; i++) {
- vlist[i] = &vinfo[i];
- }
- }
-
-#if defined(GLX_VERSION_1_1) && defined(GLX_SGIS_multisample)
- multisample = __glutIsSupportedByGLX("GLX_SGIS_multisample");
-#endif
-#if defined(GLX_VERSION_1_1) && defined(GLX_EXT_visual_info)
- visual_info = __glutIsSupportedByGLX("GLX_EXT_visual_info");
-#endif
-#if defined(GLX_VERSION_1_1) && defined(GLX_EXT_visual_rating)
- visual_rating = __glutIsSupportedByGLX("GLX_EXT_visual_rating");
-#endif
-#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_fbconfig)
- fbconfig = __glutIsSupportedByGLX("GLX_SGIX_fbconfig");
-#endif
-
- fbmodes = (FrameBufferMode *) malloc(n * sizeof(FrameBufferMode));
- if (fbmodes == NULL) {
- *nitems_return = -1;
- free(vlist);
- return NULL;
- }
- for (i = 0; i < n; i++) {
- mode = &fbmodes[i];
- mode->vi = vlist[i];
-#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_fbconfig)
- mode->fbc = NULL;
-#endif
- rc = glXGetConfig(__glutDisplay, vlist[i], GLX_USE_GL, &glcapable);
- if (rc == 0 && glcapable) {
- mode->valid = 1; /* Assume the best until proven
- otherwise. */
- for (j = 0; j < NUM_GLXCAPS; j++) {
- rc = glXGetConfig(__glutDisplay, vlist[i], glxcap[j], &mode->cap[j]);
- if (rc != 0) {
- mode->valid = 0;
- }
- }
-#if defined(_WIN32)
- mode->cap[XVISUAL] = ChoosePixelFormat(XHDC, vlist[i]);
-#else
- mode->cap[XVISUAL] = (int) vlist[i]->visualid;
-#endif
- mode->cap[XSTATICGRAY] = 0;
- mode->cap[XGRAYSCALE] = 0;
- mode->cap[XSTATICCOLOR] = 0;
- mode->cap[XPSEUDOCOLOR] = 0;
- mode->cap[XTRUECOLOR] = 0;
- mode->cap[XDIRECTCOLOR] = 0;
-#if !defined(_WIN32)
-#if defined(__cplusplus) || defined(c_plusplus)
- switch (vlist[i]->c_class) {
-#else
- switch (vlist[i]->class) {
-#endif
- case StaticGray:
- mode->cap[XSTATICGRAY] = 1;
- break;
- case GrayScale:
- mode->cap[XGRAYSCALE] = 1;
- break;
- case StaticColor:
- mode->cap[XSTATICCOLOR] = 1;
- break;
- case PseudoColor:
- mode->cap[XPSEUDOCOLOR] = 1;
- break;
- case TrueColor:
- mode->cap[XTRUECOLOR] = 1;
- break;
- case DirectColor:
- mode->cap[XDIRECTCOLOR] = 1;
- break;
- }
-#endif
-#if defined(GLX_VERSION_1_1) && defined(GLX_EXT_visual_rating)
- if (visual_rating) {
- int rating;
-
-/* babcock@cs.montana.edu reported that DEC UNIX (OSF1) V4.0
- 564 for Alpha did not properly define GLX_VISUAL_CAVEAT_EXT
- in <GL/glx.h> despite claiming to support
- GLX_EXT_visual_rating. */
-#ifndef GLX_VISUAL_CAVEAT_EXT
-#define GLX_VISUAL_CAVEAT_EXT 0x20
-#endif
-
- rc = glXGetConfig(__glutDisplay,
- vlist[i], GLX_VISUAL_CAVEAT_EXT, &rating);
- if (rc != 0) {
- mode->cap[SLOW] = 0;
- mode->cap[CONFORMANT] = 1;
- } else {
- switch (rating) {
- case GLX_SLOW_VISUAL_EXT:
- mode->cap[SLOW] = 1;
- mode->cap[CONFORMANT] = 1;
- break;
-
-/* IRIX 5.3 for the R10K Indigo2 may have shipped without this
- properly defined in /usr/include/GL/glxtokens.h */
-#ifndef GLX_NON_CONFORMANT_VISUAL_EXT
-#define GLX_NON_CONFORMANT_VISUAL_EXT 0x800D
-#endif
-
- case GLX_NON_CONFORMANT_VISUAL_EXT:
- mode->cap[SLOW] = 0;
- mode->cap[CONFORMANT] = 0;
- break;
- case GLX_NONE_EXT:
- default: /* XXX Hopefully this is a good default
- assumption. */
- mode->cap[SLOW] = 0;
- mode->cap[CONFORMANT] = 1;
- break;
- }
- }
- } else {
- mode->cap[TRANSPARENT] = 0;
- }
-#else
- mode->cap[SLOW] = 0;
- mode->cap[CONFORMANT] = 1;
-#endif
-#if defined(GLX_VERSION_1_1) && defined(GLX_EXT_visual_info)
- if (visual_info) {
- int transparent;
-
-/* babcock@cs.montana.edu reported that DEC UNIX (OSF1) V4.0
- 564 for Alpha did not properly define
- GLX_TRANSPARENT_TYPE_EXT in <GL/glx.h> despite claiming to
- support GLX_EXT_visual_info. */
-#ifndef GLX_TRANSPARENT_TYPE_EXT
-#define GLX_TRANSPARENT_TYPE_EXT 0x23
-#endif
-
- rc = glXGetConfig(__glutDisplay,
- vlist[i], GLX_TRANSPARENT_TYPE_EXT, &transparent);
- if (rc != 0) {
- mode->cap[TRANSPARENT] = 0;
- } else {
- mode->cap[TRANSPARENT] = (transparent != GLX_NONE_EXT);
- }
- } else {
- mode->cap[TRANSPARENT] = 0;
- }
-#else
- mode->cap[TRANSPARENT] = 0;
-#endif
-#if defined(GLX_VERSION_1_1) && defined(GLX_SGIS_multisample)
- if (multisample) {
- rc = glXGetConfig(__glutDisplay,
- vlist[i], GLX_SAMPLES_SGIS, &mode->cap[SAMPLES]);
- if (rc != 0) {
- mode->cap[SAMPLES] = 0;
- }
- } else {
- mode->cap[SAMPLES] = 0;
- }
-#else
- mode->cap[SAMPLES] = 0;
-#endif
- } else {
-#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_fbconfig)
- if (fbconfig) {
- GLXFBConfigSGIX fbc;
- int fbconfigID, drawType, renderType;
-
- fbc = __glut_glXGetFBConfigFromVisualSGIX(__glutDisplay, vlist[i]);
- if (fbc) {
- rc = __glut_glXGetFBConfigAttribSGIX(__glutDisplay, fbc,
- GLX_FBCONFIG_ID_SGIX, &fbconfigID);
- if ((rc == 0) && (fbconfigID != None)) {
- rc = __glut_glXGetFBConfigAttribSGIX(__glutDisplay, fbc,
- GLX_DRAWABLE_TYPE_SGIX, &drawType);
- if ((rc == 0) && (drawType & GLX_WINDOW_BIT_SGIX)) {
- rc = __glut_glXGetFBConfigAttribSGIX(__glutDisplay, fbc,
- GLX_RENDER_TYPE_SGIX, &renderType);
- if ((rc == 0) && (renderType & GLX_RGBA_BIT_SGIX)) {
- mode->fbc = fbc;
- mode->valid = 1; /* Assume the best until
- proven otherwise. */
-
- assert(glxcap[0] == GLX_RGBA);
- mode->cap[0] = 1;
-
- /* Start with "j = 1" to skip the GLX_RGBA attribute. */
- for (j = 1; j < NUM_GLXCAPS; j++) {
- rc = __glut_glXGetFBConfigAttribSGIX(__glutDisplay,
- fbc, glxcap[j], &mode->cap[j]);
- if (rc != 0) {
- mode->valid = 0;
- }
- }
-
- mode->cap[XVISUAL] = (int) vlist[i]->visualid;
- mode->cap[XSTATICGRAY] = 0;
- mode->cap[XGRAYSCALE] = 0;
- mode->cap[XSTATICCOLOR] = 0;
- mode->cap[XPSEUDOCOLOR] = 0;
- mode->cap[XTRUECOLOR] = 0;
- mode->cap[XDIRECTCOLOR] = 0;
-#if defined(__cplusplus) || defined(c_plusplus)
- switch (vlist[i]->c_class) {
-#else
- switch (vlist[i]->class) {
-#endif
- case StaticGray:
- mode->cap[XSTATICGRAY] = 1;
- break;
- case GrayScale:
- mode->cap[XGRAYSCALE] = 1;
- break;
- case StaticColor:
- mode->cap[XSTATICCOLOR] = 1;
- break;
- case PseudoColor:
- mode->cap[XPSEUDOCOLOR] = 1;
- break;
- case TrueColor:
- mode->cap[XTRUECOLOR] = 1;
- break;
- case DirectColor:
- mode->cap[XDIRECTCOLOR] = 1;
- break;
- }
-#if defined(GLX_VERSION_1_1) && defined(GLX_EXT_visual_rating)
- if (visual_rating) {
- int rating;
-
-/* babcock@cs.montana.edu reported that DEC UNIX (OSF1) V4.0
- 564 for Alpha did not properly define GLX_VISUAL_CAVEAT_EXT
- in <GL/glx.h> despite claiming to support
- GLX_EXT_visual_rating. */
-#ifndef GLX_VISUAL_CAVEAT_EXT
-#define GLX_VISUAL_CAVEAT_EXT 0x20
-#endif
-
- rc = __glut_glXGetFBConfigAttribSGIX(__glutDisplay,
- fbc, GLX_VISUAL_CAVEAT_EXT, &rating);
- if (rc != 0) {
- mode->cap[SLOW] = 0;
- mode->cap[CONFORMANT] = 1;
- } else {
- switch (rating) {
- case GLX_SLOW_VISUAL_EXT:
- mode->cap[SLOW] = 1;
- mode->cap[CONFORMANT] = 1;
- break;
-
-/* IRIX 5.3 for the R10K Indigo2 may have shipped without this
- properly defined in /usr/include/GL/glxtokens.h */
-#ifndef GLX_NON_CONFORMANT_VISUAL_EXT
-#define GLX_NON_CONFORMANT_VISUAL_EXT 0x800D
-#endif
-
- case GLX_NON_CONFORMANT_VISUAL_EXT:
- mode->cap[SLOW] = 0;
- mode->cap[CONFORMANT] = 0;
- break;
- case GLX_NONE_EXT:
- default: /* XXX Hopefully this is a good
- default assumption. */
- mode->cap[SLOW] = 0;
- mode->cap[CONFORMANT] = 1;
- break;
- }
- }
- } else {
- mode->cap[TRANSPARENT] = 0;
- }
-#else
- mode->cap[SLOW] = 0;
- mode->cap[CONFORMANT] = 1;
-#endif
-#if defined(GLX_VERSION_1_1) && defined(GLX_EXT_visual_info)
- if (visual_info) {
- int transparent;
-
-/* babcock@cs.montana.edu reported that DEC UNIX (OSF1) V4.0
- 564 for Alpha did not properly define
- GLX_TRANSPARENT_TYPE_EXT in <GL/glx.h> despite claiming to
- support GLX_EXT_visual_info. */
-#ifndef GLX_TRANSPARENT_TYPE_EXT
-#define GLX_TRANSPARENT_TYPE_EXT 0x23
-#endif
-
- rc = __glut_glXGetFBConfigAttribSGIX(__glutDisplay,
- fbc, GLX_TRANSPARENT_TYPE_EXT, &transparent);
- if (rc != 0) {
- mode->cap[TRANSPARENT] = 0;
- } else {
- mode->cap[TRANSPARENT] = (transparent != GLX_NONE_EXT);
- }
- } else {
- mode->cap[TRANSPARENT] = 0;
- }
-#else
- mode->cap[TRANSPARENT] = 0;
-#endif
-#if defined(GLX_VERSION_1_1) && defined(GLX_SGIS_multisample)
- if (multisample) {
- rc = __glut_glXGetFBConfigAttribSGIX(__glutDisplay,
- fbc, GLX_SAMPLES_SGIS, &mode->cap[SAMPLES]);
- if (rc != 0) {
- mode->cap[SAMPLES] = 0;
- }
- } else {
- mode->cap[SAMPLES] = 0;
- }
-#else
- mode->cap[SAMPLES] = 0;
-#endif
-
- } else {
- /* Fbconfig is not RGBA; GLUT only uses RGBA
- FBconfigs. */
- /* XXX Code could be exteneded to handle color
- index FBconfigs, but seems a color index
- window-renderable FBconfig would also be
- advertised as an X visual. */
- mode->valid = 0;
- }
- } else {
- /* Fbconfig does not support window rendering;
- not a valid FBconfig for GLUT windows. */
- mode->valid = 0;
- }
- } else {
- /* FBconfig ID is None (zero); not a valid
- FBconfig. */
- mode->valid = 0;
- }
- } else {
- /* FBconfig ID is None (zero); not a valid FBconfig. */
- mode->valid = 0;
- }
- } else {
- /* No SGIX_fbconfig GLX sever implementation support. */
- mode->valid = 0;
- }
-#else
- /* No SGIX_fbconfig GLX extension API support. */
- mode->valid = 0;
-#endif
- }
- }
-
- free(vlist);
- *nitems_return = n;
- return fbmodes;
-}
-
-static XVisualInfo *
-findMatch(FrameBufferMode * fbmodes, int nfbmodes,
- Criterion * criteria, int ncriteria, void **fbc)
-{
- FrameBufferMode *found;
- int *bestScore, *thisScore;
- int i, j, numok, result = 0, worse, better;
-
- found = NULL;
- numok = 1; /* "num" capability is indexed from 1,
- not 0. */
-
- /* XXX alloca canidate. */
- bestScore = (int *) malloc(ncriteria * sizeof(int));
- if (!bestScore)
- __glutFatalError("out of memory.");
- for (j = 0; j < ncriteria; j++) {
- /* Very negative number. */
- bestScore[j] = -32768;
- }
-
- /* XXX alloca canidate. */
- thisScore = (int *) malloc(ncriteria * sizeof(int));
- if (!thisScore)
- __glutFatalError("out of memory.");
-
- for (i = 0; i < nfbmodes; i++) {
- if (fbmodes[i].valid) {
-#ifdef TEST
-#if !defined(_WIN32)
- if (verbose)
- printf("Visual 0x%x\n", fbmodes[i].vi->visualid);
-#endif
-#endif
-
- worse = 0;
- better = 0;
-
- for (j = 0; j < ncriteria; j++) {
- int cap, cvalue, fbvalue;
-
- cap = criteria[j].capability;
- cvalue = criteria[j].value;
- if (cap == NUM) {
- fbvalue = numok;
- } else {
- fbvalue = fbmodes[i].cap[cap];
- }
-#ifdef TEST
- if (verbose)
- printf(" %s %s %d to %d\n",
- capstr[cap], compstr[criteria[j].comparison], cvalue, fbvalue);
-#endif
- switch (criteria[j].comparison) {
- case EQ:
- result = cvalue == fbvalue;
- thisScore[j] = 1;
- break;
- case NEQ:
- result = cvalue != fbvalue;
- thisScore[j] = 1;
- break;
- case LT:
- result = fbvalue < cvalue;
- thisScore[j] = fbvalue - cvalue;
- break;
- case GT:
- result = fbvalue > cvalue;
- thisScore[j] = fbvalue - cvalue;
- break;
- case LTE:
- result = fbvalue <= cvalue;
- thisScore[j] = fbvalue - cvalue;
- break;
- case GTE:
- result = (fbvalue >= cvalue);
- thisScore[j] = fbvalue - cvalue;
- break;
- case MIN:
- result = fbvalue >= cvalue;
- thisScore[j] = cvalue - fbvalue;
- break;
- }
-
-#ifdef TEST
- if (verbose)
- printf(" result=%d score=%d bestScore=%d\n", result, thisScore[j], bestScore[j]);
-#endif
-
- if (result) {
- if (better || thisScore[j] > bestScore[j]) {
- better = 1;
- } else if (thisScore[j] == bestScore[j]) {
- /* Keep looking. */
- } else {
- goto nextFBM;
- }
- } else {
- if (cap == NUM) {
- worse = 1;
- } else {
- goto nextFBM;
- }
- }
-
- }
-
- if (better && !worse) {
- found = &fbmodes[i];
- for (j = 0; j < ncriteria; j++) {
- bestScore[j] = thisScore[j];
- }
- }
- numok++;
-
- nextFBM:;
-
- }
- }
- free(bestScore);
- free(thisScore);
- if (found) {
-#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_fbconfig)
- *fbc = found->fbc;
-#endif
- return found->vi;
- } else {
- return NULL;
- }
-}
-
-static int
-parseCriteria(char *word, Criterion * criterion, int *mask,
- Bool * allowDoubleAsSingle)
-{
- char *cstr, *vstr, *response;
- int comparator, value = 0;
- int rgb, rgba, acc, acca, count, i;
-
- cstr = strpbrk(word, "=><!~");
- if (cstr) {
- switch (cstr[0]) {
- case '=':
- comparator = EQ;
- vstr = &cstr[1];
- break;
- case '~':
- comparator = MIN;
- vstr = &cstr[1];
- break;
- case '>':
- if (cstr[1] == '=') {
- comparator = GTE;
- vstr = &cstr[2];
- } else {
- comparator = GT;
- vstr = &cstr[1];
- }
- break;
- case '<':
- if (cstr[1] == '=') {
- comparator = LTE;
- vstr = &cstr[2];
- } else {
- comparator = LT;
- vstr = &cstr[1];
- }
- break;
- case '!':
- if (cstr[1] == '=') {
- comparator = NEQ;
- vstr = &cstr[2];
- } else {
- return -1;
- }
- break;
- default:
- return -1;
- }
- value = (int) strtol(vstr, &response, 0);
- if (response == vstr) {
- /* Not a valid number. */
- return -1;
- }
- *cstr = '\0';
- } else {
- comparator = NONE;
- }
- switch (word[0]) {
- case 'a':
- if (!strcmp(word, "alpha")) {
- criterion[0].capability = ALPHA_SIZE;
- if (comparator == NONE) {
- criterion[0].comparison = GTE;
- criterion[0].value = 1;
- } else {
- criterion[0].comparison = comparator;
- criterion[0].value = value;
- }
- *mask |= (1 << RGBA);
- *mask |= (1 << ALPHA_SIZE);
- *mask |= (1 << RGBA_MODE);
- return 1;
- }
- acca = !strcmp(word, "acca");
- acc = !strcmp(word, "acc");
- if (acc || acca) {
- criterion[0].capability = ACCUM_RED_SIZE;
- criterion[1].capability = ACCUM_GREEN_SIZE;
- criterion[2].capability = ACCUM_BLUE_SIZE;
- criterion[3].capability = ACCUM_ALPHA_SIZE;
- if (acca) {
- count = 4;
- } else {
- count = 3;
- criterion[3].comparison = MIN;
- criterion[3].value = 0;
- }
- if (comparator == NONE) {
- comparator = GTE;
- value = 8;
- }
- for (i = 0; i < count; i++) {
- criterion[i].comparison = comparator;
- criterion[i].value = value;
- }
- *mask |= (1 << ACCUM_RED_SIZE);
- return 4;
- }
- if (!strcmp(word, "auxbufs")) {
- criterion[0].capability = AUX_BUFFERS;
- if (comparator == NONE) {
- criterion[0].comparison = MIN;
- criterion[0].value = 1;
- } else {
- criterion[0].comparison = comparator;
- criterion[0].value = value;
- }
- *mask |= (1 << AUX_BUFFERS);
- return 1;
- }
- return -1;
- case 'b':
- if (!strcmp(word, "blue")) {
- criterion[0].capability = BLUE_SIZE;
- if (comparator == NONE) {
- criterion[0].comparison = GTE;
- criterion[0].value = 1;
- } else {
- criterion[0].comparison = comparator;
- criterion[0].value = value;
- }
- *mask |= (1 << RGBA);
- *mask |= (1 << RGBA_MODE);
- return 1;
- }
- if (!strcmp(word, "buffer")) {
- criterion[0].capability = BUFFER_SIZE;
- if (comparator == NONE) {
- criterion[0].comparison = GTE;
- criterion[0].value = 1;
- } else {
- criterion[0].comparison = comparator;
- criterion[0].value = value;
- }
- return 1;
- }
- return -1;
- case 'c':
- if (!strcmp(word, "conformant")) {
- criterion[0].capability = CONFORMANT;
- if (comparator == NONE) {
- criterion[0].comparison = EQ;
- criterion[0].value = 1;
- } else {
- criterion[0].comparison = comparator;
- criterion[0].value = value;
- }
- *mask |= (1 << CONFORMANT);
- return 1;
- }
- return -1;
- case 'd':
- if (!strcmp(word, "depth")) {
- criterion[0].capability = DEPTH_SIZE;
- if (comparator == NONE) {
- criterion[0].comparison = GTE;
- criterion[0].value = 12;
- } else {
- criterion[0].comparison = comparator;
- criterion[0].value = value;
- }
- *mask |= (1 << DEPTH_SIZE);
- return 1;
- }
- if (!strcmp(word, "double")) {
- criterion[0].capability = DOUBLEBUFFER;
- if (comparator == NONE) {
- criterion[0].comparison = EQ;
- criterion[0].value = 1;
- } else {
- criterion[0].comparison = comparator;
- criterion[0].value = value;
- }
- *mask |= (1 << DOUBLEBUFFER);
- return 1;
- }
- return -1;
- case 'g':
- if (!strcmp(word, "green")) {
- criterion[0].capability = GREEN_SIZE;
- if (comparator == NONE) {
- criterion[0].comparison = GTE;
- criterion[0].value = 1;
- } else {
- criterion[0].comparison = comparator;
- criterion[0].value = value;
- }
- *mask |= (1 << RGBA);
- *mask |= (1 << RGBA_MODE);
- return 1;
- }
- return -1;
- case 'i':
- if (!strcmp(word, "index")) {
- criterion[0].capability = RGBA;
- criterion[0].comparison = EQ;
- criterion[0].value = 0;
- *mask |= (1 << RGBA);
- *mask |= (1 << CI_MODE);
- criterion[1].capability = BUFFER_SIZE;
- if (comparator == NONE) {
- criterion[1].comparison = GTE;
- criterion[1].value = 1;
- } else {
- criterion[1].comparison = comparator;
- criterion[1].value = value;
- }
- return 2;
- }
- return -1;
- case 'l':
- if (!strcmp(word, "luminance")) {
- criterion[0].capability = RGBA;
- criterion[0].comparison = EQ;
- criterion[0].value = 1;
-
- criterion[1].capability = RED_SIZE;
- if (comparator == NONE) {
- criterion[1].comparison = GTE;
- criterion[1].value = 1;
- } else {
- criterion[1].comparison = comparator;
- criterion[1].value = value;
- }
-
- criterion[2].capability = GREEN_SIZE;
- criterion[2].comparison = EQ;
- criterion[2].value = 0;
-
- criterion[3].capability = BLUE_SIZE;
- criterion[3].comparison = EQ;
- criterion[3].value = 0;
-
- *mask |= (1 << RGBA);
- *mask |= (1 << RGBA_MODE);
- *mask |= (1 << LUMINANCE_MODE);
- return 4;
- }
- return -1;
- case 'n':
- if (!strcmp(word, "num")) {
- criterion[0].capability = NUM;
- if (comparator == NONE) {
- return -1;
- } else {
- criterion[0].comparison = comparator;
- criterion[0].value = value;
- return 1;
- }
- }
- return -1;
- case 'r':
- if (!strcmp(word, "red")) {
- criterion[0].capability = RED_SIZE;
- if (comparator == NONE) {
- criterion[0].comparison = GTE;
- criterion[0].value = 1;
- } else {
- criterion[0].comparison = comparator;
- criterion[0].value = value;
- }
- *mask |= (1 << RGBA);
- *mask |= (1 << RGBA_MODE);
- return 1;
- }
- rgba = !strcmp(word, "rgba");
- rgb = !strcmp(word, "rgb");
- if (rgb || rgba) {
- criterion[0].capability = RGBA;
- criterion[0].comparison = EQ;
- criterion[0].value = 1;
-
- criterion[1].capability = RED_SIZE;
- criterion[2].capability = GREEN_SIZE;
- criterion[3].capability = BLUE_SIZE;
- criterion[4].capability = ALPHA_SIZE;
- if (rgba) {
- count = 5;
- } else {
- count = 4;
- criterion[4].comparison = MIN;
- criterion[4].value = 0;
- }
- if (comparator == NONE) {
- comparator = GTE;
- value = 1;
- }
- for (i = 1; i < count; i++) {
- criterion[i].comparison = comparator;
- criterion[i].value = value;
- }
- *mask |= (1 << RGBA);
- *mask |= (1 << RGBA_MODE);
- return 5;
- }
- return -1;
- case 's':
- if (!strcmp(word, "stencil")) {
- criterion[0].capability = STENCIL_SIZE;
- if (comparator == NONE) {
- criterion[0].comparison = MIN;
- criterion[0].value = 1;
- } else {
- criterion[0].comparison = comparator;
- criterion[0].value = value;
- }
- *mask |= (1 << STENCIL_SIZE);
- return 1;
- }
- if (!strcmp(word, "single")) {
- criterion[0].capability = DOUBLEBUFFER;
- if (comparator == NONE) {
- criterion[0].comparison = EQ;
- criterion[0].value = 0;
- *allowDoubleAsSingle = True;
- *mask |= (1 << DOUBLEBUFFER);
- return 1;
- } else {
- return -1;
- }
- }
- if (!strcmp(word, "stereo")) {
- criterion[0].capability = STEREO;
- if (comparator == NONE) {
- criterion[0].comparison = EQ;
- criterion[0].value = 1;
- } else {
- criterion[0].comparison = comparator;
- criterion[0].value = value;
- }
- *mask |= (1 << STEREO);
- return 1;
- }
- if (!strcmp(word, "samples")) {
- criterion[0].capability = SAMPLES;
- if (comparator == NONE) {
- criterion[0].comparison = LTE;
- criterion[0].value = 4;
- } else {
- criterion[0].comparison = comparator;
- criterion[0].value = value;
- }
- *mask |= (1 << SAMPLES);
- return 1;
- }
- if (!strcmp(word, "slow")) {
- criterion[0].capability = SLOW;
- if (comparator == NONE) {
- /* Just "slow" means permit fast visuals, but accept
- slow ones in preference. Presumably the slow ones
- must be higher quality or something else desirable. */
- criterion[0].comparison = GTE;
- criterion[0].value = 0;
- } else {
- criterion[0].comparison = comparator;
- criterion[0].value = value;
- }
- *mask |= (1 << SLOW);
- return 1;
- }
- return -1;
-#if defined(_WIN32)
- case 'w':
- if (!strcmp(word, "win32pfd")) {
- criterion[0].capability = XVISUAL;
- if (comparator == NONE) {
- return -1;
- } else {
- criterion[0].comparison = comparator;
- criterion[0].value = value;
- return 1;
- }
- }
- return -1;
-#endif
-#if !defined(_WIN32)
- case 'x':
- if (!strcmp(word, "xvisual")) {
- if (comparator == NONE) {
- return -1;
- } else {
- criterion[0].capability = XVISUAL;
- criterion[0].comparison = comparator;
- criterion[0].value = value;
- /* Set everything in "mask" so that no default criteria
- get used. Assume the program really wants the
- xvisual specified. */
- *mask |= ~0;
- return 1;
- }
- }
- /* Be a little over-eager to fill in the comparison and
- value so we won't have to replicate the code after each
- string match. */
- if (comparator == NONE) {
- criterion[0].comparison = EQ;
- criterion[0].value = 1;
- } else {
- criterion[0].comparison = comparator;
- criterion[0].value = value;
- }
-
- if (!strcmp(word, "xstaticgray")) {
- criterion[0].capability = XSTATICGRAY;
- *mask |= (1 << XSTATICGRAY); /* Indicates _any_ visual
- class selected. */
- return 1;
- }
- if (!strcmp(word, "xgrayscale")) {
- criterion[0].capability = XGRAYSCALE;
- *mask |= (1 << XSTATICGRAY); /* Indicates _any_ visual
- class selected. */
- return 1;
- }
- if (!strcmp(word, "xstaticcolor")) {
- criterion[0].capability = XSTATICCOLOR;
- *mask |= (1 << XSTATICGRAY); /* Indicates _any_ visual
- class selected. */
- return 1;
- }
- if (!strcmp(word, "xpseudocolor")) {
- criterion[0].capability = XPSEUDOCOLOR;
- *mask |= (1 << XSTATICGRAY); /* Indicates _any_ visual
- class selected. */
- return 1;
- }
- if (!strcmp(word, "xtruecolor")) {
- criterion[0].capability = XTRUECOLOR;
- *mask |= (1 << XSTATICGRAY); /* Indicates _any_ visual
- class selected. */
- return 1;
- }
- if (!strcmp(word, "xdirectcolor")) {
- criterion[0].capability = XDIRECTCOLOR;
- *mask |= (1 << XSTATICGRAY); /* Indicates _any_ visual
- class selected. */
- return 1;
- }
- return -1;
-#endif
- default:
- return -1;
- }
-}
-
-static Criterion *
-parseModeString(char *mode, int *ncriteria, Bool * allowDoubleAsSingle,
- Criterion * requiredCriteria, int nRequired, int requiredMask)
-{
- Criterion *criteria = NULL;
- int n, mask, parsed, i;
- char *copy, *word;
-
- *allowDoubleAsSingle = False;
- copy = __glutStrdup(mode);
- /* Attempt to estimate how many criteria entries should be
- needed. */
- n = 0;
- word = strtok(copy, " \t");
- while (word) {
- n++;
- word = strtok(NULL, " \t");
- }
- /* Overestimate by 4 times ("rgba" might add four criteria
- entries) plus add in possible defaults plus space for
- required criteria. */
- criteria = (Criterion *) malloc((4 * n + 30 + nRequired) * sizeof(Criterion));
- if (!criteria) {
- __glutFatalError("out of memory.");
- }
-
- /* Re-copy the copy of the mode string. */
- strcpy(copy, mode);
-
- /* First add the required criteria (these match at the
- highest priority). Typically these will be used to force a
- specific level (layer), transparency, and/or visual type. */
- mask = requiredMask;
- for (i = 0; i < nRequired; i++) {
- criteria[i] = requiredCriteria[i];
- }
- n = nRequired;
-
- word = strtok(copy, " \t");
- while (word) {
- parsed = parseCriteria(word, &criteria[n], &mask, allowDoubleAsSingle);
- if (parsed >= 0) {
- n += parsed;
- } else {
- __glutWarning("Unrecognized display string word: %s (ignoring)\n", word);
- }
- word = strtok(NULL, " \t");
- }
-
-#if defined(GLX_VERSION_1_1) && defined(GLX_SGIS_multisample)
- if (__glutIsSupportedByGLX("GLX_SGIS_multisample")) {
- if (!(mask & (1 << SAMPLES))) {
- criteria[n].capability = SAMPLES;
- criteria[n].comparison = EQ;
- criteria[n].value = 0;
- n++;
- } else {
- /* Multisample visuals are marked nonconformant. If
- multisampling was requeste and no conformant
- preference was set, assume that we will settle for a
- non-conformant visual to get multisampling. */
- if (!(mask & (1 << CONFORMANT))) {
- criteria[n].capability = CONFORMANT;
- criteria[n].comparison = MIN;
- criteria[n].value = 0;
- n++;
- mask |= (1 << CONFORMANT);
- }
- }
- }
-#endif
-#if defined(GLX_VERSION_1_1) && defined(GLX_EXT_visual_info)
- if (__glutIsSupportedByGLX("GLX_EXT_visual_info")) {
- if (!(mask & (1 << TRANSPARENT))) {
- criteria[n].capability = TRANSPARENT;
- criteria[n].comparison = EQ;
- criteria[n].value = 0;
- n++;
- }
- }
-#endif
-#if defined(GLX_VERSION_1_1) && defined(GLX_EXT_visual_rating)
- if (__glutIsSupportedByGLX("GLX_EXT_visual_rating")) {
- if (!(mask & (1 << SLOW))) {
- criteria[n].capability = SLOW;
- criteria[n].comparison = EQ;
- criteria[n].value = 0;
- n++;
- }
- if (!(mask & (1 << CONFORMANT))) {
- criteria[n].capability = CONFORMANT;
- criteria[n].comparison = EQ;
- criteria[n].value = 1;
- n++;
- }
- }
-#endif
- if (!(mask & (1 << ACCUM_RED_SIZE))) {
- criteria[n].capability = ACCUM_RED_SIZE;
- criteria[n].comparison = MIN;
- criteria[n].value = 0;
- criteria[n + 1].capability = ACCUM_GREEN_SIZE;
- criteria[n + 1].comparison = MIN;
- criteria[n + 1].value = 0;
- criteria[n + 2].capability = ACCUM_BLUE_SIZE;
- criteria[n + 2].comparison = MIN;
- criteria[n + 2].value = 0;
- criteria[n + 3].capability = ACCUM_ALPHA_SIZE;
- criteria[n + 3].comparison = MIN;
- criteria[n + 3].value = 0;
- n += 4;
- }
- if (!(mask & (1 << AUX_BUFFERS))) {
- criteria[n].capability = AUX_BUFFERS;
- criteria[n].comparison = MIN;
- criteria[n].value = 0;
- n++;
- }
- if (!(mask & (1 << RGBA))) {
- criteria[n].capability = RGBA;
- criteria[n].comparison = EQ;
- criteria[n].value = 1;
- criteria[n + 1].capability = RED_SIZE;
- criteria[n + 1].comparison = GTE;
- criteria[n + 1].value = 1;
- criteria[n + 2].capability = GREEN_SIZE;
- criteria[n + 2].comparison = GTE;
- criteria[n + 2].value = 1;
- criteria[n + 3].capability = BLUE_SIZE;
- criteria[n + 3].comparison = GTE;
- criteria[n + 3].value = 1;
- criteria[n + 4].capability = ALPHA_SIZE;
- criteria[n + 4].comparison = MIN;
- criteria[n + 4].value = 0;
- n += 5;
- mask |= (1 << RGBA_MODE);
- }
-#if !defined(_WIN32)
- if (!(mask & (1 << XSTATICGRAY))) {
- assert(isMesaGLX != -1);
- if ((mask & (1 << RGBA_MODE)) && !isMesaGLX) {
- /* Normally, request an RGBA mode visual be TrueColor,
- except in the case of Mesa where we trust Mesa (and
- other code in GLUT) to handle any type of RGBA visual
- reasonably. */
- if (mask & (1 << LUMINANCE_MODE)) {
- /* If RGBA luminance was requested, actually go for
- a StaticGray visual. */
- criteria[n].capability = XSTATICGRAY;
- } else {
- criteria[n].capability = XTRUECOLOR;
- }
- criteria[n].value = 1;
- criteria[n].comparison = EQ;
-
- n++;
- }
- if (mask & (1 << CI_MODE)) {
- criteria[n].capability = XPSEUDOCOLOR;
- criteria[n].value = 1;
- criteria[n].comparison = EQ;
- n++;
- }
- }
-#endif
- if (!(mask & (1 << STEREO))) {
- criteria[n].capability = STEREO;
- criteria[n].comparison = EQ;
- criteria[n].value = 0;
- n++;
- }
- if (!(mask & (1 << DOUBLEBUFFER))) {
- criteria[n].capability = DOUBLEBUFFER;
- criteria[n].comparison = EQ;
- criteria[n].value = 0;
- *allowDoubleAsSingle = True;
- n++;
- }
- if (!(mask & (1 << DEPTH_SIZE))) {
- criteria[n].capability = DEPTH_SIZE;
- criteria[n].comparison = MIN;
- criteria[n].value = 0;
- n++;
- }
- if (!(mask & (1 << STENCIL_SIZE))) {
- criteria[n].capability = STENCIL_SIZE;
- criteria[n].comparison = MIN;
- criteria[n].value = 0;
- n++;
- }
- if (!(mask & (1 << LEVEL))) {
- criteria[n].capability = LEVEL;
- criteria[n].comparison = EQ;
- criteria[n].value = 0;
- n++;
- }
- if (n) {
- /* Since over-estimated the size needed; squeeze it down to
- reality. */
- criteria = (Criterion *) realloc(criteria, n * sizeof(Criterion));
- if (!criteria) {
- /* Should never happen since should be shrinking down! */
- __glutFatalError("out of memory.");
- }
- } else {
- /* For portability, avoid "realloc(ptr,0)" call. */
- free(criteria);
- criteria = NULL;
- }
-
- free(copy);
- *ncriteria = n;
- return criteria;
-}
-
-static FrameBufferMode *fbmodes = NULL;
-static int nfbmodes = 0;
-
-static XVisualInfo *
-getVisualInfoFromString(char *string, Bool * treatAsSingle,
- Criterion * requiredCriteria, int nRequired, int requiredMask, void **fbc)
-{
- Criterion *criteria;
- XVisualInfo *visinfo;
- Bool allowDoubleAsSingle;
- int ncriteria, i;
-
- if (!fbmodes) {
- fbmodes = loadVisuals(&nfbmodes);
- }
- criteria = parseModeString(string, &ncriteria,
- &allowDoubleAsSingle, requiredCriteria, nRequired, requiredMask);
- if (criteria == NULL) {
- __glutWarning("failed to parse mode string");
- return NULL;
- }
-#ifdef TEST
- printCriteria(criteria, ncriteria);
-#endif
- visinfo = findMatch(fbmodes, nfbmodes, criteria, ncriteria, fbc);
- if (visinfo) {
- *treatAsSingle = 0;
- } else {
- if (allowDoubleAsSingle) {
- /* Rewrite criteria so that we now look for a double
- buffered visual which will then get treated as a
- single buffered visual. */
- for (i = 0; i < ncriteria; i++) {
- if (criteria[i].capability == DOUBLEBUFFER
- && criteria[i].comparison == EQ
- && criteria[i].value == 0) {
- criteria[i].value = 1;
- }
- }
- visinfo = findMatch(fbmodes, nfbmodes, criteria, ncriteria, fbc);
- if (visinfo) {
- *treatAsSingle = 1;
- }
- }
- }
- free(criteria);
-
- if (visinfo) {
-#if defined(_WIN32)
- /* We could have a valid pixel format for drawing to a
- bitmap. However, we don't want to draw into a bitmap, we
- need one that can be used with a window, so make sure
- that this is true. */
- if (!(visinfo->dwFlags & PFD_DRAW_TO_WINDOW))
- return NULL;
-#endif
- return visinfo;
- } else {
- return NULL;
- }
-}
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutInitDisplayString(const char *string)
-{
-#ifdef _WIN32
- XHDC = GetDC(GetDesktopWindow());
-#endif
-
- __glutDetermineVisualFromString = getVisualInfoFromString;
- if (__glutDisplayString) {
- free(__glutDisplayString);
- }
- if (string) {
- __glutDisplayString = __glutStrdup(string);
- if (!__glutDisplayString)
- __glutFatalError("out of memory.");
- } else {
- __glutDisplayString = NULL;
- }
-}
-/* ENDCENTRY */
-
-#ifdef TEST
-
-Criterion requiredWindowCriteria[] =
-{
- {LEVEL, EQ, 0},
- {TRANSPARENT, EQ, 0}
-};
-int numRequiredWindowCriteria = sizeof(requiredWindowCriteria) / sizeof(Criterion);
-int requiredWindowCriteriaMask = (1 << LEVEL) | (1 << TRANSPARENT);
-
-Criterion requiredOverlayCriteria[] =
-{
- {LEVEL, EQ, 1},
- {TRANSPARENT, EQ, 1},
- {XPSEUDOCOLOR, EQ, 1},
- {RGBA, EQ, 0},
- {BUFFER_SIZE, GTE, 1}
-};
-int numRequiredOverlayCriteria = sizeof(requiredOverlayCriteria) / sizeof(Criterion);
-int requiredOverlayCriteriaMask =
-(1 << LEVEL) | (1 << TRANSPARENT) | (1 << XSTATICGRAY) | (1 << RGBA) | (1 << CI_MODE);
-
-int
-main(int argc, char **argv)
-{
- Display *dpy;
- XVisualInfo *vinfo;
- Bool treatAsSingle;
- char *str, buffer[1024];
- int tty = isatty(fileno(stdin));
- int overlay = 0, showconfig = 0;
- void *fbc;
-
-#if !defined(_WIN32)
- dpy = XOpenDisplay(NULL);
- if (dpy == NULL) {
- printf("Could not connect to X server\n");
- exit(1);
- }
- __glutDisplay = dpy;
- __glutScreen = DefaultScreen(__glutDisplay);
-#endif
- while (!feof(stdin)) {
- if (tty)
- printf("dstr> ");
- str = fgets(buffer, 1023, stdin);
- if (str) {
- printf("\n");
- if (!strcmp("v", str)) {
- verbose = 1 - verbose;
- printf("verbose = %d\n\n", verbose);
- } else if (!strcmp("s", str)) {
- showconfig = 1 - showconfig;
- printf("showconfig = %d\n\n", showconfig);
- } else if (!strcmp("o", str)) {
- overlay = 1 - overlay;
- printf("overlay = %d\n\n", overlay);
- } else {
- if (overlay) {
- vinfo = getVisualInfoFromString(str, &treatAsSingle,
- requiredOverlayCriteria, numRequiredOverlayCriteria, requiredOverlayCriteriaMask, &fbc);
- } else {
- vinfo = getVisualInfoFromString(str, &treatAsSingle,
- requiredWindowCriteria, numRequiredWindowCriteria, requiredWindowCriteriaMask, &fbc);
- }
- if (vinfo) {
- printf("\n");
- if (!tty)
- printf("Display string: %s", str);
-#ifdef _WIN32
- printf("Visual = 0x%x\n", 0);
-#else
- printf("Visual = 0x%x%s\n", vinfo->visualid, fbc ? " (needs FBC)" : "");
-#endif
- if (treatAsSingle) {
- printf("Treat as SINGLE.\n");
- }
- if (showconfig) {
- int glxCapable, bufferSize, level, renderType, doubleBuffer,
- stereo, auxBuffers, redSize, greenSize, blueSize,
- alphaSize, depthSize, stencilSize, acRedSize, acGreenSize,
- acBlueSize, acAlphaSize;
-
- glXGetConfig(dpy, vinfo, GLX_BUFFER_SIZE, &bufferSize);
- glXGetConfig(dpy, vinfo, GLX_LEVEL, &level);
- glXGetConfig(dpy, vinfo, GLX_RGBA, &renderType);
- glXGetConfig(dpy, vinfo, GLX_DOUBLEBUFFER, &doubleBuffer);
- glXGetConfig(dpy, vinfo, GLX_STEREO, &stereo);
- glXGetConfig(dpy, vinfo, GLX_AUX_BUFFERS, &auxBuffers);
- glXGetConfig(dpy, vinfo, GLX_RED_SIZE, &redSize);
- glXGetConfig(dpy, vinfo, GLX_GREEN_SIZE, &greenSize);
- glXGetConfig(dpy, vinfo, GLX_BLUE_SIZE, &blueSize);
- glXGetConfig(dpy, vinfo, GLX_ALPHA_SIZE, &alphaSize);
- glXGetConfig(dpy, vinfo, GLX_DEPTH_SIZE, &depthSize);
- glXGetConfig(dpy, vinfo, GLX_STENCIL_SIZE, &stencilSize);
- glXGetConfig(dpy, vinfo, GLX_ACCUM_RED_SIZE, &acRedSize);
- glXGetConfig(dpy, vinfo, GLX_ACCUM_GREEN_SIZE, &acGreenSize);
- glXGetConfig(dpy, vinfo, GLX_ACCUM_BLUE_SIZE, &acBlueSize);
- glXGetConfig(dpy, vinfo, GLX_ACCUM_ALPHA_SIZE, &acAlphaSize);
- printf("RGBA = (%d, %d, %d, %d)\n", redSize, greenSize, blueSize, alphaSize);
- printf("acc = (%d, %d, %d, %d)\n", acRedSize, acGreenSize, acBlueSize, acAlphaSize);
- printf("db = %d\n", doubleBuffer);
- printf("str = %d\n", stereo);
- printf("aux = %d\n", auxBuffers);
- printf("lvl = %d\n", level);
- printf("buf = %d\n", bufferSize);
- printf("rgba = %d\n", renderType);
- printf("z = %d\n", depthSize);
- printf("s = %d\n", stencilSize);
- }
- } else {
- printf("\n");
- printf("No match.\n");
- }
- printf("\n");
- }
- }
- }
- printf("\n");
- return 0;
-}
-#endif
diff --git a/src/glut/glx/glut_event.c b/src/glut/glx/glut_event.c
deleted file mode 100644
index d6d963896a..0000000000
--- a/src/glut/glx/glut_event.c
+++ /dev/null
@@ -1,1389 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994, 1995, 1996, 1997, 1998. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#ifdef __VMS
-#include <GL/vms_x_fix.h>
-#endif
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <errno.h>
-#include <assert.h>
-#include <string.h> /* Some FD_ZERO macros use memset without
- prototyping memset. */
-
-/* Much of the following #ifdef logic to include the proper
- prototypes for the select system call is based on logic
- from the X11R6.3 version of <X11/Xpoll.h>. */
-
-#if !defined(_WIN32)
-# ifdef __sgi
-# include <bstring.h> /* prototype for bzero used by FD_ZERO */
-# endif
-# if (defined(__FreeBSD__) || defined(SVR4) || defined(CRAY) || defined(AIXV3)) && !defined(FD_SETSIZE)
-# include <sys/select.h> /* select system call interface */
-# ifdef luna
-# include <sysent.h>
-# endif
-# endif
- /* AIX 4.2 fubar-ed <sys/select.h>, so go to heroic measures to get it */
-# if defined(AIXV4) && !defined(NFDBITS)
-# include <sys/select.h>
-# endif
-#endif /* !_WIN32 */
-
-#include <sys/types.h>
-
-#if !defined(_WIN32)
-# if defined(__vms) && ( __VMS_VER < 70000000 )
-# include <sys/time.h>
-# else
-# ifndef __vms
-# include <sys/time.h>
-# endif
-# endif
-# include <unistd.h>
-# include <X11/Xlib.h>
-# include <X11/keysym.h>
-#else
-# ifdef __CYGWIN32__
-# include <sys/time.h>
-# else
-# include <sys/timeb.h>
-# endif
-# ifdef __hpux
- /* XXX Bert Gijsbers <bert@mc.bio.uva.nl> reports that HP-UX
- needs different keysyms for the End, Insert, and Delete keys
- to work on an HP 715. It would be better if HP generated
- standard keysyms for standard keys. */
-# include <X11/HPkeysym.h>
-# endif
-#endif /* !_WIN32 */
-
-#include "glutint.h"
-
-#if defined(__vms) && ( __VMS_VER < 70000000 )
-#include <ssdef.h>
-#include <psldef.h>
-extern int SYS$CLREF(int efn);
-extern int SYS$SETIMR(unsigned int efn, struct timeval6 *timeout, void *ast,
- unsigned int request_id, unsigned int flags);
-extern int SYS$WFLOR(unsigned int efn, unsigned int mask);
-extern int SYS$CANTIM(unsigned int request_id, unsigned int mode);
-#endif /* __vms, VMs 6.2 or earlier */
-
-static GLUTtimer *freeTimerList = NULL;
-
-GLUTidleCB __glutIdleFunc = NULL;
-GLUTtimer *__glutTimerList = NULL;
-#ifdef SUPPORT_FORTRAN
-GLUTtimer *__glutNewTimer;
-#endif
-GLUTwindow *__glutWindowWorkList = NULL;
-GLUTmenu *__glutMappedMenu;
-GLUTmenu *__glutCurrentMenu = NULL;
-
-void (*__glutUpdateInputDeviceMaskFunc) (GLUTwindow *);
-#if !defined(_WIN32)
-void (*__glutMenuItemEnterOrLeave)(GLUTmenuItem * item, int num, int type) = NULL;
-void (*__glutFinishMenu)(Window win, int x, int y);
-void (*__glutPaintMenu)(GLUTmenu * menu);
-void (*__glutStartMenu)(GLUTmenu * menu, GLUTwindow * window, int x, int y, int x_win, int y_win);
-GLUTmenu * (*__glutGetMenuByNum)(int menunum);
-GLUTmenuItem * (*__glutGetMenuItem)(GLUTmenu * menu, Window win, int *which);
-GLUTmenu * (*__glutGetMenu)(Window win);
-#endif
-
-Atom __glutMotifHints = None;
-/* Modifier mask of ~0 implies not in core input callback. */
-unsigned int __glutModifierMask = (unsigned int) ~0;
-int __glutWindowDamaged = 0;
-
-void GLUTAPIENTRY
-glutIdleFunc(GLUTidleCB idleFunc)
-{
- __glutIdleFunc = idleFunc;
-}
-
-void GLUTAPIENTRY
-glutTimerFunc(unsigned int interval, GLUTtimerCB timerFunc, int value)
-{
- GLUTtimer *timer, *other;
- GLUTtimer **prevptr;
-#ifdef OLD_VMS
- struct timeval6 now;
-#else
- struct timeval now;
-#endif
-
- if (!timerFunc)
- return;
-
- if (freeTimerList) {
- timer = freeTimerList;
- freeTimerList = timer->next;
- } else {
- timer = (GLUTtimer *) malloc(sizeof(GLUTtimer));
- if (!timer)
- __glutFatalError("out of memory.");
- }
-
- timer->func = timerFunc;
-#if defined(__vms) && ( __VMS_VER < 70000000 )
- /* VMS time is expressed in units of 100 ns */
- timer->timeout.val = interval * TICKS_PER_MILLISECOND;
-#else
- timer->timeout.tv_sec = (int) interval / 1000;
- timer->timeout.tv_usec = (int) (interval % 1000) * 1000;
-#endif
- timer->value = value;
- timer->next = NULL;
- GETTIMEOFDAY(&now);
- ADD_TIME(timer->timeout, timer->timeout, now);
- prevptr = &__glutTimerList;
- other = *prevptr;
- while (other && IS_AFTER(other->timeout, timer->timeout)) {
- prevptr = &other->next;
- other = *prevptr;
- }
- timer->next = other;
-#ifdef SUPPORT_FORTRAN
- __glutNewTimer = timer; /* for Fortran binding! */
-#endif
- *prevptr = timer;
-}
-
-void
-handleTimeouts(void)
-{
-#ifdef OLD_VMS
- struct timeval6 now;
-#else
- struct timeval now;
-#endif
- GLUTtimer *timer;
-
- /* Assumption is that __glutTimerList is already determined
- to be non-NULL. */
- GETTIMEOFDAY(&now);
- while (IS_AT_OR_AFTER(__glutTimerList->timeout, now)) {
- timer = __glutTimerList;
- /* call the timer function */
- timer->func(timer->value);
- /* remove from the linked list */
- __glutTimerList = timer->next;
- /* put this timer on the "free" list */
- timer->next = freeTimerList;
- freeTimerList = timer;
-
- if (!__glutTimerList)
- break;
- }
-}
-
-void
-__glutPutOnWorkList(GLUTwindow * window, int workMask)
-{
- if (window->workMask) {
- /* Already on list; just OR in new workMask. */
- window->workMask |= workMask;
- } else {
- /* Update work mask and add to window work list. */
- window->workMask = workMask;
- /* Assert that if the window does not have a
- workMask already, the window should definitely
- not be the head of the work list. */
- assert(window != __glutWindowWorkList);
- window->prevWorkWin = __glutWindowWorkList;
- __glutWindowWorkList = window;
- }
-}
-
-void
-__glutPostRedisplay(GLUTwindow * window, int layerMask)
-{
- int shown = (layerMask & (GLUT_REDISPLAY_WORK | GLUT_REPAIR_WORK)) ?
- window->shownState : window->overlay->shownState;
-
- /* Post a redisplay if the window is visible (or the
- visibility of the window is unknown, ie. window->visState
- == -1) _and_ the layer is known to be shown. */
- if (window->visState != GLUT_HIDDEN
- && window->visState != GLUT_FULLY_COVERED && shown) {
- __glutPutOnWorkList(window, layerMask);
- }
-}
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutPostRedisplay(void)
-{
- __glutPostRedisplay(__glutCurrentWindow, GLUT_REDISPLAY_WORK);
-}
-
-/* The advantage of this routine is that it saves the cost of a
- glutSetWindow call (entailing an expensive OpenGL context switch),
- particularly useful when multiple windows need redisplays posted at
- the same times. See also glutPostWindowOverlayRedisplay. */
-void GLUTAPIENTRY
-glutPostWindowRedisplay(int win)
-{
- __glutPostRedisplay(__glutWindowList[win - 1], GLUT_REDISPLAY_WORK);
-}
-
-/* ENDCENTRY */
-static GLUTeventParser *eventParserList = NULL;
-
-/* __glutRegisterEventParser allows another module to register
- to intercept X events types not otherwise acted on by the
- GLUT processEventsAndTimeouts routine. The X Input
- extension support code uses an event parser for handling X
- Input extension events. */
-
-void
-__glutRegisterEventParser(GLUTeventParser * parser)
-{
- parser->next = eventParserList;
- eventParserList = parser;
-}
-
-static void
-markWindowHidden(GLUTwindow * window)
-{
- if (GLUT_HIDDEN != window->visState) {
- GLUTwindow *child;
-
- if (window->windowStatus) {
- window->visState = GLUT_HIDDEN;
- __glutSetWindow(window);
- window->windowStatus(GLUT_HIDDEN);
- }
- /* An unmap is only reported on a single window; its
- descendents need to know they are no longer visible. */
- child = window->children;
- while (child) {
- markWindowHidden(child);
- child = child->siblings;
- }
- }
-}
-
-#if !defined(_WIN32)
-
-static void
-purgeStaleWindow(Window win)
-{
- GLUTstale **pEntry = &__glutStaleWindowList;
- GLUTstale *entry = __glutStaleWindowList;
-
- /* Tranverse singly-linked stale window list look for the
- window ID. */
- while (entry) {
- if (entry->win == win) {
- /* Found it; delete it. */
- *pEntry = entry->next;
- free(entry);
- return;
- } else {
- pEntry = &entry->next;
- entry = *pEntry;
- }
- }
-}
-
-/* Unlike XNextEvent, if a signal arrives,
- interruptibleXNextEvent will return (with a zero return
- value). This helps GLUT drop out of XNextEvent if a signal
- is delivered. The intent is so that a GLUT program can call
- glutIdleFunc in a signal handler to register an idle func
- and then immediately get dropped into the idle func (after
- returning from the signal handler). The idea is to make
- GLUT's main loop reliably interruptible by signals. */
-static int
-interruptibleXNextEvent(Display * dpy, XEvent * event)
-{
- fd_set fds;
- int rc;
-
- /* Flush X protocol since XPending does not do this
- implicitly. */
- XFlush(__glutDisplay);
- for (;;) {
- if (XPending(__glutDisplay)) {
- XNextEvent(dpy, event);
- return 1;
- }
-#ifndef VMS
- /* the combination ConectionNumber-select is buggy on VMS. Sometimes it
- * fails. This part of the code hangs the program on VMS7.2. But even
- * without it the program seems to run correctly.
- * Note that this is a bug in the VMS/DECWindows run-time-libraries.
- * Compaq engeneering does not want or is not able to make a fix.
- * (last sentence is a quotation from Compaq when I reported the
- * problem January 2000) */
- FD_ZERO(&fds);
- FD_SET(__glutConnectionFD, &fds);
- rc = select(__glutConnectionFD + 1, &fds, NULL, NULL, NULL);
- if (rc < 0) {
- if (errno == EINTR) {
- return 0;
- } else {
- __glutFatalError("select error.");
- }
- }
-#endif
- }
-}
-
-#endif
-
-static void
-processEventsAndTimeouts(void)
-{
- do {
-#if defined(_WIN32)
- MSG event;
-
- if(!GetMessage(&event, NULL, 0, 0)) /* bail if no more messages */
- exit(0);
- TranslateMessage(&event); /* translate virtual-key messages */
- DispatchMessage(&event); /* call the window proc */
- /* see win32_event.c for event (message) processing procedures */
-#else
- static int mappedMenuButton;
- GLUTeventParser *parser;
- XEvent event, ahead;
- GLUTwindow *window;
- GLUTkeyboardCB keyboard;
- GLUTspecialCB special;
- int gotEvent, width, height;
-
- gotEvent = interruptibleXNextEvent(__glutDisplay, &event);
- if (gotEvent) {
- switch (event.type) {
- case MappingNotify:
- XRefreshKeyboardMapping((XMappingEvent *) & event);
- break;
- case ConfigureNotify:
- window = __glutGetWindow(event.xconfigure.window);
- if (window) {
- if (window->win != event.xconfigure.window) {
- /* Ignore ConfigureNotify sent to the overlay
- planes. GLUT could get here because overlays
- select for StructureNotify events to receive
- DestroyNotify. */
- break;
- }
- width = event.xconfigure.width;
- height = event.xconfigure.height;
- if (width != window->width || height != window->height) {
- if (window->overlay) {
- XResizeWindow(__glutDisplay, window->overlay->win, width, height);
- }
- window->width = width;
- window->height = height;
- __glutSetWindow(window);
- /* Do not execute OpenGL out of sequence with
- respect to the XResizeWindow request! */
- glXWaitX();
- window->reshape(width, height);
- window->forceReshape = False;
- /* A reshape should be considered like posting a
- repair; this is necessary for the "Mesa
- glXSwapBuffers to repair damage" hack to operate
- correctly. Without it, there's not an initial
- back buffer render from which to blit from when
- damage happens to the window. */
- __glutPostRedisplay(window, GLUT_REPAIR_WORK);
- }
- }
- break;
- case Expose:
- /* compress expose events */
- while (XEventsQueued(__glutDisplay, QueuedAfterReading)
- > 0) {
- XPeekEvent(__glutDisplay, &ahead);
- if (ahead.type != Expose ||
- ahead.xexpose.window != event.xexpose.window) {
- break;
- }
- XNextEvent(__glutDisplay, &event);
- }
- if (event.xexpose.count == 0) {
- GLUTmenu *menu;
-
- if (__glutMappedMenu &&
- (menu = __glutGetMenu(event.xexpose.window))) {
- __glutPaintMenu(menu);
- } else {
- window = __glutGetWindow(event.xexpose.window);
- if (window) {
- if (window->win == event.xexpose.window) {
- __glutPostRedisplay(window, GLUT_REPAIR_WORK);
- } else if (window->overlay && window->overlay->win == event.xexpose.window) {
- __glutPostRedisplay(window, GLUT_OVERLAY_REPAIR_WORK);
- }
- }
- }
- } else {
- /* there are more exposes to read; wait to redisplay */
- }
- break;
- case ButtonPress:
- case ButtonRelease:
- if (__glutMappedMenu && event.type == ButtonRelease
- && mappedMenuButton == event.xbutton.button) {
- /* Menu is currently popped up and its button is
- released. */
- __glutFinishMenu(event.xbutton.window, event.xbutton.x, event.xbutton.y);
- } else {
- window = __glutGetWindow(event.xbutton.window);
- /* added button check for mice with > 3 buttons */
- if (window) {
- GLUTmenu *menu;
- int menuNum;
-
- if (event.xbutton.button <= GLUT_MAX_MENUS)
- menuNum = window->menu[event.xbutton.button - 1];
- else
- menuNum = 0;
-
- /* Make sure that __glutGetMenuByNum is only called if there
- really is a menu present. */
- if ((menuNum > 0) && (menu = __glutGetMenuByNum(menuNum))) {
- if (event.type == ButtonPress && !__glutMappedMenu) {
- __glutStartMenu(menu, window,
- event.xbutton.x_root, event.xbutton.y_root,
- event.xbutton.x, event.xbutton.y);
- mappedMenuButton = event.xbutton.button;
- } else {
- /* Ignore a release of a button with a menu
- attatched to it when no menu is popped up,
- or ignore a press when another menu is
- already popped up. */
- }
- } else if (window->mouse) {
- __glutSetWindow(window);
- __glutModifierMask = event.xbutton.state;
- window->mouse(event.xbutton.button - 1,
- event.type == ButtonRelease ?
- GLUT_UP : GLUT_DOWN,
- event.xbutton.x, event.xbutton.y);
- __glutModifierMask = ~0;
- } else {
- /* Stray mouse events. Ignore. */
- }
- } else {
- /* Window might have been destroyed and all the
- events for the window may not yet be received. */
- }
- }
- break;
- case MotionNotify:
- if (!__glutMappedMenu) {
- window = __glutGetWindow(event.xmotion.window);
- if (window) {
- /* If motion function registered _and_ buttons held
- * down, call motion function... */
- if (window->motion && event.xmotion.state &
- (Button1Mask | Button2Mask | Button3Mask)) {
- __glutSetWindow(window);
- window->motion(event.xmotion.x, event.xmotion.y);
- }
- /* If passive motion function registered _and_
- buttons not held down, call passive motion
- function... */
- else if (window->passive &&
- ((event.xmotion.state &
- (Button1Mask | Button2Mask | Button3Mask)) ==
- 0)) {
- __glutSetWindow(window);
- window->passive(event.xmotion.x,
- event.xmotion.y);
- }
- }
- } else {
- /* Motion events are thrown away when a pop up menu
- is active. */
- }
- break;
- case KeyPress:
- case KeyRelease:
- window = __glutGetWindow(event.xkey.window);
- if (!window) {
- break;
- }
- if (event.type == KeyPress) {
- keyboard = window->keyboard;
- } else {
-
- /* If we are ignoring auto repeated keys for this window,
- check if the next event in the X event queue is a KeyPress
- for the exact same key (and at the exact same time) as the
- key being released. The X11 protocol will send auto
- repeated keys as such KeyRelease/KeyPress pairs. */
-
- if (window->ignoreKeyRepeat) {
- if (XEventsQueued(__glutDisplay, QueuedAfterReading)) {
- XPeekEvent(__glutDisplay, &ahead);
- if (ahead.type == KeyPress
- && ahead.xkey.window == event.xkey.window
- && ahead.xkey.keycode == event.xkey.keycode
- && ahead.xkey.time == event.xkey.time) {
- /* Pop off the repeated KeyPress and ignore
- the auto repeated KeyRelease/KeyPress pair. */
- XNextEvent(__glutDisplay, &event);
- break;
- }
- }
- }
- keyboard = window->keyboardUp;
- }
- if (keyboard) {
- char tmp[1];
- int rc;
-
- rc = XLookupString(&event.xkey, tmp, sizeof(tmp),
- NULL, NULL);
- if (rc) {
- __glutSetWindow(window);
- __glutModifierMask = event.xkey.state;
- keyboard(tmp[0],
- event.xkey.x, event.xkey.y);
- __glutModifierMask = ~0;
- break;
- }
- }
- if (event.type == KeyPress) {
- special = window->special;
- } else {
- special = window->specialUp;
- }
- if (special) {
- KeySym ks;
- int key;
-
-/* Introduced in X11R6: (Partial list of) Keypad Functions. Define
- in place in case compiling against an older pre-X11R6
- X11/keysymdef.h file. */
-#ifndef XK_KP_Home
-#define XK_KP_Home 0xFF95
-#endif
-#ifndef XK_KP_Left
-#define XK_KP_Left 0xFF96
-#endif
-#ifndef XK_KP_Up
-#define XK_KP_Up 0xFF97
-#endif
-#ifndef XK_KP_Right
-#define XK_KP_Right 0xFF98
-#endif
-#ifndef XK_KP_Down
-#define XK_KP_Down 0xFF99
-#endif
-#ifndef XK_KP_Prior
-#define XK_KP_Prior 0xFF9A
-#endif
-#ifndef XK_KP_Next
-#define XK_KP_Next 0xFF9B
-#endif
-#ifndef XK_KP_End
-#define XK_KP_End 0xFF9C
-#endif
-#ifndef XK_KP_Insert
-#define XK_KP_Insert 0xFF9E
-#endif
-#ifndef XK_KP_Delete
-#define XK_KP_Delete 0xFF9F
-#endif
-
- ks = XLookupKeysym((XKeyEvent *) & event, 0);
- /* XXX Verbose, but makes no assumptions about keysym
- layout. */
- switch (ks) {
-/* *INDENT-OFF* */
- /* function keys */
- case XK_F1: key = GLUT_KEY_F1; break;
- case XK_F2: key = GLUT_KEY_F2; break;
- case XK_F3: key = GLUT_KEY_F3; break;
- case XK_F4: key = GLUT_KEY_F4; break;
- case XK_F5: key = GLUT_KEY_F5; break;
- case XK_F6: key = GLUT_KEY_F6; break;
- case XK_F7: key = GLUT_KEY_F7; break;
- case XK_F8: key = GLUT_KEY_F8; break;
- case XK_F9: key = GLUT_KEY_F9; break;
- case XK_F10: key = GLUT_KEY_F10; break;
- case XK_F11: key = GLUT_KEY_F11; break;
- case XK_F12: key = GLUT_KEY_F12; break;
- /* directional keys */
- case XK_KP_Left:
- case XK_Left: key = GLUT_KEY_LEFT; break;
- case XK_KP_Up: /* Introduced in X11R6. */
- case XK_Up: key = GLUT_KEY_UP; break;
- case XK_KP_Right: /* Introduced in X11R6. */
- case XK_Right: key = GLUT_KEY_RIGHT; break;
- case XK_KP_Down: /* Introduced in X11R6. */
- case XK_Down: key = GLUT_KEY_DOWN; break;
-/* *INDENT-ON* */
-
- case XK_KP_Prior: /* Introduced in X11R6. */
- case XK_Prior:
- /* XK_Prior same as X11R6's XK_Page_Up */
- key = GLUT_KEY_PAGE_UP;
- break;
- case XK_KP_Next: /* Introduced in X11R6. */
- case XK_Next:
- /* XK_Next same as X11R6's XK_Page_Down */
- key = GLUT_KEY_PAGE_DOWN;
- break;
- case XK_KP_Home: /* Introduced in X11R6. */
- case XK_Home:
- key = GLUT_KEY_HOME;
- break;
-#ifdef __hpux
- case XK_Select:
-#endif
- case XK_KP_End: /* Introduced in X11R6. */
- case XK_End:
- key = GLUT_KEY_END;
- break;
-#ifdef __hpux
- case XK_InsertChar:
-#endif
- case XK_KP_Insert: /* Introduced in X11R6. */
- case XK_Insert:
- key = GLUT_KEY_INSERT;
- break;
-#ifdef __hpux
- case XK_DeleteChar:
-#endif
- case XK_KP_Delete: /* Introduced in X11R6. */
- /* The Delete character is really an ASCII key. */
- __glutSetWindow(window);
- keyboard(127, /* ASCII Delete character. */
- event.xkey.x, event.xkey.y);
- goto skip;
- default:
- goto skip;
- }
- __glutSetWindow(window);
- __glutModifierMask = event.xkey.state;
- special(key, event.xkey.x, event.xkey.y);
- __glutModifierMask = ~0;
- skip:;
- }
- break;
- case EnterNotify:
- case LeaveNotify:
- if (event.xcrossing.mode != NotifyNormal ||
- event.xcrossing.detail == NotifyNonlinearVirtual ||
- event.xcrossing.detail == NotifyVirtual) {
-
- /* Careful to ignore Enter/LeaveNotify events that
- come from the pop-up menu pointer grab and ungrab.
- Also, ignore "virtual" Enter/LeaveNotify events
- since they represent the pointer passing through
- the window hierarchy without actually entering or
- leaving the actual real estate of a window. */
-
- break;
- }
- if (__glutMappedMenu) {
- GLUTmenuItem *item;
- int num;
-
- item = __glutGetMenuItem(__glutMappedMenu,
- event.xcrossing.window, &num);
- if (item) {
- __glutMenuItemEnterOrLeave(item, num, event.type);
- break;
- }
- }
- window = __glutGetWindow(event.xcrossing.window);
- if (window) {
- if (window->entry) {
- if (event.type == EnterNotify) {
-
- /* With overlays established, X can report two
- enter events for both the overlay and normal
- plane window. Do not generate a second enter
- callback if we reported one without an
- intervening leave. */
-
- if (window->entryState != EnterNotify) {
- int num = window->num;
- Window xid = window->win;
-
- window->entryState = EnterNotify;
- __glutSetWindow(window);
- window->entry(GLUT_ENTERED);
-
- if (__glutMappedMenu) {
-
- /* Do not generate any passive motion events
- when menus are in use. */
-
- } else {
-
- /* An EnterNotify event can result in a
- "compound" callback if a passive motion
- callback is also registered. In this case,
- be a little paranoid about the possibility
- the window could have been destroyed in the
- entry callback. */
-
- window = __glutWindowList[num];
- if (window && window->passive && window->win == xid) {
- __glutSetWindow(window);
- window->passive(event.xcrossing.x, event.xcrossing.y);
- }
- }
- }
- } else {
- if (window->entryState != LeaveNotify) {
-
- /* When an overlay is established for a window
- already mapped and with the pointer in it,
- the X server will generate a leave/enter
- event pair as the pointer leaves (without
- moving) from the normal plane X window to
- the newly mapped overlay X window (or vice
- versa). This enter/leave pair should not be
- reported to the GLUT program since the pair
- is a consequence of creating (or destroying)
- the overlay, not an actual leave from the
- GLUT window. */
-
- if (XEventsQueued(__glutDisplay, QueuedAfterReading)) {
- XPeekEvent(__glutDisplay, &ahead);
- if (ahead.type == EnterNotify &&
- __glutGetWindow(ahead.xcrossing.window) == window) {
- XNextEvent(__glutDisplay, &event);
- break;
- }
- }
- window->entryState = LeaveNotify;
- __glutSetWindow(window);
- window->entry(GLUT_LEFT);
- }
- }
- } else if (window->passive) {
- __glutSetWindow(window);
- window->passive(event.xcrossing.x, event.xcrossing.y);
- }
- }
- break;
- case UnmapNotify:
- /* MapNotify events are not needed to maintain
- visibility state since VisibilityNotify events will
- be delivered when a window becomes visible from
- mapping. However, VisibilityNotify events are not
- delivered when a window is unmapped (for the window
- or its children). */
- window = __glutGetWindow(event.xunmap.window);
- if (window) {
- if (window->win != event.xconfigure.window) {
- /* Ignore UnmapNotify sent to the overlay planes.
- GLUT could get here because overlays select for
- StructureNotify events to receive DestroyNotify.
- */
- break;
- }
- markWindowHidden(window);
- }
- break;
- case VisibilityNotify:
- window = __glutGetWindow(event.xvisibility.window);
- if (window) {
- /* VisibilityUnobscured+1 = GLUT_FULLY_RETAINED,
- VisibilityPartiallyObscured+1 =
- GLUT_PARTIALLY_RETAINED, VisibilityFullyObscured+1
- = GLUT_FULLY_COVERED. */
- int visState = event.xvisibility.state + 1;
-
- if (visState != window->visState) {
- if (window->windowStatus) {
- window->visState = visState;
- __glutSetWindow(window);
- window->windowStatus(visState);
- }
- }
- }
- break;
- case ClientMessage:
- if (event.xclient.data.l[0] == __glutWMDeleteWindow)
- exit(0);
- break;
- case DestroyNotify:
- purgeStaleWindow(event.xdestroywindow.window);
- break;
- case CirculateNotify:
- case CreateNotify:
- case GravityNotify:
- case ReparentNotify:
- /* Uninteresting to GLUT (but possible for GLUT to
- receive). */
- break;
- default:
- /* Pass events not directly handled by the GLUT main
- event loop to any event parsers that have been
- registered. In this way, X Input extension events
- are passed to the correct handler without forcing
- all GLUT programs to support X Input event handling.
- */
- parser = eventParserList;
- while (parser) {
- if (parser->func(&event))
- break;
- parser = parser->next;
- }
- break;
- }
- }
-#endif /* _WIN32 */
- if (__glutTimerList) {
- handleTimeouts();
- }
- }
- while (XPending(__glutDisplay));
-}
-
-static void
-waitForSomething(void)
-{
-#if defined(__vms) && ( __VMS_VER < 70000000 )
- static struct timeval6 zerotime =
- {0};
- unsigned int timer_efn;
-#define timer_id 'glut' /* random :-) number */
- unsigned int wait_mask;
-#else
- static struct timeval zerotime =
- {0, 0};
-#if !defined(_WIN32)
- fd_set fds;
-#endif
-#endif
-#ifdef OLD_VMS
- struct timeval6 now, timeout, waittime;
-#else
- struct timeval now, timeout, waittime;
-#endif
-#if !defined(_WIN32)
- int rc;
-#endif
-
- /* Flush X protocol since XPending does not do this
- implicitly. */
- XFlush(__glutDisplay);
- if (XPending(__glutDisplay)) {
- /* It is possible (but quite rare) that XFlush may have
- needed to wait for a writable X connection file
- descriptor, and in the process, may have had to read off
- X protocol from the file descriptor. If XPending is true,
- this case occured and we should avoid waiting in select
- since X protocol buffered within Xlib is due to be
- processed and potentially no more X protocol is on the
- file descriptor, so we would risk waiting improperly in
- select. */
- goto immediatelyHandleXinput;
- }
-#if defined(__vms) && ( __VMS_VER < 70000000 )
- timeout = __glutTimerList->timeout;
- GETTIMEOFDAY(&now);
- wait_mask = 1 << (__glutConnectionFD & 31);
- if (IS_AFTER(now, timeout)) {
- /* We need an event flag for the timer. */
- /* XXX The `right' way to do this is to use LIB$GET_EF, but
- since it needs to be in the same cluster as the EFN for
- the display, we will have hack it. */
- timer_efn = __glutConnectionFD - 1;
- if ((timer_efn / 32) != (__glutConnectionFD / 32)) {
- timer_efn = __glutConnectionFD + 1;
- }
- rc = SYS$CLREF(timer_efn);
- rc = SYS$SETIMR(timer_efn, &timeout, NULL, timer_id, 0);
- wait_mask |= 1 << (timer_efn & 31);
- } else {
- timer_efn = 0;
- }
- rc = SYS$WFLOR(__glutConnectionFD, wait_mask);
- if (timer_efn != 0 && SYS$CLREF(timer_efn) == SS$_WASCLR) {
- rc = SYS$CANTIM(timer_id, PSL$C_USER);
- }
- /* XXX There does not seem to be checking of "rc" in the code
- above. Can any of the SYS$ routines above fail? */
-#else /* not vms6.2 or lower */
-#if !defined(_WIN32)
- FD_ZERO(&fds);
- FD_SET(__glutConnectionFD, &fds);
-#endif
- timeout = __glutTimerList->timeout;
- GETTIMEOFDAY(&now);
- if (IS_AFTER(now, timeout)) {
- TIMEDELTA(waittime, timeout, now);
- } else {
- waittime = zerotime;
- }
-#if !defined(_WIN32)
- rc = select(__glutConnectionFD + 1, &fds,
- NULL, NULL, &waittime);
- if (rc < 0 && errno != EINTR)
- __glutFatalError("select error.");
-#else
-
- MsgWaitForMultipleObjects(0, NULL, FALSE,
- waittime.tv_sec*1000 + waittime.tv_usec/1000, QS_ALLINPUT);
-
-#endif
-#endif /* not vms6.2 or lower */
- /* Without considering the cause of select unblocking, check
- for pending X events and handle any timeouts (by calling
- processEventsAndTimeouts). We always look for X events
- even if select returned with 0 (indicating a timeout);
- otherwise we risk starving X event processing by continous
- timeouts. */
- if (XPending(__glutDisplay)) {
- immediatelyHandleXinput:
- processEventsAndTimeouts();
- } else {
- if (__glutTimerList)
- handleTimeouts();
- }
-}
-
-static void
-idleWait(void)
-{
- if (XPending(__glutDisplay)) {
- processEventsAndTimeouts();
- } else {
- if (__glutTimerList) {
- handleTimeouts();
- }
- }
- /* Make sure idle func still exists! */
- if (__glutIdleFunc) {
- __glutIdleFunc();
- }
-}
-
-static GLUTwindow **beforeEnd;
-
-static GLUTwindow *
-processWindowWorkList(GLUTwindow * window)
-{
- int workMask;
-
- if (window->prevWorkWin) {
- window->prevWorkWin = processWindowWorkList(window->prevWorkWin);
- } else {
- beforeEnd = &window->prevWorkWin;
- }
-
- /* Capture work mask for work that needs to be done to this
- window, then clear the window's work mask (excepting the
- dummy work bit, see below). Then, process the captured
- work mask. This allows callbacks in the processing the
- captured work mask to set the window's work mask for
- subsequent processing. */
-
- workMask = window->workMask;
- assert((workMask & GLUT_DUMMY_WORK) == 0);
-
- /* Set the dummy work bit, clearing all other bits, to
- indicate that the window is currently on the window work
- list _and_ that the window's work mask is currently being
- processed. This convinces __glutPutOnWorkList that this
- window is on the work list still. */
- window->workMask = GLUT_DUMMY_WORK;
-
- /* Optimization: most of the time, the work to do is a
- redisplay and not these other types of work. Check for
- the following cases as a group to before checking each one
- individually one by one. This saves about 25 MIPS
- instructions in the common redisplay only case. */
- if (workMask & (GLUT_EVENT_MASK_WORK | GLUT_DEVICE_MASK_WORK |
- GLUT_CONFIGURE_WORK | GLUT_COLORMAP_WORK | GLUT_MAP_WORK)) {
-#if !defined(_WIN32)
- /* Be sure to set event mask BEFORE map window is done. */
- if (workMask & GLUT_EVENT_MASK_WORK) {
- long eventMask;
-
- /* Make sure children are not propogating events this
- window is selecting for. Be sure to do this before
- enabling events on the children's parent. */
- if (window->children) {
- GLUTwindow *child = window->children;
- unsigned long attribMask = CWDontPropagate;
- XSetWindowAttributes wa;
-
- wa.do_not_propagate_mask = window->eventMask & GLUT_DONT_PROPAGATE_FILTER_MASK;
- if (window->eventMask & GLUT_HACK_STOP_PROPAGATE_MASK) {
- wa.event_mask = child->eventMask | (window->eventMask & GLUT_HACK_STOP_PROPAGATE_MASK);
- attribMask |= CWEventMask;
- }
- do {
- XChangeWindowAttributes(__glutDisplay, child->win,
- attribMask, &wa);
- child = child->siblings;
- } while (child);
- }
- eventMask = window->eventMask;
- if (window->parent && window->parent->eventMask & GLUT_HACK_STOP_PROPAGATE_MASK)
- eventMask |= (window->parent->eventMask & GLUT_HACK_STOP_PROPAGATE_MASK);
- XSelectInput(__glutDisplay, window->win, eventMask);
- if (window->overlay)
- XSelectInput(__glutDisplay, window->overlay->win,
- window->eventMask & GLUT_OVERLAY_EVENT_FILTER_MASK);
- }
-#endif /* !_WIN32 */
- /* Be sure to set device mask BEFORE map window is done. */
- if (workMask & GLUT_DEVICE_MASK_WORK) {
- __glutUpdateInputDeviceMaskFunc(window);
- }
- /* Be sure to configure window BEFORE map window is done. */
- if (workMask & GLUT_CONFIGURE_WORK) {
-#if defined(_WIN32)
- RECT changes;
- POINT point;
- UINT flags = SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOOWNERZORDER
- | SWP_NOSENDCHANGING | SWP_NOSIZE | SWP_NOZORDER;
-
- GetClientRect(window->win, &changes);
-
- /* If this window is a toplevel window, translate the 0,0 client
- coordinate into a screen coordinate for proper placement. */
- if (!window->parent) {
- point.x = 0;
- point.y = 0;
- ClientToScreen(window->win, &point);
- changes.left = point.x;
- changes.top = point.y;
- }
- if (window->desiredConfMask & (CWX | CWY)) {
- changes.left = window->desiredX;
- changes.top = window->desiredY;
- flags &= ~SWP_NOMOVE;
- }
- if (window->desiredConfMask & (CWWidth | CWHeight)) {
- changes.right = changes.left + window->desiredWidth;
- changes.bottom = changes.top + window->desiredHeight;
- flags &= ~SWP_NOSIZE;
- /* XXX If overlay exists, resize the overlay here, ie.
- if (window->overlay) ... */
- }
- if (window->desiredConfMask & CWStackMode) {
- flags &= ~SWP_NOZORDER;
- /* XXX Overlay support might require something special here. */
- }
-
- /* Adjust the window rectangle because Win32 thinks that the x, y,
- width & height are the WHOLE window (including decorations),
- whereas GLUT treats the x, y, width & height as only the CLIENT
- area of the window. Only do this to top level windows
- that are not in game mode (since game mode windows do
- not have any decorations). */
- if (!window->parent && window != __glutGameModeWindow) {
- AdjustWindowRect(&changes,
- WS_OVERLAPPEDWINDOW | WS_CLIPSIBLINGS | WS_CLIPCHILDREN,
- FALSE);
- }
-
- /* Do the repositioning, moving, and push/pop. */
- SetWindowPos(window->win,
- window->desiredStack == Above ? HWND_TOP : HWND_NOTOPMOST,
- changes.left, changes.top,
- changes.right - changes.left, changes.bottom - changes.top,
- flags);
-
- /* Zero out the mask. */
- window->desiredConfMask = 0;
-
- /* This hack causes the window to go back to the right position
- when it is taken out of fullscreen mode. */
- if (workMask & GLUT_FULL_SCREEN_WORK) {
- window->desiredConfMask |= CWX | CWY;
- window->desiredX = point.x;
- window->desiredY = point.y;
- }
-#else /* !_WIN32 */
- XWindowChanges changes;
-
- changes.x = window->desiredX;
- changes.y = window->desiredY;
- if (window->desiredConfMask & (CWWidth | CWHeight)) {
- changes.width = window->desiredWidth;
- changes.height = window->desiredHeight;
- if (window->overlay)
- XResizeWindow(__glutDisplay, window->overlay->win,
- window->desiredWidth, window->desiredHeight);
- if (__glutMotifHints != None) {
- if (workMask & GLUT_FULL_SCREEN_WORK) {
- MotifWmHints hints;
-
- hints.flags = MWM_HINTS_DECORATIONS;
- hints.decorations = 0; /* Absolutely no
- decorations. */
- XChangeProperty(__glutDisplay, window->win,
- __glutMotifHints, __glutMotifHints, 32,
- PropModeReplace, (unsigned char *) &hints, 4);
- if (workMask & GLUT_MAP_WORK) {
- /* Handle case where glutFullScreen is called
- before the first time that the window is
- mapped. Some window managers will randomly or
- interactively position the window the first
- time it is mapped if the window's
- WM_NORMAL_HINTS property does not request an
- explicit position. We don't want any such
- window manager interaction when going
- fullscreen. Overwrite the WM_NORMAL_HINTS
- property installed by glutCreateWindow's
- XSetWMProperties property with one explicitly
- requesting a fullscreen window. */
- XSizeHints hints;
-
- hints.flags = USPosition | USSize;
- hints.x = 0;
- hints.y = 0;
- hints.width = window->desiredWidth;
- hints.height = window->desiredHeight;
- XSetWMNormalHints(__glutDisplay, window->win, &hints);
- }
- } else {
- XDeleteProperty(__glutDisplay, window->win, __glutMotifHints);
- }
- }
- }
- if (window->desiredConfMask & CWStackMode) {
- changes.stack_mode = window->desiredStack;
- /* Do not let glutPushWindow push window beneath the
- underlay. */
- if (window->parent && window->parent->overlay
- && window->desiredStack == Below) {
- changes.stack_mode = Above;
- changes.sibling = window->parent->overlay->win;
- window->desiredConfMask |= CWSibling;
- }
- }
- XConfigureWindow(__glutDisplay, window->win,
- window->desiredConfMask, &changes);
- window->desiredConfMask = 0;
-#endif
- }
-#if !defined(_WIN32)
- /* Be sure to establish the colormaps BEFORE map window is
- done. */
- if (workMask & GLUT_COLORMAP_WORK) {
- __glutEstablishColormapsProperty(window);
- }
-#endif
- if (workMask & GLUT_MAP_WORK) {
- switch (window->desiredMapState) {
- case WithdrawnState:
- if (window->parent) {
- XUnmapWindow(__glutDisplay, window->win);
- } else {
- XWithdrawWindow(__glutDisplay, window->win,
- __glutScreen);
- }
- window->shownState = 0;
- break;
- case NormalState:
- XMapWindow(__glutDisplay, window->win);
- window->shownState = 1;
- break;
-#ifdef _WIN32
- case GameModeState: /* Not an Xlib value. */
- ShowWindow(window->win, SW_SHOW);
- window->shownState = 1;
- break;
-#endif
- case IconicState:
- XIconifyWindow(__glutDisplay, window->win, __glutScreen);
- window->shownState = 0;
- break;
- }
- }
- }
- if (workMask & (GLUT_REDISPLAY_WORK | GLUT_OVERLAY_REDISPLAY_WORK | GLUT_REPAIR_WORK | GLUT_OVERLAY_REPAIR_WORK)) {
- if (window->forceReshape) {
- /* Guarantee that before a display callback is generated
- for a window, a reshape callback must be generated. */
- __glutSetWindow(window);
- window->reshape(window->width, window->height);
- window->forceReshape = False;
-
- /* Setting the redisplay bit on the first reshape is
- necessary to make the "Mesa glXSwapBuffers to repair
- damage" hack operate correctly. Without indicating a
- redisplay is necessary, there's not an initial back
- buffer render from which to blit from when damage
- happens to the window. */
- workMask |= GLUT_REDISPLAY_WORK;
- }
- /* The code below is more involved than otherwise necessary
- because it is paranoid about the overlay or entire window
- being removed or destroyed in the course of the callbacks.
- Notice how the global __glutWindowDamaged is used to record
- the layers' damage status. See the code in glutLayerGet for
- how __glutWindowDamaged is used. The point is to not have to
- update the "damaged" field after the callback since the
- window (or overlay) may be destroyed (or removed) when the
- callback returns. */
-
- if (window->overlay && window->overlay->display) {
- int num = window->num;
- Window xid = window->overlay ? window->overlay->win : None;
-
- /* If an overlay display callback is registered, we
- differentiate between a redisplay needed for the
- overlay and/or normal plane. If there is no overlay
- display callback registered, we simply use the
- standard display callback. */
-
- if (workMask & (GLUT_REDISPLAY_WORK | GLUT_REPAIR_WORK)) {
- if (__glutMesaSwapHackSupport) {
- if (window->usedSwapBuffers) {
- if ((workMask & (GLUT_REPAIR_WORK | GLUT_REDISPLAY_WORK)) == GLUT_REPAIR_WORK) {
- SWAP_BUFFERS_WINDOW(window);
- goto skippedDisplayCallback1;
- }
- }
- }
- /* Render to normal plane. */
-#ifdef _WIN32
- window->renderDc = window->hdc;
-#endif
- window->renderWin = window->win;
- window->renderCtx = window->ctx;
- __glutWindowDamaged = (workMask & GLUT_REPAIR_WORK);
- __glutSetWindow(window);
- window->usedSwapBuffers = 0;
- window->display();
- __glutWindowDamaged = 0;
-
- skippedDisplayCallback1:;
- }
- if (workMask & (GLUT_OVERLAY_REDISPLAY_WORK | GLUT_OVERLAY_REPAIR_WORK)) {
- window = __glutWindowList[num];
- if (window && window->overlay &&
- window->overlay->win == xid && window->overlay->display) {
-
- /* Render to overlay. */
-#ifdef _WIN32
- window->renderDc = window->overlay->hdc;
-#endif
- window->renderWin = window->overlay->win;
- window->renderCtx = window->overlay->ctx;
- __glutWindowDamaged = (workMask & GLUT_OVERLAY_REPAIR_WORK);
- __glutSetWindow(window);
- window->overlay->display();
- __glutWindowDamaged = 0;
- } else {
- /* Overlay may have since been destroyed or the
- overlay callback may have been disabled during
- normal display callback. */
- }
- }
- } else {
- if (__glutMesaSwapHackSupport) {
- if (!window->overlay && window->usedSwapBuffers) {
- if ((workMask & (GLUT_REPAIR_WORK | GLUT_REDISPLAY_WORK)) == GLUT_REPAIR_WORK) {
- SWAP_BUFFERS_WINDOW(window);
- goto skippedDisplayCallback2;
- }
- }
- }
- /* Render to normal plane (and possibly overlay). */
- __glutWindowDamaged = (workMask & (GLUT_OVERLAY_REPAIR_WORK | GLUT_REPAIR_WORK));
- __glutSetWindow(window);
- window->usedSwapBuffers = 0;
- window->display();
- __glutWindowDamaged = 0;
-
- skippedDisplayCallback2:;
- }
- }
- /* Combine workMask with window->workMask to determine what
- finish and debug work there is. */
- workMask |= window->workMask;
-
- if (workMask & GLUT_FINISH_WORK) {
- /* Finish work makes sure a glFinish gets done to indirect
- rendering contexts. Indirect contexts tend to have much
- longer latency because lots of OpenGL extension requests
- can queue up in the X protocol stream. __glutSetWindow
- is where the finish works gets queued for indirect
- contexts. */
- __glutSetWindow(window);
-#if !defined(_WIN32)
- if (!window->isDirect)
-#endif
- {
- glFinish();
- }
- }
- if (workMask & GLUT_DEBUG_WORK) {
- __glutSetWindow(window);
- glutReportErrors();
- }
- /* Strip out dummy, finish, and debug work bits. */
- window->workMask &= ~(GLUT_DUMMY_WORK | GLUT_FINISH_WORK | GLUT_DEBUG_WORK);
- if (window->workMask) {
- /* Leave on work list. */
- return window;
- } else {
- /* Remove current window from work list. */
- return window->prevWorkWin;
- }
-}
-
-static /* X11 implementations do not need this global. */
-void
-__glutProcessWindowWorkLists(void)
-{
- if (__glutWindowWorkList) {
- GLUTwindow *remainder, *work;
-
- work = __glutWindowWorkList;
- __glutWindowWorkList = NULL;
- if (work) {
- remainder = processWindowWorkList(work);
- if (remainder) {
- *beforeEnd = __glutWindowWorkList;
- __glutWindowWorkList = remainder;
- }
- }
- }
-}
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutMainLoop(void)
-{
-#if !defined(_WIN32)
- if (!__glutDisplay)
- __glutFatalUsage("main loop entered with out proper initialization.");
-#endif
- if (!__glutWindowListSize)
- __glutFatalUsage(
- "main loop entered with no windows created.");
- for (;;) {
- __glutProcessWindowWorkLists();
- if (__glutIdleFunc || __glutWindowWorkList) {
- idleWait();
- } else {
- if (__glutTimerList) {
- waitForSomething();
- } else {
- processEventsAndTimeouts();
- }
- }
- }
-}
-/* ENDCENTRY */
diff --git a/src/glut/glx/glut_ext.c b/src/glut/glx/glut_ext.c
deleted file mode 100644
index 922a94b20d..0000000000
--- a/src/glut/glx/glut_ext.c
+++ /dev/null
@@ -1,201 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994, 1997. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include <stdlib.h>
-#include <string.h>
-
-#include "glutint.h"
-
-/* CENTRY */
-int GLUTAPIENTRY
-glutExtensionSupported(const char *extension)
-{
- static const GLubyte *extensions = NULL;
- const GLubyte *start;
- GLubyte *where, *terminator;
-
- /* Extension names should not have spaces. */
- where = (GLubyte *) strchr(extension, ' ');
- if (where || *extension == '\0')
- return 0;
-
- if (!extensions) {
- extensions = glGetString(GL_EXTENSIONS);
- }
- /* It takes a bit of care to be fool-proof about parsing the
- OpenGL extensions string. Don't be fooled by sub-strings,
- etc. */
- start = extensions;
- for (;;) {
- /* If your application crashes in the strstr routine below,
- you are probably calling glutExtensionSupported without
- having a current window. Calling glGetString without
- a current OpenGL context has unpredictable results.
- Please fix your program. */
- where = (GLubyte *) strstr((const char *) start, extension);
- if (!where)
- break;
- terminator = where + strlen(extension);
- if (where == start || *(where - 1) == ' ') {
- if (*terminator == ' ' || *terminator == '\0') {
- return 1;
- }
- }
- start = terminator;
- }
- return 0;
-}
-
-
-struct name_address_pair {
- const char *name;
- const GLUTproc address;
-};
-
-static struct name_address_pair glut_functions[] = {
- { "glutInit", (const GLUTproc) glutInit },
- { "glutInitDisplayMode", (const GLUTproc) glutInitDisplayMode },
- { "glutInitDisplayString", (const GLUTproc) glutInitDisplayString },
- { "glutInitWindowPosition", (const GLUTproc) glutInitWindowPosition },
- { "glutInitWindowSize", (const GLUTproc) glutInitWindowSize },
- { "glutMainLoop", (const GLUTproc) glutMainLoop },
- { "glutCreateWindow", (const GLUTproc) glutCreateWindow },
- { "glutCreateSubWindow", (const GLUTproc) glutCreateSubWindow },
- { "glutDestroyWindow", (const GLUTproc) glutDestroyWindow },
- { "glutPostRedisplay", (const GLUTproc) glutPostRedisplay },
- { "glutPostWindowRedisplay", (const GLUTproc) glutPostWindowRedisplay },
- { "glutSwapBuffers", (const GLUTproc) glutSwapBuffers },
- { "glutGetWindow", (const GLUTproc) glutGetWindow },
- { "glutSetWindow", (const GLUTproc) glutSetWindow },
- { "glutSetWindowTitle", (const GLUTproc) glutSetWindowTitle },
- { "glutSetIconTitle", (const GLUTproc) glutSetIconTitle },
- { "glutPositionWindow", (const GLUTproc) glutPositionWindow },
- { "glutReshapeWindow", (const GLUTproc) glutReshapeWindow },
- { "glutPopWindow", (const GLUTproc) glutPopWindow },
- { "glutPushWindow", (const GLUTproc) glutPushWindow },
- { "glutIconifyWindow", (const GLUTproc) glutIconifyWindow },
- { "glutShowWindow", (const GLUTproc) glutShowWindow },
- { "glutHideWindow", (const GLUTproc) glutHideWindow },
- { "glutFullScreen", (const GLUTproc) glutFullScreen },
- { "glutSetCursor", (const GLUTproc) glutSetCursor },
- { "glutWarpPointer", (const GLUTproc) glutWarpPointer },
- { "glutEstablishOverlay", (const GLUTproc) glutEstablishOverlay },
- { "glutRemoveOverlay", (const GLUTproc) glutRemoveOverlay },
- { "glutUseLayer", (const GLUTproc) glutUseLayer },
- { "glutPostOverlayRedisplay", (const GLUTproc) glutPostOverlayRedisplay },
- { "glutPostWindowOverlayRedisplay", (const GLUTproc) glutPostWindowOverlayRedisplay },
- { "glutShowOverlay", (const GLUTproc) glutShowOverlay },
- { "glutHideOverlay", (const GLUTproc) glutHideOverlay },
- { "glutCreateMenu", (const GLUTproc) glutCreateMenu },
- { "glutDestroyMenu", (const GLUTproc) glutDestroyMenu },
- { "glutGetMenu", (const GLUTproc) glutGetMenu },
- { "glutSetMenu", (const GLUTproc) glutSetMenu },
- { "glutAddMenuEntry", (const GLUTproc) glutAddMenuEntry },
- { "glutAddSubMenu", (const GLUTproc) glutAddSubMenu },
- { "glutChangeToMenuEntry", (const GLUTproc) glutChangeToMenuEntry },
- { "glutChangeToSubMenu", (const GLUTproc) glutChangeToSubMenu },
- { "glutRemoveMenuItem", (const GLUTproc) glutRemoveMenuItem },
- { "glutAttachMenu", (const GLUTproc) glutAttachMenu },
- { "glutDetachMenu", (const GLUTproc) glutDetachMenu },
- { "glutDisplayFunc", (const GLUTproc) glutDisplayFunc },
- { "glutReshapeFunc", (const GLUTproc) glutReshapeFunc },
- { "glutKeyboardFunc", (const GLUTproc) glutKeyboardFunc },
- { "glutMouseFunc", (const GLUTproc) glutMouseFunc },
- { "glutMotionFunc", (const GLUTproc) glutMotionFunc },
- { "glutPassiveMotionFunc", (const GLUTproc) glutPassiveMotionFunc },
- { "glutEntryFunc", (const GLUTproc) glutEntryFunc },
- { "glutVisibilityFunc", (const GLUTproc) glutVisibilityFunc },
- { "glutIdleFunc", (const GLUTproc) glutIdleFunc },
- { "glutTimerFunc", (const GLUTproc) glutTimerFunc },
- { "glutMenuStateFunc", (const GLUTproc) glutMenuStateFunc },
- { "glutSpecialFunc", (const GLUTproc) glutSpecialFunc },
- { "glutSpaceballMotionFunc", (const GLUTproc) glutSpaceballMotionFunc },
- { "glutSpaceballRotateFunc", (const GLUTproc) glutSpaceballRotateFunc },
- { "glutSpaceballButtonFunc", (const GLUTproc) glutSpaceballButtonFunc },
- { "glutButtonBoxFunc", (const GLUTproc) glutButtonBoxFunc },
- { "glutDialsFunc", (const GLUTproc) glutDialsFunc },
- { "glutTabletMotionFunc", (const GLUTproc) glutTabletMotionFunc },
- { "glutTabletButtonFunc", (const GLUTproc) glutTabletButtonFunc },
- { "glutMenuStatusFunc", (const GLUTproc) glutMenuStatusFunc },
- { "glutOverlayDisplayFunc", (const GLUTproc) glutOverlayDisplayFunc },
- { "glutWindowStatusFunc", (const GLUTproc) glutWindowStatusFunc },
- { "glutKeyboardUpFunc", (const GLUTproc) glutKeyboardUpFunc },
- { "glutSpecialUpFunc", (const GLUTproc) glutSpecialUpFunc },
- { "glutJoystickFunc", (const GLUTproc) glutJoystickFunc },
- { "glutSetColor", (const GLUTproc) glutSetColor },
- { "glutGetColor", (const GLUTproc) glutGetColor },
- { "glutCopyColormap", (const GLUTproc) glutCopyColormap },
- { "glutGet", (const GLUTproc) glutGet },
- { "glutDeviceGet", (const GLUTproc) glutDeviceGet },
- { "glutExtensionSupported", (const GLUTproc) glutExtensionSupported },
- { "glutGetModifiers", (const GLUTproc) glutGetModifiers },
- { "glutLayerGet", (const GLUTproc) glutLayerGet },
- { "glutGetProcAddress", (const GLUTproc) glutGetProcAddress },
- { "glutBitmapCharacter", (const GLUTproc) glutBitmapCharacter },
- { "glutBitmapWidth", (const GLUTproc) glutBitmapWidth },
- { "glutStrokeCharacter", (const GLUTproc) glutStrokeCharacter },
- { "glutStrokeWidth", (const GLUTproc) glutStrokeWidth },
- { "glutBitmapLength", (const GLUTproc) glutBitmapLength },
- { "glutStrokeLength", (const GLUTproc) glutStrokeLength },
- { "glutWireSphere", (const GLUTproc) glutWireSphere },
- { "glutSolidSphere", (const GLUTproc) glutSolidSphere },
- { "glutWireCone", (const GLUTproc) glutWireCone },
- { "glutSolidCone", (const GLUTproc) glutSolidCone },
- { "glutWireCube", (const GLUTproc) glutWireCube },
- { "glutSolidCube", (const GLUTproc) glutSolidCube },
- { "glutWireTorus", (const GLUTproc) glutWireTorus },
- { "glutSolidTorus", (const GLUTproc) glutSolidTorus },
- { "glutWireDodecahedron", (const GLUTproc) glutWireDodecahedron },
- { "glutSolidDodecahedron", (const GLUTproc) glutSolidDodecahedron },
- { "glutWireTeapot", (const GLUTproc) glutWireTeapot },
- { "glutSolidTeapot", (const GLUTproc) glutSolidTeapot },
- { "glutWireOctahedron", (const GLUTproc) glutWireOctahedron },
- { "glutSolidOctahedron", (const GLUTproc) glutSolidOctahedron },
- { "glutWireTetrahedron", (const GLUTproc) glutWireTetrahedron },
- { "glutSolidTetrahedron", (const GLUTproc) glutSolidTetrahedron },
- { "glutWireIcosahedron", (const GLUTproc) glutWireIcosahedron },
- { "glutSolidIcosahedron", (const GLUTproc) glutSolidIcosahedron },
- { "glutVideoResizeGet", (const GLUTproc) glutVideoResizeGet },
- { "glutSetupVideoResizing", (const GLUTproc) glutSetupVideoResizing },
- { "glutStopVideoResizing", (const GLUTproc) glutStopVideoResizing },
- { "glutVideoResize", (const GLUTproc) glutVideoResize },
- { "glutVideoPan", (const GLUTproc) glutVideoPan },
- { "glutReportErrors", (const GLUTproc) glutReportErrors },
- { "glutIgnoreKeyRepeat", (const GLUTproc) glutIgnoreKeyRepeat },
- { "glutSetKeyRepeat", (const GLUTproc) glutSetKeyRepeat },
- { "glutForceJoystickFunc", (const GLUTproc) glutForceJoystickFunc },
- { "glutGameModeString", (const GLUTproc) glutGameModeString },
- { "glutEnterGameMode", (const GLUTproc) glutEnterGameMode },
- { "glutLeaveGameMode", (const GLUTproc) glutLeaveGameMode },
- { "glutGameModeGet", (const GLUTproc) glutGameModeGet },
- { NULL, NULL }
-};
-
-
-/* XXX This isn't an official GLUT function, yet */
-GLUTproc GLUTAPIENTRY
-glutGetProcAddress(const char *procName)
-{
- /* Try GLUT functions first */
- int i;
- for (i = 0; glut_functions[i].name; i++) {
- if (strcmp(glut_functions[i].name, procName) == 0)
- return glut_functions[i].address;
- }
-
- /* Try core GL functions */
-#if defined(_WIN32)
- return (GLUTproc) wglGetProcAddress((LPCSTR) procName);
-#elif defined(GLX_ARB_get_proc_address)
- return (GLUTproc) glXGetProcAddressARB((const GLubyte *) procName);
-#else
- return NULL;
-#endif
-}
-
-
-/* ENDCENTRY */
diff --git a/src/glut/glx/glut_fcb.c b/src/glut/glx/glut_fcb.c
deleted file mode 100644
index c8a3422b36..0000000000
--- a/src/glut/glx/glut_fcb.c
+++ /dev/null
@@ -1,164 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1998. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-/* I appreciate the guidance from William Mitchell
- (mitchell@cam.nist.gov) in developing this friend interface
- for use by the f90gl package. See ../../README.fortran */
-
-#include "glutint.h"
-
-/* FCB stands for Fortran CallBack. */
-
-/* There is only one idleFunc, menuStateFunc, and menuStatusFunc, so they
- can be saved in the wrappers for Fortran rather than the C structures. */
-
-/* Set a Fortran callback function. */
-
-void APIENTRY
-__glutSetFCB(int which, GLUTproc func)
-{
-#ifdef SUPPORT_FORTRAN
- switch (which) {
- case GLUT_FCB_DISPLAY:
- __glutCurrentWindow->fdisplay = (GLUTdisplayFCB) func;
- break;
- case GLUT_FCB_RESHAPE:
- __glutCurrentWindow->freshape = (GLUTreshapeFCB) func;
- break;
- case GLUT_FCB_MOUSE:
- __glutCurrentWindow->fmouse = (GLUTmouseFCB) func;
- break;
- case GLUT_FCB_MOTION:
- __glutCurrentWindow->fmotion = (GLUTmotionFCB) func;
- break;
- case GLUT_FCB_PASSIVE:
- __glutCurrentWindow->fpassive = (GLUTpassiveFCB) func;
- break;
- case GLUT_FCB_ENTRY:
- __glutCurrentWindow->fentry = (GLUTentryFCB) func;
- break;
- case GLUT_FCB_KEYBOARD:
- __glutCurrentWindow->fkeyboard = (GLUTkeyboardFCB) func;
- break;
- case GLUT_FCB_KEYBOARD_UP:
- __glutCurrentWindow->fkeyboardUp = (GLUTkeyboardFCB) func;
- break;
- case GLUT_FCB_WINDOW_STATUS:
- __glutCurrentWindow->fwindowStatus = (GLUTwindowStatusFCB) func;
- break;
- case GLUT_FCB_VISIBILITY:
- __glutCurrentWindow->fvisibility = (GLUTvisibilityFCB) func;
- break;
- case GLUT_FCB_SPECIAL:
- __glutCurrentWindow->fspecial = (GLUTspecialFCB) func;
- break;
- case GLUT_FCB_SPECIAL_UP:
- __glutCurrentWindow->fspecialUp = (GLUTspecialFCB) func;
- break;
- case GLUT_FCB_BUTTON_BOX:
- __glutCurrentWindow->fbuttonBox = (GLUTbuttonBoxFCB) func;
- break;
- case GLUT_FCB_DIALS:
- __glutCurrentWindow->fdials = (GLUTdialsFCB) func;
- break;
- case GLUT_FCB_SPACE_MOTION:
- __glutCurrentWindow->fspaceMotion = (GLUTspaceMotionFCB) func;
- break;
- case GLUT_FCB_SPACE_ROTATE:
- __glutCurrentWindow->fspaceRotate = (GLUTspaceRotateFCB) func;
- break;
- case GLUT_FCB_SPACE_BUTTON:
- __glutCurrentWindow->fspaceButton = (GLUTspaceButtonFCB) func;
- break;
- case GLUT_FCB_TABLET_MOTION:
- __glutCurrentWindow->ftabletMotion = (GLUTtabletMotionFCB) func;
- break;
- case GLUT_FCB_TABLET_BUTTON:
- __glutCurrentWindow->ftabletButton = (GLUTtabletButtonFCB) func;
- break;
-#ifdef _WIN32
- case GLUT_FCB_JOYSTICK:
- __glutCurrentWindow->fjoystick = (GLUTjoystickFCB) func;
- break;
-#endif
- case GLUT_FCB_OVERLAY_DISPLAY:
- __glutCurrentWindow->overlay->fdisplay = (GLUTdisplayFCB) func;
- break;
- case GLUT_FCB_SELECT:
- __glutCurrentMenu->fselect = (GLUTselectFCB) func;
- break;
- case GLUT_FCB_TIMER:
- __glutNewTimer->ffunc = (GLUTtimerFCB) func;
- break;
- }
-#endif
-}
-
-/* Get a Fortran callback function. */
-
-GLUTproc APIENTRY
-__glutGetFCB(int which)
-{
-#ifdef SUPPORT_FORTRAN
- switch (which) {
- case GLUT_FCB_DISPLAY:
- return __glutCurrentWindow->fdisplay;
- case GLUT_FCB_RESHAPE:
- return __glutCurrentWindow->freshape;
- case GLUT_FCB_MOUSE:
- return __glutCurrentWindow->fmouse;
- case GLUT_FCB_MOTION:
- return __glutCurrentWindow->fmotion;
- case GLUT_FCB_PASSIVE:
- return __glutCurrentWindow->fpassive;
- case GLUT_FCB_ENTRY:
- return __glutCurrentWindow->fentry;
- case GLUT_FCB_KEYBOARD:
- return __glutCurrentWindow->fkeyboard;
- case GLUT_FCB_KEYBOARD_UP:
- return __glutCurrentWindow->fkeyboardUp;
- case GLUT_FCB_WINDOW_STATUS:
- return __glutCurrentWindow->fwindowStatus;
- case GLUT_FCB_VISIBILITY:
- return __glutCurrentWindow->fvisibility;
- case GLUT_FCB_SPECIAL:
- return __glutCurrentWindow->fspecial;
- case GLUT_FCB_SPECIAL_UP:
- return __glutCurrentWindow->fspecialUp;
- case GLUT_FCB_BUTTON_BOX:
- return __glutCurrentWindow->fbuttonBox;
- case GLUT_FCB_DIALS:
- return __glutCurrentWindow->fdials;
- case GLUT_FCB_SPACE_MOTION:
- return __glutCurrentWindow->fspaceMotion;
- case GLUT_FCB_SPACE_ROTATE:
- return __glutCurrentWindow->fspaceRotate;
- case GLUT_FCB_SPACE_BUTTON:
- return __glutCurrentWindow->fspaceButton;
- case GLUT_FCB_TABLET_MOTION:
- return __glutCurrentWindow->ftabletMotion;
- case GLUT_FCB_TABLET_BUTTON:
- return __glutCurrentWindow->ftabletButton;
- case GLUT_FCB_JOYSTICK:
-#ifdef _WIN32
- return __glutCurrentWindow->fjoystick;
-#else
- return NULL;
-#endif
- case GLUT_FCB_OVERLAY_DISPLAY:
- return __glutCurrentWindow->overlay->fdisplay;
- case GLUT_FCB_SELECT:
- return __glutCurrentMenu->fselect;
- case GLUT_FCB_TIMER:
- return __glutTimerList ? __glutTimerList->ffunc : NULL;
- default:
- return NULL;
- }
-#else
- return NULL;
-#endif
-}
diff --git a/src/glut/glx/glut_fullscrn.c b/src/glut/glx/glut_fullscrn.c
deleted file mode 100644
index aab3b48763..0000000000
--- a/src/glut/glx/glut_fullscrn.c
+++ /dev/null
@@ -1,56 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1995, 1998. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#ifdef __VMS
-#include <GL/vms_x_fix.h>
-#endif
-
-#include <stdio.h> /* SunOS multithreaded assert() needs <stdio.h>. Lame. */
-#include <assert.h>
-
-#if !defined(_WIN32)
-#include <X11/Xlib.h>
-#include <X11/Xatom.h>
-#endif
-
-/* SGI optimization introduced in IRIX 6.3 to avoid X server
- round trips for interning common X atoms. */
-#if defined(_SGI_EXTRA_PREDEFINES) && !defined(NO_FAST_ATOMS)
-#include <X11/SGIFastAtom.h>
-#else
-#define XSGIFastInternAtom(dpy,string,fast_name,how) XInternAtom(dpy,string,how)
-#endif
-
-#include "glutint.h"
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutFullScreen(void)
-{
- assert(!__glutCurrentWindow->parent);
- IGNORE_IN_GAME_MODE();
-#if !defined(_WIN32)
- if (__glutMotifHints == None) {
- __glutMotifHints = XSGIFastInternAtom(__glutDisplay, "_MOTIF_WM_HINTS",
- SGI_XA__MOTIF_WM_HINTS, 0);
- if (__glutMotifHints == None) {
- __glutWarning("Could not intern X atom for _MOTIF_WM_HINTS.");
- }
- }
-#endif
-
- __glutCurrentWindow->desiredX = 0;
- __glutCurrentWindow->desiredY = 0;
- __glutCurrentWindow->desiredWidth = __glutScreenWidth;
- __glutCurrentWindow->desiredHeight = __glutScreenHeight;
- __glutCurrentWindow->desiredConfMask |= CWX | CWY | CWWidth | CWHeight;
-
- __glutPutOnWorkList(__glutCurrentWindow,
- GLUT_CONFIGURE_WORK | GLUT_FULL_SCREEN_WORK);
-}
-
-/* ENDCENTRY */
diff --git a/src/glut/glx/glut_gamemode.c b/src/glut/glx/glut_gamemode.c
deleted file mode 100644
index 3ffeafee57..0000000000
--- a/src/glut/glx/glut_gamemode.c
+++ /dev/null
@@ -1,678 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1998. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#ifdef __VMS
-#include <GL/vms_x_fix.h>
-#endif
-
-#include <assert.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "glutint.h"
-
-#ifndef _WIN32
-#include <X11/Xlib.h>
-#include <X11/Xatom.h>
-
-/* SGI optimization introduced in IRIX 6.3 to avoid X server
- round trips for interning common X atoms. */
-#if defined(_SGI_EXTRA_PREDEFINES) && !defined(NO_FAST_ATOMS)
-#include <X11/SGIFastAtom.h>
-#else
-#define XSGIFastInternAtom(dpy,string,fast_name,how) XInternAtom(dpy,string,how)
-#endif
-#endif /* not _WIN32 */
-
-int __glutDisplaySettingsChanged = 0;
-static DisplayMode *dmodes, *currentDm = NULL;
-static int ndmodes = -1;
-GLUTwindow *__glutGameModeWindow = NULL;
-
-#ifdef TEST
-static char *compstr[] =
-{
- "none", "=", "!=", "<=", ">=", ">", "<", "~"
-};
-static char *capstr[] =
-{
- "width", "height", "bpp", "hertz", "num"
-};
-#endif
-
-void
-__glutCloseDownGameMode(void)
-{
- if (__glutDisplaySettingsChanged) {
-#ifdef _WIN32
- /* Assumes that display settings have been changed, that
- is __glutDisplaySettingsChanged is true. */
- ChangeDisplaySettings(NULL, 0);
-#endif
- __glutDisplaySettingsChanged = 0;
- }
- __glutGameModeWindow = NULL;
-}
-
-void GLUTAPIENTRY
-glutLeaveGameMode(void)
-{
- if (__glutGameModeWindow == NULL) {
- __glutWarning("not in game mode so cannot leave game mode");
- return;
- }
- __glutDestroyWindow(__glutGameModeWindow,
- __glutGameModeWindow);
- XFlush(__glutDisplay);
- __glutGameModeWindow = NULL;
-}
-
-#ifdef _WIN32
-
-/* Same values as from MSDN's SetDisp.c example. */
-#define MIN_WIDTH 400
-#define MIN_FREQUENCY 60
-
-static void
-initGameModeSupport(void)
-{
- DEVMODE dm;
- DWORD mode;
- int i;
-
- if (ndmodes >= 0) {
- /* ndmodes is initially -1 to indicate no
- dmodes allocated yet. */
- return;
- }
-
- /* Determine how many display modes there are. */
- ndmodes = 0;
- mode = 0;
- while (EnumDisplaySettings(NULL, mode, &dm)) {
- if (dm.dmPelsWidth >= MIN_WIDTH &&
- (dm.dmDisplayFrequency == 0 ||
- dm.dmDisplayFrequency >= MIN_FREQUENCY)) {
- ndmodes++;
- }
- mode++;
- }
-
- /* Allocate memory for a list of all the display modes. */
- dmodes = (DisplayMode*)
- malloc(ndmodes * sizeof(DisplayMode));
-
- /* Now that we know how many display modes to expect,
- enumerate them again and save the information in
- the list we allocated above. */
- i = 0;
- mode = 0;
- while (EnumDisplaySettings(NULL, mode, &dm)) {
- /* Try to reject any display settings that seem unplausible. */
- if (dm.dmPelsWidth >= MIN_WIDTH &&
- (dm.dmDisplayFrequency == 0 ||
- dm.dmDisplayFrequency >= MIN_FREQUENCY)) {
- dmodes[i].devmode = dm;
- dmodes[i].valid = 1; /* XXX Not used for now. */
- dmodes[i].cap[DM_WIDTH] = dm.dmPelsWidth;
- dmodes[i].cap[DM_HEIGHT] = dm.dmPelsHeight;
- dmodes[i].cap[DM_PIXEL_DEPTH] = dm.dmBitsPerPel;
- if (dm.dmDisplayFrequency == 0) {
- /* Guess a reasonable guess. */
- /* Lame Windows 95 version of EnumDisplaySettings. */
- dmodes[i].cap[DM_HERTZ] = 60;
- } else {
- dmodes[i].cap[DM_HERTZ] = dm.dmDisplayFrequency;
- }
- i++;
- }
- mode++;
- }
-
- assert(i == ndmodes);
-}
-
-#else
-
-/* X Windows version of initGameModeSupport. */
-static void
-initGameModeSupport(void)
-{
- if (ndmodes >= 0) {
- /* ndmodes is initially -1 to indicate no
- dmodes allocated yet. */
- return;
- }
-
- /* Determine how many display modes there are. */
- ndmodes = 0;
-}
-
-#endif
-
-/* This routine is based on similiar code in glut_dstr.c */
-static DisplayMode *
-findMatch(DisplayMode * dmodes, int ndmodes,
- Criterion * criteria, int ncriteria)
-{
- DisplayMode *found;
- int *bestScore, *thisScore;
- int i, j, numok, result = 0, worse, better;
-
- found = NULL;
- numok = 1; /* "num" capability is indexed from 1,
- not 0. */
-
- /* XXX alloca canidate. */
- bestScore = (int *) malloc(ncriteria * sizeof(int));
- if (!bestScore) {
- __glutFatalError("out of memory.");
- }
- for (j = 0; j < ncriteria; j++) {
- /* Very negative number. */
- bestScore[j] = -32768;
- }
-
- /* XXX alloca canidate. */
- thisScore = (int *) malloc(ncriteria * sizeof(int));
- if (!thisScore) {
- __glutFatalError("out of memory.");
- }
-
- for (i = 0; i < ndmodes; i++) {
- if (dmodes[i].valid) {
- worse = 0;
- better = 0;
-
- for (j = 0; j < ncriteria; j++) {
- int cap, cvalue, dvalue;
-
- cap = criteria[j].capability;
- cvalue = criteria[j].value;
- if (cap == NUM) {
- dvalue = numok;
- } else {
- dvalue = dmodes[i].cap[cap];
- }
-#ifdef TEST
- if (verbose)
- printf(" %s %s %d to %d\n",
- capstr[cap], compstr[criteria[j].comparison], cvalue, dvalue);
-#endif
- switch (criteria[j].comparison) {
- case EQ:
- result = cvalue == dvalue;
- thisScore[j] = 1;
- break;
- case NEQ:
- result = cvalue != dvalue;
- thisScore[j] = 1;
- break;
- case LT:
- result = dvalue < cvalue;
- thisScore[j] = dvalue - cvalue;
- break;
- case GT:
- result = dvalue > cvalue;
- thisScore[j] = dvalue - cvalue;
- break;
- case LTE:
- result = dvalue <= cvalue;
- thisScore[j] = dvalue - cvalue;
- break;
- case GTE:
- result = (dvalue >= cvalue);
- thisScore[j] = dvalue - cvalue;
- break;
- case MIN:
- result = dvalue >= cvalue;
- thisScore[j] = cvalue - dvalue;
- break;
- }
-
-#ifdef TEST
- if (verbose)
- printf(" result=%d score=%d bestScore=%d\n", result, thisScore[j], bestScore[j]);
-#endif
-
- if (result) {
- if (better || thisScore[j] > bestScore[j]) {
- better = 1;
- } else if (thisScore[j] == bestScore[j]) {
- /* Keep looking. */
- } else {
- goto nextDM;
- }
- } else {
- if (cap == NUM) {
- worse = 1;
- } else {
- goto nextDM;
- }
- }
-
- }
-
- if (better && !worse) {
- found = &dmodes[i];
- for (j = 0; j < ncriteria; j++) {
- bestScore[j] = thisScore[j];
- }
- }
- numok++;
-
- nextDM:;
-
- }
- }
- free(bestScore);
- free(thisScore);
- return found;
-}
-
-/**
- * Parses strings in the form of:
- * 800x600
- * 800x600:16
- * 800x600@60
- * 800x600:16@60
- * @60
- * :16
- * :16@60
- * NOTE that @ before : is not parsed.
- */
-static int
-specialCaseParse(char *word, Criterion * criterion, int mask)
-{
- char *xstr, *response;
- int got;
- int width, height, bpp, hertz;
-
- switch(word[0]) {
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- /* The WWWxHHH case. */
- if (mask & (1 << DM_WIDTH)) {
- return -1;
- }
- xstr = strpbrk(&word[1], "x");
- if (xstr) {
- width = (int) strtol(word, &response, 0);
- if (response == word || response[0] != 'x') {
- /* Not a valid number OR needs to be followed by 'x'. */
- return -1;
- }
- height = (int) strtol(&xstr[1], &response, 0);
- if (response == &xstr[1]) {
- /* Not a valid number. */
- return -1;
- }
- criterion[0].capability = DM_WIDTH;
- criterion[0].comparison = EQ;
- criterion[0].value = width;
- criterion[1].capability = DM_HEIGHT;
- criterion[1].comparison = EQ;
- criterion[1].value = height;
- got = specialCaseParse(response,
- &criterion[2], 1 << DM_WIDTH);
- if (got >= 0) {
- return got + 2;
- } else {
- return -1;
- }
- }
- return -1;
- case ':':
- /* The :BPP case. */
- if (mask & (1 << DM_PIXEL_DEPTH)) {
- return -1;
- }
- bpp = (int) strtol(&word[1], &response, 0);
- if (response == &word[1]) {
- /* Not a valid number. */
- return -1;
- }
- criterion[0].capability = DM_PIXEL_DEPTH;
- criterion[0].comparison = EQ;
- criterion[0].value = bpp;
- got = specialCaseParse(response,
- &criterion[1], 1 << DM_WIDTH | 1 << DM_PIXEL_DEPTH);
- if (got >= 0) {
- return got + 1;
- } else {
- return -1;
- }
- case '@':
- /* The @HZ case. */
- if (mask & (1 << DM_HERTZ)) {
- return -1;
- }
- hertz = (int) strtol(&word[1], &response, 0);
- if (response == &word[1]) {
- /* Not a valid number. */
- return -1;
- }
- criterion[0].capability = DM_HERTZ;
- criterion[0].comparison = EQ;
- criterion[0].value = hertz;
- got = specialCaseParse(response,
- &criterion[1], ~DM_HERTZ);
- if (got >= 0) {
- return got + 1;
- } else {
- return -1;
- }
- case '\0':
- return 0;
- }
- return -1;
-}
-
-/* This routine is based on similiar code in glut_dstr.c */
-static int
-parseCriteria(char *word, Criterion * criterion)
-{
- char *cstr, *vstr, *response;
- int comparator, value = 0;
-
- cstr = strpbrk(word, "=><!~");
- if (cstr) {
- switch (cstr[0]) {
- case '=':
- comparator = EQ;
- vstr = &cstr[1];
- break;
- case '~':
- comparator = MIN;
- vstr = &cstr[1];
- break;
- case '>':
- if (cstr[1] == '=') {
- comparator = GTE;
- vstr = &cstr[2];
- } else {
- comparator = GT;
- vstr = &cstr[1];
- }
- break;
- case '<':
- if (cstr[1] == '=') {
- comparator = LTE;
- vstr = &cstr[2];
- } else {
- comparator = LT;
- vstr = &cstr[1];
- }
- break;
- case '!':
- if (cstr[1] == '=') {
- comparator = NEQ;
- vstr = &cstr[2];
- } else {
- return -1;
- }
- break;
- default:
- return -1;
- }
- value = (int) strtol(vstr, &response, 0);
- if (response == vstr) {
- /* Not a valid number. */
- return -1;
- }
- *cstr = '\0';
- } else {
- comparator = NONE;
- }
- switch (word[0]) {
- case 'b':
- if (!strcmp(word, "bpp")) {
- criterion[0].capability = DM_PIXEL_DEPTH;
- if (comparator == NONE) {
- return -1;
- } else {
- criterion[0].comparison = comparator;
- criterion[0].value = value;
- return 1;
- }
- }
- return -1;
- case 'h':
- if (!strcmp(word, "height")) {
- criterion[0].capability = DM_HEIGHT;
- if (comparator == NONE) {
- return -1;
- } else {
- criterion[0].comparison = comparator;
- criterion[0].value = value;
- return 1;
- }
- }
- if (!strcmp(word, "hertz")) {
- criterion[0].capability = DM_HERTZ;
- if (comparator == NONE) {
- return -1;
- } else {
- criterion[0].comparison = comparator;
- criterion[0].value = value;
- return 1;
- }
- }
- return -1;
- case 'n':
- if (!strcmp(word, "num")) {
- criterion[0].capability = DM_NUM;
- if (comparator == NONE) {
- return -1;
- } else {
- criterion[0].comparison = comparator;
- criterion[0].value = value;
- return 1;
- }
- }
- return -1;
- case 'w':
- if (!strcmp(word, "width")) {
- criterion[0].capability = DM_WIDTH;
- if (comparator == NONE) {
- return -1;
- } else {
- criterion[0].comparison = comparator;
- criterion[0].value = value;
- return 1;
- }
- }
- return -1;
- }
- if (comparator == NONE) {
- return specialCaseParse(word, criterion, 0);
- }
- return -1;
-}
-
-/* This routine is based on similiar code in glut_dstr.c */
-static Criterion *
-parseDisplayString(const char *display, int *ncriteria)
-{
- Criterion *criteria = NULL;
- int n, parsed;
- char *copy, *word;
-
- copy = __glutStrdup(display);
- /* Attempt to estimate how many criteria entries should be
- needed. */
- n = 0;
- word = strtok(copy, " \t");
- while (word) {
- n++;
- word = strtok(NULL, " \t");
- }
- /* Allocate number of words of criteria. A word
- could contain as many as four criteria in the
- worst case. Example: 800x600:16@60 */
- criteria = (Criterion *) malloc(4 * n * sizeof(Criterion));
- if (!criteria) {
- __glutFatalError("out of memory.");
- }
-
- /* Re-copy the copy of the display string. */
- strcpy(copy, display);
-
- n = 0;
- word = strtok(copy, " \t");
- while (word) {
- parsed = parseCriteria(word, &criteria[n]);
- if (parsed >= 0) {
- n += parsed;
- } else {
- __glutWarning("Unrecognized game mode string word: %s (ignoring)\n", word);
- }
- word = strtok(NULL, " \t");
- }
-
- free(copy);
- *ncriteria = n;
- return criteria;
-}
-
-void GLUTAPIENTRY
-glutGameModeString(const char *string)
-{
- Criterion *criteria;
- int ncriteria;
-
- initGameModeSupport();
- criteria = parseDisplayString(string, &ncriteria);
- currentDm = findMatch(dmodes, ndmodes, criteria, ncriteria);
- free(criteria);
-}
-
-int GLUTAPIENTRY
-glutEnterGameMode(void)
-{
- GLUTwindow *window;
- int width, height;
- Window win;
-
- if (__glutMappedMenu) {
- __glutFatalUsage("entering game mode not allowed while menus in use");
- }
- if (__glutGameModeWindow) {
- /* Already in game mode, so blow away game mode
- window so apps can change resolutions. */
- window = __glutGameModeWindow;
- /* Setting the game mode window to NULL tricks
- the window destroy code into not undoing the
- screen display change since we plan on immediately
- doing another mode change. */
- __glutGameModeWindow = NULL;
- __glutDestroyWindow(window, window);
- }
-
- /* Assume default screen size until we find out if we
- can actually change the display settings. */
- width = __glutScreenWidth;
- height = __glutScreenHeight;
-
- if (currentDm) {
-#ifdef _WIN32
- LONG status;
- static int registered = 0;
-
- status = ChangeDisplaySettings(&currentDm->devmode,
- CDS_FULLSCREEN);
- if (status == DISP_CHANGE_SUCCESSFUL) {
- __glutDisplaySettingsChanged = 1;
- width = currentDm->cap[DM_WIDTH];
- height = currentDm->cap[DM_HEIGHT];
- if (!registered) {
- atexit(__glutCloseDownGameMode);
- registered = 1;
- }
- } else {
- /* Switch back to default resolution. */
- ChangeDisplaySettings(NULL, 0);
- }
-#endif
- }
-
- window = __glutCreateWindow(NULL, 0, 0,
- width, height, /* game mode */ 1);
- win = window->win;
-
-#if !defined(_WIN32)
- if (__glutMotifHints == None) {
- __glutMotifHints = XSGIFastInternAtom(__glutDisplay, "_MOTIF_WM_HINTS",
- SGI_XA__MOTIF_WM_HINTS, 0);
- if (__glutMotifHints == None) {
- __glutWarning("Could not intern X atom for _MOTIF_WM_HINTS.");
- }
- }
-
- /* Game mode window is a toplevel window. */
- XSetWMProtocols(__glutDisplay, win, &__glutWMDeleteWindow, 1);
-#endif
-
- /* Schedule the fullscreen property to be added and to
- make sure the window is configured right. Win32
- doesn't need this. */
- window->desiredX = 0;
- window->desiredY = 0;
- window->desiredWidth = width;
- window->desiredHeight = height;
- window->desiredConfMask |= CWX | CWY | CWWidth | CWHeight;
-#ifdef _WIN32
- /* Win32 does not want to use GLUT_FULL_SCREEN_WORK
- for game mode because we need to be maximizing
- the window in game mode, not just sizing it to
- take up the full screen. The Win32-ness of game
- mode happens when you pass 1 in the gameMode parameter
- to __glutCreateWindow above. A gameMode of creates
- a WS_POPUP window, not a standard WS_OVERLAPPEDWINDOW
- window. WS_POPUP ensures the taskbar is hidden. */
- __glutPutOnWorkList(window,
- GLUT_CONFIGURE_WORK);
-#else
- __glutPutOnWorkList(window,
- GLUT_CONFIGURE_WORK | GLUT_FULL_SCREEN_WORK);
-#endif
-
- __glutGameModeWindow = window;
- return window->num + 1;
-}
-
-int GLUTAPIENTRY
-glutGameModeGet(GLenum mode)
-{
- switch (mode) {
- case GLUT_GAME_MODE_ACTIVE:
- return __glutGameModeWindow != NULL;
- case GLUT_GAME_MODE_POSSIBLE:
- return currentDm != NULL;
- case GLUT_GAME_MODE_WIDTH:
- return currentDm ? currentDm->cap[DM_WIDTH] : -1;
- case GLUT_GAME_MODE_HEIGHT:
- return currentDm ? currentDm->cap[DM_HEIGHT] : -1;
- case GLUT_GAME_MODE_PIXEL_DEPTH:
- return currentDm ? currentDm->cap[DM_PIXEL_DEPTH] : -1;
- case GLUT_GAME_MODE_REFRESH_RATE:
- return currentDm ? currentDm->cap[DM_HERTZ] : -1;
- case GLUT_GAME_MODE_DISPLAY_CHANGED:
- return __glutDisplaySettingsChanged;
- default:
- return -1;
- }
-}
diff --git a/src/glut/glx/glut_get.c b/src/glut/glx/glut_get.c
deleted file mode 100644
index 9c1ca6caae..0000000000
--- a/src/glut/glx/glut_get.c
+++ /dev/null
@@ -1,220 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994, 1997, 1998. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include <assert.h>
-#include <stdlib.h> /* SunOS 4 needs NULL defined for GETTIMEOFDAY macro. */
-#include "glutint.h"
-
-/* CENTRY */
-int GLUTAPIENTRY
-glutGet(GLenum param)
-{
- Window win, root;
- int x, y, value;
- unsigned int width, height, border, depth;
-
- switch (param) {
- case GLUT_INIT_WINDOW_X:
- return __glutInitX;
- case GLUT_INIT_WINDOW_Y:
- return __glutInitY;
- case GLUT_INIT_WINDOW_WIDTH:
- return __glutInitWidth;
- case GLUT_INIT_WINDOW_HEIGHT:
- return __glutInitHeight;
- case GLUT_INIT_DISPLAY_MODE:
- return __glutDisplayMode;
- case GLUT_WINDOW_X:
- XTranslateCoordinates(__glutDisplay, __glutCurrentWindow->win,
- __glutRoot, 0, 0, &x, &y, &win);
- return x;
- case GLUT_WINDOW_Y:
- XTranslateCoordinates(__glutDisplay, __glutCurrentWindow->win,
- __glutRoot, 0, 0, &x, &y, &win);
- return y;
- case GLUT_WINDOW_WIDTH:
- if (!__glutCurrentWindow->reshape) {
- XGetGeometry(__glutDisplay, __glutCurrentWindow->win,
- &root, &x, &y,
- &width, &height, &border, &depth);
- return width;
- }
- return __glutCurrentWindow->width;
- case GLUT_WINDOW_HEIGHT:
- if (!__glutCurrentWindow->reshape) {
- XGetGeometry(__glutDisplay, __glutCurrentWindow->win,
- &root, &x, &y,
- &width, &height, &border, &depth);
- return height;
- }
- return __glutCurrentWindow->height;
-
-#define GET_CONFIG(attrib) { \
- if (__glutCurrentWindow->renderWin == __glutCurrentWindow->win) { \
- glXGetConfig(__glutDisplay, __glutCurrentWindow->vis, \
- attrib, &value); \
- } else { \
- glXGetConfig(__glutDisplay, __glutCurrentWindow->overlay->vis, \
- attrib, &value); \
- } \
-}
-
- case GLUT_WINDOW_BUFFER_SIZE:
- GET_CONFIG(GLX_BUFFER_SIZE);
- return value;
- case GLUT_WINDOW_STENCIL_SIZE:
- GET_CONFIG(GLX_STENCIL_SIZE);
- return value;
- case GLUT_WINDOW_DEPTH_SIZE:
- GET_CONFIG(GLX_DEPTH_SIZE);
- return value;
- case GLUT_WINDOW_RED_SIZE:
- GET_CONFIG(GLX_RED_SIZE);
- return value;
- case GLUT_WINDOW_GREEN_SIZE:
- GET_CONFIG(GLX_GREEN_SIZE);
- return value;
- case GLUT_WINDOW_BLUE_SIZE:
- GET_CONFIG(GLX_BLUE_SIZE);
- return value;
- case GLUT_WINDOW_ALPHA_SIZE:
- GET_CONFIG(GLX_ALPHA_SIZE);
- return value;
- case GLUT_WINDOW_ACCUM_RED_SIZE:
- GET_CONFIG(GLX_ACCUM_RED_SIZE);
- return value;
- case GLUT_WINDOW_ACCUM_GREEN_SIZE:
- GET_CONFIG(GLX_ACCUM_GREEN_SIZE);
- return value;
- case GLUT_WINDOW_ACCUM_BLUE_SIZE:
- GET_CONFIG(GLX_ACCUM_BLUE_SIZE);
- return value;
- case GLUT_WINDOW_ACCUM_ALPHA_SIZE:
- GET_CONFIG(GLX_ACCUM_ALPHA_SIZE);
- return value;
- case GLUT_WINDOW_DOUBLEBUFFER:
- GET_CONFIG(GLX_DOUBLEBUFFER);
- return value;
- case GLUT_WINDOW_RGBA:
- GET_CONFIG(GLX_RGBA);
- return value;
- case GLUT_WINDOW_COLORMAP_SIZE:
- GET_CONFIG(GLX_RGBA);
- if (value) {
- return 0;
- } else {
-#if defined(_WIN32)
- /* KLUDGE: we always assume 256 colors in CI mode on
- Win32 */
- return 256;
-#else
- if (__glutCurrentWindow->renderWin == __glutCurrentWindow->win) {
- return __glutCurrentWindow->vis->visual->map_entries;
- } else {
- return __glutCurrentWindow->overlay->vis->visual->map_entries;
- }
-#endif /* _WIN32 */
- }
- case GLUT_WINDOW_PARENT:
- return __glutCurrentWindow->parent ?
- __glutCurrentWindow->parent->num + 1 : 0;
- case GLUT_WINDOW_NUM_CHILDREN:
- {
- int num = 0;
- GLUTwindow *children = __glutCurrentWindow->children;
-
- while (children) {
- num++;
- children = children->siblings;
- }
- return num;
- }
- case GLUT_WINDOW_NUM_SAMPLES:
-#if defined(GLX_VERSION_1_1) && defined(GLX_SGIS_multisample)
- if (__glutIsSupportedByGLX("GLX_SGIS_multisample")) {
- GET_CONFIG(GLX_SAMPLES_SGIS);
- return value;
- } else {
- return 0;
- }
-#else
- /* Independent of GLX server support, multisampling not
- supported by GLX client-side. */
- return 0;
-#endif
- case GLUT_WINDOW_STEREO:
- GET_CONFIG(GLX_STEREO);
- return value;
- case GLUT_WINDOW_CURSOR:
- return __glutCurrentWindow->cursor;
- case GLUT_SCREEN_WIDTH:
- return DisplayWidth(__glutDisplay, __glutScreen);
- case GLUT_SCREEN_HEIGHT:
- return DisplayHeight(__glutDisplay, __glutScreen);
- case GLUT_SCREEN_WIDTH_MM:
- return DisplayWidthMM(__glutDisplay, __glutScreen);
- case GLUT_SCREEN_HEIGHT_MM:
- return DisplayHeightMM(__glutDisplay, __glutScreen);
- case GLUT_MENU_NUM_ITEMS:
- return __glutCurrentMenu->num;
- case GLUT_DISPLAY_MODE_POSSIBLE:
- {
- XVisualInfo *vi;
- Bool dummy, visAlloced;
- void *fbc;
-
-#if defined(_WIN32)
- /* Our fake glXChooseVisual (which is called by
- __glutDetermineVisual) needs an HDC to work with, so grab one
- from the "root" window. */
- XHDC = GetDC(GetDesktopWindow());
-#endif
- vi = __glutDetermineWindowVisual(&dummy, &visAlloced, &fbc);
-#if defined(_WIN32)
- ReleaseDC(GetDesktopWindow(), XHDC);
-#endif
- if (vi) {
- if (visAlloced)
- XFree(vi);
- return 1;
- }
- return 0;
- }
- case GLUT_ELAPSED_TIME:
- {
-#ifdef OLD_VMS
- struct timeval6 elapsed, beginning, now;
-#else
- struct timeval elapsed, beginning, now;
-#endif
-
- __glutInitTime(&beginning);
- GETTIMEOFDAY(&now);
- TIMEDELTA(elapsed, now, beginning);
- /* Return elapsed milliseconds. */
-#if defined(__vms) && ( __VMS_VER < 70000000 )
- return (int) (elapsed.val / TICKS_PER_MILLISECOND);
-#else
- return (int) ((elapsed.tv_sec * 1000) + (elapsed.tv_usec / 1000));
-#endif
- }
- case GLUT_WINDOW_FORMAT_ID:
-#if defined(_WIN32)
- return GetPixelFormat(__glutCurrentWindow->hdc);
-#else
- if (__glutCurrentWindow->renderWin == __glutCurrentWindow->win) {
- return (int) __glutCurrentWindow->vis->visualid;
- } else {
- return (int) __glutCurrentWindow->overlay->vis->visualid;
- }
-#endif
- default:
- __glutWarning("invalid glutGet parameter: %d", param);
- return -1;
- }
-}
-/* ENDCENTRY */
diff --git a/src/glut/glx/glut_glxext.c b/src/glut/glx/glut_glxext.c
deleted file mode 100644
index 71b67e075d..0000000000
--- a/src/glut/glx/glut_glxext.c
+++ /dev/null
@@ -1,255 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1997. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include <stdlib.h>
-#include <string.h>
-#include "glutint.h"
-
-#if defined(GLX_VERSION_1_1)
-int
-__glutIsSupportedByGLX(char *extension)
-{
- static const char *extensions = NULL;
- const char *start;
- char *where, *terminator;
- int major, minor;
-
- glXQueryVersion(__glutDisplay, &major, &minor);
- /* Be careful not to call glXQueryExtensionsString if it
- looks like the server doesn't support GLX 1.1.
- Unfortunately, the original GLX 1.0 didn't have the notion
- of GLX extensions. */
- if ((major == 1 && minor >= 1) || (major > 1)) {
- if (!extensions)
- extensions = glXQueryExtensionsString(__glutDisplay, __glutScreen);
- /* It takes a bit of care to be fool-proof about parsing
- the GLX extensions string. Don't be fooled by
- sub-strings, etc. */
- start = extensions;
- for (;;) {
- where = strstr(start, extension);
- if (!where)
- return 0;
- terminator = where + strlen(extension);
- if (where == start || *(where - 1) == ' ') {
- if (*terminator == ' ' || *terminator == '\0') {
- return 1;
- }
- }
- start = terminator;
- }
- }
- return 0;
-}
-#endif
-
-
-
-/*
- * Wrapping of GLX extension functions.
- * Technically, we should do a runtime test to see if we've got the
- * glXGetProcAddressARB() function. I think GLX_ARB_get_proc_address
- * is pretty widely supported now and any system that has
- * GLX_ARB_get_proc_address defined in its header files should be OK
- * at runtime.
- */
-
-int
-__glut_glXBindChannelToWindowSGIX(Display *dpy, int screen,
- int channel, Window window)
-{
-#ifdef GLX_ARB_get_proc_address
- typedef int (*glXBindChannelToWindowSGIX_t) (Display *, int, int, Window);
- static glXBindChannelToWindowSGIX_t glXBindChannelToWindowSGIX_ptr = NULL;
- if (!glXBindChannelToWindowSGIX_ptr) {
- glXBindChannelToWindowSGIX_ptr = (glXBindChannelToWindowSGIX_t)
- glXGetProcAddressARB((const GLubyte *) "glXBindChannelToWindowSGIX");
- }
- if (glXBindChannelToWindowSGIX_ptr)
- return (*glXBindChannelToWindowSGIX_ptr)(dpy, screen, channel, window);
- else
- return 0;
-#elif defined(GLX_SGIX_video_resize)
- return glXBindChannelToWindowSGIX(dpy, screen, channel, window);
-#else
- return 0;
-#endif
-}
-
-
-int
-__glut_glXChannelRectSGIX(Display *dpy, int screen, int channel,
- int x, int y, int w, int h)
-{
-#ifdef GLX_ARB_get_proc_address
- typedef int (*glXChannelRectSGIX_t)(Display *, int, int, int, int, int, int);
- static glXChannelRectSGIX_t glXChannelRectSGIX_ptr = NULL;
- if (!glXChannelRectSGIX_ptr) {
- glXChannelRectSGIX_ptr = (glXChannelRectSGIX_t)
- glXGetProcAddressARB((const GLubyte *) "glXChannelRectSGIX");
- }
- if (glXChannelRectSGIX_ptr)
- return (*glXChannelRectSGIX_ptr)(dpy, screen, channel, x, y, w, h);
- else
- return 0;
-#elif defined(GLX_SGIX_video_resize)
- return glXChannelRectSGIX(dpy, screen, channel, x, y, w, h);
-#else
- return 0;
-#endif
-}
-
-
-int
-__glut_glXQueryChannelRectSGIX(Display *dpy, int screen, int channel,
- int *x, int *y, int *w, int *h)
-{
-#ifdef GLX_ARB_get_proc_address
- typedef int (*glXQueryChannelRectSGIX_t)(Display *, int, int,
- int *, int *, int *, int *);
- static glXQueryChannelRectSGIX_t glXQueryChannelRectSGIX_ptr = NULL;
- if (!glXQueryChannelRectSGIX_ptr) {
- glXQueryChannelRectSGIX_ptr = (glXQueryChannelRectSGIX_t)
- glXGetProcAddressARB((const GLubyte *) "glXQueryChannelRectSGIX");
- }
- if (glXQueryChannelRectSGIX_ptr)
- return (*glXQueryChannelRectSGIX_ptr)(dpy, screen, channel, x, y, w, h);
- else
- return 0;
-#elif defined(GLX_SGIX_video_resize)
- return glXQueryChannelRectSGIX(dpy, screen, channel, x, y, w, h);
-#else
- return 0;
-#endif
-}
-
-
-int
-__glut_glXQueryChannelDeltasSGIX(Display *dpy, int screen, int channel,
- int *dx, int *dy, int *dw, int *dh)
-{
-#ifdef GLX_ARB_get_proc_address
- typedef int (*glXQueryChannelDeltasSGIX_t)(Display *, int, int,
- int *, int *, int *, int *);
- static glXQueryChannelDeltasSGIX_t glXQueryChannelDeltasSGIX_ptr = NULL;
- if (!glXQueryChannelDeltasSGIX_ptr) {
- glXQueryChannelDeltasSGIX_ptr = (glXQueryChannelDeltasSGIX_t)
- glXGetProcAddressARB((const GLubyte *) "glXQueryChannelDeltasSGIX");
- }
- if (glXQueryChannelDeltasSGIX_ptr)
- return (*glXQueryChannelDeltasSGIX_ptr)(dpy, screen, channel,
- dx, dy, dw, dh);
- else
- return 0;
-#elif defined(GLX_SGIX_video_resize)
- return glXQueryChannelDeltasSGIX(dpy, screen, channel, dx, dy, dw, dh);
-#else
- return 0;
-#endif
-}
-
-
-int
-__glut_glXChannelRectSyncSGIX(Display *dpy, int screen,
- int channel, GLenum synctype)
-{
-#ifdef GLX_ARB_get_proc_address
- typedef int (*glXChannelRectSyncSGIX_t)(Display *, int, int, GLenum);
- static glXChannelRectSyncSGIX_t glXChannelRectSyncSGIX_ptr = NULL;
- if (!glXChannelRectSyncSGIX_ptr) {
- glXChannelRectSyncSGIX_ptr = (glXChannelRectSyncSGIX_t)
- glXGetProcAddressARB((const GLubyte *) "glXChannelRectSyncSGIX");
- }
- if (glXChannelRectSyncSGIX_ptr)
- return (*glXChannelRectSyncSGIX_ptr)(dpy, screen, channel, synctype);
- else
- return 0;
-#elif defined(GLX_SGIX_video_resize)
- return glXChannelRectSyncSGIX(dpy, screen, channel, synctype);
-#else
- return 0;
-#endif
-}
-
-
-
-GLXContext
-__glut_glXCreateContextWithConfigSGIX(Display *dpy, GLXFBConfigSGIX config,
- int render_type, GLXContext share_list,
- Bool direct)
-{
-#ifdef GLX_ARB_get_proc_address
- typedef GLXContext (*glXCreateContextWithConfigSGIX_t)(Display *,
- GLXFBConfigSGIX, int, GLXContext, Bool);
- static glXCreateContextWithConfigSGIX_t glXCreateContextWithConfig_ptr = NULL;
- if (!glXCreateContextWithConfig_ptr) {
- glXCreateContextWithConfig_ptr = (glXCreateContextWithConfigSGIX_t)
- glXGetProcAddressARB((const GLubyte *) "glXCreateContextWithConfigSGIX");
- }
- if (glXCreateContextWithConfig_ptr)
- return (*glXCreateContextWithConfig_ptr)(dpy, config, render_type,
- share_list, direct);
- else
- return 0;
-#elif defined(GLX_SGIX_fbconfig)
- return glXCreateContextWithConfigSGIX(dpy, config, render_type,
- share_list, direct);
-#else
- return 0;
-#endif
-}
-
-
-int
-__glut_glXGetFBConfigAttribSGIX(Display *dpy, GLXFBConfigSGIX config,
- int attribute, int *value)
-{
-#ifdef GLX_ARB_get_proc_address
- typedef int (*glXGetFBConfigAttribSGIX_t)(Display *,
- GLXFBConfigSGIX, int, int *);
- static glXGetFBConfigAttribSGIX_t glXGetFBConfigAttrib_ptr = NULL;
- if (!glXGetFBConfigAttrib_ptr) {
- glXGetFBConfigAttrib_ptr = (glXGetFBConfigAttribSGIX_t)
- glXGetProcAddressARB((const GLubyte *) "glXGetFBConfigAttribSGIX");
- }
- if (glXGetFBConfigAttrib_ptr)
- return (*glXGetFBConfigAttrib_ptr)(dpy, config, attribute, value);
- else
- return 0;
-#elif defined(GLX_SGIX_fbconfig)
- return glXGetFBConfigAttribSGIX(dpy, config, attribute, value);
-#else
- return 0;
-#endif
-}
-
-
-GLXFBConfigSGIX
-__glut_glXGetFBConfigFromVisualSGIX(Display *dpy, XVisualInfo *vis)
-{
-#ifdef GLX_ARB_get_proc_address
- typedef GLXFBConfigSGIX (*glXGetFBConfigFromVisualSGIX_t)(Display *,
- XVisualInfo *);
- static glXGetFBConfigFromVisualSGIX_t glXGetFBConfigFromVisual_ptr = NULL;
- if (!glXGetFBConfigFromVisual_ptr) {
- glXGetFBConfigFromVisual_ptr = (glXGetFBConfigFromVisualSGIX_t)
- glXGetProcAddressARB((const GLubyte *) "glXGetFBConfigFromVisualSGIX");
- }
- if (glXGetFBConfigFromVisual_ptr)
- return (*glXGetFBConfigFromVisual_ptr)(dpy, vis);
- else
- return 0;
-#elif defined(GLX_SGIX_fbconfig)
- return glXGetFBConfigFromVisualSGIX(dpy, vis);
-#else
- return 0;
-#endif
-}
-
-
-
-
diff --git a/src/glut/glx/glut_hel10.c b/src/glut/glx/glut_hel10.c
deleted file mode 100644
index 703cef38f2..0000000000
--- a/src/glut/glx/glut_hel10.c
+++ /dev/null
@@ -1,1778 +0,0 @@
-
-/* GENERATED FILE -- DO NOT MODIFY */
-
-#define glutBitmapHelvetica10 XXX
-#include "glutbitmap.h"
-#undef glutBitmapHelvetica10
-
-/* char: 0xff */
-
-static const GLubyte ch255data[] = {
-0x80,0x40,0x40,0x60,0xa0,0xa0,0x90,0x90,0x0,0x50,
-};
-
-static const BitmapCharRec ch255 = {4,10,0,2,5,ch255data};
-
-/* char: 0xfe */
-
-static const GLubyte ch254data[] = {
-0x80,0x80,0xb0,0xc8,0x88,0x88,0xc8,0xb0,0x80,0x80,
-};
-
-static const BitmapCharRec ch254 = {5,10,0,2,6,ch254data};
-
-/* char: 0xfd */
-
-static const GLubyte ch253data[] = {
-0x80,0x40,0x40,0x60,0xa0,0xa0,0x90,0x90,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch253 = {4,11,0,2,5,ch253data};
-
-/* char: 0xfc */
-
-static const GLubyte ch252data[] = {
-0x70,0x90,0x90,0x90,0x90,0x90,0x0,0x50,
-};
-
-static const BitmapCharRec ch252 = {4,8,0,0,5,ch252data};
-
-/* char: 0xfb */
-
-static const GLubyte ch251data[] = {
-0x70,0x90,0x90,0x90,0x90,0x90,0x0,0x50,0x20,
-};
-
-static const BitmapCharRec ch251 = {4,9,0,0,5,ch251data};
-
-/* char: 0xfa */
-
-static const GLubyte ch250data[] = {
-0x70,0x90,0x90,0x90,0x90,0x90,0x0,0x40,0x20,
-};
-
-static const BitmapCharRec ch250 = {4,9,0,0,5,ch250data};
-
-/* char: 0xf9 */
-
-static const GLubyte ch249data[] = {
-0x70,0x90,0x90,0x90,0x90,0x90,0x0,0x20,0x40,
-};
-
-static const BitmapCharRec ch249 = {4,9,0,0,5,ch249data};
-
-/* char: 0xf8 */
-
-static const GLubyte ch248data[] = {
-0x70,0x88,0xc8,0xa8,0x98,0x74,
-};
-
-static const BitmapCharRec ch248 = {6,6,0,0,6,ch248data};
-
-/* char: 0xf7 */
-
-static const GLubyte ch247data[] = {
-0x20,0x0,0xf8,0x0,0x20,
-};
-
-static const BitmapCharRec ch247 = {5,5,0,-1,6,ch247data};
-
-/* char: 0xf6 */
-
-static const GLubyte ch246data[] = {
-0x70,0x88,0x88,0x88,0x88,0x70,0x0,0x50,
-};
-
-static const BitmapCharRec ch246 = {5,8,0,0,6,ch246data};
-
-/* char: 0xf5 */
-
-static const GLubyte ch245data[] = {
-0x70,0x88,0x88,0x88,0x88,0x70,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch245 = {5,9,0,0,6,ch245data};
-
-/* char: 0xf4 */
-
-static const GLubyte ch244data[] = {
-0x70,0x88,0x88,0x88,0x88,0x70,0x0,0x50,0x20,
-};
-
-static const BitmapCharRec ch244 = {5,9,0,0,6,ch244data};
-
-/* char: 0xf3 */
-
-static const GLubyte ch243data[] = {
-0x70,0x88,0x88,0x88,0x88,0x70,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch243 = {5,9,0,0,6,ch243data};
-
-/* char: 0xf2 */
-
-static const GLubyte ch242data[] = {
-0x70,0x88,0x88,0x88,0x88,0x70,0x0,0x20,0x40,
-};
-
-static const BitmapCharRec ch242 = {5,9,0,0,6,ch242data};
-
-/* char: 0xf1 */
-
-static const GLubyte ch241data[] = {
-0x90,0x90,0x90,0x90,0x90,0xe0,0x0,0xa0,0x50,
-};
-
-static const BitmapCharRec ch241 = {4,9,0,0,5,ch241data};
-
-/* char: 0xf0 */
-
-static const GLubyte ch240data[] = {
-0x70,0x88,0x88,0x88,0x88,0x78,0x90,0x60,0x50,
-};
-
-static const BitmapCharRec ch240 = {5,9,0,0,6,ch240data};
-
-/* char: 0xef */
-
-static const GLubyte ch239data[] = {
-0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0,
-};
-
-static const BitmapCharRec ch239 = {3,8,0,0,2,ch239data};
-
-/* char: 0xee */
-
-static const GLubyte ch238data[] = {
-0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0,0x40,
-};
-
-static const BitmapCharRec ch238 = {3,9,1,0,2,ch238data};
-
-/* char: 0xed */
-
-static const GLubyte ch237data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,0x40,
-};
-
-static const BitmapCharRec ch237 = {2,9,0,0,2,ch237data};
-
-/* char: 0xec */
-
-static const GLubyte ch236data[] = {
-0x40,0x40,0x40,0x40,0x40,0x40,0x0,0x40,0x80,
-};
-
-static const BitmapCharRec ch236 = {2,9,1,0,2,ch236data};
-
-/* char: 0xeb */
-
-static const GLubyte ch235data[] = {
-0x60,0x90,0x80,0xf0,0x90,0x60,0x0,0x50,
-};
-
-static const BitmapCharRec ch235 = {4,8,0,0,5,ch235data};
-
-/* char: 0xea */
-
-static const GLubyte ch234data[] = {
-0x60,0x90,0x80,0xf0,0x90,0x60,0x0,0x50,0x20,
-};
-
-static const BitmapCharRec ch234 = {4,9,0,0,5,ch234data};
-
-/* char: 0xe9 */
-
-static const GLubyte ch233data[] = {
-0x60,0x90,0x80,0xf0,0x90,0x60,0x0,0x40,0x20,
-};
-
-static const BitmapCharRec ch233 = {4,9,0,0,5,ch233data};
-
-/* char: 0xe8 */
-
-static const GLubyte ch232data[] = {
-0x60,0x90,0x80,0xf0,0x90,0x60,0x0,0x20,0x40,
-};
-
-static const BitmapCharRec ch232 = {4,9,0,0,5,ch232data};
-
-/* char: 0xe7 */
-
-static const GLubyte ch231data[] = {
-0x60,0x20,0x60,0x90,0x80,0x80,0x90,0x60,
-};
-
-static const BitmapCharRec ch231 = {4,8,0,2,5,ch231data};
-
-/* char: 0xe6 */
-
-static const GLubyte ch230data[] = {
-0x6c,0x92,0x90,0x7e,0x12,0xec,
-};
-
-static const BitmapCharRec ch230 = {7,6,0,0,8,ch230data};
-
-/* char: 0xe5 */
-
-static const GLubyte ch229data[] = {
-0x68,0x90,0x90,0x70,0x10,0xe0,0x20,0x50,0x20,
-};
-
-static const BitmapCharRec ch229 = {5,9,0,0,5,ch229data};
-
-/* char: 0xe4 */
-
-static const GLubyte ch228data[] = {
-0x68,0x90,0x90,0x70,0x10,0xe0,0x0,0x50,
-};
-
-static const BitmapCharRec ch228 = {5,8,0,0,5,ch228data};
-
-/* char: 0xe3 */
-
-static const GLubyte ch227data[] = {
-0x68,0x90,0x90,0x70,0x10,0xe0,0x0,0xa0,0x50,
-};
-
-static const BitmapCharRec ch227 = {5,9,0,0,5,ch227data};
-
-/* char: 0xe2 */
-
-static const GLubyte ch226data[] = {
-0x68,0x90,0x90,0x70,0x10,0xe0,0x0,0x50,0x20,
-};
-
-static const BitmapCharRec ch226 = {5,9,0,0,5,ch226data};
-
-/* char: 0xe1 */
-
-static const GLubyte ch225data[] = {
-0x68,0x90,0x90,0x70,0x10,0xe0,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch225 = {5,9,0,0,5,ch225data};
-
-/* char: 0xe0 */
-
-static const GLubyte ch224data[] = {
-0x68,0x90,0x90,0x70,0x10,0xe0,0x0,0x20,0x40,
-};
-
-static const BitmapCharRec ch224 = {5,9,0,0,5,ch224data};
-
-/* char: 0xdf */
-
-static const GLubyte ch223data[] = {
-0xa0,0x90,0x90,0x90,0xa0,0x90,0x90,0x60,
-};
-
-static const BitmapCharRec ch223 = {4,8,0,0,5,ch223data};
-
-/* char: 0xde */
-
-static const GLubyte ch222data[] = {
-0x80,0x80,0xf0,0x88,0x88,0xf0,0x80,0x80,
-};
-
-static const BitmapCharRec ch222 = {5,8,-1,0,7,ch222data};
-
-/* char: 0xdd */
-
-static const GLubyte ch221data[] = {
-0x10,0x10,0x10,0x28,0x28,0x44,0x44,0x82,0x0,0x10,0x8,
-};
-
-static const BitmapCharRec ch221 = {7,11,0,0,7,ch221data};
-
-/* char: 0xdc */
-
-static const GLubyte ch220data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x48,
-};
-
-static const BitmapCharRec ch220 = {6,10,-1,0,8,ch220data};
-
-/* char: 0xdb */
-
-static const GLubyte ch219data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x28,0x10,
-};
-
-static const BitmapCharRec ch219 = {6,11,-1,0,8,ch219data};
-
-/* char: 0xda */
-
-static const GLubyte ch218data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch218 = {6,11,-1,0,8,ch218data};
-
-/* char: 0xd9 */
-
-static const GLubyte ch217data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch217 = {6,11,-1,0,8,ch217data};
-
-/* char: 0xd8 */
-
-static const GLubyte ch216data[] = {
-0x80,0x78,0xc4,0xa4,0xa4,0x94,0x94,0x8c,0x78,0x4,
-};
-
-static const BitmapCharRec ch216 = {6,10,-1,1,8,ch216data};
-
-/* char: 0xd7 */
-
-static const GLubyte ch215data[] = {
-0x88,0x50,0x20,0x50,0x88,
-};
-
-static const BitmapCharRec ch215 = {5,5,0,-1,6,ch215data};
-
-/* char: 0xd6 */
-
-static const GLubyte ch214data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x78,0x0,0x48,
-};
-
-static const BitmapCharRec ch214 = {6,10,-1,0,8,ch214data};
-
-/* char: 0xd5 */
-
-static const GLubyte ch213data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x78,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch213 = {6,11,-1,0,8,ch213data};
-
-/* char: 0xd4 */
-
-static const GLubyte ch212data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x78,0x0,0x28,0x10,
-};
-
-static const BitmapCharRec ch212 = {6,11,-1,0,8,ch212data};
-
-/* char: 0xd3 */
-
-static const GLubyte ch211data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x78,0x0,0x10,0x8,
-};
-
-static const BitmapCharRec ch211 = {6,11,-1,0,8,ch211data};
-
-/* char: 0xd2 */
-
-static const GLubyte ch210data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x78,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch210 = {6,11,-1,0,8,ch210data};
-
-/* char: 0xd1 */
-
-static const GLubyte ch209data[] = {
-0x8c,0x8c,0x94,0x94,0xa4,0xa4,0xc4,0xc4,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch209 = {6,11,-1,0,8,ch209data};
-
-/* char: 0xd0 */
-
-static const GLubyte ch208data[] = {
-0x78,0x44,0x42,0x42,0xf2,0x42,0x44,0x78,
-};
-
-static const BitmapCharRec ch208 = {7,8,0,0,8,ch208data};
-
-/* char: 0xcf */
-
-static const GLubyte ch207data[] = {
-0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0,
-};
-
-static const BitmapCharRec ch207 = {3,10,0,0,3,ch207data};
-
-/* char: 0xce */
-
-static const GLubyte ch206data[] = {
-0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0,0x40,
-};
-
-static const BitmapCharRec ch206 = {3,11,0,0,3,ch206data};
-
-/* char: 0xcd */
-
-static const GLubyte ch205data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,0x40,
-};
-
-static const BitmapCharRec ch205 = {2,11,-1,0,3,ch205data};
-
-/* char: 0xcc */
-
-static const GLubyte ch204data[] = {
-0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0x40,0x80,
-};
-
-static const BitmapCharRec ch204 = {2,11,0,0,3,ch204data};
-
-/* char: 0xcb */
-
-static const GLubyte ch203data[] = {
-0xf8,0x80,0x80,0x80,0xf8,0x80,0x80,0xf8,0x0,0x50,
-};
-
-static const BitmapCharRec ch203 = {5,10,-1,0,7,ch203data};
-
-/* char: 0xca */
-
-static const GLubyte ch202data[] = {
-0xf8,0x80,0x80,0xf8,0x80,0x80,0x80,0xf8,0x0,0x50,0x20,
-};
-
-static const BitmapCharRec ch202 = {5,11,-1,0,7,ch202data};
-
-/* char: 0xc9 */
-
-static const GLubyte ch201data[] = {
-0xf8,0x80,0x80,0x80,0xf8,0x80,0x80,0xf8,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch201 = {5,11,-1,0,7,ch201data};
-
-/* char: 0xc8 */
-
-static const GLubyte ch200data[] = {
-0xf8,0x80,0x80,0x80,0xf8,0x80,0x80,0xf8,0x0,0x20,0x40,
-};
-
-static const BitmapCharRec ch200 = {5,11,-1,0,7,ch200data};
-
-/* char: 0xc7 */
-
-static const GLubyte ch199data[] = {
-0x30,0x10,0x78,0x84,0x80,0x80,0x80,0x80,0x84,0x78,
-};
-
-static const BitmapCharRec ch199 = {6,10,-1,2,8,ch199data};
-
-/* char: 0xc6 */
-
-static const GLubyte ch198data[] = {
-0x8f,0x80,0x88,0x0,0x78,0x0,0x48,0x0,0x2f,0x80,0x28,0x0,0x18,0x0,0x1f,0x80,
-};
-
-static const BitmapCharRec ch198 = {9,8,0,0,10,ch198data};
-
-/* char: 0xc5 */
-
-static const GLubyte ch197data[] = {
-0x82,0x82,0x7c,0x44,0x28,0x28,0x10,0x10,0x10,0x28,0x10,
-};
-
-static const BitmapCharRec ch197 = {7,11,0,0,7,ch197data};
-
-/* char: 0xc4 */
-
-static const GLubyte ch196data[] = {
-0x82,0x82,0x7c,0x44,0x28,0x28,0x10,0x10,0x0,0x28,
-};
-
-static const BitmapCharRec ch196 = {7,10,0,0,7,ch196data};
-
-/* char: 0xc3 */
-
-static const GLubyte ch195data[] = {
-0x82,0x82,0x7c,0x44,0x28,0x28,0x10,0x10,0x0,0x28,0x14,
-};
-
-static const BitmapCharRec ch195 = {7,11,0,0,7,ch195data};
-
-/* char: 0xc2 */
-
-static const GLubyte ch194data[] = {
-0x82,0x82,0x7c,0x44,0x28,0x28,0x10,0x10,0x0,0x28,0x10,
-};
-
-static const BitmapCharRec ch194 = {7,11,0,0,7,ch194data};
-
-/* char: 0xc1 */
-
-static const GLubyte ch193data[] = {
-0x82,0x82,0x7c,0x44,0x28,0x28,0x10,0x10,0x0,0x10,0x8,
-};
-
-static const BitmapCharRec ch193 = {7,11,0,0,7,ch193data};
-
-/* char: 0xc0 */
-
-static const GLubyte ch192data[] = {
-0x82,0x82,0x7c,0x44,0x28,0x28,0x10,0x10,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch192 = {7,11,0,0,7,ch192data};
-
-/* char: 0xbf */
-
-static const GLubyte ch191data[] = {
-0x60,0x90,0x80,0x40,0x20,0x20,0x0,0x20,
-};
-
-static const BitmapCharRec ch191 = {4,8,-1,2,6,ch191data};
-
-/* char: 0xbe */
-
-static const GLubyte ch190data[] = {
-0x21,0x0,0x17,0x80,0x13,0x0,0x9,0x0,0xc8,0x0,0x24,0x0,0x44,0x0,0xe2,0x0,
-};
-
-static const BitmapCharRec ch190 = {9,8,0,0,9,ch190data};
-
-/* char: 0xbd */
-
-static const GLubyte ch189data[] = {
-0x27,0x12,0x15,0xb,0x48,0x44,0xc4,0x42,
-};
-
-static const BitmapCharRec ch189 = {8,8,0,0,9,ch189data};
-
-/* char: 0xbc */
-
-static const GLubyte ch188data[] = {
-0x21,0x0,0x17,0x80,0x13,0x0,0x9,0x0,0x48,0x0,0x44,0x0,0xc4,0x0,0x42,0x0,
-};
-
-static const BitmapCharRec ch188 = {9,8,0,0,9,ch188data};
-
-/* char: 0xbb */
-
-static const GLubyte ch187data[] = {
-0xa0,0x50,0x28,0x50,0xa0,
-};
-
-static const BitmapCharRec ch187 = {5,5,0,0,6,ch187data};
-
-/* char: 0xba */
-
-static const GLubyte ch186data[] = {
-0xe0,0x0,0xe0,0xa0,0xe0,
-};
-
-static const BitmapCharRec ch186 = {3,5,0,-3,4,ch186data};
-
-/* char: 0xb9 */
-
-static const GLubyte ch185data[] = {
-0x40,0x40,0xc0,0x40,
-};
-
-static const BitmapCharRec ch185 = {2,4,0,-3,3,ch185data};
-
-/* char: 0xb8 */
-
-static const GLubyte ch184data[] = {
-0xc0,0x40,
-};
-
-static const BitmapCharRec ch184 = {2,2,0,2,3,ch184data};
-
-/* char: 0xb7 */
-
-static const GLubyte ch183data[] = {
-0xc0,
-};
-
-static const BitmapCharRec ch183 = {2,1,0,-3,3,ch183data};
-
-/* char: 0xb6 */
-
-static const GLubyte ch182data[] = {
-0x28,0x28,0x28,0x28,0x28,0x68,0xe8,0xe8,0xe8,0x7c,
-};
-
-static const BitmapCharRec ch182 = {6,10,0,2,6,ch182data};
-
-/* char: 0xb5 */
-
-static const GLubyte ch181data[] = {
-0x80,0x80,0xf0,0x90,0x90,0x90,0x90,0x90,
-};
-
-static const BitmapCharRec ch181 = {4,8,0,2,5,ch181data};
-
-/* char: 0xb4 */
-
-static const GLubyte ch180data[] = {
-0x80,0x40,
-};
-
-static const BitmapCharRec ch180 = {2,2,0,-6,3,ch180data};
-
-/* char: 0xb3 */
-
-static const GLubyte ch179data[] = {
-0xc0,0x20,0x40,0xe0,
-};
-
-static const BitmapCharRec ch179 = {3,4,0,-3,3,ch179data};
-
-/* char: 0xb2 */
-
-static const GLubyte ch178data[] = {
-0xe0,0x40,0xa0,0x60,
-};
-
-static const BitmapCharRec ch178 = {3,4,0,-3,3,ch178data};
-
-/* char: 0xb1 */
-
-static const GLubyte ch177data[] = {
-0xf8,0x0,0x20,0x20,0xf8,0x20,0x20,
-};
-
-static const BitmapCharRec ch177 = {5,7,0,0,6,ch177data};
-
-/* char: 0xb0 */
-
-static const GLubyte ch176data[] = {
-0x60,0x90,0x90,0x60,
-};
-
-static const BitmapCharRec ch176 = {4,4,0,-3,4,ch176data};
-
-/* char: 0xaf */
-
-static const GLubyte ch175data[] = {
-0xe0,
-};
-
-static const BitmapCharRec ch175 = {3,1,0,-7,3,ch175data};
-
-/* char: 0xae */
-
-static const GLubyte ch174data[] = {
-0x38,0x44,0xaa,0xb2,0xba,0x44,0x38,
-};
-
-static const BitmapCharRec ch174 = {7,7,-1,0,9,ch174data};
-
-/* char: 0xad */
-
-static const GLubyte ch173data[] = {
-0xe0,
-};
-
-static const BitmapCharRec ch173 = {3,1,0,-3,4,ch173data};
-
-/* char: 0xac */
-
-static const GLubyte ch172data[] = {
-0x8,0x8,0xf8,
-};
-
-static const BitmapCharRec ch172 = {5,3,-1,-2,7,ch172data};
-
-/* char: 0xab */
-
-static const GLubyte ch171data[] = {
-0x28,0x50,0xa0,0x50,0x28,
-};
-
-static const BitmapCharRec ch171 = {5,5,0,0,6,ch171data};
-
-/* char: 0xaa */
-
-static const GLubyte ch170data[] = {
-0xe0,0x0,0xa0,0x20,0xe0,
-};
-
-static const BitmapCharRec ch170 = {3,5,0,-3,4,ch170data};
-
-/* char: 0xa9 */
-
-static const GLubyte ch169data[] = {
-0x38,0x44,0x9a,0xa2,0x9a,0x44,0x38,
-};
-
-static const BitmapCharRec ch169 = {7,7,-1,0,9,ch169data};
-
-/* char: 0xa8 */
-
-static const GLubyte ch168data[] = {
-0xa0,
-};
-
-static const BitmapCharRec ch168 = {3,1,0,-7,3,ch168data};
-
-/* char: 0xa7 */
-
-static const GLubyte ch167data[] = {
-0x70,0x88,0x18,0x70,0xc8,0x98,0x70,0xc0,0x88,0x70,
-};
-
-static const BitmapCharRec ch167 = {5,10,0,2,6,ch167data};
-
-/* char: 0xa6 */
-
-static const GLubyte ch166data[] = {
-0x80,0x80,0x80,0x80,0x0,0x0,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch166 = {1,10,-1,2,3,ch166data};
-
-/* char: 0xa5 */
-
-static const GLubyte ch165data[] = {
-0x20,0xf8,0x20,0xf8,0x50,0x50,0x88,0x88,
-};
-
-static const BitmapCharRec ch165 = {5,8,0,0,6,ch165data};
-
-/* char: 0xa4 */
-
-static const GLubyte ch164data[] = {
-0x90,0x60,0x90,0x90,0x60,0x90,
-};
-
-static const BitmapCharRec ch164 = {4,6,0,-1,5,ch164data};
-
-/* char: 0xa3 */
-
-static const GLubyte ch163data[] = {
-0xb0,0x48,0x40,0x40,0xe0,0x40,0x48,0x30,
-};
-
-static const BitmapCharRec ch163 = {5,8,0,0,6,ch163data};
-
-/* char: 0xa2 */
-
-static const GLubyte ch162data[] = {
-0x40,0x70,0xa8,0xa0,0xa0,0xa8,0x70,0x10,
-};
-
-static const BitmapCharRec ch162 = {5,8,0,1,6,ch162data};
-
-/* char: 0xa1 */
-
-static const GLubyte ch161data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,
-};
-
-static const BitmapCharRec ch161 = {1,8,-1,2,3,ch161data};
-
-/* char: 0xa0 */
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch160data[] = { 0x0 };
-static const BitmapCharRec ch160 = {1,1,0,0,3,ch160data};
-#else
-static const BitmapCharRec ch160 = {0,0,0,0,3,0};
-#endif
-
-/* char: 0x7e '~' */
-
-static const GLubyte ch126data[] = {
-0x98,0x64,
-};
-
-static const BitmapCharRec ch126 = {6,2,0,-3,7,ch126data};
-
-/* char: 0x7d '}' */
-
-static const GLubyte ch125data[] = {
-0x80,0x40,0x40,0x40,0x40,0x20,0x40,0x40,0x40,0x80,
-};
-
-static const BitmapCharRec ch125 = {3,10,0,2,3,ch125data};
-
-/* char: 0x7c '|' */
-
-static const GLubyte ch124data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch124 = {1,10,-1,2,3,ch124data};
-
-/* char: 0x7b '{' */
-
-static const GLubyte ch123data[] = {
-0x20,0x40,0x40,0x40,0x40,0x80,0x40,0x40,0x40,0x20,
-};
-
-static const BitmapCharRec ch123 = {3,10,0,2,3,ch123data};
-
-/* char: 0x7a 'z' */
-
-static const GLubyte ch122data[] = {
-0xf0,0x80,0x40,0x20,0x10,0xf0,
-};
-
-static const BitmapCharRec ch122 = {4,6,0,0,5,ch122data};
-
-/* char: 0x79 'y' */
-
-static const GLubyte ch121data[] = {
-0x80,0x40,0x40,0x60,0xa0,0xa0,0x90,0x90,
-};
-
-static const BitmapCharRec ch121 = {4,8,0,2,5,ch121data};
-
-/* char: 0x78 'x' */
-
-static const GLubyte ch120data[] = {
-0x88,0x88,0x50,0x20,0x50,0x88,
-};
-
-static const BitmapCharRec ch120 = {5,6,0,0,6,ch120data};
-
-/* char: 0x77 'w' */
-
-static const GLubyte ch119data[] = {
-0x28,0x28,0x54,0x54,0x92,0x92,
-};
-
-static const BitmapCharRec ch119 = {7,6,0,0,8,ch119data};
-
-/* char: 0x76 'v' */
-
-static const GLubyte ch118data[] = {
-0x20,0x20,0x50,0x50,0x88,0x88,
-};
-
-static const BitmapCharRec ch118 = {5,6,0,0,6,ch118data};
-
-/* char: 0x75 'u' */
-
-static const GLubyte ch117data[] = {
-0x70,0x90,0x90,0x90,0x90,0x90,
-};
-
-static const BitmapCharRec ch117 = {4,6,0,0,5,ch117data};
-
-/* char: 0x74 't' */
-
-static const GLubyte ch116data[] = {
-0x60,0x40,0x40,0x40,0x40,0xe0,0x40,0x40,
-};
-
-static const BitmapCharRec ch116 = {3,8,0,0,4,ch116data};
-
-/* char: 0x73 's' */
-
-static const GLubyte ch115data[] = {
-0x60,0x90,0x10,0x60,0x90,0x60,
-};
-
-static const BitmapCharRec ch115 = {4,6,0,0,5,ch115data};
-
-/* char: 0x72 'r' */
-
-static const GLubyte ch114data[] = {
-0x80,0x80,0x80,0x80,0xc0,0xa0,
-};
-
-static const BitmapCharRec ch114 = {3,6,0,0,4,ch114data};
-
-/* char: 0x71 'q' */
-
-static const GLubyte ch113data[] = {
-0x8,0x8,0x68,0x98,0x88,0x88,0x98,0x68,
-};
-
-static const BitmapCharRec ch113 = {5,8,0,2,6,ch113data};
-
-/* char: 0x70 'p' */
-
-static const GLubyte ch112data[] = {
-0x80,0x80,0xb0,0xc8,0x88,0x88,0xc8,0xb0,
-};
-
-static const BitmapCharRec ch112 = {5,8,0,2,6,ch112data};
-
-/* char: 0x6f 'o' */
-
-static const GLubyte ch111data[] = {
-0x70,0x88,0x88,0x88,0x88,0x70,
-};
-
-static const BitmapCharRec ch111 = {5,6,0,0,6,ch111data};
-
-/* char: 0x6e 'n' */
-
-static const GLubyte ch110data[] = {
-0x88,0x88,0x88,0x88,0xc8,0xb0,
-};
-
-static const BitmapCharRec ch110 = {5,6,0,0,6,ch110data};
-
-/* char: 0x6d 'm' */
-
-static const GLubyte ch109data[] = {
-0x92,0x92,0x92,0x92,0x92,0xec,
-};
-
-static const BitmapCharRec ch109 = {7,6,0,0,8,ch109data};
-
-/* char: 0x6c 'l' */
-
-static const GLubyte ch108data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch108 = {1,8,0,0,2,ch108data};
-
-/* char: 0x6b 'k' */
-
-static const GLubyte ch107data[] = {
-0x90,0x90,0xa0,0xc0,0xa0,0x90,0x80,0x80,
-};
-
-static const BitmapCharRec ch107 = {4,8,0,0,5,ch107data};
-
-/* char: 0x6a 'j' */
-
-static const GLubyte ch106data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,
-};
-
-static const BitmapCharRec ch106 = {1,9,0,1,2,ch106data};
-
-/* char: 0x69 'i' */
-
-static const GLubyte ch105data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,
-};
-
-static const BitmapCharRec ch105 = {1,8,0,0,2,ch105data};
-
-/* char: 0x68 'h' */
-
-static const GLubyte ch104data[] = {
-0x88,0x88,0x88,0x88,0xc8,0xb0,0x80,0x80,
-};
-
-static const BitmapCharRec ch104 = {5,8,0,0,6,ch104data};
-
-/* char: 0x67 'g' */
-
-static const GLubyte ch103data[] = {
-0x70,0x8,0x68,0x98,0x88,0x88,0x98,0x68,
-};
-
-static const BitmapCharRec ch103 = {5,8,0,2,6,ch103data};
-
-/* char: 0x66 'f' */
-
-static const GLubyte ch102data[] = {
-0x40,0x40,0x40,0x40,0x40,0xe0,0x40,0x30,
-};
-
-static const BitmapCharRec ch102 = {4,8,0,0,4,ch102data};
-
-/* char: 0x65 'e' */
-
-static const GLubyte ch101data[] = {
-0x60,0x90,0x80,0xf0,0x90,0x60,
-};
-
-static const BitmapCharRec ch101 = {4,6,0,0,5,ch101data};
-
-/* char: 0x64 'd' */
-
-static const GLubyte ch100data[] = {
-0x68,0x98,0x88,0x88,0x98,0x68,0x8,0x8,
-};
-
-static const BitmapCharRec ch100 = {5,8,0,0,6,ch100data};
-
-/* char: 0x63 'c' */
-
-static const GLubyte ch99data[] = {
-0x60,0x90,0x80,0x80,0x90,0x60,
-};
-
-static const BitmapCharRec ch99 = {4,6,0,0,5,ch99data};
-
-/* char: 0x62 'b' */
-
-static const GLubyte ch98data[] = {
-0xb0,0xc8,0x88,0x88,0xc8,0xb0,0x80,0x80,
-};
-
-static const BitmapCharRec ch98 = {5,8,0,0,6,ch98data};
-
-/* char: 0x61 'a' */
-
-static const GLubyte ch97data[] = {
-0x68,0x90,0x90,0x70,0x10,0xe0,
-};
-
-static const BitmapCharRec ch97 = {5,6,0,0,5,ch97data};
-
-/* char: 0x60 '`' */
-
-static const GLubyte ch96data[] = {
-0x80,0x80,0x40,
-};
-
-static const BitmapCharRec ch96 = {2,3,0,-5,3,ch96data};
-
-/* char: 0x5f '_' */
-
-static const GLubyte ch95data[] = {
-0xfc,
-};
-
-static const BitmapCharRec ch95 = {6,1,0,2,6,ch95data};
-
-/* char: 0x5e '^' */
-
-static const GLubyte ch94data[] = {
-0x88,0x50,0x50,0x20,0x20,
-};
-
-static const BitmapCharRec ch94 = {5,5,0,-3,6,ch94data};
-
-/* char: 0x5d ']' */
-
-static const GLubyte ch93data[] = {
-0xc0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xc0,
-};
-
-static const BitmapCharRec ch93 = {2,10,0,2,3,ch93data};
-
-/* char: 0x5c '\' */
-
-static const GLubyte ch92data[] = {
-0x20,0x20,0x40,0x40,0x40,0x40,0x80,0x80,
-};
-
-static const BitmapCharRec ch92 = {3,8,0,0,3,ch92data};
-
-/* char: 0x5b '[' */
-
-static const GLubyte ch91data[] = {
-0xc0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xc0,
-};
-
-static const BitmapCharRec ch91 = {2,10,-1,2,3,ch91data};
-
-/* char: 0x5a 'Z' */
-
-static const GLubyte ch90data[] = {
-0xf8,0x80,0x40,0x20,0x20,0x10,0x8,0xf8,
-};
-
-static const BitmapCharRec ch90 = {5,8,-1,0,7,ch90data};
-
-/* char: 0x59 'Y' */
-
-static const GLubyte ch89data[] = {
-0x10,0x10,0x10,0x28,0x28,0x44,0x44,0x82,
-};
-
-static const BitmapCharRec ch89 = {7,8,0,0,7,ch89data};
-
-/* char: 0x58 'X' */
-
-static const GLubyte ch88data[] = {
-0x88,0x88,0x50,0x50,0x20,0x50,0x88,0x88,
-};
-
-static const BitmapCharRec ch88 = {5,8,-1,0,7,ch88data};
-
-/* char: 0x57 'W' */
-
-static const GLubyte ch87data[] = {
-0x22,0x0,0x22,0x0,0x22,0x0,0x55,0x0,0x49,0x0,0x49,0x0,0x88,0x80,0x88,0x80,
-};
-
-static const BitmapCharRec ch87 = {9,8,0,0,9,ch87data};
-
-/* char: 0x56 'V' */
-
-static const GLubyte ch86data[] = {
-0x10,0x28,0x28,0x44,0x44,0x44,0x82,0x82,
-};
-
-static const BitmapCharRec ch86 = {7,8,0,0,7,ch86data};
-
-/* char: 0x55 'U' */
-
-static const GLubyte ch85data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
-};
-
-static const BitmapCharRec ch85 = {6,8,-1,0,8,ch85data};
-
-/* char: 0x54 'T' */
-
-static const GLubyte ch84data[] = {
-0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xf8,
-};
-
-static const BitmapCharRec ch84 = {5,8,0,0,5,ch84data};
-
-/* char: 0x53 'S' */
-
-static const GLubyte ch83data[] = {
-0x70,0x88,0x88,0x8,0x70,0x80,0x88,0x70,
-};
-
-static const BitmapCharRec ch83 = {5,8,-1,0,7,ch83data};
-
-/* char: 0x52 'R' */
-
-static const GLubyte ch82data[] = {
-0x88,0x88,0x88,0x88,0xf0,0x88,0x88,0xf0,
-};
-
-static const BitmapCharRec ch82 = {5,8,-1,0,7,ch82data};
-
-/* char: 0x51 'Q' */
-
-static const GLubyte ch81data[] = {
-0x2,0x7c,0x8c,0x94,0x84,0x84,0x84,0x84,0x78,
-};
-
-static const BitmapCharRec ch81 = {7,9,-1,1,8,ch81data};
-
-/* char: 0x50 'P' */
-
-static const GLubyte ch80data[] = {
-0x80,0x80,0x80,0x80,0xf0,0x88,0x88,0xf0,
-};
-
-static const BitmapCharRec ch80 = {5,8,-1,0,7,ch80data};
-
-/* char: 0x4f 'O' */
-
-static const GLubyte ch79data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x78,
-};
-
-static const BitmapCharRec ch79 = {6,8,-1,0,8,ch79data};
-
-/* char: 0x4e 'N' */
-
-static const GLubyte ch78data[] = {
-0x8c,0x8c,0x94,0x94,0xa4,0xa4,0xc4,0xc4,
-};
-
-static const BitmapCharRec ch78 = {6,8,-1,0,8,ch78data};
-
-/* char: 0x4d 'M' */
-
-static const GLubyte ch77data[] = {
-0x92,0x92,0x92,0xaa,0xaa,0xc6,0xc6,0x82,
-};
-
-static const BitmapCharRec ch77 = {7,8,-1,0,9,ch77data};
-
-/* char: 0x4c 'L' */
-
-static const GLubyte ch76data[] = {
-0xf0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch76 = {4,8,-1,0,6,ch76data};
-
-/* char: 0x4b 'K' */
-
-static const GLubyte ch75data[] = {
-0x88,0x88,0x90,0x90,0xe0,0xa0,0x90,0x88,
-};
-
-static const BitmapCharRec ch75 = {5,8,-1,0,7,ch75data};
-
-/* char: 0x4a 'J' */
-
-static const GLubyte ch74data[] = {
-0x60,0x90,0x10,0x10,0x10,0x10,0x10,0x10,
-};
-
-static const BitmapCharRec ch74 = {4,8,0,0,5,ch74data};
-
-/* char: 0x49 'I' */
-
-static const GLubyte ch73data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch73 = {1,8,-1,0,3,ch73data};
-
-/* char: 0x48 'H' */
-
-static const GLubyte ch72data[] = {
-0x84,0x84,0x84,0x84,0xfc,0x84,0x84,0x84,
-};
-
-static const BitmapCharRec ch72 = {6,8,-1,0,8,ch72data};
-
-/* char: 0x47 'G' */
-
-static const GLubyte ch71data[] = {
-0x74,0x8c,0x84,0x8c,0x80,0x80,0x84,0x78,
-};
-
-static const BitmapCharRec ch71 = {6,8,-1,0,8,ch71data};
-
-/* char: 0x46 'F' */
-
-static const GLubyte ch70data[] = {
-0x80,0x80,0x80,0x80,0xf0,0x80,0x80,0xf8,
-};
-
-static const BitmapCharRec ch70 = {5,8,-1,0,6,ch70data};
-
-/* char: 0x45 'E' */
-
-static const GLubyte ch69data[] = {
-0xf8,0x80,0x80,0x80,0xf8,0x80,0x80,0xf8,
-};
-
-static const BitmapCharRec ch69 = {5,8,-1,0,7,ch69data};
-
-/* char: 0x44 'D' */
-
-static const GLubyte ch68data[] = {
-0xf0,0x88,0x84,0x84,0x84,0x84,0x88,0xf0,
-};
-
-static const BitmapCharRec ch68 = {6,8,-1,0,8,ch68data};
-
-/* char: 0x43 'C' */
-
-static const GLubyte ch67data[] = {
-0x78,0x84,0x80,0x80,0x80,0x80,0x84,0x78,
-};
-
-static const BitmapCharRec ch67 = {6,8,-1,0,8,ch67data};
-
-/* char: 0x42 'B' */
-
-static const GLubyte ch66data[] = {
-0xf0,0x88,0x88,0x88,0xf0,0x88,0x88,0xf0,
-};
-
-static const BitmapCharRec ch66 = {5,8,-1,0,7,ch66data};
-
-/* char: 0x41 'A' */
-
-static const GLubyte ch65data[] = {
-0x82,0x82,0x7c,0x44,0x28,0x28,0x10,0x10,
-};
-
-static const BitmapCharRec ch65 = {7,8,0,0,7,ch65data};
-
-/* char: 0x40 '@' */
-
-static const GLubyte ch64data[] = {
-0x3e,0x0,0x40,0x0,0x9b,0x0,0xa4,0x80,0xa4,0x80,0xa2,0x40,0x92,0x40,0x4d,0x40,
-0x20,0x80,0x1f,0x0,
-};
-
-static const BitmapCharRec ch64 = {10,10,0,2,11,ch64data};
-
-/* char: 0x3f '?' */
-
-static const GLubyte ch63data[] = {
-0x40,0x0,0x40,0x40,0x20,0x10,0x90,0x60,
-};
-
-static const BitmapCharRec ch63 = {4,8,-1,0,6,ch63data};
-
-/* char: 0x3e '>' */
-
-static const GLubyte ch62data[] = {
-0x80,0x40,0x20,0x40,0x80,
-};
-
-static const BitmapCharRec ch62 = {3,5,-1,-1,6,ch62data};
-
-/* char: 0x3d '=' */
-
-static const GLubyte ch61data[] = {
-0xf0,0x0,0xf0,
-};
-
-static const BitmapCharRec ch61 = {4,3,0,-2,5,ch61data};
-
-/* char: 0x3c '<' */
-
-static const GLubyte ch60data[] = {
-0x20,0x40,0x80,0x40,0x20,
-};
-
-static const BitmapCharRec ch60 = {3,5,-1,-1,6,ch60data};
-
-/* char: 0x3b ';' */
-
-static const GLubyte ch59data[] = {
-0x80,0x40,0x40,0x0,0x0,0x0,0x0,0x40,
-};
-
-static const BitmapCharRec ch59 = {2,8,0,2,3,ch59data};
-
-/* char: 0x3a ':' */
-
-static const GLubyte ch58data[] = {
-0x80,0x0,0x0,0x0,0x0,0x80,
-};
-
-static const BitmapCharRec ch58 = {1,6,-1,0,3,ch58data};
-
-/* char: 0x39 '9' */
-
-static const GLubyte ch57data[] = {
-0x70,0x88,0x8,0x68,0x98,0x88,0x88,0x70,
-};
-
-static const BitmapCharRec ch57 = {5,8,0,0,6,ch57data};
-
-/* char: 0x38 '8' */
-
-static const GLubyte ch56data[] = {
-0x70,0x88,0x88,0x88,0x70,0x88,0x88,0x70,
-};
-
-static const BitmapCharRec ch56 = {5,8,0,0,6,ch56data};
-
-/* char: 0x37 '7' */
-
-static const GLubyte ch55data[] = {
-0x40,0x40,0x20,0x20,0x10,0x10,0x8,0xf8,
-};
-
-static const BitmapCharRec ch55 = {5,8,0,0,6,ch55data};
-
-/* char: 0x36 '6' */
-
-static const GLubyte ch54data[] = {
-0x70,0x88,0x88,0xc8,0xb0,0x80,0x88,0x70,
-};
-
-static const BitmapCharRec ch54 = {5,8,0,0,6,ch54data};
-
-/* char: 0x35 '5' */
-
-static const GLubyte ch53data[] = {
-0x70,0x88,0x8,0x8,0xf0,0x80,0x80,0xf8,
-};
-
-static const BitmapCharRec ch53 = {5,8,0,0,6,ch53data};
-
-/* char: 0x34 '4' */
-
-static const GLubyte ch52data[] = {
-0x10,0x10,0xf8,0x90,0x50,0x50,0x30,0x10,
-};
-
-static const BitmapCharRec ch52 = {5,8,0,0,6,ch52data};
-
-/* char: 0x33 '3' */
-
-static const GLubyte ch51data[] = {
-0x70,0x88,0x8,0x8,0x30,0x8,0x88,0x70,
-};
-
-static const BitmapCharRec ch51 = {5,8,0,0,6,ch51data};
-
-/* char: 0x32 '2' */
-
-static const GLubyte ch50data[] = {
-0xf8,0x80,0x40,0x30,0x8,0x8,0x88,0x70,
-};
-
-static const BitmapCharRec ch50 = {5,8,0,0,6,ch50data};
-
-/* char: 0x31 '1' */
-
-static const GLubyte ch49data[] = {
-0x40,0x40,0x40,0x40,0x40,0x40,0xc0,0x40,
-};
-
-static const BitmapCharRec ch49 = {2,8,-1,0,6,ch49data};
-
-/* char: 0x30 '0' */
-
-static const GLubyte ch48data[] = {
-0x70,0x88,0x88,0x88,0x88,0x88,0x88,0x70,
-};
-
-static const BitmapCharRec ch48 = {5,8,0,0,6,ch48data};
-
-/* char: 0x2f '/' */
-
-static const GLubyte ch47data[] = {
-0x80,0x80,0x40,0x40,0x40,0x40,0x20,0x20,
-};
-
-static const BitmapCharRec ch47 = {3,8,0,0,3,ch47data};
-
-/* char: 0x2e '.' */
-
-static const GLubyte ch46data[] = {
-0x80,
-};
-
-static const BitmapCharRec ch46 = {1,1,-1,0,3,ch46data};
-
-/* char: 0x2d '-' */
-
-static const GLubyte ch45data[] = {
-0xf8,
-};
-
-static const BitmapCharRec ch45 = {5,1,-1,-3,7,ch45data};
-
-/* char: 0x2c ',' */
-
-static const GLubyte ch44data[] = {
-0x80,0x40,0x40,
-};
-
-static const BitmapCharRec ch44 = {2,3,0,2,3,ch44data};
-
-/* char: 0x2b '+' */
-
-static const GLubyte ch43data[] = {
-0x20,0x20,0xf8,0x20,0x20,
-};
-
-static const BitmapCharRec ch43 = {5,5,0,-1,6,ch43data};
-
-/* char: 0x2a '*' */
-
-static const GLubyte ch42data[] = {
-0xa0,0x40,0xa0,
-};
-
-static const BitmapCharRec ch42 = {3,3,0,-5,4,ch42data};
-
-/* char: 0x29 ')' */
-
-static const GLubyte ch41data[] = {
-0x80,0x40,0x40,0x20,0x20,0x20,0x20,0x40,0x40,0x80,
-};
-
-static const BitmapCharRec ch41 = {3,10,-1,2,4,ch41data};
-
-/* char: 0x28 '(' */
-
-static const GLubyte ch40data[] = {
-0x20,0x40,0x40,0x80,0x80,0x80,0x80,0x40,0x40,0x20,
-};
-
-static const BitmapCharRec ch40 = {3,10,0,2,4,ch40data};
-
-/* char: 0x27 ''' */
-
-static const GLubyte ch39data[] = {
-0x80,0x40,0x40,
-};
-
-static const BitmapCharRec ch39 = {2,3,-1,-5,3,ch39data};
-
-/* char: 0x26 '&' */
-
-static const GLubyte ch38data[] = {
-0x64,0x98,0x98,0xa4,0x60,0x50,0x50,0x20,
-};
-
-static const BitmapCharRec ch38 = {6,8,-1,0,8,ch38data};
-
-/* char: 0x25 '%' */
-
-static const GLubyte ch37data[] = {
-0x26,0x29,0x16,0x10,0x8,0x68,0x94,0x64,
-};
-
-static const BitmapCharRec ch37 = {8,8,0,0,9,ch37data};
-
-/* char: 0x24 '$' */
-
-static const GLubyte ch36data[] = {
-0x20,0x70,0xa8,0x28,0x70,0xa0,0xa8,0x70,0x20,
-};
-
-static const BitmapCharRec ch36 = {5,9,0,1,6,ch36data};
-
-/* char: 0x23 '#' */
-
-static const GLubyte ch35data[] = {
-0x50,0x50,0xf8,0x28,0x7c,0x28,0x28,
-};
-
-static const BitmapCharRec ch35 = {6,7,0,0,6,ch35data};
-
-/* char: 0x22 '"' */
-
-static const GLubyte ch34data[] = {
-0xa0,0xa0,
-};
-
-static const BitmapCharRec ch34 = {3,2,-1,-6,4,ch34data};
-
-/* char: 0x21 '!' */
-
-static const GLubyte ch33data[] = {
-0x80,0x0,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch33 = {1,8,-1,0,3,ch33data};
-
-/* char: 0x20 ' ' */
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch32data[] = { 0x0 };
-static const BitmapCharRec ch32 = {0,0,0,0,3,ch32data};
-#else
-static const BitmapCharRec ch32 = {0,0,0,0,3,0};
-#endif
-
-static const BitmapCharRec * const chars[] = {
-&ch32,
-&ch33,
-&ch34,
-&ch35,
-&ch36,
-&ch37,
-&ch38,
-&ch39,
-&ch40,
-&ch41,
-&ch42,
-&ch43,
-&ch44,
-&ch45,
-&ch46,
-&ch47,
-&ch48,
-&ch49,
-&ch50,
-&ch51,
-&ch52,
-&ch53,
-&ch54,
-&ch55,
-&ch56,
-&ch57,
-&ch58,
-&ch59,
-&ch60,
-&ch61,
-&ch62,
-&ch63,
-&ch64,
-&ch65,
-&ch66,
-&ch67,
-&ch68,
-&ch69,
-&ch70,
-&ch71,
-&ch72,
-&ch73,
-&ch74,
-&ch75,
-&ch76,
-&ch77,
-&ch78,
-&ch79,
-&ch80,
-&ch81,
-&ch82,
-&ch83,
-&ch84,
-&ch85,
-&ch86,
-&ch87,
-&ch88,
-&ch89,
-&ch90,
-&ch91,
-&ch92,
-&ch93,
-&ch94,
-&ch95,
-&ch96,
-&ch97,
-&ch98,
-&ch99,
-&ch100,
-&ch101,
-&ch102,
-&ch103,
-&ch104,
-&ch105,
-&ch106,
-&ch107,
-&ch108,
-&ch109,
-&ch110,
-&ch111,
-&ch112,
-&ch113,
-&ch114,
-&ch115,
-&ch116,
-&ch117,
-&ch118,
-&ch119,
-&ch120,
-&ch121,
-&ch122,
-&ch123,
-&ch124,
-&ch125,
-&ch126,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-&ch160,
-&ch161,
-&ch162,
-&ch163,
-&ch164,
-&ch165,
-&ch166,
-&ch167,
-&ch168,
-&ch169,
-&ch170,
-&ch171,
-&ch172,
-&ch173,
-&ch174,
-&ch175,
-&ch176,
-&ch177,
-&ch178,
-&ch179,
-&ch180,
-&ch181,
-&ch182,
-&ch183,
-&ch184,
-&ch185,
-&ch186,
-&ch187,
-&ch188,
-&ch189,
-&ch190,
-&ch191,
-&ch192,
-&ch193,
-&ch194,
-&ch195,
-&ch196,
-&ch197,
-&ch198,
-&ch199,
-&ch200,
-&ch201,
-&ch202,
-&ch203,
-&ch204,
-&ch205,
-&ch206,
-&ch207,
-&ch208,
-&ch209,
-&ch210,
-&ch211,
-&ch212,
-&ch213,
-&ch214,
-&ch215,
-&ch216,
-&ch217,
-&ch218,
-&ch219,
-&ch220,
-&ch221,
-&ch222,
-&ch223,
-&ch224,
-&ch225,
-&ch226,
-&ch227,
-&ch228,
-&ch229,
-&ch230,
-&ch231,
-&ch232,
-&ch233,
-&ch234,
-&ch235,
-&ch236,
-&ch237,
-&ch238,
-&ch239,
-&ch240,
-&ch241,
-&ch242,
-&ch243,
-&ch244,
-&ch245,
-&ch246,
-&ch247,
-&ch248,
-&ch249,
-&ch250,
-&ch251,
-&ch252,
-&ch253,
-&ch254,
-&ch255,
-};
-
-const BitmapFontRec glutBitmapHelvetica10 = {
-"-adobe-helvetica-medium-r-normal--10-100-75-75-p-56-iso8859-1",
-224,
-32,
-chars
-};
-
diff --git a/src/glut/glx/glut_hel12.c b/src/glut/glx/glut_hel12.c
deleted file mode 100644
index 68aed8a2bd..0000000000
--- a/src/glut/glx/glut_hel12.c
+++ /dev/null
@@ -1,1788 +0,0 @@
-
-/* GENERATED FILE -- DO NOT MODIFY */
-
-#define glutBitmapHelvetica12 XXX
-#include "glutbitmap.h"
-#undef glutBitmapHelvetica12
-
-/* char: 0xff */
-
-static const GLubyte ch255data[] = {
-0xc0,0x20,0x20,0x20,0x30,0x50,0x50,0x48,0x88,0x88,0x0,0x50,
-};
-
-static const BitmapCharRec ch255 = {5,12,-1,3,7,ch255data};
-
-/* char: 0xfe */
-
-static const GLubyte ch254data[] = {
-0x80,0x80,0x80,0xb0,0xc8,0x88,0x88,0x88,0xc8,0xb0,0x80,0x80,
-};
-
-static const BitmapCharRec ch254 = {5,12,-1,3,7,ch254data};
-
-/* char: 0xfd */
-
-static const GLubyte ch253data[] = {
-0x80,0x40,0x20,0x20,0x50,0x50,0x90,0x88,0x88,0x88,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch253 = {5,13,-1,3,7,ch253data};
-
-/* char: 0xfc */
-
-static const GLubyte ch252data[] = {
-0x68,0x98,0x88,0x88,0x88,0x88,0x88,0x0,0x50,
-};
-
-static const BitmapCharRec ch252 = {5,9,-1,0,7,ch252data};
-
-/* char: 0xfb */
-
-static const GLubyte ch251data[] = {
-0x68,0x98,0x88,0x88,0x88,0x88,0x88,0x0,0x50,0x20,
-};
-
-static const BitmapCharRec ch251 = {5,10,-1,0,7,ch251data};
-
-/* char: 0xfa */
-
-static const GLubyte ch250data[] = {
-0x68,0x98,0x88,0x88,0x88,0x88,0x88,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch250 = {5,10,-1,0,7,ch250data};
-
-/* char: 0xf9 */
-
-static const GLubyte ch249data[] = {
-0x68,0x98,0x88,0x88,0x88,0x88,0x88,0x0,0x20,0x40,
-};
-
-static const BitmapCharRec ch249 = {5,10,-1,0,7,ch249data};
-
-/* char: 0xf8 */
-
-static const GLubyte ch248data[] = {
-0xb8,0x44,0x64,0x54,0x4c,0x44,0x3a,
-};
-
-static const BitmapCharRec ch248 = {7,7,0,0,7,ch248data};
-
-/* char: 0xf7 */
-
-static const GLubyte ch247data[] = {
-0x20,0x0,0xf8,0x0,0x20,
-};
-
-static const BitmapCharRec ch247 = {5,5,-1,-1,7,ch247data};
-
-/* char: 0xf6 */
-
-static const GLubyte ch246data[] = {
-0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x0,0x50,
-};
-
-static const BitmapCharRec ch246 = {5,9,-1,0,7,ch246data};
-
-/* char: 0xf5 */
-
-static const GLubyte ch245data[] = {
-0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch245 = {5,10,-1,0,7,ch245data};
-
-/* char: 0xf4 */
-
-static const GLubyte ch244data[] = {
-0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x0,0x50,0x20,
-};
-
-static const BitmapCharRec ch244 = {5,10,-1,0,7,ch244data};
-
-/* char: 0xf3 */
-
-static const GLubyte ch243data[] = {
-0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch243 = {5,10,-1,0,7,ch243data};
-
-/* char: 0xf2 */
-
-static const GLubyte ch242data[] = {
-0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x0,0x20,0x40,
-};
-
-static const BitmapCharRec ch242 = {5,10,-1,0,7,ch242data};
-
-/* char: 0xf1 */
-
-static const GLubyte ch241data[] = {
-0x88,0x88,0x88,0x88,0x88,0xc8,0xb0,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch241 = {5,10,-1,0,7,ch241data};
-
-/* char: 0xf0 */
-
-static const GLubyte ch240data[] = {
-0x70,0x88,0x88,0x88,0x88,0x78,0x8,0x50,0x30,0x68,
-};
-
-static const BitmapCharRec ch240 = {5,10,-1,0,7,ch240data};
-
-/* char: 0xef */
-
-static const GLubyte ch239data[] = {
-0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0,
-};
-
-static const BitmapCharRec ch239 = {3,9,0,0,3,ch239data};
-
-/* char: 0xee */
-
-static const GLubyte ch238data[] = {
-0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0,0x40,
-};
-
-static const BitmapCharRec ch238 = {3,10,0,0,3,ch238data};
-
-/* char: 0xed */
-
-static const GLubyte ch237data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,0x40,
-};
-
-static const BitmapCharRec ch237 = {2,10,-1,0,3,ch237data};
-
-/* char: 0xec */
-
-static const GLubyte ch236data[] = {
-0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0x40,0x80,
-};
-
-static const BitmapCharRec ch236 = {2,10,0,0,3,ch236data};
-
-/* char: 0xeb */
-
-static const GLubyte ch235data[] = {
-0x70,0x88,0x80,0xf8,0x88,0x88,0x70,0x0,0x50,
-};
-
-static const BitmapCharRec ch235 = {5,9,-1,0,7,ch235data};
-
-/* char: 0xea */
-
-static const GLubyte ch234data[] = {
-0x70,0x88,0x80,0xf8,0x88,0x88,0x70,0x0,0x50,0x20,
-};
-
-static const BitmapCharRec ch234 = {5,10,-1,0,7,ch234data};
-
-/* char: 0xe9 */
-
-static const GLubyte ch233data[] = {
-0x70,0x88,0x80,0xf8,0x88,0x88,0x70,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch233 = {5,10,-1,0,7,ch233data};
-
-/* char: 0xe8 */
-
-static const GLubyte ch232data[] = {
-0x70,0x88,0x80,0xf8,0x88,0x88,0x70,0x0,0x20,0x40,
-};
-
-static const BitmapCharRec ch232 = {5,10,-1,0,7,ch232data};
-
-/* char: 0xe7 */
-
-static const GLubyte ch231data[] = {
-0x60,0x10,0x20,0x70,0x88,0x80,0x80,0x80,0x88,0x70,
-};
-
-static const BitmapCharRec ch231 = {5,10,-1,3,7,ch231data};
-
-/* char: 0xe6 */
-
-static const GLubyte ch230data[] = {
-0x77,0x0,0x88,0x80,0x88,0x0,0x7f,0x80,0x8,0x80,0x88,0x80,0x77,0x0,
-};
-
-static const BitmapCharRec ch230 = {9,7,-1,0,11,ch230data};
-
-/* char: 0xe5 */
-
-static const GLubyte ch229data[] = {
-0x74,0x88,0x88,0x78,0x8,0x88,0x70,0x30,0x48,0x30,
-};
-
-static const BitmapCharRec ch229 = {6,10,-1,0,7,ch229data};
-
-/* char: 0xe4 */
-
-static const GLubyte ch228data[] = {
-0x74,0x88,0x88,0x78,0x8,0x88,0x70,0x0,0x50,
-};
-
-static const BitmapCharRec ch228 = {6,9,-1,0,7,ch228data};
-
-/* char: 0xe3 */
-
-static const GLubyte ch227data[] = {
-0x74,0x88,0x88,0x78,0x8,0x88,0x70,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch227 = {6,10,-1,0,7,ch227data};
-
-/* char: 0xe2 */
-
-static const GLubyte ch226data[] = {
-0x74,0x88,0x88,0x78,0x8,0x88,0x70,0x0,0x50,0x20,
-};
-
-static const BitmapCharRec ch226 = {6,10,-1,0,7,ch226data};
-
-/* char: 0xe1 */
-
-static const GLubyte ch225data[] = {
-0x74,0x88,0x88,0x78,0x8,0x88,0x70,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch225 = {6,10,-1,0,7,ch225data};
-
-/* char: 0xe0 */
-
-static const GLubyte ch224data[] = {
-0x74,0x88,0x88,0x78,0x8,0x88,0x70,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch224 = {6,10,-1,0,7,ch224data};
-
-/* char: 0xdf */
-
-static const GLubyte ch223data[] = {
-0xb0,0x88,0x88,0x88,0xb0,0x88,0x88,0x88,0x70,
-};
-
-static const BitmapCharRec ch223 = {5,9,-1,0,7,ch223data};
-
-/* char: 0xde */
-
-static const GLubyte ch222data[] = {
-0x80,0x80,0xf8,0x84,0x84,0x84,0xf8,0x80,0x80,
-};
-
-static const BitmapCharRec ch222 = {6,9,-1,0,8,ch222data};
-
-/* char: 0xdd */
-
-static const GLubyte ch221data[] = {
-0x10,0x10,0x10,0x10,0x28,0x44,0x44,0x82,0x82,0x0,0x10,0x8,
-};
-
-static const BitmapCharRec ch221 = {7,12,-1,0,9,ch221data};
-
-/* char: 0xdc */
-
-static const GLubyte ch220data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x48,
-};
-
-static const BitmapCharRec ch220 = {6,11,-1,0,8,ch220data};
-
-/* char: 0xdb */
-
-static const GLubyte ch219data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x28,0x10,
-};
-
-static const BitmapCharRec ch219 = {6,12,-1,0,8,ch219data};
-
-/* char: 0xda */
-
-static const GLubyte ch218data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x10,0x8,
-};
-
-static const BitmapCharRec ch218 = {6,12,-1,0,8,ch218data};
-
-/* char: 0xd9 */
-
-static const GLubyte ch217data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch217 = {6,12,-1,0,8,ch217data};
-
-/* char: 0xd8 */
-
-static const GLubyte ch216data[] = {
-0x80,0x0,0x5e,0x0,0x21,0x0,0x50,0x80,0x48,0x80,0x44,0x80,0x44,0x80,0x42,0x80,
-0x21,0x0,0x1e,0x80,0x0,0x40,
-};
-
-static const BitmapCharRec ch216 = {10,11,0,1,10,ch216data};
-
-/* char: 0xd7 */
-
-static const GLubyte ch215data[] = {
-0x88,0x50,0x20,0x50,0x88,
-};
-
-static const BitmapCharRec ch215 = {5,5,-1,-1,7,ch215data};
-
-/* char: 0xd6 */
-
-static const GLubyte ch214data[] = {
-0x3c,0x42,0x81,0x81,0x81,0x81,0x81,0x42,0x3c,0x0,0x24,
-};
-
-static const BitmapCharRec ch214 = {8,11,-1,0,10,ch214data};
-
-/* char: 0xd5 */
-
-static const GLubyte ch213data[] = {
-0x3c,0x42,0x81,0x81,0x81,0x81,0x81,0x42,0x3c,0x0,0x28,0x14,
-};
-
-static const BitmapCharRec ch213 = {8,12,-1,0,10,ch213data};
-
-/* char: 0xd4 */
-
-static const GLubyte ch212data[] = {
-0x3c,0x42,0x81,0x81,0x81,0x81,0x81,0x42,0x3c,0x0,0x14,0x8,
-};
-
-static const BitmapCharRec ch212 = {8,12,-1,0,10,ch212data};
-
-/* char: 0xd3 */
-
-static const GLubyte ch211data[] = {
-0x3c,0x42,0x81,0x81,0x81,0x81,0x81,0x42,0x3c,0x0,0x8,0x4,
-};
-
-static const BitmapCharRec ch211 = {8,12,-1,0,10,ch211data};
-
-/* char: 0xd2 */
-
-static const GLubyte ch210data[] = {
-0x3c,0x42,0x81,0x81,0x81,0x81,0x81,0x42,0x3c,0x0,0x8,0x10,
-};
-
-static const BitmapCharRec ch210 = {8,12,-1,0,10,ch210data};
-
-/* char: 0xd1 */
-
-static const GLubyte ch209data[] = {
-0x82,0x86,0x8a,0x8a,0x92,0xa2,0xa2,0xc2,0x82,0x0,0x28,0x14,
-};
-
-static const BitmapCharRec ch209 = {7,12,-1,0,9,ch209data};
-
-/* char: 0xd0 */
-
-static const GLubyte ch208data[] = {
-0x7c,0x42,0x41,0x41,0xf1,0x41,0x41,0x42,0x7c,
-};
-
-static const BitmapCharRec ch208 = {8,9,0,0,9,ch208data};
-
-/* char: 0xcf */
-
-static const GLubyte ch207data[] = {
-0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0,
-};
-
-static const BitmapCharRec ch207 = {3,11,0,0,3,ch207data};
-
-/* char: 0xce */
-
-static const GLubyte ch206data[] = {
-0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0,0x40,
-};
-
-static const BitmapCharRec ch206 = {3,12,0,0,3,ch206data};
-
-/* char: 0xcd */
-
-static const GLubyte ch205data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,0x40,
-};
-
-static const BitmapCharRec ch205 = {2,12,-1,0,3,ch205data};
-
-/* char: 0xcc */
-
-static const GLubyte ch204data[] = {
-0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0x40,0x80,
-};
-
-static const BitmapCharRec ch204 = {2,12,0,0,3,ch204data};
-
-/* char: 0xcb */
-
-static const GLubyte ch203data[] = {
-0xfc,0x80,0x80,0x80,0xfc,0x80,0x80,0x80,0xfc,0x0,0x28,
-};
-
-static const BitmapCharRec ch203 = {6,11,-1,0,8,ch203data};
-
-/* char: 0xca */
-
-static const GLubyte ch202data[] = {
-0xfc,0x80,0x80,0x80,0xfc,0x80,0x80,0x80,0xfc,0x0,0x28,0x10,
-};
-
-static const BitmapCharRec ch202 = {6,12,-1,0,8,ch202data};
-
-/* char: 0xc9 */
-
-static const GLubyte ch201data[] = {
-0xfc,0x80,0x80,0x80,0xfc,0x80,0x80,0x80,0xfc,0x0,0x10,0x8,
-};
-
-static const BitmapCharRec ch201 = {6,12,-1,0,8,ch201data};
-
-/* char: 0xc8 */
-
-static const GLubyte ch200data[] = {
-0xfc,0x80,0x80,0x80,0xfc,0x80,0x80,0x80,0xfc,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch200 = {6,12,-1,0,8,ch200data};
-
-/* char: 0xc7 */
-
-static const GLubyte ch199data[] = {
-0x30,0x8,0x8,0x3c,0x42,0x80,0x80,0x80,0x80,0x80,0x42,0x3c,
-};
-
-static const BitmapCharRec ch199 = {7,12,-1,3,9,ch199data};
-
-/* char: 0xc6 */
-
-static const GLubyte ch198data[] = {
-0x8f,0x80,0x88,0x0,0x88,0x0,0x78,0x0,0x4f,0x80,0x48,0x0,0x28,0x0,0x28,0x0,
-0x1f,0x80,
-};
-
-static const BitmapCharRec ch198 = {9,9,-1,0,11,ch198data};
-
-/* char: 0xc5 */
-
-static const GLubyte ch197data[] = {
-0x82,0x82,0x82,0x7c,0x44,0x44,0x28,0x10,0x10,0x10,0x28,0x10,
-};
-
-static const BitmapCharRec ch197 = {7,12,-1,0,9,ch197data};
-
-/* char: 0xc4 */
-
-static const GLubyte ch196data[] = {
-0x82,0x82,0x82,0x7c,0x44,0x44,0x28,0x10,0x10,0x0,0x28,
-};
-
-static const BitmapCharRec ch196 = {7,11,-1,0,9,ch196data};
-
-/* char: 0xc3 */
-
-static const GLubyte ch195data[] = {
-0x82,0x82,0x82,0x7c,0x44,0x44,0x28,0x10,0x10,0x0,0x28,0x14,
-};
-
-static const BitmapCharRec ch195 = {7,12,-1,0,9,ch195data};
-
-/* char: 0xc2 */
-
-static const GLubyte ch194data[] = {
-0x82,0x82,0x82,0x7c,0x44,0x44,0x28,0x10,0x10,0x0,0x28,0x10,
-};
-
-static const BitmapCharRec ch194 = {7,12,-1,0,9,ch194data};
-
-/* char: 0xc1 */
-
-static const GLubyte ch193data[] = {
-0x82,0x82,0x82,0x7c,0x44,0x44,0x28,0x10,0x10,0x0,0x10,0x8,
-};
-
-static const BitmapCharRec ch193 = {7,12,-1,0,9,ch193data};
-
-/* char: 0xc0 */
-
-static const GLubyte ch192data[] = {
-0x82,0x82,0x82,0x7c,0x44,0x44,0x28,0x10,0x10,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch192 = {7,12,-1,0,9,ch192data};
-
-/* char: 0xbf */
-
-static const GLubyte ch191data[] = {
-0x70,0x88,0x88,0x40,0x40,0x20,0x20,0x0,0x20,
-};
-
-static const BitmapCharRec ch191 = {5,9,-1,3,7,ch191data};
-
-/* char: 0xbe */
-
-static const GLubyte ch190data[] = {
-0x21,0x0,0x17,0x80,0x15,0x0,0xb,0x0,0xc9,0x0,0x24,0x0,0x44,0x0,0x22,0x0,
-0xe1,0x0,
-};
-
-static const BitmapCharRec ch190 = {9,9,0,0,10,ch190data};
-
-/* char: 0xbd */
-
-static const GLubyte ch189data[] = {
-0x47,0x80,0x22,0x0,0x11,0x0,0x14,0x80,0x4b,0x0,0x48,0x0,0x44,0x0,0xc2,0x0,
-0x41,0x0,
-};
-
-static const BitmapCharRec ch189 = {9,9,0,0,10,ch189data};
-
-/* char: 0xbc */
-
-static const GLubyte ch188data[] = {
-0x41,0x0,0x27,0x80,0x15,0x0,0x13,0x0,0x49,0x0,0x44,0x0,0x44,0x0,0xc2,0x0,
-0x41,0x0,
-};
-
-static const BitmapCharRec ch188 = {9,9,0,0,10,ch188data};
-
-/* char: 0xbb */
-
-static const GLubyte ch187data[] = {
-0xa0,0x50,0x28,0x50,0xa0,
-};
-
-static const BitmapCharRec ch187 = {5,5,-1,-1,7,ch187data};
-
-/* char: 0xba */
-
-static const GLubyte ch186data[] = {
-0xe0,0x0,0xe0,0xa0,0xe0,
-};
-
-static const BitmapCharRec ch186 = {3,5,-1,-4,5,ch186data};
-
-/* char: 0xb9 */
-
-static const GLubyte ch185data[] = {
-0x40,0x40,0x40,0xc0,0x40,
-};
-
-static const BitmapCharRec ch185 = {2,5,-1,-3,4,ch185data};
-
-/* char: 0xb8 */
-
-static const GLubyte ch184data[] = {
-0xc0,0x20,0x20,0x40,
-};
-
-static const BitmapCharRec ch184 = {3,4,0,3,3,ch184data};
-
-/* char: 0xb7 */
-
-static const GLubyte ch183data[] = {
-0x80,
-};
-
-static const BitmapCharRec ch183 = {1,1,-1,-3,3,ch183data};
-
-/* char: 0xb6 */
-
-static const GLubyte ch182data[] = {
-0x28,0x28,0x28,0x28,0x28,0x28,0x68,0xe8,0xe8,0xe8,0x68,0x3c,
-};
-
-static const BitmapCharRec ch182 = {6,12,0,3,7,ch182data};
-
-/* char: 0xb5 */
-
-static const GLubyte ch181data[] = {
-0x80,0x80,0x80,0xe8,0x98,0x88,0x88,0x88,0x88,0x88,
-};
-
-static const BitmapCharRec ch181 = {5,10,-1,3,7,ch181data};
-
-/* char: 0xb4 */
-
-static const GLubyte ch180data[] = {
-0x80,0x40,
-};
-
-static const BitmapCharRec ch180 = {2,2,0,-8,2,ch180data};
-
-/* char: 0xb3 */
-
-static const GLubyte ch179data[] = {
-0xc0,0x20,0x40,0x20,0xe0,
-};
-
-static const BitmapCharRec ch179 = {3,5,0,-3,4,ch179data};
-
-/* char: 0xb2 */
-
-static const GLubyte ch178data[] = {
-0xf0,0x40,0x20,0x90,0x60,
-};
-
-static const BitmapCharRec ch178 = {4,5,0,-3,4,ch178data};
-
-/* char: 0xb1 */
-
-static const GLubyte ch177data[] = {
-0xf8,0x0,0x20,0x20,0xf8,0x20,0x20,
-};
-
-static const BitmapCharRec ch177 = {5,7,-1,0,7,ch177data};
-
-/* char: 0xb0 */
-
-static const GLubyte ch176data[] = {
-0x60,0x90,0x90,0x60,
-};
-
-static const BitmapCharRec ch176 = {4,4,0,-4,5,ch176data};
-
-/* char: 0xaf */
-
-static const GLubyte ch175data[] = {
-0xf0,
-};
-
-static const BitmapCharRec ch175 = {4,1,0,-8,4,ch175data};
-
-/* char: 0xae */
-
-static const GLubyte ch174data[] = {
-0x3e,0x0,0x41,0x0,0x94,0x80,0x94,0x80,0x98,0x80,0x94,0x80,0x9c,0x80,0x41,0x0,
-0x3e,0x0,
-};
-
-static const BitmapCharRec ch174 = {9,9,-1,0,11,ch174data};
-
-/* char: 0xad */
-
-static const GLubyte ch173data[] = {
-0xf0,
-};
-
-static const BitmapCharRec ch173 = {4,1,0,-3,5,ch173data};
-
-/* char: 0xac */
-
-static const GLubyte ch172data[] = {
-0x4,0x4,0x4,0xfc,
-};
-
-static const BitmapCharRec ch172 = {6,4,-1,-2,8,ch172data};
-
-/* char: 0xab */
-
-static const GLubyte ch171data[] = {
-0x28,0x50,0xa0,0x50,0x28,
-};
-
-static const BitmapCharRec ch171 = {5,5,-1,-1,7,ch171data};
-
-/* char: 0xaa */
-
-static const GLubyte ch170data[] = {
-0xe0,0x0,0xa0,0x20,0xe0,
-};
-
-static const BitmapCharRec ch170 = {3,5,-1,-4,5,ch170data};
-
-/* char: 0xa9 */
-
-static const GLubyte ch169data[] = {
-0x3e,0x0,0x41,0x0,0x9c,0x80,0xa2,0x80,0xa0,0x80,0xa2,0x80,0x9c,0x80,0x41,0x0,
-0x3e,0x0,
-};
-
-static const BitmapCharRec ch169 = {9,9,-1,0,11,ch169data};
-
-/* char: 0xa8 */
-
-static const GLubyte ch168data[] = {
-0xa0,
-};
-
-static const BitmapCharRec ch168 = {3,1,0,-8,3,ch168data};
-
-/* char: 0xa7 */
-
-static const GLubyte ch167data[] = {
-0x70,0x88,0x8,0x30,0x48,0x88,0x88,0x90,0x60,0x80,0x88,0x70,
-};
-
-static const BitmapCharRec ch167 = {5,12,0,3,6,ch167data};
-
-/* char: 0xa6 */
-
-static const GLubyte ch166data[] = {
-0x80,0x80,0x80,0x80,0x0,0x0,0x0,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch166 = {1,11,-1,2,3,ch166data};
-
-/* char: 0xa5 */
-
-static const GLubyte ch165data[] = {
-0x20,0x20,0xf8,0x20,0xf8,0x20,0x50,0x88,0x88,
-};
-
-static const BitmapCharRec ch165 = {5,9,-1,0,7,ch165data};
-
-/* char: 0xa4 */
-
-static const GLubyte ch164data[] = {
-0x84,0x78,0x48,0x48,0x78,0x84,
-};
-
-static const BitmapCharRec ch164 = {6,6,0,-1,7,ch164data};
-
-/* char: 0xa3 */
-
-static const GLubyte ch163data[] = {
-0xb0,0x48,0x20,0x20,0xf0,0x40,0x40,0x48,0x30,
-};
-
-static const BitmapCharRec ch163 = {5,9,-1,0,7,ch163data};
-
-/* char: 0xa2 */
-
-static const GLubyte ch162data[] = {
-0x40,0x70,0xc8,0xa0,0xa0,0xa0,0xa8,0x70,0x10,
-};
-
-static const BitmapCharRec ch162 = {5,9,-1,1,7,ch162data};
-
-/* char: 0xa1 */
-
-static const GLubyte ch161data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,
-};
-
-static const BitmapCharRec ch161 = {1,10,-1,3,3,ch161data};
-
-/* char: 0xa0 */
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch160data[] = { 0x0 };
-static const BitmapCharRec ch160 = {1,1,0,0,4,ch160data};
-#else
-static const BitmapCharRec ch160 = {0,0,0,0,4,0};
-#endif
-
-/* char: 0x7e '~' */
-
-static const GLubyte ch126data[] = {
-0x98,0x64,
-};
-
-static const BitmapCharRec ch126 = {6,2,0,-3,7,ch126data};
-
-/* char: 0x7d '}' */
-
-static const GLubyte ch125data[] = {
-0xc0,0x20,0x20,0x20,0x20,0x20,0x10,0x20,0x20,0x20,0x20,0xc0,
-};
-
-static const BitmapCharRec ch125 = {4,12,0,3,4,ch125data};
-
-/* char: 0x7c '|' */
-
-static const GLubyte ch124data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch124 = {1,12,-1,3,3,ch124data};
-
-/* char: 0x7b '{' */
-
-static const GLubyte ch123data[] = {
-0x30,0x40,0x40,0x40,0x40,0x40,0x80,0x40,0x40,0x40,0x40,0x30,
-};
-
-static const BitmapCharRec ch123 = {4,12,0,3,4,ch123data};
-
-/* char: 0x7a 'z' */
-
-static const GLubyte ch122data[] = {
-0xf0,0x80,0x40,0x40,0x20,0x10,0xf0,
-};
-
-static const BitmapCharRec ch122 = {4,7,-1,0,6,ch122data};
-
-/* char: 0x79 'y' */
-
-static const GLubyte ch121data[] = {
-0x80,0x40,0x20,0x20,0x50,0x50,0x90,0x88,0x88,0x88,
-};
-
-static const BitmapCharRec ch121 = {5,10,-1,3,7,ch121data};
-
-/* char: 0x78 'x' */
-
-static const GLubyte ch120data[] = {
-0x84,0x84,0x48,0x30,0x30,0x48,0x84,
-};
-
-static const BitmapCharRec ch120 = {6,7,0,0,6,ch120data};
-
-/* char: 0x77 'w' */
-
-static const GLubyte ch119data[] = {
-0x22,0x0,0x22,0x0,0x55,0x0,0x49,0x0,0x49,0x0,0x88,0x80,0x88,0x80,
-};
-
-static const BitmapCharRec ch119 = {9,7,0,0,9,ch119data};
-
-/* char: 0x76 'v' */
-
-static const GLubyte ch118data[] = {
-0x20,0x20,0x50,0x50,0x88,0x88,0x88,
-};
-
-static const BitmapCharRec ch118 = {5,7,-1,0,7,ch118data};
-
-/* char: 0x75 'u' */
-
-static const GLubyte ch117data[] = {
-0x68,0x98,0x88,0x88,0x88,0x88,0x88,
-};
-
-static const BitmapCharRec ch117 = {5,7,-1,0,7,ch117data};
-
-/* char: 0x74 't' */
-
-static const GLubyte ch116data[] = {
-0x60,0x40,0x40,0x40,0x40,0x40,0xe0,0x40,0x40,
-};
-
-static const BitmapCharRec ch116 = {3,9,0,0,3,ch116data};
-
-/* char: 0x73 's' */
-
-static const GLubyte ch115data[] = {
-0x60,0x90,0x10,0x60,0x80,0x90,0x60,
-};
-
-static const BitmapCharRec ch115 = {4,7,-1,0,6,ch115data};
-
-/* char: 0x72 'r' */
-
-static const GLubyte ch114data[] = {
-0x80,0x80,0x80,0x80,0x80,0xc0,0xa0,
-};
-
-static const BitmapCharRec ch114 = {3,7,-1,0,4,ch114data};
-
-/* char: 0x71 'q' */
-
-static const GLubyte ch113data[] = {
-0x8,0x8,0x8,0x68,0x98,0x88,0x88,0x88,0x98,0x68,
-};
-
-static const BitmapCharRec ch113 = {5,10,-1,3,7,ch113data};
-
-/* char: 0x70 'p' */
-
-static const GLubyte ch112data[] = {
-0x80,0x80,0x80,0xb0,0xc8,0x88,0x88,0x88,0xc8,0xb0,
-};
-
-static const BitmapCharRec ch112 = {5,10,-1,3,7,ch112data};
-
-/* char: 0x6f 'o' */
-
-static const GLubyte ch111data[] = {
-0x70,0x88,0x88,0x88,0x88,0x88,0x70,
-};
-
-static const BitmapCharRec ch111 = {5,7,-1,0,7,ch111data};
-
-/* char: 0x6e 'n' */
-
-static const GLubyte ch110data[] = {
-0x88,0x88,0x88,0x88,0x88,0xc8,0xb0,
-};
-
-static const BitmapCharRec ch110 = {5,7,-1,0,7,ch110data};
-
-/* char: 0x6d 'm' */
-
-static const GLubyte ch109data[] = {
-0x92,0x92,0x92,0x92,0x92,0xda,0xa4,
-};
-
-static const BitmapCharRec ch109 = {7,7,-1,0,9,ch109data};
-
-/* char: 0x6c 'l' */
-
-static const GLubyte ch108data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch108 = {1,9,-1,0,3,ch108data};
-
-/* char: 0x6b 'k' */
-
-static const GLubyte ch107data[] = {
-0x88,0x90,0xa0,0xc0,0xc0,0xa0,0x90,0x80,0x80,
-};
-
-static const BitmapCharRec ch107 = {5,9,-1,0,6,ch107data};
-
-/* char: 0x6a 'j' */
-
-static const GLubyte ch106data[] = {
-0x80,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0x40,
-};
-
-static const BitmapCharRec ch106 = {2,12,0,3,3,ch106data};
-
-/* char: 0x69 'i' */
-
-static const GLubyte ch105data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,
-};
-
-static const BitmapCharRec ch105 = {1,9,-1,0,3,ch105data};
-
-/* char: 0x68 'h' */
-
-static const GLubyte ch104data[] = {
-0x88,0x88,0x88,0x88,0x88,0xc8,0xb0,0x80,0x80,
-};
-
-static const BitmapCharRec ch104 = {5,9,-1,0,7,ch104data};
-
-/* char: 0x67 'g' */
-
-static const GLubyte ch103data[] = {
-0x70,0x88,0x8,0x68,0x98,0x88,0x88,0x88,0x98,0x68,
-};
-
-static const BitmapCharRec ch103 = {5,10,-1,3,7,ch103data};
-
-/* char: 0x66 'f' */
-
-static const GLubyte ch102data[] = {
-0x40,0x40,0x40,0x40,0x40,0x40,0xe0,0x40,0x30,
-};
-
-static const BitmapCharRec ch102 = {4,9,0,0,3,ch102data};
-
-/* char: 0x65 'e' */
-
-static const GLubyte ch101data[] = {
-0x70,0x88,0x80,0xf8,0x88,0x88,0x70,
-};
-
-static const BitmapCharRec ch101 = {5,7,-1,0,7,ch101data};
-
-/* char: 0x64 'd' */
-
-static const GLubyte ch100data[] = {
-0x68,0x98,0x88,0x88,0x88,0x98,0x68,0x8,0x8,
-};
-
-static const BitmapCharRec ch100 = {5,9,-1,0,7,ch100data};
-
-/* char: 0x63 'c' */
-
-static const GLubyte ch99data[] = {
-0x70,0x88,0x80,0x80,0x80,0x88,0x70,
-};
-
-static const BitmapCharRec ch99 = {5,7,-1,0,7,ch99data};
-
-/* char: 0x62 'b' */
-
-static const GLubyte ch98data[] = {
-0xb0,0xc8,0x88,0x88,0x88,0xc8,0xb0,0x80,0x80,
-};
-
-static const BitmapCharRec ch98 = {5,9,-1,0,7,ch98data};
-
-/* char: 0x61 'a' */
-
-static const GLubyte ch97data[] = {
-0x74,0x88,0x88,0x78,0x8,0x88,0x70,
-};
-
-static const BitmapCharRec ch97 = {6,7,-1,0,7,ch97data};
-
-/* char: 0x60 '`' */
-
-static const GLubyte ch96data[] = {
-0xc0,0x80,0x40,
-};
-
-static const BitmapCharRec ch96 = {2,3,0,-6,3,ch96data};
-
-/* char: 0x5f '_' */
-
-static const GLubyte ch95data[] = {
-0xfe,
-};
-
-static const BitmapCharRec ch95 = {7,1,0,2,7,ch95data};
-
-/* char: 0x5e '^' */
-
-static const GLubyte ch94data[] = {
-0x88,0x50,0x20,
-};
-
-static const BitmapCharRec ch94 = {5,3,0,-5,6,ch94data};
-
-/* char: 0x5d ']' */
-
-static const GLubyte ch93data[] = {
-0xc0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xc0,
-};
-
-static const BitmapCharRec ch93 = {2,12,0,3,3,ch93data};
-
-/* char: 0x5c '\' */
-
-static const GLubyte ch92data[] = {
-0x10,0x10,0x20,0x20,0x20,0x40,0x40,0x80,0x80,
-};
-
-static const BitmapCharRec ch92 = {4,9,0,0,4,ch92data};
-
-/* char: 0x5b '[' */
-
-static const GLubyte ch91data[] = {
-0xc0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xc0,
-};
-
-static const BitmapCharRec ch91 = {2,12,-1,3,3,ch91data};
-
-/* char: 0x5a 'Z' */
-
-static const GLubyte ch90data[] = {
-0xfe,0x80,0x40,0x20,0x10,0x8,0x4,0x2,0xfe,
-};
-
-static const BitmapCharRec ch90 = {7,9,-1,0,9,ch90data};
-
-/* char: 0x59 'Y' */
-
-static const GLubyte ch89data[] = {
-0x10,0x10,0x10,0x10,0x28,0x44,0x44,0x82,0x82,
-};
-
-static const BitmapCharRec ch89 = {7,9,-1,0,9,ch89data};
-
-/* char: 0x58 'X' */
-
-static const GLubyte ch88data[] = {
-0x82,0x44,0x44,0x28,0x10,0x28,0x44,0x44,0x82,
-};
-
-static const BitmapCharRec ch88 = {7,9,-1,0,9,ch88data};
-
-/* char: 0x57 'W' */
-
-static const GLubyte ch87data[] = {
-0x22,0x0,0x22,0x0,0x22,0x0,0x55,0x0,0x55,0x0,0x49,0x0,0x88,0x80,0x88,0x80,
-0x88,0x80,
-};
-
-static const BitmapCharRec ch87 = {9,9,-1,0,11,ch87data};
-
-/* char: 0x56 'V' */
-
-static const GLubyte ch86data[] = {
-0x10,0x10,0x28,0x28,0x44,0x44,0x44,0x82,0x82,
-};
-
-static const BitmapCharRec ch86 = {7,9,-1,0,9,ch86data};
-
-/* char: 0x55 'U' */
-
-static const GLubyte ch85data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
-};
-
-static const BitmapCharRec ch85 = {6,9,-1,0,8,ch85data};
-
-/* char: 0x54 'T' */
-
-static const GLubyte ch84data[] = {
-0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0xfe,
-};
-
-static const BitmapCharRec ch84 = {7,9,0,0,7,ch84data};
-
-/* char: 0x53 'S' */
-
-static const GLubyte ch83data[] = {
-0x78,0x84,0x84,0x4,0x18,0x60,0x80,0x84,0x78,
-};
-
-static const BitmapCharRec ch83 = {6,9,-1,0,8,ch83data};
-
-/* char: 0x52 'R' */
-
-static const GLubyte ch82data[] = {
-0x84,0x84,0x84,0x88,0xf8,0x84,0x84,0x84,0xf8,
-};
-
-static const BitmapCharRec ch82 = {6,9,-1,0,8,ch82data};
-
-/* char: 0x51 'Q' */
-
-static const GLubyte ch81data[] = {
-0x3d,0x42,0x85,0x89,0x81,0x81,0x81,0x42,0x3c,
-};
-
-static const BitmapCharRec ch81 = {8,9,-1,0,10,ch81data};
-
-/* char: 0x50 'P' */
-
-static const GLubyte ch80data[] = {
-0x80,0x80,0x80,0x80,0xf8,0x84,0x84,0x84,0xf8,
-};
-
-static const BitmapCharRec ch80 = {6,9,-1,0,8,ch80data};
-
-/* char: 0x4f 'O' */
-
-static const GLubyte ch79data[] = {
-0x3c,0x42,0x81,0x81,0x81,0x81,0x81,0x42,0x3c,
-};
-
-static const BitmapCharRec ch79 = {8,9,-1,0,10,ch79data};
-
-/* char: 0x4e 'N' */
-
-static const GLubyte ch78data[] = {
-0x82,0x86,0x8a,0x8a,0x92,0xa2,0xa2,0xc2,0x82,
-};
-
-static const BitmapCharRec ch78 = {7,9,-1,0,9,ch78data};
-
-/* char: 0x4d 'M' */
-
-static const GLubyte ch77data[] = {
-0x88,0x80,0x88,0x80,0x94,0x80,0x94,0x80,0xa2,0x80,0xa2,0x80,0xc1,0x80,0xc1,0x80,
-0x80,0x80,
-};
-
-static const BitmapCharRec ch77 = {9,9,-1,0,11,ch77data};
-
-/* char: 0x4c 'L' */
-
-static const GLubyte ch76data[] = {
-0xf8,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch76 = {5,9,-1,0,7,ch76data};
-
-/* char: 0x4b 'K' */
-
-static const GLubyte ch75data[] = {
-0x82,0x84,0x88,0x90,0xe0,0xa0,0x90,0x88,0x84,
-};
-
-static const BitmapCharRec ch75 = {7,9,-1,0,8,ch75data};
-
-/* char: 0x4a 'J' */
-
-static const GLubyte ch74data[] = {
-0x70,0x88,0x88,0x8,0x8,0x8,0x8,0x8,0x8,
-};
-
-static const BitmapCharRec ch74 = {5,9,-1,0,7,ch74data};
-
-/* char: 0x49 'I' */
-
-static const GLubyte ch73data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch73 = {1,9,-1,0,3,ch73data};
-
-/* char: 0x48 'H' */
-
-static const GLubyte ch72data[] = {
-0x82,0x82,0x82,0x82,0xfe,0x82,0x82,0x82,0x82,
-};
-
-static const BitmapCharRec ch72 = {7,9,-1,0,9,ch72data};
-
-/* char: 0x47 'G' */
-
-static const GLubyte ch71data[] = {
-0x3a,0x46,0x82,0x82,0x8e,0x80,0x80,0x42,0x3c,
-};
-
-static const BitmapCharRec ch71 = {7,9,-1,0,9,ch71data};
-
-/* char: 0x46 'F' */
-
-static const GLubyte ch70data[] = {
-0x80,0x80,0x80,0x80,0xf8,0x80,0x80,0x80,0xfc,
-};
-
-static const BitmapCharRec ch70 = {6,9,-1,0,8,ch70data};
-
-/* char: 0x45 'E' */
-
-static const GLubyte ch69data[] = {
-0xfc,0x80,0x80,0x80,0xfc,0x80,0x80,0x80,0xfc,
-};
-
-static const BitmapCharRec ch69 = {6,9,-1,0,8,ch69data};
-
-/* char: 0x44 'D' */
-
-static const GLubyte ch68data[] = {
-0xf8,0x84,0x82,0x82,0x82,0x82,0x82,0x84,0xf8,
-};
-
-static const BitmapCharRec ch68 = {7,9,-1,0,9,ch68data};
-
-/* char: 0x43 'C' */
-
-static const GLubyte ch67data[] = {
-0x3c,0x42,0x80,0x80,0x80,0x80,0x80,0x42,0x3c,
-};
-
-static const BitmapCharRec ch67 = {7,9,-1,0,9,ch67data};
-
-/* char: 0x42 'B' */
-
-static const GLubyte ch66data[] = {
-0xf8,0x84,0x84,0x84,0xf8,0x84,0x84,0x84,0xf8,
-};
-
-static const BitmapCharRec ch66 = {6,9,-1,0,8,ch66data};
-
-/* char: 0x41 'A' */
-
-static const GLubyte ch65data[] = {
-0x82,0x82,0x82,0x7c,0x44,0x44,0x28,0x28,0x10,
-};
-
-static const BitmapCharRec ch65 = {7,9,-1,0,9,ch65data};
-
-/* char: 0x40 '@' */
-
-static const GLubyte ch64data[] = {
-0x3e,0x0,0x40,0x0,0x9b,0x0,0xa6,0x80,0xa2,0x40,0xa2,0x40,0x92,0x40,0x4d,0x40,
-0x60,0x80,0x1f,0x0,
-};
-
-static const BitmapCharRec ch64 = {10,10,-1,1,12,ch64data};
-
-/* char: 0x3f '?' */
-
-static const GLubyte ch63data[] = {
-0x20,0x0,0x20,0x20,0x10,0x10,0x88,0x88,0x70,
-};
-
-static const BitmapCharRec ch63 = {5,9,-1,0,7,ch63data};
-
-/* char: 0x3e '>' */
-
-static const GLubyte ch62data[] = {
-0xc0,0x30,0xc,0x30,0xc0,
-};
-
-static const BitmapCharRec ch62 = {6,5,-1,-1,7,ch62data};
-
-/* char: 0x3d '=' */
-
-static const GLubyte ch61data[] = {
-0xf8,0x0,0xf8,
-};
-
-static const BitmapCharRec ch61 = {5,3,-1,-2,7,ch61data};
-
-/* char: 0x3c '<' */
-
-static const GLubyte ch60data[] = {
-0xc,0x30,0xc0,0x30,0xc,
-};
-
-static const BitmapCharRec ch60 = {6,5,0,-1,7,ch60data};
-
-/* char: 0x3b ';' */
-
-static const GLubyte ch59data[] = {
-0x80,0x40,0x40,0x0,0x0,0x0,0x0,0x40,
-};
-
-static const BitmapCharRec ch59 = {2,8,0,2,3,ch59data};
-
-/* char: 0x3a ':' */
-
-static const GLubyte ch58data[] = {
-0x80,0x0,0x0,0x0,0x0,0x80,
-};
-
-static const BitmapCharRec ch58 = {1,6,-1,0,3,ch58data};
-
-/* char: 0x39 '9' */
-
-static const GLubyte ch57data[] = {
-0x70,0x88,0x8,0x8,0x78,0x88,0x88,0x88,0x70,
-};
-
-static const BitmapCharRec ch57 = {5,9,-1,0,7,ch57data};
-
-/* char: 0x38 '8' */
-
-static const GLubyte ch56data[] = {
-0x70,0x88,0x88,0x88,0x88,0x70,0x88,0x88,0x70,
-};
-
-static const BitmapCharRec ch56 = {5,9,-1,0,7,ch56data};
-
-/* char: 0x37 '7' */
-
-static const GLubyte ch55data[] = {
-0x40,0x40,0x20,0x20,0x20,0x10,0x10,0x8,0xf8,
-};
-
-static const BitmapCharRec ch55 = {5,9,-1,0,7,ch55data};
-
-/* char: 0x36 '6' */
-
-static const GLubyte ch54data[] = {
-0x70,0x88,0x88,0x88,0xc8,0xb0,0x80,0x88,0x70,
-};
-
-static const BitmapCharRec ch54 = {5,9,-1,0,7,ch54data};
-
-/* char: 0x35 '5' */
-
-static const GLubyte ch53data[] = {
-0x70,0x88,0x88,0x8,0x8,0xf0,0x80,0x80,0xf8,
-};
-
-static const BitmapCharRec ch53 = {5,9,-1,0,7,ch53data};
-
-/* char: 0x34 '4' */
-
-static const GLubyte ch52data[] = {
-0x8,0x8,0xfc,0x88,0x48,0x28,0x28,0x18,0x8,
-};
-
-static const BitmapCharRec ch52 = {6,9,0,0,7,ch52data};
-
-/* char: 0x33 '3' */
-
-static const GLubyte ch51data[] = {
-0x70,0x88,0x88,0x8,0x8,0x30,0x8,0x88,0x70,
-};
-
-static const BitmapCharRec ch51 = {5,9,-1,0,7,ch51data};
-
-/* char: 0x32 '2' */
-
-static const GLubyte ch50data[] = {
-0xf8,0x80,0x80,0x40,0x20,0x10,0x8,0x88,0x70,
-};
-
-static const BitmapCharRec ch50 = {5,9,-1,0,7,ch50data};
-
-/* char: 0x31 '1' */
-
-static const GLubyte ch49data[] = {
-0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xe0,0x20,
-};
-
-static const BitmapCharRec ch49 = {3,9,-1,0,7,ch49data};
-
-/* char: 0x30 '0' */
-
-static const GLubyte ch48data[] = {
-0x70,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x70,
-};
-
-static const BitmapCharRec ch48 = {5,9,-1,0,7,ch48data};
-
-/* char: 0x2f '/' */
-
-static const GLubyte ch47data[] = {
-0x80,0x80,0x40,0x40,0x40,0x20,0x20,0x10,0x10,
-};
-
-static const BitmapCharRec ch47 = {4,9,0,0,4,ch47data};
-
-/* char: 0x2e '.' */
-
-static const GLubyte ch46data[] = {
-0x80,
-};
-
-static const BitmapCharRec ch46 = {1,1,-1,0,3,ch46data};
-
-/* char: 0x2d '-' */
-
-static const GLubyte ch45data[] = {
-0xf8,
-};
-
-static const BitmapCharRec ch45 = {5,1,-1,-3,8,ch45data};
-
-/* char: 0x2c ',' */
-
-static const GLubyte ch44data[] = {
-0x80,0x40,0x40,
-};
-
-static const BitmapCharRec ch44 = {2,3,-1,2,4,ch44data};
-
-/* char: 0x2b '+' */
-
-static const GLubyte ch43data[] = {
-0x20,0x20,0xf8,0x20,0x20,
-};
-
-static const BitmapCharRec ch43 = {5,5,-1,-1,7,ch43data};
-
-/* char: 0x2a '*' */
-
-static const GLubyte ch42data[] = {
-0xa0,0x40,0xa0,
-};
-
-static const BitmapCharRec ch42 = {3,3,-1,-6,5,ch42data};
-
-/* char: 0x29 ')' */
-
-static const GLubyte ch41data[] = {
-0x80,0x40,0x40,0x20,0x20,0x20,0x20,0x20,0x20,0x40,0x40,0x80,
-};
-
-static const BitmapCharRec ch41 = {3,12,0,3,4,ch41data};
-
-/* char: 0x28 '(' */
-
-static const GLubyte ch40data[] = {
-0x20,0x40,0x40,0x80,0x80,0x80,0x80,0x80,0x80,0x40,0x40,0x20,
-};
-
-static const BitmapCharRec ch40 = {3,12,-1,3,4,ch40data};
-
-/* char: 0x27 ''' */
-
-static const GLubyte ch39data[] = {
-0x80,0x40,0xc0,
-};
-
-static const BitmapCharRec ch39 = {2,3,-1,-6,3,ch39data};
-
-/* char: 0x26 '&' */
-
-static const GLubyte ch38data[] = {
-0x72,0x8c,0x84,0x8a,0x50,0x30,0x48,0x48,0x30,
-};
-
-static const BitmapCharRec ch38 = {7,9,-1,0,9,ch38data};
-
-/* char: 0x25 '%' */
-
-static const GLubyte ch37data[] = {
-0x23,0x0,0x14,0x80,0x14,0x80,0x13,0x0,0x8,0x0,0x68,0x0,0x94,0x0,0x94,0x0,
-0x62,0x0,
-};
-
-static const BitmapCharRec ch37 = {9,9,-1,0,11,ch37data};
-
-/* char: 0x24 '$' */
-
-static const GLubyte ch36data[] = {
-0x20,0x70,0xa8,0xa8,0x28,0x70,0xa0,0xa8,0x70,0x20,
-};
-
-static const BitmapCharRec ch36 = {5,10,-1,1,7,ch36data};
-
-/* char: 0x23 '#' */
-
-static const GLubyte ch35data[] = {
-0x50,0x50,0x50,0xfc,0x28,0xfc,0x28,0x28,
-};
-
-static const BitmapCharRec ch35 = {6,8,0,0,7,ch35data};
-
-/* char: 0x22 '"' */
-
-static const GLubyte ch34data[] = {
-0xa0,0xa0,0xa0,
-};
-
-static const BitmapCharRec ch34 = {3,3,-1,-6,5,ch34data};
-
-/* char: 0x21 '!' */
-
-static const GLubyte ch33data[] = {
-0x80,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch33 = {1,9,-1,0,3,ch33data};
-
-/* char: 0x20 ' ' */
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch32data[] = { 0x0 };
-static const BitmapCharRec ch32 = {1,1,0,0,4,ch32data};
-#else
-static const BitmapCharRec ch32 = {0,0,0,0,4,0};
-#endif
-
-static const BitmapCharRec * const chars[] = {
-&ch32,
-&ch33,
-&ch34,
-&ch35,
-&ch36,
-&ch37,
-&ch38,
-&ch39,
-&ch40,
-&ch41,
-&ch42,
-&ch43,
-&ch44,
-&ch45,
-&ch46,
-&ch47,
-&ch48,
-&ch49,
-&ch50,
-&ch51,
-&ch52,
-&ch53,
-&ch54,
-&ch55,
-&ch56,
-&ch57,
-&ch58,
-&ch59,
-&ch60,
-&ch61,
-&ch62,
-&ch63,
-&ch64,
-&ch65,
-&ch66,
-&ch67,
-&ch68,
-&ch69,
-&ch70,
-&ch71,
-&ch72,
-&ch73,
-&ch74,
-&ch75,
-&ch76,
-&ch77,
-&ch78,
-&ch79,
-&ch80,
-&ch81,
-&ch82,
-&ch83,
-&ch84,
-&ch85,
-&ch86,
-&ch87,
-&ch88,
-&ch89,
-&ch90,
-&ch91,
-&ch92,
-&ch93,
-&ch94,
-&ch95,
-&ch96,
-&ch97,
-&ch98,
-&ch99,
-&ch100,
-&ch101,
-&ch102,
-&ch103,
-&ch104,
-&ch105,
-&ch106,
-&ch107,
-&ch108,
-&ch109,
-&ch110,
-&ch111,
-&ch112,
-&ch113,
-&ch114,
-&ch115,
-&ch116,
-&ch117,
-&ch118,
-&ch119,
-&ch120,
-&ch121,
-&ch122,
-&ch123,
-&ch124,
-&ch125,
-&ch126,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-&ch160,
-&ch161,
-&ch162,
-&ch163,
-&ch164,
-&ch165,
-&ch166,
-&ch167,
-&ch168,
-&ch169,
-&ch170,
-&ch171,
-&ch172,
-&ch173,
-&ch174,
-&ch175,
-&ch176,
-&ch177,
-&ch178,
-&ch179,
-&ch180,
-&ch181,
-&ch182,
-&ch183,
-&ch184,
-&ch185,
-&ch186,
-&ch187,
-&ch188,
-&ch189,
-&ch190,
-&ch191,
-&ch192,
-&ch193,
-&ch194,
-&ch195,
-&ch196,
-&ch197,
-&ch198,
-&ch199,
-&ch200,
-&ch201,
-&ch202,
-&ch203,
-&ch204,
-&ch205,
-&ch206,
-&ch207,
-&ch208,
-&ch209,
-&ch210,
-&ch211,
-&ch212,
-&ch213,
-&ch214,
-&ch215,
-&ch216,
-&ch217,
-&ch218,
-&ch219,
-&ch220,
-&ch221,
-&ch222,
-&ch223,
-&ch224,
-&ch225,
-&ch226,
-&ch227,
-&ch228,
-&ch229,
-&ch230,
-&ch231,
-&ch232,
-&ch233,
-&ch234,
-&ch235,
-&ch236,
-&ch237,
-&ch238,
-&ch239,
-&ch240,
-&ch241,
-&ch242,
-&ch243,
-&ch244,
-&ch245,
-&ch246,
-&ch247,
-&ch248,
-&ch249,
-&ch250,
-&ch251,
-&ch252,
-&ch253,
-&ch254,
-&ch255,
-};
-
-const BitmapFontRec glutBitmapHelvetica12 = {
-"-adobe-helvetica-medium-r-normal--12-120-75-75-p-67-iso8859-1",
-224,
-32,
-chars
-};
-
diff --git a/src/glut/glx/glut_hel18.c b/src/glut/glx/glut_hel18.c
deleted file mode 100644
index f0800843e8..0000000000
--- a/src/glut/glx/glut_hel18.c
+++ /dev/null
@@ -1,1897 +0,0 @@
-
-/* GENERATED FILE -- DO NOT MODIFY */
-
-#define glutBitmapHelvetica18 XXX
-#include "glutbitmap.h"
-#undef glutBitmapHelvetica18
-
-/* char: 0xff */
-
-static const GLubyte ch255data[] = {
-0x70,0x70,0x18,0x18,0x18,0x18,0x3c,0x24,0x66,0x66,0x66,0xc3,0xc3,0xc3,0x0,0x66,
-0x66,
-};
-
-static const BitmapCharRec ch255 = {8,17,-1,4,10,ch255data};
-
-/* char: 0xfe */
-
-static const GLubyte ch254data[] = {
-0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xde,0x0,0xff,0x0,0xe3,0x0,0xc1,0x80,
-0xc1,0x80,0xc1,0x80,0xc1,0x80,0xe3,0x0,0xff,0x0,0xde,0x0,0xc0,0x0,0xc0,0x0,
-0xc0,0x0,0xc0,0x0,
-};
-
-static const BitmapCharRec ch254 = {9,18,-1,4,11,ch254data};
-
-/* char: 0xfd */
-
-static const GLubyte ch253data[] = {
-0x70,0x70,0x18,0x18,0x18,0x18,0x3c,0x24,0x66,0x66,0x66,0xc3,0xc3,0xc3,0x0,0x18,
-0xc,0x6,
-};
-
-static const BitmapCharRec ch253 = {8,18,-1,4,10,ch253data};
-
-/* char: 0xfc */
-
-static const GLubyte ch252data[] = {
-0x73,0xfb,0xc7,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0x0,0x66,0x66,
-};
-
-static const BitmapCharRec ch252 = {8,13,-1,0,10,ch252data};
-
-/* char: 0xfb */
-
-static const GLubyte ch251data[] = {
-0x73,0xfb,0xc7,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0x0,0x66,0x3c,0x18,
-};
-
-static const BitmapCharRec ch251 = {8,14,-1,0,10,ch251data};
-
-/* char: 0xfa */
-
-static const GLubyte ch250data[] = {
-0x73,0xfb,0xc7,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0x0,0x18,0xc,0x6,
-};
-
-static const BitmapCharRec ch250 = {8,14,-1,0,10,ch250data};
-
-/* char: 0xf9 */
-
-static const GLubyte ch249data[] = {
-0x73,0xfb,0xc7,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0x0,0xc,0x18,0x30,
-};
-
-static const BitmapCharRec ch249 = {8,14,-1,0,10,ch249data};
-
-/* char: 0xf8 */
-
-static const GLubyte ch248data[] = {
-0xce,0x0,0x7f,0x80,0x31,0x80,0x78,0xc0,0x6c,0xc0,0x66,0xc0,0x63,0xc0,0x31,0x80,
-0x3f,0xc0,0xe,0x60,
-};
-
-static const BitmapCharRec ch248 = {11,10,0,0,11,ch248data};
-
-/* char: 0xf7 */
-
-static const GLubyte ch247data[] = {
-0x18,0x18,0x0,0xff,0xff,0x0,0x18,0x18,
-};
-
-static const BitmapCharRec ch247 = {8,8,-1,-1,10,ch247data};
-
-/* char: 0xf6 */
-
-static const GLubyte ch246data[] = {
-0x3e,0x0,0x7f,0x0,0x63,0x0,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x0,
-0x7f,0x0,0x3e,0x0,0x0,0x0,0x36,0x0,0x36,0x0,
-};
-
-static const BitmapCharRec ch246 = {9,13,-1,0,11,ch246data};
-
-/* char: 0xf5 */
-
-static const GLubyte ch245data[] = {
-0x3e,0x0,0x7f,0x0,0x63,0x0,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x0,
-0x7f,0x0,0x3e,0x0,0x0,0x0,0x26,0x0,0x2d,0x0,0x19,0x0,
-};
-
-static const BitmapCharRec ch245 = {9,14,-1,0,11,ch245data};
-
-/* char: 0xf4 */
-
-static const GLubyte ch244data[] = {
-0x3e,0x0,0x7f,0x0,0x63,0x0,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x0,
-0x7f,0x0,0x3e,0x0,0x0,0x0,0x33,0x0,0x1e,0x0,0xc,0x0,
-};
-
-static const BitmapCharRec ch244 = {9,14,-1,0,11,ch244data};
-
-/* char: 0xf3 */
-
-static const GLubyte ch243data[] = {
-0x3e,0x0,0x7f,0x0,0x63,0x0,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x0,
-0x7f,0x0,0x3e,0x0,0x0,0x0,0x18,0x0,0xc,0x0,0x6,0x0,
-};
-
-static const BitmapCharRec ch243 = {9,14,-1,0,11,ch243data};
-
-/* char: 0xf2 */
-
-static const GLubyte ch242data[] = {
-0x3e,0x0,0x7f,0x0,0x63,0x0,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x0,
-0x7f,0x0,0x3e,0x0,0x0,0x0,0xc,0x0,0x18,0x0,0x30,0x0,
-};
-
-static const BitmapCharRec ch242 = {9,14,-1,0,11,ch242data};
-
-/* char: 0xf1 */
-
-static const GLubyte ch241data[] = {
-0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xe3,0xdf,0xce,0x0,0x4c,0x5a,0x32,
-};
-
-static const BitmapCharRec ch241 = {8,14,-1,0,10,ch241data};
-
-/* char: 0xf0 */
-
-static const GLubyte ch240data[] = {
-0x3e,0x0,0x7f,0x0,0x63,0x0,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x0,
-0x7f,0x0,0x3e,0x0,0x4c,0x0,0x38,0x0,0x36,0x0,0x60,0x0,
-};
-
-static const BitmapCharRec ch240 = {9,14,-1,0,11,ch240data};
-
-/* char: 0xef */
-
-static const GLubyte ch239data[] = {
-0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x0,0xd8,0xd8,
-};
-
-static const BitmapCharRec ch239 = {5,13,0,0,4,ch239data};
-
-/* char: 0xee */
-
-static const GLubyte ch238data[] = {
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x0,0xcc,0x78,0x30,
-};
-
-static const BitmapCharRec ch238 = {6,14,1,0,4,ch238data};
-
-/* char: 0xed */
-
-static const GLubyte ch237data[] = {
-0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x0,0xc0,0x60,0x30,
-};
-
-static const BitmapCharRec ch237 = {4,14,0,0,4,ch237data};
-
-/* char: 0xec */
-
-static const GLubyte ch236data[] = {
-0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x0,0x30,0x60,0xc0,
-};
-
-static const BitmapCharRec ch236 = {4,14,0,0,4,ch236data};
-
-/* char: 0xeb */
-
-static const GLubyte ch235data[] = {
-0x3c,0x7f,0xe3,0xc0,0xc0,0xff,0xc3,0xc3,0x7e,0x3c,0x0,0x36,0x36,
-};
-
-static const BitmapCharRec ch235 = {8,13,-1,0,10,ch235data};
-
-/* char: 0xea */
-
-static const GLubyte ch234data[] = {
-0x3c,0x7f,0xe3,0xc0,0xc0,0xff,0xc3,0xc3,0x7e,0x3c,0x0,0x66,0x3c,0x18,
-};
-
-static const BitmapCharRec ch234 = {8,14,-1,0,10,ch234data};
-
-/* char: 0xe9 */
-
-static const GLubyte ch233data[] = {
-0x3c,0x7f,0xe3,0xc0,0xc0,0xff,0xc3,0xc3,0x7e,0x3c,0x0,0x18,0xc,0x6,
-};
-
-static const BitmapCharRec ch233 = {8,14,-1,0,10,ch233data};
-
-/* char: 0xe8 */
-
-static const GLubyte ch232data[] = {
-0x3c,0x7f,0xe3,0xc0,0xc0,0xff,0xc3,0xc3,0x7e,0x3c,0x0,0x18,0x30,0x60,
-};
-
-static const BitmapCharRec ch232 = {8,14,-1,0,10,ch232data};
-
-/* char: 0xe7 */
-
-static const GLubyte ch231data[] = {
-0x78,0x6c,0xc,0x38,0x3e,0x7f,0x63,0xc0,0xc0,0xc0,0xc0,0x63,0x7f,0x3e,
-};
-
-static const BitmapCharRec ch231 = {8,14,-1,4,10,ch231data};
-
-/* char: 0xe6 */
-
-static const GLubyte ch230data[] = {
-0x75,0xe0,0xef,0xf8,0xc7,0x18,0xc6,0x0,0xe6,0x0,0x7f,0xf8,0xe,0x18,0xc6,0x18,
-0xef,0xf0,0x7d,0xe0,
-};
-
-static const BitmapCharRec ch230 = {13,10,-1,0,15,ch230data};
-
-/* char: 0xe5 */
-
-static const GLubyte ch229data[] = {
-0x76,0xee,0xc6,0xc6,0xe6,0x7e,0xe,0xc6,0xee,0x7c,0x38,0x6c,0x6c,0x38,
-};
-
-static const BitmapCharRec ch229 = {7,14,-1,0,9,ch229data};
-
-/* char: 0xe4 */
-
-static const GLubyte ch228data[] = {
-0x76,0xee,0xc6,0xc6,0xe6,0x7e,0xe,0xc6,0xee,0x7c,0x0,0x6c,0x6c,
-};
-
-static const BitmapCharRec ch228 = {7,13,-1,0,9,ch228data};
-
-/* char: 0xe3 */
-
-static const GLubyte ch227data[] = {
-0x76,0xee,0xc6,0xc6,0xe6,0x7e,0xe,0xc6,0xee,0x7c,0x0,0x4c,0x5a,0x32,
-};
-
-static const BitmapCharRec ch227 = {7,14,-1,0,9,ch227data};
-
-/* char: 0xe2 */
-
-static const GLubyte ch226data[] = {
-0x76,0xee,0xc6,0xc6,0xe6,0x7e,0xe,0xc6,0xee,0x7c,0x0,0x66,0x3c,0x18,
-};
-
-static const BitmapCharRec ch226 = {7,14,-1,0,9,ch226data};
-
-/* char: 0xe1 */
-
-static const GLubyte ch225data[] = {
-0x76,0xee,0xc6,0xc6,0xe6,0x7e,0xe,0xc6,0xee,0x7c,0x0,0x30,0x18,0xc,
-};
-
-static const BitmapCharRec ch225 = {7,14,-1,0,9,ch225data};
-
-/* char: 0xe0 */
-
-static const GLubyte ch224data[] = {
-0x76,0xee,0xc6,0xc6,0xe6,0x7e,0xe,0xc6,0xee,0x7c,0x0,0x18,0x30,0x60,
-};
-
-static const BitmapCharRec ch224 = {7,14,-1,0,9,ch224data};
-
-/* char: 0xdf */
-
-static const GLubyte ch223data[] = {
-0xdc,0xde,0xc6,0xc6,0xc6,0xc6,0xdc,0xdc,0xc6,0xc6,0xc6,0xc6,0x7c,0x38,
-};
-
-static const BitmapCharRec ch223 = {7,14,-1,0,9,ch223data};
-
-/* char: 0xde */
-
-static const GLubyte ch222data[] = {
-0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x0,0xff,0x80,0xc1,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc1,0xc0,0xff,0x80,0xff,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,
-};
-
-static const BitmapCharRec ch222 = {10,14,-1,0,12,ch222data};
-
-/* char: 0xdd */
-
-static const GLubyte ch221data[] = {
-0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0xf,0x0,0x19,0x80,
-0x30,0xc0,0x30,0xc0,0x60,0x60,0x60,0x60,0xc0,0x30,0xc0,0x30,0x0,0x0,0x6,0x0,
-0x3,0x0,0x1,0x80,
-};
-
-static const BitmapCharRec ch221 = {12,18,-1,0,14,ch221data};
-
-/* char: 0xdc */
-
-static const GLubyte ch220data[] = {
-0x1f,0x0,0x7f,0xc0,0x60,0xc0,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,
-0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0x0,0x0,0x19,0x80,
-0x19,0x80,
-};
-
-static const BitmapCharRec ch220 = {11,17,-1,0,13,ch220data};
-
-/* char: 0xdb */
-
-static const GLubyte ch219data[] = {
-0x1f,0x0,0x7f,0xc0,0x60,0xc0,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,
-0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0x0,0x0,0x19,0x80,
-0xf,0x0,0x6,0x0,
-};
-
-static const BitmapCharRec ch219 = {11,18,-1,0,13,ch219data};
-
-/* char: 0xda */
-
-static const GLubyte ch218data[] = {
-0x1f,0x0,0x7f,0xc0,0x60,0xc0,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,
-0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0x0,0x0,0xc,0x0,
-0x6,0x0,0x3,0x0,
-};
-
-static const BitmapCharRec ch218 = {11,18,-1,0,13,ch218data};
-
-/* char: 0xd9 */
-
-static const GLubyte ch217data[] = {
-0x1f,0x0,0x7f,0xc0,0x60,0xc0,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,
-0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0x0,0x0,0x6,0x0,
-0xc,0x0,0x18,0x0,
-};
-
-static const BitmapCharRec ch217 = {11,18,-1,0,13,ch217data};
-
-/* char: 0xd8 */
-
-static const GLubyte ch216data[] = {
-0xc7,0xc0,0xff,0xf0,0x78,0x38,0x38,0x18,0x6c,0x1c,0x6e,0xc,0x67,0xc,0x63,0x8c,
-0x61,0xcc,0x70,0xdc,0x30,0x78,0x38,0x38,0x1f,0xfc,0x7,0xcc,
-};
-
-static const BitmapCharRec ch216 = {14,14,0,0,15,ch216data};
-
-/* char: 0xd7 */
-
-static const GLubyte ch215data[] = {
-0xc0,0xc0,0x61,0x80,0x33,0x0,0x1e,0x0,0xc,0x0,0x1e,0x0,0x33,0x0,0x61,0x80,
-0xc0,0xc0,
-};
-
-static const BitmapCharRec ch215 = {10,9,0,0,10,ch215data};
-
-/* char: 0xd6 */
-
-static const GLubyte ch214data[] = {
-0xf,0x80,0x3f,0xe0,0x70,0x70,0x60,0x30,0xe0,0x38,0xc0,0x18,0xc0,0x18,0xc0,0x18,
-0xc0,0x18,0xe0,0x38,0x60,0x30,0x70,0x70,0x3f,0xe0,0xf,0x80,0x0,0x0,0xd,0x80,
-0xd,0x80,
-};
-
-static const BitmapCharRec ch214 = {13,17,-1,0,15,ch214data};
-
-/* char: 0xd5 */
-
-static const GLubyte ch213data[] = {
-0xf,0x80,0x3f,0xe0,0x70,0x70,0x60,0x30,0xe0,0x38,0xc0,0x18,0xc0,0x18,0xc0,0x18,
-0xc0,0x18,0xe0,0x38,0x60,0x30,0x70,0x70,0x3f,0xe0,0xf,0x80,0x0,0x0,0x9,0x80,
-0xb,0x40,0x6,0x40,
-};
-
-static const BitmapCharRec ch213 = {13,18,-1,0,15,ch213data};
-
-/* char: 0xd4 */
-
-static const GLubyte ch212data[] = {
-0xf,0x80,0x3f,0xe0,0x70,0x70,0x60,0x30,0xe0,0x38,0xc0,0x18,0xc0,0x18,0xc0,0x18,
-0xc0,0x18,0xe0,0x38,0x60,0x30,0x70,0x70,0x3f,0xe0,0xf,0x80,0x0,0x0,0xc,0xc0,
-0x7,0x80,0x3,0x0,
-};
-
-static const BitmapCharRec ch212 = {13,18,-1,0,15,ch212data};
-
-/* char: 0xd3 */
-
-static const GLubyte ch211data[] = {
-0xf,0x80,0x3f,0xe0,0x70,0x70,0x60,0x30,0xe0,0x38,0xc0,0x18,0xc0,0x18,0xc0,0x18,
-0xc0,0x18,0xe0,0x38,0x60,0x30,0x70,0x70,0x3f,0xe0,0xf,0x80,0x0,0x0,0x3,0x0,
-0x1,0x80,0x0,0xc0,
-};
-
-static const BitmapCharRec ch211 = {13,18,-1,0,15,ch211data};
-
-/* char: 0xd2 */
-
-static const GLubyte ch210data[] = {
-0xf,0x80,0x3f,0xe0,0x70,0x70,0x60,0x30,0xe0,0x38,0xc0,0x18,0xc0,0x18,0xc0,0x18,
-0xc0,0x18,0xe0,0x38,0x60,0x30,0x70,0x70,0x3f,0xe0,0xf,0x80,0x0,0x0,0x3,0x0,
-0x6,0x0,0xc,0x0,
-};
-
-static const BitmapCharRec ch210 = {13,18,-1,0,15,ch210data};
-
-/* char: 0xd1 */
-
-static const GLubyte ch209data[] = {
-0xc0,0x60,0xc0,0xe0,0xc1,0xe0,0xc1,0xe0,0xc3,0x60,0xc6,0x60,0xc6,0x60,0xcc,0x60,
-0xcc,0x60,0xd8,0x60,0xd8,0x60,0xf0,0x60,0xe0,0x60,0xe0,0x60,0x0,0x0,0x13,0x0,
-0x16,0x80,0xc,0x80,
-};
-
-static const BitmapCharRec ch209 = {11,18,-1,0,13,ch209data};
-
-/* char: 0xd0 */
-
-static const GLubyte ch208data[] = {
-0x7f,0x80,0x7f,0xc0,0x60,0xe0,0x60,0x60,0x60,0x30,0x60,0x30,0xfc,0x30,0xfc,0x30,
-0x60,0x30,0x60,0x30,0x60,0x60,0x60,0xe0,0x7f,0xc0,0x7f,0x80,
-};
-
-static const BitmapCharRec ch208 = {12,14,0,0,13,ch208data};
-
-/* char: 0xcf */
-
-static const GLubyte ch207data[] = {
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x0,0xcc,
-0xcc,
-};
-
-static const BitmapCharRec ch207 = {6,17,0,0,6,ch207data};
-
-/* char: 0xce */
-
-static const GLubyte ch206data[] = {
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x0,0xcc,
-0x78,0x30,
-};
-
-static const BitmapCharRec ch206 = {6,18,0,0,6,ch206data};
-
-/* char: 0xcd */
-
-static const GLubyte ch205data[] = {
-0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x0,0xc0,
-0x60,0x30,
-};
-
-static const BitmapCharRec ch205 = {4,18,-2,0,6,ch205data};
-
-/* char: 0xcc */
-
-static const GLubyte ch204data[] = {
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x0,0x30,
-0x60,0xc0,
-};
-
-static const BitmapCharRec ch204 = {4,18,0,0,6,ch204data};
-
-/* char: 0xcb */
-
-static const GLubyte ch203data[] = {
-0xff,0x80,0xff,0x80,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x0,0xff,0x0,
-0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,0xff,0x80,0x0,0x0,0x33,0x0,
-0x33,0x0,
-};
-
-static const BitmapCharRec ch203 = {9,17,-1,0,11,ch203data};
-
-/* char: 0xca */
-
-static const GLubyte ch202data[] = {
-0xff,0x80,0xff,0x80,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x0,0xff,0x0,
-0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,0xff,0x80,0x0,0x0,0x33,0x0,
-0x1e,0x0,0xc,0x0,
-};
-
-static const BitmapCharRec ch202 = {9,18,-1,0,11,ch202data};
-
-/* char: 0xc9 */
-
-static const GLubyte ch201data[] = {
-0xff,0x80,0xff,0x80,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x0,0xff,0x0,
-0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,0xff,0x80,0x0,0x0,0xc,0x0,
-0x6,0x0,0x3,0x0,
-};
-
-static const BitmapCharRec ch201 = {9,18,-1,0,11,ch201data};
-
-/* char: 0xc8 */
-
-static const GLubyte ch200data[] = {
-0xff,0x80,0xff,0x80,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x0,0xff,0x0,
-0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,0xff,0x80,0x0,0x0,0xc,0x0,
-0x18,0x0,0x30,0x0,
-};
-
-static const BitmapCharRec ch200 = {9,18,-1,0,11,ch200data};
-
-/* char: 0xc7 */
-
-static const GLubyte ch199data[] = {
-0x1e,0x0,0x1b,0x0,0x3,0x0,0xe,0x0,0xf,0x80,0x3f,0xe0,0x70,0x70,0x60,0x30,
-0xe0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xe0,0x0,0x60,0x30,0x70,0x70,
-0x3f,0xe0,0xf,0x80,
-};
-
-static const BitmapCharRec ch199 = {12,18,-1,4,14,ch199data};
-
-/* char: 0xc6 */
-
-static const GLubyte ch198data[] = {
-0xc1,0xff,0xc1,0xff,0x61,0x80,0x61,0x80,0x7f,0x80,0x3f,0x80,0x31,0xfe,0x31,0xfe,
-0x19,0x80,0x19,0x80,0xd,0x80,0xd,0x80,0x7,0xff,0x7,0xff,
-};
-
-static const BitmapCharRec ch198 = {16,14,-1,0,18,ch198data};
-
-/* char: 0xc5 */
-
-static const GLubyte ch197data[] = {
-0xc0,0x30,0xc0,0x30,0x60,0x60,0x60,0x60,0x7f,0xe0,0x3f,0xc0,0x30,0xc0,0x30,0xc0,
-0x19,0x80,0x19,0x80,0xf,0x0,0xf,0x0,0x6,0x0,0x6,0x0,0xf,0x0,0x19,0x80,
-0x19,0x80,0xf,0x0,
-};
-
-static const BitmapCharRec ch197 = {12,18,0,0,12,ch197data};
-
-/* char: 0xc4 */
-
-static const GLubyte ch196data[] = {
-0xc0,0x30,0xc0,0x30,0x60,0x60,0x60,0x60,0x7f,0xe0,0x3f,0xc0,0x30,0xc0,0x30,0xc0,
-0x19,0x80,0x19,0x80,0xf,0x0,0xf,0x0,0x6,0x0,0x6,0x0,0x0,0x0,0x19,0x80,
-0x19,0x80,
-};
-
-static const BitmapCharRec ch196 = {12,17,0,0,12,ch196data};
-
-/* char: 0xc3 */
-
-static const GLubyte ch195data[] = {
-0xc0,0x30,0xc0,0x30,0x60,0x60,0x60,0x60,0x7f,0xe0,0x3f,0xc0,0x30,0xc0,0x30,0xc0,
-0x19,0x80,0x19,0x80,0xf,0x0,0xf,0x0,0x6,0x0,0x6,0x0,0x0,0x0,0x13,0x0,
-0x16,0x80,0xc,0x80,
-};
-
-static const BitmapCharRec ch195 = {12,18,0,0,12,ch195data};
-
-/* char: 0xc2 */
-
-static const GLubyte ch194data[] = {
-0xc0,0x30,0xc0,0x30,0x60,0x60,0x60,0x60,0x7f,0xe0,0x3f,0xc0,0x30,0xc0,0x30,0xc0,
-0x19,0x80,0x19,0x80,0xf,0x0,0xf,0x0,0x6,0x0,0x6,0x0,0x0,0x0,0x19,0x80,
-0xf,0x0,0x6,0x0,
-};
-
-static const BitmapCharRec ch194 = {12,18,0,0,12,ch194data};
-
-/* char: 0xc1 */
-
-static const GLubyte ch193data[] = {
-0xc0,0x30,0xc0,0x30,0x60,0x60,0x60,0x60,0x7f,0xe0,0x3f,0xc0,0x30,0xc0,0x30,0xc0,
-0x19,0x80,0x19,0x80,0xf,0x0,0xf,0x0,0x6,0x0,0x6,0x0,0x0,0x0,0x6,0x0,
-0x3,0x0,0x1,0x80,
-};
-
-static const BitmapCharRec ch193 = {12,18,0,0,12,ch193data};
-
-/* char: 0xc0 */
-
-static const GLubyte ch192data[] = {
-0xc0,0x30,0xc0,0x30,0x60,0x60,0x60,0x60,0x7f,0xe0,0x3f,0xc0,0x30,0xc0,0x30,0xc0,
-0x19,0x80,0x19,0x80,0xf,0x0,0xf,0x0,0x6,0x0,0x6,0x0,0x0,0x0,0x6,0x0,
-0xc,0x0,0x18,0x0,
-};
-
-static const BitmapCharRec ch192 = {12,18,0,0,12,ch192data};
-
-/* char: 0xbf */
-
-static const GLubyte ch191data[] = {
-0x7c,0xfe,0xc6,0xc6,0xe0,0x70,0x38,0x18,0x18,0x18,0x0,0x0,0x18,0x18,
-};
-
-static const BitmapCharRec ch191 = {7,14,-1,4,10,ch191data};
-
-/* char: 0xbe */
-
-static const GLubyte ch190data[] = {
-0x18,0x18,0x18,0x18,0xc,0xfc,0x6,0xd8,0x6,0x78,0x73,0x38,0xf9,0x18,0x99,0x88,
-0x30,0xc0,0x30,0xc0,0x98,0x60,0xf8,0x30,0x70,0x30,
-};
-
-static const BitmapCharRec ch190 = {14,13,0,0,15,ch190data};
-
-/* char: 0xbd */
-
-static const GLubyte ch189data[] = {
-0x30,0xf8,0x30,0xf8,0x18,0x60,0xc,0x30,0xc,0x18,0x66,0x98,0x62,0xf8,0x63,0x70,
-0x61,0x80,0x61,0x80,0xe0,0xc0,0xe0,0x60,0x60,0x60,
-};
-
-static const BitmapCharRec ch189 = {13,13,-1,0,15,ch189data};
-
-/* char: 0xbc */
-
-static const GLubyte ch188data[] = {
-0x30,0x30,0x30,0x30,0x19,0xf8,0xd,0xb0,0xc,0xf0,0x66,0x70,0x62,0x30,0x63,0x10,
-0x61,0x80,0x61,0x80,0xe0,0xc0,0xe0,0x60,0x60,0x60,
-};
-
-static const BitmapCharRec ch188 = {13,13,-1,0,15,ch188data};
-
-/* char: 0xbb */
-
-static const GLubyte ch187data[] = {
-0x90,0xd8,0x6c,0x36,0x36,0x6c,0xd8,0x90,
-};
-
-static const BitmapCharRec ch187 = {7,8,-1,-1,9,ch187data};
-
-/* char: 0xba */
-
-static const GLubyte ch186data[] = {
-0xf8,0x0,0x70,0xd8,0x88,0x88,0xd8,0x70,
-};
-
-static const BitmapCharRec ch186 = {5,8,-1,-6,7,ch186data};
-
-/* char: 0xb9 */
-
-static const GLubyte ch185data[] = {
-0x60,0x60,0x60,0x60,0x60,0xe0,0xe0,0x60,
-};
-
-static const BitmapCharRec ch185 = {3,8,-1,-5,6,ch185data};
-
-/* char: 0xb8 */
-
-static const GLubyte ch184data[] = {
-0xf0,0xd8,0x18,0x70,0x60,
-};
-
-static const BitmapCharRec ch184 = {5,5,0,4,5,ch184data};
-
-/* char: 0xb7 */
-
-static const GLubyte ch183data[] = {
-0xc0,0xc0,
-};
-
-static const BitmapCharRec ch183 = {2,2,-1,-4,4,ch183data};
-
-/* char: 0xb6 */
-
-static const GLubyte ch182data[] = {
-0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x32,0x72,0xf2,0xf2,0xf2,0xf2,
-0x72,0x3f,
-};
-
-static const BitmapCharRec ch182 = {8,18,-1,4,10,ch182data};
-
-/* char: 0xb5 */
-
-static const GLubyte ch181data[] = {
-0xc0,0xc0,0xc0,0xc0,0xdb,0xff,0xe7,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,
-};
-
-static const BitmapCharRec ch181 = {8,14,-1,4,10,ch181data};
-
-/* char: 0xb4 */
-
-static const GLubyte ch180data[] = {
-0xc0,0x60,0x30,
-};
-
-static const BitmapCharRec ch180 = {4,3,0,-11,4,ch180data};
-
-/* char: 0xb3 */
-
-static const GLubyte ch179data[] = {
-0x70,0xf8,0x98,0x30,0x30,0x98,0xf8,0x70,
-};
-
-static const BitmapCharRec ch179 = {5,8,0,-5,6,ch179data};
-
-/* char: 0xb2 */
-
-static const GLubyte ch178data[] = {
-0xf8,0xf8,0x60,0x30,0x18,0x98,0xf8,0x70,
-};
-
-static const BitmapCharRec ch178 = {5,8,0,-5,6,ch178data};
-
-/* char: 0xb1 */
-
-static const GLubyte ch177data[] = {
-0xff,0xff,0x0,0x18,0x18,0x18,0xff,0xff,0x18,0x18,0x18,
-};
-
-static const BitmapCharRec ch177 = {8,11,-1,0,10,ch177data};
-
-/* char: 0xb0 */
-
-static const GLubyte ch176data[] = {
-0x70,0xd8,0x88,0xd8,0x70,
-};
-
-static const BitmapCharRec ch176 = {5,5,-1,-8,7,ch176data};
-
-/* char: 0xaf */
-
-static const GLubyte ch175data[] = {
-0xf8,
-};
-
-static const BitmapCharRec ch175 = {5,1,0,-12,5,ch175data};
-
-/* char: 0xae */
-
-static const GLubyte ch174data[] = {
-0xf,0x80,0x30,0x60,0x40,0x10,0x48,0x50,0x88,0x88,0x89,0x8,0x8f,0x88,0x88,0x48,
-0x88,0x48,0x4f,0x90,0x40,0x10,0x30,0x60,0xf,0x80,
-};
-
-static const BitmapCharRec ch174 = {13,13,-1,0,14,ch174data};
-
-/* char: 0xad */
-
-static const GLubyte ch173data[] = {
-0xf8,0xf8,
-};
-
-static const BitmapCharRec ch173 = {5,2,-1,-4,7,ch173data};
-
-/* char: 0xac */
-
-static const GLubyte ch172data[] = {
-0x1,0x80,0x1,0x80,0x1,0x80,0xff,0x80,0xff,0x80,
-};
-
-static const BitmapCharRec ch172 = {9,5,-1,-3,11,ch172data};
-
-/* char: 0xab */
-
-static const GLubyte ch171data[] = {
-0x12,0x36,0x6c,0xd8,0xd8,0x6c,0x36,0x12,
-};
-
-static const BitmapCharRec ch171 = {7,8,-1,-1,9,ch171data};
-
-/* char: 0xaa */
-
-static const GLubyte ch170data[] = {
-0xf8,0x0,0x68,0xd8,0x48,0x38,0xc8,0x70,
-};
-
-static const BitmapCharRec ch170 = {5,8,-1,-6,7,ch170data};
-
-/* char: 0xa9 */
-
-static const GLubyte ch169data[] = {
-0xf,0x80,0x30,0x60,0x40,0x10,0x47,0x10,0x88,0x88,0x90,0x8,0x90,0x8,0x90,0x8,
-0x88,0x88,0x47,0x10,0x40,0x10,0x30,0x60,0xf,0x80,
-};
-
-static const BitmapCharRec ch169 = {13,13,-1,0,15,ch169data};
-
-/* char: 0xa8 */
-
-static const GLubyte ch168data[] = {
-0xd8,0xd8,
-};
-
-static const BitmapCharRec ch168 = {5,2,0,-11,6,ch168data};
-
-/* char: 0xa7 */
-
-static const GLubyte ch167data[] = {
-0x3c,0x7e,0xc3,0xc3,0x7,0xe,0x3e,0x73,0xe3,0xc3,0xc7,0x6e,0x7c,0xf0,0xc3,0xc3,
-0x7e,0x3c,
-};
-
-static const BitmapCharRec ch167 = {8,18,-1,4,10,ch167data};
-
-/* char: 0xa6 */
-
-static const GLubyte ch166data[] = {
-0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x0,0x0,0x0,0x0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc0,
-};
-
-static const BitmapCharRec ch166 = {2,17,-1,3,4,ch166data};
-
-/* char: 0xa5 */
-
-static const GLubyte ch165data[] = {
-0x18,0x18,0x18,0x18,0xff,0x18,0xff,0x3c,0x66,0x66,0x66,0xc3,0xc3,
-};
-
-static const BitmapCharRec ch165 = {8,13,-1,0,10,ch165data};
-
-/* char: 0xa4 */
-
-static const GLubyte ch164data[] = {
-0xc3,0xff,0x66,0x66,0x66,0xff,0xc3,
-};
-
-static const BitmapCharRec ch164 = {8,7,-1,-3,10,ch164data};
-
-/* char: 0xa3 */
-
-static const GLubyte ch163data[] = {
-0xdf,0x0,0xff,0x80,0x60,0x80,0x30,0x0,0x18,0x0,0x18,0x0,0x7e,0x0,0x30,0x0,
-0x60,0x0,0x61,0x80,0x61,0x80,0x3f,0x0,0x1e,0x0,
-};
-
-static const BitmapCharRec ch163 = {9,13,0,0,10,ch163data};
-
-/* char: 0xa2 */
-
-static const GLubyte ch162data[] = {
-0x10,0x10,0x3e,0x7f,0x6b,0xc8,0xc8,0xc8,0xc8,0x6b,0x7f,0x3e,0x4,0x4,
-};
-
-static const BitmapCharRec ch162 = {8,14,-1,2,10,ch162data};
-
-/* char: 0xa1 */
-
-static const GLubyte ch161data[] = {
-0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x40,0x40,0x0,0x0,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch161 = {2,14,-2,4,6,ch161data};
-
-/* char: 0xa0 */
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch160data[] = { 0x0 };
-static const BitmapCharRec ch160 = {1,1,0,0,5,ch160data};
-#else
-static const BitmapCharRec ch160 = {0,0,0,0,5,0};
-#endif
-
-/* char: 0x7e '~' */
-
-static const GLubyte ch126data[] = {
-0xcc,0x7e,0x33,
-};
-
-static const BitmapCharRec ch126 = {8,3,-1,-4,10,ch126data};
-
-/* char: 0x7d '}' */
-
-static const GLubyte ch125data[] = {
-0xc0,0x60,0x30,0x30,0x30,0x30,0x30,0x30,0x18,0xc,0x18,0x30,0x30,0x30,0x30,0x30,
-0x60,0xc0,
-};
-
-static const BitmapCharRec ch125 = {6,18,0,4,6,ch125data};
-
-/* char: 0x7c '|' */
-
-static const GLubyte ch124data[] = {
-0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc0,0xc0,
-};
-
-static const BitmapCharRec ch124 = {2,18,-1,4,4,ch124data};
-
-/* char: 0x7b '{' */
-
-static const GLubyte ch123data[] = {
-0xc,0x18,0x30,0x30,0x30,0x30,0x30,0x30,0x60,0xc0,0x60,0x30,0x30,0x30,0x30,0x30,
-0x18,0xc,
-};
-
-static const BitmapCharRec ch123 = {6,18,0,4,6,ch123data};
-
-/* char: 0x7a 'z' */
-
-static const GLubyte ch122data[] = {
-0xfe,0xfe,0xc0,0x60,0x30,0x18,0xc,0x6,0xfe,0xfe,
-};
-
-static const BitmapCharRec ch122 = {7,10,-1,0,9,ch122data};
-
-/* char: 0x79 'y' */
-
-static const GLubyte ch121data[] = {
-0x70,0x70,0x18,0x18,0x18,0x18,0x3c,0x24,0x66,0x66,0x66,0xc3,0xc3,0xc3,
-};
-
-static const BitmapCharRec ch121 = {8,14,-1,4,10,ch121data};
-
-/* char: 0x78 'x' */
-
-static const GLubyte ch120data[] = {
-0xc3,0xe7,0x66,0x3c,0x18,0x18,0x3c,0x66,0xe7,0xc3,
-};
-
-static const BitmapCharRec ch120 = {8,10,-1,0,10,ch120data};
-
-/* char: 0x77 'w' */
-
-static const GLubyte ch119data[] = {
-0x19,0x80,0x19,0x80,0x39,0xc0,0x29,0x40,0x69,0x60,0x66,0x60,0x66,0x60,0xc6,0x30,
-0xc6,0x30,0xc6,0x30,
-};
-
-static const BitmapCharRec ch119 = {12,10,-1,0,14,ch119data};
-
-/* char: 0x76 'v' */
-
-static const GLubyte ch118data[] = {
-0x18,0x18,0x3c,0x24,0x66,0x66,0x66,0xc3,0xc3,0xc3,
-};
-
-static const BitmapCharRec ch118 = {8,10,-1,0,10,ch118data};
-
-/* char: 0x75 'u' */
-
-static const GLubyte ch117data[] = {
-0x73,0xfb,0xc7,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,
-};
-
-static const BitmapCharRec ch117 = {8,10,-1,0,10,ch117data};
-
-/* char: 0x74 't' */
-
-static const GLubyte ch116data[] = {
-0x18,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0xfc,0xfc,0x30,0x30,0x30,
-};
-
-static const BitmapCharRec ch116 = {6,13,0,0,6,ch116data};
-
-/* char: 0x73 's' */
-
-static const GLubyte ch115data[] = {
-0x78,0xfc,0xc6,0x6,0x3e,0xfc,0xc0,0xc6,0x7e,0x3c,
-};
-
-static const BitmapCharRec ch115 = {7,10,-1,0,9,ch115data};
-
-/* char: 0x72 'r' */
-
-static const GLubyte ch114data[] = {
-0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xe0,0xd8,0xd8,
-};
-
-static const BitmapCharRec ch114 = {5,10,-1,0,6,ch114data};
-
-/* char: 0x71 'q' */
-
-static const GLubyte ch113data[] = {
-0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x3d,0x80,0x7f,0x80,0x63,0x80,0xc1,0x80,
-0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x80,0x7f,0x80,0x3d,0x80,
-};
-
-static const BitmapCharRec ch113 = {9,14,-1,4,11,ch113data};
-
-/* char: 0x70 'p' */
-
-static const GLubyte ch112data[] = {
-0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xde,0x0,0xff,0x0,0xe3,0x0,0xc1,0x80,
-0xc1,0x80,0xc1,0x80,0xc1,0x80,0xe3,0x0,0xff,0x0,0xde,0x0,
-};
-
-static const BitmapCharRec ch112 = {9,14,-1,4,11,ch112data};
-
-/* char: 0x6f 'o' */
-
-static const GLubyte ch111data[] = {
-0x3e,0x0,0x7f,0x0,0x63,0x0,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x0,
-0x7f,0x0,0x3e,0x0,
-};
-
-static const BitmapCharRec ch111 = {9,10,-1,0,11,ch111data};
-
-/* char: 0x6e 'n' */
-
-static const GLubyte ch110data[] = {
-0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xe3,0xdf,0xce,
-};
-
-static const BitmapCharRec ch110 = {8,10,-1,0,10,ch110data};
-
-/* char: 0x6d 'm' */
-
-static const GLubyte ch109data[] = {
-0xc6,0x30,0xc6,0x30,0xc6,0x30,0xc6,0x30,0xc6,0x30,0xc6,0x30,0xc6,0x30,0xe7,0x30,
-0xde,0xf0,0xcc,0x60,
-};
-
-static const BitmapCharRec ch109 = {12,10,-1,0,14,ch109data};
-
-/* char: 0x6c 'l' */
-
-static const GLubyte ch108data[] = {
-0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch108 = {2,14,-1,0,4,ch108data};
-
-/* char: 0x6b 'k' */
-
-static const GLubyte ch107data[] = {
-0xc7,0xc6,0xce,0xcc,0xd8,0xf8,0xf0,0xd8,0xcc,0xc6,0xc0,0xc0,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch107 = {8,14,-1,0,9,ch107data};
-
-/* char: 0x6a 'j' */
-
-static const GLubyte ch106data[] = {
-0xe0,0xf0,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x0,0x0,
-0x30,0x30,
-};
-
-static const BitmapCharRec ch106 = {4,18,1,4,4,ch106data};
-
-/* char: 0x69 'i' */
-
-static const GLubyte ch105data[] = {
-0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x0,0x0,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch105 = {2,14,-1,0,4,ch105data};
-
-/* char: 0x68 'h' */
-
-static const GLubyte ch104data[] = {
-0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xe3,0xdf,0xce,0xc0,0xc0,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch104 = {8,14,-1,0,10,ch104data};
-
-/* char: 0x67 'g' */
-
-static const GLubyte ch103data[] = {
-0x1c,0x0,0x7f,0x0,0x63,0x0,0x1,0x80,0x3d,0x80,0x7f,0x80,0x63,0x80,0xc1,0x80,
-0xc1,0x80,0xc1,0x80,0xc1,0x80,0x61,0x80,0x7f,0x80,0x3d,0x80,
-};
-
-static const BitmapCharRec ch103 = {9,14,-1,4,11,ch103data};
-
-/* char: 0x66 'f' */
-
-static const GLubyte ch102data[] = {
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0xfc,0xfc,0x30,0x30,0x3c,0x1c,
-};
-
-static const BitmapCharRec ch102 = {6,14,0,0,6,ch102data};
-
-/* char: 0x65 'e' */
-
-static const GLubyte ch101data[] = {
-0x3c,0x7f,0xe3,0xc0,0xc0,0xff,0xc3,0xc3,0x7e,0x3c,
-};
-
-static const BitmapCharRec ch101 = {8,10,-1,0,10,ch101data};
-
-/* char: 0x64 'd' */
-
-static const GLubyte ch100data[] = {
-0x3d,0x80,0x7f,0x80,0x63,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x80,
-0x7f,0x80,0x3d,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,
-};
-
-static const BitmapCharRec ch100 = {9,14,-1,0,11,ch100data};
-
-/* char: 0x63 'c' */
-
-static const GLubyte ch99data[] = {
-0x3e,0x7f,0x63,0xc0,0xc0,0xc0,0xc0,0x63,0x7f,0x3e,
-};
-
-static const BitmapCharRec ch99 = {8,10,-1,0,10,ch99data};
-
-/* char: 0x62 'b' */
-
-static const GLubyte ch98data[] = {
-0xde,0x0,0xff,0x0,0xe3,0x0,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xe3,0x0,
-0xff,0x0,0xde,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,
-};
-
-static const BitmapCharRec ch98 = {9,14,-1,0,11,ch98data};
-
-/* char: 0x61 'a' */
-
-static const GLubyte ch97data[] = {
-0x76,0xee,0xc6,0xc6,0xe6,0x7e,0xe,0xc6,0xee,0x7c,
-};
-
-static const BitmapCharRec ch97 = {7,10,-1,0,9,ch97data};
-
-/* char: 0x60 '`' */
-
-static const GLubyte ch96data[] = {
-0xc0,0xc0,0x80,0x80,0x40,
-};
-
-static const BitmapCharRec ch96 = {2,5,-1,-9,4,ch96data};
-
-/* char: 0x5f '_' */
-
-static const GLubyte ch95data[] = {
-0xff,0xc0,0xff,0xc0,
-};
-
-static const BitmapCharRec ch95 = {10,2,0,4,10,ch95data};
-
-/* char: 0x5e '^' */
-
-static const GLubyte ch94data[] = {
-0x82,0xc6,0x6c,0x38,0x10,
-};
-
-static const BitmapCharRec ch94 = {7,5,-1,-8,9,ch94data};
-
-/* char: 0x5d ']' */
-
-static const GLubyte ch93data[] = {
-0xf0,0xf0,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-0xf0,0xf0,
-};
-
-static const BitmapCharRec ch93 = {4,18,0,4,5,ch93data};
-
-/* char: 0x5c '\' */
-
-static const GLubyte ch92data[] = {
-0x18,0x18,0x10,0x10,0x30,0x30,0x20,0x20,0x60,0x60,0x40,0x40,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch92 = {5,14,0,0,5,ch92data};
-
-/* char: 0x5b '[' */
-
-static const GLubyte ch91data[] = {
-0xf0,0xf0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xf0,0xf0,
-};
-
-static const BitmapCharRec ch91 = {4,18,-1,4,5,ch91data};
-
-/* char: 0x5a 'Z' */
-
-static const GLubyte ch90data[] = {
-0xff,0xc0,0xff,0xc0,0xc0,0x0,0x60,0x0,0x30,0x0,0x18,0x0,0x1c,0x0,0xc,0x0,
-0x6,0x0,0x3,0x0,0x1,0x80,0x0,0xc0,0xff,0xc0,0xff,0xc0,
-};
-
-static const BitmapCharRec ch90 = {10,14,-1,0,12,ch90data};
-
-/* char: 0x59 'Y' */
-
-static const GLubyte ch89data[] = {
-0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0xf,0x0,0x19,0x80,
-0x30,0xc0,0x30,0xc0,0x60,0x60,0x60,0x60,0xc0,0x30,0xc0,0x30,
-};
-
-static const BitmapCharRec ch89 = {12,14,-1,0,14,ch89data};
-
-/* char: 0x58 'X' */
-
-static const GLubyte ch88data[] = {
-0xc0,0x60,0xe0,0xe0,0x60,0xc0,0x71,0xc0,0x31,0x80,0x1b,0x0,0xe,0x0,0xe,0x0,
-0x1b,0x0,0x31,0x80,0x71,0xc0,0x60,0xc0,0xe0,0xe0,0xc0,0x60,
-};
-
-static const BitmapCharRec ch88 = {11,14,-1,0,13,ch88data};
-
-/* char: 0x57 'W' */
-
-static const GLubyte ch87data[] = {
-0x18,0x18,0x18,0x18,0x1c,0x38,0x34,0x2c,0x36,0x6c,0x36,0x6c,0x66,0x66,0x66,0x66,
-0x62,0x46,0x63,0xc6,0xc3,0xc3,0xc1,0x83,0xc1,0x83,0xc1,0x83,
-};
-
-static const BitmapCharRec ch87 = {16,14,-1,0,18,ch87data};
-
-/* char: 0x56 'V' */
-
-static const GLubyte ch86data[] = {
-0x6,0x0,0xf,0x0,0xf,0x0,0x19,0x80,0x19,0x80,0x19,0x80,0x30,0xc0,0x30,0xc0,
-0x30,0xc0,0x60,0x60,0x60,0x60,0x60,0x60,0xc0,0x30,0xc0,0x30,
-};
-
-static const BitmapCharRec ch86 = {12,14,-1,0,14,ch86data};
-
-/* char: 0x55 'U' */
-
-static const GLubyte ch85data[] = {
-0x1f,0x0,0x7f,0xc0,0x60,0xc0,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,
-0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,
-};
-
-static const BitmapCharRec ch85 = {11,14,-1,0,13,ch85data};
-
-/* char: 0x54 'T' */
-
-static const GLubyte ch84data[] = {
-0xc,0x0,0xc,0x0,0xc,0x0,0xc,0x0,0xc,0x0,0xc,0x0,0xc,0x0,0xc,0x0,
-0xc,0x0,0xc,0x0,0xc,0x0,0xc,0x0,0xff,0xc0,0xff,0xc0,
-};
-
-static const BitmapCharRec ch84 = {10,14,-1,0,12,ch84data};
-
-/* char: 0x53 'S' */
-
-static const GLubyte ch83data[] = {
-0x3f,0x0,0x7f,0xc0,0xe0,0xe0,0xc0,0x60,0x0,0x60,0x0,0xe0,0x3,0xc0,0x1f,0x0,
-0x7c,0x0,0xe0,0x0,0xc0,0x60,0xe0,0xe0,0x7f,0xc0,0x1f,0x0,
-};
-
-static const BitmapCharRec ch83 = {11,14,-1,0,13,ch83data};
-
-/* char: 0x52 'R' */
-
-static const GLubyte ch82data[] = {
-0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc1,0x80,0xc1,0x80,0xff,0x0,0xff,0x80,
-0xc1,0xc0,0xc0,0xc0,0xc0,0xc0,0xc1,0xc0,0xff,0x80,0xff,0x0,
-};
-
-static const BitmapCharRec ch82 = {10,14,-1,0,12,ch82data};
-
-/* char: 0x51 'Q' */
-
-static const GLubyte ch81data[] = {
-0x0,0x30,0xf,0xb0,0x3f,0xe0,0x70,0xf0,0x61,0xb0,0xe1,0xb8,0xc0,0x18,0xc0,0x18,
-0xc0,0x18,0xc0,0x18,0xe0,0x38,0x60,0x30,0x70,0x70,0x3f,0xe0,0xf,0x80,
-};
-
-static const BitmapCharRec ch81 = {13,15,-1,1,15,ch81data};
-
-/* char: 0x50 'P' */
-
-static const GLubyte ch80data[] = {
-0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x0,0xff,0x80,
-0xc1,0xc0,0xc0,0xc0,0xc0,0xc0,0xc1,0xc0,0xff,0x80,0xff,0x0,
-};
-
-static const BitmapCharRec ch80 = {10,14,-1,0,12,ch80data};
-
-/* char: 0x4f 'O' */
-
-static const GLubyte ch79data[] = {
-0xf,0x80,0x3f,0xe0,0x70,0x70,0x60,0x30,0xe0,0x38,0xc0,0x18,0xc0,0x18,0xc0,0x18,
-0xc0,0x18,0xe0,0x38,0x60,0x30,0x70,0x70,0x3f,0xe0,0xf,0x80,
-};
-
-static const BitmapCharRec ch79 = {13,14,-1,0,15,ch79data};
-
-/* char: 0x4e 'N' */
-
-static const GLubyte ch78data[] = {
-0xc0,0x60,0xc0,0xe0,0xc1,0xe0,0xc1,0xe0,0xc3,0x60,0xc6,0x60,0xc6,0x60,0xcc,0x60,
-0xcc,0x60,0xd8,0x60,0xf0,0x60,0xf0,0x60,0xe0,0x60,0xc0,0x60,
-};
-
-static const BitmapCharRec ch78 = {11,14,-1,0,13,ch78data};
-
-/* char: 0x4d 'M' */
-
-static const GLubyte ch77data[] = {
-0xc3,0xc,0xc3,0xc,0xc7,0x8c,0xc4,0x8c,0xcc,0xcc,0xcc,0xcc,0xd8,0x6c,0xd8,0x6c,
-0xf0,0x3c,0xf0,0x3c,0xe0,0x1c,0xe0,0x1c,0xc0,0xc,0xc0,0xc,
-};
-
-static const BitmapCharRec ch77 = {14,14,-1,0,16,ch77data};
-
-/* char: 0x4c 'L' */
-
-static const GLubyte ch76data[] = {
-0xff,0xff,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch76 = {8,14,-1,0,10,ch76data};
-
-/* char: 0x4b 'K' */
-
-static const GLubyte ch75data[] = {
-0xc0,0x70,0xc0,0xe0,0xc1,0xc0,0xc3,0x80,0xc7,0x0,0xce,0x0,0xfc,0x0,0xf8,0x0,
-0xdc,0x0,0xce,0x0,0xc7,0x0,0xc3,0x80,0xc1,0xc0,0xc0,0xe0,
-};
-
-static const BitmapCharRec ch75 = {12,14,-1,0,13,ch75data};
-
-/* char: 0x4a 'J' */
-
-static const GLubyte ch74data[] = {
-0x3c,0x7e,0xe7,0xc3,0xc3,0x3,0x3,0x3,0x3,0x3,0x3,0x3,0x3,0x3,
-};
-
-static const BitmapCharRec ch74 = {8,14,-1,0,10,ch74data};
-
-/* char: 0x49 'I' */
-
-static const GLubyte ch73data[] = {
-0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch73 = {2,14,-2,0,6,ch73data};
-
-/* char: 0x48 'H' */
-
-static const GLubyte ch72data[] = {
-0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xff,0xe0,0xff,0xe0,
-0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,
-};
-
-static const BitmapCharRec ch72 = {11,14,-1,0,13,ch72data};
-
-/* char: 0x47 'G' */
-
-static const GLubyte ch71data[] = {
-0xf,0xb0,0x3f,0xf0,0x70,0x70,0x60,0x30,0xe0,0x30,0xc1,0xf0,0xc1,0xf0,0xc0,0x0,
-0xc0,0x0,0xe0,0x30,0x60,0x30,0x70,0x70,0x3f,0xe0,0xf,0x80,
-};
-
-static const BitmapCharRec ch71 = {12,14,-1,0,14,ch71data};
-
-/* char: 0x46 'F' */
-
-static const GLubyte ch70data[] = {
-0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x0,0xff,0x0,
-0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,0xff,0x80,
-};
-
-static const BitmapCharRec ch70 = {9,14,-1,0,11,ch70data};
-
-/* char: 0x45 'E' */
-
-static const GLubyte ch69data[] = {
-0xff,0x80,0xff,0x80,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x0,0xff,0x0,
-0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,0xff,0x80,
-};
-
-static const BitmapCharRec ch69 = {9,14,-1,0,11,ch69data};
-
-/* char: 0x44 'D' */
-
-static const GLubyte ch68data[] = {
-0xff,0x0,0xff,0x80,0xc1,0xc0,0xc0,0xc0,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,
-0xc0,0x60,0xc0,0x60,0xc0,0xc0,0xc1,0xc0,0xff,0x80,0xff,0x0,
-};
-
-static const BitmapCharRec ch68 = {11,14,-1,0,13,ch68data};
-
-/* char: 0x43 'C' */
-
-static const GLubyte ch67data[] = {
-0xf,0x80,0x3f,0xe0,0x70,0x70,0x60,0x30,0xe0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,
-0xc0,0x0,0xe0,0x0,0x60,0x30,0x70,0x70,0x3f,0xe0,0xf,0x80,
-};
-
-static const BitmapCharRec ch67 = {12,14,-1,0,14,ch67data};
-
-/* char: 0x42 'B' */
-
-static const GLubyte ch66data[] = {
-0xff,0x80,0xff,0xc0,0xc0,0xe0,0xc0,0x60,0xc0,0x60,0xc0,0xe0,0xff,0xc0,0xff,0x80,
-0xc1,0x80,0xc0,0xc0,0xc0,0xc0,0xc1,0xc0,0xff,0x80,0xff,0x0,
-};
-
-static const BitmapCharRec ch66 = {11,14,-1,0,13,ch66data};
-
-/* char: 0x41 'A' */
-
-static const GLubyte ch65data[] = {
-0xc0,0x30,0xc0,0x30,0x60,0x60,0x60,0x60,0x7f,0xe0,0x3f,0xc0,0x30,0xc0,0x30,0xc0,
-0x19,0x80,0x19,0x80,0xf,0x0,0xf,0x0,0x6,0x0,0x6,0x0,
-};
-
-static const BitmapCharRec ch65 = {12,14,0,0,12,ch65data};
-
-/* char: 0x40 '@' */
-
-static const GLubyte ch64data[] = {
-0x7,0xe0,0x1f,0xf0,0x38,0x0,0x70,0x0,0x67,0x70,0xcf,0xf8,0xcc,0xcc,0xcc,0x66,
-0xcc,0x66,0xcc,0x63,0xc6,0x33,0x67,0x73,0x63,0xb3,0x30,0x6,0x1c,0xe,0xf,0xfc,
-0x3,0xf0,
-};
-
-static const BitmapCharRec ch64 = {16,17,-1,3,18,ch64data};
-
-/* char: 0x3f '?' */
-
-static const GLubyte ch63data[] = {
-0x30,0x30,0x0,0x0,0x30,0x30,0x30,0x38,0x1c,0xe,0xc6,0xc6,0xfe,0x7c,
-};
-
-static const BitmapCharRec ch63 = {7,14,-1,0,10,ch63data};
-
-/* char: 0x3e '>' */
-
-static const GLubyte ch62data[] = {
-0xc0,0xf0,0x3c,0xe,0x3,0xe,0x3c,0xf0,0xc0,
-};
-
-static const BitmapCharRec ch62 = {8,9,-1,0,10,ch62data};
-
-/* char: 0x3d '=' */
-
-static const GLubyte ch61data[] = {
-0xfe,0xfe,0x0,0x0,0xfe,0xfe,
-};
-
-static const BitmapCharRec ch61 = {7,6,-2,-2,11,ch61data};
-
-/* char: 0x3c '<' */
-
-static const GLubyte ch60data[] = {
-0x3,0xf,0x3c,0x70,0xc0,0x70,0x3c,0xf,0x3,
-};
-
-static const BitmapCharRec ch60 = {8,9,-1,0,10,ch60data};
-
-/* char: 0x3b ';' */
-
-static const GLubyte ch59data[] = {
-0x80,0x40,0x40,0xc0,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch59 = {2,13,-1,3,5,ch59data};
-
-/* char: 0x3a ':' */
-
-static const GLubyte ch58data[] = {
-0xc0,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch58 = {2,10,-1,0,5,ch58data};
-
-/* char: 0x39 '9' */
-
-static const GLubyte ch57data[] = {
-0x7c,0xfe,0xc6,0x3,0x3,0x3b,0x7f,0xc3,0xc3,0xc3,0xc7,0x7e,0x3c,
-};
-
-static const BitmapCharRec ch57 = {8,13,-1,0,10,ch57data};
-
-/* char: 0x38 '8' */
-
-static const GLubyte ch56data[] = {
-0x3c,0x7e,0xe7,0xc3,0xc3,0x66,0x7e,0x66,0xc3,0xc3,0xe7,0x7e,0x3c,
-};
-
-static const BitmapCharRec ch56 = {8,13,-1,0,10,ch56data};
-
-/* char: 0x37 '7' */
-
-static const GLubyte ch55data[] = {
-0x60,0x60,0x30,0x30,0x30,0x18,0x18,0xc,0xc,0x6,0x3,0xff,0xff,
-};
-
-static const BitmapCharRec ch55 = {8,13,-1,0,10,ch55data};
-
-/* char: 0x36 '6' */
-
-static const GLubyte ch54data[] = {
-0x3c,0x7e,0xe3,0xc3,0xc3,0xc3,0xfe,0xdc,0xc0,0xc0,0x63,0x7f,0x3c,
-};
-
-static const BitmapCharRec ch54 = {8,13,-1,0,10,ch54data};
-
-/* char: 0x35 '5' */
-
-static const GLubyte ch53data[] = {
-0x7c,0xfe,0xc7,0xc3,0x3,0x3,0xc7,0xfe,0xfc,0xc0,0xc0,0xfe,0xfe,
-};
-
-static const BitmapCharRec ch53 = {8,13,-1,0,10,ch53data};
-
-/* char: 0x34 '4' */
-
-static const GLubyte ch52data[] = {
-0x3,0x0,0x3,0x0,0x3,0x0,0xff,0x80,0xff,0x80,0xc3,0x0,0x63,0x0,0x33,0x0,
-0x33,0x0,0x1b,0x0,0xf,0x0,0x7,0x0,0x3,0x0,
-};
-
-static const BitmapCharRec ch52 = {9,13,-1,0,10,ch52data};
-
-/* char: 0x33 '3' */
-
-static const GLubyte ch51data[] = {
-0x3c,0x7e,0xc7,0xc3,0x3,0x7,0x1e,0x1c,0x6,0xc3,0xc3,0x7e,0x3c,
-};
-
-static const BitmapCharRec ch51 = {8,13,-1,0,10,ch51data};
-
-/* char: 0x32 '2' */
-
-static const GLubyte ch50data[] = {
-0xff,0xff,0xc0,0xe0,0x70,0x38,0x1c,0xe,0x7,0x3,0xc3,0xfe,0x3c,
-};
-
-static const BitmapCharRec ch50 = {8,13,-1,0,10,ch50data};
-
-/* char: 0x31 '1' */
-
-static const GLubyte ch49data[] = {
-0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xf8,0xf8,0x18,
-};
-
-static const BitmapCharRec ch49 = {5,13,-2,0,10,ch49data};
-
-/* char: 0x30 '0' */
-
-static const GLubyte ch48data[] = {
-0x3c,0x7e,0x66,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0x66,0x7e,0x3c,
-};
-
-static const BitmapCharRec ch48 = {8,13,-1,0,10,ch48data};
-
-/* char: 0x2f '/' */
-
-static const GLubyte ch47data[] = {
-0xc0,0xc0,0x40,0x40,0x60,0x60,0x20,0x20,0x30,0x30,0x10,0x10,0x18,0x18,
-};
-
-static const BitmapCharRec ch47 = {5,14,0,0,5,ch47data};
-
-/* char: 0x2e '.' */
-
-static const GLubyte ch46data[] = {
-0xc0,0xc0,
-};
-
-static const BitmapCharRec ch46 = {2,2,-1,0,5,ch46data};
-
-/* char: 0x2d '-' */
-
-static const GLubyte ch45data[] = {
-0xff,0xff,
-};
-
-static const BitmapCharRec ch45 = {8,2,-1,-4,11,ch45data};
-
-/* char: 0x2c ',' */
-
-static const GLubyte ch44data[] = {
-0x80,0x40,0x40,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch44 = {2,5,-1,3,5,ch44data};
-
-/* char: 0x2b '+' */
-
-static const GLubyte ch43data[] = {
-0x18,0x18,0x18,0x18,0xff,0xff,0x18,0x18,0x18,0x18,
-};
-
-static const BitmapCharRec ch43 = {8,10,-1,0,10,ch43data};
-
-/* char: 0x2a '*' */
-
-static const GLubyte ch42data[] = {
-0x88,0x70,0x70,0xf8,0x20,0x20,
-};
-
-static const BitmapCharRec ch42 = {5,6,-1,-8,7,ch42data};
-
-/* char: 0x29 ')' */
-
-static const GLubyte ch41data[] = {
-0x80,0xc0,0x60,0x60,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x60,0x60,
-0xc0,0x80,
-};
-
-static const BitmapCharRec ch41 = {4,18,-1,4,6,ch41data};
-
-/* char: 0x28 '(' */
-
-static const GLubyte ch40data[] = {
-0x10,0x30,0x60,0x60,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x60,0x60,
-0x30,0x10,
-};
-
-static const BitmapCharRec ch40 = {4,18,-1,4,6,ch40data};
-
-/* char: 0x27 ''' */
-
-static const GLubyte ch39data[] = {
-0x80,0x40,0x40,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch39 = {2,5,-1,-9,4,ch39data};
-
-/* char: 0x26 '&' */
-
-static const GLubyte ch38data[] = {
-0x3c,0x70,0x7e,0xe0,0xe7,0xc0,0xc3,0x80,0xc3,0xc0,0xc6,0xc0,0xee,0xc0,0x7c,0x0,
-0x3c,0x0,0x66,0x0,0x66,0x0,0x7e,0x0,0x3c,0x0,
-};
-
-static const BitmapCharRec ch38 = {12,13,-1,0,13,ch38data};
-
-/* char: 0x25 '%' */
-
-static const GLubyte ch37data[] = {
-0x18,0x78,0x18,0xfc,0xc,0xcc,0xc,0xcc,0x6,0xfc,0x6,0x78,0x3,0x0,0x7b,0x0,
-0xfd,0x80,0xcd,0x80,0xcc,0xc0,0xfc,0xc0,0x78,0x60,
-};
-
-static const BitmapCharRec ch37 = {14,13,-1,0,16,ch37data};
-
-/* char: 0x24 '$' */
-
-static const GLubyte ch36data[] = {
-0x8,0x0,0x8,0x0,0x3e,0x0,0x7f,0x0,0xeb,0x80,0xc9,0x80,0x9,0x80,0xf,0x0,
-0x3e,0x0,0x78,0x0,0xe8,0x0,0xc8,0x0,0xcb,0x0,0x7f,0x0,0x3e,0x0,0x8,0x0,
-};
-
-static const BitmapCharRec ch36 = {9,16,-1,2,10,ch36data};
-
-/* char: 0x23 '#' */
-
-static const GLubyte ch35data[] = {
-0x24,0x0,0x24,0x0,0x24,0x0,0xff,0x80,0xff,0x80,0x12,0x0,0x12,0x0,0x12,0x0,
-0x7f,0xc0,0x7f,0xc0,0x9,0x0,0x9,0x0,0x9,0x0,
-};
-
-static const BitmapCharRec ch35 = {10,13,0,0,10,ch35data};
-
-/* char: 0x22 '"' */
-
-static const GLubyte ch34data[] = {
-0x90,0x90,0xd8,0xd8,0xd8,
-};
-
-static const BitmapCharRec ch34 = {5,5,0,-9,5,ch34data};
-
-/* char: 0x21 '!' */
-
-static const GLubyte ch33data[] = {
-0xc0,0xc0,0x0,0x0,0x80,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch33 = {2,14,-2,0,6,ch33data};
-
-/* char: 0x20 ' ' */
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch32data[] = { 0x0 };
-static const BitmapCharRec ch32 = {1,1,0,0,5,ch32data};
-#else
-static const BitmapCharRec ch32 = {0,0,0,0,5,0};
-#endif
-
-static const BitmapCharRec * const chars[] = {
-&ch32,
-&ch33,
-&ch34,
-&ch35,
-&ch36,
-&ch37,
-&ch38,
-&ch39,
-&ch40,
-&ch41,
-&ch42,
-&ch43,
-&ch44,
-&ch45,
-&ch46,
-&ch47,
-&ch48,
-&ch49,
-&ch50,
-&ch51,
-&ch52,
-&ch53,
-&ch54,
-&ch55,
-&ch56,
-&ch57,
-&ch58,
-&ch59,
-&ch60,
-&ch61,
-&ch62,
-&ch63,
-&ch64,
-&ch65,
-&ch66,
-&ch67,
-&ch68,
-&ch69,
-&ch70,
-&ch71,
-&ch72,
-&ch73,
-&ch74,
-&ch75,
-&ch76,
-&ch77,
-&ch78,
-&ch79,
-&ch80,
-&ch81,
-&ch82,
-&ch83,
-&ch84,
-&ch85,
-&ch86,
-&ch87,
-&ch88,
-&ch89,
-&ch90,
-&ch91,
-&ch92,
-&ch93,
-&ch94,
-&ch95,
-&ch96,
-&ch97,
-&ch98,
-&ch99,
-&ch100,
-&ch101,
-&ch102,
-&ch103,
-&ch104,
-&ch105,
-&ch106,
-&ch107,
-&ch108,
-&ch109,
-&ch110,
-&ch111,
-&ch112,
-&ch113,
-&ch114,
-&ch115,
-&ch116,
-&ch117,
-&ch118,
-&ch119,
-&ch120,
-&ch121,
-&ch122,
-&ch123,
-&ch124,
-&ch125,
-&ch126,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-&ch160,
-&ch161,
-&ch162,
-&ch163,
-&ch164,
-&ch165,
-&ch166,
-&ch167,
-&ch168,
-&ch169,
-&ch170,
-&ch171,
-&ch172,
-&ch173,
-&ch174,
-&ch175,
-&ch176,
-&ch177,
-&ch178,
-&ch179,
-&ch180,
-&ch181,
-&ch182,
-&ch183,
-&ch184,
-&ch185,
-&ch186,
-&ch187,
-&ch188,
-&ch189,
-&ch190,
-&ch191,
-&ch192,
-&ch193,
-&ch194,
-&ch195,
-&ch196,
-&ch197,
-&ch198,
-&ch199,
-&ch200,
-&ch201,
-&ch202,
-&ch203,
-&ch204,
-&ch205,
-&ch206,
-&ch207,
-&ch208,
-&ch209,
-&ch210,
-&ch211,
-&ch212,
-&ch213,
-&ch214,
-&ch215,
-&ch216,
-&ch217,
-&ch218,
-&ch219,
-&ch220,
-&ch221,
-&ch222,
-&ch223,
-&ch224,
-&ch225,
-&ch226,
-&ch227,
-&ch228,
-&ch229,
-&ch230,
-&ch231,
-&ch232,
-&ch233,
-&ch234,
-&ch235,
-&ch236,
-&ch237,
-&ch238,
-&ch239,
-&ch240,
-&ch241,
-&ch242,
-&ch243,
-&ch244,
-&ch245,
-&ch246,
-&ch247,
-&ch248,
-&ch249,
-&ch250,
-&ch251,
-&ch252,
-&ch253,
-&ch254,
-&ch255,
-};
-
-const BitmapFontRec glutBitmapHelvetica18 = {
-"-adobe-helvetica-medium-r-normal--18-180-75-75-p-98-iso8859-1",
-224,
-32,
-chars
-};
-
diff --git a/src/glut/glx/glut_init.c b/src/glut/glx/glut_init.c
deleted file mode 100644
index 78843e93bc..0000000000
--- a/src/glut/glx/glut_init.c
+++ /dev/null
@@ -1,394 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994, 1997. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#ifdef __VMS
-#include <GL/vms_x_fix.h>
-#endif
-
-#include <stdlib.h>
-#include <string.h>
-#include <stdio.h>
-
-#if !defined(_WIN32)
-#include <X11/Xlib.h>
-#include <X11/Xatom.h>
-#endif
-
-/* SGI optimization introduced in IRIX 6.3 to avoid X server
- round trips for interning common X atoms. */
-#if defined(_SGI_EXTRA_PREDEFINES) && !defined(NO_FAST_ATOMS)
-#include <X11/SGIFastAtom.h>
-#else
-#define XSGIFastInternAtom(dpy,string,fast_name,how) XInternAtom(dpy,string,how)
-#endif
-
-#include "glutint.h"
-
-/* GLUT inter-file variables */
-/* *INDENT-OFF* */
-char *__glutProgramName = NULL;
-int __glutArgc = 0;
-char **__glutArgv = NULL;
-char *__glutGeometry = NULL;
-Display *__glutDisplay = NULL;
-int __glutScreen;
-Window __glutRoot;
-int __glutScreenHeight;
-int __glutScreenWidth;
-GLboolean __glutIconic = GL_FALSE;
-GLboolean __glutDebug = GL_FALSE;
-unsigned int __glutDisplayMode =
- GLUT_RGB | GLUT_SINGLE | GLUT_DEPTH;
-char *__glutDisplayString = NULL;
-int __glutConnectionFD;
-XSizeHints __glutSizeHints = {0};
-int __glutInitWidth = 300, __glutInitHeight = 300;
-int __glutInitX = -1, __glutInitY = -1;
-GLboolean __glutForceDirect = GL_FALSE,
- __glutTryDirect = GL_TRUE;
-Atom __glutWMDeleteWindow;
-char *__glutPPMFile = NULL;
-/* *INDENT-ON* */
-
-#ifdef _WIN32
-void (__cdecl *__glutExitFunc)(int retval) = NULL;
-#endif
-
-static Bool synchronize = False;
-
-#if defined(_WIN32)
-
-#ifdef __BORLANDC__
-#include <float.h> /* For masking floating point exceptions. */
-#endif
-
-void
-__glutOpenWin32Connection(char* display)
-{
- static char *classname;
- WNDCLASS wc;
- HINSTANCE hInstance = GetModuleHandle(NULL);
-
- /* Make sure we register the window only once. */
- if(classname)
- return;
-
-#ifdef __BORLANDC__
- /* Under certain conditions (e.g. while rendering solid surfaces with
- lighting enabled) Microsoft OpenGL libraries cause some illegal
- operations like floating point overflow or division by zero. The
- default behaviour of Microsoft compilers is to mask (ignore)
- floating point exceptions, while Borland compilers do not. The
- following function of Borland RTL allows to mask exceptions.
- Advice from Pier Giorgio Esposito (mc2172@mclink.it). */
- _control87(MCW_EM,MCW_EM);
-#endif
-
- classname = "GLUT";
-
- /* Clear (important!) and then fill in the window class structure. */
- memset(&wc, 0, sizeof(WNDCLASS));
- wc.style = CS_OWNDC;
- wc.lpfnWndProc = (WNDPROC)__glutWindowProc;
- wc.hInstance = hInstance;
- wc.hIcon = LoadIcon(hInstance, "GLUT_ICON");
- wc.hCursor = LoadCursor(hInstance, IDC_ARROW);
- wc.hbrBackground = NULL;
- wc.lpszMenuName = NULL;
- wc.lpszClassName = classname;
-
- /* Fill in a default icon if one isn't specified as a resource. */
- if(!wc.hIcon)
- wc.hIcon = LoadIcon(NULL, IDI_WINLOGO);
-
- if(!RegisterClass(&wc)) {
- __glutFatalError("RegisterClass() failed:"
- "Cannot register GLUT window class.");
- }
-
- __glutScreenWidth = GetSystemMetrics(SM_CXSCREEN);
- __glutScreenHeight = GetSystemMetrics(SM_CYSCREEN);
-
- /* Set the root window to NULL because windows creates a top-level
- window when the parent is NULL. X creates a top-level window
- when the parent is the root window. */
- __glutRoot = NULL;
-
- /* Set the display to 1 -- we shouldn't be using this anywhere
- (except as an argument to X calls). */
- __glutDisplay = (Display*)1;
-
- /* There isn't any concept of multiple screens in Win32, therefore,
- we don't need to keep track of the screen we're on... it's always
- the same one. */
- __glutScreen = 0;
-}
-#else /* !_WIN32 */
-void
-__glutOpenXConnection(char *display)
-{
- int errorBase, eventBase;
-
- __glutDisplay = XOpenDisplay(display);
- if (!__glutDisplay)
- __glutFatalError("could not open display: %s",
- XDisplayName(display));
- if (synchronize)
- XSynchronize(__glutDisplay, True);
- if (!glXQueryExtension(__glutDisplay, &errorBase, &eventBase))
- __glutFatalError(
- "OpenGL GLX extension not supported by display: %s",
- XDisplayName(display));
- __glutScreen = DefaultScreen(__glutDisplay);
- __glutRoot = RootWindow(__glutDisplay, __glutScreen);
- __glutScreenWidth = DisplayWidth(__glutDisplay, __glutScreen);
- __glutScreenHeight = DisplayHeight(__glutDisplay,
- __glutScreen);
- __glutConnectionFD = ConnectionNumber(__glutDisplay);
- __glutWMDeleteWindow = XSGIFastInternAtom(__glutDisplay,
- "WM_DELETE_WINDOW", SGI_XA_WM_DELETE_WINDOW, False);
-}
-#endif /* _WIN32 */
-
-void
-#ifdef OLD_VMS
- __glutInitTime(struct timeval6 *beginning)
-#else
- __glutInitTime(struct timeval *beginning)
-#endif
-{
- static int beenhere = 0;
-#ifdef OLD_VMS
- static struct timeval6 genesis;
-#else
- static struct timeval genesis;
-#endif
-
- if (!beenhere) {
- GETTIMEOFDAY(&genesis);
- beenhere = 1;
- }
- *beginning = genesis;
-}
-
-static void
-removeArgs(int *argcp, char **argv, int numToRemove)
-{
- int i, j;
-
- for (i = 0, j = numToRemove; argv[j]; i++, j++) {
- argv[i] = argv[j];
- }
- argv[i] = NULL;
- *argcp -= numToRemove;
-}
-
-void GLUTAPIENTRY
-glutInit(int *argcp, char **argv)
-{
- char *display = NULL;
- char *str, *geometry = NULL;
-#ifdef OLD_VMS
- struct timeval6 unused;
-#else
- struct timeval unused;
-#endif
- int i;
-
- if (__glutDisplay) {
- __glutWarning("glutInit being called a second time.");
- return;
- }
- /* Determine temporary program name. */
- str = strrchr(argv[0], '/');
- if (str == NULL) {
- __glutProgramName = argv[0];
- } else {
- __glutProgramName = str + 1;
- }
-
- /* Make private copy of command line arguments. */
- __glutArgc = *argcp;
- __glutArgv = (char **) malloc(__glutArgc * sizeof(char *));
- if (!__glutArgv)
- __glutFatalError("out of memory.");
- for (i = 0; i < __glutArgc; i++) {
- __glutArgv[i] = __glutStrdup(argv[i]);
- if (!__glutArgv[i])
- __glutFatalError("out of memory.");
- }
-
- /* determine permanent program name */
- str = strrchr(__glutArgv[0], '/');
- if (str == NULL) {
- __glutProgramName = __glutArgv[0];
- } else {
- __glutProgramName = str + 1;
- }
-
- /* parse arguments for standard options */
- for (i = 1; i < __glutArgc; i++) {
- if (!strcmp(__glutArgv[i], "-display")) {
-#if defined(_WIN32)
- __glutWarning("-display option not supported by Win32 GLUT.");
-#endif
- if (++i >= __glutArgc) {
- __glutFatalError(
- "follow -display option with X display name.");
- }
- display = __glutArgv[i];
- removeArgs(argcp, &argv[1], 2);
- } else if (!strcmp(__glutArgv[i], "-geometry")) {
- if (++i >= __glutArgc) {
- __glutFatalError(
- "follow -geometry option with geometry parameter.");
- }
- geometry = __glutArgv[i];
- removeArgs(argcp, &argv[1], 2);
- } else if (!strcmp(__glutArgv[i], "-direct")) {
-#if defined(_WIN32)
- __glutWarning("-direct option not supported by Win32 GLUT.");
-#endif
- if (!__glutTryDirect)
- __glutFatalError(
- "cannot force both direct and indirect rendering.");
- __glutForceDirect = GL_TRUE;
- removeArgs(argcp, &argv[1], 1);
- } else if (!strcmp(__glutArgv[i], "-indirect")) {
-#if defined(_WIN32)
- __glutWarning("-indirect option not supported by Win32 GLUT.");
-#endif
- if (__glutForceDirect)
- __glutFatalError(
- "cannot force both direct and indirect rendering.");
- __glutTryDirect = GL_FALSE;
- removeArgs(argcp, &argv[1], 1);
- } else if (!strcmp(__glutArgv[i], "-iconic")) {
- __glutIconic = GL_TRUE;
- removeArgs(argcp, &argv[1], 1);
- } else if (!strcmp(__glutArgv[i], "-gldebug")) {
- __glutDebug = GL_TRUE;
- removeArgs(argcp, &argv[1], 1);
- } else if (!strcmp(__glutArgv[i], "-sync")) {
-#if defined(_WIN32)
- __glutWarning("-sync option not supported by Win32 GLUT.");
-#endif
- synchronize = GL_TRUE;
- removeArgs(argcp, &argv[1], 1);
- } else {
- /* Once unknown option encountered, stop command line
- processing. */
- break;
- }
- }
-#if defined(_WIN32)
- __glutOpenWin32Connection(display);
-#else
- __glutOpenXConnection(display);
-#endif
- if (geometry) {
- int flags, x, y, width, height;
-
- /* Fix bogus "{width|height} may be used before set"
- warning */
- width = 0;
- height = 0;
-
- flags = XParseGeometry(geometry, &x, &y,
- (unsigned int *) &width, (unsigned int *) &height);
- if (WidthValue & flags) {
- /* Careful because X does not allow zero or negative
- width windows */
- if (width > 0)
- __glutInitWidth = width;
- }
- if (HeightValue & flags) {
- /* Careful because X does not allow zero or negative
- height windows */
- if (height > 0)
- __glutInitHeight = height;
- }
- glutInitWindowSize(__glutInitWidth, __glutInitHeight);
- if (XValue & flags) {
- if (XNegative & flags)
- x = DisplayWidth(__glutDisplay, __glutScreen) +
- x - __glutSizeHints.width;
- /* Play safe: reject negative X locations */
- if (x >= 0)
- __glutInitX = x;
- }
- if (YValue & flags) {
- if (YNegative & flags)
- y = DisplayHeight(__glutDisplay, __glutScreen) +
- y - __glutSizeHints.height;
- /* Play safe: reject negative Y locations */
- if (y >= 0)
- __glutInitY = y;
- }
- glutInitWindowPosition(__glutInitX, __glutInitY);
- }
- __glutInitTime(&unused);
-
- /* check if GLUT_FPS env var is set */
- {
- const char *fps = getenv("GLUT_FPS");
- if (fps) {
- sscanf(fps, "%d", &__glutFPS);
- if (__glutFPS <= 0)
- __glutFPS = 5000; /* 5000 milliseconds */
- }
- }
-
- /* check if GLUT_PPM_FILE env var is set */
- __glutPPMFile = getenv("GLUT_PPM_FILE");
-}
-
-#ifdef _WIN32
-void GLUTAPIENTRY
-__glutInitWithExit(int *argcp, char **argv, void (__cdecl *exitfunc)(int))
-{
- __glutExitFunc = exitfunc;
- glutInit(argcp, argv);
-}
-#endif
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutInitWindowPosition(int x, int y)
-{
- __glutInitX = x;
- __glutInitY = y;
- if (x >= 0 && y >= 0) {
- __glutSizeHints.x = x;
- __glutSizeHints.y = y;
- __glutSizeHints.flags |= USPosition;
- } else {
- __glutSizeHints.flags &= ~USPosition;
- }
-}
-
-void GLUTAPIENTRY
-glutInitWindowSize(int width, int height)
-{
- __glutInitWidth = width;
- __glutInitHeight = height;
- if (width > 0 && height > 0) {
- __glutSizeHints.width = width;
- __glutSizeHints.height = height;
- __glutSizeHints.flags |= USSize;
- } else {
- __glutSizeHints.flags &= ~USSize;
- }
-}
-
-void GLUTAPIENTRY
-glutInitDisplayMode(unsigned int mask)
-{
- __glutDisplayMode = mask;
-}
-
-/* ENDCENTRY */
diff --git a/src/glut/glx/glut_input.c b/src/glut/glx/glut_input.c
deleted file mode 100644
index 7d2eda00f7..0000000000
--- a/src/glut/glx/glut_input.c
+++ /dev/null
@@ -1,644 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994, 1997, 1998. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#ifdef __VMS
-#include <GL/vms_x_fix.h>
-#endif
-
-#include <assert.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#if !defined(_WIN32)
-#include <X11/Xlib.h>
-#if defined(__vms)
-#include <X11/XInput.h>
-#else
-#include <X11/extensions/XInput.h>
-#endif
-#include <X11/Xutil.h>
-#else
-#ifdef __MINGW32__
-#include <GL/gl.h>
-#endif
-#include <windows.h>
-#ifndef __CYGWIN32__
-#include <mmsystem.h> /* Win32 Multimedia API header. */
-#endif
-#endif /* !_WIN32 */
-
-#include "glutint.h"
-
-int __glutNumDials = 0;
-int __glutNumSpaceballButtons = 0;
-int __glutNumButtonBoxButtons = 0;
-int __glutNumTabletButtons = 0;
-int __glutNumMouseButtons = 3; /* Good guess. */
-XDevice *__glutTablet = NULL;
-XDevice *__glutDials = NULL;
-XDevice *__glutSpaceball = NULL;
-
-int __glutHasJoystick = 0;
-int __glutNumJoystickButtons = 0;
-int __glutNumJoystickAxes = 0;
-
-#if !defined(_WIN32)
-typedef struct _Range {
- int min;
- int range;
-} Range;
-
-#define NUM_SPACEBALL_AXIS 6
-#define NUM_TABLET_AXIS 2
-#define NUM_DIALS_AXIS 8
-
-Range __glutSpaceballRange[NUM_SPACEBALL_AXIS];
-Range __glutTabletRange[NUM_TABLET_AXIS];
-int *__glutDialsResolution;
-
-/* Safely assumes 0 is an illegal event type for X Input
- extension events. */
-int __glutDeviceMotionNotify = 0;
-int __glutDeviceButtonPress = 0;
-int __glutDeviceButtonPressGrab = 0;
-int __glutDeviceButtonRelease = 0;
-int __glutDeviceStateNotify = 0;
-
-static int
-normalizeTabletPos(int axis, int rawValue)
-{
- assert(rawValue >= __glutTabletRange[axis].min);
- assert(rawValue <= __glutTabletRange[axis].min
- + __glutTabletRange[axis].range);
- /* Normalize rawValue to between 0 and 4000. */
- return ((rawValue - __glutTabletRange[axis].min) * 4000) /
- __glutTabletRange[axis].range;
-}
-
-static int
-normalizeDialAngle(int axis, int rawValue)
-{
- /* XXX Assumption made that the resolution of the device is
- number of clicks for one complete dial revolution. This
- is true for SGI's dial & button box. */
- return (rawValue * 360.0) / __glutDialsResolution[axis];
-}
-
-static int
-normalizeSpaceballAngle(int axis, int rawValue)
-{
- assert(rawValue >= __glutSpaceballRange[axis].min);
- assert(rawValue <= __glutSpaceballRange[axis].min +
- __glutSpaceballRange[axis].range);
- /* Normalize rawValue to between -1800 and 1800. */
- return ((rawValue - __glutSpaceballRange[axis].min) * 3600) /
- __glutSpaceballRange[axis].range - 1800;
-}
-
-static int
-normalizeSpaceballDelta(int axis, int rawValue)
-{
- assert(rawValue >= __glutSpaceballRange[axis].min);
- assert(rawValue <= __glutSpaceballRange[axis].min +
- __glutSpaceballRange[axis].range);
- /* Normalize rawValue to between -1000 and 1000. */
- return ((rawValue - __glutSpaceballRange[axis].min) * 2000) /
- __glutSpaceballRange[axis].range - 1000;
-}
-
-static void
-queryTabletPos(GLUTwindow * window)
-{
- XDeviceState *state;
- XInputClass *any;
- XValuatorState *v;
- int i;
-
- state = XQueryDeviceState(__glutDisplay, __glutTablet);
- any = state->data;
- for (i = 0; i < state->num_classes; i++) {
-#if defined(__cplusplus) || defined(c_plusplus)
- switch (any->c_class) {
-#else
- switch (any->class) {
-#endif
- case ValuatorClass:
- v = (XValuatorState *) any;
- if (v->num_valuators < 2)
- goto end;
- if (window->tabletPos[0] == -1)
- window->tabletPos[0] = normalizeTabletPos(0, v->valuators[0]);
- if (window->tabletPos[1] == -1)
- window->tabletPos[1] = normalizeTabletPos(1, v->valuators[1]);
- }
- any = (XInputClass *) ((char *) any + any->length);
- }
-end:
- XFreeDeviceState(state);
-}
-
-static void
-tabletPosChange(GLUTwindow * window, int first, int count, int *data)
-{
- int i, value, genEvent = 0;
-
- for (i = first; i < first + count; i++) {
- switch (i) {
- case 0: /* X axis */
- case 1: /* Y axis */
- value = normalizeTabletPos(i, data[i - first]);
- if (value != window->tabletPos[i]) {
- window->tabletPos[i] = value;
- genEvent = 1;
- }
- break;
- }
- }
- if (window->tabletPos[0] == -1 || window->tabletPos[1] == -1)
- queryTabletPos(window);
- if (genEvent)
- window->tabletMotion(window->tabletPos[0], window->tabletPos[1]);
-}
-#endif /* !_WIN32 */
-
-static int
-__glutProcessDeviceEvents(XEvent * event)
-{
-#if !defined(_WIN32)
- GLUTwindow *window;
-
- /* XXX Ugly code fan out. */
-
- /* Can't use switch/case since X Input event types are
- dynamic. */
-
- if (__glutDeviceMotionNotify && event->type == __glutDeviceMotionNotify) {
- XDeviceMotionEvent *devmot = (XDeviceMotionEvent *) event;
-
- window = __glutGetWindow(devmot->window);
- if (window) {
- if (__glutTablet
- && devmot->deviceid == __glutTablet->device_id
- && window->tabletMotion) {
- tabletPosChange(window, devmot->first_axis, devmot->axes_count,
- devmot->axis_data);
- } else if (__glutDials
- && devmot->deviceid == __glutDials->device_id
- && window->dials) {
- int i, first = devmot->first_axis, count = devmot->axes_count;
-
- for (i = first; i < first + count; i++)
- window->dials(i + 1,
- normalizeDialAngle(i, devmot->axis_data[i - first]));
- } else if (__glutSpaceball
- && devmot->deviceid == __glutSpaceball->device_id) {
- /* XXX Assume that space ball motion events come in as
- all the first 6 axes. Assume first 3 axes are XYZ
- translations; second 3 axes are XYZ rotations. */
- if (devmot->first_axis == 0 && devmot->axes_count == 6) {
- if (window->spaceMotion)
- window->spaceMotion(
- normalizeSpaceballDelta(0, devmot->axis_data[0]),
- normalizeSpaceballDelta(1, devmot->axis_data[1]),
- normalizeSpaceballDelta(2, devmot->axis_data[2]));
- if (window->spaceRotate)
- window->spaceRotate(
- normalizeSpaceballAngle(3, devmot->axis_data[3]),
- normalizeSpaceballAngle(4, devmot->axis_data[4]),
- normalizeSpaceballAngle(5, devmot->axis_data[5]));
- }
- }
- return 1;
- }
- } else if (__glutDeviceButtonPress
- && event->type == __glutDeviceButtonPress) {
- XDeviceButtonEvent *devbtn = (XDeviceButtonEvent *) event;
-
- window = __glutGetWindow(devbtn->window);
- if (window) {
- if (__glutTablet
- && devbtn->deviceid == __glutTablet->device_id
- && window->tabletButton
- && devbtn->first_axis == 0
- && devbtn->axes_count == 2) {
- tabletPosChange(window, devbtn->first_axis, devbtn->axes_count,
- devbtn->axis_data);
- window->tabletButton(devbtn->button, GLUT_DOWN,
- window->tabletPos[0], window->tabletPos[1]);
- } else if (__glutDials
- && devbtn->deviceid == __glutDials->device_id
- && window->buttonBox) {
- window->buttonBox(devbtn->button, GLUT_DOWN);
- } else if (__glutSpaceball
- && devbtn->deviceid == __glutSpaceball->device_id
- && window->spaceButton) {
- window->spaceButton(devbtn->button, GLUT_DOWN);
- }
- return 1;
- }
- } else if (__glutDeviceButtonRelease
- && event->type == __glutDeviceButtonRelease) {
- XDeviceButtonEvent *devbtn = (XDeviceButtonEvent *) event;
-
- window = __glutGetWindow(devbtn->window);
- if (window) {
- if (__glutTablet
- && devbtn->deviceid == __glutTablet->device_id
- && window->tabletButton
- && devbtn->first_axis == 0
- && devbtn->axes_count == 2) {
- tabletPosChange(window, devbtn->first_axis, devbtn->axes_count,
- devbtn->axis_data);
- window->tabletButton(devbtn->button, GLUT_UP,
- window->tabletPos[0], window->tabletPos[1]);
- } else if (__glutDials
- && devbtn->deviceid == __glutDials->device_id
- && window->buttonBox) {
- window->buttonBox(devbtn->button, GLUT_UP);
- } else if (__glutSpaceball
- && devbtn->deviceid == __glutSpaceball->device_id
- && window->spaceButton) {
- window->spaceButton(devbtn->button, GLUT_UP);
- }
- return 1;
- }
- }
-#else
- {
- JOYINFOEX info;
- JOYCAPS joyCaps;
-
- memset(&info, 0, sizeof(JOYINFOEX));
- info.dwSize = sizeof(JOYINFOEX);
- info.dwFlags = JOY_RETURNALL;
-
- if (joyGetPosEx(JOYSTICKID1,&info) != JOYERR_NOERROR) {
- __glutHasJoystick = 1;
- joyGetDevCaps(JOYSTICKID1, &joyCaps, sizeof(joyCaps));
- __glutNumJoystickButtons = joyCaps.wNumButtons;
- __glutNumJoystickAxes = joyCaps.wNumAxes;
- } else {
- __glutHasJoystick = 0;
- __glutNumJoystickButtons = 0;
- __glutNumJoystickAxes = 0;
- }
- }
-#endif /* !_WIN32 */
- return 0;
-}
-
-static GLUTeventParser eventParser =
-{__glutProcessDeviceEvents, NULL};
-
-#if !defined(_WIN32)
-static void
-addDeviceEventParser(void)
-{
- static Bool been_here = False;
-
- if (been_here)
- return;
- been_here = True;
- __glutRegisterEventParser(&eventParser);
-}
-#endif
-
-static int
-probeDevices(void)
-{
- static Bool been_here = False;
- static int support;
-#if !defined(_WIN32)
- XExtensionVersion *version;
- XDeviceInfoPtr device_info, device;
- XAnyClassPtr any;
- XButtonInfoPtr b;
- XValuatorInfoPtr v;
- XAxisInfoPtr a;
- int num_dev = 0, btns = 0, dials = 0;
- int i, j, k;
-#endif /* !_WIN32 */
-
- if (been_here) {
- return support;
- }
- been_here = True;
-
-#if !defined(_WIN32)
- version = XGetExtensionVersion(__glutDisplay, "XInputExtension");
- /* Ugh. XInput extension API forces annoying cast of a pointer
- to a long so it can be compared with the NoSuchExtension
- value (#defined to 1). */
- if (version == NULL || ((long) version) == NoSuchExtension) {
- support = 0;
- return support;
- }
- XFree(version);
- device_info = XListInputDevices(__glutDisplay, &num_dev);
- if (device_info) {
- for (i = 0; i < num_dev; i++) {
- /* XXX These are SGI names for these devices;
- unfortunately, no good standard exists for standard
- types of X input extension devices. */
-
- device = &device_info[i];
- any = (XAnyClassPtr) device->inputclassinfo;
-
- if (!__glutSpaceball && !strcmp(device->name, "spaceball")) {
- v = NULL;
- b = NULL;
- for (j = 0; j < device->num_classes; j++) {
-#if defined(__cplusplus) || defined(c_plusplus)
- switch (any->c_class) {
-#else
- switch (any->class) {
-#endif
- case ButtonClass:
- b = (XButtonInfoPtr) any;
- btns = b->num_buttons;
- break;
- case ValuatorClass:
- v = (XValuatorInfoPtr) any;
- /* Sanity check: at least 6 valuators? */
- if (v->num_axes < NUM_SPACEBALL_AXIS)
- goto skip_device;
- a = (XAxisInfoPtr) ((char *) v + sizeof(XValuatorInfo));
- for (k = 0; k < NUM_SPACEBALL_AXIS; k++, a++) {
- __glutSpaceballRange[k].min = a->min_value;
- __glutSpaceballRange[k].range = a->max_value - a->min_value;
- }
- break;
- }
- any = (XAnyClassPtr) ((char *) any + any->length);
- }
- if (v) {
- __glutSpaceball = XOpenDevice(__glutDisplay, device->id);
- if (__glutSpaceball) {
- __glutNumSpaceballButtons = btns;
- addDeviceEventParser();
- }
- }
- } else if (!__glutDials && !strcmp(device->name, "dial+buttons")) {
- v = NULL;
- b = NULL;
- for (j = 0; j < device->num_classes; j++) {
-#if defined(__cplusplus) || defined(c_plusplus)
- switch (any->c_class) {
-#else
- switch (any->class) {
-#endif
- case ButtonClass:
- b = (XButtonInfoPtr) any;
- btns = b->num_buttons;
- break;
- case ValuatorClass:
- v = (XValuatorInfoPtr) any;
- /* Sanity check: at least 8 valuators? */
- if (v->num_axes < NUM_DIALS_AXIS)
- goto skip_device;
- dials = v->num_axes;
- __glutDialsResolution = (int *) malloc(sizeof(int) * dials);
- a = (XAxisInfoPtr) ((char *) v + sizeof(XValuatorInfo));
- for (k = 0; k < dials; k++, a++) {
- __glutDialsResolution[k] = a->resolution;
- }
- break;
- }
- any = (XAnyClassPtr) ((char *) any + any->length);
- }
- if (v) {
- __glutDials = XOpenDevice(__glutDisplay, device->id);
- if (__glutDials) {
- __glutNumButtonBoxButtons = btns;
- __glutNumDials = dials;
- addDeviceEventParser();
- }
- }
- } else if (!__glutTablet && !strcmp(device->name, "tablet")) {
- v = NULL;
- b = NULL;
- for (j = 0; j < device->num_classes; j++) {
-#if defined(__cplusplus) || defined(c_plusplus)
- switch (any->c_class) {
-#else
- switch (any->class) {
-#endif
- case ButtonClass:
- b = (XButtonInfoPtr) any;
- btns = b->num_buttons;
- break;
- case ValuatorClass:
- v = (XValuatorInfoPtr) any;
- /* Sanity check: exactly 2 valuators? */
- if (v->num_axes != NUM_TABLET_AXIS)
- goto skip_device;
- a = (XAxisInfoPtr) ((char *) v + sizeof(XValuatorInfo));
- for (k = 0; k < NUM_TABLET_AXIS; k++, a++) {
- __glutTabletRange[k].min = a->min_value;
- __glutTabletRange[k].range = a->max_value - a->min_value;
- }
- break;
- }
- any = (XAnyClassPtr) ((char *) any + any->length);
- }
- if (v) {
- __glutTablet = XOpenDevice(__glutDisplay, device->id);
- if (__glutTablet) {
- __glutNumTabletButtons = btns;
- addDeviceEventParser();
- }
- }
- } else if (!strcmp(device->name, "mouse")) {
- for (j = 0; j < device->num_classes; j++) {
-#if defined(__cplusplus) || defined(c_plusplus)
- if (any->c_class == ButtonClass) {
-#else
- if (any->class == ButtonClass) {
-#endif
- b = (XButtonInfoPtr) any;
- __glutNumMouseButtons = b->num_buttons;
- }
- any = (XAnyClassPtr) ((char *) any + any->length);
- }
- }
- skip_device:;
- }
- XFreeDeviceList(device_info);
- }
-#else /* _WIN32 */
- __glutNumMouseButtons = GetSystemMetrics(SM_CMOUSEBUTTONS);
-#endif /* !_WIN32 */
- /* X Input extension might be supported, but only if there is
- a tablet, dials, or spaceball do we claim devices are
- supported. */
- support = __glutTablet || __glutDials || __glutSpaceball;
- return support;
-}
-
-void
-__glutUpdateInputDeviceMask(GLUTwindow * window)
-{
-#if !defined(_WIN32)
- /* 5 (dial and buttons) + 5 (tablet locator and buttons) + 5
- (Spaceball buttons and axis) = 15 */
- XEventClass eventList[15];
- int rc, numEvents;
-
- rc = probeDevices();
- if (rc) {
- numEvents = 0;
- if (__glutTablet) {
- if (window->tabletMotion) {
- DeviceMotionNotify(__glutTablet, __glutDeviceMotionNotify,
- eventList[numEvents]);
- numEvents++;
- }
- if (window->tabletButton) {
- DeviceButtonPress(__glutTablet, __glutDeviceButtonPress,
- eventList[numEvents]);
- numEvents++;
- DeviceButtonPressGrab(__glutTablet, __glutDeviceButtonPressGrab,
- eventList[numEvents]);
- numEvents++;
- DeviceButtonRelease(__glutTablet, __glutDeviceButtonRelease,
- eventList[numEvents]);
- numEvents++;
- }
- if (window->tabletMotion || window->tabletButton) {
- DeviceStateNotify(__glutTablet, __glutDeviceStateNotify,
- eventList[numEvents]);
- numEvents++;
- }
- }
- if (__glutDials) {
- if (window->dials) {
- DeviceMotionNotify(__glutDials, __glutDeviceMotionNotify,
- eventList[numEvents]);
- numEvents++;
- }
- if (window->buttonBox) {
- DeviceButtonPress(__glutDials, __glutDeviceButtonPress,
- eventList[numEvents]);
- numEvents++;
- DeviceButtonPressGrab(__glutDials, __glutDeviceButtonPressGrab,
- eventList[numEvents]);
- numEvents++;
- DeviceButtonRelease(__glutDials, __glutDeviceButtonRelease,
- eventList[numEvents]);
- numEvents++;
- }
- if (window->dials || window->buttonBox) {
- DeviceStateNotify(__glutDials, __glutDeviceStateNotify,
- eventList[numEvents]);
- numEvents++;
- }
- }
- if (__glutSpaceball) {
- if (window->spaceMotion || window->spaceRotate) {
- DeviceMotionNotify(__glutSpaceball, __glutDeviceMotionNotify,
- eventList[numEvents]);
- numEvents++;
- }
- if (window->spaceButton) {
- DeviceButtonPress(__glutSpaceball, __glutDeviceButtonPress,
- eventList[numEvents]);
- numEvents++;
- DeviceButtonPressGrab(__glutSpaceball, __glutDeviceButtonPressGrab,
- eventList[numEvents]);
- numEvents++;
- DeviceButtonRelease(__glutSpaceball, __glutDeviceButtonRelease,
- eventList[numEvents]);
- numEvents++;
- }
- if (window->spaceMotion || window->spaceRotate || window->spaceButton) {
- DeviceStateNotify(__glutSpaceball, __glutDeviceStateNotify,
- eventList[numEvents]);
- numEvents++;
- }
- }
-#if 0
- if (window->children) {
- GLUTwindow *child = window->children;
-
- do {
- XChangeDeviceDontPropagateList(__glutDisplay, child->win,
- numEvents, eventList, AddToList);
- child = child->siblings;
- } while (child);
- }
-#endif
- XSelectExtensionEvent(__glutDisplay, window->win,
- eventList, numEvents);
- if (window->overlay) {
- XSelectExtensionEvent(__glutDisplay, window->overlay->win,
- eventList, numEvents);
- }
- } else {
- /* X Input extension not supported; no chance for exotic
- input devices. */
- }
-#endif /* !_WIN32 */
-}
-
-/* CENTRY */
-int GLUTAPIENTRY
-glutDeviceGet(GLenum param)
-{
- probeDevices();
- switch (param) {
- case GLUT_HAS_KEYBOARD:
- case GLUT_HAS_MOUSE:
- /* Assume window system always has mouse and keyboard. */
- return 1;
- case GLUT_HAS_SPACEBALL:
- return __glutSpaceball != NULL;
- case GLUT_HAS_DIAL_AND_BUTTON_BOX:
- return __glutDials != NULL;
- case GLUT_HAS_TABLET:
- return __glutTablet != NULL;
- case GLUT_NUM_MOUSE_BUTTONS:
- return __glutNumMouseButtons;
- case GLUT_NUM_SPACEBALL_BUTTONS:
- return __glutNumSpaceballButtons;
- case GLUT_NUM_BUTTON_BOX_BUTTONS:
- return __glutNumButtonBoxButtons;
- case GLUT_NUM_DIALS:
- return __glutNumDials;
- case GLUT_NUM_TABLET_BUTTONS:
- return __glutNumTabletButtons;
- case GLUT_DEVICE_IGNORE_KEY_REPEAT:
- return __glutCurrentWindow->ignoreKeyRepeat;
-#ifndef _WIN32
- case GLUT_DEVICE_KEY_REPEAT:
- {
- XKeyboardState state;
-
- XGetKeyboardControl(__glutDisplay, &state);
- return state.global_auto_repeat;
- }
- case GLUT_JOYSTICK_POLL_RATE:
- return 0;
-#else
- case GLUT_DEVICE_KEY_REPEAT:
- /* Win32 cannot globally disable key repeat. */
- return GLUT_KEY_REPEAT_ON;
- case GLUT_JOYSTICK_POLL_RATE:
- return __glutCurrentWindow->joyPollInterval;
-#endif
- case GLUT_HAS_JOYSTICK:
- return __glutHasJoystick;
- case GLUT_JOYSTICK_BUTTONS:
- return __glutNumJoystickButtons;
- case GLUT_JOYSTICK_AXES:
- return __glutNumJoystickAxes;
- default:
- __glutWarning("invalid glutDeviceGet parameter: %d", param);
- return -1;
- }
-}
-/* ENDCENTRY */
diff --git a/src/glut/glx/glut_joy.c b/src/glut/glx/glut_joy.c
deleted file mode 100644
index 5025607922..0000000000
--- a/src/glut/glx/glut_joy.c
+++ /dev/null
@@ -1,85 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1997, 1998. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#ifdef _WIN32
-#ifdef __MINGW32__
-#include <GL/gl.h>
-#endif
-#include <windows.h>
-#ifndef __CYGWIN32__
-#include <mmsystem.h> /* Win32 Multimedia API header. */
-#endif
-#endif
-
-#include "glutint.h"
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutJoystickFunc(GLUTjoystickCB joystickFunc, int pollInterval)
-{
-#ifdef _WIN32
- if (joystickFunc && (pollInterval > 0)) {
- if (__glutCurrentWindow->entryState == WM_SETFOCUS) {
- MMRESULT result;
-
- /* Capture joystick focus if current window has
- focus now. */
- result = joySetCapture(__glutCurrentWindow->win,
- JOYSTICKID1, 0, TRUE);
- if (result == JOYERR_NOERROR) {
- (void) joySetThreshold(JOYSTICKID1, pollInterval);
- }
- }
- __glutCurrentWindow->joyPollInterval = pollInterval;
- } else {
- /* Release joystick focus if current window has
- focus now. */
- if (__glutCurrentWindow->joystick
- && (__glutCurrentWindow->joyPollInterval > 0)
- && (__glutCurrentWindow->entryState == WM_SETFOCUS)) {
- (void) joyReleaseCapture(JOYSTICKID1);
- }
- __glutCurrentWindow->joyPollInterval = 0;
- }
- __glutCurrentWindow->joystick = joystickFunc;
-#else
- /* XXX No support currently for X11 joysticks. */
-#endif
-}
-
-void GLUTAPIENTRY
-glutForceJoystickFunc(void)
-{
-#ifdef _WIN32
- if (__glutCurrentWindow->joystick) {
- JOYINFOEX jix;
- MMRESULT res;
- int x, y, z;
-
- /* Poll the joystick. */
- jix.dwSize = sizeof(jix);
- jix.dwFlags = JOY_RETURNALL;
- res = joyGetPosEx(JOYSTICKID1,&jix);
- if (res == JOYERR_NOERROR) {
-
- /* Convert to int for scaling. */
- x = jix.dwXpos;
- y = jix.dwYpos;
- z = jix.dwZpos;
-
-#define SCALE(v) ((int) ((v - 32767)/32.768))
-
- __glutCurrentWindow->joystick(jix.dwButtons,
- SCALE(x), SCALE(y), SCALE(z));
- }
- }
-#else
- /* XXX No support currently for X11 joysticks. */
-#endif
-}
-
-/* ENDCENTRY */
diff --git a/src/glut/glx/glut_key.c b/src/glut/glx/glut_key.c
deleted file mode 100644
index 3e1f7e52c1..0000000000
--- a/src/glut/glx/glut_key.c
+++ /dev/null
@@ -1,29 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1997. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include <stdlib.h>
-
-#include "glutint.h"
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutKeyboardFunc(GLUTkeyboardCB keyboardFunc)
-{
- __glutChangeWindowEventMask(KeyPressMask,
- keyboardFunc != NULL || __glutCurrentWindow->special != NULL);
- __glutCurrentWindow->keyboard = keyboardFunc;
-}
-
-void GLUTAPIENTRY
-glutSpecialFunc(GLUTspecialCB specialFunc)
-{
- __glutChangeWindowEventMask(KeyPressMask,
- specialFunc != NULL || __glutCurrentWindow->keyboard != NULL);
- __glutCurrentWindow->special = specialFunc;
-}
-
-/* ENDCENTRY */
diff --git a/src/glut/glx/glut_keyctrl.c b/src/glut/glx/glut_keyctrl.c
deleted file mode 100644
index c76912e100..0000000000
--- a/src/glut/glx/glut_keyctrl.c
+++ /dev/null
@@ -1,29 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1996, 1997. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include "glutint.h"
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutIgnoreKeyRepeat(int ignore)
-{
- __glutCurrentWindow->ignoreKeyRepeat = ignore;
-}
-
-void GLUTAPIENTRY
-glutSetKeyRepeat(int repeatMode)
-{
-#if !defined(_WIN32)
- XKeyboardControl values;
-
- /* GLUT's repeatMode #define's match the Xlib API values. */
- values.auto_repeat_mode = repeatMode;
- XChangeKeyboardControl(__glutDisplay, KBAutoRepeatMode, &values);
-#endif
-}
-
-/* ENDCENTRY */
diff --git a/src/glut/glx/glut_keyup.c b/src/glut/glx/glut_keyup.c
deleted file mode 100644
index ae97b2f967..0000000000
--- a/src/glut/glx/glut_keyup.c
+++ /dev/null
@@ -1,29 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1997. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include <stdlib.h>
-
-#include "glutint.h"
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutKeyboardUpFunc(GLUTkeyboardCB keyboardUpFunc)
-{
- __glutChangeWindowEventMask(KeyReleaseMask,
- keyboardUpFunc != NULL || __glutCurrentWindow->specialUp != NULL);
- __glutCurrentWindow->keyboardUp = keyboardUpFunc;
-}
-
-void GLUTAPIENTRY
-glutSpecialUpFunc(GLUTspecialCB specialUpFunc)
-{
- __glutChangeWindowEventMask(KeyReleaseMask,
- specialUpFunc != NULL || __glutCurrentWindow->keyboardUp != NULL);
- __glutCurrentWindow->specialUp = specialUpFunc;
-}
-
-/* ENDCENTRY */
diff --git a/src/glut/glx/glut_menu.c b/src/glut/glx/glut_menu.c
deleted file mode 100644
index d136823c54..0000000000
--- a/src/glut/glx/glut_menu.c
+++ /dev/null
@@ -1,1023 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994, 1997. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-/* The Win32 GLUT file win32_menu.c completely re-implements all
- the menuing functionality implemented. This file is used only by
- the X Window System version of GLUT. */
-
-#ifdef __VMS
-#include <GL/vms_x_fix.h>
-#endif
-
-#include <stdlib.h>
-#include <string.h>
-#include <stdio.h>
-#include <errno.h>
-#include <assert.h>
-
-#include <unistd.h>
-#include <X11/Xlib.h>
-#include <X11/cursorfont.h> /* for XC_arrow */
-
-#include "glutint.h"
-#include "layerutil.h"
-
-void (CDECL *__glutMenuStatusFunc) (int, int, int);
-GLUTmenuItem *__glutItemSelected;
-GLUTmenu **__glutMenuList = NULL;
-
-static int menuListSize = 0;
-static XFontStruct *menuFont = NULL;
-static Cursor menuCursor;
-static Colormap menuColormap;
-static Visual *menuVisual;
-static int menuDepth;
-static int fontHeight;
-static GC blackGC, grayGC, whiteGC;
-static unsigned long menuBlack, menuWhite, menuGray;
-static unsigned long useSaveUnders;
-
-/* A replacement for XAllocColor (originally by Brian Paul).
- This function should never fail to allocate a color. When
- XAllocColor fails, we return the nearest matching color. If
- we have to allocate many colors this function isn't a great
- solution; the XQueryColors() could be done just once. */
-static void
-noFaultXAllocColor(Display * dpy, Colormap cmap, int cmapSize,
- XColor * color)
-{
- XColor *ctable, subColor;
- int i, bestmatch;
- double mindist; /* 3*2^16^2 exceeds 32-bit long int
- precision. */
-
- for (;;) {
- /* First try just using XAllocColor. */
- if (XAllocColor(dpy, cmap, color)) {
- return;
- }
-
- /* Retrieve color table entries. */
- /* XXX alloca canidate. */
- ctable = (XColor *) malloc(cmapSize * sizeof(XColor));
- for (i = 0; i < cmapSize; i++)
- ctable[i].pixel = i;
- XQueryColors(dpy, cmap, ctable, cmapSize);
-
- /* Find best match. */
- bestmatch = -1;
- mindist = 0.0;
- for (i = 0; i < cmapSize; i++) {
- double dr = (double) color->red - (double) ctable[i].red;
- double dg = (double) color->green - (double) ctable[i].green;
- double db = (double) color->blue - (double) ctable[i].blue;
- double dist = dr * dr + dg * dg + db * db;
- if (bestmatch < 0 || dist < mindist) {
- bestmatch = i;
- mindist = dist;
- }
- }
-
- /* Return result. */
- subColor.red = ctable[bestmatch].red;
- subColor.green = ctable[bestmatch].green;
- subColor.blue = ctable[bestmatch].blue;
- free(ctable);
- if (XAllocColor(dpy, cmap, &subColor)) {
- *color = subColor;
- return;
- }
- /* Extremely unlikely, but possibly color was deallocated
- and reallocated by someone else before we could
- XAllocColor the color cell we located. If so, loop
- again... */
- }
-}
-
-static int
-ifSunCreator(void)
-{
- char *xvendor, *glvendor, *renderer;
- int isSunCreator = 0; /* Until proven that it is. */
- int savedDisplayMode = 0;
- char *savedDisplayString = 0;
- GLUTwindow *window;
-
-#define VENDOR_SUN "Sun Microsystems"
-#define RENDERER_CREATOR "Creator"
-
- /* Check the X vendor string first. It is easier to check
- than the OpenGL vendor and renderer strings since it
- doesn't require a valid OpenGL rendering context. Bail
- early if not connected to a Sun. */
- xvendor = ServerVendor(__glutDisplay);
- if (!strncmp(xvendor, VENDOR_SUN, sizeof(VENDOR_SUN) - 1)) {
-
- /* We need a valid current OpenGL rendering context to be
- able to call glGetString successfully. If there is not
- a current window, set up a temporary one just to call
- glGetString with (gag, expensive). */
- if (__glutCurrentWindow) {
- window = NULL;
- } else {
- savedDisplayMode = __glutDisplayMode;
- savedDisplayString = __glutDisplayString;
- __glutDisplayMode = GLUT_RGB | GLUT_SINGLE;
- __glutDisplayString = NULL;
- window = __glutCreateWindow(NULL, 0, 0, 1, 1, 0);
- }
-
- glvendor = (char *) glGetString(GL_VENDOR);
- if (!strncmp(glvendor, VENDOR_SUN, sizeof(VENDOR_SUN) - 1)) {
- renderer = (char *) glGetString(GL_RENDERER);
- if (!strncmp(renderer, RENDERER_CREATOR, sizeof(RENDERER_CREATOR) - 1)) {
- isSunCreator = 1;
- }
- }
- /* Destroy the temporary window for glGetString if one
- needed to be created. */
- if (window) {
- __glutDestroyWindow(window, window);
- __glutDisplayMode = savedDisplayMode;
- __glutDisplayString = savedDisplayString;
- }
- }
- return isSunCreator;
-}
-
-static void
-menuVisualSetup(void)
-{
- XLayerVisualInfo template, *visual, *overlayVisuals;
- XColor color;
- Status status;
- Bool presumablyMesa;
- int layer, nVisuals, i, dummy;
- unsigned long *placeHolders = NULL;
- int numPlaceHolders = 0;
- Bool allocateHigh;
-
- allocateHigh = ifSunCreator();
-
- /* Start with the highest overlay layer and work down. I
- don't think any hardware has more than 3 overlay layers. */
- for (layer = 3; layer > 0; layer--) {
- template.layer = layer;
- template.vinfo.screen = __glutScreen;
- overlayVisuals = __glutXGetLayerVisualInfo(__glutDisplay,
- VisualScreenMask | VisualLayerMask, &template, &nVisuals);
- if (overlayVisuals) {
- /* First, check if the default visual is in this layer.
- If the default visual is in this layer, we try to use
- it since it has pre-defined black and white pixels and
-
- using the default visual will probably minimize
- colormap flashing problems. Suggested by Thomas Roell
- (thomas@xig.com). */
- for (i = 0; i < nVisuals; i++) {
- visual = &overlayVisuals[i];
- if (visual->vinfo.colormap_size >= 3) {
- /* Compare visual IDs just to be safe. */
- if (visual->vinfo.visual->visualid == DefaultVisual(__glutDisplay, __glutScreen)->visualid) {
- /* Settle for default visual. */
- menuVisual = DefaultVisual(__glutDisplay, __glutScreen);
- menuDepth = DefaultDepth(__glutDisplay, __glutScreen);
- menuColormap = DefaultColormap(__glutDisplay, __glutScreen);
- menuBlack = BlackPixel(__glutDisplay, __glutScreen);
- menuWhite = WhitePixel(__glutDisplay, __glutScreen);
- color.red = color.green = color.blue = 0xaa00;
- noFaultXAllocColor(__glutDisplay, menuColormap,
- menuVisual->map_entries, &color);
- menuGray = color.pixel;
- useSaveUnders = 0;
- XFree(overlayVisuals);
- return;
- }
- }
- }
- for (i = 0; i < nVisuals; i++) {
- visual = &overlayVisuals[i];
- if (visual->vinfo.colormap_size >= 3) {
- if (allocateHigh) {
- /* For Sun's Creator graphics, try to force the
- read-only colors to the high end of the colormap
- by first allocating read-write place-holder cells
- for all but the last three cells. This helps
- avoid colormap flashing problems. */
- numPlaceHolders = visual->vinfo.colormap_size - 3;
- if (numPlaceHolders > 0) {
- placeHolders = (unsigned long *)
- malloc(numPlaceHolders * sizeof(unsigned long));
- /* A malloc failure would be harmless. */
- }
- }
- menuColormap = XCreateColormap(__glutDisplay, __glutRoot,
- visual->vinfo.visual, AllocNone);
- if (placeHolders) {
- /* Again for Sun's Creator graphics, do the actual
- read-write place-holder cell allocation. */
- status = XAllocColorCells(__glutDisplay, menuColormap, False, 0, 0,
- placeHolders, numPlaceHolders);
- if (!status) {
- XFreeColormap(__glutDisplay, menuColormap);
- free(placeHolders);
- placeHolders = NULL;
- continue;
- }
- }
- /* Allocate overlay colormap cells in defined order:
- gray, black, white to match the IRIS GL allocation
- scheme. Increases likelihood of less overlay
- colormap flashing. */
- /* XXX Nice if these 3 AllocColor's could be done in
- one protocol round-trip. */
- color.red = color.green = color.blue = 0xaa00;
- status = XAllocColor(__glutDisplay,
- menuColormap, &color);
- if (!status) {
- XFreeColormap(__glutDisplay, menuColormap);
- if (placeHolders) {
- free(placeHolders);
- placeHolders = NULL;
- }
- continue;
- }
- menuGray = color.pixel;
- color.red = color.green = color.blue = 0x0000;
- status = XAllocColor(__glutDisplay,
- menuColormap, &color);
- if (!status) {
- XFreeColormap(__glutDisplay, menuColormap);
- if (placeHolders) {
- free(placeHolders);
- placeHolders = NULL;
- }
- continue;
- }
- menuBlack = color.pixel;
- color.red = color.green = color.blue = 0xffff;
- status = XAllocColor(__glutDisplay,
- menuColormap, &color);
- if (!status) {
- XFreeColormap(__glutDisplay, menuColormap);
- if (placeHolders) {
- free(placeHolders);
- placeHolders = NULL;
- }
- continue;
- }
- if (placeHolders) {
- /* Now free the placeholder cells. */
- XFreeColors(__glutDisplay, menuColormap,
- placeHolders, numPlaceHolders, 0);
- free(placeHolders);
- placeHolders = NULL;
- }
- menuWhite = color.pixel;
- menuVisual = visual->vinfo.visual;
- menuDepth = visual->vinfo.depth;
- /* If using overlays, do not request "save unders". */
- useSaveUnders = 0;
- XFree(overlayVisuals);
- return;
- }
- }
- XFree(overlayVisuals);
- }
- }
- /* Settle for default visual. */
- menuVisual = DefaultVisual(__glutDisplay, __glutScreen);
- menuDepth = DefaultDepth(__glutDisplay, __glutScreen);
- menuColormap = DefaultColormap(__glutDisplay, __glutScreen);
- menuBlack = BlackPixel(__glutDisplay, __glutScreen);
- menuWhite = WhitePixel(__glutDisplay, __glutScreen);
- color.red = color.green = color.blue = 0xaa00;
- noFaultXAllocColor(__glutDisplay, menuColormap,
- menuVisual->map_entries, &color);
- menuGray = color.pixel;
-
- /* When no overlays are supported, we would like to use X
- "save unders" to avoid exposes to windows obscured by
- pop-up menus. However, OpenGL's direct rendering support
- means OpenGL interacts poorly with X backing store and
- save unders. X servers do not (in implementation
- practice) redirect OpenGL rendering destined to obscured
- window regions into backing store.
-
- Implementation solutions exist for this problem, but they
- are expensive and high-end OpenGL implementations
- typically provide fast rendering and/or overlays to
- obviate the problem associated of user interfaces (pop-up
- menus) forcing redraws of complex normal plane scenes.
- (See support for overlays pop-up menus above.)
-
- Mesa 3D, however, does not support direct rendering.
- Overlays are often unavailable to Mesa, and Mesa is also
- relatively slow. For these reasons, Mesa-rendering GLUT
- programs can and should use X save unders.
-
- Look for the GLX extension. If _not_ supported, we are
- presumably using Mesa so enable save unders. */
-
- presumablyMesa = !XQueryExtension(__glutDisplay, "GLX",
- &dummy, &dummy, &dummy);
-
- if (presumablyMesa) {
- useSaveUnders = CWSaveUnder;
- } else {
- useSaveUnders = 0;
- }
-}
-
-static void
-menuSetup(void)
-{
- if (menuFont) {
- /* MenuFont overload to indicate menu initalization. */
- return;
- }
- menuFont = XLoadQueryFont(__glutDisplay,
- "-*-helvetica-bold-o-normal--14-*-*-*-p-*-iso8859-1");
- if (!menuFont) {
- /* Try back up font. */
- menuFont = XLoadQueryFont(__glutDisplay, "fixed");
- }
- if (!menuFont) {
- __glutFatalError("could not load font.");
- }
- menuVisualSetup();
- fontHeight = menuFont->ascent + menuFont->descent;
- menuCursor = XCreateFontCursor(__glutDisplay, XC_arrow);
-}
-
-static void
-menuGraphicsContextSetup(Window win)
-{
- XGCValues gcvals;
-
- if (blackGC != None) {
- return;
- }
- gcvals.font = menuFont->fid;
- gcvals.foreground = menuBlack;
- blackGC = XCreateGC(__glutDisplay, win,
- GCFont | GCForeground, &gcvals);
- gcvals.foreground = menuGray;
- grayGC = XCreateGC(__glutDisplay, win, GCForeground, &gcvals);
- gcvals.foreground = menuWhite;
- whiteGC = XCreateGC(__glutDisplay, win, GCForeground, &gcvals);
-}
-
-void
-__glutSetMenu(GLUTmenu * menu)
-{
- __glutCurrentMenu = menu;
-}
-
-static void
-unmapMenu(GLUTmenu * menu)
-{
- if (menu->cascade) {
- unmapMenu(menu->cascade);
- menu->cascade = NULL;
- }
- menu->anchor = NULL;
- menu->highlighted = NULL;
- XUnmapWindow(__glutDisplay, menu->win);
-}
-
-static void
-finishMenu(Window win, int x, int y)
-{
- Window dummy;
- int rc;
-
- unmapMenu(__glutMappedMenu);
- XUngrabPointer(__glutDisplay, CurrentTime);
-
- /* Popping up an overlay popup menu will install its own
- colormap. If the window associated with the menu has an
- overlay, install that window's overlay colormap so the
- overlay isn't left using the popup menu's colormap. */
- if (__glutMenuWindow->overlay) {
- XInstallColormap(__glutDisplay,
- __glutMenuWindow->overlay->colormap->cmap);
- }
-
- /* This XFlush is needed to to make sure the pointer is
- really ungrabbed when the application's menu callback is
- called. Otherwise, a deadlock might happen because the
- application may try to read from an terminal window, but
- yet the ungrab hasn't really happened since it hasn't been
- flushed out. */
- XFlush(__glutDisplay);
-
- if (__glutMenuStatusFunc) {
- if (win != __glutMenuWindow->win) {
- /* The button release may have occurred in a window other
- than the window requesting the pop-up menu (for
- example, one of the submenu windows). In this case, we
- need to translate the coordinates into the coordinate
- system of the window associated with the window. */
- rc = XTranslateCoordinates(__glutDisplay, win, __glutMenuWindow->win,
- x, y, &x, &y, &dummy);
- assert(rc != False); /* Will always be on same screen. */
- }
- __glutSetWindow(__glutMenuWindow);
- __glutSetMenu(__glutMappedMenu);
-
- /* Setting __glutMappedMenu to NULL permits operations that
- change menus or destroy the menu window again. */
- __glutMappedMenu = NULL;
-
- __glutMenuStatusFunc(GLUT_MENU_NOT_IN_USE, x, y);
- }
- /* Setting __glutMappedMenu to NULL permits operations that
- change menus or destroy the menu window again. */
- __glutMappedMenu = NULL;
-
- /* If an item is selected and it is not a submenu trigger,
- generate menu callback. */
- if (__glutItemSelected && !__glutItemSelected->isTrigger) {
- __glutSetWindow(__glutMenuWindow);
- /* When menu callback is triggered, current menu should be
- set to the callback menu. */
- __glutSetMenu(__glutItemSelected->menu);
- __glutItemSelected->menu->select(
- __glutItemSelected->value);
- }
- __glutMenuWindow = NULL;
-}
-
-#define MENU_BORDER 1
-#define MENU_GAP 2
-#define MENU_ARROW_GAP 6
-#define MENU_ARROW_WIDTH 8
-
-static void
-mapMenu(GLUTmenu * menu, int x, int y)
-{
- XWindowChanges changes;
- unsigned int mask;
- int subMenuExtension, num;
-
- /* If there are submenus, we need to provide extra space for
- the submenu pull arrow. */
- if (menu->submenus > 0) {
- subMenuExtension = MENU_ARROW_GAP + MENU_ARROW_WIDTH;
- } else {
- subMenuExtension = 0;
- }
-
- changes.stack_mode = Above;
- mask = CWStackMode | CWX | CWY;
- /* If the menu isn't managed (ie, validated so all the
- InputOnly subwindows are the right size), do so. */
- if (!menu->managed) {
- GLUTmenuItem *item;
-
- item = menu->list;
- num = menu->num;
- while (item) {
- XWindowChanges itemupdate;
-
- itemupdate.y = (num - 1) * fontHeight + MENU_GAP;
- itemupdate.width = menu->pixwidth;
- itemupdate.width += subMenuExtension;
- XConfigureWindow(__glutDisplay, item->win,
- CWWidth | CWY, &itemupdate);
- item = item->next;
- num--;
- }
- menu->pixheight = MENU_GAP +
- fontHeight * menu->num + MENU_GAP;
- changes.height = menu->pixheight;
- changes.width = MENU_GAP +
- menu->pixwidth + subMenuExtension + MENU_GAP;
- mask |= CWWidth | CWHeight;
- menu->managed = True;
- }
- /* Make sure menu appears fully on screen. */
- if (y + menu->pixheight >= __glutScreenHeight) {
- changes.y = __glutScreenHeight - menu->pixheight;
- } else {
- changes.y = y;
- }
- if (x + menu->pixwidth + subMenuExtension >=
- __glutScreenWidth) {
- changes.x = __glutScreenWidth -
- menu->pixwidth + subMenuExtension;
- } else {
- changes.x = x;
- }
-
- /* Rember where the menu is placed so submenus can be
- properly placed relative to it. */
- menu->x = changes.x;
- menu->y = changes.y;
-
- XConfigureWindow(__glutDisplay, menu->win, mask, &changes);
- XInstallColormap(__glutDisplay, menuColormap);
- /* XXX The XRaiseWindow below should not be necessary because
- the XConfigureWindow requests an Above stack mode (same as
- XRaiseWindow), but some Sun users complained this was still
- necessary. Probably some window manager or X server bug on
- these machines?? */
- XRaiseWindow(__glutDisplay, menu->win);
- XMapWindow(__glutDisplay, menu->win);
-}
-
-static void
-startMenu(GLUTmenu * menu, GLUTwindow * window,
- int x, int y, int x_win, int y_win)
-{
- int grab;
-
- assert(__glutMappedMenu == NULL);
- grab = XGrabPointer(__glutDisplay, __glutRoot, True,
- ButtonPressMask | ButtonReleaseMask,
- GrabModeAsync, GrabModeAsync,
- __glutRoot, menuCursor, CurrentTime);
- if (grab != GrabSuccess) {
- /* Somebody else has pointer grabbed, ignore menu
- activation. */
- return;
- }
- __glutMappedMenu = menu;
- __glutMenuWindow = window;
- __glutItemSelected = NULL;
- if (__glutMenuStatusFunc) {
- __glutSetMenu(menu);
- __glutSetWindow(window);
- __glutMenuStatusFunc(GLUT_MENU_IN_USE, x_win, y_win);
- }
- mapMenu(menu, x, y);
-}
-
-static void
-paintSubMenuArrow(Window win, int x, int y)
-{
- XPoint p[5];
-
- p[0].x = p[4].x = x;
- p[0].y = p[4].y = y - menuFont->ascent + 1;
- p[1].x = p[0].x + MENU_ARROW_WIDTH - 1;
- p[1].y = p[0].y + (menuFont->ascent / 2) - 1;
- p[2].x = p[1].x;
- p[2].y = p[1].y + 1;
- p[3].x = p[0].x;
- p[3].y = p[0].y + menuFont->ascent - 2;
- XFillPolygon(__glutDisplay, win,
- whiteGC, p, 4, Convex, CoordModeOrigin);
- XDrawLines(__glutDisplay, win, blackGC, p, 5, CoordModeOrigin);
-}
-
-static void
-paintMenuItem(GLUTmenuItem * item, int num)
-{
- Window win = item->menu->win;
- GC gc;
- int y;
- int subMenuExtension;
-
- if (item->menu->submenus > 0) {
- subMenuExtension = MENU_ARROW_GAP + MENU_ARROW_WIDTH;
- } else {
- subMenuExtension = 0;
- }
- if (item->menu->highlighted == item) {
- gc = whiteGC;
- } else {
- gc = grayGC;
- }
- y = MENU_GAP + fontHeight * num - menuFont->descent;
- XFillRectangle(__glutDisplay, win, gc,
- MENU_GAP, y - fontHeight + menuFont->descent,
- item->menu->pixwidth + subMenuExtension, fontHeight);
- XDrawString(__glutDisplay, win, blackGC,
- MENU_GAP, y, item->label, item->len);
- if (item->isTrigger) {
- paintSubMenuArrow(win,
- item->menu->pixwidth + MENU_ARROW_GAP + 1, y);
- }
-}
-
-static void
-paintMenu(GLUTmenu * menu)
-{
- GLUTmenuItem *item;
- int i = menu->num;
- int y = MENU_GAP + fontHeight * i - menuFont->descent;
-
- item = menu->list;
- while (item) {
- if (item->menu->highlighted == item) {
- paintMenuItem(item, i);
- } else {
- /* Quick render of the menu item; assume background
- already cleared to gray. */
- XDrawString(__glutDisplay, menu->win, blackGC,
- 2, y, item->label, item->len);
- if (item->isTrigger) {
- paintSubMenuArrow(menu->win,
- menu->pixwidth + MENU_ARROW_GAP + 1, y);
- }
- }
- i--;
- y -= fontHeight;
- item = item->next;
- }
-}
-
-static GLUTmenuItem *
-getMenuItem(GLUTmenu * menu, Window win, int *which)
-{
- GLUTmenuItem *item;
- int i;
-
- if (menu->searched) {
- __glutFatalError("submenu infinite loop detected");
- }
- menu->searched = True;
- i = menu->num;
- item = menu->list;
- while (item) {
- if (item->win == win) {
- *which = i;
- menu->searched = False;
- return item;
- }
- if (item->isTrigger) {
- GLUTmenuItem *subitem;
-
- subitem = __glutGetMenuItem(__glutMenuList[item->value],
- win, which);
- if (subitem) {
- menu->searched = False;
- return subitem;
- }
- }
- i--;
- item = item->next;
- }
- menu->searched = False;
- return NULL;
-}
-
-static int
-getMenuItemIndex(GLUTmenuItem * item)
-{
- int count = 0;
-
- while (item) {
- count++;
- item = item->next;
- }
- return count;
-}
-
-static GLUTmenu *
-getMenu(Window win)
-{
- GLUTmenu *menu;
-
- menu = __glutMappedMenu;
- while (menu) {
- if (win == menu->win) {
- return menu;
- }
- menu = menu->cascade;
- }
- return NULL;
-}
-
-static GLUTmenu *
-getMenuByNum(int menunum)
-{
- if (menunum < 1 || menunum > menuListSize) {
- return NULL;
- }
- return __glutMenuList[menunum - 1];
-}
-
-static int
-getUnusedMenuSlot(void)
-{
- int i;
-
- /* Look for allocated, unused slot. */
- for (i = 0; i < menuListSize; i++) {
- if (!__glutMenuList[i]) {
- return i;
- }
- }
- /* Allocate a new slot. */
- menuListSize++;
- if (__glutMenuList) {
- __glutMenuList = (GLUTmenu **)
- realloc(__glutMenuList, menuListSize * sizeof(GLUTmenu *));
- } else {
- /* XXX Some realloc's do not correctly perform a malloc
- when asked to perform a realloc on a NULL pointer,
- though the ANSI C library spec requires this. */
- __glutMenuList = (GLUTmenu **) malloc(sizeof(GLUTmenu *));
- }
- if (!__glutMenuList) {
- __glutFatalError("out of memory.");
- }
- __glutMenuList[menuListSize - 1] = NULL;
- return menuListSize - 1;
-}
-
-void
-__glutMenuModificationError(void)
-{
- /* XXX Remove the warning after GLUT 3.0. */
- __glutWarning("The following is a new check for GLUT 3.0; update your code.");
- __glutFatalError("menu manipulation not allowed while menus in use.");
-}
-
-
-static void
-menuItemEnterOrLeave(GLUTmenuItem * item,
- int num, int type)
-{
- int alreadyUp = 0;
-
- if (type == EnterNotify) {
- GLUTmenuItem *prevItem = item->menu->highlighted;
-
- if (prevItem && prevItem != item) {
- /* If there's an already higlighted item in this menu
- that is different from this one (we could be
- re-entering an item with an already cascaded
- submenu!), unhighlight the previous item. */
- item->menu->highlighted = NULL;
- paintMenuItem(prevItem, getMenuItemIndex(prevItem));
- }
- item->menu->highlighted = item;
- __glutItemSelected = item;
- if (item->menu->cascade) {
- if (!item->isTrigger) {
- /* Entered a menu item that is not a submenu trigger,
- so pop down the current submenu cascade of this
- menu. */
- unmapMenu(item->menu->cascade);
- item->menu->cascade = NULL;
- } else {
- GLUTmenu *submenu = __glutMenuList[item->value];
-
- if (submenu->anchor == item) {
- /* We entered the submenu trigger for the submenu
- that is already up, so don't take down the
- submenu. */
- alreadyUp = 1;
- } else {
- /* Submenu already popped up for some other submenu
- item of this menu; need to pop down that other
- submenu cascade. */
- unmapMenu(item->menu->cascade);
- item->menu->cascade = NULL;
- }
- }
- }
- if (!alreadyUp) {
- /* Make sure the menu item gets painted with
- highlighting. */
- paintMenuItem(item, num);
- } else {
- /* If already up, should already be highlighted. */
- }
- } else {
- /* LeaveNotify: Handle leaving a menu item... */
- if (item->menu->cascade &&
- item->menu->cascade->anchor == item) {
- /* If there is a submenu casacaded from this item, do not
- change the highlighting on this item upon leaving. */
- } else {
- /* Unhighlight this menu item. */
- item->menu->highlighted = NULL;
- paintMenuItem(item, num);
- }
- __glutItemSelected = NULL;
- }
- if (item->isTrigger) {
- if (type == EnterNotify && !alreadyUp) {
- GLUTmenu *submenu = __glutMenuList[item->value];
-
- mapMenu(submenu,
- item->menu->x + item->menu->pixwidth +
- MENU_ARROW_GAP + MENU_ARROW_WIDTH +
- MENU_GAP + MENU_BORDER,
- item->menu->y + fontHeight * (num - 1) + MENU_GAP);
- item->menu->cascade = submenu;
- submenu->anchor = item;
- }
- }
-}
-
-/* Installs callback functions for use by glut_event.c The point
- of this is so that GLUT's menu code only gets linked into
- GLUT binaries (assuming a static library) if the GLUT menu
- API is used. */
-static void
-installMenuCallbacks(void)
-{
- __glutMenuItemEnterOrLeave = menuItemEnterOrLeave;
- __glutFinishMenu = finishMenu;
- __glutPaintMenu = paintMenu;
- __glutStartMenu = startMenu;
- __glutGetMenuByNum = getMenuByNum;
- __glutGetMenu = getMenu;
- __glutGetMenuItem = getMenuItem;
-}
-
-int GLUTAPIENTRY
-glutCreateMenu(GLUTselectCB selectFunc)
-{
- XSetWindowAttributes wa;
- GLUTmenu *menu;
- int menuid;
-
- if (__glutMappedMenu) {
- __glutMenuModificationError();
- }
- if (!__glutDisplay) {
- __glutOpenXConnection(NULL);
- }
-
- installMenuCallbacks();
-
- menuid = getUnusedMenuSlot();
- menu = (GLUTmenu *) malloc(sizeof(GLUTmenu));
- if (!menu) {
- __glutFatalError("out of memory.");
- }
- menu->id = menuid;
- menu->num = 0;
- menu->submenus = 0;
- menu->managed = False;
- menu->searched = False;
- menu->pixwidth = 0;
- menu->select = selectFunc;
- menu->list = NULL;
- menu->cascade = NULL;
- menu->highlighted = NULL;
- menu->anchor = NULL;
- menuSetup();
- wa.override_redirect = True;
- wa.background_pixel = menuGray;
- wa.border_pixel = menuBlack;
- wa.colormap = menuColormap;
- wa.event_mask = StructureNotifyMask | ExposureMask |
- ButtonPressMask | ButtonReleaseMask |
- EnterWindowMask | LeaveWindowMask;
- /* Save unders really only enabled if useSaveUnders is set to
- CWSaveUnder, ie. using Mesa 3D. See earlier comments. */
- wa.save_under = True;
- menu->win = XCreateWindow(__glutDisplay, __glutRoot,
- /* Real position determined when mapped. */
- 0, 0,
- /* Real size will be determined when menu is manged. */
- 1, 1,
- MENU_BORDER, menuDepth, InputOutput, menuVisual,
- CWOverrideRedirect | CWBackPixel | CWBorderPixel |
- CWEventMask | CWColormap | useSaveUnders,
- &wa);
- menuGraphicsContextSetup(menu->win);
- __glutMenuList[menuid] = menu;
- __glutSetMenu(menu);
- return menuid + 1;
-}
-
-/* CENTRY */
-int GLUTAPIENTRY
-glutGetMenu(void)
-{
- if (__glutCurrentMenu) {
- return __glutCurrentMenu->id + 1;
- } else {
- return 0;
- }
-}
-
-void GLUTAPIENTRY
-glutSetMenu(int menuid)
-{
- GLUTmenu *menu;
-
- if (menuid < 1 || menuid > menuListSize) {
- __glutWarning("glutSetMenu attempted on bogus menu.");
- return;
- }
- menu = __glutMenuList[menuid - 1];
- if (!menu) {
- __glutWarning("glutSetMenu attempted on bogus menu.");
- return;
- }
- __glutSetMenu(menu);
-}
-/* ENDCENTRY */
-
-void
-__glutSetMenuItem(GLUTmenuItem * item, const char *label,
- int value, Bool isTrigger)
-{
- GLUTmenu *menu;
-
- menu = item->menu;
- item->label = __glutStrdup(label);
- if (!item->label) {
- __glutFatalError("out of memory.");
- }
- item->isTrigger = isTrigger;
- item->len = (int) strlen(label);
- item->value = value;
- item->pixwidth = XTextWidth(menuFont, label, item->len) + 4;
- if (item->pixwidth > menu->pixwidth) {
- menu->pixwidth = item->pixwidth;
- }
- menu->managed = False;
-}
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutAddMenuEntry(const char *label, int value)
-{
- XSetWindowAttributes wa;
- GLUTmenuItem *entry;
-
- if (__glutMappedMenu) {
- __glutMenuModificationError();
- }
- entry = (GLUTmenuItem *) malloc(sizeof(GLUTmenuItem));
- if (!entry) {
- __glutFatalError("out of memory.");
- }
- entry->menu = __glutCurrentMenu;
- __glutSetMenuItem(entry, label, value, False);
- wa.event_mask = EnterWindowMask | LeaveWindowMask;
- entry->win = XCreateWindow(__glutDisplay,
- __glutCurrentMenu->win, MENU_GAP,
- __glutCurrentMenu->num * fontHeight + MENU_GAP, /* x & y */
- entry->pixwidth, fontHeight, /* width & height */
- 0, CopyFromParent, InputOnly, CopyFromParent,
- CWEventMask, &wa);
- XMapWindow(__glutDisplay, entry->win);
- __glutCurrentMenu->num++;
- entry->next = __glutCurrentMenu->list;
- __glutCurrentMenu->list = entry;
-}
-
-void GLUTAPIENTRY
-glutAddSubMenu(const char *label, int menu)
-{
- XSetWindowAttributes wa;
- GLUTmenuItem *submenu;
-
- if (__glutMappedMenu) {
- __glutMenuModificationError();
- }
- submenu = (GLUTmenuItem *) malloc(sizeof(GLUTmenuItem));
- if (!submenu) {
- __glutFatalError("out of memory.");
- }
- __glutCurrentMenu->submenus++;
- submenu->menu = __glutCurrentMenu;
- __glutSetMenuItem(submenu, label, /* base 0 */ menu - 1, True);
- wa.event_mask = EnterWindowMask | LeaveWindowMask;
- submenu->win = XCreateWindow(__glutDisplay,
- __glutCurrentMenu->win, MENU_GAP,
- __glutCurrentMenu->num * fontHeight + MENU_GAP, /* x & y */
- submenu->pixwidth, fontHeight, /* width & height */
- 0, CopyFromParent, InputOnly, CopyFromParent,
- CWEventMask, &wa);
- XMapWindow(__glutDisplay, submenu->win);
- __glutCurrentMenu->num++;
- submenu->next = __glutCurrentMenu->list;
- __glutCurrentMenu->list = submenu;
-}
-
-void GLUTAPIENTRY
-glutAttachMenu(int button)
-{
- /* if button >= GLUT_MAX_MENUS, we'll go out of array bounds below */
- if (button >= GLUT_MAX_MENUS) {
- return;
- }
- if (__glutMappedMenu) {
- __glutMenuModificationError();
- }
- installMenuCallbacks();
- if (__glutCurrentWindow->menu[button] < 1) {
- __glutCurrentWindow->buttonUses++;
- }
- __glutChangeWindowEventMask(
- ButtonPressMask | ButtonReleaseMask, True);
- __glutCurrentWindow->menu[button] = __glutCurrentMenu->id + 1;
-}
-/* ENDCENTRY */
diff --git a/src/glut/glx/glut_menu2.c b/src/glut/glx/glut_menu2.c
deleted file mode 100644
index 969b8120b4..0000000000
--- a/src/glut/glx/glut_menu2.c
+++ /dev/null
@@ -1,189 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994, 1997. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-/* glut_menu2.c implements the little used GLUT menu calls in
- a distinct file from glut_menu.c for slim static linking. */
-
-/* The Win32 GLUT file win32_menu.c completely re-implements all
- the menuing functionality implemented. This file is used only by
- the X Window System version of GLUT. */
-
-#ifdef __VMS
-#include <GL/vms_x_fix.h>
-#endif
-
-#include <stdlib.h>
-#include <string.h>
-#include <stdio.h>
-#include <errno.h>
-#include <assert.h>
-
-#include <X11/Xlib.h>
-
-#include "glutint.h"
-#include "layerutil.h"
-
-/* CENTRY */
-/* DEPRICATED, use glutMenuStatusFunc instead. */
-void GLUTAPIENTRY
-glutMenuStateFunc(GLUTmenuStateCB menuStateFunc)
-{
- __glutMenuStatusFunc = (GLUTmenuStatusCB) menuStateFunc;
-}
-
-void GLUTAPIENTRY
-glutMenuStatusFunc(GLUTmenuStatusCB menuStatusFunc)
-{
- __glutMenuStatusFunc = menuStatusFunc;
-}
-
-void GLUTAPIENTRY
-glutDestroyMenu(int menunum)
-{
- GLUTmenu *menu = __glutGetMenuByNum(menunum);
- GLUTmenuItem *item, *next;
-
- if (__glutMappedMenu)
- __glutMenuModificationError();
- assert(menu->id == menunum - 1);
- XDestroySubwindows(__glutDisplay, menu->win);
- XDestroyWindow(__glutDisplay, menu->win);
- __glutMenuList[menunum - 1] = NULL;
- /* free all menu entries */
- item = menu->list;
- while (item) {
- assert(item->menu == menu);
- next = item->next;
- free(item->label);
- free(item);
- item = next;
- }
- if (__glutCurrentMenu == menu) {
- __glutCurrentMenu = NULL;
- }
- free(menu);
-}
-
-void GLUTAPIENTRY
-glutChangeToMenuEntry(int num, const char *label, int value)
-{
- GLUTmenuItem *item;
- int i;
-
- if (__glutMappedMenu)
- __glutMenuModificationError();
- i = __glutCurrentMenu->num;
- item = __glutCurrentMenu->list;
- while (item) {
- if (i == num) {
- if (item->isTrigger) {
- /* If changing a submenu trigger to a menu entry, we
- need to account for submenus. */
- item->menu->submenus--;
- }
- free(item->label);
- __glutSetMenuItem(item, label, value, False);
- return;
- }
- i--;
- item = item->next;
- }
- __glutWarning("Current menu has no %d item.", num);
-}
-
-void GLUTAPIENTRY
-glutChangeToSubMenu(int num, const char *label, int menu)
-{
- GLUTmenuItem *item;
- int i;
-
- if (__glutMappedMenu)
- __glutMenuModificationError();
- i = __glutCurrentMenu->num;
- item = __glutCurrentMenu->list;
- while (item) {
- if (i == num) {
- if (!item->isTrigger) {
- /* If changing a menu entry to as submenu trigger, we
- need to account for submenus. */
- item->menu->submenus++;
- }
- free(item->label);
- __glutSetMenuItem(item, label, /* base 0 */ menu - 1, True);
- return;
- }
- i--;
- item = item->next;
- }
- __glutWarning("Current menu has no %d item.", num);
-}
-
-void GLUTAPIENTRY
-glutRemoveMenuItem(int num)
-{
- GLUTmenuItem *item, **prev, *remaining;
- int pixwidth, i;
-
- if (__glutMappedMenu)
- __glutMenuModificationError();
- i = __glutCurrentMenu->num;
- prev = &__glutCurrentMenu->list;
- item = __glutCurrentMenu->list;
- /* If menu item is removed, the menu's pixwidth may need to
- be recomputed. */
- pixwidth = 1;
- while (item) {
- if (i == num) {
- /* If this menu item's pixwidth is as wide as the menu's
- pixwidth, removing this menu item will necessitate
- shrinking the menu's pixwidth. */
- if (item->pixwidth >= __glutCurrentMenu->pixwidth) {
- /* Continue recalculating menu pixwidth, first skipping
- the removed item. */
- remaining = item->next;
- while (remaining) {
- if (remaining->pixwidth > pixwidth) {
- pixwidth = remaining->pixwidth;
- }
- remaining = remaining->next;
- }
- __glutCurrentMenu->pixwidth = pixwidth;
- }
- __glutCurrentMenu->num--;
- __glutCurrentMenu->managed = False;
-
- /* Patch up menu's item list. */
- *prev = item->next;
-
- free(item->label);
- free(item);
- return;
- }
- if (item->pixwidth > pixwidth) {
- pixwidth = item->pixwidth;
- }
- i--;
- prev = &item->next;
- item = item->next;
- }
- __glutWarning("Current menu has no %d item.", num);
-}
-
-void GLUTAPIENTRY
-glutDetachMenu(int button)
-{
- if (__glutMappedMenu)
- __glutMenuModificationError();
- if (__glutCurrentWindow->menu[button] > 0) {
- __glutCurrentWindow->buttonUses--;
- __glutChangeWindowEventMask(ButtonPressMask | ButtonReleaseMask,
- __glutCurrentWindow->buttonUses > 0);
- __glutCurrentWindow->menu[button] = 0;
- }
-}
-
-/* ENDCENTRY */
diff --git a/src/glut/glx/glut_mesa.c b/src/glut/glx/glut_mesa.c
deleted file mode 100644
index 7e202fa078..0000000000
--- a/src/glut/glx/glut_mesa.c
+++ /dev/null
@@ -1,57 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1996. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include <stdlib.h>
-#include <string.h>
-#include "glutint.h"
-
-int __glutMesaSwapHackSupport = 0; /* Not supported until
- proven otherwise. */
-
-/* Use the "Mesa swap hack" if reasonable if and only if
- MESA_SWAP_HACK is set to something whose first character is
- not "N" or "n" AND "Brian Paul" is the vendor string AND
- "Mesa X11"* (or "Mesa" for backward compatibility) is the
- renderer string.
-
- Anyone who modifies Mesa so that glXSwapBuffers does not
- simply blit the previously rendered back buffer should
- change either their vendor or renderer string to avoid
- confusing GLUT. */
-
-void
-__glutDetermineMesaSwapHackSupport(void)
-{
- static int doneAlready = 0;
- char *env, *vendor, *renderer;
-
- if (doneAlready)
- return;
- env = getenv("MESA_SWAP_HACK");
- if (env) {
- if ((env[0] != 'n') && (env[0] != 'N')) {
- vendor = (char *) glGetString(GL_VENDOR);
- renderer = (char *) glGetString(GL_RENDERER);
-
- /* Old versions of X11 Mesa uses the renderer string
- "Mesa"; Brian plans to start using "Mesa X11" to
- distinguish the X version of Mesa from other flavor
- such as Windows or 3Dfx. */
-
-#define MESA_X11 "Mesa X11"
-
- /* XXX At some point in the future, eliminate the
- backward compatibility for the old "Mesa" renderer
- string. */
-
- if (!strcmp(vendor, "Brian Paul") && (!strcmp(renderer, "Mesa") ||
- !strncmp(renderer, MESA_X11, sizeof(MESA_X11) - 1)))
- __glutMesaSwapHackSupport = 1;
- }
- }
- doneAlready = 1;
-}
diff --git a/src/glut/glx/glut_modifier.c b/src/glut/glx/glut_modifier.c
deleted file mode 100644
index 69fa5aba95..0000000000
--- a/src/glut/glx/glut_modifier.c
+++ /dev/null
@@ -1,31 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include "glutint.h"
-
-/* CENTRY */
-int GLUTAPIENTRY
-glutGetModifiers(void)
-{
- int modifiers;
-
- if(__glutModifierMask == (unsigned int) ~0) {
- __glutWarning(
- "glutCurrentModifiers: do not call outside core input callback.");
- return 0;
- }
- modifiers = 0;
- if(__glutModifierMask & (ShiftMask|LockMask))
- modifiers |= GLUT_ACTIVE_SHIFT;
- if(__glutModifierMask & ControlMask)
- modifiers |= GLUT_ACTIVE_CTRL;
- if(__glutModifierMask & Mod1Mask)
- modifiers |= GLUT_ACTIVE_ALT;
- return modifiers;
-}
-
-/* ENDCENTRY */
diff --git a/src/glut/glx/glut_mroman.c b/src/glut/glx/glut_mroman.c
deleted file mode 100644
index a29f043b4a..0000000000
--- a/src/glut/glx/glut_mroman.c
+++ /dev/null
@@ -1,2451 +0,0 @@
-
-/* GENERATED FILE -- DO NOT MODIFY */
-
-#include "glutstroke.h"
-
-/* char: 33 '!' */
-
-static const CoordRec char33_stroke0[] = {
- { 52.381, 100 },
- { 52.381, 33.3333 },
-};
-
-static const CoordRec char33_stroke1[] = {
- { 52.381, 9.5238 },
- { 47.6191, 4.7619 },
- { 52.381, 0 },
- { 57.1429, 4.7619 },
- { 52.381, 9.5238 },
-};
-
-static const StrokeRec char33[] = {
- { 2, char33_stroke0 },
- { 5, char33_stroke1 },
-};
-
-/* char: 34 '"' */
-
-static const CoordRec char34_stroke0[] = {
- { 33.3334, 100 },
- { 33.3334, 66.6667 },
-};
-
-static const CoordRec char34_stroke1[] = {
- { 71.4286, 100 },
- { 71.4286, 66.6667 },
-};
-
-static const StrokeRec char34[] = {
- { 2, char34_stroke0 },
- { 2, char34_stroke1 },
-};
-
-/* char: 35 '#' */
-
-static const CoordRec char35_stroke0[] = {
- { 54.7619, 119.048 },
- { 21.4286, -33.3333 },
-};
-
-static const CoordRec char35_stroke1[] = {
- { 83.3334, 119.048 },
- { 50, -33.3333 },
-};
-
-static const CoordRec char35_stroke2[] = {
- { 21.4286, 57.1429 },
- { 88.0952, 57.1429 },
-};
-
-static const CoordRec char35_stroke3[] = {
- { 16.6667, 28.5714 },
- { 83.3334, 28.5714 },
-};
-
-static const StrokeRec char35[] = {
- { 2, char35_stroke0 },
- { 2, char35_stroke1 },
- { 2, char35_stroke2 },
- { 2, char35_stroke3 },
-};
-
-/* char: 36 '$' */
-
-static const CoordRec char36_stroke0[] = {
- { 42.8571, 119.048 },
- { 42.8571, -19.0476 },
-};
-
-static const CoordRec char36_stroke1[] = {
- { 61.9047, 119.048 },
- { 61.9047, -19.0476 },
-};
-
-static const CoordRec char36_stroke2[] = {
- { 85.7143, 85.7143 },
- { 76.1905, 95.2381 },
- { 61.9047, 100 },
- { 42.8571, 100 },
- { 28.5714, 95.2381 },
- { 19.0476, 85.7143 },
- { 19.0476, 76.1905 },
- { 23.8095, 66.6667 },
- { 28.5714, 61.9048 },
- { 38.0952, 57.1429 },
- { 66.6666, 47.619 },
- { 76.1905, 42.8571 },
- { 80.9524, 38.0952 },
- { 85.7143, 28.5714 },
- { 85.7143, 14.2857 },
- { 76.1905, 4.7619 },
- { 61.9047, 0 },
- { 42.8571, 0 },
- { 28.5714, 4.7619 },
- { 19.0476, 14.2857 },
-};
-
-static const StrokeRec char36[] = {
- { 2, char36_stroke0 },
- { 2, char36_stroke1 },
- { 20, char36_stroke2 },
-};
-
-/* char: 37 '%' */
-
-static const CoordRec char37_stroke0[] = {
- { 95.2381, 100 },
- { 9.5238, 0 },
-};
-
-static const CoordRec char37_stroke1[] = {
- { 33.3333, 100 },
- { 42.8571, 90.4762 },
- { 42.8571, 80.9524 },
- { 38.0952, 71.4286 },
- { 28.5714, 66.6667 },
- { 19.0476, 66.6667 },
- { 9.5238, 76.1905 },
- { 9.5238, 85.7143 },
- { 14.2857, 95.2381 },
- { 23.8095, 100 },
- { 33.3333, 100 },
- { 42.8571, 95.2381 },
- { 57.1428, 90.4762 },
- { 71.4286, 90.4762 },
- { 85.7143, 95.2381 },
- { 95.2381, 100 },
-};
-
-static const CoordRec char37_stroke2[] = {
- { 76.1905, 33.3333 },
- { 66.6667, 28.5714 },
- { 61.9048, 19.0476 },
- { 61.9048, 9.5238 },
- { 71.4286, 0 },
- { 80.9524, 0 },
- { 90.4762, 4.7619 },
- { 95.2381, 14.2857 },
- { 95.2381, 23.8095 },
- { 85.7143, 33.3333 },
- { 76.1905, 33.3333 },
-};
-
-static const StrokeRec char37[] = {
- { 2, char37_stroke0 },
- { 16, char37_stroke1 },
- { 11, char37_stroke2 },
-};
-
-/* char: 38 '&' */
-
-static const CoordRec char38_stroke0[] = {
- { 100, 57.1429 },
- { 100, 61.9048 },
- { 95.2381, 66.6667 },
- { 90.4762, 66.6667 },
- { 85.7143, 61.9048 },
- { 80.9524, 52.381 },
- { 71.4286, 28.5714 },
- { 61.9048, 14.2857 },
- { 52.3809, 4.7619 },
- { 42.8571, 0 },
- { 23.8095, 0 },
- { 14.2857, 4.7619 },
- { 9.5238, 9.5238 },
- { 4.7619, 19.0476 },
- { 4.7619, 28.5714 },
- { 9.5238, 38.0952 },
- { 14.2857, 42.8571 },
- { 47.619, 61.9048 },
- { 52.3809, 66.6667 },
- { 57.1429, 76.1905 },
- { 57.1429, 85.7143 },
- { 52.3809, 95.2381 },
- { 42.8571, 100 },
- { 33.3333, 95.2381 },
- { 28.5714, 85.7143 },
- { 28.5714, 76.1905 },
- { 33.3333, 61.9048 },
- { 42.8571, 47.619 },
- { 66.6667, 14.2857 },
- { 76.1905, 4.7619 },
- { 85.7143, 0 },
- { 95.2381, 0 },
- { 100, 4.7619 },
- { 100, 9.5238 },
-};
-
-static const StrokeRec char38[] = {
- { 34, char38_stroke0 },
-};
-
-/* char: 39 ''' */
-
-static const CoordRec char39_stroke0[] = {
- { 52.381, 100 },
- { 52.381, 66.6667 },
-};
-
-static const StrokeRec char39[] = {
- { 2, char39_stroke0 },
-};
-
-/* char: 40 '(' */
-
-static const CoordRec char40_stroke0[] = {
- { 69.0476, 119.048 },
- { 59.5238, 109.524 },
- { 50, 95.2381 },
- { 40.4762, 76.1905 },
- { 35.7143, 52.381 },
- { 35.7143, 33.3333 },
- { 40.4762, 9.5238 },
- { 50, -9.5238 },
- { 59.5238, -23.8095 },
- { 69.0476, -33.3333 },
-};
-
-static const StrokeRec char40[] = {
- { 10, char40_stroke0 },
-};
-
-/* char: 41 ')' */
-
-static const CoordRec char41_stroke0[] = {
- { 35.7143, 119.048 },
- { 45.2381, 109.524 },
- { 54.7619, 95.2381 },
- { 64.2857, 76.1905 },
- { 69.0476, 52.381 },
- { 69.0476, 33.3333 },
- { 64.2857, 9.5238 },
- { 54.7619, -9.5238 },
- { 45.2381, -23.8095 },
- { 35.7143, -33.3333 },
-};
-
-static const StrokeRec char41[] = {
- { 10, char41_stroke0 },
-};
-
-/* char: 42 '*' */
-
-static const CoordRec char42_stroke0[] = {
- { 52.381, 71.4286 },
- { 52.381, 14.2857 },
-};
-
-static const CoordRec char42_stroke1[] = {
- { 28.5715, 57.1429 },
- { 76.1905, 28.5714 },
-};
-
-static const CoordRec char42_stroke2[] = {
- { 76.1905, 57.1429 },
- { 28.5715, 28.5714 },
-};
-
-static const StrokeRec char42[] = {
- { 2, char42_stroke0 },
- { 2, char42_stroke1 },
- { 2, char42_stroke2 },
-};
-
-/* char: 43 '+' */
-
-static const CoordRec char43_stroke0[] = {
- { 52.3809, 85.7143 },
- { 52.3809, 0 },
-};
-
-static const CoordRec char43_stroke1[] = {
- { 9.5238, 42.8571 },
- { 95.2381, 42.8571 },
-};
-
-static const StrokeRec char43[] = {
- { 2, char43_stroke0 },
- { 2, char43_stroke1 },
-};
-
-/* char: 44 ',' */
-
-static const CoordRec char44_stroke0[] = {
- { 57.1429, 4.7619 },
- { 52.381, 0 },
- { 47.6191, 4.7619 },
- { 52.381, 9.5238 },
- { 57.1429, 4.7619 },
- { 57.1429, -4.7619 },
- { 52.381, -14.2857 },
- { 47.6191, -19.0476 },
-};
-
-static const StrokeRec char44[] = {
- { 8, char44_stroke0 },
-};
-
-/* char: 45 '-' */
-
-static const CoordRec char45_stroke0[] = {
- { 9.5238, 42.8571 },
- { 95.2381, 42.8571 },
-};
-
-static const StrokeRec char45[] = {
- { 2, char45_stroke0 },
-};
-
-/* char: 46 '.' */
-
-static const CoordRec char46_stroke0[] = {
- { 52.381, 9.5238 },
- { 47.6191, 4.7619 },
- { 52.381, 0 },
- { 57.1429, 4.7619 },
- { 52.381, 9.5238 },
-};
-
-static const StrokeRec char46[] = {
- { 5, char46_stroke0 },
-};
-
-/* char: 47 '/' */
-
-static const CoordRec char47_stroke0[] = {
- { 19.0476, -14.2857 },
- { 85.7143, 100 },
-};
-
-static const StrokeRec char47[] = {
- { 2, char47_stroke0 },
-};
-
-/* char: 48 '0' */
-
-static const CoordRec char48_stroke0[] = {
- { 47.619, 100 },
- { 33.3333, 95.2381 },
- { 23.8095, 80.9524 },
- { 19.0476, 57.1429 },
- { 19.0476, 42.8571 },
- { 23.8095, 19.0476 },
- { 33.3333, 4.7619 },
- { 47.619, 0 },
- { 57.1428, 0 },
- { 71.4286, 4.7619 },
- { 80.9524, 19.0476 },
- { 85.7143, 42.8571 },
- { 85.7143, 57.1429 },
- { 80.9524, 80.9524 },
- { 71.4286, 95.2381 },
- { 57.1428, 100 },
- { 47.619, 100 },
-};
-
-static const StrokeRec char48[] = {
- { 17, char48_stroke0 },
-};
-
-/* char: 49 '1' */
-
-static const CoordRec char49_stroke0[] = {
- { 40.4762, 80.9524 },
- { 50, 85.7143 },
- { 64.2857, 100 },
- { 64.2857, 0 },
-};
-
-static const StrokeRec char49[] = {
- { 4, char49_stroke0 },
-};
-
-/* char: 50 '2' */
-
-static const CoordRec char50_stroke0[] = {
- { 23.8095, 76.1905 },
- { 23.8095, 80.9524 },
- { 28.5714, 90.4762 },
- { 33.3333, 95.2381 },
- { 42.8571, 100 },
- { 61.9047, 100 },
- { 71.4286, 95.2381 },
- { 76.1905, 90.4762 },
- { 80.9524, 80.9524 },
- { 80.9524, 71.4286 },
- { 76.1905, 61.9048 },
- { 66.6666, 47.619 },
- { 19.0476, 0 },
- { 85.7143, 0 },
-};
-
-static const StrokeRec char50[] = {
- { 14, char50_stroke0 },
-};
-
-/* char: 51 '3' */
-
-static const CoordRec char51_stroke0[] = {
- { 28.5714, 100 },
- { 80.9524, 100 },
- { 52.3809, 61.9048 },
- { 66.6666, 61.9048 },
- { 76.1905, 57.1429 },
- { 80.9524, 52.381 },
- { 85.7143, 38.0952 },
- { 85.7143, 28.5714 },
- { 80.9524, 14.2857 },
- { 71.4286, 4.7619 },
- { 57.1428, 0 },
- { 42.8571, 0 },
- { 28.5714, 4.7619 },
- { 23.8095, 9.5238 },
- { 19.0476, 19.0476 },
-};
-
-static const StrokeRec char51[] = {
- { 15, char51_stroke0 },
-};
-
-/* char: 52 '4' */
-
-static const CoordRec char52_stroke0[] = {
- { 64.2857, 100 },
- { 16.6667, 33.3333 },
- { 88.0952, 33.3333 },
-};
-
-static const CoordRec char52_stroke1[] = {
- { 64.2857, 100 },
- { 64.2857, 0 },
-};
-
-static const StrokeRec char52[] = {
- { 3, char52_stroke0 },
- { 2, char52_stroke1 },
-};
-
-/* char: 53 '5' */
-
-static const CoordRec char53_stroke0[] = {
- { 76.1905, 100 },
- { 28.5714, 100 },
- { 23.8095, 57.1429 },
- { 28.5714, 61.9048 },
- { 42.8571, 66.6667 },
- { 57.1428, 66.6667 },
- { 71.4286, 61.9048 },
- { 80.9524, 52.381 },
- { 85.7143, 38.0952 },
- { 85.7143, 28.5714 },
- { 80.9524, 14.2857 },
- { 71.4286, 4.7619 },
- { 57.1428, 0 },
- { 42.8571, 0 },
- { 28.5714, 4.7619 },
- { 23.8095, 9.5238 },
- { 19.0476, 19.0476 },
-};
-
-static const StrokeRec char53[] = {
- { 17, char53_stroke0 },
-};
-
-/* char: 54 '6' */
-
-static const CoordRec char54_stroke0[] = {
- { 78.5714, 85.7143 },
- { 73.8096, 95.2381 },
- { 59.5238, 100 },
- { 50, 100 },
- { 35.7143, 95.2381 },
- { 26.1905, 80.9524 },
- { 21.4286, 57.1429 },
- { 21.4286, 33.3333 },
- { 26.1905, 14.2857 },
- { 35.7143, 4.7619 },
- { 50, 0 },
- { 54.7619, 0 },
- { 69.0476, 4.7619 },
- { 78.5714, 14.2857 },
- { 83.3334, 28.5714 },
- { 83.3334, 33.3333 },
- { 78.5714, 47.619 },
- { 69.0476, 57.1429 },
- { 54.7619, 61.9048 },
- { 50, 61.9048 },
- { 35.7143, 57.1429 },
- { 26.1905, 47.619 },
- { 21.4286, 33.3333 },
-};
-
-static const StrokeRec char54[] = {
- { 23, char54_stroke0 },
-};
-
-/* char: 55 '7' */
-
-static const CoordRec char55_stroke0[] = {
- { 85.7143, 100 },
- { 38.0952, 0 },
-};
-
-static const CoordRec char55_stroke1[] = {
- { 19.0476, 100 },
- { 85.7143, 100 },
-};
-
-static const StrokeRec char55[] = {
- { 2, char55_stroke0 },
- { 2, char55_stroke1 },
-};
-
-/* char: 56 '8' */
-
-static const CoordRec char56_stroke0[] = {
- { 42.8571, 100 },
- { 28.5714, 95.2381 },
- { 23.8095, 85.7143 },
- { 23.8095, 76.1905 },
- { 28.5714, 66.6667 },
- { 38.0952, 61.9048 },
- { 57.1428, 57.1429 },
- { 71.4286, 52.381 },
- { 80.9524, 42.8571 },
- { 85.7143, 33.3333 },
- { 85.7143, 19.0476 },
- { 80.9524, 9.5238 },
- { 76.1905, 4.7619 },
- { 61.9047, 0 },
- { 42.8571, 0 },
- { 28.5714, 4.7619 },
- { 23.8095, 9.5238 },
- { 19.0476, 19.0476 },
- { 19.0476, 33.3333 },
- { 23.8095, 42.8571 },
- { 33.3333, 52.381 },
- { 47.619, 57.1429 },
- { 66.6666, 61.9048 },
- { 76.1905, 66.6667 },
- { 80.9524, 76.1905 },
- { 80.9524, 85.7143 },
- { 76.1905, 95.2381 },
- { 61.9047, 100 },
- { 42.8571, 100 },
-};
-
-static const StrokeRec char56[] = {
- { 29, char56_stroke0 },
-};
-
-/* char: 57 '9' */
-
-static const CoordRec char57_stroke0[] = {
- { 83.3334, 66.6667 },
- { 78.5714, 52.381 },
- { 69.0476, 42.8571 },
- { 54.7619, 38.0952 },
- { 50, 38.0952 },
- { 35.7143, 42.8571 },
- { 26.1905, 52.381 },
- { 21.4286, 66.6667 },
- { 21.4286, 71.4286 },
- { 26.1905, 85.7143 },
- { 35.7143, 95.2381 },
- { 50, 100 },
- { 54.7619, 100 },
- { 69.0476, 95.2381 },
- { 78.5714, 85.7143 },
- { 83.3334, 66.6667 },
- { 83.3334, 42.8571 },
- { 78.5714, 19.0476 },
- { 69.0476, 4.7619 },
- { 54.7619, 0 },
- { 45.2381, 0 },
- { 30.9524, 4.7619 },
- { 26.1905, 14.2857 },
-};
-
-static const StrokeRec char57[] = {
- { 23, char57_stroke0 },
-};
-
-/* char: 58 ':' */
-
-static const CoordRec char58_stroke0[] = {
- { 52.381, 66.6667 },
- { 47.6191, 61.9048 },
- { 52.381, 57.1429 },
- { 57.1429, 61.9048 },
- { 52.381, 66.6667 },
-};
-
-static const CoordRec char58_stroke1[] = {
- { 52.381, 9.5238 },
- { 47.6191, 4.7619 },
- { 52.381, 0 },
- { 57.1429, 4.7619 },
- { 52.381, 9.5238 },
-};
-
-static const StrokeRec char58[] = {
- { 5, char58_stroke0 },
- { 5, char58_stroke1 },
-};
-
-/* char: 59 ';' */
-
-static const CoordRec char59_stroke0[] = {
- { 52.381, 66.6667 },
- { 47.6191, 61.9048 },
- { 52.381, 57.1429 },
- { 57.1429, 61.9048 },
- { 52.381, 66.6667 },
-};
-
-static const CoordRec char59_stroke1[] = {
- { 57.1429, 4.7619 },
- { 52.381, 0 },
- { 47.6191, 4.7619 },
- { 52.381, 9.5238 },
- { 57.1429, 4.7619 },
- { 57.1429, -4.7619 },
- { 52.381, -14.2857 },
- { 47.6191, -19.0476 },
-};
-
-static const StrokeRec char59[] = {
- { 5, char59_stroke0 },
- { 8, char59_stroke1 },
-};
-
-/* char: 60 '<' */
-
-static const CoordRec char60_stroke0[] = {
- { 90.4762, 85.7143 },
- { 14.2857, 42.8571 },
- { 90.4762, 0 },
-};
-
-static const StrokeRec char60[] = {
- { 3, char60_stroke0 },
-};
-
-/* char: 61 '=' */
-
-static const CoordRec char61_stroke0[] = {
- { 9.5238, 57.1429 },
- { 95.2381, 57.1429 },
-};
-
-static const CoordRec char61_stroke1[] = {
- { 9.5238, 28.5714 },
- { 95.2381, 28.5714 },
-};
-
-static const StrokeRec char61[] = {
- { 2, char61_stroke0 },
- { 2, char61_stroke1 },
-};
-
-/* char: 62 '>' */
-
-static const CoordRec char62_stroke0[] = {
- { 14.2857, 85.7143 },
- { 90.4762, 42.8571 },
- { 14.2857, 0 },
-};
-
-static const StrokeRec char62[] = {
- { 3, char62_stroke0 },
-};
-
-/* char: 63 '?' */
-
-static const CoordRec char63_stroke0[] = {
- { 23.8095, 76.1905 },
- { 23.8095, 80.9524 },
- { 28.5714, 90.4762 },
- { 33.3333, 95.2381 },
- { 42.8571, 100 },
- { 61.9047, 100 },
- { 71.4285, 95.2381 },
- { 76.1905, 90.4762 },
- { 80.9524, 80.9524 },
- { 80.9524, 71.4286 },
- { 76.1905, 61.9048 },
- { 71.4285, 57.1429 },
- { 52.3809, 47.619 },
- { 52.3809, 33.3333 },
-};
-
-static const CoordRec char63_stroke1[] = {
- { 52.3809, 9.5238 },
- { 47.619, 4.7619 },
- { 52.3809, 0 },
- { 57.1428, 4.7619 },
- { 52.3809, 9.5238 },
-};
-
-static const StrokeRec char63[] = {
- { 14, char63_stroke0 },
- { 5, char63_stroke1 },
-};
-
-/* char: 64 '@' */
-
-static const CoordRec char64_stroke0[] = {
- { 64.2857, 52.381 },
- { 54.7619, 57.1429 },
- { 45.2381, 57.1429 },
- { 40.4762, 47.619 },
- { 40.4762, 42.8571 },
- { 45.2381, 33.3333 },
- { 54.7619, 33.3333 },
- { 64.2857, 38.0952 },
-};
-
-static const CoordRec char64_stroke1[] = {
- { 64.2857, 57.1429 },
- { 64.2857, 38.0952 },
- { 69.0476, 33.3333 },
- { 78.5714, 33.3333 },
- { 83.3334, 42.8571 },
- { 83.3334, 47.619 },
- { 78.5714, 61.9048 },
- { 69.0476, 71.4286 },
- { 54.7619, 76.1905 },
- { 50, 76.1905 },
- { 35.7143, 71.4286 },
- { 26.1905, 61.9048 },
- { 21.4286, 47.619 },
- { 21.4286, 42.8571 },
- { 26.1905, 28.5714 },
- { 35.7143, 19.0476 },
- { 50, 14.2857 },
- { 54.7619, 14.2857 },
- { 69.0476, 19.0476 },
-};
-
-static const StrokeRec char64[] = {
- { 8, char64_stroke0 },
- { 19, char64_stroke1 },
-};
-
-/* char: 65 'A' */
-
-static const CoordRec char65_stroke0[] = {
- { 52.3809, 100 },
- { 14.2857, 0 },
-};
-
-static const CoordRec char65_stroke1[] = {
- { 52.3809, 100 },
- { 90.4762, 0 },
-};
-
-static const CoordRec char65_stroke2[] = {
- { 28.5714, 33.3333 },
- { 76.1905, 33.3333 },
-};
-
-static const StrokeRec char65[] = {
- { 2, char65_stroke0 },
- { 2, char65_stroke1 },
- { 2, char65_stroke2 },
-};
-
-/* char: 66 'B' */
-
-static const CoordRec char66_stroke0[] = {
- { 19.0476, 100 },
- { 19.0476, 0 },
-};
-
-static const CoordRec char66_stroke1[] = {
- { 19.0476, 100 },
- { 61.9047, 100 },
- { 76.1905, 95.2381 },
- { 80.9524, 90.4762 },
- { 85.7143, 80.9524 },
- { 85.7143, 71.4286 },
- { 80.9524, 61.9048 },
- { 76.1905, 57.1429 },
- { 61.9047, 52.381 },
-};
-
-static const CoordRec char66_stroke2[] = {
- { 19.0476, 52.381 },
- { 61.9047, 52.381 },
- { 76.1905, 47.619 },
- { 80.9524, 42.8571 },
- { 85.7143, 33.3333 },
- { 85.7143, 19.0476 },
- { 80.9524, 9.5238 },
- { 76.1905, 4.7619 },
- { 61.9047, 0 },
- { 19.0476, 0 },
-};
-
-static const StrokeRec char66[] = {
- { 2, char66_stroke0 },
- { 9, char66_stroke1 },
- { 10, char66_stroke2 },
-};
-
-/* char: 67 'C' */
-
-static const CoordRec char67_stroke0[] = {
- { 88.0952, 76.1905 },
- { 83.3334, 85.7143 },
- { 73.8096, 95.2381 },
- { 64.2857, 100 },
- { 45.2381, 100 },
- { 35.7143, 95.2381 },
- { 26.1905, 85.7143 },
- { 21.4286, 76.1905 },
- { 16.6667, 61.9048 },
- { 16.6667, 38.0952 },
- { 21.4286, 23.8095 },
- { 26.1905, 14.2857 },
- { 35.7143, 4.7619 },
- { 45.2381, 0 },
- { 64.2857, 0 },
- { 73.8096, 4.7619 },
- { 83.3334, 14.2857 },
- { 88.0952, 23.8095 },
-};
-
-static const StrokeRec char67[] = {
- { 18, char67_stroke0 },
-};
-
-/* char: 68 'D' */
-
-static const CoordRec char68_stroke0[] = {
- { 19.0476, 100 },
- { 19.0476, 0 },
-};
-
-static const CoordRec char68_stroke1[] = {
- { 19.0476, 100 },
- { 52.3809, 100 },
- { 66.6666, 95.2381 },
- { 76.1905, 85.7143 },
- { 80.9524, 76.1905 },
- { 85.7143, 61.9048 },
- { 85.7143, 38.0952 },
- { 80.9524, 23.8095 },
- { 76.1905, 14.2857 },
- { 66.6666, 4.7619 },
- { 52.3809, 0 },
- { 19.0476, 0 },
-};
-
-static const StrokeRec char68[] = {
- { 2, char68_stroke0 },
- { 12, char68_stroke1 },
-};
-
-/* char: 69 'E' */
-
-static const CoordRec char69_stroke0[] = {
- { 21.4286, 100 },
- { 21.4286, 0 },
-};
-
-static const CoordRec char69_stroke1[] = {
- { 21.4286, 100 },
- { 83.3334, 100 },
-};
-
-static const CoordRec char69_stroke2[] = {
- { 21.4286, 52.381 },
- { 59.5238, 52.381 },
-};
-
-static const CoordRec char69_stroke3[] = {
- { 21.4286, 0 },
- { 83.3334, 0 },
-};
-
-static const StrokeRec char69[] = {
- { 2, char69_stroke0 },
- { 2, char69_stroke1 },
- { 2, char69_stroke2 },
- { 2, char69_stroke3 },
-};
-
-/* char: 70 'F' */
-
-static const CoordRec char70_stroke0[] = {
- { 21.4286, 100 },
- { 21.4286, 0 },
-};
-
-static const CoordRec char70_stroke1[] = {
- { 21.4286, 100 },
- { 83.3334, 100 },
-};
-
-static const CoordRec char70_stroke2[] = {
- { 21.4286, 52.381 },
- { 59.5238, 52.381 },
-};
-
-static const StrokeRec char70[] = {
- { 2, char70_stroke0 },
- { 2, char70_stroke1 },
- { 2, char70_stroke2 },
-};
-
-/* char: 71 'G' */
-
-static const CoordRec char71_stroke0[] = {
- { 88.0952, 76.1905 },
- { 83.3334, 85.7143 },
- { 73.8096, 95.2381 },
- { 64.2857, 100 },
- { 45.2381, 100 },
- { 35.7143, 95.2381 },
- { 26.1905, 85.7143 },
- { 21.4286, 76.1905 },
- { 16.6667, 61.9048 },
- { 16.6667, 38.0952 },
- { 21.4286, 23.8095 },
- { 26.1905, 14.2857 },
- { 35.7143, 4.7619 },
- { 45.2381, 0 },
- { 64.2857, 0 },
- { 73.8096, 4.7619 },
- { 83.3334, 14.2857 },
- { 88.0952, 23.8095 },
- { 88.0952, 38.0952 },
-};
-
-static const CoordRec char71_stroke1[] = {
- { 64.2857, 38.0952 },
- { 88.0952, 38.0952 },
-};
-
-static const StrokeRec char71[] = {
- { 19, char71_stroke0 },
- { 2, char71_stroke1 },
-};
-
-/* char: 72 'H' */
-
-static const CoordRec char72_stroke0[] = {
- { 19.0476, 100 },
- { 19.0476, 0 },
-};
-
-static const CoordRec char72_stroke1[] = {
- { 85.7143, 100 },
- { 85.7143, 0 },
-};
-
-static const CoordRec char72_stroke2[] = {
- { 19.0476, 52.381 },
- { 85.7143, 52.381 },
-};
-
-static const StrokeRec char72[] = {
- { 2, char72_stroke0 },
- { 2, char72_stroke1 },
- { 2, char72_stroke2 },
-};
-
-/* char: 73 'I' */
-
-static const CoordRec char73_stroke0[] = {
- { 52.381, 100 },
- { 52.381, 0 },
-};
-
-static const StrokeRec char73[] = {
- { 2, char73_stroke0 },
-};
-
-/* char: 74 'J' */
-
-static const CoordRec char74_stroke0[] = {
- { 76.1905, 100 },
- { 76.1905, 23.8095 },
- { 71.4286, 9.5238 },
- { 66.6667, 4.7619 },
- { 57.1429, 0 },
- { 47.6191, 0 },
- { 38.0953, 4.7619 },
- { 33.3334, 9.5238 },
- { 28.5715, 23.8095 },
- { 28.5715, 33.3333 },
-};
-
-static const StrokeRec char74[] = {
- { 10, char74_stroke0 },
-};
-
-/* char: 75 'K' */
-
-static const CoordRec char75_stroke0[] = {
- { 19.0476, 100 },
- { 19.0476, 0 },
-};
-
-static const CoordRec char75_stroke1[] = {
- { 85.7143, 100 },
- { 19.0476, 33.3333 },
-};
-
-static const CoordRec char75_stroke2[] = {
- { 42.8571, 57.1429 },
- { 85.7143, 0 },
-};
-
-static const StrokeRec char75[] = {
- { 2, char75_stroke0 },
- { 2, char75_stroke1 },
- { 2, char75_stroke2 },
-};
-
-/* char: 76 'L' */
-
-static const CoordRec char76_stroke0[] = {
- { 23.8095, 100 },
- { 23.8095, 0 },
-};
-
-static const CoordRec char76_stroke1[] = {
- { 23.8095, 0 },
- { 80.9524, 0 },
-};
-
-static const StrokeRec char76[] = {
- { 2, char76_stroke0 },
- { 2, char76_stroke1 },
-};
-
-/* char: 77 'M' */
-
-static const CoordRec char77_stroke0[] = {
- { 14.2857, 100 },
- { 14.2857, 0 },
-};
-
-static const CoordRec char77_stroke1[] = {
- { 14.2857, 100 },
- { 52.3809, 0 },
-};
-
-static const CoordRec char77_stroke2[] = {
- { 90.4762, 100 },
- { 52.3809, 0 },
-};
-
-static const CoordRec char77_stroke3[] = {
- { 90.4762, 100 },
- { 90.4762, 0 },
-};
-
-static const StrokeRec char77[] = {
- { 2, char77_stroke0 },
- { 2, char77_stroke1 },
- { 2, char77_stroke2 },
- { 2, char77_stroke3 },
-};
-
-/* char: 78 'N' */
-
-static const CoordRec char78_stroke0[] = {
- { 19.0476, 100 },
- { 19.0476, 0 },
-};
-
-static const CoordRec char78_stroke1[] = {
- { 19.0476, 100 },
- { 85.7143, 0 },
-};
-
-static const CoordRec char78_stroke2[] = {
- { 85.7143, 100 },
- { 85.7143, 0 },
-};
-
-static const StrokeRec char78[] = {
- { 2, char78_stroke0 },
- { 2, char78_stroke1 },
- { 2, char78_stroke2 },
-};
-
-/* char: 79 'O' */
-
-static const CoordRec char79_stroke0[] = {
- { 42.8571, 100 },
- { 33.3333, 95.2381 },
- { 23.8095, 85.7143 },
- { 19.0476, 76.1905 },
- { 14.2857, 61.9048 },
- { 14.2857, 38.0952 },
- { 19.0476, 23.8095 },
- { 23.8095, 14.2857 },
- { 33.3333, 4.7619 },
- { 42.8571, 0 },
- { 61.9047, 0 },
- { 71.4286, 4.7619 },
- { 80.9524, 14.2857 },
- { 85.7143, 23.8095 },
- { 90.4762, 38.0952 },
- { 90.4762, 61.9048 },
- { 85.7143, 76.1905 },
- { 80.9524, 85.7143 },
- { 71.4286, 95.2381 },
- { 61.9047, 100 },
- { 42.8571, 100 },
-};
-
-static const StrokeRec char79[] = {
- { 21, char79_stroke0 },
-};
-
-/* char: 80 'P' */
-
-static const CoordRec char80_stroke0[] = {
- { 19.0476, 100 },
- { 19.0476, 0 },
-};
-
-static const CoordRec char80_stroke1[] = {
- { 19.0476, 100 },
- { 61.9047, 100 },
- { 76.1905, 95.2381 },
- { 80.9524, 90.4762 },
- { 85.7143, 80.9524 },
- { 85.7143, 66.6667 },
- { 80.9524, 57.1429 },
- { 76.1905, 52.381 },
- { 61.9047, 47.619 },
- { 19.0476, 47.619 },
-};
-
-static const StrokeRec char80[] = {
- { 2, char80_stroke0 },
- { 10, char80_stroke1 },
-};
-
-/* char: 81 'Q' */
-
-static const CoordRec char81_stroke0[] = {
- { 42.8571, 100 },
- { 33.3333, 95.2381 },
- { 23.8095, 85.7143 },
- { 19.0476, 76.1905 },
- { 14.2857, 61.9048 },
- { 14.2857, 38.0952 },
- { 19.0476, 23.8095 },
- { 23.8095, 14.2857 },
- { 33.3333, 4.7619 },
- { 42.8571, 0 },
- { 61.9047, 0 },
- { 71.4286, 4.7619 },
- { 80.9524, 14.2857 },
- { 85.7143, 23.8095 },
- { 90.4762, 38.0952 },
- { 90.4762, 61.9048 },
- { 85.7143, 76.1905 },
- { 80.9524, 85.7143 },
- { 71.4286, 95.2381 },
- { 61.9047, 100 },
- { 42.8571, 100 },
-};
-
-static const CoordRec char81_stroke1[] = {
- { 57.1428, 19.0476 },
- { 85.7143, -9.5238 },
-};
-
-static const StrokeRec char81[] = {
- { 21, char81_stroke0 },
- { 2, char81_stroke1 },
-};
-
-/* char: 82 'R' */
-
-static const CoordRec char82_stroke0[] = {
- { 19.0476, 100 },
- { 19.0476, 0 },
-};
-
-static const CoordRec char82_stroke1[] = {
- { 19.0476, 100 },
- { 61.9047, 100 },
- { 76.1905, 95.2381 },
- { 80.9524, 90.4762 },
- { 85.7143, 80.9524 },
- { 85.7143, 71.4286 },
- { 80.9524, 61.9048 },
- { 76.1905, 57.1429 },
- { 61.9047, 52.381 },
- { 19.0476, 52.381 },
-};
-
-static const CoordRec char82_stroke2[] = {
- { 52.3809, 52.381 },
- { 85.7143, 0 },
-};
-
-static const StrokeRec char82[] = {
- { 2, char82_stroke0 },
- { 10, char82_stroke1 },
- { 2, char82_stroke2 },
-};
-
-/* char: 83 'S' */
-
-static const CoordRec char83_stroke0[] = {
- { 85.7143, 85.7143 },
- { 76.1905, 95.2381 },
- { 61.9047, 100 },
- { 42.8571, 100 },
- { 28.5714, 95.2381 },
- { 19.0476, 85.7143 },
- { 19.0476, 76.1905 },
- { 23.8095, 66.6667 },
- { 28.5714, 61.9048 },
- { 38.0952, 57.1429 },
- { 66.6666, 47.619 },
- { 76.1905, 42.8571 },
- { 80.9524, 38.0952 },
- { 85.7143, 28.5714 },
- { 85.7143, 14.2857 },
- { 76.1905, 4.7619 },
- { 61.9047, 0 },
- { 42.8571, 0 },
- { 28.5714, 4.7619 },
- { 19.0476, 14.2857 },
-};
-
-static const StrokeRec char83[] = {
- { 20, char83_stroke0 },
-};
-
-/* char: 84 'T' */
-
-static const CoordRec char84_stroke0[] = {
- { 52.3809, 100 },
- { 52.3809, 0 },
-};
-
-static const CoordRec char84_stroke1[] = {
- { 19.0476, 100 },
- { 85.7143, 100 },
-};
-
-static const StrokeRec char84[] = {
- { 2, char84_stroke0 },
- { 2, char84_stroke1 },
-};
-
-/* char: 85 'U' */
-
-static const CoordRec char85_stroke0[] = {
- { 19.0476, 100 },
- { 19.0476, 28.5714 },
- { 23.8095, 14.2857 },
- { 33.3333, 4.7619 },
- { 47.619, 0 },
- { 57.1428, 0 },
- { 71.4286, 4.7619 },
- { 80.9524, 14.2857 },
- { 85.7143, 28.5714 },
- { 85.7143, 100 },
-};
-
-static const StrokeRec char85[] = {
- { 10, char85_stroke0 },
-};
-
-/* char: 86 'V' */
-
-static const CoordRec char86_stroke0[] = {
- { 14.2857, 100 },
- { 52.3809, 0 },
-};
-
-static const CoordRec char86_stroke1[] = {
- { 90.4762, 100 },
- { 52.3809, 0 },
-};
-
-static const StrokeRec char86[] = {
- { 2, char86_stroke0 },
- { 2, char86_stroke1 },
-};
-
-/* char: 87 'W' */
-
-static const CoordRec char87_stroke0[] = {
- { 4.7619, 100 },
- { 28.5714, 0 },
-};
-
-static const CoordRec char87_stroke1[] = {
- { 52.3809, 100 },
- { 28.5714, 0 },
-};
-
-static const CoordRec char87_stroke2[] = {
- { 52.3809, 100 },
- { 76.1905, 0 },
-};
-
-static const CoordRec char87_stroke3[] = {
- { 100, 100 },
- { 76.1905, 0 },
-};
-
-static const StrokeRec char87[] = {
- { 2, char87_stroke0 },
- { 2, char87_stroke1 },
- { 2, char87_stroke2 },
- { 2, char87_stroke3 },
-};
-
-/* char: 88 'X' */
-
-static const CoordRec char88_stroke0[] = {
- { 19.0476, 100 },
- { 85.7143, 0 },
-};
-
-static const CoordRec char88_stroke1[] = {
- { 85.7143, 100 },
- { 19.0476, 0 },
-};
-
-static const StrokeRec char88[] = {
- { 2, char88_stroke0 },
- { 2, char88_stroke1 },
-};
-
-/* char: 89 'Y' */
-
-static const CoordRec char89_stroke0[] = {
- { 14.2857, 100 },
- { 52.3809, 52.381 },
- { 52.3809, 0 },
-};
-
-static const CoordRec char89_stroke1[] = {
- { 90.4762, 100 },
- { 52.3809, 52.381 },
-};
-
-static const StrokeRec char89[] = {
- { 3, char89_stroke0 },
- { 2, char89_stroke1 },
-};
-
-/* char: 90 'Z' */
-
-static const CoordRec char90_stroke0[] = {
- { 85.7143, 100 },
- { 19.0476, 0 },
-};
-
-static const CoordRec char90_stroke1[] = {
- { 19.0476, 100 },
- { 85.7143, 100 },
-};
-
-static const CoordRec char90_stroke2[] = {
- { 19.0476, 0 },
- { 85.7143, 0 },
-};
-
-static const StrokeRec char90[] = {
- { 2, char90_stroke0 },
- { 2, char90_stroke1 },
- { 2, char90_stroke2 },
-};
-
-/* char: 91 '[' */
-
-static const CoordRec char91_stroke0[] = {
- { 35.7143, 119.048 },
- { 35.7143, -33.3333 },
-};
-
-static const CoordRec char91_stroke1[] = {
- { 40.4762, 119.048 },
- { 40.4762, -33.3333 },
-};
-
-static const CoordRec char91_stroke2[] = {
- { 35.7143, 119.048 },
- { 69.0476, 119.048 },
-};
-
-static const CoordRec char91_stroke3[] = {
- { 35.7143, -33.3333 },
- { 69.0476, -33.3333 },
-};
-
-static const StrokeRec char91[] = {
- { 2, char91_stroke0 },
- { 2, char91_stroke1 },
- { 2, char91_stroke2 },
- { 2, char91_stroke3 },
-};
-
-/* char: 92 '\' */
-
-static const CoordRec char92_stroke0[] = {
- { 19.0476, 100 },
- { 85.7143, -14.2857 },
-};
-
-static const StrokeRec char92[] = {
- { 2, char92_stroke0 },
-};
-
-/* char: 93 ']' */
-
-static const CoordRec char93_stroke0[] = {
- { 64.2857, 119.048 },
- { 64.2857, -33.3333 },
-};
-
-static const CoordRec char93_stroke1[] = {
- { 69.0476, 119.048 },
- { 69.0476, -33.3333 },
-};
-
-static const CoordRec char93_stroke2[] = {
- { 35.7143, 119.048 },
- { 69.0476, 119.048 },
-};
-
-static const CoordRec char93_stroke3[] = {
- { 35.7143, -33.3333 },
- { 69.0476, -33.3333 },
-};
-
-static const StrokeRec char93[] = {
- { 2, char93_stroke0 },
- { 2, char93_stroke1 },
- { 2, char93_stroke2 },
- { 2, char93_stroke3 },
-};
-
-/* char: 94 '^' */
-
-static const CoordRec char94_stroke0[] = {
- { 52.3809, 109.524 },
- { 14.2857, 42.8571 },
-};
-
-static const CoordRec char94_stroke1[] = {
- { 52.3809, 109.524 },
- { 90.4762, 42.8571 },
-};
-
-static const StrokeRec char94[] = {
- { 2, char94_stroke0 },
- { 2, char94_stroke1 },
-};
-
-/* char: 95 '_' */
-
-static const CoordRec char95_stroke0[] = {
- { 0, -33.3333 },
- { 104.762, -33.3333 },
- { 104.762, -28.5714 },
- { 0, -28.5714 },
- { 0, -33.3333 },
-};
-
-static const StrokeRec char95[] = {
- { 5, char95_stroke0 },
-};
-
-/* char: 96 '`' */
-
-static const CoordRec char96_stroke0[] = {
- { 42.8572, 100 },
- { 66.6667, 71.4286 },
-};
-
-static const CoordRec char96_stroke1[] = {
- { 42.8572, 100 },
- { 38.0953, 95.2381 },
- { 66.6667, 71.4286 },
-};
-
-static const StrokeRec char96[] = {
- { 2, char96_stroke0 },
- { 3, char96_stroke1 },
-};
-
-/* char: 97 'a' */
-
-static const CoordRec char97_stroke0[] = {
- { 80.9524, 66.6667 },
- { 80.9524, 0 },
-};
-
-static const CoordRec char97_stroke1[] = {
- { 80.9524, 52.381 },
- { 71.4285, 61.9048 },
- { 61.9047, 66.6667 },
- { 47.619, 66.6667 },
- { 38.0952, 61.9048 },
- { 28.5714, 52.381 },
- { 23.8095, 38.0952 },
- { 23.8095, 28.5714 },
- { 28.5714, 14.2857 },
- { 38.0952, 4.7619 },
- { 47.619, 0 },
- { 61.9047, 0 },
- { 71.4285, 4.7619 },
- { 80.9524, 14.2857 },
-};
-
-static const StrokeRec char97[] = {
- { 2, char97_stroke0 },
- { 14, char97_stroke1 },
-};
-
-/* char: 98 'b' */
-
-static const CoordRec char98_stroke0[] = {
- { 23.8095, 100 },
- { 23.8095, 0 },
-};
-
-static const CoordRec char98_stroke1[] = {
- { 23.8095, 52.381 },
- { 33.3333, 61.9048 },
- { 42.8571, 66.6667 },
- { 57.1428, 66.6667 },
- { 66.6666, 61.9048 },
- { 76.1905, 52.381 },
- { 80.9524, 38.0952 },
- { 80.9524, 28.5714 },
- { 76.1905, 14.2857 },
- { 66.6666, 4.7619 },
- { 57.1428, 0 },
- { 42.8571, 0 },
- { 33.3333, 4.7619 },
- { 23.8095, 14.2857 },
-};
-
-static const StrokeRec char98[] = {
- { 2, char98_stroke0 },
- { 14, char98_stroke1 },
-};
-
-/* char: 99 'c' */
-
-static const CoordRec char99_stroke0[] = {
- { 80.9524, 52.381 },
- { 71.4285, 61.9048 },
- { 61.9047, 66.6667 },
- { 47.619, 66.6667 },
- { 38.0952, 61.9048 },
- { 28.5714, 52.381 },
- { 23.8095, 38.0952 },
- { 23.8095, 28.5714 },
- { 28.5714, 14.2857 },
- { 38.0952, 4.7619 },
- { 47.619, 0 },
- { 61.9047, 0 },
- { 71.4285, 4.7619 },
- { 80.9524, 14.2857 },
-};
-
-static const StrokeRec char99[] = {
- { 14, char99_stroke0 },
-};
-
-/* char: 100 'd' */
-
-static const CoordRec char100_stroke0[] = {
- { 80.9524, 100 },
- { 80.9524, 0 },
-};
-
-static const CoordRec char100_stroke1[] = {
- { 80.9524, 52.381 },
- { 71.4285, 61.9048 },
- { 61.9047, 66.6667 },
- { 47.619, 66.6667 },
- { 38.0952, 61.9048 },
- { 28.5714, 52.381 },
- { 23.8095, 38.0952 },
- { 23.8095, 28.5714 },
- { 28.5714, 14.2857 },
- { 38.0952, 4.7619 },
- { 47.619, 0 },
- { 61.9047, 0 },
- { 71.4285, 4.7619 },
- { 80.9524, 14.2857 },
-};
-
-static const StrokeRec char100[] = {
- { 2, char100_stroke0 },
- { 14, char100_stroke1 },
-};
-
-/* char: 101 'e' */
-
-static const CoordRec char101_stroke0[] = {
- { 23.8095, 38.0952 },
- { 80.9524, 38.0952 },
- { 80.9524, 47.619 },
- { 76.1905, 57.1429 },
- { 71.4285, 61.9048 },
- { 61.9047, 66.6667 },
- { 47.619, 66.6667 },
- { 38.0952, 61.9048 },
- { 28.5714, 52.381 },
- { 23.8095, 38.0952 },
- { 23.8095, 28.5714 },
- { 28.5714, 14.2857 },
- { 38.0952, 4.7619 },
- { 47.619, 0 },
- { 61.9047, 0 },
- { 71.4285, 4.7619 },
- { 80.9524, 14.2857 },
-};
-
-static const StrokeRec char101[] = {
- { 17, char101_stroke0 },
-};
-
-/* char: 102 'f' */
-
-static const CoordRec char102_stroke0[] = {
- { 71.4286, 100 },
- { 61.9048, 100 },
- { 52.381, 95.2381 },
- { 47.6191, 80.9524 },
- { 47.6191, 0 },
-};
-
-static const CoordRec char102_stroke1[] = {
- { 33.3334, 66.6667 },
- { 66.6667, 66.6667 },
-};
-
-static const StrokeRec char102[] = {
- { 5, char102_stroke0 },
- { 2, char102_stroke1 },
-};
-
-/* char: 103 'g' */
-
-static const CoordRec char103_stroke0[] = {
- { 80.9524, 66.6667 },
- { 80.9524, -9.5238 },
- { 76.1905, -23.8095 },
- { 71.4285, -28.5714 },
- { 61.9047, -33.3333 },
- { 47.619, -33.3333 },
- { 38.0952, -28.5714 },
-};
-
-static const CoordRec char103_stroke1[] = {
- { 80.9524, 52.381 },
- { 71.4285, 61.9048 },
- { 61.9047, 66.6667 },
- { 47.619, 66.6667 },
- { 38.0952, 61.9048 },
- { 28.5714, 52.381 },
- { 23.8095, 38.0952 },
- { 23.8095, 28.5714 },
- { 28.5714, 14.2857 },
- { 38.0952, 4.7619 },
- { 47.619, 0 },
- { 61.9047, 0 },
- { 71.4285, 4.7619 },
- { 80.9524, 14.2857 },
-};
-
-static const StrokeRec char103[] = {
- { 7, char103_stroke0 },
- { 14, char103_stroke1 },
-};
-
-/* char: 104 'h' */
-
-static const CoordRec char104_stroke0[] = {
- { 26.1905, 100 },
- { 26.1905, 0 },
-};
-
-static const CoordRec char104_stroke1[] = {
- { 26.1905, 47.619 },
- { 40.4762, 61.9048 },
- { 50, 66.6667 },
- { 64.2857, 66.6667 },
- { 73.8095, 61.9048 },
- { 78.5715, 47.619 },
- { 78.5715, 0 },
-};
-
-static const StrokeRec char104[] = {
- { 2, char104_stroke0 },
- { 7, char104_stroke1 },
-};
-
-/* char: 105 'i' */
-
-static const CoordRec char105_stroke0[] = {
- { 47.6191, 100 },
- { 52.381, 95.2381 },
- { 57.1429, 100 },
- { 52.381, 104.762 },
- { 47.6191, 100 },
-};
-
-static const CoordRec char105_stroke1[] = {
- { 52.381, 66.6667 },
- { 52.381, 0 },
-};
-
-static const StrokeRec char105[] = {
- { 5, char105_stroke0 },
- { 2, char105_stroke1 },
-};
-
-/* char: 106 'j' */
-
-static const CoordRec char106_stroke0[] = {
- { 57.1429, 100 },
- { 61.9048, 95.2381 },
- { 66.6667, 100 },
- { 61.9048, 104.762 },
- { 57.1429, 100 },
-};
-
-static const CoordRec char106_stroke1[] = {
- { 61.9048, 66.6667 },
- { 61.9048, -14.2857 },
- { 57.1429, -28.5714 },
- { 47.6191, -33.3333 },
- { 38.0953, -33.3333 },
-};
-
-static const StrokeRec char106[] = {
- { 5, char106_stroke0 },
- { 5, char106_stroke1 },
-};
-
-/* char: 107 'k' */
-
-static const CoordRec char107_stroke0[] = {
- { 26.1905, 100 },
- { 26.1905, 0 },
-};
-
-static const CoordRec char107_stroke1[] = {
- { 73.8095, 66.6667 },
- { 26.1905, 19.0476 },
-};
-
-static const CoordRec char107_stroke2[] = {
- { 45.2381, 38.0952 },
- { 78.5715, 0 },
-};
-
-static const StrokeRec char107[] = {
- { 2, char107_stroke0 },
- { 2, char107_stroke1 },
- { 2, char107_stroke2 },
-};
-
-/* char: 108 'l' */
-
-static const CoordRec char108_stroke0[] = {
- { 52.381, 100 },
- { 52.381, 0 },
-};
-
-static const StrokeRec char108[] = {
- { 2, char108_stroke0 },
-};
-
-/* char: 109 'm' */
-
-static const CoordRec char109_stroke0[] = {
- { 0, 66.6667 },
- { 0, 0 },
-};
-
-static const CoordRec char109_stroke1[] = {
- { 0, 47.619 },
- { 14.2857, 61.9048 },
- { 23.8095, 66.6667 },
- { 38.0952, 66.6667 },
- { 47.619, 61.9048 },
- { 52.381, 47.619 },
- { 52.381, 0 },
-};
-
-static const CoordRec char109_stroke2[] = {
- { 52.381, 47.619 },
- { 66.6667, 61.9048 },
- { 76.1905, 66.6667 },
- { 90.4762, 66.6667 },
- { 100, 61.9048 },
- { 104.762, 47.619 },
- { 104.762, 0 },
-};
-
-static const StrokeRec char109[] = {
- { 2, char109_stroke0 },
- { 7, char109_stroke1 },
- { 7, char109_stroke2 },
-};
-
-/* char: 110 'n' */
-
-static const CoordRec char110_stroke0[] = {
- { 26.1905, 66.6667 },
- { 26.1905, 0 },
-};
-
-static const CoordRec char110_stroke1[] = {
- { 26.1905, 47.619 },
- { 40.4762, 61.9048 },
- { 50, 66.6667 },
- { 64.2857, 66.6667 },
- { 73.8095, 61.9048 },
- { 78.5715, 47.619 },
- { 78.5715, 0 },
-};
-
-static const StrokeRec char110[] = {
- { 2, char110_stroke0 },
- { 7, char110_stroke1 },
-};
-
-/* char: 111 'o' */
-
-static const CoordRec char111_stroke0[] = {
- { 45.2381, 66.6667 },
- { 35.7143, 61.9048 },
- { 26.1905, 52.381 },
- { 21.4286, 38.0952 },
- { 21.4286, 28.5714 },
- { 26.1905, 14.2857 },
- { 35.7143, 4.7619 },
- { 45.2381, 0 },
- { 59.5238, 0 },
- { 69.0476, 4.7619 },
- { 78.5714, 14.2857 },
- { 83.3334, 28.5714 },
- { 83.3334, 38.0952 },
- { 78.5714, 52.381 },
- { 69.0476, 61.9048 },
- { 59.5238, 66.6667 },
- { 45.2381, 66.6667 },
-};
-
-static const StrokeRec char111[] = {
- { 17, char111_stroke0 },
-};
-
-/* char: 112 'p' */
-
-static const CoordRec char112_stroke0[] = {
- { 23.8095, 66.6667 },
- { 23.8095, -33.3333 },
-};
-
-static const CoordRec char112_stroke1[] = {
- { 23.8095, 52.381 },
- { 33.3333, 61.9048 },
- { 42.8571, 66.6667 },
- { 57.1428, 66.6667 },
- { 66.6666, 61.9048 },
- { 76.1905, 52.381 },
- { 80.9524, 38.0952 },
- { 80.9524, 28.5714 },
- { 76.1905, 14.2857 },
- { 66.6666, 4.7619 },
- { 57.1428, 0 },
- { 42.8571, 0 },
- { 33.3333, 4.7619 },
- { 23.8095, 14.2857 },
-};
-
-static const StrokeRec char112[] = {
- { 2, char112_stroke0 },
- { 14, char112_stroke1 },
-};
-
-/* char: 113 'q' */
-
-static const CoordRec char113_stroke0[] = {
- { 80.9524, 66.6667 },
- { 80.9524, -33.3333 },
-};
-
-static const CoordRec char113_stroke1[] = {
- { 80.9524, 52.381 },
- { 71.4285, 61.9048 },
- { 61.9047, 66.6667 },
- { 47.619, 66.6667 },
- { 38.0952, 61.9048 },
- { 28.5714, 52.381 },
- { 23.8095, 38.0952 },
- { 23.8095, 28.5714 },
- { 28.5714, 14.2857 },
- { 38.0952, 4.7619 },
- { 47.619, 0 },
- { 61.9047, 0 },
- { 71.4285, 4.7619 },
- { 80.9524, 14.2857 },
-};
-
-static const StrokeRec char113[] = {
- { 2, char113_stroke0 },
- { 14, char113_stroke1 },
-};
-
-/* char: 114 'r' */
-
-static const CoordRec char114_stroke0[] = {
- { 33.3334, 66.6667 },
- { 33.3334, 0 },
-};
-
-static const CoordRec char114_stroke1[] = {
- { 33.3334, 38.0952 },
- { 38.0953, 52.381 },
- { 47.6191, 61.9048 },
- { 57.1429, 66.6667 },
- { 71.4286, 66.6667 },
-};
-
-static const StrokeRec char114[] = {
- { 2, char114_stroke0 },
- { 5, char114_stroke1 },
-};
-
-/* char: 115 's' */
-
-static const CoordRec char115_stroke0[] = {
- { 78.5715, 52.381 },
- { 73.8095, 61.9048 },
- { 59.5238, 66.6667 },
- { 45.2381, 66.6667 },
- { 30.9524, 61.9048 },
- { 26.1905, 52.381 },
- { 30.9524, 42.8571 },
- { 40.4762, 38.0952 },
- { 64.2857, 33.3333 },
- { 73.8095, 28.5714 },
- { 78.5715, 19.0476 },
- { 78.5715, 14.2857 },
- { 73.8095, 4.7619 },
- { 59.5238, 0 },
- { 45.2381, 0 },
- { 30.9524, 4.7619 },
- { 26.1905, 14.2857 },
-};
-
-static const StrokeRec char115[] = {
- { 17, char115_stroke0 },
-};
-
-/* char: 116 't' */
-
-static const CoordRec char116_stroke0[] = {
- { 47.6191, 100 },
- { 47.6191, 19.0476 },
- { 52.381, 4.7619 },
- { 61.9048, 0 },
- { 71.4286, 0 },
-};
-
-static const CoordRec char116_stroke1[] = {
- { 33.3334, 66.6667 },
- { 66.6667, 66.6667 },
-};
-
-static const StrokeRec char116[] = {
- { 5, char116_stroke0 },
- { 2, char116_stroke1 },
-};
-
-/* char: 117 'u' */
-
-static const CoordRec char117_stroke0[] = {
- { 26.1905, 66.6667 },
- { 26.1905, 19.0476 },
- { 30.9524, 4.7619 },
- { 40.4762, 0 },
- { 54.7619, 0 },
- { 64.2857, 4.7619 },
- { 78.5715, 19.0476 },
-};
-
-static const CoordRec char117_stroke1[] = {
- { 78.5715, 66.6667 },
- { 78.5715, 0 },
-};
-
-static const StrokeRec char117[] = {
- { 7, char117_stroke0 },
- { 2, char117_stroke1 },
-};
-
-/* char: 118 'v' */
-
-static const CoordRec char118_stroke0[] = {
- { 23.8095, 66.6667 },
- { 52.3809, 0 },
-};
-
-static const CoordRec char118_stroke1[] = {
- { 80.9524, 66.6667 },
- { 52.3809, 0 },
-};
-
-static const StrokeRec char118[] = {
- { 2, char118_stroke0 },
- { 2, char118_stroke1 },
-};
-
-/* char: 119 'w' */
-
-static const CoordRec char119_stroke0[] = {
- { 14.2857, 66.6667 },
- { 33.3333, 0 },
-};
-
-static const CoordRec char119_stroke1[] = {
- { 52.3809, 66.6667 },
- { 33.3333, 0 },
-};
-
-static const CoordRec char119_stroke2[] = {
- { 52.3809, 66.6667 },
- { 71.4286, 0 },
-};
-
-static const CoordRec char119_stroke3[] = {
- { 90.4762, 66.6667 },
- { 71.4286, 0 },
-};
-
-static const StrokeRec char119[] = {
- { 2, char119_stroke0 },
- { 2, char119_stroke1 },
- { 2, char119_stroke2 },
- { 2, char119_stroke3 },
-};
-
-/* char: 120 'x' */
-
-static const CoordRec char120_stroke0[] = {
- { 26.1905, 66.6667 },
- { 78.5715, 0 },
-};
-
-static const CoordRec char120_stroke1[] = {
- { 78.5715, 66.6667 },
- { 26.1905, 0 },
-};
-
-static const StrokeRec char120[] = {
- { 2, char120_stroke0 },
- { 2, char120_stroke1 },
-};
-
-/* char: 121 'y' */
-
-static const CoordRec char121_stroke0[] = {
- { 26.1905, 66.6667 },
- { 54.7619, 0 },
-};
-
-static const CoordRec char121_stroke1[] = {
- { 83.3334, 66.6667 },
- { 54.7619, 0 },
- { 45.2381, -19.0476 },
- { 35.7143, -28.5714 },
- { 26.1905, -33.3333 },
- { 21.4286, -33.3333 },
-};
-
-static const StrokeRec char121[] = {
- { 2, char121_stroke0 },
- { 6, char121_stroke1 },
-};
-
-/* char: 122 'z' */
-
-static const CoordRec char122_stroke0[] = {
- { 78.5715, 66.6667 },
- { 26.1905, 0 },
-};
-
-static const CoordRec char122_stroke1[] = {
- { 26.1905, 66.6667 },
- { 78.5715, 66.6667 },
-};
-
-static const CoordRec char122_stroke2[] = {
- { 26.1905, 0 },
- { 78.5715, 0 },
-};
-
-static const StrokeRec char122[] = {
- { 2, char122_stroke0 },
- { 2, char122_stroke1 },
- { 2, char122_stroke2 },
-};
-
-/* char: 123 '{' */
-
-static const CoordRec char123_stroke0[] = {
- { 64.2857, 119.048 },
- { 54.7619, 114.286 },
- { 50, 109.524 },
- { 45.2381, 100 },
- { 45.2381, 90.4762 },
- { 50, 80.9524 },
- { 54.7619, 76.1905 },
- { 59.5238, 66.6667 },
- { 59.5238, 57.1429 },
- { 50, 47.619 },
-};
-
-static const CoordRec char123_stroke1[] = {
- { 54.7619, 114.286 },
- { 50, 104.762 },
- { 50, 95.2381 },
- { 54.7619, 85.7143 },
- { 59.5238, 80.9524 },
- { 64.2857, 71.4286 },
- { 64.2857, 61.9048 },
- { 59.5238, 52.381 },
- { 40.4762, 42.8571 },
- { 59.5238, 33.3333 },
- { 64.2857, 23.8095 },
- { 64.2857, 14.2857 },
- { 59.5238, 4.7619 },
- { 54.7619, 0 },
- { 50, -9.5238 },
- { 50, -19.0476 },
- { 54.7619, -28.5714 },
-};
-
-static const CoordRec char123_stroke2[] = {
- { 50, 38.0952 },
- { 59.5238, 28.5714 },
- { 59.5238, 19.0476 },
- { 54.7619, 9.5238 },
- { 50, 4.7619 },
- { 45.2381, -4.7619 },
- { 45.2381, -14.2857 },
- { 50, -23.8095 },
- { 54.7619, -28.5714 },
- { 64.2857, -33.3333 },
-};
-
-static const StrokeRec char123[] = {
- { 10, char123_stroke0 },
- { 17, char123_stroke1 },
- { 10, char123_stroke2 },
-};
-
-/* char: 124 '|' */
-
-static const CoordRec char124_stroke0[] = {
- { 52.381, 119.048 },
- { 52.381, -33.3333 },
-};
-
-static const StrokeRec char124[] = {
- { 2, char124_stroke0 },
-};
-
-/* char: 125 '}' */
-
-static const CoordRec char125_stroke0[] = {
- { 40.4762, 119.048 },
- { 50, 114.286 },
- { 54.7619, 109.524 },
- { 59.5238, 100 },
- { 59.5238, 90.4762 },
- { 54.7619, 80.9524 },
- { 50, 76.1905 },
- { 45.2381, 66.6667 },
- { 45.2381, 57.1429 },
- { 54.7619, 47.619 },
-};
-
-static const CoordRec char125_stroke1[] = {
- { 50, 114.286 },
- { 54.7619, 104.762 },
- { 54.7619, 95.2381 },
- { 50, 85.7143 },
- { 45.2381, 80.9524 },
- { 40.4762, 71.4286 },
- { 40.4762, 61.9048 },
- { 45.2381, 52.381 },
- { 64.2857, 42.8571 },
- { 45.2381, 33.3333 },
- { 40.4762, 23.8095 },
- { 40.4762, 14.2857 },
- { 45.2381, 4.7619 },
- { 50, 0 },
- { 54.7619, -9.5238 },
- { 54.7619, -19.0476 },
- { 50, -28.5714 },
-};
-
-static const CoordRec char125_stroke2[] = {
- { 54.7619, 38.0952 },
- { 45.2381, 28.5714 },
- { 45.2381, 19.0476 },
- { 50, 9.5238 },
- { 54.7619, 4.7619 },
- { 59.5238, -4.7619 },
- { 59.5238, -14.2857 },
- { 54.7619, -23.8095 },
- { 50, -28.5714 },
- { 40.4762, -33.3333 },
-};
-
-static const StrokeRec char125[] = {
- { 10, char125_stroke0 },
- { 17, char125_stroke1 },
- { 10, char125_stroke2 },
-};
-
-/* char: 126 '~' */
-
-static const CoordRec char126_stroke0[] = {
- { 9.5238, 28.5714 },
- { 9.5238, 38.0952 },
- { 14.2857, 52.381 },
- { 23.8095, 57.1429 },
- { 33.3333, 57.1429 },
- { 42.8571, 52.381 },
- { 61.9048, 38.0952 },
- { 71.4286, 33.3333 },
- { 80.9524, 33.3333 },
- { 90.4762, 38.0952 },
- { 95.2381, 47.619 },
-};
-
-static const CoordRec char126_stroke1[] = {
- { 9.5238, 38.0952 },
- { 14.2857, 47.619 },
- { 23.8095, 52.381 },
- { 33.3333, 52.381 },
- { 42.8571, 47.619 },
- { 61.9048, 33.3333 },
- { 71.4286, 28.5714 },
- { 80.9524, 28.5714 },
- { 90.4762, 33.3333 },
- { 95.2381, 47.619 },
- { 95.2381, 57.1429 },
-};
-
-static const StrokeRec char126[] = {
- { 11, char126_stroke0 },
- { 11, char126_stroke1 },
-};
-
-/* char: 127 */
-
-static const CoordRec char127_stroke0[] = {
- { 71.4286, 100 },
- { 33.3333, -33.3333 },
-};
-
-static const CoordRec char127_stroke1[] = {
- { 47.619, 66.6667 },
- { 33.3333, 61.9048 },
- { 23.8095, 52.381 },
- { 19.0476, 38.0952 },
- { 19.0476, 23.8095 },
- { 23.8095, 14.2857 },
- { 33.3333, 4.7619 },
- { 47.619, 0 },
- { 57.1428, 0 },
- { 71.4286, 4.7619 },
- { 80.9524, 14.2857 },
- { 85.7143, 28.5714 },
- { 85.7143, 42.8571 },
- { 80.9524, 52.381 },
- { 71.4286, 61.9048 },
- { 57.1428, 66.6667 },
- { 47.619, 66.6667 },
-};
-
-static const StrokeRec char127[] = {
- { 2, char127_stroke0 },
- { 17, char127_stroke1 },
-};
-
-static const StrokeCharRec chars[] = {
- { 0, /* char0 */ 0, 0, 0 },
- { 0, /* char1 */ 0, 0, 0 },
- { 0, /* char2 */ 0, 0, 0 },
- { 0, /* char3 */ 0, 0, 0 },
- { 0, /* char4 */ 0, 0, 0 },
- { 0, /* char5 */ 0, 0, 0 },
- { 0, /* char6 */ 0, 0, 0 },
- { 0, /* char7 */ 0, 0, 0 },
- { 0, /* char8 */ 0, 0, 0 },
- { 0, /* char9 */ 0, 0, 0 },
- { 0, /* char10 */ 0, 0, 0 },
- { 0, /* char11 */ 0, 0, 0 },
- { 0, /* char12 */ 0, 0, 0 },
- { 0, /* char13 */ 0, 0, 0 },
- { 0, /* char14 */ 0, 0, 0 },
- { 0, /* char15 */ 0, 0, 0 },
- { 0, /* char16 */ 0, 0, 0 },
- { 0, /* char17 */ 0, 0, 0 },
- { 0, /* char18 */ 0, 0, 0 },
- { 0, /* char19 */ 0, 0, 0 },
- { 0, /* char20 */ 0, 0, 0 },
- { 0, /* char21 */ 0, 0, 0 },
- { 0, /* char22 */ 0, 0, 0 },
- { 0, /* char23 */ 0, 0, 0 },
- { 0, /* char24 */ 0, 0, 0 },
- { 0, /* char25 */ 0, 0, 0 },
- { 0, /* char26 */ 0, 0, 0 },
- { 0, /* char27 */ 0, 0, 0 },
- { 0, /* char28 */ 0, 0, 0 },
- { 0, /* char29 */ 0, 0, 0 },
- { 0, /* char30 */ 0, 0, 0 },
- { 0, /* char31 */ 0, 0, 0 },
- { 0, /* char32 */ 0, 52.381, 104.762 },
- { 2, char33, 52.381, 104.762 },
- { 2, char34, 52.381, 104.762 },
- { 4, char35, 52.381, 104.762 },
- { 3, char36, 52.381, 104.762 },
- { 3, char37, 52.381, 104.762 },
- { 1, char38, 52.381, 104.762 },
- { 1, char39, 52.381, 104.762 },
- { 1, char40, 52.381, 104.762 },
- { 1, char41, 52.381, 104.762 },
- { 3, char42, 52.381, 104.762 },
- { 2, char43, 52.381, 104.762 },
- { 1, char44, 52.381, 104.762 },
- { 1, char45, 52.381, 104.762 },
- { 1, char46, 52.381, 104.762 },
- { 1, char47, 52.381, 104.762 },
- { 1, char48, 52.381, 104.762 },
- { 1, char49, 52.381, 104.762 },
- { 1, char50, 52.381, 104.762 },
- { 1, char51, 52.381, 104.762 },
- { 2, char52, 52.381, 104.762 },
- { 1, char53, 52.381, 104.762 },
- { 1, char54, 52.381, 104.762 },
- { 2, char55, 52.381, 104.762 },
- { 1, char56, 52.381, 104.762 },
- { 1, char57, 52.381, 104.762 },
- { 2, char58, 52.381, 104.762 },
- { 2, char59, 52.381, 104.762 },
- { 1, char60, 52.381, 104.762 },
- { 2, char61, 52.381, 104.762 },
- { 1, char62, 52.381, 104.762 },
- { 2, char63, 52.381, 104.762 },
- { 2, char64, 52.381, 104.762 },
- { 3, char65, 52.381, 104.762 },
- { 3, char66, 52.381, 104.762 },
- { 1, char67, 52.381, 104.762 },
- { 2, char68, 52.381, 104.762 },
- { 4, char69, 52.381, 104.762 },
- { 3, char70, 52.381, 104.762 },
- { 2, char71, 52.381, 104.762 },
- { 3, char72, 52.381, 104.762 },
- { 1, char73, 52.381, 104.762 },
- { 1, char74, 52.381, 104.762 },
- { 3, char75, 52.381, 104.762 },
- { 2, char76, 52.381, 104.762 },
- { 4, char77, 52.381, 104.762 },
- { 3, char78, 52.381, 104.762 },
- { 1, char79, 52.381, 104.762 },
- { 2, char80, 52.381, 104.762 },
- { 2, char81, 52.381, 104.762 },
- { 3, char82, 52.381, 104.762 },
- { 1, char83, 52.381, 104.762 },
- { 2, char84, 52.381, 104.762 },
- { 1, char85, 52.381, 104.762 },
- { 2, char86, 52.381, 104.762 },
- { 4, char87, 52.381, 104.762 },
- { 2, char88, 52.381, 104.762 },
- { 2, char89, 52.381, 104.762 },
- { 3, char90, 52.381, 104.762 },
- { 4, char91, 52.381, 104.762 },
- { 1, char92, 52.381, 104.762 },
- { 4, char93, 52.381, 104.762 },
- { 2, char94, 52.381, 104.762 },
- { 1, char95, 52.381, 104.762 },
- { 2, char96, 52.381, 104.762 },
- { 2, char97, 52.381, 104.762 },
- { 2, char98, 52.381, 104.762 },
- { 1, char99, 52.381, 104.762 },
- { 2, char100, 52.381, 104.762 },
- { 1, char101, 52.381, 104.762 },
- { 2, char102, 52.381, 104.762 },
- { 2, char103, 52.381, 104.762 },
- { 2, char104, 52.381, 104.762 },
- { 2, char105, 52.381, 104.762 },
- { 2, char106, 52.381, 104.762 },
- { 3, char107, 52.381, 104.762 },
- { 1, char108, 52.381, 104.762 },
- { 3, char109, 52.381, 104.762 },
- { 2, char110, 52.381, 104.762 },
- { 1, char111, 52.381, 104.762 },
- { 2, char112, 52.381, 104.762 },
- { 2, char113, 52.381, 104.762 },
- { 2, char114, 52.381, 104.762 },
- { 1, char115, 52.381, 104.762 },
- { 2, char116, 52.381, 104.762 },
- { 2, char117, 52.381, 104.762 },
- { 2, char118, 52.381, 104.762 },
- { 4, char119, 52.381, 104.762 },
- { 2, char120, 52.381, 104.762 },
- { 2, char121, 52.381, 104.762 },
- { 3, char122, 52.381, 104.762 },
- { 3, char123, 52.381, 104.762 },
- { 1, char124, 52.381, 104.762 },
- { 3, char125, 52.381, 104.762 },
- { 2, char126, 52.381, 104.762 },
- { 2, char127, 52.381, 104.762 },
-};
-
-StrokeFontRec glutStrokeMonoRoman = { "Roman", 128, chars, 119.048, -33.3333 };
-
diff --git a/src/glut/glx/glut_overlay.c b/src/glut/glx/glut_overlay.c
deleted file mode 100644
index 837bbc3cb2..0000000000
--- a/src/glut/glx/glut_overlay.c
+++ /dev/null
@@ -1,607 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1996, 1997. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#ifdef __VMS
-#include <GL/vms_x_fix.h>
-#endif
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <assert.h>
-
-#if !defined(_WIN32)
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-#include <X11/Xatom.h> /* for XA_RGB_DEFAULT_MAP atom */
-#if defined (__vms)
-#include <Xmu/StdCmap.h> /* for XmuLookupStandardColormap */
-#else
-#include <X11/Xmu/StdCmap.h> /* for XmuLookupStandardColormap */
-#endif
-#endif /* !_WIN32 */
-
-#include "glutint.h"
-#include "layerutil.h"
-
-static Criterion requiredOverlayCriteria[] =
-{
- {LEVEL, EQ, 1}, /* This entry gets poked in
- determineOverlayVisual. */
- {TRANSPARENT, EQ, 1},
- {XPSEUDOCOLOR, EQ, 1},
- {RGBA, EQ, 0},
- {BUFFER_SIZE, GTE, 1}
-};
-static int numRequiredOverlayCriteria = sizeof(requiredOverlayCriteria) / sizeof(Criterion);
-static int requiredOverlayCriteriaMask =
-(1 << LEVEL) | (1 << TRANSPARENT) | (1 << XSTATICGRAY) | (1 << RGBA) | (1 << CI_MODE);
-
-#if !defined(_WIN32)
-static int
-checkOverlayAcceptability(XVisualInfo * vi, unsigned int mode)
-{
- int value;
-
- /* Must support OpenGL. */
- glXGetConfig(__glutDisplay, vi, GLX_USE_GL, &value);
- if (!value)
- return 1;
-
- /* Must be color index. */
- glXGetConfig(__glutDisplay, vi, GLX_RGBA, &value);
- if (value)
- return 1;
-
- /* Must match single/double buffering request. */
- glXGetConfig(__glutDisplay, vi, GLX_DOUBLEBUFFER, &value);
- if (GLUT_WIND_IS_DOUBLE(mode) != (value != 0))
- return 1;
-
- /* Must match mono/stereo request. */
- glXGetConfig(__glutDisplay, vi, GLX_STEREO, &value);
- if (GLUT_WIND_IS_STEREO(mode) != (value != 0))
- return 1;
-
- /* Alpha and accumulation buffers incompatible with color
- index. */
- if (GLUT_WIND_HAS_ALPHA(mode) || GLUT_WIND_HAS_ACCUM(mode))
- return 1;
-
- /* Look for depth buffer if requested. */
- glXGetConfig(__glutDisplay, vi, GLX_DEPTH_SIZE, &value);
- if (GLUT_WIND_HAS_DEPTH(mode) && (value <= 0))
- return 1;
-
- /* Look for stencil buffer if requested. */
- glXGetConfig(__glutDisplay, vi, GLX_STENCIL_SIZE, &value);
- if (GLUT_WIND_HAS_STENCIL(mode) && (value <= 0))
- return 1;
-
-#if defined(GLX_VERSION_1_1) && defined(GLX_SGIS_multisample)
- /* XXX Multisampled overlay color index?? Pretty unlikely. */
- /* Look for multisampling if requested. */
- if (__glutIsSupportedByGLX("GLX_SGIS_multisample"))
- glXGetConfig(__glutDisplay, vi, GLX_SAMPLES_SGIS, &value);
- else
- value = 0;
- if (GLUT_WIND_IS_MULTISAMPLE(mode) && (value <= 0))
- return 1;
-#endif
-
- return 0;
-}
-#endif
-
-static XVisualInfo *
-getOverlayVisualInfoCI(unsigned int mode)
-{
-#if !defined(_WIN32)
- XLayerVisualInfo *vi;
- XLayerVisualInfo template;
- XVisualInfo *goodVisual, *returnVisual;
- int nitems, i, j, bad;
-
- /* The GLX 1.0 glXChooseVisual is does not permit queries
- based on pixel transparency (and GLX_BUFFER_SIZE uses
- "smallest that meets" its requirement instead of "largest
- that meets" that GLUT wants. So, GLUT implements its own
- visual selection routine for color index overlays. */
-
- /* Try three overlay layers. */
- for (i = 1; i <= 3; i++) {
- template.vinfo.screen = __glutScreen;
- template.vinfo.class = PseudoColor;
- template.layer = i;
- template.type = TransparentPixel;
- vi = __glutXGetLayerVisualInfo(__glutDisplay,
- VisualTransparentType | VisualScreenMask | VisualClassMask | VisualLayerMask,
- &template, &nitems);
- if (vi) {
- /* Check list for acceptable visual meeting requirements
- of requested display mode. */
- for (j = 0; j < nitems; j++) {
- bad = checkOverlayAcceptability(&vi[j].vinfo, mode);
- if (bad) {
- /* Set vi[j].vinfo.visual to mark it unacceptable. */
- vi[j].vinfo.visual = NULL;
- }
- }
-
- /* Look through list to find deepest acceptable visual. */
- goodVisual = NULL;
- for (j = 0; j < nitems; j++) {
- if (vi[j].vinfo.visual) {
- if (goodVisual == NULL) {
- goodVisual = &vi[j].vinfo;
- } else {
- if (goodVisual->depth < vi[j].vinfo.depth) {
- goodVisual = &vi[j].vinfo;
- }
- }
- }
- }
-
- /* If a visual is found, clean up and return the visual. */
- if (goodVisual) {
- returnVisual = (XVisualInfo *) malloc(sizeof(XVisualInfo));
- if (returnVisual) {
- *returnVisual = *goodVisual;
- }
- XFree(vi);
- return returnVisual;
- }
- XFree(vi);
- }
- }
-#endif /* !_WIN32 */
- return NULL;
-}
-
-/* ARGSUSED */
-static XVisualInfo *
-getOverlayVisualInfoRGB(unsigned int mode)
-{
-
- /* XXX For now, transparent RGBA overlays are not supported
- by GLUT. RGBA overlays raise difficult questions about
- what the transparent pixel (really color) value should be.
-
- Color index overlay transparency is "easy" because the
- transparent pixel value does not affect displayable colors
- (except for stealing one color cell) since colors are
- determined by indirection through a colormap, and because
- it is uncommon for arbitrary pixel values in color index to
- be "calculated" (as can occur with a host of RGBA operations
- like lighting, blending, etc) so it is easy to avoid the
- transparent pixel value.
-
- Since it is typically easy to avoid the transparent pixel
- value in color index mode, if GLUT tells the programmer what
- pixel is transparent, then most program can easily avoid
- generating that pixel value except when they intend
- transparency. GLUT returns whatever transparent pixel value
- is provided by the system through glutGet(
- GLUT_TRANSPARENT_INDEX).
-
- Theory versus practice for RGBA overlay transparency: In
- theory, the reasonable thing is enabling overlay transparency
- when an overlay pixel's destination alpha is 0 because this
- allows overlay transparency to be controlled via alpha and all
- visibile colors are permited, but no hardware I am aware of
- supports this practice (and it requires destination alpha which
- is typically optional and quite uncommon for overlay windows!).
-
- In practice, the choice of transparent pixel value is typically
- "hardwired" into most graphics hardware to a single pixel value.
- SGI hardware uses true black (0,0,0) without regard for the
- destination alpha. This is far from ideal because true black (a
- common color that is easy to accidently generate) can not be
- generated in an RGBA overlay. I am not sure what other vendors
- do.
-
- Pragmatically, most of the typical things you want to do in the
- overlays can be done in color index (rubber banding, pop-up
- menus, etc.). One solution for GLUT would be to simply
- "advertise" what RGB triple (or possibly RGBA quadruple or simply
- A alone) generates transparency. The problem with this approach
- is that it forces programmers to avoid whatever arbitrary color
- various systems decide is transparent. This is a difficult
- burden to place on programmers that want to portably make use of
- overlays.
-
- To actually support transparent RGBA overlays, there are really
- two reaonsable options. ONE: Simply mandate that true black is
- the RGBA overlay transparent color (what IRIS GL did). This is
- nice for programmers since only one option, nice for existing SGI
- hardware, bad for anyone (including SGI) who wants to improve
- upon "true black" RGB transparency.
-
- Or TWO: Provide a set of queriable "transparency types" (like
- "true black" or "alpha == 0" or "true white" or even a queriable
- transparent color). This is harder for programmers, OK for
- existing SGI hardware, and it leaves open the issue of what other
- modes are reasonable.
-
- Option TWO seems the more general approach, but since hardware
- designers will likely only implement a single mode (this is a
- scan out issue where bandwidth is pressing issue), codifying
- multiple speculative approaches nobody may ever implement seems
- silly. And option ONE fiats a suboptimal solution.
-
- Therefore, I defer any decision of how GLUT should support RGBA
- overlay transparency and leave support for it unimplemented.
- Nobody has been pressing me for RGBA overlay transparency (though
- people have requested color index overlay transparency
- repeatedly). Geez, if you read this far you are either really
- bored or maybe actually interested in this topic. Anyway, if
- you have ideas (particularly if you plan on implementing a
- hardware scheme for RGBA overlay transparency), I'd be
- interested.
-
- For the record, SGI's expiremental Framebufer Configuration
- experimental GLX extension uses option TWO. Transparency modes
- for "none" and "RGB" are defined (others could be defined later).
- What RGB value is the transparent one must be queried.
-
- I was hoping GLUT could have something that required less work
- from the programmer to use portably. -mjk */
-
- __glutWarning("RGBA overlays are not supported by GLUT (for now).");
- return NULL;
-}
-
-static XVisualInfo *
-getOverlayVisualInfo(unsigned int mode)
-{
- /* XXX GLUT_LUMINANCE not implemented for GLUT 3.0. */
- if (GLUT_WIND_IS_LUMINANCE(mode))
- return NULL;
-
- if (GLUT_WIND_IS_RGB(mode))
- return getOverlayVisualInfoRGB(mode);
- else
- return getOverlayVisualInfoCI(mode);
-}
-
-#if !defined(_WIN32)
-
-/* The GLUT overlay can come and go, and the overlay window has
- a distinct X window ID. Logically though, GLUT treats the
- normal and overlay windows as a unified window. In
- particular, X input events typically go to the overlay window
- since it is "on top of" the normal window. When an overlay
- window ID is destroyed (due to glutRemoveOverlay or a call to
- glutEstablishOverlay when an overlay already exists), we
- still keep track of the overlay window ID until we get back a
- DestroyNotify event for the overlay window. Otherwise, we
- could lose track of X input events sent to a destroyed
- overlay. To avoid this, we keep the destroyed overlay window
- ID on a "stale window" list. This lets us properly route X
- input events generated on destroyed overlay windows to the
- proper GLUT window. */
-static void
-addStaleWindow(GLUTwindow * window, Window win)
-{
- GLUTstale *entry;
-
- entry = (GLUTstale *) malloc(sizeof(GLUTstale));
- if (!entry)
- __glutFatalError("out of memory");
- entry->window = window;
- entry->win = win;
- entry->next = __glutStaleWindowList;
- __glutStaleWindowList = entry;
-}
-
-#endif
-
-void
-__glutFreeOverlay(GLUToverlay * overlay)
-{
- if (overlay->visAlloced)
- XFree(overlay->vis);
- XDestroyWindow(__glutDisplay, overlay->win);
- glXDestroyContext(__glutDisplay, overlay->ctx);
- if (overlay->colormap) {
- /* Only color index overlays have colormap data structure. */
- __glutFreeColormap(overlay->colormap);
- }
- free(overlay);
-}
-
-static XVisualInfo *
-determineOverlayVisual(int *treatAsSingle, Bool * visAlloced, void **fbc)
-{
- if (__glutDisplayString) {
- XVisualInfo *vi;
- int i;
-
- /* __glutDisplayString should be NULL except if
- glutInitDisplayString has been called to register a
- different display string. Calling glutInitDisplayString
- means using a string instead of an integer mask determine
-
- the visual to use. Using the function pointer variable
- __glutDetermineVisualFromString below avoids linking in
- the code for implementing glutInitDisplayString (ie,
- glut_dstr.o) unless glutInitDisplayString gets called by
- the application. */
-
- assert(__glutDetermineVisualFromString);
-
- /* Try three overlay layers. */
- *visAlloced = False;
- *fbc = NULL;
- for (i = 1; i <= 3; i++) {
- requiredOverlayCriteria[0].value = i;
- vi = __glutDetermineVisualFromString(__glutDisplayString, treatAsSingle,
- requiredOverlayCriteria, numRequiredOverlayCriteria,
- requiredOverlayCriteriaMask, fbc);
- if (vi) {
- return vi;
- }
- }
- return NULL;
- } else {
- *visAlloced = True;
- *fbc = NULL;
- return __glutDetermineVisual(__glutDisplayMode,
- treatAsSingle, getOverlayVisualInfo);
- }
-}
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutEstablishOverlay(void)
-{
- GLUToverlay *overlay;
- GLUTwindow *window;
- XSetWindowAttributes wa;
- void *fbc;
-
- /* Register a routine to free an overlay with glut_win.c;
- this keeps glut_win.c from pulling in all of
- glut_overlay.c when no overlay functionality is used by
- the application. */
- __glutFreeOverlayFunc = __glutFreeOverlay;
-
- window = __glutCurrentWindow;
-
- /* Allow for an existant overlay to be re-established perhaps
- if you wanted a different display mode. */
- if (window->overlay) {
-#if !defined(_WIN32)
- addStaleWindow(window, window->overlay->win);
-#endif
- __glutFreeOverlay(window->overlay);
- }
- overlay = (GLUToverlay *) malloc(sizeof(GLUToverlay));
- if (!overlay)
- __glutFatalError("out of memory.");
-
- overlay->vis = determineOverlayVisual(&overlay->treatAsSingle,
- &overlay->visAlloced, &fbc);
- if (!overlay->vis) {
- __glutFatalError("lacks overlay support.");
- }
-#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_fbconfig)
- if (fbc) {
- window->ctx = __glut_glXCreateContextWithConfigSGIX(__glutDisplay, fbc,
- GLX_RGBA_TYPE_SGIX, None, __glutTryDirect);
- } else
-#endif
- {
- overlay->ctx = glXCreateContext(__glutDisplay, overlay->vis,
- None, __glutTryDirect);
- }
- if (!overlay->ctx) {
- __glutFatalError(
- "failed to create overlay OpenGL rendering context.");
- }
-#if !defined(_WIN32)
- overlay->isDirect = glXIsDirect(__glutDisplay, overlay->ctx);
- if (__glutForceDirect) {
- if (!overlay->isDirect) {
- __glutFatalError("direct rendering not possible.");
- }
- }
-#endif
- __glutSetupColormap(overlay->vis, &overlay->colormap, &overlay->cmap);
- overlay->transparentPixel = __glutGetTransparentPixel(__glutDisplay,
- overlay->vis);
- wa.colormap = overlay->cmap;
- wa.background_pixel = overlay->transparentPixel;
- wa.event_mask = window->eventMask & GLUT_OVERLAY_EVENT_FILTER_MASK;
- wa.border_pixel = 0;
-#if defined(_WIN32)
- /* XXX Overlays not supported in Win32 yet. */
-#else
- overlay->win = XCreateWindow(__glutDisplay,
- window->win,
- 0, 0, window->width, window->height, 0,
- overlay->vis->depth, InputOutput, overlay->vis->visual,
- CWBackPixel | CWBorderPixel | CWEventMask | CWColormap,
- &wa);
-#endif
- if (window->children) {
- /* Overlay window must be lowered below any GLUT
- subwindows. */
- XLowerWindow(__glutDisplay, overlay->win);
- }
- XMapWindow(__glutDisplay, overlay->win);
- overlay->shownState = 1;
-
- overlay->display = NULL;
-
- /* Make sure a reshape gets delivered. */
- window->forceReshape = True;
-
-#if !defined(_WIN32)
- __glutPutOnWorkList(__glutToplevelOf(window), GLUT_COLORMAP_WORK);
-#endif
-
- window->overlay = overlay;
- glutUseLayer(GLUT_OVERLAY);
-
- if (overlay->treatAsSingle) {
- glDrawBuffer(GL_FRONT);
- glReadBuffer(GL_FRONT);
- }
-}
-
-void GLUTAPIENTRY
-glutRemoveOverlay(void)
-{
- GLUTwindow *window = __glutCurrentWindow;
- GLUToverlay *overlay = __glutCurrentWindow->overlay;
-
- if (!window->overlay)
- return;
-
- /* If using overlay, switch to the normal layer. */
- if (window->renderWin == overlay->win) {
- glutUseLayer(GLUT_NORMAL);
- }
-#if !defined(_WIN32)
- addStaleWindow(window, overlay->win);
-#endif
- __glutFreeOverlay(overlay);
- window->overlay = NULL;
-#if !defined(_WIN32)
- __glutPutOnWorkList(__glutToplevelOf(window), GLUT_COLORMAP_WORK);
-#endif
-}
-
-void GLUTAPIENTRY
-glutUseLayer(GLenum layer)
-{
- GLUTwindow *window = __glutCurrentWindow;
-
- switch (layer) {
- case GLUT_NORMAL:
-#ifdef _WIN32
- window->renderDc = window->hdc;
-#endif
- window->renderWin = window->win;
- window->renderCtx = window->ctx;
- break;
- case GLUT_OVERLAY:
- /* Did you crash here? Calling glutUseLayer(GLUT_OVERLAY)
- without an overlay established is erroneous. Fix your
- code. */
-#ifdef _WIN32
- window->renderDc = window->overlay->hdc;
-#endif
- window->renderWin = window->overlay->win;
- window->renderCtx = window->overlay->ctx;
- break;
- default:
- __glutWarning("glutUseLayer: unknown layer, %d.", layer);
- break;
- }
- __glutSetWindow(window);
-}
-
-void GLUTAPIENTRY
-glutPostOverlayRedisplay(void)
-{
- __glutPostRedisplay(__glutCurrentWindow, GLUT_OVERLAY_REDISPLAY_WORK);
-}
-
-/* The advantage of this routine is that it saves the cost of a
- glutSetWindow call (entailing an expensive OpenGL context
- switch), particularly useful when multiple windows need
- redisplays posted at the same times. */
-void GLUTAPIENTRY
-glutPostWindowOverlayRedisplay(int win)
-{
- __glutPostRedisplay(__glutWindowList[win - 1], GLUT_OVERLAY_REDISPLAY_WORK);
-}
-
-void GLUTAPIENTRY
-glutOverlayDisplayFunc(GLUTdisplayCB displayFunc)
-{
- if (!__glutCurrentWindow->overlay) {
- __glutWarning("glutOverlayDisplayFunc: window has no overlay established");
- return;
- }
- __glutCurrentWindow->overlay->display = displayFunc;
-}
-
-void GLUTAPIENTRY
-glutHideOverlay(void)
-{
- if (!__glutCurrentWindow->overlay) {
- __glutWarning("glutHideOverlay: window has no overlay established");
- return;
- }
- XUnmapWindow(__glutDisplay, __glutCurrentWindow->overlay->win);
- __glutCurrentWindow->overlay->shownState = 0;
-}
-
-void GLUTAPIENTRY
-glutShowOverlay(void)
-{
- if (!__glutCurrentWindow->overlay) {
- __glutWarning("glutShowOverlay: window has no overlay established");
- return;
- }
- XMapWindow(__glutDisplay, __glutCurrentWindow->overlay->win);
- __glutCurrentWindow->overlay->shownState = 1;
-}
-
-int GLUTAPIENTRY
-glutLayerGet(GLenum param)
-{
- switch (param) {
- case GLUT_OVERLAY_POSSIBLE:
- {
- XVisualInfo *vi;
- Bool dummy, visAlloced;
- void *fbc;
-
- vi = determineOverlayVisual(&dummy, &visAlloced, &fbc);
- if (vi) {
- if (visAlloced)
- XFree(vi);
- return 1;
- }
- return 0;
- }
- case GLUT_LAYER_IN_USE:
- return __glutCurrentWindow->renderWin != __glutCurrentWindow->win;
- case GLUT_HAS_OVERLAY:
- return __glutCurrentWindow->overlay != NULL;
- case GLUT_TRANSPARENT_INDEX:
- if (__glutCurrentWindow->overlay) {
- return __glutCurrentWindow->overlay->transparentPixel;
- } else {
- return -1;
- }
- case GLUT_NORMAL_DAMAGED:
- /* __glutWindowDamaged is used so the damage state within
- the window (or overlay belwo) can be cleared before
- calling a display callback so on return, the state does
- not have to be cleared (since upon return from the
- callback the window could be destroyed (or layer
- removed). */
- return (__glutCurrentWindow->workMask & GLUT_REPAIR_WORK)
- || __glutWindowDamaged;
- case GLUT_OVERLAY_DAMAGED:
- if (__glutCurrentWindow->overlay) {
- return (__glutCurrentWindow->workMask & GLUT_OVERLAY_REPAIR_WORK)
- || __glutWindowDamaged;
- } else {
- return -1;
- }
- default:
- __glutWarning("invalid glutLayerGet param: %d", param);
- return -1;
- }
-}
-/* ENDCENTRY */
diff --git a/src/glut/glx/glut_ppm.c b/src/glut/glx/glut_ppm.c
deleted file mode 100644
index 49dca8532f..0000000000
--- a/src/glut/glx/glut_ppm.c
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * PPM file output
- * Brian Paul
- * 8 Dec 2008
- */
-
-#include <assert.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include "glutint.h"
-
-
-static void
-write_ppm_file(const char *filename, const GLubyte *buffer,
- int width, int height)
-{
- const int binary = 1;
- FILE *f = fopen( filename, "w" );
- if (f) {
- const GLubyte *ptr = buffer;
- int i, x, y;
- if (binary) {
- fprintf(f,"P6\n");
- fprintf(f,"# ppm-file created by GLUT\n");
- fprintf(f,"%i %i\n", width, height);
- fprintf(f,"255\n");
- fclose(f);
- f = fopen( filename, "ab" ); /* reopen in binary append mode */
- for (y = height - 1; y >= 0; y--) {
- for (x = 0; x < width; x++) {
- i = (y * width + x) * 4;
- fputc(ptr[i], f); /* write red */
- fputc(ptr[i+1], f); /* write green */
- fputc(ptr[i+2], f); /* write blue */
- }
- }
- }
- else {
- /*ASCII*/
- int counter = 0;
- fprintf(f,"P3\n");
- fprintf(f,"# ascii ppm file created by GLUT\n");
- fprintf(f,"%i %i\n", width, height);
- fprintf(f,"255\n");
- for (y = height - 1; y >= 0; y--) {
- for (x = 0; x < width; x++) {
- i = (y * width + x) * 4;
- fprintf(f, " %3d %3d %3d", ptr[i], ptr[i+1], ptr[i+2]);
- counter++;
- if (counter % 5 == 0)
- fprintf(f, "\n");
- }
- }
- }
- fclose(f);
- }
-}
-
-
-/**
- * Called from SwapBuffers if the GLUT_PPM_FILE env var is set.
- */
-void __glutWritePPMFile(void)
-{
- int w = glutGet(GLUT_WINDOW_WIDTH);
- int h = glutGet(GLUT_WINDOW_HEIGHT);
- GLubyte *buf;
-
- assert(__glutPPMFile);
-
- buf = (GLubyte *) malloc(w * h * 4);
- if (buf) {
- /* XXX save/restore pixel packing */
- glReadPixels(0, 0, w, h, GL_RGBA, GL_UNSIGNED_BYTE, buf);
- write_ppm_file(__glutPPMFile, buf, w, h);
- free(buf);
- }
-
- __glutPPMFile = NULL; /* only write one file */
-}
diff --git a/src/glut/glx/glut_roman.c b/src/glut/glx/glut_roman.c
deleted file mode 100644
index af2b4ec956..0000000000
--- a/src/glut/glx/glut_roman.c
+++ /dev/null
@@ -1,2451 +0,0 @@
-
-/* GENERATED FILE -- DO NOT MODIFY */
-
-#include "glutstroke.h"
-
-/* char: 33 '!' */
-
-static const CoordRec char33_stroke0[] = {
- { 13.3819, 100 },
- { 13.3819, 33.3333 },
-};
-
-static const CoordRec char33_stroke1[] = {
- { 13.3819, 9.5238 },
- { 8.62, 4.7619 },
- { 13.3819, 0 },
- { 18.1438, 4.7619 },
- { 13.3819, 9.5238 },
-};
-
-static const StrokeRec char33[] = {
- { 2, char33_stroke0 },
- { 5, char33_stroke1 },
-};
-
-/* char: 34 '"' */
-
-static const CoordRec char34_stroke0[] = {
- { 4.02, 100 },
- { 4.02, 66.6667 },
-};
-
-static const CoordRec char34_stroke1[] = {
- { 42.1152, 100 },
- { 42.1152, 66.6667 },
-};
-
-static const StrokeRec char34[] = {
- { 2, char34_stroke0 },
- { 2, char34_stroke1 },
-};
-
-/* char: 35 '#' */
-
-static const CoordRec char35_stroke0[] = {
- { 41.2952, 119.048 },
- { 7.9619, -33.3333 },
-};
-
-static const CoordRec char35_stroke1[] = {
- { 69.8667, 119.048 },
- { 36.5333, -33.3333 },
-};
-
-static const CoordRec char35_stroke2[] = {
- { 7.9619, 57.1429 },
- { 74.6286, 57.1429 },
-};
-
-static const CoordRec char35_stroke3[] = {
- { 3.2, 28.5714 },
- { 69.8667, 28.5714 },
-};
-
-static const StrokeRec char35[] = {
- { 2, char35_stroke0 },
- { 2, char35_stroke1 },
- { 2, char35_stroke2 },
- { 2, char35_stroke3 },
-};
-
-/* char: 36 '$' */
-
-static const CoordRec char36_stroke0[] = {
- { 28.6295, 119.048 },
- { 28.6295, -19.0476 },
-};
-
-static const CoordRec char36_stroke1[] = {
- { 47.6771, 119.048 },
- { 47.6771, -19.0476 },
-};
-
-static const CoordRec char36_stroke2[] = {
- { 71.4867, 85.7143 },
- { 61.9629, 95.2381 },
- { 47.6771, 100 },
- { 28.6295, 100 },
- { 14.3438, 95.2381 },
- { 4.82, 85.7143 },
- { 4.82, 76.1905 },
- { 9.5819, 66.6667 },
- { 14.3438, 61.9048 },
- { 23.8676, 57.1429 },
- { 52.439, 47.619 },
- { 61.9629, 42.8571 },
- { 66.7248, 38.0952 },
- { 71.4867, 28.5714 },
- { 71.4867, 14.2857 },
- { 61.9629, 4.7619 },
- { 47.6771, 0 },
- { 28.6295, 0 },
- { 14.3438, 4.7619 },
- { 4.82, 14.2857 },
-};
-
-static const StrokeRec char36[] = {
- { 2, char36_stroke0 },
- { 2, char36_stroke1 },
- { 20, char36_stroke2 },
-};
-
-/* char: 37 '%' */
-
-static const CoordRec char37_stroke0[] = {
- { 92.0743, 100 },
- { 6.36, 0 },
-};
-
-static const CoordRec char37_stroke1[] = {
- { 30.1695, 100 },
- { 39.6933, 90.4762 },
- { 39.6933, 80.9524 },
- { 34.9314, 71.4286 },
- { 25.4076, 66.6667 },
- { 15.8838, 66.6667 },
- { 6.36, 76.1905 },
- { 6.36, 85.7143 },
- { 11.1219, 95.2381 },
- { 20.6457, 100 },
- { 30.1695, 100 },
- { 39.6933, 95.2381 },
- { 53.979, 90.4762 },
- { 68.2648, 90.4762 },
- { 82.5505, 95.2381 },
- { 92.0743, 100 },
-};
-
-static const CoordRec char37_stroke2[] = {
- { 73.0267, 33.3333 },
- { 63.5029, 28.5714 },
- { 58.741, 19.0476 },
- { 58.741, 9.5238 },
- { 68.2648, 0 },
- { 77.7886, 0 },
- { 87.3124, 4.7619 },
- { 92.0743, 14.2857 },
- { 92.0743, 23.8095 },
- { 82.5505, 33.3333 },
- { 73.0267, 33.3333 },
-};
-
-static const StrokeRec char37[] = {
- { 2, char37_stroke0 },
- { 16, char37_stroke1 },
- { 11, char37_stroke2 },
-};
-
-/* char: 38 '&' */
-
-static const CoordRec char38_stroke0[] = {
- { 101.218, 57.1429 },
- { 101.218, 61.9048 },
- { 96.4562, 66.6667 },
- { 91.6943, 66.6667 },
- { 86.9324, 61.9048 },
- { 82.1705, 52.381 },
- { 72.6467, 28.5714 },
- { 63.1229, 14.2857 },
- { 53.599, 4.7619 },
- { 44.0752, 0 },
- { 25.0276, 0 },
- { 15.5038, 4.7619 },
- { 10.7419, 9.5238 },
- { 5.98, 19.0476 },
- { 5.98, 28.5714 },
- { 10.7419, 38.0952 },
- { 15.5038, 42.8571 },
- { 48.8371, 61.9048 },
- { 53.599, 66.6667 },
- { 58.361, 76.1905 },
- { 58.361, 85.7143 },
- { 53.599, 95.2381 },
- { 44.0752, 100 },
- { 34.5514, 95.2381 },
- { 29.7895, 85.7143 },
- { 29.7895, 76.1905 },
- { 34.5514, 61.9048 },
- { 44.0752, 47.619 },
- { 67.8848, 14.2857 },
- { 77.4086, 4.7619 },
- { 86.9324, 0 },
- { 96.4562, 0 },
- { 101.218, 4.7619 },
- { 101.218, 9.5238 },
-};
-
-static const StrokeRec char38[] = {
- { 34, char38_stroke0 },
-};
-
-/* char: 39 ''' */
-
-static const CoordRec char39_stroke0[] = {
- { 4.44, 100 },
- { 4.44, 66.6667 },
-};
-
-static const StrokeRec char39[] = {
- { 2, char39_stroke0 },
-};
-
-/* char: 40 '(' */
-
-static const CoordRec char40_stroke0[] = {
- { 40.9133, 119.048 },
- { 31.3895, 109.524 },
- { 21.8657, 95.2381 },
- { 12.3419, 76.1905 },
- { 7.58, 52.381 },
- { 7.58, 33.3333 },
- { 12.3419, 9.5238 },
- { 21.8657, -9.5238 },
- { 31.3895, -23.8095 },
- { 40.9133, -33.3333 },
-};
-
-static const StrokeRec char40[] = {
- { 10, char40_stroke0 },
-};
-
-/* char: 41 ')' */
-
-static const CoordRec char41_stroke0[] = {
- { 5.28, 119.048 },
- { 14.8038, 109.524 },
- { 24.3276, 95.2381 },
- { 33.8514, 76.1905 },
- { 38.6133, 52.381 },
- { 38.6133, 33.3333 },
- { 33.8514, 9.5238 },
- { 24.3276, -9.5238 },
- { 14.8038, -23.8095 },
- { 5.28, -33.3333 },
-};
-
-static const StrokeRec char41[] = {
- { 10, char41_stroke0 },
-};
-
-/* char: 42 '*' */
-
-static const CoordRec char42_stroke0[] = {
- { 30.7695, 71.4286 },
- { 30.7695, 14.2857 },
-};
-
-static const CoordRec char42_stroke1[] = {
- { 6.96, 57.1429 },
- { 54.579, 28.5714 },
-};
-
-static const CoordRec char42_stroke2[] = {
- { 54.579, 57.1429 },
- { 6.96, 28.5714 },
-};
-
-static const StrokeRec char42[] = {
- { 2, char42_stroke0 },
- { 2, char42_stroke1 },
- { 2, char42_stroke2 },
-};
-
-/* char: 43 '+' */
-
-static const CoordRec char43_stroke0[] = {
- { 48.8371, 85.7143 },
- { 48.8371, 0 },
-};
-
-static const CoordRec char43_stroke1[] = {
- { 5.98, 42.8571 },
- { 91.6943, 42.8571 },
-};
-
-static const StrokeRec char43[] = {
- { 2, char43_stroke0 },
- { 2, char43_stroke1 },
-};
-
-/* char: 44 ',' */
-
-static const CoordRec char44_stroke0[] = {
- { 18.2838, 4.7619 },
- { 13.5219, 0 },
- { 8.76, 4.7619 },
- { 13.5219, 9.5238 },
- { 18.2838, 4.7619 },
- { 18.2838, -4.7619 },
- { 13.5219, -14.2857 },
- { 8.76, -19.0476 },
-};
-
-static const StrokeRec char44[] = {
- { 8, char44_stroke0 },
-};
-
-/* char: 45 '-' */
-
-static const CoordRec char45_stroke0[] = {
- { 7.38, 42.8571 },
- { 93.0943, 42.8571 },
-};
-
-static const StrokeRec char45[] = {
- { 2, char45_stroke0 },
-};
-
-/* char: 46 '.' */
-
-static const CoordRec char46_stroke0[] = {
- { 13.1019, 9.5238 },
- { 8.34, 4.7619 },
- { 13.1019, 0 },
- { 17.8638, 4.7619 },
- { 13.1019, 9.5238 },
-};
-
-static const StrokeRec char46[] = {
- { 5, char46_stroke0 },
-};
-
-/* char: 47 '/' */
-
-static const CoordRec char47_stroke0[] = {
- { 7.24, -14.2857 },
- { 73.9067, 100 },
-};
-
-static const StrokeRec char47[] = {
- { 2, char47_stroke0 },
-};
-
-/* char: 48 '0' */
-
-static const CoordRec char48_stroke0[] = {
- { 33.5514, 100 },
- { 19.2657, 95.2381 },
- { 9.7419, 80.9524 },
- { 4.98, 57.1429 },
- { 4.98, 42.8571 },
- { 9.7419, 19.0476 },
- { 19.2657, 4.7619 },
- { 33.5514, 0 },
- { 43.0752, 0 },
- { 57.361, 4.7619 },
- { 66.8848, 19.0476 },
- { 71.6467, 42.8571 },
- { 71.6467, 57.1429 },
- { 66.8848, 80.9524 },
- { 57.361, 95.2381 },
- { 43.0752, 100 },
- { 33.5514, 100 },
-};
-
-static const StrokeRec char48[] = {
- { 17, char48_stroke0 },
-};
-
-/* char: 49 '1' */
-
-static const CoordRec char49_stroke0[] = {
- { 11.82, 80.9524 },
- { 21.3438, 85.7143 },
- { 35.6295, 100 },
- { 35.6295, 0 },
-};
-
-static const StrokeRec char49[] = {
- { 4, char49_stroke0 },
-};
-
-/* char: 50 '2' */
-
-static const CoordRec char50_stroke0[] = {
- { 10.1819, 76.1905 },
- { 10.1819, 80.9524 },
- { 14.9438, 90.4762 },
- { 19.7057, 95.2381 },
- { 29.2295, 100 },
- { 48.2771, 100 },
- { 57.801, 95.2381 },
- { 62.5629, 90.4762 },
- { 67.3248, 80.9524 },
- { 67.3248, 71.4286 },
- { 62.5629, 61.9048 },
- { 53.039, 47.619 },
- { 5.42, 0 },
- { 72.0867, 0 },
-};
-
-static const StrokeRec char50[] = {
- { 14, char50_stroke0 },
-};
-
-/* char: 51 '3' */
-
-static const CoordRec char51_stroke0[] = {
- { 14.5238, 100 },
- { 66.9048, 100 },
- { 38.3333, 61.9048 },
- { 52.619, 61.9048 },
- { 62.1429, 57.1429 },
- { 66.9048, 52.381 },
- { 71.6667, 38.0952 },
- { 71.6667, 28.5714 },
- { 66.9048, 14.2857 },
- { 57.381, 4.7619 },
- { 43.0952, 0 },
- { 28.8095, 0 },
- { 14.5238, 4.7619 },
- { 9.7619, 9.5238 },
- { 5, 19.0476 },
-};
-
-static const StrokeRec char51[] = {
- { 15, char51_stroke0 },
-};
-
-/* char: 52 '4' */
-
-static const CoordRec char52_stroke0[] = {
- { 51.499, 100 },
- { 3.88, 33.3333 },
- { 75.3086, 33.3333 },
-};
-
-static const CoordRec char52_stroke1[] = {
- { 51.499, 100 },
- { 51.499, 0 },
-};
-
-static const StrokeRec char52[] = {
- { 3, char52_stroke0 },
- { 2, char52_stroke1 },
-};
-
-/* char: 53 '5' */
-
-static const CoordRec char53_stroke0[] = {
- { 62.0029, 100 },
- { 14.3838, 100 },
- { 9.6219, 57.1429 },
- { 14.3838, 61.9048 },
- { 28.6695, 66.6667 },
- { 42.9552, 66.6667 },
- { 57.241, 61.9048 },
- { 66.7648, 52.381 },
- { 71.5267, 38.0952 },
- { 71.5267, 28.5714 },
- { 66.7648, 14.2857 },
- { 57.241, 4.7619 },
- { 42.9552, 0 },
- { 28.6695, 0 },
- { 14.3838, 4.7619 },
- { 9.6219, 9.5238 },
- { 4.86, 19.0476 },
-};
-
-static const StrokeRec char53[] = {
- { 17, char53_stroke0 },
-};
-
-/* char: 54 '6' */
-
-static const CoordRec char54_stroke0[] = {
- { 62.7229, 85.7143 },
- { 57.961, 95.2381 },
- { 43.6752, 100 },
- { 34.1514, 100 },
- { 19.8657, 95.2381 },
- { 10.3419, 80.9524 },
- { 5.58, 57.1429 },
- { 5.58, 33.3333 },
- { 10.3419, 14.2857 },
- { 19.8657, 4.7619 },
- { 34.1514, 0 },
- { 38.9133, 0 },
- { 53.199, 4.7619 },
- { 62.7229, 14.2857 },
- { 67.4848, 28.5714 },
- { 67.4848, 33.3333 },
- { 62.7229, 47.619 },
- { 53.199, 57.1429 },
- { 38.9133, 61.9048 },
- { 34.1514, 61.9048 },
- { 19.8657, 57.1429 },
- { 10.3419, 47.619 },
- { 5.58, 33.3333 },
-};
-
-static const StrokeRec char54[] = {
- { 23, char54_stroke0 },
-};
-
-/* char: 55 '7' */
-
-static const CoordRec char55_stroke0[] = {
- { 72.2267, 100 },
- { 24.6076, 0 },
-};
-
-static const CoordRec char55_stroke1[] = {
- { 5.56, 100 },
- { 72.2267, 100 },
-};
-
-static const StrokeRec char55[] = {
- { 2, char55_stroke0 },
- { 2, char55_stroke1 },
-};
-
-/* char: 56 '8' */
-
-static const CoordRec char56_stroke0[] = {
- { 29.4095, 100 },
- { 15.1238, 95.2381 },
- { 10.3619, 85.7143 },
- { 10.3619, 76.1905 },
- { 15.1238, 66.6667 },
- { 24.6476, 61.9048 },
- { 43.6952, 57.1429 },
- { 57.981, 52.381 },
- { 67.5048, 42.8571 },
- { 72.2667, 33.3333 },
- { 72.2667, 19.0476 },
- { 67.5048, 9.5238 },
- { 62.7429, 4.7619 },
- { 48.4571, 0 },
- { 29.4095, 0 },
- { 15.1238, 4.7619 },
- { 10.3619, 9.5238 },
- { 5.6, 19.0476 },
- { 5.6, 33.3333 },
- { 10.3619, 42.8571 },
- { 19.8857, 52.381 },
- { 34.1714, 57.1429 },
- { 53.219, 61.9048 },
- { 62.7429, 66.6667 },
- { 67.5048, 76.1905 },
- { 67.5048, 85.7143 },
- { 62.7429, 95.2381 },
- { 48.4571, 100 },
- { 29.4095, 100 },
-};
-
-static const StrokeRec char56[] = {
- { 29, char56_stroke0 },
-};
-
-/* char: 57 '9' */
-
-static const CoordRec char57_stroke0[] = {
- { 68.5048, 66.6667 },
- { 63.7429, 52.381 },
- { 54.219, 42.8571 },
- { 39.9333, 38.0952 },
- { 35.1714, 38.0952 },
- { 20.8857, 42.8571 },
- { 11.3619, 52.381 },
- { 6.6, 66.6667 },
- { 6.6, 71.4286 },
- { 11.3619, 85.7143 },
- { 20.8857, 95.2381 },
- { 35.1714, 100 },
- { 39.9333, 100 },
- { 54.219, 95.2381 },
- { 63.7429, 85.7143 },
- { 68.5048, 66.6667 },
- { 68.5048, 42.8571 },
- { 63.7429, 19.0476 },
- { 54.219, 4.7619 },
- { 39.9333, 0 },
- { 30.4095, 0 },
- { 16.1238, 4.7619 },
- { 11.3619, 14.2857 },
-};
-
-static const StrokeRec char57[] = {
- { 23, char57_stroke0 },
-};
-
-/* char: 58 ':' */
-
-static const CoordRec char58_stroke0[] = {
- { 14.0819, 66.6667 },
- { 9.32, 61.9048 },
- { 14.0819, 57.1429 },
- { 18.8438, 61.9048 },
- { 14.0819, 66.6667 },
-};
-
-static const CoordRec char58_stroke1[] = {
- { 14.0819, 9.5238 },
- { 9.32, 4.7619 },
- { 14.0819, 0 },
- { 18.8438, 4.7619 },
- { 14.0819, 9.5238 },
-};
-
-static const StrokeRec char58[] = {
- { 5, char58_stroke0 },
- { 5, char58_stroke1 },
-};
-
-/* char: 59 ';' */
-
-static const CoordRec char59_stroke0[] = {
- { 12.9619, 66.6667 },
- { 8.2, 61.9048 },
- { 12.9619, 57.1429 },
- { 17.7238, 61.9048 },
- { 12.9619, 66.6667 },
-};
-
-static const CoordRec char59_stroke1[] = {
- { 17.7238, 4.7619 },
- { 12.9619, 0 },
- { 8.2, 4.7619 },
- { 12.9619, 9.5238 },
- { 17.7238, 4.7619 },
- { 17.7238, -4.7619 },
- { 12.9619, -14.2857 },
- { 8.2, -19.0476 },
-};
-
-static const StrokeRec char59[] = {
- { 5, char59_stroke0 },
- { 8, char59_stroke1 },
-};
-
-/* char: 60 '<' */
-
-static const CoordRec char60_stroke0[] = {
- { 79.2505, 85.7143 },
- { 3.06, 42.8571 },
- { 79.2505, 0 },
-};
-
-static const StrokeRec char60[] = {
- { 3, char60_stroke0 },
-};
-
-/* char: 61 '=' */
-
-static const CoordRec char61_stroke0[] = {
- { 5.7, 57.1429 },
- { 91.4143, 57.1429 },
-};
-
-static const CoordRec char61_stroke1[] = {
- { 5.7, 28.5714 },
- { 91.4143, 28.5714 },
-};
-
-static const StrokeRec char61[] = {
- { 2, char61_stroke0 },
- { 2, char61_stroke1 },
-};
-
-/* char: 62 '>' */
-
-static const CoordRec char62_stroke0[] = {
- { 2.78, 85.7143 },
- { 78.9705, 42.8571 },
- { 2.78, 0 },
-};
-
-static const StrokeRec char62[] = {
- { 3, char62_stroke0 },
-};
-
-/* char: 63 '?' */
-
-static const CoordRec char63_stroke0[] = {
- { 8.42, 76.1905 },
- { 8.42, 80.9524 },
- { 13.1819, 90.4762 },
- { 17.9438, 95.2381 },
- { 27.4676, 100 },
- { 46.5152, 100 },
- { 56.039, 95.2381 },
- { 60.801, 90.4762 },
- { 65.5629, 80.9524 },
- { 65.5629, 71.4286 },
- { 60.801, 61.9048 },
- { 56.039, 57.1429 },
- { 36.9914, 47.619 },
- { 36.9914, 33.3333 },
-};
-
-static const CoordRec char63_stroke1[] = {
- { 36.9914, 9.5238 },
- { 32.2295, 4.7619 },
- { 36.9914, 0 },
- { 41.7533, 4.7619 },
- { 36.9914, 9.5238 },
-};
-
-static const StrokeRec char63[] = {
- { 14, char63_stroke0 },
- { 5, char63_stroke1 },
-};
-
-/* char: 64 '@' */
-
-static const CoordRec char64_stroke0[] = {
- { 49.2171, 52.381 },
- { 39.6933, 57.1429 },
- { 30.1695, 57.1429 },
- { 25.4076, 47.619 },
- { 25.4076, 42.8571 },
- { 30.1695, 33.3333 },
- { 39.6933, 33.3333 },
- { 49.2171, 38.0952 },
-};
-
-static const CoordRec char64_stroke1[] = {
- { 49.2171, 57.1429 },
- { 49.2171, 38.0952 },
- { 53.979, 33.3333 },
- { 63.5029, 33.3333 },
- { 68.2648, 42.8571 },
- { 68.2648, 47.619 },
- { 63.5029, 61.9048 },
- { 53.979, 71.4286 },
- { 39.6933, 76.1905 },
- { 34.9314, 76.1905 },
- { 20.6457, 71.4286 },
- { 11.1219, 61.9048 },
- { 6.36, 47.619 },
- { 6.36, 42.8571 },
- { 11.1219, 28.5714 },
- { 20.6457, 19.0476 },
- { 34.9314, 14.2857 },
- { 39.6933, 14.2857 },
- { 53.979, 19.0476 },
-};
-
-static const StrokeRec char64[] = {
- { 8, char64_stroke0 },
- { 19, char64_stroke1 },
-};
-
-/* char: 65 'A' */
-
-static const CoordRec char65_stroke0[] = {
- { 40.5952, 100 },
- { 2.5, 0 },
-};
-
-static const CoordRec char65_stroke1[] = {
- { 40.5952, 100 },
- { 78.6905, 0 },
-};
-
-static const CoordRec char65_stroke2[] = {
- { 16.7857, 33.3333 },
- { 64.4048, 33.3333 },
-};
-
-static const StrokeRec char65[] = {
- { 2, char65_stroke0 },
- { 2, char65_stroke1 },
- { 2, char65_stroke2 },
-};
-
-/* char: 66 'B' */
-
-static const CoordRec char66_stroke0[] = {
- { 11.42, 100 },
- { 11.42, 0 },
-};
-
-static const CoordRec char66_stroke1[] = {
- { 11.42, 100 },
- { 54.2771, 100 },
- { 68.5629, 95.2381 },
- { 73.3248, 90.4762 },
- { 78.0867, 80.9524 },
- { 78.0867, 71.4286 },
- { 73.3248, 61.9048 },
- { 68.5629, 57.1429 },
- { 54.2771, 52.381 },
-};
-
-static const CoordRec char66_stroke2[] = {
- { 11.42, 52.381 },
- { 54.2771, 52.381 },
- { 68.5629, 47.619 },
- { 73.3248, 42.8571 },
- { 78.0867, 33.3333 },
- { 78.0867, 19.0476 },
- { 73.3248, 9.5238 },
- { 68.5629, 4.7619 },
- { 54.2771, 0 },
- { 11.42, 0 },
-};
-
-static const StrokeRec char66[] = {
- { 2, char66_stroke0 },
- { 9, char66_stroke1 },
- { 10, char66_stroke2 },
-};
-
-/* char: 67 'C' */
-
-static const CoordRec char67_stroke0[] = {
- { 78.0886, 76.1905 },
- { 73.3267, 85.7143 },
- { 63.8029, 95.2381 },
- { 54.279, 100 },
- { 35.2314, 100 },
- { 25.7076, 95.2381 },
- { 16.1838, 85.7143 },
- { 11.4219, 76.1905 },
- { 6.66, 61.9048 },
- { 6.66, 38.0952 },
- { 11.4219, 23.8095 },
- { 16.1838, 14.2857 },
- { 25.7076, 4.7619 },
- { 35.2314, 0 },
- { 54.279, 0 },
- { 63.8029, 4.7619 },
- { 73.3267, 14.2857 },
- { 78.0886, 23.8095 },
-};
-
-static const StrokeRec char67[] = {
- { 18, char67_stroke0 },
-};
-
-/* char: 68 'D' */
-
-static const CoordRec char68_stroke0[] = {
- { 11.96, 100 },
- { 11.96, 0 },
-};
-
-static const CoordRec char68_stroke1[] = {
- { 11.96, 100 },
- { 45.2933, 100 },
- { 59.579, 95.2381 },
- { 69.1029, 85.7143 },
- { 73.8648, 76.1905 },
- { 78.6267, 61.9048 },
- { 78.6267, 38.0952 },
- { 73.8648, 23.8095 },
- { 69.1029, 14.2857 },
- { 59.579, 4.7619 },
- { 45.2933, 0 },
- { 11.96, 0 },
-};
-
-static const StrokeRec char68[] = {
- { 2, char68_stroke0 },
- { 12, char68_stroke1 },
-};
-
-/* char: 69 'E' */
-
-static const CoordRec char69_stroke0[] = {
- { 11.42, 100 },
- { 11.42, 0 },
-};
-
-static const CoordRec char69_stroke1[] = {
- { 11.42, 100 },
- { 73.3248, 100 },
-};
-
-static const CoordRec char69_stroke2[] = {
- { 11.42, 52.381 },
- { 49.5152, 52.381 },
-};
-
-static const CoordRec char69_stroke3[] = {
- { 11.42, 0 },
- { 73.3248, 0 },
-};
-
-static const StrokeRec char69[] = {
- { 2, char69_stroke0 },
- { 2, char69_stroke1 },
- { 2, char69_stroke2 },
- { 2, char69_stroke3 },
-};
-
-/* char: 70 'F' */
-
-static const CoordRec char70_stroke0[] = {
- { 11.42, 100 },
- { 11.42, 0 },
-};
-
-static const CoordRec char70_stroke1[] = {
- { 11.42, 100 },
- { 73.3248, 100 },
-};
-
-static const CoordRec char70_stroke2[] = {
- { 11.42, 52.381 },
- { 49.5152, 52.381 },
-};
-
-static const StrokeRec char70[] = {
- { 2, char70_stroke0 },
- { 2, char70_stroke1 },
- { 2, char70_stroke2 },
-};
-
-/* char: 71 'G' */
-
-static const CoordRec char71_stroke0[] = {
- { 78.4886, 76.1905 },
- { 73.7267, 85.7143 },
- { 64.2029, 95.2381 },
- { 54.679, 100 },
- { 35.6314, 100 },
- { 26.1076, 95.2381 },
- { 16.5838, 85.7143 },
- { 11.8219, 76.1905 },
- { 7.06, 61.9048 },
- { 7.06, 38.0952 },
- { 11.8219, 23.8095 },
- { 16.5838, 14.2857 },
- { 26.1076, 4.7619 },
- { 35.6314, 0 },
- { 54.679, 0 },
- { 64.2029, 4.7619 },
- { 73.7267, 14.2857 },
- { 78.4886, 23.8095 },
- { 78.4886, 38.0952 },
-};
-
-static const CoordRec char71_stroke1[] = {
- { 54.679, 38.0952 },
- { 78.4886, 38.0952 },
-};
-
-static const StrokeRec char71[] = {
- { 19, char71_stroke0 },
- { 2, char71_stroke1 },
-};
-
-/* char: 72 'H' */
-
-static const CoordRec char72_stroke0[] = {
- { 11.42, 100 },
- { 11.42, 0 },
-};
-
-static const CoordRec char72_stroke1[] = {
- { 78.0867, 100 },
- { 78.0867, 0 },
-};
-
-static const CoordRec char72_stroke2[] = {
- { 11.42, 52.381 },
- { 78.0867, 52.381 },
-};
-
-static const StrokeRec char72[] = {
- { 2, char72_stroke0 },
- { 2, char72_stroke1 },
- { 2, char72_stroke2 },
-};
-
-/* char: 73 'I' */
-
-static const CoordRec char73_stroke0[] = {
- { 10.86, 100 },
- { 10.86, 0 },
-};
-
-static const StrokeRec char73[] = {
- { 2, char73_stroke0 },
-};
-
-/* char: 74 'J' */
-
-static const CoordRec char74_stroke0[] = {
- { 50.119, 100 },
- { 50.119, 23.8095 },
- { 45.3571, 9.5238 },
- { 40.5952, 4.7619 },
- { 31.0714, 0 },
- { 21.5476, 0 },
- { 12.0238, 4.7619 },
- { 7.2619, 9.5238 },
- { 2.5, 23.8095 },
- { 2.5, 33.3333 },
-};
-
-static const StrokeRec char74[] = {
- { 10, char74_stroke0 },
-};
-
-/* char: 75 'K' */
-
-static const CoordRec char75_stroke0[] = {
- { 11.28, 100 },
- { 11.28, 0 },
-};
-
-static const CoordRec char75_stroke1[] = {
- { 77.9467, 100 },
- { 11.28, 33.3333 },
-};
-
-static const CoordRec char75_stroke2[] = {
- { 35.0895, 57.1429 },
- { 77.9467, 0 },
-};
-
-static const StrokeRec char75[] = {
- { 2, char75_stroke0 },
- { 2, char75_stroke1 },
- { 2, char75_stroke2 },
-};
-
-/* char: 76 'L' */
-
-static const CoordRec char76_stroke0[] = {
- { 11.68, 100 },
- { 11.68, 0 },
-};
-
-static const CoordRec char76_stroke1[] = {
- { 11.68, 0 },
- { 68.8229, 0 },
-};
-
-static const StrokeRec char76[] = {
- { 2, char76_stroke0 },
- { 2, char76_stroke1 },
-};
-
-/* char: 77 'M' */
-
-static const CoordRec char77_stroke0[] = {
- { 10.86, 100 },
- { 10.86, 0 },
-};
-
-static const CoordRec char77_stroke1[] = {
- { 10.86, 100 },
- { 48.9552, 0 },
-};
-
-static const CoordRec char77_stroke2[] = {
- { 87.0505, 100 },
- { 48.9552, 0 },
-};
-
-static const CoordRec char77_stroke3[] = {
- { 87.0505, 100 },
- { 87.0505, 0 },
-};
-
-static const StrokeRec char77[] = {
- { 2, char77_stroke0 },
- { 2, char77_stroke1 },
- { 2, char77_stroke2 },
- { 2, char77_stroke3 },
-};
-
-/* char: 78 'N' */
-
-static const CoordRec char78_stroke0[] = {
- { 11.14, 100 },
- { 11.14, 0 },
-};
-
-static const CoordRec char78_stroke1[] = {
- { 11.14, 100 },
- { 77.8067, 0 },
-};
-
-static const CoordRec char78_stroke2[] = {
- { 77.8067, 100 },
- { 77.8067, 0 },
-};
-
-static const StrokeRec char78[] = {
- { 2, char78_stroke0 },
- { 2, char78_stroke1 },
- { 2, char78_stroke2 },
-};
-
-/* char: 79 'O' */
-
-static const CoordRec char79_stroke0[] = {
- { 34.8114, 100 },
- { 25.2876, 95.2381 },
- { 15.7638, 85.7143 },
- { 11.0019, 76.1905 },
- { 6.24, 61.9048 },
- { 6.24, 38.0952 },
- { 11.0019, 23.8095 },
- { 15.7638, 14.2857 },
- { 25.2876, 4.7619 },
- { 34.8114, 0 },
- { 53.859, 0 },
- { 63.3829, 4.7619 },
- { 72.9067, 14.2857 },
- { 77.6686, 23.8095 },
- { 82.4305, 38.0952 },
- { 82.4305, 61.9048 },
- { 77.6686, 76.1905 },
- { 72.9067, 85.7143 },
- { 63.3829, 95.2381 },
- { 53.859, 100 },
- { 34.8114, 100 },
-};
-
-static const StrokeRec char79[] = {
- { 21, char79_stroke0 },
-};
-
-/* char: 80 'P' */
-
-static const CoordRec char80_stroke0[] = {
- { 12.1, 100 },
- { 12.1, 0 },
-};
-
-static const CoordRec char80_stroke1[] = {
- { 12.1, 100 },
- { 54.9571, 100 },
- { 69.2429, 95.2381 },
- { 74.0048, 90.4762 },
- { 78.7667, 80.9524 },
- { 78.7667, 66.6667 },
- { 74.0048, 57.1429 },
- { 69.2429, 52.381 },
- { 54.9571, 47.619 },
- { 12.1, 47.619 },
-};
-
-static const StrokeRec char80[] = {
- { 2, char80_stroke0 },
- { 10, char80_stroke1 },
-};
-
-/* char: 81 'Q' */
-
-static const CoordRec char81_stroke0[] = {
- { 33.8714, 100 },
- { 24.3476, 95.2381 },
- { 14.8238, 85.7143 },
- { 10.0619, 76.1905 },
- { 5.3, 61.9048 },
- { 5.3, 38.0952 },
- { 10.0619, 23.8095 },
- { 14.8238, 14.2857 },
- { 24.3476, 4.7619 },
- { 33.8714, 0 },
- { 52.919, 0 },
- { 62.4429, 4.7619 },
- { 71.9667, 14.2857 },
- { 76.7286, 23.8095 },
- { 81.4905, 38.0952 },
- { 81.4905, 61.9048 },
- { 76.7286, 76.1905 },
- { 71.9667, 85.7143 },
- { 62.4429, 95.2381 },
- { 52.919, 100 },
- { 33.8714, 100 },
-};
-
-static const CoordRec char81_stroke1[] = {
- { 48.1571, 19.0476 },
- { 76.7286, -9.5238 },
-};
-
-static const StrokeRec char81[] = {
- { 21, char81_stroke0 },
- { 2, char81_stroke1 },
-};
-
-/* char: 82 'R' */
-
-static const CoordRec char82_stroke0[] = {
- { 11.68, 100 },
- { 11.68, 0 },
-};
-
-static const CoordRec char82_stroke1[] = {
- { 11.68, 100 },
- { 54.5371, 100 },
- { 68.8229, 95.2381 },
- { 73.5848, 90.4762 },
- { 78.3467, 80.9524 },
- { 78.3467, 71.4286 },
- { 73.5848, 61.9048 },
- { 68.8229, 57.1429 },
- { 54.5371, 52.381 },
- { 11.68, 52.381 },
-};
-
-static const CoordRec char82_stroke2[] = {
- { 45.0133, 52.381 },
- { 78.3467, 0 },
-};
-
-static const StrokeRec char82[] = {
- { 2, char82_stroke0 },
- { 10, char82_stroke1 },
- { 2, char82_stroke2 },
-};
-
-/* char: 83 'S' */
-
-static const CoordRec char83_stroke0[] = {
- { 74.6667, 85.7143 },
- { 65.1429, 95.2381 },
- { 50.8571, 100 },
- { 31.8095, 100 },
- { 17.5238, 95.2381 },
- { 8, 85.7143 },
- { 8, 76.1905 },
- { 12.7619, 66.6667 },
- { 17.5238, 61.9048 },
- { 27.0476, 57.1429 },
- { 55.619, 47.619 },
- { 65.1429, 42.8571 },
- { 69.9048, 38.0952 },
- { 74.6667, 28.5714 },
- { 74.6667, 14.2857 },
- { 65.1429, 4.7619 },
- { 50.8571, 0 },
- { 31.8095, 0 },
- { 17.5238, 4.7619 },
- { 8, 14.2857 },
-};
-
-static const StrokeRec char83[] = {
- { 20, char83_stroke0 },
-};
-
-/* char: 84 'T' */
-
-static const CoordRec char84_stroke0[] = {
- { 35.6933, 100 },
- { 35.6933, 0 },
-};
-
-static const CoordRec char84_stroke1[] = {
- { 2.36, 100 },
- { 69.0267, 100 },
-};
-
-static const StrokeRec char84[] = {
- { 2, char84_stroke0 },
- { 2, char84_stroke1 },
-};
-
-/* char: 85 'U' */
-
-static const CoordRec char85_stroke0[] = {
- { 11.54, 100 },
- { 11.54, 28.5714 },
- { 16.3019, 14.2857 },
- { 25.8257, 4.7619 },
- { 40.1114, 0 },
- { 49.6352, 0 },
- { 63.921, 4.7619 },
- { 73.4448, 14.2857 },
- { 78.2067, 28.5714 },
- { 78.2067, 100 },
-};
-
-static const StrokeRec char85[] = {
- { 10, char85_stroke0 },
-};
-
-/* char: 86 'V' */
-
-static const CoordRec char86_stroke0[] = {
- { 2.36, 100 },
- { 40.4552, 0 },
-};
-
-static const CoordRec char86_stroke1[] = {
- { 78.5505, 100 },
- { 40.4552, 0 },
-};
-
-static const StrokeRec char86[] = {
- { 2, char86_stroke0 },
- { 2, char86_stroke1 },
-};
-
-/* char: 87 'W' */
-
-static const CoordRec char87_stroke0[] = {
- { 2.22, 100 },
- { 26.0295, 0 },
-};
-
-static const CoordRec char87_stroke1[] = {
- { 49.839, 100 },
- { 26.0295, 0 },
-};
-
-static const CoordRec char87_stroke2[] = {
- { 49.839, 100 },
- { 73.6486, 0 },
-};
-
-static const CoordRec char87_stroke3[] = {
- { 97.4581, 100 },
- { 73.6486, 0 },
-};
-
-static const StrokeRec char87[] = {
- { 2, char87_stroke0 },
- { 2, char87_stroke1 },
- { 2, char87_stroke2 },
- { 2, char87_stroke3 },
-};
-
-/* char: 88 'X' */
-
-static const CoordRec char88_stroke0[] = {
- { 2.5, 100 },
- { 69.1667, 0 },
-};
-
-static const CoordRec char88_stroke1[] = {
- { 69.1667, 100 },
- { 2.5, 0 },
-};
-
-static const StrokeRec char88[] = {
- { 2, char88_stroke0 },
- { 2, char88_stroke1 },
-};
-
-/* char: 89 'Y' */
-
-static const CoordRec char89_stroke0[] = {
- { 1.52, 100 },
- { 39.6152, 52.381 },
- { 39.6152, 0 },
-};
-
-static const CoordRec char89_stroke1[] = {
- { 77.7105, 100 },
- { 39.6152, 52.381 },
-};
-
-static const StrokeRec char89[] = {
- { 3, char89_stroke0 },
- { 2, char89_stroke1 },
-};
-
-/* char: 90 'Z' */
-
-static const CoordRec char90_stroke0[] = {
- { 69.1667, 100 },
- { 2.5, 0 },
-};
-
-static const CoordRec char90_stroke1[] = {
- { 2.5, 100 },
- { 69.1667, 100 },
-};
-
-static const CoordRec char90_stroke2[] = {
- { 2.5, 0 },
- { 69.1667, 0 },
-};
-
-static const StrokeRec char90[] = {
- { 2, char90_stroke0 },
- { 2, char90_stroke1 },
- { 2, char90_stroke2 },
-};
-
-/* char: 91 '[' */
-
-static const CoordRec char91_stroke0[] = {
- { 7.78, 119.048 },
- { 7.78, -33.3333 },
-};
-
-static const CoordRec char91_stroke1[] = {
- { 12.5419, 119.048 },
- { 12.5419, -33.3333 },
-};
-
-static const CoordRec char91_stroke2[] = {
- { 7.78, 119.048 },
- { 41.1133, 119.048 },
-};
-
-static const CoordRec char91_stroke3[] = {
- { 7.78, -33.3333 },
- { 41.1133, -33.3333 },
-};
-
-static const StrokeRec char91[] = {
- { 2, char91_stroke0 },
- { 2, char91_stroke1 },
- { 2, char91_stroke2 },
- { 2, char91_stroke3 },
-};
-
-/* char: 92 '\' */
-
-static const CoordRec char92_stroke0[] = {
- { 5.84, 100 },
- { 72.5067, -14.2857 },
-};
-
-static const StrokeRec char92[] = {
- { 2, char92_stroke0 },
-};
-
-/* char: 93 ']' */
-
-static const CoordRec char93_stroke0[] = {
- { 33.0114, 119.048 },
- { 33.0114, -33.3333 },
-};
-
-static const CoordRec char93_stroke1[] = {
- { 37.7733, 119.048 },
- { 37.7733, -33.3333 },
-};
-
-static const CoordRec char93_stroke2[] = {
- { 4.44, 119.048 },
- { 37.7733, 119.048 },
-};
-
-static const CoordRec char93_stroke3[] = {
- { 4.44, -33.3333 },
- { 37.7733, -33.3333 },
-};
-
-static const StrokeRec char93[] = {
- { 2, char93_stroke0 },
- { 2, char93_stroke1 },
- { 2, char93_stroke2 },
- { 2, char93_stroke3 },
-};
-
-/* char: 94 '^' */
-
-static const CoordRec char94_stroke0[] = {
- { 44.0752, 109.524 },
- { 5.98, 42.8571 },
-};
-
-static const CoordRec char94_stroke1[] = {
- { 44.0752, 109.524 },
- { 82.1705, 42.8571 },
-};
-
-static const StrokeRec char94[] = {
- { 2, char94_stroke0 },
- { 2, char94_stroke1 },
-};
-
-/* char: 95 '_' */
-
-static const CoordRec char95_stroke0[] = {
- { -1.1, -33.3333 },
- { 103.662, -33.3333 },
- { 103.662, -28.5714 },
- { -1.1, -28.5714 },
- { -1.1, -33.3333 },
-};
-
-static const StrokeRec char95[] = {
- { 5, char95_stroke0 },
-};
-
-/* char: 96 '`' */
-
-static const CoordRec char96_stroke0[] = {
- { 33.0219, 100 },
- { 56.8314, 71.4286 },
-};
-
-static const CoordRec char96_stroke1[] = {
- { 33.0219, 100 },
- { 28.26, 95.2381 },
- { 56.8314, 71.4286 },
-};
-
-static const StrokeRec char96[] = {
- { 2, char96_stroke0 },
- { 3, char96_stroke1 },
-};
-
-/* char: 97 'a' */
-
-static const CoordRec char97_stroke0[] = {
- { 63.8229, 66.6667 },
- { 63.8229, 0 },
-};
-
-static const CoordRec char97_stroke1[] = {
- { 63.8229, 52.381 },
- { 54.299, 61.9048 },
- { 44.7752, 66.6667 },
- { 30.4895, 66.6667 },
- { 20.9657, 61.9048 },
- { 11.4419, 52.381 },
- { 6.68, 38.0952 },
- { 6.68, 28.5714 },
- { 11.4419, 14.2857 },
- { 20.9657, 4.7619 },
- { 30.4895, 0 },
- { 44.7752, 0 },
- { 54.299, 4.7619 },
- { 63.8229, 14.2857 },
-};
-
-static const StrokeRec char97[] = {
- { 2, char97_stroke0 },
- { 14, char97_stroke1 },
-};
-
-/* char: 98 'b' */
-
-static const CoordRec char98_stroke0[] = {
- { 8.76, 100 },
- { 8.76, 0 },
-};
-
-static const CoordRec char98_stroke1[] = {
- { 8.76, 52.381 },
- { 18.2838, 61.9048 },
- { 27.8076, 66.6667 },
- { 42.0933, 66.6667 },
- { 51.6171, 61.9048 },
- { 61.141, 52.381 },
- { 65.9029, 38.0952 },
- { 65.9029, 28.5714 },
- { 61.141, 14.2857 },
- { 51.6171, 4.7619 },
- { 42.0933, 0 },
- { 27.8076, 0 },
- { 18.2838, 4.7619 },
- { 8.76, 14.2857 },
-};
-
-static const StrokeRec char98[] = {
- { 2, char98_stroke0 },
- { 14, char98_stroke1 },
-};
-
-/* char: 99 'c' */
-
-static const CoordRec char99_stroke0[] = {
- { 62.6629, 52.381 },
- { 53.139, 61.9048 },
- { 43.6152, 66.6667 },
- { 29.3295, 66.6667 },
- { 19.8057, 61.9048 },
- { 10.2819, 52.381 },
- { 5.52, 38.0952 },
- { 5.52, 28.5714 },
- { 10.2819, 14.2857 },
- { 19.8057, 4.7619 },
- { 29.3295, 0 },
- { 43.6152, 0 },
- { 53.139, 4.7619 },
- { 62.6629, 14.2857 },
-};
-
-static const StrokeRec char99[] = {
- { 14, char99_stroke0 },
-};
-
-/* char: 100 'd' */
-
-static const CoordRec char100_stroke0[] = {
- { 61.7829, 100 },
- { 61.7829, 0 },
-};
-
-static const CoordRec char100_stroke1[] = {
- { 61.7829, 52.381 },
- { 52.259, 61.9048 },
- { 42.7352, 66.6667 },
- { 28.4495, 66.6667 },
- { 18.9257, 61.9048 },
- { 9.4019, 52.381 },
- { 4.64, 38.0952 },
- { 4.64, 28.5714 },
- { 9.4019, 14.2857 },
- { 18.9257, 4.7619 },
- { 28.4495, 0 },
- { 42.7352, 0 },
- { 52.259, 4.7619 },
- { 61.7829, 14.2857 },
-};
-
-static const StrokeRec char100[] = {
- { 2, char100_stroke0 },
- { 14, char100_stroke1 },
-};
-
-/* char: 101 'e' */
-
-static const CoordRec char101_stroke0[] = {
- { 5.72, 38.0952 },
- { 62.8629, 38.0952 },
- { 62.8629, 47.619 },
- { 58.101, 57.1429 },
- { 53.339, 61.9048 },
- { 43.8152, 66.6667 },
- { 29.5295, 66.6667 },
- { 20.0057, 61.9048 },
- { 10.4819, 52.381 },
- { 5.72, 38.0952 },
- { 5.72, 28.5714 },
- { 10.4819, 14.2857 },
- { 20.0057, 4.7619 },
- { 29.5295, 0 },
- { 43.8152, 0 },
- { 53.339, 4.7619 },
- { 62.8629, 14.2857 },
-};
-
-static const StrokeRec char101[] = {
- { 17, char101_stroke0 },
-};
-
-/* char: 102 'f' */
-
-static const CoordRec char102_stroke0[] = {
- { 38.7752, 100 },
- { 29.2514, 100 },
- { 19.7276, 95.2381 },
- { 14.9657, 80.9524 },
- { 14.9657, 0 },
-};
-
-static const CoordRec char102_stroke1[] = {
- { 0.68, 66.6667 },
- { 34.0133, 66.6667 },
-};
-
-static const StrokeRec char102[] = {
- { 5, char102_stroke0 },
- { 2, char102_stroke1 },
-};
-
-/* char: 103 'g' */
-
-static const CoordRec char103_stroke0[] = {
- { 62.5029, 66.6667 },
- { 62.5029, -9.5238 },
- { 57.741, -23.8095 },
- { 52.979, -28.5714 },
- { 43.4552, -33.3333 },
- { 29.1695, -33.3333 },
- { 19.6457, -28.5714 },
-};
-
-static const CoordRec char103_stroke1[] = {
- { 62.5029, 52.381 },
- { 52.979, 61.9048 },
- { 43.4552, 66.6667 },
- { 29.1695, 66.6667 },
- { 19.6457, 61.9048 },
- { 10.1219, 52.381 },
- { 5.36, 38.0952 },
- { 5.36, 28.5714 },
- { 10.1219, 14.2857 },
- { 19.6457, 4.7619 },
- { 29.1695, 0 },
- { 43.4552, 0 },
- { 52.979, 4.7619 },
- { 62.5029, 14.2857 },
-};
-
-static const StrokeRec char103[] = {
- { 7, char103_stroke0 },
- { 14, char103_stroke1 },
-};
-
-/* char: 104 'h' */
-
-static const CoordRec char104_stroke0[] = {
- { 9.6, 100 },
- { 9.6, 0 },
-};
-
-static const CoordRec char104_stroke1[] = {
- { 9.6, 47.619 },
- { 23.8857, 61.9048 },
- { 33.4095, 66.6667 },
- { 47.6952, 66.6667 },
- { 57.219, 61.9048 },
- { 61.981, 47.619 },
- { 61.981, 0 },
-};
-
-static const StrokeRec char104[] = {
- { 2, char104_stroke0 },
- { 7, char104_stroke1 },
-};
-
-/* char: 105 'i' */
-
-static const CoordRec char105_stroke0[] = {
- { 10.02, 100 },
- { 14.7819, 95.2381 },
- { 19.5438, 100 },
- { 14.7819, 104.762 },
- { 10.02, 100 },
-};
-
-static const CoordRec char105_stroke1[] = {
- { 14.7819, 66.6667 },
- { 14.7819, 0 },
-};
-
-static const StrokeRec char105[] = {
- { 5, char105_stroke0 },
- { 2, char105_stroke1 },
-};
-
-/* char: 106 'j' */
-
-static const CoordRec char106_stroke0[] = {
- { 17.3876, 100 },
- { 22.1495, 95.2381 },
- { 26.9114, 100 },
- { 22.1495, 104.762 },
- { 17.3876, 100 },
-};
-
-static const CoordRec char106_stroke1[] = {
- { 22.1495, 66.6667 },
- { 22.1495, -14.2857 },
- { 17.3876, -28.5714 },
- { 7.8638, -33.3333 },
- { -1.66, -33.3333 },
-};
-
-static const StrokeRec char106[] = {
- { 5, char106_stroke0 },
- { 5, char106_stroke1 },
-};
-
-/* char: 107 'k' */
-
-static const CoordRec char107_stroke0[] = {
- { 9.6, 100 },
- { 9.6, 0 },
-};
-
-static const CoordRec char107_stroke1[] = {
- { 57.219, 66.6667 },
- { 9.6, 19.0476 },
-};
-
-static const CoordRec char107_stroke2[] = {
- { 28.6476, 38.0952 },
- { 61.981, 0 },
-};
-
-static const StrokeRec char107[] = {
- { 2, char107_stroke0 },
- { 2, char107_stroke1 },
- { 2, char107_stroke2 },
-};
-
-/* char: 108 'l' */
-
-static const CoordRec char108_stroke0[] = {
- { 10.02, 100 },
- { 10.02, 0 },
-};
-
-static const StrokeRec char108[] = {
- { 2, char108_stroke0 },
-};
-
-/* char: 109 'm' */
-
-static const CoordRec char109_stroke0[] = {
- { 9.6, 66.6667 },
- { 9.6, 0 },
-};
-
-static const CoordRec char109_stroke1[] = {
- { 9.6, 47.619 },
- { 23.8857, 61.9048 },
- { 33.4095, 66.6667 },
- { 47.6952, 66.6667 },
- { 57.219, 61.9048 },
- { 61.981, 47.619 },
- { 61.981, 0 },
-};
-
-static const CoordRec char109_stroke2[] = {
- { 61.981, 47.619 },
- { 76.2667, 61.9048 },
- { 85.7905, 66.6667 },
- { 100.076, 66.6667 },
- { 109.6, 61.9048 },
- { 114.362, 47.619 },
- { 114.362, 0 },
-};
-
-static const StrokeRec char109[] = {
- { 2, char109_stroke0 },
- { 7, char109_stroke1 },
- { 7, char109_stroke2 },
-};
-
-/* char: 110 'n' */
-
-static const CoordRec char110_stroke0[] = {
- { 9.18, 66.6667 },
- { 9.18, 0 },
-};
-
-static const CoordRec char110_stroke1[] = {
- { 9.18, 47.619 },
- { 23.4657, 61.9048 },
- { 32.9895, 66.6667 },
- { 47.2752, 66.6667 },
- { 56.799, 61.9048 },
- { 61.561, 47.619 },
- { 61.561, 0 },
-};
-
-static const StrokeRec char110[] = {
- { 2, char110_stroke0 },
- { 7, char110_stroke1 },
-};
-
-/* char: 111 'o' */
-
-static const CoordRec char111_stroke0[] = {
- { 28.7895, 66.6667 },
- { 19.2657, 61.9048 },
- { 9.7419, 52.381 },
- { 4.98, 38.0952 },
- { 4.98, 28.5714 },
- { 9.7419, 14.2857 },
- { 19.2657, 4.7619 },
- { 28.7895, 0 },
- { 43.0752, 0 },
- { 52.599, 4.7619 },
- { 62.1229, 14.2857 },
- { 66.8848, 28.5714 },
- { 66.8848, 38.0952 },
- { 62.1229, 52.381 },
- { 52.599, 61.9048 },
- { 43.0752, 66.6667 },
- { 28.7895, 66.6667 },
-};
-
-static const StrokeRec char111[] = {
- { 17, char111_stroke0 },
-};
-
-/* char: 112 'p' */
-
-static const CoordRec char112_stroke0[] = {
- { 9.46, 66.6667 },
- { 9.46, -33.3333 },
-};
-
-static const CoordRec char112_stroke1[] = {
- { 9.46, 52.381 },
- { 18.9838, 61.9048 },
- { 28.5076, 66.6667 },
- { 42.7933, 66.6667 },
- { 52.3171, 61.9048 },
- { 61.841, 52.381 },
- { 66.6029, 38.0952 },
- { 66.6029, 28.5714 },
- { 61.841, 14.2857 },
- { 52.3171, 4.7619 },
- { 42.7933, 0 },
- { 28.5076, 0 },
- { 18.9838, 4.7619 },
- { 9.46, 14.2857 },
-};
-
-static const StrokeRec char112[] = {
- { 2, char112_stroke0 },
- { 14, char112_stroke1 },
-};
-
-/* char: 113 'q' */
-
-static const CoordRec char113_stroke0[] = {
- { 61.9829, 66.6667 },
- { 61.9829, -33.3333 },
-};
-
-static const CoordRec char113_stroke1[] = {
- { 61.9829, 52.381 },
- { 52.459, 61.9048 },
- { 42.9352, 66.6667 },
- { 28.6495, 66.6667 },
- { 19.1257, 61.9048 },
- { 9.6019, 52.381 },
- { 4.84, 38.0952 },
- { 4.84, 28.5714 },
- { 9.6019, 14.2857 },
- { 19.1257, 4.7619 },
- { 28.6495, 0 },
- { 42.9352, 0 },
- { 52.459, 4.7619 },
- { 61.9829, 14.2857 },
-};
-
-static const StrokeRec char113[] = {
- { 2, char113_stroke0 },
- { 14, char113_stroke1 },
-};
-
-/* char: 114 'r' */
-
-static const CoordRec char114_stroke0[] = {
- { 9.46, 66.6667 },
- { 9.46, 0 },
-};
-
-static const CoordRec char114_stroke1[] = {
- { 9.46, 38.0952 },
- { 14.2219, 52.381 },
- { 23.7457, 61.9048 },
- { 33.2695, 66.6667 },
- { 47.5552, 66.6667 },
-};
-
-static const StrokeRec char114[] = {
- { 2, char114_stroke0 },
- { 5, char114_stroke1 },
-};
-
-/* char: 115 's' */
-
-static const CoordRec char115_stroke0[] = {
- { 57.081, 52.381 },
- { 52.319, 61.9048 },
- { 38.0333, 66.6667 },
- { 23.7476, 66.6667 },
- { 9.4619, 61.9048 },
- { 4.7, 52.381 },
- { 9.4619, 42.8571 },
- { 18.9857, 38.0952 },
- { 42.7952, 33.3333 },
- { 52.319, 28.5714 },
- { 57.081, 19.0476 },
- { 57.081, 14.2857 },
- { 52.319, 4.7619 },
- { 38.0333, 0 },
- { 23.7476, 0 },
- { 9.4619, 4.7619 },
- { 4.7, 14.2857 },
-};
-
-static const StrokeRec char115[] = {
- { 17, char115_stroke0 },
-};
-
-/* char: 116 't' */
-
-static const CoordRec char116_stroke0[] = {
- { 14.8257, 100 },
- { 14.8257, 19.0476 },
- { 19.5876, 4.7619 },
- { 29.1114, 0 },
- { 38.6352, 0 },
-};
-
-static const CoordRec char116_stroke1[] = {
- { 0.54, 66.6667 },
- { 33.8733, 66.6667 },
-};
-
-static const StrokeRec char116[] = {
- { 5, char116_stroke0 },
- { 2, char116_stroke1 },
-};
-
-/* char: 117 'u' */
-
-static const CoordRec char117_stroke0[] = {
- { 9.46, 66.6667 },
- { 9.46, 19.0476 },
- { 14.2219, 4.7619 },
- { 23.7457, 0 },
- { 38.0314, 0 },
- { 47.5552, 4.7619 },
- { 61.841, 19.0476 },
-};
-
-static const CoordRec char117_stroke1[] = {
- { 61.841, 66.6667 },
- { 61.841, 0 },
-};
-
-static const StrokeRec char117[] = {
- { 7, char117_stroke0 },
- { 2, char117_stroke1 },
-};
-
-/* char: 118 'v' */
-
-static const CoordRec char118_stroke0[] = {
- { 1.8, 66.6667 },
- { 30.3714, 0 },
-};
-
-static const CoordRec char118_stroke1[] = {
- { 58.9429, 66.6667 },
- { 30.3714, 0 },
-};
-
-static const StrokeRec char118[] = {
- { 2, char118_stroke0 },
- { 2, char118_stroke1 },
-};
-
-/* char: 119 'w' */
-
-static const CoordRec char119_stroke0[] = {
- { 2.5, 66.6667 },
- { 21.5476, 0 },
-};
-
-static const CoordRec char119_stroke1[] = {
- { 40.5952, 66.6667 },
- { 21.5476, 0 },
-};
-
-static const CoordRec char119_stroke2[] = {
- { 40.5952, 66.6667 },
- { 59.6429, 0 },
-};
-
-static const CoordRec char119_stroke3[] = {
- { 78.6905, 66.6667 },
- { 59.6429, 0 },
-};
-
-static const StrokeRec char119[] = {
- { 2, char119_stroke0 },
- { 2, char119_stroke1 },
- { 2, char119_stroke2 },
- { 2, char119_stroke3 },
-};
-
-/* char: 120 'x' */
-
-static const CoordRec char120_stroke0[] = {
- { 1.66, 66.6667 },
- { 54.041, 0 },
-};
-
-static const CoordRec char120_stroke1[] = {
- { 54.041, 66.6667 },
- { 1.66, 0 },
-};
-
-static const StrokeRec char120[] = {
- { 2, char120_stroke0 },
- { 2, char120_stroke1 },
-};
-
-/* char: 121 'y' */
-
-static const CoordRec char121_stroke0[] = {
- { 6.5619, 66.6667 },
- { 35.1333, 0 },
-};
-
-static const CoordRec char121_stroke1[] = {
- { 63.7048, 66.6667 },
- { 35.1333, 0 },
- { 25.6095, -19.0476 },
- { 16.0857, -28.5714 },
- { 6.5619, -33.3333 },
- { 1.8, -33.3333 },
-};
-
-static const StrokeRec char121[] = {
- { 2, char121_stroke0 },
- { 6, char121_stroke1 },
-};
-
-/* char: 122 'z' */
-
-static const CoordRec char122_stroke0[] = {
- { 56.821, 66.6667 },
- { 4.44, 0 },
-};
-
-static const CoordRec char122_stroke1[] = {
- { 4.44, 66.6667 },
- { 56.821, 66.6667 },
-};
-
-static const CoordRec char122_stroke2[] = {
- { 4.44, 0 },
- { 56.821, 0 },
-};
-
-static const StrokeRec char122[] = {
- { 2, char122_stroke0 },
- { 2, char122_stroke1 },
- { 2, char122_stroke2 },
-};
-
-/* char: 123 '{' */
-
-static const CoordRec char123_stroke0[] = {
- { 31.1895, 119.048 },
- { 21.6657, 114.286 },
- { 16.9038, 109.524 },
- { 12.1419, 100 },
- { 12.1419, 90.4762 },
- { 16.9038, 80.9524 },
- { 21.6657, 76.1905 },
- { 26.4276, 66.6667 },
- { 26.4276, 57.1429 },
- { 16.9038, 47.619 },
-};
-
-static const CoordRec char123_stroke1[] = {
- { 21.6657, 114.286 },
- { 16.9038, 104.762 },
- { 16.9038, 95.2381 },
- { 21.6657, 85.7143 },
- { 26.4276, 80.9524 },
- { 31.1895, 71.4286 },
- { 31.1895, 61.9048 },
- { 26.4276, 52.381 },
- { 7.38, 42.8571 },
- { 26.4276, 33.3333 },
- { 31.1895, 23.8095 },
- { 31.1895, 14.2857 },
- { 26.4276, 4.7619 },
- { 21.6657, 0 },
- { 16.9038, -9.5238 },
- { 16.9038, -19.0476 },
- { 21.6657, -28.5714 },
-};
-
-static const CoordRec char123_stroke2[] = {
- { 16.9038, 38.0952 },
- { 26.4276, 28.5714 },
- { 26.4276, 19.0476 },
- { 21.6657, 9.5238 },
- { 16.9038, 4.7619 },
- { 12.1419, -4.7619 },
- { 12.1419, -14.2857 },
- { 16.9038, -23.8095 },
- { 21.6657, -28.5714 },
- { 31.1895, -33.3333 },
-};
-
-static const StrokeRec char123[] = {
- { 10, char123_stroke0 },
- { 17, char123_stroke1 },
- { 10, char123_stroke2 },
-};
-
-/* char: 124 '|' */
-
-static const CoordRec char124_stroke0[] = {
- { 11.54, 119.048 },
- { 11.54, -33.3333 },
-};
-
-static const StrokeRec char124[] = {
- { 2, char124_stroke0 },
-};
-
-/* char: 125 '}' */
-
-static const CoordRec char125_stroke0[] = {
- { 9.18, 119.048 },
- { 18.7038, 114.286 },
- { 23.4657, 109.524 },
- { 28.2276, 100 },
- { 28.2276, 90.4762 },
- { 23.4657, 80.9524 },
- { 18.7038, 76.1905 },
- { 13.9419, 66.6667 },
- { 13.9419, 57.1429 },
- { 23.4657, 47.619 },
-};
-
-static const CoordRec char125_stroke1[] = {
- { 18.7038, 114.286 },
- { 23.4657, 104.762 },
- { 23.4657, 95.2381 },
- { 18.7038, 85.7143 },
- { 13.9419, 80.9524 },
- { 9.18, 71.4286 },
- { 9.18, 61.9048 },
- { 13.9419, 52.381 },
- { 32.9895, 42.8571 },
- { 13.9419, 33.3333 },
- { 9.18, 23.8095 },
- { 9.18, 14.2857 },
- { 13.9419, 4.7619 },
- { 18.7038, 0 },
- { 23.4657, -9.5238 },
- { 23.4657, -19.0476 },
- { 18.7038, -28.5714 },
-};
-
-static const CoordRec char125_stroke2[] = {
- { 23.4657, 38.0952 },
- { 13.9419, 28.5714 },
- { 13.9419, 19.0476 },
- { 18.7038, 9.5238 },
- { 23.4657, 4.7619 },
- { 28.2276, -4.7619 },
- { 28.2276, -14.2857 },
- { 23.4657, -23.8095 },
- { 18.7038, -28.5714 },
- { 9.18, -33.3333 },
-};
-
-static const StrokeRec char125[] = {
- { 10, char125_stroke0 },
- { 17, char125_stroke1 },
- { 10, char125_stroke2 },
-};
-
-/* char: 126 '~' */
-
-static const CoordRec char126_stroke0[] = {
- { 2.92, 28.5714 },
- { 2.92, 38.0952 },
- { 7.6819, 52.381 },
- { 17.2057, 57.1429 },
- { 26.7295, 57.1429 },
- { 36.2533, 52.381 },
- { 55.301, 38.0952 },
- { 64.8248, 33.3333 },
- { 74.3486, 33.3333 },
- { 83.8724, 38.0952 },
- { 88.6343, 47.619 },
-};
-
-static const CoordRec char126_stroke1[] = {
- { 2.92, 38.0952 },
- { 7.6819, 47.619 },
- { 17.2057, 52.381 },
- { 26.7295, 52.381 },
- { 36.2533, 47.619 },
- { 55.301, 33.3333 },
- { 64.8248, 28.5714 },
- { 74.3486, 28.5714 },
- { 83.8724, 33.3333 },
- { 88.6343, 47.619 },
- { 88.6343, 57.1429 },
-};
-
-static const StrokeRec char126[] = {
- { 11, char126_stroke0 },
- { 11, char126_stroke1 },
-};
-
-/* char: 127 */
-
-static const CoordRec char127_stroke0[] = {
- { 52.381, 100 },
- { 14.2857, -33.3333 },
-};
-
-static const CoordRec char127_stroke1[] = {
- { 28.5714, 66.6667 },
- { 14.2857, 61.9048 },
- { 4.7619, 52.381 },
- { 0, 38.0952 },
- { 0, 23.8095 },
- { 4.7619, 14.2857 },
- { 14.2857, 4.7619 },
- { 28.5714, 0 },
- { 38.0952, 0 },
- { 52.381, 4.7619 },
- { 61.9048, 14.2857 },
- { 66.6667, 28.5714 },
- { 66.6667, 42.8571 },
- { 61.9048, 52.381 },
- { 52.381, 61.9048 },
- { 38.0952, 66.6667 },
- { 28.5714, 66.6667 },
-};
-
-static const StrokeRec char127[] = {
- { 2, char127_stroke0 },
- { 17, char127_stroke1 },
-};
-
-static const StrokeCharRec chars[] = {
- { 0, /* char0 */ 0, 0, 0 },
- { 0, /* char1 */ 0, 0, 0 },
- { 0, /* char2 */ 0, 0, 0 },
- { 0, /* char3 */ 0, 0, 0 },
- { 0, /* char4 */ 0, 0, 0 },
- { 0, /* char5 */ 0, 0, 0 },
- { 0, /* char6 */ 0, 0, 0 },
- { 0, /* char7 */ 0, 0, 0 },
- { 0, /* char8 */ 0, 0, 0 },
- { 0, /* char9 */ 0, 0, 0 },
- { 0, /* char10 */ 0, 0, 0 },
- { 0, /* char11 */ 0, 0, 0 },
- { 0, /* char12 */ 0, 0, 0 },
- { 0, /* char13 */ 0, 0, 0 },
- { 0, /* char14 */ 0, 0, 0 },
- { 0, /* char15 */ 0, 0, 0 },
- { 0, /* char16 */ 0, 0, 0 },
- { 0, /* char17 */ 0, 0, 0 },
- { 0, /* char18 */ 0, 0, 0 },
- { 0, /* char19 */ 0, 0, 0 },
- { 0, /* char20 */ 0, 0, 0 },
- { 0, /* char21 */ 0, 0, 0 },
- { 0, /* char22 */ 0, 0, 0 },
- { 0, /* char23 */ 0, 0, 0 },
- { 0, /* char24 */ 0, 0, 0 },
- { 0, /* char25 */ 0, 0, 0 },
- { 0, /* char26 */ 0, 0, 0 },
- { 0, /* char27 */ 0, 0, 0 },
- { 0, /* char28 */ 0, 0, 0 },
- { 0, /* char29 */ 0, 0, 0 },
- { 0, /* char30 */ 0, 0, 0 },
- { 0, /* char31 */ 0, 0, 0 },
- { 0, /* char32 */ 0, 52.381, 104.762 },
- { 2, char33, 13.3819, 26.6238 },
- { 2, char34, 23.0676, 51.4352 },
- { 4, char35, 36.5333, 79.4886 },
- { 3, char36, 38.1533, 76.2067 },
- { 3, char37, 49.2171, 96.5743 },
- { 1, char38, 53.599, 101.758 },
- { 1, char39, 4.44, 13.62 },
- { 1, char40, 21.8657, 47.1733 },
- { 1, char41, 24.3276, 47.5333 },
- { 3, char42, 30.7695, 59.439 },
- { 2, char43, 48.8371, 97.2543 },
- { 1, char44, 13.5219, 26.0638 },
- { 1, char45, 50.2371, 100.754 },
- { 1, char46, 13.1019, 26.4838 },
- { 1, char47, 40.5733, 82.1067 },
- { 1, char48, 38.3133, 77.0667 },
- { 1, char49, 30.8676, 66.5295 },
- { 1, char50, 38.7533, 77.6467 },
- { 1, char51, 38.3333, 77.0467 },
- { 2, char52, 37.2133, 80.1686 },
- { 1, char53, 38.1933, 77.6867 },
- { 1, char54, 34.1514, 73.8048 },
- { 2, char55, 38.8933, 77.2267 },
- { 1, char56, 38.9333, 77.6667 },
- { 1, char57, 39.9333, 74.0648 },
- { 2, char58, 14.0819, 26.2238 },
- { 2, char59, 12.9619, 26.3038 },
- { 1, char60, 41.1552, 81.6105 },
- { 2, char61, 48.5571, 97.2543 },
- { 1, char62, 40.8752, 81.6105 },
- { 2, char63, 36.9914, 73.9029 },
- { 2, char64, 34.9314, 74.3648 },
- { 3, char65, 40.5952, 80.4905 },
- { 3, char66, 44.7533, 83.6267 },
- { 1, char67, 39.9933, 84.4886 },
- { 2, char68, 45.2933, 85.2867 },
- { 4, char69, 39.9914, 78.1848 },
- { 3, char70, 39.9914, 78.7448 },
- { 2, char71, 40.3933, 89.7686 },
- { 3, char72, 44.7533, 89.0867 },
- { 1, char73, 10.86, 21.3 },
- { 1, char74, 31.0714, 59.999 },
- { 3, char75, 44.6133, 79.3267 },
- { 2, char76, 40.2514, 71.3229 },
- { 4, char77, 48.9552, 97.2105 },
- { 3, char78, 44.4733, 88.8067 },
- { 1, char79, 44.3352, 88.8305 },
- { 2, char80, 45.4333, 85.6667 },
- { 2, char81, 43.3952, 88.0905 },
- { 3, char82, 45.0133, 82.3667 },
- { 1, char83, 41.3333, 80.8267 },
- { 2, char84, 35.6933, 71.9467 },
- { 1, char85, 44.8733, 89.4867 },
- { 2, char86, 40.4552, 81.6105 },
- { 4, char87, 49.839, 100.518 },
- { 2, char88, 35.8333, 72.3667 },
- { 2, char89, 39.6152, 79.6505 },
- { 3, char90, 35.8333, 73.7467 },
- { 4, char91, 22.0657, 46.1133 },
- { 1, char92, 39.1733, 78.2067 },
- { 4, char93, 23.4876, 46.3933 },
- { 2, char94, 44.0752, 90.2305 },
- { 1, char95, 51.281, 104.062 },
- { 2, char96, 42.5457, 83.5714 },
- { 2, char97, 35.2514, 66.6029 },
- { 2, char98, 37.3314, 70.4629 },
- { 1, char99, 34.0914, 68.9229 },
- { 2, char100, 33.2114, 70.2629 },
- { 1, char101, 34.2914, 68.5229 },
- { 2, char102, 14.9657, 38.6552 },
- { 2, char103, 33.9314, 70.9829 },
- { 2, char104, 33.4095, 71.021 },
- { 2, char105, 14.7819, 28.8638 },
- { 2, char106, 17.3876, 36.2314 },
- { 3, char107, 33.4095, 62.521 },
- { 1, char108, 10.02, 19.34 },
- { 3, char109, 61.981, 123.962 },
- { 2, char110, 32.9895, 70.881 },
- { 1, char111, 33.5514, 71.7448 },
- { 2, char112, 38.0314, 70.8029 },
- { 2, char113, 33.4114, 70.7429 },
- { 2, char114, 23.7457, 49.4952 },
- { 1, char115, 28.5095, 62.321 },
- { 2, char116, 14.8257, 39.3152 },
- { 2, char117, 33.2695, 71.161 },
- { 2, char118, 30.3714, 60.6029 },
- { 4, char119, 40.5952, 80.4905 },
- { 2, char120, 25.4695, 56.401 },
- { 2, char121, 35.1333, 66.0648 },
- { 3, char122, 28.2495, 61.821 },
- { 3, char123, 21.6657, 41.6295 },
- { 1, char124, 11.54, 23.78 },
- { 3, char125, 18.7038, 41.4695 },
- { 2, char126, 45.7771, 91.2743 },
- { 2, char127, 33.3333, 66.6667 },
-};
-
-StrokeFontRec glutStrokeRoman = { "Roman", 128, chars, 119.048, -33.3333 };
-
diff --git a/src/glut/glx/glut_shapes.c b/src/glut/glx/glut_shapes.c
deleted file mode 100644
index 20e21026c2..0000000000
--- a/src/glut/glx/glut_shapes.c
+++ /dev/null
@@ -1,596 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994, 1997. */
-
-/**
-(c) Copyright 1993, Silicon Graphics, Inc.
-
-ALL RIGHTS RESERVED
-
-Permission to use, copy, modify, and distribute this software
-for any purpose and without fee is hereby granted, provided
-that the above copyright notice appear in all copies and that
-both the copyright notice and this permission notice appear in
-supporting documentation, and that the name of Silicon
-Graphics, Inc. not be used in advertising or publicity
-pertaining to distribution of the software without specific,
-written prior permission.
-
-THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU
-"AS-IS" AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR
-OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO
-EVENT SHALL SILICON GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE
-ELSE FOR ANY DIRECT, SPECIAL, INCIDENTAL, INDIRECT OR
-CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER,
-INCLUDING WITHOUT LIMITATION, LOSS OF PROFIT, LOSS OF USE,
-SAVINGS OR REVENUE, OR THE CLAIMS OF THIRD PARTIES, WHETHER OR
-NOT SILICON GRAPHICS, INC. HAS BEEN ADVISED OF THE POSSIBILITY
-OF SUCH LOSS, HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-ARISING OUT OF OR IN CONNECTION WITH THE POSSESSION, USE OR
-PERFORMANCE OF THIS SOFTWARE.
-
-US Government Users Restricted Rights
-
-Use, duplication, or disclosure by the Government is subject to
-restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
-(c)(1)(ii) of the Rights in Technical Data and Computer
-Software clause at DFARS 252.227-7013 and/or in similar or
-successor clauses in the FAR or the DOD or NASA FAR
-Supplement. Unpublished-- rights reserved under the copyright
-laws of the United States. Contractor/manufacturer is Silicon
-Graphics, Inc., 2011 N. Shoreline Blvd., Mountain View, CA
-94039-7311.
-
-OpenGL(TM) is a trademark of Silicon Graphics, Inc.
-*/
-
-#include <math.h>
-#include "glutint.h"
-
-/* Some <math.h> files do not define M_PI... */
-#ifndef M_PI
-#define M_PI 3.14159265358979323846
-#endif
-
-static GLUquadricObj *quadObj;
-
-#define QUAD_OBJ_INIT() { if(!quadObj) initQuadObj(); }
-
-static void
-initQuadObj(void)
-{
- quadObj = gluNewQuadric();
- if (!quadObj)
- __glutFatalError("out of memory.");
-}
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutWireSphere(GLdouble radius, GLint slices, GLint stacks)
-{
- QUAD_OBJ_INIT();
- gluQuadricDrawStyle(quadObj, GLU_LINE);
- gluQuadricNormals(quadObj, GLU_SMOOTH);
- /* If we ever changed/used the texture or orientation state
- of quadObj, we'd need to change it to the defaults here
- with gluQuadricTexture and/or gluQuadricOrientation. */
- gluSphere(quadObj, radius, slices, stacks);
-}
-
-void GLUTAPIENTRY
-glutSolidSphere(GLdouble radius, GLint slices, GLint stacks)
-{
- QUAD_OBJ_INIT();
- gluQuadricDrawStyle(quadObj, GLU_FILL);
- gluQuadricNormals(quadObj, GLU_SMOOTH);
- /* If we ever changed/used the texture or orientation state
- of quadObj, we'd need to change it to the defaults here
- with gluQuadricTexture and/or gluQuadricOrientation. */
- gluSphere(quadObj, radius, slices, stacks);
-}
-
-void GLUTAPIENTRY
-glutWireCone(GLdouble base, GLdouble height,
- GLint slices, GLint stacks)
-{
- QUAD_OBJ_INIT();
- gluQuadricDrawStyle(quadObj, GLU_LINE);
- gluQuadricNormals(quadObj, GLU_SMOOTH);
- /* If we ever changed/used the texture or orientation state
- of quadObj, we'd need to change it to the defaults here
- with gluQuadricTexture and/or gluQuadricOrientation. */
- gluCylinder(quadObj, base, 0.0, height, slices, stacks);
-}
-
-void GLUTAPIENTRY
-glutSolidCone(GLdouble base, GLdouble height,
- GLint slices, GLint stacks)
-{
- QUAD_OBJ_INIT();
- gluQuadricDrawStyle(quadObj, GLU_FILL);
- gluQuadricNormals(quadObj, GLU_SMOOTH);
- /* If we ever changed/used the texture or orientation state
- of quadObj, we'd need to change it to the defaults here
- with gluQuadricTexture and/or gluQuadricOrientation. */
- gluCylinder(quadObj, base, 0.0, height, slices, stacks);
-}
-
-/* ENDCENTRY */
-
-static void
-drawBox(GLfloat size, GLenum type)
-{
- static GLfloat n[6][3] =
- {
- {-1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {1.0, 0.0, 0.0},
- {0.0, -1.0, 0.0},
- {0.0, 0.0, 1.0},
- {0.0, 0.0, -1.0}
- };
- static GLint faces[6][4] =
- {
- {0, 1, 2, 3},
- {3, 2, 6, 7},
- {7, 6, 5, 4},
- {4, 5, 1, 0},
- {5, 6, 2, 1},
- {7, 4, 0, 3}
- };
- GLfloat v[8][3];
- GLint i;
-
- v[0][0] = v[1][0] = v[2][0] = v[3][0] = -size / 2;
- v[4][0] = v[5][0] = v[6][0] = v[7][0] = size / 2;
- v[0][1] = v[1][1] = v[4][1] = v[5][1] = -size / 2;
- v[2][1] = v[3][1] = v[6][1] = v[7][1] = size / 2;
- v[0][2] = v[3][2] = v[4][2] = v[7][2] = -size / 2;
- v[1][2] = v[2][2] = v[5][2] = v[6][2] = size / 2;
-
- for (i = 5; i >= 0; i--) {
- glBegin(type);
- glNormal3fv(&n[i][0]);
- glVertex3fv(&v[faces[i][0]][0]);
- glVertex3fv(&v[faces[i][1]][0]);
- glVertex3fv(&v[faces[i][2]][0]);
- glVertex3fv(&v[faces[i][3]][0]);
- glEnd();
- }
-}
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutWireCube(GLdouble size)
-{
- drawBox(size, GL_LINE_LOOP);
-}
-
-void GLUTAPIENTRY
-glutSolidCube(GLdouble size)
-{
- drawBox(size, GL_QUADS);
-}
-
-/* ENDCENTRY */
-
-static void
-doughnut(GLfloat r, GLfloat R, GLint nsides, GLint rings)
-{
- int i, j;
- GLfloat theta, phi, theta1;
- GLfloat cosTheta, sinTheta;
- GLfloat cosTheta1, sinTheta1;
- GLfloat ringDelta, sideDelta;
-
- ringDelta = 2.0 * M_PI / rings;
- sideDelta = 2.0 * M_PI / nsides;
-
- theta = 0.0;
- cosTheta = 1.0;
- sinTheta = 0.0;
- for (i = rings - 1; i >= 0; i--) {
- theta1 = theta + ringDelta;
- cosTheta1 = cos(theta1);
- sinTheta1 = sin(theta1);
- glBegin(GL_QUAD_STRIP);
- phi = 0.0;
- for (j = nsides; j >= 0; j--) {
- GLfloat cosPhi, sinPhi, dist;
-
- phi += sideDelta;
- cosPhi = cos(phi);
- sinPhi = sin(phi);
- dist = R + r * cosPhi;
-
- glNormal3f(cosTheta1 * cosPhi, -sinTheta1 * cosPhi, sinPhi);
- glVertex3f(cosTheta1 * dist, -sinTheta1 * dist, r * sinPhi);
- glNormal3f(cosTheta * cosPhi, -sinTheta * cosPhi, sinPhi);
- glVertex3f(cosTheta * dist, -sinTheta * dist, r * sinPhi);
- }
- glEnd();
- theta = theta1;
- cosTheta = cosTheta1;
- sinTheta = sinTheta1;
- }
-}
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutWireTorus(GLdouble innerRadius, GLdouble outerRadius,
- GLint nsides, GLint rings)
-{
- glPushAttrib(GL_POLYGON_BIT);
- glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
- doughnut(innerRadius, outerRadius, nsides, rings);
- glPopAttrib();
-}
-
-void GLUTAPIENTRY
-glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius,
- GLint nsides, GLint rings)
-{
- doughnut(innerRadius, outerRadius, nsides, rings);
-}
-
-/* ENDCENTRY */
-
-static GLfloat dodec[20][3];
-
-static void
-initDodecahedron(void)
-{
- GLfloat alpha, beta;
-
- alpha = sqrt(2.0 / (3.0 + sqrt(5.0)));
- beta = 1.0 + sqrt(6.0 / (3.0 + sqrt(5.0)) -
- 2.0 + 2.0 * sqrt(2.0 / (3.0 + sqrt(5.0))));
- /* *INDENT-OFF* */
- dodec[0][0] = -alpha; dodec[0][1] = 0; dodec[0][2] = beta;
- dodec[1][0] = alpha; dodec[1][1] = 0; dodec[1][2] = beta;
- dodec[2][0] = -1; dodec[2][1] = -1; dodec[2][2] = -1;
- dodec[3][0] = -1; dodec[3][1] = -1; dodec[3][2] = 1;
- dodec[4][0] = -1; dodec[4][1] = 1; dodec[4][2] = -1;
- dodec[5][0] = -1; dodec[5][1] = 1; dodec[5][2] = 1;
- dodec[6][0] = 1; dodec[6][1] = -1; dodec[6][2] = -1;
- dodec[7][0] = 1; dodec[7][1] = -1; dodec[7][2] = 1;
- dodec[8][0] = 1; dodec[8][1] = 1; dodec[8][2] = -1;
- dodec[9][0] = 1; dodec[9][1] = 1; dodec[9][2] = 1;
- dodec[10][0] = beta; dodec[10][1] = alpha; dodec[10][2] = 0;
- dodec[11][0] = beta; dodec[11][1] = -alpha; dodec[11][2] = 0;
- dodec[12][0] = -beta; dodec[12][1] = alpha; dodec[12][2] = 0;
- dodec[13][0] = -beta; dodec[13][1] = -alpha; dodec[13][2] = 0;
- dodec[14][0] = -alpha; dodec[14][1] = 0; dodec[14][2] = -beta;
- dodec[15][0] = alpha; dodec[15][1] = 0; dodec[15][2] = -beta;
- dodec[16][0] = 0; dodec[16][1] = beta; dodec[16][2] = alpha;
- dodec[17][0] = 0; dodec[17][1] = beta; dodec[17][2] = -alpha;
- dodec[18][0] = 0; dodec[18][1] = -beta; dodec[18][2] = alpha;
- dodec[19][0] = 0; dodec[19][1] = -beta; dodec[19][2] = -alpha;
- /* *INDENT-ON* */
-
-}
-
-#define DIFF3(_a,_b,_c) { \
- (_c)[0] = (_a)[0] - (_b)[0]; \
- (_c)[1] = (_a)[1] - (_b)[1]; \
- (_c)[2] = (_a)[2] - (_b)[2]; \
-}
-
-static void
-crossprod(GLfloat v1[3], GLfloat v2[3], GLfloat prod[3])
-{
- GLfloat p[3]; /* in case prod == v1 or v2 */
-
- p[0] = v1[1] * v2[2] - v2[1] * v1[2];
- p[1] = v1[2] * v2[0] - v2[2] * v1[0];
- p[2] = v1[0] * v2[1] - v2[0] * v1[1];
- prod[0] = p[0];
- prod[1] = p[1];
- prod[2] = p[2];
-}
-
-static void
-normalize(GLfloat v[3])
-{
- GLfloat d;
-
- d = sqrt(v[0] * v[0] + v[1] * v[1] + v[2] * v[2]);
- if (d == 0.0) {
- __glutWarning("normalize: zero length vector");
- v[0] = d = 1.0;
- }
- d = 1 / d;
- v[0] *= d;
- v[1] *= d;
- v[2] *= d;
-}
-
-static void
-pentagon(int a, int b, int c, int d, int e, GLenum shadeType)
-{
- GLfloat n0[3], d1[3], d2[3];
-
- DIFF3(dodec[a], dodec[b], d1);
- DIFF3(dodec[b], dodec[c], d2);
- crossprod(d1, d2, n0);
- normalize(n0);
-
- glBegin(shadeType);
- glNormal3fv(n0);
- glVertex3fv(&dodec[a][0]);
- glVertex3fv(&dodec[b][0]);
- glVertex3fv(&dodec[c][0]);
- glVertex3fv(&dodec[d][0]);
- glVertex3fv(&dodec[e][0]);
- glEnd();
-}
-
-static void
-dodecahedron(GLenum type)
-{
- static int inited = 0;
-
- if (inited == 0) {
- inited = 1;
- initDodecahedron();
- }
- pentagon(0, 1, 9, 16, 5, type);
- pentagon(1, 0, 3, 18, 7, type);
- pentagon(1, 7, 11, 10, 9, type);
- pentagon(11, 7, 18, 19, 6, type);
- pentagon(8, 17, 16, 9, 10, type);
- pentagon(2, 14, 15, 6, 19, type);
- pentagon(2, 13, 12, 4, 14, type);
- pentagon(2, 19, 18, 3, 13, type);
- pentagon(3, 0, 5, 12, 13, type);
- pentagon(6, 15, 8, 10, 11, type);
- pentagon(4, 17, 8, 15, 14, type);
- pentagon(4, 12, 5, 16, 17, type);
-}
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutWireDodecahedron(void)
-{
- dodecahedron(GL_LINE_LOOP);
-}
-
-void GLUTAPIENTRY
-glutSolidDodecahedron(void)
-{
- dodecahedron(GL_TRIANGLE_FAN);
-}
-
-/* ENDCENTRY */
-
-static void
-recorditem(GLfloat * n1, GLfloat * n2, GLfloat * n3,
- GLenum shadeType)
-{
- GLfloat q0[3], q1[3];
-
- DIFF3(n1, n2, q0);
- DIFF3(n2, n3, q1);
- crossprod(q0, q1, q1);
- normalize(q1);
-
- glBegin(shadeType);
- glNormal3fv(q1);
- glVertex3fv(n1);
- glVertex3fv(n2);
- glVertex3fv(n3);
- glEnd();
-}
-
-static void
-subdivide(GLfloat * v0, GLfloat * v1, GLfloat * v2,
- GLenum shadeType)
-{
- int depth;
- GLfloat w0[3], w1[3], w2[3];
- GLfloat l;
- int i, j, k, n;
-
- depth = 1;
- for (i = 0; i < depth; i++) {
- for (j = 0; i + j < depth; j++) {
- k = depth - i - j;
- for (n = 0; n < 3; n++) {
- w0[n] = (i * v0[n] + j * v1[n] + k * v2[n]) / depth;
- w1[n] = ((i + 1) * v0[n] + j * v1[n] + (k - 1) * v2[n])
- / depth;
- w2[n] = (i * v0[n] + (j + 1) * v1[n] + (k - 1) * v2[n])
- / depth;
- }
- l = sqrt(w0[0] * w0[0] + w0[1] * w0[1] + w0[2] * w0[2]);
- w0[0] /= l;
- w0[1] /= l;
- w0[2] /= l;
- l = sqrt(w1[0] * w1[0] + w1[1] * w1[1] + w1[2] * w1[2]);
- w1[0] /= l;
- w1[1] /= l;
- w1[2] /= l;
- l = sqrt(w2[0] * w2[0] + w2[1] * w2[1] + w2[2] * w2[2]);
- w2[0] /= l;
- w2[1] /= l;
- w2[2] /= l;
- recorditem(w1, w0, w2, shadeType);
- }
- }
-}
-
-static void
-drawtriangle(int i, GLfloat data[][3], int ndx[][3],
- GLenum shadeType)
-{
- GLfloat *x0, *x1, *x2;
-
- x0 = data[ndx[i][0]];
- x1 = data[ndx[i][1]];
- x2 = data[ndx[i][2]];
- subdivide(x0, x1, x2, shadeType);
-}
-
-/* octahedron data: The octahedron produced is centered at the
- origin and has radius 1.0 */
-static GLfloat odata[6][3] =
-{
- {1.0, 0.0, 0.0},
- {-1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, -1.0, 0.0},
- {0.0, 0.0, 1.0},
- {0.0, 0.0, -1.0}
-};
-
-static int ondex[8][3] =
-{
- {0, 4, 2},
- {1, 2, 4},
- {0, 3, 4},
- {1, 4, 3},
- {0, 2, 5},
- {1, 5, 2},
- {0, 5, 3},
- {1, 3, 5}
-};
-
-static void
-octahedron(GLenum shadeType)
-{
- int i;
-
- for (i = 7; i >= 0; i--) {
- drawtriangle(i, odata, ondex, shadeType);
- }
-}
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutWireOctahedron(void)
-{
- octahedron(GL_LINE_LOOP);
-}
-
-void GLUTAPIENTRY
-glutSolidOctahedron(void)
-{
- octahedron(GL_TRIANGLES);
-}
-
-/* ENDCENTRY */
-
-/* icosahedron data: These numbers are rigged to make an
- icosahedron of radius 1.0 */
-
-#define X .525731112119133606
-#define Z .850650808352039932
-
-static GLfloat idata[12][3] =
-{
- {-X, 0, Z},
- {X, 0, Z},
- {-X, 0, -Z},
- {X, 0, -Z},
- {0, Z, X},
- {0, Z, -X},
- {0, -Z, X},
- {0, -Z, -X},
- {Z, X, 0},
- {-Z, X, 0},
- {Z, -X, 0},
- {-Z, -X, 0}
-};
-
-static int index[20][3] =
-{
- {0, 4, 1},
- {0, 9, 4},
- {9, 5, 4},
- {4, 5, 8},
- {4, 8, 1},
- {8, 10, 1},
- {8, 3, 10},
- {5, 3, 8},
- {5, 2, 3},
- {2, 7, 3},
- {7, 10, 3},
- {7, 6, 10},
- {7, 11, 6},
- {11, 0, 6},
- {0, 1, 6},
- {6, 1, 10},
- {9, 0, 11},
- {9, 11, 2},
- {9, 2, 5},
- {7, 2, 11},
-};
-
-static void
-icosahedron(GLenum shadeType)
-{
- int i;
-
- for (i = 19; i >= 0; i--) {
- drawtriangle(i, idata, index, shadeType);
- }
-}
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutWireIcosahedron(void)
-{
- icosahedron(GL_LINE_LOOP);
-}
-
-void GLUTAPIENTRY
-glutSolidIcosahedron(void)
-{
- icosahedron(GL_TRIANGLES);
-}
-
-/* ENDCENTRY */
-
-/* tetrahedron data: */
-
-#define T 1.73205080756887729
-
-static GLfloat tdata[4][3] =
-{
- {T, T, T},
- {T, -T, -T},
- {-T, T, -T},
- {-T, -T, T}
-};
-
-static int tndex[4][3] =
-{
- {0, 1, 3},
- {2, 1, 0},
- {3, 2, 0},
- {1, 2, 3}
-};
-
-static void
-tetrahedron(GLenum shadeType)
-{
- int i;
-
- for (i = 3; i >= 0; i--)
- drawtriangle(i, tdata, tndex, shadeType);
-}
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutWireTetrahedron(void)
-{
- tetrahedron(GL_LINE_LOOP);
-}
-
-void GLUTAPIENTRY
-glutSolidTetrahedron(void)
-{
- tetrahedron(GL_TRIANGLES);
-}
-
-/* ENDCENTRY */
diff --git a/src/glut/glx/glut_space.c b/src/glut/glx/glut_space.c
deleted file mode 100644
index cde6ea732c..0000000000
--- a/src/glut/glx/glut_space.c
+++ /dev/null
@@ -1,35 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include "glutint.h"
-
-void GLUTAPIENTRY
-glutSpaceballMotionFunc(GLUTspaceMotionCB spaceMotionFunc)
-{
- __glutCurrentWindow->spaceMotion = spaceMotionFunc;
- __glutUpdateInputDeviceMaskFunc = __glutUpdateInputDeviceMask;
- __glutPutOnWorkList(__glutCurrentWindow,
- GLUT_DEVICE_MASK_WORK);
-}
-
-void GLUTAPIENTRY
-glutSpaceballRotateFunc(GLUTspaceRotateCB spaceRotateFunc)
-{
- __glutCurrentWindow->spaceRotate = spaceRotateFunc;
- __glutUpdateInputDeviceMaskFunc = __glutUpdateInputDeviceMask;
- __glutPutOnWorkList(__glutCurrentWindow,
- GLUT_DEVICE_MASK_WORK);
-}
-
-void GLUTAPIENTRY
-glutSpaceballButtonFunc(GLUTspaceButtonCB spaceButtonFunc)
-{
- __glutCurrentWindow->spaceButton = spaceButtonFunc;
- __glutUpdateInputDeviceMaskFunc = __glutUpdateInputDeviceMask;
- __glutPutOnWorkList(__glutCurrentWindow,
- GLUT_DEVICE_MASK_WORK);
-}
diff --git a/src/glut/glx/glut_stroke.c b/src/glut/glx/glut_stroke.c
deleted file mode 100644
index 7569012ec4..0000000000
--- a/src/glut/glx/glut_stroke.c
+++ /dev/null
@@ -1,42 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include "glutint.h"
-#include "glutstroke.h"
-
-void GLUTAPIENTRY
-glutStrokeCharacter(GLUTstrokeFont font, int c)
-{
- const StrokeCharRec *ch;
- const StrokeRec *stroke;
- const CoordRec *coord;
- StrokeFontPtr fontinfo;
- int i, j;
-
-
-#if defined(_WIN32) || defined(GLUT_IMPORT_LIB)
- fontinfo = (StrokeFontPtr) __glutFont(font);
-#else
- fontinfo = (StrokeFontPtr) font;
-#endif
-
- if (c < 0 || c >= fontinfo->num_chars)
- return;
- ch = &(fontinfo->ch[c]);
- if (ch) {
- for (i = ch->num_strokes, stroke = ch->stroke;
- i > 0; i--, stroke++) {
- glBegin(GL_LINE_STRIP);
- for (j = stroke->num_coords, coord = stroke->coord;
- j > 0; j--, coord++) {
- glVertex2f(coord->x, coord->y);
- }
- glEnd();
- }
- glTranslatef(ch->right, 0.0, 0.0);
- }
-}
diff --git a/src/glut/glx/glut_swap.c b/src/glut/glx/glut_swap.c
deleted file mode 100644
index 07a2da88a2..0000000000
--- a/src/glut/glx/glut_swap.c
+++ /dev/null
@@ -1,71 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994, 1997. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include <stdio.h>
-#include "glutint.h"
-
-GLint __glutFPS = 0;
-GLint __glutSwapCount = 0;
-GLint __glutSwapTime = 0;
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutSwapBuffers(void)
-{
- GLUTwindow *window = __glutCurrentWindow;
-
- if (__glutPPMFile) {
- __glutWritePPMFile();
- }
-
- if (window->renderWin == window->win) {
- if (__glutCurrentWindow->treatAsSingle) {
- /* Pretend the double buffered window is single buffered,
- so treat glutSwapBuffers as a no-op. */
- return;
- }
- } else {
- if (__glutCurrentWindow->overlay->treatAsSingle) {
- /* Pretend the double buffered overlay is single
- buffered, so treat glutSwapBuffers as a no-op. */
- return;
- }
- }
-
- /* For the MESA_SWAP_HACK. */
- window->usedSwapBuffers = 1;
-
- SWAP_BUFFERS_LAYER(__glutCurrentWindow);
-
- /* I considered putting the window being swapped on the
- GLUT_FINISH_WORK work list because you could call
- glutSwapBuffers from an idle callback which doesn't call
- __glutSetWindow which normally adds indirect rendering
- windows to the GLUT_FINISH_WORK work list. Not being put
- on the list could lead to the buffering up of multiple
- redisplays and buffer swaps and hamper interactivity. I
- consider this an application bug due to not using
- glutPostRedisplay to trigger redraws. If
- glutPostRedisplay were used, __glutSetWindow would be
- called and a glFinish to throttle buffering would occur. */
-
- if (__glutFPS) {
- GLint t = glutGet(GLUT_ELAPSED_TIME);
- __glutSwapCount++;
- if (__glutSwapTime == 0)
- __glutSwapTime = t;
- else if (t - __glutSwapTime > __glutFPS) {
- float time = 0.001 * (t - __glutSwapTime);
- float fps = (float) __glutSwapCount / time;
- fprintf(stderr, "GLUT: %d frames in %.2f seconds = %.2f FPS\n",
- __glutSwapCount, time, fps);
- __glutSwapTime = t;
- __glutSwapCount = 0;
- }
- }
-}
-/* ENDCENTRY */
diff --git a/src/glut/glx/glut_swidth.c b/src/glut/glx/glut_swidth.c
deleted file mode 100644
index 4717bbff5b..0000000000
--- a/src/glut/glx/glut_swidth.c
+++ /dev/null
@@ -1,58 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1995. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include "glutint.h"
-#include "glutstroke.h"
-
-/* CENTRY */
-int GLUTAPIENTRY
-glutStrokeWidth(GLUTstrokeFont font, int c)
-{
- StrokeFontPtr fontinfo;
- const StrokeCharRec *ch;
-
-#if defined(_WIN32) || defined(GLUT_IMPORT_LIB)
- fontinfo = (StrokeFontPtr) __glutFont(font);
-#else
- fontinfo = (StrokeFontPtr) font;
-#endif
-
- if (c < 0 || c >= fontinfo->num_chars)
- return 0;
- ch = &(fontinfo->ch[c]);
- if (ch)
- return ch->right;
- else
- return 0;
-}
-
-int GLUTAPIENTRY
-glutStrokeLength(GLUTstrokeFont font, const unsigned char *string)
-{
- int c, length;
- StrokeFontPtr fontinfo;
- const StrokeCharRec *ch;
-
-#if defined(_WIN32) || defined(GLUT_IMPORT_LIB)
- fontinfo = (StrokeFontPtr) __glutFont(font);
-#else
- fontinfo = (StrokeFontPtr) font;
-#endif
-
- length = 0;
- for (; *string != '\0'; string++) {
- c = *string;
- if (c >= 0 && c < fontinfo->num_chars) {
- ch = &(fontinfo->ch[c]);
- if (ch)
- length += ch->right;
- }
- }
- return length;
-}
-
-/* ENDCENTRY */
diff --git a/src/glut/glx/glut_tablet.c b/src/glut/glx/glut_tablet.c
deleted file mode 100644
index 80c68288c1..0000000000
--- a/src/glut/glx/glut_tablet.c
+++ /dev/null
@@ -1,33 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include <stdlib.h>
-
-#include "glutint.h"
-
-void GLUTAPIENTRY
-glutTabletMotionFunc(GLUTtabletMotionCB tabletMotionFunc)
-{
- __glutCurrentWindow->tabletMotion = tabletMotionFunc;
- __glutUpdateInputDeviceMaskFunc = __glutUpdateInputDeviceMask;
- __glutPutOnWorkList(__glutCurrentWindow,
- GLUT_DEVICE_MASK_WORK);
- /* If deinstalling callback, invalidate tablet position. */
- if (tabletMotionFunc == NULL) {
- __glutCurrentWindow->tabletPos[0] = -1;
- __glutCurrentWindow->tabletPos[1] = -1;
- }
-}
-
-void GLUTAPIENTRY
-glutTabletButtonFunc(GLUTtabletButtonCB tabletButtonFunc)
-{
- __glutCurrentWindow->tabletButton = tabletButtonFunc;
- __glutUpdateInputDeviceMaskFunc = __glutUpdateInputDeviceMask;
- __glutPutOnWorkList(__glutCurrentWindow,
- GLUT_DEVICE_MASK_WORK);
-}
diff --git a/src/glut/glx/glut_teapot.c b/src/glut/glx/glut_teapot.c
deleted file mode 100644
index ff46d96b85..0000000000
--- a/src/glut/glx/glut_teapot.c
+++ /dev/null
@@ -1,210 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994. */
-
-/**
-(c) Copyright 1993, Silicon Graphics, Inc.
-
-ALL RIGHTS RESERVED
-
-Permission to use, copy, modify, and distribute this software
-for any purpose and without fee is hereby granted, provided
-that the above copyright notice appear in all copies and that
-both the copyright notice and this permission notice appear in
-supporting documentation, and that the name of Silicon
-Graphics, Inc. not be used in advertising or publicity
-pertaining to distribution of the software without specific,
-written prior permission.
-
-THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU
-"AS-IS" AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR
-OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO
-EVENT SHALL SILICON GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE
-ELSE FOR ANY DIRECT, SPECIAL, INCIDENTAL, INDIRECT OR
-CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER,
-INCLUDING WITHOUT LIMITATION, LOSS OF PROFIT, LOSS OF USE,
-SAVINGS OR REVENUE, OR THE CLAIMS OF THIRD PARTIES, WHETHER OR
-NOT SILICON GRAPHICS, INC. HAS BEEN ADVISED OF THE POSSIBILITY
-OF SUCH LOSS, HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-ARISING OUT OF OR IN CONNECTION WITH THE POSSESSION, USE OR
-PERFORMANCE OF THIS SOFTWARE.
-
-US Government Users Restricted Rights
-
-Use, duplication, or disclosure by the Government is subject to
-restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
-(c)(1)(ii) of the Rights in Technical Data and Computer
-Software clause at DFARS 252.227-7013 and/or in similar or
-successor clauses in the FAR or the DOD or NASA FAR
-Supplement. Unpublished-- rights reserved under the copyright
-laws of the United States. Contractor/manufacturer is Silicon
-Graphics, Inc., 2011 N. Shoreline Blvd., Mountain View, CA
-94039-7311.
-
-OpenGL(TM) is a trademark of Silicon Graphics, Inc.
-*/
-
-#include "glutint.h"
-
-/* Rim, body, lid, and bottom data must be reflected in x and
- y; handle and spout data across the y axis only. */
-
-static int patchdata[][16] =
-{
- /* rim */
- {102, 103, 104, 105, 4, 5, 6, 7, 8, 9, 10, 11,
- 12, 13, 14, 15},
- /* body */
- {12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
- 24, 25, 26, 27},
- {24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40},
- /* lid */
- {96, 96, 96, 96, 97, 98, 99, 100, 101, 101, 101,
- 101, 0, 1, 2, 3,},
- {0, 1, 2, 3, 106, 107, 108, 109, 110, 111, 112,
- 113, 114, 115, 116, 117},
- /* bottom */
- {118, 118, 118, 118, 124, 122, 119, 121, 123, 126,
- 125, 120, 40, 39, 38, 37},
- /* handle */
- {41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, 56},
- {53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
- 28, 65, 66, 67},
- /* spout */
- {68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
- 80, 81, 82, 83},
- {80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
- 92, 93, 94, 95}
-};
-/* *INDENT-OFF* */
-
-static float cpdata[][3] =
-{
- {0.2, 0, 2.7}, {0.2, -0.112, 2.7}, {0.112, -0.2, 2.7}, {0,
- -0.2, 2.7}, {1.3375, 0, 2.53125}, {1.3375, -0.749, 2.53125},
- {0.749, -1.3375, 2.53125}, {0, -1.3375, 2.53125}, {1.4375,
- 0, 2.53125}, {1.4375, -0.805, 2.53125}, {0.805, -1.4375,
- 2.53125}, {0, -1.4375, 2.53125}, {1.5, 0, 2.4}, {1.5, -0.84,
- 2.4}, {0.84, -1.5, 2.4}, {0, -1.5, 2.4}, {1.75, 0, 1.875},
- {1.75, -0.98, 1.875}, {0.98, -1.75, 1.875}, {0, -1.75,
- 1.875}, {2, 0, 1.35}, {2, -1.12, 1.35}, {1.12, -2, 1.35},
- {0, -2, 1.35}, {2, 0, 0.9}, {2, -1.12, 0.9}, {1.12, -2,
- 0.9}, {0, -2, 0.9}, {-2, 0, 0.9}, {2, 0, 0.45}, {2, -1.12,
- 0.45}, {1.12, -2, 0.45}, {0, -2, 0.45}, {1.5, 0, 0.225},
- {1.5, -0.84, 0.225}, {0.84, -1.5, 0.225}, {0, -1.5, 0.225},
- {1.5, 0, 0.15}, {1.5, -0.84, 0.15}, {0.84, -1.5, 0.15}, {0,
- -1.5, 0.15}, {-1.6, 0, 2.025}, {-1.6, -0.3, 2.025}, {-1.5,
- -0.3, 2.25}, {-1.5, 0, 2.25}, {-2.3, 0, 2.025}, {-2.3, -0.3,
- 2.025}, {-2.5, -0.3, 2.25}, {-2.5, 0, 2.25}, {-2.7, 0,
- 2.025}, {-2.7, -0.3, 2.025}, {-3, -0.3, 2.25}, {-3, 0,
- 2.25}, {-2.7, 0, 1.8}, {-2.7, -0.3, 1.8}, {-3, -0.3, 1.8},
- {-3, 0, 1.8}, {-2.7, 0, 1.575}, {-2.7, -0.3, 1.575}, {-3,
- -0.3, 1.35}, {-3, 0, 1.35}, {-2.5, 0, 1.125}, {-2.5, -0.3,
- 1.125}, {-2.65, -0.3, 0.9375}, {-2.65, 0, 0.9375}, {-2,
- -0.3, 0.9}, {-1.9, -0.3, 0.6}, {-1.9, 0, 0.6}, {1.7, 0,
- 1.425}, {1.7, -0.66, 1.425}, {1.7, -0.66, 0.6}, {1.7, 0,
- 0.6}, {2.6, 0, 1.425}, {2.6, -0.66, 1.425}, {3.1, -0.66,
- 0.825}, {3.1, 0, 0.825}, {2.3, 0, 2.1}, {2.3, -0.25, 2.1},
- {2.4, -0.25, 2.025}, {2.4, 0, 2.025}, {2.7, 0, 2.4}, {2.7,
- -0.25, 2.4}, {3.3, -0.25, 2.4}, {3.3, 0, 2.4}, {2.8, 0,
- 2.475}, {2.8, -0.25, 2.475}, {3.525, -0.25, 2.49375},
- {3.525, 0, 2.49375}, {2.9, 0, 2.475}, {2.9, -0.15, 2.475},
- {3.45, -0.15, 2.5125}, {3.45, 0, 2.5125}, {2.8, 0, 2.4},
- {2.8, -0.15, 2.4}, {3.2, -0.15, 2.4}, {3.2, 0, 2.4}, {0, 0,
- 3.15}, {0.8, 0, 3.15}, {0.8, -0.45, 3.15}, {0.45, -0.8,
- 3.15}, {0, -0.8, 3.15}, {0, 0, 2.85}, {1.4, 0, 2.4}, {1.4,
- -0.784, 2.4}, {0.784, -1.4, 2.4}, {0, -1.4, 2.4}, {0.4, 0,
- 2.55}, {0.4, -0.224, 2.55}, {0.224, -0.4, 2.55}, {0, -0.4,
- 2.55}, {1.3, 0, 2.55}, {1.3, -0.728, 2.55}, {0.728, -1.3,
- 2.55}, {0, -1.3, 2.55}, {1.3, 0, 2.4}, {1.3, -0.728, 2.4},
- {0.728, -1.3, 2.4}, {0, -1.3, 2.4}, {0, 0, 0}, {1.425,
- -0.798, 0}, {1.5, 0, 0.075}, {1.425, 0, 0}, {0.798, -1.425,
- 0}, {0, -1.5, 0.075}, {0, -1.425, 0}, {1.5, -0.84, 0.075},
- {0.84, -1.5, 0.075}
-};
-
-static float tex[2][2][2] =
-{
- { {0, 0},
- {1, 0}},
- { {0, 1},
- {1, 1}}
-};
-
-/* *INDENT-ON* */
-
-static void
-teapot(GLint grid, GLdouble scale, GLenum type)
-{
- float p[4][4][3], q[4][4][3], r[4][4][3], s[4][4][3];
- long i, j, k, l;
-
- glPushAttrib(GL_ENABLE_BIT | GL_EVAL_BIT);
- glEnable(GL_AUTO_NORMAL);
- glEnable(GL_NORMALIZE);
- glEnable(GL_MAP2_VERTEX_3);
- glEnable(GL_MAP2_TEXTURE_COORD_2);
- glPushMatrix();
- glRotatef(270.0, 1.0, 0.0, 0.0);
- glScalef(0.5 * scale, 0.5 * scale, 0.5 * scale);
- glTranslatef(0.0, 0.0, -1.5);
- for (i = 0; i < 10; i++) {
- for (j = 0; j < 4; j++) {
- for (k = 0; k < 4; k++) {
- for (l = 0; l < 3; l++) {
- p[j][k][l] = cpdata[patchdata[i][j * 4 + k]][l];
- q[j][k][l] = cpdata[patchdata[i][j * 4 + (3 - k)]][l];
- if (l == 1)
- q[j][k][l] *= -1.0;
- if (i < 6) {
- r[j][k][l] =
- cpdata[patchdata[i][j * 4 + (3 - k)]][l];
- if (l == 0)
- r[j][k][l] *= -1.0;
- s[j][k][l] = cpdata[patchdata[i][j * 4 + k]][l];
- if (l == 0)
- s[j][k][l] *= -1.0;
- if (l == 1)
- s[j][k][l] *= -1.0;
- }
- }
- }
- }
- glMap2f(GL_MAP2_TEXTURE_COORD_2, 0, 1, 2, 2, 0, 1, 4, 2,
- &tex[0][0][0]);
- glMap2f(GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4,
- &p[0][0][0]);
- glMapGrid2f(grid, 0.0, 1.0, grid, 0.0, 1.0);
- glEvalMesh2(type, 0, grid, 0, grid);
- glMap2f(GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4,
- &q[0][0][0]);
- glEvalMesh2(type, 0, grid, 0, grid);
- if (i < 6) {
- glMap2f(GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4,
- &r[0][0][0]);
- glEvalMesh2(type, 0, grid, 0, grid);
- glMap2f(GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4,
- &s[0][0][0]);
- glEvalMesh2(type, 0, grid, 0, grid);
- }
- }
- glPopMatrix();
- glPopAttrib();
-}
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutSolidTeapot(GLdouble scale)
-{
- teapot(7, scale, GL_FILL);
-}
-
-void GLUTAPIENTRY
-glutWireTeapot(GLdouble scale)
-{
- teapot(10, scale, GL_LINE);
-}
-
-/* ENDCENTRY */
diff --git a/src/glut/glx/glut_tr10.c b/src/glut/glx/glut_tr10.c
deleted file mode 100644
index 0fac8070ca..0000000000
--- a/src/glut/glx/glut_tr10.c
+++ /dev/null
@@ -1,1777 +0,0 @@
-
-/* GENERATED FILE -- DO NOT MODIFY */
-
-#define glutBitmapTimesRoman10 XXX
-#include "glutbitmap.h"
-#undef glutBitmapTimesRoman10
-
-/* char: 0xff */
-
-static const GLubyte ch255data[] = {
-0x80,0xc0,0x40,0x60,0xa0,0x90,0xb8,0x0,0xa0,
-};
-
-static const BitmapCharRec ch255 = {5,9,0,2,5,ch255data};
-
-/* char: 0xfe */
-
-static const GLubyte ch254data[] = {
-0xc0,0x80,0xe0,0x90,0x90,0x90,0xe0,0x80,0x80,
-};
-
-static const BitmapCharRec ch254 = {4,9,0,2,5,ch254data};
-
-/* char: 0xfd */
-
-static const GLubyte ch253data[] = {
-0x80,0xc0,0x40,0x60,0xa0,0x90,0xb8,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch253 = {5,10,0,2,5,ch253data};
-
-/* char: 0xfc */
-
-static const GLubyte ch252data[] = {
-0x68,0x90,0x90,0x90,0x90,0x0,0x50,
-};
-
-static const BitmapCharRec ch252 = {5,7,0,0,5,ch252data};
-
-/* char: 0xfb */
-
-static const GLubyte ch251data[] = {
-0x68,0x90,0x90,0x90,0x90,0x0,0x50,0x20,
-};
-
-static const BitmapCharRec ch251 = {5,8,0,0,5,ch251data};
-
-/* char: 0xfa */
-
-static const GLubyte ch250data[] = {
-0x68,0x90,0x90,0x90,0x90,0x0,0x40,0x20,
-};
-
-static const BitmapCharRec ch250 = {5,8,0,0,5,ch250data};
-
-/* char: 0xf9 */
-
-static const GLubyte ch249data[] = {
-0x68,0x90,0x90,0x90,0x90,0x0,0x20,0x40,
-};
-
-static const BitmapCharRec ch249 = {5,8,0,0,5,ch249data};
-
-/* char: 0xf8 */
-
-static const GLubyte ch248data[] = {
-0x80,0x70,0x48,0x48,0x48,0x38,0x4,
-};
-
-static const BitmapCharRec ch248 = {6,7,1,1,5,ch248data};
-
-/* char: 0xf7 */
-
-static const GLubyte ch247data[] = {
-0x20,0x0,0xf8,0x0,0x20,
-};
-
-static const BitmapCharRec ch247 = {5,5,0,0,6,ch247data};
-
-/* char: 0xf6 */
-
-static const GLubyte ch246data[] = {
-0x60,0x90,0x90,0x90,0x60,0x0,0xa0,
-};
-
-static const BitmapCharRec ch246 = {4,7,0,0,5,ch246data};
-
-/* char: 0xf5 */
-
-static const GLubyte ch245data[] = {
-0x60,0x90,0x90,0x90,0x60,0x0,0xa0,0x50,
-};
-
-static const BitmapCharRec ch245 = {4,8,0,0,5,ch245data};
-
-/* char: 0xf4 */
-
-static const GLubyte ch244data[] = {
-0x60,0x90,0x90,0x90,0x60,0x0,0xa0,0x40,
-};
-
-static const BitmapCharRec ch244 = {4,8,0,0,5,ch244data};
-
-/* char: 0xf3 */
-
-static const GLubyte ch243data[] = {
-0x60,0x90,0x90,0x90,0x60,0x0,0x40,0x20,
-};
-
-static const BitmapCharRec ch243 = {4,8,0,0,5,ch243data};
-
-/* char: 0xf2 */
-
-static const GLubyte ch242data[] = {
-0x60,0x90,0x90,0x90,0x60,0x0,0x20,0x40,
-};
-
-static const BitmapCharRec ch242 = {4,8,0,0,5,ch242data};
-
-/* char: 0xf1 */
-
-static const GLubyte ch241data[] = {
-0xd8,0x90,0x90,0x90,0xe0,0x0,0xa0,0x50,
-};
-
-static const BitmapCharRec ch241 = {5,8,0,0,5,ch241data};
-
-/* char: 0xf0 */
-
-static const GLubyte ch240data[] = {
-0x60,0x90,0x90,0x90,0x70,0xa0,0x70,0x40,
-};
-
-static const BitmapCharRec ch240 = {4,8,0,0,5,ch240data};
-
-/* char: 0xef */
-
-static const GLubyte ch239data[] = {
-0xe0,0x40,0x40,0x40,0xc0,0x0,0xa0,
-};
-
-static const BitmapCharRec ch239 = {3,7,0,0,4,ch239data};
-
-/* char: 0xee */
-
-static const GLubyte ch238data[] = {
-0xe0,0x40,0x40,0x40,0xc0,0x0,0xa0,0x40,
-};
-
-static const BitmapCharRec ch238 = {3,8,0,0,4,ch238data};
-
-/* char: 0xed */
-
-static const GLubyte ch237data[] = {
-0xe0,0x40,0x40,0x40,0xc0,0x0,0x40,0x20,
-};
-
-static const BitmapCharRec ch237 = {3,8,0,0,4,ch237data};
-
-/* char: 0xec */
-
-static const GLubyte ch236data[] = {
-0xe0,0x40,0x40,0x40,0xc0,0x0,0x40,0x80,
-};
-
-static const BitmapCharRec ch236 = {3,8,0,0,4,ch236data};
-
-/* char: 0xeb */
-
-static const GLubyte ch235data[] = {
-0x60,0x80,0xc0,0xa0,0x60,0x0,0xa0,
-};
-
-static const BitmapCharRec ch235 = {3,7,0,0,4,ch235data};
-
-/* char: 0xea */
-
-static const GLubyte ch234data[] = {
-0x60,0x80,0xc0,0xa0,0x60,0x0,0xa0,0x40,
-};
-
-static const BitmapCharRec ch234 = {3,8,0,0,4,ch234data};
-
-/* char: 0xe9 */
-
-static const GLubyte ch233data[] = {
-0x60,0x80,0xc0,0xa0,0x60,0x0,0x40,0x20,
-};
-
-static const BitmapCharRec ch233 = {3,8,0,0,4,ch233data};
-
-/* char: 0xe8 */
-
-static const GLubyte ch232data[] = {
-0x60,0x80,0xc0,0xa0,0x60,0x0,0x40,0x80,
-};
-
-static const BitmapCharRec ch232 = {3,8,0,0,4,ch232data};
-
-/* char: 0xe7 */
-
-static const GLubyte ch231data[] = {
-0xc0,0x20,0x40,0x60,0x80,0x80,0x80,0x60,
-};
-
-static const BitmapCharRec ch231 = {3,8,0,3,4,ch231data};
-
-/* char: 0xe6 */
-
-static const GLubyte ch230data[] = {
-0xd8,0xa0,0x70,0x28,0xd8,
-};
-
-static const BitmapCharRec ch230 = {5,5,0,0,6,ch230data};
-
-/* char: 0xe5 */
-
-static const GLubyte ch229data[] = {
-0xe0,0xa0,0x60,0x20,0xc0,0x40,0xa0,0x40,
-};
-
-static const BitmapCharRec ch229 = {3,8,0,0,4,ch229data};
-
-/* char: 0xe4 */
-
-static const GLubyte ch228data[] = {
-0xe0,0xa0,0x60,0x20,0xc0,0x0,0xa0,
-};
-
-static const BitmapCharRec ch228 = {3,7,0,0,4,ch228data};
-
-/* char: 0xe3 */
-
-static const GLubyte ch227data[] = {
-0xe0,0xa0,0x60,0x20,0xc0,0x0,0xa0,0x50,
-};
-
-static const BitmapCharRec ch227 = {4,8,0,0,4,ch227data};
-
-/* char: 0xe2 */
-
-static const GLubyte ch226data[] = {
-0xe0,0xa0,0x60,0x20,0xc0,0x0,0xa0,0x40,
-};
-
-static const BitmapCharRec ch226 = {3,8,0,0,4,ch226data};
-
-/* char: 0xe1 */
-
-static const GLubyte ch225data[] = {
-0xe0,0xa0,0x60,0x20,0xc0,0x0,0x40,0x20,
-};
-
-static const BitmapCharRec ch225 = {3,8,0,0,4,ch225data};
-
-/* char: 0xe0 */
-
-static const GLubyte ch224data[] = {
-0xe0,0xa0,0x60,0x20,0xc0,0x0,0x40,0x80,
-};
-
-static const BitmapCharRec ch224 = {3,8,0,0,4,ch224data};
-
-/* char: 0xdf */
-
-static const GLubyte ch223data[] = {
-0xe0,0x50,0x50,0x60,0x50,0x50,0x20,
-};
-
-static const BitmapCharRec ch223 = {4,7,0,0,5,ch223data};
-
-/* char: 0xde */
-
-static const GLubyte ch222data[] = {
-0xe0,0x40,0x70,0x48,0x70,0x40,0xe0,
-};
-
-static const BitmapCharRec ch222 = {5,7,0,0,6,ch222data};
-
-/* char: 0xdd */
-
-static const GLubyte ch221data[] = {
-0x38,0x10,0x10,0x28,0x28,0x44,0xee,0x0,0x10,0x8,
-};
-
-static const BitmapCharRec ch221 = {7,10,0,0,8,ch221data};
-
-/* char: 0xdc */
-
-static const GLubyte ch220data[] = {
-0x38,0x6c,0x44,0x44,0x44,0x44,0xee,0x0,0x28,
-};
-
-static const BitmapCharRec ch220 = {7,9,0,0,8,ch220data};
-
-/* char: 0xdb */
-
-static const GLubyte ch219data[] = {
-0x38,0x6c,0x44,0x44,0x44,0x44,0xee,0x0,0x28,0x10,
-};
-
-static const BitmapCharRec ch219 = {7,10,0,0,8,ch219data};
-
-/* char: 0xda */
-
-static const GLubyte ch218data[] = {
-0x38,0x6c,0x44,0x44,0x44,0x44,0xee,0x0,0x10,0x8,
-};
-
-static const BitmapCharRec ch218 = {7,10,0,0,8,ch218data};
-
-/* char: 0xd9 */
-
-static const GLubyte ch217data[] = {
-0x38,0x6c,0x44,0x44,0x44,0x44,0xee,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch217 = {7,10,0,0,8,ch217data};
-
-/* char: 0xd8 */
-
-static const GLubyte ch216data[] = {
-0x80,0x7c,0x66,0x52,0x52,0x4a,0x66,0x3e,0x1,
-};
-
-static const BitmapCharRec ch216 = {8,9,0,1,8,ch216data};
-
-/* char: 0xd7 */
-
-static const GLubyte ch215data[] = {
-0x88,0x50,0x20,0x50,0x88,
-};
-
-static const BitmapCharRec ch215 = {5,5,0,0,6,ch215data};
-
-/* char: 0xd6 */
-
-static const GLubyte ch214data[] = {
-0x78,0xcc,0x84,0x84,0x84,0xcc,0x78,0x0,0x50,
-};
-
-static const BitmapCharRec ch214 = {6,9,0,0,7,ch214data};
-
-/* char: 0xd5 */
-
-static const GLubyte ch213data[] = {
-0x78,0xcc,0x84,0x84,0x84,0xcc,0x78,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch213 = {6,10,0,0,7,ch213data};
-
-/* char: 0xd4 */
-
-static const GLubyte ch212data[] = {
-0x78,0xcc,0x84,0x84,0x84,0xcc,0x78,0x0,0x50,0x20,
-};
-
-static const BitmapCharRec ch212 = {6,10,0,0,7,ch212data};
-
-/* char: 0xd3 */
-
-static const GLubyte ch211data[] = {
-0x78,0xcc,0x84,0x84,0x84,0xcc,0x78,0x0,0x10,0x8,
-};
-
-static const BitmapCharRec ch211 = {6,10,0,0,7,ch211data};
-
-/* char: 0xd2 */
-
-static const GLubyte ch210data[] = {
-0x78,0xcc,0x84,0x84,0x84,0xcc,0x78,0x0,0x20,0x40,
-};
-
-static const BitmapCharRec ch210 = {6,10,0,0,7,ch210data};
-
-/* char: 0xd1 */
-
-static const GLubyte ch209data[] = {
-0xe4,0x4c,0x4c,0x54,0x54,0x64,0xee,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch209 = {7,10,0,0,8,ch209data};
-
-/* char: 0xd0 */
-
-static const GLubyte ch208data[] = {
-0xf8,0x4c,0x44,0xe4,0x44,0x4c,0xf8,
-};
-
-static const BitmapCharRec ch208 = {6,7,0,0,7,ch208data};
-
-/* char: 0xcf */
-
-static const GLubyte ch207data[] = {
-0xe0,0x40,0x40,0x40,0x40,0x40,0xe0,0x0,0xa0,
-};
-
-static const BitmapCharRec ch207 = {3,9,0,0,4,ch207data};
-
-/* char: 0xce */
-
-static const GLubyte ch206data[] = {
-0xe0,0x40,0x40,0x40,0x40,0x40,0xe0,0x0,0xa0,0x40,
-};
-
-static const BitmapCharRec ch206 = {3,10,0,0,4,ch206data};
-
-/* char: 0xcd */
-
-static const GLubyte ch205data[] = {
-0xe0,0x40,0x40,0x40,0x40,0x40,0xe0,0x0,0x40,0x20,
-};
-
-static const BitmapCharRec ch205 = {3,10,0,0,4,ch205data};
-
-/* char: 0xcc */
-
-static const GLubyte ch204data[] = {
-0xe0,0x40,0x40,0x40,0x40,0x40,0xe0,0x0,0x40,0x80,
-};
-
-static const BitmapCharRec ch204 = {3,10,0,0,4,ch204data};
-
-/* char: 0xcb */
-
-static const GLubyte ch203data[] = {
-0xf8,0x48,0x40,0x70,0x40,0x48,0xf8,0x0,0x50,
-};
-
-static const BitmapCharRec ch203 = {5,9,0,0,6,ch203data};
-
-/* char: 0xca */
-
-static const GLubyte ch202data[] = {
-0xf8,0x48,0x40,0x70,0x40,0x48,0xf8,0x0,0x50,0x20,
-};
-
-static const BitmapCharRec ch202 = {5,10,0,0,6,ch202data};
-
-/* char: 0xc9 */
-
-static const GLubyte ch201data[] = {
-0xf8,0x48,0x40,0x70,0x40,0x48,0xf8,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch201 = {5,10,0,0,6,ch201data};
-
-/* char: 0xc8 */
-
-static const GLubyte ch200data[] = {
-0xf8,0x48,0x40,0x70,0x40,0x48,0xf8,0x0,0x20,0x40,
-};
-
-static const BitmapCharRec ch200 = {5,10,0,0,6,ch200data};
-
-/* char: 0xc7 */
-
-static const GLubyte ch199data[] = {
-0x60,0x10,0x20,0x78,0xc4,0x80,0x80,0x80,0xc4,0x7c,
-};
-
-static const BitmapCharRec ch199 = {6,10,0,3,7,ch199data};
-
-/* char: 0xc6 */
-
-static const GLubyte ch198data[] = {
-0xef,0x49,0x78,0x2e,0x28,0x39,0x1f,
-};
-
-static const BitmapCharRec ch198 = {8,7,0,0,9,ch198data};
-
-/* char: 0xc5 */
-
-static const GLubyte ch197data[] = {
-0xee,0x44,0x7c,0x28,0x28,0x38,0x10,0x10,0x28,0x10,
-};
-
-static const BitmapCharRec ch197 = {7,10,0,0,8,ch197data};
-
-/* char: 0xc4 */
-
-static const GLubyte ch196data[] = {
-0xee,0x44,0x7c,0x28,0x28,0x38,0x10,0x0,0x28,
-};
-
-static const BitmapCharRec ch196 = {7,9,0,0,8,ch196data};
-
-/* char: 0xc3 */
-
-static const GLubyte ch195data[] = {
-0xee,0x44,0x7c,0x28,0x28,0x38,0x10,0x0,0x28,0x14,
-};
-
-static const BitmapCharRec ch195 = {7,10,0,0,8,ch195data};
-
-/* char: 0xc2 */
-
-static const GLubyte ch194data[] = {
-0xee,0x44,0x7c,0x28,0x28,0x38,0x10,0x0,0x28,0x10,
-};
-
-static const BitmapCharRec ch194 = {7,10,0,0,8,ch194data};
-
-/* char: 0xc1 */
-
-static const GLubyte ch193data[] = {
-0xee,0x44,0x7c,0x28,0x28,0x38,0x10,0x0,0x10,0x8,
-};
-
-static const BitmapCharRec ch193 = {7,10,0,0,8,ch193data};
-
-/* char: 0xc0 */
-
-static const GLubyte ch192data[] = {
-0xee,0x44,0x7c,0x28,0x28,0x38,0x10,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch192 = {7,10,0,0,8,ch192data};
-
-/* char: 0xbf */
-
-static const GLubyte ch191data[] = {
-0xe0,0xa0,0x80,0x40,0x40,0x0,0x40,
-};
-
-static const BitmapCharRec ch191 = {3,7,0,2,4,ch191data};
-
-/* char: 0xbe */
-
-static const GLubyte ch190data[] = {
-0x44,0x3e,0x2c,0xd4,0x28,0x48,0xe4,
-};
-
-static const BitmapCharRec ch190 = {7,7,0,0,8,ch190data};
-
-/* char: 0xbd */
-
-static const GLubyte ch189data[] = {
-0x4e,0x24,0x2a,0xf6,0x48,0xc8,0x44,
-};
-
-static const BitmapCharRec ch189 = {7,7,0,0,8,ch189data};
-
-/* char: 0xbc */
-
-static const GLubyte ch188data[] = {
-0x44,0x3e,0x2c,0xf4,0x48,0xc8,0x44,
-};
-
-static const BitmapCharRec ch188 = {7,7,0,0,8,ch188data};
-
-/* char: 0xbb */
-
-static const GLubyte ch187data[] = {
-0xa0,0x50,0x50,0xa0,
-};
-
-static const BitmapCharRec ch187 = {4,4,0,-1,5,ch187data};
-
-/* char: 0xba */
-
-static const GLubyte ch186data[] = {
-0xe0,0x0,0x40,0xa0,0x40,
-};
-
-static const BitmapCharRec ch186 = {3,5,0,-2,4,ch186data};
-
-/* char: 0xb9 */
-
-static const GLubyte ch185data[] = {
-0xe0,0x40,0xc0,0x40,
-};
-
-static const BitmapCharRec ch185 = {3,4,0,-3,3,ch185data};
-
-/* char: 0xb8 */
-
-static const GLubyte ch184data[] = {
-0xc0,0x20,0x40,
-};
-
-static const BitmapCharRec ch184 = {3,3,0,3,4,ch184data};
-
-/* char: 0xb7 */
-
-static const GLubyte ch183data[] = {
-0x80,
-};
-
-static const BitmapCharRec ch183 = {1,1,0,-2,2,ch183data};
-
-/* char: 0xb6 */
-
-static const GLubyte ch182data[] = {
-0x28,0x28,0x28,0x28,0x68,0xe8,0xe8,0xe8,0x7c,
-};
-
-static const BitmapCharRec ch182 = {6,9,0,2,6,ch182data};
-
-/* char: 0xb5 */
-
-static const GLubyte ch181data[] = {
-0x80,0x80,0xe8,0x90,0x90,0x90,0x90,
-};
-
-static const BitmapCharRec ch181 = {5,7,0,2,5,ch181data};
-
-/* char: 0xb4 */
-
-static const GLubyte ch180data[] = {
-0x80,0x40,
-};
-
-static const BitmapCharRec ch180 = {2,2,0,-5,3,ch180data};
-
-/* char: 0xb3 */
-
-static const GLubyte ch179data[] = {
-0xc0,0x20,0x40,0xe0,
-};
-
-static const BitmapCharRec ch179 = {3,4,0,-3,3,ch179data};
-
-/* char: 0xb2 */
-
-static const GLubyte ch178data[] = {
-0xe0,0x40,0xa0,0x60,
-};
-
-static const BitmapCharRec ch178 = {3,4,0,-3,3,ch178data};
-
-/* char: 0xb1 */
-
-static const GLubyte ch177data[] = {
-0xf8,0x0,0x20,0x20,0xf8,0x20,0x20,
-};
-
-static const BitmapCharRec ch177 = {5,7,0,0,6,ch177data};
-
-/* char: 0xb0 */
-
-static const GLubyte ch176data[] = {
-0x60,0x90,0x90,0x60,
-};
-
-static const BitmapCharRec ch176 = {4,4,0,-3,4,ch176data};
-
-/* char: 0xaf */
-
-static const GLubyte ch175data[] = {
-0xe0,
-};
-
-static const BitmapCharRec ch175 = {3,1,0,-6,4,ch175data};
-
-/* char: 0xae */
-
-static const GLubyte ch174data[] = {
-0x38,0x44,0xaa,0xb2,0xba,0x44,0x38,
-};
-
-static const BitmapCharRec ch174 = {7,7,-1,0,9,ch174data};
-
-/* char: 0xad */
-
-static const GLubyte ch173data[] = {
-0xe0,
-};
-
-static const BitmapCharRec ch173 = {3,1,0,-2,4,ch173data};
-
-/* char: 0xac */
-
-static const GLubyte ch172data[] = {
-0x8,0x8,0xf8,
-};
-
-static const BitmapCharRec ch172 = {5,3,-1,-1,7,ch172data};
-
-/* char: 0xab */
-
-static const GLubyte ch171data[] = {
-0x50,0xa0,0xa0,0x50,
-};
-
-static const BitmapCharRec ch171 = {4,4,0,-1,5,ch171data};
-
-/* char: 0xaa */
-
-static const GLubyte ch170data[] = {
-0xe0,0x0,0xa0,0x20,0xc0,
-};
-
-static const BitmapCharRec ch170 = {3,5,0,-2,4,ch170data};
-
-/* char: 0xa9 */
-
-static const GLubyte ch169data[] = {
-0x38,0x44,0x9a,0xa2,0x9a,0x44,0x38,
-};
-
-static const BitmapCharRec ch169 = {7,7,-1,0,9,ch169data};
-
-/* char: 0xa8 */
-
-static const GLubyte ch168data[] = {
-0xa0,
-};
-
-static const BitmapCharRec ch168 = {3,1,-1,-6,5,ch168data};
-
-/* char: 0xa7 */
-
-static const GLubyte ch167data[] = {
-0xe0,0x90,0x20,0x50,0x90,0xa0,0x40,0x90,0x70,
-};
-
-static const BitmapCharRec ch167 = {4,9,0,1,5,ch167data};
-
-/* char: 0xa6 */
-
-static const GLubyte ch166data[] = {
-0x80,0x80,0x80,0x0,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch166 = {1,7,0,0,2,ch166data};
-
-/* char: 0xa5 */
-
-static const GLubyte ch165data[] = {
-0x70,0x20,0xf8,0x20,0xd8,0x50,0x88,
-};
-
-static const BitmapCharRec ch165 = {5,7,0,0,5,ch165data};
-
-/* char: 0xa4 */
-
-static const GLubyte ch164data[] = {
-0x88,0x70,0x50,0x50,0x70,0x88,
-};
-
-static const BitmapCharRec ch164 = {5,6,0,-1,5,ch164data};
-
-/* char: 0xa3 */
-
-static const GLubyte ch163data[] = {
-0xf0,0xc8,0x40,0xe0,0x40,0x50,0x30,
-};
-
-static const BitmapCharRec ch163 = {5,7,0,0,5,ch163data};
-
-/* char: 0xa2 */
-
-static const GLubyte ch162data[] = {
-0x80,0xe0,0x90,0x80,0x90,0x70,0x10,
-};
-
-static const BitmapCharRec ch162 = {4,7,0,1,5,ch162data};
-
-/* char: 0xa1 */
-
-static const GLubyte ch161data[] = {
-0x80,0x80,0x80,0x80,0x80,0x0,0x80,
-};
-
-static const BitmapCharRec ch161 = {1,7,-1,2,3,ch161data};
-
-/* char: 0xa0 */
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch160data[] = { 0x0 };
-static const BitmapCharRec ch160 = {1,1,0,0,2,ch160data};
-#else
-static const BitmapCharRec ch160 = {0,0,0,0,2,0};
-#endif
-
-/* char: 0x7e '~' */
-
-static const GLubyte ch126data[] = {
-0x98,0x64,
-};
-
-static const BitmapCharRec ch126 = {6,2,0,-2,7,ch126data};
-
-/* char: 0x7d '}' */
-
-static const GLubyte ch125data[] = {
-0x80,0x40,0x40,0x40,0x20,0x40,0x40,0x40,0x80,
-};
-
-static const BitmapCharRec ch125 = {3,9,0,2,4,ch125data};
-
-/* char: 0x7c '|' */
-
-static const GLubyte ch124data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch124 = {1,9,0,2,2,ch124data};
-
-/* char: 0x7b '{' */
-
-static const GLubyte ch123data[] = {
-0x20,0x40,0x40,0x40,0x80,0x40,0x40,0x40,0x20,
-};
-
-static const BitmapCharRec ch123 = {3,9,0,2,4,ch123data};
-
-/* char: 0x7a 'z' */
-
-static const GLubyte ch122data[] = {
-0xf0,0x90,0x40,0x20,0xf0,
-};
-
-static const BitmapCharRec ch122 = {4,5,0,0,5,ch122data};
-
-/* char: 0x79 'y' */
-
-static const GLubyte ch121data[] = {
-0x40,0x40,0x20,0x30,0x50,0x48,0xdc,
-};
-
-static const BitmapCharRec ch121 = {6,7,1,2,5,ch121data};
-
-/* char: 0x78 'x' */
-
-static const GLubyte ch120data[] = {
-0xd8,0x50,0x20,0x50,0xd8,
-};
-
-static const BitmapCharRec ch120 = {5,5,0,0,6,ch120data};
-
-/* char: 0x77 'w' */
-
-static const GLubyte ch119data[] = {
-0x28,0x6c,0x54,0x92,0xdb,
-};
-
-static const BitmapCharRec ch119 = {8,5,0,0,8,ch119data};
-
-/* char: 0x76 'v' */
-
-static const GLubyte ch118data[] = {
-0x20,0x60,0x50,0x90,0xd8,
-};
-
-static const BitmapCharRec ch118 = {5,5,0,0,5,ch118data};
-
-/* char: 0x75 'u' */
-
-static const GLubyte ch117data[] = {
-0x68,0x90,0x90,0x90,0x90,
-};
-
-static const BitmapCharRec ch117 = {5,5,0,0,5,ch117data};
-
-/* char: 0x74 't' */
-
-static const GLubyte ch116data[] = {
-0x30,0x40,0x40,0x40,0xe0,0x40,
-};
-
-static const BitmapCharRec ch116 = {4,6,0,0,4,ch116data};
-
-/* char: 0x73 's' */
-
-static const GLubyte ch115data[] = {
-0xe0,0x20,0x60,0x80,0xe0,
-};
-
-static const BitmapCharRec ch115 = {3,5,0,0,4,ch115data};
-
-/* char: 0x72 'r' */
-
-static const GLubyte ch114data[] = {
-0xe0,0x40,0x40,0x60,0xa0,
-};
-
-static const BitmapCharRec ch114 = {3,5,0,0,4,ch114data};
-
-/* char: 0x71 'q' */
-
-static const GLubyte ch113data[] = {
-0x38,0x10,0x70,0x90,0x90,0x90,0x70,
-};
-
-static const BitmapCharRec ch113 = {5,7,0,2,5,ch113data};
-
-/* char: 0x70 'p' */
-
-static const GLubyte ch112data[] = {
-0xc0,0x80,0xe0,0x90,0x90,0x90,0xe0,
-};
-
-static const BitmapCharRec ch112 = {4,7,0,2,5,ch112data};
-
-/* char: 0x6f 'o' */
-
-static const GLubyte ch111data[] = {
-0x60,0x90,0x90,0x90,0x60,
-};
-
-static const BitmapCharRec ch111 = {4,5,0,0,5,ch111data};
-
-/* char: 0x6e 'n' */
-
-static const GLubyte ch110data[] = {
-0xd8,0x90,0x90,0x90,0xe0,
-};
-
-static const BitmapCharRec ch110 = {5,5,0,0,5,ch110data};
-
-/* char: 0x6d 'm' */
-
-static const GLubyte ch109data[] = {
-0xdb,0x92,0x92,0x92,0xec,
-};
-
-static const BitmapCharRec ch109 = {8,5,0,0,8,ch109data};
-
-/* char: 0x6c 'l' */
-
-static const GLubyte ch108data[] = {
-0xe0,0x40,0x40,0x40,0x40,0x40,0xc0,
-};
-
-static const BitmapCharRec ch108 = {3,7,0,0,4,ch108data};
-
-/* char: 0x6b 'k' */
-
-static const GLubyte ch107data[] = {
-0x98,0x90,0xe0,0xa0,0x90,0x80,0x80,
-};
-
-static const BitmapCharRec ch107 = {5,7,0,0,5,ch107data};
-
-/* char: 0x6a 'j' */
-
-static const GLubyte ch106data[] = {
-0x80,0x40,0x40,0x40,0x40,0x40,0xc0,0x0,0x40,
-};
-
-static const BitmapCharRec ch106 = {2,9,0,2,3,ch106data};
-
-/* char: 0x69 'i' */
-
-static const GLubyte ch105data[] = {
-0x40,0x40,0x40,0x40,0xc0,0x0,0x40,
-};
-
-static const BitmapCharRec ch105 = {2,7,0,0,3,ch105data};
-
-/* char: 0x68 'h' */
-
-static const GLubyte ch104data[] = {
-0xd8,0x90,0x90,0x90,0xe0,0x80,0x80,
-};
-
-static const BitmapCharRec ch104 = {5,7,0,0,5,ch104data};
-
-/* char: 0x67 'g' */
-
-static const GLubyte ch103data[] = {
-0xe0,0x90,0x60,0x40,0xa0,0xa0,0x70,
-};
-
-static const BitmapCharRec ch103 = {4,7,0,2,5,ch103data};
-
-/* char: 0x66 'f' */
-
-static const GLubyte ch102data[] = {
-0xe0,0x40,0x40,0x40,0xe0,0x40,0x30,
-};
-
-static const BitmapCharRec ch102 = {4,7,0,0,4,ch102data};
-
-/* char: 0x65 'e' */
-
-static const GLubyte ch101data[] = {
-0x60,0x80,0xc0,0xa0,0x60,
-};
-
-static const BitmapCharRec ch101 = {3,5,0,0,4,ch101data};
-
-/* char: 0x64 'd' */
-
-static const GLubyte ch100data[] = {
-0x68,0x90,0x90,0x90,0x70,0x10,0x30,
-};
-
-static const BitmapCharRec ch100 = {5,7,0,0,5,ch100data};
-
-/* char: 0x63 'c' */
-
-static const GLubyte ch99data[] = {
-0x60,0x80,0x80,0x80,0x60,
-};
-
-static const BitmapCharRec ch99 = {3,5,0,0,4,ch99data};
-
-/* char: 0x62 'b' */
-
-static const GLubyte ch98data[] = {
-0xe0,0x90,0x90,0x90,0xe0,0x80,0x80,
-};
-
-static const BitmapCharRec ch98 = {4,7,0,0,5,ch98data};
-
-/* char: 0x61 'a' */
-
-static const GLubyte ch97data[] = {
-0xe0,0xa0,0x60,0x20,0xc0,
-};
-
-static const BitmapCharRec ch97 = {3,5,0,0,4,ch97data};
-
-/* char: 0x60 '`' */
-
-static const GLubyte ch96data[] = {
-0xc0,0x80,
-};
-
-static const BitmapCharRec ch96 = {2,2,0,-5,3,ch96data};
-
-/* char: 0x5f '_' */
-
-static const GLubyte ch95data[] = {
-0xf8,
-};
-
-static const BitmapCharRec ch95 = {5,1,0,3,5,ch95data};
-
-/* char: 0x5e '^' */
-
-static const GLubyte ch94data[] = {
-0xa0,0xa0,0x40,
-};
-
-static const BitmapCharRec ch94 = {3,3,-1,-4,5,ch94data};
-
-/* char: 0x5d ']' */
-
-static const GLubyte ch93data[] = {
-0xc0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xc0,
-};
-
-static const BitmapCharRec ch93 = {2,9,0,2,3,ch93data};
-
-/* char: 0x5c '\' */
-
-static const GLubyte ch92data[] = {
-0x20,0x20,0x40,0x40,0x40,0x80,0x80,
-};
-
-static const BitmapCharRec ch92 = {3,7,0,0,3,ch92data};
-
-/* char: 0x5b '[' */
-
-static const GLubyte ch91data[] = {
-0xc0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xc0,
-};
-
-static const BitmapCharRec ch91 = {2,9,0,2,3,ch91data};
-
-/* char: 0x5a 'Z' */
-
-static const GLubyte ch90data[] = {
-0xf8,0x88,0x40,0x20,0x10,0x88,0xf8,
-};
-
-static const BitmapCharRec ch90 = {5,7,0,0,6,ch90data};
-
-/* char: 0x59 'Y' */
-
-static const GLubyte ch89data[] = {
-0x38,0x10,0x10,0x28,0x28,0x44,0xee,
-};
-
-static const BitmapCharRec ch89 = {7,7,0,0,8,ch89data};
-
-/* char: 0x58 'X' */
-
-static const GLubyte ch88data[] = {
-0xee,0x44,0x28,0x10,0x28,0x44,0xee,
-};
-
-static const BitmapCharRec ch88 = {7,7,0,0,8,ch88data};
-
-/* char: 0x57 'W' */
-
-static const GLubyte ch87data[] = {
-0x22,0x0,0x22,0x0,0x55,0x0,0x55,0x0,0xc9,0x80,0x88,0x80,0xdd,0xc0,
-};
-
-static const BitmapCharRec ch87 = {10,7,0,0,10,ch87data};
-
-/* char: 0x56 'V' */
-
-static const GLubyte ch86data[] = {
-0x10,0x10,0x28,0x28,0x6c,0x44,0xee,
-};
-
-static const BitmapCharRec ch86 = {7,7,0,0,8,ch86data};
-
-/* char: 0x55 'U' */
-
-static const GLubyte ch85data[] = {
-0x38,0x6c,0x44,0x44,0x44,0x44,0xee,
-};
-
-static const BitmapCharRec ch85 = {7,7,0,0,8,ch85data};
-
-/* char: 0x54 'T' */
-
-static const GLubyte ch84data[] = {
-0x70,0x20,0x20,0x20,0x20,0xa8,0xf8,
-};
-
-static const BitmapCharRec ch84 = {5,7,0,0,6,ch84data};
-
-/* char: 0x53 'S' */
-
-static const GLubyte ch83data[] = {
-0xe0,0x90,0x10,0x60,0xc0,0x90,0x70,
-};
-
-static const BitmapCharRec ch83 = {4,7,0,0,5,ch83data};
-
-/* char: 0x52 'R' */
-
-static const GLubyte ch82data[] = {
-0xec,0x48,0x50,0x70,0x48,0x48,0xf0,
-};
-
-static const BitmapCharRec ch82 = {6,7,0,0,7,ch82data};
-
-/* char: 0x51 'Q' */
-
-static const GLubyte ch81data[] = {
-0xc,0x18,0x70,0xcc,0x84,0x84,0x84,0xcc,0x78,
-};
-
-static const BitmapCharRec ch81 = {6,9,0,2,7,ch81data};
-
-/* char: 0x50 'P' */
-
-static const GLubyte ch80data[] = {
-0xe0,0x40,0x40,0x70,0x48,0x48,0xf0,
-};
-
-static const BitmapCharRec ch80 = {5,7,0,0,6,ch80data};
-
-/* char: 0x4f 'O' */
-
-static const GLubyte ch79data[] = {
-0x78,0xcc,0x84,0x84,0x84,0xcc,0x78,
-};
-
-static const BitmapCharRec ch79 = {6,7,0,0,7,ch79data};
-
-/* char: 0x4e 'N' */
-
-static const GLubyte ch78data[] = {
-0xe4,0x4c,0x4c,0x54,0x54,0x64,0xee,
-};
-
-static const BitmapCharRec ch78 = {7,7,0,0,8,ch78data};
-
-/* char: 0x4d 'M' */
-
-static const GLubyte ch77data[] = {
-0xeb,0x80,0x49,0x0,0x55,0x0,0x55,0x0,0x63,0x0,0x63,0x0,0xe3,0x80,
-};
-
-static const BitmapCharRec ch77 = {9,7,0,0,10,ch77data};
-
-/* char: 0x4c 'L' */
-
-static const GLubyte ch76data[] = {
-0xf8,0x48,0x40,0x40,0x40,0x40,0xe0,
-};
-
-static const BitmapCharRec ch76 = {5,7,0,0,6,ch76data};
-
-/* char: 0x4b 'K' */
-
-static const GLubyte ch75data[] = {
-0xec,0x48,0x50,0x60,0x50,0x48,0xec,
-};
-
-static const BitmapCharRec ch75 = {6,7,0,0,7,ch75data};
-
-/* char: 0x4a 'J' */
-
-static const GLubyte ch74data[] = {
-0xc0,0xa0,0x20,0x20,0x20,0x20,0x70,
-};
-
-static const BitmapCharRec ch74 = {4,7,0,0,4,ch74data};
-
-/* char: 0x49 'I' */
-
-static const GLubyte ch73data[] = {
-0xe0,0x40,0x40,0x40,0x40,0x40,0xe0,
-};
-
-static const BitmapCharRec ch73 = {3,7,0,0,4,ch73data};
-
-/* char: 0x48 'H' */
-
-static const GLubyte ch72data[] = {
-0xee,0x44,0x44,0x7c,0x44,0x44,0xee,
-};
-
-static const BitmapCharRec ch72 = {7,7,0,0,8,ch72data};
-
-/* char: 0x47 'G' */
-
-static const GLubyte ch71data[] = {
-0x78,0xc4,0x84,0x9c,0x80,0xc4,0x7c,
-};
-
-static const BitmapCharRec ch71 = {6,7,0,0,7,ch71data};
-
-/* char: 0x46 'F' */
-
-static const GLubyte ch70data[] = {
-0xe0,0x40,0x40,0x70,0x40,0x48,0xf8,
-};
-
-static const BitmapCharRec ch70 = {5,7,0,0,6,ch70data};
-
-/* char: 0x45 'E' */
-
-static const GLubyte ch69data[] = {
-0xf8,0x48,0x40,0x70,0x40,0x48,0xf8,
-};
-
-static const BitmapCharRec ch69 = {5,7,0,0,6,ch69data};
-
-/* char: 0x44 'D' */
-
-static const GLubyte ch68data[] = {
-0xf8,0x4c,0x44,0x44,0x44,0x4c,0xf8,
-};
-
-static const BitmapCharRec ch68 = {6,7,0,0,7,ch68data};
-
-/* char: 0x43 'C' */
-
-static const GLubyte ch67data[] = {
-0x78,0xc4,0x80,0x80,0x80,0xc4,0x7c,
-};
-
-static const BitmapCharRec ch67 = {6,7,0,0,7,ch67data};
-
-/* char: 0x42 'B' */
-
-static const GLubyte ch66data[] = {
-0xf0,0x48,0x48,0x70,0x48,0x48,0xf0,
-};
-
-static const BitmapCharRec ch66 = {5,7,0,0,6,ch66data};
-
-/* char: 0x41 'A' */
-
-static const GLubyte ch65data[] = {
-0xee,0x44,0x7c,0x28,0x28,0x38,0x10,
-};
-
-static const BitmapCharRec ch65 = {7,7,0,0,8,ch65data};
-
-/* char: 0x40 '@' */
-
-static const GLubyte ch64data[] = {
-0x3e,0x40,0x92,0xad,0xa5,0xa5,0x9d,0x42,0x3c,
-};
-
-static const BitmapCharRec ch64 = {8,9,0,2,9,ch64data};
-
-/* char: 0x3f '?' */
-
-static const GLubyte ch63data[] = {
-0x40,0x0,0x40,0x40,0x20,0xa0,0xe0,
-};
-
-static const BitmapCharRec ch63 = {3,7,0,0,4,ch63data};
-
-/* char: 0x3e '>' */
-
-static const GLubyte ch62data[] = {
-0x80,0x40,0x20,0x40,0x80,
-};
-
-static const BitmapCharRec ch62 = {3,5,0,0,5,ch62data};
-
-/* char: 0x3d '=' */
-
-static const GLubyte ch61data[] = {
-0xf8,0x0,0xf8,
-};
-
-static const BitmapCharRec ch61 = {5,3,0,-1,6,ch61data};
-
-/* char: 0x3c '<' */
-
-static const GLubyte ch60data[] = {
-0x20,0x40,0x80,0x40,0x20,
-};
-
-static const BitmapCharRec ch60 = {3,5,-1,0,5,ch60data};
-
-/* char: 0x3b ';' */
-
-static const GLubyte ch59data[] = {
-0x80,0x80,0x80,0x0,0x0,0x0,0x80,
-};
-
-static const BitmapCharRec ch59 = {1,7,-1,2,3,ch59data};
-
-/* char: 0x3a ':' */
-
-static const GLubyte ch58data[] = {
-0x80,0x0,0x0,0x0,0x80,
-};
-
-static const BitmapCharRec ch58 = {1,5,-1,0,3,ch58data};
-
-/* char: 0x39 '9' */
-
-static const GLubyte ch57data[] = {
-0xc0,0x20,0x70,0x90,0x90,0x90,0x60,
-};
-
-static const BitmapCharRec ch57 = {4,7,0,0,5,ch57data};
-
-/* char: 0x38 '8' */
-
-static const GLubyte ch56data[] = {
-0x60,0x90,0x90,0x60,0x90,0x90,0x60,
-};
-
-static const BitmapCharRec ch56 = {4,7,0,0,5,ch56data};
-
-/* char: 0x37 '7' */
-
-static const GLubyte ch55data[] = {
-0x40,0x40,0x40,0x20,0x20,0x90,0xf0,
-};
-
-static const BitmapCharRec ch55 = {4,7,0,0,5,ch55data};
-
-/* char: 0x36 '6' */
-
-static const GLubyte ch54data[] = {
-0x60,0x90,0x90,0x90,0xe0,0x40,0x30,
-};
-
-static const BitmapCharRec ch54 = {4,7,0,0,5,ch54data};
-
-/* char: 0x35 '5' */
-
-static const GLubyte ch53data[] = {
-0xe0,0x90,0x10,0x10,0xe0,0x40,0x70,
-};
-
-static const BitmapCharRec ch53 = {4,7,0,0,5,ch53data};
-
-/* char: 0x34 '4' */
-
-static const GLubyte ch52data[] = {
-0x10,0x10,0xf8,0x90,0x50,0x30,0x10,
-};
-
-static const BitmapCharRec ch52 = {5,7,0,0,5,ch52data};
-
-/* char: 0x33 '3' */
-
-static const GLubyte ch51data[] = {
-0xe0,0x10,0x10,0x60,0x10,0x90,0x60,
-};
-
-static const BitmapCharRec ch51 = {4,7,0,0,5,ch51data};
-
-/* char: 0x32 '2' */
-
-static const GLubyte ch50data[] = {
-0xf0,0x40,0x20,0x20,0x10,0x90,0x60,
-};
-
-static const BitmapCharRec ch50 = {4,7,0,0,5,ch50data};
-
-/* char: 0x31 '1' */
-
-static const GLubyte ch49data[] = {
-0xe0,0x40,0x40,0x40,0x40,0xc0,0x40,
-};
-
-static const BitmapCharRec ch49 = {3,7,-1,0,5,ch49data};
-
-/* char: 0x30 '0' */
-
-static const GLubyte ch48data[] = {
-0x60,0x90,0x90,0x90,0x90,0x90,0x60,
-};
-
-static const BitmapCharRec ch48 = {4,7,0,0,5,ch48data};
-
-/* char: 0x2f '/' */
-
-static const GLubyte ch47data[] = {
-0x80,0x80,0x40,0x40,0x40,0x20,0x20,
-};
-
-static const BitmapCharRec ch47 = {3,7,0,0,3,ch47data};
-
-/* char: 0x2e '.' */
-
-static const GLubyte ch46data[] = {
-0x80,
-};
-
-static const BitmapCharRec ch46 = {1,1,-1,0,3,ch46data};
-
-/* char: 0x2d '-' */
-
-static const GLubyte ch45data[] = {
-0xf0,
-};
-
-static const BitmapCharRec ch45 = {4,1,-1,-2,7,ch45data};
-
-/* char: 0x2c ',' */
-
-static const GLubyte ch44data[] = {
-0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch44 = {1,3,-1,2,3,ch44data};
-
-/* char: 0x2b '+' */
-
-static const GLubyte ch43data[] = {
-0x20,0x20,0xf8,0x20,0x20,
-};
-
-static const BitmapCharRec ch43 = {5,5,0,0,6,ch43data};
-
-/* char: 0x2a '*' */
-
-static const GLubyte ch42data[] = {
-0xa0,0x40,0xa0,
-};
-
-static const BitmapCharRec ch42 = {3,3,0,-4,5,ch42data};
-
-/* char: 0x29 ')' */
-
-static const GLubyte ch41data[] = {
-0x80,0x40,0x40,0x20,0x20,0x20,0x40,0x40,0x80,
-};
-
-static const BitmapCharRec ch41 = {3,9,0,2,4,ch41data};
-
-/* char: 0x28 '(' */
-
-static const GLubyte ch40data[] = {
-0x20,0x40,0x40,0x80,0x80,0x80,0x40,0x40,0x20,
-};
-
-static const BitmapCharRec ch40 = {3,9,0,2,4,ch40data};
-
-/* char: 0x27 ''' */
-
-static const GLubyte ch39data[] = {
-0x40,0xc0,
-};
-
-static const BitmapCharRec ch39 = {2,2,0,-5,3,ch39data};
-
-/* char: 0x26 '&' */
-
-static const GLubyte ch38data[] = {
-0x76,0x8d,0x98,0x74,0x6e,0x50,0x30,
-};
-
-static const BitmapCharRec ch38 = {8,7,0,0,8,ch38data};
-
-/* char: 0x25 '%' */
-
-static const GLubyte ch37data[] = {
-0x44,0x2a,0x2a,0x56,0xa8,0xa4,0x7e,
-};
-
-static const BitmapCharRec ch37 = {7,7,0,0,8,ch37data};
-
-/* char: 0x24 '$' */
-
-static const GLubyte ch36data[] = {
-0x20,0xe0,0x90,0x10,0x60,0x80,0x90,0x70,0x20,
-};
-
-static const BitmapCharRec ch36 = {4,9,0,1,5,ch36data};
-
-/* char: 0x23 '#' */
-
-static const GLubyte ch35data[] = {
-0x50,0x50,0xf8,0x50,0xf8,0x50,0x50,
-};
-
-static const BitmapCharRec ch35 = {5,7,0,0,5,ch35data};
-
-/* char: 0x22 '"' */
-
-static const GLubyte ch34data[] = {
-0xa0,0xa0,
-};
-
-static const BitmapCharRec ch34 = {3,2,0,-5,4,ch34data};
-
-/* char: 0x21 '!' */
-
-static const GLubyte ch33data[] = {
-0x80,0x0,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch33 = {1,7,-1,0,3,ch33data};
-
-/* char: 0x20 ' ' */
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch32data[] = { 0x0 };
-static const BitmapCharRec ch32 = {1,1,0,0,2,ch32data};
-#else
-static const BitmapCharRec ch32 = {0,0,0,0,2,0};
-#endif
-
-static const BitmapCharRec * const chars[] = {
-&ch32,
-&ch33,
-&ch34,
-&ch35,
-&ch36,
-&ch37,
-&ch38,
-&ch39,
-&ch40,
-&ch41,
-&ch42,
-&ch43,
-&ch44,
-&ch45,
-&ch46,
-&ch47,
-&ch48,
-&ch49,
-&ch50,
-&ch51,
-&ch52,
-&ch53,
-&ch54,
-&ch55,
-&ch56,
-&ch57,
-&ch58,
-&ch59,
-&ch60,
-&ch61,
-&ch62,
-&ch63,
-&ch64,
-&ch65,
-&ch66,
-&ch67,
-&ch68,
-&ch69,
-&ch70,
-&ch71,
-&ch72,
-&ch73,
-&ch74,
-&ch75,
-&ch76,
-&ch77,
-&ch78,
-&ch79,
-&ch80,
-&ch81,
-&ch82,
-&ch83,
-&ch84,
-&ch85,
-&ch86,
-&ch87,
-&ch88,
-&ch89,
-&ch90,
-&ch91,
-&ch92,
-&ch93,
-&ch94,
-&ch95,
-&ch96,
-&ch97,
-&ch98,
-&ch99,
-&ch100,
-&ch101,
-&ch102,
-&ch103,
-&ch104,
-&ch105,
-&ch106,
-&ch107,
-&ch108,
-&ch109,
-&ch110,
-&ch111,
-&ch112,
-&ch113,
-&ch114,
-&ch115,
-&ch116,
-&ch117,
-&ch118,
-&ch119,
-&ch120,
-&ch121,
-&ch122,
-&ch123,
-&ch124,
-&ch125,
-&ch126,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-&ch160,
-&ch161,
-&ch162,
-&ch163,
-&ch164,
-&ch165,
-&ch166,
-&ch167,
-&ch168,
-&ch169,
-&ch170,
-&ch171,
-&ch172,
-&ch173,
-&ch174,
-&ch175,
-&ch176,
-&ch177,
-&ch178,
-&ch179,
-&ch180,
-&ch181,
-&ch182,
-&ch183,
-&ch184,
-&ch185,
-&ch186,
-&ch187,
-&ch188,
-&ch189,
-&ch190,
-&ch191,
-&ch192,
-&ch193,
-&ch194,
-&ch195,
-&ch196,
-&ch197,
-&ch198,
-&ch199,
-&ch200,
-&ch201,
-&ch202,
-&ch203,
-&ch204,
-&ch205,
-&ch206,
-&ch207,
-&ch208,
-&ch209,
-&ch210,
-&ch211,
-&ch212,
-&ch213,
-&ch214,
-&ch215,
-&ch216,
-&ch217,
-&ch218,
-&ch219,
-&ch220,
-&ch221,
-&ch222,
-&ch223,
-&ch224,
-&ch225,
-&ch226,
-&ch227,
-&ch228,
-&ch229,
-&ch230,
-&ch231,
-&ch232,
-&ch233,
-&ch234,
-&ch235,
-&ch236,
-&ch237,
-&ch238,
-&ch239,
-&ch240,
-&ch241,
-&ch242,
-&ch243,
-&ch244,
-&ch245,
-&ch246,
-&ch247,
-&ch248,
-&ch249,
-&ch250,
-&ch251,
-&ch252,
-&ch253,
-&ch254,
-&ch255,
-};
-
-const BitmapFontRec glutBitmapTimesRoman10 = {
-"-adobe-times-medium-r-normal--10-100-75-75-p-54-iso8859-1",
-224,
-32,
-chars
-};
-
diff --git a/src/glut/glx/glut_tr24.c b/src/glut/glx/glut_tr24.c
deleted file mode 100644
index 22b0e51603..0000000000
--- a/src/glut/glx/glut_tr24.c
+++ /dev/null
@@ -1,2060 +0,0 @@
-
-/* GENERATED FILE -- DO NOT MODIFY */
-
-#define glutBitmapTimesRoman24 XXX
-#include "glutbitmap.h"
-#undef glutBitmapTimesRoman24
-
-/* char: 0xff */
-
-static const GLubyte ch255data[] = {
-0xe0,0x0,0xf0,0x0,0x18,0x0,0x8,0x0,0xc,0x0,0x4,0x0,0xe,0x0,0xe,0x0,
-0x1a,0x0,0x19,0x0,0x19,0x0,0x31,0x0,0x30,0x80,0x30,0x80,0x60,0x80,0x60,0xc0,
-0xf1,0xe0,0x0,0x0,0x0,0x0,0x33,0x0,0x33,0x0,
-};
-
-static const BitmapCharRec ch255 = {11,21,0,5,11,ch255data};
-
-/* char: 0xfe */
-
-static const GLubyte ch254data[] = {
-0xf0,0x0,0x60,0x0,0x60,0x0,0x60,0x0,0x60,0x0,0x6e,0x0,0x73,0x80,0x61,0x80,
-0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x61,0x80,0x73,0x80,
-0x6e,0x0,0x60,0x0,0x60,0x0,0x60,0x0,0x60,0x0,0xe0,0x0,
-};
-
-static const BitmapCharRec ch254 = {10,22,-1,5,12,ch254data};
-
-/* char: 0xfd */
-
-static const GLubyte ch253data[] = {
-0xe0,0x0,0xf0,0x0,0x18,0x0,0x8,0x0,0xc,0x0,0x4,0x0,0xe,0x0,0xe,0x0,
-0x1a,0x0,0x19,0x0,0x19,0x0,0x31,0x0,0x30,0x80,0x30,0x80,0x60,0x80,0x60,0xc0,
-0xf1,0xe0,0x0,0x0,0x8,0x0,0x6,0x0,0x3,0x80,0x1,0x80,
-};
-
-static const BitmapCharRec ch253 = {11,22,0,5,11,ch253data};
-
-/* char: 0xfc */
-
-static const GLubyte ch252data[] = {
-0x1c,0xe0,0x3e,0xc0,0x71,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
-0x60,0xc0,0x60,0xc0,0x60,0xc0,0xe1,0xc0,0x0,0x0,0x0,0x0,0x33,0x0,0x33,0x0,
-};
-
-static const BitmapCharRec ch252 = {11,16,-1,0,13,ch252data};
-
-/* char: 0xfb */
-
-static const GLubyte ch251data[] = {
-0x1c,0xe0,0x3e,0xc0,0x71,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
-0x60,0xc0,0x60,0xc0,0x60,0xc0,0xe1,0xc0,0x0,0x0,0x21,0x0,0x12,0x0,0x1e,0x0,
-0xc,0x0,
-};
-
-static const BitmapCharRec ch251 = {11,17,-1,0,13,ch251data};
-
-/* char: 0xfa */
-
-static const GLubyte ch250data[] = {
-0x1c,0xe0,0x3e,0xc0,0x71,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
-0x60,0xc0,0x60,0xc0,0x60,0xc0,0xe1,0xc0,0x0,0x0,0x8,0x0,0x6,0x0,0x3,0x80,
-0x1,0x80,
-};
-
-static const BitmapCharRec ch250 = {11,17,-1,0,13,ch250data};
-
-/* char: 0xf9 */
-
-static const GLubyte ch249data[] = {
-0x1c,0xe0,0x3e,0xc0,0x71,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
-0x60,0xc0,0x60,0xc0,0x60,0xc0,0xe1,0xc0,0x0,0x0,0x2,0x0,0xc,0x0,0x38,0x0,
-0x30,0x0,
-};
-
-static const BitmapCharRec ch249 = {11,17,-1,0,13,ch249data};
-
-/* char: 0xf8 */
-
-static const GLubyte ch248data[] = {
-0xc0,0x0,0xde,0x0,0x73,0x80,0x71,0x80,0xd0,0xc0,0xd8,0xc0,0xc8,0xc0,0xcc,0xc0,
-0xc4,0xc0,0xc6,0xc0,0x63,0x80,0x73,0x80,0x1e,0xc0,0x0,0xc0,
-};
-
-static const BitmapCharRec ch248 = {10,14,-1,1,12,ch248data};
-
-/* char: 0xf7 */
-
-static const GLubyte ch247data[] = {
-0x6,0x0,0x6,0x0,0x0,0x0,0x0,0x0,0xff,0xf0,0xff,0xf0,0x0,0x0,0x0,0x0,
-0x6,0x0,0x6,0x0,
-};
-
-static const BitmapCharRec ch247 = {12,10,-1,-2,14,ch247data};
-
-/* char: 0xf6 */
-
-static const GLubyte ch246data[] = {
-0x1e,0x0,0x73,0x80,0x61,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc0,0xc0,0x61,0x80,0x73,0x80,0x1e,0x0,0x0,0x0,0x0,0x0,0x33,0x0,0x33,0x0,
-};
-
-static const BitmapCharRec ch246 = {10,16,-1,0,12,ch246data};
-
-/* char: 0xf5 */
-
-static const GLubyte ch245data[] = {
-0x1e,0x0,0x73,0x80,0x61,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc0,0xc0,0x61,0x80,0x73,0x80,0x1e,0x0,0x0,0x0,0x0,0x0,0x27,0x0,0x1c,0x80,
-};
-
-static const BitmapCharRec ch245 = {10,16,-1,0,12,ch245data};
-
-/* char: 0xf4 */
-
-static const GLubyte ch244data[] = {
-0x1e,0x0,0x73,0x80,0x61,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc0,0xc0,0x61,0x80,0x73,0x80,0x1e,0x0,0x0,0x0,0x21,0x0,0x12,0x0,0x1e,0x0,
-0xc,0x0,
-};
-
-static const BitmapCharRec ch244 = {10,17,-1,0,12,ch244data};
-
-/* char: 0xf3 */
-
-static const GLubyte ch243data[] = {
-0x1e,0x0,0x73,0x80,0x61,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc0,0xc0,0x61,0x80,0x73,0x80,0x1e,0x0,0x0,0x0,0x8,0x0,0x6,0x0,0x3,0x80,
-0x1,0x80,
-};
-
-static const BitmapCharRec ch243 = {10,17,-1,0,12,ch243data};
-
-/* char: 0xf2 */
-
-static const GLubyte ch242data[] = {
-0x1e,0x0,0x73,0x80,0x61,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc0,0xc0,0x61,0x80,0x73,0x80,0x1e,0x0,0x0,0x0,0x2,0x0,0xc,0x0,0x38,0x0,
-0x30,0x0,
-};
-
-static const BitmapCharRec ch242 = {10,17,-1,0,12,ch242data};
-
-/* char: 0xf1 */
-
-static const GLubyte ch241data[] = {
-0xf1,0xe0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
-0x60,0xc0,0x71,0xc0,0x6f,0x80,0xe7,0x0,0x0,0x0,0x0,0x0,0x27,0x0,0x1c,0x80,
-};
-
-static const BitmapCharRec ch241 = {11,16,-1,0,13,ch241data};
-
-/* char: 0xf0 */
-
-static const GLubyte ch240data[] = {
-0x1e,0x0,0x73,0x80,0x61,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc0,0xc0,0x61,0x80,0x73,0x80,0x1f,0x0,0xc6,0x0,0x3c,0x0,0x1e,0x0,0x71,0x80,
-0xc0,0x0,
-};
-
-static const BitmapCharRec ch240 = {10,17,-1,0,12,ch240data};
-
-/* char: 0xef */
-
-static const GLubyte ch239data[] = {
-0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x70,0x0,0x0,0xcc,0xcc,
-};
-
-static const BitmapCharRec ch239 = {6,16,0,0,6,ch239data};
-
-/* char: 0xee */
-
-static const GLubyte ch238data[] = {
-0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x70,0x0,0x84,0x48,0x78,
-0x30,
-};
-
-static const BitmapCharRec ch238 = {6,17,0,0,6,ch238data};
-
-/* char: 0xed */
-
-static const GLubyte ch237data[] = {
-0xf0,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0xe0,0x0,0x80,0x60,0x38,
-0x18,
-};
-
-static const BitmapCharRec ch237 = {5,17,-1,0,6,ch237data};
-
-/* char: 0xec */
-
-static const GLubyte ch236data[] = {
-0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x70,0x0,0x8,0x30,0xe0,
-0xc0,
-};
-
-static const BitmapCharRec ch236 = {5,17,0,0,6,ch236data};
-
-/* char: 0xeb */
-
-static const GLubyte ch235data[] = {
-0x1e,0x0,0x7f,0x0,0x70,0x80,0xe0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,
-0xc1,0x80,0x41,0x80,0x63,0x0,0x1e,0x0,0x0,0x0,0x0,0x0,0x33,0x0,0x33,0x0,
-};
-
-static const BitmapCharRec ch235 = {9,16,-1,0,11,ch235data};
-
-/* char: 0xea */
-
-static const GLubyte ch234data[] = {
-0x1e,0x0,0x7f,0x0,0x70,0x80,0xe0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,
-0xc1,0x80,0x41,0x80,0x63,0x0,0x1e,0x0,0x0,0x0,0x21,0x0,0x12,0x0,0x1e,0x0,
-0xc,0x0,
-};
-
-static const BitmapCharRec ch234 = {9,17,-1,0,11,ch234data};
-
-/* char: 0xe9 */
-
-static const GLubyte ch233data[] = {
-0x1e,0x0,0x7f,0x0,0x70,0x80,0xe0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,
-0xc1,0x80,0x41,0x80,0x63,0x0,0x1e,0x0,0x0,0x0,0x10,0x0,0xc,0x0,0x7,0x0,
-0x3,0x0,
-};
-
-static const BitmapCharRec ch233 = {9,17,-1,0,11,ch233data};
-
-/* char: 0xe8 */
-
-static const GLubyte ch232data[] = {
-0x1e,0x0,0x7f,0x0,0x70,0x80,0xe0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,
-0xc1,0x80,0x41,0x80,0x63,0x0,0x1e,0x0,0x0,0x0,0x4,0x0,0x18,0x0,0x70,0x0,
-0x60,0x0,
-};
-
-static const BitmapCharRec ch232 = {9,17,-1,0,11,ch232data};
-
-/* char: 0xe7 */
-
-static const GLubyte ch231data[] = {
-0x3c,0x0,0x66,0x0,0x6,0x0,0x1e,0x0,0x18,0x0,0x8,0x0,0x1e,0x0,0x7f,0x0,
-0x70,0x80,0xe0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0x41,0x80,
-0x63,0x80,0x1f,0x0,
-};
-
-static const BitmapCharRec ch231 = {9,18,-1,6,11,ch231data};
-
-/* char: 0xe6 */
-
-static const GLubyte ch230data[] = {
-0x70,0xf0,0xfb,0xf8,0xc7,0x84,0xc3,0x0,0xc3,0x0,0x63,0x0,0x3b,0x0,0xf,0xfc,
-0x3,0xc,0x63,0xc,0x67,0x98,0x3c,0xf0,
-};
-
-static const BitmapCharRec ch230 = {14,12,-1,0,16,ch230data};
-
-/* char: 0xe5 */
-
-static const GLubyte ch229data[] = {
-0x71,0x80,0xfb,0x0,0xc7,0x0,0xc3,0x0,0xc3,0x0,0x63,0x0,0x3b,0x0,0xf,0x0,
-0x3,0x0,0x63,0x0,0x67,0x0,0x3e,0x0,0x0,0x0,0x1c,0x0,0x22,0x0,0x22,0x0,
-0x1c,0x0,
-};
-
-static const BitmapCharRec ch229 = {9,17,-1,0,11,ch229data};
-
-/* char: 0xe4 */
-
-static const GLubyte ch228data[] = {
-0x71,0x80,0xfb,0x0,0xc7,0x0,0xc3,0x0,0xc3,0x0,0x63,0x0,0x3b,0x0,0xf,0x0,
-0x3,0x0,0x63,0x0,0x67,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x66,0x0,0x66,0x0,
-};
-
-static const BitmapCharRec ch228 = {9,16,-1,0,11,ch228data};
-
-/* char: 0xe3 */
-
-static const GLubyte ch227data[] = {
-0x71,0x80,0xfb,0x0,0xc7,0x0,0xc3,0x0,0xc3,0x0,0x63,0x0,0x3b,0x0,0xf,0x0,
-0x3,0x0,0x63,0x0,0x67,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x5c,0x0,0x3a,0x0,
-};
-
-static const BitmapCharRec ch227 = {9,16,-1,0,11,ch227data};
-
-/* char: 0xe2 */
-
-static const GLubyte ch226data[] = {
-0x71,0x80,0xfb,0x0,0xc7,0x0,0xc3,0x0,0xc3,0x0,0x63,0x0,0x3b,0x0,0xf,0x0,
-0x3,0x0,0x63,0x0,0x67,0x0,0x3e,0x0,0x0,0x0,0x42,0x0,0x24,0x0,0x3c,0x0,
-0x18,0x0,
-};
-
-static const BitmapCharRec ch226 = {9,17,-1,0,11,ch226data};
-
-/* char: 0xe1 */
-
-static const GLubyte ch225data[] = {
-0x71,0x80,0xfb,0x0,0xc7,0x0,0xc3,0x0,0xc3,0x0,0x63,0x0,0x3b,0x0,0xf,0x0,
-0x3,0x0,0x63,0x0,0x67,0x0,0x3e,0x0,0x0,0x0,0x10,0x0,0xc,0x0,0x7,0x0,
-0x3,0x0,
-};
-
-static const BitmapCharRec ch225 = {9,17,-1,0,11,ch225data};
-
-/* char: 0xe0 */
-
-static const GLubyte ch224data[] = {
-0x71,0x80,0xfb,0x0,0xc7,0x0,0xc3,0x0,0xc3,0x0,0x63,0x0,0x3b,0x0,0xf,0x0,
-0x3,0x0,0x63,0x0,0x67,0x0,0x3e,0x0,0x0,0x0,0x4,0x0,0x18,0x0,0x70,0x0,
-0x60,0x0,
-};
-
-static const BitmapCharRec ch224 = {9,17,-1,0,11,ch224data};
-
-/* char: 0xdf */
-
-static const GLubyte ch223data[] = {
-0xe7,0x0,0x6c,0x80,0x6c,0xc0,0x60,0xc0,0x60,0xc0,0x61,0xc0,0x61,0x80,0x63,0x80,
-0x67,0x0,0x6c,0x0,0x63,0x0,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x33,0x0,
-0x1e,0x0,
-};
-
-static const BitmapCharRec ch223 = {10,17,-1,0,12,ch223data};
-
-/* char: 0xde */
-
-static const GLubyte ch222data[] = {
-0xfc,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x3f,0xc0,0x30,0x70,0x30,0x30,0x30,0x18,
-0x30,0x18,0x30,0x18,0x30,0x30,0x30,0x70,0x3f,0xc0,0x30,0x0,0x30,0x0,0x30,0x0,
-0xfc,0x0,
-};
-
-static const BitmapCharRec ch222 = {13,17,-1,0,15,ch222data};
-
-/* char: 0xdd */
-
-static const GLubyte ch221data[] = {
-0x7,0xe0,0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x3,0xc0,
-0x3,0x40,0x6,0x60,0x6,0x20,0xc,0x30,0x1c,0x10,0x18,0x18,0x38,0x8,0x30,0xc,
-0xfc,0x3f,0x0,0x0,0x1,0x0,0x0,0xc0,0x0,0x70,0x0,0x30,
-};
-
-static const BitmapCharRec ch221 = {16,22,0,0,16,ch221data};
-
-/* char: 0xdc */
-
-static const GLubyte ch220data[] = {
-0x7,0xe0,0x1c,0x30,0x18,0x8,0x30,0x8,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
-0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
-0xfc,0x1f,0x0,0x0,0x0,0x0,0x6,0x30,0x6,0x30,
-};
-
-static const BitmapCharRec ch220 = {16,21,-1,0,18,ch220data};
-
-/* char: 0xdb */
-
-static const GLubyte ch219data[] = {
-0x7,0xe0,0x1c,0x30,0x18,0x8,0x30,0x8,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
-0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
-0xfc,0x1f,0x0,0x0,0x8,0x10,0x6,0x60,0x3,0xc0,0x1,0x80,
-};
-
-static const BitmapCharRec ch219 = {16,22,-1,0,18,ch219data};
-
-/* char: 0xda */
-
-static const GLubyte ch218data[] = {
-0x7,0xe0,0x1c,0x30,0x18,0x8,0x30,0x8,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
-0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
-0xfc,0x1f,0x0,0x0,0x1,0x0,0x0,0xc0,0x0,0x70,0x0,0x30,
-};
-
-static const BitmapCharRec ch218 = {16,22,-1,0,18,ch218data};
-
-/* char: 0xd9 */
-
-static const GLubyte ch217data[] = {
-0x7,0xe0,0x1c,0x30,0x18,0x8,0x30,0x8,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
-0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
-0xfc,0x1f,0x0,0x0,0x0,0x40,0x1,0x80,0x7,0x0,0x6,0x0,
-};
-
-static const BitmapCharRec ch217 = {16,22,-1,0,18,ch217data};
-
-/* char: 0xd8 */
-
-static const GLubyte ch216data[] = {
-0x20,0x0,0x27,0xe0,0x1c,0x38,0x38,0x1c,0x68,0x6,0x64,0x6,0xc2,0x3,0xc2,0x3,
-0xc1,0x3,0xc1,0x3,0xc0,0x83,0xc0,0x83,0xc0,0x43,0x60,0x46,0x60,0x26,0x38,0x1c,
-0x1c,0x38,0x7,0xe4,0x0,0x4,
-};
-
-static const BitmapCharRec ch216 = {16,19,-1,1,18,ch216data};
-
-/* char: 0xd7 */
-
-static const GLubyte ch215data[] = {
-0x80,0x40,0xc0,0xc0,0x61,0x80,0x33,0x0,0x1e,0x0,0xc,0x0,0x1e,0x0,0x33,0x0,
-0x61,0x80,0xc0,0xc0,0x80,0x40,
-};
-
-static const BitmapCharRec ch215 = {10,11,-2,-1,14,ch215data};
-
-/* char: 0xd6 */
-
-static const GLubyte ch214data[] = {
-0x7,0xe0,0x1c,0x38,0x38,0x1c,0x60,0x6,0x60,0x6,0xc0,0x3,0xc0,0x3,0xc0,0x3,
-0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,0x60,0x6,0x60,0x6,0x38,0x1c,0x1c,0x38,
-0x7,0xe0,0x0,0x0,0x0,0x0,0x6,0x60,0x6,0x60,
-};
-
-static const BitmapCharRec ch214 = {16,21,-1,0,18,ch214data};
-
-/* char: 0xd5 */
-
-static const GLubyte ch213data[] = {
-0x7,0xe0,0x1c,0x38,0x38,0x1c,0x60,0x6,0x60,0x6,0xc0,0x3,0xc0,0x3,0xc0,0x3,
-0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,0x60,0x6,0x60,0x6,0x38,0x1c,0x1c,0x38,
-0x7,0xe0,0x0,0x0,0x0,0x0,0x4,0xe0,0x3,0x90,
-};
-
-static const BitmapCharRec ch213 = {16,21,-1,0,18,ch213data};
-
-/* char: 0xd4 */
-
-static const GLubyte ch212data[] = {
-0x7,0xe0,0x1c,0x38,0x38,0x1c,0x60,0x6,0x60,0x6,0xc0,0x3,0xc0,0x3,0xc0,0x3,
-0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,0x60,0x6,0x60,0x6,0x38,0x1c,0x1c,0x38,
-0x7,0xe0,0x0,0x0,0x8,0x10,0x6,0x60,0x3,0xc0,0x1,0x80,
-};
-
-static const BitmapCharRec ch212 = {16,22,-1,0,18,ch212data};
-
-/* char: 0xd3 */
-
-static const GLubyte ch211data[] = {
-0x7,0xe0,0x1c,0x38,0x38,0x1c,0x60,0x6,0x60,0x6,0xc0,0x3,0xc0,0x3,0xc0,0x3,
-0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,0x60,0x6,0x60,0x6,0x38,0x1c,0x1c,0x38,
-0x7,0xe0,0x0,0x0,0x1,0x0,0x0,0xc0,0x0,0x70,0x0,0x30,
-};
-
-static const BitmapCharRec ch211 = {16,22,-1,0,18,ch211data};
-
-/* char: 0xd2 */
-
-static const GLubyte ch210data[] = {
-0x7,0xe0,0x1c,0x38,0x38,0x1c,0x60,0x6,0x60,0x6,0xc0,0x3,0xc0,0x3,0xc0,0x3,
-0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,0x60,0x6,0x60,0x6,0x38,0x1c,0x1c,0x38,
-0x7,0xe0,0x0,0x0,0x0,0x40,0x1,0x80,0x7,0x0,0x6,0x0,
-};
-
-static const BitmapCharRec ch210 = {16,22,-1,0,18,ch210data};
-
-/* char: 0xd1 */
-
-static const GLubyte ch209data[] = {
-0xf8,0xc,0x20,0x1c,0x20,0x1c,0x20,0x34,0x20,0x64,0x20,0x64,0x20,0xc4,0x21,0x84,
-0x21,0x84,0x23,0x4,0x26,0x4,0x26,0x4,0x2c,0x4,0x38,0x4,0x38,0x4,0x30,0x4,
-0xf0,0x1f,0x0,0x0,0x0,0x0,0x4,0xe0,0x3,0x90,
-};
-
-static const BitmapCharRec ch209 = {16,21,-1,0,18,ch209data};
-
-/* char: 0xd0 */
-
-static const GLubyte ch208data[] = {
-0x7f,0xe0,0x18,0x38,0x18,0x1c,0x18,0x6,0x18,0x6,0x18,0x3,0x18,0x3,0x18,0x3,
-0xff,0x3,0x18,0x3,0x18,0x3,0x18,0x3,0x18,0x6,0x18,0x6,0x18,0x1c,0x18,0x38,
-0x7f,0xe0,
-};
-
-static const BitmapCharRec ch208 = {16,17,0,0,17,ch208data};
-
-/* char: 0xcf */
-
-static const GLubyte ch207data[] = {
-0xfc,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-0xfc,0x0,0x0,0xcc,0xcc,
-};
-
-static const BitmapCharRec ch207 = {6,21,-1,0,8,ch207data};
-
-/* char: 0xce */
-
-static const GLubyte ch206data[] = {
-0x7e,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
-0x7e,0x0,0x81,0x66,0x3c,0x18,
-};
-
-static const BitmapCharRec ch206 = {8,22,-1,0,8,ch206data};
-
-/* char: 0xcd */
-
-static const GLubyte ch205data[] = {
-0xfc,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-0xfc,0x0,0x40,0x30,0x1c,0xc,
-};
-
-static const BitmapCharRec ch205 = {6,22,-1,0,8,ch205data};
-
-/* char: 0xcc */
-
-static const GLubyte ch204data[] = {
-0xfc,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-0xfc,0x0,0x8,0x30,0xe0,0xc0,
-};
-
-static const BitmapCharRec ch204 = {6,22,-1,0,8,ch204data};
-
-/* char: 0xcb */
-
-static const GLubyte ch203data[] = {
-0xff,0xf8,0x30,0x18,0x30,0x8,0x30,0x8,0x30,0x0,0x30,0x0,0x30,0x40,0x30,0x40,
-0x3f,0xc0,0x30,0x40,0x30,0x40,0x30,0x0,0x30,0x0,0x30,0x10,0x30,0x10,0x30,0x30,
-0xff,0xf0,0x0,0x0,0x0,0x0,0x19,0x80,0x19,0x80,
-};
-
-static const BitmapCharRec ch203 = {13,21,-1,0,15,ch203data};
-
-/* char: 0xca */
-
-static const GLubyte ch202data[] = {
-0xff,0xf8,0x30,0x18,0x30,0x8,0x30,0x8,0x30,0x0,0x30,0x0,0x30,0x40,0x30,0x40,
-0x3f,0xc0,0x30,0x40,0x30,0x40,0x30,0x0,0x30,0x0,0x30,0x10,0x30,0x10,0x30,0x30,
-0xff,0xf0,0x0,0x0,0x10,0x20,0xc,0xc0,0x7,0x80,0x3,0x0,
-};
-
-static const BitmapCharRec ch202 = {13,22,-1,0,15,ch202data};
-
-/* char: 0xc9 */
-
-static const GLubyte ch201data[] = {
-0xff,0xf8,0x30,0x18,0x30,0x8,0x30,0x8,0x30,0x0,0x30,0x0,0x30,0x40,0x30,0x40,
-0x3f,0xc0,0x30,0x40,0x30,0x40,0x30,0x0,0x30,0x0,0x30,0x10,0x30,0x10,0x30,0x30,
-0xff,0xf0,0x0,0x0,0x4,0x0,0x3,0x0,0x1,0xc0,0x0,0xc0,
-};
-
-static const BitmapCharRec ch201 = {13,22,-1,0,15,ch201data};
-
-/* char: 0xc8 */
-
-static const GLubyte ch200data[] = {
-0xff,0xf8,0x30,0x18,0x30,0x8,0x30,0x8,0x30,0x0,0x30,0x0,0x30,0x40,0x30,0x40,
-0x3f,0xc0,0x30,0x40,0x30,0x40,0x30,0x0,0x30,0x0,0x30,0x10,0x30,0x10,0x30,0x30,
-0xff,0xf0,0x0,0x0,0x1,0x0,0x6,0x0,0x1c,0x0,0x18,0x0,
-};
-
-static const BitmapCharRec ch200 = {13,22,-1,0,15,ch200data};
-
-/* char: 0xc7 */
-
-static const GLubyte ch199data[] = {
-0x7,0x80,0xc,0xc0,0x0,0xc0,0x3,0xc0,0x3,0x0,0x1,0x0,0x7,0xe0,0x1e,0x38,
-0x38,0x8,0x60,0x4,0x60,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,
-0xc0,0x0,0xc0,0x0,0x60,0x4,0x60,0x4,0x38,0xc,0x1c,0x3c,0x7,0xe4,
-};
-
-static const BitmapCharRec ch199 = {14,23,-1,6,16,ch199data};
-
-/* char: 0xc6 */
-
-static const GLubyte ch198data[] = {
-0xf9,0xff,0xf0,0x30,0x60,0x30,0x10,0x60,0x10,0x10,0x60,0x10,0x18,0x60,0x0,0x8,
-0x60,0x0,0xf,0xe0,0x80,0xc,0x60,0x80,0x4,0x7f,0x80,0x4,0x60,0x80,0x6,0x60,
-0x80,0x2,0x60,0x0,0x2,0x60,0x0,0x1,0x60,0x20,0x1,0x60,0x20,0x1,0xe0,0x60,
-0x3,0xff,0xe0,
-};
-
-static const BitmapCharRec ch198 = {20,17,0,0,21,ch198data};
-
-/* char: 0xc5 */
-
-static const GLubyte ch197data[] = {
-0xfc,0x1f,0x80,0x30,0x6,0x0,0x10,0x6,0x0,0x10,0xc,0x0,0x18,0xc,0x0,0x8,
-0xc,0x0,0xf,0xf8,0x0,0xc,0x18,0x0,0x4,0x18,0x0,0x4,0x30,0x0,0x6,0x30,
-0x0,0x2,0x30,0x0,0x2,0x60,0x0,0x1,0x60,0x0,0x1,0xc0,0x0,0x1,0xc0,0x0,
-0x0,0x80,0x0,0x1,0xc0,0x0,0x2,0x20,0x0,0x2,0x20,0x0,0x1,0xc0,0x0,
-};
-
-static const BitmapCharRec ch197 = {17,21,0,0,17,ch197data};
-
-/* char: 0xc4 */
-
-static const GLubyte ch196data[] = {
-0xfc,0x1f,0x80,0x30,0x6,0x0,0x10,0x6,0x0,0x10,0xc,0x0,0x18,0xc,0x0,0x8,
-0xc,0x0,0xf,0xf8,0x0,0xc,0x18,0x0,0x4,0x18,0x0,0x4,0x30,0x0,0x6,0x30,
-0x0,0x2,0x30,0x0,0x2,0x60,0x0,0x1,0x60,0x0,0x1,0xc0,0x0,0x1,0xc0,0x0,
-0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6,0x30,0x0,0x6,0x30,0x0,
-};
-
-static const BitmapCharRec ch196 = {17,21,0,0,17,ch196data};
-
-/* char: 0xc3 */
-
-static const GLubyte ch195data[] = {
-0xfc,0x1f,0x80,0x30,0x7,0x0,0x10,0x6,0x0,0x10,0xc,0x0,0x18,0xc,0x0,0x8,
-0xc,0x0,0xf,0xf8,0x0,0xc,0x18,0x0,0x4,0x18,0x0,0x4,0x30,0x0,0x6,0x30,
-0x0,0x2,0x30,0x0,0x2,0x60,0x0,0x1,0x60,0x0,0x1,0xc0,0x0,0x1,0xc0,0x0,
-0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0xe0,0x0,0x3,0x90,0x0,
-};
-
-static const BitmapCharRec ch195 = {17,21,0,0,17,ch195data};
-
-/* char: 0xc2 */
-
-static const GLubyte ch194data[] = {
-0xfc,0x1f,0x80,0x30,0x6,0x0,0x10,0x6,0x0,0x10,0xc,0x0,0x18,0xc,0x0,0x8,
-0xc,0x0,0xf,0xf8,0x0,0xc,0x18,0x0,0x4,0x18,0x0,0x4,0x30,0x0,0x6,0x30,
-0x0,0x2,0x30,0x0,0x2,0x60,0x0,0x1,0x60,0x0,0x1,0xc0,0x0,0x1,0xc0,0x0,
-0x0,0x80,0x0,0x0,0x0,0x0,0x8,0x10,0x0,0x6,0x60,0x0,0x3,0xc0,0x0,0x1,
-0x80,0x0,
-};
-
-static const BitmapCharRec ch194 = {17,22,0,0,17,ch194data};
-
-/* char: 0xc1 */
-
-static const GLubyte ch193data[] = {
-0xfc,0x1f,0x80,0x30,0x6,0x0,0x10,0x6,0x0,0x10,0xc,0x0,0x18,0xc,0x0,0x8,
-0xc,0x0,0xf,0xf8,0x0,0xc,0x18,0x0,0x4,0x18,0x0,0x4,0x30,0x0,0x6,0x30,
-0x0,0x2,0x30,0x0,0x2,0x60,0x0,0x1,0x60,0x0,0x1,0xc0,0x0,0x1,0xc0,0x0,
-0x0,0x80,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0xc0,0x0,0x0,0x70,0x0,0x0,
-0x30,0x0,
-};
-
-static const BitmapCharRec ch193 = {17,22,0,0,17,ch193data};
-
-/* char: 0xc0 */
-
-static const GLubyte ch192data[] = {
-0xfc,0x1f,0x80,0x30,0x6,0x0,0x10,0x6,0x0,0x10,0xc,0x0,0x18,0xc,0x0,0x8,
-0xc,0x0,0xf,0xf8,0x0,0xc,0x18,0x0,0x4,0x18,0x0,0x4,0x30,0x0,0x6,0x30,
-0x0,0x2,0x30,0x0,0x2,0x60,0x0,0x1,0x60,0x0,0x1,0xc0,0x0,0x1,0xc0,0x0,
-0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x20,0x0,0x0,0xc0,0x0,0x3,0x80,0x0,0x3,
-0x0,0x0,
-};
-
-static const BitmapCharRec ch192 = {17,22,0,0,17,ch192data};
-
-/* char: 0xbf */
-
-static const GLubyte ch191data[] = {
-0x3e,0x63,0xc1,0xc3,0xc3,0xe0,0x70,0x30,0x38,0x18,0x18,0x8,0x8,0x0,0x0,0xc,
-0xc,
-};
-
-static const BitmapCharRec ch191 = {8,17,-1,5,11,ch191data};
-
-/* char: 0xbe */
-
-static const GLubyte ch190data[] = {
-0x18,0x2,0x0,0x8,0x2,0x0,0xc,0x7f,0x80,0x4,0x22,0x0,0x6,0x32,0x0,0x3,
-0x12,0x0,0x1,0xa,0x0,0x71,0x8e,0x0,0x88,0x86,0x0,0x8c,0xc2,0x0,0xc,0x60,
-0x0,0x8,0x20,0x0,0x30,0x30,0x0,0x8,0x10,0x0,0x8c,0x18,0x0,0x4c,0xc,0x0,
-0x38,0x4,0x0,
-};
-
-static const BitmapCharRec ch190 = {17,17,0,0,18,ch190data};
-
-/* char: 0xbd */
-
-static const GLubyte ch189data[] = {
-0x30,0x7e,0x10,0x22,0x18,0x10,0x8,0x18,0xc,0x8,0x6,0x4,0x2,0x6,0xfb,0x46,
-0x21,0x26,0x21,0x9c,0x20,0xc0,0x20,0x40,0x20,0x60,0x20,0x20,0xa0,0x30,0x60,0x18,
-0x20,0x8,
-};
-
-static const BitmapCharRec ch189 = {15,17,-1,0,18,ch189data};
-
-/* char: 0xbc */
-
-static const GLubyte ch188data[] = {
-0x30,0x4,0x10,0x4,0x18,0xff,0x8,0x44,0xc,0x64,0x6,0x24,0x2,0x14,0xfb,0x1c,
-0x21,0xc,0x21,0x84,0x20,0xc0,0x20,0x40,0x20,0x60,0x20,0x20,0xa0,0x30,0x60,0x18,
-0x20,0x8,
-};
-
-static const BitmapCharRec ch188 = {16,17,-1,0,18,ch188data};
-
-/* char: 0xbb */
-
-static const GLubyte ch187data[] = {
-0x88,0x0,0xcc,0x0,0x66,0x0,0x33,0x0,0x19,0x80,0x19,0x80,0x33,0x0,0x66,0x0,
-0xcc,0x0,0x88,0x0,
-};
-
-static const BitmapCharRec ch187 = {9,10,-2,-1,12,ch187data};
-
-/* char: 0xba */
-
-static const GLubyte ch186data[] = {
-0xfc,0x0,0x78,0xcc,0xcc,0xcc,0xcc,0xcc,0x78,
-};
-
-static const BitmapCharRec ch186 = {6,9,-1,-8,8,ch186data};
-
-/* char: 0xb9 */
-
-static const GLubyte ch185data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0xa0,0x60,0x20,
-};
-
-static const BitmapCharRec ch185 = {5,10,-1,-7,7,ch185data};
-
-/* char: 0xb8 */
-
-static const GLubyte ch184data[] = {
-0x78,0xcc,0xc,0x3c,0x30,0x10,
-};
-
-static const BitmapCharRec ch184 = {6,6,-1,6,8,ch184data};
-
-/* char: 0xb7 */
-
-static const GLubyte ch183data[] = {
-0xc0,0xc0,
-};
-
-static const BitmapCharRec ch183 = {2,2,-2,-6,6,ch183data};
-
-/* char: 0xb6 */
-
-static const GLubyte ch182data[] = {
-0x9,0x0,0x9,0x0,0x9,0x0,0x9,0x0,0x9,0x0,0x9,0x0,0x9,0x0,0x9,0x0,
-0x9,0x0,0x9,0x0,0x9,0x0,0x19,0x0,0x39,0x0,0x79,0x0,0x79,0x0,0xf9,0x0,
-0xf9,0x0,0xf9,0x0,0x79,0x0,0x79,0x0,0x39,0x0,0x1f,0x80,
-};
-
-static const BitmapCharRec ch182 = {9,22,-1,5,11,ch182data};
-
-/* char: 0xb5 */
-
-static const GLubyte ch181data[] = {
-0x40,0x0,0xe0,0x0,0xc0,0x0,0x40,0x0,0x40,0x0,0x5c,0xe0,0x7e,0xc0,0x71,0xc0,
-0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
-0xe1,0xc0,
-};
-
-static const BitmapCharRec ch181 = {11,17,-1,5,13,ch181data};
-
-/* char: 0xb4 */
-
-static const GLubyte ch180data[] = {
-0x80,0x60,0x38,0x18,
-};
-
-static const BitmapCharRec ch180 = {5,4,-2,-13,8,ch180data};
-
-/* char: 0xb3 */
-
-static const GLubyte ch179data[] = {
-0x70,0x88,0x8c,0xc,0x8,0x30,0x8,0x8c,0x4c,0x38,
-};
-
-static const BitmapCharRec ch179 = {6,10,0,-7,7,ch179data};
-
-/* char: 0xb2 */
-
-static const GLubyte ch178data[] = {
-0xfc,0x44,0x20,0x30,0x10,0x8,0xc,0x8c,0x4c,0x38,
-};
-
-static const BitmapCharRec ch178 = {6,10,0,-7,7,ch178data};
-
-/* char: 0xb1 */
-
-static const GLubyte ch177data[] = {
-0xff,0xf0,0xff,0xf0,0x0,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,
-0xff,0xf0,0xff,0xf0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,
-};
-
-static const BitmapCharRec ch177 = {12,15,-1,0,14,ch177data};
-
-/* char: 0xb0 */
-
-static const GLubyte ch176data[] = {
-0x38,0x44,0x82,0x82,0x82,0x44,0x38,
-};
-
-static const BitmapCharRec ch176 = {7,7,-1,-10,9,ch176data};
-
-/* char: 0xaf */
-
-static const GLubyte ch175data[] = {
-0xfc,0xfc,
-};
-
-static const BitmapCharRec ch175 = {6,2,-1,-14,8,ch175data};
-
-/* char: 0xae */
-
-static const GLubyte ch174data[] = {
-0x7,0xf0,0x0,0x1c,0x1c,0x0,0x30,0x6,0x0,0x60,0x3,0x0,0x47,0x19,0x0,0xc2,
-0x31,0x80,0x82,0x20,0x80,0x82,0x40,0x80,0x83,0xe0,0x80,0x82,0x30,0x80,0x82,0x10,
-0x80,0xc2,0x11,0x80,0x42,0x31,0x0,0x67,0xe3,0x0,0x30,0x6,0x0,0x1c,0x1c,0x0,
-0x7,0xf0,0x0,
-};
-
-static const BitmapCharRec ch174 = {17,17,-1,0,19,ch174data};
-
-/* char: 0xad */
-
-static const GLubyte ch173data[] = {
-0xfe,0xfe,
-};
-
-static const BitmapCharRec ch173 = {7,2,-1,-5,9,ch173data};
-
-/* char: 0xac */
-
-static const GLubyte ch172data[] = {
-0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0xff,0xf0,0xff,0xf0,
-};
-
-static const BitmapCharRec ch172 = {12,7,-1,-3,14,ch172data};
-
-/* char: 0xab */
-
-static const GLubyte ch171data[] = {
-0x8,0x80,0x19,0x80,0x33,0x0,0x66,0x0,0xcc,0x0,0xcc,0x0,0x66,0x0,0x33,0x0,
-0x19,0x80,0x8,0x80,
-};
-
-static const BitmapCharRec ch171 = {9,10,-2,-1,13,ch171data};
-
-/* char: 0xaa */
-
-static const GLubyte ch170data[] = {
-0x7e,0x0,0x76,0xcc,0xcc,0x7c,0xc,0xcc,0x78,
-};
-
-static const BitmapCharRec ch170 = {7,9,0,-8,8,ch170data};
-
-/* char: 0xa9 */
-
-static const GLubyte ch169data[] = {
-0x7,0xf0,0x0,0x1c,0x1c,0x0,0x30,0x6,0x0,0x61,0xc3,0x0,0x47,0x71,0x0,0xc4,
-0x19,0x80,0x8c,0x0,0x80,0x88,0x0,0x80,0x88,0x0,0x80,0x88,0x0,0x80,0x8c,0x0,
-0x80,0xc4,0x19,0x80,0x47,0x31,0x0,0x61,0xe3,0x0,0x30,0x6,0x0,0x1c,0x1c,0x0,
-0x7,0xf0,0x0,
-};
-
-static const BitmapCharRec ch169 = {17,17,-1,0,19,ch169data};
-
-/* char: 0xa8 */
-
-static const GLubyte ch168data[] = {
-0xcc,0xcc,
-};
-
-static const BitmapCharRec ch168 = {6,2,-1,-14,8,ch168data};
-
-/* char: 0xa7 */
-
-static const GLubyte ch167data[] = {
-0x38,0x64,0x62,0x6,0xe,0x1c,0x38,0x74,0xe2,0xc3,0x83,0x87,0x4e,0x3c,0x38,0x70,
-0x60,0x46,0x26,0x1c,
-};
-
-static const BitmapCharRec ch167 = {8,20,-2,2,12,ch167data};
-
-/* char: 0xa6 */
-
-static const GLubyte ch166data[] = {
-0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x0,0x0,0x0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc0,
-};
-
-static const BitmapCharRec ch166 = {2,17,-2,0,6,ch166data};
-
-/* char: 0xa5 */
-
-static const GLubyte ch165data[] = {
-0xf,0xc0,0x3,0x0,0x3,0x0,0x3,0x0,0x3,0x0,0x1f,0xe0,0x3,0x0,0x1f,0xe0,
-0x3,0x0,0x7,0x80,0xc,0x80,0xc,0xc0,0x18,0x40,0x18,0x60,0x30,0x20,0x70,0x30,
-0xf8,0x7c,
-};
-
-static const BitmapCharRec ch165 = {14,17,0,0,14,ch165data};
-
-/* char: 0xa4 */
-
-static const GLubyte ch164data[] = {
-0xc0,0x60,0xee,0xe0,0x7f,0xc0,0x31,0x80,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
-0x31,0x80,0x7f,0xc0,0xee,0xe0,0xc0,0x60,
-};
-
-static const BitmapCharRec ch164 = {11,12,-1,-3,13,ch164data};
-
-/* char: 0xa3 */
-
-static const GLubyte ch163data[] = {
-0xe7,0x80,0xbe,0xc0,0x78,0x40,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,
-0x30,0x0,0xfc,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x31,0x80,0x19,0x80,
-0xf,0x0,
-};
-
-static const BitmapCharRec ch163 = {10,17,-1,0,12,ch163data};
-
-/* char: 0xa2 */
-
-static const GLubyte ch162data[] = {
-0x40,0x0,0x40,0x0,0x3e,0x0,0x7f,0x0,0x70,0x80,0xd0,0x0,0xc8,0x0,0xc8,0x0,
-0xc8,0x0,0xc4,0x0,0xc4,0x0,0x43,0x80,0x63,0x80,0x1f,0x0,0x1,0x0,0x1,0x0,
-};
-
-static const BitmapCharRec ch162 = {9,16,-1,2,12,ch162data};
-
-/* char: 0xa1 */
-
-static const GLubyte ch161data[] = {
-0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x0,0x0,0x0,0xc0,
-0xc0,
-};
-
-static const BitmapCharRec ch161 = {2,17,-4,5,8,ch161data};
-
-/* char: 0xa0 */
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch160data[] = { 0x0 };
-static const BitmapCharRec ch160 = {1,1,0,0,6,ch160data};
-#else
-static const BitmapCharRec ch160 = {0,0,0,0,6,0};
-#endif
-
-/* char: 0x7e '~' */
-
-static const GLubyte ch126data[] = {
-0x83,0x80,0xc7,0xc0,0x7c,0x60,0x38,0x20,
-};
-
-static const BitmapCharRec ch126 = {11,4,-1,-5,13,ch126data};
-
-/* char: 0x7d '}' */
-
-static const GLubyte ch125data[] = {
-0xe0,0x30,0x18,0x18,0x18,0x18,0x18,0x18,0x8,0xc,0x4,0x3,0x4,0xc,0x8,0x18,
-0x18,0x18,0x18,0x18,0x30,0xe0,
-};
-
-static const BitmapCharRec ch125 = {8,22,-1,5,10,ch125data};
-
-/* char: 0x7c '|' */
-
-static const GLubyte ch124data[] = {
-0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc0,
-};
-
-static const BitmapCharRec ch124 = {2,17,-2,0,6,ch124data};
-
-/* char: 0x7b '{' */
-
-static const GLubyte ch123data[] = {
-0x7,0xc,0x18,0x18,0x18,0x18,0x18,0x18,0x10,0x30,0x20,0xc0,0x20,0x30,0x10,0x18,
-0x18,0x18,0x18,0x18,0xc,0x7,
-};
-
-static const BitmapCharRec ch123 = {8,22,-1,5,10,ch123data};
-
-/* char: 0x7a 'z' */
-
-static const GLubyte ch122data[] = {
-0xff,0xc3,0x61,0x70,0x30,0x38,0x18,0x1c,0xe,0x86,0xc3,0xff,
-};
-
-static const BitmapCharRec ch122 = {8,12,-1,0,10,ch122data};
-
-/* char: 0x79 'y' */
-
-static const GLubyte ch121data[] = {
-0xe0,0x0,0xf0,0x0,0x18,0x0,0x8,0x0,0xc,0x0,0x4,0x0,0xe,0x0,0xe,0x0,
-0x1a,0x0,0x19,0x0,0x19,0x0,0x31,0x0,0x30,0x80,0x30,0x80,0x60,0x80,0x60,0xc0,
-0xf1,0xe0,
-};
-
-static const BitmapCharRec ch121 = {11,17,0,5,11,ch121data};
-
-/* char: 0x78 'x' */
-
-static const GLubyte ch120data[] = {
-0xf1,0xe0,0x60,0xc0,0x21,0x80,0x33,0x80,0x1b,0x0,0xe,0x0,0xc,0x0,0x1a,0x0,
-0x39,0x0,0x31,0x80,0x60,0xc0,0xf1,0xe0,
-};
-
-static const BitmapCharRec ch120 = {11,12,-1,0,13,ch120data};
-
-/* char: 0x77 'w' */
-
-static const GLubyte ch119data[] = {
-0x4,0x10,0x0,0xe,0x38,0x0,0xe,0x38,0x0,0x1a,0x28,0x0,0x1a,0x64,0x0,0x19,
-0x64,0x0,0x31,0x64,0x0,0x30,0xc2,0x0,0x30,0xc2,0x0,0x60,0xc2,0x0,0x60,0xc3,
-0x0,0xf1,0xe7,0x80,
-};
-
-static const BitmapCharRec ch119 = {17,12,0,0,17,ch119data};
-
-/* char: 0x76 'v' */
-
-static const GLubyte ch118data[] = {
-0x4,0x0,0xe,0x0,0xe,0x0,0x1a,0x0,0x19,0x0,0x19,0x0,0x31,0x0,0x30,0x80,
-0x30,0x80,0x60,0x80,0x60,0xc0,0xf1,0xe0,
-};
-
-static const BitmapCharRec ch118 = {11,12,0,0,11,ch118data};
-
-/* char: 0x75 'u' */
-
-static const GLubyte ch117data[] = {
-0x1c,0xe0,0x3e,0xc0,0x71,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
-0x60,0xc0,0x60,0xc0,0x60,0xc0,0xe1,0xc0,
-};
-
-static const BitmapCharRec ch117 = {11,12,-1,0,13,ch117data};
-
-/* char: 0x74 't' */
-
-static const GLubyte ch116data[] = {
-0x1c,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0xfe,0x70,0x30,0x10,
-};
-
-static const BitmapCharRec ch116 = {7,15,0,0,7,ch116data};
-
-/* char: 0x73 's' */
-
-static const GLubyte ch115data[] = {
-0xf8,0xc6,0x83,0x3,0x7,0x1e,0x7c,0x70,0xe0,0xc2,0x66,0x3e,
-};
-
-static const BitmapCharRec ch115 = {8,12,-1,0,10,ch115data};
-
-/* char: 0x72 'r' */
-
-static const GLubyte ch114data[] = {
-0xf0,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x76,0x6e,0xe6,
-};
-
-static const BitmapCharRec ch114 = {7,12,-1,0,8,ch114data};
-
-/* char: 0x71 'q' */
-
-static const GLubyte ch113data[] = {
-0x3,0xc0,0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x1d,0x80,0x73,0x80,0x61,0x80,
-0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x61,0x80,0x73,0x80,
-0x1d,0x80,
-};
-
-static const BitmapCharRec ch113 = {10,17,-1,5,12,ch113data};
-
-/* char: 0x70 'p' */
-
-static const GLubyte ch112data[] = {
-0xf0,0x0,0x60,0x0,0x60,0x0,0x60,0x0,0x60,0x0,0x6e,0x0,0x73,0x80,0x61,0x80,
-0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x61,0x80,0x73,0x80,
-0xee,0x0,
-};
-
-static const BitmapCharRec ch112 = {10,17,-1,5,12,ch112data};
-
-/* char: 0x6f 'o' */
-
-static const GLubyte ch111data[] = {
-0x1e,0x0,0x73,0x80,0x61,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc0,0xc0,0x61,0x80,0x73,0x80,0x1e,0x0,
-};
-
-static const BitmapCharRec ch111 = {10,12,-1,0,12,ch111data};
-
-/* char: 0x6e 'n' */
-
-static const GLubyte ch110data[] = {
-0xf1,0xe0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
-0x60,0xc0,0x71,0xc0,0x6f,0x80,0xe7,0x0,
-};
-
-static const BitmapCharRec ch110 = {11,12,-1,0,13,ch110data};
-
-/* char: 0x6d 'm' */
-
-static const GLubyte ch109data[] = {
-0xf1,0xe3,0xc0,0x60,0xc1,0x80,0x60,0xc1,0x80,0x60,0xc1,0x80,0x60,0xc1,0x80,0x60,
-0xc1,0x80,0x60,0xc1,0x80,0x60,0xc1,0x80,0x60,0xc1,0x80,0x71,0xe3,0x80,0x6f,0x9f,
-0x0,0xe7,0xe,0x0,
-};
-
-static const BitmapCharRec ch109 = {18,12,-1,0,20,ch109data};
-
-/* char: 0x6c 'l' */
-
-static const GLubyte ch108data[] = {
-0xf0,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,
-0xe0,
-};
-
-static const BitmapCharRec ch108 = {4,17,-1,0,6,ch108data};
-
-/* char: 0x6b 'k' */
-
-static const GLubyte ch107data[] = {
-0xf3,0xe0,0x61,0xc0,0x63,0x80,0x67,0x0,0x6e,0x0,0x6c,0x0,0x78,0x0,0x68,0x0,
-0x64,0x0,0x66,0x0,0x63,0x0,0x67,0xc0,0x60,0x0,0x60,0x0,0x60,0x0,0x60,0x0,
-0xe0,0x0,
-};
-
-static const BitmapCharRec ch107 = {11,17,-1,0,12,ch107data};
-
-/* char: 0x6a 'j' */
-
-static const GLubyte ch106data[] = {
-0xc0,0xe0,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-0x70,0x0,0x0,0x0,0x30,0x30,
-};
-
-static const BitmapCharRec ch106 = {4,22,0,5,6,ch106data};
-
-/* char: 0x69 'i' */
-
-static const GLubyte ch105data[] = {
-0xf0,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0xe0,0x0,0x0,0x0,0x60,
-0x60,
-};
-
-static const BitmapCharRec ch105 = {4,17,-1,0,6,ch105data};
-
-/* char: 0x68 'h' */
-
-static const GLubyte ch104data[] = {
-0xf1,0xe0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
-0x60,0xc0,0x71,0xc0,0x6f,0x80,0x67,0x0,0x60,0x0,0x60,0x0,0x60,0x0,0x60,0x0,
-0xe0,0x0,
-};
-
-static const BitmapCharRec ch104 = {11,17,-1,0,13,ch104data};
-
-/* char: 0x67 'g' */
-
-static const GLubyte ch103data[] = {
-0x3f,0x0,0xf1,0xc0,0xc0,0x60,0xc0,0x20,0x60,0x60,0x3f,0xc0,0x7f,0x0,0x60,0x0,
-0x30,0x0,0x3e,0x0,0x33,0x0,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x33,0x0,
-0x1f,0xc0,
-};
-
-static const BitmapCharRec ch103 = {11,17,-1,5,12,ch103data};
-
-/* char: 0x66 'f' */
-
-static const GLubyte ch102data[] = {
-0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0xfe,0x30,0x30,0x30,0x16,
-0xe,
-};
-
-static const BitmapCharRec ch102 = {7,17,0,0,7,ch102data};
-
-/* char: 0x65 'e' */
-
-static const GLubyte ch101data[] = {
-0x1e,0x0,0x7f,0x0,0x70,0x80,0xe0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,
-0xc1,0x80,0x41,0x80,0x63,0x0,0x1e,0x0,
-};
-
-static const BitmapCharRec ch101 = {9,12,-1,0,11,ch101data};
-
-/* char: 0x64 'd' */
-
-static const GLubyte ch100data[] = {
-0x1e,0xc0,0x73,0x80,0x61,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,
-0xc1,0x80,0x61,0x80,0x73,0x80,0x1d,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,
-0x3,0x80,
-};
-
-static const BitmapCharRec ch100 = {10,17,-1,0,12,ch100data};
-
-/* char: 0x63 'c' */
-
-static const GLubyte ch99data[] = {
-0x1e,0x0,0x7f,0x0,0x70,0x80,0xe0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,
-0xc0,0x0,0x41,0x80,0x63,0x80,0x1f,0x0,
-};
-
-static const BitmapCharRec ch99 = {9,12,-1,0,11,ch99data};
-
-/* char: 0x62 'b' */
-
-static const GLubyte ch98data[] = {
-0x5e,0x0,0x73,0x80,0x61,0x80,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
-0x60,0xc0,0x61,0x80,0x73,0x80,0x6e,0x0,0x60,0x0,0x60,0x0,0x60,0x0,0x60,0x0,
-0xe0,0x0,
-};
-
-static const BitmapCharRec ch98 = {10,17,-1,0,12,ch98data};
-
-/* char: 0x61 'a' */
-
-static const GLubyte ch97data[] = {
-0x71,0x80,0xfb,0x0,0xc7,0x0,0xc3,0x0,0xc3,0x0,0x63,0x0,0x3b,0x0,0xf,0x0,
-0x3,0x0,0x63,0x0,0x67,0x0,0x3e,0x0,
-};
-
-static const BitmapCharRec ch97 = {9,12,-1,0,11,ch97data};
-
-/* char: 0x60 '`' */
-
-static const GLubyte ch96data[] = {
-0x60,0xe0,0x80,0xc0,0x60,
-};
-
-static const BitmapCharRec ch96 = {3,5,-2,-12,7,ch96data};
-
-/* char: 0x5f '_' */
-
-static const GLubyte ch95data[] = {
-0xff,0xf8,0xff,0xf8,
-};
-
-static const BitmapCharRec ch95 = {13,2,0,5,13,ch95data};
-
-/* char: 0x5e '^' */
-
-static const GLubyte ch94data[] = {
-0x80,0x80,0xc1,0x80,0x41,0x0,0x63,0x0,0x22,0x0,0x36,0x0,0x14,0x0,0x1c,0x0,
-0x8,0x0,
-};
-
-static const BitmapCharRec ch94 = {9,9,-1,-8,11,ch94data};
-
-/* char: 0x5d ']' */
-
-static const GLubyte ch93data[] = {
-0xf8,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
-0x18,0x18,0x18,0x18,0xf8,
-};
-
-static const BitmapCharRec ch93 = {5,21,-1,4,8,ch93data};
-
-/* char: 0x5c '\' */
-
-static const GLubyte ch92data[] = {
-0x6,0x6,0x4,0xc,0xc,0x8,0x18,0x18,0x10,0x30,0x30,0x20,0x60,0x60,0x40,0xc0,
-0xc0,
-};
-
-static const BitmapCharRec ch92 = {7,17,0,0,7,ch92data};
-
-/* char: 0x5b '[' */
-
-static const GLubyte ch91data[] = {
-0xf8,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc0,0xc0,0xc0,0xc0,0xf8,
-};
-
-static const BitmapCharRec ch91 = {5,21,-2,4,8,ch91data};
-
-/* char: 0x5a 'Z' */
-
-static const GLubyte ch90data[] = {
-0xff,0xf8,0xe0,0x18,0x70,0x8,0x30,0x8,0x38,0x0,0x18,0x0,0x1c,0x0,0xe,0x0,
-0x6,0x0,0x7,0x0,0x3,0x0,0x3,0x80,0x1,0xc0,0x80,0xc0,0x80,0xe0,0xc0,0x70,
-0xff,0xf0,
-};
-
-static const BitmapCharRec ch90 = {13,17,-1,0,15,ch90data};
-
-/* char: 0x59 'Y' */
-
-static const GLubyte ch89data[] = {
-0x7,0xe0,0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x3,0xc0,
-0x3,0x40,0x6,0x60,0x6,0x20,0xc,0x30,0x1c,0x10,0x18,0x18,0x38,0x8,0x30,0xc,
-0xfc,0x3f,
-};
-
-static const BitmapCharRec ch89 = {16,17,0,0,16,ch89data};
-
-/* char: 0x58 'X' */
-
-static const GLubyte ch88data[] = {
-0xfc,0xf,0xc0,0x30,0x3,0x80,0x18,0x7,0x0,0x8,0xe,0x0,0x4,0xc,0x0,0x6,
-0x18,0x0,0x2,0x38,0x0,0x1,0x70,0x0,0x0,0xe0,0x0,0x0,0xc0,0x0,0x1,0xc0,
-0x0,0x3,0xa0,0x0,0x3,0x10,0x0,0x6,0x8,0x0,0xe,0xc,0x0,0x1c,0x6,0x0,
-0x7e,0xf,0x80,
-};
-
-static const BitmapCharRec ch88 = {18,17,0,0,18,ch88data};
-
-/* char: 0x57 'W' */
-
-static const GLubyte ch87data[] = {
-0x1,0x83,0x0,0x1,0x83,0x0,0x1,0x83,0x80,0x3,0x87,0x80,0x3,0x46,0x80,0x3,
-0x46,0xc0,0x6,0x46,0x40,0x6,0x4c,0x40,0x6,0x4c,0x60,0xc,0x2c,0x60,0xc,0x2c,
-0x20,0x18,0x2c,0x20,0x18,0x18,0x30,0x18,0x18,0x10,0x30,0x18,0x10,0x30,0x18,0x18,
-0xfc,0x7e,0x7e,
-};
-
-static const BitmapCharRec ch87 = {23,17,0,0,23,ch87data};
-
-/* char: 0x56 'V' */
-
-static const GLubyte ch86data[] = {
-0x1,0x80,0x0,0x1,0x80,0x0,0x1,0x80,0x0,0x3,0xc0,0x0,0x3,0x40,0x0,0x3,
-0x60,0x0,0x6,0x20,0x0,0x6,0x20,0x0,0x6,0x30,0x0,0xc,0x10,0x0,0xc,0x18,
-0x0,0x18,0x8,0x0,0x18,0x8,0x0,0x18,0xc,0x0,0x30,0x4,0x0,0x30,0x6,0x0,
-0xfc,0x1f,0x80,
-};
-
-static const BitmapCharRec ch86 = {17,17,0,0,17,ch86data};
-
-/* char: 0x55 'U' */
-
-static const GLubyte ch85data[] = {
-0x7,0xe0,0x1c,0x30,0x18,0x8,0x30,0x8,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
-0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
-0xfc,0x1f,
-};
-
-static const BitmapCharRec ch85 = {16,17,-1,0,18,ch85data};
-
-/* char: 0x54 'T' */
-
-static const GLubyte ch84data[] = {
-0xf,0xc0,0x3,0x0,0x3,0x0,0x3,0x0,0x3,0x0,0x3,0x0,0x3,0x0,0x3,0x0,
-0x3,0x0,0x3,0x0,0x3,0x0,0x3,0x0,0x3,0x0,0x83,0x4,0x83,0x4,0xc3,0xc,
-0xff,0xfc,
-};
-
-static const BitmapCharRec ch84 = {14,17,-1,0,16,ch84data};
-
-/* char: 0x53 'S' */
-
-static const GLubyte ch83data[] = {
-0x9e,0x0,0xf1,0x80,0xc0,0xc0,0x80,0x60,0x80,0x60,0x0,0x60,0x0,0xe0,0x3,0xc0,
-0xf,0x80,0x1e,0x0,0x78,0x0,0xe0,0x0,0xc0,0x40,0xc0,0x40,0xc0,0xc0,0x63,0xc0,
-0x1e,0x40,
-};
-
-static const BitmapCharRec ch83 = {11,17,-1,0,13,ch83data};
-
-/* char: 0x52 'R' */
-
-static const GLubyte ch82data[] = {
-0xfc,0x1e,0x30,0x1c,0x30,0x38,0x30,0x70,0x30,0x60,0x30,0xc0,0x31,0xc0,0x33,0x80,
-0x3f,0xc0,0x30,0x70,0x30,0x30,0x30,0x38,0x30,0x18,0x30,0x38,0x30,0x30,0x30,0x70,
-0xff,0xc0,
-};
-
-static const BitmapCharRec ch82 = {15,17,-1,0,16,ch82data};
-
-/* char: 0x51 'Q' */
-
-static const GLubyte ch81data[] = {
-0x0,0xf,0x0,0x38,0x0,0x70,0x0,0xe0,0x1,0xc0,0x7,0xe0,0x1c,0x38,0x38,0x1c,
-0x60,0x6,0x60,0x6,0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,
-0xc0,0x3,0x60,0x6,0x60,0x6,0x38,0x1c,0x1c,0x38,0x7,0xe0,
-};
-
-static const BitmapCharRec ch81 = {16,22,-1,5,18,ch81data};
-
-/* char: 0x50 'P' */
-
-static const GLubyte ch80data[] = {
-0xfc,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,
-0x3f,0xc0,0x30,0x70,0x30,0x30,0x30,0x18,0x30,0x18,0x30,0x18,0x30,0x30,0x30,0x70,
-0xff,0xc0,
-};
-
-static const BitmapCharRec ch80 = {13,17,-1,0,15,ch80data};
-
-/* char: 0x4f 'O' */
-
-static const GLubyte ch79data[] = {
-0x7,0xe0,0x1c,0x38,0x38,0x1c,0x60,0x6,0x60,0x6,0xc0,0x3,0xc0,0x3,0xc0,0x3,
-0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,0x60,0x6,0x60,0x6,0x38,0x1c,0x1c,0x38,
-0x7,0xe0,
-};
-
-static const BitmapCharRec ch79 = {16,17,-1,0,18,ch79data};
-
-/* char: 0x4e 'N' */
-
-static const GLubyte ch78data[] = {
-0xf8,0xc,0x20,0x1c,0x20,0x1c,0x20,0x34,0x20,0x64,0x20,0x64,0x20,0xc4,0x21,0x84,
-0x21,0x84,0x23,0x4,0x26,0x4,0x26,0x4,0x2c,0x4,0x38,0x4,0x38,0x4,0x30,0x4,
-0xf0,0x1f,
-};
-
-static const BitmapCharRec ch78 = {16,17,-1,0,18,ch78data};
-
-/* char: 0x4d 'M' */
-
-static const GLubyte ch77data[] = {
-0xf8,0x21,0xf8,0x20,0x60,0x60,0x20,0x60,0x60,0x20,0xd0,0x60,0x20,0xd0,0x60,0x21,
-0x88,0x60,0x21,0x88,0x60,0x23,0x8,0x60,0x23,0x4,0x60,0x26,0x4,0x60,0x26,0x2,
-0x60,0x2c,0x2,0x60,0x2c,0x2,0x60,0x38,0x1,0x60,0x38,0x1,0x60,0x30,0x0,0xe0,
-0xf0,0x0,0xf8,
-};
-
-static const BitmapCharRec ch77 = {21,17,-1,0,22,ch77data};
-
-/* char: 0x4c 'L' */
-
-static const GLubyte ch76data[] = {
-0xff,0xf8,0x30,0x18,0x30,0x8,0x30,0x8,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,
-0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,
-0xfc,0x0,
-};
-
-static const BitmapCharRec ch76 = {13,17,-1,0,14,ch76data};
-
-/* char: 0x4b 'K' */
-
-static const GLubyte ch75data[] = {
-0xfc,0x1f,0x30,0xe,0x30,0x1c,0x30,0x38,0x30,0x70,0x30,0xe0,0x31,0xc0,0x33,0x80,
-0x3f,0x0,0x3e,0x0,0x33,0x0,0x31,0x80,0x30,0xc0,0x30,0x60,0x30,0x30,0x30,0x18,
-0xfc,0x7e,
-};
-
-static const BitmapCharRec ch75 = {16,17,-1,0,17,ch75data};
-
-/* char: 0x4a 'J' */
-
-static const GLubyte ch74data[] = {
-0x78,0x0,0xcc,0x0,0xc6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,
-0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,
-0x1f,0x80,
-};
-
-static const BitmapCharRec ch74 = {9,17,-1,0,11,ch74data};
-
-/* char: 0x49 'I' */
-
-static const GLubyte ch73data[] = {
-0xfc,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-0xfc,
-};
-
-static const BitmapCharRec ch73 = {6,17,-1,0,8,ch73data};
-
-/* char: 0x48 'H' */
-
-static const GLubyte ch72data[] = {
-0xfc,0x1f,0x80,0x30,0x6,0x0,0x30,0x6,0x0,0x30,0x6,0x0,0x30,0x6,0x0,0x30,
-0x6,0x0,0x30,0x6,0x0,0x30,0x6,0x0,0x3f,0xfe,0x0,0x30,0x6,0x0,0x30,0x6,
-0x0,0x30,0x6,0x0,0x30,0x6,0x0,0x30,0x6,0x0,0x30,0x6,0x0,0x30,0x6,0x0,
-0xfc,0x1f,0x80,
-};
-
-static const BitmapCharRec ch72 = {17,17,-1,0,19,ch72data};
-
-/* char: 0x47 'G' */
-
-static const GLubyte ch71data[] = {
-0x7,0xe0,0x1e,0x38,0x38,0x1c,0x60,0xc,0x60,0xc,0xc0,0xc,0xc0,0xc,0xc0,0x3f,
-0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0x60,0x4,0x60,0x4,0x38,0xc,0x1c,0x3c,
-0x7,0xe4,
-};
-
-static const BitmapCharRec ch71 = {16,17,-1,0,18,ch71data};
-
-/* char: 0x46 'F' */
-
-static const GLubyte ch70data[] = {
-0xfc,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x20,0x30,0x20,
-0x3f,0xe0,0x30,0x20,0x30,0x20,0x30,0x0,0x30,0x0,0x30,0x10,0x30,0x10,0x30,0x30,
-0xff,0xf0,
-};
-
-static const BitmapCharRec ch70 = {12,17,-1,0,14,ch70data};
-
-/* char: 0x45 'E' */
-
-static const GLubyte ch69data[] = {
-0xff,0xf8,0x30,0x18,0x30,0x8,0x30,0x8,0x30,0x0,0x30,0x0,0x30,0x40,0x30,0x40,
-0x3f,0xc0,0x30,0x40,0x30,0x40,0x30,0x0,0x30,0x0,0x30,0x10,0x30,0x10,0x30,0x30,
-0xff,0xf0,
-};
-
-static const BitmapCharRec ch69 = {13,17,-1,0,15,ch69data};
-
-/* char: 0x44 'D' */
-
-static const GLubyte ch68data[] = {
-0xff,0xc0,0x30,0x70,0x30,0x38,0x30,0xc,0x30,0xc,0x30,0x6,0x30,0x6,0x30,0x6,
-0x30,0x6,0x30,0x6,0x30,0x6,0x30,0x6,0x30,0xc,0x30,0xc,0x30,0x38,0x30,0x70,
-0xff,0xc0,
-};
-
-static const BitmapCharRec ch68 = {15,17,-1,0,17,ch68data};
-
-/* char: 0x43 'C' */
-
-static const GLubyte ch67data[] = {
-0x7,0xe0,0x1e,0x38,0x38,0x8,0x60,0x4,0x60,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,
-0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0x60,0x4,0x60,0x4,0x38,0xc,0x1c,0x3c,
-0x7,0xe4,
-};
-
-static const BitmapCharRec ch67 = {14,17,-1,0,16,ch67data};
-
-/* char: 0x42 'B' */
-
-static const GLubyte ch66data[] = {
-0xff,0xe0,0x30,0x78,0x30,0x18,0x30,0xc,0x30,0xc,0x30,0xc,0x30,0x18,0x30,0x38,
-0x3f,0xe0,0x30,0x40,0x30,0x30,0x30,0x18,0x30,0x18,0x30,0x18,0x30,0x30,0x30,0x70,
-0xff,0xc0,
-};
-
-static const BitmapCharRec ch66 = {14,17,-1,0,16,ch66data};
-
-/* char: 0x41 'A' */
-
-static const GLubyte ch65data[] = {
-0xfc,0x1f,0x80,0x30,0x6,0x0,0x10,0x6,0x0,0x10,0xc,0x0,0x18,0xc,0x0,0x8,
-0xc,0x0,0xf,0xf8,0x0,0xc,0x18,0x0,0x4,0x18,0x0,0x4,0x30,0x0,0x6,0x30,
-0x0,0x2,0x30,0x0,0x2,0x60,0x0,0x1,0x60,0x0,0x1,0xc0,0x0,0x1,0xc0,0x0,
-0x0,0x80,0x0,
-};
-
-static const BitmapCharRec ch65 = {17,17,0,0,17,ch65data};
-
-/* char: 0x40 '@' */
-
-static const GLubyte ch64data[] = {
-0x3,0xf0,0x0,0xe,0xc,0x0,0x18,0x0,0x0,0x30,0x0,0x0,0x61,0xde,0x0,0x63,
-0x7b,0x0,0xc6,0x39,0x80,0xc6,0x18,0x80,0xc6,0x18,0xc0,0xc6,0x18,0x40,0xc6,0xc,
-0x40,0xc3,0xc,0x40,0xc3,0x8c,0x40,0xe1,0xfc,0x40,0x60,0xec,0xc0,0x70,0x0,0x80,
-0x38,0x1,0x80,0x1c,0x3,0x0,0xf,0xe,0x0,0x3,0xf8,0x0,
-};
-
-static const BitmapCharRec ch64 = {18,20,-2,3,22,ch64data};
-
-/* char: 0x3f '?' */
-
-static const GLubyte ch63data[] = {
-0x30,0x30,0x0,0x0,0x10,0x10,0x10,0x18,0x18,0xc,0xe,0x7,0xc3,0xc3,0x83,0xc6,
-0x7c,
-};
-
-static const BitmapCharRec ch63 = {8,17,-2,0,11,ch63data};
-
-/* char: 0x3e '>' */
-
-static const GLubyte ch62data[] = {
-0xc0,0x0,0x70,0x0,0x1c,0x0,0x7,0x0,0x1,0xc0,0x0,0x60,0x1,0xc0,0x7,0x0,
-0x1c,0x0,0x70,0x0,0xc0,0x0,
-};
-
-static const BitmapCharRec ch62 = {11,11,-1,-1,13,ch62data};
-
-/* char: 0x3d '=' */
-
-static const GLubyte ch61data[] = {
-0xff,0xf0,0xff,0xf0,0x0,0x0,0x0,0x0,0xff,0xf0,0xff,0xf0,
-};
-
-static const BitmapCharRec ch61 = {12,6,-1,-4,14,ch61data};
-
-/* char: 0x3c '<' */
-
-static const GLubyte ch60data[] = {
-0x0,0x60,0x1,0xc0,0x7,0x0,0x1c,0x0,0x70,0x0,0xc0,0x0,0x70,0x0,0x1c,0x0,
-0x7,0x0,0x1,0xc0,0x0,0x60,
-};
-
-static const BitmapCharRec ch60 = {11,11,-1,-1,13,ch60data};
-
-/* char: 0x3b ';' */
-
-static const GLubyte ch59data[] = {
-0xc0,0x60,0x20,0xe0,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch59 = {3,14,-2,3,7,ch59data};
-
-/* char: 0x3a ':' */
-
-static const GLubyte ch58data[] = {
-0xc0,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch58 = {2,11,-2,0,6,ch58data};
-
-/* char: 0x39 '9' */
-
-static const GLubyte ch57data[] = {
-0xf0,0x0,0x1c,0x0,0x6,0x0,0x3,0x0,0x3,0x80,0x1,0x80,0x1d,0x80,0x73,0xc0,
-0x61,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc1,0xc0,0x61,0x80,0x77,0x80,
-0x1e,0x0,
-};
-
-static const BitmapCharRec ch57 = {10,17,-1,0,12,ch57data};
-
-/* char: 0x38 '8' */
-
-static const GLubyte ch56data[] = {
-0x1e,0x0,0x73,0x80,0xe1,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x41,0xc0,0x61,0x80,
-0x37,0x0,0x1e,0x0,0x1e,0x0,0x33,0x0,0x61,0x80,0x61,0x80,0x61,0x80,0x33,0x0,
-0x1e,0x0,
-};
-
-static const BitmapCharRec ch56 = {10,17,-1,0,12,ch56data};
-
-/* char: 0x37 '7' */
-
-static const GLubyte ch55data[] = {
-0x18,0x0,0x18,0x0,0xc,0x0,0xc,0x0,0xc,0x0,0x4,0x0,0x6,0x0,0x6,0x0,
-0x2,0x0,0x3,0x0,0x3,0x0,0x1,0x0,0x1,0x80,0x81,0x80,0xc0,0xc0,0xff,0xc0,
-0x7f,0xc0,
-};
-
-static const BitmapCharRec ch55 = {10,17,-1,0,12,ch55data};
-
-/* char: 0x36 '6' */
-
-static const GLubyte ch54data[] = {
-0x1e,0x0,0x7b,0x80,0x61,0x80,0xe0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc1,0x80,0xf3,0x80,0xee,0x0,0x60,0x0,0x70,0x0,0x30,0x0,0x18,0x0,0xe,0x0,
-0x3,0xc0,
-};
-
-static const BitmapCharRec ch54 = {10,17,-1,0,12,ch54data};
-
-/* char: 0x35 '5' */
-
-static const GLubyte ch53data[] = {
-0x7e,0x0,0xe3,0x80,0xc1,0x80,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x1,0xc0,
-0x3,0x80,0xf,0x80,0x7e,0x0,0x78,0x0,0x60,0x0,0x20,0x0,0x20,0x0,0x1f,0x80,
-0x1f,0xc0,
-};
-
-static const BitmapCharRec ch53 = {10,17,-1,0,12,ch53data};
-
-/* char: 0x34 '4' */
-
-static const GLubyte ch52data[] = {
-0x3,0x0,0x3,0x0,0x3,0x0,0x3,0x0,0xff,0xc0,0xff,0xc0,0xc3,0x0,0x43,0x0,
-0x63,0x0,0x23,0x0,0x33,0x0,0x13,0x0,0x1b,0x0,0xb,0x0,0x7,0x0,0x7,0x0,
-0x3,0x0,
-};
-
-static const BitmapCharRec ch52 = {10,17,-1,0,12,ch52data};
-
-/* char: 0x33 '3' */
-
-static const GLubyte ch51data[] = {
-0x78,0x0,0xe6,0x0,0xc3,0x0,0x1,0x0,0x1,0x80,0x1,0x80,0x1,0x80,0x3,0x80,
-0x7,0x0,0x1e,0x0,0xc,0x0,0x6,0x0,0x83,0x0,0x83,0x0,0x47,0x0,0x7e,0x0,
-0x1c,0x0,
-};
-
-static const BitmapCharRec ch51 = {9,17,-1,0,12,ch51data};
-
-/* char: 0x32 '2' */
-
-static const GLubyte ch50data[] = {
-0xff,0x80,0xff,0xc0,0x60,0x40,0x30,0x0,0x18,0x0,0xc,0x0,0x4,0x0,0x6,0x0,
-0x3,0x0,0x3,0x0,0x1,0x80,0x1,0x80,0x81,0x80,0x81,0x80,0x43,0x80,0x7f,0x0,
-0x1c,0x0,
-};
-
-static const BitmapCharRec ch50 = {10,17,-1,0,12,ch50data};
-
-/* char: 0x31 '1' */
-
-static const GLubyte ch49data[] = {
-0xff,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x78,0x18,
-0x8,
-};
-
-static const BitmapCharRec ch49 = {8,17,-2,0,12,ch49data};
-
-/* char: 0x30 '0' */
-
-static const GLubyte ch48data[] = {
-0x1e,0x0,0x33,0x0,0x61,0x80,0x61,0x80,0xe1,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x61,0x80,0x61,0x80,0x33,0x0,
-0x1e,0x0,
-};
-
-static const BitmapCharRec ch48 = {10,17,-1,0,12,ch48data};
-
-/* char: 0x2f '/' */
-
-static const GLubyte ch47data[] = {
-0xc0,0xc0,0xc0,0x60,0x60,0x20,0x30,0x30,0x10,0x18,0x18,0x8,0xc,0xc,0x4,0x6,
-0x6,0x3,0x3,0x3,
-};
-
-static const BitmapCharRec ch47 = {8,20,1,3,7,ch47data};
-
-/* char: 0x2e '.' */
-
-static const GLubyte ch46data[] = {
-0xc0,0xc0,
-};
-
-static const BitmapCharRec ch46 = {2,2,-2,0,6,ch46data};
-
-/* char: 0x2d '-' */
-
-static const GLubyte ch45data[] = {
-0xff,0xf0,0xff,0xf0,
-};
-
-static const BitmapCharRec ch45 = {12,2,-1,-6,14,ch45data};
-
-/* char: 0x2c ',' */
-
-static const GLubyte ch44data[] = {
-0xc0,0x60,0x20,0xe0,0xc0,
-};
-
-static const BitmapCharRec ch44 = {3,5,-2,3,7,ch44data};
-
-/* char: 0x2b '+' */
-
-static const GLubyte ch43data[] = {
-0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0xff,0xf0,0xff,0xf0,0x6,0x0,
-0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,
-};
-
-static const BitmapCharRec ch43 = {12,12,-1,-1,14,ch43data};
-
-/* char: 0x2a '*' */
-
-static const GLubyte ch42data[] = {
-0x8,0x0,0x1c,0x0,0xc9,0x80,0xeb,0x80,0x1c,0x0,0xeb,0x80,0xc9,0x80,0x1c,0x0,
-0x8,0x0,
-};
-
-static const BitmapCharRec ch42 = {9,9,-2,-8,12,ch42data};
-
-/* char: 0x29 ')' */
-
-static const GLubyte ch41data[] = {
-0x80,0x40,0x20,0x30,0x10,0x18,0x18,0xc,0xc,0xc,0xc,0xc,0xc,0xc,0xc,0x18,
-0x18,0x10,0x30,0x20,0x40,0x80,
-};
-
-static const BitmapCharRec ch41 = {6,22,-1,5,8,ch41data};
-
-/* char: 0x28 '(' */
-
-static const GLubyte ch40data[] = {
-0x4,0x8,0x10,0x30,0x20,0x60,0x60,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x60,
-0x60,0x20,0x30,0x10,0x8,0x4,
-};
-
-static const BitmapCharRec ch40 = {6,22,-1,5,8,ch40data};
-
-/* char: 0x27 ''' */
-
-static const GLubyte ch39data[] = {
-0xc0,0x60,0x20,0xe0,0xc0,
-};
-
-static const BitmapCharRec ch39 = {3,5,-3,-12,8,ch39data};
-
-/* char: 0x26 '&' */
-
-static const GLubyte ch38data[] = {
-0x3c,0x3c,0x7f,0x7e,0xe1,0xe1,0xc0,0xc0,0xc1,0xc0,0xc1,0xa0,0x63,0x20,0x37,0x10,
-0x1e,0x18,0xe,0x3e,0xf,0x0,0x1d,0x80,0x18,0xc0,0x18,0x40,0x18,0x40,0xc,0xc0,
-0x7,0x80,
-};
-
-static const BitmapCharRec ch38 = {16,17,-1,0,18,ch38data};
-
-/* char: 0x25 '%' */
-
-static const GLubyte ch37data[] = {
-0x30,0x3c,0x0,0x18,0x72,0x0,0xc,0x61,0x0,0x4,0x60,0x80,0x6,0x60,0x80,0x3,
-0x30,0x80,0x1,0x19,0x80,0x1,0x8f,0x0,0x78,0xc0,0x0,0xe4,0x40,0x0,0xc2,0x60,
-0x0,0xc1,0x30,0x0,0xc1,0x10,0x0,0x61,0x18,0x0,0x33,0xfc,0x0,0x1e,0xc,0x0,
-};
-
-static const BitmapCharRec ch37 = {17,16,-1,0,19,ch37data};
-
-/* char: 0x24 '$' */
-
-static const GLubyte ch36data[] = {
-0x4,0x0,0x4,0x0,0x3f,0x0,0xe5,0xc0,0xc4,0xc0,0x84,0x60,0x84,0x60,0x4,0x60,
-0x4,0xe0,0x7,0xc0,0x7,0x80,0x1e,0x0,0x3c,0x0,0x74,0x0,0x64,0x0,0x64,0x20,
-0x64,0x60,0x34,0xe0,0x1f,0x80,0x4,0x0,0x4,0x0,
-};
-
-static const BitmapCharRec ch36 = {11,21,0,2,12,ch36data};
-
-/* char: 0x23 '#' */
-
-static const GLubyte ch35data[] = {
-0x22,0x0,0x22,0x0,0x22,0x0,0x22,0x0,0x22,0x0,0xff,0xc0,0xff,0xc0,0x11,0x0,
-0x11,0x0,0x11,0x0,0x7f,0xe0,0x7f,0xe0,0x8,0x80,0x8,0x80,0x8,0x80,0x8,0x80,
-0x8,0x80,
-};
-
-static const BitmapCharRec ch35 = {11,17,-1,0,13,ch35data};
-
-/* char: 0x22 '"' */
-
-static const GLubyte ch34data[] = {
-0x88,0xcc,0xcc,0xcc,0xcc,
-};
-
-static const BitmapCharRec ch34 = {6,5,-1,-12,10,ch34data};
-
-/* char: 0x21 '!' */
-
-static const GLubyte ch33data[] = {
-0xc0,0xc0,0x0,0x0,0x0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc0,
-};
-
-static const BitmapCharRec ch33 = {2,17,-3,0,8,ch33data};
-
-/* char: 0x20 ' ' */
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch32data[] = { 0x0 };
-static const BitmapCharRec ch32 = {1,1,0,0,6,ch32data};
-#else
-static const BitmapCharRec ch32 = {0,0,0,0,6,0};
-#endif
-
-static const BitmapCharRec * const chars[] = {
-&ch32,
-&ch33,
-&ch34,
-&ch35,
-&ch36,
-&ch37,
-&ch38,
-&ch39,
-&ch40,
-&ch41,
-&ch42,
-&ch43,
-&ch44,
-&ch45,
-&ch46,
-&ch47,
-&ch48,
-&ch49,
-&ch50,
-&ch51,
-&ch52,
-&ch53,
-&ch54,
-&ch55,
-&ch56,
-&ch57,
-&ch58,
-&ch59,
-&ch60,
-&ch61,
-&ch62,
-&ch63,
-&ch64,
-&ch65,
-&ch66,
-&ch67,
-&ch68,
-&ch69,
-&ch70,
-&ch71,
-&ch72,
-&ch73,
-&ch74,
-&ch75,
-&ch76,
-&ch77,
-&ch78,
-&ch79,
-&ch80,
-&ch81,
-&ch82,
-&ch83,
-&ch84,
-&ch85,
-&ch86,
-&ch87,
-&ch88,
-&ch89,
-&ch90,
-&ch91,
-&ch92,
-&ch93,
-&ch94,
-&ch95,
-&ch96,
-&ch97,
-&ch98,
-&ch99,
-&ch100,
-&ch101,
-&ch102,
-&ch103,
-&ch104,
-&ch105,
-&ch106,
-&ch107,
-&ch108,
-&ch109,
-&ch110,
-&ch111,
-&ch112,
-&ch113,
-&ch114,
-&ch115,
-&ch116,
-&ch117,
-&ch118,
-&ch119,
-&ch120,
-&ch121,
-&ch122,
-&ch123,
-&ch124,
-&ch125,
-&ch126,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-&ch160,
-&ch161,
-&ch162,
-&ch163,
-&ch164,
-&ch165,
-&ch166,
-&ch167,
-&ch168,
-&ch169,
-&ch170,
-&ch171,
-&ch172,
-&ch173,
-&ch174,
-&ch175,
-&ch176,
-&ch177,
-&ch178,
-&ch179,
-&ch180,
-&ch181,
-&ch182,
-&ch183,
-&ch184,
-&ch185,
-&ch186,
-&ch187,
-&ch188,
-&ch189,
-&ch190,
-&ch191,
-&ch192,
-&ch193,
-&ch194,
-&ch195,
-&ch196,
-&ch197,
-&ch198,
-&ch199,
-&ch200,
-&ch201,
-&ch202,
-&ch203,
-&ch204,
-&ch205,
-&ch206,
-&ch207,
-&ch208,
-&ch209,
-&ch210,
-&ch211,
-&ch212,
-&ch213,
-&ch214,
-&ch215,
-&ch216,
-&ch217,
-&ch218,
-&ch219,
-&ch220,
-&ch221,
-&ch222,
-&ch223,
-&ch224,
-&ch225,
-&ch226,
-&ch227,
-&ch228,
-&ch229,
-&ch230,
-&ch231,
-&ch232,
-&ch233,
-&ch234,
-&ch235,
-&ch236,
-&ch237,
-&ch238,
-&ch239,
-&ch240,
-&ch241,
-&ch242,
-&ch243,
-&ch244,
-&ch245,
-&ch246,
-&ch247,
-&ch248,
-&ch249,
-&ch250,
-&ch251,
-&ch252,
-&ch253,
-&ch254,
-&ch255,
-};
-
-const BitmapFontRec glutBitmapTimesRoman24 = {
-"-adobe-times-medium-r-normal--24-240-75-75-p-124-iso8859-1",
-224,
-32,
-chars
-};
-
diff --git a/src/glut/glx/glut_util.c b/src/glut/glx/glut_util.c
deleted file mode 100644
index 4ebac64c1d..0000000000
--- a/src/glut/glx/glut_util.c
+++ /dev/null
@@ -1,86 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <stdio.h>
-
-#include "glutint.h"
-
-/* strdup is actually not a standard ANSI C or POSIX routine
- so implement a private one for GLUT. OpenVMS does not have a
- strdup; Linux's standard libc doesn't declare strdup by default
- (unless BSD or SVID interfaces are requested). */
-char *
-__glutStrdup(const char *string)
-{
- char *copy;
-
- copy = (char*) malloc(strlen(string) + 1);
- if (copy == NULL)
- return NULL;
- strcpy(copy, string);
- return copy;
-}
-
-void
-__glutWarning(char *format,...)
-{
- va_list args;
-
- va_start(args, format);
- fprintf(stderr, "GLUT: Warning in %s: ",
- __glutProgramName ? __glutProgramName : "(unamed)");
- vfprintf(stderr, format, args);
- va_end(args);
- putc('\n', stderr);
-}
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutReportErrors(void)
-{
- GLenum error;
-
- while ((error = glGetError()) != GL_NO_ERROR)
- __glutWarning("GL error: %s", gluErrorString(error));
-}
-/* ENDCENTRY */
-
-void
-__glutFatalError(char *format,...)
-{
- va_list args;
-
- va_start(args, format);
- fprintf(stderr, "GLUT: Fatal Error in %s: ",
- __glutProgramName ? __glutProgramName : "(unamed)");
- vfprintf(stderr, format, args);
- va_end(args);
- putc('\n', stderr);
-#ifdef _WIN32
- if (__glutExitFunc) {
- __glutExitFunc(1);
- }
-#endif
- exit(1);
-}
-
-void
-__glutFatalUsage(char *format,...)
-{
- va_list args;
-
- va_start(args, format);
- fprintf(stderr, "GLUT: Fatal API Usage in %s: ",
- __glutProgramName ? __glutProgramName : "(unamed)");
- vfprintf(stderr, format, args);
- va_end(args);
- putc('\n', stderr);
- abort();
-}
diff --git a/src/glut/glx/glut_vidresize.c b/src/glut/glx/glut_vidresize.c
deleted file mode 100644
index 5993e83709..0000000000
--- a/src/glut/glx/glut_vidresize.c
+++ /dev/null
@@ -1,231 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1996. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include <stdlib.h>
-
-#ifdef __sgi
-#include <dlfcn.h>
-#endif
-
-#include "glutint.h"
-
-/* Grumble. The IRIX 6.3 and early IRIX 6.4 OpenGL headers
- support the video resize extension, but failed to define
- GLX_SGIX_video_resize. */
-#if 0
-#ifdef GLX_SYNC_FRAME_SGIX
-#define GLX_SGIX_video_resize 1
-#endif
-#endif
-
-#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_video_resize)
-static int canVideoResize = -1;
-static int videoResizeChannel;
-#else
-static int canVideoResize = 0;
-#endif
-static int videoResizeInUse = 0;
-static int dx = -1, dy = -1, dw = -1, dh = -1;
-
-/* XXX Note that IRIX 6.2, 6.3, and some 6.4 versions have a
- bug where programs seg-fault when they attempt video
- resizing from an indirect OpenGL context (either local or
- over a network). */
-
-#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_video_resize)
-
-static volatile int errorCaught;
-
-/* ARGSUSED */
-static int
-catchXSGIvcErrors(Display * dpy, XErrorEvent * event)
-{
- errorCaught = 1;
- return 0;
-}
-#endif
-
-/* CENTRY */
-int GLUTAPIENTRY
-glutVideoResizeGet(GLenum param)
-{
-#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_video_resize)
- if (canVideoResize < 0) {
- canVideoResize = __glutIsSupportedByGLX("GLX_SGIX_video_resize");
- if (canVideoResize) {
-#if defined(__sgi) && __sgi
- /* This is a hack because IRIX 6.2, 6.3, and some 6.4
- versions were released with GLX_SGIX_video_resize
- being advertised by the X server though the video
- resize extension is not actually supported. We try to
- determine if the libGL.so we are using actually has a
- video resize entrypoint before we try to use the
- feature. */
- void (*func) (void);
- void *glxDso = dlopen("libGL.so", RTLD_LAZY);
-
- func = (void (*)(void)) dlsym(glxDso, "glXQueryChannelDeltasSGIX");
- if (!func) {
- canVideoResize = 0;
- } else
-#endif
- {
- char *channelString;
- int (*handler) (Display *, XErrorEvent *);
-
- channelString = getenv("GLUT_VIDEO_RESIZE_CHANNEL");
- videoResizeChannel = channelString ? atoi(channelString) : 0;
-
- /* Work around another annoying problem with SGI's
- GLX_SGIX_video_resize implementation. Early IRIX
- 6.4 OpenGL's advertise the extension and have the
- video resize API, but an XSGIvc X protocol errors
- result trying to use the API. Set up an error
- handler to intercept what would otherwise be a fatal
- error. If an error was recieved, do not report that
- video resize is possible. */
- handler = XSetErrorHandler(catchXSGIvcErrors);
-
- errorCaught = 0;
-
-#if defined(GLX_GLXEXT_PROTOTYPES)
-#endif
-
- __glut_glXQueryChannelDeltasSGIX(__glutDisplay, __glutScreen,
- videoResizeChannel, &dx, &dy, &dw, &dh);
-
- /* glXQueryChannelDeltasSGIX is an inherent X server
- round-trip so we know we will have gotten either the
- correct reply or and error by this time. */
- XSetErrorHandler(handler);
-
- /* Still yet another work around. In IRIX 6.4 betas,
- glXQueryChannelDeltasSGIX will return as if it
- succeeded, but the values are filled with junk.
- Watch to make sure the delta variables really make
- sense. */
- if (errorCaught ||
- dx < 0 || dy < 0 || dw < 0 || dh < 0 ||
- dx > 2048 || dy > 2048 || dw > 2048 || dh > 2048) {
- canVideoResize = 0;
- }
- }
- }
- }
-#endif /* GLX_SGIX_video_resize */
-
- switch (param) {
- case GLUT_VIDEO_RESIZE_POSSIBLE:
- return canVideoResize;
- case GLUT_VIDEO_RESIZE_IN_USE:
- return videoResizeInUse;
- case GLUT_VIDEO_RESIZE_X_DELTA:
- return dx;
- case GLUT_VIDEO_RESIZE_Y_DELTA:
- return dy;
- case GLUT_VIDEO_RESIZE_WIDTH_DELTA:
- return dw;
- case GLUT_VIDEO_RESIZE_HEIGHT_DELTA:
- return dh;
- case GLUT_VIDEO_RESIZE_X:
- case GLUT_VIDEO_RESIZE_Y:
- case GLUT_VIDEO_RESIZE_WIDTH:
- case GLUT_VIDEO_RESIZE_HEIGHT:
-#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_video_resize)
- if (videoResizeInUse) {
- int x, y, width, height;
-
- __glut_glXQueryChannelRectSGIX(__glutDisplay, __glutScreen,
- videoResizeChannel, &x, &y, &width, &height);
- switch (param) {
- case GLUT_VIDEO_RESIZE_X:
- return x;
- case GLUT_VIDEO_RESIZE_Y:
- return y;
- case GLUT_VIDEO_RESIZE_WIDTH:
- return width;
- case GLUT_VIDEO_RESIZE_HEIGHT:
- return height;
- }
- }
-#endif
- return -1;
- default:
- __glutWarning("invalid glutVideoResizeGet parameter: %d", param);
- return -1;
- }
-}
-
-void GLUTAPIENTRY
-glutSetupVideoResizing(void)
-{
-#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_video_resize)
- if (glutVideoResizeGet(GLUT_VIDEO_RESIZE_POSSIBLE)) {
- __glut_glXBindChannelToWindowSGIX(__glutDisplay, __glutScreen,
- videoResizeChannel, __glutCurrentWindow->win);
- videoResizeInUse = 1;
- } else
-#endif
- __glutFatalError("glutEstablishVideoResizing: video resizing not possible.\n");
-}
-
-void GLUTAPIENTRY
-glutStopVideoResizing(void)
-{
-#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_video_resize)
- if (glutVideoResizeGet(GLUT_VIDEO_RESIZE_POSSIBLE)) {
- if (videoResizeInUse) {
- __glut_glXBindChannelToWindowSGIX(__glutDisplay, __glutScreen,
- videoResizeChannel, None);
- videoResizeInUse = 0;
- }
- }
-#endif
-}
-
-/* ARGSUSED */
-void GLUTAPIENTRY
-glutVideoResize(int x, int y, int width, int height)
-{
-#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_video_resize)
- if (videoResizeInUse) {
-#ifdef GLX_SYNC_SWAP_SGIX
- /* glXChannelRectSyncSGIX introduced in a patch to IRIX
- 6.2; the original unpatched IRIX 6.2 behavior is always
- GLX_SYNC_SWAP_SGIX. */
- __glut_glXChannelRectSyncSGIX(__glutDisplay, __glutScreen,
- videoResizeChannel, GLX_SYNC_SWAP_SGIX);
-#endif
- __glut_glXChannelRectSGIX(__glutDisplay, __glutScreen,
- videoResizeChannel, x, y, width, height);
- }
-#endif
-}
-
-/* ARGSUSED */
-void GLUTAPIENTRY
-glutVideoPan(int x, int y, int width, int height)
-{
-#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_video_resize)
- if (videoResizeInUse) {
-#ifdef GLX_SYNC_FRAME_SGIX
- /* glXChannelRectSyncSGIX introduced in a patch to IRIX
- 6.2; the original unpatched IRIX 6.2 behavior is always
- GLX_SYNC_SWAP_SGIX. We just ignore that we cannot
- accomplish GLX_SYNC_FRAME_SGIX on IRIX unpatched 6.2;
- this means you'd need a glutSwapBuffers to actually
- realize the video resize. */
- __glut_glXChannelRectSyncSGIX(__glutDisplay, __glutScreen,
- videoResizeChannel, GLX_SYNC_FRAME_SGIX);
-#endif
- __glut_glXChannelRectSGIX(__glutDisplay, __glutScreen,
- videoResizeChannel, x, y, width, height);
- }
-#endif
-}
-
-/* ENDCENTRY */
diff --git a/src/glut/glx/glut_warp.c b/src/glut/glx/glut_warp.c
deleted file mode 100644
index 3d48655ed1..0000000000
--- a/src/glut/glx/glut_warp.c
+++ /dev/null
@@ -1,23 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1996, 1997. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include <stdlib.h>
-#include <stdarg.h>
-#include <stdio.h>
-
-#include "glutint.h"
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutWarpPointer(int x, int y)
-{
- XWarpPointer(__glutDisplay, None, __glutCurrentWindow->win,
- 0, 0, 0, 0, x, y);
- XFlush(__glutDisplay);
-}
-
-/* ENDCENTRY */
diff --git a/src/glut/glx/glut_win.c b/src/glut/glx/glut_win.c
deleted file mode 100644
index 18554b3e97..0000000000
--- a/src/glut/glx/glut_win.c
+++ /dev/null
@@ -1,1035 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994, 1997. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#ifdef __VMS
-#include <GL/vms_x_fix.h>
-#endif
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <assert.h>
-#if !defined(_WIN32)
-#include <X11/Xlib.h>
-#include <X11/Xatom.h>
-#endif
-
-#include "glutint.h"
-
-GLUTwindow *__glutCurrentWindow = NULL;
-GLUTwindow **__glutWindowList = NULL;
-int __glutWindowListSize = 0;
-#if !defined(_WIN32)
-GLUTstale *__glutStaleWindowList = NULL;
-#endif
-GLUTwindow *__glutMenuWindow = NULL;
-
-void (*__glutFreeOverlayFunc) (GLUToverlay *);
-XVisualInfo *(*__glutDetermineVisualFromString) (char *string, Bool * treatAsSingle,
- Criterion * requiredCriteria, int nRequired, int requiredMask, void **fbc) = NULL;
-
-static Criterion requiredWindowCriteria[] =
-{
- {LEVEL, EQ, 0},
- {TRANSPARENT, EQ, 0}
-};
-static int numRequiredWindowCriteria = sizeof(requiredWindowCriteria) / sizeof(Criterion);
-static int requiredWindowCriteriaMask = (1 << LEVEL) | (1 << TRANSPARENT);
-
-static void
-cleanWindowWorkList(GLUTwindow * window)
-{
- GLUTwindow **pEntry = &__glutWindowWorkList;
- GLUTwindow *entry = __glutWindowWorkList;
-
- /* Tranverse singly-linked window work list look for the
- window. */
- while (entry) {
- if (entry == window) {
- /* Found it; delete it. */
- *pEntry = entry->prevWorkWin;
- return;
- } else {
- pEntry = &entry->prevWorkWin;
- entry = *pEntry;
- }
- }
-}
-
-#if !defined(_WIN32)
-
-static void
-cleanStaleWindowList(GLUTwindow * window)
-{
- GLUTstale **pEntry = &__glutStaleWindowList;
- GLUTstale *entry = __glutStaleWindowList;
-
- /* Tranverse singly-linked stale window list look for the
- window ID. */
- while (entry) {
- if (entry->window == window) {
- /* Found it; delete it. */
- *pEntry = entry->next;
- free(entry);
- return;
- } else {
- pEntry = &entry->next;
- entry = *pEntry;
- }
- }
-}
-
-#endif
-
-static GLUTwindow *__glutWindowCache = NULL;
-
-GLUTwindow *
-__glutGetWindow(Window win)
-{
- int i;
-
- /* Does win belong to the last window ID looked up? */
- if (__glutWindowCache && (win == __glutWindowCache->win ||
- (__glutWindowCache->overlay && win ==
- __glutWindowCache->overlay->win))) {
- return
- __glutWindowCache;
- }
- /* Otherwise scan the window list looking for the window ID. */
- for (i = 0; i < __glutWindowListSize; i++) {
- if (__glutWindowList[i]) {
- if (win == __glutWindowList[i]->win) {
- __glutWindowCache = __glutWindowList[i];
- return __glutWindowCache;
- }
- if (__glutWindowList[i]->overlay) {
- if (win == __glutWindowList[i]->overlay->win) {
- __glutWindowCache = __glutWindowList[i];
- return __glutWindowCache;
- }
- }
- }
- }
-#if !defined(_WIN32)
- {
- GLUTstale *entry;
-
- /* Scan through destroyed overlay window IDs for which no
- DestroyNotify has yet been received. */
- for (entry = __glutStaleWindowList; entry; entry = entry->next) {
- if (entry->win == win)
- return entry->window;
- }
- }
-#endif
- return NULL;
-}
-
-/* CENTRY */
-int GLUTAPIENTRY
-glutGetWindow(void)
-{
- if (__glutCurrentWindow) {
- return __glutCurrentWindow->num + 1;
- } else {
- return 0;
- }
-}
-/* ENDCENTRY */
-
-void
-__glutSetWindow(GLUTwindow * window)
-{
- /* It is tempting to try to short-circuit the call to
- glXMakeCurrent if we "know" we are going to make current
- to a window we are already current to. In fact, this
- assumption breaks when GLUT is expected to integrated with
- other OpenGL windowing APIs that also make current to
- OpenGL contexts. Since glXMakeCurrent short-circuits the
- "already bound" case, GLUT avoids the temptation to do so
- too. */
- __glutCurrentWindow = window;
-
- MAKE_CURRENT_LAYER(__glutCurrentWindow);
-
-#if !defined(_WIN32)
- /* We should be careful to force a finish between each
- iteration through the GLUT main loop if indirect OpenGL
- contexts are in use; indirect contexts tend to have much
- longer latency because lots of OpenGL extension requests
- can queue up in the X protocol stream. We accomplish this
- by posting GLUT_FINISH_WORK to be done. */
- if (!__glutCurrentWindow->isDirect)
- __glutPutOnWorkList(__glutCurrentWindow, GLUT_FINISH_WORK);
-#endif
-
- /* If debugging is enabled, we'll want to check this window
- for any OpenGL errors every iteration through the GLUT
- main loop. To accomplish this, we post the
- GLUT_DEBUG_WORK to be done on this window. */
- if (__glutDebug) {
- __glutPutOnWorkList(__glutCurrentWindow, GLUT_DEBUG_WORK);
- }
-}
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutSetWindow(int win)
-{
- GLUTwindow *window;
-
- if (win < 1 || win > __glutWindowListSize) {
- __glutWarning("glutSetWindow attempted on bogus window.");
- return;
- }
- window = __glutWindowList[win - 1];
- if (!window) {
- __glutWarning("glutSetWindow attempted on bogus window.");
- return;
- }
- __glutSetWindow(window);
-}
-/* ENDCENTRY */
-
-static int
-getUnusedWindowSlot(void)
-{
- int i;
-
- /* Look for allocated, unused slot. */
- for (i = 0; i < __glutWindowListSize; i++) {
- if (!__glutWindowList[i]) {
- return i;
- }
- }
- /* Allocate a new slot. */
- __glutWindowListSize++;
- if (__glutWindowList) {
- __glutWindowList = (GLUTwindow **)
- realloc(__glutWindowList,
- __glutWindowListSize * sizeof(GLUTwindow *));
- } else {
- /* XXX Some realloc's do not correctly perform a malloc
- when asked to perform a realloc on a NULL pointer,
- though the ANSI C library spec requires this. */
- __glutWindowList = (GLUTwindow **)
- malloc(sizeof(GLUTwindow *));
- }
- if (!__glutWindowList)
- __glutFatalError("out of memory.");
- __glutWindowList[__glutWindowListSize - 1] = NULL;
- return __glutWindowListSize - 1;
-}
-
-static XVisualInfo *
-getVisualInfoCI(unsigned int mode)
-{
- static int bufSizeList[] =
- {16, 12, 8, 4, 2, 1, 0};
- XVisualInfo *vi;
- int list[32];
- int i, n = 0;
-
- /* Should not be looking at display mode mask if
- __glutDisplayString is non-NULL. */
- assert(!__glutDisplayString);
-
- list[n++] = GLX_BUFFER_SIZE;
- list[n++] = 1;
- if (GLUT_WIND_IS_DOUBLE(mode)) {
- list[n++] = GLX_DOUBLEBUFFER;
- }
- if (GLUT_WIND_IS_STEREO(mode)) {
- list[n++] = GLX_STEREO;
- }
- if (GLUT_WIND_HAS_DEPTH(mode)) {
- list[n++] = GLX_DEPTH_SIZE;
- list[n++] = 1;
- }
- if (GLUT_WIND_HAS_STENCIL(mode)) {
- list[n++] = GLX_STENCIL_SIZE;
- list[n++] = 1;
- }
- list[n] = (int) None; /* terminate list */
-
- /* glXChooseVisual specify GLX_BUFFER_SIZE prefers the
- "smallest index buffer of at least the specified size".
- This would be reasonable if GLUT allowed the user to
- specify the required buffe size, but GLUT's display mode
- is too simplistic (easy to use?). GLUT should try to find
- the "largest". So start with a large buffer size and
- shrink until we find a matching one that exists. */
-
- for (i = 0; bufSizeList[i]; i++) {
- /* XXX Assumes list[1] is where GLX_BUFFER_SIZE parameter
- is. */
- list[1] = bufSizeList[i];
- vi = glXChooseVisual(__glutDisplay,
- __glutScreen, list);
- if (vi)
- return vi;
- }
- return NULL;
-}
-
-static XVisualInfo *
-getVisualInfoRGB(unsigned int mode)
-{
- int list[32];
- int n = 0;
-
- /* Should not be looking at display mode mask if
- __glutDisplayString is non-NULL. */
- assert(!__glutDisplayString);
-
- /* XXX Would a caching mechanism to minize the calls to
- glXChooseVisual? You'd have to reference count
- XVisualInfo* pointers. Would also have to properly
- interact with glutInitDisplayString. */
-
- list[n++] = GLX_RGBA;
- list[n++] = GLX_RED_SIZE;
- list[n++] = 1;
- list[n++] = GLX_GREEN_SIZE;
- list[n++] = 1;
- list[n++] = GLX_BLUE_SIZE;
- list[n++] = 1;
- if (GLUT_WIND_HAS_ALPHA(mode)) {
- list[n++] = GLX_ALPHA_SIZE;
- list[n++] = 1;
- }
- if (GLUT_WIND_IS_DOUBLE(mode)) {
- list[n++] = GLX_DOUBLEBUFFER;
- }
- if (GLUT_WIND_IS_STEREO(mode)) {
- list[n++] = GLX_STEREO;
- }
- if (GLUT_WIND_HAS_DEPTH(mode)) {
- list[n++] = GLX_DEPTH_SIZE;
- list[n++] = 1;
- }
- if (GLUT_WIND_HAS_STENCIL(mode)) {
- list[n++] = GLX_STENCIL_SIZE;
- list[n++] = 1;
- }
- if (GLUT_WIND_HAS_ACCUM(mode)) {
- list[n++] = GLX_ACCUM_RED_SIZE;
- list[n++] = 1;
- list[n++] = GLX_ACCUM_GREEN_SIZE;
- list[n++] = 1;
- list[n++] = GLX_ACCUM_BLUE_SIZE;
- list[n++] = 1;
- if (GLUT_WIND_HAS_ALPHA(mode)) {
- list[n++] = GLX_ACCUM_ALPHA_SIZE;
- list[n++] = 1;
- }
- }
-#if defined(GLX_VERSION_1_1) && (defined(GLX_SGIS_multisample) || defined(GLX_ARB_multisample))
- if (GLUT_WIND_IS_MULTISAMPLE(mode)) {
- if (!__glutIsSupportedByGLX("GLX_SGIS_multisample") &&
- !__glutIsSupportedByGLX("GLX_ARB_multisample"))
- return NULL;
-#if defined(GLX_ARB_multisample)
- list[n++] = GLX_SAMPLES_ARB;
-#elif defined(GLX_SGIS_multisample)
- list[n++] = GLX_SAMPLES_SGIS;
-#endif
- /* XXX Is 4 a reasonable minimum acceptable number of
- samples? */
- list[n++] = 4;
- }
-#endif
- list[n] = (int) None; /* terminate list */
-
- return glXChooseVisual(__glutDisplay,
- __glutScreen, list);
-}
-
-#ifndef VisualIDMask
-#define VisualIDMask 0
-#endif
-
-static XVisualInfo *
-getVisualInfoID(int id)
-{
- XVisualInfo temp;
- int count;
-#if !defined(_WIN32)
- temp.visualid = id;
-#endif
- return XGetVisualInfo(__glutDisplay, VisualIDMask, &temp, &count);
-}
-
-
-XVisualInfo *
-__glutGetVisualInfo(unsigned int mode)
-{
- char *visStr;
- /* XXX GLUT_LUMINANCE not implemented for GLUT 3.0. */
- if (GLUT_WIND_IS_LUMINANCE(mode))
- return NULL;
-
- visStr = getenv("GLUT_FORCE_VISUAL");
- if (visStr) {
- int id = atoi(visStr);
- return getVisualInfoID(id);
- }
-
- if (GLUT_WIND_IS_RGB(mode))
- return getVisualInfoRGB(mode);
- else
- return getVisualInfoCI(mode);
-}
-
-XVisualInfo *
-__glutDetermineVisual(
- unsigned int displayMode,
- Bool * treatAsSingle,
- XVisualInfo * (getVisualInfo) (unsigned int))
-{
- XVisualInfo *vis;
-
- /* Should not be looking at display mode mask if
- __glutDisplayString is non-NULL. */
- assert(!__glutDisplayString);
-
- *treatAsSingle = GLUT_WIND_IS_SINGLE(displayMode);
- vis = getVisualInfo(displayMode);
- if (!vis) {
- /* Fallback cases when can't get exactly what was asked
- for... */
- if (GLUT_WIND_IS_SINGLE(displayMode)) {
- /* If we can't find a single buffered visual, try looking
- for a double buffered visual. We can treat a double
- buffered visual as a single buffer visual by changing
- the draw buffer to GL_FRONT and treating any swap
- buffers as no-ops. */
- displayMode |= GLUT_DOUBLE;
- vis = getVisualInfo(displayMode);
- *treatAsSingle = True;
- }
- if (!vis && GLUT_WIND_IS_MULTISAMPLE(displayMode)) {
- /* If we can't seem to get multisampling (ie, not Reality
- Engine class graphics!), go without multisampling. It
- is up to the application to query how many multisamples
- were allocated (0 equals no multisampling) if the
- application is going to use multisampling for more than
- just antialiasing. */
- displayMode &= ~GLUT_MULTISAMPLE;
- vis = getVisualInfo(displayMode);
- }
- }
- return vis;
-}
-
-static void GLUTCALLBACK
-__glutDefaultDisplay(void)
-{
- /* XXX Remove the warning after GLUT 3.0. */
- __glutWarning("The following is a new check for GLUT 3.0; update your code.");
- __glutFatalError(
- "redisplay needed for window %d, but no display callback.",
- __glutCurrentWindow->num + 1);
-}
-
-void GLUTCALLBACK
-__glutDefaultReshape(int width, int height)
-{
- GLUToverlay *overlay;
-
- /* Adjust the viewport of the window (and overlay if one
- exists). */
- MAKE_CURRENT_WINDOW(__glutCurrentWindow);
- glViewport(0, 0, (GLsizei) width, (GLsizei) height);
- overlay = __glutCurrentWindow->overlay;
- if (overlay) {
- MAKE_CURRENT_OVERLAY(overlay);
- glViewport(0, 0, (GLsizei) width, (GLsizei) height);
- }
- /* Make sure we are current to the current layer (application
- should be able to count on the current layer not changing
- unless the application explicitly calls glutUseLayer). */
- MAKE_CURRENT_LAYER(__glutCurrentWindow);
-}
-
-XVisualInfo *
-__glutDetermineWindowVisual(Bool * treatAsSingle, Bool * visAlloced, void **fbc)
-{
- if (__glutDisplayString) {
-
- /* __glutDisplayString should be NULL except if
- glutInitDisplayString has been called to register a
- different display string. Calling glutInitDisplayString
- means using a string instead of an integer mask determine
- the visual to use. Using the function pointer variable
- __glutDetermineVisualFromString below avoids linking in
- the code for implementing glutInitDisplayString (ie,
- glut_dstr.o) unless glutInitDisplayString gets called by
- the application. */
-
- assert(__glutDetermineVisualFromString);
- *visAlloced = False;
- *fbc = NULL;
- return __glutDetermineVisualFromString(__glutDisplayString, treatAsSingle,
- requiredWindowCriteria, numRequiredWindowCriteria, requiredWindowCriteriaMask, fbc);
- } else {
- *visAlloced = True;
- *fbc = NULL;
- return __glutDetermineVisual(__glutDisplayMode,
- treatAsSingle, __glutGetVisualInfo);
- }
-}
-
-/* ARGSUSED5 */ /* Only Win32 uses gameMode parameter. */
-GLUTwindow *
-__glutCreateWindow(GLUTwindow * parent,
- int x, int y, int width, int height, int gameMode)
-{
- GLUTwindow *window;
- XSetWindowAttributes wa;
- unsigned long attribMask;
- int winnum;
- int i;
- void *fbc;
-
-#if defined(_WIN32)
- WNDCLASS wc;
- int style;
-
- if (!GetClassInfo(GetModuleHandle(NULL), "GLUT", &wc)) {
- __glutOpenWin32Connection(NULL);
- }
-#else
- if (!__glutDisplay) {
- __glutOpenXConnection(NULL);
- }
-#endif
- if (__glutGameModeWindow) {
- __glutFatalError("cannot create windows in game mode.");
- }
- winnum = getUnusedWindowSlot();
- window = (GLUTwindow *) malloc(sizeof(GLUTwindow));
- if (!window) {
- __glutFatalError("out of memory.");
- }
- window->num = winnum;
-
-#if !defined(_WIN32)
- window->vis = __glutDetermineWindowVisual(&window->treatAsSingle,
- &window->visAlloced, &fbc);
- if (!window->vis) {
- __glutFatalError(
- "visual with necessary capabilities not found.");
- }
- __glutSetupColormap(window->vis, &window->colormap, &window->cmap);
-#endif
- window->eventMask = StructureNotifyMask | ExposureMask;
-
- attribMask = CWBackPixmap | CWBorderPixel | CWColormap | CWEventMask;
- wa.background_pixmap = None;
- wa.border_pixel = 0;
- wa.colormap = window->cmap;
- wa.event_mask = window->eventMask;
- if (parent) {
- if (parent->eventMask & GLUT_HACK_STOP_PROPAGATE_MASK)
- wa.event_mask |= GLUT_HACK_STOP_PROPAGATE_MASK;
- attribMask |= CWDontPropagate;
- wa.do_not_propagate_mask = parent->eventMask & GLUT_DONT_PROPAGATE_FILTER_MASK;
- } else {
- wa.do_not_propagate_mask = 0;
- }
-
- /* Stash width and height before Win32's __glutAdjustCoords
- possibly overwrites the values. */
- window->width = width;
- window->height = height;
- window->forceReshape = True;
- window->ignoreKeyRepeat = False;
-
-#if defined(_WIN32)
- __glutAdjustCoords(parent ? parent->win : NULL,
- &x, &y, &width, &height);
- if (parent) {
- style = WS_CHILD;
- } else {
- if (gameMode) {
- /* Game mode window should be a WS_POPUP window to
- ensure that the taskbar is hidden by it. A standard
- WS_OVERLAPPEDWINDOW does not hide the task bar. */
- style = WS_POPUP | WS_MAXIMIZE;
- } else {
- /* A standard toplevel window with borders and such. */
- style = WS_OVERLAPPEDWINDOW;
- }
- }
- window->win = CreateWindow("GLUT", "GLUT",
- WS_CLIPSIBLINGS | WS_CLIPCHILDREN | style,
- x, y, width, height, parent ? parent->win : __glutRoot,
- NULL, GetModuleHandle(NULL), 0);
- window->hdc = GetDC(window->win);
- /* Must set the XHDC for fake glXChooseVisual & fake
- glXCreateContext & fake XAllocColorCells. */
- XHDC = window->hdc;
- window->vis = __glutDetermineWindowVisual(&window->treatAsSingle,
- &window->visAlloced, &fbc);
- if (!window->vis) {
- __glutFatalError(
- "pixel format with necessary capabilities not found.");
- }
- if (!SetPixelFormat(window->hdc,
- ChoosePixelFormat(window->hdc, window->vis),
- window->vis)) {
- __glutFatalError("SetPixelFormat failed during window create.");
- }
- __glutSetupColormap(window->vis, &window->colormap, &window->cmap);
- /* Make sure subwindows get a windowStatus callback. */
- if (parent) {
- PostMessage(parent->win, WM_ACTIVATE, 0, 0);
- }
- window->renderDc = window->hdc;
-#else
- window->win = XCreateWindow(__glutDisplay,
- parent == NULL ? __glutRoot : parent->win,
- x, y, width, height, 0,
- window->vis->depth, InputOutput, window->vis->visual,
- attribMask, &wa);
-#endif
- window->renderWin = window->win;
-#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_fbconfig)
- if (fbc) {
- window->ctx = __glut_glXCreateContextWithConfigSGIX(__glutDisplay, fbc,
- GLX_RGBA_TYPE_SGIX, None, __glutTryDirect);
- } else
-#endif
- {
- window->ctx = glXCreateContext(__glutDisplay, window->vis,
- None, __glutTryDirect);
- }
- if (!window->ctx) {
- __glutFatalError(
- "failed to create OpenGL rendering context.");
- }
- window->renderCtx = window->ctx;
-#if !defined(_WIN32)
- window->isDirect = glXIsDirect(__glutDisplay, window->ctx);
- if (__glutForceDirect) {
- if (!window->isDirect)
- __glutFatalError("direct rendering not possible.");
- }
-#endif
-
- window->parent = parent;
- if (parent) {
- window->siblings = parent->children;
- parent->children = window;
- } else {
- window->siblings = NULL;
- }
- window->overlay = NULL;
- window->children = NULL;
- window->display = __glutDefaultDisplay;
- window->reshape = __glutDefaultReshape;
- window->mouse = NULL;
- window->motion = NULL;
- window->passive = NULL;
- window->entry = NULL;
- window->keyboard = NULL;
- window->keyboardUp = NULL;
- window->windowStatus = NULL;
- window->visibility = NULL;
- window->special = NULL;
- window->specialUp = NULL;
- window->buttonBox = NULL;
- window->dials = NULL;
- window->spaceMotion = NULL;
- window->spaceRotate = NULL;
- window->spaceButton = NULL;
- window->tabletMotion = NULL;
- window->tabletButton = NULL;
-#ifdef _WIN32
- window->joystick = NULL;
- window->joyPollInterval = 0;
-#endif
- window->tabletPos[0] = -1;
- window->tabletPos[1] = -1;
- window->shownState = 0;
- window->visState = -1; /* not VisibilityUnobscured,
- VisibilityPartiallyObscured, or
- VisibilityFullyObscured */
- window->entryState = -1; /* not EnterNotify or LeaveNotify */
-
- window->desiredConfMask = 0;
- window->buttonUses = 0;
- window->cursor = GLUT_CURSOR_INHERIT;
-
- /* Setup window to be mapped when glutMainLoop starts. */
- window->workMask = GLUT_MAP_WORK;
-#ifdef _WIN32
- if (gameMode) {
- /* When mapping a game mode window, just show
- the window. We have already created the game
- mode window with a maximize flag at creation
- time. Doing a ShowWindow(window->win, SW_SHOWNORMAL)
- would be wrong for a game mode window since it
- would unmaximize the window. */
- window->desiredMapState = GameModeState;
- } else {
- window->desiredMapState = NormalState;
- }
-#else
- window->desiredMapState = NormalState;
-#endif
- window->prevWorkWin = __glutWindowWorkList;
- __glutWindowWorkList = window;
-
- /* Initially, no menus attached. */
- for (i = 0; i < GLUT_MAX_MENUS; i++) {
- window->menu[i] = 0;
- }
-
- /* Add this new window to the window list. */
- __glutWindowList[winnum] = window;
-
- /* Make the new window the current window. */
- __glutSetWindow(window);
-
- __glutDetermineMesaSwapHackSupport();
-
- if (window->treatAsSingle) {
- /* We do this because either the window really is single
- buffered (in which case this is redundant, but harmless,
- because this is the initial single-buffered context
- state); or we are treating a double buffered window as a
- single-buffered window because the system does not appear
- to export any suitable single- buffered visuals (in which
- the following are necessary). */
- glDrawBuffer(GL_FRONT);
- glReadBuffer(GL_FRONT);
- }
- return window;
-}
-
-/* CENTRY */
-int GLUTAPIENTRY
-glutCreateWindow(const char *title)
-{
- static int firstWindow = 1;
- GLUTwindow *window;
-#if !defined(_WIN32)
- XWMHints *wmHints;
-#endif
- Window win;
- XTextProperty textprop;
-
- if (__glutGameModeWindow) {
- __glutFatalError("cannot create windows in game mode.");
- }
- window = __glutCreateWindow(NULL,
- __glutSizeHints.x, __glutSizeHints.y,
- __glutInitWidth, __glutInitHeight,
- /* not game mode */ 0);
- win = window->win;
- /* Setup ICCCM properties. */
- textprop.value = (unsigned char *) title;
- textprop.encoding = XA_STRING;
- textprop.format = 8;
- textprop.nitems = strlen(title);
-#if defined(_WIN32)
- SetWindowText(win, title);
- if (__glutIconic) {
- window->desiredMapState = IconicState;
- }
-#else
- wmHints = XAllocWMHints();
- wmHints->initial_state =
- __glutIconic ? IconicState : NormalState;
- wmHints->flags = StateHint;
- XSetWMProperties(__glutDisplay, win, &textprop, &textprop,
- /* Only put WM_COMMAND property on first window. */
- firstWindow ? __glutArgv : NULL,
- firstWindow ? __glutArgc : 0,
- &__glutSizeHints, wmHints, NULL);
- XFree(wmHints);
- XSetWMProtocols(__glutDisplay, win, &__glutWMDeleteWindow, 1);
-#endif
- firstWindow = 0;
- return window->num + 1;
-}
-
-#ifdef _WIN32
-int GLUTAPIENTRY
-__glutCreateWindowWithExit(const char *title, void (__cdecl *exitfunc)(int))
-{
- __glutExitFunc = exitfunc;
- return glutCreateWindow(title);
-}
-#endif
-
-int GLUTAPIENTRY
-glutCreateSubWindow(int win, int x, int y, int width, int height)
-{
- GLUTwindow *window;
-
- window = __glutCreateWindow(__glutWindowList[win - 1],
- x, y, width, height, /* not game mode */ 0);
-#if !defined(_WIN32)
- {
- GLUTwindow *toplevel;
-
- toplevel = __glutToplevelOf(window);
- if (toplevel->cmap != window->cmap) {
- __glutPutOnWorkList(toplevel, GLUT_COLORMAP_WORK);
- }
- }
-#endif
- return window->num + 1;
-}
-/* ENDCENTRY */
-
-void
-__glutDestroyWindow(GLUTwindow * window,
- GLUTwindow * initialWindow)
-{
- GLUTwindow **prev, *cur, *parent, *siblings;
-
- /* Recursively destroy any children. */
- cur = window->children;
- while (cur) {
- siblings = cur->siblings;
- __glutDestroyWindow(cur, initialWindow);
- cur = siblings;
- }
- /* Remove from parent's children list (only necessary for
- non-initial windows and subwindows!). */
- parent = window->parent;
- if (parent && parent == initialWindow->parent) {
- prev = &parent->children;
- cur = parent->children;
- while (cur) {
- if (cur == window) {
- *prev = cur->siblings;
- break;
- }
- prev = &(cur->siblings);
- cur = cur->siblings;
- }
- }
- /* Unbind if bound to this window. */
- if (window == __glutCurrentWindow) {
- UNMAKE_CURRENT();
- __glutCurrentWindow = NULL;
- }
- /* Begin tearing down window itself. */
- if (window->overlay) {
- __glutFreeOverlayFunc(window->overlay);
- }
- XDestroyWindow(__glutDisplay, window->win);
- glXDestroyContext(__glutDisplay, window->ctx);
- if (window->colormap) {
- /* Only color index windows have colormap data structure. */
- __glutFreeColormap(window->colormap);
- }
- /* NULLing the __glutWindowList helps detect is a window
- instance has been destroyed, given a window number. */
- __glutWindowList[window->num] = NULL;
-
- /* Cleanup data structures that might contain window. */
- cleanWindowWorkList(window);
-#if !defined(_WIN32)
- cleanStaleWindowList(window);
-#endif
- /* Remove window from the "get window cache" if it is there. */
- if (__glutWindowCache == window)
- __glutWindowCache = NULL;
-
- if (window->visAlloced) {
- /* Only free XVisualInfo* gotten from glXChooseVisual. */
- XFree(window->vis);
- }
-
- if (window == __glutGameModeWindow) {
- /* Destroying the game mode window should implicitly
- have GLUT leave game mode. */
- __glutCloseDownGameMode();
- }
-
- free(window);
-}
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutDestroyWindow(int win)
-{
- GLUTwindow *window = __glutWindowList[win - 1];
-
- if (__glutMappedMenu && __glutMenuWindow == window) {
- __glutFatalUsage("destroying menu window not allowed while menus in use");
- }
-#if !defined(_WIN32)
- /* If not a toplevel window... */
- if (window->parent) {
- /* Destroying subwindows may change colormap requirements;
- recalculate toplevel window's WM_COLORMAP_WINDOWS
- property. */
- __glutPutOnWorkList(__glutToplevelOf(window->parent),
- GLUT_COLORMAP_WORK);
- }
-#endif
- __glutDestroyWindow(window, window);
- XFlush(__glutDisplay);
-}
-/* ENDCENTRY */
-
-void
-__glutChangeWindowEventMask(long eventMask, Bool add)
-{
- if (add) {
- /* Add eventMask to window's event mask. */
- if ((__glutCurrentWindow->eventMask & eventMask) !=
- eventMask) {
- __glutCurrentWindow->eventMask |= eventMask;
- __glutPutOnWorkList(__glutCurrentWindow,
- GLUT_EVENT_MASK_WORK);
- }
- } else {
- /* Remove eventMask from window's event mask. */
- if (__glutCurrentWindow->eventMask & eventMask) {
- __glutCurrentWindow->eventMask &= ~eventMask;
- __glutPutOnWorkList(__glutCurrentWindow,
- GLUT_EVENT_MASK_WORK);
- }
- }
-}
-
-void GLUTAPIENTRY
-glutDisplayFunc(GLUTdisplayCB displayFunc)
-{
- /* XXX Remove the warning after GLUT 3.0. */
- if (!displayFunc)
- __glutFatalError("NULL display callback not allowed in GLUT 3.0; update your code.");
- __glutCurrentWindow->display = displayFunc;
-}
-
-void GLUTAPIENTRY
-glutMouseFunc(GLUTmouseCB mouseFunc)
-{
- if (__glutCurrentWindow->mouse) {
- if (!mouseFunc) {
- /* Previous mouseFunc being disabled. */
- __glutCurrentWindow->buttonUses--;
- __glutChangeWindowEventMask(
- ButtonPressMask | ButtonReleaseMask,
- __glutCurrentWindow->buttonUses > 0);
- }
- } else {
- if (mouseFunc) {
- /* Previously no mouseFunc, new one being installed. */
- __glutCurrentWindow->buttonUses++;
- __glutChangeWindowEventMask(
- ButtonPressMask | ButtonReleaseMask, True);
- }
- }
- __glutCurrentWindow->mouse = mouseFunc;
-}
-
-void GLUTAPIENTRY
-glutMotionFunc(GLUTmotionCB motionFunc)
-{
- /* Hack. Some window managers (4Dwm by default) will mask
- motion events if the client is not selecting for button
- press and release events. So we select for press and
- release events too (being careful to use reference
- counting). */
- if (__glutCurrentWindow->motion) {
- if (!motionFunc) {
- /* previous mouseFunc being disabled */
- __glutCurrentWindow->buttonUses--;
- __glutChangeWindowEventMask(
- ButtonPressMask | ButtonReleaseMask,
- __glutCurrentWindow->buttonUses > 0);
- }
- } else {
- if (motionFunc) {
- /* Previously no mouseFunc, new one being installed. */
- __glutCurrentWindow->buttonUses++;
- __glutChangeWindowEventMask(
- ButtonPressMask | ButtonReleaseMask, True);
- }
- }
- /* Real work of selecting for passive mouse motion. */
- __glutChangeWindowEventMask(
- Button1MotionMask | Button2MotionMask | Button3MotionMask,
- motionFunc != NULL);
- __glutCurrentWindow->motion = motionFunc;
-}
-
-void GLUTAPIENTRY
-glutPassiveMotionFunc(GLUTpassiveCB passiveMotionFunc)
-{
- __glutChangeWindowEventMask(PointerMotionMask,
- passiveMotionFunc != NULL);
-
- /* Passive motion also requires watching enters and leaves so
- that a fake passive motion event can be generated on an
- enter. */
- __glutChangeWindowEventMask(EnterWindowMask | LeaveWindowMask,
- __glutCurrentWindow->entry != NULL || passiveMotionFunc != NULL);
-
- __glutCurrentWindow->passive = passiveMotionFunc;
-}
-
-void GLUTAPIENTRY
-glutEntryFunc(GLUTentryCB entryFunc)
-{
- __glutChangeWindowEventMask(EnterWindowMask | LeaveWindowMask,
- entryFunc != NULL || __glutCurrentWindow->passive);
- __glutCurrentWindow->entry = entryFunc;
- if (!entryFunc) {
- __glutCurrentWindow->entryState = -1;
- }
-}
-
-void GLUTAPIENTRY
-glutWindowStatusFunc(GLUTwindowStatusCB windowStatusFunc)
-{
- __glutChangeWindowEventMask(VisibilityChangeMask,
- windowStatusFunc != NULL);
- __glutCurrentWindow->windowStatus = windowStatusFunc;
- if (!windowStatusFunc) {
- /* Make state invalid. */
- __glutCurrentWindow->visState = -1;
- }
-}
-
-static void GLUTCALLBACK
-visibilityHelper(int status)
-{
- if (status == GLUT_HIDDEN || status == GLUT_FULLY_COVERED)
- __glutCurrentWindow->visibility(GLUT_NOT_VISIBLE);
- else
- __glutCurrentWindow->visibility(GLUT_VISIBLE);
-}
-
-void GLUTAPIENTRY
-glutVisibilityFunc(GLUTvisibilityCB visibilityFunc)
-{
- __glutCurrentWindow->visibility = visibilityFunc;
- if (visibilityFunc)
- glutWindowStatusFunc(visibilityHelper);
- else
- glutWindowStatusFunc(NULL);
-}
-
-void GLUTAPIENTRY
-glutReshapeFunc(GLUTreshapeCB reshapeFunc)
-{
- if (reshapeFunc) {
- __glutCurrentWindow->reshape = reshapeFunc;
- } else {
- __glutCurrentWindow->reshape = __glutDefaultReshape;
- }
-}
diff --git a/src/glut/glx/glut_winmisc.c b/src/glut/glx/glut_winmisc.c
deleted file mode 100644
index 0fc4c805f2..0000000000
--- a/src/glut/glx/glut_winmisc.c
+++ /dev/null
@@ -1,124 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#ifdef __VMS
-#include <GL/vms_x_fix.h>
-#endif
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <assert.h>
-
-#if !defined(_WIN32)
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-#include <X11/Xatom.h> /* for XA_STRING atom */
-#endif
-
-#include "glutint.h"
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutSetWindowTitle(const char *title)
-{
- XTextProperty textprop;
-
- assert(!__glutCurrentWindow->parent);
- IGNORE_IN_GAME_MODE();
- textprop.value = (unsigned char *) title;
- textprop.encoding = XA_STRING;
- textprop.format = 8;
- textprop.nitems = strlen(title);
- XSetWMName(__glutDisplay,
- __glutCurrentWindow->win, &textprop);
- XFlush(__glutDisplay);
-}
-
-void GLUTAPIENTRY
-glutSetIconTitle(const char *title)
-{
- XTextProperty textprop;
-
- assert(!__glutCurrentWindow->parent);
- IGNORE_IN_GAME_MODE();
- textprop.value = (unsigned char *) title;
- textprop.encoding = XA_STRING;
- textprop.format = 8;
- textprop.nitems = strlen(title);
- XSetWMIconName(__glutDisplay,
- __glutCurrentWindow->win, &textprop);
- XFlush(__glutDisplay);
-}
-
-void GLUTAPIENTRY
-glutPositionWindow(int x, int y)
-{
- IGNORE_IN_GAME_MODE();
- __glutCurrentWindow->desiredX = x;
- __glutCurrentWindow->desiredY = y;
- __glutCurrentWindow->desiredConfMask |= CWX | CWY;
- __glutPutOnWorkList(__glutCurrentWindow, GLUT_CONFIGURE_WORK);
-}
-
-void GLUTAPIENTRY
-glutReshapeWindow(int w, int h)
-{
- IGNORE_IN_GAME_MODE();
- if (w <= 0 || h <= 0)
- __glutWarning("glutReshapeWindow: non-positive width or height not allowed");
-
- __glutCurrentWindow->desiredWidth = w;
- __glutCurrentWindow->desiredHeight = h;
- __glutCurrentWindow->desiredConfMask |= CWWidth | CWHeight;
- __glutPutOnWorkList(__glutCurrentWindow, GLUT_CONFIGURE_WORK);
-}
-
-void GLUTAPIENTRY
-glutPopWindow(void)
-{
- IGNORE_IN_GAME_MODE();
- __glutCurrentWindow->desiredStack = Above;
- __glutCurrentWindow->desiredConfMask |= CWStackMode;
- __glutPutOnWorkList(__glutCurrentWindow, GLUT_CONFIGURE_WORK);
-}
-
-void GLUTAPIENTRY
-glutPushWindow(void)
-{
- IGNORE_IN_GAME_MODE();
- __glutCurrentWindow->desiredStack = Below;
- __glutCurrentWindow->desiredConfMask |= CWStackMode;
- __glutPutOnWorkList(__glutCurrentWindow, GLUT_CONFIGURE_WORK);
-}
-
-void GLUTAPIENTRY
-glutIconifyWindow(void)
-{
- IGNORE_IN_GAME_MODE();
- assert(!__glutCurrentWindow->parent);
- __glutCurrentWindow->desiredMapState = IconicState;
- __glutPutOnWorkList(__glutCurrentWindow, GLUT_MAP_WORK);
-}
-
-void GLUTAPIENTRY
-glutShowWindow(void)
-{
- IGNORE_IN_GAME_MODE();
- __glutCurrentWindow->desiredMapState = NormalState;
- __glutPutOnWorkList(__glutCurrentWindow, GLUT_MAP_WORK);
-}
-
-void GLUTAPIENTRY
-glutHideWindow(void)
-{
- IGNORE_IN_GAME_MODE();
- __glutCurrentWindow->desiredMapState = WithdrawnState;
- __glutPutOnWorkList(__glutCurrentWindow, GLUT_MAP_WORK);
-}
-
-/* ENDCENTRY */
diff --git a/src/glut/glx/glutbitmap.h b/src/glut/glx/glutbitmap.h
deleted file mode 100644
index 9584bb129d..0000000000
--- a/src/glut/glx/glutbitmap.h
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef __glutbitmap_h__
-#define __glutbitmap_h__
-
-/* Copyright (c) Mark J. Kilgard, 1994, 1998. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#define GLUT_NO_LIB_PRAGMA /* Avoid auto library linking when building
- the GLUT library itself. */
-#include <GL/glut.h>
-
-typedef struct {
- const GLsizei width;
- const GLsizei height;
- const GLfloat xorig;
- const GLfloat yorig;
- const GLfloat advance;
- const GLubyte *bitmap;
-} BitmapCharRec, *BitmapCharPtr;
-
-typedef struct {
- const char *name;
- const int num_chars;
- const int first;
- const BitmapCharRec * const *ch;
-} BitmapFontRec, *BitmapFontPtr;
-
-typedef void *GLUTbitmapFont;
-
-#endif /* __glutbitmap_h__ */
diff --git a/src/glut/glx/glutint.h b/src/glut/glx/glutint.h
deleted file mode 100644
index ba30af60f0..0000000000
--- a/src/glut/glx/glutint.h
+++ /dev/null
@@ -1,798 +0,0 @@
-#ifndef __glutint_h__
-#define __glutint_h__
-
-/* Copyright (c) Mark J. Kilgard, 1994, 1997, 1998. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#ifdef __VMS
-#include <GL/vms_x_fix.h>
-#endif
-
-#if defined(__CYGWIN32__)
-#include <sys/time.h>
-#endif
-
-#define SUPPORT_FORTRAN /* With GLUT 3.7, everyone supports Fortran. */
-
-#if defined(_WIN32)
-#include "glutwin32.h"
-#else
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-#define GLX_GLXEXT_PROTOTYPES
-#include <GL/glx.h>
-#endif
-
-#ifndef GLUT_BUILDING_LIB
-#define GLUT_BUILDING_LIB /* Building the GLUT library itself. */
-#endif
-
-#include <GL/glut.h>
-
-#ifndef _WIN32
-/* added by BrianP: */
-#ifndef APIENTRY
-#define APIENTRY GLAPIENTRY
-#endif
-#define __cdecl GLAPIENTRY
-#define CDECL GLAPIENTRY
-#endif
-
-/* GLUT_BUILDING_LIB is used by <GL/glut.h> to 1) not #pragma link
- with the GLUT library, and 2) avoid the Win32 atexit hack. */
-
-#ifdef SUPPORT_FORTRAN
-#include <GL/glutf90.h>
-#endif
-
-#ifdef __vms
-#if ( __VMS_VER < 70000000 )
-#define OLD_VMS
-struct timeval6 {
- __int64 val;
-};
-extern int sys$gettim(struct timeval6 *);
-#else
-#include <time.h>
-#endif
-#else
-#include <sys/types.h>
-#if !defined(_WIN32) || defined(__CYGWIN32__)
-#include <sys/time.h>
-#else
-#include <winsock.h>
-#endif
-#endif
-#if defined(__vms) && ( __VMS_VER < 70000000 )
-
-/* For VMS6.2 or lower :
- One TICK on VMS is 100 nanoseconds; 0.1 microseconds or
- 0.0001 milliseconds. This means that there are 0.01
- ticks/ns, 10 ticks/us, 10,000 ticks/ms and 10,000,000
- ticks/second. */
-
-#define TICKS_PER_MILLISECOND 10000
-#define TICKS_PER_SECOND 10000000
-
-#define GETTIMEOFDAY(_x) (void) sys$gettim (_x);
-
-#define ADD_TIME(dest, src1, src2) { \
- (dest).val = (src1).val + (src2).val; \
-}
-
-#define TIMEDELTA(dest, src1, src2) { \
- (dest).val = (src1).val - (src2).val; \
-}
-
-#define IS_AFTER(t1, t2) ((t2).val > (t1).val)
-
-#define IS_AT_OR_AFTER(t1, t2) ((t2).val >= (t1).val)
-
-#else
-#if defined(SVR4) && !defined(sun) /* Sun claims SVR4, but
- wants 2 args. */
-#define GETTIMEOFDAY(_x) gettimeofday(_x)
-#else
-#define GETTIMEOFDAY(_x) gettimeofday(_x, NULL)
-#endif
-#define ADD_TIME(dest, src1, src2) { \
- if(((dest).tv_usec = \
- (src1).tv_usec + (src2).tv_usec) >= 1000000) { \
- (dest).tv_usec -= 1000000; \
- (dest).tv_sec = (src1).tv_sec + (src2).tv_sec + 1; \
- } else { \
- (dest).tv_sec = (src1).tv_sec + (src2).tv_sec; \
- if(((dest).tv_sec >= 1) && (((dest).tv_usec <0))) { \
- (dest).tv_sec --;(dest).tv_usec += 1000000; \
- } \
- } \
-}
-#define TIMEDELTA(dest, src1, src2) { \
- if(((dest).tv_usec = (src1).tv_usec - (src2).tv_usec) < 0) { \
- (dest).tv_usec += 1000000; \
- (dest).tv_sec = (src1).tv_sec - (src2).tv_sec - 1; \
- } else { \
- (dest).tv_sec = (src1).tv_sec - (src2).tv_sec; \
- } \
-}
-#define IS_AFTER(t1, t2) \
- (((t2).tv_sec > (t1).tv_sec) || \
- (((t2).tv_sec == (t1).tv_sec) && \
- ((t2).tv_usec > (t1).tv_usec)))
-#define IS_AT_OR_AFTER(t1, t2) \
- (((t2).tv_sec > (t1).tv_sec) || \
- (((t2).tv_sec == (t1).tv_sec) && \
- ((t2).tv_usec >= (t1).tv_usec)))
-#endif
-
-#define IGNORE_IN_GAME_MODE() \
- { if (__glutGameModeWindow) return; }
-
-#define GLUT_WIND_IS_RGB(x) (((x) & GLUT_INDEX) == 0)
-#define GLUT_WIND_IS_INDEX(x) (((x) & GLUT_INDEX) != 0)
-#define GLUT_WIND_IS_SINGLE(x) (((x) & GLUT_DOUBLE) == 0)
-#define GLUT_WIND_IS_DOUBLE(x) (((x) & GLUT_DOUBLE) != 0)
-#define GLUT_WIND_HAS_ACCUM(x) (((x) & GLUT_ACCUM) != 0)
-#define GLUT_WIND_HAS_ALPHA(x) (((x) & GLUT_ALPHA) != 0)
-#define GLUT_WIND_HAS_DEPTH(x) (((x) & GLUT_DEPTH) != 0)
-#define GLUT_WIND_HAS_STENCIL(x) (((x) & GLUT_STENCIL) != 0)
-#define GLUT_WIND_IS_MULTISAMPLE(x) (((x) & GLUT_MULTISAMPLE) != 0)
-#define GLUT_WIND_IS_STEREO(x) (((x) & GLUT_STEREO) != 0)
-#define GLUT_WIND_IS_LUMINANCE(x) (((x) & GLUT_LUMINANCE) != 0)
-#define GLUT_MAP_WORK (1 << 0)
-#define GLUT_EVENT_MASK_WORK (1 << 1)
-#define GLUT_REDISPLAY_WORK (1 << 2)
-#define GLUT_CONFIGURE_WORK (1 << 3)
-#define GLUT_COLORMAP_WORK (1 << 4)
-#define GLUT_DEVICE_MASK_WORK (1 << 5)
-#define GLUT_FINISH_WORK (1 << 6)
-#define GLUT_DEBUG_WORK (1 << 7)
-#define GLUT_DUMMY_WORK (1 << 8)
-#define GLUT_FULL_SCREEN_WORK (1 << 9)
-#define GLUT_OVERLAY_REDISPLAY_WORK (1 << 10)
-#define GLUT_REPAIR_WORK (1 << 11)
-#define GLUT_OVERLAY_REPAIR_WORK (1 << 12)
-
-/* Frame buffer capability macros and types. */
-#define RGBA 0
-#define BUFFER_SIZE 1
-#define DOUBLEBUFFER 2
-#define STEREO 3
-#define AUX_BUFFERS 4
-#define RED_SIZE 5 /* Used as mask bit for
- "color selected". */
-#define GREEN_SIZE 6
-#define BLUE_SIZE 7
-#define ALPHA_SIZE 8
-#define DEPTH_SIZE 9
-#define STENCIL_SIZE 10
-#define ACCUM_RED_SIZE 11 /* Used as mask bit for
- "acc selected". */
-#define ACCUM_GREEN_SIZE 12
-#define ACCUM_BLUE_SIZE 13
-#define ACCUM_ALPHA_SIZE 14
-#define LEVEL 15
-
-#define NUM_GLXCAPS (LEVEL + 1)
-
-#define XVISUAL (NUM_GLXCAPS + 0)
-#define TRANSPARENT (NUM_GLXCAPS + 1)
-#define SAMPLES (NUM_GLXCAPS + 2)
-#define XSTATICGRAY (NUM_GLXCAPS + 3) /* Used as
- mask bit
- for "any
- visual type
- selected". */
-#define XGRAYSCALE (NUM_GLXCAPS + 4)
-#define XSTATICCOLOR (NUM_GLXCAPS + 5)
-#define XPSEUDOCOLOR (NUM_GLXCAPS + 6)
-#define XTRUECOLOR (NUM_GLXCAPS + 7)
-#define XDIRECTCOLOR (NUM_GLXCAPS + 8)
-#define SLOW (NUM_GLXCAPS + 9)
-#define CONFORMANT (NUM_GLXCAPS + 10)
-
-#define NUM_CAPS (NUM_GLXCAPS + 11)
-
-/* Frame buffer capablities that don't have a corresponding
- FrameBufferMode entry. These get used as mask bits. */
-#define NUM (NUM_CAPS + 0)
-#define RGBA_MODE (NUM_CAPS + 1)
-#define CI_MODE (NUM_CAPS + 2)
-#define LUMINANCE_MODE (NUM_CAPS + 3)
-
-#define NONE 0
-#define EQ 1
-#define NEQ 2
-#define LTE 3
-#define GTE 4
-#define GT 5
-#define LT 6
-#define MIN 7
-
-typedef struct _Criterion {
- int capability;
- int comparison;
- int value;
-} Criterion;
-
-typedef struct _FrameBufferMode {
- XVisualInfo *vi;
-#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_fbconfig)
-
- /* fbc is non-NULL when the XVisualInfo* is not OpenGL-capable
- (ie, GLX_USE_GL is false), but the SGIX_fbconfig extension shows
- the visual's fbconfig is OpenGL-capable. The reason for this is typically
- an RGBA luminance fbconfig such as 16-bit StaticGray that could
- not be advertised as a GLX visual since StaticGray visuals are
- required (by the GLX specification) to be color index. The
- SGIX_fbconfig allows StaticGray visuals to instead advertised as
- fbconfigs that can provide RGBA luminance support. */
-
- GLXFBConfigSGIX fbc;
-#endif
- int valid;
- int cap[NUM_CAPS];
-} FrameBufferMode;
-
-/* DisplayMode capability macros for game mode. */
-#define DM_WIDTH 0 /* "width" */
-#define DM_HEIGHT 1 /* "height" */
-#define DM_PIXEL_DEPTH 2 /* "bpp" (bits per pixel) */
-#define DM_HERTZ 3 /* "hertz" */
-#define DM_NUM 4 /* "num" */
-
-#define NUM_DM_CAPS (DM_NUM+1)
-
-typedef struct _DisplayMode {
-#ifdef _WIN32
- DEVMODE devmode;
-#else
- /* XXX The X Window System does not have a standard
- mechanism for display setting changes. On SGI
- systems, GLUT could use the XSGIvc (SGI X video
- control extension). Perhaps this can be done in
- a future release of GLUT. */
-#endif
- int valid;
- int cap[NUM_DM_CAPS];
-} DisplayMode;
-
-/* GLUT function types */
-typedef void (GLUTCALLBACK *GLUTdisplayCB) (void);
-typedef void (GLUTCALLBACK *GLUTreshapeCB) (int, int);
-typedef void (GLUTCALLBACK *GLUTkeyboardCB) (unsigned char, int, int);
-typedef void (GLUTCALLBACK *GLUTmouseCB) (int, int, int, int);
-typedef void (GLUTCALLBACK *GLUTmotionCB) (int, int);
-typedef void (GLUTCALLBACK *GLUTpassiveCB) (int, int);
-typedef void (GLUTCALLBACK *GLUTentryCB) (int);
-typedef void (GLUTCALLBACK *GLUTvisibilityCB) (int);
-typedef void (GLUTCALLBACK *GLUTwindowStatusCB) (int);
-typedef void (GLUTCALLBACK *GLUTidleCB) (void);
-typedef void (GLUTCALLBACK *GLUTtimerCB) (int);
-typedef void (GLUTCALLBACK *GLUTmenuStateCB) (int); /* DEPRICATED. */
-typedef void (GLUTCALLBACK *GLUTmenuStatusCB) (int, int, int);
-typedef void (GLUTCALLBACK *GLUTselectCB) (int);
-typedef void (GLUTCALLBACK *GLUTspecialCB) (int, int, int);
-typedef void (GLUTCALLBACK *GLUTspaceMotionCB) (int, int, int);
-typedef void (GLUTCALLBACK *GLUTspaceRotateCB) (int, int, int);
-typedef void (GLUTCALLBACK *GLUTspaceButtonCB) (int, int);
-typedef void (GLUTCALLBACK *GLUTdialsCB) (int, int);
-typedef void (GLUTCALLBACK *GLUTbuttonBoxCB) (int, int);
-typedef void (GLUTCALLBACK *GLUTtabletMotionCB) (int, int);
-typedef void (GLUTCALLBACK *GLUTtabletButtonCB) (int, int, int, int);
-typedef void (GLUTCALLBACK *GLUTjoystickCB) (unsigned int buttonMask, int x, int y, int z);
-
-typedef struct _GLUTcolorcell GLUTcolorcell;
-struct _GLUTcolorcell {
- /* GLUT_RED, GLUT_GREEN, GLUT_BLUE */
- GLfloat component[3];
-};
-
-typedef struct _GLUTcolormap GLUTcolormap;
-struct _GLUTcolormap {
- Visual *visual; /* visual of the colormap */
- Colormap cmap; /* X colormap ID */
- int refcnt; /* number of windows using colormap */
- int size; /* number of cells in colormap */
- int transparent; /* transparent pixel, or -1 if opaque */
- GLUTcolorcell *cells; /* array of cells */
- GLUTcolormap *next; /* next colormap in list */
-};
-
-typedef struct _GLUTwindow GLUTwindow;
-typedef struct _GLUToverlay GLUToverlay;
-struct _GLUTwindow {
- int num; /* Small integer window id (0-based). */
-
- /* Window system related state. */
-#if defined(_WIN32)
- int pf; /* Pixel format. */
- HDC hdc; /* Window's Win32 device context. */
-#endif
- Window win; /* X window for GLUT window */
- GLXContext ctx; /* OpenGL context GLUT glut window */
- XVisualInfo *vis; /* visual for window */
- Bool visAlloced; /* if vis needs deallocate on destroy */
- Colormap cmap; /* RGB colormap for window; None if CI */
- GLUTcolormap *colormap; /* colormap; NULL if RGBA */
- GLUToverlay *overlay; /* overlay; NULL if no overlay */
-#if defined(_WIN32)
- HDC renderDc; /* Win32's device context for rendering. */
-#endif
- Window renderWin; /* X window for rendering (might be
- overlay) */
- GLXContext renderCtx; /* OpenGL context for rendering (might
- be overlay) */
- /* GLUT settable or visible window state. */
- int width; /* window width in pixels */
- int height; /* window height in pixels */
- int cursor; /* cursor name */
- int visState; /* visibility state (-1 is unknown) */
- int shownState; /* if window mapped */
- int entryState; /* entry state (-1 is unknown) */
-#define GLUT_MAX_MENUS 3
-
- int menu[GLUT_MAX_MENUS]; /* attatched menu nums */
- /* Window relationship state. */
- GLUTwindow *parent; /* parent window */
- GLUTwindow *children; /* list of children */
- GLUTwindow *siblings; /* list of siblings */
- /* Misc. non-API visible (hidden) state. */
- Bool treatAsSingle; /* treat this window as single-buffered
- (it might be "fake" though) */
- Bool forceReshape; /* force reshape before display */
-#if !defined(_WIN32)
- Bool isDirect; /* if direct context (X11 only) */
-#endif
- Bool usedSwapBuffers; /* if swap buffers used last display */
- long eventMask; /* mask of X events selected for */
- int buttonUses; /* number of button uses, ref cnt */
- int tabletPos[2]; /* tablet position (-1 is invalid) */
- /* Work list related state. */
- unsigned int workMask; /* mask of window work to be done */
- GLUTwindow *prevWorkWin; /* link list of windows to work on */
- Bool desiredMapState; /* how to mapped window if on map work
- list */
- Bool ignoreKeyRepeat; /* if window ignores autorepeat */
- int desiredConfMask; /* mask of desired window configuration
- */
- int desiredX; /* desired X location */
- int desiredY; /* desired Y location */
- int desiredWidth; /* desired window width */
- int desiredHeight; /* desired window height */
- int desiredStack; /* desired window stack */
- /* Per-window callbacks. */
- GLUTdisplayCB display; /* redraw */
- GLUTreshapeCB reshape; /* resize (width,height) */
- GLUTmouseCB mouse; /* mouse (button,state,x,y) */
- GLUTmotionCB motion; /* motion (x,y) */
- GLUTpassiveCB passive; /* passive motion (x,y) */
- GLUTentryCB entry; /* window entry/exit (state) */
- GLUTkeyboardCB keyboard; /* keyboard (ASCII,x,y) */
- GLUTkeyboardCB keyboardUp; /* keyboard up (ASCII,x,y) */
- GLUTwindowStatusCB windowStatus; /* window status */
- GLUTvisibilityCB visibility; /* visibility */
- GLUTspecialCB special; /* special key */
- GLUTspecialCB specialUp; /* special up key */
- GLUTbuttonBoxCB buttonBox; /* button box */
- GLUTdialsCB dials; /* dials */
- GLUTspaceMotionCB spaceMotion; /* Spaceball motion */
- GLUTspaceRotateCB spaceRotate; /* Spaceball rotate */
- GLUTspaceButtonCB spaceButton; /* Spaceball button */
- GLUTtabletMotionCB tabletMotion; /* tablet motion */
- GLUTtabletButtonCB tabletButton; /* tablet button */
-#ifdef _WIN32
- GLUTjoystickCB joystick; /* joystick */
- int joyPollInterval; /* joystick polling interval */
-#endif
-#ifdef SUPPORT_FORTRAN
- GLUTdisplayFCB fdisplay; /* Fortran display */
- GLUTreshapeFCB freshape; /* Fortran reshape */
- GLUTmouseFCB fmouse; /* Fortran mouse */
- GLUTmotionFCB fmotion; /* Fortran motion */
- GLUTpassiveFCB fpassive; /* Fortran passive */
- GLUTentryFCB fentry; /* Fortran entry */
- GLUTkeyboardFCB fkeyboard; /* Fortran keyboard */
- GLUTkeyboardFCB fkeyboardUp; /* Fortran keyboard up */
- GLUTwindowStatusFCB fwindowStatus; /* Fortran window status */
- GLUTvisibilityFCB fvisibility; /* Fortran visibility */
- GLUTspecialFCB fspecial; /* special key */
- GLUTspecialFCB fspecialUp; /* special key up */
- GLUTbuttonBoxFCB fbuttonBox; /* button box */
- GLUTdialsFCB fdials; /* dials */
- GLUTspaceMotionFCB fspaceMotion; /* Spaceball motion */
- GLUTspaceRotateFCB fspaceRotate; /* Spaceball rotate */
- GLUTspaceButtonFCB fspaceButton; /* Spaceball button */
- GLUTtabletMotionFCB ftabletMotion; /* tablet motion */
- GLUTtabletButtonFCB ftabletButton; /* tablet button */
-#ifdef _WIN32
- GLUTjoystickFCB fjoystick; /* joystick */
-#endif
-#endif
-};
-
-struct _GLUToverlay {
-#if defined(_WIN32)
- int pf;
- HDC hdc;
-#endif
- Window win;
- GLXContext ctx;
- XVisualInfo *vis; /* visual for window */
- Bool visAlloced; /* if vis needs deallocate on destroy */
- Colormap cmap; /* RGB colormap for window; None if CI */
- GLUTcolormap *colormap; /* colormap; NULL if RGBA */
- int shownState; /* if overlay window mapped */
- Bool treatAsSingle; /* treat as single-buffered */
-#if !defined(_WIN32)
- Bool isDirect; /* if direct context */
-#endif
- int transparentPixel; /* transparent pixel value */
- GLUTdisplayCB display; /* redraw */
-#ifdef SUPPORT_FORTRAN
- GLUTdisplayFCB fdisplay; /* redraw */
-#endif
-};
-
-typedef struct _GLUTstale GLUTstale;
-struct _GLUTstale {
- GLUTwindow *window;
- Window win;
- GLUTstale *next;
-};
-
-extern GLUTstale *__glutStaleWindowList;
-
-#define GLUT_OVERLAY_EVENT_FILTER_MASK \
- (ExposureMask | \
- StructureNotifyMask | \
- EnterWindowMask | \
- LeaveWindowMask)
-#define GLUT_DONT_PROPAGATE_FILTER_MASK \
- (ButtonReleaseMask | \
- ButtonPressMask | \
- KeyPressMask | \
- KeyReleaseMask | \
- PointerMotionMask | \
- Button1MotionMask | \
- Button2MotionMask | \
- Button3MotionMask)
-#define GLUT_HACK_STOP_PROPAGATE_MASK \
- (KeyPressMask | \
- KeyReleaseMask)
-
-typedef struct _GLUTmenu GLUTmenu;
-typedef struct _GLUTmenuItem GLUTmenuItem;
-struct _GLUTmenu {
- int id; /* small integer menu id (0-based) */
- Window win; /* X window for the menu */
- GLUTselectCB select; /* function of menu */
- GLUTmenuItem *list; /* list of menu entries */
- int num; /* number of entries */
-#if !defined(_WIN32)
- Bool managed; /* are the InputOnly windows size
- validated? */
- Bool searched; /* help detect menu loops */
- int pixheight; /* height of menu in pixels */
- int pixwidth; /* width of menu in pixels */
-#endif
- int submenus; /* number of submenu entries */
- GLUTmenuItem *highlighted; /* pointer to highlighted menu
- entry, NULL not highlighted */
- GLUTmenu *cascade; /* currently cascading this menu */
- GLUTmenuItem *anchor; /* currently anchored to this entry */
- int x; /* current x origin relative to the
- root window */
- int y; /* current y origin relative to the
- root window */
-#ifdef SUPPORT_FORTRAN
- GLUTselectFCB fselect; /* function of menu */
-#endif
-};
-
-struct _GLUTmenuItem {
- Window win; /* InputOnly X window for entry */
- GLUTmenu *menu; /* menu entry belongs to */
- Bool isTrigger; /* is a submenu trigger? */
- int value; /* value to return for selecting this
- entry; doubles as submenu id
- (0-base) if submenu trigger */
-#if defined(_WIN32)
- UINT unique; /* unique menu item id (Win32 only) */
-#endif
- char *label; /* __glutStrdup'ed label string */
- int len; /* length of label string */
- int pixwidth; /* width of X window in pixels */
- GLUTmenuItem *next; /* next menu entry on list for menu */
-};
-
-typedef struct _GLUTtimer GLUTtimer;
-struct _GLUTtimer {
- GLUTtimer *next; /* list of timers */
-#ifdef OLD_VMS
- struct timeval6 timeout; /* time to be called */
-#else
- struct timeval timeout; /* time to be called */
-#endif
- GLUTtimerCB func; /* timer (value) */
- int value; /* return value */
-#ifdef SUPPORT_FORTRAN
- GLUTtimerFCB ffunc; /* Fortran timer */
-#endif
-};
-
-typedef struct _GLUTeventParser GLUTeventParser;
-struct _GLUTeventParser {
- int (*func) (XEvent *);
- GLUTeventParser *next;
-};
-
-/* Declarations to implement glutFullScreen support with
- mwm/4Dwm. */
-
-/* The following X property format is defined in Motif 1.1's
- Xm/MwmUtils.h, but GLUT should not depend on that header
- file. Note: Motif 1.2 expanded this structure with
- uninteresting fields (to GLUT) so just stick with the
- smaller Motif 1.1 structure. */
-typedef struct {
-#define MWM_HINTS_DECORATIONS 2
- long flags;
- long functions;
- long decorations;
- long input_mode;
-} MotifWmHints;
-
-/* Make current and buffer swap macros. */
-#ifdef _WIN32
-#define MAKE_CURRENT_LAYER(window) \
- { \
- HGLRC currentContext = wglGetCurrentContext(); \
- HDC currentDc = wglGetCurrentDC(); \
- \
- if (currentContext != window->renderCtx \
- || currentDc != window->renderDc) { \
- wglMakeCurrent(window->renderDc, window->renderCtx); \
- } \
- }
-#define MAKE_CURRENT_WINDOW(window) \
- { \
- HGLRC currentContext = wglGetCurrentContext(); \
- HDC currentDc = wglGetCurrentDC(); \
- \
- if (currentContext != window->ctx || currentDc != window->hdc) { \
- wglMakeCurrent(window->hdc, window->ctx); \
- } \
- }
-#define MAKE_CURRENT_OVERLAY(overlay) \
- wglMakeCurrent(overlay->hdc, overlay->ctx)
-#define UNMAKE_CURRENT() \
- wglMakeCurrent(NULL, NULL)
-#define SWAP_BUFFERS_WINDOW(window) \
- SwapBuffers(window->hdc)
-#define SWAP_BUFFERS_LAYER(window) \
- SwapBuffers(window->renderDc)
-#else
-#define MAKE_CURRENT_LAYER(window) \
- glXMakeCurrent(__glutDisplay, window->renderWin, window->renderCtx)
-#define MAKE_CURRENT_WINDOW(window) \
- glXMakeCurrent(__glutDisplay, window->win, window->ctx)
-#define MAKE_CURRENT_OVERLAY(overlay) \
- glXMakeCurrent(__glutDisplay, overlay->win, overlay->ctx)
-#define UNMAKE_CURRENT() \
- glXMakeCurrent(__glutDisplay, None, NULL)
-#define SWAP_BUFFERS_WINDOW(window) \
- glXSwapBuffers(__glutDisplay, window->win)
-#define SWAP_BUFFERS_LAYER(window) \
- glXSwapBuffers(__glutDisplay, window->renderWin)
-#endif
-
-/* private variables from glut_event.c */
-extern GLUTwindow *__glutWindowWorkList;
-extern int __glutWindowDamaged;
-#ifdef SUPPORT_FORTRAN
-extern GLUTtimer *__glutTimerList;
-extern GLUTtimer *__glutNewTimer;
-#endif
-extern GLUTmenu *__glutMappedMenu;
-
-extern void (*__glutUpdateInputDeviceMaskFunc) (GLUTwindow *);
-#if !defined(_WIN32)
-extern void (*__glutMenuItemEnterOrLeave)(GLUTmenuItem * item,
- int num, int type);
-extern void (*__glutFinishMenu)(Window win, int x, int y);
-extern void (*__glutPaintMenu)(GLUTmenu * menu);
-extern void (*__glutStartMenu)(GLUTmenu * menu,
- GLUTwindow * window, int x, int y, int x_win, int y_win);
-extern GLUTmenu * (*__glutGetMenuByNum)(int menunum);
-extern GLUTmenuItem * (*__glutGetMenuItem)(GLUTmenu * menu,
- Window win, int *which);
-extern GLUTmenu * (*__glutGetMenu)(Window win);
-#endif
-
-/* private variables from glut_init.c */
-extern Atom __glutWMDeleteWindow;
-extern Display *__glutDisplay;
-extern unsigned int __glutDisplayMode;
-extern char *__glutDisplayString;
-extern XVisualInfo *(*__glutDetermineVisualFromString) (char *string, Bool * treatAsSingle,
- Criterion * requiredCriteria, int nRequired, int requiredMask, void **fbc);
-extern GLboolean __glutDebug;
-extern GLboolean __glutForceDirect;
-extern GLboolean __glutIconic;
-extern GLboolean __glutTryDirect;
-extern Window __glutRoot;
-extern XSizeHints __glutSizeHints;
-extern char **__glutArgv;
-extern char *__glutProgramName;
-extern int __glutArgc;
-extern int __glutConnectionFD;
-extern int __glutInitHeight;
-extern int __glutInitWidth;
-extern int __glutInitX;
-extern int __glutInitY;
-extern int __glutScreen;
-extern int __glutScreenHeight;
-extern int __glutScreenWidth;
-extern Atom __glutMotifHints;
-extern unsigned int __glutModifierMask;
-#ifdef _WIN32
-extern void (__cdecl *__glutExitFunc)(int retval);
-#endif
-extern char *__glutPPMFile;
-
-/* private variables from glut_menu.c */
-extern GLUTmenuItem *__glutItemSelected;
-extern GLUTmenu **__glutMenuList;
-extern void (GLUTCALLBACK *__glutMenuStatusFunc) (int, int, int);
-extern void __glutMenuModificationError(void);
-extern void __glutSetMenuItem(GLUTmenuItem * item,
- const char *label, int value, Bool isTrigger);
-
-/* private variables from glut_win.c */
-extern GLUTwindow **__glutWindowList;
-extern GLUTwindow *__glutCurrentWindow;
-extern GLUTwindow *__glutMenuWindow;
-extern GLUTmenu *__glutCurrentMenu;
-extern int __glutWindowListSize;
-extern void (*__glutFreeOverlayFunc) (GLUToverlay *);
-extern void __glutFreeOverlay(GLUToverlay * overlay);
-extern XVisualInfo *__glutDetermineWindowVisual(Bool * treatAsSingle,
- Bool * visAlloced, void **fbc);
-
-/* private variables from glut_ppm.c */
-extern void __glutWritePPMFile(void);
-
-/* private variables from glut_mesa.c */
-extern int __glutMesaSwapHackSupport;
-
-/* private variables from glut_gamemode.c */
-extern GLUTwindow *__glutGameModeWindow;
-
-/* private routines from glut_cindex.c */
-extern GLUTcolormap * __glutAssociateNewColormap(XVisualInfo * vis);
-extern void __glutFreeColormap(GLUTcolormap *);
-
-/* private routines from glut_cmap.c */
-extern void __glutSetupColormap(
- XVisualInfo * vi,
- GLUTcolormap ** colormap,
- Colormap * cmap);
-#if !defined(_WIN32)
-extern void __glutEstablishColormapsProperty(
- GLUTwindow * window);
-extern GLUTwindow *__glutToplevelOf(GLUTwindow * window);
-#endif
-
-/* private routines from glut_cursor.c */
-extern void __glutSetCursor(GLUTwindow *window);
-
-/* private routines from glut_event.c */
-extern void __glutPutOnWorkList(GLUTwindow * window,
- int work_mask);
-extern void __glutRegisterEventParser(GLUTeventParser * parser);
-extern void __glutPostRedisplay(GLUTwindow * window, int layerMask);
-extern void handleTimeouts(void);
-
-/* private routines from glut_init.c */
-#if !defined(_WIN32)
-extern void __glutOpenXConnection(char *display);
-#else
-extern void __glutOpenWin32Connection(char *display);
-#endif
-#ifdef OLD_VMS
-extern void __glutInitTime(struct timeval6 *beginning);
-#else
-extern void __glutInitTime(struct timeval *beginning);
-#endif
-
-/* private routines for glut_menu.c (or win32_menu.c) */
-#if defined(_WIN32)
-extern GLUTmenu *__glutGetMenu(Window win);
-extern GLUTmenu *__glutGetMenuByNum(int menunum);
-extern GLUTmenuItem *__glutGetMenuItem(GLUTmenu * menu,
- Window win, int *which);
-extern void __glutStartMenu(GLUTmenu * menu,
- GLUTwindow * window, int x, int y, int x_win, int y_win);
-extern void __glutFinishMenu(Window win, int x, int y);
-#endif
-extern void __glutSetMenu(GLUTmenu * menu);
-
-/* private routines from glut_util.c */
-extern char * __glutStrdup(const char *string);
-extern void __glutWarning(char *format,...);
-extern void __glutFatalError(char *format,...);
-extern void __glutFatalUsage(char *format,...);
-
-/* private routines from glut_win.c */
-extern GLUTwindow *__glutGetWindow(Window win);
-extern void __glutChangeWindowEventMask(long mask, Bool add);
-extern XVisualInfo *__glutDetermineVisual(
- unsigned int mode,
- Bool * fakeSingle,
- XVisualInfo * (getVisualInfo) (unsigned int));
-extern XVisualInfo *__glutGetVisualInfo(unsigned int mode);
-extern void __glutSetWindow(GLUTwindow * window);
-extern void __glutReshapeFunc(GLUTreshapeCB reshapeFunc,
- int callingConvention);
-extern void GLUTCALLBACK __glutDefaultReshape(int, int);
-extern GLUTwindow *__glutCreateWindow(
- GLUTwindow * parent,
- int x, int y, int width, int height, int gamemode);
-extern void __glutDestroyWindow(
- GLUTwindow * window,
- GLUTwindow * initialWindow);
-
-#if !defined(_WIN32)
-/* private routines from glut_glxext.c */
-extern int __glutIsSupportedByGLX(char *);
-extern int __glut_glXBindChannelToWindowSGIX(Display *dpy, int screen,
- int channel, Window window);
-extern int __glut_glXChannelRectSGIX(Display *dpy, int screen, int channel,
- int x, int y, int w, int h);
-extern int __glut_glXQueryChannelRectSGIX(Display *dpy, int screen,
- int channel, int *x, int *y,
- int *w, int *h);
-extern int __glut_glXQueryChannelDeltasSGIX(Display *dpy, int screen,
- int channel, int *dx, int *dy,
- int *dw, int *dh);
-extern int __glut_glXChannelRectSyncSGIX(Display *dpy, int screen, int channel,
- GLenum synctype);
-extern GLXContext __glut_glXCreateContextWithConfigSGIX(Display *dpy,
- GLXFBConfigSGIX config,
- int render_type,
- GLXContext share_list,
- Bool direct);
-extern int __glut_glXGetFBConfigAttribSGIX(Display *dpy,
- GLXFBConfigSGIX config,
- int attribute,
- int *value);
-extern GLXFBConfigSGIX __glut_glXGetFBConfigFromVisualSGIX(Display *dpy,
- XVisualInfo *vis);
-#endif
-
-/* private routines from glut_input.c */
-extern void __glutUpdateInputDeviceMask(GLUTwindow * window);
-
-/* private routines from glut_mesa.c */
-extern void __glutDetermineMesaSwapHackSupport(void);
-
-/* private routines from glut_gameglut.c */
-extern void __glutCloseDownGameMode(void);
-
-/* private variables from glut_swap.c (BrianP) */
-extern GLint __glutFPS;
-extern GLint __glutSwapCount;
-extern GLint __glutSwapTime;
-
-#if defined(_WIN32)
-/* private routines from win32_*.c */
-extern LONG WINAPI __glutWindowProc(HWND win, UINT msg, WPARAM w, LPARAM l);
-extern HDC XHDC;
-#endif
-
-
-#endif /* __glutint_h__ */
diff --git a/src/glut/glx/glutstroke.h b/src/glut/glx/glutstroke.h
deleted file mode 100644
index 74b60314aa..0000000000
--- a/src/glut/glx/glutstroke.h
+++ /dev/null
@@ -1,42 +0,0 @@
-#ifndef __glutstroke_h__
-#define __glutstroke_h__
-
-/* Copyright (c) Mark J. Kilgard, 1994. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#if defined(_MSC_VER)
-#pragma warning (disable:4244) /* disable bogus conversion warnings */
-#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */
-#endif
-
-typedef struct {
- float x;
- float y;
-} CoordRec, *CoordPtr;
-
-typedef struct {
- int num_coords;
- const CoordRec *coord;
-} StrokeRec, *StrokePtr;
-
-typedef struct {
- int num_strokes;
- const StrokeRec *stroke;
- float center;
- float right;
-} StrokeCharRec, *StrokeCharPtr;
-
-typedef struct {
- const char *name;
- int num_chars;
- const StrokeCharRec *ch;
- float top;
- float bottom;
-} StrokeFontRec, *StrokeFontPtr;
-
-typedef void *GLUTstrokeFont;
-
-#endif /* __glutstroke_h__ */
diff --git a/src/glut/glx/glutwin32.h b/src/glut/glx/glutwin32.h
deleted file mode 100644
index 01db99fad6..0000000000
--- a/src/glut/glx/glutwin32.h
+++ /dev/null
@@ -1,97 +0,0 @@
-#ifndef __glutwin32_h__
-#define __glutwin32_h__
-
-/* Copyright (c) Nate Robins, 1997. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include "win32_x11.h"
-#include "win32_glx.h"
-
-/* We have to undef some things because Microsoft likes to pollute the
- global namespace. */
-#undef TRANSPARENT
-
-/* Win32 "equivalent" cursors - eventually, the X glyphs should be
- converted to Win32 cursors -- then they will look the same */
-#define XC_arrow IDC_ARROW
-#define XC_top_left_arrow IDC_ARROW
-#define XC_hand1 IDC_SIZEALL
-#define XC_pirate IDC_NO
-#define XC_question_arrow IDC_HELP
-#define XC_exchange IDC_NO
-#define XC_spraycan IDC_SIZEALL
-#define XC_watch IDC_WAIT
-#define XC_xterm IDC_IBEAM
-#define XC_crosshair IDC_CROSS
-#define XC_sb_v_double_arrow IDC_SIZENS
-#define XC_sb_h_double_arrow IDC_SIZEWE
-#define XC_top_side IDC_UPARROW
-#define XC_bottom_side IDC_SIZENS
-#define XC_left_side IDC_SIZEWE
-#define XC_right_side IDC_SIZEWE
-#define XC_top_left_corner IDC_SIZENWSE
-#define XC_top_right_corner IDC_SIZENESW
-#define XC_bottom_right_corner IDC_SIZENWSE
-#define XC_bottom_left_corner IDC_SIZENESW
-
-#define XA_STRING 0
-
-/* Private routines from win32_util.c */
-#ifndef __CYGWIN32__
-struct timeval;
-extern int gettimeofday(struct timeval* tp, void* tzp);
-#endif
-extern void *__glutFont(void *font);
-extern int __glutGetTransparentPixel(Display *dpy, XVisualInfo *vinfo);
-extern void __glutAdjustCoords(Window parent, int *x, int *y, int *width, int *height);
-
-
-/* Cygwin B20.1 misses the following definitions */
-#ifdef __CYGWIN32__
-
-/* from winuser.h */
-#define CDS_FULLSCREEN 4
-
-/* from mmsystem.h */
-#define WINMMAPI __declspec(dllimport)
-typedef UINT MMRESULT;
-
-#define MM_JOY1MOVE 0x3A0
-#define MM_JOY1ZMOVE 0x3A2
-#define MM_JOY1BUTTONDOWN 0x3B5
-#define MM_JOY1BUTTONUP 0x3B7
-
-#define JOYERR_NOERROR 0
-#define JOYERR_PARMS 165
-
-#define JOY_RETURNALL 0x000000ffl
-
-#define JOYSTICKID1 0
-
-typedef struct joyinfoex_tag {
- DWORD dwSize; /* size of structure */
- DWORD dwFlags; /* flags to indicate what to return */
- DWORD dwXpos; /* x position */
- DWORD dwYpos; /* y position */
- DWORD dwZpos; /* z position */
- DWORD dwRpos; /* rudder/4th axis position */
- DWORD dwUpos; /* 5th axis position */
- DWORD dwVpos; /* 6th axis position */
- DWORD dwButtons; /* button states */
- DWORD dwButtonNumber; /* current button number pressed */
- DWORD dwPOV; /* point of view state */
- DWORD dwReserved1; /* reserved for communication between winmm & driver */
- DWORD dwReserved2; /* reserved for future expansion */
-} JOYINFOEX, *PJOYINFOEX, /* NEAR */ *NPJOYINFOEX, /* FAR */ *LPJOYINFOEX;
-
-WINMMAPI MMRESULT WINAPI joyGetPosEx( UINT uJoyID, LPJOYINFOEX pji);
-WINMMAPI MMRESULT WINAPI joyReleaseCapture( UINT uJoyID);
-WINMMAPI MMRESULT WINAPI joySetCapture( HWND hwnd, UINT uJoyID, UINT uPeriod, BOOL fChanged);
-WINMMAPI MMRESULT WINAPI joySetThreshold( UINT uJoyID, UINT uThreshold);
-
-#endif
-
-#endif /* __glutwin32_h__ */
diff --git a/src/glut/glx/layerutil.c b/src/glut/glx/layerutil.c
deleted file mode 100644
index 26ba0b6029..0000000000
--- a/src/glut/glx/layerutil.c
+++ /dev/null
@@ -1,204 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1993, 1994. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-/* Based on XLayerUtil.c: Revision: 1.5 */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include "layerutil.h"
-
-/* SGI optimization introduced in IRIX 6.3 to avoid X server
- round trips for interning common X atoms. */
-#include <X11/Xatom.h>
-#if defined(_SGI_EXTRA_PREDEFINES) && !defined(NO_FAST_ATOMS)
-#include <X11/SGIFastAtom.h>
-#else
-#define XSGIFastInternAtom(dpy,string,fast_name,how) XInternAtom(dpy,string,how)
-#endif
-
-static Bool layersRead = False;
-static OverlayInfo **overlayInfoPerScreen;
-static unsigned long *numOverlaysPerScreen;
-
-static void
-findServerOverlayVisualsInfo(Display * dpy)
-{
- static Atom overlayVisualsAtom;
- Atom actualType;
- Status status;
- unsigned long sizeData, bytesLeft;
- Window root;
- int actualFormat, numScreens, i;
-
- if (layersRead == False) {
- overlayVisualsAtom = XSGIFastInternAtom(dpy,
- "SERVER_OVERLAY_VISUALS", SGI_XA_SERVER_OVERLAY_VISUALS, True);
- if (overlayVisualsAtom != None) {
- numScreens = ScreenCount(dpy);
- overlayInfoPerScreen = (OverlayInfo **)
- malloc(numScreens * sizeof(OverlayInfo *));
- numOverlaysPerScreen = (unsigned long *)
- malloc(numScreens * sizeof(unsigned long));
- if (overlayInfoPerScreen != NULL &&
- numOverlaysPerScreen != NULL) {
- for (i = 0; i < numScreens; i++) {
- root = RootWindow(dpy, i);
- status = XGetWindowProperty(dpy, root,
- overlayVisualsAtom, 0L, (long) 10000, False,
- overlayVisualsAtom, &actualType, &actualFormat,
- &sizeData, &bytesLeft,
- (unsigned char **) &overlayInfoPerScreen[i]);
- if (status != Success ||
- actualType != overlayVisualsAtom ||
- actualFormat != 32 || sizeData < 4)
- numOverlaysPerScreen[i] = 0;
- else
- /* Four 32-bit quantities per
- SERVER_OVERLAY_VISUALS entry. */
- numOverlaysPerScreen[i] = sizeData / 4;
- }
- layersRead = True;
- } else {
- if (overlayInfoPerScreen != NULL)
- free(overlayInfoPerScreen);
- if (numOverlaysPerScreen != NULL)
- free(numOverlaysPerScreen);
- }
- }
- }
-}
-
-int
-__glutGetTransparentPixel(Display * dpy, XVisualInfo * vinfo)
-{
- int i, screen = vinfo->screen;
- OverlayInfo *overlayInfo;
-
- findServerOverlayVisualsInfo(dpy);
- if (layersRead) {
- for (i = 0; i < numOverlaysPerScreen[screen]; i++) {
- overlayInfo = &overlayInfoPerScreen[screen][i];
- if (vinfo->visualid == overlayInfo->overlay_visual) {
- if (overlayInfo->transparent_type == TransparentPixel) {
- return (int) overlayInfo->value;
- } else {
- return -1;
- }
- }
- }
- }
- return -1;
-}
-
-XLayerVisualInfo *
-__glutXGetLayerVisualInfo(Display * dpy, long lvinfo_mask,
- XLayerVisualInfo * lvinfo_template, int *nitems_return)
-{
- XVisualInfo *vinfo;
- XLayerVisualInfo *layerInfo;
- int numVisuals, count, i, j;
-
- vinfo = XGetVisualInfo(dpy, lvinfo_mask & VisualAllMask,
- &lvinfo_template->vinfo, nitems_return);
- if (vinfo == NULL)
- return NULL;
- numVisuals = *nitems_return;
- findServerOverlayVisualsInfo(dpy);
- layerInfo = (XLayerVisualInfo *)
- malloc(numVisuals * sizeof(XLayerVisualInfo));
- if (layerInfo == NULL) {
- XFree(vinfo);
- return NULL;
- }
- count = 0;
- for (i = 0; i < numVisuals; i++) {
- XVisualInfo *pVinfo = &vinfo[i];
- int screen = pVinfo->screen;
- OverlayInfo *overlayInfo = NULL;
-
- overlayInfo = NULL;
- if (layersRead) {
- for (j = 0; j < numOverlaysPerScreen[screen]; j++)
- if (pVinfo->visualid ==
- overlayInfoPerScreen[screen][j].overlay_visual) {
- overlayInfo = &overlayInfoPerScreen[screen][j];
- break;
- }
- }
- if (lvinfo_mask & VisualLayerMask) {
- if (overlayInfo == NULL) {
- if (lvinfo_template->layer != 0)
- continue;
- } else if (lvinfo_template->layer != overlayInfo->layer)
- continue;
- }
- if (lvinfo_mask & VisualTransparentType) {
- if (overlayInfo == NULL) {
- if (lvinfo_template->type != None)
- continue;
- } else if (lvinfo_template->type !=
- overlayInfo->transparent_type)
- continue;
- }
- if (lvinfo_mask & VisualTransparentValue) {
- if (overlayInfo == NULL)
- /* Non-overlay visuals have no sense of
- TransparentValue. */
- continue;
- else if (lvinfo_template->value != overlayInfo->value)
- continue;
- }
- layerInfo[count].vinfo = *pVinfo;
- if (overlayInfo == NULL) {
- layerInfo[count].layer = 0;
- layerInfo[count].type = None;
- layerInfo[count].value = 0; /* meaningless */
- } else {
- layerInfo[count].layer = overlayInfo->layer;
- layerInfo[count].type = overlayInfo->transparent_type;
- layerInfo[count].value = overlayInfo->value;
- }
- count++;
- }
- XFree(vinfo);
- *nitems_return = count;
- if (count == 0) {
- XFree(layerInfo);
- return NULL;
- } else
- return layerInfo;
-}
-
-#if 0 /* Unused by GLUT. */
-Status
-__glutXMatchLayerVisualInfo(Display * dpy, int screen,
- int depth, int visualClass, int layer,
- XLayerVisualInfo * lvinfo_return)
-{
- XLayerVisualInfo *lvinfo;
- XLayerVisualInfo lvinfoTemplate;
- int nitems;
-
- lvinfoTemplate.vinfo.screen = screen;
- lvinfoTemplate.vinfo.depth = depth;
-#if defined(__cplusplus) || defined(c_plusplus)
- lvinfoTemplate.vinfo.c_class = visualClass;
-#else
- lvinfoTemplate.vinfo.class = visualClass;
-#endif
- lvinfoTemplate.layer = layer;
- lvinfo = __glutXGetLayerVisualInfo(dpy,
- VisualScreenMask | VisualDepthMask |
- VisualClassMask | VisualLayerMask,
- &lvinfoTemplate, &nitems);
- if (lvinfo != NULL && nitems > 0) {
- *lvinfo_return = *lvinfo;
- return 1;
- } else
- return 0;
-}
-#endif
diff --git a/src/glut/glx/layerutil.h b/src/glut/glx/layerutil.h
deleted file mode 100644
index 8f580afe3b..0000000000
--- a/src/glut/glx/layerutil.h
+++ /dev/null
@@ -1,59 +0,0 @@
-#ifndef __layerutil_h__
-#define __layerutil_h__
-
-/* Copyright (c) Mark J. Kilgard, 1993, 1994. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-/* Based on XLayerUtil.h: Revision: 1.3 */
-
-#ifdef __VMS
-#include <GL/vms_x_fix.h>
-#endif
-
-#if !defined(_WIN32)
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-#include <X11/Xmd.h>
-#endif /* !_WIN32 */
-
-/* Transparent type values */
-/* None 0 */
-#define TransparentPixel 1
-#define TransparentMask 2
-
-/* layered visual info template flags */
-#define VisualLayerMask 0x200
-#define VisualTransparentType 0x400
-#define VisualTransparentValue 0x800
-#define VisualAllLayerMask 0xFFF
-
-/* layered visual info structure */
-typedef struct _XLayerVisualInfo {
- XVisualInfo vinfo;
- long layer;
- long type;
- unsigned long value;
-} XLayerVisualInfo;
-
-/* SERVER_OVERLAY_VISUALS property element */
-typedef struct _OverlayInfo {
- /* Avoid 64-bit portability problems by being careful to use
- longs due to the way XGetWindowProperty is specified. Note
- that these parameters are passed as CARD32s over X
- protocol. */
- long overlay_visual;
- long transparent_type;
- long value;
- long layer;
-} OverlayInfo;
-
-extern int __glutGetTransparentPixel(Display *, XVisualInfo *);
-extern XLayerVisualInfo *__glutXGetLayerVisualInfo(Display *,
- long, XLayerVisualInfo *, int *);
-extern Status __glutXMatchLayerVisualInfo(Display *,
- int, int, int, int, XLayerVisualInfo *);
-
-#endif /* __layerutil_h__ */
diff --git a/src/glut/glx/stroke.h b/src/glut/glx/stroke.h
deleted file mode 100644
index 602b2fae9f..0000000000
--- a/src/glut/glx/stroke.h
+++ /dev/null
@@ -1,133 +0,0 @@
-
-/*****************************************************************
-Copyright (c) 1989,1990, 1991 by Sun Microsystems, Inc. and the X Consortium.
-
- All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in
-supporting documentation, and that the names of Sun Microsystems,
-the X Consortium, and MIT not be used in advertising or publicity
-pertaining to distribution of the software without specific, written
-prior permission.
-
-SUN MICROSYSTEMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
-INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT
-SHALL SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
-DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
-WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
-ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
-SOFTWARE.
-
-******************************************************************/
-
-#ifndef WFONT_INCLUDED
-#define WFONT_INCLUDED
-
-#define WFONT_MAGIC 0x813
-#define WFONT_MAGIC_PLUS 0x715
-#define WFONT_MAGIC_PEX 0x70686e74
-#define START_PROPS 0x100
-#define START_DISPATCH(_num_props) (START_PROPS + 160 * _num_props)
-#define START_PATH(_num_ch_, _num_props) (START_DISPATCH(_num_props) + sizeof(Dispatch) * _num_ch_)
-#define NUM_DISPATCH 128
-
-typedef struct {
- unsigned short x;
- unsigned short y;
-} Path_point2dpx;
-
-typedef struct {
- float x;
- float y;
-} Path_point2df;
-
-typedef struct {
- int x;
- int y;
- int z;
-} Path_point3di;
-
-typedef struct {
- float x;
- float y;
- float z;
-} Path_point3df;
-
-typedef struct {
- float x;
- float y;
- float z;
- float w;
-} Path_point4df;
-
-typedef union {
- Path_point2dpx *pt2dpx;
- Path_point2df *pt2df;
- Path_point3di *pt3di;
- Path_point3df *pt3df;
- Path_point4df *pt4df;
-} Path_pt_ptr;
-
-typedef enum {
- PATH_2DF,
- PATH_2DPX,
- PATH_3DF,
- PATH_3DI,
- PATH_4DF
-} Path_type;
-
-typedef struct {
- int n_pts; /* number of points in the subpath */
- Path_pt_ptr pts; /* pointer to them */
- int closed; /* true if the subpath is closed */
- int dcmp_flag; /* flag for pgon dcmp, pgon type
- * and dcmped triangle type */
-} Path_subpath;
-
-typedef struct {
- Path_type type; /* type of vertices in this path */
- int n_subpaths; /* number of subpaths */
- int n_vertices; /* total number of vertices */
- Path_subpath *subpaths; /* array of subpaths */
-} Path;
-
-typedef Path *Path_handle;
-
-typedef struct {
- char propname[80]; /* font property name */
- char propvalue[80]; /* font property value */
-} Property;
-
-typedef struct {
- int magic; /* magic number */
- char name[80]; /* name of this font */
- float top, /* extreme values */
- bottom, max_width;
- int num_ch; /* no. of fonts in the set */
- int num_props; /* no. of font properties */
- Property *properties; /* array of properties */
-} Font_header;
-
-typedef struct {
- float center, /* center of the character */
- right; /* right edge */
- long offset; /* offset in the file of the character
- * * description */
-} Dispatch;
-
-typedef struct {
- float center, right;
- Path strokes;
-} Ch_font;
-
-typedef struct {
- char name[80];
- float top, bottom, max_width;
- int num_ch; /* # characters in the font */
- Ch_font **ch_data;
-} Phg_font;
-
-#endif /*WFONT_INCLUDED */
diff --git a/src/glut/glx/win32_glx.c b/src/glut/glx/win32_glx.c
deleted file mode 100644
index 3522e606ec..0000000000
--- a/src/glut/glx/win32_glx.c
+++ /dev/null
@@ -1,256 +0,0 @@
-
-/* Copyright (c) Nate Robins, 1997. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include <stdio.h>
-#include "glutint.h"
-#include "win32_glx.h"
-
-/* global current HDC */
-extern HDC XHDC;
-
-GLXContext
-glXCreateContext(Display * display, XVisualInfo * visinfo,
- GLXContext share, Bool direct)
-{
- /* KLUDGE: GLX really expects a display pointer to be passed
- in as the first parameter, but Win32 needs an HDC instead,
- so BE SURE that the global XHDC is set before calling this
- routine. */
- HGLRC context;
-
- context = wglCreateContext(XHDC);
-
-#if 0
- /* XXX GLUT doesn't support it now, so don't worry about display list
- and texture object sharing. */
- if (share) {
- wglShareLists(share, context);
- }
-#endif
-
- /* Since direct rendering is implicit, the direct flag is
- ignored. */
-
- return context;
-}
-
-int
-glXGetConfig(Display * display, XVisualInfo * visual, int attrib, int *value)
-{
- if (!visual)
- return GLX_BAD_VISUAL;
-
- switch (attrib) {
- case GLX_USE_GL:
- if (visual->dwFlags & (PFD_SUPPORT_OPENGL | PFD_DRAW_TO_WINDOW)) {
- /* XXX Brad's Matrix Millenium II has problems creating
- color index windows in 24-bit mode (lead to GDI crash)
- and 32-bit mode (lead to black window). The cColorBits
- filed of the PIXELFORMATDESCRIPTOR returned claims to
- have 24 and 32 bits respectively of color indices. 2^24
- and 2^32 are ridiculously huge writable colormaps.
- Assume that if we get back a color index
- PIXELFORMATDESCRIPTOR with 24 or more bits, the
- PIXELFORMATDESCRIPTOR doesn't really work and skip it.
- -mjk */
- if (visual->iPixelType == PFD_TYPE_COLORINDEX
- && visual->cColorBits >= 24) {
- *value = 0;
- } else {
- *value = 1;
- }
- } else {
- *value = 0;
- }
- break;
- case GLX_BUFFER_SIZE:
- /* KLUDGE: if we're RGBA, return the number of bits/pixel,
- otherwise, return 8 (we guessed at 256 colors in CI
- mode). */
- if (visual->iPixelType == PFD_TYPE_RGBA)
- *value = visual->cColorBits;
- else
- *value = 8;
- break;
- case GLX_LEVEL:
- /* The bReserved flag of the pfd contains the
- overlay/underlay info. */
- *value = visual->bReserved;
- break;
- case GLX_RGBA:
- *value = visual->iPixelType == PFD_TYPE_RGBA;
- break;
- case GLX_DOUBLEBUFFER:
- *value = visual->dwFlags & PFD_DOUBLEBUFFER;
- break;
- case GLX_STEREO:
- *value = visual->dwFlags & PFD_STEREO;
- break;
- case GLX_AUX_BUFFERS:
- *value = visual->cAuxBuffers;
- break;
- case GLX_RED_SIZE:
- *value = visual->cRedBits;
- break;
- case GLX_GREEN_SIZE:
- *value = visual->cGreenBits;
- break;
- case GLX_BLUE_SIZE:
- *value = visual->cBlueBits;
- break;
- case GLX_ALPHA_SIZE:
- *value = visual->cAlphaBits;
- break;
- case GLX_DEPTH_SIZE:
- *value = visual->cDepthBits;
- break;
- case GLX_STENCIL_SIZE:
- *value = visual->cStencilBits;
- break;
- case GLX_ACCUM_RED_SIZE:
- *value = visual->cAccumRedBits;
- break;
- case GLX_ACCUM_GREEN_SIZE:
- *value = visual->cAccumGreenBits;
- break;
- case GLX_ACCUM_BLUE_SIZE:
- *value = visual->cAccumBlueBits;
- break;
- case GLX_ACCUM_ALPHA_SIZE:
- *value = visual->cAccumAlphaBits;
- break;
- default:
- return GLX_BAD_ATTRIB;
- }
- return 0;
-}
-
-XVisualInfo *
-glXChooseVisual(Display * display, int screen, int *attribList)
-{
- /* KLUDGE: since we need the HDC, MAKE SURE to set XHDC
- before calling this routine. */
-
- int *p = attribList;
- int pf;
- PIXELFORMATDESCRIPTOR pfd;
- PIXELFORMATDESCRIPTOR *match = NULL;
- int stereo = 0;
-
- /* Avoid seg-faults. */
- if (!p)
- return NULL;
-
- memset(&pfd, 0, sizeof(PIXELFORMATDESCRIPTOR));
- pfd.nSize = (sizeof(PIXELFORMATDESCRIPTOR));
- pfd.nVersion = 1;
-
- /* Defaults. */
- pfd.dwFlags = PFD_SUPPORT_OPENGL | PFD_DRAW_TO_WINDOW;
- pfd.iPixelType = PFD_TYPE_COLORINDEX;
- pfd.cColorBits = 32;
- pfd.cDepthBits = 0;
-
- while (*p) {
- switch (*p) {
- case GLX_USE_GL:
- pfd.dwFlags |= PFD_SUPPORT_OPENGL;
- break;
- case GLX_BUFFER_SIZE:
- pfd.cColorBits = *(++p);
- break;
- case GLX_LEVEL:
- /* the bReserved flag of the pfd contains the
- overlay/underlay info. */
- pfd.bReserved = *(++p);
- break;
- case GLX_RGBA:
- pfd.iPixelType = PFD_TYPE_RGBA;
- break;
- case GLX_DOUBLEBUFFER:
- pfd.dwFlags |= PFD_DOUBLEBUFFER;
- break;
- case GLX_STEREO:
- stereo = 1;
- pfd.dwFlags |= PFD_STEREO;
- break;
- case GLX_AUX_BUFFERS:
- pfd.cAuxBuffers = *(++p);
- break;
- case GLX_RED_SIZE:
- pfd.cRedBits = 8; /* Try to get the maximum. */
- ++p;
- break;
- case GLX_GREEN_SIZE:
- pfd.cGreenBits = 8;
- ++p;
- break;
- case GLX_BLUE_SIZE:
- pfd.cBlueBits = 8;
- ++p;
- break;
- case GLX_ALPHA_SIZE:
- pfd.cAlphaBits = 8;
- ++p;
- break;
- case GLX_DEPTH_SIZE:
- pfd.cDepthBits = 32;
- ++p;
- break;
- case GLX_STENCIL_SIZE:
- pfd.cStencilBits = *(++p);
- break;
- case GLX_ACCUM_RED_SIZE:
- case GLX_ACCUM_GREEN_SIZE:
- case GLX_ACCUM_BLUE_SIZE:
- case GLX_ACCUM_ALPHA_SIZE:
- /* I believe that WGL only used the cAccumRedBits,
- cAccumBlueBits, cAccumGreenBits, and cAccumAlphaBits fields
- when returning info about the accumulation buffer precision.
- Only cAccumBits is used for requesting an accumulation
- buffer. */
- pfd.cAccumBits = 1;
- ++p;
- break;
- }
- ++p;
- }
-
- /* Let Win32 choose one for us. */
- pf = ChoosePixelFormat(XHDC, &pfd);
- if (pf > 0) {
- match = (PIXELFORMATDESCRIPTOR *) malloc(sizeof(PIXELFORMATDESCRIPTOR));
- DescribePixelFormat(XHDC, pf, sizeof(PIXELFORMATDESCRIPTOR), match);
-
- /* ChoosePixelFormat is dumb in that it will return a pixel
- format that doesn't have stereo even if it was requested
- so we need to make sure that if stereo was selected, we
- got it. */
- if (stereo) {
- if (!(match->dwFlags & PFD_STEREO)) {
- free(match);
- return NULL;
- }
- }
- /* XXX Brad's Matrix Millenium II has problems creating
- color index windows in 24-bit mode (lead to GDI crash)
- and 32-bit mode (lead to black window). The cColorBits
- filed of the PIXELFORMATDESCRIPTOR returned claims to
- have 24 and 32 bits respectively of color indices. 2^24
- and 2^32 are ridiculously huge writable colormaps.
- Assume that if we get back a color index
- PIXELFORMATDESCRIPTOR with 24 or more bits, the
- PIXELFORMATDESCRIPTOR doesn't really work and skip it.
- -mjk */
- if (match->iPixelType == PFD_TYPE_COLORINDEX
- && match->cColorBits >= 24) {
- free(match);
- return NULL;
- }
- }
- return match;
-}
diff --git a/src/glut/glx/win32_glx.h b/src/glut/glx/win32_glx.h
deleted file mode 100644
index d3630e7a1e..0000000000
--- a/src/glut/glx/win32_glx.h
+++ /dev/null
@@ -1,58 +0,0 @@
-#ifndef __win32_glx_h__
-#define __win32_glx_h__
-
-/* Copyright (c) Nate Robins, 1997. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include "win32_x11.h"
-
-/* Type definitions (conversions). */
-typedef HGLRC GLXContext;
-
-#define GLX_USE_GL 1 /* support GLX rendering */
-#define GLX_BUFFER_SIZE 2 /* depth of the color buffer */
-#define GLX_LEVEL 3 /* level in plane stacking */
-#define GLX_RGBA 4 /* true if RGBA mode */
-#define GLX_DOUBLEBUFFER 5 /* double buffering supported */
-#define GLX_STEREO 6 /* stereo buffering supported */
-#define GLX_AUX_BUFFERS 7 /* number of aux buffers */
-#define GLX_RED_SIZE 8 /* number of red component bits */
-#define GLX_GREEN_SIZE 9 /* number of green component bits */
-#define GLX_BLUE_SIZE 10 /* number of blue component bits */
-#define GLX_ALPHA_SIZE 11 /* number of alpha component bits */
-#define GLX_DEPTH_SIZE 12 /* number of depth bits */
-#define GLX_STENCIL_SIZE 13 /* number of stencil bits */
-#define GLX_ACCUM_RED_SIZE 14 /* number of red accum bits */
-#define GLX_ACCUM_GREEN_SIZE 15 /* number of green accum bits */
-#define GLX_ACCUM_BLUE_SIZE 16 /* number of blue accum bits */
-#define GLX_ACCUM_ALPHA_SIZE 17 /* number of alpha accum bits */
-
-#define GLX_BAD_ATTRIB 2
-#define GLX_BAD_VISUAL 4
-
-/* Functions emulated by macros. */
-
-#define glXDestroyContext(display, context) \
- wglDeleteContext(context)
-
-/* Function prototypes. */
-
-extern GLXContext glXCreateContext(
- Display* display,
- XVisualInfo* visinfo,
- GLXContext share,
- Bool direct);
-extern int glXGetConfig(
- Display* display,
- XVisualInfo* visual,
- int attrib,
- int* value);
-extern XVisualInfo* glXChooseVisual(
- Display* display,
- int screen,
- int* attribList);
-
-#endif /* __win32_glx_h__ */
diff --git a/src/glut/glx/win32_menu.c b/src/glut/glx/win32_menu.c
deleted file mode 100644
index d8e336ceed..0000000000
--- a/src/glut/glx/win32_menu.c
+++ /dev/null
@@ -1,531 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994, 1997, 1998. */
-/* Copyright (c) Nate Robins, 1997. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-/* This file completely re-implements glut_menu.c and glut_menu2.c
- for Win32. Note that neither glut_menu.c nor glut_menu2.c are
- compiled into Win32 GLUT. */
-
-#include <stdlib.h>
-#include <string.h>
-#include <stdio.h>
-#include <errno.h>
-#include <assert.h>
-
-#include "glutint.h"
-
-void (GLUTCALLBACK *__glutMenuStatusFunc) (int, int, int);
-GLUTmenu *__glutMappedMenu;
-GLUTwindow *__glutMenuWindow;
-GLUTmenuItem *__glutItemSelected;
-unsigned __glutMenuButton;
-
-static GLUTmenu **menuList = NULL;
-static int menuListSize = 0;
-static UINT uniqueMenuHandler = 1;
-
-/* DEPRICATED, use glutMenuStatusFunc instead. */
-void GLUTAPIENTRY
-glutMenuStateFunc(GLUTmenuStateCB menuStateFunc)
-{
- __glutMenuStatusFunc = (GLUTmenuStatusCB) menuStateFunc;
-}
-
-void GLUTAPIENTRY
-glutMenuStatusFunc(GLUTmenuStatusCB menuStatusFunc)
-{
- __glutMenuStatusFunc = menuStatusFunc;
-}
-
-void
-__glutSetMenu(GLUTmenu * menu)
-{
- __glutCurrentMenu = menu;
-}
-
-static void
-unmapMenu(GLUTmenu * menu)
-{
- if (menu->cascade) {
- unmapMenu(menu->cascade);
- menu->cascade = NULL;
- }
- menu->anchor = NULL;
- menu->highlighted = NULL;
-}
-
-void
-__glutFinishMenu(Window win, int x, int y)
-{
-
- unmapMenu(__glutMappedMenu);
-
- /* XXX Put in a GdiFlush just in case. Probably unnecessary. -mjk */
- GdiFlush();
-
- if (__glutMenuStatusFunc) {
- __glutSetWindow(__glutMenuWindow);
- __glutSetMenu(__glutMappedMenu);
-
- /* Setting __glutMappedMenu to NULL permits operations that
- change menus or destroy the menu window again. */
- __glutMappedMenu = NULL;
-
- __glutMenuStatusFunc(GLUT_MENU_NOT_IN_USE, x, y);
- }
- /* Setting __glutMappedMenu to NULL permits operations that
- change menus or destroy the menu window again. */
- __glutMappedMenu = NULL;
-
- /* If an item is selected and it is not a submenu trigger,
- generate menu callback. */
- if (__glutItemSelected && !__glutItemSelected->isTrigger) {
- __glutSetWindow(__glutMenuWindow);
- /* When menu callback is triggered, current menu should be
- set to the callback menu. */
- __glutSetMenu(__glutItemSelected->menu);
- __glutItemSelected->menu->select(__glutItemSelected->value);
- }
- __glutMenuWindow = NULL;
-}
-
-static void
-mapMenu(GLUTmenu * menu, int x, int y)
-{
- TrackPopupMenu((HMENU) menu->win, TPM_LEFTALIGN |
- ((__glutMenuButton == TPM_RIGHTBUTTON) ? TPM_RIGHTBUTTON : TPM_LEFTBUTTON),
- x, y, 0, __glutCurrentWindow->win, NULL);
-}
-
-void
-__glutStartMenu(GLUTmenu * menu, GLUTwindow * window,
- int x, int y, int x_win, int y_win)
-{
- assert(__glutMappedMenu == NULL);
- __glutMappedMenu = menu;
- __glutMenuWindow = window;
- __glutItemSelected = NULL;
- if (__glutMenuStatusFunc) {
- __glutSetMenu(menu);
- __glutSetWindow(window);
- __glutMenuStatusFunc(GLUT_MENU_IN_USE, x_win, y_win);
- }
- mapMenu(menu, x, y);
-}
-
-GLUTmenuItem *
-__glutGetUniqueMenuItem(GLUTmenu * menu, UINT unique)
-{
- GLUTmenuItem *item;
- int i;
-
- i = menu->num;
- item = menu->list;
- while (item) {
- if (item->unique == unique) {
- return item;
- }
- if (item->isTrigger) {
- GLUTmenuItem *subitem;
- subitem = __glutGetUniqueMenuItem(menuList[item->value], unique);
- if (subitem) {
- return subitem;
- }
- }
- i--;
- item = item->next;
- }
- return NULL;
-}
-
-GLUTmenuItem *
-__glutGetMenuItem(GLUTmenu * menu, Window win, int *which)
-{
- GLUTmenuItem *item;
- int i;
-
- i = menu->num;
- item = menu->list;
- while (item) {
- if (item->win == win) {
- *which = i;
- return item;
- }
- if (item->isTrigger) {
- GLUTmenuItem *subitem;
-
- subitem = __glutGetMenuItem(menuList[item->value],
- win, which);
- if (subitem) {
- return subitem;
- }
- }
- i--;
- item = item->next;
- }
- return NULL;
-}
-
-GLUTmenu *
-__glutGetMenu(Window win)
-{
- GLUTmenu *menu;
-
- menu = __glutMappedMenu;
- while (menu) {
- if (win == menu->win) {
- return menu;
- }
- menu = menu->cascade;
- }
- return NULL;
-}
-
-GLUTmenu *
-__glutGetMenuByNum(int menunum)
-{
- if (menunum < 1 || menunum > menuListSize) {
- return NULL;
- }
- return menuList[menunum - 1];
-}
-
-static int
-getUnusedMenuSlot(void)
-{
- int i;
-
- /* Look for allocated, unused slot. */
- for (i = 0; i < menuListSize; i++) {
- if (!menuList[i]) {
- return i;
- }
- }
- /* Allocate a new slot. */
- menuListSize++;
- if (menuList) {
- menuList = (GLUTmenu **)
- realloc(menuList, menuListSize * sizeof(GLUTmenu *));
- } else {
- /* XXX Some realloc's do not correctly perform a malloc
- when asked to perform a realloc on a NULL pointer,
- though the ANSI C library spec requires this. */
- menuList = (GLUTmenu **) malloc(sizeof(GLUTmenu *));
- }
- if (!menuList) {
- __glutFatalError("out of memory.");
- }
- menuList[menuListSize - 1] = NULL;
- return menuListSize - 1;
-}
-
-static void
-menuModificationError(void)
-{
- /* XXX Remove the warning after GLUT 3.0. */
- __glutWarning("The following is a new check for GLUT 3.0; update your code.");
- __glutFatalError("menu manipulation not allowed while menus in use.");
-}
-
-int GLUTAPIENTRY
-glutCreateMenu(GLUTselectCB selectFunc)
-{
- GLUTmenu *menu;
- int menuid;
-
- if (__glutMappedMenu) {
- menuModificationError();
- }
- menuid = getUnusedMenuSlot();
- menu = (GLUTmenu *) malloc(sizeof(GLUTmenu));
- if (!menu) {
- __glutFatalError("out of memory.");
- }
- menu->id = menuid;
- menu->num = 0;
- menu->submenus = 0;
- menu->select = selectFunc;
- menu->list = NULL;
- menu->cascade = NULL;
- menu->highlighted = NULL;
- menu->anchor = NULL;
- menu->win = (HWND) CreatePopupMenu();
- menuList[menuid] = menu;
- __glutSetMenu(menu);
- return menuid + 1;
-}
-
-int GLUTAPIENTRY
-__glutCreateMenuWithExit(GLUTselectCB selectFunc, void (__cdecl *exitfunc)(int))
-{
- __glutExitFunc = exitfunc;
- return glutCreateMenu(selectFunc);
-}
-
-void GLUTAPIENTRY
-glutDestroyMenu(int menunum)
-{
- GLUTmenu *menu = __glutGetMenuByNum(menunum);
- GLUTmenuItem *item, *next;
-
- if (__glutMappedMenu) {
- menuModificationError();
- }
- assert(menu->id == menunum - 1);
- DestroyMenu( (HMENU) menu->win);
- menuList[menunum - 1] = NULL;
- /* free all menu entries */
- item = menu->list;
- while (item) {
- assert(item->menu == menu);
- next = item->next;
- free(item->label);
- free(item);
- item = next;
- }
- if (__glutCurrentMenu == menu) {
- __glutCurrentMenu = NULL;
- }
- free(menu);
-}
-
-int GLUTAPIENTRY
-glutGetMenu(void)
-{
- if (__glutCurrentMenu) {
- return __glutCurrentMenu->id + 1;
- } else {
- return 0;
- }
-}
-
-void GLUTAPIENTRY
-glutSetMenu(int menuid)
-{
- GLUTmenu *menu;
-
- if (menuid < 1 || menuid > menuListSize) {
- __glutWarning("glutSetMenu attempted on bogus menu.");
- return;
- }
- menu = menuList[menuid - 1];
- if (!menu) {
- __glutWarning("glutSetMenu attempted on bogus menu.");
- return;
- }
- __glutSetMenu(menu);
-}
-
-static void
-setMenuItem(GLUTmenuItem * item, const char *label,
- int value, Bool isTrigger)
-{
- GLUTmenu *menu;
-
- menu = item->menu;
- item->label = __glutStrdup(label);
- if (!item->label) {
- __glutFatalError("out of memory.");
- }
- item->isTrigger = isTrigger;
- item->len = (int) strlen(label);
- item->value = value;
- item->unique = uniqueMenuHandler++;
- if (isTrigger) {
- AppendMenu((HMENU) menu->win, MF_POPUP, (UINT)item->win, label);
- } else {
- AppendMenu((HMENU) menu->win, MF_STRING, item->unique, label);
- }
-}
-
-void GLUTAPIENTRY
-glutAddMenuEntry(const char *label, int value)
-{
- GLUTmenuItem *entry;
-
- if (__glutMappedMenu) {
- menuModificationError();
- }
- entry = (GLUTmenuItem *) malloc(sizeof(GLUTmenuItem));
- if (!entry) {
- __glutFatalError("out of memory.");
- }
- entry->menu = __glutCurrentMenu;
- setMenuItem(entry, label, value, FALSE);
- __glutCurrentMenu->num++;
- entry->next = __glutCurrentMenu->list;
- __glutCurrentMenu->list = entry;
-}
-
-void GLUTAPIENTRY
-glutAddSubMenu(const char *label, int menu)
-{
- GLUTmenuItem *submenu;
- GLUTmenu *popupmenu;
-
- if (__glutMappedMenu) {
- menuModificationError();
- }
- submenu = (GLUTmenuItem *) malloc(sizeof(GLUTmenuItem));
- if (!submenu) {
- __glutFatalError("out of memory.");
- }
- __glutCurrentMenu->submenus++;
- submenu->menu = __glutCurrentMenu;
- popupmenu = __glutGetMenuByNum(menu);
- if (popupmenu) {
- submenu->win = popupmenu->win;
- }
- setMenuItem(submenu, label, /* base 0 */ menu - 1, TRUE);
- __glutCurrentMenu->num++;
- submenu->next = __glutCurrentMenu->list;
- __glutCurrentMenu->list = submenu;
-}
-
-void GLUTAPIENTRY
-glutChangeToMenuEntry(int num, const char *label, int value)
-{
- GLUTmenuItem *item;
- int i;
-
- if (__glutMappedMenu) {
- menuModificationError();
- }
- i = __glutCurrentMenu->num;
- item = __glutCurrentMenu->list;
- while (item) {
- if (i == num) {
- if (item->isTrigger) {
- /* If changing a submenu trigger to a menu entry, we
- need to account for submenus. */
- item->menu->submenus--;
- /* Nuke the Win32 menu. */
- DestroyMenu((HMENU) item->win);
- }
- free(item->label);
-
- item->label = strdup(label);
- if (!item->label)
- __glutFatalError("out of memory");
- item->isTrigger = FALSE;
- item->len = (int) strlen(label);
- item->value = value;
- item->unique = uniqueMenuHandler++;
- ModifyMenu((HMENU) __glutCurrentMenu->win, (UINT) i - 1,
- MF_BYPOSITION | MFT_STRING, item->unique, label);
-
- return;
- }
- i--;
- item = item->next;
- }
- __glutWarning("Current menu has no %d item.", num);
-}
-
-void GLUTAPIENTRY
-glutChangeToSubMenu(int num, const char *label, int menu)
-{
- GLUTmenu *popupmenu;
- GLUTmenuItem *item;
- int i;
-
- if (__glutMappedMenu) {
- menuModificationError();
- }
- i = __glutCurrentMenu->num;
- item = __glutCurrentMenu->list;
- while (item) {
- if (i == num) {
- if (!item->isTrigger) {
- /* If changing a menu entry to as submenu trigger, we
- need to account for submenus. */
- item->menu->submenus++;
- item->win = (HWND) CreatePopupMenu();
- }
- free(item->label);
-
- item->label = strdup(label);
- if (!item->label)
- __glutFatalError("out of memory");
- item->isTrigger = TRUE;
- item->len = (int) strlen(label);
- item->value = menu - 1;
- item->unique = uniqueMenuHandler++;
- popupmenu = __glutGetMenuByNum(menu);
- if (popupmenu)
- item->win = popupmenu->win;
- ModifyMenu((HMENU) __glutCurrentMenu->win, (UINT) i - 1,
- MF_BYPOSITION | MF_POPUP, (UINT) item->win, label);
- return;
- }
- i--;
- item = item->next;
- }
- __glutWarning("Current menu has no %d item.", num);
-}
-
-void GLUTAPIENTRY
-glutRemoveMenuItem(int num)
-{
- GLUTmenuItem *item, **prev;
- int i;
-
- if (__glutMappedMenu) {
- menuModificationError();
- }
- i = __glutCurrentMenu->num;
- prev = &__glutCurrentMenu->list;
- item = __glutCurrentMenu->list;
- while (item) {
- if (i == num) {
- /* Found the menu item in list to remove. */
- __glutCurrentMenu->num--;
-
- /* Patch up menu's item list. */
- *prev = item->next;
-
- RemoveMenu((HMENU) __glutCurrentMenu->win, (UINT) i - 1, MF_BYPOSITION);
-
- free(item->label);
- free(item);
- return;
- }
- i--;
- prev = &item->next;
- item = item->next;
- }
- __glutWarning("Current menu has no %d item.", num);
-}
-
-void GLUTAPIENTRY
-glutAttachMenu(int button)
-{
- if (__glutCurrentWindow == __glutGameModeWindow) {
- __glutWarning("cannot attach menus in game mode.");
- return;
- }
- if (__glutMappedMenu) {
- menuModificationError();
- }
- if (__glutCurrentWindow->menu[button] < 1) {
- __glutCurrentWindow->buttonUses++;
- }
- __glutCurrentWindow->menu[button] = __glutCurrentMenu->id + 1;
-}
-
-void GLUTAPIENTRY
-glutDetachMenu(int button)
-{
- if (__glutMappedMenu) {
- menuModificationError();
- }
- if (__glutCurrentWindow->menu[button] > 0) {
- __glutCurrentWindow->buttonUses--;
- __glutCurrentWindow->menu[button] = 0;
- }
-}
-
diff --git a/src/glut/glx/win32_util.c b/src/glut/glx/win32_util.c
deleted file mode 100644
index 25af48a112..0000000000
--- a/src/glut/glx/win32_util.c
+++ /dev/null
@@ -1,121 +0,0 @@
-
-/* Copyright (c) Nate Robins, 1997. */
-
-/* portions Copyright (c) Mark Kilgard, 1997, 1998. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-
-#include "glutint.h"
-#include "glutstroke.h"
-#include "glutbitmap.h"
-#include <sys/timeb.h>
-
-/* The following added by Paul Garceau <pgarceau@teleport.com> */
-#if defined(__MINGW32__)
-#include <GL/gl.h>
-#include <time.h>
-#include <windows.h>
-struct timeval;
-#endif
-
-extern StrokeFontRec glutStrokeRoman, glutStrokeMonoRoman;
-extern BitmapFontRec glutBitmap8By13, glutBitmap9By15, glutBitmapTimesRoman10, glutBitmapTimesRoman24, glutBitmapHelvetica10, glutBitmapHelvetica12, glutBitmapHelvetica18;
-
-#ifndef __CYGWIN32__
-int
-gettimeofday(struct timeval* tp, void* tzp)
-{
- struct timeb tb;
-
- ftime(&tb);
- tp->tv_sec = tb.time;
- tp->tv_usec = tb.millitm * 1000;
-
- /* 0 indicates that the call succeeded. */
- return 0;
-}
-#endif
-
-/* To get around the fact that Microsoft DLLs only allow functions
- to be exported and now data addresses (as Unix DSOs support), the
- GLUT API constants such as GLUT_STROKE_ROMAN have to get passed
- through a case statement to get mapped to the actual data structure
- address. */
-void*
-__glutFont(void *font)
-{
- switch((int)font) {
- case (int)GLUT_STROKE_ROMAN:
- return &glutStrokeRoman;
- case (int)GLUT_STROKE_MONO_ROMAN:
- return &glutStrokeMonoRoman;
- case (int)GLUT_BITMAP_9_BY_15:
- return &glutBitmap9By15;
- case (int)GLUT_BITMAP_8_BY_13:
- return &glutBitmap8By13;
- case (int)GLUT_BITMAP_TIMES_ROMAN_10:
- return &glutBitmapTimesRoman10;
- case (int)GLUT_BITMAP_TIMES_ROMAN_24:
- return &glutBitmapTimesRoman24;
- case (int)GLUT_BITMAP_HELVETICA_10:
- return &glutBitmapHelvetica10;
- case (int)GLUT_BITMAP_HELVETICA_12:
- return &glutBitmapHelvetica12;
- case (int)GLUT_BITMAP_HELVETICA_18:
- return &glutBitmapHelvetica18;
- }
- __glutFatalError("font not found.");
- /* NOTREACHED */
- return NULL; /* MSVC compiler complains if there is no return at all */
-}
-
-int
-__glutGetTransparentPixel(Display * dpy, XVisualInfo * vinfo)
-{
- /* the transparent pixel on Win32 is always index number 0. So if
- we put this routine in this file, we can avoid compiling the
- whole of layerutil.c which is where this routine normally comes
- from. */
- return 0;
-}
-
-void
-__glutAdjustCoords(Window parent, int* x, int* y, int* width, int* height)
-{
- RECT rect;
-
- /* adjust the window rectangle because Win32 thinks that the x, y,
- width & height are the WHOLE window (including decorations),
- whereas GLUT treats the x, y, width & height as only the CLIENT
- area of the window. */
- rect.left = *x; rect.top = *y;
- rect.right = *x + *width; rect.bottom = *y + *height;
-
- /* must adjust the coordinates according to the correct style
- because depending on the style, there may or may not be
- borders. */
- AdjustWindowRect(&rect, WS_CLIPSIBLINGS | WS_CLIPCHILDREN |
- (parent ? WS_CHILD : WS_OVERLAPPEDWINDOW),
- FALSE);
- /* FALSE in the third parameter = window has no menu bar */
-
- /* readjust if the x and y are offscreen */
- if(rect.left < 0) {
- *x = 0;
- } else {
- *x = rect.left;
- }
-
- if(rect.top < 0) {
- *y = 0;
- } else {
- *y = rect.top;
- }
-
- *width = rect.right - rect.left; /* adjusted width */
- *height = rect.bottom - rect.top; /* adjusted height */
-}
-
diff --git a/src/glut/glx/win32_winproc.c b/src/glut/glx/win32_winproc.c
deleted file mode 100644
index 1b3a297828..0000000000
--- a/src/glut/glx/win32_winproc.c
+++ /dev/null
@@ -1,792 +0,0 @@
-
-/* Copyright (c) Nate Robins, 1997. */
-/* portions Copyright (c) Mark Kilgard, 1997, 1998. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-
-#include "glutint.h"
-#include <sys/timeb.h>
-#ifdef __MINGW32__
-#include <ctype.h>
-#endif
-
-#if defined(_WIN32) && !defined(__CYGWIN32__)
-#include <mmsystem.h> /* Win32 Multimedia API header. */
-#endif
-
-extern unsigned __glutMenuButton;
-extern GLUTidleCB __glutIdleFunc;
-extern GLUTtimer *__glutTimerList;
-extern GLUTmenuItem *__glutGetUniqueMenuItem(GLUTmenu * menu, UINT unique);
-static HMENU __glutHMenu;
-
-static void
-updateWindowState(GLUTwindow *window, int visState)
-{
- GLUTwindow* child;
-
- /* XXX shownState and visState are the same in Win32. */
- window->shownState = visState;
- if (visState != window->visState) {
- if (window->windowStatus) {
- window->visState = visState;
- __glutSetWindow(window);
- window->windowStatus(visState);
- }
- }
- /* Since Win32 only sends an activate for the toplevel window,
- update the visibility for all the child windows. */
- child = window->children;
- while (child) {
- updateWindowState(child, visState);
- child = child->siblings;
- }
-}
-
-LONG WINAPI
-__glutWindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
-{
- POINT point; /* Point structure. */
- PAINTSTRUCT ps; /* Paint structure. */
- LPMINMAXINFO minmax; /* Minimum/maximum info structure. */
- GLUTwindow* window; /* GLUT window associated with message. */
- GLUTmenu* menu; /* GLUT menu associated with message. */
- int x, y, width, height, key;
- int button = -1;
-
- switch(msg) {
- case WM_CREATE:
- return 0;
- case WM_CLOSE:
- if (__glutExitFunc) {
- __glutExitFunc(0);
- }
- exit(0);
- break;
-#if 0
- case WM_DESTROY:
- /* XXX NVidia's NT OpenGL can have problems closing down
- its OpenGL internal data structures if we just allow
- the process to terminate without unbinding and deleting
- the windows context. Apparently, DirectDraw unloads
- before OPENGL32.DLL in the close down sequence, but
- NVidia's NT OpenGL needs DirectDraw to close down its
- data structures. */
- window = __glutGetWindow(hwnd);
- if (window) {
- if (window->ctx) {
- wglMakeCurrent(NULL, NULL);
- wglDeleteContext(window->ctx);
- }
- }
- return 0;
-#endif
- case WM_PAINT:
- window = __glutGetWindow(hwnd);
- if (window) {
- BeginPaint(hwnd, &ps); /* Must have this for some Win32 reason. */
- EndPaint(hwnd, &ps);
- if (window->win == hwnd) {
- __glutPostRedisplay(window, GLUT_REPAIR_WORK);
- } else if (window->overlay && window->overlay->win == hwnd) {
- __glutPostRedisplay(window, GLUT_OVERLAY_REPAIR_WORK);
- }
- }
- return 0;
-
- case WM_SYSKEYUP:
- case WM_KEYUP:
- window = __glutGetWindow(hwnd);
- if (!window) {
- break;
- }
- /* Win32 is dumb and sends these messages only to the parent
- window. Therefore, find out if we're in a child window and
- call the child windows keyboard callback if we are. */
- if (window->parent) {
- GetCursorPos(&point);
- ScreenToClient(hwnd, &point);
- hwnd = ChildWindowFromPoint(hwnd, point);
- window = __glutGetWindow(hwnd);
- }
- if (window->specialUp || window->keyboardUp) {
- GetCursorPos(&point);
- ScreenToClient(window->win, &point);
- __glutSetWindow(window);
- __glutModifierMask = 0;
- if (GetKeyState(VK_SHIFT) < 0) /* < 0 = high order bit is on */
- __glutModifierMask |= ShiftMask;
- if (GetKeyState(VK_SHIFT) < 0) /* < 0 = high order bit is on */
- __glutModifierMask |= ControlMask;
- if (GetKeyState(VK_MENU) < 0)
- __glutModifierMask |= Mod1Mask;
- switch (wParam) {
- /* *INDENT-OFF* */
- case VK_F1: key = GLUT_KEY_F1; break;
- case VK_F2: key = GLUT_KEY_F2; break;
- case VK_F3: key = GLUT_KEY_F3; break;
- case VK_F4: key = GLUT_KEY_F4; break;
- case VK_F5: key = GLUT_KEY_F5; break;
- case VK_F6: key = GLUT_KEY_F6; break;
- case VK_F7: key = GLUT_KEY_F7; break;
- case VK_F8: key = GLUT_KEY_F8; break;
- case VK_F9: key = GLUT_KEY_F9; break;
- case VK_F10: key = GLUT_KEY_F10; break;
- case VK_F11: key = GLUT_KEY_F11; break;
- case VK_F12: key = GLUT_KEY_F12; break;
- case VK_LEFT: key = GLUT_KEY_LEFT; break;
- case VK_UP: key = GLUT_KEY_UP; break;
- case VK_RIGHT: key = GLUT_KEY_RIGHT; break;
- case VK_DOWN: key = GLUT_KEY_DOWN; break;
- case VK_PRIOR: key = GLUT_KEY_PAGE_UP; break;
- case VK_NEXT: key = GLUT_KEY_PAGE_DOWN; break;
- case VK_HOME: key = GLUT_KEY_HOME; break;
- case VK_END: key = GLUT_KEY_END; break;
- case VK_INSERT: key = GLUT_KEY_INSERT; break;
- case VK_DELETE:
- /* Delete is an ASCII character. */
- if (window->keyboardUp) {
- window->keyboardUp((unsigned char) 127, point.x, point.y);
- }
- return 0;
- /* *INDENT-ON* */
- default:
- if (window->keyboardUp) {
- key = MapVirtualKey(wParam, 2); /* Map to ASCII. */
- if (isascii(key) && (key != 0)) {
-
- /* XXX Attempt to determine modified ASCII character
- is quite incomplete. Digits, symbols, CapsLock,
- Ctrl, and numeric keypad are all ignored. Fix this. */
-
- if (!(__glutModifierMask & ShiftMask))
- key = tolower(key);
- window->keyboardUp((unsigned char) key, point.x, point.y);
- }
- }
- __glutModifierMask = (unsigned int) ~0;
- return 0;
- }
- if (window->specialUp) {
- window->specialUp(key, point.x, point.y);
- }
- __glutModifierMask = (unsigned int) ~0;
- }
- return 0;
-
- case WM_SYSCHAR:
- case WM_CHAR:
- window = __glutGetWindow(hwnd);
- if (!window) {
- break;
- }
-
- /* Bit 30 of lParam is set if key already held down. If
- we are ignoring auto repeated key strokes for the window, bail. */
- if (window->ignoreKeyRepeat && (lParam & (1 << 30)) ) {
- break;
- }
-
- /* Win32 is dumb and sends these messages only to the parent
- window. Therefore, find out if we're in a child window and
- call the child windows keyboard callback if we are. */
- if (window->parent) {
- GetCursorPos(&point);
- ScreenToClient(hwnd, &point);
- hwnd = ChildWindowFromPoint(hwnd, point);
- window = __glutGetWindow(hwnd);
- }
- if (window->keyboard) {
- GetCursorPos(&point);
- ScreenToClient(window->win, &point);
- __glutSetWindow(window);
- __glutModifierMask = 0;
- if (GetKeyState(VK_SHIFT) < 0) /* < 0 = high order bit is on */
- __glutModifierMask |= ShiftMask;
- if (GetKeyState(VK_CONTROL) < 0)
- __glutModifierMask |= ControlMask;
- if (GetKeyState(VK_MENU) < 0)
- __glutModifierMask |= Mod1Mask;
- window->keyboard((unsigned char)wParam, point.x, point.y);
- __glutModifierMask = (unsigned int) ~0;
- }
- return 0;
-
- case WM_SYSKEYDOWN:
- case WM_KEYDOWN:
- window = __glutGetWindow(hwnd);
- if (!window) {
- break;
- }
-
- /* Bit 30 of lParam is set if key already held down. If
- we are ignoring auto repeated key strokes for the window, bail. */
- if (window->ignoreKeyRepeat && (lParam & (1 << 30)) ) {
- break;
- }
-
- /* Win32 is dumb and sends these messages only to the parent
- window. Therefore, find out if we're in a child window and
- call the child windows keyboard callback if we are. */
- if (window->parent) {
- GetCursorPos(&point);
- ScreenToClient(hwnd, &point);
- hwnd = ChildWindowFromPoint(hwnd, point);
- window = __glutGetWindow(hwnd);
- }
- if (window->special) {
- switch (wParam) {
- /* *INDENT-OFF* */
- /* function keys */
- case VK_F1: key = GLUT_KEY_F1; break;
- case VK_F2: key = GLUT_KEY_F2; break;
- case VK_F3: key = GLUT_KEY_F3; break;
- case VK_F4: key = GLUT_KEY_F4; break;
- case VK_F5: key = GLUT_KEY_F5; break;
- case VK_F6: key = GLUT_KEY_F6; break;
- case VK_F7: key = GLUT_KEY_F7; break;
- case VK_F8: key = GLUT_KEY_F8; break;
- case VK_F9: key = GLUT_KEY_F9; break;
- case VK_F10: key = GLUT_KEY_F10; break;
- case VK_F11: key = GLUT_KEY_F11; break;
- case VK_F12: key = GLUT_KEY_F12; break;
- /* directional keys */
- case VK_LEFT: key = GLUT_KEY_LEFT; break;
- case VK_UP: key = GLUT_KEY_UP; break;
- case VK_RIGHT: key = GLUT_KEY_RIGHT; break;
- case VK_DOWN: key = GLUT_KEY_DOWN; break;
- /* *INDENT-ON* */
-
- case VK_PRIOR:
- /* VK_PRIOR is Win32's Page Up */
- key = GLUT_KEY_PAGE_UP;
- break;
- case VK_NEXT:
- /* VK_NEXT is Win32's Page Down */
- key = GLUT_KEY_PAGE_DOWN;
- break;
- case VK_HOME:
- key = GLUT_KEY_HOME;
- break;
- case VK_END:
- key = GLUT_KEY_END;
- break;
- case VK_INSERT:
- key = GLUT_KEY_INSERT;
- break;
- case VK_DELETE:
- goto handleDelete;
- default:
- goto defproc;
- }
- GetCursorPos(&point);
- ScreenToClient(window->win, &point);
- __glutSetWindow(window);
- __glutModifierMask = 0;
- if (GetKeyState(VK_SHIFT) < 0) /* < 0 = high order bit is on */
- __glutModifierMask |= ShiftMask;
- if (GetKeyState(VK_CONTROL) < 0)
- __glutModifierMask |= ControlMask;
- if (GetKeyState(VK_MENU) < 0)
- __glutModifierMask |= Mod1Mask;
- window->special(key, point.x, point.y);
- __glutModifierMask = (unsigned int) ~0;
- } else if (window->keyboard) {
- /* Specially handle any keys that match ASCII values but
- do not generate Windows WM_SYSCHAR or WM_CHAR messages. */
- switch (wParam) {
- case VK_DELETE:
- handleDelete:
- /* Delete is an ASCII character. */
- GetCursorPos(&point);
- ScreenToClient(window->win, &point);
- __glutSetWindow(window);
- __glutModifierMask = 0;
- if (GetKeyState(VK_SHIFT) < 0) /* < 0 = high order bit is on */
- __glutModifierMask |= ShiftMask;
- if (GetKeyState(VK_CONTROL) < 0)
- __glutModifierMask |= ControlMask;
- if (GetKeyState(VK_MENU) < 0)
- __glutModifierMask |= Mod1Mask;
- window->keyboard((unsigned char) 127, point.x, point.y);
- __glutModifierMask = (unsigned int) ~0;
- return 0;
- default:
- /* Let the following WM_SYSCHAR or WM_CHAR message generate
- the keyboard callback. */
- break;
- }
- }
- return 0;
-
- case WM_LBUTTONDOWN:
- button = GLUT_LEFT_BUTTON;
- case WM_MBUTTONDOWN:
- if (button < 0)
- button = GLUT_MIDDLE_BUTTON;
- case WM_RBUTTONDOWN:
- if (button < 0)
- button = GLUT_RIGHT_BUTTON;
-
- /* finish the menu if we get a button down message (user must have
- cancelled the menu). */
- if (__glutMappedMenu) {
- /* TODO: take this out once the menu on middle mouse stuff works
- properly. */
- if (button == GLUT_MIDDLE_BUTTON)
- return 0;
- GetCursorPos(&point);
- ScreenToClient(hwnd, &point);
- __glutItemSelected = NULL;
- __glutFinishMenu(hwnd, point.x, point.y);
- return 0;
- }
-
- /* set the capture so we can get mouse events outside the window */
- SetCapture(hwnd);
-
- /* Win32 doesn't return the same numbers as X does when the mouse
- goes beyond the upper or left side of the window. roll the
- Win32's 0..2^16 pointer co-ord range to 0 +/- 2^15. */
- x = LOWORD(lParam);
- y = HIWORD(lParam);
- if(x & 1 << 15) x -= (1 << 16);
- if(y & 1 << 15) y -= (1 << 16);
-
- window = __glutGetWindow(hwnd);
- if (window) {
- menu = __glutGetMenuByNum(window->menu[button]);
- if (menu) {
- point.x = LOWORD(lParam); point.y = HIWORD(lParam);
- ClientToScreen(window->win, &point);
- __glutMenuButton = button == GLUT_RIGHT_BUTTON ? TPM_RIGHTBUTTON :
- button == GLUT_LEFT_BUTTON ? TPM_LEFTBUTTON :
- 0x0001;
- __glutStartMenu(menu, window, point.x, point.y, x, y);
- } else if (window->mouse) {
-
- __glutSetWindow(window);
- __glutModifierMask = 0;
- if (GetKeyState(VK_SHIFT) < 0) /* < 0 = high order bit is on. */
- __glutModifierMask |= ShiftMask;
- if (GetKeyState(VK_CONTROL) < 0)
- __glutModifierMask |= ControlMask;
- if (GetKeyState(VK_MENU) < 0)
- __glutModifierMask |= Mod1Mask;
- window->mouse(button, GLUT_DOWN, x, y);
- __glutModifierMask = (unsigned int)~0;
- } else {
- /* Stray mouse events. Ignore. */
- }
- }
- return 0;
-
- case WM_LBUTTONUP:
- button = GLUT_LEFT_BUTTON;
- case WM_MBUTTONUP:
- if (button < 0)
- button = GLUT_MIDDLE_BUTTON;
- case WM_RBUTTONUP:
- if (button < 0)
- button = GLUT_RIGHT_BUTTON;
-
- /* Bail out if we're processing a menu. */
- if (__glutMappedMenu) {
- GetCursorPos(&point);
- ScreenToClient(hwnd, &point);
- /* if we're getting the middle button up signal, then something
- on the menu was selected. */
- if (button == GLUT_MIDDLE_BUTTON) {
- return 0;
- /* For some reason, the code below always returns -1 even
- though the point IS IN THE ITEM! Therefore, just bail out if
- we get a middle mouse up. The user must select using the
- left mouse button. Stupid Win32. */
-#if 0
- int item = MenuItemFromPoint(hwnd, __glutHMenu, point);
- if (item != -1)
- __glutItemSelected = (GLUTmenuItem*)GetMenuItemID(__glutHMenu, item);
- else
- __glutItemSelected = NULL;
- __glutFinishMenu(hwnd, point.x, point.y);
-#endif
- } else {
- __glutItemSelected = NULL;
- __glutFinishMenu(hwnd, point.x, point.y);
- }
- return 0;
- }
-
- /* Release the mouse capture. */
- ReleaseCapture();
-
- window = __glutGetWindow(hwnd);
- if (window && window->mouse) {
- /* Win32 doesn't return the same numbers as X does when the
- mouse goes beyond the upper or left side of the window. roll
- the Win32's 0..2^16 pointer co-ord range to 0 +/- 2^15. */
- x = LOWORD(lParam);
- y = HIWORD(lParam);
- if(x & 1 << 15) x -= (1 << 16);
- if(y & 1 << 15) y -= (1 << 16);
-
- __glutSetWindow(window);
- __glutModifierMask = 0;
- if (GetKeyState(VK_SHIFT) < 0) /* < 0 = high order bit is on */
- __glutModifierMask |= ShiftMask;
- if (GetKeyState(VK_CONTROL) < 0)
- __glutModifierMask |= ControlMask;
- if (GetKeyState(VK_MENU) < 0)
- __glutModifierMask |= Mod1Mask;
- window->mouse(button, GLUT_UP, x, y);
- __glutModifierMask = (unsigned int)~0;
- } else {
- /* Window might have been destroyed and all the
- events for the window may not yet be received. */
- }
- return 0;
-
- case WM_ENTERMENULOOP:
- /* KLUDGE: create a timer that fires every 100 ms when we start a
- menu so that we can still process the idle & timer events (that
- way, the timers will fire during a menu pick and so will the
- idle func. */
- SetTimer(hwnd, 1, 1, NULL);
- return 0;
-
- case WM_TIMER:
-#if 0
- /* If the timer id is 2, then this is the timer that is set up in
- the main glut message processing loop, and we don't want to do
- anything but acknowledge that we got it. It is used to prevent
- CPU spiking when an idle function is installed. */
- if (wParam == 2)
- return 0;
-#endif
-
- /* only worry about the idle function and the timeouts, since
- these are the only events we expect to process during
- processing of a menu. */
- /* we no longer process the idle functions (as outlined in the
- README), since drawing can't be done until the menu has
- finished...it's pretty lame when the animation goes on, but
- doesn't update, so you get this weird jerkiness. */
-#if 0
- if (__glutIdleFunc)
- __glutIdleFunc();
-#endif
- if (__glutTimerList)
- handleTimeouts();
- return 0;
-
- case WM_EXITMENULOOP:
- /* nuke the above created timer...we don't need it anymore, since
- the menu is gone now. */
- KillTimer(hwnd, 1);
- return 0;
-
- case WM_MENUSELECT:
- if (lParam != 0)
- __glutHMenu = (HMENU)lParam;
- return 0;
-
- case WM_COMMAND:
- if (__glutMappedMenu) {
- if (GetSubMenu(__glutHMenu, LOWORD(wParam)))
- __glutItemSelected = NULL;
- else
- __glutItemSelected =
- __glutGetUniqueMenuItem(__glutMappedMenu, LOWORD(wParam));
- GetCursorPos(&point);
- ScreenToClient(hwnd, &point);
- __glutFinishMenu(hwnd, point.x, point.y);
- }
- return 0;
-
- case WM_MOUSEMOVE:
- if (!__glutMappedMenu) {
- window = __glutGetWindow(hwnd);
- if (window) {
- /* If motion function registered _and_ buttons held *
- down, call motion function... */
- x = LOWORD(lParam);
- y = HIWORD(lParam);
-
- /* Win32 doesn't return the same numbers as X does when the
- mouse goes beyond the upper or left side of the window.
- roll the Win32's 0..2^16 pointer co-ord range to 0..+/-2^15. */
- if(x & 1 << 15) x -= (1 << 16);
- if(y & 1 << 15) y -= (1 << 16);
-
- if (window->motion && wParam &
- (MK_LBUTTON | MK_MBUTTON | MK_RBUTTON)) {
- __glutSetWindow(window);
- window->motion(x, y);
- }
- /* If passive motion function registered _and_
- buttons not held down, call passive motion
- function... */
- else if (window->passive &&
- ((wParam &
- (MK_LBUTTON | MK_MBUTTON | MK_RBUTTON)) ==
- 0)) {
- __glutSetWindow(window);
- window->passive(x, y);
- }
- }
- } else {
- /* Motion events are thrown away when a pop up menu is
- active. */
- }
- return 0;
-
- case WM_GETMINMAXINFO:
- /* this voodoo is brought to you by Win32 (again). It allows the
- window to be bigger than the screen, and smaller than 100x100
- (although it doesn't seem to help the y minimum). */
- minmax = (LPMINMAXINFO)lParam;
-#if 0
- /* These two lines are disabled to fix incorrect handling of
- * window maximization on Vista. See bug 23182.
- */
- minmax->ptMaxSize.x = __glutScreenWidth;
- minmax->ptMaxSize.y = __glutScreenHeight;
-#endif
- minmax->ptMinTrackSize.x = 0;
- minmax->ptMinTrackSize.y = 0;
- minmax->ptMaxTrackSize.x = __glutScreenWidth +
- GetSystemMetrics(SM_CXSIZE) * 2;
- minmax->ptMaxTrackSize.y = __glutScreenHeight +
- GetSystemMetrics(SM_CXSIZE) * 2 + GetSystemMetrics(SM_CYCAPTION);
- return 0;
-
- case WM_SIZE:
- window = __glutGetWindow(hwnd);
- if (window) {
- width = LOWORD(lParam);
- height = HIWORD(lParam);
- if (width != window->width || height != window->height) {
-#if 0 /* Win32 GLUT does not support overlays for now. */
- if (window->overlay) {
- XResizeWindow(__glutDisplay, window->overlay->win, width, height);
- }
-#endif
- window->width = width;
- window->height = height;
- __glutSetWindow(window);
- /* Do not execute OpenGL out of sequence with respect
- to the SetWindowPos request! */
- GdiFlush();
- window->reshape(width, height);
- window->forceReshape = FALSE;
- /* A reshape should be considered like posting a
- repair request. */
- __glutPostRedisplay(window, GLUT_REPAIR_WORK);
- }
- }
- return 0;
-
- case WM_SETCURSOR:
- /* If the cursor is not in the client area, then we want to send
- this message to the default window procedure ('cause its
- probably in the border or title, and we don't handle that
- cursor. otherwise, set our cursor. Win32 makes us set the
- cursor every time the mouse moves (DUMB!). */
- if(LOWORD(lParam) != HTCLIENT) {
- goto defproc;
- }
- window = __glutGetWindow(hwnd);
- if (window) {
- __glutSetCursor(window);
- }
- /* TODO: check out the info in DevStudio on WM_SETCURSOR in the
- DefaultAction section. */
- return 1;
-
- case WM_SETFOCUS:
- window = __glutGetWindow(hwnd);
- if (window) {
- window->entryState = WM_SETFOCUS;
- if (window->entry) {
- __glutSetWindow(window);
- window->entry(GLUT_ENTERED);
- /* XXX Generation of fake passive notify? See how much
- work the X11 code does to support fake passive notify
- callbacks. */
- }
- if (window->joystick && __glutCurrentWindow) {
- if (__glutCurrentWindow->joyPollInterval > 0) {
- MMRESULT result;
-
- /* Because Win32 will only let one window capture the
- joystick at a time, we must capture it when we get the
- focus and release it when we lose the focus. */
- result = joySetCapture(__glutCurrentWindow->win,
- JOYSTICKID1, 0, TRUE);
- if (result != JOYERR_NOERROR) {
- return 0;
- }
- (void) joySetThreshold(JOYSTICKID1,
- __glutCurrentWindow->joyPollInterval);
- }
- }
- }
- return 0;
-
- case WM_KILLFOCUS:
- window = __glutGetWindow(hwnd);
- if (window) {
- window->entryState = WM_KILLFOCUS;
- if (window->entry) {
- __glutSetWindow(window);
- window->entry(GLUT_LEFT);
- }
- if (window->joystick && __glutCurrentWindow) {
- if (__glutCurrentWindow->joyPollInterval > 0) {
- /* Because Win32 will only let one window capture the
- joystick at a time, we must capture it when we get the
- focus and release it when we lose the focus. */
- (void) joyReleaseCapture(JOYSTICKID1);
- }
- }
- }
- return 0;
- case WM_ACTIVATE:
- window = __glutGetWindow(hwnd);
- /* Make sure we re-select the correct palette if needed. */
- if (LOWORD(wParam)) {
- PostMessage(hwnd, WM_PALETTECHANGED, 0, 0);
- }
- if (window) {
- int visState;
-
- /* HIWORD(wParam) is the minimized flag. */
- visState = !HIWORD(wParam);
- updateWindowState(window, visState);
- }
- return 0;
-
- /* Colour Palette Management */
- case WM_PALETTECHANGED:
- if (hwnd == (HWND)wParam) {
- /* Don't respond to the message that we sent! */
- break;
- }
- /* fall through to WM_QUERYNEWPALETTE */
-
- case WM_QUERYNEWPALETTE:
- window = __glutGetWindow(hwnd);
- if (window && window->colormap) {
- UnrealizeObject(window->colormap->cmap);
- SelectPalette(window->hdc, window->colormap->cmap, FALSE);
- RealizePalette(window->hdc);
- return TRUE;
- }
- return FALSE;
-
- case MM_JOY1MOVE:
- case MM_JOY1ZMOVE:
- window = __glutGetWindow(hwnd);
- if (window->joystick) {
- JOYINFOEX jix;
- int x, y, z;
-
- /* Because WIN32 only supports messages for X, Y, and Z
- translations, we must poll for the rest */
- jix.dwSize = sizeof(jix);
- jix.dwFlags = JOY_RETURNALL;
- joyGetPosEx(JOYSTICKID1,&jix);
-
-#define SCALE(v) ((int) ((v - 32767)/32.768))
-
- /* Convert to integer for scaling. */
- x = jix.dwXpos;
- y = jix.dwYpos;
- z = jix.dwZpos;
- window->joystick(jix.dwButtons, SCALE(x), SCALE(y), SCALE(z));
-
- return TRUE;
- }
- return FALSE;
- case MM_JOY1BUTTONDOWN:
- case MM_JOY1BUTTONUP:
- window = __glutGetWindow(hwnd);
- if (window->joystick) {
- JOYINFOEX jix;
-
- /* Because WIN32 only supports messages for X, Y, and Z
- translations, we must poll for the rest */
- jix.dwSize = sizeof(jix);
- jix.dwFlags = JOY_RETURNALL;
- joyGetPosEx(JOYSTICKID1,&jix);
-
- return TRUE;
- }
- return FALSE;
-
-#if 0
- /* Miscellaneous messages (don't really need to enumerate them,
- but it's good to know what you're not getting sometimes). */
- case WM_DISPLAYCHANGE:
- break;
- case WM_NCHITTEST:
- /* This event is generated by every mouse move event. */
- goto defproc;
- case WM_NCMOUSEMOVE:
- goto defproc;
- case WM_NCACTIVATE:
- goto defproc;
- case WM_NCPAINT:
- goto defproc;
- case WM_NCCALCSIZE:
- goto defproc;
- case WM_NCCREATE:
- goto defproc;
- case WM_NCDESTROY:
- goto defproc;
- case WM_NCLBUTTONDOWN:
- goto defproc;
- case WM_SETTEXT:
- goto defproc;
- case WM_GETTEXT:
- goto defproc;
- case WM_ACTIVATEAPP:
- goto defproc;
- case WM_GETICON:
- goto defproc;
- case WM_ERASEBKGND:
- goto defproc;
- case WM_WINDOWPOSCHANGING:
- goto defproc;
- case WM_WINDOWPOSCHANGED:
- goto defproc;
- case WM_MOUSEACTIVATE:
- goto defproc;
- case WM_SHOWWINDOW:
- goto defproc;
- case WM_MOVING:
- goto defproc;
- case WM_MOVE:
- goto defproc;
- case WM_KEYUP:
- goto defproc;
- case WM_CAPTURECHANGED:
- goto defproc;
- case WM_SYSCOMMAND:
- goto defproc;
- case WM_ENTERSIZEMOVE:
- goto defproc;
- case WM_ENTERIDLE:
- goto defproc;
-#endif
-
- default:
- goto defproc;
- }
-
-defproc:
- return DefWindowProc(hwnd, msg, wParam, lParam);
-}
diff --git a/src/glut/glx/win32_x11.c b/src/glut/glx/win32_x11.c
deleted file mode 100644
index d00ccdb121..0000000000
--- a/src/glut/glx/win32_x11.c
+++ /dev/null
@@ -1,399 +0,0 @@
-
-/* Copyright (c) Nate Robins, 1997. */
-/* portions Copyright (c) Mark Kilgard, 1998. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include "glutint.h"
-
-/* global variable that must be set for some functions to operate
- correctly. */
-HDC XHDC;
-
-XVisualInfo*
-XGetVisualInfo(Display* display, long mask, XVisualInfo* template, int* nitems)
-{
- /* KLUDGE: this function needs XHDC to be set to the HDC currently
- being operated on before it is invoked! */
-
- PIXELFORMATDESCRIPTOR* pfds;
- int i, n;
-
- n = DescribePixelFormat(XHDC, 0, 0, NULL);
- pfds = (PIXELFORMATDESCRIPTOR*)malloc(sizeof(PIXELFORMATDESCRIPTOR) * n);
- memset(pfds, 0, sizeof(PIXELFORMATDESCRIPTOR) * n);
-
- for (i = 0; i < n; i++) {
- DescribePixelFormat(XHDC, i + 1, sizeof(PIXELFORMATDESCRIPTOR), &pfds[i]);
- }
-
- *nitems = n;
- return pfds;
-}
-
-Colormap
-XCreateColormap(Display* display, Window root, Visual* visual, int alloc)
-{
- /* KLUDGE: this function needs XHDC to be set to the HDC currently
- being operated on before it is invoked! */
-
- PIXELFORMATDESCRIPTOR pfd;
- LOGPALETTE *logical;
- HPALETTE palette;
- int n;
-
- /* grab the pixel format */
- memset(&pfd, 0, sizeof(PIXELFORMATDESCRIPTOR));
- DescribePixelFormat(XHDC, GetPixelFormat(XHDC),
- sizeof(PIXELFORMATDESCRIPTOR), &pfd);
-
- if (!(pfd.dwFlags & PFD_NEED_PALETTE ||
- pfd.iPixelType == PFD_TYPE_COLORINDEX))
- {
- return 0;
- }
-
- n = 1 << pfd.cColorBits;
-
- /* allocate a bunch of memory for the logical palette (assume 256
- colors in a Win32 palette */
- logical = (LOGPALETTE*)malloc(sizeof(LOGPALETTE) +
- sizeof(PALETTEENTRY) * n);
- memset(logical, 0, sizeof(LOGPALETTE) + sizeof(PALETTEENTRY) * n);
-
- /* set the entries in the logical palette */
- logical->palVersion = 0x300;
- logical->palNumEntries = n;
-
- /* start with a copy of the current system palette */
- GetSystemPaletteEntries(XHDC, 0, 256, &logical->palPalEntry[0]);
-
- if (pfd.iPixelType == PFD_TYPE_RGBA) {
- int redMask = (1 << pfd.cRedBits) - 1;
- int greenMask = (1 << pfd.cGreenBits) - 1;
- int blueMask = (1 << pfd.cBlueBits) - 1;
- int i;
-
- /* fill in an RGBA color palette */
- for (i = 0; i < n; ++i) {
- logical->palPalEntry[i].peRed =
- (((i >> pfd.cRedShift) & redMask) * 255) / redMask;
- logical->palPalEntry[i].peGreen =
- (((i >> pfd.cGreenShift) & greenMask) * 255) / greenMask;
- logical->palPalEntry[i].peBlue =
- (((i >> pfd.cBlueShift) & blueMask) * 255) / blueMask;
- logical->palPalEntry[i].peFlags = 0;
- }
- }
-
- palette = CreatePalette(logical);
- free(logical);
-
- SelectPalette(XHDC, palette, FALSE);
- RealizePalette(XHDC);
-
- return palette;
-}
-
-void
-XAllocColorCells(Display* display, Colormap colormap, Bool contig,
- unsigned long plane_masks_return[], unsigned int nplanes,
- unsigned long pixels_return[], unsigned int npixels)
-{
- /* NOP -- we did all the allocating in XCreateColormap! */
-}
-
-void
-XStoreColor(Display* display, Colormap colormap, XColor* color)
-{
- /* KLUDGE: set XHDC to 0 if the palette should NOT be realized after
- setting the color. set XHDC to the correct HDC if it should. */
-
- PALETTEENTRY pe;
-
- /* X11 stores color from 0-65535, Win32 expects them to be 0-256, so
- twiddle the bits ( / 256). */
- pe.peRed = color->red / 256;
- pe.peGreen = color->green / 256;
- pe.peBlue = color->blue / 256;
-
- /* make sure we use this flag, otherwise the colors might get mapped
- to another place in the colormap, and when we glIndex() that
- color, it may have moved (argh!!) */
- pe.peFlags = PC_NOCOLLAPSE;
-
- /* the pixel field of the XColor structure is the index into the
- colormap */
- SetPaletteEntries(colormap, color->pixel, 1, &pe);
-
- if (XHDC) {
- UnrealizeObject(colormap);
- SelectPalette(XHDC, colormap, FALSE);
- RealizePalette(XHDC);
- }
-}
-
-void
-XSetWindowColormap(Display* display, Window window, Colormap colormap)
-{
- HDC hdc = GetDC(window);
-
- /* if the third parameter is FALSE, the logical colormap is copied
- into the device palette when the application is in the
- foreground, if it is TRUE, the colors are mapped into the current
- palette in the best possible way. */
- SelectPalette(hdc, colormap, FALSE);
- RealizePalette(hdc);
-
- /* note that we don't have to release the DC, since our window class
- uses the WC_OWNDC flag! */
-}
-
-Bool
-XTranslateCoordinates(Display *display, Window src, Window dst,
- int src_x, int src_y,
- int* dest_x_return, int* dest_y_return,
- Window* child_return)
-{
- /* KLUDGE: this isn't really a translate coordinates into some other
- windows coordinate system...it only translates coordinates into the
- root window (screen) coordinate system. */
-
- POINT point;
-
- point.x = src_x;
- point.y = src_y;
-
- ClientToScreen(src, &point);
-
- *dest_x_return = point.x;
- *dest_y_return = point.y;
-
- /* just to make compilers happy...we don't use the return value. */
- return True;
-}
-
-Status
-XGetGeometry(Display* display, Window window, Window* root_return,
- int* x_return, int* y_return,
- unsigned int* width_return, unsigned int* height_return,
- unsigned int *border_width_return, unsigned int* depth_return)
-{
- /* KLUDGE: doesn't return the border_width or depth or root, x & y
- are in screen coordinates. */
-
- RECT rect;
- POINT point;
-
- GetClientRect(window, &rect);
-
- point.x = 0;
- point.y = 0;
- ClientToScreen(window, &point);
-
- *x_return = point.x;
- *y_return = point.y;
- *width_return = rect.right;
- *height_return = rect.bottom;
-
- /* just to make compilers happy...we don't use the return value. */
- return 1;
-}
-
-int
-DisplayWidthMM(Display* display, int screen)
-{
- int width;
- HWND hwnd = GetDesktopWindow();
- HDC hdc = GetDC(hwnd);
-
- width = GetDeviceCaps(hdc, HORZSIZE);
-
- /* make sure to release this DC (it's the desktops, not ours) */
- ReleaseDC(hwnd, hdc);
-
- return width;
-}
-
-int
-DisplayHeightMM(Display* display, int screen)
-{
- int height;
- HWND hwnd = GetDesktopWindow();
- HDC hdc = GetDC(hwnd);
-
- height = GetDeviceCaps(hdc, VERTSIZE);
-
- /* make sure to release this DC (it's the desktops, not ours) */
- ReleaseDC(hwnd, hdc);
-
- return height;
-}
-
-void
-XWarpPointer(Display* display, Window src, Window dst,
- int src_x, int src_y, int src_width, int src_height,
- int dst_x, int dst_y)
-{
- /* KLUDGE: this isn't really a warp pointer into some other windows
- coordinate system...it only warps the pointer into the root window
- (screen) coordinate system. */
-
- POINT point;
-
- point.x = dst_x;
- point.y = dst_y;
- ClientToScreen(dst, &point);
-
- SetCursorPos(point.x, point.y);
-}
-
-int
-XPending(Display* display)
-{
- /* similar functionality...I don't think that it is exact, but this
- will have to do. */
- MSG msg;
-
- return PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE);
-}
-
-/* the following function was stolen from the X sources as indicated. */
-
-/* Copyright Massachusetts Institute of Technology 1985, 1986, 1987 */
-
-/*
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation, and that the name of M.I.T. not be used in advertising or
-publicity pertaining to distribution of the software without specific,
-written prior permission. M.I.T. makes no representations about the
-suitability of this software for any purpose. It is provided "as is"
-without express or implied warranty.
-*/
-
-/*
- * XParseGeometry parses strings of the form
- * "=<width>x<height>{+-}<xoffset>{+-}<yoffset>", where
- * width, height, xoffset, and yoffset are unsigned integers.
- * Example: "=80x24+300-49"
- * The equal sign is optional.
- * It returns a bitmask that indicates which of the four values
- * were actually found in the string. For each value found,
- * the corresponding argument is updated; for each value
- * not found, the corresponding argument is left unchanged.
- */
-
-static int
-ReadInteger(char *string, char **NextString)
-{
- register int Result = 0;
- int Sign = 1;
-
- if (*string == '+')
- string++;
- else if (*string == '-')
- {
- string++;
- Sign = -1;
- }
- for (; (*string >= '0') && (*string <= '9'); string++)
- {
- Result = (Result * 10) + (*string - '0');
- }
- *NextString = string;
- if (Sign >= 0)
- return (Result);
- else
- return (-Result);
-}
-
-int XParseGeometry(char *string, int *x, int *y, unsigned int *width, unsigned int *height)
-{
- int mask = NoValue;
- register char *strind;
- unsigned int tempWidth, tempHeight;
- int tempX, tempY;
- char *nextCharacter;
-
- if ( (string == NULL) || (*string == '\0')) return(mask);
- if (*string == '=')
- string++; /* ignore possible '=' at beg of geometry spec */
-
- strind = (char *)string;
- if (*strind != '+' && *strind != '-' && *strind != 'x') {
- tempWidth = ReadInteger(strind, &nextCharacter);
- if (strind == nextCharacter)
- return (0);
- strind = nextCharacter;
- mask |= WidthValue;
- }
-
- if (*strind == 'x' || *strind == 'X') {
- strind++;
- tempHeight = ReadInteger(strind, &nextCharacter);
- if (strind == nextCharacter)
- return (0);
- strind = nextCharacter;
- mask |= HeightValue;
- }
-
- if ((*strind == '+') || (*strind == '-')) {
- if (*strind == '-') {
- strind++;
- tempX = -ReadInteger(strind, &nextCharacter);
- if (strind == nextCharacter)
- return (0);
- strind = nextCharacter;
- mask |= XNegative;
-
- }
- else
- { strind++;
- tempX = ReadInteger(strind, &nextCharacter);
- if (strind == nextCharacter)
- return(0);
- strind = nextCharacter;
- }
- mask |= XValue;
- if ((*strind == '+') || (*strind == '-')) {
- if (*strind == '-') {
- strind++;
- tempY = -ReadInteger(strind, &nextCharacter);
- if (strind == nextCharacter)
- return(0);
- strind = nextCharacter;
- mask |= YNegative;
-
- }
- else
- {
- strind++;
- tempY = ReadInteger(strind, &nextCharacter);
- if (strind == nextCharacter)
- return(0);
- strind = nextCharacter;
- }
- mask |= YValue;
- }
- }
-
- /* If strind isn't at the end of the string the it's an invalid
- geometry specification. */
-
- if (*strind != '\0') return (0);
-
- if (mask & XValue)
- *x = tempX;
- if (mask & YValue)
- *y = tempY;
- if (mask & WidthValue)
- *width = tempWidth;
- if (mask & HeightValue)
- *height = tempHeight;
- return (mask);
-}
diff --git a/src/glut/glx/win32_x11.h b/src/glut/glx/win32_x11.h
deleted file mode 100644
index daf065e27b..0000000000
--- a/src/glut/glx/win32_x11.h
+++ /dev/null
@@ -1,324 +0,0 @@
-#ifndef __win32_x11_h__
-#define __win32_x11_h__
-
-/* Copyright (c) Nate Robins, 1997. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-#ifdef __MINGW32__
-#include <GL/gl.h>
-#endif
-#include <stdlib.h>
-#include <windows.h>
-
-/* These definitions are missing from windows.h */
-
-
-/* Type definitions (conversions) */
-typedef int Visual; /* Win32 equivalent of X11 type */
-typedef HWND Window;
-typedef HPALETTE Colormap;
-typedef PIXELFORMATDESCRIPTOR XVisualInfo;
-typedef BOOL Bool;
-typedef MSG XEvent;
-typedef HDC Display;
-typedef HCURSOR Cursor;
-
-typedef int Atom; /* dummies */
-typedef int XDevice;
-typedef int Status;
-
-#define True TRUE /* Win32 equivalents of X11 booleans */
-#define False FALSE
-
-#define None 0L /* universal null resource or null atom */
-
-/* Input Event Masks. Used as event-mask window attribute and as arguments
- to Grab requests. Not to be confused with event names. */
-
-#define NoEventMask 0L
-#define KeyPressMask (1L<<0)
-#define KeyReleaseMask (1L<<1)
-#define ButtonPressMask (1L<<2)
-#define ButtonReleaseMask (1L<<3)
-#define EnterWindowMask (1L<<4)
-#define LeaveWindowMask (1L<<5)
-#define PointerMotionMask (1L<<6)
-#define PointerMotionHintMask (1L<<7)
-#define Button1MotionMask (1L<<8)
-#define Button2MotionMask (1L<<9)
-#define Button3MotionMask (1L<<10)
-#define Button4MotionMask (1L<<11)
-#define Button5MotionMask (1L<<12)
-#define ButtonMotionMask (1L<<13)
-#define KeymapStateMask (1L<<14)
-#define ExposureMask (1L<<15)
-#define VisibilityChangeMask (1L<<16)
-#define StructureNotifyMask (1L<<17)
-#define ResizeRedirectMask (1L<<18)
-#define SubstructureNotifyMask (1L<<19)
-#define SubstructureRedirectMask (1L<<20)
-#define FocusChangeMask (1L<<21)
-#define PropertyChangeMask (1L<<22)
-#define ColormapChangeMask (1L<<23)
-#define OwnerGrabButtonMask (1L<<24)
-
-/* Key masks. Used as modifiers to GrabButton and GrabKey, results of
- QueryPointer, state in various key-, mouse-, and button-related
- events. */
-
-#define ShiftMask (1<<0)
-#define LockMask (1<<1)
-#define ControlMask (1<<2)
-#define Mod1Mask (1<<3)
-#define Mod2Mask (1<<4)
-#define Mod3Mask (1<<5)
-#define Mod4Mask (1<<6)
-#define Mod5Mask (1<<7)
-
-/* Window classes used by CreateWindow */
-/* Note that CopyFromParent is already defined as 0 above */
-
-#define InputOutput 1
-#define InputOnly 2
-
-/* Window attributes for CreateWindow and ChangeWindowAttributes */
-
-#define CWBackPixmap (1L<<0)
-#define CWBackPixel (1L<<1)
-#define CWBorderPixmap (1L<<2)
-#define CWBorderPixel (1L<<3)
-#define CWBitGravity (1L<<4)
-#define CWWinGravity (1L<<5)
-#define CWBackingStore (1L<<6)
-#define CWBackingPlanes (1L<<7)
-#define CWBackingPixel (1L<<8)
-#define CWOverrideRedirect (1L<<9)
-#define CWSaveUnder (1L<<10)
-#define CWEventMask (1L<<11)
-#define CWDontPropagate (1L<<12)
-#define CWColormap (1L<<13)
-#define CWCursor (1L<<14)
-
-/* ConfigureWindow structure */
-
-#define CWX (1<<0)
-#define CWY (1<<1)
-#define CWWidth (1<<2)
-#define CWHeight (1<<3)
-#define CWBorderWidth (1<<4)
-#define CWSibling (1<<5)
-#define CWStackMode (1<<6)
-
-
-/* Used in GetWindowAttributes reply */
-
-#define IsUnmapped 0
-#define IsUnviewable 1
-#define IsViewable 2
-
-/* Window stacking method (in configureWindow) */
-
-#define Above 0
-#define Below 1
-#define TopIf 2
-#define BottomIf 3
-#define Opposite 4
-
-/* For CreateColormap */
-
-#define AllocNone 0 /* create map with no entries */
-#define AllocAll 1 /* allocate entire map writeable */
-
-
-/* Flags used in StoreNamedColor, StoreColors */
-
-#define DoRed (1<<0)
-#define DoGreen (1<<1)
-#define DoBlue (1<<2)
-
-/*
- * Bitmask returned by XParseGeometry(). Each bit tells if the corresponding
- * value (x, y, width, height) was found in the parsed string.
- */
-#define NoValue 0x0000
-#define XValue 0x0001
-#define YValue 0x0002
-#define WidthValue 0x0004
-#define HeightValue 0x0008
-#define AllValues 0x000F
-#define XNegative 0x0010
-#define YNegative 0x0020
-
-/* flags argument in size hints */
-#define USPosition (1L << 0) /* user specified x, y */
-#define USSize (1L << 1) /* user specified width, height */
-
-/* definitions for initial window state */
-#define WithdrawnState 0 /* for windows that are not mapped */
-#define NormalState 1 /* most applications want to start this way */
-#define IconicState 3 /* application wants to start as an icon */
-#define GameModeState 4 /* Win32 GLUT only (not in Xlib!). */
-
-/* Type definitions */
-
-typedef struct {
- unsigned int background_pixmap; /* background pixmap */
- unsigned long background_pixel; /* background pixel */
- unsigned long border_pixel; /* border pixel value */
- long event_mask; /* set of events that should be saved */
- long do_not_propagate_mask; /* set of events that should not propagate */
- Bool override_redirect; /* boolean value for override-redirect */
- Colormap colormap; /* color map to be associated with window */
-} XSetWindowAttributes;
-
-typedef struct {
- unsigned long pixel;
- unsigned short red, green, blue;
- char flags; /* do_red, do_green, do_blue */
-} XColor;
-
-typedef struct {
- unsigned char *value; /* same as Property routines */
- Atom encoding; /* prop type */
- int format; /* prop data format: 8, 16, or 32 */
- unsigned long nitems; /* number of data items in value */
-} XTextProperty;
-
-typedef struct {
- long flags; /* marks which fields in this structure are defined */
- int x, y; /* obsolete for new window mgrs, but clients */
- int width, height; /* should set so old wm's don't mess up */
-} XSizeHints;
-
-/* Functions emulated by macros. */
-
-#define XFreeColormap(display, colormap) \
- DeleteObject(colormap)
-
-#define XCreateFontCursor(display, shape) \
- LoadCursor(NULL, shape)
-
-#define XDefineCursor(display, window, cursor) \
- SetCursor(cursor)
-
-#define XFlush(display) \
- /* Nothing. */
-
-#define DisplayWidth(display, screen) \
- GetSystemMetrics(SM_CXSCREEN)
-
-#define DisplayHeight(display, screen) \
- GetSystemMetrics(SM_CYSCREEN)
-
-#define XMapWindow(display, window) \
- ShowWindow(window, SW_SHOWNORMAL)
-
-#define XUnmapWindow(display, window) \
- ShowWindow(window, SW_HIDE)
-
-#define XIconifyWindow(display, window, screen) \
- ShowWindow(window, SW_MINIMIZE)
-
-#define XWithdrawWindow(display, window, screen) \
- ShowWindow(window, SW_HIDE)
-
-#define XLowerWindow(display, window) \
- SetWindowPos(window, HWND_BOTTOM, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE)
-
-#define XSetWMName(display, window, tp) \
- SetWindowText(window, (const char *)(tp)->value)
-
-/* There really isn't a way to set the icon name separate from the
- windows name in Win32, so, just set the windows name. */
-#define XSetWMIconName(display, window, tp) \
- XSetWMName(display, window, tp)
-
-#define XDestroyWindow(display, window) \
- DestroyWindow(window)
-
-/* Anything that needs to be freed was allocated with malloc in our
- fake X windows library for Win32, so free it with plain old
- free(). */
-#define XFree(data) \
- free(data)
-
-/* Nothing to be done for this...the pointer is always 'ungrabbed'
- in Win32. */
-#define XUngrabPointer(display, time) \
- /* Nothing. */
-
-/* Function prototypes. */
-
-extern XVisualInfo* XGetVisualInfo(
- Display* display,
- long mask,
- XVisualInfo* ttemplate, /* Avoid class with C++ keyword. */
- int*nitems);
-
-extern Colormap XCreateColormap(
- Display* display,
- Window root,
- Visual* visual,
- int alloc);
-
-extern void XAllocColorCells(
- Display* display,
- Colormap colormap,
- Bool contig,
- unsigned long plane_masks_return[],
- unsigned int nplanes,
- unsigned long pixels_return[],
- unsigned int npixels);
-
-extern void XStoreColor(
- Display* display,
- Colormap colormap,
- XColor* color);
-
-extern void XSetWindowColormap(
- Display* display,
- Window window,
- Colormap colormap);
-
-extern Bool XTranslateCoordinates(
- Display *display,
- Window src, Window dst,
- int src_x, int src_y,
- int* dest_x_return, int* dest_y_return,
- Window* child_return);
-
-extern Status XGetGeometry(
- Display* display,
- Window window,
- Window* root_return,
- int* x_return, int* y_return,
- unsigned int* width_return, unsigned int* height_return,
- unsigned int *border_width_return,
- unsigned int* depth_return);
-
-extern int DisplayWidthMM(
- Display* display,
- int screen);
-
-extern int DisplayHeightMM(
- Display* display,
- int screen);
-
-extern void XWarpPointer(
- Display* display,
- Window src, Window dst,
- int src_x, int src_y,
- int src_width, int src_height,
- int dst_x, int dst_y);
-
-extern int XParseGeometry(
- char* string,
- int* x, int* y,
- unsigned int* width, unsigned int* height);
-
-extern int XPending(
- Display* display);
-
-#endif /* __win32_x11_h__ */
diff --git a/src/glut/mini/Makefile b/src/glut/mini/Makefile
deleted file mode 100644
index b82a758d2c..0000000000
--- a/src/glut/mini/Makefile
+++ /dev/null
@@ -1,103 +0,0 @@
-# subset glut
-
-TOP = ../../..
-include $(TOP)/configs/current
-
-MARK = $(TOP)/src/glut/glx
-
-GLUT_MAJOR = 3
-GLUT_MINOR = 7
-GLUT_TINY = 1
-
-INCLUDES = -I$(TOP)/include -I$(MARK)
-
-CORE_SOURCES = \
- bitmap.c \
- callback.c \
- color.c \
- globals.c \
- init.c \
- menu.c \
- models.c \
- overlay.c \
- state.c \
- teapot.c \
- window.c
-
-
-MARK_SOURCES = \
- $(MARK)/glut_8x13.c \
- $(MARK)/glut_9x15.c \
- $(MARK)/glut_hel10.c \
- $(MARK)/glut_hel12.c \
- $(MARK)/glut_hel18.c \
- $(MARK)/glut_tr10.c \
- $(MARK)/glut_tr24.c
-
-SOURCES = $(CORE_SOURCES) $(MARK_SOURCES)
-
-OBJECTS = $(SOURCES:.c=.o)
-
-
-##### RULES #####
-
-.c.o:
- $(CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
-
-.S.o:
- $(CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
-
-
-##### TARGETS #####
-
-default: depend $(TOP)/$(LIB_DIR)/$(GLUT_LIB_NAME)
-
-
-# Make the library
-$(TOP)/$(LIB_DIR)/$(GLUT_LIB_NAME): depend $(OBJECTS)
- $(MKLIB) -o $(GLUT_LIB) -linker '$(CC)' -ldflags '$(LDFLAGS)' \
- -major $(GLUT_MAJOR) -minor $(GLUT_MINOR) -patch $(GLUT_TINY) \
- $(GLUT_LIB_DEPS) -install $(TOP)/$(LIB_DIR) \
- $(MKLIB_OPTIONS) $(OBJECTS)
-
-
-# Run 'make -f Makefile.solo dep' to update the dependencies if you change
-# what's included by any source file.
-depend: $(SOURCES)
- rm -f depend
- touch depend
- $(MKDEP) $(MKDEP_OPTIONS) $(INCLUDES) $(SOURCES) > /dev/null
-
-# Emacs tags
-tags:
- etags `find . -name \*.[ch]` `find ../include`
-
-
-# glut pkgconfig file
-pcedit = sed \
- -e 's,@INSTALL_DIR@,$(INSTALL_DIR),' \
- -e 's,@INSTALL_LIB_DIR@,$(INSTALL_LIB_DIR),' \
- -e 's,@INSTALL_INC_DIR@,$(INSTALL_INC_DIR),' \
- -e 's,@VERSION@,$(GLUT_MAJOR).$(GLUT_MINOR).$(GLUT_TINY),' \
- -e 's,@GLUT_PC_REQ_PRIV@,$(GLUT_PC_REQ_PRIV),' \
- -e 's,@GLUT_PC_LIB_PRIV@,$(GLUT_PC_LIB_PRIV),' \
- -e 's,@GLUT_PC_CFLAGS@,$(GLUT_PC_CFLAGS),' \
- -e 's,@GLUT_LIB@,$(GLUT_LIB),'
-glut.pc: glut.pc.in
- $(pcedit) $< > $@
-
-install: glut.pc
- $(INSTALL) -d $(DESTDIR)$(INSTALL_INC_DIR)/GL
- $(INSTALL) -d $(DESTDIR)$(INSTALL_LIB_DIR)
- $(INSTALL) -d $(DESTDIR)$(INSTALL_LIB_DIR)/pkgconfig
- $(INSTALL) -m 644 $(TOP)/include/GL/glut.h $(DESTDIR)$(INSTALL_INC_DIR)/GL
- $(MINSTALL) $(TOP)/$(LIB_DIR)/libglut* $(DESTDIR)$(INSTALL_LIB_DIR)
- $(INSTALL) -m 644 glut.pc $(DESTDIR)$(INSTALL_LIB_DIR)/pkgconfig
-
-
-# Remove .o and backup files
-clean: depend
- -rm -f depend depend.bak
- -rm -f *.o *~ *.o *~ *.so *.pc libglut.so.3.7
-
-include depend
diff --git a/src/glut/mini/bitmap.c b/src/glut/mini/bitmap.c
deleted file mode 100644
index 55a031af0a..0000000000
--- a/src/glut/mini/bitmap.c
+++ /dev/null
@@ -1,56 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include "glutbitmap.h"
-
-void APIENTRY
-glutBitmapCharacter(GLUTbitmapFont font, int c)
-{
- const BitmapCharRec *ch;
- BitmapFontPtr fontinfo;
- GLfloat swapbytes, lsbfirst, rowlength;
- GLfloat skiprows, skippixels, alignment;
-
-#if defined(_WIN32)
- fontinfo = (BitmapFontPtr) __glutFont(font);
-#else
- fontinfo = (BitmapFontPtr) font;
-#endif
-
- if (c < fontinfo->first ||
- c >= fontinfo->first + fontinfo->num_chars)
- return;
- ch = fontinfo->ch[c - fontinfo->first];
- if (ch) {
- /* Save current modes. */
-/* glGetFloatv(GL_UNPACK_SWAP_BYTES, &swapbytes); */
-/* glGetFloatv(GL_UNPACK_LSB_FIRST, &lsbfirst); */
-/* glGetFloatv(GL_UNPACK_ROW_LENGTH, &rowlength); */
-/* glGetFloatv(GL_UNPACK_SKIP_ROWS, &skiprows); */
-/* glGetFloatv(GL_UNPACK_SKIP_PIXELS, &skippixels); */
- glGetFloatv(GL_UNPACK_ALIGNMENT, &alignment);
- /* Little endian machines (DEC Alpha for example) could
- benefit from setting GL_UNPACK_LSB_FIRST to GL_TRUE
- instead of GL_FALSE, but this would require changing the
- generated bitmaps too. */
-/* glPixelStorei(GL_UNPACK_SWAP_BYTES, GL_FALSE); */
-/* glPixelStorei(GL_UNPACK_LSB_FIRST, GL_FALSE); */
-/* glPixelStorei(GL_UNPACK_ROW_LENGTH, 0); */
-/* glPixelStorei(GL_UNPACK_SKIP_ROWS, 0); */
-/* glPixelStorei(GL_UNPACK_SKIP_PIXELS, 0); */
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- glBitmap(ch->width, ch->height, ch->xorig, ch->yorig,
- ch->advance, 0, ch->bitmap);
- /* Restore saved modes. */
-/* glPixelStorei(GL_UNPACK_SWAP_BYTES, swapbytes); */
-/* glPixelStorei(GL_UNPACK_LSB_FIRST, (int)lsbfirst); */
-/* glPixelStorei(GL_UNPACK_ROW_LENGTH, (int)rowlength); */
-/* glPixelStorei(GL_UNPACK_SKIP_ROWS, skiprows); */
-/* glPixelStorei(GL_UNPACK_SKIP_PIXELS, skippixels); */
- glPixelStorei(GL_UNPACK_ALIGNMENT, (int)alignment);
- }
-}
diff --git a/src/glut/mini/callback.c b/src/glut/mini/callback.c
deleted file mode 100644
index d4e3101cc0..0000000000
--- a/src/glut/mini/callback.c
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * Mesa 3-D graphics library
- * Version: 3.4
- * Copyright (C) 1995-1998 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-/*
- * DOS/DJGPP glut driver v1.0 for Mesa 4.0
- *
- * Copyright (C) 2002 - Borca Daniel
- * Email : dborca@yahoo.com
- * Web : http://www.geocities.com/dborca
- */
-
-
-#include "GL/glut.h"
-#include "internal.h"
-
-
-void APIENTRY glutDisplayFunc (void (GLUTCALLBACK *func) (void))
-{
- display_func = func;
-}
-
-
-void APIENTRY glutReshapeFunc (void (GLUTCALLBACK *func) (int width, int height))
-{
- reshape_func = func;
-}
-
-
-void APIENTRY glutKeyboardFunc (void (GLUTCALLBACK *func) (unsigned char key, int x, int y))
-{
- keyboard_func = func;
-}
-
-
-void APIENTRY glutMouseFunc (void (GLUTCALLBACK *func) (int button, int state, int x, int y))
-{
- mouse_func = func;
-}
-
-
-void APIENTRY glutMotionFunc (void (GLUTCALLBACK *func) (int x, int y))
-{
- motion_func = func;
-}
-
-
-void APIENTRY glutPassiveMotionFunc (void (GLUTCALLBACK *func) (int x, int y))
-{
- passive_motion_func = func;
-}
-
-
-void APIENTRY glutEntryFunc (void (GLUTCALLBACK *func) (int state))
-{
- entry_func = func;
-}
-
-
-void APIENTRY glutVisibilityFunc (void (GLUTCALLBACK *func) (int state))
-{
- visibility_func = func;
-}
-
-
-void APIENTRY glutIdleFunc (void (GLUTCALLBACK *func) (void))
-{
- idle_func = func;
-}
-
-
-void APIENTRY glutTimerFunc (unsigned int millis, void (GLUTCALLBACK *func) (int value), int value)
-{
-}
-
-
-void APIENTRY glutMenuStateFunc (void (GLUTCALLBACK *func) (int state))
-{
- menu_state_func = func;
-}
-
-
-void APIENTRY glutSpecialFunc (void (GLUTCALLBACK *func) (int key, int x, int y))
-{
- special_func = func;
-}
-
-
-void APIENTRY glutSpaceballMotionFunc (void (GLUTCALLBACK *func) (int x, int y, int z))
-{
-}
-
-
-void APIENTRY glutSpaceballRotateFunc (void (GLUTCALLBACK *func) (int x, int y, int z))
-{
-}
-
-
-void APIENTRY glutSpaceballButtonFunc (void (GLUTCALLBACK *func) (int button, int state))
-{
-}
-
-
-void APIENTRY glutButtonBoxFunc (void (GLUTCALLBACK *func) (int button, int state))
-{
-}
-
-
-void APIENTRY glutDialsFunc (void (GLUTCALLBACK *func) (int dial, int value))
-{
-}
-
-
-void APIENTRY glutTabletMotionFunc (void (GLUTCALLBACK *func) (int x, int y))
-{
-}
-
-
-void APIENTRY glutTabletButtonFunc (void (GLUTCALLBACK *func) (int button, int state, int x, int y))
-{
-}
-
-
-void APIENTRY glutMenuStatusFunc (void (GLUTCALLBACK *func) (int status, int x, int y))
-{
-}
-
-
-void APIENTRY glutOverlayDisplayFunc (void (GLUTCALLBACK *func) (void))
-{
-}
-
-
-void APIENTRY glutWindowStatusFunc (void (GLUTCALLBACK *func) (int state))
-{
-}
diff --git a/src/glut/mini/color.c b/src/glut/mini/color.c
deleted file mode 100644
index b53c5b669e..0000000000
--- a/src/glut/mini/color.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Mesa 3-D graphics library
- * Version: 3.4
- * Copyright (C) 1995-1998 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-/*
- * DOS/DJGPP glut driver v1.0 for Mesa 4.0
- *
- * Copyright (C) 2002 - Borca Daniel
- * Email : dborca@yahoo.com
- * Web : http://www.geocities.com/dborca
- */
-
-
-#include "GL/glut.h"
-
-
-void APIENTRY glutSetColor (int ndx, GLfloat red, GLfloat green, GLfloat blue)
-{
-}
-
-
-GLfloat APIENTRY glutGetColor (int ndx, int component)
-{
- return 0.0;
-}
-
-
-void APIENTRY glutCopyColormap (int win)
-{
-}
diff --git a/src/glut/mini/globals.c b/src/glut/mini/globals.c
deleted file mode 100644
index 76db53c695..0000000000
--- a/src/glut/mini/globals.c
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Mesa 3-D graphics library
- * Version: 3.4
- * Copyright (C) 1995-1998 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-/*
- * DOS/DJGPP glut driver v1.0 for Mesa 4.0
- *
- * Copyright (C) 2002 - Borca Daniel
- * Email : dborca@yahoo.com
- * Web : http://www.geocities.com/dborca
- */
-
-
-#include "GL/glut.h"
-#include "internal.h"
-
-GLenum g_display_mode = 0;
-GLuint g_width = DEFAULT_WIDTH;
-GLuint g_height = DEFAULT_HEIGHT;
-GLint g_mouse = GL_FALSE;
-GLboolean g_redisplay = GL_FALSE;
-GLint g_xpos = 0;
-GLint g_ypos = 0;
-
-void (GLUTCALLBACK *display_func) (void) = 0;
-void (GLUTCALLBACK *reshape_func) (int width, int height) = 0;
-void (GLUTCALLBACK *keyboard_func) (unsigned char key, int x, int y) = 0;
-void (GLUTCALLBACK *mouse_func) (int button, int state, int x, int y) = 0;
-void (GLUTCALLBACK *motion_func) (int x, int y) = 0;
-void (GLUTCALLBACK *passive_motion_func) (int x, int y) = 0;
-void (GLUTCALLBACK *entry_func) (int state) = 0;
-void (GLUTCALLBACK *visibility_func) (int state) = 0;
-void (GLUTCALLBACK *idle_func) (void) = 0;
-void (GLUTCALLBACK *menu_state_func) (int state) = 0;
-void (GLUTCALLBACK *special_func) (int key, int x, int y) = 0;
-void (GLUTCALLBACK *spaceball_motion_func) (int x, int y, int z) = 0;
-void (GLUTCALLBACK *spaceball_rotate_func) (int x, int y, int z) = 0;
-void (GLUTCALLBACK *spaceball_button_func) (int button, int state) = 0;
-void (GLUTCALLBACK *button_box_func) (int button, int state) = 0;
-void (GLUTCALLBACK *dials_func) (int dial, int value) = 0;
-void (GLUTCALLBACK *tablet_motion_func) (int x, int y) = 0;
-void (GLUTCALLBACK *tabled_button_func) (int button, int state, int x, int y) = 0;
-void (GLUTCALLBACK *menu_status_func) (int status, int x, int y) = 0;
-void (GLUTCALLBACK *overlay_display_func) (void) = 0;
-void (GLUTCALLBACK *window_status_func) (int state) = 0;
diff --git a/src/glut/mini/glut.pc.in b/src/glut/mini/glut.pc.in
deleted file mode 100644
index 151dd0b802..0000000000
--- a/src/glut/mini/glut.pc.in
+++ /dev/null
@@ -1,13 +0,0 @@
-prefix=@INSTALL_DIR@
-exec_prefix=${prefix}
-libdir=@INSTALL_LIB_DIR@
-includedir=@INSTALL_INC_DIR@
-
-Name: glut
-Description: Mesa OpenGL Utility Toolkit library
-Requires: gl glu
-Requires.private: @GLUT_PC_REQ_PRIV@
-Version: @VERSION@
-Libs: -L${libdir} -l@GLUT_LIB@
-Libs.private: @GLUT_PC_LIB_PRIV@
-Cflags: -I${includedir} @GLUT_PC_CFLAGS@
diff --git a/src/glut/mini/init.c b/src/glut/mini/init.c
deleted file mode 100644
index 5588db9aba..0000000000
--- a/src/glut/mini/init.c
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Mesa 3-D graphics library
- * Version: 4.0
- * Copyright (C) 1995-1998 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-/*
- * DOS/DJGPP glut driver v1.0 for Mesa 4.0
- *
- * Copyright (C) 2002 - Borca Daniel
- * Email : dborca@yahoo.com
- * Web : http://www.geocities.com/dborca
- */
-
-
-#include "GL/glut.h"
-#include "internal.h"
-
-
-void APIENTRY glutInit (int *argcp, char **argv)
-{
- glutGet(GLUT_ELAPSED_TIME);
-}
-
-
-void APIENTRY glutInitDisplayMode (unsigned int mode)
-{
- g_display_mode = mode;
-}
-
-
-void APIENTRY glutInitWindowPosition (int x, int y)
-{
- g_xpos = x;
- g_ypos = y;
-}
-
-
-void APIENTRY glutInitWindowSize (int width, int height)
-{
- g_width = width;
- g_height = height;
-}
-
-
diff --git a/src/glut/mini/internal.h b/src/glut/mini/internal.h
deleted file mode 100644
index ccd12e54af..0000000000
--- a/src/glut/mini/internal.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Mesa 3-D graphics library
- * Version: 4.0
- * Copyright (C) 1995-1998 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-/*
- * DOS/DJGPP glut driver v1.0 for Mesa 4.0
- *
- * Copyright (C) 2002 - Borca Daniel
- * Email : dborca@yahoo.com
- * Web : http://www.geocities.com/dborca
- */
-
-
-#ifndef INTERNAL_H_included
-#define INTERNAL_H_included
-
-
-#include "GL/glut.h"
-/* #include "pc_hw/pc_hw.h" */
-
-
-#define MAX_WINDOWS 4
-
-#define DEFAULT_WIDTH 640
-#define DEFAULT_HEIGHT 480
-#define DEFAULT_BPP 16
-
-#define DEPTH_SIZE 16
-#define STENCIL_SIZE 8
-#define ACCUM_SIZE 16
-
-extern GLenum g_display_mode;
-extern GLuint g_width;
-extern GLuint g_height;
-extern GLint g_mouse;
-extern GLboolean g_redisplay;
-extern GLint g_xpos;
-extern GLint g_ypos;
-
-extern void (GLUTCALLBACK *display_func) (void);
-extern void (GLUTCALLBACK *reshape_func) (int width, int height);
-extern void (GLUTCALLBACK *keyboard_func) (unsigned char key, int x, int y);
-extern void (GLUTCALLBACK *mouse_func) (int button, int state, int x, int y);
-extern void (GLUTCALLBACK *motion_func) (int x, int y);
-extern void (GLUTCALLBACK *passive_motion_func) (int x, int y);
-extern void (GLUTCALLBACK *entry_func) (int state);
-extern void (GLUTCALLBACK *visibility_func) (int state);
-extern void (GLUTCALLBACK *idle_func) (void);
-extern void (GLUTCALLBACK *menu_state_func) (int state);
-extern void (GLUTCALLBACK *special_func) (int key, int x, int y);
-extern void (GLUTCALLBACK *spaceball_motion_func) (int x, int y, int z);
-extern void (GLUTCALLBACK *spaceball_rotate_func) (int x, int y, int z);
-extern void (GLUTCALLBACK *spaceball_button_func) (int button, int state);
-extern void (GLUTCALLBACK *button_box_func) (int button, int state);
-extern void (GLUTCALLBACK *dials_func) (int dial, int value);
-extern void (GLUTCALLBACK *tablet_motion_func) (int x, int y);
-extern void (GLUTCALLBACK *tabled_button_func) (int button, int state, int x, int y);
-extern void (GLUTCALLBACK *menu_status_func) (int status, int x, int y);
-extern void (GLUTCALLBACK *overlay_display_func) (void);
-extern void (GLUTCALLBACK *window_status_func) (int state);
-
-#endif
diff --git a/src/glut/mini/menu.c b/src/glut/mini/menu.c
deleted file mode 100644
index 3c571647b1..0000000000
--- a/src/glut/mini/menu.c
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Mesa 3-D graphics library
- * Version: 3.4
- * Copyright (C) 1995-1998 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-/*
- * DOS/DJGPP glut driver v1.0 for Mesa 4.0
- *
- * Copyright (C) 2002 - Borca Daniel
- * Email : dborca@yahoo.com
- * Web : http://www.geocities.com/dborca
- */
-
-
-#include "GL/glut.h"
-
-
-int APIENTRY glutCreateMenu (void (GLUTCALLBACK *func) (int))
-{
- return 0;
-}
-
-void APIENTRY glutDestroyMenu (int menu)
-{
-}
-
-
-int APIENTRY glutGetMenu (void)
-{
- return 0;
-}
-
-
-void APIENTRY glutSetMenu (int menu)
-{
-}
-
-
-void APIENTRY glutAddMenuEntry (const char *label, int value)
-{
-}
-
-
-void APIENTRY glutAddSubMenu (const char *label, int submenu)
-{
-}
-
-
-void APIENTRY glutChangeToMenuEntry (int item, const char *label, int value)
-{
-}
-
-
-void APIENTRY glutChangeToSubMenu (int item, const char *label, int submenu)
-{
-}
-
-
-void APIENTRY glutRemoveMenuItem (int item)
-{
-}
-
-
-void APIENTRY glutAttachMenu (int button)
-{
-}
-
-
-void APIENTRY glutDetachMenu (int button)
-{
-}
diff --git a/src/glut/mini/models.c b/src/glut/mini/models.c
deleted file mode 100644
index 3f955b88ff..0000000000
--- a/src/glut/mini/models.c
+++ /dev/null
@@ -1,598 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994, 1997. */
-
-/**
-(c) Copyright 1993, Silicon Graphics, Inc.
-
-ALL RIGHTS RESERVED
-
-Permission to use, copy, modify, and distribute this software
-for any purpose and without fee is hereby granted, provided
-that the above copyright notice appear in all copies and that
-both the copyright notice and this permission notice appear in
-supporting documentation, and that the name of Silicon
-Graphics, Inc. not be used in advertising or publicity
-pertaining to distribution of the software without specific,
-written prior permission.
-
-THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU
-"AS-IS" AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR
-OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO
-EVENT SHALL SILICON GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE
-ELSE FOR ANY DIRECT, SPECIAL, INCIDENTAL, INDIRECT OR
-CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER,
-INCLUDING WITHOUT LIMITATION, LOSS OF PROFIT, LOSS OF USE,
-SAVINGS OR REVENUE, OR THE CLAIMS OF THIRD PARTIES, WHETHER OR
-NOT SILICON GRAPHICS, INC. HAS BEEN ADVISED OF THE POSSIBILITY
-OF SUCH LOSS, HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-ARISING OUT OF OR IN CONNECTION WITH THE POSSESSION, USE OR
-PERFORMANCE OF THIS SOFTWARE.
-
-US Government Users Restricted Rights
-
-Use, duplication, or disclosure by the Government is subject to
-restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
-(c)(1)(ii) of the Rights in Technical Data and Computer
-Software clause at DFARS 252.227-7013 and/or in similar or
-successor clauses in the FAR or the DOD or NASA FAR
-Supplement. Unpublished-- rights reserved under the copyright
-laws of the United States. Contractor/manufacturer is Silicon
-Graphics, Inc., 2011 N. Shoreline Blvd., Mountain View, CA
-94039-7311.
-
-OpenGL(TM) is a trademark of Silicon Graphics, Inc.
-*/
-
-#include <math.h>
-#include <GL/gl.h>
-#include <GL/glu.h>
-#include "GL/glut.h"
-
-/* Some <math.h> files do not define M_PI... */
-#ifndef M_PI
-#define M_PI 3.14159265358979323846
-#endif
-
-static GLUquadricObj *quadObj;
-
-#define QUAD_OBJ_INIT() { if(!quadObj) initQuadObj(); }
-
-static void
-initQuadObj(void)
-{
- quadObj = gluNewQuadric();
-/* if (!quadObj)
- __glutFatalError("out of memory."); */
-}
-
-/* CENTRY */
-void APIENTRY
-glutWireSphere(GLdouble radius, GLint slices, GLint stacks)
-{
- QUAD_OBJ_INIT();
- gluQuadricDrawStyle(quadObj, GLU_LINE);
- gluQuadricNormals(quadObj, GLU_SMOOTH);
- /* If we ever changed/used the texture or orientation state
- of quadObj, we'd need to change it to the defaults here
- with gluQuadricTexture and/or gluQuadricOrientation. */
- gluSphere(quadObj, radius, slices, stacks);
-}
-
-void APIENTRY
-glutSolidSphere(GLdouble radius, GLint slices, GLint stacks)
-{
- QUAD_OBJ_INIT();
- gluQuadricDrawStyle(quadObj, GLU_FILL);
- gluQuadricNormals(quadObj, GLU_SMOOTH);
- /* If we ever changed/used the texture or orientation state
- of quadObj, we'd need to change it to the defaults here
- with gluQuadricTexture and/or gluQuadricOrientation. */
- gluSphere(quadObj, radius, slices, stacks);
-}
-
-void APIENTRY
-glutWireCone(GLdouble base, GLdouble height,
- GLint slices, GLint stacks)
-{
- QUAD_OBJ_INIT();
- gluQuadricDrawStyle(quadObj, GLU_LINE);
- gluQuadricNormals(quadObj, GLU_SMOOTH);
- /* If we ever changed/used the texture or orientation state
- of quadObj, we'd need to change it to the defaults here
- with gluQuadricTexture and/or gluQuadricOrientation. */
- gluCylinder(quadObj, base, 0.0, height, slices, stacks);
-}
-
-void APIENTRY
-glutSolidCone(GLdouble base, GLdouble height,
- GLint slices, GLint stacks)
-{
- QUAD_OBJ_INIT();
- gluQuadricDrawStyle(quadObj, GLU_FILL);
- gluQuadricNormals(quadObj, GLU_SMOOTH);
- /* If we ever changed/used the texture or orientation state
- of quadObj, we'd need to change it to the defaults here
- with gluQuadricTexture and/or gluQuadricOrientation. */
- gluCylinder(quadObj, base, 0.0, height, slices, stacks);
-}
-
-/* ENDCENTRY */
-
-static void
-drawBox(GLfloat size, GLenum type)
-{
- static GLfloat n[6][3] =
- {
- {-1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {1.0, 0.0, 0.0},
- {0.0, -1.0, 0.0},
- {0.0, 0.0, 1.0},
- {0.0, 0.0, -1.0}
- };
- static GLint faces[6][4] =
- {
- {0, 1, 2, 3},
- {3, 2, 6, 7},
- {7, 6, 5, 4},
- {4, 5, 1, 0},
- {5, 6, 2, 1},
- {7, 4, 0, 3}
- };
- GLfloat v[8][3];
- GLint i;
-
- v[0][0] = v[1][0] = v[2][0] = v[3][0] = -size / 2;
- v[4][0] = v[5][0] = v[6][0] = v[7][0] = size / 2;
- v[0][1] = v[1][1] = v[4][1] = v[5][1] = -size / 2;
- v[2][1] = v[3][1] = v[6][1] = v[7][1] = size / 2;
- v[0][2] = v[3][2] = v[4][2] = v[7][2] = -size / 2;
- v[1][2] = v[2][2] = v[5][2] = v[6][2] = size / 2;
-
- for (i = 5; i >= 0; i--) {
- glBegin(type);
- glNormal3fv(&n[i][0]);
- glVertex3fv(&v[faces[i][0]][0]);
- glVertex3fv(&v[faces[i][1]][0]);
- glVertex3fv(&v[faces[i][2]][0]);
- glVertex3fv(&v[faces[i][3]][0]);
- glEnd();
- }
-}
-
-/* CENTRY */
-void APIENTRY
-glutWireCube(GLdouble size)
-{
- drawBox(size, GL_LINE_LOOP);
-}
-
-void APIENTRY
-glutSolidCube(GLdouble size)
-{
- drawBox(size, GL_QUADS);
-}
-
-/* ENDCENTRY */
-
-static void
-doughnut(GLfloat r, GLfloat R, GLint nsides, GLint rings)
-{
- int i, j;
- GLfloat theta, phi, theta1;
- GLfloat cosTheta, sinTheta;
- GLfloat cosTheta1, sinTheta1;
- GLfloat ringDelta, sideDelta;
-
- ringDelta = 2.0 * M_PI / rings;
- sideDelta = 2.0 * M_PI / nsides;
-
- theta = 0.0;
- cosTheta = 1.0;
- sinTheta = 0.0;
- for (i = rings - 1; i >= 0; i--) {
- theta1 = theta + ringDelta;
- cosTheta1 = cos(theta1);
- sinTheta1 = sin(theta1);
- glBegin(GL_QUAD_STRIP);
- phi = 0.0;
- for (j = nsides; j >= 0; j--) {
- GLfloat cosPhi, sinPhi, dist;
-
- phi += sideDelta;
- cosPhi = cos(phi);
- sinPhi = sin(phi);
- dist = R + r * cosPhi;
-
- glNormal3f(cosTheta1 * cosPhi, -sinTheta1 * cosPhi, sinPhi);
- glVertex3f(cosTheta1 * dist, -sinTheta1 * dist, r * sinPhi);
- glNormal3f(cosTheta * cosPhi, -sinTheta * cosPhi, sinPhi);
- glVertex3f(cosTheta * dist, -sinTheta * dist, r * sinPhi);
- }
- glEnd();
- theta = theta1;
- cosTheta = cosTheta1;
- sinTheta = sinTheta1;
- }
-}
-
-/* CENTRY */
-void APIENTRY
-glutWireTorus(GLdouble innerRadius, GLdouble outerRadius,
- GLint nsides, GLint rings)
-{
- glPushAttrib(GL_POLYGON_BIT);
- glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
- doughnut(innerRadius, outerRadius, nsides, rings);
- glPopAttrib();
-}
-
-void APIENTRY
-glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius,
- GLint nsides, GLint rings)
-{
- doughnut(innerRadius, outerRadius, nsides, rings);
-}
-
-/* ENDCENTRY */
-
-static GLfloat dodec[20][3];
-
-static void
-initDodecahedron(void)
-{
- GLfloat alpha, beta;
-
- alpha = sqrt(2.0 / (3.0 + sqrt(5.0)));
- beta = 1.0 + sqrt(6.0 / (3.0 + sqrt(5.0)) -
- 2.0 + 2.0 * sqrt(2.0 / (3.0 + sqrt(5.0))));
- /* *INDENT-OFF* */
- dodec[0][0] = -alpha; dodec[0][1] = 0; dodec[0][2] = beta;
- dodec[1][0] = alpha; dodec[1][1] = 0; dodec[1][2] = beta;
- dodec[2][0] = -1; dodec[2][1] = -1; dodec[2][2] = -1;
- dodec[3][0] = -1; dodec[3][1] = -1; dodec[3][2] = 1;
- dodec[4][0] = -1; dodec[4][1] = 1; dodec[4][2] = -1;
- dodec[5][0] = -1; dodec[5][1] = 1; dodec[5][2] = 1;
- dodec[6][0] = 1; dodec[6][1] = -1; dodec[6][2] = -1;
- dodec[7][0] = 1; dodec[7][1] = -1; dodec[7][2] = 1;
- dodec[8][0] = 1; dodec[8][1] = 1; dodec[8][2] = -1;
- dodec[9][0] = 1; dodec[9][1] = 1; dodec[9][2] = 1;
- dodec[10][0] = beta; dodec[10][1] = alpha; dodec[10][2] = 0;
- dodec[11][0] = beta; dodec[11][1] = -alpha; dodec[11][2] = 0;
- dodec[12][0] = -beta; dodec[12][1] = alpha; dodec[12][2] = 0;
- dodec[13][0] = -beta; dodec[13][1] = -alpha; dodec[13][2] = 0;
- dodec[14][0] = -alpha; dodec[14][1] = 0; dodec[14][2] = -beta;
- dodec[15][0] = alpha; dodec[15][1] = 0; dodec[15][2] = -beta;
- dodec[16][0] = 0; dodec[16][1] = beta; dodec[16][2] = alpha;
- dodec[17][0] = 0; dodec[17][1] = beta; dodec[17][2] = -alpha;
- dodec[18][0] = 0; dodec[18][1] = -beta; dodec[18][2] = alpha;
- dodec[19][0] = 0; dodec[19][1] = -beta; dodec[19][2] = -alpha;
- /* *INDENT-ON* */
-
-}
-
-#define DIFF3(_a,_b,_c) { \
- (_c)[0] = (_a)[0] - (_b)[0]; \
- (_c)[1] = (_a)[1] - (_b)[1]; \
- (_c)[2] = (_a)[2] - (_b)[2]; \
-}
-
-static void
-crossprod(GLfloat v1[3], GLfloat v2[3], GLfloat prod[3])
-{
- GLfloat p[3]; /* in case prod == v1 or v2 */
-
- p[0] = v1[1] * v2[2] - v2[1] * v1[2];
- p[1] = v1[2] * v2[0] - v2[2] * v1[0];
- p[2] = v1[0] * v2[1] - v2[0] * v1[1];
- prod[0] = p[0];
- prod[1] = p[1];
- prod[2] = p[2];
-}
-
-static void
-normalize(GLfloat v[3])
-{
- GLfloat d;
-
- d = sqrt(v[0] * v[0] + v[1] * v[1] + v[2] * v[2]);
- if (d == 0.0) {
-/* __glutWarning("normalize: zero length vector"); */
- v[0] = d = 1.0;
- }
- d = 1 / d;
- v[0] *= d;
- v[1] *= d;
- v[2] *= d;
-}
-
-static void
-pentagon(int a, int b, int c, int d, int e, GLenum shadeType)
-{
- GLfloat n0[3], d1[3], d2[3];
-
- DIFF3(dodec[a], dodec[b], d1);
- DIFF3(dodec[b], dodec[c], d2);
- crossprod(d1, d2, n0);
- normalize(n0);
-
- glBegin(shadeType);
- glNormal3fv(n0);
- glVertex3fv(&dodec[a][0]);
- glVertex3fv(&dodec[b][0]);
- glVertex3fv(&dodec[c][0]);
- glVertex3fv(&dodec[d][0]);
- glVertex3fv(&dodec[e][0]);
- glEnd();
-}
-
-static void
-dodecahedron(GLenum type)
-{
- static int inited = 0;
-
- if (inited == 0) {
- inited = 1;
- initDodecahedron();
- }
- pentagon(0, 1, 9, 16, 5, type);
- pentagon(1, 0, 3, 18, 7, type);
- pentagon(1, 7, 11, 10, 9, type);
- pentagon(11, 7, 18, 19, 6, type);
- pentagon(8, 17, 16, 9, 10, type);
- pentagon(2, 14, 15, 6, 19, type);
- pentagon(2, 13, 12, 4, 14, type);
- pentagon(2, 19, 18, 3, 13, type);
- pentagon(3, 0, 5, 12, 13, type);
- pentagon(6, 15, 8, 10, 11, type);
- pentagon(4, 17, 8, 15, 14, type);
- pentagon(4, 12, 5, 16, 17, type);
-}
-
-/* CENTRY */
-void APIENTRY
-glutWireDodecahedron(void)
-{
- dodecahedron(GL_LINE_LOOP);
-}
-
-void APIENTRY
-glutSolidDodecahedron(void)
-{
- dodecahedron(GL_TRIANGLE_FAN);
-}
-
-/* ENDCENTRY */
-
-static void
-recorditem(GLfloat * n1, GLfloat * n2, GLfloat * n3,
- GLenum shadeType)
-{
- GLfloat q0[3], q1[3];
-
- DIFF3(n1, n2, q0);
- DIFF3(n2, n3, q1);
- crossprod(q0, q1, q1);
- normalize(q1);
-
- glBegin(shadeType);
- glNormal3fv(q1);
- glVertex3fv(n1);
- glVertex3fv(n2);
- glVertex3fv(n3);
- glEnd();
-}
-
-static void
-subdivide(GLfloat * v0, GLfloat * v1, GLfloat * v2,
- GLenum shadeType)
-{
- int depth;
- GLfloat w0[3], w1[3], w2[3];
- GLfloat l;
- int i, j, k, n;
-
- depth = 1;
- for (i = 0; i < depth; i++) {
- for (j = 0; i + j < depth; j++) {
- k = depth - i - j;
- for (n = 0; n < 3; n++) {
- w0[n] = (i * v0[n] + j * v1[n] + k * v2[n]) / depth;
- w1[n] = ((i + 1) * v0[n] + j * v1[n] + (k - 1) * v2[n])
- / depth;
- w2[n] = (i * v0[n] + (j + 1) * v1[n] + (k - 1) * v2[n])
- / depth;
- }
- l = sqrt(w0[0] * w0[0] + w0[1] * w0[1] + w0[2] * w0[2]);
- w0[0] /= l;
- w0[1] /= l;
- w0[2] /= l;
- l = sqrt(w1[0] * w1[0] + w1[1] * w1[1] + w1[2] * w1[2]);
- w1[0] /= l;
- w1[1] /= l;
- w1[2] /= l;
- l = sqrt(w2[0] * w2[0] + w2[1] * w2[1] + w2[2] * w2[2]);
- w2[0] /= l;
- w2[1] /= l;
- w2[2] /= l;
- recorditem(w1, w0, w2, shadeType);
- }
- }
-}
-
-static void
-drawtriangle(int i, GLfloat data[][3], int ndx[][3],
- GLenum shadeType)
-{
- GLfloat *x0, *x1, *x2;
-
- x0 = data[ndx[i][0]];
- x1 = data[ndx[i][1]];
- x2 = data[ndx[i][2]];
- subdivide(x0, x1, x2, shadeType);
-}
-
-/* octahedron data: The octahedron produced is centered at the
- origin and has radius 1.0 */
-static GLfloat odata[6][3] =
-{
- {1.0, 0.0, 0.0},
- {-1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, -1.0, 0.0},
- {0.0, 0.0, 1.0},
- {0.0, 0.0, -1.0}
-};
-
-static int ondex[8][3] =
-{
- {0, 4, 2},
- {1, 2, 4},
- {0, 3, 4},
- {1, 4, 3},
- {0, 2, 5},
- {1, 5, 2},
- {0, 5, 3},
- {1, 3, 5}
-};
-
-static void
-octahedron(GLenum shadeType)
-{
- int i;
-
- for (i = 7; i >= 0; i--) {
- drawtriangle(i, odata, ondex, shadeType);
- }
-}
-
-/* CENTRY */
-void APIENTRY
-glutWireOctahedron(void)
-{
- octahedron(GL_LINE_LOOP);
-}
-
-void APIENTRY
-glutSolidOctahedron(void)
-{
- octahedron(GL_TRIANGLES);
-}
-
-/* ENDCENTRY */
-
-/* icosahedron data: These numbers are rigged to make an
- icosahedron of radius 1.0 */
-
-#define X .525731112119133606
-#define Z .850650808352039932
-
-static GLfloat idata[12][3] =
-{
- {-X, 0, Z},
- {X, 0, Z},
- {-X, 0, -Z},
- {X, 0, -Z},
- {0, Z, X},
- {0, Z, -X},
- {0, -Z, X},
- {0, -Z, -X},
- {Z, X, 0},
- {-Z, X, 0},
- {Z, -X, 0},
- {-Z, -X, 0}
-};
-
-static int index[20][3] =
-{
- {0, 4, 1},
- {0, 9, 4},
- {9, 5, 4},
- {4, 5, 8},
- {4, 8, 1},
- {8, 10, 1},
- {8, 3, 10},
- {5, 3, 8},
- {5, 2, 3},
- {2, 7, 3},
- {7, 10, 3},
- {7, 6, 10},
- {7, 11, 6},
- {11, 0, 6},
- {0, 1, 6},
- {6, 1, 10},
- {9, 0, 11},
- {9, 11, 2},
- {9, 2, 5},
- {7, 2, 11},
-};
-
-static void
-icosahedron(GLenum shadeType)
-{
- int i;
-
- for (i = 19; i >= 0; i--) {
- drawtriangle(i, idata, index, shadeType);
- }
-}
-
-/* CENTRY */
-void APIENTRY
-glutWireIcosahedron(void)
-{
- icosahedron(GL_LINE_LOOP);
-}
-
-void APIENTRY
-glutSolidIcosahedron(void)
-{
- icosahedron(GL_TRIANGLES);
-}
-
-/* ENDCENTRY */
-
-/* tetrahedron data: */
-
-#define T 1.73205080756887729
-
-static GLfloat tdata[4][3] =
-{
- {T, T, T},
- {T, -T, -T},
- {-T, T, -T},
- {-T, -T, T}
-};
-
-static int tndex[4][3] =
-{
- {0, 1, 3},
- {2, 1, 0},
- {3, 2, 0},
- {1, 2, 3}
-};
-
-static void
-tetrahedron(GLenum shadeType)
-{
- int i;
-
- for (i = 3; i >= 0; i--)
- drawtriangle(i, tdata, tndex, shadeType);
-}
-
-/* CENTRY */
-void APIENTRY
-glutWireTetrahedron(void)
-{
- tetrahedron(GL_LINE_LOOP);
-}
-
-void APIENTRY
-glutSolidTetrahedron(void)
-{
- tetrahedron(GL_TRIANGLES);
-}
-
-/* ENDCENTRY */
diff --git a/src/glut/mini/overlay.c b/src/glut/mini/overlay.c
deleted file mode 100644
index fc8a8e5b0d..0000000000
--- a/src/glut/mini/overlay.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Mesa 3-D graphics library
- * Version: 3.4
- * Copyright (C) 1995-1998 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-/*
- * DOS/DJGPP glut driver v1.0 for Mesa 4.0
- *
- * Copyright (C) 2002 - Borca Daniel
- * Email : dborca@yahoo.com
- * Web : http://www.geocities.com/dborca
- */
-
-
-#include "GL/glut.h"
-
-
-void APIENTRY glutEstablishOverlay (void)
-{
-}
-
-
-void APIENTRY glutRemoveOverlay (void)
-{
-}
-
-
-void APIENTRY glutUseLayer (GLenum layer)
-{
-}
-
-
-void APIENTRY glutPostOverlayRedisplay (void)
-{
-}
-
-
-void APIENTRY glutShowOverlay (void)
-{
-}
-
-
-void APIENTRY glutHideOverlay (void)
-{
-}
diff --git a/src/glut/mini/state.c b/src/glut/mini/state.c
deleted file mode 100644
index 81aefc53bd..0000000000
--- a/src/glut/mini/state.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Mesa 3-D graphics library
- * Version: 3.4
- * Copyright (C) 1995-1998 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-/*
- * DOS/DJGPP glut driver v1.0 for Mesa 4.0
- *
- * Copyright (C) 2002 - Borca Daniel
- * Email : dborca@yahoo.com
- * Web : http://www.geocities.com/dborca
- */
-
-
-#include "GL/glut.h"
-#include <sys/time.h>
-
-
-#define TIMEDELTA(dest, src1, src2) { \
- if(((dest).tv_usec = (src1).tv_usec - (src2).tv_usec) < 0) { \
- (dest).tv_usec += 1000000; \
- (dest).tv_sec = (src1).tv_sec - (src2).tv_sec - 1; \
- } else { \
- (dest).tv_sec = (src1).tv_sec - (src2).tv_sec; \
- } \
-}
-
-int APIENTRY glutGet (GLenum type)
-{
-
- switch (type) {
- case GLUT_WINDOW_RGBA:
- return 1;
- case GLUT_ELAPSED_TIME: {
- static int inited = 0;
- static struct timeval elapsed, beginning, now;
- if (!inited) {
- gettimeofday(&beginning, 0);
- inited = 1;
- }
- gettimeofday(&now, 0);
- TIMEDELTA(elapsed, now, beginning);
- /* Return elapsed milliseconds. */
- return (int) ((elapsed.tv_sec * 1000) + (elapsed.tv_usec / 1000));
- }
- default:
- return 0;
- }
-}
-
-
-int APIENTRY glutDeviceGet (GLenum type)
-{
- return 0;
-}
diff --git a/src/glut/mini/teapot.c b/src/glut/mini/teapot.c
deleted file mode 100644
index aa96fcbbbd..0000000000
--- a/src/glut/mini/teapot.c
+++ /dev/null
@@ -1,212 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994. */
-
-/**
-(c) Copyright 1993, Silicon Graphics, Inc.
-
-ALL RIGHTS RESERVED
-
-Permission to use, copy, modify, and distribute this software
-for any purpose and without fee is hereby granted, provided
-that the above copyright notice appear in all copies and that
-both the copyright notice and this permission notice appear in
-supporting documentation, and that the name of Silicon
-Graphics, Inc. not be used in advertising or publicity
-pertaining to distribution of the software without specific,
-written prior permission.
-
-THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU
-"AS-IS" AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR
-OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO
-EVENT SHALL SILICON GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE
-ELSE FOR ANY DIRECT, SPECIAL, INCIDENTAL, INDIRECT OR
-CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER,
-INCLUDING WITHOUT LIMITATION, LOSS OF PROFIT, LOSS OF USE,
-SAVINGS OR REVENUE, OR THE CLAIMS OF THIRD PARTIES, WHETHER OR
-NOT SILICON GRAPHICS, INC. HAS BEEN ADVISED OF THE POSSIBILITY
-OF SUCH LOSS, HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-ARISING OUT OF OR IN CONNECTION WITH THE POSSESSION, USE OR
-PERFORMANCE OF THIS SOFTWARE.
-
-US Government Users Restricted Rights
-
-Use, duplication, or disclosure by the Government is subject to
-restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
-(c)(1)(ii) of the Rights in Technical Data and Computer
-Software clause at DFARS 252.227-7013 and/or in similar or
-successor clauses in the FAR or the DOD or NASA FAR
-Supplement. Unpublished-- rights reserved under the copyright
-laws of the United States. Contractor/manufacturer is Silicon
-Graphics, Inc., 2011 N. Shoreline Blvd., Mountain View, CA
-94039-7311.
-
-OpenGL(TM) is a trademark of Silicon Graphics, Inc.
-*/
-
-#include <GL/gl.h>
-#include <GL/glu.h>
-#include "GL/glut.h"
-
-/* Rim, body, lid, and bottom data must be reflected in x and
- y; handle and spout data across the y axis only. */
-
-static int patchdata[][16] =
-{
- /* rim */
- {102, 103, 104, 105, 4, 5, 6, 7, 8, 9, 10, 11,
- 12, 13, 14, 15},
- /* body */
- {12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
- 24, 25, 26, 27},
- {24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40},
- /* lid */
- {96, 96, 96, 96, 97, 98, 99, 100, 101, 101, 101,
- 101, 0, 1, 2, 3,},
- {0, 1, 2, 3, 106, 107, 108, 109, 110, 111, 112,
- 113, 114, 115, 116, 117},
- /* bottom */
- {118, 118, 118, 118, 124, 122, 119, 121, 123, 126,
- 125, 120, 40, 39, 38, 37},
- /* handle */
- {41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, 56},
- {53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
- 28, 65, 66, 67},
- /* spout */
- {68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
- 80, 81, 82, 83},
- {80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
- 92, 93, 94, 95}
-};
-/* *INDENT-OFF* */
-
-static float cpdata[][3] =
-{
- {0.2, 0, 2.7}, {0.2, -0.112, 2.7}, {0.112, -0.2, 2.7}, {0,
- -0.2, 2.7}, {1.3375, 0, 2.53125}, {1.3375, -0.749, 2.53125},
- {0.749, -1.3375, 2.53125}, {0, -1.3375, 2.53125}, {1.4375,
- 0, 2.53125}, {1.4375, -0.805, 2.53125}, {0.805, -1.4375,
- 2.53125}, {0, -1.4375, 2.53125}, {1.5, 0, 2.4}, {1.5, -0.84,
- 2.4}, {0.84, -1.5, 2.4}, {0, -1.5, 2.4}, {1.75, 0, 1.875},
- {1.75, -0.98, 1.875}, {0.98, -1.75, 1.875}, {0, -1.75,
- 1.875}, {2, 0, 1.35}, {2, -1.12, 1.35}, {1.12, -2, 1.35},
- {0, -2, 1.35}, {2, 0, 0.9}, {2, -1.12, 0.9}, {1.12, -2,
- 0.9}, {0, -2, 0.9}, {-2, 0, 0.9}, {2, 0, 0.45}, {2, -1.12,
- 0.45}, {1.12, -2, 0.45}, {0, -2, 0.45}, {1.5, 0, 0.225},
- {1.5, -0.84, 0.225}, {0.84, -1.5, 0.225}, {0, -1.5, 0.225},
- {1.5, 0, 0.15}, {1.5, -0.84, 0.15}, {0.84, -1.5, 0.15}, {0,
- -1.5, 0.15}, {-1.6, 0, 2.025}, {-1.6, -0.3, 2.025}, {-1.5,
- -0.3, 2.25}, {-1.5, 0, 2.25}, {-2.3, 0, 2.025}, {-2.3, -0.3,
- 2.025}, {-2.5, -0.3, 2.25}, {-2.5, 0, 2.25}, {-2.7, 0,
- 2.025}, {-2.7, -0.3, 2.025}, {-3, -0.3, 2.25}, {-3, 0,
- 2.25}, {-2.7, 0, 1.8}, {-2.7, -0.3, 1.8}, {-3, -0.3, 1.8},
- {-3, 0, 1.8}, {-2.7, 0, 1.575}, {-2.7, -0.3, 1.575}, {-3,
- -0.3, 1.35}, {-3, 0, 1.35}, {-2.5, 0, 1.125}, {-2.5, -0.3,
- 1.125}, {-2.65, -0.3, 0.9375}, {-2.65, 0, 0.9375}, {-2,
- -0.3, 0.9}, {-1.9, -0.3, 0.6}, {-1.9, 0, 0.6}, {1.7, 0,
- 1.425}, {1.7, -0.66, 1.425}, {1.7, -0.66, 0.6}, {1.7, 0,
- 0.6}, {2.6, 0, 1.425}, {2.6, -0.66, 1.425}, {3.1, -0.66,
- 0.825}, {3.1, 0, 0.825}, {2.3, 0, 2.1}, {2.3, -0.25, 2.1},
- {2.4, -0.25, 2.025}, {2.4, 0, 2.025}, {2.7, 0, 2.4}, {2.7,
- -0.25, 2.4}, {3.3, -0.25, 2.4}, {3.3, 0, 2.4}, {2.8, 0,
- 2.475}, {2.8, -0.25, 2.475}, {3.525, -0.25, 2.49375},
- {3.525, 0, 2.49375}, {2.9, 0, 2.475}, {2.9, -0.15, 2.475},
- {3.45, -0.15, 2.5125}, {3.45, 0, 2.5125}, {2.8, 0, 2.4},
- {2.8, -0.15, 2.4}, {3.2, -0.15, 2.4}, {3.2, 0, 2.4}, {0, 0,
- 3.15}, {0.8, 0, 3.15}, {0.8, -0.45, 3.15}, {0.45, -0.8,
- 3.15}, {0, -0.8, 3.15}, {0, 0, 2.85}, {1.4, 0, 2.4}, {1.4,
- -0.784, 2.4}, {0.784, -1.4, 2.4}, {0, -1.4, 2.4}, {0.4, 0,
- 2.55}, {0.4, -0.224, 2.55}, {0.224, -0.4, 2.55}, {0, -0.4,
- 2.55}, {1.3, 0, 2.55}, {1.3, -0.728, 2.55}, {0.728, -1.3,
- 2.55}, {0, -1.3, 2.55}, {1.3, 0, 2.4}, {1.3, -0.728, 2.4},
- {0.728, -1.3, 2.4}, {0, -1.3, 2.4}, {0, 0, 0}, {1.425,
- -0.798, 0}, {1.5, 0, 0.075}, {1.425, 0, 0}, {0.798, -1.425,
- 0}, {0, -1.5, 0.075}, {0, -1.425, 0}, {1.5, -0.84, 0.075},
- {0.84, -1.5, 0.075}
-};
-
-static float tex[2][2][2] =
-{
- { {0, 0},
- {1, 0}},
- { {0, 1},
- {1, 1}}
-};
-
-/* *INDENT-ON* */
-
-static void
-teapot(GLint grid, GLdouble scale, GLenum type)
-{
- float p[4][4][3], q[4][4][3], r[4][4][3], s[4][4][3];
- long i, j, k, l;
-
- glPushAttrib(GL_ENABLE_BIT | GL_EVAL_BIT);
- glEnable(GL_AUTO_NORMAL);
- glEnable(GL_NORMALIZE);
- glEnable(GL_MAP2_VERTEX_3);
- glEnable(GL_MAP2_TEXTURE_COORD_2);
- glPushMatrix();
- glRotatef(270.0, 1.0, 0.0, 0.0);
- glScalef(0.5 * scale, 0.5 * scale, 0.5 * scale);
- glTranslatef(0.0, 0.0, -1.5);
- for (i = 0; i < 10; i++) {
- for (j = 0; j < 4; j++) {
- for (k = 0; k < 4; k++) {
- for (l = 0; l < 3; l++) {
- p[j][k][l] = cpdata[patchdata[i][j * 4 + k]][l];
- q[j][k][l] = cpdata[patchdata[i][j * 4 + (3 - k)]][l];
- if (l == 1)
- q[j][k][l] *= -1.0;
- if (i < 6) {
- r[j][k][l] =
- cpdata[patchdata[i][j * 4 + (3 - k)]][l];
- if (l == 0)
- r[j][k][l] *= -1.0;
- s[j][k][l] = cpdata[patchdata[i][j * 4 + k]][l];
- if (l == 0)
- s[j][k][l] *= -1.0;
- if (l == 1)
- s[j][k][l] *= -1.0;
- }
- }
- }
- }
- glMap2f(GL_MAP2_TEXTURE_COORD_2, 0, 1, 2, 2, 0, 1, 4, 2,
- &tex[0][0][0]);
- glMap2f(GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4,
- &p[0][0][0]);
- glMapGrid2f(grid, 0.0, 1.0, grid, 0.0, 1.0);
- glEvalMesh2(type, 0, grid, 0, grid);
- glMap2f(GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4,
- &q[0][0][0]);
- glEvalMesh2(type, 0, grid, 0, grid);
- if (i < 6) {
- glMap2f(GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4,
- &r[0][0][0]);
- glEvalMesh2(type, 0, grid, 0, grid);
- glMap2f(GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4,
- &s[0][0][0]);
- glEvalMesh2(type, 0, grid, 0, grid);
- }
- }
- glPopMatrix();
- glPopAttrib();
-}
-
-/* CENTRY */
-void APIENTRY
-glutSolidTeapot(GLdouble scale)
-{
- teapot(7, scale, GL_FILL);
-}
-
-void APIENTRY
-glutWireTeapot(GLdouble scale)
-{
- teapot(10, scale, GL_LINE);
-}
-
-/* ENDCENTRY */
diff --git a/src/glut/mini/window.c b/src/glut/mini/window.c
deleted file mode 100644
index 5a59e64de6..0000000000
--- a/src/glut/mini/window.c
+++ /dev/null
@@ -1,273 +0,0 @@
-/*
- * Mesa 3-D graphics library
- * Version: 4.1
- * Copyright (C) 1995-1998 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-/*
- * DOS/DJGPP glut driver v1.2 for Mesa 4.1
- *
- * Copyright (C) 2002 - Borca Daniel
- * Email : dborca@yahoo.com
- * Web : http://www.geocities.com/dborca
- */
-
-
-#include <stdio.h>
-#include <GL/gl.h>
-#include "GL/glut.h"
-#include "internal.h"
-
-#define USE_MINI_GLX 1
-#if USE_MINI_GLX
-#include "GL/miniglx.h"
-#else
-#include <GL/glx.h>
-#endif
-
-
-
-static GLXContext context = 0;
-static Window win;
-static XVisualInfo *visinfo = 0;
-static Display *dpy = 0;
-
-
-int APIENTRY glutCreateWindow (const char *title)
-{
- XSetWindowAttributes attr;
- unsigned long mask;
- GLXContext ctx;
- int scrnum = 0;
- Window root = RootWindow( dpy, scrnum );
-
- if (win)
- return 0;
-
- if (!dpy) {
- dpy = XOpenDisplay(NULL);
- if (!dpy) {
- printf("Error: XOpenDisplay failed\n");
- exit(1);
- }
- }
-
- if (!visinfo) {
- int attrib[] = {GLX_RGBA,
- GLX_RED_SIZE, 1,
- GLX_GREEN_SIZE, 1,
- GLX_BLUE_SIZE, 1,
- GLX_DEPTH_SIZE, 1,
- GLX_DOUBLEBUFFER,
- None };
-
-
- visinfo = glXChooseVisual( dpy, scrnum, attrib );
- if (!visinfo) {
- printf("Error: couldn't get an RGB, Double-buffered visual\n");
- exit(1);
- }
- }
-
- /* window attributes */
- attr.background_pixel = 0;
- attr.border_pixel = 0;
- attr.colormap = XCreateColormap( dpy, root, visinfo->visual, AllocNone);
- attr.event_mask = StructureNotifyMask | ExposureMask;
- mask = CWBackPixel | CWBorderPixel | CWColormap | CWEventMask;
-
- win = XCreateWindow( dpy, root, g_xpos, g_ypos, g_width, g_height,
- 0, visinfo->depth, InputOutput,
- visinfo->visual, mask, &attr );
- if (!win) {
- printf("Error: XCreateWindow failed\n");
- exit(1);
- }
-
- ctx = glXCreateContext( dpy, visinfo, NULL, True );
- if (!ctx) {
- printf("Error: glXCreateContext failed\n");
- exit(1);
- }
-
- if (!glXMakeCurrent( dpy, win, ctx )) {
- printf("Error: glXMakeCurrent failed\n");
- exit(1);
- }
-
- if (!(g_display_mode & GLUT_DOUBLE))
- glDrawBuffer( GL_FRONT );
-
-
- XMapWindow( dpy, win );
-
-#if !USE_MINI_GLX
- {
- XEvent e;
- while (1) {
- XNextEvent( dpy, &e );
- if (e.type == MapNotify && e.xmap.window == win) {
- break;
- }
- }
- }
-#endif
-
- return 1;
-}
-
-
-int APIENTRY glutCreateSubWindow (int win, int x, int y, int width, int height)
-{
- return GL_FALSE;
-}
-
-
-void APIENTRY glutDestroyWindow (int idx)
-{
- if (dpy && win)
- XDestroyWindow( dpy, win );
-
- if (dpy)
- XCloseDisplay( dpy );
-
- win = 0;
- dpy = 0;
-}
-
-
-void APIENTRY glutPostRedisplay (void)
-{
- g_redisplay = GL_TRUE;
-}
-
-
-void APIENTRY glutSwapBuffers (void)
-{
-/* if (g_mouse) pc_scare_mouse(); */
- if (dpy && win) glXSwapBuffers( dpy, win );
-/* if (g_mouse) pc_unscare_mouse(); */
-}
-
-
-int APIENTRY glutGetWindow (void)
-{
- return 0;
-}
-
-
-void APIENTRY glutSetWindow (int win)
-{
-}
-
-
-void APIENTRY glutSetWindowTitle (const char *title)
-{
-}
-
-
-void APIENTRY glutSetIconTitle (const char *title)
-{
-}
-
-
-void APIENTRY glutPositionWindow (int x, int y)
-{
-}
-
-
-void APIENTRY glutReshapeWindow (int width, int height)
-{
-}
-
-
-void APIENTRY glutPopWindow (void)
-{
-}
-
-
-void APIENTRY glutPushWindow (void)
-{
-}
-
-
-void APIENTRY glutIconifyWindow (void)
-{
-}
-
-
-void APIENTRY glutShowWindow (void)
-{
-}
-
-
-void APIENTRY glutHideWindow (void)
-{
-}
-
-void APIENTRY glutMainLoop (void)
-{
- GLboolean idle;
- GLboolean have_event;
- XEvent evt;
- int visible = 0;
-
- glutPostRedisplay();
- if (reshape_func) reshape_func(g_width, g_height);
-
- while (GL_TRUE) {
- idle = GL_TRUE;
-
-
- if (visible && idle_func)
- have_event = XCheckMaskEvent( dpy, ~0, &evt );
- else
- have_event = XNextEvent( dpy, &evt );
-
- if (have_event) {
- idle = GL_FALSE;
- switch(evt.type) {
- case MapNotify:
- if (visibility_func) {
- visibility_func(GLUT_VISIBLE);
- }
- visible = 1;
- break;
- case UnmapNotify:
- if (visibility_func) {
- visibility_func(GLUT_NOT_VISIBLE);
- }
- visible = 0;
- break;
- case Expose:
- g_redisplay = 1;
- break;
- }
- }
-
- if (visible && g_redisplay && display_func) {
- idle = GL_FALSE;
- g_redisplay = GL_FALSE;
-
- display_func();
- }
-
- if (visible && idle && idle_func) {
- idle_func();
- }
- }
-}
diff --git a/src/glut/os2/Makefile b/src/glut/os2/Makefile
deleted file mode 100644
index 102a8b688d..0000000000
--- a/src/glut/os2/Makefile
+++ /dev/null
@@ -1,420 +0,0 @@
-# Makefile
-# Created by IBM WorkFrame/2 MakeMake at 12:46:25 on 3 June 2003
-#
-# The actions included in this make file are:
-# Compile::C++ Compiler
-# Link::Linker
-# Lib::Import Lib
-
-.SUFFIXES:
-
-.SUFFIXES: \
- .LIB .cpp .dll .obj
-
-.cpp.obj:
- @echo " Compile::C++ Compiler "
- icc.exe /I..\ /I..\X86 /I..\GL /I..\swrast /I..\swrast_setup /Ss /Wcmpcndcnscnvcpydclenuextgeninilanobsordparporppcprorearettrdtruund /Tx /O /Gm /Ge- /G5 /Gf /Gi /Oi /C %s
-
-{G:\EVGEN\MESA5\src-glut.os2pm}.cpp.obj:
- @echo " Compile::C++ Compiler "
- icc.exe /I..\ /I..\X86 /I..\GL /I..\swrast /I..\swrast_setup /Ss /Wcmpcndcnscnvcpydclenuextgeninilanobsordparporppcprorearettrdtruund /Tx /O /Gm /Ge- /G5 /Gf /Gi /Oi /C %s
-
-.dll.LIB:
- @echo " Lib::Import Lib "
- implib.exe %|dpfF.LIB %s
-
-{G:\EVGEN\MESA5\src-glut.os2pm}.dll.LIB:
- @echo " Lib::Import Lib "
- implib.exe %|dpfF.LIB %s
-
-all: \
- .\libGlut.LIB
-
-.\libGlut.dll: \
- .\os2_winproc.obj \
- .\WarpWin.obj \
- .\glutOverlay.obj \
- .\glut_8x13.obj \
- .\glut_9x15.obj \
- .\glut_bitmap.obj \
- .\glut_cindex.obj \
- .\glut_cmap.obj \
- .\glut_cursor.obj \
- .\glut_event.obj \
- .\glut_ext.obj \
- .\glut_fullscrn.obj \
- .\glut_gamemode.obj \
- .\glut_get.obj \
- .\glut_hel10.obj \
- .\glut_hel12.obj \
- .\glut_hel18.obj \
- .\glut_init.obj \
- .\glut_input.obj \
- .\glut_key.obj \
- .\glut_keyctrl.obj \
- .\glut_keyup.obj \
- .\glut_mesa.obj \
- .\glut_modifier.obj \
- .\glut_roman.obj \
- .\glut_shapes.obj \
- .\glut_stroke.obj \
- .\glut_swap.obj \
- .\glut_teapot.obj \
- .\glut_tr24.obj \
- .\glut_util.obj \
- .\glut_vidresize.obj \
- .\glut_warp.obj \
- .\glut_win.obj \
- .\glut_winmisc.obj \
- .\os2_glx.obj \
- .\os2_menu.obj \
- ..\si-glu\libGLU.lib \
- ..\MesaDll\MesaGL2.lib \
- ..\drv\DrvLoad\MesaDrvLoad.lib \
- {$(LIB)}libGlut.DEF
- @echo " Link::Linker "
- icc.exe @<<
- /B" /dbgpack /exepack:2 /st:200000 /packd /optfunc"
- /FelibGlut.dll
- ..\si-glu\libGLU.lib
- ..\MesaDll\MesaGL2.lib
- ..\drv\DrvLoad\MesaDrvLoad.lib
- libGlut.DEF
- .\os2_winproc.obj
- .\WarpWin.obj
- .\glutOverlay.obj
- .\glut_8x13.obj
- .\glut_9x15.obj
- .\glut_bitmap.obj
- .\glut_cindex.obj
- .\glut_cmap.obj
- .\glut_cursor.obj
- .\glut_event.obj
- .\glut_ext.obj
- .\glut_fullscrn.obj
- .\glut_gamemode.obj
- .\glut_get.obj
- .\glut_hel10.obj
- .\glut_hel12.obj
- .\glut_hel18.obj
- .\glut_init.obj
- .\glut_input.obj
- .\glut_key.obj
- .\glut_keyctrl.obj
- .\glut_keyup.obj
- .\glut_mesa.obj
- .\glut_modifier.obj
- .\glut_roman.obj
- .\glut_shapes.obj
- .\glut_stroke.obj
- .\glut_swap.obj
- .\glut_teapot.obj
- .\glut_tr24.obj
- .\glut_util.obj
- .\glut_vidresize.obj
- .\glut_warp.obj
- .\glut_win.obj
- .\glut_winmisc.obj
- .\os2_glx.obj
- .\os2_menu.obj
-<<
-
-.\os2_winproc.obj: \
- G:\EVGEN\MESA5\src-glut.os2pm\os2_winproc.cpp \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}WarpGL.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutint.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutwin32.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_x11.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_glx.h \
- gl\os2mesa.h \
- gl\gl.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}gl_mangle.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}GL/os2_x11.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}os2_config.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}os2mesadef.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}context.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glapi.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}mtypes.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glheader.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}config.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glapitable.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glthread.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}math/m_matrix.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}Trace/tr_context.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}dd.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}conf.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}GL/os2_config.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}GL/glext.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}Xthreads.h
-
-.\os2_menu.obj: \
- G:\EVGEN\MESA5\src-glut.os2pm\os2_menu.cpp \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}WarpGL.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutint.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutwin32.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_x11.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_glx.h
-
-.\os2_glx.obj: \
- G:\EVGEN\MESA5\src-glut.os2pm\os2_glx.cpp \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}WarpGL.h \
- gl\os2mesa.h \
- gl\gl.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}gl_mangle.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}GL/os2_x11.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}os2_config.h
-
-.\glut_winmisc.obj: \
- G:\EVGEN\MESA5\src-glut.os2pm\glut_winmisc.cpp \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}WarpGL.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutint.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutwin32.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_x11.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_glx.h
-
-.\glut_win.obj: \
- G:\EVGEN\MESA5\src-glut.os2pm\glut_win.cpp \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}WarpGL.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutint.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutwin32.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_x11.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_glx.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutos2.h \
- gl\os2mesa.h \
- gl\gl.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}gl_mangle.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}GL/os2_x11.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}os2_config.h
-
-.\glut_warp.obj: \
- G:\EVGEN\MESA5\src-glut.os2pm\glut_warp.cpp \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}WarpGL.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutint.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutwin32.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_x11.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_glx.h
-
-.\glut_vidresize.obj: \
- G:\EVGEN\MESA5\src-glut.os2pm\glut_vidresize.cpp \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}WarpGL.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutint.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutwin32.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_x11.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_glx.h
-
-.\glut_util.obj: \
- G:\EVGEN\MESA5\src-glut.os2pm\glut_util.cpp \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}WarpGL.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutint.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutwin32.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_x11.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_glx.h
-
-.\glut_tr24.obj: \
- G:\EVGEN\MESA5\src-glut.os2pm\glut_tr24.cpp \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutbitmap.h
-
-.\glut_teapot.obj: \
- G:\EVGEN\MESA5\src-glut.os2pm\glut_teapot.cpp \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}WarpGL.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutint.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutwin32.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_x11.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_glx.h
-
-.\glut_swap.obj: \
- G:\EVGEN\MESA5\src-glut.os2pm\glut_swap.cpp \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}WarpGL.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutint.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutwin32.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_x11.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_glx.h
-
-.\glut_stroke.obj: \
- G:\EVGEN\MESA5\src-glut.os2pm\glut_stroke.cpp \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}WarpGL.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutint.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutstroke.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutwin32.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_x11.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_glx.h
-
-.\glut_shapes.obj: \
- G:\EVGEN\MESA5\src-glut.os2pm\glut_shapes.cpp \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}WarpGL.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutint.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutwin32.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_x11.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_glx.h
-
-.\glut_roman.obj: \
- G:\EVGEN\MESA5\src-glut.os2pm\glut_roman.cpp \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutstroke.h
-
-.\glut_modifier.obj: \
- G:\EVGEN\MESA5\src-glut.os2pm\glut_modifier.cpp \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}WarpGL.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutint.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutwin32.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_x11.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_glx.h
-
-.\glut_mesa.obj: \
- G:\EVGEN\MESA5\src-glut.os2pm\glut_mesa.cpp \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}WarpGL.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutint.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutwin32.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_x11.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_glx.h
-
-.\glut_keyup.obj: \
- G:\EVGEN\MESA5\src-glut.os2pm\glut_keyup.cpp \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}WarpGL.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutint.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutwin32.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_x11.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_glx.h
-
-.\glut_keyctrl.obj: \
- G:\EVGEN\MESA5\src-glut.os2pm\glut_keyctrl.cpp \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}WarpGL.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutint.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutwin32.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_x11.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_glx.h
-
-.\glut_key.obj: \
- G:\EVGEN\MESA5\src-glut.os2pm\glut_key.cpp \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}WarpGL.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutint.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutwin32.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_x11.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_glx.h
-
-.\glut_input.obj: \
- G:\EVGEN\MESA5\src-glut.os2pm\glut_input.cpp \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}WarpGL.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutint.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutwin32.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_x11.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_glx.h
-
-.\glut_init.obj: \
- G:\EVGEN\MESA5\src-glut.os2pm\glut_init.cpp \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}WarpGL.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutint.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutwin32.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_x11.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_glx.h
-
-.\glut_hel18.obj: \
- G:\EVGEN\MESA5\src-glut.os2pm\glut_hel18.cpp \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutbitmap.h
-
-.\glut_hel12.obj: \
- G:\EVGEN\MESA5\src-glut.os2pm\glut_hel12.cpp \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutbitmap.h
-
-.\glut_hel10.obj: \
- G:\EVGEN\MESA5\src-glut.os2pm\glut_hel10.cpp \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutbitmap.h
-
-.\glut_get.obj: \
- G:\EVGEN\MESA5\src-glut.os2pm\glut_get.cpp \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}WarpGL.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutint.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutwin32.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_x11.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_glx.h
-
-.\glut_gamemode.obj: \
- G:\EVGEN\MESA5\src-glut.os2pm\glut_gamemode.cpp \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}WarpGL.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutint.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutwin32.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_x11.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_glx.h
-
-.\glut_fullscrn.obj: \
- G:\EVGEN\MESA5\src-glut.os2pm\glut_fullscrn.cpp \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}WarpGL.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutint.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutwin32.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_x11.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_glx.h
-
-.\glut_ext.obj: \
- G:\EVGEN\MESA5\src-glut.os2pm\glut_ext.cpp \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}WarpGL.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutint.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutwin32.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_x11.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_glx.h
-
-.\glut_event.obj: \
- G:\EVGEN\MESA5\src-glut.os2pm\glut_event.cpp \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}WarpGL.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutint.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutwin32.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_x11.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_glx.h
-
-.\glut_cursor.obj: \
- G:\EVGEN\MESA5\src-glut.os2pm\glut_cursor.cpp \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}WarpGL.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutint.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutwin32.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_x11.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_glx.h
-
-.\glut_cmap.obj: \
- G:\EVGEN\MESA5\src-glut.os2pm\glut_cmap.cpp \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}WarpGL.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutint.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutwin32.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_x11.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_glx.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}layerutil.h
-
-.\glut_cindex.obj: \
- G:\EVGEN\MESA5\src-glut.os2pm\glut_cindex.cpp \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}WarpGL.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutint.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutwin32.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_x11.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_glx.h
-
-.\glut_bitmap.obj: \
- G:\EVGEN\MESA5\src-glut.os2pm\glut_bitmap.cpp \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}WarpGL.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutint.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutbitmap.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutwin32.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_x11.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_glx.h
-
-.\glut_9x15.obj: \
- G:\EVGEN\MESA5\src-glut.os2pm\glut_9x15.cpp \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutbitmap.h
-
-.\glut_8x13.obj: \
- G:\EVGEN\MESA5\src-glut.os2pm\glut_8x13.cpp \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutbitmap.h
-
-.\glutOverlay.obj: \
- G:\EVGEN\MESA5\src-glut.os2pm\glutOverlay.cpp \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}WarpGL.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutint.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutbitmap.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutstroke.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}glutwin32.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_x11.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}win32_glx.h
-
-.\WarpWin.obj: \
- G:\EVGEN\MESA5\src-glut.os2pm\WarpWin.cpp \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}WarpWin.h \
- {G:\EVGEN\MESA5\src-glut.os2pm;..\;..\X86;..\GL;..\swrast;..\swrast_setup;$(INCLUDE);}WarpGL.h
-
-.\libGlut.LIB: \
- .\libGlut.dll
diff --git a/src/glut/os2/WarpWin.cpp b/src/glut/os2/WarpWin.cpp
deleted file mode 100644
index 71cc8e1bc9..0000000000
--- a/src/glut/os2/WarpWin.cpp
+++ /dev/null
@@ -1,419 +0,0 @@
-/* WarpWin.c */
-/* glut for Warp */
-#include <stdio.h>
-#include <string.h>
-
-#include "WarpWin.h"
-#include "WarpGL.h"
-
-#define POKA 0
-
-/* global variables that must be set for some functions to operate
- correctly. */
-HDC XHDC;
-HWND XHWND;
-
-
-void
-XStoreColor(Display* display, Colormap colormap, XColor* color)
-{
- /* KLUDGE: set XHDC to 0 if the palette should NOT be realized after
- setting the color. set XHDC to the correct HDC if it should. */
-
- LONG pe;
- ULONG cclr;
- int r,g,b;
- /* X11 stores color from 0-65535, Win32 expects them to be 0-256, so
- twiddle the bits ( / 256). */
- r = color->red / 256;
- g = color->green / 256;
- b = color->blue / 256;
- pe = LONGFromRGB(r,g,b);
- /* make sure we use this flag, otherwise the colors might get mapped
- to another place in the colormap, and when we glIndex() that
- color, it may have moved (argh!!) */
- pe |= (PC_NOCOLLAPSE<<24);
-/* This function changes the entries in a palette. */
-#if POKA
-OS2:
- rc = GpiSetPaletteEntries(colormap,LCOLF_CONSECRGB, color->pixel, 1, &pe);
- GpiSelectPalette(hps,colormap);
- WinRealizePalette(hwnd,hps,&cclr);
-source Win:
- if (XHDC) {
- UnrealizeObject(colormap);
- SelectPalette(XHDC, colormap, FALSE);
- RealizePalette(XHDC);
-
- }
-#endif
-}
-
-void
-XSetWindowColormap(Display* display, Window window, Colormap colormap)
-{
-#if POKA
- HDC hdc = GetDC(window);
-
- /* if the third parameter is FALSE, the logical colormap is copied
- into the device palette when the application is in the
- foreground, if it is TRUE, the colors are mapped into the current
- palette in the best possible way. */
- SelectPalette(hdc, colormap, FALSE);
- RealizePalette(hdc);
-
- /* note that we don't have to release the DC, since our window class
- uses the WC_OWNDC flag! */
-#endif
-}
-
-
-/* display, root and visual - don't used at all */
-Colormap
-XCreateColormap(Display* display, Window root, Visual* visual, int alloc)
-{
- /* KLUDGE: this function needs XHDC to be set to the HDC currently
- being operated on before it is invoked! */
-
- HPAL palette;
- int n;
-#if POKA
- PIXELFORMATDESCRIPTOR pfd;
- LOGPALETTE *logical;
-
- /* grab the pixel format */
- memset(&pfd, 0, sizeof(PIXELFORMATDESCRIPTOR));
- DescribePixelFormat(XHDC, GetPixelFormat(XHDC),
- sizeof(PIXELFORMATDESCRIPTOR), &pfd);
-
- if (!(pfd.dwFlags & PFD_NEED_PALETTE ||
- pfd.iPixelType == PFD_TYPE_COLORINDEX))
- {
- return 0;
- }
-
- n = 1 << pfd.cColorBits;
-
- /* allocate a bunch of memory for the logical palette (assume 256
- colors in a Win32 palette */
- logical = (LOGPALETTE*)malloc(sizeof(LOGPALETTE) +
- sizeof(PALETTEENTRY) * n);
- memset(logical, 0, sizeof(LOGPALETTE) + sizeof(PALETTEENTRY) * n);
-
- /* set the entries in the logical palette */
- logical->palVersion = 0x300;
- logical->palNumEntries = n;
-
- /* start with a copy of the current system palette */
- GetSystemPaletteEntries(XHDC, 0, 256, &logical->palPalEntry[0]);
-
- if (pfd.iPixelType == PFD_TYPE_RGBA) {
- int redMask = (1 << pfd.cRedBits) - 1;
- int greenMask = (1 << pfd.cGreenBits) - 1;
- int blueMask = (1 << pfd.cBlueBits) - 1;
- int i;
-
- /* fill in an RGBA color palette */
- for (i = 0; i < n; ++i) {
- logical->palPalEntry[i].peRed =
- (((i >> pfd.cRedShift) & redMask) * 255) / redMask;
- logical->palPalEntry[i].peGreen =
- (((i >> pfd.cGreenShift) & greenMask) * 255) / greenMask;
- logical->palPalEntry[i].peBlue =
- (((i >> pfd.cBlueShift) & blueMask) * 255) / blueMask;
- logical->palPalEntry[i].peFlags = 0;
- }
- }
-
- palette = CreatePalette(logical);
- free(logical);
-
- SelectPalette(XHDC, palette, FALSE);
- RealizePalette(XHDC);
-#endif /* POKA */
-
- return palette;
-}
-
-
-
-int GetSystemMetrics( int mode)
-{ RECTL rect;
-
- switch(mode)
- { case SM_CXSCREEN:
- WinQueryWindowRect(HWND_DESKTOP,&rect);
- return (rect.xRight-rect.xLeft);
- break;
- case SM_CYSCREEN:
- WinQueryWindowRect(HWND_DESKTOP,&rect);
- return (rect.yTop-rect.yBottom);
- break;
- default: ;
- }
- return 0;
-}
-/*
- * XParseGeometry parses strings of the form
- * "=<width>x<height>{+-}<xoffset>{+-}<yoffset>", where
- * width, height, xoffset, and yoffset are unsigned integers.
- * Example: "=80x24+300-49"
- * The equal sign is optional.
- * It returns a bitmask that indicates which of the four values
- * were actually found in the string. For each value found,
- * the corresponding argument is updated; for each value
- * not found, the corresponding argument is left unchanged.
- */
-
-static int
-ReadInteger(char *string, char **NextString)
-{
- register int Result = 0;
- int Sign = 1;
-
- if (*string == '+')
- string++;
- else if (*string == '-')
- {
- string++;
- Sign = -1;
- }
- for (; (*string >= '0') && (*string <= '9'); string++)
- {
- Result = (Result * 10) + (*string - '0');
- }
- *NextString = string;
- if (Sign >= 0)
- return (Result);
- else
- return (-Result);
-}
-
-int XParseGeometry(char *string, int *x, int *y, unsigned int *width, unsigned int *height)
-{
- int mask = NoValue;
- register char *strind;
- unsigned int tempWidth, tempHeight;
- int tempX, tempY;
- char *nextCharacter;
-
- if ( (string == NULL) || (*string == '\0')) return(mask);
- if (*string == '=')
- string++; /* ignore possible '=' at beg of geometry spec */
-
- strind = (char *)string;
- if (*strind != '+' && *strind != '-' && *strind != 'x') {
- tempWidth = ReadInteger(strind, &nextCharacter);
- if (strind == nextCharacter)
- return (0);
- strind = nextCharacter;
- mask |= WidthValue;
- }
-
- if (*strind == 'x' || *strind == 'X') {
- strind++;
- tempHeight = ReadInteger(strind, &nextCharacter);
- if (strind == nextCharacter)
- return (0);
- strind = nextCharacter;
- mask |= HeightValue;
- }
-
- if ((*strind == '+') || (*strind == '-')) {
- if (*strind == '-') {
- strind++;
- tempX = -ReadInteger(strind, &nextCharacter);
- if (strind == nextCharacter)
- return (0);
- strind = nextCharacter;
- mask |= XNegative;
-
- }
- else
- { strind++;
- tempX = ReadInteger(strind, &nextCharacter);
- if (strind == nextCharacter)
- return(0);
- strind = nextCharacter;
- }
- mask |= XValue;
- if ((*strind == '+') || (*strind == '-')) {
- if (*strind == '-') {
- strind++;
- tempY = -ReadInteger(strind, &nextCharacter);
- if (strind == nextCharacter)
- return(0);
- strind = nextCharacter;
- mask |= YNegative;
-
- }
- else
- {
- strind++;
- tempY = ReadInteger(strind, &nextCharacter);
- if (strind == nextCharacter)
- return(0);
- strind = nextCharacter;
- }
- mask |= YValue;
- }
- }
-
- /* If strind isn't at the end of the string the it's an invalid
- geometry specification. */
-
- if (*strind != '\0') return (0);
-
- if (mask & XValue)
- *x = tempX;
- if (mask & YValue)
- *y = tempY;
- if (mask & WidthValue)
- *width = tempWidth;
- if (mask & HeightValue)
- *height = tempHeight;
- return (mask);
-}
-
-int gettimeofday(struct timeval* tp, void* tzp)
-{
- DATETIME DateTime;
- APIRET ulrc; /* Return Code. */
-
- ulrc = DosGetDateTime(&DateTime);
- tp->tv_sec = 60 * (60*DateTime.hours + DateTime.minutes) + DateTime.seconds;
- tp->tv_usec = DateTime.hundredths * 10000;
- return 0;
-}
-
-
-int
-XPending(Display* display)
-{
- /* similar functionality...I don't think that it is exact, but this
- will have to do. */
- QMSG msg;
- extern HAB hab; /* PM anchor block handle */
-
-//?? WinPeekMsg(hab
- return WinPeekMsg(hab, &msg, NULLHANDLE, 0, 0, PM_NOREMOVE);
-}
-
-void
-__glutAdjustCoords(Window parent, int* x, int* y, int* width, int* height)
-{
- RECTL rect;
-
- /* adjust the window rectangle because Win32 thinks that the x, y,
- width & height are the WHOLE window (including decorations),
- whereas GLUT treats the x, y, width & height as only the CLIENT
- area of the window. */
- rect.xLeft = *x; rect.yTop = *y;
- rect.xRight = *x + *width; rect.yBottom = *y + *height;
-
- /* must adjust the coordinates according to the correct style
- because depending on the style, there may or may not be
- borders. */
-//?? AdjustWindowRect(&rect, WS_CLIPSIBLINGS | WS_CLIPCHILDREN |
-//?? (parent ? WS_CHILD : WS_OVERLAPPEDWINDOW),
-//?? FALSE);
- /* FALSE in the third parameter = window has no menu bar */
-
- /* readjust if the x and y are offscreen */
- if(rect.xLeft < 0) {
- *x = 0;
- } else {
- *x = rect.xLeft;
- }
-
- if(rect.yTop < 0) {
- *y = 0;
- } else {
- *y = rect.yTop;
- }
-
- *width = rect.xRight - rect.xLeft; /* adjusted width */
- *height = -(rect.yBottom - rect.yTop); /* adjusted height */
-}
-
-
-int
-__glutGetTransparentPixel(Display * dpy, XVisualInfo * vinfo)
-{
- /* the transparent pixel on Win32 is always index number 0. So if
- we put this routine in this file, we can avoid compiling the
- whole of layerutil.c which is where this routine normally comes
- from. */
- return 0;
-}
-
-/* Translate point coordinates src_x and src_y from src to dst */
-
-Bool
-XTranslateCoordinates(Display *display, Window src, Window dst,
- int src_x, int src_y,
- int* dest_x_return, int* dest_y_return,
- Window* child_return)
-{
- SWP swp_src,swp_dst;
-
- WinQueryWindowPos(src,&swp_src);
- WinQueryWindowPos(dst,&swp_dst);
-
- *dest_x_return = src_x + swp_src.x - swp_dst.x;
- *dest_y_return = src_y + swp_src.y - swp_dst.y;
-
- /* just to make compilers happy...we don't use the return value. */
- return True;
-}
-
-Status
-XGetGeometry(Display* display, Window window, Window* root_return,
- int* x_return, int* y_return,
- unsigned int* width_return, unsigned int* height_return,
- unsigned int *border_width_return, unsigned int* depth_return)
-{
- /* KLUDGE: doesn't return the border_width or depth or root, x & y
- are in screen coordinates. */
- SWP swp_src;
- WinQueryWindowPos(window,&swp_src);
-
- *x_return = swp_src.x;
- *y_return = swp_src.y;
- *width_return = swp_src.cx;
- *height_return = swp_src.cy;
-
- /* just to make compilers happy...we don't use the return value. */
- return 1;
-}
-
-/* Get Display Width in millimeters */
-int
-DisplayWidthMM(Display* display, int screen)
-{
- int width;
- LONG *pVC_Caps;
- pVC_Caps = GetVideoConfig(NULLHANDLE);
- width = (int)( 0.001 * pVC_Caps[CAPS_WIDTH] / pVC_Caps[CAPS_HORIZONTAL_RESOLUTION]);/* mm */
- return width;
-}
-
-/* Get Display Height in millimeters */
-int
-DisplayHeightMM(Display* display, int screen)
-{
- int height;
- LONG *pVC_Caps;
- pVC_Caps = GetVideoConfig(NULLHANDLE);
- height = (int)( 0.001 * pVC_Caps[CAPS_HEIGHT] / pVC_Caps[CAPS_VERTICAL_RESOLUTION]); /* mm */
- return height;
-}
-
-void ScreenToClient( HWND hwnd, POINTL *point)
-{
- SWP swp_src;
- WinQueryWindowPos(hwnd,&swp_src);
- point->x -= swp_src.x;
- point->y -= swp_src.y;
-}
-
diff --git a/src/glut/os2/glutOverlay.cpp b/src/glut/os2/glutOverlay.cpp
deleted file mode 100644
index d57c4e7418..0000000000
--- a/src/glut/os2/glutOverlay.cpp
+++ /dev/null
@@ -1,133 +0,0 @@
-/***********************************************************
- * Copyright (C) 1997, Be Inc. All rights reserved.
- *
- * FILE: glutOverlay.cpp
- *
- * DESCRIPTION: we don't support overlays, so this code is
- * really simple
- ***********************************************************/
-
-/***********************************************************
- * Headers
- ***********************************************************/
-#include <GL/glut.h>
-#include "glutint.h"
-#include "glutbitmap.h"
-#include "glutstroke.h"
-
-GLUTAPI void GLUTAPIENTRY
-glutEstablishOverlay(void)
-{
- __glutFatalError("OS2PM lacks overlay support.");
-}
-
-GLUTAPI void GLUTAPIENTRY
-glutUseLayer(GLenum layer) {
- // ignore
-}
-
-GLUTAPI void GLUTAPIENTRY
-glutRemoveOverlay(void) {
- // ignore
-}
-
-GLUTAPI void GLUTAPIENTRY
-glutPostOverlayRedisplay(void) {
- // ignore
-}
-
-GLUTAPI void GLUTAPIENTRY
-glutShowOverlay(void) {
- // ignore
-}
-
-GLUTAPI void GLUTAPIENTRY glutHideOverlay(void)
-{
- // ignore
-}
-
-int GLUTAPIENTRY
-glutLayerGet(GLenum param)
-{
- // ignore
-}
-
-/***********************************************************
- * Unsupported callbacks
- ***********************************************************/
-GLUTAPI void GLUTAPIENTRY
-glutOverlayDisplayFunc(GLUTdisplayCB displayFunc)
-{
-}
-
-GLUTAPI void GLUTAPIENTRY
-glutSpaceballMotionFunc(GLUTspaceMotionCB spaceMotionFunc)
-{
-}
-
-GLUTAPI void GLUTAPIENTRY
-glutSpaceballRotateFunc(GLUTspaceRotateCB spaceRotateFunc)
-{
-}
-
-GLUTAPI void GLUTAPIENTRY
-glutSpaceballButtonFunc(GLUTspaceButtonCB spaceButtonFunc)
-{
-}
-
-GLUTAPI void GLUTAPIENTRY
-glutButtonBoxFunc(GLUTbuttonBoxCB buttonBoxFunc)
-{
-}
-
-GLUTAPI void GLUTAPIENTRY
-glutDialsFunc(GLUTdialsCB dialsFunc)
-{
-}
-
-GLUTAPI void GLUTAPIENTRY
-glutTabletMotionFunc(GLUTtabletMotionCB tabletMotionFunc)
-{
-}
-
-GLUTAPI void GLUTAPIENTRY
-glutTabletButtonFunc(GLUTtabletButtonCB tabletButtonFunc)
-{
-}
-GLUTAPI void GLUTAPIENTRY
-glutPostWindowOverlayRedisplay(int win)
-{ //
-}
-
-void GLUTAPIENTRY
-glutInitDisplayString(const char *string)
-{ //
-}
-void GLUTAPIENTRY
-glutJoystickFunc(GLUTjoystickCB joystickFunc, int pollInterval)
-{ //
-}
-
-void GLUTAPIENTRY
-glutForceJoystickFunc(void)
-{ //
-}
-
-
-int GLUTAPIENTRY
-glutBitmapWidth(GLUTbitmapFont font, int c)
-{ return 0;
-}
-int GLUTAPIENTRY
-glutBitmapLength(GLUTbitmapFont font, const unsigned char *string)
-{ //
- return 0;
-}
-int GLUTAPIENTRY
-glutStrokeWidth(GLUTstrokeFont font, int c)
-{ return 0;
-}
-int GLUTAPIENTRY
-glutStrokeLength(GLUTstrokeFont font, const unsigned char *string)
-{ return 0;
-}
diff --git a/src/glut/os2/glut_8x13.cpp b/src/glut/os2/glut_8x13.cpp
deleted file mode 100644
index 29ea6ea070..0000000000
--- a/src/glut/os2/glut_8x13.cpp
+++ /dev/null
@@ -1,2076 +0,0 @@
-
-/* GENERATED FILE -- DO NOT MODIFY */
-
-#define glutBitmap8By13 XXX
-#include "glutbitmap.h"
-#undef glutBitmap8By13
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch0data[] = { 0x0 };
-static const BitmapCharRec ch0 = {1,1,0,0,8,ch0data};
-#else
-static const BitmapCharRec ch0 = {0,0,0,0,8,0};
-#endif
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch32data[] = { 0x0 };
-static const BitmapCharRec ch32 = {1,1,0,0,8,ch32data};
-#else
-static const BitmapCharRec ch32 = {0,0,0,0,8,0};
-#endif
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch127data[] = { 0x0 };
-static const BitmapCharRec ch127 = {1,1,0,0,8,ch127data};
-#else
-static const BitmapCharRec ch127 = {0,0,0,0,8,0};
-#endif
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch160data[] = { 0x0 };
-static const BitmapCharRec ch160 = {1,1,0,0,8,ch160data};
-#else
-static const BitmapCharRec ch160 = {0,0,0,0,8,0};
-#endif
-
-/* char: 0xff */
-
-static const GLubyte ch255data[] = {
-0x78,0x84,0x4,0x74,0x8c,0x84,0x84,0x84,0x0,0x0,0x48,0x48,
-};
-
-static const BitmapCharRec ch255 = {6,12,-1,2,8,ch255data};
-
-/* char: 0xfe */
-
-static const GLubyte ch254data[] = {
-0x80,0x80,0xb8,0xc4,0x84,0x84,0xc4,0xb8,0x80,0x80,
-};
-
-static const BitmapCharRec ch254 = {6,10,-1,2,8,ch254data};
-
-/* char: 0xfd */
-
-static const GLubyte ch253data[] = {
-0x78,0x84,0x4,0x74,0x8c,0x84,0x84,0x84,0x0,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch253 = {6,12,-1,2,8,ch253data};
-
-/* char: 0xfc */
-
-static const GLubyte ch252data[] = {
-0x74,0x88,0x88,0x88,0x88,0x88,0x0,0x0,0x48,0x48,
-};
-
-static const BitmapCharRec ch252 = {6,10,-1,0,8,ch252data};
-
-/* char: 0xfb */
-
-static const GLubyte ch251data[] = {
-0x74,0x88,0x88,0x88,0x88,0x88,0x0,0x0,0x48,0x30,
-};
-
-static const BitmapCharRec ch251 = {6,10,-1,0,8,ch251data};
-
-/* char: 0xfa */
-
-static const GLubyte ch250data[] = {
-0x74,0x88,0x88,0x88,0x88,0x88,0x0,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch250 = {6,10,-1,0,8,ch250data};
-
-/* char: 0xf9 */
-
-static const GLubyte ch249data[] = {
-0x74,0x88,0x88,0x88,0x88,0x88,0x0,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch249 = {6,10,-1,0,8,ch249data};
-
-/* char: 0xf8 */
-
-static const GLubyte ch248data[] = {
-0x80,0x78,0xc4,0xa4,0x94,0x8c,0x78,0x4,
-};
-
-static const BitmapCharRec ch248 = {6,8,-1,1,8,ch248data};
-
-/* char: 0xf7 */
-
-static const GLubyte ch247data[] = {
-0x20,0x20,0x0,0xf8,0x0,0x20,0x20,
-};
-
-static const BitmapCharRec ch247 = {5,7,-1,-1,8,ch247data};
-
-/* char: 0xf6 */
-
-static const GLubyte ch246data[] = {
-0x78,0x84,0x84,0x84,0x84,0x78,0x0,0x0,0x48,0x48,
-};
-
-static const BitmapCharRec ch246 = {6,10,-1,0,8,ch246data};
-
-/* char: 0xf5 */
-
-static const GLubyte ch245data[] = {
-0x78,0x84,0x84,0x84,0x84,0x78,0x0,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch245 = {6,10,-1,0,8,ch245data};
-
-/* char: 0xf4 */
-
-static const GLubyte ch244data[] = {
-0x78,0x84,0x84,0x84,0x84,0x78,0x0,0x0,0x48,0x30,
-};
-
-static const BitmapCharRec ch244 = {6,10,-1,0,8,ch244data};
-
-/* char: 0xf3 */
-
-static const GLubyte ch243data[] = {
-0x78,0x84,0x84,0x84,0x84,0x78,0x0,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch243 = {6,10,-1,0,8,ch243data};
-
-/* char: 0xf2 */
-
-static const GLubyte ch242data[] = {
-0x78,0x84,0x84,0x84,0x84,0x78,0x0,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch242 = {6,10,-1,0,8,ch242data};
-
-/* char: 0xf1 */
-
-static const GLubyte ch241data[] = {
-0x84,0x84,0x84,0x84,0xc4,0xb8,0x0,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch241 = {6,10,-1,0,8,ch241data};
-
-/* char: 0xf0 */
-
-static const GLubyte ch240data[] = {
-0x78,0x84,0x84,0x84,0x84,0x78,0x8,0x50,0x30,0x48,
-};
-
-static const BitmapCharRec ch240 = {6,10,-1,0,8,ch240data};
-
-/* char: 0xef */
-
-static const GLubyte ch239data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x60,0x0,0x0,0x50,0x50,
-};
-
-static const BitmapCharRec ch239 = {5,10,-1,0,8,ch239data};
-
-/* char: 0xee */
-
-static const GLubyte ch238data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x60,0x0,0x0,0x90,0x60,
-};
-
-static const BitmapCharRec ch238 = {5,10,-1,0,8,ch238data};
-
-/* char: 0xed */
-
-static const GLubyte ch237data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x60,0x0,0x0,0x40,0x20,
-};
-
-static const BitmapCharRec ch237 = {5,10,-1,0,8,ch237data};
-
-/* char: 0xec */
-
-static const GLubyte ch236data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x60,0x0,0x0,0x20,0x40,
-};
-
-static const BitmapCharRec ch236 = {5,10,-1,0,8,ch236data};
-
-/* char: 0xeb */
-
-static const GLubyte ch235data[] = {
-0x78,0x84,0x80,0xfc,0x84,0x78,0x0,0x0,0x48,0x48,
-};
-
-static const BitmapCharRec ch235 = {6,10,-1,0,8,ch235data};
-
-/* char: 0xea */
-
-static const GLubyte ch234data[] = {
-0x78,0x84,0x80,0xfc,0x84,0x78,0x0,0x0,0x48,0x30,
-};
-
-static const BitmapCharRec ch234 = {6,10,-1,0,8,ch234data};
-
-/* char: 0xe9 */
-
-static const GLubyte ch233data[] = {
-0x78,0x84,0x80,0xfc,0x84,0x78,0x0,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch233 = {6,10,-1,0,8,ch233data};
-
-/* char: 0xe8 */
-
-static const GLubyte ch232data[] = {
-0x78,0x84,0x80,0xfc,0x84,0x78,0x0,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch232 = {6,10,-1,0,8,ch232data};
-
-/* char: 0xe7 */
-
-static const GLubyte ch231data[] = {
-0x20,0x10,0x78,0x84,0x80,0x80,0x84,0x78,
-};
-
-static const BitmapCharRec ch231 = {6,8,-1,2,8,ch231data};
-
-/* char: 0xe6 */
-
-static const GLubyte ch230data[] = {
-0x6c,0x92,0x90,0x7c,0x12,0x6c,
-};
-
-static const BitmapCharRec ch230 = {7,6,0,0,8,ch230data};
-
-/* char: 0xe5 */
-
-static const GLubyte ch229data[] = {
-0x74,0x8c,0x84,0x7c,0x4,0x78,0x0,0x30,0x48,0x30,
-};
-
-static const BitmapCharRec ch229 = {6,10,-1,0,8,ch229data};
-
-/* char: 0xe4 */
-
-static const GLubyte ch228data[] = {
-0x74,0x8c,0x84,0x7c,0x4,0x78,0x0,0x0,0x48,0x48,
-};
-
-static const BitmapCharRec ch228 = {6,10,-1,0,8,ch228data};
-
-/* char: 0xe3 */
-
-static const GLubyte ch227data[] = {
-0x74,0x8c,0x84,0x7c,0x4,0x78,0x0,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch227 = {6,10,-1,0,8,ch227data};
-
-/* char: 0xe2 */
-
-static const GLubyte ch226data[] = {
-0x74,0x8c,0x84,0x7c,0x4,0x78,0x0,0x0,0x48,0x30,
-};
-
-static const BitmapCharRec ch226 = {6,10,-1,0,8,ch226data};
-
-/* char: 0xe1 */
-
-static const GLubyte ch225data[] = {
-0x74,0x8c,0x84,0x7c,0x4,0x78,0x0,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch225 = {6,10,-1,0,8,ch225data};
-
-/* char: 0xe0 */
-
-static const GLubyte ch224data[] = {
-0x74,0x8c,0x84,0x7c,0x4,0x78,0x0,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch224 = {6,10,-1,0,8,ch224data};
-
-/* char: 0xdf */
-
-static const GLubyte ch223data[] = {
-0x80,0xb8,0xc4,0x84,0x84,0xf8,0x84,0x84,0x78,
-};
-
-static const BitmapCharRec ch223 = {6,9,-1,1,8,ch223data};
-
-/* char: 0xde */
-
-static const GLubyte ch222data[] = {
-0x80,0x80,0x80,0xf8,0x84,0x84,0x84,0xf8,0x80,
-};
-
-static const BitmapCharRec ch222 = {6,9,-1,0,8,ch222data};
-
-/* char: 0xdd */
-
-static const GLubyte ch221data[] = {
-0x20,0x20,0x20,0x20,0x50,0x88,0x88,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch221 = {5,10,-1,0,8,ch221data};
-
-/* char: 0xdc */
-
-static const GLubyte ch220data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x48,0x48,
-};
-
-static const BitmapCharRec ch220 = {6,10,-1,0,8,ch220data};
-
-/* char: 0xdb */
-
-static const GLubyte ch219data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x48,0x30,
-};
-
-static const BitmapCharRec ch219 = {6,10,-1,0,8,ch219data};
-
-/* char: 0xda */
-
-static const GLubyte ch218data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch218 = {6,10,-1,0,8,ch218data};
-
-/* char: 0xd9 */
-
-static const GLubyte ch217data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch217 = {6,10,-1,0,8,ch217data};
-
-/* char: 0xd8 */
-
-static const GLubyte ch216data[] = {
-0x80,0x78,0xc4,0xa4,0xa4,0xa4,0x94,0x94,0x8c,0x78,0x4,
-};
-
-static const BitmapCharRec ch216 = {6,11,-1,1,8,ch216data};
-
-/* char: 0xd7 */
-
-static const GLubyte ch215data[] = {
-0x84,0x48,0x30,0x30,0x48,0x84,
-};
-
-static const BitmapCharRec ch215 = {6,6,-1,-1,8,ch215data};
-
-/* char: 0xd6 */
-
-static const GLubyte ch214data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x28,0x28,
-};
-
-static const BitmapCharRec ch214 = {7,10,0,0,8,ch214data};
-
-/* char: 0xd5 */
-
-static const GLubyte ch213data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x28,0x14,
-};
-
-static const BitmapCharRec ch213 = {7,10,0,0,8,ch213data};
-
-/* char: 0xd4 */
-
-static const GLubyte ch212data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x24,0x18,
-};
-
-static const BitmapCharRec ch212 = {7,10,0,0,8,ch212data};
-
-/* char: 0xd3 */
-
-static const GLubyte ch211data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x10,0x8,
-};
-
-static const BitmapCharRec ch211 = {7,10,0,0,8,ch211data};
-
-/* char: 0xd2 */
-
-static const GLubyte ch210data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x8,0x10,
-};
-
-static const BitmapCharRec ch210 = {7,10,0,0,8,ch210data};
-
-/* char: 0xd1 */
-
-static const GLubyte ch209data[] = {
-0x82,0x86,0x8a,0x92,0xa2,0xc2,0x82,0x0,0x28,0x14,
-};
-
-static const BitmapCharRec ch209 = {7,10,0,0,8,ch209data};
-
-/* char: 0xd0 */
-
-static const GLubyte ch208data[] = {
-0xfc,0x42,0x42,0x42,0xe2,0x42,0x42,0x42,0xfc,
-};
-
-static const BitmapCharRec ch208 = {7,9,0,0,8,ch208data};
-
-/* char: 0xcf */
-
-static const GLubyte ch207data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0xf8,0x0,0x50,0x50,
-};
-
-static const BitmapCharRec ch207 = {5,10,-1,0,8,ch207data};
-
-/* char: 0xce */
-
-static const GLubyte ch206data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0xf8,0x0,0x48,0x30,
-};
-
-static const BitmapCharRec ch206 = {5,10,-1,0,8,ch206data};
-
-/* char: 0xcd */
-
-static const GLubyte ch205data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0xf8,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch205 = {5,10,-1,0,8,ch205data};
-
-/* char: 0xcc */
-
-static const GLubyte ch204data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0xf8,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch204 = {5,10,-1,0,8,ch204data};
-
-/* char: 0xcb */
-
-static const GLubyte ch203data[] = {
-0xfc,0x80,0x80,0xf0,0x80,0x80,0xfc,0x0,0x48,0x48,
-};
-
-static const BitmapCharRec ch203 = {6,10,-1,0,8,ch203data};
-
-/* char: 0xca */
-
-static const GLubyte ch202data[] = {
-0xfc,0x80,0x80,0xf0,0x80,0x80,0xfc,0x0,0x48,0x30,
-};
-
-static const BitmapCharRec ch202 = {6,10,-1,0,8,ch202data};
-
-/* char: 0xc9 */
-
-static const GLubyte ch201data[] = {
-0xfc,0x80,0x80,0xf0,0x80,0x80,0xfc,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch201 = {6,10,-1,0,8,ch201data};
-
-/* char: 0xc8 */
-
-static const GLubyte ch200data[] = {
-0xfc,0x80,0x80,0xf0,0x80,0x80,0xfc,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch200 = {6,10,-1,0,8,ch200data};
-
-/* char: 0xc7 */
-
-static const GLubyte ch199data[] = {
-0x20,0x10,0x78,0x84,0x80,0x80,0x80,0x80,0x80,0x84,0x78,
-};
-
-static const BitmapCharRec ch199 = {6,11,-1,2,8,ch199data};
-
-/* char: 0xc6 */
-
-static const GLubyte ch198data[] = {
-0x9e,0x90,0x90,0xf0,0x9c,0x90,0x90,0x90,0x6e,
-};
-
-static const BitmapCharRec ch198 = {7,9,0,0,8,ch198data};
-
-/* char: 0xc5 */
-
-static const GLubyte ch197data[] = {
-0x84,0x84,0xfc,0x84,0x84,0x48,0x30,0x30,0x48,0x30,
-};
-
-static const BitmapCharRec ch197 = {6,10,-1,0,8,ch197data};
-
-/* char: 0xc4 */
-
-static const GLubyte ch196data[] = {
-0x84,0x84,0xfc,0x84,0x84,0x48,0x30,0x0,0x48,0x48,
-};
-
-static const BitmapCharRec ch196 = {6,10,-1,0,8,ch196data};
-
-/* char: 0xc3 */
-
-static const GLubyte ch195data[] = {
-0x84,0x84,0xfc,0x84,0x84,0x48,0x30,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch195 = {6,10,-1,0,8,ch195data};
-
-/* char: 0xc2 */
-
-static const GLubyte ch194data[] = {
-0x84,0x84,0xfc,0x84,0x84,0x48,0x30,0x0,0x48,0x30,
-};
-
-static const BitmapCharRec ch194 = {6,10,-1,0,8,ch194data};
-
-/* char: 0xc1 */
-
-static const GLubyte ch193data[] = {
-0x84,0x84,0xfc,0x84,0x84,0x48,0x30,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch193 = {6,10,-1,0,8,ch193data};
-
-/* char: 0xc0 */
-
-static const GLubyte ch192data[] = {
-0x84,0x84,0xfc,0x84,0x84,0x48,0x30,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch192 = {6,10,-1,0,8,ch192data};
-
-/* char: 0xbf */
-
-static const GLubyte ch191data[] = {
-0x78,0x84,0x84,0x80,0x40,0x20,0x20,0x0,0x20,
-};
-
-static const BitmapCharRec ch191 = {6,9,-1,0,8,ch191data};
-
-/* char: 0xbe */
-
-static const GLubyte ch190data[] = {
-0x6,0x1a,0x12,0xa,0x66,0x92,0x10,0x20,0x90,0x60,
-};
-
-static const BitmapCharRec ch190 = {7,10,0,0,8,ch190data};
-
-/* char: 0xbd */
-
-static const GLubyte ch189data[] = {
-0x1e,0x10,0xc,0x2,0xf2,0x4c,0x40,0x40,0xc0,0x40,
-};
-
-static const BitmapCharRec ch189 = {7,10,0,0,8,ch189data};
-
-/* char: 0xbc */
-
-static const GLubyte ch188data[] = {
-0x6,0x1a,0x12,0xa,0xe6,0x42,0x40,0x40,0xc0,0x40,
-};
-
-static const BitmapCharRec ch188 = {7,10,0,0,8,ch188data};
-
-/* char: 0xbb */
-
-static const GLubyte ch187data[] = {
-0x90,0x48,0x24,0x12,0x24,0x48,0x90,
-};
-
-static const BitmapCharRec ch187 = {7,7,0,-1,8,ch187data};
-
-/* char: 0xba */
-
-static const GLubyte ch186data[] = {
-0xf0,0x0,0x60,0x90,0x90,0x60,
-};
-
-static const BitmapCharRec ch186 = {4,6,-1,-3,8,ch186data};
-
-/* char: 0xb9 */
-
-static const GLubyte ch185data[] = {
-0xe0,0x40,0x40,0x40,0xc0,0x40,
-};
-
-static const BitmapCharRec ch185 = {3,6,-1,-4,8,ch185data};
-
-/* char: 0xb8 */
-
-static const GLubyte ch184data[] = {
-0xc0,0x40,
-};
-
-static const BitmapCharRec ch184 = {2,2,-3,2,8,ch184data};
-
-/* char: 0xb7 */
-
-static const GLubyte ch183data[] = {
-0xc0,
-};
-
-static const BitmapCharRec ch183 = {2,1,-3,-4,8,ch183data};
-
-/* char: 0xb6 */
-
-static const GLubyte ch182data[] = {
-0x28,0x28,0x28,0x28,0x68,0xe8,0xe8,0xe8,0x7c,
-};
-
-static const BitmapCharRec ch182 = {6,9,-1,0,8,ch182data};
-
-/* char: 0xb5 */
-
-static const GLubyte ch181data[] = {
-0x80,0xb4,0xcc,0x84,0x84,0x84,0x84,
-};
-
-static const BitmapCharRec ch181 = {6,7,-1,1,8,ch181data};
-
-/* char: 0xb4 */
-
-static const GLubyte ch180data[] = {
-0x80,0x40,
-};
-
-static const BitmapCharRec ch180 = {2,2,-3,-8,8,ch180data};
-
-/* char: 0xb3 */
-
-static const GLubyte ch179data[] = {
-0x60,0x90,0x10,0x20,0x90,0x60,
-};
-
-static const BitmapCharRec ch179 = {4,6,-1,-4,8,ch179data};
-
-/* char: 0xb2 */
-
-static const GLubyte ch178data[] = {
-0xf0,0x80,0x60,0x10,0x90,0x60,
-};
-
-static const BitmapCharRec ch178 = {4,6,-1,-4,8,ch178data};
-
-/* char: 0xb1 */
-
-static const GLubyte ch177data[] = {
-0xf8,0x0,0x20,0x20,0xf8,0x20,0x20,
-};
-
-static const BitmapCharRec ch177 = {5,7,-1,-1,8,ch177data};
-
-/* char: 0xb0 */
-
-static const GLubyte ch176data[] = {
-0x60,0x90,0x90,0x60,
-};
-
-static const BitmapCharRec ch176 = {4,4,-2,-5,8,ch176data};
-
-/* char: 0xaf */
-
-static const GLubyte ch175data[] = {
-0xfc,
-};
-
-static const BitmapCharRec ch175 = {6,1,-1,-8,8,ch175data};
-
-/* char: 0xae */
-
-static const GLubyte ch174data[] = {
-0x38,0x44,0xaa,0xb2,0xaa,0xaa,0x92,0x44,0x38,
-};
-
-static const BitmapCharRec ch174 = {7,9,0,-1,8,ch174data};
-
-/* char: 0xad */
-
-static const GLubyte ch173data[] = {
-0xfc,
-};
-
-static const BitmapCharRec ch173 = {6,1,-1,-4,8,ch173data};
-
-/* char: 0xac */
-
-static const GLubyte ch172data[] = {
-0x4,0x4,0x4,0xfc,
-};
-
-static const BitmapCharRec ch172 = {6,4,-1,-1,8,ch172data};
-
-/* char: 0xab */
-
-static const GLubyte ch171data[] = {
-0x12,0x24,0x48,0x90,0x48,0x24,0x12,
-};
-
-static const BitmapCharRec ch171 = {7,7,0,-1,8,ch171data};
-
-/* char: 0xaa */
-
-static const GLubyte ch170data[] = {
-0xf8,0x0,0x78,0x88,0x78,0x8,0x70,
-};
-
-static const BitmapCharRec ch170 = {5,7,-1,-2,8,ch170data};
-
-/* char: 0xa9 */
-
-static const GLubyte ch169data[] = {
-0x38,0x44,0x92,0xaa,0xa2,0xaa,0x92,0x44,0x38,
-};
-
-static const BitmapCharRec ch169 = {7,9,0,-1,8,ch169data};
-
-/* char: 0xa8 */
-
-static const GLubyte ch168data[] = {
-0xd8,
-};
-
-static const BitmapCharRec ch168 = {5,1,-1,-8,8,ch168data};
-
-/* char: 0xa7 */
-
-static const GLubyte ch167data[] = {
-0x60,0x90,0x10,0x60,0x90,0x90,0x60,0x80,0x90,0x60,
-};
-
-static const BitmapCharRec ch167 = {4,10,-2,0,8,ch167data};
-
-/* char: 0xa6 */
-
-static const GLubyte ch166data[] = {
-0x80,0x80,0x80,0x80,0x0,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch166 = {1,9,-3,0,8,ch166data};
-
-/* char: 0xa5 */
-
-static const GLubyte ch165data[] = {
-0x10,0x10,0x7c,0x10,0x7c,0x28,0x44,0x82,0x82,
-};
-
-static const BitmapCharRec ch165 = {7,9,0,0,8,ch165data};
-
-/* char: 0xa4 */
-
-static const GLubyte ch164data[] = {
-0x84,0x78,0x48,0x48,0x78,0x84,
-};
-
-static const BitmapCharRec ch164 = {6,6,-1,-1,8,ch164data};
-
-/* char: 0xa3 */
-
-static const GLubyte ch163data[] = {
-0xdc,0x62,0x20,0x20,0x20,0x70,0x20,0x22,0x1c,
-};
-
-static const BitmapCharRec ch163 = {7,9,0,0,8,ch163data};
-
-/* char: 0xa2 */
-
-static const GLubyte ch162data[] = {
-0x20,0x70,0xa8,0xa0,0xa0,0xa8,0x70,0x20,
-};
-
-static const BitmapCharRec ch162 = {5,8,-1,-1,8,ch162data};
-
-/* char: 0xa1 */
-
-static const GLubyte ch161data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,
-};
-
-static const BitmapCharRec ch161 = {1,9,-3,0,8,ch161data};
-
-/* char: 0x7e '~' */
-
-static const GLubyte ch126data[] = {
-0x90,0xa8,0x48,
-};
-
-static const BitmapCharRec ch126 = {5,3,-1,-6,8,ch126data};
-
-/* char: 0x7d '}' */
-
-static const GLubyte ch125data[] = {
-0xe0,0x10,0x10,0x20,0x18,0x20,0x10,0x10,0xe0,
-};
-
-static const BitmapCharRec ch125 = {5,9,-1,0,8,ch125data};
-
-/* char: 0x7c '|' */
-
-static const GLubyte ch124data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch124 = {1,9,-3,0,8,ch124data};
-
-/* char: 0x7b '{' */
-
-static const GLubyte ch123data[] = {
-0x38,0x40,0x40,0x20,0xc0,0x20,0x40,0x40,0x38,
-};
-
-static const BitmapCharRec ch123 = {5,9,-2,0,8,ch123data};
-
-/* char: 0x7a 'z' */
-
-static const GLubyte ch122data[] = {
-0xfc,0x40,0x20,0x10,0x8,0xfc,
-};
-
-static const BitmapCharRec ch122 = {6,6,-1,0,8,ch122data};
-
-/* char: 0x79 'y' */
-
-static const GLubyte ch121data[] = {
-0x78,0x84,0x4,0x74,0x8c,0x84,0x84,0x84,
-};
-
-static const BitmapCharRec ch121 = {6,8,-1,2,8,ch121data};
-
-/* char: 0x78 'x' */
-
-static const GLubyte ch120data[] = {
-0x84,0x48,0x30,0x30,0x48,0x84,
-};
-
-static const BitmapCharRec ch120 = {6,6,-1,0,8,ch120data};
-
-/* char: 0x77 'w' */
-
-static const GLubyte ch119data[] = {
-0x44,0xaa,0x92,0x92,0x82,0x82,
-};
-
-static const BitmapCharRec ch119 = {7,6,0,0,8,ch119data};
-
-/* char: 0x76 'v' */
-
-static const GLubyte ch118data[] = {
-0x20,0x50,0x50,0x88,0x88,0x88,
-};
-
-static const BitmapCharRec ch118 = {5,6,-1,0,8,ch118data};
-
-/* char: 0x75 'u' */
-
-static const GLubyte ch117data[] = {
-0x74,0x88,0x88,0x88,0x88,0x88,
-};
-
-static const BitmapCharRec ch117 = {6,6,-1,0,8,ch117data};
-
-/* char: 0x74 't' */
-
-static const GLubyte ch116data[] = {
-0x38,0x44,0x40,0x40,0x40,0xf8,0x40,0x40,
-};
-
-static const BitmapCharRec ch116 = {6,8,-1,0,8,ch116data};
-
-/* char: 0x73 's' */
-
-static const GLubyte ch115data[] = {
-0x78,0x84,0x18,0x60,0x84,0x78,
-};
-
-static const BitmapCharRec ch115 = {6,6,-1,0,8,ch115data};
-
-/* char: 0x72 'r' */
-
-static const GLubyte ch114data[] = {
-0x40,0x40,0x40,0x40,0x44,0xb8,
-};
-
-static const BitmapCharRec ch114 = {6,6,-1,0,8,ch114data};
-
-/* char: 0x71 'q' */
-
-static const GLubyte ch113data[] = {
-0x4,0x4,0x4,0x74,0x8c,0x84,0x8c,0x74,
-};
-
-static const BitmapCharRec ch113 = {6,8,-1,2,8,ch113data};
-
-/* char: 0x70 'p' */
-
-static const GLubyte ch112data[] = {
-0x80,0x80,0x80,0xb8,0xc4,0x84,0xc4,0xb8,
-};
-
-static const BitmapCharRec ch112 = {6,8,-1,2,8,ch112data};
-
-/* char: 0x6f 'o' */
-
-static const GLubyte ch111data[] = {
-0x78,0x84,0x84,0x84,0x84,0x78,
-};
-
-static const BitmapCharRec ch111 = {6,6,-1,0,8,ch111data};
-
-/* char: 0x6e 'n' */
-
-static const GLubyte ch110data[] = {
-0x84,0x84,0x84,0x84,0xc4,0xb8,
-};
-
-static const BitmapCharRec ch110 = {6,6,-1,0,8,ch110data};
-
-/* char: 0x6d 'm' */
-
-static const GLubyte ch109data[] = {
-0x82,0x92,0x92,0x92,0x92,0xec,
-};
-
-static const BitmapCharRec ch109 = {7,6,0,0,8,ch109data};
-
-/* char: 0x6c 'l' */
-
-static const GLubyte ch108data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x60,
-};
-
-static const BitmapCharRec ch108 = {5,9,-1,0,8,ch108data};
-
-/* char: 0x6b 'k' */
-
-static const GLubyte ch107data[] = {
-0x84,0x88,0x90,0xe0,0x90,0x88,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch107 = {6,9,-1,0,8,ch107data};
-
-/* char: 0x6a 'j' */
-
-static const GLubyte ch106data[] = {
-0x70,0x88,0x88,0x8,0x8,0x8,0x8,0x18,0x0,0x8,
-};
-
-static const BitmapCharRec ch106 = {5,10,-1,2,8,ch106data};
-
-/* char: 0x69 'i' */
-
-static const GLubyte ch105data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x60,0x0,0x20,
-};
-
-static const BitmapCharRec ch105 = {5,8,-1,0,8,ch105data};
-
-/* char: 0x68 'h' */
-
-static const GLubyte ch104data[] = {
-0x84,0x84,0x84,0x84,0xc4,0xb8,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch104 = {6,9,-1,0,8,ch104data};
-
-/* char: 0x67 'g' */
-
-static const GLubyte ch103data[] = {
-0x78,0x84,0x78,0x80,0x70,0x88,0x88,0x74,
-};
-
-static const BitmapCharRec ch103 = {6,8,-1,2,8,ch103data};
-
-/* char: 0x66 'f' */
-
-static const GLubyte ch102data[] = {
-0x40,0x40,0x40,0x40,0xf8,0x40,0x40,0x44,0x38,
-};
-
-static const BitmapCharRec ch102 = {6,9,-1,0,8,ch102data};
-
-/* char: 0x65 'e' */
-
-static const GLubyte ch101data[] = {
-0x78,0x84,0x80,0xfc,0x84,0x78,
-};
-
-static const BitmapCharRec ch101 = {6,6,-1,0,8,ch101data};
-
-/* char: 0x64 'd' */
-
-static const GLubyte ch100data[] = {
-0x74,0x8c,0x84,0x84,0x8c,0x74,0x4,0x4,0x4,
-};
-
-static const BitmapCharRec ch100 = {6,9,-1,0,8,ch100data};
-
-/* char: 0x63 'c' */
-
-static const GLubyte ch99data[] = {
-0x78,0x84,0x80,0x80,0x84,0x78,
-};
-
-static const BitmapCharRec ch99 = {6,6,-1,0,8,ch99data};
-
-/* char: 0x62 'b' */
-
-static const GLubyte ch98data[] = {
-0xb8,0xc4,0x84,0x84,0xc4,0xb8,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch98 = {6,9,-1,0,8,ch98data};
-
-/* char: 0x61 'a' */
-
-static const GLubyte ch97data[] = {
-0x74,0x8c,0x84,0x7c,0x4,0x78,
-};
-
-static const BitmapCharRec ch97 = {6,6,-1,0,8,ch97data};
-
-/* char: 0x60 '`' */
-
-static const GLubyte ch96data[] = {
-0x10,0x60,0xe0,
-};
-
-static const BitmapCharRec ch96 = {4,3,-2,-6,8,ch96data};
-
-/* char: 0x5f '_' */
-
-static const GLubyte ch95data[] = {
-0xfe,
-};
-
-static const BitmapCharRec ch95 = {7,1,0,1,8,ch95data};
-
-/* char: 0x5e '^' */
-
-static const GLubyte ch94data[] = {
-0x88,0x50,0x20,
-};
-
-static const BitmapCharRec ch94 = {5,3,-1,-6,8,ch94data};
-
-/* char: 0x5d ']' */
-
-static const GLubyte ch93data[] = {
-0xf0,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0xf0,
-};
-
-static const BitmapCharRec ch93 = {4,9,-1,0,8,ch93data};
-
-/* char: 0x5c '\' */
-
-static const GLubyte ch92data[] = {
-0x2,0x2,0x4,0x8,0x10,0x20,0x40,0x80,0x80,
-};
-
-static const BitmapCharRec ch92 = {7,9,0,0,8,ch92data};
-
-/* char: 0x5b '[' */
-
-static const GLubyte ch91data[] = {
-0xf0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xf0,
-};
-
-static const BitmapCharRec ch91 = {4,9,-2,0,8,ch91data};
-
-/* char: 0x5a 'Z' */
-
-static const GLubyte ch90data[] = {
-0xfc,0x80,0x80,0x40,0x20,0x10,0x8,0x4,0xfc,
-};
-
-static const BitmapCharRec ch90 = {6,9,-1,0,8,ch90data};
-
-/* char: 0x59 'Y' */
-
-static const GLubyte ch89data[] = {
-0x10,0x10,0x10,0x10,0x10,0x28,0x44,0x82,0x82,
-};
-
-static const BitmapCharRec ch89 = {7,9,0,0,8,ch89data};
-
-/* char: 0x58 'X' */
-
-static const GLubyte ch88data[] = {
-0x82,0x82,0x44,0x28,0x10,0x28,0x44,0x82,0x82,
-};
-
-static const BitmapCharRec ch88 = {7,9,0,0,8,ch88data};
-
-/* char: 0x57 'W' */
-
-static const GLubyte ch87data[] = {
-0x44,0xaa,0x92,0x92,0x92,0x82,0x82,0x82,0x82,
-};
-
-static const BitmapCharRec ch87 = {7,9,0,0,8,ch87data};
-
-/* char: 0x56 'V' */
-
-static const GLubyte ch86data[] = {
-0x10,0x28,0x28,0x28,0x44,0x44,0x44,0x82,0x82,
-};
-
-static const BitmapCharRec ch86 = {7,9,0,0,8,ch86data};
-
-/* char: 0x55 'U' */
-
-static const GLubyte ch85data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
-};
-
-static const BitmapCharRec ch85 = {6,9,-1,0,8,ch85data};
-
-/* char: 0x54 'T' */
-
-static const GLubyte ch84data[] = {
-0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0xfe,
-};
-
-static const BitmapCharRec ch84 = {7,9,0,0,8,ch84data};
-
-/* char: 0x53 'S' */
-
-static const GLubyte ch83data[] = {
-0x78,0x84,0x4,0x4,0x78,0x80,0x80,0x84,0x78,
-};
-
-static const BitmapCharRec ch83 = {6,9,-1,0,8,ch83data};
-
-/* char: 0x52 'R' */
-
-static const GLubyte ch82data[] = {
-0x84,0x88,0x90,0xa0,0xf8,0x84,0x84,0x84,0xf8,
-};
-
-static const BitmapCharRec ch82 = {6,9,-1,0,8,ch82data};
-
-/* char: 0x51 'Q' */
-
-static const GLubyte ch81data[] = {
-0x4,0x78,0x94,0xa4,0x84,0x84,0x84,0x84,0x84,0x78,
-};
-
-static const BitmapCharRec ch81 = {6,10,-1,1,8,ch81data};
-
-/* char: 0x50 'P' */
-
-static const GLubyte ch80data[] = {
-0x80,0x80,0x80,0x80,0xf8,0x84,0x84,0x84,0xf8,
-};
-
-static const BitmapCharRec ch80 = {6,9,-1,0,8,ch80data};
-
-/* char: 0x4f 'O' */
-
-static const GLubyte ch79data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x78,
-};
-
-static const BitmapCharRec ch79 = {6,9,-1,0,8,ch79data};
-
-/* char: 0x4e 'N' */
-
-static const GLubyte ch78data[] = {
-0x84,0x84,0x84,0x8c,0x94,0xa4,0xc4,0x84,0x84,
-};
-
-static const BitmapCharRec ch78 = {6,9,-1,0,8,ch78data};
-
-/* char: 0x4d 'M' */
-
-static const GLubyte ch77data[] = {
-0x82,0x82,0x82,0x92,0x92,0xaa,0xc6,0x82,0x82,
-};
-
-static const BitmapCharRec ch77 = {7,9,0,0,8,ch77data};
-
-/* char: 0x4c 'L' */
-
-static const GLubyte ch76data[] = {
-0xfc,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch76 = {6,9,-1,0,8,ch76data};
-
-/* char: 0x4b 'K' */
-
-static const GLubyte ch75data[] = {
-0x84,0x88,0x90,0xa0,0xc0,0xa0,0x90,0x88,0x84,
-};
-
-static const BitmapCharRec ch75 = {6,9,-1,0,8,ch75data};
-
-/* char: 0x4a 'J' */
-
-static const GLubyte ch74data[] = {
-0x70,0x88,0x8,0x8,0x8,0x8,0x8,0x8,0x3c,
-};
-
-static const BitmapCharRec ch74 = {6,9,-1,0,8,ch74data};
-
-/* char: 0x49 'I' */
-
-static const GLubyte ch73data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xf8,
-};
-
-static const BitmapCharRec ch73 = {5,9,-1,0,8,ch73data};
-
-/* char: 0x48 'H' */
-
-static const GLubyte ch72data[] = {
-0x84,0x84,0x84,0x84,0xfc,0x84,0x84,0x84,0x84,
-};
-
-static const BitmapCharRec ch72 = {6,9,-1,0,8,ch72data};
-
-/* char: 0x47 'G' */
-
-static const GLubyte ch71data[] = {
-0x74,0x8c,0x84,0x9c,0x80,0x80,0x80,0x84,0x78,
-};
-
-static const BitmapCharRec ch71 = {6,9,-1,0,8,ch71data};
-
-/* char: 0x46 'F' */
-
-static const GLubyte ch70data[] = {
-0x80,0x80,0x80,0x80,0xf0,0x80,0x80,0x80,0xfc,
-};
-
-static const BitmapCharRec ch70 = {6,9,-1,0,8,ch70data};
-
-/* char: 0x45 'E' */
-
-static const GLubyte ch69data[] = {
-0xfc,0x80,0x80,0x80,0xf0,0x80,0x80,0x80,0xfc,
-};
-
-static const BitmapCharRec ch69 = {6,9,-1,0,8,ch69data};
-
-/* char: 0x44 'D' */
-
-static const GLubyte ch68data[] = {
-0xfc,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0xfc,
-};
-
-static const BitmapCharRec ch68 = {7,9,0,0,8,ch68data};
-
-/* char: 0x43 'C' */
-
-static const GLubyte ch67data[] = {
-0x78,0x84,0x80,0x80,0x80,0x80,0x80,0x84,0x78,
-};
-
-static const BitmapCharRec ch67 = {6,9,-1,0,8,ch67data};
-
-/* char: 0x42 'B' */
-
-static const GLubyte ch66data[] = {
-0xfc,0x42,0x42,0x42,0x7c,0x42,0x42,0x42,0xfc,
-};
-
-static const BitmapCharRec ch66 = {7,9,0,0,8,ch66data};
-
-/* char: 0x41 'A' */
-
-static const GLubyte ch65data[] = {
-0x84,0x84,0x84,0xfc,0x84,0x84,0x84,0x48,0x30,
-};
-
-static const BitmapCharRec ch65 = {6,9,-1,0,8,ch65data};
-
-/* char: 0x40 '@' */
-
-static const GLubyte ch64data[] = {
-0x78,0x80,0x94,0xac,0xa4,0x9c,0x84,0x84,0x78,
-};
-
-static const BitmapCharRec ch64 = {6,9,-1,0,8,ch64data};
-
-/* char: 0x3f '?' */
-
-static const GLubyte ch63data[] = {
-0x10,0x0,0x10,0x10,0x8,0x4,0x84,0x84,0x78,
-};
-
-static const BitmapCharRec ch63 = {6,9,-1,0,8,ch63data};
-
-/* char: 0x3e '>' */
-
-static const GLubyte ch62data[] = {
-0x80,0x40,0x20,0x10,0x8,0x10,0x20,0x40,0x80,
-};
-
-static const BitmapCharRec ch62 = {5,9,-1,0,8,ch62data};
-
-/* char: 0x3d '=' */
-
-static const GLubyte ch61data[] = {
-0xfc,0x0,0x0,0xfc,
-};
-
-static const BitmapCharRec ch61 = {6,4,-1,-2,8,ch61data};
-
-/* char: 0x3c '<' */
-
-static const GLubyte ch60data[] = {
-0x8,0x10,0x20,0x40,0x80,0x40,0x20,0x10,0x8,
-};
-
-static const BitmapCharRec ch60 = {5,9,-2,0,8,ch60data};
-
-/* char: 0x3b ';' */
-
-static const GLubyte ch59data[] = {
-0x80,0x60,0x70,0x0,0x0,0x20,0x70,0x20,
-};
-
-static const BitmapCharRec ch59 = {4,8,-1,1,8,ch59data};
-
-/* char: 0x3a ':' */
-
-static const GLubyte ch58data[] = {
-0x40,0xe0,0x40,0x0,0x0,0x40,0xe0,0x40,
-};
-
-static const BitmapCharRec ch58 = {3,8,-2,1,8,ch58data};
-
-/* char: 0x39 '9' */
-
-static const GLubyte ch57data[] = {
-0x70,0x8,0x4,0x4,0x74,0x8c,0x84,0x84,0x78,
-};
-
-static const BitmapCharRec ch57 = {6,9,-1,0,8,ch57data};
-
-/* char: 0x38 '8' */
-
-static const GLubyte ch56data[] = {
-0x78,0x84,0x84,0x84,0x78,0x84,0x84,0x84,0x78,
-};
-
-static const BitmapCharRec ch56 = {6,9,-1,0,8,ch56data};
-
-/* char: 0x37 '7' */
-
-static const GLubyte ch55data[] = {
-0x40,0x40,0x20,0x20,0x10,0x10,0x8,0x4,0xfc,
-};
-
-static const BitmapCharRec ch55 = {6,9,-1,0,8,ch55data};
-
-/* char: 0x36 '6' */
-
-static const GLubyte ch54data[] = {
-0x78,0x84,0x84,0xc4,0xb8,0x80,0x80,0x40,0x38,
-};
-
-static const BitmapCharRec ch54 = {6,9,-1,0,8,ch54data};
-
-/* char: 0x35 '5' */
-
-static const GLubyte ch53data[] = {
-0x78,0x84,0x4,0x4,0xc4,0xb8,0x80,0x80,0xfc,
-};
-
-static const BitmapCharRec ch53 = {6,9,-1,0,8,ch53data};
-
-/* char: 0x34 '4' */
-
-static const GLubyte ch52data[] = {
-0x8,0x8,0xfc,0x88,0x88,0x48,0x28,0x18,0x8,
-};
-
-static const BitmapCharRec ch52 = {6,9,-1,0,8,ch52data};
-
-/* char: 0x33 '3' */
-
-static const GLubyte ch51data[] = {
-0x78,0x84,0x4,0x4,0x38,0x10,0x8,0x4,0xfc,
-};
-
-static const BitmapCharRec ch51 = {6,9,-1,0,8,ch51data};
-
-/* char: 0x32 '2' */
-
-static const GLubyte ch50data[] = {
-0xfc,0x80,0x40,0x30,0x8,0x4,0x84,0x84,0x78,
-};
-
-static const BitmapCharRec ch50 = {6,9,-1,0,8,ch50data};
-
-/* char: 0x31 '1' */
-
-static const GLubyte ch49data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0xa0,0x60,0x20,
-};
-
-static const BitmapCharRec ch49 = {5,9,-1,0,8,ch49data};
-
-/* char: 0x30 '0' */
-
-static const GLubyte ch48data[] = {
-0x30,0x48,0x84,0x84,0x84,0x84,0x84,0x48,0x30,
-};
-
-static const BitmapCharRec ch48 = {6,9,-1,0,8,ch48data};
-
-/* char: 0x2f '/' */
-
-static const GLubyte ch47data[] = {
-0x80,0x80,0x40,0x20,0x10,0x8,0x4,0x2,0x2,
-};
-
-static const BitmapCharRec ch47 = {7,9,0,0,8,ch47data};
-
-/* char: 0x2e '.' */
-
-static const GLubyte ch46data[] = {
-0x40,0xe0,0x40,
-};
-
-static const BitmapCharRec ch46 = {3,3,-2,1,8,ch46data};
-
-/* char: 0x2d '-' */
-
-static const GLubyte ch45data[] = {
-0xfc,
-};
-
-static const BitmapCharRec ch45 = {6,1,-1,-4,8,ch45data};
-
-/* char: 0x2c ',' */
-
-static const GLubyte ch44data[] = {
-0x80,0x60,0x70,
-};
-
-static const BitmapCharRec ch44 = {4,3,-1,1,8,ch44data};
-
-/* char: 0x2b '+' */
-
-static const GLubyte ch43data[] = {
-0x20,0x20,0xf8,0x20,0x20,
-};
-
-static const BitmapCharRec ch43 = {5,5,-1,-2,8,ch43data};
-
-/* char: 0x2a '*' */
-
-static const GLubyte ch42data[] = {
-0x48,0x30,0xfc,0x30,0x48,
-};
-
-static const BitmapCharRec ch42 = {6,5,-1,-2,8,ch42data};
-
-/* char: 0x29 ')' */
-
-static const GLubyte ch41data[] = {
-0x80,0x40,0x40,0x20,0x20,0x20,0x40,0x40,0x80,
-};
-
-static const BitmapCharRec ch41 = {3,9,-2,0,8,ch41data};
-
-/* char: 0x28 '(' */
-
-static const GLubyte ch40data[] = {
-0x20,0x40,0x40,0x80,0x80,0x80,0x40,0x40,0x20,
-};
-
-static const BitmapCharRec ch40 = {3,9,-3,0,8,ch40data};
-
-/* char: 0x27 ''' */
-
-static const GLubyte ch39data[] = {
-0x80,0x60,0x70,
-};
-
-static const BitmapCharRec ch39 = {4,3,-1,-6,8,ch39data};
-
-/* char: 0x26 '&' */
-
-static const GLubyte ch38data[] = {
-0x74,0x88,0x94,0x60,0x90,0x90,0x60,
-};
-
-static const BitmapCharRec ch38 = {6,7,-1,0,8,ch38data};
-
-/* char: 0x25 '%' */
-
-static const GLubyte ch37data[] = {
-0x88,0x54,0x48,0x20,0x10,0x10,0x48,0xa4,0x44,
-};
-
-static const BitmapCharRec ch37 = {6,9,-1,0,8,ch37data};
-
-/* char: 0x24 '$' */
-
-static const GLubyte ch36data[] = {
-0x20,0xf0,0x28,0x70,0xa0,0x78,0x20,
-};
-
-static const BitmapCharRec ch36 = {5,7,-1,-1,8,ch36data};
-
-/* char: 0x23 '#' */
-
-static const GLubyte ch35data[] = {
-0x48,0x48,0xfc,0x48,0xfc,0x48,0x48,
-};
-
-static const BitmapCharRec ch35 = {6,7,-1,-1,8,ch35data};
-
-/* char: 0x22 '"' */
-
-static const GLubyte ch34data[] = {
-0x90,0x90,0x90,
-};
-
-static const BitmapCharRec ch34 = {4,3,-2,-6,8,ch34data};
-
-/* char: 0x21 '!' */
-
-static const GLubyte ch33data[] = {
-0x80,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch33 = {1,9,-3,0,8,ch33data};
-
-/* char: 0x1f */
-
-static const GLubyte ch31data[] = {
-0x80,
-};
-
-static const BitmapCharRec ch31 = {1,1,-3,-3,8,ch31data};
-
-/* char: 0x1e */
-
-static const GLubyte ch30data[] = {
-0xdc,0x62,0x20,0x20,0x20,0x70,0x20,0x22,0x1c,
-};
-
-static const BitmapCharRec ch30 = {7,9,0,0,8,ch30data};
-
-/* char: 0x1d */
-
-static const GLubyte ch29data[] = {
-0x80,0x40,0xfe,0x10,0xfe,0x4,0x2,
-};
-
-static const BitmapCharRec ch29 = {7,7,0,0,8,ch29data};
-
-/* char: 0x1c */
-
-static const GLubyte ch28data[] = {
-0x88,0x48,0x48,0x48,0x48,0xfc,
-};
-
-static const BitmapCharRec ch28 = {6,6,-1,0,8,ch28data};
-
-/* char: 0x1b */
-
-static const GLubyte ch27data[] = {
-0xfe,0x80,0x20,0x8,0x2,0x8,0x20,0x80,
-};
-
-static const BitmapCharRec ch27 = {7,8,0,0,8,ch27data};
-
-/* char: 0x1a */
-
-static const GLubyte ch26data[] = {
-0xfe,0x2,0x8,0x20,0x80,0x20,0x8,0x2,
-};
-
-static const BitmapCharRec ch26 = {7,8,0,0,8,ch26data};
-
-/* char: 0x19 */
-
-static const GLubyte ch25data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch25 = {1,13,-3,2,8,ch25data};
-
-/* char: 0x18 */
-
-static const GLubyte ch24data[] = {
-0x10,0x10,0x10,0x10,0x10,0xff,
-};
-
-static const BitmapCharRec ch24 = {8,6,0,2,8,ch24data};
-
-/* char: 0x17 */
-
-static const GLubyte ch23data[] = {
-0xff,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
-};
-
-static const BitmapCharRec ch23 = {8,8,0,-3,8,ch23data};
-
-/* char: 0x16 */
-
-static const GLubyte ch22data[] = {
-0x10,0x10,0x10,0x10,0x10,0xf0,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
-};
-
-static const BitmapCharRec ch22 = {4,13,0,2,8,ch22data};
-
-/* char: 0x15 */
-
-static const GLubyte ch21data[] = {
-0x80,0x80,0x80,0x80,0x80,0xf8,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch21 = {5,13,-3,2,8,ch21data};
-
-/* char: 0x14 */
-
-static const GLubyte ch20data[] = {
-0xff,
-};
-
-static const BitmapCharRec ch20 = {8,1,0,1,8,ch20data};
-
-/* char: 0x13 */
-
-static const GLubyte ch19data[] = {
-0xff,
-};
-
-static const BitmapCharRec ch19 = {8,1,0,-1,8,ch19data};
-
-/* char: 0x12 */
-
-static const GLubyte ch18data[] = {
-0xff,
-};
-
-static const BitmapCharRec ch18 = {8,1,0,-3,8,ch18data};
-
-/* char: 0x11 */
-
-static const GLubyte ch17data[] = {
-0xff,
-};
-
-static const BitmapCharRec ch17 = {8,1,0,-5,8,ch17data};
-
-/* char: 0x10 */
-
-static const GLubyte ch16data[] = {
-0xff,
-};
-
-static const BitmapCharRec ch16 = {8,1,0,-7,8,ch16data};
-
-/* char: 0xf */
-
-static const GLubyte ch15data[] = {
-0x10,0x10,0x10,0x10,0x10,0xff,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
-};
-
-static const BitmapCharRec ch15 = {8,13,0,2,8,ch15data};
-
-/* char: 0xe */
-
-static const GLubyte ch14data[] = {
-0xf8,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch14 = {5,8,-3,-3,8,ch14data};
-
-/* char: 0xd */
-
-static const GLubyte ch13data[] = {
-0x80,0x80,0x80,0x80,0x80,0xf8,
-};
-
-static const BitmapCharRec ch13 = {5,6,-3,2,8,ch13data};
-
-/* char: 0xc */
-
-static const GLubyte ch12data[] = {
-0x10,0x10,0x10,0x10,0x10,0xf0,
-};
-
-static const BitmapCharRec ch12 = {4,6,0,2,8,ch12data};
-
-/* char: 0xb */
-
-static const GLubyte ch11data[] = {
-0xf0,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
-};
-
-static const BitmapCharRec ch11 = {4,8,0,-3,8,ch11data};
-
-/* char: 0xa */
-
-static const GLubyte ch10data[] = {
-0x8,0x8,0x8,0x8,0x3e,0x20,0x50,0x88,0x88,
-};
-
-static const BitmapCharRec ch10 = {7,9,0,2,8,ch10data};
-
-/* char: 0x9 */
-
-static const GLubyte ch9data[] = {
-0x3e,0x20,0x20,0x20,0x88,0x98,0xa8,0xc8,0x88,
-};
-
-static const BitmapCharRec ch9 = {7,9,0,2,8,ch9data};
-
-/* char: 0x8 */
-
-static const GLubyte ch8data[] = {
-0xfe,0x10,0x10,0xfe,0x10,0x10,
-};
-
-static const BitmapCharRec ch8 = {7,6,0,0,8,ch8data};
-
-/* char: 0x7 */
-
-static const GLubyte ch7data[] = {
-0x70,0x88,0x88,0x70,
-};
-
-static const BitmapCharRec ch7 = {5,4,-1,-5,8,ch7data};
-
-/* char: 0x6 */
-
-static const GLubyte ch6data[] = {
-0x20,0x20,0x3c,0x20,0x3e,0xf8,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch6 = {7,9,0,2,8,ch6data};
-
-/* char: 0x5 */
-
-static const GLubyte ch5data[] = {
-0x22,0x22,0x3c,0x22,0x3c,0x78,0x80,0x80,0x78,
-};
-
-static const BitmapCharRec ch5 = {7,9,0,2,8,ch5data};
-
-/* char: 0x4 */
-
-static const GLubyte ch4data[] = {
-0x10,0x10,0x1c,0x10,0x9e,0x80,0xe0,0x80,0xf0,
-};
-
-static const BitmapCharRec ch4 = {7,9,0,2,8,ch4data};
-
-/* char: 0x3 */
-
-static const GLubyte ch3data[] = {
-0x8,0x8,0x8,0x3e,0x88,0x88,0xf8,0x88,0x88,
-};
-
-static const BitmapCharRec ch3 = {7,9,0,2,8,ch3data};
-
-/* char: 0x2 */
-
-static const GLubyte ch2data[] = {
-0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,
-};
-
-static const BitmapCharRec ch2 = {8,12,0,2,8,ch2data};
-
-/* char: 0x1 */
-
-static const GLubyte ch1data[] = {
-0x10,0x38,0x7c,0xfe,0x7c,0x38,0x10,
-};
-
-static const BitmapCharRec ch1 = {7,7,0,-1,8,ch1data};
-
-static const BitmapCharRec * const chars[] = {
-&ch0,
-&ch1,
-&ch2,
-&ch3,
-&ch4,
-&ch5,
-&ch6,
-&ch7,
-&ch8,
-&ch9,
-&ch10,
-&ch11,
-&ch12,
-&ch13,
-&ch14,
-&ch15,
-&ch16,
-&ch17,
-&ch18,
-&ch19,
-&ch20,
-&ch21,
-&ch22,
-&ch23,
-&ch24,
-&ch25,
-&ch26,
-&ch27,
-&ch28,
-&ch29,
-&ch30,
-&ch31,
-&ch32,
-&ch33,
-&ch34,
-&ch35,
-&ch36,
-&ch37,
-&ch38,
-&ch39,
-&ch40,
-&ch41,
-&ch42,
-&ch43,
-&ch44,
-&ch45,
-&ch46,
-&ch47,
-&ch48,
-&ch49,
-&ch50,
-&ch51,
-&ch52,
-&ch53,
-&ch54,
-&ch55,
-&ch56,
-&ch57,
-&ch58,
-&ch59,
-&ch60,
-&ch61,
-&ch62,
-&ch63,
-&ch64,
-&ch65,
-&ch66,
-&ch67,
-&ch68,
-&ch69,
-&ch70,
-&ch71,
-&ch72,
-&ch73,
-&ch74,
-&ch75,
-&ch76,
-&ch77,
-&ch78,
-&ch79,
-&ch80,
-&ch81,
-&ch82,
-&ch83,
-&ch84,
-&ch85,
-&ch86,
-&ch87,
-&ch88,
-&ch89,
-&ch90,
-&ch91,
-&ch92,
-&ch93,
-&ch94,
-&ch95,
-&ch96,
-&ch97,
-&ch98,
-&ch99,
-&ch100,
-&ch101,
-&ch102,
-&ch103,
-&ch104,
-&ch105,
-&ch106,
-&ch107,
-&ch108,
-&ch109,
-&ch110,
-&ch111,
-&ch112,
-&ch113,
-&ch114,
-&ch115,
-&ch116,
-&ch117,
-&ch118,
-&ch119,
-&ch120,
-&ch121,
-&ch122,
-&ch123,
-&ch124,
-&ch125,
-&ch126,
-&ch127,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-&ch160,
-&ch161,
-&ch162,
-&ch163,
-&ch164,
-&ch165,
-&ch166,
-&ch167,
-&ch168,
-&ch169,
-&ch170,
-&ch171,
-&ch172,
-&ch173,
-&ch174,
-&ch175,
-&ch176,
-&ch177,
-&ch178,
-&ch179,
-&ch180,
-&ch181,
-&ch182,
-&ch183,
-&ch184,
-&ch185,
-&ch186,
-&ch187,
-&ch188,
-&ch189,
-&ch190,
-&ch191,
-&ch192,
-&ch193,
-&ch194,
-&ch195,
-&ch196,
-&ch197,
-&ch198,
-&ch199,
-&ch200,
-&ch201,
-&ch202,
-&ch203,
-&ch204,
-&ch205,
-&ch206,
-&ch207,
-&ch208,
-&ch209,
-&ch210,
-&ch211,
-&ch212,
-&ch213,
-&ch214,
-&ch215,
-&ch216,
-&ch217,
-&ch218,
-&ch219,
-&ch220,
-&ch221,
-&ch222,
-&ch223,
-&ch224,
-&ch225,
-&ch226,
-&ch227,
-&ch228,
-&ch229,
-&ch230,
-&ch231,
-&ch232,
-&ch233,
-&ch234,
-&ch235,
-&ch236,
-&ch237,
-&ch238,
-&ch239,
-&ch240,
-&ch241,
-&ch242,
-&ch243,
-&ch244,
-&ch245,
-&ch246,
-&ch247,
-&ch248,
-&ch249,
-&ch250,
-&ch251,
-&ch252,
-&ch253,
-&ch254,
-&ch255,
-};
-
-#if !defined(__IBMCPP__)
-const
-#endif
-BitmapFontRec glutBitmap8By13 = {
-"-misc-fixed-medium-r-normal--13-120-75-75-C-80-iso8859-1",
-256,
-0,
-chars
-};
-
diff --git a/src/glut/os2/glut_9x15.cpp b/src/glut/os2/glut_9x15.cpp
deleted file mode 100644
index d228a2b150..0000000000
--- a/src/glut/os2/glut_9x15.cpp
+++ /dev/null
@@ -1,2077 +0,0 @@
-
-/* GENERATED FILE -- DO NOT MODIFY */
-
-#define glutBitmap9By15 XXX
-#include "glutbitmap.h"
-#undef glutBitmap9By15
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch0data[] = { 0x0 };
-static const BitmapCharRec ch0 = {1,1,0,0,9,ch0data};
-#else
-static const BitmapCharRec ch0 = {0,0,0,0,9,0};
-#endif
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch32data[] = { 0x0 };
-static const BitmapCharRec ch32 = {1,1,0,0,9,ch32data};
-#else
-static const BitmapCharRec ch32 = {0,0,0,0,9,0};
-#endif
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch127data[] = { 0x0 };
-static const BitmapCharRec ch127 = {1,1,0,0,9,ch127data};
-#else
-static const BitmapCharRec ch127 = {0,0,0,0,9,0};
-#endif
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch160data[] = { 0x0 };
-static const BitmapCharRec ch160 = {1,1,0,0,9,ch160data};
-#else
-static const BitmapCharRec ch160 = {0,0,0,0,9,0};
-#endif
-
-/* char: 0xff */
-
-static const GLubyte ch255data[] = {
-0x78,0x84,0x4,0x74,0x8c,0x84,0x84,0x84,0x84,0x84,0x0,0x0,0x28,0x28,
-};
-
-static const BitmapCharRec ch255 = {6,14,-1,3,9,ch255data};
-
-/* char: 0xfe */
-
-static const GLubyte ch254data[] = {
-0x80,0x80,0x80,0xbc,0xc2,0x82,0x82,0x82,0xc2,0xbc,0x80,0x80,
-};
-
-static const BitmapCharRec ch254 = {7,12,-1,3,9,ch254data};
-
-/* char: 0xfd */
-
-static const GLubyte ch253data[] = {
-0x78,0x84,0x4,0x74,0x8c,0x84,0x84,0x84,0x84,0x84,0x0,0x0,0x30,0x8,
-};
-
-static const BitmapCharRec ch253 = {6,14,-1,3,9,ch253data};
-
-/* char: 0xfc */
-
-static const GLubyte ch252data[] = {
-0x7a,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x0,0x28,0x28,
-};
-
-static const BitmapCharRec ch252 = {7,11,-1,0,9,ch252data};
-
-/* char: 0xfb */
-
-static const GLubyte ch251data[] = {
-0x7a,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x0,0x44,0x38,
-};
-
-static const BitmapCharRec ch251 = {7,11,-1,0,9,ch251data};
-
-/* char: 0xfa */
-
-static const GLubyte ch250data[] = {
-0x7a,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x0,0x30,0x8,
-};
-
-static const BitmapCharRec ch250 = {7,11,-1,0,9,ch250data};
-
-/* char: 0xf9 */
-
-static const GLubyte ch249data[] = {
-0x7a,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x0,0x18,0x20,
-};
-
-static const BitmapCharRec ch249 = {7,11,-1,0,9,ch249data};
-
-/* char: 0xf8 */
-
-static const GLubyte ch248data[] = {
-0x80,0x7c,0xa2,0xa2,0x92,0x8a,0x8a,0x7c,0x2,
-};
-
-static const BitmapCharRec ch248 = {7,9,-1,1,9,ch248data};
-
-/* char: 0xf7 */
-
-static const GLubyte ch247data[] = {
-0x10,0x38,0x10,0x0,0xfe,0x0,0x10,0x38,0x10,
-};
-
-static const BitmapCharRec ch247 = {7,9,-1,0,9,ch247data};
-
-/* char: 0xf6 */
-
-static const GLubyte ch246data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x0,0x28,0x28,
-};
-
-static const BitmapCharRec ch246 = {7,11,-1,0,9,ch246data};
-
-/* char: 0xf5 */
-
-static const GLubyte ch245data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch245 = {7,11,-1,0,9,ch245data};
-
-/* char: 0xf4 */
-
-static const GLubyte ch244data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x0,0x44,0x38,
-};
-
-static const BitmapCharRec ch244 = {7,11,-1,0,9,ch244data};
-
-/* char: 0xf3 */
-
-static const GLubyte ch243data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x0,0x30,0x8,
-};
-
-static const BitmapCharRec ch243 = {7,11,-1,0,9,ch243data};
-
-/* char: 0xf2 */
-
-static const GLubyte ch242data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x0,0x18,0x20,
-};
-
-static const BitmapCharRec ch242 = {7,11,-1,0,9,ch242data};
-
-/* char: 0xf1 */
-
-static const GLubyte ch241data[] = {
-0x82,0x82,0x82,0x82,0x82,0xc2,0xbc,0x0,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch241 = {7,11,-1,0,9,ch241data};
-
-/* char: 0xf0 */
-
-static const GLubyte ch240data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x8,0x50,0x30,0x48,
-};
-
-static const BitmapCharRec ch240 = {7,11,-1,0,9,ch240data};
-
-/* char: 0xef */
-
-static const GLubyte ch239data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0xe0,0x0,0x0,0x50,0x50,
-};
-
-static const BitmapCharRec ch239 = {5,11,-2,0,9,ch239data};
-
-/* char: 0xee */
-
-static const GLubyte ch238data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0xe0,0x0,0x0,0x90,0x60,
-};
-
-static const BitmapCharRec ch238 = {5,11,-2,0,9,ch238data};
-
-/* char: 0xed */
-
-static const GLubyte ch237data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0xe0,0x0,0x0,0x60,0x10,
-};
-
-static const BitmapCharRec ch237 = {5,11,-2,0,9,ch237data};
-
-/* char: 0xec */
-
-static const GLubyte ch236data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0xe0,0x0,0x0,0x30,0x40,
-};
-
-static const BitmapCharRec ch236 = {5,11,-2,0,9,ch236data};
-
-/* char: 0xeb */
-
-static const GLubyte ch235data[] = {
-0x7c,0x80,0x80,0xfe,0x82,0x82,0x7c,0x0,0x0,0x28,0x28,
-};
-
-static const BitmapCharRec ch235 = {7,11,-1,0,9,ch235data};
-
-/* char: 0xea */
-
-static const GLubyte ch234data[] = {
-0x7c,0x80,0x80,0xfe,0x82,0x82,0x7c,0x0,0x0,0x44,0x38,
-};
-
-static const BitmapCharRec ch234 = {7,11,-1,0,9,ch234data};
-
-/* char: 0xe9 */
-
-static const GLubyte ch233data[] = {
-0x7c,0x80,0x80,0xfe,0x82,0x82,0x7c,0x0,0x0,0x30,0x8,
-};
-
-static const BitmapCharRec ch233 = {7,11,-1,0,9,ch233data};
-
-/* char: 0xe8 */
-
-static const GLubyte ch232data[] = {
-0x7c,0x80,0x80,0xfe,0x82,0x82,0x7c,0x0,0x0,0x18,0x20,
-};
-
-static const BitmapCharRec ch232 = {7,11,-1,0,9,ch232data};
-
-/* char: 0xe7 */
-
-static const GLubyte ch231data[] = {
-0x30,0x48,0x18,0x7c,0x82,0x80,0x80,0x80,0x82,0x7c,
-};
-
-static const BitmapCharRec ch231 = {7,10,-1,3,9,ch231data};
-
-/* char: 0xe6 */
-
-static const GLubyte ch230data[] = {
-0x6e,0x92,0x90,0x7c,0x12,0x92,0x6c,
-};
-
-static const BitmapCharRec ch230 = {7,7,-1,0,9,ch230data};
-
-/* char: 0xe5 */
-
-static const GLubyte ch229data[] = {
-0x7a,0x86,0x82,0x7e,0x2,0x2,0x7c,0x0,0x18,0x24,0x18,
-};
-
-static const BitmapCharRec ch229 = {7,11,-1,0,9,ch229data};
-
-/* char: 0xe4 */
-
-static const GLubyte ch228data[] = {
-0x7a,0x86,0x82,0x7e,0x2,0x2,0x7c,0x0,0x0,0x28,0x28,
-};
-
-static const BitmapCharRec ch228 = {7,11,-1,0,9,ch228data};
-
-/* char: 0xe3 */
-
-static const GLubyte ch227data[] = {
-0x7a,0x86,0x82,0x7e,0x2,0x2,0x7c,0x0,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch227 = {7,11,-1,0,9,ch227data};
-
-/* char: 0xe2 */
-
-static const GLubyte ch226data[] = {
-0x7a,0x86,0x82,0x7e,0x2,0x2,0x7c,0x0,0x0,0x44,0x38,
-};
-
-static const BitmapCharRec ch226 = {7,11,-1,0,9,ch226data};
-
-/* char: 0xe1 */
-
-static const GLubyte ch225data[] = {
-0x7a,0x86,0x82,0x7e,0x2,0x2,0x7c,0x0,0x0,0x30,0x8,
-};
-
-static const BitmapCharRec ch225 = {7,11,-1,0,9,ch225data};
-
-/* char: 0xe0 */
-
-static const GLubyte ch224data[] = {
-0x7a,0x86,0x82,0x7e,0x2,0x2,0x7c,0x0,0x0,0x18,0x20,
-};
-
-static const BitmapCharRec ch224 = {7,11,-1,0,9,ch224data};
-
-/* char: 0xdf */
-
-static const GLubyte ch223data[] = {
-0x80,0xbc,0xc2,0x82,0x82,0xfc,0x82,0x82,0x7c,
-};
-
-static const BitmapCharRec ch223 = {7,9,-1,1,9,ch223data};
-
-/* char: 0xde */
-
-static const GLubyte ch222data[] = {
-0x80,0x80,0x80,0xfc,0x82,0x82,0x82,0xfc,0x80,0x80,
-};
-
-static const BitmapCharRec ch222 = {7,10,-1,0,9,ch222data};
-
-/* char: 0xdd */
-
-static const GLubyte ch221data[] = {
-0x10,0x10,0x10,0x10,0x28,0x44,0x82,0x82,0x0,0x30,0x8,
-};
-
-static const BitmapCharRec ch221 = {7,11,-1,0,9,ch221data};
-
-/* char: 0xdc */
-
-static const GLubyte ch220data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x0,0x28,0x28,
-};
-
-static const BitmapCharRec ch220 = {7,11,-1,0,9,ch220data};
-
-/* char: 0xdb */
-
-static const GLubyte ch219data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x0,0x44,0x38,
-};
-
-static const BitmapCharRec ch219 = {7,11,-1,0,9,ch219data};
-
-/* char: 0xda */
-
-static const GLubyte ch218data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x0,0x30,0x8,
-};
-
-static const BitmapCharRec ch218 = {7,11,-1,0,9,ch218data};
-
-/* char: 0xd9 */
-
-static const GLubyte ch217data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x0,0x18,0x20,
-};
-
-static const BitmapCharRec ch217 = {7,11,-1,0,9,ch217data};
-
-/* char: 0xd8 */
-
-static const GLubyte ch216data[] = {
-0x80,0x7c,0xc2,0xa2,0xa2,0x92,0x92,0x8a,0x8a,0x86,0x7c,0x2,
-};
-
-static const BitmapCharRec ch216 = {7,12,-1,1,9,ch216data};
-
-/* char: 0xd7 */
-
-static const GLubyte ch215data[] = {
-0x82,0x44,0x28,0x10,0x28,0x44,0x82,
-};
-
-static const BitmapCharRec ch215 = {7,7,-1,-1,9,ch215data};
-
-/* char: 0xd6 */
-
-static const GLubyte ch214data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x28,0x28,
-};
-
-static const BitmapCharRec ch214 = {7,11,-1,0,9,ch214data};
-
-/* char: 0xd5 */
-
-static const GLubyte ch213data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch213 = {7,11,-1,0,9,ch213data};
-
-/* char: 0xd4 */
-
-static const GLubyte ch212data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x44,0x38,
-};
-
-static const BitmapCharRec ch212 = {7,11,-1,0,9,ch212data};
-
-/* char: 0xd3 */
-
-static const GLubyte ch211data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x30,0x8,
-};
-
-static const BitmapCharRec ch211 = {7,11,-1,0,9,ch211data};
-
-/* char: 0xd2 */
-
-static const GLubyte ch210data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x18,0x20,
-};
-
-static const BitmapCharRec ch210 = {7,11,-1,0,9,ch210data};
-
-/* char: 0xd1 */
-
-static const GLubyte ch209data[] = {
-0x82,0x86,0x8a,0x92,0x92,0xa2,0xc2,0x82,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch209 = {7,11,-1,0,9,ch209data};
-
-/* char: 0xd0 */
-
-static const GLubyte ch208data[] = {
-0xfc,0x42,0x42,0x42,0x42,0xf2,0x42,0x42,0x42,0xfc,
-};
-
-static const BitmapCharRec ch208 = {7,10,-1,0,9,ch208data};
-
-/* char: 0xcf */
-
-static const GLubyte ch207data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0xf8,0x0,0x50,0x50,
-};
-
-static const BitmapCharRec ch207 = {5,11,-2,0,9,ch207data};
-
-/* char: 0xce */
-
-static const GLubyte ch206data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0xf8,0x0,0x88,0x70,
-};
-
-static const BitmapCharRec ch206 = {5,11,-2,0,9,ch206data};
-
-/* char: 0xcd */
-
-static const GLubyte ch205data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0xf8,0x0,0x60,0x10,
-};
-
-static const BitmapCharRec ch205 = {5,11,-2,0,9,ch205data};
-
-/* char: 0xcc */
-
-static const GLubyte ch204data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0xf8,0x0,0x30,0x40,
-};
-
-static const BitmapCharRec ch204 = {5,11,-2,0,9,ch204data};
-
-/* char: 0xcb */
-
-static const GLubyte ch203data[] = {
-0xfe,0x40,0x40,0x40,0x78,0x40,0x40,0xfe,0x0,0x28,0x28,
-};
-
-static const BitmapCharRec ch203 = {7,11,-1,0,9,ch203data};
-
-/* char: 0xca */
-
-static const GLubyte ch202data[] = {
-0xfe,0x40,0x40,0x40,0x78,0x40,0x40,0xfe,0x0,0x44,0x38,
-};
-
-static const BitmapCharRec ch202 = {7,11,-1,0,9,ch202data};
-
-/* char: 0xc9 */
-
-static const GLubyte ch201data[] = {
-0xfe,0x40,0x40,0x40,0x78,0x40,0x40,0xfe,0x0,0x30,0x8,
-};
-
-static const BitmapCharRec ch201 = {7,11,-1,0,9,ch201data};
-
-/* char: 0xc8 */
-
-static const GLubyte ch200data[] = {
-0xfe,0x40,0x40,0x40,0x78,0x40,0x40,0xfe,0x0,0x18,0x20,
-};
-
-static const BitmapCharRec ch200 = {7,11,-1,0,9,ch200data};
-
-/* char: 0xc7 */
-
-static const GLubyte ch199data[] = {
-0x30,0x48,0x18,0x7c,0x82,0x80,0x80,0x80,0x80,0x80,0x80,0x82,0x7c,
-};
-
-static const BitmapCharRec ch199 = {7,13,-1,3,9,ch199data};
-
-/* char: 0xc6 */
-
-static const GLubyte ch198data[] = {
-0x9e,0x90,0x90,0x90,0xfc,0x90,0x90,0x90,0x90,0x6e,
-};
-
-static const BitmapCharRec ch198 = {7,10,-1,0,9,ch198data};
-
-/* char: 0xc5 */
-
-static const GLubyte ch197data[] = {
-0x82,0x82,0x82,0xfe,0x82,0x82,0x44,0x38,0x10,0x28,0x10,
-};
-
-static const BitmapCharRec ch197 = {7,11,-1,0,9,ch197data};
-
-/* char: 0xc4 */
-
-static const GLubyte ch196data[] = {
-0x82,0x82,0x82,0xfe,0x82,0x82,0x44,0x38,0x0,0x28,0x28,
-};
-
-static const BitmapCharRec ch196 = {7,11,-1,0,9,ch196data};
-
-/* char: 0xc3 */
-
-static const GLubyte ch195data[] = {
-0x82,0x82,0x82,0xfe,0x82,0x82,0x44,0x38,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch195 = {7,11,-1,0,9,ch195data};
-
-/* char: 0xc2 */
-
-static const GLubyte ch194data[] = {
-0x82,0x82,0x82,0xfe,0x82,0x82,0x44,0x38,0x0,0x44,0x38,
-};
-
-static const BitmapCharRec ch194 = {7,11,-1,0,9,ch194data};
-
-/* char: 0xc1 */
-
-static const GLubyte ch193data[] = {
-0x82,0x82,0x82,0xfe,0x82,0x82,0x44,0x38,0x0,0x30,0x8,
-};
-
-static const BitmapCharRec ch193 = {7,11,-1,0,9,ch193data};
-
-/* char: 0xc0 */
-
-static const GLubyte ch192data[] = {
-0x82,0x82,0x82,0xfe,0x82,0x82,0x44,0x38,0x0,0x18,0x20,
-};
-
-static const BitmapCharRec ch192 = {7,11,-1,0,9,ch192data};
-
-/* char: 0xbf */
-
-static const GLubyte ch191data[] = {
-0x7c,0x82,0x82,0x80,0x40,0x20,0x10,0x10,0x0,0x10,
-};
-
-static const BitmapCharRec ch191 = {7,10,-1,0,9,ch191data};
-
-/* char: 0xbe */
-
-static const GLubyte ch190data[] = {
-0x6,0x1a,0x12,0xa,0x66,0x92,0x10,0x20,0x90,0x60,
-};
-
-static const BitmapCharRec ch190 = {7,10,-1,0,9,ch190data};
-
-/* char: 0xbd */
-
-static const GLubyte ch189data[] = {
-0x1e,0x10,0xc,0x2,0xf2,0x4c,0x40,0x40,0xc0,0x40,
-};
-
-static const BitmapCharRec ch189 = {7,10,-1,0,9,ch189data};
-
-/* char: 0xbc */
-
-static const GLubyte ch188data[] = {
-0x6,0x1a,0x12,0xa,0xe6,0x42,0x40,0x40,0xc0,0x40,
-};
-
-static const BitmapCharRec ch188 = {7,10,-1,0,9,ch188data};
-
-/* char: 0xbb */
-
-static const GLubyte ch187data[] = {
-0x90,0x48,0x24,0x12,0x12,0x24,0x48,0x90,
-};
-
-static const BitmapCharRec ch187 = {7,8,-1,-1,9,ch187data};
-
-/* char: 0xba */
-
-static const GLubyte ch186data[] = {
-0xf8,0x0,0x70,0x88,0x88,0x70,
-};
-
-static const BitmapCharRec ch186 = {5,6,-1,-5,9,ch186data};
-
-/* char: 0xb9 */
-
-static const GLubyte ch185data[] = {
-0xe0,0x40,0x40,0x40,0xc0,0x40,
-};
-
-static const BitmapCharRec ch185 = {3,6,-1,-4,9,ch185data};
-
-/* char: 0xb8 */
-
-static const GLubyte ch184data[] = {
-0x60,0x90,0x30,
-};
-
-static const BitmapCharRec ch184 = {4,3,-2,3,9,ch184data};
-
-/* char: 0xb7 */
-
-static const GLubyte ch183data[] = {
-0xc0,0xc0,
-};
-
-static const BitmapCharRec ch183 = {2,2,-4,-4,9,ch183data};
-
-/* char: 0xb6 */
-
-static const GLubyte ch182data[] = {
-0xa,0xa,0xa,0xa,0xa,0x7a,0x8a,0x8a,0x8a,0x7e,
-};
-
-static const BitmapCharRec ch182 = {7,10,-1,0,9,ch182data};
-
-/* char: 0xb5 */
-
-static const GLubyte ch181data[] = {
-0x80,0x80,0xba,0xc6,0x82,0x82,0x82,0x82,0x82,
-};
-
-static const BitmapCharRec ch181 = {7,9,-1,2,9,ch181data};
-
-/* char: 0xb4 */
-
-static const GLubyte ch180data[] = {
-0xc0,0x20,
-};
-
-static const BitmapCharRec ch180 = {3,2,-3,-9,9,ch180data};
-
-/* char: 0xb3 */
-
-static const GLubyte ch179data[] = {
-0x60,0x90,0x10,0x20,0x90,0x60,
-};
-
-static const BitmapCharRec ch179 = {4,6,-1,-4,9,ch179data};
-
-/* char: 0xb2 */
-
-static const GLubyte ch178data[] = {
-0xf0,0x80,0x60,0x10,0x90,0x60,
-};
-
-static const BitmapCharRec ch178 = {4,6,-1,-4,9,ch178data};
-
-/* char: 0xb1 */
-
-static const GLubyte ch177data[] = {
-0xfe,0x0,0x10,0x10,0x10,0xfe,0x10,0x10,0x10,
-};
-
-static const BitmapCharRec ch177 = {7,9,-1,-1,9,ch177data};
-
-/* char: 0xb0 */
-
-static const GLubyte ch176data[] = {
-0x60,0x90,0x90,0x60,
-};
-
-static const BitmapCharRec ch176 = {4,4,-3,-6,9,ch176data};
-
-/* char: 0xaf */
-
-static const GLubyte ch175data[] = {
-0xfc,
-};
-
-static const BitmapCharRec ch175 = {6,1,-1,-9,9,ch175data};
-
-/* char: 0xae */
-
-static const GLubyte ch174data[] = {
-0x3c,0x42,0xa5,0xa9,0xbd,0xa5,0xb9,0x42,0x3c,
-};
-
-static const BitmapCharRec ch174 = {8,9,0,-1,9,ch174data};
-
-/* char: 0xad */
-
-static const GLubyte ch173data[] = {
-0xfc,
-};
-
-static const BitmapCharRec ch173 = {6,1,-1,-4,9,ch173data};
-
-/* char: 0xac */
-
-static const GLubyte ch172data[] = {
-0x4,0x4,0x4,0xfc,
-};
-
-static const BitmapCharRec ch172 = {6,4,-1,-2,9,ch172data};
-
-/* char: 0xab */
-
-static const GLubyte ch171data[] = {
-0x12,0x24,0x48,0x90,0x90,0x48,0x24,0x12,
-};
-
-static const BitmapCharRec ch171 = {7,8,-1,-1,9,ch171data};
-
-/* char: 0xaa */
-
-static const GLubyte ch170data[] = {
-0xf8,0x0,0x78,0x90,0x70,0x90,0x60,
-};
-
-static const BitmapCharRec ch170 = {5,7,-3,-3,9,ch170data};
-
-/* char: 0xa9 */
-
-static const GLubyte ch169data[] = {
-0x3c,0x42,0x99,0xa5,0xa1,0xa5,0x99,0x42,0x3c,
-};
-
-static const BitmapCharRec ch169 = {8,9,0,-1,9,ch169data};
-
-/* char: 0xa8 */
-
-static const GLubyte ch168data[] = {
-0xa0,0xa0,
-};
-
-static const BitmapCharRec ch168 = {3,2,-3,-9,9,ch168data};
-
-/* char: 0xa7 */
-
-static const GLubyte ch167data[] = {
-0x70,0x88,0x8,0x70,0x88,0x88,0x88,0x70,0x80,0x88,0x70,
-};
-
-static const BitmapCharRec ch167 = {5,11,-2,1,9,ch167data};
-
-/* char: 0xa6 */
-
-static const GLubyte ch166data[] = {
-0x80,0x80,0x80,0x80,0x80,0x0,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch166 = {1,11,-4,1,9,ch166data};
-
-/* char: 0xa5 */
-
-static const GLubyte ch165data[] = {
-0x10,0x10,0x10,0x7c,0x10,0x7c,0x28,0x44,0x82,0x82,
-};
-
-static const BitmapCharRec ch165 = {7,10,-1,0,9,ch165data};
-
-/* char: 0xa4 */
-
-static const GLubyte ch164data[] = {
-0x82,0x7c,0x44,0x44,0x7c,0x82,
-};
-
-static const BitmapCharRec ch164 = {7,6,-1,-3,9,ch164data};
-
-/* char: 0xa3 */
-
-static const GLubyte ch163data[] = {
-0x5c,0xa2,0x60,0x20,0x20,0xf8,0x20,0x20,0x22,0x1c,
-};
-
-static const BitmapCharRec ch163 = {7,10,-1,0,9,ch163data};
-
-/* char: 0xa2 */
-
-static const GLubyte ch162data[] = {
-0x40,0x78,0xa4,0xa0,0x90,0x94,0x78,0x8,
-};
-
-static const BitmapCharRec ch162 = {6,8,-1,0,9,ch162data};
-
-/* char: 0xa1 */
-
-static const GLubyte ch161data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x0,0x80,0x80,
-};
-
-static const BitmapCharRec ch161 = {1,11,-4,0,9,ch161data};
-
-/* char: 0x7e '~' */
-
-static const GLubyte ch126data[] = {
-0x8c,0x92,0x62,
-};
-
-static const BitmapCharRec ch126 = {7,3,-1,-7,9,ch126data};
-
-/* char: 0x7d '}' */
-
-static const GLubyte ch125data[] = {
-0xe0,0x10,0x10,0x10,0x20,0x18,0x18,0x20,0x10,0x10,0x10,0xe0,
-};
-
-static const BitmapCharRec ch125 = {5,12,-1,1,9,ch125data};
-
-/* char: 0x7c '|' */
-
-static const GLubyte ch124data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch124 = {1,12,-4,1,9,ch124data};
-
-/* char: 0x7b '{' */
-
-static const GLubyte ch123data[] = {
-0x38,0x40,0x40,0x40,0x20,0xc0,0xc0,0x20,0x40,0x40,0x40,0x38,
-};
-
-static const BitmapCharRec ch123 = {5,12,-3,1,9,ch123data};
-
-/* char: 0x7a 'z' */
-
-static const GLubyte ch122data[] = {
-0xfe,0x40,0x20,0x10,0x8,0x4,0xfe,
-};
-
-static const BitmapCharRec ch122 = {7,7,-1,0,9,ch122data};
-
-/* char: 0x79 'y' */
-
-static const GLubyte ch121data[] = {
-0x78,0x84,0x4,0x74,0x8c,0x84,0x84,0x84,0x84,0x84,
-};
-
-static const BitmapCharRec ch121 = {6,10,-1,3,9,ch121data};
-
-/* char: 0x78 'x' */
-
-static const GLubyte ch120data[] = {
-0x82,0x44,0x28,0x10,0x28,0x44,0x82,
-};
-
-static const BitmapCharRec ch120 = {7,7,-1,0,9,ch120data};
-
-/* char: 0x77 'w' */
-
-static const GLubyte ch119data[] = {
-0x44,0xaa,0x92,0x92,0x92,0x82,0x82,
-};
-
-static const BitmapCharRec ch119 = {7,7,-1,0,9,ch119data};
-
-/* char: 0x76 'v' */
-
-static const GLubyte ch118data[] = {
-0x10,0x28,0x28,0x44,0x44,0x82,0x82,
-};
-
-static const BitmapCharRec ch118 = {7,7,-1,0,9,ch118data};
-
-/* char: 0x75 'u' */
-
-static const GLubyte ch117data[] = {
-0x7a,0x84,0x84,0x84,0x84,0x84,0x84,
-};
-
-static const BitmapCharRec ch117 = {7,7,-1,0,9,ch117data};
-
-/* char: 0x74 't' */
-
-static const GLubyte ch116data[] = {
-0x1c,0x22,0x20,0x20,0x20,0x20,0xfc,0x20,0x20,
-};
-
-static const BitmapCharRec ch116 = {7,9,-1,0,9,ch116data};
-
-/* char: 0x73 's' */
-
-static const GLubyte ch115data[] = {
-0x7c,0x82,0x2,0x7c,0x80,0x82,0x7c,
-};
-
-static const BitmapCharRec ch115 = {7,7,-1,0,9,ch115data};
-
-/* char: 0x72 'r' */
-
-static const GLubyte ch114data[] = {
-0x40,0x40,0x40,0x40,0x42,0x62,0x9c,
-};
-
-static const BitmapCharRec ch114 = {7,7,-1,0,9,ch114data};
-
-/* char: 0x71 'q' */
-
-static const GLubyte ch113data[] = {
-0x2,0x2,0x2,0x7a,0x86,0x82,0x82,0x82,0x86,0x7a,
-};
-
-static const BitmapCharRec ch113 = {7,10,-1,3,9,ch113data};
-
-/* char: 0x70 'p' */
-
-static const GLubyte ch112data[] = {
-0x80,0x80,0x80,0xbc,0xc2,0x82,0x82,0x82,0xc2,0xbc,
-};
-
-static const BitmapCharRec ch112 = {7,10,-1,3,9,ch112data};
-
-/* char: 0x6f 'o' */
-
-static const GLubyte ch111data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,
-};
-
-static const BitmapCharRec ch111 = {7,7,-1,0,9,ch111data};
-
-/* char: 0x6e 'n' */
-
-static const GLubyte ch110data[] = {
-0x82,0x82,0x82,0x82,0x82,0xc2,0xbc,
-};
-
-static const BitmapCharRec ch110 = {7,7,-1,0,9,ch110data};
-
-/* char: 0x6d 'm' */
-
-static const GLubyte ch109data[] = {
-0x82,0x92,0x92,0x92,0x92,0x92,0xec,
-};
-
-static const BitmapCharRec ch109 = {7,7,-1,0,9,ch109data};
-
-/* char: 0x6c 'l' */
-
-static const GLubyte ch108data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xe0,
-};
-
-static const BitmapCharRec ch108 = {5,10,-2,0,9,ch108data};
-
-/* char: 0x6b 'k' */
-
-static const GLubyte ch107data[] = {
-0x82,0x8c,0xb0,0xc0,0xb0,0x8c,0x82,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch107 = {7,10,-1,0,9,ch107data};
-
-/* char: 0x6a 'j' */
-
-static const GLubyte ch106data[] = {
-0x78,0x84,0x84,0x84,0x4,0x4,0x4,0x4,0x4,0x1c,0x0,0x0,0xc,
-};
-
-static const BitmapCharRec ch106 = {6,13,-1,3,9,ch106data};
-
-/* char: 0x69 'i' */
-
-static const GLubyte ch105data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0xe0,0x0,0x0,0x60,
-};
-
-static const BitmapCharRec ch105 = {5,10,-2,0,9,ch105data};
-
-/* char: 0x68 'h' */
-
-static const GLubyte ch104data[] = {
-0x82,0x82,0x82,0x82,0x82,0xc2,0xbc,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch104 = {7,10,-1,0,9,ch104data};
-
-/* char: 0x67 'g' */
-
-static const GLubyte ch103data[] = {
-0x7c,0x82,0x82,0x7c,0x80,0x78,0x84,0x84,0x84,0x7a,
-};
-
-static const BitmapCharRec ch103 = {7,10,-1,3,9,ch103data};
-
-/* char: 0x66 'f' */
-
-static const GLubyte ch102data[] = {
-0x20,0x20,0x20,0x20,0xf8,0x20,0x20,0x22,0x22,0x1c,
-};
-
-static const BitmapCharRec ch102 = {7,10,-1,0,9,ch102data};
-
-/* char: 0x65 'e' */
-
-static const GLubyte ch101data[] = {
-0x7c,0x80,0x80,0xfe,0x82,0x82,0x7c,
-};
-
-static const BitmapCharRec ch101 = {7,7,-1,0,9,ch101data};
-
-/* char: 0x64 'd' */
-
-static const GLubyte ch100data[] = {
-0x7a,0x86,0x82,0x82,0x82,0x86,0x7a,0x2,0x2,0x2,
-};
-
-static const BitmapCharRec ch100 = {7,10,-1,0,9,ch100data};
-
-/* char: 0x63 'c' */
-
-static const GLubyte ch99data[] = {
-0x7c,0x82,0x80,0x80,0x80,0x82,0x7c,
-};
-
-static const BitmapCharRec ch99 = {7,7,-1,0,9,ch99data};
-
-/* char: 0x62 'b' */
-
-static const GLubyte ch98data[] = {
-0xbc,0xc2,0x82,0x82,0x82,0xc2,0xbc,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch98 = {7,10,-1,0,9,ch98data};
-
-/* char: 0x61 'a' */
-
-static const GLubyte ch97data[] = {
-0x7a,0x86,0x82,0x7e,0x2,0x2,0x7c,
-};
-
-static const BitmapCharRec ch97 = {7,7,-1,0,9,ch97data};
-
-/* char: 0x60 '`' */
-
-static const GLubyte ch96data[] = {
-0x10,0x20,0x40,0xc0,
-};
-
-static const BitmapCharRec ch96 = {4,4,-3,-6,9,ch96data};
-
-/* char: 0x5f '_' */
-
-static const GLubyte ch95data[] = {
-0xff,
-};
-
-static const BitmapCharRec ch95 = {8,1,0,1,9,ch95data};
-
-/* char: 0x5e '^' */
-
-static const GLubyte ch94data[] = {
-0x82,0x44,0x28,0x10,
-};
-
-static const BitmapCharRec ch94 = {7,4,-1,-6,9,ch94data};
-
-/* char: 0x5d ']' */
-
-static const GLubyte ch93data[] = {
-0xf0,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0xf0,
-};
-
-static const BitmapCharRec ch93 = {4,12,-2,1,9,ch93data};
-
-/* char: 0x5c '\' */
-
-static const GLubyte ch92data[] = {
-0x2,0x4,0x4,0x8,0x10,0x10,0x20,0x40,0x40,0x80,
-};
-
-static const BitmapCharRec ch92 = {7,10,-1,0,9,ch92data};
-
-/* char: 0x5b '[' */
-
-static const GLubyte ch91data[] = {
-0xf0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xf0,
-};
-
-static const BitmapCharRec ch91 = {4,12,-3,1,9,ch91data};
-
-/* char: 0x5a 'Z' */
-
-static const GLubyte ch90data[] = {
-0xfe,0x80,0x80,0x40,0x20,0x10,0x8,0x4,0x2,0xfe,
-};
-
-static const BitmapCharRec ch90 = {7,10,-1,0,9,ch90data};
-
-/* char: 0x59 'Y' */
-
-static const GLubyte ch89data[] = {
-0x10,0x10,0x10,0x10,0x10,0x10,0x28,0x44,0x82,0x82,
-};
-
-static const BitmapCharRec ch89 = {7,10,-1,0,9,ch89data};
-
-/* char: 0x58 'X' */
-
-static const GLubyte ch88data[] = {
-0x82,0x82,0x44,0x28,0x10,0x10,0x28,0x44,0x82,0x82,
-};
-
-static const BitmapCharRec ch88 = {7,10,-1,0,9,ch88data};
-
-/* char: 0x57 'W' */
-
-static const GLubyte ch87data[] = {
-0x44,0xaa,0x92,0x92,0x92,0x92,0x82,0x82,0x82,0x82,
-};
-
-static const BitmapCharRec ch87 = {7,10,-1,0,9,ch87data};
-
-/* char: 0x56 'V' */
-
-static const GLubyte ch86data[] = {
-0x10,0x28,0x28,0x28,0x44,0x44,0x44,0x82,0x82,0x82,
-};
-
-static const BitmapCharRec ch86 = {7,10,-1,0,9,ch86data};
-
-/* char: 0x55 'U' */
-
-static const GLubyte ch85data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,
-};
-
-static const BitmapCharRec ch85 = {7,10,-1,0,9,ch85data};
-
-/* char: 0x54 'T' */
-
-static const GLubyte ch84data[] = {
-0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0xfe,
-};
-
-static const BitmapCharRec ch84 = {7,10,-1,0,9,ch84data};
-
-/* char: 0x53 'S' */
-
-static const GLubyte ch83data[] = {
-0x7c,0x82,0x82,0x2,0xc,0x70,0x80,0x82,0x82,0x7c,
-};
-
-static const BitmapCharRec ch83 = {7,10,-1,0,9,ch83data};
-
-/* char: 0x52 'R' */
-
-static const GLubyte ch82data[] = {
-0x82,0x82,0x84,0x88,0x90,0xfc,0x82,0x82,0x82,0xfc,
-};
-
-static const BitmapCharRec ch82 = {7,10,-1,0,9,ch82data};
-
-/* char: 0x51 'Q' */
-
-static const GLubyte ch81data[] = {
-0x6,0x8,0x7c,0x92,0xa2,0x82,0x82,0x82,0x82,0x82,0x82,0x7c,
-};
-
-static const BitmapCharRec ch81 = {7,12,-1,2,9,ch81data};
-
-/* char: 0x50 'P' */
-
-static const GLubyte ch80data[] = {
-0x80,0x80,0x80,0x80,0x80,0xfc,0x82,0x82,0x82,0xfc,
-};
-
-static const BitmapCharRec ch80 = {7,10,-1,0,9,ch80data};
-
-/* char: 0x4f 'O' */
-
-static const GLubyte ch79data[] = {
-0x7c,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x7c,
-};
-
-static const BitmapCharRec ch79 = {7,10,-1,0,9,ch79data};
-
-/* char: 0x4e 'N' */
-
-static const GLubyte ch78data[] = {
-0x82,0x82,0x82,0x86,0x8a,0x92,0xa2,0xc2,0x82,0x82,
-};
-
-static const BitmapCharRec ch78 = {7,10,-1,0,9,ch78data};
-
-/* char: 0x4d 'M' */
-
-static const GLubyte ch77data[] = {
-0x82,0x82,0x82,0x92,0x92,0xaa,0xaa,0xc6,0x82,0x82,
-};
-
-static const BitmapCharRec ch77 = {7,10,-1,0,9,ch77data};
-
-/* char: 0x4c 'L' */
-
-static const GLubyte ch76data[] = {
-0xfe,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch76 = {7,10,-1,0,9,ch76data};
-
-/* char: 0x4b 'K' */
-
-static const GLubyte ch75data[] = {
-0x82,0x84,0x88,0x90,0xa0,0xe0,0x90,0x88,0x84,0x82,
-};
-
-static const BitmapCharRec ch75 = {7,10,-1,0,9,ch75data};
-
-/* char: 0x4a 'J' */
-
-static const GLubyte ch74data[] = {
-0x78,0x84,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x1e,
-};
-
-static const BitmapCharRec ch74 = {7,10,-1,0,9,ch74data};
-
-/* char: 0x49 'I' */
-
-static const GLubyte ch73data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xf8,
-};
-
-static const BitmapCharRec ch73 = {5,10,-2,0,9,ch73data};
-
-/* char: 0x48 'H' */
-
-static const GLubyte ch72data[] = {
-0x82,0x82,0x82,0x82,0x82,0xfe,0x82,0x82,0x82,0x82,
-};
-
-static const BitmapCharRec ch72 = {7,10,-1,0,9,ch72data};
-
-/* char: 0x47 'G' */
-
-static const GLubyte ch71data[] = {
-0x7c,0x82,0x82,0x82,0x8e,0x80,0x80,0x80,0x82,0x7c,
-};
-
-static const BitmapCharRec ch71 = {7,10,-1,0,9,ch71data};
-
-/* char: 0x46 'F' */
-
-static const GLubyte ch70data[] = {
-0x40,0x40,0x40,0x40,0x40,0x78,0x40,0x40,0x40,0xfe,
-};
-
-static const BitmapCharRec ch70 = {7,10,-1,0,9,ch70data};
-
-/* char: 0x45 'E' */
-
-static const GLubyte ch69data[] = {
-0xfe,0x40,0x40,0x40,0x40,0x78,0x40,0x40,0x40,0xfe,
-};
-
-static const BitmapCharRec ch69 = {7,10,-1,0,9,ch69data};
-
-/* char: 0x44 'D' */
-
-static const GLubyte ch68data[] = {
-0xfc,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0xfc,
-};
-
-static const BitmapCharRec ch68 = {7,10,-1,0,9,ch68data};
-
-/* char: 0x43 'C' */
-
-static const GLubyte ch67data[] = {
-0x7c,0x82,0x80,0x80,0x80,0x80,0x80,0x80,0x82,0x7c,
-};
-
-static const BitmapCharRec ch67 = {7,10,-1,0,9,ch67data};
-
-/* char: 0x42 'B' */
-
-static const GLubyte ch66data[] = {
-0xfc,0x42,0x42,0x42,0x42,0x7c,0x42,0x42,0x42,0xfc,
-};
-
-static const BitmapCharRec ch66 = {7,10,-1,0,9,ch66data};
-
-/* char: 0x41 'A' */
-
-static const GLubyte ch65data[] = {
-0x82,0x82,0x82,0xfe,0x82,0x82,0x82,0x44,0x28,0x10,
-};
-
-static const BitmapCharRec ch65 = {7,10,-1,0,9,ch65data};
-
-/* char: 0x40 '@' */
-
-static const GLubyte ch64data[] = {
-0x7c,0x80,0x80,0x9a,0xa6,0xa2,0x9e,0x82,0x82,0x7c,
-};
-
-static const BitmapCharRec ch64 = {7,10,-1,0,9,ch64data};
-
-/* char: 0x3f '?' */
-
-static const GLubyte ch63data[] = {
-0x10,0x0,0x10,0x10,0x8,0x4,0x2,0x82,0x82,0x7c,
-};
-
-static const BitmapCharRec ch63 = {7,10,-1,0,9,ch63data};
-
-/* char: 0x3e '>' */
-
-static const GLubyte ch62data[] = {
-0x80,0x40,0x20,0x10,0x8,0x8,0x10,0x20,0x40,0x80,
-};
-
-static const BitmapCharRec ch62 = {5,10,-2,0,9,ch62data};
-
-/* char: 0x3d '=' */
-
-static const GLubyte ch61data[] = {
-0xfe,0x0,0x0,0xfe,
-};
-
-static const BitmapCharRec ch61 = {7,4,-1,-2,9,ch61data};
-
-/* char: 0x3c '<' */
-
-static const GLubyte ch60data[] = {
-0x8,0x10,0x20,0x40,0x80,0x80,0x40,0x20,0x10,0x8,
-};
-
-static const BitmapCharRec ch60 = {5,10,-2,0,9,ch60data};
-
-/* char: 0x3b ';' */
-
-static const GLubyte ch59data[] = {
-0x80,0x40,0x40,0xc0,0xc0,0x0,0x0,0x0,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch59 = {2,10,-4,3,9,ch59data};
-
-/* char: 0x3a ':' */
-
-static const GLubyte ch58data[] = {
-0xc0,0xc0,0x0,0x0,0x0,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch58 = {2,7,-4,0,9,ch58data};
-
-/* char: 0x39 '9' */
-
-static const GLubyte ch57data[] = {
-0x78,0x4,0x2,0x2,0x7a,0x86,0x82,0x82,0x82,0x7c,
-};
-
-static const BitmapCharRec ch57 = {7,10,-1,0,9,ch57data};
-
-/* char: 0x38 '8' */
-
-static const GLubyte ch56data[] = {
-0x38,0x44,0x82,0x82,0x44,0x38,0x44,0x82,0x44,0x38,
-};
-
-static const BitmapCharRec ch56 = {7,10,-1,0,9,ch56data};
-
-/* char: 0x37 '7' */
-
-static const GLubyte ch55data[] = {
-0x40,0x40,0x20,0x20,0x10,0x8,0x4,0x2,0x2,0xfe,
-};
-
-static const BitmapCharRec ch55 = {7,10,-1,0,9,ch55data};
-
-/* char: 0x36 '6' */
-
-static const GLubyte ch54data[] = {
-0x7c,0x82,0x82,0x82,0xc2,0xbc,0x80,0x80,0x40,0x3c,
-};
-
-static const BitmapCharRec ch54 = {7,10,-1,0,9,ch54data};
-
-/* char: 0x35 '5' */
-
-static const GLubyte ch53data[] = {
-0x7c,0x82,0x2,0x2,0x2,0xc2,0xbc,0x80,0x80,0xfe,
-};
-
-static const BitmapCharRec ch53 = {7,10,-1,0,9,ch53data};
-
-/* char: 0x34 '4' */
-
-static const GLubyte ch52data[] = {
-0x4,0x4,0x4,0xfe,0x84,0x44,0x24,0x14,0xc,0x4,
-};
-
-static const BitmapCharRec ch52 = {7,10,-1,0,9,ch52data};
-
-/* char: 0x33 '3' */
-
-static const GLubyte ch51data[] = {
-0x7c,0x82,0x2,0x2,0x2,0x1c,0x8,0x4,0x2,0xfe,
-};
-
-static const BitmapCharRec ch51 = {7,10,-1,0,9,ch51data};
-
-/* char: 0x32 '2' */
-
-static const GLubyte ch50data[] = {
-0xfe,0x80,0x40,0x30,0x8,0x4,0x2,0x82,0x82,0x7c,
-};
-
-static const BitmapCharRec ch50 = {7,10,-1,0,9,ch50data};
-
-/* char: 0x31 '1' */
-
-static const GLubyte ch49data[] = {
-0xfe,0x10,0x10,0x10,0x10,0x10,0x90,0x50,0x30,0x10,
-};
-
-static const BitmapCharRec ch49 = {7,10,-1,0,9,ch49data};
-
-/* char: 0x30 '0' */
-
-static const GLubyte ch48data[] = {
-0x38,0x44,0x82,0x82,0x82,0x82,0x82,0x82,0x44,0x38,
-};
-
-static const BitmapCharRec ch48 = {7,10,-1,0,9,ch48data};
-
-/* char: 0x2f '/' */
-
-static const GLubyte ch47data[] = {
-0x80,0x40,0x40,0x20,0x10,0x10,0x8,0x4,0x4,0x2,
-};
-
-static const BitmapCharRec ch47 = {7,10,-1,0,9,ch47data};
-
-/* char: 0x2e '.' */
-
-static const GLubyte ch46data[] = {
-0xc0,0xc0,
-};
-
-static const BitmapCharRec ch46 = {2,2,-4,0,9,ch46data};
-
-/* char: 0x2d '-' */
-
-static const GLubyte ch45data[] = {
-0xfe,
-};
-
-static const BitmapCharRec ch45 = {7,1,-1,-4,9,ch45data};
-
-/* char: 0x2c ',' */
-
-static const GLubyte ch44data[] = {
-0x80,0x40,0x40,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch44 = {2,5,-4,3,9,ch44data};
-
-/* char: 0x2b '+' */
-
-static const GLubyte ch43data[] = {
-0x10,0x10,0x10,0xfe,0x10,0x10,0x10,
-};
-
-static const BitmapCharRec ch43 = {7,7,-1,-1,9,ch43data};
-
-/* char: 0x2a '*' */
-
-static const GLubyte ch42data[] = {
-0x10,0x92,0x54,0x38,0x54,0x92,0x10,
-};
-
-static const BitmapCharRec ch42 = {7,7,-1,-1,9,ch42data};
-
-/* char: 0x29 ')' */
-
-static const GLubyte ch41data[] = {
-0x80,0x40,0x40,0x20,0x20,0x20,0x20,0x20,0x20,0x40,0x40,0x80,
-};
-
-static const BitmapCharRec ch41 = {3,12,-3,1,9,ch41data};
-
-/* char: 0x28 '(' */
-
-static const GLubyte ch40data[] = {
-0x20,0x40,0x40,0x80,0x80,0x80,0x80,0x80,0x80,0x40,0x40,0x20,
-};
-
-static const BitmapCharRec ch40 = {3,12,-3,1,9,ch40data};
-
-/* char: 0x27 ''' */
-
-static const GLubyte ch39data[] = {
-0x80,0x40,0x20,0x30,
-};
-
-static const BitmapCharRec ch39 = {4,4,-3,-6,9,ch39data};
-
-/* char: 0x26 '&' */
-
-static const GLubyte ch38data[] = {
-0x62,0x94,0x88,0x94,0x62,0x60,0x90,0x90,0x90,0x60,
-};
-
-static const BitmapCharRec ch38 = {7,10,-1,0,9,ch38data};
-
-/* char: 0x25 '%' */
-
-static const GLubyte ch37data[] = {
-0x84,0x4a,0x4a,0x24,0x10,0x10,0x48,0xa4,0xa4,0x42,
-};
-
-static const BitmapCharRec ch37 = {7,10,-1,0,9,ch37data};
-
-/* char: 0x24 '$' */
-
-static const GLubyte ch36data[] = {
-0x10,0x7c,0x92,0x12,0x12,0x14,0x38,0x50,0x90,0x92,0x7c,0x10,
-};
-
-static const BitmapCharRec ch36 = {7,12,-1,1,9,ch36data};
-
-/* char: 0x23 '#' */
-
-static const GLubyte ch35data[] = {
-0x48,0x48,0xfc,0x48,0x48,0xfc,0x48,0x48,
-};
-
-static const BitmapCharRec ch35 = {6,8,-1,-1,9,ch35data};
-
-/* char: 0x22 '"' */
-
-static const GLubyte ch34data[] = {
-0x90,0x90,0x90,
-};
-
-static const BitmapCharRec ch34 = {4,3,-3,-7,9,ch34data};
-
-/* char: 0x21 '!' */
-
-static const GLubyte ch33data[] = {
-0x80,0x80,0x0,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch33 = {1,11,-4,0,9,ch33data};
-
-/* char: 0x1f */
-
-static const GLubyte ch31data[] = {
-0xc0,0xc0,
-};
-
-static const BitmapCharRec ch31 = {2,2,-4,-2,9,ch31data};
-
-/* char: 0x1e */
-
-static const GLubyte ch30data[] = {
-0x5c,0xa2,0x60,0x20,0x20,0xf8,0x20,0x20,0x22,0x1c,
-};
-
-static const BitmapCharRec ch30 = {7,10,-1,0,9,ch30data};
-
-/* char: 0x1d */
-
-static const GLubyte ch29data[] = {
-0x80,0x40,0xfe,0x10,0xfe,0x4,0x2,
-};
-
-static const BitmapCharRec ch29 = {7,7,-1,0,9,ch29data};
-
-/* char: 0x1c */
-
-static const GLubyte ch28data[] = {
-0x44,0x24,0x24,0x24,0x24,0x24,0xfe,
-};
-
-static const BitmapCharRec ch28 = {7,7,-1,0,9,ch28data};
-
-/* char: 0x1b */
-
-static const GLubyte ch27data[] = {
-0xfe,0x0,0x80,0x40,0x20,0x10,0x8,0x8,0x10,0x20,0x40,0x80,
-};
-
-static const BitmapCharRec ch27 = {7,12,-1,2,9,ch27data};
-
-/* char: 0x1a */
-
-static const GLubyte ch26data[] = {
-0xfc,0x0,0x4,0x8,0x10,0x20,0x40,0x40,0x20,0x10,0x8,0x4,
-};
-
-static const BitmapCharRec ch26 = {6,12,-2,2,9,ch26data};
-
-/* char: 0x19 */
-
-static const GLubyte ch25data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch25 = {1,15,-4,3,9,ch25data};
-
-/* char: 0x18 */
-
-static const GLubyte ch24data[] = {
-0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0xff,0x80,
-};
-
-static const BitmapCharRec ch24 = {9,7,0,3,9,ch24data};
-
-/* char: 0x17 */
-
-static const GLubyte ch23data[] = {
-0xff,0x80,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,
-0x8,0x0,
-};
-
-static const BitmapCharRec ch23 = {9,9,0,-3,9,ch23data};
-
-/* char: 0x16 */
-
-static const GLubyte ch22data[] = {
-0x8,0x8,0x8,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,
-};
-
-static const BitmapCharRec ch22 = {5,15,0,3,9,ch22data};
-
-/* char: 0x15 */
-
-static const GLubyte ch21data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0xf8,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch21 = {5,15,-4,3,9,ch21data};
-
-/* char: 0x14 */
-
-static const GLubyte ch20data[] = {
-0xff,0x80,
-};
-
-static const BitmapCharRec ch20 = {9,1,0,1,9,ch20data};
-
-/* char: 0x13 */
-
-static const GLubyte ch19data[] = {
-0xff,0x80,
-};
-
-static const BitmapCharRec ch19 = {9,1,0,-1,9,ch19data};
-
-/* char: 0x12 */
-
-static const GLubyte ch18data[] = {
-0xff,0x80,
-};
-
-static const BitmapCharRec ch18 = {9,1,0,-3,9,ch18data};
-
-/* char: 0x11 */
-
-static const GLubyte ch17data[] = {
-0xff,0x80,
-};
-
-static const BitmapCharRec ch17 = {9,1,0,-5,9,ch17data};
-
-/* char: 0x10 */
-
-static const GLubyte ch16data[] = {
-0xff,0x80,
-};
-
-static const BitmapCharRec ch16 = {9,1,0,-7,9,ch16data};
-
-/* char: 0xf */
-
-static const GLubyte ch15data[] = {
-0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0xff,0x80,0x8,0x0,
-0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,
-};
-
-static const BitmapCharRec ch15 = {9,15,0,3,9,ch15data};
-
-/* char: 0xe */
-
-static const GLubyte ch14data[] = {
-0xf8,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch14 = {5,9,-4,-3,9,ch14data};
-
-/* char: 0xd */
-
-static const GLubyte ch13data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0xf8,
-};
-
-static const BitmapCharRec ch13 = {5,7,-4,3,9,ch13data};
-
-/* char: 0xc */
-
-static const GLubyte ch12data[] = {
-0x8,0x8,0x8,0x8,0x8,0x8,0xf8,
-};
-
-static const BitmapCharRec ch12 = {5,7,0,3,9,ch12data};
-
-/* char: 0xb */
-
-static const GLubyte ch11data[] = {
-0xf8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,
-};
-
-static const BitmapCharRec ch11 = {5,9,0,-3,9,ch11data};
-
-/* char: 0xa */
-
-static const GLubyte ch10data[] = {
-0x8,0x8,0x8,0x8,0x3e,0x0,0x20,0x50,0x88,0x88,
-};
-
-static const BitmapCharRec ch10 = {7,10,-1,2,9,ch10data};
-
-/* char: 0x9 */
-
-static const GLubyte ch9data[] = {
-0x3e,0x20,0x20,0x20,0x20,0x88,0x98,0xa8,0xc8,0x88,
-};
-
-static const BitmapCharRec ch9 = {7,10,-1,2,9,ch9data};
-
-/* char: 0x8 */
-
-static const GLubyte ch8data[] = {
-0xfe,0x10,0x10,0xfe,0x10,0x10,
-};
-
-static const BitmapCharRec ch8 = {7,6,-1,0,9,ch8data};
-
-/* char: 0x7 */
-
-static const GLubyte ch7data[] = {
-0x70,0x88,0x88,0x70,
-};
-
-static const BitmapCharRec ch7 = {5,4,-2,-6,9,ch7data};
-
-/* char: 0x6 */
-
-static const GLubyte ch6data[] = {
-0x20,0x20,0x3c,0x20,0x3e,0x0,0xf8,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch6 = {7,10,-1,2,9,ch6data};
-
-/* char: 0x5 */
-
-static const GLubyte ch5data[] = {
-0x22,0x22,0x3c,0x22,0x3c,0x0,0x78,0x80,0x80,0x78,
-};
-
-static const BitmapCharRec ch5 = {7,10,-1,2,9,ch5data};
-
-/* char: 0x4 */
-
-static const GLubyte ch4data[] = {
-0x10,0x10,0x1c,0x10,0x1e,0x80,0x80,0xe0,0x80,0xf0,
-};
-
-static const BitmapCharRec ch4 = {7,10,-1,2,9,ch4data};
-
-/* char: 0x3 */
-
-static const GLubyte ch3data[] = {
-0x8,0x8,0x8,0x3e,0x0,0x88,0x88,0xf8,0x88,0x88,
-};
-
-static const BitmapCharRec ch3 = {7,10,-1,2,9,ch3data};
-
-/* char: 0x2 */
-
-static const GLubyte ch2data[] = {
-0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,
-};
-
-static const BitmapCharRec ch2 = {8,14,0,3,9,ch2data};
-
-/* char: 0x1 */
-
-static const GLubyte ch1data[] = {
-0x10,0x38,0x7c,0xfe,0x7c,0x38,0x10,
-};
-
-static const BitmapCharRec ch1 = {7,7,-1,0,9,ch1data};
-
-static const BitmapCharRec * const chars[] = {
-&ch0,
-&ch1,
-&ch2,
-&ch3,
-&ch4,
-&ch5,
-&ch6,
-&ch7,
-&ch8,
-&ch9,
-&ch10,
-&ch11,
-&ch12,
-&ch13,
-&ch14,
-&ch15,
-&ch16,
-&ch17,
-&ch18,
-&ch19,
-&ch20,
-&ch21,
-&ch22,
-&ch23,
-&ch24,
-&ch25,
-&ch26,
-&ch27,
-&ch28,
-&ch29,
-&ch30,
-&ch31,
-&ch32,
-&ch33,
-&ch34,
-&ch35,
-&ch36,
-&ch37,
-&ch38,
-&ch39,
-&ch40,
-&ch41,
-&ch42,
-&ch43,
-&ch44,
-&ch45,
-&ch46,
-&ch47,
-&ch48,
-&ch49,
-&ch50,
-&ch51,
-&ch52,
-&ch53,
-&ch54,
-&ch55,
-&ch56,
-&ch57,
-&ch58,
-&ch59,
-&ch60,
-&ch61,
-&ch62,
-&ch63,
-&ch64,
-&ch65,
-&ch66,
-&ch67,
-&ch68,
-&ch69,
-&ch70,
-&ch71,
-&ch72,
-&ch73,
-&ch74,
-&ch75,
-&ch76,
-&ch77,
-&ch78,
-&ch79,
-&ch80,
-&ch81,
-&ch82,
-&ch83,
-&ch84,
-&ch85,
-&ch86,
-&ch87,
-&ch88,
-&ch89,
-&ch90,
-&ch91,
-&ch92,
-&ch93,
-&ch94,
-&ch95,
-&ch96,
-&ch97,
-&ch98,
-&ch99,
-&ch100,
-&ch101,
-&ch102,
-&ch103,
-&ch104,
-&ch105,
-&ch106,
-&ch107,
-&ch108,
-&ch109,
-&ch110,
-&ch111,
-&ch112,
-&ch113,
-&ch114,
-&ch115,
-&ch116,
-&ch117,
-&ch118,
-&ch119,
-&ch120,
-&ch121,
-&ch122,
-&ch123,
-&ch124,
-&ch125,
-&ch126,
-&ch127,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-&ch160,
-&ch161,
-&ch162,
-&ch163,
-&ch164,
-&ch165,
-&ch166,
-&ch167,
-&ch168,
-&ch169,
-&ch170,
-&ch171,
-&ch172,
-&ch173,
-&ch174,
-&ch175,
-&ch176,
-&ch177,
-&ch178,
-&ch179,
-&ch180,
-&ch181,
-&ch182,
-&ch183,
-&ch184,
-&ch185,
-&ch186,
-&ch187,
-&ch188,
-&ch189,
-&ch190,
-&ch191,
-&ch192,
-&ch193,
-&ch194,
-&ch195,
-&ch196,
-&ch197,
-&ch198,
-&ch199,
-&ch200,
-&ch201,
-&ch202,
-&ch203,
-&ch204,
-&ch205,
-&ch206,
-&ch207,
-&ch208,
-&ch209,
-&ch210,
-&ch211,
-&ch212,
-&ch213,
-&ch214,
-&ch215,
-&ch216,
-&ch217,
-&ch218,
-&ch219,
-&ch220,
-&ch221,
-&ch222,
-&ch223,
-&ch224,
-&ch225,
-&ch226,
-&ch227,
-&ch228,
-&ch229,
-&ch230,
-&ch231,
-&ch232,
-&ch233,
-&ch234,
-&ch235,
-&ch236,
-&ch237,
-&ch238,
-&ch239,
-&ch240,
-&ch241,
-&ch242,
-&ch243,
-&ch244,
-&ch245,
-&ch246,
-&ch247,
-&ch248,
-&ch249,
-&ch250,
-&ch251,
-&ch252,
-&ch253,
-&ch254,
-&ch255,
-};
-#if !defined(__IBMCPP__)
-const
-#endif
- BitmapFontRec glutBitmap9By15 = {
-"-misc-fixed-medium-r-normal--15-140-75-75-C-90-iso8859-1",
-256,
-0,
-chars
-};
-
diff --git a/src/glut/os2/glut_bitmap.cpp b/src/glut/os2/glut_bitmap.cpp
deleted file mode 100644
index 40530b69c1..0000000000
--- a/src/glut/os2/glut_bitmap.cpp
+++ /dev/null
@@ -1,57 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include "glutint.h"
-#include "glutbitmap.h"
-
-void GLUTAPIENTRY
-glutBitmapCharacter(GLUTbitmapFont font, int c)
-{
- const BitmapCharRec *ch;
- BitmapFontPtr fontinfo;
- GLint swapbytes, lsbfirst, rowlength;
- GLint skiprows, skippixels, alignment;
-
-#if defined(_WIN32)
- fontinfo = (BitmapFontPtr) __glutFont(font);
-#else
- fontinfo = (BitmapFontPtr) font;
-#endif
-
- if (c < fontinfo->first ||
- c >= fontinfo->first + fontinfo->num_chars)
- return;
- ch = fontinfo->ch[c - fontinfo->first];
- if (ch) {
- /* Save current modes. */
- glGetIntegerv(GL_UNPACK_SWAP_BYTES, &swapbytes);
- glGetIntegerv(GL_UNPACK_LSB_FIRST, &lsbfirst);
- glGetIntegerv(GL_UNPACK_ROW_LENGTH, &rowlength);
- glGetIntegerv(GL_UNPACK_SKIP_ROWS, &skiprows);
- glGetIntegerv(GL_UNPACK_SKIP_PIXELS, &skippixels);
- glGetIntegerv(GL_UNPACK_ALIGNMENT, &alignment);
- /* Little endian machines (DEC Alpha for example) could
- benefit from setting GL_UNPACK_LSB_FIRST to GL_TRUE
- instead of GL_FALSE, but this would require changing the
- generated bitmaps too. */
- glPixelStorei(GL_UNPACK_SWAP_BYTES, GL_FALSE);
- glPixelStorei(GL_UNPACK_LSB_FIRST, GL_FALSE);
- glPixelStorei(GL_UNPACK_ROW_LENGTH, 0);
- glPixelStorei(GL_UNPACK_SKIP_ROWS, 0);
- glPixelStorei(GL_UNPACK_SKIP_PIXELS, 0);
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- glBitmap(ch->width, ch->height, ch->xorig, ch->yorig,
- ch->advance, 0, ch->bitmap);
- /* Restore saved modes. */
- glPixelStorei(GL_UNPACK_SWAP_BYTES, swapbytes);
- glPixelStorei(GL_UNPACK_LSB_FIRST, lsbfirst);
- glPixelStorei(GL_UNPACK_ROW_LENGTH, rowlength);
- glPixelStorei(GL_UNPACK_SKIP_ROWS, skiprows);
- glPixelStorei(GL_UNPACK_SKIP_PIXELS, skippixels);
- glPixelStorei(GL_UNPACK_ALIGNMENT, alignment);
- }
-}
diff --git a/src/glut/os2/glut_cindex.cpp b/src/glut/os2/glut_cindex.cpp
deleted file mode 100644
index fa6d2f12d6..0000000000
--- a/src/glut/os2/glut_cindex.cpp
+++ /dev/null
@@ -1,258 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994, 1996, 1997. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include <stdlib.h>
-#include "glutint.h"
-
-#if defined(__OS2PM__)
- #define IsWindowVisible WinIsWindowVisible
-#endif
-
-#define CLAMP(i) ((i) > 1.0 ? 1.0 : ((i) < 0.0 ? 0.0 : (i)))
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutSetColor(int ndx, GLfloat red, GLfloat green, GLfloat blue)
-{
- GLUTcolormap *cmap, *newcmap;
- XVisualInfo *vis;
- XColor color;
- int i;
-
- if (__glutCurrentWindow->renderWin == __glutCurrentWindow->win) {
- cmap = __glutCurrentWindow->colormap;
- vis = __glutCurrentWindow->vis;
- } else {
- cmap = __glutCurrentWindow->overlay->colormap;
- vis = __glutCurrentWindow->overlay->vis;
- if (ndx == __glutCurrentWindow->overlay->transparentPixel) {
- __glutWarning(
- "glutSetColor: cannot set color of overlay transparent index %d\n",
- ndx);
- return;
- }
- }
-
- if (!cmap) {
- __glutWarning("glutSetColor: current window is RGBA");
- return;
- }
-#if defined(_WIN32) || defined(__OS2PM__)
- if (ndx >= 256 || /* always assume 256 colors on Win32 */
-#else
- if (ndx >= vis->visual->map_entries ||
-#endif
- ndx < 0) {
- __glutWarning("glutSetColor: index %d out of range", ndx);
- return;
- }
- if (cmap->refcnt > 1) {
- newcmap = __glutAssociateNewColormap(vis);
- cmap->refcnt--;
- /* Wouldn't it be nice if XCopyColormapAndFree could be
- told not to free the old colormap's entries! */
- for (i = cmap->size - 1; i >= 0; i--) {
- if (i == ndx) {
- /* We are going to set this cell shortly! */
- continue;
- }
- if (cmap->cells[i].component[GLUT_RED] >= 0.0) {
- color.pixel = i;
- newcmap->cells[i].component[GLUT_RED] =
- cmap->cells[i].component[GLUT_RED];
- color.red = (GLfloat) 0xffff *
- cmap->cells[i].component[GLUT_RED];
- newcmap->cells[i].component[GLUT_GREEN] =
- cmap->cells[i].component[GLUT_GREEN];
- color.green = (GLfloat) 0xffff *
- cmap->cells[i].component[GLUT_GREEN];
- newcmap->cells[i].component[GLUT_BLUE] =
- cmap->cells[i].component[GLUT_BLUE];
- color.blue = (GLfloat) 0xffff *
- cmap->cells[i].component[GLUT_BLUE];
- color.flags = DoRed | DoGreen | DoBlue;
-#if defined(_WIN32) || defined(__OS2PM__)
- if (IsWindowVisible(__glutCurrentWindow->win)) {
- XHDC = __glutCurrentWindow->hdc;
- } else {
- XHDC = 0;
- }
-#endif
- XStoreColor(__glutDisplay, newcmap->cmap, &color);
- } else {
- /* Leave unallocated entries unallocated. */
- }
- }
- cmap = newcmap;
- if (__glutCurrentWindow->renderWin == __glutCurrentWindow->win) {
- __glutCurrentWindow->colormap = cmap;
- __glutCurrentWindow->cmap = cmap->cmap;
- } else {
- __glutCurrentWindow->overlay->colormap = cmap;
- __glutCurrentWindow->overlay->cmap = cmap->cmap;
- }
- XSetWindowColormap(__glutDisplay,
- __glutCurrentWindow->renderWin, cmap->cmap);
-
-#if !defined(_WIN32) && !defined(__OS2PM__)
- {
- GLUTwindow *toplevel;
-
- toplevel = __glutToplevelOf(__glutCurrentWindow);
- if (toplevel->cmap != cmap->cmap) {
- __glutPutOnWorkList(toplevel, GLUT_COLORMAP_WORK);
- }
- }
-#endif
- }
- color.pixel = ndx;
- red = CLAMP(red);
- cmap->cells[ndx].component[GLUT_RED] = red;
- color.red = (GLfloat) 0xffff *red;
- green = CLAMP(green);
- cmap->cells[ndx].component[GLUT_GREEN] = green;
- color.green = (GLfloat) 0xffff *green;
- blue = CLAMP(blue);
- cmap->cells[ndx].component[GLUT_BLUE] = blue;
- color.blue = (GLfloat) 0xffff *blue;
- color.flags = DoRed | DoGreen | DoBlue;
-#if defined(_WIN32) || defined(__OS2PM__)
- if (IsWindowVisible(__glutCurrentWindow->win)) {
- XHDC = __glutCurrentWindow->hdc;
- } else {
- XHDC = 0;
- }
-#endif
- XStoreColor(__glutDisplay, cmap->cmap, &color);
-}
-
-GLfloat GLUTAPIENTRY
-glutGetColor(int ndx, int comp)
-{
- GLUTcolormap *colormap;
- XVisualInfo *vis;
-
- if (__glutCurrentWindow->renderWin == __glutCurrentWindow->win) {
- colormap = __glutCurrentWindow->colormap;
- vis = __glutCurrentWindow->vis;
- } else {
- colormap = __glutCurrentWindow->overlay->colormap;
- vis = __glutCurrentWindow->overlay->vis;
- if (ndx == __glutCurrentWindow->overlay->transparentPixel) {
- __glutWarning("glutGetColor: requesting overlay transparent index %d\n",
- ndx);
- return -1.0;
- }
- }
-
- if (!colormap) {
- __glutWarning("glutGetColor: current window is RGBA");
- return -1.0;
- }
-#if defined(_WIN32) || defined(__OS2PM__)
-#define OUT_OF_RANGE_NDX(ndx) (ndx >= 256 || ndx < 0)
-#else
-#define OUT_OF_RANGE_NDX(ndx) (ndx >= vis->visual->map_entries || ndx < 0)
-#endif
- if (OUT_OF_RANGE_NDX(ndx)) {
- __glutWarning("glutGetColor: index %d out of range", ndx);
- return -1.0;
- }
- return colormap->cells[ndx].component[comp];
-}
-
-void GLUTAPIENTRY
-glutCopyColormap(int winnum)
-{
- GLUTwindow *window = __glutWindowList[winnum - 1];
- GLUTcolormap *oldcmap, *newcmap;
- XVisualInfo *dstvis;
-
- if (__glutCurrentWindow->renderWin == __glutCurrentWindow->win) {
- oldcmap = __glutCurrentWindow->colormap;
- dstvis = __glutCurrentWindow->vis;
- newcmap = window->colormap;
- } else {
- oldcmap = __glutCurrentWindow->overlay->colormap;
- dstvis = __glutCurrentWindow->overlay->vis;
- if (!window->overlay) {
- __glutWarning("glutCopyColormap: window %d has no overlay", winnum);
- return;
- }
- newcmap = window->overlay->colormap;
- }
-
- if (!oldcmap) {
- __glutWarning("glutCopyColormap: destination colormap must be color index");
- return;
- }
- if (!newcmap) {
- __glutWarning(
- "glutCopyColormap: source colormap of window %d must be color index",
- winnum);
- return;
- }
- if (newcmap == oldcmap) {
- /* Source and destination are the same; now copy needed. */
- return;
- }
-#if !defined(_WIN32) && !defined(__OS2PM__)
- /* Play safe: compare visual IDs, not Visual*'s. */
- if (newcmap->visual->visualid == oldcmap->visual->visualid) {
-#endif
- /* Visuals match! "Copy" by reference... */
- __glutFreeColormap(oldcmap);
- newcmap->refcnt++;
- if (__glutCurrentWindow->renderWin == __glutCurrentWindow->win) {
- __glutCurrentWindow->colormap = newcmap;
- __glutCurrentWindow->cmap = newcmap->cmap;
- } else {
- __glutCurrentWindow->overlay->colormap = newcmap;
- __glutCurrentWindow->overlay->cmap = newcmap->cmap;
- }
- XSetWindowColormap(__glutDisplay, __glutCurrentWindow->renderWin,
- newcmap->cmap);
-#if !defined(_WIN32) && !defined(__OS2PM__)
- __glutPutOnWorkList(__glutToplevelOf(window), GLUT_COLORMAP_WORK);
-bla bla bla
-
- } else {
- GLUTcolormap *copycmap;
- XColor color;
- int i, last;
-
- /* Visuals different - need a distinct X colormap! */
- copycmap = __glutAssociateNewColormap(dstvis);
- /* Wouldn't it be nice if XCopyColormapAndFree could be
- told not to free the old colormap's entries! */
- last = newcmap->size;
- if (last > copycmap->size) {
- last = copycmap->size;
- }
- for (i = last - 1; i >= 0; i--) {
- if (newcmap->cells[i].component[GLUT_RED] >= 0.0) {
- color.pixel = i;
- copycmap->cells[i].component[GLUT_RED] =
- newcmap->cells[i].component[GLUT_RED];
- color.red = (GLfloat) 0xffff *
- newcmap->cells[i].component[GLUT_RED];
- copycmap->cells[i].component[GLUT_GREEN] =
- newcmap->cells[i].component[GLUT_GREEN];
- color.green = (GLfloat) 0xffff *
- newcmap->cells[i].component[GLUT_GREEN];
- copycmap->cells[i].component[GLUT_BLUE] =
- newcmap->cells[i].component[GLUT_BLUE];
- color.blue = (GLfloat) 0xffff *
- newcmap->cells[i].component[GLUT_BLUE];
- color.flags = DoRed | DoGreen | DoBlue;
- XStoreColor(__glutDisplay, copycmap->cmap, &color);
- }
- }
- }
-#endif
-}
-/* ENDCENTRY */
diff --git a/src/glut/os2/glut_cmap.cpp b/src/glut/os2/glut_cmap.cpp
deleted file mode 100644
index afe44f0aca..0000000000
--- a/src/glut/os2/glut_cmap.cpp
+++ /dev/null
@@ -1,399 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994, 1996, 1997. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#ifdef __VMS
-//EK#include <GL/vms_x_fix.h>
-#endif
-
-#include <stdlib.h>
-#include <string.h>
-#include <stdio.h> /* SunOS multithreaded assert() needs <stdio.h>. Lame. */
-#include <assert.h>
-#if !defined(_WIN32) && !defined(__OS2__)
- #include <X11/Xlib.h>
- #include <X11/Xutil.h>
- #include <X11/Xatom.h> /* for XA_RGB_DEFAULT_MAP atom */
- #if defined(__vms)
- #include <Xmu/StdCmap.h> /* for XmuLookupStandardColormap */
- #else
- #include <X11/Xmu/StdCmap.h> /* for XmuLookupStandardColormap */
- #endif
-#endif
-
-/* SGI optimization introduced in IRIX 6.3 to avoid X server
- round trips for interning common X atoms. */
-#if defined(_SGI_EXTRA_PREDEFINES) && !defined(NO_FAST_ATOMS)
-#include <X11/SGIFastAtom.h>
-#else
-#define XSGIFastInternAtom(dpy,string,fast_name,how) XInternAtom(dpy,string,how)
-#endif
-
-#include "glutint.h"
-#include "layerutil.h"
-
-GLUTcolormap *__glutColormapList = NULL;
-
-GLUTcolormap *
-__glutAssociateNewColormap(XVisualInfo * vis)
-{
- GLUTcolormap *cmap;
- int transparentPixel, i;
- unsigned long pixels[255];
-
- cmap = (GLUTcolormap *) malloc(sizeof(GLUTcolormap));
- if (!cmap)
- __glutFatalError("out of memory.");
-#if defined(_WIN32) || defined(__OS2__)
- pixels[0] = 0; /* avoid compilation warnings on win32 */
- cmap->visual = 0;
- cmap->size = 256; /* always assume 256 on Win32 */
-#else
- cmap->visual = vis->visual;
- cmap->size = vis->visual->map_entries;
-#endif
- cmap->refcnt = 1;
- cmap->cells = (GLUTcolorcell *)
- malloc(sizeof(GLUTcolorcell) * cmap->size);
- if (!cmap->cells)
- __glutFatalError("out of memory.");
- /* make all color cell entries be invalid */
- for (i = cmap->size - 1; i >= 0; i--) {
- cmap->cells[i].component[GLUT_RED] = -1.0;
- cmap->cells[i].component[GLUT_GREEN] = -1.0;
- cmap->cells[i].component[GLUT_BLUE] = -1.0;
- }
- transparentPixel = __glutGetTransparentPixel(__glutDisplay, vis);
- if (transparentPixel == -1 || transparentPixel >= cmap->size) {
-
- /* If there is no transparent pixel or if the transparent
- pixel is outside the range of valid colormap cells (HP
- can implement their overlays this smart way since their
- transparent pixel is 255), we can AllocAll the colormap.
- See note below. */
-
- cmap->cmap = XCreateColormap(__glutDisplay,
- __glutRoot, cmap->visual, AllocAll);
- } else {
-
- /* On machines where zero (or some other value in the range
- of 0 through map_entries-1), BadAlloc may be generated
- when an AllocAll overlay colormap is allocated since the
- transparent pixel precludes all the cells in the colormap
- being allocated (the transparent pixel is pre-allocated).
- So in this case, use XAllocColorCells to allocate
- map_entries-1 pixels (that is, all but the transparent
- pixel. */
-
-#if defined(_WIN32) || defined(__OS2__)
- cmap->cmap = XCreateColormap(__glutDisplay,
- __glutRoot, 0, AllocNone);
-#else
- cmap->cmap = XCreateColormap(__glutDisplay,
- __glutRoot, vis->visual, AllocNone);
- XAllocColorCells(__glutDisplay, cmap->cmap, False, 0, 0,
- pixels, cmap->size - 1);
-#endif
- }
- cmap->next = __glutColormapList;
- __glutColormapList = cmap;
- return cmap;
-}
-
-static GLUTcolormap *
-associateColormap(XVisualInfo * vis)
-{
-#if !defined(_WIN32) && !defined(__OS2__)
- GLUTcolormap *cmap = __glutColormapList;
-
- while (cmap != NULL) {
- /* Play safe: compare visual IDs, not Visual*'s. */
- if (cmap->visual->visualid == vis->visual->visualid) {
- /* Already have created colormap for the visual. */
- cmap->refcnt++;
- return cmap;
- }
- cmap = cmap->next;
- }
-#endif
- return __glutAssociateNewColormap(vis);
-}
-
-void
-__glutSetupColormap(XVisualInfo * vi, GLUTcolormap ** colormap, Colormap * cmap)
-{
-#if defined(_WIN32) || defined(__OS2__)
- if (vi->dwFlags & PFD_NEED_PALETTE || vi->iPixelType == PFD_TYPE_COLORINDEX) {
- *colormap = associateColormap(vi);
- *cmap = (*colormap)->cmap;
- } else {
- *colormap = NULL;
- *cmap = 0;
- }
-#else
- Status status;
- XStandardColormap *standardCmaps;
- int i, numCmaps;
- static Atom hpColorRecoveryAtom = -1;
- int isRGB, visualClass, rc;
-
-#if defined(__cplusplus) || defined(c_plusplus)
- visualClass = vi->c_class;
-#else
- visualClass = vi->class;
-#endif
- switch (visualClass) {
- case PseudoColor:
- /* Mesa might return a PseudoColor visual for RGB mode. */
- rc = glXGetConfig(__glutDisplay, vi, GLX_RGBA, &isRGB);
- if (rc == 0 && isRGB) {
- /* Must be Mesa. */
- *colormap = NULL;
- if (MaxCmapsOfScreen(DefaultScreenOfDisplay(__glutDisplay)) == 1
- && vi->visual == DefaultVisual(__glutDisplay, __glutScreen)) {
- char *privateCmap = getenv("MESA_PRIVATE_CMAP");
-
- if (privateCmap) {
- /* User doesn't want to share colormaps. */
- *cmap = XCreateColormap(__glutDisplay, __glutRoot,
- vi->visual, AllocNone);
- } else {
- /* Share the root colormap. */
- *cmap = DefaultColormap(__glutDisplay, __glutScreen);
- }
- } else {
- /* Get our own PseudoColor colormap. */
- *cmap = XCreateColormap(__glutDisplay, __glutRoot,
- vi->visual, AllocNone);
- }
- } else {
- /* CI mode, real GLX never returns a PseudoColor visual
- for RGB mode. */
- *colormap = associateColormap(vi);
- *cmap = (*colormap)->cmap;
- }
- break;
- case TrueColor:
- case DirectColor:
- *colormap = NULL; /* NULL if RGBA */
-
- /* Hewlett-Packard supports a feature called "HP Color
- Recovery". Mesa has code to use HP Color Recovery. For
- Mesa to use this feature, the atom
- _HP_RGB_SMOOTH_MAP_LIST must be defined on the root
- window AND the colormap obtainable by XGetRGBColormaps
- for that atom must be set on the window. If that
- colormap is not set, the output will look stripy. */
-
- if (hpColorRecoveryAtom == -1) {
- char *xvendor;
-
-#define VENDOR_HP "Hewlett-Packard"
-
- /* Only makes sense to make XInternAtom round-trip if we
- know that we are connected to an HP X server. */
- xvendor = ServerVendor(__glutDisplay);
- if (!strncmp(xvendor, VENDOR_HP, sizeof(VENDOR_HP) - 1)) {
- hpColorRecoveryAtom = XInternAtom(__glutDisplay, "_HP_RGB_SMOOTH_MAP_LIST", True);
- } else {
- hpColorRecoveryAtom = None;
- }
- }
- if (hpColorRecoveryAtom != None) {
- status = XGetRGBColormaps(__glutDisplay, __glutRoot,
- &standardCmaps, &numCmaps, hpColorRecoveryAtom);
- if (status == 1) {
- for (i = 0; i < numCmaps; i++) {
- if (standardCmaps[i].visualid == vi->visualid) {
- *cmap = standardCmaps[i].colormap;
- XFree(standardCmaps);
- return;
- }
- }
- XFree(standardCmaps);
- }
- }
-#ifndef SOLARIS_2_4_BUG
- /* Solaris 2.4 and 2.5 have a bug in their
- XmuLookupStandardColormap implementations. Please
- compile your Solaris 2.4 or 2.5 version of GLUT with
- -DSOLARIS_2_4_BUG to work around this bug. The symptom
- of the bug is that programs will get a BadMatch error
- from X_CreateWindow when creating a GLUT window because
- Solaris 2.4 and 2.5 create a corrupted RGB_DEFAULT_MAP
- property. Note that this workaround prevents Colormap
- sharing between applications, perhaps leading
- unnecessary colormap installations or colormap flashing.
- Sun fixed this bug in Solaris 2.6. */
- status = XmuLookupStandardColormap(__glutDisplay,
- vi->screen, vi->visualid, vi->depth, XA_RGB_DEFAULT_MAP,
- /* replace */ False, /* retain */ True);
- if (status == 1) {
- status = XGetRGBColormaps(__glutDisplay, __glutRoot,
- &standardCmaps, &numCmaps, XA_RGB_DEFAULT_MAP);
- if (status == 1) {
- for (i = 0; i < numCmaps; i++) {
- if (standardCmaps[i].visualid == vi->visualid) {
- *cmap = standardCmaps[i].colormap;
- XFree(standardCmaps);
- return;
- }
- }
- XFree(standardCmaps);
- }
- }
-#endif
- /* If no standard colormap but TrueColor, just make a
- private one. */
- /* XXX Should do a better job of internal sharing for
- privately allocated TrueColor colormaps. */
- /* XXX DirectColor probably needs ramps hand initialized! */
- *cmap = XCreateColormap(__glutDisplay, __glutRoot,
- vi->visual, AllocNone);
- break;
- case StaticColor:
- case StaticGray:
- case GrayScale:
- /* Mesa supports these visuals */
- *colormap = NULL;
- *cmap = XCreateColormap(__glutDisplay, __glutRoot,
- vi->visual, AllocNone);
- break;
- default:
- __glutFatalError(
- "could not allocate colormap for visual type: %d.",
- visualClass);
- }
- return;
-#endif
-}
-
-#if !defined(_WIN32) && !defined(__OS2__)
-static int
-findColormaps(GLUTwindow * window,
- Window * winlist, Colormap * cmaplist, int num, int max)
-{
- GLUTwindow *child;
- int i;
-
- /* Do not allow more entries that maximum number of
- colormaps! */
- if (num >= max)
- return num;
- /* Is cmap for this window already on the list? */
- for (i = 0; i < num; i++) {
- if (cmaplist[i] == window->cmap)
- goto normalColormapAlreadyListed;
- }
- /* Not found on the list; add colormap and window. */
- winlist[num] = window->win;
- cmaplist[num] = window->cmap;
- num++;
-
-normalColormapAlreadyListed:
-
- /* Repeat above but for the overlay colormap if there one. */
- if (window->overlay) {
- if (num >= max)
- return num;
- for (i = 0; i < num; i++) {
- if (cmaplist[i] == window->overlay->cmap)
- goto overlayColormapAlreadyListed;
- }
- winlist[num] = window->overlay->win;
- cmaplist[num] = window->overlay->cmap;
- num++;
- }
-overlayColormapAlreadyListed:
-
- /* Recursively search children. */
- child = window->children;
- while (child) {
- num = findColormaps(child, winlist, cmaplist, num, max);
- child = child->siblings;
- }
- return num;
-}
-
-void
-__glutEstablishColormapsProperty(GLUTwindow * window)
-{
- /* this routine is strictly X. Win32 doesn't need to do
- anything of this sort (but has to do other wacky stuff
- later). */
- static Atom wmColormapWindows = None;
- Window *winlist;
- Colormap *cmaplist;
- Status status;
- int maxcmaps, num;
-
- assert(!window->parent);
- maxcmaps = MaxCmapsOfScreen(ScreenOfDisplay(__glutDisplay,
- __glutScreen));
- /* For portability reasons we don't use alloca for winlist
- and cmaplist, but we could. */
- winlist = (Window *) malloc(maxcmaps * sizeof(Window));
- cmaplist = (Colormap *) malloc(maxcmaps * sizeof(Colormap));
- num = findColormaps(window, winlist, cmaplist, 0, maxcmaps);
- if (num < 2) {
- /* Property no longer needed; remove it. */
- wmColormapWindows = XSGIFastInternAtom(__glutDisplay,
- "WM_COLORMAP_WINDOWS", SGI_XA_WM_COLORMAP_WINDOWS, False);
- if (wmColormapWindows == None) {
- __glutWarning("Could not intern X atom for WM_COLORMAP_WINDOWS.");
- return;
- }
- XDeleteProperty(__glutDisplay, window->win, wmColormapWindows);
- } else {
- status = XSetWMColormapWindows(__glutDisplay, window->win,
- winlist, num);
- /* XSetWMColormapWindows should always work unless the
- WM_COLORMAP_WINDOWS property cannot be intern'ed. We
- check to be safe. */
- if (status == False)
- __glutFatalError("XSetWMColormapWindows returned False.");
- }
- /* For portability reasons we don't use alloca for winlist
- and cmaplist, but we could. */
- free(winlist);
- free(cmaplist);
-}
-
-GLUTwindow *
-__glutToplevelOf(GLUTwindow * window)
-{
- while (window->parent) {
- window = window->parent;
- }
- return window;
-}
-#endif
-
-void
-__glutFreeColormap(GLUTcolormap * cmap)
-{
- GLUTcolormap *cur, **prev;
-
- cmap->refcnt--;
- if (cmap->refcnt == 0) {
- /* remove from colormap list */
- cur = __glutColormapList;
- prev = &__glutColormapList;
- while (cur) {
- if (cur == cmap) {
- *prev = cmap->next;
- break;
- }
- prev = &(cur->next);
- cur = cur->next;
- }
- /* actually free colormap */
- XFreeColormap(__glutDisplay, cmap->cmap);
- free(cmap->cells);
- free(cmap);
- }
-}
-
diff --git a/src/glut/os2/glut_cursor.cpp b/src/glut/os2/glut_cursor.cpp
deleted file mode 100644
index 0db0aa64a4..0000000000
--- a/src/glut/os2/glut_cursor.cpp
+++ /dev/null
@@ -1,210 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1995, 1998. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include "glutint.h"
-
-#if !defined(_WIN32) && !defined(__OS2PM__)
-#include <X11/Xatom.h> /* For XA_CURSOR */
-#include <X11/cursorfont.h>
-#endif
-
-typedef struct _CursorTable {
-#if defined(_WIN32)
- char* glyph;
-#else
- int glyph;
-#endif
- Cursor cursor;
-} CursorTable;
-/* *INDENT-OFF* */
-
-static CursorTable cursorTable[] = {
- {XC_arrow, None}, /* GLUT_CURSOR_RIGHT_ARROW */
- {XC_top_left_arrow, None}, /* GLUT_CURSOR_LEFT_ARROW */
- {XC_hand1, None}, /* GLUT_CURSOR_INFO */
- {XC_pirate, None}, /* GLUT_CURSOR_DESTROY */
- {XC_question_arrow, None}, /* GLUT_CURSOR_HELP */
- {XC_exchange, None}, /* GLUT_CURSOR_CYCLE */
- {XC_spraycan, None}, /* GLUT_CURSOR_SPRAY */
- {XC_watch, None}, /* GLUT_CURSOR_WAIT */
- {XC_xterm, None}, /* GLUT_CURSOR_TEXT */
- {XC_crosshair, None}, /* GLUT_CURSOR_CROSSHAIR */
- {XC_sb_v_double_arrow, None}, /* GLUT_CURSOR_UP_DOWN */
- {XC_sb_h_double_arrow, None}, /* GLUT_CURSOR_LEFT_RIGHT */
- {XC_top_side, None}, /* GLUT_CURSOR_TOP_SIDE */
- {XC_bottom_side, None}, /* GLUT_CURSOR_BOTTOM_SIDE */
- {XC_left_side, None}, /* GLUT_CURSOR_LEFT_SIDE */
- {XC_right_side, None}, /* GLUT_CURSOR_RIGHT_SIDE */
- {XC_top_left_corner, None}, /* GLUT_CURSOR_TOP_LEFT_CORNER */
- {XC_top_right_corner, None}, /* GLUT_CURSOR_TOP_RIGHT_CORNER */
- {XC_bottom_right_corner, None}, /* GLUT_CURSOR_BOTTOM_RIGHT_CORNER */
- {XC_bottom_left_corner, None}, /* GLUT_CURSOR_BOTTOM_LEFT_CORNER */
-};
-/* *INDENT-ON* */
-
-#if !defined(_WIN32) && !defined(__OS2PM__)
-static Cursor blankCursor = None;
-static Cursor fullCrosshairCusor = None;
-
-/* SGI X server's support a special property called the
- _SGI_CROSSHAIR_CURSOR that when installed as a window's
- cursor, becomes a full screen crosshair cursor. SGI
- has special cursor generation hardware for this case. */
-static Cursor
-getFullCrosshairCursor(void)
-{
- Cursor cursor;
- Atom crosshairAtom, actualType;
- int rc, actualFormat;
- unsigned long n, left;
- unsigned long *value;
-
- if (fullCrosshairCusor == None) {
- crosshairAtom = XInternAtom(__glutDisplay,
- "_SGI_CROSSHAIR_CURSOR", True);
- if (crosshairAtom != None) {
- value = 0; /* Make compiler happy. */
- rc = XGetWindowProperty(__glutDisplay, __glutRoot,
- crosshairAtom, 0, 1, False, XA_CURSOR, &actualType,
- &actualFormat, &n, &left, (unsigned char **) &value);
- if (rc == Success && actualFormat == 32 && n >= 1) {
- cursor = value[0];
- XFree(value);
- return cursor;
- }
- }
- }
- return XCreateFontCursor(__glutDisplay, XC_crosshair);
-}
-
-/* X11 forces you to create a blank cursor if you want
- to disable the cursor. */
-static Cursor
-makeBlankCursor(void)
-{
- static char data[1] =
- {0};
- Cursor cursor;
- Pixmap blank;
- XColor dummy;
-
- blank = XCreateBitmapFromData(__glutDisplay, __glutRoot,
- data, 1, 1);
- if (blank == None)
- __glutFatalError("out of memory.");
- cursor = XCreatePixmapCursor(__glutDisplay, blank, blank,
- &dummy, &dummy, 0, 0);
- XFreePixmap(__glutDisplay, blank);
-
- return cursor;
-}
-#endif /* !_WIN32 && !__OS2PM__*/
-
-/* Win32 and X11 use this same function to accomplish
- fairly different tasks. X11 lets you just define the
- cursor for a window and the window system takes care
- of making sure that the window's cursor is installed
- when the mouse is in the window. Win32 requires the
- application to handle a WM_SETCURSOR message to install
- the right cursor when windows are entered. Think of
- the Win32 __glutSetCursor (called from __glutWindowProc)
- as "install cursor". Think of the X11 __glutSetCursor
- (called from glutSetCursor) as "define cursor". */
-void
-__glutSetCursor(GLUTwindow *window)
-{
- int cursor = window->cursor;
- Cursor xcursor = 0;
-
- if (cursor >= 0 &&
- cursor < sizeof(cursorTable) / sizeof(cursorTable[0])) {
- if (cursorTable[cursor].cursor == None) {
- cursorTable[cursor].cursor = XCreateFontCursor(__glutDisplay,
- cursorTable[cursor].glyph);
- }
- xcursor = cursorTable[cursor].cursor;
- } else {
- /* Special cases. */
- switch (cursor) {
- case GLUT_CURSOR_INHERIT:
-#if defined(_WIN32)
- while (window->parent) {
- window = window->parent;
- if (window->cursor != GLUT_CURSOR_INHERIT) {
- __glutSetCursor(window);
- return;
- }
- }
- /* XXX Default to an arrow cursor. Is this
- right or should we be letting the default
- window proc be installing some system cursor? */
- xcursor = cursorTable[0].cursor;
- if (xcursor == NULL) {
- xcursor =
- cursorTable[0].cursor =
- LoadCursor(NULL, cursorTable[0].glyph);
- }
-
-#elif defined(__OS2PM__)
-//todo
- xcursor = None;
-
-#else
- xcursor = None;
-#endif
- break;
- case GLUT_CURSOR_NONE:
-#if defined(_WIN32) || defined(__OS2PM__)
- xcursor = NULL;
-#else
- if (blankCursor == None) {
- blankCursor = makeBlankCursor();
- }
- xcursor = blankCursor;
-#endif
- break;
- case GLUT_CURSOR_FULL_CROSSHAIR:
-#if defined(_WIN32)
- xcursor = (HICON) IDC_CROSS;
-#elif defined(__OS2PM__)
-//todo
-#else
- if (fullCrosshairCusor == None) {
- fullCrosshairCusor = getFullCrosshairCursor();
- }
- xcursor = fullCrosshairCusor;
-#endif
- break;
- }
- }
- XDefineCursor(__glutDisplay,
- window->win, xcursor);
- XFlush(__glutDisplay);
-}
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutSetCursor(int cursor)
-{
-#ifdef _WIN32
- POINT point;
-
- __glutCurrentWindow->cursor = cursor;
- /* Are we in the window right now? If so,
- install the cursor. */
- GetCursorPos(&point);
- if (__glutCurrentWindow->win == WindowFromPoint(point)) {
- __glutSetCursor(__glutCurrentWindow);
- }
-#elif defined(__OS2PM__)
-//todo
-#else
- __glutCurrentWindow->cursor = cursor;
- __glutSetCursor(__glutCurrentWindow);
-#endif
-}
-/* ENDCENTRY */
diff --git a/src/glut/os2/glut_event.cpp b/src/glut/os2/glut_event.cpp
deleted file mode 100644
index 4ece82e52b..0000000000
--- a/src/glut/os2/glut_event.cpp
+++ /dev/null
@@ -1,1399 +0,0 @@
-/* glut_event.c */
-/* Copyright (c) Mark J. Kilgard, 1994, 1995, 1996, 1997, 1998. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#ifdef __VMS
-#include <GL/vms_x_fix.h>
-#endif
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <errno.h>
-#include <assert.h>
-#include <string.h> /* Some FD_ZERO macros use memset without
- prototyping memset. */
-
-/* Much of the following #ifdef logic to include the proper
- prototypes for the select system call is based on logic
- from the X11R6.3 version of <X11/Xpoll.h>. */
-
-#if !defined(_WIN32)
-# ifdef __sgi
-# include <bstring.h> /* prototype for bzero used by FD_ZERO */
-# endif
-# if (defined(SVR4) || defined(CRAY) || defined(AIXV3)) && !defined(FD_SETSIZE)
-# include <sys/select.h> /* select system call interface */
-# ifdef luna
-# include <sysent.h>
-# endif
-# endif
- /* AIX 4.2 fubar-ed <sys/select.h>, so go to heroic measures to get it */
-# if defined(AIXV4) && !defined(NFDBITS)
-# include <sys/select.h>
-# endif
-#endif /* !_WIN32 */
-
-#include <sys/types.h>
-
-#if defined(__OS2__)
-//??? ­ ä¨£  ?? # include <sys/time.h>
-#elif !defined(_WIN32)
-# if defined(__vms) && ( __VMS_VER < 70000000 )
-# include <sys/time.h>
-# else
-# ifndef __vms
-# include <sys/time.h>
-# endif
-# endif
-# include <unistd.h>
-# include <X11/Xlib.h>
-# include <X11/keysym.h>
-#else
-# ifdef __CYGWIN32__
-# include <sys/time.h>
-# else
-# include <sys/timeb.h>
-# endif
-# ifdef __hpux
- /* XXX Bert Gijsbers <bert@mc.bio.uva.nl> reports that HP-UX
- needs different keysyms for the End, Insert, and Delete keys
- to work on an HP 715. It would be better if HP generated
- standard keysyms for standard keys. */
-# include <X11/HPkeysym.h>
-# endif
-#endif /* !_WIN32 */
-
-#include "glutint.h"
-
-#if defined(__vms) && ( __VMS_VER < 70000000 )
-#include <ssdef.h>
-#include <psldef.h>
-extern int SYS$CLREF(int efn);
-extern int SYS$SETIMR(unsigned int efn, struct timeval6 *timeout, void *ast,
- unsigned int request_id, unsigned int flags);
-extern int SYS$WFLOR(unsigned int efn, unsigned int mask);
-extern int SYS$CANTIM(unsigned int request_id, unsigned int mode);
-#endif /* __vms, VMs 6.2 or earlier */
-
-static GLUTtimer *freeTimerList = NULL;
-
-GLUTidleCB __glutIdleFunc = NULL;
-GLUTtimer *__glutTimerList = NULL;
-#ifdef SUPPORT_FORTRAN
-GLUTtimer *__glutNewTimer;
-#endif
-GLUTwindow *__glutWindowWorkList = NULL;
-GLUTmenu *__glutMappedMenu;
-GLUTmenu *__glutCurrentMenu = NULL;
-
-void (*__glutUpdateInputDeviceMaskFunc) (GLUTwindow *);
-#if !defined(_WIN32) && !defined(__OS2__)
-void (*__glutMenuItemEnterOrLeave)(GLUTmenuItem * item, int num, int type) = NULL;
-void (*__glutFinishMenu)(Window win, int x, int y);
-void (*__glutPaintMenu)(GLUTmenu * menu);
-void (*__glutStartMenu)(GLUTmenu * menu, GLUTwindow * window, int x, int y, int x_win, int y_win);
-GLUTmenu * (*__glutGetMenuByNum)(int menunum);
-GLUTmenuItem * (*__glutGetMenuItem)(GLUTmenu * menu, Window win, int *which);
-GLUTmenu * (*__glutGetMenu)(Window win);
-#endif
-
-Atom __glutMotifHints = None;
-/* Modifier mask of ~0 implies not in core input callback. */
-unsigned int __glutModifierMask = (unsigned int) ~0;
-int __glutWindowDamaged = 0;
-
-void GLUTAPIENTRY
-glutIdleFunc(GLUTidleCB idleFunc)
-{
- __glutIdleFunc = idleFunc;
-}
-
-void GLUTAPIENTRY
-glutTimerFunc(unsigned int interval, GLUTtimerCB timerFunc, int value)
-{
- GLUTtimer *timer, *other;
- GLUTtimer **prevptr;
-#ifdef OLD_VMS
- struct timeval6 now;
-#else
- struct timeval now;
-#endif
-
- if (!timerFunc)
- return;
-
- if (freeTimerList) {
- timer = freeTimerList;
- freeTimerList = timer->next;
- } else {
- timer = (GLUTtimer *) malloc(sizeof(GLUTtimer));
- if (!timer)
- __glutFatalError("out of memory.");
- }
-
- timer->func = timerFunc;
-#if defined(__vms) && ( __VMS_VER < 70000000 )
- /* VMS time is expressed in units of 100 ns */
- timer->timeout.val = interval * TICKS_PER_MILLISECOND;
-#else
- timer->timeout.tv_sec = (int) interval / 1000;
- timer->timeout.tv_usec = (int) (interval % 1000) * 1000;
-#endif
- timer->value = value;
- timer->next = NULL;
- GETTIMEOFDAY(&now);
- ADD_TIME(timer->timeout, timer->timeout, now);
- prevptr = &__glutTimerList;
- other = *prevptr;
- while (other && IS_AFTER(other->timeout, timer->timeout)) {
- prevptr = &other->next;
- other = *prevptr;
- }
- timer->next = other;
-#ifdef SUPPORT_FORTRAN
- __glutNewTimer = timer; /* for Fortran binding! */
-#endif
- *prevptr = timer;
-}
-
-void
-handleTimeouts(void)
-{
-#ifdef OLD_VMS
- struct timeval6 now;
-#else
- struct timeval now;
-#endif
- GLUTtimer *timer;
-
- /* Assumption is that __glutTimerList is already determined
- to be non-NULL. */
- GETTIMEOFDAY(&now);
- while (IS_AT_OR_AFTER(__glutTimerList->timeout, now)) {
- timer = __glutTimerList;
- timer->func(timer->value);
- __glutTimerList = timer->next;
- timer->next = freeTimerList;
- freeTimerList = timer;
- if (!__glutTimerList)
- break;
- }
-}
-
-void
-__glutPutOnWorkList(GLUTwindow * window, int workMask)
-{
- if (window->workMask) {
- /* Already on list; just OR in new workMask. */
- window->workMask |= workMask;
- } else {
- /* Update work mask and add to window work list. */
- window->workMask = workMask;
- /* Assert that if the window does not have a
- workMask already, the window should definitely
- not be the head of the work list. */
- assert(window != __glutWindowWorkList);
- window->prevWorkWin = __glutWindowWorkList;
- __glutWindowWorkList = window;
- }
-}
-
-void
-__glutPostRedisplay(GLUTwindow * window, int layerMask)
-{
- int shown = (layerMask & (GLUT_REDISPLAY_WORK | GLUT_REPAIR_WORK)) ?
- window->shownState : window->overlay->shownState;
-
- /* Post a redisplay if the window is visible (or the
- visibility of the window is unknown, ie. window->visState
- == -1) _and_ the layer is known to be shown. */
- if (window->visState != GLUT_HIDDEN
- && window->visState != GLUT_FULLY_COVERED && shown) {
- __glutPutOnWorkList(window, layerMask);
- }
-}
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutPostRedisplay(void)
-{
- __glutPostRedisplay(__glutCurrentWindow, GLUT_REDISPLAY_WORK);
-}
-
-/* The advantage of this routine is that it saves the cost of a
- glutSetWindow call (entailing an expensive OpenGL context switch),
- particularly useful when multiple windows need redisplays posted at
- the same times. See also glutPostWindowOverlayRedisplay. */
-void GLUTAPIENTRY
-glutPostWindowRedisplay(int win)
-{
- __glutPostRedisplay(__glutWindowList[win - 1], GLUT_REDISPLAY_WORK);
-}
-
-/* ENDCENTRY */
-static GLUTeventParser *eventParserList = NULL;
-
-/* __glutRegisterEventParser allows another module to register
- to intercept X events types not otherwise acted on by the
- GLUT processEventsAndTimeouts routine. The X Input
- extension support code uses an event parser for handling X
- Input extension events. */
-
-void
-__glutRegisterEventParser(GLUTeventParser * parser)
-{
- parser->next = eventParserList;
- eventParserList = parser;
-}
-
-static void
-markWindowHidden(GLUTwindow * window)
-{
- if (GLUT_HIDDEN != window->visState) {
- GLUTwindow *child;
-
- if (window->windowStatus) {
- window->visState = GLUT_HIDDEN;
- __glutSetWindow(window);
- window->windowStatus(GLUT_HIDDEN);
- }
- /* An unmap is only reported on a single window; its
- descendents need to know they are no longer visible. */
- child = window->children;
- while (child) {
- markWindowHidden(child);
- child = child->siblings;
- }
- }
-}
-
-#if !defined(_WIN32) && !defined(__OS2__)
-
-static void
-purgeStaleWindow(Window win)
-{
- GLUTstale **pEntry = &__glutStaleWindowList;
- GLUTstale *entry = __glutStaleWindowList;
-
- /* Tranverse singly-linked stale window list look for the
- window ID. */
- while (entry) {
- if (entry->win == win) {
- /* Found it; delete it. */
- *pEntry = entry->next;
- free(entry);
- return;
- } else {
- pEntry = &entry->next;
- entry = *pEntry;
- }
- }
-}
-
-/* Unlike XNextEvent, if a signal arrives,
- interruptibleXNextEvent will return (with a zero return
- value). This helps GLUT drop out of XNextEvent if a signal
- is delivered. The intent is so that a GLUT program can call
- glutIdleFunc in a signal handler to register an idle func
- and then immediately get dropped into the idle func (after
- returning from the signal handler). The idea is to make
- GLUT's main loop reliably interruptible by signals. */
-static int
-interruptibleXNextEvent(Display * dpy, XEvent * event)
-{
- fd_set fds;
- int rc;
-
- /* Flush X protocol since XPending does not do this
- implicitly. */
- XFlush(__glutDisplay);
- for (;;) {
- if (XPending(__glutDisplay)) {
- XNextEvent(dpy, event);
- return 1;
- }
-#ifndef VMS
- /* the combination ConectionNumber-select is buggy on VMS. Sometimes it
- * fails. This part of the code hangs the program on VMS7.2. But even
- * without it the program seems to run correctly.
- * Note that this is a bug in the VMS/DECWindows run-time-libraries.
- * Compaq engeneering does not want or is not able to make a fix.
- * (last sentence is a quotation from Compaq when I reported the
- * problem January 2000) */
- FD_ZERO(&fds);
- FD_SET(__glutConnectionFD, &fds);
- rc = select(__glutConnectionFD + 1, &fds, NULL, NULL, NULL);
- if (rc < 0) {
- if (errno == EINTR) {
- return 0;
- } else {
- __glutFatalError("select error.");
- }
- }
-#endif
- }
-}
-
-#endif
-
-static void
-processEventsAndTimeouts(void)
-{
- do {
-#if defined(__OS2__)
- QMSG qmsg; /* message from message queue */
- extern HAB hab; /* PM anchor block handle */
-
- if(! WinGetMsg( hab, &qmsg, 0UL, 0UL, 0UL ) )
- exit(0);
- WinDispatchMsg( hab, /* PM anchor block handle */
- &qmsg ); /* pointer to message */
-
-#elif defined(_WIN32)
- MSG event;
-
- if(!GetMessage(&event, NULL, 0, 0)) /* bail if no more messages */
- exit(0);
- TranslateMessage(&event); /* translate virtual-key messages */
- DispatchMessage(&event); /* call the window proc */
- /* see win32_event.c for event (message) processing procedures */
-#else
- static int mappedMenuButton;
- GLUTeventParser *parser;
- XEvent event, ahead;
- GLUTwindow *window;
- GLUTkeyboardCB keyboard;
- GLUTspecialCB special;
- int gotEvent, width, height;
-
- gotEvent = interruptibleXNextEvent(__glutDisplay, &event);
- if (gotEvent) {
- switch (event.type) {
- case MappingNotify:
- XRefreshKeyboardMapping((XMappingEvent *) & event);
- break;
- case ConfigureNotify:
- window = __glutGetWindow(event.xconfigure.window);
- if (window) {
- if (window->win != event.xconfigure.window) {
- /* Ignore ConfigureNotify sent to the overlay
- planes. GLUT could get here because overlays
- select for StructureNotify events to receive
- DestroyNotify. */
- break;
- }
- width = event.xconfigure.width;
- height = event.xconfigure.height;
- if (width != window->width || height != window->height) {
- if (window->overlay) {
- XResizeWindow(__glutDisplay, window->overlay->win, width, height);
- }
- window->width = width;
- window->height = height;
- __glutSetWindow(window);
- /* Do not execute OpenGL out of sequence with
- respect to the XResizeWindow request! */
- glXWaitX();
- window->reshape(width, height);
- window->forceReshape = False;
- /* A reshape should be considered like posting a
- repair; this is necessary for the "Mesa
- glXSwapBuffers to repair damage" hack to operate
- correctly. Without it, there's not an initial
- back buffer render from which to blit from when
- damage happens to the window. */
- __glutPostRedisplay(window, GLUT_REPAIR_WORK);
- }
- }
- break;
- case Expose:
- /* compress expose events */
- while (XEventsQueued(__glutDisplay, QueuedAfterReading)
- > 0) {
- XPeekEvent(__glutDisplay, &ahead);
- if (ahead.type != Expose ||
- ahead.xexpose.window != event.xexpose.window) {
- break;
- }
- XNextEvent(__glutDisplay, &event);
- }
- if (event.xexpose.count == 0) {
- GLUTmenu *menu;
-
- if (__glutMappedMenu &&
- (menu = __glutGetMenu(event.xexpose.window))) {
- __glutPaintMenu(menu);
- } else {
- window = __glutGetWindow(event.xexpose.window);
- if (window) {
- if (window->win == event.xexpose.window) {
- __glutPostRedisplay(window, GLUT_REPAIR_WORK);
- } else if (window->overlay && window->overlay->win == event.xexpose.window) {
- __glutPostRedisplay(window, GLUT_OVERLAY_REPAIR_WORK);
- }
- }
- }
- } else {
- /* there are more exposes to read; wait to redisplay */
- }
- break;
- case ButtonPress:
- case ButtonRelease:
- if (__glutMappedMenu && event.type == ButtonRelease
- && mappedMenuButton == event.xbutton.button) {
- /* Menu is currently popped up and its button is
- released. */
- __glutFinishMenu(event.xbutton.window, event.xbutton.x, event.xbutton.y);
- } else {
- window = __glutGetWindow(event.xbutton.window);
- if (window) {
- GLUTmenu *menu;
- int menuNum;
-
- menuNum = window->menu[event.xbutton.button - 1];
- /* Make sure that __glutGetMenuByNum is only called if there
- really is a menu present. */
- if ((menuNum > 0) && (menu = __glutGetMenuByNum(menuNum))) {
- if (event.type == ButtonPress && !__glutMappedMenu) {
- __glutStartMenu(menu, window,
- event.xbutton.x_root, event.xbutton.y_root,
- event.xbutton.x, event.xbutton.y);
- mappedMenuButton = event.xbutton.button;
- } else {
- /* Ignore a release of a button with a menu
- attatched to it when no menu is popped up,
- or ignore a press when another menu is
- already popped up. */
- }
- } else if (window->mouse) {
- __glutSetWindow(window);
- __glutModifierMask = event.xbutton.state;
- window->mouse(event.xbutton.button - 1,
- event.type == ButtonRelease ?
- GLUT_UP : GLUT_DOWN,
- event.xbutton.x, event.xbutton.y);
- __glutModifierMask = ~0;
- } else {
- /* Stray mouse events. Ignore. */
- }
- } else {
- /* Window might have been destroyed and all the
- events for the window may not yet be received. */
- }
- }
- break;
- case MotionNotify:
- if (!__glutMappedMenu) {
- window = __glutGetWindow(event.xmotion.window);
- if (window) {
- /* If motion function registered _and_ buttons held
- * down, call motion function... */
- if (window->motion && event.xmotion.state &
- (Button1Mask | Button2Mask | Button3Mask)) {
- __glutSetWindow(window);
- window->motion(event.xmotion.x, event.xmotion.y);
- }
- /* If passive motion function registered _and_
- buttons not held down, call passive motion
- function... */
- else if (window->passive &&
- ((event.xmotion.state &
- (Button1Mask | Button2Mask | Button3Mask)) ==
- 0)) {
- __glutSetWindow(window);
- window->passive(event.xmotion.x,
- event.xmotion.y);
- }
- }
- } else {
- /* Motion events are thrown away when a pop up menu
- is active. */
- }
- break;
- case KeyPress:
- case KeyRelease:
- window = __glutGetWindow(event.xkey.window);
- if (!window) {
- break;
- }
- if (event.type == KeyPress) {
- keyboard = window->keyboard;
- } else {
-
- /* If we are ignoring auto repeated keys for this window,
- check if the next event in the X event queue is a KeyPress
- for the exact same key (and at the exact same time) as the
- key being released. The X11 protocol will send auto
- repeated keys as such KeyRelease/KeyPress pairs. */
-
- if (window->ignoreKeyRepeat) {
- if (XEventsQueued(__glutDisplay, QueuedAfterReading)) {
- XPeekEvent(__glutDisplay, &ahead);
- if (ahead.type == KeyPress
- && ahead.xkey.window == event.xkey.window
- && ahead.xkey.keycode == event.xkey.keycode
- && ahead.xkey.time == event.xkey.time) {
- /* Pop off the repeated KeyPress and ignore
- the auto repeated KeyRelease/KeyPress pair. */
- XNextEvent(__glutDisplay, &event);
- break;
- }
- }
- }
- keyboard = window->keyboardUp;
- }
- if (keyboard) {
- char tmp[1];
- int rc;
-
- rc = XLookupString(&event.xkey, tmp, sizeof(tmp),
- NULL, NULL);
- if (rc) {
- __glutSetWindow(window);
- __glutModifierMask = event.xkey.state;
- keyboard(tmp[0],
- event.xkey.x, event.xkey.y);
- __glutModifierMask = ~0;
- break;
- }
- }
- if (event.type == KeyPress) {
- special = window->special;
- } else {
- special = window->specialUp;
- }
- if (special) {
- KeySym ks;
- int key;
-
-/* Introduced in X11R6: (Partial list of) Keypad Functions. Define
- in place in case compiling against an older pre-X11R6
- X11/keysymdef.h file. */
-#ifndef XK_KP_Home
-#define XK_KP_Home 0xFF95
-#endif
-#ifndef XK_KP_Left
-#define XK_KP_Left 0xFF96
-#endif
-#ifndef XK_KP_Up
-#define XK_KP_Up 0xFF97
-#endif
-#ifndef XK_KP_Right
-#define XK_KP_Right 0xFF98
-#endif
-#ifndef XK_KP_Down
-#define XK_KP_Down 0xFF99
-#endif
-#ifndef XK_KP_Prior
-#define XK_KP_Prior 0xFF9A
-#endif
-#ifndef XK_KP_Next
-#define XK_KP_Next 0xFF9B
-#endif
-#ifndef XK_KP_End
-#define XK_KP_End 0xFF9C
-#endif
-#ifndef XK_KP_Insert
-#define XK_KP_Insert 0xFF9E
-#endif
-#ifndef XK_KP_Delete
-#define XK_KP_Delete 0xFF9F
-#endif
-
- ks = XLookupKeysym((XKeyEvent *) & event, 0);
- /* XXX Verbose, but makes no assumptions about keysym
- layout. */
- switch (ks) {
-/* *INDENT-OFF* */
- /* function keys */
- case XK_F1: key = GLUT_KEY_F1; break;
- case XK_F2: key = GLUT_KEY_F2; break;
- case XK_F3: key = GLUT_KEY_F3; break;
- case XK_F4: key = GLUT_KEY_F4; break;
- case XK_F5: key = GLUT_KEY_F5; break;
- case XK_F6: key = GLUT_KEY_F6; break;
- case XK_F7: key = GLUT_KEY_F7; break;
- case XK_F8: key = GLUT_KEY_F8; break;
- case XK_F9: key = GLUT_KEY_F9; break;
- case XK_F10: key = GLUT_KEY_F10; break;
- case XK_F11: key = GLUT_KEY_F11; break;
- case XK_F12: key = GLUT_KEY_F12; break;
- /* directional keys */
- case XK_KP_Left:
- case XK_Left: key = GLUT_KEY_LEFT; break;
- case XK_KP_Up: /* Introduced in X11R6. */
- case XK_Up: key = GLUT_KEY_UP; break;
- case XK_KP_Right: /* Introduced in X11R6. */
- case XK_Right: key = GLUT_KEY_RIGHT; break;
- case XK_KP_Down: /* Introduced in X11R6. */
- case XK_Down: key = GLUT_KEY_DOWN; break;
-/* *INDENT-ON* */
-
- case XK_KP_Prior: /* Introduced in X11R6. */
- case XK_Prior:
- /* XK_Prior same as X11R6's XK_Page_Up */
- key = GLUT_KEY_PAGE_UP;
- break;
- case XK_KP_Next: /* Introduced in X11R6. */
- case XK_Next:
- /* XK_Next same as X11R6's XK_Page_Down */
- key = GLUT_KEY_PAGE_DOWN;
- break;
- case XK_KP_Home: /* Introduced in X11R6. */
- case XK_Home:
- key = GLUT_KEY_HOME;
- break;
-#ifdef __hpux
- case XK_Select:
-#endif
- case XK_KP_End: /* Introduced in X11R6. */
- case XK_End:
- key = GLUT_KEY_END;
- break;
-#ifdef __hpux
- case XK_InsertChar:
-#endif
- case XK_KP_Insert: /* Introduced in X11R6. */
- case XK_Insert:
- key = GLUT_KEY_INSERT;
- break;
-#ifdef __hpux
- case XK_DeleteChar:
-#endif
- case XK_KP_Delete: /* Introduced in X11R6. */
- /* The Delete character is really an ASCII key. */
- __glutSetWindow(window);
- keyboard(127, /* ASCII Delete character. */
- event.xkey.x, event.xkey.y);
- goto skip;
- default:
- goto skip;
- }
- __glutSetWindow(window);
- __glutModifierMask = event.xkey.state;
- special(key, event.xkey.x, event.xkey.y);
- __glutModifierMask = ~0;
- skip:;
- }
- break;
- case EnterNotify:
- case LeaveNotify:
- if (event.xcrossing.mode != NotifyNormal ||
- event.xcrossing.detail == NotifyNonlinearVirtual ||
- event.xcrossing.detail == NotifyVirtual) {
-
- /* Careful to ignore Enter/LeaveNotify events that
- come from the pop-up menu pointer grab and ungrab.
- Also, ignore "virtual" Enter/LeaveNotify events
- since they represent the pointer passing through
- the window hierarchy without actually entering or
- leaving the actual real estate of a window. */
-
- break;
- }
- if (__glutMappedMenu) {
- GLUTmenuItem *item;
- int num;
-
- item = __glutGetMenuItem(__glutMappedMenu,
- event.xcrossing.window, &num);
- if (item) {
- __glutMenuItemEnterOrLeave(item, num, event.type);
- break;
- }
- }
- window = __glutGetWindow(event.xcrossing.window);
- if (window) {
- if (window->entry) {
- if (event.type == EnterNotify) {
-
- /* With overlays established, X can report two
- enter events for both the overlay and normal
- plane window. Do not generate a second enter
- callback if we reported one without an
- intervening leave. */
-
- if (window->entryState != EnterNotify) {
- int num = window->num;
- Window xid = window->win;
-
- window->entryState = EnterNotify;
- __glutSetWindow(window);
- window->entry(GLUT_ENTERED);
-
- if (__glutMappedMenu) {
-
- /* Do not generate any passive motion events
- when menus are in use. */
-
- } else {
-
- /* An EnterNotify event can result in a
- "compound" callback if a passive motion
- callback is also registered. In this case,
- be a little paranoid about the possibility
- the window could have been destroyed in the
- entry callback. */
-
- window = __glutWindowList[num];
- if (window && window->passive && window->win == xid) {
- __glutSetWindow(window);
- window->passive(event.xcrossing.x, event.xcrossing.y);
- }
- }
- }
- } else {
- if (window->entryState != LeaveNotify) {
-
- /* When an overlay is established for a window
- already mapped and with the pointer in it,
- the X server will generate a leave/enter
- event pair as the pointer leaves (without
- moving) from the normal plane X window to
- the newly mapped overlay X window (or vice
- versa). This enter/leave pair should not be
- reported to the GLUT program since the pair
- is a consequence of creating (or destroying)
- the overlay, not an actual leave from the
- GLUT window. */
-
- if (XEventsQueued(__glutDisplay, QueuedAfterReading)) {
- XPeekEvent(__glutDisplay, &ahead);
- if (ahead.type == EnterNotify &&
- __glutGetWindow(ahead.xcrossing.window) == window) {
- XNextEvent(__glutDisplay, &event);
- break;
- }
- }
- window->entryState = LeaveNotify;
- __glutSetWindow(window);
- window->entry(GLUT_LEFT);
- }
- }
- } else if (window->passive) {
- __glutSetWindow(window);
- window->passive(event.xcrossing.x, event.xcrossing.y);
- }
- }
- break;
- case UnmapNotify:
- /* MapNotify events are not needed to maintain
- visibility state since VisibilityNotify events will
- be delivered when a window becomes visible from
- mapping. However, VisibilityNotify events are not
- delivered when a window is unmapped (for the window
- or its children). */
- window = __glutGetWindow(event.xunmap.window);
- if (window) {
- if (window->win != event.xconfigure.window) {
- /* Ignore UnmapNotify sent to the overlay planes.
- GLUT could get here because overlays select for
- StructureNotify events to receive DestroyNotify.
- */
- break;
- }
- markWindowHidden(window);
- }
- break;
- case VisibilityNotify:
- window = __glutGetWindow(event.xvisibility.window);
- if (window) {
- /* VisibilityUnobscured+1 = GLUT_FULLY_RETAINED,
- VisibilityPartiallyObscured+1 =
- GLUT_PARTIALLY_RETAINED, VisibilityFullyObscured+1
- = GLUT_FULLY_COVERED. */
- int visState = event.xvisibility.state + 1;
-
- if (visState != window->visState) {
- if (window->windowStatus) {
- window->visState = visState;
- __glutSetWindow(window);
- window->windowStatus(visState);
- }
- }
- }
- break;
- case ClientMessage:
- if (event.xclient.data.l[0] == __glutWMDeleteWindow)
- exit(0);
- break;
- case DestroyNotify:
- purgeStaleWindow(event.xdestroywindow.window);
- break;
- case CirculateNotify:
- case CreateNotify:
- case GravityNotify:
- case ReparentNotify:
- /* Uninteresting to GLUT (but possible for GLUT to
- receive). */
- break;
- default:
- /* Pass events not directly handled by the GLUT main
- event loop to any event parsers that have been
- registered. In this way, X Input extension events
- are passed to the correct handler without forcing
- all GLUT programs to support X Input event handling.
- */
- parser = eventParserList;
- while (parser) {
- if (parser->func(&event))
- break;
- parser = parser->next;
- }
- break;
- }
- }
-#endif /* _WIN32 */
- if (__glutTimerList) {
- handleTimeouts();
- }
- }
- while (XPending(__glutDisplay));
-}
-
-static void
-waitForSomething(void)
-{
-#if defined(__vms) && ( __VMS_VER < 70000000 )
- static struct timeval6 zerotime =
- {0};
- unsigned int timer_efn;
-#define timer_id 'glut' /* random :-) number */
- unsigned int wait_mask;
-#else
- static struct timeval zerotime =
- {0, 0};
-#if defined(__OS2__)
-
-#elif !defined(_WIN32)
- fd_set fds;
-#endif
-#endif
-#ifdef OLD_VMS
- struct timeval6 now, timeout, waittime;
-#else
- struct timeval now, timeout, waittime;
-#endif
-#if !defined(_WIN32)
- int rc;
-#endif
-
- /* Flush X protocol since XPending does not do this
- implicitly. */
- XFlush(__glutDisplay);
- if (XPending(__glutDisplay)) {
- /* It is possible (but quite rare) that XFlush may have
- needed to wait for a writable X connection file
- descriptor, and in the process, may have had to read off
- X protocol from the file descriptor. If XPending is true,
- this case occured and we should avoid waiting in select
- since X protocol buffered within Xlib is due to be
- processed and potentially no more X protocol is on the
- file descriptor, so we would risk waiting improperly in
- select. */
- goto immediatelyHandleXinput;
- }
-#if defined(__vms) && ( __VMS_VER < 70000000 )
- timeout = __glutTimerList->timeout;
- GETTIMEOFDAY(&now);
- wait_mask = 1 << (__glutConnectionFD & 31);
- if (IS_AFTER(now, timeout)) {
- /* We need an event flag for the timer. */
- /* XXX The `right' way to do this is to use LIB$GET_EF, but
- since it needs to be in the same cluster as the EFN for
- the display, we will have hack it. */
- timer_efn = __glutConnectionFD - 1;
- if ((timer_efn / 32) != (__glutConnectionFD / 32)) {
- timer_efn = __glutConnectionFD + 1;
- }
- rc = SYS$CLREF(timer_efn);
- rc = SYS$SETIMR(timer_efn, &timeout, NULL, timer_id, 0);
- wait_mask |= 1 << (timer_efn & 31);
- } else {
- timer_efn = 0;
- }
- rc = SYS$WFLOR(__glutConnectionFD, wait_mask);
- if (timer_efn != 0 && SYS$CLREF(timer_efn) == SS$_WASCLR) {
- rc = SYS$CANTIM(timer_id, PSL$C_USER);
- }
- /* XXX There does not seem to be checking of "rc" in the code
- above. Can any of the SYS$ routines above fail? */
-#else /* not vms6.2 or lower */
-#if defined(__OS2__)
-
-#elif !defined(_WIN32)
- FD_ZERO(&fds);
- FD_SET(__glutConnectionFD, &fds);
-#endif
- timeout = __glutTimerList->timeout;
- GETTIMEOFDAY(&now);
- if (IS_AFTER(now, timeout)) {
- TIMEDELTA(waittime, timeout, now);
- } else {
- waittime = zerotime;
- }
-
-#if defined(__OS2__)
- DosSleep(0);
-#elif !defined(_WIN32)
- rc = select(__glutConnectionFD + 1, &fds,
- NULL, NULL, &waittime);
- if (rc < 0 && errno != EINTR)
- __glutFatalError("select error.");
-#else
-
- MsgWaitForMultipleObjects(0, NULL, FALSE,
- waittime.tv_sec*1000 + waittime.tv_usec/1000, QS_ALLINPUT);
-
-#endif
-#endif /* not vms6.2 or lower */
- /* Without considering the cause of select unblocking, check
- for pending X events and handle any timeouts (by calling
- processEventsAndTimeouts). We always look for X events
- even if select returned with 0 (indicating a timeout);
- otherwise we risk starving X event processing by continous
- timeouts. */
- if (XPending(__glutDisplay)) {
- immediatelyHandleXinput:
- processEventsAndTimeouts();
- } else {
- if (__glutTimerList)
- handleTimeouts();
- }
-}
-
-static void
-idleWait(void)
-{
- if (XPending(__glutDisplay)) {
- processEventsAndTimeouts();
- } else {
- if (__glutTimerList) {
- handleTimeouts();
- }
- }
- /* Make sure idle func still exists! */
- if (__glutIdleFunc) {
- __glutIdleFunc();
- }
-}
-
-static GLUTwindow **beforeEnd;
-
-static GLUTwindow *
-processWindowWorkList(GLUTwindow * window)
-{
- int workMask;
-
- if (window->prevWorkWin) {
- window->prevWorkWin = processWindowWorkList(window->prevWorkWin);
- } else {
- beforeEnd = &window->prevWorkWin;
- }
-
- /* Capture work mask for work that needs to be done to this
- window, then clear the window's work mask (excepting the
- dummy work bit, see below). Then, process the captured
- work mask. This allows callbacks in the processing the
- captured work mask to set the window's work mask for
- subsequent processing. */
-
- workMask = window->workMask;
- assert((workMask & GLUT_DUMMY_WORK) == 0);
-
- /* Set the dummy work bit, clearing all other bits, to
- indicate that the window is currently on the window work
- list _and_ that the window's work mask is currently being
- processed. This convinces __glutPutOnWorkList that this
- window is on the work list still. */
- window->workMask = GLUT_DUMMY_WORK;
-
- /* Optimization: most of the time, the work to do is a
- redisplay and not these other types of work. Check for
- the following cases as a group to before checking each one
- individually one by one. This saves about 25 MIPS
- instructions in the common redisplay only case. */
- if (workMask & (GLUT_EVENT_MASK_WORK | GLUT_DEVICE_MASK_WORK |
- GLUT_CONFIGURE_WORK | GLUT_COLORMAP_WORK | GLUT_MAP_WORK)) {
-
-#if !defined(_WIN32) && !defined(__OS2__)
- /* Be sure to set event mask BEFORE map window is done. */
- if (workMask & GLUT_EVENT_MASK_WORK) {
- long eventMask;
-
- /* Make sure children are not propogating events this
- window is selecting for. Be sure to do this before
- enabling events on the children's parent. */
- if (window->children) {
- GLUTwindow *child = window->children;
- unsigned long attribMask = CWDontPropagate;
- XSetWindowAttributes wa;
-
- wa.do_not_propagate_mask = window->eventMask & GLUT_DONT_PROPAGATE_FILTER_MASK;
- if (window->eventMask & GLUT_HACK_STOP_PROPAGATE_MASK) {
- wa.event_mask = child->eventMask | (window->eventMask & GLUT_HACK_STOP_PROPAGATE_MASK);
- attribMask |= CWEventMask;
- }
- do {
- XChangeWindowAttributes(__glutDisplay, child->win,
- attribMask, &wa);
- child = child->siblings;
- } while (child);
- }
- eventMask = window->eventMask;
- if (window->parent && window->parent->eventMask & GLUT_HACK_STOP_PROPAGATE_MASK)
- eventMask |= (window->parent->eventMask & GLUT_HACK_STOP_PROPAGATE_MASK);
- XSelectInput(__glutDisplay, window->win, eventMask);
- if (window->overlay)
- XSelectInput(__glutDisplay, window->overlay->win,
- window->eventMask & GLUT_OVERLAY_EVENT_FILTER_MASK);
- }
-#endif /* !_WIN32 */
- /* Be sure to set device mask BEFORE map window is done. */
- if (workMask & GLUT_DEVICE_MASK_WORK) {
- __glutUpdateInputDeviceMaskFunc(window);
- }
- /* Be sure to configure window BEFORE map window is done. */
- if (workMask & GLUT_CONFIGURE_WORK) {
-#if defined(__OS2__)
- RECTL changes;
-
-#elif defined(_WIN32)
- RECT changes;
- POINT point;
- UINT flags = SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOOWNERZORDER
- | SWP_NOSENDCHANGING | SWP_NOSIZE | SWP_NOZORDER;
-
- GetClientRect(window->win, &changes);
-
- /* If this window is a toplevel window, translate the 0,0 client
- coordinate into a screen coordinate for proper placement. */
- if (!window->parent) {
- point.x = 0;
- point.y = 0;
- ClientToScreen(window->win, &point);
- changes.left = point.x;
- changes.top = point.y;
- }
- if (window->desiredConfMask & (CWX | CWY)) {
- changes.left = window->desiredX;
- changes.top = window->desiredY;
- flags &= ~SWP_NOMOVE;
- }
- if (window->desiredConfMask & (CWWidth | CWHeight)) {
- changes.right = changes.left + window->desiredWidth;
- changes.bottom = changes.top + window->desiredHeight;
- flags &= ~SWP_NOSIZE;
- /* XXX If overlay exists, resize the overlay here, ie.
- if (window->overlay) ... */
- }
- if (window->desiredConfMask & CWStackMode) {
- flags &= ~SWP_NOZORDER;
- /* XXX Overlay support might require something special here. */
- }
-
- /* Adjust the window rectangle because Win32 thinks that the x, y,
- width & height are the WHOLE window (including decorations),
- whereas GLUT treats the x, y, width & height as only the CLIENT
- area of the window. Only do this to top level windows
- that are not in game mode (since game mode windows do
- not have any decorations). */
- if (!window->parent && window != __glutGameModeWindow) {
- AdjustWindowRect(&changes,
- WS_OVERLAPPEDWINDOW | WS_CLIPSIBLINGS | WS_CLIPCHILDREN,
- FALSE);
- }
-
- /* Do the repositioning, moving, and push/pop. */
- SetWindowPos(window->win,
- window->desiredStack == Above ? HWND_TOP : HWND_NOTOPMOST,
- changes.left, changes.top,
- changes.right - changes.left, changes.bottom - changes.top,
- flags);
-
- /* Zero out the mask. */
- window->desiredConfMask = 0;
-
- /* This hack causes the window to go back to the right position
- when it is taken out of fullscreen mode. */
- if (workMask & GLUT_FULL_SCREEN_WORK) {
- window->desiredConfMask |= CWX | CWY;
- window->desiredX = point.x;
- window->desiredY = point.y;
- }
-#else /* !_WIN32 */
- XWindowChanges changes;
-
- changes.x = window->desiredX;
- changes.y = window->desiredY;
- if (window->desiredConfMask & (CWWidth | CWHeight)) {
- changes.width = window->desiredWidth;
- changes.height = window->desiredHeight;
- if (window->overlay)
- XResizeWindow(__glutDisplay, window->overlay->win,
- window->desiredWidth, window->desiredHeight);
- if (__glutMotifHints != None) {
- if (workMask & GLUT_FULL_SCREEN_WORK) {
- MotifWmHints hints;
-
- hints.flags = MWM_HINTS_DECORATIONS;
- hints.decorations = 0; /* Absolutely no
- decorations. */
- XChangeProperty(__glutDisplay, window->win,
- __glutMotifHints, __glutMotifHints, 32,
- PropModeReplace, (unsigned char *) &hints, 4);
- if (workMask & GLUT_MAP_WORK) {
- /* Handle case where glutFullScreen is called
- before the first time that the window is
- mapped. Some window managers will randomly or
- interactively position the window the first
- time it is mapped if the window's
- WM_NORMAL_HINTS property does not request an
- explicit position. We don't want any such
- window manager interaction when going
- fullscreen. Overwrite the WM_NORMAL_HINTS
- property installed by glutCreateWindow's
- XSetWMProperties property with one explicitly
- requesting a fullscreen window. */
- XSizeHints hints;
-
- hints.flags = USPosition | USSize;
- hints.x = 0;
- hints.y = 0;
- hints.width = window->desiredWidth;
- hints.height = window->desiredHeight;
- XSetWMNormalHints(__glutDisplay, window->win, &hints);
- }
- } else {
- XDeleteProperty(__glutDisplay, window->win, __glutMotifHints);
- }
- }
- }
- if (window->desiredConfMask & CWStackMode) {
- changes.stack_mode = window->desiredStack;
- /* Do not let glutPushWindow push window beneath the
- underlay. */
- if (window->parent && window->parent->overlay
- && window->desiredStack == Below) {
- changes.stack_mode = Above;
- changes.sibling = window->parent->overlay->win;
- window->desiredConfMask |= CWSibling;
- }
- }
- XConfigureWindow(__glutDisplay, window->win,
- window->desiredConfMask, &changes);
- window->desiredConfMask = 0;
-#endif
- }
-#if !defined(_WIN32) && !defined(__OS2__)
- /* Be sure to establish the colormaps BEFORE map window is
- done. */
- if (workMask & GLUT_COLORMAP_WORK) {
- __glutEstablishColormapsProperty(window);
- }
-#endif
- if (workMask & GLUT_MAP_WORK) {
- switch (window->desiredMapState) {
- case WithdrawnState:
- if (window->parent) {
- XUnmapWindow(__glutDisplay, window->win);
- } else {
- XWithdrawWindow(__glutDisplay, window->win,
- __glutScreen);
- }
- window->shownState = 0;
- break;
- case NormalState:
- XMapWindow(__glutDisplay, window->win);
- window->shownState = 1;
- break;
-#ifdef _WIN32
- case GameModeState: /* Not an Xlib value. */
- ShowWindow(window->win, SW_SHOW);
- window->shownState = 1;
- break;
-#endif
- case IconicState:
- XIconifyWindow(__glutDisplay, window->win, __glutScreen);
- window->shownState = 0;
- break;
- }
- }
- }
- if (workMask & (GLUT_REDISPLAY_WORK | GLUT_OVERLAY_REDISPLAY_WORK | GLUT_REPAIR_WORK | GLUT_OVERLAY_REPAIR_WORK)) {
- if (window->forceReshape) {
- /* Guarantee that before a display callback is generated
- for a window, a reshape callback must be generated. */
- __glutSetWindow(window);
- window->reshape(window->width, window->height);
- window->forceReshape = False;
-
- /* Setting the redisplay bit on the first reshape is
- necessary to make the "Mesa glXSwapBuffers to repair
- damage" hack operate correctly. Without indicating a
- redisplay is necessary, there's not an initial back
- buffer render from which to blit from when damage
- happens to the window. */
- workMask |= GLUT_REDISPLAY_WORK;
- }
- /* The code below is more involved than otherwise necessary
- because it is paranoid about the overlay or entire window
- being removed or destroyed in the course of the callbacks.
- Notice how the global __glutWindowDamaged is used to record
- the layers' damage status. See the code in glutLayerGet for
- how __glutWindowDamaged is used. The point is to not have to
- update the "damaged" field after the callback since the
- window (or overlay) may be destroyed (or removed) when the
- callback returns. */
-
- if (window->overlay && window->overlay->display) {
- int num = window->num;
- Window xid = window->overlay ? window->overlay->win : None;
-
- /* If an overlay display callback is registered, we
- differentiate between a redisplay needed for the
- overlay and/or normal plane. If there is no overlay
- display callback registered, we simply use the
- standard display callback. */
-
- if (workMask & (GLUT_REDISPLAY_WORK | GLUT_REPAIR_WORK)) {
- if (__glutMesaSwapHackSupport) {
- if (window->usedSwapBuffers) {
- if ((workMask & (GLUT_REPAIR_WORK | GLUT_REDISPLAY_WORK)) == GLUT_REPAIR_WORK) {
- SWAP_BUFFERS_WINDOW(window);
- goto skippedDisplayCallback1;
- }
- }
- }
- /* Render to normal plane. */
-#ifdef _WIN32
- window->renderDc = window->hdc;
-#endif
- window->renderWin = window->win;
- window->renderCtx = window->ctx;
- __glutWindowDamaged = (workMask & GLUT_REPAIR_WORK);
- __glutSetWindow(window);
- window->usedSwapBuffers = 0;
- window->display();
- __glutWindowDamaged = 0;
-
- skippedDisplayCallback1:;
- }
- if (workMask & (GLUT_OVERLAY_REDISPLAY_WORK | GLUT_OVERLAY_REPAIR_WORK)) {
- window = __glutWindowList[num];
- if (window && window->overlay &&
- window->overlay->win == xid && window->overlay->display) {
-
- /* Render to overlay. */
-#ifdef _WIN32
- window->renderDc = window->overlay->hdc;
-#endif
- window->renderWin = window->overlay->win;
- window->renderCtx = window->overlay->ctx;
- __glutWindowDamaged = (workMask & GLUT_OVERLAY_REPAIR_WORK);
- __glutSetWindow(window);
- window->overlay->display();
- __glutWindowDamaged = 0;
- } else {
- /* Overlay may have since been destroyed or the
- overlay callback may have been disabled during
- normal display callback. */
- }
- }
- } else {
- if (__glutMesaSwapHackSupport) {
- if (!window->overlay && window->usedSwapBuffers) {
- if ((workMask & (GLUT_REPAIR_WORK | GLUT_REDISPLAY_WORK)) == GLUT_REPAIR_WORK) {
- SWAP_BUFFERS_WINDOW(window);
- goto skippedDisplayCallback2;
- }
- }
- }
- /* Render to normal plane (and possibly overlay). */
- __glutWindowDamaged = (workMask & (GLUT_OVERLAY_REPAIR_WORK | GLUT_REPAIR_WORK));
- __glutSetWindow(window);
- window->usedSwapBuffers = 0;
- window->display();
- __glutWindowDamaged = 0;
-
- skippedDisplayCallback2:;
- }
- }
- /* Combine workMask with window->workMask to determine what
- finish and debug work there is. */
- workMask |= window->workMask;
-
- if (workMask & GLUT_FINISH_WORK) {
- /* Finish work makes sure a glFinish gets done to indirect
- rendering contexts. Indirect contexts tend to have much
- longer latency because lots of OpenGL extension requests
- can queue up in the X protocol stream. __glutSetWindow
- is where the finish works gets queued for indirect
- contexts. */
- __glutSetWindow(window);
- glFinish();
- }
- if (workMask & GLUT_DEBUG_WORK) {
- __glutSetWindow(window);
- glutReportErrors();
- }
- /* Strip out dummy, finish, and debug work bits. */
- window->workMask &= ~(GLUT_DUMMY_WORK | GLUT_FINISH_WORK | GLUT_DEBUG_WORK);
- if (window->workMask) {
- /* Leave on work list. */
- return window;
- } else {
- /* Remove current window from work list. */
- return window->prevWorkWin;
- }
-}
-
-#ifndef _WIN32
-static /* X11 implementations do not need this global. */
-#endif
-void
-__glutProcessWindowWorkLists(void)
-{
- if (__glutWindowWorkList) {
- GLUTwindow *remainder, *work;
-
- work = __glutWindowWorkList;
- __glutWindowWorkList = NULL;
- if (work) {
- remainder = processWindowWorkList(work);
- if (remainder) {
- *beforeEnd = __glutWindowWorkList;
- __glutWindowWorkList = remainder;
- }
- }
- }
-}
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutMainLoop(void)
-{
-#if !defined(_WIN32)
- if (!__glutDisplay)
- __glutFatalUsage("main loop entered with out proper initialization.");
-#endif
- if (!__glutWindowListSize)
- __glutFatalUsage(
- "main loop entered with no windows created.");
- for (;;) {
- __glutProcessWindowWorkLists();
- if (__glutIdleFunc || __glutWindowWorkList) {
- idleWait();
- } else {
- if (__glutTimerList) {
- waitForSomething();
- } else {
- processEventsAndTimeouts();
- }
- }
- }
-}
-/* ENDCENTRY */
diff --git a/src/glut/os2/glut_ext.cpp b/src/glut/os2/glut_ext.cpp
deleted file mode 100644
index 6617fd6edb..0000000000
--- a/src/glut/os2/glut_ext.cpp
+++ /dev/null
@@ -1,204 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994, 1997. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include <stdlib.h>
-#include <string.h>
-
-#include "glutint.h"
-
-/* CENTRY */
-int GLUTAPIENTRY
-glutExtensionSupported(const char *extension)
-{
- static const GLubyte *extensions = NULL;
- const GLubyte *start;
- GLubyte *where, *terminator;
-
- /* Extension names should not have spaces. */
- where = (GLubyte *) strchr(extension, ' ');
- if (where || *extension == '\0')
- return 0;
-
- if (!extensions) {
- extensions = glGetString(GL_EXTENSIONS);
- }
- /* It takes a bit of care to be fool-proof about parsing the
- OpenGL extensions string. Don't be fooled by sub-strings,
- etc. */
- start = extensions;
- for (;;) {
- /* If your application crashes in the strstr routine below,
- you are probably calling glutExtensionSupported without
- having a current window. Calling glGetString without
- a current OpenGL context has unpredictable results.
- Please fix your program. */
- where = (GLubyte *) strstr((const char *) start, extension);
- if (!where)
- break;
- terminator = where + strlen(extension);
- if (where == start || *(where - 1) == ' ') {
- if (*terminator == ' ' || *terminator == '\0') {
- return 1;
- }
- }
- start = terminator;
- }
- return 0;
-}
-
-
-struct name_address_pair {
- const char *name;
- const void *address;
-};
-
-static struct name_address_pair glut_functions[] = {
- { "glutInit", (const void *) glutInit },
- { "glutInitDisplayMode", (const void *) glutInitDisplayMode },
- { "glutInitDisplayString", (const void *) glutInitDisplayString },
- { "glutInitWindowPosition", (const void *) glutInitWindowPosition },
- { "glutInitWindowSize", (const void *) glutInitWindowSize },
- { "glutMainLoop", (const void *) glutMainLoop },
- { "glutCreateWindow", (const void *) glutCreateWindow },
- { "glutCreateSubWindow", (const void *) glutCreateSubWindow },
- { "glutDestroyWindow", (const void *) glutDestroyWindow },
- { "glutPostRedisplay", (const void *) glutPostRedisplay },
- { "glutPostWindowRedisplay", (const void *) glutPostWindowRedisplay },
- { "glutSwapBuffers", (const void *) glutSwapBuffers },
- { "glutGetWindow", (const void *) glutGetWindow },
- { "glutSetWindow", (const void *) glutSetWindow },
- { "glutSetWindowTitle", (const void *) glutSetWindowTitle },
- { "glutSetIconTitle", (const void *) glutSetIconTitle },
- { "glutPositionWindow", (const void *) glutPositionWindow },
- { "glutReshapeWindow", (const void *) glutReshapeWindow },
- { "glutPopWindow", (const void *) glutPopWindow },
- { "glutPushWindow", (const void *) glutPushWindow },
- { "glutIconifyWindow", (const void *) glutIconifyWindow },
- { "glutShowWindow", (const void *) glutShowWindow },
- { "glutHideWindow", (const void *) glutHideWindow },
- { "glutFullScreen", (const void *) glutFullScreen },
- { "glutSetCursor", (const void *) glutSetCursor },
- { "glutWarpPointer", (const void *) glutWarpPointer },
- { "glutEstablishOverlay", (const void *) glutEstablishOverlay },
- { "glutRemoveOverlay", (const void *) glutRemoveOverlay },
- { "glutUseLayer", (const void *) glutUseLayer },
- { "glutPostOverlayRedisplay", (const void *) glutPostOverlayRedisplay },
- { "glutPostWindowOverlayRedisplay", (const void *) glutPostWindowOverlayRedisplay },
- { "glutShowOverlay", (const void *) glutShowOverlay },
- { "glutHideOverlay", (const void *) glutHideOverlay },
- { "glutCreateMenu", (const void *) glutCreateMenu },
- { "glutDestroyMenu", (const void *) glutDestroyMenu },
- { "glutGetMenu", (const void *) glutGetMenu },
- { "glutSetMenu", (const void *) glutSetMenu },
- { "glutAddMenuEntry", (const void *) glutAddMenuEntry },
- { "glutAddSubMenu", (const void *) glutAddSubMenu },
- { "glutChangeToMenuEntry", (const void *) glutChangeToMenuEntry },
- { "glutChangeToSubMenu", (const void *) glutChangeToSubMenu },
- { "glutRemoveMenuItem", (const void *) glutRemoveMenuItem },
- { "glutAttachMenu", (const void *) glutAttachMenu },
- { "glutDetachMenu", (const void *) glutDetachMenu },
- { "glutDisplayFunc", (const void *) glutDisplayFunc },
- { "glutReshapeFunc", (const void *) glutReshapeFunc },
- { "glutKeyboardFunc", (const void *) glutKeyboardFunc },
- { "glutMouseFunc", (const void *) glutMouseFunc },
- { "glutMotionFunc", (const void *) glutMotionFunc },
- { "glutPassiveMotionFunc", (const void *) glutPassiveMotionFunc },
- { "glutEntryFunc", (const void *) glutEntryFunc },
- { "glutVisibilityFunc", (const void *) glutVisibilityFunc },
- { "glutIdleFunc", (const void *) glutIdleFunc },
- { "glutTimerFunc", (const void *) glutTimerFunc },
- { "glutMenuStateFunc", (const void *) glutMenuStateFunc },
- { "glutSpecialFunc", (const void *) glutSpecialFunc },
- { "glutSpaceballMotionFunc", (const void *) glutSpaceballMotionFunc },
- { "glutSpaceballRotateFunc", (const void *) glutSpaceballRotateFunc },
- { "glutSpaceballButtonFunc", (const void *) glutSpaceballButtonFunc },
- { "glutButtonBoxFunc", (const void *) glutButtonBoxFunc },
- { "glutDialsFunc", (const void *) glutDialsFunc },
- { "glutTabletMotionFunc", (const void *) glutTabletMotionFunc },
- { "glutTabletButtonFunc", (const void *) glutTabletButtonFunc },
- { "glutMenuStatusFunc", (const void *) glutMenuStatusFunc },
- { "glutOverlayDisplayFunc", (const void *) glutOverlayDisplayFunc },
- { "glutWindowStatusFunc", (const void *) glutWindowStatusFunc },
- { "glutKeyboardUpFunc", (const void *) glutKeyboardUpFunc },
- { "glutSpecialUpFunc", (const void *) glutSpecialUpFunc },
- { "glutJoystickFunc", (const void *) glutJoystickFunc },
- { "glutSetColor", (const void *) glutSetColor },
- { "glutGetColor", (const void *) glutGetColor },
- { "glutCopyColormap", (const void *) glutCopyColormap },
- { "glutGet", (const void *) glutGet },
- { "glutDeviceGet", (const void *) glutDeviceGet },
- { "glutExtensionSupported", (const void *) glutExtensionSupported },
- { "glutGetModifiers", (const void *) glutGetModifiers },
- { "glutLayerGet", (const void *) glutLayerGet },
- { "glutGetProcAddress", (const void *) glutGetProcAddress },
- { "glutBitmapCharacter", (const void *) glutBitmapCharacter },
- { "glutBitmapWidth", (const void *) glutBitmapWidth },
- { "glutStrokeCharacter", (const void *) glutStrokeCharacter },
- { "glutStrokeWidth", (const void *) glutStrokeWidth },
- { "glutBitmapLength", (const void *) glutBitmapLength },
- { "glutStrokeLength", (const void *) glutStrokeLength },
- { "glutWireSphere", (const void *) glutWireSphere },
- { "glutSolidSphere", (const void *) glutSolidSphere },
- { "glutWireCone", (const void *) glutWireCone },
- { "glutSolidCone", (const void *) glutSolidCone },
- { "glutWireCube", (const void *) glutWireCube },
- { "glutSolidCube", (const void *) glutSolidCube },
- { "glutWireTorus", (const void *) glutWireTorus },
- { "glutSolidTorus", (const void *) glutSolidTorus },
- { "glutWireDodecahedron", (const void *) glutWireDodecahedron },
- { "glutSolidDodecahedron", (const void *) glutSolidDodecahedron },
- { "glutWireTeapot", (const void *) glutWireTeapot },
- { "glutSolidTeapot", (const void *) glutSolidTeapot },
- { "glutWireOctahedron", (const void *) glutWireOctahedron },
- { "glutSolidOctahedron", (const void *) glutSolidOctahedron },
- { "glutWireTetrahedron", (const void *) glutWireTetrahedron },
- { "glutSolidTetrahedron", (const void *) glutSolidTetrahedron },
- { "glutWireIcosahedron", (const void *) glutWireIcosahedron },
- { "glutSolidIcosahedron", (const void *) glutSolidIcosahedron },
- { "glutVideoResizeGet", (const void *) glutVideoResizeGet },
- { "glutSetupVideoResizing", (const void *) glutSetupVideoResizing },
- { "glutStopVideoResizing", (const void *) glutStopVideoResizing },
- { "glutVideoResize", (const void *) glutVideoResize },
- { "glutVideoPan", (const void *) glutVideoPan },
- { "glutReportErrors", (const void *) glutReportErrors },
- { "glutIgnoreKeyRepeat", (const void *) glutIgnoreKeyRepeat },
- { "glutSetKeyRepeat", (const void *) glutSetKeyRepeat },
- { "glutForceJoystickFunc", (const void *) glutForceJoystickFunc },
- { "glutGameModeString", (const void *) glutGameModeString },
- { "glutEnterGameMode", (const void *) glutEnterGameMode },
- { "glutLeaveGameMode", (const void *) glutLeaveGameMode },
- { "glutGameModeGet", (const void *) glutGameModeGet },
- { NULL, NULL }
-};
-
-
-/* XXX This isn't an official GLUT function, yet */
-void * GLUTAPIENTRY
-glutGetProcAddress(const char *procName)
-{
- /* Try GLUT functions first */
- int i;
- for (i = 0; glut_functions[i].name; i++) {
- if (strcmp(glut_functions[i].name, procName) == 0)
- return (void *) glut_functions[i].address;
- }
-
- /* Try core GL functions */
-#if defined(_WIN32)
- return (void *) wglGetProcAddress((LPCSTR) procName);
-
-#elif defined(__OS2PM__)
- return (void *) wglGetProcAddress((char *) procName);
-#elif defined(GLX_ARB_get_proc_address)
- return (void *) glXGetProcAddressARB((const GLubyte *) procName);
-#else
- return NULL;
-#endif
-}
-
-
-/* ENDCENTRY */
diff --git a/src/glut/os2/glut_fullscrn.cpp b/src/glut/os2/glut_fullscrn.cpp
deleted file mode 100644
index 584aba4fd8..0000000000
--- a/src/glut/os2/glut_fullscrn.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1995, 1998. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include <assert.h>
-
-#include "glutint.h"
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutFullScreen(void)
-{
- assert(!__glutCurrentWindow->parent);
- IGNORE_IN_GAME_MODE();
-#if !defined(_WIN32) && !defined(__OS2PM__)
- if (__glutMotifHints == None) {
- __glutMotifHints = XSGIFastInternAtom(__glutDisplay, "_MOTIF_WM_HINTS",
- SGI_XA__MOTIF_WM_HINTS, 0);
- if (__glutMotifHints == None) {
- __glutWarning("Could not intern X atom for _MOTIF_WM_HINTS.");
- }
- }
-#endif
-
- __glutCurrentWindow->desiredX = 0;
- __glutCurrentWindow->desiredY = 0;
- __glutCurrentWindow->desiredWidth = __glutScreenWidth;
- __glutCurrentWindow->desiredHeight = __glutScreenHeight;
- __glutCurrentWindow->desiredConfMask |= CWX | CWY | CWWidth | CWHeight;
-
- __glutPutOnWorkList(__glutCurrentWindow,
- GLUT_CONFIGURE_WORK | GLUT_FULL_SCREEN_WORK);
-}
-
-/* ENDCENTRY */
diff --git a/src/glut/os2/glut_gamemode.cpp b/src/glut/os2/glut_gamemode.cpp
deleted file mode 100644
index 1756e8a4b5..0000000000
--- a/src/glut/os2/glut_gamemode.cpp
+++ /dev/null
@@ -1,679 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1998. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-
-#include <assert.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "glutint.h"
-
-#if !defined(_WIN32) && !defined(__OS2__)
-#include <X11/Xlib.h>
-#include <X11/Xatom.h>
-
-/* SGI optimization introduced in IRIX 6.3 to avoid X server
- round trips for interning common X atoms. */
-#if defined(_SGI_EXTRA_PREDEFINES) && !defined(NO_FAST_ATOMS)
-#include <X11/SGIFastAtom.h>
-#else
-#define XSGIFastInternAtom(dpy,string,fast_name,how) XInternAtom(dpy,string,how)
-#endif
-#endif /* not _WIN32 */
-
-int __glutDisplaySettingsChanged = 0;
-static DisplayMode *dmodes, *currentDm = NULL;
-static int ndmodes = -1;
-GLUTwindow *__glutGameModeWindow = NULL;
-
-#ifdef TEST
-static char *compstr[] =
-{
- "none", "=", "!=", "<=", ">=", ">", "<", "~"
-};
-static char *capstr[] =
-{
- "width", "height", "bpp", "hertz", "num"
-};
-#endif
-
-#if defined(__OS2__)
-void
-#else
-void __cdecl
-#endif
-__glutCloseDownGameMode(void)
-{
- if (__glutDisplaySettingsChanged) {
-#ifdef _WIN32
- /* Assumes that display settings have been changed, that
- is __glutDisplaySettingsChanged is true. */
- ChangeDisplaySettings(NULL, 0);
-#endif
- __glutDisplaySettingsChanged = 0;
- }
- __glutGameModeWindow = NULL;
-}
-
-void GLUTAPIENTRY
-glutLeaveGameMode(void)
-{
- if (__glutGameModeWindow == NULL) {
- __glutWarning("not in game mode so cannot leave game mode");
- return;
- }
- __glutDestroyWindow(__glutGameModeWindow,
- __glutGameModeWindow);
- XFlush(__glutDisplay);
- __glutGameModeWindow = NULL;
-}
-
-#ifdef _WIN32
-
-/* Same values as from MSDN's SetDisp.c example. */
-#define MIN_WIDTH 400
-#define MIN_FREQUENCY 60
-
-static void
-initGameModeSupport(void)
-{
- DEVMODE dm;
- DWORD mode;
- int i;
-
- if (ndmodes >= 0) {
- /* ndmodes is initially -1 to indicate no
- dmodes allocated yet. */
- return;
- }
-
- /* Determine how many display modes there are. */
- ndmodes = 0;
- mode = 0;
- while (EnumDisplaySettings(NULL, mode, &dm)) {
- if (dm.dmPelsWidth >= MIN_WIDTH &&
- (dm.dmDisplayFrequency == 0 ||
- dm.dmDisplayFrequency >= MIN_FREQUENCY)) {
- ndmodes++;
- }
- mode++;
- }
-
- /* Allocate memory for a list of all the display modes. */
- dmodes = (DisplayMode*)
- malloc(ndmodes * sizeof(DisplayMode));
-
- /* Now that we know how many display modes to expect,
- enumerate them again and save the information in
- the list we allocated above. */
- i = 0;
- mode = 0;
- while (EnumDisplaySettings(NULL, mode, &dm)) {
- /* Try to reject any display settings that seem unplausible. */
- if (dm.dmPelsWidth >= MIN_WIDTH &&
- (dm.dmDisplayFrequency == 0 ||
- dm.dmDisplayFrequency >= MIN_FREQUENCY)) {
- dmodes[i].devmode = dm;
- dmodes[i].valid = 1; /* XXX Not used for now. */
- dmodes[i].cap[DM_WIDTH] = dm.dmPelsWidth;
- dmodes[i].cap[DM_HEIGHT] = dm.dmPelsHeight;
- dmodes[i].cap[DM_PIXEL_DEPTH] = dm.dmBitsPerPel;
- if (dm.dmDisplayFrequency == 0) {
- /* Guess a reasonable guess. */
- /* Lame Windows 95 version of EnumDisplaySettings. */
- dmodes[i].cap[DM_HERTZ] = 60;
- } else {
- dmodes[i].cap[DM_HERTZ] = dm.dmDisplayFrequency;
- }
- i++;
- }
- mode++;
- }
-
- assert(i == ndmodes);
-}
-
-#else
-
-/* X Windows version of initGameModeSupport. */
-static void
-initGameModeSupport(void)
-{
- if (ndmodes >= 0) {
- /* ndmodes is initially -1 to indicate no
- dmodes allocated yet. */
- return;
- }
-
- /* Determine how many display modes there are. */
- ndmodes = 0;
-}
-
-#endif
-
-/* This routine is based on similiar code in glut_dstr.c */
-static DisplayMode *
-findMatch(DisplayMode * dmodes, int ndmodes,
- Criterion * criteria, int ncriteria)
-{
- DisplayMode *found;
- int *bestScore, *thisScore;
- int i, j, numok, result = 0, worse, better;
-
- found = NULL;
- numok = 1; /* "num" capability is indexed from 1,
- not 0. */
-
- /* XXX alloca canidate. */
- bestScore = (int *) malloc(ncriteria * sizeof(int));
- if (!bestScore) {
- __glutFatalError("out of memory.");
- }
- for (j = 0; j < ncriteria; j++) {
- /* Very negative number. */
- bestScore[j] = -32768;
- }
-
- /* XXX alloca canidate. */
- thisScore = (int *) malloc(ncriteria * sizeof(int));
- if (!thisScore) {
- __glutFatalError("out of memory.");
- }
-
- for (i = 0; i < ndmodes; i++) {
- if (dmodes[i].valid) {
- worse = 0;
- better = 0;
-
- for (j = 0; j < ncriteria; j++) {
- int cap, cvalue, dvalue;
-
- cap = criteria[j].capability;
- cvalue = criteria[j].value;
- if (cap == NUM) {
- dvalue = numok;
- } else {
- dvalue = dmodes[i].cap[cap];
- }
-#ifdef TEST
- if (verbose)
- printf(" %s %s %d to %d\n",
- capstr[cap], compstr[criteria[j].comparison], cvalue, dvalue);
-#endif
- switch (criteria[j].comparison) {
- case EQ:
- result = cvalue == dvalue;
- thisScore[j] = 1;
- break;
- case NEQ:
- result = cvalue != dvalue;
- thisScore[j] = 1;
- break;
- case LT:
- result = dvalue < cvalue;
- thisScore[j] = dvalue - cvalue;
- break;
- case GT:
- result = dvalue > cvalue;
- thisScore[j] = dvalue - cvalue;
- break;
- case LTE:
- result = dvalue <= cvalue;
- thisScore[j] = dvalue - cvalue;
- break;
- case GTE:
- result = (dvalue >= cvalue);
- thisScore[j] = dvalue - cvalue;
- break;
- case MIN:
- result = dvalue >= cvalue;
- thisScore[j] = cvalue - dvalue;
- break;
- }
-
-#ifdef TEST
- if (verbose)
- printf(" result=%d score=%d bestScore=%d\n", result, thisScore[j], bestScore[j]);
-#endif
-
- if (result) {
- if (better || thisScore[j] > bestScore[j]) {
- better = 1;
- } else if (thisScore[j] == bestScore[j]) {
- /* Keep looking. */
- } else {
- goto nextDM;
- }
- } else {
- if (cap == NUM) {
- worse = 1;
- } else {
- goto nextDM;
- }
- }
-
- }
-
- if (better && !worse) {
- found = &dmodes[i];
- for (j = 0; j < ncriteria; j++) {
- bestScore[j] = thisScore[j];
- }
- }
- numok++;
-
- nextDM:;
-
- }
- }
- free(bestScore);
- free(thisScore);
- return found;
-}
-
-/**
- * Parses strings in the form of:
- * 800x600
- * 800x600:16
- * 800x600@60
- * 800x600:16@60
- * @60
- * :16
- * :16@60
- * NOTE that @ before : is not parsed.
- */
-static int
-specialCaseParse(char *word, Criterion * criterion, int mask)
-{
- char *xstr, *response;
- int got;
- int width, height, bpp, hertz;
-
- switch(word[0]) {
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- /* The WWWxHHH case. */
- if (mask & (1 << DM_WIDTH)) {
- return -1;
- }
- xstr = strpbrk(&word[1], "x");
- if (xstr) {
- width = (int) strtol(word, &response, 0);
- if (response == word || response[0] != 'x') {
- /* Not a valid number OR needs to be followed by 'x'. */
- return -1;
- }
- height = (int) strtol(&xstr[1], &response, 0);
- if (response == &xstr[1]) {
- /* Not a valid number. */
- return -1;
- }
- criterion[0].capability = DM_WIDTH;
- criterion[0].comparison = EQ;
- criterion[0].value = width;
- criterion[1].capability = DM_HEIGHT;
- criterion[1].comparison = EQ;
- criterion[1].value = height;
- got = specialCaseParse(response,
- &criterion[2], 1 << DM_WIDTH);
- if (got >= 0) {
- return got + 2;
- } else {
- return -1;
- }
- }
- return -1;
- case ':':
- /* The :BPP case. */
- if (mask & (1 << DM_PIXEL_DEPTH)) {
- return -1;
- }
- bpp = (int) strtol(&word[1], &response, 0);
- if (response == &word[1]) {
- /* Not a valid number. */
- return -1;
- }
- criterion[0].capability = DM_PIXEL_DEPTH;
- criterion[0].comparison = EQ;
- criterion[0].value = bpp;
- got = specialCaseParse(response,
- &criterion[1], (1 << DM_WIDTH) | (1 << DM_PIXEL_DEPTH));
- if (got >= 0) {
- return got + 1;
- } else {
- return -1;
- }
- case '@':
- /* The @HZ case. */
- if (mask & (1 << DM_HERTZ)) {
- return -1;
- }
- hertz = (int) strtol(&word[1], &response, 0);
- if (response == &word[1]) {
- /* Not a valid number. */
- return -1;
- }
- criterion[0].capability = DM_HERTZ;
- criterion[0].comparison = EQ;
- criterion[0].value = hertz;
- got = specialCaseParse(response,
- &criterion[1], ~DM_HERTZ);
- if (got >= 0) {
- return got + 1;
- } else {
- return -1;
- }
- case '\0':
- return 0;
- }
- return -1;
-}
-
-/* This routine is based on similiar code in glut_dstr.c */
-static int
-parseCriteria(char *word, Criterion * criterion)
-{
- char *cstr, *vstr, *response;
- int comparator, value = 0;
-
- cstr = strpbrk(word, "=><!~");
- if (cstr) {
- switch (cstr[0]) {
- case '=':
- comparator = EQ;
- vstr = &cstr[1];
- break;
- case '~':
- comparator = MIN;
- vstr = &cstr[1];
- break;
- case '>':
- if (cstr[1] == '=') {
- comparator = GTE;
- vstr = &cstr[2];
- } else {
- comparator = GT;
- vstr = &cstr[1];
- }
- break;
- case '<':
- if (cstr[1] == '=') {
- comparator = LTE;
- vstr = &cstr[2];
- } else {
- comparator = LT;
- vstr = &cstr[1];
- }
- break;
- case '!':
- if (cstr[1] == '=') {
- comparator = NEQ;
- vstr = &cstr[2];
- } else {
- return -1;
- }
- break;
- default:
- return -1;
- }
- value = (int) strtol(vstr, &response, 0);
- if (response == vstr) {
- /* Not a valid number. */
- return -1;
- }
- *cstr = '\0';
- } else {
- comparator = NONE;
- }
- switch (word[0]) {
- case 'b':
- if (!strcmp(word, "bpp")) {
- criterion[0].capability = DM_PIXEL_DEPTH;
- if (comparator == NONE) {
- return -1;
- } else {
- criterion[0].comparison = comparator;
- criterion[0].value = value;
- return 1;
- }
- }
- return -1;
- case 'h':
- if (!strcmp(word, "height")) {
- criterion[0].capability = DM_HEIGHT;
- if (comparator == NONE) {
- return -1;
- } else {
- criterion[0].comparison = comparator;
- criterion[0].value = value;
- return 1;
- }
- }
- if (!strcmp(word, "hertz")) {
- criterion[0].capability = DM_HERTZ;
- if (comparator == NONE) {
- return -1;
- } else {
- criterion[0].comparison = comparator;
- criterion[0].value = value;
- return 1;
- }
- }
- return -1;
- case 'n':
- if (!strcmp(word, "num")) {
- criterion[0].capability = DM_NUM;
- if (comparator == NONE) {
- return -1;
- } else {
- criterion[0].comparison = comparator;
- criterion[0].value = value;
- return 1;
- }
- }
- return -1;
- case 'w':
- if (!strcmp(word, "width")) {
- criterion[0].capability = DM_WIDTH;
- if (comparator == NONE) {
- return -1;
- } else {
- criterion[0].comparison = comparator;
- criterion[0].value = value;
- return 1;
- }
- }
- return -1;
- }
- if (comparator == NONE) {
- return specialCaseParse(word, criterion, 0);
- }
- return -1;
-}
-
-/* This routine is based on similiar code in glut_dstr.c */
-static Criterion *
-parseDisplayString(const char *display, int *ncriteria)
-{
- Criterion *criteria = NULL;
- int n, parsed;
- char *copy, *word;
-
- copy = __glutStrdup(display);
- /* Attempt to estimate how many criteria entries should be
- needed. */
- n = 0;
- word = strtok(copy, " \t");
- while (word) {
- n++;
- word = strtok(NULL, " \t");
- }
- /* Allocate number of words of criteria. A word
- could contain as many as four criteria in the
- worst case. Example: 800x600:16@60 */
- criteria = (Criterion *) malloc(4 * n * sizeof(Criterion));
- if (!criteria) {
- __glutFatalError("out of memory.");
- }
-
- /* Re-copy the copy of the display string. */
- strcpy(copy, display);
-
- n = 0;
- word = strtok(copy, " \t");
- while (word) {
- parsed = parseCriteria(word, &criteria[n]);
- if (parsed >= 0) {
- n += parsed;
- } else {
- __glutWarning("Unrecognized game mode string word: %s (ignoring)\n", word);
- }
- word = strtok(NULL, " \t");
- }
-
- free(copy);
- *ncriteria = n;
- return criteria;
-}
-
-void GLUTAPIENTRY
-glutGameModeString(const char *string)
-{
- Criterion *criteria;
- int ncriteria;
-
- initGameModeSupport();
- criteria = parseDisplayString(string, &ncriteria);
- currentDm = findMatch(dmodes, ndmodes, criteria, ncriteria);
- free(criteria);
-}
-
-int GLUTAPIENTRY
-glutEnterGameMode(void)
-{
- GLUTwindow *window;
- int width, height;
- Window win;
-
- if (__glutMappedMenu) {
- __glutFatalUsage("entering game mode not allowed while menus in use");
- }
- if (__glutGameModeWindow) {
- /* Already in game mode, so blow away game mode
- window so apps can change resolutions. */
- window = __glutGameModeWindow;
- /* Setting the game mode window to NULL tricks
- the window destroy code into not undoing the
- screen display change since we plan on immediately
- doing another mode change. */
- __glutGameModeWindow = NULL;
- __glutDestroyWindow(window, window);
- }
-
- /* Assume default screen size until we find out if we
- can actually change the display settings. */
- width = __glutScreenWidth;
- height = __glutScreenHeight;
-
- if (currentDm) {
-#ifdef _WIN32
- LONG status;
- static int registered = 0;
-
- status = ChangeDisplaySettings(&currentDm->devmode,
- CDS_FULLSCREEN);
- if (status == DISP_CHANGE_SUCCESSFUL) {
- __glutDisplaySettingsChanged = 1;
- width = currentDm->cap[DM_WIDTH];
- height = currentDm->cap[DM_HEIGHT];
- if (!registered) {
- atexit(__glutCloseDownGameMode);
- registered = 1;
- }
- } else {
- /* Switch back to default resolution. */
- ChangeDisplaySettings(NULL, 0);
- }
-#endif
- }
-
- window = __glutCreateWindow(NULL, 0, 0,
- width, height, /* game mode */ 1);
- win = window->win;
-
-#if !defined(_WIN32) && !defined(__OS2__)
- if (__glutMotifHints == None) {
- __glutMotifHints = XSGIFastInternAtom(__glutDisplay, "_MOTIF_WM_HINTS",
- SGI_XA__MOTIF_WM_HINTS, 0);
- if (__glutMotifHints == None) {
- __glutWarning("Could not intern X atom for _MOTIF_WM_HINTS.");
- }
- }
-
- /* Game mode window is a toplevel window. */
- XSetWMProtocols(__glutDisplay, win, &__glutWMDeleteWindow, 1);
-#endif
-
- /* Schedule the fullscreen property to be added and to
- make sure the window is configured right. Win32
- doesn't need this. */
- window->desiredX = 0;
- window->desiredY = 0;
- window->desiredWidth = width;
- window->desiredHeight = height;
- window->desiredConfMask |= CWX | CWY | CWWidth | CWHeight;
-#ifdef _WIN32
- /* Win32 does not want to use GLUT_FULL_SCREEN_WORK
- for game mode because we need to be maximizing
- the window in game mode, not just sizing it to
- take up the full screen. The Win32-ness of game
- mode happens when you pass 1 in the gameMode parameter
- to __glutCreateWindow above. A gameMode of creates
- a WS_POPUP window, not a standard WS_OVERLAPPEDWINDOW
- window. WS_POPUP ensures the taskbar is hidden. */
- __glutPutOnWorkList(window,
- GLUT_CONFIGURE_WORK);
-#else
- __glutPutOnWorkList(window,
- GLUT_CONFIGURE_WORK | GLUT_FULL_SCREEN_WORK);
-#endif
-
- __glutGameModeWindow = window;
- return window->num + 1;
-}
-
-int GLUTAPIENTRY
-glutGameModeGet(GLenum mode)
-{
- switch (mode) {
- case GLUT_GAME_MODE_ACTIVE:
- return __glutGameModeWindow != NULL;
- case GLUT_GAME_MODE_POSSIBLE:
- return currentDm != NULL;
- case GLUT_GAME_MODE_WIDTH:
- return currentDm ? currentDm->cap[DM_WIDTH] : -1;
- case GLUT_GAME_MODE_HEIGHT:
- return currentDm ? currentDm->cap[DM_HEIGHT] : -1;
- case GLUT_GAME_MODE_PIXEL_DEPTH:
- return currentDm ? currentDm->cap[DM_PIXEL_DEPTH] : -1;
- case GLUT_GAME_MODE_REFRESH_RATE:
- return currentDm ? currentDm->cap[DM_HERTZ] : -1;
- case GLUT_GAME_MODE_DISPLAY_CHANGED:
- return __glutDisplaySettingsChanged;
- default:
- return -1;
- }
-}
diff --git a/src/glut/os2/glut_get.cpp b/src/glut/os2/glut_get.cpp
deleted file mode 100644
index 8921e9ab03..0000000000
--- a/src/glut/os2/glut_get.cpp
+++ /dev/null
@@ -1,232 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994, 1997, 1998. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include <assert.h>
-#include <stdlib.h> /* SunOS 4 needs NULL defined for GETTIMEOFDAY macro. */
-#include "glutint.h"
-
-/* CENTRY */
-int GLUTAPIENTRY
-glutGet(GLenum param)
-{
- Window win, root;
- int x, y, value;
- unsigned int width, height, border, depth;
-
- switch (param) {
- case GLUT_INIT_WINDOW_X:
- return __glutInitX;
- case GLUT_INIT_WINDOW_Y:
- return __glutInitY;
- case GLUT_INIT_WINDOW_WIDTH:
- return __glutInitWidth;
- case GLUT_INIT_WINDOW_HEIGHT:
- return __glutInitHeight;
- case GLUT_INIT_DISPLAY_MODE:
- return __glutDisplayMode;
- case GLUT_WINDOW_X:
- XTranslateCoordinates(__glutDisplay, __glutCurrentWindow->win,
- __glutRoot, 0, 0, &x, &y, &win);
- return x;
- case GLUT_WINDOW_Y:
- XTranslateCoordinates(__glutDisplay, __glutCurrentWindow->win,
- __glutRoot, 0, 0, &x, &y, &win);
- return y;
- case GLUT_WINDOW_WIDTH:
- if (!__glutCurrentWindow->reshape) {
- XGetGeometry(__glutDisplay, __glutCurrentWindow->win,
- &root, &x, &y,
- &width, &height, &border, &depth);
- return width;
- }
- return __glutCurrentWindow->width;
- case GLUT_WINDOW_HEIGHT:
- if (!__glutCurrentWindow->reshape) {
- XGetGeometry(__glutDisplay, __glutCurrentWindow->win,
- &root, &x, &y,
- &width, &height, &border, &depth);
- return height;
- }
- return __glutCurrentWindow->height;
-#ifdef __OS2__
- #define GET_CONFIG(attrib) \
- { if (__glutCurrentWindow->renderWin == __glutCurrentWindow->win) \
- glXGetConfig( __glutCurrentWindow->vis, attrib, &value); \
- else \
- glXGetConfig(__glutCurrentWindow->overlay->vis, attrib, &value); \
- } \
-
-#else
-
-#define GET_CONFIG(attrib) { \
- if (__glutCurrentWindow->renderWin == __glutCurrentWindow->win) { \
- glXGetConfig(__glutDisplay, __glutCurrentWindow->vis, \
- attrib, &value); \
- } else { \
- glXGetConfig(__glutDisplay, __glutCurrentWindow->overlay->vis, \
- attrib, &value); \
- } \
-}
-#endif
-
- case GLUT_WINDOW_BUFFER_SIZE:
- GET_CONFIG(GLX_BUFFER_SIZE);
- return value;
- case GLUT_WINDOW_STENCIL_SIZE:
- GET_CONFIG(GLX_STENCIL_SIZE);
- return value;
- case GLUT_WINDOW_DEPTH_SIZE:
- GET_CONFIG(GLX_DEPTH_SIZE);
- return value;
- case GLUT_WINDOW_RED_SIZE:
- GET_CONFIG(GLX_RED_SIZE);
- return value;
- case GLUT_WINDOW_GREEN_SIZE:
- GET_CONFIG(GLX_GREEN_SIZE);
- return value;
- case GLUT_WINDOW_BLUE_SIZE:
- GET_CONFIG(GLX_BLUE_SIZE);
- return value;
- case GLUT_WINDOW_ALPHA_SIZE:
- GET_CONFIG(GLX_ALPHA_SIZE);
- return value;
- case GLUT_WINDOW_ACCUM_RED_SIZE:
- GET_CONFIG(GLX_ACCUM_RED_SIZE);
- return value;
- case GLUT_WINDOW_ACCUM_GREEN_SIZE:
- GET_CONFIG(GLX_ACCUM_GREEN_SIZE);
- return value;
- case GLUT_WINDOW_ACCUM_BLUE_SIZE:
- GET_CONFIG(GLX_ACCUM_BLUE_SIZE);
- return value;
- case GLUT_WINDOW_ACCUM_ALPHA_SIZE:
- GET_CONFIG(GLX_ACCUM_ALPHA_SIZE);
- return value;
- case GLUT_WINDOW_DOUBLEBUFFER:
- GET_CONFIG(GLX_DOUBLEBUFFER);
- return value;
- case GLUT_WINDOW_RGBA:
- GET_CONFIG(GLX_RGBA);
- return value;
- case GLUT_WINDOW_COLORMAP_SIZE:
- GET_CONFIG(GLX_RGBA);
- if (value) {
- return 0;
- } else {
-#if defined(_WIN32) || defined(__OS2__)
- /* KLUDGE: we always assume 256 colors in CI mode on
- Win32 */
- return 256;
-#else
- if (__glutCurrentWindow->renderWin == __glutCurrentWindow->win) {
- return __glutCurrentWindow->vis->visual->map_entries;
- } else {
- return __glutCurrentWindow->overlay->vis->visual->map_entries;
- }
-#endif /* _WIN32 */
- }
- case GLUT_WINDOW_PARENT:
- return __glutCurrentWindow->parent ?
- __glutCurrentWindow->parent->num + 1 : 0;
- case GLUT_WINDOW_NUM_CHILDREN:
- {
- int num = 0;
- GLUTwindow *children = __glutCurrentWindow->children;
-
- while (children) {
- num++;
- children = children->siblings;
- }
- return num;
- }
- case GLUT_WINDOW_NUM_SAMPLES:
-#if defined(GLX_VERSION_1_1) && defined(GLX_SGIS_multisample)
- if (__glutIsSupportedByGLX("GLX_SGIS_multisample")) {
- GET_CONFIG(GLX_SAMPLES_SGIS);
- return value;
- } else {
- return 0;
- }
-#else
- /* Independent of GLX server support, multisampling not
- supported by GLX client-side. */
- return 0;
-#endif
- case GLUT_WINDOW_STEREO:
- GET_CONFIG(GLX_STEREO);
- return value;
- case GLUT_WINDOW_CURSOR:
- return __glutCurrentWindow->cursor;
- case GLUT_SCREEN_WIDTH:
- return DisplayWidth(__glutDisplay, __glutScreen);
- case GLUT_SCREEN_HEIGHT:
- return DisplayHeight(__glutDisplay, __glutScreen);
- case GLUT_SCREEN_WIDTH_MM:
- return DisplayWidthMM(__glutDisplay, __glutScreen);
- case GLUT_SCREEN_HEIGHT_MM:
- return DisplayHeightMM(__glutDisplay, __glutScreen);
- case GLUT_MENU_NUM_ITEMS:
- return __glutCurrentMenu->num;
- case GLUT_DISPLAY_MODE_POSSIBLE:
- {
- XVisualInfo *vi;
- Bool dummy, visAlloced;
- void *fbc;
-
-#if defined(_WIN32)
- /* Our fake glXChooseVisual (which is called by
- __glutDetermineVisual) needs an HDC to work with, so grab one
- from the "root" window. */
- XHDC = GetDC(GetDesktopWindow());
-#endif
- vi = __glutDetermineWindowVisual(&dummy, &visAlloced, &fbc);
-#if defined(_WIN32)
- ReleaseDC(GetDesktopWindow(), XHDC);
-#endif
- if (vi) {
- if (visAlloced)
- XFree(vi);
- return 1;
- }
- return 0;
- }
- case GLUT_ELAPSED_TIME:
- {
-#ifdef OLD_VMS
- struct timeval6 elapsed, beginning, now;
-#else
- struct timeval elapsed, beginning, now;
-#endif
-
- __glutInitTime(&beginning);
- GETTIMEOFDAY(&now);
- TIMEDELTA(elapsed, now, beginning);
- /* Return elapsed milliseconds. */
-#if defined(__vms) && ( __VMS_VER < 70000000 )
- return (int) (elapsed.val / TICKS_PER_MILLISECOND);
-#else
- return (int) ((elapsed.tv_sec * 1000) + (elapsed.tv_usec / 1000));
-#endif
- }
- case GLUT_WINDOW_FORMAT_ID:
-#if defined(__OS2__)
- return wglGetPixelFormat(__glutCurrentWindow->hdc);
-#elif defined(_WIN32)
- return GetPixelFormat(__glutCurrentWindow->hdc);
-#else
- if (__glutCurrentWindow->renderWin == __glutCurrentWindow->win) {
- return (int) __glutCurrentWindow->vis->visualid;
- } else {
- return (int) __glutCurrentWindow->overlay->vis->visualid;
- }
-#endif
- default:
- __glutWarning("invalid glutGet parameter: %d", param);
- return -1;
- }
-}
-/* ENDCENTRY */
diff --git a/src/glut/os2/glut_hel10.cpp b/src/glut/os2/glut_hel10.cpp
deleted file mode 100644
index a9f08ff133..0000000000
--- a/src/glut/os2/glut_hel10.cpp
+++ /dev/null
@@ -1,1781 +0,0 @@
-
-/* GENERATED FILE -- DO NOT MODIFY */
-
-#define glutBitmapHelvetica10 XXX
-#include "glutbitmap.h"
-#undef glutBitmapHelvetica10
-
-/* char: 0xff */
-
-static const GLubyte ch255data[] = {
-0x80,0x40,0x40,0x60,0xa0,0xa0,0x90,0x90,0x0,0x50,
-};
-
-static const BitmapCharRec ch255 = {4,10,0,2,5,ch255data};
-
-/* char: 0xfe */
-
-static const GLubyte ch254data[] = {
-0x80,0x80,0xb0,0xc8,0x88,0x88,0xc8,0xb0,0x80,0x80,
-};
-
-static const BitmapCharRec ch254 = {5,10,0,2,6,ch254data};
-
-/* char: 0xfd */
-
-static const GLubyte ch253data[] = {
-0x80,0x40,0x40,0x60,0xa0,0xa0,0x90,0x90,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch253 = {4,11,0,2,5,ch253data};
-
-/* char: 0xfc */
-
-static const GLubyte ch252data[] = {
-0x70,0x90,0x90,0x90,0x90,0x90,0x0,0x50,
-};
-
-static const BitmapCharRec ch252 = {4,8,0,0,5,ch252data};
-
-/* char: 0xfb */
-
-static const GLubyte ch251data[] = {
-0x70,0x90,0x90,0x90,0x90,0x90,0x0,0x50,0x20,
-};
-
-static const BitmapCharRec ch251 = {4,9,0,0,5,ch251data};
-
-/* char: 0xfa */
-
-static const GLubyte ch250data[] = {
-0x70,0x90,0x90,0x90,0x90,0x90,0x0,0x40,0x20,
-};
-
-static const BitmapCharRec ch250 = {4,9,0,0,5,ch250data};
-
-/* char: 0xf9 */
-
-static const GLubyte ch249data[] = {
-0x70,0x90,0x90,0x90,0x90,0x90,0x0,0x20,0x40,
-};
-
-static const BitmapCharRec ch249 = {4,9,0,0,5,ch249data};
-
-/* char: 0xf8 */
-
-static const GLubyte ch248data[] = {
-0x70,0x88,0xc8,0xa8,0x98,0x74,
-};
-
-static const BitmapCharRec ch248 = {6,6,0,0,6,ch248data};
-
-/* char: 0xf7 */
-
-static const GLubyte ch247data[] = {
-0x20,0x0,0xf8,0x0,0x20,
-};
-
-static const BitmapCharRec ch247 = {5,5,0,-1,6,ch247data};
-
-/* char: 0xf6 */
-
-static const GLubyte ch246data[] = {
-0x70,0x88,0x88,0x88,0x88,0x70,0x0,0x50,
-};
-
-static const BitmapCharRec ch246 = {5,8,0,0,6,ch246data};
-
-/* char: 0xf5 */
-
-static const GLubyte ch245data[] = {
-0x70,0x88,0x88,0x88,0x88,0x70,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch245 = {5,9,0,0,6,ch245data};
-
-/* char: 0xf4 */
-
-static const GLubyte ch244data[] = {
-0x70,0x88,0x88,0x88,0x88,0x70,0x0,0x50,0x20,
-};
-
-static const BitmapCharRec ch244 = {5,9,0,0,6,ch244data};
-
-/* char: 0xf3 */
-
-static const GLubyte ch243data[] = {
-0x70,0x88,0x88,0x88,0x88,0x70,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch243 = {5,9,0,0,6,ch243data};
-
-/* char: 0xf2 */
-
-static const GLubyte ch242data[] = {
-0x70,0x88,0x88,0x88,0x88,0x70,0x0,0x20,0x40,
-};
-
-static const BitmapCharRec ch242 = {5,9,0,0,6,ch242data};
-
-/* char: 0xf1 */
-
-static const GLubyte ch241data[] = {
-0x90,0x90,0x90,0x90,0x90,0xe0,0x0,0xa0,0x50,
-};
-
-static const BitmapCharRec ch241 = {4,9,0,0,5,ch241data};
-
-/* char: 0xf0 */
-
-static const GLubyte ch240data[] = {
-0x70,0x88,0x88,0x88,0x88,0x78,0x90,0x60,0x50,
-};
-
-static const BitmapCharRec ch240 = {5,9,0,0,6,ch240data};
-
-/* char: 0xef */
-
-static const GLubyte ch239data[] = {
-0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0,
-};
-
-static const BitmapCharRec ch239 = {3,8,0,0,2,ch239data};
-
-/* char: 0xee */
-
-static const GLubyte ch238data[] = {
-0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0,0x40,
-};
-
-static const BitmapCharRec ch238 = {3,9,1,0,2,ch238data};
-
-/* char: 0xed */
-
-static const GLubyte ch237data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,0x40,
-};
-
-static const BitmapCharRec ch237 = {2,9,0,0,2,ch237data};
-
-/* char: 0xec */
-
-static const GLubyte ch236data[] = {
-0x40,0x40,0x40,0x40,0x40,0x40,0x0,0x40,0x80,
-};
-
-static const BitmapCharRec ch236 = {2,9,1,0,2,ch236data};
-
-/* char: 0xeb */
-
-static const GLubyte ch235data[] = {
-0x60,0x90,0x80,0xf0,0x90,0x60,0x0,0x50,
-};
-
-static const BitmapCharRec ch235 = {4,8,0,0,5,ch235data};
-
-/* char: 0xea */
-
-static const GLubyte ch234data[] = {
-0x60,0x90,0x80,0xf0,0x90,0x60,0x0,0x50,0x20,
-};
-
-static const BitmapCharRec ch234 = {4,9,0,0,5,ch234data};
-
-/* char: 0xe9 */
-
-static const GLubyte ch233data[] = {
-0x60,0x90,0x80,0xf0,0x90,0x60,0x0,0x40,0x20,
-};
-
-static const BitmapCharRec ch233 = {4,9,0,0,5,ch233data};
-
-/* char: 0xe8 */
-
-static const GLubyte ch232data[] = {
-0x60,0x90,0x80,0xf0,0x90,0x60,0x0,0x20,0x40,
-};
-
-static const BitmapCharRec ch232 = {4,9,0,0,5,ch232data};
-
-/* char: 0xe7 */
-
-static const GLubyte ch231data[] = {
-0x60,0x20,0x60,0x90,0x80,0x80,0x90,0x60,
-};
-
-static const BitmapCharRec ch231 = {4,8,0,2,5,ch231data};
-
-/* char: 0xe6 */
-
-static const GLubyte ch230data[] = {
-0x6c,0x92,0x90,0x7e,0x12,0xec,
-};
-
-static const BitmapCharRec ch230 = {7,6,0,0,8,ch230data};
-
-/* char: 0xe5 */
-
-static const GLubyte ch229data[] = {
-0x68,0x90,0x90,0x70,0x10,0xe0,0x20,0x50,0x20,
-};
-
-static const BitmapCharRec ch229 = {5,9,0,0,5,ch229data};
-
-/* char: 0xe4 */
-
-static const GLubyte ch228data[] = {
-0x68,0x90,0x90,0x70,0x10,0xe0,0x0,0x50,
-};
-
-static const BitmapCharRec ch228 = {5,8,0,0,5,ch228data};
-
-/* char: 0xe3 */
-
-static const GLubyte ch227data[] = {
-0x68,0x90,0x90,0x70,0x10,0xe0,0x0,0xa0,0x50,
-};
-
-static const BitmapCharRec ch227 = {5,9,0,0,5,ch227data};
-
-/* char: 0xe2 */
-
-static const GLubyte ch226data[] = {
-0x68,0x90,0x90,0x70,0x10,0xe0,0x0,0x50,0x20,
-};
-
-static const BitmapCharRec ch226 = {5,9,0,0,5,ch226data};
-
-/* char: 0xe1 */
-
-static const GLubyte ch225data[] = {
-0x68,0x90,0x90,0x70,0x10,0xe0,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch225 = {5,9,0,0,5,ch225data};
-
-/* char: 0xe0 */
-
-static const GLubyte ch224data[] = {
-0x68,0x90,0x90,0x70,0x10,0xe0,0x0,0x20,0x40,
-};
-
-static const BitmapCharRec ch224 = {5,9,0,0,5,ch224data};
-
-/* char: 0xdf */
-
-static const GLubyte ch223data[] = {
-0xa0,0x90,0x90,0x90,0xa0,0x90,0x90,0x60,
-};
-
-static const BitmapCharRec ch223 = {4,8,0,0,5,ch223data};
-
-/* char: 0xde */
-
-static const GLubyte ch222data[] = {
-0x80,0x80,0xf0,0x88,0x88,0xf0,0x80,0x80,
-};
-
-static const BitmapCharRec ch222 = {5,8,-1,0,7,ch222data};
-
-/* char: 0xdd */
-
-static const GLubyte ch221data[] = {
-0x10,0x10,0x10,0x28,0x28,0x44,0x44,0x82,0x0,0x10,0x8,
-};
-
-static const BitmapCharRec ch221 = {7,11,0,0,7,ch221data};
-
-/* char: 0xdc */
-
-static const GLubyte ch220data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x48,
-};
-
-static const BitmapCharRec ch220 = {6,10,-1,0,8,ch220data};
-
-/* char: 0xdb */
-
-static const GLubyte ch219data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x28,0x10,
-};
-
-static const BitmapCharRec ch219 = {6,11,-1,0,8,ch219data};
-
-/* char: 0xda */
-
-static const GLubyte ch218data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch218 = {6,11,-1,0,8,ch218data};
-
-/* char: 0xd9 */
-
-static const GLubyte ch217data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch217 = {6,11,-1,0,8,ch217data};
-
-/* char: 0xd8 */
-
-static const GLubyte ch216data[] = {
-0x80,0x78,0xc4,0xa4,0xa4,0x94,0x94,0x8c,0x78,0x4,
-};
-
-static const BitmapCharRec ch216 = {6,10,-1,1,8,ch216data};
-
-/* char: 0xd7 */
-
-static const GLubyte ch215data[] = {
-0x88,0x50,0x20,0x50,0x88,
-};
-
-static const BitmapCharRec ch215 = {5,5,0,-1,6,ch215data};
-
-/* char: 0xd6 */
-
-static const GLubyte ch214data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x78,0x0,0x48,
-};
-
-static const BitmapCharRec ch214 = {6,10,-1,0,8,ch214data};
-
-/* char: 0xd5 */
-
-static const GLubyte ch213data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x78,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch213 = {6,11,-1,0,8,ch213data};
-
-/* char: 0xd4 */
-
-static const GLubyte ch212data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x78,0x0,0x28,0x10,
-};
-
-static const BitmapCharRec ch212 = {6,11,-1,0,8,ch212data};
-
-/* char: 0xd3 */
-
-static const GLubyte ch211data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x78,0x0,0x10,0x8,
-};
-
-static const BitmapCharRec ch211 = {6,11,-1,0,8,ch211data};
-
-/* char: 0xd2 */
-
-static const GLubyte ch210data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x78,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch210 = {6,11,-1,0,8,ch210data};
-
-/* char: 0xd1 */
-
-static const GLubyte ch209data[] = {
-0x8c,0x8c,0x94,0x94,0xa4,0xa4,0xc4,0xc4,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch209 = {6,11,-1,0,8,ch209data};
-
-/* char: 0xd0 */
-
-static const GLubyte ch208data[] = {
-0x78,0x44,0x42,0x42,0xf2,0x42,0x44,0x78,
-};
-
-static const BitmapCharRec ch208 = {7,8,0,0,8,ch208data};
-
-/* char: 0xcf */
-
-static const GLubyte ch207data[] = {
-0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0,
-};
-
-static const BitmapCharRec ch207 = {3,10,0,0,3,ch207data};
-
-/* char: 0xce */
-
-static const GLubyte ch206data[] = {
-0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0,0x40,
-};
-
-static const BitmapCharRec ch206 = {3,11,0,0,3,ch206data};
-
-/* char: 0xcd */
-
-static const GLubyte ch205data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,0x40,
-};
-
-static const BitmapCharRec ch205 = {2,11,-1,0,3,ch205data};
-
-/* char: 0xcc */
-
-static const GLubyte ch204data[] = {
-0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0x40,0x80,
-};
-
-static const BitmapCharRec ch204 = {2,11,0,0,3,ch204data};
-
-/* char: 0xcb */
-
-static const GLubyte ch203data[] = {
-0xf8,0x80,0x80,0x80,0xf8,0x80,0x80,0xf8,0x0,0x50,
-};
-
-static const BitmapCharRec ch203 = {5,10,-1,0,7,ch203data};
-
-/* char: 0xca */
-
-static const GLubyte ch202data[] = {
-0xf8,0x80,0x80,0xf8,0x80,0x80,0x80,0xf8,0x0,0x50,0x20,
-};
-
-static const BitmapCharRec ch202 = {5,11,-1,0,7,ch202data};
-
-/* char: 0xc9 */
-
-static const GLubyte ch201data[] = {
-0xf8,0x80,0x80,0x80,0xf8,0x80,0x80,0xf8,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch201 = {5,11,-1,0,7,ch201data};
-
-/* char: 0xc8 */
-
-static const GLubyte ch200data[] = {
-0xf8,0x80,0x80,0x80,0xf8,0x80,0x80,0xf8,0x0,0x20,0x40,
-};
-
-static const BitmapCharRec ch200 = {5,11,-1,0,7,ch200data};
-
-/* char: 0xc7 */
-
-static const GLubyte ch199data[] = {
-0x30,0x10,0x78,0x84,0x80,0x80,0x80,0x80,0x84,0x78,
-};
-
-static const BitmapCharRec ch199 = {6,10,-1,2,8,ch199data};
-
-/* char: 0xc6 */
-
-static const GLubyte ch198data[] = {
-0x8f,0x80,0x88,0x0,0x78,0x0,0x48,0x0,0x2f,0x80,0x28,0x0,0x18,0x0,0x1f,0x80,
-};
-
-static const BitmapCharRec ch198 = {9,8,0,0,10,ch198data};
-
-/* char: 0xc5 */
-
-static const GLubyte ch197data[] = {
-0x82,0x82,0x7c,0x44,0x28,0x28,0x10,0x10,0x10,0x28,0x10,
-};
-
-static const BitmapCharRec ch197 = {7,11,0,0,7,ch197data};
-
-/* char: 0xc4 */
-
-static const GLubyte ch196data[] = {
-0x82,0x82,0x7c,0x44,0x28,0x28,0x10,0x10,0x0,0x28,
-};
-
-static const BitmapCharRec ch196 = {7,10,0,0,7,ch196data};
-
-/* char: 0xc3 */
-
-static const GLubyte ch195data[] = {
-0x82,0x82,0x7c,0x44,0x28,0x28,0x10,0x10,0x0,0x28,0x14,
-};
-
-static const BitmapCharRec ch195 = {7,11,0,0,7,ch195data};
-
-/* char: 0xc2 */
-
-static const GLubyte ch194data[] = {
-0x82,0x82,0x7c,0x44,0x28,0x28,0x10,0x10,0x0,0x28,0x10,
-};
-
-static const BitmapCharRec ch194 = {7,11,0,0,7,ch194data};
-
-/* char: 0xc1 */
-
-static const GLubyte ch193data[] = {
-0x82,0x82,0x7c,0x44,0x28,0x28,0x10,0x10,0x0,0x10,0x8,
-};
-
-static const BitmapCharRec ch193 = {7,11,0,0,7,ch193data};
-
-/* char: 0xc0 */
-
-static const GLubyte ch192data[] = {
-0x82,0x82,0x7c,0x44,0x28,0x28,0x10,0x10,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch192 = {7,11,0,0,7,ch192data};
-
-/* char: 0xbf */
-
-static const GLubyte ch191data[] = {
-0x60,0x90,0x80,0x40,0x20,0x20,0x0,0x20,
-};
-
-static const BitmapCharRec ch191 = {4,8,-1,2,6,ch191data};
-
-/* char: 0xbe */
-
-static const GLubyte ch190data[] = {
-0x21,0x0,0x17,0x80,0x13,0x0,0x9,0x0,0xc8,0x0,0x24,0x0,0x44,0x0,0xe2,0x0,
-};
-
-static const BitmapCharRec ch190 = {9,8,0,0,9,ch190data};
-
-/* char: 0xbd */
-
-static const GLubyte ch189data[] = {
-0x27,0x12,0x15,0xb,0x48,0x44,0xc4,0x42,
-};
-
-static const BitmapCharRec ch189 = {8,8,0,0,9,ch189data};
-
-/* char: 0xbc */
-
-static const GLubyte ch188data[] = {
-0x21,0x0,0x17,0x80,0x13,0x0,0x9,0x0,0x48,0x0,0x44,0x0,0xc4,0x0,0x42,0x0,
-};
-
-static const BitmapCharRec ch188 = {9,8,0,0,9,ch188data};
-
-/* char: 0xbb */
-
-static const GLubyte ch187data[] = {
-0xa0,0x50,0x28,0x50,0xa0,
-};
-
-static const BitmapCharRec ch187 = {5,5,0,0,6,ch187data};
-
-/* char: 0xba */
-
-static const GLubyte ch186data[] = {
-0xe0,0x0,0xe0,0xa0,0xe0,
-};
-
-static const BitmapCharRec ch186 = {3,5,0,-3,4,ch186data};
-
-/* char: 0xb9 */
-
-static const GLubyte ch185data[] = {
-0x40,0x40,0xc0,0x40,
-};
-
-static const BitmapCharRec ch185 = {2,4,0,-3,3,ch185data};
-
-/* char: 0xb8 */
-
-static const GLubyte ch184data[] = {
-0xc0,0x40,
-};
-
-static const BitmapCharRec ch184 = {2,2,0,2,3,ch184data};
-
-/* char: 0xb7 */
-
-static const GLubyte ch183data[] = {
-0xc0,
-};
-
-static const BitmapCharRec ch183 = {2,1,0,-3,3,ch183data};
-
-/* char: 0xb6 */
-
-static const GLubyte ch182data[] = {
-0x28,0x28,0x28,0x28,0x28,0x68,0xe8,0xe8,0xe8,0x7c,
-};
-
-static const BitmapCharRec ch182 = {6,10,0,2,6,ch182data};
-
-/* char: 0xb5 */
-
-static const GLubyte ch181data[] = {
-0x80,0x80,0xf0,0x90,0x90,0x90,0x90,0x90,
-};
-
-static const BitmapCharRec ch181 = {4,8,0,2,5,ch181data};
-
-/* char: 0xb4 */
-
-static const GLubyte ch180data[] = {
-0x80,0x40,
-};
-
-static const BitmapCharRec ch180 = {2,2,0,-6,3,ch180data};
-
-/* char: 0xb3 */
-
-static const GLubyte ch179data[] = {
-0xc0,0x20,0x40,0xe0,
-};
-
-static const BitmapCharRec ch179 = {3,4,0,-3,3,ch179data};
-
-/* char: 0xb2 */
-
-static const GLubyte ch178data[] = {
-0xe0,0x40,0xa0,0x60,
-};
-
-static const BitmapCharRec ch178 = {3,4,0,-3,3,ch178data};
-
-/* char: 0xb1 */
-
-static const GLubyte ch177data[] = {
-0xf8,0x0,0x20,0x20,0xf8,0x20,0x20,
-};
-
-static const BitmapCharRec ch177 = {5,7,0,0,6,ch177data};
-
-/* char: 0xb0 */
-
-static const GLubyte ch176data[] = {
-0x60,0x90,0x90,0x60,
-};
-
-static const BitmapCharRec ch176 = {4,4,0,-3,4,ch176data};
-
-/* char: 0xaf */
-
-static const GLubyte ch175data[] = {
-0xe0,
-};
-
-static const BitmapCharRec ch175 = {3,1,0,-7,3,ch175data};
-
-/* char: 0xae */
-
-static const GLubyte ch174data[] = {
-0x38,0x44,0xaa,0xb2,0xba,0x44,0x38,
-};
-
-static const BitmapCharRec ch174 = {7,7,-1,0,9,ch174data};
-
-/* char: 0xad */
-
-static const GLubyte ch173data[] = {
-0xe0,
-};
-
-static const BitmapCharRec ch173 = {3,1,0,-3,4,ch173data};
-
-/* char: 0xac */
-
-static const GLubyte ch172data[] = {
-0x8,0x8,0xf8,
-};
-
-static const BitmapCharRec ch172 = {5,3,-1,-2,7,ch172data};
-
-/* char: 0xab */
-
-static const GLubyte ch171data[] = {
-0x28,0x50,0xa0,0x50,0x28,
-};
-
-static const BitmapCharRec ch171 = {5,5,0,0,6,ch171data};
-
-/* char: 0xaa */
-
-static const GLubyte ch170data[] = {
-0xe0,0x0,0xa0,0x20,0xe0,
-};
-
-static const BitmapCharRec ch170 = {3,5,0,-3,4,ch170data};
-
-/* char: 0xa9 */
-
-static const GLubyte ch169data[] = {
-0x38,0x44,0x9a,0xa2,0x9a,0x44,0x38,
-};
-
-static const BitmapCharRec ch169 = {7,7,-1,0,9,ch169data};
-
-/* char: 0xa8 */
-
-static const GLubyte ch168data[] = {
-0xa0,
-};
-
-static const BitmapCharRec ch168 = {3,1,0,-7,3,ch168data};
-
-/* char: 0xa7 */
-
-static const GLubyte ch167data[] = {
-0x70,0x88,0x18,0x70,0xc8,0x98,0x70,0xc0,0x88,0x70,
-};
-
-static const BitmapCharRec ch167 = {5,10,0,2,6,ch167data};
-
-/* char: 0xa6 */
-
-static const GLubyte ch166data[] = {
-0x80,0x80,0x80,0x80,0x0,0x0,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch166 = {1,10,-1,2,3,ch166data};
-
-/* char: 0xa5 */
-
-static const GLubyte ch165data[] = {
-0x20,0xf8,0x20,0xf8,0x50,0x50,0x88,0x88,
-};
-
-static const BitmapCharRec ch165 = {5,8,0,0,6,ch165data};
-
-/* char: 0xa4 */
-
-static const GLubyte ch164data[] = {
-0x90,0x60,0x90,0x90,0x60,0x90,
-};
-
-static const BitmapCharRec ch164 = {4,6,0,-1,5,ch164data};
-
-/* char: 0xa3 */
-
-static const GLubyte ch163data[] = {
-0xb0,0x48,0x40,0x40,0xe0,0x40,0x48,0x30,
-};
-
-static const BitmapCharRec ch163 = {5,8,0,0,6,ch163data};
-
-/* char: 0xa2 */
-
-static const GLubyte ch162data[] = {
-0x40,0x70,0xa8,0xa0,0xa0,0xa8,0x70,0x10,
-};
-
-static const BitmapCharRec ch162 = {5,8,0,1,6,ch162data};
-
-/* char: 0xa1 */
-
-static const GLubyte ch161data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,
-};
-
-static const BitmapCharRec ch161 = {1,8,-1,2,3,ch161data};
-
-/* char: 0xa0 */
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch160data[] = { 0x0 };
-static const BitmapCharRec ch160 = {1,1,0,0,3,ch160data};
-#else
-static const BitmapCharRec ch160 = {0,0,0,0,3,0};
-#endif
-
-/* char: 0x7e '~' */
-
-static const GLubyte ch126data[] = {
-0x98,0x64,
-};
-
-static const BitmapCharRec ch126 = {6,2,0,-3,7,ch126data};
-
-/* char: 0x7d '}' */
-
-static const GLubyte ch125data[] = {
-0x80,0x40,0x40,0x40,0x40,0x20,0x40,0x40,0x40,0x80,
-};
-
-static const BitmapCharRec ch125 = {3,10,0,2,3,ch125data};
-
-/* char: 0x7c '|' */
-
-static const GLubyte ch124data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch124 = {1,10,-1,2,3,ch124data};
-
-/* char: 0x7b '{' */
-
-static const GLubyte ch123data[] = {
-0x20,0x40,0x40,0x40,0x40,0x80,0x40,0x40,0x40,0x20,
-};
-
-static const BitmapCharRec ch123 = {3,10,0,2,3,ch123data};
-
-/* char: 0x7a 'z' */
-
-static const GLubyte ch122data[] = {
-0xf0,0x80,0x40,0x20,0x10,0xf0,
-};
-
-static const BitmapCharRec ch122 = {4,6,0,0,5,ch122data};
-
-/* char: 0x79 'y' */
-
-static const GLubyte ch121data[] = {
-0x80,0x40,0x40,0x60,0xa0,0xa0,0x90,0x90,
-};
-
-static const BitmapCharRec ch121 = {4,8,0,2,5,ch121data};
-
-/* char: 0x78 'x' */
-
-static const GLubyte ch120data[] = {
-0x88,0x88,0x50,0x20,0x50,0x88,
-};
-
-static const BitmapCharRec ch120 = {5,6,0,0,6,ch120data};
-
-/* char: 0x77 'w' */
-
-static const GLubyte ch119data[] = {
-0x28,0x28,0x54,0x54,0x92,0x92,
-};
-
-static const BitmapCharRec ch119 = {7,6,0,0,8,ch119data};
-
-/* char: 0x76 'v' */
-
-static const GLubyte ch118data[] = {
-0x20,0x20,0x50,0x50,0x88,0x88,
-};
-
-static const BitmapCharRec ch118 = {5,6,0,0,6,ch118data};
-
-/* char: 0x75 'u' */
-
-static const GLubyte ch117data[] = {
-0x70,0x90,0x90,0x90,0x90,0x90,
-};
-
-static const BitmapCharRec ch117 = {4,6,0,0,5,ch117data};
-
-/* char: 0x74 't' */
-
-static const GLubyte ch116data[] = {
-0x60,0x40,0x40,0x40,0x40,0xe0,0x40,0x40,
-};
-
-static const BitmapCharRec ch116 = {3,8,0,0,4,ch116data};
-
-/* char: 0x73 's' */
-
-static const GLubyte ch115data[] = {
-0x60,0x90,0x10,0x60,0x90,0x60,
-};
-
-static const BitmapCharRec ch115 = {4,6,0,0,5,ch115data};
-
-/* char: 0x72 'r' */
-
-static const GLubyte ch114data[] = {
-0x80,0x80,0x80,0x80,0xc0,0xa0,
-};
-
-static const BitmapCharRec ch114 = {3,6,0,0,4,ch114data};
-
-/* char: 0x71 'q' */
-
-static const GLubyte ch113data[] = {
-0x8,0x8,0x68,0x98,0x88,0x88,0x98,0x68,
-};
-
-static const BitmapCharRec ch113 = {5,8,0,2,6,ch113data};
-
-/* char: 0x70 'p' */
-
-static const GLubyte ch112data[] = {
-0x80,0x80,0xb0,0xc8,0x88,0x88,0xc8,0xb0,
-};
-
-static const BitmapCharRec ch112 = {5,8,0,2,6,ch112data};
-
-/* char: 0x6f 'o' */
-
-static const GLubyte ch111data[] = {
-0x70,0x88,0x88,0x88,0x88,0x70,
-};
-
-static const BitmapCharRec ch111 = {5,6,0,0,6,ch111data};
-
-/* char: 0x6e 'n' */
-
-static const GLubyte ch110data[] = {
-0x88,0x88,0x88,0x88,0xc8,0xb0,
-};
-
-static const BitmapCharRec ch110 = {5,6,0,0,6,ch110data};
-
-/* char: 0x6d 'm' */
-
-static const GLubyte ch109data[] = {
-0x92,0x92,0x92,0x92,0x92,0xec,
-};
-
-static const BitmapCharRec ch109 = {7,6,0,0,8,ch109data};
-
-/* char: 0x6c 'l' */
-
-static const GLubyte ch108data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch108 = {1,8,0,0,2,ch108data};
-
-/* char: 0x6b 'k' */
-
-static const GLubyte ch107data[] = {
-0x90,0x90,0xa0,0xc0,0xa0,0x90,0x80,0x80,
-};
-
-static const BitmapCharRec ch107 = {4,8,0,0,5,ch107data};
-
-/* char: 0x6a 'j' */
-
-static const GLubyte ch106data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,
-};
-
-static const BitmapCharRec ch106 = {1,9,0,1,2,ch106data};
-
-/* char: 0x69 'i' */
-
-static const GLubyte ch105data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,
-};
-
-static const BitmapCharRec ch105 = {1,8,0,0,2,ch105data};
-
-/* char: 0x68 'h' */
-
-static const GLubyte ch104data[] = {
-0x88,0x88,0x88,0x88,0xc8,0xb0,0x80,0x80,
-};
-
-static const BitmapCharRec ch104 = {5,8,0,0,6,ch104data};
-
-/* char: 0x67 'g' */
-
-static const GLubyte ch103data[] = {
-0x70,0x8,0x68,0x98,0x88,0x88,0x98,0x68,
-};
-
-static const BitmapCharRec ch103 = {5,8,0,2,6,ch103data};
-
-/* char: 0x66 'f' */
-
-static const GLubyte ch102data[] = {
-0x40,0x40,0x40,0x40,0x40,0xe0,0x40,0x30,
-};
-
-static const BitmapCharRec ch102 = {4,8,0,0,4,ch102data};
-
-/* char: 0x65 'e' */
-
-static const GLubyte ch101data[] = {
-0x60,0x90,0x80,0xf0,0x90,0x60,
-};
-
-static const BitmapCharRec ch101 = {4,6,0,0,5,ch101data};
-
-/* char: 0x64 'd' */
-
-static const GLubyte ch100data[] = {
-0x68,0x98,0x88,0x88,0x98,0x68,0x8,0x8,
-};
-
-static const BitmapCharRec ch100 = {5,8,0,0,6,ch100data};
-
-/* char: 0x63 'c' */
-
-static const GLubyte ch99data[] = {
-0x60,0x90,0x80,0x80,0x90,0x60,
-};
-
-static const BitmapCharRec ch99 = {4,6,0,0,5,ch99data};
-
-/* char: 0x62 'b' */
-
-static const GLubyte ch98data[] = {
-0xb0,0xc8,0x88,0x88,0xc8,0xb0,0x80,0x80,
-};
-
-static const BitmapCharRec ch98 = {5,8,0,0,6,ch98data};
-
-/* char: 0x61 'a' */
-
-static const GLubyte ch97data[] = {
-0x68,0x90,0x90,0x70,0x10,0xe0,
-};
-
-static const BitmapCharRec ch97 = {5,6,0,0,5,ch97data};
-
-/* char: 0x60 '`' */
-
-static const GLubyte ch96data[] = {
-0x80,0x80,0x40,
-};
-
-static const BitmapCharRec ch96 = {2,3,0,-5,3,ch96data};
-
-/* char: 0x5f '_' */
-
-static const GLubyte ch95data[] = {
-0xfc,
-};
-
-static const BitmapCharRec ch95 = {6,1,0,2,6,ch95data};
-
-/* char: 0x5e '^' */
-
-static const GLubyte ch94data[] = {
-0x88,0x50,0x50,0x20,0x20,
-};
-
-static const BitmapCharRec ch94 = {5,5,0,-3,6,ch94data};
-
-/* char: 0x5d ']' */
-
-static const GLubyte ch93data[] = {
-0xc0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xc0,
-};
-
-static const BitmapCharRec ch93 = {2,10,0,2,3,ch93data};
-
-/* char: 0x5c '\' */
-
-static const GLubyte ch92data[] = {
-0x20,0x20,0x40,0x40,0x40,0x40,0x80,0x80,
-};
-
-static const BitmapCharRec ch92 = {3,8,0,0,3,ch92data};
-
-/* char: 0x5b '[' */
-
-static const GLubyte ch91data[] = {
-0xc0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xc0,
-};
-
-static const BitmapCharRec ch91 = {2,10,-1,2,3,ch91data};
-
-/* char: 0x5a 'Z' */
-
-static const GLubyte ch90data[] = {
-0xf8,0x80,0x40,0x20,0x20,0x10,0x8,0xf8,
-};
-
-static const BitmapCharRec ch90 = {5,8,-1,0,7,ch90data};
-
-/* char: 0x59 'Y' */
-
-static const GLubyte ch89data[] = {
-0x10,0x10,0x10,0x28,0x28,0x44,0x44,0x82,
-};
-
-static const BitmapCharRec ch89 = {7,8,0,0,7,ch89data};
-
-/* char: 0x58 'X' */
-
-static const GLubyte ch88data[] = {
-0x88,0x88,0x50,0x50,0x20,0x50,0x88,0x88,
-};
-
-static const BitmapCharRec ch88 = {5,8,-1,0,7,ch88data};
-
-/* char: 0x57 'W' */
-
-static const GLubyte ch87data[] = {
-0x22,0x0,0x22,0x0,0x22,0x0,0x55,0x0,0x49,0x0,0x49,0x0,0x88,0x80,0x88,0x80,
-};
-
-static const BitmapCharRec ch87 = {9,8,0,0,9,ch87data};
-
-/* char: 0x56 'V' */
-
-static const GLubyte ch86data[] = {
-0x10,0x28,0x28,0x44,0x44,0x44,0x82,0x82,
-};
-
-static const BitmapCharRec ch86 = {7,8,0,0,7,ch86data};
-
-/* char: 0x55 'U' */
-
-static const GLubyte ch85data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
-};
-
-static const BitmapCharRec ch85 = {6,8,-1,0,8,ch85data};
-
-/* char: 0x54 'T' */
-
-static const GLubyte ch84data[] = {
-0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xf8,
-};
-
-static const BitmapCharRec ch84 = {5,8,0,0,5,ch84data};
-
-/* char: 0x53 'S' */
-
-static const GLubyte ch83data[] = {
-0x70,0x88,0x88,0x8,0x70,0x80,0x88,0x70,
-};
-
-static const BitmapCharRec ch83 = {5,8,-1,0,7,ch83data};
-
-/* char: 0x52 'R' */
-
-static const GLubyte ch82data[] = {
-0x88,0x88,0x88,0x88,0xf0,0x88,0x88,0xf0,
-};
-
-static const BitmapCharRec ch82 = {5,8,-1,0,7,ch82data};
-
-/* char: 0x51 'Q' */
-
-static const GLubyte ch81data[] = {
-0x2,0x7c,0x8c,0x94,0x84,0x84,0x84,0x84,0x78,
-};
-
-static const BitmapCharRec ch81 = {7,9,-1,1,8,ch81data};
-
-/* char: 0x50 'P' */
-
-static const GLubyte ch80data[] = {
-0x80,0x80,0x80,0x80,0xf0,0x88,0x88,0xf0,
-};
-
-static const BitmapCharRec ch80 = {5,8,-1,0,7,ch80data};
-
-/* char: 0x4f 'O' */
-
-static const GLubyte ch79data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x78,
-};
-
-static const BitmapCharRec ch79 = {6,8,-1,0,8,ch79data};
-
-/* char: 0x4e 'N' */
-
-static const GLubyte ch78data[] = {
-0x8c,0x8c,0x94,0x94,0xa4,0xa4,0xc4,0xc4,
-};
-
-static const BitmapCharRec ch78 = {6,8,-1,0,8,ch78data};
-
-/* char: 0x4d 'M' */
-
-static const GLubyte ch77data[] = {
-0x92,0x92,0x92,0xaa,0xaa,0xc6,0xc6,0x82,
-};
-
-static const BitmapCharRec ch77 = {7,8,-1,0,9,ch77data};
-
-/* char: 0x4c 'L' */
-
-static const GLubyte ch76data[] = {
-0xf0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch76 = {4,8,-1,0,6,ch76data};
-
-/* char: 0x4b 'K' */
-
-static const GLubyte ch75data[] = {
-0x88,0x88,0x90,0x90,0xe0,0xa0,0x90,0x88,
-};
-
-static const BitmapCharRec ch75 = {5,8,-1,0,7,ch75data};
-
-/* char: 0x4a 'J' */
-
-static const GLubyte ch74data[] = {
-0x60,0x90,0x10,0x10,0x10,0x10,0x10,0x10,
-};
-
-static const BitmapCharRec ch74 = {4,8,0,0,5,ch74data};
-
-/* char: 0x49 'I' */
-
-static const GLubyte ch73data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch73 = {1,8,-1,0,3,ch73data};
-
-/* char: 0x48 'H' */
-
-static const GLubyte ch72data[] = {
-0x84,0x84,0x84,0x84,0xfc,0x84,0x84,0x84,
-};
-
-static const BitmapCharRec ch72 = {6,8,-1,0,8,ch72data};
-
-/* char: 0x47 'G' */
-
-static const GLubyte ch71data[] = {
-0x74,0x8c,0x84,0x8c,0x80,0x80,0x84,0x78,
-};
-
-static const BitmapCharRec ch71 = {6,8,-1,0,8,ch71data};
-
-/* char: 0x46 'F' */
-
-static const GLubyte ch70data[] = {
-0x80,0x80,0x80,0x80,0xf0,0x80,0x80,0xf8,
-};
-
-static const BitmapCharRec ch70 = {5,8,-1,0,6,ch70data};
-
-/* char: 0x45 'E' */
-
-static const GLubyte ch69data[] = {
-0xf8,0x80,0x80,0x80,0xf8,0x80,0x80,0xf8,
-};
-
-static const BitmapCharRec ch69 = {5,8,-1,0,7,ch69data};
-
-/* char: 0x44 'D' */
-
-static const GLubyte ch68data[] = {
-0xf0,0x88,0x84,0x84,0x84,0x84,0x88,0xf0,
-};
-
-static const BitmapCharRec ch68 = {6,8,-1,0,8,ch68data};
-
-/* char: 0x43 'C' */
-
-static const GLubyte ch67data[] = {
-0x78,0x84,0x80,0x80,0x80,0x80,0x84,0x78,
-};
-
-static const BitmapCharRec ch67 = {6,8,-1,0,8,ch67data};
-
-/* char: 0x42 'B' */
-
-static const GLubyte ch66data[] = {
-0xf0,0x88,0x88,0x88,0xf0,0x88,0x88,0xf0,
-};
-
-static const BitmapCharRec ch66 = {5,8,-1,0,7,ch66data};
-
-/* char: 0x41 'A' */
-
-static const GLubyte ch65data[] = {
-0x82,0x82,0x7c,0x44,0x28,0x28,0x10,0x10,
-};
-
-static const BitmapCharRec ch65 = {7,8,0,0,7,ch65data};
-
-/* char: 0x40 '@' */
-
-static const GLubyte ch64data[] = {
-0x3e,0x0,0x40,0x0,0x9b,0x0,0xa4,0x80,0xa4,0x80,0xa2,0x40,0x92,0x40,0x4d,0x40,
-0x20,0x80,0x1f,0x0,
-};
-
-static const BitmapCharRec ch64 = {10,10,0,2,11,ch64data};
-
-/* char: 0x3f '?' */
-
-static const GLubyte ch63data[] = {
-0x40,0x0,0x40,0x40,0x20,0x10,0x90,0x60,
-};
-
-static const BitmapCharRec ch63 = {4,8,-1,0,6,ch63data};
-
-/* char: 0x3e '>' */
-
-static const GLubyte ch62data[] = {
-0x80,0x40,0x20,0x40,0x80,
-};
-
-static const BitmapCharRec ch62 = {3,5,-1,-1,6,ch62data};
-
-/* char: 0x3d '=' */
-
-static const GLubyte ch61data[] = {
-0xf0,0x0,0xf0,
-};
-
-static const BitmapCharRec ch61 = {4,3,0,-2,5,ch61data};
-
-/* char: 0x3c '<' */
-
-static const GLubyte ch60data[] = {
-0x20,0x40,0x80,0x40,0x20,
-};
-
-static const BitmapCharRec ch60 = {3,5,-1,-1,6,ch60data};
-
-/* char: 0x3b ';' */
-
-static const GLubyte ch59data[] = {
-0x80,0x40,0x40,0x0,0x0,0x0,0x0,0x40,
-};
-
-static const BitmapCharRec ch59 = {2,8,0,2,3,ch59data};
-
-/* char: 0x3a ':' */
-
-static const GLubyte ch58data[] = {
-0x80,0x0,0x0,0x0,0x0,0x80,
-};
-
-static const BitmapCharRec ch58 = {1,6,-1,0,3,ch58data};
-
-/* char: 0x39 '9' */
-
-static const GLubyte ch57data[] = {
-0x70,0x88,0x8,0x68,0x98,0x88,0x88,0x70,
-};
-
-static const BitmapCharRec ch57 = {5,8,0,0,6,ch57data};
-
-/* char: 0x38 '8' */
-
-static const GLubyte ch56data[] = {
-0x70,0x88,0x88,0x88,0x70,0x88,0x88,0x70,
-};
-
-static const BitmapCharRec ch56 = {5,8,0,0,6,ch56data};
-
-/* char: 0x37 '7' */
-
-static const GLubyte ch55data[] = {
-0x40,0x40,0x20,0x20,0x10,0x10,0x8,0xf8,
-};
-
-static const BitmapCharRec ch55 = {5,8,0,0,6,ch55data};
-
-/* char: 0x36 '6' */
-
-static const GLubyte ch54data[] = {
-0x70,0x88,0x88,0xc8,0xb0,0x80,0x88,0x70,
-};
-
-static const BitmapCharRec ch54 = {5,8,0,0,6,ch54data};
-
-/* char: 0x35 '5' */
-
-static const GLubyte ch53data[] = {
-0x70,0x88,0x8,0x8,0xf0,0x80,0x80,0xf8,
-};
-
-static const BitmapCharRec ch53 = {5,8,0,0,6,ch53data};
-
-/* char: 0x34 '4' */
-
-static const GLubyte ch52data[] = {
-0x10,0x10,0xf8,0x90,0x50,0x50,0x30,0x10,
-};
-
-static const BitmapCharRec ch52 = {5,8,0,0,6,ch52data};
-
-/* char: 0x33 '3' */
-
-static const GLubyte ch51data[] = {
-0x70,0x88,0x8,0x8,0x30,0x8,0x88,0x70,
-};
-
-static const BitmapCharRec ch51 = {5,8,0,0,6,ch51data};
-
-/* char: 0x32 '2' */
-
-static const GLubyte ch50data[] = {
-0xf8,0x80,0x40,0x30,0x8,0x8,0x88,0x70,
-};
-
-static const BitmapCharRec ch50 = {5,8,0,0,6,ch50data};
-
-/* char: 0x31 '1' */
-
-static const GLubyte ch49data[] = {
-0x40,0x40,0x40,0x40,0x40,0x40,0xc0,0x40,
-};
-
-static const BitmapCharRec ch49 = {2,8,-1,0,6,ch49data};
-
-/* char: 0x30 '0' */
-
-static const GLubyte ch48data[] = {
-0x70,0x88,0x88,0x88,0x88,0x88,0x88,0x70,
-};
-
-static const BitmapCharRec ch48 = {5,8,0,0,6,ch48data};
-
-/* char: 0x2f '/' */
-
-static const GLubyte ch47data[] = {
-0x80,0x80,0x40,0x40,0x40,0x40,0x20,0x20,
-};
-
-static const BitmapCharRec ch47 = {3,8,0,0,3,ch47data};
-
-/* char: 0x2e '.' */
-
-static const GLubyte ch46data[] = {
-0x80,
-};
-
-static const BitmapCharRec ch46 = {1,1,-1,0,3,ch46data};
-
-/* char: 0x2d '-' */
-
-static const GLubyte ch45data[] = {
-0xf8,
-};
-
-static const BitmapCharRec ch45 = {5,1,-1,-3,7,ch45data};
-
-/* char: 0x2c ',' */
-
-static const GLubyte ch44data[] = {
-0x80,0x40,0x40,
-};
-
-static const BitmapCharRec ch44 = {2,3,0,2,3,ch44data};
-
-/* char: 0x2b '+' */
-
-static const GLubyte ch43data[] = {
-0x20,0x20,0xf8,0x20,0x20,
-};
-
-static const BitmapCharRec ch43 = {5,5,0,-1,6,ch43data};
-
-/* char: 0x2a '*' */
-
-static const GLubyte ch42data[] = {
-0xa0,0x40,0xa0,
-};
-
-static const BitmapCharRec ch42 = {3,3,0,-5,4,ch42data};
-
-/* char: 0x29 ')' */
-
-static const GLubyte ch41data[] = {
-0x80,0x40,0x40,0x20,0x20,0x20,0x20,0x40,0x40,0x80,
-};
-
-static const BitmapCharRec ch41 = {3,10,-1,2,4,ch41data};
-
-/* char: 0x28 '(' */
-
-static const GLubyte ch40data[] = {
-0x20,0x40,0x40,0x80,0x80,0x80,0x80,0x40,0x40,0x20,
-};
-
-static const BitmapCharRec ch40 = {3,10,0,2,4,ch40data};
-
-/* char: 0x27 ''' */
-
-static const GLubyte ch39data[] = {
-0x80,0x40,0x40,
-};
-
-static const BitmapCharRec ch39 = {2,3,-1,-5,3,ch39data};
-
-/* char: 0x26 '&' */
-
-static const GLubyte ch38data[] = {
-0x64,0x98,0x98,0xa4,0x60,0x50,0x50,0x20,
-};
-
-static const BitmapCharRec ch38 = {6,8,-1,0,8,ch38data};
-
-/* char: 0x25 '%' */
-
-static const GLubyte ch37data[] = {
-0x26,0x29,0x16,0x10,0x8,0x68,0x94,0x64,
-};
-
-static const BitmapCharRec ch37 = {8,8,0,0,9,ch37data};
-
-/* char: 0x24 '$' */
-
-static const GLubyte ch36data[] = {
-0x20,0x70,0xa8,0x28,0x70,0xa0,0xa8,0x70,0x20,
-};
-
-static const BitmapCharRec ch36 = {5,9,0,1,6,ch36data};
-
-/* char: 0x23 '#' */
-
-static const GLubyte ch35data[] = {
-0x50,0x50,0xf8,0x28,0x7c,0x28,0x28,
-};
-
-static const BitmapCharRec ch35 = {6,7,0,0,6,ch35data};
-
-/* char: 0x22 '"' */
-
-static const GLubyte ch34data[] = {
-0xa0,0xa0,
-};
-
-static const BitmapCharRec ch34 = {3,2,-1,-6,4,ch34data};
-
-/* char: 0x21 '!' */
-
-static const GLubyte ch33data[] = {
-0x80,0x0,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch33 = {1,8,-1,0,3,ch33data};
-
-/* char: 0x20 ' ' */
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch32data[] = { 0x0 };
-static const BitmapCharRec ch32 = {0,0,0,0,3,ch32data};
-#else
-static const BitmapCharRec ch32 = {0,0,0,0,3,0};
-#endif
-
-static const BitmapCharRec * const chars[] = {
-&ch32,
-&ch33,
-&ch34,
-&ch35,
-&ch36,
-&ch37,
-&ch38,
-&ch39,
-&ch40,
-&ch41,
-&ch42,
-&ch43,
-&ch44,
-&ch45,
-&ch46,
-&ch47,
-&ch48,
-&ch49,
-&ch50,
-&ch51,
-&ch52,
-&ch53,
-&ch54,
-&ch55,
-&ch56,
-&ch57,
-&ch58,
-&ch59,
-&ch60,
-&ch61,
-&ch62,
-&ch63,
-&ch64,
-&ch65,
-&ch66,
-&ch67,
-&ch68,
-&ch69,
-&ch70,
-&ch71,
-&ch72,
-&ch73,
-&ch74,
-&ch75,
-&ch76,
-&ch77,
-&ch78,
-&ch79,
-&ch80,
-&ch81,
-&ch82,
-&ch83,
-&ch84,
-&ch85,
-&ch86,
-&ch87,
-&ch88,
-&ch89,
-&ch90,
-&ch91,
-&ch92,
-&ch93,
-&ch94,
-&ch95,
-&ch96,
-&ch97,
-&ch98,
-&ch99,
-&ch100,
-&ch101,
-&ch102,
-&ch103,
-&ch104,
-&ch105,
-&ch106,
-&ch107,
-&ch108,
-&ch109,
-&ch110,
-&ch111,
-&ch112,
-&ch113,
-&ch114,
-&ch115,
-&ch116,
-&ch117,
-&ch118,
-&ch119,
-&ch120,
-&ch121,
-&ch122,
-&ch123,
-&ch124,
-&ch125,
-&ch126,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-&ch160,
-&ch161,
-&ch162,
-&ch163,
-&ch164,
-&ch165,
-&ch166,
-&ch167,
-&ch168,
-&ch169,
-&ch170,
-&ch171,
-&ch172,
-&ch173,
-&ch174,
-&ch175,
-&ch176,
-&ch177,
-&ch178,
-&ch179,
-&ch180,
-&ch181,
-&ch182,
-&ch183,
-&ch184,
-&ch185,
-&ch186,
-&ch187,
-&ch188,
-&ch189,
-&ch190,
-&ch191,
-&ch192,
-&ch193,
-&ch194,
-&ch195,
-&ch196,
-&ch197,
-&ch198,
-&ch199,
-&ch200,
-&ch201,
-&ch202,
-&ch203,
-&ch204,
-&ch205,
-&ch206,
-&ch207,
-&ch208,
-&ch209,
-&ch210,
-&ch211,
-&ch212,
-&ch213,
-&ch214,
-&ch215,
-&ch216,
-&ch217,
-&ch218,
-&ch219,
-&ch220,
-&ch221,
-&ch222,
-&ch223,
-&ch224,
-&ch225,
-&ch226,
-&ch227,
-&ch228,
-&ch229,
-&ch230,
-&ch231,
-&ch232,
-&ch233,
-&ch234,
-&ch235,
-&ch236,
-&ch237,
-&ch238,
-&ch239,
-&ch240,
-&ch241,
-&ch242,
-&ch243,
-&ch244,
-&ch245,
-&ch246,
-&ch247,
-&ch248,
-&ch249,
-&ch250,
-&ch251,
-&ch252,
-&ch253,
-&ch254,
-&ch255,
-};
-
-#if !defined(__IBMCPP__)
-const
-#endif
-BitmapFontRec glutBitmapHelvetica10 = {
-"-adobe-helvetica-medium-r-normal--10-100-75-75-p-56-iso8859-1",
-224,
-32,
-chars
-};
-
diff --git a/src/glut/os2/glut_hel12.cpp b/src/glut/os2/glut_hel12.cpp
deleted file mode 100644
index f615fbb2f8..0000000000
--- a/src/glut/os2/glut_hel12.cpp
+++ /dev/null
@@ -1,1791 +0,0 @@
-
-/* GENERATED FILE -- DO NOT MODIFY */
-
-#define glutBitmapHelvetica12 XXX
-#include "glutbitmap.h"
-#undef glutBitmapHelvetica12
-
-/* char: 0xff */
-
-static const GLubyte ch255data[] = {
-0xc0,0x20,0x20,0x20,0x30,0x50,0x50,0x48,0x88,0x88,0x0,0x50,
-};
-
-static const BitmapCharRec ch255 = {5,12,-1,3,7,ch255data};
-
-/* char: 0xfe */
-
-static const GLubyte ch254data[] = {
-0x80,0x80,0x80,0xb0,0xc8,0x88,0x88,0x88,0xc8,0xb0,0x80,0x80,
-};
-
-static const BitmapCharRec ch254 = {5,12,-1,3,7,ch254data};
-
-/* char: 0xfd */
-
-static const GLubyte ch253data[] = {
-0x80,0x40,0x20,0x20,0x50,0x50,0x90,0x88,0x88,0x88,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch253 = {5,13,-1,3,7,ch253data};
-
-/* char: 0xfc */
-
-static const GLubyte ch252data[] = {
-0x68,0x98,0x88,0x88,0x88,0x88,0x88,0x0,0x50,
-};
-
-static const BitmapCharRec ch252 = {5,9,-1,0,7,ch252data};
-
-/* char: 0xfb */
-
-static const GLubyte ch251data[] = {
-0x68,0x98,0x88,0x88,0x88,0x88,0x88,0x0,0x50,0x20,
-};
-
-static const BitmapCharRec ch251 = {5,10,-1,0,7,ch251data};
-
-/* char: 0xfa */
-
-static const GLubyte ch250data[] = {
-0x68,0x98,0x88,0x88,0x88,0x88,0x88,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch250 = {5,10,-1,0,7,ch250data};
-
-/* char: 0xf9 */
-
-static const GLubyte ch249data[] = {
-0x68,0x98,0x88,0x88,0x88,0x88,0x88,0x0,0x20,0x40,
-};
-
-static const BitmapCharRec ch249 = {5,10,-1,0,7,ch249data};
-
-/* char: 0xf8 */
-
-static const GLubyte ch248data[] = {
-0xb8,0x44,0x64,0x54,0x4c,0x44,0x3a,
-};
-
-static const BitmapCharRec ch248 = {7,7,0,0,7,ch248data};
-
-/* char: 0xf7 */
-
-static const GLubyte ch247data[] = {
-0x20,0x0,0xf8,0x0,0x20,
-};
-
-static const BitmapCharRec ch247 = {5,5,-1,-1,7,ch247data};
-
-/* char: 0xf6 */
-
-static const GLubyte ch246data[] = {
-0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x0,0x50,
-};
-
-static const BitmapCharRec ch246 = {5,9,-1,0,7,ch246data};
-
-/* char: 0xf5 */
-
-static const GLubyte ch245data[] = {
-0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch245 = {5,10,-1,0,7,ch245data};
-
-/* char: 0xf4 */
-
-static const GLubyte ch244data[] = {
-0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x0,0x50,0x20,
-};
-
-static const BitmapCharRec ch244 = {5,10,-1,0,7,ch244data};
-
-/* char: 0xf3 */
-
-static const GLubyte ch243data[] = {
-0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch243 = {5,10,-1,0,7,ch243data};
-
-/* char: 0xf2 */
-
-static const GLubyte ch242data[] = {
-0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x0,0x20,0x40,
-};
-
-static const BitmapCharRec ch242 = {5,10,-1,0,7,ch242data};
-
-/* char: 0xf1 */
-
-static const GLubyte ch241data[] = {
-0x88,0x88,0x88,0x88,0x88,0xc8,0xb0,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch241 = {5,10,-1,0,7,ch241data};
-
-/* char: 0xf0 */
-
-static const GLubyte ch240data[] = {
-0x70,0x88,0x88,0x88,0x88,0x78,0x8,0x50,0x30,0x68,
-};
-
-static const BitmapCharRec ch240 = {5,10,-1,0,7,ch240data};
-
-/* char: 0xef */
-
-static const GLubyte ch239data[] = {
-0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0,
-};
-
-static const BitmapCharRec ch239 = {3,9,0,0,3,ch239data};
-
-/* char: 0xee */
-
-static const GLubyte ch238data[] = {
-0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0,0x40,
-};
-
-static const BitmapCharRec ch238 = {3,10,0,0,3,ch238data};
-
-/* char: 0xed */
-
-static const GLubyte ch237data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,0x40,
-};
-
-static const BitmapCharRec ch237 = {2,10,-1,0,3,ch237data};
-
-/* char: 0xec */
-
-static const GLubyte ch236data[] = {
-0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0x40,0x80,
-};
-
-static const BitmapCharRec ch236 = {2,10,0,0,3,ch236data};
-
-/* char: 0xeb */
-
-static const GLubyte ch235data[] = {
-0x70,0x88,0x80,0xf8,0x88,0x88,0x70,0x0,0x50,
-};
-
-static const BitmapCharRec ch235 = {5,9,-1,0,7,ch235data};
-
-/* char: 0xea */
-
-static const GLubyte ch234data[] = {
-0x70,0x88,0x80,0xf8,0x88,0x88,0x70,0x0,0x50,0x20,
-};
-
-static const BitmapCharRec ch234 = {5,10,-1,0,7,ch234data};
-
-/* char: 0xe9 */
-
-static const GLubyte ch233data[] = {
-0x70,0x88,0x80,0xf8,0x88,0x88,0x70,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch233 = {5,10,-1,0,7,ch233data};
-
-/* char: 0xe8 */
-
-static const GLubyte ch232data[] = {
-0x70,0x88,0x80,0xf8,0x88,0x88,0x70,0x0,0x20,0x40,
-};
-
-static const BitmapCharRec ch232 = {5,10,-1,0,7,ch232data};
-
-/* char: 0xe7 */
-
-static const GLubyte ch231data[] = {
-0x60,0x10,0x20,0x70,0x88,0x80,0x80,0x80,0x88,0x70,
-};
-
-static const BitmapCharRec ch231 = {5,10,-1,3,7,ch231data};
-
-/* char: 0xe6 */
-
-static const GLubyte ch230data[] = {
-0x77,0x0,0x88,0x80,0x88,0x0,0x7f,0x80,0x8,0x80,0x88,0x80,0x77,0x0,
-};
-
-static const BitmapCharRec ch230 = {9,7,-1,0,11,ch230data};
-
-/* char: 0xe5 */
-
-static const GLubyte ch229data[] = {
-0x74,0x88,0x88,0x78,0x8,0x88,0x70,0x30,0x48,0x30,
-};
-
-static const BitmapCharRec ch229 = {6,10,-1,0,7,ch229data};
-
-/* char: 0xe4 */
-
-static const GLubyte ch228data[] = {
-0x74,0x88,0x88,0x78,0x8,0x88,0x70,0x0,0x50,
-};
-
-static const BitmapCharRec ch228 = {6,9,-1,0,7,ch228data};
-
-/* char: 0xe3 */
-
-static const GLubyte ch227data[] = {
-0x74,0x88,0x88,0x78,0x8,0x88,0x70,0x0,0x50,0x28,
-};
-
-static const BitmapCharRec ch227 = {6,10,-1,0,7,ch227data};
-
-/* char: 0xe2 */
-
-static const GLubyte ch226data[] = {
-0x74,0x88,0x88,0x78,0x8,0x88,0x70,0x0,0x50,0x20,
-};
-
-static const BitmapCharRec ch226 = {6,10,-1,0,7,ch226data};
-
-/* char: 0xe1 */
-
-static const GLubyte ch225data[] = {
-0x74,0x88,0x88,0x78,0x8,0x88,0x70,0x0,0x20,0x10,
-};
-
-static const BitmapCharRec ch225 = {6,10,-1,0,7,ch225data};
-
-/* char: 0xe0 */
-
-static const GLubyte ch224data[] = {
-0x74,0x88,0x88,0x78,0x8,0x88,0x70,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch224 = {6,10,-1,0,7,ch224data};
-
-/* char: 0xdf */
-
-static const GLubyte ch223data[] = {
-0xb0,0x88,0x88,0x88,0xb0,0x88,0x88,0x88,0x70,
-};
-
-static const BitmapCharRec ch223 = {5,9,-1,0,7,ch223data};
-
-/* char: 0xde */
-
-static const GLubyte ch222data[] = {
-0x80,0x80,0xf8,0x84,0x84,0x84,0xf8,0x80,0x80,
-};
-
-static const BitmapCharRec ch222 = {6,9,-1,0,8,ch222data};
-
-/* char: 0xdd */
-
-static const GLubyte ch221data[] = {
-0x10,0x10,0x10,0x10,0x28,0x44,0x44,0x82,0x82,0x0,0x10,0x8,
-};
-
-static const BitmapCharRec ch221 = {7,12,-1,0,9,ch221data};
-
-/* char: 0xdc */
-
-static const GLubyte ch220data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x48,
-};
-
-static const BitmapCharRec ch220 = {6,11,-1,0,8,ch220data};
-
-/* char: 0xdb */
-
-static const GLubyte ch219data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x28,0x10,
-};
-
-static const BitmapCharRec ch219 = {6,12,-1,0,8,ch219data};
-
-/* char: 0xda */
-
-static const GLubyte ch218data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x10,0x8,
-};
-
-static const BitmapCharRec ch218 = {6,12,-1,0,8,ch218data};
-
-/* char: 0xd9 */
-
-static const GLubyte ch217data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch217 = {6,12,-1,0,8,ch217data};
-
-/* char: 0xd8 */
-
-static const GLubyte ch216data[] = {
-0x80,0x0,0x5e,0x0,0x21,0x0,0x50,0x80,0x48,0x80,0x44,0x80,0x44,0x80,0x42,0x80,
-0x21,0x0,0x1e,0x80,0x0,0x40,
-};
-
-static const BitmapCharRec ch216 = {10,11,0,1,10,ch216data};
-
-/* char: 0xd7 */
-
-static const GLubyte ch215data[] = {
-0x88,0x50,0x20,0x50,0x88,
-};
-
-static const BitmapCharRec ch215 = {5,5,-1,-1,7,ch215data};
-
-/* char: 0xd6 */
-
-static const GLubyte ch214data[] = {
-0x3c,0x42,0x81,0x81,0x81,0x81,0x81,0x42,0x3c,0x0,0x24,
-};
-
-static const BitmapCharRec ch214 = {8,11,-1,0,10,ch214data};
-
-/* char: 0xd5 */
-
-static const GLubyte ch213data[] = {
-0x3c,0x42,0x81,0x81,0x81,0x81,0x81,0x42,0x3c,0x0,0x28,0x14,
-};
-
-static const BitmapCharRec ch213 = {8,12,-1,0,10,ch213data};
-
-/* char: 0xd4 */
-
-static const GLubyte ch212data[] = {
-0x3c,0x42,0x81,0x81,0x81,0x81,0x81,0x42,0x3c,0x0,0x14,0x8,
-};
-
-static const BitmapCharRec ch212 = {8,12,-1,0,10,ch212data};
-
-/* char: 0xd3 */
-
-static const GLubyte ch211data[] = {
-0x3c,0x42,0x81,0x81,0x81,0x81,0x81,0x42,0x3c,0x0,0x8,0x4,
-};
-
-static const BitmapCharRec ch211 = {8,12,-1,0,10,ch211data};
-
-/* char: 0xd2 */
-
-static const GLubyte ch210data[] = {
-0x3c,0x42,0x81,0x81,0x81,0x81,0x81,0x42,0x3c,0x0,0x8,0x10,
-};
-
-static const BitmapCharRec ch210 = {8,12,-1,0,10,ch210data};
-
-/* char: 0xd1 */
-
-static const GLubyte ch209data[] = {
-0x82,0x86,0x8a,0x8a,0x92,0xa2,0xa2,0xc2,0x82,0x0,0x28,0x14,
-};
-
-static const BitmapCharRec ch209 = {7,12,-1,0,9,ch209data};
-
-/* char: 0xd0 */
-
-static const GLubyte ch208data[] = {
-0x7c,0x42,0x41,0x41,0xf1,0x41,0x41,0x42,0x7c,
-};
-
-static const BitmapCharRec ch208 = {8,9,0,0,9,ch208data};
-
-/* char: 0xcf */
-
-static const GLubyte ch207data[] = {
-0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0,
-};
-
-static const BitmapCharRec ch207 = {3,11,0,0,3,ch207data};
-
-/* char: 0xce */
-
-static const GLubyte ch206data[] = {
-0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0,0x40,
-};
-
-static const BitmapCharRec ch206 = {3,12,0,0,3,ch206data};
-
-/* char: 0xcd */
-
-static const GLubyte ch205data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,0x40,
-};
-
-static const BitmapCharRec ch205 = {2,12,-1,0,3,ch205data};
-
-/* char: 0xcc */
-
-static const GLubyte ch204data[] = {
-0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0x40,0x80,
-};
-
-static const BitmapCharRec ch204 = {2,12,0,0,3,ch204data};
-
-/* char: 0xcb */
-
-static const GLubyte ch203data[] = {
-0xfc,0x80,0x80,0x80,0xfc,0x80,0x80,0x80,0xfc,0x0,0x28,
-};
-
-static const BitmapCharRec ch203 = {6,11,-1,0,8,ch203data};
-
-/* char: 0xca */
-
-static const GLubyte ch202data[] = {
-0xfc,0x80,0x80,0x80,0xfc,0x80,0x80,0x80,0xfc,0x0,0x28,0x10,
-};
-
-static const BitmapCharRec ch202 = {6,12,-1,0,8,ch202data};
-
-/* char: 0xc9 */
-
-static const GLubyte ch201data[] = {
-0xfc,0x80,0x80,0x80,0xfc,0x80,0x80,0x80,0xfc,0x0,0x10,0x8,
-};
-
-static const BitmapCharRec ch201 = {6,12,-1,0,8,ch201data};
-
-/* char: 0xc8 */
-
-static const GLubyte ch200data[] = {
-0xfc,0x80,0x80,0x80,0xfc,0x80,0x80,0x80,0xfc,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch200 = {6,12,-1,0,8,ch200data};
-
-/* char: 0xc7 */
-
-static const GLubyte ch199data[] = {
-0x30,0x8,0x8,0x3c,0x42,0x80,0x80,0x80,0x80,0x80,0x42,0x3c,
-};
-
-static const BitmapCharRec ch199 = {7,12,-1,3,9,ch199data};
-
-/* char: 0xc6 */
-
-static const GLubyte ch198data[] = {
-0x8f,0x80,0x88,0x0,0x88,0x0,0x78,0x0,0x4f,0x80,0x48,0x0,0x28,0x0,0x28,0x0,
-0x1f,0x80,
-};
-
-static const BitmapCharRec ch198 = {9,9,-1,0,11,ch198data};
-
-/* char: 0xc5 */
-
-static const GLubyte ch197data[] = {
-0x82,0x82,0x82,0x7c,0x44,0x44,0x28,0x10,0x10,0x10,0x28,0x10,
-};
-
-static const BitmapCharRec ch197 = {7,12,-1,0,9,ch197data};
-
-/* char: 0xc4 */
-
-static const GLubyte ch196data[] = {
-0x82,0x82,0x82,0x7c,0x44,0x44,0x28,0x10,0x10,0x0,0x28,
-};
-
-static const BitmapCharRec ch196 = {7,11,-1,0,9,ch196data};
-
-/* char: 0xc3 */
-
-static const GLubyte ch195data[] = {
-0x82,0x82,0x82,0x7c,0x44,0x44,0x28,0x10,0x10,0x0,0x28,0x14,
-};
-
-static const BitmapCharRec ch195 = {7,12,-1,0,9,ch195data};
-
-/* char: 0xc2 */
-
-static const GLubyte ch194data[] = {
-0x82,0x82,0x82,0x7c,0x44,0x44,0x28,0x10,0x10,0x0,0x28,0x10,
-};
-
-static const BitmapCharRec ch194 = {7,12,-1,0,9,ch194data};
-
-/* char: 0xc1 */
-
-static const GLubyte ch193data[] = {
-0x82,0x82,0x82,0x7c,0x44,0x44,0x28,0x10,0x10,0x0,0x10,0x8,
-};
-
-static const BitmapCharRec ch193 = {7,12,-1,0,9,ch193data};
-
-/* char: 0xc0 */
-
-static const GLubyte ch192data[] = {
-0x82,0x82,0x82,0x7c,0x44,0x44,0x28,0x10,0x10,0x0,0x10,0x20,
-};
-
-static const BitmapCharRec ch192 = {7,12,-1,0,9,ch192data};
-
-/* char: 0xbf */
-
-static const GLubyte ch191data[] = {
-0x70,0x88,0x88,0x40,0x40,0x20,0x20,0x0,0x20,
-};
-
-static const BitmapCharRec ch191 = {5,9,-1,3,7,ch191data};
-
-/* char: 0xbe */
-
-static const GLubyte ch190data[] = {
-0x21,0x0,0x17,0x80,0x15,0x0,0xb,0x0,0xc9,0x0,0x24,0x0,0x44,0x0,0x22,0x0,
-0xe1,0x0,
-};
-
-static const BitmapCharRec ch190 = {9,9,0,0,10,ch190data};
-
-/* char: 0xbd */
-
-static const GLubyte ch189data[] = {
-0x47,0x80,0x22,0x0,0x11,0x0,0x14,0x80,0x4b,0x0,0x48,0x0,0x44,0x0,0xc2,0x0,
-0x41,0x0,
-};
-
-static const BitmapCharRec ch189 = {9,9,0,0,10,ch189data};
-
-/* char: 0xbc */
-
-static const GLubyte ch188data[] = {
-0x41,0x0,0x27,0x80,0x15,0x0,0x13,0x0,0x49,0x0,0x44,0x0,0x44,0x0,0xc2,0x0,
-0x41,0x0,
-};
-
-static const BitmapCharRec ch188 = {9,9,0,0,10,ch188data};
-
-/* char: 0xbb */
-
-static const GLubyte ch187data[] = {
-0xa0,0x50,0x28,0x50,0xa0,
-};
-
-static const BitmapCharRec ch187 = {5,5,-1,-1,7,ch187data};
-
-/* char: 0xba */
-
-static const GLubyte ch186data[] = {
-0xe0,0x0,0xe0,0xa0,0xe0,
-};
-
-static const BitmapCharRec ch186 = {3,5,-1,-4,5,ch186data};
-
-/* char: 0xb9 */
-
-static const GLubyte ch185data[] = {
-0x40,0x40,0x40,0xc0,0x40,
-};
-
-static const BitmapCharRec ch185 = {2,5,-1,-3,4,ch185data};
-
-/* char: 0xb8 */
-
-static const GLubyte ch184data[] = {
-0xc0,0x20,0x20,0x40,
-};
-
-static const BitmapCharRec ch184 = {3,4,0,3,3,ch184data};
-
-/* char: 0xb7 */
-
-static const GLubyte ch183data[] = {
-0x80,
-};
-
-static const BitmapCharRec ch183 = {1,1,-1,-3,3,ch183data};
-
-/* char: 0xb6 */
-
-static const GLubyte ch182data[] = {
-0x28,0x28,0x28,0x28,0x28,0x28,0x68,0xe8,0xe8,0xe8,0x68,0x3c,
-};
-
-static const BitmapCharRec ch182 = {6,12,0,3,7,ch182data};
-
-/* char: 0xb5 */
-
-static const GLubyte ch181data[] = {
-0x80,0x80,0x80,0xe8,0x98,0x88,0x88,0x88,0x88,0x88,
-};
-
-static const BitmapCharRec ch181 = {5,10,-1,3,7,ch181data};
-
-/* char: 0xb4 */
-
-static const GLubyte ch180data[] = {
-0x80,0x40,
-};
-
-static const BitmapCharRec ch180 = {2,2,0,-8,2,ch180data};
-
-/* char: 0xb3 */
-
-static const GLubyte ch179data[] = {
-0xc0,0x20,0x40,0x20,0xe0,
-};
-
-static const BitmapCharRec ch179 = {3,5,0,-3,4,ch179data};
-
-/* char: 0xb2 */
-
-static const GLubyte ch178data[] = {
-0xf0,0x40,0x20,0x90,0x60,
-};
-
-static const BitmapCharRec ch178 = {4,5,0,-3,4,ch178data};
-
-/* char: 0xb1 */
-
-static const GLubyte ch177data[] = {
-0xf8,0x0,0x20,0x20,0xf8,0x20,0x20,
-};
-
-static const BitmapCharRec ch177 = {5,7,-1,0,7,ch177data};
-
-/* char: 0xb0 */
-
-static const GLubyte ch176data[] = {
-0x60,0x90,0x90,0x60,
-};
-
-static const BitmapCharRec ch176 = {4,4,0,-4,5,ch176data};
-
-/* char: 0xaf */
-
-static const GLubyte ch175data[] = {
-0xf0,
-};
-
-static const BitmapCharRec ch175 = {4,1,0,-8,4,ch175data};
-
-/* char: 0xae */
-
-static const GLubyte ch174data[] = {
-0x3e,0x0,0x41,0x0,0x94,0x80,0x94,0x80,0x98,0x80,0x94,0x80,0x9c,0x80,0x41,0x0,
-0x3e,0x0,
-};
-
-static const BitmapCharRec ch174 = {9,9,-1,0,11,ch174data};
-
-/* char: 0xad */
-
-static const GLubyte ch173data[] = {
-0xf0,
-};
-
-static const BitmapCharRec ch173 = {4,1,0,-3,5,ch173data};
-
-/* char: 0xac */
-
-static const GLubyte ch172data[] = {
-0x4,0x4,0x4,0xfc,
-};
-
-static const BitmapCharRec ch172 = {6,4,-1,-2,8,ch172data};
-
-/* char: 0xab */
-
-static const GLubyte ch171data[] = {
-0x28,0x50,0xa0,0x50,0x28,
-};
-
-static const BitmapCharRec ch171 = {5,5,-1,-1,7,ch171data};
-
-/* char: 0xaa */
-
-static const GLubyte ch170data[] = {
-0xe0,0x0,0xa0,0x20,0xe0,
-};
-
-static const BitmapCharRec ch170 = {3,5,-1,-4,5,ch170data};
-
-/* char: 0xa9 */
-
-static const GLubyte ch169data[] = {
-0x3e,0x0,0x41,0x0,0x9c,0x80,0xa2,0x80,0xa0,0x80,0xa2,0x80,0x9c,0x80,0x41,0x0,
-0x3e,0x0,
-};
-
-static const BitmapCharRec ch169 = {9,9,-1,0,11,ch169data};
-
-/* char: 0xa8 */
-
-static const GLubyte ch168data[] = {
-0xa0,
-};
-
-static const BitmapCharRec ch168 = {3,1,0,-8,3,ch168data};
-
-/* char: 0xa7 */
-
-static const GLubyte ch167data[] = {
-0x70,0x88,0x8,0x30,0x48,0x88,0x88,0x90,0x60,0x80,0x88,0x70,
-};
-
-static const BitmapCharRec ch167 = {5,12,0,3,6,ch167data};
-
-/* char: 0xa6 */
-
-static const GLubyte ch166data[] = {
-0x80,0x80,0x80,0x80,0x0,0x0,0x0,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch166 = {1,11,-1,2,3,ch166data};
-
-/* char: 0xa5 */
-
-static const GLubyte ch165data[] = {
-0x20,0x20,0xf8,0x20,0xf8,0x20,0x50,0x88,0x88,
-};
-
-static const BitmapCharRec ch165 = {5,9,-1,0,7,ch165data};
-
-/* char: 0xa4 */
-
-static const GLubyte ch164data[] = {
-0x84,0x78,0x48,0x48,0x78,0x84,
-};
-
-static const BitmapCharRec ch164 = {6,6,0,-1,7,ch164data};
-
-/* char: 0xa3 */
-
-static const GLubyte ch163data[] = {
-0xb0,0x48,0x20,0x20,0xf0,0x40,0x40,0x48,0x30,
-};
-
-static const BitmapCharRec ch163 = {5,9,-1,0,7,ch163data};
-
-/* char: 0xa2 */
-
-static const GLubyte ch162data[] = {
-0x40,0x70,0xc8,0xa0,0xa0,0xa0,0xa8,0x70,0x10,
-};
-
-static const BitmapCharRec ch162 = {5,9,-1,1,7,ch162data};
-
-/* char: 0xa1 */
-
-static const GLubyte ch161data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,
-};
-
-static const BitmapCharRec ch161 = {1,10,-1,3,3,ch161data};
-
-/* char: 0xa0 */
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch160data[] = { 0x0 };
-static const BitmapCharRec ch160 = {1,1,0,0,4,ch160data};
-#else
-static const BitmapCharRec ch160 = {0,0,0,0,4,0};
-#endif
-
-/* char: 0x7e '~' */
-
-static const GLubyte ch126data[] = {
-0x98,0x64,
-};
-
-static const BitmapCharRec ch126 = {6,2,0,-3,7,ch126data};
-
-/* char: 0x7d '}' */
-
-static const GLubyte ch125data[] = {
-0xc0,0x20,0x20,0x20,0x20,0x20,0x10,0x20,0x20,0x20,0x20,0xc0,
-};
-
-static const BitmapCharRec ch125 = {4,12,0,3,4,ch125data};
-
-/* char: 0x7c '|' */
-
-static const GLubyte ch124data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch124 = {1,12,-1,3,3,ch124data};
-
-/* char: 0x7b '{' */
-
-static const GLubyte ch123data[] = {
-0x30,0x40,0x40,0x40,0x40,0x40,0x80,0x40,0x40,0x40,0x40,0x30,
-};
-
-static const BitmapCharRec ch123 = {4,12,0,3,4,ch123data};
-
-/* char: 0x7a 'z' */
-
-static const GLubyte ch122data[] = {
-0xf0,0x80,0x40,0x40,0x20,0x10,0xf0,
-};
-
-static const BitmapCharRec ch122 = {4,7,-1,0,6,ch122data};
-
-/* char: 0x79 'y' */
-
-static const GLubyte ch121data[] = {
-0x80,0x40,0x20,0x20,0x50,0x50,0x90,0x88,0x88,0x88,
-};
-
-static const BitmapCharRec ch121 = {5,10,-1,3,7,ch121data};
-
-/* char: 0x78 'x' */
-
-static const GLubyte ch120data[] = {
-0x84,0x84,0x48,0x30,0x30,0x48,0x84,
-};
-
-static const BitmapCharRec ch120 = {6,7,0,0,6,ch120data};
-
-/* char: 0x77 'w' */
-
-static const GLubyte ch119data[] = {
-0x22,0x0,0x22,0x0,0x55,0x0,0x49,0x0,0x49,0x0,0x88,0x80,0x88,0x80,
-};
-
-static const BitmapCharRec ch119 = {9,7,0,0,9,ch119data};
-
-/* char: 0x76 'v' */
-
-static const GLubyte ch118data[] = {
-0x20,0x20,0x50,0x50,0x88,0x88,0x88,
-};
-
-static const BitmapCharRec ch118 = {5,7,-1,0,7,ch118data};
-
-/* char: 0x75 'u' */
-
-static const GLubyte ch117data[] = {
-0x68,0x98,0x88,0x88,0x88,0x88,0x88,
-};
-
-static const BitmapCharRec ch117 = {5,7,-1,0,7,ch117data};
-
-/* char: 0x74 't' */
-
-static const GLubyte ch116data[] = {
-0x60,0x40,0x40,0x40,0x40,0x40,0xe0,0x40,0x40,
-};
-
-static const BitmapCharRec ch116 = {3,9,0,0,3,ch116data};
-
-/* char: 0x73 's' */
-
-static const GLubyte ch115data[] = {
-0x60,0x90,0x10,0x60,0x80,0x90,0x60,
-};
-
-static const BitmapCharRec ch115 = {4,7,-1,0,6,ch115data};
-
-/* char: 0x72 'r' */
-
-static const GLubyte ch114data[] = {
-0x80,0x80,0x80,0x80,0x80,0xc0,0xa0,
-};
-
-static const BitmapCharRec ch114 = {3,7,-1,0,4,ch114data};
-
-/* char: 0x71 'q' */
-
-static const GLubyte ch113data[] = {
-0x8,0x8,0x8,0x68,0x98,0x88,0x88,0x88,0x98,0x68,
-};
-
-static const BitmapCharRec ch113 = {5,10,-1,3,7,ch113data};
-
-/* char: 0x70 'p' */
-
-static const GLubyte ch112data[] = {
-0x80,0x80,0x80,0xb0,0xc8,0x88,0x88,0x88,0xc8,0xb0,
-};
-
-static const BitmapCharRec ch112 = {5,10,-1,3,7,ch112data};
-
-/* char: 0x6f 'o' */
-
-static const GLubyte ch111data[] = {
-0x70,0x88,0x88,0x88,0x88,0x88,0x70,
-};
-
-static const BitmapCharRec ch111 = {5,7,-1,0,7,ch111data};
-
-/* char: 0x6e 'n' */
-
-static const GLubyte ch110data[] = {
-0x88,0x88,0x88,0x88,0x88,0xc8,0xb0,
-};
-
-static const BitmapCharRec ch110 = {5,7,-1,0,7,ch110data};
-
-/* char: 0x6d 'm' */
-
-static const GLubyte ch109data[] = {
-0x92,0x92,0x92,0x92,0x92,0xda,0xa4,
-};
-
-static const BitmapCharRec ch109 = {7,7,-1,0,9,ch109data};
-
-/* char: 0x6c 'l' */
-
-static const GLubyte ch108data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch108 = {1,9,-1,0,3,ch108data};
-
-/* char: 0x6b 'k' */
-
-static const GLubyte ch107data[] = {
-0x88,0x90,0xa0,0xc0,0xc0,0xa0,0x90,0x80,0x80,
-};
-
-static const BitmapCharRec ch107 = {5,9,-1,0,6,ch107data};
-
-/* char: 0x6a 'j' */
-
-static const GLubyte ch106data[] = {
-0x80,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0x40,
-};
-
-static const BitmapCharRec ch106 = {2,12,0,3,3,ch106data};
-
-/* char: 0x69 'i' */
-
-static const GLubyte ch105data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,
-};
-
-static const BitmapCharRec ch105 = {1,9,-1,0,3,ch105data};
-
-/* char: 0x68 'h' */
-
-static const GLubyte ch104data[] = {
-0x88,0x88,0x88,0x88,0x88,0xc8,0xb0,0x80,0x80,
-};
-
-static const BitmapCharRec ch104 = {5,9,-1,0,7,ch104data};
-
-/* char: 0x67 'g' */
-
-static const GLubyte ch103data[] = {
-0x70,0x88,0x8,0x68,0x98,0x88,0x88,0x88,0x98,0x68,
-};
-
-static const BitmapCharRec ch103 = {5,10,-1,3,7,ch103data};
-
-/* char: 0x66 'f' */
-
-static const GLubyte ch102data[] = {
-0x40,0x40,0x40,0x40,0x40,0x40,0xe0,0x40,0x30,
-};
-
-static const BitmapCharRec ch102 = {4,9,0,0,3,ch102data};
-
-/* char: 0x65 'e' */
-
-static const GLubyte ch101data[] = {
-0x70,0x88,0x80,0xf8,0x88,0x88,0x70,
-};
-
-static const BitmapCharRec ch101 = {5,7,-1,0,7,ch101data};
-
-/* char: 0x64 'd' */
-
-static const GLubyte ch100data[] = {
-0x68,0x98,0x88,0x88,0x88,0x98,0x68,0x8,0x8,
-};
-
-static const BitmapCharRec ch100 = {5,9,-1,0,7,ch100data};
-
-/* char: 0x63 'c' */
-
-static const GLubyte ch99data[] = {
-0x70,0x88,0x80,0x80,0x80,0x88,0x70,
-};
-
-static const BitmapCharRec ch99 = {5,7,-1,0,7,ch99data};
-
-/* char: 0x62 'b' */
-
-static const GLubyte ch98data[] = {
-0xb0,0xc8,0x88,0x88,0x88,0xc8,0xb0,0x80,0x80,
-};
-
-static const BitmapCharRec ch98 = {5,9,-1,0,7,ch98data};
-
-/* char: 0x61 'a' */
-
-static const GLubyte ch97data[] = {
-0x74,0x88,0x88,0x78,0x8,0x88,0x70,
-};
-
-static const BitmapCharRec ch97 = {6,7,-1,0,7,ch97data};
-
-/* char: 0x60 '`' */
-
-static const GLubyte ch96data[] = {
-0xc0,0x80,0x40,
-};
-
-static const BitmapCharRec ch96 = {2,3,0,-6,3,ch96data};
-
-/* char: 0x5f '_' */
-
-static const GLubyte ch95data[] = {
-0xfe,
-};
-
-static const BitmapCharRec ch95 = {7,1,0,2,7,ch95data};
-
-/* char: 0x5e '^' */
-
-static const GLubyte ch94data[] = {
-0x88,0x50,0x20,
-};
-
-static const BitmapCharRec ch94 = {5,3,0,-5,6,ch94data};
-
-/* char: 0x5d ']' */
-
-static const GLubyte ch93data[] = {
-0xc0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xc0,
-};
-
-static const BitmapCharRec ch93 = {2,12,0,3,3,ch93data};
-
-/* char: 0x5c '\' */
-
-static const GLubyte ch92data[] = {
-0x10,0x10,0x20,0x20,0x20,0x40,0x40,0x80,0x80,
-};
-
-static const BitmapCharRec ch92 = {4,9,0,0,4,ch92data};
-
-/* char: 0x5b '[' */
-
-static const GLubyte ch91data[] = {
-0xc0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xc0,
-};
-
-static const BitmapCharRec ch91 = {2,12,-1,3,3,ch91data};
-
-/* char: 0x5a 'Z' */
-
-static const GLubyte ch90data[] = {
-0xfe,0x80,0x40,0x20,0x10,0x8,0x4,0x2,0xfe,
-};
-
-static const BitmapCharRec ch90 = {7,9,-1,0,9,ch90data};
-
-/* char: 0x59 'Y' */
-
-static const GLubyte ch89data[] = {
-0x10,0x10,0x10,0x10,0x28,0x44,0x44,0x82,0x82,
-};
-
-static const BitmapCharRec ch89 = {7,9,-1,0,9,ch89data};
-
-/* char: 0x58 'X' */
-
-static const GLubyte ch88data[] = {
-0x82,0x44,0x44,0x28,0x10,0x28,0x44,0x44,0x82,
-};
-
-static const BitmapCharRec ch88 = {7,9,-1,0,9,ch88data};
-
-/* char: 0x57 'W' */
-
-static const GLubyte ch87data[] = {
-0x22,0x0,0x22,0x0,0x22,0x0,0x55,0x0,0x55,0x0,0x49,0x0,0x88,0x80,0x88,0x80,
-0x88,0x80,
-};
-
-static const BitmapCharRec ch87 = {9,9,-1,0,11,ch87data};
-
-/* char: 0x56 'V' */
-
-static const GLubyte ch86data[] = {
-0x10,0x10,0x28,0x28,0x44,0x44,0x44,0x82,0x82,
-};
-
-static const BitmapCharRec ch86 = {7,9,-1,0,9,ch86data};
-
-/* char: 0x55 'U' */
-
-static const GLubyte ch85data[] = {
-0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
-};
-
-static const BitmapCharRec ch85 = {6,9,-1,0,8,ch85data};
-
-/* char: 0x54 'T' */
-
-static const GLubyte ch84data[] = {
-0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0xfe,
-};
-
-static const BitmapCharRec ch84 = {7,9,0,0,7,ch84data};
-
-/* char: 0x53 'S' */
-
-static const GLubyte ch83data[] = {
-0x78,0x84,0x84,0x4,0x18,0x60,0x80,0x84,0x78,
-};
-
-static const BitmapCharRec ch83 = {6,9,-1,0,8,ch83data};
-
-/* char: 0x52 'R' */
-
-static const GLubyte ch82data[] = {
-0x84,0x84,0x84,0x88,0xf8,0x84,0x84,0x84,0xf8,
-};
-
-static const BitmapCharRec ch82 = {6,9,-1,0,8,ch82data};
-
-/* char: 0x51 'Q' */
-
-static const GLubyte ch81data[] = {
-0x3d,0x42,0x85,0x89,0x81,0x81,0x81,0x42,0x3c,
-};
-
-static const BitmapCharRec ch81 = {8,9,-1,0,10,ch81data};
-
-/* char: 0x50 'P' */
-
-static const GLubyte ch80data[] = {
-0x80,0x80,0x80,0x80,0xf8,0x84,0x84,0x84,0xf8,
-};
-
-static const BitmapCharRec ch80 = {6,9,-1,0,8,ch80data};
-
-/* char: 0x4f 'O' */
-
-static const GLubyte ch79data[] = {
-0x3c,0x42,0x81,0x81,0x81,0x81,0x81,0x42,0x3c,
-};
-
-static const BitmapCharRec ch79 = {8,9,-1,0,10,ch79data};
-
-/* char: 0x4e 'N' */
-
-static const GLubyte ch78data[] = {
-0x82,0x86,0x8a,0x8a,0x92,0xa2,0xa2,0xc2,0x82,
-};
-
-static const BitmapCharRec ch78 = {7,9,-1,0,9,ch78data};
-
-/* char: 0x4d 'M' */
-
-static const GLubyte ch77data[] = {
-0x88,0x80,0x88,0x80,0x94,0x80,0x94,0x80,0xa2,0x80,0xa2,0x80,0xc1,0x80,0xc1,0x80,
-0x80,0x80,
-};
-
-static const BitmapCharRec ch77 = {9,9,-1,0,11,ch77data};
-
-/* char: 0x4c 'L' */
-
-static const GLubyte ch76data[] = {
-0xf8,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch76 = {5,9,-1,0,7,ch76data};
-
-/* char: 0x4b 'K' */
-
-static const GLubyte ch75data[] = {
-0x82,0x84,0x88,0x90,0xe0,0xa0,0x90,0x88,0x84,
-};
-
-static const BitmapCharRec ch75 = {7,9,-1,0,8,ch75data};
-
-/* char: 0x4a 'J' */
-
-static const GLubyte ch74data[] = {
-0x70,0x88,0x88,0x8,0x8,0x8,0x8,0x8,0x8,
-};
-
-static const BitmapCharRec ch74 = {5,9,-1,0,7,ch74data};
-
-/* char: 0x49 'I' */
-
-static const GLubyte ch73data[] = {
-0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch73 = {1,9,-1,0,3,ch73data};
-
-/* char: 0x48 'H' */
-
-static const GLubyte ch72data[] = {
-0x82,0x82,0x82,0x82,0xfe,0x82,0x82,0x82,0x82,
-};
-
-static const BitmapCharRec ch72 = {7,9,-1,0,9,ch72data};
-
-/* char: 0x47 'G' */
-
-static const GLubyte ch71data[] = {
-0x3a,0x46,0x82,0x82,0x8e,0x80,0x80,0x42,0x3c,
-};
-
-static const BitmapCharRec ch71 = {7,9,-1,0,9,ch71data};
-
-/* char: 0x46 'F' */
-
-static const GLubyte ch70data[] = {
-0x80,0x80,0x80,0x80,0xf8,0x80,0x80,0x80,0xfc,
-};
-
-static const BitmapCharRec ch70 = {6,9,-1,0,8,ch70data};
-
-/* char: 0x45 'E' */
-
-static const GLubyte ch69data[] = {
-0xfc,0x80,0x80,0x80,0xfc,0x80,0x80,0x80,0xfc,
-};
-
-static const BitmapCharRec ch69 = {6,9,-1,0,8,ch69data};
-
-/* char: 0x44 'D' */
-
-static const GLubyte ch68data[] = {
-0xf8,0x84,0x82,0x82,0x82,0x82,0x82,0x84,0xf8,
-};
-
-static const BitmapCharRec ch68 = {7,9,-1,0,9,ch68data};
-
-/* char: 0x43 'C' */
-
-static const GLubyte ch67data[] = {
-0x3c,0x42,0x80,0x80,0x80,0x80,0x80,0x42,0x3c,
-};
-
-static const BitmapCharRec ch67 = {7,9,-1,0,9,ch67data};
-
-/* char: 0x42 'B' */
-
-static const GLubyte ch66data[] = {
-0xf8,0x84,0x84,0x84,0xf8,0x84,0x84,0x84,0xf8,
-};
-
-static const BitmapCharRec ch66 = {6,9,-1,0,8,ch66data};
-
-/* char: 0x41 'A' */
-
-static const GLubyte ch65data[] = {
-0x82,0x82,0x82,0x7c,0x44,0x44,0x28,0x28,0x10,
-};
-
-static const BitmapCharRec ch65 = {7,9,-1,0,9,ch65data};
-
-/* char: 0x40 '@' */
-
-static const GLubyte ch64data[] = {
-0x3e,0x0,0x40,0x0,0x9b,0x0,0xa6,0x80,0xa2,0x40,0xa2,0x40,0x92,0x40,0x4d,0x40,
-0x60,0x80,0x1f,0x0,
-};
-
-static const BitmapCharRec ch64 = {10,10,-1,1,12,ch64data};
-
-/* char: 0x3f '?' */
-
-static const GLubyte ch63data[] = {
-0x20,0x0,0x20,0x20,0x10,0x10,0x88,0x88,0x70,
-};
-
-static const BitmapCharRec ch63 = {5,9,-1,0,7,ch63data};
-
-/* char: 0x3e '>' */
-
-static const GLubyte ch62data[] = {
-0xc0,0x30,0xc,0x30,0xc0,
-};
-
-static const BitmapCharRec ch62 = {6,5,-1,-1,7,ch62data};
-
-/* char: 0x3d '=' */
-
-static const GLubyte ch61data[] = {
-0xf8,0x0,0xf8,
-};
-
-static const BitmapCharRec ch61 = {5,3,-1,-2,7,ch61data};
-
-/* char: 0x3c '<' */
-
-static const GLubyte ch60data[] = {
-0xc,0x30,0xc0,0x30,0xc,
-};
-
-static const BitmapCharRec ch60 = {6,5,0,-1,7,ch60data};
-
-/* char: 0x3b ';' */
-
-static const GLubyte ch59data[] = {
-0x80,0x40,0x40,0x0,0x0,0x0,0x0,0x40,
-};
-
-static const BitmapCharRec ch59 = {2,8,0,2,3,ch59data};
-
-/* char: 0x3a ':' */
-
-static const GLubyte ch58data[] = {
-0x80,0x0,0x0,0x0,0x0,0x80,
-};
-
-static const BitmapCharRec ch58 = {1,6,-1,0,3,ch58data};
-
-/* char: 0x39 '9' */
-
-static const GLubyte ch57data[] = {
-0x70,0x88,0x8,0x8,0x78,0x88,0x88,0x88,0x70,
-};
-
-static const BitmapCharRec ch57 = {5,9,-1,0,7,ch57data};
-
-/* char: 0x38 '8' */
-
-static const GLubyte ch56data[] = {
-0x70,0x88,0x88,0x88,0x88,0x70,0x88,0x88,0x70,
-};
-
-static const BitmapCharRec ch56 = {5,9,-1,0,7,ch56data};
-
-/* char: 0x37 '7' */
-
-static const GLubyte ch55data[] = {
-0x40,0x40,0x20,0x20,0x20,0x10,0x10,0x8,0xf8,
-};
-
-static const BitmapCharRec ch55 = {5,9,-1,0,7,ch55data};
-
-/* char: 0x36 '6' */
-
-static const GLubyte ch54data[] = {
-0x70,0x88,0x88,0x88,0xc8,0xb0,0x80,0x88,0x70,
-};
-
-static const BitmapCharRec ch54 = {5,9,-1,0,7,ch54data};
-
-/* char: 0x35 '5' */
-
-static const GLubyte ch53data[] = {
-0x70,0x88,0x88,0x8,0x8,0xf0,0x80,0x80,0xf8,
-};
-
-static const BitmapCharRec ch53 = {5,9,-1,0,7,ch53data};
-
-/* char: 0x34 '4' */
-
-static const GLubyte ch52data[] = {
-0x8,0x8,0xfc,0x88,0x48,0x28,0x28,0x18,0x8,
-};
-
-static const BitmapCharRec ch52 = {6,9,0,0,7,ch52data};
-
-/* char: 0x33 '3' */
-
-static const GLubyte ch51data[] = {
-0x70,0x88,0x88,0x8,0x8,0x30,0x8,0x88,0x70,
-};
-
-static const BitmapCharRec ch51 = {5,9,-1,0,7,ch51data};
-
-/* char: 0x32 '2' */
-
-static const GLubyte ch50data[] = {
-0xf8,0x80,0x80,0x40,0x20,0x10,0x8,0x88,0x70,
-};
-
-static const BitmapCharRec ch50 = {5,9,-1,0,7,ch50data};
-
-/* char: 0x31 '1' */
-
-static const GLubyte ch49data[] = {
-0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xe0,0x20,
-};
-
-static const BitmapCharRec ch49 = {3,9,-1,0,7,ch49data};
-
-/* char: 0x30 '0' */
-
-static const GLubyte ch48data[] = {
-0x70,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x70,
-};
-
-static const BitmapCharRec ch48 = {5,9,-1,0,7,ch48data};
-
-/* char: 0x2f '/' */
-
-static const GLubyte ch47data[] = {
-0x80,0x80,0x40,0x40,0x40,0x20,0x20,0x10,0x10,
-};
-
-static const BitmapCharRec ch47 = {4,9,0,0,4,ch47data};
-
-/* char: 0x2e '.' */
-
-static const GLubyte ch46data[] = {
-0x80,
-};
-
-static const BitmapCharRec ch46 = {1,1,-1,0,3,ch46data};
-
-/* char: 0x2d '-' */
-
-static const GLubyte ch45data[] = {
-0xf8,
-};
-
-static const BitmapCharRec ch45 = {5,1,-1,-3,8,ch45data};
-
-/* char: 0x2c ',' */
-
-static const GLubyte ch44data[] = {
-0x80,0x40,0x40,
-};
-
-static const BitmapCharRec ch44 = {2,3,-1,2,4,ch44data};
-
-/* char: 0x2b '+' */
-
-static const GLubyte ch43data[] = {
-0x20,0x20,0xf8,0x20,0x20,
-};
-
-static const BitmapCharRec ch43 = {5,5,-1,-1,7,ch43data};
-
-/* char: 0x2a '*' */
-
-static const GLubyte ch42data[] = {
-0xa0,0x40,0xa0,
-};
-
-static const BitmapCharRec ch42 = {3,3,-1,-6,5,ch42data};
-
-/* char: 0x29 ')' */
-
-static const GLubyte ch41data[] = {
-0x80,0x40,0x40,0x20,0x20,0x20,0x20,0x20,0x20,0x40,0x40,0x80,
-};
-
-static const BitmapCharRec ch41 = {3,12,0,3,4,ch41data};
-
-/* char: 0x28 '(' */
-
-static const GLubyte ch40data[] = {
-0x20,0x40,0x40,0x80,0x80,0x80,0x80,0x80,0x80,0x40,0x40,0x20,
-};
-
-static const BitmapCharRec ch40 = {3,12,-1,3,4,ch40data};
-
-/* char: 0x27 ''' */
-
-static const GLubyte ch39data[] = {
-0x80,0x40,0xc0,
-};
-
-static const BitmapCharRec ch39 = {2,3,-1,-6,3,ch39data};
-
-/* char: 0x26 '&' */
-
-static const GLubyte ch38data[] = {
-0x72,0x8c,0x84,0x8a,0x50,0x30,0x48,0x48,0x30,
-};
-
-static const BitmapCharRec ch38 = {7,9,-1,0,9,ch38data};
-
-/* char: 0x25 '%' */
-
-static const GLubyte ch37data[] = {
-0x23,0x0,0x14,0x80,0x14,0x80,0x13,0x0,0x8,0x0,0x68,0x0,0x94,0x0,0x94,0x0,
-0x62,0x0,
-};
-
-static const BitmapCharRec ch37 = {9,9,-1,0,11,ch37data};
-
-/* char: 0x24 '$' */
-
-static const GLubyte ch36data[] = {
-0x20,0x70,0xa8,0xa8,0x28,0x70,0xa0,0xa8,0x70,0x20,
-};
-
-static const BitmapCharRec ch36 = {5,10,-1,1,7,ch36data};
-
-/* char: 0x23 '#' */
-
-static const GLubyte ch35data[] = {
-0x50,0x50,0x50,0xfc,0x28,0xfc,0x28,0x28,
-};
-
-static const BitmapCharRec ch35 = {6,8,0,0,7,ch35data};
-
-/* char: 0x22 '"' */
-
-static const GLubyte ch34data[] = {
-0xa0,0xa0,0xa0,
-};
-
-static const BitmapCharRec ch34 = {3,3,-1,-6,5,ch34data};
-
-/* char: 0x21 '!' */
-
-static const GLubyte ch33data[] = {
-0x80,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-};
-
-static const BitmapCharRec ch33 = {1,9,-1,0,3,ch33data};
-
-/* char: 0x20 ' ' */
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch32data[] = { 0x0 };
-static const BitmapCharRec ch32 = {1,1,0,0,4,ch32data};
-#else
-static const BitmapCharRec ch32 = {0,0,0,0,4,0};
-#endif
-
-static const BitmapCharRec * const chars[] = {
-&ch32,
-&ch33,
-&ch34,
-&ch35,
-&ch36,
-&ch37,
-&ch38,
-&ch39,
-&ch40,
-&ch41,
-&ch42,
-&ch43,
-&ch44,
-&ch45,
-&ch46,
-&ch47,
-&ch48,
-&ch49,
-&ch50,
-&ch51,
-&ch52,
-&ch53,
-&ch54,
-&ch55,
-&ch56,
-&ch57,
-&ch58,
-&ch59,
-&ch60,
-&ch61,
-&ch62,
-&ch63,
-&ch64,
-&ch65,
-&ch66,
-&ch67,
-&ch68,
-&ch69,
-&ch70,
-&ch71,
-&ch72,
-&ch73,
-&ch74,
-&ch75,
-&ch76,
-&ch77,
-&ch78,
-&ch79,
-&ch80,
-&ch81,
-&ch82,
-&ch83,
-&ch84,
-&ch85,
-&ch86,
-&ch87,
-&ch88,
-&ch89,
-&ch90,
-&ch91,
-&ch92,
-&ch93,
-&ch94,
-&ch95,
-&ch96,
-&ch97,
-&ch98,
-&ch99,
-&ch100,
-&ch101,
-&ch102,
-&ch103,
-&ch104,
-&ch105,
-&ch106,
-&ch107,
-&ch108,
-&ch109,
-&ch110,
-&ch111,
-&ch112,
-&ch113,
-&ch114,
-&ch115,
-&ch116,
-&ch117,
-&ch118,
-&ch119,
-&ch120,
-&ch121,
-&ch122,
-&ch123,
-&ch124,
-&ch125,
-&ch126,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-&ch160,
-&ch161,
-&ch162,
-&ch163,
-&ch164,
-&ch165,
-&ch166,
-&ch167,
-&ch168,
-&ch169,
-&ch170,
-&ch171,
-&ch172,
-&ch173,
-&ch174,
-&ch175,
-&ch176,
-&ch177,
-&ch178,
-&ch179,
-&ch180,
-&ch181,
-&ch182,
-&ch183,
-&ch184,
-&ch185,
-&ch186,
-&ch187,
-&ch188,
-&ch189,
-&ch190,
-&ch191,
-&ch192,
-&ch193,
-&ch194,
-&ch195,
-&ch196,
-&ch197,
-&ch198,
-&ch199,
-&ch200,
-&ch201,
-&ch202,
-&ch203,
-&ch204,
-&ch205,
-&ch206,
-&ch207,
-&ch208,
-&ch209,
-&ch210,
-&ch211,
-&ch212,
-&ch213,
-&ch214,
-&ch215,
-&ch216,
-&ch217,
-&ch218,
-&ch219,
-&ch220,
-&ch221,
-&ch222,
-&ch223,
-&ch224,
-&ch225,
-&ch226,
-&ch227,
-&ch228,
-&ch229,
-&ch230,
-&ch231,
-&ch232,
-&ch233,
-&ch234,
-&ch235,
-&ch236,
-&ch237,
-&ch238,
-&ch239,
-&ch240,
-&ch241,
-&ch242,
-&ch243,
-&ch244,
-&ch245,
-&ch246,
-&ch247,
-&ch248,
-&ch249,
-&ch250,
-&ch251,
-&ch252,
-&ch253,
-&ch254,
-&ch255,
-};
-
-#if !defined(__IBMCPP__)
-const
-#endif
-BitmapFontRec glutBitmapHelvetica12 = {
-"-adobe-helvetica-medium-r-normal--12-120-75-75-p-67-iso8859-1",
-224,
-32,
-chars
-};
-
diff --git a/src/glut/os2/glut_hel18.cpp b/src/glut/os2/glut_hel18.cpp
deleted file mode 100644
index 8fe76332b2..0000000000
--- a/src/glut/os2/glut_hel18.cpp
+++ /dev/null
@@ -1,1900 +0,0 @@
-
-/* GENERATED FILE -- DO NOT MODIFY */
-
-#define glutBitmapHelvetica18 XXX
-#include "glutbitmap.h"
-#undef glutBitmapHelvetica18
-
-/* char: 0xff */
-
-static const GLubyte ch255data[] = {
-0x70,0x70,0x18,0x18,0x18,0x18,0x3c,0x24,0x66,0x66,0x66,0xc3,0xc3,0xc3,0x0,0x66,
-0x66,
-};
-
-static const BitmapCharRec ch255 = {8,17,-1,4,10,ch255data};
-
-/* char: 0xfe */
-
-static const GLubyte ch254data[] = {
-0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xde,0x0,0xff,0x0,0xe3,0x0,0xc1,0x80,
-0xc1,0x80,0xc1,0x80,0xc1,0x80,0xe3,0x0,0xff,0x0,0xde,0x0,0xc0,0x0,0xc0,0x0,
-0xc0,0x0,0xc0,0x0,
-};
-
-static const BitmapCharRec ch254 = {9,18,-1,4,11,ch254data};
-
-/* char: 0xfd */
-
-static const GLubyte ch253data[] = {
-0x70,0x70,0x18,0x18,0x18,0x18,0x3c,0x24,0x66,0x66,0x66,0xc3,0xc3,0xc3,0x0,0x18,
-0xc,0x6,
-};
-
-static const BitmapCharRec ch253 = {8,18,-1,4,10,ch253data};
-
-/* char: 0xfc */
-
-static const GLubyte ch252data[] = {
-0x73,0xfb,0xc7,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0x0,0x66,0x66,
-};
-
-static const BitmapCharRec ch252 = {8,13,-1,0,10,ch252data};
-
-/* char: 0xfb */
-
-static const GLubyte ch251data[] = {
-0x73,0xfb,0xc7,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0x0,0x66,0x3c,0x18,
-};
-
-static const BitmapCharRec ch251 = {8,14,-1,0,10,ch251data};
-
-/* char: 0xfa */
-
-static const GLubyte ch250data[] = {
-0x73,0xfb,0xc7,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0x0,0x18,0xc,0x6,
-};
-
-static const BitmapCharRec ch250 = {8,14,-1,0,10,ch250data};
-
-/* char: 0xf9 */
-
-static const GLubyte ch249data[] = {
-0x73,0xfb,0xc7,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0x0,0xc,0x18,0x30,
-};
-
-static const BitmapCharRec ch249 = {8,14,-1,0,10,ch249data};
-
-/* char: 0xf8 */
-
-static const GLubyte ch248data[] = {
-0xce,0x0,0x7f,0x80,0x31,0x80,0x78,0xc0,0x6c,0xc0,0x66,0xc0,0x63,0xc0,0x31,0x80,
-0x3f,0xc0,0xe,0x60,
-};
-
-static const BitmapCharRec ch248 = {11,10,0,0,11,ch248data};
-
-/* char: 0xf7 */
-
-static const GLubyte ch247data[] = {
-0x18,0x18,0x0,0xff,0xff,0x0,0x18,0x18,
-};
-
-static const BitmapCharRec ch247 = {8,8,-1,-1,10,ch247data};
-
-/* char: 0xf6 */
-
-static const GLubyte ch246data[] = {
-0x3e,0x0,0x7f,0x0,0x63,0x0,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x0,
-0x7f,0x0,0x3e,0x0,0x0,0x0,0x36,0x0,0x36,0x0,
-};
-
-static const BitmapCharRec ch246 = {9,13,-1,0,11,ch246data};
-
-/* char: 0xf5 */
-
-static const GLubyte ch245data[] = {
-0x3e,0x0,0x7f,0x0,0x63,0x0,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x0,
-0x7f,0x0,0x3e,0x0,0x0,0x0,0x26,0x0,0x2d,0x0,0x19,0x0,
-};
-
-static const BitmapCharRec ch245 = {9,14,-1,0,11,ch245data};
-
-/* char: 0xf4 */
-
-static const GLubyte ch244data[] = {
-0x3e,0x0,0x7f,0x0,0x63,0x0,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x0,
-0x7f,0x0,0x3e,0x0,0x0,0x0,0x33,0x0,0x1e,0x0,0xc,0x0,
-};
-
-static const BitmapCharRec ch244 = {9,14,-1,0,11,ch244data};
-
-/* char: 0xf3 */
-
-static const GLubyte ch243data[] = {
-0x3e,0x0,0x7f,0x0,0x63,0x0,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x0,
-0x7f,0x0,0x3e,0x0,0x0,0x0,0x18,0x0,0xc,0x0,0x6,0x0,
-};
-
-static const BitmapCharRec ch243 = {9,14,-1,0,11,ch243data};
-
-/* char: 0xf2 */
-
-static const GLubyte ch242data[] = {
-0x3e,0x0,0x7f,0x0,0x63,0x0,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x0,
-0x7f,0x0,0x3e,0x0,0x0,0x0,0xc,0x0,0x18,0x0,0x30,0x0,
-};
-
-static const BitmapCharRec ch242 = {9,14,-1,0,11,ch242data};
-
-/* char: 0xf1 */
-
-static const GLubyte ch241data[] = {
-0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xe3,0xdf,0xce,0x0,0x4c,0x5a,0x32,
-};
-
-static const BitmapCharRec ch241 = {8,14,-1,0,10,ch241data};
-
-/* char: 0xf0 */
-
-static const GLubyte ch240data[] = {
-0x3e,0x0,0x7f,0x0,0x63,0x0,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x0,
-0x7f,0x0,0x3e,0x0,0x4c,0x0,0x38,0x0,0x36,0x0,0x60,0x0,
-};
-
-static const BitmapCharRec ch240 = {9,14,-1,0,11,ch240data};
-
-/* char: 0xef */
-
-static const GLubyte ch239data[] = {
-0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x0,0xd8,0xd8,
-};
-
-static const BitmapCharRec ch239 = {5,13,0,0,4,ch239data};
-
-/* char: 0xee */
-
-static const GLubyte ch238data[] = {
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x0,0xcc,0x78,0x30,
-};
-
-static const BitmapCharRec ch238 = {6,14,1,0,4,ch238data};
-
-/* char: 0xed */
-
-static const GLubyte ch237data[] = {
-0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x0,0xc0,0x60,0x30,
-};
-
-static const BitmapCharRec ch237 = {4,14,0,0,4,ch237data};
-
-/* char: 0xec */
-
-static const GLubyte ch236data[] = {
-0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x0,0x30,0x60,0xc0,
-};
-
-static const BitmapCharRec ch236 = {4,14,0,0,4,ch236data};
-
-/* char: 0xeb */
-
-static const GLubyte ch235data[] = {
-0x3c,0x7f,0xe3,0xc0,0xc0,0xff,0xc3,0xc3,0x7e,0x3c,0x0,0x36,0x36,
-};
-
-static const BitmapCharRec ch235 = {8,13,-1,0,10,ch235data};
-
-/* char: 0xea */
-
-static const GLubyte ch234data[] = {
-0x3c,0x7f,0xe3,0xc0,0xc0,0xff,0xc3,0xc3,0x7e,0x3c,0x0,0x66,0x3c,0x18,
-};
-
-static const BitmapCharRec ch234 = {8,14,-1,0,10,ch234data};
-
-/* char: 0xe9 */
-
-static const GLubyte ch233data[] = {
-0x3c,0x7f,0xe3,0xc0,0xc0,0xff,0xc3,0xc3,0x7e,0x3c,0x0,0x18,0xc,0x6,
-};
-
-static const BitmapCharRec ch233 = {8,14,-1,0,10,ch233data};
-
-/* char: 0xe8 */
-
-static const GLubyte ch232data[] = {
-0x3c,0x7f,0xe3,0xc0,0xc0,0xff,0xc3,0xc3,0x7e,0x3c,0x0,0x18,0x30,0x60,
-};
-
-static const BitmapCharRec ch232 = {8,14,-1,0,10,ch232data};
-
-/* char: 0xe7 */
-
-static const GLubyte ch231data[] = {
-0x78,0x6c,0xc,0x38,0x3e,0x7f,0x63,0xc0,0xc0,0xc0,0xc0,0x63,0x7f,0x3e,
-};
-
-static const BitmapCharRec ch231 = {8,14,-1,4,10,ch231data};
-
-/* char: 0xe6 */
-
-static const GLubyte ch230data[] = {
-0x75,0xe0,0xef,0xf8,0xc7,0x18,0xc6,0x0,0xe6,0x0,0x7f,0xf8,0xe,0x18,0xc6,0x18,
-0xef,0xf0,0x7d,0xe0,
-};
-
-static const BitmapCharRec ch230 = {13,10,-1,0,15,ch230data};
-
-/* char: 0xe5 */
-
-static const GLubyte ch229data[] = {
-0x76,0xee,0xc6,0xc6,0xe6,0x7e,0xe,0xc6,0xee,0x7c,0x38,0x6c,0x6c,0x38,
-};
-
-static const BitmapCharRec ch229 = {7,14,-1,0,9,ch229data};
-
-/* char: 0xe4 */
-
-static const GLubyte ch228data[] = {
-0x76,0xee,0xc6,0xc6,0xe6,0x7e,0xe,0xc6,0xee,0x7c,0x0,0x6c,0x6c,
-};
-
-static const BitmapCharRec ch228 = {7,13,-1,0,9,ch228data};
-
-/* char: 0xe3 */
-
-static const GLubyte ch227data[] = {
-0x76,0xee,0xc6,0xc6,0xe6,0x7e,0xe,0xc6,0xee,0x7c,0x0,0x4c,0x5a,0x32,
-};
-
-static const BitmapCharRec ch227 = {7,14,-1,0,9,ch227data};
-
-/* char: 0xe2 */
-
-static const GLubyte ch226data[] = {
-0x76,0xee,0xc6,0xc6,0xe6,0x7e,0xe,0xc6,0xee,0x7c,0x0,0x66,0x3c,0x18,
-};
-
-static const BitmapCharRec ch226 = {7,14,-1,0,9,ch226data};
-
-/* char: 0xe1 */
-
-static const GLubyte ch225data[] = {
-0x76,0xee,0xc6,0xc6,0xe6,0x7e,0xe,0xc6,0xee,0x7c,0x0,0x30,0x18,0xc,
-};
-
-static const BitmapCharRec ch225 = {7,14,-1,0,9,ch225data};
-
-/* char: 0xe0 */
-
-static const GLubyte ch224data[] = {
-0x76,0xee,0xc6,0xc6,0xe6,0x7e,0xe,0xc6,0xee,0x7c,0x0,0x18,0x30,0x60,
-};
-
-static const BitmapCharRec ch224 = {7,14,-1,0,9,ch224data};
-
-/* char: 0xdf */
-
-static const GLubyte ch223data[] = {
-0xdc,0xde,0xc6,0xc6,0xc6,0xc6,0xdc,0xdc,0xc6,0xc6,0xc6,0xc6,0x7c,0x38,
-};
-
-static const BitmapCharRec ch223 = {7,14,-1,0,9,ch223data};
-
-/* char: 0xde */
-
-static const GLubyte ch222data[] = {
-0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x0,0xff,0x80,0xc1,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc1,0xc0,0xff,0x80,0xff,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,
-};
-
-static const BitmapCharRec ch222 = {10,14,-1,0,12,ch222data};
-
-/* char: 0xdd */
-
-static const GLubyte ch221data[] = {
-0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0xf,0x0,0x19,0x80,
-0x30,0xc0,0x30,0xc0,0x60,0x60,0x60,0x60,0xc0,0x30,0xc0,0x30,0x0,0x0,0x6,0x0,
-0x3,0x0,0x1,0x80,
-};
-
-static const BitmapCharRec ch221 = {12,18,-1,0,14,ch221data};
-
-/* char: 0xdc */
-
-static const GLubyte ch220data[] = {
-0x1f,0x0,0x7f,0xc0,0x60,0xc0,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,
-0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0x0,0x0,0x19,0x80,
-0x19,0x80,
-};
-
-static const BitmapCharRec ch220 = {11,17,-1,0,13,ch220data};
-
-/* char: 0xdb */
-
-static const GLubyte ch219data[] = {
-0x1f,0x0,0x7f,0xc0,0x60,0xc0,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,
-0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0x0,0x0,0x19,0x80,
-0xf,0x0,0x6,0x0,
-};
-
-static const BitmapCharRec ch219 = {11,18,-1,0,13,ch219data};
-
-/* char: 0xda */
-
-static const GLubyte ch218data[] = {
-0x1f,0x0,0x7f,0xc0,0x60,0xc0,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,
-0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0x0,0x0,0xc,0x0,
-0x6,0x0,0x3,0x0,
-};
-
-static const BitmapCharRec ch218 = {11,18,-1,0,13,ch218data};
-
-/* char: 0xd9 */
-
-static const GLubyte ch217data[] = {
-0x1f,0x0,0x7f,0xc0,0x60,0xc0,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,
-0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0x0,0x0,0x6,0x0,
-0xc,0x0,0x18,0x0,
-};
-
-static const BitmapCharRec ch217 = {11,18,-1,0,13,ch217data};
-
-/* char: 0xd8 */
-
-static const GLubyte ch216data[] = {
-0xc7,0xc0,0xff,0xf0,0x78,0x38,0x38,0x18,0x6c,0x1c,0x6e,0xc,0x67,0xc,0x63,0x8c,
-0x61,0xcc,0x70,0xdc,0x30,0x78,0x38,0x38,0x1f,0xfc,0x7,0xcc,
-};
-
-static const BitmapCharRec ch216 = {14,14,0,0,15,ch216data};
-
-/* char: 0xd7 */
-
-static const GLubyte ch215data[] = {
-0xc0,0xc0,0x61,0x80,0x33,0x0,0x1e,0x0,0xc,0x0,0x1e,0x0,0x33,0x0,0x61,0x80,
-0xc0,0xc0,
-};
-
-static const BitmapCharRec ch215 = {10,9,0,0,10,ch215data};
-
-/* char: 0xd6 */
-
-static const GLubyte ch214data[] = {
-0xf,0x80,0x3f,0xe0,0x70,0x70,0x60,0x30,0xe0,0x38,0xc0,0x18,0xc0,0x18,0xc0,0x18,
-0xc0,0x18,0xe0,0x38,0x60,0x30,0x70,0x70,0x3f,0xe0,0xf,0x80,0x0,0x0,0xd,0x80,
-0xd,0x80,
-};
-
-static const BitmapCharRec ch214 = {13,17,-1,0,15,ch214data};
-
-/* char: 0xd5 */
-
-static const GLubyte ch213data[] = {
-0xf,0x80,0x3f,0xe0,0x70,0x70,0x60,0x30,0xe0,0x38,0xc0,0x18,0xc0,0x18,0xc0,0x18,
-0xc0,0x18,0xe0,0x38,0x60,0x30,0x70,0x70,0x3f,0xe0,0xf,0x80,0x0,0x0,0x9,0x80,
-0xb,0x40,0x6,0x40,
-};
-
-static const BitmapCharRec ch213 = {13,18,-1,0,15,ch213data};
-
-/* char: 0xd4 */
-
-static const GLubyte ch212data[] = {
-0xf,0x80,0x3f,0xe0,0x70,0x70,0x60,0x30,0xe0,0x38,0xc0,0x18,0xc0,0x18,0xc0,0x18,
-0xc0,0x18,0xe0,0x38,0x60,0x30,0x70,0x70,0x3f,0xe0,0xf,0x80,0x0,0x0,0xc,0xc0,
-0x7,0x80,0x3,0x0,
-};
-
-static const BitmapCharRec ch212 = {13,18,-1,0,15,ch212data};
-
-/* char: 0xd3 */
-
-static const GLubyte ch211data[] = {
-0xf,0x80,0x3f,0xe0,0x70,0x70,0x60,0x30,0xe0,0x38,0xc0,0x18,0xc0,0x18,0xc0,0x18,
-0xc0,0x18,0xe0,0x38,0x60,0x30,0x70,0x70,0x3f,0xe0,0xf,0x80,0x0,0x0,0x3,0x0,
-0x1,0x80,0x0,0xc0,
-};
-
-static const BitmapCharRec ch211 = {13,18,-1,0,15,ch211data};
-
-/* char: 0xd2 */
-
-static const GLubyte ch210data[] = {
-0xf,0x80,0x3f,0xe0,0x70,0x70,0x60,0x30,0xe0,0x38,0xc0,0x18,0xc0,0x18,0xc0,0x18,
-0xc0,0x18,0xe0,0x38,0x60,0x30,0x70,0x70,0x3f,0xe0,0xf,0x80,0x0,0x0,0x3,0x0,
-0x6,0x0,0xc,0x0,
-};
-
-static const BitmapCharRec ch210 = {13,18,-1,0,15,ch210data};
-
-/* char: 0xd1 */
-
-static const GLubyte ch209data[] = {
-0xc0,0x60,0xc0,0xe0,0xc1,0xe0,0xc1,0xe0,0xc3,0x60,0xc6,0x60,0xc6,0x60,0xcc,0x60,
-0xcc,0x60,0xd8,0x60,0xd8,0x60,0xf0,0x60,0xe0,0x60,0xe0,0x60,0x0,0x0,0x13,0x0,
-0x16,0x80,0xc,0x80,
-};
-
-static const BitmapCharRec ch209 = {11,18,-1,0,13,ch209data};
-
-/* char: 0xd0 */
-
-static const GLubyte ch208data[] = {
-0x7f,0x80,0x7f,0xc0,0x60,0xe0,0x60,0x60,0x60,0x30,0x60,0x30,0xfc,0x30,0xfc,0x30,
-0x60,0x30,0x60,0x30,0x60,0x60,0x60,0xe0,0x7f,0xc0,0x7f,0x80,
-};
-
-static const BitmapCharRec ch208 = {12,14,0,0,13,ch208data};
-
-/* char: 0xcf */
-
-static const GLubyte ch207data[] = {
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x0,0xcc,
-0xcc,
-};
-
-static const BitmapCharRec ch207 = {6,17,0,0,6,ch207data};
-
-/* char: 0xce */
-
-static const GLubyte ch206data[] = {
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x0,0xcc,
-0x78,0x30,
-};
-
-static const BitmapCharRec ch206 = {6,18,0,0,6,ch206data};
-
-/* char: 0xcd */
-
-static const GLubyte ch205data[] = {
-0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x0,0xc0,
-0x60,0x30,
-};
-
-static const BitmapCharRec ch205 = {4,18,-2,0,6,ch205data};
-
-/* char: 0xcc */
-
-static const GLubyte ch204data[] = {
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x0,0x30,
-0x60,0xc0,
-};
-
-static const BitmapCharRec ch204 = {4,18,0,0,6,ch204data};
-
-/* char: 0xcb */
-
-static const GLubyte ch203data[] = {
-0xff,0x80,0xff,0x80,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x0,0xff,0x0,
-0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,0xff,0x80,0x0,0x0,0x33,0x0,
-0x33,0x0,
-};
-
-static const BitmapCharRec ch203 = {9,17,-1,0,11,ch203data};
-
-/* char: 0xca */
-
-static const GLubyte ch202data[] = {
-0xff,0x80,0xff,0x80,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x0,0xff,0x0,
-0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,0xff,0x80,0x0,0x0,0x33,0x0,
-0x1e,0x0,0xc,0x0,
-};
-
-static const BitmapCharRec ch202 = {9,18,-1,0,11,ch202data};
-
-/* char: 0xc9 */
-
-static const GLubyte ch201data[] = {
-0xff,0x80,0xff,0x80,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x0,0xff,0x0,
-0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,0xff,0x80,0x0,0x0,0xc,0x0,
-0x6,0x0,0x3,0x0,
-};
-
-static const BitmapCharRec ch201 = {9,18,-1,0,11,ch201data};
-
-/* char: 0xc8 */
-
-static const GLubyte ch200data[] = {
-0xff,0x80,0xff,0x80,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x0,0xff,0x0,
-0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,0xff,0x80,0x0,0x0,0xc,0x0,
-0x18,0x0,0x30,0x0,
-};
-
-static const BitmapCharRec ch200 = {9,18,-1,0,11,ch200data};
-
-/* char: 0xc7 */
-
-static const GLubyte ch199data[] = {
-0x1e,0x0,0x1b,0x0,0x3,0x0,0xe,0x0,0xf,0x80,0x3f,0xe0,0x70,0x70,0x60,0x30,
-0xe0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xe0,0x0,0x60,0x30,0x70,0x70,
-0x3f,0xe0,0xf,0x80,
-};
-
-static const BitmapCharRec ch199 = {12,18,-1,4,14,ch199data};
-
-/* char: 0xc6 */
-
-static const GLubyte ch198data[] = {
-0xc1,0xff,0xc1,0xff,0x61,0x80,0x61,0x80,0x7f,0x80,0x3f,0x80,0x31,0xfe,0x31,0xfe,
-0x19,0x80,0x19,0x80,0xd,0x80,0xd,0x80,0x7,0xff,0x7,0xff,
-};
-
-static const BitmapCharRec ch198 = {16,14,-1,0,18,ch198data};
-
-/* char: 0xc5 */
-
-static const GLubyte ch197data[] = {
-0xc0,0x30,0xc0,0x30,0x60,0x60,0x60,0x60,0x7f,0xe0,0x3f,0xc0,0x30,0xc0,0x30,0xc0,
-0x19,0x80,0x19,0x80,0xf,0x0,0xf,0x0,0x6,0x0,0x6,0x0,0xf,0x0,0x19,0x80,
-0x19,0x80,0xf,0x0,
-};
-
-static const BitmapCharRec ch197 = {12,18,0,0,12,ch197data};
-
-/* char: 0xc4 */
-
-static const GLubyte ch196data[] = {
-0xc0,0x30,0xc0,0x30,0x60,0x60,0x60,0x60,0x7f,0xe0,0x3f,0xc0,0x30,0xc0,0x30,0xc0,
-0x19,0x80,0x19,0x80,0xf,0x0,0xf,0x0,0x6,0x0,0x6,0x0,0x0,0x0,0x19,0x80,
-0x19,0x80,
-};
-
-static const BitmapCharRec ch196 = {12,17,0,0,12,ch196data};
-
-/* char: 0xc3 */
-
-static const GLubyte ch195data[] = {
-0xc0,0x30,0xc0,0x30,0x60,0x60,0x60,0x60,0x7f,0xe0,0x3f,0xc0,0x30,0xc0,0x30,0xc0,
-0x19,0x80,0x19,0x80,0xf,0x0,0xf,0x0,0x6,0x0,0x6,0x0,0x0,0x0,0x13,0x0,
-0x16,0x80,0xc,0x80,
-};
-
-static const BitmapCharRec ch195 = {12,18,0,0,12,ch195data};
-
-/* char: 0xc2 */
-
-static const GLubyte ch194data[] = {
-0xc0,0x30,0xc0,0x30,0x60,0x60,0x60,0x60,0x7f,0xe0,0x3f,0xc0,0x30,0xc0,0x30,0xc0,
-0x19,0x80,0x19,0x80,0xf,0x0,0xf,0x0,0x6,0x0,0x6,0x0,0x0,0x0,0x19,0x80,
-0xf,0x0,0x6,0x0,
-};
-
-static const BitmapCharRec ch194 = {12,18,0,0,12,ch194data};
-
-/* char: 0xc1 */
-
-static const GLubyte ch193data[] = {
-0xc0,0x30,0xc0,0x30,0x60,0x60,0x60,0x60,0x7f,0xe0,0x3f,0xc0,0x30,0xc0,0x30,0xc0,
-0x19,0x80,0x19,0x80,0xf,0x0,0xf,0x0,0x6,0x0,0x6,0x0,0x0,0x0,0x6,0x0,
-0x3,0x0,0x1,0x80,
-};
-
-static const BitmapCharRec ch193 = {12,18,0,0,12,ch193data};
-
-/* char: 0xc0 */
-
-static const GLubyte ch192data[] = {
-0xc0,0x30,0xc0,0x30,0x60,0x60,0x60,0x60,0x7f,0xe0,0x3f,0xc0,0x30,0xc0,0x30,0xc0,
-0x19,0x80,0x19,0x80,0xf,0x0,0xf,0x0,0x6,0x0,0x6,0x0,0x0,0x0,0x6,0x0,
-0xc,0x0,0x18,0x0,
-};
-
-static const BitmapCharRec ch192 = {12,18,0,0,12,ch192data};
-
-/* char: 0xbf */
-
-static const GLubyte ch191data[] = {
-0x7c,0xfe,0xc6,0xc6,0xe0,0x70,0x38,0x18,0x18,0x18,0x0,0x0,0x18,0x18,
-};
-
-static const BitmapCharRec ch191 = {7,14,-1,4,10,ch191data};
-
-/* char: 0xbe */
-
-static const GLubyte ch190data[] = {
-0x18,0x18,0x18,0x18,0xc,0xfc,0x6,0xd8,0x6,0x78,0x73,0x38,0xf9,0x18,0x99,0x88,
-0x30,0xc0,0x30,0xc0,0x98,0x60,0xf8,0x30,0x70,0x30,
-};
-
-static const BitmapCharRec ch190 = {14,13,0,0,15,ch190data};
-
-/* char: 0xbd */
-
-static const GLubyte ch189data[] = {
-0x30,0xf8,0x30,0xf8,0x18,0x60,0xc,0x30,0xc,0x18,0x66,0x98,0x62,0xf8,0x63,0x70,
-0x61,0x80,0x61,0x80,0xe0,0xc0,0xe0,0x60,0x60,0x60,
-};
-
-static const BitmapCharRec ch189 = {13,13,-1,0,15,ch189data};
-
-/* char: 0xbc */
-
-static const GLubyte ch188data[] = {
-0x30,0x30,0x30,0x30,0x19,0xf8,0xd,0xb0,0xc,0xf0,0x66,0x70,0x62,0x30,0x63,0x10,
-0x61,0x80,0x61,0x80,0xe0,0xc0,0xe0,0x60,0x60,0x60,
-};
-
-static const BitmapCharRec ch188 = {13,13,-1,0,15,ch188data};
-
-/* char: 0xbb */
-
-static const GLubyte ch187data[] = {
-0x90,0xd8,0x6c,0x36,0x36,0x6c,0xd8,0x90,
-};
-
-static const BitmapCharRec ch187 = {7,8,-1,-1,9,ch187data};
-
-/* char: 0xba */
-
-static const GLubyte ch186data[] = {
-0xf8,0x0,0x70,0xd8,0x88,0x88,0xd8,0x70,
-};
-
-static const BitmapCharRec ch186 = {5,8,-1,-6,7,ch186data};
-
-/* char: 0xb9 */
-
-static const GLubyte ch185data[] = {
-0x60,0x60,0x60,0x60,0x60,0xe0,0xe0,0x60,
-};
-
-static const BitmapCharRec ch185 = {3,8,-1,-5,6,ch185data};
-
-/* char: 0xb8 */
-
-static const GLubyte ch184data[] = {
-0xf0,0xd8,0x18,0x70,0x60,
-};
-
-static const BitmapCharRec ch184 = {5,5,0,4,5,ch184data};
-
-/* char: 0xb7 */
-
-static const GLubyte ch183data[] = {
-0xc0,0xc0,
-};
-
-static const BitmapCharRec ch183 = {2,2,-1,-4,4,ch183data};
-
-/* char: 0xb6 */
-
-static const GLubyte ch182data[] = {
-0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x32,0x72,0xf2,0xf2,0xf2,0xf2,
-0x72,0x3f,
-};
-
-static const BitmapCharRec ch182 = {8,18,-1,4,10,ch182data};
-
-/* char: 0xb5 */
-
-static const GLubyte ch181data[] = {
-0xc0,0xc0,0xc0,0xc0,0xdb,0xff,0xe7,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,
-};
-
-static const BitmapCharRec ch181 = {8,14,-1,4,10,ch181data};
-
-/* char: 0xb4 */
-
-static const GLubyte ch180data[] = {
-0xc0,0x60,0x30,
-};
-
-static const BitmapCharRec ch180 = {4,3,0,-11,4,ch180data};
-
-/* char: 0xb3 */
-
-static const GLubyte ch179data[] = {
-0x70,0xf8,0x98,0x30,0x30,0x98,0xf8,0x70,
-};
-
-static const BitmapCharRec ch179 = {5,8,0,-5,6,ch179data};
-
-/* char: 0xb2 */
-
-static const GLubyte ch178data[] = {
-0xf8,0xf8,0x60,0x30,0x18,0x98,0xf8,0x70,
-};
-
-static const BitmapCharRec ch178 = {5,8,0,-5,6,ch178data};
-
-/* char: 0xb1 */
-
-static const GLubyte ch177data[] = {
-0xff,0xff,0x0,0x18,0x18,0x18,0xff,0xff,0x18,0x18,0x18,
-};
-
-static const BitmapCharRec ch177 = {8,11,-1,0,10,ch177data};
-
-/* char: 0xb0 */
-
-static const GLubyte ch176data[] = {
-0x70,0xd8,0x88,0xd8,0x70,
-};
-
-static const BitmapCharRec ch176 = {5,5,-1,-8,7,ch176data};
-
-/* char: 0xaf */
-
-static const GLubyte ch175data[] = {
-0xf8,
-};
-
-static const BitmapCharRec ch175 = {5,1,0,-12,5,ch175data};
-
-/* char: 0xae */
-
-static const GLubyte ch174data[] = {
-0xf,0x80,0x30,0x60,0x40,0x10,0x48,0x50,0x88,0x88,0x89,0x8,0x8f,0x88,0x88,0x48,
-0x88,0x48,0x4f,0x90,0x40,0x10,0x30,0x60,0xf,0x80,
-};
-
-static const BitmapCharRec ch174 = {13,13,-1,0,14,ch174data};
-
-/* char: 0xad */
-
-static const GLubyte ch173data[] = {
-0xf8,0xf8,
-};
-
-static const BitmapCharRec ch173 = {5,2,-1,-4,7,ch173data};
-
-/* char: 0xac */
-
-static const GLubyte ch172data[] = {
-0x1,0x80,0x1,0x80,0x1,0x80,0xff,0x80,0xff,0x80,
-};
-
-static const BitmapCharRec ch172 = {9,5,-1,-3,11,ch172data};
-
-/* char: 0xab */
-
-static const GLubyte ch171data[] = {
-0x12,0x36,0x6c,0xd8,0xd8,0x6c,0x36,0x12,
-};
-
-static const BitmapCharRec ch171 = {7,8,-1,-1,9,ch171data};
-
-/* char: 0xaa */
-
-static const GLubyte ch170data[] = {
-0xf8,0x0,0x68,0xd8,0x48,0x38,0xc8,0x70,
-};
-
-static const BitmapCharRec ch170 = {5,8,-1,-6,7,ch170data};
-
-/* char: 0xa9 */
-
-static const GLubyte ch169data[] = {
-0xf,0x80,0x30,0x60,0x40,0x10,0x47,0x10,0x88,0x88,0x90,0x8,0x90,0x8,0x90,0x8,
-0x88,0x88,0x47,0x10,0x40,0x10,0x30,0x60,0xf,0x80,
-};
-
-static const BitmapCharRec ch169 = {13,13,-1,0,15,ch169data};
-
-/* char: 0xa8 */
-
-static const GLubyte ch168data[] = {
-0xd8,0xd8,
-};
-
-static const BitmapCharRec ch168 = {5,2,0,-11,6,ch168data};
-
-/* char: 0xa7 */
-
-static const GLubyte ch167data[] = {
-0x3c,0x7e,0xc3,0xc3,0x7,0xe,0x3e,0x73,0xe3,0xc3,0xc7,0x6e,0x7c,0xf0,0xc3,0xc3,
-0x7e,0x3c,
-};
-
-static const BitmapCharRec ch167 = {8,18,-1,4,10,ch167data};
-
-/* char: 0xa6 */
-
-static const GLubyte ch166data[] = {
-0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x0,0x0,0x0,0x0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc0,
-};
-
-static const BitmapCharRec ch166 = {2,17,-1,3,4,ch166data};
-
-/* char: 0xa5 */
-
-static const GLubyte ch165data[] = {
-0x18,0x18,0x18,0x18,0xff,0x18,0xff,0x3c,0x66,0x66,0x66,0xc3,0xc3,
-};
-
-static const BitmapCharRec ch165 = {8,13,-1,0,10,ch165data};
-
-/* char: 0xa4 */
-
-static const GLubyte ch164data[] = {
-0xc3,0xff,0x66,0x66,0x66,0xff,0xc3,
-};
-
-static const BitmapCharRec ch164 = {8,7,-1,-3,10,ch164data};
-
-/* char: 0xa3 */
-
-static const GLubyte ch163data[] = {
-0xdf,0x0,0xff,0x80,0x60,0x80,0x30,0x0,0x18,0x0,0x18,0x0,0x7e,0x0,0x30,0x0,
-0x60,0x0,0x61,0x80,0x61,0x80,0x3f,0x0,0x1e,0x0,
-};
-
-static const BitmapCharRec ch163 = {9,13,0,0,10,ch163data};
-
-/* char: 0xa2 */
-
-static const GLubyte ch162data[] = {
-0x10,0x10,0x3e,0x7f,0x6b,0xc8,0xc8,0xc8,0xc8,0x6b,0x7f,0x3e,0x4,0x4,
-};
-
-static const BitmapCharRec ch162 = {8,14,-1,2,10,ch162data};
-
-/* char: 0xa1 */
-
-static const GLubyte ch161data[] = {
-0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x40,0x40,0x0,0x0,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch161 = {2,14,-2,4,6,ch161data};
-
-/* char: 0xa0 */
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch160data[] = { 0x0 };
-static const BitmapCharRec ch160 = {1,1,0,0,5,ch160data};
-#else
-static const BitmapCharRec ch160 = {0,0,0,0,5,0};
-#endif
-
-/* char: 0x7e '~' */
-
-static const GLubyte ch126data[] = {
-0xcc,0x7e,0x33,
-};
-
-static const BitmapCharRec ch126 = {8,3,-1,-4,10,ch126data};
-
-/* char: 0x7d '}' */
-
-static const GLubyte ch125data[] = {
-0xc0,0x60,0x30,0x30,0x30,0x30,0x30,0x30,0x18,0xc,0x18,0x30,0x30,0x30,0x30,0x30,
-0x60,0xc0,
-};
-
-static const BitmapCharRec ch125 = {6,18,0,4,6,ch125data};
-
-/* char: 0x7c '|' */
-
-static const GLubyte ch124data[] = {
-0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc0,0xc0,
-};
-
-static const BitmapCharRec ch124 = {2,18,-1,4,4,ch124data};
-
-/* char: 0x7b '{' */
-
-static const GLubyte ch123data[] = {
-0xc,0x18,0x30,0x30,0x30,0x30,0x30,0x30,0x60,0xc0,0x60,0x30,0x30,0x30,0x30,0x30,
-0x18,0xc,
-};
-
-static const BitmapCharRec ch123 = {6,18,0,4,6,ch123data};
-
-/* char: 0x7a 'z' */
-
-static const GLubyte ch122data[] = {
-0xfe,0xfe,0xc0,0x60,0x30,0x18,0xc,0x6,0xfe,0xfe,
-};
-
-static const BitmapCharRec ch122 = {7,10,-1,0,9,ch122data};
-
-/* char: 0x79 'y' */
-
-static const GLubyte ch121data[] = {
-0x70,0x70,0x18,0x18,0x18,0x18,0x3c,0x24,0x66,0x66,0x66,0xc3,0xc3,0xc3,
-};
-
-static const BitmapCharRec ch121 = {8,14,-1,4,10,ch121data};
-
-/* char: 0x78 'x' */
-
-static const GLubyte ch120data[] = {
-0xc3,0xe7,0x66,0x3c,0x18,0x18,0x3c,0x66,0xe7,0xc3,
-};
-
-static const BitmapCharRec ch120 = {8,10,-1,0,10,ch120data};
-
-/* char: 0x77 'w' */
-
-static const GLubyte ch119data[] = {
-0x19,0x80,0x19,0x80,0x39,0xc0,0x29,0x40,0x69,0x60,0x66,0x60,0x66,0x60,0xc6,0x30,
-0xc6,0x30,0xc6,0x30,
-};
-
-static const BitmapCharRec ch119 = {12,10,-1,0,14,ch119data};
-
-/* char: 0x76 'v' */
-
-static const GLubyte ch118data[] = {
-0x18,0x18,0x3c,0x24,0x66,0x66,0x66,0xc3,0xc3,0xc3,
-};
-
-static const BitmapCharRec ch118 = {8,10,-1,0,10,ch118data};
-
-/* char: 0x75 'u' */
-
-static const GLubyte ch117data[] = {
-0x73,0xfb,0xc7,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,
-};
-
-static const BitmapCharRec ch117 = {8,10,-1,0,10,ch117data};
-
-/* char: 0x74 't' */
-
-static const GLubyte ch116data[] = {
-0x18,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0xfc,0xfc,0x30,0x30,0x30,
-};
-
-static const BitmapCharRec ch116 = {6,13,0,0,6,ch116data};
-
-/* char: 0x73 's' */
-
-static const GLubyte ch115data[] = {
-0x78,0xfc,0xc6,0x6,0x3e,0xfc,0xc0,0xc6,0x7e,0x3c,
-};
-
-static const BitmapCharRec ch115 = {7,10,-1,0,9,ch115data};
-
-/* char: 0x72 'r' */
-
-static const GLubyte ch114data[] = {
-0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xe0,0xd8,0xd8,
-};
-
-static const BitmapCharRec ch114 = {5,10,-1,0,6,ch114data};
-
-/* char: 0x71 'q' */
-
-static const GLubyte ch113data[] = {
-0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x3d,0x80,0x7f,0x80,0x63,0x80,0xc1,0x80,
-0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x80,0x7f,0x80,0x3d,0x80,
-};
-
-static const BitmapCharRec ch113 = {9,14,-1,4,11,ch113data};
-
-/* char: 0x70 'p' */
-
-static const GLubyte ch112data[] = {
-0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xde,0x0,0xff,0x0,0xe3,0x0,0xc1,0x80,
-0xc1,0x80,0xc1,0x80,0xc1,0x80,0xe3,0x0,0xff,0x0,0xde,0x0,
-};
-
-static const BitmapCharRec ch112 = {9,14,-1,4,11,ch112data};
-
-/* char: 0x6f 'o' */
-
-static const GLubyte ch111data[] = {
-0x3e,0x0,0x7f,0x0,0x63,0x0,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x0,
-0x7f,0x0,0x3e,0x0,
-};
-
-static const BitmapCharRec ch111 = {9,10,-1,0,11,ch111data};
-
-/* char: 0x6e 'n' */
-
-static const GLubyte ch110data[] = {
-0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xe3,0xdf,0xce,
-};
-
-static const BitmapCharRec ch110 = {8,10,-1,0,10,ch110data};
-
-/* char: 0x6d 'm' */
-
-static const GLubyte ch109data[] = {
-0xc6,0x30,0xc6,0x30,0xc6,0x30,0xc6,0x30,0xc6,0x30,0xc6,0x30,0xc6,0x30,0xe7,0x30,
-0xde,0xf0,0xcc,0x60,
-};
-
-static const BitmapCharRec ch109 = {12,10,-1,0,14,ch109data};
-
-/* char: 0x6c 'l' */
-
-static const GLubyte ch108data[] = {
-0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch108 = {2,14,-1,0,4,ch108data};
-
-/* char: 0x6b 'k' */
-
-static const GLubyte ch107data[] = {
-0xc7,0xc6,0xce,0xcc,0xd8,0xf8,0xf0,0xd8,0xcc,0xc6,0xc0,0xc0,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch107 = {8,14,-1,0,9,ch107data};
-
-/* char: 0x6a 'j' */
-
-static const GLubyte ch106data[] = {
-0xe0,0xf0,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x0,0x0,
-0x30,0x30,
-};
-
-static const BitmapCharRec ch106 = {4,18,1,4,4,ch106data};
-
-/* char: 0x69 'i' */
-
-static const GLubyte ch105data[] = {
-0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x0,0x0,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch105 = {2,14,-1,0,4,ch105data};
-
-/* char: 0x68 'h' */
-
-static const GLubyte ch104data[] = {
-0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xe3,0xdf,0xce,0xc0,0xc0,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch104 = {8,14,-1,0,10,ch104data};
-
-/* char: 0x67 'g' */
-
-static const GLubyte ch103data[] = {
-0x1c,0x0,0x7f,0x0,0x63,0x0,0x1,0x80,0x3d,0x80,0x7f,0x80,0x63,0x80,0xc1,0x80,
-0xc1,0x80,0xc1,0x80,0xc1,0x80,0x61,0x80,0x7f,0x80,0x3d,0x80,
-};
-
-static const BitmapCharRec ch103 = {9,14,-1,4,11,ch103data};
-
-/* char: 0x66 'f' */
-
-static const GLubyte ch102data[] = {
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0xfc,0xfc,0x30,0x30,0x3c,0x1c,
-};
-
-static const BitmapCharRec ch102 = {6,14,0,0,6,ch102data};
-
-/* char: 0x65 'e' */
-
-static const GLubyte ch101data[] = {
-0x3c,0x7f,0xe3,0xc0,0xc0,0xff,0xc3,0xc3,0x7e,0x3c,
-};
-
-static const BitmapCharRec ch101 = {8,10,-1,0,10,ch101data};
-
-/* char: 0x64 'd' */
-
-static const GLubyte ch100data[] = {
-0x3d,0x80,0x7f,0x80,0x63,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x80,
-0x7f,0x80,0x3d,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,
-};
-
-static const BitmapCharRec ch100 = {9,14,-1,0,11,ch100data};
-
-/* char: 0x63 'c' */
-
-static const GLubyte ch99data[] = {
-0x3e,0x7f,0x63,0xc0,0xc0,0xc0,0xc0,0x63,0x7f,0x3e,
-};
-
-static const BitmapCharRec ch99 = {8,10,-1,0,10,ch99data};
-
-/* char: 0x62 'b' */
-
-static const GLubyte ch98data[] = {
-0xde,0x0,0xff,0x0,0xe3,0x0,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xe3,0x0,
-0xff,0x0,0xde,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,
-};
-
-static const BitmapCharRec ch98 = {9,14,-1,0,11,ch98data};
-
-/* char: 0x61 'a' */
-
-static const GLubyte ch97data[] = {
-0x76,0xee,0xc6,0xc6,0xe6,0x7e,0xe,0xc6,0xee,0x7c,
-};
-
-static const BitmapCharRec ch97 = {7,10,-1,0,9,ch97data};
-
-/* char: 0x60 '`' */
-
-static const GLubyte ch96data[] = {
-0xc0,0xc0,0x80,0x80,0x40,
-};
-
-static const BitmapCharRec ch96 = {2,5,-1,-9,4,ch96data};
-
-/* char: 0x5f '_' */
-
-static const GLubyte ch95data[] = {
-0xff,0xc0,0xff,0xc0,
-};
-
-static const BitmapCharRec ch95 = {10,2,0,4,10,ch95data};
-
-/* char: 0x5e '^' */
-
-static const GLubyte ch94data[] = {
-0x82,0xc6,0x6c,0x38,0x10,
-};
-
-static const BitmapCharRec ch94 = {7,5,-1,-8,9,ch94data};
-
-/* char: 0x5d ']' */
-
-static const GLubyte ch93data[] = {
-0xf0,0xf0,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-0xf0,0xf0,
-};
-
-static const BitmapCharRec ch93 = {4,18,0,4,5,ch93data};
-
-/* char: 0x5c '\' */
-
-static const GLubyte ch92data[] = {
-0x18,0x18,0x10,0x10,0x30,0x30,0x20,0x20,0x60,0x60,0x40,0x40,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch92 = {5,14,0,0,5,ch92data};
-
-/* char: 0x5b '[' */
-
-static const GLubyte ch91data[] = {
-0xf0,0xf0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xf0,0xf0,
-};
-
-static const BitmapCharRec ch91 = {4,18,-1,4,5,ch91data};
-
-/* char: 0x5a 'Z' */
-
-static const GLubyte ch90data[] = {
-0xff,0xc0,0xff,0xc0,0xc0,0x0,0x60,0x0,0x30,0x0,0x18,0x0,0x1c,0x0,0xc,0x0,
-0x6,0x0,0x3,0x0,0x1,0x80,0x0,0xc0,0xff,0xc0,0xff,0xc0,
-};
-
-static const BitmapCharRec ch90 = {10,14,-1,0,12,ch90data};
-
-/* char: 0x59 'Y' */
-
-static const GLubyte ch89data[] = {
-0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0xf,0x0,0x19,0x80,
-0x30,0xc0,0x30,0xc0,0x60,0x60,0x60,0x60,0xc0,0x30,0xc0,0x30,
-};
-
-static const BitmapCharRec ch89 = {12,14,-1,0,14,ch89data};
-
-/* char: 0x58 'X' */
-
-static const GLubyte ch88data[] = {
-0xc0,0x60,0xe0,0xe0,0x60,0xc0,0x71,0xc0,0x31,0x80,0x1b,0x0,0xe,0x0,0xe,0x0,
-0x1b,0x0,0x31,0x80,0x71,0xc0,0x60,0xc0,0xe0,0xe0,0xc0,0x60,
-};
-
-static const BitmapCharRec ch88 = {11,14,-1,0,13,ch88data};
-
-/* char: 0x57 'W' */
-
-static const GLubyte ch87data[] = {
-0x18,0x18,0x18,0x18,0x1c,0x38,0x34,0x2c,0x36,0x6c,0x36,0x6c,0x66,0x66,0x66,0x66,
-0x62,0x46,0x63,0xc6,0xc3,0xc3,0xc1,0x83,0xc1,0x83,0xc1,0x83,
-};
-
-static const BitmapCharRec ch87 = {16,14,-1,0,18,ch87data};
-
-/* char: 0x56 'V' */
-
-static const GLubyte ch86data[] = {
-0x6,0x0,0xf,0x0,0xf,0x0,0x19,0x80,0x19,0x80,0x19,0x80,0x30,0xc0,0x30,0xc0,
-0x30,0xc0,0x60,0x60,0x60,0x60,0x60,0x60,0xc0,0x30,0xc0,0x30,
-};
-
-static const BitmapCharRec ch86 = {12,14,-1,0,14,ch86data};
-
-/* char: 0x55 'U' */
-
-static const GLubyte ch85data[] = {
-0x1f,0x0,0x7f,0xc0,0x60,0xc0,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,
-0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,
-};
-
-static const BitmapCharRec ch85 = {11,14,-1,0,13,ch85data};
-
-/* char: 0x54 'T' */
-
-static const GLubyte ch84data[] = {
-0xc,0x0,0xc,0x0,0xc,0x0,0xc,0x0,0xc,0x0,0xc,0x0,0xc,0x0,0xc,0x0,
-0xc,0x0,0xc,0x0,0xc,0x0,0xc,0x0,0xff,0xc0,0xff,0xc0,
-};
-
-static const BitmapCharRec ch84 = {10,14,-1,0,12,ch84data};
-
-/* char: 0x53 'S' */
-
-static const GLubyte ch83data[] = {
-0x3f,0x0,0x7f,0xc0,0xe0,0xe0,0xc0,0x60,0x0,0x60,0x0,0xe0,0x3,0xc0,0x1f,0x0,
-0x7c,0x0,0xe0,0x0,0xc0,0x60,0xe0,0xe0,0x7f,0xc0,0x1f,0x0,
-};
-
-static const BitmapCharRec ch83 = {11,14,-1,0,13,ch83data};
-
-/* char: 0x52 'R' */
-
-static const GLubyte ch82data[] = {
-0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc1,0x80,0xc1,0x80,0xff,0x0,0xff,0x80,
-0xc1,0xc0,0xc0,0xc0,0xc0,0xc0,0xc1,0xc0,0xff,0x80,0xff,0x0,
-};
-
-static const BitmapCharRec ch82 = {10,14,-1,0,12,ch82data};
-
-/* char: 0x51 'Q' */
-
-static const GLubyte ch81data[] = {
-0x0,0x30,0xf,0xb0,0x3f,0xe0,0x70,0xf0,0x61,0xb0,0xe1,0xb8,0xc0,0x18,0xc0,0x18,
-0xc0,0x18,0xc0,0x18,0xe0,0x38,0x60,0x30,0x70,0x70,0x3f,0xe0,0xf,0x80,
-};
-
-static const BitmapCharRec ch81 = {13,15,-1,1,15,ch81data};
-
-/* char: 0x50 'P' */
-
-static const GLubyte ch80data[] = {
-0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x0,0xff,0x80,
-0xc1,0xc0,0xc0,0xc0,0xc0,0xc0,0xc1,0xc0,0xff,0x80,0xff,0x0,
-};
-
-static const BitmapCharRec ch80 = {10,14,-1,0,12,ch80data};
-
-/* char: 0x4f 'O' */
-
-static const GLubyte ch79data[] = {
-0xf,0x80,0x3f,0xe0,0x70,0x70,0x60,0x30,0xe0,0x38,0xc0,0x18,0xc0,0x18,0xc0,0x18,
-0xc0,0x18,0xe0,0x38,0x60,0x30,0x70,0x70,0x3f,0xe0,0xf,0x80,
-};
-
-static const BitmapCharRec ch79 = {13,14,-1,0,15,ch79data};
-
-/* char: 0x4e 'N' */
-
-static const GLubyte ch78data[] = {
-0xc0,0x60,0xc0,0xe0,0xc1,0xe0,0xc1,0xe0,0xc3,0x60,0xc6,0x60,0xc6,0x60,0xcc,0x60,
-0xcc,0x60,0xd8,0x60,0xf0,0x60,0xf0,0x60,0xe0,0x60,0xc0,0x60,
-};
-
-static const BitmapCharRec ch78 = {11,14,-1,0,13,ch78data};
-
-/* char: 0x4d 'M' */
-
-static const GLubyte ch77data[] = {
-0xc3,0xc,0xc3,0xc,0xc7,0x8c,0xc4,0x8c,0xcc,0xcc,0xcc,0xcc,0xd8,0x6c,0xd8,0x6c,
-0xf0,0x3c,0xf0,0x3c,0xe0,0x1c,0xe0,0x1c,0xc0,0xc,0xc0,0xc,
-};
-
-static const BitmapCharRec ch77 = {14,14,-1,0,16,ch77data};
-
-/* char: 0x4c 'L' */
-
-static const GLubyte ch76data[] = {
-0xff,0xff,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch76 = {8,14,-1,0,10,ch76data};
-
-/* char: 0x4b 'K' */
-
-static const GLubyte ch75data[] = {
-0xc0,0x70,0xc0,0xe0,0xc1,0xc0,0xc3,0x80,0xc7,0x0,0xce,0x0,0xfc,0x0,0xf8,0x0,
-0xdc,0x0,0xce,0x0,0xc7,0x0,0xc3,0x80,0xc1,0xc0,0xc0,0xe0,
-};
-
-static const BitmapCharRec ch75 = {12,14,-1,0,13,ch75data};
-
-/* char: 0x4a 'J' */
-
-static const GLubyte ch74data[] = {
-0x3c,0x7e,0xe7,0xc3,0xc3,0x3,0x3,0x3,0x3,0x3,0x3,0x3,0x3,0x3,
-};
-
-static const BitmapCharRec ch74 = {8,14,-1,0,10,ch74data};
-
-/* char: 0x49 'I' */
-
-static const GLubyte ch73data[] = {
-0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch73 = {2,14,-2,0,6,ch73data};
-
-/* char: 0x48 'H' */
-
-static const GLubyte ch72data[] = {
-0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xff,0xe0,0xff,0xe0,
-0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,
-};
-
-static const BitmapCharRec ch72 = {11,14,-1,0,13,ch72data};
-
-/* char: 0x47 'G' */
-
-static const GLubyte ch71data[] = {
-0xf,0xb0,0x3f,0xf0,0x70,0x70,0x60,0x30,0xe0,0x30,0xc1,0xf0,0xc1,0xf0,0xc0,0x0,
-0xc0,0x0,0xe0,0x30,0x60,0x30,0x70,0x70,0x3f,0xe0,0xf,0x80,
-};
-
-static const BitmapCharRec ch71 = {12,14,-1,0,14,ch71data};
-
-/* char: 0x46 'F' */
-
-static const GLubyte ch70data[] = {
-0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x0,0xff,0x0,
-0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,0xff,0x80,
-};
-
-static const BitmapCharRec ch70 = {9,14,-1,0,11,ch70data};
-
-/* char: 0x45 'E' */
-
-static const GLubyte ch69data[] = {
-0xff,0x80,0xff,0x80,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x0,0xff,0x0,
-0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,0xff,0x80,
-};
-
-static const BitmapCharRec ch69 = {9,14,-1,0,11,ch69data};
-
-/* char: 0x44 'D' */
-
-static const GLubyte ch68data[] = {
-0xff,0x0,0xff,0x80,0xc1,0xc0,0xc0,0xc0,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,
-0xc0,0x60,0xc0,0x60,0xc0,0xc0,0xc1,0xc0,0xff,0x80,0xff,0x0,
-};
-
-static const BitmapCharRec ch68 = {11,14,-1,0,13,ch68data};
-
-/* char: 0x43 'C' */
-
-static const GLubyte ch67data[] = {
-0xf,0x80,0x3f,0xe0,0x70,0x70,0x60,0x30,0xe0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,
-0xc0,0x0,0xe0,0x0,0x60,0x30,0x70,0x70,0x3f,0xe0,0xf,0x80,
-};
-
-static const BitmapCharRec ch67 = {12,14,-1,0,14,ch67data};
-
-/* char: 0x42 'B' */
-
-static const GLubyte ch66data[] = {
-0xff,0x80,0xff,0xc0,0xc0,0xe0,0xc0,0x60,0xc0,0x60,0xc0,0xe0,0xff,0xc0,0xff,0x80,
-0xc1,0x80,0xc0,0xc0,0xc0,0xc0,0xc1,0xc0,0xff,0x80,0xff,0x0,
-};
-
-static const BitmapCharRec ch66 = {11,14,-1,0,13,ch66data};
-
-/* char: 0x41 'A' */
-
-static const GLubyte ch65data[] = {
-0xc0,0x30,0xc0,0x30,0x60,0x60,0x60,0x60,0x7f,0xe0,0x3f,0xc0,0x30,0xc0,0x30,0xc0,
-0x19,0x80,0x19,0x80,0xf,0x0,0xf,0x0,0x6,0x0,0x6,0x0,
-};
-
-static const BitmapCharRec ch65 = {12,14,0,0,12,ch65data};
-
-/* char: 0x40 '@' */
-
-static const GLubyte ch64data[] = {
-0x7,0xe0,0x1f,0xf0,0x38,0x0,0x70,0x0,0x67,0x70,0xcf,0xf8,0xcc,0xcc,0xcc,0x66,
-0xcc,0x66,0xcc,0x63,0xc6,0x33,0x67,0x73,0x63,0xb3,0x30,0x6,0x1c,0xe,0xf,0xfc,
-0x3,0xf0,
-};
-
-static const BitmapCharRec ch64 = {16,17,-1,3,18,ch64data};
-
-/* char: 0x3f '?' */
-
-static const GLubyte ch63data[] = {
-0x30,0x30,0x0,0x0,0x30,0x30,0x30,0x38,0x1c,0xe,0xc6,0xc6,0xfe,0x7c,
-};
-
-static const BitmapCharRec ch63 = {7,14,-1,0,10,ch63data};
-
-/* char: 0x3e '>' */
-
-static const GLubyte ch62data[] = {
-0xc0,0xf0,0x3c,0xe,0x3,0xe,0x3c,0xf0,0xc0,
-};
-
-static const BitmapCharRec ch62 = {8,9,-1,0,10,ch62data};
-
-/* char: 0x3d '=' */
-
-static const GLubyte ch61data[] = {
-0xfe,0xfe,0x0,0x0,0xfe,0xfe,
-};
-
-static const BitmapCharRec ch61 = {7,6,-2,-2,11,ch61data};
-
-/* char: 0x3c '<' */
-
-static const GLubyte ch60data[] = {
-0x3,0xf,0x3c,0x70,0xc0,0x70,0x3c,0xf,0x3,
-};
-
-static const BitmapCharRec ch60 = {8,9,-1,0,10,ch60data};
-
-/* char: 0x3b ';' */
-
-static const GLubyte ch59data[] = {
-0x80,0x40,0x40,0xc0,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch59 = {2,13,-1,3,5,ch59data};
-
-/* char: 0x3a ':' */
-
-static const GLubyte ch58data[] = {
-0xc0,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch58 = {2,10,-1,0,5,ch58data};
-
-/* char: 0x39 '9' */
-
-static const GLubyte ch57data[] = {
-0x7c,0xfe,0xc6,0x3,0x3,0x3b,0x7f,0xc3,0xc3,0xc3,0xc7,0x7e,0x3c,
-};
-
-static const BitmapCharRec ch57 = {8,13,-1,0,10,ch57data};
-
-/* char: 0x38 '8' */
-
-static const GLubyte ch56data[] = {
-0x3c,0x7e,0xe7,0xc3,0xc3,0x66,0x7e,0x66,0xc3,0xc3,0xe7,0x7e,0x3c,
-};
-
-static const BitmapCharRec ch56 = {8,13,-1,0,10,ch56data};
-
-/* char: 0x37 '7' */
-
-static const GLubyte ch55data[] = {
-0x60,0x60,0x30,0x30,0x30,0x18,0x18,0xc,0xc,0x6,0x3,0xff,0xff,
-};
-
-static const BitmapCharRec ch55 = {8,13,-1,0,10,ch55data};
-
-/* char: 0x36 '6' */
-
-static const GLubyte ch54data[] = {
-0x3c,0x7e,0xe3,0xc3,0xc3,0xc3,0xfe,0xdc,0xc0,0xc0,0x63,0x7f,0x3c,
-};
-
-static const BitmapCharRec ch54 = {8,13,-1,0,10,ch54data};
-
-/* char: 0x35 '5' */
-
-static const GLubyte ch53data[] = {
-0x7c,0xfe,0xc7,0xc3,0x3,0x3,0xc7,0xfe,0xfc,0xc0,0xc0,0xfe,0xfe,
-};
-
-static const BitmapCharRec ch53 = {8,13,-1,0,10,ch53data};
-
-/* char: 0x34 '4' */
-
-static const GLubyte ch52data[] = {
-0x3,0x0,0x3,0x0,0x3,0x0,0xff,0x80,0xff,0x80,0xc3,0x0,0x63,0x0,0x33,0x0,
-0x33,0x0,0x1b,0x0,0xf,0x0,0x7,0x0,0x3,0x0,
-};
-
-static const BitmapCharRec ch52 = {9,13,-1,0,10,ch52data};
-
-/* char: 0x33 '3' */
-
-static const GLubyte ch51data[] = {
-0x3c,0x7e,0xc7,0xc3,0x3,0x7,0x1e,0x1c,0x6,0xc3,0xc3,0x7e,0x3c,
-};
-
-static const BitmapCharRec ch51 = {8,13,-1,0,10,ch51data};
-
-/* char: 0x32 '2' */
-
-static const GLubyte ch50data[] = {
-0xff,0xff,0xc0,0xe0,0x70,0x38,0x1c,0xe,0x7,0x3,0xc3,0xfe,0x3c,
-};
-
-static const BitmapCharRec ch50 = {8,13,-1,0,10,ch50data};
-
-/* char: 0x31 '1' */
-
-static const GLubyte ch49data[] = {
-0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xf8,0xf8,0x18,
-};
-
-static const BitmapCharRec ch49 = {5,13,-2,0,10,ch49data};
-
-/* char: 0x30 '0' */
-
-static const GLubyte ch48data[] = {
-0x3c,0x7e,0x66,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0x66,0x7e,0x3c,
-};
-
-static const BitmapCharRec ch48 = {8,13,-1,0,10,ch48data};
-
-/* char: 0x2f '/' */
-
-static const GLubyte ch47data[] = {
-0xc0,0xc0,0x40,0x40,0x60,0x60,0x20,0x20,0x30,0x30,0x10,0x10,0x18,0x18,
-};
-
-static const BitmapCharRec ch47 = {5,14,0,0,5,ch47data};
-
-/* char: 0x2e '.' */
-
-static const GLubyte ch46data[] = {
-0xc0,0xc0,
-};
-
-static const BitmapCharRec ch46 = {2,2,-1,0,5,ch46data};
-
-/* char: 0x2d '-' */
-
-static const GLubyte ch45data[] = {
-0xff,0xff,
-};
-
-static const BitmapCharRec ch45 = {8,2,-1,-4,11,ch45data};
-
-/* char: 0x2c ',' */
-
-static const GLubyte ch44data[] = {
-0x80,0x40,0x40,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch44 = {2,5,-1,3,5,ch44data};
-
-/* char: 0x2b '+' */
-
-static const GLubyte ch43data[] = {
-0x18,0x18,0x18,0x18,0xff,0xff,0x18,0x18,0x18,0x18,
-};
-
-static const BitmapCharRec ch43 = {8,10,-1,0,10,ch43data};
-
-/* char: 0x2a '*' */
-
-static const GLubyte ch42data[] = {
-0x88,0x70,0x70,0xf8,0x20,0x20,
-};
-
-static const BitmapCharRec ch42 = {5,6,-1,-8,7,ch42data};
-
-/* char: 0x29 ')' */
-
-static const GLubyte ch41data[] = {
-0x80,0xc0,0x60,0x60,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x60,0x60,
-0xc0,0x80,
-};
-
-static const BitmapCharRec ch41 = {4,18,-1,4,6,ch41data};
-
-/* char: 0x28 '(' */
-
-static const GLubyte ch40data[] = {
-0x10,0x30,0x60,0x60,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x60,0x60,
-0x30,0x10,
-};
-
-static const BitmapCharRec ch40 = {4,18,-1,4,6,ch40data};
-
-/* char: 0x27 ''' */
-
-static const GLubyte ch39data[] = {
-0x80,0x40,0x40,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch39 = {2,5,-1,-9,4,ch39data};
-
-/* char: 0x26 '&' */
-
-static const GLubyte ch38data[] = {
-0x3c,0x70,0x7e,0xe0,0xe7,0xc0,0xc3,0x80,0xc3,0xc0,0xc6,0xc0,0xee,0xc0,0x7c,0x0,
-0x3c,0x0,0x66,0x0,0x66,0x0,0x7e,0x0,0x3c,0x0,
-};
-
-static const BitmapCharRec ch38 = {12,13,-1,0,13,ch38data};
-
-/* char: 0x25 '%' */
-
-static const GLubyte ch37data[] = {
-0x18,0x78,0x18,0xfc,0xc,0xcc,0xc,0xcc,0x6,0xfc,0x6,0x78,0x3,0x0,0x7b,0x0,
-0xfd,0x80,0xcd,0x80,0xcc,0xc0,0xfc,0xc0,0x78,0x60,
-};
-
-static const BitmapCharRec ch37 = {14,13,-1,0,16,ch37data};
-
-/* char: 0x24 '$' */
-
-static const GLubyte ch36data[] = {
-0x8,0x0,0x8,0x0,0x3e,0x0,0x7f,0x0,0xeb,0x80,0xc9,0x80,0x9,0x80,0xf,0x0,
-0x3e,0x0,0x78,0x0,0xe8,0x0,0xc8,0x0,0xcb,0x0,0x7f,0x0,0x3e,0x0,0x8,0x0,
-};
-
-static const BitmapCharRec ch36 = {9,16,-1,2,10,ch36data};
-
-/* char: 0x23 '#' */
-
-static const GLubyte ch35data[] = {
-0x24,0x0,0x24,0x0,0x24,0x0,0xff,0x80,0xff,0x80,0x12,0x0,0x12,0x0,0x12,0x0,
-0x7f,0xc0,0x7f,0xc0,0x9,0x0,0x9,0x0,0x9,0x0,
-};
-
-static const BitmapCharRec ch35 = {10,13,0,0,10,ch35data};
-
-/* char: 0x22 '"' */
-
-static const GLubyte ch34data[] = {
-0x90,0x90,0xd8,0xd8,0xd8,
-};
-
-static const BitmapCharRec ch34 = {5,5,0,-9,5,ch34data};
-
-/* char: 0x21 '!' */
-
-static const GLubyte ch33data[] = {
-0xc0,0xc0,0x0,0x0,0x80,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch33 = {2,14,-2,0,6,ch33data};
-
-/* char: 0x20 ' ' */
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch32data[] = { 0x0 };
-static const BitmapCharRec ch32 = {1,1,0,0,5,ch32data};
-#else
-static const BitmapCharRec ch32 = {0,0,0,0,5,0};
-#endif
-
-static const BitmapCharRec * const chars[] = {
-&ch32,
-&ch33,
-&ch34,
-&ch35,
-&ch36,
-&ch37,
-&ch38,
-&ch39,
-&ch40,
-&ch41,
-&ch42,
-&ch43,
-&ch44,
-&ch45,
-&ch46,
-&ch47,
-&ch48,
-&ch49,
-&ch50,
-&ch51,
-&ch52,
-&ch53,
-&ch54,
-&ch55,
-&ch56,
-&ch57,
-&ch58,
-&ch59,
-&ch60,
-&ch61,
-&ch62,
-&ch63,
-&ch64,
-&ch65,
-&ch66,
-&ch67,
-&ch68,
-&ch69,
-&ch70,
-&ch71,
-&ch72,
-&ch73,
-&ch74,
-&ch75,
-&ch76,
-&ch77,
-&ch78,
-&ch79,
-&ch80,
-&ch81,
-&ch82,
-&ch83,
-&ch84,
-&ch85,
-&ch86,
-&ch87,
-&ch88,
-&ch89,
-&ch90,
-&ch91,
-&ch92,
-&ch93,
-&ch94,
-&ch95,
-&ch96,
-&ch97,
-&ch98,
-&ch99,
-&ch100,
-&ch101,
-&ch102,
-&ch103,
-&ch104,
-&ch105,
-&ch106,
-&ch107,
-&ch108,
-&ch109,
-&ch110,
-&ch111,
-&ch112,
-&ch113,
-&ch114,
-&ch115,
-&ch116,
-&ch117,
-&ch118,
-&ch119,
-&ch120,
-&ch121,
-&ch122,
-&ch123,
-&ch124,
-&ch125,
-&ch126,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-&ch160,
-&ch161,
-&ch162,
-&ch163,
-&ch164,
-&ch165,
-&ch166,
-&ch167,
-&ch168,
-&ch169,
-&ch170,
-&ch171,
-&ch172,
-&ch173,
-&ch174,
-&ch175,
-&ch176,
-&ch177,
-&ch178,
-&ch179,
-&ch180,
-&ch181,
-&ch182,
-&ch183,
-&ch184,
-&ch185,
-&ch186,
-&ch187,
-&ch188,
-&ch189,
-&ch190,
-&ch191,
-&ch192,
-&ch193,
-&ch194,
-&ch195,
-&ch196,
-&ch197,
-&ch198,
-&ch199,
-&ch200,
-&ch201,
-&ch202,
-&ch203,
-&ch204,
-&ch205,
-&ch206,
-&ch207,
-&ch208,
-&ch209,
-&ch210,
-&ch211,
-&ch212,
-&ch213,
-&ch214,
-&ch215,
-&ch216,
-&ch217,
-&ch218,
-&ch219,
-&ch220,
-&ch221,
-&ch222,
-&ch223,
-&ch224,
-&ch225,
-&ch226,
-&ch227,
-&ch228,
-&ch229,
-&ch230,
-&ch231,
-&ch232,
-&ch233,
-&ch234,
-&ch235,
-&ch236,
-&ch237,
-&ch238,
-&ch239,
-&ch240,
-&ch241,
-&ch242,
-&ch243,
-&ch244,
-&ch245,
-&ch246,
-&ch247,
-&ch248,
-&ch249,
-&ch250,
-&ch251,
-&ch252,
-&ch253,
-&ch254,
-&ch255,
-};
-
-#if !defined(__IBMCPP__)
-const
-#endif
-BitmapFontRec glutBitmapHelvetica18 = {
-"-adobe-helvetica-medium-r-normal--18-180-75-75-p-98-iso8859-1",
-224,
-32,
-chars
-};
-
diff --git a/src/glut/os2/glut_init.cpp b/src/glut/os2/glut_init.cpp
deleted file mode 100644
index 9e9f2e366e..0000000000
--- a/src/glut/os2/glut_init.cpp
+++ /dev/null
@@ -1,451 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994, 1997. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#ifdef __VMS
-#include <GL/vms_x_fix.h>
-#endif
-
-#include <stdlib.h>
-#include <string.h>
-#include <stdio.h>
-
-#if !defined(_WIN32) && !defined(__OS2__)
- #include <X11/Xlib.h>
- #include <X11/Xatom.h>
-#endif
-
-/* SGI optimization introduced in IRIX 6.3 to avoid X server
- round trips for interning common X atoms. */
-#if defined(_SGI_EXTRA_PREDEFINES) && !defined(NO_FAST_ATOMS)
-#include <X11/SGIFastAtom.h>
-#else
-#define XSGIFastInternAtom(dpy,string,fast_name,how) XInternAtom(dpy,string,how)
-#endif
-
-#include "glutint.h"
-
-/* GLUT inter-file variables */
-/* *INDENT-OFF* */
-char *__glutProgramName = NULL;
-int __glutArgc = 0;
-char **__glutArgv = NULL;
-char *__glutGeometry = NULL;
-Display *__glutDisplay = NULL;
-int __glutScreen;
-Window __glutRoot;
-int __glutScreenHeight;
-int __glutScreenWidth;
-GLboolean __glutIconic = GL_FALSE;
-GLboolean __glutDebug = GL_FALSE;
-unsigned int __glutDisplayMode =
- GLUT_RGB | GLUT_SINGLE | GLUT_DEPTH;
-char *__glutDisplayString = NULL;
-int __glutConnectionFD;
-XSizeHints __glutSizeHints = {0};
-int __glutInitWidth = 300, __glutInitHeight = 300;
-int __glutInitX = -1, __glutInitY = -1;
-GLboolean __glutForceDirect = GL_FALSE,
- __glutTryDirect = GL_TRUE;
-Atom __glutWMDeleteWindow;
-/* *INDENT-ON* */
-
-#ifdef _WIN32
-void (__cdecl *__glutExitFunc)(int retval) = NULL;
-#endif
-
-static Bool synchronize = False;
-
-#if defined(__OS2__)
-
-MRESULT EXPENTRY GlutWindowProc( HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2 );
-MRESULT EXPENTRY GlutWindowChildProc( HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2 );
-
-
-void __glutOpenOS2Connection(char* display)
-{
- static char *classname=NULL;
-extern HAB hab; /* PM anchor block handle */
-ERRORID erridErrorCode;/* last error id code */
-int ii;
-
- /* Make sure we register the window only once. */
- if(classname)
- return;
-
- classname = "GLUT";
-
- if ( !WinRegisterClass( hab, /* PM anchor block handle */
- classname,/* window class name */
- GlutWindowProc,/* address of window procedure*/
- CS_SIZEREDRAW, /* |CS_SYNCPAINT size changes cause redrawing */
- 0UL ) ) /* window data */
- { erridErrorCode = WinGetLastError(hab);
- ii = erridErrorCode;
- return;
- }
-
- classname = "GLUTCHILD";
-
- if ( !WinRegisterClass( hab, /* PM anchor block handle */
- classname,/* window class name */
- GlutWindowChildProc,/* address of window procedure*/
- CS_SIZEREDRAW, /* size changes cause redrawing */
- 0UL ) ) /* window data */
- { erridErrorCode = WinGetLastError(hab);
- ii = erridErrorCode;
- return;
- }
-
- __glutScreenWidth = GetSystemMetrics(SM_CXSCREEN);
- __glutScreenHeight = GetSystemMetrics(SM_CYSCREEN);
-
- /* Set the root window to NULL because windows creates a top-level
- window when the parent is NULL. X creates a top-level window
- when the parent is the root window. */
- __glutRoot = NULLHANDLE;
-
- /* Set the display to 1 -- we shouldn't be using this anywhere
- (except as an argument to X calls). */
- __glutDisplay = (Display*)1;
-
- /* There isn't any concept of multiple screens in Win32, therefore,
- we don't need to keep track of the screen we're on... it's always
- the same one. */
- __glutScreen = 0;
-}
-
-#elif defined(_WIN32)
-
-#ifdef __BORLANDC__
-#include <float.h> /* For masking floating point exceptions. */
-#endif
-
-void
-__glutOpenWin32Connection(char* display)
-{
- static char *classname;
- WNDCLASS wc;
- HINSTANCE hInstance = GetModuleHandle(NULL);
-
- /* Make sure we register the window only once. */
- if(classname)
- return;
-
-#ifdef __BORLANDC__
- /* Under certain conditions (e.g. while rendering solid surfaces with
- lighting enabled) Microsoft OpenGL libraries cause some illegal
- operations like floating point overflow or division by zero. The
- default behaviour of Microsoft compilers is to mask (ignore)
- floating point exceptions, while Borland compilers do not. The
- following function of Borland RTL allows to mask exceptions.
- Advice from Pier Giorgio Esposito (mc2172@mclink.it). */
- _control87(MCW_EM,MCW_EM);
-#endif
-
- classname = "GLUT";
-
- /* Clear (important!) and then fill in the window class structure. */
- memset(&wc, 0, sizeof(WNDCLASS));
- wc.style = CS_OWNDC;
- wc.lpfnWndProc = (WNDPROC)__glutWindowProc;
- wc.hInstance = hInstance;
- wc.hIcon = LoadIcon(hInstance, "GLUT_ICON");
- wc.hCursor = LoadCursor(hInstance, IDC_ARROW);
- wc.hbrBackground = NULL;
- wc.lpszMenuName = NULL;
- wc.lpszClassName = classname;
-
- /* Fill in a default icon if one isn't specified as a resource. */
- if(!wc.hIcon)
- wc.hIcon = LoadIcon(NULL, IDI_WINLOGO);
-
- if(!RegisterClass(&wc)) {
- __glutFatalError("RegisterClass() failed:"
- "Cannot register GLUT window class.");
- }
-
- __glutScreenWidth = GetSystemMetrics(SM_CXSCREEN);
- __glutScreenHeight = GetSystemMetrics(SM_CYSCREEN);
-
- /* Set the root window to NULL because windows creates a top-level
- window when the parent is NULL. X creates a top-level window
- when the parent is the root window. */
- __glutRoot = NULL;
-
- /* Set the display to 1 -- we shouldn't be using this anywhere
- (except as an argument to X calls). */
- __glutDisplay = (Display*)1;
-
- /* There isn't any concept of multiple screens in Win32, therefore,
- we don't need to keep track of the screen we're on... it's always
- the same one. */
- __glutScreen = 0;
-}
-#else /* !_WIN32 */
-void
-__glutOpenXConnection(char *display)
-{
- int errorBase, eventBase;
-
- __glutDisplay = XOpenDisplay(display);
- if (!__glutDisplay)
- __glutFatalError("could not open display: %s",
- XDisplayName(display));
- if (synchronize)
- XSynchronize(__glutDisplay, True);
- if (!glXQueryExtension(__glutDisplay, &errorBase, &eventBase))
- __glutFatalError(
- "OpenGL GLX extension not supported by display: %s",
- XDisplayName(display));
- __glutScreen = DefaultScreen(__glutDisplay);
- __glutRoot = RootWindow(__glutDisplay, __glutScreen);
- __glutScreenWidth = DisplayWidth(__glutDisplay, __glutScreen);
- __glutScreenHeight = DisplayHeight(__glutDisplay,
- __glutScreen);
- __glutConnectionFD = ConnectionNumber(__glutDisplay);
- __glutWMDeleteWindow = XSGIFastInternAtom(__glutDisplay,
- "WM_DELETE_WINDOW", SGI_XA_WM_DELETE_WINDOW, False);
-}
-#endif /* _WIN32 */
-
-void
-#ifdef OLD_VMS
- __glutInitTime(struct timeval6 *beginning)
-#else
- __glutInitTime(struct timeval *beginning)
-#endif
-{
- static int beenhere = 0;
-#ifdef OLD_VMS
- static struct timeval6 genesis;
-#else
- static struct timeval genesis;
-#endif
-
- if (!beenhere) {
- GETTIMEOFDAY(&genesis);
- beenhere = 1;
- }
- *beginning = genesis;
-}
-
-static void
-removeArgs(int *argcp, char **argv, int numToRemove)
-{
- int i, j;
-
- for (i = 0, j = numToRemove; argv[j]; i++, j++) {
- argv[i] = argv[j];
- }
- argv[i] = NULL;
- *argcp -= numToRemove;
-}
-
-void GLUTAPIENTRY
-glutInit(int *argcp, char **argv)
-{
- char *display = NULL;
- char *str, *geometry = NULL;
-#ifdef OLD_VMS
- struct timeval6 unused;
-#else
- struct timeval unused;
-#endif
- int i;
-
- if (__glutDisplay) {
- __glutWarning("glutInit being called a second time.");
- return;
- }
- /* Determine temporary program name. */
- str = strrchr(argv[0], '/');
- if (str == NULL) {
- __glutProgramName = argv[0];
- } else {
- __glutProgramName = str + 1;
- }
-
- /* Make private copy of command line arguments. */
- __glutArgc = *argcp;
- __glutArgv = (char **) malloc(__glutArgc * sizeof(char *));
- if (!__glutArgv)
- __glutFatalError("out of memory.");
- for (i = 0; i < __glutArgc; i++) {
- __glutArgv[i] = __glutStrdup(argv[i]);
- if (!__glutArgv[i])
- __glutFatalError("out of memory.");
- }
-
- /* determine permanent program name */
- str = strrchr(__glutArgv[0], '/');
- if (str == NULL) {
- __glutProgramName = __glutArgv[0];
- } else {
- __glutProgramName = str + 1;
- }
-
- /* parse arguments for standard options */
- for (i = 1; i < __glutArgc; i++) {
- if (!strcmp(__glutArgv[i], "-display")) {
-#if defined(_WIN32)
- __glutWarning("-display option not supported by Win32 GLUT.");
-#endif
- if (++i >= __glutArgc) {
- __glutFatalError(
- "follow -display option with X display name.");
- }
- display = __glutArgv[i];
- removeArgs(argcp, &argv[1], 2);
- } else if (!strcmp(__glutArgv[i], "-geometry")) {
- if (++i >= __glutArgc) {
- __glutFatalError(
- "follow -geometry option with geometry parameter.");
- }
- geometry = __glutArgv[i];
- removeArgs(argcp, &argv[1], 2);
- } else if (!strcmp(__glutArgv[i], "-direct")) {
-#if defined(_WIN32)
- __glutWarning("-direct option not supported by Win32 GLUT.");
-#endif
- if (!__glutTryDirect)
- __glutFatalError(
- "cannot force both direct and indirect rendering.");
- __glutForceDirect = GL_TRUE;
- removeArgs(argcp, &argv[1], 1);
- } else if (!strcmp(__glutArgv[i], "-indirect")) {
-#if defined(_WIN32)
- __glutWarning("-indirect option not supported by Win32 GLUT.");
-#endif
- if (__glutForceDirect)
- __glutFatalError(
- "cannot force both direct and indirect rendering.");
- __glutTryDirect = GL_FALSE;
- removeArgs(argcp, &argv[1], 1);
- } else if (!strcmp(__glutArgv[i], "-iconic")) {
- __glutIconic = GL_TRUE;
- removeArgs(argcp, &argv[1], 1);
- } else if (!strcmp(__glutArgv[i], "-gldebug")) {
- __glutDebug = GL_TRUE;
- removeArgs(argcp, &argv[1], 1);
- } else if (!strcmp(__glutArgv[i], "-sync")) {
-#if defined(_WIN32)
- __glutWarning("-sync option not supported by Win32 GLUT.");
-#endif
- synchronize = GL_TRUE;
- removeArgs(argcp, &argv[1], 1);
- } else {
- /* Once unknown option encountered, stop command line
- processing. */
- break;
- }
- }
-#if defined(__OS2__)
- __glutOpenOS2Connection(display);
-#elif defined(_WIN32)
- __glutOpenWin32Connection(display);
-#else
- __glutOpenXConnection(display);
-#endif
- if (geometry) {
- int flags, x, y, width, height;
-
- /* Fix bogus "{width|height} may be used before set"
- warning */
- width = 0;
- height = 0;
-
- flags = XParseGeometry(geometry, &x, &y,
- (unsigned int *) &width, (unsigned int *) &height);
- if (WidthValue & flags) {
- /* Careful because X does not allow zero or negative
- width windows */
- if (width > 0)
- __glutInitWidth = width;
- }
- if (HeightValue & flags) {
- /* Careful because X does not allow zero or negative
- height windows */
- if (height > 0)
- __glutInitHeight = height;
- }
- glutInitWindowSize(__glutInitWidth, __glutInitHeight);
- if (XValue & flags) {
- if (XNegative & flags)
- x = DisplayWidth(__glutDisplay, __glutScreen) +
- x - __glutSizeHints.width;
- /* Play safe: reject negative X locations */
- if (x >= 0)
- __glutInitX = x;
- }
- if (YValue & flags) {
- if (YNegative & flags)
- y = DisplayHeight(__glutDisplay, __glutScreen) +
- y - __glutSizeHints.height;
- /* Play safe: reject negative Y locations */
- if (y >= 0)
- __glutInitY = y;
- }
- glutInitWindowPosition(__glutInitX, __glutInitY);
- }
- __glutInitTime(&unused);
-
- /* check if GLUT_FPS env var is set */
- {
- const char *fps = getenv("GLUT_FPS");
- if (fps) {
- sscanf(fps, "%d", &__glutFPS);
- if (__glutFPS <= 0)
- __glutFPS = 5000; /* 5000 milliseconds */
- }
- }
-}
-
-#ifdef _WIN32
-void APIENTRY
-__glutInitWithExit(int *argcp, char **argv, void (__cdecl *exitfunc)(int))
-{
- __glutExitFunc = exitfunc;
- glutInit(argcp, argv);
-}
-#endif
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutInitWindowPosition(int x, int y)
-{
- __glutInitX = x;
- __glutInitY = y;
- if (x >= 0 && y >= 0) {
- __glutSizeHints.x = x;
- __glutSizeHints.y = y;
- __glutSizeHints.flags |= USPosition;
- } else {
- __glutSizeHints.flags &= ~USPosition;
- }
-}
-
-void GLUTAPIENTRY
-glutInitWindowSize(int width, int height)
-{
- __glutInitWidth = width;
- __glutInitHeight = height;
- if (width > 0 && height > 0) {
- __glutSizeHints.width = width;
- __glutSizeHints.height = height;
- __glutSizeHints.flags |= USSize;
- } else {
- __glutSizeHints.flags &= ~USSize;
- }
-}
-
-void GLUTAPIENTRY
-glutInitDisplayMode(unsigned int mask)
-{
- __glutDisplayMode = mask;
-}
-
-/* ENDCENTRY */
diff --git a/src/glut/os2/glut_input.cpp b/src/glut/os2/glut_input.cpp
deleted file mode 100644
index e65b691cb1..0000000000
--- a/src/glut/os2/glut_input.cpp
+++ /dev/null
@@ -1,628 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994, 1997, 1998. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include <assert.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "glutint.h"
-#define POFIG 0
-#if POFIG
-
-int __glutNumDials = 0;
-int __glutNumSpaceballButtons = 0;
-int __glutNumButtonBoxButtons = 0;
-int __glutNumTabletButtons = 0;
-int __glutNumMouseButtons = 3; /* Good guess. */
-XDevice *__glutTablet = NULL;
-XDevice *__glutDials = NULL;
-XDevice *__glutSpaceball = NULL;
-
-int __glutHasJoystick = 0;
-int __glutNumJoystickButtons = 0;
-int __glutNumJoystickAxes = 0;
-
-#if !defined(_WIN32)
-typedef struct _Range {
- int min;
- int range;
-} Range;
-
-#define NUM_SPACEBALL_AXIS 6
-#define NUM_TABLET_AXIS 2
-#define NUM_DIALS_AXIS 8
-
-Range __glutSpaceballRange[NUM_SPACEBALL_AXIS];
-Range __glutTabletRange[NUM_TABLET_AXIS];
-int *__glutDialsResolution;
-
-/* Safely assumes 0 is an illegal event type for X Input
- extension events. */
-int __glutDeviceMotionNotify = 0;
-int __glutDeviceButtonPress = 0;
-int __glutDeviceButtonPressGrab = 0;
-int __glutDeviceButtonRelease = 0;
-int __glutDeviceStateNotify = 0;
-
-static int
-normalizeTabletPos(int axis, int rawValue)
-{
- assert(rawValue >= __glutTabletRange[axis].min);
- assert(rawValue <= __glutTabletRange[axis].min
- + __glutTabletRange[axis].range);
- /* Normalize rawValue to between 0 and 4000. */
- return ((rawValue - __glutTabletRange[axis].min) * 4000) /
- __glutTabletRange[axis].range;
-}
-
-static int
-normalizeDialAngle(int axis, int rawValue)
-{
- /* XXX Assumption made that the resolution of the device is
- number of clicks for one complete dial revolution. This
- is true for SGI's dial & button box. */
- return (rawValue * 360.0) / __glutDialsResolution[axis];
-}
-
-static int
-normalizeSpaceballAngle(int axis, int rawValue)
-{
- assert(rawValue >= __glutSpaceballRange[axis].min);
- assert(rawValue <= __glutSpaceballRange[axis].min +
- __glutSpaceballRange[axis].range);
- /* Normalize rawValue to between -1800 and 1800. */
- return ((rawValue - __glutSpaceballRange[axis].min) * 3600) /
- __glutSpaceballRange[axis].range - 1800;
-}
-
-static int
-normalizeSpaceballDelta(int axis, int rawValue)
-{
- assert(rawValue >= __glutSpaceballRange[axis].min);
- assert(rawValue <= __glutSpaceballRange[axis].min +
- __glutSpaceballRange[axis].range);
- /* Normalize rawValue to between -1000 and 1000. */
- return ((rawValue - __glutSpaceballRange[axis].min) * 2000) /
- __glutSpaceballRange[axis].range - 1000;
-}
-
-static void
-queryTabletPos(GLUTwindow * window)
-{
- XDeviceState *state;
- XInputClass *any;
- XValuatorState *v;
- int i;
-
- state = XQueryDeviceState(__glutDisplay, __glutTablet);
- any = state->data;
- for (i = 0; i < state->num_classes; i++) {
-#if defined(__cplusplus) || defined(c_plusplus)
- switch (any->c_class) {
-#else
- switch (any->class) {
-#endif
- case ValuatorClass:
- v = (XValuatorState *) any;
- if (v->num_valuators < 2)
- goto end;
- if (window->tabletPos[0] == -1)
- window->tabletPos[0] = normalizeTabletPos(0, v->valuators[0]);
- if (window->tabletPos[1] == -1)
- window->tabletPos[1] = normalizeTabletPos(1, v->valuators[1]);
- }
- any = (XInputClass *) ((char *) any + any->length);
- }
-end:
- XFreeDeviceState(state);
-}
-
-static void
-tabletPosChange(GLUTwindow * window, int first, int count, int *data)
-{
- int i, value, genEvent = 0;
-
- for (i = first; i < first + count; i++) {
- switch (i) {
- case 0: /* X axis */
- case 1: /* Y axis */
- value = normalizeTabletPos(i, data[i - first]);
- if (value != window->tabletPos[i]) {
- window->tabletPos[i] = value;
- genEvent = 1;
- }
- break;
- }
- }
- if (window->tabletPos[0] == -1 || window->tabletPos[1] == -1)
- queryTabletPos(window);
- if (genEvent)
- window->tabletMotion(window->tabletPos[0], window->tabletPos[1]);
-}
-#endif /* !_WIN32 */
-
-static int
-__glutProcessDeviceEvents(XEvent * event)
-{
-#if !defined(_WIN32)
- GLUTwindow *window;
-
- /* XXX Ugly code fan out. */
-
- /* Can't use switch/case since X Input event types are
- dynamic. */
-
- if (__glutDeviceMotionNotify && event->type == __glutDeviceMotionNotify) {
- XDeviceMotionEvent *devmot = (XDeviceMotionEvent *) event;
-
- window = __glutGetWindow(devmot->window);
- if (window) {
- if (__glutTablet
- && devmot->deviceid == __glutTablet->device_id
- && window->tabletMotion) {
- tabletPosChange(window, devmot->first_axis, devmot->axes_count,
- devmot->axis_data);
- } else if (__glutDials
- && devmot->deviceid == __glutDials->device_id
- && window->dials) {
- int i, first = devmot->first_axis, count = devmot->axes_count;
-
- for (i = first; i < first + count; i++)
- window->dials(i + 1,
- normalizeDialAngle(i, devmot->axis_data[i - first]));
- } else if (__glutSpaceball
- && devmot->deviceid == __glutSpaceball->device_id) {
- /* XXX Assume that space ball motion events come in as
- all the first 6 axes. Assume first 3 axes are XYZ
- translations; second 3 axes are XYZ rotations. */
- if (devmot->first_axis == 0 && devmot->axes_count == 6) {
- if (window->spaceMotion)
- window->spaceMotion(
- normalizeSpaceballDelta(0, devmot->axis_data[0]),
- normalizeSpaceballDelta(1, devmot->axis_data[1]),
- normalizeSpaceballDelta(2, devmot->axis_data[2]));
- if (window->spaceRotate)
- window->spaceRotate(
- normalizeSpaceballAngle(3, devmot->axis_data[3]),
- normalizeSpaceballAngle(4, devmot->axis_data[4]),
- normalizeSpaceballAngle(5, devmot->axis_data[5]));
- }
- }
- return 1;
- }
- } else if (__glutDeviceButtonPress
- && event->type == __glutDeviceButtonPress) {
- XDeviceButtonEvent *devbtn = (XDeviceButtonEvent *) event;
-
- window = __glutGetWindow(devbtn->window);
- if (window) {
- if (__glutTablet
- && devbtn->deviceid == __glutTablet->device_id
- && window->tabletButton
- && devbtn->first_axis == 0
- && devbtn->axes_count == 2) {
- tabletPosChange(window, devbtn->first_axis, devbtn->axes_count,
- devbtn->axis_data);
- window->tabletButton(devbtn->button, GLUT_DOWN,
- window->tabletPos[0], window->tabletPos[1]);
- } else if (__glutDials
- && devbtn->deviceid == __glutDials->device_id
- && window->buttonBox) {
- window->buttonBox(devbtn->button, GLUT_DOWN);
- } else if (__glutSpaceball
- && devbtn->deviceid == __glutSpaceball->device_id
- && window->spaceButton) {
- window->spaceButton(devbtn->button, GLUT_DOWN);
- }
- return 1;
- }
- } else if (__glutDeviceButtonRelease
- && event->type == __glutDeviceButtonRelease) {
- XDeviceButtonEvent *devbtn = (XDeviceButtonEvent *) event;
-
- window = __glutGetWindow(devbtn->window);
- if (window) {
- if (__glutTablet
- && devbtn->deviceid == __glutTablet->device_id
- && window->tabletButton
- && devbtn->first_axis == 0
- && devbtn->axes_count == 2) {
- tabletPosChange(window, devbtn->first_axis, devbtn->axes_count,
- devbtn->axis_data);
- window->tabletButton(devbtn->button, GLUT_UP,
- window->tabletPos[0], window->tabletPos[1]);
- } else if (__glutDials
- && devbtn->deviceid == __glutDials->device_id
- && window->buttonBox) {
- window->buttonBox(devbtn->button, GLUT_UP);
- } else if (__glutSpaceball
- && devbtn->deviceid == __glutSpaceball->device_id
- && window->spaceButton) {
- window->spaceButton(devbtn->button, GLUT_UP);
- }
- return 1;
- }
- }
-#else
- {
- JOYINFOEX info;
- JOYCAPS joyCaps;
-
- memset(&info, 0, sizeof(JOYINFOEX));
- info.dwSize = sizeof(JOYINFOEX);
- info.dwFlags = JOY_RETURNALL;
-
- if (joyGetPosEx(JOYSTICKID1,&info) != JOYERR_NOERROR) {
- __glutHasJoystick = 1;
- joyGetDevCaps(JOYSTICKID1, &joyCaps, sizeof(joyCaps));
- __glutNumJoystickButtons = joyCaps.wNumButtons;
- __glutNumJoystickAxes = joyCaps.wNumAxes;
- } else {
- __glutHasJoystick = 0;
- __glutNumJoystickButtons = 0;
- __glutNumJoystickAxes = 0;
- }
- }
-#endif /* !_WIN32 */
- return 0;
-}
-
-static GLUTeventParser eventParser =
-{__glutProcessDeviceEvents, NULL};
-
-static void
-addDeviceEventParser(void)
-{
- static Bool been_here = False;
-
- if (been_here)
- return;
- been_here = True;
- __glutRegisterEventParser(&eventParser);
-}
-
-static int
-probeDevices(void)
-{
- static Bool been_here = False;
- static int support;
-#if !defined(_WIN32)
- XExtensionVersion *version;
- XDeviceInfoPtr device_info, device;
- XAnyClassPtr any;
- XButtonInfoPtr b;
- XValuatorInfoPtr v;
- XAxisInfoPtr a;
- int num_dev = 0, btns = 0, dials = 0;
- int i, j, k;
-#endif /* !_WIN32 */
-
- if (been_here) {
- return support;
- }
- been_here = True;
-
-#if !defined(_WIN32)
- version = XGetExtensionVersion(__glutDisplay, "XInputExtension");
- /* Ugh. XInput extension API forces annoying cast of a pointer
- to a long so it can be compared with the NoSuchExtension
- value (#defined to 1). */
- if (version == NULL || ((long) version) == NoSuchExtension) {
- support = 0;
- return support;
- }
- XFree(version);
- device_info = XListInputDevices(__glutDisplay, &num_dev);
- if (device_info) {
- for (i = 0; i < num_dev; i++) {
- /* XXX These are SGI names for these devices;
- unfortunately, no good standard exists for standard
- types of X input extension devices. */
-
- device = &device_info[i];
- any = (XAnyClassPtr) device->inputclassinfo;
-
- if (!__glutSpaceball && !strcmp(device->name, "spaceball")) {
- v = NULL;
- b = NULL;
- for (j = 0; j < device->num_classes; j++) {
-#if defined(__cplusplus) || defined(c_plusplus)
- switch (any->c_class) {
-#else
- switch (any->class) {
-#endif
- case ButtonClass:
- b = (XButtonInfoPtr) any;
- btns = b->num_buttons;
- break;
- case ValuatorClass:
- v = (XValuatorInfoPtr) any;
- /* Sanity check: at least 6 valuators? */
- if (v->num_axes < NUM_SPACEBALL_AXIS)
- goto skip_device;
- a = (XAxisInfoPtr) ((char *) v + sizeof(XValuatorInfo));
- for (k = 0; k < NUM_SPACEBALL_AXIS; k++, a++) {
- __glutSpaceballRange[k].min = a->min_value;
- __glutSpaceballRange[k].range = a->max_value - a->min_value;
- }
- break;
- }
- any = (XAnyClassPtr) ((char *) any + any->length);
- }
- if (v) {
- __glutSpaceball = XOpenDevice(__glutDisplay, device->id);
- if (__glutSpaceball) {
- __glutNumSpaceballButtons = btns;
- addDeviceEventParser();
- }
- }
- } else if (!__glutDials && !strcmp(device->name, "dial+buttons")) {
- v = NULL;
- b = NULL;
- for (j = 0; j < device->num_classes; j++) {
-#if defined(__cplusplus) || defined(c_plusplus)
- switch (any->c_class) {
-#else
- switch (any->class) {
-#endif
- case ButtonClass:
- b = (XButtonInfoPtr) any;
- btns = b->num_buttons;
- break;
- case ValuatorClass:
- v = (XValuatorInfoPtr) any;
- /* Sanity check: at least 8 valuators? */
- if (v->num_axes < NUM_DIALS_AXIS)
- goto skip_device;
- dials = v->num_axes;
- __glutDialsResolution = (int *) malloc(sizeof(int) * dials);
- a = (XAxisInfoPtr) ((char *) v + sizeof(XValuatorInfo));
- for (k = 0; k < dials; k++, a++) {
- __glutDialsResolution[k] = a->resolution;
- }
- break;
- }
- any = (XAnyClassPtr) ((char *) any + any->length);
- }
- if (v) {
- __glutDials = XOpenDevice(__glutDisplay, device->id);
- if (__glutDials) {
- __glutNumButtonBoxButtons = btns;
- __glutNumDials = dials;
- addDeviceEventParser();
- }
- }
- } else if (!__glutTablet && !strcmp(device->name, "tablet")) {
- v = NULL;
- b = NULL;
- for (j = 0; j < device->num_classes; j++) {
-#if defined(__cplusplus) || defined(c_plusplus)
- switch (any->c_class) {
-#else
- switch (any->class) {
-#endif
- case ButtonClass:
- b = (XButtonInfoPtr) any;
- btns = b->num_buttons;
- break;
- case ValuatorClass:
- v = (XValuatorInfoPtr) any;
- /* Sanity check: exactly 2 valuators? */
- if (v->num_axes != NUM_TABLET_AXIS)
- goto skip_device;
- a = (XAxisInfoPtr) ((char *) v + sizeof(XValuatorInfo));
- for (k = 0; k < NUM_TABLET_AXIS; k++, a++) {
- __glutTabletRange[k].min = a->min_value;
- __glutTabletRange[k].range = a->max_value - a->min_value;
- }
- break;
- }
- any = (XAnyClassPtr) ((char *) any + any->length);
- }
- if (v) {
- __glutTablet = XOpenDevice(__glutDisplay, device->id);
- if (__glutTablet) {
- __glutNumTabletButtons = btns;
- addDeviceEventParser();
- }
- }
- } else if (!strcmp(device->name, "mouse")) {
- for (j = 0; j < device->num_classes; j++) {
-#if defined(__cplusplus) || defined(c_plusplus)
- if (any->c_class == ButtonClass) {
-#else
- if (any->class == ButtonClass) {
-#endif
- b = (XButtonInfoPtr) any;
- __glutNumMouseButtons = b->num_buttons;
- }
- any = (XAnyClassPtr) ((char *) any + any->length);
- }
- }
- skip_device:;
- }
- XFreeDeviceList(device_info);
- }
-#else /* _WIN32 */
- __glutNumMouseButtons = GetSystemMetrics(SM_CMOUSEBUTTONS);
-#endif /* !_WIN32 */
- /* X Input extension might be supported, but only if there is
- a tablet, dials, or spaceball do we claim devices are
- supported. */
- support = __glutTablet || __glutDials || __glutSpaceball;
- return support;
-}
-
-void
-__glutUpdateInputDeviceMask(GLUTwindow * window)
-{
-#if !defined(_WIN32)
- /* 5 (dial and buttons) + 5 (tablet locator and buttons) + 5
- (Spaceball buttons and axis) = 15 */
- XEventClass eventList[15];
- int rc, numEvents;
-
- rc = probeDevices();
- if (rc) {
- numEvents = 0;
- if (__glutTablet) {
- if (window->tabletMotion) {
- DeviceMotionNotify(__glutTablet, __glutDeviceMotionNotify,
- eventList[numEvents]);
- numEvents++;
- }
- if (window->tabletButton) {
- DeviceButtonPress(__glutTablet, __glutDeviceButtonPress,
- eventList[numEvents]);
- numEvents++;
- DeviceButtonPressGrab(__glutTablet, __glutDeviceButtonPressGrab,
- eventList[numEvents]);
- numEvents++;
- DeviceButtonRelease(__glutTablet, __glutDeviceButtonRelease,
- eventList[numEvents]);
- numEvents++;
- }
- if (window->tabletMotion || window->tabletButton) {
- DeviceStateNotify(__glutTablet, __glutDeviceStateNotify,
- eventList[numEvents]);
- numEvents++;
- }
- }
- if (__glutDials) {
- if (window->dials) {
- DeviceMotionNotify(__glutDials, __glutDeviceMotionNotify,
- eventList[numEvents]);
- numEvents++;
- }
- if (window->buttonBox) {
- DeviceButtonPress(__glutDials, __glutDeviceButtonPress,
- eventList[numEvents]);
- numEvents++;
- DeviceButtonPressGrab(__glutDials, __glutDeviceButtonPressGrab,
- eventList[numEvents]);
- numEvents++;
- DeviceButtonRelease(__glutDials, __glutDeviceButtonRelease,
- eventList[numEvents]);
- numEvents++;
- }
- if (window->dials || window->buttonBox) {
- DeviceStateNotify(__glutDials, __glutDeviceStateNotify,
- eventList[numEvents]);
- numEvents++;
- }
- }
- if (__glutSpaceball) {
- if (window->spaceMotion || window->spaceRotate) {
- DeviceMotionNotify(__glutSpaceball, __glutDeviceMotionNotify,
- eventList[numEvents]);
- numEvents++;
- }
- if (window->spaceButton) {
- DeviceButtonPress(__glutSpaceball, __glutDeviceButtonPress,
- eventList[numEvents]);
- numEvents++;
- DeviceButtonPressGrab(__glutSpaceball, __glutDeviceButtonPressGrab,
- eventList[numEvents]);
- numEvents++;
- DeviceButtonRelease(__glutSpaceball, __glutDeviceButtonRelease,
- eventList[numEvents]);
- numEvents++;
- }
- if (window->spaceMotion || window->spaceRotate || window->spaceButton) {
- DeviceStateNotify(__glutSpaceball, __glutDeviceStateNotify,
- eventList[numEvents]);
- numEvents++;
- }
- }
-#if 0
- if (window->children) {
- GLUTwindow *child = window->children;
-
- do {
- XChangeDeviceDontPropagateList(__glutDisplay, child->win,
- numEvents, eventList, AddToList);
- child = child->siblings;
- } while (child);
- }
-#endif
- XSelectExtensionEvent(__glutDisplay, window->win,
- eventList, numEvents);
- if (window->overlay) {
- XSelectExtensionEvent(__glutDisplay, window->overlay->win,
- eventList, numEvents);
- }
- } else {
- /* X Input extension not supported; no chance for exotic
- input devices. */
- }
-#endif /* !_WIN32 */
-}
-
-#endif //POFIG
-
-/* CENTRY */
-int GLUTAPIENTRY
-glutDeviceGet(GLenum param)
-{
-#if POFIG
- probeDevices();
-#endif
- switch (param) {
- case GLUT_HAS_KEYBOARD:
- case GLUT_HAS_MOUSE:
- /* Assume window system always has mouse and keyboard. */
- return 1;
-#if POFIG
- case GLUT_HAS_SPACEBALL:
- return __glutSpaceball != NULL;
- case GLUT_HAS_DIAL_AND_BUTTON_BOX:
- return __glutDials != NULL;
- case GLUT_HAS_TABLET:
- return __glutTablet != NULL;
- case GLUT_NUM_MOUSE_BUTTONS:
- return __glutNumMouseButtons;
- case GLUT_NUM_SPACEBALL_BUTTONS:
- return __glutNumSpaceballButtons;
- case GLUT_NUM_BUTTON_BOX_BUTTONS:
- return __glutNumButtonBoxButtons;
- case GLUT_NUM_DIALS:
- return __glutNumDials;
- case GLUT_NUM_TABLET_BUTTONS:
- return __glutNumTabletButtons;
- case GLUT_DEVICE_IGNORE_KEY_REPEAT:
- return __glutCurrentWindow->ignoreKeyRepeat;
-#ifndef _WIN32
- case GLUT_DEVICE_KEY_REPEAT:
- {
- XKeyboardState state;
-
- XGetKeyboardControl(__glutDisplay, &state);
- return state.global_auto_repeat;
- }
- case GLUT_JOYSTICK_POLL_RATE:
- return 0;
-#else
- case GLUT_DEVICE_KEY_REPEAT:
- /* Win32 cannot globally disable key repeat. */
- return GLUT_KEY_REPEAT_ON;
- case GLUT_JOYSTICK_POLL_RATE:
- return __glutCurrentWindow->joyPollInterval;
-#endif
- case GLUT_HAS_JOYSTICK:
- return __glutHasJoystick;
- case GLUT_JOYSTICK_BUTTONS:
- return __glutNumJoystickButtons;
- case GLUT_JOYSTICK_AXES:
- return __glutNumJoystickAxes;
-#endif //POFIG
- default:
- __glutWarning("invalid glutDeviceGet parameter: %d", param);
- return -1;
- }
-}
-/* ENDCENTRY */
diff --git a/src/glut/os2/glut_key.cpp b/src/glut/os2/glut_key.cpp
deleted file mode 100644
index 3e1f7e52c1..0000000000
--- a/src/glut/os2/glut_key.cpp
+++ /dev/null
@@ -1,29 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1997. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include <stdlib.h>
-
-#include "glutint.h"
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutKeyboardFunc(GLUTkeyboardCB keyboardFunc)
-{
- __glutChangeWindowEventMask(KeyPressMask,
- keyboardFunc != NULL || __glutCurrentWindow->special != NULL);
- __glutCurrentWindow->keyboard = keyboardFunc;
-}
-
-void GLUTAPIENTRY
-glutSpecialFunc(GLUTspecialCB specialFunc)
-{
- __glutChangeWindowEventMask(KeyPressMask,
- specialFunc != NULL || __glutCurrentWindow->keyboard != NULL);
- __glutCurrentWindow->special = specialFunc;
-}
-
-/* ENDCENTRY */
diff --git a/src/glut/os2/glut_keyctrl.cpp b/src/glut/os2/glut_keyctrl.cpp
deleted file mode 100644
index ddac630509..0000000000
--- a/src/glut/os2/glut_keyctrl.cpp
+++ /dev/null
@@ -1,29 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1996, 1997. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include "glutint.h"
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutIgnoreKeyRepeat(int ignore)
-{
- __glutCurrentWindow->ignoreKeyRepeat = ignore;
-}
-
-void GLUTAPIENTRY
-glutSetKeyRepeat(int repeatMode)
-{
-#if !defined(_WIN32) && !defined(__OS2PM__)
- XKeyboardControl values;
-
- /* GLUT's repeatMode #define's match the Xlib API values. */
- values.auto_repeat_mode = repeatMode;
- XChangeKeyboardControl(__glutDisplay, KBAutoRepeatMode, &values);
-#endif
-}
-
-/* ENDCENTRY */
diff --git a/src/glut/os2/glut_keyup.cpp b/src/glut/os2/glut_keyup.cpp
deleted file mode 100644
index c33770f1be..0000000000
--- a/src/glut/os2/glut_keyup.cpp
+++ /dev/null
@@ -1,29 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1997. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include <stdlib.h>
-
-#include "glutint.h"
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutKeyboardUpFunc(GLUTkeyboardCB keyboardUpFunc)
-{
- __glutChangeWindowEventMask(KeyReleaseMask,
- keyboardUpFunc != NULL || __glutCurrentWindow->specialUp != NULL);
- __glutCurrentWindow->keyboardUp = keyboardUpFunc;
-}
-
-void GLUTAPIENTRY
-glutSpecialUpFunc(GLUTspecialCB specialUpFunc)
-{
- __glutChangeWindowEventMask(KeyReleaseMask,
- specialUpFunc != NULL || __glutCurrentWindow->keyboardUp != NULL);
- __glutCurrentWindow->specialUp = specialUpFunc;
-}
-
-/* ENDCENTRY */
diff --git a/src/glut/os2/glut_mesa.cpp b/src/glut/os2/glut_mesa.cpp
deleted file mode 100644
index 7e202fa078..0000000000
--- a/src/glut/os2/glut_mesa.cpp
+++ /dev/null
@@ -1,57 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1996. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include <stdlib.h>
-#include <string.h>
-#include "glutint.h"
-
-int __glutMesaSwapHackSupport = 0; /* Not supported until
- proven otherwise. */
-
-/* Use the "Mesa swap hack" if reasonable if and only if
- MESA_SWAP_HACK is set to something whose first character is
- not "N" or "n" AND "Brian Paul" is the vendor string AND
- "Mesa X11"* (or "Mesa" for backward compatibility) is the
- renderer string.
-
- Anyone who modifies Mesa so that glXSwapBuffers does not
- simply blit the previously rendered back buffer should
- change either their vendor or renderer string to avoid
- confusing GLUT. */
-
-void
-__glutDetermineMesaSwapHackSupport(void)
-{
- static int doneAlready = 0;
- char *env, *vendor, *renderer;
-
- if (doneAlready)
- return;
- env = getenv("MESA_SWAP_HACK");
- if (env) {
- if ((env[0] != 'n') && (env[0] != 'N')) {
- vendor = (char *) glGetString(GL_VENDOR);
- renderer = (char *) glGetString(GL_RENDERER);
-
- /* Old versions of X11 Mesa uses the renderer string
- "Mesa"; Brian plans to start using "Mesa X11" to
- distinguish the X version of Mesa from other flavor
- such as Windows or 3Dfx. */
-
-#define MESA_X11 "Mesa X11"
-
- /* XXX At some point in the future, eliminate the
- backward compatibility for the old "Mesa" renderer
- string. */
-
- if (!strcmp(vendor, "Brian Paul") && (!strcmp(renderer, "Mesa") ||
- !strncmp(renderer, MESA_X11, sizeof(MESA_X11) - 1)))
- __glutMesaSwapHackSupport = 1;
- }
- }
- doneAlready = 1;
-}
diff --git a/src/glut/os2/glut_modifier.cpp b/src/glut/os2/glut_modifier.cpp
deleted file mode 100644
index 7e0e67a21f..0000000000
--- a/src/glut/os2/glut_modifier.cpp
+++ /dev/null
@@ -1,31 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include "glutint.h"
-
-/* CENTRY */
-int GLUTAPIENTRY
-glutGetModifiers(void)
-{
- int modifiers;
-
- if(__glutModifierMask == (unsigned int) ~0) {
- __glutWarning(
- "glutCurrentModifiers: do not call outside core input callback.");
- return 0;
- }
- modifiers = 0;
- if(__glutModifierMask & (ShiftMask|LockMask))
- modifiers |= GLUT_ACTIVE_SHIFT;
- if(__glutModifierMask & ControlMask)
- modifiers |= GLUT_ACTIVE_CTRL;
- if(__glutModifierMask & Mod1Mask)
- modifiers |= GLUT_ACTIVE_ALT;
- return modifiers;
-}
-
-/* ENDCENTRY */
diff --git a/src/glut/os2/glut_roman.cpp b/src/glut/os2/glut_roman.cpp
deleted file mode 100644
index af2b4ec956..0000000000
--- a/src/glut/os2/glut_roman.cpp
+++ /dev/null
@@ -1,2451 +0,0 @@
-
-/* GENERATED FILE -- DO NOT MODIFY */
-
-#include "glutstroke.h"
-
-/* char: 33 '!' */
-
-static const CoordRec char33_stroke0[] = {
- { 13.3819, 100 },
- { 13.3819, 33.3333 },
-};
-
-static const CoordRec char33_stroke1[] = {
- { 13.3819, 9.5238 },
- { 8.62, 4.7619 },
- { 13.3819, 0 },
- { 18.1438, 4.7619 },
- { 13.3819, 9.5238 },
-};
-
-static const StrokeRec char33[] = {
- { 2, char33_stroke0 },
- { 5, char33_stroke1 },
-};
-
-/* char: 34 '"' */
-
-static const CoordRec char34_stroke0[] = {
- { 4.02, 100 },
- { 4.02, 66.6667 },
-};
-
-static const CoordRec char34_stroke1[] = {
- { 42.1152, 100 },
- { 42.1152, 66.6667 },
-};
-
-static const StrokeRec char34[] = {
- { 2, char34_stroke0 },
- { 2, char34_stroke1 },
-};
-
-/* char: 35 '#' */
-
-static const CoordRec char35_stroke0[] = {
- { 41.2952, 119.048 },
- { 7.9619, -33.3333 },
-};
-
-static const CoordRec char35_stroke1[] = {
- { 69.8667, 119.048 },
- { 36.5333, -33.3333 },
-};
-
-static const CoordRec char35_stroke2[] = {
- { 7.9619, 57.1429 },
- { 74.6286, 57.1429 },
-};
-
-static const CoordRec char35_stroke3[] = {
- { 3.2, 28.5714 },
- { 69.8667, 28.5714 },
-};
-
-static const StrokeRec char35[] = {
- { 2, char35_stroke0 },
- { 2, char35_stroke1 },
- { 2, char35_stroke2 },
- { 2, char35_stroke3 },
-};
-
-/* char: 36 '$' */
-
-static const CoordRec char36_stroke0[] = {
- { 28.6295, 119.048 },
- { 28.6295, -19.0476 },
-};
-
-static const CoordRec char36_stroke1[] = {
- { 47.6771, 119.048 },
- { 47.6771, -19.0476 },
-};
-
-static const CoordRec char36_stroke2[] = {
- { 71.4867, 85.7143 },
- { 61.9629, 95.2381 },
- { 47.6771, 100 },
- { 28.6295, 100 },
- { 14.3438, 95.2381 },
- { 4.82, 85.7143 },
- { 4.82, 76.1905 },
- { 9.5819, 66.6667 },
- { 14.3438, 61.9048 },
- { 23.8676, 57.1429 },
- { 52.439, 47.619 },
- { 61.9629, 42.8571 },
- { 66.7248, 38.0952 },
- { 71.4867, 28.5714 },
- { 71.4867, 14.2857 },
- { 61.9629, 4.7619 },
- { 47.6771, 0 },
- { 28.6295, 0 },
- { 14.3438, 4.7619 },
- { 4.82, 14.2857 },
-};
-
-static const StrokeRec char36[] = {
- { 2, char36_stroke0 },
- { 2, char36_stroke1 },
- { 20, char36_stroke2 },
-};
-
-/* char: 37 '%' */
-
-static const CoordRec char37_stroke0[] = {
- { 92.0743, 100 },
- { 6.36, 0 },
-};
-
-static const CoordRec char37_stroke1[] = {
- { 30.1695, 100 },
- { 39.6933, 90.4762 },
- { 39.6933, 80.9524 },
- { 34.9314, 71.4286 },
- { 25.4076, 66.6667 },
- { 15.8838, 66.6667 },
- { 6.36, 76.1905 },
- { 6.36, 85.7143 },
- { 11.1219, 95.2381 },
- { 20.6457, 100 },
- { 30.1695, 100 },
- { 39.6933, 95.2381 },
- { 53.979, 90.4762 },
- { 68.2648, 90.4762 },
- { 82.5505, 95.2381 },
- { 92.0743, 100 },
-};
-
-static const CoordRec char37_stroke2[] = {
- { 73.0267, 33.3333 },
- { 63.5029, 28.5714 },
- { 58.741, 19.0476 },
- { 58.741, 9.5238 },
- { 68.2648, 0 },
- { 77.7886, 0 },
- { 87.3124, 4.7619 },
- { 92.0743, 14.2857 },
- { 92.0743, 23.8095 },
- { 82.5505, 33.3333 },
- { 73.0267, 33.3333 },
-};
-
-static const StrokeRec char37[] = {
- { 2, char37_stroke0 },
- { 16, char37_stroke1 },
- { 11, char37_stroke2 },
-};
-
-/* char: 38 '&' */
-
-static const CoordRec char38_stroke0[] = {
- { 101.218, 57.1429 },
- { 101.218, 61.9048 },
- { 96.4562, 66.6667 },
- { 91.6943, 66.6667 },
- { 86.9324, 61.9048 },
- { 82.1705, 52.381 },
- { 72.6467, 28.5714 },
- { 63.1229, 14.2857 },
- { 53.599, 4.7619 },
- { 44.0752, 0 },
- { 25.0276, 0 },
- { 15.5038, 4.7619 },
- { 10.7419, 9.5238 },
- { 5.98, 19.0476 },
- { 5.98, 28.5714 },
- { 10.7419, 38.0952 },
- { 15.5038, 42.8571 },
- { 48.8371, 61.9048 },
- { 53.599, 66.6667 },
- { 58.361, 76.1905 },
- { 58.361, 85.7143 },
- { 53.599, 95.2381 },
- { 44.0752, 100 },
- { 34.5514, 95.2381 },
- { 29.7895, 85.7143 },
- { 29.7895, 76.1905 },
- { 34.5514, 61.9048 },
- { 44.0752, 47.619 },
- { 67.8848, 14.2857 },
- { 77.4086, 4.7619 },
- { 86.9324, 0 },
- { 96.4562, 0 },
- { 101.218, 4.7619 },
- { 101.218, 9.5238 },
-};
-
-static const StrokeRec char38[] = {
- { 34, char38_stroke0 },
-};
-
-/* char: 39 ''' */
-
-static const CoordRec char39_stroke0[] = {
- { 4.44, 100 },
- { 4.44, 66.6667 },
-};
-
-static const StrokeRec char39[] = {
- { 2, char39_stroke0 },
-};
-
-/* char: 40 '(' */
-
-static const CoordRec char40_stroke0[] = {
- { 40.9133, 119.048 },
- { 31.3895, 109.524 },
- { 21.8657, 95.2381 },
- { 12.3419, 76.1905 },
- { 7.58, 52.381 },
- { 7.58, 33.3333 },
- { 12.3419, 9.5238 },
- { 21.8657, -9.5238 },
- { 31.3895, -23.8095 },
- { 40.9133, -33.3333 },
-};
-
-static const StrokeRec char40[] = {
- { 10, char40_stroke0 },
-};
-
-/* char: 41 ')' */
-
-static const CoordRec char41_stroke0[] = {
- { 5.28, 119.048 },
- { 14.8038, 109.524 },
- { 24.3276, 95.2381 },
- { 33.8514, 76.1905 },
- { 38.6133, 52.381 },
- { 38.6133, 33.3333 },
- { 33.8514, 9.5238 },
- { 24.3276, -9.5238 },
- { 14.8038, -23.8095 },
- { 5.28, -33.3333 },
-};
-
-static const StrokeRec char41[] = {
- { 10, char41_stroke0 },
-};
-
-/* char: 42 '*' */
-
-static const CoordRec char42_stroke0[] = {
- { 30.7695, 71.4286 },
- { 30.7695, 14.2857 },
-};
-
-static const CoordRec char42_stroke1[] = {
- { 6.96, 57.1429 },
- { 54.579, 28.5714 },
-};
-
-static const CoordRec char42_stroke2[] = {
- { 54.579, 57.1429 },
- { 6.96, 28.5714 },
-};
-
-static const StrokeRec char42[] = {
- { 2, char42_stroke0 },
- { 2, char42_stroke1 },
- { 2, char42_stroke2 },
-};
-
-/* char: 43 '+' */
-
-static const CoordRec char43_stroke0[] = {
- { 48.8371, 85.7143 },
- { 48.8371, 0 },
-};
-
-static const CoordRec char43_stroke1[] = {
- { 5.98, 42.8571 },
- { 91.6943, 42.8571 },
-};
-
-static const StrokeRec char43[] = {
- { 2, char43_stroke0 },
- { 2, char43_stroke1 },
-};
-
-/* char: 44 ',' */
-
-static const CoordRec char44_stroke0[] = {
- { 18.2838, 4.7619 },
- { 13.5219, 0 },
- { 8.76, 4.7619 },
- { 13.5219, 9.5238 },
- { 18.2838, 4.7619 },
- { 18.2838, -4.7619 },
- { 13.5219, -14.2857 },
- { 8.76, -19.0476 },
-};
-
-static const StrokeRec char44[] = {
- { 8, char44_stroke0 },
-};
-
-/* char: 45 '-' */
-
-static const CoordRec char45_stroke0[] = {
- { 7.38, 42.8571 },
- { 93.0943, 42.8571 },
-};
-
-static const StrokeRec char45[] = {
- { 2, char45_stroke0 },
-};
-
-/* char: 46 '.' */
-
-static const CoordRec char46_stroke0[] = {
- { 13.1019, 9.5238 },
- { 8.34, 4.7619 },
- { 13.1019, 0 },
- { 17.8638, 4.7619 },
- { 13.1019, 9.5238 },
-};
-
-static const StrokeRec char46[] = {
- { 5, char46_stroke0 },
-};
-
-/* char: 47 '/' */
-
-static const CoordRec char47_stroke0[] = {
- { 7.24, -14.2857 },
- { 73.9067, 100 },
-};
-
-static const StrokeRec char47[] = {
- { 2, char47_stroke0 },
-};
-
-/* char: 48 '0' */
-
-static const CoordRec char48_stroke0[] = {
- { 33.5514, 100 },
- { 19.2657, 95.2381 },
- { 9.7419, 80.9524 },
- { 4.98, 57.1429 },
- { 4.98, 42.8571 },
- { 9.7419, 19.0476 },
- { 19.2657, 4.7619 },
- { 33.5514, 0 },
- { 43.0752, 0 },
- { 57.361, 4.7619 },
- { 66.8848, 19.0476 },
- { 71.6467, 42.8571 },
- { 71.6467, 57.1429 },
- { 66.8848, 80.9524 },
- { 57.361, 95.2381 },
- { 43.0752, 100 },
- { 33.5514, 100 },
-};
-
-static const StrokeRec char48[] = {
- { 17, char48_stroke0 },
-};
-
-/* char: 49 '1' */
-
-static const CoordRec char49_stroke0[] = {
- { 11.82, 80.9524 },
- { 21.3438, 85.7143 },
- { 35.6295, 100 },
- { 35.6295, 0 },
-};
-
-static const StrokeRec char49[] = {
- { 4, char49_stroke0 },
-};
-
-/* char: 50 '2' */
-
-static const CoordRec char50_stroke0[] = {
- { 10.1819, 76.1905 },
- { 10.1819, 80.9524 },
- { 14.9438, 90.4762 },
- { 19.7057, 95.2381 },
- { 29.2295, 100 },
- { 48.2771, 100 },
- { 57.801, 95.2381 },
- { 62.5629, 90.4762 },
- { 67.3248, 80.9524 },
- { 67.3248, 71.4286 },
- { 62.5629, 61.9048 },
- { 53.039, 47.619 },
- { 5.42, 0 },
- { 72.0867, 0 },
-};
-
-static const StrokeRec char50[] = {
- { 14, char50_stroke0 },
-};
-
-/* char: 51 '3' */
-
-static const CoordRec char51_stroke0[] = {
- { 14.5238, 100 },
- { 66.9048, 100 },
- { 38.3333, 61.9048 },
- { 52.619, 61.9048 },
- { 62.1429, 57.1429 },
- { 66.9048, 52.381 },
- { 71.6667, 38.0952 },
- { 71.6667, 28.5714 },
- { 66.9048, 14.2857 },
- { 57.381, 4.7619 },
- { 43.0952, 0 },
- { 28.8095, 0 },
- { 14.5238, 4.7619 },
- { 9.7619, 9.5238 },
- { 5, 19.0476 },
-};
-
-static const StrokeRec char51[] = {
- { 15, char51_stroke0 },
-};
-
-/* char: 52 '4' */
-
-static const CoordRec char52_stroke0[] = {
- { 51.499, 100 },
- { 3.88, 33.3333 },
- { 75.3086, 33.3333 },
-};
-
-static const CoordRec char52_stroke1[] = {
- { 51.499, 100 },
- { 51.499, 0 },
-};
-
-static const StrokeRec char52[] = {
- { 3, char52_stroke0 },
- { 2, char52_stroke1 },
-};
-
-/* char: 53 '5' */
-
-static const CoordRec char53_stroke0[] = {
- { 62.0029, 100 },
- { 14.3838, 100 },
- { 9.6219, 57.1429 },
- { 14.3838, 61.9048 },
- { 28.6695, 66.6667 },
- { 42.9552, 66.6667 },
- { 57.241, 61.9048 },
- { 66.7648, 52.381 },
- { 71.5267, 38.0952 },
- { 71.5267, 28.5714 },
- { 66.7648, 14.2857 },
- { 57.241, 4.7619 },
- { 42.9552, 0 },
- { 28.6695, 0 },
- { 14.3838, 4.7619 },
- { 9.6219, 9.5238 },
- { 4.86, 19.0476 },
-};
-
-static const StrokeRec char53[] = {
- { 17, char53_stroke0 },
-};
-
-/* char: 54 '6' */
-
-static const CoordRec char54_stroke0[] = {
- { 62.7229, 85.7143 },
- { 57.961, 95.2381 },
- { 43.6752, 100 },
- { 34.1514, 100 },
- { 19.8657, 95.2381 },
- { 10.3419, 80.9524 },
- { 5.58, 57.1429 },
- { 5.58, 33.3333 },
- { 10.3419, 14.2857 },
- { 19.8657, 4.7619 },
- { 34.1514, 0 },
- { 38.9133, 0 },
- { 53.199, 4.7619 },
- { 62.7229, 14.2857 },
- { 67.4848, 28.5714 },
- { 67.4848, 33.3333 },
- { 62.7229, 47.619 },
- { 53.199, 57.1429 },
- { 38.9133, 61.9048 },
- { 34.1514, 61.9048 },
- { 19.8657, 57.1429 },
- { 10.3419, 47.619 },
- { 5.58, 33.3333 },
-};
-
-static const StrokeRec char54[] = {
- { 23, char54_stroke0 },
-};
-
-/* char: 55 '7' */
-
-static const CoordRec char55_stroke0[] = {
- { 72.2267, 100 },
- { 24.6076, 0 },
-};
-
-static const CoordRec char55_stroke1[] = {
- { 5.56, 100 },
- { 72.2267, 100 },
-};
-
-static const StrokeRec char55[] = {
- { 2, char55_stroke0 },
- { 2, char55_stroke1 },
-};
-
-/* char: 56 '8' */
-
-static const CoordRec char56_stroke0[] = {
- { 29.4095, 100 },
- { 15.1238, 95.2381 },
- { 10.3619, 85.7143 },
- { 10.3619, 76.1905 },
- { 15.1238, 66.6667 },
- { 24.6476, 61.9048 },
- { 43.6952, 57.1429 },
- { 57.981, 52.381 },
- { 67.5048, 42.8571 },
- { 72.2667, 33.3333 },
- { 72.2667, 19.0476 },
- { 67.5048, 9.5238 },
- { 62.7429, 4.7619 },
- { 48.4571, 0 },
- { 29.4095, 0 },
- { 15.1238, 4.7619 },
- { 10.3619, 9.5238 },
- { 5.6, 19.0476 },
- { 5.6, 33.3333 },
- { 10.3619, 42.8571 },
- { 19.8857, 52.381 },
- { 34.1714, 57.1429 },
- { 53.219, 61.9048 },
- { 62.7429, 66.6667 },
- { 67.5048, 76.1905 },
- { 67.5048, 85.7143 },
- { 62.7429, 95.2381 },
- { 48.4571, 100 },
- { 29.4095, 100 },
-};
-
-static const StrokeRec char56[] = {
- { 29, char56_stroke0 },
-};
-
-/* char: 57 '9' */
-
-static const CoordRec char57_stroke0[] = {
- { 68.5048, 66.6667 },
- { 63.7429, 52.381 },
- { 54.219, 42.8571 },
- { 39.9333, 38.0952 },
- { 35.1714, 38.0952 },
- { 20.8857, 42.8571 },
- { 11.3619, 52.381 },
- { 6.6, 66.6667 },
- { 6.6, 71.4286 },
- { 11.3619, 85.7143 },
- { 20.8857, 95.2381 },
- { 35.1714, 100 },
- { 39.9333, 100 },
- { 54.219, 95.2381 },
- { 63.7429, 85.7143 },
- { 68.5048, 66.6667 },
- { 68.5048, 42.8571 },
- { 63.7429, 19.0476 },
- { 54.219, 4.7619 },
- { 39.9333, 0 },
- { 30.4095, 0 },
- { 16.1238, 4.7619 },
- { 11.3619, 14.2857 },
-};
-
-static const StrokeRec char57[] = {
- { 23, char57_stroke0 },
-};
-
-/* char: 58 ':' */
-
-static const CoordRec char58_stroke0[] = {
- { 14.0819, 66.6667 },
- { 9.32, 61.9048 },
- { 14.0819, 57.1429 },
- { 18.8438, 61.9048 },
- { 14.0819, 66.6667 },
-};
-
-static const CoordRec char58_stroke1[] = {
- { 14.0819, 9.5238 },
- { 9.32, 4.7619 },
- { 14.0819, 0 },
- { 18.8438, 4.7619 },
- { 14.0819, 9.5238 },
-};
-
-static const StrokeRec char58[] = {
- { 5, char58_stroke0 },
- { 5, char58_stroke1 },
-};
-
-/* char: 59 ';' */
-
-static const CoordRec char59_stroke0[] = {
- { 12.9619, 66.6667 },
- { 8.2, 61.9048 },
- { 12.9619, 57.1429 },
- { 17.7238, 61.9048 },
- { 12.9619, 66.6667 },
-};
-
-static const CoordRec char59_stroke1[] = {
- { 17.7238, 4.7619 },
- { 12.9619, 0 },
- { 8.2, 4.7619 },
- { 12.9619, 9.5238 },
- { 17.7238, 4.7619 },
- { 17.7238, -4.7619 },
- { 12.9619, -14.2857 },
- { 8.2, -19.0476 },
-};
-
-static const StrokeRec char59[] = {
- { 5, char59_stroke0 },
- { 8, char59_stroke1 },
-};
-
-/* char: 60 '<' */
-
-static const CoordRec char60_stroke0[] = {
- { 79.2505, 85.7143 },
- { 3.06, 42.8571 },
- { 79.2505, 0 },
-};
-
-static const StrokeRec char60[] = {
- { 3, char60_stroke0 },
-};
-
-/* char: 61 '=' */
-
-static const CoordRec char61_stroke0[] = {
- { 5.7, 57.1429 },
- { 91.4143, 57.1429 },
-};
-
-static const CoordRec char61_stroke1[] = {
- { 5.7, 28.5714 },
- { 91.4143, 28.5714 },
-};
-
-static const StrokeRec char61[] = {
- { 2, char61_stroke0 },
- { 2, char61_stroke1 },
-};
-
-/* char: 62 '>' */
-
-static const CoordRec char62_stroke0[] = {
- { 2.78, 85.7143 },
- { 78.9705, 42.8571 },
- { 2.78, 0 },
-};
-
-static const StrokeRec char62[] = {
- { 3, char62_stroke0 },
-};
-
-/* char: 63 '?' */
-
-static const CoordRec char63_stroke0[] = {
- { 8.42, 76.1905 },
- { 8.42, 80.9524 },
- { 13.1819, 90.4762 },
- { 17.9438, 95.2381 },
- { 27.4676, 100 },
- { 46.5152, 100 },
- { 56.039, 95.2381 },
- { 60.801, 90.4762 },
- { 65.5629, 80.9524 },
- { 65.5629, 71.4286 },
- { 60.801, 61.9048 },
- { 56.039, 57.1429 },
- { 36.9914, 47.619 },
- { 36.9914, 33.3333 },
-};
-
-static const CoordRec char63_stroke1[] = {
- { 36.9914, 9.5238 },
- { 32.2295, 4.7619 },
- { 36.9914, 0 },
- { 41.7533, 4.7619 },
- { 36.9914, 9.5238 },
-};
-
-static const StrokeRec char63[] = {
- { 14, char63_stroke0 },
- { 5, char63_stroke1 },
-};
-
-/* char: 64 '@' */
-
-static const CoordRec char64_stroke0[] = {
- { 49.2171, 52.381 },
- { 39.6933, 57.1429 },
- { 30.1695, 57.1429 },
- { 25.4076, 47.619 },
- { 25.4076, 42.8571 },
- { 30.1695, 33.3333 },
- { 39.6933, 33.3333 },
- { 49.2171, 38.0952 },
-};
-
-static const CoordRec char64_stroke1[] = {
- { 49.2171, 57.1429 },
- { 49.2171, 38.0952 },
- { 53.979, 33.3333 },
- { 63.5029, 33.3333 },
- { 68.2648, 42.8571 },
- { 68.2648, 47.619 },
- { 63.5029, 61.9048 },
- { 53.979, 71.4286 },
- { 39.6933, 76.1905 },
- { 34.9314, 76.1905 },
- { 20.6457, 71.4286 },
- { 11.1219, 61.9048 },
- { 6.36, 47.619 },
- { 6.36, 42.8571 },
- { 11.1219, 28.5714 },
- { 20.6457, 19.0476 },
- { 34.9314, 14.2857 },
- { 39.6933, 14.2857 },
- { 53.979, 19.0476 },
-};
-
-static const StrokeRec char64[] = {
- { 8, char64_stroke0 },
- { 19, char64_stroke1 },
-};
-
-/* char: 65 'A' */
-
-static const CoordRec char65_stroke0[] = {
- { 40.5952, 100 },
- { 2.5, 0 },
-};
-
-static const CoordRec char65_stroke1[] = {
- { 40.5952, 100 },
- { 78.6905, 0 },
-};
-
-static const CoordRec char65_stroke2[] = {
- { 16.7857, 33.3333 },
- { 64.4048, 33.3333 },
-};
-
-static const StrokeRec char65[] = {
- { 2, char65_stroke0 },
- { 2, char65_stroke1 },
- { 2, char65_stroke2 },
-};
-
-/* char: 66 'B' */
-
-static const CoordRec char66_stroke0[] = {
- { 11.42, 100 },
- { 11.42, 0 },
-};
-
-static const CoordRec char66_stroke1[] = {
- { 11.42, 100 },
- { 54.2771, 100 },
- { 68.5629, 95.2381 },
- { 73.3248, 90.4762 },
- { 78.0867, 80.9524 },
- { 78.0867, 71.4286 },
- { 73.3248, 61.9048 },
- { 68.5629, 57.1429 },
- { 54.2771, 52.381 },
-};
-
-static const CoordRec char66_stroke2[] = {
- { 11.42, 52.381 },
- { 54.2771, 52.381 },
- { 68.5629, 47.619 },
- { 73.3248, 42.8571 },
- { 78.0867, 33.3333 },
- { 78.0867, 19.0476 },
- { 73.3248, 9.5238 },
- { 68.5629, 4.7619 },
- { 54.2771, 0 },
- { 11.42, 0 },
-};
-
-static const StrokeRec char66[] = {
- { 2, char66_stroke0 },
- { 9, char66_stroke1 },
- { 10, char66_stroke2 },
-};
-
-/* char: 67 'C' */
-
-static const CoordRec char67_stroke0[] = {
- { 78.0886, 76.1905 },
- { 73.3267, 85.7143 },
- { 63.8029, 95.2381 },
- { 54.279, 100 },
- { 35.2314, 100 },
- { 25.7076, 95.2381 },
- { 16.1838, 85.7143 },
- { 11.4219, 76.1905 },
- { 6.66, 61.9048 },
- { 6.66, 38.0952 },
- { 11.4219, 23.8095 },
- { 16.1838, 14.2857 },
- { 25.7076, 4.7619 },
- { 35.2314, 0 },
- { 54.279, 0 },
- { 63.8029, 4.7619 },
- { 73.3267, 14.2857 },
- { 78.0886, 23.8095 },
-};
-
-static const StrokeRec char67[] = {
- { 18, char67_stroke0 },
-};
-
-/* char: 68 'D' */
-
-static const CoordRec char68_stroke0[] = {
- { 11.96, 100 },
- { 11.96, 0 },
-};
-
-static const CoordRec char68_stroke1[] = {
- { 11.96, 100 },
- { 45.2933, 100 },
- { 59.579, 95.2381 },
- { 69.1029, 85.7143 },
- { 73.8648, 76.1905 },
- { 78.6267, 61.9048 },
- { 78.6267, 38.0952 },
- { 73.8648, 23.8095 },
- { 69.1029, 14.2857 },
- { 59.579, 4.7619 },
- { 45.2933, 0 },
- { 11.96, 0 },
-};
-
-static const StrokeRec char68[] = {
- { 2, char68_stroke0 },
- { 12, char68_stroke1 },
-};
-
-/* char: 69 'E' */
-
-static const CoordRec char69_stroke0[] = {
- { 11.42, 100 },
- { 11.42, 0 },
-};
-
-static const CoordRec char69_stroke1[] = {
- { 11.42, 100 },
- { 73.3248, 100 },
-};
-
-static const CoordRec char69_stroke2[] = {
- { 11.42, 52.381 },
- { 49.5152, 52.381 },
-};
-
-static const CoordRec char69_stroke3[] = {
- { 11.42, 0 },
- { 73.3248, 0 },
-};
-
-static const StrokeRec char69[] = {
- { 2, char69_stroke0 },
- { 2, char69_stroke1 },
- { 2, char69_stroke2 },
- { 2, char69_stroke3 },
-};
-
-/* char: 70 'F' */
-
-static const CoordRec char70_stroke0[] = {
- { 11.42, 100 },
- { 11.42, 0 },
-};
-
-static const CoordRec char70_stroke1[] = {
- { 11.42, 100 },
- { 73.3248, 100 },
-};
-
-static const CoordRec char70_stroke2[] = {
- { 11.42, 52.381 },
- { 49.5152, 52.381 },
-};
-
-static const StrokeRec char70[] = {
- { 2, char70_stroke0 },
- { 2, char70_stroke1 },
- { 2, char70_stroke2 },
-};
-
-/* char: 71 'G' */
-
-static const CoordRec char71_stroke0[] = {
- { 78.4886, 76.1905 },
- { 73.7267, 85.7143 },
- { 64.2029, 95.2381 },
- { 54.679, 100 },
- { 35.6314, 100 },
- { 26.1076, 95.2381 },
- { 16.5838, 85.7143 },
- { 11.8219, 76.1905 },
- { 7.06, 61.9048 },
- { 7.06, 38.0952 },
- { 11.8219, 23.8095 },
- { 16.5838, 14.2857 },
- { 26.1076, 4.7619 },
- { 35.6314, 0 },
- { 54.679, 0 },
- { 64.2029, 4.7619 },
- { 73.7267, 14.2857 },
- { 78.4886, 23.8095 },
- { 78.4886, 38.0952 },
-};
-
-static const CoordRec char71_stroke1[] = {
- { 54.679, 38.0952 },
- { 78.4886, 38.0952 },
-};
-
-static const StrokeRec char71[] = {
- { 19, char71_stroke0 },
- { 2, char71_stroke1 },
-};
-
-/* char: 72 'H' */
-
-static const CoordRec char72_stroke0[] = {
- { 11.42, 100 },
- { 11.42, 0 },
-};
-
-static const CoordRec char72_stroke1[] = {
- { 78.0867, 100 },
- { 78.0867, 0 },
-};
-
-static const CoordRec char72_stroke2[] = {
- { 11.42, 52.381 },
- { 78.0867, 52.381 },
-};
-
-static const StrokeRec char72[] = {
- { 2, char72_stroke0 },
- { 2, char72_stroke1 },
- { 2, char72_stroke2 },
-};
-
-/* char: 73 'I' */
-
-static const CoordRec char73_stroke0[] = {
- { 10.86, 100 },
- { 10.86, 0 },
-};
-
-static const StrokeRec char73[] = {
- { 2, char73_stroke0 },
-};
-
-/* char: 74 'J' */
-
-static const CoordRec char74_stroke0[] = {
- { 50.119, 100 },
- { 50.119, 23.8095 },
- { 45.3571, 9.5238 },
- { 40.5952, 4.7619 },
- { 31.0714, 0 },
- { 21.5476, 0 },
- { 12.0238, 4.7619 },
- { 7.2619, 9.5238 },
- { 2.5, 23.8095 },
- { 2.5, 33.3333 },
-};
-
-static const StrokeRec char74[] = {
- { 10, char74_stroke0 },
-};
-
-/* char: 75 'K' */
-
-static const CoordRec char75_stroke0[] = {
- { 11.28, 100 },
- { 11.28, 0 },
-};
-
-static const CoordRec char75_stroke1[] = {
- { 77.9467, 100 },
- { 11.28, 33.3333 },
-};
-
-static const CoordRec char75_stroke2[] = {
- { 35.0895, 57.1429 },
- { 77.9467, 0 },
-};
-
-static const StrokeRec char75[] = {
- { 2, char75_stroke0 },
- { 2, char75_stroke1 },
- { 2, char75_stroke2 },
-};
-
-/* char: 76 'L' */
-
-static const CoordRec char76_stroke0[] = {
- { 11.68, 100 },
- { 11.68, 0 },
-};
-
-static const CoordRec char76_stroke1[] = {
- { 11.68, 0 },
- { 68.8229, 0 },
-};
-
-static const StrokeRec char76[] = {
- { 2, char76_stroke0 },
- { 2, char76_stroke1 },
-};
-
-/* char: 77 'M' */
-
-static const CoordRec char77_stroke0[] = {
- { 10.86, 100 },
- { 10.86, 0 },
-};
-
-static const CoordRec char77_stroke1[] = {
- { 10.86, 100 },
- { 48.9552, 0 },
-};
-
-static const CoordRec char77_stroke2[] = {
- { 87.0505, 100 },
- { 48.9552, 0 },
-};
-
-static const CoordRec char77_stroke3[] = {
- { 87.0505, 100 },
- { 87.0505, 0 },
-};
-
-static const StrokeRec char77[] = {
- { 2, char77_stroke0 },
- { 2, char77_stroke1 },
- { 2, char77_stroke2 },
- { 2, char77_stroke3 },
-};
-
-/* char: 78 'N' */
-
-static const CoordRec char78_stroke0[] = {
- { 11.14, 100 },
- { 11.14, 0 },
-};
-
-static const CoordRec char78_stroke1[] = {
- { 11.14, 100 },
- { 77.8067, 0 },
-};
-
-static const CoordRec char78_stroke2[] = {
- { 77.8067, 100 },
- { 77.8067, 0 },
-};
-
-static const StrokeRec char78[] = {
- { 2, char78_stroke0 },
- { 2, char78_stroke1 },
- { 2, char78_stroke2 },
-};
-
-/* char: 79 'O' */
-
-static const CoordRec char79_stroke0[] = {
- { 34.8114, 100 },
- { 25.2876, 95.2381 },
- { 15.7638, 85.7143 },
- { 11.0019, 76.1905 },
- { 6.24, 61.9048 },
- { 6.24, 38.0952 },
- { 11.0019, 23.8095 },
- { 15.7638, 14.2857 },
- { 25.2876, 4.7619 },
- { 34.8114, 0 },
- { 53.859, 0 },
- { 63.3829, 4.7619 },
- { 72.9067, 14.2857 },
- { 77.6686, 23.8095 },
- { 82.4305, 38.0952 },
- { 82.4305, 61.9048 },
- { 77.6686, 76.1905 },
- { 72.9067, 85.7143 },
- { 63.3829, 95.2381 },
- { 53.859, 100 },
- { 34.8114, 100 },
-};
-
-static const StrokeRec char79[] = {
- { 21, char79_stroke0 },
-};
-
-/* char: 80 'P' */
-
-static const CoordRec char80_stroke0[] = {
- { 12.1, 100 },
- { 12.1, 0 },
-};
-
-static const CoordRec char80_stroke1[] = {
- { 12.1, 100 },
- { 54.9571, 100 },
- { 69.2429, 95.2381 },
- { 74.0048, 90.4762 },
- { 78.7667, 80.9524 },
- { 78.7667, 66.6667 },
- { 74.0048, 57.1429 },
- { 69.2429, 52.381 },
- { 54.9571, 47.619 },
- { 12.1, 47.619 },
-};
-
-static const StrokeRec char80[] = {
- { 2, char80_stroke0 },
- { 10, char80_stroke1 },
-};
-
-/* char: 81 'Q' */
-
-static const CoordRec char81_stroke0[] = {
- { 33.8714, 100 },
- { 24.3476, 95.2381 },
- { 14.8238, 85.7143 },
- { 10.0619, 76.1905 },
- { 5.3, 61.9048 },
- { 5.3, 38.0952 },
- { 10.0619, 23.8095 },
- { 14.8238, 14.2857 },
- { 24.3476, 4.7619 },
- { 33.8714, 0 },
- { 52.919, 0 },
- { 62.4429, 4.7619 },
- { 71.9667, 14.2857 },
- { 76.7286, 23.8095 },
- { 81.4905, 38.0952 },
- { 81.4905, 61.9048 },
- { 76.7286, 76.1905 },
- { 71.9667, 85.7143 },
- { 62.4429, 95.2381 },
- { 52.919, 100 },
- { 33.8714, 100 },
-};
-
-static const CoordRec char81_stroke1[] = {
- { 48.1571, 19.0476 },
- { 76.7286, -9.5238 },
-};
-
-static const StrokeRec char81[] = {
- { 21, char81_stroke0 },
- { 2, char81_stroke1 },
-};
-
-/* char: 82 'R' */
-
-static const CoordRec char82_stroke0[] = {
- { 11.68, 100 },
- { 11.68, 0 },
-};
-
-static const CoordRec char82_stroke1[] = {
- { 11.68, 100 },
- { 54.5371, 100 },
- { 68.8229, 95.2381 },
- { 73.5848, 90.4762 },
- { 78.3467, 80.9524 },
- { 78.3467, 71.4286 },
- { 73.5848, 61.9048 },
- { 68.8229, 57.1429 },
- { 54.5371, 52.381 },
- { 11.68, 52.381 },
-};
-
-static const CoordRec char82_stroke2[] = {
- { 45.0133, 52.381 },
- { 78.3467, 0 },
-};
-
-static const StrokeRec char82[] = {
- { 2, char82_stroke0 },
- { 10, char82_stroke1 },
- { 2, char82_stroke2 },
-};
-
-/* char: 83 'S' */
-
-static const CoordRec char83_stroke0[] = {
- { 74.6667, 85.7143 },
- { 65.1429, 95.2381 },
- { 50.8571, 100 },
- { 31.8095, 100 },
- { 17.5238, 95.2381 },
- { 8, 85.7143 },
- { 8, 76.1905 },
- { 12.7619, 66.6667 },
- { 17.5238, 61.9048 },
- { 27.0476, 57.1429 },
- { 55.619, 47.619 },
- { 65.1429, 42.8571 },
- { 69.9048, 38.0952 },
- { 74.6667, 28.5714 },
- { 74.6667, 14.2857 },
- { 65.1429, 4.7619 },
- { 50.8571, 0 },
- { 31.8095, 0 },
- { 17.5238, 4.7619 },
- { 8, 14.2857 },
-};
-
-static const StrokeRec char83[] = {
- { 20, char83_stroke0 },
-};
-
-/* char: 84 'T' */
-
-static const CoordRec char84_stroke0[] = {
- { 35.6933, 100 },
- { 35.6933, 0 },
-};
-
-static const CoordRec char84_stroke1[] = {
- { 2.36, 100 },
- { 69.0267, 100 },
-};
-
-static const StrokeRec char84[] = {
- { 2, char84_stroke0 },
- { 2, char84_stroke1 },
-};
-
-/* char: 85 'U' */
-
-static const CoordRec char85_stroke0[] = {
- { 11.54, 100 },
- { 11.54, 28.5714 },
- { 16.3019, 14.2857 },
- { 25.8257, 4.7619 },
- { 40.1114, 0 },
- { 49.6352, 0 },
- { 63.921, 4.7619 },
- { 73.4448, 14.2857 },
- { 78.2067, 28.5714 },
- { 78.2067, 100 },
-};
-
-static const StrokeRec char85[] = {
- { 10, char85_stroke0 },
-};
-
-/* char: 86 'V' */
-
-static const CoordRec char86_stroke0[] = {
- { 2.36, 100 },
- { 40.4552, 0 },
-};
-
-static const CoordRec char86_stroke1[] = {
- { 78.5505, 100 },
- { 40.4552, 0 },
-};
-
-static const StrokeRec char86[] = {
- { 2, char86_stroke0 },
- { 2, char86_stroke1 },
-};
-
-/* char: 87 'W' */
-
-static const CoordRec char87_stroke0[] = {
- { 2.22, 100 },
- { 26.0295, 0 },
-};
-
-static const CoordRec char87_stroke1[] = {
- { 49.839, 100 },
- { 26.0295, 0 },
-};
-
-static const CoordRec char87_stroke2[] = {
- { 49.839, 100 },
- { 73.6486, 0 },
-};
-
-static const CoordRec char87_stroke3[] = {
- { 97.4581, 100 },
- { 73.6486, 0 },
-};
-
-static const StrokeRec char87[] = {
- { 2, char87_stroke0 },
- { 2, char87_stroke1 },
- { 2, char87_stroke2 },
- { 2, char87_stroke3 },
-};
-
-/* char: 88 'X' */
-
-static const CoordRec char88_stroke0[] = {
- { 2.5, 100 },
- { 69.1667, 0 },
-};
-
-static const CoordRec char88_stroke1[] = {
- { 69.1667, 100 },
- { 2.5, 0 },
-};
-
-static const StrokeRec char88[] = {
- { 2, char88_stroke0 },
- { 2, char88_stroke1 },
-};
-
-/* char: 89 'Y' */
-
-static const CoordRec char89_stroke0[] = {
- { 1.52, 100 },
- { 39.6152, 52.381 },
- { 39.6152, 0 },
-};
-
-static const CoordRec char89_stroke1[] = {
- { 77.7105, 100 },
- { 39.6152, 52.381 },
-};
-
-static const StrokeRec char89[] = {
- { 3, char89_stroke0 },
- { 2, char89_stroke1 },
-};
-
-/* char: 90 'Z' */
-
-static const CoordRec char90_stroke0[] = {
- { 69.1667, 100 },
- { 2.5, 0 },
-};
-
-static const CoordRec char90_stroke1[] = {
- { 2.5, 100 },
- { 69.1667, 100 },
-};
-
-static const CoordRec char90_stroke2[] = {
- { 2.5, 0 },
- { 69.1667, 0 },
-};
-
-static const StrokeRec char90[] = {
- { 2, char90_stroke0 },
- { 2, char90_stroke1 },
- { 2, char90_stroke2 },
-};
-
-/* char: 91 '[' */
-
-static const CoordRec char91_stroke0[] = {
- { 7.78, 119.048 },
- { 7.78, -33.3333 },
-};
-
-static const CoordRec char91_stroke1[] = {
- { 12.5419, 119.048 },
- { 12.5419, -33.3333 },
-};
-
-static const CoordRec char91_stroke2[] = {
- { 7.78, 119.048 },
- { 41.1133, 119.048 },
-};
-
-static const CoordRec char91_stroke3[] = {
- { 7.78, -33.3333 },
- { 41.1133, -33.3333 },
-};
-
-static const StrokeRec char91[] = {
- { 2, char91_stroke0 },
- { 2, char91_stroke1 },
- { 2, char91_stroke2 },
- { 2, char91_stroke3 },
-};
-
-/* char: 92 '\' */
-
-static const CoordRec char92_stroke0[] = {
- { 5.84, 100 },
- { 72.5067, -14.2857 },
-};
-
-static const StrokeRec char92[] = {
- { 2, char92_stroke0 },
-};
-
-/* char: 93 ']' */
-
-static const CoordRec char93_stroke0[] = {
- { 33.0114, 119.048 },
- { 33.0114, -33.3333 },
-};
-
-static const CoordRec char93_stroke1[] = {
- { 37.7733, 119.048 },
- { 37.7733, -33.3333 },
-};
-
-static const CoordRec char93_stroke2[] = {
- { 4.44, 119.048 },
- { 37.7733, 119.048 },
-};
-
-static const CoordRec char93_stroke3[] = {
- { 4.44, -33.3333 },
- { 37.7733, -33.3333 },
-};
-
-static const StrokeRec char93[] = {
- { 2, char93_stroke0 },
- { 2, char93_stroke1 },
- { 2, char93_stroke2 },
- { 2, char93_stroke3 },
-};
-
-/* char: 94 '^' */
-
-static const CoordRec char94_stroke0[] = {
- { 44.0752, 109.524 },
- { 5.98, 42.8571 },
-};
-
-static const CoordRec char94_stroke1[] = {
- { 44.0752, 109.524 },
- { 82.1705, 42.8571 },
-};
-
-static const StrokeRec char94[] = {
- { 2, char94_stroke0 },
- { 2, char94_stroke1 },
-};
-
-/* char: 95 '_' */
-
-static const CoordRec char95_stroke0[] = {
- { -1.1, -33.3333 },
- { 103.662, -33.3333 },
- { 103.662, -28.5714 },
- { -1.1, -28.5714 },
- { -1.1, -33.3333 },
-};
-
-static const StrokeRec char95[] = {
- { 5, char95_stroke0 },
-};
-
-/* char: 96 '`' */
-
-static const CoordRec char96_stroke0[] = {
- { 33.0219, 100 },
- { 56.8314, 71.4286 },
-};
-
-static const CoordRec char96_stroke1[] = {
- { 33.0219, 100 },
- { 28.26, 95.2381 },
- { 56.8314, 71.4286 },
-};
-
-static const StrokeRec char96[] = {
- { 2, char96_stroke0 },
- { 3, char96_stroke1 },
-};
-
-/* char: 97 'a' */
-
-static const CoordRec char97_stroke0[] = {
- { 63.8229, 66.6667 },
- { 63.8229, 0 },
-};
-
-static const CoordRec char97_stroke1[] = {
- { 63.8229, 52.381 },
- { 54.299, 61.9048 },
- { 44.7752, 66.6667 },
- { 30.4895, 66.6667 },
- { 20.9657, 61.9048 },
- { 11.4419, 52.381 },
- { 6.68, 38.0952 },
- { 6.68, 28.5714 },
- { 11.4419, 14.2857 },
- { 20.9657, 4.7619 },
- { 30.4895, 0 },
- { 44.7752, 0 },
- { 54.299, 4.7619 },
- { 63.8229, 14.2857 },
-};
-
-static const StrokeRec char97[] = {
- { 2, char97_stroke0 },
- { 14, char97_stroke1 },
-};
-
-/* char: 98 'b' */
-
-static const CoordRec char98_stroke0[] = {
- { 8.76, 100 },
- { 8.76, 0 },
-};
-
-static const CoordRec char98_stroke1[] = {
- { 8.76, 52.381 },
- { 18.2838, 61.9048 },
- { 27.8076, 66.6667 },
- { 42.0933, 66.6667 },
- { 51.6171, 61.9048 },
- { 61.141, 52.381 },
- { 65.9029, 38.0952 },
- { 65.9029, 28.5714 },
- { 61.141, 14.2857 },
- { 51.6171, 4.7619 },
- { 42.0933, 0 },
- { 27.8076, 0 },
- { 18.2838, 4.7619 },
- { 8.76, 14.2857 },
-};
-
-static const StrokeRec char98[] = {
- { 2, char98_stroke0 },
- { 14, char98_stroke1 },
-};
-
-/* char: 99 'c' */
-
-static const CoordRec char99_stroke0[] = {
- { 62.6629, 52.381 },
- { 53.139, 61.9048 },
- { 43.6152, 66.6667 },
- { 29.3295, 66.6667 },
- { 19.8057, 61.9048 },
- { 10.2819, 52.381 },
- { 5.52, 38.0952 },
- { 5.52, 28.5714 },
- { 10.2819, 14.2857 },
- { 19.8057, 4.7619 },
- { 29.3295, 0 },
- { 43.6152, 0 },
- { 53.139, 4.7619 },
- { 62.6629, 14.2857 },
-};
-
-static const StrokeRec char99[] = {
- { 14, char99_stroke0 },
-};
-
-/* char: 100 'd' */
-
-static const CoordRec char100_stroke0[] = {
- { 61.7829, 100 },
- { 61.7829, 0 },
-};
-
-static const CoordRec char100_stroke1[] = {
- { 61.7829, 52.381 },
- { 52.259, 61.9048 },
- { 42.7352, 66.6667 },
- { 28.4495, 66.6667 },
- { 18.9257, 61.9048 },
- { 9.4019, 52.381 },
- { 4.64, 38.0952 },
- { 4.64, 28.5714 },
- { 9.4019, 14.2857 },
- { 18.9257, 4.7619 },
- { 28.4495, 0 },
- { 42.7352, 0 },
- { 52.259, 4.7619 },
- { 61.7829, 14.2857 },
-};
-
-static const StrokeRec char100[] = {
- { 2, char100_stroke0 },
- { 14, char100_stroke1 },
-};
-
-/* char: 101 'e' */
-
-static const CoordRec char101_stroke0[] = {
- { 5.72, 38.0952 },
- { 62.8629, 38.0952 },
- { 62.8629, 47.619 },
- { 58.101, 57.1429 },
- { 53.339, 61.9048 },
- { 43.8152, 66.6667 },
- { 29.5295, 66.6667 },
- { 20.0057, 61.9048 },
- { 10.4819, 52.381 },
- { 5.72, 38.0952 },
- { 5.72, 28.5714 },
- { 10.4819, 14.2857 },
- { 20.0057, 4.7619 },
- { 29.5295, 0 },
- { 43.8152, 0 },
- { 53.339, 4.7619 },
- { 62.8629, 14.2857 },
-};
-
-static const StrokeRec char101[] = {
- { 17, char101_stroke0 },
-};
-
-/* char: 102 'f' */
-
-static const CoordRec char102_stroke0[] = {
- { 38.7752, 100 },
- { 29.2514, 100 },
- { 19.7276, 95.2381 },
- { 14.9657, 80.9524 },
- { 14.9657, 0 },
-};
-
-static const CoordRec char102_stroke1[] = {
- { 0.68, 66.6667 },
- { 34.0133, 66.6667 },
-};
-
-static const StrokeRec char102[] = {
- { 5, char102_stroke0 },
- { 2, char102_stroke1 },
-};
-
-/* char: 103 'g' */
-
-static const CoordRec char103_stroke0[] = {
- { 62.5029, 66.6667 },
- { 62.5029, -9.5238 },
- { 57.741, -23.8095 },
- { 52.979, -28.5714 },
- { 43.4552, -33.3333 },
- { 29.1695, -33.3333 },
- { 19.6457, -28.5714 },
-};
-
-static const CoordRec char103_stroke1[] = {
- { 62.5029, 52.381 },
- { 52.979, 61.9048 },
- { 43.4552, 66.6667 },
- { 29.1695, 66.6667 },
- { 19.6457, 61.9048 },
- { 10.1219, 52.381 },
- { 5.36, 38.0952 },
- { 5.36, 28.5714 },
- { 10.1219, 14.2857 },
- { 19.6457, 4.7619 },
- { 29.1695, 0 },
- { 43.4552, 0 },
- { 52.979, 4.7619 },
- { 62.5029, 14.2857 },
-};
-
-static const StrokeRec char103[] = {
- { 7, char103_stroke0 },
- { 14, char103_stroke1 },
-};
-
-/* char: 104 'h' */
-
-static const CoordRec char104_stroke0[] = {
- { 9.6, 100 },
- { 9.6, 0 },
-};
-
-static const CoordRec char104_stroke1[] = {
- { 9.6, 47.619 },
- { 23.8857, 61.9048 },
- { 33.4095, 66.6667 },
- { 47.6952, 66.6667 },
- { 57.219, 61.9048 },
- { 61.981, 47.619 },
- { 61.981, 0 },
-};
-
-static const StrokeRec char104[] = {
- { 2, char104_stroke0 },
- { 7, char104_stroke1 },
-};
-
-/* char: 105 'i' */
-
-static const CoordRec char105_stroke0[] = {
- { 10.02, 100 },
- { 14.7819, 95.2381 },
- { 19.5438, 100 },
- { 14.7819, 104.762 },
- { 10.02, 100 },
-};
-
-static const CoordRec char105_stroke1[] = {
- { 14.7819, 66.6667 },
- { 14.7819, 0 },
-};
-
-static const StrokeRec char105[] = {
- { 5, char105_stroke0 },
- { 2, char105_stroke1 },
-};
-
-/* char: 106 'j' */
-
-static const CoordRec char106_stroke0[] = {
- { 17.3876, 100 },
- { 22.1495, 95.2381 },
- { 26.9114, 100 },
- { 22.1495, 104.762 },
- { 17.3876, 100 },
-};
-
-static const CoordRec char106_stroke1[] = {
- { 22.1495, 66.6667 },
- { 22.1495, -14.2857 },
- { 17.3876, -28.5714 },
- { 7.8638, -33.3333 },
- { -1.66, -33.3333 },
-};
-
-static const StrokeRec char106[] = {
- { 5, char106_stroke0 },
- { 5, char106_stroke1 },
-};
-
-/* char: 107 'k' */
-
-static const CoordRec char107_stroke0[] = {
- { 9.6, 100 },
- { 9.6, 0 },
-};
-
-static const CoordRec char107_stroke1[] = {
- { 57.219, 66.6667 },
- { 9.6, 19.0476 },
-};
-
-static const CoordRec char107_stroke2[] = {
- { 28.6476, 38.0952 },
- { 61.981, 0 },
-};
-
-static const StrokeRec char107[] = {
- { 2, char107_stroke0 },
- { 2, char107_stroke1 },
- { 2, char107_stroke2 },
-};
-
-/* char: 108 'l' */
-
-static const CoordRec char108_stroke0[] = {
- { 10.02, 100 },
- { 10.02, 0 },
-};
-
-static const StrokeRec char108[] = {
- { 2, char108_stroke0 },
-};
-
-/* char: 109 'm' */
-
-static const CoordRec char109_stroke0[] = {
- { 9.6, 66.6667 },
- { 9.6, 0 },
-};
-
-static const CoordRec char109_stroke1[] = {
- { 9.6, 47.619 },
- { 23.8857, 61.9048 },
- { 33.4095, 66.6667 },
- { 47.6952, 66.6667 },
- { 57.219, 61.9048 },
- { 61.981, 47.619 },
- { 61.981, 0 },
-};
-
-static const CoordRec char109_stroke2[] = {
- { 61.981, 47.619 },
- { 76.2667, 61.9048 },
- { 85.7905, 66.6667 },
- { 100.076, 66.6667 },
- { 109.6, 61.9048 },
- { 114.362, 47.619 },
- { 114.362, 0 },
-};
-
-static const StrokeRec char109[] = {
- { 2, char109_stroke0 },
- { 7, char109_stroke1 },
- { 7, char109_stroke2 },
-};
-
-/* char: 110 'n' */
-
-static const CoordRec char110_stroke0[] = {
- { 9.18, 66.6667 },
- { 9.18, 0 },
-};
-
-static const CoordRec char110_stroke1[] = {
- { 9.18, 47.619 },
- { 23.4657, 61.9048 },
- { 32.9895, 66.6667 },
- { 47.2752, 66.6667 },
- { 56.799, 61.9048 },
- { 61.561, 47.619 },
- { 61.561, 0 },
-};
-
-static const StrokeRec char110[] = {
- { 2, char110_stroke0 },
- { 7, char110_stroke1 },
-};
-
-/* char: 111 'o' */
-
-static const CoordRec char111_stroke0[] = {
- { 28.7895, 66.6667 },
- { 19.2657, 61.9048 },
- { 9.7419, 52.381 },
- { 4.98, 38.0952 },
- { 4.98, 28.5714 },
- { 9.7419, 14.2857 },
- { 19.2657, 4.7619 },
- { 28.7895, 0 },
- { 43.0752, 0 },
- { 52.599, 4.7619 },
- { 62.1229, 14.2857 },
- { 66.8848, 28.5714 },
- { 66.8848, 38.0952 },
- { 62.1229, 52.381 },
- { 52.599, 61.9048 },
- { 43.0752, 66.6667 },
- { 28.7895, 66.6667 },
-};
-
-static const StrokeRec char111[] = {
- { 17, char111_stroke0 },
-};
-
-/* char: 112 'p' */
-
-static const CoordRec char112_stroke0[] = {
- { 9.46, 66.6667 },
- { 9.46, -33.3333 },
-};
-
-static const CoordRec char112_stroke1[] = {
- { 9.46, 52.381 },
- { 18.9838, 61.9048 },
- { 28.5076, 66.6667 },
- { 42.7933, 66.6667 },
- { 52.3171, 61.9048 },
- { 61.841, 52.381 },
- { 66.6029, 38.0952 },
- { 66.6029, 28.5714 },
- { 61.841, 14.2857 },
- { 52.3171, 4.7619 },
- { 42.7933, 0 },
- { 28.5076, 0 },
- { 18.9838, 4.7619 },
- { 9.46, 14.2857 },
-};
-
-static const StrokeRec char112[] = {
- { 2, char112_stroke0 },
- { 14, char112_stroke1 },
-};
-
-/* char: 113 'q' */
-
-static const CoordRec char113_stroke0[] = {
- { 61.9829, 66.6667 },
- { 61.9829, -33.3333 },
-};
-
-static const CoordRec char113_stroke1[] = {
- { 61.9829, 52.381 },
- { 52.459, 61.9048 },
- { 42.9352, 66.6667 },
- { 28.6495, 66.6667 },
- { 19.1257, 61.9048 },
- { 9.6019, 52.381 },
- { 4.84, 38.0952 },
- { 4.84, 28.5714 },
- { 9.6019, 14.2857 },
- { 19.1257, 4.7619 },
- { 28.6495, 0 },
- { 42.9352, 0 },
- { 52.459, 4.7619 },
- { 61.9829, 14.2857 },
-};
-
-static const StrokeRec char113[] = {
- { 2, char113_stroke0 },
- { 14, char113_stroke1 },
-};
-
-/* char: 114 'r' */
-
-static const CoordRec char114_stroke0[] = {
- { 9.46, 66.6667 },
- { 9.46, 0 },
-};
-
-static const CoordRec char114_stroke1[] = {
- { 9.46, 38.0952 },
- { 14.2219, 52.381 },
- { 23.7457, 61.9048 },
- { 33.2695, 66.6667 },
- { 47.5552, 66.6667 },
-};
-
-static const StrokeRec char114[] = {
- { 2, char114_stroke0 },
- { 5, char114_stroke1 },
-};
-
-/* char: 115 's' */
-
-static const CoordRec char115_stroke0[] = {
- { 57.081, 52.381 },
- { 52.319, 61.9048 },
- { 38.0333, 66.6667 },
- { 23.7476, 66.6667 },
- { 9.4619, 61.9048 },
- { 4.7, 52.381 },
- { 9.4619, 42.8571 },
- { 18.9857, 38.0952 },
- { 42.7952, 33.3333 },
- { 52.319, 28.5714 },
- { 57.081, 19.0476 },
- { 57.081, 14.2857 },
- { 52.319, 4.7619 },
- { 38.0333, 0 },
- { 23.7476, 0 },
- { 9.4619, 4.7619 },
- { 4.7, 14.2857 },
-};
-
-static const StrokeRec char115[] = {
- { 17, char115_stroke0 },
-};
-
-/* char: 116 't' */
-
-static const CoordRec char116_stroke0[] = {
- { 14.8257, 100 },
- { 14.8257, 19.0476 },
- { 19.5876, 4.7619 },
- { 29.1114, 0 },
- { 38.6352, 0 },
-};
-
-static const CoordRec char116_stroke1[] = {
- { 0.54, 66.6667 },
- { 33.8733, 66.6667 },
-};
-
-static const StrokeRec char116[] = {
- { 5, char116_stroke0 },
- { 2, char116_stroke1 },
-};
-
-/* char: 117 'u' */
-
-static const CoordRec char117_stroke0[] = {
- { 9.46, 66.6667 },
- { 9.46, 19.0476 },
- { 14.2219, 4.7619 },
- { 23.7457, 0 },
- { 38.0314, 0 },
- { 47.5552, 4.7619 },
- { 61.841, 19.0476 },
-};
-
-static const CoordRec char117_stroke1[] = {
- { 61.841, 66.6667 },
- { 61.841, 0 },
-};
-
-static const StrokeRec char117[] = {
- { 7, char117_stroke0 },
- { 2, char117_stroke1 },
-};
-
-/* char: 118 'v' */
-
-static const CoordRec char118_stroke0[] = {
- { 1.8, 66.6667 },
- { 30.3714, 0 },
-};
-
-static const CoordRec char118_stroke1[] = {
- { 58.9429, 66.6667 },
- { 30.3714, 0 },
-};
-
-static const StrokeRec char118[] = {
- { 2, char118_stroke0 },
- { 2, char118_stroke1 },
-};
-
-/* char: 119 'w' */
-
-static const CoordRec char119_stroke0[] = {
- { 2.5, 66.6667 },
- { 21.5476, 0 },
-};
-
-static const CoordRec char119_stroke1[] = {
- { 40.5952, 66.6667 },
- { 21.5476, 0 },
-};
-
-static const CoordRec char119_stroke2[] = {
- { 40.5952, 66.6667 },
- { 59.6429, 0 },
-};
-
-static const CoordRec char119_stroke3[] = {
- { 78.6905, 66.6667 },
- { 59.6429, 0 },
-};
-
-static const StrokeRec char119[] = {
- { 2, char119_stroke0 },
- { 2, char119_stroke1 },
- { 2, char119_stroke2 },
- { 2, char119_stroke3 },
-};
-
-/* char: 120 'x' */
-
-static const CoordRec char120_stroke0[] = {
- { 1.66, 66.6667 },
- { 54.041, 0 },
-};
-
-static const CoordRec char120_stroke1[] = {
- { 54.041, 66.6667 },
- { 1.66, 0 },
-};
-
-static const StrokeRec char120[] = {
- { 2, char120_stroke0 },
- { 2, char120_stroke1 },
-};
-
-/* char: 121 'y' */
-
-static const CoordRec char121_stroke0[] = {
- { 6.5619, 66.6667 },
- { 35.1333, 0 },
-};
-
-static const CoordRec char121_stroke1[] = {
- { 63.7048, 66.6667 },
- { 35.1333, 0 },
- { 25.6095, -19.0476 },
- { 16.0857, -28.5714 },
- { 6.5619, -33.3333 },
- { 1.8, -33.3333 },
-};
-
-static const StrokeRec char121[] = {
- { 2, char121_stroke0 },
- { 6, char121_stroke1 },
-};
-
-/* char: 122 'z' */
-
-static const CoordRec char122_stroke0[] = {
- { 56.821, 66.6667 },
- { 4.44, 0 },
-};
-
-static const CoordRec char122_stroke1[] = {
- { 4.44, 66.6667 },
- { 56.821, 66.6667 },
-};
-
-static const CoordRec char122_stroke2[] = {
- { 4.44, 0 },
- { 56.821, 0 },
-};
-
-static const StrokeRec char122[] = {
- { 2, char122_stroke0 },
- { 2, char122_stroke1 },
- { 2, char122_stroke2 },
-};
-
-/* char: 123 '{' */
-
-static const CoordRec char123_stroke0[] = {
- { 31.1895, 119.048 },
- { 21.6657, 114.286 },
- { 16.9038, 109.524 },
- { 12.1419, 100 },
- { 12.1419, 90.4762 },
- { 16.9038, 80.9524 },
- { 21.6657, 76.1905 },
- { 26.4276, 66.6667 },
- { 26.4276, 57.1429 },
- { 16.9038, 47.619 },
-};
-
-static const CoordRec char123_stroke1[] = {
- { 21.6657, 114.286 },
- { 16.9038, 104.762 },
- { 16.9038, 95.2381 },
- { 21.6657, 85.7143 },
- { 26.4276, 80.9524 },
- { 31.1895, 71.4286 },
- { 31.1895, 61.9048 },
- { 26.4276, 52.381 },
- { 7.38, 42.8571 },
- { 26.4276, 33.3333 },
- { 31.1895, 23.8095 },
- { 31.1895, 14.2857 },
- { 26.4276, 4.7619 },
- { 21.6657, 0 },
- { 16.9038, -9.5238 },
- { 16.9038, -19.0476 },
- { 21.6657, -28.5714 },
-};
-
-static const CoordRec char123_stroke2[] = {
- { 16.9038, 38.0952 },
- { 26.4276, 28.5714 },
- { 26.4276, 19.0476 },
- { 21.6657, 9.5238 },
- { 16.9038, 4.7619 },
- { 12.1419, -4.7619 },
- { 12.1419, -14.2857 },
- { 16.9038, -23.8095 },
- { 21.6657, -28.5714 },
- { 31.1895, -33.3333 },
-};
-
-static const StrokeRec char123[] = {
- { 10, char123_stroke0 },
- { 17, char123_stroke1 },
- { 10, char123_stroke2 },
-};
-
-/* char: 124 '|' */
-
-static const CoordRec char124_stroke0[] = {
- { 11.54, 119.048 },
- { 11.54, -33.3333 },
-};
-
-static const StrokeRec char124[] = {
- { 2, char124_stroke0 },
-};
-
-/* char: 125 '}' */
-
-static const CoordRec char125_stroke0[] = {
- { 9.18, 119.048 },
- { 18.7038, 114.286 },
- { 23.4657, 109.524 },
- { 28.2276, 100 },
- { 28.2276, 90.4762 },
- { 23.4657, 80.9524 },
- { 18.7038, 76.1905 },
- { 13.9419, 66.6667 },
- { 13.9419, 57.1429 },
- { 23.4657, 47.619 },
-};
-
-static const CoordRec char125_stroke1[] = {
- { 18.7038, 114.286 },
- { 23.4657, 104.762 },
- { 23.4657, 95.2381 },
- { 18.7038, 85.7143 },
- { 13.9419, 80.9524 },
- { 9.18, 71.4286 },
- { 9.18, 61.9048 },
- { 13.9419, 52.381 },
- { 32.9895, 42.8571 },
- { 13.9419, 33.3333 },
- { 9.18, 23.8095 },
- { 9.18, 14.2857 },
- { 13.9419, 4.7619 },
- { 18.7038, 0 },
- { 23.4657, -9.5238 },
- { 23.4657, -19.0476 },
- { 18.7038, -28.5714 },
-};
-
-static const CoordRec char125_stroke2[] = {
- { 23.4657, 38.0952 },
- { 13.9419, 28.5714 },
- { 13.9419, 19.0476 },
- { 18.7038, 9.5238 },
- { 23.4657, 4.7619 },
- { 28.2276, -4.7619 },
- { 28.2276, -14.2857 },
- { 23.4657, -23.8095 },
- { 18.7038, -28.5714 },
- { 9.18, -33.3333 },
-};
-
-static const StrokeRec char125[] = {
- { 10, char125_stroke0 },
- { 17, char125_stroke1 },
- { 10, char125_stroke2 },
-};
-
-/* char: 126 '~' */
-
-static const CoordRec char126_stroke0[] = {
- { 2.92, 28.5714 },
- { 2.92, 38.0952 },
- { 7.6819, 52.381 },
- { 17.2057, 57.1429 },
- { 26.7295, 57.1429 },
- { 36.2533, 52.381 },
- { 55.301, 38.0952 },
- { 64.8248, 33.3333 },
- { 74.3486, 33.3333 },
- { 83.8724, 38.0952 },
- { 88.6343, 47.619 },
-};
-
-static const CoordRec char126_stroke1[] = {
- { 2.92, 38.0952 },
- { 7.6819, 47.619 },
- { 17.2057, 52.381 },
- { 26.7295, 52.381 },
- { 36.2533, 47.619 },
- { 55.301, 33.3333 },
- { 64.8248, 28.5714 },
- { 74.3486, 28.5714 },
- { 83.8724, 33.3333 },
- { 88.6343, 47.619 },
- { 88.6343, 57.1429 },
-};
-
-static const StrokeRec char126[] = {
- { 11, char126_stroke0 },
- { 11, char126_stroke1 },
-};
-
-/* char: 127 */
-
-static const CoordRec char127_stroke0[] = {
- { 52.381, 100 },
- { 14.2857, -33.3333 },
-};
-
-static const CoordRec char127_stroke1[] = {
- { 28.5714, 66.6667 },
- { 14.2857, 61.9048 },
- { 4.7619, 52.381 },
- { 0, 38.0952 },
- { 0, 23.8095 },
- { 4.7619, 14.2857 },
- { 14.2857, 4.7619 },
- { 28.5714, 0 },
- { 38.0952, 0 },
- { 52.381, 4.7619 },
- { 61.9048, 14.2857 },
- { 66.6667, 28.5714 },
- { 66.6667, 42.8571 },
- { 61.9048, 52.381 },
- { 52.381, 61.9048 },
- { 38.0952, 66.6667 },
- { 28.5714, 66.6667 },
-};
-
-static const StrokeRec char127[] = {
- { 2, char127_stroke0 },
- { 17, char127_stroke1 },
-};
-
-static const StrokeCharRec chars[] = {
- { 0, /* char0 */ 0, 0, 0 },
- { 0, /* char1 */ 0, 0, 0 },
- { 0, /* char2 */ 0, 0, 0 },
- { 0, /* char3 */ 0, 0, 0 },
- { 0, /* char4 */ 0, 0, 0 },
- { 0, /* char5 */ 0, 0, 0 },
- { 0, /* char6 */ 0, 0, 0 },
- { 0, /* char7 */ 0, 0, 0 },
- { 0, /* char8 */ 0, 0, 0 },
- { 0, /* char9 */ 0, 0, 0 },
- { 0, /* char10 */ 0, 0, 0 },
- { 0, /* char11 */ 0, 0, 0 },
- { 0, /* char12 */ 0, 0, 0 },
- { 0, /* char13 */ 0, 0, 0 },
- { 0, /* char14 */ 0, 0, 0 },
- { 0, /* char15 */ 0, 0, 0 },
- { 0, /* char16 */ 0, 0, 0 },
- { 0, /* char17 */ 0, 0, 0 },
- { 0, /* char18 */ 0, 0, 0 },
- { 0, /* char19 */ 0, 0, 0 },
- { 0, /* char20 */ 0, 0, 0 },
- { 0, /* char21 */ 0, 0, 0 },
- { 0, /* char22 */ 0, 0, 0 },
- { 0, /* char23 */ 0, 0, 0 },
- { 0, /* char24 */ 0, 0, 0 },
- { 0, /* char25 */ 0, 0, 0 },
- { 0, /* char26 */ 0, 0, 0 },
- { 0, /* char27 */ 0, 0, 0 },
- { 0, /* char28 */ 0, 0, 0 },
- { 0, /* char29 */ 0, 0, 0 },
- { 0, /* char30 */ 0, 0, 0 },
- { 0, /* char31 */ 0, 0, 0 },
- { 0, /* char32 */ 0, 52.381, 104.762 },
- { 2, char33, 13.3819, 26.6238 },
- { 2, char34, 23.0676, 51.4352 },
- { 4, char35, 36.5333, 79.4886 },
- { 3, char36, 38.1533, 76.2067 },
- { 3, char37, 49.2171, 96.5743 },
- { 1, char38, 53.599, 101.758 },
- { 1, char39, 4.44, 13.62 },
- { 1, char40, 21.8657, 47.1733 },
- { 1, char41, 24.3276, 47.5333 },
- { 3, char42, 30.7695, 59.439 },
- { 2, char43, 48.8371, 97.2543 },
- { 1, char44, 13.5219, 26.0638 },
- { 1, char45, 50.2371, 100.754 },
- { 1, char46, 13.1019, 26.4838 },
- { 1, char47, 40.5733, 82.1067 },
- { 1, char48, 38.3133, 77.0667 },
- { 1, char49, 30.8676, 66.5295 },
- { 1, char50, 38.7533, 77.6467 },
- { 1, char51, 38.3333, 77.0467 },
- { 2, char52, 37.2133, 80.1686 },
- { 1, char53, 38.1933, 77.6867 },
- { 1, char54, 34.1514, 73.8048 },
- { 2, char55, 38.8933, 77.2267 },
- { 1, char56, 38.9333, 77.6667 },
- { 1, char57, 39.9333, 74.0648 },
- { 2, char58, 14.0819, 26.2238 },
- { 2, char59, 12.9619, 26.3038 },
- { 1, char60, 41.1552, 81.6105 },
- { 2, char61, 48.5571, 97.2543 },
- { 1, char62, 40.8752, 81.6105 },
- { 2, char63, 36.9914, 73.9029 },
- { 2, char64, 34.9314, 74.3648 },
- { 3, char65, 40.5952, 80.4905 },
- { 3, char66, 44.7533, 83.6267 },
- { 1, char67, 39.9933, 84.4886 },
- { 2, char68, 45.2933, 85.2867 },
- { 4, char69, 39.9914, 78.1848 },
- { 3, char70, 39.9914, 78.7448 },
- { 2, char71, 40.3933, 89.7686 },
- { 3, char72, 44.7533, 89.0867 },
- { 1, char73, 10.86, 21.3 },
- { 1, char74, 31.0714, 59.999 },
- { 3, char75, 44.6133, 79.3267 },
- { 2, char76, 40.2514, 71.3229 },
- { 4, char77, 48.9552, 97.2105 },
- { 3, char78, 44.4733, 88.8067 },
- { 1, char79, 44.3352, 88.8305 },
- { 2, char80, 45.4333, 85.6667 },
- { 2, char81, 43.3952, 88.0905 },
- { 3, char82, 45.0133, 82.3667 },
- { 1, char83, 41.3333, 80.8267 },
- { 2, char84, 35.6933, 71.9467 },
- { 1, char85, 44.8733, 89.4867 },
- { 2, char86, 40.4552, 81.6105 },
- { 4, char87, 49.839, 100.518 },
- { 2, char88, 35.8333, 72.3667 },
- { 2, char89, 39.6152, 79.6505 },
- { 3, char90, 35.8333, 73.7467 },
- { 4, char91, 22.0657, 46.1133 },
- { 1, char92, 39.1733, 78.2067 },
- { 4, char93, 23.4876, 46.3933 },
- { 2, char94, 44.0752, 90.2305 },
- { 1, char95, 51.281, 104.062 },
- { 2, char96, 42.5457, 83.5714 },
- { 2, char97, 35.2514, 66.6029 },
- { 2, char98, 37.3314, 70.4629 },
- { 1, char99, 34.0914, 68.9229 },
- { 2, char100, 33.2114, 70.2629 },
- { 1, char101, 34.2914, 68.5229 },
- { 2, char102, 14.9657, 38.6552 },
- { 2, char103, 33.9314, 70.9829 },
- { 2, char104, 33.4095, 71.021 },
- { 2, char105, 14.7819, 28.8638 },
- { 2, char106, 17.3876, 36.2314 },
- { 3, char107, 33.4095, 62.521 },
- { 1, char108, 10.02, 19.34 },
- { 3, char109, 61.981, 123.962 },
- { 2, char110, 32.9895, 70.881 },
- { 1, char111, 33.5514, 71.7448 },
- { 2, char112, 38.0314, 70.8029 },
- { 2, char113, 33.4114, 70.7429 },
- { 2, char114, 23.7457, 49.4952 },
- { 1, char115, 28.5095, 62.321 },
- { 2, char116, 14.8257, 39.3152 },
- { 2, char117, 33.2695, 71.161 },
- { 2, char118, 30.3714, 60.6029 },
- { 4, char119, 40.5952, 80.4905 },
- { 2, char120, 25.4695, 56.401 },
- { 2, char121, 35.1333, 66.0648 },
- { 3, char122, 28.2495, 61.821 },
- { 3, char123, 21.6657, 41.6295 },
- { 1, char124, 11.54, 23.78 },
- { 3, char125, 18.7038, 41.4695 },
- { 2, char126, 45.7771, 91.2743 },
- { 2, char127, 33.3333, 66.6667 },
-};
-
-StrokeFontRec glutStrokeRoman = { "Roman", 128, chars, 119.048, -33.3333 };
-
diff --git a/src/glut/os2/glut_shapes.cpp b/src/glut/os2/glut_shapes.cpp
deleted file mode 100644
index 111e2d48e9..0000000000
--- a/src/glut/os2/glut_shapes.cpp
+++ /dev/null
@@ -1,595 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994, 1997. */
-
-/**
-(c) Copyright 1993, Silicon Graphics, Inc.
-
-ALL RIGHTS RESERVED
-
-Permission to use, copy, modify, and distribute this software
-for any purpose and without fee is hereby granted, provided
-that the above copyright notice appear in all copies and that
-both the copyright notice and this permission notice appear in
-supporting documentation, and that the name of Silicon
-Graphics, Inc. not be used in advertising or publicity
-pertaining to distribution of the software without specific,
-written prior permission.
-
-THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU
-"AS-IS" AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR
-OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO
-EVENT SHALL SILICON GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE
-ELSE FOR ANY DIRECT, SPECIAL, INCIDENTAL, INDIRECT OR
-CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER,
-INCLUDING WITHOUT LIMITATION, LOSS OF PROFIT, LOSS OF USE,
-SAVINGS OR REVENUE, OR THE CLAIMS OF THIRD PARTIES, WHETHER OR
-NOT SILICON GRAPHICS, INC. HAS BEEN ADVISED OF THE POSSIBILITY
-OF SUCH LOSS, HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-ARISING OUT OF OR IN CONNECTION WITH THE POSSESSION, USE OR
-PERFORMANCE OF THIS SOFTWARE.
-
-US Government Users Restricted Rights
-
-Use, duplication, or disclosure by the Government is subject to
-restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
-(c)(1)(ii) of the Rights in Technical Data and Computer
-Software clause at DFARS 252.227-7013 and/or in similar or
-successor clauses in the FAR or the DOD or NASA FAR
-Supplement. Unpublished-- rights reserved under the copyright
-laws of the United States. Contractor/manufacturer is Silicon
-Graphics, Inc., 2011 N. Shoreline Blvd., Mountain View, CA
-94039-7311.
-
-OpenGL(TM) is a trademark of Silicon Graphics, Inc.
-*/
-
-#include <math.h>
-#include "glutint.h"
-
-/* Some <math.h> files do not define M_PI... */
-#ifndef M_PI
-#define M_PI 3.14159265358979323846
-#endif
-
-static GLUquadricObj *quadObj;
-
-#define QUAD_OBJ_INIT() { if(!quadObj) initQuadObj(); }
-
-static void
-initQuadObj(void)
-{
- quadObj = gluNewQuadric();
- if (!quadObj)
- __glutFatalError("out of memory.");
-}
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutWireSphere(GLdouble radius, GLint slices, GLint stacks)
-{
- QUAD_OBJ_INIT();
- gluQuadricDrawStyle(quadObj, GLU_LINE);
- gluQuadricNormals(quadObj, GLU_SMOOTH);
- /* If we ever changed/used the texture or orientation state
- of quadObj, we'd need to change it to the defaults here
- with gluQuadricTexture and/or gluQuadricOrientation. */
- gluSphere(quadObj, radius, slices, stacks);
-}
-
-void GLUTAPIENTRY
-glutSolidSphere(GLdouble radius, GLint slices, GLint stacks)
-{
- QUAD_OBJ_INIT();
- gluQuadricDrawStyle(quadObj, GLU_FILL);
- gluQuadricNormals(quadObj, GLU_SMOOTH);
- /* If we ever changed/used the texture or orientation state
- of quadObj, we'd need to change it to the defaults here
- with gluQuadricTexture and/or gluQuadricOrientation. */
- gluSphere(quadObj, radius, slices, stacks);
-}
-
-void GLUTAPIENTRY
-glutWireCone(GLdouble base, GLdouble height,
- GLint slices, GLint stacks)
-{
- QUAD_OBJ_INIT();
- gluQuadricDrawStyle(quadObj, GLU_LINE);
- gluQuadricNormals(quadObj, GLU_SMOOTH);
- /* If we ever changed/used the texture or orientation state
- of quadObj, we'd need to change it to the defaults here
- with gluQuadricTexture and/or gluQuadricOrientation. */
- gluCylinder(quadObj, base, 0.0, height, slices, stacks);
-}
-
-void GLUTAPIENTRY
-glutSolidCone(GLdouble base, GLdouble height,
- GLint slices, GLint stacks)
-{
- QUAD_OBJ_INIT();
- gluQuadricDrawStyle(quadObj, GLU_FILL);
- gluQuadricNormals(quadObj, GLU_SMOOTH);
- /* If we ever changed/used the texture or orientation state
- of quadObj, we'd need to change it to the defaults here
- with gluQuadricTexture and/or gluQuadricOrientation. */
- gluCylinder(quadObj, base, 0.0, height, slices, stacks);
-}
-
-/* ENDCENTRY */
-
-static void
-drawBox(GLfloat size, GLenum type)
-{
- static GLfloat n[6][3] =
- {
- {-1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {1.0, 0.0, 0.0},
- {0.0, -1.0, 0.0},
- {0.0, 0.0, 1.0},
- {0.0, 0.0, -1.0}
- };
- static GLint faces[6][4] =
- {
- {0, 1, 2, 3},
- {3, 2, 6, 7},
- {7, 6, 5, 4},
- {4, 5, 1, 0},
- {5, 6, 2, 1},
- {7, 4, 0, 3}
- };
- GLfloat v[8][3];
- GLint i;
-
- v[0][0] = v[1][0] = v[2][0] = v[3][0] = -size / 2;
- v[4][0] = v[5][0] = v[6][0] = v[7][0] = size / 2;
- v[0][1] = v[1][1] = v[4][1] = v[5][1] = -size / 2;
- v[2][1] = v[3][1] = v[6][1] = v[7][1] = size / 2;
- v[0][2] = v[3][2] = v[4][2] = v[7][2] = -size / 2;
- v[1][2] = v[2][2] = v[5][2] = v[6][2] = size / 2;
-
- for (i = 5; i >= 0; i--) {
- glBegin(type);
- glNormal3fv(&n[i][0]);
- glVertex3fv(&v[faces[i][0]][0]);
- glVertex3fv(&v[faces[i][1]][0]);
- glVertex3fv(&v[faces[i][2]][0]);
- glVertex3fv(&v[faces[i][3]][0]);
- glEnd();
- }
-}
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutWireCube(GLdouble size)
-{
- drawBox(size, GL_LINE_LOOP);
-}
-
-void GLUTAPIENTRY
-glutSolidCube(GLdouble size)
-{
- drawBox(size, GL_QUADS);
-}
-
-/* ENDCENTRY */
-
-static void
-doughnut(GLfloat r, GLfloat R, GLint nsides, GLint rings)
-{
- int i, j;
- GLfloat theta, phi, theta1;
- GLfloat cosTheta, sinTheta;
- GLfloat cosTheta1, sinTheta1;
- GLfloat ringDelta, sideDelta;
-
- ringDelta = 2.0 * M_PI / rings;
- sideDelta = 2.0 * M_PI / nsides;
-
- theta = 0.0;
- cosTheta = 1.0;
- sinTheta = 0.0;
- for (i = rings - 1; i >= 0; i--) {
- theta1 = theta + ringDelta;
- cosTheta1 = cos(theta1);
- sinTheta1 = sin(theta1);
- glBegin(GL_QUAD_STRIP);
- phi = 0.0;
- for (j = nsides; j >= 0; j--) {
- GLfloat cosPhi, sinPhi, dist;
-
- phi += sideDelta;
- cosPhi = cos(phi);
- sinPhi = sin(phi);
- dist = R + r * cosPhi;
-
- glNormal3f(cosTheta1 * cosPhi, -sinTheta1 * cosPhi, sinPhi);
- glVertex3f(cosTheta1 * dist, -sinTheta1 * dist, r * sinPhi);
- glNormal3f(cosTheta * cosPhi, -sinTheta * cosPhi, sinPhi);
- glVertex3f(cosTheta * dist, -sinTheta * dist, r * sinPhi);
- }
- glEnd();
- theta = theta1;
- cosTheta = cosTheta1;
- sinTheta = sinTheta1;
- }
-}
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutWireTorus(GLdouble innerRadius, GLdouble outerRadius,
- GLint nsides, GLint rings)
-{
- glPushAttrib(GL_POLYGON_BIT);
- glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
- doughnut(innerRadius, outerRadius, nsides, rings);
- glPopAttrib();
-}
-
-void GLUTAPIENTRY
-glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius,
- GLint nsides, GLint rings)
-{
- doughnut(innerRadius, outerRadius, nsides, rings);
-}
-
-/* ENDCENTRY */
-
-static GLfloat dodec[20][3];
-
-static void
-initDodecahedron(void)
-{
- GLfloat alpha, beta;
-
- alpha = sqrt(2.0 / (3.0 + sqrt(5.0)));
- beta = 1.0 + sqrt(6.0 / (3.0 + sqrt(5.0)) -
- 2.0 + 2.0 * sqrt(2.0 / (3.0 + sqrt(5.0))));
- /* *INDENT-OFF* */
- dodec[0][0] = -alpha; dodec[0][1] = 0; dodec[0][2] = beta;
- dodec[1][0] = alpha; dodec[1][1] = 0; dodec[1][2] = beta;
- dodec[2][0] = -1; dodec[2][1] = -1; dodec[2][2] = -1;
- dodec[3][0] = -1; dodec[3][1] = -1; dodec[3][2] = 1;
- dodec[4][0] = -1; dodec[4][1] = 1; dodec[4][2] = -1;
- dodec[5][0] = -1; dodec[5][1] = 1; dodec[5][2] = 1;
- dodec[6][0] = 1; dodec[6][1] = -1; dodec[6][2] = -1;
- dodec[7][0] = 1; dodec[7][1] = -1; dodec[7][2] = 1;
- dodec[8][0] = 1; dodec[8][1] = 1; dodec[8][2] = -1;
- dodec[9][0] = 1; dodec[9][1] = 1; dodec[9][2] = 1;
- dodec[10][0] = beta; dodec[10][1] = alpha; dodec[10][2] = 0;
- dodec[11][0] = beta; dodec[11][1] = -alpha; dodec[11][2] = 0;
- dodec[12][0] = -beta; dodec[12][1] = alpha; dodec[12][2] = 0;
- dodec[13][0] = -beta; dodec[13][1] = -alpha; dodec[13][2] = 0;
- dodec[14][0] = -alpha; dodec[14][1] = 0; dodec[14][2] = -beta;
- dodec[15][0] = alpha; dodec[15][1] = 0; dodec[15][2] = -beta;
- dodec[16][0] = 0; dodec[16][1] = beta; dodec[16][2] = alpha;
- dodec[17][0] = 0; dodec[17][1] = beta; dodec[17][2] = -alpha;
- dodec[18][0] = 0; dodec[18][1] = -beta; dodec[18][2] = alpha;
- dodec[19][0] = 0; dodec[19][1] = -beta; dodec[19][2] = -alpha;
- /* *INDENT-ON* */
-
-}
-
-#define DIFF3(_a,_b,_c) { \
- (_c)[0] = (_a)[0] - (_b)[0]; \
- (_c)[1] = (_a)[1] - (_b)[1]; \
- (_c)[2] = (_a)[2] - (_b)[2]; \
-}
-
-static void
-crossprod(GLfloat v1[3], GLfloat v2[3], GLfloat prod[3])
-{
- GLfloat p[3]; /* in case prod == v1 or v2 */
-
- p[0] = v1[1] * v2[2] - v2[1] * v1[2];
- p[1] = v1[2] * v2[0] - v2[2] * v1[0];
- p[2] = v1[0] * v2[1] - v2[0] * v1[1];
- prod[0] = p[0];
- prod[1] = p[1];
- prod[2] = p[2];
-}
-
-static void
-normalize(GLfloat v[3])
-{
- GLfloat d;
-
- d = sqrt(v[0] * v[0] + v[1] * v[1] + v[2] * v[2]);
- if (d == 0.0) {
- __glutWarning("normalize: zero length vector");
- v[0] = d = 1.0;
- }
- d = 1 / d;
- v[0] *= d;
- v[1] *= d;
- v[2] *= d;
-}
-
-static void
-pentagon(int a, int b, int c, int d, int e, GLenum shadeType)
-{
- GLfloat n0[3], d1[3], d2[3];
-
- DIFF3(dodec[a], dodec[b], d1);
- DIFF3(dodec[b], dodec[c], d2);
- crossprod(d1, d2, n0);
- normalize(n0);
-
- glBegin(shadeType);
- glNormal3fv(n0);
- glVertex3fv(&dodec[a][0]);
- glVertex3fv(&dodec[b][0]);
- glVertex3fv(&dodec[c][0]);
- glVertex3fv(&dodec[d][0]);
- glVertex3fv(&dodec[e][0]);
- glEnd();
-}
-
-static void
-dodecahedron(GLenum type)
-{
- static int inited = 0;
-
- if (inited == 0) {
- inited = 1;
- initDodecahedron();
- }
- pentagon(0, 1, 9, 16, 5, type);
- pentagon(1, 0, 3, 18, 7, type);
- pentagon(1, 7, 11, 10, 9, type);
- pentagon(11, 7, 18, 19, 6, type);
- pentagon(8, 17, 16, 9, 10, type);
- pentagon(2, 14, 15, 6, 19, type);
- pentagon(2, 13, 12, 4, 14, type);
- pentagon(2, 19, 18, 3, 13, type);
- pentagon(3, 0, 5, 12, 13, type);
- pentagon(6, 15, 8, 10, 11, type);
- pentagon(4, 17, 8, 15, 14, type);
- pentagon(4, 12, 5, 16, 17, type);
-}
-
-/* CENTRY */
-void GLUTAPIENTRY glutWireDodecahedron(void)
-{
- dodecahedron(GL_LINE_LOOP);
-}
-
-void GLUTAPIENTRY
-glutSolidDodecahedron(void)
-{
- dodecahedron(GL_TRIANGLE_FAN);
-}
-
-/* ENDCENTRY */
-
-static void
-recorditem(GLfloat * n1, GLfloat * n2, GLfloat * n3,
- GLenum shadeType)
-{
- GLfloat q0[3], q1[3];
-
- DIFF3(n1, n2, q0);
- DIFF3(n2, n3, q1);
- crossprod(q0, q1, q1);
- normalize(q1);
-
- glBegin(shadeType);
- glNormal3fv(q1);
- glVertex3fv(n1);
- glVertex3fv(n2);
- glVertex3fv(n3);
- glEnd();
-}
-
-static void
-subdivide(GLfloat * v0, GLfloat * v1, GLfloat * v2,
- GLenum shadeType)
-{
- int depth;
- GLfloat w0[3], w1[3], w2[3];
- GLfloat l;
- int i, j, k, n;
-
- depth = 1;
- for (i = 0; i < depth; i++) {
- for (j = 0; i + j < depth; j++) {
- k = depth - i - j;
- for (n = 0; n < 3; n++) {
- w0[n] = (i * v0[n] + j * v1[n] + k * v2[n]) / depth;
- w1[n] = ((i + 1) * v0[n] + j * v1[n] + (k - 1) * v2[n])
- / depth;
- w2[n] = (i * v0[n] + (j + 1) * v1[n] + (k - 1) * v2[n])
- / depth;
- }
- l = sqrt(w0[0] * w0[0] + w0[1] * w0[1] + w0[2] * w0[2]);
- w0[0] /= l;
- w0[1] /= l;
- w0[2] /= l;
- l = sqrt(w1[0] * w1[0] + w1[1] * w1[1] + w1[2] * w1[2]);
- w1[0] /= l;
- w1[1] /= l;
- w1[2] /= l;
- l = sqrt(w2[0] * w2[0] + w2[1] * w2[1] + w2[2] * w2[2]);
- w2[0] /= l;
- w2[1] /= l;
- w2[2] /= l;
- recorditem(w1, w0, w2, shadeType);
- }
- }
-}
-
-static void
-drawtriangle(int i, GLfloat data[][3], int ndx[][3],
- GLenum shadeType)
-{
- GLfloat *x0, *x1, *x2;
-
- x0 = data[ndx[i][0]];
- x1 = data[ndx[i][1]];
- x2 = data[ndx[i][2]];
- subdivide(x0, x1, x2, shadeType);
-}
-
-/* octahedron data: The octahedron produced is centered at the
- origin and has radius 1.0 */
-static GLfloat odata[6][3] =
-{
- {1.0, 0.0, 0.0},
- {-1.0, 0.0, 0.0},
- {0.0, 1.0, 0.0},
- {0.0, -1.0, 0.0},
- {0.0, 0.0, 1.0},
- {0.0, 0.0, -1.0}
-};
-
-static int ondex[8][3] =
-{
- {0, 4, 2},
- {1, 2, 4},
- {0, 3, 4},
- {1, 4, 3},
- {0, 2, 5},
- {1, 5, 2},
- {0, 5, 3},
- {1, 3, 5}
-};
-
-static void
-octahedron(GLenum shadeType)
-{
- int i;
-
- for (i = 7; i >= 0; i--) {
- drawtriangle(i, odata, ondex, shadeType);
- }
-}
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutWireOctahedron(void)
-{
- octahedron(GL_LINE_LOOP);
-}
-
-void GLUTAPIENTRY
-glutSolidOctahedron(void)
-{
- octahedron(GL_TRIANGLES);
-}
-
-/* ENDCENTRY */
-
-/* icosahedron data: These numbers are rigged to make an
- icosahedron of radius 1.0 */
-
-#define X .525731112119133606
-#define Z .850650808352039932
-
-static GLfloat idata[12][3] =
-{
- {-X, 0, Z},
- {X, 0, Z},
- {-X, 0, -Z},
- {X, 0, -Z},
- {0, Z, X},
- {0, Z, -X},
- {0, -Z, X},
- {0, -Z, -X},
- {Z, X, 0},
- {-Z, X, 0},
- {Z, -X, 0},
- {-Z, -X, 0}
-};
-
-static int index[20][3] =
-{
- {0, 4, 1},
- {0, 9, 4},
- {9, 5, 4},
- {4, 5, 8},
- {4, 8, 1},
- {8, 10, 1},
- {8, 3, 10},
- {5, 3, 8},
- {5, 2, 3},
- {2, 7, 3},
- {7, 10, 3},
- {7, 6, 10},
- {7, 11, 6},
- {11, 0, 6},
- {0, 1, 6},
- {6, 1, 10},
- {9, 0, 11},
- {9, 11, 2},
- {9, 2, 5},
- {7, 2, 11},
-};
-
-static void
-icosahedron(GLenum shadeType)
-{
- int i;
-
- for (i = 19; i >= 0; i--) {
- drawtriangle(i, idata, index, shadeType);
- }
-}
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutWireIcosahedron(void)
-{
- icosahedron(GL_LINE_LOOP);
-}
-
-void GLUTAPIENTRY
-glutSolidIcosahedron(void)
-{
- icosahedron(GL_TRIANGLES);
-}
-
-/* ENDCENTRY */
-
-/* tetrahedron data: */
-
-#define T 1.73205080756887729
-
-static GLfloat tdata[4][3] =
-{
- {T, T, T},
- {T, -T, -T},
- {-T, T, -T},
- {-T, -T, T}
-};
-
-static int tndex[4][3] =
-{
- {0, 1, 3},
- {2, 1, 0},
- {3, 2, 0},
- {1, 2, 3}
-};
-
-static void
-tetrahedron(GLenum shadeType)
-{
- int i;
-
- for (i = 3; i >= 0; i--)
- drawtriangle(i, tdata, tndex, shadeType);
-}
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutWireTetrahedron(void)
-{
- tetrahedron(GL_LINE_LOOP);
-}
-
-void GLUTAPIENTRY
-glutSolidTetrahedron(void)
-{
- tetrahedron(GL_TRIANGLES);
-}
-
-/* ENDCENTRY */
diff --git a/src/glut/os2/glut_stroke.cpp b/src/glut/os2/glut_stroke.cpp
deleted file mode 100644
index ac231e4973..0000000000
--- a/src/glut/os2/glut_stroke.cpp
+++ /dev/null
@@ -1,42 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include "glutint.h"
-#include "glutstroke.h"
-
-void GLUTAPIENTRY
-glutStrokeCharacter(GLUTstrokeFont font, int c)
-{
- const StrokeCharRec *ch;
- const StrokeRec *stroke;
- const CoordRec *coord;
- StrokeFontPtr fontinfo;
- int i, j;
-
-
-#if defined(_WIN32)
- fontinfo = (StrokeFontPtr) __glutFont(font);
-#else
- fontinfo = (StrokeFontPtr) font;
-#endif
-
- if (c < 0 || c >= fontinfo->num_chars)
- return;
- ch = &(fontinfo->ch[c]);
- if (ch) {
- for (i = ch->num_strokes, stroke = ch->stroke;
- i > 0; i--, stroke++) {
- glBegin(GL_LINE_STRIP);
- for (j = stroke->num_coords, coord = stroke->coord;
- j > 0; j--, coord++) {
- glVertex2f(coord->x, coord->y);
- }
- glEnd();
- }
- glTranslatef(ch->right, 0.0, 0.0);
- }
-}
diff --git a/src/glut/os2/glut_swap.cpp b/src/glut/os2/glut_swap.cpp
deleted file mode 100644
index 4831b8eb35..0000000000
--- a/src/glut/os2/glut_swap.cpp
+++ /dev/null
@@ -1,67 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994, 1997. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include <stdio.h>
-#include "glutint.h"
-
-GLint __glutFPS = 0;
-GLint __glutSwapCount = 0;
-GLint __glutSwapTime = 0;
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutSwapBuffers(void)
-{
- GLUTwindow *window = __glutCurrentWindow;
-
- if (window->renderWin == window->win) {
- if (__glutCurrentWindow->treatAsSingle) {
- /* Pretend the double buffered window is single buffered,
- so treat glutSwapBuffers as a no-op. */
- return;
- }
- } else {
- if (__glutCurrentWindow->overlay->treatAsSingle) {
- /* Pretend the double buffered overlay is single
- buffered, so treat glutSwapBuffers as a no-op. */
- return;
- }
- }
-
- /* For the MESA_SWAP_HACK. */
- window->usedSwapBuffers = 1;
-
- SWAP_BUFFERS_LAYER(__glutCurrentWindow);
-
- /* I considered putting the window being swapped on the
- GLUT_FINISH_WORK work list because you could call
- glutSwapBuffers from an idle callback which doesn't call
- __glutSetWindow which normally adds indirect rendering
- windows to the GLUT_FINISH_WORK work list. Not being put
- on the list could lead to the buffering up of multiple
- redisplays and buffer swaps and hamper interactivity. I
- consider this an application bug due to not using
- glutPostRedisplay to trigger redraws. If
- glutPostRedisplay were used, __glutSetWindow would be
- called and a glFinish to throttle buffering would occur. */
-
- if (__glutFPS) {
- GLint t = glutGet(GLUT_ELAPSED_TIME);
- __glutSwapCount++;
- if (__glutSwapTime == 0)
- __glutSwapTime = t;
- else if (t - __glutSwapTime > __glutFPS) {
- float time = 0.001 * (t - __glutSwapTime);
- float fps = (float) __glutSwapCount / time;
- fprintf(stderr, "GLUT: %d frames in %.2f seconds = %.2f FPS\n",
- __glutSwapCount, time, fps);
- __glutSwapTime = t;
- __glutSwapCount = 0;
- }
- }
-}
-/* ENDCENTRY */
diff --git a/src/glut/os2/glut_teapot.cpp b/src/glut/os2/glut_teapot.cpp
deleted file mode 100644
index 31bbbbd6df..0000000000
--- a/src/glut/os2/glut_teapot.cpp
+++ /dev/null
@@ -1,210 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994. */
-
-/**
-(c) Copyright 1993, Silicon Graphics, Inc.
-
-ALL RIGHTS RESERVED
-
-Permission to use, copy, modify, and distribute this software
-for any purpose and without fee is hereby granted, provided
-that the above copyright notice appear in all copies and that
-both the copyright notice and this permission notice appear in
-supporting documentation, and that the name of Silicon
-Graphics, Inc. not be used in advertising or publicity
-pertaining to distribution of the software without specific,
-written prior permission.
-
-THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU
-"AS-IS" AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR
-OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO
-EVENT SHALL SILICON GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE
-ELSE FOR ANY DIRECT, SPECIAL, INCIDENTAL, INDIRECT OR
-CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER,
-INCLUDING WITHOUT LIMITATION, LOSS OF PROFIT, LOSS OF USE,
-SAVINGS OR REVENUE, OR THE CLAIMS OF THIRD PARTIES, WHETHER OR
-NOT SILICON GRAPHICS, INC. HAS BEEN ADVISED OF THE POSSIBILITY
-OF SUCH LOSS, HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-ARISING OUT OF OR IN CONNECTION WITH THE POSSESSION, USE OR
-PERFORMANCE OF THIS SOFTWARE.
-
-US Government Users Restricted Rights
-
-Use, duplication, or disclosure by the Government is subject to
-restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
-(c)(1)(ii) of the Rights in Technical Data and Computer
-Software clause at DFARS 252.227-7013 and/or in similar or
-successor clauses in the FAR or the DOD or NASA FAR
-Supplement. Unpublished-- rights reserved under the copyright
-laws of the United States. Contractor/manufacturer is Silicon
-Graphics, Inc., 2011 N. Shoreline Blvd., Mountain View, CA
-94039-7311.
-
-OpenGL(TM) is a trademark of Silicon Graphics, Inc.
-*/
-
-#include "glutint.h"
-
-/* Rim, body, lid, and bottom data must be reflected in x and
- y; handle and spout data across the y axis only. */
-
-static int patchdata[][16] =
-{
- /* rim */
- {102, 103, 104, 105, 4, 5, 6, 7, 8, 9, 10, 11,
- 12, 13, 14, 15},
- /* body */
- {12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
- 24, 25, 26, 27},
- {24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40},
- /* lid */
- {96, 96, 96, 96, 97, 98, 99, 100, 101, 101, 101,
- 101, 0, 1, 2, 3,},
- {0, 1, 2, 3, 106, 107, 108, 109, 110, 111, 112,
- 113, 114, 115, 116, 117},
- /* bottom */
- {118, 118, 118, 118, 124, 122, 119, 121, 123, 126,
- 125, 120, 40, 39, 38, 37},
- /* handle */
- {41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, 56},
- {53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
- 28, 65, 66, 67},
- /* spout */
- {68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
- 80, 81, 82, 83},
- {80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
- 92, 93, 94, 95}
-};
-/* *INDENT-OFF* */
-
-static float cpdata[][3] =
-{
- {0.2, 0, 2.7}, {0.2, -0.112, 2.7}, {0.112, -0.2, 2.7}, {0,
- -0.2, 2.7}, {1.3375, 0, 2.53125}, {1.3375, -0.749, 2.53125},
- {0.749, -1.3375, 2.53125}, {0, -1.3375, 2.53125}, {1.4375,
- 0, 2.53125}, {1.4375, -0.805, 2.53125}, {0.805, -1.4375,
- 2.53125}, {0, -1.4375, 2.53125}, {1.5, 0, 2.4}, {1.5, -0.84,
- 2.4}, {0.84, -1.5, 2.4}, {0, -1.5, 2.4}, {1.75, 0, 1.875},
- {1.75, -0.98, 1.875}, {0.98, -1.75, 1.875}, {0, -1.75,
- 1.875}, {2, 0, 1.35}, {2, -1.12, 1.35}, {1.12, -2, 1.35},
- {0, -2, 1.35}, {2, 0, 0.9}, {2, -1.12, 0.9}, {1.12, -2,
- 0.9}, {0, -2, 0.9}, {-2, 0, 0.9}, {2, 0, 0.45}, {2, -1.12,
- 0.45}, {1.12, -2, 0.45}, {0, -2, 0.45}, {1.5, 0, 0.225},
- {1.5, -0.84, 0.225}, {0.84, -1.5, 0.225}, {0, -1.5, 0.225},
- {1.5, 0, 0.15}, {1.5, -0.84, 0.15}, {0.84, -1.5, 0.15}, {0,
- -1.5, 0.15}, {-1.6, 0, 2.025}, {-1.6, -0.3, 2.025}, {-1.5,
- -0.3, 2.25}, {-1.5, 0, 2.25}, {-2.3, 0, 2.025}, {-2.3, -0.3,
- 2.025}, {-2.5, -0.3, 2.25}, {-2.5, 0, 2.25}, {-2.7, 0,
- 2.025}, {-2.7, -0.3, 2.025}, {-3, -0.3, 2.25}, {-3, 0,
- 2.25}, {-2.7, 0, 1.8}, {-2.7, -0.3, 1.8}, {-3, -0.3, 1.8},
- {-3, 0, 1.8}, {-2.7, 0, 1.575}, {-2.7, -0.3, 1.575}, {-3,
- -0.3, 1.35}, {-3, 0, 1.35}, {-2.5, 0, 1.125}, {-2.5, -0.3,
- 1.125}, {-2.65, -0.3, 0.9375}, {-2.65, 0, 0.9375}, {-2,
- -0.3, 0.9}, {-1.9, -0.3, 0.6}, {-1.9, 0, 0.6}, {1.7, 0,
- 1.425}, {1.7, -0.66, 1.425}, {1.7, -0.66, 0.6}, {1.7, 0,
- 0.6}, {2.6, 0, 1.425}, {2.6, -0.66, 1.425}, {3.1, -0.66,
- 0.825}, {3.1, 0, 0.825}, {2.3, 0, 2.1}, {2.3, -0.25, 2.1},
- {2.4, -0.25, 2.025}, {2.4, 0, 2.025}, {2.7, 0, 2.4}, {2.7,
- -0.25, 2.4}, {3.3, -0.25, 2.4}, {3.3, 0, 2.4}, {2.8, 0,
- 2.475}, {2.8, -0.25, 2.475}, {3.525, -0.25, 2.49375},
- {3.525, 0, 2.49375}, {2.9, 0, 2.475}, {2.9, -0.15, 2.475},
- {3.45, -0.15, 2.5125}, {3.45, 0, 2.5125}, {2.8, 0, 2.4},
- {2.8, -0.15, 2.4}, {3.2, -0.15, 2.4}, {3.2, 0, 2.4}, {0, 0,
- 3.15}, {0.8, 0, 3.15}, {0.8, -0.45, 3.15}, {0.45, -0.8,
- 3.15}, {0, -0.8, 3.15}, {0, 0, 2.85}, {1.4, 0, 2.4}, {1.4,
- -0.784, 2.4}, {0.784, -1.4, 2.4}, {0, -1.4, 2.4}, {0.4, 0,
- 2.55}, {0.4, -0.224, 2.55}, {0.224, -0.4, 2.55}, {0, -0.4,
- 2.55}, {1.3, 0, 2.55}, {1.3, -0.728, 2.55}, {0.728, -1.3,
- 2.55}, {0, -1.3, 2.55}, {1.3, 0, 2.4}, {1.3, -0.728, 2.4},
- {0.728, -1.3, 2.4}, {0, -1.3, 2.4}, {0, 0, 0}, {1.425,
- -0.798, 0}, {1.5, 0, 0.075}, {1.425, 0, 0}, {0.798, -1.425,
- 0}, {0, -1.5, 0.075}, {0, -1.425, 0}, {1.5, -0.84, 0.075},
- {0.84, -1.5, 0.075}
-};
-
-static float tex[2][2][2] =
-{
- { {0, 0},
- {1, 0}},
- { {0, 1},
- {1, 1}}
-};
-
-/* *INDENT-ON* */
-
-static void
-teapot(GLint grid, GLdouble scale, GLenum type)
-{
- float p[4][4][3], q[4][4][3], r[4][4][3], s[4][4][3];
- long i, j, k, l;
-
- glPushAttrib(GL_ENABLE_BIT | GL_EVAL_BIT);
- glEnable(GL_AUTO_NORMAL);
- glEnable(GL_NORMALIZE);
- glEnable(GL_MAP2_VERTEX_3);
- glEnable(GL_MAP2_TEXTURE_COORD_2);
- glPushMatrix();
- glRotatef(270.0, 1.0, 0.0, 0.0);
- glScalef(0.5 * scale, 0.5 * scale, 0.5 * scale);
- glTranslatef(0.0, 0.0, -1.5);
- for (i = 0; i < 10; i++) {
- for (j = 0; j < 4; j++) {
- for (k = 0; k < 4; k++) {
- for (l = 0; l < 3; l++) {
- p[j][k][l] = cpdata[patchdata[i][j * 4 + k]][l];
- q[j][k][l] = cpdata[patchdata[i][j * 4 + (3 - k)]][l];
- if (l == 1)
- q[j][k][l] *= -1.0;
- if (i < 6) {
- r[j][k][l] =
- cpdata[patchdata[i][j * 4 + (3 - k)]][l];
- if (l == 0)
- r[j][k][l] *= -1.0;
- s[j][k][l] = cpdata[patchdata[i][j * 4 + k]][l];
- if (l == 0)
- s[j][k][l] *= -1.0;
- if (l == 1)
- s[j][k][l] *= -1.0;
- }
- }
- }
- }
- glMap2f(GL_MAP2_TEXTURE_COORD_2, 0, 1, 2, 2, 0, 1, 4, 2,
- &tex[0][0][0]);
- glMap2f(GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4,
- &p[0][0][0]);
- glMapGrid2f(grid, 0.0, 1.0, grid, 0.0, 1.0);
- glEvalMesh2(type, 0, grid, 0, grid);
- glMap2f(GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4,
- &q[0][0][0]);
- glEvalMesh2(type, 0, grid, 0, grid);
- if (i < 6) {
- glMap2f(GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4,
- &r[0][0][0]);
- glEvalMesh2(type, 0, grid, 0, grid);
- glMap2f(GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4,
- &s[0][0][0]);
- glEvalMesh2(type, 0, grid, 0, grid);
- }
- }
- glPopMatrix();
- glPopAttrib();
-}
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutSolidTeapot(GLdouble scale)
-{
- teapot(7, scale, GL_FILL);
-}
-
-void GLUTAPIENTRY
-glutWireTeapot(GLdouble scale)
-{
- teapot(10, scale, GL_LINE);
-}
-
-/* ENDCENTRY */
diff --git a/src/glut/os2/glut_tr24.cpp b/src/glut/os2/glut_tr24.cpp
deleted file mode 100644
index a3cbf4b62b..0000000000
--- a/src/glut/os2/glut_tr24.cpp
+++ /dev/null
@@ -1,2063 +0,0 @@
-
-/* GENERATED FILE -- DO NOT MODIFY */
-
-#define glutBitmapTimesRoman24 XXX
-#include "glutbitmap.h"
-#undef glutBitmapTimesRoman24
-
-/* char: 0xff */
-
-static const GLubyte ch255data[] = {
-0xe0,0x0,0xf0,0x0,0x18,0x0,0x8,0x0,0xc,0x0,0x4,0x0,0xe,0x0,0xe,0x0,
-0x1a,0x0,0x19,0x0,0x19,0x0,0x31,0x0,0x30,0x80,0x30,0x80,0x60,0x80,0x60,0xc0,
-0xf1,0xe0,0x0,0x0,0x0,0x0,0x33,0x0,0x33,0x0,
-};
-
-static const BitmapCharRec ch255 = {11,21,0,5,11,ch255data};
-
-/* char: 0xfe */
-
-static const GLubyte ch254data[] = {
-0xf0,0x0,0x60,0x0,0x60,0x0,0x60,0x0,0x60,0x0,0x6e,0x0,0x73,0x80,0x61,0x80,
-0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x61,0x80,0x73,0x80,
-0x6e,0x0,0x60,0x0,0x60,0x0,0x60,0x0,0x60,0x0,0xe0,0x0,
-};
-
-static const BitmapCharRec ch254 = {10,22,-1,5,12,ch254data};
-
-/* char: 0xfd */
-
-static const GLubyte ch253data[] = {
-0xe0,0x0,0xf0,0x0,0x18,0x0,0x8,0x0,0xc,0x0,0x4,0x0,0xe,0x0,0xe,0x0,
-0x1a,0x0,0x19,0x0,0x19,0x0,0x31,0x0,0x30,0x80,0x30,0x80,0x60,0x80,0x60,0xc0,
-0xf1,0xe0,0x0,0x0,0x8,0x0,0x6,0x0,0x3,0x80,0x1,0x80,
-};
-
-static const BitmapCharRec ch253 = {11,22,0,5,11,ch253data};
-
-/* char: 0xfc */
-
-static const GLubyte ch252data[] = {
-0x1c,0xe0,0x3e,0xc0,0x71,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
-0x60,0xc0,0x60,0xc0,0x60,0xc0,0xe1,0xc0,0x0,0x0,0x0,0x0,0x33,0x0,0x33,0x0,
-};
-
-static const BitmapCharRec ch252 = {11,16,-1,0,13,ch252data};
-
-/* char: 0xfb */
-
-static const GLubyte ch251data[] = {
-0x1c,0xe0,0x3e,0xc0,0x71,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
-0x60,0xc0,0x60,0xc0,0x60,0xc0,0xe1,0xc0,0x0,0x0,0x21,0x0,0x12,0x0,0x1e,0x0,
-0xc,0x0,
-};
-
-static const BitmapCharRec ch251 = {11,17,-1,0,13,ch251data};
-
-/* char: 0xfa */
-
-static const GLubyte ch250data[] = {
-0x1c,0xe0,0x3e,0xc0,0x71,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
-0x60,0xc0,0x60,0xc0,0x60,0xc0,0xe1,0xc0,0x0,0x0,0x8,0x0,0x6,0x0,0x3,0x80,
-0x1,0x80,
-};
-
-static const BitmapCharRec ch250 = {11,17,-1,0,13,ch250data};
-
-/* char: 0xf9 */
-
-static const GLubyte ch249data[] = {
-0x1c,0xe0,0x3e,0xc0,0x71,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
-0x60,0xc0,0x60,0xc0,0x60,0xc0,0xe1,0xc0,0x0,0x0,0x2,0x0,0xc,0x0,0x38,0x0,
-0x30,0x0,
-};
-
-static const BitmapCharRec ch249 = {11,17,-1,0,13,ch249data};
-
-/* char: 0xf8 */
-
-static const GLubyte ch248data[] = {
-0xc0,0x0,0xde,0x0,0x73,0x80,0x71,0x80,0xd0,0xc0,0xd8,0xc0,0xc8,0xc0,0xcc,0xc0,
-0xc4,0xc0,0xc6,0xc0,0x63,0x80,0x73,0x80,0x1e,0xc0,0x0,0xc0,
-};
-
-static const BitmapCharRec ch248 = {10,14,-1,1,12,ch248data};
-
-/* char: 0xf7 */
-
-static const GLubyte ch247data[] = {
-0x6,0x0,0x6,0x0,0x0,0x0,0x0,0x0,0xff,0xf0,0xff,0xf0,0x0,0x0,0x0,0x0,
-0x6,0x0,0x6,0x0,
-};
-
-static const BitmapCharRec ch247 = {12,10,-1,-2,14,ch247data};
-
-/* char: 0xf6 */
-
-static const GLubyte ch246data[] = {
-0x1e,0x0,0x73,0x80,0x61,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc0,0xc0,0x61,0x80,0x73,0x80,0x1e,0x0,0x0,0x0,0x0,0x0,0x33,0x0,0x33,0x0,
-};
-
-static const BitmapCharRec ch246 = {10,16,-1,0,12,ch246data};
-
-/* char: 0xf5 */
-
-static const GLubyte ch245data[] = {
-0x1e,0x0,0x73,0x80,0x61,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc0,0xc0,0x61,0x80,0x73,0x80,0x1e,0x0,0x0,0x0,0x0,0x0,0x27,0x0,0x1c,0x80,
-};
-
-static const BitmapCharRec ch245 = {10,16,-1,0,12,ch245data};
-
-/* char: 0xf4 */
-
-static const GLubyte ch244data[] = {
-0x1e,0x0,0x73,0x80,0x61,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc0,0xc0,0x61,0x80,0x73,0x80,0x1e,0x0,0x0,0x0,0x21,0x0,0x12,0x0,0x1e,0x0,
-0xc,0x0,
-};
-
-static const BitmapCharRec ch244 = {10,17,-1,0,12,ch244data};
-
-/* char: 0xf3 */
-
-static const GLubyte ch243data[] = {
-0x1e,0x0,0x73,0x80,0x61,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc0,0xc0,0x61,0x80,0x73,0x80,0x1e,0x0,0x0,0x0,0x8,0x0,0x6,0x0,0x3,0x80,
-0x1,0x80,
-};
-
-static const BitmapCharRec ch243 = {10,17,-1,0,12,ch243data};
-
-/* char: 0xf2 */
-
-static const GLubyte ch242data[] = {
-0x1e,0x0,0x73,0x80,0x61,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc0,0xc0,0x61,0x80,0x73,0x80,0x1e,0x0,0x0,0x0,0x2,0x0,0xc,0x0,0x38,0x0,
-0x30,0x0,
-};
-
-static const BitmapCharRec ch242 = {10,17,-1,0,12,ch242data};
-
-/* char: 0xf1 */
-
-static const GLubyte ch241data[] = {
-0xf1,0xe0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
-0x60,0xc0,0x71,0xc0,0x6f,0x80,0xe7,0x0,0x0,0x0,0x0,0x0,0x27,0x0,0x1c,0x80,
-};
-
-static const BitmapCharRec ch241 = {11,16,-1,0,13,ch241data};
-
-/* char: 0xf0 */
-
-static const GLubyte ch240data[] = {
-0x1e,0x0,0x73,0x80,0x61,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc0,0xc0,0x61,0x80,0x73,0x80,0x1f,0x0,0xc6,0x0,0x3c,0x0,0x1e,0x0,0x71,0x80,
-0xc0,0x0,
-};
-
-static const BitmapCharRec ch240 = {10,17,-1,0,12,ch240data};
-
-/* char: 0xef */
-
-static const GLubyte ch239data[] = {
-0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x70,0x0,0x0,0xcc,0xcc,
-};
-
-static const BitmapCharRec ch239 = {6,16,0,0,6,ch239data};
-
-/* char: 0xee */
-
-static const GLubyte ch238data[] = {
-0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x70,0x0,0x84,0x48,0x78,
-0x30,
-};
-
-static const BitmapCharRec ch238 = {6,17,0,0,6,ch238data};
-
-/* char: 0xed */
-
-static const GLubyte ch237data[] = {
-0xf0,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0xe0,0x0,0x80,0x60,0x38,
-0x18,
-};
-
-static const BitmapCharRec ch237 = {5,17,-1,0,6,ch237data};
-
-/* char: 0xec */
-
-static const GLubyte ch236data[] = {
-0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x70,0x0,0x8,0x30,0xe0,
-0xc0,
-};
-
-static const BitmapCharRec ch236 = {5,17,0,0,6,ch236data};
-
-/* char: 0xeb */
-
-static const GLubyte ch235data[] = {
-0x1e,0x0,0x7f,0x0,0x70,0x80,0xe0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,
-0xc1,0x80,0x41,0x80,0x63,0x0,0x1e,0x0,0x0,0x0,0x0,0x0,0x33,0x0,0x33,0x0,
-};
-
-static const BitmapCharRec ch235 = {9,16,-1,0,11,ch235data};
-
-/* char: 0xea */
-
-static const GLubyte ch234data[] = {
-0x1e,0x0,0x7f,0x0,0x70,0x80,0xe0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,
-0xc1,0x80,0x41,0x80,0x63,0x0,0x1e,0x0,0x0,0x0,0x21,0x0,0x12,0x0,0x1e,0x0,
-0xc,0x0,
-};
-
-static const BitmapCharRec ch234 = {9,17,-1,0,11,ch234data};
-
-/* char: 0xe9 */
-
-static const GLubyte ch233data[] = {
-0x1e,0x0,0x7f,0x0,0x70,0x80,0xe0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,
-0xc1,0x80,0x41,0x80,0x63,0x0,0x1e,0x0,0x0,0x0,0x10,0x0,0xc,0x0,0x7,0x0,
-0x3,0x0,
-};
-
-static const BitmapCharRec ch233 = {9,17,-1,0,11,ch233data};
-
-/* char: 0xe8 */
-
-static const GLubyte ch232data[] = {
-0x1e,0x0,0x7f,0x0,0x70,0x80,0xe0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,
-0xc1,0x80,0x41,0x80,0x63,0x0,0x1e,0x0,0x0,0x0,0x4,0x0,0x18,0x0,0x70,0x0,
-0x60,0x0,
-};
-
-static const BitmapCharRec ch232 = {9,17,-1,0,11,ch232data};
-
-/* char: 0xe7 */
-
-static const GLubyte ch231data[] = {
-0x3c,0x0,0x66,0x0,0x6,0x0,0x1e,0x0,0x18,0x0,0x8,0x0,0x1e,0x0,0x7f,0x0,
-0x70,0x80,0xe0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0x41,0x80,
-0x63,0x80,0x1f,0x0,
-};
-
-static const BitmapCharRec ch231 = {9,18,-1,6,11,ch231data};
-
-/* char: 0xe6 */
-
-static const GLubyte ch230data[] = {
-0x70,0xf0,0xfb,0xf8,0xc7,0x84,0xc3,0x0,0xc3,0x0,0x63,0x0,0x3b,0x0,0xf,0xfc,
-0x3,0xc,0x63,0xc,0x67,0x98,0x3c,0xf0,
-};
-
-static const BitmapCharRec ch230 = {14,12,-1,0,16,ch230data};
-
-/* char: 0xe5 */
-
-static const GLubyte ch229data[] = {
-0x71,0x80,0xfb,0x0,0xc7,0x0,0xc3,0x0,0xc3,0x0,0x63,0x0,0x3b,0x0,0xf,0x0,
-0x3,0x0,0x63,0x0,0x67,0x0,0x3e,0x0,0x0,0x0,0x1c,0x0,0x22,0x0,0x22,0x0,
-0x1c,0x0,
-};
-
-static const BitmapCharRec ch229 = {9,17,-1,0,11,ch229data};
-
-/* char: 0xe4 */
-
-static const GLubyte ch228data[] = {
-0x71,0x80,0xfb,0x0,0xc7,0x0,0xc3,0x0,0xc3,0x0,0x63,0x0,0x3b,0x0,0xf,0x0,
-0x3,0x0,0x63,0x0,0x67,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x66,0x0,0x66,0x0,
-};
-
-static const BitmapCharRec ch228 = {9,16,-1,0,11,ch228data};
-
-/* char: 0xe3 */
-
-static const GLubyte ch227data[] = {
-0x71,0x80,0xfb,0x0,0xc7,0x0,0xc3,0x0,0xc3,0x0,0x63,0x0,0x3b,0x0,0xf,0x0,
-0x3,0x0,0x63,0x0,0x67,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x5c,0x0,0x3a,0x0,
-};
-
-static const BitmapCharRec ch227 = {9,16,-1,0,11,ch227data};
-
-/* char: 0xe2 */
-
-static const GLubyte ch226data[] = {
-0x71,0x80,0xfb,0x0,0xc7,0x0,0xc3,0x0,0xc3,0x0,0x63,0x0,0x3b,0x0,0xf,0x0,
-0x3,0x0,0x63,0x0,0x67,0x0,0x3e,0x0,0x0,0x0,0x42,0x0,0x24,0x0,0x3c,0x0,
-0x18,0x0,
-};
-
-static const BitmapCharRec ch226 = {9,17,-1,0,11,ch226data};
-
-/* char: 0xe1 */
-
-static const GLubyte ch225data[] = {
-0x71,0x80,0xfb,0x0,0xc7,0x0,0xc3,0x0,0xc3,0x0,0x63,0x0,0x3b,0x0,0xf,0x0,
-0x3,0x0,0x63,0x0,0x67,0x0,0x3e,0x0,0x0,0x0,0x10,0x0,0xc,0x0,0x7,0x0,
-0x3,0x0,
-};
-
-static const BitmapCharRec ch225 = {9,17,-1,0,11,ch225data};
-
-/* char: 0xe0 */
-
-static const GLubyte ch224data[] = {
-0x71,0x80,0xfb,0x0,0xc7,0x0,0xc3,0x0,0xc3,0x0,0x63,0x0,0x3b,0x0,0xf,0x0,
-0x3,0x0,0x63,0x0,0x67,0x0,0x3e,0x0,0x0,0x0,0x4,0x0,0x18,0x0,0x70,0x0,
-0x60,0x0,
-};
-
-static const BitmapCharRec ch224 = {9,17,-1,0,11,ch224data};
-
-/* char: 0xdf */
-
-static const GLubyte ch223data[] = {
-0xe7,0x0,0x6c,0x80,0x6c,0xc0,0x60,0xc0,0x60,0xc0,0x61,0xc0,0x61,0x80,0x63,0x80,
-0x67,0x0,0x6c,0x0,0x63,0x0,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x33,0x0,
-0x1e,0x0,
-};
-
-static const BitmapCharRec ch223 = {10,17,-1,0,12,ch223data};
-
-/* char: 0xde */
-
-static const GLubyte ch222data[] = {
-0xfc,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x3f,0xc0,0x30,0x70,0x30,0x30,0x30,0x18,
-0x30,0x18,0x30,0x18,0x30,0x30,0x30,0x70,0x3f,0xc0,0x30,0x0,0x30,0x0,0x30,0x0,
-0xfc,0x0,
-};
-
-static const BitmapCharRec ch222 = {13,17,-1,0,15,ch222data};
-
-/* char: 0xdd */
-
-static const GLubyte ch221data[] = {
-0x7,0xe0,0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x3,0xc0,
-0x3,0x40,0x6,0x60,0x6,0x20,0xc,0x30,0x1c,0x10,0x18,0x18,0x38,0x8,0x30,0xc,
-0xfc,0x3f,0x0,0x0,0x1,0x0,0x0,0xc0,0x0,0x70,0x0,0x30,
-};
-
-static const BitmapCharRec ch221 = {16,22,0,0,16,ch221data};
-
-/* char: 0xdc */
-
-static const GLubyte ch220data[] = {
-0x7,0xe0,0x1c,0x30,0x18,0x8,0x30,0x8,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
-0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
-0xfc,0x1f,0x0,0x0,0x0,0x0,0x6,0x30,0x6,0x30,
-};
-
-static const BitmapCharRec ch220 = {16,21,-1,0,18,ch220data};
-
-/* char: 0xdb */
-
-static const GLubyte ch219data[] = {
-0x7,0xe0,0x1c,0x30,0x18,0x8,0x30,0x8,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
-0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
-0xfc,0x1f,0x0,0x0,0x8,0x10,0x6,0x60,0x3,0xc0,0x1,0x80,
-};
-
-static const BitmapCharRec ch219 = {16,22,-1,0,18,ch219data};
-
-/* char: 0xda */
-
-static const GLubyte ch218data[] = {
-0x7,0xe0,0x1c,0x30,0x18,0x8,0x30,0x8,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
-0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
-0xfc,0x1f,0x0,0x0,0x1,0x0,0x0,0xc0,0x0,0x70,0x0,0x30,
-};
-
-static const BitmapCharRec ch218 = {16,22,-1,0,18,ch218data};
-
-/* char: 0xd9 */
-
-static const GLubyte ch217data[] = {
-0x7,0xe0,0x1c,0x30,0x18,0x8,0x30,0x8,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
-0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
-0xfc,0x1f,0x0,0x0,0x0,0x40,0x1,0x80,0x7,0x0,0x6,0x0,
-};
-
-static const BitmapCharRec ch217 = {16,22,-1,0,18,ch217data};
-
-/* char: 0xd8 */
-
-static const GLubyte ch216data[] = {
-0x20,0x0,0x27,0xe0,0x1c,0x38,0x38,0x1c,0x68,0x6,0x64,0x6,0xc2,0x3,0xc2,0x3,
-0xc1,0x3,0xc1,0x3,0xc0,0x83,0xc0,0x83,0xc0,0x43,0x60,0x46,0x60,0x26,0x38,0x1c,
-0x1c,0x38,0x7,0xe4,0x0,0x4,
-};
-
-static const BitmapCharRec ch216 = {16,19,-1,1,18,ch216data};
-
-/* char: 0xd7 */
-
-static const GLubyte ch215data[] = {
-0x80,0x40,0xc0,0xc0,0x61,0x80,0x33,0x0,0x1e,0x0,0xc,0x0,0x1e,0x0,0x33,0x0,
-0x61,0x80,0xc0,0xc0,0x80,0x40,
-};
-
-static const BitmapCharRec ch215 = {10,11,-2,-1,14,ch215data};
-
-/* char: 0xd6 */
-
-static const GLubyte ch214data[] = {
-0x7,0xe0,0x1c,0x38,0x38,0x1c,0x60,0x6,0x60,0x6,0xc0,0x3,0xc0,0x3,0xc0,0x3,
-0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,0x60,0x6,0x60,0x6,0x38,0x1c,0x1c,0x38,
-0x7,0xe0,0x0,0x0,0x0,0x0,0x6,0x60,0x6,0x60,
-};
-
-static const BitmapCharRec ch214 = {16,21,-1,0,18,ch214data};
-
-/* char: 0xd5 */
-
-static const GLubyte ch213data[] = {
-0x7,0xe0,0x1c,0x38,0x38,0x1c,0x60,0x6,0x60,0x6,0xc0,0x3,0xc0,0x3,0xc0,0x3,
-0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,0x60,0x6,0x60,0x6,0x38,0x1c,0x1c,0x38,
-0x7,0xe0,0x0,0x0,0x0,0x0,0x4,0xe0,0x3,0x90,
-};
-
-static const BitmapCharRec ch213 = {16,21,-1,0,18,ch213data};
-
-/* char: 0xd4 */
-
-static const GLubyte ch212data[] = {
-0x7,0xe0,0x1c,0x38,0x38,0x1c,0x60,0x6,0x60,0x6,0xc0,0x3,0xc0,0x3,0xc0,0x3,
-0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,0x60,0x6,0x60,0x6,0x38,0x1c,0x1c,0x38,
-0x7,0xe0,0x0,0x0,0x8,0x10,0x6,0x60,0x3,0xc0,0x1,0x80,
-};
-
-static const BitmapCharRec ch212 = {16,22,-1,0,18,ch212data};
-
-/* char: 0xd3 */
-
-static const GLubyte ch211data[] = {
-0x7,0xe0,0x1c,0x38,0x38,0x1c,0x60,0x6,0x60,0x6,0xc0,0x3,0xc0,0x3,0xc0,0x3,
-0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,0x60,0x6,0x60,0x6,0x38,0x1c,0x1c,0x38,
-0x7,0xe0,0x0,0x0,0x1,0x0,0x0,0xc0,0x0,0x70,0x0,0x30,
-};
-
-static const BitmapCharRec ch211 = {16,22,-1,0,18,ch211data};
-
-/* char: 0xd2 */
-
-static const GLubyte ch210data[] = {
-0x7,0xe0,0x1c,0x38,0x38,0x1c,0x60,0x6,0x60,0x6,0xc0,0x3,0xc0,0x3,0xc0,0x3,
-0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,0x60,0x6,0x60,0x6,0x38,0x1c,0x1c,0x38,
-0x7,0xe0,0x0,0x0,0x0,0x40,0x1,0x80,0x7,0x0,0x6,0x0,
-};
-
-static const BitmapCharRec ch210 = {16,22,-1,0,18,ch210data};
-
-/* char: 0xd1 */
-
-static const GLubyte ch209data[] = {
-0xf8,0xc,0x20,0x1c,0x20,0x1c,0x20,0x34,0x20,0x64,0x20,0x64,0x20,0xc4,0x21,0x84,
-0x21,0x84,0x23,0x4,0x26,0x4,0x26,0x4,0x2c,0x4,0x38,0x4,0x38,0x4,0x30,0x4,
-0xf0,0x1f,0x0,0x0,0x0,0x0,0x4,0xe0,0x3,0x90,
-};
-
-static const BitmapCharRec ch209 = {16,21,-1,0,18,ch209data};
-
-/* char: 0xd0 */
-
-static const GLubyte ch208data[] = {
-0x7f,0xe0,0x18,0x38,0x18,0x1c,0x18,0x6,0x18,0x6,0x18,0x3,0x18,0x3,0x18,0x3,
-0xff,0x3,0x18,0x3,0x18,0x3,0x18,0x3,0x18,0x6,0x18,0x6,0x18,0x1c,0x18,0x38,
-0x7f,0xe0,
-};
-
-static const BitmapCharRec ch208 = {16,17,0,0,17,ch208data};
-
-/* char: 0xcf */
-
-static const GLubyte ch207data[] = {
-0xfc,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-0xfc,0x0,0x0,0xcc,0xcc,
-};
-
-static const BitmapCharRec ch207 = {6,21,-1,0,8,ch207data};
-
-/* char: 0xce */
-
-static const GLubyte ch206data[] = {
-0x7e,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
-0x7e,0x0,0x81,0x66,0x3c,0x18,
-};
-
-static const BitmapCharRec ch206 = {8,22,-1,0,8,ch206data};
-
-/* char: 0xcd */
-
-static const GLubyte ch205data[] = {
-0xfc,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-0xfc,0x0,0x40,0x30,0x1c,0xc,
-};
-
-static const BitmapCharRec ch205 = {6,22,-1,0,8,ch205data};
-
-/* char: 0xcc */
-
-static const GLubyte ch204data[] = {
-0xfc,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-0xfc,0x0,0x8,0x30,0xe0,0xc0,
-};
-
-static const BitmapCharRec ch204 = {6,22,-1,0,8,ch204data};
-
-/* char: 0xcb */
-
-static const GLubyte ch203data[] = {
-0xff,0xf8,0x30,0x18,0x30,0x8,0x30,0x8,0x30,0x0,0x30,0x0,0x30,0x40,0x30,0x40,
-0x3f,0xc0,0x30,0x40,0x30,0x40,0x30,0x0,0x30,0x0,0x30,0x10,0x30,0x10,0x30,0x30,
-0xff,0xf0,0x0,0x0,0x0,0x0,0x19,0x80,0x19,0x80,
-};
-
-static const BitmapCharRec ch203 = {13,21,-1,0,15,ch203data};
-
-/* char: 0xca */
-
-static const GLubyte ch202data[] = {
-0xff,0xf8,0x30,0x18,0x30,0x8,0x30,0x8,0x30,0x0,0x30,0x0,0x30,0x40,0x30,0x40,
-0x3f,0xc0,0x30,0x40,0x30,0x40,0x30,0x0,0x30,0x0,0x30,0x10,0x30,0x10,0x30,0x30,
-0xff,0xf0,0x0,0x0,0x10,0x20,0xc,0xc0,0x7,0x80,0x3,0x0,
-};
-
-static const BitmapCharRec ch202 = {13,22,-1,0,15,ch202data};
-
-/* char: 0xc9 */
-
-static const GLubyte ch201data[] = {
-0xff,0xf8,0x30,0x18,0x30,0x8,0x30,0x8,0x30,0x0,0x30,0x0,0x30,0x40,0x30,0x40,
-0x3f,0xc0,0x30,0x40,0x30,0x40,0x30,0x0,0x30,0x0,0x30,0x10,0x30,0x10,0x30,0x30,
-0xff,0xf0,0x0,0x0,0x4,0x0,0x3,0x0,0x1,0xc0,0x0,0xc0,
-};
-
-static const BitmapCharRec ch201 = {13,22,-1,0,15,ch201data};
-
-/* char: 0xc8 */
-
-static const GLubyte ch200data[] = {
-0xff,0xf8,0x30,0x18,0x30,0x8,0x30,0x8,0x30,0x0,0x30,0x0,0x30,0x40,0x30,0x40,
-0x3f,0xc0,0x30,0x40,0x30,0x40,0x30,0x0,0x30,0x0,0x30,0x10,0x30,0x10,0x30,0x30,
-0xff,0xf0,0x0,0x0,0x1,0x0,0x6,0x0,0x1c,0x0,0x18,0x0,
-};
-
-static const BitmapCharRec ch200 = {13,22,-1,0,15,ch200data};
-
-/* char: 0xc7 */
-
-static const GLubyte ch199data[] = {
-0x7,0x80,0xc,0xc0,0x0,0xc0,0x3,0xc0,0x3,0x0,0x1,0x0,0x7,0xe0,0x1e,0x38,
-0x38,0x8,0x60,0x4,0x60,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,
-0xc0,0x0,0xc0,0x0,0x60,0x4,0x60,0x4,0x38,0xc,0x1c,0x3c,0x7,0xe4,
-};
-
-static const BitmapCharRec ch199 = {14,23,-1,6,16,ch199data};
-
-/* char: 0xc6 */
-
-static const GLubyte ch198data[] = {
-0xf9,0xff,0xf0,0x30,0x60,0x30,0x10,0x60,0x10,0x10,0x60,0x10,0x18,0x60,0x0,0x8,
-0x60,0x0,0xf,0xe0,0x80,0xc,0x60,0x80,0x4,0x7f,0x80,0x4,0x60,0x80,0x6,0x60,
-0x80,0x2,0x60,0x0,0x2,0x60,0x0,0x1,0x60,0x20,0x1,0x60,0x20,0x1,0xe0,0x60,
-0x3,0xff,0xe0,
-};
-
-static const BitmapCharRec ch198 = {20,17,0,0,21,ch198data};
-
-/* char: 0xc5 */
-
-static const GLubyte ch197data[] = {
-0xfc,0x1f,0x80,0x30,0x6,0x0,0x10,0x6,0x0,0x10,0xc,0x0,0x18,0xc,0x0,0x8,
-0xc,0x0,0xf,0xf8,0x0,0xc,0x18,0x0,0x4,0x18,0x0,0x4,0x30,0x0,0x6,0x30,
-0x0,0x2,0x30,0x0,0x2,0x60,0x0,0x1,0x60,0x0,0x1,0xc0,0x0,0x1,0xc0,0x0,
-0x0,0x80,0x0,0x1,0xc0,0x0,0x2,0x20,0x0,0x2,0x20,0x0,0x1,0xc0,0x0,
-};
-
-static const BitmapCharRec ch197 = {17,21,0,0,17,ch197data};
-
-/* char: 0xc4 */
-
-static const GLubyte ch196data[] = {
-0xfc,0x1f,0x80,0x30,0x6,0x0,0x10,0x6,0x0,0x10,0xc,0x0,0x18,0xc,0x0,0x8,
-0xc,0x0,0xf,0xf8,0x0,0xc,0x18,0x0,0x4,0x18,0x0,0x4,0x30,0x0,0x6,0x30,
-0x0,0x2,0x30,0x0,0x2,0x60,0x0,0x1,0x60,0x0,0x1,0xc0,0x0,0x1,0xc0,0x0,
-0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6,0x30,0x0,0x6,0x30,0x0,
-};
-
-static const BitmapCharRec ch196 = {17,21,0,0,17,ch196data};
-
-/* char: 0xc3 */
-
-static const GLubyte ch195data[] = {
-0xfc,0x1f,0x80,0x30,0x7,0x0,0x10,0x6,0x0,0x10,0xc,0x0,0x18,0xc,0x0,0x8,
-0xc,0x0,0xf,0xf8,0x0,0xc,0x18,0x0,0x4,0x18,0x0,0x4,0x30,0x0,0x6,0x30,
-0x0,0x2,0x30,0x0,0x2,0x60,0x0,0x1,0x60,0x0,0x1,0xc0,0x0,0x1,0xc0,0x0,
-0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0xe0,0x0,0x3,0x90,0x0,
-};
-
-static const BitmapCharRec ch195 = {17,21,0,0,17,ch195data};
-
-/* char: 0xc2 */
-
-static const GLubyte ch194data[] = {
-0xfc,0x1f,0x80,0x30,0x6,0x0,0x10,0x6,0x0,0x10,0xc,0x0,0x18,0xc,0x0,0x8,
-0xc,0x0,0xf,0xf8,0x0,0xc,0x18,0x0,0x4,0x18,0x0,0x4,0x30,0x0,0x6,0x30,
-0x0,0x2,0x30,0x0,0x2,0x60,0x0,0x1,0x60,0x0,0x1,0xc0,0x0,0x1,0xc0,0x0,
-0x0,0x80,0x0,0x0,0x0,0x0,0x8,0x10,0x0,0x6,0x60,0x0,0x3,0xc0,0x0,0x1,
-0x80,0x0,
-};
-
-static const BitmapCharRec ch194 = {17,22,0,0,17,ch194data};
-
-/* char: 0xc1 */
-
-static const GLubyte ch193data[] = {
-0xfc,0x1f,0x80,0x30,0x6,0x0,0x10,0x6,0x0,0x10,0xc,0x0,0x18,0xc,0x0,0x8,
-0xc,0x0,0xf,0xf8,0x0,0xc,0x18,0x0,0x4,0x18,0x0,0x4,0x30,0x0,0x6,0x30,
-0x0,0x2,0x30,0x0,0x2,0x60,0x0,0x1,0x60,0x0,0x1,0xc0,0x0,0x1,0xc0,0x0,
-0x0,0x80,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0xc0,0x0,0x0,0x70,0x0,0x0,
-0x30,0x0,
-};
-
-static const BitmapCharRec ch193 = {17,22,0,0,17,ch193data};
-
-/* char: 0xc0 */
-
-static const GLubyte ch192data[] = {
-0xfc,0x1f,0x80,0x30,0x6,0x0,0x10,0x6,0x0,0x10,0xc,0x0,0x18,0xc,0x0,0x8,
-0xc,0x0,0xf,0xf8,0x0,0xc,0x18,0x0,0x4,0x18,0x0,0x4,0x30,0x0,0x6,0x30,
-0x0,0x2,0x30,0x0,0x2,0x60,0x0,0x1,0x60,0x0,0x1,0xc0,0x0,0x1,0xc0,0x0,
-0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x20,0x0,0x0,0xc0,0x0,0x3,0x80,0x0,0x3,
-0x0,0x0,
-};
-
-static const BitmapCharRec ch192 = {17,22,0,0,17,ch192data};
-
-/* char: 0xbf */
-
-static const GLubyte ch191data[] = {
-0x3e,0x63,0xc1,0xc3,0xc3,0xe0,0x70,0x30,0x38,0x18,0x18,0x8,0x8,0x0,0x0,0xc,
-0xc,
-};
-
-static const BitmapCharRec ch191 = {8,17,-1,5,11,ch191data};
-
-/* char: 0xbe */
-
-static const GLubyte ch190data[] = {
-0x18,0x2,0x0,0x8,0x2,0x0,0xc,0x7f,0x80,0x4,0x22,0x0,0x6,0x32,0x0,0x3,
-0x12,0x0,0x1,0xa,0x0,0x71,0x8e,0x0,0x88,0x86,0x0,0x8c,0xc2,0x0,0xc,0x60,
-0x0,0x8,0x20,0x0,0x30,0x30,0x0,0x8,0x10,0x0,0x8c,0x18,0x0,0x4c,0xc,0x0,
-0x38,0x4,0x0,
-};
-
-static const BitmapCharRec ch190 = {17,17,0,0,18,ch190data};
-
-/* char: 0xbd */
-
-static const GLubyte ch189data[] = {
-0x30,0x7e,0x10,0x22,0x18,0x10,0x8,0x18,0xc,0x8,0x6,0x4,0x2,0x6,0xfb,0x46,
-0x21,0x26,0x21,0x9c,0x20,0xc0,0x20,0x40,0x20,0x60,0x20,0x20,0xa0,0x30,0x60,0x18,
-0x20,0x8,
-};
-
-static const BitmapCharRec ch189 = {15,17,-1,0,18,ch189data};
-
-/* char: 0xbc */
-
-static const GLubyte ch188data[] = {
-0x30,0x4,0x10,0x4,0x18,0xff,0x8,0x44,0xc,0x64,0x6,0x24,0x2,0x14,0xfb,0x1c,
-0x21,0xc,0x21,0x84,0x20,0xc0,0x20,0x40,0x20,0x60,0x20,0x20,0xa0,0x30,0x60,0x18,
-0x20,0x8,
-};
-
-static const BitmapCharRec ch188 = {16,17,-1,0,18,ch188data};
-
-/* char: 0xbb */
-
-static const GLubyte ch187data[] = {
-0x88,0x0,0xcc,0x0,0x66,0x0,0x33,0x0,0x19,0x80,0x19,0x80,0x33,0x0,0x66,0x0,
-0xcc,0x0,0x88,0x0,
-};
-
-static const BitmapCharRec ch187 = {9,10,-2,-1,12,ch187data};
-
-/* char: 0xba */
-
-static const GLubyte ch186data[] = {
-0xfc,0x0,0x78,0xcc,0xcc,0xcc,0xcc,0xcc,0x78,
-};
-
-static const BitmapCharRec ch186 = {6,9,-1,-8,8,ch186data};
-
-/* char: 0xb9 */
-
-static const GLubyte ch185data[] = {
-0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0xa0,0x60,0x20,
-};
-
-static const BitmapCharRec ch185 = {5,10,-1,-7,7,ch185data};
-
-/* char: 0xb8 */
-
-static const GLubyte ch184data[] = {
-0x78,0xcc,0xc,0x3c,0x30,0x10,
-};
-
-static const BitmapCharRec ch184 = {6,6,-1,6,8,ch184data};
-
-/* char: 0xb7 */
-
-static const GLubyte ch183data[] = {
-0xc0,0xc0,
-};
-
-static const BitmapCharRec ch183 = {2,2,-2,-6,6,ch183data};
-
-/* char: 0xb6 */
-
-static const GLubyte ch182data[] = {
-0x9,0x0,0x9,0x0,0x9,0x0,0x9,0x0,0x9,0x0,0x9,0x0,0x9,0x0,0x9,0x0,
-0x9,0x0,0x9,0x0,0x9,0x0,0x19,0x0,0x39,0x0,0x79,0x0,0x79,0x0,0xf9,0x0,
-0xf9,0x0,0xf9,0x0,0x79,0x0,0x79,0x0,0x39,0x0,0x1f,0x80,
-};
-
-static const BitmapCharRec ch182 = {9,22,-1,5,11,ch182data};
-
-/* char: 0xb5 */
-
-static const GLubyte ch181data[] = {
-0x40,0x0,0xe0,0x0,0xc0,0x0,0x40,0x0,0x40,0x0,0x5c,0xe0,0x7e,0xc0,0x71,0xc0,
-0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
-0xe1,0xc0,
-};
-
-static const BitmapCharRec ch181 = {11,17,-1,5,13,ch181data};
-
-/* char: 0xb4 */
-
-static const GLubyte ch180data[] = {
-0x80,0x60,0x38,0x18,
-};
-
-static const BitmapCharRec ch180 = {5,4,-2,-13,8,ch180data};
-
-/* char: 0xb3 */
-
-static const GLubyte ch179data[] = {
-0x70,0x88,0x8c,0xc,0x8,0x30,0x8,0x8c,0x4c,0x38,
-};
-
-static const BitmapCharRec ch179 = {6,10,0,-7,7,ch179data};
-
-/* char: 0xb2 */
-
-static const GLubyte ch178data[] = {
-0xfc,0x44,0x20,0x30,0x10,0x8,0xc,0x8c,0x4c,0x38,
-};
-
-static const BitmapCharRec ch178 = {6,10,0,-7,7,ch178data};
-
-/* char: 0xb1 */
-
-static const GLubyte ch177data[] = {
-0xff,0xf0,0xff,0xf0,0x0,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,
-0xff,0xf0,0xff,0xf0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,
-};
-
-static const BitmapCharRec ch177 = {12,15,-1,0,14,ch177data};
-
-/* char: 0xb0 */
-
-static const GLubyte ch176data[] = {
-0x38,0x44,0x82,0x82,0x82,0x44,0x38,
-};
-
-static const BitmapCharRec ch176 = {7,7,-1,-10,9,ch176data};
-
-/* char: 0xaf */
-
-static const GLubyte ch175data[] = {
-0xfc,0xfc,
-};
-
-static const BitmapCharRec ch175 = {6,2,-1,-14,8,ch175data};
-
-/* char: 0xae */
-
-static const GLubyte ch174data[] = {
-0x7,0xf0,0x0,0x1c,0x1c,0x0,0x30,0x6,0x0,0x60,0x3,0x0,0x47,0x19,0x0,0xc2,
-0x31,0x80,0x82,0x20,0x80,0x82,0x40,0x80,0x83,0xe0,0x80,0x82,0x30,0x80,0x82,0x10,
-0x80,0xc2,0x11,0x80,0x42,0x31,0x0,0x67,0xe3,0x0,0x30,0x6,0x0,0x1c,0x1c,0x0,
-0x7,0xf0,0x0,
-};
-
-static const BitmapCharRec ch174 = {17,17,-1,0,19,ch174data};
-
-/* char: 0xad */
-
-static const GLubyte ch173data[] = {
-0xfe,0xfe,
-};
-
-static const BitmapCharRec ch173 = {7,2,-1,-5,9,ch173data};
-
-/* char: 0xac */
-
-static const GLubyte ch172data[] = {
-0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0xff,0xf0,0xff,0xf0,
-};
-
-static const BitmapCharRec ch172 = {12,7,-1,-3,14,ch172data};
-
-/* char: 0xab */
-
-static const GLubyte ch171data[] = {
-0x8,0x80,0x19,0x80,0x33,0x0,0x66,0x0,0xcc,0x0,0xcc,0x0,0x66,0x0,0x33,0x0,
-0x19,0x80,0x8,0x80,
-};
-
-static const BitmapCharRec ch171 = {9,10,-2,-1,13,ch171data};
-
-/* char: 0xaa */
-
-static const GLubyte ch170data[] = {
-0x7e,0x0,0x76,0xcc,0xcc,0x7c,0xc,0xcc,0x78,
-};
-
-static const BitmapCharRec ch170 = {7,9,0,-8,8,ch170data};
-
-/* char: 0xa9 */
-
-static const GLubyte ch169data[] = {
-0x7,0xf0,0x0,0x1c,0x1c,0x0,0x30,0x6,0x0,0x61,0xc3,0x0,0x47,0x71,0x0,0xc4,
-0x19,0x80,0x8c,0x0,0x80,0x88,0x0,0x80,0x88,0x0,0x80,0x88,0x0,0x80,0x8c,0x0,
-0x80,0xc4,0x19,0x80,0x47,0x31,0x0,0x61,0xe3,0x0,0x30,0x6,0x0,0x1c,0x1c,0x0,
-0x7,0xf0,0x0,
-};
-
-static const BitmapCharRec ch169 = {17,17,-1,0,19,ch169data};
-
-/* char: 0xa8 */
-
-static const GLubyte ch168data[] = {
-0xcc,0xcc,
-};
-
-static const BitmapCharRec ch168 = {6,2,-1,-14,8,ch168data};
-
-/* char: 0xa7 */
-
-static const GLubyte ch167data[] = {
-0x38,0x64,0x62,0x6,0xe,0x1c,0x38,0x74,0xe2,0xc3,0x83,0x87,0x4e,0x3c,0x38,0x70,
-0x60,0x46,0x26,0x1c,
-};
-
-static const BitmapCharRec ch167 = {8,20,-2,2,12,ch167data};
-
-/* char: 0xa6 */
-
-static const GLubyte ch166data[] = {
-0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x0,0x0,0x0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc0,
-};
-
-static const BitmapCharRec ch166 = {2,17,-2,0,6,ch166data};
-
-/* char: 0xa5 */
-
-static const GLubyte ch165data[] = {
-0xf,0xc0,0x3,0x0,0x3,0x0,0x3,0x0,0x3,0x0,0x1f,0xe0,0x3,0x0,0x1f,0xe0,
-0x3,0x0,0x7,0x80,0xc,0x80,0xc,0xc0,0x18,0x40,0x18,0x60,0x30,0x20,0x70,0x30,
-0xf8,0x7c,
-};
-
-static const BitmapCharRec ch165 = {14,17,0,0,14,ch165data};
-
-/* char: 0xa4 */
-
-static const GLubyte ch164data[] = {
-0xc0,0x60,0xee,0xe0,0x7f,0xc0,0x31,0x80,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
-0x31,0x80,0x7f,0xc0,0xee,0xe0,0xc0,0x60,
-};
-
-static const BitmapCharRec ch164 = {11,12,-1,-3,13,ch164data};
-
-/* char: 0xa3 */
-
-static const GLubyte ch163data[] = {
-0xe7,0x80,0xbe,0xc0,0x78,0x40,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,
-0x30,0x0,0xfc,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x31,0x80,0x19,0x80,
-0xf,0x0,
-};
-
-static const BitmapCharRec ch163 = {10,17,-1,0,12,ch163data};
-
-/* char: 0xa2 */
-
-static const GLubyte ch162data[] = {
-0x40,0x0,0x40,0x0,0x3e,0x0,0x7f,0x0,0x70,0x80,0xd0,0x0,0xc8,0x0,0xc8,0x0,
-0xc8,0x0,0xc4,0x0,0xc4,0x0,0x43,0x80,0x63,0x80,0x1f,0x0,0x1,0x0,0x1,0x0,
-};
-
-static const BitmapCharRec ch162 = {9,16,-1,2,12,ch162data};
-
-/* char: 0xa1 */
-
-static const GLubyte ch161data[] = {
-0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x0,0x0,0x0,0xc0,
-0xc0,
-};
-
-static const BitmapCharRec ch161 = {2,17,-4,5,8,ch161data};
-
-/* char: 0xa0 */
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch160data[] = { 0x0 };
-static const BitmapCharRec ch160 = {1,1,0,0,6,ch160data};
-#else
-static const BitmapCharRec ch160 = {0,0,0,0,6,0};
-#endif
-
-/* char: 0x7e '~' */
-
-static const GLubyte ch126data[] = {
-0x83,0x80,0xc7,0xc0,0x7c,0x60,0x38,0x20,
-};
-
-static const BitmapCharRec ch126 = {11,4,-1,-5,13,ch126data};
-
-/* char: 0x7d '}' */
-
-static const GLubyte ch125data[] = {
-0xe0,0x30,0x18,0x18,0x18,0x18,0x18,0x18,0x8,0xc,0x4,0x3,0x4,0xc,0x8,0x18,
-0x18,0x18,0x18,0x18,0x30,0xe0,
-};
-
-static const BitmapCharRec ch125 = {8,22,-1,5,10,ch125data};
-
-/* char: 0x7c '|' */
-
-static const GLubyte ch124data[] = {
-0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc0,
-};
-
-static const BitmapCharRec ch124 = {2,17,-2,0,6,ch124data};
-
-/* char: 0x7b '{' */
-
-static const GLubyte ch123data[] = {
-0x7,0xc,0x18,0x18,0x18,0x18,0x18,0x18,0x10,0x30,0x20,0xc0,0x20,0x30,0x10,0x18,
-0x18,0x18,0x18,0x18,0xc,0x7,
-};
-
-static const BitmapCharRec ch123 = {8,22,-1,5,10,ch123data};
-
-/* char: 0x7a 'z' */
-
-static const GLubyte ch122data[] = {
-0xff,0xc3,0x61,0x70,0x30,0x38,0x18,0x1c,0xe,0x86,0xc3,0xff,
-};
-
-static const BitmapCharRec ch122 = {8,12,-1,0,10,ch122data};
-
-/* char: 0x79 'y' */
-
-static const GLubyte ch121data[] = {
-0xe0,0x0,0xf0,0x0,0x18,0x0,0x8,0x0,0xc,0x0,0x4,0x0,0xe,0x0,0xe,0x0,
-0x1a,0x0,0x19,0x0,0x19,0x0,0x31,0x0,0x30,0x80,0x30,0x80,0x60,0x80,0x60,0xc0,
-0xf1,0xe0,
-};
-
-static const BitmapCharRec ch121 = {11,17,0,5,11,ch121data};
-
-/* char: 0x78 'x' */
-
-static const GLubyte ch120data[] = {
-0xf1,0xe0,0x60,0xc0,0x21,0x80,0x33,0x80,0x1b,0x0,0xe,0x0,0xc,0x0,0x1a,0x0,
-0x39,0x0,0x31,0x80,0x60,0xc0,0xf1,0xe0,
-};
-
-static const BitmapCharRec ch120 = {11,12,-1,0,13,ch120data};
-
-/* char: 0x77 'w' */
-
-static const GLubyte ch119data[] = {
-0x4,0x10,0x0,0xe,0x38,0x0,0xe,0x38,0x0,0x1a,0x28,0x0,0x1a,0x64,0x0,0x19,
-0x64,0x0,0x31,0x64,0x0,0x30,0xc2,0x0,0x30,0xc2,0x0,0x60,0xc2,0x0,0x60,0xc3,
-0x0,0xf1,0xe7,0x80,
-};
-
-static const BitmapCharRec ch119 = {17,12,0,0,17,ch119data};
-
-/* char: 0x76 'v' */
-
-static const GLubyte ch118data[] = {
-0x4,0x0,0xe,0x0,0xe,0x0,0x1a,0x0,0x19,0x0,0x19,0x0,0x31,0x0,0x30,0x80,
-0x30,0x80,0x60,0x80,0x60,0xc0,0xf1,0xe0,
-};
-
-static const BitmapCharRec ch118 = {11,12,0,0,11,ch118data};
-
-/* char: 0x75 'u' */
-
-static const GLubyte ch117data[] = {
-0x1c,0xe0,0x3e,0xc0,0x71,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
-0x60,0xc0,0x60,0xc0,0x60,0xc0,0xe1,0xc0,
-};
-
-static const BitmapCharRec ch117 = {11,12,-1,0,13,ch117data};
-
-/* char: 0x74 't' */
-
-static const GLubyte ch116data[] = {
-0x1c,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0xfe,0x70,0x30,0x10,
-};
-
-static const BitmapCharRec ch116 = {7,15,0,0,7,ch116data};
-
-/* char: 0x73 's' */
-
-static const GLubyte ch115data[] = {
-0xf8,0xc6,0x83,0x3,0x7,0x1e,0x7c,0x70,0xe0,0xc2,0x66,0x3e,
-};
-
-static const BitmapCharRec ch115 = {8,12,-1,0,10,ch115data};
-
-/* char: 0x72 'r' */
-
-static const GLubyte ch114data[] = {
-0xf0,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x76,0x6e,0xe6,
-};
-
-static const BitmapCharRec ch114 = {7,12,-1,0,8,ch114data};
-
-/* char: 0x71 'q' */
-
-static const GLubyte ch113data[] = {
-0x3,0xc0,0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x1d,0x80,0x73,0x80,0x61,0x80,
-0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x61,0x80,0x73,0x80,
-0x1d,0x80,
-};
-
-static const BitmapCharRec ch113 = {10,17,-1,5,12,ch113data};
-
-/* char: 0x70 'p' */
-
-static const GLubyte ch112data[] = {
-0xf0,0x0,0x60,0x0,0x60,0x0,0x60,0x0,0x60,0x0,0x6e,0x0,0x73,0x80,0x61,0x80,
-0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x61,0x80,0x73,0x80,
-0xee,0x0,
-};
-
-static const BitmapCharRec ch112 = {10,17,-1,5,12,ch112data};
-
-/* char: 0x6f 'o' */
-
-static const GLubyte ch111data[] = {
-0x1e,0x0,0x73,0x80,0x61,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc0,0xc0,0x61,0x80,0x73,0x80,0x1e,0x0,
-};
-
-static const BitmapCharRec ch111 = {10,12,-1,0,12,ch111data};
-
-/* char: 0x6e 'n' */
-
-static const GLubyte ch110data[] = {
-0xf1,0xe0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
-0x60,0xc0,0x71,0xc0,0x6f,0x80,0xe7,0x0,
-};
-
-static const BitmapCharRec ch110 = {11,12,-1,0,13,ch110data};
-
-/* char: 0x6d 'm' */
-
-static const GLubyte ch109data[] = {
-0xf1,0xe3,0xc0,0x60,0xc1,0x80,0x60,0xc1,0x80,0x60,0xc1,0x80,0x60,0xc1,0x80,0x60,
-0xc1,0x80,0x60,0xc1,0x80,0x60,0xc1,0x80,0x60,0xc1,0x80,0x71,0xe3,0x80,0x6f,0x9f,
-0x0,0xe7,0xe,0x0,
-};
-
-static const BitmapCharRec ch109 = {18,12,-1,0,20,ch109data};
-
-/* char: 0x6c 'l' */
-
-static const GLubyte ch108data[] = {
-0xf0,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,
-0xe0,
-};
-
-static const BitmapCharRec ch108 = {4,17,-1,0,6,ch108data};
-
-/* char: 0x6b 'k' */
-
-static const GLubyte ch107data[] = {
-0xf3,0xe0,0x61,0xc0,0x63,0x80,0x67,0x0,0x6e,0x0,0x6c,0x0,0x78,0x0,0x68,0x0,
-0x64,0x0,0x66,0x0,0x63,0x0,0x67,0xc0,0x60,0x0,0x60,0x0,0x60,0x0,0x60,0x0,
-0xe0,0x0,
-};
-
-static const BitmapCharRec ch107 = {11,17,-1,0,12,ch107data};
-
-/* char: 0x6a 'j' */
-
-static const GLubyte ch106data[] = {
-0xc0,0xe0,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-0x70,0x0,0x0,0x0,0x30,0x30,
-};
-
-static const BitmapCharRec ch106 = {4,22,0,5,6,ch106data};
-
-/* char: 0x69 'i' */
-
-static const GLubyte ch105data[] = {
-0xf0,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0xe0,0x0,0x0,0x0,0x60,
-0x60,
-};
-
-static const BitmapCharRec ch105 = {4,17,-1,0,6,ch105data};
-
-/* char: 0x68 'h' */
-
-static const GLubyte ch104data[] = {
-0xf1,0xe0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
-0x60,0xc0,0x71,0xc0,0x6f,0x80,0x67,0x0,0x60,0x0,0x60,0x0,0x60,0x0,0x60,0x0,
-0xe0,0x0,
-};
-
-static const BitmapCharRec ch104 = {11,17,-1,0,13,ch104data};
-
-/* char: 0x67 'g' */
-
-static const GLubyte ch103data[] = {
-0x3f,0x0,0xf1,0xc0,0xc0,0x60,0xc0,0x20,0x60,0x60,0x3f,0xc0,0x7f,0x0,0x60,0x0,
-0x30,0x0,0x3e,0x0,0x33,0x0,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x33,0x0,
-0x1f,0xc0,
-};
-
-static const BitmapCharRec ch103 = {11,17,-1,5,12,ch103data};
-
-/* char: 0x66 'f' */
-
-static const GLubyte ch102data[] = {
-0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0xfe,0x30,0x30,0x30,0x16,
-0xe,
-};
-
-static const BitmapCharRec ch102 = {7,17,0,0,7,ch102data};
-
-/* char: 0x65 'e' */
-
-static const GLubyte ch101data[] = {
-0x1e,0x0,0x7f,0x0,0x70,0x80,0xe0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,
-0xc1,0x80,0x41,0x80,0x63,0x0,0x1e,0x0,
-};
-
-static const BitmapCharRec ch101 = {9,12,-1,0,11,ch101data};
-
-/* char: 0x64 'd' */
-
-static const GLubyte ch100data[] = {
-0x1e,0xc0,0x73,0x80,0x61,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,
-0xc1,0x80,0x61,0x80,0x73,0x80,0x1d,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,
-0x3,0x80,
-};
-
-static const BitmapCharRec ch100 = {10,17,-1,0,12,ch100data};
-
-/* char: 0x63 'c' */
-
-static const GLubyte ch99data[] = {
-0x1e,0x0,0x7f,0x0,0x70,0x80,0xe0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,
-0xc0,0x0,0x41,0x80,0x63,0x80,0x1f,0x0,
-};
-
-static const BitmapCharRec ch99 = {9,12,-1,0,11,ch99data};
-
-/* char: 0x62 'b' */
-
-static const GLubyte ch98data[] = {
-0x5e,0x0,0x73,0x80,0x61,0x80,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
-0x60,0xc0,0x61,0x80,0x73,0x80,0x6e,0x0,0x60,0x0,0x60,0x0,0x60,0x0,0x60,0x0,
-0xe0,0x0,
-};
-
-static const BitmapCharRec ch98 = {10,17,-1,0,12,ch98data};
-
-/* char: 0x61 'a' */
-
-static const GLubyte ch97data[] = {
-0x71,0x80,0xfb,0x0,0xc7,0x0,0xc3,0x0,0xc3,0x0,0x63,0x0,0x3b,0x0,0xf,0x0,
-0x3,0x0,0x63,0x0,0x67,0x0,0x3e,0x0,
-};
-
-static const BitmapCharRec ch97 = {9,12,-1,0,11,ch97data};
-
-/* char: 0x60 '`' */
-
-static const GLubyte ch96data[] = {
-0x60,0xe0,0x80,0xc0,0x60,
-};
-
-static const BitmapCharRec ch96 = {3,5,-2,-12,7,ch96data};
-
-/* char: 0x5f '_' */
-
-static const GLubyte ch95data[] = {
-0xff,0xf8,0xff,0xf8,
-};
-
-static const BitmapCharRec ch95 = {13,2,0,5,13,ch95data};
-
-/* char: 0x5e '^' */
-
-static const GLubyte ch94data[] = {
-0x80,0x80,0xc1,0x80,0x41,0x0,0x63,0x0,0x22,0x0,0x36,0x0,0x14,0x0,0x1c,0x0,
-0x8,0x0,
-};
-
-static const BitmapCharRec ch94 = {9,9,-1,-8,11,ch94data};
-
-/* char: 0x5d ']' */
-
-static const GLubyte ch93data[] = {
-0xf8,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
-0x18,0x18,0x18,0x18,0xf8,
-};
-
-static const BitmapCharRec ch93 = {5,21,-1,4,8,ch93data};
-
-/* char: 0x5c '\' */
-
-static const GLubyte ch92data[] = {
-0x6,0x6,0x4,0xc,0xc,0x8,0x18,0x18,0x10,0x30,0x30,0x20,0x60,0x60,0x40,0xc0,
-0xc0,
-};
-
-static const BitmapCharRec ch92 = {7,17,0,0,7,ch92data};
-
-/* char: 0x5b '[' */
-
-static const GLubyte ch91data[] = {
-0xf8,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc0,0xc0,0xc0,0xc0,0xf8,
-};
-
-static const BitmapCharRec ch91 = {5,21,-2,4,8,ch91data};
-
-/* char: 0x5a 'Z' */
-
-static const GLubyte ch90data[] = {
-0xff,0xf8,0xe0,0x18,0x70,0x8,0x30,0x8,0x38,0x0,0x18,0x0,0x1c,0x0,0xe,0x0,
-0x6,0x0,0x7,0x0,0x3,0x0,0x3,0x80,0x1,0xc0,0x80,0xc0,0x80,0xe0,0xc0,0x70,
-0xff,0xf0,
-};
-
-static const BitmapCharRec ch90 = {13,17,-1,0,15,ch90data};
-
-/* char: 0x59 'Y' */
-
-static const GLubyte ch89data[] = {
-0x7,0xe0,0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x3,0xc0,
-0x3,0x40,0x6,0x60,0x6,0x20,0xc,0x30,0x1c,0x10,0x18,0x18,0x38,0x8,0x30,0xc,
-0xfc,0x3f,
-};
-
-static const BitmapCharRec ch89 = {16,17,0,0,16,ch89data};
-
-/* char: 0x58 'X' */
-
-static const GLubyte ch88data[] = {
-0xfc,0xf,0xc0,0x30,0x3,0x80,0x18,0x7,0x0,0x8,0xe,0x0,0x4,0xc,0x0,0x6,
-0x18,0x0,0x2,0x38,0x0,0x1,0x70,0x0,0x0,0xe0,0x0,0x0,0xc0,0x0,0x1,0xc0,
-0x0,0x3,0xa0,0x0,0x3,0x10,0x0,0x6,0x8,0x0,0xe,0xc,0x0,0x1c,0x6,0x0,
-0x7e,0xf,0x80,
-};
-
-static const BitmapCharRec ch88 = {18,17,0,0,18,ch88data};
-
-/* char: 0x57 'W' */
-
-static const GLubyte ch87data[] = {
-0x1,0x83,0x0,0x1,0x83,0x0,0x1,0x83,0x80,0x3,0x87,0x80,0x3,0x46,0x80,0x3,
-0x46,0xc0,0x6,0x46,0x40,0x6,0x4c,0x40,0x6,0x4c,0x60,0xc,0x2c,0x60,0xc,0x2c,
-0x20,0x18,0x2c,0x20,0x18,0x18,0x30,0x18,0x18,0x10,0x30,0x18,0x10,0x30,0x18,0x18,
-0xfc,0x7e,0x7e,
-};
-
-static const BitmapCharRec ch87 = {23,17,0,0,23,ch87data};
-
-/* char: 0x56 'V' */
-
-static const GLubyte ch86data[] = {
-0x1,0x80,0x0,0x1,0x80,0x0,0x1,0x80,0x0,0x3,0xc0,0x0,0x3,0x40,0x0,0x3,
-0x60,0x0,0x6,0x20,0x0,0x6,0x20,0x0,0x6,0x30,0x0,0xc,0x10,0x0,0xc,0x18,
-0x0,0x18,0x8,0x0,0x18,0x8,0x0,0x18,0xc,0x0,0x30,0x4,0x0,0x30,0x6,0x0,
-0xfc,0x1f,0x80,
-};
-
-static const BitmapCharRec ch86 = {17,17,0,0,17,ch86data};
-
-/* char: 0x55 'U' */
-
-static const GLubyte ch85data[] = {
-0x7,0xe0,0x1c,0x30,0x18,0x8,0x30,0x8,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
-0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
-0xfc,0x1f,
-};
-
-static const BitmapCharRec ch85 = {16,17,-1,0,18,ch85data};
-
-/* char: 0x54 'T' */
-
-static const GLubyte ch84data[] = {
-0xf,0xc0,0x3,0x0,0x3,0x0,0x3,0x0,0x3,0x0,0x3,0x0,0x3,0x0,0x3,0x0,
-0x3,0x0,0x3,0x0,0x3,0x0,0x3,0x0,0x3,0x0,0x83,0x4,0x83,0x4,0xc3,0xc,
-0xff,0xfc,
-};
-
-static const BitmapCharRec ch84 = {14,17,-1,0,16,ch84data};
-
-/* char: 0x53 'S' */
-
-static const GLubyte ch83data[] = {
-0x9e,0x0,0xf1,0x80,0xc0,0xc0,0x80,0x60,0x80,0x60,0x0,0x60,0x0,0xe0,0x3,0xc0,
-0xf,0x80,0x1e,0x0,0x78,0x0,0xe0,0x0,0xc0,0x40,0xc0,0x40,0xc0,0xc0,0x63,0xc0,
-0x1e,0x40,
-};
-
-static const BitmapCharRec ch83 = {11,17,-1,0,13,ch83data};
-
-/* char: 0x52 'R' */
-
-static const GLubyte ch82data[] = {
-0xfc,0x1e,0x30,0x1c,0x30,0x38,0x30,0x70,0x30,0x60,0x30,0xc0,0x31,0xc0,0x33,0x80,
-0x3f,0xc0,0x30,0x70,0x30,0x30,0x30,0x38,0x30,0x18,0x30,0x38,0x30,0x30,0x30,0x70,
-0xff,0xc0,
-};
-
-static const BitmapCharRec ch82 = {15,17,-1,0,16,ch82data};
-
-/* char: 0x51 'Q' */
-
-static const GLubyte ch81data[] = {
-0x0,0xf,0x0,0x38,0x0,0x70,0x0,0xe0,0x1,0xc0,0x7,0xe0,0x1c,0x38,0x38,0x1c,
-0x60,0x6,0x60,0x6,0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,
-0xc0,0x3,0x60,0x6,0x60,0x6,0x38,0x1c,0x1c,0x38,0x7,0xe0,
-};
-
-static const BitmapCharRec ch81 = {16,22,-1,5,18,ch81data};
-
-/* char: 0x50 'P' */
-
-static const GLubyte ch80data[] = {
-0xfc,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,
-0x3f,0xc0,0x30,0x70,0x30,0x30,0x30,0x18,0x30,0x18,0x30,0x18,0x30,0x30,0x30,0x70,
-0xff,0xc0,
-};
-
-static const BitmapCharRec ch80 = {13,17,-1,0,15,ch80data};
-
-/* char: 0x4f 'O' */
-
-static const GLubyte ch79data[] = {
-0x7,0xe0,0x1c,0x38,0x38,0x1c,0x60,0x6,0x60,0x6,0xc0,0x3,0xc0,0x3,0xc0,0x3,
-0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,0x60,0x6,0x60,0x6,0x38,0x1c,0x1c,0x38,
-0x7,0xe0,
-};
-
-static const BitmapCharRec ch79 = {16,17,-1,0,18,ch79data};
-
-/* char: 0x4e 'N' */
-
-static const GLubyte ch78data[] = {
-0xf8,0xc,0x20,0x1c,0x20,0x1c,0x20,0x34,0x20,0x64,0x20,0x64,0x20,0xc4,0x21,0x84,
-0x21,0x84,0x23,0x4,0x26,0x4,0x26,0x4,0x2c,0x4,0x38,0x4,0x38,0x4,0x30,0x4,
-0xf0,0x1f,
-};
-
-static const BitmapCharRec ch78 = {16,17,-1,0,18,ch78data};
-
-/* char: 0x4d 'M' */
-
-static const GLubyte ch77data[] = {
-0xf8,0x21,0xf8,0x20,0x60,0x60,0x20,0x60,0x60,0x20,0xd0,0x60,0x20,0xd0,0x60,0x21,
-0x88,0x60,0x21,0x88,0x60,0x23,0x8,0x60,0x23,0x4,0x60,0x26,0x4,0x60,0x26,0x2,
-0x60,0x2c,0x2,0x60,0x2c,0x2,0x60,0x38,0x1,0x60,0x38,0x1,0x60,0x30,0x0,0xe0,
-0xf0,0x0,0xf8,
-};
-
-static const BitmapCharRec ch77 = {21,17,-1,0,22,ch77data};
-
-/* char: 0x4c 'L' */
-
-static const GLubyte ch76data[] = {
-0xff,0xf8,0x30,0x18,0x30,0x8,0x30,0x8,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,
-0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,
-0xfc,0x0,
-};
-
-static const BitmapCharRec ch76 = {13,17,-1,0,14,ch76data};
-
-/* char: 0x4b 'K' */
-
-static const GLubyte ch75data[] = {
-0xfc,0x1f,0x30,0xe,0x30,0x1c,0x30,0x38,0x30,0x70,0x30,0xe0,0x31,0xc0,0x33,0x80,
-0x3f,0x0,0x3e,0x0,0x33,0x0,0x31,0x80,0x30,0xc0,0x30,0x60,0x30,0x30,0x30,0x18,
-0xfc,0x7e,
-};
-
-static const BitmapCharRec ch75 = {16,17,-1,0,17,ch75data};
-
-/* char: 0x4a 'J' */
-
-static const GLubyte ch74data[] = {
-0x78,0x0,0xcc,0x0,0xc6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,
-0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,
-0x1f,0x80,
-};
-
-static const BitmapCharRec ch74 = {9,17,-1,0,11,ch74data};
-
-/* char: 0x49 'I' */
-
-static const GLubyte ch73data[] = {
-0xfc,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-0xfc,
-};
-
-static const BitmapCharRec ch73 = {6,17,-1,0,8,ch73data};
-
-/* char: 0x48 'H' */
-
-static const GLubyte ch72data[] = {
-0xfc,0x1f,0x80,0x30,0x6,0x0,0x30,0x6,0x0,0x30,0x6,0x0,0x30,0x6,0x0,0x30,
-0x6,0x0,0x30,0x6,0x0,0x30,0x6,0x0,0x3f,0xfe,0x0,0x30,0x6,0x0,0x30,0x6,
-0x0,0x30,0x6,0x0,0x30,0x6,0x0,0x30,0x6,0x0,0x30,0x6,0x0,0x30,0x6,0x0,
-0xfc,0x1f,0x80,
-};
-
-static const BitmapCharRec ch72 = {17,17,-1,0,19,ch72data};
-
-/* char: 0x47 'G' */
-
-static const GLubyte ch71data[] = {
-0x7,0xe0,0x1e,0x38,0x38,0x1c,0x60,0xc,0x60,0xc,0xc0,0xc,0xc0,0xc,0xc0,0x3f,
-0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0x60,0x4,0x60,0x4,0x38,0xc,0x1c,0x3c,
-0x7,0xe4,
-};
-
-static const BitmapCharRec ch71 = {16,17,-1,0,18,ch71data};
-
-/* char: 0x46 'F' */
-
-static const GLubyte ch70data[] = {
-0xfc,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x20,0x30,0x20,
-0x3f,0xe0,0x30,0x20,0x30,0x20,0x30,0x0,0x30,0x0,0x30,0x10,0x30,0x10,0x30,0x30,
-0xff,0xf0,
-};
-
-static const BitmapCharRec ch70 = {12,17,-1,0,14,ch70data};
-
-/* char: 0x45 'E' */
-
-static const GLubyte ch69data[] = {
-0xff,0xf8,0x30,0x18,0x30,0x8,0x30,0x8,0x30,0x0,0x30,0x0,0x30,0x40,0x30,0x40,
-0x3f,0xc0,0x30,0x40,0x30,0x40,0x30,0x0,0x30,0x0,0x30,0x10,0x30,0x10,0x30,0x30,
-0xff,0xf0,
-};
-
-static const BitmapCharRec ch69 = {13,17,-1,0,15,ch69data};
-
-/* char: 0x44 'D' */
-
-static const GLubyte ch68data[] = {
-0xff,0xc0,0x30,0x70,0x30,0x38,0x30,0xc,0x30,0xc,0x30,0x6,0x30,0x6,0x30,0x6,
-0x30,0x6,0x30,0x6,0x30,0x6,0x30,0x6,0x30,0xc,0x30,0xc,0x30,0x38,0x30,0x70,
-0xff,0xc0,
-};
-
-static const BitmapCharRec ch68 = {15,17,-1,0,17,ch68data};
-
-/* char: 0x43 'C' */
-
-static const GLubyte ch67data[] = {
-0x7,0xe0,0x1e,0x38,0x38,0x8,0x60,0x4,0x60,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,
-0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0x60,0x4,0x60,0x4,0x38,0xc,0x1c,0x3c,
-0x7,0xe4,
-};
-
-static const BitmapCharRec ch67 = {14,17,-1,0,16,ch67data};
-
-/* char: 0x42 'B' */
-
-static const GLubyte ch66data[] = {
-0xff,0xe0,0x30,0x78,0x30,0x18,0x30,0xc,0x30,0xc,0x30,0xc,0x30,0x18,0x30,0x38,
-0x3f,0xe0,0x30,0x40,0x30,0x30,0x30,0x18,0x30,0x18,0x30,0x18,0x30,0x30,0x30,0x70,
-0xff,0xc0,
-};
-
-static const BitmapCharRec ch66 = {14,17,-1,0,16,ch66data};
-
-/* char: 0x41 'A' */
-
-static const GLubyte ch65data[] = {
-0xfc,0x1f,0x80,0x30,0x6,0x0,0x10,0x6,0x0,0x10,0xc,0x0,0x18,0xc,0x0,0x8,
-0xc,0x0,0xf,0xf8,0x0,0xc,0x18,0x0,0x4,0x18,0x0,0x4,0x30,0x0,0x6,0x30,
-0x0,0x2,0x30,0x0,0x2,0x60,0x0,0x1,0x60,0x0,0x1,0xc0,0x0,0x1,0xc0,0x0,
-0x0,0x80,0x0,
-};
-
-static const BitmapCharRec ch65 = {17,17,0,0,17,ch65data};
-
-/* char: 0x40 '@' */
-
-static const GLubyte ch64data[] = {
-0x3,0xf0,0x0,0xe,0xc,0x0,0x18,0x0,0x0,0x30,0x0,0x0,0x61,0xde,0x0,0x63,
-0x7b,0x0,0xc6,0x39,0x80,0xc6,0x18,0x80,0xc6,0x18,0xc0,0xc6,0x18,0x40,0xc6,0xc,
-0x40,0xc3,0xc,0x40,0xc3,0x8c,0x40,0xe1,0xfc,0x40,0x60,0xec,0xc0,0x70,0x0,0x80,
-0x38,0x1,0x80,0x1c,0x3,0x0,0xf,0xe,0x0,0x3,0xf8,0x0,
-};
-
-static const BitmapCharRec ch64 = {18,20,-2,3,22,ch64data};
-
-/* char: 0x3f '?' */
-
-static const GLubyte ch63data[] = {
-0x30,0x30,0x0,0x0,0x10,0x10,0x10,0x18,0x18,0xc,0xe,0x7,0xc3,0xc3,0x83,0xc6,
-0x7c,
-};
-
-static const BitmapCharRec ch63 = {8,17,-2,0,11,ch63data};
-
-/* char: 0x3e '>' */
-
-static const GLubyte ch62data[] = {
-0xc0,0x0,0x70,0x0,0x1c,0x0,0x7,0x0,0x1,0xc0,0x0,0x60,0x1,0xc0,0x7,0x0,
-0x1c,0x0,0x70,0x0,0xc0,0x0,
-};
-
-static const BitmapCharRec ch62 = {11,11,-1,-1,13,ch62data};
-
-/* char: 0x3d '=' */
-
-static const GLubyte ch61data[] = {
-0xff,0xf0,0xff,0xf0,0x0,0x0,0x0,0x0,0xff,0xf0,0xff,0xf0,
-};
-
-static const BitmapCharRec ch61 = {12,6,-1,-4,14,ch61data};
-
-/* char: 0x3c '<' */
-
-static const GLubyte ch60data[] = {
-0x0,0x60,0x1,0xc0,0x7,0x0,0x1c,0x0,0x70,0x0,0xc0,0x0,0x70,0x0,0x1c,0x0,
-0x7,0x0,0x1,0xc0,0x0,0x60,
-};
-
-static const BitmapCharRec ch60 = {11,11,-1,-1,13,ch60data};
-
-/* char: 0x3b ';' */
-
-static const GLubyte ch59data[] = {
-0xc0,0x60,0x20,0xe0,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch59 = {3,14,-2,3,7,ch59data};
-
-/* char: 0x3a ':' */
-
-static const GLubyte ch58data[] = {
-0xc0,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0xc0,
-};
-
-static const BitmapCharRec ch58 = {2,11,-2,0,6,ch58data};
-
-/* char: 0x39 '9' */
-
-static const GLubyte ch57data[] = {
-0xf0,0x0,0x1c,0x0,0x6,0x0,0x3,0x0,0x3,0x80,0x1,0x80,0x1d,0x80,0x73,0xc0,
-0x61,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc1,0xc0,0x61,0x80,0x77,0x80,
-0x1e,0x0,
-};
-
-static const BitmapCharRec ch57 = {10,17,-1,0,12,ch57data};
-
-/* char: 0x38 '8' */
-
-static const GLubyte ch56data[] = {
-0x1e,0x0,0x73,0x80,0xe1,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x41,0xc0,0x61,0x80,
-0x37,0x0,0x1e,0x0,0x1e,0x0,0x33,0x0,0x61,0x80,0x61,0x80,0x61,0x80,0x33,0x0,
-0x1e,0x0,
-};
-
-static const BitmapCharRec ch56 = {10,17,-1,0,12,ch56data};
-
-/* char: 0x37 '7' */
-
-static const GLubyte ch55data[] = {
-0x18,0x0,0x18,0x0,0xc,0x0,0xc,0x0,0xc,0x0,0x4,0x0,0x6,0x0,0x6,0x0,
-0x2,0x0,0x3,0x0,0x3,0x0,0x1,0x0,0x1,0x80,0x81,0x80,0xc0,0xc0,0xff,0xc0,
-0x7f,0xc0,
-};
-
-static const BitmapCharRec ch55 = {10,17,-1,0,12,ch55data};
-
-/* char: 0x36 '6' */
-
-static const GLubyte ch54data[] = {
-0x1e,0x0,0x7b,0x80,0x61,0x80,0xe0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc1,0x80,0xf3,0x80,0xee,0x0,0x60,0x0,0x70,0x0,0x30,0x0,0x18,0x0,0xe,0x0,
-0x3,0xc0,
-};
-
-static const BitmapCharRec ch54 = {10,17,-1,0,12,ch54data};
-
-/* char: 0x35 '5' */
-
-static const GLubyte ch53data[] = {
-0x7e,0x0,0xe3,0x80,0xc1,0x80,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x1,0xc0,
-0x3,0x80,0xf,0x80,0x7e,0x0,0x78,0x0,0x60,0x0,0x20,0x0,0x20,0x0,0x1f,0x80,
-0x1f,0xc0,
-};
-
-static const BitmapCharRec ch53 = {10,17,-1,0,12,ch53data};
-
-/* char: 0x34 '4' */
-
-static const GLubyte ch52data[] = {
-0x3,0x0,0x3,0x0,0x3,0x0,0x3,0x0,0xff,0xc0,0xff,0xc0,0xc3,0x0,0x43,0x0,
-0x63,0x0,0x23,0x0,0x33,0x0,0x13,0x0,0x1b,0x0,0xb,0x0,0x7,0x0,0x7,0x0,
-0x3,0x0,
-};
-
-static const BitmapCharRec ch52 = {10,17,-1,0,12,ch52data};
-
-/* char: 0x33 '3' */
-
-static const GLubyte ch51data[] = {
-0x78,0x0,0xe6,0x0,0xc3,0x0,0x1,0x0,0x1,0x80,0x1,0x80,0x1,0x80,0x3,0x80,
-0x7,0x0,0x1e,0x0,0xc,0x0,0x6,0x0,0x83,0x0,0x83,0x0,0x47,0x0,0x7e,0x0,
-0x1c,0x0,
-};
-
-static const BitmapCharRec ch51 = {9,17,-1,0,12,ch51data};
-
-/* char: 0x32 '2' */
-
-static const GLubyte ch50data[] = {
-0xff,0x80,0xff,0xc0,0x60,0x40,0x30,0x0,0x18,0x0,0xc,0x0,0x4,0x0,0x6,0x0,
-0x3,0x0,0x3,0x0,0x1,0x80,0x1,0x80,0x81,0x80,0x81,0x80,0x43,0x80,0x7f,0x0,
-0x1c,0x0,
-};
-
-static const BitmapCharRec ch50 = {10,17,-1,0,12,ch50data};
-
-/* char: 0x31 '1' */
-
-static const GLubyte ch49data[] = {
-0xff,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x78,0x18,
-0x8,
-};
-
-static const BitmapCharRec ch49 = {8,17,-2,0,12,ch49data};
-
-/* char: 0x30 '0' */
-
-static const GLubyte ch48data[] = {
-0x1e,0x0,0x33,0x0,0x61,0x80,0x61,0x80,0xe1,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x61,0x80,0x61,0x80,0x33,0x0,
-0x1e,0x0,
-};
-
-static const BitmapCharRec ch48 = {10,17,-1,0,12,ch48data};
-
-/* char: 0x2f '/' */
-
-static const GLubyte ch47data[] = {
-0xc0,0xc0,0xc0,0x60,0x60,0x20,0x30,0x30,0x10,0x18,0x18,0x8,0xc,0xc,0x4,0x6,
-0x6,0x3,0x3,0x3,
-};
-
-static const BitmapCharRec ch47 = {8,20,1,3,7,ch47data};
-
-/* char: 0x2e '.' */
-
-static const GLubyte ch46data[] = {
-0xc0,0xc0,
-};
-
-static const BitmapCharRec ch46 = {2,2,-2,0,6,ch46data};
-
-/* char: 0x2d '-' */
-
-static const GLubyte ch45data[] = {
-0xff,0xf0,0xff,0xf0,
-};
-
-static const BitmapCharRec ch45 = {12,2,-1,-6,14,ch45data};
-
-/* char: 0x2c ',' */
-
-static const GLubyte ch44data[] = {
-0xc0,0x60,0x20,0xe0,0xc0,
-};
-
-static const BitmapCharRec ch44 = {3,5,-2,3,7,ch44data};
-
-/* char: 0x2b '+' */
-
-static const GLubyte ch43data[] = {
-0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0xff,0xf0,0xff,0xf0,0x6,0x0,
-0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,
-};
-
-static const BitmapCharRec ch43 = {12,12,-1,-1,14,ch43data};
-
-/* char: 0x2a '*' */
-
-static const GLubyte ch42data[] = {
-0x8,0x0,0x1c,0x0,0xc9,0x80,0xeb,0x80,0x1c,0x0,0xeb,0x80,0xc9,0x80,0x1c,0x0,
-0x8,0x0,
-};
-
-static const BitmapCharRec ch42 = {9,9,-2,-8,12,ch42data};
-
-/* char: 0x29 ')' */
-
-static const GLubyte ch41data[] = {
-0x80,0x40,0x20,0x30,0x10,0x18,0x18,0xc,0xc,0xc,0xc,0xc,0xc,0xc,0xc,0x18,
-0x18,0x10,0x30,0x20,0x40,0x80,
-};
-
-static const BitmapCharRec ch41 = {6,22,-1,5,8,ch41data};
-
-/* char: 0x28 '(' */
-
-static const GLubyte ch40data[] = {
-0x4,0x8,0x10,0x30,0x20,0x60,0x60,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x60,
-0x60,0x20,0x30,0x10,0x8,0x4,
-};
-
-static const BitmapCharRec ch40 = {6,22,-1,5,8,ch40data};
-
-/* char: 0x27 ''' */
-
-static const GLubyte ch39data[] = {
-0xc0,0x60,0x20,0xe0,0xc0,
-};
-
-static const BitmapCharRec ch39 = {3,5,-3,-12,8,ch39data};
-
-/* char: 0x26 '&' */
-
-static const GLubyte ch38data[] = {
-0x3c,0x3c,0x7f,0x7e,0xe1,0xe1,0xc0,0xc0,0xc1,0xc0,0xc1,0xa0,0x63,0x20,0x37,0x10,
-0x1e,0x18,0xe,0x3e,0xf,0x0,0x1d,0x80,0x18,0xc0,0x18,0x40,0x18,0x40,0xc,0xc0,
-0x7,0x80,
-};
-
-static const BitmapCharRec ch38 = {16,17,-1,0,18,ch38data};
-
-/* char: 0x25 '%' */
-
-static const GLubyte ch37data[] = {
-0x30,0x3c,0x0,0x18,0x72,0x0,0xc,0x61,0x0,0x4,0x60,0x80,0x6,0x60,0x80,0x3,
-0x30,0x80,0x1,0x19,0x80,0x1,0x8f,0x0,0x78,0xc0,0x0,0xe4,0x40,0x0,0xc2,0x60,
-0x0,0xc1,0x30,0x0,0xc1,0x10,0x0,0x61,0x18,0x0,0x33,0xfc,0x0,0x1e,0xc,0x0,
-};
-
-static const BitmapCharRec ch37 = {17,16,-1,0,19,ch37data};
-
-/* char: 0x24 '$' */
-
-static const GLubyte ch36data[] = {
-0x4,0x0,0x4,0x0,0x3f,0x0,0xe5,0xc0,0xc4,0xc0,0x84,0x60,0x84,0x60,0x4,0x60,
-0x4,0xe0,0x7,0xc0,0x7,0x80,0x1e,0x0,0x3c,0x0,0x74,0x0,0x64,0x0,0x64,0x20,
-0x64,0x60,0x34,0xe0,0x1f,0x80,0x4,0x0,0x4,0x0,
-};
-
-static const BitmapCharRec ch36 = {11,21,0,2,12,ch36data};
-
-/* char: 0x23 '#' */
-
-static const GLubyte ch35data[] = {
-0x22,0x0,0x22,0x0,0x22,0x0,0x22,0x0,0x22,0x0,0xff,0xc0,0xff,0xc0,0x11,0x0,
-0x11,0x0,0x11,0x0,0x7f,0xe0,0x7f,0xe0,0x8,0x80,0x8,0x80,0x8,0x80,0x8,0x80,
-0x8,0x80,
-};
-
-static const BitmapCharRec ch35 = {11,17,-1,0,13,ch35data};
-
-/* char: 0x22 '"' */
-
-static const GLubyte ch34data[] = {
-0x88,0xcc,0xcc,0xcc,0xcc,
-};
-
-static const BitmapCharRec ch34 = {6,5,-1,-12,10,ch34data};
-
-/* char: 0x21 '!' */
-
-static const GLubyte ch33data[] = {
-0xc0,0xc0,0x0,0x0,0x0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
-0xc0,
-};
-
-static const BitmapCharRec ch33 = {2,17,-3,0,8,ch33data};
-
-/* char: 0x20 ' ' */
-
-#ifdef _WIN32
-/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
- a height or width of zero does not advance the raster position
- as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
-static const GLubyte ch32data[] = { 0x0 };
-static const BitmapCharRec ch32 = {1,1,0,0,6,ch32data};
-#else
-static const BitmapCharRec ch32 = {0,0,0,0,6,0};
-#endif
-
-static const BitmapCharRec * const chars[] = {
-&ch32,
-&ch33,
-&ch34,
-&ch35,
-&ch36,
-&ch37,
-&ch38,
-&ch39,
-&ch40,
-&ch41,
-&ch42,
-&ch43,
-&ch44,
-&ch45,
-&ch46,
-&ch47,
-&ch48,
-&ch49,
-&ch50,
-&ch51,
-&ch52,
-&ch53,
-&ch54,
-&ch55,
-&ch56,
-&ch57,
-&ch58,
-&ch59,
-&ch60,
-&ch61,
-&ch62,
-&ch63,
-&ch64,
-&ch65,
-&ch66,
-&ch67,
-&ch68,
-&ch69,
-&ch70,
-&ch71,
-&ch72,
-&ch73,
-&ch74,
-&ch75,
-&ch76,
-&ch77,
-&ch78,
-&ch79,
-&ch80,
-&ch81,
-&ch82,
-&ch83,
-&ch84,
-&ch85,
-&ch86,
-&ch87,
-&ch88,
-&ch89,
-&ch90,
-&ch91,
-&ch92,
-&ch93,
-&ch94,
-&ch95,
-&ch96,
-&ch97,
-&ch98,
-&ch99,
-&ch100,
-&ch101,
-&ch102,
-&ch103,
-&ch104,
-&ch105,
-&ch106,
-&ch107,
-&ch108,
-&ch109,
-&ch110,
-&ch111,
-&ch112,
-&ch113,
-&ch114,
-&ch115,
-&ch116,
-&ch117,
-&ch118,
-&ch119,
-&ch120,
-&ch121,
-&ch122,
-&ch123,
-&ch124,
-&ch125,
-&ch126,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-0,
-&ch160,
-&ch161,
-&ch162,
-&ch163,
-&ch164,
-&ch165,
-&ch166,
-&ch167,
-&ch168,
-&ch169,
-&ch170,
-&ch171,
-&ch172,
-&ch173,
-&ch174,
-&ch175,
-&ch176,
-&ch177,
-&ch178,
-&ch179,
-&ch180,
-&ch181,
-&ch182,
-&ch183,
-&ch184,
-&ch185,
-&ch186,
-&ch187,
-&ch188,
-&ch189,
-&ch190,
-&ch191,
-&ch192,
-&ch193,
-&ch194,
-&ch195,
-&ch196,
-&ch197,
-&ch198,
-&ch199,
-&ch200,
-&ch201,
-&ch202,
-&ch203,
-&ch204,
-&ch205,
-&ch206,
-&ch207,
-&ch208,
-&ch209,
-&ch210,
-&ch211,
-&ch212,
-&ch213,
-&ch214,
-&ch215,
-&ch216,
-&ch217,
-&ch218,
-&ch219,
-&ch220,
-&ch221,
-&ch222,
-&ch223,
-&ch224,
-&ch225,
-&ch226,
-&ch227,
-&ch228,
-&ch229,
-&ch230,
-&ch231,
-&ch232,
-&ch233,
-&ch234,
-&ch235,
-&ch236,
-&ch237,
-&ch238,
-&ch239,
-&ch240,
-&ch241,
-&ch242,
-&ch243,
-&ch244,
-&ch245,
-&ch246,
-&ch247,
-&ch248,
-&ch249,
-&ch250,
-&ch251,
-&ch252,
-&ch253,
-&ch254,
-&ch255,
-};
-
-#if !defined(__IBMCPP__)
-const
-#endif
-BitmapFontRec glutBitmapTimesRoman24 = {
-"-adobe-times-medium-r-normal--24-240-75-75-p-124-iso8859-1",
-224,
-32,
-chars
-};
-
diff --git a/src/glut/os2/glut_util.cpp b/src/glut/os2/glut_util.cpp
deleted file mode 100644
index 2a50a7400e..0000000000
--- a/src/glut/os2/glut_util.cpp
+++ /dev/null
@@ -1,90 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <stdio.h>
-
-#include "glutint.h"
-
-#if !defined(__OS2__)
-
-/* strdup is actually not a standard ANSI C or POSIX routine
- so implement a private one for GLUT. OpenVMS does not have a
- strdup; Linux's standard libc doesn't declare strdup by default
- (unless BSD or SVID interfaces are requested). */
-char *
-__glutStrdup(const char *string)
-{
- char *copy;
-
- copy = (char*) malloc(strlen(string) + 1);
- if (copy == NULL)
- return NULL;
- strcpy(copy, string);
- return copy;
-}
-#endif
-
-void
-__glutWarning(char *format,...)
-{
- va_list args;
-
- va_start(args, format);
- fprintf(stderr, "GLUT: Warning in %s: ",
- __glutProgramName ? __glutProgramName : "(unamed)");
- vfprintf(stderr, format, args);
- va_end(args);
- putc('\n', stderr);
-}
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutReportErrors(void)
-{
- GLenum error;
-
- while ((error = glGetError()) != GL_NO_ERROR)
- __glutWarning("GL error: %s", gluErrorString(error));
-}
-/* ENDCENTRY */
-
-void
-__glutFatalError(char *format,...)
-{
- va_list args;
-
- va_start(args, format);
- fprintf(stderr, "GLUT: Fatal Error in %s: ",
- __glutProgramName ? __glutProgramName : "(unamed)");
- vfprintf(stderr, format, args);
- va_end(args);
- putc('\n', stderr);
-/* || defined(__OS2__) */
-#if defined(_WIN32)
- if (__glutExitFunc) {
- __glutExitFunc(1);
- }
-#endif
- exit(1);
-}
-
-void
-__glutFatalUsage(char *format,...)
-{
- va_list args;
-
- va_start(args, format);
- fprintf(stderr, "GLUT: Fatal API Usage in %s: ",
- __glutProgramName ? __glutProgramName : "(unamed)");
- vfprintf(stderr, format, args);
- va_end(args);
- putc('\n', stderr);
- abort();
-}
diff --git a/src/glut/os2/glut_vidresize.cpp b/src/glut/os2/glut_vidresize.cpp
deleted file mode 100644
index 9f9b6eef58..0000000000
--- a/src/glut/os2/glut_vidresize.cpp
+++ /dev/null
@@ -1,232 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1996. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include <stdlib.h>
-
-#ifdef __sgi
-#include <dlfcn.h>
-#endif
-
-#include "glutint.h"
-
-/* Grumble. The IRIX 6.3 and early IRIX 6.4 OpenGL headers
- support the video resize extension, but failed to define
- GLX_SGIX_video_resize. */
-#if 0
-#ifdef GLX_SYNC_FRAME_SGIX
-#define GLX_SGIX_video_resize 1
-#endif
-#endif
-
-#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_video_resize)
-static int canVideoResize = -1;
-static int videoResizeChannel;
-#else
-static int canVideoResize = 0;
-#endif
-static int videoResizeInUse = 0;
-static int dx = -1, dy = -1, dw = -1, dh = -1;
-
-/* XXX Note that IRIX 6.2, 6.3, and some 6.4 versions have a
- bug where programs seg-fault when they attempt video
- resizing from an indirect OpenGL context (either local or
- over a network). */
-
-#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_video_resize)
-
-static volatile int errorCaught;
-
-/* ARGSUSED */
-static int
-catchXSGIvcErrors(Display * dpy, XErrorEvent * event)
-{
- errorCaught = 1;
- return 0;
-}
-#endif
-
-/* CENTRY */
-
-int GLUTAPIENTRY
-glutVideoResizeGet(GLenum param)
-{
-#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_video_resize)
- if (canVideoResize < 0) {
- canVideoResize = __glutIsSupportedByGLX("GLX_SGIX_video_resize");
- if (canVideoResize) {
-#if defined(__sgi) && __sgi
- /* This is a hack because IRIX 6.2, 6.3, and some 6.4
- versions were released with GLX_SGIX_video_resize
- being advertised by the X server though the video
- resize extension is not actually supported. We try to
- determine if the libGL.so we are using actually has a
- video resize entrypoint before we try to use the
- feature. */
- void (*func) (void);
- void *glxDso = dlopen("libGL.so", RTLD_LAZY);
-
- func = (void (*)(void)) dlsym(glxDso, "glXQueryChannelDeltasSGIX");
- if (!func) {
- canVideoResize = 0;
- } else
-#endif
- {
- char *channelString;
- int (*handler) (Display *, XErrorEvent *);
-
- channelString = getenv("GLUT_VIDEO_RESIZE_CHANNEL");
- videoResizeChannel = channelString ? atoi(channelString) : 0;
-
- /* Work around another annoying problem with SGI's
- GLX_SGIX_video_resize implementation. Early IRIX
- 6.4 OpenGL's advertise the extension and have the
- video resize API, but an XSGIvc X protocol errors
- result trying to use the API. Set up an error
- handler to intercept what would otherwise be a fatal
- error. If an error was recieved, do not report that
- video resize is possible. */
- handler = XSetErrorHandler(catchXSGIvcErrors);
-
- errorCaught = 0;
-
-#if defined(GLX_GLXEXT_PROTOTYPES)
-#endif
-
- __glut_glXQueryChannelDeltasSGIX(__glutDisplay, __glutScreen,
- videoResizeChannel, &dx, &dy, &dw, &dh);
-
- /* glXQueryChannelDeltasSGIX is an inherent X server
- round-trip so we know we will have gotten either the
- correct reply or and error by this time. */
- XSetErrorHandler(handler);
-
- /* Still yet another work around. In IRIX 6.4 betas,
- glXQueryChannelDeltasSGIX will return as if it
- succeeded, but the values are filled with junk.
- Watch to make sure the delta variables really make
- sense. */
- if (errorCaught ||
- dx < 0 || dy < 0 || dw < 0 || dh < 0 ||
- dx > 2048 || dy > 2048 || dw > 2048 || dh > 2048) {
- canVideoResize = 0;
- }
- }
- }
- }
-#endif /* GLX_SGIX_video_resize */
-
- switch (param) {
- case GLUT_VIDEO_RESIZE_POSSIBLE:
- return canVideoResize;
- case GLUT_VIDEO_RESIZE_IN_USE:
- return videoResizeInUse;
- case GLUT_VIDEO_RESIZE_X_DELTA:
- return dx;
- case GLUT_VIDEO_RESIZE_Y_DELTA:
- return dy;
- case GLUT_VIDEO_RESIZE_WIDTH_DELTA:
- return dw;
- case GLUT_VIDEO_RESIZE_HEIGHT_DELTA:
- return dh;
- case GLUT_VIDEO_RESIZE_X:
- case GLUT_VIDEO_RESIZE_Y:
- case GLUT_VIDEO_RESIZE_WIDTH:
- case GLUT_VIDEO_RESIZE_HEIGHT:
-#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_video_resize)
- if (videoResizeInUse) {
- int x, y, width, height;
-
- __glut_glXQueryChannelRectSGIX(__glutDisplay, __glutScreen,
- videoResizeChannel, &x, &y, &width, &height);
- switch (param) {
- case GLUT_VIDEO_RESIZE_X:
- return x;
- case GLUT_VIDEO_RESIZE_Y:
- return y;
- case GLUT_VIDEO_RESIZE_WIDTH:
- return width;
- case GLUT_VIDEO_RESIZE_HEIGHT:
- return height;
- }
- }
-#endif
- return -1;
- default:
- __glutWarning("invalid glutVideoResizeGet parameter: %d", param);
- return -1;
- }
-}
-
-void GLUTAPIENTRY
-glutSetupVideoResizing(void)
-{
-#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_video_resize)
- if (glutVideoResizeGet(GLUT_VIDEO_RESIZE_POSSIBLE)) {
- __glut_glXBindChannelToWindowSGIX(__glutDisplay, __glutScreen,
- videoResizeChannel, __glutCurrentWindow->win);
- videoResizeInUse = 1;
- } else
-#endif
- __glutFatalError("glutEstablishVideoResizing: video resizing not possible.\n");
-}
-
-void GLUTAPIENTRY
-glutStopVideoResizing(void)
-{
-#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_video_resize)
- if (glutVideoResizeGet(GLUT_VIDEO_RESIZE_POSSIBLE)) {
- if (videoResizeInUse) {
- __glut_glXBindChannelToWindowSGIX(__glutDisplay, __glutScreen,
- videoResizeChannel, None);
- videoResizeInUse = 0;
- }
- }
-#endif
-}
-
-/* ARGSUSED */
-void GLUTAPIENTRY
-glutVideoResize(int x, int y, int width, int height)
-{
-#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_video_resize)
- if (videoResizeInUse) {
-#ifdef GLX_SYNC_SWAP_SGIX
- /* glXChannelRectSyncSGIX introduced in a patch to IRIX
- 6.2; the original unpatched IRIX 6.2 behavior is always
- GLX_SYNC_SWAP_SGIX. */
- __glut_glXChannelRectSyncSGIX(__glutDisplay, __glutScreen,
- videoResizeChannel, GLX_SYNC_SWAP_SGIX);
-#endif
- __glut_glXChannelRectSGIX(__glutDisplay, __glutScreen,
- videoResizeChannel, x, y, width, height);
- }
-#endif
-}
-
-/* ARGSUSED */
-void GLUTAPIENTRY
-glutVideoPan(int x, int y, int width, int height)
-{
-#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_video_resize)
- if (videoResizeInUse) {
-#ifdef GLX_SYNC_FRAME_SGIX
- /* glXChannelRectSyncSGIX introduced in a patch to IRIX
- 6.2; the original unpatched IRIX 6.2 behavior is always
- GLX_SYNC_SWAP_SGIX. We just ignore that we cannot
- accomplish GLX_SYNC_FRAME_SGIX on IRIX unpatched 6.2;
- this means you'd need a glutSwapBuffers to actually
- realize the video resize. */
- __glut_glXChannelRectSyncSGIX(__glutDisplay, __glutScreen,
- videoResizeChannel, GLX_SYNC_FRAME_SGIX);
-#endif
- __glut_glXChannelRectSGIX(__glutDisplay, __glutScreen,
- videoResizeChannel, x, y, width, height);
- }
-#endif
-}
-
-/* ENDCENTRY */
diff --git a/src/glut/os2/glut_warp.cpp b/src/glut/os2/glut_warp.cpp
deleted file mode 100644
index 4ef6f7bf39..0000000000
--- a/src/glut/os2/glut_warp.cpp
+++ /dev/null
@@ -1,29 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1996, 1997. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#include <stdlib.h>
-#include <stdarg.h>
-#include <stdio.h>
-
-#include "glutint.h"
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutWarpPointer(int x, int y)
-{
-// XWarpPointer(__glutDisplay, None, __glutCurrentWindow->win,
-// 0, 0, 0, 0, x, y);
- POINTL point;
- point.x = x;
- point.y = y;
- WinMapWindowPoints(__glutCurrentWindow->win,HWND_DESKTOP,&point,1);
- WinSetPointerPos(HWND_DESKTOP, point.x, point.y);
-
- XFlush(__glutDisplay);
-}
-
-/* ENDCENTRY */
diff --git a/src/glut/os2/glut_win.cpp b/src/glut/os2/glut_win.cpp
deleted file mode 100644
index 63757d7152..0000000000
--- a/src/glut/os2/glut_win.cpp
+++ /dev/null
@@ -1,1220 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994, 1997. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#ifdef __VMS
-#include <GL/vms_x_fix.h>
-#endif
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <assert.h>
-#if defined(__OS2__)
-#define POKA 0
- #include "WarpGL.h"
- #include "glutos2.h"
- #include "glutint.h"
-
- #include "gl\os2mesa.h"
-
-//
-//define for resource id for main GLUT window, in samples it is defined in GL_TEST.h
- #define ID_WINDOW 256
-
- int evglSetPixelFormat(int iPixelFormat);
- HPS hpsCurrent;
-
-#elif !defined(_WIN32)
-
-#include <X11/Xlib.h>
-#include <X11/Xatom.h>
-#endif
-
-#include "glutint.h"
-
-GLUTwindow *__glutCurrentWindow = NULL;
-GLUTwindow **__glutWindowList = NULL;
-int __glutWindowListSize = 0;
-#if !defined(_WIN32) && !defined(__OS2__)
-GLUTstale *__glutStaleWindowList = NULL;
-#endif
-GLUTwindow *__glutMenuWindow = NULL;
-
-void (*__glutFreeOverlayFunc) (GLUToverlay *);
-XVisualInfo *(*__glutDetermineVisualFromString) (char *string, Bool * treatAsSingle,
- Criterion * requiredCriteria, int nRequired, int requiredMask, void** fbc) = NULL;
-
-static Criterion requiredWindowCriteria[] =
-{
- {LEVEL, EQ, 0},
- {TRANSPARENT, EQ, 0}
-};
-static int numRequiredWindowCriteria = sizeof(requiredWindowCriteria) / sizeof(Criterion);
-static int requiredWindowCriteriaMask = (1 << LEVEL) | (1 << TRANSPARENT);
-
-static void
-cleanWindowWorkList(GLUTwindow * window)
-{
- GLUTwindow **pEntry = &__glutWindowWorkList;
- GLUTwindow *entry = __glutWindowWorkList;
-
- /* Tranverse singly-linked window work list look for the
- window. */
- while (entry) {
- if (entry == window) {
- /* Found it; delete it. */
- *pEntry = entry->prevWorkWin;
- return;
- } else {
- pEntry = &entry->prevWorkWin;
- entry = *pEntry;
- }
- }
-}
-
-#if !defined(_WIN32) && !defined(__OS2PM__)
-
-static void
-cleanStaleWindowList(GLUTwindow * window)
-{
- GLUTstale **pEntry = &__glutStaleWindowList;
- GLUTstale *entry = __glutStaleWindowList;
-
- /* Tranverse singly-linked stale window list look for the
- window ID. */
- while (entry) {
- if (entry->window == window) {
- /* Found it; delete it. */
- *pEntry = entry->next;
- free(entry);
- return;
- } else {
- pEntry = &entry->next;
- entry = *pEntry;
- }
- }
-}
-
-#endif
-
-static GLUTwindow *__glutWindowCache = NULL;
-
-GLUTwindow *
-__glutGetWindow(Window win)
-{
- int i;
-
- /* Does win belong to the last window ID looked up? */
- if (__glutWindowCache && (win == __glutWindowCache->win ||
- (__glutWindowCache->overlay && win ==
- __glutWindowCache->overlay->win))) {
- return
- __glutWindowCache;
- }
- /* Otherwise scan the window list looking for the window ID. */
- for (i = 0; i < __glutWindowListSize; i++) {
- if (__glutWindowList[i]) {
- if (win == __glutWindowList[i]->win) {
- __glutWindowCache = __glutWindowList[i];
- return __glutWindowCache;
- }
- if (__glutWindowList[i]->overlay) {
- if (win == __glutWindowList[i]->overlay->win) {
- __glutWindowCache = __glutWindowList[i];
- return __glutWindowCache;
- }
- }
- }
- }
-#if !defined(_WIN32) && !defined(__OS2PM__)
- {
- GLUTstale *entry;
-
- /* Scan through destroyed overlay window IDs for which no
- DestroyNotify has yet been received. */
- for (entry = __glutStaleWindowList; entry; entry = entry->next) {
- if (entry->win == win)
- return entry->window;
- }
- }
-#endif
- return NULL;
-}
-
-/* CENTRY */
-int GLUTAPIENTRY
-glutGetWindow(void)
-{
- if (__glutCurrentWindow) {
- return __glutCurrentWindow->num + 1;
- } else {
- return 0;
- }
-}
-/* ENDCENTRY */
-
-void
-__glutSetWindow(GLUTwindow * window)
-{
- /* It is tempting to try to short-circuit the call to
- glXMakeCurrent if we "know" we are going to make current
- to a window we are already current to. In fact, this
- assumption breaks when GLUT is expected to integrated with
- other OpenGL windowing APIs that also make current to
- OpenGL contexts. Since glXMakeCurrent short-circuits the
- "already bound" case, GLUT avoids the temptation to do so
- too. */
- __glutCurrentWindow = window;
-
- MAKE_CURRENT_LAYER(__glutCurrentWindow);
-
-#if !defined(_WIN32) && !defined(__OS2__)
- /* We should be careful to force a finish between each
- iteration through the GLUT main loop if indirect OpenGL
- contexts are in use; indirect contexts tend to have much
- longer latency because lots of OpenGL extension requests
- can queue up in the X protocol stream. We accomplish this
- by posting GLUT_FINISH_WORK to be done. */
- if (!__glutCurrentWindow->isDirect)
- __glutPutOnWorkList(__glutCurrentWindow, GLUT_FINISH_WORK);
-#endif
-
- /* If debugging is enabled, we'll want to check this window
- for any OpenGL errors every iteration through the GLUT
- main loop. To accomplish this, we post the
- GLUT_DEBUG_WORK to be done on this window. */
- if (__glutDebug) {
- __glutPutOnWorkList(__glutCurrentWindow, GLUT_DEBUG_WORK);
- }
-}
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutSetWindow(int win)
-{
- GLUTwindow *window;
-
- if (win < 1 || win > __glutWindowListSize) {
- __glutWarning("glutSetWindow attempted on bogus window.");
- return;
- }
- window = __glutWindowList[win - 1];
- if (!window) {
- __glutWarning("glutSetWindow attempted on bogus window.");
- return;
- }
- __glutSetWindow(window);
-}
-/* ENDCENTRY */
-
-static int
-getUnusedWindowSlot(void)
-{
- int i;
-
- /* Look for allocated, unused slot. */
- for (i = 0; i < __glutWindowListSize; i++) {
- if (!__glutWindowList[i]) {
- return i;
- }
- }
- /* Allocate a new slot. */
- __glutWindowListSize++;
- if (__glutWindowList) {
- __glutWindowList = (GLUTwindow **)
- realloc(__glutWindowList,
- __glutWindowListSize * sizeof(GLUTwindow *));
- } else {
- /* XXX Some realloc's do not correctly perform a malloc
- when asked to perform a realloc on a NULL pointer,
- though the ANSI C library spec requires this. */
- __glutWindowList = (GLUTwindow **)
- malloc(sizeof(GLUTwindow *));
- }
- if (!__glutWindowList)
- __glutFatalError("out of memory.");
- __glutWindowList[__glutWindowListSize - 1] = NULL;
- return __glutWindowListSize - 1;
-}
-
-static XVisualInfo *
-getVisualInfoCI(unsigned int mode)
-{
-#if POKA
- static int bufSizeList[] =
- {16, 12, 8, 4, 2, 1, 0};
- XVisualInfo *vi;
- int list[32];
- int i, n = 0;
-
- /* Should not be looking at display mode mask if
- __glutDisplayString is non-NULL. */
- assert(!__glutDisplayString);
-
- list[n++] = GLX_BUFFER_SIZE;
- list[n++] = 1;
- if (GLUT_WIND_IS_DOUBLE(mode)) {
- list[n++] = GLX_DOUBLEBUFFER;
- }
- if (GLUT_WIND_IS_STEREO(mode)) {
- list[n++] = GLX_STEREO;
- }
- if (GLUT_WIND_HAS_DEPTH(mode)) {
- list[n++] = GLX_DEPTH_SIZE;
- list[n++] = 1;
- }
- if (GLUT_WIND_HAS_STENCIL(mode)) {
- list[n++] = GLX_STENCIL_SIZE;
- list[n++] = 1;
- }
- list[n] = (int) None; /* terminate list */
-
- /* glXChooseVisual specify GLX_BUFFER_SIZE prefers the
- "smallest index buffer of at least the specified size".
- This would be reasonable if GLUT allowed the user to
- specify the required buffe size, but GLUT's display mode
- is too simplistic (easy to use?). GLUT should try to find
- the "largest". So start with a large buffer size and
- shrink until we find a matching one that exists. */
-
- for (i = 0; bufSizeList[i]; i++) {
- /* XXX Assumes list[1] is where GLX_BUFFER_SIZE parameter
- is. */
- list[1] = bufSizeList[i];
- vi = glXChooseVisual(__glutDisplay,
- __glutScreen, list);
- if (vi)
- return vi;
- }
- return NULL;
-#else
- return
- glXChooseVisual(mode);
-
-#endif
-}
-
-static XVisualInfo *
-getVisualInfoRGB(unsigned int mode)
-{
-#if POKA
- int list[32];
- int n = 0;
-
- /* Should not be looking at display mode mask if
- __glutDisplayString is non-NULL. */
- assert(!__glutDisplayString);
-
- /* XXX Would a caching mechanism to minize the calls to
- glXChooseVisual? You'd have to reference count
- XVisualInfo* pointers. Would also have to properly
- interact with glutInitDisplayString. */
-
- list[n++] = GLX_RGBA;
- list[n++] = GLX_RED_SIZE;
- list[n++] = 1;
- list[n++] = GLX_GREEN_SIZE;
- list[n++] = 1;
- list[n++] = GLX_BLUE_SIZE;
- list[n++] = 1;
- if (GLUT_WIND_HAS_ALPHA(mode)) {
- list[n++] = GLX_ALPHA_SIZE;
- list[n++] = 1;
- }
- if (GLUT_WIND_IS_DOUBLE(mode)) {
- list[n++] = GLX_DOUBLEBUFFER;
- }
- if (GLUT_WIND_IS_STEREO(mode)) {
- list[n++] = GLX_STEREO;
- }
- if (GLUT_WIND_HAS_DEPTH(mode)) {
- list[n++] = GLX_DEPTH_SIZE;
- list[n++] = 1;
- }
- if (GLUT_WIND_HAS_STENCIL(mode)) {
- list[n++] = GLX_STENCIL_SIZE;
- list[n++] = 1;
- }
- if (GLUT_WIND_HAS_ACCUM(mode)) {
- list[n++] = GLX_ACCUM_RED_SIZE;
- list[n++] = 1;
- list[n++] = GLX_ACCUM_GREEN_SIZE;
- list[n++] = 1;
- list[n++] = GLX_ACCUM_BLUE_SIZE;
- list[n++] = 1;
- if (GLUT_WIND_HAS_ALPHA(mode)) {
- list[n++] = GLX_ACCUM_ALPHA_SIZE;
- list[n++] = 1;
- }
- }
-#if defined(GLX_VERSION_1_1) && (defined(GLX_SGIS_multisample) || defined(GLX_ARB_multisample))
- if (GLUT_WIND_IS_MULTISAMPLE(mode)) {
- if (!__glutIsSupportedByGLX("GLX_SGIS_multisample") &&
- !__glutIsSupportedByGLX("GLX_ARB_multisample"))
- return NULL;
-#if defined(GLX_ARB_multisample)
- list[n++] = GLX_SAMPLES_ARB;
-#elif defined(GLX_SGIS_multisample)
- list[n++] = GLX_SAMPLES_SGIS;
-#endif
- /* XXX Is 4 a reasonable minimum acceptable number of
- samples? */
- list[n++] = 4;
- }
-#endif
- list[n] = (int) None; /* terminate list */
-
- return glXChooseVisual(__glutDisplay,
- __glutScreen, list);
-#else /* POKA */
-
- return
- glXChooseVisual(mode);
-
-#endif
-}
-
-XVisualInfo *
-__glutGetVisualInfo(unsigned int mode)
-{
- /* XXX GLUT_LUMINANCE not implemented for GLUT 3.0. */
- if (GLUT_WIND_IS_LUMINANCE(mode))
- return NULL;
-
- if (GLUT_WIND_IS_RGB(mode))
- return getVisualInfoRGB(mode);
- else
- return getVisualInfoCI(mode);
-}
-
-XVisualInfo *
-__glutDetermineVisual(
- unsigned int displayMode,
- Bool * treatAsSingle,
- XVisualInfo * (getVisualInfo) (unsigned int))
-{
- XVisualInfo *vis;
-
- /* Should not be looking at display mode mask if
- __glutDisplayString is non-NULL. */
- assert(!__glutDisplayString);
-
- *treatAsSingle = GLUT_WIND_IS_SINGLE(displayMode);
- vis = getVisualInfo(displayMode);
- if (!vis) {
- /* Fallback cases when can't get exactly what was asked
- for... */
- if (GLUT_WIND_IS_SINGLE(displayMode)) {
- /* If we can't find a single buffered visual, try looking
- for a double buffered visual. We can treat a double
- buffered visual as a single buffer visual by changing
- the draw buffer to GL_FRONT and treating any swap
- buffers as no-ops. */
- displayMode |= GLUT_DOUBLE;
- vis = getVisualInfo(displayMode);
- *treatAsSingle = True;
- }
- if (!vis && GLUT_WIND_IS_MULTISAMPLE(displayMode)) {
- /* If we can't seem to get multisampling (ie, not Reality
- Engine class graphics!), go without multisampling. It
- is up to the application to query how many multisamples
- were allocated (0 equals no multisampling) if the
- application is going to use multisampling for more than
- just antialiasing. */
- displayMode &= ~GLUT_MULTISAMPLE;
- vis = getVisualInfo(displayMode);
- }
- }
- return vis;
-}
-
-static void GLUTCALLBACK
-__glutDefaultDisplay(void)
-{
- /* XXX Remove the warning after GLUT 3.0. */
- __glutWarning("The following is a new check for GLUT 3.0; update your code.");
- __glutFatalError(
- "redisplay needed for window %d, but no display callback.",
- __glutCurrentWindow->num + 1);
-}
-
-void GLUTCALLBACK
-__glutDefaultReshape(int width, int height)
-{
- GLUToverlay *overlay;
-
- /* Adjust the viewport of the window (and overlay if one
- exists). */
- MAKE_CURRENT_WINDOW(__glutCurrentWindow);
- glViewport(0, 0, (GLsizei) width, (GLsizei) height);
- overlay = __glutCurrentWindow->overlay;
- if (overlay) {
- MAKE_CURRENT_OVERLAY(overlay);
- glViewport(0, 0, (GLsizei) width, (GLsizei) height);
- }
- /* Make sure we are current to the current layer (application
- should be able to count on the current layer not changing
- unless the application explicitly calls glutUseLayer). */
- MAKE_CURRENT_LAYER(__glutCurrentWindow);
-}
-
-XVisualInfo *
-__glutDetermineWindowVisual(Bool * treatAsSingle, Bool * visAlloced, void **fbc)
-{
- if (__glutDisplayString) {
-
- /* __glutDisplayString should be NULL except if
- glutInitDisplayString has been called to register a
- different display string. Calling glutInitDisplayString
- means using a string instead of an integer mask determine
- the visual to use. Using the function pointer variable
- __glutDetermineVisualFromString below avoids linking in
- the code for implementing glutInitDisplayString (ie,
- glut_dstr.o) unless glutInitDisplayString gets called by
- the application. */
-
- assert(__glutDetermineVisualFromString);
- *visAlloced = False;
- *fbc = NULL;
- return __glutDetermineVisualFromString(__glutDisplayString, treatAsSingle,
- requiredWindowCriteria, numRequiredWindowCriteria, requiredWindowCriteriaMask, fbc);
- } else {
- *visAlloced = True;
- *fbc = NULL;
- return __glutDetermineVisual(__glutDisplayMode,
- treatAsSingle, __glutGetVisualInfo);
- }
-}
-
-/* ARGSUSED5 */ /* Only Win32 uses gameMode parameter. */
-GLUTwindow *
-__glutCreateWindow(GLUTwindow * parent,
- int x, int y, int width, int height, int gameMode)
-{
- GLUTwindow *window;
- XSetWindowAttributes wa;
- unsigned long attribMask;
- int winnum;
- int i;
-#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_fbconfig)
- GLXFBConfigSGIX fbc;
-#else
- void *fbc;
-#endif
-
-#if defined(__OS2PM__)
- {
- extern HAB hab; /* PM anchor block handle */
- CLASSINFO classinfo;
-
- if(!WinQueryClassInfo(hab,"GLUT", &classinfo) )
- __glutOpenOS2Connection(NULL);
- }
-#elif defined(_WIN32)
- WNDCLASS wc;
- int style;
-
- if (!GetClassInfo(GetModuleHandle(NULL), "GLUT", &wc)) {
- __glutOpenWin32Connection(NULL);
- }
-#else
- if (!__glutDisplay) {
- __glutOpenXConnection(NULL);
- }
-#endif
-
-#ifndef __OS2PM__
- if (__glutGameModeWindow) {
- __glutFatalError("cannot create windows in game mode.");
- }
-#endif
-
- winnum = getUnusedWindowSlot();
- window = (GLUTwindow *) malloc(sizeof(GLUTwindow));
- if (!window) {
- __glutFatalError("out of memory.");
- }
- window->num = winnum;
-
-#if defined(__OS2PM__)
- /* Add this new window to the window list. */
- __glutWindowList[winnum] = window;
- window->shownState = -1;
-#endif
-
-#if !defined(_WIN32) && !defined(__OS2PM__)
- window->vis = __glutDetermineWindowVisual(&window->treatAsSingle,
- &window->visAlloced, (void**) &fbc);
- if (!window->vis) {
- __glutFatalError(
- "visual with necessary capabilities not found.");
- }
- __glutSetupColormap(window->vis, &window->colormap, &window->cmap);
-#endif
- window->eventMask = StructureNotifyMask | ExposureMask;
-
- attribMask = CWBackPixmap | CWBorderPixel | CWColormap | CWEventMask;
- wa.background_pixmap = None;
- wa.border_pixel = 0;
- wa.colormap = window->cmap;
- wa.event_mask = window->eventMask;
- if (parent) {
- if (parent->eventMask & GLUT_HACK_STOP_PROPAGATE_MASK)
- wa.event_mask |= GLUT_HACK_STOP_PROPAGATE_MASK;
- attribMask |= CWDontPropagate;
- wa.do_not_propagate_mask = parent->eventMask & GLUT_DONT_PROPAGATE_FILTER_MASK;
- } else {
- wa.do_not_propagate_mask = 0;
- }
-
- /* Stash width and height before Win32's __glutAdjustCoords
- possibly overwrites the values. */
- window->width = width;
- window->height = height;
- window->forceReshape = True;
- window->ignoreKeyRepeat = False;
-
-#if defined(__OS2PM__)
-
- { ULONG flStyle=0;
- int ii;
- ERRORID erridErrorCode;/* last error id code */
- extern HAB hab; /* PM anchor block handle */
-
- if (parent) {
- flStyle = WS_CLIPCHILDREN|WS_VISIBLE;
- } else {
- if (gameMode) {
- /* Game mode window should be a WS_POPUP window to
- ensure that the taskbar is hidden by it. A standard
- WS_OVERLAPPEDWINDOW does not hide the task bar. */
- flStyle = FCF_STANDARD | WS_MAXIMIZED;
- } else {
- /* A standard toplevel window with borders and such. */
- flStyle = FCF_STANDARD | WS_CLIPCHILDREN;
-// flStyle = WS_OVERLAPPEDWINDOW;
- }
- }
-{
- HWND hwnd; /* Window */
- ULONG ListBoxId; /* Window id */
- /* (supplied by application) */
-
-
- HWND hwndClient; /* handle to the client */
- HWND hwndFrame; /* handle to the frame */
- PFNWP GenericWndProc;
- FRAMECDATA fcd;
- RECTL rect; /* Boundary rectangle */
-
-
-
-/************************************************/
-// flCreate = (FCF_STANDARD) & ~FCF_TASKLIST;
-/**********************************/
- if (parent)
- { window->frame = NULL;
-
- hwnd = WinCreateWindow(parent->win, /* Parent window */
- "GLUTCHILD", /* Class name */
- "", /* Window text */
- flStyle, /* Window style */
- x, y, /* Position (x,y) */
- width, height, /* Size (width,height) */
- parent->win, /* Owner window */
- HWND_TOP, /* Sibling window */
- 0, /* Window id */
- NULL, /* Control data */
- NULL); /* Pres parameters */
-
- erridErrorCode = WinGetLastError(hab);
- window->win = hwnd;
-
- window->hdc = WinOpenWindowDC(window->win);
- window->hpsBuffer = hpsCurrent;
-
-
- rect.xLeft = x;
- rect.xRight = x+width;
- rect.yBottom = y;
- rect.yTop = y + height;
-
-/***** else parent *****************************/
- } else {
- hwnd = WinCreateStdWindow(HWND_DESKTOP,
- 0, /* WS_VISIBLE frame-window style */
- &flStyle, /* window style */
- "GLUT", /* class name */
- "GLUT",/* window title */
- 0L, /* default client style */
- NULLHANDLE, /* resource in executable file */
- ID_WINDOW, /* resource id */
- &hwndClient); /* receives client window handle */
-
- erridErrorCode = WinGetLastError(hab);
- window->win = hwndClient;
- window->frame = hwnd;
- window->hdc = WinOpenWindowDC(window->win);
-
- window->hpsBuffer = hpsCurrent;
-
-
-/* converts a client window's boundaries into an equivalent frame rectangle */
- rect.xLeft = x;
- rect.xRight = x+width;
- rect.yBottom = y;
- rect.yTop = y + height;
-
- /* calculate equivalent frame boundary from boundary data */
- WinCalcFrameRect(window->frame, &rect, FALSE);
- }
-/***** endof if(parent) *****************************/
-
- /* Must set the XHDC for fake glXChooseVisual & fake
- glXCreateContext & fake XAllocColorCells. */
- XHDC = window->hdc;
- XHWND = window->win;
- window->vis = __glutDetermineWindowVisual(&window->treatAsSingle,
- &window->visAlloced, &fbc);
- if (!window->vis)
- { __glutFatalError(
- "pixel format with necessary capabilities not found.");
- }
- { int rc;
- rc = wglChoosePixelFormat(window->hdc, window->vis),
-
-// evglSetPixelFormat(2); /* int iPixelFormat 1 - doublebuffer/2 - single buffer ??*/
- wglSetPixelFormat(window->hdc,rc,window->vis);
- }
- __glutSetupColormap(window->vis, &window->colormap, &window->cmap);
-
- window->ctx = glXCreateContext(window->hpsBuffer, window->vis,
- None, __glutTryDirect);
-
- WinSetWindowPos(hwnd,
- HWND_TOP,rect.xLeft,rect.yBottom,
- rect.xRight-rect.xLeft, rect.yTop-rect.yBottom,
- SWP_ACTIVATE | SWP_MOVE | SWP_SIZE | SWP_SHOW|SWP_ZORDER); /* flags*/
-
- /* Make sure subwindows get a windowStatus callback. */
- if (parent)
- WinPostMsg(parent->win, WM_ACTIVATE, 0, 0);
-
- }
-}
-
-#elif defined(_WIN32)
-
- __glutAdjustCoords(parent ? parent->win : NULL,
- &x, &y, &width, &height);
- if (parent) {
- style = WS_CHILD;
- } else {
- if (gameMode) {
- /* Game mode window should be a WS_POPUP window to
- ensure that the taskbar is hidden by it. A standard
- WS_OVERLAPPEDWINDOW does not hide the task bar. */
- style = WS_POPUP | WS_MAXIMIZE;
- } else {
- /* A standard toplevel window with borders and such. */
- style = WS_OVERLAPPEDWINDOW;
- }
- }
- window->win = CreateWindow("GLUT", "GLUT",
- WS_CLIPSIBLINGS | WS_CLIPCHILDREN | style,
- x, y, width, height, parent ? parent->win : __glutRoot,
- NULL, GetModuleHandle(NULL), 0);
- window->hdc = GetDC(window->win);
- /* Must set the XHDC for fake glXChooseVisual & fake
- glXCreateContext & fake XAllocColorCells. */
- XHDC = window->hdc;
- window->vis = __glutDetermineWindowVisual(&window->treatAsSingle,
- &window->visAlloced, &fbc);
- if (!window->vis) {
- __glutFatalError(
- "pixel format with necessary capabilities not found.");
- }
- if (!SetPixelFormat(window->hdc,
- ChoosePixelFormat(window->hdc, window->vis),
- window->vis)) {
- __glutFatalError("SetPixelFormat failed during window create.");
- }
- __glutSetupColormap(window->vis, &window->colormap, &window->cmap);
- /* Make sure subwindows get a windowStatus callback. */
- if (parent) {
- PostMessage(parent->win, WM_ACTIVATE, 0, 0);
- }
- window->renderDc = window->hdc;
-#else
- window->win = XCreateWindow(__glutDisplay,
- parent == NULL ? __glutRoot : parent->win,
- x, y, width, height, 0,
- window->vis->depth, InputOutput, window->vis->visual,
- attribMask, &wa);
-#endif
- window->renderWin = window->win;
-#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_fbconfig)
- if (fbc) {
- window->ctx = __glut_glXCreateContextWithConfigSGIX(__glutDisplay, fbc,
- GLX_RGBA_TYPE_SGIX, None, __glutTryDirect);
- } else
-#endif
-#if defined(__OS2PM__)
-// window->ctx = glXCreateContext(window->hpsBuffer, window->vis,
-// None, __glutTryDirect);
-#else
- window->ctx = glXCreateContext(__glutDisplay, window->vis,
- None, __glutTryDirect);
-#endif
- if (!window->ctx) {
- __glutFatalError(
- "failed to create OpenGL rendering context.");
- }
- window->renderCtx = window->ctx;
-#if !defined(_WIN32) && !defined(__OS2PM__)
- window->isDirect = glXIsDirect(__glutDisplay, window->ctx);
- if (__glutForceDirect) {
- if (!window->isDirect)
- __glutFatalError("direct rendering not possible.");
- }
-#endif
-
- window->parent = parent;
- if (parent) {
- window->siblings = parent->children;
- parent->children = window;
- } else {
- window->siblings = NULL;
- }
- window->overlay = NULL;
- window->children = NULL;
- window->display = __glutDefaultDisplay;
- window->reshape = __glutDefaultReshape;
- window->mouse = NULL;
- window->motion = NULL;
- window->passive = NULL;
- window->entry = NULL;
- window->keyboard = NULL;
- window->keyboardUp = NULL;
- window->windowStatus = NULL;
- window->visibility = NULL;
- window->special = NULL;
- window->specialUp = NULL;
- window->buttonBox = NULL;
- window->dials = NULL;
- window->spaceMotion = NULL;
- window->spaceRotate = NULL;
- window->spaceButton = NULL;
- window->tabletMotion = NULL;
- window->tabletButton = NULL;
-#ifdef _WIN32
- window->joystick = NULL;
- window->joyPollInterval = 0;
-#endif
-
-#if defined(__OS2PM__)
- window->wm_command = NULL;
-#endif
-
- window->tabletPos[0] = -1;
- window->tabletPos[1] = -1;
-#if defined(__OS2PM__)
- if(window->shownState == -1)
- window->shownState = 0;
- window->visState = window->shownState;
-#else
- window->shownState = 0;
- window->visState = -1; /* not VisibilityUnobscured,
- VisibilityPartiallyObscured, or
- VisibilityFullyObscured */
-#endif
- window->entryState = -1; /* not EnterNotify or LeaveNotify */
-
- window->desiredConfMask = 0;
- window->buttonUses = 0;
- window->cursor = GLUT_CURSOR_INHERIT;
-
- /* Setup window to be mapped when glutMainLoop starts. */
- window->workMask = GLUT_MAP_WORK;
-#ifdef _WIN32
- if (gameMode) {
- /* When mapping a game mode window, just show
- the window. We have already created the game
- mode window with a maximize flag at creation
- time. Doing a ShowWindow(window->win, SW_SHOWNORMAL)
- would be wrong for a game mode window since it
- would unmaximize the window. */
- window->desiredMapState = GameModeState;
- } else {
- window->desiredMapState = NormalState;
- }
-#else
- window->desiredMapState = NormalState;
-#endif
- window->prevWorkWin = __glutWindowWorkList;
- __glutWindowWorkList = window;
-
- /* Initially, no menus attached. */
- for (i = 0; i < GLUT_MAX_MENUS; i++) {
- window->menu[i] = 0;
- }
-
- /* Add this new window to the window list. */
- __glutWindowList[winnum] = window;
-
- /* Make the new window the current window. */
- __glutSetWindow(window);
-
- __glutDetermineMesaSwapHackSupport();
-
- if (window->treatAsSingle) {
- /* We do this because either the window really is single
- buffered (in which case this is redundant, but harmless,
- because this is the initial single-buffered context
- state); or we are treating a double buffered window as a
- single-buffered window because the system does not appear
- to export any suitable single- buffered visuals (in which
- the following are necessary). */
- glDrawBuffer(GL_FRONT);
- glReadBuffer(GL_FRONT);
- }
- return window;
-}
-
-/* CENTRY */
-int GLUTAPIENTRY
-glutCreateWindow(const char *title)
-{
- static int firstWindow = 1;
- GLUTwindow *window;
-#if !defined(_WIN32) && !defined(__OS2__)
- XWMHints *wmHints;
-#endif
- Window win;
- XTextProperty textprop;
-
- if (__glutGameModeWindow) {
- __glutFatalError("cannot create windows in game mode.");
- }
- window = __glutCreateWindow(NULL,
- __glutSizeHints.x, __glutSizeHints.y,
- __glutInitWidth, __glutInitHeight,
- /* not game mode */ 0);
- win = window->win;
- /* Setup ICCCM properties. */
- textprop.value = (unsigned char *) title;
- textprop.encoding = XA_STRING;
- textprop.format = 8;
- textprop.nitems = strlen(title);
-#if defined(__OS2__)
- WinSetWindowText(window->frame, (PCSZ)title);
- if (__glutIconic) {
- window->desiredMapState = IconicState;
- }
-#elif defined(_WIN32)
- SetWindowText(win, title);
- if (__glutIconic) {
- window->desiredMapState = IconicState;
- }
-#else
- wmHints = XAllocWMHints();
- wmHints->initial_state =
- __glutIconic ? IconicState : NormalState;
- wmHints->flags = StateHint;
- XSetWMProperties(__glutDisplay, win, &textprop, &textprop,
- /* Only put WM_COMMAND property on first window. */
- firstWindow ? __glutArgv : NULL,
- firstWindow ? __glutArgc : 0,
- &__glutSizeHints, wmHints, NULL);
- XFree(wmHints);
- XSetWMProtocols(__glutDisplay, win, &__glutWMDeleteWindow, 1);
-#endif
- firstWindow = 0;
- return window->num + 1;
-}
-
-#ifdef _WIN32
-int GLUTAPIENTRY
-__glutCreateWindowWithExit(const char *title, void (__cdecl *exitfunc)(int))
-{
- __glutExitFunc = exitfunc;
- return glutCreateWindow(title);
-}
-#endif
-
-int GLUTAPIENTRY
-glutCreateSubWindow(int win, int x, int y, int width, int height)
-{
- GLUTwindow *window;
-
- window = __glutCreateWindow(__glutWindowList[win - 1],
- x, y, width, height, /* not game mode */ 0);
-#if !defined(_WIN32) && !defined(__OS2__)
- {
- GLUTwindow *toplevel;
-
- toplevel = __glutToplevelOf(window);
- if (toplevel->cmap != window->cmap) {
- __glutPutOnWorkList(toplevel, GLUT_COLORMAP_WORK);
- }
- }
-#endif
- return window->num + 1;
-}
-/* ENDCENTRY */
-
-void
-__glutDestroyWindow(GLUTwindow * window,
- GLUTwindow * initialWindow)
-{
- GLUTwindow **prev, *cur, *parent, *siblings;
-
- /* Recursively destroy any children. */
- cur = window->children;
- while (cur) {
- siblings = cur->siblings;
- __glutDestroyWindow(cur, initialWindow);
- cur = siblings;
- }
- /* Remove from parent's children list (only necessary for
- non-initial windows and subwindows!). */
- parent = window->parent;
- if (parent && parent == initialWindow->parent) {
- prev = &parent->children;
- cur = parent->children;
- while (cur) {
- if (cur == window) {
- *prev = cur->siblings;
- break;
- }
- prev = &(cur->siblings);
- cur = cur->siblings;
- }
- }
- /* Unbind if bound to this window. */
- if (window == __glutCurrentWindow) {
- UNMAKE_CURRENT();
- __glutCurrentWindow = NULL;
- }
- /* Begin tearing down window itself. */
- if (window->overlay) {
- __glutFreeOverlayFunc(window->overlay);
- }
- XDestroyWindow(__glutDisplay, window->win);
- glXDestroyContext(__glutDisplay, window->ctx);
- if (window->colormap) {
- /* Only color index windows have colormap data structure. */
- __glutFreeColormap(window->colormap);
- }
- /* NULLing the __glutWindowList helps detect is a window
- instance has been destroyed, given a window number. */
- __glutWindowList[window->num] = NULL;
-
- /* Cleanup data structures that might contain window. */
- cleanWindowWorkList(window);
-#if !defined(_WIN32) && !defined(__OS2__)
- cleanStaleWindowList(window);
-#endif
- /* Remove window from the "get window cache" if it is there. */
- if (__glutWindowCache == window)
- __glutWindowCache = NULL;
-
- if (window->visAlloced) {
- /* Only free XVisualInfo* gotten from glXChooseVisual. */
- XFree(window->vis);
- }
-
- if (window == __glutGameModeWindow) {
- /* Destroying the game mode window should implicitly
- have GLUT leave game mode. */
- __glutCloseDownGameMode();
- }
-
- free(window);
-}
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutDestroyWindow(int win)
-{
- GLUTwindow *window = __glutWindowList[win - 1];
-
- if (__glutMappedMenu && __glutMenuWindow == window) {
- __glutFatalUsage("destroying menu window not allowed while menus in use");
- }
-#if !defined(_WIN32) && !defined(__OS2__)
- /* If not a toplevel window... */
- if (window->parent) {
- /* Destroying subwindows may change colormap requirements;
- recalculate toplevel window's WM_COLORMAP_WINDOWS
- property. */
- __glutPutOnWorkList(__glutToplevelOf(window->parent),
- GLUT_COLORMAP_WORK);
- }
-#endif
- __glutDestroyWindow(window, window);
- XFlush(__glutDisplay);
-}
-/* ENDCENTRY */
-
-void
-__glutChangeWindowEventMask(long eventMask, Bool add)
-{
- if (add) {
- /* Add eventMask to window's event mask. */
- if ((__glutCurrentWindow->eventMask & eventMask) !=
- eventMask) {
- __glutCurrentWindow->eventMask |= eventMask;
- __glutPutOnWorkList(__glutCurrentWindow,
- GLUT_EVENT_MASK_WORK);
- }
- } else {
- /* Remove eventMask from window's event mask. */
- if (__glutCurrentWindow->eventMask & eventMask) {
- __glutCurrentWindow->eventMask &= ~eventMask;
- __glutPutOnWorkList(__glutCurrentWindow,
- GLUT_EVENT_MASK_WORK);
- }
- }
-}
-
-void GLUTAPIENTRY
-glutDisplayFunc(GLUTdisplayCB displayFunc)
-{
- /* XXX Remove the warning after GLUT 3.0. */
- if (!displayFunc)
- __glutFatalError("NULL display callback not allowed in GLUT 3.0; update your code.");
- __glutCurrentWindow->display = displayFunc;
-}
-
-void GLUTAPIENTRY
-glutMouseFunc(GLUTmouseCB mouseFunc)
-{
- if (__glutCurrentWindow->mouse) {
- if (!mouseFunc) {
- /* Previous mouseFunc being disabled. */
- __glutCurrentWindow->buttonUses--;
- __glutChangeWindowEventMask(
- ButtonPressMask | ButtonReleaseMask,
- __glutCurrentWindow->buttonUses > 0);
- }
- } else {
- if (mouseFunc) {
- /* Previously no mouseFunc, new one being installed. */
- __glutCurrentWindow->buttonUses++;
- __glutChangeWindowEventMask(
- ButtonPressMask | ButtonReleaseMask, True);
- }
- }
- __glutCurrentWindow->mouse = mouseFunc;
-}
-
-void GLUTAPIENTRY
-glutMotionFunc(GLUTmotionCB motionFunc)
-{
- /* Hack. Some window managers (4Dwm by default) will mask
- motion events if the client is not selecting for button
- press and release events. So we select for press and
- release events too (being careful to use reference
- counting). */
- if (__glutCurrentWindow->motion) {
- if (!motionFunc) {
- /* previous mouseFunc being disabled */
- __glutCurrentWindow->buttonUses--;
- __glutChangeWindowEventMask(
- ButtonPressMask | ButtonReleaseMask,
- __glutCurrentWindow->buttonUses > 0);
- }
- } else {
- if (motionFunc) {
- /* Previously no mouseFunc, new one being installed. */
- __glutCurrentWindow->buttonUses++;
- __glutChangeWindowEventMask(
- ButtonPressMask | ButtonReleaseMask, True);
- }
- }
- /* Real work of selecting for passive mouse motion. */
- __glutChangeWindowEventMask(
- Button1MotionMask | Button2MotionMask | Button3MotionMask,
- motionFunc != NULL);
- __glutCurrentWindow->motion = motionFunc;
-}
-
-void GLUTAPIENTRY
-glutPassiveMotionFunc(GLUTpassiveCB passiveMotionFunc)
-{
- __glutChangeWindowEventMask(PointerMotionMask,
- passiveMotionFunc != NULL);
-
- /* Passive motion also requires watching enters and leaves so
- that a fake passive motion event can be generated on an
- enter. */
- __glutChangeWindowEventMask(EnterWindowMask | LeaveWindowMask,
- __glutCurrentWindow->entry != NULL || passiveMotionFunc != NULL);
-
- __glutCurrentWindow->passive = passiveMotionFunc;
-}
-
-void GLUTAPIENTRY
-glutEntryFunc(GLUTentryCB entryFunc)
-{
- __glutChangeWindowEventMask(EnterWindowMask | LeaveWindowMask,
- entryFunc != NULL || __glutCurrentWindow->passive);
- __glutCurrentWindow->entry = entryFunc;
- if (!entryFunc) {
- __glutCurrentWindow->entryState = -1;
- }
-}
-
-void GLUTAPIENTRY
-glutWindowStatusFunc(GLUTwindowStatusCB windowStatusFunc)
-{
- __glutChangeWindowEventMask(VisibilityChangeMask,
- windowStatusFunc != NULL);
- __glutCurrentWindow->windowStatus = windowStatusFunc;
- if (!windowStatusFunc) {
- /* Make state invalid. */
- __glutCurrentWindow->visState = -1;
- }
-}
-
-static void GLUTCALLBACK
-visibilityHelper(int status)
-{
- if (status == GLUT_HIDDEN || status == GLUT_FULLY_COVERED)
- __glutCurrentWindow->visibility(GLUT_NOT_VISIBLE);
- else
- __glutCurrentWindow->visibility(GLUT_VISIBLE);
-}
-
-
-void GLUTAPIENTRY
-glutVisibilityFunc(GLUTvisibilityCB visibilityFunc)
-{
- __glutCurrentWindow->visibility = visibilityFunc;
-
- if (visibilityFunc)
- { glutWindowStatusFunc(visibilityHelper);
-#if defined(__OS2PM__)
- if(__glutCurrentWindow->shownState >= 0)
- { visibilityHelper(__glutCurrentWindow->shownState);
- }
-#endif
- }
- else
- glutWindowStatusFunc(NULL);
-}
-
-void GLUTAPIENTRY
-glutReshapeFunc(GLUTreshapeCB reshapeFunc)
-{
- if (reshapeFunc) {
- __glutCurrentWindow->reshape = reshapeFunc;
- } else {
- __glutCurrentWindow->reshape = __glutDefaultReshape;
- }
-}
diff --git a/src/glut/os2/glut_winmisc.cpp b/src/glut/os2/glut_winmisc.cpp
deleted file mode 100644
index 7cd6699924..0000000000
--- a/src/glut/os2/glut_winmisc.cpp
+++ /dev/null
@@ -1,126 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <assert.h>
-
-
-#include "glutint.h"
-
-/* CENTRY */
-void GLUTAPIENTRY
-glutSetWindowTitle(const char *title)
-{
-#if defined(__OS2PM__)
- __glutSetWindowText(__glutCurrentWindow->win, (char *)title);
-
-#else
- XTextProperty textprop;
-
- assert(!__glutCurrentWindow->parent);
- IGNORE_IN_GAME_MODE();
- textprop.value = (unsigned char *) title;
- textprop.encoding = XA_STRING;
- textprop.format = 8;
- textprop.nitems = strlen(title);
- XSetWMName(__glutDisplay,
- __glutCurrentWindow->win, &textprop);
- XFlush(__glutDisplay);
-#endif
-}
-
-void GLUTAPIENTRY
-glutSetIconTitle(const char *title)
-{
-#if defined(__OS2PM__)
-//todo ?
-#else
-
- XTextProperty textprop;
-
- assert(!__glutCurrentWindow->parent);
- IGNORE_IN_GAME_MODE();
- textprop.value = (unsigned char *) title;
- textprop.encoding = XA_STRING;
- textprop.format = 8;
- textprop.nitems = strlen(title);
- XSetWMIconName(__glutDisplay,
- __glutCurrentWindow->win, &textprop);
- XFlush(__glutDisplay);
-#endif
-}
-
-void GLUTAPIENTRY
-glutPositionWindow(int x, int y)
-{
- IGNORE_IN_GAME_MODE();
- __glutCurrentWindow->desiredX = x;
- __glutCurrentWindow->desiredY = y;
- __glutCurrentWindow->desiredConfMask |= CWX | CWY;
- __glutPutOnWorkList(__glutCurrentWindow, GLUT_CONFIGURE_WORK);
-}
-
-void GLUTAPIENTRY
-glutReshapeWindow(int w, int h)
-{
- IGNORE_IN_GAME_MODE();
- if (w <= 0 || h <= 0)
- __glutWarning("glutReshapeWindow: non-positive width or height not allowed");
-
- __glutCurrentWindow->desiredWidth = w;
- __glutCurrentWindow->desiredHeight = h;
- __glutCurrentWindow->desiredConfMask |= CWWidth | CWHeight;
- __glutPutOnWorkList(__glutCurrentWindow, GLUT_CONFIGURE_WORK);
-}
-
-void GLUTAPIENTRY
-glutPopWindow(void)
-{
- IGNORE_IN_GAME_MODE();
- __glutCurrentWindow->desiredStack = Above;
- __glutCurrentWindow->desiredConfMask |= CWStackMode;
- __glutPutOnWorkList(__glutCurrentWindow, GLUT_CONFIGURE_WORK);
-}
-
-void GLUTAPIENTRY
-glutPushWindow(void)
-{
- IGNORE_IN_GAME_MODE();
- __glutCurrentWindow->desiredStack = Below;
- __glutCurrentWindow->desiredConfMask |= CWStackMode;
- __glutPutOnWorkList(__glutCurrentWindow, GLUT_CONFIGURE_WORK);
-}
-
-void GLUTAPIENTRY
-glutIconifyWindow(void)
-{
- IGNORE_IN_GAME_MODE();
- assert(!__glutCurrentWindow->parent);
- __glutCurrentWindow->desiredMapState = IconicState;
- __glutPutOnWorkList(__glutCurrentWindow, GLUT_MAP_WORK);
-}
-
-void GLUTAPIENTRY
-glutShowWindow(void)
-{
- IGNORE_IN_GAME_MODE();
- __glutCurrentWindow->desiredMapState = NormalState;
- __glutPutOnWorkList(__glutCurrentWindow, GLUT_MAP_WORK);
-}
-
-void GLUTAPIENTRY
-glutHideWindow(void)
-{
- IGNORE_IN_GAME_MODE();
- __glutCurrentWindow->desiredMapState = WithdrawnState;
- __glutPutOnWorkList(__glutCurrentWindow, GLUT_MAP_WORK);
-}
-
-/* ENDCENTRY */
diff --git a/src/glut/os2/glutbitmap.h b/src/glut/os2/glutbitmap.h
deleted file mode 100644
index 9584bb129d..0000000000
--- a/src/glut/os2/glutbitmap.h
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef __glutbitmap_h__
-#define __glutbitmap_h__
-
-/* Copyright (c) Mark J. Kilgard, 1994, 1998. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#define GLUT_NO_LIB_PRAGMA /* Avoid auto library linking when building
- the GLUT library itself. */
-#include <GL/glut.h>
-
-typedef struct {
- const GLsizei width;
- const GLsizei height;
- const GLfloat xorig;
- const GLfloat yorig;
- const GLfloat advance;
- const GLubyte *bitmap;
-} BitmapCharRec, *BitmapCharPtr;
-
-typedef struct {
- const char *name;
- const int num_chars;
- const int first;
- const BitmapCharRec * const *ch;
-} BitmapFontRec, *BitmapFontPtr;
-
-typedef void *GLUTbitmapFont;
-
-#endif /* __glutbitmap_h__ */
diff --git a/src/glut/os2/glutos2.h b/src/glut/os2/glutos2.h
deleted file mode 100644
index 533a78011e..0000000000
--- a/src/glut/os2/glutos2.h
+++ /dev/null
@@ -1,36 +0,0 @@
-#ifndef __glutos2_h__
-#define __glutos2_h__
-
-
-/* Win32 "equivalent" cursors - eventually, the X glyphs should be
- converted to Win32 cursors -- then they will look the same */
-#define XC_arrow IDC_ARROW
-#define XC_top_left_arrow IDC_ARROW
-#define XC_hand1 IDC_SIZEALL
-#define XC_pirate IDC_NO
-#define XC_question_arrow IDC_HELP
-#define XC_exchange IDC_NO
-#define XC_spraycan IDC_SIZEALL
-#define XC_watch IDC_WAIT
-#define XC_xterm IDC_IBEAM
-#define XC_crosshair IDC_CROSS
-#define XC_sb_v_double_arrow IDC_SIZENS
-#define XC_sb_h_double_arrow IDC_SIZEWE
-#define XC_top_side IDC_UPARROW
-#define XC_bottom_side IDC_SIZENS
-#define XC_left_side IDC_SIZEWE
-#define XC_right_side IDC_SIZEWE
-#define XC_top_left_corner IDC_SIZENWSE
-#define XC_top_right_corner IDC_SIZENESW
-#define XC_bottom_right_corner IDC_SIZENWSE
-#define XC_bottom_left_corner IDC_SIZENESW
-
-#define XA_STRING 0
-
-/* Private routines from win32_util.c */
-extern int gettimeofday(struct timeval* tp, void* tzp);
-//extern void *__glutFont(void *font);
-extern int __glutGetTransparentPixel(Display *dpy, XVisualInfo *vinfo);
-extern void __glutAdjustCoords(Window parent, int *x, int *y, int *width, int *height);
-
-#endif /* __glutos2_h__ */
diff --git a/src/glut/os2/glutstroke.h b/src/glut/os2/glutstroke.h
deleted file mode 100644
index cbc9e156fe..0000000000
--- a/src/glut/os2/glutstroke.h
+++ /dev/null
@@ -1,42 +0,0 @@
-#ifndef __glutstroke_h__
-#define __glutstroke_h__
-
-/* Copyright (c) Mark J. Kilgard, 1994. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-#if defined(_WIN32)
-#pragma warning (disable:4244) /* disable bogus conversion warnings */
-#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */
-#endif
-
-typedef struct {
- float x;
- float y;
-} CoordRec, *CoordPtr;
-
-typedef struct {
- int num_coords;
- const CoordRec *coord;
-} StrokeRec, *StrokePtr;
-
-typedef struct {
- int num_strokes;
- const StrokeRec *stroke;
- float center;
- float right;
-} StrokeCharRec, *StrokeCharPtr;
-
-typedef struct {
- const char *name;
- int num_chars;
- const StrokeCharRec *ch;
- float top;
- float bottom;
-} StrokeFontRec, *StrokeFontPtr;
-
-typedef void *GLUTstrokeFont;
-
-#endif /* __glutstroke_h__ */
diff --git a/src/glut/os2/layerutil.h b/src/glut/os2/layerutil.h
deleted file mode 100644
index 3f62031939..0000000000
--- a/src/glut/os2/layerutil.h
+++ /dev/null
@@ -1,59 +0,0 @@
-#ifndef __layerutil_h__
-#define __layerutil_h__
-
-/* Copyright (c) Mark J. Kilgard, 1993, 1994. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-/* Based on XLayerUtil.h: Revision: 1.3 */
-
-#ifdef __VMS
-#include <GL/vms_x_fix.h>
-#endif
-
-#if !defined(_WIN32) && !defined(__OS2__)
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-#include <X11/Xmd.h>
-#endif /* !_WIN32 */
-
-/* Transparent type values */
-/* None 0 */
-#define TransparentPixel 1
-#define TransparentMask 2
-
-/* layered visual info template flags */
-#define VisualLayerMask 0x200
-#define VisualTransparentType 0x400
-#define VisualTransparentValue 0x800
-#define VisualAllLayerMask 0xFFF
-
-/* layered visual info structure */
-typedef struct _XLayerVisualInfo {
- XVisualInfo vinfo;
- long layer;
- long type;
- unsigned long value;
-} XLayerVisualInfo;
-
-/* SERVER_OVERLAY_VISUALS property element */
-typedef struct _OverlayInfo {
- /* Avoid 64-bit portability problems by being careful to use
- longs due to the way XGetWindowProperty is specified. Note
- that these parameters are passed as CARD32s over X
- protocol. */
- long overlay_visual;
- long transparent_type;
- long value;
- long layer;
-} OverlayInfo;
-
-extern int __glutGetTransparentPixel(Display *, XVisualInfo *);
-extern XLayerVisualInfo *__glutXGetLayerVisualInfo(Display *,
- long, XLayerVisualInfo *, int *);
-extern Status __glutXMatchLayerVisualInfo(Display *,
- int, int, int, int, XLayerVisualInfo *);
-
-#endif /* __layerutil_h__ */
diff --git a/src/glut/os2/libGlut.DEF b/src/glut/os2/libGlut.DEF
deleted file mode 100644
index a0e184eef0..0000000000
--- a/src/glut/os2/libGlut.DEF
+++ /dev/null
@@ -1,94 +0,0 @@
-
-;-----------------------------------------------------
-; def Module definition file for the DLL
-;-----------------------------------------------------
-
-LIBRARY libGlut INITINSTANCE TERMINSTANCE
-PROTMODE
-DATA MULTIPLE NONSHARED READWRITE LOADONCALL
-CODE LOADONCALL
-EXPORTS ; Names of exported functions and data
-
-;*********************************
-;MesaGLUT
- glutCommandFunc @3001
- glutCreateWindow @3002
- glutCreateSubWindow @3003
- glutDestroyWindow @3004
- glutDisplayFunc @3005
- glutEntryFunc @3006
- glutExtensionSupported @3007
- glutIdleFunc @3008
- glutInit @3009
- glutInitDisplayMode @3010
- glutInitWindowPosition @3011
- glutInitWindowSize @3012
- glutMainLoop @3013
- glutGet @3014
- glutGetColor @3015
- glutGetWindow @3016
- glutKeyboardFunc @3017
- glutMouseFunc @3018
- glutSpecialFunc @3019
- glutStrokeCharacter @3020
- glutSetColor @3021
- glutSetIconTitle @3022
- glutSetWindow @3023
- glutSetWindowTitle @3024
-
- glutReshapeFunc @3025
- glutReshapeWindow @3026
-
-
- glutSwapBuffers @3027
- glutPostRedisplay @3028
- glutPositionWindow @3029
- glutVisibilityFunc @3030
- glutTimerFunc @3031
- glutMotionFunc @3032
-
- glutCreateMenu @3033
- glutAttachMenu @3034
- glutDestroyMenu @3035
- glutAddMenuEntry @3036
- glutPassiveMotionFunc @3037
-
- glutSolidCone @3038
- glutSolidCube @3039
- glutSolidDodecahedron @3040
- glutSolidOctahedron @3041
- glutSolidIcosahedron @3042
- glutSolidSphere @3043
- glutSolidTeapot @3044
- glutSolidTetrahedron @3045
- glutSolidTorus @3046
-
- glutWireCone @3047
- glutWireCube @3048
- glutWireDodecahedron @3049
- glutWireIcosahedron @3050
- glutWireOctahedron @3051
- glutWireSphere @3052
- glutWireTetrahedron @3053
- glutWireTorus @3054
- glutWireTeapot @3055
-
-;GL_GLEXT_PROTOTYPES
- glutBitmapCharacter @3101
- glutBitmap9By15 @3102
- glutBitmapHelvetica10 @3103
- glutBitmapHelvetica12 @3104
- glutBitmapHelvetica18 @3105
- glutBitmapTimesRoman24 @3106
- glutStrokeRoman @3107
- glutBitmap8By13 @3108
-
-;Global constants
-; hab @12001
-; /* PM anchor block handle */
-; hpsCurrent @12002
- XHDC @12004
- XHWND @12005
-
-
-
diff --git a/src/glut/os2/os2_glx.cpp b/src/glut/os2/os2_glx.cpp
deleted file mode 100644
index bf116e49c9..0000000000
--- a/src/glut/os2/os2_glx.cpp
+++ /dev/null
@@ -1,145 +0,0 @@
-/* os2_glx.c */
-
-#include <stdio.h>
-#include <string.h>
-#include <malloc.h>
-#include "gl/gl.h"
-#include "WarpGL.h"
-#include "GL/os2mesa.h"
-
-#define POKA 0
-/* global current HDC */
-
-XVisualInfo *wglDescribePixelFormat(int iPixelFormat);
-
-extern HDC XHDC;
-extern HWND XHWND;
-//extern HPS hpsCurrent;
-extern HAB hab; /* PM anchor block handle */
-
-GLXContext
-glXCreateContext(HPS hps, XVisualInfo * visinfo,
- GLXContext share, Bool direct)
-{
- /* KLUDGE: GLX really expects a display pointer to be passed
- in as the first parameter, but Win32 needs an HDC instead,
- so BE SURE that the global XHDC is set before calling this
- routine. */
- HGLRC context;
-
- context = wglCreateContext(XHDC,hps,hab);
-
-
- /* Since direct rendering is implicit, the direct flag is
- ignored. */
-
- return context;
-}
-
-
-int
-glXGetConfig(XVisualInfo * visual, int attrib, int *value)
-{
- if (!visual)
- return GLX_BAD_VISUAL;
-
- switch (attrib) {
- case GLX_USE_GL:
- if (visual->dwFlags & (PFD_SUPPORT_OPENGL | PFD_DRAW_TO_WINDOW)) {
- /* XXX Brad's Matrix Millenium II has problems creating
- color index windows in 24-bit mode (lead to GDI crash)
- and 32-bit mode (lead to black window). The cColorBits
- filed of the PIXELFORMATDESCRIPTOR returned claims to
- have 24 and 32 bits respectively of color indices. 2^24
- and 2^32 are ridiculously huge writable colormaps.
- Assume that if we get back a color index
- PIXELFORMATDESCRIPTOR with 24 or more bits, the
- PIXELFORMATDESCRIPTOR doesn't really work and skip it.
- -mjk */
- if (visual->iPixelType == PFD_TYPE_COLORINDEX
- && visual->cColorBits >= 24) {
- *value = 0;
- } else {
- *value = 1;
- }
- } else {
- *value = 0;
- }
- break;
- case GLX_BUFFER_SIZE:
- /* KLUDGE: if we're RGBA, return the number of bits/pixel,
- otherwise, return 8 (we guessed at 256 colors in CI
- mode). */
- if (visual->iPixelType == PFD_TYPE_RGBA)
- *value = visual->cColorBits;
- else
- *value = 8;
- break;
- case GLX_LEVEL:
- /* The bReserved flag of the pfd contains the
- overlay/underlay info. */
- *value = visual->bReserved;
- break;
- case GLX_RGBA:
- *value = visual->iPixelType == PFD_TYPE_RGBA;
- break;
- case GLX_DOUBLEBUFFER:
- *value = visual->dwFlags & PFD_DOUBLEBUFFER;
- break;
- case GLX_STEREO:
- *value = visual->dwFlags & PFD_STEREO;
- break;
- case GLX_AUX_BUFFERS:
- *value = visual->cAuxBuffers;
- break;
- case GLX_RED_SIZE:
- *value = visual->cRedBits;
- break;
- case GLX_GREEN_SIZE:
- *value = visual->cGreenBits;
- break;
- case GLX_BLUE_SIZE:
- *value = visual->cBlueBits;
- break;
- case GLX_ALPHA_SIZE:
- *value = visual->cAlphaBits;
- break;
- case GLX_DEPTH_SIZE:
- *value = visual->cDepthBits;
- break;
- case GLX_STENCIL_SIZE:
- *value = visual->cStencilBits;
- break;
- case GLX_ACCUM_RED_SIZE:
- *value = visual->cAccumRedBits;
- break;
- case GLX_ACCUM_GREEN_SIZE:
- *value = visual->cAccumGreenBits;
- break;
- case GLX_ACCUM_BLUE_SIZE:
- *value = visual->cAccumBlueBits;
- break;
- case GLX_ACCUM_ALPHA_SIZE:
- *value = visual->cAccumAlphaBits;
- break;
-#if POKA == 100
-#endif /* POKA == 100 */
- default:
- return GLX_BAD_ATTRIB;
- }
- return 0;
-}
-
-
-XVisualInfo * glXChooseVisual(int mode)
-{ int imode = 2;
- if(mode & GLUT_DOUBLE)
- imode = 1;
- return
- wglDescribePixelFormat(imode);
-}
-
-
-#if POKA
-#endif /* POKA */
-
diff --git a/src/glut/os2/os2_menu.cpp b/src/glut/os2/os2_menu.cpp
deleted file mode 100644
index f140e9c79b..0000000000
--- a/src/glut/os2/os2_menu.cpp
+++ /dev/null
@@ -1,532 +0,0 @@
-
-/* Copyright (c) Mark J. Kilgard, 1994, 1997, 1998. */
-/* Copyright (c) Nate Robins, 1997. */
-
-/* This program is freely distributable without licensing fees
- and is provided without guarantee or warrantee expressed or
- implied. This program is -not- in the public domain. */
-
-/* This file completely re-implements glut_menu.c and glut_menu2.c
- for Win32. Note that neither glut_menu.c nor glut_menu2.c are
- compiled into Win32 GLUT. */
-
-#include <stdlib.h>
-#include <string.h>
-#include <stdio.h>
-#include <errno.h>
-#include <assert.h>
-
-#include "glutint.h"
-
-void (GLUTCALLBACK *__glutMenuStatusFunc) (int, int, int);
-//GLUTmenu *__glutMappedMenu;
-//GLUTwindow *__glutMenuWindow;
-GLUTmenuItem *__glutItemSelected;
-unsigned __glutMenuButton;
-
-static GLUTmenu **menuList = NULL;
-static int menuListSize = 0;
-static UINT uniqueMenuHandler = 1;
-
-/* DEPRICATED, use glutMenuStatusFunc instead. */
-void GLUTAPIENTRY
-glutMenuStateFunc(GLUTmenuStateCB menuStateFunc)
-{
- __glutMenuStatusFunc = (GLUTmenuStatusCB) menuStateFunc;
-}
-
-void GLUTAPIENTRY
-glutMenuStatusFunc(GLUTmenuStatusCB menuStatusFunc)
-{
- __glutMenuStatusFunc = menuStatusFunc;
-}
-
-void
-__glutSetMenu(GLUTmenu * menu)
-{
- __glutCurrentMenu = menu;
-}
-
-static void
-unmapMenu(GLUTmenu * menu)
-{
- if (menu->cascade) {
- unmapMenu(menu->cascade);
- menu->cascade = NULL;
- }
- menu->anchor = NULL;
- menu->highlighted = NULL;
-}
-
-void
-__glutFinishMenu(Window win, int x, int y)
-{
-
- unmapMenu(__glutMappedMenu);
-
- /* XXX Put in a GdiFlush just in case. Probably unnecessary. -mjk */
-// GdiFlush();
-
- if (__glutMenuStatusFunc) {
- __glutSetWindow(__glutMenuWindow);
- __glutSetMenu(__glutMappedMenu);
-
- /* Setting __glutMappedMenu to NULL permits operations that
- change menus or destroy the menu window again. */
- __glutMappedMenu = NULL;
-
- __glutMenuStatusFunc(GLUT_MENU_NOT_IN_USE, x, y);
- }
- /* Setting __glutMappedMenu to NULL permits operations that
- change menus or destroy the menu window again. */
- __glutMappedMenu = NULL;
-
- /* If an item is selected and it is not a submenu trigger,
- generate menu callback. */
- if (__glutItemSelected && !__glutItemSelected->isTrigger) {
- __glutSetWindow(__glutMenuWindow);
- /* When menu callback is triggered, current menu should be
- set to the callback menu. */
- __glutSetMenu(__glutItemSelected->menu);
- __glutItemSelected->menu->select(__glutItemSelected->value);
- }
- __glutMenuWindow = NULL;
-}
-
-static void
-mapMenu(GLUTmenu * menu, int x, int y)
-{
-//todo
-// TrackPopupMenu((HMENU) menu->win, TPM_LEFTALIGN |
-// (__glutMenuButton == TPM_RIGHTBUTTON) ? TPM_RIGHTBUTTON : TPM_LEFTBUTTON,
-// x, y, 0, __glutCurrentWindow->win, NULL);
-}
-
-void
-__glutStartMenu(GLUTmenu * menu, GLUTwindow * window,
- int x, int y, int x_win, int y_win)
-{
- assert(__glutMappedMenu == NULL);
- __glutMappedMenu = menu;
- __glutMenuWindow = window;
- __glutItemSelected = NULL;
- if (__glutMenuStatusFunc) {
- __glutSetMenu(menu);
- __glutSetWindow(window);
- __glutMenuStatusFunc(GLUT_MENU_IN_USE, x_win, y_win);
- }
- mapMenu(menu, x, y);
-}
-
-GLUTmenuItem *
-__glutGetUniqueMenuItem(GLUTmenu * menu, UINT unique)
-{
- GLUTmenuItem *item;
- int i;
-
- i = menu->num;
- item = menu->list;
- while (item) {
- if (item->unique == unique) {
- return item;
- }
- if (item->isTrigger) {
- GLUTmenuItem *subitem;
- subitem = __glutGetUniqueMenuItem(menuList[item->value], unique);
- if (subitem) {
- return subitem;
- }
- }
- i--;
- item = item->next;
- }
- return NULL;
-}
-
-GLUTmenuItem *
-__glutGetMenuItem(GLUTmenu * menu, Window win, int *which)
-{
- GLUTmenuItem *item;
- int i;
-
- i = menu->num;
- item = menu->list;
- while (item) {
- if (item->win == win) {
- *which = i;
- return item;
- }
- if (item->isTrigger) {
- GLUTmenuItem *subitem;
-
- subitem = __glutGetMenuItem(menuList[item->value],
- win, which);
- if (subitem) {
- return subitem;
- }
- }
- i--;
- item = item->next;
- }
- return NULL;
-}
-
-GLUTmenu *
-__glutGetMenu(Window win)
-{
- GLUTmenu *menu;
-
- menu = __glutMappedMenu;
- while (menu) {
- if (win == menu->win) {
- return menu;
- }
- menu = menu->cascade;
- }
- return NULL;
-}
-
-GLUTmenu *
-__glutGetMenuByNum(int menunum)
-{
- if (menunum < 1 || menunum > menuListSize) {
- return NULL;
- }
- return menuList[menunum - 1];
-}
-
-static int
-getUnusedMenuSlot(void)
-{
- int i;
-
- /* Look for allocated, unused slot. */
- for (i = 0; i < menuListSize; i++) {
- if (!menuList[i]) {
- return i;
- }
- }
- /* Allocate a new slot. */
- menuListSize++;
- if (menuList) {
- menuList = (GLUTmenu **)
- realloc(menuList, menuListSize * sizeof(GLUTmenu *));
- } else {
- /* XXX Some realloc's do not correctly perform a malloc
- when asked to perform a realloc on a NULL pointer,
- though the ANSI C library spec requires this. */
- menuList = (GLUTmenu **) malloc(sizeof(GLUTmenu *));
- }
- if (!menuList) {
- __glutFatalError("out of memory.");
- }
- menuList[menuListSize - 1] = NULL;
- return menuListSize - 1;
-}
-
-static void
-menuModificationError(void)
-{
- /* XXX Remove the warning after GLUT 3.0. */
- __glutWarning("The following is a new check for GLUT 3.0; update your code.");
- __glutFatalError("menu manipulation not allowed while menus in use.");
-}
-
-int GLUTAPIENTRY
-glutCreateMenu(GLUTselectCB selectFunc)
-{
- GLUTmenu *menu;
- int menuid;
-
- if (__glutMappedMenu) {
- menuModificationError();
- }
- menuid = getUnusedMenuSlot();
- menu = (GLUTmenu *) malloc(sizeof(GLUTmenu));
- if (!menu) {
- __glutFatalError("out of memory.");
- }
- menu->id = menuid;
- menu->num = 0;
- menu->submenus = 0;
- menu->select = selectFunc;
- menu->list = NULL;
- menu->cascade = NULL;
- menu->highlighted = NULL;
- menu->anchor = NULL;
-//todo
-// menu->win = (HWND) CreatePopupMenu();
- menuList[menuid] = menu;
- __glutSetMenu(menu);
- return menuid + 1;
-}
-
-
-void GLUTAPIENTRY
-glutDestroyMenu(int menunum)
-{
- GLUTmenu *menu = __glutGetMenuByNum(menunum);
- GLUTmenuItem *item, *next;
-
- if (__glutMappedMenu) {
- menuModificationError();
- }
- assert(menu->id == menunum - 1);
-//todo DestroyMenu( (HMENU) menu->win);
- menuList[menunum - 1] = NULL;
- /* free all menu entries */
- item = menu->list;
- while (item) {
- assert(item->menu == menu);
- next = item->next;
- free(item->label);
- free(item);
- item = next;
- }
- if (__glutCurrentMenu == menu) {
- __glutCurrentMenu = NULL;
- }
- free(menu);
-}
-
-int GLUTAPIENTRY
-glutGetMenu(void)
-{
- if (__glutCurrentMenu) {
- return __glutCurrentMenu->id + 1;
- } else {
- return 0;
- }
-}
-
-void GLUTAPIENTRY
-glutSetMenu(int menuid)
-{
- GLUTmenu *menu;
-
- if (menuid < 1 || menuid > menuListSize) {
- __glutWarning("glutSetMenu attempted on bogus menu.");
- return;
- }
- menu = menuList[menuid - 1];
- if (!menu) {
- __glutWarning("glutSetMenu attempted on bogus menu.");
- return;
- }
- __glutSetMenu(menu);
-}
-
-static void
-setMenuItem(GLUTmenuItem * item, const char *label,
- int value, Bool isTrigger)
-{
- GLUTmenu *menu;
-
- menu = item->menu;
- item->label = __glutStrdup(label);
- if (!item->label) {
- __glutFatalError("out of memory.");
- }
- item->isTrigger = isTrigger;
- item->len = (int) strlen(label);
- item->value = value;
- item->unique = uniqueMenuHandler++;
-//todo
-// if (isTrigger) {
-// AppendMenu((HMENU) menu->win, MF_POPUP, (UINT)item->win, label);
-// } else {
-// AppendMenu((HMENU) menu->win, MF_STRING, item->unique, label);
-// }
-}
-
-void GLUTAPIENTRY
-glutAddMenuEntry(const char *label, int value)
-{
- GLUTmenuItem *entry;
-
- if (__glutMappedMenu) {
- menuModificationError();
- }
- entry = (GLUTmenuItem *) malloc(sizeof(GLUTmenuItem));
- if (!entry) {
- __glutFatalError("out of memory.");
- }
- entry->menu = __glutCurrentMenu;
- setMenuItem(entry, label, value, FALSE);
- __glutCurrentMenu->num++;
- entry->next = __glutCurrentMenu->list;
- __glutCurrentMenu->list = entry;
-}
-
-void GLUTAPIENTRY
-glutAddSubMenu(const char *label, int menu)
-{
- GLUTmenuItem *submenu;
- GLUTmenu *popupmenu;
-
- if (__glutMappedMenu) {
- menuModificationError();
- }
- submenu = (GLUTmenuItem *) malloc(sizeof(GLUTmenuItem));
- if (!submenu) {
- __glutFatalError("out of memory.");
- }
- __glutCurrentMenu->submenus++;
- submenu->menu = __glutCurrentMenu;
- popupmenu = __glutGetMenuByNum(menu);
- if (popupmenu) {
- submenu->win = popupmenu->win;
- }
- setMenuItem(submenu, label, /* base 0 */ menu - 1, TRUE);
- __glutCurrentMenu->num++;
- submenu->next = __glutCurrentMenu->list;
- __glutCurrentMenu->list = submenu;
-}
-
-void GLUTAPIENTRY
-glutChangeToMenuEntry(int num, const char *label, int value)
-{
- GLUTmenuItem *item;
- int i;
-
- if (__glutMappedMenu) {
- menuModificationError();
- }
- i = __glutCurrentMenu->num;
- item = __glutCurrentMenu->list;
- while (item) {
- if (i == num) {
- if (item->isTrigger) {
- /* If changing a submenu trigger to a menu entry, we
- need to account for submenus. */
- item->menu->submenus--;
- /* Nuke the Win32 menu. */
-//todo
-// DestroyMenu((HMENU) item->win);
- }
- free(item->label);
-
- item->label = strdup(label);
- if (!item->label)
- __glutFatalError("out of memory");
- item->isTrigger = FALSE;
- item->len = (int) strlen(label);
- item->value = value;
- item->unique = uniqueMenuHandler++;
-//todo
-// ModifyMenu((HMENU) __glutCurrentMenu->win, (UINT) i - 1,
-// MF_BYPOSITION | MFT_STRING, item->unique, label);
-
- return;
- }
- i--;
- item = item->next;
- }
- __glutWarning("Current menu has no %d item.", num);
-}
-
-void GLUTAPIENTRY
-glutChangeToSubMenu(int num, const char *label, int menu)
-{
- GLUTmenu *popupmenu;
- GLUTmenuItem *item;
- int i;
-
- if (__glutMappedMenu) {
- menuModificationError();
- }
- i = __glutCurrentMenu->num;
- item = __glutCurrentMenu->list;
- while (item) {
- if (i == num) {
- if (!item->isTrigger) {
- /* If changing a menu entry to as submenu trigger, we
- need to account for submenus. */
- item->menu->submenus++;
-//todo
-// item->win = (HWND) CreatePopupMenu();
- }
- free(item->label);
-
- item->label = strdup(label);
- if (!item->label)
- __glutFatalError("out of memory");
- item->isTrigger = TRUE;
- item->len = (int) strlen(label);
- item->value = menu - 1;
- item->unique = uniqueMenuHandler++;
- popupmenu = __glutGetMenuByNum(menu);
- if (popupmenu)
- item->win = popupmenu->win;
-//todo
-// ModifyMenu((HMENU) __glutCurrentMenu->win, (UINT) i - 1,
-// MF_BYPOSITION | MF_POPUP, (UINT) item->win, label);
- return;
- }
- i--;
- item = item->next;
- }
- __glutWarning("Current menu has no %d item.", num);
-}
-
-void GLUTAPIENTRY
-glutRemoveMenuItem(int num)
-{
- GLUTmenuItem *item, **prev;
- int i;
-
- if (__glutMappedMenu) {
- menuModificationError();
- }
- i = __glutCurrentMenu->num;
- prev = &__glutCurrentMenu->list;
- item = __glutCurrentMenu->list;
- while (item) {
- if (i == num) {
- /* Found the menu item in list to remove. */
- __glutCurrentMenu->num--;
-
- /* Patch up menu's item list. */
- *prev = item->next;
-//todo
-// RemoveMenu((HMENU) __glutCurrentMenu->win, (UINT) i - 1, MF_BYPOSITION);
-
- free(item->label);
- free(item);
- return;
- }
- i--;
- prev = &item->next;
- item = item->next;
- }
- __glutWarning("Current menu has no %d item.", num);
-}
-
-void GLUTAPIENTRY
-glutAttachMenu(int button)
-{
- if (__glutCurrentWindow == __glutGameModeWindow) {
- __glutWarning("cannot attach menus in game mode.");
- return;
- }
- if (__glutMappedMenu) {
- menuModificationError();
- }
- if (__glutCurrentWindow->menu[button] < 1) {
- __glutCurrentWindow->buttonUses++;
- }
- __glutCurrentWindow->menu[button] = __glutCurrentMenu->id + 1;
-}
-
-void GLUTAPIENTRY
-glutDetachMenu(int button)
-{
- if (__glutMappedMenu) {
- menuModificationError();
- }
- if (__glutCurrentWindow->menu[button] > 0) {
- __glutCurrentWindow->buttonUses--;
- __glutCurrentWindow->menu[button] = 0;
- }
-}
-
diff --git a/src/glut/os2/os2_winproc.cpp b/src/glut/os2/os2_winproc.cpp
deleted file mode 100644
index 9cbdec1cd2..0000000000
--- a/src/glut/os2/os2_winproc.cpp
+++ /dev/null
@@ -1,1296 +0,0 @@
-/* os2_winproc.c */
-
-
-#define INCL_DEV
-#include "WarpGL.h"
-#include "GL/os2mesa.h"
-
-
-#define _MEERROR_H_
-#include <mmioos2.h> /* It is from MMPM toolkit */
-#include <dive.h>
-#include <fourcc.h>
-
-
-#include "os2mesadef.h"
-#include "glutint.h"
-
-
-#define POKA 0
-
-#if POKA
-
-extern unsigned __glutMenuButton;
-extern GLUTidleCB __glutIdleFunc;
-extern GLUTtimer *__glutTimerList;
-extern void handleTimeouts(void);
-extern GLUTmenuItem *__glutGetUniqueMenuItem(GLUTmenu * menu, int unique);
-static HMENU __glutHMenu;
-
-#endif
-
-extern void _mesa_ResizeBuffersMESA( void );
-
-
-MRESULT EXPENTRY GlutWindowProc( HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2 );
-MRESULT EXPENTRY GlutWindowChildProc( HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2 );
-void updateWindowState(GLUTwindow *window, int visState);
-
-volatile extern HAB hab; /* PM anchor block handle */
-volatile extern HPS hpsCurrent;
-
-RECTL rCtls[52];
-ULONG ulNumRcls;
-
-MRESULT EXPENTRY GlutWindowChildProc( HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2 )
-{ MRESULT rc;
- rc = GlutWindowProc(hwnd, msg, mp1, mp2 );
- return rc;
-}
-
-MRESULT EXPENTRY GlutWindowProc( HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2 )
-{
- HPS hps = NULLHANDLE; /* presentation space handle */
- GLUTwindow* window; /* GLUT window associated with message. */
- GLUTmenu* menu; /* GLUT menu associated with message. */
- RECTL rclClient;
- POINTL point;
- int button = -1,rc,key;
-
-
-/* Process the message. */
-
- switch( msg )
- {
- case WM_CREATE:
- {
- SIZEL sizl = { 0L, 0L };
- LONG *alCaps;
- HDC hdc;
-
- /*+-----------------------------------------------------------------+*/
- /*| The client window is being created. Create the semaphore to |*/
- /*| control access to the presentation space. Then create the |*/
- /*| thread that will draw the lines. |*/
- /*+-----------------------------------------------------------------+*/
- // DosCreateMutexSem( (PSZ)NULL, &hmtxPS, 0UL, FALSE );
-
- hdc = WinOpenWindowDC(hwnd);
-
- /*+-----------------------------------------------------------------+*/
- /*| Create a non-cached presentation space. We will not release |*/
- /*| this PS, as we will be Selecting a Palette to this PS and then |*/
- /*| animating the palette. Upon releasing a PS the palette is no |*/
- /*| longer selected for obvious reasons. |*/
- /*+-----------------------------------------------------------------+*/
- hpsCurrent = GpiCreatePS( hab,
- hdc,
- &sizl,
- PU_PELS | GPIF_DEFAULT |
- GPIT_MICRO | GPIA_ASSOC );
-// DevQueryCaps( hdc, lStart, lCount, alCaps );
-// fPaletteCaps = alCaps[CAPS_ADDITIONAL_GRAPHICS] & CAPS_PALETTE_MANAGER;
-// PaletteInit(3);
- /* ¯¥p¥¢®¤ hpsBuffer ¢ p¥¦¨¬ RGB color table */
-
- GpiCreateLogColorTable(hpsCurrent,0 ,LCOLF_RGB,0,0,NULL);
- GpiSetPattern(hpsCurrent,PATSYM_SOLID);
- GpiSetPatternSet(hpsCurrent,LCID_DEFAULT);
-
- }
- break;
-
- return 0;
- case WM_CLOSE:
- WinPostMsg( hwnd, WM_QUIT, NULL, NULL );
-
- return 0;
-
- case WM_PAINT:
- window = __glutGetWindow(hwnd);
- if (window)
- {
- PWMC ctx;
-// hps = WinBeginPaint(hwnd,NULLHANDLE,&rclClient);
- hps = WinBeginPaint(hwnd,NULLHANDLE,&rclClient);
- // blit Dive buffer to screen.
-
- {
- SWP swp; // Window position
- POINTL pointl; // Point to offset from Desktop
-
- // Convert the point to offset from desktop lower left.
- pointl.x = 0;
- pointl.y = 0;
- WinMapWindowPoints ( hwnd, HWND_DESKTOP, &pointl, 1 );
-
-
-// ctx = window->ctx;
-// ctx->xDiveScr = pointl.x;
-// ctx->yDiveScr = pointl.y;
- }
-// rc = DiveBlitImage (ctx->hDive,
-// ctx->ulDiveBufferNumber,
-// DIVE_BUFFER_SCREEN );
-//
-
- if (window->win == hwnd) {
- __glutPostRedisplay(window, GLUT_REPAIR_WORK);
- } else if (window->overlay && window->overlay->win == hwnd) {
- __glutPostRedisplay(window, GLUT_OVERLAY_REPAIR_WORK);
- }
- WinEndPaint(hps);
- } else {
-
- hps = WinBeginPaint(hwnd,NULLHANDLE,&rclClient);
- WinFillRect(hps, &rclClient, CLR_WHITE);
- WinEndPaint(hps);
- }
- break;
-
- case WM_VRNDISABLED:
-
-// pwinData->fDataInProcess = TRUE;
-// DiveSetupBlitter ( pwinData->hDive, 0 );
-// pwinData->fVrnDisabled = TRUE;
- break;
-
- case WM_VRNENABLED:
- { HRGN hrgn; /* Region handle */
- RGNRECT rgnCtl; /* Processing control structure */
-// RECTL rCtls[52];
-// ULONG ulNumRcls;
-
-// pwinData->fDataInProcess = TRUE;
- hps = WinGetPS ( hwnd );
- if ( !hps )
- break;
- hrgn = GpiCreateRegion ( hps, 0L, NULL );
- if ( hrgn )
- { /* NOTE: If mp1 is zero, then this was just a move message.
- ** Illustrate the visible region on a WM_VRNENABLE.
- */
- WinQueryVisibleRegion ( hwnd, hrgn );
- rgnCtl.ircStart = 0;
- rgnCtl.crc = 50;
- rgnCtl.ulDirection = 1;
-
- /* Get the all ORed rectangles */
- if ( GpiQueryRegionRects ( hps, hrgn, NULL,
- &rgnCtl, rCtls) )
- {
- ulNumRcls = rgnCtl.crcReturned;
-
- /* Now find the window position and size, relative to parent.
- */
-// WinQueryWindowPos ( pwinData->hwndClient, &pwinData->swp );
-
-// rcl.xLeft = 0;
-// rcl.yBottom = 0;
-
- /* Convert the point to offset from desktop lower left.
- */
-// pointl.x = pwinData->swp.x;
-// pointl.y = pwinData->swp.y;
-
-// WinMapWindowPoints ( pwinData->hwndFrame,
-// HWND_DESKTOP, &pointl, 1 );
-
-// pwinData->cxWindowPos = pointl.x;
-// pwinData->cyWindowPos = pointl.y;
-
- }
- GpiDestroyRegion( hps, hrgn );
- }
- WinReleasePS( hps );
-
- }
- break;
-
- case WM_SIZE:
- window = __glutGetWindow(hwnd);
- if (window)
- { int width,height;
- width = SHORT1FROMMP(mp2);
- height = SHORT2FROMMP(mp2);
- if (width != window->width || height != window->height) {
-#if 0 /* Win32 GLUT does not support overlays for now. */
- if (window->overlay) {
- XResizeWindow(__glutDisplay, window->overlay->win, width, height);
- }
-#endif
- window->width = width;
- window->height = height;
- __glutSetWindow(window);
- if(width <= 0 || height <= 0)
- break;
- _mesa_ResizeBuffersMESA();
-
- /* Do not execute OpenGL out of sequence with respect
- to the SetWindowPos request! */
- window->reshape(width, height);
- window->forceReshape = FALSE;
- /* A reshape should be considered like posting a
- repair request. */
- __glutPostRedisplay(window, GLUT_REPAIR_WORK);
- }
- }
- return 0;
- case WM_SHOW:
- window = __glutGetWindow(hwnd);
- if (window) {
- int visState;
- visState = SHORT1FROMMP( mp1 );
- updateWindowState(window, visState);
- }
- return 0;
-
- case WM_ACTIVATE:
- window = __glutGetWindow(hwnd);
-// /* Make sure we re-select the correct palette if needed. */
-// if (LOWORD(wParam)) {
-// PostMessage(hwnd, WM_PALETTECHANGED, 0, 0);
-// }
- if (window) {
- int visState;
- visState = SHORT1FROMMP( mp1 );
- updateWindowState(window, visState);
- }
- return 0;
-
- case WM_CHAR:
- { USHORT fsflags;
- window = __glutGetWindow(hwnd);
- if (!window) {
- break;
- }
- fsflags = SHORT1FROMMP(mp1);
-/* ?? */
- if((fsflags & KC_KEYUP) ) /* ¨£­®p¨p㥬 ®â¦ â¨¥ ª­®¯ª¨, p¥ £¨p㥬 ⮫쪮 ­  ­ ¦ â¨¥ */
- break;
-///////////////////////////////////////////////////
- if(!(fsflags & KC_CHAR) )
- {
- if (!(fsflags & KC_VIRTUALKEY))
- break;
- key = 0;
- /* Get the virtual key from mp2. */
- switch (SHORT2FROMMP(mp2))
- {
-/* directional keys */
- case VK_LEFT: key = GLUT_KEY_LEFT; break;
- case VK_UP: key = GLUT_KEY_UP; break;
- case VK_RIGHT: key = GLUT_KEY_RIGHT; break;
- case VK_DOWN: key = GLUT_KEY_DOWN; break;
-
- case VK_PAGEUP: key = GLUT_KEY_PAGE_UP; break;
- case VK_PAGEDOWN:key = GLUT_KEY_PAGE_DOWN; break;
- case VK_HOME: key = GLUT_KEY_HOME;break;
- case VK_END: key = GLUT_KEY_END; break;
- case VK_INSERT: key = GLUT_KEY_INSERT; break;
-
-/* function keys */
- case VK_F1 : key = GLUT_KEY_F1; break;
- case VK_F2 : key = GLUT_KEY_F2; break;
- case VK_F3 : key = GLUT_KEY_F3; break;
- case VK_F4 : key = GLUT_KEY_F4; break;
- case VK_F5 : key = GLUT_KEY_F5; break;
- case VK_F6 : key = GLUT_KEY_F6; break;
- case VK_F7 : key = GLUT_KEY_F7; break;
- case VK_F8 : key = GLUT_KEY_F8; break;
- case VK_F9 : key = GLUT_KEY_F9; break;
- case VK_F10: key = GLUT_KEY_F10;break;
- case VK_F11: key = GLUT_KEY_F11; break;
- case VK_F12: key = GLUT_KEY_F12; break;
- case VK_ESC: key = -1; break; /* Character codes */
- case VK_SPACE: key = -1; break;
- case VK_TAB: key = -1; break;
- }
- if(!key)
- { break; /* Key Not implemented */
- }
- if(key > 0)
- { if (!window->special) /* ­¥ ãáâ ­®¢«¥­® ®¡à ¡®â稪  */
- break;
-
- WinQueryPointerPos(HWND_DESKTOP,&point);
- ScreenToClient(window->win, &point);
- __glutSetWindow(window);
- __glutModifierMask = 0;
- if(WinGetKeyState(HWND_DESKTOP,VK_SHIFT) & 0x8000) /* high order bit is on */
- __glutModifierMask |= ShiftMask;
- if(WinGetKeyState(HWND_DESKTOP,VK_CTRL) & 0x8000)
- __glutModifierMask |= ControlMask;
- if(WinGetKeyState(HWND_DESKTOP,VK_MENU) & 0x8000)
- __glutModifierMask |= Mod1Mask;
- window->special(key, point.x, point.y);
- __glutModifierMask = (unsigned int) ~0;
- return 0;
- }
-
- }
-/////////////////////////////////////////////////////
- /* If we are ignoring auto repeated key strokes for the window, bail. */
- if (window->ignoreKeyRepeat && (CHAR3FROMMP(mp1)) )
- break;
- if(!((unsigned char)SHORT1FROMMP(mp2)) ) /* ¨£­®p¨p㥬 ­¥á¨¬¢®«ì­ë¥ ª®¤ë */
- break;
- if (window->keyboard) {
- WinQueryPointerPos(HWND_DESKTOP,&point);
-
- ScreenToClient(window->win, &point);
- __glutSetWindow(window);
- __glutModifierMask = 0;
- if(WinGetKeyState(HWND_DESKTOP,VK_SHIFT) & 0x8000) /* high order bit is on */
- __glutModifierMask |= ShiftMask;
- if(WinGetKeyState(HWND_DESKTOP,VK_CTRL) & 0x8000)
- __glutModifierMask |= ControlMask;
- if(WinGetKeyState(HWND_DESKTOP,VK_MENU) & 0x8000)
- __glutModifierMask |= Mod1Mask;
- window->keyboard((unsigned char)SHORT1FROMMP(mp2), point.x, point.y);
- __glutModifierMask = (unsigned int) ~0;
- }
- return 0;
- } /* endof case WM_CHAR: */
-////////////////////////////////////////////////
- case WM_BUTTON1DOWN:
- button = GLUT_LEFT_BUTTON;
- case WM_BUTTON3DOWN:
- if (button < 0)
- button = GLUT_MIDDLE_BUTTON;
- case WM_BUTTON2DOWN:
- if (button < 0)
- button = GLUT_RIGHT_BUTTON;
- { POINTS psh;
- psh = *((POINTS *)&mp1);
- point.x = psh.x;
- point.y = psh.y;
- }
- /* finish the menu if we get a button down message (user must have
- cancelled the menu). */
- if (__glutMappedMenu) {
- /* TODO: take this out once the menu on middle mouse stuff works
- properly. */
- if (button == GLUT_MIDDLE_BUTTON)
- return 0;
- /* get current mouse pointer position */
-// WinQueryPointerPos(HWND_DESKTOP,&point);
- /* map from desktop to client window */
-// WinMapWindowPoints(HWND_DESKTOP, hwnd, &point, 1);
- __glutItemSelected = NULL;
- __glutFinishMenu(hwnd, point.x, point.y);
- return 0;
- }
- window = __glutGetWindow(hwnd);
- if (window) {
- window->buttonDownState = button+1;
- menu = __glutGetMenuByNum(window->menu[button]);
- if (menu) {
-//todo
-// __glutMenuButton = button == GLUT_RIGHT_BUTTON ? TPM_RIGHTBUTTON :
-// button == GLUT_LEFT_BUTTON ? TPM_LEFTBUTTON :
-// 0x0001;
-// __glutStartMenu(menu, window, point.x, point.y, x, y);
- } else if (window->mouse) {
-
- __glutSetWindow(window);
- __glutModifierMask = 0;
- if (WinGetKeyState(HWND_DESKTOP,VK_SHIFT) & 0x8000) /* < 0 = high order bit is on. */
- __glutModifierMask |= ShiftMask;
- if (WinGetKeyState(HWND_DESKTOP,VK_CTRL) & 0x8000)
- __glutModifierMask |= ControlMask;
- if (WinGetKeyState(HWND_DESKTOP,VK_MENU) & 0x8000)
- __glutModifierMask |= Mod1Mask;
- window->mouse(button, GLUT_DOWN, point.x, point.y);
- __glutModifierMask = (unsigned int)~0;
- } else {
- /* Stray mouse events. Ignore. */
- }
- }
- return 0;
-
- break;
-/********************************************/
- case WM_BUTTON1UP:
- button = GLUT_LEFT_BUTTON;
- case WM_BUTTON3UP:
- if (button < 0)
- button = GLUT_MIDDLE_BUTTON;
- case WM_BUTTON2UP:
- if (button < 0)
- button = GLUT_RIGHT_BUTTON;
- { POINTS psh;
- psh = *((POINTS *)&mp1);
- point.x = psh.x;
- point.y = psh.y;
- }
- /* Bail out if we're processing a menu. */
- /* Bail out = ¢ë¡à®á¨âìáï á ¯ à èã⮬ */
- if (__glutMappedMenu) {
- WinQueryPointerPos(HWND_DESKTOP,&point);
- WinMapWindowPoints(HWND_DESKTOP, hwnd, &point, 1);
- /* if we're getting the middle button up signal, then something
- on the menu was selected. */
- if (button == GLUT_MIDDLE_BUTTON) {
- return 0;
- /* For some reason, the code below always returns -1 even
- though the point IS IN THE ITEM! Therefore, just bail out if
- we get a middle mouse up. The user must select using the
- left mouse button. Stupid Win32. */
-#if 0
- int item = MenuItemFromPoint(hwnd, __glutHMenu, point);
- if (item != -1)
- __glutItemSelected = (GLUTmenuItem*)GetMenuItemID(__glutHMenu, item);
- else
- __glutItemSelected = NULL;
- __glutFinishMenu(hwnd, point.x, point.y);
-#endif
- } else {
- __glutItemSelected = NULL;
- __glutFinishMenu(hwnd, point.x, point.y);
- }
- return 0;
- }
-
- window = __glutGetWindow(hwnd);
- if(window)
- window->buttonDownState = 0;
-
- if (window && window->mouse) {
- __glutSetWindow(window);
- __glutModifierMask = 0;
- if (WinGetKeyState(HWND_DESKTOP,VK_SHIFT) & 0x8000) /* < 0 = high order bit is on */
- __glutModifierMask |= ShiftMask;
- if (WinGetKeyState(HWND_DESKTOP,VK_CTRL) & 0x8000)
- __glutModifierMask |= ControlMask;
- if (WinGetKeyState(HWND_DESKTOP,VK_MENU) & 0x8000)
- __glutModifierMask |= Mod1Mask;
- window->mouse(button, GLUT_UP, point.x, point.y);
-
- __glutModifierMask = (unsigned int)~0;
- } else {
- /* Window might have been destroyed and all the
- events for the window may not yet be received. */
- }
- return 0;
-
-
- break;
-//////////////////////////////////////////////////
- case WM_COMMAND:
- window = __glutGetWindow(hwnd);
- if (window)
- { if (window->wm_command)
- window->wm_command(hwnd,mp1,mp2);
- }
- break;
-
- case WM_MOUSEMOVE:
- if (!__glutMappedMenu) {
- window = __glutGetWindow(hwnd);
- if (window) {
- /* If motion function registered _and_ buttons held *
- down, call motion function... */
- { POINTS psh;
- psh = *((POINTS *)&mp1);
- point.x = psh.x;
- point.y = psh.y;
- }
-
- if (window->motion && window->buttonDownState) {
- __glutSetWindow(window);
- window->motion(point.x, point.y);
- }
- /* If passive motion function registered _and_
- buttons not held down, call passive motion
- function... */
- else if (window->passive && !window->buttonDownState) {
- __glutSetWindow(window);
- window->passive(point.x, point.y);
- }
- }
- } else {
- /* Motion events are thrown away when a pop up menu is
- active. */
- }
- return 0;
-
-
- default:
- /* For all other messages, let the default window procedure process them. */
- return ( WinDefWindowProc( hwnd, msg, mp1, mp2 ) );
-
- } //endof switch( msg )
- return ( WinDefWindowProc( hwnd, msg, mp1, mp2 ) );
-// return NULL;
-}
-
-void APIENTRY glutCommandFunc(GLUTcommandCB Func)
-{
-extern GLUTwindow *__glutCurrentWindow;
- __glutCurrentWindow->wm_command = Func;
-}
-
-
-
-
-void
-updateWindowState(GLUTwindow *window, int visState)
-{
- GLUTwindow* child;
-
- /* XXX shownState and visState are the same in Win32. */
- window->shownState = visState;
- if (visState != window->visState) {
- if (window->windowStatus) {
- window->visState = visState;
- __glutSetWindow(window);
- window->windowStatus(visState);
- }
- }
- /* Since Win32 only sends an activate for the toplevel window,
- update the visibility for all the child windows. */
- child = window->children;
- while (child) {
- updateWindowState(child, visState);
- child = child->siblings;
- }
-}
-
-#if POKA
-
-LONG WINAPI
-__glutWindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
-{
- POINT point; /* Point structure. */
- PAINTSTRUCT ps; /* Paint structure. */
- LPMINMAXINFO minmax; /* Minimum/maximum info structure. */
- GLUTwindow* window; /* GLUT window associated with message. */
- GLUTmenu* menu; /* GLUT menu associated with message. */
- int x, y, width, height, key;
- int button = -1;
-
- switch(msg) {
- case WM_CREATE:
- return 0;
- case WM_CLOSE:
- PostQuitMessage(0);
- return 0;
-#if 0
- case WM_DESTROY:
- /* XXX NVidia's NT OpenGL can have problems closing down
- its OpenGL internal data structures if we just allow
- the process to terminate without unbinding and deleting
- the windows context. Apparently, DirectDraw unloads
- before OPENGL32.DLL in the close down sequence, but
- NVidia's NT OpenGL needs DirectDraw to close down its
- data structures. */
- window = __glutGetWindow(hwnd);
- if (window) {
- if (window->ctx) {
- wglMakeCurrent(NULL, NULL);
- wglDeleteContext(window->ctx);
- }
- }
- return 0;
-#endif
-
- case WM_SYSKEYUP:
- case WM_KEYUP:
- window = __glutGetWindow(hwnd);
- if (!window) {
- break;
- }
- /* Win32 is dumb and sends these messages only to the parent
- window. Therefore, find out if we're in a child window and
- call the child windows keyboard callback if we are. */
- if (window->parent) {
- GetCursorPos(&point);
- ScreenToClient(hwnd, &point);
- hwnd = ChildWindowFromPoint(hwnd, point);
- window = __glutGetWindow(hwnd);
- }
- if (window->specialUp || window->keyboardUp) {
- GetCursorPos(&point);
- ScreenToClient(window->win, &point);
- __glutSetWindow(window);
- __glutModifierMask = 0;
- if (GetKeyState(VK_SHIFT) < 0) /* < 0 = high order bit is on */
- __glutModifierMask |= ShiftMask;
- if (GetKeyState(VK_SHIFT) < 0) /* < 0 = high order bit is on */
- __glutModifierMask |= ControlMask;
- if (GetKeyState(VK_MENU) < 0)
- __glutModifierMask |= Mod1Mask;
- switch (wParam) {
- /* *INDENT-OFF* */
- case VK_F1: key = GLUT_KEY_F1; break;
- case VK_F2: key = GLUT_KEY_F2; break;
- case VK_F3: key = GLUT_KEY_F3; break;
- case VK_F4: key = GLUT_KEY_F4; break;
- case VK_F5: key = GLUT_KEY_F5; break;
- case VK_F6: key = GLUT_KEY_F6; break;
- case VK_F7: key = GLUT_KEY_F7; break;
- case VK_F8: key = GLUT_KEY_F8; break;
- case VK_F9: key = GLUT_KEY_F9; break;
- case VK_F10: key = GLUT_KEY_F10; break;
- case VK_F11: key = GLUT_KEY_F11; break;
- case VK_F12: key = GLUT_KEY_F12; break;
- case VK_LEFT: key = GLUT_KEY_LEFT; break;
- case VK_UP: key = GLUT_KEY_UP; break;
- case VK_RIGHT: key = GLUT_KEY_RIGHT; break;
- case VK_DOWN: key = GLUT_KEY_DOWN; break;
- case VK_PRIOR: key = GLUT_KEY_PAGE_UP; break;
- case VK_NEXT: key = GLUT_KEY_PAGE_DOWN; break;
- case VK_HOME: key = GLUT_KEY_HOME; break;
- case VK_END: key = GLUT_KEY_END; break;
- case VK_INSERT: key = GLUT_KEY_INSERT; break;
- case VK_DELETE:
- /* Delete is an ASCII character. */
- if (window->keyboardUp) {
- window->keyboardUp((unsigned char) 127, point.x, point.y);
- }
- return 0;
- /* *INDENT-ON* */
- default:
- if (window->keyboardUp) {
- key = MapVirtualKey(wParam, 2); /* Map to ASCII. */
- if (isascii(key) && (key != 0)) {
-
- /* XXX Attempt to determine modified ASCII character
- is quite incomplete. Digits, symbols, CapsLock,
- Ctrl, and numeric keypad are all ignored. Fix this. */
-
- if (!(__glutModifierMask & ShiftMask))
- key = tolower(key);
- window->keyboardUp((unsigned char) key, point.x, point.y);
- }
- }
- __glutModifierMask = (unsigned int) ~0;
- return 0;
- }
- if (window->specialUp) {
- window->specialUp(key, point.x, point.y);
- }
- __glutModifierMask = (unsigned int) ~0;
- }
- return 0;
-
- case WM_SYSCHAR:
- case WM_CHAR:
- window = __glutGetWindow(hwnd);
- if (!window) {
- break;
- }
-
- /* Bit 30 of lParam is set if key already held down. If
- we are ignoring auto repeated key strokes for the window, bail. */
- if (window->ignoreKeyRepeat && (lParam & (1 << 30)) ) {
- break;
- }
-
- /* Win32 is dumb and sends these messages only to the parent
- window. Therefore, find out if we're in a child window and
- call the child windows keyboard callback if we are. */
- if (window->parent) {
- GetCursorPos(&point);
- ScreenToClient(hwnd, &point);
- hwnd = ChildWindowFromPoint(hwnd, point);
- window = __glutGetWindow(hwnd);
- }
- if (window->keyboard) {
- GetCursorPos(&point);
- ScreenToClient(window->win, &point);
- __glutSetWindow(window);
- __glutModifierMask = 0;
- if (GetKeyState(VK_SHIFT) < 0) /* < 0 = high order bit is on */
- __glutModifierMask |= ShiftMask;
- if (GetKeyState(VK_CONTROL) < 0)
- __glutModifierMask |= ControlMask;
- if (GetKeyState(VK_MENU) < 0)
- __glutModifierMask |= Mod1Mask;
- window->keyboard((unsigned char)wParam, point.x, point.y);
- __glutModifierMask = (unsigned int) ~0;
- }
- return 0;
-
- case WM_SYSKEYDOWN:
- case WM_KEYDOWN:
- window = __glutGetWindow(hwnd);
- if (!window) {
- break;
- }
-
- /* Bit 30 of lParam is set if key already held down. If
- we are ignoring auto repeated key strokes for the window, bail. */
- if (window->ignoreKeyRepeat && (lParam & (1 << 30)) ) {
- break;
- }
-
- /* Win32 is dumb and sends these messages only to the parent
- window. Therefore, find out if we're in a child window and
- call the child windows keyboard callback if we are. */
- if (window->parent) {
- GetCursorPos(&point);
- ScreenToClient(hwnd, &point);
- hwnd = ChildWindowFromPoint(hwnd, point);
- window = __glutGetWindow(hwnd);
- }
- if (window->special) {
- switch (wParam) {
- /* *INDENT-OFF* */
- /* function keys */
- case VK_F1: key = GLUT_KEY_F1; break;
- case VK_F2: key = GLUT_KEY_F2; break;
- case VK_F3: key = GLUT_KEY_F3; break;
- case VK_F4: key = GLUT_KEY_F4; break;
- case VK_F5: key = GLUT_KEY_F5; break;
- case VK_F6: key = GLUT_KEY_F6; break;
- case VK_F7: key = GLUT_KEY_F7; break;
- case VK_F8: key = GLUT_KEY_F8; break;
- case VK_F9: key = GLUT_KEY_F9; break;
- case VK_F10: key = GLUT_KEY_F10; break;
- case VK_F11: key = GLUT_KEY_F11; break;
- case VK_F12: key = GLUT_KEY_F12; break;
- /* directional keys */
- case VK_LEFT: key = GLUT_KEY_LEFT; break;
- case VK_UP: key = GLUT_KEY_UP; break;
- case VK_RIGHT: key = GLUT_KEY_RIGHT; break;
- case VK_DOWN: key = GLUT_KEY_DOWN; break;
- /* *INDENT-ON* */
-
- case VK_PRIOR:
- /* VK_PRIOR is Win32's Page Up */
- key = GLUT_KEY_PAGE_UP;
- break;
- case VK_NEXT:
- /* VK_NEXT is Win32's Page Down */
- key = GLUT_KEY_PAGE_DOWN;
- break;
- case VK_HOME:
- key = GLUT_KEY_HOME;
- break;
- case VK_END:
- key = GLUT_KEY_END;
- break;
- case VK_INSERT:
- key = GLUT_KEY_INSERT;
- break;
- case VK_DELETE:
- goto handleDelete;
- default:
- goto defproc;
- }
- GetCursorPos(&point);
- ScreenToClient(window->win, &point);
- __glutSetWindow(window);
- __glutModifierMask = 0;
- if (GetKeyState(VK_SHIFT) < 0) /* < 0 = high order bit is on */
- __glutModifierMask |= ShiftMask;
- if (GetKeyState(VK_CONTROL) < 0)
- __glutModifierMask |= ControlMask;
- if (GetKeyState(VK_MENU) < 0)
- __glutModifierMask |= Mod1Mask;
- window->special(key, point.x, point.y);
- __glutModifierMask = (unsigned int) ~0;
- } else if (window->keyboard) {
- /* Specially handle any keys that match ASCII values but
- do not generate Windows WM_SYSCHAR or WM_CHAR messages. */
- switch (wParam) {
- case VK_DELETE:
- handleDelete:
- /* Delete is an ASCII character. */
- GetCursorPos(&point);
- ScreenToClient(window->win, &point);
- __glutSetWindow(window);
- __glutModifierMask = 0;
- if (GetKeyState(VK_SHIFT) < 0) /* < 0 = high order bit is on */
- __glutModifierMask |= ShiftMask;
- if (GetKeyState(VK_CONTROL) < 0)
- __glutModifierMask |= ControlMask;
- if (GetKeyState(VK_MENU) < 0)
- __glutModifierMask |= Mod1Mask;
- window->keyboard((unsigned char) 127, point.x, point.y);
- __glutModifierMask = (unsigned int) ~0;
- return 0;
- default:
- /* Let the following WM_SYSCHAR or WM_CHAR message generate
- the keyboard callback. */
- break;
- }
- }
- return 0;
-
- case WM_LBUTTONDOWN:
- button = GLUT_LEFT_BUTTON;
- case WM_MBUTTONDOWN:
- if (button < 0)
- button = GLUT_MIDDLE_BUTTON;
- case WM_RBUTTONDOWN:
- if (button < 0)
- button = GLUT_RIGHT_BUTTON;
-
- /* finish the menu if we get a button down message (user must have
- cancelled the menu). */
- if (__glutMappedMenu) {
- /* TODO: take this out once the menu on middle mouse stuff works
- properly. */
- if (button == GLUT_MIDDLE_BUTTON)
- return 0;
- GetCursorPos(&point);
- ScreenToClient(hwnd, &point);
- __glutItemSelected = NULL;
- __glutFinishMenu(hwnd, point.x, point.y);
- return 0;
- }
-
- /* set the capture so we can get mouse events outside the window */
- SetCapture(hwnd);
-
- /* Win32 doesn't return the same numbers as X does when the mouse
- goes beyond the upper or left side of the window. roll the
- Win32's 0..2^16 pointer co-ord range to 0 +/- 2^15. */
- x = LOWORD(lParam);
- y = HIWORD(lParam);
- if(x & 1 << 15) x -= (1 << 16);
- if(y & 1 << 15) y -= (1 << 16);
-
- window = __glutGetWindow(hwnd);
- if (window) {
- menu = __glutGetMenuByNum(window->menu[button]);
- if (menu) {
- point.x = LOWORD(lParam); point.y = HIWORD(lParam);
- ClientToScreen(window->win, &point);
- __glutMenuButton = button == GLUT_RIGHT_BUTTON ? TPM_RIGHTBUTTON :
- button == GLUT_LEFT_BUTTON ? TPM_LEFTBUTTON :
- 0x0001;
- __glutStartMenu(menu, window, point.x, point.y, x, y);
- } else if (window->mouse) {
-
- __glutSetWindow(window);
- __glutModifierMask = 0;
- if (GetKeyState(VK_SHIFT) < 0) /* < 0 = high order bit is on. */
- __glutModifierMask |= ShiftMask;
- if (GetKeyState(VK_CONTROL) < 0)
- __glutModifierMask |= ControlMask;
- if (GetKeyState(VK_MENU) < 0)
- __glutModifierMask |= Mod1Mask;
- window->mouse(button, GLUT_DOWN, x, y);
- __glutModifierMask = (unsigned int)~0;
- } else {
- /* Stray mouse events. Ignore. */
- }
- }
- return 0;
-
- case WM_LBUTTONUP:
- button = GLUT_LEFT_BUTTON;
- case WM_MBUTTONUP:
- if (button < 0)
- button = GLUT_MIDDLE_BUTTON;
- case WM_RBUTTONUP:
- if (button < 0)
- button = GLUT_RIGHT_BUTTON;
-
- /* Bail out if we're processing a menu. */
- if (__glutMappedMenu) {
- GetCursorPos(&point);
- ScreenToClient(hwnd, &point);
- /* if we're getting the middle button up signal, then something
- on the menu was selected. */
- if (button == GLUT_MIDDLE_BUTTON) {
- return 0;
- /* For some reason, the code below always returns -1 even
- though the point IS IN THE ITEM! Therefore, just bail out if
- we get a middle mouse up. The user must select using the
- left mouse button. Stupid Win32. */
-#if 0
- int item = MenuItemFromPoint(hwnd, __glutHMenu, point);
- if (item != -1)
- __glutItemSelected = (GLUTmenuItem*)GetMenuItemID(__glutHMenu, item);
- else
- __glutItemSelected = NULL;
- __glutFinishMenu(hwnd, point.x, point.y);
-#endif
- } else {
- __glutItemSelected = NULL;
- __glutFinishMenu(hwnd, point.x, point.y);
- }
- return 0;
- }
-
- /* Release the mouse capture. */
- ReleaseCapture();
-
- window = __glutGetWindow(hwnd);
- if (window && window->mouse) {
- /* Win32 doesn't return the same numbers as X does when the
- mouse goes beyond the upper or left side of the window. roll
- the Win32's 0..2^16 pointer co-ord range to 0 +/- 2^15. */
- x = LOWORD(lParam);
- y = HIWORD(lParam);
- if(x & 1 << 15) x -= (1 << 16);
- if(y & 1 << 15) y -= (1 << 16);
-
- __glutSetWindow(window);
- __glutModifierMask = 0;
- if (GetKeyState(VK_SHIFT) < 0) /* < 0 = high order bit is on */
- __glutModifierMask |= ShiftMask;
- if (GetKeyState(VK_CONTROL) < 0)
- __glutModifierMask |= ControlMask;
- if (GetKeyState(VK_MENU) < 0)
- __glutModifierMask |= Mod1Mask;
- window->mouse(button, GLUT_UP, x, y);
- __glutModifierMask = (unsigned int)~0;
- } else {
- /* Window might have been destroyed and all the
- events for the window may not yet be received. */
- }
- return 0;
-
- case WM_ENTERMENULOOP:
- /* KLUDGE: create a timer that fires every 100 ms when we start a
- menu so that we can still process the idle & timer events (that
- way, the timers will fire during a menu pick and so will the
- idle func. */
- SetTimer(hwnd, 1, 1, NULL);
- return 0;
-
- case WM_TIMER:
-#if 0
- /* If the timer id is 2, then this is the timer that is set up in
- the main glut message processing loop, and we don't want to do
- anything but acknowledge that we got it. It is used to prevent
- CPU spiking when an idle function is installed. */
- if (wParam == 2)
- return 0;
-#endif
-
- /* only worry about the idle function and the timeouts, since
- these are the only events we expect to process during
- processing of a menu. */
- /* we no longer process the idle functions (as outlined in the
- README), since drawing can't be done until the menu has
- finished...it's pretty lame when the animation goes on, but
- doesn't update, so you get this weird jerkiness. */
-#if 0
- if (__glutIdleFunc)
- __glutIdleFunc();
-#endif
- if (__glutTimerList)
- handleTimeouts();
- return 0;
-
- case WM_EXITMENULOOP:
- /* nuke the above created timer...we don't need it anymore, since
- the menu is gone now. */
- KillTimer(hwnd, 1);
- return 0;
-
- case WM_MENUSELECT:
- if (lParam != 0)
- __glutHMenu = (HMENU)lParam;
- return 0;
-
- case WM_COMMAND:
- if (__glutMappedMenu) {
- if (GetSubMenu(__glutHMenu, LOWORD(wParam)))
- __glutItemSelected = NULL;
- else
- __glutItemSelected =
- __glutGetUniqueMenuItem(__glutMappedMenu, LOWORD(wParam));
- GetCursorPos(&point);
- ScreenToClient(hwnd, &point);
- __glutFinishMenu(hwnd, point.x, point.y);
- }
- return 0;
-
- case WM_MOUSEMOVE:
- if (!__glutMappedMenu) {
- window = __glutGetWindow(hwnd);
- if (window) {
- /* If motion function registered _and_ buttons held *
- down, call motion function... */
- x = LOWORD(lParam);
- y = HIWORD(lParam);
-
- /* Win32 doesn't return the same numbers as X does when the
- mouse goes beyond the upper or left side of the window.
- roll the Win32's 0..2^16 pointer co-ord range to 0..+/-2^15. */
- if(x & 1 << 15) x -= (1 << 16);
- if(y & 1 << 15) y -= (1 << 16);
-
- if (window->motion && wParam &
- (MK_LBUTTON | MK_MBUTTON | MK_RBUTTON)) {
- __glutSetWindow(window);
- window->motion(x, y);
- }
- /* If passive motion function registered _and_
- buttons not held down, call passive motion
- function... */
- else if (window->passive &&
- ((wParam &
- (MK_LBUTTON | MK_MBUTTON | MK_RBUTTON)) ==
- 0)) {
- __glutSetWindow(window);
- window->passive(x, y);
- }
- }
- } else {
- /* Motion events are thrown away when a pop up menu is
- active. */
- }
- return 0;
-
- case WM_GETMINMAXINFO:
- /* this voodoo is brought to you by Win32 (again). It allows the
- window to be bigger than the screen, and smaller than 100x100
- (although it doesn't seem to help the y minimum). */
- minmax = (LPMINMAXINFO)lParam;
- minmax->ptMaxSize.x = __glutScreenWidth;
- minmax->ptMaxSize.y = __glutScreenHeight;
- minmax->ptMinTrackSize.x = 0;
- minmax->ptMinTrackSize.y = 0;
- minmax->ptMaxTrackSize.x = __glutScreenWidth +
- GetSystemMetrics(SM_CXSIZE) * 2;
- minmax->ptMaxTrackSize.y = __glutScreenHeight +
- GetSystemMetrics(SM_CXSIZE) * 2 + GetSystemMetrics(SM_CYCAPTION);
- return 0;
-
- case WM_SIZE:
- window = __glutGetWindow(hwnd);
- if (window) {
- width = LOWORD(lParam);
- height = HIWORD(lParam);
- if (width != window->width || height != window->height) {
-#if 0 /* Win32 GLUT does not support overlays for now. */
- if (window->overlay) {
- XResizeWindow(__glutDisplay, window->overlay->win, width, height);
- }
-#endif
- window->width = width;
- window->height = height;
- __glutSetWindow(window);
- /* Do not execute OpenGL out of sequence with respect
- to the SetWindowPos request! */
- GdiFlush();
- window->reshape(width, height);
- window->forceReshape = FALSE;
- /* A reshape should be considered like posting a
- repair request. */
- __glutPostRedisplay(window, GLUT_REPAIR_WORK);
- }
- }
- return 0;
-
- case WM_SETCURSOR:
- /* If the cursor is not in the client area, then we want to send
- this message to the default window procedure ('cause its
- probably in the border or title, and we don't handle that
- cursor. otherwise, set our cursor. Win32 makes us set the
- cursor every time the mouse moves (DUMB!). */
- if(LOWORD(lParam) != HTCLIENT) {
- goto defproc;
- }
- window = __glutGetWindow(hwnd);
- if (window) {
- __glutSetCursor(window);
- }
- /* TODO: check out the info in DevStudio on WM_SETCURSOR in the
- DefaultAction section. */
- return 1;
-
- case WM_SETFOCUS:
- window = __glutGetWindow(hwnd);
- if (window) {
- window->entryState = WM_SETFOCUS;
- if (window->entry) {
- __glutSetWindow(window);
- window->entry(GLUT_ENTERED);
- /* XXX Generation of fake passive notify? See how much
- work the X11 code does to support fake passive notify
- callbacks. */
- }
- if (window->joystick && __glutCurrentWindow) {
- if (__glutCurrentWindow->joyPollInterval > 0) {
- MMRESULT result;
-
- /* Because Win32 will only let one window capture the
- joystick at a time, we must capture it when we get the
- focus and release it when we lose the focus. */
- result = joySetCapture(__glutCurrentWindow->win,
- JOYSTICKID1, 0, TRUE);
- if (result != JOYERR_NOERROR) {
- return 0;
- }
- (void) joySetThreshold(JOYSTICKID1,
- __glutCurrentWindow->joyPollInterval);
- }
- }
- }
- return 0;
-
- case WM_KILLFOCUS:
- window = __glutGetWindow(hwnd);
- if (window) {
- window->entryState = WM_KILLFOCUS;
- if (window->entry) {
- __glutSetWindow(window);
- window->entry(GLUT_LEFT);
- }
- if (window->joystick && __glutCurrentWindow) {
- if (__glutCurrentWindow->joyPollInterval > 0) {
- /* Because Win32 will only let one window capture the
- joystick at a time, we must capture it when we get the
- focus and release it when we lose the focus. */
- (void) joyReleaseCapture(JOYSTICKID1);
- }
- }
- }
- return 0;
- case WM_ACTIVATE:
- window = __glutGetWindow(hwnd);
- /* Make sure we re-select the correct palette if needed. */
- if (LOWORD(wParam)) {
- PostMessage(hwnd, WM_PALETTECHANGED, 0, 0);
- }
- if (window) {
- int visState;
-
- /* HIWORD(wParam) is the minimized flag. */
- visState = !HIWORD(wParam);
- updateWindowState(window, visState);
- }
- return 0;
-
- /* Colour Palette Management */
- case WM_PALETTECHANGED:
- if (hwnd == (HWND)wParam) {
- /* Don't respond to the message that we sent! */
- break;
- }
- /* fall through to WM_QUERYNEWPALETTE */
-
- case WM_QUERYNEWPALETTE:
- window = __glutGetWindow(hwnd);
- if (window && window->colormap) {
- UnrealizeObject(window->colormap->cmap);
- SelectPalette(window->hdc, window->colormap->cmap, FALSE);
- RealizePalette(window->hdc);
- return TRUE;
- }
- return FALSE;
-
- case MM_JOY1MOVE:
- case MM_JOY1ZMOVE:
- window = __glutGetWindow(hwnd);
- if (window->joystick) {
- JOYINFOEX jix;
- int x, y, z;
-
- /* Because WIN32 only supports messages for X, Y, and Z
- translations, we must poll for the rest */
- jix.dwSize = sizeof(jix);
- jix.dwFlags = JOY_RETURNALL;
- joyGetPosEx(JOYSTICKID1,&jix);
-
-#define SCALE(v) ((int) ((v - 32767)/32.768))
-
- /* Convert to integer for scaling. */
- x = jix.dwXpos;
- y = jix.dwYpos;
- z = jix.dwZpos;
- window->joystick(jix.dwButtons, SCALE(x), SCALE(y), SCALE(z));
-
- return TRUE;
- }
- return FALSE;
- case MM_JOY1BUTTONDOWN:
- case MM_JOY1BUTTONUP:
- window = __glutGetWindow(hwnd);
- if (window->joystick) {
- JOYINFOEX jix;
-
- /* Because WIN32 only supports messages for X, Y, and Z
- translations, we must poll for the rest */
- jix.dwSize = sizeof(jix);
- jix.dwFlags = JOY_RETURNALL;
- joyGetPosEx(JOYSTICKID1,&jix);
-
- return TRUE;
- }
- return FALSE;
-
-#if 0
- /* Miscellaneous messages (don't really need to enumerate them,
- but it's good to know what you're not getting sometimes). */
- case WM_DISPLAYCHANGE:
- break;
- case WM_NCHITTEST:
- /* This event is generated by every mouse move event. */
- goto defproc;
- case WM_NCMOUSEMOVE:
- goto defproc;
- case WM_NCACTIVATE:
- goto defproc;
- case WM_NCPAINT:
- goto defproc;
- case WM_NCCALCSIZE:
- goto defproc;
- case WM_NCCREATE:
- goto defproc;
- case WM_NCDESTROY:
- goto defproc;
- case WM_NCLBUTTONDOWN:
- goto defproc;
- case WM_SETTEXT:
- goto defproc;
- case WM_GETTEXT:
- goto defproc;
- case WM_ACTIVATEAPP:
- goto defproc;
- case WM_GETICON:
- goto defproc;
- case WM_ERASEBKGND:
- goto defproc;
- case WM_WINDOWPOSCHANGING:
- goto defproc;
- case WM_WINDOWPOSCHANGED:
- goto defproc;
- case WM_MOUSEACTIVATE:
- goto defproc;
- case WM_SHOWWINDOW:
- goto defproc;
- case WM_MOVING:
- goto defproc;
- case WM_MOVE:
- goto defproc;
- case WM_KEYUP:
- goto defproc;
- case WM_CAPTURECHANGED:
- goto defproc;
- case WM_SYSCOMMAND:
- goto defproc;
- case WM_ENTERSIZEMOVE:
- goto defproc;
- case WM_ENTERIDLE:
- goto defproc;
-#endif
-
- default:
- goto defproc;
- }
-
-defproc:
- return DefWindowProc(hwnd, msg, wParam, lParam);
-}
-
-#endif
-
-#if defined(__OS2PM__)
-Bool __glutSetWindowText(Window window, char *text)
-{
- return WinSetWindowText(window, (PCSZ)text);
-
-}
-
-#endif
diff --git a/src/glut/os2/src-glut_os2pm.zip b/src/glut/os2/src-glut_os2pm.zip
deleted file mode 100644
index 8c8a8c7ac4..0000000000
--- a/src/glut/os2/src-glut_os2pm.zip
+++ /dev/null
Binary files differ
diff --git a/src/glx/mini/Makefile b/src/glx/mini/Makefile
deleted file mode 100644
index 6b5a3c76d7..0000000000
--- a/src/glx/mini/Makefile
+++ /dev/null
@@ -1,89 +0,0 @@
-# Build the MiniGLX libGL.so library.
-
-TOP = ../../..
-include $(TOP)/configs/current
-
-
-DEFINES += -DGLX_DIRECT_RENDERING -DIN_MINI_GLX -UIN_DRI_DRIVER
-
-C_SOURCES = \
- $(TOP)/src/mesa/main/dispatch.c \
- $(TOP)/src/mesa/glapi/glapi.c \
- $(TOP)/src/mesa/glapi/glthread.c \
- $(TOP)/src/glx/x11/glcontextmodes.c \
- miniglx.c \
- miniglx_events.c
-
-X86_SOURCES = $(TOP)/src/mesa/x86/glapi_x86.S
-
-OBJECTS = $(C_SOURCES:.c=.o) \
- $(ASM_SOURCES:.S=.o)
-
-INCLUDES = -I. $(INCLUDE_DIRS)
-
-INCLUDE_DIRS = \
- -I$(TOP)/include \
- -I$(TOP)/src/mesa \
- -I$(TOP)/src/mesa/main \
- -I$(TOP)/src/mesa/glapi \
- -I$(TOP)/src/glx/x11 \
- -I$(TOP)/src/mesa/drivers/dri/common \
- $(LIBDRM_CFLAGS) \
- $(PCIACCESS_CFLAGS)
-
-
-
-##### RULES #####
-
-.c.o:
- $(CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
-
-.S.o:
- $(CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
-
-
-##### TARGETS #####
-
-default: depend $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME) $(TOP)/$(LIB_DIR)/miniglx.conf
-
-
-# Make libGL
-$(TOP)/$(LIB_DIR)/$(GL_LIB_NAME): $(OBJECTS) Makefile
- @ $(MKLIB) -o $(GL_LIB) -linker '$(CC)' -ldflags '$(LDFLAGS)' \
- -major 1 -minor 2 $(MKLIB_OPTIONS) \
- -install $(TOP)/$(LIB_DIR) $(GL_LIB_DEPS) $(OBJECTS) \
- $(LIBDRM_LIB) $(PCIACCESS_LIB)
-
-
-# install sample miniglx.conf
-$(TOP)/$(LIB_DIR)/miniglx.conf:
- $(INSTALL) example.miniglx.conf $(TOP)/$(LIB_DIR)/miniglx.conf
-
-
-drmtest: xf86drm.o drmtest.o
- rm -f drmtest && $(CC) -o drmtest xf86drm.o drmtest.o
-
-
-depend: $(C_SOURCES) $(ASM_SOURCES)
- rm -f depend
- touch depend
- $(MKDEP) $(MKDEP_OPTIONS) $(INCLUDES) $(C_SOURCES) $(ASM_SOURCES) \
- > /dev/null
-
-
-# Emacs tags
-tags:
- etags `find . -name \*.[ch]` `find ../include`
-
-
-# Dummy install target
-install:
-
-
-# Remove .o and backup files
-clean:
- -rm -f drmtest $(TOP)/$(LIB_DIR)/libGL.so*
- -rm -f *.o *~
- -rm -f depend depend.bak
-
-include depend
diff --git a/src/glx/mini/NOTES b/src/glx/mini/NOTES
deleted file mode 100644
index 1774107d63..0000000000
--- a/src/glx/mini/NOTES
+++ /dev/null
@@ -1,115 +0,0 @@
-
-
-Getting MiniGLX up and running
-------------------------------
-
-It's necessary to do a bit of work to set up an environment to run miniglx.
-
-For the radeon driver, it's necessary to get the right set of kernel
-modules installed before attempting to run any programs:
-
- rmmod radeon agpgart;
- insmod agpgart;
- insmod $(MESA)/src/kernel/radeonfb/radeonfb.o;
- insmod $(MESA)/src/kernel/radeon/radeon.o;
-
-For all drivers, its necessary to reach the compiled libraries, and
-tell MiniGLX where to find it's configuration file:
-
- export LD_LIBRARY_PATH=$(MESA)/lib;
- export MINIGLX_CONF=$(MESA)/lib/miniglx.conf
-
-------------------------------------------------------------
-
-MiniGLX Example Programs
-------------------------
-
-The following programs will work with miniglx:
-
- $(MESA)/tests/miniglx
- $(MESA)/xdemos/glxgears
-
-Thanks to the miniglut stub library, most of the mesa glut demos will
-work. In particular, the following have been tested. (Note there is
-no keyboard or mouse interaction with these demos).
-
- $(MESA)/demos/gears
- $(MESA)/demos/geartrain
- $(MESA)/demos/morph3d
- $(MESA)/demos/isosurf
- $(MESA)/demos/texobj
- $(MESA)/demos/texcyl
- $(MESA)/demos/gloss
- $(MESA)/demos/fire
- $(MESA)/demos/tunnel
- $(MESA)/demos/teapot
- $(MESA)/samples/prim
- $(MESA)/samples/olympic
- $(MESA)/samples/star
- $(MESA)/samples/wave
- ...etc
-
-In fact most of the glut demos seem to work within the constraints of
-having no keyboard/mouse interactivity. Furthermore, the use of the
-glut wrapper means that these programs don't require recompilation to
-run under MiniGLX -- the same binary works with both regular GLX and
-MiniGLX.
-
-
-------------------------------------------------------------
-
-Porting GLX apps to MiniGLX
----------------------------
-
-A quick list of issues encountered in porting existing GLX apps to
-MiniGLX. Listed in no particular order.
-
-1) No input events
-
-MiniGLX doesn't provide an input layer, so any X11 input event
-handling in the existing app will have to be redone for whatever
-input devices exist on the target.
-
-2) No configuration, expose events
-
-Many GLX and Xlib programs wait on an event to ensure the window has
-become visible after being mapped. MiniGLX provides no equivalent
-facility.
-
-3) Different headers
-
-X11/Xlib.h, GL/GLX.h, etc must not be used if the program is being
-compiled against MiniGLX.
-
-The equivalent header is GL/MiniGLX.h.
-
-4) Different library
-
-It may be necessary to link directly against the minGLX libGL.so.
-
-5) Reduced number of Xlib and GLX entrypoints.
-
-By definition (MiniGLX is a subset of GLX), many Xlib and GLX
-entrypoints, structures and macros are not present in MiniGLX. It
-will be necessary to find and eliminate all references to
-non-supported entrypoints.
-
-
----------------------------------------------------------------
-
-Bugs in radeonfb.o -- the radeon framebuffer driver.
-----------------------------------------------------
-
-Several bugs have been found in the radeonfb.o framebuffer driver.
-Most of these are resolved in the version included in the MiniGLX
-sources, but some remain:
-
-1) Occasionally, after entering graphics mode, colors appear 'shifted'
-or 'translated', particularly in higher resolution modes. This is
-definitely a bug in radeonfb.o as this can be provoked even when using
-the software dri driver (fb_dri.so). Importance: High. Workaround:
-Use 800x600 as it seems to be less frequent at this resolution,
-otherwise, restart the application.
-
-
-
diff --git a/src/glx/mini/dispatch.c b/src/glx/mini/dispatch.c
deleted file mode 100644
index ac24df9e7d..0000000000
--- a/src/glx/mini/dispatch.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/**
- * \file miniglx/dispatch.c
- *
- * \brief C-based dispatch of the OpenGL entry points (glAccum(), glBegin(),
- * etc).
- *
- * \author Brian Paul <brian@precisioninsight.com>
- *
- * \note This code IS NOT USED if we're compiling on an x86 system and using
- * the glapi_x86.S assembly code.
- */
-
-/*
- * Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
- * 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, sub license, 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 (including the
- * next paragraph) 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 NON-INFRINGEMENT.
- * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS 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.
- */
-
-#include "glheader.h"
-#include "glapi.h"
-#include "glapitable.h"
-
-
-#if !(defined(USE_X86_ASM) || defined(USE_SPARC_ASM))
-
-#define KEYWORD1
-
-#define KEYWORD2
-
-#define NAME(func) gl##func
-
-#define DISPATCH(func, args, msg) \
- const struct _glapi_table *dispatch; \
- dispatch = _glapi_Dispatch ? _glapi_Dispatch : _glapi_get_dispatch();\
- (dispatch->func) args
-
-#define RETURN_DISPATCH(func, args, msg) \
- const struct _glapi_table *dispatch; \
- dispatch = _glapi_Dispatch ? _glapi_Dispatch : _glapi_get_dispatch();\
- return (dispatch->func) args
-
-
-#include "glapitemp.h"
-
-#endif /* USE_X86_ASM */
diff --git a/src/glx/mini/driver.h b/src/glx/mini/driver.h
deleted file mode 100644
index 39c0f9b5fa..0000000000
--- a/src/glx/mini/driver.h
+++ /dev/null
@@ -1,168 +0,0 @@
-/**
- * \file driver.h
- * \brief DRI utility functions definitions.
- *
- * This module acts as glue between GLX and the actual hardware driver. A DRI
- * driver doesn't really \e have to use any of this - it's optional. But, some
- * useful stuff is done here that otherwise would have to be duplicated in most
- * drivers.
- *
- * Basically, these utility functions take care of some of the dirty details of
- * screen initialization, context creation, context binding, DRM setup, etc.
- *
- * These functions are compiled into each DRI driver so libGL.so knows nothing
- * about them.
- *
- * Look for more comments in the dri_util.c file.
- *
- * \author Kevin E. Martin <kevin@precisioninsight.com>
- * \author Brian Paul <brian@precisioninsight.com>
- */
-
-/*
- * Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
- * 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, sub license, 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 (including the
- * next paragraph) 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 NON-INFRINGEMENT.
- * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS 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.
- */
-
-#ifndef _driver_H_
-#define _driver_H_
-
-#include "GL/gl.h"
-#include "GL/internal/glcore.h"
-
-#include "drm.h"
-#include "drm_sarea.h"
-
-/**
- * \brief DRIDriverContext type.
- */
-typedef struct DRIDriverContextRec {
- const char *pciBusID;
- int pciBus;
- int pciDevice;
- int pciFunc;
- int chipset;
- int bpp;
- int cpp;
- int agpmode;
- int isPCI;
-
- int colorTiling; /**< \brief color tiling is enabled */
-
- unsigned long FBStart; /**< \brief physical address of the framebuffer */
- unsigned long MMIOStart; /**< \brief physical address of the MMIO region */
-
- int FBSize; /**< \brief size of the mmap'd framebuffer in bytes */
- int MMIOSize; /**< \brief size of the mmap'd MMIO region in bytes */
-
- void *FBAddress; /**< \brief start of the mmap'd framebuffer */
- void *MMIOAddress; /**< \brief start of the mmap'd MMIO region */
-
- /**
- * \brief Client configuration details
- *
- * These are computed on the server and sent to clients as part of
- * the initial handshaking.
- */
- struct {
- drm_handle_t hSAREA;
- int SAREASize;
- drm_handle_t hFrameBuffer;
- int fbOrigin;
- int fbSize;
- int fbStride;
- int virtualWidth;
- int virtualHeight;
- int Width;
- } shared;
-
- /**
- * \name From DRIInfoRec
- */
- /*@{*/
- int drmFD; /**< \brief DRM device file descriptor */
- drm_sarea_t *pSAREA;
- unsigned int serverContext; /**< \brief DRM context only active on server */
- /*@}*/
-
-
- /**
- * \name Driver private
- *
- * Populated by __driInitFBDev()
- */
- /*@{*/
- void *driverPrivate;
- void *driverClientMsg;
- int driverClientMsgSize;
- /*@}*/
-} DRIDriverContext;
-
-/**
- * \brief Interface to the DRI driver.
- *
- * This structure is retrieved from the loadable driver by the \e
- * __driDriver symbol to access the Mini GLX specific hardware
- * initialization and take down routines.
- */
-typedef struct DRIDriverRec {
- /**
- * \brief Validate the framebuffer device mode
- */
- int (*validateMode)( const DRIDriverContext *context );
-
- /**
- * \brief Examine mode returned by fbdev (may differ from the one
- * requested), restore any hw regs clobbered by fbdev.
- */
- int (*postValidateMode)( const DRIDriverContext *context );
-
- /**
- * \brief Initialize the framebuffer device.
- */
- int (*initFBDev)( DRIDriverContext *context );
-
- /**
- * \brief Halt the framebuffer device.
- */
- void (*haltFBDev)( DRIDriverContext *context );
-
-
- /**
- * \brief Idle and shutdown hardware in preparation for a VT switch.
- */
- int (*shutdownHardware)( const DRIDriverContext *context );
-
- /**
- * \brief Restore hardware state after regaining the VT.
- */
- int (*restoreHardware)( const DRIDriverContext *context );
-
- /**
- * \brief Notify hardware driver of gain/loose focus. May be zero
- * as this is of limited utility for most drivers.
- */
- void (*notifyFocus)( int have_focus );
-} DRIDriver;
-
-#endif /* _driver_H_ */
diff --git a/src/glx/mini/example.miniglx.conf b/src/glx/mini/example.miniglx.conf
deleted file mode 100644
index 62dd4f65ec..0000000000
--- a/src/glx/mini/example.miniglx.conf
+++ /dev/null
@@ -1,36 +0,0 @@
-# Example miniglx configuration file (/etc/miniglx.conf)
-#
-
-# Framebuffer device to open: Might need to change this on dual-head
-# systems.
-fbdevDevice=/dev/fb0
-
-# Which driver?
-# radeon_dri.so -- HW accelerated radeon driver
-# fb_dri.so -- Software rasterizer
-clientDriverName=radeon_dri.so
-
-# The pci bus id of the video card. Find this with scanpci, lspci or
-# look in /proc/pci.
-pciBusID=PCI:1:0:0
-
-# Is the card PCI or AGP ?
-isPCI=0
-
-# Virtual screen dimensions. Can reduce this to save videocard memory
-# at the expense of maximum window size available.
-virtualWidth=1280
-virtualHeight=1024
-
-# Screen depth. Only 16 & 32bpp supported.
-bpp=32
-
-# AGP Mode. Not all cards supported (1, 2 or 4)
-agpmode=1
-
-# Rotated monitor? -- NOTE: only works with subsetted radeon driver!
-rotateMode=0
-
-# Do we want to use color tiling ?
-colorTiling=0
-
diff --git a/src/glx/mini/miniglx.c b/src/glx/mini/miniglx.c
deleted file mode 100644
index 874b88bc49..0000000000
--- a/src/glx/mini/miniglx.c
+++ /dev/null
@@ -1,2580 +0,0 @@
-/**
- * \file miniglx.c
- * \brief Mini GLX interface functions.
- * \author Brian Paul
- *
- * The Mini GLX interface is a subset of the GLX interface, plus a
- * minimal set of Xlib functions.
- */
-
-/*
- * Mesa 3-D graphics library
- * Version: 6.0.1
- *
- * Copyright (C) 1999-2004 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
- * BRIAN PAUL 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.
- */
-
-
-/**
- * \mainpage Mini GLX
- *
- * \section miniglxIntro Introduction
- *
- * The Mini GLX interface facilitates OpenGL rendering on embedded devices. The
- * interface is a subset of the GLX interface, plus a minimal set of Xlib-like
- * functions.
- *
- * Programs written to the Mini GLX specification should run unchanged
- * on systems with the X Window System and the GLX extension (after
- * recompilation). The intention is to allow flexibility for
- * prototyping and testing.
- *
- * The files in the src/miniglx/ directory are compiled to build the
- * libGL.so library. This is the library which applications link with.
- * libGL.so in turn, loads the hardware-specific device driver.
- *
- *
- * \section miniglxDoxygen About Doxygen
- *
- * For a list of all files, select <b>File List</b>. Choose a file from
- * the list for a list of all functions in the file.
- *
- * For a list of all functions, types, constants, etc.
- * select <b>File Members</b>.
- *
- *
- * \section miniglxReferences References
- *
- * - <A HREF="file:../../docs/MiniGLX.html">Mini GLX Specification</A>,
- * Tungsten Graphics, Inc.
- * - OpenGL Graphics with the X Window System, Silicon Graphics, Inc.,
- * ftp://ftp.sgi.com/opengl/doc/opengl1.2/glx1.3.ps
- * - Xlib - C Language X Interface, X Consortium Standard, X Version 11,
- * Release 6.4, ftp://ftp.x.org/pub/R6.4/xc/doc/hardcopy/X11/xlib.PS.gz
- * - XFree86 Man pages, The XFree86 Project, Inc.,
- * http://www.xfree86.org/current/manindex3.html
- *
- */
-
-/**
- * \page datatypes Notes on the XVisualInfo, Visual, and __GLXvisualConfig data types
- *
- * -# X (unfortunately) has two (or three) data types which
- * describe visuals. Ideally, there would just be one.
- * -# We need the #__GLXvisualConfig type to augment #XVisualInfo and #Visual
- * because we need to describe the GLX-specific attributes of visuals.
- * -# In this interface there is a one-to-one-to-one correspondence between
- * the three types and they're all interconnected.
- * -# The #XVisualInfo type has a pointer to a #Visual. The #Visual structure
- * (aka MiniGLXVisualRec) has a pointer to the #__GLXvisualConfig. The
- * #Visual structure also has a pointer pointing back to the #XVisualInfo.
- * -# The #XVisualInfo structure is the only one who's contents are public.
- * -# The glXChooseVisual() and XGetVisualInfo() are the only functions that
- * return #XVisualInfo structures. They can be freed with XFree(), though
- * there is a small memory leak.
- */
-
-
-#include <assert.h>
-#include <errno.h>
-#include <signal.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <dlfcn.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <sys/ioctl.h>
-#include <sys/mman.h>
-#include <sys/types.h>
-#include <sys/time.h> /* for gettimeofday */
-#include <linux/kd.h>
-#include <linux/vt.h>
-
-#include "miniglxP.h"
-#include "dri_util.h"
-
-#include "imports.h"
-#include "glcontextmodes.h"
-#include "glapi.h"
-
-#include "pciaccess.h"
-
-static GLboolean __glXCreateContextWithConfig(__DRInativeDisplay *dpy,
- int screen, int fbconfigID, void *contextID,
- drm_context_t *hHWContext);
-
-static GLboolean __glXGetDrawableInfo(__DRInativeDisplay *dpy, int scrn,
- __DRIid draw, unsigned int * index, unsigned int * stamp,
- int * x, int * y, int * width, int * height,
- int * numClipRects, drm_clip_rect_t ** pClipRects,
- int * backX, int * backY,
- int * numBackClipRects, drm_clip_rect_t ** pBackClipRects);
-
-static __DRIscreen * __glXFindDRIScreen(__DRInativeDisplay *dpy, int scrn);
-
-static GLboolean __glXWindowExists(__DRInativeDisplay *dpy, __DRIid draw);
-
-static int __glXGetUST( int64_t * ust );
-
-static GLboolean __glXGetMscRate(__DRInativeDisplay * dpy, __DRIid drawable,
- int32_t * numerator, int32_t * denominator);
-
-static GLboolean xf86DRI_DestroyContext(__DRInativeDisplay *dpy, int screen,
- __DRIid context_id );
-
-static GLboolean xf86DRI_CreateDrawable(__DRInativeDisplay *dpy, int screen,
- __DRIid drawable, drm_drawable_t *hHWDrawable );
-
-static GLboolean xf86DRI_DestroyDrawable(__DRInativeDisplay *dpy, int screen,
- __DRIid drawable);
-
-
-/** Wrapper around either malloc() */
-void *
-_mesa_malloc(size_t bytes)
-{
- return malloc(bytes);
-}
-
-/** Wrapper around either calloc() */
-void *
-_mesa_calloc(size_t bytes)
-{
- return calloc(1, bytes);
-}
-
-/** Wrapper around either free() */
-void
-_mesa_free(void *ptr)
-{
- free(ptr);
-}
-
-
-/**
- * \brief Current GLX context.
- *
- * \sa glXGetCurrentContext().
- */
-static GLXContext CurrentContext = NULL;
-
-
-
-static Display *SignalDisplay = 0;
-
-static void SwitchVT(int sig)
-{
- fprintf(stderr, "SwitchVT %d dpy %p\n", sig, SignalDisplay);
-
- if (SignalDisplay) {
- SignalDisplay->vtSignalFlag = 1;
- switch( sig )
- {
- case SIGUSR1: /* vt has been released */
- SignalDisplay->haveVT = 0;
- break;
- case SIGUSR2: /* vt has been acquired */
- SignalDisplay->haveVT = 1;
- break;
- }
- }
-}
-
-/**********************************************************************/
-/** \name Framebuffer device functions */
-/**********************************************************************/
-/*@{*/
-
-/**
- * \brief Do the first part of setting up the framebuffer device.
- *
- * \param dpy the display handle.
- * \param use_vt use a VT for display or not
- *
- * \return GL_TRUE on success, or GL_FALSE on failure.
- *
- * \sa This is called during XOpenDisplay().
- *
- * \internal
- * Gets the VT number, opens the respective console TTY device. Saves its state
- * to restore when exiting and goes into graphics mode.
- *
- * Opens the framebuffer device and make a copy of the original variable screen
- * information and gets the fixed screen information. Maps the framebuffer and
- * MMIO region into the process address space.
- */
-static GLboolean
-OpenFBDev( Display *dpy, int use_vt )
-{
- char ttystr[1000];
- int fd, vtnumber, ttyfd;
-
- assert(dpy);
-
- if (geteuid()) {
- fprintf(stderr, "error: you need to be root\n");
- return GL_FALSE;
- }
-
- if (use_vt) {
-
- /* open /dev/tty0 and get the VT number */
- if ((fd = open("/dev/tty0", O_WRONLY, 0)) < 0) {
- fprintf(stderr, "error opening /dev/tty0\n");
- return GL_FALSE;
- }
- if (ioctl(fd, VT_OPENQRY, &vtnumber) < 0 || vtnumber < 0) {
- fprintf(stderr, "error: couldn't get a free vt\n");
- return GL_FALSE;
- }
-
- fprintf(stderr, "*** got vt nr: %d\n", vtnumber);
- close(fd);
-
- /* open the console tty */
- sprintf(ttystr, "/dev/tty%d", vtnumber); /* /dev/tty1-64 */
- dpy->ConsoleFD = open(ttystr, O_RDWR | O_NDELAY, 0);
- if (dpy->ConsoleFD < 0) {
- fprintf(stderr, "error couldn't open console fd\n");
- return GL_FALSE;
- }
-
- /* save current vt number */
- {
- struct vt_stat vts;
- if (ioctl(dpy->ConsoleFD, VT_GETSTATE, &vts) == 0)
- dpy->OriginalVT = vts.v_active;
- }
-
- /* disconnect from controlling tty */
- ttyfd = open("/dev/tty", O_RDWR);
- if (ttyfd >= 0) {
- ioctl(ttyfd, TIOCNOTTY, 0);
- close(ttyfd);
- }
-
- /* some magic to restore the vt when we exit */
- {
- struct vt_mode vt;
- struct sigaction sig_tty;
-
- /* Set-up tty signal handler to catch the signal we request below */
- SignalDisplay = dpy;
- memset( &sig_tty, 0, sizeof( sig_tty ) );
- sig_tty.sa_handler = SwitchVT;
- sigemptyset( &sig_tty.sa_mask );
- if( sigaction( SIGUSR1, &sig_tty, &dpy->OrigSigUsr1 ) ||
- sigaction( SIGUSR2, &sig_tty, &dpy->OrigSigUsr2 ) )
- {
- fprintf(stderr, "error: can't set up signal handler (%s)",
- strerror(errno) );
- return GL_FALSE;
- }
-
-
-
- vt.mode = VT_PROCESS;
- vt.waitv = 0;
- vt.relsig = SIGUSR1;
- vt.acqsig = SIGUSR2;
- if (ioctl(dpy->ConsoleFD, VT_SETMODE, &vt) < 0) {
- fprintf(stderr, "error: ioctl(VT_SETMODE) failed: %s\n",
- strerror(errno));
- return GL_FALSE;
- }
-
-
- if (ioctl(dpy->ConsoleFD, VT_ACTIVATE, vtnumber) != 0)
- printf("ioctl VT_ACTIVATE: %s\n", strerror(errno));
- if (ioctl(dpy->ConsoleFD, VT_WAITACTIVE, vtnumber) != 0)
- printf("ioctl VT_WAITACTIVE: %s\n", strerror(errno));
-
- if (ioctl(dpy->ConsoleFD, VT_GETMODE, &vt) < 0) {
- fprintf(stderr, "error: ioctl VT_GETMODE: %s\n", strerror(errno));
- return GL_FALSE;
- }
-
-
-
- }
-
- /* go into graphics mode */
- if (ioctl(dpy->ConsoleFD, KDSETMODE, KD_GRAPHICS) < 0) {
- fprintf(stderr, "error: ioctl(KDSETMODE, KD_GRAPHICS) failed: %s\n",
- strerror(errno));
- return GL_FALSE;
- }
- }
-
- /* open the framebuffer device */
- dpy->FrameBufferFD = open(dpy->fbdevDevice, O_RDWR);
- if (dpy->FrameBufferFD < 0) {
- fprintf(stderr, "Error opening /dev/fb0: %s\n", strerror(errno));
- return GL_FALSE;
- }
-
- /* get the original variable screen info */
- if (ioctl(dpy->FrameBufferFD, FBIOGET_VSCREENINFO, &dpy->OrigVarInfo)) {
- fprintf(stderr, "error: ioctl(FBIOGET_VSCREENINFO) failed: %s\n",
- strerror(errno));
- return GL_FALSE;
- }
-
- /* make copy */
- dpy->VarInfo = dpy->OrigVarInfo; /* structure copy */
-
- /* Turn off hw accels (otherwise mmap of mmio region will be
- * refused)
- */
- dpy->VarInfo.accel_flags = 0;
- if (ioctl(dpy->FrameBufferFD, FBIOPUT_VSCREENINFO, &dpy->VarInfo)) {
- fprintf(stderr, "error: ioctl(FBIOPUT_VSCREENINFO) failed: %s\n",
- strerror(errno));
- return GL_FALSE;
- }
-
-
-
- /* Get the fixed screen info */
- if (ioctl(dpy->FrameBufferFD, FBIOGET_FSCREENINFO, &dpy->FixedInfo)) {
- fprintf(stderr, "error: ioctl(FBIOGET_FSCREENINFO) failed: %s\n",
- strerror(errno));
- return GL_FALSE;
- }
-
-
-
- /* mmap the framebuffer into our address space */
- dpy->driverContext.FBStart = dpy->FixedInfo.smem_start;
- dpy->driverContext.FBSize = dpy->FixedInfo.smem_len;
- dpy->driverContext.shared.fbSize = dpy->FixedInfo.smem_len;
- dpy->driverContext.FBAddress = (caddr_t) mmap(0, /* start */
- dpy->driverContext.shared.fbSize, /* bytes */
- PROT_READ | PROT_WRITE, /* prot */
- MAP_SHARED, /* flags */
- dpy->FrameBufferFD, /* fd */
- 0 /* offset */);
- if (dpy->driverContext.FBAddress == (caddr_t) - 1) {
- fprintf(stderr, "error: unable to mmap framebuffer: %s\n",
- strerror(errno));
- return GL_FALSE;
- }
-
- /* mmap the MMIO region into our address space */
- dpy->driverContext.MMIOStart = dpy->FixedInfo.mmio_start;
- dpy->driverContext.MMIOSize = dpy->FixedInfo.mmio_len;
- dpy->driverContext.MMIOAddress = (caddr_t) mmap(0, /* start */
- dpy->driverContext.MMIOSize, /* bytes */
- PROT_READ | PROT_WRITE, /* prot */
- MAP_SHARED, /* flags */
- dpy->FrameBufferFD, /* fd */
- dpy->FixedInfo.smem_len /* offset */);
- if (dpy->driverContext.MMIOAddress == (caddr_t) - 1) {
- fprintf(stderr, "error: unable to mmap mmio region: %s\n",
- strerror(errno));
- return GL_FALSE;
- }
-
- fprintf(stderr, "got MMIOAddress %p offset %d\n",
- dpy->driverContext.MMIOAddress,
- dpy->FixedInfo.smem_len);
-
- return GL_TRUE;
-}
-
-
-
-
-/**
- * \brief Setup up the desired framebuffer device mode.
- *
- * \param dpy the display handle.
- *
- * \return GL_TRUE on success, or GL_FALSE on failure.
- *
- * \sa This is called during __miniglx_StartServer().
- *
- * \internal
- *
- * Bumps the size of the window the the next supported mode. Sets the
- * variable screen information according to the desired mode and asks
- * the driver to validate the mode. Certifies that a DirectColor or
- * TrueColor visual is used from the updated fixed screen information.
- * In the case of DirectColor visuals, sets up an 'identity' colormap to
- * mimic a TrueColor visual.
- *
- * Calls the driver hooks 'ValidateMode' and 'PostValidateMode' to
- * allow the driver to make modifications to the chosen mode according
- * to hardware constraints, or to save and restore videocard registers
- * that may be clobbered by the fbdev driver.
- *
- * \todo Timings are hard-coded in the source for a set of supported modes.
- */
-static GLboolean
-SetupFBDev( Display *dpy )
-{
- int width, height;
-
- assert(dpy);
-
- width = dpy->driverContext.shared.virtualWidth;
- height = dpy->driverContext.shared.virtualHeight;
-
- if (width==832)
- width=800;
-#if 0
- /* Bump size up to next supported mode.
- */
- if (width <= 720 && height <= 480) {
- width = 720; height = 480;
- }
- else if (width <= 960 && height <= 540) {
- width = 960; height = 540;
- }
- else if (width <= 800 && height <= 600) {
- width = 800; height = 600;
- }
- else if (width <= 1024 && height <= 768) {
- width = 1024; height = 768;
- }
- else if (width <= 768 && height <= 1024) {
- width = 768; height = 1024;
- }
- else if (width <= 1280 && height <= 1024) {
- width = 1280; height = 1024;
- }
-#endif
-
- dpy->driverContext.shared.fbStride = width * (dpy->driverContext.bpp / 8);
-
- /* set the depth, resolution, etc */
- dpy->VarInfo = dpy->OrigVarInfo;
- dpy->VarInfo.bits_per_pixel = dpy->driverContext.bpp;
- dpy->VarInfo.xres_virtual = dpy->driverContext.shared.virtualWidth;
- dpy->VarInfo.yres_virtual = dpy->driverContext.shared.virtualHeight;
- dpy->VarInfo.xres = dpy->driverContext.shared.Width;
- dpy->VarInfo.yres = height;
- dpy->VarInfo.xoffset = 0;
- dpy->VarInfo.yoffset = 0;
- dpy->VarInfo.nonstd = 0;
- dpy->VarInfo.vmode &= ~FB_VMODE_YWRAP; /* turn off scrolling */
-
- if (dpy->VarInfo.bits_per_pixel == 32) {
- dpy->VarInfo.red.offset = 16;
- dpy->VarInfo.green.offset = 8;
- dpy->VarInfo.blue.offset = 0;
- dpy->VarInfo.transp.offset = 24;
- dpy->VarInfo.red.length = 8;
- dpy->VarInfo.green.length = 8;
- dpy->VarInfo.blue.length = 8;
- dpy->VarInfo.transp.length = 8;
- }
- else if (dpy->VarInfo.bits_per_pixel == 16) {
- dpy->VarInfo.red.offset = 11;
- dpy->VarInfo.green.offset = 5;
- dpy->VarInfo.blue.offset = 0;
- dpy->VarInfo.red.length = 5;
- dpy->VarInfo.green.length = 6;
- dpy->VarInfo.blue.length = 5;
- dpy->VarInfo.transp.offset = 0;
- dpy->VarInfo.transp.length = 0;
- }
- else {
- fprintf(stderr, "Only 32bpp and 16bpp modes supported at the moment\n");
- return 0;
- }
-
- if (!dpy->driver->validateMode( &dpy->driverContext )) {
- fprintf(stderr, "Driver validateMode() failed\n");
- return 0;
- }
-
- /* These should be calculated with the gtf.c program, and then we could
- remove all this... AlanH. */
- if (dpy->VarInfo.xres == 1280 &&
- dpy->VarInfo.yres == 1024) {
- /* timing values taken from /etc/fb.modes (1280x1024 @ 75Hz) */
- dpy->VarInfo.pixclock = 7408;
- dpy->VarInfo.left_margin = 248;
- dpy->VarInfo.right_margin = 16;
- dpy->VarInfo.upper_margin = 38;
- dpy->VarInfo.lower_margin = 1;
- dpy->VarInfo.hsync_len = 144;
- dpy->VarInfo.vsync_len = 3;
- }
- else if (dpy->VarInfo.xres == 1024 &&
- dpy->VarInfo.yres == 768) {
- /* timing values taken from /etc/fb.modes (1024x768 @ 75Hz) */
- dpy->VarInfo.pixclock = 12699;
- dpy->VarInfo.left_margin = 176;
- dpy->VarInfo.right_margin = 16;
- dpy->VarInfo.upper_margin = 28;
- dpy->VarInfo.lower_margin = 1;
- dpy->VarInfo.hsync_len = 96;
- dpy->VarInfo.vsync_len = 3;
- }
- else if (dpy->VarInfo.xres == 800 &&
- dpy->VarInfo.yres == 600) {
- /* timing values taken from /etc/fb.modes (800x600 @ 75Hz) */
- dpy->VarInfo.pixclock = 27778;
- dpy->VarInfo.left_margin = 128;
- dpy->VarInfo.right_margin = 24;
- dpy->VarInfo.upper_margin = 22;
- dpy->VarInfo.lower_margin = 1;
- dpy->VarInfo.hsync_len = 72;
- dpy->VarInfo.vsync_len = 2;
- }
- else if (dpy->VarInfo.xres == 720 &&
- dpy->VarInfo.yres == 480) {
- dpy->VarInfo.pixclock = 37202;
- dpy->VarInfo.left_margin = 88;
- dpy->VarInfo.right_margin = 16;
- dpy->VarInfo.upper_margin = 14;
- dpy->VarInfo.lower_margin = 1;
- dpy->VarInfo.hsync_len = 72;
- dpy->VarInfo.vsync_len = 3;
- }
- else if (dpy->VarInfo.xres == 960 &&
- dpy->VarInfo.yres == 540) {
- dpy->VarInfo.pixclock = 24273;
- dpy->VarInfo.left_margin = 128;
- dpy->VarInfo.right_margin = 32;
- dpy->VarInfo.upper_margin = 16;
- dpy->VarInfo.lower_margin = 1;
- dpy->VarInfo.hsync_len = 96;
- dpy->VarInfo.vsync_len = 3;
- }
- else if (dpy->VarInfo.xres == 768 &&
- dpy->VarInfo.yres == 1024) {
- /* timing values for 768x1024 @ 75Hz */
- dpy->VarInfo.pixclock = 11993;
- dpy->VarInfo.left_margin = 136;
- dpy->VarInfo.right_margin = 32;
- dpy->VarInfo.upper_margin = 41;
- dpy->VarInfo.lower_margin = 1;
- dpy->VarInfo.hsync_len = 80;
- dpy->VarInfo.vsync_len = 3;
- }
- else {
- /* XXX need timings for other screen sizes */
- fprintf(stderr, "XXXX screen size %d x %d not supported at this time!\n",
- dpy->VarInfo.xres, dpy->VarInfo.yres);
- return GL_FALSE;
- }
-
- fprintf(stderr, "[miniglx] Setting mode: visible %dx%d virtual %dx%dx%d\n",
- dpy->VarInfo.xres, dpy->VarInfo.yres,
- dpy->VarInfo.xres_virtual, dpy->VarInfo.yres_virtual,
- dpy->VarInfo.bits_per_pixel);
-
- /* set variable screen info */
- if (ioctl(dpy->FrameBufferFD, FBIOPUT_VSCREENINFO, &dpy->VarInfo)) {
- fprintf(stderr, "error: ioctl(FBIOPUT_VSCREENINFO) failed: %s\n",
- strerror(errno));
- return GL_FALSE;
- }
-
- /* get the variable screen info, in case it has been modified */
- if (ioctl(dpy->FrameBufferFD, FBIOGET_VSCREENINFO, &dpy->VarInfo)) {
- fprintf(stderr, "error: ioctl(FBIOGET_VSCREENINFO) failed: %s\n",
- strerror(errno));
- return GL_FALSE;
- }
-
-
- fprintf(stderr, "[miniglx] Readback mode: visible %dx%d virtual %dx%dx%d\n",
- dpy->VarInfo.xres, dpy->VarInfo.yres,
- dpy->VarInfo.xres_virtual, dpy->VarInfo.yres_virtual,
- dpy->VarInfo.bits_per_pixel);
-
- /* Get the fixed screen info */
- if (ioctl(dpy->FrameBufferFD, FBIOGET_FSCREENINFO, &dpy->FixedInfo)) {
- fprintf(stderr, "error: ioctl(FBIOGET_FSCREENINFO) failed: %s\n",
- strerror(errno));
- return GL_FALSE;
- }
-
- if (dpy->FixedInfo.visual != FB_VISUAL_TRUECOLOR &&
- dpy->FixedInfo.visual != FB_VISUAL_DIRECTCOLOR) {
- fprintf(stderr, "non-TRUECOLOR visuals not supported.\n");
- return GL_FALSE;
- }
-
- if (dpy->FixedInfo.visual == FB_VISUAL_DIRECTCOLOR) {
- struct fb_cmap cmap;
- unsigned short red[256], green[256], blue[256];
- int rcols = 1 << dpy->VarInfo.red.length;
- int gcols = 1 << dpy->VarInfo.green.length;
- int bcols = 1 << dpy->VarInfo.blue.length;
- int i;
-
- cmap.start = 0;
- cmap.len = gcols;
- cmap.red = red;
- cmap.green = green;
- cmap.blue = blue;
- cmap.transp = NULL;
-
- for (i = 0; i < rcols ; i++)
- red[i] = (65536/(rcols-1)) * i;
-
- for (i = 0; i < gcols ; i++)
- green[i] = (65536/(gcols-1)) * i;
-
- for (i = 0; i < bcols ; i++)
- blue[i] = (65536/(bcols-1)) * i;
-
- if (ioctl(dpy->FrameBufferFD, FBIOPUTCMAP, (void *) &cmap) < 0) {
- fprintf(stderr, "ioctl(FBIOPUTCMAP) failed [%d]\n", i);
- exit(1);
- }
- }
-
- /* May need to restore regs fbdev has clobbered:
- */
- if (!dpy->driver->postValidateMode( &dpy->driverContext )) {
- fprintf(stderr, "Driver postValidateMode() failed\n");
- return 0;
- }
-
- return GL_TRUE;
-}
-
-
-/**
- * \brief Restore the framebuffer device to state it was in before we started
- *
- * Undoes the work done by SetupFBDev().
- *
- * \param dpy the display handle.
- *
- * \return GL_TRUE on success, or GL_FALSE on failure.
- *
- * \sa Called from XDestroyWindow().
- *
- * \internal
- * Restores the original variable screen info.
- */
-static GLboolean
-RestoreFBDev( Display *dpy )
-{
- /* restore original variable screen info */
- if (ioctl(dpy->FrameBufferFD, FBIOPUT_VSCREENINFO, &dpy->OrigVarInfo)) {
- fprintf(stderr, "ioctl(FBIOPUT_VSCREENINFO failed): %s\n",
- strerror(errno));
- return GL_FALSE;
- }
- dpy->VarInfo = dpy->OrigVarInfo;
-
- return GL_TRUE;
-}
-
-
-/**
- * \brief Close the framebuffer device.
- *
- * \param dpy the display handle.
- *
- * \sa Called from XCloseDisplay().
- *
- * \internal
- * Unmaps the framebuffer and MMIO region. Restores the text mode and the
- * original virtual terminal. Closes the console and framebuffer devices.
- */
-static void
-CloseFBDev( Display *dpy )
-{
- struct vt_mode VT;
-
- munmap(dpy->driverContext.FBAddress, dpy->driverContext.FBSize);
- munmap(dpy->driverContext.MMIOAddress, dpy->driverContext.MMIOSize);
-
- if (dpy->ConsoleFD) {
- /* restore text mode */
- ioctl(dpy->ConsoleFD, KDSETMODE, KD_TEXT);
-
- /* set vt */
- if (ioctl(dpy->ConsoleFD, VT_GETMODE, &VT) != -1) {
- VT.mode = VT_AUTO;
- ioctl(dpy->ConsoleFD, VT_SETMODE, &VT);
- }
-
- /* restore original vt */
- if (dpy->OriginalVT >= 0) {
- ioctl(dpy->ConsoleFD, VT_ACTIVATE, dpy->OriginalVT);
- dpy->OriginalVT = -1;
- }
-
- close(dpy->ConsoleFD);
- }
- close(dpy->FrameBufferFD);
-}
-
-/*@}*/
-
-
-/**********************************************************************/
-/** \name Misc functions needed for DRI drivers */
-/**********************************************************************/
-/*@{*/
-
-/**
- * \brief Find the DRI screen dependent methods associated with the display.
- *
- * \param dpy a display handle, as returned by XOpenDisplay().
- * \param scrn the screen number. Not referenced.
- *
- * \returns a pointer to a __DRIscreenRec structure.
- *
- * \internal
- * Returns the MiniGLXDisplayRec::driScreen attribute.
- */
-static __DRIscreen *
-__glXFindDRIScreen(__DRInativeDisplay *dpy, int scrn)
-{
- (void) scrn;
- return &((Display*)dpy)->driScreen;
-}
-
-/**
- * \brief Validate a drawable.
- *
- * \param dpy a display handle, as returned by XOpenDisplay().
- * \param draw drawable to validate.
- *
- * \internal
- * Since Mini GLX only supports one window, compares the specified drawable with
- * the MiniGLXDisplayRec::TheWindow attribute.
- */
-static GLboolean
-__glXWindowExists(__DRInativeDisplay *dpy, __DRIid draw)
-{
- const Display * const display = (Display*)dpy;
- if (display->TheWindow == (Window) draw)
- return True;
- else
- return False;
-}
-
-/**
- * \brief Get current thread ID.
- *
- * \return thread ID.
- *
- * \internal
- * Always returns 0.
- */
-/*unsigned long
-_glthread_GetID(void)
-{
- return 0;
-}*/
-
-/*@}*/
-
-
-/**
- * \brief Scan Linux /prog/bus/pci/devices file to determine hardware
- * chipset based on supplied bus ID.
- *
- * \return probed chipset (non-zero) on success, zero otherwise.
- *
- * \internal
- */
-static int get_chipset_from_busid( Display *dpy )
-{
- char buf[0x200];
- FILE *file;
- const char *fname = "/proc/bus/pci/devices";
- int retval = 0;
-
- if (!(file = fopen(fname,"r"))) {
- fprintf(stderr, "couldn't open %s: %s\n", fname, strerror(errno));
- return 0;
- }
-
- while (fgets(buf, sizeof(buf)-1, file)) {
- unsigned int nr, bus, dev, fn, vendor, device, encode;
- nr = sscanf(buf, "%04x\t%04x%04x", &encode,
- &vendor, &device);
-
- bus = encode >> 8;
- dev = (encode & 0xFF) >> 3;
- fn = encode & 0x7;
-
- if (nr != 3)
- break;
-
- if (bus == dpy->driverContext.pciBus &&
- dev == dpy->driverContext.pciDevice &&
- fn == dpy->driverContext.pciFunc) {
- retval = device;
- break;
- }
- }
-
- fclose(file);
-
- if (retval)
- fprintf(stderr, "[miniglx] probed chipset 0x%x\n", retval);
- else
- fprintf(stderr, "[miniglx] failed to probe chipset\n");
-
- return retval;
-}
-
-
-/**
- * \brief Read settings from a configuration file.
- *
- * The configuration file is usually "/etc/miniglx.conf", but can be overridden
- * with the MINIGLX_CONF environment variable.
- *
- * The format consists in \code option = value \endcode lines. The option names
- * corresponds to the fields in MiniGLXDisplayRec.
- *
- * \param dpy the display handle as.
- *
- * \return non-zero on success, zero otherwise.
- *
- * \internal
- * Sets some defaults. Opens and parses the the Mini GLX configuration file and
- * fills in the MiniGLXDisplayRec field that corresponds for each option.
- */
-static int __read_config_file( Display *dpy )
-{
- FILE *file;
- const char *fname;
-
- /* Fallback/defaults
- */
- dpy->fbdevDevice = "/dev/fb0";
- dpy->clientDriverName = "fb_dri.so";
- dpy->driverContext.pciBus = 0;
- dpy->driverContext.pciDevice = 0;
- dpy->driverContext.pciFunc = 0;
- dpy->driverContext.chipset = 0;
- dpy->driverContext.pciBusID = 0;
- dpy->driverContext.shared.virtualWidth = 1280;
- dpy->driverContext.shared.virtualHeight = 1024;
- dpy->driverContext.bpp = 32;
- dpy->driverContext.cpp = 4;
- dpy->rotateMode = 0;
- dpy->driverContext.agpmode = 1;
- dpy->driverContext.isPCI = 0;
- dpy->driverContext.colorTiling = 0;
-
- fname = getenv("MINIGLX_CONF");
- if (!fname) fname = "/etc/miniglx.conf";
-
- file = fopen(fname, "r");
- if (!file) {
- fprintf(stderr, "couldn't open config file %s: %s\n", fname, strerror(errno));
- return 0;
- }
-
-
- while (!feof(file)) {
- char buf[81], *opt = buf, *val, *tmp1, *tmp2;
- fgets(buf, sizeof(buf), file);
-
- /* Parse 'opt = val' -- must be easier ways to do this.
- */
- while (isspace(*opt)) opt++;
- val = opt;
- if (*val == '#') continue; /* comment */
- while (!isspace(*val) && *val != '=' && *val) val++;
- tmp1 = val;
- while (isspace(*val)) val++;
- if (*val != '=') continue;
- *tmp1 = 0;
- val++;
- while (isspace(*val)) val++;
- tmp2 = val;
- while (!isspace(*tmp2) && *tmp2 != '\n' && *tmp2) tmp2++;
- *tmp2 = 0;
-
-
- if (strcmp(opt, "fbdevDevice") == 0)
- dpy->fbdevDevice = strdup(val);
- else if (strcmp(opt, "clientDriverName") == 0)
- dpy->clientDriverName = strdup(val);
- else if (strcmp(opt, "rotateMode") == 0)
- dpy->rotateMode = atoi(val) ? 1 : 0;
- else if (strcmp(opt, "pciBusID") == 0) {
- if (sscanf(val, "PCI:%d:%d:%d",
- &dpy->driverContext.pciBus,
- &dpy->driverContext.pciDevice,
- &dpy->driverContext.pciFunc) != 3) {
- fprintf(stderr, "malformed bus id: %s\n", val);
- continue;
- }
- dpy->driverContext.pciBusID = strdup(val);
- }
- else if (strcmp(opt, "chipset") == 0) {
- if (sscanf(val, "0x%x", &dpy->driverContext.chipset) != 1)
- fprintf(stderr, "malformed chipset: %s\n", opt);
- }
- else if (strcmp(opt, "virtualWidth") == 0) {
- if (sscanf(val, "%d", &dpy->driverContext.shared.virtualWidth) != 1)
- fprintf(stderr, "malformed virtualWidth: %s\n", opt);
- }
- else if (strcmp(opt, "virtualHeight") == 0) {
- if (sscanf(val, "%d", &dpy->driverContext.shared.virtualHeight) != 1)
- fprintf(stderr, "malformed virutalHeight: %s\n", opt);
- }
- else if (strcmp(opt, "bpp") == 0) {
- if (sscanf(val, "%d", &dpy->driverContext.bpp) != 1)
- fprintf(stderr, "malformed bpp: %s\n", opt);
- dpy->driverContext.cpp = dpy->driverContext.bpp / 8;
- }
- else if (strcmp(opt, "agpmode") == 0) {
- if (sscanf(val, "%d", &dpy->driverContext.agpmode) != 1)
- fprintf(stderr, "malformed agpmode: %s\n", opt);
- }
- else if (strcmp(opt, "isPCI") == 0) {
- dpy->driverContext.isPCI = atoi(val) ? 1 : 0;
- }
- else if (strcmp(opt, "colorTiling") == 0) {
- dpy->driverContext.colorTiling = atoi(val) ? 1 : 0;
- }
- }
-
- fclose(file);
-
- if (dpy->driverContext.chipset == 0 && dpy->driverContext.pciBusID != 0)
- dpy->driverContext.chipset = get_chipset_from_busid( dpy );
-
- return 1;
-}
-
-/**
- * Versioned name of the expected \c __driCreateNewScreen function.
- *
- * The version of the last incompatible loader/driver inteface change is
- * appended to the name of the \c __driCreateNewScreen function. This
- * prevents loaders from trying to load drivers that are too old.
- *
- * \todo
- * Create a macro or something so that this is automatically updated.
- */
-static const char createNewScreenName[] = "__driCreateNewScreen_20050727";
-
-
-static int InitDriver( Display *dpy )
-{
- /*
- * Begin DRI setup.
- * We're kind of combining the per-display and per-screen information
- * which was kept separate in XFree86/DRI's libGL.
- */
- dpy->dlHandle = dlopen(dpy->clientDriverName, RTLD_NOW | RTLD_GLOBAL);
- if (!dpy->dlHandle) {
- fprintf(stderr, "Unable to open %s: %s\n", dpy->clientDriverName,
- dlerror());
- goto failed;
- }
-
- /* Pull in Mini GLX specific hooks:
- */
- dpy->driver = (struct DRIDriverRec *) dlsym(dpy->dlHandle,
- "__driDriver");
- if (!dpy->driver) {
- fprintf(stderr, "Couldn't find __driDriver in %s\n",
- dpy->clientDriverName);
- goto failed;
- }
-
- /* Pull in standard DRI client-side driver hooks:
- */
- dpy->createNewScreen = (PFNCREATENEWSCREENFUNC)
- dlsym(dpy->dlHandle, createNewScreenName);
- if (!dpy->createNewScreen) {
- fprintf(stderr, "Couldn't find %s in %s\n", createNewScreenName,
- dpy->clientDriverName);
- goto failed;
- }
-
- return GL_TRUE;
-
-failed:
- if (dpy->dlHandle) {
- dlclose(dpy->dlHandle);
- dpy->dlHandle = 0;
- }
- return GL_FALSE;
-}
-
-
-/**********************************************************************/
-/** \name Public API functions (Xlib and GLX) */
-/**********************************************************************/
-/*@{*/
-
-
-/**
- * \brief Initialize the graphics system.
- *
- * \param display_name currently ignored. It is recommended to pass it as NULL.
- * \return a pointer to a #Display if the function is able to initialize
- * the graphics system, NULL otherwise.
- *
- * Allocates a MiniGLXDisplayRec structure and fills in with information from a
- * configuration file.
- *
- * Calls OpenFBDev() to open the framebuffer device and calls
- * DRIDriverRec::initFBDev to do the client-side initialization on it.
- *
- * Loads the DRI driver and pulls in Mini GLX specific hooks into a
- * DRIDriverRec structure, and the standard DRI \e __driCreateScreen hook.
- * Asks the driver for a list of supported visuals. Performs the per-screen
- * client-side initialization. Also setups the callbacks in the screen private
- * information.
- *
- * Does the framebuffer device setup. Calls __miniglx_open_connections() to
- * serve clients.
- */
-Display *
-__miniglx_StartServer( const char *display_name )
-{
- Display *dpy;
- int use_vt = 0;
-
- pci_system_init();
-
- dpy = (Display *)calloc(1, sizeof(Display));
- if (!dpy)
- return NULL;
-
- dpy->IsClient = False;
-
- if (!__read_config_file( dpy )) {
- fprintf(stderr, "Couldn't get configuration details\n");
- free(dpy);
- return NULL;
- }
-
- /* Open the fbdev device
- */
- if (!OpenFBDev(dpy, use_vt)) {
- fprintf(stderr, "OpenFBDev failed\n");
- free(dpy);
- return NULL;
- }
-
- if (!InitDriver(dpy)) {
- fprintf(stderr, "InitDriver failed\n");
- free(dpy);
- return NULL;
- }
-
- /* Perform the initialization normally done in the X server
- */
- if (!dpy->driver->initFBDev( &dpy->driverContext )) {
- fprintf(stderr, "%s: __driInitFBDev failed\n", __FUNCTION__);
- dlclose(dpy->dlHandle);
- return GL_FALSE;
- }
-
- /* do fbdev setup
- */
- if (!SetupFBDev(dpy)) {
- fprintf(stderr, "SetupFBDev failed\n");
- free(dpy);
- return NULL;
- }
-
- /* unlock here if not using VT -- JDS */
- if (!use_vt) {
- if (dpy->driver->restoreHardware)
- dpy->driver->restoreHardware( &dpy->driverContext );
- DRM_UNLOCK( dpy->driverContext.drmFD,
- dpy->driverContext.pSAREA,
- dpy->driverContext.serverContext );
- dpy->hwActive = 1;
- }
-
- /* Ready for clients:
- */
- if (!__miniglx_open_connections(dpy)) {
- free(dpy);
- return NULL;
- }
-
- return dpy;
-}
-
-
-/**
- * Implement \c __DRIinterfaceMethods::getProcAddress.
- */
-static __DRIfuncPtr get_proc_address( const char * proc_name )
-{
- (void) proc_name;
- return NULL;
-}
-
-
-/**
- * Table of functions exported by the loader to the driver.
- */
-static const __DRIinterfaceMethods interface_methods = {
- get_proc_address,
-
- _gl_context_modes_create,
- _gl_context_modes_destroy,
-
- __glXFindDRIScreen,
- __glXWindowExists,
-
- __glXCreateContextWithConfig,
- xf86DRI_DestroyContext,
-
- xf86DRI_CreateDrawable,
- xf86DRI_DestroyDrawable,
- __glXGetDrawableInfo,
-
- __glXGetUST,
- __glXGetMscRate,
-};
-
-
-static void *
-CallCreateNewScreen(Display *dpy, int scrn, __DRIscreen *psc)
-{
- void *psp = NULL;
- drm_handle_t hSAREA;
- drmAddress pSAREA;
- const char *BusID;
- int i;
- __DRIversion ddx_version;
- __DRIversion dri_version;
- __DRIversion drm_version;
- __DRIframebuffer framebuffer;
- int fd = -1;
- int status;
- const char * err_msg;
- const char * err_extra;
- drmVersionPtr version;
- drm_handle_t hFB;
- drm_magic_t magic;
-
-
- hSAREA = dpy->driverContext.shared.hSAREA;
- BusID = dpy->driverContext.pciBusID;
-
- fd = drmOpen(NULL, BusID);
-
- err_msg = "open DRM";
- err_extra = strerror( -fd );
-
- if (fd < 0) goto done;
-
- err_msg = "drmGetMagic";
- err_extra = NULL;
-
- if (drmGetMagic(fd, &magic)) goto done;
-
- dpy->authorized = False;
- send_char_msg( dpy, 0, _Authorize );
- send_msg( dpy, 0, &magic, sizeof(magic));
-
- /* force net buffer flush */
- while (!dpy->authorized)
- handle_fd_events( dpy, 0 );
-
- version = drmGetVersion(fd);
- if (version) {
- drm_version.major = version->version_major;
- drm_version.minor = version->version_minor;
- drm_version.patch = version->version_patchlevel;
- drmFreeVersion(version);
- }
- else {
- drm_version.major = -1;
- drm_version.minor = -1;
- drm_version.patch = -1;
- }
-
- /*
- * Get device name (like "tdfx") and the ddx version numbers.
- * We'll check the version in each DRI driver's "createScreen"
- * function.
- */
- ddx_version.major = -1;
- ddx_version.minor = 0;
- ddx_version.patch = 0;
-
- /*
- * Get the DRI X extension version.
- */
- dri_version.major = 4;
- dri_version.minor = 0;
- dri_version.patch = 0;
-
- /*
- * Get device-specific info. pDevPriv will point to a struct
- * (such as DRIRADEONRec in xfree86/driver/ati/radeon_dri.h)
- * that has information about the screen size, depth, pitch,
- * ancilliary buffers, DRM mmap handles, etc.
- */
- hFB = dpy->driverContext.shared.hFrameBuffer;
- framebuffer.size = dpy->driverContext.shared.fbSize;
- framebuffer.stride = dpy->driverContext.shared.fbStride;
- framebuffer.dev_priv_size = dpy->driverContext.driverClientMsgSize;
- framebuffer.dev_priv = dpy->driverContext.driverClientMsg;
- framebuffer.width = dpy->driverContext.shared.virtualWidth;
- framebuffer.height = dpy->driverContext.shared.virtualHeight;
-
- /*
- * Map the framebuffer region.
- */
- status = drmMap(fd, hFB, framebuffer.size,
- (drmAddressPtr)&framebuffer.base);
-
- err_msg = "drmMap of framebuffer";
- err_extra = strerror( -status );
-
- if ( status != 0 ) goto done;
-
- /*
- * Map the SAREA region. Further mmap regions may be setup in
- * each DRI driver's "createScreen" function.
- */
- status = drmMap(fd, hSAREA, SAREA_MAX, &pSAREA);
-
- err_msg = "drmMap of sarea";
- err_extra = strerror( -status );
-
- if ( status == 0 ) {
- err_msg = "InitDriver";
- err_extra = NULL;
- psp = dpy->createNewScreen(dpy, scrn, psc, NULL,
- & ddx_version,
- & dri_version,
- & drm_version,
- & framebuffer,
- pSAREA,
- fd,
- 20050727,
- & interface_methods,
- (__GLcontextModes **) &dpy->driver_modes);
-
- /* fill in dummy visual ids */
- {
- __GLcontextModes *temp;
- temp = (__GLcontextModes *)dpy->driver_modes;
- i = 1;
- while (temp)
- {
- temp->visualID = i++;
- temp=temp->next;
- }
- }
- }
-
-done:
- if ( psp == NULL ) {
- if ( pSAREA != MAP_FAILED ) {
- (void)drmUnmap(pSAREA, SAREA_MAX);
- }
-
- if ( framebuffer.base != MAP_FAILED ) {
- (void)drmUnmap((drmAddress)framebuffer.base, framebuffer.size);
- }
-
- if ( framebuffer.dev_priv != NULL ) {
- free(framebuffer.dev_priv);
- }
-
- if ( fd >= 0 ) {
- (void)drmClose(fd);
- }
-
- if ( err_extra != NULL ) {
- fprintf(stderr, "libGL error: %s failed (%s)\n", err_msg,
- err_extra);
- }
- else {
- fprintf(stderr, "libGL error: %s failed\n", err_msg );
- }
-
- fprintf(stderr, "libGL error: reverting to (slow) indirect rendering\n");
- }
-
- return psp;
-}
-
-/**
- * \brief Initialize the graphics system.
- *
- * \param display_name currently ignored. It is recommended to pass it as NULL.
- * \return a pointer to a #Display if the function is able to initialize
- * the graphics system, NULL otherwise.
- *
- * Allocates a MiniGLXDisplayRec structure and fills in with information from a
- * configuration file.
- *
- * Calls __miniglx_open_connections() to connect to the server.
- *
- * Loads the DRI driver and pulls in Mini GLX specific hooks into a
- * DRIDriverRec structure, and the standard DRI \e __driCreateScreen hook.
- * Asks the driver for a list of supported visuals. Performs the per-screen
- * client-side initialization. Also setups the callbacks in the screen private
- * information.
- *
- * \todo
- * - read config file
- * - what about virtualWidth, etc?
- * - determine dpy->driverClientMsgSize,
- * - allocate dpy->driverClientMsg
- */
-Display *
-XOpenDisplay( const char *display_name )
-{
- Display *dpy;
-
- dpy = (Display *)calloc(1, sizeof(Display));
- if (!dpy)
- return NULL;
-
- dpy->IsClient = True;
-
- /* read config file
- */
- if (!__read_config_file( dpy )) {
- fprintf(stderr, "Couldn't get configuration details\n");
- free(dpy);
- return NULL;
- }
-
- /* Connect to the server and receive driverClientMsg
- */
- if (!__miniglx_open_connections(dpy)) {
- free(dpy);
- return NULL;
- }
-
- /* dlopen the driver .so file
- */
- if (!InitDriver(dpy)) {
- fprintf(stderr, "InitDriver failed\n");
- free(dpy);
- return NULL;
- }
-
- /* Perform the client-side initialization.
- *
- * Clearly there is a limit of one on the number of windows in
- * existence at any time.
- *
- * Need to shut down DRM and free DRI data in XDestroyWindow(), too.
- */
- dpy->driScreen.private = CallCreateNewScreen(dpy, 0, &dpy->driScreen);
- if (!dpy->driScreen.private) {
- fprintf(stderr, "%s: __driCreateScreen failed\n", __FUNCTION__);
- dlclose(dpy->dlHandle);
- free(dpy);
- return NULL;
- }
-
- /* Anything more to do?
- */
- return dpy;
-}
-
-
-/**
- * \brief Release display resources.
- *
- * When the application is about to exit, the resources associated with the
- * graphics system can be released by calling this function.
- *
- * \param dpy display handle. It becomes invalid at this point.
- *
- * Destroys the window if any, and destroys the per-screen
- * driver private information.
- * Calls __miniglx_close_connections().
- *
- * If a server, puts the the framebuffer back into the initial state.
- *
- * Finally frees the display structure.
- */
-void
-XCloseDisplay( Display *dpy )
-{
- glXMakeCurrent( dpy, NULL, NULL);
-
- if (dpy->NumWindows)
- XDestroyWindow( dpy, dpy->TheWindow );
-
- /* As this is done in XOpenDisplay, need to undo it here:
- */
- dpy->driScreen.destroyScreen(dpy, 0, dpy->driScreen.private);
-
- __miniglx_close_connections( dpy );
-
- if (!dpy->IsClient) {
- /* put framebuffer back to initial state
- */
- (*dpy->driver->haltFBDev)( &dpy->driverContext );
- RestoreFBDev(dpy);
- CloseFBDev(dpy);
- }
-
- dlclose(dpy->dlHandle);
- free(dpy);
-}
-
-
-/**
- * \brief Window creation.
- *
- * \param display a display handle, as returned by XOpenDisplay().
- * \param parent the parent window for the new window. For Mini GLX this should
- * be
- * \code RootWindow(display, 0) \endcode
- * \param x the window abscissa. For Mini GLX, it should be zero.
- * \param y the window ordinate. For Mini GLX, it should be zero.
- * \param width the window width. For Mini GLX, this specifies the desired
- * screen width such as 1024 or 1280.
- * \param height the window height. For Mini GLX, this specifies the desired
- * screen height such as 768 or 1024.
- * \param border_width the border width. For Mini GLX, it should be zero.
- * \param depth the window pixel depth. For Mini GLX, this should be the depth
- * found in the #XVisualInfo object returned by glXChooseVisual()
- * \param winclass the window class. For Mini GLX this value should be
- * #InputOutput.
- * \param visual the visual type. It should be the visual field of the
- * #XVisualInfo object returned by glXChooseVisual().
- * \param valuemask which fields of the XSetWindowAttributes() are to be used.
- * For Mini GLX this is typically the bitmask
- * \code CWBackPixel | CWBorderPixel | CWColormap \endcode
- * \param attributes initial window attributes. The
- * XSetWindowAttributes::background_pixel, XSetWindowAttributes::border_pixel
- * and XSetWindowAttributes::colormap fields should be set.
- *
- * \return a window handle if it succeeds or zero if it fails.
- *
- * \note For Mini GLX, windows are full-screen; they cover the entire frame
- * buffer. Also, Mini GLX imposes a limit of one window. A second window
- * cannot be created until the first one is destroyed.
- *
- * This function creates and initializes a ::MiniGLXWindowRec structure after
- * ensuring that there is no other window created. Performs the per-drawable
- * client-side initialization calling the __DRIscreenRec::createDrawable
- * method.
- *
- */
-Window
-XCreateWindow( Display *dpy, Window parent, int x, int y,
- unsigned int width, unsigned int height,
- unsigned int border_width, int depth, unsigned int winclass,
- Visual *visual, unsigned long valuemask,
- XSetWindowAttributes *attributes )
-{
- const int empty_attribute_list[1] = { None };
-
- Window win;
-
- /* ignored */
- (void) x;
- (void) y;
- (void) border_width;
- (void) depth;
- (void) winclass;
- (void) valuemask;
- (void) attributes;
-
- if (!dpy->IsClient) {
- fprintf(stderr, "Server process may not create windows (currently)\n");
- return NULL;
- }
-
- if (dpy->NumWindows > 0)
- return NULL; /* only allow one window */
-
- assert(dpy->TheWindow == NULL);
-
- win = malloc(sizeof(struct MiniGLXWindowRec));
- if (!win)
- return NULL;
-
- /* In rotated mode, translate incoming x,y,width,height into
- * 'normal' coordinates.
- */
- if (dpy->rotateMode) {
- int tmp;
- tmp = width; width = height; height = tmp;
- tmp = x; x = y; y = tmp;
- }
-
- /* init other per-window fields */
- win->x = x;
- win->y = y;
- win->w = width;
- win->h = height;
- win->visual = visual; /* ptr assignment */
-
- win->bytesPerPixel = dpy->driverContext.cpp;
- win->rowStride = dpy->driverContext.shared.virtualWidth * win->bytesPerPixel;
- win->size = win->rowStride * height;
- win->frontStart = dpy->driverContext.FBAddress + (win->rowStride * win->x) + (win->y * win->bytesPerPixel);
- win->frontBottom = (GLubyte *) win->frontStart + (height-1) * win->rowStride;
-
- /* This is incorrect: the hardware driver could put the backbuffer
- * just about anywhere. These fields, including the above are
- * hardware dependent & don't really belong here.
- */
- if (visual->mode->doubleBufferMode) {
- win->backStart = (GLubyte *) win->frontStart +
- win->rowStride * dpy->driverContext.shared.virtualHeight;
- win->backBottom = (GLubyte *) win->backStart
- + (height - 1) * win->rowStride;
- win->curBottom = win->backBottom;
- }
- else {
- /* single buffered */
- win->backStart = NULL;
- win->backBottom = NULL;
- win->curBottom = win->frontBottom;
- }
-
- dpy->driScreen.createNewDrawable(dpy, visual->mode, (int) win,
- &win->driDrawable, GLX_WINDOW_BIT, empty_attribute_list);
-
- if (!win->driDrawable.private) {
- fprintf(stderr, "%s: dri.createDrawable failed\n", __FUNCTION__);
- free(win);
- return NULL;
- }
-
- dpy->NumWindows++;
- dpy->TheWindow = win;
-
- return win;
-}
-
-
-/**
- * \brief Destroy window.
- *
- * \param display display handle.
- * \param w window handle.
- *
- * This function calls XUnmapWindow() and frees window \p w.
- *
- * In case of destroying the current buffer first unbinds the GLX context
- * by calling glXMakeCurrent() with no drawable.
- */
-void
-XDestroyWindow( Display *display, Window win )
-{
- if (display && display->IsClient && win) {
- /* check if destroying the current buffer */
- Window curDraw = glXGetCurrentDrawable();
- if (win == curDraw) {
- glXMakeCurrent( display, NULL, NULL);
- }
-
- XUnmapWindow( display, win );
-
- /* Destroy the drawable. */
- win->driDrawable.destroyDrawable(display, win->driDrawable.private);
- free(win);
-
- /* unlink window from display */
- display->NumWindows--;
- assert(display->NumWindows == 0);
- display->TheWindow = NULL;
- }
-}
-
-
-
-
-/**
- * \brief Create color map structure.
- *
- * \param dpy the display handle as returned by XOpenDisplay().
- * \param w the window on whose screen you want to create a color map. This
- * parameter is ignored by Mini GLX but should be the value returned by the
- * \code RootWindow(display, 0) \endcode macro.
- * \param visual a visual type supported on the screen. This parameter is
- * ignored by Mini GLX but should be the XVisualInfo::visual returned by
- * glXChooseVisual().
- * \param alloc the color map entries to be allocated. This parameter is ignored
- * by Mini GLX but should be set to #AllocNone.
- *
- * \return the color map.
- *
- * This function is only provided to ease porting. Practically a no-op -
- * returns a pointer to a dynamically allocated chunk of memory (one byte).
- */
-Colormap
-XCreateColormap( Display *dpy, Window w, Visual *visual, int alloc )
-{
- (void) dpy;
- (void) w;
- (void) visual;
- (void) alloc;
- return (Colormap) malloc(1);
-}
-
-
-/**
- * \brief Destroy color map structure.
- *
- * \param display The display handle as returned by XOpenDisplay().
- * \param colormap the color map to destroy.
- *
- * This function is only provided to ease porting. Practically a no-op.
- *
- * Frees the memory pointed by \p colormap.
- */
-void
-XFreeColormap( Display *display, Colormap colormap )
-{
- (void) display;
- (void) colormap;
- free(colormap);
-}
-
-
-/**
- * \brief Free client data.
- *
- * \param data the data that is to be freed.
- *
- * Frees the memory pointed by \p data.
- */
-void
-XFree( void *data )
-{
- free(data);
-}
-
-
-/**
- * \brief Query available visuals.
- *
- * \param dpy the display handle, as returned by XOpenDisplay().
- * \param vinfo_mask a bitmask indicating which fields of the \p vinfo_template
- * are to be matched. The value must be \c VisualScreenMask.
- * \param vinfo_template a template whose fields indicate which visual
- * attributes must be matched by the results. The XVisualInfo::screen field of
- * this structure must be zero.
- * \param nitens_return will hold the number of visuals returned.
- *
- * \return the address of an array of all available visuals.
- *
- * An example of using XGetVisualInfo() to get all available visuals follows:
- *
- * \code
- * XVisualInfo vinfo_template, *results;
- * int nitens_return;
- * Display *dpy = XOpenDisplay(NULL);
- * vinfo_template.screen = 0;
- * results = XGetVisualInfo(dpy, VisualScreenMask, &vinfo_template, &nitens_return);
- * \endcode
- *
- * Returns the list of all ::XVisualInfo available, one per
- * ::__GLcontextMode stored in MiniGLXDisplayRec::modes.
- */
-XVisualInfo *
-XGetVisualInfo( Display *dpy, long vinfo_mask, XVisualInfo *vinfo_template, int *nitens_return )
-{
- const __GLcontextModes *mode;
- XVisualInfo *results;
- Visual *visResults;
- int i, n=0;
-
- // ASSERT(vinfo_mask == VisualScreenMask);
- ASSERT(vinfo_template.screen == 0);
-
- if (vinfo_mask == VisualIDMask)
- {
- for ( mode = dpy->driver_modes ; mode != NULL ; mode= mode->next )
- if (mode->visualID == vinfo_template->visualid)
- n=1;
-
- if (n==0)
- return NULL;
-
- results = (XVisualInfo *)calloc(1, n * sizeof(XVisualInfo));
- if (!results) {
- *nitens_return = 0;
- return NULL;
- }
-
- visResults = (Visual *)calloc(1, n * sizeof(Visual));
- if (!results) {
- free(results);
- *nitens_return = 0;
- return NULL;
- }
-
- for ( mode = dpy->driver_modes ; mode != NULL ; mode= mode->next )
- if (mode->visualID == vinfo_template->visualid)
- {
- visResults[0].mode=mode;
- visResults[0].visInfo = results;
- visResults[0].dpy = dpy;
- if (dpy->driverContext.bpp == 32)
- visResults[0].pixelFormat = PF_B8G8R8A8; /* XXX: FIX ME */
- else
- visResults[0].pixelFormat = PF_B5G6R5; /* XXX: FIX ME */
-
- results[0].visual = visResults;
- results[0].visualid = mode->visualID;
-#if defined(__cplusplus) || defined(c_plusplus)
- results[0].c_class = TrueColor;
-#else
- results[0].class = TrueColor;
-#endif
- results[0].depth = mode->redBits +
- mode->redBits +
- mode->redBits +
- mode->redBits;
- results[0].bits_per_rgb = dpy->driverContext.bpp;
-
- }
-
- }
- else // if (vinfo_mask == VisualScreenMask)
- {
- n = 0;
- for ( mode = dpy->driver_modes ; mode != NULL ; mode = mode->next )
- n++;
-
- results = (XVisualInfo *)calloc(1, n * sizeof(XVisualInfo));
- if (!results) {
- *nitens_return = 0;
- return NULL;
- }
-
- visResults = (Visual *)calloc(1, n * sizeof(Visual));
- if (!results) {
- free(results);
- *nitens_return = 0;
- return NULL;
- }
-
- for ( mode = dpy->driver_modes, i = 0 ; mode != NULL ; mode = mode->next, i++ ) {
- visResults[i].mode = mode;
- visResults[i].visInfo = results + i;
- visResults[i].dpy = dpy;
-
- if (dpy->driverContext.bpp == 32)
- visResults[i].pixelFormat = PF_B8G8R8A8; /* XXX: FIX ME */
- else
- visResults[i].pixelFormat = PF_B5G6R5; /* XXX: FIX ME */
-
- results[i].visual = visResults + i;
- results[i].visualid = mode->visualID;
-#if defined(__cplusplus) || defined(c_plusplus)
- results[i].c_class = TrueColor;
-#else
- results[i].class = TrueColor;
-#endif
- results[i].depth = mode->redBits +
- mode->redBits +
- mode->redBits +
- mode->redBits;
- results[i].bits_per_rgb = dpy->driverContext.bpp;
- }
- }
- *nitens_return = n;
- return results;
-}
-
-
-/**
- * \brief Return a visual that matches specified attributes.
- *
- * \param dpy the display handle, as returned by XOpenDisplay().
- * \param screen the screen number. It is currently ignored by Mini GLX and
- * should be zero.
- * \param attribList a list of GLX attributes which describe the desired pixel
- * format. It is terminated by the token \c None.
- *
- * The attributes are as follows:
- * \arg GLX_USE_GL:
- * This attribute should always be present in order to maintain compatibility
- * with GLX.
- * \arg GLX_RGBA:
- * If present, only RGBA pixel formats will be considered. Otherwise, only
- * color index formats are considered.
- * \arg GLX_DOUBLEBUFFER:
- * if present, only double-buffered pixel formats will be chosen.
- * \arg GLX_RED_SIZE \e n:
- * Must be followed by a non-negative integer indicating the minimum number of
- * bits per red pixel component that is acceptable.
- * \arg GLX_GREEN_SIZE \e n:
- * Must be followed by a non-negative integer indicating the minimum number of
- * bits per green pixel component that is acceptable.
- * \arg GLX_BLUE_SIZE \e n:
- * Must be followed by a non-negative integer indicating the minimum number of
- * bits per blue pixel component that is acceptable.
- * \arg GLX_ALPHA_SIZE \e n:
- * Must be followed by a non-negative integer indicating the minimum number of
- * bits per alpha pixel component that is acceptable.
- * \arg GLX_STENCIL_SIZE \e n:
- * Must be followed by a non-negative integer indicating the minimum number of
- * bits per stencil value that is acceptable.
- * \arg GLX_DEPTH_SIZE \e n:
- * Must be followed by a non-negative integer indicating the minimum number of
- * bits per depth component that is acceptable.
- * \arg None:
- * This token is used to terminate the attribute list.
- *
- * \return a pointer to an #XVisualInfo object which most closely matches the
- * requirements of the attribute list. If there is no visual which matches the
- * request, \c NULL will be returned.
- *
- * \note Visuals with accumulation buffers are not available.
- *
- * This function searches the list of available visual configurations in
- * MiniGLXDisplayRec::configs for a configuration which best matches the GLX
- * attribute list parameter. A new ::XVisualInfo object is created which
- * describes the visual configuration. The match criteria is described in the
- * specification.
- */
-XVisualInfo*
-glXChooseVisual( Display *dpy, int screen, int *attribList )
-{
- const __GLcontextModes *mode;
- Visual *vis;
- XVisualInfo *visInfo;
- const int *attrib;
- GLboolean rgbFlag = GL_FALSE, dbFlag = GL_FALSE, stereoFlag = GL_FALSE;
- GLint redBits = 0, greenBits = 0, blueBits = 0, alphaBits = 0;
- GLint indexBits = 0, depthBits = 0, stencilBits = 0;
- GLint numSamples = 0;
- int i=0;
-
- /*
- * XXX in the future, <screen> might be interpreted as a VT
- */
- ASSERT(dpy);
- ASSERT(screen == 0);
-
- vis = (Visual *)calloc(1, sizeof(Visual));
- if (!vis)
- return NULL;
-
- visInfo = (XVisualInfo *)malloc(sizeof(XVisualInfo));
- if (!visInfo) {
- free(vis);
- return NULL;
- }
-
- visInfo->visual = vis;
- vis->visInfo = visInfo;
- vis->dpy = dpy;
-
- /* parse the attribute list */
- for (attrib = attribList; attrib && *attrib != None; attrib++) {
- switch (attrib[0]) {
- case GLX_DOUBLEBUFFER:
- dbFlag = GL_TRUE;
- break;
- case GLX_RGBA:
- rgbFlag = GL_TRUE;
- break;
- case GLX_RED_SIZE:
- redBits = attrib[1];
- attrib++;
- break;
- case GLX_GREEN_SIZE:
- greenBits = attrib[1];
- attrib++;
- break;
- case GLX_BLUE_SIZE:
- blueBits = attrib[1];
- attrib++;
- break;
- case GLX_ALPHA_SIZE:
- alphaBits = attrib[1];
- attrib++;
- break;
- case GLX_STENCIL_SIZE:
- stencilBits = attrib[1];
- attrib++;
- break;
- case GLX_DEPTH_SIZE:
- depthBits = attrib[1];
- attrib++;
- break;
-#if 0
- case GLX_ACCUM_RED_SIZE:
- accumRedBits = attrib[1];
- attrib++;
- break;
- case GLX_ACCUM_GREEN_SIZE:
- accumGreenBits = attrib[1];
- attrib++;
- break;
- case GLX_ACCUM_BLUE_SIZE:
- accumBlueBits = attrib[1];
- attrib++;
- break;
- case GLX_ACCUM_ALPHA_SIZE:
- accumAlphaBits = attrib[1];
- attrib++;
- break;
- case GLX_LEVEL:
- /* ignored for now */
- break;
-#endif
- default:
- /* unexpected token */
- fprintf(stderr, "unexpected token in glXChooseVisual attrib list\n");
- free(vis);
- free(visInfo);
- return NULL;
- }
- }
-
- /* search screen configs for suitable visual */
- (void) numSamples;
- (void) indexBits;
- (void) redBits;
- (void) greenBits;
- (void) blueBits;
- (void) alphaBits;
- (void) stereoFlag;
- for ( mode = dpy->driver_modes ; mode != NULL ; mode = mode->next ) {
- i++;
- if (mode->rgbMode == rgbFlag &&
- mode->doubleBufferMode == dbFlag &&
- mode->redBits >= redBits &&
- mode->greenBits >= greenBits &&
- mode->blueBits >= blueBits &&
- mode->alphaBits >= alphaBits &&
- mode->depthBits >= depthBits &&
- mode->stencilBits >= stencilBits) {
- /* found it */
- visInfo->visualid = i;
- vis->mode = mode;
- break;
- }
- }
- if (!vis->mode)
- return NULL;
-
- /* compute depth and bpp */
- if (rgbFlag) {
- /* XXX maybe support depth 16 someday */
-#if defined(__cplusplus) || defined(c_plusplus)
- visInfo->c_class = TrueColor;
-#else
- visInfo->class = TrueColor;
-#endif
- visInfo->depth = dpy->driverContext.bpp;
- visInfo->bits_per_rgb = dpy->driverContext.bpp;
- if (dpy->driverContext.bpp == 32)
- vis->pixelFormat = PF_B8G8R8A8;
- else
- vis->pixelFormat = PF_B5G6R5;
- }
- else {
- /* color index mode */
-#if defined(__cplusplus) || defined(c_plusplus)
- visInfo->c_class = PseudoColor;
-#else
- visInfo->class = PseudoColor;
-#endif
- visInfo->depth = 8;
- visInfo->bits_per_rgb = 8; /* bits/pixel */
- vis->pixelFormat = PF_CI8;
- }
-
- return visInfo;
-}
-
-
-/**
- * \brief Return information about GLX visuals.
- *
- * \param dpy the display handle, as returned by XOpenDisplay().
- * \param vis the visual to be queried, as returned by glXChooseVisual().
- * \param attrib the visual attribute to be returned.
- * \param value pointer to an integer in which the result of the query will be
- * stored.
- *
- * \return zero if no error occurs, \c GLX_INVALID_ATTRIBUTE if the attribute
- * parameter is invalid, or \c GLX_BAD_VISUAL if the \p vis parameter is
- * invalid.
- *
- * Returns the appropriate attribute of ::__GLXvisualConfig pointed by
- * MiniGLXVisualRec::glxConfig of XVisualInfo::visual.
- *
- * \sa data types.
- */
-int
-glXGetConfig( Display *dpy, XVisualInfo *vis, int attrib, int *value )
-{
- const __GLcontextModes *mode = vis->visual->mode;
- if (!mode) {
- *value = 0;
- return GLX_BAD_VISUAL;
- }
-
- switch (attrib) {
- case GLX_USE_GL:
- *value = True;
- return 0;
- case GLX_RGBA:
- *value = mode->rgbMode;
- return 0;
- case GLX_DOUBLEBUFFER:
- *value = mode->doubleBufferMode;
- return 0;
- case GLX_RED_SIZE:
- *value = mode->redBits;
- return 0;
- case GLX_GREEN_SIZE:
- *value = mode->greenBits;
- return 0;
- case GLX_BLUE_SIZE:
- *value = mode->blueBits;
- return 0;
- case GLX_ALPHA_SIZE:
- *value = mode->alphaBits;
- return 0;
- case GLX_DEPTH_SIZE:
- *value = mode->depthBits;
- return 0;
- case GLX_STENCIL_SIZE:
- *value = mode->stencilBits;
- return 0;
- default:
- *value = 0;
- return GLX_BAD_ATTRIBUTE;
- }
- return 0;
-}
-
-
-/**
- * \brief Create a new GLX rendering context.
- *
- * \param dpy the display handle, as returned by XOpenDisplay().
- * \param vis the visual that defines the frame buffer resources available to
- * the rendering context, as returned by glXChooseVisual().
- * \param shareList If non-zero, texture objects and display lists are shared
- * with the named rendering context. If zero, texture objects and display lists
- * will (initially) be private to this context. They may be shared when a
- * subsequent context is created.
- * \param direct whether direct or indirect rendering is desired. For Mini GLX
- * this value is ignored but it should be set to \c True.
- *
- * \return a ::GLXContext handle if it succeeds or zero if it fails due to
- * invalid parameter or insufficient resources.
- *
- * This function creates and initializes a ::MiniGLXContextRec structure and
- * calls the __DRIscreenRec::createContext method to initialize the client
- * private data.
- */
-GLXContext
-glXCreateContext( Display *dpy, XVisualInfo *vis,
- GLXContext shareList, Bool direct )
-{
- GLXContext ctx;
- void *sharePriv;
-
- ASSERT(vis);
-
- ctx = (struct MiniGLXContextRec *)calloc(1, sizeof(struct MiniGLXContextRec));
- if (!ctx)
- return NULL;
-
- ctx->vid = vis->visualid;
-
- if (shareList)
- sharePriv = shareList->driContext.private;
- else
- sharePriv = NULL;
-
- ctx->driContext.mode = vis->visual->mode;
- ctx->driContext.private = dpy->driScreen.createNewContext(dpy, vis->visual->mode,
- GLX_WINDOW_BIT, sharePriv, &ctx->driContext);
-
- if (!ctx->driContext.private) {
- free(ctx);
- return NULL;
- }
-
- return ctx;
-}
-
-
-/**
- * \brief Destroy a GLX context.
- *
- * \param dpy the display handle, as returned by XOpenDisplay().
- * \param ctx the GLX context to be destroyed.
- *
- * This function frees the \p ctx parameter after unbinding the current context
- * by calling the __DRIcontextRec::bindContext method with zeros and calling
- * the __DRIcontextRec::destroyContext method.
- */
-void
-glXDestroyContext( Display *dpy, GLXContext ctx )
-{
- GLXContext glxctx = glXGetCurrentContext();
-
- if (ctx) {
- if (glxctx == ctx) {
- /* destroying current context */
- ctx->driContext.bindContext(dpy, 0, 0, 0, 0);
- CurrentContext = 0;
- }
- ctx->driContext.destroyContext(dpy, 0, ctx->driContext.private);
- free(ctx);
- }
-}
-
-
-/**
- * \brief Bind a GLX context to a window or a pixmap.
- *
- * \param dpy the display handle, as returned by XOpenDisplay().
- * \param drawable the window or drawable to bind to the rendering context.
- * This should be the value returned by XCreateWindow().
- * \param ctx the GLX context to be destroyed.
- *
- * \return \c True if it succeeds, \c False otherwise to indicate an invalid
- * display, window or context parameter.
- *
- * The current rendering context may be unbound by calling glXMakeCurrent()
- * with the window and context parameters set to zero.
- *
- * An application may create any number of rendering contexts and bind them as
- * needed. Note that binding a rendering context is generally not a
- * light-weight operation. Most simple OpenGL applications create only one
- * rendering context.
- *
- * This function first unbinds any old context via
- * __DRIcontextRec::unbindContext and binds the new one via
- * __DRIcontextRec::bindContext.
- *
- * If \p drawable is zero it unbinds the GLX context by calling
- * __DRIcontextRec::bindContext with zeros.
- */
-Bool
-glXMakeCurrent( Display *dpy, GLXDrawable drawable, GLXContext ctx)
-{
- if (dpy && drawable && ctx) {
- GLXContext oldContext = glXGetCurrentContext();
- GLXDrawable oldDrawable = glXGetCurrentDrawable();
- /* unbind old */
- if (oldContext) {
- oldContext->driContext.unbindContext(dpy, 0,
- (__DRIid) oldDrawable, (__DRIid) oldDrawable,
- &oldContext->driContext);
- }
- /* bind new */
- CurrentContext = ctx;
- ctx->driContext.bindContext(dpy, 0, (__DRIid) drawable,
- (__DRIid) drawable, &ctx->driContext);
- ctx->drawBuffer = drawable;
- ctx->curBuffer = drawable;
- }
- else if (ctx && dpy) {
- /* unbind */
- ctx->driContext.bindContext(dpy, 0, 0, 0, 0);
- }
- else if (dpy) {
- CurrentContext = 0; /* kw: this seems to be intended??? */
- }
-
- return True;
-}
-
-
-/**
- * \brief Exchange front and back buffers.
- *
- * \param dpy the display handle, as returned by XOpenDisplay().
- * \param drawable the drawable whose buffers are to be swapped.
- *
- * Any pending rendering commands will be completed before the buffer swap
- * takes place.
- *
- * Calling glXSwapBuffers() on a window which is single-buffered has no effect.
- *
- * This function just calls the __DRIdrawableRec::swapBuffers method to do the
- * work.
- */
-void
-glXSwapBuffers( Display *dpy, GLXDrawable drawable )
-{
- if (!dpy || !drawable)
- return;
-
- drawable->driDrawable.swapBuffers(dpy, drawable->driDrawable.private);
-}
-
-
-/**
- * \brief Return the current context
- *
- * \return the current context, as specified by glXMakeCurrent(), or zero if no
- * context is currently bound.
- *
- * \sa glXCreateContext(), glXMakeCurrent()
- *
- * Returns the value of the ::CurrentContext global variable.
- */
-GLXContext
-glXGetCurrentContext( void )
-{
- return CurrentContext;
-}
-
-
-/**
- * \brief Return the current drawable.
- *
- * \return the current drawable, as specified by glXMakeCurrent(), or zero if
- * no drawable is currently bound.
- *
- * This function gets the current context via glXGetCurrentContext() and
- * returns the MiniGLXContextRec::drawBuffer attribute.
- */
-GLXDrawable
-glXGetCurrentDrawable( void )
-{
- GLXContext glxctx = glXGetCurrentContext();
- if (glxctx)
- return glxctx->drawBuffer;
- else
- return NULL;
-}
-
-
-static GLboolean
-__glXCreateContextWithConfig(__DRInativeDisplay *dpy, int screen,
- int fbconfigID, void *contextID, drm_context_t *hHWContext)
-{
- __DRIscreen *pDRIScreen;
- __DRIscreenPrivate *psp;
-
- pDRIScreen = __glXFindDRIScreen(dpy, screen);
- if ( (pDRIScreen == NULL) || (pDRIScreen->private == NULL) ) {
- return GL_FALSE;
- }
-
- psp = (__DRIscreenPrivate *) pDRIScreen->private;
-
- if (psp->fd) {
- if (drmCreateContext(psp->fd, hHWContext)) {
- fprintf(stderr, ">>> drmCreateContext failed\n");
- return GL_FALSE;
- }
- *(void**)contextID = (void*) *hHWContext;
- }
-
- return GL_TRUE;
-}
-
-
-static GLboolean
-__glXGetDrawableInfo(__DRInativeDisplay *dpy, int scrn,
- __DRIid draw, unsigned int * index, unsigned int * stamp,
- int * x, int * y, int * width, int * height,
- int * numClipRects, drm_clip_rect_t ** pClipRects,
- int * backX, int * backY,
- int * numBackClipRects, drm_clip_rect_t ** pBackClipRects)
-{
- GLXDrawable drawable = (GLXDrawable) draw;
- drm_clip_rect_t * cliprect;
- Display* display = (Display*)dpy;
- __DRIscreenPrivate *psp = display->driScreen.private;
- __DRIcontextPrivate *pcp = (__DRIcontextPrivate *)CurrentContext->driContext.private;
- __DRIdrawablePrivate *pdp = pcp->driDrawablePriv;
- if (drawable == 0) {
- return GL_FALSE;
- }
-
- cliprect = (drm_clip_rect_t*) _mesa_malloc(sizeof(drm_clip_rect_t));
- cliprect->x1 = drawable->x;
- cliprect->y1 = drawable->y;
- cliprect->x2 = drawable->x + drawable->w;
- cliprect->y2 = drawable->y + drawable->h;
-
- /* the drawable index is by client id */
- *index = display->clientID;
-
- *stamp = pcp->driScreenPriv->pSAREA->drawableTable[display->clientID].stamp;
- drmUpdateDrawableInfo(psp->fd, pdp->hHWDrawable, DRM_DRAWABLE_CLIPRECTS, 1, cliprect);
- *x = drawable->x;
- *y = drawable->y;
- *width = drawable->w;
- *height = drawable->h;
- *numClipRects = 1;
- *pClipRects = cliprect;
-
- *backX = drawable->x;
- *backY = drawable->y;
- *numBackClipRects = 0;
- *pBackClipRects = 0;
-
- return GL_TRUE;
-}
-
-
-static GLboolean
-xf86DRI_DestroyContext(__DRInativeDisplay *dpy, int screen, __DRIid context_id )
-{
- return GL_TRUE;
-}
-
-
-static GLboolean
-xf86DRI_CreateDrawable(__DRInativeDisplay *dpy, int screen, __DRIid drawable,
- drm_drawable_t *hHWDrawable )
-{
-
- Display *display = (Display *)dpy;
- __DRIscreenPrivate *psp = display->driScreen.private;
- int ret;
- ret = drmCreateDrawable(psp->fd, hHWDrawable);
-
- fprintf(stderr, "drawable is %d %08X ret is %d\n", *hHWDrawable, drawable, -ret);
- if (ret != 0)
- return GL_FALSE;
- return GL_TRUE;
-}
-
-
-static GLboolean
-xf86DRI_DestroyDrawable(__DRInativeDisplay *dpy, int screen, __DRIid drawable)
-{
- return GL_TRUE;
-}
-
-
-/**
- * \brief Query function address.
- *
- * The glXGetProcAddress() function will return the address of any available
- * OpenGL or Mini GLX function.
- *
- * \param procName name of the function to be returned.
- *
- * \return If \p procName is a valid function name, a pointer to that function
- * will be returned. Otherwise, \c NULL will be returned.
- *
- * The purpose of glXGetProcAddress() is to facilitate using future extensions
- * to OpenGL or Mini GLX. If a future version of the library adds new extension
- * functions they'll be accessible via glXGetProcAddress(). The alternative is
- * to hard-code calls to the new functions in the application but doing so will
- * prevent linking the application with older versions of the library.
- *
- * Returns the function address by looking up its name in a static (name,
- * address) pair list.
- */
-void (*glXGetProcAddress(const GLubyte *procname))( void )
-{
- struct name_address {
- const char *name;
- const void *func;
- };
- static const struct name_address functions[] = {
- { "glXChooseVisual", (void *) glXChooseVisual },
- { "glXCreateContext", (void *) glXCreateContext },
- { "glXDestroyContext", (void *) glXDestroyContext },
- { "glXMakeCurrent", (void *) glXMakeCurrent },
- { "glXSwapBuffers", (void *) glXSwapBuffers },
- { "glXGetCurrentContext", (void *) glXGetCurrentContext },
- { "glXGetCurrentDrawable", (void *) glXGetCurrentDrawable },
- { "glXGetProcAddress", (void *) glXGetProcAddress },
- { "XOpenDisplay", (void *) XOpenDisplay },
- { "XCloseDisplay", (void *) XCloseDisplay },
- { "XCreateWindow", (void *) XCreateWindow },
- { "XDestroyWindow", (void *) XDestroyWindow },
- { "XMapWindow", (void *) XMapWindow },
- { "XCreateColormap", (void *) XCreateColormap },
- { "XFreeColormap", (void *) XFreeColormap },
- { "XFree", (void *) XFree },
- { "XGetVisualinfo", (void *) XGetVisualInfo },
- { "glXCreatePbuffer", (void *) glXCreatePbuffer },
- { "glXDestroyPbuffer", (void *) glXDestroyPbuffer },
- { "glXChooseFBConfig", (void *) glXChooseFBConfig },
- { "glXGetVisualFromFBConfig", (void *) glXGetVisualFromFBConfig },
- { NULL, NULL }
- };
- const struct name_address *entry;
- for (entry = functions; entry->name; entry++) {
- if (strcmp(entry->name, (const char *) procname) == 0) {
- return entry->func;
- }
- }
- return _glapi_get_proc_address((const char *) procname);
-}
-
-void (*glXGetProcAddressARB(const GLubyte *procName))( void ) __attribute__ ((alias ("glXGetProcAddress")));
-
-/**
- * \brief Query the Mini GLX version.
- *
- * \param dpy the display handle. It is currently ignored, but should be the
- * value returned by XOpenDisplay().
- * \param major receives the major version number of Mini GLX.
- * \param minor receives the minor version number of Mini GLX.
- *
- * \return \c True if the function succeeds, \c False if the function fails due
- * to invalid parameters.
- *
- * \sa #MINI_GLX_VERSION_1_0.
- *
- * Returns the hard-coded Mini GLX version.
- */
-Bool
-glXQueryVersion( Display *dpy, int *major, int *minor )
-{
- (void) dpy;
- *major = 1;
- *minor = 0;
- return True;
-}
-
-
-/**
- * \brief Create a new pbuffer.
- */
-GLXPbuffer
-glXCreatePbuffer( Display *dpy, GLXFBConfig config, const int *attribList )
-{
- return NULL;
-}
-
-
-void
-glXDestroyPbuffer( Display *dpy, GLXPbuffer pbuf )
-{
- free(pbuf);
-}
-
-
-GLXFBConfig *
-glXChooseFBConfig( Display *dpy, int screen, const int *attribList,
- int *nitems )
-{
- GLXFBConfig *f = (GLXFBConfig *) malloc(sizeof(GLXFBConfig));
- f->visInfo = glXChooseVisual( dpy, screen, (int *) attribList );
- if (f->visInfo) {
- *nitems = 1;
- return f;
- }
- else {
- *nitems = 0;
- free(f);
- return NULL;
- }
-}
-
-
-XVisualInfo *
-glXGetVisualFromFBConfig( Display *dpy, GLXFBConfig config )
-{
- /* XVisualInfo and GLXFBConfig are the same structure */
- (void) dpy;
- return config.visInfo;
-}
-
-void *glXAllocateMemoryMESA(Display *dpy, int scrn,
- size_t size, float readFreq,
- float writeFreq, float priority)
-{
- if (dpy->driScreen.private && dpy->driScreen.allocateMemory) {
- return (*dpy->driScreen.allocateMemory)( dpy, scrn, size,
- readFreq, writeFreq,
- priority );
- }
-
- return NULL;
-}
-
-void glXFreeMemoryMESA(Display *dpy, int scrn, void *pointer)
-{
- if (dpy->driScreen.private && dpy->driScreen.freeMemory) {
- (*dpy->driScreen.freeMemory)( dpy, scrn, pointer );
- }
-}
-
-GLuint glXGetMemoryOffsetMESA( Display *dpy, int scrn,
- const void *pointer )
-{
- if (dpy->driScreen.private && dpy->driScreen.memoryOffset) {
- return (*dpy->driScreen.memoryOffset)( dpy, scrn, pointer );
- }
-
- return 0;
-}
-
-
-/**
- * Get the unadjusted system time (UST). Currently, the UST is measured in
- * microseconds since Epoc. The actual resolution of the UST may vary from
- * system to system, and the units may vary from release to release.
- * Drivers should not call this function directly. They should instead use
- * \c glXGetProcAddress to obtain a pointer to the function.
- *
- * \param ust Location to store the 64-bit UST
- * \returns Zero on success or a negative errno value on failure.
- *
- * \note
- * This function was copied directly from src/glx/x11/glxcmds.c.
- */
-static int __glXGetUST( int64_t * ust )
-{
- struct timeval tv;
-
- if ( ust == NULL ) {
- return -EFAULT;
- }
-
- if ( gettimeofday( & tv, NULL ) == 0 ) {
- ust[0] = (tv.tv_sec * 1000000) + tv.tv_usec;
- return 0;
- } else {
- return -errno;
- }
-}
-
-
-/**
- *
- * \bug
- * This needs to be implemented for miniGlx.
- */
-static GLboolean __glXGetMscRate(__DRInativeDisplay * dpy, __DRIid drawable,
- int32_t * numerator, int32_t * denominator)
-{
- *numerator = 0;
- *denominator = 0;
- return False;
-}
-/*@}*/
diff --git a/src/glx/mini/miniglxP.h b/src/glx/mini/miniglxP.h
deleted file mode 100644
index 96ed0e81cd..0000000000
--- a/src/glx/mini/miniglxP.h
+++ /dev/null
@@ -1,205 +0,0 @@
-/**
- * \file miniglxP.h
- * \brief Define replacements for some X data types and define the DRI-related
- * data structures.
- *
- * \note Cut down version of glxclient.h.
- *
- */
-
-#ifndef _mini_GLX_client_h_
-#define _mini_GLX_client_h_
-
-#include <signal.h>
-#include <linux/fb.h>
-
-#include <GL/miniglx.h>
-#include "glheader.h"
-#include "mtypes.h"
-
-#include "driver.h"
-#include "GL/internal/dri_interface.h"
-
-/**
- * \brief Supported pixel formats.
- */
-enum PixelFormat {
- PF_B8G8R8, /**< \brief 24-bit BGR */
- PF_B8G8R8A8, /**< \brief 32-bit BGRA */
- PF_B5G6R5, /**< \brief 16-bit BGR */
- PF_B5G5R5, /**< \brief 15-bit BGR */
- PF_CI8 /**< \brief 8-bit color index */
-};
-
-/**
- * \brief X Visual type.
- *
- * \sa ::Visual, \ref datatypes.
- */
-struct MiniGLXVisualRec {
- /** \brief GLX visual information */
- const __GLcontextModes *mode;
-
- /** \brief pointer back to corresponding ::XVisualInfo */
- XVisualInfo *visInfo;
-
- /** \brief display handle */
- Display *dpy;
-
- /** \brief pixel format */
- enum PixelFormat pixelFormat;
-};
-
-
-
-/**
- * \brief X Window type.
- *
- * \sa ::Window, \ref datatypes.
- */
-struct MiniGLXWindowRec {
- Visual *visual;
- /** \brief position (always 0,0) */
- int x, y;
- /** \brief size */
- unsigned int w, h;
- void *frontStart; /**< \brief start of front color buffer */
- void *backStart; /**< \brief start of back color buffer */
- size_t size; /**< \brief color buffer size, in bytes */
- GLuint bytesPerPixel;
- GLuint rowStride; /**< \brief in bytes */
- GLubyte *frontBottom; /**< \brief pointer to last row */
- GLubyte *backBottom; /**< \brief pointer to last row */
- GLubyte *curBottom; /**< = frontBottom or backBottom */
- __DRIdrawable driDrawable;
- GLuint ismapped;
-};
-
-
-/**
- * \brief GLXContext type.
- *
- * \sa ::GLXContext, \ref datatypes.
- */
-struct MiniGLXContextRec {
- Window drawBuffer; /**< \brief drawing buffer */
- Window curBuffer; /**< \brief current buffer */
- VisualID vid; /**< \brief visual ID */
- __DRIcontext driContext; /**< \brief context dependent methods */
-};
-
-#define MINIGLX_BUF_SIZE 512
-#define MINIGLX_MAX_SERVER_FDS 10
-#define MINIGLX_MAX_CLIENT_FDS 1
-#define MINIGLX_EVENT_QUEUE_SZ 16
-#define MINIGLX_EVENT_QUEUE_MASK (MINIGLX_EVENT_QUEUE_SZ-1)
-
-/**
- * A connection to/from the server
- *
- * All information is to/from the server is buffered and then dispatched by
- * __miniglx_Select() to avoid blocking the server.
- */
-struct MiniGLXConnection {
- int fd; /**< \brief file descriptor */
- char readbuf[MINIGLX_BUF_SIZE]; /**< \brief read buffer */
- char writebuf[MINIGLX_BUF_SIZE]; /**< \brief write buffer */
- int readbuf_count; /**< \brief count of bytes waiting to be read */
- int writebuf_count; /**< \brief count of bytes waiting to be written */
-};
-
-
-/**
- * \brief X Display type
- *
- * \sa ::Display, \ref datatypes.
- */
-struct MiniGLXDisplayRec {
- /** \brief fixed framebuffer screen info */
- struct fb_fix_screeninfo FixedInfo;
- /** \brief original and current variable framebuffer screen info */
- struct fb_var_screeninfo OrigVarInfo, VarInfo;
- struct sigaction OrigSigUsr1;
- struct sigaction OrigSigUsr2;
- int OriginalVT;
- int ConsoleFD; /**< \brief console TTY device file descriptor */
- int FrameBufferFD; /**< \brief framebuffer device file descriptor */
- int NumWindows; /**< \brief number of open windows */
- Window TheWindow; /**< \brief open window - only allow one window for now */
- int rotateMode;
-
-
- volatile int vtSignalFlag;
- volatile int haveVT; /**< \brief whether the VT is hold */
- int hwActive; /**< \brief whether the hardware is active -- mimics
- the variations of MiniGLXDisplayRec::haveVT */
-
-
- int IsClient; /**< \brief whether it's a client or the server */
- int clientID;
- int nrFds; /**< \brief number of connections (usually just one for the clients) */
- struct MiniGLXConnection *fd; /**< \brief connections */
- int drmFd; /**< \brief handle to drm device */
- int authorized; /**< \brief has server authorized this process? */
-
- struct {
- int nr, head, tail;
- XEvent queue[MINIGLX_EVENT_QUEUE_SZ];
- } eventqueue;
-
- /**
- * \name Visuals
- *
- * Visuals (configs) in this screen.
- */
- /*@{*/
- const __GLcontextModes *driver_modes; /**< \brief Modes filtered by driver. */
- /*@}*/
-
- /**
- * \name From __GLXdisplayPrivate
- */
- /*@{*/
- PFNCREATENEWSCREENFUNC createNewScreen; /**< \brief \e __driCreateScreen hook */
- __DRIscreen driScreen; /**< \brief Screen dependent methods */
- void *dlHandle; /**<
- * \brief handle to the client dynamic
- * library
- */
- /*@}*/
-
- /**
- * \brief Mini GLX specific driver hooks
- */
- struct DRIDriverRec *driver;
- struct DRIDriverContextRec driverContext;
-
- /**
- * \name Configuration details
- *
- * They are read from a configuration file by __read_config_file().
- */
- /*@{*/
- const char *fbdevDevice;
- const char *clientDriverName;
- /*@}*/
-};
-
-/** Character messages. */
-enum msgs {
- _CanIHaveFocus,
- _IDontWantFocus,
- _YouveGotFocus,
- _YouveLostFocus,
- _RepaintPlease,
- _Authorize,
-};
-extern int send_msg( Display *dpy, int i, const void *msg, size_t sz );
-extern int send_char_msg( Display *dpy, int i, char msg );
-extern int blocking_read( Display *dpy, int connection, char *msg, size_t msg_size );
-extern int handle_fd_events( Display *dpy, int nonblock );
-
-extern int __miniglx_open_connections( Display *dpy );
-extern void __miniglx_close_connections( Display *dpy );
-
-#endif /* !_mini_GLX_client_h_ */
diff --git a/src/glx/mini/miniglx_events.c b/src/glx/mini/miniglx_events.c
deleted file mode 100644
index a20d5847b3..0000000000
--- a/src/glx/mini/miniglx_events.c
+++ /dev/null
@@ -1,983 +0,0 @@
-/**
- * \file miniglx_events.c
- * \brief Mini GLX client/server communication functions.
- * \author Keith Whitwell
- *
- * The Mini GLX interface is a subset of the GLX interface, plus a
- * minimal set of Xlib functions. This file adds interfaces to
- * arbitrate a single cliprect between multiple direct rendering
- * clients.
- *
- * A fairly complete client/server non-blocking communication
- * mechanism. Probably overkill given that none of our messages
- * currently exceed 1 byte in length and take place over the
- * relatively benign channel provided by a Unix domain socket.
- */
-
-/*
- * Mesa 3-D graphics library
- * Version: 5.0
- *
- * Copyright (C) 1999-2003 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
- * BRIAN PAUL 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.
- */
-
-
-
-#include <assert.h>
-#include <errno.h>
-#include <signal.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <dlfcn.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <sys/ioctl.h>
-#include <sys/mman.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <sys/time.h>
-#include <sys/socket.h>
-#include <sys/un.h>
-#include <sys/stat.h>
-
-#include <linux/kd.h>
-#include <linux/vt.h>
-
-#include "xf86drm.h"
-#include "miniglxP.h"
-
-
-#define MINIGLX_FIFO_NAME "/tmp/miniglx.fifo"
-
-/**
- * \brief Allocate an XEvent structure on the event queue.
- *
- * \param dpy the display handle.
- *
- * \return Pointer to the queued event structure or NULL on failure.
- *
- * \internal
- * If there is space on the XEvent queue, return a pointer
- * to the next free event and increment the eventqueue tail value.
- * Otherwise return null.
- */
-static XEvent *queue_event( Display *dpy )
-{
- int incr = (dpy->eventqueue.tail + 1) & MINIGLX_EVENT_QUEUE_MASK;
- if (incr == dpy->eventqueue.head) {
- return 0;
- }
- else {
- XEvent *ev = &dpy->eventqueue.queue[dpy->eventqueue.tail];
- dpy->eventqueue.tail = incr;
- return ev;
- }
-}
-
-/**
- * \brief Dequeue an XEvent and copy it into provided storage.
- *
- * \param dpy the display handle.
- * \param event_return pointer to copy the queued event to.
- *
- * \return True or False depending on success.
- *
- * \internal
- * If there is a queued XEvent on the queue, copy it to the provided
- * pointer and increment the eventqueue head value. Otherwise return
- * null.
- */
-static int dequeue_event( Display *dpy, XEvent *event_return )
-{
- if (dpy->eventqueue.tail == dpy->eventqueue.head) {
- return False;
- }
- else {
- *event_return = dpy->eventqueue.queue[dpy->eventqueue.head];
- dpy->eventqueue.head += 1;
- dpy->eventqueue.head &= MINIGLX_EVENT_QUEUE_MASK;
- return True;
- }
-}
-
-/**
- * \brief Shutdown a socket connection.
- *
- * \param dpy the display handle.
- * \param i the index in dpy->fd of the socket connection.
- *
- * \internal
- * Shutdown and close the file descriptor. If this is the special
- * connection in fd[0], issue an error message and exit - there's been
- * some sort of failure somewhere. Otherwise, let the application
- * know about whats happened by issuing a DestroyNotify event.
- */
-static void shut_fd( Display *dpy, int i )
-{
- if (dpy->fd[i].fd < 0)
- return;
-
- shutdown (dpy->fd[i].fd, SHUT_RDWR);
- close (dpy->fd[i].fd);
- dpy->fd[i].fd = -1;
- dpy->fd[i].readbuf_count = 0;
- dpy->fd[i].writebuf_count = 0;
-
- if (i == 0) {
- fprintf(stderr, "server connection lost\n");
- exit(1);
- }
- else {
- /* Pass this to the application as a DestroyNotify event.
- */
- XEvent *er = queue_event(dpy);
- if (!er) return;
- er->xdestroywindow.type = DestroyNotify;
- er->xdestroywindow.serial = 0;
- er->xdestroywindow.send_event = 0;
- er->xdestroywindow.display = dpy;
- er->xdestroywindow.window = (Window)i;
-
- drmGetLock(dpy->driverContext.drmFD, 1, 0);
- drmUnlock(dpy->driverContext.drmFD, 1);
- }
-}
-
-/**
- * \brief Send a message to a socket connection.
- *
- * \param dpy the display handle.
- * \param i the index in dpy->fd of the socket connection.
- * \param msg the message to send.
- * \param sz the size of the message
- *
- * \internal
- * Copy the message to the write buffer for the nominated connection.
- * This will be actually sent to that file descriptor from
- * __miniglx_Select().
- */
-int send_msg( Display *dpy, int i,
- const void *msg, size_t sz )
-{
- int cnt = dpy->fd[i].writebuf_count;
- if (MINIGLX_BUF_SIZE - cnt < sz) {
- fprintf(stderr, "client %d: writebuf overflow\n", i);
- return False;
- }
-
- memcpy( dpy->fd[i].writebuf + cnt, msg, sz ); cnt += sz;
- dpy->fd[i].writebuf_count = cnt;
- return True;
-}
-
-/**
- * \brief Send a message to a socket connection.
- *
- * \param dpy the display handle.
- * \param i the index in dpy->fd of the socket connection.
- * \param msg the message to send.
- *
- * \internal
- * Use send_msg() to send a one-byte message to a socket.
- */
-int send_char_msg( Display *dpy, int i, char msg )
-{
- return send_msg( dpy, i, &msg, sizeof(char));
-}
-
-
-/**
- * \brief Block and receive a message from a socket connection.
- *
- * \param dpy the display handle.
- * \param connection the index in dpy->fd of the socket connection.
- * \param msg storage for the received message.
- * \param msg_size the number of bytes to read.
- *
- * \internal
- * Block and read from the connection's file descriptor
- * until msg_size bytes have been received.
- *
- * Only called from welcome_message_part().
- */
-int blocking_read( Display *dpy, int connection,
- char *msg, size_t msg_size )
-{
- int i, r;
-
- for (i = 0 ; i < msg_size ; i += r) {
- r = read(dpy->fd[connection].fd, msg + i, msg_size - i);
- if (r < 1) {
- fprintf(stderr, "blocking_read: %d %s\n", r, strerror(errno));
- shut_fd(dpy,connection);
- return False;
- }
- }
-
- return True;
-}
-
-/**
- * \brief Send/receive a part of the welcome message.
- *
- * \param dpy the display handle.
- * \param i the index in dpy->fd of the socket connection.
- * \param msg storage for the sent/received message.
- * \param sz the number of bytes to write/read.
- *
- * \return True on success, or False on failure.
- *
- * This function is called by welcome_message_part(), to either send or receive
- * (via blocking_read()) part of the welcome message, according to whether
- * Display::IsClient is set.
- *
- * Each part of the welcome message on the wire consists of a count and then the
- * actual message data with that number of bytes.
- */
-static int welcome_message_part( Display *dpy, int i, void **msg, int sz )
-{
- if (dpy->IsClient) {
- int sz;
- if (!blocking_read( dpy, i, (char *)&sz, sizeof(sz))) return False;
- if (!*msg) *msg = malloc(sz);
- if (!*msg) return False;
- if (!blocking_read( dpy, i, *msg, sz )) return False;
- return sz;
- }
- else {
- if (!send_msg( dpy, i, &sz, sizeof(sz))) return False;
- if (!send_msg( dpy, i, *msg, sz )) return False;
- }
-
- return True;
-}
-
-/**
- * \brief Send/receive the welcome message.
- *
- * \param dpy the display handle.
- * \param i the index in dpy->fd of the socket connection.
- *
- * \return True on success, or False on failure.
- *
- * Using welcome_message_part(), sends/receives the client ID, the client
- * configuration details in DRIDriverContext::shared, and the driver private
- * message in DRIDriverContext::driverClientMsg.
- */
-static int welcome_message( Display *dpy, int i )
-{
- void *tmp = &dpy->driverContext.shared;
- int *clientid = dpy->IsClient ? &dpy->clientID : &i;
- int size;
-
- if (!welcome_message_part( dpy, i, (void **)&clientid, sizeof(*clientid)))
- return False;
-
- if (!welcome_message_part( dpy, i, &tmp, sizeof(dpy->driverContext.shared)))
- return False;
-
- size=welcome_message_part( dpy, i,
- (void **)&dpy->driverContext.driverClientMsg,
- dpy->driverContext.driverClientMsgSize );
-
- if (!size)
- return False;
-
- if (dpy->IsClient) {
- dpy->driverContext.driverClientMsgSize = size;
- }
- return True;
-}
-
-
-/**
- * \brief Handle a new client connection.
- *
- * \param dpy the display handle.
- *
- * \return True on success or False on failure.
- *
- * Accepts the connection, sets it in non-blocking operation, and finds a free
- * slot in Display::fd for it.
- */
-static int handle_new_client( Display *dpy )
-{
- struct sockaddr_un client_address;
- unsigned int l = sizeof(client_address);
- int r, i;
-
- r = accept(dpy->fd[0].fd, (struct sockaddr *) &client_address, &l);
- if (r < 0) {
- perror ("accept()");
- shut_fd(dpy,0);
- return False;
- }
-
- if (fcntl(r, F_SETFL, O_NONBLOCK) != 0) {
- perror("fcntl");
- close(r);
- return False;
- }
-
-
- /* Some rough & ready adaption of the XEvent semantics.
- */
- for (i = 1 ; i < dpy->nrFds ; i++) {
- if (dpy->fd[i].fd < 0) {
- XEvent *er = queue_event(dpy);
- if (!er) {
- close(r);
- return False;
- }
-
- dpy->fd[i].fd = r;
- er->xcreatewindow.type = CreateNotify;
- er->xcreatewindow.serial = 0;
- er->xcreatewindow.send_event = 0;
- er->xcreatewindow.display = dpy;
- er->xcreatewindow.window = (Window)i; /* fd slot == window, now? */
-
- /* Send the driver client message - this is expected as the
- * first message on a new connection. The recpient already
- * knows the size of the message.
- */
- welcome_message( dpy, i );
- return True;
- }
- }
-
-
- fprintf(stderr, "[miniglx] %s: Max nr clients exceeded\n", __FUNCTION__);
- close(r);
- return False;
-}
-
-/**
- * This routine "puffs out" the very basic communications between
- * client and server to full-sized X Events that can be handled by the
- * application.
- *
- * \param dpy the display handle.
- * \param i the index in dpy->fd of the socket connection.
- *
- * \return True on success or False on failure.
- *
- * \internal
- * Interprets the message (see msg) into a XEvent and advances the file FIFO
- * buffer.
- */
-static int
-handle_fifo_read( Display *dpy, int i )
-{
- drm_magic_t magic;
- int err;
-
- while (dpy->fd[i].readbuf_count) {
- char id = dpy->fd[i].readbuf[0];
- XEvent *er;
- int count = 1;
-
- if (dpy->IsClient) {
- switch (id) {
- /* The server has called XMapWindow on a client window */
- case _YouveGotFocus:
- er = queue_event(dpy);
- if (!er) return False;
- er->xmap.type = MapNotify;
- er->xmap.serial = 0;
- er->xmap.send_event = False;
- er->xmap.display = dpy;
- er->xmap.event = dpy->TheWindow;
- er->xmap.window = dpy->TheWindow;
- er->xmap.override_redirect = False;
- if (dpy->driver->notifyFocus)
- dpy->driver->notifyFocus( 1 );
- break;
-
- /* The server has called XMapWindow on a client window */
- case _RepaintPlease:
- er = queue_event(dpy);
- if (!er) return False;
- er->xexpose.type = Expose;
- er->xexpose.serial = 0;
- er->xexpose.send_event = False;
- er->xexpose.display = dpy;
- er->xexpose.window = dpy->TheWindow;
- if (dpy->rotateMode) {
- er->xexpose.x = dpy->TheWindow->y;
- er->xexpose.y = dpy->TheWindow->x;
- er->xexpose.width = dpy->TheWindow->h;
- er->xexpose.height = dpy->TheWindow->w;
- }
- else {
- er->xexpose.x = dpy->TheWindow->x;
- er->xexpose.y = dpy->TheWindow->y;
- er->xexpose.width = dpy->TheWindow->w;
- er->xexpose.height = dpy->TheWindow->h;
- }
- er->xexpose.count = 0;
- break;
-
- /* The server has called 'XUnmapWindow' on a client
- * window.
- */
- case _YouveLostFocus:
- er = queue_event(dpy);
- if (!er) return False;
- er->xunmap.type = UnmapNotify;
- er->xunmap.serial = 0;
- er->xunmap.send_event = False;
- er->xunmap.display = dpy;
- er->xunmap.event = dpy->TheWindow;
- er->xunmap.window = dpy->TheWindow;
- er->xunmap.from_configure = False;
- if (dpy->driver->notifyFocus)
- dpy->driver->notifyFocus( 0 );
- break;
-
- case _Authorize:
- dpy->authorized = True;
- break;
-
- default:
- fprintf(stderr, "Client received unhandled message type %d\n", id);
- shut_fd(dpy, i); /* Actually shuts down the client */
- return False;
- }
- }
- else {
- switch (id) {
- /* Lets the server know that the client is ready to render
- * (having called 'XMapWindow' locally).
- */
- case _CanIHaveFocus:
- er = queue_event(dpy);
- if (!er) return False;
- er->xmaprequest.type = MapRequest;
- er->xmaprequest.serial = 0;
- er->xmaprequest.send_event = False;
- er->xmaprequest.display = dpy;
- er->xmaprequest.parent = 0;
- er->xmaprequest.window = (Window)i;
- break;
-
- /* Both _YouveLostFocus and _IDontWantFocus generate unmap
- * events. The idea is that _YouveLostFocus lets the client
- * know that it has had focus revoked by the server, whereas
- * _IDontWantFocus lets the server know that the client has
- * unmapped its own window.
- */
- case _IDontWantFocus:
- er = queue_event(dpy);
- if (!er) return False;
- er->xunmap.type = UnmapNotify;
- er->xunmap.serial = 0;
- er->xunmap.send_event = False;
- er->xunmap.display = dpy;
- er->xunmap.event = (Window)i;
- er->xunmap.window = (Window)i;
- er->xunmap.from_configure = False;
- break;
-
- case _Authorize:
- /* is full message here yet? */
- if (dpy->fd[i].readbuf_count < count + sizeof(magic)) {
- count = 0;
- break;
- }
- memcpy(&magic, dpy->fd[i].readbuf + count, sizeof(magic));
- fprintf(stderr, "Authorize - magic %d\n", magic);
-
- err = drmAuthMagic(dpy->driverContext.drmFD, magic);
- count += sizeof(magic);
-
- send_char_msg( dpy, i, _Authorize );
- break;
-
- default:
- fprintf(stderr, "Server received unhandled message type %d\n", id);
- shut_fd(dpy, i); /* Generates DestroyNotify event */
- return False;
- }
- }
-
- dpy->fd[i].readbuf_count -= count;
-
- if (dpy->fd[i].readbuf_count) {
- memmove(dpy->fd[i].readbuf,
- dpy->fd[i].readbuf + count,
- dpy->fd[i].readbuf_count);
- }
- }
-
- return True;
-}
-
-/**
- * Handle a VT signal
- *
- * \param dpy display handle.
- *
- * The VT switches is detected by comparing Display::haveVT and
- * Display::hwActive. When loosing the VT the hardware lock is acquired, the
- * hardware is shutdown via a call to DRIDriverRec::shutdownHardware(), and the
- * VT released. When acquiring the VT back the hardware state is restored via a
- * call to DRIDriverRec::restoreHardware() and the hardware lock released.
- */
-static void __driHandleVtSignals( Display *dpy )
-{
- dpy->vtSignalFlag = 0;
-
- fprintf(stderr, "%s: haveVT %d hwActive %d\n", __FUNCTION__,
- dpy->haveVT, dpy->hwActive);
-
- if (!dpy->haveVT && dpy->hwActive) {
- /* Need to get lock and shutdown hardware */
- DRM_LIGHT_LOCK( dpy->driverContext.drmFD,
- dpy->driverContext.pSAREA,
- dpy->driverContext.serverContext );
- dpy->driver->shutdownHardware( &dpy->driverContext );
-
- /* Can now give up control of the VT */
- ioctl( dpy->ConsoleFD, VT_RELDISP, 1 );
- dpy->hwActive = 0;
- }
- else if (dpy->haveVT && !dpy->hwActive) {
- /* Get VT (wait??) */
- ioctl( dpy->ConsoleFD, VT_RELDISP, VT_ACTIVATE );
-
- /* restore HW state, release lock */
- dpy->driver->restoreHardware( &dpy->driverContext );
- DRM_UNLOCK( dpy->driverContext.drmFD,
- dpy->driverContext.pSAREA,
- dpy->driverContext.serverContext );
- dpy->hwActive = 1;
- }
-}
-
-
-#undef max
-#define max(x,y) ((x) > (y) ? (x) : (y))
-
-/**
- * Logic for the select() call.
- *
- * \param dpy display handle.
- * \param n highest fd in any set plus one.
- * \param rfds fd set to be watched for reading, or NULL to create one.
- * \param wfds fd set to be watched for writing, or NULL to create one.
- * \param xfds fd set to be watched for exceptions or error, or NULL to create one.
- * \param tv timeout value, or NULL for no timeout.
- *
- * \return number of file descriptors contained in the sets, or a negative number on failure.
- *
- * \note
- * This all looks pretty complex, but is necessary especially on the
- * server side to prevent a poorly-behaved client from causing the
- * server to block in a read or write and hence not service the other
- * clients.
- *
- * \sa
- * See select_tut in the Linux manual pages for more discussion.
- *
- * \internal
- * Creates and initializes the file descriptor sets by inspecting Display::fd
- * if these aren't passed in the function call. Calls select() and fulfill the
- * demands by trying to fill MiniGLXConnection::readbuf and draining
- * MiniGLXConnection::writebuf.
- * The server fd[0] is handled specially for new connections, by calling
- * handle_new_client().
- *
- */
-int
-__miniglx_Select( Display *dpy, int n, fd_set *rfds, fd_set *wfds, fd_set *xfds,
- struct timeval *tv )
-{
- int i;
- int retval;
- fd_set my_rfds, my_wfds;
- struct timeval my_tv;
-
- if (!rfds) {
- rfds = &my_rfds;
- FD_ZERO(rfds);
- }
-
- if (!wfds) {
- wfds = &my_wfds;
- FD_ZERO(wfds);
- }
-
- /* Don't block if there are events queued. Review this if the
- * flush in XMapWindow is changed to blocking. (Test case:
- * miniglxtest).
- */
- if (dpy->eventqueue.head != dpy->eventqueue.tail) {
- my_tv.tv_sec = my_tv.tv_usec = 0;
- tv = &my_tv;
- }
-
- for (i = 0 ; i < dpy->nrFds; i++) {
- if (dpy->fd[i].fd < 0)
- continue;
-
- if (dpy->fd[i].writebuf_count)
- FD_SET(dpy->fd[i].fd, wfds);
-
- if (dpy->fd[i].readbuf_count < MINIGLX_BUF_SIZE)
- FD_SET(dpy->fd[i].fd, rfds);
-
- n = max(n, dpy->fd[i].fd + 1);
- }
-
- if (dpy->vtSignalFlag)
- __driHandleVtSignals( dpy );
-
- retval = select( n, rfds, wfds, xfds, tv );
-
- if (dpy->vtSignalFlag) {
- int tmp = errno;
- __driHandleVtSignals( dpy );
- errno = tmp;
- }
-
- if (retval < 0) {
- FD_ZERO(rfds);
- FD_ZERO(wfds);
- return retval;
- }
-
- /* Handle server fd[0] specially on the server - accept new client
- * connections.
- */
- if (!dpy->IsClient) {
- if (FD_ISSET(dpy->fd[0].fd, rfds)) {
- FD_CLR(dpy->fd[0].fd, rfds);
- handle_new_client( dpy );
- }
- }
-
- /* Otherwise, try and fill readbuffer and drain writebuffer:
- */
- for (i = 0 ; i < dpy->nrFds ; i++) {
- if (dpy->fd[i].fd < 0)
- continue;
-
- /* If there aren't any event slots left, don't examine
- * any more file events. This will prevent lost events.
- */
- if (dpy->eventqueue.head ==
- ((dpy->eventqueue.tail + 1) & MINIGLX_EVENT_QUEUE_MASK)) {
- fprintf(stderr, "leaving event loop as event queue is full\n");
- return retval;
- }
-
- if (FD_ISSET(dpy->fd[i].fd, wfds)) {
- int r = write(dpy->fd[i].fd,
- dpy->fd[i].writebuf,
- dpy->fd[i].writebuf_count);
-
- if (r < 1)
- shut_fd(dpy,i);
- else {
- dpy->fd[i].writebuf_count -= r;
- if (dpy->fd[i].writebuf_count) {
- memmove(dpy->fd[i].writebuf,
- dpy->fd[i].writebuf + r,
- dpy->fd[i].writebuf_count);
- }
- }
- }
-
- if (FD_ISSET(dpy->fd[i].fd, rfds)) {
- int r = read(dpy->fd[i].fd,
- dpy->fd[i].readbuf + dpy->fd[i].readbuf_count,
- MINIGLX_BUF_SIZE - dpy->fd[i].readbuf_count);
-
- if (r < 1)
- shut_fd(dpy,i);
- else {
- dpy->fd[i].readbuf_count += r;
-
- handle_fifo_read( dpy, i );
- }
- }
- }
-
- return retval;
-}
-
-/**
- * \brief Handle socket events.
- *
- * \param dpy the display handle.
- * \param nonblock whether to return immediately or wait for an event.
- *
- * \return True on success, False on failure. Aborts on critical error.
- *
- * \internal
- * This function is the select() main loop.
- */
-int handle_fd_events( Display *dpy, int nonblock )
-{
- while (1) {
- struct timeval tv = {0, 0};
- int r = __miniglx_Select( dpy, 0, 0, 0, 0, nonblock ? &tv : 0 );
- if (r >= 0)
- return True;
- if (errno == EINTR || errno == EAGAIN)
- continue;
- perror ("select()");
- exit (1);
- }
-}
-
-/**
- * Initializes the connections.
- *
- * \param dpy the display handle.
- *
- * \return True on success or False on failure.
- *
- * Allocates and initializes the Display::fd array and create a Unix socket on
- * the first entry. For a server binds the socket to a filename and listen for
- * connections. For a client connects to the server and waits for a welcome
- * message. Sets the socket in nonblocking mode.
- */
-int __miniglx_open_connections( Display *dpy )
-{
- struct sockaddr_un sa;
- int i;
-
- dpy->nrFds = dpy->IsClient ? 1 : MINIGLX_MAX_SERVER_FDS;
- dpy->fd = calloc(1, dpy->nrFds * sizeof(struct MiniGLXConnection));
- if (!dpy->fd)
- return False;
-
- for (i = 0 ; i < dpy->nrFds ; i++)
- dpy->fd[i].fd = -1;
-
- if (!dpy->IsClient) {
- if (unlink(MINIGLX_FIFO_NAME) != 0 && errno != ENOENT) {
- perror("unlink " MINIGLX_FIFO_NAME);
- return False;
- }
-
- }
-
- /* Create a Unix socket -- Note this is *not* a network connection!
- */
- dpy->fd[0].fd = socket(PF_UNIX, SOCK_STREAM, 0);
- if (dpy->fd[0].fd < 0) {
- perror("socket " MINIGLX_FIFO_NAME);
- return False;
- }
-
- memset(&sa, 0, sizeof(sa));
- sa.sun_family = AF_UNIX;
- strcpy(sa.sun_path, MINIGLX_FIFO_NAME);
-
- if (dpy->IsClient) {
- /* Connect to server
- */
- if (connect(dpy->fd[0].fd, (struct sockaddr *)&sa, sizeof(sa)) != 0) {
- perror("connect");
- shut_fd(dpy,0);
- return False;
- }
-
- /* Wait for configuration messages from the server.
- */
- welcome_message( dpy, 0 );
- }
- else {
- mode_t tmp = umask( 0000 ); /* open to everybody ? */
-
- /* Bind socket to our filename
- */
- if (bind(dpy->fd[0].fd, (struct sockaddr *)&sa, sizeof(sa)) != 0) {
- perror("bind");
- shut_fd(dpy,0);
- return False;
- }
-
- umask( tmp );
-
- /* Listen for connections
- */
- if (listen(dpy->fd[0].fd, 5) != 0) {
- perror("listen");
- shut_fd(dpy,0);
- return False;
- }
- }
-
- if (fcntl(dpy->fd[0].fd, F_SETFL, O_NONBLOCK) != 0) {
- perror("fcntl");
- shut_fd(dpy,0);
- return False;
- }
-
-
- return True;
-}
-
-
-/**
- * Frees the connections initialized by __miniglx_open_connections().
- *
- * \param dpy the display handle.
- */
-void __miniglx_close_connections( Display *dpy )
-{
- int i;
-
- for (i = 0 ; i < dpy->nrFds ; i++) {
- if (dpy->fd[i].fd >= 0) {
- shutdown (dpy->fd[i].fd, SHUT_RDWR);
- close (dpy->fd[i].fd);
- }
- }
-
- dpy->nrFds = 0;
- free(dpy->fd);
-}
-
-
-/**
- * Set a drawable flag.
- *
- * \param dpy the display handle.
- * \param w drawable (window).
- * \param flag flag.
- *
- * Sets the specified drawable flag in the SAREA and increment its stamp while
- * holding the light hardware lock.
- */
-static void set_drawable_flag( Display *dpy, int w, int flag )
-{
- if (dpy->driverContext.pSAREA) {
- if (dpy->hwActive)
- DRM_LIGHT_LOCK( dpy->driverContext.drmFD,
- dpy->driverContext.pSAREA,
- dpy->driverContext.serverContext );
-
- dpy->driverContext.pSAREA->drawableTable[w].stamp++;
- dpy->driverContext.pSAREA->drawableTable[w].flags = flag;
-
- if (dpy->hwActive)
- DRM_UNLOCK( dpy->driverContext.drmFD,
- dpy->driverContext.pSAREA,
- dpy->driverContext.serverContext );
- }
-}
-
-
-
-/**
- * \brief Map Window.
- *
- * \param dpy the display handle as returned by XOpenDisplay().
- * \param w the window handle.
- *
- * If called by a client, sends a request for focus to the server. If
- * called by the server, will generate a MapNotify and Expose event at
- * the client.
- *
- */
-void
-XMapWindow( Display *dpy, Window w )
-{
- if (dpy->IsClient)
- send_char_msg( dpy, 0, _CanIHaveFocus );
- else {
- set_drawable_flag( dpy, (int)w, 1 );
- send_char_msg( dpy, (int)w, _YouveGotFocus );
- send_char_msg( dpy, (int)w, _RepaintPlease );
- dpy->TheWindow = w;
- }
- handle_fd_events( dpy, 0 ); /* flush write queue */
-}
-
-/**
- * \brief Unmap Window.
- *
- * \param dpy the display handle as returned by XOpenDisplay().
- * \param w the window handle.
- *
- * Called from the client: Lets the server know that the window won't
- * be updated anymore.
- *
- * Called from the server: Tells the specified client that it no longer
- * holds the focus.
- */
-void
-XUnmapWindow( Display *dpy, Window w )
-{
- if (dpy->IsClient) {
- send_char_msg( dpy, 0, _IDontWantFocus );
- }
- else {
- dpy->TheWindow = 0;
- set_drawable_flag( dpy, (int)w, 0 );
- send_char_msg( dpy, (int)w, _YouveLostFocus );
- }
- handle_fd_events( dpy, 0 ); /* flush write queue */
-}
-
-
-/**
- * \brief Block and wait for next X event.
- *
- * \param dpy the display handle as returned by XOpenDisplay().
- * \param event_return a pointer to an XEvent structure for the returned data.
- *
- * Wait until there is a new XEvent pending.
- */
-int XNextEvent(Display *dpy, XEvent *event_return)
-{
- for (;;) {
- if ( dpy->eventqueue.head != dpy->eventqueue.tail )
- return dequeue_event( dpy, event_return );
-
- handle_fd_events( dpy, 0 );
- }
-}
-
-/**
- * \brief Non-blocking check for next X event.
- *
- * \param dpy the display handle as returned by XOpenDisplay().
- * \param event_mask ignored.
- * \param event_return a pointer to an XEvent structure for the returned data.
- *
- * Check if there is a new XEvent pending. Note that event_mask is
- * ignored and any pending event will be returned.
- */
-Bool XCheckMaskEvent(Display *dpy, long event_mask, XEvent *event_return)
-{
- if ( dpy->eventqueue.head != dpy->eventqueue.tail )
- return dequeue_event( dpy, event_return );
-
- handle_fd_events( dpy, 1 );
-
- return dequeue_event( dpy, event_return );
-}
diff --git a/src/mesa/drivers/allegro/amesa.c b/src/mesa/drivers/allegro/amesa.c
deleted file mode 100644
index 0744677d2b..0000000000
--- a/src/mesa/drivers/allegro/amesa.c
+++ /dev/null
@@ -1,414 +0,0 @@
-/*
- * Mesa 3-D graphics library
- * Version: 3.0
- * Copyright (C) 1995-1998 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <allegro.h>
-#include "main/buffers.h"
-#include "main/context.h"
-#include "main/imports.h"
-#include "main/matrix.h"
-#include "main/mtypes.h"
-#include "amesa.h"
-
-
-struct amesa_visual
- {
- GLvisual *GLVisual; /* inherit from GLvisual */
- GLboolean DBFlag; /* double buffered? */
- GLuint Depth; /* bits per pixel ( >= 15 ) */
- };
-
-
-struct amesa_buffer
- {
- GLframebuffer *GLBuffer; /* inherit from GLframebuffer */
- GLuint Width, Height;
- BITMAP *Screen;
- BITMAP *Background;
- BITMAP *Active;
- };
-
-
-struct amesa_context
- {
- GLcontext *GLContext; /* inherit from GLcontext */
- AMesaVisual Visual;
- AMesaBuffer Buffer;
- GLuint ClearColor;
- GLuint CurrentColor;
- };
-
-
-static void setup_dd_pointers(GLcontext *ctx);
-
-
-/**********************************************************************/
-/***** drawing functions *****/
-/**********************************************************************/
-
-#define FLIP(context, y) (context->Buffer->Height - (y) - 1)
-
-#include "allegro/generic.h"
-#include "allegro/direct.h"
-
-
-/**********************************************************************/
-/***** 15-bit accelerated drawing funcs *****/
-/**********************************************************************/
-
-IMPLEMENT_WRITE_RGBA_SPAN(15, unsigned short)
-IMPLEMENT_WRITE_RGB_SPAN(15, unsigned short)
-IMPLEMENT_WRITE_MONO_RGBA_SPAN(15, unsigned short)
-IMPLEMENT_READ_RGBA_SPAN(15, unsigned short)
-IMPLEMENT_WRITE_RGBA_PIXELS(15, unsigned short)
-IMPLEMENT_WRITE_MONO_RGBA_PIXELS(15, unsigned short)
-IMPLEMENT_READ_RGBA_PIXELS(15, unsigned short)
-
-
-/**********************************************************************/
-/***** 16-bit accelerated drawing funcs *****/
-/**********************************************************************/
-
-IMPLEMENT_WRITE_RGBA_SPAN(16, unsigned short)
-IMPLEMENT_WRITE_RGB_SPAN(16, unsigned short)
-IMPLEMENT_WRITE_MONO_RGBA_SPAN(16, unsigned short)
-IMPLEMENT_READ_RGBA_SPAN(16, unsigned short)
-IMPLEMENT_WRITE_RGBA_PIXELS(16, unsigned short)
-IMPLEMENT_WRITE_MONO_RGBA_PIXELS(16, unsigned short)
-IMPLEMENT_READ_RGBA_PIXELS(16, unsigned short)
-
-
-/**********************************************************************/
-/***** 32-bit accelerated drawing funcs *****/
-/**********************************************************************/
-
-IMPLEMENT_WRITE_RGBA_SPAN(32, unsigned long)
-IMPLEMENT_WRITE_RGB_SPAN(32, unsigned long)
-IMPLEMENT_WRITE_MONO_RGBA_SPAN(32, unsigned long)
-IMPLEMENT_READ_RGBA_SPAN(32, unsigned long)
-IMPLEMENT_WRITE_RGBA_PIXELS(32, unsigned long)
-IMPLEMENT_WRITE_MONO_RGBA_PIXELS(32, unsigned long)
-IMPLEMENT_READ_RGBA_PIXELS(32, unsigned long)
-
-
-/**********************************************************************/
-/***** Miscellaneous device driver funcs *****/
-/**********************************************************************/
-
-static GLboolean set_buffer(GLcontext *ctx, GLframebuffer *buffer, GLuint bit)
- {
- AMesaContext context = (AMesaContext)(ctx->DriverCtx);
- GLboolean ok = GL_TRUE;
-
- if (bit == DD_FRONT_LEFT_BIT)
- context->Buffer->Active = context->Buffer->Screen;
-
- else if (bit == DD_BACK_LEFT)
- {
- if (context->Buffer->Background)
- context->Buffer->Active = context->Buffer->Background;
- else
- ok = GL_FALSE;
- }
-
- else
- ok = GL_FALSE;
-
- return ok;
- }
-
-
-static void get_buffer_size(GLcontext *ctx, GLuint *width, GLuint *height)
- {
- AMesaContext context = (AMesaContext)(ctx->DriverCtx);
-
- *width = context->Buffer->Width;
- *height = context->Buffer->Height;
- }
-
-
-/**
- * We only implement this function as a mechanism to check if the
- * framebuffer size has changed (and update corresponding state).
- */
-static void viewport(GLcontext *ctx, GLint x, GLint y, GLsizei w, GLsizei h)
-{
- /* poll for window size change and realloc software Z/stencil/etc if needed */
- GLuint newWidth, newHeight;
- GLframebuffer *buffer = ctx->WinSysDrawBuffer;
- get_buffer_size( &newWidth, &newHeight );
- if (buffer->Width != newWidth || buffer->Height != newHeight) {
- _mesa_resize_framebuffer(ctx, buffer, newWidth, newHeight );
- }
-
-}
-
-
-/**********************************************************************/
-/**********************************************************************/
-
-static void setup_dd_pointers(GLcontext *ctx)
- {
- AMesaContext context = (AMesaContext)(ctx->DriverCtx);
-
- /* Initialize all the pointers in the driver struct. Do this whenever */
- /* a new context is made current or we change buffers via set_buffer! */
-
- ctx->Driver.UpdateState = setup_dd_pointers;
- ctx->Driver.SetBuffer = set_buffer;
- ctx->Driver.GetBufferSize = get_buffer_size;
- ctx->Driver.Viewport = viewport;
-
- ctx->Driver.Color = set_color_generic;
- ctx->Driver.ClearColor = clear_color_generic;
- ctx->Driver.Clear = clear_generic;
- ctx->Driver.WriteRGBASpan = write_rgba_span_generic;
- ctx->Driver.WriteRGBSpan = write_rgb_span_generic;
- ctx->Driver.WriteMonoRGBASpan = write_mono_rgba_span_generic;
- ctx->Driver.WriteRGBAPixels = write_rgba_pixels_generic;
- ctx->Driver.WriteMonoRGBAPixels = write_mono_rgba_pixels_generic;
- ctx->Driver.ReadRGBASpan = read_rgba_span_generic;
- ctx->Driver.ReadRGBAPixels = read_rgba_pixels_generic;
-
- if (context->Buffer->Active != screen)
- {
- switch (context->Visual->Depth)
- {
- case 15:
- ctx->Driver.WriteRGBASpan = write_rgba_span_15;
- ctx->Driver.WriteRGBSpan = write_rgb_span_15;
- ctx->Driver.WriteMonoRGBASpan = write_mono_rgba_span_15;
- ctx->Driver.WriteRGBAPixels = write_rgba_pixels_15;
- ctx->Driver.WriteMonoRGBAPixels = write_mono_rgba_pixels_15;
- ctx->Driver.ReadRGBASpan = read_rgba_span_15;
- ctx->Driver.ReadRGBAPixels = read_rgba_pixels_15;
- break;
-
- case 16:
- ctx->Driver.WriteRGBASpan = write_rgba_span_16;
- ctx->Driver.WriteRGBSpan = write_rgb_span_16;
- ctx->Driver.WriteMonoRGBASpan = write_mono_rgba_span_16;
- ctx->Driver.WriteRGBAPixels = write_rgba_pixels_16;
- ctx->Driver.WriteMonoRGBAPixels = write_mono_rgba_pixels_16;
- ctx->Driver.ReadRGBASpan = read_rgba_span_16;
- ctx->Driver.ReadRGBAPixels = read_rgba_pixels_16;
- break;
-
- case 32:
- ctx->Driver.WriteRGBASpan = write_rgba_span_32;
- ctx->Driver.WriteRGBSpan = write_rgb_span_32;
- ctx->Driver.WriteMonoRGBASpan = write_mono_rgba_span_32;
- ctx->Driver.WriteRGBAPixels = write_rgba_pixels_32;
- ctx->Driver.WriteMonoRGBAPixels = write_mono_rgba_pixels_32;
- ctx->Driver.ReadRGBASpan = read_rgba_span_32;
- ctx->Driver.ReadRGBAPixels = read_rgba_pixels_32;
- break;
- }
- }
- }
-
-
-/**********************************************************************/
-/***** AMesa Public API Functions *****/
-/**********************************************************************/
-
-
-AMesaVisual AMesaCreateVisual(GLboolean dbFlag, GLint depth,
- GLint depthSize, GLint stencilSize, GLint accumSize)
- {
- AMesaVisual visual;
- GLbyte redBits, greenBits, blueBits;
-
- visual = (AMesaVisual)calloc(1, sizeof(struct amesa_visual));
- if (!visual)
- return NULL;
-
- switch (depth)
- {
- case 15:
- redBits = 5;
- greenBits = 5;
- blueBits = 5;
- break;
-
- case 16:
- redBits = 5;
- greenBits = 6;
- blueBits = 5;
- break;
-
- case 24: case 32:
- redBits = 8;
- greenBits = 8;
- blueBits = 8;
- break;
-
- default:
- free(visual);
- return NULL;
- }
-
- visual->DBFlag = dbFlag;
- visual->Depth = depth;
- visual->GLVisual = _mesa_create_visual(GL_TRUE, /* rgb mode */
- dbFlag, /* db_flag */
- GL_FALSE, /* stereo */
- redBits, greenBits, blueBits, 8,
- 0, /* index bits */
- depthSize, /* depth bits */
- stencilSize,/* stencil bits */
- accumSize, /* accum bits */
- accumSize, /* accum bits */
- accumSize, /* accum bits */
- accumSize, /* accum bits */
- 1 );
- if (!visual->GLVisual)
- {
- free(visual);
- return NULL;
- }
-
- return visual;
- }
-
-
-void AMesaDestroyVisual(AMesaVisual visual)
- {
- _mesa_destroy_visual(visual->GLVisual);
- free(visual);
- }
-
-
-AMesaBuffer AMesaCreateBuffer(AMesaVisual visual,
- GLint width, GLint height)
- {
- AMesaBuffer buffer;
-
- buffer = (AMesaBuffer)calloc(1, sizeof(struct amesa_buffer));
- if (!buffer)
- return NULL;
-
- buffer->Screen = NULL;
- buffer->Background = NULL;
- buffer->Active = NULL;
- buffer->Width = width;
- buffer->Height = height;
-
- if (visual->DBFlag)
- {
- buffer->Background = create_bitmap_ex(visual->Depth, width, height);
- if (!buffer->Background)
- {
- free(buffer);
- return NULL;
- }
- }
-
- buffer->GLBuffer = _mesa_create_framebuffer(visual->GLVisual);
- if (!buffer->GLBuffer)
- {
- if (buffer->Background) destroy_bitmap(buffer->Background);
- free(buffer);
- return NULL;
- }
-
- return buffer;
- }
-
-
-void AMesaDestroyBuffer(AMesaBuffer buffer)
-{
- if (buffer->Screen) destroy_bitmap(buffer->Screen);
- if (buffer->Background) destroy_bitmap(buffer->Background);
- _mesa_reference_framebuffer(&buffer->GLBuffer, NULL);
- free(buffer);
-}
-
-
-AMesaContext AMesaCreateContext(AMesaVisual visual,
- AMesaContext share)
-{
- AMesaContext context;
- GLboolean direct = GL_FALSE;
-
- context = (AMesaContext)calloc(1, sizeof(struct amesa_context));
- if (!context)
- return NULL;
-
- context->Visual = visual;
- context->Buffer = NULL;
- context->ClearColor = 0;
- context->CurrentColor = 0;
- context->GLContext = _mesa_create_context(visual->GLVisual,
- share ? share->GLContext : NULL,
- (void *) context, GL_FALSE );
- if (!context->GLContext)
- {
- free(context);
- return NULL;
- }
-
- return context;
-}
-
-
-void AMesaDestroyContext(AMesaContext context)
-{
- _mesa_destroy_context(context->GLContext);
- free(context);
-}
-
-
-GLboolean AMesaMakeCurrent(AMesaContext context, AMesaBuffer buffer)
-{
- if (context && buffer) {
- set_color_depth(context->Visual->Depth);
- if (set_gfx_mode(GFX_AUTODETECT, buffer->Width, buffer->Height, 0, 0) != 0)
- return GL_FALSE;
-
- context->Buffer = buffer;
- buffer->Screen = screen;
- buffer->Active = buffer->Background ? buffer->Background : screen;
-
- setup_dd_pointers(context->GLContext);
- _mesa_make_current(context->GLContext, buffer->GLBuffer);
- }
- else {
- /* XXX I don't think you want to destroy anything here! */
- destroy_bitmap(context->Buffer->Screen);
- context->Buffer->Screen = NULL;
- context->Buffer->Active = NULL;
- context->Buffer = NULL;
- _mesa_make_current(NULL, NULL);
- }
-
- return GL_TRUE;
-}
-
-
-void AMesaSwapBuffers(AMesaBuffer buffer)
-{
- if (buffer->Background) {
- blit(buffer->Background, buffer->Screen,
- 0, 0, 0, 0,
- buffer->Width, buffer->Height);
- }
-}
diff --git a/src/mesa/drivers/allegro/amesa.h b/src/mesa/drivers/allegro/amesa.h
deleted file mode 100644
index 852d34cf4f..0000000000
--- a/src/mesa/drivers/allegro/amesa.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Mesa 3-D graphics library
- * Version: 3.3
- *
- * Copyright (C) 1999-2000 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
- * BRIAN PAUL 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.
- */
-
-
-/* Allegro (DJGPP) driver by Bernhard Tschirren (bernie-t@geocities.com) */
-
-
-#ifndef AMESA_H
-#define AMESA_H
-
-
-#define AMESA_MAJOR_VERSION 3
-#define AMESA_MINOR_VERSION 3
-
-
-typedef struct amesa_visual *AMesaVisual;
-typedef struct amesa_buffer *AMesaBuffer;
-typedef struct amesa_context *AMesaContext;
-
-
-extern AMesaVisual AMesaCreateVisual(GLboolean dbFlag, GLint depth,
- GLint depthSize,
- GLint stencilSize,
- GLint accumSize);
-
-extern void AMesaDestroyVisual(AMesaVisual visual);
-
-extern AMesaBuffer AMesaCreateBuffer(AMesaVisual visual,
- GLint width, GLint height);
-
-extern void AMesaDestroyBuffer(AMesaBuffer buffer);
-
-
-extern AMesaContext AMesaCreateContext(AMesaVisual visual,
- AMesaContext sharelist);
-
-extern void AMesaDestroyContext(AMesaContext context);
-
-extern GLboolean AMesaMakeCurrent(AMesaContext context, AMesaBuffer buffer);
-
-extern void AMesaSwapBuffers(AMesaBuffer buffer);
-
-
-#endif /* AMESA_H */
diff --git a/src/mesa/drivers/allegro/direct.h b/src/mesa/drivers/allegro/direct.h
deleted file mode 100644
index bd8b5eb49d..0000000000
--- a/src/mesa/drivers/allegro/direct.h
+++ /dev/null
@@ -1,189 +0,0 @@
-/*
- * Mesa 3-D graphics library
- * Version: 3.0
- * Copyright (C) 1995-1998 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-
-#define DESTINATION(BMP, X, Y, TYPE) \
- ({ \
- BITMAP *_bmp = BMP; \
- \
- (TYPE*)(_bmp->line[_bmp->h - (Y) - 1]) + (X); \
- })
-
-
-#define IMPLEMENT_WRITE_RGBA_SPAN(DEPTH, TYPE) \
-static void write_rgba_span_##DEPTH (const GLcontext *ctx, \
- GLuint n, GLint x, GLint y, \
- const GLubyte rgba[][4], \
- const GLubyte mask[]) \
- { \
- AMesaContext context = (AMesaContext)(ctx->DriverCtx); \
- TYPE *d = DESTINATION(context->Buffer->Active, x, y, TYPE); \
- \
- if (mask) \
- { \
- while (n--) \
- { \
- if (mask[0]) d[0] = makecol##DEPTH(rgba[0][RCOMP], rgba[0][GCOMP], rgba[0][BCOMP]); \
- d++; rgba++; mask++; \
- } \
- } \
- else \
- { \
- while (n--) \
- { \
- d[0] = makecol##DEPTH(rgba[0][RCOMP], rgba[0][GCOMP], rgba[0][BCOMP]); \
- d++; rgba++; \
- } \
- } \
- }
-
-
-#define IMPLEMENT_WRITE_RGB_SPAN(DEPTH, TYPE) \
-static void write_rgb_span_##DEPTH (const GLcontext *ctx, \
- GLuint n, GLint x, GLint y, \
- const GLubyte rgb[][3], \
- const GLubyte mask[]) \
- { \
- AMesaContext context = (AMesaContext)(ctx->DriverCtx); \
- TYPE *d = DESTINATION(context->Buffer->Active, x, y, TYPE); \
- \
- if (mask) \
- { \
- while (n--) \
- { \
- if (mask[0]) d[0] = makecol##DEPTH(rgb[0][RCOMP], rgb[0][GCOMP], rgb[0][BCOMP]); \
- d++; rgb++; mask++; \
- } \
- } \
- else \
- { \
- while (n--) \
- { \
- d[0] = makecol##DEPTH(rgb[0][RCOMP], rgb[0][GCOMP], rgb[0][BCOMP]); \
- d++; rgb++; \
- } \
- } \
- }
-
-
-#define IMPLEMENT_WRITE_MONO_RGBA_SPAN(DEPTH, TYPE) \
-static void write_mono_rgba_span_##DEPTH (const GLcontext *ctx, \
- GLuint n, GLint x, GLint y, \
- const GLubyte mask[]) \
- { \
- AMesaContext context = (AMesaContext)(ctx->DriverCtx); \
- TYPE color = context->CurrentColor; \
- TYPE *d = DESTINATION(context->Buffer->Active, x, y, TYPE); \
- \
- while (n--) \
- { \
- if (mask[0]) d[0] = color; \
- d++; mask++; \
- } \
- }
-
-
-#define IMPLEMENT_READ_RGBA_SPAN(DEPTH, TYPE) \
-static void read_rgba_span_##DEPTH (const GLcontext *ctx, \
- GLuint n, GLint x, GLint y, \
- GLubyte rgba[][4]) \
- { \
- AMesaContext context = (AMesaContext)(ctx->DriverCtx); \
- BITMAP *bmp = context->Buffer->Active; \
- TYPE *d = DESTINATION(bmp, x, y, TYPE); \
- \
- while (n--) \
- { \
- rgba[0][RCOMP] = getr##DEPTH(d[0]); \
- rgba[0][GCOMP] = getg##DEPTH(d[0]); \
- rgba[0][BCOMP] = getb##DEPTH(d[0]); \
- rgba[0][ACOMP] = 255; \
- \
- d++; rgba++; \
- } \
- }
-
-
-#define IMPLEMENT_WRITE_RGBA_PIXELS(DEPTH, TYPE) \
-static void write_rgba_pixels_##DEPTH (const GLcontext *ctx, \
- GLuint n, \
- const GLint x[], \
- const GLint y[], \
- const GLubyte rgba[][4], \
- const GLubyte mask[]) \
- { \
- AMesaContext context = (AMesaContext)(ctx->DriverCtx); \
- BITMAP *bmp = context->Buffer->Active; \
- \
- while (n--) \
- { \
- if (mask[0]) *DESTINATION(bmp, x[0], y[0], TYPE) = makecol##DEPTH(rgba[0][RCOMP], rgba[0][GCOMP], rgba[0][BCOMP]); \
- rgba++; x++; y++; mask++; \
- } \
- }
-
-
-
-#define IMPLEMENT_WRITE_MONO_RGBA_PIXELS(DEPTH, TYPE) \
-static void write_mono_rgba_pixels_##DEPTH (const GLcontext *ctx, \
- GLuint n, \
- const GLint x[], \
- const GLint y[], \
- const GLubyte mask[]) \
- { \
- AMesaContext context = (AMesaContext)(ctx->DriverCtx); \
- TYPE color = context->CurrentColor; \
- BITMAP *bmp = context->Buffer->Active; \
- \
- while (n--) \
- { \
- if (mask[0]) *DESTINATION(bmp, x[0], y[0], TYPE) = color; \
- x++; y++; mask++; \
- } \
- }
-
-
-#define IMPLEMENT_READ_RGBA_PIXELS(DEPTH, TYPE) \
-static void read_rgba_pixels_##DEPTH (const GLcontext *ctx, \
- GLuint n, \
- const GLint x[], \
- const GLint y[], \
- GLubyte rgba[][4], \
- const GLubyte mask[]) \
- { \
- AMesaContext context = (AMesaContext)(ctx->DriverCtx); \
- BITMAP *bmp = context->Buffer->Active; \
- \
- while (n--) \
- { \
- if (mask[0]) \
- { \
- int color = *DESTINATION(bmp, x[0], y[0], TYPE); \
- \
- rgba[0][RCOMP] = getr##DEPTH(color); \
- rgba[0][GCOMP] = getg##DEPTH(color); \
- rgba[0][BCOMP] = getb##DEPTH(color); \
- rgba[0][ACOMP] = 255; \
- } \
- \
- x++; y++; rgba++; mask++; \
- } \
- }
-
diff --git a/src/mesa/drivers/allegro/generic.h b/src/mesa/drivers/allegro/generic.h
deleted file mode 100644
index 4c8af9b95c..0000000000
--- a/src/mesa/drivers/allegro/generic.h
+++ /dev/null
@@ -1,234 +0,0 @@
-/*
- * Mesa 3-D graphics library
- * Version: 3.0
- * Copyright (C) 1995-1998 Brian Paul
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-static void clear_color_generic(GLcontext *ctx, const GLfloat color[4])
- {
- AMesaContext context = (AMesaContext)(ctx->DriverCtx);
- GLubyte r, g, b;
- CLAMPED_FLOAT_TO_UBYTE(r, color[0]);
- CLAMPED_FLOAT_TO_UBYTE(g, color[1]);
- CLAMPED_FLOAT_TO_UBYTE(b, color[2]);
- context->ClearColor = makecol(r, g, b);
- }
-
-
-static void set_color_generic(GLcontext *ctx,
- GLubyte red, GLubyte green,
- GLubyte blue, GLubyte alpha)
- {
- AMesaContext context = (AMesaContext)(ctx->DriverCtx);
-
- context->CurrentColor = makecol(red, green, blue);
- }
-
-
-static GLbitfield clear_generic(GLcontext *ctx,
- GLbitfield mask, GLboolean all,
- GLint x, GLint y,
- GLint width, GLint height)
- {
- AMesaContext context = (AMesaContext)(ctx->DriverCtx);
-
- if (mask & GL_COLOR_BUFFER_BIT)
- {
- if (all)
- clear_to_color(context->Buffer->Active, context->ClearColor);
- else
- rect(context->Buffer->Active,
- x, y, x+width-1, y+height-1,
- context->ClearColor);
- }
-
- return mask & (~GL_COLOR_BUFFER_BIT);
- }
-
-
-static void write_rgba_span_generic(const GLcontext *ctx,
- GLuint n, GLint x, GLint y,
- const GLubyte rgba[][4],
- const GLubyte mask[])
- {
- AMesaContext context = (AMesaContext)(ctx->DriverCtx);
- BITMAP *bmp = context->Buffer->Active;
-
- y = FLIP(context, y);
-
- if (mask)
- {
- while (n--)
- {
- if (mask[0]) putpixel(bmp, x, y, makecol(rgba[0][RCOMP], rgba[0][GCOMP], rgba[0][BCOMP]));
- x++; mask++; rgba++;
- }
- }
- else
- {
- while (n--)
- {
- putpixel(bmp, x, y, makecol(rgba[0][RCOMP], rgba[0][GCOMP], rgba[0][BCOMP]));
- x++; rgba++;
- }
- }
- }
-
-
-static void write_rgb_span_generic(const GLcontext *ctx,
- GLuint n, GLint x, GLint y,
- const GLubyte rgb[][3],
- const GLubyte mask[])
- {
- AMesaContext context = (AMesaContext)(ctx->DriverCtx);
- BITMAP *bmp = context->Buffer->Active;
-
- y = FLIP(context, y);
-
- if (mask)
- {
- while(n--)
- {
- if (mask[0]) putpixel(bmp, x, y, makecol(rgb[0][RCOMP], rgb[0][GCOMP], rgb[0][BCOMP]));
- x++; mask++; rgb++;
- }
- }
- else
- {
- while (n--)
- {
- putpixel(bmp, x, y, makecol(rgb[0][RCOMP], rgb[0][GCOMP], rgb[0][BCOMP]));
- x++; rgb++;
- }
- }
- }
-
-
-static void write_mono_rgba_span_generic(const GLcontext *ctx,
- GLuint n, GLint x, GLint y,
- const GLubyte mask[])
- {
- AMesaContext context = (AMesaContext)(ctx->DriverCtx);
- BITMAP *bmp = context->Buffer->Active;
- int color = context->CurrentColor;
-
- y = FLIP(context, y);
-
- if (mask)
- {
- while(n--)
- {
- if (mask[0]) putpixel(bmp, x, y, color);
- x++; mask++;
- }
- }
- else
- {
- while(n--)
- {
- putpixel(bmp, x, y, color);
- x++;
- }
- }
- }
-
-
-static void read_rgba_span_generic(const GLcontext *ctx,
- GLuint n, GLint x, GLint y,
- GLubyte rgba[][4])
- {
- AMesaContext context = (AMesaContext)(ctx->DriverCtx);
- BITMAP *bmp = context->Buffer->Active;
-
- y = FLIP(context, y);
-
- while (n--)
- {
- int color = getpixel(bmp, x, y);
-
- rgba[0][RCOMP] = getr(color);
- rgba[0][GCOMP] = getg(color);
- rgba[0][BCOMP] = getb(color);
- rgba[0][ACOMP] = 255;
-
- x++; rgba++;
- }
- }
-
-
-static void write_rgba_pixels_generic(const GLcontext *ctx,
- GLuint n,
- const GLint x[],
- const GLint y[],
- const GLubyte rgba[][4],
- const GLubyte mask[])
- {
- AMesaContext context = (AMesaContext)(ctx->DriverCtx);
- BITMAP *bmp = context->Buffer->Active;
-
- while (n--)
- {
- if (mask[0]) putpixel(bmp, x[0], FLIP(context, y[0]), makecol(rgba[0][RCOMP], rgba[0][GCOMP], rgba[0][BCOMP]));
- x++; y++; mask++;
- }
- }
-
-
-static void write_mono_rgba_pixels_generic(const GLcontext *ctx,
- GLuint n,
- const GLint x[],
- const GLint y[],
- const GLubyte mask[])
- {
- AMesaContext context = (AMesaContext)(ctx->DriverCtx);
- BITMAP *bmp = context->Buffer->Active;
- int color = context->CurrentColor;
-
- while (n--)
- {
- if (mask[0]) putpixel(bmp, x[0], FLIP(context, y[0]), color);
- x++; y++; mask++;
- }
- }
-
-
-static void read_rgba_pixels_generic(const GLcontext *ctx,
- GLuint n,
- const GLint x[],
- const GLint y[],
- GLubyte rgba[][4],
- const GLubyte mask[])
- {
- AMesaContext context = (AMesaContext)(ctx->DriverCtx);
- BITMAP *bmp = context->Buffer->Active;
-
- while (n--)
- {
- if (mask[0])
- {
- int color = getpixel(bmp, x[0], FLIP(context, y[0]));
-
- rgba[0][RCOMP] = getr(color);
- rgba[0][GCOMP] = getg(color);
- rgba[0][BCOMP] = getb(color);
- rgba[0][ACOMP] = 255;
- }
-
- x++; y++; mask++; rgba++;
- }
- }
-
diff --git a/src/mesa/drivers/d3d/D3DCAPS.CPP b/src/mesa/drivers/d3d/D3DCAPS.CPP
deleted file mode 100644
index 80ee91d922..0000000000
--- a/src/mesa/drivers/d3d/D3DCAPS.CPP
+++ /dev/null
@@ -1,250 +0,0 @@
-/*===========================================================================*/
-/* */
-/* Mesa-3.0 DirectX 6 Driver Build 5 */
-/* */
-/* By Leigh McRae */
-/* */
-/* http://www.altsoftware.com/ */
-/* */
-/* Copyright (c) 1999-1998 alt.software inc. All Rights Reserved */
-/*===========================================================================*/
-#include "D3DHAL.h"
-/*===========================================================================*/
-/* Macros. */
-/*===========================================================================*/
-#define SRCBLEND_MAP(gl,d3d,fall) if ( pHAL->D3DHWDevDesc.dpcTriCaps.dwSrcBlendCaps & d3d ) \
- { \
- sprintf( buffer, "SRC Blend: %s -> %s", # gl, # d3d ); \
- DPF(( (DBG_CNTX_INFO|DBG_TXT_INFO), buffer )); \
- pShared->dwSrcBlendCaps[index] = d3d; \
- } \
- else \
- { \
- sprintf( buffer, "SRC Blend: %s -> %s", # gl, # fall ); \
- DPF(( (DBG_CNTX_INFO|DBG_TXT_INFO), buffer )); \
- pShared->dwSrcBlendCaps[index] = fall; \
- }
-#define DSTBLEND_MAP(gl,d3d,fall) if ( pHAL->D3DHWDevDesc.dpcTriCaps.dwDestBlendCaps & d3d ) \
- { \
- sprintf( buffer, "DST Blend: %s -> %s", # gl, # d3d ); \
- DPF(( (DBG_CNTX_INFO|DBG_TXT_INFO), buffer )); \
- pShared->dwDestBlendCaps[index] = d3d; \
- } \
- else \
- { \
- sprintf( buffer, "DST Blend: %s -> %s", # gl, # fall ); \
- DPF(( (DBG_CNTX_INFO|DBG_TXT_INFO), buffer )); \
- pShared->dwDestBlendCaps[index] = fall; \
- }
-
-/*===========================================================================*/
-/* I use this function to handle the fact that the D3D texture blending and */
-/* OpenGL texture blending functions don't map one to one. Also there is the*/
-/* problem with cards not supporting all the D3D functions. So I use the CAPS*/
-/* of the card to make a table of functions that will have defaults for the */
-/* unsupported functions. */
-/* So first I fill the table with the fallback function then I check to see */
-/* if the card supports the requested function. If it does I replace the */
-/* default thats already in the array. Now order does matter as I used an */
-/* enum type in D3DShared.h so that the mapping would be a little easier. */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-void AlphaBlendTableHAL( PMESAD3DHAL pHAL )
-{
- PMESAD3DSHARED pShared = &pHAL->shared;
- int index;
- char buffer[128];
-
- DPF(( DBG_FUNC, "AlphaBlendTableHAL();" ));
-
- /* Make the fallback for the Source blend. */
- for( index = 0; index < 14; index++ )
- {
- switch( index )
- {
- case s_zero:
- SRCBLEND_MAP( GL_ZERO, D3DBLEND_ZERO, D3DBLEND_ONE );
- break;
- case s_one:
- SRCBLEND_MAP( GL_ONE, D3DBLEND_ONE, D3DBLEND_ONE );
- break;
- case s_dst_color:
- SRCBLEND_MAP( GL_DST_COLOR, D3DBLEND_DESTCOLOR, D3DBLEND_ONE );
- break;
- case s_one_minus_dst_color:
- SRCBLEND_MAP( GL_ONE_MINUS_DST_COLOR, D3DBLEND_INVDESTCOLOR, D3DBLEND_ONE );
- break;
- case s_src_alpha:
- SRCBLEND_MAP( GL_SRC_ALPHA, D3DBLEND_SRCALPHA, D3DBLEND_ONE );
- break;
- case s_one_minus_src_alpha:
- SRCBLEND_MAP( GL_ONE_MINUS_SRC_ALPHA, D3DBLEND_INVSRCALPHA, D3DBLEND_ONE );
- break;
- case s_dst_alpha:
- SRCBLEND_MAP( GL_DST_ALPHA, D3DBLEND_DESTALPHA, D3DBLEND_ONE );
- break;
- case s_one_minus_dst_alpha:
- SRCBLEND_MAP( GL_ONE_MINUS_DST_ALPHA, D3DBLEND_INVDESTALPHA, D3DBLEND_ONE );
- break;
- case s_src_alpha_saturate:
- SRCBLEND_MAP( GL_SRC_ALPHA_SATURATE, D3DBLEND_SRCALPHASAT, D3DBLEND_ONE );
- break;
- case s_constant_color:
- SRCBLEND_MAP( GL_CONSTANT_COLOR, D3DBLEND_SRCCOLOR, D3DBLEND_ONE );
- break;
- case s_one_minus_constant_color:
- SRCBLEND_MAP( GL_ONE_MINUS_CONSTANT_COLOR, D3DBLEND_INVSRCCOLOR, D3DBLEND_ONE );
- break;
- case s_constant_alpha:
- SRCBLEND_MAP( GL_CONSTANT_ALPHA, D3DBLEND_BOTHSRCALPHA, D3DBLEND_ONE );
- break;
- case s_one_minus_constant_alpha:
- SRCBLEND_MAP( GL_ONE_MINUS_CONSTANT_ALPHA, D3DBLEND_BOTHINVSRCALPHA, D3DBLEND_ONE );
- break;
- }
- }
-
- /* Make the fallback for the Destination blend. */
- for( index = 0; index < 14; index++ )
- {
- switch( index )
- {
- case d_zero:
- DSTBLEND_MAP( GL_ZERO, D3DBLEND_ZERO, D3DBLEND_ONE );
- break;
- case d_one:
- DSTBLEND_MAP( GL_ONE, D3DBLEND_ONE, D3DBLEND_ONE );
- break;
- case d_src_color:
- DSTBLEND_MAP( GL_SRC_COLOR, D3DBLEND_SRCCOLOR, D3DBLEND_ONE );
- break;
- case d_one_minus_src_color:
- DSTBLEND_MAP( GL_ONE_MINUS_SRC_COLOR, D3DBLEND_INVSRCCOLOR, D3DBLEND_ONE );
- break;
- case d_src_alpha:
- DSTBLEND_MAP( GL_SRC_ALPHA, D3DBLEND_SRCALPHA, D3DBLEND_ONE );
- break;
- case d_one_minus_src_alpha:
- DSTBLEND_MAP( GL_ONE_MINUS_SRC_ALPHA, D3DBLEND_INVSRCALPHA, D3DBLEND_ONE );
- break;
- case d_dst_alpha:
- DSTBLEND_MAP( GL_DST_ALPHA, D3DBLEND_DESTALPHA, D3DBLEND_ONE );
- break;
- case d_one_minus_dst_alpha:
- DSTBLEND_MAP( GL_ONE_MINUS_DST_ALPHA, D3DBLEND_INVDESTALPHA, D3DBLEND_ONE );
- break;
- case d_constant_color:
- DSTBLEND_MAP( GL_CONSTANT_COLOR, D3DBLEND_DESTCOLOR, D3DBLEND_ONE );
- break;
- case d_one_minus_constant_color:
- DSTBLEND_MAP( GL_ONE_MINUS_CONSTANT_COLOR, D3DBLEND_INVDESTCOLOR, D3DBLEND_ONE );
- break;
- case d_constant_alpha:
- DSTBLEND_MAP( GL_CONSTANT_ALPHAR, D3DBLEND_BOTHSRCALPHA, D3DBLEND_ONE );
- break;
- case d_one_minus_constant_alpha:
- DSTBLEND_MAP( GL_ONE_MINUS_CONSTANT_ALPHA, D3DBLEND_BOTHINVSRCALPHA, D3DBLEND_ONE );
- break;
- }
- }
-
- /* Make the fallbacks for the texture functions. */
- for( index = 0; index < 4; index++ )
- {
- switch( index )
- {
- case d3dtblend_decal:
- if ( pHAL->D3DHWDevDesc.dpcTriCaps.dwTextureBlendCaps & D3DTBLEND_DECAL )
- {
- DPF(( (DBG_CNTX_INFO|DBG_TXT_INFO), "D3DTBLEND_DECAL -> D3DTBLEND_DECAL" ));
- pShared->dwTexFunc[index] = D3DTBLEND_DECAL;
- }
- else
- {
- if ( pHAL->D3DHWDevDesc.dpcTriCaps.dwTextureBlendCaps & D3DTBLEND_MODULATE )
- {
- DPF(( (DBG_CNTX_INFO|DBG_TXT_INFO), "D3DTBLEND_DECAL -> D3DTBLEND_MODULATE" ));
- pShared->dwTexFunc[index] = D3DTBLEND_MODULATE;
- }
- else
- {
- DPF(( (DBG_CNTX_INFO|DBG_TXT_INFO), "D3DTBLEND_DECAL -> D3DTBLEND_ADD" ));
- pShared->dwTexFunc[index] = D3DTBLEND_ADD;
- }
- }
- break;
- case d3dtblend_decalalpha:
- if ( pHAL->D3DHWDevDesc.dpcTriCaps.dwTextureBlendCaps & D3DTBLEND_DECALALPHA )
- {
- DPF(( (DBG_CNTX_INFO|DBG_TXT_INFO), "D3DTBLEND_DECALALPHA -> D3DTBLEND_DECALALPHA" ));
- pShared->dwTexFunc[index] = D3DTBLEND_DECALALPHA;
- }
- else
- {
- if ( pHAL->D3DHWDevDesc.dpcTriCaps.dwTextureBlendCaps & D3DTBLEND_DECAL )
- {
- DPF(( (DBG_CNTX_INFO|DBG_TXT_INFO), "D3DTBLEND_DECALALPA -> D3DTBLEND_DECAL" ));
- pShared->dwTexFunc[index] = D3DTBLEND_DECAL;
- }
- else
- {
- DPF(( (DBG_CNTX_INFO|DBG_TXT_INFO), "D3DTBLEND_DECALALPHA -> D3DTBLEND_ADD" ));
- pShared->dwTexFunc[index] = D3DTBLEND_ADD;
- }
- }
- break;
- case d3dtblend_modulate:
- if ( pHAL->D3DHWDevDesc.dpcTriCaps.dwTextureBlendCaps & D3DTBLEND_MODULATE )
- {
- DPF(( (DBG_CNTX_INFO|DBG_TXT_INFO), "D3DTBLEND_MODULATE -> D3DTBLEND_MODULATE" ));
- pShared->dwTexFunc[index] = D3DTBLEND_MODULATE;
- }
- else
- {
- if ( pHAL->D3DHWDevDesc.dpcTriCaps.dwTextureBlendCaps & D3DTBLEND_MODULATEALPHA )
- {
- DPF(( (DBG_CNTX_INFO|DBG_TXT_INFO), "D3DTBLEND_MODULATE -> D3DTBLEND_MODULATEALPHA" ));
- pShared->dwTexFunc[index] = D3DTBLEND_MODULATEALPHA;
- }
- else if ( pHAL->D3DHWDevDesc.dpcTriCaps.dwTextureBlendCaps & D3DTBLEND_DECAL )
- {
- DPF(( (DBG_CNTX_INFO|DBG_TXT_INFO), "D3DTBLEND_MODULATE -> D3DTBLEND_DECAL" ));
- pShared->dwTexFunc[index] = D3DTBLEND_DECAL;
- }
- else
- {
- DPF(( (DBG_CNTX_INFO|DBG_TXT_INFO), "D3DTBLEND_MODULATE -> D3DTBLEND_ADD" ));
- pShared->dwTexFunc[index] = D3DTBLEND_ADD;
- }
- }
- break;
- case d3dtblend_modulatealpha:
- if ( pHAL->D3DHWDevDesc.dpcTriCaps.dwTextureBlendCaps & D3DTBLEND_MODULATEALPHA )
- {
- DPF(( (DBG_CNTX_INFO|DBG_TXT_INFO), "D3DTBLEND_MODULATEALPHA -> D3DTBLEND_MODULATEALPHA" ));
- pShared->dwTexFunc[index] = D3DTBLEND_MODULATEALPHA;
- }
- else
- {
- if ( pHAL->D3DHWDevDesc.dpcTriCaps.dwTextureBlendCaps & D3DTBLEND_MODULATE )
- {
- DPF(( (DBG_CNTX_INFO|DBG_TXT_INFO), "D3DTBLEND_MODULATEALPHA -> D3DTBLEND_MODULATE" ));
- pShared->dwTexFunc[index] = D3DTBLEND_MODULATE;
- }
- else if ( pHAL->D3DHWDevDesc.dpcTriCaps.dwTextureBlendCaps & D3DTBLEND_DECAL )
- {
- DPF(( (DBG_CNTX_INFO|DBG_TXT_INFO), "D3DTBLEND_MODULATEALPHA -> D3DTBLEND_DECALE" ));
- pShared->dwTexFunc[index] = D3DTBLEND_DECAL;
- }
- else
- {
- DPF(( (DBG_CNTX_INFO|DBG_TXT_INFO), "D3DTBLEND_MODULATEALPHA -> D3DTBLEND_ADD" ));
- pShared->dwTexFunc[index] = D3DTBLEND_ADD;
- }
- }
- break;
- }
- }
-}
-
diff --git a/src/mesa/drivers/d3d/D3DHAL.H b/src/mesa/drivers/d3d/D3DHAL.H
deleted file mode 100644
index 2496d164e5..0000000000
--- a/src/mesa/drivers/d3d/D3DHAL.H
+++ /dev/null
@@ -1,68 +0,0 @@
-/*===========================================================================*/
-/* */
-/* Mesa-3.0 DirectX 6 Driver */
-/* */
-/* By Leigh McRae */
-/* */
-/* http://www.altsoftware.com/ */
-/* */
-/* Copyright (c) 1999-1998 alt.software inc. All Rights Reserved */
-/*===========================================================================*/
-#ifndef _D3D_HAL_INC
-#define _D3D_HAL_INC
-
-/*===========================================================================*/
-/* Includes. */
-/*===========================================================================*/
-#include <windows.h>
-#include <ddraw.h>
-#include <d3d.h>
-#include <stdlib.h>
-#include <time.h>
-#include "D3DShared.h"
-#include "D3DTextureMgr.h"
-#include "Debug.h"
-/*===========================================================================*/
-/* Defines. */
-/*===========================================================================*/
-#define DX_RESTORE(ps) if ( (ps) && (ps)->IsLost() ) (ps)->Restore();
-/*===========================================================================*/
-/* Type defines. */
-/*===========================================================================*/
-typedef struct _d3d_hal_struct
-{
- MESAD3DSHARED shared;
-
- GUID guid;
- LPDIRECTDRAW lpDD;
- LPDIRECTDRAW4 lpDD4;
- LPDIRECT3D3 lpD3D3;
- LPDIRECT3DDEVICE3 lpD3DDevice;
- D3DDEVICEDESC D3DHWDevDesc;
- LPDIRECTDRAWSURFACE4 lpDDSPrimary,
- lpDDSRender,
- lpDDSZbuffer;
- LPDIRECT3DVIEWPORT3 lpViewport;
- LPDIRECTDRAWCLIPPER lpClipper;
- DDPIXELFORMAT ddpf,
- ddpfZBuffer;
- PTM_OBJECT pTMList;
-
-} MESAD3DHAL, *PMESAD3DHAL;
-/*===========================================================================*/
-/* External function prototypes. */
-/*===========================================================================*/
-extern BOOL InitTMgrHAL( PMESAD3DHAL pHAL );
-extern void TermTMgrHAL( PMESAD3DHAL pHAL );
-extern void AlphaBlendTableHAL( PMESAD3DHAL pHAL );
-
-extern void Solve8BitChannelPixelFormat( DDPIXELFORMAT *pddpf, PPIXELINFO pPixel );
-extern char *ErrorStringD3D( HRESULT hr );
-extern void FatalShutDown( PMESAD3DHAL pHAL );
-/*===========================================================================*/
-/* Global variables. */
-/*===========================================================================*/
-extern char *errorMsg;
-
-#endif
-
diff --git a/src/mesa/drivers/d3d/D3DInit.cpp b/src/mesa/drivers/d3d/D3DInit.cpp
deleted file mode 100644
index e21cd21e25..0000000000
--- a/src/mesa/drivers/d3d/D3DInit.cpp
+++ /dev/null
@@ -1,891 +0,0 @@
-/*===========================================================================*/
-/* */
-/* Mesa-3.0 DirectX 6 Driver Build 5 */
-/* */
-/* By Leigh McRae */
-/* */
-/* http://www.altsoftware.com/ */
-/* */
-/* Copyright (c) 1999-1998 alt.software inc. All Rights Reserved */
-/*===========================================================================*/
-#include "D3DHAL.h"
-/*===========================================================================*/
-/* Local function prototypes. */
-/*===========================================================================*/
-static void DestroyAllSurfaces( PMESAD3DHAL pHAL );
-static void DestroyDevice( PMESAD3DHAL pHAL );
-static void DestroyInterfaces( PMESAD3DHAL pHAL );
-
-HRESULT WINAPI EnumSurfacesHook( LPDIRECTDRAWSURFACE4 lpDDS, LPDDSURFACEDESC2 lpDDSDesc, LPVOID pVoid );
-HRESULT CALLBACK EnumZBufferHook( DDPIXELFORMAT* pddpf, VOID *pVoid );
-HRESULT CALLBACK EnumDeviceHook( GUID FAR* lpGuid, LPSTR lpDesc, LPSTR lpName, LPD3DDEVICEDESC lpD3DHWDesc, LPD3DDEVICEDESC lpD3DHELDesc, void *pVoid );
-/*===========================================================================*/
-/* Globals. */
-/*===========================================================================*/
-//char *errorMsg;
-/*===========================================================================*/
-/* This function is responable for allocating the actual MESAD3DHAL struct. */
-/* Each Mesa context will have its own MESAD3DHAL struct so its like a mini */
-/* context to some extent. All one time allocations/operations get done here.*/
-/*===========================================================================*/
-/* RETURN: TRUE, FALSE. */
-/*===========================================================================*/
-extern "C" PMESAD3DSHARED InitHAL( HWND hwnd )
-{
- PMESAD3DHAL pHAL;
- ULONG rc;
-
- DPF(( DBG_FUNC, "InitHAL();" ));
- DPF(( DBG_CNTX_INFO, "hwnd: %d", hwnd ));
-
- /* Allocate the structure and zero it out. */
- pHAL = (PMESAD3DHAL)ALLOC( sizeof(MESAD3DHAL) );
- if ( pHAL == NULL )
- {
- RIP( pHAL, "InitHAL->", "Memory Allocation" );
- return (PMESAD3DSHARED)NULL;
- }
- memset( pHAL, 0, sizeof(MESAD3DHAL) );
-
- /* Get the texture manager going. */
- rc = InitTMgrHAL( pHAL );
- if ( rc == FALSE )
- {
- RIP( pHAL, "InitTMgrHAL->", "Failed" );
- return (PMESAD3DSHARED)NULL;
- }
-
- /* Fill in the window parameters if we can. */
- pHAL->shared.hwnd = hwnd;
-
- /* Parse the user's enviroment variables to generate a debug mask. */
- ReadDBGEnv();
-
- return (PMESAD3DSHARED)pHAL;
-}
-/*===========================================================================*/
-/* This function will unload all the resources that the MESAD3DHAL struct */
-/* has bound to it. The actual structure itself will be freed. */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-extern "C" void TermHAL( PMESAD3DSHARED pShared )
-{
- PMESAD3DHAL pHAL = (PMESAD3DHAL)pShared;
-
- DPF(( DBG_FUNC, "TermHAL();" ));
-
- /* Check for an empty wrapper structure. */
- if ( pHAL == NULL )
- return;
-
- /* Kill this texture manager. */
- TermTMgrHAL( pHAL );
-
- /* Kill any DDraw stuff if exists. */
- DestroyDevice( pHAL );
- DestroyAllSurfaces( pHAL );
- DestroyInterfaces( pHAL );
-
- FREE( pHAL );
-}
-/*===========================================================================*/
-/* This function is used to init and resize the rendering surface as the two*/
-/* are almost the same. First the device and all the surfaces are destoryed */
-/* if they already exist. Next we create a OffScreen rendering surface and */
-/* save some pixelformat info to do color convertions. Next we start to take */
-/* care of getting the most out of the hardware. I use bHardware to determine*/
-/* the state of the device we found in the device enumeration. The enum proc*/
-/* will try for hardware first. I next use a bForceSW to make the enum proc */
-/* choose a software device. So I will try some combinations with HW first */
-/* until I feel I have to set the bForceSW and call this function again. If */
-/* this function is called with no width or height then use the internals. */
-/* NOTE: The worst case is that all will be in SW (RGBDevice) and really */
-/* I should forget the whole thing and fall back to a DDraw span type*/
-/* rendering but what is the point. This way I always know I have a */
-/* D3DDevice and that makes things easier. I do impliment the span */
-/* rendering function for stuff that I haven't done support for such */
-/* as points and lines. */
-/*===========================================================================*/
-/* RETURN: TRUE, FALSE */
-/*===========================================================================*/
-extern "C" BOOL CreateHAL( PMESAD3DSHARED pShared )
-{
- PMESAD3DHAL pHAL = (PMESAD3DHAL)pShared;
- DDSURFACEDESC2 ddsd2;
- D3DDEVICEDESC D3DSWDevDesc;
- DDSCAPS2 ddscaps;
- DWORD dwCoopFlags,
- dwWidth,
- dwHeight;
- ULONG rc;
-
- DPF(( DBG_FUNC, "CreateHAL();" ));
-
-#define InitDDSD2(f) memset( &ddsd2, 0, sizeof(DDSURFACEDESC2) ); \
- ddsd2.dwSize = sizeof( DDSURFACEDESC2 ); \
- ddsd2.dwFlags = f;
-
- if ( pHAL == NULL )
- return FALSE;
-
- /* Use the internal rectangle struct. */
- dwWidth = pShared->rectW.right - pShared->rectW.left;
- dwHeight = pShared->rectW.bottom - pShared->rectW.top;
-
- DPF(( DBG_CNTX_INFO, "Width: %d Height: %d", dwWidth, dwHeight ));
-
- /* The dimensions might still be the same so just leave. */
- if ( (dwWidth == pShared->dwWidth) && (dwHeight == pShared->dwHeight) )
- {
- DPF(( DBG_CNTX_WARN, "Context size hasn't changed" ));
- return TRUE;
- }
-
- /* If one of the dimensions are zero then leave. WM_SIZE should get us back here. */
- if ( (dwWidth == 0) || (dwHeight == 0) )
- return TRUE;
-
- /* Save the renders dimensions. */
- pShared->dwWidth = dwWidth;
- pShared->dwHeight = dwHeight;
-
- DPF(( DBG_CNTX_INFO, "Creating Context:\n cx:%d cy:%d", pShared->dwWidth, pShared->dwHeight ));
-
- /*=================================*/
- /* Create all required interfaces. */
- /*=================================*/
-
- /* Kill any DDraw stuff if exists. */
- DestroyDevice( pHAL );
- DestroyAllSurfaces( pHAL );
- DestroyInterfaces( pHAL );
-
- /* Create a instance of DDraw using the Primary display driver. */
- rc = DirectDrawCreate( NULL, &pHAL->lpDD, NULL );
- if( FAILED(rc) )
- {
- RIP( pHAL, "DirectDrawCreate->", ErrorStringD3D(rc) );
- return FALSE;
- }
-
- /* Get the DDraw4 interface. */
- rc = pHAL->lpDD->QueryInterface( IID_IDirectDraw4, (void **)&pHAL->lpDD4 );
- if( FAILED(rc) )
- {
- RIP( pHAL, "QueryInterface (IID_IDirectDraw4) ->", ErrorStringD3D(rc) );
- return FALSE;
- }
-
- /* Get the Direct3D3 interface. */
- rc = pHAL->lpDD4->QueryInterface( IID_IDirect3D3, (void **)&pHAL->lpD3D3 );
- if( FAILED(rc) )
- {
- RIP( pHAL, "QueryInterface (IID_IDirect3D3) ->", ErrorStringD3D(rc) );
- return FALSE;
- }
-
- /* Set the Cooperative level. NOTE: we need to know if we are FS at this point.*/
- dwCoopFlags = (pShared->bWindow == TRUE) ? DDSCL_NORMAL : (DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN);
- rc = pHAL->lpDD4->SetCooperativeLevel( pShared->hwnd, dwCoopFlags );
- if ( FAILED(rc) )
- {
- RIP( pHAL, "SetCooperativeLevel->", ErrorStringD3D(rc) );
- return FALSE;
- }
-
- /*==================================================================*/
- /* Get the best device we can and note whether its hardware or not. */
- /*==================================================================*/
- pShared->bForceSW = FALSE;
- pHAL->lpD3D3->EnumDevices( EnumDeviceHook, (void *)pHAL );
- pShared->bHardware = IsEqualIID( pHAL->guid, IID_IDirect3DHALDevice );
- DPF(( DBG_CNTX_INFO, "bHardware: %s", (pShared->bHardware) ? "TRUE" : "FALSE" ));
- DPF(( DBG_CNTX_INFO, "bWindowed: %s", (pShared->bWindow) ? "TRUE" : "FALSE" ));
-
- /*========================================================================*/
- /* HARDWARE was found. */
- /*========================================================================*/
- if ( pShared->bHardware == TRUE )
- {
- /*===================================*/
- /* HARDWARE -> Z-BUFFER. */
- /*===================================*/
-
- /* Get a Z-Buffer pixelformat. */
- memset( &ddsd2, 0, sizeof(DDSURFACEDESC2) );
- ddsd2.dwSize = sizeof( DDSURFACEDESC2 );
- rc = pHAL->lpD3D3->EnumZBufferFormats( pHAL->guid, EnumZBufferHook, (VOID*)&ddsd2.ddpfPixelFormat );
- if ( FAILED(rc) )
- {
- RIP( pHAL, "EnumZBufferFormatsl->", ErrorStringD3D(rc) );
- return FALSE;
- }
-
- /* Setup our request structure for the Z-buffer surface. */
- ddsd2.dwFlags = DDSD_CAPS | DDSD_WIDTH | DDSD_HEIGHT | DDSD_PIXELFORMAT;
- ddsd2.ddsCaps.dwCaps = DDSCAPS_ZBUFFER | DDSCAPS_VIDEOMEMORY;
- ddsd2.dwWidth = dwWidth;
- ddsd2.dwHeight = dwHeight;
- rc = pHAL->lpDD4->CreateSurface( &ddsd2, &pHAL->lpDDSZbuffer, NULL );
- if ( !FAILED(rc) )
- {
- DPF(( DBG_CNTX_INFO, "HW ZBuffer" ));
-
- /*===================================*/
- /* HARDWARE -> Z-BUFFER -> FLIPABLE */
- /*===================================*/
- if ( pShared->bWindow == FALSE )
- {
- InitDDSD2( DDSD_CAPS | DDSD_BACKBUFFERCOUNT );
- ddsd2.dwBackBufferCount = 1;
- ddsd2.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE | DDSCAPS_3DDEVICE | DDSCAPS_FLIP | DDSCAPS_COMPLEX;
- rc = pHAL->lpDD4->CreateSurface( &ddsd2, &pHAL->lpDDSPrimary, NULL );
- if ( FAILED(rc) )
- {
- /* Make sure we try the next fall back. */
- DPF(( DBG_CNTX_WARN, "HW Flip/Complex not available" ));
- pHAL->lpDDSPrimary = NULL;
- }
- else
- {
- /* Get the back buffer that was created. */
- ddscaps.dwCaps = DDSCAPS_BACKBUFFER;
- rc = pHAL->lpDDSPrimary->GetAttachedSurface( &ddscaps, &pHAL->lpDDSRender );
- if ( FAILED(rc) )
- {
- DPF(( DBG_CNTX_WARN, "GetAttachedSurface failed -> HW Flip/Complex" ));
-
- /* Make sure we try the next fall back. */
- pHAL->lpDDSPrimary->Release();
- pHAL->lpDDSPrimary = NULL;
- }
- else
- {
- /* I have had problems when a complex surface comes back */
- /* with the back buffer being created in SW. Not sure why */
- /* or how this is possable but I'm checking for it here. */
- memset( &ddsd2, 0, sizeof(DDSURFACEDESC2) );
- ddsd2.dwSize = sizeof( DDSURFACEDESC2 );
- DX_RESTORE( pHAL->lpDDSRender );
- rc = pHAL->lpDDSRender->GetSurfaceDesc( &ddsd2 );
- if ( FAILED(rc) )
- {
- RIP( pHAL, "GetSurfaceDesc (RENDER) ->", ErrorStringD3D(rc) );
- return FALSE;
- }
-
- /* If the surface is in VID then we are happy with are Flipable. */
- if ( ddsd2.ddsCaps.dwCaps & DDSCAPS_LOCALVIDMEM )
- {
- pShared->bFlipable = TRUE;
- DPF(( DBG_CNTX_INFO, "HW Flip/Complex!" ));
- }
- else
- {
- /* Kill this setup. */
- pHAL->lpDDSPrimary->Release();
- pHAL->lpDDSPrimary = NULL;
- }
- }
- }
- }
-
- /*===================================*/
- /* HARDWARE -> Z-BUFFER -> BLT */
- /*===================================*/
- if ( pHAL->lpDDSPrimary == NULL )
- {
- pShared->bFlipable = FALSE;
-
- /* Create the Primary (front buffer). */
- InitDDSD2( DDSD_CAPS );
- ddsd2.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE;
- rc = pHAL->lpDD4->CreateSurface( &ddsd2, &pHAL->lpDDSPrimary, NULL );
- if ( FAILED(rc) )
- {
- /* This is an error as we should be able to do this at minimum. */
- RIP( pHAL, "CreateSurface (PRIMARY) ->", ErrorStringD3D(rc) );
- return FALSE;
- }
-
- /* Create the Render (back buffer). */
- InitDDSD2( DDSD_CAPS | DDSD_WIDTH | DDSD_HEIGHT );
- ddsd2.dwWidth = dwWidth;
- ddsd2.dwHeight = dwHeight;
- ddsd2.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN | DDSCAPS_3DDEVICE;
- rc = pHAL->lpDD4->CreateSurface( &ddsd2, &pHAL->lpDDSRender, NULL );
- if ( FAILED(rc) )
- {
- DPF(( DBG_CNTX_WARN, "Failed HW Offscreen surface" ));
-
- /* Make sure we try the next fall back. */
- pHAL->lpDDSPrimary->Release();
- pHAL->lpDDSPrimary = NULL;
- }
- else
- {
- /* Might as well check here too see if this surface is in */
- /* hardware. If nothing else just to be consistant. */
- memset( &ddsd2, 0, sizeof(DDSURFACEDESC2) );
- ddsd2.dwSize = sizeof( DDSURFACEDESC2 );
- DX_RESTORE( pHAL->lpDDSRender );
- rc = pHAL->lpDDSRender->GetSurfaceDesc( &ddsd2 );
- if ( FAILED(rc) )
- {
- RIP( pHAL, "GetSurfaceDesc (RENDER) ->", ErrorStringD3D(rc) );
- return FALSE;
- }
-
- /* If the surface is in VID then we are happy. */
- if ( ddsd2.ddsCaps.dwCaps & DDSCAPS_LOCALVIDMEM )
- {
- /* Create a clipper object so that DDraw will be able to blt windows that */
- /* have been clipped by the screen or other windows. */
- pHAL->lpDD4->CreateClipper( 0, &pHAL->lpClipper, NULL );
- pHAL->lpClipper->SetHWnd( 0, pShared->hwnd );
- pHAL->lpDDSPrimary->SetClipper( pHAL->lpClipper );
- pHAL->lpClipper->Release();
- DPF(( DBG_CNTX_INFO, "HW RENDER surface" ));
- }
- else
- {
- /* Kill this setup. */
- pHAL->lpDDSRender->Release();
- pHAL->lpDDSRender = NULL;
- pHAL->lpDDSPrimary->Release();
- pHAL->lpDDSPrimary = NULL;
- }
- }
- }
-
- /*===================================*/
- /* Create D3DDEVICE -> HARDWARE. */
- /*===================================*/
- if ( pHAL->lpDDSZbuffer && pHAL->lpDDSPrimary && pHAL->lpDDSRender )
- {
- DX_RESTORE( pHAL->lpDDSRender );
- DX_RESTORE( pHAL->lpDDSZbuffer );
-
- rc = pHAL->lpDDSRender->AddAttachedSurface( pHAL->lpDDSZbuffer );
- if ( FAILED(rc) )
- {
- RIP( pHAL, "AddAttachedSurface (ZBUFFER) ->", ErrorStringD3D(rc) );
- return FALSE;
- }
-
- rc = pHAL->lpD3D3->CreateDevice( IID_IDirect3DHALDevice, pHAL->lpDDSRender, &pHAL->lpD3DDevice, NULL );
- if ( rc != D3D_OK )
- {
- DPF(( DBG_CNTX_WARN, "Failed HW Device" ));
- pHAL->lpD3DDevice = NULL;
- }
- else
- {
- DPF(( DBG_CNTX_INFO, "HW Device" ));
- }
- }
- }
- }
-
- /*========================================================================*/
- /* SOFTWARE fallback. */
- /*========================================================================*/
- if ( pHAL->lpD3DDevice == NULL )
- {
- DPF(( DBG_CNTX_INFO, "SW fallback :(" ));
-
- /* Make sure we have no surfaces allocated. Just incase. */
- DestroyAllSurfaces( pHAL );
-
- /* Get a software device. */
- pShared->bFlipable = FALSE;
- pShared->bForceSW = TRUE;
- pHAL->lpD3D3->EnumDevices( EnumDeviceHook, (void *)pHAL );
- pShared->bHardware = IsEqualIID( pHAL->guid, IID_IDirect3DHALDevice );
-
- /*===================================*/
- /* SOFTWARE -> Z-BUFFER. */
- /*===================================*/
-
- /*===================================*/
- /* SOFTWARE -> Z-BUFFER -> FLIPABLE */
- /*===================================*/
- if ( pShared->bWindow == FALSE )
- {
- InitDDSD2( DDSD_CAPS | DDSD_BACKBUFFERCOUNT );
- ddsd2.dwBackBufferCount = 1;
- ddsd2.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE | DDSCAPS_3DDEVICE | DDSCAPS_FLIP | DDSCAPS_COMPLEX;
- ddsd2.ddpfPixelFormat.dwSize = sizeof( DDPIXELFORMAT );
- ddsd2.ddpfPixelFormat.dwFlags = (DDPF_RGB | DDPF_ALPHAPIXELS);
- rc = pHAL->lpDD4->CreateSurface( &ddsd2, &pHAL->lpDDSPrimary, NULL );
- if ( FAILED(rc) )
- {
- DPF(( DBG_CNTX_WARN, "Failed SW Flip/Complex" ));
-
- /* Make sure we try the next fall back. */
- pHAL->lpDDSPrimary = NULL;
- }
- else
- {
- ddscaps.dwCaps = DDSCAPS_BACKBUFFER;
- rc = pHAL->lpDDSPrimary->GetAttachedSurface( &ddscaps, &pHAL->lpDDSRender );
- if ( FAILED(rc) )
- {
- /* Make sure we try the next fall back. */
- DPF(( DBG_CNTX_WARN, "GetAttachedSurface failed -> SW Flip/Complex" ));
- pHAL->lpDDSPrimary->Release();
- pHAL->lpDDSPrimary = NULL;
- }
- else
- {
- DPF(( DBG_CNTX_INFO, "SW Flip/Complex" ));
- pShared->bFlipable = TRUE;
- }
- }
- }
-
- /*===================================*/
- /* SOFTWARE -> Z-BUFFER -> BLT */
- /*===================================*/
- if ( pHAL->lpDDSPrimary == NULL )
- {
- /* Create the Primary (front buffer). */
- InitDDSD2( DDSD_CAPS );
- ddsd2.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE;
- rc = pHAL->lpDD4->CreateSurface( &ddsd2, &pHAL->lpDDSPrimary, NULL );
- if ( FAILED(rc) )
- {
- /* This is an error as we should be able to do this at minimum. */
- RIP( pHAL, "CreateSurface (PRIMARY) ->", ErrorStringD3D(rc) );
- return FALSE;
- }
-
- /* Create the Render (back buffer). */
- InitDDSD2( DDSD_CAPS | DDSD_WIDTH | DDSD_HEIGHT );
- ddsd2.dwWidth = dwWidth;
- ddsd2.dwHeight = dwHeight;
- ddsd2.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN | DDSCAPS_3DDEVICE;
- ddsd2.ddpfPixelFormat.dwSize = sizeof( DDPIXELFORMAT );
- ddsd2.ddpfPixelFormat.dwFlags = (DDPF_RGB | DDPF_ALPHAPIXELS);
- rc = pHAL->lpDD4->CreateSurface( &ddsd2, &pHAL->lpDDSRender, NULL );
- if ( FAILED(rc) )
- {
- /* That was our last hope. */
- RIP( pHAL, "CreateSurface (RENDER) ->", ErrorStringD3D(rc) );
- return FALSE;
- }
- else
- {
- DPF(( DBG_CNTX_INFO, "SW RENDER surface" ));
-
- /* Create a clipper object so that DDraw will be able to blt windows that */
- /* have been clipped by the screen or other windows. */
- pHAL->lpDD4->CreateClipper( 0, &pHAL->lpClipper, NULL );
- pHAL->lpClipper->SetHWnd( 0, pShared->hwnd );
- pHAL->lpDDSPrimary->SetClipper( pHAL->lpClipper );
- pHAL->lpClipper->Release();
- }
- }
-
- /*===================================*/
- /* Create D3DDEVICE -> SOFTWARE. */
- /*===================================*/
- if ( pHAL->lpDDSPrimary && pHAL->lpDDSRender )
- {
- DX_RESTORE( pHAL->lpDDSRender );
- rc = pHAL->lpD3D3->CreateDevice( IID_IDirect3DRGBDevice, pHAL->lpDDSRender, &pHAL->lpD3DDevice, NULL );
- if ( rc != D3D_OK )
- {
- /* That was our last hope. */
- RIP( pHAL, "CreateDevice (IID_IDirect3DRGBDevice) ->", ErrorStringD3D(rc) );
- return FALSE;
- }
-
- DPF(( DBG_CNTX_INFO, "SW Device" ));
- }
- }
-
- /*==============================================================================*/
- /* Get a copy of the render pixelformat so that wgl.c can call GetPixelInfoD3D. */
- /*==============================================================================*/
- memset( &pHAL->ddpf, 0, sizeof(DDPIXELFORMAT) );
- pHAL->ddpf.dwSize = sizeof( DDPIXELFORMAT );
- rc = pHAL->lpDDSRender->GetPixelFormat( &pHAL->ddpf );
- if ( FAILED(rc) )
- {
- RIP( pHAL, "GetPixelFormat ->", ErrorStringD3D(rc) );
- return FALSE;
- }
- DebugPixelFormat( "Using OFFSCREEN", &pHAL->ddpf );
- DebugPixelFormat( "Using ZBUFFER", &ddsd2.ddpfPixelFormat );
-
- /* Get a copy of what the D3DDevice supports for later use. */
- memset( &D3DSWDevDesc, 0, sizeof(D3DDEVICEDESC) );
- memset( &pHAL->D3DHWDevDesc, 0, sizeof(D3DDEVICEDESC) );
- D3DSWDevDesc.dwSize = sizeof( D3DDEVICEDESC );
- pHAL->D3DHWDevDesc.dwSize = sizeof( D3DDEVICEDESC );
- rc = pHAL->lpD3DDevice->GetCaps( &pHAL->D3DHWDevDesc, &D3DSWDevDesc );
- if ( FAILED(rc) )
- {
- RIP( pHAL, "GetCaps ->", ErrorStringD3D(rc) );
- return FALSE;
- }
-
- /* Get a copy of the pixel convertion stuff for direct buffer access. */
- Solve8BitChannelPixelFormat( &pHAL->ddpf, &pShared->pixel );
- AlphaBlendTableHAL( pHAL );
-
- /* We must prime the Begin/End scene for SwapBuffers to work. */
- rc = pHAL->lpD3DDevice->BeginScene();
- if ( FAILED(rc) )
- {
- RIP( pHAL, "BeginScene ->", ErrorStringD3D(rc) );
- return FALSE;
- }
-
-#undef InitDDSD2
-
- return TRUE;
-}
-/*===========================================================================*/
-/* This function will make sure a viewport is created and set for the device*/
-/* in the supplied structure. If a rect is supplied then it will be used for*/
-/* the viewport otherwise the current setting in the strucute will be used. */
-/* Note that the rect is relative to the window. So left/top must be 0,0 to */
-/* use the whole window else there is scissoring going down. */
-/*===========================================================================*/
-/* RETURN: TRUE, FALSE. */
-/*===========================================================================*/
-extern "C" BOOL SetViewportHAL( PMESAD3DSHARED pShared, RECT *pRect, float minZ, float maxZ )
-{
- PMESAD3DHAL pHAL = (PMESAD3DHAL)pShared;
- D3DVIEWPORT2 vdData;
- ULONG rc;
- POINT pt;
-
- DPF(( DBG_FUNC, "SetViewportHAL();" ));
-
- /* Make sure we have enough info. */
- if ( !pHAL || !pHAL->lpDDSPrimary || !pHAL->lpD3DDevice )
- {
- DPF(( DBG_CNTX_WARN, "SetViewport() -> NULL Pointer" ));
- return FALSE;
- }
-
- /* TODO: this is just a temp fix to stop redundant changes. */
- if ( pRect &&
- (pShared->rectV.left == pRect->left) &&
- (pShared->rectV.right == pRect->right) &&
- (pShared->rectV.top == pRect->top) &&
- (pShared->rectV.bottom == pRect->bottom) )
- {
- DPF(( DBG_CNTX_WARN, "Redundant viewport" ));
- return TRUE;
- }
-
- DPF(( DBG_CNTX_INFO, "Current Viewport:" ));
- DPF(( DBG_CNTX_INFO, "x: %d y: %d", pShared->rectV.left, pShared->rectV.top ));
- DPF(( DBG_CNTX_INFO, "cx: %d cy: %d", (pShared->rectV.right-pShared->rectV.left), (pShared->rectV.bottom-pShared->rectV.top) ));
- DPF(( DBG_CNTX_INFO, "New Viewport:" ));
- DPF(( DBG_CNTX_INFO, "x: %d y: %d", pRect->left, pRect->top ));
- DPF(( DBG_CNTX_INFO, "cx: %d cy: %d", (pRect->right-pRect->left), (pRect->bottom-pRect->top) ));
-
- /* Update the current viewport rect if one is supplied. */
- if ( pRect )
- memcpy( &pShared->rectV, pRect, sizeof(RECT) );
-
- /* Build the request structure. */
- memset( &vdData, 0, sizeof(D3DVIEWPORT2) );
- vdData.dwSize = sizeof(D3DVIEWPORT2);
- vdData.dwX = pShared->rectV.left;
- vdData.dwY = pShared->rectV.top;
- vdData.dwWidth = (pShared->rectV.right - pShared->rectV.left);
- vdData.dwHeight = (pShared->rectV.bottom - pShared->rectV.top);
-
- if ( !vdData.dwWidth || !vdData.dwHeight )
- {
- GetClientRect( pShared->hwnd, &pShared->rectW );
- pt.x = pt.y = 0;
- ClientToScreen( pShared->hwnd, &pt );
- OffsetRect( &pShared->rectW, pt.x, pt.y);
- vdData.dwX = pShared->rectW.left;
- vdData.dwY = pShared->rectW.top;
- vdData.dwWidth = (pShared->rectW.right - pShared->rectW.left);
- vdData.dwHeight = (pShared->rectW.bottom - pShared->rectW.top);
- memcpy( &pShared->rectV, &pShared->rectW, sizeof(RECT) );
- }
-
- // The dvClipX, dvClipY, dvClipWidth, dvClipHeight, dvMinZ,
- // and dvMaxZ members define the non-normalized post-perspective
- // 3-D view volume which is visible to the viewer. In most cases,
- // dvClipX is set to -1.0 and dvClipY is set to the inverse of
- // the viewport's aspect ratio on the target surface, which can be
- // calculated by dividing the dwHeight member by dwWidth. Similarly,
- // the dvClipWidth member is typically 2.0 and dvClipHeight is set
- // to twice the aspect ratio set in dwClipY. The dvMinZ and dvMaxZ
- // are usually set to 0.0 and 1.0.
- vdData.dvClipX = -1.0f;
- vdData.dvClipWidth = 2.0f;
- vdData.dvClipY = 1.0f;
- vdData.dvClipHeight = 2.0f;
- vdData.dvMaxZ = maxZ;
- vdData.dvMinZ = minZ;
-
- DPF(( DBG_CNTX_INFO, "zMin: %f zMax: %f", minZ, maxZ ));
-
- /* I'm going to destroy the viewport everytime as when we size we will */
- /* have a new D3DDevice. As this area doesn't need to be fast... */
- if ( pHAL->lpViewport )
- {
- DPF(( DBG_CNTX_INFO, "DeleteViewport" ));
-
- pHAL->lpD3DDevice->DeleteViewport( pHAL->lpViewport );
- rc = pHAL->lpViewport->Release();
- pHAL->lpViewport = NULL;
- }
-
- rc = pHAL->lpD3D3->CreateViewport( &pHAL->lpViewport, NULL );
- if ( rc != D3D_OK )
- {
- DPF(( DBG_CNTX_ERROR, "CreateViewport Failed" ));
- return FALSE;
- }
-
- /* Update the device with the new viewport. */
- pHAL->lpD3DDevice->AddViewport( pHAL->lpViewport );
- pHAL->lpViewport->SetViewport2( &vdData );
- pHAL->lpD3DDevice->SetCurrentViewport( pHAL->lpViewport );
-
- return TRUE;
-}
-/*===========================================================================*/
-/* */
-/* */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-HRESULT WINAPI EnumSurfacesHook( LPDIRECTDRAWSURFACE4 lpDDS, LPDDSURFACEDESC2 lpDDSDesc, LPVOID pVoid )
-{
- DDSURFACEDESC2 *pddsd2 = (DDSURFACEDESC2 *)pVoid;
-
- DPF(( DBG_FUNC, "EnumSurfacesHook();" ));
-
- if ( (lpDDSDesc->ddpfPixelFormat.dwFlags == pddsd2->ddpfPixelFormat.dwFlags) && (lpDDSDesc->ddsCaps.dwCaps == pddsd2->ddsCaps.dwCaps) )
- {
- /* Save the pixelformat now so that we know we have one. */
- memcpy( pddsd2, lpDDSDesc, sizeof(DDSURFACEDESC2) );
-
- return D3DENUMRET_CANCEL;
- }
-
- return D3DENUMRET_OK;
-}
-/*===========================================================================*/
-/* This is the callback proc to get a Z-Buffer. Thats it. */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-HRESULT CALLBACK EnumZBufferHook( DDPIXELFORMAT* pddpf, VOID *pVoid )
-{
- DDPIXELFORMAT *pddpfChoice = (DDPIXELFORMAT *)pVoid;
-
- DPF(( DBG_FUNC, "EnumZBufferHook();" ));
-
- /* If this is ANY type of depth-buffer, stop. */
- if( pddpf->dwFlags == DDPF_ZBUFFER )
- {
- /* Save the pixelformat now so that we know we have one. */
- memcpy( pddpfChoice, pddpf, sizeof(DDPIXELFORMAT) );
-
- /* I feel if the hardware supports this low then lets use it. Could get ugly. */
- if( pddpf->dwZBufferBitDepth >= 8 )
- {
- return D3DENUMRET_CANCEL;
- }
- }
-
- return D3DENUMRET_OK;
-}
-/*===========================================================================*/
-/* This function handles the callback for the D3DDevice enumeration. Good */
-/* god who's idea was this? The D3D wrapper has two variable related to what*/
-/* kind of device we want and have. First we have a Bool that is set if we */
-/* have allocated a HW device. We always look for the HW device first. The */
-/* other variable is used to force SW. If we have run into a case that we */
-/* want to fallback to SW then we set this. We will fallback if we cannot */
-/* texture in video memory (among others). */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-HRESULT CALLBACK EnumDeviceHook( GUID FAR* lpGuid, LPSTR lpDesc, LPSTR lpName, LPD3DDEVICEDESC lpD3DHWDesc, LPD3DDEVICEDESC lpD3DHELDesc, void *pVoid )
-{
- PMESAD3DHAL pHAL = (PMESAD3DHAL)pVoid;
- LPD3DDEVICEDESC pChoice = lpD3DHWDesc;
-
- DPF(( DBG_FUNC, "EnumDeviceHook();" ));
-
- /* Determine if which device description is valid. */
- if ( pChoice->dcmColorModel == 0 )
- pChoice = lpD3DHELDesc;
-
- /* Make sure we always have a GUID. */
- memcpy( &pHAL->guid, lpGuid, sizeof(GUID) );
-
- /* This controls whether we will except HW or not. */
- if ( pHAL->shared.bForceSW == TRUE )
- {
- return (pChoice == lpD3DHELDesc) ? D3DENUMRET_CANCEL : D3DENUMRET_OK;
- }
-
- /* Always try for hardware. */
- if ( pChoice == lpD3DHWDesc )
- {
- return D3DENUMRET_CANCEL;
- }
-
- return D3DENUMRET_OK;
-}
-/*===========================================================================*/
-/* This function will destroy any and all surfaces that this context has */
-/* allocated. If there is a clipper object then it will also be destoryed as*/
-/* it is part of the Primary Surface. */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-static void DestroyAllSurfaces( PMESAD3DHAL pHAL )
-{
- LONG refCount;
-
- DPF(( DBG_FUNC, "DestroyAllSurfaces();" ));
-
- DX_RESTORE( pHAL->lpDDSPrimary );
- DX_RESTORE( pHAL->lpDDSRender );
- DX_RESTORE( pHAL->lpDDSZbuffer);
-
- if ( pHAL->lpDDSRender )
- {
- pHAL->lpDDSRender->Unlock( NULL );
-
- /* If this isn't a Flipable surface then we must clean up the render. */
- if ( pHAL->shared.bFlipable == FALSE)
- {
- if ( pHAL->lpDDSZbuffer )
- {
- DPF(( DBG_CNTX_INFO, "Remove attached surfaces from RENDER" ));
- pHAL->lpDDSRender->DeleteAttachedSurface( 0, NULL );
- }
-
- DPF(( DBG_CNTX_INFO, "Release RENDER" ));
- refCount = pHAL->lpDDSRender->Release();
- pHAL->lpDDSRender = NULL;
- }
- }
-
- if ( pHAL->lpDDSZbuffer )
- {
- DPF(( DBG_CNTX_INFO, "Release ZBuffer" ));
- pHAL->lpDDSZbuffer->Unlock( NULL );
- refCount = pHAL->lpDDSZbuffer->Release();
- pHAL->lpDDSZbuffer = NULL;
- }
-
- if ( pHAL->lpClipper )
- {
- DPF(( DBG_CNTX_INFO, "Release Clipper" ));
- refCount = pHAL->lpClipper->Release();
- pHAL->lpClipper = NULL;
- }
-
- if ( pHAL->lpDDSPrimary )
- {
- pHAL->lpDDSPrimary->Unlock( NULL );
-
- DPF(( DBG_CNTX_INFO, "Release PRIMARY" ));
- refCount = pHAL->lpDDSPrimary->Release();
- pHAL->lpDDSPrimary = NULL;
- }
-}
-/*===========================================================================*/
-/* This function will destroy the current D3DDevice and any resources that */
-/* belong to it. */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-static void DestroyDevice( PMESAD3DHAL pHAL )
-{
- LONG refCount;
-
- DPF(( DBG_FUNC, "DestroyDevice();" ));
-
- /* Kill the D3D stuff if exists. */
- if ( pHAL->lpViewport )
- {
- DPF(( DBG_CNTX_INFO, "Delete Viewport" ));
- pHAL->lpD3DDevice->DeleteViewport( pHAL->lpViewport );
-
- DPF(( DBG_CNTX_INFO, "Release Viewport" ));
- refCount = pHAL->lpViewport->Release();
- pHAL->lpViewport = NULL;
- }
-
- if ( pHAL->lpD3DDevice != NULL )
- {
- DPF(( DBG_CNTX_INFO, "Release D3DDevice" ));
- refCount = pHAL->lpD3DDevice->EndScene();
- refCount = pHAL->lpD3DDevice->Release();
- pHAL->lpD3DDevice = NULL;
- }
-}
-/*===========================================================================*/
-/* This function will destroy the current D3DDevice and any resources that */
-/* belong to it. */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-static void DestroyInterfaces( PMESAD3DHAL pHAL )
-{
- LONG refCount;
-
- DPF(( DBG_FUNC, "DestroyInterfaces();" ));
-
- if ( pHAL->lpD3D3 != NULL )
- {
- DPF(( DBG_CNTX_INFO, "Release Direct3D3" ));
- refCount = pHAL->lpD3D3->Release();
- pHAL->lpD3D3 = NULL;
- }
-
- if ( pHAL->lpDD4 != NULL )
- {
- DPF(( DBG_CNTX_INFO, "Release DDraw4" ));
- refCount = pHAL->lpDD4->Release();
- pHAL->lpDD4 = NULL;
- }
-
- if ( pHAL->lpDD != NULL )
- {
- DPF(( DBG_CNTX_INFO, "Release DDraw" ));
- refCount = pHAL->lpDD->Release();
- pHAL->lpDD = NULL;
- }
-}
-/*===========================================================================*/
-/* This function will first send (not post) a message to the client window */
-/* that this context is using. The client will respond by unbinding itself */
-/* and binding the 'default' context. This allows the API to be supported */
-/* until the window can be destroyed. Finally we post the quit message to */
-/* the client in hopes to end the application. */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-void FatalShutDown( PMESAD3DHAL pHAL )
-{
- /* Whip this baby in too try and support the API until we die... */
- if ( pHAL )
- SendMessage( pHAL->shared.hwnd, UM_FATALSHUTDOWN, 0L, 0L );
-
- /* Close the client application down. */
- PostQuitMessage( 0 );
-}
-
diff --git a/src/mesa/drivers/d3d/D3DMESA.H b/src/mesa/drivers/d3d/D3DMESA.H
deleted file mode 100644
index 71a7cd8aed..0000000000
--- a/src/mesa/drivers/d3d/D3DMESA.H
+++ /dev/null
@@ -1,84 +0,0 @@
-/*===========================================================================*/
-/* */
-/* Mesa-3.0 DirectX 6 Driver */
-/* */
-/* By Leigh McRae */
-/* */
-/* http://www.altsoftware.com/ */
-/* */
-/* Copyright (c) 1999-1998 alt.software inc. All Rights Reserved */
-/*===========================================================================*/
-#ifndef D3D_MESA_H
-#define D3D_MESA_H
-/*===========================================================================*/
-/* Includes. */
-/*===========================================================================*/
-#include <windows.h>
-#include <ddraw.h>
-#include <d3d.h>
-#include "matrix.h"
-#include "context.h"
-#include "mtypes.h"
-#include "vb.h"
-#include "D3DShared.h"
-#include "Debug.h"
-#include "NULLProcs.h"
-/*===========================================================================*/
-/* Macros. */
-/*===========================================================================*/
-#define FLIP(h,y) (h-y)
-/*===========================================================================*/
-/* Magic numbers. */
-/*===========================================================================*/
-/*===========================================================================*/
-/* Type defines. */
-/*===========================================================================*/
-struct __extensions__
-{
- PROC proc;
- char *name;
-};
-
-typedef GLbitfield (*ClearPROC)( GLcontext *ctx, GLbitfield mask, GLboolean all, GLint x, GLint y, GLint width, GLint height );
-typedef void (*WSpanRGBPROC)( const GLcontext* ctx, GLuint n, GLint x, GLint y, const GLubyte rgb[][3], const GLubyte mask[] );
-typedef void (*WSpanRGBAPROC)( const GLcontext* ctx, GLuint n, GLint x, GLint y, const GLubyte rgba[][4], const GLubyte mask[] );
-typedef void (*WSpanRGBAMonoPROC)( const GLcontext* ctx, GLuint n, GLint x, GLint y, const GLubyte mask[] );
-typedef void (*WPixelsRGBAPROC)( const GLcontext* ctx, GLuint n, const GLint x[], const GLint y[], const GLubyte rgba[][4], const GLubyte mask[] );
-typedef void (*WPixelsRGBAMonoPROC)( const GLcontext* ctx, GLuint n, const GLint x[], const GLint y[], const GLubyte mask[] );
-typedef void (*RSpanRGBAPROC)( const GLcontext* ctx, GLuint n, GLint x, GLint y, GLubyte rgba[][4] );
-typedef void (*RPixelsRGBAPROC)( const GLcontext* ctx, GLuint n, const GLint x[], const GLint y[], GLubyte rgba[][4], const GLubyte mask[] );
-
-typedef struct D3D_mesa_context
-{
- PMESAD3DSHARED pShared;
-
- GLcontext *gl_ctx; /* The core GL/Mesa context */
- GLvisual *gl_visual; /* Describes the buffers */
- GLframebuffer *gl_buffer; /* Depth, stencil, accum, etc buffers */
-
- HDC hdc;
- WNDPROC hOldProc;
-
- UCHAR rClear, /* Current clear colors. */
- gClear,
- bClear,
- aClear,
- rCurrent, /* Current rendering colors. */
- gCurrent,
- bCurrent,
- aCurrent;
-
- struct D3D_mesa_context *next;
-
-} D3DMESACONTEXT, *PD3DMESACONTEXT;
-/*===========================================================================*/
-/* Extern function prototypes. */
-/*===========================================================================*/
-extern void gl_Viewport( GLcontext *ctx, GLint x, GLint y, GLsizei width, GLsizei height );
-/*===========================================================================*/
-/* Global variables. */
-/*===========================================================================*/
-extern D3DTLVERTEX D3DTLVertices[(VB_MAX*6)];
-
-#endif
-
diff --git a/src/mesa/drivers/d3d/D3DRaster.cpp b/src/mesa/drivers/d3d/D3DRaster.cpp
deleted file mode 100644
index 41e42ad94c..0000000000
--- a/src/mesa/drivers/d3d/D3DRaster.cpp
+++ /dev/null
@@ -1,213 +0,0 @@
-/*===========================================================================*/
-/* */
-/* Mesa-3.0 DirectX 6 Driver */
-/* */
-/* By Leigh McRae */
-/* */
-/* http://www.altsoftware.com/ */
-/* */
-/* Copyright (c) 1999-1998 alt.software inc. All Rights Reserved */
-/*===========================================================================*/
-#include "D3DHAL.h"
-/*===========================================================================*/
-/* This function clears the context bound to the supplied shared context. */
-/* The function takes the D3D flags D3DCLEAR_TARGET, D3DCLEAR_STENCIL and */
-/* D3DCLEAR_ZBUFFER. Set bAll to TRUE for a full clear else supply the coord*/
-/* of the rect to be cleared relative to the window. The color is always a */
-/* 32bit value (RGBA). Fill in the z-value and stencil if needed. */
-/* */
-/* TODO: this can be redone to be called by Mesa directly. */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-extern "C" void ClearHAL( PMESAD3DSHARED pShared, DWORD dwFlags, BOOL bAll, int x, int y, int cx, int cy, DWORD dwColor, float zv, DWORD dwStencil )
-{
- PMESAD3DHAL pHAL = (PMESAD3DHAL)pShared;
- D3DRECT d3dRect;
-
-#ifdef D3D_DEBUG
- HRESULT rc;
-
- DPF(( DBG_FUNC, "CleaHAL();" ));
-
- /* Make sure we have enough info. */
- if ( (pHAL == NULL) || (pHAL->lpViewport == NULL) )
- return;
-#endif
-
- if ( bAll )
- {
- /* I assume my viewport is valid. */
- d3dRect.lX1 = pShared->rectV.left;
- d3dRect.lY1 = pShared->rectV.top;
- d3dRect.lX2 = pShared->rectV.right;
- d3dRect.lY2 = pShared->rectV.bottom;
- }
- else
- {
- d3dRect.lX1 = pShared->rectV.left + x;
- d3dRect.lY1 = pShared->rectV.top + y;
- d3dRect.lX2 = d3dRect.lX1 + cx;
- d3dRect.lY2 = d3dRect.lY1 + cy;
- }
-
-#ifdef D3D_DEBUG
- rc = pHAL->lpViewport->Clear2( 1, &d3dRect, dwFlags, dwColor, zv, dwStencil );
- if ( FAILED(rc) )
- {
- RIP( pHAL, "Clear2 ->", ErrorStringD3D(rc) );
- }
-#else
- pHAL->lpViewport->Clear2( 1, &d3dRect, dwFlags, dwColor, zv, dwStencil );
-#endif
-}
-/*===========================================================================*/
-/* Well this is the guts of it all. Here we rasterize the primitives that */
-/* are in their final form. OpenGL has done all the lighting, transfomations*/
-/* and clipping at this point. */
-/* */
-/* TODO: I'm not sure if I want to bother to check for errors on this call. */
-/* The overhead kills me... */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-extern "C" void DrawPrimitiveHAL( PMESAD3DSHARED pShared, D3DPRIMITIVETYPE dptPrimitiveType, D3DTLVERTEX *pVertices, DWORD dwCount )
-{
- PMESAD3DHAL pHAL = (PMESAD3DHAL)pShared;
-
-#ifdef D3D_DEBUG
- HRESULT rc;
-
- DPF(( DBG_FUNC, "DrawPrimitveHAL();" ));
-
- /* Make sure we have enough info. */
- if ( (pHAL == NULL) || (pHAL->lpD3DDevice == NULL) )
- return;
-
- DPF(( DBG_PRIM_INFO, "DP( %d )", dwCount ));
-
- rc = pHAL->lpD3DDevice->DrawPrimitive( dptPrimitiveType,
- D3DFVF_TLVERTEX,
- (LPVOID)pVertices,
- dwCount,
- (D3DDP_DONOTCLIP | D3DDP_DONOTLIGHT) );
- if ( FAILED(rc) )
- {
- RIP( pHAL, "DrawPrimitive ->", ErrorStringD3D(rc) );
- }
-#else
- pHAL->lpD3DDevice->DrawPrimitive( dptPrimitiveType,
- D3DFVF_TLVERTEX,
- (LPVOID)pVertices,
- dwCount,
- (D3DDP_DONOTCLIP | D3DDP_DONOTLIGHT) );
-#endif
-}
-/*===========================================================================*/
-/* This call will handle the swapping of the buffers. Now I didn't bother */
-/* to support single buffered so this will be used for glFlush() as its all */
-/* the same. So first we do an EndScene as we are always considered to be in*/
-/* a BeginScene because when we leave we do a BeginScene. Now note that when*/
-/* the context is created in the first place we do a BeginScene also just to */
-/* get things going. The call will use either Flip/blt based on the type of */
-/* surface was created for rendering. */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-extern "C" void SwapBuffersHAL( PMESAD3DSHARED pShared )
-{
- PMESAD3DHAL pHAL = (PMESAD3DHAL)pShared;
-
-#ifdef D3D_DEBUG
- HRESULT rc;
-
- DPF(( DBG_FUNC, "SwapBuffersHAL();" ));
- DPF(( DBG_ALL_PROFILE, "=================SWAP===================" ));
-
- /* Make sure we have enough info. */
- if ( (pHAL == NULL) || (pHAL->lpD3DDevice == NULL) )
- return;
-
- /* Make sure we have enough info. */
- if ( pHAL->lpDDSPrimary != NULL )
- {
- rc = pHAL->lpD3DDevice->EndScene();
- if ( FAILED(rc) )
- {
- RIP( pHAL, "EndScene ->", ErrorStringD3D(rc) );
- }
-
- if ( pShared->bFlipable )
- {
- DPF(( DBG_CNTX_PROFILE, "Swap->FLIP" ));
- rc = pHAL->lpDDSPrimary->Flip( NULL, DDFLIP_WAIT );
- }
- else
- {
- DPF(( DBG_CNTX_PROFILE, "Swap->Blt" ));
- rc = pHAL->lpDDSPrimary->Blt( &pShared->rectW, pHAL->lpDDSRender, NULL, DDBLT_WAIT, NULL );
- }
- if ( FAILED(rc) )
- {
- RIP( pHAL, "Blt (RENDER/PRIMARY) ->", ErrorStringD3D(rc) );
- }
-
- rc = pHAL->lpD3DDevice->BeginScene();
- if ( FAILED(rc) )
- {
- RIP( pHAL, "BeginScene ->", ErrorStringD3D(rc) );
- }
- }
-#else
- pHAL->lpD3DDevice->EndScene();
-
- if ( pShared->bFlipable )
- pHAL->lpDDSPrimary->Flip( NULL, DDFLIP_WAIT );
- else
- pHAL->lpDDSPrimary->Blt( &pShared->rectW, pHAL->lpDDSRender, NULL, DDBLT_WAIT, NULL );
-
- pHAL->lpD3DDevice->BeginScene();
-
-#endif
-}
-/*===========================================================================*/
-/* This function is a very thin wrapper for the D3D call 'SetRenderState'. */
-/* Using this function requires all the types to be defined by including the */
-/* D3D header file. */
-/* */
-/* TODO: would be much better to get ride of all these calls per VBRender. */
-/* I feel I should get this call into SetRenderStates() the RenderVB. */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-extern "C" void SetStateHAL( PMESAD3DSHARED pShared, DWORD dwType, DWORD dwState )
-{
- PMESAD3DHAL pHAL = (PMESAD3DHAL)pShared;
-
-#ifdef D3D_DEBUG
- HRESULT rc;
-
- DPF(( DBG_FUNC, "SetStateHAL();" ));
-
- /* Make sure we have enough info. */
- if ( (pHAL == NULL) || (pHAL->lpD3DDevice == NULL) )
- return;
-
- rc = pHAL->lpD3DDevice->SetRenderState( (D3DRENDERSTATETYPE)dwType, dwState );
- if ( FAILED(rc) )
- {
- RIP( pHAL, "SetRenderState ->", ErrorStringD3D(rc) );
- }
-
-#else
- pHAL->lpD3DDevice->SetRenderState( (D3DRENDERSTATETYPE)dwType, dwState );
-#endif
-}
-
-
-
-
-
-
-
-
diff --git a/src/mesa/drivers/d3d/D3DShared.h b/src/mesa/drivers/d3d/D3DShared.h
deleted file mode 100644
index cc629e2111..0000000000
--- a/src/mesa/drivers/d3d/D3DShared.h
+++ /dev/null
@@ -1,154 +0,0 @@
-/*===========================================================================*/
-/* */
-/* Mesa-3.0 DirectX 6 Driver */
-/* */
-/* By Leigh McRae */
-/* */
-/* http://www.altsoftware.com/ */
-/* */
-/* Copyright (c) 1999-1998 alt.software inc. All Rights Reserved */
-/*===========================================================================*/
-#ifndef D3D_MESA_ALL_H
-#define D3D_MESA_ALL_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*===========================================================================*/
-/* Includes. */
-/*===========================================================================*/
-#include <stdio.h>
-#include <string.h>
-/*===========================================================================*/
-/* Magic numbers. */
-/*===========================================================================*/
-#define TM_ACTION_LOAD 0x01
-#define TM_ACTION_BIND 0x02
-#define TM_ACTION_UPDATE 0x04
-
-#define UM_FATALSHUTDOWN (WM_USER+42)
-/*===========================================================================*/
-/* Macros defines. */
-/*===========================================================================*/
-#define ALLOC(cb) malloc( (cb) )
-#define FREE(p) { free( (p) ); (p) = NULL; }
-/*===========================================================================*/
-/* Type defines. */
-/*===========================================================================*/
-typedef struct _pixel_convert
-{
- int cb, /* Count in bytes of one pixel. */
- rShift, /* Shift count that postions each componet. */
- gShift,
- bShift,
- aShift;
- float rScale, /* Value that scales a color that ranges 0.0 -> 1.0 */
- gScale, /* to this pixel format. */
- bScale,
- aScale;
- DWORD dwRMask, /* Color mask per component. */
- dwGMask,
- dwBMask,
- dwAMask;
-
-} PIXELINFO, *PPIXELINFO;
-
-
-typedef struct _d3d_shared_info
-{
- HWND hwnd;
- BOOL bWindow,
- bFlipable,
- bForceSW,
- bHardware;
- RECT rectW, /* Window size and postion in screen space. */
- rectV; /* Viewport size and postion. */
- DWORD dwWidth, /* Current render size for quick checks. */
- dwHeight;
-
- PIXELINFO pixel;
- DWORD dwSrcBlendCaps[14], /* See D3DCAPS.CPP */
- dwDestBlendCaps[14],
- dwTexFunc[4];
-
-} MESAD3DSHARED, *PMESAD3DSHARED;
-
-typedef struct _render_options
-{
- BOOL bForceSoftware, /* TODO: Add user switches. */
- bStretchtoPrimary;
-
-} USER_CTRL, *PUSER_CRTL;
-
-enum { s_zero = 0,
- s_one,
- s_dst_color,
- s_one_minus_dst_color,
- s_src_alpha,
- s_one_minus_src_alpha,
- s_dst_alpha,
- s_one_minus_dst_alpha,
- s_src_alpha_saturate,
- s_constant_color,
- s_one_minus_constant_color,
- s_constant_alpha,
- s_one_minus_constant_alpha };
-
-enum { d_zero = 0,
- d_one,
- d_src_color,
- d_one_minus_src_color,
- d_src_alpha,
- d_one_minus_src_alpha,
- d_dst_alpha,
- d_one_minus_dst_alpha,
- d_constant_color,
- d_one_minus_constant_color,
- d_constant_alpha,
- d_one_minus_constant_alpha };
-
-enum { d3dtblend_decal = 0,
- d3dtblend_decalalpha,
- d3dtblend_modulate,
- d3dtblend_modulatealpha };
-
-/*===========================================================================*/
-/* Function prototypes. */
-/*===========================================================================*/
-PMESAD3DSHARED InitHAL( HWND hwnd );
-void TermHAL( PMESAD3DSHARED pShared );
-BOOL CreateHAL( PMESAD3DSHARED pShared );
-BOOL SetViewportHAL( PMESAD3DSHARED pShared, RECT *pRect, float minZ, float maxZ );
-
-void ClearHAL( PMESAD3DSHARED pShared, DWORD dwFlags, BOOL bAll, int x, int y, int cx, int cy, DWORD dwColor, float zv, DWORD dwStencil );
-void SetStateHAL( PMESAD3DSHARED pShared, DWORD dwType, DWORD dwState );
-void DrawPrimitiveHAL( PMESAD3DSHARED pShared, D3DPRIMITIVETYPE dptPrimitiveType, D3DTLVERTEX *pVertices, DWORD dwCount );
-
-void SwapBuffersHAL( PMESAD3DSHARED pShared );
-DDSURFACEDESC2 *LockHAL( PMESAD3DSHARED pShared, BOOL bBack );
-void UnlockHAL( PMESAD3DSHARED pShared, BOOL bBack );
-void UpdateScreenPosHAL( PMESAD3DSHARED pShared );
-void GetPixelInfoHAL( PMESAD3DSHARED pShared, PPIXELINFO pPixel );
-BOOL CreateTMgrHAL( PMESAD3DSHARED pShared, DWORD dwName, int level, DWORD dwRequestFlags, RECT *rectDirty, DWORD dwWidth, DWORD dwHeight, DWORD dwAction, void *pPixels );
-void DisableTMgrHAL( PMESAD3DSHARED pShared );
-
-
-int SaveDIBitmap( char *filename, BITMAPINFO *info, void *bits );
-int ARGB_SaveBitmap( char *filename, int width, int height, unsigned char *pARGB );
-int BGRA_SaveBitmap( char *filename, int width, int height, unsigned char *pBGRA );
-int BGR_SaveBitmap( char *filename, int width, int height, unsigned char *pBGR );
-/*===========================================================================*/
-/* Global variables. */
-/*===========================================================================*/
-extern float g_DepthScale, /* Mesa needs to scale Z in SW. The HAL */
- g_MaxDepth; /* doesn't but I wanted SW still to work.*/
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
-
diff --git a/src/mesa/drivers/d3d/D3DTEXT.CPP b/src/mesa/drivers/d3d/D3DTEXT.CPP
deleted file mode 100644
index 39855b65fa..0000000000
--- a/src/mesa/drivers/d3d/D3DTEXT.CPP
+++ /dev/null
@@ -1,576 +0,0 @@
-/*===========================================================================*/
-/* */
-/* Mesa-3.0 DirectX 6 Driver */
-/* */
-/* By Leigh McRae */
-/* */
-/* http://www.altsoftware.com/ */
-/* */
-/* Copyright (c) 1999-1998 alt.software inc. All Rights Reserved */
-/*===========================================================================*/
-#include "d3dText.h"
-
-/*=============================================================================
-
- 1
- ------
- | |
- 6 | | 2
- | 7 |
- ------
- | |
- 5 | | 3
- | |
- ------
- 4
-
- TL_0 TR_0
-TLL TL_1 TR_1 TRR
-
-MLL_0 ML_0 MR_0 MRR_0
-MLL_1 ML_1 MR_1 MRR_1
-
-BLL BL_0 BR_0 BRR
- BL_1 BR_1
-
-=============================================================================*/
-
-#define TLL 0
-#define TRR 1
-#define TL_0 2
-#define TL_1 3
-#define TR_0 4
-#define TR_1 5
-
-#define MLL_0 6
-#define MLL_1 7
-#define MRR_0 8
-#define MRR_1 9
-
-#define ML_0 10
-#define ML_1 11
-#define MR_0 12
-#define MR_1 13
-
-#define BL_0 14
-#define BL_1 15
-#define BR_0 16
-#define BR_1 17
-#define BLL 18
-#define BRR 19
-
-#define BIT1 0x00000001
-#define BIT2 0x00000002
-#define BIT3 0x00000004
-#define BIT4 0x00000008
-#define BIT5 0x00000010
-#define BIT6 0x00000020
-#define BIT7 0x00000040
-
-#define TOP BIT4
-#define MIDDLE BIT7
-#define BOTTOM BIT1
-#define TLEFT BIT5
-#define BLEFT BIT6
-#define LEFT (TLEFT|BLEFT)
-#define TRIGHT BIT3
-#define BRIGHT BIT2
-#define RIGHT (TRIGHT|BRIGHT)
-#define ALL 0xFFFFFFFF
-
-/*===========================================================================*/
-/* This is the static array that will map the ASCII value of the character */
-/* being draw to the bit mask that will be scan converted to the LED display.*/
-/*===========================================================================*/
-DWORD textBitMasks[] =
-{
- 0xFFFFFFFF, // 000
- 0xFFFFFFFF, // 001
- 0xFFFFFFFF, // 002
- 0xFFFFFFFF, // 003
- 0xFFFFFFFF, // 004
- 0xFFFFFFFF, // 005
- 0xFFFFFFFF, // 006
- 0xFFFFFFFF, // 007
- 0xFFFFFFFF, // 008
- 0xFFFFFFFF, // 009
- 0xFFFFFFFF, // 010
- 0xFFFFFFFF, // 011
- 0xFFFFFFFF, // 012
- 0xFFFFFFFF, // 013
- 0xFFFFFFFF, // 014
- 0xFFFFFFFF, // 015
- 0xFFFFFFFF, // 016
- 0xFFFFFFFF, // 017
- 0xFFFFFFFF, // 018
- 0xFFFFFFFF, // 019
- 0xFFFFFFFF, // 020
- 0xFFFFFFFF, // 021
- 0xFFFFFFFF, // 022
- 0xFFFFFFFF, // 023
- 0xFFFFFFFF, // 024
- 0xFFFFFFFF, // 025
- 0xFFFFFFFF, // 026
- 0xFFFFFFFF, // 027
- 0xFFFFFFFF, // 028
- 0xFFFFFFFF, // 029
- 0xFFFFFFFF, // 030
- 0XFFFFFFFF, // 031
- 0x00000000, // 032 'SPC'
- 0xFFFFFFFF, // 033
- 0xFFFFFFFF, // 034
- 0xFFFFFFFF, // 035
- 0xFFFFFFFF, // 036
- 0xFFFFFFFF, // 037
- 0xFFFFFFFF, // 038
- 0xFFFFFFFF, // 039
- 0xFFFFFFFF, // 040
- 0xFFFFFFFF, // 041
- 0xFFFFFFFF, // 042
- 0xFFFFFFFF, // 043
- 0xFFFFFFFF, // 044
- 0xFFFFFFFF, // 045
- 0xFFFFFFFF, // 046
- 0xFFFFFFFF, // 047
- (ALL &~ MIDDLE), // 048 '0'
- (RIGHT), // 049 '1'
- (ALL &~ TLEFT &~ BRIGHT), // 050 '2'
- (ALL &~ LEFT), // 051 '3'
- (TLEFT | MIDDLE | RIGHT), // 052 '4'
- (ALL &~ TRIGHT &~ BLEFT), // 053 '5'
- (ALL &~ TRIGHT), // 054 '6'
- (TOP | RIGHT), // 055 '7'
- (ALL), // 056 '8'
- (ALL &~ BOTTOM &~ BLEFT), // 057 '9'
- 0xFFFFFFFF, // 058
- 0xFFFFFFFF, // 059
- 0xFFFFFFFF, // 060
- 0XFFFFFFFF, // 061
- 0xFFFFFFFF, // 062
- 0xFFFFFFFF, // 063
- 0xFFFFFFFF, // 064
- (ALL &~ BOTTOM), // 065 'A'
- (ALL), // 066 'B'
- (TOP | LEFT | BOTTOM), // 067 'C'
- (ALL &~ MIDDLE), // 068 'D'
- (ALL &~ RIGHT), // 069 'E'
- (LEFT | TOP | MIDDLE), // 070 'F'
- 0x00000000, // 071 'G'
- (ALL &~ TOP &~ BOTTOM), // 072 'H'
- (RIGHT), // 073 'I'
- (RIGHT | BOTTOM), // 074 'J'
- 0x00000000, // 075 'K'
- (LEFT | BOTTOM), // 076 'L'
- 0x00000000, // 088 'M'
- 0x00000000, // 089 'N'
- (ALL &~ MIDDLE), // 090 'O'
- (ALL &~ BRIGHT &~ BOTTOM),// 091 'P'
- 0x00000000, // 092 'Q'
- 0x00000000, // 093 'R'
- (ALL &~ TRIGHT &~ BLEFT), // 094 'S'
- 0X00000000, // 095 'T'
- (LEFT | RIGHT | BOTTOM), // 096 'U'
- 0x00000000, // 097 'V'
- 0x00000000, // 098 'W'
- 0x00000000, // 099 'X'
- 0x00000000, // 1000 'Z'
- 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, // 100
- 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, // 104
- 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, // 108
- 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, // 112
- 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, // 116
- 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, // 120
- 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF // 124
-};
-
-#define CT 1.0f
-#define CX 7.0f
-#define CY 13.0f
-#define CM ((CY-(CT*3.0f))/2.0f)
-
-float lCoords[][2] =
-{
- /* Top outsides. */
- { 0, (CY-CT) },
- { CX, (CY-CT) },
-
- /* Top Line. */
- { CT, CY },
- { CT, (CY-CT) },
- { (CX-CT), CY },
- { (CX-CT), (CY-CT) },
-
- /* Middle outsides. */
- { 0.0f, (CT+CM+CT) },
- { 0.0f, (CT+CM) },
- { CX, (CT+CM+CT) },
- { CX, (CT+CM) },
-
- /* Middle Line. */
- { CT, (CT+CM+CT) },
- { CT, (CT+CM) },
- { (CX-CT), (CT+CM+CT) },
- { (CX-CT), (CT+CM) },
-
- /* Bottom line. */
- { CT, CT },
- { CT, 0.0f },
- { (CX-CT), CT },
- { (CX-CT), 0.0f },
-
- /* Bottom outsides. */
- { 0.0f, CT},
- { CX, CT }
-};
-
-static int ConvertCharacter( char *c, int cIndex, PD3DFONTMETRICS pfntMetrics );
-
-D3DTLVERTEX TextVertices[MAX_VERTICES];
-/*===========================================================================*/
-/* When we attach I will zero out the whole D3D vertex buffer I'm using for */
-/* the text. This way I don't need to set all the redundant values. I also */
-/* set all the oow values to 1 as I will be doing direct rendering. */
-/*===========================================================================*/
-/* RETURN: TRUE, FALSE. */
-/*===========================================================================*/
-extern "C" BOOL InitD3DText( void )
-{
- int index;
-
- /* Set the D3D Vertex Buffer up once so we don't do redundant changes. */
- memset( &TextVertices[0], 0, sizeof(TextVertices) );
- for( index = 0; index < MAX_VERTICES; index++ )
- TextVertices[index].rhw = D3DVAL( 1.0 );
-
- return TRUE;
-}
-/*===========================================================================*/
-/* This function takes a single character and draw it using the supplied */
-/* fontmetrics structure. */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-extern "C" void d3dTextDrawString( char *pszString, int x, int y, PD3DFONTMETRICS pfntMetrics )
-{
- int cIndex,
- nIndex,
- index;
- float cWidth = CX,
- cHeight = CY;
-
- /* Find the max width/height of a character and add the spacing so */
- /* that we can use this value to calculate the x,y of the character.*/
- cWidth = (cWidth * pfntMetrics->fntXScale) + pfntMetrics->fntXSpacing;
- cHeight = (cHeight * pfntMetrics->fntYScale) + pfntMetrics->fntYSpacing;
-
- /* Walk the string. This must be NULL terminated. */
- for( cIndex = 0, nIndex = 0; *pszString; pszString++, cIndex = nIndex, x++ )
- {
- /* Convert the character and get the index into the text vertex buffer. */
- nIndex = ConvertCharacter( &pszString[0], cIndex, pfntMetrics );
- if ( (nIndex - cIndex) > 2 )
- {
- /* Modify the text vertex buffer based on the fntMetrics structure. */
- for( index = cIndex; index < nIndex; index++ )
- {
- /* Scale the character. */
- TextVertices[index].sx *= pfntMetrics->fntXScale;
- TextVertices[index].sy *= pfntMetrics->fntYScale;
-
- /* Move the character. */
- TextVertices[index].sx += (cWidth*x);
- TextVertices[index].sy += (cHeight*y);
-
- /* Set the color. */
- TextVertices[index].color = pfntMetrics->dwColor;
- }
- }
- }
-
- if ( nIndex < 3 )
- return;
-
- /* Set the states that slim things down. */
- pfntMetrics->lpD3DDevice->SetRenderState( D3DRENDERSTATE_CULLMODE, D3DCULL_NONE );
- pfntMetrics->lpD3DDevice->SetRenderState( D3DRENDERSTATE_FILLMODE, D3DFILL_SOLID );
- pfntMetrics->lpD3DDevice->SetRenderState( D3DRENDERSTATE_ZENABLE, FALSE );
- pfntMetrics->lpD3DDevice->SetRenderState( D3DRENDERSTATE_ZWRITEENABLE , FALSE );
- pfntMetrics->lpD3DDevice->SetRenderState( D3DRENDERSTATE_ALPHATESTENABLE, FALSE );
- pfntMetrics->lpD3DDevice->SetRenderState( D3DRENDERSTATE_ALPHABLENDENABLE, FALSE );
-
- /* Blast them baby... */
- pfntMetrics->lpD3DDevice->DrawPrimitive( D3DPT_TRIANGLELIST,
- D3DFVF_TLVERTEX,
- (LPVOID)&TextVertices[0],
- nIndex,
- (D3DDP_DONOTCLIP | D3DDP_DONOTLIGHT) );
-}
-/*===========================================================================*/
-/* This function takes a single character and draw it directly to the screen*/
-/* unsing the supplied fntMetrics structure. The character will be drawn at */
-/* the supplied x,y. The x,y position is relative to the top left and uses */
-/* the spacing in the fntMetrics structure. */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-extern "C" void d3dTextDrawCharacter( char *c, int x, int y, PD3DFONTMETRICS pfntMetrics )
-{
- int cIndex = 0,
- index;
- float cWidth = CX,
- cHeight = CY;
-
- /* Convert the character and get the index into the text vertex buffer. */
- cIndex = ConvertCharacter( c, 0, pfntMetrics );
- if ( cIndex < 3 )
- return;
-
- /* Find the max width/height of a character and add the spacing so */
- /* that we can use this value to calculate the x,y of the character.*/
- cWidth = (cWidth * pfntMetrics->fntXScale) + pfntMetrics->fntXSpacing;
- cHeight = (cHeight * pfntMetrics->fntYScale) + pfntMetrics->fntYSpacing;
-
- /* Modify the text vertex buffer based on the fntMetrics structure. */
- for( index = 0; index < cIndex; index++ )
- {
- /* Scale the character. */
- TextVertices[index].sx *= pfntMetrics->fntXScale;
- TextVertices[index].sy *= pfntMetrics->fntYScale;
-
- /* Move the character. */
- TextVertices[index].sx += (cWidth*x);
- TextVertices[index].sy += (cHeight*y);
-
- /* Set the color. */
- TextVertices[index].color = pfntMetrics->dwColor;
- }
-
-
- /* Set the states that slim things down. */
- pfntMetrics->lpD3DDevice->SetRenderState( D3DRENDERSTATE_CULLMODE, D3DCULL_NONE );
- pfntMetrics->lpD3DDevice->SetRenderState( D3DRENDERSTATE_FILLMODE, D3DFILL_SOLID );
- pfntMetrics->lpD3DDevice->SetRenderState( D3DRENDERSTATE_ZENABLE, FALSE );
- pfntMetrics->lpD3DDevice->SetRenderState( D3DRENDERSTATE_ZWRITEENABLE , FALSE );
- pfntMetrics->lpD3DDevice->SetRenderState( D3DRENDERSTATE_ALPHATESTENABLE, FALSE );
- pfntMetrics->lpD3DDevice->SetRenderState( D3DRENDERSTATE_ALPHABLENDENABLE, FALSE );
-
- /* Blast them baby... */
- pfntMetrics->lpD3DDevice->DrawPrimitive( D3DPT_TRIANGLELIST,
- D3DFVF_TLVERTEX,
- (LPVOID)&TextVertices[0],
- cIndex,
- (D3DDP_DONOTCLIP | D3DDP_DONOTLIGHT) );
-}
-/*===========================================================================*/
-/* This function takes a single character and draw it using the supplied */
-/* fontmetrics structure. */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-static int ConvertCharacter( char *c, int cIndex, PD3DFONTMETRICS pfntMetrics )
-{
- DWORD asciiChar = (int)(*c);
-
- /* Handle the TOP line. */
- if ( textBitMasks[asciiChar] & BIT1 )
- {
- TextVertices[cIndex].sx = D3DVAL( lCoords[TL_0][0] );
- TextVertices[cIndex++].sy= D3DVAL( lCoords[TL_0][1] );
- TextVertices[cIndex].sx = D3DVAL( lCoords[TR_0][0] );
- TextVertices[cIndex++].sy= D3DVAL( lCoords[TR_0][1] );
- TextVertices[cIndex].sx = D3DVAL( lCoords[TR_1][0] );
- TextVertices[cIndex++].sy= D3DVAL( lCoords[TR_1][1] );
- TextVertices[cIndex].sx = D3DVAL( lCoords[TR_1][0] );
- TextVertices[cIndex++].sy= D3DVAL( lCoords[TR_1][1] );
- TextVertices[cIndex].sx = D3DVAL( lCoords[TL_1][0] );
- TextVertices[cIndex++].sy= D3DVAL( lCoords[TL_1][1] );
- TextVertices[cIndex].sx = D3DVAL( lCoords[TL_0][0] );
- TextVertices[cIndex++].sy= D3DVAL( lCoords[TL_0][1] );
- }
-
- /* Handle the TOP/BOTTOM RIGHT lines. */
- // if ( textBitMasks[index] & (BIT2|BIT3) )
- if ( 1 == 0 )
- {
- TextVertices[cIndex].sx = D3DVAL( lCoords[TR_1][0] );
- TextVertices[cIndex++].sy= D3DVAL( lCoords[TR_1][1] );
- TextVertices[cIndex].sx = D3DVAL( lCoords[TRR][0] );
- TextVertices[cIndex++].sy= D3DVAL( lCoords[TRR][1] );
- TextVertices[cIndex].sx = D3DVAL( lCoords[BRR][0] );
- TextVertices[cIndex++].sy= D3DVAL( lCoords[BRR][1] );
- TextVertices[cIndex].sx = D3DVAL( lCoords[BRR][0] );
- TextVertices[cIndex++].sy= D3DVAL( lCoords[BRR][1] );
- TextVertices[cIndex].sx = D3DVAL( lCoords[BR_0][0] );
- TextVertices[cIndex++].sy= D3DVAL( lCoords[BR_0][1] );
- TextVertices[cIndex].sx = D3DVAL( lCoords[TR_1][0] );
- TextVertices[cIndex++].sy= D3DVAL( lCoords[TR_1][1] );
- }
- else
- {
- if ( textBitMasks[asciiChar] & BIT2 )
- {
- TextVertices[cIndex].sx = D3DVAL( lCoords[TR_1][0] );
- TextVertices[cIndex++].sy = D3DVAL( lCoords[TR_1][1] );
- TextVertices[cIndex].sx = D3DVAL( lCoords[TRR][0] );
- TextVertices[cIndex++].sy = D3DVAL( lCoords[TRR][1] );
- TextVertices[cIndex].sx = D3DVAL( lCoords[MRR_0][0] );
- TextVertices[cIndex++].sy = D3DVAL( lCoords[MRR_0][1] );
- TextVertices[cIndex].sx = D3DVAL( lCoords[MRR_0][0] );
- TextVertices[cIndex++].sy = D3DVAL( lCoords[MRR_0][1] );
- TextVertices[cIndex].sx = D3DVAL( lCoords[MR_0][0] );
- TextVertices[cIndex++].sy = D3DVAL( lCoords[MR_0][1] );
- TextVertices[cIndex].sx = D3DVAL( lCoords[TR_1][0] );
- TextVertices[cIndex++].sy = D3DVAL( lCoords[TR_1][1] );
- }
- if ( textBitMasks[asciiChar] & BIT3 )
- {
- TextVertices[cIndex].sx = D3DVAL( lCoords[MR_1][0] );
- TextVertices[cIndex++].sy = D3DVAL( lCoords[MR_1][1] );
- TextVertices[cIndex].sx = D3DVAL( lCoords[MRR_1][0] );
- TextVertices[cIndex++].sy = D3DVAL( lCoords[MRR_1][1] );
- TextVertices[cIndex].sx = D3DVAL( lCoords[BRR][0] );
- TextVertices[cIndex++].sy = D3DVAL( lCoords[BRR][1] );
- TextVertices[cIndex].sx = D3DVAL( lCoords[BRR][0] );
- TextVertices[cIndex++].sy = D3DVAL( lCoords[BRR][1] );
- TextVertices[cIndex].sx = D3DVAL( lCoords[BR_0][0] );
- TextVertices[cIndex++].sy = D3DVAL( lCoords[BR_0][1] );
- TextVertices[cIndex].sx = D3DVAL( lCoords[MR_1][0] );
- TextVertices[cIndex++].sy = D3DVAL( lCoords[MR_1][1] );
- }
- }
-
- /* Handle the TOP/BOTTOM LEFT lines. */
- // if ( textBitMasks[asciiChar] & (BIT5|BIT6) )
- if ( 1 == 0 )
- {
- TextVertices[cIndex].sx = D3DVAL( lCoords[TLL][0] );
- TextVertices[cIndex++].sy= D3DVAL( lCoords[TLL][1] );
- TextVertices[cIndex].sx = D3DVAL( lCoords[TL_1][0] );
- TextVertices[cIndex++].sy= D3DVAL( lCoords[TL_1][1] );
- TextVertices[cIndex].sx = D3DVAL( lCoords[BL_0][0] );
- TextVertices[cIndex++].sy= D3DVAL( lCoords[BL_0][1] );
- TextVertices[cIndex].sx = D3DVAL( lCoords[BL_0][0] );
- TextVertices[cIndex++].sy= D3DVAL( lCoords[BL_0][1] );
- TextVertices[cIndex].sx = D3DVAL( lCoords[BLL][0] );
- TextVertices[cIndex++].sy= D3DVAL( lCoords[BLL][1] );
- TextVertices[cIndex].sx = D3DVAL( lCoords[TLL][0] );
- TextVertices[cIndex++].sy= D3DVAL( lCoords[TLL][1] );
- }
- else
- {
- if ( textBitMasks[asciiChar] & BIT5 )
- {
- TextVertices[cIndex].sx = D3DVAL( lCoords[MLL_1][0] );
- TextVertices[cIndex++].sy = D3DVAL( lCoords[MLL_1][1] );
- TextVertices[cIndex].sx = D3DVAL( lCoords[ML_1][0] );
- TextVertices[cIndex++].sy = D3DVAL( lCoords[ML_1][1] );
- TextVertices[cIndex].sx = D3DVAL( lCoords[BL_0][0] );
- TextVertices[cIndex++].sy = D3DVAL( lCoords[BL_0][1] );
- TextVertices[cIndex].sx = D3DVAL( lCoords[BL_0][0] );
- TextVertices[cIndex++].sy = D3DVAL( lCoords[BL_0][1] );
- TextVertices[cIndex].sx = D3DVAL( lCoords[BLL][0] );
- TextVertices[cIndex++].sy = D3DVAL( lCoords[BLL][1] );
- TextVertices[cIndex].sx = D3DVAL( lCoords[MLL_1][0] );
- TextVertices[cIndex++].sy = D3DVAL( lCoords[MLL_1][1] );
- }
- if ( textBitMasks[asciiChar] & BIT6 )
- {
- TextVertices[cIndex].sx = D3DVAL( lCoords[TLL][0] );
- TextVertices[cIndex++].sy = D3DVAL( lCoords[TLL][1] );
- TextVertices[cIndex].sx = D3DVAL( lCoords[TL_1][0] );
- TextVertices[cIndex++].sy = D3DVAL( lCoords[TL_1][1] );
- TextVertices[cIndex].sx = D3DVAL( lCoords[ML_0][0] );
- TextVertices[cIndex++].sy = D3DVAL( lCoords[ML_0][1] );
- TextVertices[cIndex].sx = D3DVAL( lCoords[ML_0][0] );
- TextVertices[cIndex++].sy = D3DVAL( lCoords[ML_0][1] );
- TextVertices[cIndex].sx = D3DVAL( lCoords[MLL_0][0] );
- TextVertices[cIndex++].sy = D3DVAL( lCoords[MLL_0][1] );
- TextVertices[cIndex].sx = D3DVAL( lCoords[TLL][0] );
- TextVertices[cIndex++].sy = D3DVAL( lCoords[TLL][1] );
- }
- }
-
- /* Handle the MIDDLE line. */
- if ( textBitMasks[asciiChar] & BIT7 )
- {
- TextVertices[cIndex].sx = D3DVAL( lCoords[ML_0][0] );
- TextVertices[cIndex++].sy= D3DVAL( lCoords[ML_0][1] );
- TextVertices[cIndex].sx = D3DVAL( lCoords[MR_0][0] );
- TextVertices[cIndex++].sy= D3DVAL( lCoords[MR_0][1] );
- TextVertices[cIndex].sx = D3DVAL( lCoords[MR_1][0] );
- TextVertices[cIndex++].sy= D3DVAL( lCoords[MR_1][1] );
- TextVertices[cIndex].sx = D3DVAL( lCoords[MR_1][0] );
- TextVertices[cIndex++].sy= D3DVAL( lCoords[MR_1][1] );
- TextVertices[cIndex].sx = D3DVAL( lCoords[ML_1][0] );
- TextVertices[cIndex++].sy= D3DVAL( lCoords[ML_1][1] );
- TextVertices[cIndex].sx = D3DVAL( lCoords[ML_0][0] );
- TextVertices[cIndex++].sy= D3DVAL( lCoords[ML_0][1] );
- }
-
- /* Handle the BOTTOM line. */
- if ( textBitMasks[asciiChar] & BIT4 )
- {
- TextVertices[cIndex].sx = D3DVAL( lCoords[BL_0][0] );
- TextVertices[cIndex++].sy= D3DVAL( lCoords[BL_0][1] );
- TextVertices[cIndex].sx = D3DVAL( lCoords[BR_0][0] );
- TextVertices[cIndex++].sy= D3DVAL( lCoords[BR_0][1] );
- TextVertices[cIndex].sx = D3DVAL( lCoords[BR_1][0] );
- TextVertices[cIndex++].sy= D3DVAL( lCoords[BR_1][1] );
- TextVertices[cIndex].sx = D3DVAL( lCoords[BR_1][0] );
- TextVertices[cIndex++].sy= D3DVAL( lCoords[BR_1][1] );
- TextVertices[cIndex].sx = D3DVAL( lCoords[BL_1][0] );
- TextVertices[cIndex++].sy= D3DVAL( lCoords[BL_1][1] );
- TextVertices[cIndex].sx = D3DVAL( lCoords[BL_0][0] );
- TextVertices[cIndex++].sy= D3DVAL( lCoords[BL_0][1] );
- }
-
- return cIndex;
-}
-
-#undef CM
-#undef CY
-#undef CX
-#undef CT
-
-#undef TLL
-#undef TRR
-#undef TL_0
-#undef TL_1
-#undef TR_0
-#undef TR_1
-
-#undef MLL_0
-#undef MLL_1
-#undef MRR_0
-#undef MRR_1
-
-#undef ML_0
-#undef ML_1
-#undef MR_0
-#undef MR_1
-
-#undef BL_0
-#undef BL_1
-#undef BR_0
-#undef BR_1
-#undef BLL
-#undef BRR
-
-#undef BIT1
-#undef BIT2
-#undef BIT3
-#undef BIT4
-#undef BIT5
-#undef BIT6
-#undef BIT7
-
-#undef TOP
-#undef MIDDLE
-#undef BOTTOM
-#undef TLEFT
-#undef BLEFT
-#undef LEFT
-#undef TRIGHT
-#undef BRIGHT
-#undef RIGHT
-#undef ALL
diff --git a/src/mesa/drivers/d3d/D3DTextureMgr.cpp b/src/mesa/drivers/d3d/D3DTextureMgr.cpp
deleted file mode 100644
index a6600cab02..0000000000
--- a/src/mesa/drivers/d3d/D3DTextureMgr.cpp
+++ /dev/null
@@ -1,947 +0,0 @@
-/*===========================================================================*/
-/* */
-/* Mesa-3.0 DirectX 6 Driver */
-/* */
-/* By Leigh McRae */
-/* */
-/* http://www.altsoftware.com/ */
-/* */
-/* Copyright (c) 1999-1998 alt.software inc. All Rights Reserved */
-/*===========================================================================*/
-#include "D3DHAL.h"
-/*===========================================================================*/
-/* Local function prototypes. */
-/*===========================================================================*/
-static void UpdateTexture( PTM_OBJECT pTMObj, BOOL bVideo, RECT *pRect, UCHAR *pixels );
-static BOOL LoadTextureInVideo( PMESAD3DHAL pHAL, PTM_OBJECT pTMObj );
-static BOOL FreeTextureMemory( PMESAD3DHAL pHAL, PTM_OBJECT pTMObject );
-static BOOL DestroyTextureObject( PMESAD3DHAL pHAL, PTM_OBJECT pTMObject );
-HRESULT CALLBACK EnumPFHook( LPDDPIXELFORMAT lpDDPixFmt, LPVOID lpContext );
-/*===========================================================================*/
-/* This function will simply set the top of stack to NULL. I only used it */
-/* just incase I want to add something later. */
-/*===========================================================================*/
-/* RETURN: TRUE. */
-/*===========================================================================*/
-BOOL InitTMgrHAL( PMESAD3DHAL pHAL )
-{
- DPF(( DBG_FUNC, "InitTMgrHAL();" ));
-
- /* Be clean my friend. */
- pHAL->pTMList = NULL;
-
- return TRUE;
-}
-/*===========================================================================*/
-/* This function will walk the Texture Managers linked list and destroy all */
-/* surfaces (SYSTEM/VIDEO). The texture objects themselves also will be */
-/* freed. */
-/* NOTE: this is per/context. */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-void TermTMgrHAL( PMESAD3DHAL pHAL )
-{
- DPF(( DBG_FUNC, "TermTMgrHAL();" ));
-
- if ( pHAL && pHAL->pTMList )
- {
- /* Destroy the surface and remove the TMO from the stack. */
- while( DestroyTextureObject(pHAL,NULL) );
-
- /* Be clean my friend. */
- pHAL->pTMList = NULL;
- }
-}
-/*===========================================================================*/
-/* This function is a HACK as I don't know how I can disable a texture with-*/
-/* out booting it out. Is there know state change? */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-extern "C" void DisableTMgrHAL( PMESAD3DSHARED pShared )
-{
- PMESAD3DHAL pHAL = (PMESAD3DHAL)pShared;
-
- DPF(( DBG_FUNC, "DisableTMgrHAL();" ));
-
- /* Check too see that we have a valid context. */
- if ( (pHAL == NULL) && (pHAL->lpD3DDevice != NULL) )
- {
- DPF(( DBG_TXT_WARN, "Null HAL/Direct3D Device!" ));
- return;
- }
-
- // TODO: This is a hack to shut off textures.
- pHAL->lpD3DDevice->SetTexture( 0, NULL );
-}
-/*===========================================================================*/
-/* This function is the only entry into the TextureManager that Mesa/wgl */
-/* will see. It uses a dwAction to specify what we are doing. I did this as*/
-/* depending on the cards resources the action taken can change. */
-/* When this function is called we will always search the Texture Managers */
-/* linked list (per context remember) and try and find a structure that has */
-/* the same dwName. If we have a match we pull it out of the list and put it*/
-/* at the top of the list (TOL). If we don't find one then we create a struc*/
-/* and put it a TOL. This TOL idea makes for some caching as we will always */
-/* destroy Texture Surfaces from the bottom up... */
-/* All texture objects at this point will create a texture surface in System*/
-/* memory (SMEM). Then we will copy the Mesa texture into the surface using */
-/* the 'pixel' struc to get the translation info. So now this means that all*/
-/* textures that Mesa gives me I will have a Surface with a copy. If Mesa */
-/* changes the texture the I update the surface in (SMEM). */
-/* Now we have a texture struc and a Texture Surface in SMEM. At this point*/
-/* we create another surface on the card (VMEM). Finally we blt from the */
-/* SMEM to the VMEM and set the texture as current. Why do I need two? First*/
-/* this solves square textures. If the cards CAPS is square textures only */
-/* then I change the dimensions of the VMEM surface and the blt solves it for*/
-/* me. Second it saves me from filling D3D textures over and over if the */
-/* card needs to be creating and destroying surfaces because of low memory. */
-/* The surface in SMEM is expected to work always. When a surface has to be*/
-/* created in VMEM then we put it in a loop that tries to create the surface.*/
-/* If we create the surface ok then we brake from the loop. If we fail then */
-/* we will call 'FreeTextureMemory' that will return TRUE/FALSE as to whether*/
-/* memory was freed. If memory was freed then we can try again. If no memory*/
-/* was freed then it just can't fit. */
-/* 'FreeTextureMemory' will find the end of the list and start freeing VMEM */
-/* (never SMEM) surfaces that are not locked. */
-/* BIND - when we bind and there is a texture struct with a texture surface */
-/* in VMEM then we just make it current. If we have a struct and a surface */
-/* in SMEM but no VMEM surface then we create the surface in VMEM and blt */
-/* from the SMEM surface. If we have nothing its just like a creation... */
-/*===========================================================================*/
-/* RETURN: TRUE, FALSE. */
-/*===========================================================================*/
-extern "C" BOOL CreateTMgrHAL( PMESAD3DSHARED pShared, DWORD dwName, int level, DWORD dwRequestFlags,
- RECT *rectDirty, DWORD dwWidth, DWORD dwHeight, DWORD dwAction, void *pPixels )
-{
- PMESAD3DHAL pHAL = (PMESAD3DHAL)pShared;
- PTM_OBJECT pTMObj,
- pTemp;
- DDSURFACEDESC2 ddsd2;
- HRESULT rc;
-
-
- DPF(( DBG_FUNC, "CreateTMgrHAL();" ));
-
- DPF(( DBG_TXT_INFO, "Texture:" ));
- DPF(( DBG_TXT_INFO, "cx: %d cy: %d", dwWidth, dwHeight ));
- DPF(( DBG_TXT_INFO, "Rect:" ));
- if ( rectDirty )
- {
- DPF(( DBG_TXT_INFO, "x0: %d y0: %d", rectDirty->left, rectDirty->top ));
- DPF(( DBG_TXT_INFO, "x1: %d y1: %d", rectDirty->right, rectDirty->bottom ));
- }
-
- /* Check too see that we have a valid context. */
- if ( (pHAL == NULL) && (pHAL->lpD3DDevice != NULL) )
- {
- DPF(( DBG_TXT_WARN, "Null HAL/Direct3D Device!" ));
- return FALSE;
- }
-
- /*=================================================*/
- /* See if we can find this texture object by name. */
- /*=================================================*/
- for( pTMObj = pHAL->pTMList; pTMObj && (pTMObj->dwName != dwName); pTMObj = pTMObj->next );
-
- /*=========================================================*/
- /* Allocate a new object if we didn't get a matching name. */
- /*=========================================================*/
- if ( pTMObj == NULL )
- {
- pTMObj = (PTM_OBJECT)ALLOC( sizeof(TM_OBJECT) );
- if ( pTMObj == NULL )
- return FALSE;
- memset( pTMObj, 0, sizeof(TM_OBJECT) );
-
- /* Put the object at the beginning of the list. */
- pTMObj->next = pHAL->pTMList;
- if ( pTMObj->next )
- {
- pTemp = pTMObj->next;
- pTemp->prev = pTMObj;
- }
- pHAL->pTMList = pTMObj;
- }
- else
- {
- /*===============================================================*/
- /* Make some caching happen by pulling this object to the front. */
- /*===============================================================*/
- if ( pHAL->pTMList != pTMObj )
- {
- /* Pull the object out of the list. */
- if ( pTMObj->prev )
- {
- pTemp = pTMObj->prev;
- pTemp->next = pTMObj->next;
- }
- if ( pTMObj->next )
- {
- pTemp = pTMObj->next;
- pTemp->prev = pTMObj->prev;
- }
-
- pTMObj->prev = NULL;
- pTMObj->next = NULL;
-
- /* Put the object at the front of the list. */
- pTMObj->next = pHAL->pTMList;
- if ( pTMObj->next )
- {
- pTemp = pTMObj->next;
- pTemp->prev = pTMObj;
- }
- pHAL->pTMList = pTMObj;
- }
- }
-
- /*========================================================*/
- /* If we are doing BIND and the texture is in VID memory. */
- /*========================================================*/
- if ( (dwAction == TM_ACTION_BIND) && pTMObj->lpDDS_Video )
- {
- DPF(( DBG_TXT_PROFILE, "Cache HIT (%d)", dwName ));
-
- /* Make this the current texture. */
- rc = pHAL->lpD3DDevice->SetTexture( 0, pTMObj->lpD3DTexture2 );
- if ( FAILED(rc) )
- {
- DPF(( DBG_TXT_WARN, "Failed SetTexture() (%s)", ErrorStringD3D(rc) ));
- pHAL->lpD3DDevice->SetTexture( 0, NULL );
- return FALSE;
- }
-
- return TRUE;
- }
-
- /*=================================================================*/
- /* If we are doing BIND and the texture is at least in SYS memory. */
- /*=================================================================*/
- if ( (dwAction == TM_ACTION_BIND) && pTMObj->lpDDS_System )
- {
- DPF(( DBG_TXT_PROFILE, "Cache MISS (%d)", dwName ));
-
- /* Create the texture on the card. */
- rc = LoadTextureInVideo( pHAL, pTMObj );
- if ( rc == FALSE )
- return FALSE;
-
- /* Make this the current texture. */
- rc = pHAL->lpD3DDevice->SetTexture( 0, pTMObj->lpD3DTexture2 );
- if ( FAILED(rc) )
- {
- DPF(( DBG_TXT_WARN, "Failed SetTexture() (%s)", ErrorStringD3D(rc) ));
- pHAL->lpD3DDevice->SetTexture( 0, NULL );
- return FALSE;
- }
-
- return TRUE;
- }
-
- /*=========================================================*/
- /* If we are doing UPDATE then try in VID first for speed. */
- /*=========================================================*/
- if ( (dwAction == TM_ACTION_UPDATE) && pTMObj->lpDDS_Video &&
- !(pHAL->D3DHWDevDesc.dpcTriCaps.dwTextureCaps & D3DPTEXTURECAPS_SQUAREONLY) )
- {
- DPF(( DBG_TXT_INFO, "Fix the SubTexture update Leigh!" ));
-
- /* Update the texture on the card. */
- UpdateTexture( pTMObj, TRUE, rectDirty, (UCHAR *)pPixels );
-
- /* We updated the texture in VID so kill the SYS so we know its dirty. */
- if ( pTMObj->lpDDS_System )
- {
- DPF(( DBG_TXT_INFO, "Release texture (SYS)" ));
- DX_RESTORE( pTMObj->lpDDS_System );
- pTMObj->lpDDS_System->Release();
- pTMObj->lpDDS_System = NULL;
- }
-
- /* Make this the current texture. */
- rc = pHAL->lpD3DDevice->SetTexture( 0, pTMObj->lpD3DTexture2 );
- if ( FAILED(rc) )
- {
- DPF(( DBG_TXT_WARN, "Failed SetTexture() (%s)", ErrorStringD3D(rc) ));
- pHAL->lpD3DDevice->SetTexture( 0, NULL );
- return FALSE;
- }
-
- return TRUE;
- }
-
- /*===========================================================*/
- /* If we are doing UPDATE then try in SYS still gives speed. */
- /*===========================================================*/
- if ( (dwAction == TM_ACTION_UPDATE) && pTMObj->lpDDS_System )
- {
- DPF(( DBG_TXT_INFO, "Fix the SubTexture update Leigh!" ));
-
- /* Update the texture in SYS. */
- UpdateTexture( pTMObj, FALSE, NULL, (UCHAR *)pPixels );
-
- /* We updated the SYS texture only so now blt to the VID. */
- rc = LoadTextureInVideo( pHAL, pTMObj );
- if ( rc == FALSE )
- return FALSE;
-
- /* Make this the current texture. */
- rc = pHAL->lpD3DDevice->SetTexture( 0, pTMObj->lpD3DTexture2 );
- if ( FAILED(rc) )
- {
- DPF(( DBG_TXT_WARN, "Failed SetTexture() (%s)", ErrorStringD3D(rc) ));
- pHAL->lpD3DDevice->SetTexture( 0, NULL );
- return FALSE;
- }
-
- return TRUE;
- }
-
- /* At this point we have a valid Texture Manager Object with updated */
- /* links. We now need to create or update a texture surface that is */
- /* in system memory. Every texture has a copy in system so we can use*/
- /* blt to solve problems with textures allocated on the card (square */
- /* only textures, pixelformats...). */
-
- // TODO: make support for update also. Dirty rectangle basicly...
-
- /* Kill the interface if we have one no matter what. */
- if ( pTMObj->lpD3DTexture2 )
- {
- DPF(( DBG_TXT_INFO, "Release Texture2" ));
- pTMObj->lpD3DTexture2->Release();
- pTMObj->lpD3DTexture2 = NULL;
- }
-
- /* Kill the system surface. TODO: should try to get the SubIMage going again */
- if ( pTMObj->lpDDS_System )
- {
- DPF(( DBG_TXT_INFO, "Release texture (SYS)" ));
- DX_RESTORE( pTMObj->lpDDS_System );
- pTMObj->lpDDS_System->Release();
- pTMObj->lpDDS_System = NULL;
- }
-
- /* Kill the Video surface. TODO: need some reuse system... */
- if ( pTMObj->lpDDS_Video )
- {
- DPF(( DBG_TXT_INFO, "Release texture (VID)" ));
- DX_RESTORE( pTMObj->lpDDS_Video );
- pTMObj->lpDDS_Video->Release();
- pTMObj->lpDDS_Video = NULL;
- }
-
- /*================================================================*/
- /* Translate the the Mesa/OpenGL pixel channels to the D3D flags. */
- /*================================================================*/
- switch( dwRequestFlags )
- {
- case GL_ALPHA:
- dwRequestFlags = DDPF_ALPHA;
- DPF(( DBG_TXT_WARN, "GL_ALPHA not supported!)" ));
- return FALSE;
-
- case GL_INTENSITY:
- case GL_LUMINANCE:
- DPF(( DBG_TXT_WARN, "GL_INTENSITY/GL_LUMINANCE not supported!)" ));
- dwRequestFlags = DDPF_LUMINANCE;
- return FALSE;
-
- case GL_LUMINANCE_ALPHA:
- DPF(( DBG_TXT_WARN, "GL_LUMINANCE_ALPHA not supported!)" ));
- dwRequestFlags = DDPF_LUMINANCE | DDPF_ALPHAPIXELS;
- return FALSE;
-
- case GL_RGB:
- DPF(( DBG_TXT_INFO, "Texture -> GL_RGB" ));
- dwRequestFlags = DDPF_RGB;
- break;
-
- case GL_RGBA:
- DPF(( DBG_TXT_INFO, "Texture -> GL_RGBA" ));
- dwRequestFlags = DDPF_RGB | DDPF_ALPHAPIXELS;
- break;
- }
-
- /*==============================*/
- /* Populate the texture object. */
- /*==============================*/
- pTMObj->dwName = dwName;
- pTMObj->lpD3DDevice = pHAL->lpD3DDevice;
- pTMObj->dwFlags = dwRequestFlags;
- if ( pHAL->D3DHWDevDesc.dpcTriCaps.dwTextureCaps & D3DPTEXTURECAPS_SQUAREONLY )
- {
- DPF(( DBG_TXT_INFO, "Convert to Square..." ));
- pTMObj->dwSHeight = dwHeight;
- pTMObj->dwSWidth = dwWidth;
-
- /* Shrink non-square textures. */
- pTMObj->dwVHeight = (dwHeight > dwWidth) ? dwWidth : dwHeight;
- pTMObj->dwVWidth = (dwHeight > dwWidth) ? dwWidth : dwHeight;
- }
- else
- {
- pTMObj->dwSHeight = dwHeight;
- pTMObj->dwSWidth = dwWidth;
- pTMObj->dwVHeight = dwHeight;
- pTMObj->dwVWidth = dwWidth;
- }
-
- /*========================*/
- /* Create SYSTEM surface. */
- /*========================*/
-
- /* Request a surface in system memory. */
- memset( &ddsd2, 0, sizeof(DDSURFACEDESC2) );
- ddsd2.dwSize = sizeof( DDSURFACEDESC2 );
- ddsd2.dwWidth = pTMObj->dwSWidth;
- ddsd2.dwHeight = pTMObj->dwSHeight;
- ddsd2.dwFlags = DDSD_CAPS | DDSD_WIDTH | DDSD_HEIGHT | DDSD_PIXELFORMAT;
- ddsd2.ddsCaps.dwCaps = DDSCAPS_TEXTURE | DDSCAPS_SYSTEMMEMORY;
- ddsd2.ddsCaps.dwCaps2 = 0L;
- memset( &ddsd2.ddpfPixelFormat, 0, sizeof(DDPIXELFORMAT) );
- ddsd2.ddpfPixelFormat.dwSize = sizeof( DDPIXELFORMAT );
- ddsd2.ddpfPixelFormat.dwFlags = dwRequestFlags;
- rc = pHAL->lpD3DDevice->EnumTextureFormats( EnumPFHook, &ddsd2.ddpfPixelFormat );
- if ( FAILED(rc) )
- {
- RIP( pHAL, "EnumerTextureFormats (SYSTEM)->", ErrorStringD3D(rc) );
- return FALSE;
- }
-
- /* Create the surface using the enumerated pixelformat. */
- rc = pHAL->lpDD4->CreateSurface( &ddsd2, &pTMObj->lpDDS_System, NULL );
- if ( FAILED(rc) )
- {
- RIP( pHAL, "CreateSurface (TEXTURE/SYSTEM)->", ErrorStringD3D(rc) );
- return FALSE;
- }
-
- /* Solve the pixel mapping info using the surface pixelformat. */
- Solve8BitChannelPixelFormat( &ddsd2.ddpfPixelFormat, &pTMObj->pixel );
-
- /*===================================================================*/
- /* Fill the texture using the PixelInfo structure to do the mapping. */
- /*===================================================================*/
- UpdateTexture( pTMObj, FALSE, NULL, (UCHAR *)pPixels );
-
- /*=======================*/
- /* Create VIDEO surface. */
- /*=======================*/
- rc = LoadTextureInVideo( pHAL, pTMObj );
- if ( rc == FALSE )
- return FALSE;
-
- /* Make this the current texture. */
- rc = pHAL->lpD3DDevice->SetTexture( 0, pTMObj->lpD3DTexture2 );
- if ( FAILED(rc) )
- {
- DPF(( DBG_TXT_WARN, "Failed SetTexture() (%s)", ErrorStringD3D(rc) ));
- pHAL->lpD3DDevice->SetTexture( 0, NULL );
- return FALSE;
- }
-
- return TRUE;
-}
-/*===========================================================================*/
-/* This function will handle the creation and destruction of the texture */
-/* surfaces on the card. Using the dw'V'Width/Height dimensions the call */
-/* try and create the texture on the card and keep using FreeTextureMemory */
-/* until the surace can be created. Once the surface is created we get the */
-/* interface that we will use to make it the current texture. I didn't put */
-/* the code to make the texture current in this function as BIND needs to */
-/* use the same code and this function doesn't always get called when we do a*/
-/* bind. */
-/*===========================================================================*/
-/* RETURN: TRUE, FALSE. */
-/*===========================================================================*/
-static BOOL LoadTextureInVideo( PMESAD3DHAL pHAL, PTM_OBJECT pTMObj )
-{
- DDSURFACEDESC2 ddsd2;
- HRESULT rc;
-
- DPF(( DBG_FUNC, "LoadTextureInVideo();" ));
-
- /* Kill the interface if we have one no matter what. */
- if ( pTMObj->lpD3DTexture2 )
- {
- DPF(( DBG_TXT_INFO, "Release Texture2" ));
- pTMObj->lpD3DTexture2->Release();
- pTMObj->lpD3DTexture2 = NULL;
- }
-
- /* Kill the Video surface. TODO: need some reuse system... */
- if ( pTMObj->lpDDS_Video )
- {
- DPF(( DBG_TXT_INFO, "Release texture (VID)" ));
- DX_RESTORE( pTMObj->lpDDS_Video );
- pTMObj->lpDDS_Video->Release();
- pTMObj->lpDDS_Video = NULL;
- }
-
- /* Request a surface in Video memory. */
- memset( &ddsd2, 0, sizeof(DDSURFACEDESC2) );
- ddsd2.dwSize = sizeof( DDSURFACEDESC2 );
- ddsd2.dwWidth = pTMObj->dwVWidth;
- ddsd2.dwHeight = pTMObj->dwVHeight;
- ddsd2.dwFlags = DDSD_CAPS | DDSD_WIDTH | DDSD_HEIGHT | DDSD_PIXELFORMAT;
- ddsd2.ddsCaps.dwCaps = DDSCAPS_TEXTURE | DDSCAPS_VIDEOMEMORY;
- ddsd2.ddsCaps.dwCaps2 = 0L;
- memset( &ddsd2.ddpfPixelFormat, 0, sizeof(DDPIXELFORMAT) );
- ddsd2.ddpfPixelFormat.dwSize = sizeof( DDPIXELFORMAT );
- ddsd2.ddpfPixelFormat.dwFlags = pTMObj->dwFlags;
- rc = pHAL->lpD3DDevice->EnumTextureFormats( EnumPFHook, &ddsd2.ddpfPixelFormat );
- if ( FAILED(rc) )
- {
- RIP( pHAL, "EnumerTextureFormats ->", ErrorStringD3D(rc) );
- return FALSE;
- }
-
- /* Make sure we lock so we don't nuke this texture trying to free memory for it. */
- pTMObj->bLock = TRUE;
-
- /* Start a loop that will free all textures until we have created the texture */
- /* surface or we can't free up more memory. */
- do
- {
- /* Try to create the texture surface. */
- rc = pHAL->lpDD4->CreateSurface( &ddsd2, &pTMObj->lpDDS_Video, NULL );
- if ( !FAILED(rc) )
- break;
-
- DPF(( DBG_TXT_INFO, "Free Texture Memory" ));
-
- /* DestroyTexture will return TRUE if a surface was freed. */
- } while( FreeTextureMemory(pHAL,NULL) );
-
- /* Make sure we unlock or we won't be able to nuke the TMO later. */
- pTMObj->bLock = FALSE;
-
- /* Did we create a valid texture surface? */
- if ( FAILED(rc) )
- {
- DPF(( DBG_TXT_WARN, "Failed to load texture" ));
- pHAL->lpD3DDevice->SetTexture( 0, NULL );
- return FALSE;
- }
-
- DX_RESTORE( pTMObj->lpDDS_System );
- DX_RESTORE( pTMObj->lpDDS_Video );
-
- DPF(( DBG_TXT_INFO, "Texture Blt SYSTEM -> VID" ));
-
- /* Now blt the texture in system memory to the card. */
- rc = pTMObj->lpDDS_Video->Blt( NULL, pTMObj->lpDDS_System, NULL, DDBLT_WAIT, NULL );
- if ( FAILED(rc) )
- {
- RIP( pHAL, "Blt (TEXTURE) ->", ErrorStringD3D(rc) );
- return FALSE;
- }
-
- /* Get the Texture interface that is used to render with. */
- pTMObj->lpDDS_Video->QueryInterface( IID_IDirect3DTexture2, (void **)&pTMObj->lpD3DTexture2 );
- if ( pTMObj->lpD3DTexture2 == NULL )
- {
- DPF(( DBG_TXT_WARN, "Failed QueryTextureInterface" ));
- pHAL->lpD3DDevice->SetTexture( 0, NULL );
- return FALSE;
- }
-
- return TRUE;
-}
-/*===========================================================================*/
-/* If this function gets a texture object struc then we will try and free */
-/* it. If we get a NULL then we will search from the bottom up and free one */
-/* VMEM surface. I can only free when the surface isn't locked and of course*/
-/* there must be a VMEM surface. We never free SMEM surfaces as that isn't */
-/* the point. */
-/* TODO: should have a pointer to the bottom of the stack really. */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-static BOOL FreeTextureMemory( PMESAD3DHAL pHAL, PTM_OBJECT pTMObject )
-{
- PTM_OBJECT pCurrent;
- BOOL bFreed = FALSE;
-
- DPF(( DBG_FUNC, "FreeTextureMemory();" ));
- DPF(( DBG_TXT_WARN, "FREE TEXTURE!" ));
-
- /* Just to be safe. */
- if ( !pHAL || !pHAL->pTMList )
- {
- DPF(( DBG_TXT_WARN, "FreeTextureMemory() -> NULL pHAL/pHAL->pTMList" ));
- return FALSE;
- }
-
- /* Free the last texture in the list. */
- if ( pTMObject == NULL )
- {
- DPF(( DBG_TXT_INFO, "Free Last texture in cache" ));
-
- /* Find the last texture object. */
- for( pCurrent = pHAL->pTMList; pCurrent->next; pCurrent = pCurrent->next );
-
- /* Now backup until we find a texture on the card. */
- while( pCurrent && (pCurrent->lpDDS_Video == NULL) && (pCurrent->bLock == FALSE) )
- pCurrent = pCurrent->prev;
-
- /* Didn't find anything. */
- if ( pCurrent == NULL )
- {
- DPF(( DBG_TXT_INFO, "No texture memory freed" ));
- return FALSE;
- }
- }
- else
- {
- /* See if we can find this texture object. */
- for( pCurrent = pHAL->pTMList; pCurrent && (pCurrent != pTMObject); pCurrent = pCurrent->next );
-
- /* Didn't find anything. */
- if ( pCurrent == NULL )
- {
- DPF(( DBG_TXT_INFO, "Requested texture to be freed NOT FOUND" ));
- return FALSE;
- }
- }
-
- /* Can't free this baby. */
- if ( pCurrent->bLock == TRUE )
- {
- DPF(( DBG_TXT_WARN, "Requested texture LOCKED" ));
- return FALSE;
- }
-
- /* Free the texture memory. */
- if ( pCurrent->lpD3DTexture2 )
- {
- DPF(( DBG_TXT_INFO, "Release Texture2" ));
- pCurrent->lpD3DTexture2->Release();
- pCurrent->lpD3DTexture2 = NULL;
- bFreed = TRUE;
- }
- if ( pCurrent->lpDDS_Video )
- {
- DPF(( DBG_TXT_INFO, "Release texture (VID):" ));
- DPF(( DBG_TXT_INFO, "dwName: %d", pCurrent->dwName ));
- DPF(( DBG_TXT_INFO, "cx: %d, cy: %d", pCurrent->dwVWidth, pCurrent->dwVHeight ));
- pCurrent->lpDDS_Video->Release();
- pCurrent->lpDDS_Video = NULL;
- bFreed = TRUE;
- }
-
- return bFreed;
-}
-/*===========================================================================*/
-/* This function searches the linked list of texture objects in the supplied*/
-/* D3Dwrapper structure. If it finds a match it will free it and pull it out*/
-/* of the linked list. The function works on the bases of a matching pointer*/
-/* to the object (not matching content). */
-/* If the function gets passed a NULL then we want to free the last texture */
-/* object in the list. Used in a loop to destory all. */
-/*===========================================================================*/
-/* RETURN: TRUE, FALSE. */
-/*===========================================================================*/
-static BOOL DestroyTextureObject( PMESAD3DHAL pHAL, PTM_OBJECT pTMObject )
-{
- PTM_OBJECT pCurrent;
-
- DPF(( DBG_FUNC, "DestoryTextureObject();" ));
-
- /* Just to be safe. */
- if ( !pHAL || !pHAL->pTMList )
- {
- DPF(( DBG_TXT_WARN, "DestroyTextureObject() -> NULL pHAL/pHAL->pTMList" ));
- return FALSE;
- }
-
- /* Free the last texture in the list. */
- if ( pTMObject == NULL )
- {
- /* Find the last texture object. */
- for( pCurrent = pHAL->pTMList; pCurrent->next; pCurrent = pCurrent->next );
- }
- else
- {
- /* See if we can find this texture object. */
- for( pCurrent = pHAL->pTMList; pCurrent && (pCurrent != pTMObject); pCurrent = pCurrent->next );
-
- /* Didn't find anything. */
- if ( pCurrent == NULL )
- {
- DPF(( DBG_TXT_WARN, "No textures to be freed" ));
- return FALSE;
- }
- }
-
- /* Can't free this baby. */
- if ( pCurrent->bLock == TRUE )
- {
- DPF(( DBG_TXT_WARN, "Requested texture to be freed LOCKED" ));
- return FALSE;
- }
-
- /* Free the texture memory. */
- if ( pCurrent->lpD3DTexture2 )
- {
- DPF(( DBG_TXT_INFO, "Release Texture2" ));
- pCurrent->lpD3DTexture2->Release();
- pCurrent->lpD3DTexture2 = NULL;
- }
- if ( pCurrent->lpDDS_Video )
- {
- DPF(( DBG_TXT_INFO, "Release texture (VID):" ));
- pCurrent->lpDDS_Video->Release();
- pCurrent->lpDDS_Video = NULL;
- }
- if ( pCurrent->lpDDS_System )
- {
- DPF(( DBG_TXT_INFO, "Release texture (SYS):" ));
- pCurrent->lpDDS_System->Release();
- pCurrent->lpDDS_System = NULL;
- }
-
- /* Pull this texture out of the list. */
- if ( pCurrent == pHAL->pTMList )
- pHAL->pTMList = NULL;
- if ( pCurrent->prev )
- (pCurrent->prev)->next = pCurrent->next;
- if ( pCurrent->next )
- (pCurrent->next)->prev = pCurrent->prev;
- FREE( pCurrent );
-
- return TRUE;
-}
-/*===========================================================================*/
-/* This function is the callback function that gets called when we are doing*/
-/* an enumeration of the texture formats supported by this device. The choice*/
-/* is made by checking to see if we have a match with the supplied D3D pixel-*/
-/* format. So the enumeration has to pass a desired D3D PF as the user var. */
-/*===========================================================================*/
-/* RETURN: D3DENUMRET_OK, D3DENUMRET_CANCEL. */
-/*===========================================================================*/
-static void UpdateTexture( PTM_OBJECT pTMObj, BOOL bVideo, RECT *pRect, UCHAR *pixels )
-{
- LPDIRECTDRAWSURFACE4 lpDDS;
- DDSURFACEDESC2 ddsd2;
- DWORD srcPitch,
- dwHeight,
- dwWidth,
- dwCol,
- dwColor;
- UCHAR *pSrc,
- *pSrcRow,
- *pDest,
- *pDestRow;
- int rc;
-
- // TODO: Do I need to pass the h/w when its in the object!
- DPF(( DBG_FUNC, "UpdateTexture();" ));
-
- /* Get the surface pointer we are looking for. */
- lpDDS = (bVideo) ? pTMObj->lpDDS_Video : pTMObj->lpDDS_System;
-
- /*===================================================================*/
- /* Fill the texture using the PixelInfo structure to do the mapping. */
- /*===================================================================*/
-
- /* Get the surface pointer. */
- memset( &ddsd2, 0, sizeof(DDSURFACEDESC2) );
- ddsd2.dwSize = sizeof(DDSURFACEDESC2);
- rc = lpDDS->Lock( NULL, &ddsd2, DDLOCK_WAIT, NULL );
- if ( FAILED(rc) )
- {
- RIP( NULL, "Lock (TEXTURE/SYSTEM)->", ErrorStringD3D(rc) );
- return;
- }
-
- /* For now we are only updating the system surface so use its dimensions. */
- dwWidth = (bVideo) ? pTMObj->dwVWidth : pTMObj->dwSWidth;
- dwHeight = (bVideo) ? pTMObj->dwVHeight : pTMObj->dwSHeight;
-
- /* If we are updating the whole surface then the pDest/pSrc will */
- /* always be the same. */
- if ( pRect == NULL )
- {
- pDest = (UCHAR *)ddsd2.lpSurface;
- pSrc = pixels;
- }
-
- /* Fill the texture surface based on the pixelformat flags. */
- if ( pTMObj->dwFlags == (DDPF_RGB | DDPF_ALPHAPIXELS) )
- {
- srcPitch = dwWidth * 4;
- if ( pRect )
- {
- pDest = ((UCHAR *)ddsd2.lpSurface) + (pRect->top * ddsd2.lPitch) + (pRect->left * pTMObj->pixel.cb);
- pSrc = pixels + (pRect->top * dwWidth * 4) + (pRect->left * 4);
- dwHeight = (pRect->bottom - pRect->top);
- dwWidth = (pRect->right - pRect->left);
- }
-
- for( pDestRow = pDest, pSrcRow = pSrc; dwHeight > 0; dwHeight--, pDestRow += ddsd2.lPitch, pSrcRow += srcPitch )
- {
- for( dwCol = 0, pDest = pDestRow, pSrc = pSrcRow; dwCol < dwWidth; dwCol++ )
- {
- dwColor = ( ((DWORD)(*(pSrc ) * pTMObj->pixel.rScale)) << pTMObj->pixel.rShift );
- dwColor |= ( ((DWORD)(*(pSrc+1) * pTMObj->pixel.gScale)) << pTMObj->pixel.gShift );
- dwColor |= ( ((DWORD)(*(pSrc+2) * pTMObj->pixel.bScale)) << pTMObj->pixel.bShift );
- if ( pTMObj->pixel.aScale == -1.0 )
- dwColor |= ( (*(pSrc+3) & 0x80) ? (1 << pTMObj->pixel.aShift) : 0 );
- else
- dwColor |= ( ((DWORD)(*(pSrc+3) * pTMObj->pixel.aScale)) << pTMObj->pixel.aShift );
- memcpy( pDest, &dwColor, pTMObj->pixel.cb );
- pDest += pTMObj->pixel.cb;
- pSrc += 4;
- }
- }
- }
- else if ( pTMObj->dwFlags == DDPF_RGB )
- {
- srcPitch = dwWidth * 3;
- if ( pRect )
- {
- pDest = ((UCHAR *)ddsd2.lpSurface) + (pRect->top * ddsd2.lPitch) + (pRect->left * pTMObj->pixel.cb);
- pSrc = pixels + (pRect->top * dwWidth * 3) + (pRect->left * 3);
- dwHeight = (pRect->bottom - pRect->top);
- dwWidth = (pRect->right - pRect->left);
- }
-
- for( pDestRow = pDest, pSrcRow = pSrc; dwHeight > 0; dwHeight--, pDestRow += ddsd2.lPitch, pSrcRow += srcPitch )
- {
- for( dwCol = 0, pDest = pDestRow, pSrc = pSrcRow; dwCol < dwWidth; dwCol++ )
- {
- dwColor = ( ((DWORD)(*(pSrc ) * pTMObj->pixel.rScale)) << pTMObj->pixel.rShift );
- dwColor |= ( ((DWORD)(*(pSrc+1) * pTMObj->pixel.gScale)) << pTMObj->pixel.gShift );
- dwColor |= ( ((DWORD)(*(pSrc+2) * pTMObj->pixel.bScale)) << pTMObj->pixel.bShift );
- memcpy( pDest, &dwColor, pTMObj->pixel.cb );
- pDest += pTMObj->pixel.cb;
- pSrc += 3;
- }
- }
- }
- else if ( pTMObj->dwFlags == (DDPF_LUMINANCE | DDPF_ALPHAPIXELS) )
- {
- srcPitch = dwWidth * 2;
- if ( pRect )
- {
- pDest = ((UCHAR *)ddsd2.lpSurface) + (pRect->top * ddsd2.lPitch) + (pRect->left * pTMObj->pixel.cb);
- pSrc = pixels + (pRect->top * dwWidth * 2) + (pRect->left * 2);
- dwHeight = (pRect->bottom - pRect->top);
- dwWidth = (pRect->right - pRect->left);
- }
-
- for( pDestRow = pDest, pSrcRow = pSrc; dwHeight > 0; dwHeight--, pDestRow += ddsd2.lPitch, pSrcRow += srcPitch )
- {
- for( dwCol = 0, pDest = pDestRow, pSrc = pSrcRow; dwCol < dwWidth; dwCol++ )
- {
- dwColor = ( ((DWORD)(*(pSrc ) * pTMObj->pixel.rScale)) << pTMObj->pixel.rShift );
- if ( pTMObj->pixel.aScale == -1.0 )
- dwColor |= ( (*(pSrc+1) & 0x80) ? (1 << pTMObj->pixel.aShift) : 0 );
- else
- dwColor |= ( ((DWORD)(*(pSrc+1) * pTMObj->pixel.aScale)) << pTMObj->pixel.aShift );
- memcpy( pDest, &dwColor, pTMObj->pixel.cb );
- pDest += pTMObj->pixel.cb;
- pSrc += 2;
- }
- }
- }
- else if ( pTMObj->dwFlags == DDPF_LUMINANCE )
- {
- srcPitch = dwWidth;
- if ( pRect )
- {
- pDest = ((UCHAR *)ddsd2.lpSurface) + (pRect->top * ddsd2.lPitch) + (pRect->left * pTMObj->pixel.cb);
- pSrc = pixels + (pRect->top * dwWidth) + (pRect->left);
- dwHeight = (pRect->bottom - pRect->top);
- dwWidth = (pRect->right - pRect->left);
- }
-
- for( pDestRow = pDest, pSrcRow = pSrc; dwHeight > 0; dwHeight--, pDestRow += ddsd2.lPitch, pSrcRow += srcPitch )
- {
- for( dwCol = 0, pDest = pDestRow, pSrc = pSrcRow; dwCol < dwWidth; dwCol++ )
- {
- dwColor = ( ((DWORD)(*pSrc * pTMObj->pixel.rScale)) << pTMObj->pixel.rShift );
- memcpy( pDest, &dwColor, pTMObj->pixel.cb );
- pDest += pTMObj->pixel.cb;
- pSrc++;
- }
- }
- }
- else if ( pTMObj->dwFlags == DDPF_ALPHAPIXELS )
- {
- srcPitch = dwWidth;
- if ( pRect )
- {
- pDest = ((UCHAR *)ddsd2.lpSurface) + (pRect->top * ddsd2.lPitch) + (pRect->left * pTMObj->pixel.cb);
- pSrc = pixels + (pRect->top * dwWidth) + (pRect->left);
- dwHeight = (pRect->bottom - pRect->top);
- dwWidth = (pRect->right - pRect->left);
- }
-
- for( pDestRow = pDest, pSrcRow = pSrc; dwHeight > 0; dwHeight--, pDestRow += ddsd2.lPitch, pSrcRow += srcPitch )
- {
- for( dwCol = 0, pDest = pDestRow, pSrc = pSrcRow; dwCol < dwWidth; dwCol++ )
- {
- if ( pTMObj->pixel.aScale == -1.0 )
- dwColor = ( (*pSrc & 0x80) ? (1 << pTMObj->pixel.aShift) : 0 );
- else
- dwColor = ( ((DWORD)(*pSrc * pTMObj->pixel.aScale)) << pTMObj->pixel.aShift );
- memcpy( pDest, &dwColor, pTMObj->pixel.cb );
- pDest += pTMObj->pixel.cb;
- pSrc++;
- }
- }
- }
-
- /* Unlock the surface. */
- rc = lpDDS->Unlock( NULL );
- if ( FAILED(rc) )
- {
- RIP( NULL, "Unlock (TEXTURE/SYSTEM)->", ErrorStringD3D(rc) );
- }
-}
-/*===========================================================================*/
-/* This function is the callback function that gets called when we are doing*/
-/* an enumeration of the texture formats supported by this device. The choice*/
-/* is made by checking to see if we have a match with the supplied D3D pixel-*/
-/* format. So the enumeration has to pass a desired D3D PF as the user var. */
-/*===========================================================================*/
-/* RETURN: D3DENUMRET_OK, D3DENUMRET_CANCEL. */
-/*===========================================================================*/
-HRESULT CALLBACK EnumPFHook( LPDDPIXELFORMAT lpDDPixFmt, LPVOID lpContext )
-{
- LPDDPIXELFORMAT lpDDPixFmtRequest = (LPDDPIXELFORMAT)lpContext;
- PIXELINFO pixel;
-
- DPF(( DBG_FUNC, "EnumPFHook();" ));
-
- if ( lpDDPixFmt->dwFlags == lpDDPixFmtRequest->dwFlags )
- {
- /* Are we looking for an alpha channel? */
- if ( lpDDPixFmtRequest->dwFlags & DDPF_ALPHAPIXELS )
- {
- /* Try for something that has more then 1bits of Alpha. */
- Solve8BitChannelPixelFormat( lpDDPixFmt, &pixel );
- if ( pixel.aScale == -1.0 )
- {
- /* Save this format no matter what as its a match of sorts. */
- memcpy( lpDDPixFmtRequest, lpDDPixFmt, sizeof(DDPIXELFORMAT) );
- return D3DENUMRET_OK;
- }
- }
-
- /* Save this format as its a good match. */
- memcpy( lpDDPixFmtRequest, lpDDPixFmt, sizeof(DDPIXELFORMAT) );
-
- /* We are happy at this point so lets leave. */
- return D3DENUMRET_CANCEL;
- }
-
- return D3DENUMRET_OK;
-}
-
-
diff --git a/src/mesa/drivers/d3d/D3DTextureMgr.h b/src/mesa/drivers/d3d/D3DTextureMgr.h
deleted file mode 100644
index 8a64ceaaec..0000000000
--- a/src/mesa/drivers/d3d/D3DTextureMgr.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/*===========================================================================*/
-/* */
-/* Mesa-3.0 DirectX 6 Driver */
-/* */
-/* By Leigh McRae */
-/* */
-/* http://www.altsoftware.com/ */
-/* */
-/* Copyright (c) 1999-1998 alt.software inc. All Rights Reserved */
-/*===========================================================================*/
-#ifndef _TEXTURE_MGR_INC
-#define _TEXTURE_MGR_INC
-
-/*===========================================================================*/
-/* Includes. */
-/*===========================================================================*/
-#include <windows.h>
-#include <ddraw.h>
-#include <d3d.h>
-#include <stdlib.h>
-#include <stdlib.h>
-#include "GL/gl.h"
-/*========================================================================*/
-/* Defines. */
-/*========================================================================*/
-/*========================================================================*/
-/* Type defines. */
-/*========================================================================*/
-typedef struct _local_texture_object
-{
- DWORD dwName,
- dwPriority,
- dwFlags,
- dwSWidth,
- dwSHeight,
- dwVWidth,
- dwVHeight;
- BOOL bLock,
- bDirty; /* I only update VID on SubImage calls so the system */
- /* texture can get invalid. */
-
- LPDIRECT3DDEVICE3 lpD3DDevice; /* If the device changes we must get new handles... */
- LPDIRECTDRAWSURFACE4 lpDDS_System,
- lpDDS_Video;
- LPDIRECT3DTEXTURE2 lpD3DTexture2;
-
- PIXELINFO pixel;
-
- struct _local_texture_object *next;
- struct _local_texture_object *prev;
-
-} TM_OBJECT, *PTM_OBJECT;
-/*========================================================================*/
-/* Function prototypes. */
-/*========================================================================*/
-void APIENTRY InitTMD3D( void *pVoid );
-void APIENTRY TermTMD3D( void *pVoid );
-/*========================================================================*/
-/* Global variables declaration. */
-/*========================================================================*/
-
-#endif
diff --git a/src/mesa/drivers/d3d/D3DUTILS.CPP b/src/mesa/drivers/d3d/D3DUTILS.CPP
deleted file mode 100644
index 02664f96e4..0000000000
--- a/src/mesa/drivers/d3d/D3DUTILS.CPP
+++ /dev/null
@@ -1,638 +0,0 @@
-/*===========================================================================*/
-/* */
-/* Mesa-3.0 DirectX 6 Driver */
-/* */
-/* By Leigh McRae */
-/* */
-/* http://www.altsoftware.com/ */
-/* */
-/* Copyright (c) 1999-1998 alt.software inc. All Rights Reserved */
-/*===========================================================================*/
-#include "D3DHAL.h"
-/*===========================================================================*/
-/* Local only functions. */
-/*===========================================================================*/
-static int CountTrailingZeros( DWORD dwMask );
-/*===========================================================================*/
-/* This function is used to get the pointer to the surface and the pitch for*/
-/* the scanline rendering functions. */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-extern "C" DDSURFACEDESC2 *LockHAL( PMESAD3DSHARED pShared, BOOL bBack )
-{
- PMESAD3DHAL pHAL = (PMESAD3DHAL)pShared;
- static DDSURFACEDESC2 ddsd2;
- HRESULT rc;
-
- DPF(( DBG_FUNC, "LockHAL();" ));
-
- /* Set the request structure up first. */
- memset( &ddsd2, 0, sizeof(DDSURFACEDESC2) );
- ddsd2.dwSize = sizeof(DDSURFACEDESC2);
-
- /* Make sure we have enough info. */
- if ( pHAL )
- {
- rc = pHAL->lpDDSRender->Lock( NULL, &ddsd2, DDLOCK_WAIT, NULL );
- if ( FAILED(rc) )
- {
- RIP( pHAL, "Lock (RENDER) ->", ErrorStringD3D(rc) );
- }
- }
-
- return &ddsd2;
-}
-/*===========================================================================*/
-/* This is just a simple wrapper. I probably don't need to do any error */
-/* checking as the Lock must have worked inorder to get here... */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-extern "C" void UnlockHAL( PMESAD3DSHARED pShared, BOOL bBack )
-{
- PMESAD3DHAL pHAL = (PMESAD3DHAL)pShared;
- HRESULT rc;
-
- DPF(( DBG_FUNC, "UnlockHAL();" ));
-
- /* Make sure we have enough info. */
- if ( pHAL )
- {
- rc = pHAL->lpDDSRender->Unlock( NULL );
- if ( FAILED(rc) )
- {
- RIP( pHAL, "Unlock (RENDER) ->", ErrorStringD3D(rc) );
- }
- }
-}
-/*===========================================================================*/
-/* This function will track the main/Primary window that will be used as the*/
-/* target for the Blt in SwapBuffers. As a side effect the call will check */
-/* to see if the primary surface is the same size and position as the screen.*/
-/* If they are the same size we will call it fullscreen... */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-extern "C" void UpdateScreenPosHAL( PMESAD3DSHARED pShared )
-{
- PMESAD3DHAL pHAL = (PMESAD3DHAL)pShared;
- POINT pt;
- DWORD dwWidth, dwHeight;
-
- DPF(( DBG_FUNC, "UpdateScreenPosHAL();" ));
-
- /* Make sure we have enough info. */
- if ( pHAL != NULL )
- {
- /* Update the windows screen position. */
- GetClientRect( pShared->hwnd, &pShared->rectW );
- pt.x = pt.y = 0;
- ClientToScreen( pShared->hwnd, &pt );
- OffsetRect( &pShared->rectW, pt.x, pt.y);
-
- /* Compare the primary to the screen. */
- dwWidth = GetSystemMetrics( SM_CXSCREEN );
- dwHeight = GetSystemMetrics( SM_CYSCREEN );
- if ( (pShared->rectW.left > 0) || (pShared->rectW.top > 0) ||
- (pShared->rectW.right > dwWidth) || (pShared->rectW.bottom > dwHeight) )
- pShared->bWindow = TRUE;
- else
- pShared->bWindow = FALSE;
- }
-}
-/*===========================================================================*/
-/* This function will fill in the pixel info structure defined in D3Dshared.*/
-/* Basicly it will take a DirectDraw pixelformat structure and make scaling */
-/* values that will convert from 8bit channels to whatever the supplied ddpf */
-/* uses. Also we will generate shift values that will be used to get move */
-/* each component of the pixel into place. */
-/* I have now added a special case for a 1bit alpha channel. If I find a 1b*/
-/* alpha then I will set the scale to -1.0 which should be unique. Later I */
-/* can check the alpha scale value too see if its -1.0 and thus handle it. I*/
-/* was finding that the case was not working tom my advantage so this is my */
-/* HACK for the day. As a TODO I should work on this... */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-void Solve8BitChannelPixelFormat( DDPIXELFORMAT *pddpf, PPIXELINFO pPixel )
-{
- DPF(( DBG_FUNC, "Solve8BitChannelPixelFromat();" ));
-
- memset( pPixel, 0, sizeof(PPIXELINFO) );
-
- /* Check too see if the color space is valid in the PF. */
- if ( pddpf->dwFlags & DDPF_RGB )
- {
- /* Solve the red stuff. */
- pPixel->dwRMask = pddpf->dwRBitMask;
- pPixel->rShift = CountTrailingZeros( pPixel->dwRMask );
- pPixel->rScale = (float)0.00392156 * (float)(pPixel->dwRMask >> pPixel->rShift);
-
- /* Solve the green thingy's. */
- pPixel->dwGMask = pddpf->dwGBitMask;
- pPixel->gShift = CountTrailingZeros( pPixel->dwGMask );
- pPixel->gScale = (float)0.00392156 * (float)(pPixel->dwGMask >> pPixel->gShift);
-
- /* Solve the blues. */
- pPixel->dwBMask = pddpf->dwBBitMask;
- pPixel->bShift = CountTrailingZeros( pddpf->dwBBitMask );
- pPixel->bScale = (float)0.00392156 * (float)(pddpf->dwBBitMask >> pPixel->bShift);
- }
-
- /* Do the alpha channel if there is one. */
- if ( pddpf->dwFlags & DDPF_ALPHAPIXELS )
- {
- pPixel->dwAMask = pddpf->dwRGBAlphaBitMask;
- pPixel->aShift = CountTrailingZeros( pPixel->dwAMask );
-
- /* Special case a 1bit alpha. */
- if ( (pPixel->dwAMask >> pPixel->aShift) == 1 )
- pPixel->aScale = -1.0;
- else
- pPixel->aScale = (float)0.00392156 * (float)(pPixel->dwAMask >> pPixel->aShift);
- }
-
- /* Get the size of the pixel in bytes. Should work as dwRGBBitCount is in a union. */
- pPixel->cb = pddpf->dwRGBBitCount / 8;
-}
-/*===========================================================================*/
-/* See RETURN :) */
-/*===========================================================================*/
-/* RETURN: number of contiguous zeros starting from the right. */
-/*===========================================================================*/
-static int CountTrailingZeros( DWORD dwMask )
-{
- DWORD Mask;
-
- if ( dwMask == 0 )
- return 32;
-
- /* Can't take credit for this one! */
- Mask = dwMask & -(int)dwMask;
- return ((Mask & 0xFFFF0000)!=0) << 4
- | ((Mask & 0xFF00FF00)!=0) << 3
- | ((Mask & 0xF0F0F0F0)!=0) << 2
- | ((Mask & 0xCCCCCCCC)!=0) << 1
- | ((Mask & 0xAAAAAAAA)!=0);
-}
-/*===========================================================================*/
-/* This function will convert the DDraw error code to its macro string. The*/
-/* returned pointer is static so you need not worry about memory managemnet */
-/* but the error message gets written over from call to call... */
-/*===========================================================================*/
-/* RETURN: pointer to the single static buffer that hold the error message. */
-/*===========================================================================*/
-char *ErrorStringD3D( HRESULT hr )
-{
- static char errorString[128];
-
- switch( hr )
- {
- case DDERR_ALREADYINITIALIZED:
- strcpy( errorString, "DDERR_ALREADYINITIALIZED" );
- break;
-
- case DDERR_CANNOTATTACHSURFACE:
- strcpy( errorString, "DDERR_CANNOTATTACHSURFACE" );
- break;
-
- case DDERR_CANNOTDETACHSURFACE:
- strcpy( errorString, "DDERR_CANNOTDETACHSURFACE" );
- break;
-
- case DDERR_CURRENTLYNOTAVAIL:
- strcpy( errorString, "DDERR_CURRENTLYNOTAVAIL" );
- break;
-
- case DDERR_EXCEPTION:
- strcpy( errorString, "DDERR_EXCEPTION" );
- break;
-
- case DDERR_GENERIC:
- strcpy( errorString, "DDERR_GENERIC" );
- break;
-
- case DDERR_HEIGHTALIGN:
- strcpy( errorString, "DDERR_HEIGHTALIGN" );
- break;
-
- case DDERR_INCOMPATIBLEPRIMARY:
- strcpy( errorString, "DDERR_INCOMPATIBLEPRIMARY" );
- break;
-
- case DDERR_INVALIDCAPS:
- strcpy( errorString, "DDERR_INVALIDCAPS" );
- break;
-
- case DDERR_INVALIDCLIPLIST:
- strcpy( errorString, "DDERR_INVALIDCLIPLIST" );
- break;
-
- case DDERR_INVALIDMODE:
- strcpy( errorString, "DDERR_INVALIDMODE" );
- break;
-
- case DDERR_INVALIDOBJECT:
- strcpy( errorString, "DDERR_INVALIDOBJECT" );
- break;
-
- case DDERR_INVALIDPARAMS:
- strcpy( errorString, "DDERR_INVALIDPARAMS" );
- break;
-
- case DDERR_INVALIDPIXELFORMAT:
- strcpy( errorString, "DDERR_INVALIDPIXELFORMAT" );
- break;
-
- case DDERR_INVALIDRECT:
- strcpy( errorString, "DDERR_INVALIDRECT" );
- break;
-
- case DDERR_LOCKEDSURFACES:
- strcpy( errorString, "DDERR_LOCKEDSURFACES" );
- break;
-
- case DDERR_NO3D:
- strcpy( errorString, "DDERR_NO3D" );
- break;
-
- case DDERR_NOALPHAHW:
- strcpy( errorString, "DDERR_NOALPHAHW" );
- break;
-
- case DDERR_NOCLIPLIST:
- strcpy( errorString, "DDERR_NOCLIPLIST" );
- break;
-
- case DDERR_NOCOLORCONVHW:
- strcpy( errorString, "DDERR_NOCOLORCONVHW" );
- break;
-
- case DDERR_NOCOOPERATIVELEVELSET:
- strcpy( errorString, "DDERR_NOCOOPERATIVELEVELSET" );
- break;
-
- case DDERR_NOCOLORKEY:
- strcpy( errorString, "DDERR_NOCOLORKEY" );
- break;
-
- case DDERR_NOCOLORKEYHW:
- strcpy( errorString, "DDERR_NOCOLORKEYHW" );
- break;
-
- case DDERR_NODIRECTDRAWSUPPORT:
- strcpy( errorString, "DDERR_NODIRECTDRAWSUPPORT" );
- break;
-
- case DDERR_NOEXCLUSIVEMODE:
- strcpy( errorString, "DDERR_NOEXCLUSIVEMODE" );
- break;
-
- case DDERR_NOFLIPHW:
- strcpy( errorString, "DDERR_NOFLIPHW" );
- break;
-
- case DDERR_NOGDI:
- strcpy( errorString, "DDERR_NOGDI" );
- break;
-
- case DDERR_NOMIRRORHW:
- strcpy( errorString, "DDERR_NOMIRRORHW" );
- break;
-
- case DDERR_NOTFOUND:
- strcpy( errorString, "DDERR_NOTFOUND" );
- break;
-
- case DDERR_NOOVERLAYHW:
- strcpy( errorString, "DDERR_NOOVERLAYHW" );
- break;
-
- case DDERR_OVERLAPPINGRECTS:
- strcpy( errorString, "DDERR_OVERLAPPINGRECTS" );
- break;
-
- case DDERR_NORASTEROPHW:
- strcpy( errorString, "DDERR_NORASTEROPHW" );
- break;
-
- case DDERR_NOROTATIONHW:
- strcpy( errorString, "DDERR_NOROTATIONHW" );
- break;
-
- case DDERR_NOSTRETCHHW:
- strcpy( errorString, "DDERR_NOSTRETCHHW" );
- break;
-
- case DDERR_NOT4BITCOLOR:
- strcpy( errorString, "DDERR_NOT4BITCOLOR" );
- break;
-
- case DDERR_NOT4BITCOLORINDEX:
- strcpy( errorString, "DDERR_NOT4BITCOLORINDEX" );
- break;
-
- case DDERR_NOT8BITCOLOR:
- strcpy( errorString, "DDERR_NOT8BITCOLOR" );
- break;
-
- case DDERR_NOTEXTUREHW:
- strcpy( errorString, "DDERR_NOTEXTUREHW" );
- break;
-
- case DDERR_NOVSYNCHW:
- strcpy( errorString, "DDERR_NOVSYNCHW" );
- break;
-
- case DDERR_NOZBUFFERHW:
- strcpy( errorString, "DDERR_NOZBUFFERHW" );
- break;
-
- case DDERR_NOZOVERLAYHW:
- strcpy( errorString, "DDERR_NOZOVERLAYHW" );
- break;
-
- case DDERR_OUTOFCAPS:
- strcpy( errorString, "DDERR_OUTOFCAPS" );
- break;
-
- case DDERR_OUTOFMEMORY:
- strcpy( errorString, "DDERR_OUTOFMEMORY" );
- break;
-
- case DDERR_OUTOFVIDEOMEMORY:
- strcpy( errorString, "DDERR_OUTOFVIDEOMEMORY" );
- break;
-
- case DDERR_OVERLAYCANTCLIP:
- strcpy( errorString, "DDERR_OVERLAYCANTCLIP" );
- break;
-
- case DDERR_OVERLAYCOLORKEYONLYONEACTIVE:
- strcpy( errorString, "DDERR_OVERLAYCOLORKEYONLYONEACTIVE" );
- break;
-
- case DDERR_PALETTEBUSY:
- strcpy( errorString, "DDERR_PALETTEBUSY" );
- break;
-
- case DDERR_COLORKEYNOTSET:
- strcpy( errorString, "DDERR_COLORKEYNOTSET" );
- break;
-
- case DDERR_SURFACEALREADYATTACHED:
- strcpy( errorString, "DDERR_SURFACEALREADYATTACHED" );
- break;
-
- case DDERR_SURFACEALREADYDEPENDENT:
- strcpy( errorString, "DDERR_SURFACEALREADYDEPENDENT" );
- break;
-
- case DDERR_SURFACEBUSY:
- strcpy( errorString, "DDERR_SURFACEBUSY" );
- break;
-
- case DDERR_CANTLOCKSURFACE:
- strcpy( errorString, "DDERR_CANTLOCKSURFACE" );
- break;
-
- case DDERR_SURFACEISOBSCURED:
- strcpy( errorString, "DDERR_SURFACEISOBSCURED" );
- break;
-
- case DDERR_SURFACELOST:
- strcpy( errorString, "DDERR_SURFACELOST" );
- break;
-
- case DDERR_SURFACENOTATTACHED:
- strcpy( errorString, "DDERR_SURFACENOTATTACHED" );
- break;
-
- case DDERR_TOOBIGHEIGHT:
- strcpy( errorString, "DDERR_TOOBIGHEIGHT" );
- break;
-
- case DDERR_TOOBIGSIZE:
- strcpy( errorString, "DDERR_TOOBIGSIZE" );
- break;
-
- case DDERR_TOOBIGWIDTH:
- strcpy( errorString, "DDERR_TOOBIGWIDTH" );
- break;
-
- case DDERR_UNSUPPORTED:
- strcpy( errorString, "DDERR_UNSUPPORTED" );
- break;
-
- case DDERR_UNSUPPORTEDFORMAT:
- strcpy( errorString, "DDERR_UNSUPPORTEDFORMAT" );
- break;
-
- case DDERR_UNSUPPORTEDMASK:
- strcpy( errorString, "DDERR_UNSUPPORTEDMASK" );
- break;
-
- case DDERR_INVALIDSTREAM:
- strcpy( errorString, "DDERR_INVALIDSTREAM" );
- break;
-
- case DDERR_VERTICALBLANKINPROGRESS:
- strcpy( errorString, "DDERR_VERTICALBLANKINPROGRESS" );
- break;
-
- case DDERR_WASSTILLDRAWING:
- strcpy( errorString, "DDERR_WASSTILLDRAWING" );
- break;
-
- case DDERR_XALIGN:
- strcpy( errorString, "DDERR_XALIGN" );
- break;
-
- case DDERR_INVALIDDIRECTDRAWGUID:
- strcpy( errorString, "DDERR_INVALIDDIRECTDRAWGUID" );
- break;
-
- case DDERR_DIRECTDRAWALREADYCREATED:
- strcpy( errorString, "DDERR_DIRECTDRAWALREADYCREATED" );
- break;
-
- case DDERR_NODIRECTDRAWHW:
- strcpy( errorString, "DDERR_NODIRECTDRAWHW" );
- break;
-
- case DDERR_PRIMARYSURFACEALREADYEXISTS:
- strcpy( errorString, "DDERR_PRIMARYSURFACEALREADYEXISTS" );
- break;
-
- case DDERR_NOEMULATION:
- strcpy( errorString, "DDERR_NOEMULATION" );
- break;
-
- case DDERR_REGIONTOOSMALL:
- strcpy( errorString, "DDERR_REGIONTOOSMALL" );
- break;
-
- case DDERR_CLIPPERISUSINGHWND:
- strcpy( errorString, "DDERR_CLIPPERISUSINGHWND" );
- break;
-
- case DDERR_NOCLIPPERATTACHED:
- strcpy( errorString, "DDERR_NOCLIPPERATTACHED" );
- break;
-
- case DDERR_NOHWND:
- strcpy( errorString, "DDERR_NOHWND" );
- break;
-
- case DDERR_HWNDSUBCLASSED:
- strcpy( errorString, "DDERR_HWNDSUBCLASSED" );
- break;
-
- case DDERR_HWNDALREADYSET:
- strcpy( errorString, "DDERR_HWNDALREADYSET" );
- break;
-
- case DDERR_NOPALETTEATTACHED:
- strcpy( errorString, "DDERR_NOPALETTEATTACHED" );
- break;
-
- case DDERR_NOPALETTEHW:
- strcpy( errorString, "DDERR_NOPALETTEHW" );
- break;
-
- case DDERR_BLTFASTCANTCLIP:
- strcpy( errorString, "DDERR_BLTFASTCANTCLIP" );
- break;
-
- case DDERR_NOBLTHW:
- strcpy( errorString, "DDERR_NOBLTHW" );
- break;
-
- case DDERR_NODDROPSHW:
- strcpy( errorString, "DDERR_NODDROPSHW" );
- break;
-
- case DDERR_OVERLAYNOTVISIBLE:
- strcpy( errorString, "DDERR_OVERLAYNOTVISIBLE" );
- break;
-
- case DDERR_NOOVERLAYDEST:
- strcpy( errorString, "DDERR_NOOVERLAYDEST" );
- break;
-
- case DDERR_INVALIDPOSITION:
- strcpy( errorString, "DDERR_INVALIDPOSITION" );
- break;
-
- case DDERR_NOTAOVERLAYSURFACE:
- strcpy( errorString, "DDERR_NOTAOVERLAYSURFACE" );
- break;
-
- case DDERR_EXCLUSIVEMODEALREADYSET:
- strcpy( errorString, "DDERR_EXCLUSIVEMODEALREADYSET" );
- break;
-
- case DDERR_NOTFLIPPABLE:
- strcpy( errorString, "DDERR_NOTFLIPPABLE" );
- break;
-
- case DDERR_CANTDUPLICATE:
- strcpy( errorString, "DDERR_CANTDUPLICATE" );
- break;
-
- case DDERR_NOTLOCKED:
- strcpy( errorString, "DDERR_NOTLOCKED" );
- break;
-
- case DDERR_CANTCREATEDC:
- strcpy( errorString, "DDERR_CANTCREATEDC" );
- break;
-
- case DDERR_NODC:
- strcpy( errorString, "DDERR_NODC" );
- break;
-
- case DDERR_WRONGMODE:
- strcpy( errorString, "DDERR_WRONGMODE" );
- break;
-
- case DDERR_IMPLICITLYCREATED:
- strcpy( errorString, "DDERR_IMPLICITLYCREATED" );
- break;
-
- case DDERR_NOTPALETTIZED:
- strcpy( errorString, "DDERR_NOTPALETTIZED" );
- break;
-
- case DDERR_UNSUPPORTEDMODE:
- strcpy( errorString, "DDERR_UNSUPPORTEDMODE" );
- break;
-
- case DDERR_NOMIPMAPHW:
- strcpy( errorString, "DDERR_NOMIPMAPHW" );
- break;
-
- case DDERR_INVALIDSURFACETYPE:
- strcpy( errorString, "DDERR_INVALIDSURFACETYPE" );
- break;
-
- case DDERR_NOOPTIMIZEHW:
- strcpy( errorString, "DDERR_NOOPTIMIZEHW" );
- break;
-
- case DDERR_NOTLOADED:
- strcpy( errorString, "DDERR_NOTLOADED" );
- break;
-
- case DDERR_NOFOCUSWINDOW:
- strcpy( errorString, "DDERR_NOFOCUSWINDOW" );
- break;
-
- case DDERR_DCALREADYCREATED:
- strcpy( errorString, "DDERR_DCALREADYCREATED" );
- break;
-
- case DDERR_NONONLOCALVIDMEM:
- strcpy( errorString, "DDERR_NONONLOCALVIDMEM" );
- break;
-
- case DDERR_CANTPAGELOCK:
- strcpy( errorString, "DDERR_CANTPAGELOCK" );
- break;
-
- case DDERR_CANTPAGEUNLOCK:
- strcpy( errorString, "DDERR_CANTPAGEUNLOCK" );
- break;
-
- case DDERR_NOTPAGELOCKED:
- strcpy( errorString, "DDERR_NOTPAGELOCKED" );
- break;
-
- case DDERR_MOREDATA:
- strcpy( errorString, "DDERR_MOREDATA" );
- break;
-
- case DDERR_EXPIRED:
- strcpy( errorString, "DDERR_EXPIRED" );
- break;
-
- case DDERR_VIDEONOTACTIVE:
- strcpy( errorString, "DDERR_VIDEONOTACTIVE" );
- break;
-
- case DDERR_DEVICEDOESNTOWNSURFACE:
- strcpy( errorString, "DDERR_DEVICEDOESNTOWNSURFACE" );
- break;
-
- case DDERR_NOTINITIALIZED:
- strcpy( errorString, "DDERR_NOTINITIALIZED" );
- break;
-
- default:
- strcpy( errorString, "<unknown error code>" );
- break;
- }
-
- return &errorString[0];
-}
diff --git a/src/mesa/drivers/d3d/D3Dvbrender.c b/src/mesa/drivers/d3d/D3Dvbrender.c
deleted file mode 100644
index 09857f1dc8..0000000000
--- a/src/mesa/drivers/d3d/D3Dvbrender.c
+++ /dev/null
@@ -1,2149 +0,0 @@
-/*===========================================================================*/
-/* */
-/* Mesa-3.0 DirectX 6 Driver */
-/* */
-/* By Leigh McRae */
-/* */
-/* http://www.altsoftware.com/ */
-/* */
-/* Copyright (c) 1999-1998 alt.software inc. All Rights Reserved */
-/*===========================================================================*/
-#include <stdio.h>
-#include "clip.h"
-#include "context.h"
-#include "light.h"
-#include "lines.h"
-#include "macros.h"
-#include "matrix.h"
-#include "pb.h"
-#include "points.h"
-#include "mtypes.h"
-#include "vb.h"
-#include "vbrender.h"
-#include "xform.h"
-#include "D3DMesa.h"
-
-static void SetRenderStates( GLcontext *ctx );
-static void DebugRenderStates( GLcontext *ctx, BOOL bForce );
-
-static void RenderPointsVB( GLcontext *ctx, GLuint start, GLuint end );
-static void RenderTriangleVB( GLcontext *ctx, GLuint start, GLuint end );
-static void RenderTriangleFanVB( GLcontext *ctx, GLuint start, GLuint end );
-static void RenderTriangleStripVB( GLcontext *ctx, GLuint start, GLuint end );
-static void RenderQuadVB( GLcontext *ctx, GLuint start, GLuint end );
-static void RenderQuad( GLcontext *ctx, GLuint v1, GLuint v2, GLuint v3, GLuint v4, GLuint pv );
-void RenderOneTriangle( GLcontext *ctx, GLuint v1, GLuint v2, GLuint v3, GLuint pv );
-void RenderOneLine( GLcontext *ctx, GLuint v1, GLuint v2, GLuint pv );
-
-/* I went with a D3D vertex buffer that is 6 times that of the Mesa one */
-/* instead of having the D3D one flush when its full. This way Mesa will*/
-/* handle all the flushing. I need x6 as points can use 4 vertex each. */
-D3DTLVERTEX D3DTLVertices[ (VB_MAX*6) ];
-GLuint VList[VB_SIZE];
-/*===========================================================================*/
-/* Compute Z offsets for a polygon with plane defined by (A,B,C,D) */
-/* D is not needed. TODO: Currently we are calculating this but not using it.*/
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-static void OffsetPolygon( GLcontext *ctx, GLfloat a, GLfloat b, GLfloat c )
-{
- GLfloat ac,
- bc,
- m,
- offset;
-
- DPF(( DBG_FUNC, "OffsetPolygon();" ));
-
- if ( (c < 0.001F) && (c > - 0.001F) )
- {
- /* Prevents underflow problems. */
- ctx->PointZoffset = 0.0F;
- ctx->LineZoffset = 0.0F;
- ctx->PolygonZoffset = 0.0F;
- }
- else
- {
- ac = a / c;
- bc = b / c;
- if ( ac < 0.0F )
- ac = -ac;
- if ( bc<0.0F )
- bc = -bc;
- m = MAX2( ac, bc ); /* m = sqrt( ac*ac + bc*bc ); */
-
- offset = (m * ctx->Polygon.OffsetFactor + ctx->Polygon.OffsetUnits);
- ctx->PointZoffset = ctx->Polygon.OffsetPoint ? offset : 0.0F;
- ctx->LineZoffset = ctx->Polygon.OffsetLine ? offset : 0.0F;
- ctx->PolygonZoffset = ctx->Polygon.OffsetFill ? offset : 0.0F;
- }
-
- DPF(( DBG_PRIM_INFO, "OffsetPolygon: %f", offset ));
-}
-/*===========================================================================*/
-/* Compute signed area of the n-sided polgyon specified by vertices */
-/* vb->Win[] and vertex list vlist[]. */
-/* A clockwise polygon will return a negative area. A counter-clockwise */
-/* polygon will return a positive area. I have changed this function to */
-/* actually calculate twice the area as its faster and still gives the sign. */
-/*===========================================================================*/
-/* RETURN: signed area of the polgon. */
-/*===========================================================================*/
-static GLfloat PolygonArea( const struct vertex_buffer *vb, GLuint n, const GLuint vlist[] )
-{
- GLfloat area;
- GLuint i;
-
- DPF(( DBG_FUNC, "PolygonArea();" ));
-
-#define j0 vlist[i]
-#define j1 vlist[(i+1)%n]
-#define x0 vb->Win[j0][0]
-#define y0 vb->Win[j0][1]
-#define x1 vb->Win[j1][0]
-#define y1 vb->Win[j1][1]
-
- /* area = sum of trapezoids */
- for( i = 0, area = 0.0; i < n; i++ )
- area += ((x0 - x1) * (y0 + y1)); /* Note: no divide by two here! */
-
-#undef x0
-#undef y0
-#undef x1
-#undef y1
-#undef j1
-#undef j0
-
- // TODO: I don't see the point or * 0.5 as we just want the sign...
- return area;
-}
-/*===========================================================================*/
-/* Render a polygon that needs clipping on at least one vertex. The function*/
-/* will first clip the polygon to any user clipping planes then clip to the */
-/* viewing volume. The final polygon will be draw as single triangles that */
-/* first need minor proccessing (culling, offset, etc) before we draw the */
-/* polygon as a fan. NOTE: the fan is draw as single triangles as its not */
-/* formed sequentaly in the VB but is in the vlist[]. */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-static void RenderClippedPolygon( GLcontext *ctx, GLuint n, GLuint vlist[] )
-{
- struct vertex_buffer *VB = ctx->VB;
- GLfloat (*win)[3] = VB->Win,
- *proj = ctx->ProjectionMatrix,
- ex, ey,
- fx, fy, c,
- wInv;
- GLuint index,
- pv,
- facing;
-
- DPF(( DBG_FUNC, "RenderClippedPolygon();" ));
-
- DPF(( DBG_PRIM_INFO, "RenderClippedtPolygon( %d )", n ));
-
- /* Which vertex dictates the color when flat shading. */
- pv = (ctx->Primitive==GL_POLYGON) ? vlist[0] : vlist[n-1];
-
- /* Clipping may introduce new vertices. New vertices will be stored in */
- /* the vertex buffer arrays starting with location VB->Free. After we've*/
- /* rendered the polygon, these extra vertices can be overwritten. */
- VB->Free = VB_MAX;
-
- /* Clip against user clipping planes in eye coord space. */
- if ( ctx->Transform.AnyClip )
- {
- n = gl_userclip_polygon( ctx, n, vlist );
- if ( n < 3 )
- return;
-
- /* Transform vertices from eye to clip coordinates: clip = Proj * eye */
- for( index = 0; index < n; index++ )
- {
- TRANSFORM_POINT( VB->Clip[vlist[index]], proj, VB->Eye[vlist[index]] );
- }
- }
-
- /* Clip against view volume in clip coord space */
- n = gl_viewclip_polygon( ctx, n, vlist );
- if ( n < 3 )
- return;
-
- /* Transform new vertices from clip to ndc to window coords. */
- /* ndc = clip / W window = viewport_mapping(ndc) */
- /* Note that window Z values are scaled to the range of integer */
- /* depth buffer values. */
-
- /* Only need to compute window coords for new vertices */
- for( index = VB_MAX; index < VB->Free; index++ )
- {
- if ( VB->Clip[index][3] != 0.0F )
- {
- wInv = 1.0F / VB->Clip[index][3];
-
- win[index][0] = VB->Clip[index][0] * wInv * ctx->Viewport.Sx + ctx->Viewport.Tx;
- win[index][1] = VB->Clip[index][1] * wInv * ctx->Viewport.Sy + ctx->Viewport.Ty;
- win[index][2] = VB->Clip[index][2] * wInv * ctx->Viewport.Sz + ctx->Viewport.Tz;
- }
- else
- {
- /* Can't divide by zero, so... */
- win[index][0] = win[index][1] = win[index][2] = 0.0F;
- }
- }
-
- /* Draw filled polygon as a triangle fan */
- for( index = 2; index < n; index++ )
- {
- /* Compute orientation of triangle */
- ex = win[vlist[index-1]][0] - win[vlist[0]][0];
- ey = win[vlist[index-1]][1] - win[vlist[0]][1];
- fx = win[vlist[index]][0] - win[vlist[0]][0];
- fy = win[vlist[index]][1] - win[vlist[0]][1];
- c = (ex * fy) - (ey * fx);
-
- /* polygon is perpindicular to view plane, don't draw it */
- if ( (c == 0.0F) && !ctx->Polygon.Unfilled )
- continue;
-
- /* Backface culling. */
- facing = (c < 0.0F) ^ ctx->Polygon.FrontBit;
- if ( (facing + 1) & ctx->Polygon.CullBits )
- continue;
-
- if ( ctx->IndirectTriangles & DD_TRI_LIGHT_TWOSIDE )
- {
- if ( facing == 1 )
- {
- /* use back color */
- VB->Color = VB->Bcolor;
- VB->Specular= VB->Bspec;
- }
- else
- {
- /* use front color */
- VB->Color = VB->Fcolor;
- VB->Specular= VB->Fspec;
- }
- }
-
- if ( ctx->IndirectTriangles & DD_TRI_OFFSET )
- {
- /* finish computing plane equation of polygon, compute offset */
- GLfloat fz = win[vlist[index]][2] - win[vlist[0]][2];
- GLfloat ez = win[vlist[index-1]][2] - win[vlist[0]][2];
- GLfloat a = (ey * fz) - (ez * fy);
- GLfloat b = (ez * fx) - (ex * fz);
- OffsetPolygon( ctx, a, b, c );
- }
- RenderOneTriangle( ctx, vlist[0], vlist[index-1], vlist[index], pv );
- }
-}
-/*===========================================================================*/
-/* This function gets called when either the vertex buffer is full or glEnd */
-/* has been called. If the we aren't in rendering mode (FEEDBACK) then I */
-/* pass the vertex buffer back to Mesa to deal with by returning FALSE. */
-/* If I can render the primitive types in the buffer directly then I will */
-/* return TRUE after I render the vertex buffer and reset the vertex buffer. */
-/* */
-/* TODO: I don't handle the special case of when the vertex buffer is full */
-/* and we have a primitive that bounds this buffer and the next one to */
-/* come. I'm not sure right now if Mesa handles this for me... */
-/*===========================================================================*/
-/* RETURN: TRUE, FALSE. */
-/*===========================================================================*/
-GLboolean RenderVertexBuffer( GLcontext *ctx, GLboolean allDone )
-{
- struct vertex_buffer *VB = ctx->VB;
- GLuint index,
- vlist[VB_SIZE];
-
- DPF(( DBG_FUNC, "RenderVertexBuffer();" ));
-
- /* We only need to hook actual tri's that need rendering. */
- if ( ctx->RenderMode != GL_RENDER )
- {
- // (ctx->Visual->AccumBits > 0) )
- // (ctx->Visual->StencilBits > 0) )
- DPF(( DBG_PRIM_INFO, "Passing VB back to Mesa" ));
- return FALSE;
- }
-
- /* I'm going to set the states here so that all functions will */
- /* be assured to have the right states. If Mesa's vertex bufefr */
- /* function calls one of my primitive functions (TRI,POINT,LINE) */
- /* it will need the right states. So instead of doing it in the */
- /* primitive function I will always do it here at risk of some */
- /* slow down to some cases... */
- SetRenderStates( ctx );
-
- switch( ctx->Primitive )
- {
- case GL_POINTS:
- DPF(( DBG_PRIM_INFO, "GL_POINTS( %d )", VB->Count ));
- RenderPointsVB( ctx, 0, VB->Count );
- break;
-
- case GL_LINES:
- case GL_LINE_STRIP:
- case GL_LINE_LOOP:
- /* Not supported functions yet so pass back that we failed to */
- /* render the vertex buffer and Mesa will have to do it. */
- DPF(( DBG_PRIM_INFO, "GL_LINE_?( %d )", VB->Count ));
- return FALSE;
-
- case GL_TRIANGLES:
- if ( VB->Count < 3 )
- {
- DPF(( DBG_PRIM_WARN, "GL_TRIANGLES( %d )", VB->Count ));
- return FALSE;
- }
-
- DPF(( DBG_PRIM_INFO, "GL_TRIANGLES( %d )", VB->Count ));
- RenderTriangleVB( ctx, 0, VB->Count );
- break;
-
- case GL_TRIANGLE_STRIP:
- if ( VB->Count < 3 )
- {
- DPF(( DBG_PRIM_WARN, "GL_TRIANGLE_STRIP( %d )", VB->Count ));
- return FALSE;
- }
-
- DPF(( DBG_PRIM_INFO, "GL_TRIANGLE_STRIP( %d )", VB->Count ));
- RenderTriangleStripVB( ctx, 0, VB->Count );
- break;
-
- case GL_TRIANGLE_FAN:
- if ( VB->Count < 3 )
- {
- DPF(( DBG_PRIM_WARN, "GL_TRIANGLE_FAN( %d )", VB->Count ));
- return FALSE;
- }
-
- DPF(( DBG_PRIM_INFO, "GL_TRIANGLE_FAN( %d )", VB->Count ));
- RenderTriangleFanVB( ctx, 0, VB->Count );
- break;
-
- case GL_QUADS:
- if ( VB->Count < 4 )
- {
- DPF(( DBG_PRIM_WARN, "GL_QUADS( %d )", VB->Count ));
- return FALSE;
- }
-
- DPF(( DBG_PRIM_INFO, "GL_QUADS( %d )", VB->Count ));
- RenderQuadVB( ctx, 0, VB->Count );
- break;
-
- case GL_QUAD_STRIP:
- if ( VB->Count < 4 )
- {
- DPF(( DBG_PRIM_WARN, "GL_QUAD_STRIP( %d )", VB->Count ));
- return FALSE;
- }
-
- DPF(( DBG_PRIM_INFO, "GL_QUAD_STRIP( %d )", VB->Count ));
-
- if ( VB->ClipOrMask )
- {
- for( index = 3; index < VB->Count; index += 2 )
- {
- if ( VB->ClipMask[index-3] & VB->ClipMask[index-2] & VB->ClipMask[index-1] & VB->ClipMask[index] & CLIP_ALL_BITS )
- {
- /* All points clipped by common plane */
- DPF(( DBG_PRIM_WARN, "GL_QUAD_STRIP( %d )", VB->Count ));
- continue;
- }
- else if ( VB->ClipMask[index-3] | VB->ClipMask[index-2] | VB->ClipMask[index-1] | VB->ClipMask[index] )
- {
- vlist[0] = index - 3;
- vlist[1] = index - 2;
- vlist[2] = index;
- vlist[3] = index - 1;
- RenderClippedPolygon( ctx, 4, vlist );
- }
- else
- {
- RenderQuad( ctx, (index-3), (index-2), index, (index-1), index );
- }
- }
- }
- else
- {
- /* No clipping needed */
- for( index = 3; index < VB->Count; index += 2 )
- RenderQuad( ctx, (index-3), (index-2), index, (index-1), index );
- }
- break;
-
- case GL_POLYGON:
- if ( VB->Count < 3 )
- {
- DPF(( DBG_PRIM_WARN, "GL_POLYGON( %d )", VB->Count ));
- return FALSE;
- }
-
- DPF(( DBG_PRIM_INFO, "GL_POLYGON( %d )", VB->Count ));
-
- /* All points clipped by common plane, draw nothing */
- if ( !(VB->ClipAndMask & CLIP_ALL_BITS) )
- RenderTriangleFanVB( ctx, 0, VB->Count );
- break;
-
- default:
- /* should never get here */
- _mesa_problem( ctx, "invalid mode in gl_render_vb" );
- }
-
- DPF(( DBG_PRIM_INFO, "ResetVB" ));
-
- /* We return TRUE to indicate we rendered the VB. */
- gl_reset_vb( ctx, allDone );
- return TRUE;
-}
-/*===========================================================================*/
-/* This function will render the current vertex buffer as triangles. The */
-/* buffer has to be able to be rendered directly. This means that we are */
-/* filled, no offsets, no culling and one sided rendering. Also we must be */
-/* in render mode of course. */
-/* First I will fill the global D3D vertice buffer. Next I will set all the*/
-/* states for D3D based on the current OGL state. Finally I pass the D3D VB */
-/* to the wrapper that call DrawPrimitives. */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-static void RenderTriangleVB( GLcontext *ctx, GLuint start, GLuint end )
-{
- D3DMESACONTEXT *pContext = (D3DMESACONTEXT *)ctx->DriverCtx;
- struct vertex_buffer *VB = ctx->VB;
- int index,
- cVertex,
- height = (pContext->pShared->rectW.bottom - pContext->pShared->rectW.top);
- DWORD dwPVColor;
- GLfloat ex, ey,
- fx, fy, c;
- GLuint facing;
-
- DPF(( DBG_FUNC, "RenderTriangleVB" ));
-
- if ( !VB->ClipOrMask )
- {
- DPF(( DBG_PRIM_INFO, "DirectTriangles( %d )", (end-start) ));
- for( index = start, cVertex = 0; index < end; )
- {
- dwPVColor = (VB->Color[(index+2)][3]<<24) | (VB->Color[(index+2)][0]<<16) | (VB->Color[(index+2)][1]<<8) | VB->Color[(index+2)][2];
-
- /*=====================================*/
- /* Populate the the triangle vertices. */
- /*=====================================*/
- D3DTLVertices[cVertex].sx = D3DVAL( VB->Win[index][0] );
- D3DTLVertices[cVertex].sy = D3DVAL( (height - VB->Win[index][1]) );
- D3DTLVertices[cVertex].sz = D3DVAL( VB->Win[index][2] );
- D3DTLVertices[cVertex].tu = D3DVAL( VB->TexCoord[index][0] );
- D3DTLVertices[cVertex].tv = D3DVAL( VB->TexCoord[index][1] );
- D3DTLVertices[cVertex].rhw = D3DVAL( (1.0 / VB->Clip[index][3]) );
- D3DTLVertices[cVertex++].color= (ctx->Light.ShadeModel == GL_FLAT) ?
- dwPVColor :
- (VB->Color[index][3]<<24) | (VB->Color[index][0]<<16) | (VB->Color[index][1]<<8) | VB->Color[index][2];
- index++;
-
- D3DTLVertices[cVertex].sx = D3DVAL( VB->Win[index][0] );
- D3DTLVertices[cVertex].sy = D3DVAL( (height - VB->Win[index][1]) );
- D3DTLVertices[cVertex].sz = D3DVAL( VB->Win[index][2] );
- D3DTLVertices[cVertex].tu = D3DVAL( VB->TexCoord[index][0] );
- D3DTLVertices[cVertex].tv = D3DVAL( VB->TexCoord[index][1] );
- D3DTLVertices[cVertex].rhw = D3DVAL( (1.0 / VB->Clip[index][3]) );
- D3DTLVertices[cVertex++].color= (ctx->Light.ShadeModel == GL_FLAT) ?
- dwPVColor :
- (VB->Color[index][3]<<24) | (VB->Color[index][0]<<16) | (VB->Color[index][1]<<8) | VB->Color[index][2];
- index++;
-
- D3DTLVertices[cVertex].sx = D3DVAL( VB->Win[index][0] );
- D3DTLVertices[cVertex].sy = D3DVAL( (height - VB->Win[index][1]) );
- D3DTLVertices[cVertex].sz = D3DVAL( VB->Win[index][2] );
- D3DTLVertices[cVertex].tu = D3DVAL( VB->TexCoord[index][0] );
- D3DTLVertices[cVertex].tv = D3DVAL( VB->TexCoord[index][1] );
- D3DTLVertices[cVertex].rhw = D3DVAL( (1.0 / VB->Clip[index][3]) );
- D3DTLVertices[cVertex++].color= dwPVColor;
- index++;
- }
- }
- else
- {
-#define v1 index
-#define v2 (index+1)
-#define v3 (index+2)
-
- for( index = start, cVertex = 0; index < end; index += 3 )
- {
- if ( VB->ClipMask[v1] & VB->ClipMask[v2] & VB->ClipMask[v3] & CLIP_ALL_BITS )
- {
- continue;
- }
- else if ( VB->ClipMask[v1] | VB->ClipMask[v2] | VB->ClipMask[v3] )
- {
- VList[0] = v1;
- VList[1] = v2;
- VList[2] = v3;
- RenderClippedPolygon( ctx, 3, VList );
- continue;
- }
-
- /* Compute orientation of triangle */
- ex = VB->Win[v2][0] - VB->Win[v1][0];
- ey = VB->Win[v2][1] - VB->Win[v1][1];
- fx = VB->Win[v3][0] - VB->Win[v1][0];
- fy = VB->Win[v3][1] - VB->Win[v1][1];
- c = (ex * fy) - (ey * fx);
-
- /* polygon is perpindicular to view plane, don't draw it */
- if ( (c == 0.0F) && !ctx->Polygon.Unfilled )
- continue;
-
- /* Backface culling. */
- facing = (c < 0.0F) ^ ctx->Polygon.FrontBit;
- if ( (facing + 1) & ctx->Polygon.CullBits )
- continue;
-
- if ( ctx->IndirectTriangles & DD_TRI_LIGHT_TWOSIDE )
- {
- if ( facing == 1 )
- {
- /* use back color */
- VB->Color = VB->Bcolor;
- VB->Specular= VB->Bspec;
- }
- else
- {
- /* use front color */
- VB->Color = VB->Fcolor;
- VB->Specular= VB->Fspec;
- }
- }
-
- if ( ctx->IndirectTriangles & DD_TRI_OFFSET )
- {
- /* Finish computing plane equation of polygon, compute offset */
- GLfloat fz = VB->Win[v3][2] - VB->Win[v1][2];
- GLfloat ez = VB->Win[v2][2] - VB->Win[v1][2];
- GLfloat a = (ey * fz) - (ez * fy);
- GLfloat b = (ez * fx) - (ex * fz);
- OffsetPolygon( ctx, a, b, c );
- }
-
- /*=====================================*/
- /* Populate the the triangle vertices. */
- /*=====================================*/
- /* Solve the prevoking vertex color as we need it for the 3rd triangle and flat shading. */
- dwPVColor = (VB->Color[v3][3]<<24) | (VB->Color[v3][0]<<16) | (VB->Color[v3][1]<<8) | VB->Color[v3][2];
-
- D3DTLVertices[cVertex].sx = D3DVAL( VB->Win[v1][0] );
- D3DTLVertices[cVertex].sy = D3DVAL( (height - VB->Win[v1][1]) );
- D3DTLVertices[cVertex].sz = D3DVAL( (VB->Win[v1][2] + ctx->PolygonZoffset) );
- D3DTLVertices[cVertex].tu = D3DVAL( VB->TexCoord[v1][0] );
- D3DTLVertices[cVertex].tv = D3DVAL( VB->TexCoord[v1][1] );
- D3DTLVertices[cVertex].rhw = D3DVAL( (1.0 / VB->Clip[v1][3]) );
- D3DTLVertices[cVertex++].color= (ctx->Light.ShadeModel == GL_FLAT) ?
- dwPVColor :
- (VB->Color[v1][3]<<24) | (VB->Color[v1][0]<<16) | (VB->Color[v1][1]<<8) | VB->Color[v1][2];
-
- D3DTLVertices[cVertex].sx = D3DVAL( VB->Win[v2][0] );
- D3DTLVertices[cVertex].sy = D3DVAL( (height - VB->Win[v2][1]) );
- D3DTLVertices[cVertex].sz = D3DVAL( (VB->Win[v2][2] + ctx->PolygonZoffset) );
- D3DTLVertices[cVertex].tu = D3DVAL( VB->TexCoord[v2][0] );
- D3DTLVertices[cVertex].tv = D3DVAL( VB->TexCoord[v2][1] );
- D3DTLVertices[cVertex].rhw = D3DVAL( (1.0 / VB->Clip[v2][3]) );
- D3DTLVertices[cVertex++].color= (ctx->Light.ShadeModel == GL_FLAT) ?
- dwPVColor :
- (VB->Color[v2][3]<<24) | (VB->Color[v2][0]<<16) | (VB->Color[v2][1]<<8) | VB->Color[v2][2];
-
- D3DTLVertices[cVertex].sx = D3DVAL( VB->Win[v3][0] );
- D3DTLVertices[cVertex].sy = D3DVAL( (height - VB->Win[v3][1]) );
- D3DTLVertices[cVertex].sz = D3DVAL( (VB->Win[v3][2] + ctx->PolygonZoffset) );
- D3DTLVertices[cVertex].tu = D3DVAL( VB->TexCoord[v3][0] );
- D3DTLVertices[cVertex].tv = D3DVAL( VB->TexCoord[v3][1] );
- D3DTLVertices[cVertex].rhw = D3DVAL( (1.0 / VB->Clip[v3][3]) );
- D3DTLVertices[cVertex++].color= dwPVColor;
- }
-#undef v1
-#undef v2
-#undef v3
- }
-
- /* Render the converted vertex buffer. */
- if ( cVertex > 2 )
- DrawPrimitiveHAL( pContext->pShared, D3DPT_TRIANGLELIST, &D3DTLVertices[0], cVertex );
-}
-/*===========================================================================*/
-/* This function will render the current vertex buffer as a triangle fan. */
-/* The buffer has to be able to be rendered directly. This means that we are*/
-/* filled, no offsets, no culling and one sided rendering. Also we must be */
-/* in render mode of course. */
-/* First I will fill the global D3D vertice buffer. Next I will set all the*/
-/* states for D3D based on the current OGL state. Finally I pass the D3D VB */
-/* to the wrapper that call DrawPrimitives. */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-static void RenderTriangleFanVB( GLcontext *ctx, GLuint start, GLuint end )
-{
- D3DMESACONTEXT *pContext = (D3DMESACONTEXT *)ctx->DriverCtx;
- struct vertex_buffer *VB = ctx->VB;
- int index,
- cVertex,
- height = (pContext->pShared->rectW.bottom - pContext->pShared->rectW.top);
- GLfloat ex, ey,
- fx, fy, c;
- GLuint facing;
- DWORD dwPVColor;
-
- DPF(( DBG_FUNC, "RenderTriangleFanVB();" ));
-
- /* Special case that we can blast the fan without culling, offset, etc... */
- if ( !VB->ClipOrMask && (ctx->Light.ShadeModel != GL_FLAT) )
- {
- DPF(( DBG_PRIM_INFO, "DirectTriangles( %d )", (end-start) ));
-
- /* Seed the the fan. */
- D3DTLVertices[0].sx = D3DVAL( VB->Win[start][0] );
- D3DTLVertices[0].sy = D3DVAL( (height - VB->Win[start][1]) );
- D3DTLVertices[0].sz = D3DVAL( VB->Win[start][2] );
- D3DTLVertices[0].tu = D3DVAL( VB->TexCoord[start][0] );
- D3DTLVertices[0].tv = D3DVAL( VB->TexCoord[start][1] );
- D3DTLVertices[0].rhw = D3DVAL( (1.0 / VB->Clip[start][3]) );
- D3DTLVertices[0].color= (VB->Color[start][3]<<24) | (VB->Color[start][0]<<16) | (VB->Color[start][1]<<8) | VB->Color[start][2];
-
- /* Seed the the fan. */
- D3DTLVertices[1].sx = D3DVAL( VB->Win[(start+1)][0] );
- D3DTLVertices[1].sy = D3DVAL( (height - VB->Win[(start+1)][1]) );
- D3DTLVertices[1].sz = D3DVAL( VB->Win[(start+1)][2] );
- D3DTLVertices[1].tu = D3DVAL( VB->TexCoord[(start+1)][0] );
- D3DTLVertices[1].tv = D3DVAL( VB->TexCoord[(start+1)][1] );
- D3DTLVertices[1].rhw = D3DVAL( (1.0 / VB->Clip[(start+1)][3]) );
- D3DTLVertices[1].color= (VB->Color[(start+1)][3]<<24) | (VB->Color[(start+1)][0]<<16) | (VB->Color[(start+1)][1]<<8) | VB->Color[(start+1)][2];
-
- for( index = (start+2), cVertex = 2; index < end; index++, cVertex++ )
- {
- /*=================================*/
- /* Add the next vertex to the fan. */
- /*=================================*/
- D3DTLVertices[cVertex].sx = D3DVAL( VB->Win[index][0] );
- D3DTLVertices[cVertex].sy = D3DVAL( (height - VB->Win[index][1]) );
- D3DTLVertices[cVertex].sz = D3DVAL( VB->Win[index][2] );
- D3DTLVertices[cVertex].tu = D3DVAL( VB->TexCoord[index][0] );
- D3DTLVertices[cVertex].tv = D3DVAL( VB->TexCoord[index][1] );
- D3DTLVertices[cVertex].rhw = D3DVAL( (1.0 / VB->Clip[index][3]) );
- D3DTLVertices[cVertex].color = (VB->Color[index][3]<<24) | (VB->Color[index][0]<<16) | (VB->Color[index][1]<<8) | VB->Color[index][2];
- }
-
- /* Render the converted vertex buffer. */
- if ( cVertex )
- DrawPrimitiveHAL( pContext->pShared, D3DPT_TRIANGLEFAN, &D3DTLVertices[0], cVertex );
- }
- else
- {
-#define v1 start
-#define v2 (index-1)
-#define v3 index
-
- for( index = (start+2), cVertex = 0; index < end; index++ )
- {
- if ( VB->ClipOrMask )
- {
- /* All points clipped by common plane */
- if ( VB->ClipMask[v1] & VB->ClipMask[v2] & VB->ClipMask[v3] & CLIP_ALL_BITS )
- {
- continue;
- }
- else if ( VB->ClipMask[v1] | VB->ClipMask[v2] | VB->ClipMask[v3] )
- {
- VList[0] = v1;
- VList[1] = v2;
- VList[2] = v3;
- RenderClippedPolygon( ctx, 3, VList );
- continue;
- }
- }
-
- /* Compute orientation of triangle */
- ex = VB->Win[v2][0] - VB->Win[v1][0];
- ey = VB->Win[v2][1] - VB->Win[v1][1];
- fx = VB->Win[v3][0] - VB->Win[v1][0];
- fy = VB->Win[v3][1] - VB->Win[v1][1];
- c = (ex * fy) - (ey * fx);
-
- /* polygon is perpindicular to view plane, don't draw it */
- if ( (c == 0.0F) && !ctx->Polygon.Unfilled )
- continue;
-
- /* Backface culling. */
- facing = (c < 0.0F) ^ ctx->Polygon.FrontBit;
- if ( (facing + 1) & ctx->Polygon.CullBits )
- continue;
-
- if ( ctx->IndirectTriangles & DD_TRI_OFFSET )
- {
- /* Finish computing plane equation of polygon, compute offset */
- GLfloat fz = VB->Win[v3][2] - VB->Win[v1][2];
- GLfloat ez = VB->Win[v2][2] - VB->Win[v1][2];
- GLfloat a = (ey * fz) - (ez * fy);
- GLfloat b = (ez * fx) - (ex * fz);
- OffsetPolygon( ctx, a, b, c );
- }
-
- /*=====================================*/
- /* Populate the the triangle vertices. */
- /*=====================================*/
- dwPVColor = (VB->Color[v3][3]<<24) | (VB->Color[v3][0]<<16) | (VB->Color[v3][1]<<8) | VB->Color[v3][2];
-
- D3DTLVertices[cVertex].sx = D3DVAL( VB->Win[v1][0] );
- D3DTLVertices[cVertex].sy = D3DVAL( (height - VB->Win[v1][1]) );
- D3DTLVertices[cVertex].sz = D3DVAL( (VB->Win[v1][2] + ctx->PolygonZoffset) );
- D3DTLVertices[cVertex].tu = D3DVAL( VB->TexCoord[v1][0] );
- D3DTLVertices[cVertex].tv = D3DVAL( VB->TexCoord[v1][1] );
- D3DTLVertices[cVertex].rhw = D3DVAL( (1.0 / VB->Clip[v1][3]) );
- D3DTLVertices[cVertex++].color= (ctx->Light.ShadeModel == GL_FLAT) ? dwPVColor :
- (VB->Color[v1][3]<<24) | (VB->Color[v1][0]<<16) | (VB->Color[v1][1]<<8) | VB->Color[v1][2];
-
- D3DTLVertices[cVertex].sx = D3DVAL( VB->Win[v2][0] );
- D3DTLVertices[cVertex].sy = D3DVAL( (height - VB->Win[v2][1]) );
- D3DTLVertices[cVertex].sz = D3DVAL( (VB->Win[v2][2] + ctx->PolygonZoffset) );
- D3DTLVertices[cVertex].tu = D3DVAL( VB->TexCoord[v2][0] );
- D3DTLVertices[cVertex].tv = D3DVAL( VB->TexCoord[v2][1] );
- D3DTLVertices[cVertex].rhw = D3DVAL( (1.0 / VB->Clip[v2][3]) );
- D3DTLVertices[cVertex++].color= (ctx->Light.ShadeModel == GL_FLAT) ? dwPVColor :
- (VB->Color[v2][3]<<24) | (VB->Color[v2][0]<<16) | (VB->Color[v2][1]<<8) | VB->Color[v2][2];
-
- D3DTLVertices[cVertex].sx = D3DVAL( VB->Win[v3][0] );
- D3DTLVertices[cVertex].sy = D3DVAL( (height - VB->Win[v3][1]) );
- D3DTLVertices[cVertex].sz = D3DVAL( (VB->Win[v3][2] + ctx->PolygonZoffset) );
- D3DTLVertices[cVertex].tu = D3DVAL( VB->TexCoord[v3][0] );
- D3DTLVertices[cVertex].tv = D3DVAL( VB->TexCoord[v3][1] );
- D3DTLVertices[cVertex].rhw = D3DVAL( (1.0 / VB->Clip[v3][3]) );
- D3DTLVertices[cVertex++].color= dwPVColor;
- }
-
- /* Render the converted vertex buffer. */
- if ( cVertex )
- DrawPrimitiveHAL( pContext->pShared, D3DPT_TRIANGLELIST, &D3DTLVertices[0], cVertex );
-#undef v1
-#undef v2
-#undef v3
- }
-}
-/*===========================================================================*/
-/* This function will render the current vertex buffer as a triangle strip. */
-/* The buffer has to be able to be rendered directly. This means that we are*/
-/* filled, no offsets, no culling and one sided rendering. Also we must be */
-/* in render mode of course. */
-/* First I will fill the global D3D vertice buffer. Next I will set all the*/
-/* states for D3D based on the current OGL state. Finally I pass the D3D VB */
-/* to the wrapper that call DrawPrimitives. */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-static void RenderTriangleStripVB( GLcontext *ctx, GLuint start, GLuint end )
-{
- D3DMESACONTEXT *pContext = (D3DMESACONTEXT *)ctx->DriverCtx;
- struct vertex_buffer *VB = ctx->VB;
- int index,
- cVertex = 0,
- v1, v2, v3,
- height = (pContext->pShared->rectW.bottom - pContext->pShared->rectW.top);
- GLfloat ex, ey,
- fx, fy, c;
- GLuint facing;
- DWORD dwPVColor;
-
- DPF(( DBG_FUNC, "RenderTriangleStripVB();" ));
-
- /* Special case that we can blast the fan without culling, offset, etc... */
- if ( !VB->ClipOrMask && (ctx->Light.ShadeModel != GL_FLAT) )
- {
- DPF(( DBG_PRIM_PROFILE, "DirectTriangles" ));
-
- /* Seed the the strip. */
- D3DTLVertices[0].sx = D3DVAL( VB->Win[start][0] );
- D3DTLVertices[0].sy = D3DVAL( (height - VB->Win[start][1]) );
- D3DTLVertices[0].sz = D3DVAL( VB->Win[start][2] );
- D3DTLVertices[0].tu = D3DVAL( VB->TexCoord[start][0] );
- D3DTLVertices[0].tv = D3DVAL( VB->TexCoord[start][1] );
- D3DTLVertices[0].rhw = D3DVAL( (1.0 / VB->Clip[start][3]) );
- D3DTLVertices[0].color= (VB->Color[start][3]<<24) | (VB->Color[start][0]<<16) | (VB->Color[start][1]<<8) | VB->Color[start][2];
-
- /* Seed the the strip. */
- D3DTLVertices[1].sx = D3DVAL( VB->Win[(start+1)][0] );
- D3DTLVertices[1].sy = D3DVAL( (height - VB->Win[(start+1)][1]) );
- D3DTLVertices[1].sz = D3DVAL( VB->Win[(start+1)][2] );
- D3DTLVertices[1].tu = D3DVAL( VB->TexCoord[(start+1)][0] );
- D3DTLVertices[1].tv = D3DVAL( VB->TexCoord[(start+1)][1] );
- D3DTLVertices[1].rhw = D3DVAL( (1.0 / VB->Clip[(start+1)][3]) );
- D3DTLVertices[1].color= (VB->Color[(start+1)][3]<<24) | (VB->Color[(start+1)][0]<<16) | (VB->Color[(start+1)][1]<<8) | VB->Color[(start+1)][2];
-
- for( index = (start+2), cVertex = 2; index < end; index++, cVertex++ )
- {
- /*===================================*/
- /* Add the next vertex to the strip. */
- /*===================================*/
- D3DTLVertices[cVertex].sx = D3DVAL( VB->Win[index][0] );
- D3DTLVertices[cVertex].sy = D3DVAL( (height - VB->Win[index][1]) );
- D3DTLVertices[cVertex].sz = D3DVAL( VB->Win[index][2] );
- D3DTLVertices[cVertex].tu = D3DVAL( VB->TexCoord[index][0] );
- D3DTLVertices[cVertex].tv = D3DVAL( VB->TexCoord[index][1] );
- D3DTLVertices[cVertex].rhw = D3DVAL( (1.0 / VB->Clip[index][3]) );
- D3DTLVertices[cVertex].color = (VB->Color[index][3]<<24) | (VB->Color[index][0]<<16) | (VB->Color[index][1]<<8) | VB->Color[index][2];
- }
-
- /* Render the converted vertex buffer. */
- if ( cVertex )
- DrawPrimitiveHAL( pContext->pShared, D3DPT_TRIANGLESTRIP, &D3DTLVertices[0], cVertex );
- }
- else
- {
- for( index = (start+2); index < end; index++ )
- {
- /* We need to switch order so that winding won't be a problem. */
- if ( index & 1 )
- {
- v1 = index - 1;
- v2 = index - 2;
- v3 = index - 0;
- }
- else
- {
- v1 = index - 2;
- v2 = index - 1;
- v3 = index - 0;
- }
-
- /* All vertices clipped by common plane */
- if ( VB->ClipMask[v1] & VB->ClipMask[v2] & VB->ClipMask[v3] & CLIP_ALL_BITS )
- continue;
-
- /* Check if any vertices need clipping. */
- if ( VB->ClipMask[v1] | VB->ClipMask[v2] | VB->ClipMask[v3] )
- {
- VList[0] = v1;
- VList[1] = v2;
- VList[2] = v3;
- RenderClippedPolygon( ctx, 3, VList );
- }
- else
- {
- /* Compute orientation of triangle */
- ex = VB->Win[v2][0] - VB->Win[v1][0];
- ey = VB->Win[v2][1] - VB->Win[v1][1];
- fx = VB->Win[v3][0] - VB->Win[v1][0];
- fy = VB->Win[v3][1] - VB->Win[v1][1];
- c = (ex * fy) - (ey * fx);
-
- /* Polygon is perpindicular to view plane, don't draw it */
- if ( (c == 0.0F) && !ctx->Polygon.Unfilled )
- continue;
-
- /* Backface culling. */
- facing = (c < 0.0F) ^ ctx->Polygon.FrontBit;
- if ( (facing + 1) & ctx->Polygon.CullBits )
- continue;
-
- /* Need right color if we have two sided lighting. */
- if ( ctx->IndirectTriangles & DD_TRI_LIGHT_TWOSIDE )
- {
- if ( facing == 1 )
- {
- /* use back color */
- VB->Color = VB->Bcolor;
- VB->Specular= VB->Bspec;
- }
- else
- {
- /* use front color */
- VB->Color = VB->Fcolor;
- VB->Specular= VB->Fspec;
- }
- }
-
- if ( ctx->IndirectTriangles & DD_TRI_OFFSET )
- {
- /* Finish computing plane equation of polygon, compute offset */
- GLfloat fz = VB->Win[v3][2] - VB->Win[v1][2];
- GLfloat ez = VB->Win[v2][2] - VB->Win[v1][2];
- GLfloat a = (ey * fz) - (ez * fy);
- GLfloat b = (ez * fx) - (ex * fz);
- OffsetPolygon( ctx, a, b, c );
- }
- /*=====================================*/
- /* Populate the the triangle vertices. */
- /*=====================================*/
-
- /* Solve the prevoking vertex color as we need it for the 3rd triangle and flat shading. */
- dwPVColor = (VB->Color[v3][3]<<24) | (VB->Color[v3][0]<<16) | (VB->Color[v3][1]<<8) | VB->Color[v3][2];
-
- D3DTLVertices[cVertex].sx = D3DVAL( VB->Win[v1][0] );
- D3DTLVertices[cVertex].sy = D3DVAL( (height - VB->Win[v1][1]) );
- D3DTLVertices[cVertex].sz = D3DVAL( (VB->Win[v1][2] + ctx->PolygonZoffset) );
- D3DTLVertices[cVertex].tu = D3DVAL( VB->TexCoord[v1][0] );
- D3DTLVertices[cVertex].tv = D3DVAL( VB->TexCoord[v1][1] );
- D3DTLVertices[cVertex].rhw = D3DVAL( (1.0 / VB->Clip[v1][3]) );
- D3DTLVertices[cVertex++].color= (ctx->Light.ShadeModel == GL_FLAT) ?
- dwPVColor :
- (VB->Color[v1][3]<<24) | (VB->Color[v1][0]<<16) | (VB->Color[v1][1]<<8) | VB->Color[v1][2];
-
- D3DTLVertices[cVertex].sx = D3DVAL( VB->Win[v2][0] );
- D3DTLVertices[cVertex].sy = D3DVAL( (height - VB->Win[v2][1]) );
- D3DTLVertices[cVertex].sz = D3DVAL( (VB->Win[v2][2] + ctx->PolygonZoffset) );
- D3DTLVertices[cVertex].tu = D3DVAL( VB->TexCoord[v2][0] );
- D3DTLVertices[cVertex].tv = D3DVAL( VB->TexCoord[v2][1] );
- D3DTLVertices[cVertex].rhw = D3DVAL( (1.0 / VB->Clip[v2][3]) );
- D3DTLVertices[cVertex++].color= (ctx->Light.ShadeModel == GL_FLAT) ?
- dwPVColor :
- (VB->Color[v2][3]<<24) | (VB->Color[v2][0]<<16) | (VB->Color[v2][1]<<8) | VB->Color[v2][2];
-
- D3DTLVertices[cVertex].sx = D3DVAL( VB->Win[v3][0] );
- D3DTLVertices[cVertex].sy = D3DVAL( (height - VB->Win[v3][1]) );
- D3DTLVertices[cVertex].sz = D3DVAL( (VB->Win[v3][2] + ctx->PolygonZoffset) );
- D3DTLVertices[cVertex].tu = D3DVAL( VB->TexCoord[v3][0] );
- D3DTLVertices[cVertex].tv = D3DVAL( VB->TexCoord[v3][1] );
- D3DTLVertices[cVertex].rhw = D3DVAL( (1.0 / VB->Clip[v3][3]) );
- D3DTLVertices[cVertex++].color= dwPVColor;
- }
- }
-
- /* Render the converted vertex buffer. */
- if ( cVertex )
- DrawPrimitiveHAL( pContext->pShared, D3DPT_TRIANGLELIST, &D3DTLVertices[0], cVertex );
- }
-}
-/*===========================================================================*/
-/* This function will render the current vertex buffer as Quads. The buffer*/
-/* has to be able to be rendered directly. This means that we are filled, no*/
-/* offsets, no culling and one sided rendering. Also we must be in render */
-/* mode of cource. */
-/* First I will fill the global D3D vertice buffer. Next I will set all the*/
-/* states for D3D based on the current OGL state. Finally I pass the D3D VB */
-/* to the wrapper that call DrawPrimitives. */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-static void RenderQuadVB( GLcontext *ctx, GLuint start, GLuint end )
-{
- D3DMESACONTEXT *pContext = (D3DMESACONTEXT *)ctx->DriverCtx;
- struct vertex_buffer *VB = ctx->VB;
- int index,
- cVertex,
- height = (pContext->pShared->rectW.bottom - pContext->pShared->rectW.top);
- DWORD dwPVColor;
- GLfloat ex, ey,
- fx, fy, c;
- GLuint facing; /* 0=front, 1=back */
-
- DPF(( DBG_FUNC, "RenderQuadVB();" ));
-
-#define v1 (index)
-#define v2 (index+1)
-#define v3 (index+2)
-#define v4 (index+3)
-
- if ( !VB->ClipOrMask )
- {
- DPF(( DBG_PRIM_PROFILE, "DirectTriangles" ));
-
- for( cVertex = 0, index = start; index < end; index += 4 )
- {
- if ( ctx->Light.ShadeModel == GL_FLAT )
- dwPVColor = (VB->Color[v4][3]<<24) | (VB->Color[v4][0]<<16) | (VB->Color[v4][1]<<8) | VB->Color[v4][2];
-
- /*=====================================*/
- /* Populate the the triangle vertices. */
- /*=====================================*/
- D3DTLVertices[cVertex].sx = D3DVAL( VB->Win[v1][0] );
- D3DTLVertices[cVertex].sy = D3DVAL( (height - VB->Win[v1][1]) );
- D3DTLVertices[cVertex].sz = D3DVAL( VB->Win[v1][2] );
- D3DTLVertices[cVertex].tu = D3DVAL( VB->TexCoord[v1][0] );
- D3DTLVertices[cVertex].tv = D3DVAL( VB->TexCoord[v1][1] );
- D3DTLVertices[cVertex].rhw = D3DVAL( (1.0 / VB->Clip[v1][3]) );
- D3DTLVertices[cVertex++].color= (ctx->Light.ShadeModel == GL_FLAT) ?
- dwPVColor :
- (VB->Color[v1][3]<<24) | (VB->Color[v1][0]<<16) | (VB->Color[v1][1]<<8) | VB->Color[v1][2];
-
- D3DTLVertices[cVertex].sx = D3DVAL( VB->Win[v2][0] );
- D3DTLVertices[cVertex].sy = D3DVAL( (height - VB->Win[v2][1]) );
- D3DTLVertices[cVertex].sz = D3DVAL( VB->Win[v2][2] );
- D3DTLVertices[cVertex].tu = D3DVAL( VB->TexCoord[v2][0] );
- D3DTLVertices[cVertex].tv = D3DVAL( VB->TexCoord[v2][1] );
- D3DTLVertices[cVertex].rhw = D3DVAL( (1.0 / VB->Clip[v2][3]) );
- D3DTLVertices[cVertex++].color= (ctx->Light.ShadeModel == GL_FLAT) ?
- dwPVColor :
- (VB->Color[v2][3]<<24) | (VB->Color[v2][0]<<16) | (VB->Color[v2][1]<<8) | VB->Color[v2][2];
-
- D3DTLVertices[cVertex].sx = D3DVAL( VB->Win[v3][0] );
- D3DTLVertices[cVertex].sy = D3DVAL( (height - VB->Win[v3][1]) );
- D3DTLVertices[cVertex].sz = D3DVAL( VB->Win[v3][2] );
- D3DTLVertices[cVertex].tu = D3DVAL( VB->TexCoord[v3][0] );
- D3DTLVertices[cVertex].tv = D3DVAL( VB->TexCoord[v3][1] );
- D3DTLVertices[cVertex].rhw = D3DVAL( (1.0 / VB->Clip[v3][3]) );
- D3DTLVertices[cVertex++].color= (ctx->Light.ShadeModel == GL_FLAT) ?
- dwPVColor :
- (VB->Color[v3][3]<<24) | (VB->Color[v3][0]<<16) | (VB->Color[v3][1]<<8) | VB->Color[v3][2];
-
- D3DTLVertices[cVertex].sx = D3DVAL( VB->Win[v1][0] );
- D3DTLVertices[cVertex].sy = D3DVAL( (height - VB->Win[v1][1]) );
- D3DTLVertices[cVertex].sz = D3DVAL( VB->Win[v1][2] );
- D3DTLVertices[cVertex].tu = D3DVAL( VB->TexCoord[v1][0] );
- D3DTLVertices[cVertex].tv = D3DVAL( VB->TexCoord[v1][1] );
- D3DTLVertices[cVertex].rhw = D3DVAL( (1.0 / VB->Clip[v1][3]) );
- D3DTLVertices[cVertex++].color= (ctx->Light.ShadeModel == GL_FLAT) ?
- dwPVColor :
- (VB->Color[v1][3]<<24) | (VB->Color[v1][0]<<16) | (VB->Color[v1][1]<<8) | VB->Color[v1][2];
-
- D3DTLVertices[cVertex].sx = D3DVAL( VB->Win[v3][0] );
- D3DTLVertices[cVertex].sy = D3DVAL( (height - VB->Win[v3][1]) );
- D3DTLVertices[cVertex].sz = D3DVAL( VB->Win[v3][2] );
- D3DTLVertices[cVertex].tu = D3DVAL( VB->TexCoord[v3][0] );
- D3DTLVertices[cVertex].tv = D3DVAL( VB->TexCoord[v3][1] );
- D3DTLVertices[cVertex].rhw = D3DVAL( (1.0 / VB->Clip[v3][3]) );
- D3DTLVertices[cVertex++].color= (ctx->Light.ShadeModel == GL_FLAT) ?
- dwPVColor :
- (VB->Color[v3][3]<<24) | (VB->Color[v3][0]<<16) | (VB->Color[v3][1]<<8) | VB->Color[v3][2];
-
- D3DTLVertices[cVertex].sx = D3DVAL( VB->Win[v4][0] );
- D3DTLVertices[cVertex].sy = D3DVAL( (height - VB->Win[v4][1]) );
- D3DTLVertices[cVertex].sz = D3DVAL( VB->Win[v4][2] );
- D3DTLVertices[cVertex].tu = D3DVAL( VB->TexCoord[v4][0] );
- D3DTLVertices[cVertex].tv = D3DVAL( VB->TexCoord[v4][1] );
- D3DTLVertices[cVertex].rhw = D3DVAL( (1.0 / VB->Clip[v4][3]) );
- D3DTLVertices[cVertex++].color= (ctx->Light.ShadeModel == GL_FLAT) ?
- dwPVColor :
- (VB->Color[v4][3]<<24) | (VB->Color[v4][0]<<16) | (VB->Color[v4][1]<<8) | VB->Color[v4][2];
- }
- }
- else
- {
- for( cVertex = 0, index = start; index < end; index += 4 )
- {
- if ( VB->ClipMask[v1] & VB->ClipMask[v2] & VB->ClipMask[v3] & VB->ClipMask[v4] & CLIP_ALL_BITS )
- {
- continue;
- }
- else if ( VB->ClipMask[v1] | VB->ClipMask[v2] | VB->ClipMask[v3] | VB->ClipMask[v4] )
- {
- VList[0] = v1;
- VList[1] = v2;
- VList[2] = v3;
- VList[3] = v4;
- RenderClippedPolygon( ctx, 4, VList );
- continue;
- }
-
- /* Compute orientation of triangle */
- ex = VB->Win[v2][0] - VB->Win[v1][0];
- ey = VB->Win[v2][1] - VB->Win[v1][1];
- fx = VB->Win[v3][0] - VB->Win[v1][0];
- fy = VB->Win[v3][1] - VB->Win[v1][1];
- c = (ex * fy) - (ey * fx);
-
- /* polygon is perpindicular to view plane, don't draw it */
- if ( (c == 0.0F) && !ctx->Polygon.Unfilled )
- continue;
-
- /* Backface culling. */
- facing = (c < 0.0F) ^ ctx->Polygon.FrontBit;
- if ( (facing + 1) & ctx->Polygon.CullBits )
- continue;
-
- if ( ctx->IndirectTriangles & DD_TRI_LIGHT_TWOSIDE )
- {
- if ( facing == 1 )
- {
- /* use back color */
- VB->Color = VB->Bcolor;
- VB->Specular= VB->Bspec;
- }
- else
- {
- /* use front color */
- VB->Color = VB->Fcolor;
- VB->Specular= VB->Fspec;
- }
- }
-
- if ( ctx->IndirectTriangles & DD_TRI_OFFSET )
- {
- /* Finish computing plane equation of polygon, compute offset */
- GLfloat fz = VB->Win[v3][2] - VB->Win[v1][2];
- GLfloat ez = VB->Win[v2][2] - VB->Win[v1][2];
- GLfloat a = (ey * fz) - (ez * fy);
- GLfloat b = (ez * fx) - (ex * fz);
- OffsetPolygon( ctx, a, b, c );
- }
-
- if ( ctx->Light.ShadeModel == GL_FLAT )
- dwPVColor = (VB->Color[v4][3]<<24) | (VB->Color[v4][0]<<16) | (VB->Color[v4][1]<<8) | VB->Color[v4][2];
-
- /*=====================================*/
- /* Populate the the triangle vertices. */
- /*=====================================*/
- D3DTLVertices[cVertex].sx = D3DVAL( VB->Win[v1][0] );
- D3DTLVertices[cVertex].sy = D3DVAL( (height - VB->Win[v1][1]) );
- D3DTLVertices[cVertex].sz = D3DVAL( (VB->Win[v1][2] + ctx->PolygonZoffset) );
- D3DTLVertices[cVertex].tu = D3DVAL( VB->TexCoord[v1][0] );
- D3DTLVertices[cVertex].tv = D3DVAL( VB->TexCoord[v1][1] );
- D3DTLVertices[cVertex].rhw = D3DVAL( (1.0 / VB->Clip[v1][3]) );
- D3DTLVertices[cVertex++].color= (ctx->Light.ShadeModel == GL_FLAT) ?
- dwPVColor :
- (VB->Color[v1][3]<<24) | (VB->Color[v1][0]<<16) | (VB->Color[v1][1]<<8) | VB->Color[v1][2];
-
- D3DTLVertices[cVertex].sx = D3DVAL( VB->Win[v2][0] );
- D3DTLVertices[cVertex].sy = D3DVAL( (height - VB->Win[v2][1]) );
- D3DTLVertices[cVertex].sz = D3DVAL( (VB->Win[v2][2] + ctx->PolygonZoffset) );
- D3DTLVertices[cVertex].tu = D3DVAL( VB->TexCoord[v2][0] );
- D3DTLVertices[cVertex].tv = D3DVAL( VB->TexCoord[v2][1] );
- D3DTLVertices[cVertex].rhw = D3DVAL( (1.0 / VB->Clip[v2][3]) );
- D3DTLVertices[cVertex++].color= (ctx->Light.ShadeModel == GL_FLAT) ?
- dwPVColor :
- (VB->Color[v2][3]<<24) | (VB->Color[v2][0]<<16) | (VB->Color[v2][1]<<8) | VB->Color[v2][2];
-
- D3DTLVertices[cVertex].sx = D3DVAL( VB->Win[v3][0] );
- D3DTLVertices[cVertex].sy = D3DVAL( (height - VB->Win[v3][1]) );
- D3DTLVertices[cVertex].sz = D3DVAL( (VB->Win[v3][2] + ctx->PolygonZoffset) );
- D3DTLVertices[cVertex].tu = D3DVAL( VB->TexCoord[v3][0] );
- D3DTLVertices[cVertex].tv = D3DVAL( VB->TexCoord[v3][1] );
- D3DTLVertices[cVertex].rhw = D3DVAL( (1.0 / VB->Clip[v3][3]) );
- D3DTLVertices[cVertex++].color= (ctx->Light.ShadeModel == GL_FLAT) ?
- dwPVColor :
- (VB->Color[v3][3]<<24) | (VB->Color[v3][0]<<16) | (VB->Color[v3][1]<<8) | VB->Color[v3][2];
-
- D3DTLVertices[cVertex].sx = D3DVAL( VB->Win[v1][0] );
- D3DTLVertices[cVertex].sy = D3DVAL( (height - VB->Win[v1][1]) );
- D3DTLVertices[cVertex].sz = D3DVAL( (VB->Win[v1][2] + ctx->PolygonZoffset) );
- D3DTLVertices[cVertex].tu = D3DVAL( VB->TexCoord[v1][0] );
- D3DTLVertices[cVertex].tv = D3DVAL( VB->TexCoord[v1][1] );
- D3DTLVertices[cVertex].rhw = D3DVAL( (1.0 / VB->Clip[v1][3]) );
- D3DTLVertices[cVertex++].color= (ctx->Light.ShadeModel == GL_FLAT) ?
- dwPVColor :
- (VB->Color[v1][3]<<24) | (VB->Color[v1][0]<<16) | (VB->Color[v1][1]<<8) | VB->Color[v1][2];
-
- D3DTLVertices[cVertex].sx = D3DVAL( VB->Win[v3][0] );
- D3DTLVertices[cVertex].sy = D3DVAL( (height - VB->Win[v3][1]) );
- D3DTLVertices[cVertex].sz = D3DVAL( (VB->Win[v3][2] + ctx->PolygonZoffset) );
- D3DTLVertices[cVertex].tu = D3DVAL( VB->TexCoord[v3][0] );
- D3DTLVertices[cVertex].tv = D3DVAL( VB->TexCoord[v3][1] );
- D3DTLVertices[cVertex].rhw = D3DVAL( (1.0 / VB->Clip[v3][3]) );
- D3DTLVertices[cVertex++].color= (ctx->Light.ShadeModel == GL_FLAT) ?
- dwPVColor :
- (VB->Color[v3][3]<<24) | (VB->Color[v3][0]<<16) | (VB->Color[v3][1]<<8) | VB->Color[v3][2];
-
- D3DTLVertices[cVertex].sx = D3DVAL( VB->Win[v4][0] );
- D3DTLVertices[cVertex].sy = D3DVAL( (height - VB->Win[v4][1]) );
- D3DTLVertices[cVertex].sz = D3DVAL( (VB->Win[v4][2] + ctx->PolygonZoffset) );
- D3DTLVertices[cVertex].tu = D3DVAL( VB->TexCoord[v4][0] );
- D3DTLVertices[cVertex].tv = D3DVAL( VB->TexCoord[v4][1] );
- D3DTLVertices[cVertex].rhw = D3DVAL( (1.0 / VB->Clip[v4][3]) );
- D3DTLVertices[cVertex++].color= (ctx->Light.ShadeModel == GL_FLAT) ?
- dwPVColor :
- (VB->Color[v4][3]<<24) | (VB->Color[v4][0]<<16) | (VB->Color[v4][1]<<8) | VB->Color[v4][2];
- }
- }
-
-#undef v4
-#undef v3
-#undef v2
-#undef v1
-
- /* Render the converted vertex buffer. */
- if ( cVertex )
- DrawPrimitiveHAL( pContext->pShared, D3DPT_TRIANGLELIST, &D3DTLVertices[0], cVertex );
-}
-/*===========================================================================*/
-/* */
-/*===========================================================================*/
-/* RETURN: TRUE, FALSE. */
-/*===========================================================================*/
-static void RenderQuad( GLcontext *ctx, GLuint v1, GLuint v2, GLuint v3, GLuint v4, GLuint pv )
-{
- D3DMESACONTEXT *pContext = (D3DMESACONTEXT *)ctx->DriverCtx;
- struct vertex_buffer *VB = ctx->VB;
- int height = (pContext->pShared->rectW.bottom - pContext->pShared->rectW.top);
- DWORD dwPVColor;
- GLfloat ex, ey,
- fx, fy, c;
- GLuint facing; /* 0=front, 1=back */
- static D3DTLVERTEX TLVertices[6];
-
- DPF(( DBG_FUNC, "RenderQuad" ));
- DPF(( DBG_PRIM_INFO, "RenderQuad( 1 )" ));
-
- /* Compute orientation of triangle */
- ex = VB->Win[v2][0] - VB->Win[v1][0];
- ey = VB->Win[v2][1] - VB->Win[v1][1];
- fx = VB->Win[v3][0] - VB->Win[v1][0];
- fy = VB->Win[v3][1] - VB->Win[v1][1];
- c = (ex * fy) - (ey * fx);
-
- /* polygon is perpindicular to view plane, don't draw it */
- if ( (c == 0.0F) && !ctx->Polygon.Unfilled )
- return;
-
- /* Backface culling. */
- facing = (c < 0.0F) ^ ctx->Polygon.FrontBit;
- if ( (facing + 1) & ctx->Polygon.CullBits )
- return;
-
- if ( ctx->IndirectTriangles & DD_TRI_LIGHT_TWOSIDE )
- {
- if ( facing == 1 )
- {
- /* use back color */
- VB->Color = VB->Bcolor;
- VB->Specular= VB->Bspec;
- }
- else
- {
- /* use front color */
- VB->Color = VB->Fcolor;
- VB->Specular= VB->Fspec;
- }
- }
-
- if ( ctx->IndirectTriangles & DD_TRI_OFFSET )
- {
- /* Finish computing plane equation of polygon, compute offset */
- GLfloat fz = VB->Win[v3][2] - VB->Win[v1][2];
- GLfloat ez = VB->Win[v2][2] - VB->Win[v1][2];
- GLfloat a = (ey * fz) - (ez * fy);
- GLfloat b = (ez * fx) - (ex * fz);
- OffsetPolygon( ctx, a, b, c );
- }
-
- if ( ctx->Light.ShadeModel == GL_FLAT )
- dwPVColor = (VB->Color[pv][3]<<24) | (VB->Color[pv][0]<<16) | (VB->Color[pv][1]<<8) | VB->Color[pv][2];
-
- /*=====================================*/
- /* Populate the the triangle vertices. */
- /*=====================================*/
- TLVertices[0].sx = D3DVAL( VB->Win[v1][0] );
- TLVertices[0].sy = D3DVAL( (height - VB->Win[v1][1]) );
- TLVertices[0].sz = D3DVAL( (VB->Win[v1][2] + ctx->PolygonZoffset) );
- TLVertices[0].tu = D3DVAL( VB->TexCoord[v1][0] );
- TLVertices[0].tv = D3DVAL( VB->TexCoord[v1][1] );
- TLVertices[0].rhw = D3DVAL( (1.0 / VB->Clip[v1][3]) );
- TLVertices[0].color = (ctx->Light.ShadeModel == GL_FLAT) ? dwPVColor :
- (VB->Color[v1][3]<<24) | (VB->Color[v1][0]<<16) | (VB->Color[v1][1]<<8) | VB->Color[v1][2];
-
- TLVertices[1].sx = D3DVAL( VB->Win[v2][0] );
- TLVertices[1].sy = D3DVAL( (height - VB->Win[v2][1]) );
- TLVertices[1].sz = D3DVAL( (VB->Win[v2][2] + ctx->PolygonZoffset) );
- TLVertices[1].tu = D3DVAL( VB->TexCoord[v2][0] );
- TLVertices[1].tv = D3DVAL( VB->TexCoord[v2][1] );
- TLVertices[1].rhw = D3DVAL( (1.0 / VB->Clip[v2][3]) );
- TLVertices[1].color = (ctx->Light.ShadeModel == GL_FLAT) ? dwPVColor :
- (VB->Color[v2][3]<<24) | (VB->Color[v2][0]<<16) | (VB->Color[v2][1]<<8) | VB->Color[v2][2];
-
- TLVertices[2].sx = D3DVAL( VB->Win[v3][0] );
- TLVertices[2].sy = D3DVAL( (height - VB->Win[v3][1]) );
- TLVertices[2].sz = D3DVAL( (VB->Win[v3][2] + ctx->PolygonZoffset) );
- TLVertices[2].tu = D3DVAL( VB->TexCoord[v3][0] );
- TLVertices[2].tv = D3DVAL( VB->TexCoord[v3][1] );
- TLVertices[2].rhw = D3DVAL( (1.0 / VB->Clip[v3][3]) );
- TLVertices[2].color = (ctx->Light.ShadeModel == GL_FLAT) ? dwPVColor :
- (VB->Color[v3][3]<<24) | (VB->Color[v3][0]<<16) | (VB->Color[v3][1]<<8) | VB->Color[v3][2];
-
- TLVertices[3].sx = D3DVAL( VB->Win[v3][0] );
- TLVertices[3].sy = D3DVAL( (height - VB->Win[v3][1]) );
- TLVertices[3].sz = D3DVAL( (VB->Win[v3][2] + ctx->PolygonZoffset) );
- TLVertices[3].tu = D3DVAL( VB->TexCoord[v3][0] );
- TLVertices[3].tv = D3DVAL( VB->TexCoord[v3][1] );
- TLVertices[3].rhw = D3DVAL( (1.0 / VB->Clip[v3][3]) );
- TLVertices[3].color = (ctx->Light.ShadeModel == GL_FLAT) ? dwPVColor :
- (VB->Color[v3][3]<<24) | (VB->Color[v3][0]<<16) | (VB->Color[v3][1]<<8) | VB->Color[v3][2];
-
- TLVertices[4].sx = D3DVAL( VB->Win[v4][0] );
- TLVertices[4].sy = D3DVAL( (height - VB->Win[v4][1]) );
- TLVertices[4].sz = D3DVAL( (VB->Win[v4][2] + ctx->PolygonZoffset) );
- TLVertices[4].tu = D3DVAL( VB->TexCoord[v4][0] );
- TLVertices[4].tv = D3DVAL( VB->TexCoord[v4][1] );
- TLVertices[4].rhw = D3DVAL( (1.0 / VB->Clip[v4][3]) );
- TLVertices[4].color = (ctx->Light.ShadeModel == GL_FLAT) ? dwPVColor :
- (VB->Color[v4][3]<<24) | (VB->Color[v4][0]<<16) | (VB->Color[v4][1]<<8) | VB->Color[v4][2];
-
- TLVertices[5].sx = D3DVAL( VB->Win[v1][0] );
- TLVertices[5].sy = D3DVAL( (height - VB->Win[v1][1]) );
- TLVertices[5].sz = D3DVAL( (VB->Win[v1][2] + ctx->PolygonZoffset) );
- TLVertices[5].tu = D3DVAL( VB->TexCoord[v1][0] );
- TLVertices[5].tv = D3DVAL( VB->TexCoord[v1][1] );
- TLVertices[5].rhw = D3DVAL( (1.0 / VB->Clip[v1][3]) );
- TLVertices[5].color = (ctx->Light.ShadeModel == GL_FLAT) ? dwPVColor :
- (VB->Color[v1][3]<<24) | (VB->Color[v1][0]<<16) | (VB->Color[v1][1]<<8) | VB->Color[v1][2];
-
- /* Draw the two triangles. */
- DrawPrimitiveHAL( pContext->pShared, D3DPT_TRIANGLELIST, &TLVertices[0], 6 );
-}
-/*===========================================================================*/
-/* */
-/*===========================================================================*/
-/* RETURN: TRUE, FALSE. */
-/*===========================================================================*/
-void RenderOneTriangle( GLcontext *ctx, GLuint v1, GLuint v2, GLuint v3, GLuint pv )
-{
- D3DMESACONTEXT *pContext = (D3DMESACONTEXT *)ctx->DriverCtx;
- struct vertex_buffer *VB = ctx->VB;
- int height = (pContext->pShared->rectW.bottom - pContext->pShared->rectW.top);
- DWORD dwPVColor;
- static D3DTLVERTEX TLVertices[3];
-
- DPF(( DBG_FUNC, "RenderOneTriangle" ));
- DPF(( DBG_PRIM_INFO, "RenderTriangle( 1 )" ));
-
- /*=====================================*/
- /* Populate the the triangle vertices. */
- /*=====================================*/
- if ( ctx->Light.ShadeModel == GL_FLAT )
- dwPVColor = (VB->Color[pv][3]<<24) | (VB->Color[pv][0]<<16) | (VB->Color[pv][1]<<8) | VB->Color[pv][2];
-
- TLVertices[0].sx = D3DVAL( VB->Win[v1][0] );
- TLVertices[0].sy = D3DVAL( (height - VB->Win[v1][1]) );
- TLVertices[0].sz = D3DVAL( (VB->Win[v1][2] + ctx->PolygonZoffset) );
- TLVertices[0].tu = D3DVAL( VB->TexCoord[v1][0] );
- TLVertices[0].tv = D3DVAL( VB->TexCoord[v1][1] );
- TLVertices[0].rhw = D3DVAL( (1.0 / VB->Clip[v1][3]) );
- TLVertices[0].color = (ctx->Light.ShadeModel == GL_FLAT) ? dwPVColor :
- (VB->Color[v1][3]<<24) | (VB->Color[v1][0]<<16) | (VB->Color[v1][1]<<8) | VB->Color[v1][2];
- DPF(( DBG_PRIM_INFO, "V1 -> x:%f y:%f z:%f c:%x",
- TLVertices[0].sx,
- TLVertices[0].sy,
- TLVertices[0].sz,
- TLVertices[0].color ));
-
- TLVertices[1].sx = D3DVAL( VB->Win[v2][0] );
- TLVertices[1].sy = D3DVAL( (height - VB->Win[v2][1]) );
- TLVertices[1].sz = D3DVAL( (VB->Win[v2][2] + ctx->PolygonZoffset) );
- TLVertices[1].tu = D3DVAL( VB->TexCoord[v2][0] );
- TLVertices[1].tv = D3DVAL( VB->TexCoord[v2][1] );
- TLVertices[1].rhw = D3DVAL( (1.0 / VB->Clip[v2][3]) );
- TLVertices[1].color = (ctx->Light.ShadeModel == GL_FLAT) ? dwPVColor :
- (VB->Color[v2][3]<<24) | (VB->Color[v2][0]<<16) | (VB->Color[v2][1]<<8) | VB->Color[v2][2];
- DPF(( DBG_PRIM_INFO, "V2 -> x:%f y:%f z:%f c:%x",
- TLVertices[1].sx,
- TLVertices[1].sy,
- TLVertices[1].sz,
- TLVertices[1].color ));
-
- TLVertices[2].sx = D3DVAL( VB->Win[v3][0] );
- TLVertices[2].sy = D3DVAL( (height - VB->Win[v3][1]) );
- TLVertices[2].sz = D3DVAL( (VB->Win[v3][2] + ctx->PolygonZoffset) );
- TLVertices[2].tu = D3DVAL( VB->TexCoord[v3][0] );
- TLVertices[2].tv = D3DVAL( VB->TexCoord[v3][1] );
- TLVertices[2].rhw = D3DVAL( (1.0 / VB->Clip[v3][3]) );
- TLVertices[2].color = (ctx->Light.ShadeModel == GL_FLAT) ? dwPVColor :
- (VB->Color[v3][3]<<24) | (VB->Color[v3][0]<<16) | (VB->Color[v3][1]<<8) | VB->Color[v3][2];
- DPF(( DBG_PRIM_INFO, "V3 -> x:%f y:%f z:%f c:%x",
- TLVertices[2].sx,
- TLVertices[2].sy,
- TLVertices[2].sz,
- TLVertices[2].color ));
-
- /* Draw the triangle. */
- DrawPrimitiveHAL( pContext->pShared, D3DPT_TRIANGLELIST, &TLVertices[0], 3 );
-}
-/*===========================================================================*/
-/* */
-/*===========================================================================*/
-/* RETURN: TRUE, FALSE. */
-/*===========================================================================*/
-void RenderOneLine( GLcontext *ctx, GLuint v1, GLuint v2, GLuint pv )
-{
- D3DMESACONTEXT *pContext = (D3DMESACONTEXT *)ctx->DriverCtx;
- struct vertex_buffer *VB = ctx->VB;
- int height = (pContext->pShared->rectW.bottom - pContext->pShared->rectW.top);
- DWORD dwPVColor;
- static D3DTLVERTEX TLVertices[2];
-
- DPF(( DBG_FUNC, "RenderOneLine" ));
- DPF(( DBG_PRIM_INFO, "RenderLine( 1 )" ));
-
- if ( VB->MonoColor )
- dwPVColor = (pContext->aCurrent<<24) | (pContext->rCurrent<<16) | (pContext->gCurrent<<8) | pContext->bCurrent;
- else
- dwPVColor = (VB->Color[pv][3]<<24) | (VB->Color[pv][0]<<16) | (VB->Color[pv][1]<<8) | VB->Color[pv][2];
-
- TLVertices[0].sx = D3DVAL( VB->Win[v1][0] );
- TLVertices[0].sy = D3DVAL( (height - VB->Win[v1][1]) );
- TLVertices[0].sz = D3DVAL( (VB->Win[v1][2] + ctx->LineZoffset) );
- TLVertices[0].tu = D3DVAL( VB->TexCoord[v1][0] );
- TLVertices[0].tv = D3DVAL( VB->TexCoord[v1][1] );
- TLVertices[0].rhw = D3DVAL( (1.0 / VB->Clip[v1][3]) );
- TLVertices[0].color = (ctx->Light.ShadeModel == GL_FLAT) ? dwPVColor :
- (VB->Color[v1][3]<<24) | (VB->Color[v1][0]<<16) | (VB->Color[v1][1]<<8) | VB->Color[v1][2];
-
- TLVertices[1].sx = D3DVAL( VB->Win[v2][0] );
- TLVertices[1].sy = D3DVAL( (height - VB->Win[v2][1]) );
- TLVertices[1].sz = D3DVAL( (VB->Win[v2][2] + ctx->LineZoffset) );
- TLVertices[1].tu = D3DVAL( VB->TexCoord[v2][0] );
- TLVertices[1].tv = D3DVAL( VB->TexCoord[v2][1] );
- TLVertices[1].rhw = D3DVAL( (1.0 / VB->Clip[v2][3]) );
- TLVertices[1].color = (ctx->Light.ShadeModel == GL_FLAT) ? dwPVColor :
- (VB->Color[v2][3]<<24) | (VB->Color[v2][0]<<16) | (VB->Color[v2][1]<<8) | VB->Color[v2][2];
-
- /* Draw line from (x0,y0) to (x1,y1) with current pixel color/index */
- DrawPrimitiveHAL( pContext->pShared, D3DPT_LINELIST, &TLVertices[0], 2 );
-}
-/*===========================================================================*/
-/* This function was written to convert points into triangles. I did this */
-/* as all card accelerate triangles and most drivers do this anyway. In hind*/
-/* thought this might be a bad idea as some cards do better. */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-static void RenderPointsVB( GLcontext *ctx, GLuint start, GLuint end )
-{
- D3DMESACONTEXT *pContext = (D3DMESACONTEXT *)ctx->DriverCtx;
- struct vertex_buffer *VB = ctx->VB;
- struct pixel_buffer *PB = ctx->PB;
- GLuint index;
- GLfloat radius, z,
- xmin, ymin,
- xmax, ymax;
- GLint cVertex,
- height = (pContext->pShared->rectW.bottom - pContext->pShared->rectW.top);
- DWORD dwPVColor;
-
- DPF(( DBG_FUNC, "RenderPointsVB();" ));
-
- radius = CLAMP( ctx->Point.Size, MIN_POINT_SIZE, MAX_POINT_SIZE ) * 0.5F;
-
- for( index = start, cVertex = 0; index <= end; index++ )
- {
- if ( VB->ClipMask[index] == 0 )
- {
- xmin = D3DVAL( VB->Win[index][0] - radius );
- xmax = D3DVAL( VB->Win[index][0] + radius );
- ymin = D3DVAL( height - VB->Win[index][1] - radius );
- ymax = D3DVAL( height - VB->Win[index][1] + radius );
- z = D3DVAL( (VB->Win[index][2] + ctx->PointZoffset) );
-
- dwPVColor = (VB->Color[index][3]<<24) |
- (VB->Color[index][0]<<16) |
- (VB->Color[index][1]<<8) |
- VB->Color[index][2];
-
- D3DTLVertices[cVertex].sx = xmin;
- D3DTLVertices[cVertex].sy = ymax;
- D3DTLVertices[cVertex].sz = z;
- D3DTLVertices[cVertex].tu = 0.0;
- D3DTLVertices[cVertex].tv = 0.0;
- D3DTLVertices[cVertex].rhw = D3DVAL( (1.0 / VB->Clip[index][3]) );
- D3DTLVertices[cVertex++].color = dwPVColor;
-
- D3DTLVertices[cVertex].sx = xmin;
- D3DTLVertices[cVertex].sy = ymin;
- D3DTLVertices[cVertex].sz = z;
- D3DTLVertices[cVertex].tu = 0.0;
- D3DTLVertices[cVertex].tv = 0.0;
- D3DTLVertices[cVertex].rhw = D3DVAL( (1.0 / VB->Clip[index][3]) );
- D3DTLVertices[cVertex++].color = dwPVColor;
-
- D3DTLVertices[cVertex].sx = xmax;
- D3DTLVertices[cVertex].sy = ymin;
- D3DTLVertices[cVertex].sz = z;
- D3DTLVertices[cVertex].tu = 0.0;
- D3DTLVertices[cVertex].tv = 0.0;
- D3DTLVertices[cVertex].rhw = D3DVAL( (1.0 / VB->Clip[index][3]) );
- D3DTLVertices[cVertex++].color = dwPVColor;
-
- D3DTLVertices[cVertex].sx = xmax;
- D3DTLVertices[cVertex].sy = ymin;
- D3DTLVertices[cVertex].sz = z;
- D3DTLVertices[cVertex].tu = 0.0;
- D3DTLVertices[cVertex].tv = 0.0;
- D3DTLVertices[cVertex].rhw = D3DVAL( (1.0 / VB->Clip[index][3]) );
- D3DTLVertices[cVertex++].color = dwPVColor;
-
- D3DTLVertices[cVertex].sx = xmax;
- D3DTLVertices[cVertex].sy = ymax;
- D3DTLVertices[cVertex].sz = z;
- D3DTLVertices[cVertex].tu = 0.0;
- D3DTLVertices[cVertex].tv = 0.0;
- D3DTLVertices[cVertex].rhw = D3DVAL( (1.0 / VB->Clip[index][3]) );
- D3DTLVertices[cVertex++].color = dwPVColor;
-
- D3DTLVertices[cVertex].sx = xmin;
- D3DTLVertices[cVertex].sy = ymax;
- D3DTLVertices[cVertex].sz = z;
- D3DTLVertices[cVertex].tu = 0.0;
- D3DTLVertices[cVertex].tv = 0.0;
- D3DTLVertices[cVertex].rhw = D3DVAL( (1.0 / VB->Clip[index][3]) );
- D3DTLVertices[cVertex++].color = dwPVColor;
- }
- }
-
- /* Render the converted vertex buffer. */
- if ( cVertex )
- DrawPrimitiveHAL( pContext->pShared, D3DPT_TRIANGLELIST, &D3DTLVertices[0], cVertex );
-}
-/*===========================================================================*/
-/* This gets call before we render any primitives so that the current OGL */
-/* states will be mapped the D3D context. I'm still not sure how D3D works */
-/* but I'm finding that it doesn't act like a state machine as OGL is. It */
-/* looks like the state gets set back to the defaults after a DrawPrimitives */
-/* or an EndScene. Also I set states that are the default even though this */
-/* is redundant as the defaults seem screwed up. */
-/* TODO: make a batch call. */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-static void SetRenderStates( GLcontext *ctx )
-{
- D3DMESACONTEXT *pContext = (D3DMESACONTEXT *)ctx->DriverCtx;
- DWORD dwFunc;
- static BOOL bTexture = FALSE;
- static int texName = -1;
-
- DPF(( DBG_FUNC, "SetRenderStates();" ));
-
- if ( g_DBGMask & DBG_STATES )
- DebugRenderStates( ctx, FALSE );
-
- SetStateHAL( pContext->pShared, D3DRENDERSTATE_CULLMODE, D3DCULL_NONE );
- SetStateHAL( pContext->pShared, D3DRENDERSTATE_DITHERENABLE, (ctx->Color.DitherFlag) ? TRUE : FALSE );
-
- /*================================================*/
- /* Check too see if there are new TEXTURE states. */
- /*================================================*/
- if ( ctx->Texture._EnabledUnits )
- {
- switch( ctx->Texture.Set[ctx->Texture.CurrentSet].EnvMode )
- {
- case GL_MODULATE:
- if ( ctx->Texture.Set[ctx->Texture.CurrentSet].Current->Image[0][0]->Format == GL_RGBA )
- dwFunc = pContext->pShared->dwTexFunc[d3dtblend_modulatealpha];
- else
- dwFunc = pContext->pShared->dwTexFunc[d3dtblend_modulate];
- break;
-
- case GL_BLEND:
- dwFunc = pContext->pShared->dwTexFunc[d3dtblend_decalalpha];
- break;
-
- case GL_REPLACE:
- dwFunc = pContext->pShared->dwTexFunc[d3dtblend_decal];
- break;
-
- case GL_DECAL:
- if ( ctx->Texture.Set[ctx->Texture.CurrentSet].Current->Image[0][0]->Format == GL_RGBA )
- dwFunc = pContext->pShared->dwTexFunc[d3dtblend_decalalpha];
- else
- dwFunc = pContext->pShared->dwTexFunc[d3dtblend_decal];
- break;
- }
- SetStateHAL( pContext->pShared, D3DRENDERSTATE_TEXTUREMAPBLEND, dwFunc );
-
- switch( ctx->Texture.Set[ctx->Texture.CurrentSet].Current->MagFilter )
- {
- case GL_NEAREST:
- dwFunc = D3DFILTER_NEAREST;
- break;
- case GL_LINEAR:
- dwFunc = D3DFILTER_LINEAR;
- break;
- case GL_NEAREST_MIPMAP_NEAREST:
- dwFunc = D3DFILTER_MIPNEAREST;
- break;
- case GL_LINEAR_MIPMAP_NEAREST:
- dwFunc = D3DFILTER_LINEARMIPNEAREST;
- break;
- case GL_NEAREST_MIPMAP_LINEAR:
- dwFunc = D3DFILTER_MIPLINEAR;
- break;
- case GL_LINEAR_MIPMAP_LINEAR:
- dwFunc = D3DFILTER_LINEARMIPLINEAR;
- break;
- }
- SetStateHAL( pContext->pShared, D3DRENDERSTATE_TEXTUREMAG, dwFunc );
-
- switch( ctx->Texture.Set[ctx->Texture.CurrentSet].Current->MinFilter )
- {
- case GL_NEAREST:
- dwFunc = D3DFILTER_NEAREST;
- break;
- case GL_LINEAR:
- dwFunc = D3DFILTER_LINEAR;
- break;
- case GL_NEAREST_MIPMAP_NEAREST:
- dwFunc = D3DFILTER_MIPNEAREST;
- break;
- case GL_LINEAR_MIPMAP_NEAREST:
- dwFunc = D3DFILTER_LINEARMIPNEAREST;
- break;
- case GL_NEAREST_MIPMAP_LINEAR:
- dwFunc = D3DFILTER_MIPLINEAR;
- break;
- case GL_LINEAR_MIPMAP_LINEAR:
- dwFunc = D3DFILTER_LINEARMIPLINEAR;
- break;
- }
- SetStateHAL( pContext->pShared, D3DRENDERSTATE_TEXTUREMIN, dwFunc );
-
- /* Another hack to cut down on redundant texture binding. */
- // if ( texName != ctx->Texture.Set[ctx->Texture.CurrentSet].Current->Name )
- // {
- texName = ctx->Texture.Set[ctx->Texture.CurrentSet].Current->Name;
- CreateTMgrHAL( pContext->pShared,
- texName,
- 0,
- ctx->Texture.Set[ctx->Texture.CurrentSet].Current->Image[0][0]->Format,
- (RECT *)NULL,
- ctx->Texture.Set[ctx->Texture.CurrentSet].Current->Image[0][0]->Width,
- ctx->Texture.Set[ctx->Texture.CurrentSet].Current->Image[0][0]->Height,
- TM_ACTION_BIND,
- (void *)ctx->Texture.Set[ctx->Texture.CurrentSet].Current->Image[0][0]->Data );
- // }
- bTexture = TRUE;
- }
- else
- {
- /* This is nasty but should cut down on the number of redundant calls. */
- if ( bTexture == TRUE )
- {
- DisableTMgrHAL( pContext->pShared );
- bTexture = FALSE;
- }
- }
-
- /*===============================================*/
- /* Check too see if there are new RASTER states. */
- /*===============================================*/
-
- // TODO: no concept of front & back.
- switch( ctx->Polygon.FrontMode )
- {
- case GL_POINT:
- SetStateHAL( pContext->pShared, D3DRENDERSTATE_FILLMODE, D3DFILL_POINT );
- break;
- case GL_LINE:
- SetStateHAL( pContext->pShared, D3DRENDERSTATE_FILLMODE, D3DFILL_WIREFRAME );
- break;
- case GL_FILL:
- SetStateHAL( pContext->pShared, D3DRENDERSTATE_FILLMODE, D3DFILL_SOLID );
- break;
- }
-
- /*************/
- /* Z-Buffer. */
- /*************/
- if ( ctx->Depth.Test == GL_TRUE )
- {
- switch( ctx->Depth.Func )
- {
- case GL_NEVER:
- dwFunc = D3DCMP_NEVER;
- break;
- case GL_LESS:
- dwFunc = D3DCMP_LESS;
- break;
- case GL_GEQUAL:
- dwFunc = D3DCMP_GREATEREQUAL;
- break;
- case GL_LEQUAL:
- dwFunc = D3DCMP_LESSEQUAL;
- break;
- case GL_GREATER:
- dwFunc = D3DCMP_GREATER;
- break;
- case GL_NOTEQUAL:
- dwFunc = D3DCMP_NOTEQUAL;
- break;
- case GL_EQUAL:
- dwFunc = D3DCMP_EQUAL;
- break;
- case GL_ALWAYS:
- dwFunc = D3DCMP_ALWAYS;
- break;
- }
- SetStateHAL( pContext->pShared, D3DRENDERSTATE_ZFUNC, dwFunc );
- SetStateHAL( pContext->pShared, D3DRENDERSTATE_ZENABLE, TRUE );
- }
- else
- {
- SetStateHAL( pContext->pShared, D3DRENDERSTATE_ZENABLE, FALSE );
- }
-
- /*******************/
- /* Z-Write Enable. */
- /*******************/
- SetStateHAL( pContext->pShared, D3DRENDERSTATE_ZWRITEENABLE , (ctx->Depth.Mask == GL_TRUE) ? TRUE : FALSE );
-
- /***************/
- /* Alpha test. */
- /***************/
- if ( ctx->Color.AlphaEnabled == GL_TRUE )
- {
- switch( ctx->Color.AlphaFunc )
- {
- case GL_NEVER:
- dwFunc = D3DCMP_NEVER;
- break;
- case GL_LESS:
- dwFunc = D3DCMP_LESS;
- break;
- case GL_GEQUAL:
- dwFunc = D3DCMP_GREATEREQUAL;
- break;
- case GL_LEQUAL:
- dwFunc = D3DCMP_LESSEQUAL;
- break;
- case GL_GREATER:
- dwFunc = D3DCMP_GREATER;
- break;
- case GL_NOTEQUAL:
- dwFunc = D3DCMP_NOTEQUAL;
- break;
- case GL_EQUAL:
- dwFunc = D3DCMP_EQUAL;
- break;
- case GL_ALWAYS:
- dwFunc = D3DCMP_ALWAYS;
- break;
- }
- SetStateHAL( pContext->pShared, D3DRENDERSTATE_ALPHAFUNC , dwFunc );
- SetStateHAL( pContext->pShared, D3DRENDERSTATE_ALPHATESTENABLE, TRUE );
- }
- else
- {
- SetStateHAL( pContext->pShared, D3DRENDERSTATE_ALPHATESTENABLE, FALSE );
- }
-
- /****************/
- /* Alpha blend. */
- /****************/
- if ( ctx->Color.BlendEnabled == GL_TRUE )
- {
- switch( ctx->Color.BlendSrc )
- {
- case GL_ZERO:
- dwFunc = pContext->pShared->dwSrcBlendCaps[s_zero];
- break;
- case GL_ONE:
- dwFunc = pContext->pShared->dwSrcBlendCaps[s_one];
- break;
- case GL_DST_COLOR:
- dwFunc = pContext->pShared->dwSrcBlendCaps[s_dst_color];
- break;
- case GL_ONE_MINUS_DST_COLOR:
- dwFunc = pContext->pShared->dwSrcBlendCaps[s_one_minus_dst_color];
- break;
- case GL_SRC_ALPHA:
- dwFunc = pContext->pShared->dwSrcBlendCaps[s_src_alpha];
- break;
- case GL_ONE_MINUS_SRC_ALPHA:
- dwFunc = pContext->pShared->dwSrcBlendCaps[s_one_minus_src_alpha];
- break;
- case GL_DST_ALPHA:
- dwFunc = pContext->pShared->dwSrcBlendCaps[s_dst_alpha];
- break;
- case GL_ONE_MINUS_DST_ALPHA:
- dwFunc = pContext->pShared->dwSrcBlendCaps[s_one_minus_dst_alpha];
- break;
- case GL_SRC_ALPHA_SATURATE:
- dwFunc = pContext->pShared->dwSrcBlendCaps[s_src_alpha_saturate];
- break;
- case GL_CONSTANT_COLOR:
- dwFunc = pContext->pShared->dwSrcBlendCaps[s_constant_color];
- break;
- case GL_ONE_MINUS_CONSTANT_COLOR:
- dwFunc = pContext->pShared->dwSrcBlendCaps[s_one_minus_constant_color];
- break;
- case GL_CONSTANT_ALPHA:
- dwFunc = pContext->pShared->dwSrcBlendCaps[s_constant_alpha];
- break;
- case GL_ONE_MINUS_CONSTANT_ALPHA:
- dwFunc = pContext->pShared->dwSrcBlendCaps[s_one_minus_constant_alpha];
- break;
- }
- SetStateHAL( pContext->pShared, D3DRENDERSTATE_SRCBLEND, dwFunc );
-
- switch( ctx->Color.BlendDst )
- {
- case GL_ZERO:
- dwFunc = pContext->pShared->dwDestBlendCaps[d_zero];
- break;
- case GL_ONE:
- dwFunc = pContext->pShared->dwDestBlendCaps[d_one];
- break;
- case GL_SRC_COLOR:
- dwFunc = pContext->pShared->dwDestBlendCaps[d_src_color];
- break;
- case GL_ONE_MINUS_SRC_COLOR:
- dwFunc = pContext->pShared->dwDestBlendCaps[d_one_minus_src_color];
- break;
- case GL_SRC_ALPHA:
- dwFunc = pContext->pShared->dwDestBlendCaps[d_src_alpha];
- break;
- case GL_ONE_MINUS_SRC_ALPHA:
- dwFunc = pContext->pShared->dwDestBlendCaps[d_one_minus_src_alpha];
- break;
- case GL_DST_ALPHA:
- dwFunc = pContext->pShared->dwDestBlendCaps[d_dst_alpha];
- break;
- case GL_ONE_MINUS_DST_ALPHA:
- dwFunc = pContext->pShared->dwDestBlendCaps[d_one_minus_dst_alpha];
- break;
- case GL_CONSTANT_COLOR:
- dwFunc = pContext->pShared->dwDestBlendCaps[d_constant_color];
- break;
- case GL_ONE_MINUS_CONSTANT_COLOR:
- dwFunc = pContext->pShared->dwDestBlendCaps[d_one_minus_constant_color];
- break;
- case GL_CONSTANT_ALPHA:
- dwFunc = pContext->pShared->dwDestBlendCaps[d_constant_alpha];
- break;
- case GL_ONE_MINUS_CONSTANT_ALPHA:
- dwFunc = pContext->pShared->dwDestBlendCaps[d_one_minus_constant_alpha];
- break;
- }
- SetStateHAL( pContext->pShared, D3DRENDERSTATE_DESTBLEND, dwFunc );
- SetStateHAL( pContext->pShared, D3DRENDERSTATE_ALPHABLENDENABLE, TRUE );
- }
- else
- {
- SetStateHAL( pContext->pShared, D3DRENDERSTATE_ALPHABLENDENABLE, FALSE );
- }
-}
-/*===========================================================================*/
-/* If this function is called it will track the changes to the current */
-/* states that I'm setting in Direct3D. I did this so that the DPF's would */
-/* be under control! */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-static void DebugRenderStates( GLcontext *ctx, BOOL bForce )
-{
- D3DMESACONTEXT *pContext = (D3DMESACONTEXT *)ctx->DriverCtx;
- DWORD dwFunc;
- static int dither = -1,
- texture = -1,
- textName = -1,
- textEnv = -1,
- textMin = -1,
- textMag = -1,
- polyMode = -1,
- depthTest = -1,
- depthFunc = -1,
- depthMask = -1,
- alphaTest = -1,
- alphaFunc = -1,
- blend = -1,
- blendSrc = -1,
- blendDest = -1;
-
- /* Force a displayed update of all current states. */
- if ( bForce )
- {
- dither = texture = textName = textEnv = textMin = textMag = -1;
- polyMode = depthTest = depthFunc = depthMask = -1;
- alphaTest = alphaFunc = blend = blendSrc = blendDest = -1;
- }
-
- if ( dither != ctx->Color.DitherFlag )
- {
- dither = ctx->Color.DitherFlag;
- DPF(( 0, "\tDither\t\t%s", (dither) ? "ENABLED" : "--------" ));
- }
- if ( depthTest != ctx->Depth.Test )
- {
- depthTest = ctx->Depth.Test;
- DPF(( 0, "\tDepth Test\t%s", (depthTest) ? "ENABLED" : "--------" ));
- }
- if ( alphaTest != ctx->Color.AlphaEnabled )
- {
- alphaTest = ctx->Color.AlphaEnabled;
-
- DPF(( 0, "\tAlpha Test\t%s", (alphaTest) ? "ENABLED" : "--------" ));
- }
- if ( blend != ctx->Color.BlendEnabled )
- {
- blend = ctx->Color.BlendEnabled;
-
- DPF(( 0, "\tBlending\t%s", (blend) ? "ENABLED" : "--------" ));
- }
-
- /*================================================*/
- /* Check too see if there are new TEXTURE states. */
- /*================================================*/
- if ( texture != ctx->Texture._EnabledUnits )
- {
- texture = ctx->Texture._EnabledUnits;
- DPF(( 0, "\tTexture\t\t%s", (texture) ? "ENABLED" : "--------" ));
- }
-
- if ( ctx->Texture.Set[ctx->Texture.CurrentSet].Current )
- {
- if ( ctx->Texture.Set[ctx->Texture.CurrentSet].Current->Name != textName )
- {
- textName = ctx->Texture.Set[ctx->Texture.CurrentSet].Current->Name;
- DPF(( 0, "\tTexture Name:\t%d", textName ));
- DPF(( 0, "\tTexture Format:\t%s",
- (ctx->Texture.Set[ctx->Texture.CurrentSet].Current->Image[0][0]->Format == GL_RGBA) ?
- "GL_RGBA" : "GLRGB" ));
- }
-
- if ( textEnv != ctx->Texture.Set[ctx->Texture.CurrentSet].EnvMode )
- {
- textEnv = ctx->Texture.Set[ctx->Texture.CurrentSet].EnvMode;
-
- switch( textEnv )
- {
- case GL_MODULATE:
- DPF(( 0, "\tTexture\tMode\tGL_MODULATE" ));
- break;
- case GL_BLEND:
- DPF(( 0, "\tTexture\tMode\tGL_BLEND" ));
- break;
- case GL_REPLACE:
- DPF(( 0, "\tTexture\tMode\tGL_REPLACE" ));
- break;
- case GL_DECAL:
- DPF(( 0, "\tTexture\tMode\tGL_DECAL" ));
- break;
- }
- }
-
- if ( textMag != ctx->Texture.Set[ctx->Texture.CurrentSet].Current->MagFilter )
- {
- textMag = ctx->Texture.Set[ctx->Texture.CurrentSet].Current->MagFilter;
-
- switch( textMag )
- {
- case GL_NEAREST:
- DPF(( 0, "\tTexture MAG\tGL_NEAREST" ));
- break;
- case GL_LINEAR:
- DPF(( 0, "\tTexture MAG\tGL_LINEAR" ));
- break;
- case GL_NEAREST_MIPMAP_NEAREST:
- DPF(( 0, "\tTexture MAG\tGL_NEAREST_MIPMAP_NEAREST" ));
- break;
- case GL_LINEAR_MIPMAP_NEAREST:
- DPF(( 0, "\tTexture MAG\tGL_LINEAR_MIPMAP_NEAREST" ));
- break;
- case GL_NEAREST_MIPMAP_LINEAR:
- DPF(( 0, "\tTexture MAG\tGL_NEAREST_MIPMAP_LINEAR" ));
- break;
- case GL_LINEAR_MIPMAP_LINEAR:
- DPF(( 0, "\tTexture MAG\tGL_LINEAR_MIPMAP_LINEAR" ));
- break;
- }
- }
-
- if ( textMin != ctx->Texture.Set[ctx->Texture.CurrentSet].Current->MinFilter )
- {
- textMin = ctx->Texture.Set[ctx->Texture.CurrentSet].Current->MinFilter;
-
- switch( textMin )
- {
- case GL_NEAREST:
- DPF(( 0, "\tTexture MIN\tGL_NEAREST" ));
- break;
- case GL_LINEAR:
- DPF(( 0, "\tTexture MIN\tGL_LINEAR" ));
- break;
- case GL_NEAREST_MIPMAP_NEAREST:
- DPF(( 0, "\tTexture MIN\tGL_NEAREST_MIPMAP_NEAREST" ));
- break;
- case GL_LINEAR_MIPMAP_NEAREST:
- DPF(( 0, "\tTexture MIN\tGL_LINEAR_MIPMAP_NEAREST" ));
- break;
- case GL_NEAREST_MIPMAP_LINEAR:
- DPF(( 0, "\tTexture MIN\tGL_LINEAR_MIPMAP_LINEAR" ));
- break;
- case GL_LINEAR_MIPMAP_LINEAR:
- DPF(( 0, "\tTexture MIN\tGL_LINEAR_MIPMAP_LINEAR" ));
- break;
- }
- }
- }
-
- if ( ctx->Polygon.FrontMode != polyMode )
- {
- polyMode = ctx->Polygon.FrontMode;
-
- switch( polyMode )
- {
- case GL_POINT:
- DPF(( 0, "\tMode\t\tGL_POINT" ));
- break;
- case GL_LINE:
- DPF(( 0, "\tMode\t\tGL_LINE" ));
- break;
- case GL_FILL:
- DPF(( 0, "\tMode\t\tGL_FILL" ));
- break;
- }
- }
-
- if ( depthFunc != ctx->Depth.Func )
- {
- depthFunc = ctx->Depth.Func;
-
- switch( depthFunc )
- {
- case GL_NEVER:
- DPF(( 0, "\tDepth Func\tGL_NEVER" ));
- break;
- case GL_LESS:
- DPF(( 0, "\tDepth Func\tGL_LESS" ));
- break;
- case GL_GEQUAL:
- DPF(( 0, "\tDepth Func\tGL_GEQUAL" ));
- break;
- case GL_LEQUAL:
- DPF(( 0, "\tDepth Func\tGL_LEQUAL" ));
- break;
- case GL_GREATER:
- DPF(( 0, "\tDepth Func\tGL_GREATER" ));
- break;
- case GL_NOTEQUAL:
- DPF(( 0, "\tDepth Func\tGL_NOTEQUAL" ));
- break;
- case GL_EQUAL:
- DPF(( 0, "\tDepth Func\tGL_EQUAL" ));
- break;
- case GL_ALWAYS:
- DPF(( 0, "\tDepth Func\tGL_ALWAYS" ));
- break;
- }
- }
-
- if ( depthMask != ctx->Depth.Mask )
- {
- depthMask = ctx->Depth.Mask;
- DPF(( 0, "\tZWrite\t\t%s", (depthMask) ? "ENABLED" : "--------" ));
- }
-
- if ( alphaFunc != ctx->Color.AlphaFunc )
- {
- alphaFunc = ctx->Color.AlphaFunc;
-
- switch( alphaFunc )
- {
- case GL_NEVER:
- DPF(( 0, "\tAlpha Func\tGL_NEVER" ));
- break;
- case GL_LESS:
- DPF(( 0, "\tAlpha Func\tGL_LESS" ));
- break;
- case GL_GEQUAL:
- DPF(( 0, "\tAlpha Func\tGL_GEQUAL" ));
- break;
- case GL_LEQUAL:
- DPF(( 0, "\tAlpha Func\tGL_LEQUAL" ));
- break;
- case GL_GREATER:
- DPF(( 0, "\tAlpha Func\tGL_GREATER" ));
- break;
- case GL_NOTEQUAL:
- DPF(( 0, "\tAlpha Func\tGL_NOTEQUAL" ));
- break;
- case GL_EQUAL:
- DPF(( 0, "\tAlpha Func\tGL_EQUAL" ));
- break;
- case GL_ALWAYS:
- DPF(( 0, "\tAlpha Func\tGL_ALWAYS" ));
- break;
- }
- }
-
- if ( blendSrc != ctx->Color.BlendSrc )
- {
- blendSrc = ctx->Color.BlendSrc;
-
- switch( blendSrc )
- {
- case GL_ZERO:
- DPF(( 0, "\tSRC Blend\tGL_ZERO" ));
- break;
- case GL_ONE:
- DPF(( 0, "\tSRC Blend\tGL_ONE" ));
- break;
- case GL_DST_COLOR:
- DPF(( 0, "\tSRC Blend\tGL_DST_COLOR" ));
- break;
- case GL_ONE_MINUS_DST_COLOR:
- DPF(( 0, "\tSRC Blend\tGL_ONE_MINUS_DST_COLOR" ));
- break;
- case GL_SRC_ALPHA:
- DPF(( 0, "\tSRC Blend\tGL_SRC_ALPHA" ));
- break;
- case GL_ONE_MINUS_SRC_ALPHA:
- DPF(( 0, "\tSRC Blend\tGL_MINUS_SRC_ALPHA" ));
- break;
- case GL_DST_ALPHA:
- DPF(( 0, "\tSRC Blend\tGL_DST_ALPHA" ));
- break;
- case GL_ONE_MINUS_DST_ALPHA:
- DPF(( 0, "\tSRC Blend\tGL_ONE_MINUS_DST_ALPHA" ));
- break;
- case GL_SRC_ALPHA_SATURATE:
- DPF(( 0, "\tSRC Blend\tGL_SRC_ALPHA_SATURATE" ));
- break;
- case GL_CONSTANT_COLOR:
- DPF(( 0, "\tSRC Blend\tGL_CONSTANT_COLOR" ));
- break;
- case GL_ONE_MINUS_CONSTANT_COLOR:
- DPF(( 0, "\tSRC Blend\tGL_ONE_MINUS_CONSTANT_COLOR" ));
- break;
- case GL_CONSTANT_ALPHA:
- DPF(( 0, "\tSRC Blend\tGL_CONSTANT_ALPHA" ));
- break;
- case GL_ONE_MINUS_CONSTANT_ALPHA:
- DPF(( 0, "\tSRC Blend\tGL_ONE_MINUS_CONSTANT_ALPHA" ));
- break;
- }
- }
-
- if ( blendDest != ctx->Color.BlendDst )
- {
- blendDest = ctx->Color.BlendDst;
-
- switch( blendDest )
- {
- case GL_ZERO:
- DPF(( 0, "\tDST Blend\tGL_ZERO" ));
- break;
- case GL_ONE:
- DPF(( 0, "\tDST Blend\tGL_ONE" ));
- break;
- case GL_SRC_COLOR:
- DPF(( 0, "\tDST Blend\tGL_SRC_COLOR" ));
- break;
- case GL_ONE_MINUS_SRC_COLOR:
- DPF(( 0, "\tDST Blend\tGL_ONE_MINUS_SRC_COLOR" ));
- break;
- case GL_SRC_ALPHA:
- DPF(( 0, "\tDST Blend\tGL_SRC_ALPHA" ));
- break;
- case GL_ONE_MINUS_SRC_ALPHA:
- DPF(( 0, "\tDST Blend\tGL_ONE_MINUS_SRC_ALPHA" ));
- break;
- case GL_DST_ALPHA:
- DPF(( 0, "\tDST Blend\tGL_DST_ALPHA" ));
- break;
- case GL_ONE_MINUS_DST_ALPHA:
- DPF(( 0, "\tDST Blend\tGL_ONE_MINUS_DST_ALPHA" ));
- break;
- case GL_CONSTANT_COLOR:
- DPF(( 0, "\tDST Blend\tGL_CONSTANT_COLOR" ));
- break;
- case GL_ONE_MINUS_CONSTANT_COLOR:
- DPF(( 0, "\tDST Blend\tGL_ONE_MINUS_CONSTANT_COLOR" ));
- break;
- case GL_CONSTANT_ALPHA:
- DPF(( 0, "\tDST Blend\tGL_CONSTANT_ALPHA" ));
- break;
- case GL_ONE_MINUS_CONSTANT_ALPHA:
- DPF(( 0, "\tDST Blend\tGL_ONE_MINUS_CONSTANT_ALPHA" ));
- break;
- }
- }
-}
diff --git a/src/mesa/drivers/d3d/DDrawPROCS.c b/src/mesa/drivers/d3d/DDrawPROCS.c
deleted file mode 100644
index 10dcfdbabb..0000000000
--- a/src/mesa/drivers/d3d/DDrawPROCS.c
+++ /dev/null
@@ -1,399 +0,0 @@
-/*===========================================================================*/
-/* */
-/* Mesa-3.0 DirectX 6 Driver */
-/* */
-/* By Leigh McRae */
-/* */
-/* http://www.altsoftware.com/ */
-/* */
-/* Copyright (c) 1999-1998 alt.software inc. All Rights Reserved */
-/*===========================================================================*/
-#include "D3DMesa.h"
-/*===========================================================================*/
-/* This call will clear the render surface using the pixel info built from */
-/* the surface at creation time. The call uses Lock/Unlock to access the */
-/* surface. The call also special cases a full clear or a dirty rectangle. */
-/* Finally the call returns the new clear mask that reflects that the color */
-/* buffer was cleared. */
-/*===========================================================================*/
-/* RETURN: the original mask with the bits cleared that represents the buffer*/
-/* or buffers we just cleared. */
-/*===========================================================================*/
-GLbitfield ClearBuffers( GLcontext *ctx, GLbitfield mask, GLboolean all, GLint x, GLint y, GLint width, GLint height )
-{
- D3DMESACONTEXT *pContext = (D3DMESACONTEXT *)ctx->DriverCtx;
- DDSURFACEDESC2 *pddsd2;
- UCHAR *pBuffer,
- *pScanLine;
- int index,
- index2;
- DWORD dwColor;
-
- if ( mask & GL_COLOR_BUFFER_BIT )
- {
- /* Lock the surface to get the surface pointer. */
- pddsd2 = LockHAL( pContext->pShared, TRUE );
-
- /* Solve the color once only. */
- dwColor = ( ((DWORD)((float)pContext->rClear * pContext->pShared->pixel.rScale)) << pContext->pShared->pixel.rShift );
- dwColor |= ( ((DWORD)((float)pContext->gClear * pContext->pShared->pixel.gScale)) << pContext->pShared->pixel.gShift );
- dwColor |= ( ((DWORD)((float)pContext->bClear * pContext->pShared->pixel.bScale)) << pContext->pShared->pixel.bShift );
-
- if ( all )
- {
- for( index = 0, pScanLine = (UCHAR *)pddsd2->lpSurface; index < pContext->pShared->dwHeight; index++, pScanLine += pddsd2->lPitch )
- for( pBuffer = pScanLine, index2 = 0; index2 < pContext->pShared->dwWidth; index2++, pBuffer += pContext->pShared->pixel.cb )
- memcpy( pBuffer, &dwColor, pContext->pShared->pixel.cb );
- }
- else
- {
- pScanLine = ((UCHAR *)pddsd2->lpSurface) +
- ( (FLIP( pContext->pShared->dwHeight, (y+height)) * pddsd2->lPitch) + (x * pContext->pShared->pixel.cb) );
-
- for( index = 0; index < height; index++, pScanLine += pddsd2->lPitch )
- {
- for( index2 = 0, pBuffer = pScanLine; index2 < width; index2++, pBuffer += pContext->pShared->pixel.cb )
- memcpy( pBuffer, &dwColor, pContext->pShared->pixel.cb );
- }
- }
-
- UnlockHAL( pContext->pShared, TRUE );
- }
-
- return (mask & ~GL_COLOR_BUFFER_BIT);
-}
-/*===========================================================================*/
-/* This proc (as all others) has been written for the general case. I use */
-/* the PIXELINFO structure to pack the pixel from RGB24 to whatever the Off- */
-/* Screen render surface uses. The alpha is ignored as Mesa does it in SW. */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-void WSpanRGB( const GLcontext* ctx, GLuint n, GLint x, GLint y, const GLubyte rgb[][3], const GLubyte mask[] )
-{
- D3DMESACONTEXT *pContext = (D3DMESACONTEXT *)ctx->DriverCtx;
- DDSURFACEDESC2 *pddsd2;
- UCHAR *pBuffer;
- int index;
- DWORD dwColor;
-
- /* Get the surface pointer and the pitch. */
- pddsd2 = LockHAL( pContext->pShared, TRUE );
-
- /* Find the start of the span. Invert y for Windows. */
- pBuffer = (UCHAR *)pddsd2->lpSurface + (FLIP(pContext->pShared->dwHeight,y) * pddsd2->lPitch) + (x*pContext->pShared->pixel.cb);
-
- if ( mask )
- {
- for( index = 0; index < n; index++, pBuffer += pContext->pShared->pixel.cb )
- {
- if ( mask[index] )
- {
- /* Pack the color components. */
- dwColor = ( ((DWORD)((float)rgb[index][RCOMP] * pContext->pShared->pixel.rScale)) << pContext->pShared->pixel.rShift );
- dwColor |= ( ((DWORD)((float)rgb[index][GCOMP] * pContext->pShared->pixel.gScale)) << pContext->pShared->pixel.gShift );
- dwColor |= ( ((DWORD)((float)rgb[index][BCOMP] * pContext->pShared->pixel.bScale)) << pContext->pShared->pixel.bShift );
- memcpy( pBuffer, &dwColor, pContext->pShared->pixel.cb );
- }
- }
- }
- else
- {
- for( index = 0; index < n; index++, pBuffer += pContext->pShared->pixel.cb )
- {
- /* Pack the color components. */
- dwColor = ( ((DWORD)((float)rgb[index][RCOMP] * pContext->pShared->pixel.rScale)) << pContext->pShared->pixel.rShift );
- dwColor |= ( ((DWORD)((float)rgb[index][GCOMP] * pContext->pShared->pixel.gScale)) << pContext->pShared->pixel.gShift );
- dwColor |= ( ((DWORD)((float)rgb[index][BCOMP] * pContext->pShared->pixel.bScale)) << pContext->pShared->pixel.bShift );
- memcpy( pBuffer, &dwColor, pContext->pShared->pixel.cb );
- }
- }
-
- /* Giver back. */
- UnlockHAL( pContext->pShared, TRUE );
-}
-/*===========================================================================*/
-/* This proc (as all others) has been written for the general case. I use */
-/* the PIXELINFO structure to pack the pixel from RGB24 to whatever the Off- */
-/* Screen render surface uses. The alpha is ignored as Mesa does it in SW. */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-void WSpanRGBA( const GLcontext* ctx, GLuint n, GLint x, GLint y, const GLubyte rgba[][4], const GLubyte mask[] )
-{
- D3DMESACONTEXT *pContext = (D3DMESACONTEXT *)ctx->DriverCtx;
- DDSURFACEDESC2 *pddsd2;
- UCHAR *pBuffer;
- int index;
- DWORD dwColor;
-
- /* Get the surface pointer and the pitch. */
- pddsd2 = LockHAL( pContext->pShared, TRUE );
-
- /* Find the start of the span. Invert y for Windows. */
- pBuffer = (UCHAR *)pddsd2->lpSurface + (FLIP(pContext->pShared->dwHeight,y) * pddsd2->lPitch) + (x*pContext->pShared->pixel.cb);
-
- if ( mask )
- {
- for( index = 0; index < n; index++, pBuffer += pContext->pShared->pixel.cb )
- {
- if ( mask[index] )
- {
- /* Pack the color components. */
- dwColor = ( ((DWORD)((float)rgba[index][RCOMP] * pContext->pShared->pixel.rScale)) << pContext->pShared->pixel.rShift );
- dwColor |= ( ((DWORD)((float)rgba[index][GCOMP] * pContext->pShared->pixel.gScale)) << pContext->pShared->pixel.gShift );
- dwColor |= ( ((DWORD)((float)rgba[index][BCOMP] * pContext->pShared->pixel.bScale)) << pContext->pShared->pixel.bShift );
- memcpy( pBuffer, &dwColor, pContext->pShared->pixel.cb );
- }
- }
- }
- else
- {
- for( index = 0; index < n; index++, pBuffer += pContext->pShared->pixel.cb )
- {
- /* Pack the color components. */
- dwColor = ( ((DWORD)((float)rgba[index][RCOMP] * pContext->pShared->pixel.rScale)) << pContext->pShared->pixel.rShift );
- dwColor |= ( ((DWORD)((float)rgba[index][GCOMP] * pContext->pShared->pixel.gScale)) << pContext->pShared->pixel.gShift );
- dwColor |= ( ((DWORD)((float)rgba[index][BCOMP] * pContext->pShared->pixel.bScale)) << pContext->pShared->pixel.bShift );
- memcpy( pBuffer, &dwColor, pContext->pShared->pixel.cb );
- }
- }
-
- /* Giver back. */
- UnlockHAL( pContext->pShared, TRUE );
-}
-/*===========================================================================*/
-/* This proc (as all others) has been written for the general case. I use */
-/* the PIXELINFO structure to pack the pixel from RGB24 to whatever the Off- */
-/* Screen render surface uses. The color is solved once from the current */
-/* color components. The alpha is ignored as Mesa is doing it in SW. */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-void WSpanRGBAMono( const GLcontext* ctx, GLuint n, GLint x, GLint y, const GLubyte mask[] )
-{
- D3DMESACONTEXT *pContext = (D3DMESACONTEXT *)ctx->DriverCtx;
- DDSURFACEDESC2 *pddsd2;
- UCHAR *pBuffer;
- int index;
- DWORD dwColor;
-
- /* Lock the surface to get the surface pointer and the pitch. */
- pddsd2 = LockHAL( pContext->pShared, TRUE );
-
- /* Solve the color once only. (no alpha) */
- dwColor = ( ((DWORD)((float)pContext->rCurrent * pContext->pShared->pixel.rScale)) << pContext->pShared->pixel.rShift );
- dwColor |= ( ((DWORD)((float)pContext->gCurrent * pContext->pShared->pixel.gScale)) << pContext->pShared->pixel.gShift );
- dwColor |= ( ((DWORD)((float)pContext->bCurrent * pContext->pShared->pixel.bScale)) << pContext->pShared->pixel.bShift );
-
- /* Find the start of the span. Invert y for Windows. */
- pBuffer = (UCHAR *)pddsd2->lpSurface + (FLIP(pContext->pShared->dwHeight,y) * pddsd2->lPitch) + (x*pContext->pShared->pixel.cb);
-
- if ( mask )
- {
- for( index = 0; index < n; index++, pBuffer += pContext->pShared->pixel.cb )
- if ( mask[index] )
- memcpy( pBuffer, &dwColor, pContext->pShared->pixel.cb );
- }
- else
- {
- for( index = 0; index < n; index++, pBuffer += pContext->pShared->pixel.cb )
- memcpy( pBuffer, &dwColor, pContext->pShared->pixel.cb );
- }
-
- /* Giver back. */
- UnlockHAL( pContext->pShared, TRUE );
-}
-/*===========================================================================*/
-/* This proc (as all others) has been written for the general case. I use */
-/* the PIXELINFO structure to pack the pixel from RGB24 to whatever the Off- */
-/* Screen render surface uses. The alpha is ignored as Mesa does it in SW. */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-void WPixelsRGBA( const GLcontext* ctx, GLuint n, const GLint x[], const GLint y[], const GLubyte rgba[][4], const GLubyte mask[] )
-{
- D3DMESACONTEXT *pContext = (D3DMESACONTEXT *)ctx->DriverCtx;
- DDSURFACEDESC2 *pddsd2;
- UCHAR *pBuffer;
- int index;
- DWORD dwColor;
-
- /* Get the surface pointer and the pitch. */
- pddsd2 = LockHAL( pContext->pShared, TRUE );
-
- if ( mask )
- {
- for( index = 0; index < n; index++ )
- {
- if ( mask[index] )
- {
- /* Pack the color components. */
- dwColor = ( ((DWORD)((float)rgba[index][RCOMP] * pContext->pShared->pixel.rScale)) << pContext->pShared->pixel.rShift );
- dwColor |= ( ((DWORD)((float)rgba[index][GCOMP] * pContext->pShared->pixel.gScale)) << pContext->pShared->pixel.gShift );
- dwColor |= ( ((DWORD)((float)rgba[index][BCOMP] * pContext->pShared->pixel.bScale)) << pContext->pShared->pixel.bShift );
-
- /* Find the pixel. Invert y for Windows. */
- pBuffer = (UCHAR *)pddsd2->lpSurface + (FLIP(pContext->pShared->dwHeight,y[index]) * pddsd2->lPitch) + (x[index]*pContext->pShared->pixel.cb);
- memcpy( pBuffer, &dwColor, pContext->pShared->pixel.cb );
- }
- }
- }
- else
- {
- for( index = 0; index < n; index++ )
- {
- /* Pack the color components. */
- dwColor = ( ((DWORD)((float)rgba[index][RCOMP] * pContext->pShared->pixel.rScale)) << pContext->pShared->pixel.rShift );
- dwColor |= ( ((DWORD)((float)rgba[index][GCOMP] * pContext->pShared->pixel.gScale)) << pContext->pShared->pixel.gShift );
- dwColor |= ( ((DWORD)((float)rgba[index][BCOMP] * pContext->pShared->pixel.bScale)) << pContext->pShared->pixel.bShift );
-
- /* Find the pixel. Invert y for Windows. */
- pBuffer = (UCHAR *)pddsd2->lpSurface + (FLIP(pContext->pShared->dwHeight,y[index]) * pddsd2->lPitch) + (x[index]*pContext->pShared->pixel.cb);
- memcpy( pBuffer, &dwColor, pContext->pShared->pixel.cb );
- }
- }
-
- /* Giver back. */
- UnlockHAL( pContext->pShared, TRUE );
-}
-/*===========================================================================*/
-/* This proc (as all others) has been written for the general case. I use */
-/* the PIXELINFO structure to pack the pixel from RGB24 to whatever the Off- */
-/* Screen render surface uses. The color is solved once from the current */
-/* color components. The alpha is ignored as Mesa is doing it in SW. */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-void WPixelsRGBAMono( const GLcontext* ctx, GLuint n, const GLint x[], const GLint y[], const GLubyte mask[] )
-{
- D3DMESACONTEXT *pContext = (D3DMESACONTEXT *)ctx->DriverCtx;
- DDSURFACEDESC2 *pddsd2;
- UCHAR *pBuffer;
- int index;
- DWORD dwColor;
-
- /* Get the surface pointer and the pitch. */
- pddsd2 = LockHAL( pContext->pShared, TRUE );
-
- /* Solve the color once only. I don't uses the alpha. */
- dwColor = ( ((DWORD)((float)pContext->rCurrent * pContext->pShared->pixel.rScale)) << pContext->pShared->pixel.rShift );
- dwColor |= ( ((DWORD)((float)pContext->gCurrent * pContext->pShared->pixel.gScale)) << pContext->pShared->pixel.gShift );
- dwColor |= ( ((DWORD)((float)pContext->bCurrent * pContext->pShared->pixel.bScale)) << pContext->pShared->pixel.bShift );
-
- if ( mask )
- {
- /* We store the surface pointer as a UCHAR so that pixel.cb (count in btyles) will work for all. */
- for( index = 0; index < n; index++ )
- {
- if ( mask[index] )
- {
- /* Find the pixel. Invert y for Windows. */
- pBuffer = (UCHAR *)pddsd2->lpSurface + (FLIP(pContext->pShared->dwHeight,y[index]) * pddsd2->lPitch) + (x[index]*pContext->pShared->pixel.cb);
- memcpy( pBuffer, &dwColor, pContext->pShared->pixel.cb );
- }
- }
- }
- else
- {
- /* We store the surface pointer as a UCHAR so that pixel.cb (count in btyles) will work for all. */
- for( index = 0; index < n; index++ )
- {
- /* Find the pixel. Invert y for Windows. */
- pBuffer = (UCHAR *)pddsd2->lpSurface + (FLIP(pContext->pShared->dwHeight,y[index]) * pddsd2->lPitch) + (x[index]*pContext->pShared->pixel.cb);
- memcpy( pBuffer, &dwColor, pContext->pShared->pixel.cb );
- }
- }
-
- /* Giver back. */
- UnlockHAL( pContext->pShared, TRUE );
-}
-/*===========================================================================*/
-/* This proc isn't written for speed rather its to handle the general case. */
-/* I grab each pixel from the surface and unpack the info using the PIXELINFO*/
-/* structure that was generated from the OffScreen surface pixelformat. The */
-/* function will not fill in the alpha value as Mesa I have Mesa allocate its*/
-/* own alpha channel when the context was created. I did this as I didn't */
-/* feel that it was worth the effort to try and get HW to work (bus bound). */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-void RSpanRGBA( const GLcontext* ctx, GLuint n, GLint x, GLint y, GLubyte rgba[][4] )
-{
- D3DMESACONTEXT *pContext = (D3DMESACONTEXT *)ctx->DriverCtx;
- DDSURFACEDESC2 *pddsd2;
- UCHAR *pBuffer;
- int index;
- DWORD *pdwColor;
-
- /* Get the surface pointer and the pitch. */
- pddsd2 = LockHAL( pContext->pShared, TRUE );
-
- /* Find the start of the span. Invert y for Windows. */
- pBuffer = (UCHAR *)pddsd2->lpSurface +
- (FLIP(pContext->pShared->dwHeight,y) * pddsd2->lPitch) +
- (x*pContext->pShared->pixel.cb);
-
- /* We store the surface pointer as a UCHAR so that pixel.cb (count in btyles) will work for all. */
- for( index = 0; index < n; index++, pBuffer += pContext->pShared->pixel.cb )
- {
- pdwColor = (DWORD *)pBuffer;
- rgba[index][RCOMP] = (GLubyte)((float)((*pdwColor & pContext->pShared->pixel.dwRMask) >> pContext->pShared->pixel.rShift) / pContext->pShared->pixel.rScale);
- rgba[index][GCOMP] = (GLubyte)((float)((*pdwColor & pContext->pShared->pixel.dwGMask) >> pContext->pShared->pixel.gShift) / pContext->pShared->pixel.gScale);
- rgba[index][BCOMP] = (GLubyte)((float)((*pdwColor & pContext->pShared->pixel.dwBMask) >> pContext->pShared->pixel.bShift) / pContext->pShared->pixel.bScale);
- }
-
- /* Giver back. */
- UnlockHAL( pContext->pShared, TRUE );
-}
-/*===========================================================================*/
-/* This proc isn't written for speed rather its to handle the general case. */
-/* I grab each pixel from the surface and unpack the info using the PIXELINFO*/
-/* structure that was generated from the OffScreen surface pixelformat. The */
-/* function will not fill in the alpha value as Mesa I have Mesa allocate its*/
-/* own alpha channel when the context was created. I did this as I didn't */
-/* feel that it was worth the effort to try and get HW to work (bus bound). */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-void RPixelsRGBA( const GLcontext* ctx, GLuint n, const GLint x[], const GLint y[], GLubyte rgba[][4], const GLubyte mask[] )
-{
- D3DMESACONTEXT *pContext = (D3DMESACONTEXT *)ctx->DriverCtx;
- DDSURFACEDESC2 *pddsd2;
- int index;
- DWORD *pdwColor;
-
- /* Get the surface pointer and the pitch. */
- pddsd2 = LockHAL( pContext->pShared, TRUE );
-
- if ( mask )
- {
- /* We store the surface pointer as a UCHAR so that pixel.cb (count in btyles) will work for all. */
- for( index = 0; index < n; index++ )
- {
- if ( mask[index] )
- {
- /* Find the start of the pixel. Invert y for Windows. */
- pdwColor = (DWORD *)((UCHAR *)pddsd2->lpSurface + (FLIP(pContext->pShared->dwHeight,y[index]) * pddsd2->lPitch) + (x[index]*pContext->pShared->pixel.cb));
- rgba[index][RCOMP] = (GLubyte)((float)((*pdwColor & pContext->pShared->pixel.dwRMask) >> pContext->pShared->pixel.rShift) / pContext->pShared->pixel.rScale);
- rgba[index][GCOMP] = (GLubyte)((float)((*pdwColor & pContext->pShared->pixel.dwGMask) >> pContext->pShared->pixel.gShift) / pContext->pShared->pixel.gScale);
- rgba[index][BCOMP] = (GLubyte)((float)((*pdwColor & pContext->pShared->pixel.dwBMask) >> pContext->pShared->pixel.bShift) / pContext->pShared->pixel.bScale);
- }
- }
- }
- else
- {
- /* We store the surface pointer as a UCHAR so that pixel.cb (count in btyles) will work for all. */
- for( index = 0; index < n; index++ )
- {
- /* Find the start of the pixel. Invert y for Windows. */
- pdwColor = (DWORD *)((UCHAR *)pddsd2->lpSurface + (FLIP(pContext->pShared->dwHeight,y[index]) * pddsd2->lPitch) + (x[index]*pContext->pShared->pixel.cb));
- rgba[index][RCOMP] = (GLubyte)((float)((*pdwColor & pContext->pShared->pixel.dwRMask) >> pContext->pShared->pixel.rShift) / pContext->pShared->pixel.rScale);
- rgba[index][GCOMP] = (GLubyte)((float)((*pdwColor & pContext->pShared->pixel.dwGMask) >> pContext->pShared->pixel.gShift) / pContext->pShared->pixel.gScale);
- rgba[index][BCOMP] = (GLubyte)((float)((*pdwColor & pContext->pShared->pixel.dwBMask) >> pContext->pShared->pixel.bShift) / pContext->pShared->pixel.bScale);
- }
- }
-
- /* Giver back. */
- UnlockHAL( pContext->pShared, TRUE );
-}
diff --git a/src/mesa/drivers/d3d/DEBUG.C b/src/mesa/drivers/d3d/DEBUG.C
deleted file mode 100644
index 79e273903a..0000000000
--- a/src/mesa/drivers/d3d/DEBUG.C
+++ /dev/null
@@ -1,143 +0,0 @@
-/*===========================================================================*/
-/* */
-/* Mesa-3.0 DirectX 6 Driver */
-/* */
-/* By Leigh McRae */
-/* */
-/* http://www.altsoftware.com/ */
-/* */
-/* Copyright (c) 1999-1998 alt.software inc. All Rights Reserved */
-/*===========================================================================*/
-#include "Debug.h"
-/*===========================================================================*/
-/* Global variables. */
-/*===========================================================================*/
-DWORD g_DBGMask = DBG_ALL_ERROR;
-/*===========================================================================*/
-/* This is your basic DPF function with printf like support. The function */
-/* also works with a global debug mask variable. I have written support that*/
-/* allows for the user's enviroment variable space to be read and set the */
-/* masks. This is done when the dll starts and is only in the debug version.*/
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-void _cdecl DebugPrint( int mask, char *pszFormat, ... )
-{
- char buffer[512];
- va_list args;
-
- /* A mask of 0 will always pass. Easy to remeber. */
- if ( (mask == 0) || (mask & g_DBGMask) )
- {
- va_start( args, pszFormat );
-
- if ( mask & DBG_ALL_ERROR )
- OutputDebugString( "MesaD3D: (ERROR)" );
- else
- OutputDebugString( "MesaD3D: " );
-
- vsprintf( buffer, pszFormat, args );
- strcat( buffer, "\n" );
- OutputDebugString( buffer );
-
- va_end( args );
- }
-}
-/*===========================================================================*/
-/* This call reads the users enviroment variables and sets any debug mask */
-/* that they have set to TRUE. Now the value must be "TRUE". */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-void ReadDBGEnv( void )
-{
- g_DBGMask = DBG_ALL_ERROR;
-
-#define IS_VAR_SET(v) if ( getenv( # v ) && !strcmp(getenv( # v ),"TRUE") ) g_DBGMask |= v;
-
- IS_VAR_SET( DBG_FUNC );
- IS_VAR_SET( DBG_STATES );
-
- IS_VAR_SET( DBG_CNTX_INFO );
- IS_VAR_SET( DBG_CNTX_WARN );
- IS_VAR_SET( DBG_CNTX_PROFILE );
- IS_VAR_SET( DBG_CNTX_ERROR );
- IS_VAR_SET( DBG_CNTX_ALL );
-
- IS_VAR_SET( DBG_PRIM_INFO );
- IS_VAR_SET( DBG_PRIM_WARN );
- IS_VAR_SET( DBG_PRIM_PROFILE );
- IS_VAR_SET( DBG_PRIM_ERROR );
- IS_VAR_SET( DBG_PRIM_ALL );
-
- IS_VAR_SET( DBG_TXT_INFO );
- IS_VAR_SET( DBG_TXT_WARN );
- IS_VAR_SET( DBG_TXT_PROFILE );
- IS_VAR_SET( DBG_TXT_ERROR );
- IS_VAR_SET( DBG_TXT_ALL );
-
- IS_VAR_SET( DBG_ALL_INFO );
- IS_VAR_SET( DBG_ALL_WARN );
- IS_VAR_SET( DBG_ALL_PROFILE );
- IS_VAR_SET( DBG_ALL_ERROR );
- IS_VAR_SET( DBG_ALL );
-
-#undef IS_VAR_SET
-}
-/*===========================================================================*/
-/* This function will take a pointer to a DDSURFACEDESC2 structure & display*/
-/* the parsed information using a DPF call. */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-void DebugPixelFormat( char *pszSurfaceName, DDPIXELFORMAT *pddpf )
-{
- char buffer[256];
-
- /* Parse the flag type and write the string equivalent. */
- if ( pddpf->dwFlags & DDPF_ALPHA )
- strcat( buffer, "DDPF_ALPHA " );
- if ( pddpf->dwFlags & DDPF_ALPHAPIXELS )
- strcat( buffer, "DDPF_ALPHAPIXELS " );
- if ( pddpf->dwFlags & DDPF_ALPHAPREMULT )
- strcat( buffer, "DDPF_ALPHAPREMULT " );
- if ( pddpf->dwFlags & DDPF_BUMPLUMINANCE )
- strcat( buffer, "DDPF_BUMPLUMINANCE " );
- if ( pddpf->dwFlags & DDPF_BUMPDUDV )
- strcat( buffer, "DDPF_BUMPDUDV " );
- if ( pddpf->dwFlags & DDPF_COMPRESSED )
- strcat( buffer, "DDPF_COMPRESSED " );
- if ( pddpf->dwFlags & DDPF_FOURCC )
- strcat( buffer, "DDPF_FOURCC " );
- if ( pddpf->dwFlags & DDPF_LUMINANCE )
- strcat( buffer, "DDPF_LUMINANCE " );
- if ( pddpf->dwFlags & DDPF_PALETTEINDEXED1 )
- strcat( buffer, "DDPF_PALETTEINDEXED1 " );
- if ( pddpf->dwFlags & DDPF_PALETTEINDEXED2 )
- strcat( buffer, "DDPF_PALETTEINDEXED2 " );
- if ( pddpf->dwFlags & DDPF_PALETTEINDEXED4 )
- strcat( buffer, "DDPF_PALETTEINDEXED4 " );
- if ( pddpf->dwFlags & DDPF_PALETTEINDEXED8 )
- strcat( buffer, "DDPF_PALETTEINDEXED8 " );
- if ( pddpf->dwFlags & DDPF_PALETTEINDEXEDTO8 )
- strcat( buffer, "DDPF_PALETTEINDEXEDTO8 " );
- if ( pddpf->dwFlags & DDPF_RGB )
- strcat( buffer, "DDPF_RGB " );
- if ( pddpf->dwFlags & DDPF_RGBTOYUV )
- strcat( buffer, "DDPF_RGBTOYUV " );
- if ( pddpf->dwFlags & DDPF_STENCILBUFFER )
- strcat( buffer, "DDPF_STENCILBUFFER " );
- if ( pddpf->dwFlags & DDPF_YUV )
- strcat( buffer, "DDPF_YUV " );
- if ( pddpf->dwFlags & DDPF_ZBUFFER )
- strcat( buffer, "DDPF_ZBUFFER " );
- if ( pddpf->dwFlags & DDPF_ZPIXELS )
- strcat( buffer, "DDPF_ZPIXELS " );
-
- DPF(( (DBG_TXT_INFO|DBG_CNTX_INFO),"%s", buffer ));
-}
-
-
-
-
-
diff --git a/src/mesa/drivers/d3d/DEBUG.H b/src/mesa/drivers/d3d/DEBUG.H
deleted file mode 100644
index daeeb72278..0000000000
--- a/src/mesa/drivers/d3d/DEBUG.H
+++ /dev/null
@@ -1,90 +0,0 @@
-/*===========================================================================*/
-/* */
-/* Mesa-3.0 DirectX 6 Driver */
-/* */
-/* By Leigh McRae */
-/* */
-/* http://www.altsoftware.com/ */
-/* */
-/* Copyright (c) 1999-1998 alt.software inc. All Rights Reserved */
-/*===========================================================================*/
-#ifndef _DEBUG_H
-#define _DEBUG_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*===========================================================================*/
-/* Includes. */
-/*===========================================================================*/
-#include <stdio.h>
-#include <string.h>
-#include <ddraw.h>
-#include <d3d.h>
-#include "D3DShared.h"
-/*===========================================================================*/
-/* Magic numbers. */
-/*===========================================================================*/
-/*===========================================================================*/
-/* Macros defines. */
-/*===========================================================================*/
-#define DBG_FUNC 0x00000001
-#define DBG_STATES 0x00000002
-
-#define DBG_CNTX_INFO 0x00000010
-#define DBG_CNTX_WARN 0x00000020
-#define DBG_CNTX_PROFILE 0x00000040
-#define DBG_CNTX_ERROR 0x00000080
-#define DBG_CNTX_ALL 0x000000F0
-
-#define DBG_PRIM_INFO 0x00000100
-#define DBG_PRIM_WARN 0x00000200
-#define DBG_PRIM_PROFILE 0x00000400
-#define DBG_PRIM_ERROR 0x00000800
-#define DBG_PRIM_ALL 0x00000F00
-
-#define DBG_TXT_INFO 0x00001000
-#define DBG_TXT_WARN 0x00002000
-#define DBG_TXT_PROFILE 0x00004000
-#define DBG_TXT_ERROR 0x00008000
-#define DBG_TXT_ALL 0x0000F000
-
-#define DBG_ALL_INFO 0x11111110
-#define DBG_ALL_WARN 0x22222220
-#define DBG_ALL_PROFILE 0x44444440
-#define DBG_ALL_ERROR 0x88888880
-#define DBG_ALL 0xFFFFFFFF
-
-#ifdef D3D_DEBUG
-# define DPF(arg) DebugPrint arg
-# define RIP(pH,msg,err) OutputDebugString(msg); \
- OutputDebugString(err); \
- OutputDebugString("\n"); \
- FatalShutDown(pH)
-#else
-# define DPF(arg)
-# define RIP(pH,msg,err) FatalShutDown(pH)
-#endif
-/*===========================================================================*/
-/* Type defines. */
-/*===========================================================================*/
-/*===========================================================================*/
-/* Function prototypes. */
-/*===========================================================================*/
-extern void ReadDBGEnv( void );
-extern void _cdecl DebugPrint( int mask, char *pszFormat, ... );
-extern void DebugPixelFormat( char *pszSurfaceName, DDPIXELFORMAT *pddpf );
-/*===========================================================================*/
-/* Global variables. */
-/*===========================================================================*/
-extern DWORD g_DBGMask;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
-
diff --git a/src/mesa/drivers/d3d/DbgEnv.bat b/src/mesa/drivers/d3d/DbgEnv.bat
deleted file mode 100644
index acea045856..0000000000
--- a/src/mesa/drivers/d3d/DbgEnv.bat
+++ /dev/null
@@ -1,25 +0,0 @@
-SET DBG_FUNC=FALSE
-
-SET DBG_CNTX_INFO=TRUE
-SET DBG_CNTX_WARN=TRUE
-SET DBG_CNTX_PROFILE=FALSE
-SET DBG_CNTX_ERROR=TRUE
-SET DBG_CNTX_ALL=TRUE
-
-SET DBG_PRIM_INFO=FALSE
-SET DBG_PRIM_WARN=FALSE
-SET DBG_PRIM_PROFILE=FALSE
-SET DBG_PRIM_ERROR=TRUE
-SET DBG_PRIM_ALL=FALSE
-
-SET DBG_TXT_INFO=FALSE
-SET DBG_TXT_WARN=TRUE
-SET DBG_TXT_PROFILE=FALSE
-SET DBG_TXT_ERROR=TRUE
-SET DBG_TXT_ALL=FALSE
-
-SET DBG_ALL_INFO=FALSE
-SET DBG_ALL_WARN=TRUE
-SET DBG_ALL_PROFILE=FALSE
-SET DBG_ALL_ERROR=TRUE
-SET DBG_ALL=FALSE
diff --git a/src/mesa/drivers/d3d/MAKEFILE b/src/mesa/drivers/d3d/MAKEFILE
deleted file mode 100644
index 6aa88f3cef..0000000000
--- a/src/mesa/drivers/d3d/MAKEFILE
+++ /dev/null
@@ -1,101 +0,0 @@
-##############################################################################
-#
-# Mesa-3.0 Makefile for DirectX 6 Driver
-#
-# By Leigh McRae
-#
-# http://www.altsoftware.com/
-#
-# Copyright (c) 1999-1998 alt.software inc. All Rights Reserved
-##############################################################################
-NAME=
-TARGET= WGL Driver (D3DHAL)
-
-D3D_DIR=$(MAKEDIR)\D3D
-TARGET_DIR=e:\WinNT\System32
-TEMP_DIR=c:\Temp
-
-SPACE=-
-LINKER=link.exe
-
-INCLUDE=$(SDKROOT)\include;$(INCLUDE)
-LIB=$(SDKROOT)\lib;$(LIB)
-##############################################################################
-CFLAGS = /c /nologo /W1 /G5 /I..\ /I..\..\Include \
- /D "_WIN32" /D "WIN32" /D "_WINDOWS" /D "__WIN32__" /D "__MSC__" /D "MESAD3D"
-CPPFLAGS= /c /nologo /W1 /G5 /I..\ /I..\..\Include \
- /D "_WIN32" /D "WIN32" /D "_WINDOWS" /D "__WIN32__" /D "__MSC__" /D "MESAD3D"
-
-!IF "$(DEBUG)" == "1"
-
-CFLAGS = /MTd /Od /Z7 /Yd /D "_DEBUG" /D "D3D_DEBUG" $(CFLAGS)
-CPPFLAGS = /MTd /Od /Z7 /Yd /D "_DEBUG" /D "D3D_DEBUG" $(CPPFLAGS)
-BUILD_TYPE=debug
-
-!ELSE
-
-CFLAGS = /MT /Ox /D "NDEBUG" $(CFLAGS)
-CPPFLAGS = /MT /Ox /D "NDEBUG" $(CPPFLAGS)
-BUILD_TYPE=release
-
-!ENDIF
-##############################################################################
-SRCS_WGL = wgl.c D3Dvbrender.c DDrawPROCS.c NULLProcs.c Debug.c
-SRCS_HAL = D3DInit.cpp D3DRaster.cpp D3DTextureMgr.cpp D3DUtils.cpp D3DCaps.cpp
-OBJS_WGL = $(SRCS_WGL:.c=.obj)
-OBJS_HAL = $(SRCS_HAL:.cpp=.obj)
-
-WINLIBS = kernel32.lib user32.lib gdi32.lib oldnames.lib
-DXLIBS =
-LIBS = $(WINLIBS) $(DXLIBS)
-###############################################################################
-# Primary Targets #
-###############################################################################
-
-default: header WGL HAL footer
-
-all: default
-
-WGL : $(OBJS_WGL)
-
-HAL : $(OBJS_HAL)
-
-install : forceit
- @echo $(SPACE)
- @echo ========================================
- @echo Install files created.
- @echo ========================================
-
-
-###############################################################################
-# Secondary Targets #
-###############################################################################
-
-clean:
- @echo ========================================
- @echo Cleaning $(TARGET)
- @del *.obj
- @del *.dep
- @del *.exp
- @del *.ncb
- @del *.plg
- @del *.lib
- @echo ========================================
-
-header:
- @echo ============================================================
- @echo Building $(TARGET) ($(BUILD_TYPE) version)
- @echo ============================================================
- @echo $(SPACE)
-
-footer:
- @echo $(SPACE)
- @echo ============================================================
- @echo DONE building $(TARGET) ($(BUILD_TYPE) version)
- @echo ============================================================
-
-forceit:
-
-
-
-
diff --git a/src/mesa/drivers/d3d/NULLProcs.h b/src/mesa/drivers/d3d/NULLProcs.h
deleted file mode 100644
index f0bbd2162d..0000000000
--- a/src/mesa/drivers/d3d/NULLProcs.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*===========================================================================*/
-/* */
-/* Mesa-3.0 DirectX 6 Driver */
-/* */
-/* By Leigh McRae */
-/* */
-/* http://www.altsoftware.com/ */
-/* */
-/* Copyright (c) 1999-1998 alt.software inc. All Rights Reserved */
-/*===========================================================================*/
-#ifndef NULL_MESA_PROCS_INC
-#define NULL_MESA_PROCS_INC
-/*===========================================================================*/
-/* Includes. */
-/*===========================================================================*/
-#include "matrix.h"
-#include "context.h"
-#include "types.h"
-#include "vb.h"
-/*===========================================================================*/
-/* Macros. */
-/*===========================================================================*/
-/*===========================================================================*/
-/* Magic numbers. */
-/*===========================================================================*/
-/*===========================================================================*/
-/* Type defines. */
-/*===========================================================================*/
-void NULLSetColor( GLcontext *ctx, GLubyte r, GLubyte g, GLubyte b, GLubyte a );
-void NULLClearColor( GLcontext *ctx, GLubyte r, GLubyte g, GLubyte b, GLubyte a );
-GLboolean NULLSetBuffer( GLcontext *ctx, GLenum mode );
-void NULLGetBufferSize( GLcontext *ctx, GLuint *width, GLuint *height );
-GLbitfield NULLClearBuffers( GLcontext *ctx, GLbitfield m, GLboolean a, GLint x, GLint y, GLint w, GLint h );
-void NULLWrSpRGB( const GLcontext* ctx, GLuint n, GLint x, GLint y, const GLubyte r[][3], const GLubyte m[] );
-void NULLWrSpRGBA( const GLcontext* ctx, GLuint n, GLint x, GLint y, const GLubyte r[][4], const GLubyte m[] );
-void NULLWrSpRGBAMono( const GLcontext* ctx, GLuint n, GLint x, GLint y, const GLubyte m[] );
-void NULLWrPiRGBA( const GLcontext* ctx, GLuint n, const GLint x[], const GLint y[], const GLubyte r[][4], const GLubyte m[] );
-void NULLWrPiRGBAMono( const GLcontext* ctx, GLuint n, const GLint x[], const GLint y[], const GLubyte m[] );
-void NULLReSpRGBA( const GLcontext* ctx, GLuint n, GLint x, GLint y, GLubyte r[][4] );
-void NULLRePiRGBA( const GLcontext* ctx, GLuint n, const GLint x[], const GLint y[], GLubyte r[][4], const GLubyte m[] );
-/*===========================================================================*/
-/* Extern function prototypes. */
-/*===========================================================================*/
-/*===========================================================================*/
-/* Global variables. */
-/*===========================================================================*/
-
-#endif
-
diff --git a/src/mesa/drivers/d3d/NullProcs.c b/src/mesa/drivers/d3d/NullProcs.c
deleted file mode 100644
index d6fb598074..0000000000
--- a/src/mesa/drivers/d3d/NullProcs.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/*===========================================================================*/
-/* */
-/* Mesa-3.0 DirectX 6 Driver */
-/* */
-/* By Leigh McRae */
-/* */
-/* http://www.altsoftware.com/ */
-/* */
-/* Copyright (c) 1999-1998 alt.software inc. All Rights Reserved */
-/*===========================================================================*/
-#ifndef NULL_MESA_PROCS_INC
-#define NULL_MESA_PROCS_INC
-/*===========================================================================*/
-/* Includes. */
-/*===========================================================================*/
-#include "matrix.h"
-#include "context.h"
-#include "mtypes.h"
-#include "vb.h"
-/*===========================================================================*/
-/* Macros. */
-/*===========================================================================*/
-/*===========================================================================*/
-/* Magic numbers. */
-/*===========================================================================*/
-/*===========================================================================*/
-/* Type defines. */
-/*===========================================================================*/
-void NULLSetColor( GLcontext *ctx, GLubyte r, GLubyte g, GLubyte b, GLubyte a );
-void NULLClearColor( GLcontext *ctx, GLubyte r, GLubyte g, GLubyte b, GLubyte a );
-GLboolean NULLSetBuffer( GLcontext *ctx, GLframebuffer *buffer, GLuint bit );
-void NULLGetBufferSize( GLcontext *ctx, GLuint *width, GLuint *height );
-GLbitfield NULLClearBuffers( GLcontext *ctx, GLbitfield m, GLboolean a, GLint x, GLint y, GLint w, GLint h );
-void NULLWrSpRGB( const GLcontext* ctx, GLuint n, GLint x, GLint y, const GLubyte r[][3], const GLubyte m[] );
-void NULLWrSpRGBA( const GLcontext* ctx, GLuint n, GLint x, GLint y, const GLubyte r[][4], const GLubyte m[] );
-void NULLWrSpRGBAMono( const GLcontext* ctx, GLuint n, GLint x, GLint y, const GLubyte m[] );
-void NULLWrPiRGBA( const GLcontext* ctx, GLuint n, const GLint x[], const GLint y[], const GLubyte r[][4], const GLubyte m[] );
-void NULLWrPiRGBAMono( const GLcontext* ctx, GLuint n, const GLint x[], const GLint y[], const GLubyte m[] );
-void NULLReSpRGBA( const GLcontext* ctx, GLuint n, GLint x, GLint y, GLubyte r[][4] );
-void NULLRePiRGBA( const GLcontext* ctx, GLuint n, const GLint x[], const GLint y[], GLubyte r[][4], const GLubyte m[] );
-/*===========================================================================*/
-/* Extern function prototypes. */
-/*===========================================================================*/
-/*===========================================================================*/
-/* Global variables. */
-/*===========================================================================*/
-
-#endif
-
diff --git a/src/mesa/drivers/d3d/OPENGL32.DEF b/src/mesa/drivers/d3d/OPENGL32.DEF
deleted file mode 100644
index bc0304da33..0000000000
--- a/src/mesa/drivers/d3d/OPENGL32.DEF
+++ /dev/null
@@ -1,442 +0,0 @@
-;===========================================================================
-;
-; Mesa-3.0 DirectX 6 Driver
-;
-; By Leigh McRae
-;
-; http://www.altsoftware.com/
-;
-; Copyright (c) 1999-1998 alt.software inc. All Rights Reserved
-;===========================================================================
-NAME OpenGL32.DLL
-DESCRIPTION "Mesa-3.0 DX6 Driver Version 0.5"
-
-EXPORTS
- DllMain
- glAccum
- glAlphaFunc
- glAreTexturesResident
- glAreTexturesResidentEXT
- glArrayElement
- glArrayElementEXT
- glBegin
- glBindTexture
- glBindTextureEXT
- glBitmap
- glBlendColorEXT
- glBlendEquationEXT
- glBlendFunc
- glCallList
- glCallLists
- glClear
- glClearAccum
- glClearColor
- glClearDepth
- glClearIndex
- glClearStencil
- glClipPlane
- glColor3b
- glColor3bv
- glColor3d
- glColor3dv
- glColor3f
- glColor3fv
- glColor3i
- glColor3iv
- glColor3s
- glColor3sv
- glColor3ub
- glColor3ubv
- glColor3ui
- glColor3uiv
- glColor3us
- glColor3usv
- glColor4b
- glColor4bv
- glColor4d
- glColor4dv
- glColor4f
- glColor4fv
- glColor4i
- glColor4iv
- glColor4s
- glColor4sv
- glColor4ub
- glColor4ubv
- glColor4ui
- glColor4uiv
- glColor4us
- glColor4usv
- glColorMask
- glColorMaterial
- glColorPointer
- glColorPointerEXT
- glColorSubTableEXT
- glColorTableEXT
- glCopyPixels
- glCopyTexImage1D
- glCopyTexImage2D
- glCopyTexSubImage1D
- glCopyTexSubImage2D
- glCopyTexSubImage3DEXT
- glCullFace
- glDeleteLists
- glDeleteTextures
- glDeleteTexturesEXT
- glDepthFunc
- glDepthMask
- glDepthRange
- glDisable
- glDisableClientState
- glDrawArrays
- glDrawArraysEXT
- glDrawBuffer
- glDrawElements
- glDrawPixels
- glEdgeFlag
- glEdgeFlagPointer
- glEdgeFlagPointerEXT
- glEdgeFlagv
- glEnable
- glEnableClientState
- glEnd
- glEndList
- glEvalCoord1d
- glEvalCoord1dv
- glEvalCoord1f
- glEvalCoord1fv
- glEvalCoord2d
- glEvalCoord2dv
- glEvalCoord2f
- glEvalCoord2fv
- glEvalMesh1
- glEvalMesh2
- glEvalPoint1
- glEvalPoint2
- glFeedbackBuffer
- glFinish
- glFlush
- glFogf
- glFogfv
- glFogi
- glFogiv
- glFrontFace
- glFrustum
- glGenLists
- glGenTextures
- glGenTexturesEXT
- glGetBooleanv
- glGetClipPlane
- glGetColorTableEXT
- glGetColorTableParameterfvEXT
- glGetColorTableParameterivEXT
- glGetDoublev
- glGetError
- glGetFloatv
- glGetIntegerv
- glGetLightfv
- glGetLightiv
- glGetMapdv
- glGetMapfv
- glGetMapiv
- glGetMaterialfv
- glGetMaterialiv
- glGetPixelMapfv
- glGetPixelMapuiv
- glGetPixelMapusv
- glGetPointerv
- glGetPointervEXT
- glGetPolygonStipple
- glGetString
- glGetTexEnvfv
- glGetTexEnviv
- glGetTexGendv
- glGetTexGenfv
- glGetTexGeniv
- glGetTexImage
- glGetTexLevelParameterfv
- glGetTexLevelParameteriv
- glGetTexParameterfv
- glGetTexParameteriv
- glHint
- glIndexd
- glIndexdv
- glIndexf
- glIndexfv
- glIndexi
- glIndexiv
- glIndexMask
- glIndexPointer
- glIndexPointerEXT
- glIndexs
- glIndexsv
- glIndexub
- glIndexubv
- glInitNames
- glInterleavedArrays
- glIsEnabled
- glIsList
- glIsTexture
- glIsTextureEXT
- glLightf
- glLightfv
- glLighti
- glLightiv
- glLightModelf
- glLightModelfv
- glLightModeli
- glLightModeliv
- glLineStipple
- glLineWidth
- glListBase
- glLoadIdentity
- glLoadMatrixd
- glLoadMatrixf
- glLoadName
- glLogicOp
- glMap1d
- glMap1f
- glMap2d
- glMap2f
- glMapGrid1d
- glMapGrid1f
- glMapGrid2d
- glMapGrid2f
- glMaterialf
- glMaterialfv
- glMateriali
- glMaterialiv
- glMatrixMode
- glMultMatrixd
- glMultMatrixf
- glNewList
- glNormal3b
- glNormal3bv
- glNormal3d
- glNormal3dv
- glNormal3f
- glNormal3fv
- glNormal3i
- glNormal3iv
- glNormal3s
- glNormal3sv
- glNormalPointer
- glNormalPointerEXT
- glOrtho
- glPassThrough
- glPixelMapfv
- glPixelMapuiv
- glPixelMapusv
- glPixelStoref
- glPixelStorei
- glPixelTransferf
- glPixelTransferi
- glPixelZoom
- glPointParameterfEXT
- glPointParameterfvEXT
- glPointSize
- glPolygonMode
- glPolygonOffset
- glPolygonOffsetEXT
- glPolygonStipple
- glPopAttrib
- glPopClientAttrib
- glPopMatrix
- glPopName
- glPrioritizeTextures
- glPrioritizeTexturesEXT
- glPushAttrib
- glPushClientAttrib
- glPushMatrix
- glPushName
- glRasterPos2d
- glRasterPos2dv
- glRasterPos2f
- glRasterPos2fv
- glRasterPos2i
- glRasterPos2iv
- glRasterPos2s
- glRasterPos2sv
- glRasterPos3d
- glRasterPos3dv
- glRasterPos3f
- glRasterPos3fv
- glRasterPos3i
- glRasterPos3iv
- glRasterPos3s
- glRasterPos3sv
- glRasterPos4d
- glRasterPos4dv
- glRasterPos4f
- glRasterPos4fv
- glRasterPos4i
- glRasterPos4iv
- glRasterPos4s
- glRasterPos4sv
- glReadBuffer
- glReadPixels
- glRectd
- glRectdv
- glRectf
- glRectfv
- glRecti
- glRectiv
- glRects
- glRectsv
- glRenderMode
- glResizeBuffersMESA
- glRotated
- glRotatef
- glScaled
- glScalef
- glScissor
- glSelectBuffer
- glShadeModel
- glStencilFunc
- glStencilMask
- glStencilOp
- glTexCoord1d
- glTexCoord1dv
- glTexCoord1f
- glTexCoord1fv
- glTexCoord1i
- glTexCoord1iv
- glTexCoord1s
- glTexCoord1sv
- glTexCoord2d
- glTexCoord2dv
- glTexCoord2f
- glTexCoord2fv
- glTexCoord2i
- glTexCoord2iv
- glTexCoord2s
- glTexCoord2sv
- glTexCoord3d
- glTexCoord3dv
- glTexCoord3f
- glTexCoord3fv
- glTexCoord3i
- glTexCoord3iv
- glTexCoord3s
- glTexCoord3sv
- glTexCoord4d
- glTexCoord4dv
- glTexCoord4f
- glTexCoord4fv
- glTexCoord4i
- glTexCoord4iv
- glTexCoord4s
- glTexCoord4sv
- glTexCoordPointer
- glTexCoordPointerEXT
- glTexEnvf
- glTexEnvfv
- glTexEnvi
- glTexEnviv
- glTexGend
- glTexGendv
- glTexGenf
- glTexGenfv
- glTexGeni
- glTexGeniv
- glTexImage1D
- glTexImage2D
- glTexImage3DEXT
- glTexParameterf
- glTexParameterfv
- glTexParameteri
- glTexParameteriv
- glTexSubImage1D
- glTexSubImage2D
- glTexSubImage3DEXT
- glTranslated
- glTranslatef
- glVertex2d
- glVertex2dv
- glVertex2f
- glVertex2fv
- glVertex2i
- glVertex2iv
- glVertex2s
- glVertex2sv
- glVertex3d
- glVertex3dv
- glVertex3f
- glVertex3fv
- glVertex3i
- glVertex3iv
- glVertex3s
- glVertex3sv
- glVertex4d
- glVertex4dv
- glVertex4f
- glVertex4fv
- glVertex4i
- glVertex4iv
- glVertex4s
- glVertex4sv
- glVertexPointer
- glVertexPointerEXT
- glViewport
- glWindowPos2dMESA
- glWindowPos2dvMESA
- glWindowPos2fMESA
- glWindowPos2fvMESA
- glWindowPos2iMESA
- glWindowPos2ivMESA
- glWindowPos2sMESA
- glWindowPos2svMESA
- glWindowPos3dMESA
- glWindowPos3dvMESA
- glWindowPos3fMESA
- glWindowPos3fvMESA
- glWindowPos3iMESA
- glWindowPos3ivMESA
- glWindowPos3sMESA
- glWindowPos3svMESA
- glWindowPos4dMESA
- glWindowPos4dvMESA
- glWindowPos4fMESA
- glWindowPos4fvMESA
- glWindowPos4iMESA
- glWindowPos4ivMESA
- glWindowPos4sMESA
- glWindowPos4svMESA
-; WMesaCreateContext
-; WMesaDestroyContext
-; WMesaMakeCurrent
-; WMesaPaletteChange
-; WMesaSwapBuffers
-; OSMesaCreateContext
-; OSMesaDestroyContext
-; OSMesaMakeCurrent
-; OSMesaGetCurrentContext
-; OSMesaPixelStore
-; OSMesaGetIntegerv
-; OSMesaGetDepthBuffer
- wglCopyContext
- wglCreateContext
- wglCreateLayerContext
- wglDeleteContext
-; wglDescribeLayerPlane
- wglGetCurrentContext
- wglGetCurrentDC
-; wglGetLayerPaletteEntries
- wglGetProcAddress
- wglMakeCurrent
-; wglRealizeLayerPalette
-; wglSetLayerPaletteEntries
- wglShareLists
- wglSwapLayerBuffers
- wglUseFontBitmapsA
- wglUseFontBitmapsW
- wglUseFontOutlinesA
- wglUseFontOutlinesW
- wglChoosePixelFormat
- wglDescribePixelFormat
- wglGetPixelFormat
- wglSetPixelFormat
- wglSwapBuffers
-
-
-
diff --git a/src/mesa/drivers/d3d/WGL.C b/src/mesa/drivers/d3d/WGL.C
deleted file mode 100644
index 170d094ed4..0000000000
--- a/src/mesa/drivers/d3d/WGL.C
+++ /dev/null
@@ -1,1262 +0,0 @@
-/*===========================================================================*/
-/* */
-/* Mesa-3.0 Makefile for DirectX 6 */
-/* */
-/* By Leigh McRae */
-/* */
-/* http://www.altsoftware.com/ */
-/* */
-/* Copyright (c) 1998-1997 alt.software inc. All Rights Reserved */
-/*===========================================================================*/
-#include "D3DMesa.h"
-/*===========================================================================*/
-/* Window managment. */
-/*===========================================================================*/
-static BOOL InitOpenGL( HINSTANCE hInst );
-static BOOL TermOpenGL( HINSTANCE hInst );
-static BOOL ResizeContext( GLcontext *ctx );
-static BOOL MakeCurrent( D3DMESACONTEXT *pContext );
-static void DestroyContext( D3DMESACONTEXT *pContext );
-static BOOL UnBindWindow( D3DMESACONTEXT *pContext );
-LONG APIENTRY wglMonitorProc( HWND hwnd, UINT message, UINT wParam, LONG lParam );
-/*===========================================================================*/
-/* Mesa hooks. */
-/*===========================================================================*/
-static void SetupDDPointers( GLcontext *ctx );
-static void SetupSWDDPointers( GLcontext *ctx );
-static void SetupHWDDPointers( GLcontext *ctx );
-static void SetupNULLDDPointers( GLcontext *ctx );
-static const char *RendererString( void );
-
-/* State Management hooks. */
-static void SetColor( GLcontext *ctx, GLubyte r, GLubyte g, GLubyte b, GLubyte a );
-static void ClearColor( GLcontext *ctx, GLubyte r, GLubyte g, GLubyte b, GLubyte a );
-static GLboolean SetBuffer( GLcontext *ctx, GLenum buffer );
-
-/* Window Management hooks. */
-static void GetBufferSize( GLcontext *ctx, GLuint *width, GLuint *height );
-static void SetViewport( GLcontext *ctx, GLint x, GLint y, GLsizei w, GLsizei h );
-static void Flush( GLcontext *ctx );
-
-/* Span rendering hooks. */
-void WSpanRGB( const GLcontext* ctx, GLuint n, GLint x, GLint y, const GLubyte rgb[][3], const GLubyte mask[] );
-void WSpanRGBA( const GLcontext* ctx, GLuint n, GLint x, GLint y, const GLubyte rgba[][4], const GLubyte mask[] );
-void WSpanRGBAMono( const GLcontext* ctx, GLuint n, GLint x, GLint y, const GLubyte mask[] );
-void WPixelsRGBA( const GLcontext* ctx, GLuint n, const GLint x[], const GLint y[], const GLubyte rgba[][4], const GLubyte mask[] );
-void WPixelsRGBAMono( const GLcontext* ctx, GLuint n, const GLint x[], const GLint y[], const GLubyte mask[] );
-void RSpanRGBA( const GLcontext* ctx, GLuint n, GLint x, GLint y, GLubyte rgba[][4] );
-void RPixelsRGBA( const GLcontext* ctx, GLuint n, const GLint x[], const GLint y[], GLubyte rgba[][4], const GLubyte mask[] );
-GLbitfield ClearBuffers( GLcontext *ctx, GLbitfield mask, GLboolean all, GLint x, GLint y, GLint width, GLint height );
-
-/* Primitve rendering hooks. */
-GLboolean RenderVertexBuffer( GLcontext *ctx, GLboolean allDone );
-void RenderOneTriangle( GLcontext *ctx, GLuint v1, GLuint v2, GLuint v3, GLuint pv );
-void RenderOneLine( GLcontext *ctx, GLuint v1, GLuint v2, GLuint pv );
-GLbitfield ClearBuffersD3D( GLcontext *ctx, GLbitfield mask, GLboolean all, GLint x, GLint y, GLint width, GLint height );
-
-/* Texture Management hooks. */
-static void TextureBind( GLcontext *ctx, GLenum target, struct gl_texture_object *tObj );
-static void TextureLoad( GLcontext *ctx, GLenum target, struct gl_texture_object *tObj, GLint level, GLint internalFormat, const struct gl_texture_image *image );
-static void TextureSubImage( GLcontext *ctx, GLenum target, struct gl_texture_object *tObj, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLint internalFormat, const struct gl_texture_image *image );
-/*===========================================================================*/
-/* Global variables. */
-/*===========================================================================*/
-D3DMESACONTEXT *pD3DCurrent,
- *pD3DDefault; /* Thin support context. */
-
-struct __extensions__ ext[] = {
-
- { (PROC)glPolygonOffsetEXT, "glPolygonOffsetEXT" },
- { (PROC)glBlendEquationEXT, "glBlendEquationEXT" },
- { (PROC)glBlendColorEXT, "glBlendColorExt" },
- { (PROC)glVertexPointerEXT, "glVertexPointerEXT" },
- { (PROC)glNormalPointerEXT, "glNormalPointerEXT" },
- { (PROC)glColorPointerEXT, "glColorPointerEXT" },
- { (PROC)glIndexPointerEXT, "glIndexPointerEXT" },
- { (PROC)glTexCoordPointerEXT, "glTexCoordPointer" },
- { (PROC)glEdgeFlagPointerEXT, "glEdgeFlagPointerEXT" },
- { (PROC)glGetPointervEXT, "glGetPointervEXT" },
- { (PROC)glArrayElementEXT, "glArrayElementEXT" },
- { (PROC)glDrawArraysEXT, "glDrawArrayEXT" },
- { (PROC)glAreTexturesResidentEXT, "glAreTexturesResidentEXT" },
- { (PROC)glBindTextureEXT, "glBindTextureEXT" },
- { (PROC)glDeleteTexturesEXT, "glDeleteTexturesEXT" },
- { (PROC)glGenTexturesEXT, "glGenTexturesEXT" },
- { (PROC)glIsTextureEXT, "glIsTextureEXT" },
- { (PROC)glPrioritizeTexturesEXT, "glPrioritizeTexturesEXT" },
- { (PROC)glCopyTexSubImage3DEXT, "glCopyTexSubImage3DEXT" },
- { (PROC)glTexImage3DEXT, "glTexImage3DEXT" },
- { (PROC)glTexSubImage3DEXT, "glTexSubImage3DEXT" },
-};
-
-int qt_ext = sizeof(ext) / sizeof(ext[0]);
-float g_DepthScale,
- g_MaxDepth;
-/*===========================================================================*/
-/* When a process loads this DLL we will setup the linked list for context */
-/* management and create a default context that will support the API until */
-/* the user creates and binds thier own. This THIN default context is useful*/
-/* to have around. */
-/* When the process terminates we will clean up all resources here. */
-/*===========================================================================*/
-/* RETURN: TRUE, FALSE. */
-/*===========================================================================*/
-BOOL APIENTRY DllMain( HINSTANCE hInst, DWORD reason, LPVOID reserved )
-{
- switch( reason )
- {
- case DLL_PROCESS_ATTACH:
- return InitOpenGL( hInst );
-
- case DLL_PROCESS_DETACH:
- return TermOpenGL( hInst );
- }
-
- return TRUE;
-}
-/*===========================================================================*/
-/* The first thing we do when this dll is hit is connect to the dll that has*/
-/* handles all the DirectX 6 rendering. I decided to use another dll as DX6 */
-/* is all C++ and Mesa-3.0 is C (thats a good thing). This way I can write */
-/* the DX6 in C++ and Mesa-3.0 in C without having to worry about linkage. */
-/* I feel this is easy and better then using static wrappers as it is likely */
-/* faster and it allows me to just develope the one without compiling the */
-/* other. */
-/* NOTE that at this point we don't have much other than a very thin context*/
-/* that will support the API calls only to the point of not causing the app */
-/* to crash from the API table being empty. */
-/*===========================================================================*/
-/* RETURN: TRUE, FALSE. */
-/*===========================================================================*/
-static BOOL InitOpenGL( HINSTANCE hInst )
-{
- /* Allocate and clear the default context. */
- pD3DDefault = (PD3DMESACONTEXT)ALLOC( sizeof(D3DMESACONTEXT) );
- if ( pD3DDefault == NULL )
- return FALSE;
- memset( pD3DDefault, 0, sizeof(D3DMESACONTEXT) );
-
- /* Clear the D3D vertex buffer so that values not used will be zero. This */
- /* save me from some redundant work. */
- memset( &D3DTLVertices, 0, sizeof(D3DTLVertices) );
-
- /* Update the link. We uses a circular list so that it is easy to */
- /* add and search. This context will also be used for head and tail.*/
- pD3DDefault->next = pD3DDefault;
-
- /*========================================================================*/
- /* Do all core Mesa stuff. */
- /*========================================================================*/
- pD3DDefault->gl_visual = _mesa_create_visual( TRUE,
- FALSE, /* db_flag */
- GL_FALSE, /* stereo */
- 8,8,8,8, /* r, g, b, a bits */
- 0, /* index bits */
- 16, /* depth_bits */
- 8, /* stencil_bits */
- 8,8,8,8, /* accum_bits */
- 1 );
-
- if ( pD3DDefault->gl_visual == NULL)
- {
- FREE( pD3DDefault );
- return FALSE;
- }
-
- /* Allocate a new Mesa context */
- pD3DDefault->gl_ctx = _mesa_create_context( pD3DDefault->gl_visual, NULL, pD3DDefault, GL_TRUE );
- if ( pD3DDefault->gl_ctx == NULL )
- {
- _mesa_destroy_visual( pD3DDefault->gl_visual );
- FREE( pD3DDefault );
- return FALSE;
- }
-
- /* Allocate a new Mesa frame buffer */
- pD3DDefault->gl_buffer = _mesa_create_framebuffer( pD3DDefault->gl_visual );
- if ( pD3DDefault->gl_buffer == NULL )
- {
- _mesa_destroy_visual( pD3DDefault->gl_visual );
- _mesa_destroy_context( pD3DDefault->gl_ctx );
- FREE( pD3DDefault );
- return FALSE;
- }
- SetupDDPointers( pD3DDefault->gl_ctx );
- _mesa_make_current( pD3DDefault->gl_ctx, pD3DDefault->gl_buffer );
-
- return TRUE;
-}
-/*===========================================================================*/
-/* This function will create a new D3D context but will not create the D3D */
-/* surfaces or even an instance of D3D (see at GetBufferSize). The only stuff*/
-/* done here is the internal Mesa stuff and some Win32 handles. */
-/*===========================================================================*/
-/* RETURN: casted pointer to the context, NULL. */
-/*===========================================================================*/
-HGLRC APIENTRY wglCreateContext( HDC hdc )
-{
- D3DMESACONTEXT *pNewContext;
- DWORD dwCoopFlags = DDSCL_NORMAL;
- RECT rectClient;
- POINT pt;
-
- /* ALLOC and clear the new context. */
- pNewContext = (PD3DMESACONTEXT)ALLOC( sizeof(D3DMESACONTEXT) );
- if ( pNewContext == NULL )
- {
- SetLastError( 0 );
- return (HGLRC)NULL;
- }
- memset( pNewContext, 0, sizeof(D3DMESACONTEXT) );
-
- /*========================================================================*/
- /* Do all core Mesa stuff. */
- /*========================================================================*/
-
- /* TODO: support more then one visual. */
- pNewContext->gl_visual = _mesa_create_visual( TRUE,
- TRUE, /* db_flag */
- GL_FALSE, /* stereo */
- 8,8,8,8, /* r, g, b, a bits */
- 0, /* index bits */
- 16, /* depth_bits */
- 8, /* stencil_bits */
- 16,16,16,16,/* accum_bits */
- 1 );
- if ( pNewContext->gl_visual == NULL)
- {
- FREE( pNewContext );
- SetLastError( 0 );
- return (HGLRC)NULL;
- }
-
- /* Allocate a new Mesa context */
- pNewContext->gl_ctx = _mesa_create_context( pNewContext->gl_visual, NULL, pNewContext, GL_TRUE );
- if ( pNewContext->gl_ctx == NULL )
- {
- _mesa_destroy_visual( pNewContext->gl_visual );
- FREE( pNewContext );
- SetLastError( 0 );
- return (HGLRC)NULL;
- }
-
- /* Allocate a new Mesa frame buffer */
- pNewContext->gl_buffer = _mesa_create_framebuffer( pNewContext->gl_visual );
- if ( pNewContext->gl_buffer == NULL )
- {
- _mesa_destroy_visual( pNewContext->gl_visual );
- _mesa_destroy_context( pNewContext->gl_ctx );
- FREE( pNewContext );
- SetLastError( 0 );
- return (HGLRC)NULL;
- }
-
- /*========================================================================*/
- /* Do all the driver stuff. */
- /*========================================================================*/
- pNewContext->hdc = hdc;
- pNewContext->next = pD3DDefault->next;
- pD3DDefault->next = pNewContext; /* Add to circular list. */
-
- /* Create the HAL for the new context. */
- pNewContext->pShared = InitHAL( WindowFromDC(hdc) );
-
- return (HGLRC)pNewContext;
-}
-/*===========================================================================*/
-/* This is a wrapper function that is supported by MakeCurrent. */
-/*===========================================================================*/
-/* RETURN: TRUE, FALSE. */
-/*===========================================================================*/
-BOOL APIENTRY wglMakeCurrent( HDC hdc, HGLRC hglrc )
-{
- return MakeCurrent((D3DMESACONTEXT *)hglrc);
-}
-/*===========================================================================*/
-/* MakeCurrent will unbind whatever context is current (if any) & then bind */
-/* the supplied context. A context that is bound has it's window proc hooked*/
-/* with the wglMonitorProc and the context pointer is saved in pD3DCurrent. */
-/* Once the context is bound we update the Mesa-3.0 hooks (SetDDPointers) and*/
-/* the viewport (Mesa-.30 and DX6). */
-/* */
-/* TODO: this function can't fail. */
-/*===========================================================================*/
-/* RETURN: TRUE */
-/*===========================================================================*/
-static BOOL MakeCurrent( D3DMESACONTEXT *pContext )
-{
- D3DMESACONTEXT *pNext;
-
- /*====================================================================*/
- /* This is a special case that is a request to have no context bound. */
- /*====================================================================*/
- if ( pContext == NULL )
- {
- /* Walk the whole list. We start and end at the Default context. */
- for( pNext = pD3DDefault->next; pNext != pD3DDefault; pNext = pNext->next )
- UnBindWindow( pNext );
-
- return TRUE;
- }
-
- /*=================================================*/
- /* Make for a fast redundant use of this function. */
- /*=================================================*/
- if ( pD3DCurrent == pContext )
- return TRUE;
-
- /*=============================*/
- /* Unbind the current context. */
- /*=============================*/
- UnBindWindow( pD3DCurrent );
-
- /*=====================================*/
- /* Let Mesa-3.0 we have a new context. */
- /*=====================================*/
- SetupDDPointers( pContext->gl_ctx );
- _mesa_make_current( pContext->gl_ctx, pContext->gl_buffer );
-
- /* We are done so set the internal current context. */
- if ( pContext != pD3DDefault )
- {
- ResizeContext( pContext->gl_ctx );
- pContext->hOldProc = (WNDPROC)GetWindowLong( pContext->pShared->hwnd, GWL_WNDPROC );
- SetWindowLong( pContext->pShared->hwnd, GWL_WNDPROC, (LONG)wglMonitorProc );
- }
- pD3DCurrent = pContext;
-
- return TRUE;
-}
-/*===========================================================================*/
-/* This function will only return the current window size. I have re-done */
-/* this function so that it doesn't check the current size and react to it as*/
-/* I should be able to have all the react code in the WM_SIZE message. The */
-/* old version would check the current window size and create/resize the HAL */
-/* surfaces if they have changed. I needed to delay the creation if the */
-/* surfaces because sometimes I wouldn't have a window size so this is where */
-/* I delayed it. If you are reading this then all went ok! */
-/* The default context will return a zero sized window and I'm not sure if */
-/* this is ok at this point (TODO). */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-static void GetBufferSize( GLcontext *ctx, GLuint *width, GLuint *height )
-{
- D3DMESACONTEXT *pContext = (D3DMESACONTEXT *)ctx->DriverCtx;
-
- /* Fall through for the default because that is one of the uses for it. */
- if ( pContext == pD3DDefault )
- {
- *width = 0;
- *height = 0;
- }
- else
- {
- *width = pContext->pShared->dwWidth;
- *height = pContext->pShared->dwHeight;
- }
-}
-/*===========================================================================*/
-/* */
-/* */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-static BOOL ResizeContext( GLcontext *ctx )
-{
- D3DMESACONTEXT *pContext = (D3DMESACONTEXT *)ctx->DriverCtx,
- *pCurrentTemp;
- RECT rectClient;
- POINT pt;
- DWORD dwWidth,
- dwHeight;
- static BOOL bDDrawLock = FALSE;
-
- /* Make sure we have some values. */
- if ( (pContext->hdc == NULL ) ||
- (pContext->pShared->hwnd != WindowFromDC(pContext->hdc)) ||
- (pContext == pD3DDefault) )
- return FALSE;
-
- /* Having problems with DDraw sending resize messages before I was done. */
- if( bDDrawLock == TRUE )
- return FALSE;
-
- // TODO: don't think I need this anymore.
- pCurrentTemp = pD3DCurrent;
- pD3DCurrent = pD3DDefault;
- bDDrawLock = TRUE;
-
- /* Get the current window dimentions. */
- UpdateScreenPosHAL( pContext->pShared );
- dwWidth = pContext->pShared->rectW.right - pContext->pShared->rectW.left;
- dwHeight = pContext->pShared->rectW.bottom - pContext->pShared->rectW.top;
-
- /* Is the size of the OffScreen Render different? */
- if ( (dwWidth != pContext->pShared->dwWidth) || (dwHeight != pContext->pShared->dwHeight) )
- {
- /* Create all the D3D surfaces and device. */
- CreateHAL( pContext->pShared );
-
- /* I did this so that software rendering would still work as */
- /* I don't need to scale the z values twice. */
- g_DepthScale = (pContext->pShared->bHardware) ? 1.0 : ((float)0x00FFFFFF);
- g_MaxDepth = (pContext->pShared->bHardware) ? 1.0 : ((float)0x00FFFFFF);
- gl_DepthRange( pContext->gl_ctx, ctx->Viewport.Near, ctx->Viewport.Far );
-
- /* Make sure we have a viewport. */
- gl_Viewport( pContext->gl_ctx, 0, 0, dwWidth, dwHeight );
-
- /* Update Mesa as we might have changed from SW <-> HW. */
- SetupDDPointers( pContext->gl_ctx );
- _mesa_make_current( pContext->gl_ctx, pContext->gl_buffer );
-
- /* If we are in HW we need to load the current texture if there is one already. */
- // if ( (ctx->Texture.Set[ctx->Texture.CurrentSet].Current != NULL) &&
- // (pContext->pShared->bHardware == TRUE) )
- // {
- // CreateTMgrHAL( pContext->pShared,
- // ctx->Texture.Set[ctx->Texture.CurrentSet].Current->Name,
- // 0,
- // ctx->Texture.Set[ctx->Texture.CurrentSet].Current->Image[0]->Format,
- // (RECT *)NULL,
- // ctx->Texture.Set[ctx->Texture.CurrentSet].Current->Image[0]->Width,
- // ctx->Texture.Set[ctx->Texture.CurrentSet].Current->Image[0]->Height,
- // TM_ACTION_BIND,
- // (void *)ctx->Texture.Set[ctx->Texture.CurrentSet].Current->Image[0]->Data );
- // }
- }
-
- // TODO: don't think I need this anymore.
- pD3DCurrent = pCurrentTemp;
- bDDrawLock = FALSE;
-
- return TRUE;
-}
-
-/*===========================================================================*
-/* This function will Blt the render buffer to the PRIMARY surface. I repeat*/
-/* this code for the other SwapBuffer like functions and the flush (didn't */
-/* want the function calling overhead). Thsi could have been a macro... */
-/* */
-/* TODO: there are some problems with viewport/scissoring. */
-/*===========================================================================*/
-/* RETURN: TRUE, FALSE. */
-/*===========================================================================*/
-BOOL APIENTRY wglSwapBuffers( HDC hdc )
-{
- /* Fall through for the default because that is one of the uses for it. */
- if ( pD3DCurrent == pD3DDefault )
- return FALSE;
-
- SwapBuffersHAL( pD3DCurrent->pShared );
-
- return TRUE;
-}
-/*===========================================================================*/
-/* Same as wglSwapBuffers. */
-/*===========================================================================*/
-/* RETURN: TRUE, FALSE. */
-/*===========================================================================*/
-BOOL APIENTRY SwapBuffers( HDC hdc )
-{
- /* Fall through for the default because that is one of the uses for it. */
- if ( pD3DCurrent == pD3DDefault )
- return FALSE;
-
- SwapBuffersHAL( pD3DCurrent->pShared );
-
- return TRUE;
-}
-/*===========================================================================*/
-/* This should be ok as none of the SwapBuffers will cause a redundant Blt */
-/* as none of my Swap functions will call flush. This should also allow */
-/* sinlge buffered applications to work (not really worried though). Some */
-/* applications may flush then swap but then this is there fault IMHO. */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-static void Flush( GLcontext *ctx )
-{
- /* Fall through for the default because that is one of the uses for it. */
- if ( pD3DCurrent == pD3DDefault )
- return;
-
- SwapBuffersHAL( pD3DCurrent->pShared );
-}
-/*===========================================================================*/
-/* For now this function will ignore the supplied PF. If I'm going to allow */
-/* the user to choice the mode and device at startup I'm going to have to do */
-/* something different. */
-/* */
-/* TODO: use the linked list of modes to build a pixel format to be returned */
-/* to the caller. */
-/*===========================================================================*/
-/* RETURN: 1. */
-/*===========================================================================*/
-int APIENTRY wglChoosePixelFormat( HDC hdc, CONST PIXELFORMATDESCRIPTOR *ppfd )
-{
- return 1;
-}
-/*===========================================================================*/
-/* See wglChoosePixelFormat. */
-/*===========================================================================*/
-/* RETURN: 1. */
-/*===========================================================================*/
-int APIENTRY ChoosePixelFormat( HDC hdc, CONST PIXELFORMATDESCRIPTOR *ppfd )
-{
- return wglChoosePixelFormat(hdc,ppfd);
-}
-/*===========================================================================*/
-/* This function (for now) returns a static PF everytime. This is just to */
-/* allow things to continue. */
-/*===========================================================================*/
-/* RETURN: 1. */
-/*===========================================================================*/
-int APIENTRY wglDescribePixelFormat( HDC hdc, int iPixelFormat, UINT nBytes, LPPIXELFORMATDESCRIPTOR ppfd )
-{
- static PIXELFORMATDESCRIPTOR pfd =
- {
- sizeof(PIXELFORMATDESCRIPTOR), /* size */
- 1, /* version */
- PFD_SUPPORT_OPENGL |
- PFD_DRAW_TO_WINDOW |
- PFD_DOUBLEBUFFER, /* support double-buffering */
- PFD_TYPE_RGBA, /* color type */
- 16, /* prefered color depth */
- 0, 0, 0, 0, 0, 0, /* color bits (ignored) */
- 0, /* no alpha buffer */
- 0, /* alpha bits (ignored) */
- 0, /* no accumulation buffer */
- 0, 0, 0, 0, /* accum bits (ignored) */
- 16, /* depth buffer */
- 0, /* no stencil buffer */
- 0, /* no auxiliary buffers */
- PFD_MAIN_PLANE, /* main layer */
- 0, /* reserved */
- 0, 0, 0, /* no layer, visible, damage masks */
- };
-
- /* Return the address of this static PF if one was requested. */
- if ( ppfd != NULL )
- memcpy( ppfd, &pfd, sizeof(PIXELFORMATDESCRIPTOR) );
-
- return 1;
-}
-/*===========================================================================*/
-/* See wglDescribePixelFormat. */
-/*===========================================================================*/
-/* RETURN: 1. */
-/*===========================================================================*/
-int APIENTRY DescribePixelFormat( HDC hdc, int iPixelFormat, UINT nBytes, LPPIXELFORMATDESCRIPTOR ppfd )
-{
- return wglDescribePixelFormat(hdc,iPixelFormat,nBytes,ppfd);
-}
-/*===========================================================================*/
-/* This function will always return 1 for now. Just to allow for support. */
-/*===========================================================================*/
-/* RETURN: 1. */
-/*===========================================================================*/
-int APIENTRY wglGetPixelFormat( HDC hdc )
-{
- return 1;
-}
-/*===========================================================================*/
-/* See wglGetPixelFormat. */
-/*===========================================================================*/
-/* RETURN: 1. */
-/*===========================================================================*/
-int APIENTRY GetPixelFormat( HDC hdc )
-{
- return wglGetPixelFormat(hdc);
-}
-/*===========================================================================*/
-/* This will aways work for now. */
-/*===========================================================================*/
-/* RETURN: TRUE. */
-/*===========================================================================*/
-BOOL APIENTRY wglSetPixelFormat( HDC hdc, int iPixelFormat, CONST PIXELFORMATDESCRIPTOR *ppfd )
-{
- return TRUE;
-}
-/*===========================================================================*/
-/* See wglSetPixelFormat. */
-/*===========================================================================*/
-/* RETURN: TRUE, FALSE. */
-/*===========================================================================*/
-BOOL APIENTRY SetPixelFormat( HDC hdc, int iPixelFormat, CONST PIXELFORMATDESCRIPTOR *ppfd )
-{
- return wglSetPixelFormat(hdc,iPixelFormat,ppfd);
-}
-/*===========================================================================*/
-/* This is a wrapper function that is supported by my own internal function.*/
-/* that takes my own D3D Mesa context structure. This so I can reuse the */
-/* function (no need for speed). */
-/*===========================================================================*/
-/* RETURN: TRUE. */
-/*===========================================================================*/
-BOOL APIENTRY wglDeleteContext( HGLRC hglrc )
-{
- DestroyContext( (D3DMESACONTEXT *)hglrc );
-
- return TRUE;
-}
-/*===========================================================================*/
-/* Simple getter function that uses a cast. */
-/*===========================================================================*/
-/* RETURN: casted pointer to the context, NULL. */
-/*===========================================================================*/
-HGLRC APIENTRY wglGetCurrentContext( VOID )
-{
- return (pD3DCurrent) ? (HGLRC)pD3DCurrent : (HGLRC)NULL;
-}
-/*===========================================================================*/
-/* No support. */
-/*===========================================================================*/
-/* RETURN: FALSE. */
-/*===========================================================================*/
-BOOL APIENTRY wglCopyContext( HGLRC hglrcSrc, HGLRC hglrcDst, UINT mask )
-{
- SetLastError( 0 );
- return FALSE;
-}
-/*===========================================================================*/
-/* No support. */
-/*===========================================================================*/
-/* RETURN: NULL. */
-/*===========================================================================*/
-HGLRC APIENTRY wglCreateLayerContext( HDC hdc,int iLayerPlane )
-{
- SetLastError( 0 );
- return (HGLRC)NULL;
-}
-/*===========================================================================*/
-/* Simple getter function. */
-/*===========================================================================*/
-/* RETURN: FALSE. */
-/*===========================================================================*/
-HDC APIENTRY wglGetCurrentDC( VOID )
-{
- return (pD3DCurrent) ? pD3DCurrent->hdc : (HDC)NULL;
-}
-/*===========================================================================*/
-/* Simply call that searches the supported extensions for a match & returns */
-/* the pointer to the function that lends support. */
-/*===========================================================================*/
-/* RETURN: pointer to API call, NULL. */
-/*===========================================================================*/
-PROC APIENTRY wglGetProcAddress( LPCSTR lpszProc )
-{
- int index;
-
- for( index = 0; index < qt_ext; index++ )
- if( !strcmp(lpszProc,ext[index].name) )
- return ext[index].proc;
-
- SetLastError( 0 );
- return NULL;
-}
-/*===========================================================================*/
-/* No support. */
-/*===========================================================================*/
-/* RETURN: FALSE. */
-/*===========================================================================*/
-BOOL APIENTRY wglShareLists( HGLRC hglrc1, HGLRC hglrc2 )
-{
- SetLastError( 0 );
- return FALSE;
-}
-/*===========================================================================*/
-/* No support. */
-/*===========================================================================*/
-/* RETURN: FALSE. */
-/*===========================================================================*/
-BOOL APIENTRY wglUseFontBitmaps( HDC fontDevice, DWORD firstChar, DWORD numChars, DWORD listBase )
-{
- SetLastError( 0 );
- return FALSE;
-}
-/*===========================================================================*/
-/* No support. */
-/*===========================================================================*/
-/* RETURN: FALSE. */
-/*===========================================================================*/
-BOOL APIENTRY wglUseFontBitmapsW( HDC hdc,DWORD first,DWORD count,DWORD listBase )
-{
- SetLastError( 0 );
- return FALSE;
-}
-/*===========================================================================*/
-/* No support. */
-/*===========================================================================*/
-/* RETURN: FALSE. */
-/*===========================================================================*/
-BOOL APIENTRY wglUseFontOutlinesA( HDC hdc, DWORD first, DWORD count, DWORD listBase, FLOAT deviation, FLOAT extrusion, int format, LPGLYPHMETRICSFLOAT lpgmf )
-{
- SetLastError( 0 );
- return FALSE;
-}
-/*===========================================================================*/
-/* No support. */
-/*===========================================================================*/
-/* RETURN: FALSE. */
-/*===========================================================================*/
-BOOL APIENTRY wglUseFontOutlinesW( HDC hdc,DWORD first,DWORD count, DWORD listBase,FLOAT deviation, FLOAT extrusion,int format, LPGLYPHMETRICSFLOAT lpgmf )
-{
- SetLastError( 0 );
- return FALSE ;
-}
-/*===========================================================================*/
-/* No support. */
-/*===========================================================================*/
-/* RETURN: FALSE. */
-/*===========================================================================*/
-BOOL APIENTRY wglSwapLayerBuffers( HDC hdc, UINT fuPlanes )
-{
- SetLastError( 0 );
- return FALSE;
-}
-/*===========================================================================*/
-/* This function will be hooked into the window that has been bound. Right */
-/* now it is used to track the window size and position. Also the we clean */
-/* up the currrent context when the window is close/destroyed. */
-/* */
-/* TODO: there might be something wrong here as some games (Heretic II) don't*/
-/* track the window quit right. */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-LONG APIENTRY wglMonitorProc( HWND hwnd, UINT message, UINT wParam, LONG lParam )
-{
- WNDPROC hOldProc;
- GLint width,
- height;
-
- switch( message )
- {
-// case WM_PAINT:
-// break;
-// case WM_ACTIVATE:
-// break;
-// case WM_SHOWWINDOW:
-// break;
-
- case UM_FATALSHUTDOWN:
- /* Support the API until we die... */
- MakeCurrent( pD3DDefault );
- break;
-
- case WM_MOVE:
- case WM_DISPLAYCHANGE:
- case WM_SIZE:
- ResizeContext( pD3DCurrent->gl_ctx );
- break;
-
- case WM_CLOSE:
- case WM_DESTROY:
- /* Support the API until we die... */
- hOldProc = pD3DCurrent->hOldProc;
- DestroyContext( pD3DCurrent );
- return (hOldProc)(hwnd,message,wParam,lParam);
- }
-
- return (pD3DCurrent->hOldProc)(hwnd,message,wParam,lParam);
-}
-
-/**********************************************************************/
-/***** Miscellaneous device driver funcs *****/
-/**********************************************************************/
-
-/*===========================================================================*/
-/* Not reacting to this as I'm only supporting drawing to the back buffer */
-/* right now. */
-/*===========================================================================*/
-/* RETURN: TRUE. */
-/*===========================================================================*/
-static GLboolean SetBuffer( GLcontext *ctx, GLenum buffer )
-{
- if (buffer == GL_BACK_LEFT)
- return GL_TRUE;
- else
- return GL_FALSE;
-}
-/*===========================================================================*/
-/* This proc will be called by Mesa when the viewport has been set. So if */
-/* we have a context and it isn't the default then we should let D3D know of */
-/* the change. */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-static void SetViewport( GLcontext *ctx, GLint x, GLint y, GLsizei w, GLsizei h )
-{
- D3DMESACONTEXT *pContext = (D3DMESACONTEXT *)ctx->DriverCtx;
- RECT rect;
-
- /* Make sure we can set a viewport. */
- if ( pContext->pShared && (pContext != pD3DDefault) )
- {
- // TODO: might be needed.
- UpdateScreenPosHAL( pContext->pShared );
- rect.left = x;
- rect.right = x + w;
- rect.top = y;
- rect.bottom = y + h;
-
- // TODO: shared struct should make this call smaller
- SetViewportHAL( pContext->pShared, &rect, 0.0F, 1.0F );
- }
-}
-/*===========================================================================*/
-/* This function could be better I guess but I decided just to grab the four*/
-/* components and store then seperately. Makes it easier to use IMHO. */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-static void ClearColor( GLcontext *ctx, GLubyte r, GLubyte g, GLubyte b, GLubyte a )
-{
- D3DMESACONTEXT *pContext = (D3DMESACONTEXT *)ctx->DriverCtx;
-
- pContext->aClear = a;
- pContext->bClear = b;
- pContext->gClear = g;
- pContext->rClear = r;
-}
-/*===========================================================================*/
-/* This function could be better I guess but I decided just to grab the four*/
-/* components and store then seperately. Makes it easier to use IMHO. */
-/* (is there an echo in here?) */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-static void SetColor( GLcontext *ctx, GLubyte r, GLubyte g, GLubyte b, GLubyte a )
-{
- D3DMESACONTEXT *pContext = (D3DMESACONTEXT *)ctx->DriverCtx;
-
- pContext->aCurrent = a;
- pContext->bCurrent = b;
- pContext->gCurrent = g;
- pContext->rCurrent = r;
-}
-/*===========================================================================*/
-/* */
-/* */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-static const char *RendererString( void )
-{
- static char pszRender[64];
-
- strcpy( pszRender, "altD3D " );
-
- if ( pD3DCurrent->pShared->bHardware )
- strcat( pszRender, "(HW)");
- else
- strcat( pszRender, "(SW)");
-
- return (const char *)pszRender;
-}
-/*===========================================================================*/
-/* This function will choose which set of pointers Mesa will use based on */
-/* whether we hard using hardware or software. I have added another set of */
-/* pointers that will do nothing but stop the API from crashing. */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-static void SetupDDPointers( GLcontext *ctx )
-{
- D3DMESACONTEXT *pContext = (D3DMESACONTEXT *)ctx->DriverCtx;
-
- // TODO: write a generic NULL support for the span render.
- if ( pContext->pShared && pContext->pShared->bHardware )
- {
- ctx->Driver.UpdateState = SetupHWDDPointers;
- }
- else if ( pContext == pD3DDefault )
- {
- ctx->Driver.UpdateState = SetupNULLDDPointers;
- }
- else
- {
- ctx->Driver.UpdateState = SetupSWDDPointers;
- }
-}
-/*===========================================================================*/
-/* This function will populate all the Mesa driver hooks. This version of */
-/* hooks will do nothing but support the API when we don't have a valid */
-/* context bound. This is mostly for applications that don't behave right */
-/* and also to help exit as clean as possable when we have a FatalError. */
-/*===========================================================================*/
-/* RETURN: pointer to the specific function. */
-/*===========================================================================*/
-static void SetupNULLDDPointers( GLcontext *ctx )
-{
- D3DMESACONTEXT *pContext = (D3DMESACONTEXT *)ctx->DriverCtx;
-
- /* Initialize all the pointers in the DD struct. Do this whenever */
- /* a new context is made current or we change buffers via set_buffer! */
- ctx->Driver.UpdateState = SetupNULLDDPointers;
-
- /* State management hooks. */
- ctx->Driver.Color = NULLSetColor;
- ctx->Driver.ClearColor = NULLClearColor;
- ctx->Driver.Clear = NULLClearBuffers;
- ctx->Driver.SetBuffer = NULLSetBuffer;
-
- /* Window management hooks. */
- ctx->Driver.GetBufferSize = NULLGetBufferSize;
-
- /* Primitive rendering hooks. */
- ctx->Driver.TriangleFunc = NULL;
- ctx->Driver.RenderVB = NULL;
-
- /* Pixel/span writing functions: */
- ctx->Driver.WriteRGBASpan = NULLWrSpRGBA;
- ctx->Driver.WriteRGBSpan = NULLWrSpRGB;
- ctx->Driver.WriteMonoRGBASpan = NULLWrSpRGBAMono;
- ctx->Driver.WriteRGBAPixels = NULLWrPiRGBA;
- ctx->Driver.WriteMonoRGBAPixels = NULLWrPiRGBAMono;
-
- /* Pixel/span reading functions: */
- ctx->Driver.ReadRGBASpan = NULLReSpRGBA;
- ctx->Driver.ReadRGBAPixels = NULLRePiRGBA;
-
- /* Misc. hooks. */
- ctx->Driver.RendererString = RendererString;
-}
-/*===========================================================================*/
-/* This function will populate all the Mesa driver hooks. There are two of */
-/* these functions. One if we have hardware support and one is there is only*/
-/* software. These functions will be called by Mesa and by the wgl.c when we*/
-/* have resized (or created) the buffers. The thing is that if a window gets*/
-/* resized we may loose hardware support or gain it... */
-/*===========================================================================*/
-/* RETURN: pointer to the specific function. */
-/*===========================================================================*/
-static void SetupSWDDPointers( GLcontext *ctx )
-{
- D3DMESACONTEXT *pContext = (D3DMESACONTEXT *)ctx->DriverCtx;
-
- /* Initialize all the pointers in the DD struct. Do this whenever */
- /* a new context is made current or we change buffers via set_buffer! */
- ctx->Driver.UpdateState = SetupSWDDPointers;
-
- /* State management hooks. */
- ctx->Driver.Color = SetColor;
- ctx->Driver.ClearColor = ClearColor;
- ctx->Driver.Clear = ClearBuffers;
- ctx->Driver.SetBuffer = SetBuffer;
-
- /* Window management hooks. */
- ctx->Driver.GetBufferSize = GetBufferSize;
- ctx->Driver.Viewport = SetViewport;
-
- /* Primitive rendering hooks. */
- ctx->Driver.TriangleFunc = NULL;
- ctx->Driver.RenderVB = NULL;
-
- /* Texture management hooks. */
-
- /* Pixel/span writing functions: */
- ctx->Driver.WriteRGBASpan = WSpanRGBA;
- ctx->Driver.WriteRGBSpan = WSpanRGB;
- ctx->Driver.WriteMonoRGBASpan = WSpanRGBAMono;
- ctx->Driver.WriteRGBAPixels = WPixelsRGBA;
- ctx->Driver.WriteMonoRGBAPixels = WPixelsRGBAMono;
-
- /* Pixel/span reading functions: */
- ctx->Driver.ReadRGBASpan = RSpanRGBA;
- ctx->Driver.ReadRGBAPixels = RPixelsRGBA;
-
- /* Misc. hooks. */
- ctx->Driver.Flush = Flush;
- ctx->Driver.RendererString = RendererString;
-}
-/*===========================================================================*/
-/* This function will populate all the Mesa driver hooks. There are two of */
-/* these functions. One if we have hardware support and one is there is only*/
-/* software. These functions will be called by Mesa and by the wgl.c when we*/
-/* have resized (or created) the buffers. The thing is that if a window gets*/
-/* resized we may loose hardware support or gain it... */
-/*===========================================================================*/
-/* RETURN: pointer to the specific function. */
-/*===========================================================================*/
-static void SetupHWDDPointers( GLcontext *ctx )
-{
- D3DMESACONTEXT *pContext = (D3DMESACONTEXT *)ctx->DriverCtx;
-
- /* Initialize all the pointers in the DD struct. Do this whenever */
- /* a new context is made current or we change buffers via set_buffer! */
- ctx->Driver.UpdateState = SetupHWDDPointers;
-
- /* State management hooks. */
- ctx->Driver.Color = SetColor;
- ctx->Driver.ClearColor = ClearColor;
- ctx->Driver.Clear = ClearBuffersD3D;
- ctx->Driver.SetBuffer = SetBuffer;
-
- /* Window management hooks. */
- ctx->Driver.GetBufferSize = GetBufferSize;
- ctx->Driver.Viewport = SetViewport;
-
- /* Primitive rendering hooks. */
- ctx->Driver.TriangleFunc = RenderOneTriangle;
- ctx->Driver.LineFunc = RenderOneLine;
- ctx->Driver.RenderVB = RenderVertexBuffer;
-
- /* Pixel/span writing functions: */
- ctx->Driver.WriteRGBASpan = WSpanRGBA;
- ctx->Driver.WriteRGBSpan = WSpanRGB;
- ctx->Driver.WriteMonoRGBASpan = WSpanRGBAMono;
- ctx->Driver.WriteRGBAPixels = WPixelsRGBA;
- ctx->Driver.WriteMonoRGBAPixels = WPixelsRGBAMono;
-
- /* Pixel/span reading functions: */
- ctx->Driver.ReadRGBASpan = RSpanRGBA;
- ctx->Driver.ReadRGBAPixels = RPixelsRGBA;
-
- /* Texture management hooks. */
- // ctx->Driver.BindTexture = TextureBind;
- ctx->Driver.TexImage = TextureLoad;
- ctx->Driver.TexSubImage = TextureSubImage;
-
- /* Misc. hooks. */
- ctx->Driver.Flush = Flush;
- ctx->Driver.RendererString = RendererString;
-}
-/*===========================================================================*/
-/* This function will release all resources used by the DLL. Every context */
-/* will be clobbered by releaseing all driver desources and then freeing the */
-/* context memory. Most all the work is done in DestroyContext. */
-/*===========================================================================*/
-/* RETURN: TRUE. */
-/*===========================================================================*/
-static BOOL TermOpenGL( HINSTANCE hInst )
-{
- D3DMESACONTEXT *pTmp,
- *pNext;
-
- /* Just incase we are still getting paint msg. */
- MakeCurrent( pD3DDefault );
-
- /* Walk the list until we get back to the default context. */
- for( pTmp = pD3DDefault->next; pTmp != pD3DDefault; pTmp = pNext )
- {
- pNext = pTmp->next;
- DestroyContext( pTmp );
- }
- DestroyContext( pD3DDefault );
-
- return TRUE;
-}
-/*===========================================================================*/
-/* This function is an internal function that will clean up all the Mesa */
-/* context bound to this D3D context. Also any D3D stuff that this context */
-/* uses will be unloaded. */
-/*===========================================================================*/
-/* RETURN: TRUE, FALSE. */
-/*===========================================================================*/
-static void DestroyContext( D3DMESACONTEXT *pContext )
-{
- D3DMESACONTEXT *pTmp;
-
- /* Walk the list until we find the context before this one. */
- for( pTmp = pD3DDefault; pTmp && (pTmp->next != pContext); pTmp = pTmp->next )
- if ( pTmp == pTmp->next )
- break;
-
- /* If we never found it it must already be deleted. */
- if ( pTmp->next != pContext )
- return;
-
- /* Make sure we are not using this context. */
- if ( pContext == pD3DCurrent )
- MakeCurrent( pD3DDefault );
-
- /* Free the Mesa stuff. */
- if ( pContext->gl_visual )
- {
- _mesa_destroy_visual( pContext->gl_visual );
- pContext->gl_visual = NULL;
- }
- if ( pContext->gl_buffer )
- {
- _mesa_destroy_framebuffer( pContext->gl_buffer );
- pContext->gl_buffer = NULL;
- }
- if ( pContext->gl_ctx )
- {
- _mesa_destroy_context( pContext->gl_ctx );
- pContext->gl_ctx = NULL;
- }
-
- /* Now dump the D3D. */
- if ( pContext->pShared )
- TermHAL( pContext->pShared );
-
- /* Update the previous context's link. */
- pTmp->next = pContext->next;
-
- /* Gonzo. */
- FREE( pContext );
-}
-/*===========================================================================*/
-/* This function will pull the supplied context away from Win32. Basicly it*/
-/* will remove the hook from the window Proc. */
-/* */
-/* TODO: might want to serialize this stuff... */
-/*===========================================================================*/
-/* RETURN: TRUE, FALSE. */
-/*===========================================================================*/
-static BOOL UnBindWindow( D3DMESACONTEXT *pContext )
-{
- if ( pContext == NULL )
- return FALSE;
-
- if ( pContext == pD3DDefault )
- return TRUE;
-
- /* Make sure we always have a context bound. */
- if ( pContext == pD3DCurrent )
- pD3DCurrent = pD3DDefault;
-
- SetWindowLong( pContext->pShared->hwnd, GWL_WNDPROC, (LONG)pContext->hOldProc );
- pContext->hOldProc = NULL;
-
- return TRUE;
-}
-/*===========================================================================*/
-/* There are two cases that allow for a faster clear when we know that the */
-/* whole buffer is cleared and that there is no clipping. */
-/*===========================================================================*/
-/* RETURN: the original mask with the bits cleared that represents the buffer*
-/* or buffers we just cleared. */
-/*===========================================================================*/
-GLbitfield ClearBuffersD3D( GLcontext *ctx, GLbitfield mask, GLboolean all, GLint x, GLint y, GLint width, GLint height )
-{
- D3DMESACONTEXT *pContext = (D3DMESACONTEXT *)ctx->DriverCtx;
- DWORD dwFlags = 0;
-
- if ( mask & GL_COLOR_BUFFER_BIT )
- {
- dwFlags |= D3DCLEAR_TARGET;
- mask &= ~GL_COLOR_BUFFER_BIT;
- }
- if ( mask & GL_DEPTH_BUFFER_BIT )
- {
- dwFlags |= D3DCLEAR_ZBUFFER;
- mask &= ~GL_DEPTH_BUFFER_BIT;
- }
- if ( dwFlags == 0 )
- return mask;
-
- ClearHAL( pContext->pShared,
- dwFlags,
- all,
- x, y,
- width, height,
- ((pContext->aClear<<24) | (pContext->rClear<<16) | (pContext->gClear<<8) | (pContext->bClear)),
- ctx->Depth.Clear,
- 0 );
-
- return mask;
-}
-
-
-
-/*===========================================================================*/
-/* TEXTURE MANAGER: ok here is how I did textures. Mesa-3.0 will keep track*/
-/* of all the textures for us. So this means that at anytime we can go to */
-/* the Mesa context and get the current texture. With this in mind this is */
-/* what I did. I really don't care about what textures get or are loaded */
-/* until I actually have to draw a tri that is textured. At this point I */
-/* must have the texture so I demand the texture by destorying all other */
-/* texture surfaces if need be and load the current one. This allows for the*/
-/* best preformance on low memory cards as time is not wasted loading and */
-/* unload textures. */
-/*===========================================================================*/
-
-
-
-
-
-/*===========================================================================*/
-/* TextureLoad will try and create a D3D surface from the supplied texture */
-/* object if its level 0 (first). The surface will be fully filled with the */
-/* texture. */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-static void TextureLoad( GLcontext *ctx, GLenum target, struct gl_texture_object *tObj, GLint level, GLint internalFormat, const struct gl_texture_image *image )
-{
- D3DMESACONTEXT *pContext = (D3DMESACONTEXT *)ctx->DriverCtx;
-
- /* TODO: only doing first LOD. */
- if ( (ctx->DriverCtx == NULL) || (level != 0) )
- return;
-
- CreateTMgrHAL( pContext->pShared,
- tObj->Name,
- level,
- tObj->Image[level]->Format,
- (RECT *)NULL,
- tObj->Image[level]->Width,
- tObj->Image[level]->Height,
- TM_ACTION_LOAD,
- (void *)tObj->Image[level]->Data );
-}
-/*===========================================================================*/
-/* TextureBind make sure that the texture is on the card. Thats it. */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-static void TextureBind( GLcontext *ctx, GLenum target, struct gl_texture_object *tObj )
-{
- D3DMESACONTEXT *pContext = (D3DMESACONTEXT *)ctx->DriverCtx;
-
- /* TODO: only doing first LOD. */
- if ( (tObj->Image[0] == NULL) || (ctx->DriverCtx == NULL) )
- return;
-
- CreateTMgrHAL( pContext->pShared,
- tObj->Name,
- 0,
- tObj->Image[0]->Format,
- (RECT *)NULL,
- tObj->Image[0]->Width,
- tObj->Image[0]->Height,
- TM_ACTION_BIND,
- (void *)tObj->Image[0]->Data );
-}
-/*===========================================================================*/
-/* TextureSubImage will make sure that the texture being updated is updated */
-/* if its on the card. */
-/*===========================================================================*/
-/* RETURN: */
-/*===========================================================================*/
-static void TextureSubImage( GLcontext *ctx, GLenum target, struct gl_texture_object *tObj, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLint internalFormat, const struct gl_texture_image *image )
-{
- D3DMESACONTEXT *pContext = (D3DMESACONTEXT *)ctx->DriverCtx;
- RECT rect;
-
- /* TODO: only doing first LOD. */
- if ( (ctx->DriverCtx == NULL) || (level > 0) )
- return;
-
- /* Create a dirty rectangle structure. */
- rect.left = xoffset;
- rect.right = xoffset + width;
- rect.top = yoffset;
- rect.bottom = yoffset + height;
-
- CreateTMgrHAL( pContext->pShared,
- tObj->Name,
- 0,
- tObj->Image[0]->Format,
- &rect,
- tObj->Image[0]->Width,
- tObj->Image[0]->Height,
- TM_ACTION_UPDATE,
- (void *)tObj->Image[0]->Data );
-}
-
diff --git a/src/mesa/drivers/d3d/d3dText.h b/src/mesa/drivers/d3d/d3dText.h
deleted file mode 100644
index 9ff0650518..0000000000
--- a/src/mesa/drivers/d3d/d3dText.h
+++ /dev/null
@@ -1,53 +0,0 @@
-#ifndef D3D_TEXT_H
-#define D3D_TEXT_H
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*===========================================================================*/
-/* Includes. */
-/*===========================================================================*/
-#include <windows.h>
-#include <ddraw.h>
-#include <d3d.h>
-/*===========================================================================*/
-/* Magic numbers. */
-/*===========================================================================*/
-#define D3DLTEXT_BITSUSED 0xFFFFFFFF
-#define MAX_VERTICES 700 // (14*40) 14 per character, 40 characters
-/*===========================================================================*/
-/* Macros defines. */
-/*===========================================================================*/
-/*===========================================================================*/
-/* Type defines. */
-/*===========================================================================*/
-typedef struct _d3dText_metrics
-{
- float fntYScale,
- fntXScale;
-
- int fntXSpacing,
- fntYSpacing;
-
- DWORD dwColor;
- LPDIRECT3DDEVICE3 lpD3DDevice;
-
-} D3DFONTMETRICS, *PD3DFONTMETRICS;
-/*===========================================================================*/
-/* Function prototypes. */
-/*===========================================================================*/
-extern BOOL InitD3DText( void );
-extern void d3dTextDrawCharacter( char *c, int x, int y, PD3DFONTMETRICS pfntMetrics );
-extern void d3dTextDrawString( char *pszString, int x, int y, PD3DFONTMETRICS pfntMetrics );
-/*===========================================================================*/
-/* Global variables. */
-/*===========================================================================*/
-
-#ifdef __cplusplus
-}
-#endif
-
-
-#endif
diff --git a/src/mesa/drivers/dri/common/drirenderbuffer.c b/src/mesa/drivers/dri/common/drirenderbuffer.c
index 4e7e92c82b..16b45e99f8 100644
--- a/src/mesa/drivers/dri/common/drirenderbuffer.c
+++ b/src/mesa/drivers/dri/common/drirenderbuffer.c
@@ -60,14 +60,6 @@ driNewRenderbuffer(gl_format format, GLvoid *addr,
{
driRenderbuffer *drb;
- assert(format == GL_RGBA ||
- format == GL_RGB5 ||
- format == GL_RGBA8 ||
- format == GL_DEPTH_COMPONENT16 ||
- format == GL_DEPTH_COMPONENT24 ||
- format == GL_DEPTH_COMPONENT32 ||
- format == GL_STENCIL_INDEX8_EXT);
-
assert(cpp > 0);
assert(pitch > 0);
diff --git a/src/mesa/drivers/dri/r300/Lindent b/src/mesa/drivers/dri/r300/Lindent
index 7d8d8896e3..7d8d8896e3 100755..100644
--- a/src/mesa/drivers/dri/r300/Lindent
+++ b/src/mesa/drivers/dri/r300/Lindent
diff --git a/src/mesa/drivers/dri/r300/compiler/SConscript b/src/mesa/drivers/dri/r300/compiler/SConscript
index 46075a8aee..46075a8aee 100755..100644
--- a/src/mesa/drivers/dri/r300/compiler/SConscript
+++ b/src/mesa/drivers/dri/r300/compiler/SConscript
diff --git a/src/mesa/drivers/dri/r600/Lindent b/src/mesa/drivers/dri/r600/Lindent
index 7d8d8896e3..7d8d8896e3 100755..100644
--- a/src/mesa/drivers/dri/r600/Lindent
+++ b/src/mesa/drivers/dri/r600/Lindent
diff --git a/src/mesa/drivers/dri/radeon/radeon_lighting.c b/src/mesa/drivers/dri/radeon/radeon_lighting.c
new file mode 100644
index 0000000000..ba444f2b10
--- /dev/null
+++ b/src/mesa/drivers/dri/radeon/radeon_lighting.c
@@ -0,0 +1,681 @@
+/*
+ * Copyright 2000, 2001 VA Linux Systems Inc., Fremont, California.
+ *
+ * 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
+ * on the rights to use, copy, modify, merge, publish, distribute, sub
+ * license, 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 (including the next
+ * paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
+ * VA LINUX SYSTEMS AND/OR ITS SUPPLIERS 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.
+ *
+ * Authors:
+ * Gareth Hughes <gareth@valinux.com>
+ * Keith Whitwell <keith@tungstengraphics.com>
+ */
+
+#include "main/glheader.h"
+#include "main/imports.h"
+#include "api_arrayelt.h"
+/* #include "mmath.h" */
+#include "main/enums.h"
+#include "colormac.h"
+
+
+#include "radeon_context.h"
+#include "radeon_ioctl.h"
+#include "radeon_state.h"
+#include "radeon_tcl.h"
+#include "radeon_tex.h"
+#include "radeon_vtxfmt.h"
+
+
+
+/* =============================================================
+ * Materials
+ */
+
+
+/* Update on colormaterial, material emmissive/ambient,
+ * lightmodel.globalambient
+ */
+void update_global_ambient( GLcontext *ctx )
+{
+ radeonContextPtr rmesa = RADEON_CONTEXT(ctx);
+ float *fcmd = (float *)RADEON_DB_STATE( glt );
+
+ /* Need to do more if both emmissive & ambient are PREMULT:
+ */
+ if ((rmesa->hw.tcl.cmd[TCL_LIGHT_MODEL_CTL] &
+ ((3 << RADEON_EMISSIVE_SOURCE_SHIFT) |
+ (3 << RADEON_AMBIENT_SOURCE_SHIFT))) == 0)
+ {
+ COPY_3V( &fcmd[GLT_RED],
+ ctx->Light.Material[0].Emission);
+ ACC_SCALE_3V( &fcmd[GLT_RED],
+ ctx->Light.Model.Ambient,
+ ctx->Light.Material[0].Ambient);
+ }
+ else
+ {
+ COPY_3V( &fcmd[GLT_RED], ctx->Light.Model.Ambient );
+ }
+
+ RADEON_DB_STATECHANGE(rmesa, &rmesa->hw.glt);
+}
+
+/* Update on change to
+ * - light[p].colors
+ * - light[p].enabled
+ * - material,
+ * - colormaterial enabled
+ * - colormaterial bitmask
+ */
+void update_light_colors( GLcontext *ctx, GLuint p )
+{
+ struct gl_light *l = &ctx->Light.Light[p];
+
+/* fprintf(stderr, "%s\n", __FUNCTION__); */
+
+ if (l->Enabled) {
+ radeonContextPtr rmesa = RADEON_CONTEXT(ctx);
+ float *fcmd = (float *)RADEON_DB_STATE( lit[p] );
+ GLuint bitmask = ctx->Light.ColorMaterialBitmask;
+ struct gl_material *mat = &ctx->Light.Material[0];
+
+ COPY_4V( &fcmd[LIT_AMBIENT_RED], l->Ambient );
+ COPY_4V( &fcmd[LIT_DIFFUSE_RED], l->Diffuse );
+ COPY_4V( &fcmd[LIT_SPECULAR_RED], l->Specular );
+
+ if (!ctx->Light.ColorMaterialEnabled)
+ bitmask = 0;
+
+ if ((bitmask & FRONT_AMBIENT_BIT) == 0)
+ SELF_SCALE_3V( &fcmd[LIT_AMBIENT_RED], mat->Ambient );
+
+ if ((bitmask & FRONT_DIFFUSE_BIT) == 0)
+ SELF_SCALE_3V( &fcmd[LIT_DIFFUSE_RED], mat->Diffuse );
+
+ if ((bitmask & FRONT_SPECULAR_BIT) == 0)
+ SELF_SCALE_3V( &fcmd[LIT_SPECULAR_RED], mat->Specular );
+
+ RADEON_DB_STATECHANGE( rmesa, &rmesa->hw.lit[p] );
+ }
+}
+
+/* Also fallback for asym colormaterial mode in twoside lighting...
+ */
+void check_twoside_fallback( GLcontext *ctx )
+{
+ GLboolean fallback = GL_FALSE;
+
+ if (ctx->Light.Enabled && ctx->Light.Model.TwoSide) {
+ if (memcmp( &ctx->Light.Material[0],
+ &ctx->Light.Material[1],
+ sizeof(struct gl_material)) != 0)
+ fallback = GL_TRUE;
+ else if (ctx->Light.ColorMaterialEnabled &&
+ (ctx->Light.ColorMaterialBitmask & BACK_MATERIAL_BITS) !=
+ ((ctx->Light.ColorMaterialBitmask & FRONT_MATERIAL_BITS)<<1))
+ fallback = GL_TRUE;
+ }
+
+ TCL_FALLBACK( ctx, RADEON_TCL_FALLBACK_LIGHT_TWOSIDE, fallback );
+}
+
+void radeonColorMaterial( GLcontext *ctx, GLenum face, GLenum mode )
+{
+ if (ctx->Light.ColorMaterialEnabled) {
+ radeonContextPtr rmesa = RADEON_CONTEXT(ctx);
+ GLuint light_model_ctl = rmesa->hw.tcl.cmd[TCL_LIGHT_MODEL_CTL];
+ GLuint mask = ctx->Light.ColorMaterialBitmask;
+
+ /* Default to PREMULT:
+ */
+ light_model_ctl &= ~((3 << RADEON_EMISSIVE_SOURCE_SHIFT) |
+ (3 << RADEON_AMBIENT_SOURCE_SHIFT) |
+ (3 << RADEON_DIFFUSE_SOURCE_SHIFT) |
+ (3 << RADEON_SPECULAR_SOURCE_SHIFT));
+
+ if (mask & FRONT_EMISSION_BIT) {
+ light_model_ctl |= (RADEON_LM_SOURCE_VERTEX_DIFFUSE <<
+ RADEON_EMISSIVE_SOURCE_SHIFT);
+ }
+
+ if (mask & FRONT_AMBIENT_BIT) {
+ light_model_ctl |= (RADEON_LM_SOURCE_VERTEX_DIFFUSE <<
+ RADEON_AMBIENT_SOURCE_SHIFT);
+ }
+
+ if (mask & FRONT_DIFFUSE_BIT) {
+ light_model_ctl |= (RADEON_LM_SOURCE_VERTEX_DIFFUSE <<
+ RADEON_DIFFUSE_SOURCE_SHIFT);
+ }
+
+ if (mask & FRONT_SPECULAR_BIT) {
+ light_model_ctl |= (RADEON_LM_SOURCE_VERTEX_DIFFUSE <<
+ RADEON_SPECULAR_SOURCE_SHIFT);
+ }
+
+ if (light_model_ctl != rmesa->hw.tcl.cmd[TCL_LIGHT_MODEL_CTL]) {
+ GLuint p;
+
+ RADEON_STATECHANGE( rmesa, tcl );
+ rmesa->hw.tcl.cmd[TCL_LIGHT_MODEL_CTL] = light_model_ctl;
+
+ for (p = 0 ; p < MAX_LIGHTS; p++)
+ update_light_colors( ctx, p );
+ update_global_ambient( ctx );
+ }
+ }
+
+ check_twoside_fallback( ctx );
+}
+
+void radeonUpdateMaterial( GLcontext *ctx )
+{
+ radeonContextPtr rmesa = RADEON_CONTEXT(ctx);
+ GLfloat *fcmd = (GLfloat *)RADEON_DB_STATE( mtl );
+ GLuint p;
+ GLuint mask = ~0;
+
+ if (ctx->Light.ColorMaterialEnabled)
+ mask &= ~ctx->Light.ColorMaterialBitmask;
+
+ if (RADEON_DEBUG & RADEON_STATE)
+ fprintf(stderr, "%s\n", __FUNCTION__);
+
+
+ if (mask & FRONT_EMISSION_BIT) {
+ fcmd[MTL_EMMISSIVE_RED] = ctx->Light.Material[0].Emission[0];
+ fcmd[MTL_EMMISSIVE_GREEN] = ctx->Light.Material[0].Emission[1];
+ fcmd[MTL_EMMISSIVE_BLUE] = ctx->Light.Material[0].Emission[2];
+ fcmd[MTL_EMMISSIVE_ALPHA] = ctx->Light.Material[0].Emission[3];
+ }
+ if (mask & FRONT_AMBIENT_BIT) {
+ fcmd[MTL_AMBIENT_RED] = ctx->Light.Material[0].Ambient[0];
+ fcmd[MTL_AMBIENT_GREEN] = ctx->Light.Material[0].Ambient[1];
+ fcmd[MTL_AMBIENT_BLUE] = ctx->Light.Material[0].Ambient[2];
+ fcmd[MTL_AMBIENT_ALPHA] = ctx->Light.Material[0].Ambient[3];
+ }
+ if (mask & FRONT_DIFFUSE_BIT) {
+ fcmd[MTL_DIFFUSE_RED] = ctx->Light.Material[0].Diffuse[0];
+ fcmd[MTL_DIFFUSE_GREEN] = ctx->Light.Material[0].Diffuse[1];
+ fcmd[MTL_DIFFUSE_BLUE] = ctx->Light.Material[0].Diffuse[2];
+ fcmd[MTL_DIFFUSE_ALPHA] = ctx->Light.Material[0].Diffuse[3];
+ }
+ if (mask & FRONT_SPECULAR_BIT) {
+ fcmd[MTL_SPECULAR_RED] = ctx->Light.Material[0].Specular[0];
+ fcmd[MTL_SPECULAR_GREEN] = ctx->Light.Material[0].Specular[1];
+ fcmd[MTL_SPECULAR_BLUE] = ctx->Light.Material[0].Specular[2];
+ fcmd[MTL_SPECULAR_ALPHA] = ctx->Light.Material[0].Specular[3];
+ }
+ if (mask & FRONT_SHININESS_BIT) {
+ fcmd[MTL_SHININESS] = ctx->Light.Material[0].Shininess;
+ }
+
+ if (RADEON_DB_STATECHANGE( rmesa, &rmesa->hw.mtl )) {
+ for (p = 0 ; p < MAX_LIGHTS; p++)
+ update_light_colors( ctx, p );
+
+ check_twoside_fallback( ctx );
+ update_global_ambient( ctx );
+ }
+ else if (RADEON_DEBUG & (RADEON_PRIMS|DEBUG_STATE))
+ fprintf(stderr, "%s: Elided noop material call\n", __FUNCTION__);
+}
+
+/* _NEW_LIGHT
+ * _NEW_MODELVIEW
+ * _MESA_NEW_NEED_EYE_COORDS
+ *
+ * Uses derived state from mesa:
+ * _VP_inf_norm
+ * _h_inf_norm
+ * _Position
+ * _NormSpotDirection
+ * _ModelViewInvScale
+ * _NeedEyeCoords
+ * _EyeZDir
+ *
+ * which are calculated in light.c and are correct for the current
+ * lighting space (model or eye), hence dependencies on _NEW_MODELVIEW
+ * and _MESA_NEW_NEED_EYE_COORDS.
+ */
+void radeonUpdateLighting( GLcontext *ctx )
+{
+ radeonContextPtr rmesa = RADEON_CONTEXT(ctx);
+
+ /* Have to check these, or have an automatic shortcircuit mechanism
+ * to remove noop statechanges. (Or just do a better job on the
+ * front end).
+ */
+ {
+ GLuint tmp = rmesa->hw.tcl.cmd[TCL_LIGHT_MODEL_CTL];
+
+ if (ctx->_NeedEyeCoords)
+ tmp &= ~RADEON_LIGHT_IN_MODELSPACE;
+ else
+ tmp |= RADEON_LIGHT_IN_MODELSPACE;
+
+
+ /* Leave this test disabled: (unexplained q3 lockup) (even with
+ new packets)
+ */
+ if (tmp != rmesa->hw.tcl.cmd[TCL_LIGHT_MODEL_CTL])
+ {
+ RADEON_STATECHANGE( rmesa, tcl );
+ rmesa->hw.tcl.cmd[TCL_LIGHT_MODEL_CTL] = tmp;
+ }
+ }
+
+ {
+ GLfloat *fcmd = (GLfloat *)RADEON_DB_STATE( eye );
+ fcmd[EYE_X] = ctx->_EyeZDir[0];
+ fcmd[EYE_Y] = ctx->_EyeZDir[1];
+ fcmd[EYE_Z] = - ctx->_EyeZDir[2];
+ fcmd[EYE_RESCALE_FACTOR] = ctx->_ModelViewInvScale;
+ RADEON_DB_STATECHANGE( rmesa, &rmesa->hw.eye );
+ }
+
+
+/* RADEON_STATECHANGE( rmesa, glt ); */
+
+ if (ctx->Light.Enabled) {
+ GLint p;
+ for (p = 0 ; p < MAX_LIGHTS; p++) {
+ if (ctx->Light.Light[p].Enabled) {
+ struct gl_light *l = &ctx->Light.Light[p];
+ GLfloat *fcmd = (GLfloat *)RADEON_DB_STATE( lit[p] );
+
+ if (l->EyePosition[3] == 0.0) {
+ COPY_3FV( &fcmd[LIT_POSITION_X], l->_VP_inf_norm );
+ COPY_3FV( &fcmd[LIT_DIRECTION_X], l->_h_inf_norm );
+ fcmd[LIT_POSITION_W] = 0;
+ fcmd[LIT_DIRECTION_W] = 0;
+ } else {
+ COPY_4V( &fcmd[LIT_POSITION_X], l->_Position );
+ fcmd[LIT_DIRECTION_X] = -l->_NormSpotDirection[0];
+ fcmd[LIT_DIRECTION_Y] = -l->_NormSpotDirection[1];
+ fcmd[LIT_DIRECTION_Z] = -l->_NormSpotDirection[2];
+ fcmd[LIT_DIRECTION_W] = 0;
+ }
+
+ RADEON_DB_STATECHANGE( rmesa, &rmesa->hw.lit[p] );
+ }
+ }
+ }
+}
+
+
+void radeonLightfv( GLcontext *ctx, GLenum light,
+ GLenum pname, const GLfloat *params )
+{
+ radeonContextPtr rmesa = RADEON_CONTEXT(ctx);
+ GLint p = light - GL_LIGHT0;
+ struct gl_light *l = &ctx->Light.Light[p];
+ GLfloat *fcmd = (GLfloat *)rmesa->hw.lit[p].cmd;
+
+
+ switch (pname) {
+ case GL_AMBIENT:
+ case GL_DIFFUSE:
+ case GL_SPECULAR:
+ update_light_colors( ctx, p );
+ break;
+
+ case GL_SPOT_DIRECTION:
+ /* picked up in update_light */
+ break;
+
+ case GL_POSITION: {
+ /* positions picked up in update_light, but can do flag here */
+ GLuint flag = (p&1)? RADEON_LIGHT_1_IS_LOCAL : RADEON_LIGHT_0_IS_LOCAL;
+ GLuint idx = TCL_PER_LIGHT_CTL_0 + p/2;
+
+ RADEON_STATECHANGE(rmesa, tcl);
+ if (l->EyePosition[3] != 0.0F)
+ rmesa->hw.tcl.cmd[idx] |= flag;
+ else
+ rmesa->hw.tcl.cmd[idx] &= ~flag;
+ break;
+ }
+
+ case GL_SPOT_EXPONENT:
+ RADEON_STATECHANGE(rmesa, lit[p]);
+ fcmd[LIT_SPOT_EXPONENT] = params[0];
+ break;
+
+ case GL_SPOT_CUTOFF: {
+ GLuint flag = (p&1) ? RADEON_LIGHT_1_IS_SPOT : RADEON_LIGHT_0_IS_SPOT;
+ GLuint idx = TCL_PER_LIGHT_CTL_0 + p/2;
+
+ RADEON_STATECHANGE(rmesa, lit[p]);
+ fcmd[LIT_SPOT_CUTOFF] = l->_CosCutoff;
+
+ RADEON_STATECHANGE(rmesa, tcl);
+ if (l->SpotCutoff != 180.0F)
+ rmesa->hw.tcl.cmd[idx] |= flag;
+ else
+ rmesa->hw.tcl.cmd[idx] &= ~flag;
+ break;
+ }
+
+ case GL_CONSTANT_ATTENUATION:
+ RADEON_STATECHANGE(rmesa, lit[p]);
+ fcmd[LIT_ATTEN_CONST] = params[0];
+ break;
+ case GL_LINEAR_ATTENUATION:
+ RADEON_STATECHANGE(rmesa, lit[p]);
+ fcmd[LIT_ATTEN_LINEAR] = params[0];
+ break;
+ case GL_QUADRATIC_ATTENUATION:
+ RADEON_STATECHANGE(rmesa, lit[p]);
+ fcmd[LIT_ATTEN_QUADRATIC] = params[0];
+ break;
+ default:
+ return;
+ }
+
+}
+
+
+
+
+void radeonLightModelfv( GLcontext *ctx, GLenum pname,
+ const GLfloat *param )
+{
+ radeonContextPtr rmesa = RADEON_CONTEXT(ctx);
+
+ switch (pname) {
+ case GL_LIGHT_MODEL_AMBIENT:
+ update_global_ambient( ctx );
+ break;
+
+ case GL_LIGHT_MODEL_LOCAL_VIEWER:
+ RADEON_STATECHANGE( rmesa, tcl );
+ if (ctx->Light.Model.LocalViewer)
+ rmesa->hw.tcl.cmd[TCL_LIGHT_MODEL_CTL] |= RADEON_LOCAL_VIEWER;
+ else
+ rmesa->hw.tcl.cmd[TCL_LIGHT_MODEL_CTL] &= ~RADEON_LOCAL_VIEWER;
+ break;
+
+ case GL_LIGHT_MODEL_TWO_SIDE:
+ RADEON_STATECHANGE( rmesa, tcl );
+ if (ctx->Light.Model.TwoSide)
+ rmesa->hw.tcl.cmd[TCL_UCP_VERT_BLEND_CTL] |= RADEON_LIGHT_TWOSIDE;
+ else
+ rmesa->hw.tcl.cmd[TCL_UCP_VERT_BLEND_CTL] &= ~RADEON_LIGHT_TWOSIDE;
+
+ check_twoside_fallback( ctx );
+
+#if _HAVE_SWTNL
+ if (rmesa->TclFallback) {
+ radeonChooseRenderState( ctx );
+ radeonChooseVertexState( ctx );
+ }
+#endif
+ break;
+
+ case GL_LIGHT_MODEL_COLOR_CONTROL:
+ radeonUpdateSpecular(ctx);
+
+ RADEON_STATECHANGE( rmesa, tcl );
+ if (ctx->Light.Model.ColorControl == GL_SEPARATE_SPECULAR_COLOR)
+ rmesa->hw.tcl.cmd[TCL_LIGHT_MODEL_CTL] &=
+ ~RADEON_DIFFUSE_SPECULAR_COMBINE;
+ else
+ rmesa->hw.tcl.cmd[TCL_LIGHT_MODEL_CTL] |=
+ RADEON_DIFFUSE_SPECULAR_COMBINE;
+ break;
+
+ default:
+ break;
+ }
+}
+
+
+/* =============================================================
+ * Fog
+ */
+
+
+static void radeonFogfv( GLcontext *ctx, GLenum pname, const GLfloat *param )
+{
+ radeonContextPtr rmesa = RADEON_CONTEXT(ctx);
+ union { int i; float f; } c, d;
+ GLchan col[4];
+
+ c.i = rmesa->hw.fog.cmd[FOG_C];
+ d.i = rmesa->hw.fog.cmd[FOG_D];
+
+ switch (pname) {
+ case GL_FOG_MODE:
+ if (!ctx->Fog.Enabled)
+ return;
+ RADEON_STATECHANGE(rmesa, tcl);
+ rmesa->hw.tcl.cmd[TCL_UCP_VERT_BLEND_CTL] &= ~RADEON_TCL_FOG_MASK;
+ switch (ctx->Fog.Mode) {
+ case GL_LINEAR:
+ rmesa->hw.tcl.cmd[TCL_UCP_VERT_BLEND_CTL] |= RADEON_TCL_FOG_LINEAR;
+ if (ctx->Fog.Start == ctx->Fog.End) {
+ c.f = 1.0F;
+ d.f = 1.0F;
+ }
+ else {
+ c.f = ctx->Fog.End/(ctx->Fog.End-ctx->Fog.Start);
+ d.f = 1.0/(ctx->Fog.End-ctx->Fog.Start);
+ }
+ break;
+ case GL_EXP:
+ rmesa->hw.tcl.cmd[TCL_UCP_VERT_BLEND_CTL] |= RADEON_TCL_FOG_EXP;
+ c.f = 0.0;
+ d.f = ctx->Fog.Density;
+ break;
+ case GL_EXP2:
+ rmesa->hw.tcl.cmd[TCL_UCP_VERT_BLEND_CTL] |= RADEON_TCL_FOG_EXP2;
+ c.f = 0.0;
+ d.f = -(ctx->Fog.Density * ctx->Fog.Density);
+ break;
+ default:
+ return;
+ }
+ break;
+ case GL_FOG_DENSITY:
+ switch (ctx->Fog.Mode) {
+ case GL_EXP:
+ c.f = 0.0;
+ d.f = ctx->Fog.Density;
+ break;
+ case GL_EXP2:
+ c.f = 0.0;
+ d.f = -(ctx->Fog.Density * ctx->Fog.Density);
+ break;
+ default:
+ break;
+ }
+ break;
+ case GL_FOG_START:
+ case GL_FOG_END:
+ if (ctx->Fog.Mode == GL_LINEAR) {
+ if (ctx->Fog.Start == ctx->Fog.End) {
+ c.f = 1.0F;
+ d.f = 1.0F;
+ } else {
+ c.f = ctx->Fog.End/(ctx->Fog.End-ctx->Fog.Start);
+ d.f = 1.0/(ctx->Fog.End-ctx->Fog.Start);
+ }
+ }
+ break;
+ case GL_FOG_COLOR:
+ RADEON_STATECHANGE( rmesa, ctx );
+ UNCLAMPED_FLOAT_TO_RGB_CHAN( col, ctx->Fog.Color );
+ rmesa->hw.ctx.cmd[CTX_PP_FOG_COLOR] =
+ radeonPackColor( 4, col[0], col[1], col[2], 0 );
+ break;
+ case GL_FOG_COORDINATE_SOURCE_EXT:
+ /* What to do?
+ */
+ break;
+ default:
+ return;
+ }
+
+ if (c.i != rmesa->hw.fog.cmd[FOG_C] || d.i != rmesa->hw.fog.cmd[FOG_D]) {
+ RADEON_STATECHANGE( rmesa, fog );
+ rmesa->hw.fog.cmd[FOG_C] = c.i;
+ rmesa->hw.fog.cmd[FOG_D] = d.i;
+ }
+}
+
+/* Examine lighting and texture state to determine if separate specular
+ * should be enabled.
+ */
+void radeonUpdateSpecular( GLcontext *ctx )
+{
+ radeonContextPtr rmesa = RADEON_CONTEXT(ctx);
+ GLuint p = rmesa->hw.ctx.cmd[CTX_PP_CNTL];
+
+ if (NEED_SECONDARY_COLOR(ctx)) {
+ p |= RADEON_SPECULAR_ENABLE;
+ } else {
+ p &= ~RADEON_SPECULAR_ENABLE;
+ }
+
+ if ( rmesa->hw.ctx.cmd[CTX_PP_CNTL] != p ) {
+ RADEON_STATECHANGE( rmesa, ctx );
+ rmesa->hw.ctx.cmd[CTX_PP_CNTL] = p;
+ }
+
+ /* Bizzare: have to leave lighting enabled to get fog.
+ */
+ RADEON_STATECHANGE( rmesa, tcl );
+ if ((ctx->Light.Enabled &&
+ ctx->Light.Model.ColorControl == GL_SEPARATE_SPECULAR_COLOR)) {
+ rmesa->hw.tcl.cmd[TCL_OUTPUT_VTXSEL] |= RADEON_TCL_COMPUTE_SPECULAR;
+ rmesa->hw.tcl.cmd[TCL_OUTPUT_VTXSEL] |= RADEON_TCL_COMPUTE_DIFFUSE;
+ rmesa->hw.tcl.cmd[TCL_OUTPUT_VTXFMT] |= RADEON_TCL_VTX_PK_SPEC;
+ rmesa->hw.tcl.cmd[TCL_OUTPUT_VTXFMT] |= RADEON_TCL_VTX_PK_DIFFUSE;
+ rmesa->hw.tcl.cmd[TCL_LIGHT_MODEL_CTL] |= RADEON_LIGHTING_ENABLE;
+ }
+ else if (ctx->Fog.Enabled) {
+ if (ctx->Light.Enabled) {
+ rmesa->hw.tcl.cmd[TCL_OUTPUT_VTXSEL] |= RADEON_TCL_COMPUTE_SPECULAR;
+ rmesa->hw.tcl.cmd[TCL_OUTPUT_VTXSEL] |= RADEON_TCL_COMPUTE_DIFFUSE;
+ rmesa->hw.tcl.cmd[TCL_OUTPUT_VTXFMT] |= RADEON_TCL_VTX_PK_SPEC;
+ rmesa->hw.tcl.cmd[TCL_OUTPUT_VTXFMT] |= RADEON_TCL_VTX_PK_DIFFUSE;
+ rmesa->hw.tcl.cmd[TCL_LIGHT_MODEL_CTL] |= RADEON_LIGHTING_ENABLE;
+ } else {
+ rmesa->hw.tcl.cmd[TCL_OUTPUT_VTXSEL] |= RADEON_TCL_COMPUTE_SPECULAR;
+ rmesa->hw.tcl.cmd[TCL_OUTPUT_VTXSEL] &= ~RADEON_TCL_COMPUTE_DIFFUSE;
+ rmesa->hw.tcl.cmd[TCL_OUTPUT_VTXFMT] |= RADEON_TCL_VTX_PK_SPEC;
+ rmesa->hw.tcl.cmd[TCL_OUTPUT_VTXFMT] |= RADEON_TCL_VTX_PK_DIFFUSE;
+ rmesa->hw.tcl.cmd[TCL_LIGHT_MODEL_CTL] |= RADEON_LIGHTING_ENABLE;
+ }
+ }
+ else if (ctx->Light.Enabled) {
+ rmesa->hw.tcl.cmd[TCL_OUTPUT_VTXSEL] &= ~RADEON_TCL_COMPUTE_SPECULAR;
+ rmesa->hw.tcl.cmd[TCL_OUTPUT_VTXSEL] |= RADEON_TCL_COMPUTE_DIFFUSE;
+ rmesa->hw.tcl.cmd[TCL_OUTPUT_VTXFMT] &= ~RADEON_TCL_VTX_PK_SPEC;
+ rmesa->hw.tcl.cmd[TCL_OUTPUT_VTXFMT] |= RADEON_TCL_VTX_PK_DIFFUSE;
+ rmesa->hw.tcl.cmd[TCL_LIGHT_MODEL_CTL] |= RADEON_LIGHTING_ENABLE;
+ } else if (ctx->Fog.ColorSumEnabled ) {
+ rmesa->hw.tcl.cmd[TCL_OUTPUT_VTXSEL] &= ~RADEON_TCL_COMPUTE_SPECULAR;
+ rmesa->hw.tcl.cmd[TCL_OUTPUT_VTXSEL] &= ~RADEON_TCL_COMPUTE_DIFFUSE;
+ rmesa->hw.tcl.cmd[TCL_OUTPUT_VTXFMT] |= RADEON_TCL_VTX_PK_SPEC;
+ rmesa->hw.tcl.cmd[TCL_OUTPUT_VTXFMT] |= RADEON_TCL_VTX_PK_DIFFUSE;
+ rmesa->hw.tcl.cmd[TCL_LIGHT_MODEL_CTL] &= ~RADEON_LIGHTING_ENABLE;
+ } else {
+ rmesa->hw.tcl.cmd[TCL_OUTPUT_VTXSEL] &= ~RADEON_TCL_COMPUTE_SPECULAR;
+ rmesa->hw.tcl.cmd[TCL_OUTPUT_VTXSEL] &= ~RADEON_TCL_COMPUTE_DIFFUSE;
+ rmesa->hw.tcl.cmd[TCL_OUTPUT_VTXFMT] &= ~RADEON_TCL_VTX_PK_SPEC;
+ rmesa->hw.tcl.cmd[TCL_OUTPUT_VTXFMT] |= RADEON_TCL_VTX_PK_DIFFUSE;
+ rmesa->hw.tcl.cmd[TCL_LIGHT_MODEL_CTL] &= ~RADEON_LIGHTING_ENABLE;
+ }
+
+#if _HAVE_SWTNL
+ /* Update vertex/render formats
+ */
+ if (rmesa->TclFallback) {
+ radeonChooseRenderState( ctx );
+ radeonChooseVertexState( ctx );
+ }
+#endif
+}
+
+
+
+static void radeonLightingSpaceChange( GLcontext *ctx )
+{
+ radeonContextPtr rmesa = RADEON_CONTEXT(ctx);
+ GLboolean tmp;
+ RADEON_STATECHANGE( rmesa, tcl );
+
+ if (RADEON_DEBUG & RADEON_STATE)
+ fprintf(stderr, "%s %d\n", __FUNCTION__, ctx->_NeedEyeCoords);
+
+ if (ctx->_NeedEyeCoords)
+ tmp = ctx->Transform.RescaleNormals;
+ else
+ tmp = !ctx->Transform.RescaleNormals;
+
+ if ( tmp ) {
+ rmesa->hw.tcl.cmd[TCL_LIGHT_MODEL_CTL] |= RADEON_RESCALE_NORMALS;
+ } else {
+ rmesa->hw.tcl.cmd[TCL_LIGHT_MODEL_CTL] &= ~RADEON_RESCALE_NORMALS;
+ }
+}
+
+void radeonInitLightStateFuncs( GLcontext *ctx )
+{
+ radeonContextPtr rmesa = RADEON_CONTEXT(ctx);
+ int i;
+
+ ctx->Driver.LightModelfv = radeonLightModelfv;
+ ctx->Driver.Lightfv = radeonLightfv;
+ ctx->Driver.Fogfv = radeonFogfv;
+ ctx->Driver.LightingSpaceChange = radeonLightingSpaceChange;
+
+ for (i = 0 ; i < 8; i++) {
+ struct gl_light *l = &ctx->Light.Light[i];
+ GLenum p = GL_LIGHT0 + i;
+ *(float *)&(rmesa->hw.lit[i].cmd[LIT_RANGE_CUTOFF]) = FLT_MAX;
+
+ ctx->Driver.Lightfv( ctx, p, GL_AMBIENT, l->Ambient );
+ ctx->Driver.Lightfv( ctx, p, GL_DIFFUSE, l->Diffuse );
+ ctx->Driver.Lightfv( ctx, p, GL_SPECULAR, l->Specular );
+ ctx->Driver.Lightfv( ctx, p, GL_POSITION, 0 );
+ ctx->Driver.Lightfv( ctx, p, GL_SPOT_DIRECTION, 0 );
+ ctx->Driver.Lightfv( ctx, p, GL_SPOT_EXPONENT, &l->SpotExponent );
+ ctx->Driver.Lightfv( ctx, p, GL_SPOT_CUTOFF, &l->SpotCutoff );
+ ctx->Driver.Lightfv( ctx, p, GL_CONSTANT_ATTENUATION,
+ &l->ConstantAttenuation );
+ ctx->Driver.Lightfv( ctx, p, GL_LINEAR_ATTENUATION,
+ &l->LinearAttenuation );
+ ctx->Driver.Lightfv( ctx, p, GL_QUADRATIC_ATTENUATION,
+ &l->QuadraticAttenuation );
+ }
+
+ ctx->Driver.LightModelfv( ctx, GL_LIGHT_MODEL_AMBIENT,
+ ctx->Light.Model.Ambient );
+
+ ctx->Driver.Fogfv( ctx, GL_FOG_MODE, 0 );
+ ctx->Driver.Fogfv( ctx, GL_FOG_DENSITY, &ctx->Fog.Density );
+ ctx->Driver.Fogfv( ctx, GL_FOG_START, &ctx->Fog.Start );
+ ctx->Driver.Fogfv( ctx, GL_FOG_END, &ctx->Fog.End );
+ ctx->Driver.Fogfv( ctx, GL_FOG_COLOR, ctx->Fog.Color );
+ ctx->Driver.Fogfv( ctx, GL_FOG_COORDINATE_SOURCE_EXT, 0 );
+}
diff --git a/src/mesa/drivers/windows/gldirect/dx7/gld_driver_dx7.c b/src/mesa/drivers/windows/gldirect/dx7/gld_driver_dx7.c
deleted file mode 100644
index d5fa642800..0000000000
--- a/src/mesa/drivers/windows/gldirect/dx7/gld_driver_dx7.c
+++ /dev/null
@@ -1,1196 +0,0 @@
-/****************************************************************************
-*
-* Mesa 3-D graphics library
-* Direct3D Driver Interface
-*
-* ========================================================================
-*
-* Copyright (C) 1991-2004 SciTech Software, Inc. 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
-* SCITECH SOFTWARE INC 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.
-*
-* ======================================================================
-*
-* Language: ANSI C
-* Environment: Windows 9x/2000/XP/XBox (Win32)
-*
-* Description: Driver interface code to Mesa
-*
-****************************************************************************/
-
-//#include <windows.h>
-#include "dglcontext.h"
-#include "ddlog.h"
-#include "gld_dx7.h"
-
-#include "glheader.h"
-#include "context.h"
-#include "colormac.h"
-#include "depth.h"
-#include "extensions.h"
-#include "macros.h"
-#include "matrix.h"
-// #include "mem.h"
-//#include "mmath.h"
-#include "mtypes.h"
-#include "texformat.h"
-#include "teximage.h"
-#include "texstore.h"
-#include "vbo/vbo.h"
-#include "swrast_setup/swrast_setup.h"
-#include "swrast_setup/ss_context.h"
-#include "tnl/tnl.h"
-#include "tnl/t_context.h"
-#include "tnl/t_pipeline.h"
-
-extern BOOL dglSwapBuffers(HDC hDC);
-
-// HACK: Hack the _33 member of the OpenGL perspective projection matrix
-const float _fPersp_33 = 1.6f;
-
-//---------------------------------------------------------------------------
-// Internal functions
-//---------------------------------------------------------------------------
-
-void _gld_mesa_warning(
- __GLcontext *gc,
- char *str)
-{
- // Intercept Mesa's internal warning mechanism
- gldLogPrintf(GLDLOG_WARN, "Mesa warning: %s", str);
-}
-
-//---------------------------------------------------------------------------
-
-void _gld_mesa_fatal(
- __GLcontext *gc,
- char *str)
-{
- // Intercept Mesa's internal fatal-message mechanism
- gldLogPrintf(GLDLOG_CRITICAL, "Mesa FATAL: %s", str);
-
- // Mesa calls abort(0) here.
- ddlogClose();
- exit(0);
-}
-
-//---------------------------------------------------------------------------
-
-D3DSTENCILOP _gldConvertStencilOp(
- GLenum StencilOp)
-{
- // Used by Stencil: pass, fail and zfail
-
- switch (StencilOp) {
- case GL_KEEP:
- return D3DSTENCILOP_KEEP;
- case GL_ZERO:
- return D3DSTENCILOP_ZERO;
- case GL_REPLACE:
- return D3DSTENCILOP_REPLACE;
- case GL_INCR:
- return D3DSTENCILOP_INCRSAT;
- case GL_DECR:
- return D3DSTENCILOP_DECRSAT;
- case GL_INVERT:
- return D3DSTENCILOP_INVERT;
- case GL_INCR_WRAP_EXT: // GL_EXT_stencil_wrap
- return D3DSTENCILOP_INCR;
- case GL_DECR_WRAP_EXT: // GL_EXT_stencil_wrap
- return D3DSTENCILOP_DECR;
- }
-
-#ifdef _DEBUG
- gldLogMessage(GLDLOG_ERROR, "_gldConvertStencilOp: Unknown StencilOp\n");
-#endif
-
- return D3DSTENCILOP_KEEP;
-}
-
-//---------------------------------------------------------------------------
-
-D3DCMPFUNC _gldConvertCompareFunc(
- GLenum CmpFunc)
-{
- // Used for Alpha func, depth func and stencil func.
-
- switch (CmpFunc) {
- case GL_NEVER:
- return D3DCMP_NEVER;
- case GL_LESS:
- return D3DCMP_LESS;
- case GL_EQUAL:
- return D3DCMP_EQUAL;
- case GL_LEQUAL:
- return D3DCMP_LESSEQUAL;
- case GL_GREATER:
- return D3DCMP_GREATER;
- case GL_NOTEQUAL:
- return D3DCMP_NOTEQUAL;
- case GL_GEQUAL:
- return D3DCMP_GREATEREQUAL;
- case GL_ALWAYS:
- return D3DCMP_ALWAYS;
- };
-
-#ifdef _DEBUG
- gldLogMessage(GLDLOG_ERROR, "_gldConvertCompareFunc: Unknown CompareFunc\n");
-#endif
-
- return D3DCMP_ALWAYS;
-}
-
-//---------------------------------------------------------------------------
-
-D3DBLEND _gldConvertBlendFunc(
- GLenum blend,
- GLenum DefaultBlend)
-{
- switch (blend) {
- case GL_ZERO:
- return D3DBLEND_ZERO;
- case GL_ONE:
- return D3DBLEND_ONE;
- case GL_DST_COLOR:
- return D3DBLEND_DESTCOLOR;
- case GL_SRC_COLOR:
- return D3DBLEND_SRCCOLOR;
- case GL_ONE_MINUS_DST_COLOR:
- return D3DBLEND_INVDESTCOLOR;
- case GL_ONE_MINUS_SRC_COLOR:
- return D3DBLEND_INVSRCCOLOR;
- case GL_SRC_ALPHA:
- return D3DBLEND_SRCALPHA;
- case GL_ONE_MINUS_SRC_ALPHA:
- return D3DBLEND_INVSRCALPHA;
- case GL_DST_ALPHA:
- return D3DBLEND_DESTALPHA;
- case GL_ONE_MINUS_DST_ALPHA:
- return D3DBLEND_INVDESTALPHA;
- case GL_SRC_ALPHA_SATURATE:
- return D3DBLEND_SRCALPHASAT;
- }
-
-#ifdef _DEBUG
- gldLogMessage(GLDLOG_ERROR, "_gldConvertBlendFunc: Unknown BlendFunc\n");
-#endif
-
- return DefaultBlend;
-}
-
-//---------------------------------------------------------------------------
-// Misc. functions
-//---------------------------------------------------------------------------
-
-void gld_Noop_DX7(
- GLcontext *ctx)
-{
-#ifdef _DEBUG
- gldLogMessage(GLDLOG_ERROR, "gld_Noop called!\n");
-#endif
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Error_DX7(
- GLcontext *ctx)
-{
-#ifdef _DEBUG
- // Quite useless.
-// gldLogMessage(GLDLOG_ERROR, "ctx->Driver.Error called!\n");
-#endif
-}
-
-//---------------------------------------------------------------------------
-// Required Mesa functions
-//---------------------------------------------------------------------------
-
-static GLboolean gld_set_draw_buffer_DX7(
- GLcontext *ctx,
- GLenum mode)
-{
- (void) ctx;
- if ((mode==GL_FRONT_LEFT) || (mode == GL_BACK_LEFT)) {
- return GL_TRUE;
- }
- else {
- return GL_FALSE;
- }
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_set_read_buffer_DX7(
- GLcontext *ctx,
- GLframebuffer *buffer,
- GLenum mode)
-{
- /* separate read buffer not supported */
-/*
- ASSERT(buffer == ctx->DrawBuffer);
- ASSERT(mode == GL_FRONT_LEFT);
-*/
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Clear_DX7(
- GLcontext *ctx,
- GLbitfield mask,
- GLboolean all,
- GLint x,
- GLint y,
- GLint width,
- GLint height)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx7 *gld = GLD_GET_DX7_DRIVER(gldCtx);
-
- DWORD dwFlags = 0;
- D3DCOLOR Color = 0;
- float Z = 0.0f;
- DWORD Stencil = 0;
- D3DRECT d3dClearRect;
-
- // TODO: Colourmask
- const GLuint *colorMask = (GLuint *) &ctx->Color.ColorMask;
-
- if (!gld->pDev)
- return;
-
- if (mask & (DD_FRONT_LEFT_BIT | DD_BACK_LEFT_BIT)) {
- GLubyte col[4];
- CLAMPED_FLOAT_TO_UBYTE(col[0], ctx->Color.ClearColor[0]);
- CLAMPED_FLOAT_TO_UBYTE(col[1], ctx->Color.ClearColor[1]);
- CLAMPED_FLOAT_TO_UBYTE(col[2], ctx->Color.ClearColor[2]);
- CLAMPED_FLOAT_TO_UBYTE(col[3], ctx->Color.ClearColor[3]);
- dwFlags |= D3DCLEAR_TARGET;
- Color = D3DCOLOR_RGBA(col[0], col[1], col[2], col[3]);
-// ctx->Color.ClearColor[1],
-// ctx->Color.ClearColor[2],
-// ctx->Color.ClearColor[3]);
- }
-
- if (mask & DD_DEPTH_BIT) {
- // D3D7 will fail the Clear call if we try and clear a
- // depth buffer and we haven't created one.
- // Also, some apps try and clear a depth buffer,
- // when a depth buffer hasn't been requested by the app.
- if (ctx->Visual.depthBits == 0) {
- mask &= ~DD_DEPTH_BIT; // Remove depth bit from mask
- } else {
- dwFlags |= D3DCLEAR_ZBUFFER;
- Z = ctx->Depth.Clear;
- }
- }
-
- if (mask & DD_STENCIL_BIT) {
- if (ctx->Visual.stencilBits == 0) {
- // No stencil bits in depth buffer
- mask &= ~DD_STENCIL_BIT; // Remove stencil bit from mask
- } else {
- dwFlags |= D3DCLEAR_STENCIL;
- Stencil = ctx->Stencil.Clear;
- }
- }
-
- // Some apps do really weird things with the rect, such as Quake3.
- if ((x < 0) || (y < 0) || (width <= 0) || (height <= 0)) {
- all = GL_TRUE;
- }
-
- if (!all) {
- // Calculate clear subrect
- d3dClearRect.x1 = x;
- d3dClearRect.y1 = gldCtx->dwHeight - (y + height);
- d3dClearRect.x2 = x + width;
- d3dClearRect.y2 = d3dClearRect.y1 + height;
- }
-
- // dwFlags will be zero if there's nothing to clear
- if (dwFlags) {
- _GLD_DX7_DEV(Clear(
- gld->pDev,
- all ? 0 : 1,
- all ? NULL : &d3dClearRect,
- dwFlags,
- Color, Z, Stencil));
- }
-
- if (mask & DD_ACCUM_BIT) {
- // Clear accumulation buffer
- }
-}
-
-//---------------------------------------------------------------------------
-
-// Mesa 5: Parameter change
-static void gld_buffer_size_DX7(
-// GLcontext *ctx,
- GLframebuffer *fb,
- GLuint *width,
- GLuint *height)
-{
-// GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
-
- *width = fb->Width; // gldCtx->dwWidth;
- *height = fb->Height; // gldCtx->dwHeight;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_Finish_DX7(
- GLcontext *ctx)
-{
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_Flush_DX7(
- GLcontext *ctx)
-{
- GLD_context *gld = GLD_GET_CONTEXT(ctx);
-
- // TODO: Detect apps that glFlush() then SwapBuffers() ?
-
- if (gld->EmulateSingle) {
- // Emulating a single-buffered context.
- // [Direct3D doesn't allow rendering to front buffer]
- dglSwapBuffers(gld->hDC);
- }
-}
-
-//---------------------------------------------------------------------------
-
-void gld_NEW_STENCIL(
- GLcontext *ctx)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx7 *gld = GLD_GET_DX7_DRIVER(gldCtx);
-
- // Two-sided stencil. New for Mesa 5
- const GLuint uiFace = 0UL;
-
- struct gl_stencil_attrib *pStencil = &ctx->Stencil;
-
- _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_STENCILENABLE, pStencil->Enabled ? TRUE : FALSE));
- if (pStencil->Enabled) {
- _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_STENCILFUNC, _gldConvertCompareFunc(pStencil->Function[uiFace])));
- _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_STENCILREF, pStencil->Ref[uiFace]));
- _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_STENCILMASK, pStencil->ValueMask[uiFace]));
- _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_STENCILWRITEMASK, pStencil->WriteMask[uiFace]));
- _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_STENCILFAIL, _gldConvertStencilOp(pStencil->FailFunc[uiFace])));
- _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_STENCILZFAIL, _gldConvertStencilOp(pStencil->ZFailFunc[uiFace])));
- _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_STENCILPASS, _gldConvertStencilOp(pStencil->ZPassFunc[uiFace])));
- }
-}
-
-//---------------------------------------------------------------------------
-
-void gld_NEW_COLOR(
- GLcontext *ctx)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx7 *gld = GLD_GET_DX7_DRIVER(gldCtx);
-
- DWORD dwFlags = 0;
- D3DBLEND src;
- D3DBLEND dest;
-
- // Alpha func
- _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_ALPHAFUNC, _gldConvertCompareFunc(ctx->Color.AlphaFunc)));
- _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_ALPHAREF, (DWORD)ctx->Color.AlphaRef));
- _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_ALPHATESTENABLE, ctx->Color.AlphaEnabled));
-
- // Blend func
- _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_ALPHABLENDENABLE, ctx->Color.BlendEnabled));
- src = _gldConvertBlendFunc(ctx->Color.BlendSrcRGB, GL_ONE);
- dest = _gldConvertBlendFunc(ctx->Color.BlendDstRGB, GL_ZERO);
- _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_SRCBLEND, src));
- _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_DESTBLEND, dest));
-
-/*
- // Color mask - unsupported by DX7
- if (ctx->Color.ColorMask[0]) dwFlags |= D3DCOLORWRITEENABLE_RED;
- if (ctx->Color.ColorMask[1]) dwFlags |= D3DCOLORWRITEENABLE_GREEN;
- if (ctx->Color.ColorMask[2]) dwFlags |= D3DCOLORWRITEENABLE_BLUE;
- if (ctx->Color.ColorMask[3]) dwFlags |= D3DCOLORWRITEENABLE_ALPHA;
- _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_COLORWRITEENABLE, dwFlags));
-*/
-}
-
-//---------------------------------------------------------------------------
-
-void gld_NEW_DEPTH(
- GLcontext *ctx)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx7 *gld = GLD_GET_DX7_DRIVER(gldCtx);
-
- _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_ZENABLE, ctx->Depth.Test ? D3DZB_TRUE : D3DZB_FALSE));
- _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_ZFUNC, _gldConvertCompareFunc(ctx->Depth.Func)));
- _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_ZWRITEENABLE, ctx->Depth.Mask ? TRUE : FALSE));
-}
-
-//---------------------------------------------------------------------------
-
-void gld_NEW_POLYGON(
- GLcontext *ctx)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx7 *gld = GLD_GET_DX7_DRIVER(gldCtx);
-
- D3DFILLMODE d3dFillMode = D3DFILL_SOLID;
- D3DCULL d3dCullMode = D3DCULL_NONE;
- int iOffset = 0;
-
- // Fillmode
- switch (ctx->Polygon.FrontMode) {
- case GL_POINT:
- d3dFillMode = D3DFILL_POINT;
- break;
- case GL_LINE:
- d3dFillMode = D3DFILL_WIREFRAME;
- break;
- case GL_FILL:
- d3dFillMode = D3DFILL_SOLID;
- break;
- }
- _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_FILLMODE, d3dFillMode));
-
- if (ctx->Polygon.CullFlag) {
- switch (ctx->Polygon.CullFaceMode) {
- case GL_BACK:
- if (ctx->Polygon.FrontFace == GL_CCW)
- d3dCullMode = D3DCULL_CW;
- else
- d3dCullMode = D3DCULL_CCW;
- break;
- case GL_FRONT:
- if (ctx->Polygon.FrontFace == GL_CCW)
- d3dCullMode = D3DCULL_CCW;
- else
- d3dCullMode = D3DCULL_CW;
- break;
- case GL_FRONT_AND_BACK:
- d3dCullMode = D3DCULL_NONE;
- break;
- default:
- break;
- }
- } else {
- d3dCullMode = D3DCULL_NONE;
- }
-// d3dCullMode = D3DCULL_NONE; // TODO: DEBUGGING
- _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_CULLMODE, d3dCullMode));
-
- // Polygon offset
- // ZBIAS ranges from 0 to 16 and can only move towards the viewer
- // Mesa5: ctx->Polygon._OffsetAny removed
- if (ctx->Polygon.OffsetFill) {
- iOffset = (int)ctx->Polygon.OffsetUnits;
- if (iOffset < 0)
- iOffset = -iOffset;
- else
- iOffset = 0; // D3D can't push away
- }
- _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_ZBIAS, iOffset));
-}
-
-//---------------------------------------------------------------------------
-
-void gld_NEW_FOG(
- GLcontext *ctx)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx7 *gld = GLD_GET_DX7_DRIVER(gldCtx);
-
- D3DCOLOR d3dFogColour;
- D3DFOGMODE d3dFogMode = D3DFOG_LINEAR;
-
- // TODO: Fog is calculated seperately in the Mesa pipeline
- _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_FOGENABLE, FALSE));
- return;
-
- // Fog enable
- _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_FOGENABLE, ctx->Fog.Enabled));
- if (!ctx->Fog.Enabled) {
- _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_FOGTABLEMODE, D3DFOG_NONE));
- _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_FOGVERTEXMODE, D3DFOG_NONE));
- return; // If disabled, don't bother setting any fog state
- }
-
- // Fog colour
- d3dFogColour = D3DCOLOR_COLORVALUE( ctx->Fog.Color[0],
- ctx->Fog.Color[1],
- ctx->Fog.Color[2],
- ctx->Fog.Color[3]);
- _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_FOGCOLOR, d3dFogColour));
-
- // Fog density
- _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_FOGDENSITY, *((DWORD*) (&ctx->Fog.Density))));
-
- // Fog start
- _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_FOGSTART, *((DWORD*) (&ctx->Fog.Start))));
-
- // Fog end
- _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_FOGEND, *((DWORD*) (&ctx->Fog.End))));
-
- // Fog mode
- switch (ctx->Fog.Mode) {
- case GL_LINEAR:
- d3dFogMode = D3DFOG_LINEAR;
- break;
- case GL_EXP:
- d3dFogMode = D3DFOG_EXP;
- break;
- case GL_EXP2:
- d3dFogMode = D3DFOG_EXP2;
- break;
- }
- _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_FOGTABLEMODE, d3dFogMode));
- _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_FOGVERTEXMODE, D3DFOG_NONE));
-}
-
-//---------------------------------------------------------------------------
-
-void gld_NEW_LIGHT(
- GLcontext *ctx)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx7 *gld = GLD_GET_DX7_DRIVER(gldCtx);
- DWORD dwSpecularEnable;
-
- // Shademode
- _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_SHADEMODE, (ctx->Light.ShadeModel == GL_SMOOTH) ? D3DSHADE_GOURAUD : D3DSHADE_FLAT));
-
- // Separate specular colour
- if (ctx->Light.Enabled)
- dwSpecularEnable = (ctx->_TriangleCaps & DD_SEPARATE_SPECULAR) ? TRUE: FALSE;
- else
- dwSpecularEnable = FALSE;
- _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_SPECULARENABLE, dwSpecularEnable));
-}
-
-//---------------------------------------------------------------------------
-
-void gld_NEW_MODELVIEW(
- GLcontext *ctx)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx7 *gld = GLD_GET_DX7_DRIVER(gldCtx);
-
- D3DMATRIX m;
- //GLfloat *pM = ctx->ModelView.m;
- // Mesa5: Model-view is now a stack
- GLfloat *pM = ctx->ModelviewMatrixStack.Top->m;
- m._11 = pM[0];
- m._12 = pM[1];
- m._13 = pM[2];
- m._14 = pM[3];
- m._21 = pM[4];
- m._22 = pM[5];
- m._23 = pM[6];
- m._24 = pM[7];
- m._31 = pM[8];
- m._32 = pM[9];
- m._33 = pM[10];
- m._34 = pM[11];
- m._41 = pM[12];
- m._42 = pM[13];
- m._43 = pM[14];
- m._44 = pM[15];
-/* m[0][0] = pM[0];
- m[0][1] = pM[1];
- m[0][2] = pM[2];
- m[0][3] = pM[3];
- m[1][0] = pM[4];
- m[1][1] = pM[5];
- m[1][2] = pM[6];
- m[1][3] = pM[7];
- m[2][0] = pM[8];
- m[2][1] = pM[9];
- m[2][2] = pM[10];
- m[2][3] = pM[11];
- m[3][0] = pM[12];
- m[3][1] = pM[13];
- m[3][2] = pM[14];
- m[3][3] = pM[15];*/
-
- gld->matModelView = m;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_NEW_PROJECTION(
- GLcontext *ctx)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx7 *gld = GLD_GET_DX7_DRIVER(gldCtx);
-
- D3DMATRIX m;
- //GLfloat *pM = ctx->ProjectionMatrix.m;
- // Mesa 5: Now a stack
- GLfloat *pM = ctx->ProjectionMatrixStack.Top->m;
- m._11 = pM[0];
- m._12 = pM[1];
- m._13 = pM[2];
- m._14 = pM[3];
-
- m._21 = pM[4];
- m._22 = pM[5];
- m._23 = pM[6];
- m._24 = pM[7];
-
- m._31 = pM[8];
- m._32 = pM[9];
- m._33 = pM[10] / _fPersp_33; // / 1.6f;
- m._34 = pM[11];
-
- m._41 = pM[12];
- m._42 = pM[13];
- m._43 = pM[14] / 2.0f;
- m._44 = pM[15];
-
- gld->matProjection = m;
-}
-
-//---------------------------------------------------------------------------
-/*
-void gldFrustumHook_DX7(
- GLdouble left,
- GLdouble right,
- GLdouble bottom,
- GLdouble top,
- GLdouble nearval,
- GLdouble farval)
-{
- GET_CURRENT_CONTEXT(ctx);
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx7 *gld = GLD_GET_DX7_DRIVER(gldCtx);
-
- // Pass values on to Mesa first (in case we mess with them)
- _mesa_Frustum(left, right, bottom, top, nearval, farval);
-
- _fPersp_33 = farval / (nearval - farval);
-
-// ddlogPrintf(GLDLOG_SYSTEM, "Frustum: %f", farval/nearval);
-}
-
-//---------------------------------------------------------------------------
-
-void gldOrthoHook_DX7(
- GLdouble left,
- GLdouble right,
- GLdouble bottom,
- GLdouble top,
- GLdouble nearval,
- GLdouble farval)
-{
- GET_CURRENT_CONTEXT(ctx);
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx7 *gld = GLD_GET_DX7_DRIVER(gldCtx);
-
- // Pass values on to Mesa first (in case we mess with them)
- _mesa_Ortho(left, right, bottom, top, nearval, farval);
-
- _fPersp_33 = 1.6f;
-
-// ddlogPrintf(GLDLOG_SYSTEM, "Ortho: %f", farval/nearval);
-}
-*/
-//---------------------------------------------------------------------------
-
-void gld_NEW_VIEWPORT(
- GLcontext *ctx)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx7 *gld = GLD_GET_DX7_DRIVER(gldCtx);
-
- D3DVIEWPORT7 d3dvp;
-// GLint x, y;
-// GLsizei w, h;
-
- // Set depth range
- _GLD_DX7_DEV(GetViewport(gld->pDev, &d3dvp));
- // D3D can't do Quake1/Quake2 z-trick
- if (ctx->Viewport.Near <= ctx->Viewport.Far) {
- d3dvp.dvMinZ = ctx->Viewport.Near;
- d3dvp.dvMaxZ = ctx->Viewport.Far;
- } else {
- d3dvp.dvMinZ = ctx->Viewport.Far;
- d3dvp.dvMaxZ = ctx->Viewport.Near;
- }
-/* x = ctx->Viewport.X;
- y = ctx->Viewport.Y;
- w = ctx->Viewport.Width;
- h = ctx->Viewport.Height;
- if (x < 0) x = 0;
- if (y < 0) y = 0;
- if (w > gldCtx->dwWidth) w = gldCtx->dwWidth;
- if (h > gldCtx->dwHeight) h = gldCtx->dwHeight;
- // Ditto for D3D viewport dimensions
- if (w+x > gldCtx->dwWidth) w = gldCtx->dwWidth-x;
- if (h+y > gldCtx->dwHeight) h = gldCtx->dwHeight-y;
- d3dvp.X = x;
- d3dvp.Y = gldCtx->dwHeight - (y + h);
- d3dvp.Width = w;
- d3dvp.Height = h;*/
- _GLD_DX7_DEV(SetViewport(gld->pDev, &d3dvp));
-
-// gld->fFlipWindowY = (float)gldCtx->dwHeight;
-}
-
-//---------------------------------------------------------------------------
-
-__inline BOOL _gldAnyEvalEnabled(
- GLcontext *ctx)
-{
- struct gl_eval_attrib *eval = &ctx->Eval;
-
- if ((eval->AutoNormal) ||
- (eval->Map1Color4) ||
- (eval->Map1Index) ||
- (eval->Map1Normal) ||
- (eval->Map1TextureCoord1) ||
- (eval->Map1TextureCoord2) ||
- (eval->Map1TextureCoord3) ||
- (eval->Map1TextureCoord4) ||
- (eval->Map1Vertex3) ||
- (eval->Map1Vertex4) ||
- (eval->Map2Color4) ||
- (eval->Map2Index) ||
- (eval->Map2Normal) ||
- (eval->Map2TextureCoord1) ||
- (eval->Map2TextureCoord2) ||
- (eval->Map2TextureCoord3) ||
- (eval->Map2TextureCoord4) ||
- (eval->Map2Vertex3) ||
- (eval->Map2Vertex4)
- )
- return TRUE;
-
- return FALSE;
-}
-
-//---------------------------------------------------------------------------
-
-BOOL _gldChooseInternalPipeline(
- GLcontext *ctx,
- GLD_driver_dx7 *gld)
-{
-// return TRUE; // DEBUGGING: ALWAYS USE MESA
-// return FALSE; // DEBUGGING: ALWAYS USE D3D
-
- if ((glb.dwTnL == GLDS_TNL_MESA) || (gld->bHasHWTnL == FALSE))
- {
- gld->PipelineUsage.qwMesa.QuadPart++;
- return TRUE; // Force Mesa TnL
- }
-
- if ((ctx->Light.Enabled) ||
- (1) ||
- (ctx->Texture._TexGenEnabled) ||
- (ctx->Texture._TexMatEnabled) ||
-// (ctx->Transform._AnyClip) ||
- (ctx->Scissor.Enabled) ||
- _gldAnyEvalEnabled(ctx) // Put this last so we can early-out
- )
- {
- gld->PipelineUsage.qwMesa.QuadPart++;
- return TRUE;
- }
-
- gld->PipelineUsage.qwD3DFVF.QuadPart++;
- return FALSE;
-
-/* // Force Mesa pipeline?
- if (glb.dwTnL == GLDS_TNL_MESA) {
- gld->PipelineUsage.dwMesa.QuadPart++;
- return GLD_PIPELINE_MESA;
- }
-
- // Test for functionality not exposed in the D3D pathways
- if ((ctx->Texture._GenFlags)) {
- gld->PipelineUsage.dwMesa.QuadPart++;
- return GLD_PIPELINE_MESA;
- }
-
- // Now decide if vertex shader can be used.
- // If two sided lighting is enabled then we must either
- // use Mesa TnL or the vertex shader
- if (ctx->_TriangleCaps & DD_TRI_LIGHT_TWOSIDE) {
- if (gld->VStwosidelight.hShader && !ctx->Fog.Enabled) {
- // Use Vertex Shader
- gld->PipelineUsage.dwD3D2SVS.QuadPart++;
- return GLD_PIPELINE_D3D_VS_TWOSIDE;
- } else {
- // Use Mesa TnL
- gld->PipelineUsage.dwMesa.QuadPart++;
- return GLD_PIPELINE_MESA;
- }
- }
-
- // Must be D3D fixed-function pipeline
- gld->PipelineUsage.dwD3DFVF.QuadPart++;
- return GLD_PIPELINE_D3D_FVF;
-*/
-}
-
-//---------------------------------------------------------------------------
-
-void gld_update_state_DX7(
- GLcontext *ctx,
- GLuint new_state)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx7 *gld = GLD_GET_DX7_DRIVER(gldCtx);
- TNLcontext *tnl = TNL_CONTEXT(ctx);
- GLD_pb_dx7 *gldPB;
-
- if (!gld || !gld->pDev)
- return;
-
- _swsetup_InvalidateState( ctx, new_state );
- _vbo_InvalidateState( ctx, new_state );
- _tnl_InvalidateState( ctx, new_state );
-
- // SetupIndex will be used in the pipelines for choosing setup function
- if ((ctx->_TriangleCaps & (DD_TRI_LIGHT_TWOSIDE | DD_SEPARATE_SPECULAR)) ||
- (ctx->Fog.Enabled))
- {
- if (ctx->_TriangleCaps & DD_FLATSHADE)
- gld->iSetupFunc = GLD_SI_FLAT_EXTRAS;
- else
- gld->iSetupFunc = GLD_SI_SMOOTH_EXTRAS;
- } else {
- if (ctx->_TriangleCaps & DD_FLATSHADE)
- gld->iSetupFunc = GLD_SI_FLAT; // Setup flat shade + texture
- else
- gld->iSetupFunc = GLD_SI_SMOOTH; // Setup smooth shade + texture
- }
-
- gld->bUseMesaTnL = _gldChooseInternalPipeline(ctx, gld);
- if (gld->bUseMesaTnL) {
- gldPB = &gld->PB2d;
- // DX7 Does not implement D3DRS_SOFTWAREVERTEXPROCESSING
-// _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_SOFTWAREVERTEXPROCESSING, TRUE));
- _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_CLIPPING, FALSE));
-// _GLD_DX7_DEV(SetVertexShader(gld->pDev, gldPB->dwFVF));
- } else {
- gldPB = &gld->PB3d;
- _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_CLIPPING, TRUE));
-// if (gld->TnLPipeline == GLD_PIPELINE_D3D_VS_TWOSIDE) {
-// _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_SOFTWAREVERTEXPROCESSING, !gld->VStwosidelight.bHardware));
-// _GLD_DX7_DEV(SetVertexShader(gld->pDev, gld->VStwosidelight.hShader));
-// } else {
- // DX7 Does not implement D3DRS_SOFTWAREVERTEXPROCESSING
-// _GLD_DX7_DEV(SetRenderState(gld->pDev, D3DRENDERSTATE_SOFTWAREVERTEXPROCESSING, !gld->bHasHWTnL));
-// _GLD_DX7_DEV(SetVertexShader(gld->pDev, gldPB->dwFVF));
-// }
- }
-
-#define _GLD_TEST_STATE(a) \
- if (new_state & (a)) { \
- gld##a(ctx); \
- new_state &= ~(a); \
- }
-
-#define _GLD_TEST_STATE_DX7(a) \
- if (new_state & (a)) { \
- gld##a##_DX7(ctx); \
- new_state &= ~(a); \
- }
-
-#define _GLD_IGNORE_STATE(a) new_state &= ~(a);
-
-// if (!gld->bUseMesaTnL) {
- // Not required if Mesa is doing the TnL.
- // Problem: If gld->bUseMesaTnL is TRUE when these are signaled,
- // then we'll miss updating the D3D TnL pipeline.
- // Therefore, don't test for gld->bUseMesaTnL
- _GLD_TEST_STATE(_NEW_MODELVIEW);
- _GLD_TEST_STATE(_NEW_PROJECTION);
-// }
-
- _GLD_TEST_STATE_DX7(_NEW_TEXTURE); // extern, so guard with _DX7
- _GLD_TEST_STATE(_NEW_COLOR);
- _GLD_TEST_STATE(_NEW_DEPTH);
- _GLD_TEST_STATE(_NEW_POLYGON);
- _GLD_TEST_STATE(_NEW_STENCIL);
- _GLD_TEST_STATE(_NEW_FOG);
- _GLD_TEST_STATE(_NEW_LIGHT);
- _GLD_TEST_STATE(_NEW_VIEWPORT);
-
- _GLD_IGNORE_STATE(_NEW_TRANSFORM);
-
-
-// Stubs for future use.
-/* _GLD_TEST_STATE(_NEW_TEXTURE_MATRIX);
- _GLD_TEST_STATE(_NEW_COLOR_MATRIX);
- _GLD_TEST_STATE(_NEW_ACCUM);
- _GLD_TEST_STATE(_NEW_EVAL);
- _GLD_TEST_STATE(_NEW_HINT);
- _GLD_TEST_STATE(_NEW_LINE);
- _GLD_TEST_STATE(_NEW_PIXEL);
- _GLD_TEST_STATE(_NEW_POINT);
- _GLD_TEST_STATE(_NEW_POLYGONSTIPPLE);
- _GLD_TEST_STATE(_NEW_SCISSOR);
- _GLD_TEST_STATE(_NEW_PACKUNPACK);
- _GLD_TEST_STATE(_NEW_ARRAY);
- _GLD_TEST_STATE(_NEW_RENDERMODE);
- _GLD_TEST_STATE(_NEW_BUFFERS);
- _GLD_TEST_STATE(_NEW_MULTISAMPLE);
-*/
-
-// For debugging.
-#if 0
-#define _GLD_TEST_UNHANDLED_STATE(a) \
- if (new_state & (a)) { \
- gldLogMessage(GLDLOG_ERROR, "Unhandled " #a "\n"); \
- }
- _GLD_TEST_UNHANDLED_STATE(_NEW_TEXTURE_MATRIX);
- _GLD_TEST_UNHANDLED_STATE(_NEW_COLOR_MATRIX);
- _GLD_TEST_UNHANDLED_STATE(_NEW_ACCUM);
- _GLD_TEST_UNHANDLED_STATE(_NEW_EVAL);
- _GLD_TEST_UNHANDLED_STATE(_NEW_HINT);
- _GLD_TEST_UNHANDLED_STATE(_NEW_LINE);
- _GLD_TEST_UNHANDLED_STATE(_NEW_PIXEL);
- _GLD_TEST_UNHANDLED_STATE(_NEW_POINT);
- _GLD_TEST_UNHANDLED_STATE(_NEW_POLYGONSTIPPLE);
- _GLD_TEST_UNHANDLED_STATE(_NEW_SCISSOR);
- _GLD_TEST_UNHANDLED_STATE(_NEW_PACKUNPACK);
- _GLD_TEST_UNHANDLED_STATE(_NEW_ARRAY);
- _GLD_TEST_UNHANDLED_STATE(_NEW_RENDERMODE);
- _GLD_TEST_UNHANDLED_STATE(_NEW_BUFFERS);
- _GLD_TEST_UNHANDLED_STATE(_NEW_MULTISAMPLE);
-#undef _GLD_UNHANDLED_STATE
-#endif
-
-#undef _GLD_TEST_STATE
-}
-
-//---------------------------------------------------------------------------
-// Viewport
-//---------------------------------------------------------------------------
-
-void gld_Viewport_DX7(
- GLcontext *ctx,
- GLint x,
- GLint y,
- GLsizei w,
- GLsizei h)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx7 *gld = GLD_GET_DX7_DRIVER(gldCtx);
-
- D3DVIEWPORT7 d3dvp;
-
- if (!gld || !gld->pDev)
- return;
-
- // This is a hack. When the app is minimized, Mesa passes
- // w=1 and h=1 for viewport dimensions. Without this test
- // we get a GPF in gld_wgl_resize_buffers().
- if ((w==1) && (h==1))
- return;
-
- // Call ResizeBuffersMESA. This function will early-out
- // if no resize is needed.
- //ctx->Driver.ResizeBuffersMESA(ctx);
- // Mesa 5: Changed parameters
- ctx->Driver.ResizeBuffers(gldCtx->glBuffer);
-
-#if 0
- ddlogPrintf(GLDLOG_SYSTEM, ">> Viewport x=%d y=%d w=%d h=%d", x,y,w,h);
-#endif
-
- // ** D3D viewport must not be outside the render target surface **
- // Sanity check the GL viewport dimensions
- if (x < 0) x = 0;
- if (y < 0) y = 0;
- if (w > gldCtx->dwWidth) w = gldCtx->dwWidth;
- if (h > gldCtx->dwHeight) h = gldCtx->dwHeight;
- // Ditto for D3D viewport dimensions
- if (w+x > gldCtx->dwWidth) w = gldCtx->dwWidth-x;
- if (h+y > gldCtx->dwHeight) h = gldCtx->dwHeight-y;
-
- d3dvp.dwX = x;
- d3dvp.dwY = gldCtx->dwHeight - (y + h);
- d3dvp.dwWidth = w;
- d3dvp.dwHeight = h;
- if (ctx->Viewport.Near <= ctx->Viewport.Far) {
- d3dvp.dvMinZ = ctx->Viewport.Near;
- d3dvp.dvMaxZ = ctx->Viewport.Far;
- } else {
- d3dvp.dvMinZ = ctx->Viewport.Far;
- d3dvp.dvMaxZ = ctx->Viewport.Near;
- }
-
- // TODO: DEBUGGING
-// d3dvp.MinZ = 0.0f;
-// d3dvp.MaxZ = 1.0f;
-
- _GLD_DX7_DEV(SetViewport(gld->pDev, &d3dvp));
-
-}
-
-//---------------------------------------------------------------------------
-
-extern BOOL dglWglResizeBuffers(GLcontext *ctx, BOOL bDefaultDriver);
-
-// Mesa 5: Parameter change
-void gldResizeBuffers_DX7(
-// GLcontext *ctx)
- GLframebuffer *fb)
-{
- GET_CURRENT_CONTEXT(ctx);
- dglWglResizeBuffers(ctx, TRUE);
-}
-
-//---------------------------------------------------------------------------
-#ifdef _DEBUG
-// This is only for debugging.
-// To use, plug into ctx->Driver.Enable pointer below.
-void gld_Enable(
- GLcontext *ctx,
- GLenum e,
- GLboolean b)
-{
- char buf[1024];
- sprintf(buf, "Enable: %s (%s)\n", _mesa_lookup_enum_by_nr(e), b?"TRUE":"FALSE");
- ddlogMessage(DDLOG_SYSTEM, buf);
-}
-#endif
-//---------------------------------------------------------------------------
-// Driver pointer setup
-//---------------------------------------------------------------------------
-
-extern const GLubyte* _gldGetStringGeneric(GLcontext*, GLenum);
-
-void gldSetupDriverPointers_DX7(
- GLcontext *ctx)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx7 *gld = GLD_GET_DX7_DRIVER(gldCtx);
-
- TNLcontext *tnl = TNL_CONTEXT(ctx);
-
- // Mandatory functions
- ctx->Driver.GetString = _gldGetStringGeneric;
- ctx->Driver.UpdateState = gld_update_state_DX7;
- ctx->Driver.Clear = gld_Clear_DX7;
- ctx->Driver.DrawBuffer = gld_set_draw_buffer_DX7;
- ctx->Driver.GetBufferSize = gld_buffer_size_DX7;
- ctx->Driver.Finish = gld_Finish_DX7;
- ctx->Driver.Flush = gld_Flush_DX7;
- ctx->Driver.Error = gld_Error_DX7;
-
- // Hardware accumulation buffer
- ctx->Driver.Accum = NULL; // TODO: gld_Accum;
-
- // Bitmap functions
- ctx->Driver.CopyPixels = gld_CopyPixels_DX7;
- ctx->Driver.DrawPixels = gld_DrawPixels_DX7;
- ctx->Driver.ReadPixels = gld_ReadPixels_DX7;
- ctx->Driver.Bitmap = gld_Bitmap_DX7;
-
- // Buffer resize
- ctx->Driver.ResizeBuffers = gldResizeBuffers_DX7;
-
- // Texture image functions
- ctx->Driver.ChooseTextureFormat = gld_ChooseTextureFormat_DX7;
- ctx->Driver.TexImage1D = gld_TexImage1D_DX7;
- ctx->Driver.TexImage2D = gld_TexImage2D_DX7;
- ctx->Driver.TexImage3D = _mesa_store_teximage3d;
- ctx->Driver.TexSubImage1D = gld_TexSubImage1D_DX7;
- ctx->Driver.TexSubImage2D = gld_TexSubImage2D_DX7;
- ctx->Driver.TexSubImage3D = _mesa_store_texsubimage3d;
-
- ctx->Driver.CopyTexImage1D = gldCopyTexImage1D_DX7; //NULL;
- ctx->Driver.CopyTexImage2D = gldCopyTexImage2D_DX7; //NULL;
- ctx->Driver.CopyTexSubImage1D = gldCopyTexSubImage1D_DX7; //NULL;
- ctx->Driver.CopyTexSubImage2D = gldCopyTexSubImage2D_DX7; //NULL;
- ctx->Driver.CopyTexSubImage3D = gldCopyTexSubImage3D_DX7;
- ctx->Driver.TestProxyTexImage = _mesa_test_proxy_teximage;
-
- // Texture object functions
- ctx->Driver.BindTexture = NULL;
- ctx->Driver.NewTextureObject = NULL; // Not yet implemented by Mesa!;
- ctx->Driver.DeleteTexture = gld_DeleteTexture_DX7;
- ctx->Driver.PrioritizeTexture = NULL;
-
- // Imaging functionality
- ctx->Driver.CopyColorTable = NULL;
- ctx->Driver.CopyColorSubTable = NULL;
- ctx->Driver.CopyConvolutionFilter1D = NULL;
- ctx->Driver.CopyConvolutionFilter2D = NULL;
-
- // State changing functions
- ctx->Driver.AlphaFunc = NULL; //gld_AlphaFunc;
- ctx->Driver.BlendFuncSeparate = NULL; //gld_BlendFunc;
- ctx->Driver.ClearColor = NULL; //gld_ClearColor;
- ctx->Driver.ClearDepth = NULL; //gld_ClearDepth;
- ctx->Driver.ClearStencil = NULL; //gld_ClearStencil;
- ctx->Driver.ColorMask = NULL; //gld_ColorMask;
- ctx->Driver.CullFace = NULL; //gld_CullFace;
- ctx->Driver.ClipPlane = NULL; //gld_ClipPlane;
- ctx->Driver.FrontFace = NULL; //gld_FrontFace;
- ctx->Driver.DepthFunc = NULL; //gld_DepthFunc;
- ctx->Driver.DepthMask = NULL; //gld_DepthMask;
- ctx->Driver.DepthRange = NULL;
- ctx->Driver.Enable = NULL; //gld_Enable;
- ctx->Driver.Fogfv = NULL; //gld_Fogfv;
- ctx->Driver.Hint = NULL; //gld_Hint;
- ctx->Driver.Lightfv = NULL; //gld_Lightfv;
- ctx->Driver.LightModelfv = NULL; //gld_LightModelfv;
- ctx->Driver.LineStipple = NULL; //gld_LineStipple;
- ctx->Driver.LineWidth = NULL; //gld_LineWidth;
- ctx->Driver.LogicOpcode = NULL; //gld_LogicOpcode;
- ctx->Driver.PointParameterfv = NULL; //gld_PointParameterfv;
- ctx->Driver.PointSize = NULL; //gld_PointSize;
- ctx->Driver.PolygonMode = NULL; //gld_PolygonMode;
- ctx->Driver.PolygonOffset = NULL; //gld_PolygonOffset;
- ctx->Driver.PolygonStipple = NULL; //gld_PolygonStipple;
- ctx->Driver.RenderMode = NULL; //gld_RenderMode;
- ctx->Driver.Scissor = NULL; //gld_Scissor;
- ctx->Driver.ShadeModel = NULL; //gld_ShadeModel;
- ctx->Driver.StencilFunc = NULL; //gld_StencilFunc;
- ctx->Driver.StencilMask = NULL; //gld_StencilMask;
- ctx->Driver.StencilOp = NULL; //gld_StencilOp;
- ctx->Driver.TexGen = NULL; //gld_TexGen;
- ctx->Driver.TexEnv = NULL;
- ctx->Driver.TexParameter = NULL;
- ctx->Driver.TextureMatrix = NULL; //gld_TextureMatrix;
- ctx->Driver.Viewport = gld_Viewport_DX7;
-
- _swsetup_Wakeup(ctx);
-
- tnl->Driver.RunPipeline = _tnl_run_pipeline;
- tnl->Driver.Render.ResetLineStipple = gld_ResetLineStipple_DX7;
- tnl->Driver.Render.ClippedPolygon = _tnl_RenderClippedPolygon;
- tnl->Driver.Render.ClippedLine = _tnl_RenderClippedLine;
-
- // Hook into glFrustum() and glOrtho()
-// ctx->Exec->Frustum = gldFrustumHook_DX7;
-// ctx->Exec->Ortho = gldOrthoHook_DX7;
-
-}
-
-//---------------------------------------------------------------------------
diff --git a/src/mesa/drivers/windows/gldirect/dx7/gld_dx7.h b/src/mesa/drivers/windows/gldirect/dx7/gld_dx7.h
deleted file mode 100644
index b5a491e41b..0000000000
--- a/src/mesa/drivers/windows/gldirect/dx7/gld_dx7.h
+++ /dev/null
@@ -1,292 +0,0 @@
-/****************************************************************************
-*
-* Mesa 3-D graphics library
-* Direct3D Driver Interface
-*
-* ========================================================================
-*
-* Copyright (C) 1991-2004 SciTech Software, Inc. 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
-* SCITECH SOFTWARE INC 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.
-*
-* ======================================================================
-*
-* Language: ANSI C
-* Environment: Windows 9x/2000/XP/XBox (Win32)
-*
-* Description: GLDirect Direct3D 7.0a header file
-*
-****************************************************************************/
-
-#ifndef _GLD_DX7_H
-#define _GLD_DX7_H
-
-//---------------------------------------------------------------------------
-// Windows includes
-//---------------------------------------------------------------------------
-
-#define DIRECTDRAW_VERSION 0x0700
-#define DIRECT3D_VERSION 0x0700
-#include <d3d.h>
-#include <d3dx.h>
-
-// Typedef for obtaining function from d3d7.dll
-//typedef IDirect3D7* (WINAPI *FNDIRECT3DCREATE7) (UINT);
-
-
-//---------------------------------------------------------------------------
-// Defines
-//---------------------------------------------------------------------------
-
-#ifdef _DEBUG
-// Debug build tests the return value of D3D calls
-#define _GLD_TEST_HRESULT(h) \
-{ \
- HRESULT _hr = (h); \
- if (FAILED(_hr)) { \
- gldLogError(GLDLOG_ERROR, #h, _hr); \
- } \
-}
-#define _GLD_DX7(func) _GLD_TEST_HRESULT(IDirect3D7_##func##)
-#define _GLD_DX7_DEV(func) _GLD_TEST_HRESULT(IDirect3DDevice7_##func##)
-#define _GLD_DX7_VB(func) _GLD_TEST_HRESULT(IDirect3DVertexBuffer7_##func##)
-#define _GLD_DX7_TEX(func) _GLD_TEST_HRESULT(IDirectDrawSurface7_##func##)
-#else
-#define _GLD_DX7(func) IDirect3D7_##func
-#define _GLD_DX7_DEV(func) IDirect3DDevice7_##func
-#define _GLD_DX7_VB(func) IDirect3DVertexBuffer7_##func
-#define _GLD_DX7_TEX(func) IDirectDrawSurface7_##func
-#endif
-
-#define SAFE_RELEASE(p) \
-{ \
- if (p) { \
- (p)->lpVtbl->Release(p); \
- (p) = NULL; \
- } \
-}
-
-#define SAFE_RELEASE_VB7(p) \
-{ \
- if (p) { \
- IDirect3DVertexBuffer7_Release((p)); \
- (p) = NULL; \
- } \
-}
-
-#define SAFE_RELEASE_SURFACE7(p) \
-{ \
- if (p) { \
- IDirectDrawSurface7_Release((p)); \
- (p) = NULL; \
- } \
-}
-
-// Emulate some DX8 defines
-#define D3DCOLOR_ARGB(a,r,g,b) ((D3DCOLOR)((((a)&0xff)<<24)|(((r)&0xff)<<16)|(((g)&0xff)<<8)|((b)&0xff)))
-#define D3DCOLOR_RGBA(r,g,b,a) D3DCOLOR_ARGB(a,r,g,b)
-#define D3DCOLOR_COLORVALUE(r,g,b,a) D3DCOLOR_RGBA((DWORD)((r)*255.f),(DWORD)((g)*255.f),(DWORD)((b)*255.f),(DWORD)((a)*255.f))
-
-
-// Setup index.
-enum {
- GLD_SI_FLAT = 0,
- GLD_SI_SMOOTH = 1,
- GLD_SI_FLAT_EXTRAS = 2,
- GLD_SI_SMOOTH_EXTRAS = 3,
-};
-
-//---------------------------------------------------------------------------
-// Vertex definitions for Fixed-Function pipeline
-//---------------------------------------------------------------------------
-
-//
-// NOTE: If the number of texture units is altered then most of
-// the texture code will need to be revised.
-//
-
-#define GLD_MAX_TEXTURE_UNITS_DX7 2
-
-//
-// 2D vertex transformed by Mesa
-//
-#define GLD_FVF_2D_VERTEX ( D3DFVF_XYZRHW | \
- D3DFVF_DIFFUSE | \
- D3DFVF_SPECULAR | \
- D3DFVF_TEX2)
-typedef struct {
- FLOAT x, y; // 2D raster coords
- FLOAT sz; // Screen Z (depth)
- FLOAT rhw; // Reciprocal homogenous W
- DWORD diffuse; // Diffuse colour
- DWORD specular; // For separate-specular support
- FLOAT t0_u, t0_v; // 1st set of texture coords
- FLOAT t1_u, t1_v; // 2nd set of texture coords
-} GLD_2D_VERTEX;
-
-
-//
-// 3D vertex transformed by Direct3D
-//
-#define GLD_FVF_3D_VERTEX ( D3DFVF_XYZ | \
- D3DFVF_DIFFUSE | \
- D3DFVF_TEX2)
-
-typedef struct {
- D3DXVECTOR3 Position; // XYZ Vector in object space
- D3DCOLOR Diffuse; // Diffuse colour
- D3DXVECTOR2 TexUnit0; // Texture unit 0
- D3DXVECTOR2 TexUnit1; // Texture unit 1
-} GLD_3D_VERTEX;
-
-//---------------------------------------------------------------------------
-// Structs
-//---------------------------------------------------------------------------
-
-// This keeps a count of how many times we choose each individual internal
-// pathway. Useful for seeing if a certain pathway was ever used by an app, and
-// how much each pathway is biased.
-// Zero the members at context creation and dump stats at context deletion.
-typedef struct {
- // Note: DWORD is probably too small
- ULARGE_INTEGER qwMesa; // Mesa TnL pipeline
- ULARGE_INTEGER qwD3DFVF; // Direct3D Fixed-Function pipeline
-} GLD_pipeline_usage;
-
-// GLDirect Primitive Buffer (points, lines, triangles and quads)
-typedef struct {
- // Data for IDirect3D7::CreateVertexBuffer()
- DWORD dwStride; // Stride of vertex
- DWORD dwCreateFlags; // Create flags
- DWORD dwFVF; // Direct3D Flexible Vertex Format
-
- IDirect3DVertexBuffer7 *pVB; // Holds points, lines, tris and quads.
-
- // Point list is assumed to be at start of buffer
- DWORD iFirstLine; // Index of start of line list
- DWORD iFirstTriangle; // Index of start of triangle list
-
- BYTE *pPoints; // Pointer to next free point
- BYTE *pLines; // Pointer to next free line
- BYTE *pTriangles; // Pointer to next free triangle
-
- DWORD nPoints; // Number of points ready to render
- DWORD nLines; // Number of lines ready to render
- DWORD nTriangles; // Number of triangles ready to render
-} GLD_pb_dx7;
-
-// GLDirect DX7 driver data
-typedef struct {
- // GLDirect vars
- BOOL bDoublebuffer; // Doublebuffer (otherwise single-buffered)
- BOOL bDepthStencil; // Depth buffer needed (stencil optional)
- D3DX_SURFACEFORMAT RenderFormat; // Format of back/front buffer
- D3DX_SURFACEFORMAT DepthFormat; // Format of depth/stencil
-
- // Direct3D vars
- DDCAPS ddCaps;
- D3DDEVICEDESC7 d3dCaps;
- BOOL bHasHWTnL; // Device has Hardware Transform/Light?
- ID3DXContext *pD3DXContext; // Base D3DX context
- IDirectDraw7 *pDD; // DirectDraw7 interface
- IDirect3D7 *pD3D; // Base Direct3D7 interface
- IDirect3DDevice7 *pDev; // Direct3D7 Device interface
- GLD_pb_dx7 PB2d; // Vertices transformed by Mesa
- GLD_pb_dx7 PB3d; // Vertices transformed by Direct3D
- D3DPRIMITIVETYPE d3dpt; // Current Direct3D primitive type
- D3DMATRIX matProjection; // Projection matrix for D3D TnL
- D3DMATRIX matModelView; // Model/View matrix for D3D TnL
- int iSetupFunc; // Which setup functions to use
- BOOL bUseMesaTnL; // Whether to use Mesa or D3D for TnL
-
- GLD_pipeline_usage PipelineUsage;
-} GLD_driver_dx7;
-
-#define GLD_GET_DX7_DRIVER(c) (GLD_driver_dx7*)(c)->glPriv
-
-//---------------------------------------------------------------------------
-// Function prototypes
-//---------------------------------------------------------------------------
-
-PROC gldGetProcAddress_DX7(LPCSTR a);
-void gldEnableExtensions_DX7(GLcontext *ctx);
-void gldInstallPipeline_DX7(GLcontext *ctx);
-void gldSetupDriverPointers_DX7(GLcontext *ctx);
-void gldResizeBuffers_DX7(GLframebuffer *fb);
-
-
-// Texture functions
-
-void gldCopyTexImage1D_DX7(GLcontext *ctx, GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLint border);
-void gldCopyTexImage2D_DX7(GLcontext *ctx, GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
-void gldCopyTexSubImage1D_DX7(GLcontext *ctx, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width );
-void gldCopyTexSubImage2D_DX7(GLcontext *ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height );
-void gldCopyTexSubImage3D_DX7(GLcontext *ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height );
-
-void gld_NEW_TEXTURE_DX7(GLcontext *ctx);
-void gld_DrawPixels_DX7(GLcontext *ctx, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, const struct gl_pixelstore_attrib *unpack, const GLvoid *pixels);
-void gld_ReadPixels_DX7(GLcontext *ctx, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, const struct gl_pixelstore_attrib *unpack, GLvoid *dest);
-void gld_CopyPixels_DX7(GLcontext *ctx, GLint srcx, GLint srcy, GLsizei width, GLsizei height, GLint dstx, GLint dsty, GLenum type);
-void gld_Bitmap_DX7(GLcontext *ctx, GLint x, GLint y, GLsizei width, GLsizei height, const struct gl_pixelstore_attrib *unpack, const GLubyte *bitmap);
-const struct gl_texture_format* gld_ChooseTextureFormat_DX7(GLcontext *ctx, GLint internalFormat, GLenum srcFormat, GLenum srcType);
-void gld_TexImage2D_DX7(GLcontext *ctx, GLenum target, GLint level, GLint internalFormat, GLint width, GLint height, GLint border, GLenum format, GLenum type, const GLvoid *pixels, const struct gl_pixelstore_attrib *packing, struct gl_texture_object *tObj, struct gl_texture_image *texImage);
-void gld_TexImage1D_DX7(GLcontext *ctx, GLenum target, GLint level, GLint internalFormat, GLint width, GLint border, GLenum format, GLenum type, const GLvoid *pixels, const struct gl_pixelstore_attrib *packing, struct gl_texture_object *texObj, struct gl_texture_image *texImage );
-void gld_TexSubImage2D_DX7( GLcontext *ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels, const struct gl_pixelstore_attrib *packing, struct gl_texture_object *texObj, struct gl_texture_image *texImage );
-void gld_TexSubImage1D_DX7(GLcontext *ctx, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels, const struct gl_pixelstore_attrib *packing, struct gl_texture_object *texObj, struct gl_texture_image *texImage);
-void gld_DeleteTexture_DX7(GLcontext *ctx, struct gl_texture_object *tObj);
-void gld_ResetLineStipple_DX7(GLcontext *ctx);
-
-// 2D primitive functions
-
-void gld_Points2D_DX7(GLcontext *ctx, GLuint first, GLuint last);
-
-void gld_Line2DFlat_DX7(GLcontext *ctx, GLuint v0, GLuint v1);
-void gld_Line2DSmooth_DX7(GLcontext *ctx, GLuint v0, GLuint v1);
-
-void gld_Triangle2DFlat_DX7(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2);
-void gld_Triangle2DSmooth_DX7(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2);
-void gld_Triangle2DFlatExtras_DX7(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2);
-void gld_Triangle2DSmoothExtras_DX7(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2);
-
-void gld_Quad2DFlat_DX7(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
-void gld_Quad2DSmooth_DX7(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
-void gld_Quad2DFlatExtras_DX7(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
-void gld_Quad2DSmoothExtras_DX7(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
-
-// 3D primitive functions
-
-void gld_Points3D_DX7(GLcontext *ctx, GLuint first, GLuint last);
-void gld_Line3DFlat_DX7(GLcontext *ctx, GLuint v0, GLuint v1);
-void gld_Triangle3DFlat_DX7(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2);
-void gld_Quad3DFlat_DX7(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
-void gld_Line3DSmooth_DX7(GLcontext *ctx, GLuint v0, GLuint v1);
-void gld_Triangle3DSmooth_DX7(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2);
-void gld_Quad3DSmooth_DX7(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
-
-// Primitive functions for Two-sided-lighting Vertex Shader
-
-void gld_Points2DTwoside_DX7(GLcontext *ctx, GLuint first, GLuint last);
-void gld_Line2DFlatTwoside_DX7(GLcontext *ctx, GLuint v0, GLuint v1);
-void gld_Line2DSmoothTwoside_DX7(GLcontext *ctx, GLuint v0, GLuint v1);
-void gld_Triangle2DFlatTwoside_DX7(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2);
-void gld_Triangle2DSmoothTwoside_DX7(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2);
-void gld_Quad2DFlatTwoside_DX7(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
-void gld_Quad2DSmoothTwoside_DX7(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
-
-#endif
diff --git a/src/mesa/drivers/windows/gldirect/dx7/gld_dxerr7.h b/src/mesa/drivers/windows/gldirect/dx7/gld_dxerr7.h
deleted file mode 100644
index df6fceb43e..0000000000
--- a/src/mesa/drivers/windows/gldirect/dx7/gld_dxerr7.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/*==========================================================================;
- *
- *
- * File: dxerr8.h
- * Content: DirectX Error Library Include File
- *
- ****************************************************************************/
-
-#ifndef _GLD_DXERR7_H_
-#define _GLD_DXERR7_H_
-
-
-#include <d3d.h>
-
-//
-// DXGetErrorString8
-//
-// Desc: Converts an DirectX HRESULT to a string
-//
-// Args: HRESULT hr Can be any error code from
-// DPLAY D3D8 D3DX8 DMUSIC DSOUND
-//
-// Return: Converted string
-//
-const char* __stdcall DXGetErrorString8A(HRESULT hr);
-const WCHAR* __stdcall DXGetErrorString8W(HRESULT hr);
-
-#ifdef UNICODE
- #define DXGetErrorString8 DXGetErrorString8W
-#else
- #define DXGetErrorString8 DXGetErrorString8A
-#endif
-
-
-//
-// DXTrace
-//
-// Desc: Outputs a formatted error message to the debug stream
-//
-// Args: CHAR* strFile The current file, typically passed in using the
-// __FILE__ macro.
-// DWORD dwLine The current line number, typically passed in using the
-// __LINE__ macro.
-// HRESULT hr An HRESULT that will be traced to the debug stream.
-// CHAR* strMsg A string that will be traced to the debug stream (may be NULL)
-// BOOL bPopMsgBox If TRUE, then a message box will popup also containing the passed info.
-//
-// Return: The hr that was passed in.
-//
-//HRESULT __stdcall DXTraceA( char* strFile, DWORD dwLine, HRESULT hr, char* strMsg, BOOL bPopMsgBox = FALSE );
-//HRESULT __stdcall DXTraceW( char* strFile, DWORD dwLine, HRESULT hr, WCHAR* strMsg, BOOL bPopMsgBox = FALSE );
-HRESULT __stdcall DXTraceA( char* strFile, DWORD dwLine, HRESULT hr, char* strMsg, BOOL bPopMsgBox);
-HRESULT __stdcall DXTraceW( char* strFile, DWORD dwLine, HRESULT hr, WCHAR* strMsg, BOOL bPopMsgBox);
-
-#ifdef UNICODE
- #define DXTrace DXTraceW
-#else
- #define DXTrace DXTraceA
-#endif
-
-
-//
-// Helper macros
-//
-#if defined(DEBUG) | defined(_DEBUG)
- #define DXTRACE_MSG(str) DXTrace( __FILE__, (DWORD)__LINE__, 0, str, FALSE )
- #define DXTRACE_ERR(str,hr) DXTrace( __FILE__, (DWORD)__LINE__, hr, str, TRUE )
- #define DXTRACE_ERR_NOMSGBOX(str,hr) DXTrace( __FILE__, (DWORD)__LINE__, hr, str, FALSE )
-#else
- #define DXTRACE_MSG(str) (0L)
- #define DXTRACE_ERR(str,hr) (hr)
- #define DXTRACE_ERR_NOMSGBOX(str,hr) (hr)
-#endif
-
-
-#endif
-
diff --git a/src/mesa/drivers/windows/gldirect/dx7/gld_ext_dx7.c b/src/mesa/drivers/windows/gldirect/dx7/gld_ext_dx7.c
deleted file mode 100644
index ba60980bbe..0000000000
--- a/src/mesa/drivers/windows/gldirect/dx7/gld_ext_dx7.c
+++ /dev/null
@@ -1,346 +0,0 @@
-/****************************************************************************
-*
-* Mesa 3-D graphics library
-* Direct3D Driver Interface
-*
-* ========================================================================
-*
-* Copyright (C) 1991-2004 SciTech Software, Inc. 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
-* SCITECH SOFTWARE INC 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.
-*
-* ======================================================================
-*
-* Language: ANSI C
-* Environment: Windows 9x/2000/XP/XBox (Win32)
-*
-* Description: GL extensions
-*
-****************************************************************************/
-
-//#include "../GLDirect.h"
-//#include "../gld_log.h"
-//#include "../gld_settings.h"
-
-#include <windows.h>
-#define GL_GLEXT_PROTOTYPES
-#include <GL/gl.h>
-#include <GL/glext.h>
-
-//#include "ddlog.h"
-//#include "gld_dx8.h"
-
-#include "glheader.h"
-#include "context.h"
-#include "colormac.h"
-#include "depth.h"
-#include "extensions.h"
-#include "macros.h"
-#include "matrix.h"
-// #include "mem.h"
-//#include "mmath.h"
-#include "mtypes.h"
-#include "texformat.h"
-#include "texstore.h"
-#include "vbo/vbo.h"
-#include "swrast_setup/swrast_setup.h"
-#include "swrast_setup/ss_context.h"
-#include "tnl/tnl.h"
-#include "tnl/t_context.h"
-#include "tnl/t_pipeline.h"
-
-#include "dglcontext.h"
-#include "extensions.h"
-
-// For some reason this is not defined in an above header...
-extern void _mesa_enable_imaging_extensions(GLcontext *ctx);
-
-//---------------------------------------------------------------------------
-// Hack for the SGIS_multitexture extension that was removed from Mesa
-// NOTE: SGIS_multitexture enums also clash with GL_SGIX_async_pixel
-
- // NOTE: Quake2 ran *slower* with this enabled, so I've
- // disabled it for now.
- // To enable, uncomment:
- // _mesa_add_extension(ctx, GL_TRUE, szGL_SGIS_multitexture, 0);
-
-//---------------------------------------------------------------------------
-
-enum {
- /* Quake2 GL_SGIS_multitexture */
- GL_SELECTED_TEXTURE_SGIS = 0x835B,
- GL_SELECTED_TEXTURE_COORD_SET_SGIS = 0x835C,
- GL_MAX_TEXTURES_SGIS = 0x835D,
- GL_TEXTURE0_SGIS = 0x835E,
- GL_TEXTURE1_SGIS = 0x835F,
- GL_TEXTURE2_SGIS = 0x8360,
- GL_TEXTURE3_SGIS = 0x8361,
- GL_TEXTURE_COORD_SET_SOURCE_SGIS = 0x8363,
-};
-
-//---------------------------------------------------------------------------
-
-void APIENTRY gldSelectTextureSGIS(
- GLenum target)
-{
- GLenum ARB_target = GL_TEXTURE0_ARB + (target - GL_TEXTURE0_SGIS);
- glActiveTextureARB(ARB_target);
-}
-
-//---------------------------------------------------------------------------
-
-void APIENTRY gldMTexCoord2fSGIS(
- GLenum target,
- GLfloat s,
- GLfloat t)
-{
- GLenum ARB_target = GL_TEXTURE0_ARB + (target - GL_TEXTURE0_SGIS);
- glMultiTexCoord2fARB(ARB_target, s, t);
-}
-
-//---------------------------------------------------------------------------
-
-void APIENTRY gldMTexCoord2fvSGIS(
- GLenum target,
- const GLfloat *v)
-{
- GLenum ARB_target = GL_TEXTURE0_ARB + (target - GL_TEXTURE0_SGIS);
- glMultiTexCoord2fvARB(ARB_target, v);
-}
-
-//---------------------------------------------------------------------------
-// Extensions
-//---------------------------------------------------------------------------
-
-typedef struct {
- PROC proc;
- char *name;
-} GLD_extension;
-
-GLD_extension GLD_extList[] = {
-#ifdef GL_EXT_polygon_offset
- { (PROC)glPolygonOffsetEXT, "glPolygonOffsetEXT" },
-#endif
- { (PROC)glBlendEquationEXT, "glBlendEquationEXT" },
- { (PROC)glBlendColorEXT, "glBlendColorExt" },
- { (PROC)glVertexPointerEXT, "glVertexPointerEXT" },
- { (PROC)glNormalPointerEXT, "glNormalPointerEXT" },
- { (PROC)glColorPointerEXT, "glColorPointerEXT" },
- { (PROC)glIndexPointerEXT, "glIndexPointerEXT" },
- { (PROC)glTexCoordPointerEXT, "glTexCoordPointer" },
- { (PROC)glEdgeFlagPointerEXT, "glEdgeFlagPointerEXT" },
- { (PROC)glGetPointervEXT, "glGetPointervEXT" },
- { (PROC)glArrayElementEXT, "glArrayElementEXT" },
- { (PROC)glDrawArraysEXT, "glDrawArrayEXT" },
- { (PROC)glAreTexturesResidentEXT, "glAreTexturesResidentEXT" },
- { (PROC)glBindTextureEXT, "glBindTextureEXT" },
- { (PROC)glDeleteTexturesEXT, "glDeleteTexturesEXT" },
- { (PROC)glGenTexturesEXT, "glGenTexturesEXT" },
- { (PROC)glIsTextureEXT, "glIsTextureEXT" },
- { (PROC)glPrioritizeTexturesEXT, "glPrioritizeTexturesEXT" },
- { (PROC)glCopyTexSubImage3DEXT, "glCopyTexSubImage3DEXT" },
- { (PROC)glTexImage3DEXT, "glTexImage3DEXT" },
- { (PROC)glTexSubImage3DEXT, "glTexSubImage3DEXT" },
- { (PROC)glPointParameterfEXT, "glPointParameterfEXT" },
- { (PROC)glPointParameterfvEXT, "glPointParameterfvEXT" },
-
- { (PROC)glLockArraysEXT, "glLockArraysEXT" },
- { (PROC)glUnlockArraysEXT, "glUnlockArraysEXT" },
- { NULL, "\0" }
-};
-
-GLD_extension GLD_multitexList[] = {
-/*
- { (PROC)glMultiTexCoord1dSGIS, "glMTexCoord1dSGIS" },
- { (PROC)glMultiTexCoord1dvSGIS, "glMTexCoord1dvSGIS" },
- { (PROC)glMultiTexCoord1fSGIS, "glMTexCoord1fSGIS" },
- { (PROC)glMultiTexCoord1fvSGIS, "glMTexCoord1fvSGIS" },
- { (PROC)glMultiTexCoord1iSGIS, "glMTexCoord1iSGIS" },
- { (PROC)glMultiTexCoord1ivSGIS, "glMTexCoord1ivSGIS" },
- { (PROC)glMultiTexCoord1sSGIS, "glMTexCoord1sSGIS" },
- { (PROC)glMultiTexCoord1svSGIS, "glMTexCoord1svSGIS" },
- { (PROC)glMultiTexCoord2dSGIS, "glMTexCoord2dSGIS" },
- { (PROC)glMultiTexCoord2dvSGIS, "glMTexCoord2dvSGIS" },
- { (PROC)glMultiTexCoord2fSGIS, "glMTexCoord2fSGIS" },
- { (PROC)glMultiTexCoord2fvSGIS, "glMTexCoord2fvSGIS" },
- { (PROC)glMultiTexCoord2iSGIS, "glMTexCoord2iSGIS" },
- { (PROC)glMultiTexCoord2ivSGIS, "glMTexCoord2ivSGIS" },
- { (PROC)glMultiTexCoord2sSGIS, "glMTexCoord2sSGIS" },
- { (PROC)glMultiTexCoord2svSGIS, "glMTexCoord2svSGIS" },
- { (PROC)glMultiTexCoord3dSGIS, "glMTexCoord3dSGIS" },
- { (PROC)glMultiTexCoord3dvSGIS, "glMTexCoord3dvSGIS" },
- { (PROC)glMultiTexCoord3fSGIS, "glMTexCoord3fSGIS" },
- { (PROC)glMultiTexCoord3fvSGIS, "glMTexCoord3fvSGIS" },
- { (PROC)glMultiTexCoord3iSGIS, "glMTexCoord3iSGIS" },
- { (PROC)glMultiTexCoord3ivSGIS, "glMTexCoord3ivSGIS" },
- { (PROC)glMultiTexCoord3sSGIS, "glMTexCoord3sSGIS" },
- { (PROC)glMultiTexCoord3svSGIS, "glMTexCoord3svSGIS" },
- { (PROC)glMultiTexCoord4dSGIS, "glMTexCoord4dSGIS" },
- { (PROC)glMultiTexCoord4dvSGIS, "glMTexCoord4dvSGIS" },
- { (PROC)glMultiTexCoord4fSGIS, "glMTexCoord4fSGIS" },
- { (PROC)glMultiTexCoord4fvSGIS, "glMTexCoord4fvSGIS" },
- { (PROC)glMultiTexCoord4iSGIS, "glMTexCoord4iSGIS" },
- { (PROC)glMultiTexCoord4ivSGIS, "glMTexCoord4ivSGIS" },
- { (PROC)glMultiTexCoord4sSGIS, "glMTexCoord4sSGIS" },
- { (PROC)glMultiTexCoord4svSGIS, "glMTexCoord4svSGIS" },
- { (PROC)glMultiTexCoordPointerSGIS, "glMTexCoordPointerSGIS" },
- { (PROC)glSelectTextureSGIS, "glSelectTextureSGIS" },
- { (PROC)glSelectTextureCoordSetSGIS, "glSelectTextureCoordSetSGIS" },
-*/
- { (PROC)glActiveTextureARB, "glActiveTextureARB" },
- { (PROC)glClientActiveTextureARB, "glClientActiveTextureARB" },
- { (PROC)glMultiTexCoord1dARB, "glMultiTexCoord1dARB" },
- { (PROC)glMultiTexCoord1dvARB, "glMultiTexCoord1dvARB" },
- { (PROC)glMultiTexCoord1fARB, "glMultiTexCoord1fARB" },
- { (PROC)glMultiTexCoord1fvARB, "glMultiTexCoord1fvARB" },
- { (PROC)glMultiTexCoord1iARB, "glMultiTexCoord1iARB" },
- { (PROC)glMultiTexCoord1ivARB, "glMultiTexCoord1ivARB" },
- { (PROC)glMultiTexCoord1sARB, "glMultiTexCoord1sARB" },
- { (PROC)glMultiTexCoord1svARB, "glMultiTexCoord1svARB" },
- { (PROC)glMultiTexCoord2dARB, "glMultiTexCoord2dARB" },
- { (PROC)glMultiTexCoord2dvARB, "glMultiTexCoord2dvARB" },
- { (PROC)glMultiTexCoord2fARB, "glMultiTexCoord2fARB" },
- { (PROC)glMultiTexCoord2fvARB, "glMultiTexCoord2fvARB" },
- { (PROC)glMultiTexCoord2iARB, "glMultiTexCoord2iARB" },
- { (PROC)glMultiTexCoord2ivARB, "glMultiTexCoord2ivARB" },
- { (PROC)glMultiTexCoord2sARB, "glMultiTexCoord2sARB" },
- { (PROC)glMultiTexCoord2svARB, "glMultiTexCoord2svARB" },
- { (PROC)glMultiTexCoord3dARB, "glMultiTexCoord3dARB" },
- { (PROC)glMultiTexCoord3dvARB, "glMultiTexCoord3dvARB" },
- { (PROC)glMultiTexCoord3fARB, "glMultiTexCoord3fARB" },
- { (PROC)glMultiTexCoord3fvARB, "glMultiTexCoord3fvARB" },
- { (PROC)glMultiTexCoord3iARB, "glMultiTexCoord3iARB" },
- { (PROC)glMultiTexCoord3ivARB, "glMultiTexCoord3ivARB" },
- { (PROC)glMultiTexCoord3sARB, "glMultiTexCoord3sARB" },
- { (PROC)glMultiTexCoord3svARB, "glMultiTexCoord3svARB" },
- { (PROC)glMultiTexCoord4dARB, "glMultiTexCoord4dARB" },
- { (PROC)glMultiTexCoord4dvARB, "glMultiTexCoord4dvARB" },
- { (PROC)glMultiTexCoord4fARB, "glMultiTexCoord4fARB" },
- { (PROC)glMultiTexCoord4fvARB, "glMultiTexCoord4fvARB" },
- { (PROC)glMultiTexCoord4iARB, "glMultiTexCoord4iARB" },
- { (PROC)glMultiTexCoord4ivARB, "glMultiTexCoord4ivARB" },
- { (PROC)glMultiTexCoord4sARB, "glMultiTexCoord4sARB" },
- { (PROC)glMultiTexCoord4svARB, "glMultiTexCoord4svARB" },
-
- // Descent3 doesn't use correct string, hence this hack
- { (PROC)glMultiTexCoord4fARB, "glMultiTexCoord4f" },
-
- // Quake2 SGIS multitexture
- { (PROC)gldSelectTextureSGIS, "glSelectTextureSGIS" },
- { (PROC)gldMTexCoord2fSGIS, "glMTexCoord2fSGIS" },
- { (PROC)gldMTexCoord2fvSGIS, "glMTexCoord2fvSGIS" },
-
- { NULL, "\0" }
-};
-
-//---------------------------------------------------------------------------
-
-PROC gldGetProcAddress_DX(
- LPCSTR a)
-{
- int i;
- PROC proc = NULL;
-
- for (i=0; GLD_extList[i].proc; i++) {
- if (!strcmp(a, GLD_extList[i].name)) {
- proc = GLD_extList[i].proc;
- break;
- }
- }
-
- if (glb.bMultitexture) {
- for (i=0; GLD_multitexList[i].proc; i++) {
- if (!strcmp(a, GLD_multitexList[i].name)) {
- proc = GLD_multitexList[i].proc;
- break;
- }
- }
- }
-
- gldLogPrintf(GLDLOG_INFO, "GetProcAddress: %s (%s)", a, proc ? "OK" : "Failed");
-
- return proc;
-}
-
-//---------------------------------------------------------------------------
-
-void gldEnableExtensions_DX7(
- GLcontext *ctx)
-{
- GLuint i;
-
- // Mesa enables some extensions by default.
- // This table decides which ones we want to switch off again.
-
- // NOTE: GL_EXT_compiled_vertex_array appears broken.
-
- const char *gld_disable_extensions[] = {
-// "GL_ARB_transpose_matrix",
-// "GL_EXT_compiled_vertex_array",
-// "GL_EXT_polygon_offset",
-// "GL_EXT_rescale_normal",
- "GL_EXT_texture3D",
-// "GL_NV_texgen_reflection",
- "GL_EXT_abgr",
- "GL_EXT_bgra",
- NULL
- };
-
- const char *gld_multitex_extensions[] = {
- "GL_ARB_multitexture", // Quake 3
- NULL
- };
-
- // Quake 2 engines
- const char *szGL_SGIS_multitexture = "GL_SGIS_multitexture";
-
- const char *gld_enable_extensions[] = {
- "GL_EXT_texture_env_add", // Quake 3
- "GL_ARB_texture_env_add", // Quake 3
- NULL
- };
-
- for (i=0; gld_disable_extensions[i]; i++) {
- _mesa_disable_extension(ctx, gld_disable_extensions[i]);
- }
-
- for (i=0; gld_enable_extensions[i]; i++) {
- _mesa_enable_extension(ctx, gld_enable_extensions[i]);
- }
-
- if (glb.bMultitexture) {
- for (i=0; gld_multitex_extensions[i]; i++) {
- _mesa_enable_extension(ctx, gld_multitex_extensions[i]);
- }
-
- // GL_SGIS_multitexture
- // NOTE: Quake2 ran *slower* with this enabled, so I've
- // disabled it for now.
- // Fair bit slower on GeForce256,
- // Much slower on 3dfx Voodoo5 5500.
-// _mesa_add_extension(ctx, GL_TRUE, szGL_SGIS_multitexture, 0);
-
- }
-
- _mesa_enable_imaging_extensions(ctx);
- _mesa_enable_1_3_extensions(ctx);
- _mesa_enable_1_4_extensions(ctx);
-}
-
-//---------------------------------------------------------------------------
diff --git a/src/mesa/drivers/windows/gldirect/dx7/gld_pipeline_dx7.c b/src/mesa/drivers/windows/gldirect/dx7/gld_pipeline_dx7.c
deleted file mode 100644
index 9ccec69b98..0000000000
--- a/src/mesa/drivers/windows/gldirect/dx7/gld_pipeline_dx7.c
+++ /dev/null
@@ -1,77 +0,0 @@
-/****************************************************************************
-*
-* Mesa 3-D graphics library
-* Direct3D Driver Interface
-*
-* ========================================================================
-*
-* Copyright (C) 1991-2004 SciTech Software, Inc. 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
-* SCITECH SOFTWARE INC 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.
-*
-* ======================================================================
-*
-* Language: ANSI C
-* Environment: Windows 9x/2000/XP/XBox (Win32)
-*
-* Description: Mesa transformation pipeline with GLDirect fastpath
-*
-****************************************************************************/
-
-//#include "../GLDirect.h"
-
-#include "dglcontext.h"
-#include "ddlog.h"
-#include "gld_dx7.h"
-
-#include "tnl/tnl.h"
-#include "tnl/t_context.h"
-#include "tnl/t_pipeline.h"
-
-//---------------------------------------------------------------------------
-
-extern struct tnl_pipeline_stage _gld_d3d_render_stage;
-extern struct tnl_pipeline_stage _gld_mesa_render_stage;
-
-static const struct tnl_pipeline_stage *gld_pipeline[] = {
- &_gld_d3d_render_stage, // Direct3D TnL
- &_tnl_vertex_transform_stage,
- &_tnl_normal_transform_stage,
- &_tnl_lighting_stage,
- &_tnl_fog_coordinate_stage, /* TODO: Omit fog stage. ??? */
- &_tnl_texgen_stage,
- &_tnl_texture_transform_stage,
- &_tnl_point_attenuation_stage,
- &_gld_mesa_render_stage, // Mesa TnL, D3D rendering
- 0,
-};
-
-//---------------------------------------------------------------------------
-
-void gldInstallPipeline_DX7(
- GLcontext *ctx)
-{
- // Remove any existing pipeline stages,
- // then install GLDirect pipeline stages.
-
- _tnl_destroy_pipeline(ctx);
- _tnl_install_pipeline(ctx, gld_pipeline);
-}
-
-//---------------------------------------------------------------------------
diff --git a/src/mesa/drivers/windows/gldirect/dx7/gld_primitive_dx7.c b/src/mesa/drivers/windows/gldirect/dx7/gld_primitive_dx7.c
deleted file mode 100644
index c99ba0bba5..0000000000
--- a/src/mesa/drivers/windows/gldirect/dx7/gld_primitive_dx7.c
+++ /dev/null
@@ -1,1448 +0,0 @@
-/****************************************************************************
-*
-* Mesa 3-D graphics library
-* Direct3D Driver Interface
-*
-* ========================================================================
-*
-* Copyright (C) 1991-2004 SciTech Software, Inc. 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
-* SCITECH SOFTWARE INC 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.
-*
-* ======================================================================
-*
-* Language: ANSI C
-* Environment: Windows 9x/2000/XP/XBox (Win32)
-*
-* Description: Primitive (points/lines/tris/quads) rendering
-*
-****************************************************************************/
-
-//#include "../GLDirect.h"
-
-//#include "gld_dx8.h"
-
-#include "dglcontext.h"
-#include "ddlog.h"
-#include "gld_dx7.h"
-
-#include "glheader.h"
-#include "context.h"
-#include "colormac.h"
-#include "depth.h"
-#include "extensions.h"
-#include "macros.h"
-#include "matrix.h"
-// #include "mem.h"
-//#include "mmath.h"
-#include "mtypes.h"
-#include "texformat.h"
-#include "texstore.h"
-#include "vbo/vbo.h"
-#include "swrast/swrast.h"
-#include "swrast_setup/swrast_setup.h"
-#include "swrast_setup/ss_context.h"
-#include "swrast/s_context.h"
-#include "swrast/s_depth.h"
-#include "swrast/s_lines.h"
-#include "swrast/s_triangle.h"
-#include "swrast/s_trispan.h"
-#include "tnl/tnl.h"
-#include "tnl/t_context.h"
-#include "tnl/t_pipeline.h"
-
-// Disable compiler complaints about unreferenced local variables
-#pragma warning (disable:4101)
-
-//---------------------------------------------------------------------------
-// Helper defines for primitives
-//---------------------------------------------------------------------------
-
-//static const float ooZ = 1.0f / 65536.0f; // One over Z
-
-#define GLD_COLOUR (D3DCOLOR_RGBA(swv->color[0], swv->color[1], swv->color[2], swv->color[3]))
-#define GLD_SPECULAR (D3DCOLOR_RGBA(swv->specular[0], swv->specular[1], swv->specular[2], swv->specular[3]))
-#define GLD_FLIP_Y(y) (gldCtx->dwHeight - (y))
-
-//---------------------------------------------------------------------------
-// 2D vertex setup
-//---------------------------------------------------------------------------
-
-#define GLD_SETUP_2D_VARS_POINTS \
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx); \
- GLD_driver_dx7 *gld = GLD_GET_DX7_DRIVER(gldCtx); \
- GLD_2D_VERTEX *pV = (GLD_2D_VERTEX*)gld->PB2d.pPoints; \
- SScontext *ss = SWSETUP_CONTEXT(ctx); \
- SWvertex *swv; \
- DWORD dwSpecularColour; \
- DWORD dwFlatColour
-
-#define GLD_SETUP_2D_VARS_LINES \
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx); \
- GLD_driver_dx7 *gld = GLD_GET_DX7_DRIVER(gldCtx); \
- GLD_2D_VERTEX *pV = (GLD_2D_VERTEX*)gld->PB2d.pLines; \
- SScontext *ss = SWSETUP_CONTEXT(ctx); \
- SWvertex *swv; \
- DWORD dwSpecularColour; \
- DWORD dwFlatColour
-
-#define GLD_SETUP_2D_VARS_TRIANGLES \
- BOOL bFog = ctx->Fog.Enabled; \
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx); \
- GLD_driver_dx7 *gld = GLD_GET_DX7_DRIVER(gldCtx); \
- GLD_2D_VERTEX *pV = (GLD_2D_VERTEX*)gld->PB2d.pTriangles; \
- SScontext *ss = SWSETUP_CONTEXT(ctx); \
- SWvertex *swv; \
- DWORD dwSpecularColour; \
- DWORD dwFlatColour; \
- GLuint facing = 0; \
- struct vertex_buffer *VB; \
- GLchan (*vbcolor)[4]; \
- GLchan (*vbspec)[4]
-
-#define GLD_SETUP_GET_SWVERT(s) \
- swv = &ss->verts[##s]
-
-#define GLD_SETUP_2D_VERTEX \
- pV->x = swv->win[0]; \
- pV->y = GLD_FLIP_Y(swv->win[1]); \
- pV->rhw = swv->win[3]
-
-#define GLD_SETUP_SMOOTH_COLOUR \
- pV->diffuse = GLD_COLOUR
-
-#define GLD_SETUP_GET_FLAT_COLOUR \
- dwFlatColour = GLD_COLOUR
-#define GLD_SETUP_GET_FLAT_FOG_COLOUR \
- dwFlatColour = _gldComputeFog(ctx, swv)
-
-#define GLD_SETUP_USE_FLAT_COLOUR \
- pV->diffuse = dwFlatColour
-
-#define GLD_SETUP_GET_FLAT_SPECULAR \
- dwSpecularColour= GLD_SPECULAR
-
-#define GLD_SETUP_USE_FLAT_SPECULAR \
- pV->specular = dwSpecularColour
-
-#define GLD_SETUP_DEPTH \
- pV->sz = swv->win[2] / ctx->DepthMaxF
-// pV->z = swv->win[2] * ooZ;
-
-#define GLD_SETUP_SPECULAR \
- pV->specular = GLD_SPECULAR
-
-#define GLD_SETUP_FOG \
- pV->diffuse = _gldComputeFog(ctx, swv)
-
-#define GLD_SETUP_TEX0 \
- pV->t0_u = swv->texcoord[0][0]; \
- pV->t0_v = swv->texcoord[0][1]
-
-#define GLD_SETUP_TEX1 \
- pV->t1_u = swv->texcoord[1][0]; \
- pV->t1_v = swv->texcoord[1][1]
-
-#define GLD_SETUP_LIGHTING(v) \
- if (facing == 1) { \
- pV->diffuse = D3DCOLOR_RGBA(vbcolor[##v][0], vbcolor[##v][1], vbcolor[##v][2], vbcolor[##v][3]); \
- if (vbspec) { \
- pV->specular = D3DCOLOR_RGBA(vbspec[##v][0], vbspec[##v][1], vbspec[##v][2], vbspec[##v][3]); \
- } \
- } else { \
- if (bFog) \
- GLD_SETUP_FOG; \
- else \
- GLD_SETUP_SMOOTH_COLOUR; \
- GLD_SETUP_SPECULAR; \
- }
-
-#define GLD_SETUP_GET_FLAT_LIGHTING(v) \
- if (facing == 1) { \
- dwFlatColour = D3DCOLOR_RGBA(vbcolor[##v][0], vbcolor[##v][1], vbcolor[##v][2], vbcolor[##v][3]); \
- if (vbspec) { \
- dwSpecularColour = D3DCOLOR_RGBA(vbspec[##v][0], vbspec[##v][1], vbspec[##v][2], vbspec[##v][3]); \
- } \
- }
-
-#define GLD_SETUP_TWOSIDED_LIGHTING \
- /* Two-sided lighting */ \
- if (ctx->_TriangleCaps & DD_TRI_LIGHT_TWOSIDE) { \
- SWvertex *verts = SWSETUP_CONTEXT(ctx)->verts; \
- SWvertex *v[3]; \
- GLfloat ex,ey,fx,fy,cc; \
- /* Get vars for later */ \
- VB = &TNL_CONTEXT(ctx)->vb; \
- vbcolor = (GLchan (*)[4])VB->ColorPtr[1]->data; \
- if (VB->SecondaryColorPtr[1]) { \
- vbspec = (GLchan (*)[4])VB->SecondaryColorPtr[1]->data; \
- } else { \
- vbspec = NULL; \
- } \
- v[0] = &verts[v0]; \
- v[1] = &verts[v1]; \
- v[2] = &verts[v2]; \
- ex = v[0]->win[0] - v[2]->win[0]; \
- ey = v[0]->win[1] - v[2]->win[1]; \
- fx = v[1]->win[0] - v[2]->win[0]; \
- fy = v[1]->win[1] - v[2]->win[1]; \
- cc = ex*fy - ey*fx; \
- facing = (cc < 0.0) ^ ctx->Polygon._FrontBit; \
- }
-
-//---------------------------------------------------------------------------
-// 3D vertex setup
-//---------------------------------------------------------------------------
-
-#define GLD_SETUP_3D_VARS_POINTS \
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx); \
- GLD_driver_dx7 *gld = GLD_GET_DX7_DRIVER(gldCtx); \
- GLD_3D_VERTEX *pV = (GLD_3D_VERTEX*)gld->PB3d.pPoints; \
- TNLcontext *tnl = TNL_CONTEXT(ctx); \
- struct vertex_buffer *VB = &tnl->vb; \
- GLfloat (*p4f)[4]; \
- GLfloat (*tc)[4]; \
- DWORD dwColor;
-
-#define GLD_SETUP_3D_VARS_LINES \
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx); \
- GLD_driver_dx7 *gld = GLD_GET_DX7_DRIVER(gldCtx); \
- GLD_3D_VERTEX *pV = (GLD_3D_VERTEX*)gld->PB3d.pLines; \
- TNLcontext *tnl = TNL_CONTEXT(ctx); \
- struct vertex_buffer *VB = &tnl->vb; \
- GLfloat (*p4f)[4]; \
- GLfloat (*tc)[4]; \
- DWORD dwColor;
-
-#define GLD_SETUP_3D_VARS_TRIANGLES \
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx); \
- GLD_driver_dx7 *gld = GLD_GET_DX7_DRIVER(gldCtx); \
- GLD_3D_VERTEX *pV = (GLD_3D_VERTEX*)gld->PB3d.pTriangles; \
- TNLcontext *tnl = TNL_CONTEXT(ctx); \
- struct vertex_buffer *VB = &tnl->vb; \
- GLfloat (*p4f)[4]; \
- GLfloat (*tc)[4]; \
- DWORD dwColor;
-
-#define GLD_SETUP_3D_VERTEX(v) \
- p4f = VB->ObjPtr->data; \
- pV->Position.x = p4f[##v][0]; \
- pV->Position.y = p4f[##v][1]; \
- pV->Position.z = p4f[##v][2];
-
-#define GLD_SETUP_SMOOTH_COLOUR_3D(v) \
- p4f = (GLfloat (*)[4])VB->ColorPtr[0]->data; \
- pV->Diffuse = D3DCOLOR_COLORVALUE(p4f[##v][0], p4f[##v][1], p4f[##v][2], p4f[##v][3]);
-
-
-#define GLD_SETUP_GET_FLAT_COLOUR_3D(v) \
- p4f = (GLfloat (*)[4])VB->ColorPtr[0]->data; \
- dwColor = D3DCOLOR_COLORVALUE(p4f[##v][0], p4f[##v][1], p4f[##v][2], p4f[##v][3]);
-
-#define GLD_SETUP_USE_FLAT_COLOUR_3D \
- pV->Diffuse = dwColor;
-
-#define GLD_SETUP_TEX0_3D(v) \
- if (VB->TexCoordPtr[0]) { \
- tc = VB->TexCoordPtr[0]->data; \
- pV->TexUnit0.x = tc[##v][0]; \
- pV->TexUnit0.y = tc[##v][1]; \
- }
-
-#define GLD_SETUP_TEX1_3D(v) \
- if (VB->TexCoordPtr[1]) { \
- tc = VB->TexCoordPtr[1]->data; \
- pV->TexUnit1.x = tc[##v][0]; \
- pV->TexUnit1.y = tc[##v][1]; \
- }
-
-//---------------------------------------------------------------------------
-// Helper functions
-//---------------------------------------------------------------------------
-
-__inline DWORD _gldComputeFog(
- GLcontext *ctx,
- SWvertex *swv)
-{
- // Full fog calculation.
- // Based on Mesa code.
-
- GLchan rFog, gFog, bFog;
- GLchan fR, fG, fB;
- const GLfloat f = swv->fog;
- const GLfloat g = 1.0 - f;
-
- UNCLAMPED_FLOAT_TO_CHAN(rFog, ctx->Fog.Color[RCOMP]);
- UNCLAMPED_FLOAT_TO_CHAN(gFog, ctx->Fog.Color[GCOMP]);
- UNCLAMPED_FLOAT_TO_CHAN(bFog, ctx->Fog.Color[BCOMP]);
- fR = f * swv->color[0] + g * rFog;
- fG = f * swv->color[1] + g * gFog;
- fB = f * swv->color[2] + g * bFog;
- return D3DCOLOR_RGBA(fR, fG, fB, swv->color[3]);
-}
-
-//---------------------------------------------------------------------------
-
-void gld_ResetLineStipple_DX7(
- GLcontext *ctx)
-{
- // TODO: Fake stipple with a 32x32 texture.
-}
-
-//---------------------------------------------------------------------------
-// 2D (post-transformed) primitives
-//---------------------------------------------------------------------------
-
-void gld_Points2D_DX7(
- GLcontext *ctx,
- GLuint first,
- GLuint last)
-{
- GLD_SETUP_2D_VARS_POINTS;
-
- unsigned i;
- struct vertex_buffer *VB = &TNL_CONTEXT(ctx)->vb;
-
- // _Size is already clamped to MaxPointSize and MinPointSize
- // Not supported by DX7
-// IDirect3DDevice8_SetRenderState(gld->pDev, D3DRS_POINTSIZE, *((DWORD*)&ctx->Point._Size));
-
- if (VB->Elts) {
- for (i=first; i<last; i++, pV++) {
- if (VB->ClipMask[VB->Elts[i]] == 0) {
-// _swrast_Point( ctx, &verts[VB->Elts[i]] );
- GLD_SETUP_GET_SWVERT(VB->Elts[i]);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_SMOOTH_COLOUR;
- GLD_SETUP_DEPTH;
- GLD_SETUP_SPECULAR;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- }
- }
- } else {
- GLD_SETUP_GET_SWVERT(first);
- for (i=first; i<last; i++, swv++, pV++) {
- if (VB->ClipMask[i] == 0) {
-// _swrast_Point( ctx, &verts[i] );
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_SMOOTH_COLOUR;
- GLD_SETUP_DEPTH;
- GLD_SETUP_SPECULAR;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- }
- }
- }
-
- gld->PB2d.pPoints = (BYTE*)pV;
- gld->PB2d.nPoints += (last-first);
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Line2DFlat_DX7(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1)
-{
- GLD_SETUP_2D_VARS_LINES;
-
- GLD_SETUP_GET_SWVERT(v1);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_GET_FLAT_COLOUR;
- GLD_SETUP_USE_FLAT_COLOUR;
- GLD_SETUP_GET_FLAT_SPECULAR;
- GLD_SETUP_USE_FLAT_SPECULAR;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v0);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_USE_FLAT_COLOUR;
- GLD_SETUP_USE_FLAT_SPECULAR;
- pV++;
-
- gld->PB2d.pLines = (BYTE*)pV;
- gld->PB2d.nLines++;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Line2DSmooth_DX7(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1)
-{
- GLD_SETUP_2D_VARS_LINES;
-
- GLD_SETUP_GET_SWVERT(v0);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_SMOOTH_COLOUR;
- GLD_SETUP_DEPTH;
- GLD_SETUP_SPECULAR;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v1);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_SMOOTH_COLOUR;
- GLD_SETUP_SPECULAR;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- pV++;
-
- gld->PB2d.pLines = (BYTE*)pV;
- gld->PB2d.nLines++;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Triangle2DFlat_DX7(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1,
- GLuint v2)
-{
- GLD_SETUP_2D_VARS_TRIANGLES;
-
- GLD_SETUP_GET_SWVERT(v2);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_GET_FLAT_COLOUR;
- GLD_SETUP_USE_FLAT_COLOUR;
- pV++;;
-
- GLD_SETUP_GET_SWVERT(v0);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_USE_FLAT_COLOUR;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v1);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_USE_FLAT_COLOUR;
- pV++;
-
- gld->PB2d.pTriangles = (BYTE*)pV;
- gld->PB2d.nTriangles++;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Triangle2DSmooth_DX7(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1,
- GLuint v2)
-{
-
- GLD_SETUP_2D_VARS_TRIANGLES;
-
- GLD_SETUP_GET_SWVERT(v0);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_SMOOTH_COLOUR;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v1);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_SMOOTH_COLOUR;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v2);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_SMOOTH_COLOUR;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- pV++;
-
- gld->PB2d.pTriangles = (BYTE*)pV;
- gld->PB2d.nTriangles++;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Triangle2DFlatExtras_DX7(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1,
- GLuint v2)
-{
- GLD_SETUP_2D_VARS_TRIANGLES;
-
- GLD_SETUP_TWOSIDED_LIGHTING(v2);
-
- GLD_SETUP_GET_SWVERT(v2);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- if (bFog)
- GLD_SETUP_GET_FLAT_FOG_COLOUR;
- else
- GLD_SETUP_GET_FLAT_COLOUR;
- GLD_SETUP_GET_FLAT_SPECULAR;
- GLD_SETUP_GET_FLAT_LIGHTING(v2);
- GLD_SETUP_USE_FLAT_COLOUR;
- GLD_SETUP_USE_FLAT_SPECULAR;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v0);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_USE_FLAT_COLOUR;
- GLD_SETUP_USE_FLAT_SPECULAR;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v1);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_USE_FLAT_COLOUR;
- GLD_SETUP_USE_FLAT_SPECULAR;
- pV++;
-
- gld->PB2d.pTriangles = (BYTE*)pV;
- gld->PB2d.nTriangles++;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Triangle2DSmoothExtras_DX7(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1,
- GLuint v2)
-{
- GLD_SETUP_2D_VARS_TRIANGLES;
-
- GLD_SETUP_TWOSIDED_LIGHTING(v0);
-
- GLD_SETUP_GET_SWVERT(v0);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_LIGHTING(v0);
- pV++;
-
- GLD_SETUP_GET_SWVERT(v1);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_LIGHTING(v1);
- pV++;
-
- GLD_SETUP_GET_SWVERT(v2);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_LIGHTING(v2);
- pV++;
-
- gld->PB2d.pTriangles = (BYTE*)pV;
- gld->PB2d.nTriangles++;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Quad2DFlat_DX7(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1,
- GLuint v2,
- GLuint v3)
-{
- GLD_SETUP_2D_VARS_TRIANGLES;
-
- GLD_SETUP_GET_SWVERT(v3);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_GET_FLAT_COLOUR;
- GLD_SETUP_USE_FLAT_COLOUR;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v0);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_USE_FLAT_COLOUR;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v1);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_USE_FLAT_COLOUR;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v1);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_USE_FLAT_COLOUR;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v2);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_USE_FLAT_COLOUR;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v3);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_USE_FLAT_COLOUR;
- pV++;
-
- gld->PB2d.pTriangles = (BYTE*)pV;
- gld->PB2d.nTriangles += 2;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Quad2DSmooth_DX7(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1,
- GLuint v2,
- GLuint v3)
-{
- GLD_SETUP_2D_VARS_TRIANGLES;
-
- GLD_SETUP_GET_SWVERT(v0);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_SMOOTH_COLOUR;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v1);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_SMOOTH_COLOUR;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v2);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_SMOOTH_COLOUR;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v2);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_SMOOTH_COLOUR;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v3);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_SMOOTH_COLOUR;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v0);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_SMOOTH_COLOUR;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- pV++;
-
- gld->PB2d.pTriangles = (BYTE*)pV;
- gld->PB2d.nTriangles += 2;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Quad2DFlatExtras_DX7(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1,
- GLuint v2,
- GLuint v3)
-{
- GLD_SETUP_2D_VARS_TRIANGLES;
-
- GLD_SETUP_TWOSIDED_LIGHTING(v3);
-
- GLD_SETUP_GET_SWVERT(v3);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- if (bFog)
- GLD_SETUP_GET_FLAT_FOG_COLOUR;
- else
- GLD_SETUP_GET_FLAT_COLOUR;
- GLD_SETUP_GET_FLAT_SPECULAR;
- GLD_SETUP_GET_FLAT_LIGHTING(v3);
- GLD_SETUP_USE_FLAT_COLOUR;
- GLD_SETUP_USE_FLAT_SPECULAR;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v0);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_USE_FLAT_COLOUR;
- GLD_SETUP_USE_FLAT_SPECULAR;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v1);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_USE_FLAT_COLOUR;
- GLD_SETUP_USE_FLAT_SPECULAR;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v1);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_USE_FLAT_COLOUR;
- GLD_SETUP_USE_FLAT_SPECULAR;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v2);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_USE_FLAT_COLOUR;
- GLD_SETUP_USE_FLAT_SPECULAR;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v3);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_USE_FLAT_COLOUR;
- GLD_SETUP_USE_FLAT_SPECULAR;
- pV++;
-
- gld->PB2d.pTriangles = (BYTE*)pV;
- gld->PB2d.nTriangles += 2;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Quad2DSmoothExtras_DX7(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1,
- GLuint v2,
- GLuint v3)
-{
- GLD_SETUP_2D_VARS_TRIANGLES;
-
- GLD_SETUP_TWOSIDED_LIGHTING(v0);
-
- GLD_SETUP_GET_SWVERT(v0);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_LIGHTING(v0);
- pV++;
-
- GLD_SETUP_GET_SWVERT(v1);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_LIGHTING(v1);
- pV++;
-
- GLD_SETUP_GET_SWVERT(v2);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_LIGHTING(v2);
- pV++;
-
- GLD_SETUP_GET_SWVERT(v2);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_LIGHTING(v2);
- pV++;
-
- GLD_SETUP_GET_SWVERT(v3);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_LIGHTING(v3);
- pV++;
-
- GLD_SETUP_GET_SWVERT(v0);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_LIGHTING(v0);
- pV++;
-
- gld->PB2d.pTriangles = (BYTE*)pV;
- gld->PB2d.nTriangles += 2;
-}
-
-//---------------------------------------------------------------------------
-// 3D (pre-transformed) primitives
-//---------------------------------------------------------------------------
-
-void gld_Points3D_DX7(
- GLcontext *ctx,
- GLuint first,
- GLuint last)
-{
- GLD_SETUP_3D_VARS_POINTS
-
- unsigned i;
-// struct vertex_buffer *VB = &TNL_CONTEXT(ctx)->vb;
-
- // _Size is already clamped to MaxPointSize and MinPointSize
- // Not supported by DX7
-// IDirect3DDevice8_SetRenderState(gld->pDev, D3DRS_POINTSIZE, *((DWORD*)&ctx->Point._Size));
-
- if (VB->Elts) {
- for (i=first; i<last; i++, pV++) {
- if (VB->ClipMask[VB->Elts[i]] == 0) {
-// _swrast_Point( ctx, &verts[VB->Elts[i]] );
-// GLD_SETUP_GET_SWVERT(VB->Elts[i]);
- GLD_SETUP_3D_VERTEX(VB->Elts[i])
- GLD_SETUP_SMOOTH_COLOUR_3D(i)
- GLD_SETUP_TEX0_3D(i)
- GLD_SETUP_TEX1_3D(i)
- }
- }
- } else {
-// GLD_SETUP_GET_SWVERT(first);
- for (i=first; i<last; i++, pV++) {
- if (VB->ClipMask[i] == 0) {
-// _swrast_Point( ctx, &verts[i] );
- GLD_SETUP_3D_VERTEX(i)
- GLD_SETUP_SMOOTH_COLOUR_3D(i)
- GLD_SETUP_TEX0_3D(i)
- GLD_SETUP_TEX1_3D(i)
- }
- }
- }
-/*
- for (i=first; i<last; i++, pV++) {
- GLD_SETUP_3D_VERTEX(i)
- GLD_SETUP_SMOOTH_COLOUR_3D(i)
- GLD_SETUP_TEX0_3D(i)
- GLD_SETUP_TEX1_3D(i)
- }
-*/
- gld->PB3d.pPoints = (BYTE*)pV;
- gld->PB3d.nPoints += (last-first);
-}
-
-//---------------------------------------------------------------------------
-// Line functions
-//---------------------------------------------------------------------------
-
-void gld_Line3DFlat_DX7(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1)
-{
- GLD_SETUP_3D_VARS_LINES
-
- GLD_SETUP_3D_VERTEX(v1)
- GLD_SETUP_GET_FLAT_COLOUR_3D(v1)
- GLD_SETUP_USE_FLAT_COLOUR_3D
- GLD_SETUP_TEX0_3D(v1)
- GLD_SETUP_TEX1_3D(v1)
- pV++;
-
- GLD_SETUP_3D_VERTEX(v0)
- GLD_SETUP_USE_FLAT_COLOUR_3D
- GLD_SETUP_TEX0_3D(v0)
- GLD_SETUP_TEX1_3D(v0)
- pV++;
-
- gld->PB3d.pLines = (BYTE*)pV;
- gld->PB3d.nLines++;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Line3DSmooth_DX7(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1)
-{
- GLD_SETUP_3D_VARS_LINES
-
- GLD_SETUP_3D_VERTEX(v1)
- GLD_SETUP_SMOOTH_COLOUR_3D(v1)
- GLD_SETUP_TEX0_3D(v1)
- GLD_SETUP_TEX1_3D(v1)
- pV++;
-
- GLD_SETUP_3D_VERTEX(v0)
- GLD_SETUP_SMOOTH_COLOUR_3D(v0)
- GLD_SETUP_TEX0_3D(v0)
- GLD_SETUP_TEX1_3D(v0)
- pV++;
-
- gld->PB3d.pLines = (BYTE*)pV;
- gld->PB3d.nLines++;
-}
-
-//---------------------------------------------------------------------------
-// Triangle functions
-//---------------------------------------------------------------------------
-
-void gld_Triangle3DFlat_DX7(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1,
- GLuint v2)
-{
- GLD_SETUP_3D_VARS_TRIANGLES
-
- GLD_SETUP_3D_VERTEX(v2)
- GLD_SETUP_TEX0_3D(v2)
- GLD_SETUP_TEX1_3D(v2)
- GLD_SETUP_GET_FLAT_COLOUR_3D(v2)
- GLD_SETUP_USE_FLAT_COLOUR_3D
- pV++;
-
- GLD_SETUP_3D_VERTEX(v0)
- GLD_SETUP_TEX0_3D(v0)
- GLD_SETUP_TEX1_3D(v0)
- GLD_SETUP_USE_FLAT_COLOUR_3D
- pV++;
-
- GLD_SETUP_3D_VERTEX(v1)
- GLD_SETUP_TEX0_3D(v1)
- GLD_SETUP_TEX1_3D(v1)
- GLD_SETUP_USE_FLAT_COLOUR_3D
- pV++;
-
- gld->PB3d.pTriangles = (BYTE*)pV;
- gld->PB3d.nTriangles++;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Triangle3DSmooth_DX7(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1,
- GLuint v2)
-{
- GLD_SETUP_3D_VARS_TRIANGLES
-
- GLD_SETUP_3D_VERTEX(v0)
- GLD_SETUP_SMOOTH_COLOUR_3D(v0)
- GLD_SETUP_TEX0_3D(v0)
- GLD_SETUP_TEX1_3D(v0)
- pV++;
-
- GLD_SETUP_3D_VERTEX(v1)
- GLD_SETUP_SMOOTH_COLOUR_3D(v1)
- GLD_SETUP_TEX0_3D(v1)
- GLD_SETUP_TEX1_3D(v1)
- pV++;
-
- GLD_SETUP_3D_VERTEX(v2)
- GLD_SETUP_SMOOTH_COLOUR_3D(v2)
- GLD_SETUP_TEX0_3D(v2)
- GLD_SETUP_TEX1_3D(v2)
- pV++;
-
- gld->PB3d.pTriangles = (BYTE*)pV;
- gld->PB3d.nTriangles++;
-}
-
-//---------------------------------------------------------------------------
-// Quad functions
-//---------------------------------------------------------------------------
-
-void gld_Quad3DFlat_DX7(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1,
- GLuint v2,
- GLuint v3)
-{
- GLD_SETUP_3D_VARS_TRIANGLES
-
- GLD_SETUP_3D_VERTEX(v3)
- GLD_SETUP_GET_FLAT_COLOUR_3D(v3)
- GLD_SETUP_USE_FLAT_COLOUR_3D
- GLD_SETUP_TEX0_3D(v3)
- GLD_SETUP_TEX1_3D(v3)
- pV++;
-
- GLD_SETUP_3D_VERTEX(v0)
- GLD_SETUP_USE_FLAT_COLOUR_3D
- GLD_SETUP_TEX0_3D(v0)
- GLD_SETUP_TEX1_3D(v0)
- pV++;
-
- GLD_SETUP_3D_VERTEX(v1)
- GLD_SETUP_USE_FLAT_COLOUR_3D
- GLD_SETUP_TEX0_3D(v1)
- GLD_SETUP_TEX1_3D(v1)
- pV++;
-
- GLD_SETUP_3D_VERTEX(v1)
- GLD_SETUP_USE_FLAT_COLOUR_3D
- GLD_SETUP_TEX0_3D(v1)
- GLD_SETUP_TEX1_3D(v1)
- pV++;
-
- GLD_SETUP_3D_VERTEX(v2)
- GLD_SETUP_USE_FLAT_COLOUR_3D
- GLD_SETUP_TEX0_3D(v2)
- GLD_SETUP_TEX1_3D(v2)
- pV++;
-
- GLD_SETUP_3D_VERTEX(v3)
- GLD_SETUP_USE_FLAT_COLOUR_3D
- GLD_SETUP_TEX0_3D(v3)
- GLD_SETUP_TEX1_3D(v3)
- pV++;
-
- gld->PB3d.pTriangles = (BYTE*)pV;
- gld->PB3d.nTriangles += 2;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Quad3DSmooth_DX7(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1,
- GLuint v2,
- GLuint v3)
-{
- GLD_SETUP_3D_VARS_TRIANGLES
-
- GLD_SETUP_3D_VERTEX(v0)
- GLD_SETUP_SMOOTH_COLOUR_3D(v0)
- GLD_SETUP_TEX0_3D(v0)
- GLD_SETUP_TEX1_3D(v0)
- pV++;
-
- GLD_SETUP_3D_VERTEX(v1)
- GLD_SETUP_SMOOTH_COLOUR_3D(v1)
- GLD_SETUP_TEX0_3D(v1)
- GLD_SETUP_TEX1_3D(v1)
- pV++;
-
- GLD_SETUP_3D_VERTEX(v2)
- GLD_SETUP_SMOOTH_COLOUR_3D(v2)
- GLD_SETUP_TEX0_3D(v2)
- GLD_SETUP_TEX1_3D(v2)
- pV++;
-
- GLD_SETUP_3D_VERTEX(v2)
- GLD_SETUP_SMOOTH_COLOUR_3D(v2)
- GLD_SETUP_TEX0_3D(v2)
- GLD_SETUP_TEX1_3D(v2)
- pV++;
-
- GLD_SETUP_3D_VERTEX(v3)
- GLD_SETUP_SMOOTH_COLOUR_3D(v3)
- GLD_SETUP_TEX0_3D(v3)
- GLD_SETUP_TEX1_3D(v3)
- pV++;
-
- GLD_SETUP_3D_VERTEX(v0)
- GLD_SETUP_SMOOTH_COLOUR_3D(v0)
- GLD_SETUP_TEX0_3D(v0)
- GLD_SETUP_TEX1_3D(v0)
- pV++;
-
- gld->PB3d.pTriangles = (BYTE*)pV;
- gld->PB3d.nTriangles += 2;
-}
-
-//---------------------------------------------------------------------------
-// Vertex setup for two-sided-lighting vertex shader
-//---------------------------------------------------------------------------
-
-/*
-
-void gld_Points2DTwoside_DX8(GLcontext *ctx, GLuint first, GLuint last)
-{
- // NOTE: Two-sided lighting does not apply to Points
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Line2DFlatTwoside_DX8(GLcontext *ctx, GLuint v0, GLuint v1)
-{
- // NOTE: Two-sided lighting does not apply to Lines
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Line2DSmoothTwoside_DX8(GLcontext *ctx, GLuint v0, GLuint v1)
-{
- // NOTE: Two-sided lighting does not apply to Lines
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Triangle2DFlatTwoside_DX8(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2)
-{
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Triangle2DSmoothTwoside_DX8(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx8 *gld = GLD_GET_DX8_DRIVER(gldCtx);
- GLD_TWOSIDED_VERTEX *pV = (GLD_TWOSIDED_VERTEX*)gld->PBtwosidelight.pTriangles;
- SScontext *ss = SWSETUP_CONTEXT(ctx);
- SWvertex *swv;
- DWORD dwSpecularColour;
- DWORD dwFlatColour;
- GLuint facing = 0;
- struct vertex_buffer *VB;
- GLchan (*vbcolor)[4];
- GLchan (*vbspec)[4];
-
- // Reciprocal of DepthMax
- const float ooDepthMax = 1.0f / ctx->DepthMaxF;
-
- // 1st vert
- swv = &ss->verts[v0];
- pV->Position.x = swv->win[0];
- pV->Position.y = GLD_FLIP_Y(swv->win[1]);
- pV->Position.z = swv->win[2] * ooDepthMax;
- pV->Position.w = swv->win[3];
- pV->TexUnit0.x = swv->texcoord[0][0];
- pV->TexUnit0.y = swv->texcoord[0][1];
- pV->TexUnit1.x = swv->texcoord[1][0];
- pV->TexUnit1.y = swv->texcoord[1][1];
- pV->FrontDiffuse = GLD_COLOUR;
- pV->FrontSpecular = GLD_SPECULAR;
- pV++;
-
- // 2nd vert
- swv = &ss->verts[v1];
- pV->Position.x = swv->win[0];
- pV->Position.y = GLD_FLIP_Y(swv->win[1]);
- pV->Position.z = swv->win[2] * ooDepthMax;
- pV->Position.w = swv->win[3];
- pV->TexUnit0.x = swv->texcoord[0][0];
- pV->TexUnit0.y = swv->texcoord[0][1];
- pV->TexUnit1.x = swv->texcoord[1][0];
- pV->TexUnit1.y = swv->texcoord[1][1];
- pV->FrontDiffuse = GLD_COLOUR;
- pV->FrontSpecular = GLD_SPECULAR;
- pV++;
-
- // 3rd vert
- swv = &ss->verts[v2];
- pV->Position.x = swv->win[0];
- pV->Position.y = GLD_FLIP_Y(swv->win[1]);
- pV->Position.z = swv->win[2] * ooDepthMax;
- pV->Position.w = swv->win[3];
- pV->TexUnit0.x = swv->texcoord[0][0];
- pV->TexUnit0.y = swv->texcoord[0][1];
- pV->TexUnit1.x = swv->texcoord[1][0];
- pV->TexUnit1.y = swv->texcoord[1][1];
- pV->FrontDiffuse = GLD_COLOUR;
- pV->FrontSpecular = GLD_SPECULAR;
- pV++;
-
- gld->PBtwosidelight.pTriangles = (BYTE*)pV;
- gld->PBtwosidelight.nTriangles++;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Quad2DFlatTwoside_DX8(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2, GLuint v3)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx8 *gld = GLD_GET_DX8_DRIVER(gldCtx);
- GLD_TWOSIDED_VERTEX *pV = (GLD_TWOSIDED_VERTEX*)gld->PBtwosidelight.pTriangles;
- SScontext *ss = SWSETUP_CONTEXT(ctx);
- SWvertex *swv;
- DWORD dwSpecularColour;
- DWORD dwFlatColour;
- GLuint facing = 0;
- struct vertex_buffer *VB;
- GLchan (*vbcolor)[4];
- GLchan (*vbspec)[4];
-
- // Reciprocal of DepthMax
- const float ooDepthMax = 1.0f / ctx->DepthMaxF;
-
- // 1st vert
- swv = &ss->verts[v0];
- pV->Position.x = swv->win[0];
- pV->Position.y = GLD_FLIP_Y(swv->win[1]);
- pV->Position.z = swv->win[2] * ooDepthMax;
- pV->Position.w = swv->win[3];
- pV->TexUnit0.x = swv->texcoord[0][0];
- pV->TexUnit0.y = swv->texcoord[0][1];
- pV->TexUnit1.x = swv->texcoord[1][0];
- pV->TexUnit1.y = swv->texcoord[1][1];
- pV->FrontDiffuse = GLD_COLOUR;
- pV->FrontSpecular = GLD_SPECULAR;
- pV++;
-
- // 2nd vert
- swv = &ss->verts[v1];
- pV->Position.x = swv->win[0];
- pV->Position.y = GLD_FLIP_Y(swv->win[1]);
- pV->Position.z = swv->win[2] * ooDepthMax;
- pV->Position.w = swv->win[3];
- pV->TexUnit0.x = swv->texcoord[0][0];
- pV->TexUnit0.y = swv->texcoord[0][1];
- pV->TexUnit1.x = swv->texcoord[1][0];
- pV->TexUnit1.y = swv->texcoord[1][1];
- pV->FrontDiffuse = GLD_COLOUR;
- pV->FrontSpecular = GLD_SPECULAR;
- pV++;
-
- // 3rd vert
- swv = &ss->verts[v2];
- pV->Position.x = swv->win[0];
- pV->Position.y = GLD_FLIP_Y(swv->win[1]);
- pV->Position.z = swv->win[2] * ooDepthMax;
- pV->Position.w = swv->win[3];
- pV->TexUnit0.x = swv->texcoord[0][0];
- pV->TexUnit0.y = swv->texcoord[0][1];
- pV->TexUnit1.x = swv->texcoord[1][0];
- pV->TexUnit1.y = swv->texcoord[1][1];
- pV->FrontDiffuse = GLD_COLOUR;
- pV->FrontSpecular = GLD_SPECULAR;
- pV++;
-
- // 4th vert
- swv = &ss->verts[v2];
- pV->Position.x = swv->win[0];
- pV->Position.y = GLD_FLIP_Y(swv->win[1]);
- pV->Position.z = swv->win[2] * ooDepthMax;
- pV->Position.w = swv->win[3];
- pV->TexUnit0.x = swv->texcoord[0][0];
- pV->TexUnit0.y = swv->texcoord[0][1];
- pV->TexUnit1.x = swv->texcoord[1][0];
- pV->TexUnit1.y = swv->texcoord[1][1];
- pV->FrontDiffuse = GLD_COLOUR;
- pV->FrontSpecular = GLD_SPECULAR;
- pV++;
-
- // 5th vert
- swv = &ss->verts[v3];
- pV->Position.x = swv->win[0];
- pV->Position.y = GLD_FLIP_Y(swv->win[1]);
- pV->Position.z = swv->win[2] * ooDepthMax;
- pV->Position.w = swv->win[3];
- pV->TexUnit0.x = swv->texcoord[0][0];
- pV->TexUnit0.y = swv->texcoord[0][1];
- pV->TexUnit1.x = swv->texcoord[1][0];
- pV->TexUnit1.y = swv->texcoord[1][1];
- pV->FrontDiffuse = GLD_COLOUR;
- pV->FrontSpecular = GLD_SPECULAR;
- pV++;
-
- // 6th vert
- swv = &ss->verts[v0];
- pV->Position.x = swv->win[0];
- pV->Position.y = GLD_FLIP_Y(swv->win[1]);
- pV->Position.z = swv->win[2] * ooDepthMax;
- pV->Position.w = swv->win[3];
- pV->TexUnit0.x = swv->texcoord[0][0];
- pV->TexUnit0.y = swv->texcoord[0][1];
- pV->TexUnit1.x = swv->texcoord[1][0];
- pV->TexUnit1.y = swv->texcoord[1][1];
- pV->FrontDiffuse = GLD_COLOUR;
- pV->FrontSpecular = GLD_SPECULAR;
- pV++;
-
- gld->PBtwosidelight.pTriangles = (BYTE*)pV;
- gld->PBtwosidelight.nTriangles += 2;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Quad2DSmoothTwoside_DX8(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2, GLuint v3)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx8 *gld = GLD_GET_DX8_DRIVER(gldCtx);
- GLD_TWOSIDED_VERTEX *pV = (GLD_TWOSIDED_VERTEX*)gld->PBtwosidelight.pTriangles;
- SScontext *ss = SWSETUP_CONTEXT(ctx);
- SWvertex *swv;
- DWORD dwSpecularColour;
- DWORD dwFlatColour;
- GLuint facing = 0;
- struct vertex_buffer *VB;
- GLchan (*vbcolor)[4];
- GLchan (*vbspec)[4];
-
- // Reciprocal of DepthMax
- const float ooDepthMax = 1.0f / ctx->DepthMaxF;
-
- // 1st vert
- swv = &ss->verts[v0];
- pV->Position.x = swv->win[0];
- pV->Position.y = GLD_FLIP_Y(swv->win[1]);
- pV->Position.z = swv->win[2] * ooDepthMax;
- pV->Position.w = swv->win[3];
- pV->TexUnit0.x = swv->texcoord[0][0];
- pV->TexUnit0.y = swv->texcoord[0][1];
- pV->TexUnit1.x = swv->texcoord[1][0];
- pV->TexUnit1.y = swv->texcoord[1][1];
- pV->FrontDiffuse = GLD_COLOUR;
- pV->FrontSpecular = GLD_SPECULAR;
- pV++;
-
- // 2nd vert
- swv = &ss->verts[v1];
- pV->Position.x = swv->win[0];
- pV->Position.y = GLD_FLIP_Y(swv->win[1]);
- pV->Position.z = swv->win[2] * ooDepthMax;
- pV->Position.w = swv->win[3];
- pV->TexUnit0.x = swv->texcoord[0][0];
- pV->TexUnit0.y = swv->texcoord[0][1];
- pV->TexUnit1.x = swv->texcoord[1][0];
- pV->TexUnit1.y = swv->texcoord[1][1];
- pV->FrontDiffuse = GLD_COLOUR;
- pV->FrontSpecular = GLD_SPECULAR;
- pV++;
-
- // 3rd vert
- swv = &ss->verts[v2];
- pV->Position.x = swv->win[0];
- pV->Position.y = GLD_FLIP_Y(swv->win[1]);
- pV->Position.z = swv->win[2] * ooDepthMax;
- pV->Position.w = swv->win[3];
- pV->TexUnit0.x = swv->texcoord[0][0];
- pV->TexUnit0.y = swv->texcoord[0][1];
- pV->TexUnit1.x = swv->texcoord[1][0];
- pV->TexUnit1.y = swv->texcoord[1][1];
- pV->FrontDiffuse = GLD_COLOUR;
- pV->FrontSpecular = GLD_SPECULAR;
- pV++;
-
- // 4th vert
- swv = &ss->verts[v2];
- pV->Position.x = swv->win[0];
- pV->Position.y = GLD_FLIP_Y(swv->win[1]);
- pV->Position.z = swv->win[2] * ooDepthMax;
- pV->Position.w = swv->win[3];
- pV->TexUnit0.x = swv->texcoord[0][0];
- pV->TexUnit0.y = swv->texcoord[0][1];
- pV->TexUnit1.x = swv->texcoord[1][0];
- pV->TexUnit1.y = swv->texcoord[1][1];
- pV->FrontDiffuse = GLD_COLOUR;
- pV->FrontSpecular = GLD_SPECULAR;
- pV++;
-
- // 5th vert
- swv = &ss->verts[v3];
- pV->Position.x = swv->win[0];
- pV->Position.y = GLD_FLIP_Y(swv->win[1]);
- pV->Position.z = swv->win[2] * ooDepthMax;
- pV->Position.w = swv->win[3];
- pV->TexUnit0.x = swv->texcoord[0][0];
- pV->TexUnit0.y = swv->texcoord[0][1];
- pV->TexUnit1.x = swv->texcoord[1][0];
- pV->TexUnit1.y = swv->texcoord[1][1];
- pV->FrontDiffuse = GLD_COLOUR;
- pV->FrontSpecular = GLD_SPECULAR;
- pV++;
-
- // 6th vert
- swv = &ss->verts[v0];
- pV->Position.x = swv->win[0];
- pV->Position.y = GLD_FLIP_Y(swv->win[1]);
- pV->Position.z = swv->win[2] * ooDepthMax;
- pV->Position.w = swv->win[3];
- pV->TexUnit0.x = swv->texcoord[0][0];
- pV->TexUnit0.y = swv->texcoord[0][1];
- pV->TexUnit1.x = swv->texcoord[1][0];
- pV->TexUnit1.y = swv->texcoord[1][1];
- pV->FrontDiffuse = GLD_COLOUR;
- pV->FrontSpecular = GLD_SPECULAR;
- pV++;
-
- gld->PBtwosidelight.pTriangles = (BYTE*)pV;
- gld->PBtwosidelight.nTriangles += 2;
-}
-
-//---------------------------------------------------------------------------
-
-*/
diff --git a/src/mesa/drivers/windows/gldirect/dx7/gld_texture_dx7.c b/src/mesa/drivers/windows/gldirect/dx7/gld_texture_dx7.c
deleted file mode 100644
index bbe673516d..0000000000
--- a/src/mesa/drivers/windows/gldirect/dx7/gld_texture_dx7.c
+++ /dev/null
@@ -1,2196 +0,0 @@
-/****************************************************************************
-*
-* Mesa 3-D graphics library
-* Direct3D Driver Interface
-*
-* ========================================================================
-*
-* Copyright (C) 1991-2004 SciTech Software, Inc. 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
-* SCITECH SOFTWARE INC 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.
-*
-* ======================================================================
-*
-* Language: ANSI C
-* Environment: Windows 9x/2000/XP/XBox (Win32)
-*
-* Description: Texture / Bitmap functions
-*
-****************************************************************************/
-
-#include "dglcontext.h"
-#include "ddlog.h"
-#include "gld_dx7.h"
-
-//#include <d3dx8tex.h>
-
-#include "texformat.h"
-#include "colormac.h"
-#include "texstore.h"
-#include "image.h"
-// #include "mem.h"
-
-//---------------------------------------------------------------------------
-
-#define GLD_FLIP_HEIGHT(y,h) (gldCtx->dwHeight - (y) - (h))
-
-D3DX_SURFACEFORMAT _gldD3DXFormatFromSurface(IDirectDrawSurface7 *pSurface);
-
-//---------------------------------------------------------------------------
-// 1D texture fetch
-//---------------------------------------------------------------------------
-
-#define CHAN_SRC( t, i, j, k, sz ) \
- ((GLchan *)(t)->Data + (i) * (sz))
-#define UBYTE_SRC( t, i, j, k, sz ) \
- ((GLubyte *)(t)->Data + (i) * (sz))
-#define USHORT_SRC( t, i, j, k ) \
- ((GLushort *)(t)->Data + (i))
-#define FLOAT_SRC( t, i, j, k ) \
- ((GLfloat *)(t)->Data + (i))
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_1d_texel_X8R8G8B8(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLchan *texel )
-{
- const GLchan *src = CHAN_SRC( texImage, i, j, k, 4 );
- GLchan *rgba = (GLchan *)texel;
- rgba[RCOMP] = src[2];
- rgba[GCOMP] = src[1];
- rgba[BCOMP] = src[0];
- rgba[ACOMP] = CHAN_MAX;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_1d_texel_f_X8R8G8B8(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLfloat *texel )
-{
- const GLchan *src = CHAN_SRC( texImage, i, j, k, 4 );
- texel[RCOMP] = CHAN_TO_FLOAT(src[0]);
- texel[GCOMP] = CHAN_TO_FLOAT(src[1]);
- texel[BCOMP] = CHAN_TO_FLOAT(src[2]);
- texel[ACOMP] = 1.f;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_1d_texel_X1R5G5B5(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLchan *texel )
-{
- const GLushort *src = USHORT_SRC( texImage, i, j, k );
- GLchan *rgba = (GLchan *) texel; GLushort s = *src;
- rgba[RCOMP] = UBYTE_TO_CHAN( ((s >> 10) & 0xf8) * 255 / 0xf8 );
- rgba[GCOMP] = UBYTE_TO_CHAN( ((s >> 5) & 0xf8) * 255 / 0xf8 );
- rgba[BCOMP] = UBYTE_TO_CHAN( ((s ) & 0xf8) * 255 / 0xf8 );
- rgba[ACOMP] = CHAN_MAX;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_1d_texel_f_X1R5G5B5(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLfloat *texel )
-{
- const GLushort *src = USHORT_SRC( texImage, i, j, k );
- GLushort s = *src;
- texel[RCOMP] = UBYTE_TO_FLOAT( ((s >> 10) & 0xf8) * 255 / 0xf8 );
- texel[GCOMP] = UBYTE_TO_FLOAT( ((s >> 5) & 0xf8) * 255 / 0xf8 );
- texel[BCOMP] = UBYTE_TO_FLOAT( ((s ) & 0xf8) * 255 / 0xf8 );
- texel[ACOMP] = 1.f;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_1d_texel_X4R4G4B4(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLchan *texel )
-{
- const GLushort *src = USHORT_SRC( texImage, i, j, k );
- GLchan *rgba = (GLchan *) texel; GLushort s = *src;
- rgba[RCOMP] = UBYTE_TO_CHAN( ((s >> 8) & 0xf) * 255 / 0xf );
- rgba[GCOMP] = UBYTE_TO_CHAN( ((s >> 4) & 0xf) * 255 / 0xf );
- rgba[BCOMP] = UBYTE_TO_CHAN( ((s ) & 0xf) * 255 / 0xf );
- rgba[ACOMP] = CHAN_MAX;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_1d_texel_f_X4R4G4B4(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLfloat *texel )
-{
- const GLushort *src = USHORT_SRC( texImage, i, j, k );
- GLushort s = *src;
- texel[RCOMP] = UBYTE_TO_FLOAT( ((s >> 8) & 0xf) * 255 / 0xf );
- texel[GCOMP] = UBYTE_TO_FLOAT( ((s >> 4) & 0xf) * 255 / 0xf );
- texel[BCOMP] = UBYTE_TO_FLOAT( ((s ) & 0xf) * 255 / 0xf );
- texel[ACOMP] = 1.f;
-}
-
-//---------------------------------------------------------------------------
-
-#undef CHAN_SRC
-#undef UBYTE_SRC
-#undef USHORT_SRC
-#undef FLOAT_SRC
-
-//---------------------------------------------------------------------------
-// 2D texture fetch
-//---------------------------------------------------------------------------
-
-#define CHAN_SRC( t, i, j, k, sz ) \
- ((GLchan *)(t)->Data + ((t)->Width * (j) + (i)) * (sz))
-#define UBYTE_SRC( t, i, j, k, sz ) \
- ((GLubyte *)(t)->Data + ((t)->Width * (j) + (i)) * (sz))
-#define USHORT_SRC( t, i, j, k ) \
- ((GLushort *)(t)->Data + ((t)->Width * (j) + (i)))
-#define FLOAT_SRC( t, i, j, k ) \
- ((GLfloat *)(t)->Data + ((t)->Width * (j) + (i)))
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_2d_texel_X8R8G8B8(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLchan *texel )
-{
- const GLchan *src = CHAN_SRC( texImage, i, j, k, 4 );
- GLchan *rgba = (GLchan *)texel;
- rgba[RCOMP] = src[2];
- rgba[GCOMP] = src[1];
- rgba[BCOMP] = src[0];
- rgba[ACOMP] = CHAN_MAX;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_2d_texel_f_X8R8G8B8(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLfloat *texel )
-{
- const GLchan *src = CHAN_SRC( texImage, i, j, k, 4 );
- texel[RCOMP] = CHAN_TO_FLOAT(src[0]);
- texel[GCOMP] = CHAN_TO_FLOAT(src[1]);
- texel[BCOMP] = CHAN_TO_FLOAT(src[2]);
- texel[ACOMP] = 1.f;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_2d_texel_X1R5G5B5(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLchan *texel )
-{
- const GLushort *src = USHORT_SRC( texImage, i, j, k );
- GLchan *rgba = (GLchan *) texel; GLushort s = *src;
- rgba[RCOMP] = UBYTE_TO_CHAN( ((s >> 10) & 0xf8) * 255 / 0xf8 );
- rgba[GCOMP] = UBYTE_TO_CHAN( ((s >> 5) & 0xf8) * 255 / 0xf8 );
- rgba[BCOMP] = UBYTE_TO_CHAN( ((s ) & 0xf8) * 255 / 0xf8 );
- rgba[ACOMP] = CHAN_MAX;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_2d_texel_f_X1R5G5B5(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLfloat *texel )
-{
- const GLushort *src = USHORT_SRC( texImage, i, j, k );
- GLushort s = *src;
- texel[RCOMP] = UBYTE_TO_FLOAT( ((s >> 10) & 0xf8) * 255 / 0xf8 );
- texel[GCOMP] = UBYTE_TO_FLOAT( ((s >> 5) & 0xf8) * 255 / 0xf8 );
- texel[BCOMP] = UBYTE_TO_FLOAT( ((s ) & 0xf8) * 255 / 0xf8 );
- texel[ACOMP] = 1.f;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_2d_texel_X4R4G4B4(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLchan *texel )
-{
- const GLushort *src = USHORT_SRC( texImage, i, j, k );
- GLchan *rgba = (GLchan *) texel; GLushort s = *src;
- rgba[RCOMP] = UBYTE_TO_CHAN( ((s >> 8) & 0xf) * 255 / 0xf );
- rgba[GCOMP] = UBYTE_TO_CHAN( ((s >> 4) & 0xf) * 255 / 0xf );
- rgba[BCOMP] = UBYTE_TO_CHAN( ((s ) & 0xf) * 255 / 0xf );
- rgba[ACOMP] = CHAN_MAX;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_2d_texel_f_X4R4G4B4(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLfloat *texel )
-{
- const GLushort *src = USHORT_SRC( texImage, i, j, k );
- GLushort s = *src;
- texel[RCOMP] = UBYTE_TO_FLOAT( ((s >> 8) & 0xf) * 255 / 0xf );
- texel[GCOMP] = UBYTE_TO_FLOAT( ((s >> 4) & 0xf) * 255 / 0xf );
- texel[BCOMP] = UBYTE_TO_FLOAT( ((s ) & 0xf) * 255 / 0xf );
- texel[ACOMP] = 1.f;
-}
-
-//---------------------------------------------------------------------------
-
-#undef CHAN_SRC
-#undef UBYTE_SRC
-#undef USHORT_SRC
-#undef FLOAT_SRC
-
-//---------------------------------------------------------------------------
-// 3D texture fetch
-//---------------------------------------------------------------------------
-
-#define CHAN_SRC( t, i, j, k, sz ) \
- (GLchan *)(t)->Data + (((t)->Height * (k) + (j)) * \
- (t)->Width + (i)) * (sz)
-#define UBYTE_SRC( t, i, j, k, sz ) \
- ((GLubyte *)(t)->Data + (((t)->Height * (k) + (j)) * \
- (t)->Width + (i)) * (sz))
-#define USHORT_SRC( t, i, j, k ) \
- ((GLushort *)(t)->Data + (((t)->Height * (k) + (j)) * \
- (t)->Width + (i)))
-#define FLOAT_SRC( t, i, j, k ) \
- ((GLfloat *)(t)->Data + (((t)->Height * (k) + (j)) * \
- (t)->Width + (i)))
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_3d_texel_X8R8G8B8(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLchan *texel )
-{
- const GLchan *src = CHAN_SRC( texImage, i, j, k, 4 );
- GLchan *rgba = (GLchan *)texel;
- rgba[RCOMP] = src[2];
- rgba[GCOMP] = src[1];
- rgba[BCOMP] = src[0];
- rgba[ACOMP] = CHAN_MAX;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_3d_texel_f_X8R8G8B8(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLfloat *texel )
-{
- const GLchan *src = CHAN_SRC( texImage, i, j, k, 4 );
- texel[RCOMP] = CHAN_TO_FLOAT(src[0]);
- texel[GCOMP] = CHAN_TO_FLOAT(src[1]);
- texel[BCOMP] = CHAN_TO_FLOAT(src[2]);
- texel[ACOMP] = 1.f;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_3d_texel_X1R5G5B5(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLchan *texel )
-{
- const GLushort *src = USHORT_SRC( texImage, i, j, k );
- GLchan *rgba = (GLchan *) texel; GLushort s = *src;
- rgba[RCOMP] = UBYTE_TO_CHAN( ((s >> 10) & 0xf8) * 255 / 0xf8 );
- rgba[GCOMP] = UBYTE_TO_CHAN( ((s >> 5) & 0xf8) * 255 / 0xf8 );
- rgba[BCOMP] = UBYTE_TO_CHAN( ((s ) & 0xf8) * 255 / 0xf8 );
- rgba[ACOMP] = CHAN_MAX;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_3d_texel_f_X1R5G5B5(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLfloat *texel )
-{
- const GLushort *src = USHORT_SRC( texImage, i, j, k );
- GLushort s = *src;
- texel[RCOMP] = UBYTE_TO_FLOAT( ((s >> 10) & 0xf8) * 255 / 0xf8 );
- texel[GCOMP] = UBYTE_TO_FLOAT( ((s >> 5) & 0xf8) * 255 / 0xf8 );
- texel[BCOMP] = UBYTE_TO_FLOAT( ((s ) & 0xf8) * 255 / 0xf8 );
- texel[ACOMP] = 1.f;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_3d_texel_X4R4G4B4(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLchan *texel )
-{
- const GLushort *src = USHORT_SRC( texImage, i, j, k );
- GLchan *rgba = (GLchan *) texel; GLushort s = *src;
- rgba[RCOMP] = UBYTE_TO_CHAN( ((s >> 8) & 0xf) * 255 / 0xf );
- rgba[GCOMP] = UBYTE_TO_CHAN( ((s >> 4) & 0xf) * 255 / 0xf );
- rgba[BCOMP] = UBYTE_TO_CHAN( ((s ) & 0xf) * 255 / 0xf );
- rgba[ACOMP] = CHAN_MAX;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_3d_texel_f_X4R4G4B4(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLfloat *texel )
-{
- const GLushort *src = USHORT_SRC( texImage, i, j, k );
- GLushort s = *src;
- texel[RCOMP] = UBYTE_TO_FLOAT( ((s >> 8) & 0xf) * 255 / 0xf );
- texel[GCOMP] = UBYTE_TO_FLOAT( ((s >> 4) & 0xf) * 255 / 0xf );
- texel[BCOMP] = UBYTE_TO_FLOAT( ((s ) & 0xf) * 255 / 0xf );
- texel[ACOMP] = 1.f;
-}
-
-//---------------------------------------------------------------------------
-
-#undef CHAN_SRC
-#undef UBYTE_SRC
-#undef USHORT_SRC
-#undef FLOAT_SRC
-
-//---------------------------------------------------------------------------
-// Direct3D texture formats that have no Mesa equivalent
-//---------------------------------------------------------------------------
-
-const struct gl_texture_format _gld_texformat_X8R8G8B8 = {
- MESA_FORMAT_ARGB8888, /* MesaFormat */
- GL_RGBA, /* BaseFormat */
- GL_UNSIGNED_NORMALIZED_ARB, /* DataType */
- 8, /* RedBits */
- 8, /* GreenBits */
- 8, /* BlueBits */
- 0, /* AlphaBits */
- 0, /* LuminanceBits */
- 0, /* IntensityBits */
- 0, /* IndexBits */
- 0, /* DepthBits */
- 4, /* TexelBytes */
- _mesa_texstore_argb8888, /* StoreTexImageFunc */
- gld_fetch_1d_texel_X8R8G8B8, /* FetchTexel1D */
- gld_fetch_2d_texel_X8R8G8B8, /* FetchTexel2D */
- gld_fetch_3d_texel_X8R8G8B8, /* FetchTexel3D */
- gld_fetch_1d_texel_f_X8R8G8B8, /* FetchTexel1Df */
- gld_fetch_2d_texel_f_X8R8G8B8, /* FetchTexel2Df */
- gld_fetch_3d_texel_f_X8R8G8B8, /* FetchTexel3Df */
-};
-
-const struct gl_texture_format _gld_texformat_X1R5G5B5 = {
- MESA_FORMAT_ARGB1555, /* MesaFormat */
- GL_RGBA, /* BaseFormat */
- GL_UNSIGNED_NORMALIZED_ARB, /* DataType */
- 5, /* RedBits */
- 5, /* GreenBits */
- 5, /* BlueBits */
- 0, /* AlphaBits */
- 0, /* LuminanceBits */
- 0, /* IntensityBits */
- 0, /* IndexBits */
- 0, /* DepthBits */
- 2, /* TexelBytes */
- _mesa_texstore_argb1555, /* StoreTexImageFunc */
- gld_fetch_1d_texel_X1R5G5B5, /* FetchTexel1D */
- gld_fetch_2d_texel_X1R5G5B5, /* FetchTexel2D */
- gld_fetch_3d_texel_X1R5G5B5, /* FetchTexel3D */
- gld_fetch_1d_texel_f_X1R5G5B5, /* FetchTexel1Df */
- gld_fetch_2d_texel_f_X1R5G5B5, /* FetchTexel2Df */
- gld_fetch_3d_texel_f_X1R5G5B5, /* FetchTexel3Df */
-};
-
-const struct gl_texture_format _gld_texformat_X4R4G4B4 = {
- MESA_FORMAT_ARGB4444, /* MesaFormat */
- GL_RGBA, /* BaseFormat */
- GL_UNSIGNED_NORMALIZED_ARB, /* DataType */
- 4, /* RedBits */
- 4, /* GreenBits */
- 4, /* BlueBits */
- 0, /* AlphaBits */
- 0, /* LuminanceBits */
- 0, /* IntensityBits */
- 0, /* IndexBits */
- 0, /* DepthBits */
- 2, /* TexelBytes */
- _mesa_texstore_argb4444, /* StoreTexImageFunc */
- gld_fetch_1d_texel_X4R4G4B4, /* FetchTexel1D */
- gld_fetch_2d_texel_X4R4G4B4, /* FetchTexel2D */
- gld_fetch_3d_texel_X4R4G4B4, /* FetchTexel3D */
- gld_fetch_1d_texel_f_X4R4G4B4, /* FetchTexel1Df */
- gld_fetch_2d_texel_f_X4R4G4B4, /* FetchTexel2Df */
- gld_fetch_3d_texel_f_X4R4G4B4, /* FetchTexel3Df */
-};
-
-//---------------------------------------------------------------------------
-// Texture unit constants
-//---------------------------------------------------------------------------
-
-// List of possible combinations of texture environments.
-// Example: GLD_TEXENV_MODULATE_RGBA means
-// GL_MODULATE, GL_RGBA base internal format.
-#define GLD_TEXENV_DECAL_RGB 0
-#define GLD_TEXENV_DECAL_RGBA 1
-#define GLD_TEXENV_DECAL_ALPHA 2
-#define GLD_TEXENV_REPLACE_RGB 3
-#define GLD_TEXENV_REPLACE_RGBA 4
-#define GLD_TEXENV_REPLACE_ALPHA 5
-#define GLD_TEXENV_MODULATE_RGB 6
-#define GLD_TEXENV_MODULATE_RGBA 7
-#define GLD_TEXENV_MODULATE_ALPHA 8
-#define GLD_TEXENV_BLEND_RGB 9
-#define GLD_TEXENV_BLEND_RGBA 10
-#define GLD_TEXENV_BLEND_ALPHA 11
-#define GLD_TEXENV_ADD_RGB 12
-#define GLD_TEXENV_ADD_RGBA 13
-#define GLD_TEXENV_ADD_ALPHA 14
-
-// Per-stage (i.e. per-unit) texture environment
-typedef struct {
- DWORD ColorArg1; // Colour argument 1
- D3DTEXTUREOP ColorOp; // Colour operation
- DWORD ColorArg2; // Colour argument 2
- DWORD AlphaArg1; // Alpha argument 1
- D3DTEXTUREOP AlphaOp; // Alpha operation
- DWORD AlphaArg2; // Alpha argument 2
-} GLD_texenv;
-
-// TODO: Do we really need to set ARG1 and ARG2 every time?
-// They seem to always be TEXTURE and CURRENT respectively.
-
-// C = Colour out
-// A = Alpha out
-// Ct = Colour from Texture
-// Cf = Colour from fragment (diffuse)
-// At = Alpha from Texture
-// Af = Alpha from fragment (diffuse)
-// Cc = GL_TEXTURE_ENV_COLOUR (GL_BLEND)
-const GLD_texenv gldTexEnv[] = {
- // DECAL_RGB: C=Ct, A=Af
- {D3DTA_TEXTURE, D3DTOP_SELECTARG1, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_SELECTARG2, D3DTA_CURRENT},
- // DECAL_RGBA: C=Cf(1-At)+CtAt, A=Af
- {D3DTA_TEXTURE, D3DTOP_BLENDTEXTUREALPHA, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_SELECTARG2, D3DTA_CURRENT},
- // DECAL_ALPHA: <undefined> use DECAL_RGB
- {D3DTA_TEXTURE, D3DTOP_SELECTARG1, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_SELECTARG2, D3DTA_CURRENT},
-
- // REPLACE_RGB: C=Ct, A=Af
- {D3DTA_TEXTURE, D3DTOP_SELECTARG1, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_SELECTARG2, D3DTA_CURRENT},
- // REPLACE_RGBA: C=Ct, A=At
- {D3DTA_TEXTURE, D3DTOP_SELECTARG1, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_SELECTARG1, D3DTA_CURRENT},
- // REPLACE_ALPHA: C=Cf, A=At
- {D3DTA_TEXTURE, D3DTOP_SELECTARG2, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_SELECTARG1, D3DTA_CURRENT},
-
- // MODULATE_RGB: C=CfCt, A=Af
- {D3DTA_TEXTURE, D3DTOP_MODULATE, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_SELECTARG2, D3DTA_CURRENT},
- // MODULATE_RGBA: C=CfCt, A=AfAt
- {D3DTA_TEXTURE, D3DTOP_MODULATE, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_MODULATE, D3DTA_CURRENT},
- // MODULATE_ALPHA: C=Cf, A=AfAt
- {D3DTA_TEXTURE, D3DTOP_SELECTARG2, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_MODULATE, D3DTA_CURRENT},
-
- //
- // DX7 Does not support D3DTOP_LERP
- // Emulate(?) via D3DTOP_ADDSMOOTH
- //
-#if 0
- // BLEND_RGB: C=Cf(1-Ct)+CcCt, A=Af
- {D3DTA_TEXTURE, D3DTOP_LERP, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_SELECTARG2, D3DTA_CURRENT},
- // BLEND_RGBA: C=Cf(1-Ct)+CcCt, A=AfAt
- {D3DTA_TEXTURE, D3DTOP_LERP, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_MODULATE, D3DTA_CURRENT},
-#else
- // BLEND_RGB: C=Cf(1-Ct)+CcCt, A=Af
- {D3DTA_TEXTURE, D3DTOP_ADDSMOOTH, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_SELECTARG2, D3DTA_CURRENT},
- // BLEND_RGBA: C=Cf(1-Ct)+CcCt, A=AfAt
- {D3DTA_TEXTURE, D3DTOP_ADDSMOOTH, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_MODULATE, D3DTA_CURRENT},
-#endif
- // BLEND_ALPHA: C=Cf, A=AfAt
- {D3DTA_TEXTURE, D3DTOP_SELECTARG2, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_MODULATE, D3DTA_CURRENT},
-
- // ADD_RGB: C=Cf+Ct, A=Af
- {D3DTA_TEXTURE, D3DTOP_ADD, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_SELECTARG2, D3DTA_CURRENT},
- // ADD_RGBA: C=Cf+Ct, A=AfAt
- {D3DTA_TEXTURE, D3DTOP_ADD, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_MODULATE, D3DTA_CURRENT},
- // ADD_ALPHA: C=Cf, A=AfAt
- {D3DTA_TEXTURE, D3DTOP_SELECTARG2, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_MODULATE, D3DTA_CURRENT},
-};
-
-//---------------------------------------------------------------------------
-
-D3DTEXTUREADDRESS _gldConvertWrap(
- GLenum wrap)
-{
-// ASSERT(wrap==GL_CLAMP || wrap==GL_REPEAT);
- return (wrap == GL_CLAMP) ? D3DTADDRESS_CLAMP : D3DTADDRESS_WRAP;
-}
-
-//---------------------------------------------------------------------------
-
-D3DTEXTUREMAGFILTER _gldConvertMagFilter(
- GLenum magfilter)
-{
- ASSERT(magfilter==GL_LINEAR || magfilter==GL_NEAREST);
- return (magfilter == GL_LINEAR) ? D3DTFG_LINEAR : D3DTFG_POINT;
-}
-
-//---------------------------------------------------------------------------
-
-void _gldConvertMinFilter(
- GLenum minfilter,
- D3DTEXTUREMINFILTER *min_filter,
- D3DTEXTUREMIPFILTER *mip_filter)
-{
- switch (minfilter) {
- case GL_NEAREST:
- *min_filter = D3DTFN_POINT;
- *mip_filter = D3DTFP_NONE;
- break;
- case GL_LINEAR:
- *min_filter = D3DTFN_LINEAR;
- *mip_filter = D3DTFP_NONE;
- break;
- case GL_NEAREST_MIPMAP_NEAREST:
- *min_filter = D3DTFN_POINT;
- *mip_filter = D3DTFP_POINT;
- break;
- case GL_LINEAR_MIPMAP_NEAREST:
- *min_filter = D3DTFN_LINEAR;
- *mip_filter = D3DTFP_POINT;
- break;
- case GL_NEAREST_MIPMAP_LINEAR:
- *min_filter = D3DTFN_POINT;
- *mip_filter = D3DTFP_LINEAR;
- break;
- case GL_LINEAR_MIPMAP_LINEAR:
- *min_filter = D3DTFN_LINEAR;
- *mip_filter = D3DTFP_LINEAR;
- break;
- default:
- ASSERT(0);
- }
-}
-
-//---------------------------------------------------------------------------
-
-D3DX_SURFACEFORMAT _gldGLFormatToD3DFormat(
- GLenum internalFormat)
-{
- switch (internalFormat) {
- case GL_INTENSITY:
- case GL_INTENSITY4:
- case GL_INTENSITY8:
- case GL_INTENSITY12:
- case GL_INTENSITY16:
- // LUNIMANCE != INTENSITY, but D3D doesn't have I8 textures
- return D3DX_SF_L8;
- case 1:
- case GL_LUMINANCE:
- case GL_LUMINANCE4:
- case GL_LUMINANCE8:
- case GL_LUMINANCE12:
- case GL_LUMINANCE16:
- return D3DX_SF_L8;
- case GL_ALPHA:
- case GL_ALPHA4:
- case GL_ALPHA8:
- case GL_ALPHA12:
- case GL_ALPHA16:
- return D3DX_SF_A8;
- case GL_COLOR_INDEX:
- case GL_COLOR_INDEX1_EXT:
- case GL_COLOR_INDEX2_EXT:
- case GL_COLOR_INDEX4_EXT:
- case GL_COLOR_INDEX8_EXT:
- case GL_COLOR_INDEX12_EXT:
- case GL_COLOR_INDEX16_EXT:
- return D3DX_SF_X8R8G8B8;
- case 2:
- case GL_LUMINANCE_ALPHA:
- case GL_LUMINANCE4_ALPHA4:
- case GL_LUMINANCE6_ALPHA2:
- case GL_LUMINANCE8_ALPHA8:
- case GL_LUMINANCE12_ALPHA4:
- case GL_LUMINANCE12_ALPHA12:
- case GL_LUMINANCE16_ALPHA16:
- return D3DX_SF_A8L8;
- case GL_R3_G3_B2:
- // TODO: Mesa does not support RGB332 internally
- return D3DX_SF_X4R4G4B4; //D3DFMT_R3G3B2;
- case GL_RGB4:
- return D3DX_SF_X4R4G4B4;
- case GL_RGB5:
- return D3DX_SF_R5G5B5;
- case 3:
- case GL_RGB:
- case GL_RGB8:
- case GL_RGB10:
- case GL_RGB12:
- case GL_RGB16:
- return D3DX_SF_R8G8B8;
- case GL_RGBA4:
- return D3DX_SF_A4R4G4B4;
- case 4:
- case GL_RGBA:
- case GL_RGBA2:
- case GL_RGBA8:
- case GL_RGB10_A2:
- case GL_RGBA12:
- case GL_RGBA16:
- return D3DX_SF_A8R8G8B8;
- case GL_RGB5_A1:
- return D3DX_SF_A1R5G5B5;
- }
-
- ASSERT(0);
-
- // Return an acceptable default
- return D3DX_SF_A8R8G8B8;
-}
-
-//---------------------------------------------------------------------------
-
-GLenum _gldDecodeBaseFormat(
- IDirectDrawSurface7 *pTex)
-{
- // Examine Direct3D texture and return base OpenGL internal texture format
- // NOTE: We can't use any base format info from Mesa because D3D might have
- // used a different texture format when we used D3DXCreateTexture().
-
- // Base internal format is one of (Red Book p355):
- // GL_ALPHA,
- // GL_LUMINANCE,
- // GL_LUMINANCE_ALPHA,
- // GL_INTENSITY,
- // GL_RGB,
- // GL_RGBA
-
- // NOTE: INTENSITY not used (not supported by Direct3D)
- // LUMINANCE has same texture functions as RGB
- // LUMINANCE_ALPHA has same texture functions as RGBA
-
- // TODO: cache format instead of using GetLevelDesc()
-// D3DSURFACE_DESC desc;
-// _GLD_DX7_TEX(GetLevelDesc(pTex, 0, &desc));
-
- D3DX_SURFACEFORMAT sf;
-
- sf = _gldD3DXFormatFromSurface(pTex);
-
- switch (sf) {
- case D3DX_SF_R8G8B8:
- case D3DX_SF_X8R8G8B8:
- case D3DX_SF_R5G6B5:
- case D3DX_SF_R5G5B5:
- case D3DX_SF_R3G3B2:
- case D3DX_SF_X4R4G4B4:
- case D3DX_SF_PALETTE8:
- case D3DX_SF_L8:
- return GL_RGB;
- case D3DX_SF_A8R8G8B8:
- case D3DX_SF_A1R5G5B5:
- case D3DX_SF_A4R4G4B4:
-// case D3DX_SF_A8R3G3B2: // Unsupported by DX7
-// case D3DX_SF_A8P8: // Unsupported by DX7
- case D3DX_SF_A8L8:
-// case D3DX_SF_A4L4: // Unsupported by DX7
- return GL_RGBA;
- case D3DX_SF_A8:
- return GL_ALPHA;
- // Compressed texture formats. Need to check these...
- case D3DX_SF_DXT1:
- return GL_RGBA;
-// case D3DX_SF_DXT2: // Unsupported by DX7
- return GL_RGB;
- case D3DX_SF_DXT3:
- return GL_RGBA;
-// case D3DX_SF_DXT4: // Unsupported by DX7
- return GL_RGB;
- case D3DX_SF_DXT5:
- return GL_RGBA;
- }
-
- // Fell through. Return arbitary default.
- ASSERT(0); // BANG!
- return GL_RGBA;
-}
-
-//---------------------------------------------------------------------------
-
-const struct gl_texture_format* _gldMesaFormatForD3DFormat(
- D3DX_SURFACEFORMAT d3dfmt)
-{
- switch (d3dfmt) {
- case D3DX_SF_A8R8G8B8:
- return &_mesa_texformat_argb8888;
- case D3DX_SF_R8G8B8:
- return &_mesa_texformat_rgb888;
- case D3DX_SF_R5G6B5:
- return &_mesa_texformat_rgb565;
- case D3DX_SF_A4R4G4B4:
- return &_mesa_texformat_argb4444;
- case D3DX_SF_A1R5G5B5:
- return &_mesa_texformat_argb1555;
- case D3DX_SF_A8L8:
- return &_mesa_texformat_al88;
- case D3DX_SF_R3G3B2:
- return &_mesa_texformat_rgb332;
- case D3DX_SF_A8:
- return &_mesa_texformat_a8;
- case D3DX_SF_L8:
- return &_mesa_texformat_l8;
- case D3DX_SF_X8R8G8B8:
- return &_gld_texformat_X8R8G8B8;
- case D3DX_SF_R5G5B5:
- return &_gld_texformat_X1R5G5B5;
- case D3DX_SF_X4R4G4B4:
- return &_gld_texformat_X4R4G4B4;
- }
-
- // If we reach here then we've made an error somewhere else
- // by allowing a format that is not supported.
- ASSERT(0);
-
- return NULL; // Shut up compiler warning
-}
-
-//---------------------------------------------------------------------------
-
-D3DX_SURFACEFORMAT _gldD3DXFormatFromSurface(
- IDirectDrawSurface7 *pSurface)
-{
- DDPIXELFORMAT ddpf;
-
- ddpf.dwSize = sizeof(ddpf);
-
- // Obtain pixel format of surface
- _GLD_DX7_TEX(GetPixelFormat(pSurface, &ddpf));
- // Decode to D3DX surface format
- return D3DXMakeSurfaceFormat(&ddpf);
-}
-
-//---------------------------------------------------------------------------
-
-void _gldClearSurface(
- IDirectDrawSurface *pSurface,
- D3DCOLOR dwColour)
-{
- DDBLTFX bltFX; // Used for colour fill
-
- // Initialise struct
- bltFX.dwSize = sizeof(bltFX);
- // Set clear colour
- bltFX.dwFillColor = dwColour;
- // Clear surface. HW accelerated if available.
- IDirectDrawSurface7_Blt(pSurface, NULL, NULL, NULL, DDBLT_COLORFILL, &bltFX);
-}
-
-//---------------------------------------------------------------------------
-// Copy* functions
-//---------------------------------------------------------------------------
-
-void gldCopyTexImage1D_DX7(
- GLcontext *ctx,
- GLenum target, GLint level,
- GLenum internalFormat,
- GLint x, GLint y,
- GLsizei width, GLint border )
-{
- // TODO
-}
-
-//---------------------------------------------------------------------------
-
-void gldCopyTexImage2D_DX7(
- GLcontext *ctx,
- GLenum target,
- GLint level,
- GLenum internalFormat,
- GLint x,
- GLint y,
- GLsizei width,
- GLsizei height,
- GLint border)
-{
- // TODO
-}
-
-//---------------------------------------------------------------------------
-
-void gldCopyTexSubImage1D_DX7(
- GLcontext *ctx,
- GLenum target, GLint level,
- GLint xoffset, GLint x, GLint y, GLsizei width )
-{
- // TODO
-}
-
-//---------------------------------------------------------------------------
-
-void gldCopyTexSubImage2D_DX7(
- GLcontext *ctx,
- GLenum target,
- GLint level,
- GLint xoffset,
- GLint yoffset,
- GLint x,
- GLint y,
- GLsizei width,
- GLsizei height)
-{
- // TODO
-}
-
-//---------------------------------------------------------------------------
-
-void gldCopyTexSubImage3D_DX7(
- GLcontext *ctx,
- GLenum target,
- GLint level,
- GLint xoffset,
- GLint yoffset,
- GLint zoffset,
- GLint x,
- GLint y,
- GLsizei width,
- GLsizei height )
-{
- // TODO ?
-}
-
-//---------------------------------------------------------------------------
-// Bitmap/Pixel functions
-//---------------------------------------------------------------------------
-
-#define GLD_FLIP_Y(y) (gldCtx->dwHeight - (y))
-
-#define _GLD_FVF_IMAGE (D3DFVF_XYZRHW | D3DFVF_TEX1)
-
-typedef struct {
- FLOAT x, y; // 2D raster coords
- FLOAT z; // depth value
- FLOAT rhw; // reciprocal homogenous W (always 1.0f)
- FLOAT tu, tv; // texture coords
-} _GLD_IMAGE_VERTEX;
-
-//---------------------------------------------------------------------------
-
-HRESULT _gldDrawPixels(
- GLcontext *ctx,
- BOOL bChromakey, // Alpha test for glBitmap() images
- GLint x, // GL x position
- GLint y, // GL y position (needs flipping)
- GLsizei width, // Width of input image
- GLsizei height, // Height of input image
- IDirectDrawSurface7 *pImage)
-{
- //
- // Draw input image as texture implementing PixelZoom and clipping.
- // Any fragment operations currently enabled will be used.
- //
-
- // NOTE: This DX7 version does not create a new texture in which
- // to copy the input image, as the image is already a texture.
-
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx7 *gld = GLD_GET_DX7_DRIVER(gldCtx);
-
- DDSURFACEDESC2 ddsd;
- _GLD_IMAGE_VERTEX v[4];
-
- float ZoomWidth, ZoomHeight;
- float ScaleWidth, ScaleHeight;
-
- // Fixup for rasterisation rules
- const float cfEpsilon = 1.0f / (float)height;
-
- //
- // Set up the quad like this (ascii-art ahead!)
- //
- // 3--2
- // | |
- // 0--1
- //
- //
-
- // Set depth
- v[0].z = v[1].z = v[2].z = v[3].z = ctx->Current.RasterPos[2];
- // Set Reciprocal Homogenous W
- v[0].rhw = v[1].rhw = v[2].rhw = v[3].rhw = 1.0f;
-
- // Set texcoords
- // Examine texture size - if different to input width and height
- // then we'll need to munge the texcoords to fit.
- ddsd.dwSize = sizeof(DDSURFACEDESC2);
- IDirectDrawSurface7_GetSurfaceDesc(pImage, &ddsd);
- ScaleWidth = (float)width / (float)ddsd.dwWidth;
- ScaleHeight = (float)height / (float)ddsd.dwHeight;
- v[0].tu = 0.0f; v[0].tv = 0.0f;
- v[1].tu = ScaleWidth; v[1].tv = 0.0f;
- v[2].tu = ScaleWidth; v[2].tv = ScaleHeight;
- v[3].tu = 0.0f; v[3].tv = ScaleHeight;
-
- // Set raster positions
- ZoomWidth = (float)width * ctx->Pixel.ZoomX;
- ZoomHeight = (float)height * ctx->Pixel.ZoomY;
-
- v[0].x = x; v[0].y = GLD_FLIP_Y(y+cfEpsilon);
- v[1].x = x+ZoomWidth; v[1].y = GLD_FLIP_Y(y+cfEpsilon);
- v[2].x = x+ZoomWidth; v[2].y = GLD_FLIP_Y(y+ZoomHeight+cfEpsilon);
- v[3].x = x; v[3].y = GLD_FLIP_Y(y+ZoomHeight+cfEpsilon);
-
- // Draw image with full HW acceleration
- // NOTE: Be nice to use a State Block for all this state...
- IDirect3DDevice7_SetTexture(gld->pDev, 0, pImage);
- IDirect3DDevice7_SetRenderState(gld->pDev, D3DRENDERSTATE_CULLMODE, D3DCULL_NONE);
- IDirect3DDevice7_SetRenderState(gld->pDev, D3DRENDERSTATE_CLIPPING, TRUE);
- IDirect3DDevice7_SetTextureStageState(gld->pDev, 0, D3DTSS_MINFILTER, D3DTFN_POINT);
- IDirect3DDevice7_SetTextureStageState(gld->pDev, 0, D3DTSS_MIPFILTER, D3DTFP_POINT);
- IDirect3DDevice7_SetTextureStageState(gld->pDev, 0, D3DTSS_MAGFILTER, D3DTFG_POINT);
- IDirect3DDevice7_SetTextureStageState(gld->pDev, 0, D3DTSS_ADDRESSU, D3DTADDRESS_CLAMP);
- IDirect3DDevice7_SetTextureStageState(gld->pDev, 0, D3DTSS_ADDRESSV, D3DTADDRESS_CLAMP);
- IDirect3DDevice7_SetTextureStageState(gld->pDev, 0, D3DTSS_COLOROP, D3DTOP_SELECTARG1);
- IDirect3DDevice7_SetTextureStageState(gld->pDev, 0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1);
- IDirect3DDevice7_SetTextureStageState(gld->pDev, 0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
- IDirect3DDevice7_SetTextureStageState(gld->pDev, 0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
- // Ensure texture unit 1 is disabled
- IDirect3DDevice7_SetTextureStageState(gld->pDev, 1, D3DTSS_COLOROP, D3DTOP_DISABLE);
- IDirect3DDevice7_SetTextureStageState(gld->pDev, 1, D3DTSS_ALPHAOP, D3DTOP_DISABLE);
-
- //
- // Emulate Chromakey with an Alpha Test.
- // [Alpha Test is more widely supported anyway]
- //
- if (bChromakey) {
- // Switch on alpha testing
- IDirect3DDevice7_SetRenderState(gld->pDev, D3DRENDERSTATE_ALPHATESTENABLE, TRUE);
- // Fragment passes is alpha is greater than reference value
- IDirect3DDevice7_SetRenderState(gld->pDev, D3DRENDERSTATE_ALPHAFUNC, D3DCMP_GREATER);
- // Set alpha reference value between Bitmap alpha values of
- // zero (transparent) and one (opaque).
- IDirect3DDevice7_SetRenderState(gld->pDev, D3DRENDERSTATE_ALPHAREF, 0x7f);
- }
-
- IDirect3DDevice7_DrawPrimitive(gld->pDev, D3DPT_TRIANGLEFAN, _GLD_FVF_IMAGE, &v, 4, 0);
-
- // Reset state to before we messed it up
- FLUSH_VERTICES(ctx, _NEW_ALL);
-
- return S_OK;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_DrawPixels_DX7(
- GLcontext *ctx,
- GLint x, GLint y, GLsizei width, GLsizei height,
- GLenum format, GLenum type,
- const struct gl_pixelstore_attrib *unpack,
- const GLvoid *pixels )
-{
- GLD_context *gldCtx;
- GLD_driver_dx7 *gld;
-
- IDirectDrawSurface7 *pImage;
- HRESULT hr;
- DDSURFACEDESC2 ddsd;
- DWORD dwFlags;
- D3DX_SURFACEFORMAT sf;
- DWORD dwMipmaps;
-
- const struct gl_texture_format *MesaFormat;
-
- MesaFormat = _mesa_choose_tex_format(ctx, format, format, type);
-
- gldCtx = GLD_GET_CONTEXT(ctx);
- gld = GLD_GET_DX7_DRIVER(gldCtx);
-
- dwFlags = D3DX_TEXTURE_NOMIPMAP;
- sf = D3DX_SF_A8R8G8B8;
- dwMipmaps = 1;
-
- hr = D3DXCreateTexture(
- gld->pDev,
- &dwFlags,
- &width, &height,
- &sf, // format
- NULL, // palette
- &pImage, // Output texture
- &dwMipmaps);
- if (FAILED(hr)) {
- return;
- }
-
- // D3DXCreateTexture() may not clear the texture is creates.
- _gldClearSurface(pImage, 0);
-
- //
- // Use Mesa to fill in image
- //
-
- // Lock all of surface
- ddsd.dwSize = sizeof(DDSURFACEDESC2);
- dwFlags = DDLOCK_SURFACEMEMORYPTR | DDLOCK_WAIT;
- hr = IDirectDrawSurface7_Lock(pImage, NULL, &ddsd, dwFlags, NULL);
- if (FAILED(hr)) {
- SAFE_RELEASE_SURFACE7(pImage);
- return;
- }
-
- // unpack image, apply transfer ops and store directly in texture
- MesaFormat->StoreImage(
- ctx,
- 2,
- GL_RGBA,
- &_mesa_texformat_argb8888,
- ddsd.lpSurface,
- width, height, 1, 0, 0, 0,
- ddsd.lPitch,
- 0, /* dstImageStride */
- format, type, pixels, unpack);
-
- IDirectDrawSurface7_Unlock(pImage, NULL);
-
- _gldDrawPixels(ctx, FALSE, x, y, width, height, pImage);
-
- SAFE_RELEASE_SURFACE7(pImage);
-}
-
-//---------------------------------------------------------------------------
-
-void gld_ReadPixels_DX7(
- GLcontext *ctx,
- GLint x, GLint y, GLsizei width, GLsizei height,
- GLenum format, GLenum type,
- const struct gl_pixelstore_attrib *pack,
- GLvoid *dest)
-{
-// TODO
-#if 0
- GLD_context *gldCtx;
- GLD_driver_dx7 *gld;
-
- IDirect3DSurface8 *pBackbuffer = NULL;
- IDirect3DSurface8 *pNativeImage = NULL;
- IDirect3DSurface8 *pCanonicalImage = NULL;
-
- D3DSURFACE_DESC d3dsd;
- RECT rcSrc; // Source rect
- POINT ptDst; // Dest point
- HRESULT hr;
- D3DLOCKED_RECT d3dLockedRect;
- struct gl_pixelstore_attrib srcPacking;
- int i;
- GLint DstRowStride;
- const struct gl_texture_format *MesaFormat;
-
- switch (format) {
- case GL_STENCIL_INDEX:
- case GL_DEPTH_COMPONENT:
- return;
- }
-
- MesaFormat = _mesa_choose_tex_format(ctx, format, format, type);
- DstRowStride = _mesa_image_row_stride(pack, width, format, type);
-
- gldCtx = GLD_GET_CONTEXT(ctx);
- gld = GLD_GET_DX7_DRIVER(gldCtx);
-
- // Get backbuffer
- hr = IDirect3DDevice8_GetBackBuffer(
- gld->pDev,
- 0, // First backbuffer
- D3DBACKBUFFER_TYPE_MONO,
- &pBackbuffer);
- if (FAILED(hr))
- return;
-
- // Get backbuffer description
- hr = IDirect3DSurface8_GetDesc(pBackbuffer, &d3dsd);
- if (FAILED(hr)) {
- goto gld_ReadPixels_DX7_return;
- }
-
- // Create a surface compatible with backbuffer
- hr = IDirect3DDevice8_CreateImageSurface(
- gld->pDev,
- width,
- height,
- d3dsd.Format,
- &pNativeImage);
- if (FAILED(hr)) {
- goto gld_ReadPixels_DX7_return;
- }
-
- // Compute source rect and dest point
- SetRect(&rcSrc, 0, 0, width, height);
- OffsetRect(&rcSrc, x, GLD_FLIP_HEIGHT(y, height));
- ptDst.x = ptDst.y = 0;
-
- // Get source pixels.
- //
- // This intermediate surface ensure that we can use CopyRects()
- // instead of relying on D3DXLoadSurfaceFromSurface(), which may
- // try and lock the backbuffer. This way seems safer.
- //
- hr = IDirect3DDevice8_CopyRects(
- gld->pDev,
- pBackbuffer,
- &rcSrc,
- 1,
- pNativeImage,
- &ptDst);
- if (FAILED(hr)) {
- goto gld_ReadPixels_DX7_return;
- }
-
- // Create an RGBA8888 surface
- hr = IDirect3DDevice8_CreateImageSurface(
- gld->pDev,
- width,
- height,
- D3DFMT_A8R8G8B8,
- &pCanonicalImage);
- if (FAILED(hr)) {
- goto gld_ReadPixels_DX7_return;
- }
-
- // Convert to RGBA8888
- hr = D3DXLoadSurfaceFromSurface(
- pCanonicalImage, // Dest surface
- NULL, NULL, // Dest palette, RECT
- pNativeImage, // Src surface
- NULL, NULL, // Src palette, RECT
- D3DX_FILTER_NONE, // Filter
- 0); // Colourkey
- if (FAILED(hr)) {
- goto gld_ReadPixels_DX7_return;
- }
-
- srcPacking.Alignment = 1;
- srcPacking.ImageHeight = height;
- srcPacking.LsbFirst = GL_FALSE;
- srcPacking.RowLength = 0;
- srcPacking.SkipImages = 0;
- srcPacking.SkipPixels = 0;
- srcPacking.SkipRows = 0;
- srcPacking.SwapBytes = GL_FALSE;
-
- // Lock all of image
- hr = IDirect3DSurface8_LockRect(pCanonicalImage, &d3dLockedRect, NULL, 0);
- if (FAILED(hr)) {
- goto gld_ReadPixels_DX7_return;
- }
-
- // We need to flip the data. Yuck.
- // Perhaps Mesa has a span packer we can use in future...
- for (i=0; i<height; i++) {
- BYTE *pDestRow = (BYTE*)_mesa_image_address(2,pack, dest, width, height, format, type, 0, i, 0);
- BYTE *pSrcRow = (BYTE*)d3dLockedRect.pBits + (d3dLockedRect.Pitch * (height-i-1));
- texImage->TexFormat->StoreImage(
- ctx,
- 2,
- GL_RGBA, // base format
- MesaFormat, // dst format
- pDestRow, // dest addr
- width, 1, 1, 0, 0, 0, // src x,y,z & dst offsets x,y,z
- DstRowStride, // dst row stride
- 0, // dstImageStride
- GL_BGRA, // src format
- GL_UNSIGNED_BYTE, // src type
- pSrcRow, // src addr
- &srcPacking); // packing params of source image
- }
-
- IDirect3DSurface8_UnlockRect(pCanonicalImage);
-
-gld_ReadPixels_DX7_return:
- SAFE_RELEASE_SURFACE8(pCanonicalImage);
- SAFE_RELEASE_SURFACE8(pNativeImage);
- SAFE_RELEASE_SURFACE8(pBackbuffer);
-#endif
-}
-
-//---------------------------------------------------------------------------
-
-void gld_CopyPixels_DX7(
- GLcontext *ctx,
- GLint srcx,
- GLint srcy,
- GLsizei width,
- GLsizei height,
- GLint dstx,
- GLint dsty,
- GLenum type)
-{
-// TODO
-#if 0
- //
- // NOTE: Not allowed to copy vidmem to vidmem!
- // Therefore we use an intermediate image surface.
- //
-
- GLD_context *gldCtx;
- GLD_driver_dx7 *gld;
-
- IDirect3DSurface8 *pBackbuffer;
- D3DSURFACE_DESC d3dsd;
- IDirect3DSurface8 *pImage;
- RECT rcSrc; // Source rect
- POINT ptDst; // Dest point
- HRESULT hr;
-
- // Only backbuffer
- if (type != GL_COLOR)
- return;
-
- gldCtx = GLD_GET_CONTEXT(ctx);
- gld = GLD_GET_DX7_DRIVER(gldCtx);
-
- // Get backbuffer
- hr = IDirect3DDevice8_GetBackBuffer(
- gld->pDev,
- 0, // First backbuffer
- D3DBACKBUFFER_TYPE_MONO,
- &pBackbuffer);
- if (FAILED(hr))
- return;
-
- // Get backbuffer description
- hr = IDirect3DSurface8_GetDesc(pBackbuffer, &d3dsd);
- if (FAILED(hr)) {
- IDirect3DSurface8_Release(pBackbuffer);
- return;
- }
-
- // Create a surface compatible with backbuffer
- hr = IDirect3DDevice8_CreateImageSurface(
- gld->pDev,
- width,
- height,
- d3dsd.Format,
- &pImage);
- if (FAILED(hr)) {
- IDirect3DSurface8_Release(pBackbuffer);
- return;
- }
-
- // Compute source rect and dest point
- SetRect(&rcSrc, 0, 0, width, height);
- OffsetRect(&rcSrc, srcx, GLD_FLIP_HEIGHT(srcy, height));
- ptDst.x = ptDst.y = 0;
-
- // Get source pixels
- hr = IDirect3DDevice8_CopyRects(
- gld->pDev,
- pBackbuffer,
- &rcSrc,
- 1,
- pImage,
- &ptDst);
- IDirect3DSurface8_Release(pBackbuffer);
- if (FAILED(hr)) {
- IDirect3DSurface8_Release(pImage);
- return;
- }
-
- _gldDrawPixels(ctx, FALSE, dstx, dsty, width, height, pImage);
-
- IDirect3DSurface8_Release(pImage);
-#endif
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Bitmap_DX7(
- GLcontext *ctx,
- GLint x,
- GLint y,
- GLsizei width,
- GLsizei height,
- const struct gl_pixelstore_attrib *unpack,
- const GLubyte *bitmap)
-{
- GLD_context *gldCtx;
- GLD_driver_dx7 *gld;
-
- IDirectDrawSurface7 *pImage; // Bitmap texture
- HRESULT hr;
- BYTE *pTempBitmap; // Pointer to unpacked bitmap
- D3DCOLOR clBitmapOne; // Opaque bitmap colour
- D3DCOLOR clBitmapZero; // Transparent bitmap colour
- D3DCOLOR *pBits; // Pointer to texture surface
- const GLubyte *src;
- int i, j, k;
-
- DDSURFACEDESC2 ddsd; // Surface desc returned by lock call
- DWORD dwFlags;
- D3DX_SURFACEFORMAT sf;
- DWORD dwMipmaps;
-
- // Keep a copy of width/height as D3DXCreateTexture() call may alter input dimensions
- GLsizei dwWidth = width;
- GLsizei dwHeight = height;
-
- gldCtx = GLD_GET_CONTEXT(ctx);
- gld = GLD_GET_DX7_DRIVER(gldCtx);
-
- // Bail if no bitmap (only raster pos is updated)
- if ((bitmap == NULL) && (width==0) && (height==0))
- return;
-
- //
- // TODO: Detect conditions when created texture (pImage) is non-pow2.
- // Texture coords may need to be adjusted to compensate.
- //
-
- clBitmapZero = D3DCOLOR_RGBA(0,0,0,0); // NOTE: Alpha is Zero
- clBitmapOne = D3DCOLOR_COLORVALUE(
- ctx->Current.RasterColor[0],
- ctx->Current.RasterColor[1],
- ctx->Current.RasterColor[2],
- 1.0f); // NOTE: Alpha is One
-
- // Use Mesa to unpack bitmap into a canonical format
- pTempBitmap = _mesa_unpack_bitmap(width, height, bitmap, unpack);
- if (pTempBitmap == NULL)
- return;
-
- // Flags for texture creation
- dwFlags = D3DX_TEXTURE_NOMIPMAP;
- sf = D3DX_SF_A8R8G8B8;
- dwMipmaps = 1;
-
- // Create a D3D texture to hold the bitmap
- hr = D3DXCreateTexture(
- gld->pDev,
- &dwFlags,
- &dwWidth, &dwHeight,
- &sf, // format
- NULL, // palette
- &pImage, // Output texture
- &dwMipmaps);
- if (FAILED(hr)) {
- FREE(pTempBitmap);
- return;
- }
-
- // D3DXCreateTexture may return a texture bigger than we asked for
- // (i.e. padded to POW2) so let's clear the entire image bitmap.
- // Additional: Looks like this is not strictly necessary.
-// _gldClearSurface(pImage, clBitmapZero);
-
- ddsd.dwSize = sizeof(DDSURFACEDESC2);
- dwFlags = DDLOCK_SURFACEMEMORYPTR | DDLOCK_WAIT;
- hr = IDirectDrawSurface7_Lock(pImage, NULL, &ddsd, dwFlags, NULL);
- if (FAILED(hr)) {
- FREE(pTempBitmap);
- SAFE_RELEASE_SURFACE7(pImage);
- return;
- }
-
-#if 0
- // DEBUG CODE
- if (!(width==ddsd.dwWidth && height==ddsd.dwHeight))
- ddlogPrintf(GLDLOG_WARN, "gld_Bitmap: In=%d,%d / Tex=%d,%d", width,height,ddsd.dwWidth,ddsd.dwHeight);
-#endif
-
-#if 0
- // DEBUG CODE
- ddlogPrintf(GLDLOG_SYSTEM, "gld_Bitmap: In=%d,%d / Tex=%d,%d", width,height,ddsd.dwWidth,ddsd.dwHeight);
- ddlogPrintf(GLDLOG_SYSTEM, "gld_Bitmap: bpp=%d", ddsd.ddpfPixelFormat.dwRGBBitCount);
-#endif
-
- // Cast texel pointer to texture surface.
- // We can do this because we used D3DX_SF_A8R8G8B8 as the format
- pBits = (D3DCOLOR*)ddsd.lpSurface;
-
-
- // Copy from the input bitmap into the texture
- for (i=0; i<height; i++) {
- GLubyte byte;
- pBits = (D3DCOLOR*)((BYTE*)ddsd.lpSurface + (i*ddsd.lPitch));
- src = (const GLubyte *) _mesa_image_address(2,
- &ctx->DefaultPacking, pTempBitmap, width, height, GL_COLOR_INDEX, GL_BITMAP,
- 0, i, 0);
- for (j=0; j<(width>>3); j++) {
- byte = *src++;
- for (k=0; k<8; k++) {
- *pBits++ = (byte & 128) ? clBitmapOne : clBitmapZero;
- byte <<= 1;
- }
- }
- // Fill remaining bits from bitmap
- if (width & 7) {
- byte = *src;
- for (k=0; k<(width & 7); k++) {
- *pBits++ = (byte & 128) ? clBitmapOne : clBitmapZero;
- byte <<= 1;
- }
- }
- }
-
- // We're done with the unpacked bitmap
- FREE(pTempBitmap);
-
- // Finished with texture surface - unlock it
- IDirectDrawSurface7_Unlock(pImage, NULL);
-
- // Use internal function to draw bitmap onto rendertarget
- _gldDrawPixels(ctx, TRUE, x, y, width, height, pImage);
-
- // We're done with the bitmap texure - release it
- IDirectDrawSurface7_Release(pImage);
-}
-
-//---------------------------------------------------------------------------
-// Texture functions
-//---------------------------------------------------------------------------
-
-void _gldAllocateTexture(
- GLcontext *ctx,
- struct gl_texture_object *tObj,
- struct gl_texture_image *texImage)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx7 *gld = GLD_GET_DX7_DRIVER(gldCtx);
-
- HRESULT hr;
- IDirectDrawSurface7 *pTex;
- D3DX_SURFACEFORMAT d3dFormat;
- DWORD dwFlags;
- DWORD dwMipmaps;
- DWORD dwWidth, dwHeight;
-
- if (!tObj || !texImage)
- return;
-
- pTex = (IDirectDrawSurface7*)tObj->DriverData;
- if (pTex) {
- // Decide whether we can keep existing D3D texture
- // by examining top-level surface.
- DDSURFACEDESC2 ddsd;
- ddsd.dwSize = sizeof(DDSURFACEDESC2);
- _GLD_DX7_TEX(GetSurfaceDesc(pTex, &ddsd));
- // Release existing texture if not compatible
- if ((ddsd.dwWidth == texImage->Width) ||
- (ddsd.dwHeight == texImage->Height))
- {
- return; // Keep the existing texture
- }
- tObj->DriverData = NULL;
- _GLD_DX7_TEX(Release(pTex));
- }
-
- dwFlags = (glb.bUseMipmaps) ? 0 : D3DX_TEXTURE_NOMIPMAP;
- dwMipmaps = (glb.bUseMipmaps) ? D3DX_DEFAULT : 1;
- dwWidth = texImage->Width;
- dwHeight = texImage->Height;
-
- d3dFormat = _gldGLFormatToD3DFormat(texImage->IntFormat);
- hr = D3DXCreateTexture(
- gld->pDev,
- &dwFlags,
- &dwWidth,
- &dwHeight,
- &d3dFormat,
- NULL,
- &pTex,
- &dwMipmaps);
- if (FAILED(hr)) {
- gldLogError(GLDLOG_ERROR, "AllocateTexture failed", hr);
- }
- tObj->DriverData = pTex;
-}
-
-//---------------------------------------------------------------------------
-
-const struct gl_texture_format* gld_ChooseTextureFormat_DX7(
- GLcontext *ctx,
- GLint internalFormat,
- GLenum srcFormat,
- GLenum srcType)
-{
- // [Based on mesa_choose_tex_format()]
- //
- // We will choose only texture formats that are supported
- // by Direct3D. If the hardware doesn't support a particular
- // texture format, then the D3DX texture calls that we use
- // will automatically use a HW supported format.
- //
- // The most critical aim is to reduce copying; if we can use
- // texture-image data directly then it will be a big performance assist.
- //
-
- switch (internalFormat) {
- case GL_INTENSITY:
- case GL_INTENSITY4:
- case GL_INTENSITY8:
- case GL_INTENSITY12:
- case GL_INTENSITY16:
- return &_mesa_texformat_l8; // D3DFMT_L8
- case 1:
- case GL_LUMINANCE:
- case GL_LUMINANCE4:
- case GL_LUMINANCE8:
- case GL_LUMINANCE12:
- case GL_LUMINANCE16:
- return &_mesa_texformat_l8; // D3DFMT_L8
- case GL_ALPHA:
- case GL_ALPHA4:
- case GL_ALPHA8:
- case GL_ALPHA12:
- case GL_ALPHA16:
- return &_mesa_texformat_a8; // D3DFMT_A8
- case GL_COLOR_INDEX:
- case GL_COLOR_INDEX1_EXT:
- case GL_COLOR_INDEX2_EXT:
- case GL_COLOR_INDEX4_EXT:
- case GL_COLOR_INDEX8_EXT:
- case GL_COLOR_INDEX12_EXT:
- case GL_COLOR_INDEX16_EXT:
- return &_mesa_texformat_rgb565; // D3DFMT_R5G6B5
- // Mesa will convert this for us later...
- // return &_mesa_texformat_ci8; // D3DFMT_R5G6B5
- case 2:
- case GL_LUMINANCE_ALPHA:
- case GL_LUMINANCE4_ALPHA4:
- case GL_LUMINANCE6_ALPHA2:
- case GL_LUMINANCE8_ALPHA8:
- case GL_LUMINANCE12_ALPHA4:
- case GL_LUMINANCE12_ALPHA12:
- case GL_LUMINANCE16_ALPHA16:
- return &_mesa_texformat_al88; // D3DFMT_A8L8
- case GL_R3_G3_B2:
- return &_mesa_texformat_rgb332; // D3DFMT_R3G3B2
- case GL_RGB4:
- case GL_RGBA4:
- case GL_RGBA2:
- return &_mesa_texformat_argb4444; // D3DFMT_A4R4G4B4
- case 3:
- case GL_RGB:
- case GL_RGB5:
- case GL_RGB8:
- case GL_RGB10:
- case GL_RGB12:
- case GL_RGB16:
- return &_mesa_texformat_rgb565;
- case 4:
- case GL_RGBA:
- case GL_RGBA8:
- case GL_RGB10_A2:
- case GL_RGBA12:
- case GL_RGBA16:
- return &_mesa_texformat_argb8888;
- case GL_RGB5_A1:
- return &_mesa_texformat_argb1555;
- default:
- _mesa_problem(NULL, "unexpected format in fxDDChooseTextureFormat");
- return NULL;
- }
-}
-
-//---------------------------------------------------------------------------
-
-/*
-// Safer(?), slower version.
-void gld_TexImage2D_DX7(
- GLcontext *ctx,
- GLenum target,
- GLint level,
- GLint internalFormat,
- GLint width,
- GLint height,
- GLint border,
- GLenum format,
- GLenum type,
- const GLvoid *pixels,
- const struct gl_pixelstore_attrib *packing,
- struct gl_texture_object *tObj,
- struct gl_texture_image *texImage)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx7 *gld = GLD_GET_DX7_DRIVER(gldCtx);
-
- IDirect3DTexture8 *pTex;
- IDirect3DSurface8 *pSurface;
- RECT rcSrcRect;
- HRESULT hr;
- GLint texelBytes = 4;
- GLvoid *tempImage;
-
- if (!tObj || !texImage)
- return;
-
- if (level == 0) {
- _gldAllocateTexture(ctx, tObj, texImage);
- }
-
- pTex = (IDirect3DTexture8*)tObj->DriverData;
- if (!pTex)
- return; // Texture has not been created
- if (level >= IDirect3DTexture8_GetLevelCount(pTex))
- return; // Level does not exist
- hr = IDirect3DTexture8_GetSurfaceLevel(pTex, level, &pSurface);
- if (FAILED(hr))
- return; // Surface level doesn't exist (or just a plain error)
-
- tempImage = MALLOC(width * height * texelBytes);
- if (!tempImage) {
- _mesa_error(ctx, GL_OUT_OF_MEMORY, "glTexImage2D");
- IDirect3DSurface8_Release(pSurface);
- return;
- }
- // unpack image, apply transfer ops and store in tempImage
- texImage->TexFormat->StoreImage(ctx, 2, texImage->Format,
- &_mesa_texformat_argb8888, // dest format
- tempImage,
- width, height, 1, 0, 0, 0,
- width * texelBytes,
- 0, // dstImageStride
- format, type, pixels, packing);
-
- SetRect(&rcSrcRect, 0, 0, width, height);
- D3DXLoadSurfaceFromMemory(
- pSurface,
- NULL,
- NULL,
- tempImage,
- D3DFMT_A8R8G8B8,
- width * texelBytes,
- NULL,
- &rcSrcRect,
- D3DX_FILTER_NONE,
- 0);
-
- FREE(tempImage);
- IDirect3DSurface8_Release(pSurface);
-}
-*/
-
-//---------------------------------------------------------------------------
-
-// Faster, more efficient version.
-// Copies subimage straight to dest texture
-void gld_TexImage2D_DX7(
- GLcontext *ctx,
- GLenum target,
- GLint level,
- GLint internalFormat,
- GLint width,
- GLint height,
- GLint border,
- GLenum format,
- GLenum type,
- const GLvoid *pixels,
- const struct gl_pixelstore_attrib *packing,
- struct gl_texture_object *tObj,
- struct gl_texture_image *texImage)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx7 *gld = GLD_GET_DX7_DRIVER(gldCtx);
-
- IDirectDrawSurface7 *pTex = NULL;
- IDirectDrawSurface7 *pSurface = NULL;
- HRESULT hr;
- DDSURFACEDESC2 ddsd;
- int i;
- DDSCAPS2 ddsCaps;
-
- if (!tObj || !texImage)
- return;
-
- // GLQUAKE FIX
- // Test for input alpha data with non-alpha internalformat
- if (((internalFormat==3) || (internalFormat==GL_RGB)) && (format==GL_RGBA)) {
- // Input format has alpha, but a non-alpha format has been requested.
- texImage->IntFormat = GL_RGBA;
- internalFormat = GL_RGBA;
- }
-
- if (level == 0) {
- _gldAllocateTexture(ctx, tObj, texImage);
- }
-
- pTex = (IDirectDrawSurface7*)tObj->DriverData;
- if (!pTex) {
- ASSERT(0);
- return; // Texture has not been created
- }
-
- pSurface = pTex;
- if (level != 0) {
- ddsd.dwSize = sizeof(ddsd);
- _GLD_DX7_TEX(GetSurfaceDesc(pTex, &ddsd));
- if ((level > 0) && (level >= ddsd.dwMipMapCount))
- return; // Level does not exist
- ZeroMemory(&ddsCaps, sizeof(ddsCaps));
- for (i=0; i<level; i++) {
- ddsCaps.dwCaps = DDSCAPS_TEXTURE | DDSCAPS_MIPMAP;
- hr = IDirectDrawSurface7_GetAttachedSurface(
- pSurface,
- &ddsCaps,
- &pSurface);
- if (SUCCEEDED(hr)) {
- IDirectDrawSurface7_Release(pSurface);
- } else {
- ;
- }
- }
- }
-
- // Lock all of surface
- ddsd.dwSize = sizeof(ddsd);
- hr = IDirectDrawSurface7_Lock(pSurface, NULL, &ddsd, 0, 0);
- if (FAILED(hr)) {
- IDirectDrawSurface7_Release(pSurface);
- return;
- }
-
- // unpack image, apply transfer ops and store directly in texture
- texImage->TexFormat->StoreImage(
- ctx,
- 2,
- texImage->Format,
- //_gldMesaFormatForD3DFormat(d3dsd.Format),
- _gldMesaFormatForD3DFormat(_gldD3DXFormatFromSurface(pSurface)),
- ddsd.lpSurface,
- width, height, 1, 0, 0, 0,
- ddsd.lPitch,
- 0, // dstImageStride
- format, type, pixels, packing);
-
- IDirectDrawSurface7_Unlock(pSurface, NULL);
-}
-
-//---------------------------------------------------------------------------
-
-void gld_TexImage1D_DX7(GLcontext *ctx, GLenum target, GLint level,
- GLint internalFormat,
- GLint width, GLint border,
- GLenum format, GLenum type, const GLvoid *pixels,
- const struct gl_pixelstore_attrib *packing,
- struct gl_texture_object *texObj,
- struct gl_texture_image *texImage )
-{
- // A 1D texture is a 2D texture with a height of zero
- gld_TexImage2D_DX7(ctx, target, level, internalFormat, width, 1, border, format, type, pixels, packing, texObj, texImage);
-}
-
-//---------------------------------------------------------------------------
-
-/*
-void gld_TexSubImage2D( GLcontext *ctx, GLenum target, GLint level,
- GLint xoffset, GLint yoffset,
- GLsizei width, GLsizei height,
- GLenum format, GLenum type,
- const GLvoid *pixels,
- const struct gl_pixelstore_attrib *packing,
- struct gl_texture_object *tObj,
- struct gl_texture_image *texImage )
-{
- GLD_GET_CONTEXT
- IDirect3DTexture8 *pTex;
- IDirect3DSurface8 *pSurface;
- D3DFORMAT d3dFormat;
- HRESULT hr;
- GLint texelBytes = 4;
- GLvoid *tempImage;
- RECT rcSrcRect;
- RECT rcDstRect;
-
- if (!tObj || !texImage)
- return;
-
- pTex = (IDirect3DTexture8*)tObj->DriverData;
- if (!pTex)
- return; // Texture has not been created
- if (level >= _GLD_DX8_TEX(GetLevelCount(pTex))
- return; // Level does not exist
- hr = _GLD_DX8_TEX(GetSurfaceLevel(pTex, level, &pSurface);
- if (FAILED(hr))
- return; // Surface level doesn't exist (or just a plain error)
-
- d3dFormat = _gldGLFormatToD3DFormat(texImage->Format);
- tempImage = MALLOC(width * height * texelBytes);
- if (!tempImage) {
- _mesa_error(ctx, GL_OUT_OF_MEMORY, "glTexImage2D");
- IDirect3DSurface8_Release(pSurface);
- return;
- }
-
- // unpack image, apply transfer ops and store in tempImage
- texImage->TexFormat->StoreImage(ctx, 2, texImage->Format,
- &_mesa_texformat_argb8888, // dest format
- tempImage,
- width, height, 1, 0, 0, 0,
- width * texelBytes,
- 0, // dstImageStride
- format, type, pixels, packing);
-
- // Source rectangle is whole of input image
- SetRect(&rcSrcRect, 0, 0, width, height);
-
- // Dest rectangle must be offset to dest image
- SetRect(&rcDstRect, 0, 0, width, height);
- OffsetRect(&rcDstRect, xoffset, yoffset);
-
- D3DXLoadSurfaceFromMemory(
- pSurface,
- NULL,
- &rcDstRect,
- tempImage,
- D3DFMT_A8R8G8B8,
- width * texelBytes,
- NULL,
- &rcSrcRect,
- D3DX_FILTER_NONE,
- 0);
-
- FREE(tempImage);
- IDirect3DSurface8_Release(pSurface);
-}
-*/
-
-//---------------------------------------------------------------------------
-
-// Faster, more efficient version.
-// Copies subimage straight to dest texture
-void gld_TexSubImage2D_DX7( GLcontext *ctx, GLenum target, GLint level,
- GLint xoffset, GLint yoffset,
- GLsizei width, GLsizei height,
- GLenum format, GLenum type,
- const GLvoid *pixels,
- const struct gl_pixelstore_attrib *packing,
- struct gl_texture_object *tObj,
- struct gl_texture_image *texImage )
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx7 *gld = GLD_GET_DX7_DRIVER(gldCtx);
-
- IDirectDrawSurface7 *pTex;
- IDirectDrawSurface7 *pSurface;
- HRESULT hr;
- RECT rcDstRect;
- DDSURFACEDESC2 ddsd;
- int i;
- DDSCAPS2 ddsCaps;
-
- if (!tObj || !texImage)
- return;
-
- pTex = (IDirectDrawSurface7*)tObj->DriverData;
- if (!pTex)
- return; // Texture has not been created
-
- __try {
-
- ddsd.dwSize = sizeof(ddsd);
- _GLD_DX7_TEX(GetSurfaceDesc(pTex, &ddsd));
- if ((level > 0) && (level >= ddsd.dwMipMapCount))
- return; // Level does not exist
-
- ZeroMemory(&ddsCaps, sizeof(ddsCaps));
- pSurface = pTex;
- for (i=0; i<level; i++) {
- ddsCaps.dwCaps = DDSCAPS_TEXTURE | DDSCAPS_MIPMAP;
- hr = IDirectDrawSurface7_GetAttachedSurface(
- pSurface,
- &ddsCaps,
- &pSurface);
- if(SUCCEEDED(hr)) {
- IDirectDrawSurface7_Release(pSurface);
- } else {
- return;
- }
- }
-
- // Dest rectangle must be offset to dest image
- SetRect(&rcDstRect, 0, 0, width, height);
- OffsetRect(&rcDstRect, xoffset, yoffset);
-
- // Lock sub-rect of surface
- hr = IDirectDrawSurface7_Lock(pSurface, &rcDstRect, &ddsd, 0, 0);
- if (FAILED(hr)) {
- IDirectDrawSurface7_Release(pSurface);
- return;
- }
-
- // unpack image, apply transfer ops and store directly in texture
- texImage->TexFormat->StoreImage(ctx, 2, texImage->Format,
- _gldMesaFormatForD3DFormat(_gldD3DXFormatFromSurface(pSurface)),
- ddsd.lpSurface,
- width, height, 1,
- 0, 0, 0, // NOTE: d3dLockedRect.pBits is already offset!!!
- ddsd.lPitch,
- 0, // dstImageStride
- format, type, pixels, packing);
-
-
- IDirectDrawSurface7_Unlock(pSurface, &rcDstRect);
- }
- __except(EXCEPTION_EXECUTE_HANDLER) {
- ;
- }
-}
-
-//---------------------------------------------------------------------------
-
-void gld_TexSubImage1D_DX7( GLcontext *ctx, GLenum target, GLint level,
- GLint xoffset, GLsizei width,
- GLenum format, GLenum type,
- const GLvoid *pixels,
- const struct gl_pixelstore_attrib *packing,
- struct gl_texture_object *texObj,
- struct gl_texture_image *texImage )
-{
- gld_TexSubImage2D_DX7(ctx, target, level, xoffset, 0, width, 1, format, type, pixels, packing, texObj, texImage);
-}
-
-//---------------------------------------------------------------------------
-
-void gld_DeleteTexture_DX7(
- GLcontext *ctx,
- struct gl_texture_object *tObj)
-{
- GLD_context *gld = (GLD_context*)(ctx->DriverCtx);
-
- __try {
-
- if (tObj) {
- IDirectDrawSurface7 *pTex = (IDirectDrawSurface7*)tObj->DriverData;
- if (pTex) {
-/* // Make sure texture is not bound to a stage before releasing it
- for (int i=0; i<MAX_TEXTURE_UNITS; i++) {
- if (gld->CurrentTexture[i] == pTex) {
- gld->pDev->SetTexture(i, NULL);
- gld->CurrentTexture[i] = NULL;
- }
- }*/
- _GLD_DX7_TEX(Release(pTex));
- tObj->DriverData = NULL;
- }
- }
-
- }
- __except(EXCEPTION_EXECUTE_HANDLER) {
- ;
- }
-}
-
-//---------------------------------------------------------------------------
-
-__inline void _gldSetColorOps(
- const GLD_driver_dx7 *gld,
- GLuint unit,
- DWORD ColorArg1,
- D3DTEXTUREOP ColorOp,
- DWORD ColorArg2)
-{
- _GLD_DX7_DEV(SetTextureStageState(gld->pDev, unit, D3DTSS_COLORARG1, ColorArg1));
- _GLD_DX7_DEV(SetTextureStageState(gld->pDev, unit, D3DTSS_COLOROP, ColorOp));
- _GLD_DX7_DEV(SetTextureStageState(gld->pDev, unit, D3DTSS_COLORARG2, ColorArg2));
-}
-
-//---------------------------------------------------------------------------
-
-__inline void _gldSetAlphaOps(
- const GLD_driver_dx7 *gld,
- GLuint unit,
- DWORD AlphaArg1,
- D3DTEXTUREOP AlphaOp,
- DWORD AlphaArg2)
-{
- _GLD_DX7_DEV(SetTextureStageState(gld->pDev, unit, D3DTSS_ALPHAARG1, AlphaArg1));
- _GLD_DX7_DEV(SetTextureStageState(gld->pDev, unit, D3DTSS_ALPHAOP, AlphaOp));
- _GLD_DX7_DEV(SetTextureStageState(gld->pDev, unit, D3DTSS_ALPHAARG2, AlphaArg2));
-}
-
-//---------------------------------------------------------------------------
-
-void gldUpdateTextureUnit(
- GLcontext *ctx,
- GLuint unit,
- BOOL bPassThrough)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx7 *gld = GLD_GET_DX7_DRIVER(gldCtx);
-
- D3DTEXTUREMINFILTER minfilter;
- D3DTEXTUREMIPFILTER mipfilter;
- GLenum BaseFormat;
- DWORD dwColorArg0;
- int iTexEnv = 0;
- GLD_texenv *pTexenv;
-
- // NOTE: If bPassThrough is FALSE then texture stage can be
- // disabled otherwise it must pass-through it's current fragment.
-
- const struct gl_texture_unit *pUnit = &ctx->Texture.Unit[unit];
- const struct gl_texture_object *tObj = pUnit->_Current;
-
- IDirectDrawSurface7 *pTex = NULL;
- if (tObj) {
- pTex = (IDirectDrawSurface7*)tObj->DriverData;
- }
-
- __try {
-
- // Enable texturing if unit is enabled and a valid D3D texture exists
- // Mesa 5: TEXTUREn_x altered to TEXTURE_nD_BIT
- //if (pTex && (pUnit->Enabled & (TEXTURE0_1D | TEXTURE0_2D))) {
- if (pTex && (pUnit->_ReallyEnabled & (TEXTURE_1D_BIT | TEXTURE_2D_BIT))) {
- // Enable texturing
- _GLD_DX7_DEV(SetTexture(gld->pDev, unit, pTex));
- } else {
- // Disable texturing, then return
- _GLD_DX7_DEV(SetTexture(gld->pDev, unit, NULL));
- if (bPassThrough) {
- _gldSetColorOps(gld, unit, D3DTA_TEXTURE, D3DTOP_SELECTARG2, D3DTA_DIFFUSE);
- _gldSetAlphaOps(gld, unit, D3DTA_TEXTURE, D3DTOP_SELECTARG2, D3DTA_DIFFUSE);
- } else {
- _gldSetColorOps(gld, unit, D3DTA_TEXTURE, D3DTOP_DISABLE, D3DTA_DIFFUSE);
- _gldSetAlphaOps(gld, unit, D3DTA_TEXTURE, D3DTOP_DISABLE, D3DTA_DIFFUSE);
- }
- return;
- }
-
- // Texture parameters
- _gldConvertMinFilter(tObj->MinFilter, &minfilter, &mipfilter);
- _GLD_DX7_DEV(SetTextureStageState(gld->pDev, unit, D3DTSS_MINFILTER, minfilter));
- _GLD_DX7_DEV(SetTextureStageState(gld->pDev, unit, D3DTSS_MIPFILTER, mipfilter));
- _GLD_DX7_DEV(SetTextureStageState(gld->pDev, unit, D3DTSS_MAGFILTER, _gldConvertMagFilter(tObj->MagFilter)));
- _GLD_DX7_DEV(SetTextureStageState(gld->pDev, unit, D3DTSS_ADDRESSU, _gldConvertWrap(tObj->WrapS)));
- _GLD_DX7_DEV(SetTextureStageState(gld->pDev, unit, D3DTSS_ADDRESSV, _gldConvertWrap(tObj->WrapT)));
-
- // Texture priority
- _GLD_DX7_TEX(SetPriority(pTex, (DWORD)(tObj->Priority*65535.0f)));
-
- // Texture environment
- // TODO: Examine input texture for alpha and use specific alpha/non-alpha ops.
- // See Page 355 of the Red Book.
- BaseFormat = _gldDecodeBaseFormat(pTex);
-
- switch (BaseFormat) {
- case GL_RGB:
- iTexEnv = 0;
- break;
- case GL_RGBA:
- iTexEnv = 1;
- break;
- case GL_ALPHA:
- iTexEnv = 2;
- break;
- }
-
- switch (pUnit->EnvMode) {
- case GL_DECAL:
- iTexEnv += 0;
- break;
- case GL_REPLACE:
- iTexEnv += 3;
- break;
- case GL_MODULATE:
- iTexEnv += 6;
- break;
- case GL_BLEND:
- // Set blend colour
- // Unsupported by DX7
-// dwColorArg0 = D3DCOLOR_COLORVALUE(pUnit->EnvColor[0], pUnit->EnvColor[1], pUnit->EnvColor[2], pUnit->EnvColor[3]);
-// _GLD_DX7_DEV(SetTextureStageState(gld->pDev, unit, D3DTSS_COLORARG0, dwColorArg0));
-// gldLogMessage(GLDLOG_WARN, "GL_BLEND\n");
- iTexEnv += 9;
- break;
- case GL_ADD:
- iTexEnv += 12;
- break;
- }
- pTexenv = (GLD_texenv*)&gldTexEnv[iTexEnv];
- _gldSetColorOps(gld, unit, pTexenv->ColorArg1, pTexenv->ColorOp, pTexenv->ColorArg2);
- _gldSetAlphaOps(gld, unit, pTexenv->AlphaArg1, pTexenv->AlphaOp, pTexenv->AlphaArg2);
-
- }
- __except(EXCEPTION_EXECUTE_HANDLER) {
- ;
- }
-}
-
-//---------------------------------------------------------------------------
-
-void gld_NEW_TEXTURE_DX7(
- GLcontext *ctx)
-{
- // TODO: Support for three (ATI Radeon) or more (nVidia GeForce3) texture units
-
- BOOL bUnit0Enabled;
- BOOL bUnit1Enabled;
-
- if (!ctx)
- return; // Sanity check
-
- if (ctx->Const.MaxTextureUnits == 1) {
- gldUpdateTextureUnit(ctx, 0, TRUE);
- return;
- }
-
- //
- // NOTE: THE FOLLOWING RELATES TO TWO TEXTURE UNITS, AND TWO ONLY!!
- //
-
- // Mesa 5: Texture Units altered
- bUnit0Enabled = (ctx->Texture.Unit[0]._ReallyEnabled & (TEXTURE_1D_BIT | TEXTURE_2D_BIT)) ? TRUE : FALSE;
- bUnit1Enabled = (ctx->Texture.Unit[1]._ReallyEnabled & (TEXTURE_1D_BIT | TEXTURE_2D_BIT)) ? TRUE : FALSE;
-
- // If Unit0 is disabled and Unit1 is enabled then we must pass-though
- gldUpdateTextureUnit(ctx, 0, (!bUnit0Enabled && bUnit1Enabled) ? TRUE : FALSE);
- // We can always disable the last texture unit
- gldUpdateTextureUnit(ctx, 1, FALSE);
-
-#ifdef _DEBUG
- {
- // Find out whether device supports current renderstates
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx7 *gld = GLD_GET_DX7_DRIVER(gldCtx);
-
- DWORD dwPasses;
- _GLD_DX7_DEV(ValidateDevice(gld->pDev, &dwPasses));
-#if 0
- if (FAILED(hr)) {
- gldLogError(GLDLOG_ERROR, "ValidateDevice failed", hr);
- }
-#endif
- if (dwPasses != 1) {
- gldLogMessage(GLDLOG_ERROR, "ValidateDevice: Can't do in one pass\n");
- }
- }
-#endif
-};
-
-//---------------------------------------------------------------------------
diff --git a/src/mesa/drivers/windows/gldirect/dx7/gld_vb_d3d_render_dx7.c b/src/mesa/drivers/windows/gldirect/dx7/gld_vb_d3d_render_dx7.c
deleted file mode 100644
index a85620dde8..0000000000
--- a/src/mesa/drivers/windows/gldirect/dx7/gld_vb_d3d_render_dx7.c
+++ /dev/null
@@ -1,257 +0,0 @@
-/****************************************************************************
-*
-* Mesa 3-D graphics library
-* Direct3D Driver Interface
-*
-* ========================================================================
-*
-* Copyright (C) 1991-2004 SciTech Software, Inc. 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
-* SCITECH SOFTWARE INC 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.
-*
-* ======================================================================
-*
-* Language: ANSI C
-* Environment: Windows 9x/2000/XP/XBox (Win32)
-*
-* Description: GLDirect fastpath pipeline stage
-*
-****************************************************************************/
-
-//---------------------------------------------------------------------------
-
-//#include "../GLDirect.h"
-//#include "../gld_log.h"
-//#include "gld_dx8.h"
-
-#include "dglcontext.h"
-#include "ddlog.h"
-#include "gld_dx7.h"
-
-//---------------------------------------------------------------------------
-
-#include "glheader.h"
-#include "context.h"
-#include "macros.h"
-// #include "mem.h"
-#include "mtypes.h"
-//#include "mmath.h"
-
-#include "math/m_matrix.h"
-#include "math/m_xform.h"
-
-#include "tnl/t_pipeline.h"
-
-//---------------------------------------------------------------------------
-/*
-__inline void _gldSetVertexShaderConstants(
- GLcontext *ctx,
- GLD_driver_dx8 *gld)
-{
- D3DXMATRIX mat, matView, matProj;
- GLfloat *pM;
-
- // Mesa 5: Altered to a Stack
- //pM = ctx->ModelView.m;
- pM = ctx->ModelviewMatrixStack.Top->m;
- matView._11 = pM[0];
- matView._12 = pM[1];
- matView._13 = pM[2];
- matView._14 = pM[3];
- matView._21 = pM[4];
- matView._22 = pM[5];
- matView._23 = pM[6];
- matView._24 = pM[7];
- matView._31 = pM[8];
- matView._32 = pM[9];
- matView._33 = pM[10];
- matView._34 = pM[11];
- matView._41 = pM[12];
- matView._42 = pM[13];
- matView._43 = pM[14];
- matView._44 = pM[15];
-
- // Mesa 5: Altered to a Stack
- //pM = ctx->ProjectionMatrix.m;
- pM = ctx->ProjectionMatrixStack.Top->m;
- matProj._11 = pM[0];
- matProj._12 = pM[1];
- matProj._13 = pM[2];
- matProj._14 = pM[3];
- matProj._21 = pM[4];
- matProj._22 = pM[5];
- matProj._23 = pM[6];
- matProj._24 = pM[7];
- matProj._31 = pM[8];
- matProj._32 = pM[9];
- matProj._33 = pM[10];
- matProj._34 = pM[11];
- matProj._41 = pM[12];
- matProj._42 = pM[13];
- matProj._43 = pM[14];
- matProj._44 = pM[15];
-
- D3DXMatrixMultiply( &mat, &matView, &matProj );
- D3DXMatrixTranspose( &mat, &mat );
-
- _GLD_DX8_DEV(SetVertexShaderConstant(gld->pDev, 0, &mat, 4));
-}
-*/
-//---------------------------------------------------------------------------
-
-static GLboolean gld_d3d_render_stage_run(
- GLcontext *ctx,
- struct tnl_pipeline_stage *stage)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx7 *gld = GLD_GET_DX7_DRIVER(gldCtx);
-
- TNLcontext *tnl;
- struct vertex_buffer *VB;
- tnl_render_func *tab;
- GLint pass;
- GLD_pb_dx7 *gldPB = &gld->PB3d;
- DWORD dwFlags;
-
-/*
- static int count = 0;
- count++;
- if (count != 2)
- return GL_FALSE;
-*/
- // The "check" function should disable this stage,
- // but we'll test gld->bUseMesaTnL anyway.
- if (gld->bUseMesaTnL) {
- // Do nothing in this stage, but continue pipeline
- return GL_TRUE;
- }
-
- tnl = TNL_CONTEXT(ctx);
- VB = &tnl->vb;
- pass = 0;
-
- tnl->Driver.Render.Start( ctx );
-
-#if 0
- // For debugging: Useful to see if an app passes colour data in
- // an unusual format.
- switch (VB->ColorPtr[0]->Type) {
- case GL_FLOAT:
- ddlogMessage(GLDLOG_SYSTEM, "ColorPtr: GL_FLOAT\n");
- break;
- case GL_UNSIGNED_BYTE:
- ddlogMessage(GLDLOG_SYSTEM, "ColorPtr: GL_UNSIGNED_BYTE\n");
- break;
- default:
- ddlogMessage(GLDLOG_SYSTEM, "ColorPtr: *?*\n");
- break;
- }
-#endif
-
- tnl->Driver.Render.Points = gld_Points3D_DX7;
- if (ctx->_TriangleCaps & DD_FLATSHADE) {
- tnl->Driver.Render.Line = gld_Line3DFlat_DX7;
- tnl->Driver.Render.Triangle = gld_Triangle3DFlat_DX7;
- tnl->Driver.Render.Quad = gld_Quad3DFlat_DX7;
- } else {
- tnl->Driver.Render.Line = gld_Line3DSmooth_DX7;
- tnl->Driver.Render.Triangle = gld_Triangle3DSmooth_DX7;
- tnl->Driver.Render.Quad = gld_Quad3DSmooth_DX7;
- }
-
-// _GLD_DX7_VB(Lock(gldPB->pVB, 0, 0, &gldPB->pPoints, D3DLOCK_DISCARD));
- dwFlags = DDLOCK_DISCARDCONTENTS | DDLOCK_WAIT | DDLOCK_SURFACEMEMORYPTR | DDLOCK_WRITEONLY;
- _GLD_DX7_VB(Lock(gldPB->pVB, dwFlags, &gldPB->pPoints, NULL));
- gldPB->nPoints = gldPB->nLines = gldPB->nTriangles = 0;
- // Allocate primitive pointers
- // gldPB->pPoints is always first
- gldPB->pLines = gldPB->pPoints + (gldPB->dwStride * gldPB->iFirstLine);
- gldPB->pTriangles = gldPB->pPoints + (gldPB->dwStride * gldPB->iFirstTriangle);
-
- ASSERT(tnl->Driver.Render.BuildVertices);
- ASSERT(tnl->Driver.Render.PrimitiveNotify);
- ASSERT(tnl->Driver.Render.Points);
- ASSERT(tnl->Driver.Render.Line);
- ASSERT(tnl->Driver.Render.Triangle);
- ASSERT(tnl->Driver.Render.Quad);
- ASSERT(tnl->Driver.Render.ResetLineStipple);
- ASSERT(tnl->Driver.Render.Interp);
- ASSERT(tnl->Driver.Render.CopyPV);
- ASSERT(tnl->Driver.Render.ClippedLine);
- ASSERT(tnl->Driver.Render.ClippedPolygon);
- ASSERT(tnl->Driver.Render.Finish);
-
- tab = (VB->Elts ? tnl->Driver.Render.PrimTabElts : tnl->Driver.Render.PrimTabVerts);
-
- do {
- GLuint i, length, flags = 0;
- for (i = 0 ; !(flags & PRIM_END) ; i += length)
- {
- flags = VB->Primitive[i].mode;
- length= VB->Primitive[i].count;
- ASSERT(length || (flags & PRIM_END));
- ASSERT((flags & PRIM_MODE_MASK) <= GL_POLYGON+1);
- if (length)
- tab[flags & PRIM_MODE_MASK]( ctx, i, i + length, flags );
- }
- } while (tnl->Driver.Render.Multipass &&
- tnl->Driver.Render.Multipass( ctx, ++pass ));
-
- _GLD_DX7_VB(Unlock(gldPB->pVB));
-
-// _GLD_DX7_DEV(SetStreamSource(gld->pDev, 0, gldPB->pVB, gldPB->dwStride));
-
- _GLD_DX7_DEV(SetTransform(gld->pDev, D3DTRANSFORMSTATE_PROJECTION, &gld->matProjection));
- _GLD_DX7_DEV(SetTransform(gld->pDev, D3DTRANSFORMSTATE_WORLD, &gld->matModelView));
-
- if (gldPB->nPoints) {
-// _GLD_DX7_DEV(DrawPrimitive(gld->pDev, D3DPT_POINTLIST, 0, gldPB->nPoints));
- _GLD_DX7_DEV(DrawPrimitiveVB(gld->pDev, D3DPT_POINTLIST, gldPB->pVB, 0, gldPB->nPoints, 0));
- gldPB->nPoints = 0;
- }
-
- if (gldPB->nLines) {
-// _GLD_DX7_DEV(DrawPrimitive(gld->pDev, D3DPT_LINELIST, gldPB->iFirstLine, gldPB->nLines));
- _GLD_DX7_DEV(DrawPrimitiveVB(gld->pDev, D3DPT_LINELIST, gldPB->pVB, gldPB->iFirstLine, gldPB->nLines, 0));
- gldPB->nLines = 0;
- }
-
- if (gldPB->nTriangles) {
-// _GLD_DX7_DEV(DrawPrimitive(gld->pDev, D3DPT_TRIANGLELIST, gldPB->iFirstTriangle, gldPB->nTriangles));
- _GLD_DX7_DEV(DrawPrimitiveVB(gld->pDev, D3DPT_TRIANGLELIST, gldPB->pVB, gldPB->iFirstTriangle, gldPB->nTriangles, 0));
- gldPB->nTriangles = 0;
- }
-
- return GL_FALSE; /* finished the pipe */
-}
-
-
-//---------------------------------------------------------------------------
-
-const struct tnl_pipeline_stage _gld_d3d_render_stage =
-{
- "gld_d3d_render_stage",
- NULL,
- NULL,
- NULL,
- NULL,
- gld_d3d_render_stage_run /* run */
-};
-
-//---------------------------------------------------------------------------
diff --git a/src/mesa/drivers/windows/gldirect/dx7/gld_vb_mesa_render_dx7.c b/src/mesa/drivers/windows/gldirect/dx7/gld_vb_mesa_render_dx7.c
deleted file mode 100644
index 72e5e1308c..0000000000
--- a/src/mesa/drivers/windows/gldirect/dx7/gld_vb_mesa_render_dx7.c
+++ /dev/null
@@ -1,422 +0,0 @@
-
-/*
- * Mesa 3-D graphics library
- * Version: 3.5
- *
- * Copyright (C) 1999-2001 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
- * BRIAN PAUL 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.
- *
- * Authors:
- * Keith Whitwell <keithw@valinux.com>
- */
-
-
-/*
- * Render whole vertex buffers, including projection of vertices from
- * clip space and clipping of primitives.
- *
- * This file makes calls to project vertices and to the point, line
- * and triangle rasterizers via the function pointers:
- *
- * context->Driver.Render.*
- *
- */
-
-
-//---------------------------------------------------------------------------
-
-//#include "../GLDirect.h"
-//#include "../gld_log.h"
-//#include "gld_dx8.h"
-
-#include "dglcontext.h"
-#include "ddlog.h"
-#include "gld_dx7.h"
-
-//---------------------------------------------------------------------------
-
-#include "glheader.h"
-#include "context.h"
-#include "macros.h"
-// #include "mem.h"
-#include "mtypes.h"
-//#include "mmath.h"
-
-#include "math/m_matrix.h"
-#include "math/m_xform.h"
-
-#include "tnl/t_pipeline.h"
-
-/**********************************************************************/
-/* Clip single primitives */
-/**********************************************************************/
-
-
-#if defined(USE_IEEE)
-#define NEGATIVE(x) (GET_FLOAT_BITS(x) & (1<<31))
-//#define DIFFERENT_SIGNS(x,y) ((GET_FLOAT_BITS(x) ^ GET_FLOAT_BITS(y)) & (1<<31))
-#else
-#define NEGATIVE(x) (x < 0)
-//#define DIFFERENT_SIGNS(x,y) (x * y <= 0 && x - y != 0)
-/* Could just use (x*y<0) except for the flatshading requirements.
- * Maybe there's a better way?
- */
-#endif
-
-
-#define W(i) coord[i][3]
-#define Z(i) coord[i][2]
-#define Y(i) coord[i][1]
-#define X(i) coord[i][0]
-#define SIZE 4
-#define TAG(x) x##_4
-#include "tnl/t_vb_cliptmp.h"
-
-
-
-/**********************************************************************/
-/* Clip and render whole begin/end objects */
-/**********************************************************************/
-
-#define NEED_EDGEFLAG_SETUP (ctx->_TriangleCaps & DD_TRI_UNFILLED)
-#define EDGEFLAG_GET(idx) VB->EdgeFlag[idx]
-#define EDGEFLAG_SET(idx, val) VB->EdgeFlag[idx] = val
-
-
-/* Vertices, with the possibility of clipping.
- */
-#define RENDER_POINTS( start, count ) \
- tnl->Driver.Render.Points( ctx, start, count )
-
-#define RENDER_LINE( v1, v2 ) \
-do { \
- GLubyte c1 = mask[v1], c2 = mask[v2]; \
- GLubyte ormask = c1|c2; \
- if (!ormask) \
- LineFunc( ctx, v1, v2 ); \
- else if (!(c1 & c2 & 0x3f)) \
- clip_line_4( ctx, v1, v2, ormask ); \
-} while (0)
-
-#define RENDER_TRI( v1, v2, v3 ) \
-do { \
- GLubyte c1 = mask[v1], c2 = mask[v2], c3 = mask[v3]; \
- GLubyte ormask = c1|c2|c3; \
- if (!ormask) \
- TriangleFunc( ctx, v1, v2, v3 ); \
- else if (!(c1 & c2 & c3 & 0x3f)) \
- clip_tri_4( ctx, v1, v2, v3, ormask ); \
-} while (0)
-
-#define RENDER_QUAD( v1, v2, v3, v4 ) \
-do { \
- GLubyte c1 = mask[v1], c2 = mask[v2]; \
- GLubyte c3 = mask[v3], c4 = mask[v4]; \
- GLubyte ormask = c1|c2|c3|c4; \
- if (!ormask) \
- QuadFunc( ctx, v1, v2, v3, v4 ); \
- else if (!(c1 & c2 & c3 & c4 & 0x3f)) \
- clip_quad_4( ctx, v1, v2, v3, v4, ormask ); \
-} while (0)
-
-
-#define LOCAL_VARS \
- TNLcontext *tnl = TNL_CONTEXT(ctx); \
- struct vertex_buffer *VB = &tnl->vb; \
- const GLuint * const elt = VB->Elts; \
- const GLubyte *mask = VB->ClipMask; \
- const GLuint sz = VB->ClipPtr->size; \
- const tnl_line_func LineFunc = tnl->Driver.Render.Line; \
- const tnl_triangle_func TriangleFunc = tnl->Driver.Render.Triangle; \
- const tnl_quad_func QuadFunc = tnl->Driver.Render.Quad; \
- const GLboolean stipple = ctx->Line.StippleFlag; \
- (void) (LineFunc && TriangleFunc && QuadFunc); \
- (void) elt; (void) mask; (void) sz; (void) stipple;
-
-#define TAG(x) clip_##x##_verts
-#define INIT(x) tnl->Driver.Render.PrimitiveNotify( ctx, x )
-#define RESET_STIPPLE if (stipple) tnl->Driver.Render.ResetLineStipple( ctx )
-#define PRESERVE_VB_DEFS
-#include "tnl/t_vb_rendertmp.h"
-
-
-
-/* Elts, with the possibility of clipping.
- */
-#undef ELT
-#undef TAG
-#define ELT(x) elt[x]
-#define TAG(x) clip_##x##_elts
-#include "tnl/t_vb_rendertmp.h"
-
-/* TODO: do this for all primitives, verts and elts:
- */
-static void clip_elt_triangles( GLcontext *ctx,
- GLuint start,
- GLuint count,
- GLuint flags )
-{
- TNLcontext *tnl = TNL_CONTEXT(ctx);
- tnl_render_func render_tris = tnl->Driver.Render.PrimTabElts[GL_TRIANGLES];
- struct vertex_buffer *VB = &tnl->vb;
- const GLuint * const elt = VB->Elts;
- GLubyte *mask = VB->ClipMask;
- GLuint last = count-2;
- GLuint j;
- (void) flags;
-
- tnl->Driver.Render.PrimitiveNotify( ctx, GL_TRIANGLES );
-
- for (j=start; j < last; j+=3 ) {
- GLubyte c1 = mask[elt[j]];
- GLubyte c2 = mask[elt[j+1]];
- GLubyte c3 = mask[elt[j+2]];
- GLubyte ormask = c1|c2|c3;
- if (ormask) {
- if (start < j)
- render_tris( ctx, start, j, 0 );
- if (!(c1&c2&c3&0x3f))
- clip_tri_4( ctx, elt[j], elt[j+1], elt[j+2], ormask );
- start = j+3;
- }
- }
-
- if (start < j)
- render_tris( ctx, start, j, 0 );
-}
-
-/**********************************************************************/
-/* Render whole begin/end objects */
-/**********************************************************************/
-
-#define NEED_EDGEFLAG_SETUP (ctx->_TriangleCaps & DD_TRI_UNFILLED)
-#define EDGEFLAG_GET(idx) VB->EdgeFlag[idx]
-#define EDGEFLAG_SET(idx, val) VB->EdgeFlag[idx] = val
-
-
-/* Vertices, no clipping.
- */
-#define RENDER_POINTS( start, count ) \
- tnl->Driver.Render.Points( ctx, start, count )
-
-#define RENDER_LINE( v1, v2 ) \
- LineFunc( ctx, v1, v2 )
-
-#define RENDER_TRI( v1, v2, v3 ) \
- TriangleFunc( ctx, v1, v2, v3 )
-
-#define RENDER_QUAD( v1, v2, v3, v4 ) \
- QuadFunc( ctx, v1, v2, v3, v4 )
-
-#define TAG(x) _gld_tnl_##x##_verts
-
-#define LOCAL_VARS \
- TNLcontext *tnl = TNL_CONTEXT(ctx); \
- struct vertex_buffer *VB = &tnl->vb; \
- const GLuint * const elt = VB->Elts; \
- const tnl_line_func LineFunc = tnl->Driver.Render.Line; \
- const tnl_triangle_func TriangleFunc = tnl->Driver.Render.Triangle; \
- const tnl_quad_func QuadFunc = tnl->Driver.Render.Quad; \
- (void) (LineFunc && TriangleFunc && QuadFunc); \
- (void) elt;
-
-#define RESET_STIPPLE tnl->Driver.Render.ResetLineStipple( ctx )
-#define INIT(x) tnl->Driver.Render.PrimitiveNotify( ctx, x )
-#define RENDER_TAB_QUALIFIER
-#define PRESERVE_VB_DEFS
-#include "tnl/t_vb_rendertmp.h"
-
-
-/* Elts, no clipping.
- */
-#undef ELT
-#define TAG(x) _gld_tnl_##x##_elts
-#define ELT(x) elt[x]
-#include "tnl/t_vb_rendertmp.h"
-
-
-/**********************************************************************/
-/* Helper functions for drivers */
-/**********************************************************************/
-/*
-void _tnl_RenderClippedPolygon( GLcontext *ctx, const GLuint *elts, GLuint n )
-{
- TNLcontext *tnl = TNL_CONTEXT(ctx);
- struct vertex_buffer *VB = &tnl->vb;
- GLuint *tmp = VB->Elts;
-
- VB->Elts = (GLuint *)elts;
- tnl->Driver.Render.PrimTabElts[GL_POLYGON]( ctx, 0, n, PRIM_BEGIN|PRIM_END );
- VB->Elts = tmp;
-}
-
-void _tnl_RenderClippedLine( GLcontext *ctx, GLuint ii, GLuint jj )
-{
- TNLcontext *tnl = TNL_CONTEXT(ctx);
- tnl->Driver.Render.Line( ctx, ii, jj );
-}
-*/
-
-
-/**********************************************************************/
-/* Clip and render whole vertex buffers */
-/**********************************************************************/
-
-tnl_points_func _gldSetupPoints[4] = {
- gld_Points2D_DX7,
- gld_Points2D_DX7,
- gld_Points2D_DX7,
- gld_Points2D_DX7
-};
-tnl_line_func _gldSetupLine[4] = {
- gld_Line2DFlat_DX7,
- gld_Line2DSmooth_DX7,
- gld_Line2DFlat_DX7,
- gld_Line2DSmooth_DX7,
-};
-tnl_triangle_func _gldSetupTriangle[4] = {
- gld_Triangle2DFlat_DX7,
- gld_Triangle2DSmooth_DX7,
- gld_Triangle2DFlatExtras_DX7,
- gld_Triangle2DSmoothExtras_DX7
-};
-tnl_quad_func _gldSetupQuad[4] = {
- gld_Quad2DFlat_DX7,
- gld_Quad2DSmooth_DX7,
- gld_Quad2DFlatExtras_DX7,
- gld_Quad2DSmoothExtras_DX7
-};
-
-//---------------------------------------------------------------------------
-
-static GLboolean _gld_mesa_render_stage_run(
- GLcontext *ctx,
- struct tnl_pipeline_stage *stage)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx7 *gld = GLD_GET_DX7_DRIVER(gldCtx);
-
- TNLcontext *tnl = TNL_CONTEXT(ctx);
- struct vertex_buffer *VB = &tnl->vb;
- tnl_render_func *tab;
- GLint pass = 0;
- GLD_pb_dx7 *gldPB;
- DWORD dwFlags;
-
- /* Allow the drivers to lock before projected verts are built so
- * that window coordinates are guarenteed not to change before
- * rendering.
- */
- ASSERT(tnl->Driver.Render.Start);
-
- tnl->Driver.Render.Start( ctx );
-
- gldPB = &gld->PB2d;
- tnl->Driver.Render.Points = _gldSetupPoints[gld->iSetupFunc];
- tnl->Driver.Render.Line = _gldSetupLine[gld->iSetupFunc];
- tnl->Driver.Render.Triangle = _gldSetupTriangle[gld->iSetupFunc];
- tnl->Driver.Render.Quad = _gldSetupQuad[gld->iSetupFunc];
-
- dwFlags = DDLOCK_DISCARDCONTENTS | DDLOCK_WAIT | DDLOCK_SURFACEMEMORYPTR | DDLOCK_WRITEONLY;
- _GLD_DX7_VB(Lock(gldPB->pVB, dwFlags, &gldPB->pPoints, NULL));
- gldPB->nPoints = gldPB->nLines = gldPB->nTriangles = 0;
-
- // Allocate primitive pointers - gldPB->pPoints is always first
- gldPB->pLines = gldPB->pPoints + (gldPB->dwStride * gldPB->iFirstLine);
- gldPB->pTriangles = gldPB->pPoints + (gldPB->dwStride * gldPB->iFirstTriangle);
-
- ASSERT(tnl->Driver.Render.BuildVertices);
- ASSERT(tnl->Driver.Render.PrimitiveNotify);
- ASSERT(tnl->Driver.Render.Points);
- ASSERT(tnl->Driver.Render.Line);
- ASSERT(tnl->Driver.Render.Triangle);
- ASSERT(tnl->Driver.Render.Quad);
- ASSERT(tnl->Driver.Render.ResetLineStipple);
- ASSERT(tnl->Driver.Render.Interp);
- ASSERT(tnl->Driver.Render.CopyPV);
- ASSERT(tnl->Driver.Render.ClippedLine);
- ASSERT(tnl->Driver.Render.ClippedPolygon);
- ASSERT(tnl->Driver.Render.Finish);
-
- tnl->Driver.Render.BuildVertices( ctx, 0, VB->Count, ~0 );
-
- if (VB->ClipOrMask) {
- tab = VB->Elts ? clip_render_tab_elts : clip_render_tab_verts;
- clip_render_tab_elts[GL_TRIANGLES] = clip_elt_triangles;
- }
- else {
- tab = (VB->Elts ?
- tnl->Driver.Render.PrimTabElts :
- tnl->Driver.Render.PrimTabVerts);
- }
-
- do {
- GLuint i, length, flags = 0;
- for (i = 0 ; !(flags & PRIM_END) ; i += length) {
- flags = VB->Primitive[i].mode;
- length= VB->Primitive[i].count;
- ASSERT(length || (flags & PRIM_END));
- ASSERT((flags & PRIM_MODE_MASK) <= GL_POLYGON+1);
- if (length)
- tab[flags & PRIM_MODE_MASK]( ctx, i, i + length, flags );
- }
- } while (tnl->Driver.Render.Multipass &&
- tnl->Driver.Render.Multipass( ctx, ++pass ));
-
-
-// tnl->Driver.Render.Finish( ctx );
-
- _GLD_DX7_VB(Unlock(gldPB->pVB));
-
- if (gldPB->nPoints) {
- _GLD_DX7_DEV(DrawPrimitiveVB(gld->pDev, D3DPT_POINTLIST, gldPB->pVB, 0, gldPB->nPoints, 0));
- gldPB->nPoints = 0;
- }
-
- if (gldPB->nLines) {
- _GLD_DX7_DEV(DrawPrimitiveVB(gld->pDev, D3DPT_LINELIST, gldPB->pVB, gldPB->iFirstLine, gldPB->nLines*2, 0));
- gldPB->nLines = 0;
- }
-
- if (gldPB->nTriangles) {
- _GLD_DX7_DEV(DrawPrimitiveVB(gld->pDev, D3DPT_TRIANGLELIST, gldPB->pVB, gldPB->iFirstTriangle, gldPB->nTriangles*3, 0));
- gldPB->nTriangles = 0;
- }
-
- return GL_FALSE; /* finished the pipe */
-}
-
-
-/**********************************************************************/
-/* Render pipeline stage */
-/**********************************************************************/
-
-
-
-const struct tnl_pipeline_stage _gld_mesa_render_stage =
-{
- "gld_mesa_render_stage",
- NULL,
- NULL,
- NULL,
- NULL,
- _gld_mesa_render_stage_run /* run */
-};
-
-//---------------------------------------------------------------------------
diff --git a/src/mesa/drivers/windows/gldirect/dx7/gld_wgl_dx7.c b/src/mesa/drivers/windows/gldirect/dx7/gld_wgl_dx7.c
deleted file mode 100644
index fa44a952a0..0000000000
--- a/src/mesa/drivers/windows/gldirect/dx7/gld_wgl_dx7.c
+++ /dev/null
@@ -1,1613 +0,0 @@
-/****************************************************************************
-*
-* Mesa 3-D graphics library
-* Direct3D Driver Interface
-*
-* ========================================================================
-*
-* Copyright (C) 1991-2004 SciTech Software, Inc. 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
-* SCITECH SOFTWARE INC 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.
-*
-* ======================================================================
-*
-* Language: ANSI C
-* Environment: Windows 9x/2000/XP/XBox (Win32)
-*
-* Description: GLDirect Direct3D 8.x WGL (WindowsGL)
-*
-****************************************************************************/
-
-#include "dglcontext.h"
-#include "gld_driver.h"
-//#include "gld_dxerr8.h"
-#include "gld_dx7.h"
-
-#include "tnl/tnl.h"
-#include "tnl/t_context.h"
-
-// Copied from dglcontect.c
-#define GLDERR_NONE 0
-#define GLDERR_MEM 1
-#define GLDERR_DDRAW 2
-#define GLDERR_D3D 3
-#define GLDERR_BPP 4
-#define GLDERR_DDS 5
-// This external var keeps track of any error
-extern int nContextError;
-
-// Uncomment this for persistant resources
-//#define _GLD_PERSISTANT
-
-#define DDLOG_CRITICAL_OR_WARN DDLOG_CRITICAL
-
-extern void _gld_mesa_warning(GLcontext *, char *);
-extern void _gld_mesa_fatal(GLcontext *, char *);
-
-//---------------------------------------------------------------------------
-
-static char szColorDepthWarning[] =
-"GLDirect does not support the current desktop\n\
-color depth.\n\n\
-You may need to change the display resolution to\n\
-16 bits per pixel or higher color depth using\n\
-the Windows Display Settings control panel\n\
-before running this OpenGL application.\n";
-
-// The only depth-stencil formats currently supported by Direct3D
-// Surface Format Depth Stencil Total Bits
-// D3DFMT_D32 32 - 32
-// D3DFMT_D15S1 15 1 16
-// D3DFMT_D24S8 24 8 32
-// D3DFMT_D16 16 - 16
-// D3DFMT_D24X8 24 - 32
-// D3DFMT_D24X4S4 24 4 32
-
-// This pixel format will be used as a template when compiling the list
-// of pixel formats supported by the hardware. Many fields will be
-// filled in at runtime.
-// PFD flag defaults are upgraded to match ChoosePixelFormat() -- DaveM
-static DGL_pixelFormat pfTemplateHW =
-{
- {
- sizeof(PIXELFORMATDESCRIPTOR), // Size of the data structure
- 1, // Structure version - should be 1
- // Flags:
- PFD_DRAW_TO_WINDOW | // The buffer can draw to a window or device surface.
- PFD_DRAW_TO_BITMAP | // The buffer can draw to a bitmap. (DaveM)
- PFD_SUPPORT_GDI | // The buffer supports GDI drawing. (DaveM)
- PFD_SUPPORT_OPENGL | // The buffer supports OpenGL drawing.
- PFD_DOUBLEBUFFER | // The buffer is double-buffered.
- 0, // Placeholder for easy commenting of above flags
- PFD_TYPE_RGBA, // Pixel type RGBA.
- 16, // Total colour bitplanes (excluding alpha bitplanes)
- 5, 0, // Red bits, shift
- 5, 0, // Green bits, shift
- 5, 0, // Blue bits, shift
- 0, 0, // Alpha bits, shift (destination alpha)
- 0, // Accumulator bits (total)
- 0, 0, 0, 0, // Accumulator bits: Red, Green, Blue, Alpha
- 0, // Depth bits
- 0, // Stencil bits
- 0, // Number of auxiliary buffers
- 0, // Layer type
- 0, // Specifies the number of overlay and underlay planes.
- 0, // Layer mask
- 0, // Specifies the transparent color or index of an underlay plane.
- 0 // Damage mask
- },
- D3DX_SF_UNKNOWN, // No depth/stencil buffer
-};
-
-//---------------------------------------------------------------------------
-// Vertex Shaders
-//---------------------------------------------------------------------------
-/*
-// Vertex Shader Declaration
-static DWORD dwTwoSidedLightingDecl[] =
-{
- D3DVSD_STREAM(0),
- D3DVSD_REG(0, D3DVSDT_FLOAT3), // XYZ position
- D3DVSD_REG(1, D3DVSDT_FLOAT3), // XYZ normal
- D3DVSD_REG(2, D3DVSDT_D3DCOLOR), // Diffuse color
- D3DVSD_REG(3, D3DVSDT_D3DCOLOR), // Specular color
- D3DVSD_REG(4, D3DVSDT_FLOAT2), // 2D texture unit 0
- D3DVSD_REG(5, D3DVSDT_FLOAT2), // 2D texture unit 1
- D3DVSD_END()
-};
-
-// Vertex Shader for two-sided lighting
-static char *szTwoSidedLightingVS =
-// This is a test shader!
-"vs.1.0\n"
-"m4x4 oPos,v0,c0\n"
-"mov oD0,v2\n"
-"mov oD1,v3\n"
-"mov oT0,v4\n"
-"mov oT1,v5\n"
-;
-*/
-//---------------------------------------------------------------------------
-//---------------------------------------------------------------------------
-
-typedef struct {
-// HINSTANCE hD3D8DLL; // Handle to d3d8.dll
-// FNDIRECT3DCREATE7 fnDirect3DCreate7; // Direct3DCreate8 function prototype
-// BOOL bDirect3D; // Persistant Direct3D7 exists
-// BOOL bDirect3DDevice; // Persistant Direct3DDevice7 exists
-// IDirect3D7 *pD3D; // Persistant Direct3D7
-// IDirect3DDevice7 *pDev; // Persistant Direct3DDevice7
- BOOL bD3DXStarted;
-} GLD_dx7_globals;
-
-// These are "global" to all DX7 contexts. KeithH
-static GLD_dx7_globals dx7Globals;
-
-// Added for correct clipping of multiple open windows. (DaveM)
-LPDIRECTDRAWSURFACE7 lpDDSPrimary = NULL;
-LPDIRECTDRAWCLIPPER lpDDClipper = NULL;
-
-//---------------------------------------------------------------------------
-//---------------------------------------------------------------------------
-
-BOOL gldGetDXErrorString_DX(
- HRESULT hr,
- char *buf,
- int nBufSize)
-{
- //
- // Return a string describing the input HRESULT error code
- //
-
- D3DXGetErrorString(hr, nBufSize, buf);
- return TRUE;
-}
-
-//---------------------------------------------------------------------------
-//
-// DX7 does not support multisample
-/*
-static D3DMULTISAMPLE_TYPE _gldGetDeviceMultiSampleType(
- IDirect3D8 *pD3D8,
- D3DFORMAT SurfaceFormat,
- D3DDEVTYPE d3dDevType,
- BOOL Windowed)
-{
- int i;
- HRESULT hr;
-
- if (glb.dwMultisample == GLDS_MULTISAMPLE_NONE)
- return D3DMULTISAMPLE_NONE;
-
- if (glb.dwMultisample == GLDS_MULTISAMPLE_FASTEST) {
- // Find fastest multisample
- for (i=2; i<17; i++) {
- hr = IDirect3D8_CheckDeviceMultiSampleType(
- pD3D8,
- glb.dwAdapter,
- d3dDevType,
- SurfaceFormat,
- Windowed,
- (D3DMULTISAMPLE_TYPE)i);
- if (SUCCEEDED(hr)) {
- return (D3DMULTISAMPLE_TYPE)i;
- }
- }
- } else {
- // Find nicest multisample
- for (i=16; i>1; i--) {
- hr = IDirect3D8_CheckDeviceMultiSampleType(
- pD3D8,
- glb.dwAdapter,
- d3dDevType,
- SurfaceFormat,
- Windowed,
- (D3DMULTISAMPLE_TYPE)i);
- if (SUCCEEDED(hr)) {
- return (D3DMULTISAMPLE_TYPE)i;
- }
- }
- }
-
- // Nothing found - return default
- return D3DMULTISAMPLE_NONE;
-}
-*/
-//---------------------------------------------------------------------------
-
-void _gldDestroyPrimitiveBuffer(
- GLD_pb_dx7 *gldVB)
-{
- SAFE_RELEASE(gldVB->pVB);
-
- // Sanity check...
- gldVB->nLines = gldVB->nPoints = gldVB->nTriangles = 0;
-}
-
-//---------------------------------------------------------------------------
-
-HRESULT _gldCreatePrimitiveBuffer(
- GLcontext *ctx,
- GLD_driver_dx7 *lpCtx,
- GLD_pb_dx7 *gldVB)
-{
- HRESULT hResult;
- char *szCreateVertexBufferFailed = "CreateVertexBuffer failed";
- DWORD dwMaxVertices; // Max number of vertices in vertex buffer
- DWORD dwVBSize; // Total size of vertex buffer
- D3DVERTEXBUFFERDESC vbdesc;
-
- // If CVA (Compiled Vertex Array) is used by an OpenGL app, then we
- // will need enough vertices to cater for Mesa::Const.MaxArrayLockSize.
- // We'll use IMM_SIZE if it's larger (which it should not be).
- dwMaxVertices = MAX_ARRAY_LOCK_SIZE;
-
- // Max vertex buffer size limited in DX7. (DaveM)
- if (dwMaxVertices*9 > D3DMAXNUMVERTICES)
- dwMaxVertices = D3DMAXNUMVERTICES/9;
-
- // Now calculate how many vertices to allow for in total
- // 1 per point, 2 per line, 6 per quad = 9
- dwVBSize = dwMaxVertices * 9 * gldVB->dwStride;
-
- vbdesc.dwSize = sizeof(vbdesc);
- vbdesc.dwCaps = gldVB->dwCreateFlags;
- vbdesc.dwFVF = gldVB->dwFVF;
- vbdesc.dwNumVertices = dwMaxVertices * 9;
-
-/* hResult = IDirect3DDevice8_CreateVertexBuffer(
- lpCtx->pDev,
- dwVBSize,
-RAgldVB->dwUsage,
- gldVB->dwFVF,
- gldVB->dwPool,
- &gldVB->pVB);*/
- hResult = IDirect3D7_CreateVertexBuffer(
- lpCtx->pD3D,
- &vbdesc,
- &gldVB->pVB,
- 0);
- if (FAILED(hResult)) {
- ddlogMessage(DDLOG_CRITICAL_OR_WARN, szCreateVertexBufferFailed);
- return hResult;
- }
-
- gldVB->nLines = gldVB->nPoints = gldVB->nTriangles = 0;
- gldVB->pPoints = gldVB->pLines = gldVB->pTriangles = NULL;
- gldVB->iFirstLine = dwMaxVertices; // Index of first line in VB
- gldVB->iFirstTriangle = dwMaxVertices*3; // Index of first triangle in VB
-
- return S_OK;
-}
-
-//---------------------------------------------------------------------------
-// Function: _gldCreateVertexShaders
-// Create DX8 Vertex Shaders.
-//---------------------------------------------------------------------------
-/*
-void _gldCreateVertexShaders(
- GLD_driver_dx8 *gld)
-{
- DWORD dwFlags;
- LPD3DXBUFFER pVSOpcodeBuffer; // Vertex Shader opcode buffer
- HRESULT hr;
-
-#ifdef _DEBUG
- dwFlags = D3DXASM_DEBUG;
-#else
- dwFlags = 0; // D3DXASM_SKIPVALIDATION;
-#endif
-
- ddlogMessage(DDLOG_INFO, "Creating shaders...\n");
-
- // Init the shader handle
- gld->VStwosidelight.hShader = 0;
-
- if (gld->d3dCaps8.MaxStreams == 0) {
- // Lame DX8 driver doesn't support streams
- // Not fatal, as defaults will be used
- ddlogMessage(DDLOG_WARN, "Driver doesn't support Vertex Shaders (MaxStreams==0)\n");
- return;
- }
-
- // ** THIS DISABLES VERTEX SHADER SUPPORT **
-// return;
- // ** THIS DISABLES VERTEX SHADER SUPPORT **
-
- //
- // Two-sided lighting
- //
-
-#if 0
- //
- // DEBUGGING: Load shader from a text file
- //
- {
- LPD3DXBUFFER pVSErrorBuffer; // Vertex Shader error buffer
- hr = D3DXAssembleShaderFromFile(
- "twoside.vsh",
- dwFlags,
- NULL, // No constants
- &pVSOpcodeBuffer,
- &pVSErrorBuffer);
- if (pVSErrorBuffer && pVSErrorBuffer->lpVtbl->GetBufferPointer(pVSErrorBuffer))
- ddlogMessage(DDLOG_INFO, pVSErrorBuffer->lpVtbl->GetBufferPointer(pVSErrorBuffer));
- SAFE_RELEASE(pVSErrorBuffer);
- }
-#else
- {
- LPD3DXBUFFER pVSErrorBuffer; // Vertex Shader error buffer
- // Assemble ascii shader text into shader opcodes
- hr = D3DXAssembleShader(
- szTwoSidedLightingVS,
- strlen(szTwoSidedLightingVS),
- dwFlags,
- NULL, // No constants
- &pVSOpcodeBuffer,
- &pVSErrorBuffer);
- if (pVSErrorBuffer && pVSErrorBuffer->lpVtbl->GetBufferPointer(pVSErrorBuffer))
- ddlogMessage(DDLOG_INFO, pVSErrorBuffer->lpVtbl->GetBufferPointer(pVSErrorBuffer));
- SAFE_RELEASE(pVSErrorBuffer);
- }
-#endif
- if (FAILED(hr)) {
- ddlogError(DDLOG_WARN, "AssembleShader failed", hr);
- SAFE_RELEASE(pVSOpcodeBuffer);
- return;
- }
-
-// This is for debugging. Remove to enable vertex shaders in HW
-#define _GLD_FORCE_SW_VS 0
-
- if (_GLD_FORCE_SW_VS) {
- // _GLD_FORCE_SW_VS should be disabled for Final Release
- ddlogMessage(DDLOG_SYSTEM, "[Forcing shaders in SW]\n");
- }
-
- // Try and create shader in hardware.
- // NOTE: The D3D Ref device appears to succeed when trying to
- // create the device in hardware, but later complains
- // when trying to set it with SetVertexShader(). Go figure.
- if (_GLD_FORCE_SW_VS || glb.dwDriver == GLDS_DRIVER_REF) {
- // Don't try and create a hardware shader with the Ref device
- hr = E_FAIL; // COM error/fail result
- } else {
- gld->VStwosidelight.bHardware = TRUE;
- hr = IDirect3DDevice8_CreateVertexShader(
- gld->pDev,
- dwTwoSidedLightingDecl,
- pVSOpcodeBuffer->lpVtbl->GetBufferPointer(pVSOpcodeBuffer),
- &gld->VStwosidelight.hShader,
- 0);
- }
- if (FAILED(hr)) {
- ddlogMessage(DDLOG_INFO, "... HW failed, trying SW...\n");
- // Failed. Try and create shader for software processing
- hr = IDirect3DDevice8_CreateVertexShader(
- gld->pDev,
- dwTwoSidedLightingDecl,
- pVSOpcodeBuffer->lpVtbl->GetBufferPointer(pVSOpcodeBuffer),
- &gld->VStwosidelight.hShader,
- D3DUSAGE_SOFTWAREPROCESSING);
- if (FAILED(hr)) {
- gld->VStwosidelight.hShader = 0; // Sanity check
- ddlogError(DDLOG_WARN, "CreateVertexShader failed", hr);
- return;
- }
- // Succeeded, but for software processing
- gld->VStwosidelight.bHardware = FALSE;
- }
-
- SAFE_RELEASE(pVSOpcodeBuffer);
-
- ddlogMessage(DDLOG_INFO, "... OK\n");
-}
-
-//---------------------------------------------------------------------------
-
-void _gldDestroyVertexShaders(
- GLD_driver_dx8 *gld)
-{
- if (gld->VStwosidelight.hShader) {
- IDirect3DDevice8_DeleteVertexShader(gld->pDev, gld->VStwosidelight.hShader);
- gld->VStwosidelight.hShader = 0;
- }
-}
-*/
-//---------------------------------------------------------------------------
-
-BOOL gldCreateDrawable_DX(
- DGL_ctx *ctx,
-// BOOL bDefaultDriver,
- BOOL bDirectDrawPersistant,
- BOOL bPersistantBuffers)
-{
- //
- // bDirectDrawPersistant: applies to IDirect3D8
- // bPersistantBuffers: applies to IDirect3DDevice8
- //
-
-// D3DDEVTYPE d3dDevType;
-// D3DPRESENT_PARAMETERS d3dpp;
-// D3DDISPLAYMODE d3ddm;
-// DWORD dwBehaviourFlags;
-// D3DADAPTER_IDENTIFIER8 d3dIdent;
-
- HRESULT hr;
- GLD_driver_dx7 *lpCtx = NULL;
- D3DX_VIDMODEDESC d3ddm;
-
- // Parameters for D3DXCreateContextEx
- // These will be different for fullscreen and windowed
- DWORD dwDeviceIndex;
- DWORD dwFlags;
- HWND hwnd;
- HWND hwndFocus;
- DWORD numColorBits;
- DWORD numAlphaBits;
- DWORD numDepthBits;
- DWORD numStencilBits;
- DWORD numBackBuffers;
- DWORD dwWidth;
- DWORD dwHeight;
- DWORD refreshRate;
-
- // Error if context is NULL.
- if (ctx == NULL)
- return FALSE;
-
- if (ctx->glPriv) {
- lpCtx = ctx->glPriv;
- // Release any existing interfaces (in reverse order)
- SAFE_RELEASE(lpCtx->pDev);
- SAFE_RELEASE(lpCtx->pD3D);
- lpCtx->pD3DXContext->lpVtbl->Release(lpCtx->pD3DXContext);
- lpCtx->pD3DXContext = NULL;
- } else {
- lpCtx = (GLD_driver_dx7*)malloc(sizeof(GLD_driver_dx7));
- ZeroMemory(lpCtx, sizeof(lpCtx));
- }
-
-// d3dDevType = (glb.dwDriver == GLDS_DRIVER_HAL) ? D3DDEVTYPE_HAL : D3DDEVTYPE_REF;
- // Use REF device if requested. Otherwise D3DX_DEFAULT will choose highest level
- // of HW acceleration.
- dwDeviceIndex = (glb.dwDriver == GLDS_DRIVER_REF) ? D3DX_HWLEVEL_REFERENCE : D3DX_DEFAULT;
-
- // TODO: Check this
-// if (bDefaultDriver)
-// d3dDevType = D3DDEVTYPE_REF;
-
-#ifdef _GLD_PERSISTANT
- // Use persistant interface if needed
- if (bDirectDrawPersistant && dx7Globals.bDirect3D) {
- lpCtx->pD3D = dx7Globals.pD3D;
- IDirect3D7_AddRef(lpCtx->pD3D);
- goto SkipDirectDrawCreate;
- }
-#endif
-/*
- // Create Direct3D7 object
- lpCtx->pD3D = dx7Globals.fnDirect3DCreate8(D3D_SDK_VERSION_DX8_SUPPORT_WIN95);
- if (lpCtx->pD3D == NULL) {
- MessageBox(NULL, "Unable to initialize Direct3D8", "GLDirect", MB_OK);
- ddlogMessage(DDLOG_CRITICAL_OR_WARN, "Unable to create Direct3D8 interface");
- nContextError = GLDERR_D3D;
- goto return_with_error;
- }
-*/
-
-#ifdef _GLD_PERSISTANT
- // Cache Direct3D interface for subsequent GLRCs
- if (bDirectDrawPersistant && !dx8Globals.bDirect3D) {
- dx7Globals.pD3D = lpCtx->pD3D;
- IDirect3D7_AddRef(dx7Globals.pD3D);
- dx7Globals.bDirect3D = TRUE;
- }
-SkipDirectDrawCreate:
-#endif
-/*
- // Get the display mode so we can make a compatible backbuffer
- hResult = IDirect3D8_GetAdapterDisplayMode(lpCtx->pD3D, glb.dwAdapter, &d3ddm);
- if (FAILED(hResult)) {
- nContextError = GLDERR_D3D;
- goto return_with_error;
- }
-*/
-
-#if 0
- // Get device caps
- hResult = IDirect3D8_GetDeviceCaps(lpCtx->pD3D, glb.dwAdapter, d3dDevType, &lpCtx->d3dCaps8);
- if (FAILED(hResult)) {
- ddlogError(DDLOG_CRITICAL_OR_WARN, "IDirect3D8_GetDeviceCaps failed", hResult);
- nContextError = GLDERR_D3D;
- goto return_with_error;
- }
-
- // Check for hardware transform & lighting
- lpCtx->bHasHWTnL = lpCtx->d3dCaps8.DevCaps & D3DDEVCAPS_HWTRANSFORMANDLIGHT ? TRUE : FALSE;
-
- // If this flag is present then we can't default to Mesa
- // SW rendering between BeginScene() and EndScene().
- if (lpCtx->d3dCaps8.Caps2 & D3DCAPS2_NO2DDURING3DSCENE) {
- ddlogMessage(DDLOG_WARN,
- "Warning : No 2D allowed during 3D scene.\n");
- }
-#endif
-
- //
- // Create the Direct3D context
- //
-
-#ifdef _GLD_PERSISTANT
- // Re-use original IDirect3DDevice if persistant buffers exist.
- // Note that we test for persistant IDirect3D8 as well
- // bDirectDrawPersistant == persistant IDirect3D8 (DirectDraw8 does not exist)
- if (bDirectDrawPersistant && bPersistantBuffers && dx7Globals.pD3D && dx7Globals.pDev) {
- lpCtx->pDev = dx7Globals.pDev;
- IDirect3DDevice7_AddRef(dx7Globals.pDev);
- goto skip_direct3ddevice_create;
- }
-#endif
-/*
- // Clear the presentation parameters (sets all members to zero)
- ZeroMemory(&d3dpp, sizeof(d3dpp));
-
- // Recommended by MS; needed for MultiSample.
- // Be careful if altering this for FullScreenBlit
- d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
-
- d3dpp.BackBufferFormat = d3ddm.Format;
- d3dpp.BackBufferCount = 1;
- d3dpp.MultiSampleType = _gldGetDeviceMultiSampleType(lpCtx->pD3D, d3ddm.Format, d3dDevType, !ctx->bFullscreen);
- d3dpp.AutoDepthStencilFormat = ctx->lpPF->dwDriverData;
- d3dpp.EnableAutoDepthStencil = (d3dpp.AutoDepthStencilFormat == D3DFMT_UNKNOWN) ? FALSE : TRUE;
-
- if (ctx->bFullscreen) {
- ddlogWarnOption(FALSE); // Don't popup any messages in fullscreen
- d3dpp.Windowed = FALSE;
- d3dpp.BackBufferWidth = d3ddm.Width;
- d3dpp.BackBufferHeight = d3ddm.Height;
- d3dpp.hDeviceWindow = ctx->hWnd;
- d3dpp.FullScreen_RefreshRateInHz = D3DPRESENT_RATE_DEFAULT;
-
- // Support for vertical retrace synchronisation.
- // Set default presentation interval in case caps bits are missing
- d3dpp.FullScreen_PresentationInterval = D3DPRESENT_INTERVAL_DEFAULT;
- if (glb.bWaitForRetrace) {
- if (lpCtx->d3dCaps8.PresentationIntervals & D3DPRESENT_INTERVAL_ONE)
- d3dpp.FullScreen_PresentationInterval = D3DPRESENT_INTERVAL_ONE;
- } else {
- if (lpCtx->d3dCaps8.PresentationIntervals & D3DPRESENT_INTERVAL_IMMEDIATE)
- d3dpp.FullScreen_PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;
- }
- } else {
- ddlogWarnOption(glb.bMessageBoxWarnings); // OK to popup messages
- d3dpp.Windowed = TRUE;
- d3dpp.BackBufferWidth = ctx->dwWidth;
- d3dpp.BackBufferHeight = ctx->dwHeight;
- d3dpp.hDeviceWindow = ctx->hWnd;
- d3dpp.FullScreen_RefreshRateInHz = 0;
- // FullScreen_PresentationInterval must be default for Windowed mode
- d3dpp.FullScreen_PresentationInterval = D3DPRESENT_INTERVAL_DEFAULT;
- }
-
- // Decide if we can use hardware TnL
- dwBehaviourFlags = (lpCtx->bHasHWTnL) ?
- D3DCREATE_MIXED_VERTEXPROCESSING : D3DCREATE_SOFTWARE_VERTEXPROCESSING;
- // Add flag to tell D3D to be thread-safe
- if (glb.bMultiThreaded)
- dwBehaviourFlags |= D3DCREATE_MULTITHREADED;
- hResult = IDirect3D8_CreateDevice(lpCtx->pD3D,
- glb.dwAdapter,
- d3dDevType,
- ctx->hWnd,
- dwBehaviourFlags,
- &d3dpp,
- &lpCtx->pDev);
- if (FAILED(hResult)) {
- ddlogError(DDLOG_CRITICAL_OR_WARN, "IDirect3D8_CreateDevice failed", hResult);
- nContextError = GLDERR_D3D;
- goto return_with_error;
- }
-*/
-
- // Create D3DX context
- if (ctx->bFullscreen) {
- //
- // FULLSCREEN
- //
-
- // Get display mode
- D3DXGetCurrentVideoMode(D3DX_DEFAULT, &d3ddm);
-
- // Fullscreen Parameters
- dwFlags = D3DX_CONTEXT_FULLSCREEN;
- hwnd = ctx->hWnd;
- hwndFocus = ctx->hWnd;
- numColorBits = ctx->lpPF->pfd.cColorBits;
- numAlphaBits = ctx->lpPF->pfd.cAlphaBits;
- numDepthBits = ctx->lpPF->pfd.cDepthBits + ctx->lpPF->pfd.cStencilBits;
- numStencilBits = ctx->lpPF->pfd.cStencilBits;
- numBackBuffers = D3DX_DEFAULT; // Default is 1 backbuffer
- dwWidth = d3ddm.width;
- dwHeight = d3ddm.height;
- refreshRate = d3ddm.refreshRate; // D3DX_DEFAULT;
- } else {
- //
- // WINDOWED
- //
-
- // Windowed Parameters
- dwFlags = 0; // No flags means "windowed"
- hwnd = ctx->hWnd;
- hwndFocus = (HWND)D3DX_DEFAULT;
- numColorBits = D3DX_DEFAULT; // Use Desktop depth
- numAlphaBits = ctx->lpPF->pfd.cAlphaBits;
- numDepthBits = ctx->lpPF->pfd.cDepthBits + ctx->lpPF->pfd.cStencilBits;
- numStencilBits = ctx->lpPF->pfd.cStencilBits;
- numBackBuffers = D3DX_DEFAULT; // Default is 1 backbuffer
- dwWidth = ctx->dwWidth;
- dwHeight = ctx->dwHeight;
- refreshRate = D3DX_DEFAULT;
- }
- hr = D3DXCreateContextEx(dwDeviceIndex, dwFlags, hwnd, hwndFocus,
- numColorBits, numAlphaBits, numDepthBits, numStencilBits,
- numBackBuffers,
- dwWidth, dwHeight, refreshRate,
- &lpCtx->pD3DXContext);
- if (FAILED(hr)) {
- ddlogError(DDLOG_CRITICAL_OR_WARN, "D3DXCreateContextEx failed", hr);
- nContextError = GLDERR_D3D;
- goto return_with_error;
- }
-
- // Obtain D3D7 interfaces from ID3DXContext
-// lpCtx->pDD = ID3DXContext_GetDD(lpCtx->pD3DXContext);
- lpCtx->pDD = lpCtx->pD3DXContext->lpVtbl->GetDD(lpCtx->pD3DXContext);
- if (lpCtx->pDD == NULL)
- goto return_with_error;
- lpCtx->pD3D = lpCtx->pD3DXContext->lpVtbl->GetD3D(lpCtx->pD3DXContext);
- if (lpCtx->pD3D == NULL)
- goto return_with_error;
- lpCtx->pDev = lpCtx->pD3DXContext->lpVtbl->GetD3DDevice(lpCtx->pD3DXContext);
- if (lpCtx->pDev == NULL)
- goto return_with_error;
-
- // Need to manage clipper manually for multiple windows
- // since DX7 D3DX utility lib does not appear to do that. (DaveM)
- if (!ctx->bFullscreen) {
- // Get primary surface too
- lpDDSPrimary = lpCtx->pD3DXContext->lpVtbl->GetPrimary(lpCtx->pD3DXContext);
- if (lpDDSPrimary == NULL) {
- ddlogPrintf(DDLOG_WARN, "GetPrimary");
- goto return_with_error;
- }
- // Create clipper for correct window updates
- if (IDirectDraw7_CreateClipper(lpCtx->pDD, 0, &lpDDClipper, NULL) != DD_OK) {
- ddlogPrintf(DDLOG_WARN, "CreateClipper");
- goto return_with_error;
- }
- // Set the window that the clipper belongs to
- if (IDirectDrawClipper_SetHWnd(lpDDClipper, 0, hwnd) != DD_OK) {
- ddlogPrintf(DDLOG_WARN, "SetHWnd");
- goto return_with_error;
- }
- // Attach the clipper to the primary surface
- if (IDirectDrawSurface7_SetClipper(lpDDSPrimary, lpDDClipper) != DD_OK) {
- ddlogPrintf(DDLOG_WARN, "SetClipper");
- goto return_with_error;
- }
- }
-
- // Get device caps
- IDirect3DDevice7_GetCaps(lpCtx->pDev, &lpCtx->d3dCaps);
-
- // Determine HW TnL
- lpCtx->bHasHWTnL = lpCtx->d3dCaps.dwDevCaps & D3DDEVCAPS_HWTRANSFORMANDLIGHT ? TRUE : FALSE;
-
-#ifdef _GLD_PERSISTANT
- if (bDirectDrawPersistant && bPersistantBuffers && dx7Globals.pD3D) {
- dx7Globals.pDev = lpCtx->pDev;
- dx7Globals.bDirect3DDevice = TRUE;
- }
-#endif
-
-#if 0
- // Dump some useful stats
- hResult = IDirect3D8_GetAdapterIdentifier(
- lpCtx->pD3D,
- glb.dwAdapter,
- D3DENUM_NO_WHQL_LEVEL, // Avoids 1 to 2 second delay
- &d3dIdent);
- if (SUCCEEDED(hResult)) {
- ddlogPrintf(DDLOG_INFO, "[Driver Description: %s]", &d3dIdent.Description);
- ddlogPrintf(DDLOG_INFO, "[Driver file: %s %d.%d.%02d.%d]",
- d3dIdent.Driver,
- HIWORD(d3dIdent.DriverVersion.HighPart),
- LOWORD(d3dIdent.DriverVersion.HighPart),
- HIWORD(d3dIdent.DriverVersion.LowPart),
- LOWORD(d3dIdent.DriverVersion.LowPart));
- ddlogPrintf(DDLOG_INFO, "[VendorId: 0x%X, DeviceId: 0x%X, SubSysId: 0x%X, Revision: 0x%X]",
- d3dIdent.VendorId, d3dIdent.DeviceId, d3dIdent.SubSysId, d3dIdent.Revision);
- }
-#endif
-
- // Init projection matrix for D3D TnL
- D3DXMatrixIdentity((D3DXMATRIX*)&lpCtx->matProjection);
- lpCtx->matModelView = lpCtx->matProjection;
-// gld->bUseMesaProjection = TRUE;
-
-skip_direct3ddevice_create:
-
- // Create buffers to hold primitives
- lpCtx->PB2d.dwFVF = GLD_FVF_2D_VERTEX;
-// lpCtx->PB2d.dwPool = D3DPOOL_SYSTEMMEM;
- lpCtx->PB2d.dwStride = sizeof(GLD_2D_VERTEX);
- lpCtx->PB2d.dwCreateFlags = D3DVBCAPS_DONOTCLIP |
- D3DVBCAPS_SYSTEMMEMORY |
- D3DVBCAPS_WRITEONLY;
- hr = _gldCreatePrimitiveBuffer(ctx->glCtx, lpCtx, &lpCtx->PB2d);
- if (FAILED(hr))
- goto return_with_error;
-
- lpCtx->PB3d.dwFVF = GLD_FVF_3D_VERTEX;
-// lpCtx->PB3d.dwPool = D3DPOOL_DEFAULT;
- lpCtx->PB3d.dwStride = sizeof(GLD_3D_VERTEX);
- lpCtx->PB3d.dwCreateFlags = D3DVBCAPS_WRITEONLY;
-
- hr = _gldCreatePrimitiveBuffer(ctx->glCtx, lpCtx, &lpCtx->PB3d);
- if (FAILED(hr))
- goto return_with_error;
-
- // Zero the pipeline usage counters
- lpCtx->PipelineUsage.qwMesa.QuadPart =
-// lpCtx->PipelineUsage.dwD3D2SVS.QuadPart =
- lpCtx->PipelineUsage.qwD3DFVF.QuadPart = 0;
-
- // Assign drawable to GL private
- ctx->glPriv = lpCtx;
- return TRUE;
-
-return_with_error:
- // Clean up and bail
- _gldDestroyPrimitiveBuffer(&lpCtx->PB3d);
- _gldDestroyPrimitiveBuffer(&lpCtx->PB2d);
-
- SAFE_RELEASE(lpCtx->pDev);
- SAFE_RELEASE(lpCtx->pD3D);
- //SAFE_RELEASE(lpCtx->pD3DXContext);
- lpCtx->pD3DXContext->lpVtbl->Release(lpCtx->pD3DXContext);
- return FALSE;
-}
-
-//---------------------------------------------------------------------------
-
-BOOL gldResizeDrawable_DX(
- DGL_ctx *ctx,
- BOOL bDefaultDriver,
- BOOL bPersistantInterface,
- BOOL bPersistantBuffers)
-{
- GLD_driver_dx7 *gld = NULL;
-// D3DDEVTYPE d3dDevType;
-// D3DPRESENT_PARAMETERS d3dpp;
-// D3DDISPLAYMODE d3ddm;
- D3DX_VIDMODEDESC d3ddm;
- HRESULT hr;
- DWORD dwWidth, dwHeight;
-
- // Error if context is NULL.
- if (ctx == NULL)
- return FALSE;
-
- gld = ctx->glPriv;
- if (gld == NULL)
- return FALSE;
-
- if (ctx->bSceneStarted) {
- IDirect3DDevice7_EndScene(gld->pDev);
- ctx->bSceneStarted = FALSE;
- }
-/*
- d3dDevType = (glb.dwDriver == GLDS_DRIVER_HAL) ? D3DDEVTYPE_HAL : D3DDEVTYPE_REF;
- if (!bDefaultDriver)
- d3dDevType = D3DDEVTYPE_REF; // Force Direct3D Reference Rasterise (software)
-
- // Get the display mode so we can make a compatible backbuffer
- hResult = IDirect3D8_GetAdapterDisplayMode(gld->pD3D, glb.dwAdapter, &d3ddm);
- if (FAILED(hResult)) {
- nContextError = GLDERR_D3D;
-// goto return_with_error;
- return FALSE;
- }
-*/
- // Release objects before Reset()
- _gldDestroyPrimitiveBuffer(&gld->PB3d);
- _gldDestroyPrimitiveBuffer(&gld->PB2d);
-
-/*
- // Clear the presentation parameters (sets all members to zero)
- ZeroMemory(&d3dpp, sizeof(d3dpp));
-
- // Recommended by MS; needed for MultiSample.
- // Be careful if altering this for FullScreenBlit
- d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
-
- d3dpp.BackBufferFormat = d3ddm.Format;
- d3dpp.BackBufferCount = 1;
- d3dpp.MultiSampleType = _gldGetDeviceMultiSampleType(gld->pD3D, d3ddm.Format, d3dDevType, !ctx->bFullscreen);
- d3dpp.AutoDepthStencilFormat = ctx->lpPF->dwDriverData;
- d3dpp.EnableAutoDepthStencil = (d3dpp.AutoDepthStencilFormat == D3DFMT_UNKNOWN) ? FALSE : TRUE;
-
- // TODO: Sync to refresh
-
- if (ctx->bFullscreen) {
- ddlogWarnOption(FALSE); // Don't popup any messages in fullscreen
- d3dpp.Windowed = FALSE;
- d3dpp.BackBufferWidth = d3ddm.Width;
- d3dpp.BackBufferHeight = d3ddm.Height;
- d3dpp.hDeviceWindow = ctx->hWnd;
- d3dpp.FullScreen_RefreshRateInHz = D3DPRESENT_RATE_DEFAULT;
- d3dpp.FullScreen_PresentationInterval = D3DPRESENT_INTERVAL_DEFAULT;
- // Get better benchmark results? KeithH
-// d3dpp.FullScreen_RefreshRateInHz = D3DPRESENT_RATE_UNLIMITED;
- } else {
- ddlogWarnOption(glb.bMessageBoxWarnings); // OK to popup messages
- d3dpp.Windowed = TRUE;
- d3dpp.BackBufferWidth = ctx->dwWidth;
- d3dpp.BackBufferHeight = ctx->dwHeight;
- d3dpp.hDeviceWindow = ctx->hWnd;
- d3dpp.FullScreen_RefreshRateInHz = 0;
- d3dpp.FullScreen_PresentationInterval = D3DPRESENT_INTERVAL_DEFAULT;
- }
- hResult = IDirect3DDevice8_Reset(gld->pDev, &d3dpp);
- if (FAILED(hResult)) {
- ddlogError(DDLOG_CRITICAL_OR_WARN, "dglResize: Reset failed", hResult);
- return FALSE;
- //goto cleanup_and_return_with_error;
- }
-*/
- // Obtain dimensions of 'window'
- if (ctx->bFullscreen) {
- D3DXGetCurrentVideoMode(D3DX_DEFAULT, &d3ddm);
- dwWidth = d3ddm.width;
- dwHeight = d3ddm.height;
- } else {
- dwWidth = ctx->dwWidth;
- dwHeight = ctx->dwHeight;
- }
-
- // Resize context
- hr = gld->pD3DXContext->lpVtbl->Resize(gld->pD3DXContext, dwWidth, dwHeight);
- if (FAILED(hr)) {
- ddlogError(DDLOG_CRITICAL_OR_WARN, "gldResizeDrawable_DX: Resize failed", hr);
- return FALSE;
- }
-
- // Clear the resized surface (DaveM)
- {
- D3DVIEWPORT7 vp1, vp2;
- IDirect3DDevice7_GetViewport(gld->pDev, &vp1);
- IDirect3DDevice7_GetViewport(gld->pDev, &vp2);
- vp2.dwX = 0;
- vp2.dwY = 0;
- vp2.dwWidth = dwWidth;
- vp2.dwHeight = dwHeight;
- IDirect3DDevice7_SetViewport(gld->pDev, &vp2);
- hr = gld->pD3DXContext->lpVtbl->Clear(gld->pD3DXContext, D3DCLEAR_TARGET);
- if (FAILED(hr))
- ddlogError(DDLOG_WARN, "gldResizeDrawable_DX: Clear failed", hr);
- IDirect3DDevice7_SetViewport(gld->pDev, &vp1);
- }
-
- //
- // Recreate objects
- //
- _gldCreatePrimitiveBuffer(ctx->glCtx, gld, &gld->PB2d);
- _gldCreatePrimitiveBuffer(ctx->glCtx, gld, &gld->PB3d);
-
- // Signal a complete state update
- ctx->glCtx->Driver.UpdateState(ctx->glCtx, _NEW_ALL);
-
- // Begin a new scene
- IDirect3DDevice7_BeginScene(gld->pDev);
- ctx->bSceneStarted = TRUE;
-
- return TRUE;
-}
-
-//---------------------------------------------------------------------------
-
-BOOL gldDestroyDrawable_DX(
- DGL_ctx *ctx)
-{
- GLD_driver_dx7 *lpCtx = NULL;
-
- // Error if context is NULL.
- if (!ctx)
- return FALSE;
-
- // Error if the drawable does not exist.
- if (!ctx->glPriv)
- return FALSE;
-
- lpCtx = ctx->glPriv;
-
-#ifdef _DEBUG
- // Dump out stats
- ddlogPrintf(DDLOG_SYSTEM, "Usage: M:0x%X%X, D:0x%X%X",
- lpCtx->PipelineUsage.qwMesa.HighPart,
- lpCtx->PipelineUsage.qwMesa.LowPart,
- lpCtx->PipelineUsage.qwD3DFVF.HighPart,
- lpCtx->PipelineUsage.qwD3DFVF.LowPart);
-#endif
-
- // Destroy Primtive Buffers
- _gldDestroyPrimitiveBuffer(&lpCtx->PB3d);
- _gldDestroyPrimitiveBuffer(&lpCtx->PB2d);
-
- // Release DX interfaces (in reverse order)
- SAFE_RELEASE(lpCtx->pDev);
- SAFE_RELEASE(lpCtx->pD3D);
- //SAFE_RELEASE(lpCtx->pD3DXContext);
- lpCtx->pD3DXContext->lpVtbl->Release(lpCtx->pD3DXContext);
-
- // Free the private drawable data
- free(ctx->glPriv);
- ctx->glPriv = NULL;
-
- return TRUE;
-}
-
-//---------------------------------------------------------------------------
-
-BOOL gldCreatePrivateGlobals_DX(void)
-{
-/*
- ZeroMemory(&dx7Globals, sizeof(dx7Globals));
-
- // Load d3d8.dll
- dx8Globals.hD3D8DLL = LoadLibrary("D3D8.DLL");
- if (dx8Globals.hD3D8DLL == NULL)
- return FALSE;
-
- // Now try and obtain Direct3DCreate8
- dx8Globals.fnDirect3DCreate8 = (FNDIRECT3DCREATE8)GetProcAddress(dx8Globals.hD3D8DLL, "Direct3DCreate8");
- if (dx8Globals.fnDirect3DCreate8 == NULL) {
- FreeLibrary(dx8Globals.hD3D8DLL);
- return FALSE;
- }
-*/
-
- // Initialise D3DX
- return FAILED(D3DXInitialize()) ? FALSE : TRUE;
-}
-
-//---------------------------------------------------------------------------
-
-BOOL gldDestroyPrivateGlobals_DX(void)
-{
-/*
- if (dx7Globals.bDirect3DDevice) {
- SAFE_RELEASE(dx7Globals.pDev);
- dx7Globals.bDirect3DDevice = FALSE;
- }
- if (dx7Globals.bDirect3D) {
- SAFE_RELEASE(dx7Globals.pD3D);
- dx7Globals.bDirect3D = FALSE;
- }
-
- FreeLibrary(dx8Globals.hD3D8DLL);
- dx8Globals.hD3D8DLL = NULL;
- dx8Globals.fnDirect3DCreate8 = NULL;
-*/
- return FAILED(D3DXUninitialize()) ? FALSE : TRUE;
-}
-
-//---------------------------------------------------------------------------
-
-static void _BitsFromDisplayFormat(
- D3DX_SURFACEFORMAT fmt,
- BYTE *cColorBits,
- BYTE *cRedBits,
- BYTE *cGreenBits,
- BYTE *cBlueBits,
- BYTE *cAlphaBits)
-{
- switch (fmt) {
-/* case D3DX_SF_X1R5G5B5:
- *cColorBits = 16;
- *cRedBits = 5;
- *cGreenBits = 5;
- *cBlueBits = 5;
- *cAlphaBits = 0;
- return;*/
- case D3DX_SF_R5G5B5:
- *cColorBits = 16;
- *cRedBits = 5;
- *cGreenBits = 5;
- *cBlueBits = 5;
- *cAlphaBits = 0;
- return;
- case D3DX_SF_R5G6B5:
- *cColorBits = 16;
- *cRedBits = 5;
- *cGreenBits = 6;
- *cBlueBits = 5;
- *cAlphaBits = 0;
- return;
- case D3DX_SF_X8R8G8B8:
- *cColorBits = 32;
- *cRedBits = 8;
- *cGreenBits = 8;
- *cBlueBits = 8;
- *cAlphaBits = 0;
- return;
- case D3DX_SF_A8R8G8B8:
- *cColorBits = 32;
- *cRedBits = 8;
- *cGreenBits = 8;
- *cBlueBits = 8;
- *cAlphaBits = 8;
- return;
- }
-
- // Should not get here!
- *cColorBits = 32;
- *cRedBits = 8;
- *cGreenBits = 8;
- *cBlueBits = 8;
- *cAlphaBits = 0;
-}
-
-//---------------------------------------------------------------------------
-
-static void _BitsFromDepthStencilFormat(
- D3DX_SURFACEFORMAT fmt,
- BYTE *cDepthBits,
- BYTE *cStencilBits)
-{
- // NOTE: GL expects either 32 or 16 as depth bits.
- switch (fmt) {
- case D3DX_SF_Z16S0:
- *cDepthBits = 16;
- *cStencilBits = 0;
- return;
- case D3DX_SF_Z32S0:
- *cDepthBits = 32;
- *cStencilBits = 0;
- return;
- case D3DX_SF_Z15S1:
- *cDepthBits = 15;
- *cStencilBits = 1;
- return;
- case D3DX_SF_Z24S8:
- *cDepthBits = 24;
- *cStencilBits = 8;
- return;
- case D3DX_SF_S1Z15:
- *cDepthBits = 15;
- *cStencilBits = 1;
- return;
- case D3DX_SF_S8Z24:
- *cDepthBits = 24;
- *cStencilBits = 8;
- return;
- }
-}
-
-//---------------------------------------------------------------------------
-/*
-BOOL GLD_CheckDepthStencilMatch(
- DWORD dwDeviceIndex,
- D3DX_SURFACEFORMAT sfWant)
-{
- // Emulate function built in to DX9
- D3DX_SURFACEFORMAT sfFound;
- int i;
- int nFormats = D3DXGetMaxSurfaceFormats(dwDeviceIndex, NULL, D3DX_SC_DEPTHBUFFER);
- if (nFormats) {
- for (i=0; i<nFormats; i++) {
- D3DXGetSurfaceFormat(dwDeviceIndex, NULL, D3DX_SC_DEPTHBUFFER, i, &sfFound); }
- if (sfFound == sfWant)
- return TRUE;
- }
-
- return FALSE;
-}
-*/
-//---------------------------------------------------------------------------
-
-D3DX_SURFACEFORMAT _gldFindCompatibleDepthStencilFormat(
- DWORD dwDeviceIndex)
-{
- // Jump through some hoops...
-
- ID3DXContext *pD3DXContext = NULL;
- IDirectDrawSurface7 *pZBuffer = NULL;
- DDPIXELFORMAT ddpf;
- HWND hWnd;
-
- // Get an HWND - use Desktop's
- hWnd = GetDesktopWindow();
-
- // Create a fully specified default context.
- D3DXCreateContextEx(dwDeviceIndex, 0, hWnd, (HWND)D3DX_DEFAULT,
- D3DX_DEFAULT, D3DX_DEFAULT, D3DX_DEFAULT, D3DX_DEFAULT,
- D3DX_DEFAULT, D3DX_DEFAULT, D3DX_DEFAULT, D3DX_DEFAULT,
- &pD3DXContext);
-
- // Obtain depth buffer that was created in context
- pZBuffer = pD3DXContext->lpVtbl->GetZBuffer(pD3DXContext);
-
- // Get pixel format of depth buffer
- ddpf.dwSize = sizeof(ddpf);
- pZBuffer->lpVtbl->GetPixelFormat(pZBuffer, &ddpf);
- // Done with surface - release it
- pZBuffer->lpVtbl->Release(pZBuffer);
-
- // Done with D3DX context
- pD3DXContext->lpVtbl->Release(pD3DXContext);
-
- // Convert and return
- return D3DXMakeSurfaceFormat(&ddpf);
-}
-
-//---------------------------------------------------------------------------
-
-BOOL gldBuildPixelformatList_DX(void)
-{
- D3DX_DEVICEDESC d3dxdd;
- D3DX_VIDMODEDESC d3ddm;
- D3DX_SURFACEFORMAT fmt[64]; // 64 should be enough...
- DWORD dwDeviceIndex;
- DWORD surfClassFlags;
-// IDirect3D7 *pD3D = NULL;
- HRESULT hr;
- int nSupportedFormats = 0; // Total formats
- int nDepthOnlyFormats = 0;
- int nDepthStencilFormats = 0;
- int i;
- DGL_pixelFormat *pPF;
- BYTE cColorBits, cRedBits, cGreenBits, cBlueBits, cAlphaBits;
-// char buf[128];
-// char cat[8];
-
- // Direct3D (SW or HW)
- // These are arranged so that 'best' pixelformat
- // is higher in the list (for ChoosePixelFormat).
-/* const D3DFORMAT DepthStencil[4] = {
- D3DX_SF_Z16S0, //D3DX_SF_D16,
- D3DX_SF_Z15S1, //D3DX_SF_D15S1,
- D3DX_SF_Z32S0, //D3DX_SF_D32,
- D3DX_SF_Z24S8, //D3DX_SF_D24S8,
- //D3DX_SF_D24X8,
- //D3DX_SF_D24X4S4,
- };*/
-
- // Dump DX version
- ddlogMessage(GLDLOG_SYSTEM, "DirectX Version : 7.0\n");
-
- // Release any existing pixelformat list
- if (glb.lpPF) {
- free(glb.lpPF);
- }
-
- glb.nPixelFormatCount = 0;
- glb.lpPF = NULL;
-
- //
- // Pixelformats for Direct3D (SW or HW) rendering
- //
-
- dwDeviceIndex = (glb.dwDriver == GLDS_DRIVER_REF) ? D3DX_HWLEVEL_REFERENCE : D3DX_DEFAULT;
-
- // Dump description
- D3DXGetDeviceDescription(dwDeviceIndex, &d3dxdd);
- ddlogPrintf(GLDLOG_SYSTEM, "Device: %s", d3dxdd.driverDesc);
-
- // Get display mode
- D3DXGetCurrentVideoMode(D3DX_DEFAULT, &d3ddm);
-
-#if 0
- // Phooey - this don't work...
-/*
- // Since D3DXGetMaxSurfaceFormats() can lie to us, we'll need a workaround.
- // Explicitly test for matching depth/stencil to display bpp.
- if (d3ddm.bpp <= 16) {
- if (GLD_CheckDepthStencilMatch(dwDeviceIndex, D3DX_SF_Z16S0))
- fmt[nSupportedFormats++] = D3DX_SF_Z16S0;
- if (GLD_CheckDepthStencilMatch(dwDeviceIndex, D3DX_SF_Z15S1))
- fmt[nSupportedFormats++] = D3DX_SF_Z15S1;
- if (GLD_CheckDepthStencilMatch(dwDeviceIndex, D3DX_SF_S1Z15))
- fmt[nSupportedFormats++] = D3DX_SF_S1Z15;
- // Didn't find anything? Try default
- if (nSupportedFormats == 0) {
- if (GLD_CheckDepthStencilMatch(dwDeviceIndex, D3DX_SF_Z32S0))
- fmt[nSupportedFormats++] = D3DX_SF_Z32S0;
- }
- } else {
- if (GLD_CheckDepthStencilMatch(dwDeviceIndex, D3DX_SF_Z32S0))
- fmt[nSupportedFormats++] = D3DX_SF_Z32S0;
- if (GLD_CheckDepthStencilMatch(dwDeviceIndex, D3DX_SF_Z24S8))
- fmt[nSupportedFormats++] = D3DX_SF_Z24S8;
- if (GLD_CheckDepthStencilMatch(dwDeviceIndex, D3DX_SF_S8Z24))
- fmt[nSupportedFormats++] = D3DX_SF_S8Z24;
- // Didn't find anything? Try default
- if (nSupportedFormats == 0) {
- if (GLD_CheckDepthStencilMatch(dwDeviceIndex, D3DX_SF_Z16S0))
- fmt[nSupportedFormats++] = D3DX_SF_Z16S0;
- }
- }
-*/
- // Go the Whole Hog...
- fmt[nSupportedFormats++] = _gldFindCompatibleDepthStencilFormat(dwDeviceIndex);
-#else
- //
- // Depth buffer formats WITHOUT stencil
- //
- surfClassFlags = D3DX_SC_DEPTHBUFFER;
- nDepthOnlyFormats = D3DXGetMaxSurfaceFormats(dwDeviceIndex, NULL, surfClassFlags);
- //
- // Depth buffer formats WITH stencil
- //
- surfClassFlags = D3DX_SC_DEPTHBUFFER | D3DX_SC_STENCILBUFFER;
- nDepthStencilFormats = D3DXGetMaxSurfaceFormats(dwDeviceIndex, NULL, surfClassFlags);
-
- // Work out how many formats we have in total
- if ((nDepthOnlyFormats + nDepthStencilFormats) == 0)
- return FALSE; // Bail: no compliant pixelformats
-
- // Get depth buffer formats WITHOUT stencil
- surfClassFlags = D3DX_SC_DEPTHBUFFER;
- for (i=0; i<nDepthOnlyFormats; i++) {
- D3DXGetSurfaceFormat(dwDeviceIndex, NULL, surfClassFlags, i, &fmt[nSupportedFormats++]);
- }
- // NOTE: For some reason we already get stencil formats when only specifying D3DX_SC_DEPTHBUFFER
- /*
- // Get depth buffer formats WITH stencil
- surfClassFlags = D3DX_SC_DEPTHBUFFER | D3DX_SC_STENCILBUFFER;
- for (i=0; i<nDepthStencilFormats; i++) {
- D3DXGetSurfaceFormat(dwDeviceIndex, NULL, surfClassFlags, i, &fmt[nSupportedFormats++]);
- }
- */
-#endif
-
- // Total count of pixelformats is:
- // (nSupportedFormats+1)*2
- glb.lpPF = (DGL_pixelFormat *)calloc((nSupportedFormats)*2, sizeof(DGL_pixelFormat));
- glb.nPixelFormatCount = (nSupportedFormats)*2;
- if (glb.lpPF == NULL) {
- glb.nPixelFormatCount = 0;
- return FALSE;
- }
-
- // Get a copy of pointer that we can alter
- pPF = glb.lpPF;
-
- // Cache colour bits from display format
-// _BitsFromDisplayFormat(d3ddm.Format, &cColorBits, &cRedBits, &cGreenBits, &cBlueBits, &cAlphaBits);
- // Get display mode
- D3DXGetCurrentVideoMode(D3DX_DEFAULT, &d3ddm);
- cColorBits = d3ddm.bpp;
- cAlphaBits = 0;
- switch (d3ddm.bpp) {
- case 15:
- cRedBits = 5; cGreenBits = 5; cBlueBits = 5;
- break;
- case 16:
- cRedBits = 5; cGreenBits = 6; cBlueBits = 5;
- break;
- case 24:
- case 32:
- cRedBits = 8; cGreenBits = 8; cBlueBits = 8;
- break;
- default:
- cRedBits = 5; cGreenBits = 5; cBlueBits = 5;
- }
-
- //
- // Add single-buffer formats
- //
-
-/* // Single-buffer, no depth-stencil buffer
- memcpy(pPF, &pfTemplateHW, sizeof(DGL_pixelFormat));
- pPF->pfd.dwFlags &= ~PFD_DOUBLEBUFFER; // Remove doublebuffer flag
- pPF->pfd.cColorBits = cColorBits;
- pPF->pfd.cRedBits = cRedBits;
- pPF->pfd.cGreenBits = cGreenBits;
- pPF->pfd.cBlueBits = cBlueBits;
- pPF->pfd.cAlphaBits = cAlphaBits;
- pPF->pfd.cDepthBits = 0;
- pPF->pfd.cStencilBits = 0;
- pPF->dwDriverData = D3DX_SF_UNKNOWN;
- pPF++;*/
-
- for (i=0; i<nSupportedFormats; i++, pPF++) {
- memcpy(pPF, &pfTemplateHW, sizeof(DGL_pixelFormat));
- pPF->pfd.dwFlags &= ~PFD_DOUBLEBUFFER; // Remove doublebuffer flag
- pPF->pfd.cColorBits = cColorBits;
- pPF->pfd.cRedBits = cRedBits;
- pPF->pfd.cGreenBits = cGreenBits;
- pPF->pfd.cBlueBits = cBlueBits;
- pPF->pfd.cAlphaBits = cAlphaBits;
- _BitsFromDepthStencilFormat(fmt[i], &pPF->pfd.cDepthBits, &pPF->pfd.cStencilBits);
- pPF->dwDriverData = fmt[i];
- }
-
- //
- // Add double-buffer formats
- //
-
-/* memcpy(pPF, &pfTemplateHW, sizeof(DGL_pixelFormat));
- pPF->pfd.cColorBits = cColorBits;
- pPF->pfd.cRedBits = cRedBits;
- pPF->pfd.cGreenBits = cGreenBits;
- pPF->pfd.cBlueBits = cBlueBits;
- pPF->pfd.cAlphaBits = cAlphaBits;
- pPF->pfd.cDepthBits = 0;
- pPF->pfd.cStencilBits = 0;
- pPF->dwDriverData = D3DX_SF_UNKNOWN;
- pPF++;*/
-
- for (i=0; i<nSupportedFormats; i++, pPF++) {
- memcpy(pPF, &pfTemplateHW, sizeof(DGL_pixelFormat));
- pPF->pfd.cColorBits = cColorBits;
- pPF->pfd.cRedBits = cRedBits;
- pPF->pfd.cGreenBits = cGreenBits;
- pPF->pfd.cBlueBits = cBlueBits;
- pPF->pfd.cAlphaBits = cAlphaBits;
- _BitsFromDepthStencilFormat(fmt[i], &pPF->pfd.cDepthBits, &pPF->pfd.cStencilBits);
- pPF->dwDriverData = fmt[i];
- }
-
- // Popup warning message if non RGB color mode
- {
- // This is a hack. KeithH
- HDC hdcDesktop = GetDC(NULL);
- DWORD dwDisplayBitDepth = GetDeviceCaps(hdcDesktop, BITSPIXEL);
- ReleaseDC(0, hdcDesktop);
- if (dwDisplayBitDepth <= 8) {
- ddlogPrintf(DDLOG_WARN, "Current Color Depth %d bpp is not supported", dwDisplayBitDepth);
- MessageBox(NULL, szColorDepthWarning, "GLDirect", MB_OK | MB_ICONWARNING);
- }
- }
-
- // Mark list as 'current'
- glb.bPixelformatsDirty = FALSE;
-
- return TRUE;
-}
-
-//---------------------------------------------------------------------------
-
-BOOL gldInitialiseMesa_DX(
- DGL_ctx *lpCtx)
-{
- GLD_driver_dx7 *gld = NULL;
- int MaxTextureSize, TextureLevels;
- BOOL bSoftwareTnL;
-
- if (lpCtx == NULL)
- return FALSE;
-
- gld = lpCtx->glPriv;
- if (gld == NULL)
- return FALSE;
-
- if (glb.bMultitexture) {
- lpCtx->glCtx->Const.MaxTextureUnits = gld->d3dCaps.wMaxSimultaneousTextures;
- // Only support MAX_TEXTURE_UNITS texture units.
- // ** If this is altered then the FVF formats must be reviewed **.
- if (lpCtx->glCtx->Const.MaxTextureUnits > GLD_MAX_TEXTURE_UNITS_DX7)
- lpCtx->glCtx->Const.MaxTextureUnits = GLD_MAX_TEXTURE_UNITS_DX7;
- } else {
- // Multitexture override
- lpCtx->glCtx->Const.MaxTextureUnits = 1;
- }
-
- lpCtx->glCtx->Const.MaxDrawBuffers = 1;
-
- // max texture size
-// MaxTextureSize = min(gld->d3dCaps8.MaxTextureHeight, gld->d3dCaps8.MaxTextureWidth);
- MaxTextureSize = min(gld->d3dCaps.dwMaxTextureHeight, gld->d3dCaps.dwMaxTextureWidth);
- if (MaxTextureSize == 0)
- MaxTextureSize = 256; // Sanity check
-
- //
- // HACK!!
- if (MaxTextureSize > 1024)
- MaxTextureSize = 1024; // HACK - CLAMP TO 1024
- // HACK!!
- //
-
- // TODO: Check this again for Mesa 5
- // Got to set MAX_TEXTURE_SIZE as max levels.
- // Who thought this stupid idea up? ;)
- TextureLevels = 0;
- // Calculate power-of-two.
- while (MaxTextureSize) {
- TextureLevels++;
- MaxTextureSize >>= 1;
- }
- lpCtx->glCtx->Const.MaxTextureLevels = (TextureLevels) ? TextureLevels : 8;
-
- // Defaults
- IDirect3DDevice7_SetRenderState(gld->pDev, D3DRENDERSTATE_LIGHTING, FALSE);
- IDirect3DDevice7_SetRenderState(gld->pDev, D3DRENDERSTATE_CULLMODE, D3DCULL_NONE);
- IDirect3DDevice7_SetRenderState(gld->pDev, D3DRENDERSTATE_DITHERENABLE, TRUE);
- IDirect3DDevice7_SetRenderState(gld->pDev, D3DRENDERSTATE_SHADEMODE, D3DSHADE_GOURAUD);
-
- // Set texture coord set to be used with each stage
- IDirect3DDevice7_SetTextureStageState(gld->pDev, 0, D3DTSS_TEXCOORDINDEX, 0);
- IDirect3DDevice7_SetTextureStageState(gld->pDev, 1, D3DTSS_TEXCOORDINDEX, 1);
-
- // Set up Depth buffer
- IDirect3DDevice7_SetRenderState(gld->pDev, D3DRENDERSTATE_ZENABLE,
- (lpCtx->lpPF->dwDriverData!=D3DX_SF_UNKNOWN) ? D3DZB_TRUE : D3DZB_FALSE);
-
- // Set the view matrix
- {
- D3DXMATRIX vm;
-#if 1
- D3DXMatrixIdentity(&vm);
-#else
- D3DXVECTOR3 Eye(0.0f, 0.0f, 0.0f);
- D3DXVECTOR3 At(0.0f, 0.0f, -1.0f);
- D3DXVECTOR3 Up(0.0f, 1.0f, 0.0f);
- D3DXMatrixLookAtRH(&vm, &Eye, &At, &Up);
- vm._31 = -vm._31;
- vm._32 = -vm._32;
- vm._33 = -vm._33;
- vm._34 = -vm._34;
-#endif
- IDirect3DDevice7_SetTransform(gld->pDev, D3DTRANSFORMSTATE_VIEW, &vm);
- }
-
-// DX7 does not support D3DRS_SOFTWAREVERTEXPROCESSING
-/*
- if (gld->bHasHWTnL) {
- if (glb.dwTnL == GLDS_TNL_DEFAULT)
- bSoftwareTnL = FALSE; // HW TnL
- else {
- bSoftwareTnL = ((glb.dwTnL == GLDS_TNL_MESA) || (glb.dwTnL == GLDS_TNL_D3DSW)) ? TRUE : FALSE;
- }
- } else {
- // No HW TnL, so no choice possible
- bSoftwareTnL = TRUE;
- }
- IDirect3DDevice8_SetRenderState(gld->pDev, D3DRS_SOFTWAREVERTEXPROCESSING, bSoftwareTnL);
-*/
-
-// Dump this in a Release build as well, now.
-//#ifdef _DEBUG
- ddlogPrintf(DDLOG_INFO, "HW TnL: %s",
-// gld->bHasHWTnL ? (bSoftwareTnL ? "Disabled" : "Enabled") : "Unavailable");
- gld->bHasHWTnL ? "Enabled" : "Unavailable");
-//#endif
-
- // Set up interfaces to Mesa
- gldEnableExtensions_DX7(lpCtx->glCtx);
- gldInstallPipeline_DX7(lpCtx->glCtx);
- gldSetupDriverPointers_DX7(lpCtx->glCtx);
-
- // Signal a complete state update
- lpCtx->glCtx->Driver.UpdateState(lpCtx->glCtx, _NEW_ALL);
-
- // Start a scene
- IDirect3DDevice7_BeginScene(gld->pDev);
- lpCtx->bSceneStarted = TRUE;
-
- return TRUE;
-}
-
-//---------------------------------------------------------------------------
-
-BOOL gldSwapBuffers_DX(
- DGL_ctx *ctx,
- HDC hDC,
- HWND hWnd)
-{
- HRESULT hr;
- GLD_driver_dx7 *gld = NULL;
- DWORD dwFlags;
-
- if (ctx == NULL)
- return FALSE;
-
- gld = ctx->glPriv;
- if (gld == NULL)
- return FALSE;
-
-
- // End the scene if one is started
- if (ctx->bSceneStarted) {
- IDirect3DDevice7_EndScene(gld->pDev);
- ctx->bSceneStarted = FALSE;
- }
-
- // Needed by D3DX for MDI multi-window apps (DaveM)
- if (lpDDClipper)
- IDirectDrawClipper_SetHWnd(lpDDClipper, 0, hWnd);
-
- // Swap the buffers. hWnd may override the hWnd used for CreateDevice()
-// hr = IDirect3DDevice8_Present(gld->pDev, NULL, NULL, hWnd, NULL);
-
- // Set refresh sync flag
- dwFlags = glb.bWaitForRetrace ? 0 : D3DX_UPDATE_NOVSYNC;
- // Render and show frame
- hr = gld->pD3DXContext->lpVtbl->UpdateFrame(gld->pD3DXContext, dwFlags);
- if (FAILED(hr))
- ddlogError(DDLOG_WARN, "gldSwapBuffers_DX: UpdateFrame", hr);
-
- if (hr == DDERR_SURFACELOST) {
- hr = gld->pD3DXContext->lpVtbl->RestoreSurfaces(gld->pD3DXContext);
- if (FAILED(hr))
- ddlogError(DDLOG_WARN, "gldSwapBuffers_DX: RestoreSurfaces", hr);
- }
-
-exit_swap:
- // Begin a new scene
- IDirect3DDevice7_BeginScene(gld->pDev);
- ctx->bSceneStarted = TRUE;
-
- return (FAILED(hr)) ? FALSE : TRUE;
-}
-
-//---------------------------------------------------------------------------
-
-BOOL gldGetDisplayMode_DX(
- DGL_ctx *ctx,
- GLD_displayMode *glddm)
-{
-// D3DDISPLAYMODE d3ddm;
- D3DX_VIDMODEDESC d3ddm;
- HRESULT hr;
- GLD_driver_dx7 *lpCtx = NULL;
- BYTE cColorBits, cRedBits, cGreenBits, cBlueBits, cAlphaBits;
-
- if ((glddm == NULL) || (ctx == NULL))
- return FALSE;
-
- lpCtx = ctx->glPriv;
- if (lpCtx == NULL)
- return FALSE;
-
- if (lpCtx->pD3D == NULL)
- return FALSE;
-
-// hr = IDirect3D8_GetAdapterDisplayMode(lpCtx->pD3D, glb.dwAdapter, &d3ddm);
- hr = D3DXGetCurrentVideoMode(D3DX_DEFAULT, &d3ddm);
- if (FAILED(hr))
- return FALSE;
-
- // Get info from the display format
-// _BitsFromDisplayFormat(d3ddm.Format,
-// &cColorBits, &cRedBits, &cGreenBits, &cBlueBits, &cAlphaBits);
-
- glddm->Width = d3ddm.width;
- glddm->Height = d3ddm.height;
- glddm->BPP = d3ddm.bpp;
- glddm->Refresh = d3ddm.refreshRate;
-
- return TRUE;
-}
-
-//---------------------------------------------------------------------------
-
diff --git a/src/mesa/drivers/windows/gldirect/dx8/gld_driver_dx8.c b/src/mesa/drivers/windows/gldirect/dx8/gld_driver_dx8.c
deleted file mode 100644
index 7afa9190cd..0000000000
--- a/src/mesa/drivers/windows/gldirect/dx8/gld_driver_dx8.c
+++ /dev/null
@@ -1,1176 +0,0 @@
-/****************************************************************************
-*
-* Mesa 3-D graphics library
-* Direct3D Driver Interface
-*
-* ========================================================================
-*
-* Copyright (C) 1991-2004 SciTech Software, Inc. 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
-* SCITECH SOFTWARE INC 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.
-*
-* ======================================================================
-*
-* Language: ANSI C
-* Environment: Windows 9x/2000/XP/XBox (Win32)
-*
-* Description: Driver interface code to Mesa
-*
-****************************************************************************/
-
-//#include <windows.h>
-#include "dglcontext.h"
-#include "ddlog.h"
-#include "gld_dx8.h"
-
-#include "glheader.h"
-#include "context.h"
-#include "colormac.h"
-#include "depth.h"
-#include "extensions.h"
-#include "macros.h"
-#include "matrix.h"
-// #include "mem.h"
-//#include "mmath.h"
-#include "mtypes.h"
-#include "texformat.h"
-#include "teximage.h"
-#include "texstore.h"
-#include "vbo/vbo.h"
-#include "swrast_setup/swrast_setup.h"
-#include "swrast_setup/ss_context.h"
-#include "tnl/tnl.h"
-#include "tnl/t_context.h"
-#include "tnl/t_pipeline.h"
-
-extern BOOL dglSwapBuffers(HDC hDC);
-
-// HACK: Hack the _33 member of the OpenGL perspective projection matrix
-const float _fPersp_33 = 1.6f;
-
-//---------------------------------------------------------------------------
-// Internal functions
-//---------------------------------------------------------------------------
-
-void _gld_mesa_warning(
- __GLcontext *gc,
- char *str)
-{
- // Intercept Mesa's internal warning mechanism
- gldLogPrintf(GLDLOG_WARN, "Mesa warning: %s", str);
-}
-
-//---------------------------------------------------------------------------
-
-void _gld_mesa_fatal(
- __GLcontext *gc,
- char *str)
-{
- // Intercept Mesa's internal fatal-message mechanism
- gldLogPrintf(GLDLOG_CRITICAL, "Mesa FATAL: %s", str);
-
- // Mesa calls abort(0) here.
- ddlogClose();
- exit(0);
-}
-
-//---------------------------------------------------------------------------
-
-D3DSTENCILOP _gldConvertStencilOp(
- GLenum StencilOp)
-{
- // Used by Stencil: pass, fail and zfail
-
- switch (StencilOp) {
- case GL_KEEP:
- return D3DSTENCILOP_KEEP;
- case GL_ZERO:
- return D3DSTENCILOP_ZERO;
- case GL_REPLACE:
- return D3DSTENCILOP_REPLACE;
- case GL_INCR:
- return D3DSTENCILOP_INCRSAT;
- case GL_DECR:
- return D3DSTENCILOP_DECRSAT;
- case GL_INVERT:
- return D3DSTENCILOP_INVERT;
- case GL_INCR_WRAP_EXT: // GL_EXT_stencil_wrap
- return D3DSTENCILOP_INCR;
- case GL_DECR_WRAP_EXT: // GL_EXT_stencil_wrap
- return D3DSTENCILOP_DECR;
- }
-
-#ifdef _DEBUG
- gldLogMessage(GLDLOG_ERROR, "_gldConvertStencilOp: Unknown StencilOp\n");
-#endif
-
- return D3DSTENCILOP_KEEP;
-}
-
-//---------------------------------------------------------------------------
-
-D3DCMPFUNC _gldConvertCompareFunc(
- GLenum CmpFunc)
-{
- // Used for Alpha func, depth func and stencil func.
-
- switch (CmpFunc) {
- case GL_NEVER:
- return D3DCMP_NEVER;
- case GL_LESS:
- return D3DCMP_LESS;
- case GL_EQUAL:
- return D3DCMP_EQUAL;
- case GL_LEQUAL:
- return D3DCMP_LESSEQUAL;
- case GL_GREATER:
- return D3DCMP_GREATER;
- case GL_NOTEQUAL:
- return D3DCMP_NOTEQUAL;
- case GL_GEQUAL:
- return D3DCMP_GREATEREQUAL;
- case GL_ALWAYS:
- return D3DCMP_ALWAYS;
- };
-
-#ifdef _DEBUG
- gldLogMessage(GLDLOG_ERROR, "_gldConvertCompareFunc: Unknown CompareFunc\n");
-#endif
-
- return D3DCMP_ALWAYS;
-}
-
-//---------------------------------------------------------------------------
-
-D3DBLEND _gldConvertBlendFunc(
- GLenum blend,
- GLenum DefaultBlend)
-{
- switch (blend) {
- case GL_ZERO:
- return D3DBLEND_ZERO;
- case GL_ONE:
- return D3DBLEND_ONE;
- case GL_DST_COLOR:
- return D3DBLEND_DESTCOLOR;
- case GL_SRC_COLOR:
- return D3DBLEND_SRCCOLOR;
- case GL_ONE_MINUS_DST_COLOR:
- return D3DBLEND_INVDESTCOLOR;
- case GL_ONE_MINUS_SRC_COLOR:
- return D3DBLEND_INVSRCCOLOR;
- case GL_SRC_ALPHA:
- return D3DBLEND_SRCALPHA;
- case GL_ONE_MINUS_SRC_ALPHA:
- return D3DBLEND_INVSRCALPHA;
- case GL_DST_ALPHA:
- return D3DBLEND_DESTALPHA;
- case GL_ONE_MINUS_DST_ALPHA:
- return D3DBLEND_INVDESTALPHA;
- case GL_SRC_ALPHA_SATURATE:
- return D3DBLEND_SRCALPHASAT;
- }
-
-#ifdef _DEBUG
- gldLogMessage(GLDLOG_ERROR, "_gldConvertBlendFunc: Unknown BlendFunc\n");
-#endif
-
- return DefaultBlend;
-}
-
-//---------------------------------------------------------------------------
-// Misc. functions
-//---------------------------------------------------------------------------
-
-void gld_Noop_DX8(
- GLcontext *ctx)
-{
-#ifdef _DEBUG
- gldLogMessage(GLDLOG_ERROR, "gld_Noop called!\n");
-#endif
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Error_DX8(
- GLcontext *ctx)
-{
-#ifdef _DEBUG
- // Quite useless.
-// gldLogMessage(GLDLOG_ERROR, "ctx->Driver.Error called!\n");
-#endif
-}
-
-//---------------------------------------------------------------------------
-// Required Mesa functions
-//---------------------------------------------------------------------------
-
-static GLboolean gld_set_draw_buffer_DX8(
- GLcontext *ctx,
- GLenum mode)
-{
- (void) ctx;
- if ((mode==GL_FRONT_LEFT) || (mode == GL_BACK_LEFT)) {
- return GL_TRUE;
- }
- else {
- return GL_FALSE;
- }
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_set_read_buffer_DX8(
- GLcontext *ctx,
- GLframebuffer *buffer,
- GLenum mode)
-{
- /* separate read buffer not supported */
-/*
- ASSERT(buffer == ctx->DrawBuffer);
- ASSERT(mode == GL_FRONT_LEFT);
-*/
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Clear_DX8(
- GLcontext *ctx,
- GLbitfield mask,
- GLboolean all,
- GLint x,
- GLint y,
- GLint width,
- GLint height)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx8 *gld = GLD_GET_DX8_DRIVER(gldCtx);
-
- DWORD dwFlags = 0;
- D3DCOLOR Color = 0;
- float Z = 0.0f;
- DWORD Stencil = 0;
- D3DRECT d3dClearRect;
-
- // TODO: Colourmask
- const GLuint *colorMask = (GLuint *) &ctx->Color.ColorMask;
-
- if (!gld->pDev)
- return;
-
- if (mask & (DD_FRONT_LEFT_BIT | DD_BACK_LEFT_BIT)) {
- GLubyte col[4];
- CLAMPED_FLOAT_TO_UBYTE(col[0], ctx->Color.ClearColor[0]);
- CLAMPED_FLOAT_TO_UBYTE(col[1], ctx->Color.ClearColor[1]);
- CLAMPED_FLOAT_TO_UBYTE(col[2], ctx->Color.ClearColor[2]);
- CLAMPED_FLOAT_TO_UBYTE(col[3], ctx->Color.ClearColor[3]);
- dwFlags |= D3DCLEAR_TARGET;
- Color = D3DCOLOR_RGBA(col[0], col[1], col[2], col[3]);
-// ctx->Color.ClearColor[1],
-// ctx->Color.ClearColor[2],
-// ctx->Color.ClearColor[3]);
- }
-
- if (mask & DD_DEPTH_BIT) {
- // D3D8 will fail the Clear call if we try and clear a
- // depth buffer and we haven't created one.
- // Also, some apps try and clear a depth buffer,
- // when a depth buffer hasn't been requested by the app.
- if (ctx->Visual.depthBits == 0) {
- mask &= ~DD_DEPTH_BIT; // Remove depth bit from mask
- } else {
- dwFlags |= D3DCLEAR_ZBUFFER;
- Z = ctx->Depth.Clear;
- }
- }
-
- if (mask & DD_STENCIL_BIT) {
- if (ctx->Visual.stencilBits == 0) {
- // No stencil bits in depth buffer
- mask &= ~DD_STENCIL_BIT; // Remove stencil bit from mask
- } else {
- dwFlags |= D3DCLEAR_STENCIL;
- Stencil = ctx->Stencil.Clear;
- }
- }
-
- // Some apps do really weird things with the rect, such as Quake3.
- if ((x < 0) || (y < 0) || (width <= 0) || (height <= 0)) {
- all = GL_TRUE;
- }
-
- if (!all) {
- // Calculate clear subrect
- d3dClearRect.x1 = x;
- d3dClearRect.y1 = gldCtx->dwHeight - (y + height);
- d3dClearRect.x2 = x + width;
- d3dClearRect.y2 = d3dClearRect.y1 + height;
- }
-
- // dwFlags will be zero if there's nothing to clear
- if (dwFlags) {
- _GLD_DX8_DEV(Clear(
- gld->pDev,
- all ? 0 : 1,
- all ? NULL : &d3dClearRect,
- dwFlags,
- Color, Z, Stencil));
- }
-
- if (mask & DD_ACCUM_BIT) {
- // Clear accumulation buffer
- }
-}
-
-//---------------------------------------------------------------------------
-
-// Mesa 5: Parameter change
-static void gld_buffer_size_DX8(
-// GLcontext *ctx,
- GLframebuffer *fb,
- GLuint *width,
- GLuint *height)
-{
-// GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
-
- *width = fb->Width; // gldCtx->dwWidth;
- *height = fb->Height; // gldCtx->dwHeight;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_Finish_DX8(
- GLcontext *ctx)
-{
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_Flush_DX8(
- GLcontext *ctx)
-{
- GLD_context *gld = GLD_GET_CONTEXT(ctx);
-
- // TODO: Detect apps that glFlush() then SwapBuffers() ?
-
- if (gld->EmulateSingle) {
- // Emulating a single-buffered context.
- // [Direct3D doesn't allow rendering to front buffer]
- dglSwapBuffers(gld->hDC);
- }
-}
-
-//---------------------------------------------------------------------------
-
-void gld_NEW_STENCIL(
- GLcontext *ctx)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx8 *gld = GLD_GET_DX8_DRIVER(gldCtx);
-
- // Two-sided stencil. New for Mesa 5
- const GLuint uiFace = 0UL;
-
- struct gl_stencil_attrib *pStencil = &ctx->Stencil;
-
- _GLD_DX8_DEV(SetRenderState(gld->pDev, D3DRS_STENCILENABLE, pStencil->Enabled ? TRUE : FALSE));
- if (pStencil->Enabled) {
- _GLD_DX8_DEV(SetRenderState(gld->pDev, D3DRS_STENCILFUNC, _gldConvertCompareFunc(pStencil->Function[uiFace])));
- _GLD_DX8_DEV(SetRenderState(gld->pDev, D3DRS_STENCILREF, pStencil->Ref[uiFace]));
- _GLD_DX8_DEV(SetRenderState(gld->pDev, D3DRS_STENCILMASK, pStencil->ValueMask[uiFace]));
- _GLD_DX8_DEV(SetRenderState(gld->pDev, D3DRS_STENCILWRITEMASK, pStencil->WriteMask[uiFace]));
- _GLD_DX8_DEV(SetRenderState(gld->pDev, D3DRS_STENCILFAIL, _gldConvertStencilOp(pStencil->FailFunc[uiFace])));
- _GLD_DX8_DEV(SetRenderState(gld->pDev, D3DRS_STENCILZFAIL, _gldConvertStencilOp(pStencil->ZFailFunc[uiFace])));
- _GLD_DX8_DEV(SetRenderState(gld->pDev, D3DRS_STENCILPASS, _gldConvertStencilOp(pStencil->ZPassFunc[uiFace])));
- }
-}
-
-//---------------------------------------------------------------------------
-
-void gld_NEW_COLOR(
- GLcontext *ctx)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx8 *gld = GLD_GET_DX8_DRIVER(gldCtx);
-
- DWORD dwFlags = 0;
- D3DBLEND src;
- D3DBLEND dest;
-
- // Alpha func
- _GLD_DX8_DEV(SetRenderState(gld->pDev, D3DRS_ALPHAFUNC, _gldConvertCompareFunc(ctx->Color.AlphaFunc)));
- _GLD_DX8_DEV(SetRenderState(gld->pDev, D3DRS_ALPHAREF, (DWORD)ctx->Color.AlphaRef));
- _GLD_DX8_DEV(SetRenderState(gld->pDev, D3DRS_ALPHATESTENABLE, ctx->Color.AlphaEnabled));
-
- // Blend func
- _GLD_DX8_DEV(SetRenderState(gld->pDev, D3DRS_ALPHABLENDENABLE, ctx->Color.BlendEnabled));
- src = _gldConvertBlendFunc(ctx->Color.BlendSrcRGB, GL_ONE);
- dest = _gldConvertBlendFunc(ctx->Color.BlendDstRGB, GL_ZERO);
- _GLD_DX8_DEV(SetRenderState(gld->pDev, D3DRS_SRCBLEND, src));
- _GLD_DX8_DEV(SetRenderState(gld->pDev, D3DRS_DESTBLEND, dest));
-
- // Color mask
- if (ctx->Color.ColorMask[0]) dwFlags |= D3DCOLORWRITEENABLE_RED;
- if (ctx->Color.ColorMask[1]) dwFlags |= D3DCOLORWRITEENABLE_GREEN;
- if (ctx->Color.ColorMask[2]) dwFlags |= D3DCOLORWRITEENABLE_BLUE;
- if (ctx->Color.ColorMask[3]) dwFlags |= D3DCOLORWRITEENABLE_ALPHA;
- _GLD_DX8_DEV(SetRenderState(gld->pDev, D3DRS_COLORWRITEENABLE, dwFlags));
-}
-
-//---------------------------------------------------------------------------
-
-void gld_NEW_DEPTH(
- GLcontext *ctx)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx8 *gld = GLD_GET_DX8_DRIVER(gldCtx);
-
- _GLD_DX8_DEV(SetRenderState(gld->pDev, D3DRS_ZENABLE, ctx->Depth.Test ? D3DZB_TRUE : D3DZB_FALSE));
- _GLD_DX8_DEV(SetRenderState(gld->pDev, D3DRS_ZFUNC, _gldConvertCompareFunc(ctx->Depth.Func)));
- _GLD_DX8_DEV(SetRenderState(gld->pDev, D3DRS_ZWRITEENABLE, ctx->Depth.Mask ? TRUE : FALSE));
-}
-
-//---------------------------------------------------------------------------
-
-void gld_NEW_POLYGON(
- GLcontext *ctx)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx8 *gld = GLD_GET_DX8_DRIVER(gldCtx);
-
- D3DFILLMODE d3dFillMode = D3DFILL_SOLID;
- D3DCULL d3dCullMode = D3DCULL_NONE;
- int iOffset = 0;
-
- // Fillmode
- switch (ctx->Polygon.FrontMode) {
- case GL_POINT:
- d3dFillMode = D3DFILL_POINT;
- break;
- case GL_LINE:
- d3dFillMode = D3DFILL_WIREFRAME;
- break;
- case GL_FILL:
- d3dFillMode = D3DFILL_SOLID;
- break;
- }
- _GLD_DX8_DEV(SetRenderState(gld->pDev, D3DRS_FILLMODE, d3dFillMode));
-
- if (ctx->Polygon.CullFlag) {
- switch (ctx->Polygon.CullFaceMode) {
- case GL_BACK:
- if (ctx->Polygon.FrontFace == GL_CCW)
- d3dCullMode = D3DCULL_CW;
- else
- d3dCullMode = D3DCULL_CCW;
- break;
- case GL_FRONT:
- if (ctx->Polygon.FrontFace == GL_CCW)
- d3dCullMode = D3DCULL_CCW;
- else
- d3dCullMode = D3DCULL_CW;
- break;
- case GL_FRONT_AND_BACK:
- d3dCullMode = D3DCULL_NONE;
- break;
- default:
- break;
- }
- } else {
- d3dCullMode = D3DCULL_NONE;
- }
-// d3dCullMode = D3DCULL_NONE; // TODO: DEBUGGING
- _GLD_DX8_DEV(SetRenderState(gld->pDev, D3DRS_CULLMODE, d3dCullMode));
-
- // Polygon offset
- // ZBIAS ranges from 0 to 16 and can only move towards the viewer
- // Mesa5: ctx->Polygon._OffsetAny removed
- if (ctx->Polygon.OffsetFill) {
- iOffset = (int)ctx->Polygon.OffsetUnits;
- if (iOffset < 0)
- iOffset = -iOffset;
- else
- iOffset = 0; // D3D can't push away
- }
- _GLD_DX8_DEV(SetRenderState(gld->pDev, D3DRS_ZBIAS, iOffset));
-}
-
-//---------------------------------------------------------------------------
-
-void gld_NEW_FOG(
- GLcontext *ctx)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx8 *gld = GLD_GET_DX8_DRIVER(gldCtx);
-
- D3DCOLOR d3dFogColour;
- D3DFOGMODE d3dFogMode = D3DFOG_LINEAR;
-
- // TODO: Fog is calculated seperately in the Mesa pipeline
- _GLD_DX8_DEV(SetRenderState(gld->pDev, D3DRS_FOGENABLE, FALSE));
- return;
-
- // Fog enable
- _GLD_DX8_DEV(SetRenderState(gld->pDev, D3DRS_FOGENABLE, ctx->Fog.Enabled));
- if (!ctx->Fog.Enabled) {
- _GLD_DX8_DEV(SetRenderState(gld->pDev, D3DRS_FOGTABLEMODE, D3DFOG_NONE));
- _GLD_DX8_DEV(SetRenderState(gld->pDev, D3DRS_FOGVERTEXMODE, D3DFOG_NONE));
- return; // If disabled, don't bother setting any fog state
- }
-
- // Fog colour
- d3dFogColour = D3DCOLOR_COLORVALUE( ctx->Fog.Color[0],
- ctx->Fog.Color[1],
- ctx->Fog.Color[2],
- ctx->Fog.Color[3]);
- _GLD_DX8_DEV(SetRenderState(gld->pDev, D3DRS_FOGCOLOR, d3dFogColour));
-
- // Fog density
- _GLD_DX8_DEV(SetRenderState(gld->pDev, D3DRS_FOGDENSITY, *((DWORD*) (&ctx->Fog.Density))));
-
- // Fog start
- _GLD_DX8_DEV(SetRenderState(gld->pDev, D3DRS_FOGSTART, *((DWORD*) (&ctx->Fog.Start))));
-
- // Fog end
- _GLD_DX8_DEV(SetRenderState(gld->pDev, D3DRS_FOGEND, *((DWORD*) (&ctx->Fog.End))));
-
- // Fog mode
- switch (ctx->Fog.Mode) {
- case GL_LINEAR:
- d3dFogMode = D3DFOG_LINEAR;
- break;
- case GL_EXP:
- d3dFogMode = D3DFOG_EXP;
- break;
- case GL_EXP2:
- d3dFogMode = D3DFOG_EXP2;
- break;
- }
- _GLD_DX8_DEV(SetRenderState(gld->pDev, D3DRS_FOGTABLEMODE, d3dFogMode));
- _GLD_DX8_DEV(SetRenderState(gld->pDev, D3DRS_FOGVERTEXMODE, D3DFOG_NONE));
-}
-
-//---------------------------------------------------------------------------
-
-void gld_NEW_LIGHT(
- GLcontext *ctx)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx8 *gld = GLD_GET_DX8_DRIVER(gldCtx);
- DWORD dwSpecularEnable;
-
- // Shademode
- _GLD_DX8_DEV(SetRenderState(gld->pDev, D3DRS_SHADEMODE, (ctx->Light.ShadeModel == GL_SMOOTH) ? D3DSHADE_GOURAUD : D3DSHADE_FLAT));
-
- // Separate specular colour
- if (ctx->Light.Enabled)
- dwSpecularEnable = (ctx->_TriangleCaps & DD_SEPARATE_SPECULAR) ? TRUE: FALSE;
- else
- dwSpecularEnable = FALSE;
- _GLD_DX8_DEV(SetRenderState(gld->pDev, D3DRS_SPECULARENABLE, dwSpecularEnable));
-}
-
-//---------------------------------------------------------------------------
-
-void gld_NEW_MODELVIEW(
- GLcontext *ctx)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx8 *gld = GLD_GET_DX8_DRIVER(gldCtx);
-
- D3DMATRIX m;
- //GLfloat *pM = ctx->ModelView.m;
- // Mesa5: Model-view is now a stack
- GLfloat *pM = ctx->ModelviewMatrixStack.Top->m;
- m._11 = pM[0];
- m._12 = pM[1];
- m._13 = pM[2];
- m._14 = pM[3];
- m._21 = pM[4];
- m._22 = pM[5];
- m._23 = pM[6];
- m._24 = pM[7];
- m._31 = pM[8];
- m._32 = pM[9];
- m._33 = pM[10];
- m._34 = pM[11];
- m._41 = pM[12];
- m._42 = pM[13];
- m._43 = pM[14];
- m._44 = pM[15];
-
- gld->matModelView = m;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_NEW_PROJECTION(
- GLcontext *ctx)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx8 *gld = GLD_GET_DX8_DRIVER(gldCtx);
-
- D3DMATRIX m;
- //GLfloat *pM = ctx->ProjectionMatrix.m;
- // Mesa 5: Now a stack
- GLfloat *pM = ctx->ProjectionMatrixStack.Top->m;
- m._11 = pM[0];
- m._12 = pM[1];
- m._13 = pM[2];
- m._14 = pM[3];
-
- m._21 = pM[4];
- m._22 = pM[5];
- m._23 = pM[6];
- m._24 = pM[7];
-
- m._31 = pM[8];
- m._32 = pM[9];
- m._33 = pM[10] / _fPersp_33; // / 1.6f;
- m._34 = pM[11];
-
- m._41 = pM[12];
- m._42 = pM[13];
- m._43 = pM[14] / 2.0f;
- m._44 = pM[15];
-
- gld->matProjection = m;
-}
-
-//---------------------------------------------------------------------------
-/*
-void gldFrustumHook_DX8(
- GLdouble left,
- GLdouble right,
- GLdouble bottom,
- GLdouble top,
- GLdouble nearval,
- GLdouble farval)
-{
- GET_CURRENT_CONTEXT(ctx);
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx8 *gld = GLD_GET_DX8_DRIVER(gldCtx);
-
- // Pass values on to Mesa first (in case we mess with them)
- _mesa_Frustum(left, right, bottom, top, nearval, farval);
-
- _fPersp_33 = farval / (nearval - farval);
-
-// ddlogPrintf(GLDLOG_SYSTEM, "Frustum: %f", farval/nearval);
-}
-
-//---------------------------------------------------------------------------
-
-void gldOrthoHook_DX8(
- GLdouble left,
- GLdouble right,
- GLdouble bottom,
- GLdouble top,
- GLdouble nearval,
- GLdouble farval)
-{
- GET_CURRENT_CONTEXT(ctx);
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx8 *gld = GLD_GET_DX8_DRIVER(gldCtx);
-
- // Pass values on to Mesa first (in case we mess with them)
- _mesa_Ortho(left, right, bottom, top, nearval, farval);
-
- _fPersp_33 = 1.6f;
-
-// ddlogPrintf(GLDLOG_SYSTEM, "Ortho: %f", farval/nearval);
-}
-*/
-//---------------------------------------------------------------------------
-
-void gld_NEW_VIEWPORT(
- GLcontext *ctx)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx8 *gld = GLD_GET_DX8_DRIVER(gldCtx);
-
- D3DVIEWPORT8 d3dvp;
-// GLint x, y;
-// GLsizei w, h;
-
- // Set depth range
- _GLD_DX8_DEV(GetViewport(gld->pDev, &d3dvp));
- // D3D can't do Quake1/Quake2 z-trick
- if (ctx->Viewport.Near <= ctx->Viewport.Far) {
- d3dvp.MinZ = ctx->Viewport.Near;
- d3dvp.MaxZ = ctx->Viewport.Far;
- } else {
- d3dvp.MinZ = ctx->Viewport.Far;
- d3dvp.MaxZ = ctx->Viewport.Near;
- }
-/* x = ctx->Viewport.X;
- y = ctx->Viewport.Y;
- w = ctx->Viewport.Width;
- h = ctx->Viewport.Height;
- if (x < 0) x = 0;
- if (y < 0) y = 0;
- if (w > gldCtx->dwWidth) w = gldCtx->dwWidth;
- if (h > gldCtx->dwHeight) h = gldCtx->dwHeight;
- // Ditto for D3D viewport dimensions
- if (w+x > gldCtx->dwWidth) w = gldCtx->dwWidth-x;
- if (h+y > gldCtx->dwHeight) h = gldCtx->dwHeight-y;
- d3dvp.X = x;
- d3dvp.Y = gldCtx->dwHeight - (y + h);
- d3dvp.Width = w;
- d3dvp.Height = h;*/
- _GLD_DX8_DEV(SetViewport(gld->pDev, &d3dvp));
-
-// gld->fFlipWindowY = (float)gldCtx->dwHeight;
-}
-
-//---------------------------------------------------------------------------
-
-__inline BOOL _gldAnyEvalEnabled(
- GLcontext *ctx)
-{
- struct gl_eval_attrib *eval = &ctx->Eval;
-
- if ((eval->AutoNormal) ||
- (eval->Map1Color4) ||
- (eval->Map1Index) ||
- (eval->Map1Normal) ||
- (eval->Map1TextureCoord1) ||
- (eval->Map1TextureCoord2) ||
- (eval->Map1TextureCoord3) ||
- (eval->Map1TextureCoord4) ||
- (eval->Map1Vertex3) ||
- (eval->Map1Vertex4) ||
- (eval->Map2Color4) ||
- (eval->Map2Index) ||
- (eval->Map2Normal) ||
- (eval->Map2TextureCoord1) ||
- (eval->Map2TextureCoord2) ||
- (eval->Map2TextureCoord3) ||
- (eval->Map2TextureCoord4) ||
- (eval->Map2Vertex3) ||
- (eval->Map2Vertex4)
- )
- return TRUE;
-
- return FALSE;
-}
-
-//---------------------------------------------------------------------------
-
-BOOL _gldChooseInternalPipeline(
- GLcontext *ctx,
- GLD_driver_dx8 *gld)
-{
-// return TRUE; // DEBUGGING: ALWAYS USE MESA
-// return FALSE; // DEBUGGING: ALWAYS USE D3D
-
- if ((glb.dwTnL == GLDS_TNL_MESA) || (gld->bHasHWTnL == FALSE))
- {
- gld->PipelineUsage.qwMesa.QuadPart++;
- return TRUE; // Force Mesa TnL
- }
-
- if ((ctx->Light.Enabled) ||
- (1) ||
- (ctx->Texture._TexGenEnabled) ||
- (ctx->Texture._TexMatEnabled) ||
-// (ctx->Transform._AnyClip) ||
- (ctx->Scissor.Enabled) ||
- _gldAnyEvalEnabled(ctx) // Put this last so we can early-out
- )
- {
- gld->PipelineUsage.qwMesa.QuadPart++;
- return TRUE;
- }
-
- gld->PipelineUsage.qwD3DFVF.QuadPart++;
- return FALSE;
-
-/* // Force Mesa pipeline?
- if (glb.dwTnL == GLDS_TNL_MESA) {
- gld->PipelineUsage.dwMesa.QuadPart++;
- return GLD_PIPELINE_MESA;
- }
-
- // Test for functionality not exposed in the D3D pathways
- if ((ctx->Texture._GenFlags)) {
- gld->PipelineUsage.dwMesa.QuadPart++;
- return GLD_PIPELINE_MESA;
- }
-
- // Now decide if vertex shader can be used.
- // If two sided lighting is enabled then we must either
- // use Mesa TnL or the vertex shader
- if (ctx->_TriangleCaps & DD_TRI_LIGHT_TWOSIDE) {
- if (gld->VStwosidelight.hShader && !ctx->Fog.Enabled) {
- // Use Vertex Shader
- gld->PipelineUsage.dwD3D2SVS.QuadPart++;
- return GLD_PIPELINE_D3D_VS_TWOSIDE;
- } else {
- // Use Mesa TnL
- gld->PipelineUsage.dwMesa.QuadPart++;
- return GLD_PIPELINE_MESA;
- }
- }
-
- // Must be D3D fixed-function pipeline
- gld->PipelineUsage.dwD3DFVF.QuadPart++;
- return GLD_PIPELINE_D3D_FVF;
-*/
-}
-
-//---------------------------------------------------------------------------
-
-void gld_update_state_DX8(
- GLcontext *ctx,
- GLuint new_state)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx8 *gld = GLD_GET_DX8_DRIVER(gldCtx);
- TNLcontext *tnl = TNL_CONTEXT(ctx);
- GLD_pb_dx8 *gldPB;
-
- if (!gld || !gld->pDev)
- return;
-
- _swsetup_InvalidateState( ctx, new_state );
- _vbo_InvalidateState( ctx, new_state );
- _tnl_InvalidateState( ctx, new_state );
-
- // SetupIndex will be used in the pipelines for choosing setup function
- if ((ctx->_TriangleCaps & (DD_TRI_LIGHT_TWOSIDE | DD_SEPARATE_SPECULAR)) ||
- (ctx->Fog.Enabled))
- {
- if (ctx->_TriangleCaps & DD_FLATSHADE)
- gld->iSetupFunc = GLD_SI_FLAT_EXTRAS;
- else
- gld->iSetupFunc = GLD_SI_SMOOTH_EXTRAS;
- } else {
- if (ctx->_TriangleCaps & DD_FLATSHADE)
- gld->iSetupFunc = GLD_SI_FLAT; // Setup flat shade + texture
- else
- gld->iSetupFunc = GLD_SI_SMOOTH; // Setup smooth shade + texture
- }
-
- gld->bUseMesaTnL = _gldChooseInternalPipeline(ctx, gld);
- if (gld->bUseMesaTnL) {
- gldPB = &gld->PB2d;
- _GLD_DX8_DEV(SetRenderState(gld->pDev, D3DRS_SOFTWAREVERTEXPROCESSING, TRUE));
- _GLD_DX8_DEV(SetRenderState(gld->pDev, D3DRS_CLIPPING, FALSE));
- _GLD_DX8_DEV(SetVertexShader(gld->pDev, gldPB->dwFVF));
- } else {
- gldPB = &gld->PB3d;
- _GLD_DX8_DEV(SetRenderState(gld->pDev, D3DRS_CLIPPING, TRUE));
-// if (gld->TnLPipeline == GLD_PIPELINE_D3D_VS_TWOSIDE) {
-// _GLD_DX8_DEV(SetRenderState(gld->pDev, D3DRS_SOFTWAREVERTEXPROCESSING, !gld->VStwosidelight.bHardware));
-// _GLD_DX8_DEV(SetVertexShader(gld->pDev, gld->VStwosidelight.hShader));
-// } else {
- _GLD_DX8_DEV(SetRenderState(gld->pDev, D3DRS_SOFTWAREVERTEXPROCESSING, !gld->bHasHWTnL));
- _GLD_DX8_DEV(SetVertexShader(gld->pDev, gldPB->dwFVF));
-// }
- }
-
-#define _GLD_TEST_STATE(a) \
- if (new_state & (a)) { \
- gld##a(ctx); \
- new_state &= ~(a); \
- }
-
-#define _GLD_TEST_STATE_DX8(a) \
- if (new_state & (a)) { \
- gld##a##_DX8(ctx); \
- new_state &= ~(a); \
- }
-
-#define _GLD_IGNORE_STATE(a) new_state &= ~(a);
-
-// if (!gld->bUseMesaTnL) {
- // Not required if Mesa is doing the TnL.
- // Problem: If gld->bUseMesaTnL is TRUE when these are signaled,
- // then we'll miss updating the D3D TnL pipeline.
- // Therefore, don't test for gld->bUseMesaTnL
- _GLD_TEST_STATE(_NEW_MODELVIEW);
- _GLD_TEST_STATE(_NEW_PROJECTION);
-// }
-
- _GLD_TEST_STATE_DX8(_NEW_TEXTURE); // extern, so guard with _DX8
- _GLD_TEST_STATE(_NEW_COLOR);
- _GLD_TEST_STATE(_NEW_DEPTH);
- _GLD_TEST_STATE(_NEW_POLYGON);
- _GLD_TEST_STATE(_NEW_STENCIL);
- _GLD_TEST_STATE(_NEW_FOG);
- _GLD_TEST_STATE(_NEW_LIGHT);
- _GLD_TEST_STATE(_NEW_VIEWPORT);
-
- _GLD_IGNORE_STATE(_NEW_TRANSFORM);
-
-
-// Stubs for future use.
-/* _GLD_TEST_STATE(_NEW_TEXTURE_MATRIX);
- _GLD_TEST_STATE(_NEW_COLOR_MATRIX);
- _GLD_TEST_STATE(_NEW_ACCUM);
- _GLD_TEST_STATE(_NEW_EVAL);
- _GLD_TEST_STATE(_NEW_HINT);
- _GLD_TEST_STATE(_NEW_LINE);
- _GLD_TEST_STATE(_NEW_PIXEL);
- _GLD_TEST_STATE(_NEW_POINT);
- _GLD_TEST_STATE(_NEW_POLYGONSTIPPLE);
- _GLD_TEST_STATE(_NEW_SCISSOR);
- _GLD_TEST_STATE(_NEW_PACKUNPACK);
- _GLD_TEST_STATE(_NEW_ARRAY);
- _GLD_TEST_STATE(_NEW_RENDERMODE);
- _GLD_TEST_STATE(_NEW_BUFFERS);
- _GLD_TEST_STATE(_NEW_MULTISAMPLE);
-*/
-
-// For debugging.
-#if 0
-#define _GLD_TEST_UNHANDLED_STATE(a) \
- if (new_state & (a)) { \
- gldLogMessage(GLDLOG_ERROR, "Unhandled " #a "\n"); \
- }
- _GLD_TEST_UNHANDLED_STATE(_NEW_TEXTURE_MATRIX);
- _GLD_TEST_UNHANDLED_STATE(_NEW_COLOR_MATRIX);
- _GLD_TEST_UNHANDLED_STATE(_NEW_ACCUM);
- _GLD_TEST_UNHANDLED_STATE(_NEW_EVAL);
- _GLD_TEST_UNHANDLED_STATE(_NEW_HINT);
- _GLD_TEST_UNHANDLED_STATE(_NEW_LINE);
- _GLD_TEST_UNHANDLED_STATE(_NEW_PIXEL);
- _GLD_TEST_UNHANDLED_STATE(_NEW_POINT);
- _GLD_TEST_UNHANDLED_STATE(_NEW_POLYGONSTIPPLE);
- _GLD_TEST_UNHANDLED_STATE(_NEW_SCISSOR);
- _GLD_TEST_UNHANDLED_STATE(_NEW_PACKUNPACK);
- _GLD_TEST_UNHANDLED_STATE(_NEW_ARRAY);
- _GLD_TEST_UNHANDLED_STATE(_NEW_RENDERMODE);
- _GLD_TEST_UNHANDLED_STATE(_NEW_BUFFERS);
- _GLD_TEST_UNHANDLED_STATE(_NEW_MULTISAMPLE);
-#undef _GLD_UNHANDLED_STATE
-#endif
-
-#undef _GLD_TEST_STATE
-}
-
-//---------------------------------------------------------------------------
-// Viewport
-//---------------------------------------------------------------------------
-
-void gld_Viewport_DX8(
- GLcontext *ctx,
- GLint x,
- GLint y,
- GLsizei w,
- GLsizei h)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx8 *gld = GLD_GET_DX8_DRIVER(gldCtx);
-
- D3DVIEWPORT8 d3dvp;
-
- if (!gld || !gld->pDev)
- return;
-
- // This is a hack. When the app is minimized, Mesa passes
- // w=1 and h=1 for viewport dimensions. Without this test
- // we get a GPF in gld_wgl_resize_buffers().
- if ((w==1) && (h==1))
- return;
-
- // Call ResizeBuffersMESA. This function will early-out
- // if no resize is needed.
- //ctx->Driver.ResizeBuffersMESA(ctx);
- // Mesa 5: Changed parameters
- ctx->Driver.ResizeBuffers(gldCtx->glBuffer);
-
-#if 0
- ddlogPrintf(GLDLOG_SYSTEM, ">> Viewport x=%d y=%d w=%d h=%d", x,y,w,h);
-#endif
-
- // ** D3D viewport must not be outside the render target surface **
- // Sanity check the GL viewport dimensions
- if (x < 0) x = 0;
- if (y < 0) y = 0;
- if (w > gldCtx->dwWidth) w = gldCtx->dwWidth;
- if (h > gldCtx->dwHeight) h = gldCtx->dwHeight;
- // Ditto for D3D viewport dimensions
- if (w+x > gldCtx->dwWidth) w = gldCtx->dwWidth-x;
- if (h+y > gldCtx->dwHeight) h = gldCtx->dwHeight-y;
-
- d3dvp.X = x;
- d3dvp.Y = gldCtx->dwHeight - (y + h);
- d3dvp.Width = w;
- d3dvp.Height = h;
- if (ctx->Viewport.Near <= ctx->Viewport.Far) {
- d3dvp.MinZ = ctx->Viewport.Near;
- d3dvp.MaxZ = ctx->Viewport.Far;
- } else {
- d3dvp.MinZ = ctx->Viewport.Far;
- d3dvp.MaxZ = ctx->Viewport.Near;
- }
-
- // TODO: DEBUGGING
-// d3dvp.MinZ = 0.0f;
-// d3dvp.MaxZ = 1.0f;
-
- _GLD_DX8_DEV(SetViewport(gld->pDev, &d3dvp));
-
-}
-
-//---------------------------------------------------------------------------
-
-extern BOOL dglWglResizeBuffers(GLcontext *ctx, BOOL bDefaultDriver);
-
-// Mesa 5: Parameter change
-void gldResizeBuffers_DX8(
-// GLcontext *ctx)
- GLframebuffer *fb)
-{
- GET_CURRENT_CONTEXT(ctx);
- dglWglResizeBuffers(ctx, TRUE);
-}
-
-//---------------------------------------------------------------------------
-#ifdef _DEBUG
-// This is only for debugging.
-// To use, plug into ctx->Driver.Enable pointer below.
-void gld_Enable(
- GLcontext *ctx,
- GLenum e,
- GLboolean b)
-{
- char buf[1024];
- sprintf(buf, "Enable: %s (%s)\n", _mesa_lookup_enum_by_nr(e), b?"TRUE":"FALSE");
- ddlogMessage(DDLOG_SYSTEM, buf);
-}
-#endif
-//---------------------------------------------------------------------------
-// Driver pointer setup
-//---------------------------------------------------------------------------
-
-extern const GLubyte* _gldGetStringGeneric(GLcontext*, GLenum);
-
-void gldSetupDriverPointers_DX8(
- GLcontext *ctx)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx8 *gld = GLD_GET_DX8_DRIVER(gldCtx);
-
- TNLcontext *tnl = TNL_CONTEXT(ctx);
-
- // Mandatory functions
- ctx->Driver.GetString = _gldGetStringGeneric;
- ctx->Driver.UpdateState = gld_update_state_DX8;
- ctx->Driver.Clear = gld_Clear_DX8;
- ctx->Driver.DrawBuffer = gld_set_draw_buffer_DX8;
- ctx->Driver.GetBufferSize = gld_buffer_size_DX8;
- ctx->Driver.Finish = gld_Finish_DX8;
- ctx->Driver.Flush = gld_Flush_DX8;
- ctx->Driver.Error = gld_Error_DX8;
-
- // Hardware accumulation buffer
- ctx->Driver.Accum = NULL; // TODO: gld_Accum;
-
- // Bitmap functions
- ctx->Driver.CopyPixels = gld_CopyPixels_DX8;
- ctx->Driver.DrawPixels = gld_DrawPixels_DX8;
- ctx->Driver.ReadPixels = gld_ReadPixels_DX8;
- ctx->Driver.Bitmap = gld_Bitmap_DX8;
-
- // Buffer resize
- ctx->Driver.ResizeBuffers = gldResizeBuffers_DX8;
-
- // Texture image functions
- ctx->Driver.ChooseTextureFormat = gld_ChooseTextureFormat_DX8;
- ctx->Driver.TexImage1D = gld_TexImage1D_DX8;
- ctx->Driver.TexImage2D = gld_TexImage2D_DX8;
- ctx->Driver.TexImage3D = _mesa_store_teximage3d;
- ctx->Driver.TexSubImage1D = gld_TexSubImage1D_DX8;
- ctx->Driver.TexSubImage2D = gld_TexSubImage2D_DX8;
- ctx->Driver.TexSubImage3D = _mesa_store_texsubimage3d;
-
- ctx->Driver.CopyTexImage1D = gldCopyTexImage1D_DX8; //NULL;
- ctx->Driver.CopyTexImage2D = gldCopyTexImage2D_DX8; //NULL;
- ctx->Driver.CopyTexSubImage1D = gldCopyTexSubImage1D_DX8; //NULL;
- ctx->Driver.CopyTexSubImage2D = gldCopyTexSubImage2D_DX8; //NULL;
- ctx->Driver.CopyTexSubImage3D = gldCopyTexSubImage3D_DX8;
- ctx->Driver.TestProxyTexImage = _mesa_test_proxy_teximage;
-
- // Texture object functions
- ctx->Driver.BindTexture = NULL;
- ctx->Driver.NewTextureObject = NULL; // Not yet implemented by Mesa!;
- ctx->Driver.DeleteTexture = gld_DeleteTexture_DX8;
- ctx->Driver.PrioritizeTexture = NULL;
-
- // Imaging functionality
- ctx->Driver.CopyColorTable = NULL;
- ctx->Driver.CopyColorSubTable = NULL;
- ctx->Driver.CopyConvolutionFilter1D = NULL;
- ctx->Driver.CopyConvolutionFilter2D = NULL;
-
- // State changing functions
- ctx->Driver.AlphaFunc = NULL; //gld_AlphaFunc;
- ctx->Driver.BlendFuncSeparate = NULL; //gld_BlendFunc;
- ctx->Driver.ClearColor = NULL; //gld_ClearColor;
- ctx->Driver.ClearDepth = NULL; //gld_ClearDepth;
- ctx->Driver.ClearStencil = NULL; //gld_ClearStencil;
- ctx->Driver.ColorMask = NULL; //gld_ColorMask;
- ctx->Driver.CullFace = NULL; //gld_CullFace;
- ctx->Driver.ClipPlane = NULL; //gld_ClipPlane;
- ctx->Driver.FrontFace = NULL; //gld_FrontFace;
- ctx->Driver.DepthFunc = NULL; //gld_DepthFunc;
- ctx->Driver.DepthMask = NULL; //gld_DepthMask;
- ctx->Driver.DepthRange = NULL;
- ctx->Driver.Enable = NULL; //gld_Enable;
- ctx->Driver.Fogfv = NULL; //gld_Fogfv;
- ctx->Driver.Hint = NULL; //gld_Hint;
- ctx->Driver.Lightfv = NULL; //gld_Lightfv;
- ctx->Driver.LightModelfv = NULL; //gld_LightModelfv;
- ctx->Driver.LineStipple = NULL; //gld_LineStipple;
- ctx->Driver.LineWidth = NULL; //gld_LineWidth;
- ctx->Driver.LogicOpcode = NULL; //gld_LogicOpcode;
- ctx->Driver.PointParameterfv = NULL; //gld_PointParameterfv;
- ctx->Driver.PointSize = NULL; //gld_PointSize;
- ctx->Driver.PolygonMode = NULL; //gld_PolygonMode;
- ctx->Driver.PolygonOffset = NULL; //gld_PolygonOffset;
- ctx->Driver.PolygonStipple = NULL; //gld_PolygonStipple;
- ctx->Driver.RenderMode = NULL; //gld_RenderMode;
- ctx->Driver.Scissor = NULL; //gld_Scissor;
- ctx->Driver.ShadeModel = NULL; //gld_ShadeModel;
- ctx->Driver.StencilFunc = NULL; //gld_StencilFunc;
- ctx->Driver.StencilMask = NULL; //gld_StencilMask;
- ctx->Driver.StencilOp = NULL; //gld_StencilOp;
- ctx->Driver.TexGen = NULL; //gld_TexGen;
- ctx->Driver.TexEnv = NULL;
- ctx->Driver.TexParameter = NULL;
- ctx->Driver.TextureMatrix = NULL; //gld_TextureMatrix;
- ctx->Driver.Viewport = gld_Viewport_DX8;
-
- _swsetup_Wakeup(ctx);
-
- tnl->Driver.RunPipeline = _tnl_run_pipeline;
- tnl->Driver.Render.ResetLineStipple = gld_ResetLineStipple_DX8;
- tnl->Driver.Render.ClippedPolygon = _tnl_RenderClippedPolygon;
- tnl->Driver.Render.ClippedLine = _tnl_RenderClippedLine;
-
- // Hook into glFrustum() and glOrtho()
-// ctx->Exec->Frustum = gldFrustumHook_DX8;
-// ctx->Exec->Ortho = gldOrthoHook_DX8;
-
-}
-
-//---------------------------------------------------------------------------
diff --git a/src/mesa/drivers/windows/gldirect/dx8/gld_dx8.h b/src/mesa/drivers/windows/gldirect/dx8/gld_dx8.h
deleted file mode 100644
index 7efec7cae8..0000000000
--- a/src/mesa/drivers/windows/gldirect/dx8/gld_dx8.h
+++ /dev/null
@@ -1,324 +0,0 @@
-/****************************************************************************
-*
-* Mesa 3-D graphics library
-* Direct3D Driver Interface
-*
-* ========================================================================
-*
-* Copyright (C) 1991-2004 SciTech Software, Inc. 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
-* SCITECH SOFTWARE INC 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.
-*
-* ======================================================================
-*
-* Language: ANSI C
-* Environment: Windows 9x/2000/XP/XBox (Win32)
-*
-* Description: GLDirect Direct3D 8.0 header file
-*
-****************************************************************************/
-
-#ifndef _GLD_DX8_H
-#define _GLD_DX8_H
-
-//---------------------------------------------------------------------------
-// Windows includes
-//---------------------------------------------------------------------------
-
-//#ifndef STRICT
-//#define STRICT
-//#endif
-
-//#define WIN32_LEAN_AND_MEAN
-//#include <windows.h>
-#include <d3d8.h>
-#include <d3dx8.h>
-
-// MS screwed up with the DX8.1 SDK - there's no compile-time
-// method of compiling for 8.0 via the 8.1 SDK unless you
-// "make sure you don't use any 8.1 interfaces".
-// We CAN use 8.1 D3DX static functions, though - just not new 8.1 interfaces.
-//
-// D3D_SDK_VERSION is 120 for 8.0 (supported by Windows 95).
-// D3D_SDK_VERSION is 220 for 8.1 (NOT supported by Windows 95).
-//
-#define D3D_SDK_VERSION_DX8_SUPPORT_WIN95 120
-
-// Typedef for obtaining function from d3d8.dll
-typedef IDirect3D8* (WINAPI *FNDIRECT3DCREATE8) (UINT);
-
-
-//---------------------------------------------------------------------------
-// Defines
-//---------------------------------------------------------------------------
-
-#ifdef _DEBUG
-#define _GLD_TEST_HRESULT(h) \
-{ \
- HRESULT _hr = (h); \
- if (FAILED(_hr)) { \
- gldLogError(GLDLOG_ERROR, #h, _hr); \
- } \
-}
-#define _GLD_DX8(func) _GLD_TEST_HRESULT(IDirect3D8_##func##)
-#define _GLD_DX8_DEV(func) _GLD_TEST_HRESULT(IDirect3DDevice8_##func##)
-#define _GLD_DX8_VB(func) _GLD_TEST_HRESULT(IDirect3DVertexBuffer8_##func##)
-#define _GLD_DX8_TEX(func) _GLD_TEST_HRESULT(IDirect3DTexture8_##func##)
-#else
-#define _GLD_DX8(func) IDirect3D8_##func
-#define _GLD_DX8_DEV(func) IDirect3DDevice8_##func
-#define _GLD_DX8_VB(func) IDirect3DVertexBuffer8_##func
-#define _GLD_DX8_TEX(func) IDirect3DTexture8_##func
-#endif
-
-#define SAFE_RELEASE(p) \
-{ \
- if (p) { \
- (p)->lpVtbl->Release(p); \
- (p) = NULL; \
- } \
-}
-
-#define SAFE_RELEASE_VB8(p) \
-{ \
- if (p) { \
- IDirect3DVertexBuffer8_Release((p)); \
- (p) = NULL; \
- } \
-}
-
-#define SAFE_RELEASE_SURFACE8(p) \
-{ \
- if (p) { \
- IDirect3DSurface8_Release((p)); \
- (p) = NULL; \
- } \
-}
-
-// Setup index.
-enum {
- GLD_SI_FLAT = 0,
- GLD_SI_SMOOTH = 1,
- GLD_SI_FLAT_EXTRAS = 2,
- GLD_SI_SMOOTH_EXTRAS = 3,
-};
-/*
-// Internal pipeline
-typedef enum {
- GLD_PIPELINE_MESA = 0, // Mesa pipeline
- GLD_PIPELINE_D3D_FVF = 1, // Direct3D Fixed-function pipeline
- GLD_PIPELINE_D3D_VS_TWOSIDE = 2 // Direct3D two-sided-lighting vertex shader
-} GLD_tnl_pipeline;
-*/
-//---------------------------------------------------------------------------
-// Vertex definitions for Fixed-Function pipeline
-//---------------------------------------------------------------------------
-
-//
-// NOTE: If the number of texture units is altered then most of
-// the texture code will need to be revised.
-//
-
-#define GLD_MAX_TEXTURE_UNITS_DX8 2
-
-//
-// 2D vertex transformed by Mesa
-//
-#define GLD_FVF_2D_VERTEX ( D3DFVF_XYZRHW | \
- D3DFVF_DIFFUSE | \
- D3DFVF_SPECULAR | \
- D3DFVF_TEX2)
-typedef struct {
- FLOAT x, y; // 2D raster coords
- FLOAT sz; // Screen Z (depth)
- FLOAT rhw; // Reciprocal homogenous W
- DWORD diffuse; // Diffuse colour
- DWORD specular; // For separate-specular support
- FLOAT t0_u, t0_v; // 1st set of texture coords
- FLOAT t1_u, t1_v; // 2nd set of texture coords
-} GLD_2D_VERTEX;
-
-
-//
-// 3D vertex transformed by Direct3D
-//
-#define GLD_FVF_3D_VERTEX ( D3DFVF_XYZ | \
- D3DFVF_DIFFUSE | \
- D3DFVF_TEX2)
-
-typedef struct {
- D3DXVECTOR3 Position; // XYZ Vector in object space
- D3DCOLOR Diffuse; // Diffuse colour
- D3DXVECTOR2 TexUnit0; // Texture unit 0
- D3DXVECTOR2 TexUnit1; // Texture unit 1
-} GLD_3D_VERTEX;
-
-//---------------------------------------------------------------------------
-// Vertex Shaders
-//---------------------------------------------------------------------------
-/*
-// DX8 Vertex Shader
-typedef struct {
- DWORD hShader; // If NULL, shader is invalid and cannot be used
- BOOL bHardware; // If TRUE then shader was created for hardware,
- // otherwise shader was created for software.
-} GLD_vertexShader;
-*/
-//---------------------------------------------------------------------------
-// Structs
-//---------------------------------------------------------------------------
-
-// This keeps a count of how many times we choose each individual internal
-// pathway. Useful for seeing if a certain pathway was ever used by an app, and
-// how much each pathway is biased.
-// Zero the members at context creation and dump stats at context deletion.
-typedef struct {
- // Note: DWORD is probably too small
- ULARGE_INTEGER qwMesa; // Mesa TnL pipeline
- ULARGE_INTEGER qwD3DFVF; // Direct3D Fixed-Function pipeline
-// ULARGE_INTEGER dwD3D2SVS; // Direct3D Two-Sided Vertex Shader pipeline
-} GLD_pipeline_usage;
-
-// GLDirect Primitive Buffer (points, lines, triangles and quads)
-typedef struct {
- // Data for IDirect3DDevice8::CreateVertexBuffer()
- DWORD dwStride; // Stride of vertex
- DWORD dwUsage; // Usage flags
- DWORD dwFVF; // Direct3D Flexible Vertex Format
- DWORD dwPool; // Pool flags
-
- IDirect3DVertexBuffer8 *pVB; // Holds points, lines, tris and quads.
-
- // Point list is assumed to be at start of buffer
- DWORD iFirstLine; // Index of start of line list
- DWORD iFirstTriangle; // Index of start of triangle list
-
- BYTE *pPoints; // Pointer to next free point
- BYTE *pLines; // Pointer to next free line
- BYTE *pTriangles; // Pointer to next free triangle
-
- DWORD nPoints; // Number of points ready to render
- DWORD nLines; // Number of lines ready to render
- DWORD nTriangles; // Number of triangles ready to render
-} GLD_pb_dx8;
-
-// GLDirect DX8 driver data
-typedef struct {
- // GLDirect vars
- BOOL bDoublebuffer; // Doublebuffer (otherwise single-buffered)
- BOOL bDepthStencil; // Depth buffer needed (stencil optional)
- D3DFORMAT RenderFormat; // Format of back/front buffer
- D3DFORMAT DepthFormat; // Format of depth/stencil
-// float fFlipWindowY; // Value for flipping viewport Y coord
-
- // Direct3D vars
- D3DCAPS8 d3dCaps8;
- BOOL bHasHWTnL; // Device has Hardware Transform/Light?
- IDirect3D8 *pD3D; // Base Direct3D8 interface
- IDirect3DDevice8 *pDev; // Direct3D8 Device interface
- GLD_pb_dx8 PB2d; // Vertices transformed by Mesa
- GLD_pb_dx8 PB3d; // Vertices transformed by Direct3D
- D3DPRIMITIVETYPE d3dpt; // Current Direct3D primitive type
- D3DXMATRIX matProjection; // Projection matrix for D3D TnL
- D3DXMATRIX matModelView; // Model/View matrix for D3D TnL
- int iSetupFunc; // Which setup functions to use
- BOOL bUseMesaTnL; // Whether to use Mesa or D3D for TnL
-
- // Direct3D vars for two-sided lighting
-// GLD_vertexShader VStwosidelight; // Vertex Shader for two-sided lighting
-// D3DXMATRIX matWorldViewProj;// World/View/Projection matrix for shaders
-
-
-// GLD_tnl_pipeline TnLPipeline; // Index of current internal pipeline
- GLD_pipeline_usage PipelineUsage;
-} GLD_driver_dx8;
-
-#define GLD_GET_DX8_DRIVER(c) (GLD_driver_dx8*)(c)->glPriv
-
-//---------------------------------------------------------------------------
-// Function prototypes
-//---------------------------------------------------------------------------
-
-PROC gldGetProcAddress_DX8(LPCSTR a);
-void gldEnableExtensions_DX8(GLcontext *ctx);
-void gldInstallPipeline_DX8(GLcontext *ctx);
-void gldSetupDriverPointers_DX8(GLcontext *ctx);
-//void gldResizeBuffers_DX8(GLcontext *ctx);
-void gldResizeBuffers_DX8(GLframebuffer *fb);
-
-
-// Texture functions
-
-void gldCopyTexImage1D_DX8(GLcontext *ctx, GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLint border);
-void gldCopyTexImage2D_DX8(GLcontext *ctx, GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
-void gldCopyTexSubImage1D_DX8(GLcontext *ctx, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width );
-void gldCopyTexSubImage2D_DX8(GLcontext *ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height );
-void gldCopyTexSubImage3D_DX8(GLcontext *ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height );
-
-void gld_NEW_TEXTURE_DX8(GLcontext *ctx);
-void gld_DrawPixels_DX8(GLcontext *ctx, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, const struct gl_pixelstore_attrib *unpack, const GLvoid *pixels);
-void gld_ReadPixels_DX8(GLcontext *ctx, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, const struct gl_pixelstore_attrib *unpack, GLvoid *dest);
-void gld_CopyPixels_DX8(GLcontext *ctx, GLint srcx, GLint srcy, GLsizei width, GLsizei height, GLint dstx, GLint dsty, GLenum type);
-void gld_Bitmap_DX8(GLcontext *ctx, GLint x, GLint y, GLsizei width, GLsizei height, const struct gl_pixelstore_attrib *unpack, const GLubyte *bitmap);
-const struct gl_texture_format* gld_ChooseTextureFormat_DX8(GLcontext *ctx, GLint internalFormat, GLenum srcFormat, GLenum srcType);
-void gld_TexImage2D_DX8(GLcontext *ctx, GLenum target, GLint level, GLint internalFormat, GLint width, GLint height, GLint border, GLenum format, GLenum type, const GLvoid *pixels, const struct gl_pixelstore_attrib *packing, struct gl_texture_object *tObj, struct gl_texture_image *texImage);
-void gld_TexImage1D_DX8(GLcontext *ctx, GLenum target, GLint level, GLint internalFormat, GLint width, GLint border, GLenum format, GLenum type, const GLvoid *pixels, const struct gl_pixelstore_attrib *packing, struct gl_texture_object *texObj, struct gl_texture_image *texImage );
-void gld_TexSubImage2D_DX8( GLcontext *ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels, const struct gl_pixelstore_attrib *packing, struct gl_texture_object *texObj, struct gl_texture_image *texImage );
-void gld_TexSubImage1D_DX8(GLcontext *ctx, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels, const struct gl_pixelstore_attrib *packing, struct gl_texture_object *texObj, struct gl_texture_image *texImage);
-void gld_DeleteTexture_DX8(GLcontext *ctx, struct gl_texture_object *tObj);
-void gld_ResetLineStipple_DX8(GLcontext *ctx);
-
-// 2D primitive functions
-
-void gld_Points2D_DX8(GLcontext *ctx, GLuint first, GLuint last);
-
-void gld_Line2DFlat_DX8(GLcontext *ctx, GLuint v0, GLuint v1);
-void gld_Line2DSmooth_DX8(GLcontext *ctx, GLuint v0, GLuint v1);
-
-void gld_Triangle2DFlat_DX8(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2);
-void gld_Triangle2DSmooth_DX8(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2);
-void gld_Triangle2DFlatExtras_DX8(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2);
-void gld_Triangle2DSmoothExtras_DX8(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2);
-
-void gld_Quad2DFlat_DX8(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
-void gld_Quad2DSmooth_DX8(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
-void gld_Quad2DFlatExtras_DX8(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
-void gld_Quad2DSmoothExtras_DX8(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
-
-// 3D primitive functions
-
-void gld_Points3D_DX8(GLcontext *ctx, GLuint first, GLuint last);
-void gld_Line3DFlat_DX8(GLcontext *ctx, GLuint v0, GLuint v1);
-void gld_Triangle3DFlat_DX8(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2);
-void gld_Quad3DFlat_DX8(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
-void gld_Line3DSmooth_DX8(GLcontext *ctx, GLuint v0, GLuint v1);
-void gld_Triangle3DSmooth_DX8(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2);
-void gld_Quad3DSmooth_DX8(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
-
-// Primitive functions for Two-sided-lighting Vertex Shader
-
-void gld_Points2DTwoside_DX8(GLcontext *ctx, GLuint first, GLuint last);
-void gld_Line2DFlatTwoside_DX8(GLcontext *ctx, GLuint v0, GLuint v1);
-void gld_Line2DSmoothTwoside_DX8(GLcontext *ctx, GLuint v0, GLuint v1);
-void gld_Triangle2DFlatTwoside_DX8(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2);
-void gld_Triangle2DSmoothTwoside_DX8(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2);
-void gld_Quad2DFlatTwoside_DX8(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
-void gld_Quad2DSmoothTwoside_DX8(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
-
-#endif
diff --git a/src/mesa/drivers/windows/gldirect/dx8/gld_dxerr8.h b/src/mesa/drivers/windows/gldirect/dx8/gld_dxerr8.h
deleted file mode 100644
index f8e92b936e..0000000000
--- a/src/mesa/drivers/windows/gldirect/dx8/gld_dxerr8.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/*==========================================================================;
- *
- *
- * File: dxerr8.h
- * Content: DirectX Error Library Include File
- *
- ****************************************************************************/
-
-#ifndef _GLD_DXERR8_H_
-#define _GLD_DXERR8_H_
-
-
-#include <d3d8.h>
-
-//
-// DXGetErrorString8
-//
-// Desc: Converts an DirectX HRESULT to a string
-//
-// Args: HRESULT hr Can be any error code from
-// DPLAY D3D8 D3DX8 DMUSIC DSOUND
-//
-// Return: Converted string
-//
-const char* __stdcall DXGetErrorString8A(HRESULT hr);
-const WCHAR* __stdcall DXGetErrorString8W(HRESULT hr);
-
-#ifdef UNICODE
- #define DXGetErrorString8 DXGetErrorString8W
-#else
- #define DXGetErrorString8 DXGetErrorString8A
-#endif
-
-
-//
-// DXTrace
-//
-// Desc: Outputs a formatted error message to the debug stream
-//
-// Args: CHAR* strFile The current file, typically passed in using the
-// __FILE__ macro.
-// DWORD dwLine The current line number, typically passed in using the
-// __LINE__ macro.
-// HRESULT hr An HRESULT that will be traced to the debug stream.
-// CHAR* strMsg A string that will be traced to the debug stream (may be NULL)
-// BOOL bPopMsgBox If TRUE, then a message box will popup also containing the passed info.
-//
-// Return: The hr that was passed in.
-//
-//HRESULT __stdcall DXTraceA( char* strFile, DWORD dwLine, HRESULT hr, char* strMsg, BOOL bPopMsgBox = FALSE );
-//HRESULT __stdcall DXTraceW( char* strFile, DWORD dwLine, HRESULT hr, WCHAR* strMsg, BOOL bPopMsgBox = FALSE );
-HRESULT __stdcall DXTraceA( char* strFile, DWORD dwLine, HRESULT hr, char* strMsg, BOOL bPopMsgBox);
-HRESULT __stdcall DXTraceW( char* strFile, DWORD dwLine, HRESULT hr, WCHAR* strMsg, BOOL bPopMsgBox);
-
-#ifdef UNICODE
- #define DXTrace DXTraceW
-#else
- #define DXTrace DXTraceA
-#endif
-
-
-//
-// Helper macros
-//
-#if defined(DEBUG) | defined(_DEBUG)
- #define DXTRACE_MSG(str) DXTrace( __FILE__, (DWORD)__LINE__, 0, str, FALSE )
- #define DXTRACE_ERR(str,hr) DXTrace( __FILE__, (DWORD)__LINE__, hr, str, TRUE )
- #define DXTRACE_ERR_NOMSGBOX(str,hr) DXTrace( __FILE__, (DWORD)__LINE__, hr, str, FALSE )
-#else
- #define DXTRACE_MSG(str) (0L)
- #define DXTRACE_ERR(str,hr) (hr)
- #define DXTRACE_ERR_NOMSGBOX(str,hr) (hr)
-#endif
-
-
-#endif
-
diff --git a/src/mesa/drivers/windows/gldirect/dx8/gld_ext_dx8.c b/src/mesa/drivers/windows/gldirect/dx8/gld_ext_dx8.c
deleted file mode 100644
index b51bba9b3c..0000000000
--- a/src/mesa/drivers/windows/gldirect/dx8/gld_ext_dx8.c
+++ /dev/null
@@ -1,344 +0,0 @@
-/****************************************************************************
-*
-* Mesa 3-D graphics library
-* Direct3D Driver Interface
-*
-* ========================================================================
-*
-* Copyright (C) 1991-2004 SciTech Software, Inc. 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
-* SCITECH SOFTWARE INC 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.
-*
-* ======================================================================
-*
-* Language: ANSI C
-* Environment: Windows 9x/2000/XP/XBox (Win32)
-*
-* Description: GL extensions
-*
-****************************************************************************/
-
-//#include "../GLDirect.h"
-//#include "../gld_log.h"
-//#include "../gld_settings.h"
-
-#include <windows.h>
-#define GL_GLEXT_PROTOTYPES
-#include <GL/gl.h>
-#include <GL/glext.h>
-
-//#include "ddlog.h"
-//#include "gld_dx8.h"
-
-#include "glheader.h"
-#include "context.h"
-#include "colormac.h"
-#include "depth.h"
-#include "extensions.h"
-#include "macros.h"
-#include "matrix.h"
-// #include "mem.h"
-//#include "mmath.h"
-#include "mtypes.h"
-#include "texformat.h"
-#include "texstore.h"
-#include "vbo/vbo.h"
-#include "swrast_setup/swrast_setup.h"
-#include "swrast_setup/ss_context.h"
-#include "tnl/tnl.h"
-#include "tnl/t_context.h"
-#include "tnl/t_pipeline.h"
-
-#include "dglcontext.h"
-#include "extensions.h"
-
-// For some reason this is not defined in an above header...
-extern void _mesa_enable_imaging_extensions(GLcontext *ctx);
-
-//---------------------------------------------------------------------------
-// Hack for the SGIS_multitexture extension that was removed from Mesa
-// NOTE: SGIS_multitexture enums also clash with GL_SGIX_async_pixel
-
- // NOTE: Quake2 ran *slower* with this enabled, so I've
- // disabled it for now.
- // To enable, uncomment:
- // _mesa_add_extension(ctx, GL_TRUE, szGL_SGIS_multitexture, 0);
-
-//---------------------------------------------------------------------------
-
-enum {
- /* Quake2 GL_SGIS_multitexture */
- GL_SELECTED_TEXTURE_SGIS = 0x835B,
- GL_SELECTED_TEXTURE_COORD_SET_SGIS = 0x835C,
- GL_MAX_TEXTURES_SGIS = 0x835D,
- GL_TEXTURE0_SGIS = 0x835E,
- GL_TEXTURE1_SGIS = 0x835F,
- GL_TEXTURE2_SGIS = 0x8360,
- GL_TEXTURE3_SGIS = 0x8361,
- GL_TEXTURE_COORD_SET_SOURCE_SGIS = 0x8363,
-};
-
-//---------------------------------------------------------------------------
-
-void APIENTRY gldSelectTextureSGIS(
- GLenum target)
-{
- GLenum ARB_target = GL_TEXTURE0_ARB + (target - GL_TEXTURE0_SGIS);
- glActiveTextureARB(ARB_target);
-}
-
-//---------------------------------------------------------------------------
-
-void APIENTRY gldMTexCoord2fSGIS(
- GLenum target,
- GLfloat s,
- GLfloat t)
-{
- GLenum ARB_target = GL_TEXTURE0_ARB + (target - GL_TEXTURE0_SGIS);
- glMultiTexCoord2fARB(ARB_target, s, t);
-}
-
-//---------------------------------------------------------------------------
-
-void APIENTRY gldMTexCoord2fvSGIS(
- GLenum target,
- const GLfloat *v)
-{
- GLenum ARB_target = GL_TEXTURE0_ARB + (target - GL_TEXTURE0_SGIS);
- glMultiTexCoord2fvARB(ARB_target, v);
-}
-
-//---------------------------------------------------------------------------
-// Extensions
-//---------------------------------------------------------------------------
-
-typedef struct {
- PROC proc;
- char *name;
-} GLD_extension;
-
-GLD_extension GLD_extList[] = {
-#ifdef GL_EXT_polygon_offset
- { (PROC)glPolygonOffsetEXT, "glPolygonOffsetEXT" },
-#endif
- { (PROC)glBlendEquationEXT, "glBlendEquationEXT" },
- { (PROC)glBlendColorEXT, "glBlendColorExt" },
- { (PROC)glVertexPointerEXT, "glVertexPointerEXT" },
- { (PROC)glNormalPointerEXT, "glNormalPointerEXT" },
- { (PROC)glColorPointerEXT, "glColorPointerEXT" },
- { (PROC)glIndexPointerEXT, "glIndexPointerEXT" },
- { (PROC)glTexCoordPointerEXT, "glTexCoordPointer" },
- { (PROC)glEdgeFlagPointerEXT, "glEdgeFlagPointerEXT" },
- { (PROC)glGetPointervEXT, "glGetPointervEXT" },
- { (PROC)glArrayElementEXT, "glArrayElementEXT" },
- { (PROC)glDrawArraysEXT, "glDrawArrayEXT" },
- { (PROC)glAreTexturesResidentEXT, "glAreTexturesResidentEXT" },
- { (PROC)glBindTextureEXT, "glBindTextureEXT" },
- { (PROC)glDeleteTexturesEXT, "glDeleteTexturesEXT" },
- { (PROC)glGenTexturesEXT, "glGenTexturesEXT" },
- { (PROC)glIsTextureEXT, "glIsTextureEXT" },
- { (PROC)glPrioritizeTexturesEXT, "glPrioritizeTexturesEXT" },
- { (PROC)glCopyTexSubImage3DEXT, "glCopyTexSubImage3DEXT" },
- { (PROC)glTexImage3DEXT, "glTexImage3DEXT" },
- { (PROC)glTexSubImage3DEXT, "glTexSubImage3DEXT" },
- { (PROC)glPointParameterfEXT, "glPointParameterfEXT" },
- { (PROC)glPointParameterfvEXT, "glPointParameterfvEXT" },
-
- { (PROC)glLockArraysEXT, "glLockArraysEXT" },
- { (PROC)glUnlockArraysEXT, "glUnlockArraysEXT" },
- { NULL, "\0" }
-};
-
-GLD_extension GLD_multitexList[] = {
-/*
- { (PROC)glMultiTexCoord1dSGIS, "glMTexCoord1dSGIS" },
- { (PROC)glMultiTexCoord1dvSGIS, "glMTexCoord1dvSGIS" },
- { (PROC)glMultiTexCoord1fSGIS, "glMTexCoord1fSGIS" },
- { (PROC)glMultiTexCoord1fvSGIS, "glMTexCoord1fvSGIS" },
- { (PROC)glMultiTexCoord1iSGIS, "glMTexCoord1iSGIS" },
- { (PROC)glMultiTexCoord1ivSGIS, "glMTexCoord1ivSGIS" },
- { (PROC)glMultiTexCoord1sSGIS, "glMTexCoord1sSGIS" },
- { (PROC)glMultiTexCoord1svSGIS, "glMTexCoord1svSGIS" },
- { (PROC)glMultiTexCoord2dSGIS, "glMTexCoord2dSGIS" },
- { (PROC)glMultiTexCoord2dvSGIS, "glMTexCoord2dvSGIS" },
- { (PROC)glMultiTexCoord2fSGIS, "glMTexCoord2fSGIS" },
- { (PROC)glMultiTexCoord2fvSGIS, "glMTexCoord2fvSGIS" },
- { (PROC)glMultiTexCoord2iSGIS, "glMTexCoord2iSGIS" },
- { (PROC)glMultiTexCoord2ivSGIS, "glMTexCoord2ivSGIS" },
- { (PROC)glMultiTexCoord2sSGIS, "glMTexCoord2sSGIS" },
- { (PROC)glMultiTexCoord2svSGIS, "glMTexCoord2svSGIS" },
- { (PROC)glMultiTexCoord3dSGIS, "glMTexCoord3dSGIS" },
- { (PROC)glMultiTexCoord3dvSGIS, "glMTexCoord3dvSGIS" },
- { (PROC)glMultiTexCoord3fSGIS, "glMTexCoord3fSGIS" },
- { (PROC)glMultiTexCoord3fvSGIS, "glMTexCoord3fvSGIS" },
- { (PROC)glMultiTexCoord3iSGIS, "glMTexCoord3iSGIS" },
- { (PROC)glMultiTexCoord3ivSGIS, "glMTexCoord3ivSGIS" },
- { (PROC)glMultiTexCoord3sSGIS, "glMTexCoord3sSGIS" },
- { (PROC)glMultiTexCoord3svSGIS, "glMTexCoord3svSGIS" },
- { (PROC)glMultiTexCoord4dSGIS, "glMTexCoord4dSGIS" },
- { (PROC)glMultiTexCoord4dvSGIS, "glMTexCoord4dvSGIS" },
- { (PROC)glMultiTexCoord4fSGIS, "glMTexCoord4fSGIS" },
- { (PROC)glMultiTexCoord4fvSGIS, "glMTexCoord4fvSGIS" },
- { (PROC)glMultiTexCoord4iSGIS, "glMTexCoord4iSGIS" },
- { (PROC)glMultiTexCoord4ivSGIS, "glMTexCoord4ivSGIS" },
- { (PROC)glMultiTexCoord4sSGIS, "glMTexCoord4sSGIS" },
- { (PROC)glMultiTexCoord4svSGIS, "glMTexCoord4svSGIS" },
- { (PROC)glMultiTexCoordPointerSGIS, "glMTexCoordPointerSGIS" },
- { (PROC)glSelectTextureSGIS, "glSelectTextureSGIS" },
- { (PROC)glSelectTextureCoordSetSGIS, "glSelectTextureCoordSetSGIS" },
-*/
- { (PROC)glActiveTextureARB, "glActiveTextureARB" },
- { (PROC)glClientActiveTextureARB, "glClientActiveTextureARB" },
- { (PROC)glMultiTexCoord1dARB, "glMultiTexCoord1dARB" },
- { (PROC)glMultiTexCoord1dvARB, "glMultiTexCoord1dvARB" },
- { (PROC)glMultiTexCoord1fARB, "glMultiTexCoord1fARB" },
- { (PROC)glMultiTexCoord1fvARB, "glMultiTexCoord1fvARB" },
- { (PROC)glMultiTexCoord1iARB, "glMultiTexCoord1iARB" },
- { (PROC)glMultiTexCoord1ivARB, "glMultiTexCoord1ivARB" },
- { (PROC)glMultiTexCoord1sARB, "glMultiTexCoord1sARB" },
- { (PROC)glMultiTexCoord1svARB, "glMultiTexCoord1svARB" },
- { (PROC)glMultiTexCoord2dARB, "glMultiTexCoord2dARB" },
- { (PROC)glMultiTexCoord2dvARB, "glMultiTexCoord2dvARB" },
- { (PROC)glMultiTexCoord2fARB, "glMultiTexCoord2fARB" },
- { (PROC)glMultiTexCoord2fvARB, "glMultiTexCoord2fvARB" },
- { (PROC)glMultiTexCoord2iARB, "glMultiTexCoord2iARB" },
- { (PROC)glMultiTexCoord2ivARB, "glMultiTexCoord2ivARB" },
- { (PROC)glMultiTexCoord2sARB, "glMultiTexCoord2sARB" },
- { (PROC)glMultiTexCoord2svARB, "glMultiTexCoord2svARB" },
- { (PROC)glMultiTexCoord3dARB, "glMultiTexCoord3dARB" },
- { (PROC)glMultiTexCoord3dvARB, "glMultiTexCoord3dvARB" },
- { (PROC)glMultiTexCoord3fARB, "glMultiTexCoord3fARB" },
- { (PROC)glMultiTexCoord3fvARB, "glMultiTexCoord3fvARB" },
- { (PROC)glMultiTexCoord3iARB, "glMultiTexCoord3iARB" },
- { (PROC)glMultiTexCoord3ivARB, "glMultiTexCoord3ivARB" },
- { (PROC)glMultiTexCoord3sARB, "glMultiTexCoord3sARB" },
- { (PROC)glMultiTexCoord3svARB, "glMultiTexCoord3svARB" },
- { (PROC)glMultiTexCoord4dARB, "glMultiTexCoord4dARB" },
- { (PROC)glMultiTexCoord4dvARB, "glMultiTexCoord4dvARB" },
- { (PROC)glMultiTexCoord4fARB, "glMultiTexCoord4fARB" },
- { (PROC)glMultiTexCoord4fvARB, "glMultiTexCoord4fvARB" },
- { (PROC)glMultiTexCoord4iARB, "glMultiTexCoord4iARB" },
- { (PROC)glMultiTexCoord4ivARB, "glMultiTexCoord4ivARB" },
- { (PROC)glMultiTexCoord4sARB, "glMultiTexCoord4sARB" },
- { (PROC)glMultiTexCoord4svARB, "glMultiTexCoord4svARB" },
-
- // Descent3 doesn't use correct string, hence this hack
- { (PROC)glMultiTexCoord4fARB, "glMultiTexCoord4f" },
-
- // Quake2 SGIS multitexture
- { (PROC)gldSelectTextureSGIS, "glSelectTextureSGIS" },
- { (PROC)gldMTexCoord2fSGIS, "glMTexCoord2fSGIS" },
- { (PROC)gldMTexCoord2fvSGIS, "glMTexCoord2fvSGIS" },
-
- { NULL, "\0" }
-};
-
-//---------------------------------------------------------------------------
-
-PROC gldGetProcAddress_DX(
- LPCSTR a)
-{
- int i;
- PROC proc = NULL;
-
- for (i=0; GLD_extList[i].proc; i++) {
- if (!strcmp(a, GLD_extList[i].name)) {
- proc = GLD_extList[i].proc;
- break;
- }
- }
-
- if (glb.bMultitexture) {
- for (i=0; GLD_multitexList[i].proc; i++) {
- if (!strcmp(a, GLD_multitexList[i].name)) {
- proc = GLD_multitexList[i].proc;
- break;
- }
- }
- }
-
- gldLogPrintf(GLDLOG_INFO, "GetProcAddress: %s (%s)", a, proc ? "OK" : "Failed");
-
- return proc;
-}
-
-//---------------------------------------------------------------------------
-
-void gldEnableExtensions_DX8(
- GLcontext *ctx)
-{
- GLuint i;
-
- // Mesa enables some extensions by default.
- // This table decides which ones we want to switch off again.
-
- // NOTE: GL_EXT_compiled_vertex_array appears broken.
-
- const char *gld_disable_extensions[] = {
-// "GL_ARB_transpose_matrix",
-// "GL_EXT_compiled_vertex_array",
-// "GL_EXT_polygon_offset",
-// "GL_EXT_rescale_normal",
- "GL_EXT_texture3D",
-// "GL_NV_texgen_reflection",
- NULL
- };
-
- const char *gld_multitex_extensions[] = {
- "GL_ARB_multitexture", // Quake 3
- NULL
- };
-
- // Quake 2 engines
- const char *szGL_SGIS_multitexture = "GL_SGIS_multitexture";
-
- const char *gld_enable_extensions[] = {
- "GL_EXT_texture_env_add", // Quake 3
- "GL_ARB_texture_env_add", // Quake 3
- NULL
- };
-
- for (i=0; gld_disable_extensions[i]; i++) {
- _mesa_disable_extension(ctx, gld_disable_extensions[i]);
- }
-
- for (i=0; gld_enable_extensions[i]; i++) {
- _mesa_enable_extension(ctx, gld_enable_extensions[i]);
- }
-
- if (glb.bMultitexture) {
- for (i=0; gld_multitex_extensions[i]; i++) {
- _mesa_enable_extension(ctx, gld_multitex_extensions[i]);
- }
-
- // GL_SGIS_multitexture
- // NOTE: Quake2 ran *slower* with this enabled, so I've
- // disabled it for now.
- // Fair bit slower on GeForce256,
- // Much slower on 3dfx Voodoo5 5500.
-// _mesa_add_extension(ctx, GL_TRUE, szGL_SGIS_multitexture, 0);
-
- }
-
- _mesa_enable_imaging_extensions(ctx);
- _mesa_enable_1_3_extensions(ctx);
- _mesa_enable_1_4_extensions(ctx);
-}
-
-//---------------------------------------------------------------------------
diff --git a/src/mesa/drivers/windows/gldirect/dx8/gld_pipeline_dx8.c b/src/mesa/drivers/windows/gldirect/dx8/gld_pipeline_dx8.c
deleted file mode 100644
index 2baea57443..0000000000
--- a/src/mesa/drivers/windows/gldirect/dx8/gld_pipeline_dx8.c
+++ /dev/null
@@ -1,77 +0,0 @@
-/****************************************************************************
-*
-* Mesa 3-D graphics library
-* Direct3D Driver Interface
-*
-* ========================================================================
-*
-* Copyright (C) 1991-2004 SciTech Software, Inc. 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
-* SCITECH SOFTWARE INC 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.
-*
-* ======================================================================
-*
-* Language: ANSI C
-* Environment: Windows 9x/2000/XP/XBox (Win32)
-*
-* Description: Mesa transformation pipeline with GLDirect fastpath
-*
-****************************************************************************/
-
-//#include "../GLDirect.h"
-
-#include "dglcontext.h"
-#include "ddlog.h"
-#include "gld_dx8.h"
-
-#include "tnl/tnl.h"
-#include "tnl/t_context.h"
-#include "tnl/t_pipeline.h"
-
-//---------------------------------------------------------------------------
-
-extern struct tnl_pipeline_stage _gld_d3d_render_stage;
-extern struct tnl_pipeline_stage _gld_mesa_render_stage;
-
-static const struct tnl_pipeline_stage *gld_pipeline[] = {
- &_gld_d3d_render_stage, // Direct3D TnL
- &_tnl_vertex_transform_stage,
- &_tnl_normal_transform_stage,
- &_tnl_lighting_stage,
- &_tnl_fog_coordinate_stage, /* TODO: Omit fog stage. ??? */
- &_tnl_texgen_stage,
- &_tnl_texture_transform_stage,
- &_tnl_point_attenuation_stage,
- &_gld_mesa_render_stage, // Mesa TnL, D3D rendering
- 0,
-};
-
-//---------------------------------------------------------------------------
-
-void gldInstallPipeline_DX8(
- GLcontext *ctx)
-{
- // Remove any existing pipeline stages,
- // then install GLDirect pipeline stages.
-
- _tnl_destroy_pipeline(ctx);
- _tnl_install_pipeline(ctx, gld_pipeline);
-}
-
-//---------------------------------------------------------------------------
diff --git a/src/mesa/drivers/windows/gldirect/dx8/gld_primitive_dx8.c b/src/mesa/drivers/windows/gldirect/dx8/gld_primitive_dx8.c
deleted file mode 100644
index a5b5462f03..0000000000
--- a/src/mesa/drivers/windows/gldirect/dx8/gld_primitive_dx8.c
+++ /dev/null
@@ -1,1446 +0,0 @@
-/****************************************************************************
-*
-* Mesa 3-D graphics library
-* Direct3D Driver Interface
-*
-* ========================================================================
-*
-* Copyright (C) 1991-2004 SciTech Software, Inc. 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
-* SCITECH SOFTWARE INC 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.
-*
-* ======================================================================
-*
-* Language: ANSI C
-* Environment: Windows 9x/2000/XP/XBox (Win32)
-*
-* Description: Primitive (points/lines/tris/quads) rendering
-*
-****************************************************************************/
-
-//#include "../GLDirect.h"
-
-//#include "gld_dx8.h"
-
-#include "dglcontext.h"
-#include "ddlog.h"
-#include "gld_dx8.h"
-
-#include "glheader.h"
-#include "context.h"
-#include "colormac.h"
-#include "depth.h"
-#include "extensions.h"
-#include "macros.h"
-#include "matrix.h"
-// #include "mem.h"
-//#include "mmath.h"
-#include "mtypes.h"
-#include "texformat.h"
-#include "texstore.h"
-#include "vbo/vbo.h"
-#include "swrast/swrast.h"
-#include "swrast_setup/swrast_setup.h"
-#include "swrast_setup/ss_context.h"
-#include "swrast/s_context.h"
-#include "swrast/s_depth.h"
-#include "swrast/s_lines.h"
-#include "swrast/s_triangle.h"
-#include "swrast/s_trispan.h"
-#include "tnl/tnl.h"
-#include "tnl/t_context.h"
-#include "tnl/t_pipeline.h"
-
-// Disable compiler complaints about unreferenced local variables
-#pragma warning (disable:4101)
-
-//---------------------------------------------------------------------------
-// Helper defines for primitives
-//---------------------------------------------------------------------------
-
-//static const float ooZ = 1.0f / 65536.0f; // One over Z
-
-#define GLD_COLOUR (D3DCOLOR_RGBA(swv->color[0], swv->color[1], swv->color[2], swv->color[3]))
-#define GLD_SPECULAR (D3DCOLOR_RGBA(swv->specular[0], swv->specular[1], swv->specular[2], swv->specular[3]))
-#define GLD_FLIP_Y(y) (gldCtx->dwHeight - (y))
-
-//---------------------------------------------------------------------------
-// 2D vertex setup
-//---------------------------------------------------------------------------
-
-#define GLD_SETUP_2D_VARS_POINTS \
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx); \
- GLD_driver_dx8 *gld = GLD_GET_DX8_DRIVER(gldCtx); \
- GLD_2D_VERTEX *pV = (GLD_2D_VERTEX*)gld->PB2d.pPoints; \
- SScontext *ss = SWSETUP_CONTEXT(ctx); \
- SWvertex *swv; \
- DWORD dwSpecularColour; \
- DWORD dwFlatColour
-
-#define GLD_SETUP_2D_VARS_LINES \
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx); \
- GLD_driver_dx8 *gld = GLD_GET_DX8_DRIVER(gldCtx); \
- GLD_2D_VERTEX *pV = (GLD_2D_VERTEX*)gld->PB2d.pLines; \
- SScontext *ss = SWSETUP_CONTEXT(ctx); \
- SWvertex *swv; \
- DWORD dwSpecularColour; \
- DWORD dwFlatColour
-
-#define GLD_SETUP_2D_VARS_TRIANGLES \
- BOOL bFog = ctx->Fog.Enabled; \
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx); \
- GLD_driver_dx8 *gld = GLD_GET_DX8_DRIVER(gldCtx); \
- GLD_2D_VERTEX *pV = (GLD_2D_VERTEX*)gld->PB2d.pTriangles; \
- SScontext *ss = SWSETUP_CONTEXT(ctx); \
- SWvertex *swv; \
- DWORD dwSpecularColour; \
- DWORD dwFlatColour; \
- GLuint facing = 0; \
- struct vertex_buffer *VB; \
- GLchan (*vbcolor)[4]; \
- GLchan (*vbspec)[4]
-
-#define GLD_SETUP_GET_SWVERT(s) \
- swv = &ss->verts[##s]
-
-#define GLD_SETUP_2D_VERTEX \
- pV->x = swv->win[0]; \
- pV->y = GLD_FLIP_Y(swv->win[1]); \
- pV->rhw = swv->win[3]
-
-#define GLD_SETUP_SMOOTH_COLOUR \
- pV->diffuse = GLD_COLOUR
-
-#define GLD_SETUP_GET_FLAT_COLOUR \
- dwFlatColour = GLD_COLOUR
-#define GLD_SETUP_GET_FLAT_FOG_COLOUR \
- dwFlatColour = _gldComputeFog(ctx, swv)
-
-#define GLD_SETUP_USE_FLAT_COLOUR \
- pV->diffuse = dwFlatColour
-
-#define GLD_SETUP_GET_FLAT_SPECULAR \
- dwSpecularColour= GLD_SPECULAR
-
-#define GLD_SETUP_USE_FLAT_SPECULAR \
- pV->specular = dwSpecularColour
-
-#define GLD_SETUP_DEPTH \
- pV->sz = swv->win[2] / ctx->DepthMaxF
-// pV->z = swv->win[2] * ooZ;
-
-#define GLD_SETUP_SPECULAR \
- pV->specular = GLD_SPECULAR
-
-#define GLD_SETUP_FOG \
- pV->diffuse = _gldComputeFog(ctx, swv)
-
-#define GLD_SETUP_TEX0 \
- pV->t0_u = swv->texcoord[0][0]; \
- pV->t0_v = swv->texcoord[0][1]
-
-#define GLD_SETUP_TEX1 \
- pV->t1_u = swv->texcoord[1][0]; \
- pV->t1_v = swv->texcoord[1][1]
-
-#define GLD_SETUP_LIGHTING(v) \
- if (facing == 1) { \
- pV->diffuse = D3DCOLOR_RGBA(vbcolor[##v][0], vbcolor[##v][1], vbcolor[##v][2], vbcolor[##v][3]); \
- if (vbspec) { \
- pV->specular = D3DCOLOR_RGBA(vbspec[##v][0], vbspec[##v][1], vbspec[##v][2], vbspec[##v][3]); \
- } \
- } else { \
- if (bFog) \
- GLD_SETUP_FOG; \
- else \
- GLD_SETUP_SMOOTH_COLOUR; \
- GLD_SETUP_SPECULAR; \
- }
-
-#define GLD_SETUP_GET_FLAT_LIGHTING(v) \
- if (facing == 1) { \
- dwFlatColour = D3DCOLOR_RGBA(vbcolor[##v][0], vbcolor[##v][1], vbcolor[##v][2], vbcolor[##v][3]); \
- if (vbspec) { \
- dwSpecularColour = D3DCOLOR_RGBA(vbspec[##v][0], vbspec[##v][1], vbspec[##v][2], vbspec[##v][3]); \
- } \
- }
-
-#define GLD_SETUP_TWOSIDED_LIGHTING \
- /* Two-sided lighting */ \
- if (ctx->_TriangleCaps & DD_TRI_LIGHT_TWOSIDE) { \
- SWvertex *verts = SWSETUP_CONTEXT(ctx)->verts; \
- SWvertex *v[3]; \
- GLfloat ex,ey,fx,fy,cc; \
- /* Get vars for later */ \
- VB = &TNL_CONTEXT(ctx)->vb; \
- vbcolor = (GLchan (*)[4])VB->ColorPtr[1]->data; \
- if (VB->SecondaryColorPtr[1]) { \
- vbspec = (GLchan (*)[4])VB->SecondaryColorPtr[1]->data; \
- } else { \
- vbspec = NULL; \
- } \
- v[0] = &verts[v0]; \
- v[1] = &verts[v1]; \
- v[2] = &verts[v2]; \
- ex = v[0]->win[0] - v[2]->win[0]; \
- ey = v[0]->win[1] - v[2]->win[1]; \
- fx = v[1]->win[0] - v[2]->win[0]; \
- fy = v[1]->win[1] - v[2]->win[1]; \
- cc = ex*fy - ey*fx; \
- facing = (cc < 0.0) ^ ctx->Polygon._FrontBit; \
- }
-
-//---------------------------------------------------------------------------
-// 3D vertex setup
-//---------------------------------------------------------------------------
-
-#define GLD_SETUP_3D_VARS_POINTS \
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx); \
- GLD_driver_dx8 *gld = GLD_GET_DX8_DRIVER(gldCtx); \
- GLD_3D_VERTEX *pV = (GLD_3D_VERTEX*)gld->PB3d.pPoints; \
- TNLcontext *tnl = TNL_CONTEXT(ctx); \
- struct vertex_buffer *VB = &tnl->vb; \
- GLfloat (*p4f)[4]; \
- GLfloat (*tc)[4]; \
- DWORD dwColor;
-
-#define GLD_SETUP_3D_VARS_LINES \
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx); \
- GLD_driver_dx8 *gld = GLD_GET_DX8_DRIVER(gldCtx); \
- GLD_3D_VERTEX *pV = (GLD_3D_VERTEX*)gld->PB3d.pLines; \
- TNLcontext *tnl = TNL_CONTEXT(ctx); \
- struct vertex_buffer *VB = &tnl->vb; \
- GLfloat (*p4f)[4]; \
- GLfloat (*tc)[4]; \
- DWORD dwColor;
-
-#define GLD_SETUP_3D_VARS_TRIANGLES \
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx); \
- GLD_driver_dx8 *gld = GLD_GET_DX8_DRIVER(gldCtx); \
- GLD_3D_VERTEX *pV = (GLD_3D_VERTEX*)gld->PB3d.pTriangles; \
- TNLcontext *tnl = TNL_CONTEXT(ctx); \
- struct vertex_buffer *VB = &tnl->vb; \
- GLfloat (*p4f)[4]; \
- GLfloat (*tc)[4]; \
- DWORD dwColor;
-
-#define GLD_SETUP_3D_VERTEX(v) \
- p4f = VB->ObjPtr->data; \
- pV->Position.x = p4f[##v][0]; \
- pV->Position.y = p4f[##v][1]; \
- pV->Position.z = p4f[##v][2];
-
-#define GLD_SETUP_SMOOTH_COLOUR_3D(v) \
- p4f = (GLfloat (*)[4])VB->ColorPtr[0]->data; \
- pV->Diffuse = D3DCOLOR_COLORVALUE(p4f[##v][0], p4f[##v][1], p4f[##v][2], p4f[##v][3]);
-
-
-#define GLD_SETUP_GET_FLAT_COLOUR_3D(v) \
- p4f = (GLfloat (*)[4])VB->ColorPtr[0]->data; \
- dwColor = D3DCOLOR_COLORVALUE(p4f[##v][0], p4f[##v][1], p4f[##v][2], p4f[##v][3]);
-
-#define GLD_SETUP_USE_FLAT_COLOUR_3D \
- pV->Diffuse = dwColor;
-
-#define GLD_SETUP_TEX0_3D(v) \
- if (VB->TexCoordPtr[0]) { \
- tc = VB->TexCoordPtr[0]->data; \
- pV->TexUnit0.x = tc[##v][0]; \
- pV->TexUnit0.y = tc[##v][1]; \
- }
-
-#define GLD_SETUP_TEX1_3D(v) \
- if (VB->TexCoordPtr[1]) { \
- tc = VB->TexCoordPtr[1]->data; \
- pV->TexUnit1.x = tc[##v][0]; \
- pV->TexUnit1.y = tc[##v][1]; \
- }
-
-//---------------------------------------------------------------------------
-// Helper functions
-//---------------------------------------------------------------------------
-
-__inline DWORD _gldComputeFog(
- GLcontext *ctx,
- SWvertex *swv)
-{
- // Full fog calculation.
- // Based on Mesa code.
-
- GLchan rFog, gFog, bFog;
- GLchan fR, fG, fB;
- const GLfloat f = swv->fog;
- const GLfloat g = 1.0f - f;
-
- UNCLAMPED_FLOAT_TO_CHAN(rFog, ctx->Fog.Color[RCOMP]);
- UNCLAMPED_FLOAT_TO_CHAN(gFog, ctx->Fog.Color[GCOMP]);
- UNCLAMPED_FLOAT_TO_CHAN(bFog, ctx->Fog.Color[BCOMP]);
- fR = f * swv->color[0] + g * rFog;
- fG = f * swv->color[1] + g * gFog;
- fB = f * swv->color[2] + g * bFog;
- return D3DCOLOR_RGBA(fR, fG, fB, swv->color[3]);
-}
-
-//---------------------------------------------------------------------------
-
-void gld_ResetLineStipple_DX8(
- GLcontext *ctx)
-{
- // TODO: Fake stipple with a 32x32 texture.
-}
-
-//---------------------------------------------------------------------------
-// 2D (post-transformed) primitives
-//---------------------------------------------------------------------------
-
-void gld_Points2D_DX8(
- GLcontext *ctx,
- GLuint first,
- GLuint last)
-{
- GLD_SETUP_2D_VARS_POINTS;
-
- unsigned i;
- struct vertex_buffer *VB = &TNL_CONTEXT(ctx)->vb;
-
- // _Size is already clamped to MaxPointSize and MinPointSize
- IDirect3DDevice8_SetRenderState(gld->pDev, D3DRS_POINTSIZE, *((DWORD*)&ctx->Point._Size));
-
- if (VB->Elts) {
- for (i=first; i<last; i++, pV++) {
- if (VB->ClipMask[VB->Elts[i]] == 0) {
-// _swrast_Point( ctx, &verts[VB->Elts[i]] );
- GLD_SETUP_GET_SWVERT(VB->Elts[i]);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_SMOOTH_COLOUR;
- GLD_SETUP_DEPTH;
- GLD_SETUP_SPECULAR;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- }
- }
- } else {
- GLD_SETUP_GET_SWVERT(first);
- for (i=first; i<last; i++, swv++, pV++) {
- if (VB->ClipMask[i] == 0) {
-// _swrast_Point( ctx, &verts[i] );
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_SMOOTH_COLOUR;
- GLD_SETUP_DEPTH;
- GLD_SETUP_SPECULAR;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- }
- }
- }
-
- gld->PB2d.pPoints = (BYTE*)pV;
- gld->PB2d.nPoints += (last-first);
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Line2DFlat_DX8(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1)
-{
- GLD_SETUP_2D_VARS_LINES;
-
- GLD_SETUP_GET_SWVERT(v1);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_GET_FLAT_COLOUR;
- GLD_SETUP_USE_FLAT_COLOUR;
- GLD_SETUP_GET_FLAT_SPECULAR;
- GLD_SETUP_USE_FLAT_SPECULAR;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v0);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_USE_FLAT_COLOUR;
- GLD_SETUP_USE_FLAT_SPECULAR;
- pV++;
-
- gld->PB2d.pLines = (BYTE*)pV;
- gld->PB2d.nLines++;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Line2DSmooth_DX8(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1)
-{
- GLD_SETUP_2D_VARS_LINES;
-
- GLD_SETUP_GET_SWVERT(v0);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_SMOOTH_COLOUR;
- GLD_SETUP_DEPTH;
- GLD_SETUP_SPECULAR;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v1);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_SMOOTH_COLOUR;
- GLD_SETUP_SPECULAR;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- pV++;
-
- gld->PB2d.pLines = (BYTE*)pV;
- gld->PB2d.nLines++;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Triangle2DFlat_DX8(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1,
- GLuint v2)
-{
- GLD_SETUP_2D_VARS_TRIANGLES;
-
- GLD_SETUP_GET_SWVERT(v2);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_GET_FLAT_COLOUR;
- GLD_SETUP_USE_FLAT_COLOUR;
- pV++;;
-
- GLD_SETUP_GET_SWVERT(v0);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_USE_FLAT_COLOUR;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v1);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_USE_FLAT_COLOUR;
- pV++;
-
- gld->PB2d.pTriangles = (BYTE*)pV;
- gld->PB2d.nTriangles++;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Triangle2DSmooth_DX8(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1,
- GLuint v2)
-{
-
- GLD_SETUP_2D_VARS_TRIANGLES;
-
- GLD_SETUP_GET_SWVERT(v0);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_SMOOTH_COLOUR;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v1);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_SMOOTH_COLOUR;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v2);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_SMOOTH_COLOUR;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- pV++;
-
- gld->PB2d.pTriangles = (BYTE*)pV;
- gld->PB2d.nTriangles++;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Triangle2DFlatExtras_DX8(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1,
- GLuint v2)
-{
- GLD_SETUP_2D_VARS_TRIANGLES;
-
- GLD_SETUP_TWOSIDED_LIGHTING(v2);
-
- GLD_SETUP_GET_SWVERT(v2);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- if (bFog)
- GLD_SETUP_GET_FLAT_FOG_COLOUR;
- else
- GLD_SETUP_GET_FLAT_COLOUR;
- GLD_SETUP_GET_FLAT_SPECULAR;
- GLD_SETUP_GET_FLAT_LIGHTING(v2);
- GLD_SETUP_USE_FLAT_COLOUR;
- GLD_SETUP_USE_FLAT_SPECULAR;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v0);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_USE_FLAT_COLOUR;
- GLD_SETUP_USE_FLAT_SPECULAR;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v1);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_USE_FLAT_COLOUR;
- GLD_SETUP_USE_FLAT_SPECULAR;
- pV++;
-
- gld->PB2d.pTriangles = (BYTE*)pV;
- gld->PB2d.nTriangles++;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Triangle2DSmoothExtras_DX8(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1,
- GLuint v2)
-{
- GLD_SETUP_2D_VARS_TRIANGLES;
-
- GLD_SETUP_TWOSIDED_LIGHTING(v0);
-
- GLD_SETUP_GET_SWVERT(v0);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_LIGHTING(v0);
- pV++;
-
- GLD_SETUP_GET_SWVERT(v1);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_LIGHTING(v1);
- pV++;
-
- GLD_SETUP_GET_SWVERT(v2);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_LIGHTING(v2);
- pV++;
-
- gld->PB2d.pTriangles = (BYTE*)pV;
- gld->PB2d.nTriangles++;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Quad2DFlat_DX8(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1,
- GLuint v2,
- GLuint v3)
-{
- GLD_SETUP_2D_VARS_TRIANGLES;
-
- GLD_SETUP_GET_SWVERT(v3);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_GET_FLAT_COLOUR;
- GLD_SETUP_USE_FLAT_COLOUR;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v0);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_USE_FLAT_COLOUR;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v1);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_USE_FLAT_COLOUR;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v1);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_USE_FLAT_COLOUR;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v2);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_USE_FLAT_COLOUR;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v3);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_USE_FLAT_COLOUR;
- pV++;
-
- gld->PB2d.pTriangles = (BYTE*)pV;
- gld->PB2d.nTriangles += 2;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Quad2DSmooth_DX8(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1,
- GLuint v2,
- GLuint v3)
-{
- GLD_SETUP_2D_VARS_TRIANGLES;
-
- GLD_SETUP_GET_SWVERT(v0);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_SMOOTH_COLOUR;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v1);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_SMOOTH_COLOUR;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v2);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_SMOOTH_COLOUR;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v2);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_SMOOTH_COLOUR;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v3);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_SMOOTH_COLOUR;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v0);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_SMOOTH_COLOUR;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- pV++;
-
- gld->PB2d.pTriangles = (BYTE*)pV;
- gld->PB2d.nTriangles += 2;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Quad2DFlatExtras_DX8(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1,
- GLuint v2,
- GLuint v3)
-{
- GLD_SETUP_2D_VARS_TRIANGLES;
-
- GLD_SETUP_TWOSIDED_LIGHTING(v3);
-
- GLD_SETUP_GET_SWVERT(v3);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- if (bFog)
- GLD_SETUP_GET_FLAT_FOG_COLOUR;
- else
- GLD_SETUP_GET_FLAT_COLOUR;
- GLD_SETUP_GET_FLAT_SPECULAR;
- GLD_SETUP_GET_FLAT_LIGHTING(v3);
- GLD_SETUP_USE_FLAT_COLOUR;
- GLD_SETUP_USE_FLAT_SPECULAR;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v0);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_USE_FLAT_COLOUR;
- GLD_SETUP_USE_FLAT_SPECULAR;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v1);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_USE_FLAT_COLOUR;
- GLD_SETUP_USE_FLAT_SPECULAR;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v1);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_USE_FLAT_COLOUR;
- GLD_SETUP_USE_FLAT_SPECULAR;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v2);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_USE_FLAT_COLOUR;
- GLD_SETUP_USE_FLAT_SPECULAR;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v3);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_USE_FLAT_COLOUR;
- GLD_SETUP_USE_FLAT_SPECULAR;
- pV++;
-
- gld->PB2d.pTriangles = (BYTE*)pV;
- gld->PB2d.nTriangles += 2;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Quad2DSmoothExtras_DX8(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1,
- GLuint v2,
- GLuint v3)
-{
- GLD_SETUP_2D_VARS_TRIANGLES;
-
- GLD_SETUP_TWOSIDED_LIGHTING(v0);
-
- GLD_SETUP_GET_SWVERT(v0);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_LIGHTING(v0);
- pV++;
-
- GLD_SETUP_GET_SWVERT(v1);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_LIGHTING(v1);
- pV++;
-
- GLD_SETUP_GET_SWVERT(v2);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_LIGHTING(v2);
- pV++;
-
- GLD_SETUP_GET_SWVERT(v2);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_LIGHTING(v2);
- pV++;
-
- GLD_SETUP_GET_SWVERT(v3);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_LIGHTING(v3);
- pV++;
-
- GLD_SETUP_GET_SWVERT(v0);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_LIGHTING(v0);
- pV++;
-
- gld->PB2d.pTriangles = (BYTE*)pV;
- gld->PB2d.nTriangles += 2;
-}
-
-//---------------------------------------------------------------------------
-// 3D (pre-transformed) primitives
-//---------------------------------------------------------------------------
-
-void gld_Points3D_DX8(
- GLcontext *ctx,
- GLuint first,
- GLuint last)
-{
- GLD_SETUP_3D_VARS_POINTS
-
- unsigned i;
-// struct vertex_buffer *VB = &TNL_CONTEXT(ctx)->vb;
-
- // _Size is already clamped to MaxPointSize and MinPointSize
- IDirect3DDevice8_SetRenderState(gld->pDev, D3DRS_POINTSIZE, *((DWORD*)&ctx->Point._Size));
-
- if (VB->Elts) {
- for (i=first; i<last; i++, pV++) {
- if (VB->ClipMask[VB->Elts[i]] == 0) {
-// _swrast_Point( ctx, &verts[VB->Elts[i]] );
-// GLD_SETUP_GET_SWVERT(VB->Elts[i]);
- GLD_SETUP_3D_VERTEX(VB->Elts[i])
- GLD_SETUP_SMOOTH_COLOUR_3D(i)
- GLD_SETUP_TEX0_3D(i)
- GLD_SETUP_TEX1_3D(i)
- }
- }
- } else {
-// GLD_SETUP_GET_SWVERT(first);
- for (i=first; i<last; i++, pV++) {
- if (VB->ClipMask[i] == 0) {
-// _swrast_Point( ctx, &verts[i] );
- GLD_SETUP_3D_VERTEX(i)
- GLD_SETUP_SMOOTH_COLOUR_3D(i)
- GLD_SETUP_TEX0_3D(i)
- GLD_SETUP_TEX1_3D(i)
- }
- }
- }
-/*
- for (i=first; i<last; i++, pV++) {
- GLD_SETUP_3D_VERTEX(i)
- GLD_SETUP_SMOOTH_COLOUR_3D(i)
- GLD_SETUP_TEX0_3D(i)
- GLD_SETUP_TEX1_3D(i)
- }
-*/
- gld->PB3d.pPoints = (BYTE*)pV;
- gld->PB3d.nPoints += (last-first);
-}
-
-//---------------------------------------------------------------------------
-// Line functions
-//---------------------------------------------------------------------------
-
-void gld_Line3DFlat_DX8(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1)
-{
- GLD_SETUP_3D_VARS_LINES
-
- GLD_SETUP_3D_VERTEX(v1)
- GLD_SETUP_GET_FLAT_COLOUR_3D(v1)
- GLD_SETUP_USE_FLAT_COLOUR_3D
- GLD_SETUP_TEX0_3D(v1)
- GLD_SETUP_TEX1_3D(v1)
- pV++;
-
- GLD_SETUP_3D_VERTEX(v0)
- GLD_SETUP_USE_FLAT_COLOUR_3D
- GLD_SETUP_TEX0_3D(v0)
- GLD_SETUP_TEX1_3D(v0)
- pV++;
-
- gld->PB3d.pLines = (BYTE*)pV;
- gld->PB3d.nLines++;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Line3DSmooth_DX8(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1)
-{
- GLD_SETUP_3D_VARS_LINES
-
- GLD_SETUP_3D_VERTEX(v1)
- GLD_SETUP_SMOOTH_COLOUR_3D(v1)
- GLD_SETUP_TEX0_3D(v1)
- GLD_SETUP_TEX1_3D(v1)
- pV++;
-
- GLD_SETUP_3D_VERTEX(v0)
- GLD_SETUP_SMOOTH_COLOUR_3D(v0)
- GLD_SETUP_TEX0_3D(v0)
- GLD_SETUP_TEX1_3D(v0)
- pV++;
-
- gld->PB3d.pLines = (BYTE*)pV;
- gld->PB3d.nLines++;
-}
-
-//---------------------------------------------------------------------------
-// Triangle functions
-//---------------------------------------------------------------------------
-
-void gld_Triangle3DFlat_DX8(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1,
- GLuint v2)
-{
- GLD_SETUP_3D_VARS_TRIANGLES
-
- GLD_SETUP_3D_VERTEX(v2)
- GLD_SETUP_TEX0_3D(v2)
- GLD_SETUP_TEX1_3D(v2)
- GLD_SETUP_GET_FLAT_COLOUR_3D(v2)
- GLD_SETUP_USE_FLAT_COLOUR_3D
- pV++;
-
- GLD_SETUP_3D_VERTEX(v0)
- GLD_SETUP_TEX0_3D(v0)
- GLD_SETUP_TEX1_3D(v0)
- GLD_SETUP_USE_FLAT_COLOUR_3D
- pV++;
-
- GLD_SETUP_3D_VERTEX(v1)
- GLD_SETUP_TEX0_3D(v1)
- GLD_SETUP_TEX1_3D(v1)
- GLD_SETUP_USE_FLAT_COLOUR_3D
- pV++;
-
- gld->PB3d.pTriangles = (BYTE*)pV;
- gld->PB3d.nTriangles++;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Triangle3DSmooth_DX8(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1,
- GLuint v2)
-{
- GLD_SETUP_3D_VARS_TRIANGLES
-
- GLD_SETUP_3D_VERTEX(v0)
- GLD_SETUP_SMOOTH_COLOUR_3D(v0)
- GLD_SETUP_TEX0_3D(v0)
- GLD_SETUP_TEX1_3D(v0)
- pV++;
-
- GLD_SETUP_3D_VERTEX(v1)
- GLD_SETUP_SMOOTH_COLOUR_3D(v1)
- GLD_SETUP_TEX0_3D(v1)
- GLD_SETUP_TEX1_3D(v1)
- pV++;
-
- GLD_SETUP_3D_VERTEX(v2)
- GLD_SETUP_SMOOTH_COLOUR_3D(v2)
- GLD_SETUP_TEX0_3D(v2)
- GLD_SETUP_TEX1_3D(v2)
- pV++;
-
- gld->PB3d.pTriangles = (BYTE*)pV;
- gld->PB3d.nTriangles++;
-}
-
-//---------------------------------------------------------------------------
-// Quad functions
-//---------------------------------------------------------------------------
-
-void gld_Quad3DFlat_DX8(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1,
- GLuint v2,
- GLuint v3)
-{
- GLD_SETUP_3D_VARS_TRIANGLES
-
- GLD_SETUP_3D_VERTEX(v3)
- GLD_SETUP_GET_FLAT_COLOUR_3D(v3)
- GLD_SETUP_USE_FLAT_COLOUR_3D
- GLD_SETUP_TEX0_3D(v3)
- GLD_SETUP_TEX1_3D(v3)
- pV++;
-
- GLD_SETUP_3D_VERTEX(v0)
- GLD_SETUP_USE_FLAT_COLOUR_3D
- GLD_SETUP_TEX0_3D(v0)
- GLD_SETUP_TEX1_3D(v0)
- pV++;
-
- GLD_SETUP_3D_VERTEX(v1)
- GLD_SETUP_USE_FLAT_COLOUR_3D
- GLD_SETUP_TEX0_3D(v1)
- GLD_SETUP_TEX1_3D(v1)
- pV++;
-
- GLD_SETUP_3D_VERTEX(v1)
- GLD_SETUP_USE_FLAT_COLOUR_3D
- GLD_SETUP_TEX0_3D(v1)
- GLD_SETUP_TEX1_3D(v1)
- pV++;
-
- GLD_SETUP_3D_VERTEX(v2)
- GLD_SETUP_USE_FLAT_COLOUR_3D
- GLD_SETUP_TEX0_3D(v2)
- GLD_SETUP_TEX1_3D(v2)
- pV++;
-
- GLD_SETUP_3D_VERTEX(v3)
- GLD_SETUP_USE_FLAT_COLOUR_3D
- GLD_SETUP_TEX0_3D(v3)
- GLD_SETUP_TEX1_3D(v3)
- pV++;
-
- gld->PB3d.pTriangles = (BYTE*)pV;
- gld->PB3d.nTriangles += 2;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Quad3DSmooth_DX8(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1,
- GLuint v2,
- GLuint v3)
-{
- GLD_SETUP_3D_VARS_TRIANGLES
-
- GLD_SETUP_3D_VERTEX(v0)
- GLD_SETUP_SMOOTH_COLOUR_3D(v0)
- GLD_SETUP_TEX0_3D(v0)
- GLD_SETUP_TEX1_3D(v0)
- pV++;
-
- GLD_SETUP_3D_VERTEX(v1)
- GLD_SETUP_SMOOTH_COLOUR_3D(v1)
- GLD_SETUP_TEX0_3D(v1)
- GLD_SETUP_TEX1_3D(v1)
- pV++;
-
- GLD_SETUP_3D_VERTEX(v2)
- GLD_SETUP_SMOOTH_COLOUR_3D(v2)
- GLD_SETUP_TEX0_3D(v2)
- GLD_SETUP_TEX1_3D(v2)
- pV++;
-
- GLD_SETUP_3D_VERTEX(v2)
- GLD_SETUP_SMOOTH_COLOUR_3D(v2)
- GLD_SETUP_TEX0_3D(v2)
- GLD_SETUP_TEX1_3D(v2)
- pV++;
-
- GLD_SETUP_3D_VERTEX(v3)
- GLD_SETUP_SMOOTH_COLOUR_3D(v3)
- GLD_SETUP_TEX0_3D(v3)
- GLD_SETUP_TEX1_3D(v3)
- pV++;
-
- GLD_SETUP_3D_VERTEX(v0)
- GLD_SETUP_SMOOTH_COLOUR_3D(v0)
- GLD_SETUP_TEX0_3D(v0)
- GLD_SETUP_TEX1_3D(v0)
- pV++;
-
- gld->PB3d.pTriangles = (BYTE*)pV;
- gld->PB3d.nTriangles += 2;
-}
-
-//---------------------------------------------------------------------------
-// Vertex setup for two-sided-lighting vertex shader
-//---------------------------------------------------------------------------
-
-/*
-
-void gld_Points2DTwoside_DX8(GLcontext *ctx, GLuint first, GLuint last)
-{
- // NOTE: Two-sided lighting does not apply to Points
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Line2DFlatTwoside_DX8(GLcontext *ctx, GLuint v0, GLuint v1)
-{
- // NOTE: Two-sided lighting does not apply to Lines
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Line2DSmoothTwoside_DX8(GLcontext *ctx, GLuint v0, GLuint v1)
-{
- // NOTE: Two-sided lighting does not apply to Lines
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Triangle2DFlatTwoside_DX8(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2)
-{
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Triangle2DSmoothTwoside_DX8(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx8 *gld = GLD_GET_DX8_DRIVER(gldCtx);
- GLD_TWOSIDED_VERTEX *pV = (GLD_TWOSIDED_VERTEX*)gld->PBtwosidelight.pTriangles;
- SScontext *ss = SWSETUP_CONTEXT(ctx);
- SWvertex *swv;
- DWORD dwSpecularColour;
- DWORD dwFlatColour;
- GLuint facing = 0;
- struct vertex_buffer *VB;
- GLchan (*vbcolor)[4];
- GLchan (*vbspec)[4];
-
- // Reciprocal of DepthMax
- const float ooDepthMax = 1.0f / ctx->DepthMaxF;
-
- // 1st vert
- swv = &ss->verts[v0];
- pV->Position.x = swv->win[0];
- pV->Position.y = GLD_FLIP_Y(swv->win[1]);
- pV->Position.z = swv->win[2] * ooDepthMax;
- pV->Position.w = swv->win[3];
- pV->TexUnit0.x = swv->texcoord[0][0];
- pV->TexUnit0.y = swv->texcoord[0][1];
- pV->TexUnit1.x = swv->texcoord[1][0];
- pV->TexUnit1.y = swv->texcoord[1][1];
- pV->FrontDiffuse = GLD_COLOUR;
- pV->FrontSpecular = GLD_SPECULAR;
- pV++;
-
- // 2nd vert
- swv = &ss->verts[v1];
- pV->Position.x = swv->win[0];
- pV->Position.y = GLD_FLIP_Y(swv->win[1]);
- pV->Position.z = swv->win[2] * ooDepthMax;
- pV->Position.w = swv->win[3];
- pV->TexUnit0.x = swv->texcoord[0][0];
- pV->TexUnit0.y = swv->texcoord[0][1];
- pV->TexUnit1.x = swv->texcoord[1][0];
- pV->TexUnit1.y = swv->texcoord[1][1];
- pV->FrontDiffuse = GLD_COLOUR;
- pV->FrontSpecular = GLD_SPECULAR;
- pV++;
-
- // 3rd vert
- swv = &ss->verts[v2];
- pV->Position.x = swv->win[0];
- pV->Position.y = GLD_FLIP_Y(swv->win[1]);
- pV->Position.z = swv->win[2] * ooDepthMax;
- pV->Position.w = swv->win[3];
- pV->TexUnit0.x = swv->texcoord[0][0];
- pV->TexUnit0.y = swv->texcoord[0][1];
- pV->TexUnit1.x = swv->texcoord[1][0];
- pV->TexUnit1.y = swv->texcoord[1][1];
- pV->FrontDiffuse = GLD_COLOUR;
- pV->FrontSpecular = GLD_SPECULAR;
- pV++;
-
- gld->PBtwosidelight.pTriangles = (BYTE*)pV;
- gld->PBtwosidelight.nTriangles++;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Quad2DFlatTwoside_DX8(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2, GLuint v3)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx8 *gld = GLD_GET_DX8_DRIVER(gldCtx);
- GLD_TWOSIDED_VERTEX *pV = (GLD_TWOSIDED_VERTEX*)gld->PBtwosidelight.pTriangles;
- SScontext *ss = SWSETUP_CONTEXT(ctx);
- SWvertex *swv;
- DWORD dwSpecularColour;
- DWORD dwFlatColour;
- GLuint facing = 0;
- struct vertex_buffer *VB;
- GLchan (*vbcolor)[4];
- GLchan (*vbspec)[4];
-
- // Reciprocal of DepthMax
- const float ooDepthMax = 1.0f / ctx->DepthMaxF;
-
- // 1st vert
- swv = &ss->verts[v0];
- pV->Position.x = swv->win[0];
- pV->Position.y = GLD_FLIP_Y(swv->win[1]);
- pV->Position.z = swv->win[2] * ooDepthMax;
- pV->Position.w = swv->win[3];
- pV->TexUnit0.x = swv->texcoord[0][0];
- pV->TexUnit0.y = swv->texcoord[0][1];
- pV->TexUnit1.x = swv->texcoord[1][0];
- pV->TexUnit1.y = swv->texcoord[1][1];
- pV->FrontDiffuse = GLD_COLOUR;
- pV->FrontSpecular = GLD_SPECULAR;
- pV++;
-
- // 2nd vert
- swv = &ss->verts[v1];
- pV->Position.x = swv->win[0];
- pV->Position.y = GLD_FLIP_Y(swv->win[1]);
- pV->Position.z = swv->win[2] * ooDepthMax;
- pV->Position.w = swv->win[3];
- pV->TexUnit0.x = swv->texcoord[0][0];
- pV->TexUnit0.y = swv->texcoord[0][1];
- pV->TexUnit1.x = swv->texcoord[1][0];
- pV->TexUnit1.y = swv->texcoord[1][1];
- pV->FrontDiffuse = GLD_COLOUR;
- pV->FrontSpecular = GLD_SPECULAR;
- pV++;
-
- // 3rd vert
- swv = &ss->verts[v2];
- pV->Position.x = swv->win[0];
- pV->Position.y = GLD_FLIP_Y(swv->win[1]);
- pV->Position.z = swv->win[2] * ooDepthMax;
- pV->Position.w = swv->win[3];
- pV->TexUnit0.x = swv->texcoord[0][0];
- pV->TexUnit0.y = swv->texcoord[0][1];
- pV->TexUnit1.x = swv->texcoord[1][0];
- pV->TexUnit1.y = swv->texcoord[1][1];
- pV->FrontDiffuse = GLD_COLOUR;
- pV->FrontSpecular = GLD_SPECULAR;
- pV++;
-
- // 4th vert
- swv = &ss->verts[v2];
- pV->Position.x = swv->win[0];
- pV->Position.y = GLD_FLIP_Y(swv->win[1]);
- pV->Position.z = swv->win[2] * ooDepthMax;
- pV->Position.w = swv->win[3];
- pV->TexUnit0.x = swv->texcoord[0][0];
- pV->TexUnit0.y = swv->texcoord[0][1];
- pV->TexUnit1.x = swv->texcoord[1][0];
- pV->TexUnit1.y = swv->texcoord[1][1];
- pV->FrontDiffuse = GLD_COLOUR;
- pV->FrontSpecular = GLD_SPECULAR;
- pV++;
-
- // 5th vert
- swv = &ss->verts[v3];
- pV->Position.x = swv->win[0];
- pV->Position.y = GLD_FLIP_Y(swv->win[1]);
- pV->Position.z = swv->win[2] * ooDepthMax;
- pV->Position.w = swv->win[3];
- pV->TexUnit0.x = swv->texcoord[0][0];
- pV->TexUnit0.y = swv->texcoord[0][1];
- pV->TexUnit1.x = swv->texcoord[1][0];
- pV->TexUnit1.y = swv->texcoord[1][1];
- pV->FrontDiffuse = GLD_COLOUR;
- pV->FrontSpecular = GLD_SPECULAR;
- pV++;
-
- // 6th vert
- swv = &ss->verts[v0];
- pV->Position.x = swv->win[0];
- pV->Position.y = GLD_FLIP_Y(swv->win[1]);
- pV->Position.z = swv->win[2] * ooDepthMax;
- pV->Position.w = swv->win[3];
- pV->TexUnit0.x = swv->texcoord[0][0];
- pV->TexUnit0.y = swv->texcoord[0][1];
- pV->TexUnit1.x = swv->texcoord[1][0];
- pV->TexUnit1.y = swv->texcoord[1][1];
- pV->FrontDiffuse = GLD_COLOUR;
- pV->FrontSpecular = GLD_SPECULAR;
- pV++;
-
- gld->PBtwosidelight.pTriangles = (BYTE*)pV;
- gld->PBtwosidelight.nTriangles += 2;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Quad2DSmoothTwoside_DX8(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2, GLuint v3)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx8 *gld = GLD_GET_DX8_DRIVER(gldCtx);
- GLD_TWOSIDED_VERTEX *pV = (GLD_TWOSIDED_VERTEX*)gld->PBtwosidelight.pTriangles;
- SScontext *ss = SWSETUP_CONTEXT(ctx);
- SWvertex *swv;
- DWORD dwSpecularColour;
- DWORD dwFlatColour;
- GLuint facing = 0;
- struct vertex_buffer *VB;
- GLchan (*vbcolor)[4];
- GLchan (*vbspec)[4];
-
- // Reciprocal of DepthMax
- const float ooDepthMax = 1.0f / ctx->DepthMaxF;
-
- // 1st vert
- swv = &ss->verts[v0];
- pV->Position.x = swv->win[0];
- pV->Position.y = GLD_FLIP_Y(swv->win[1]);
- pV->Position.z = swv->win[2] * ooDepthMax;
- pV->Position.w = swv->win[3];
- pV->TexUnit0.x = swv->texcoord[0][0];
- pV->TexUnit0.y = swv->texcoord[0][1];
- pV->TexUnit1.x = swv->texcoord[1][0];
- pV->TexUnit1.y = swv->texcoord[1][1];
- pV->FrontDiffuse = GLD_COLOUR;
- pV->FrontSpecular = GLD_SPECULAR;
- pV++;
-
- // 2nd vert
- swv = &ss->verts[v1];
- pV->Position.x = swv->win[0];
- pV->Position.y = GLD_FLIP_Y(swv->win[1]);
- pV->Position.z = swv->win[2] * ooDepthMax;
- pV->Position.w = swv->win[3];
- pV->TexUnit0.x = swv->texcoord[0][0];
- pV->TexUnit0.y = swv->texcoord[0][1];
- pV->TexUnit1.x = swv->texcoord[1][0];
- pV->TexUnit1.y = swv->texcoord[1][1];
- pV->FrontDiffuse = GLD_COLOUR;
- pV->FrontSpecular = GLD_SPECULAR;
- pV++;
-
- // 3rd vert
- swv = &ss->verts[v2];
- pV->Position.x = swv->win[0];
- pV->Position.y = GLD_FLIP_Y(swv->win[1]);
- pV->Position.z = swv->win[2] * ooDepthMax;
- pV->Position.w = swv->win[3];
- pV->TexUnit0.x = swv->texcoord[0][0];
- pV->TexUnit0.y = swv->texcoord[0][1];
- pV->TexUnit1.x = swv->texcoord[1][0];
- pV->TexUnit1.y = swv->texcoord[1][1];
- pV->FrontDiffuse = GLD_COLOUR;
- pV->FrontSpecular = GLD_SPECULAR;
- pV++;
-
- // 4th vert
- swv = &ss->verts[v2];
- pV->Position.x = swv->win[0];
- pV->Position.y = GLD_FLIP_Y(swv->win[1]);
- pV->Position.z = swv->win[2] * ooDepthMax;
- pV->Position.w = swv->win[3];
- pV->TexUnit0.x = swv->texcoord[0][0];
- pV->TexUnit0.y = swv->texcoord[0][1];
- pV->TexUnit1.x = swv->texcoord[1][0];
- pV->TexUnit1.y = swv->texcoord[1][1];
- pV->FrontDiffuse = GLD_COLOUR;
- pV->FrontSpecular = GLD_SPECULAR;
- pV++;
-
- // 5th vert
- swv = &ss->verts[v3];
- pV->Position.x = swv->win[0];
- pV->Position.y = GLD_FLIP_Y(swv->win[1]);
- pV->Position.z = swv->win[2] * ooDepthMax;
- pV->Position.w = swv->win[3];
- pV->TexUnit0.x = swv->texcoord[0][0];
- pV->TexUnit0.y = swv->texcoord[0][1];
- pV->TexUnit1.x = swv->texcoord[1][0];
- pV->TexUnit1.y = swv->texcoord[1][1];
- pV->FrontDiffuse = GLD_COLOUR;
- pV->FrontSpecular = GLD_SPECULAR;
- pV++;
-
- // 6th vert
- swv = &ss->verts[v0];
- pV->Position.x = swv->win[0];
- pV->Position.y = GLD_FLIP_Y(swv->win[1]);
- pV->Position.z = swv->win[2] * ooDepthMax;
- pV->Position.w = swv->win[3];
- pV->TexUnit0.x = swv->texcoord[0][0];
- pV->TexUnit0.y = swv->texcoord[0][1];
- pV->TexUnit1.x = swv->texcoord[1][0];
- pV->TexUnit1.y = swv->texcoord[1][1];
- pV->FrontDiffuse = GLD_COLOUR;
- pV->FrontSpecular = GLD_SPECULAR;
- pV++;
-
- gld->PBtwosidelight.pTriangles = (BYTE*)pV;
- gld->PBtwosidelight.nTriangles += 2;
-}
-
-//---------------------------------------------------------------------------
-
-*/
diff --git a/src/mesa/drivers/windows/gldirect/dx8/gld_texture_dx8.c b/src/mesa/drivers/windows/gldirect/dx8/gld_texture_dx8.c
deleted file mode 100644
index f24b3cfb74..0000000000
--- a/src/mesa/drivers/windows/gldirect/dx8/gld_texture_dx8.c
+++ /dev/null
@@ -1,2046 +0,0 @@
-/****************************************************************************
-*
-* Mesa 3-D graphics library
-* Direct3D Driver Interface
-*
-* ========================================================================
-*
-* Copyright (C) 1991-2004 SciTech Software, Inc. 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
-* SCITECH SOFTWARE INC 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.
-*
-* ======================================================================
-*
-* Language: ANSI C
-* Environment: Windows 9x/2000/XP/XBox (Win32)
-*
-* Description: Texture / Bitmap functions
-*
-****************************************************************************/
-
-#include "dglcontext.h"
-#include "ddlog.h"
-#include "gld_dx8.h"
-
-#include <d3dx8tex.h>
-
-#include "texformat.h"
-#include "colormac.h"
-#include "texstore.h"
-#include "image.h"
-// #include "mem.h"
-
-//---------------------------------------------------------------------------
-
-#define GLD_FLIP_HEIGHT(y,h) (gldCtx->dwHeight - (y) - (h))
-
-//---------------------------------------------------------------------------
-// 1D texture fetch
-//---------------------------------------------------------------------------
-
-#define CHAN_SRC( t, i, j, k, sz ) \
- ((GLchan *)(t)->Data + (i) * (sz))
-#define UBYTE_SRC( t, i, j, k, sz ) \
- ((GLubyte *)(t)->Data + (i) * (sz))
-#define USHORT_SRC( t, i, j, k ) \
- ((GLushort *)(t)->Data + (i))
-#define FLOAT_SRC( t, i, j, k ) \
- ((GLfloat *)(t)->Data + (i))
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_1d_texel_X8R8G8B8(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLchan *texel )
-{
- const GLchan *src = CHAN_SRC( texImage, i, j, k, 4 );
- GLchan *rgba = (GLchan *)texel;
- rgba[RCOMP] = src[2];
- rgba[GCOMP] = src[1];
- rgba[BCOMP] = src[0];
- rgba[ACOMP] = CHAN_MAX;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_1d_texel_f_X8R8G8B8(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLfloat *texel )
-{
- const GLchan *src = CHAN_SRC( texImage, i, j, k, 4 );
- texel[RCOMP] = CHAN_TO_FLOAT(src[0]);
- texel[GCOMP] = CHAN_TO_FLOAT(src[1]);
- texel[BCOMP] = CHAN_TO_FLOAT(src[2]);
- texel[ACOMP] = 1.f;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_1d_texel_X1R5G5B5(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLchan *texel )
-{
- const GLushort *src = USHORT_SRC( texImage, i, j, k );
- GLchan *rgba = (GLchan *) texel; GLushort s = *src;
- rgba[RCOMP] = UBYTE_TO_CHAN( ((s >> 10) & 0xf8) * 255 / 0xf8 );
- rgba[GCOMP] = UBYTE_TO_CHAN( ((s >> 5) & 0xf8) * 255 / 0xf8 );
- rgba[BCOMP] = UBYTE_TO_CHAN( ((s ) & 0xf8) * 255 / 0xf8 );
- rgba[ACOMP] = CHAN_MAX;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_1d_texel_f_X1R5G5B5(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLfloat *texel )
-{
- const GLushort *src = USHORT_SRC( texImage, i, j, k );
- GLushort s = *src;
- texel[RCOMP] = UBYTE_TO_FLOAT( ((s >> 10) & 0xf8) * 255 / 0xf8 );
- texel[GCOMP] = UBYTE_TO_FLOAT( ((s >> 5) & 0xf8) * 255 / 0xf8 );
- texel[BCOMP] = UBYTE_TO_FLOAT( ((s ) & 0xf8) * 255 / 0xf8 );
- texel[ACOMP] = 1.f;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_1d_texel_X4R4G4B4(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLchan *texel )
-{
- const GLushort *src = USHORT_SRC( texImage, i, j, k );
- GLchan *rgba = (GLchan *) texel; GLushort s = *src;
- rgba[RCOMP] = UBYTE_TO_CHAN( ((s >> 8) & 0xf) * 255 / 0xf );
- rgba[GCOMP] = UBYTE_TO_CHAN( ((s >> 4) & 0xf) * 255 / 0xf );
- rgba[BCOMP] = UBYTE_TO_CHAN( ((s ) & 0xf) * 255 / 0xf );
- rgba[ACOMP] = CHAN_MAX;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_1d_texel_f_X4R4G4B4(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLfloat *texel )
-{
- const GLushort *src = USHORT_SRC( texImage, i, j, k );
- GLushort s = *src;
- texel[RCOMP] = UBYTE_TO_FLOAT( ((s >> 8) & 0xf) * 255 / 0xf );
- texel[GCOMP] = UBYTE_TO_FLOAT( ((s >> 4) & 0xf) * 255 / 0xf );
- texel[BCOMP] = UBYTE_TO_FLOAT( ((s ) & 0xf) * 255 / 0xf );
- texel[ACOMP] = 1.f;
-}
-
-//---------------------------------------------------------------------------
-
-#undef CHAN_SRC
-#undef UBYTE_SRC
-#undef USHORT_SRC
-#undef FLOAT_SRC
-
-//---------------------------------------------------------------------------
-// 2D texture fetch
-//---------------------------------------------------------------------------
-
-#define CHAN_SRC( t, i, j, k, sz ) \
- ((GLchan *)(t)->Data + ((t)->Width * (j) + (i)) * (sz))
-#define UBYTE_SRC( t, i, j, k, sz ) \
- ((GLubyte *)(t)->Data + ((t)->Width * (j) + (i)) * (sz))
-#define USHORT_SRC( t, i, j, k ) \
- ((GLushort *)(t)->Data + ((t)->Width * (j) + (i)))
-#define FLOAT_SRC( t, i, j, k ) \
- ((GLfloat *)(t)->Data + ((t)->Width * (j) + (i)))
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_2d_texel_X8R8G8B8(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLchan *texel )
-{
- const GLchan *src = CHAN_SRC( texImage, i, j, k, 4 );
- GLchan *rgba = (GLchan *)texel;
- rgba[RCOMP] = src[2];
- rgba[GCOMP] = src[1];
- rgba[BCOMP] = src[0];
- rgba[ACOMP] = CHAN_MAX;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_2d_texel_f_X8R8G8B8(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLfloat *texel )
-{
- const GLchan *src = CHAN_SRC( texImage, i, j, k, 4 );
- texel[RCOMP] = CHAN_TO_FLOAT(src[0]);
- texel[GCOMP] = CHAN_TO_FLOAT(src[1]);
- texel[BCOMP] = CHAN_TO_FLOAT(src[2]);
- texel[ACOMP] = 1.f;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_2d_texel_X1R5G5B5(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLchan *texel )
-{
- const GLushort *src = USHORT_SRC( texImage, i, j, k );
- GLchan *rgba = (GLchan *) texel; GLushort s = *src;
- rgba[RCOMP] = UBYTE_TO_CHAN( ((s >> 10) & 0xf8) * 255 / 0xf8 );
- rgba[GCOMP] = UBYTE_TO_CHAN( ((s >> 5) & 0xf8) * 255 / 0xf8 );
- rgba[BCOMP] = UBYTE_TO_CHAN( ((s ) & 0xf8) * 255 / 0xf8 );
- rgba[ACOMP] = CHAN_MAX;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_2d_texel_f_X1R5G5B5(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLfloat *texel )
-{
- const GLushort *src = USHORT_SRC( texImage, i, j, k );
- GLushort s = *src;
- texel[RCOMP] = UBYTE_TO_FLOAT( ((s >> 10) & 0xf8) * 255 / 0xf8 );
- texel[GCOMP] = UBYTE_TO_FLOAT( ((s >> 5) & 0xf8) * 255 / 0xf8 );
- texel[BCOMP] = UBYTE_TO_FLOAT( ((s ) & 0xf8) * 255 / 0xf8 );
- texel[ACOMP] = 1.f;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_2d_texel_X4R4G4B4(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLchan *texel )
-{
- const GLushort *src = USHORT_SRC( texImage, i, j, k );
- GLchan *rgba = (GLchan *) texel; GLushort s = *src;
- rgba[RCOMP] = UBYTE_TO_CHAN( ((s >> 8) & 0xf) * 255 / 0xf );
- rgba[GCOMP] = UBYTE_TO_CHAN( ((s >> 4) & 0xf) * 255 / 0xf );
- rgba[BCOMP] = UBYTE_TO_CHAN( ((s ) & 0xf) * 255 / 0xf );
- rgba[ACOMP] = CHAN_MAX;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_2d_texel_f_X4R4G4B4(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLfloat *texel )
-{
- const GLushort *src = USHORT_SRC( texImage, i, j, k );
- GLushort s = *src;
- texel[RCOMP] = UBYTE_TO_FLOAT( ((s >> 8) & 0xf) * 255 / 0xf );
- texel[GCOMP] = UBYTE_TO_FLOAT( ((s >> 4) & 0xf) * 255 / 0xf );
- texel[BCOMP] = UBYTE_TO_FLOAT( ((s ) & 0xf) * 255 / 0xf );
- texel[ACOMP] = 1.f;
-}
-
-//---------------------------------------------------------------------------
-
-#undef CHAN_SRC
-#undef UBYTE_SRC
-#undef USHORT_SRC
-#undef FLOAT_SRC
-
-//---------------------------------------------------------------------------
-// 3D texture fetch
-//---------------------------------------------------------------------------
-
-#define CHAN_SRC( t, i, j, k, sz ) \
- (GLchan *)(t)->Data + (((t)->Height * (k) + (j)) * \
- (t)->Width + (i)) * (sz)
-#define UBYTE_SRC( t, i, j, k, sz ) \
- ((GLubyte *)(t)->Data + (((t)->Height * (k) + (j)) * \
- (t)->Width + (i)) * (sz))
-#define USHORT_SRC( t, i, j, k ) \
- ((GLushort *)(t)->Data + (((t)->Height * (k) + (j)) * \
- (t)->Width + (i)))
-#define FLOAT_SRC( t, i, j, k ) \
- ((GLfloat *)(t)->Data + (((t)->Height * (k) + (j)) * \
- (t)->Width + (i)))
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_3d_texel_X8R8G8B8(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLchan *texel )
-{
- const GLchan *src = CHAN_SRC( texImage, i, j, k, 4 );
- GLchan *rgba = (GLchan *)texel;
- rgba[RCOMP] = src[2];
- rgba[GCOMP] = src[1];
- rgba[BCOMP] = src[0];
- rgba[ACOMP] = CHAN_MAX;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_3d_texel_f_X8R8G8B8(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLfloat *texel )
-{
- const GLchan *src = CHAN_SRC( texImage, i, j, k, 4 );
- texel[RCOMP] = CHAN_TO_FLOAT(src[0]);
- texel[GCOMP] = CHAN_TO_FLOAT(src[1]);
- texel[BCOMP] = CHAN_TO_FLOAT(src[2]);
- texel[ACOMP] = 1.f;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_3d_texel_X1R5G5B5(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLchan *texel )
-{
- const GLushort *src = USHORT_SRC( texImage, i, j, k );
- GLchan *rgba = (GLchan *) texel; GLushort s = *src;
- rgba[RCOMP] = UBYTE_TO_CHAN( ((s >> 10) & 0xf8) * 255 / 0xf8 );
- rgba[GCOMP] = UBYTE_TO_CHAN( ((s >> 5) & 0xf8) * 255 / 0xf8 );
- rgba[BCOMP] = UBYTE_TO_CHAN( ((s ) & 0xf8) * 255 / 0xf8 );
- rgba[ACOMP] = CHAN_MAX;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_3d_texel_f_X1R5G5B5(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLfloat *texel )
-{
- const GLushort *src = USHORT_SRC( texImage, i, j, k );
- GLushort s = *src;
- texel[RCOMP] = UBYTE_TO_FLOAT( ((s >> 10) & 0xf8) * 255 / 0xf8 );
- texel[GCOMP] = UBYTE_TO_FLOAT( ((s >> 5) & 0xf8) * 255 / 0xf8 );
- texel[BCOMP] = UBYTE_TO_FLOAT( ((s ) & 0xf8) * 255 / 0xf8 );
- texel[ACOMP] = 1.f;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_3d_texel_X4R4G4B4(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLchan *texel )
-{
- const GLushort *src = USHORT_SRC( texImage, i, j, k );
- GLchan *rgba = (GLchan *) texel; GLushort s = *src;
- rgba[RCOMP] = UBYTE_TO_CHAN( ((s >> 8) & 0xf) * 255 / 0xf );
- rgba[GCOMP] = UBYTE_TO_CHAN( ((s >> 4) & 0xf) * 255 / 0xf );
- rgba[BCOMP] = UBYTE_TO_CHAN( ((s ) & 0xf) * 255 / 0xf );
- rgba[ACOMP] = CHAN_MAX;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_3d_texel_f_X4R4G4B4(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLfloat *texel )
-{
- const GLushort *src = USHORT_SRC( texImage, i, j, k );
- GLushort s = *src;
- texel[RCOMP] = UBYTE_TO_FLOAT( ((s >> 8) & 0xf) * 255 / 0xf );
- texel[GCOMP] = UBYTE_TO_FLOAT( ((s >> 4) & 0xf) * 255 / 0xf );
- texel[BCOMP] = UBYTE_TO_FLOAT( ((s ) & 0xf) * 255 / 0xf );
- texel[ACOMP] = 1.f;
-}
-
-//---------------------------------------------------------------------------
-
-#undef CHAN_SRC
-#undef UBYTE_SRC
-#undef USHORT_SRC
-#undef FLOAT_SRC
-
-//---------------------------------------------------------------------------
-// Direct3D texture formats that have no Mesa equivalent
-//---------------------------------------------------------------------------
-
-const struct gl_texture_format _gld_texformat_X8R8G8B8 = {
- MESA_FORMAT_ARGB8888, /* MesaFormat */
- GL_RGBA, /* BaseFormat */
- GL_UNSIGNED_NORMALIZED_ARB, /* DataType */
- 8, /* RedBits */
- 8, /* GreenBits */
- 8, /* BlueBits */
- 0, /* AlphaBits */
- 0, /* LuminanceBits */
- 0, /* IntensityBits */
- 0, /* IndexBits */
- 0, /* DepthBits */
- 4, /* TexelBytes */
- _mesa_texstore_argb8888, /* StoreTexImageFunc */
- gld_fetch_1d_texel_X8R8G8B8, /* FetchTexel1D */
- gld_fetch_2d_texel_X8R8G8B8, /* FetchTexel2D */
- gld_fetch_3d_texel_X8R8G8B8, /* FetchTexel3D */
- gld_fetch_1d_texel_f_X8R8G8B8, /* FetchTexel1Df */
- gld_fetch_2d_texel_f_X8R8G8B8, /* FetchTexel2Df */
- gld_fetch_3d_texel_f_X8R8G8B8, /* FetchTexel3Df */
-};
-
-const struct gl_texture_format _gld_texformat_X1R5G5B5 = {
- MESA_FORMAT_ARGB1555, /* MesaFormat */
- GL_RGBA, /* BaseFormat */
- GL_UNSIGNED_NORMALIZED_ARB, /* DataType */
- 5, /* RedBits */
- 5, /* GreenBits */
- 5, /* BlueBits */
- 0, /* AlphaBits */
- 0, /* LuminanceBits */
- 0, /* IntensityBits */
- 0, /* IndexBits */
- 0, /* DepthBits */
- 2, /* TexelBytes */
- _mesa_texstore_argb1555, /* StoreTexImageFunc */
- gld_fetch_1d_texel_X1R5G5B5, /* FetchTexel1D */
- gld_fetch_2d_texel_X1R5G5B5, /* FetchTexel2D */
- gld_fetch_3d_texel_X1R5G5B5, /* FetchTexel3D */
- gld_fetch_1d_texel_f_X1R5G5B5, /* FetchTexel1Df */
- gld_fetch_2d_texel_f_X1R5G5B5, /* FetchTexel2Df */
- gld_fetch_3d_texel_f_X1R5G5B5, /* FetchTexel3Df */
-};
-
-const struct gl_texture_format _gld_texformat_X4R4G4B4 = {
- MESA_FORMAT_ARGB4444, /* MesaFormat */
- GL_RGBA, /* BaseFormat */
- GL_UNSIGNED_NORMALIZED_ARB, /* DataType */
- 4, /* RedBits */
- 4, /* GreenBits */
- 4, /* BlueBits */
- 0, /* AlphaBits */
- 0, /* LuminanceBits */
- 0, /* IntensityBits */
- 0, /* IndexBits */
- 0, /* DepthBits */
- 2, /* TexelBytes */
- _mesa_texstore_argb4444, /* StoreTexImageFunc */
- gld_fetch_1d_texel_X4R4G4B4, /* FetchTexel1D */
- gld_fetch_2d_texel_X4R4G4B4, /* FetchTexel2D */
- gld_fetch_3d_texel_X4R4G4B4, /* FetchTexel3D */
- gld_fetch_1d_texel_f_X4R4G4B4, /* FetchTexel1Df */
- gld_fetch_2d_texel_f_X4R4G4B4, /* FetchTexel2Df */
- gld_fetch_3d_texel_f_X4R4G4B4, /* FetchTexel3Df */
-};
-
-//---------------------------------------------------------------------------
-// Texture unit constants
-//---------------------------------------------------------------------------
-
-// List of possible combinations of texture environments.
-// Example: GLD_TEXENV_MODULATE_RGBA means
-// GL_MODULATE, GL_RGBA base internal format.
-#define GLD_TEXENV_DECAL_RGB 0
-#define GLD_TEXENV_DECAL_RGBA 1
-#define GLD_TEXENV_DECAL_ALPHA 2
-#define GLD_TEXENV_REPLACE_RGB 3
-#define GLD_TEXENV_REPLACE_RGBA 4
-#define GLD_TEXENV_REPLACE_ALPHA 5
-#define GLD_TEXENV_MODULATE_RGB 6
-#define GLD_TEXENV_MODULATE_RGBA 7
-#define GLD_TEXENV_MODULATE_ALPHA 8
-#define GLD_TEXENV_BLEND_RGB 9
-#define GLD_TEXENV_BLEND_RGBA 10
-#define GLD_TEXENV_BLEND_ALPHA 11
-#define GLD_TEXENV_ADD_RGB 12
-#define GLD_TEXENV_ADD_RGBA 13
-#define GLD_TEXENV_ADD_ALPHA 14
-
-// Per-stage (i.e. per-unit) texture environment
-typedef struct {
- DWORD ColorArg1; // Colour argument 1
- D3DTEXTUREOP ColorOp; // Colour operation
- DWORD ColorArg2; // Colour argument 2
- DWORD AlphaArg1; // Alpha argument 1
- D3DTEXTUREOP AlphaOp; // Alpha operation
- DWORD AlphaArg2; // Alpha argument 2
-} GLD_texenv;
-
-// TODO: Do we really need to set ARG1 and ARG2 every time?
-// They seem to always be TEXTURE and CURRENT respectively.
-
-// C = Colour out
-// A = Alpha out
-// Ct = Colour from Texture
-// Cf = Colour from fragment (diffuse)
-// At = Alpha from Texture
-// Af = Alpha from fragment (diffuse)
-// Cc = GL_TEXTURE_ENV_COLOUR (GL_BLEND)
-const GLD_texenv gldTexEnv[] = {
- // DECAL_RGB: C=Ct, A=Af
- {D3DTA_TEXTURE, D3DTOP_SELECTARG1, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_SELECTARG2, D3DTA_CURRENT},
- // DECAL_RGBA: C=Cf(1-At)+CtAt, A=Af
- {D3DTA_TEXTURE, D3DTOP_BLENDTEXTUREALPHA, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_SELECTARG2, D3DTA_CURRENT},
- // DECAL_ALPHA: <undefined> use DECAL_RGB
- {D3DTA_TEXTURE, D3DTOP_SELECTARG1, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_SELECTARG2, D3DTA_CURRENT},
-
- // REPLACE_RGB: C=Ct, A=Af
- {D3DTA_TEXTURE, D3DTOP_SELECTARG1, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_SELECTARG2, D3DTA_CURRENT},
- // REPLACE_RGBA: C=Ct, A=At
- {D3DTA_TEXTURE, D3DTOP_SELECTARG1, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_SELECTARG1, D3DTA_CURRENT},
- // REPLACE_ALPHA: C=Cf, A=At
- {D3DTA_TEXTURE, D3DTOP_SELECTARG2, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_SELECTARG1, D3DTA_CURRENT},
-
- // MODULATE_RGB: C=CfCt, A=Af
- {D3DTA_TEXTURE, D3DTOP_MODULATE, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_SELECTARG2, D3DTA_CURRENT},
- // MODULATE_RGBA: C=CfCt, A=AfAt
- {D3DTA_TEXTURE, D3DTOP_MODULATE, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_MODULATE, D3DTA_CURRENT},
- // MODULATE_ALPHA: C=Cf, A=AfAt
- {D3DTA_TEXTURE, D3DTOP_SELECTARG2, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_MODULATE, D3DTA_CURRENT},
-
- // BLEND_RGB: C=Cf(1-Ct)+CcCt, A=Af
- {D3DTA_TEXTURE, D3DTOP_LERP, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_SELECTARG2, D3DTA_CURRENT},
- // BLEND_RGBA: C=Cf(1-Ct)+CcCt, A=AfAt
- {D3DTA_TEXTURE, D3DTOP_LERP, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_MODULATE, D3DTA_CURRENT},
- // BLEND_ALPHA: C=Cf, A=AfAt
- {D3DTA_TEXTURE, D3DTOP_SELECTARG2, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_MODULATE, D3DTA_CURRENT},
-
- // ADD_RGB: C=Cf+Ct, A=Af
- {D3DTA_TEXTURE, D3DTOP_ADD, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_SELECTARG2, D3DTA_CURRENT},
- // ADD_RGBA: C=Cf+Ct, A=AfAt
- {D3DTA_TEXTURE, D3DTOP_ADD, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_MODULATE, D3DTA_CURRENT},
- // ADD_ALPHA: C=Cf, A=AfAt
- {D3DTA_TEXTURE, D3DTOP_SELECTARG2, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_MODULATE, D3DTA_CURRENT},
-};
-
-//---------------------------------------------------------------------------
-
-D3DTEXTUREADDRESS _gldConvertWrap(
- GLenum wrap)
-{
- return (wrap == GL_CLAMP) ? D3DTADDRESS_CLAMP : D3DTADDRESS_WRAP;
-}
-
-//---------------------------------------------------------------------------
-
-D3DTEXTUREFILTERTYPE _gldConvertMagFilter(
- GLenum magfilter)
-{
- return (magfilter == GL_LINEAR) ? D3DTEXF_LINEAR : D3DTEXF_POINT;
-}
-
-//---------------------------------------------------------------------------
-
-void _gldConvertMinFilter(
- GLenum minfilter,
- D3DTEXTUREFILTERTYPE *min_filter,
- D3DTEXTUREFILTERTYPE *mip_filter)
-{
- switch (minfilter) {
- case GL_NEAREST:
- *min_filter = D3DTEXF_POINT;
- *mip_filter = D3DTEXF_NONE;
- break;
- case GL_LINEAR:
- *min_filter = D3DTEXF_LINEAR;
- *mip_filter = D3DTEXF_NONE;
- break;
- case GL_NEAREST_MIPMAP_NEAREST:
- *min_filter = D3DTEXF_POINT;
- *mip_filter = D3DTEXF_POINT;
- break;
- case GL_LINEAR_MIPMAP_NEAREST:
- *min_filter = D3DTEXF_LINEAR;
- *mip_filter = D3DTEXF_POINT;
- break;
- case GL_NEAREST_MIPMAP_LINEAR:
- *min_filter = D3DTEXF_POINT;
- *mip_filter = D3DTEXF_LINEAR;
- break;
- case GL_LINEAR_MIPMAP_LINEAR:
- *min_filter = D3DTEXF_LINEAR;
- *mip_filter = D3DTEXF_LINEAR;
- break;
- }
-}
-
-//---------------------------------------------------------------------------
-
-D3DFORMAT _gldGLFormatToD3DFormat(
- GLenum internalFormat)
-{
- switch (internalFormat) {
- case GL_INTENSITY:
- case GL_INTENSITY4:
- case GL_INTENSITY8:
- case GL_INTENSITY12:
- case GL_INTENSITY16:
- // LUNIMANCE != INTENSITY, but D3D doesn't have I8 textures
- return D3DFMT_L8;
- case 1:
- case GL_LUMINANCE:
- case GL_LUMINANCE4:
- case GL_LUMINANCE8:
- case GL_LUMINANCE12:
- case GL_LUMINANCE16:
- return D3DFMT_L8;
- case GL_ALPHA:
- case GL_ALPHA4:
- case GL_ALPHA8:
- case GL_ALPHA12:
- case GL_ALPHA16:
- return D3DFMT_A8;
- case GL_COLOR_INDEX:
- case GL_COLOR_INDEX1_EXT:
- case GL_COLOR_INDEX2_EXT:
- case GL_COLOR_INDEX4_EXT:
- case GL_COLOR_INDEX8_EXT:
- case GL_COLOR_INDEX12_EXT:
- case GL_COLOR_INDEX16_EXT:
- return D3DFMT_X8R8G8B8;
- case 2:
- case GL_LUMINANCE_ALPHA:
- case GL_LUMINANCE4_ALPHA4:
- case GL_LUMINANCE6_ALPHA2:
- case GL_LUMINANCE8_ALPHA8:
- case GL_LUMINANCE12_ALPHA4:
- case GL_LUMINANCE12_ALPHA12:
- case GL_LUMINANCE16_ALPHA16:
- return D3DFMT_A8L8;
- case GL_R3_G3_B2:
- // TODO: Mesa does not support RGB332 internally
- return D3DFMT_X4R4G4B4; //D3DFMT_R3G3B2;
- case GL_RGB4:
- return D3DFMT_X4R4G4B4;
- case GL_RGB5:
- return D3DFMT_X1R5G5B5;
- case 3:
- case GL_RGB:
- case GL_RGB8:
- case GL_RGB10:
- case GL_RGB12:
- case GL_RGB16:
- return D3DFMT_R8G8B8;
- case GL_RGBA4:
- return D3DFMT_A4R4G4B4;
- case 4:
- case GL_RGBA:
- case GL_RGBA2:
- case GL_RGBA8:
- case GL_RGB10_A2:
- case GL_RGBA12:
- case GL_RGBA16:
- return D3DFMT_A8R8G8B8;
- case GL_RGB5_A1:
- return D3DFMT_A1R5G5B5;
- }
-
- // Return an acceptable default
- return D3DFMT_A8R8G8B8;
-}
-
-//---------------------------------------------------------------------------
-
-GLenum _gldDecodeBaseFormat(
- IDirect3DTexture8 *pTex)
-{
- // Examine Direct3D texture and return base OpenGL internal texture format
- // NOTE: We can't use any base format info from Mesa because D3D might have
- // used a different texture format when we used D3DXCreateTexture().
-
- // Base internal format is one of (Red Book p355):
- // GL_ALPHA,
- // GL_LUMINANCE,
- // GL_LUMINANCE_ALPHA,
- // GL_INTENSITY,
- // GL_RGB,
- // GL_RGBA
-
- // NOTE: INTENSITY not used (not supported by Direct3D)
- // LUMINANCE has same texture functions as RGB
- // LUMINANCE_ALPHA has same texture functions as RGBA
-
- // TODO: cache format instead of using GetLevelDesc()
- D3DSURFACE_DESC desc;
- _GLD_DX8_TEX(GetLevelDesc(pTex, 0, &desc));
-
- switch (desc.Format) {
- case D3DFMT_R8G8B8:
- case D3DFMT_X8R8G8B8:
- case D3DFMT_R5G6B5:
- case D3DFMT_X1R5G5B5:
- case D3DFMT_R3G3B2:
- case D3DFMT_X4R4G4B4:
- case D3DFMT_P8:
- case D3DFMT_L8:
- return GL_RGB;
- case D3DFMT_A8R8G8B8:
- case D3DFMT_A1R5G5B5:
- case D3DFMT_A4R4G4B4:
- case D3DFMT_A8R3G3B2:
- case D3DFMT_A8P8:
- case D3DFMT_A8L8:
- case D3DFMT_A4L4:
- return GL_RGBA;
- case D3DFMT_A8:
- return GL_ALPHA;
- // Compressed texture formats. Need to check these...
- case D3DFMT_DXT1:
- return GL_RGBA;
- case D3DFMT_DXT2:
- return GL_RGB;
- case D3DFMT_DXT3:
- return GL_RGBA;
- case D3DFMT_DXT4:
- return GL_RGB;
- case D3DFMT_DXT5:
- return GL_RGBA;
- }
-
- // Fell through. Return arbitary default.
- return GL_RGBA;
-}
-
-//---------------------------------------------------------------------------
-
-const struct gl_texture_format* _gldMesaFormatForD3DFormat(
- D3DFORMAT d3dfmt)
-{
- switch (d3dfmt) {
- case D3DFMT_A8R8G8B8:
- return &_mesa_texformat_argb8888;
- case D3DFMT_R8G8B8:
- return &_mesa_texformat_rgb888;
- case D3DFMT_R5G6B5:
- return &_mesa_texformat_rgb565;
- case D3DFMT_A4R4G4B4:
- return &_mesa_texformat_argb4444;
- case D3DFMT_A1R5G5B5:
- return &_mesa_texformat_argb1555;
- case D3DFMT_A8L8:
- return &_mesa_texformat_al88;
- case D3DFMT_R3G3B2:
- return &_mesa_texformat_rgb332;
- case D3DFMT_A8:
- return &_mesa_texformat_a8;
- case D3DFMT_L8:
- return &_mesa_texformat_l8;
- case D3DFMT_X8R8G8B8:
- return &_gld_texformat_X8R8G8B8;
- case D3DFMT_X1R5G5B5:
- return &_gld_texformat_X1R5G5B5;
- case D3DFMT_X4R4G4B4:
- return &_gld_texformat_X4R4G4B4;
- }
-
- // If we reach here then we've made an error somewhere else
- // by allowing a format that is not supported.
- assert(0);
-
- return NULL; // Shut up compiler warning
-}
-
-//---------------------------------------------------------------------------
-// Copy* functions
-//---------------------------------------------------------------------------
-
-void gldCopyTexImage1D_DX8(
- GLcontext *ctx,
- GLenum target, GLint level,
- GLenum internalFormat,
- GLint x, GLint y,
- GLsizei width, GLint border )
-{
- // TODO
-}
-
-//---------------------------------------------------------------------------
-
-void gldCopyTexImage2D_DX8(
- GLcontext *ctx,
- GLenum target,
- GLint level,
- GLenum internalFormat,
- GLint x,
- GLint y,
- GLsizei width,
- GLsizei height,
- GLint border)
-{
- // TODO
-}
-
-//---------------------------------------------------------------------------
-
-void gldCopyTexSubImage1D_DX8(
- GLcontext *ctx,
- GLenum target, GLint level,
- GLint xoffset, GLint x, GLint y, GLsizei width )
-{
- // TODO
-}
-
-//---------------------------------------------------------------------------
-
-void gldCopyTexSubImage2D_DX8(
- GLcontext *ctx,
- GLenum target,
- GLint level,
- GLint xoffset,
- GLint yoffset,
- GLint x,
- GLint y,
- GLsizei width,
- GLsizei height)
-{
- // TODO
-}
-
-//---------------------------------------------------------------------------
-
-void gldCopyTexSubImage3D_DX8(
- GLcontext *ctx,
- GLenum target,
- GLint level,
- GLint xoffset,
- GLint yoffset,
- GLint zoffset,
- GLint x,
- GLint y,
- GLsizei width,
- GLsizei height )
-{
- // TODO ?
-}
-
-//---------------------------------------------------------------------------
-// Bitmap/Pixel functions
-//---------------------------------------------------------------------------
-
-#define GLD_FLIP_Y(y) (gldCtx->dwHeight - (y))
-
-#define _GLD_FVF_IMAGE (D3DFVF_XYZRHW | D3DFVF_TEX1)
-
-typedef struct {
- FLOAT x, y; // 2D raster coords
- FLOAT z; // depth value
- FLOAT rhw; // reciprocal homogenous W (always 1.0f)
- FLOAT tu, tv; // texture coords
-} _GLD_IMAGE_VERTEX;
-
-//---------------------------------------------------------------------------
-
-HRESULT _gldDrawPixels(
- GLcontext *ctx,
- BOOL bChromakey, // Alpha test for glBitmap() images
- GLint x, // GL x position
- GLint y, // GL y position (needs flipping)
- GLsizei width, // Width of input image
- GLsizei height, // Height of input image
- IDirect3DSurface8 *pImage)
-{
- //
- // Draw input image as texture implementing PixelZoom and clipping.
- // Any fragment operations currently enabled will be used.
- //
-
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx8 *gld = GLD_GET_DX8_DRIVER(gldCtx);
-
- IDirect3DTexture8 *pTexture;
- D3DSURFACE_DESC d3dsd;
- IDirect3DSurface8 *pSurface;
- _GLD_IMAGE_VERTEX v[4];
- HRESULT hr;
-
- float ZoomWidth, ZoomHeight;
- float ScaleWidth, ScaleHeight;
-
- // Create a texture to hold image
- hr = D3DXCreateTexture(
- gld->pDev,
- width, height,
- 1, // miplevels
- 0, // usage
- D3DFMT_A8R8G8B8, // format
- D3DPOOL_MANAGED, // pool
- &pTexture);
- if (FAILED(hr))
- return hr;
-
- hr = IDirect3DTexture8_GetSurfaceLevel(pTexture, 0, &pSurface);
- if (FAILED(hr)) {
- IDirect3DTexture8_Release(pTexture);
- return hr;
- }
-
- // Copy image into texture
- hr = D3DXLoadSurfaceFromSurface(
- pSurface, NULL, NULL, // Dest surface
- pImage, NULL, NULL, // Src surface
- D3DX_FILTER_NONE,
- 0);
- IDirect3DSurface8_Release(pSurface);
- if (FAILED(hr)) {
- IDirect3DTexture8_Release(pTexture);
- return hr;
- }
-
- //
- // Set up the quad like this (ascii-art ahead!)
- //
- // 3--2
- // | |
- // 0--1
- //
- //
-
- // Set depth
- v[0].z = v[1].z = v[2].z = v[3].z = ctx->Current.RasterPos[2];
- // Set Reciprocal Homogenous W
- v[0].rhw = v[1].rhw = v[2].rhw = v[3].rhw = 1.0f;
-
- // Set texcoords
- // Examine texture size - if different to input width and height
- // then we'll need to munge the texcoords to fit.
- IDirect3DTexture8_GetLevelDesc(pTexture, 0, &d3dsd);
- ScaleWidth = (float)width / (float)d3dsd.Width;
- ScaleHeight = (float)height / (float)d3dsd.Height;
- v[0].tu = 0.0f; v[0].tv = 0.0f;
- v[1].tu = ScaleWidth; v[1].tv = 0.0f;
- v[2].tu = ScaleWidth; v[2].tv = ScaleHeight;
- v[3].tu = 0.0f; v[3].tv = ScaleHeight;
-
- // Set raster positions
- ZoomWidth = (float)width * ctx->Pixel.ZoomX;
- ZoomHeight = (float)height * ctx->Pixel.ZoomY;
-
- v[0].x = x; v[0].y = GLD_FLIP_Y(y);
- v[1].x = x+ZoomWidth; v[1].y = GLD_FLIP_Y(y);
- v[2].x = x+ZoomWidth; v[2].y = GLD_FLIP_Y(y+ZoomHeight);
- v[3].x = x; v[3].y = GLD_FLIP_Y(y+ZoomHeight);
-
- // Draw image with full HW acceleration
- // NOTE: Be nice to use a State Block for all this state...
- IDirect3DDevice8_SetTexture(gld->pDev, 0, pTexture);
- IDirect3DDevice8_SetRenderState(gld->pDev, D3DRS_CULLMODE, D3DCULL_NONE);
- IDirect3DDevice8_SetRenderState(gld->pDev, D3DRS_CLIPPING, TRUE);
- IDirect3DDevice8_SetTextureStageState(gld->pDev, 0, D3DTSS_MINFILTER, D3DTEXF_POINT);
- IDirect3DDevice8_SetTextureStageState(gld->pDev, 0, D3DTSS_MIPFILTER, D3DTEXF_POINT);
- IDirect3DDevice8_SetTextureStageState(gld->pDev, 0, D3DTSS_MAGFILTER, D3DTEXF_POINT);
- IDirect3DDevice8_SetTextureStageState(gld->pDev, 0, D3DTSS_ADDRESSU, D3DTADDRESS_CLAMP);
- IDirect3DDevice8_SetTextureStageState(gld->pDev, 0, D3DTSS_ADDRESSV, D3DTADDRESS_CLAMP);
- IDirect3DDevice8_SetTextureStageState(gld->pDev, 0, D3DTSS_COLOROP, D3DTOP_SELECTARG1);
- IDirect3DDevice8_SetTextureStageState(gld->pDev, 0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1);
- IDirect3DDevice8_SetTextureStageState(gld->pDev, 0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
- IDirect3DDevice8_SetTextureStageState(gld->pDev, 0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
- IDirect3DDevice8_SetTextureStageState(gld->pDev, 1, D3DTSS_COLOROP, D3DTOP_DISABLE);
- IDirect3DDevice8_SetTextureStageState(gld->pDev, 1, D3DTSS_ALPHAOP, D3DTOP_DISABLE);
- IDirect3DDevice8_SetVertexShader(gld->pDev, _GLD_FVF_IMAGE);
-
- //
- // Emulate Chromakey with an Alpha Test.
- // [Alpha Test is more widely supported anyway]
- //
- if (bChromakey) {
- // Switch on alpha testing
- IDirect3DDevice8_SetRenderState(gld->pDev, D3DRS_ALPHATESTENABLE, TRUE);
- // Fragment passes is alpha is greater than reference value
- IDirect3DDevice8_SetRenderState(gld->pDev, D3DRS_ALPHAFUNC, D3DCMP_GREATER);
- // Set alpha reference value between Bitmap alpha values of
- // zero (transparent) and one (opaque).
- IDirect3DDevice8_SetRenderState(gld->pDev, D3DRS_ALPHAREF, 0x7f);
- }
-
- IDirect3DDevice8_DrawPrimitiveUP(gld->pDev, D3DPT_TRIANGLEFAN, 2, &v, sizeof(_GLD_IMAGE_VERTEX));
-
- // Release texture
- IDirect3DDevice8_SetTexture(gld->pDev, 0, NULL);
- IDirect3DTexture8_Release(pTexture);
-
- // Reset state to before we messed it up
- FLUSH_VERTICES(ctx, _NEW_ALL);
-
- return S_OK;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_DrawPixels_DX8(
- GLcontext *ctx,
- GLint x, GLint y, GLsizei width, GLsizei height,
- GLenum format, GLenum type,
- const struct gl_pixelstore_attrib *unpack,
- const GLvoid *pixels )
-{
- GLD_context *gldCtx;
- GLD_driver_dx8 *gld;
-
- IDirect3DSurface8 *pImage;
- HRESULT hr;
- D3DLOCKED_RECT d3dLockedRect;
-
- const struct gl_texture_format *MesaFormat;
-
- gldCtx = GLD_GET_CONTEXT(ctx);
- gld = GLD_GET_DX8_DRIVER(gldCtx);
-
- hr = IDirect3DDevice8_CreateImageSurface(
- gld->pDev,
- width,
- height,
- D3DFMT_A8R8G8B8,
- &pImage);
- if (FAILED(hr)) {
- return;
- }
-
- //
- // Use Mesa to fill in image
- //
-
- // Lock all of surface
- hr = IDirect3DSurface8_LockRect(pImage, &d3dLockedRect, NULL, 0);
- if (FAILED(hr)) {
- IDirect3DSurface8_Release(pImage);
- return;
- }
-
- MesaFormat = _mesa_choose_tex_format(ctx, format, format, type);
-
- // unpack image, apply transfer ops and store directly in texture
- MesaFormat->StoreImage(
- ctx,
- 2,
- GL_RGBA,
- &_mesa_texformat_argb8888,
- d3dLockedRect.pBits,
- width, height, 1, 0, 0, 0,
- d3dLockedRect.Pitch,
- 0, /* dstImageStride */
- format, type, pixels, unpack);
-
- IDirect3DSurface8_UnlockRect(pImage);
-
- _gldDrawPixels(ctx, FALSE, x, y, width, height, pImage);
-
- IDirect3DSurface8_Release(pImage);
-}
-
-//---------------------------------------------------------------------------
-
-void gld_ReadPixels_DX8(
- GLcontext *ctx,
- GLint x, GLint y, GLsizei width, GLsizei height,
- GLenum format, GLenum type,
- const struct gl_pixelstore_attrib *pack,
- GLvoid *dest)
-{
-
- GLD_context *gldCtx;
- GLD_driver_dx8 *gld;
-
- IDirect3DSurface8 *pBackbuffer = NULL;
- IDirect3DSurface8 *pNativeImage = NULL;
- IDirect3DSurface8 *pCanonicalImage = NULL;
-
- D3DSURFACE_DESC d3dsd;
- RECT rcSrc; // Source rect
- POINT ptDst; // Dest point
- HRESULT hr;
- D3DLOCKED_RECT d3dLockedRect;
- struct gl_pixelstore_attrib srcPacking;
- int i;
- GLint DstRowStride;
- const struct gl_texture_format *MesaFormat;
-
- switch (format) {
- case GL_STENCIL_INDEX:
- case GL_DEPTH_COMPONENT:
- return;
- }
-
- MesaFormat = _mesa_choose_tex_format(ctx, format, format, type);
- DstRowStride = _mesa_image_row_stride(pack, width, format, type);
-
- gldCtx = GLD_GET_CONTEXT(ctx);
- gld = GLD_GET_DX8_DRIVER(gldCtx);
-
- // Get backbuffer
- hr = IDirect3DDevice8_GetBackBuffer(
- gld->pDev,
- 0, // First backbuffer
- D3DBACKBUFFER_TYPE_MONO,
- &pBackbuffer);
- if (FAILED(hr))
- return;
-
- // Get backbuffer description
- hr = IDirect3DSurface8_GetDesc(pBackbuffer, &d3dsd);
- if (FAILED(hr)) {
- goto gld_ReadPixels_DX8_return;
- }
-
- // Create a surface compatible with backbuffer
- hr = IDirect3DDevice8_CreateImageSurface(
- gld->pDev,
- width,
- height,
- d3dsd.Format,
- &pNativeImage);
- if (FAILED(hr)) {
- goto gld_ReadPixels_DX8_return;
- }
-
- // Compute source rect and dest point
- SetRect(&rcSrc, 0, 0, width, height);
- OffsetRect(&rcSrc, x, GLD_FLIP_HEIGHT(y, height));
- ptDst.x = ptDst.y = 0;
-
- // Get source pixels.
- //
- // This intermediate surface ensure that we can use CopyRects()
- // instead of relying on D3DXLoadSurfaceFromSurface(), which may
- // try and lock the backbuffer. This way seems safer.
- //
- hr = IDirect3DDevice8_CopyRects(
- gld->pDev,
- pBackbuffer,
- &rcSrc,
- 1,
- pNativeImage,
- &ptDst);
- if (FAILED(hr)) {
- goto gld_ReadPixels_DX8_return;
- }
-
- // Create an RGBA8888 surface
- hr = IDirect3DDevice8_CreateImageSurface(
- gld->pDev,
- width,
- height,
- D3DFMT_A8R8G8B8,
- &pCanonicalImage);
- if (FAILED(hr)) {
- goto gld_ReadPixels_DX8_return;
- }
-
- // Convert to RGBA8888
- hr = D3DXLoadSurfaceFromSurface(
- pCanonicalImage, // Dest surface
- NULL, NULL, // Dest palette, RECT
- pNativeImage, // Src surface
- NULL, NULL, // Src palette, RECT
- D3DX_FILTER_NONE, // Filter
- 0); // Colourkey
- if (FAILED(hr)) {
- goto gld_ReadPixels_DX8_return;
- }
-
- srcPacking.Alignment = 1;
- srcPacking.ImageHeight = height;
- srcPacking.LsbFirst = GL_FALSE;
- srcPacking.RowLength = 0;
- srcPacking.SkipImages = 0;
- srcPacking.SkipPixels = 0;
- srcPacking.SkipRows = 0;
- srcPacking.SwapBytes = GL_FALSE;
-
- // Lock all of image
- hr = IDirect3DSurface8_LockRect(pCanonicalImage, &d3dLockedRect, NULL, 0);
- if (FAILED(hr)) {
- goto gld_ReadPixels_DX8_return;
- }
-
- // We need to flip the data. Yuck.
- // Perhaps Mesa has a span packer we can use in future...
- for (i=0; i<height; i++) {
- BYTE *pDestRow = (BYTE*)_mesa_image_address(2,pack, dest, width, height, format, type, 0, i, 0);
- BYTE *pSrcRow = (BYTE*)d3dLockedRect.pBits + (d3dLockedRect.Pitch * (height-i-1));
- MesaFormat->StoreImage(
- ctx,
- 2,
- GL_RGBA, // base format
- MesaFormat, // dst format
- pDestRow, // dest addr
- width, 1, 1, 0, 0, 0, // src x,y,z & dst offsets x,y,z
- DstRowStride, // dst row stride
- 0, // dstImageStride
- GL_BGRA, // src format
- GL_UNSIGNED_BYTE, // src type
- pSrcRow, // src addr
- &srcPacking); // packing params of source image
- }
-
- IDirect3DSurface8_UnlockRect(pCanonicalImage);
-
-gld_ReadPixels_DX8_return:
- SAFE_RELEASE_SURFACE8(pCanonicalImage);
- SAFE_RELEASE_SURFACE8(pNativeImage);
- SAFE_RELEASE_SURFACE8(pBackbuffer);
-}
-
-//---------------------------------------------------------------------------
-
-void gld_CopyPixels_DX8(
- GLcontext *ctx,
- GLint srcx,
- GLint srcy,
- GLsizei width,
- GLsizei height,
- GLint dstx,
- GLint dsty,
- GLenum type)
-{
- //
- // NOTE: Not allowed to copy vidmem to vidmem!
- // Therefore we use an intermediate image surface.
- //
-
- GLD_context *gldCtx;
- GLD_driver_dx8 *gld;
-
- IDirect3DSurface8 *pBackbuffer;
- D3DSURFACE_DESC d3dsd;
- IDirect3DSurface8 *pImage;
- RECT rcSrc; // Source rect
- POINT ptDst; // Dest point
- HRESULT hr;
-
- // Only backbuffer
- if (type != GL_COLOR)
- return;
-
- gldCtx = GLD_GET_CONTEXT(ctx);
- gld = GLD_GET_DX8_DRIVER(gldCtx);
-
- // Get backbuffer
- hr = IDirect3DDevice8_GetBackBuffer(
- gld->pDev,
- 0, // First backbuffer
- D3DBACKBUFFER_TYPE_MONO,
- &pBackbuffer);
- if (FAILED(hr))
- return;
-
- // Get backbuffer description
- hr = IDirect3DSurface8_GetDesc(pBackbuffer, &d3dsd);
- if (FAILED(hr)) {
- IDirect3DSurface8_Release(pBackbuffer);
- return;
- }
-
- // Create a surface compatible with backbuffer
- hr = IDirect3DDevice8_CreateImageSurface(
- gld->pDev,
- width,
- height,
- d3dsd.Format,
- &pImage);
- if (FAILED(hr)) {
- IDirect3DSurface8_Release(pBackbuffer);
- return;
- }
-
- // Compute source rect and dest point
- SetRect(&rcSrc, 0, 0, width, height);
- OffsetRect(&rcSrc, srcx, GLD_FLIP_HEIGHT(srcy, height));
- ptDst.x = ptDst.y = 0;
-
- // Get source pixels
- hr = IDirect3DDevice8_CopyRects(
- gld->pDev,
- pBackbuffer,
- &rcSrc,
- 1,
- pImage,
- &ptDst);
- IDirect3DSurface8_Release(pBackbuffer);
- if (FAILED(hr)) {
- IDirect3DSurface8_Release(pImage);
- return;
- }
-
- _gldDrawPixels(ctx, FALSE, dstx, dsty, width, height, pImage);
-
- IDirect3DSurface8_Release(pImage);
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Bitmap_DX8(
- GLcontext *ctx,
- GLint x,
- GLint y,
- GLsizei width,
- GLsizei height,
- const struct gl_pixelstore_attrib *unpack,
- const GLubyte *bitmap)
-{
- GLD_context *gldCtx;
- GLD_driver_dx8 *gld;
-
- IDirect3DSurface8 *pImage;
- HRESULT hr;
- D3DLOCKED_RECT d3dLockedRect;
- BYTE *pTempBitmap;
- D3DCOLOR clBitmapOne, clBitmapZero;
- D3DCOLOR *pBits;
- const GLubyte *src;
- int i, j, k;
-
- gldCtx = GLD_GET_CONTEXT(ctx);
- gld = GLD_GET_DX8_DRIVER(gldCtx);
-
- clBitmapZero = D3DCOLOR_RGBA(0,0,0,0); // NOTE: Alpha is Zero
- clBitmapOne = D3DCOLOR_COLORVALUE(
- ctx->Current.RasterColor[0],
- ctx->Current.RasterColor[1],
- ctx->Current.RasterColor[2],
- 1.0f); // NOTE: Alpha is One
-
- hr = IDirect3DDevice8_CreateImageSurface(
- gld->pDev,
- width,
- height,
- D3DFMT_A8R8G8B8,
- &pImage);
- if (FAILED(hr)) {
- return;
- }
-
- // Lock all of surface
- hr = IDirect3DSurface8_LockRect(pImage, &d3dLockedRect, NULL, 0);
- if (FAILED(hr)) {
- IDirect3DSurface8_Release(pImage);
- return;
- }
-
- pTempBitmap = _mesa_unpack_bitmap(width, height, bitmap, unpack);
- if (pTempBitmap == NULL) {
- IDirect3DSurface8_Release(pImage);
- return;
- }
-
- pBits = (D3DCOLOR*)d3dLockedRect.pBits;
-
- for (i=0; i<height; i++) {
- GLubyte byte;
- pBits = (D3DCOLOR*)((BYTE*)d3dLockedRect.pBits + (i*d3dLockedRect.Pitch));
- src = (const GLubyte *) _mesa_image_address(2,
- &ctx->DefaultPacking, pTempBitmap, width, height, GL_COLOR_INDEX, GL_BITMAP,
- 0, i, 0);
- for (j=0; j<(width>>3); j++) {
- byte = *src++;
- for (k=0; k<8; k++) {
- *pBits++ = (byte & 128) ? clBitmapOne : clBitmapZero;
- byte <<= 1;
- }
- }
- // Fill remaining bits from bitmap
- if (width & 7) {
- byte = *src;
- for (k=0; k<(width & 7); k++) {
- *pBits++ = (byte & 128) ? clBitmapOne : clBitmapZero;
- byte <<= 1;
- }
- }
- }
-
- FREE(pTempBitmap);
-
-/*
- // unpack image, apply transfer ops and store directly in texture
- texImage->TexFormat->StoreImage(
- ctx,
- 2,
- GL_BITMAP,
- &_mesa_texformat_argb8888,
- d3dLockedRect.pBits,
- width, height, 1, 0, 0, 0,
- d3dLockedRect.Pitch,
- 0, // dstImageStride
- GL_BITMAP, GL_COLOR_INDEX, bitmap, unpack);
-*/
- IDirect3DSurface8_UnlockRect(pImage);
-
- _gldDrawPixels(ctx, TRUE, x, y, width, height, pImage);
-
- IDirect3DSurface8_Release(pImage);
-}
-
-//---------------------------------------------------------------------------
-// Texture functions
-//---------------------------------------------------------------------------
-
-void _gldAllocateTexture(
- GLcontext *ctx,
- struct gl_texture_object *tObj,
- struct gl_texture_image *texImage)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx8 *gld = GLD_GET_DX8_DRIVER(gldCtx);
-
- IDirect3DTexture8 *pTex;
- D3DFORMAT d3dFormat;
-
- if (!tObj || !texImage)
- return;
-
- pTex = (IDirect3DTexture8*)tObj->DriverData;
- if (pTex) {
- // Decide whether we can keep existing D3D texture
- // by examining top-level surface.
- D3DSURFACE_DESC d3dsd;
- _GLD_DX8_TEX(GetLevelDesc(pTex, 0, &d3dsd));
- // Release existing texture if not compatible
- if ((d3dsd.Width == texImage->Width) ||
- (d3dsd.Height == texImage->Height))
- {
- return; // Keep the existing texture
- }
- tObj->DriverData = NULL;
- _GLD_DX8_TEX(Release(pTex));
- }
-
- d3dFormat = _gldGLFormatToD3DFormat(texImage->IntFormat);
- D3DXCreateTexture(
- gld->pDev,
- texImage->Width,
- texImage->Height,
- // TODO: Re-evaluate mipmapping
- (glb.bUseMipmaps) ? D3DX_DEFAULT : 1,
- 0, // Usage
- d3dFormat,
- D3DPOOL_MANAGED,
- &pTex);
- tObj->DriverData = pTex;
-}
-
-//---------------------------------------------------------------------------
-
-const struct gl_texture_format* gld_ChooseTextureFormat_DX8(
- GLcontext *ctx,
- GLint internalFormat,
- GLenum srcFormat,
- GLenum srcType)
-{
- // [Based on mesa_choose_tex_format()]
- //
- // We will choose only texture formats that are supported
- // by Direct3D. If the hardware doesn't support a particular
- // texture format, then the D3DX texture calls that we use
- // will automatically use a HW supported format.
- //
- // The most critical aim is to reduce copying; if we can use
- // texture-image data directly then it will be a big performance assist.
- //
-
- switch (internalFormat) {
- case GL_INTENSITY:
- case GL_INTENSITY4:
- case GL_INTENSITY8:
- case GL_INTENSITY12:
- case GL_INTENSITY16:
- return &_mesa_texformat_l8; // D3DFMT_L8
- case 1:
- case GL_LUMINANCE:
- case GL_LUMINANCE4:
- case GL_LUMINANCE8:
- case GL_LUMINANCE12:
- case GL_LUMINANCE16:
- return &_mesa_texformat_l8; // D3DFMT_L8
- case GL_ALPHA:
- case GL_ALPHA4:
- case GL_ALPHA8:
- case GL_ALPHA12:
- case GL_ALPHA16:
- return &_mesa_texformat_a8; // D3DFMT_A8
- case GL_COLOR_INDEX:
- case GL_COLOR_INDEX1_EXT:
- case GL_COLOR_INDEX2_EXT:
- case GL_COLOR_INDEX4_EXT:
- case GL_COLOR_INDEX8_EXT:
- case GL_COLOR_INDEX12_EXT:
- case GL_COLOR_INDEX16_EXT:
- return &_mesa_texformat_rgb565; // D3DFMT_R5G6B5
- // Mesa will convert this for us later...
- // return &_mesa_texformat_ci8; // D3DFMT_R5G6B5
- case 2:
- case GL_LUMINANCE_ALPHA:
- case GL_LUMINANCE4_ALPHA4:
- case GL_LUMINANCE6_ALPHA2:
- case GL_LUMINANCE8_ALPHA8:
- case GL_LUMINANCE12_ALPHA4:
- case GL_LUMINANCE12_ALPHA12:
- case GL_LUMINANCE16_ALPHA16:
- return &_mesa_texformat_al88; // D3DFMT_A8L8
- case GL_R3_G3_B2:
- return &_mesa_texformat_rgb332; // D3DFMT_R3G3B2
- case GL_RGB4:
- case GL_RGBA4:
- case GL_RGBA2:
- return &_mesa_texformat_argb4444; // D3DFMT_A4R4G4B4
- case 3:
- case GL_RGB:
- case GL_RGB5:
- case GL_RGB8:
- case GL_RGB10:
- case GL_RGB12:
- case GL_RGB16:
- return &_mesa_texformat_rgb565;
- case 4:
- case GL_RGBA:
- case GL_RGBA8:
- case GL_RGB10_A2:
- case GL_RGBA12:
- case GL_RGBA16:
- return &_mesa_texformat_argb8888;
- case GL_RGB5_A1:
- return &_mesa_texformat_argb1555;
- default:
- _mesa_problem(NULL, "unexpected format in fxDDChooseTextureFormat");
- return NULL;
- }
-}
-
-//---------------------------------------------------------------------------
-
-/*
-// Safer(?), slower version.
-void gld_TexImage2D_DX8(
- GLcontext *ctx,
- GLenum target,
- GLint level,
- GLint internalFormat,
- GLint width,
- GLint height,
- GLint border,
- GLenum format,
- GLenum type,
- const GLvoid *pixels,
- const struct gl_pixelstore_attrib *packing,
- struct gl_texture_object *tObj,
- struct gl_texture_image *texImage)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx8 *gld = GLD_GET_DX8_DRIVER(gldCtx);
-
- IDirect3DTexture8 *pTex;
- IDirect3DSurface8 *pSurface;
- RECT rcSrcRect;
- HRESULT hr;
- GLint texelBytes = 4;
- GLvoid *tempImage;
-
- if (!tObj || !texImage)
- return;
-
- if (level == 0) {
- _gldAllocateTexture(ctx, tObj, texImage);
- }
-
- pTex = (IDirect3DTexture8*)tObj->DriverData;
- if (!pTex)
- return; // Texture has not been created
- if (level >= IDirect3DTexture8_GetLevelCount(pTex))
- return; // Level does not exist
- hr = IDirect3DTexture8_GetSurfaceLevel(pTex, level, &pSurface);
- if (FAILED(hr))
- return; // Surface level doesn't exist (or just a plain error)
-
- tempImage = MALLOC(width * height * texelBytes);
- if (!tempImage) {
- _mesa_error(ctx, GL_OUT_OF_MEMORY, "glTexImage2D");
- IDirect3DSurface8_Release(pSurface);
- return;
- }
- // unpack image, apply transfer ops and store in tempImage
- texImage->TexFormat->StoreImage(ctx, 2, texImage->Format,
- &_mesa_texformat_argb8888, // dest format
- tempImage,
- width, height, 1, 0, 0, 0,
- width * texelBytes,
- 0, // dstImageStride
- format, type, pixels, packing);
-
- SetRect(&rcSrcRect, 0, 0, width, height);
- D3DXLoadSurfaceFromMemory(
- pSurface,
- NULL,
- NULL,
- tempImage,
- D3DFMT_A8R8G8B8,
- width * texelBytes,
- NULL,
- &rcSrcRect,
- D3DX_FILTER_NONE,
- 0);
-
- FREE(tempImage);
- IDirect3DSurface8_Release(pSurface);
-}
-*/
-
-//---------------------------------------------------------------------------
-
-// Faster, more efficient version.
-// Copies subimage straight to dest texture
-void gld_TexImage2D_DX8(
- GLcontext *ctx,
- GLenum target,
- GLint level,
- GLint internalFormat,
- GLint width,
- GLint height,
- GLint border,
- GLenum format,
- GLenum type,
- const GLvoid *pixels,
- const struct gl_pixelstore_attrib *packing,
- struct gl_texture_object *tObj,
- struct gl_texture_image *texImage)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx8 *gld = GLD_GET_DX8_DRIVER(gldCtx);
-
- IDirect3DTexture8 *pTex;
- IDirect3DSurface8 *pSurface;
- HRESULT hr;
- D3DLOCKED_RECT d3dLockedRect;
- D3DSURFACE_DESC d3dsd;
-
- if (!tObj || !texImage)
- return;
-
- // GLQUAKE FIX
- // Test for input alpha data with non-alpha internalformat
- if (((internalFormat==3) || (internalFormat==GL_RGB)) && (format==GL_RGBA)) {
- // Input format has alpha, but a non-alpha format has been requested.
- texImage->IntFormat = GL_RGBA;
- internalFormat = GL_RGBA;
- }
-
- if (level == 0) {
- _gldAllocateTexture(ctx, tObj, texImage);
- }
-
- pTex = (IDirect3DTexture8*)tObj->DriverData;
- if (!pTex)
- return; // Texture has not been created
- if (level >= IDirect3DTexture8_GetLevelCount(pTex))
- return; // Level does not exist
- hr = IDirect3DTexture8_GetSurfaceLevel(pTex, level, &pSurface);
- if (FAILED(hr))
- return; // Surface level doesn't exist (or just a plain error)
-
- IDirect3DSurface8_GetDesc(pSurface, &d3dsd);
-
- // Lock all of surface
- hr = IDirect3DSurface8_LockRect(pSurface, &d3dLockedRect, NULL, 0);
- if (FAILED(hr)) {
- IDirect3DSurface8_Release(pSurface);
- return;
- }
-
- // unpack image, apply transfer ops and store directly in texture
- texImage->TexFormat->StoreImage(
- ctx,
- 2,
- texImage->Format,
- _gldMesaFormatForD3DFormat(d3dsd.Format),
- d3dLockedRect.pBits,
- width, height, 1, 0, 0, 0,
- d3dLockedRect.Pitch,
- 0, // dstImageStride
- format, type, pixels, packing);
-
- IDirect3DSurface8_UnlockRect(pSurface);
- IDirect3DSurface8_Release(pSurface);
-}
-
-//---------------------------------------------------------------------------
-
-void gld_TexImage1D_DX8(GLcontext *ctx, GLenum target, GLint level,
- GLint internalFormat,
- GLint width, GLint border,
- GLenum format, GLenum type, const GLvoid *pixels,
- const struct gl_pixelstore_attrib *packing,
- struct gl_texture_object *texObj,
- struct gl_texture_image *texImage )
-{
- // A 1D texture is a 2D texture with a height of zero
- gld_TexImage2D_DX8(ctx, target, level, internalFormat, width, 1, border, format, type, pixels, packing, texObj, texImage);
-}
-
-//---------------------------------------------------------------------------
-
-/*
-void gld_TexSubImage2D( GLcontext *ctx, GLenum target, GLint level,
- GLint xoffset, GLint yoffset,
- GLsizei width, GLsizei height,
- GLenum format, GLenum type,
- const GLvoid *pixels,
- const struct gl_pixelstore_attrib *packing,
- struct gl_texture_object *tObj,
- struct gl_texture_image *texImage )
-{
- GLD_GET_CONTEXT
- IDirect3DTexture8 *pTex;
- IDirect3DSurface8 *pSurface;
- D3DFORMAT d3dFormat;
- HRESULT hr;
- GLint texelBytes = 4;
- GLvoid *tempImage;
- RECT rcSrcRect;
- RECT rcDstRect;
-
- if (!tObj || !texImage)
- return;
-
- pTex = (IDirect3DTexture8*)tObj->DriverData;
- if (!pTex)
- return; // Texture has not been created
- if (level >= _GLD_DX8_TEX(GetLevelCount(pTex))
- return; // Level does not exist
- hr = _GLD_DX8_TEX(GetSurfaceLevel(pTex, level, &pSurface);
- if (FAILED(hr))
- return; // Surface level doesn't exist (or just a plain error)
-
- d3dFormat = _gldGLFormatToD3DFormat(texImage->Format);
- tempImage = MALLOC(width * height * texelBytes);
- if (!tempImage) {
- _mesa_error(ctx, GL_OUT_OF_MEMORY, "glTexImage2D");
- IDirect3DSurface8_Release(pSurface);
- return;
- }
-
- // unpack image, apply transfer ops and store in tempImage
- texImage->TexFormat->StoreImage(ctx, 2, texImage->Format,
- &_mesa_texformat_argb8888, // dest format
- tempImage,
- width, height, 1, 0, 0, 0,
- width * texelBytes,
- 0, // dstImageStride
- format, type, pixels, packing);
-
- // Source rectangle is whole of input image
- SetRect(&rcSrcRect, 0, 0, width, height);
-
- // Dest rectangle must be offset to dest image
- SetRect(&rcDstRect, 0, 0, width, height);
- OffsetRect(&rcDstRect, xoffset, yoffset);
-
- D3DXLoadSurfaceFromMemory(
- pSurface,
- NULL,
- &rcDstRect,
- tempImage,
- D3DFMT_A8R8G8B8,
- width * texelBytes,
- NULL,
- &rcSrcRect,
- D3DX_FILTER_NONE,
- 0);
-
- FREE(tempImage);
- IDirect3DSurface8_Release(pSurface);
-}
-*/
-
-//---------------------------------------------------------------------------
-
-// Faster, more efficient version.
-// Copies subimage straight to dest texture
-void gld_TexSubImage2D_DX8( GLcontext *ctx, GLenum target, GLint level,
- GLint xoffset, GLint yoffset,
- GLsizei width, GLsizei height,
- GLenum format, GLenum type,
- const GLvoid *pixels,
- const struct gl_pixelstore_attrib *packing,
- struct gl_texture_object *tObj,
- struct gl_texture_image *texImage )
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx8 *gld = GLD_GET_DX8_DRIVER(gldCtx);
-
- IDirect3DTexture8 *pTex;
- IDirect3DSurface8 *pSurface;
- HRESULT hr;
- RECT rcDstRect;
- D3DLOCKED_RECT d3dLockedRect;
- D3DSURFACE_DESC d3dsd;
-
- if (!tObj || !texImage)
- return;
-
- pTex = (IDirect3DTexture8*)tObj->DriverData;
- if (!pTex)
- return; // Texture has not been created
- if (level >= IDirect3DTexture8_GetLevelCount(pTex))
- return; // Level does not exist
- hr = IDirect3DTexture8_GetSurfaceLevel(pTex, level, &pSurface);
- if (FAILED(hr))
- return; // Surface level doesn't exist (or just a plain error)
-
- IDirect3DSurface8_GetDesc(pSurface, &d3dsd);
-
- // Dest rectangle must be offset to dest image
- SetRect(&rcDstRect, 0, 0, width, height);
- OffsetRect(&rcDstRect, xoffset, yoffset);
-
- // Lock sub-rect of surface
- hr = IDirect3DSurface8_LockRect(pSurface, &d3dLockedRect, &rcDstRect, 0);
- if (FAILED(hr)) {
- IDirect3DSurface8_Release(pSurface);
- return;
- }
-
- // unpack image, apply transfer ops and store directly in texture
- texImage->TexFormat->StoreImage(ctx, 2, texImage->Format,
- _gldMesaFormatForD3DFormat(d3dsd.Format),
- d3dLockedRect.pBits,
- width, height, 1,
- 0, 0, 0, // NOTE: d3dLockedRect.pBits is already offset!!!
- d3dLockedRect.Pitch,
- 0, // dstImageStride
- format, type, pixels, packing);
-
-
- IDirect3DSurface8_UnlockRect(pSurface);
- IDirect3DSurface8_Release(pSurface);
-}
-
-//---------------------------------------------------------------------------
-
-void gld_TexSubImage1D_DX8( GLcontext *ctx, GLenum target, GLint level,
- GLint xoffset, GLsizei width,
- GLenum format, GLenum type,
- const GLvoid *pixels,
- const struct gl_pixelstore_attrib *packing,
- struct gl_texture_object *texObj,
- struct gl_texture_image *texImage )
-{
- gld_TexSubImage2D_DX8(ctx, target, level, xoffset, 0, width, 1, format, type, pixels, packing, texObj, texImage);
-}
-
-//---------------------------------------------------------------------------
-
-void gld_DeleteTexture_DX8(
- GLcontext *ctx,
- struct gl_texture_object *tObj)
-{
- GLD_context *gld = (GLD_context*)(ctx->DriverCtx);
-
- if (tObj) {
- IDirect3DTexture8 *pTex = (IDirect3DTexture8*)tObj->DriverData;
- if (pTex) {
-/* // Make sure texture is not bound to a stage before releasing it
- for (int i=0; i<MAX_TEXTURE_UNITS; i++) {
- if (gld->CurrentTexture[i] == pTex) {
- gld->pDev->SetTexture(i, NULL);
- gld->CurrentTexture[i] = NULL;
- }
- }*/
- _GLD_DX8_TEX(Release(pTex));
- tObj->DriverData = NULL;
- }
- }
-}
-
-//---------------------------------------------------------------------------
-
-__inline void _gldSetColorOps(
- const GLD_driver_dx8 *gld,
- GLuint unit,
- DWORD ColorArg1,
- D3DTEXTUREOP ColorOp,
- DWORD ColorArg2)
-{
- _GLD_DX8_DEV(SetTextureStageState(gld->pDev, unit, D3DTSS_COLORARG1, ColorArg1));
- _GLD_DX8_DEV(SetTextureStageState(gld->pDev, unit, D3DTSS_COLOROP, ColorOp));
- _GLD_DX8_DEV(SetTextureStageState(gld->pDev, unit, D3DTSS_COLORARG2, ColorArg2));
-}
-
-//---------------------------------------------------------------------------
-
-__inline void _gldSetAlphaOps(
- const GLD_driver_dx8 *gld,
- GLuint unit,
- DWORD AlphaArg1,
- D3DTEXTUREOP AlphaOp,
- DWORD AlphaArg2)
-{
- _GLD_DX8_DEV(SetTextureStageState(gld->pDev, unit, D3DTSS_ALPHAARG1, AlphaArg1));
- _GLD_DX8_DEV(SetTextureStageState(gld->pDev, unit, D3DTSS_ALPHAOP, AlphaOp));
- _GLD_DX8_DEV(SetTextureStageState(gld->pDev, unit, D3DTSS_ALPHAARG2, AlphaArg2));
-}
-
-//---------------------------------------------------------------------------
-
-void gldUpdateTextureUnit(
- GLcontext *ctx,
- GLuint unit,
- BOOL bPassThrough)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx8 *gld = GLD_GET_DX8_DRIVER(gldCtx);
-
- D3DTEXTUREFILTERTYPE minfilter;
- D3DTEXTUREFILTERTYPE mipfilter;
- GLenum BaseFormat;
- DWORD dwColorArg0;
- int iTexEnv = 0;
- GLD_texenv *pTexenv;
-
- // NOTE: If bPassThrough is FALSE then texture stage can be
- // disabled otherwise it must pass-through it's current fragment.
-
- const struct gl_texture_unit *pUnit = &ctx->Texture.Unit[unit];
- const struct gl_texture_object *tObj = pUnit->_Current;
-
- IDirect3DTexture8 *pTex = NULL;
- if (tObj) {
- pTex = (IDirect3DTexture8*)tObj->DriverData;
- }
-
- // Enable texturing if unit is enabled and a valid D3D texture exists
- // Mesa 5: TEXTUREn_x altered to TEXTURE_nD_BIT
- //if (pTex && (pUnit->Enabled & (TEXTURE0_1D | TEXTURE0_2D))) {
- if (pTex && (pUnit->_ReallyEnabled & (TEXTURE_1D_BIT | TEXTURE_2D_BIT))) {
- // Enable texturing
- _GLD_DX8_DEV(SetTexture(gld->pDev, unit, pTex));
- } else {
- // Disable texturing, then return
- _GLD_DX8_DEV(SetTexture(gld->pDev, unit, NULL));
- if (bPassThrough) {
- _gldSetColorOps(gld, unit, D3DTA_TEXTURE, D3DTOP_SELECTARG2, D3DTA_DIFFUSE);
- _gldSetAlphaOps(gld, unit, D3DTA_TEXTURE, D3DTOP_SELECTARG2, D3DTA_DIFFUSE);
- } else {
- _gldSetColorOps(gld, unit, D3DTA_TEXTURE, D3DTOP_DISABLE, D3DTA_DIFFUSE);
- _gldSetAlphaOps(gld, unit, D3DTA_TEXTURE, D3DTOP_DISABLE, D3DTA_DIFFUSE);
- }
- return;
- }
-
- // Texture parameters
- _gldConvertMinFilter(tObj->MinFilter, &minfilter, &mipfilter);
- _GLD_DX8_DEV(SetTextureStageState(gld->pDev, unit, D3DTSS_MINFILTER, minfilter));
- _GLD_DX8_DEV(SetTextureStageState(gld->pDev, unit, D3DTSS_MIPFILTER, mipfilter));
- _GLD_DX8_DEV(SetTextureStageState(gld->pDev, unit, D3DTSS_MAGFILTER, _gldConvertMagFilter(tObj->MagFilter)));
- _GLD_DX8_DEV(SetTextureStageState(gld->pDev, unit, D3DTSS_ADDRESSU, _gldConvertWrap(tObj->WrapS)));
- _GLD_DX8_DEV(SetTextureStageState(gld->pDev, unit, D3DTSS_ADDRESSV, _gldConvertWrap(tObj->WrapT)));
-
- // Texture priority
- _GLD_DX8_TEX(SetPriority(pTex, (DWORD)(tObj->Priority*65535.0f)));
-
- // Texture environment
- // TODO: Examine input texture for alpha and use specific alpha/non-alpha ops.
- // See Page 355 of the Red Book.
- BaseFormat = _gldDecodeBaseFormat(pTex);
-
- switch (BaseFormat) {
- case GL_RGB:
- iTexEnv = 0;
- break;
- case GL_RGBA:
- iTexEnv = 1;
- break;
- case GL_ALPHA:
- iTexEnv = 2;
- break;
- }
-
- switch (pUnit->EnvMode) {
- case GL_DECAL:
- iTexEnv += 0;
- break;
- case GL_REPLACE:
- iTexEnv += 3;
- break;
- case GL_MODULATE:
- iTexEnv += 6;
- break;
- case GL_BLEND:
- // Set blend colour
- dwColorArg0 = D3DCOLOR_COLORVALUE(pUnit->EnvColor[0], pUnit->EnvColor[1], pUnit->EnvColor[2], pUnit->EnvColor[3]);
- _GLD_DX8_DEV(SetTextureStageState(gld->pDev, unit, D3DTSS_COLORARG0, dwColorArg0));
- iTexEnv += 9;
- break;
- case GL_ADD:
- iTexEnv += 12;
- break;
- }
- pTexenv = (GLD_texenv*)&gldTexEnv[iTexEnv];
- _gldSetColorOps(gld, unit, pTexenv->ColorArg1, pTexenv->ColorOp, pTexenv->ColorArg2);
- _gldSetAlphaOps(gld, unit, pTexenv->AlphaArg1, pTexenv->AlphaOp, pTexenv->AlphaArg2);
-}
-
-//---------------------------------------------------------------------------
-
-void gld_NEW_TEXTURE_DX8(
- GLcontext *ctx)
-{
- // TODO: Support for three (ATI Radeon) or more (nVidia GeForce3) texture units
-
- BOOL bUnit0Enabled;
- BOOL bUnit1Enabled;
-
- if (!ctx)
- return; // Sanity check
-
- if (ctx->Const.MaxTextureUnits == 1) {
- gldUpdateTextureUnit(ctx, 0, TRUE);
- return;
- }
-
- //
- // NOTE: THE FOLLOWING RELATES TO TWO TEXTURE UNITS, AND TWO ONLY!!
- //
-
- // Mesa 5: Texture Units altered
- //bUnit0Enabled = (ctx->Texture._ReallyEnabled & (TEXTURE0_1D | TEXTURE0_2D)) ? TRUE : FALSE;
- //bUnit1Enabled = (ctx->Texture._ReallyEnabled & (TEXTURE1_1D | TEXTURE1_2D)) ? TRUE : FALSE;
- bUnit0Enabled = (ctx->Texture.Unit[0]._ReallyEnabled & (TEXTURE_1D_BIT | TEXTURE_2D_BIT)) ? TRUE : FALSE;
- bUnit1Enabled = (ctx->Texture.Unit[1]._ReallyEnabled & (TEXTURE_1D_BIT | TEXTURE_2D_BIT)) ? TRUE : FALSE;
-
- // If Unit0 is disabled and Unit1 is enabled then we must pass-though
- gldUpdateTextureUnit(ctx, 0, (!bUnit0Enabled && bUnit1Enabled) ? TRUE : FALSE);
- // We can always disable the last texture unit
- gldUpdateTextureUnit(ctx, 1, FALSE);
-
-#ifdef _DEBUG
- {
- // Find out whether device supports current renderstates
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx8 *gld = GLD_GET_DX8_DRIVER(gldCtx);
-// GLD_context *gld = GLD_GET_CONTEXT(ctx);
-
- DWORD dwPasses;
- _GLD_DX8_DEV(ValidateDevice(gld->pDev, &dwPasses));
-// if (FAILED(hr)) {
-// gldLogError(GLDLOG_ERROR, "ValidateDevice failed", hr);
-// }
- if (dwPasses != 1) {
- gldLogMessage(GLDLOG_ERROR, "ValidateDevice: Can't do in one pass\n");
- }
- }
-#endif
-};
-
-//---------------------------------------------------------------------------
diff --git a/src/mesa/drivers/windows/gldirect/dx8/gld_vb_d3d_render_dx8.c b/src/mesa/drivers/windows/gldirect/dx8/gld_vb_d3d_render_dx8.c
deleted file mode 100644
index cafbf4f5c5..0000000000
--- a/src/mesa/drivers/windows/gldirect/dx8/gld_vb_d3d_render_dx8.c
+++ /dev/null
@@ -1,249 +0,0 @@
-/****************************************************************************
-*
-* Mesa 3-D graphics library
-* Direct3D Driver Interface
-*
-* ========================================================================
-*
-* Copyright (C) 1991-2004 SciTech Software, Inc. 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
-* SCITECH SOFTWARE INC 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.
-*
-* ======================================================================
-*
-* Language: ANSI C
-* Environment: Windows 9x/2000/XP/XBox (Win32)
-*
-* Description: GLDirect fastpath pipeline stage
-*
-****************************************************************************/
-
-//---------------------------------------------------------------------------
-
-//#include "../GLDirect.h"
-//#include "../gld_log.h"
-//#include "gld_dx8.h"
-
-#include "dglcontext.h"
-#include "ddlog.h"
-#include "gld_dx8.h"
-
-//---------------------------------------------------------------------------
-
-#include "glheader.h"
-#include "context.h"
-#include "macros.h"
-// #include "mem.h"
-#include "mtypes.h"
-//#include "mmath.h"
-
-#include "math/m_matrix.h"
-#include "math/m_xform.h"
-
-#include "tnl/t_pipeline.h"
-
-//---------------------------------------------------------------------------
-
-__inline void _gldSetVertexShaderConstants(
- GLcontext *ctx,
- GLD_driver_dx8 *gld)
-{
- D3DXMATRIX mat, matView, matProj;
- GLfloat *pM;
-
- // Mesa 5: Altered to a Stack
- //pM = ctx->ModelView.m;
- pM = ctx->ModelviewMatrixStack.Top->m;
- matView._11 = pM[0];
- matView._12 = pM[1];
- matView._13 = pM[2];
- matView._14 = pM[3];
- matView._21 = pM[4];
- matView._22 = pM[5];
- matView._23 = pM[6];
- matView._24 = pM[7];
- matView._31 = pM[8];
- matView._32 = pM[9];
- matView._33 = pM[10];
- matView._34 = pM[11];
- matView._41 = pM[12];
- matView._42 = pM[13];
- matView._43 = pM[14];
- matView._44 = pM[15];
-
- // Mesa 5: Altered to a Stack
- //pM = ctx->ProjectionMatrix.m;
- pM = ctx->ProjectionMatrixStack.Top->m;
- matProj._11 = pM[0];
- matProj._12 = pM[1];
- matProj._13 = pM[2];
- matProj._14 = pM[3];
- matProj._21 = pM[4];
- matProj._22 = pM[5];
- matProj._23 = pM[6];
- matProj._24 = pM[7];
- matProj._31 = pM[8];
- matProj._32 = pM[9];
- matProj._33 = pM[10];
- matProj._34 = pM[11];
- matProj._41 = pM[12];
- matProj._42 = pM[13];
- matProj._43 = pM[14];
- matProj._44 = pM[15];
-
- D3DXMatrixMultiply( &mat, &matView, &matProj );
- D3DXMatrixTranspose( &mat, &mat );
-
- _GLD_DX8_DEV(SetVertexShaderConstant(gld->pDev, 0, &mat, 4));
-}
-
-//---------------------------------------------------------------------------
-
-static GLboolean gld_d3d_render_stage_run(
- GLcontext *ctx,
- struct tnl_pipeline_stage *stage)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx8 *gld = GLD_GET_DX8_DRIVER(gldCtx);
-
- TNLcontext *tnl;
- struct vertex_buffer *VB;
- tnl_render_func *tab;
- GLint pass;
- GLD_pb_dx8 *gldPB = &gld->PB3d;
-/*
- static int count = 0;
- count++;
- if (count != 2)
- return GL_FALSE;
-*/
- // The "check" function should disable this stage,
- // but we'll test gld->bUseMesaTnL anyway.
- if (gld->bUseMesaTnL) {
- // Do nothing in this stage, but continue pipeline
- return GL_TRUE;
- }
-
- tnl = TNL_CONTEXT(ctx);
- VB = &tnl->vb;
- pass = 0;
-
- tnl->Driver.Render.Start( ctx );
-
-#if 0
- // For debugging: Useful to see if an app passes colour data in
- // an unusual format.
- switch (VB->ColorPtr[0]->Type) {
- case GL_FLOAT:
- ddlogMessage(GLDLOG_SYSTEM, "ColorPtr: GL_FLOAT\n");
- break;
- case GL_UNSIGNED_BYTE:
- ddlogMessage(GLDLOG_SYSTEM, "ColorPtr: GL_UNSIGNED_BYTE\n");
- break;
- default:
- ddlogMessage(GLDLOG_SYSTEM, "ColorPtr: *?*\n");
- break;
- }
-#endif
-
- tnl->Driver.Render.Points = gld_Points3D_DX8;
- if (ctx->_TriangleCaps & DD_FLATSHADE) {
- tnl->Driver.Render.Line = gld_Line3DFlat_DX8;
- tnl->Driver.Render.Triangle = gld_Triangle3DFlat_DX8;
- tnl->Driver.Render.Quad = gld_Quad3DFlat_DX8;
- } else {
- tnl->Driver.Render.Line = gld_Line3DSmooth_DX8;
- tnl->Driver.Render.Triangle = gld_Triangle3DSmooth_DX8;
- tnl->Driver.Render.Quad = gld_Quad3DSmooth_DX8;
- }
-
- _GLD_DX8_VB(Lock(gldPB->pVB, 0, 0, &gldPB->pPoints, D3DLOCK_DISCARD));
- gldPB->nPoints = gldPB->nLines = gldPB->nTriangles = 0;
- // Allocate primitive pointers
- // gldPB->pPoints is always first
- gldPB->pLines = gldPB->pPoints + (gldPB->dwStride * gldPB->iFirstLine);
- gldPB->pTriangles = gldPB->pPoints + (gldPB->dwStride * gldPB->iFirstTriangle);
-
- ASSERT(tnl->Driver.Render.BuildVertices);
- ASSERT(tnl->Driver.Render.PrimitiveNotify);
- ASSERT(tnl->Driver.Render.Points);
- ASSERT(tnl->Driver.Render.Line);
- ASSERT(tnl->Driver.Render.Triangle);
- ASSERT(tnl->Driver.Render.Quad);
- ASSERT(tnl->Driver.Render.ResetLineStipple);
- ASSERT(tnl->Driver.Render.Interp);
- ASSERT(tnl->Driver.Render.CopyPV);
- ASSERT(tnl->Driver.Render.ClippedLine);
- ASSERT(tnl->Driver.Render.ClippedPolygon);
- ASSERT(tnl->Driver.Render.Finish);
-
- tab = (VB->Elts ? tnl->Driver.Render.PrimTabElts : tnl->Driver.Render.PrimTabVerts);
-
- do {
- GLuint i, length, flags = 0;
- for (i = 0 ; !(flags & PRIM_END) ; i += length)
- {
- flags = VB->Primitive[i].mode;
- length= VB->Primitive[i].count;
- ASSERT(length || (flags & PRIM_END));
- ASSERT((flags & PRIM_MODE_MASK) <= GL_POLYGON+1);
- if (length)
- tab[flags & PRIM_MODE_MASK]( ctx, i, i + length, flags );
- }
- } while (tnl->Driver.Render.Multipass &&
- tnl->Driver.Render.Multipass( ctx, ++pass ));
-
- _GLD_DX8_VB(Unlock(gldPB->pVB));
-
- _GLD_DX8_DEV(SetStreamSource(gld->pDev, 0, gldPB->pVB, gldPB->dwStride));
-
- _GLD_DX8_DEV(SetTransform(gld->pDev, D3DTS_PROJECTION, &gld->matProjection));
- _GLD_DX8_DEV(SetTransform(gld->pDev, D3DTS_WORLD, &gld->matModelView));
-
- if (gldPB->nPoints) {
- _GLD_DX8_DEV(DrawPrimitive(gld->pDev, D3DPT_POINTLIST, 0, gldPB->nPoints));
- gldPB->nPoints = 0;
- }
-
- if (gldPB->nLines) {
- _GLD_DX8_DEV(DrawPrimitive(gld->pDev, D3DPT_LINELIST, gldPB->iFirstLine, gldPB->nLines));
- gldPB->nLines = 0;
- }
-
- if (gldPB->nTriangles) {
- _GLD_DX8_DEV(DrawPrimitive(gld->pDev, D3DPT_TRIANGLELIST, gldPB->iFirstTriangle, gldPB->nTriangles));
- gldPB->nTriangles = 0;
- }
-
- return GL_FALSE; /* finished the pipe */
-}
-
-//---------------------------------------------------------------------------
-
-const struct tnl_pipeline_stage _gld_d3d_render_stage =
-{
- "gld_d3d_render_stage",
- NULL,
- NULL,
- NULL,
- NULL,
- gld_d3d_render_stage_run /* run */
-};
-
-//---------------------------------------------------------------------------
diff --git a/src/mesa/drivers/windows/gldirect/dx8/gld_vb_mesa_render_dx8.c b/src/mesa/drivers/windows/gldirect/dx8/gld_vb_mesa_render_dx8.c
deleted file mode 100644
index 9ab562010c..0000000000
--- a/src/mesa/drivers/windows/gldirect/dx8/gld_vb_mesa_render_dx8.c
+++ /dev/null
@@ -1,448 +0,0 @@
-
-/*
- * Mesa 3-D graphics library
- * Version: 3.5
- *
- * Copyright (C) 1999-2001 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
- * BRIAN PAUL 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.
- *
- * Authors:
- * Keith Whitwell <keithw@valinux.com>
- */
-
-
-/*
- * Render whole vertex buffers, including projection of vertices from
- * clip space and clipping of primitives.
- *
- * This file makes calls to project vertices and to the point, line
- * and triangle rasterizers via the function pointers:
- *
- * context->Driver.Render.*
- *
- */
-
-
-//---------------------------------------------------------------------------
-
-//#include "../GLDirect.h"
-//#include "../gld_log.h"
-//#include "gld_dx8.h"
-
-#include "dglcontext.h"
-#include "ddlog.h"
-#include "gld_dx8.h"
-
-//---------------------------------------------------------------------------
-
-#include "glheader.h"
-#include "context.h"
-#include "macros.h"
-// #include "mem.h"
-#include "mtypes.h"
-//#include "mmath.h"
-
-#include "math/m_matrix.h"
-#include "math/m_xform.h"
-
-#include "tnl/t_pipeline.h"
-
-/**********************************************************************/
-/* Clip single primitives */
-/**********************************************************************/
-
-
-#if defined(USE_IEEE)
-#define NEGATIVE(x) (GET_FLOAT_BITS(x) & (1<<31))
-//#define DIFFERENT_SIGNS(x,y) ((GET_FLOAT_BITS(x) ^ GET_FLOAT_BITS(y)) & (1<<31))
-#else
-#define NEGATIVE(x) (x < 0)
-//#define DIFFERENT_SIGNS(x,y) (x * y <= 0 && x - y != 0)
-/* Could just use (x*y<0) except for the flatshading requirements.
- * Maybe there's a better way?
- */
-#endif
-
-
-#define W(i) coord[i][3]
-#define Z(i) coord[i][2]
-#define Y(i) coord[i][1]
-#define X(i) coord[i][0]
-#define SIZE 4
-#define TAG(x) x##_4
-#include "tnl/t_vb_cliptmp.h"
-
-
-
-/**********************************************************************/
-/* Clip and render whole begin/end objects */
-/**********************************************************************/
-
-#define NEED_EDGEFLAG_SETUP (ctx->_TriangleCaps & DD_TRI_UNFILLED)
-#define EDGEFLAG_GET(idx) VB->EdgeFlag[idx]
-#define EDGEFLAG_SET(idx, val) VB->EdgeFlag[idx] = val
-
-
-/* Vertices, with the possibility of clipping.
- */
-#define RENDER_POINTS( start, count ) \
- tnl->Driver.Render.Points( ctx, start, count )
-
-#define RENDER_LINE( v1, v2 ) \
-do { \
- GLubyte c1 = mask[v1], c2 = mask[v2]; \
- GLubyte ormask = c1|c2; \
- if (!ormask) \
- LineFunc( ctx, v1, v2 ); \
- else if (!(c1 & c2 & 0x3f)) \
- clip_line_4( ctx, v1, v2, ormask ); \
-} while (0)
-
-#define RENDER_TRI( v1, v2, v3 ) \
-do { \
- GLubyte c1 = mask[v1], c2 = mask[v2], c3 = mask[v3]; \
- GLubyte ormask = c1|c2|c3; \
- if (!ormask) \
- TriangleFunc( ctx, v1, v2, v3 ); \
- else if (!(c1 & c2 & c3 & 0x3f)) \
- clip_tri_4( ctx, v1, v2, v3, ormask ); \
-} while (0)
-
-#define RENDER_QUAD( v1, v2, v3, v4 ) \
-do { \
- GLubyte c1 = mask[v1], c2 = mask[v2]; \
- GLubyte c3 = mask[v3], c4 = mask[v4]; \
- GLubyte ormask = c1|c2|c3|c4; \
- if (!ormask) \
- QuadFunc( ctx, v1, v2, v3, v4 ); \
- else if (!(c1 & c2 & c3 & c4 & 0x3f)) \
- clip_quad_4( ctx, v1, v2, v3, v4, ormask ); \
-} while (0)
-
-
-#define LOCAL_VARS \
- TNLcontext *tnl = TNL_CONTEXT(ctx); \
- struct vertex_buffer *VB = &tnl->vb; \
- const GLuint * const elt = VB->Elts; \
- const GLubyte *mask = VB->ClipMask; \
- const GLuint sz = VB->ClipPtr->size; \
- const tnl_line_func LineFunc = tnl->Driver.Render.Line; \
- const tnl_triangle_func TriangleFunc = tnl->Driver.Render.Triangle; \
- const tnl_quad_func QuadFunc = tnl->Driver.Render.Quad; \
- const GLboolean stipple = ctx->Line.StippleFlag; \
- (void) (LineFunc && TriangleFunc && QuadFunc); \
- (void) elt; (void) mask; (void) sz; (void) stipple;
-
-#define TAG(x) clip_##x##_verts
-#define INIT(x) tnl->Driver.Render.PrimitiveNotify( ctx, x )
-#define RESET_STIPPLE if (stipple) tnl->Driver.Render.ResetLineStipple( ctx )
-#define PRESERVE_VB_DEFS
-#include "tnl/t_vb_rendertmp.h"
-
-
-
-/* Elts, with the possibility of clipping.
- */
-#undef ELT
-#undef TAG
-#define ELT(x) elt[x]
-#define TAG(x) clip_##x##_elts
-#include "tnl/t_vb_rendertmp.h"
-
-/* TODO: do this for all primitives, verts and elts:
- */
-static void clip_elt_triangles( GLcontext *ctx,
- GLuint start,
- GLuint count,
- GLuint flags )
-{
- TNLcontext *tnl = TNL_CONTEXT(ctx);
- tnl_render_func render_tris = tnl->Driver.Render.PrimTabElts[GL_TRIANGLES];
- struct vertex_buffer *VB = &tnl->vb;
- const GLuint * const elt = VB->Elts;
- GLubyte *mask = VB->ClipMask;
- GLuint last = count-2;
- GLuint j;
- (void) flags;
-
- tnl->Driver.Render.PrimitiveNotify( ctx, GL_TRIANGLES );
-
- for (j=start; j < last; j+=3 ) {
- GLubyte c1 = mask[elt[j]];
- GLubyte c2 = mask[elt[j+1]];
- GLubyte c3 = mask[elt[j+2]];
- GLubyte ormask = c1|c2|c3;
- if (ormask) {
- if (start < j)
- render_tris( ctx, start, j, 0 );
- if (!(c1&c2&c3&0x3f))
- clip_tri_4( ctx, elt[j], elt[j+1], elt[j+2], ormask );
- start = j+3;
- }
- }
-
- if (start < j)
- render_tris( ctx, start, j, 0 );
-}
-
-/**********************************************************************/
-/* Render whole begin/end objects */
-/**********************************************************************/
-
-#define NEED_EDGEFLAG_SETUP (ctx->_TriangleCaps & DD_TRI_UNFILLED)
-#define EDGEFLAG_GET(idx) VB->EdgeFlag[idx]
-#define EDGEFLAG_SET(idx, val) VB->EdgeFlag[idx] = val
-
-
-/* Vertices, no clipping.
- */
-#define RENDER_POINTS( start, count ) \
- tnl->Driver.Render.Points( ctx, start, count )
-
-#define RENDER_LINE( v1, v2 ) \
- LineFunc( ctx, v1, v2 )
-
-#define RENDER_TRI( v1, v2, v3 ) \
- TriangleFunc( ctx, v1, v2, v3 )
-
-#define RENDER_QUAD( v1, v2, v3, v4 ) \
- QuadFunc( ctx, v1, v2, v3, v4 )
-
-#define TAG(x) _gld_tnl_##x##_verts
-
-#define LOCAL_VARS \
- TNLcontext *tnl = TNL_CONTEXT(ctx); \
- struct vertex_buffer *VB = &tnl->vb; \
- const GLuint * const elt = VB->Elts; \
- const tnl_line_func LineFunc = tnl->Driver.Render.Line; \
- const tnl_triangle_func TriangleFunc = tnl->Driver.Render.Triangle; \
- const tnl_quad_func QuadFunc = tnl->Driver.Render.Quad; \
- (void) (LineFunc && TriangleFunc && QuadFunc); \
- (void) elt;
-
-#define RESET_STIPPLE tnl->Driver.Render.ResetLineStipple( ctx )
-#define INIT(x) tnl->Driver.Render.PrimitiveNotify( ctx, x )
-#define RENDER_TAB_QUALIFIER
-#define PRESERVE_VB_DEFS
-#include "tnl/t_vb_rendertmp.h"
-
-
-/* Elts, no clipping.
- */
-#undef ELT
-#define TAG(x) _gld_tnl_##x##_elts
-#define ELT(x) elt[x]
-#include "tnl/t_vb_rendertmp.h"
-
-
-/**********************************************************************/
-/* Helper functions for drivers */
-/**********************************************************************/
-/*
-void _tnl_RenderClippedPolygon( GLcontext *ctx, const GLuint *elts, GLuint n )
-{
- TNLcontext *tnl = TNL_CONTEXT(ctx);
- struct vertex_buffer *VB = &tnl->vb;
- GLuint *tmp = VB->Elts;
-
- VB->Elts = (GLuint *)elts;
- tnl->Driver.Render.PrimTabElts[GL_POLYGON]( ctx, 0, n, PRIM_BEGIN|PRIM_END );
- VB->Elts = tmp;
-}
-
-void _tnl_RenderClippedLine( GLcontext *ctx, GLuint ii, GLuint jj )
-{
- TNLcontext *tnl = TNL_CONTEXT(ctx);
- tnl->Driver.Render.Line( ctx, ii, jj );
-}
-*/
-
-
-/**********************************************************************/
-/* Clip and render whole vertex buffers */
-/**********************************************************************/
-
-tnl_points_func _gldSetupPoints[4] = {
- gld_Points2D_DX8,
- gld_Points2D_DX8,
- gld_Points2D_DX8,
- gld_Points2D_DX8
-};
-tnl_line_func _gldSetupLine[4] = {
- gld_Line2DFlat_DX8,
- gld_Line2DSmooth_DX8,
- gld_Line2DFlat_DX8,
- gld_Line2DSmooth_DX8,
-};
-tnl_triangle_func _gldSetupTriangle[4] = {
- gld_Triangle2DFlat_DX8,
- gld_Triangle2DSmooth_DX8,
- gld_Triangle2DFlatExtras_DX8,
- gld_Triangle2DSmoothExtras_DX8
-};
-tnl_quad_func _gldSetupQuad[4] = {
- gld_Quad2DFlat_DX8,
- gld_Quad2DSmooth_DX8,
- gld_Quad2DFlatExtras_DX8,
- gld_Quad2DSmoothExtras_DX8
-};
-
-//---------------------------------------------------------------------------
-
-static GLboolean _gld_mesa_render_stage_run(
- GLcontext *ctx,
- struct tnl_pipeline_stage *stage)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx8 *gld = GLD_GET_DX8_DRIVER(gldCtx);
-
- TNLcontext *tnl = TNL_CONTEXT(ctx);
- struct vertex_buffer *VB = &tnl->vb;
- tnl_render_func *tab;
- GLint pass = 0;
- GLD_pb_dx8 *gldPB;
-
- /* Allow the drivers to lock before projected verts are built so
- * that window coordinates are guarenteed not to change before
- * rendering.
- */
- ASSERT(tnl->Driver.Render.Start);
-
- tnl->Driver.Render.Start( ctx );
-
- // NOTE: Setting D3DRS_SOFTWAREVERTEXPROCESSING for a mixed-mode device resets
- // stream, indices and shader to default values of NULL or 0.
-/* if ((ctx->_TriangleCaps & DD_TRI_LIGHT_TWOSIDE) &&
- gld->VStwosidelight.hShader &&
- !ctx->Fog.Enabled)
- {
- IDirect3DDevice8_SetRenderState(gld->pDev, D3DRS_SOFTWAREVERTEXPROCESSING, !gld->VStwosidelight.bHardware);
- _GLD_DX8_DEV(SetVertexShader(gld->pDev, gld->VStwosidelight.hShader));
- gldPB = &gld->PBtwosidelight;
- tnl->Driver.Render.Points = gld_Points2DTwoside_DX8;
- if (ctx->_TriangleCaps & DD_FLATSHADE) {
- tnl->Driver.Render.Line = gld_Line2DFlatTwoside_DX8;
- tnl->Driver.Render.Triangle = gld_Triangle2DFlatTwoside_DX8;
- tnl->Driver.Render.Quad = gld_Quad2DFlatTwoside_DX8;
- } else {
- tnl->Driver.Render.Line = gld_Line2DSmoothTwoside_DX8;
- tnl->Driver.Render.Triangle = gld_Triangle2DSmoothTwoside_DX8;
- tnl->Driver.Render.Quad = gld_Quad2DSmoothTwoside_DX8;
- }
- } else {*/
- IDirect3DDevice8_SetRenderState(gld->pDev, D3DRS_SOFTWAREVERTEXPROCESSING, TRUE);
- gldPB = &gld->PB2d;
- _GLD_DX8_DEV(SetVertexShader(gld->pDev, gldPB->dwFVF));
- tnl->Driver.Render.Points = _gldSetupPoints[gld->iSetupFunc];
- tnl->Driver.Render.Line = _gldSetupLine[gld->iSetupFunc];
- tnl->Driver.Render.Triangle = _gldSetupTriangle[gld->iSetupFunc];
- tnl->Driver.Render.Quad = _gldSetupQuad[gld->iSetupFunc];
-// }
-
- _GLD_DX8_VB(Lock(gldPB->pVB, 0, 0, &gldPB->pPoints, D3DLOCK_DISCARD));
- gldPB->nPoints = gldPB->nLines = gldPB->nTriangles = 0;
- // Allocate primitive pointers
- // gldPB->pPoints is always first
- gldPB->pLines = gldPB->pPoints + (gldPB->dwStride * gldPB->iFirstLine);
- gldPB->pTriangles = gldPB->pPoints + (gldPB->dwStride * gldPB->iFirstTriangle);
-
- ASSERT(tnl->Driver.Render.BuildVertices);
- ASSERT(tnl->Driver.Render.PrimitiveNotify);
- ASSERT(tnl->Driver.Render.Points);
- ASSERT(tnl->Driver.Render.Line);
- ASSERT(tnl->Driver.Render.Triangle);
- ASSERT(tnl->Driver.Render.Quad);
- ASSERT(tnl->Driver.Render.ResetLineStipple);
- ASSERT(tnl->Driver.Render.Interp);
- ASSERT(tnl->Driver.Render.CopyPV);
- ASSERT(tnl->Driver.Render.ClippedLine);
- ASSERT(tnl->Driver.Render.ClippedPolygon);
- ASSERT(tnl->Driver.Render.Finish);
-
- tnl->Driver.Render.BuildVertices( ctx, 0, VB->Count, ~0 );
-
- if (VB->ClipOrMask) {
- tab = VB->Elts ? clip_render_tab_elts : clip_render_tab_verts;
- clip_render_tab_elts[GL_TRIANGLES] = clip_elt_triangles;
- }
- else {
- tab = (VB->Elts ?
- tnl->Driver.Render.PrimTabElts :
- tnl->Driver.Render.PrimTabVerts);
- }
-
- do {
- GLuint i, length, flags = 0;
- for (i = 0 ; !(flags & PRIM_END) ; i += length) {
- flags = VB->Primitive[i].mode;
- length= VB->Primitive[i].count;
- ASSERT(length || (flags & PRIM_END));
- ASSERT((flags & PRIM_MODE_MASK) <= GL_POLYGON+1);
- if (length)
- tab[flags & PRIM_MODE_MASK]( ctx, i, i + length, flags );
- }
- } while (tnl->Driver.Render.Multipass &&
- tnl->Driver.Render.Multipass( ctx, ++pass ));
-
-
-// tnl->Driver.Render.Finish( ctx );
-
- _GLD_DX8_VB(Unlock(gldPB->pVB));
-
- _GLD_DX8_DEV(SetStreamSource(gld->pDev, 0, gldPB->pVB, gldPB->dwStride));
-
- if (gldPB->nPoints) {
- _GLD_DX8_DEV(DrawPrimitive(gld->pDev, D3DPT_POINTLIST, 0, gldPB->nPoints));
- gldPB->nPoints = 0;
- }
-
- if (gldPB->nLines) {
- _GLD_DX8_DEV(DrawPrimitive(gld->pDev, D3DPT_LINELIST, gldPB->iFirstLine, gldPB->nLines));
- gldPB->nLines = 0;
- }
-
- if (gldPB->nTriangles) {
- _GLD_DX8_DEV(DrawPrimitive(gld->pDev, D3DPT_TRIANGLELIST, gldPB->iFirstTriangle, gldPB->nTriangles));
- gldPB->nTriangles = 0;
- }
-
- return GL_FALSE; /* finished the pipe */
-}
-
-
-/**********************************************************************/
-/* Render pipeline stage */
-/**********************************************************************/
-
-
-
-
-//---------------------------------------------------------------------------
-
-const struct tnl_pipeline_stage _gld_mesa_render_stage =
-{
- "gld_mesa_render_stage",
- NULL,
- NULL,
- NULL,
- NULL,
- _gld_mesa_render_stage_run /* run */
-};
-
-//---------------------------------------------------------------------------
diff --git a/src/mesa/drivers/windows/gldirect/dx8/gld_wgl_dx8.c b/src/mesa/drivers/windows/gldirect/dx8/gld_wgl_dx8.c
deleted file mode 100644
index 011d810e97..0000000000
--- a/src/mesa/drivers/windows/gldirect/dx8/gld_wgl_dx8.c
+++ /dev/null
@@ -1,1336 +0,0 @@
-/****************************************************************************
-*
-* Mesa 3-D graphics library
-* Direct3D Driver Interface
-*
-* ========================================================================
-*
-* Copyright (C) 1991-2004 SciTech Software, Inc. 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
-* SCITECH SOFTWARE INC 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.
-*
-* ======================================================================
-*
-* Language: ANSI C
-* Environment: Windows 9x/2000/XP/XBox (Win32)
-*
-* Description: GLDirect Direct3D 8.x WGL (WindowsGL)
-*
-****************************************************************************/
-
-#include "dglcontext.h"
-#include "gld_driver.h"
-#include "gld_dxerr8.h"
-#include "gld_dx8.h"
-
-#include "tnl/tnl.h"
-#include "tnl/t_context.h"
-
-// Copied from dglcontect.c
-#define GLDERR_NONE 0
-#define GLDERR_MEM 1
-#define GLDERR_DDRAW 2
-#define GLDERR_D3D 3
-#define GLDERR_BPP 4
-#define GLDERR_DDS 5
-// This external var keeps track of any error
-extern int nContextError;
-
-#define DDLOG_CRITICAL_OR_WARN DDLOG_CRITICAL
-
-extern void _gld_mesa_warning(GLcontext *, char *);
-extern void _gld_mesa_fatal(GLcontext *, char *);
-
-//---------------------------------------------------------------------------
-
-static char szColorDepthWarning[] =
-"GLDirect does not support the current desktop\n\
-color depth.\n\n\
-You may need to change the display resolution to\n\
-16 bits per pixel or higher color depth using\n\
-the Windows Display Settings control panel\n\
-before running this OpenGL application.\n";
-
-// The only depth-stencil formats currently supported by Direct3D
-// Surface Format Depth Stencil Total Bits
-// D3DFMT_D32 32 - 32
-// D3DFMT_D15S1 15 1 16
-// D3DFMT_D24S8 24 8 32
-// D3DFMT_D16 16 - 16
-// D3DFMT_D24X8 24 - 32
-// D3DFMT_D24X4S4 24 4 32
-
-// This pixel format will be used as a template when compiling the list
-// of pixel formats supported by the hardware. Many fields will be
-// filled in at runtime.
-// PFD flag defaults are upgraded to match ChoosePixelFormat() -- DaveM
-static DGL_pixelFormat pfTemplateHW =
-{
- {
- sizeof(PIXELFORMATDESCRIPTOR), // Size of the data structure
- 1, // Structure version - should be 1
- // Flags:
- PFD_DRAW_TO_WINDOW | // The buffer can draw to a window or device surface.
- PFD_DRAW_TO_BITMAP | // The buffer can draw to a bitmap. (DaveM)
- PFD_SUPPORT_GDI | // The buffer supports GDI drawing. (DaveM)
- PFD_SUPPORT_OPENGL | // The buffer supports OpenGL drawing.
- PFD_DOUBLEBUFFER | // The buffer is double-buffered.
- 0, // Placeholder for easy commenting of above flags
- PFD_TYPE_RGBA, // Pixel type RGBA.
- 16, // Total colour bitplanes (excluding alpha bitplanes)
- 5, 0, // Red bits, shift
- 5, 0, // Green bits, shift
- 5, 0, // Blue bits, shift
- 0, 0, // Alpha bits, shift (destination alpha)
- 0, // Accumulator bits (total)
- 0, 0, 0, 0, // Accumulator bits: Red, Green, Blue, Alpha
- 0, // Depth bits
- 0, // Stencil bits
- 0, // Number of auxiliary buffers
- 0, // Layer type
- 0, // Specifies the number of overlay and underlay planes.
- 0, // Layer mask
- 0, // Specifies the transparent color or index of an underlay plane.
- 0 // Damage mask
- },
- D3DFMT_UNKNOWN, // No depth/stencil buffer
-};
-
-//---------------------------------------------------------------------------
-// Vertex Shaders
-//---------------------------------------------------------------------------
-
-// Vertex Shader Declaration
-static DWORD dwTwoSidedLightingDecl[] =
-{
- D3DVSD_STREAM(0),
- D3DVSD_REG(0, D3DVSDT_FLOAT3), // XYZ position
- D3DVSD_REG(1, D3DVSDT_FLOAT3), // XYZ normal
- D3DVSD_REG(2, D3DVSDT_D3DCOLOR), // Diffuse color
- D3DVSD_REG(3, D3DVSDT_D3DCOLOR), // Specular color
- D3DVSD_REG(4, D3DVSDT_FLOAT2), // 2D texture unit 0
- D3DVSD_REG(5, D3DVSDT_FLOAT2), // 2D texture unit 1
- D3DVSD_END()
-};
-
-// Vertex Shader for two-sided lighting
-static char *szTwoSidedLightingVS =
-// This is a test shader!
-"vs.1.0\n"
-"m4x4 oPos,v0,c0\n"
-"mov oD0,v2\n"
-"mov oD1,v3\n"
-"mov oT0,v4\n"
-"mov oT1,v5\n"
-;
-
-//---------------------------------------------------------------------------
-//---------------------------------------------------------------------------
-
-typedef struct {
- HINSTANCE hD3D8DLL; // Handle to d3d8.dll
- FNDIRECT3DCREATE8 fnDirect3DCreate8; // Direct3DCreate8 function prototype
- BOOL bDirect3D; // Persistant Direct3D8 exists
- BOOL bDirect3DDevice; // Persistant Direct3DDevice8 exists
- IDirect3D8 *pD3D; // Persistant Direct3D8
- IDirect3DDevice8 *pDev; // Persistant Direct3DDevice8
-} GLD_dx8_globals;
-
-// These are "global" to all DX8 contexts. KeithH
-static GLD_dx8_globals dx8Globals;
-
-//---------------------------------------------------------------------------
-//---------------------------------------------------------------------------
-
-BOOL gldGetDXErrorString_DX(
- HRESULT hr,
- char *buf,
- int nBufSize)
-{
- //
- // Return a string describing the input HRESULT error code
- //
-
- D3DXGetErrorString(hr, buf, nBufSize);
- return TRUE;
-}
-
-//---------------------------------------------------------------------------
-
-static D3DMULTISAMPLE_TYPE _gldGetDeviceMultiSampleType(
- IDirect3D8 *pD3D8,
- D3DFORMAT SurfaceFormat,
- D3DDEVTYPE d3dDevType,
- BOOL Windowed)
-{
- int i;
- HRESULT hr;
-
- if (glb.dwMultisample == GLDS_MULTISAMPLE_NONE)
- return D3DMULTISAMPLE_NONE;
-
- if (glb.dwMultisample == GLDS_MULTISAMPLE_FASTEST) {
- // Find fastest multisample
- for (i=2; i<17; i++) {
- hr = IDirect3D8_CheckDeviceMultiSampleType(
- pD3D8,
- glb.dwAdapter,
- d3dDevType,
- SurfaceFormat,
- Windowed,
- (D3DMULTISAMPLE_TYPE)i);
- if (SUCCEEDED(hr)) {
- return (D3DMULTISAMPLE_TYPE)i;
- }
- }
- } else {
- // Find nicest multisample
- for (i=16; i>1; i--) {
- hr = IDirect3D8_CheckDeviceMultiSampleType(
- pD3D8,
- glb.dwAdapter,
- d3dDevType,
- SurfaceFormat,
- Windowed,
- (D3DMULTISAMPLE_TYPE)i);
- if (SUCCEEDED(hr)) {
- return (D3DMULTISAMPLE_TYPE)i;
- }
- }
- }
-
- // Nothing found - return default
- return D3DMULTISAMPLE_NONE;
-}
-
-//---------------------------------------------------------------------------
-
-void _gldDestroyPrimitiveBuffer(
- GLD_pb_dx8 *gldVB)
-{
- SAFE_RELEASE(gldVB->pVB);
-
- // Sanity check...
- gldVB->nLines = gldVB->nPoints = gldVB->nTriangles = 0;
-}
-
-//---------------------------------------------------------------------------
-
-HRESULT _gldCreatePrimitiveBuffer(
- GLcontext *ctx,
- GLD_driver_dx8 *lpCtx,
- GLD_pb_dx8 *gldVB)
-{
- HRESULT hResult;
- char *szCreateVertexBufferFailed = "CreateVertexBuffer failed";
- DWORD dwMaxVertices; // Max number of vertices in vertex buffer
- DWORD dwVBSize; // Total size of vertex buffer
-
- // If CVA (Compiled Vertex Array) is used by an OpenGL app, then we
- // will need enough vertices to cater for Mesa::Const.MaxArrayLockSize.
- // We'll use IMM_SIZE if it's larger (which it should not be).
- dwMaxVertices = MAX_ARRAY_LOCK_SIZE;
-
- // Now calculate how many vertices to allow for in total
- // 1 per point, 2 per line, 6 per quad = 9
- dwVBSize = dwMaxVertices * 9 * gldVB->dwStride;
-
- hResult = IDirect3DDevice8_CreateVertexBuffer(
- lpCtx->pDev,
- dwVBSize,
- gldVB->dwUsage,
- gldVB->dwFVF,
- gldVB->dwPool,
- &gldVB->pVB);
- if (FAILED(hResult)) {
- ddlogMessage(DDLOG_CRITICAL_OR_WARN, szCreateVertexBufferFailed);
- return hResult;
- }
-
- gldVB->nLines = gldVB->nPoints = gldVB->nTriangles = 0;
- gldVB->pPoints = gldVB->pLines = gldVB->pTriangles = NULL;
- gldVB->iFirstLine = dwMaxVertices; // Index of first line in VB
- gldVB->iFirstTriangle = dwMaxVertices*3; // Index of first triangle in VB
-
- return S_OK;
-}
-
-//---------------------------------------------------------------------------
-// Function: _gldCreateVertexShaders
-// Create DX8 Vertex Shaders.
-//---------------------------------------------------------------------------
-/*
-void _gldCreateVertexShaders(
- GLD_driver_dx8 *gld)
-{
- DWORD dwFlags;
- LPD3DXBUFFER pVSOpcodeBuffer; // Vertex Shader opcode buffer
- HRESULT hr;
-
-#ifdef _DEBUG
- dwFlags = D3DXASM_DEBUG;
-#else
- dwFlags = 0; // D3DXASM_SKIPVALIDATION;
-#endif
-
- ddlogMessage(DDLOG_INFO, "Creating shaders...\n");
-
- // Init the shader handle
- gld->VStwosidelight.hShader = 0;
-
- if (gld->d3dCaps8.MaxStreams == 0) {
- // Lame DX8 driver doesn't support streams
- // Not fatal, as defaults will be used
- ddlogMessage(DDLOG_WARN, "Driver doesn't support Vertex Shaders (MaxStreams==0)\n");
- return;
- }
-
- // ** THIS DISABLES VERTEX SHADER SUPPORT **
-// return;
- // ** THIS DISABLES VERTEX SHADER SUPPORT **
-
- //
- // Two-sided lighting
- //
-
-#if 0
- //
- // DEBUGGING: Load shader from a text file
- //
- {
- LPD3DXBUFFER pVSErrorBuffer; // Vertex Shader error buffer
- hr = D3DXAssembleShaderFromFile(
- "twoside.vsh",
- dwFlags,
- NULL, // No constants
- &pVSOpcodeBuffer,
- &pVSErrorBuffer);
- if (pVSErrorBuffer && pVSErrorBuffer->lpVtbl->GetBufferPointer(pVSErrorBuffer))
- ddlogMessage(DDLOG_INFO, pVSErrorBuffer->lpVtbl->GetBufferPointer(pVSErrorBuffer));
- SAFE_RELEASE(pVSErrorBuffer);
- }
-#else
- {
- LPD3DXBUFFER pVSErrorBuffer; // Vertex Shader error buffer
- // Assemble ascii shader text into shader opcodes
- hr = D3DXAssembleShader(
- szTwoSidedLightingVS,
- strlen(szTwoSidedLightingVS),
- dwFlags,
- NULL, // No constants
- &pVSOpcodeBuffer,
- &pVSErrorBuffer);
- if (pVSErrorBuffer && pVSErrorBuffer->lpVtbl->GetBufferPointer(pVSErrorBuffer))
- ddlogMessage(DDLOG_INFO, pVSErrorBuffer->lpVtbl->GetBufferPointer(pVSErrorBuffer));
- SAFE_RELEASE(pVSErrorBuffer);
- }
-#endif
- if (FAILED(hr)) {
- ddlogError(DDLOG_WARN, "AssembleShader failed", hr);
- SAFE_RELEASE(pVSOpcodeBuffer);
- return;
- }
-
-// This is for debugging. Remove to enable vertex shaders in HW
-#define _GLD_FORCE_SW_VS 0
-
- if (_GLD_FORCE_SW_VS) {
- // _GLD_FORCE_SW_VS should be disabled for Final Release
- ddlogMessage(DDLOG_SYSTEM, "[Forcing shaders in SW]\n");
- }
-
- // Try and create shader in hardware.
- // NOTE: The D3D Ref device appears to succeed when trying to
- // create the device in hardware, but later complains
- // when trying to set it with SetVertexShader(). Go figure.
- if (_GLD_FORCE_SW_VS || glb.dwDriver == GLDS_DRIVER_REF) {
- // Don't try and create a hardware shader with the Ref device
- hr = E_FAIL; // COM error/fail result
- } else {
- gld->VStwosidelight.bHardware = TRUE;
- hr = IDirect3DDevice8_CreateVertexShader(
- gld->pDev,
- dwTwoSidedLightingDecl,
- pVSOpcodeBuffer->lpVtbl->GetBufferPointer(pVSOpcodeBuffer),
- &gld->VStwosidelight.hShader,
- 0);
- }
- if (FAILED(hr)) {
- ddlogMessage(DDLOG_INFO, "... HW failed, trying SW...\n");
- // Failed. Try and create shader for software processing
- hr = IDirect3DDevice8_CreateVertexShader(
- gld->pDev,
- dwTwoSidedLightingDecl,
- pVSOpcodeBuffer->lpVtbl->GetBufferPointer(pVSOpcodeBuffer),
- &gld->VStwosidelight.hShader,
- D3DUSAGE_SOFTWAREPROCESSING);
- if (FAILED(hr)) {
- gld->VStwosidelight.hShader = 0; // Sanity check
- ddlogError(DDLOG_WARN, "CreateVertexShader failed", hr);
- return;
- }
- // Succeeded, but for software processing
- gld->VStwosidelight.bHardware = FALSE;
- }
-
- SAFE_RELEASE(pVSOpcodeBuffer);
-
- ddlogMessage(DDLOG_INFO, "... OK\n");
-}
-
-//---------------------------------------------------------------------------
-
-void _gldDestroyVertexShaders(
- GLD_driver_dx8 *gld)
-{
- if (gld->VStwosidelight.hShader) {
- IDirect3DDevice8_DeleteVertexShader(gld->pDev, gld->VStwosidelight.hShader);
- gld->VStwosidelight.hShader = 0;
- }
-}
-*/
-//---------------------------------------------------------------------------
-
-LPVOID lpOpaque1 = NULL;
-LPVOID lpOpaque2 = NULL;
-
-BOOL gldCreateDrawable_DX(
- DGL_ctx *ctx,
-// BOOL bDefaultDriver,
- BOOL bDirectDrawPersistant,
- BOOL bPersistantBuffers)
-{
- //
- // bDirectDrawPersistant: applies to IDirect3D8
- // bPersistantBuffers: applies to IDirect3DDevice8
- //
-
- HRESULT hResult;
- GLD_driver_dx8 *lpCtx = NULL;
- D3DDEVTYPE d3dDevType;
- D3DPRESENT_PARAMETERS d3dpp;
- D3DDISPLAYMODE d3ddm;
- DWORD dwBehaviourFlags;
- D3DADAPTER_IDENTIFIER8 d3dIdent;
-
- // Error if context is NULL.
- if (ctx == NULL)
- return FALSE;
-
- if (ctx->glPriv) {
- lpCtx = ctx->glPriv;
- // Release any existing interfaces
- SAFE_RELEASE(lpCtx->pDev);
- SAFE_RELEASE(lpCtx->pD3D);
- } else {
- lpCtx = (GLD_driver_dx8*)malloc(sizeof(GLD_driver_dx8));
- ZeroMemory(lpCtx, sizeof(lpCtx));
- }
-
- d3dDevType = (glb.dwDriver == GLDS_DRIVER_HAL) ? D3DDEVTYPE_HAL : D3DDEVTYPE_REF;
- // TODO: Check this
-// if (bDefaultDriver)
-// d3dDevType = D3DDEVTYPE_REF;
-
- // Use persistant interface if needed
- if (bDirectDrawPersistant && dx8Globals.bDirect3D) {
- lpCtx->pD3D = dx8Globals.pD3D;
- IDirect3D8_AddRef(lpCtx->pD3D);
- goto SkipDirectDrawCreate;
- }
-
- // Create Direct3D8 object
- lpCtx->pD3D = dx8Globals.fnDirect3DCreate8(D3D_SDK_VERSION_DX8_SUPPORT_WIN95);
- if (lpCtx->pD3D == NULL) {
- MessageBox(NULL, "Unable to initialize Direct3D8", "GLDirect", MB_OK);
- ddlogMessage(DDLOG_CRITICAL_OR_WARN, "Unable to create Direct3D8 interface");
- nContextError = GLDERR_D3D;
- goto return_with_error;
- }
-
- // Cache Direct3D interface for subsequent GLRCs
- if (bDirectDrawPersistant && !dx8Globals.bDirect3D) {
- dx8Globals.pD3D = lpCtx->pD3D;
- IDirect3D8_AddRef(dx8Globals.pD3D);
- dx8Globals.bDirect3D = TRUE;
- }
-SkipDirectDrawCreate:
-
- // Get the display mode so we can make a compatible backbuffer
- hResult = IDirect3D8_GetAdapterDisplayMode(lpCtx->pD3D, glb.dwAdapter, &d3ddm);
- if (FAILED(hResult)) {
- nContextError = GLDERR_D3D;
- goto return_with_error;
- }
-
- // Get device caps
- hResult = IDirect3D8_GetDeviceCaps(lpCtx->pD3D, glb.dwAdapter, d3dDevType, &lpCtx->d3dCaps8);
- if (FAILED(hResult)) {
- ddlogError(DDLOG_CRITICAL_OR_WARN, "IDirect3D8_GetDeviceCaps failed", hResult);
- nContextError = GLDERR_D3D;
- goto return_with_error;
- }
-
- // Check for hardware transform & lighting
- lpCtx->bHasHWTnL = lpCtx->d3dCaps8.DevCaps & D3DDEVCAPS_HWTRANSFORMANDLIGHT ? TRUE : FALSE;
-
- // If this flag is present then we can't default to Mesa
- // SW rendering between BeginScene() and EndScene().
- if (lpCtx->d3dCaps8.Caps2 & D3DCAPS2_NO2DDURING3DSCENE) {
- ddlogMessage(DDLOG_WARN,
- "Warning : No 2D allowed during 3D scene.\n");
- }
-
- //
- // Create the Direct3D context
- //
-
- // Re-use original IDirect3DDevice if persistant buffers exist.
- // Note that we test for persistant IDirect3D8 as well
- // bDirectDrawPersistant == persistant IDirect3D8 (DirectDraw8 does not exist)
- if (bDirectDrawPersistant && bPersistantBuffers && dx8Globals.pD3D && dx8Globals.pDev) {
- lpCtx->pDev = dx8Globals.pDev;
- IDirect3DDevice8_AddRef(dx8Globals.pDev);
- goto skip_direct3ddevice_create;
- }
-
- // Clear the presentation parameters (sets all members to zero)
- ZeroMemory(&d3dpp, sizeof(d3dpp));
-
- // Recommended by MS; needed for MultiSample.
- // Be careful if altering this for FullScreenBlit
- d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
-
- d3dpp.BackBufferFormat = d3ddm.Format;
- d3dpp.BackBufferCount = 1;
- d3dpp.MultiSampleType = _gldGetDeviceMultiSampleType(lpCtx->pD3D, d3ddm.Format, d3dDevType, !ctx->bFullscreen);
- d3dpp.AutoDepthStencilFormat = ctx->lpPF->dwDriverData;
- d3dpp.EnableAutoDepthStencil = (d3dpp.AutoDepthStencilFormat == D3DFMT_UNKNOWN) ? FALSE : TRUE;
-
- if (ctx->bFullscreen) {
- ddlogWarnOption(FALSE); // Don't popup any messages in fullscreen
- d3dpp.Windowed = FALSE;
- d3dpp.BackBufferWidth = d3ddm.Width;
- d3dpp.BackBufferHeight = d3ddm.Height;
- d3dpp.hDeviceWindow = ctx->hWnd;
- d3dpp.FullScreen_RefreshRateInHz = D3DPRESENT_RATE_DEFAULT;
-
- // Support for vertical retrace synchronisation.
- // Set default presentation interval in case caps bits are missing
- d3dpp.FullScreen_PresentationInterval = D3DPRESENT_INTERVAL_DEFAULT;
- if (glb.bWaitForRetrace) {
- if (lpCtx->d3dCaps8.PresentationIntervals & D3DPRESENT_INTERVAL_ONE)
- d3dpp.FullScreen_PresentationInterval = D3DPRESENT_INTERVAL_ONE;
- } else {
- if (lpCtx->d3dCaps8.PresentationIntervals & D3DPRESENT_INTERVAL_IMMEDIATE)
- d3dpp.FullScreen_PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;
- }
- } else {
- ddlogWarnOption(glb.bMessageBoxWarnings); // OK to popup messages
- d3dpp.Windowed = TRUE;
- d3dpp.BackBufferWidth = ctx->dwWidth;
- d3dpp.BackBufferHeight = ctx->dwHeight;
- d3dpp.hDeviceWindow = ctx->hWnd;
- d3dpp.FullScreen_RefreshRateInHz = 0;
- // FullScreen_PresentationInterval must be default for Windowed mode
- d3dpp.FullScreen_PresentationInterval = D3DPRESENT_INTERVAL_DEFAULT;
- }
-
- // Decide if we can use hardware TnL
- dwBehaviourFlags = (lpCtx->bHasHWTnL) ?
- D3DCREATE_MIXED_VERTEXPROCESSING : D3DCREATE_SOFTWARE_VERTEXPROCESSING;
- // Add flag to tell D3D to be thread-safe
- if (glb.bMultiThreaded)
- dwBehaviourFlags |= D3DCREATE_MULTITHREADED;
- // Add flag to tell D3D to be FPU-safe
- if (!glb.bFastFPU)
- dwBehaviourFlags |= D3DCREATE_FPU_PRESERVE;
- hResult = IDirect3D8_CreateDevice(lpCtx->pD3D,
- glb.dwAdapter,
- d3dDevType,
- ctx->hWnd,
- dwBehaviourFlags,
- &d3dpp,
- &lpCtx->pDev);
- if (FAILED(hResult)) {
- ddlogError(DDLOG_CRITICAL_OR_WARN, "IDirect3D8_CreateDevice failed", hResult);
- nContextError = GLDERR_D3D;
- goto return_with_error;
- }
-
- if (bDirectDrawPersistant && bPersistantBuffers && dx8Globals.pD3D) {
- dx8Globals.pDev = lpCtx->pDev;
- dx8Globals.bDirect3DDevice = TRUE;
- }
-
-/*
- // See if DDraw interfaces are available (DaveM)
- hResult = IDirect3D8_QueryInterface(lpCtx->pDev,
- &IID_IDirectDraw7, (LPVOID*)&lpOpaque1);
- if (FAILED(hResult) || lpOpaque1 == NULL) {
- ddlogMessage(DDLOG_INFO, "DirectDraw QueryInterface unavailable\n");
- }
-
- hResult = IDirect3DDevice8_QueryInterface(lpCtx->pDev,
- &IID_IDirectDrawSurface7, (LPVOID*)&lpOpaque2);
- if (FAILED(hResult) || lpOpaque2 == NULL) {
- ddlogMessage(DDLOG_INFO, "DirectDrawSurface QueryInterface unavialable\n");
- }
-*/
- // Dump some useful stats
- hResult = IDirect3D8_GetAdapterIdentifier(
- lpCtx->pD3D,
- glb.dwAdapter,
- D3DENUM_NO_WHQL_LEVEL, // Avoids 1 to 2 second delay
- &d3dIdent);
- if (SUCCEEDED(hResult)) {
- ddlogPrintf(DDLOG_INFO, "[Driver Description: %s]", &d3dIdent.Description);
- ddlogPrintf(DDLOG_INFO, "[Driver file: %s %d.%d.%02d.%d]",
- d3dIdent.Driver,
- HIWORD(d3dIdent.DriverVersion.HighPart),
- LOWORD(d3dIdent.DriverVersion.HighPart),
- HIWORD(d3dIdent.DriverVersion.LowPart),
- LOWORD(d3dIdent.DriverVersion.LowPart));
- ddlogPrintf(DDLOG_INFO, "[VendorId: 0x%X, DeviceId: 0x%X, SubSysId: 0x%X, Revision: 0x%X]",
- d3dIdent.VendorId, d3dIdent.DeviceId, d3dIdent.SubSysId, d3dIdent.Revision);
- }
-
- // Init projection matrix for D3D TnL
- D3DXMatrixIdentity(&lpCtx->matProjection);
- lpCtx->matModelView = lpCtx->matProjection;
-// gld->bUseMesaProjection = TRUE;
-
-skip_direct3ddevice_create:
-
- // Create buffers to hold primitives
- lpCtx->PB2d.dwFVF = GLD_FVF_2D_VERTEX;
- lpCtx->PB2d.dwPool = D3DPOOL_SYSTEMMEM;
- lpCtx->PB2d.dwStride = sizeof(GLD_2D_VERTEX);
- lpCtx->PB2d.dwUsage = D3DUSAGE_DONOTCLIP |
- D3DUSAGE_DYNAMIC |
- D3DUSAGE_SOFTWAREPROCESSING |
- D3DUSAGE_WRITEONLY;
- hResult = _gldCreatePrimitiveBuffer(ctx->glCtx, lpCtx, &lpCtx->PB2d);
- if (FAILED(hResult))
- goto return_with_error;
-
- lpCtx->PB3d.dwFVF = GLD_FVF_3D_VERTEX;
- lpCtx->PB3d.dwPool = D3DPOOL_DEFAULT;
- lpCtx->PB3d.dwStride = sizeof(GLD_3D_VERTEX);
- lpCtx->PB3d.dwUsage = D3DUSAGE_DYNAMIC |
- D3DUSAGE_SOFTWAREPROCESSING |
- D3DUSAGE_WRITEONLY;
- hResult = _gldCreatePrimitiveBuffer(ctx->glCtx, lpCtx, &lpCtx->PB3d);
- if (FAILED(hResult))
- goto return_with_error;
-
-/* // NOTE: A FVF code of zero indicates a non-FVF vertex buffer (for vertex shaders)
- lpCtx->PBtwosidelight.dwFVF = 0; //GLD_FVF_TWOSIDED_VERTEX;
- lpCtx->PBtwosidelight.dwPool = D3DPOOL_DEFAULT;
- lpCtx->PBtwosidelight.dwStride = sizeof(GLD_TWOSIDED_VERTEX);
- lpCtx->PBtwosidelight.dwUsage = D3DUSAGE_DONOTCLIP |
- D3DUSAGE_DYNAMIC |
- D3DUSAGE_SOFTWAREPROCESSING |
- D3DUSAGE_WRITEONLY;
- hResult = _gldCreatePrimitiveBuffer(ctx->glCtx, lpCtx, &lpCtx->PBtwosidelight);
- if (FAILED(hResult))
- goto return_with_error;*/
-
- // Now try and create the DX8 Vertex Shaders
-// _gldCreateVertexShaders(lpCtx);
-
- // Zero the pipeline usage counters
- lpCtx->PipelineUsage.qwMesa.QuadPart =
-// lpCtx->PipelineUsage.dwD3D2SVS.QuadPart =
- lpCtx->PipelineUsage.qwD3DFVF.QuadPart = 0;
-
- // Assign drawable to GL private
- ctx->glPriv = lpCtx;
- return TRUE;
-
-return_with_error:
- // Clean up and bail
-
-// _gldDestroyVertexShaders(lpCtx);
-
-// _gldDestroyPrimitiveBuffer(&lpCtx->PBtwosidelight);
- _gldDestroyPrimitiveBuffer(&lpCtx->PB3d);
- _gldDestroyPrimitiveBuffer(&lpCtx->PB2d);
-
- SAFE_RELEASE(lpCtx->pDev);
- SAFE_RELEASE(lpCtx->pD3D);
- return FALSE;
-}
-
-//---------------------------------------------------------------------------
-
-BOOL gldResizeDrawable_DX(
- DGL_ctx *ctx,
- BOOL bDefaultDriver,
- BOOL bPersistantInterface,
- BOOL bPersistantBuffers)
-{
- GLD_driver_dx8 *gld = NULL;
- D3DDEVTYPE d3dDevType;
- D3DPRESENT_PARAMETERS d3dpp;
- D3DDISPLAYMODE d3ddm;
- HRESULT hResult;
-
- // Error if context is NULL.
- if (ctx == NULL)
- return FALSE;
-
- gld = ctx->glPriv;
- if (gld == NULL)
- return FALSE;
-
- if (ctx->bSceneStarted) {
- IDirect3DDevice8_EndScene(gld->pDev);
- ctx->bSceneStarted = FALSE;
- }
-
- d3dDevType = (glb.dwDriver == GLDS_DRIVER_HAL) ? D3DDEVTYPE_HAL : D3DDEVTYPE_REF;
- if (!bDefaultDriver)
- d3dDevType = D3DDEVTYPE_REF; // Force Direct3D Reference Rasterise (software)
-
- // Get the display mode so we can make a compatible backbuffer
- hResult = IDirect3D8_GetAdapterDisplayMode(gld->pD3D, glb.dwAdapter, &d3ddm);
- if (FAILED(hResult)) {
- nContextError = GLDERR_D3D;
-// goto return_with_error;
- return FALSE;
- }
-
- // Destroy DX8 Vertex Shaders before Reset()
-// _gldDestroyVertexShaders(gld);
-
- // Release POOL_DEFAULT objects before Reset()
- if (gld->PB2d.dwPool == D3DPOOL_DEFAULT)
- _gldDestroyPrimitiveBuffer(&gld->PB2d);
- if (gld->PB3d.dwPool == D3DPOOL_DEFAULT)
- _gldDestroyPrimitiveBuffer(&gld->PB3d);
-// if (gld->PBtwosidelight.dwPool == D3DPOOL_DEFAULT)
-// _gldDestroyPrimitiveBuffer(&gld->PBtwosidelight);
-
- // Clear the presentation parameters (sets all members to zero)
- ZeroMemory(&d3dpp, sizeof(d3dpp));
-
- // Recommended by MS; needed for MultiSample.
- // Be careful if altering this for FullScreenBlit
- d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
-
- d3dpp.BackBufferFormat = d3ddm.Format;
- d3dpp.BackBufferCount = 1;
- d3dpp.MultiSampleType = _gldGetDeviceMultiSampleType(gld->pD3D, d3ddm.Format, d3dDevType, !ctx->bFullscreen);
- d3dpp.AutoDepthStencilFormat = ctx->lpPF->dwDriverData;
- d3dpp.EnableAutoDepthStencil = (d3dpp.AutoDepthStencilFormat == D3DFMT_UNKNOWN) ? FALSE : TRUE;
-
- // TODO: Sync to refresh
-
- if (ctx->bFullscreen) {
- ddlogWarnOption(FALSE); // Don't popup any messages in fullscreen
- d3dpp.Windowed = FALSE;
- d3dpp.BackBufferWidth = d3ddm.Width;
- d3dpp.BackBufferHeight = d3ddm.Height;
- d3dpp.hDeviceWindow = ctx->hWnd;
- d3dpp.FullScreen_RefreshRateInHz = D3DPRESENT_RATE_DEFAULT;
- d3dpp.FullScreen_PresentationInterval = D3DPRESENT_INTERVAL_DEFAULT;
- // Get better benchmark results? KeithH
-// d3dpp.FullScreen_RefreshRateInHz = D3DPRESENT_RATE_UNLIMITED;
- } else {
- ddlogWarnOption(glb.bMessageBoxWarnings); // OK to popup messages
- d3dpp.Windowed = TRUE;
- d3dpp.BackBufferWidth = ctx->dwWidth;
- d3dpp.BackBufferHeight = ctx->dwHeight;
- d3dpp.hDeviceWindow = ctx->hWnd;
- d3dpp.FullScreen_RefreshRateInHz = 0;
- d3dpp.FullScreen_PresentationInterval = D3DPRESENT_INTERVAL_DEFAULT;
- }
- hResult = IDirect3DDevice8_Reset(gld->pDev, &d3dpp);
- if (FAILED(hResult)) {
- ddlogError(DDLOG_CRITICAL_OR_WARN, "dglResize: Reset failed", hResult);
- return FALSE;
- //goto cleanup_and_return_with_error;
- }
-
- // Explicitly Clear resized surfaces (DaveM)
- {
- D3DVIEWPORT8 d3dvp1, d3dvp2;
- IDirect3DDevice8_GetViewport(gld->pDev, &d3dvp1);
- IDirect3DDevice8_GetViewport(gld->pDev, &d3dvp2);
- d3dvp1.X = 0;
- d3dvp1.Y = 0;
- d3dvp1.Width = ctx->dwWidth;
- d3dvp1.Height = ctx->dwHeight;
- IDirect3DDevice8_SetViewport(gld->pDev, &d3dvp1);
- IDirect3DDevice8_Clear(gld->pDev,0,NULL,D3DCLEAR_TARGET,0,0,0);
- IDirect3DDevice8_SetViewport(gld->pDev, &d3dvp2);
- }
-
- //
- // Recreate POOL_DEFAULT objects
- //
- if (gld->PB2d.dwPool == D3DPOOL_DEFAULT) {
- _gldCreatePrimitiveBuffer(ctx->glCtx, gld, &gld->PB2d);
- }
- if (gld->PB3d.dwPool == D3DPOOL_DEFAULT) {
- _gldCreatePrimitiveBuffer(ctx->glCtx, gld, &gld->PB3d);
- }
-// if (gld->PBtwosidelight.dwPool == D3DPOOL_DEFAULT) {
-// _gldCreatePrimitiveBuffer(ctx->glCtx, gld, &gld->PB2d);
-// }
-
- // Recreate DX8 Vertex Shaders
-// _gldCreateVertexShaders(gld);
-
- // Signal a complete state update
- ctx->glCtx->Driver.UpdateState(ctx->glCtx, _NEW_ALL);
-
- // Begin a new scene
- IDirect3DDevice8_BeginScene(gld->pDev);
- ctx->bSceneStarted = TRUE;
-
- return TRUE;
-}
-
-//---------------------------------------------------------------------------
-
-BOOL gldDestroyDrawable_DX(
- DGL_ctx *ctx)
-{
- GLD_driver_dx8 *lpCtx = NULL;
-
- // Error if context is NULL.
- if (!ctx)
- return FALSE;
-
- // Error if the drawable does not exist.
- if (!ctx->glPriv)
- return FALSE;
-
- lpCtx = ctx->glPriv;
-
-#ifdef _DEBUG
- // Dump out stats
- ddlogPrintf(DDLOG_SYSTEM, "Usage: M:0x%X%X, D:0x%X%X",
- lpCtx->PipelineUsage.qwMesa.HighPart,
- lpCtx->PipelineUsage.qwMesa.LowPart,
- lpCtx->PipelineUsage.qwD3DFVF.HighPart,
- lpCtx->PipelineUsage.qwD3DFVF.LowPart);
-#endif
-
-// _gldDestroyVertexShaders(lpCtx);
-
-// _gldDestroyPrimitiveBuffer(&lpCtx->PBtwosidelight);
- _gldDestroyPrimitiveBuffer(&lpCtx->PB3d);
- _gldDestroyPrimitiveBuffer(&lpCtx->PB2d);
-
- SAFE_RELEASE(lpCtx->pDev);
- SAFE_RELEASE(lpCtx->pD3D);
-
- // Free the private drawable data
- free(ctx->glPriv);
- ctx->glPriv = NULL;
-
- return TRUE;
-}
-
-//---------------------------------------------------------------------------
-
-BOOL gldCreatePrivateGlobals_DX(void)
-{
- ZeroMemory(&dx8Globals, sizeof(dx8Globals));
-
- // Load d3d8.dll
- dx8Globals.hD3D8DLL = LoadLibrary("D3D8.DLL");
- if (dx8Globals.hD3D8DLL == NULL)
- return FALSE;
-
- // Now try and obtain Direct3DCreate8
- dx8Globals.fnDirect3DCreate8 = (FNDIRECT3DCREATE8)GetProcAddress(dx8Globals.hD3D8DLL, "Direct3DCreate8");
- if (dx8Globals.fnDirect3DCreate8 == NULL) {
- FreeLibrary(dx8Globals.hD3D8DLL);
- return FALSE;
- }
-
- return TRUE;
-}
-
-//---------------------------------------------------------------------------
-
-BOOL gldDestroyPrivateGlobals_DX(void)
-{
- if (dx8Globals.bDirect3DDevice) {
- SAFE_RELEASE(dx8Globals.pDev);
- dx8Globals.bDirect3DDevice = FALSE;
- }
- if (dx8Globals.bDirect3D) {
- SAFE_RELEASE(dx8Globals.pD3D);
- dx8Globals.bDirect3D = FALSE;
- }
-
- FreeLibrary(dx8Globals.hD3D8DLL);
- dx8Globals.hD3D8DLL = NULL;
- dx8Globals.fnDirect3DCreate8 = NULL;
-
- return TRUE;
-}
-
-//---------------------------------------------------------------------------
-
-static void _BitsFromDisplayFormat(
- D3DFORMAT fmt,
- BYTE *cColorBits,
- BYTE *cRedBits,
- BYTE *cGreenBits,
- BYTE *cBlueBits,
- BYTE *cAlphaBits)
-{
- switch (fmt) {
- case D3DFMT_X1R5G5B5:
- *cColorBits = 16;
- *cRedBits = 5;
- *cGreenBits = 5;
- *cBlueBits = 5;
- *cAlphaBits = 0;
- return;
- case D3DFMT_R5G6B5:
- *cColorBits = 16;
- *cRedBits = 5;
- *cGreenBits = 6;
- *cBlueBits = 5;
- *cAlphaBits = 0;
- return;
- case D3DFMT_X8R8G8B8:
- *cColorBits = 32;
- *cRedBits = 8;
- *cGreenBits = 8;
- *cBlueBits = 8;
- *cAlphaBits = 0;
- return;
- case D3DFMT_A8R8G8B8:
- *cColorBits = 32;
- *cRedBits = 8;
- *cGreenBits = 8;
- *cBlueBits = 8;
- *cAlphaBits = 8;
- return;
- }
-
- // Should not get here!
- *cColorBits = 32;
- *cRedBits = 8;
- *cGreenBits = 8;
- *cBlueBits = 8;
- *cAlphaBits = 0;
-}
-
-//---------------------------------------------------------------------------
-
-static void _BitsFromDepthStencilFormat(
- D3DFORMAT fmt,
- BYTE *cDepthBits,
- BYTE *cStencilBits)
-{
- // NOTE: GL expects either 32 or 16 as depth bits.
- switch (fmt) {
- case D3DFMT_D32:
- *cDepthBits = 32;
- *cStencilBits = 0;
- return;
- case D3DFMT_D15S1:
- *cDepthBits = 16;
- *cStencilBits = 1;
- return;
- case D3DFMT_D24S8:
- *cDepthBits = 32;
- *cStencilBits = 8;
- return;
- case D3DFMT_D16:
- *cDepthBits = 16;
- *cStencilBits = 0;
- return;
- case D3DFMT_D24X8:
- *cDepthBits = 32;
- *cStencilBits = 0;
- return;
- case D3DFMT_D24X4S4:
- *cDepthBits = 32;
- *cStencilBits = 4;
- return;
- }
-}
-
-//---------------------------------------------------------------------------
-
-BOOL gldBuildPixelformatList_DX(void)
-{
- D3DDISPLAYMODE d3ddm;
- D3DFORMAT fmt[6];
- IDirect3D8 *pD3D = NULL;
- HRESULT hr;
- int nSupportedFormats = 0;
- int i;
- DGL_pixelFormat *pPF;
- BYTE cColorBits, cRedBits, cGreenBits, cBlueBits, cAlphaBits;
-// char buf[128];
-// char cat[8];
-
- // Direct3D (SW or HW)
- // These are arranged so that 'best' pixelformat
- // is higher in the list (for ChoosePixelFormat).
- const D3DFORMAT DepthStencil[6] = {
- D3DFMT_D15S1,
- D3DFMT_D16,
- D3DFMT_D24X8,
- D3DFMT_D24X4S4,
- D3DFMT_D24S8,
- D3DFMT_D32,
- };
-
- // Dump DX version
- ddlogMessage(GLDLOG_SYSTEM, "DirectX Version : 8.0\n");
-
- // Release any existing pixelformat list
- if (glb.lpPF) {
- free(glb.lpPF);
- }
-
- glb.nPixelFormatCount = 0;
- glb.lpPF = NULL;
-
- //
- // Pixelformats for Direct3D (SW or HW) rendering
- //
-
- // Get a Direct3D 8.0 interface
- pD3D = dx8Globals.fnDirect3DCreate8(D3D_SDK_VERSION_DX8_SUPPORT_WIN95);
- if (!pD3D) {
- return FALSE;
- }
-
- // We will use the display mode format when finding compliant
- // rendertarget/depth-stencil surfaces.
- hr = IDirect3D8_GetAdapterDisplayMode(pD3D, glb.dwAdapter, &d3ddm);
- if (FAILED(hr)) {
- IDirect3D8_Release(pD3D);
- return FALSE;
- }
-
- // Run through the possible formats and detect supported formats
- for (i=0; i<6; i++) {
- hr = IDirect3D8_CheckDeviceFormat(
- pD3D,
- glb.dwAdapter,
- glb.dwDriver==GLDS_DRIVER_HAL ? D3DDEVTYPE_HAL : D3DDEVTYPE_REF,
- d3ddm.Format,
- D3DUSAGE_DEPTHSTENCIL,
- D3DRTYPE_SURFACE,
- DepthStencil[i]);
- if (FAILED(hr))
- // A failure here is not fatal.
- continue;
-
- // Verify that the depth format is compatible.
- hr = IDirect3D8_CheckDepthStencilMatch(
- pD3D,
- glb.dwAdapter,
- glb.dwDriver==GLDS_DRIVER_HAL ? D3DDEVTYPE_HAL : D3DDEVTYPE_REF,
- d3ddm.Format,
- d3ddm.Format,
- DepthStencil[i]);
- if (FAILED(hr))
- // A failure here is not fatal, just means depth-stencil
- // format is not compatible with this display mode.
- continue;
-
- fmt[nSupportedFormats++] = DepthStencil[i];
- }
-
- IDirect3D8_Release(pD3D);
-
- if (nSupportedFormats == 0)
- return FALSE; // Bail: no compliant pixelformats
-
- // Total count of pixelformats is:
- // (nSupportedFormats+1)*2
- glb.lpPF = (DGL_pixelFormat *)calloc((nSupportedFormats)*2, sizeof(DGL_pixelFormat));
- glb.nPixelFormatCount = (nSupportedFormats)*2;
- if (glb.lpPF == NULL) {
- glb.nPixelFormatCount = 0;
- return FALSE;
- }
-
- // Get a copy of pointer that we can alter
- pPF = glb.lpPF;
-
- // Cache colour bits from display format
- _BitsFromDisplayFormat(d3ddm.Format, &cColorBits, &cRedBits, &cGreenBits, &cBlueBits, &cAlphaBits);
-
- //
- // Add single-buffer formats
- //
-
- // Single-buffer, no depth-stencil buffer
-/* memcpy(pPF, &pfTemplateHW, sizeof(DGL_pixelFormat));
- pPF->pfd.dwFlags &= ~PFD_DOUBLEBUFFER; // Remove doublebuffer flag
- pPF->pfd.cColorBits = cColorBits;
- pPF->pfd.cRedBits = cRedBits;
- pPF->pfd.cGreenBits = cGreenBits;
- pPF->pfd.cBlueBits = cBlueBits;
- pPF->pfd.cAlphaBits = cAlphaBits;
- pPF->pfd.cDepthBits = 0;
- pPF->pfd.cStencilBits = 0;
- pPF->dwDriverData = D3DFMT_UNKNOWN;
- pPF++;*/
-
- for (i=0; i<nSupportedFormats; i++, pPF++) {
- memcpy(pPF, &pfTemplateHW, sizeof(DGL_pixelFormat));
- pPF->pfd.dwFlags &= ~PFD_DOUBLEBUFFER; // Remove doublebuffer flag
- pPF->pfd.cColorBits = cColorBits;
- pPF->pfd.cRedBits = cRedBits;
- pPF->pfd.cGreenBits = cGreenBits;
- pPF->pfd.cBlueBits = cBlueBits;
- pPF->pfd.cAlphaBits = cAlphaBits;
- _BitsFromDepthStencilFormat(fmt[i], &pPF->pfd.cDepthBits, &pPF->pfd.cStencilBits);
- pPF->dwDriverData = fmt[i];
- }
-
- //
- // Add double-buffer formats
- //
-
-/* memcpy(pPF, &pfTemplateHW, sizeof(DGL_pixelFormat));
- pPF->pfd.cColorBits = cColorBits;
- pPF->pfd.cRedBits = cRedBits;
- pPF->pfd.cGreenBits = cGreenBits;
- pPF->pfd.cBlueBits = cBlueBits;
- pPF->pfd.cAlphaBits = cAlphaBits;
- pPF->pfd.cDepthBits = 0;
- pPF->pfd.cStencilBits = 0;
- pPF->dwDriverData = D3DFMT_UNKNOWN;
- pPF++;*/
-
- for (i=0; i<nSupportedFormats; i++, pPF++) {
- memcpy(pPF, &pfTemplateHW, sizeof(DGL_pixelFormat));
- pPF->pfd.cColorBits = cColorBits;
- pPF->pfd.cRedBits = cRedBits;
- pPF->pfd.cGreenBits = cGreenBits;
- pPF->pfd.cBlueBits = cBlueBits;
- pPF->pfd.cAlphaBits = cAlphaBits;
- _BitsFromDepthStencilFormat(fmt[i], &pPF->pfd.cDepthBits, &pPF->pfd.cStencilBits);
- pPF->dwDriverData = fmt[i];
- }
-
- // Popup warning message if non RGB color mode
- {
- // This is a hack. KeithH
- HDC hdcDesktop = GetDC(NULL);
- DWORD dwDisplayBitDepth = GetDeviceCaps(hdcDesktop, BITSPIXEL);
- ReleaseDC(0, hdcDesktop);
- if (dwDisplayBitDepth <= 8) {
- ddlogPrintf(DDLOG_WARN, "Current Color Depth %d bpp is not supported", dwDisplayBitDepth);
- MessageBox(NULL, szColorDepthWarning, "GLDirect", MB_OK | MB_ICONWARNING);
- }
- }
-
- // Mark list as 'current'
- glb.bPixelformatsDirty = FALSE;
-
- return TRUE;
-}
-
-//---------------------------------------------------------------------------
-
-BOOL gldInitialiseMesa_DX(
- DGL_ctx *lpCtx)
-{
- GLD_driver_dx8 *gld = NULL;
- int MaxTextureSize, TextureLevels;
- BOOL bSoftwareTnL;
-
- if (lpCtx == NULL)
- return FALSE;
-
- gld = lpCtx->glPriv;
- if (gld == NULL)
- return FALSE;
-
- if (glb.bMultitexture) {
- lpCtx->glCtx->Const.MaxTextureUnits = gld->d3dCaps8.MaxSimultaneousTextures;
- // Only support MAX_TEXTURE_UNITS texture units.
- // ** If this is altered then the FVF formats must be reviewed **.
- if (lpCtx->glCtx->Const.MaxTextureUnits > GLD_MAX_TEXTURE_UNITS_DX8)
- lpCtx->glCtx->Const.MaxTextureUnits = GLD_MAX_TEXTURE_UNITS_DX8;
- } else {
- // Multitexture override
- lpCtx->glCtx->Const.MaxTextureUnits = 1;
- }
-
- // max texture size
- MaxTextureSize = min(gld->d3dCaps8.MaxTextureHeight, gld->d3dCaps8.MaxTextureWidth);
- if (MaxTextureSize == 0)
- MaxTextureSize = 256; // Sanity check
-
- //
- // HACK!!
- if (MaxTextureSize > 1024)
- MaxTextureSize = 1024; // HACK - CLAMP TO 1024
- // HACK!!
- //
-
- // Got to set MAX_TEXTURE_SIZE as max levels.
- // Who thought this stupid idea up? ;)
- TextureLevels = 0;
- // Calculate power-of-two.
- while (MaxTextureSize) {
- TextureLevels++;
- MaxTextureSize >>= 1;
- }
- lpCtx->glCtx->Const.MaxTextureLevels = (TextureLevels) ? TextureLevels : 8;
- lpCtx->glCtx->Const.MaxDrawBuffers = 1;
-
- IDirect3DDevice8_SetRenderState(gld->pDev, D3DRS_LIGHTING, FALSE);
- IDirect3DDevice8_SetRenderState(gld->pDev, D3DRS_CULLMODE, D3DCULL_NONE);
- IDirect3DDevice8_SetRenderState(gld->pDev, D3DRS_DITHERENABLE, TRUE);
- IDirect3DDevice8_SetRenderState(gld->pDev, D3DRS_SHADEMODE, D3DSHADE_GOURAUD);
-
- IDirect3DDevice8_SetRenderState(gld->pDev, D3DRS_ZENABLE,
- (lpCtx->lpPF->dwDriverData!=D3DFMT_UNKNOWN) ? D3DZB_TRUE : D3DZB_FALSE);
-
- // Set the view matrix
- {
- D3DXMATRIX vm;
-#if 1
- D3DXMatrixIdentity(&vm);
-#else
- D3DXVECTOR3 Eye(0.0f, 0.0f, 0.0f);
- D3DXVECTOR3 At(0.0f, 0.0f, -1.0f);
- D3DXVECTOR3 Up(0.0f, 1.0f, 0.0f);
- D3DXMatrixLookAtRH(&vm, &Eye, &At, &Up);
- vm._31 = -vm._31;
- vm._32 = -vm._32;
- vm._33 = -vm._33;
- vm._34 = -vm._34;
-#endif
- IDirect3DDevice8_SetTransform(gld->pDev, D3DTS_VIEW, &vm);
- }
-
- if (gld->bHasHWTnL) {
- if (glb.dwTnL == GLDS_TNL_DEFAULT)
- bSoftwareTnL = FALSE; // HW TnL
- else {
- bSoftwareTnL = ((glb.dwTnL == GLDS_TNL_MESA) || (glb.dwTnL == GLDS_TNL_D3DSW)) ? TRUE : FALSE;
- }
- } else {
- // No HW TnL, so no choice possible
- bSoftwareTnL = TRUE;
- }
- IDirect3DDevice8_SetRenderState(gld->pDev, D3DRS_SOFTWAREVERTEXPROCESSING, bSoftwareTnL);
-
-// Dump this in a Release build as well, now.
-//#ifdef _DEBUG
- ddlogPrintf(DDLOG_INFO, "HW TnL: %s",
- gld->bHasHWTnL ? (bSoftwareTnL ? "Disabled" : "Enabled") : "Unavailable");
-//#endif
-
- gldEnableExtensions_DX8(lpCtx->glCtx);
- gldInstallPipeline_DX8(lpCtx->glCtx);
- gldSetupDriverPointers_DX8(lpCtx->glCtx);
-
- // Signal a complete state update
- lpCtx->glCtx->Driver.UpdateState(lpCtx->glCtx, _NEW_ALL);
-
- // Start a scene
- IDirect3DDevice8_BeginScene(gld->pDev);
- lpCtx->bSceneStarted = TRUE;
-
- return TRUE;
-}
-
-//---------------------------------------------------------------------------
-
-BOOL gldSwapBuffers_DX(
- DGL_ctx *ctx,
- HDC hDC,
- HWND hWnd)
-{
- HRESULT hr;
- GLD_driver_dx8 *gld = NULL;
-
- if (ctx == NULL)
- return FALSE;
-
- gld = ctx->glPriv;
- if (gld == NULL)
- return FALSE;
-
- if (ctx->bSceneStarted) {
- IDirect3DDevice8_EndScene(gld->pDev);
- ctx->bSceneStarted = FALSE;
- }
-
- // Swap the buffers. hWnd may override the hWnd used for CreateDevice()
- hr = IDirect3DDevice8_Present(gld->pDev, NULL, NULL, hWnd, NULL);
-
- IDirect3DDevice8_BeginScene(gld->pDev);
- ctx->bSceneStarted = TRUE;
-
- return (FAILED(hr)) ? FALSE : TRUE;
-}
-
-//---------------------------------------------------------------------------
-
-BOOL gldGetDisplayMode_DX(
- DGL_ctx *ctx,
- GLD_displayMode *glddm)
-{
- D3DDISPLAYMODE d3ddm;
- HRESULT hr;
- GLD_driver_dx8 *lpCtx = NULL;
- BYTE cColorBits, cRedBits, cGreenBits, cBlueBits, cAlphaBits;
-
- if ((glddm == NULL) || (ctx == NULL))
- return FALSE;
-
- lpCtx = ctx->glPriv;
- if (lpCtx == NULL)
- return FALSE;
-
- if (lpCtx->pD3D == NULL)
- return FALSE;
-
- hr = IDirect3D8_GetAdapterDisplayMode(lpCtx->pD3D, glb.dwAdapter, &d3ddm);
- if (FAILED(hr))
- return FALSE;
-
- // Get info from the display format
- _BitsFromDisplayFormat(d3ddm.Format,
- &cColorBits, &cRedBits, &cGreenBits, &cBlueBits, &cAlphaBits);
-
- glddm->Width = d3ddm.Width;
- glddm->Height = d3ddm.Height;
- glddm->BPP = cColorBits;
- glddm->Refresh = d3ddm.RefreshRate;
-
- return TRUE;
-}
-
-//---------------------------------------------------------------------------
-
diff --git a/src/mesa/drivers/windows/gldirect/dx9/gld_driver_dx9.c b/src/mesa/drivers/windows/gldirect/dx9/gld_driver_dx9.c
deleted file mode 100644
index c191564d6e..0000000000
--- a/src/mesa/drivers/windows/gldirect/dx9/gld_driver_dx9.c
+++ /dev/null
@@ -1,1206 +0,0 @@
-/****************************************************************************
-*
-* Mesa 3-D graphics library
-* Direct3D Driver Interface
-*
-* ========================================================================
-*
-* Copyright (C) 1991-2004 SciTech Software, Inc. 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
-* SCITECH SOFTWARE INC 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.
-*
-* ======================================================================
-*
-* Language: ANSI C
-* Environment: Windows 9x/2000/XP/XBox (Win32)
-*
-* Description: Driver interface code to Mesa
-*
-****************************************************************************/
-
-//#include <windows.h>
-#include "dglcontext.h"
-#include "ddlog.h"
-#include "gld_dx9.h"
-
-#include "glheader.h"
-#include "context.h"
-#include "colormac.h"
-#include "depth.h"
-#include "extensions.h"
-#include "macros.h"
-#include "matrix.h"
-// #include "mem.h"
-//#include "mmath.h"
-#include "mtypes.h"
-#include "texformat.h"
-#include "teximage.h"
-#include "texstore.h"
-#include "vbo/vbo.h"
-#include "swrast_setup/swrast_setup.h"
-#include "swrast_setup/ss_context.h"
-#include "tnl/tnl.h"
-#include "tnl/t_context.h"
-#include "tnl/t_pipeline.h"
-
-extern BOOL dglSwapBuffers(HDC hDC);
-
-// HACK: Hack the _33 member of the OpenGL perspective projection matrix
-const float _fPersp_33 = 1.6f;
-
-//---------------------------------------------------------------------------
-// Internal functions
-//---------------------------------------------------------------------------
-
-void _gld_mesa_warning(
- __GLcontext *gc,
- char *str)
-{
- // Intercept Mesa's internal warning mechanism
- gldLogPrintf(GLDLOG_WARN, "Mesa warning: %s", str);
-}
-
-//---------------------------------------------------------------------------
-
-void _gld_mesa_fatal(
- __GLcontext *gc,
- char *str)
-{
- // Intercept Mesa's internal fatal-message mechanism
- gldLogPrintf(GLDLOG_CRITICAL, "Mesa FATAL: %s", str);
-
- // Mesa calls abort(0) here.
- ddlogClose();
- exit(0);
-}
-
-//---------------------------------------------------------------------------
-
-D3DSTENCILOP _gldConvertStencilOp(
- GLenum StencilOp)
-{
- // Used by Stencil: pass, fail and zfail
-
- switch (StencilOp) {
- case GL_KEEP:
- return D3DSTENCILOP_KEEP;
- case GL_ZERO:
- return D3DSTENCILOP_ZERO;
- case GL_REPLACE:
- return D3DSTENCILOP_REPLACE;
- case GL_INCR:
- return D3DSTENCILOP_INCRSAT;
- case GL_DECR:
- return D3DSTENCILOP_DECRSAT;
- case GL_INVERT:
- return D3DSTENCILOP_INVERT;
- case GL_INCR_WRAP_EXT: // GL_EXT_stencil_wrap
- return D3DSTENCILOP_INCR;
- case GL_DECR_WRAP_EXT: // GL_EXT_stencil_wrap
- return D3DSTENCILOP_DECR;
- }
-
-#ifdef _DEBUG
- gldLogMessage(GLDLOG_ERROR, "_gldConvertStencilOp: Unknown StencilOp\n");
-#endif
-
- return D3DSTENCILOP_KEEP;
-}
-
-//---------------------------------------------------------------------------
-
-D3DCMPFUNC _gldConvertCompareFunc(
- GLenum CmpFunc)
-{
- // Used for Alpha func, depth func and stencil func.
-
- switch (CmpFunc) {
- case GL_NEVER:
- return D3DCMP_NEVER;
- case GL_LESS:
- return D3DCMP_LESS;
- case GL_EQUAL:
- return D3DCMP_EQUAL;
- case GL_LEQUAL:
- return D3DCMP_LESSEQUAL;
- case GL_GREATER:
- return D3DCMP_GREATER;
- case GL_NOTEQUAL:
- return D3DCMP_NOTEQUAL;
- case GL_GEQUAL:
- return D3DCMP_GREATEREQUAL;
- case GL_ALWAYS:
- return D3DCMP_ALWAYS;
- };
-
-#ifdef _DEBUG
- gldLogMessage(GLDLOG_ERROR, "_gldConvertCompareFunc: Unknown CompareFunc\n");
-#endif
-
- return D3DCMP_ALWAYS;
-}
-
-//---------------------------------------------------------------------------
-
-D3DBLEND _gldConvertBlendFunc(
- GLenum blend,
- GLenum DefaultBlend)
-{
- switch (blend) {
- case GL_ZERO:
- return D3DBLEND_ZERO;
- case GL_ONE:
- return D3DBLEND_ONE;
- case GL_DST_COLOR:
- return D3DBLEND_DESTCOLOR;
- case GL_SRC_COLOR:
- return D3DBLEND_SRCCOLOR;
- case GL_ONE_MINUS_DST_COLOR:
- return D3DBLEND_INVDESTCOLOR;
- case GL_ONE_MINUS_SRC_COLOR:
- return D3DBLEND_INVSRCCOLOR;
- case GL_SRC_ALPHA:
- return D3DBLEND_SRCALPHA;
- case GL_ONE_MINUS_SRC_ALPHA:
- return D3DBLEND_INVSRCALPHA;
- case GL_DST_ALPHA:
- return D3DBLEND_DESTALPHA;
- case GL_ONE_MINUS_DST_ALPHA:
- return D3DBLEND_INVDESTALPHA;
- case GL_SRC_ALPHA_SATURATE:
- return D3DBLEND_SRCALPHASAT;
- }
-
-#ifdef _DEBUG
- gldLogMessage(GLDLOG_ERROR, "_gldConvertBlendFunc: Unknown BlendFunc\n");
-#endif
-
- return DefaultBlend;
-}
-
-//---------------------------------------------------------------------------
-// Misc. functions
-//---------------------------------------------------------------------------
-
-void gld_Noop_DX9(
- GLcontext *ctx)
-{
-#ifdef _DEBUG
- gldLogMessage(GLDLOG_ERROR, "gld_Noop called!\n");
-#endif
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Error_DX9(
- GLcontext *ctx)
-{
-#ifdef _DEBUG
- // Quite useless.
-// gldLogMessage(GLDLOG_ERROR, "ctx->Driver.Error called!\n");
-#endif
-}
-
-//---------------------------------------------------------------------------
-// Required Mesa functions
-//---------------------------------------------------------------------------
-
-static GLboolean gld_set_draw_buffer_DX9(
- GLcontext *ctx,
- GLenum mode)
-{
- (void) ctx;
- if ((mode==GL_FRONT_LEFT) || (mode == GL_BACK_LEFT)) {
- return GL_TRUE;
- }
- else {
- return GL_FALSE;
- }
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_set_read_buffer_DX9(
- GLcontext *ctx,
- GLframebuffer *buffer,
- GLenum mode)
-{
- /* separate read buffer not supported */
-/*
- ASSERT(buffer == ctx->DrawBuffer);
- ASSERT(mode == GL_FRONT_LEFT);
-*/
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Clear_DX9(
- GLcontext *ctx,
- GLbitfield mask,
- GLboolean all,
- GLint x,
- GLint y,
- GLint width,
- GLint height)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx9 *gld = GLD_GET_DX9_DRIVER(gldCtx);
-
- DWORD dwFlags = 0;
- D3DCOLOR Color = 0;
- float Z = 0.0f;
- DWORD Stencil = 0;
- D3DRECT d3dClearRect;
-
- // TODO: Colourmask
- const GLuint *colorMask = (GLuint *) &ctx->Color.ColorMask;
-
- if (!gld->pDev)
- return;
-
- if (mask & (DD_FRONT_LEFT_BIT | DD_BACK_LEFT_BIT)) {
- GLubyte col[4];
- CLAMPED_FLOAT_TO_UBYTE(col[0], ctx->Color.ClearColor[0]);
- CLAMPED_FLOAT_TO_UBYTE(col[1], ctx->Color.ClearColor[1]);
- CLAMPED_FLOAT_TO_UBYTE(col[2], ctx->Color.ClearColor[2]);
- CLAMPED_FLOAT_TO_UBYTE(col[3], ctx->Color.ClearColor[3]);
- dwFlags |= D3DCLEAR_TARGET;
- Color = D3DCOLOR_RGBA(col[0], col[1], col[2], col[3]);
- }
-
- if (mask & DD_DEPTH_BIT) {
- // D3D8 will fail the Clear call if we try and clear a
- // depth buffer and we haven't created one.
- // Also, some apps try and clear a depth buffer,
- // when a depth buffer hasn't been requested by the app.
- if (ctx->Visual.depthBits == 0) {
- mask &= ~DD_DEPTH_BIT; // Remove depth bit from mask
- } else {
- dwFlags |= D3DCLEAR_ZBUFFER;
- Z = ctx->Depth.Clear;
- }
- }
-
- if (mask & DD_STENCIL_BIT) {
- if (ctx->Visual.stencilBits == 0) {
- // No stencil bits in depth buffer
- mask &= ~DD_STENCIL_BIT; // Remove stencil bit from mask
- } else {
- dwFlags |= D3DCLEAR_STENCIL;
- Stencil = ctx->Stencil.Clear;
- }
- }
-
- // Some apps do really weird things with the rect, such as Quake3.
- if ((x < 0) || (y < 0) || (width <= 0) || (height <= 0)) {
- all = GL_TRUE;
- }
-
- if (!all) {
- // Calculate clear subrect
- d3dClearRect.x1 = x;
- d3dClearRect.y1 = gldCtx->dwHeight - (y + height);
- d3dClearRect.x2 = x + width;
- d3dClearRect.y2 = d3dClearRect.y1 + height;
-// gldLogPrintf(GLDLOG_INFO, "Rect %d,%d %d,%d", x,y,width,height);
- }
-
- // dwFlags will be zero if there's nothing to clear
- if (dwFlags) {
- _GLD_DX9_DEV(Clear(
- gld->pDev,
- all ? 0 : 1,
- all ? NULL : &d3dClearRect,
- dwFlags,
- Color, Z, Stencil));
- }
-
- if (mask & DD_ACCUM_BIT) {
- // Clear accumulation buffer
- }
-}
-
-//---------------------------------------------------------------------------
-
-// Mesa 5: Parameter change
-static void gld_buffer_size_DX9(
-// GLcontext *ctx,
- GLframebuffer *fb,
- GLuint *width,
- GLuint *height)
-{
-// GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
-
- *width = fb->Width; // gldCtx->dwWidth;
- *height = fb->Height; // gldCtx->dwHeight;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_Finish_DX9(
- GLcontext *ctx)
-{
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_Flush_DX9(
- GLcontext *ctx)
-{
- GLD_context *gld = GLD_GET_CONTEXT(ctx);
-
- // TODO: Detect apps that glFlush() then SwapBuffers() ?
-
- if (gld->EmulateSingle) {
- // Emulating a single-buffered context.
- // [Direct3D doesn't allow rendering to front buffer]
- dglSwapBuffers(gld->hDC);
- }
-}
-
-//---------------------------------------------------------------------------
-
-void gld_NEW_STENCIL(
- GLcontext *ctx)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx9 *gld = GLD_GET_DX9_DRIVER(gldCtx);
-
- // Two-sided stencil. New for Mesa 5
- const GLuint uiFace = 0UL;
-
- struct gl_stencil_attrib *pStencil = &ctx->Stencil;
-
- _GLD_DX9_DEV(SetRenderState(gld->pDev, D3DRS_STENCILENABLE, pStencil->Enabled ? TRUE : FALSE));
- if (pStencil->Enabled) {
- _GLD_DX9_DEV(SetRenderState(gld->pDev, D3DRS_STENCILFUNC, _gldConvertCompareFunc(pStencil->Function[uiFace])));
- _GLD_DX9_DEV(SetRenderState(gld->pDev, D3DRS_STENCILREF, pStencil->Ref[uiFace]));
- _GLD_DX9_DEV(SetRenderState(gld->pDev, D3DRS_STENCILMASK, pStencil->ValueMask[uiFace]));
- _GLD_DX9_DEV(SetRenderState(gld->pDev, D3DRS_STENCILWRITEMASK, pStencil->WriteMask[uiFace]));
- _GLD_DX9_DEV(SetRenderState(gld->pDev, D3DRS_STENCILFAIL, _gldConvertStencilOp(pStencil->FailFunc[uiFace])));
- _GLD_DX9_DEV(SetRenderState(gld->pDev, D3DRS_STENCILZFAIL, _gldConvertStencilOp(pStencil->ZFailFunc[uiFace])));
- _GLD_DX9_DEV(SetRenderState(gld->pDev, D3DRS_STENCILPASS, _gldConvertStencilOp(pStencil->ZPassFunc[uiFace])));
- }
-}
-
-//---------------------------------------------------------------------------
-
-void gld_NEW_COLOR(
- GLcontext *ctx)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx9 *gld = GLD_GET_DX9_DRIVER(gldCtx);
-
- DWORD dwFlags = 0;
- D3DBLEND src;
- D3DBLEND dest;
-
- // Alpha func
- _GLD_DX9_DEV(SetRenderState(gld->pDev, D3DRS_ALPHAFUNC, _gldConvertCompareFunc(ctx->Color.AlphaFunc)));
- _GLD_DX9_DEV(SetRenderState(gld->pDev, D3DRS_ALPHAREF, (DWORD)ctx->Color.AlphaRef));
- _GLD_DX9_DEV(SetRenderState(gld->pDev, D3DRS_ALPHATESTENABLE, ctx->Color.AlphaEnabled));
-
- // Blend func
- _GLD_DX9_DEV(SetRenderState(gld->pDev, D3DRS_ALPHABLENDENABLE, ctx->Color.BlendEnabled));
- src = _gldConvertBlendFunc(ctx->Color.BlendSrcRGB, GL_ONE);
- dest = _gldConvertBlendFunc(ctx->Color.BlendDstRGB, GL_ZERO);
- _GLD_DX9_DEV(SetRenderState(gld->pDev, D3DRS_SRCBLEND, src));
- _GLD_DX9_DEV(SetRenderState(gld->pDev, D3DRS_DESTBLEND, dest));
-
- // Color mask
- if (ctx->Color.ColorMask[0]) dwFlags |= D3DCOLORWRITEENABLE_RED;
- if (ctx->Color.ColorMask[1]) dwFlags |= D3DCOLORWRITEENABLE_GREEN;
- if (ctx->Color.ColorMask[2]) dwFlags |= D3DCOLORWRITEENABLE_BLUE;
- if (ctx->Color.ColorMask[3]) dwFlags |= D3DCOLORWRITEENABLE_ALPHA;
- _GLD_DX9_DEV(SetRenderState(gld->pDev, D3DRS_COLORWRITEENABLE, dwFlags));
-}
-
-//---------------------------------------------------------------------------
-
-void gld_NEW_DEPTH(
- GLcontext *ctx)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx9 *gld = GLD_GET_DX9_DRIVER(gldCtx);
-
- _GLD_DX9_DEV(SetRenderState(gld->pDev, D3DRS_ZENABLE, ctx->Depth.Test ? D3DZB_TRUE : D3DZB_FALSE));
- _GLD_DX9_DEV(SetRenderState(gld->pDev, D3DRS_ZFUNC, _gldConvertCompareFunc(ctx->Depth.Func)));
- _GLD_DX9_DEV(SetRenderState(gld->pDev, D3DRS_ZWRITEENABLE, ctx->Depth.Mask ? TRUE : FALSE));
-}
-
-//---------------------------------------------------------------------------
-
-void gld_NEW_POLYGON(
- GLcontext *ctx)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx9 *gld = GLD_GET_DX9_DRIVER(gldCtx);
-
- D3DFILLMODE d3dFillMode = D3DFILL_SOLID;
- D3DCULL d3dCullMode = D3DCULL_NONE;
- float fOffset = 0; // Changed from int to float for DX9
-
- // Fillmode
- switch (ctx->Polygon.FrontMode) {
- case GL_POINT:
- d3dFillMode = D3DFILL_POINT;
- break;
- case GL_LINE:
- d3dFillMode = D3DFILL_WIREFRAME;
- break;
- case GL_FILL:
- d3dFillMode = D3DFILL_SOLID;
- break;
- }
- _GLD_DX9_DEV(SetRenderState(gld->pDev, D3DRS_FILLMODE, d3dFillMode));
-
- if (ctx->Polygon.CullFlag) {
- switch (ctx->Polygon.CullFaceMode) {
- case GL_BACK:
- if (ctx->Polygon.FrontFace == GL_CCW)
- d3dCullMode = D3DCULL_CW;
- else
- d3dCullMode = D3DCULL_CCW;
- break;
- case GL_FRONT:
- if (ctx->Polygon.FrontFace == GL_CCW)
- d3dCullMode = D3DCULL_CCW;
- else
- d3dCullMode = D3DCULL_CW;
- break;
- case GL_FRONT_AND_BACK:
- d3dCullMode = D3DCULL_NONE;
- break;
- default:
- break;
- }
- } else {
- d3dCullMode = D3DCULL_NONE;
- }
-// d3dCullMode = D3DCULL_NONE; // FOR DEBUGGING
- _GLD_DX9_DEV(SetRenderState(gld->pDev, D3DRS_CULLMODE, d3dCullMode));
-
- // Polygon offset
- // ZBIAS ranges from 0 to 16 and can only move towards the viewer
- // Mesa5: ctx->Polygon._OffsetAny removed
- if (ctx->Polygon.OffsetFill) {
- fOffset = ctx->Polygon.OffsetUnits;
-// if (iOffset < 0.0f)
-// iOffset = -iOffset;
-// else
-// iOffset = 0.0f; // D3D can't push away
- }
- // NOTE: SetRenderState() required a DWORD, so need to cast
- _GLD_DX9_DEV(SetRenderState(gld->pDev, D3DRS_DEPTHBIAS, *((DWORD*)&fOffset)));
-}
-
-//---------------------------------------------------------------------------
-
-void gld_NEW_FOG(
- GLcontext *ctx)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx9 *gld = GLD_GET_DX9_DRIVER(gldCtx);
-
- D3DCOLOR d3dFogColour;
- D3DFOGMODE d3dFogMode = D3DFOG_LINEAR;
-
- // TODO: Fog is calculated seperately in the Mesa pipeline
- _GLD_DX9_DEV(SetRenderState(gld->pDev, D3DRS_FOGENABLE, FALSE));
- return;
-
- // Fog enable
- _GLD_DX9_DEV(SetRenderState(gld->pDev, D3DRS_FOGENABLE, ctx->Fog.Enabled));
- if (!ctx->Fog.Enabled) {
- _GLD_DX9_DEV(SetRenderState(gld->pDev, D3DRS_FOGTABLEMODE, D3DFOG_NONE));
- _GLD_DX9_DEV(SetRenderState(gld->pDev, D3DRS_FOGVERTEXMODE, D3DFOG_NONE));
- return; // If disabled, don't bother setting any fog state
- }
-
- // Fog colour
- d3dFogColour = D3DCOLOR_COLORVALUE( ctx->Fog.Color[0],
- ctx->Fog.Color[1],
- ctx->Fog.Color[2],
- ctx->Fog.Color[3]);
- _GLD_DX9_DEV(SetRenderState(gld->pDev, D3DRS_FOGCOLOR, d3dFogColour));
-
- // Fog density
- _GLD_DX9_DEV(SetRenderState(gld->pDev, D3DRS_FOGDENSITY, *((DWORD*) (&ctx->Fog.Density))));
-
- // Fog start
- _GLD_DX9_DEV(SetRenderState(gld->pDev, D3DRS_FOGSTART, *((DWORD*) (&ctx->Fog.Start))));
-
- // Fog end
- _GLD_DX9_DEV(SetRenderState(gld->pDev, D3DRS_FOGEND, *((DWORD*) (&ctx->Fog.End))));
-
- // Fog mode
- switch (ctx->Fog.Mode) {
- case GL_LINEAR:
- d3dFogMode = D3DFOG_LINEAR;
- break;
- case GL_EXP:
- d3dFogMode = D3DFOG_EXP;
- break;
- case GL_EXP2:
- d3dFogMode = D3DFOG_EXP2;
- break;
- }
- _GLD_DX9_DEV(SetRenderState(gld->pDev, D3DRS_FOGTABLEMODE, d3dFogMode));
- _GLD_DX9_DEV(SetRenderState(gld->pDev, D3DRS_FOGVERTEXMODE, D3DFOG_NONE));
-}
-
-//---------------------------------------------------------------------------
-
-void gld_NEW_LIGHT(
- GLcontext *ctx)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx9 *gld = GLD_GET_DX9_DRIVER(gldCtx);
- DWORD dwSpecularEnable;
-
- // Shademode
- _GLD_DX9_DEV(SetRenderState(gld->pDev, D3DRS_SHADEMODE, (ctx->Light.ShadeModel == GL_SMOOTH) ? D3DSHADE_GOURAUD : D3DSHADE_FLAT));
-
- // Separate specular colour
- if (ctx->Light.Enabled)
- dwSpecularEnable = (ctx->_TriangleCaps & DD_SEPARATE_SPECULAR) ? TRUE: FALSE;
- else
- dwSpecularEnable = FALSE;
- _GLD_DX9_DEV(SetRenderState(gld->pDev, D3DRS_SPECULARENABLE, dwSpecularEnable));
-}
-
-//---------------------------------------------------------------------------
-
-void gld_NEW_MODELVIEW(
- GLcontext *ctx)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx9 *gld = GLD_GET_DX9_DRIVER(gldCtx);
-
- D3DMATRIX m;
- //GLfloat *pM = ctx->ModelView.m;
- // Mesa5: Model-view is now a stack
- GLfloat *pM = ctx->ModelviewMatrixStack.Top->m;
- m._11 = pM[0];
- m._12 = pM[1];
- m._13 = pM[2];
- m._14 = pM[3];
- m._21 = pM[4];
- m._22 = pM[5];
- m._23 = pM[6];
- m._24 = pM[7];
- m._31 = pM[8];
- m._32 = pM[9];
- m._33 = pM[10];
- m._34 = pM[11];
- m._41 = pM[12];
- m._42 = pM[13];
- m._43 = pM[14];
- m._44 = pM[15];
-
- gld->matModelView = m;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_NEW_PROJECTION(
- GLcontext *ctx)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx9 *gld = GLD_GET_DX9_DRIVER(gldCtx);
-
- D3DMATRIX m;
- //GLfloat *pM = ctx->ProjectionMatrix.m;
- // Mesa 5: Now a stack
- GLfloat *pM = ctx->ProjectionMatrixStack.Top->m;
- m._11 = pM[0];
- m._12 = pM[1];
- m._13 = pM[2];
- m._14 = pM[3];
-
- m._21 = pM[4];
- m._22 = pM[5];
- m._23 = pM[6];
- m._24 = pM[7];
-
- m._31 = pM[8];
- m._32 = pM[9];
- m._33 = pM[10] / _fPersp_33; // / 1.6f;
- m._34 = pM[11];
-
- m._41 = pM[12];
- m._42 = pM[13];
- m._43 = pM[14] / 2.0f;
- m._44 = pM[15];
-
- gld->matProjection = m;
-}
-
-//---------------------------------------------------------------------------
-/*
-void gldFrustumHook_DX9(
- GLdouble left,
- GLdouble right,
- GLdouble bottom,
- GLdouble top,
- GLdouble nearval,
- GLdouble farval)
-{
- GET_CURRENT_CONTEXT(ctx);
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx9 *gld = GLD_GET_DX9_DRIVER(gldCtx);
-
- // Pass values on to Mesa first (in case we mess with them)
- _mesa_Frustum(left, right, bottom, top, nearval, farval);
-
- _fPersp_33 = farval / (nearval - farval);
-
-// ddlogPrintf(GLDLOG_SYSTEM, "Frustum: %f", farval/nearval);
-}
-
-//---------------------------------------------------------------------------
-
-void gldOrthoHook_DX9(
- GLdouble left,
- GLdouble right,
- GLdouble bottom,
- GLdouble top,
- GLdouble nearval,
- GLdouble farval)
-{
- GET_CURRENT_CONTEXT(ctx);
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx9 *gld = GLD_GET_DX9_DRIVER(gldCtx);
-
- // Pass values on to Mesa first (in case we mess with them)
- _mesa_Ortho(left, right, bottom, top, nearval, farval);
-
- _fPersp_33 = 1.6f;
-
-// ddlogPrintf(GLDLOG_SYSTEM, "Ortho: %f", farval/nearval);
-}
-*/
-//---------------------------------------------------------------------------
-
-void gld_NEW_VIEWPORT(
- GLcontext *ctx)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx9 *gld = GLD_GET_DX9_DRIVER(gldCtx);
-
- D3DVIEWPORT9 d3dvp;
-// GLint x, y;
-// GLsizei w, h;
-
- // Set depth range
- _GLD_DX9_DEV(GetViewport(gld->pDev, &d3dvp));
- // D3D can't do Quake1/Quake2 z-trick
- if (ctx->Viewport.Near <= ctx->Viewport.Far) {
- d3dvp.MinZ = ctx->Viewport.Near;
- d3dvp.MaxZ = ctx->Viewport.Far;
- } else {
- d3dvp.MinZ = ctx->Viewport.Far;
- d3dvp.MaxZ = ctx->Viewport.Near;
- }
-/* x = ctx->Viewport.X;
- y = ctx->Viewport.Y;
- w = ctx->Viewport.Width;
- h = ctx->Viewport.Height;
- if (x < 0) x = 0;
- if (y < 0) y = 0;
- if (w > gldCtx->dwWidth) w = gldCtx->dwWidth;
- if (h > gldCtx->dwHeight) h = gldCtx->dwHeight;
- // Ditto for D3D viewport dimensions
- if (w+x > gldCtx->dwWidth) w = gldCtx->dwWidth-x;
- if (h+y > gldCtx->dwHeight) h = gldCtx->dwHeight-y;
- d3dvp.X = x;
- d3dvp.Y = gldCtx->dwHeight - (y + h);
- d3dvp.Width = w;
- d3dvp.Height = h;*/
- _GLD_DX9_DEV(SetViewport(gld->pDev, &d3dvp));
-
-// gld->fFlipWindowY = (float)gldCtx->dwHeight;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_NEW_SCISSOR(
- GLcontext *ctx)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx9 *gld = GLD_GET_DX9_DRIVER(gldCtx);
-
- // Bail if IHV driver cannot scissor
- if (!gld->bCanScissor)
- return;
-
- // Set scissor rect
- if (ctx->Scissor.Enabled) {
- RECT rcRect;
- // Keep in mind that RECT's need an extra row and column
- rcRect.left = ctx->Scissor.X;
- rcRect.right = ctx->Scissor.X + ctx->Scissor.Width; // + 1;
- rcRect.top = gldCtx->dwHeight - (ctx->Scissor.Y + ctx->Scissor.Height);
- rcRect.bottom = rcRect.top + ctx->Scissor.Height;
- IDirect3DDevice9_SetScissorRect(gld->pDev, &rcRect);
- }
-
- // Enable/disable scissor as required
- _GLD_DX9_DEV(SetRenderState(gld->pDev, D3DRS_SCISSORTESTENABLE, ctx->Scissor.Enabled));
-}
-
-//---------------------------------------------------------------------------
-
-__inline BOOL _gldAnyEvalEnabled(
- GLcontext *ctx)
-{
- struct gl_eval_attrib *eval = &ctx->Eval;
-
- if ((eval->AutoNormal) ||
- (eval->Map1Color4) ||
- (eval->Map1Index) ||
- (eval->Map1Normal) ||
- (eval->Map1TextureCoord1) ||
- (eval->Map1TextureCoord2) ||
- (eval->Map1TextureCoord3) ||
- (eval->Map1TextureCoord4) ||
- (eval->Map1Vertex3) ||
- (eval->Map1Vertex4) ||
- (eval->Map2Color4) ||
- (eval->Map2Index) ||
- (eval->Map2Normal) ||
- (eval->Map2TextureCoord1) ||
- (eval->Map2TextureCoord2) ||
- (eval->Map2TextureCoord3) ||
- (eval->Map2TextureCoord4) ||
- (eval->Map2Vertex3) ||
- (eval->Map2Vertex4)
- )
- return TRUE;
-
- return FALSE;
-}
-
-//---------------------------------------------------------------------------
-
-BOOL _gldChooseInternalPipeline(
- GLcontext *ctx,
- GLD_driver_dx9 *gld)
-{
-// return TRUE; // DEBUGGING: ALWAYS USE MESA
-// return FALSE; // DEBUGGING: ALWAYS USE D3D
-
- if ((glb.dwTnL == GLDS_TNL_MESA) || (gld->bHasHWTnL == FALSE))
- {
- gld->PipelineUsage.qwMesa.QuadPart++;
- return TRUE; // Force Mesa TnL
- }
-
- if ((ctx->Light.Enabled) ||
- (1) ||
- (ctx->Texture._TexGenEnabled) ||
- (ctx->Texture._TexMatEnabled) ||
-// (ctx->Transform._AnyClip) ||
- (ctx->Scissor.Enabled) ||
- _gldAnyEvalEnabled(ctx) // Put this last so we can early-out
- )
- {
- gld->PipelineUsage.qwMesa.QuadPart++;
- return TRUE;
- }
-
- gld->PipelineUsage.qwD3DFVF.QuadPart++;
- return FALSE;
-
-/* // Force Mesa pipeline?
- if (glb.dwTnL == GLDS_TNL_MESA) {
- gld->PipelineUsage.dwMesa.QuadPart++;
- return GLD_PIPELINE_MESA;
- }
-
- // Test for functionality not exposed in the D3D pathways
- if ((ctx->Texture._GenFlags)) {
- gld->PipelineUsage.dwMesa.QuadPart++;
- return GLD_PIPELINE_MESA;
- }
-
- // Now decide if vertex shader can be used.
- // If two sided lighting is enabled then we must either
- // use Mesa TnL or the vertex shader
- if (ctx->_TriangleCaps & DD_TRI_LIGHT_TWOSIDE) {
- if (gld->VStwosidelight.hShader && !ctx->Fog.Enabled) {
- // Use Vertex Shader
- gld->PipelineUsage.dwD3D2SVS.QuadPart++;
- return GLD_PIPELINE_D3D_VS_TWOSIDE;
- } else {
- // Use Mesa TnL
- gld->PipelineUsage.dwMesa.QuadPart++;
- return GLD_PIPELINE_MESA;
- }
- }
-
- // Must be D3D fixed-function pipeline
- gld->PipelineUsage.dwD3DFVF.QuadPart++;
- return GLD_PIPELINE_D3D_FVF;
-*/
-}
-
-//---------------------------------------------------------------------------
-
-void gld_update_state_DX9(
- GLcontext *ctx,
- GLuint new_state)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx9 *gld = GLD_GET_DX9_DRIVER(gldCtx);
- TNLcontext *tnl = TNL_CONTEXT(ctx);
- GLD_pb_dx9 *gldPB;
-
- if (!gld || !gld->pDev)
- return;
-
- _swsetup_InvalidateState( ctx, new_state );
- _vbo_InvalidateState( ctx, new_state );
- _tnl_InvalidateState( ctx, new_state );
-
- // SetupIndex will be used in the pipelines for choosing setup function
- if ((ctx->_TriangleCaps & (DD_TRI_LIGHT_TWOSIDE | DD_SEPARATE_SPECULAR)) ||
- (ctx->Fog.Enabled))
- {
- if (ctx->_TriangleCaps & DD_FLATSHADE)
- gld->iSetupFunc = GLD_SI_FLAT_EXTRAS;
- else
- gld->iSetupFunc = GLD_SI_SMOOTH_EXTRAS;
- } else {
- if (ctx->_TriangleCaps & DD_FLATSHADE)
- gld->iSetupFunc = GLD_SI_FLAT; // Setup flat shade + texture
- else
- gld->iSetupFunc = GLD_SI_SMOOTH; // Setup smooth shade + texture
- }
-
- gld->bUseMesaTnL = _gldChooseInternalPipeline(ctx, gld);
- if (gld->bUseMesaTnL) {
- gldPB = &gld->PB2d;
- _GLD_DX9_DEV(SetSoftwareVertexProcessing(gld->pDev, TRUE));
- _GLD_DX9_DEV(SetRenderState(gld->pDev, D3DRS_CLIPPING, FALSE));
- _GLD_DX9_DEV(SetVertexShader(gld->pDev, NULL));
- _GLD_DX9_DEV(SetFVF(gld->pDev, gldPB->dwFVF));
- } else {
- gldPB = &gld->PB3d;
- _GLD_DX9_DEV(SetRenderState(gld->pDev, D3DRS_CLIPPING, TRUE));
-// if (gld->TnLPipeline == GLD_PIPELINE_D3D_VS_TWOSIDE) {
-// _GLD_DX9_DEV(SetRenderState(gld->pDev, D3DRS_SOFTWAREVERTEXPROCESSING, !gld->VStwosidelight.bHardware));
-// _GLD_DX9_DEV(SetVertexShader(gld->pDev, gld->VStwosidelight.hShader));
-// } else {
-// _GLD_DX9_DEV(SetRenderState(gld->pDev, D3DRS_SOFTWAREVERTEXPROCESSING, !gld->bHasHWTnL));
- _GLD_DX9_DEV(SetSoftwareVertexProcessing(gld->pDev, !gld->bHasHWTnL));
- _GLD_DX9_DEV(SetVertexShader(gld->pDev, NULL));
- _GLD_DX9_DEV(SetFVF(gld->pDev, gldPB->dwFVF));
-// }
- }
-
-#define _GLD_TEST_STATE(a) \
- if (new_state & (a)) { \
- gld##a(ctx); \
- new_state &= ~(a); \
- }
-
-#define _GLD_TEST_STATE_DX9(a) \
- if (new_state & (a)) { \
- gld##a##_DX9(ctx); \
- new_state &= ~(a); \
- }
-
-#define _GLD_IGNORE_STATE(a) new_state &= ~(a);
-
-// if (!gld->bUseMesaTnL) {
- // Not required if Mesa is doing the TnL.
- // Problem: If gld->bUseMesaTnL is TRUE when these are signaled,
- // then we'll miss updating the D3D TnL pipeline.
- // Therefore, don't test for gld->bUseMesaTnL
- _GLD_TEST_STATE(_NEW_MODELVIEW);
- _GLD_TEST_STATE(_NEW_PROJECTION);
-// }
-
- _GLD_TEST_STATE_DX9(_NEW_TEXTURE); // extern, so guard with _DX9
- _GLD_TEST_STATE(_NEW_COLOR);
- _GLD_TEST_STATE(_NEW_DEPTH);
- _GLD_TEST_STATE(_NEW_POLYGON);
- _GLD_TEST_STATE(_NEW_STENCIL);
- _GLD_TEST_STATE(_NEW_FOG);
- _GLD_TEST_STATE(_NEW_LIGHT);
- _GLD_TEST_STATE(_NEW_VIEWPORT);
-
- _GLD_IGNORE_STATE(_NEW_TRANSFORM);
-
- // Scissor Test: New for DX9
- _GLD_TEST_STATE(_NEW_SCISSOR);
-
-// Stubs for future use.
-/* _GLD_TEST_STATE(_NEW_TEXTURE_MATRIX);
- _GLD_TEST_STATE(_NEW_COLOR_MATRIX);
- _GLD_TEST_STATE(_NEW_ACCUM);
- _GLD_TEST_STATE(_NEW_EVAL);
- _GLD_TEST_STATE(_NEW_HINT);
- _GLD_TEST_STATE(_NEW_LINE);
- _GLD_TEST_STATE(_NEW_PIXEL);
- _GLD_TEST_STATE(_NEW_POINT);
- _GLD_TEST_STATE(_NEW_POLYGONSTIPPLE);
- _GLD_TEST_STATE(_NEW_PACKUNPACK);
- _GLD_TEST_STATE(_NEW_ARRAY);
- _GLD_TEST_STATE(_NEW_RENDERMODE);
- _GLD_TEST_STATE(_NEW_BUFFERS);
- _GLD_TEST_STATE(_NEW_MULTISAMPLE);
-*/
-
-// For debugging.
-#if 0
-#define _GLD_TEST_UNHANDLED_STATE(a) \
- if (new_state & (a)) { \
- gldLogMessage(GLDLOG_ERROR, "Unhandled " #a "\n"); \
- }
- _GLD_TEST_UNHANDLED_STATE(_NEW_TEXTURE_MATRIX);
- _GLD_TEST_UNHANDLED_STATE(_NEW_COLOR_MATRIX);
- _GLD_TEST_UNHANDLED_STATE(_NEW_ACCUM);
- _GLD_TEST_UNHANDLED_STATE(_NEW_EVAL);
- _GLD_TEST_UNHANDLED_STATE(_NEW_HINT);
- _GLD_TEST_UNHANDLED_STATE(_NEW_LINE);
- _GLD_TEST_UNHANDLED_STATE(_NEW_PIXEL);
- _GLD_TEST_UNHANDLED_STATE(_NEW_POINT);
- _GLD_TEST_UNHANDLED_STATE(_NEW_POLYGONSTIPPLE);
-// _GLD_TEST_UNHANDLED_STATE(_NEW_SCISSOR);
- _GLD_TEST_UNHANDLED_STATE(_NEW_PACKUNPACK);
- _GLD_TEST_UNHANDLED_STATE(_NEW_ARRAY);
- _GLD_TEST_UNHANDLED_STATE(_NEW_RENDERMODE);
- _GLD_TEST_UNHANDLED_STATE(_NEW_BUFFERS);
- _GLD_TEST_UNHANDLED_STATE(_NEW_MULTISAMPLE);
-#undef _GLD_UNHANDLED_STATE
-#endif
-
-#undef _GLD_TEST_STATE
-}
-
-//---------------------------------------------------------------------------
-// Viewport
-//---------------------------------------------------------------------------
-
-void gld_Viewport_DX9(
- GLcontext *ctx,
- GLint x,
- GLint y,
- GLsizei w,
- GLsizei h)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx9 *gld = GLD_GET_DX9_DRIVER(gldCtx);
-
- D3DVIEWPORT9 d3dvp;
-
- if (!gld || !gld->pDev)
- return;
-
- // This is a hack. When the app is minimized, Mesa passes
- // w=1 and h=1 for viewport dimensions. Without this test
- // we get a GPF in gld_wgl_resize_buffers().
- if ((w==1) && (h==1))
- return;
-
- // Call ResizeBuffersMESA. This function will early-out
- // if no resize is needed.
- //ctx->Driver.ResizeBuffersMESA(ctx);
- // Mesa 5: Changed parameters
- ctx->Driver.ResizeBuffers(gldCtx->glBuffer);
-
-#if 0
- ddlogPrintf(GLDLOG_SYSTEM, ">> Viewport x=%d y=%d w=%d h=%d", x,y,w,h);
-#endif
-
- // ** D3D viewport must not be outside the render target surface **
- // Sanity check the GL viewport dimensions
- if (x < 0) x = 0;
- if (y < 0) y = 0;
- if (w > gldCtx->dwWidth) w = gldCtx->dwWidth;
- if (h > gldCtx->dwHeight) h = gldCtx->dwHeight;
- // Ditto for D3D viewport dimensions
- if (w+x > gldCtx->dwWidth) w = gldCtx->dwWidth-x;
- if (h+y > gldCtx->dwHeight) h = gldCtx->dwHeight-y;
-
- d3dvp.X = x;
- d3dvp.Y = gldCtx->dwHeight - (y + h);
- d3dvp.Width = w;
- d3dvp.Height = h;
- if (ctx->Viewport.Near <= ctx->Viewport.Far) {
- d3dvp.MinZ = ctx->Viewport.Near;
- d3dvp.MaxZ = ctx->Viewport.Far;
- } else {
- d3dvp.MinZ = ctx->Viewport.Far;
- d3dvp.MaxZ = ctx->Viewport.Near;
- }
-
- // TODO: DEBUGGING
-// d3dvp.MinZ = 0.0f;
-// d3dvp.MaxZ = 1.0f;
-
- _GLD_DX9_DEV(SetViewport(gld->pDev, &d3dvp));
-
-}
-
-//---------------------------------------------------------------------------
-
-extern BOOL dglWglResizeBuffers(GLcontext *ctx, BOOL bDefaultDriver);
-
-// Mesa 5: Parameter change
-void gldResizeBuffers_DX9(
-// GLcontext *ctx)
- GLframebuffer *fb)
-{
- GET_CURRENT_CONTEXT(ctx);
- dglWglResizeBuffers(ctx, TRUE);
-}
-
-//---------------------------------------------------------------------------
-#ifdef _DEBUG
-// This is only for debugging.
-// To use, plug into ctx->Driver.Enable pointer below.
-void gld_Enable(
- GLcontext *ctx,
- GLenum e,
- GLboolean b)
-{
- char buf[1024];
- sprintf(buf, "Enable: %s (%s)\n", _mesa_lookup_enum_by_nr(e), b?"TRUE":"FALSE");
- ddlogMessage(DDLOG_SYSTEM, buf);
-}
-#endif
-//---------------------------------------------------------------------------
-// Driver pointer setup
-//---------------------------------------------------------------------------
-
-extern const GLubyte* _gldGetStringGeneric(GLcontext*, GLenum);
-
-void gldSetupDriverPointers_DX9(
- GLcontext *ctx)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx9 *gld = GLD_GET_DX9_DRIVER(gldCtx);
-
- TNLcontext *tnl = TNL_CONTEXT(ctx);
-
- // Mandatory functions
- ctx->Driver.GetString = _gldGetStringGeneric;
- ctx->Driver.UpdateState = gld_update_state_DX9;
- ctx->Driver.Clear = gld_Clear_DX9;
- ctx->Driver.DrawBuffer = gld_set_draw_buffer_DX9;
- ctx->Driver.GetBufferSize = gld_buffer_size_DX9;
- ctx->Driver.Finish = gld_Finish_DX9;
- ctx->Driver.Flush = gld_Flush_DX9;
- ctx->Driver.Error = gld_Error_DX9;
-
- // Hardware accumulation buffer
- ctx->Driver.Accum = NULL; // TODO: gld_Accum;
-
- // Bitmap functions
- ctx->Driver.CopyPixels = gld_CopyPixels_DX9;
- ctx->Driver.DrawPixels = gld_DrawPixels_DX9;
- ctx->Driver.ReadPixels = gld_ReadPixels_DX9;
- ctx->Driver.Bitmap = gld_Bitmap_DX9;
-
- // Buffer resize
- ctx->Driver.ResizeBuffers = gldResizeBuffers_DX9;
-
- // Texture image functions
- ctx->Driver.ChooseTextureFormat = gld_ChooseTextureFormat_DX9;
- ctx->Driver.TexImage1D = gld_TexImage1D_DX9;
- ctx->Driver.TexImage2D = gld_TexImage2D_DX9;
- ctx->Driver.TexImage3D = _mesa_store_teximage3d;
- ctx->Driver.TexSubImage1D = gld_TexSubImage1D_DX9;
- ctx->Driver.TexSubImage2D = gld_TexSubImage2D_DX9;
- ctx->Driver.TexSubImage3D = _mesa_store_texsubimage3d;
-
- ctx->Driver.CopyTexImage1D = gldCopyTexImage1D_DX9; //NULL;
- ctx->Driver.CopyTexImage2D = gldCopyTexImage2D_DX9; //NULL;
- ctx->Driver.CopyTexSubImage1D = gldCopyTexSubImage1D_DX9; //NULL;
- ctx->Driver.CopyTexSubImage2D = gldCopyTexSubImage2D_DX9; //NULL;
- ctx->Driver.CopyTexSubImage3D = gldCopyTexSubImage3D_DX9;
- ctx->Driver.TestProxyTexImage = _mesa_test_proxy_teximage;
-
- // Texture object functions
- ctx->Driver.BindTexture = NULL;
- ctx->Driver.NewTextureObject = NULL; // Not yet implemented by Mesa!;
- ctx->Driver.DeleteTexture = gld_DeleteTexture_DX9;
- ctx->Driver.PrioritizeTexture = NULL;
-
- // Imaging functionality
- ctx->Driver.CopyColorTable = NULL;
- ctx->Driver.CopyColorSubTable = NULL;
- ctx->Driver.CopyConvolutionFilter1D = NULL;
- ctx->Driver.CopyConvolutionFilter2D = NULL;
-
- // State changing functions
- ctx->Driver.AlphaFunc = NULL; //gld_AlphaFunc;
- ctx->Driver.BlendFuncSeparate = NULL; //gld_BlendFunc;
- ctx->Driver.ClearColor = NULL; //gld_ClearColor;
- ctx->Driver.ClearDepth = NULL; //gld_ClearDepth;
- ctx->Driver.ClearStencil = NULL; //gld_ClearStencil;
- ctx->Driver.ColorMask = NULL; //gld_ColorMask;
- ctx->Driver.CullFace = NULL; //gld_CullFace;
- ctx->Driver.ClipPlane = NULL; //gld_ClipPlane;
- ctx->Driver.FrontFace = NULL; //gld_FrontFace;
- ctx->Driver.DepthFunc = NULL; //gld_DepthFunc;
- ctx->Driver.DepthMask = NULL; //gld_DepthMask;
- ctx->Driver.DepthRange = NULL;
- ctx->Driver.Enable = NULL; //gld_Enable;
- ctx->Driver.Fogfv = NULL; //gld_Fogfv;
- ctx->Driver.Hint = NULL; //gld_Hint;
- ctx->Driver.Lightfv = NULL; //gld_Lightfv;
- ctx->Driver.LightModelfv = NULL; //gld_LightModelfv;
- ctx->Driver.LineStipple = NULL; //gld_LineStipple;
- ctx->Driver.LineWidth = NULL; //gld_LineWidth;
- ctx->Driver.LogicOpcode = NULL; //gld_LogicOpcode;
- ctx->Driver.PointParameterfv = NULL; //gld_PointParameterfv;
- ctx->Driver.PointSize = NULL; //gld_PointSize;
- ctx->Driver.PolygonMode = NULL; //gld_PolygonMode;
- ctx->Driver.PolygonOffset = NULL; //gld_PolygonOffset;
- ctx->Driver.PolygonStipple = NULL; //gld_PolygonStipple;
- ctx->Driver.RenderMode = NULL; //gld_RenderMode;
- ctx->Driver.Scissor = NULL; //gld_Scissor;
- ctx->Driver.ShadeModel = NULL; //gld_ShadeModel;
- ctx->Driver.StencilFunc = NULL; //gld_StencilFunc;
- ctx->Driver.StencilMask = NULL; //gld_StencilMask;
- ctx->Driver.StencilOp = NULL; //gld_StencilOp;
- ctx->Driver.TexGen = NULL; //gld_TexGen;
- ctx->Driver.TexEnv = NULL;
- ctx->Driver.TexParameter = NULL;
- ctx->Driver.TextureMatrix = NULL; //gld_TextureMatrix;
- ctx->Driver.Viewport = gld_Viewport_DX9;
-
- _swsetup_Wakeup(ctx);
-
- tnl->Driver.RunPipeline = _tnl_run_pipeline;
- tnl->Driver.Render.ResetLineStipple = gld_ResetLineStipple_DX9;
- tnl->Driver.Render.ClippedPolygon = _tnl_RenderClippedPolygon;
- tnl->Driver.Render.ClippedLine = _tnl_RenderClippedLine;
-
- // Hook into glFrustum() and glOrtho()
-// ctx->Exec->Frustum = gldFrustumHook_DX9;
-// ctx->Exec->Ortho = gldOrthoHook_DX9;
-
-}
-
-//---------------------------------------------------------------------------
diff --git a/src/mesa/drivers/windows/gldirect/dx9/gld_dx9.h b/src/mesa/drivers/windows/gldirect/dx9/gld_dx9.h
deleted file mode 100644
index aec40ac9dd..0000000000
--- a/src/mesa/drivers/windows/gldirect/dx9/gld_dx9.h
+++ /dev/null
@@ -1,327 +0,0 @@
-/****************************************************************************
-*
-* Mesa 3-D graphics library
-* Direct3D Driver Interface
-*
-* ========================================================================
-*
-* Copyright (C) 1991-2004 SciTech Software, Inc. 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
-* SCITECH SOFTWARE INC 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.
-*
-* ======================================================================
-*
-* Language: ANSI C
-* Environment: Windows 9x/2000/XP/XBox (Win32)
-*
-* Description: GLDirect Direct3D 9.0 header file
-*
-****************************************************************************/
-
-#ifndef _GLD_DX9_H
-#define _GLD_DX9_H
-
-//---------------------------------------------------------------------------
-// Windows includes
-//---------------------------------------------------------------------------
-
-//#ifndef STRICT
-//#define STRICT
-//#endif
-
-//#define WIN32_LEAN_AND_MEAN
-//#include <windows.h>
-#include <d3d9.h>
-#include <d3dx9.h>
-
-// MS screwed up with the DX8.1 SDK - there's no compile-time
-// method of compiling for 8.0 via the 8.1 SDK unless you
-// "make sure you don't use any 8.1 interfaces".
-// We CAN use 8.1 D3DX static functions, though - just not new 8.1 interfaces.
-//
-// D3D_SDK_VERSION is 120 for 8.0 (supported by Windows 95).
-// D3D_SDK_VERSION is 220 for 8.1 (NOT supported by Windows 95).
-//
-//#define D3D_SDK_VERSION_DX9_SUPPORT_WIN95 120
-//#define D3D_SDK_VERSION_DX91 220
-
-// Typedef for obtaining function from d3d8.dll
-typedef IDirect3D9* (WINAPI *FNDIRECT3DCREATE9) (UINT);
-
-
-//---------------------------------------------------------------------------
-// Defines
-//---------------------------------------------------------------------------
-
-#ifdef _DEBUG
-#define _GLD_TEST_HRESULT(h) \
-{ \
- HRESULT _hr = (h); \
- if (FAILED(_hr)) { \
- gldLogError(GLDLOG_ERROR, #h, _hr); \
- } \
-}
-#define _GLD_DX9(func) _GLD_TEST_HRESULT(IDirect3D9_##func##)
-#define _GLD_DX9_DEV(func) _GLD_TEST_HRESULT(IDirect3DDevice9_##func##)
-#define _GLD_DX9_VB(func) _GLD_TEST_HRESULT(IDirect3DVertexBuffer9_##func##)
-#define _GLD_DX9_TEX(func) _GLD_TEST_HRESULT(IDirect3DTexture9_##func##)
-#else
-#define _GLD_DX9(func) IDirect3D9_##func
-#define _GLD_DX9_DEV(func) IDirect3DDevice9_##func
-#define _GLD_DX9_VB(func) IDirect3DVertexBuffer9_##func
-#define _GLD_DX9_TEX(func) IDirect3DTexture9_##func
-#endif
-
-#define SAFE_RELEASE(p) \
-{ \
- if (p) { \
- (p)->lpVtbl->Release(p); \
- (p) = NULL; \
- } \
-}
-
-#define SAFE_RELEASE_VB9(p) \
-{ \
- if (p) { \
- IDirect3DVertexBuffer9_Release((p)); \
- (p) = NULL; \
- } \
-}
-
-#define SAFE_RELEASE_SURFACE9(p) \
-{ \
- if (p) { \
- IDirect3DSurface9_Release((p)); \
- (p) = NULL; \
- } \
-}
-
-// Setup index.
-enum {
- GLD_SI_FLAT = 0,
- GLD_SI_SMOOTH = 1,
- GLD_SI_FLAT_EXTRAS = 2,
- GLD_SI_SMOOTH_EXTRAS = 3,
-};
-/*
-// Internal pipeline
-typedef enum {
- GLD_PIPELINE_MESA = 0, // Mesa pipeline
- GLD_PIPELINE_D3D_FVF = 1, // Direct3D Fixed-function pipeline
- GLD_PIPELINE_D3D_VS_TWOSIDE = 2 // Direct3D two-sided-lighting vertex shader
-} GLD_tnl_pipeline;
-*/
-//---------------------------------------------------------------------------
-// Vertex definitions for Fixed-Function pipeline
-//---------------------------------------------------------------------------
-
-//
-// NOTE: If the number of texture units is altered then most of
-// the texture code will need to be revised.
-//
-
-#define GLD_MAX_TEXTURE_UNITS_DX9 2
-
-//
-// 2D vertex transformed by Mesa
-//
-#define GLD_FVF_2D_VERTEX ( D3DFVF_XYZRHW | \
- D3DFVF_DIFFUSE | \
- D3DFVF_SPECULAR | \
- D3DFVF_TEX2)
-typedef struct {
- FLOAT x, y; // 2D raster coords
- FLOAT sz; // Screen Z (depth)
- FLOAT rhw; // Reciprocal homogenous W
- DWORD diffuse; // Diffuse colour
- DWORD specular; // For separate-specular support
- FLOAT t0_u, t0_v; // 1st set of texture coords
- FLOAT t1_u, t1_v; // 2nd set of texture coords
-} GLD_2D_VERTEX;
-
-
-//
-// 3D vertex transformed by Direct3D
-//
-#define GLD_FVF_3D_VERTEX ( D3DFVF_XYZ | \
- D3DFVF_DIFFUSE | \
- D3DFVF_TEX2)
-
-typedef struct {
- D3DXVECTOR3 Position; // XYZ Vector in object space
- D3DCOLOR Diffuse; // Diffuse colour
- D3DXVECTOR2 TexUnit0; // Texture unit 0
- D3DXVECTOR2 TexUnit1; // Texture unit 1
-} GLD_3D_VERTEX;
-
-//---------------------------------------------------------------------------
-// Vertex Shaders
-//---------------------------------------------------------------------------
-/*
-// DX8 Vertex Shader
-typedef struct {
- DWORD hShader; // If NULL, shader is invalid and cannot be used
- BOOL bHardware; // If TRUE then shader was created for hardware,
- // otherwise shader was created for software.
-} GLD_vertexShader;
-*/
-//---------------------------------------------------------------------------
-// Structs
-//---------------------------------------------------------------------------
-
-// This keeps a count of how many times we choose each individual internal
-// pathway. Useful for seeing if a certain pathway was ever used by an app, and
-// how much each pathway is biased.
-// Zero the members at context creation and dump stats at context deletion.
-typedef struct {
- // Note: DWORD is probably too small
- ULARGE_INTEGER qwMesa; // Mesa TnL pipeline
- ULARGE_INTEGER qwD3DFVF; // Direct3D Fixed-Function pipeline
-// ULARGE_INTEGER dwD3D2SVS; // Direct3D Two-Sided Vertex Shader pipeline
-} GLD_pipeline_usage;
-
-// GLDirect Primitive Buffer (points, lines, triangles and quads)
-typedef struct {
- // Data for IDirect3DDevice9::CreateVertexBuffer()
- DWORD dwStride; // Stride of vertex
- DWORD dwUsage; // Usage flags
- DWORD dwFVF; // Direct3D Flexible Vertex Format
- DWORD dwPool; // Pool flags
-
- IDirect3DVertexBuffer9 *pVB; // Holds points, lines, tris and quads.
-
- // Point list is assumed to be at start of buffer
- DWORD iFirstLine; // Index of start of line list
- DWORD iFirstTriangle; // Index of start of triangle list
-
- BYTE *pPoints; // Pointer to next free point
- BYTE *pLines; // Pointer to next free line
- BYTE *pTriangles; // Pointer to next free triangle
-
- DWORD nPoints; // Number of points ready to render
- DWORD nLines; // Number of lines ready to render
- DWORD nTriangles; // Number of triangles ready to render
-} GLD_pb_dx9;
-
-// GLDirect DX9 driver data
-typedef struct {
- // GLDirect vars
- BOOL bDoublebuffer; // Doublebuffer (otherwise single-buffered)
- BOOL bDepthStencil; // Depth buffer needed (stencil optional)
- D3DFORMAT RenderFormat; // Format of back/front buffer
- D3DFORMAT DepthFormat; // Format of depth/stencil
-// float fFlipWindowY; // Value for flipping viewport Y coord
-
- // Direct3D vars
- D3DCAPS9 d3dCaps9;
- BOOL bHasHWTnL; // Device has Hardware Transform/Light?
- IDirect3D9 *pD3D; // Base Direct3D9 interface
- IDirect3DDevice9 *pDev; // Direct3D9 Device interface
- GLD_pb_dx9 PB2d; // Vertices transformed by Mesa
- GLD_pb_dx9 PB3d; // Vertices transformed by Direct3D
- D3DPRIMITIVETYPE d3dpt; // Current Direct3D primitive type
- D3DXMATRIX matProjection; // Projection matrix for D3D TnL
- D3DXMATRIX matModelView; // Model/View matrix for D3D TnL
- int iSetupFunc; // Which setup functions to use
- BOOL bUseMesaTnL; // Whether to use Mesa or D3D for TnL
-
- // Direct3D vars for two-sided lighting
-// GLD_vertexShader VStwosidelight; // Vertex Shader for two-sided lighting
-// D3DXMATRIX matWorldViewProj;// World/View/Projection matrix for shaders
-
-
-// GLD_tnl_pipeline TnLPipeline; // Index of current internal pipeline
- GLD_pipeline_usage PipelineUsage;
-
- BOOL bCanScissor; // Scissor test - new for DX9
-} GLD_driver_dx9;
-
-#define GLD_GET_DX9_DRIVER(c) (GLD_driver_dx9*)(c)->glPriv
-
-//---------------------------------------------------------------------------
-// Function prototypes
-//---------------------------------------------------------------------------
-
-PROC gldGetProcAddress_DX9(LPCSTR a);
-void gldEnableExtensions_DX9(GLcontext *ctx);
-void gldInstallPipeline_DX9(GLcontext *ctx);
-void gldSetupDriverPointers_DX9(GLcontext *ctx);
-//void gldResizeBuffers_DX9(GLcontext *ctx);
-void gldResizeBuffers_DX9(GLframebuffer *fb);
-
-
-// Texture functions
-
-void gldCopyTexImage1D_DX9(GLcontext *ctx, GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLint border);
-void gldCopyTexImage2D_DX9(GLcontext *ctx, GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
-void gldCopyTexSubImage1D_DX9(GLcontext *ctx, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width );
-void gldCopyTexSubImage2D_DX9(GLcontext *ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height );
-void gldCopyTexSubImage3D_DX9(GLcontext *ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height );
-
-void gld_NEW_TEXTURE_DX9(GLcontext *ctx);
-void gld_DrawPixels_DX9(GLcontext *ctx, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, const struct gl_pixelstore_attrib *unpack, const GLvoid *pixels);
-void gld_ReadPixels_DX9(GLcontext *ctx, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, const struct gl_pixelstore_attrib *unpack, GLvoid *dest);
-void gld_CopyPixels_DX9(GLcontext *ctx, GLint srcx, GLint srcy, GLsizei width, GLsizei height, GLint dstx, GLint dsty, GLenum type);
-void gld_Bitmap_DX9(GLcontext *ctx, GLint x, GLint y, GLsizei width, GLsizei height, const struct gl_pixelstore_attrib *unpack, const GLubyte *bitmap);
-const struct gl_texture_format* gld_ChooseTextureFormat_DX9(GLcontext *ctx, GLint internalFormat, GLenum srcFormat, GLenum srcType);
-void gld_TexImage2D_DX9(GLcontext *ctx, GLenum target, GLint level, GLint internalFormat, GLint width, GLint height, GLint border, GLenum format, GLenum type, const GLvoid *pixels, const struct gl_pixelstore_attrib *packing, struct gl_texture_object *tObj, struct gl_texture_image *texImage);
-void gld_TexImage1D_DX9(GLcontext *ctx, GLenum target, GLint level, GLint internalFormat, GLint width, GLint border, GLenum format, GLenum type, const GLvoid *pixels, const struct gl_pixelstore_attrib *packing, struct gl_texture_object *texObj, struct gl_texture_image *texImage );
-void gld_TexSubImage2D_DX9( GLcontext *ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels, const struct gl_pixelstore_attrib *packing, struct gl_texture_object *texObj, struct gl_texture_image *texImage );
-void gld_TexSubImage1D_DX9(GLcontext *ctx, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels, const struct gl_pixelstore_attrib *packing, struct gl_texture_object *texObj, struct gl_texture_image *texImage);
-void gld_DeleteTexture_DX9(GLcontext *ctx, struct gl_texture_object *tObj);
-void gld_ResetLineStipple_DX9(GLcontext *ctx);
-
-// 2D primitive functions
-
-void gld_Points2D_DX9(GLcontext *ctx, GLuint first, GLuint last);
-
-void gld_Line2DFlat_DX9(GLcontext *ctx, GLuint v0, GLuint v1);
-void gld_Line2DSmooth_DX9(GLcontext *ctx, GLuint v0, GLuint v1);
-
-void gld_Triangle2DFlat_DX9(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2);
-void gld_Triangle2DSmooth_DX9(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2);
-void gld_Triangle2DFlatExtras_DX9(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2);
-void gld_Triangle2DSmoothExtras_DX9(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2);
-
-void gld_Quad2DFlat_DX9(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
-void gld_Quad2DSmooth_DX9(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
-void gld_Quad2DFlatExtras_DX9(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
-void gld_Quad2DSmoothExtras_DX9(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
-
-// 3D primitive functions
-
-void gld_Points3D_DX9(GLcontext *ctx, GLuint first, GLuint last);
-void gld_Line3DFlat_DX9(GLcontext *ctx, GLuint v0, GLuint v1);
-void gld_Triangle3DFlat_DX9(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2);
-void gld_Quad3DFlat_DX9(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
-void gld_Line3DSmooth_DX9(GLcontext *ctx, GLuint v0, GLuint v1);
-void gld_Triangle3DSmooth_DX9(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2);
-void gld_Quad3DSmooth_DX9(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
-
-// Primitive functions for Two-sided-lighting Vertex Shader
-
-void gld_Points2DTwoside_DX9(GLcontext *ctx, GLuint first, GLuint last);
-void gld_Line2DFlatTwoside_DX9(GLcontext *ctx, GLuint v0, GLuint v1);
-void gld_Line2DSmoothTwoside_DX9(GLcontext *ctx, GLuint v0, GLuint v1);
-void gld_Triangle2DFlatTwoside_DX9(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2);
-void gld_Triangle2DSmoothTwoside_DX9(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2);
-void gld_Quad2DFlatTwoside_DX9(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
-void gld_Quad2DSmoothTwoside_DX9(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
-
-#endif
diff --git a/src/mesa/drivers/windows/gldirect/dx9/gld_dxerr9.h b/src/mesa/drivers/windows/gldirect/dx9/gld_dxerr9.h
deleted file mode 100644
index 1d6b7b1c76..0000000000
--- a/src/mesa/drivers/windows/gldirect/dx9/gld_dxerr9.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/*==========================================================================;
- *
- *
- * File: dxerr9.h
- * Content: DirectX Error Library Include File
- *
- ****************************************************************************/
-
-#ifndef _GLD_DXERR9_H_
-#define _GLD_DXERR9_H_
-
-
-#include <d3d9.h>
-
-//
-// DXGetErrorString9
-//
-// Desc: Converts an DirectX HRESULT to a string
-//
-// Args: HRESULT hr Can be any error code from
-// DPLAY D3D8 D3DX8 DMUSIC DSOUND
-//
-// Return: Converted string
-//
-const char* __stdcall DXGetErrorString9A(HRESULT hr);
-const WCHAR* __stdcall DXGetErrorString9W(HRESULT hr);
-
-#ifdef UNICODE
- #define DXGetErrorString9 DXGetErrorString9W
-#else
- #define DXGetErrorString9 DXGetErrorString9A
-#endif
-
-
-//
-// DXTrace
-//
-// Desc: Outputs a formatted error message to the debug stream
-//
-// Args: CHAR* strFile The current file, typically passed in using the
-// __FILE__ macro.
-// DWORD dwLine The current line number, typically passed in using the
-// __LINE__ macro.
-// HRESULT hr An HRESULT that will be traced to the debug stream.
-// CHAR* strMsg A string that will be traced to the debug stream (may be NULL)
-// BOOL bPopMsgBox If TRUE, then a message box will popup also containing the passed info.
-//
-// Return: The hr that was passed in.
-//
-//HRESULT __stdcall DXTraceA( char* strFile, DWORD dwLine, HRESULT hr, char* strMsg, BOOL bPopMsgBox = FALSE );
-//HRESULT __stdcall DXTraceW( char* strFile, DWORD dwLine, HRESULT hr, WCHAR* strMsg, BOOL bPopMsgBox = FALSE );
-HRESULT __stdcall DXTraceA( char* strFile, DWORD dwLine, HRESULT hr, char* strMsg, BOOL bPopMsgBox);
-HRESULT __stdcall DXTraceW( char* strFile, DWORD dwLine, HRESULT hr, WCHAR* strMsg, BOOL bPopMsgBox);
-
-#ifdef UNICODE
- #define DXTrace DXTraceW
-#else
- #define DXTrace DXTraceA
-#endif
-
-
-//
-// Helper macros
-//
-#if defined(DEBUG) | defined(_DEBUG)
- #define DXTRACE_MSG(str) DXTrace( __FILE__, (DWORD)__LINE__, 0, str, FALSE )
- #define DXTRACE_ERR(str,hr) DXTrace( __FILE__, (DWORD)__LINE__, hr, str, TRUE )
- #define DXTRACE_ERR_NOMSGBOX(str,hr) DXTrace( __FILE__, (DWORD)__LINE__, hr, str, FALSE )
-#else
- #define DXTRACE_MSG(str) (0L)
- #define DXTRACE_ERR(str,hr) (hr)
- #define DXTRACE_ERR_NOMSGBOX(str,hr) (hr)
-#endif
-
-
-#endif
-
diff --git a/src/mesa/drivers/windows/gldirect/dx9/gld_ext_dx9.c b/src/mesa/drivers/windows/gldirect/dx9/gld_ext_dx9.c
deleted file mode 100644
index e8c73a6ff8..0000000000
--- a/src/mesa/drivers/windows/gldirect/dx9/gld_ext_dx9.c
+++ /dev/null
@@ -1,344 +0,0 @@
-/****************************************************************************
-*
-* Mesa 3-D graphics library
-* Direct3D Driver Interface
-*
-* ========================================================================
-*
-* Copyright (C) 1991-2004 SciTech Software, Inc. 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
-* SCITECH SOFTWARE INC 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.
-*
-* ======================================================================
-*
-* Language: ANSI C
-* Environment: Windows 9x/2000/XP/XBox (Win32)
-*
-* Description: GL extensions
-*
-****************************************************************************/
-
-//#include "../GLDirect.h"
-//#include "../gld_log.h"
-//#include "../gld_settings.h"
-
-#include <windows.h>
-#define GL_GLEXT_PROTOTYPES
-#include <GL/gl.h>
-#include <GL/glext.h>
-
-//#include "ddlog.h"
-//#include "gld_dx8.h"
-
-#include "glheader.h"
-#include "context.h"
-#include "colormac.h"
-#include "depth.h"
-#include "extensions.h"
-#include "macros.h"
-#include "matrix.h"
-// #include "mem.h"
-//#include "mmath.h"
-#include "mtypes.h"
-#include "texformat.h"
-#include "texstore.h"
-#include "vbo/vbo.h"
-#include "swrast_setup/swrast_setup.h"
-#include "swrast_setup/ss_context.h"
-#include "tnl/tnl.h"
-#include "tnl/t_context.h"
-#include "tnl/t_pipeline.h"
-
-#include "dglcontext.h"
-#include "extensions.h"
-
-// For some reason this is not defined in an above header...
-extern void _mesa_enable_imaging_extensions(GLcontext *ctx);
-
-//---------------------------------------------------------------------------
-// Hack for the SGIS_multitexture extension that was removed from Mesa
-// NOTE: SGIS_multitexture enums also clash with GL_SGIX_async_pixel
-
- // NOTE: Quake2 ran *slower* with this enabled, so I've
- // disabled it for now.
- // To enable, uncomment:
- // _mesa_add_extension(ctx, GL_TRUE, szGL_SGIS_multitexture, 0);
-
-//---------------------------------------------------------------------------
-
-enum {
- /* Quake2 GL_SGIS_multitexture */
- GL_SELECTED_TEXTURE_SGIS = 0x835B,
- GL_SELECTED_TEXTURE_COORD_SET_SGIS = 0x835C,
- GL_MAX_TEXTURES_SGIS = 0x835D,
- GL_TEXTURE0_SGIS = 0x835E,
- GL_TEXTURE1_SGIS = 0x835F,
- GL_TEXTURE2_SGIS = 0x8360,
- GL_TEXTURE3_SGIS = 0x8361,
- GL_TEXTURE_COORD_SET_SOURCE_SGIS = 0x8363,
-};
-
-//---------------------------------------------------------------------------
-
-void APIENTRY gldSelectTextureSGIS(
- GLenum target)
-{
- GLenum ARB_target = GL_TEXTURE0_ARB + (target - GL_TEXTURE0_SGIS);
- glActiveTextureARB(ARB_target);
-}
-
-//---------------------------------------------------------------------------
-
-void APIENTRY gldMTexCoord2fSGIS(
- GLenum target,
- GLfloat s,
- GLfloat t)
-{
- GLenum ARB_target = GL_TEXTURE0_ARB + (target - GL_TEXTURE0_SGIS);
- glMultiTexCoord2fARB(ARB_target, s, t);
-}
-
-//---------------------------------------------------------------------------
-
-void APIENTRY gldMTexCoord2fvSGIS(
- GLenum target,
- const GLfloat *v)
-{
- GLenum ARB_target = GL_TEXTURE0_ARB + (target - GL_TEXTURE0_SGIS);
- glMultiTexCoord2fvARB(ARB_target, v);
-}
-
-//---------------------------------------------------------------------------
-// Extensions
-//---------------------------------------------------------------------------
-
-typedef struct {
- PROC proc;
- char *name;
-} GLD_extension;
-
-GLD_extension GLD_extList[] = {
-#ifdef GL_EXT_polygon_offset
- { (PROC)glPolygonOffsetEXT, "glPolygonOffsetEXT" },
-#endif
- { (PROC)glBlendEquationEXT, "glBlendEquationEXT" },
- { (PROC)glBlendColorEXT, "glBlendColorExt" },
- { (PROC)glVertexPointerEXT, "glVertexPointerEXT" },
- { (PROC)glNormalPointerEXT, "glNormalPointerEXT" },
- { (PROC)glColorPointerEXT, "glColorPointerEXT" },
- { (PROC)glIndexPointerEXT, "glIndexPointerEXT" },
- { (PROC)glTexCoordPointerEXT, "glTexCoordPointer" },
- { (PROC)glEdgeFlagPointerEXT, "glEdgeFlagPointerEXT" },
- { (PROC)glGetPointervEXT, "glGetPointervEXT" },
- { (PROC)glArrayElementEXT, "glArrayElementEXT" },
- { (PROC)glDrawArraysEXT, "glDrawArrayEXT" },
- { (PROC)glAreTexturesResidentEXT, "glAreTexturesResidentEXT" },
- { (PROC)glBindTextureEXT, "glBindTextureEXT" },
- { (PROC)glDeleteTexturesEXT, "glDeleteTexturesEXT" },
- { (PROC)glGenTexturesEXT, "glGenTexturesEXT" },
- { (PROC)glIsTextureEXT, "glIsTextureEXT" },
- { (PROC)glPrioritizeTexturesEXT, "glPrioritizeTexturesEXT" },
- { (PROC)glCopyTexSubImage3DEXT, "glCopyTexSubImage3DEXT" },
- { (PROC)glTexImage3DEXT, "glTexImage3DEXT" },
- { (PROC)glTexSubImage3DEXT, "glTexSubImage3DEXT" },
- { (PROC)glPointParameterfEXT, "glPointParameterfEXT" },
- { (PROC)glPointParameterfvEXT, "glPointParameterfvEXT" },
-
- { (PROC)glLockArraysEXT, "glLockArraysEXT" },
- { (PROC)glUnlockArraysEXT, "glUnlockArraysEXT" },
- { NULL, "\0" }
-};
-
-GLD_extension GLD_multitexList[] = {
-/*
- { (PROC)glMultiTexCoord1dSGIS, "glMTexCoord1dSGIS" },
- { (PROC)glMultiTexCoord1dvSGIS, "glMTexCoord1dvSGIS" },
- { (PROC)glMultiTexCoord1fSGIS, "glMTexCoord1fSGIS" },
- { (PROC)glMultiTexCoord1fvSGIS, "glMTexCoord1fvSGIS" },
- { (PROC)glMultiTexCoord1iSGIS, "glMTexCoord1iSGIS" },
- { (PROC)glMultiTexCoord1ivSGIS, "glMTexCoord1ivSGIS" },
- { (PROC)glMultiTexCoord1sSGIS, "glMTexCoord1sSGIS" },
- { (PROC)glMultiTexCoord1svSGIS, "glMTexCoord1svSGIS" },
- { (PROC)glMultiTexCoord2dSGIS, "glMTexCoord2dSGIS" },
- { (PROC)glMultiTexCoord2dvSGIS, "glMTexCoord2dvSGIS" },
- { (PROC)glMultiTexCoord2fSGIS, "glMTexCoord2fSGIS" },
- { (PROC)glMultiTexCoord2fvSGIS, "glMTexCoord2fvSGIS" },
- { (PROC)glMultiTexCoord2iSGIS, "glMTexCoord2iSGIS" },
- { (PROC)glMultiTexCoord2ivSGIS, "glMTexCoord2ivSGIS" },
- { (PROC)glMultiTexCoord2sSGIS, "glMTexCoord2sSGIS" },
- { (PROC)glMultiTexCoord2svSGIS, "glMTexCoord2svSGIS" },
- { (PROC)glMultiTexCoord3dSGIS, "glMTexCoord3dSGIS" },
- { (PROC)glMultiTexCoord3dvSGIS, "glMTexCoord3dvSGIS" },
- { (PROC)glMultiTexCoord3fSGIS, "glMTexCoord3fSGIS" },
- { (PROC)glMultiTexCoord3fvSGIS, "glMTexCoord3fvSGIS" },
- { (PROC)glMultiTexCoord3iSGIS, "glMTexCoord3iSGIS" },
- { (PROC)glMultiTexCoord3ivSGIS, "glMTexCoord3ivSGIS" },
- { (PROC)glMultiTexCoord3sSGIS, "glMTexCoord3sSGIS" },
- { (PROC)glMultiTexCoord3svSGIS, "glMTexCoord3svSGIS" },
- { (PROC)glMultiTexCoord4dSGIS, "glMTexCoord4dSGIS" },
- { (PROC)glMultiTexCoord4dvSGIS, "glMTexCoord4dvSGIS" },
- { (PROC)glMultiTexCoord4fSGIS, "glMTexCoord4fSGIS" },
- { (PROC)glMultiTexCoord4fvSGIS, "glMTexCoord4fvSGIS" },
- { (PROC)glMultiTexCoord4iSGIS, "glMTexCoord4iSGIS" },
- { (PROC)glMultiTexCoord4ivSGIS, "glMTexCoord4ivSGIS" },
- { (PROC)glMultiTexCoord4sSGIS, "glMTexCoord4sSGIS" },
- { (PROC)glMultiTexCoord4svSGIS, "glMTexCoord4svSGIS" },
- { (PROC)glMultiTexCoordPointerSGIS, "glMTexCoordPointerSGIS" },
- { (PROC)glSelectTextureSGIS, "glSelectTextureSGIS" },
- { (PROC)glSelectTextureCoordSetSGIS, "glSelectTextureCoordSetSGIS" },
-*/
- { (PROC)glActiveTextureARB, "glActiveTextureARB" },
- { (PROC)glClientActiveTextureARB, "glClientActiveTextureARB" },
- { (PROC)glMultiTexCoord1dARB, "glMultiTexCoord1dARB" },
- { (PROC)glMultiTexCoord1dvARB, "glMultiTexCoord1dvARB" },
- { (PROC)glMultiTexCoord1fARB, "glMultiTexCoord1fARB" },
- { (PROC)glMultiTexCoord1fvARB, "glMultiTexCoord1fvARB" },
- { (PROC)glMultiTexCoord1iARB, "glMultiTexCoord1iARB" },
- { (PROC)glMultiTexCoord1ivARB, "glMultiTexCoord1ivARB" },
- { (PROC)glMultiTexCoord1sARB, "glMultiTexCoord1sARB" },
- { (PROC)glMultiTexCoord1svARB, "glMultiTexCoord1svARB" },
- { (PROC)glMultiTexCoord2dARB, "glMultiTexCoord2dARB" },
- { (PROC)glMultiTexCoord2dvARB, "glMultiTexCoord2dvARB" },
- { (PROC)glMultiTexCoord2fARB, "glMultiTexCoord2fARB" },
- { (PROC)glMultiTexCoord2fvARB, "glMultiTexCoord2fvARB" },
- { (PROC)glMultiTexCoord2iARB, "glMultiTexCoord2iARB" },
- { (PROC)glMultiTexCoord2ivARB, "glMultiTexCoord2ivARB" },
- { (PROC)glMultiTexCoord2sARB, "glMultiTexCoord2sARB" },
- { (PROC)glMultiTexCoord2svARB, "glMultiTexCoord2svARB" },
- { (PROC)glMultiTexCoord3dARB, "glMultiTexCoord3dARB" },
- { (PROC)glMultiTexCoord3dvARB, "glMultiTexCoord3dvARB" },
- { (PROC)glMultiTexCoord3fARB, "glMultiTexCoord3fARB" },
- { (PROC)glMultiTexCoord3fvARB, "glMultiTexCoord3fvARB" },
- { (PROC)glMultiTexCoord3iARB, "glMultiTexCoord3iARB" },
- { (PROC)glMultiTexCoord3ivARB, "glMultiTexCoord3ivARB" },
- { (PROC)glMultiTexCoord3sARB, "glMultiTexCoord3sARB" },
- { (PROC)glMultiTexCoord3svARB, "glMultiTexCoord3svARB" },
- { (PROC)glMultiTexCoord4dARB, "glMultiTexCoord4dARB" },
- { (PROC)glMultiTexCoord4dvARB, "glMultiTexCoord4dvARB" },
- { (PROC)glMultiTexCoord4fARB, "glMultiTexCoord4fARB" },
- { (PROC)glMultiTexCoord4fvARB, "glMultiTexCoord4fvARB" },
- { (PROC)glMultiTexCoord4iARB, "glMultiTexCoord4iARB" },
- { (PROC)glMultiTexCoord4ivARB, "glMultiTexCoord4ivARB" },
- { (PROC)glMultiTexCoord4sARB, "glMultiTexCoord4sARB" },
- { (PROC)glMultiTexCoord4svARB, "glMultiTexCoord4svARB" },
-
- // Descent3 doesn't use correct string, hence this hack
- { (PROC)glMultiTexCoord4fARB, "glMultiTexCoord4f" },
-
- // Quake2 SGIS multitexture
- { (PROC)gldSelectTextureSGIS, "glSelectTextureSGIS" },
- { (PROC)gldMTexCoord2fSGIS, "glMTexCoord2fSGIS" },
- { (PROC)gldMTexCoord2fvSGIS, "glMTexCoord2fvSGIS" },
-
- { NULL, "\0" }
-};
-
-//---------------------------------------------------------------------------
-
-PROC gldGetProcAddress_DX(
- LPCSTR a)
-{
- int i;
- PROC proc = NULL;
-
- for (i=0; GLD_extList[i].proc; i++) {
- if (!strcmp(a, GLD_extList[i].name)) {
- proc = GLD_extList[i].proc;
- break;
- }
- }
-
- if (glb.bMultitexture) {
- for (i=0; GLD_multitexList[i].proc; i++) {
- if (!strcmp(a, GLD_multitexList[i].name)) {
- proc = GLD_multitexList[i].proc;
- break;
- }
- }
- }
-
- gldLogPrintf(GLDLOG_INFO, "GetProcAddress: %s (%s)", a, proc ? "OK" : "Failed");
-
- return proc;
-}
-
-//---------------------------------------------------------------------------
-
-void gldEnableExtensions_DX9(
- GLcontext *ctx)
-{
- GLuint i;
-
- // Mesa enables some extensions by default.
- // This table decides which ones we want to switch off again.
-
- // NOTE: GL_EXT_compiled_vertex_array appears broken.
-
- const char *gld_disable_extensions[] = {
-// "GL_ARB_transpose_matrix",
-// "GL_EXT_compiled_vertex_array",
-// "GL_EXT_polygon_offset",
-// "GL_EXT_rescale_normal",
- "GL_EXT_texture3D",
-// "GL_NV_texgen_reflection",
- NULL
- };
-
- const char *gld_multitex_extensions[] = {
- "GL_ARB_multitexture", // Quake 3
- NULL
- };
-
- // Quake 2 engines
- const char *szGL_SGIS_multitexture = "GL_SGIS_multitexture";
-
- const char *gld_enable_extensions[] = {
- "GL_EXT_texture_env_add", // Quake 3
- "GL_ARB_texture_env_add", // Quake 3
- NULL
- };
-
- for (i=0; gld_disable_extensions[i]; i++) {
- _mesa_disable_extension(ctx, gld_disable_extensions[i]);
- }
-
- for (i=0; gld_enable_extensions[i]; i++) {
- _mesa_enable_extension(ctx, gld_enable_extensions[i]);
- }
-
- if (glb.bMultitexture) {
- for (i=0; gld_multitex_extensions[i]; i++) {
- _mesa_enable_extension(ctx, gld_multitex_extensions[i]);
- }
-
- // GL_SGIS_multitexture
- // NOTE: Quake2 ran *slower* with this enabled, so I've
- // disabled it for now.
- // Fair bit slower on GeForce256,
- // Much slower on 3dfx Voodoo5 5500.
-// _mesa_add_extension(ctx, GL_TRUE, szGL_SGIS_multitexture, 0);
-
- }
-
- _mesa_enable_imaging_extensions(ctx);
- _mesa_enable_1_3_extensions(ctx);
- _mesa_enable_1_4_extensions(ctx);
-}
-
-//---------------------------------------------------------------------------
diff --git a/src/mesa/drivers/windows/gldirect/dx9/gld_pipeline_dx9.c b/src/mesa/drivers/windows/gldirect/dx9/gld_pipeline_dx9.c
deleted file mode 100644
index 2b272aa628..0000000000
--- a/src/mesa/drivers/windows/gldirect/dx9/gld_pipeline_dx9.c
+++ /dev/null
@@ -1,77 +0,0 @@
-/****************************************************************************
-*
-* Mesa 3-D graphics library
-* Direct3D Driver Interface
-*
-* ========================================================================
-*
-* Copyright (C) 1991-2004 SciTech Software, Inc. 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
-* SCITECH SOFTWARE INC 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.
-*
-* ======================================================================
-*
-* Language: ANSI C
-* Environment: Windows 9x/2000/XP/XBox (Win32)
-*
-* Description: Mesa transformation pipeline with GLDirect fastpath
-*
-****************************************************************************/
-
-//#include "../GLDirect.h"
-
-#include "dglcontext.h"
-#include "ddlog.h"
-#include "gld_dx9.h"
-
-#include "tnl/tnl.h"
-#include "tnl/t_context.h"
-#include "tnl/t_pipeline.h"
-
-//---------------------------------------------------------------------------
-
-extern struct tnl_pipeline_stage _gld_d3d_render_stage;
-extern struct tnl_pipeline_stage _gld_mesa_render_stage;
-
-static const struct tnl_pipeline_stage *gld_pipeline[] = {
- &_gld_d3d_render_stage, // Direct3D TnL
- &_tnl_vertex_transform_stage,
- &_tnl_normal_transform_stage,
- &_tnl_lighting_stage,
- &_tnl_fog_coordinate_stage, /* TODO: Omit fog stage. ??? */
- &_tnl_texgen_stage,
- &_tnl_texture_transform_stage,
- &_tnl_point_attenuation_stage,
- &_gld_mesa_render_stage, // Mesa TnL, D3D rendering
- 0,
-};
-
-//---------------------------------------------------------------------------
-
-void gldInstallPipeline_DX9(
- GLcontext *ctx)
-{
- // Remove any existing pipeline stages,
- // then install GLDirect pipeline stages.
-
- _tnl_destroy_pipeline(ctx);
- _tnl_install_pipeline(ctx, gld_pipeline);
-}
-
-//---------------------------------------------------------------------------
diff --git a/src/mesa/drivers/windows/gldirect/dx9/gld_primitive_dx9.c b/src/mesa/drivers/windows/gldirect/dx9/gld_primitive_dx9.c
deleted file mode 100644
index 403a9d5f86..0000000000
--- a/src/mesa/drivers/windows/gldirect/dx9/gld_primitive_dx9.c
+++ /dev/null
@@ -1,1446 +0,0 @@
-/****************************************************************************
-*
-* Mesa 3-D graphics library
-* Direct3D Driver Interface
-*
-* ========================================================================
-*
-* Copyright (C) 1991-2004 SciTech Software, Inc. 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
-* SCITECH SOFTWARE INC 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.
-*
-* ======================================================================
-*
-* Language: ANSI C
-* Environment: Windows 9x/2000/XP/XBox (Win32)
-*
-* Description: Primitive (points/lines/tris/quads) rendering
-*
-****************************************************************************/
-
-//#include "../GLDirect.h"
-
-//#include "gld_dx8.h"
-
-#include "dglcontext.h"
-#include "ddlog.h"
-#include "gld_dx9.h"
-
-#include "glheader.h"
-#include "context.h"
-#include "colormac.h"
-#include "depth.h"
-#include "extensions.h"
-#include "macros.h"
-#include "matrix.h"
-// #include "mem.h"
-//#include "mmath.h"
-#include "mtypes.h"
-#include "texformat.h"
-#include "texstore.h"
-#include "vbo/vbo.h"
-#include "swrast/swrast.h"
-#include "swrast_setup/swrast_setup.h"
-#include "swrast_setup/ss_context.h"
-#include "swrast/s_context.h"
-#include "swrast/s_depth.h"
-#include "swrast/s_lines.h"
-#include "swrast/s_triangle.h"
-#include "swrast/s_trispan.h"
-#include "tnl/tnl.h"
-#include "tnl/t_context.h"
-#include "tnl/t_pipeline.h"
-
-// Disable compiler complaints about unreferenced local variables
-#pragma warning (disable:4101)
-
-//---------------------------------------------------------------------------
-// Helper defines for primitives
-//---------------------------------------------------------------------------
-
-//static const float ooZ = 1.0f / 65536.0f; // One over Z
-
-#define GLD_COLOUR (D3DCOLOR_RGBA(swv->color[0], swv->color[1], swv->color[2], swv->color[3]))
-#define GLD_SPECULAR (D3DCOLOR_RGBA(swv->specular[0], swv->specular[1], swv->specular[2], swv->specular[3]))
-#define GLD_FLIP_Y(y) (gldCtx->dwHeight - (y))
-
-//---------------------------------------------------------------------------
-// 2D vertex setup
-//---------------------------------------------------------------------------
-
-#define GLD_SETUP_2D_VARS_POINTS \
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx); \
- GLD_driver_dx9 *gld = GLD_GET_DX9_DRIVER(gldCtx); \
- GLD_2D_VERTEX *pV = (GLD_2D_VERTEX*)gld->PB2d.pPoints; \
- SScontext *ss = SWSETUP_CONTEXT(ctx); \
- SWvertex *swv; \
- DWORD dwSpecularColour; \
- DWORD dwFlatColour
-
-#define GLD_SETUP_2D_VARS_LINES \
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx); \
- GLD_driver_dx9 *gld = GLD_GET_DX9_DRIVER(gldCtx); \
- GLD_2D_VERTEX *pV = (GLD_2D_VERTEX*)gld->PB2d.pLines; \
- SScontext *ss = SWSETUP_CONTEXT(ctx); \
- SWvertex *swv; \
- DWORD dwSpecularColour; \
- DWORD dwFlatColour
-
-#define GLD_SETUP_2D_VARS_TRIANGLES \
- BOOL bFog = ctx->Fog.Enabled; \
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx); \
- GLD_driver_dx9 *gld = GLD_GET_DX9_DRIVER(gldCtx); \
- GLD_2D_VERTEX *pV = (GLD_2D_VERTEX*)gld->PB2d.pTriangles; \
- SScontext *ss = SWSETUP_CONTEXT(ctx); \
- SWvertex *swv; \
- DWORD dwSpecularColour; \
- DWORD dwFlatColour; \
- GLuint facing = 0; \
- struct vertex_buffer *VB; \
- GLchan (*vbcolor)[4]; \
- GLchan (*vbspec)[4]
-
-#define GLD_SETUP_GET_SWVERT(s) \
- swv = &ss->verts[##s]
-
-#define GLD_SETUP_2D_VERTEX \
- pV->x = swv->win[0]; \
- pV->y = GLD_FLIP_Y(swv->win[1]); \
- pV->rhw = swv->win[3]
-
-#define GLD_SETUP_SMOOTH_COLOUR \
- pV->diffuse = GLD_COLOUR
-
-#define GLD_SETUP_GET_FLAT_COLOUR \
- dwFlatColour = GLD_COLOUR
-#define GLD_SETUP_GET_FLAT_FOG_COLOUR \
- dwFlatColour = _gldComputeFog(ctx, swv)
-
-#define GLD_SETUP_USE_FLAT_COLOUR \
- pV->diffuse = dwFlatColour
-
-#define GLD_SETUP_GET_FLAT_SPECULAR \
- dwSpecularColour= GLD_SPECULAR
-
-#define GLD_SETUP_USE_FLAT_SPECULAR \
- pV->specular = dwSpecularColour
-
-#define GLD_SETUP_DEPTH \
- pV->sz = swv->win[2] / ctx->DepthMaxF
-// pV->z = swv->win[2] * ooZ;
-
-#define GLD_SETUP_SPECULAR \
- pV->specular = GLD_SPECULAR
-
-#define GLD_SETUP_FOG \
- pV->diffuse = _gldComputeFog(ctx, swv)
-
-#define GLD_SETUP_TEX0 \
- pV->t0_u = swv->texcoord[0][0]; \
- pV->t0_v = swv->texcoord[0][1]
-
-#define GLD_SETUP_TEX1 \
- pV->t1_u = swv->texcoord[1][0]; \
- pV->t1_v = swv->texcoord[1][1]
-
-#define GLD_SETUP_LIGHTING(v) \
- if (facing == 1) { \
- pV->diffuse = D3DCOLOR_RGBA(vbcolor[##v][0], vbcolor[##v][1], vbcolor[##v][2], vbcolor[##v][3]); \
- if (vbspec) { \
- pV->specular = D3DCOLOR_RGBA(vbspec[##v][0], vbspec[##v][1], vbspec[##v][2], vbspec[##v][3]); \
- } \
- } else { \
- if (bFog) \
- GLD_SETUP_FOG; \
- else \
- GLD_SETUP_SMOOTH_COLOUR; \
- GLD_SETUP_SPECULAR; \
- }
-
-#define GLD_SETUP_GET_FLAT_LIGHTING(v) \
- if (facing == 1) { \
- dwFlatColour = D3DCOLOR_RGBA(vbcolor[##v][0], vbcolor[##v][1], vbcolor[##v][2], vbcolor[##v][3]); \
- if (vbspec) { \
- dwSpecularColour = D3DCOLOR_RGBA(vbspec[##v][0], vbspec[##v][1], vbspec[##v][2], vbspec[##v][3]); \
- } \
- }
-
-#define GLD_SETUP_TWOSIDED_LIGHTING \
- /* Two-sided lighting */ \
- if (ctx->_TriangleCaps & DD_TRI_LIGHT_TWOSIDE) { \
- SWvertex *verts = SWSETUP_CONTEXT(ctx)->verts; \
- SWvertex *v[3]; \
- GLfloat ex,ey,fx,fy,cc; \
- /* Get vars for later */ \
- VB = &TNL_CONTEXT(ctx)->vb; \
- vbcolor = (GLchan (*)[4])VB->ColorPtr[1]->data; \
- if (VB->SecondaryColorPtr[1]) { \
- vbspec = (GLchan (*)[4])VB->SecondaryColorPtr[1]->data; \
- } else { \
- vbspec = NULL; \
- } \
- v[0] = &verts[v0]; \
- v[1] = &verts[v1]; \
- v[2] = &verts[v2]; \
- ex = v[0]->win[0] - v[2]->win[0]; \
- ey = v[0]->win[1] - v[2]->win[1]; \
- fx = v[1]->win[0] - v[2]->win[0]; \
- fy = v[1]->win[1] - v[2]->win[1]; \
- cc = ex*fy - ey*fx; \
- facing = (cc < 0.0) ^ ctx->Polygon._FrontBit; \
- }
-
-//---------------------------------------------------------------------------
-// 3D vertex setup
-//---------------------------------------------------------------------------
-
-#define GLD_SETUP_3D_VARS_POINTS \
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx); \
- GLD_driver_dx9 *gld = GLD_GET_DX9_DRIVER(gldCtx); \
- GLD_3D_VERTEX *pV = (GLD_3D_VERTEX*)gld->PB3d.pPoints; \
- TNLcontext *tnl = TNL_CONTEXT(ctx); \
- struct vertex_buffer *VB = &tnl->vb; \
- GLfloat (*p4f)[4]; \
- GLfloat (*tc)[4]; \
- DWORD dwColor;
-
-#define GLD_SETUP_3D_VARS_LINES \
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx); \
- GLD_driver_dx9 *gld = GLD_GET_DX9_DRIVER(gldCtx); \
- GLD_3D_VERTEX *pV = (GLD_3D_VERTEX*)gld->PB3d.pLines; \
- TNLcontext *tnl = TNL_CONTEXT(ctx); \
- struct vertex_buffer *VB = &tnl->vb; \
- GLfloat (*p4f)[4]; \
- GLfloat (*tc)[4]; \
- DWORD dwColor;
-
-#define GLD_SETUP_3D_VARS_TRIANGLES \
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx); \
- GLD_driver_dx9 *gld = GLD_GET_DX9_DRIVER(gldCtx); \
- GLD_3D_VERTEX *pV = (GLD_3D_VERTEX*)gld->PB3d.pTriangles; \
- TNLcontext *tnl = TNL_CONTEXT(ctx); \
- struct vertex_buffer *VB = &tnl->vb; \
- GLfloat (*p4f)[4]; \
- GLfloat (*tc)[4]; \
- DWORD dwColor;
-
-#define GLD_SETUP_3D_VERTEX(v) \
- p4f = VB->ObjPtr->data; \
- pV->Position.x = p4f[##v][0]; \
- pV->Position.y = p4f[##v][1]; \
- pV->Position.z = p4f[##v][2];
-
-#define GLD_SETUP_SMOOTH_COLOUR_3D(v) \
- p4f = (GLfloat (*)[4])VB->ColorPtr[0]->data; \
- pV->Diffuse = D3DCOLOR_COLORVALUE(p4f[##v][0], p4f[##v][1], p4f[##v][2], p4f[##v][3]);
-
-
-#define GLD_SETUP_GET_FLAT_COLOUR_3D(v) \
- p4f = (GLfloat (*)[4])VB->ColorPtr[0]->data; \
- dwColor = D3DCOLOR_COLORVALUE(p4f[##v][0], p4f[##v][1], p4f[##v][2], p4f[##v][3]);
-
-#define GLD_SETUP_USE_FLAT_COLOUR_3D \
- pV->Diffuse = dwColor;
-
-#define GLD_SETUP_TEX0_3D(v) \
- if (VB->TexCoordPtr[0]) { \
- tc = VB->TexCoordPtr[0]->data; \
- pV->TexUnit0.x = tc[##v][0]; \
- pV->TexUnit0.y = tc[##v][1]; \
- }
-
-#define GLD_SETUP_TEX1_3D(v) \
- if (VB->TexCoordPtr[1]) { \
- tc = VB->TexCoordPtr[1]->data; \
- pV->TexUnit1.x = tc[##v][0]; \
- pV->TexUnit1.y = tc[##v][1]; \
- }
-
-//---------------------------------------------------------------------------
-// Helper functions
-//---------------------------------------------------------------------------
-
-__inline DWORD _gldComputeFog(
- GLcontext *ctx,
- SWvertex *swv)
-{
- // Full fog calculation.
- // Based on Mesa code.
-
- GLchan rFog, gFog, bFog;
- GLchan fR, fG, fB;
- const GLfloat f = swv->fog;
- const GLfloat g = 1.0 - f;
-
- UNCLAMPED_FLOAT_TO_CHAN(rFog, ctx->Fog.Color[RCOMP]);
- UNCLAMPED_FLOAT_TO_CHAN(gFog, ctx->Fog.Color[GCOMP]);
- UNCLAMPED_FLOAT_TO_CHAN(bFog, ctx->Fog.Color[BCOMP]);
- fR = f * swv->color[0] + g * rFog;
- fG = f * swv->color[1] + g * gFog;
- fB = f * swv->color[2] + g * bFog;
- return D3DCOLOR_RGBA(fR, fG, fB, swv->color[3]);
-}
-
-//---------------------------------------------------------------------------
-
-void gld_ResetLineStipple_DX9(
- GLcontext *ctx)
-{
- // TODO: Fake stipple with a 32x32 texture.
-}
-
-//---------------------------------------------------------------------------
-// 2D (post-transformed) primitives
-//---------------------------------------------------------------------------
-
-void gld_Points2D_DX9(
- GLcontext *ctx,
- GLuint first,
- GLuint last)
-{
- GLD_SETUP_2D_VARS_POINTS;
-
- unsigned i;
- struct vertex_buffer *VB = &TNL_CONTEXT(ctx)->vb;
-
- // _Size is already clamped to MaxPointSize and MinPointSize
- IDirect3DDevice9_SetRenderState(gld->pDev, D3DRS_POINTSIZE, *((DWORD*)&ctx->Point._Size));
-
- if (VB->Elts) {
- for (i=first; i<last; i++, pV++) {
- if (VB->ClipMask[VB->Elts[i]] == 0) {
-// _swrast_Point( ctx, &verts[VB->Elts[i]] );
- GLD_SETUP_GET_SWVERT(VB->Elts[i]);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_SMOOTH_COLOUR;
- GLD_SETUP_DEPTH;
- GLD_SETUP_SPECULAR;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- }
- }
- } else {
- GLD_SETUP_GET_SWVERT(first);
- for (i=first; i<last; i++, swv++, pV++) {
- if (VB->ClipMask[i] == 0) {
-// _swrast_Point( ctx, &verts[i] );
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_SMOOTH_COLOUR;
- GLD_SETUP_DEPTH;
- GLD_SETUP_SPECULAR;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- }
- }
- }
-
- gld->PB2d.pPoints = (BYTE*)pV;
- gld->PB2d.nPoints += (last-first);
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Line2DFlat_DX9(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1)
-{
- GLD_SETUP_2D_VARS_LINES;
-
- GLD_SETUP_GET_SWVERT(v1);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_GET_FLAT_COLOUR;
- GLD_SETUP_USE_FLAT_COLOUR;
- GLD_SETUP_GET_FLAT_SPECULAR;
- GLD_SETUP_USE_FLAT_SPECULAR;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v0);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_USE_FLAT_COLOUR;
- GLD_SETUP_USE_FLAT_SPECULAR;
- pV++;
-
- gld->PB2d.pLines = (BYTE*)pV;
- gld->PB2d.nLines++;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Line2DSmooth_DX9(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1)
-{
- GLD_SETUP_2D_VARS_LINES;
-
- GLD_SETUP_GET_SWVERT(v0);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_SMOOTH_COLOUR;
- GLD_SETUP_DEPTH;
- GLD_SETUP_SPECULAR;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v1);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_SMOOTH_COLOUR;
- GLD_SETUP_SPECULAR;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- pV++;
-
- gld->PB2d.pLines = (BYTE*)pV;
- gld->PB2d.nLines++;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Triangle2DFlat_DX9(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1,
- GLuint v2)
-{
- GLD_SETUP_2D_VARS_TRIANGLES;
-
- GLD_SETUP_GET_SWVERT(v2);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_GET_FLAT_COLOUR;
- GLD_SETUP_USE_FLAT_COLOUR;
- pV++;;
-
- GLD_SETUP_GET_SWVERT(v0);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_USE_FLAT_COLOUR;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v1);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_USE_FLAT_COLOUR;
- pV++;
-
- gld->PB2d.pTriangles = (BYTE*)pV;
- gld->PB2d.nTriangles++;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Triangle2DSmooth_DX9(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1,
- GLuint v2)
-{
-
- GLD_SETUP_2D_VARS_TRIANGLES;
-
- GLD_SETUP_GET_SWVERT(v0);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_SMOOTH_COLOUR;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v1);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_SMOOTH_COLOUR;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v2);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_SMOOTH_COLOUR;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- pV++;
-
- gld->PB2d.pTriangles = (BYTE*)pV;
- gld->PB2d.nTriangles++;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Triangle2DFlatExtras_DX9(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1,
- GLuint v2)
-{
- GLD_SETUP_2D_VARS_TRIANGLES;
-
- GLD_SETUP_TWOSIDED_LIGHTING(v2);
-
- GLD_SETUP_GET_SWVERT(v2);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- if (bFog)
- GLD_SETUP_GET_FLAT_FOG_COLOUR;
- else
- GLD_SETUP_GET_FLAT_COLOUR;
- GLD_SETUP_GET_FLAT_SPECULAR;
- GLD_SETUP_GET_FLAT_LIGHTING(v2);
- GLD_SETUP_USE_FLAT_COLOUR;
- GLD_SETUP_USE_FLAT_SPECULAR;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v0);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_USE_FLAT_COLOUR;
- GLD_SETUP_USE_FLAT_SPECULAR;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v1);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_USE_FLAT_COLOUR;
- GLD_SETUP_USE_FLAT_SPECULAR;
- pV++;
-
- gld->PB2d.pTriangles = (BYTE*)pV;
- gld->PB2d.nTriangles++;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Triangle2DSmoothExtras_DX9(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1,
- GLuint v2)
-{
- GLD_SETUP_2D_VARS_TRIANGLES;
-
- GLD_SETUP_TWOSIDED_LIGHTING(v0);
-
- GLD_SETUP_GET_SWVERT(v0);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_LIGHTING(v0);
- pV++;
-
- GLD_SETUP_GET_SWVERT(v1);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_LIGHTING(v1);
- pV++;
-
- GLD_SETUP_GET_SWVERT(v2);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_LIGHTING(v2);
- pV++;
-
- gld->PB2d.pTriangles = (BYTE*)pV;
- gld->PB2d.nTriangles++;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Quad2DFlat_DX9(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1,
- GLuint v2,
- GLuint v3)
-{
- GLD_SETUP_2D_VARS_TRIANGLES;
-
- GLD_SETUP_GET_SWVERT(v3);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_GET_FLAT_COLOUR;
- GLD_SETUP_USE_FLAT_COLOUR;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v0);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_USE_FLAT_COLOUR;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v1);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_USE_FLAT_COLOUR;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v1);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_USE_FLAT_COLOUR;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v2);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_USE_FLAT_COLOUR;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v3);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_USE_FLAT_COLOUR;
- pV++;
-
- gld->PB2d.pTriangles = (BYTE*)pV;
- gld->PB2d.nTriangles += 2;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Quad2DSmooth_DX9(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1,
- GLuint v2,
- GLuint v3)
-{
- GLD_SETUP_2D_VARS_TRIANGLES;
-
- GLD_SETUP_GET_SWVERT(v0);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_SMOOTH_COLOUR;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v1);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_SMOOTH_COLOUR;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v2);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_SMOOTH_COLOUR;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v2);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_SMOOTH_COLOUR;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v3);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_SMOOTH_COLOUR;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v0);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_SMOOTH_COLOUR;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- pV++;
-
- gld->PB2d.pTriangles = (BYTE*)pV;
- gld->PB2d.nTriangles += 2;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Quad2DFlatExtras_DX9(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1,
- GLuint v2,
- GLuint v3)
-{
- GLD_SETUP_2D_VARS_TRIANGLES;
-
- GLD_SETUP_TWOSIDED_LIGHTING(v3);
-
- GLD_SETUP_GET_SWVERT(v3);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- if (bFog)
- GLD_SETUP_GET_FLAT_FOG_COLOUR;
- else
- GLD_SETUP_GET_FLAT_COLOUR;
- GLD_SETUP_GET_FLAT_SPECULAR;
- GLD_SETUP_GET_FLAT_LIGHTING(v3);
- GLD_SETUP_USE_FLAT_COLOUR;
- GLD_SETUP_USE_FLAT_SPECULAR;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v0);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_USE_FLAT_COLOUR;
- GLD_SETUP_USE_FLAT_SPECULAR;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v1);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_USE_FLAT_COLOUR;
- GLD_SETUP_USE_FLAT_SPECULAR;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v1);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_USE_FLAT_COLOUR;
- GLD_SETUP_USE_FLAT_SPECULAR;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v2);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_USE_FLAT_COLOUR;
- GLD_SETUP_USE_FLAT_SPECULAR;
- pV++;
-
- GLD_SETUP_GET_SWVERT(v3);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_USE_FLAT_COLOUR;
- GLD_SETUP_USE_FLAT_SPECULAR;
- pV++;
-
- gld->PB2d.pTriangles = (BYTE*)pV;
- gld->PB2d.nTriangles += 2;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Quad2DSmoothExtras_DX9(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1,
- GLuint v2,
- GLuint v3)
-{
- GLD_SETUP_2D_VARS_TRIANGLES;
-
- GLD_SETUP_TWOSIDED_LIGHTING(v0);
-
- GLD_SETUP_GET_SWVERT(v0);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_LIGHTING(v0);
- pV++;
-
- GLD_SETUP_GET_SWVERT(v1);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_LIGHTING(v1);
- pV++;
-
- GLD_SETUP_GET_SWVERT(v2);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_LIGHTING(v2);
- pV++;
-
- GLD_SETUP_GET_SWVERT(v2);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_LIGHTING(v2);
- pV++;
-
- GLD_SETUP_GET_SWVERT(v3);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_LIGHTING(v3);
- pV++;
-
- GLD_SETUP_GET_SWVERT(v0);
- GLD_SETUP_2D_VERTEX;
- GLD_SETUP_DEPTH;
- GLD_SETUP_TEX0;
- GLD_SETUP_TEX1;
- GLD_SETUP_LIGHTING(v0);
- pV++;
-
- gld->PB2d.pTriangles = (BYTE*)pV;
- gld->PB2d.nTriangles += 2;
-}
-
-//---------------------------------------------------------------------------
-// 3D (pre-transformed) primitives
-//---------------------------------------------------------------------------
-
-void gld_Points3D_DX9(
- GLcontext *ctx,
- GLuint first,
- GLuint last)
-{
- GLD_SETUP_3D_VARS_POINTS
-
- unsigned i;
-// struct vertex_buffer *VB = &TNL_CONTEXT(ctx)->vb;
-
- // _Size is already clamped to MaxPointSize and MinPointSize
- IDirect3DDevice9_SetRenderState(gld->pDev, D3DRS_POINTSIZE, *((DWORD*)&ctx->Point._Size));
-
- if (VB->Elts) {
- for (i=first; i<last; i++, pV++) {
- if (VB->ClipMask[VB->Elts[i]] == 0) {
-// _swrast_Point( ctx, &verts[VB->Elts[i]] );
-// GLD_SETUP_GET_SWVERT(VB->Elts[i]);
- GLD_SETUP_3D_VERTEX(VB->Elts[i])
- GLD_SETUP_SMOOTH_COLOUR_3D(i)
- GLD_SETUP_TEX0_3D(i)
- GLD_SETUP_TEX1_3D(i)
- }
- }
- } else {
-// GLD_SETUP_GET_SWVERT(first);
- for (i=first; i<last; i++, pV++) {
- if (VB->ClipMask[i] == 0) {
-// _swrast_Point( ctx, &verts[i] );
- GLD_SETUP_3D_VERTEX(i)
- GLD_SETUP_SMOOTH_COLOUR_3D(i)
- GLD_SETUP_TEX0_3D(i)
- GLD_SETUP_TEX1_3D(i)
- }
- }
- }
-/*
- for (i=first; i<last; i++, pV++) {
- GLD_SETUP_3D_VERTEX(i)
- GLD_SETUP_SMOOTH_COLOUR_3D(i)
- GLD_SETUP_TEX0_3D(i)
- GLD_SETUP_TEX1_3D(i)
- }
-*/
- gld->PB3d.pPoints = (BYTE*)pV;
- gld->PB3d.nPoints += (last-first);
-}
-
-//---------------------------------------------------------------------------
-// Line functions
-//---------------------------------------------------------------------------
-
-void gld_Line3DFlat_DX9(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1)
-{
- GLD_SETUP_3D_VARS_LINES
-
- GLD_SETUP_3D_VERTEX(v1)
- GLD_SETUP_GET_FLAT_COLOUR_3D(v1)
- GLD_SETUP_USE_FLAT_COLOUR_3D
- GLD_SETUP_TEX0_3D(v1)
- GLD_SETUP_TEX1_3D(v1)
- pV++;
-
- GLD_SETUP_3D_VERTEX(v0)
- GLD_SETUP_USE_FLAT_COLOUR_3D
- GLD_SETUP_TEX0_3D(v0)
- GLD_SETUP_TEX1_3D(v0)
- pV++;
-
- gld->PB3d.pLines = (BYTE*)pV;
- gld->PB3d.nLines++;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Line3DSmooth_DX9(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1)
-{
- GLD_SETUP_3D_VARS_LINES
-
- GLD_SETUP_3D_VERTEX(v1)
- GLD_SETUP_SMOOTH_COLOUR_3D(v1)
- GLD_SETUP_TEX0_3D(v1)
- GLD_SETUP_TEX1_3D(v1)
- pV++;
-
- GLD_SETUP_3D_VERTEX(v0)
- GLD_SETUP_SMOOTH_COLOUR_3D(v0)
- GLD_SETUP_TEX0_3D(v0)
- GLD_SETUP_TEX1_3D(v0)
- pV++;
-
- gld->PB3d.pLines = (BYTE*)pV;
- gld->PB3d.nLines++;
-}
-
-//---------------------------------------------------------------------------
-// Triangle functions
-//---------------------------------------------------------------------------
-
-void gld_Triangle3DFlat_DX9(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1,
- GLuint v2)
-{
- GLD_SETUP_3D_VARS_TRIANGLES
-
- GLD_SETUP_3D_VERTEX(v2)
- GLD_SETUP_TEX0_3D(v2)
- GLD_SETUP_TEX1_3D(v2)
- GLD_SETUP_GET_FLAT_COLOUR_3D(v2)
- GLD_SETUP_USE_FLAT_COLOUR_3D
- pV++;
-
- GLD_SETUP_3D_VERTEX(v0)
- GLD_SETUP_TEX0_3D(v0)
- GLD_SETUP_TEX1_3D(v0)
- GLD_SETUP_USE_FLAT_COLOUR_3D
- pV++;
-
- GLD_SETUP_3D_VERTEX(v1)
- GLD_SETUP_TEX0_3D(v1)
- GLD_SETUP_TEX1_3D(v1)
- GLD_SETUP_USE_FLAT_COLOUR_3D
- pV++;
-
- gld->PB3d.pTriangles = (BYTE*)pV;
- gld->PB3d.nTriangles++;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Triangle3DSmooth_DX9(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1,
- GLuint v2)
-{
- GLD_SETUP_3D_VARS_TRIANGLES
-
- GLD_SETUP_3D_VERTEX(v0)
- GLD_SETUP_SMOOTH_COLOUR_3D(v0)
- GLD_SETUP_TEX0_3D(v0)
- GLD_SETUP_TEX1_3D(v0)
- pV++;
-
- GLD_SETUP_3D_VERTEX(v1)
- GLD_SETUP_SMOOTH_COLOUR_3D(v1)
- GLD_SETUP_TEX0_3D(v1)
- GLD_SETUP_TEX1_3D(v1)
- pV++;
-
- GLD_SETUP_3D_VERTEX(v2)
- GLD_SETUP_SMOOTH_COLOUR_3D(v2)
- GLD_SETUP_TEX0_3D(v2)
- GLD_SETUP_TEX1_3D(v2)
- pV++;
-
- gld->PB3d.pTriangles = (BYTE*)pV;
- gld->PB3d.nTriangles++;
-}
-
-//---------------------------------------------------------------------------
-// Quad functions
-//---------------------------------------------------------------------------
-
-void gld_Quad3DFlat_DX9(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1,
- GLuint v2,
- GLuint v3)
-{
- GLD_SETUP_3D_VARS_TRIANGLES
-
- GLD_SETUP_3D_VERTEX(v3)
- GLD_SETUP_GET_FLAT_COLOUR_3D(v3)
- GLD_SETUP_USE_FLAT_COLOUR_3D
- GLD_SETUP_TEX0_3D(v3)
- GLD_SETUP_TEX1_3D(v3)
- pV++;
-
- GLD_SETUP_3D_VERTEX(v0)
- GLD_SETUP_USE_FLAT_COLOUR_3D
- GLD_SETUP_TEX0_3D(v0)
- GLD_SETUP_TEX1_3D(v0)
- pV++;
-
- GLD_SETUP_3D_VERTEX(v1)
- GLD_SETUP_USE_FLAT_COLOUR_3D
- GLD_SETUP_TEX0_3D(v1)
- GLD_SETUP_TEX1_3D(v1)
- pV++;
-
- GLD_SETUP_3D_VERTEX(v1)
- GLD_SETUP_USE_FLAT_COLOUR_3D
- GLD_SETUP_TEX0_3D(v1)
- GLD_SETUP_TEX1_3D(v1)
- pV++;
-
- GLD_SETUP_3D_VERTEX(v2)
- GLD_SETUP_USE_FLAT_COLOUR_3D
- GLD_SETUP_TEX0_3D(v2)
- GLD_SETUP_TEX1_3D(v2)
- pV++;
-
- GLD_SETUP_3D_VERTEX(v3)
- GLD_SETUP_USE_FLAT_COLOUR_3D
- GLD_SETUP_TEX0_3D(v3)
- GLD_SETUP_TEX1_3D(v3)
- pV++;
-
- gld->PB3d.pTriangles = (BYTE*)pV;
- gld->PB3d.nTriangles += 2;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Quad3DSmooth_DX9(
- GLcontext *ctx,
- GLuint v0,
- GLuint v1,
- GLuint v2,
- GLuint v3)
-{
- GLD_SETUP_3D_VARS_TRIANGLES
-
- GLD_SETUP_3D_VERTEX(v0)
- GLD_SETUP_SMOOTH_COLOUR_3D(v0)
- GLD_SETUP_TEX0_3D(v0)
- GLD_SETUP_TEX1_3D(v0)
- pV++;
-
- GLD_SETUP_3D_VERTEX(v1)
- GLD_SETUP_SMOOTH_COLOUR_3D(v1)
- GLD_SETUP_TEX0_3D(v1)
- GLD_SETUP_TEX1_3D(v1)
- pV++;
-
- GLD_SETUP_3D_VERTEX(v2)
- GLD_SETUP_SMOOTH_COLOUR_3D(v2)
- GLD_SETUP_TEX0_3D(v2)
- GLD_SETUP_TEX1_3D(v2)
- pV++;
-
- GLD_SETUP_3D_VERTEX(v2)
- GLD_SETUP_SMOOTH_COLOUR_3D(v2)
- GLD_SETUP_TEX0_3D(v2)
- GLD_SETUP_TEX1_3D(v2)
- pV++;
-
- GLD_SETUP_3D_VERTEX(v3)
- GLD_SETUP_SMOOTH_COLOUR_3D(v3)
- GLD_SETUP_TEX0_3D(v3)
- GLD_SETUP_TEX1_3D(v3)
- pV++;
-
- GLD_SETUP_3D_VERTEX(v0)
- GLD_SETUP_SMOOTH_COLOUR_3D(v0)
- GLD_SETUP_TEX0_3D(v0)
- GLD_SETUP_TEX1_3D(v0)
- pV++;
-
- gld->PB3d.pTriangles = (BYTE*)pV;
- gld->PB3d.nTriangles += 2;
-}
-
-//---------------------------------------------------------------------------
-// Vertex setup for two-sided-lighting vertex shader
-//---------------------------------------------------------------------------
-
-/*
-
-void gld_Points2DTwoside_DX9(GLcontext *ctx, GLuint first, GLuint last)
-{
- // NOTE: Two-sided lighting does not apply to Points
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Line2DFlatTwoside_DX9(GLcontext *ctx, GLuint v0, GLuint v1)
-{
- // NOTE: Two-sided lighting does not apply to Lines
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Line2DSmoothTwoside_DX9(GLcontext *ctx, GLuint v0, GLuint v1)
-{
- // NOTE: Two-sided lighting does not apply to Lines
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Triangle2DFlatTwoside_DX9(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2)
-{
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Triangle2DSmoothTwoside_DX9(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx9 *gld = GLD_GET_DX9_DRIVER(gldCtx);
- GLD_TWOSIDED_VERTEX *pV = (GLD_TWOSIDED_VERTEX*)gld->PBtwosidelight.pTriangles;
- SScontext *ss = SWSETUP_CONTEXT(ctx);
- SWvertex *swv;
- DWORD dwSpecularColour;
- DWORD dwFlatColour;
- GLuint facing = 0;
- struct vertex_buffer *VB;
- GLchan (*vbcolor)[4];
- GLchan (*vbspec)[4];
-
- // Reciprocal of DepthMax
- const float ooDepthMax = 1.0f / ctx->DepthMaxF;
-
- // 1st vert
- swv = &ss->verts[v0];
- pV->Position.x = swv->win[0];
- pV->Position.y = GLD_FLIP_Y(swv->win[1]);
- pV->Position.z = swv->win[2] * ooDepthMax;
- pV->Position.w = swv->win[3];
- pV->TexUnit0.x = swv->texcoord[0][0];
- pV->TexUnit0.y = swv->texcoord[0][1];
- pV->TexUnit1.x = swv->texcoord[1][0];
- pV->TexUnit1.y = swv->texcoord[1][1];
- pV->FrontDiffuse = GLD_COLOUR;
- pV->FrontSpecular = GLD_SPECULAR;
- pV++;
-
- // 2nd vert
- swv = &ss->verts[v1];
- pV->Position.x = swv->win[0];
- pV->Position.y = GLD_FLIP_Y(swv->win[1]);
- pV->Position.z = swv->win[2] * ooDepthMax;
- pV->Position.w = swv->win[3];
- pV->TexUnit0.x = swv->texcoord[0][0];
- pV->TexUnit0.y = swv->texcoord[0][1];
- pV->TexUnit1.x = swv->texcoord[1][0];
- pV->TexUnit1.y = swv->texcoord[1][1];
- pV->FrontDiffuse = GLD_COLOUR;
- pV->FrontSpecular = GLD_SPECULAR;
- pV++;
-
- // 3rd vert
- swv = &ss->verts[v2];
- pV->Position.x = swv->win[0];
- pV->Position.y = GLD_FLIP_Y(swv->win[1]);
- pV->Position.z = swv->win[2] * ooDepthMax;
- pV->Position.w = swv->win[3];
- pV->TexUnit0.x = swv->texcoord[0][0];
- pV->TexUnit0.y = swv->texcoord[0][1];
- pV->TexUnit1.x = swv->texcoord[1][0];
- pV->TexUnit1.y = swv->texcoord[1][1];
- pV->FrontDiffuse = GLD_COLOUR;
- pV->FrontSpecular = GLD_SPECULAR;
- pV++;
-
- gld->PBtwosidelight.pTriangles = (BYTE*)pV;
- gld->PBtwosidelight.nTriangles++;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Quad2DFlatTwoside_DX9(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2, GLuint v3)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx9 *gld = GLD_GET_DX9_DRIVER(gldCtx);
- GLD_TWOSIDED_VERTEX *pV = (GLD_TWOSIDED_VERTEX*)gld->PBtwosidelight.pTriangles;
- SScontext *ss = SWSETUP_CONTEXT(ctx);
- SWvertex *swv;
- DWORD dwSpecularColour;
- DWORD dwFlatColour;
- GLuint facing = 0;
- struct vertex_buffer *VB;
- GLchan (*vbcolor)[4];
- GLchan (*vbspec)[4];
-
- // Reciprocal of DepthMax
- const float ooDepthMax = 1.0f / ctx->DepthMaxF;
-
- // 1st vert
- swv = &ss->verts[v0];
- pV->Position.x = swv->win[0];
- pV->Position.y = GLD_FLIP_Y(swv->win[1]);
- pV->Position.z = swv->win[2] * ooDepthMax;
- pV->Position.w = swv->win[3];
- pV->TexUnit0.x = swv->texcoord[0][0];
- pV->TexUnit0.y = swv->texcoord[0][1];
- pV->TexUnit1.x = swv->texcoord[1][0];
- pV->TexUnit1.y = swv->texcoord[1][1];
- pV->FrontDiffuse = GLD_COLOUR;
- pV->FrontSpecular = GLD_SPECULAR;
- pV++;
-
- // 2nd vert
- swv = &ss->verts[v1];
- pV->Position.x = swv->win[0];
- pV->Position.y = GLD_FLIP_Y(swv->win[1]);
- pV->Position.z = swv->win[2] * ooDepthMax;
- pV->Position.w = swv->win[3];
- pV->TexUnit0.x = swv->texcoord[0][0];
- pV->TexUnit0.y = swv->texcoord[0][1];
- pV->TexUnit1.x = swv->texcoord[1][0];
- pV->TexUnit1.y = swv->texcoord[1][1];
- pV->FrontDiffuse = GLD_COLOUR;
- pV->FrontSpecular = GLD_SPECULAR;
- pV++;
-
- // 3rd vert
- swv = &ss->verts[v2];
- pV->Position.x = swv->win[0];
- pV->Position.y = GLD_FLIP_Y(swv->win[1]);
- pV->Position.z = swv->win[2] * ooDepthMax;
- pV->Position.w = swv->win[3];
- pV->TexUnit0.x = swv->texcoord[0][0];
- pV->TexUnit0.y = swv->texcoord[0][1];
- pV->TexUnit1.x = swv->texcoord[1][0];
- pV->TexUnit1.y = swv->texcoord[1][1];
- pV->FrontDiffuse = GLD_COLOUR;
- pV->FrontSpecular = GLD_SPECULAR;
- pV++;
-
- // 4th vert
- swv = &ss->verts[v2];
- pV->Position.x = swv->win[0];
- pV->Position.y = GLD_FLIP_Y(swv->win[1]);
- pV->Position.z = swv->win[2] * ooDepthMax;
- pV->Position.w = swv->win[3];
- pV->TexUnit0.x = swv->texcoord[0][0];
- pV->TexUnit0.y = swv->texcoord[0][1];
- pV->TexUnit1.x = swv->texcoord[1][0];
- pV->TexUnit1.y = swv->texcoord[1][1];
- pV->FrontDiffuse = GLD_COLOUR;
- pV->FrontSpecular = GLD_SPECULAR;
- pV++;
-
- // 5th vert
- swv = &ss->verts[v3];
- pV->Position.x = swv->win[0];
- pV->Position.y = GLD_FLIP_Y(swv->win[1]);
- pV->Position.z = swv->win[2] * ooDepthMax;
- pV->Position.w = swv->win[3];
- pV->TexUnit0.x = swv->texcoord[0][0];
- pV->TexUnit0.y = swv->texcoord[0][1];
- pV->TexUnit1.x = swv->texcoord[1][0];
- pV->TexUnit1.y = swv->texcoord[1][1];
- pV->FrontDiffuse = GLD_COLOUR;
- pV->FrontSpecular = GLD_SPECULAR;
- pV++;
-
- // 6th vert
- swv = &ss->verts[v0];
- pV->Position.x = swv->win[0];
- pV->Position.y = GLD_FLIP_Y(swv->win[1]);
- pV->Position.z = swv->win[2] * ooDepthMax;
- pV->Position.w = swv->win[3];
- pV->TexUnit0.x = swv->texcoord[0][0];
- pV->TexUnit0.y = swv->texcoord[0][1];
- pV->TexUnit1.x = swv->texcoord[1][0];
- pV->TexUnit1.y = swv->texcoord[1][1];
- pV->FrontDiffuse = GLD_COLOUR;
- pV->FrontSpecular = GLD_SPECULAR;
- pV++;
-
- gld->PBtwosidelight.pTriangles = (BYTE*)pV;
- gld->PBtwosidelight.nTriangles += 2;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Quad2DSmoothTwoside_DX9(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2, GLuint v3)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx9 *gld = GLD_GET_DX9_DRIVER(gldCtx);
- GLD_TWOSIDED_VERTEX *pV = (GLD_TWOSIDED_VERTEX*)gld->PBtwosidelight.pTriangles;
- SScontext *ss = SWSETUP_CONTEXT(ctx);
- SWvertex *swv;
- DWORD dwSpecularColour;
- DWORD dwFlatColour;
- GLuint facing = 0;
- struct vertex_buffer *VB;
- GLchan (*vbcolor)[4];
- GLchan (*vbspec)[4];
-
- // Reciprocal of DepthMax
- const float ooDepthMax = 1.0f / ctx->DepthMaxF;
-
- // 1st vert
- swv = &ss->verts[v0];
- pV->Position.x = swv->win[0];
- pV->Position.y = GLD_FLIP_Y(swv->win[1]);
- pV->Position.z = swv->win[2] * ooDepthMax;
- pV->Position.w = swv->win[3];
- pV->TexUnit0.x = swv->texcoord[0][0];
- pV->TexUnit0.y = swv->texcoord[0][1];
- pV->TexUnit1.x = swv->texcoord[1][0];
- pV->TexUnit1.y = swv->texcoord[1][1];
- pV->FrontDiffuse = GLD_COLOUR;
- pV->FrontSpecular = GLD_SPECULAR;
- pV++;
-
- // 2nd vert
- swv = &ss->verts[v1];
- pV->Position.x = swv->win[0];
- pV->Position.y = GLD_FLIP_Y(swv->win[1]);
- pV->Position.z = swv->win[2] * ooDepthMax;
- pV->Position.w = swv->win[3];
- pV->TexUnit0.x = swv->texcoord[0][0];
- pV->TexUnit0.y = swv->texcoord[0][1];
- pV->TexUnit1.x = swv->texcoord[1][0];
- pV->TexUnit1.y = swv->texcoord[1][1];
- pV->FrontDiffuse = GLD_COLOUR;
- pV->FrontSpecular = GLD_SPECULAR;
- pV++;
-
- // 3rd vert
- swv = &ss->verts[v2];
- pV->Position.x = swv->win[0];
- pV->Position.y = GLD_FLIP_Y(swv->win[1]);
- pV->Position.z = swv->win[2] * ooDepthMax;
- pV->Position.w = swv->win[3];
- pV->TexUnit0.x = swv->texcoord[0][0];
- pV->TexUnit0.y = swv->texcoord[0][1];
- pV->TexUnit1.x = swv->texcoord[1][0];
- pV->TexUnit1.y = swv->texcoord[1][1];
- pV->FrontDiffuse = GLD_COLOUR;
- pV->FrontSpecular = GLD_SPECULAR;
- pV++;
-
- // 4th vert
- swv = &ss->verts[v2];
- pV->Position.x = swv->win[0];
- pV->Position.y = GLD_FLIP_Y(swv->win[1]);
- pV->Position.z = swv->win[2] * ooDepthMax;
- pV->Position.w = swv->win[3];
- pV->TexUnit0.x = swv->texcoord[0][0];
- pV->TexUnit0.y = swv->texcoord[0][1];
- pV->TexUnit1.x = swv->texcoord[1][0];
- pV->TexUnit1.y = swv->texcoord[1][1];
- pV->FrontDiffuse = GLD_COLOUR;
- pV->FrontSpecular = GLD_SPECULAR;
- pV++;
-
- // 5th vert
- swv = &ss->verts[v3];
- pV->Position.x = swv->win[0];
- pV->Position.y = GLD_FLIP_Y(swv->win[1]);
- pV->Position.z = swv->win[2] * ooDepthMax;
- pV->Position.w = swv->win[3];
- pV->TexUnit0.x = swv->texcoord[0][0];
- pV->TexUnit0.y = swv->texcoord[0][1];
- pV->TexUnit1.x = swv->texcoord[1][0];
- pV->TexUnit1.y = swv->texcoord[1][1];
- pV->FrontDiffuse = GLD_COLOUR;
- pV->FrontSpecular = GLD_SPECULAR;
- pV++;
-
- // 6th vert
- swv = &ss->verts[v0];
- pV->Position.x = swv->win[0];
- pV->Position.y = GLD_FLIP_Y(swv->win[1]);
- pV->Position.z = swv->win[2] * ooDepthMax;
- pV->Position.w = swv->win[3];
- pV->TexUnit0.x = swv->texcoord[0][0];
- pV->TexUnit0.y = swv->texcoord[0][1];
- pV->TexUnit1.x = swv->texcoord[1][0];
- pV->TexUnit1.y = swv->texcoord[1][1];
- pV->FrontDiffuse = GLD_COLOUR;
- pV->FrontSpecular = GLD_SPECULAR;
- pV++;
-
- gld->PBtwosidelight.pTriangles = (BYTE*)pV;
- gld->PBtwosidelight.nTriangles += 2;
-}
-
-//---------------------------------------------------------------------------
-
-*/
diff --git a/src/mesa/drivers/windows/gldirect/dx9/gld_texture_dx9.c b/src/mesa/drivers/windows/gldirect/dx9/gld_texture_dx9.c
deleted file mode 100644
index 5a82235616..0000000000
--- a/src/mesa/drivers/windows/gldirect/dx9/gld_texture_dx9.c
+++ /dev/null
@@ -1,2104 +0,0 @@
-/****************************************************************************
-*
-* Mesa 3-D graphics library
-* Direct3D Driver Interface
-*
-* ========================================================================
-*
-* Copyright (C) 1991-2004 SciTech Software, Inc. 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
-* SCITECH SOFTWARE INC 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.
-*
-* ======================================================================
-*
-* Language: ANSI C
-* Environment: Windows 9x/2000/XP/XBox (Win32)
-*
-* Description: Texture / Bitmap functions
-*
-****************************************************************************/
-
-#include "dglcontext.h"
-#include "ddlog.h"
-#include "gld_dx9.h"
-
-#include <d3dx9tex.h>
-
-#include "texformat.h"
-#include "colormac.h"
-#include "texstore.h"
-#include "image.h"
-// #include "mem.h"
-
-//---------------------------------------------------------------------------
-
-#define GLD_FLIP_HEIGHT(y,h) (gldCtx->dwHeight - (y) - (h))
-
-//---------------------------------------------------------------------------
-// 1D texture fetch
-//---------------------------------------------------------------------------
-
-#define CHAN_SRC( t, i, j, k, sz ) \
- ((GLchan *)(t)->Data + (i) * (sz))
-#define UBYTE_SRC( t, i, j, k, sz ) \
- ((GLubyte *)(t)->Data + (i) * (sz))
-#define USHORT_SRC( t, i, j, k ) \
- ((GLushort *)(t)->Data + (i))
-#define FLOAT_SRC( t, i, j, k ) \
- ((GLfloat *)(t)->Data + (i))
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_1d_texel_X8R8G8B8(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLchan *texel )
-{
- const GLchan *src = CHAN_SRC( texImage, i, j, k, 4 );
- GLchan *rgba = (GLchan *)texel;
- rgba[RCOMP] = src[2];
- rgba[GCOMP] = src[1];
- rgba[BCOMP] = src[0];
- rgba[ACOMP] = CHAN_MAX;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_1d_texel_f_X8R8G8B8(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLfloat *texel )
-{
- const GLchan *src = CHAN_SRC( texImage, i, j, k, 4 );
- texel[RCOMP] = CHAN_TO_FLOAT(src[0]);
- texel[GCOMP] = CHAN_TO_FLOAT(src[1]);
- texel[BCOMP] = CHAN_TO_FLOAT(src[2]);
- texel[ACOMP] = 1.f;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_1d_texel_X1R5G5B5(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLchan *texel )
-{
- const GLushort *src = USHORT_SRC( texImage, i, j, k );
- GLchan *rgba = (GLchan *) texel; GLushort s = *src;
- rgba[RCOMP] = UBYTE_TO_CHAN( ((s >> 10) & 0xf8) * 255 / 0xf8 );
- rgba[GCOMP] = UBYTE_TO_CHAN( ((s >> 5) & 0xf8) * 255 / 0xf8 );
- rgba[BCOMP] = UBYTE_TO_CHAN( ((s ) & 0xf8) * 255 / 0xf8 );
- rgba[ACOMP] = CHAN_MAX;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_1d_texel_f_X1R5G5B5(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLfloat *texel )
-{
- const GLushort *src = USHORT_SRC( texImage, i, j, k );
- GLushort s = *src;
- texel[RCOMP] = UBYTE_TO_FLOAT( ((s >> 10) & 0xf8) * 255 / 0xf8 );
- texel[GCOMP] = UBYTE_TO_FLOAT( ((s >> 5) & 0xf8) * 255 / 0xf8 );
- texel[BCOMP] = UBYTE_TO_FLOAT( ((s ) & 0xf8) * 255 / 0xf8 );
- texel[ACOMP] = 1.f;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_1d_texel_X4R4G4B4(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLchan *texel )
-{
- const GLushort *src = USHORT_SRC( texImage, i, j, k );
- GLchan *rgba = (GLchan *) texel; GLushort s = *src;
- rgba[RCOMP] = UBYTE_TO_CHAN( ((s >> 8) & 0xf) * 255 / 0xf );
- rgba[GCOMP] = UBYTE_TO_CHAN( ((s >> 4) & 0xf) * 255 / 0xf );
- rgba[BCOMP] = UBYTE_TO_CHAN( ((s ) & 0xf) * 255 / 0xf );
- rgba[ACOMP] = CHAN_MAX;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_1d_texel_f_X4R4G4B4(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLfloat *texel )
-{
- const GLushort *src = USHORT_SRC( texImage, i, j, k );
- GLushort s = *src;
- texel[RCOMP] = UBYTE_TO_FLOAT( ((s >> 8) & 0xf) * 255 / 0xf );
- texel[GCOMP] = UBYTE_TO_FLOAT( ((s >> 4) & 0xf) * 255 / 0xf );
- texel[BCOMP] = UBYTE_TO_FLOAT( ((s ) & 0xf) * 255 / 0xf );
- texel[ACOMP] = 1.f;
-}
-
-//---------------------------------------------------------------------------
-
-#undef CHAN_SRC
-#undef UBYTE_SRC
-#undef USHORT_SRC
-#undef FLOAT_SRC
-
-//---------------------------------------------------------------------------
-// 2D texture fetch
-//---------------------------------------------------------------------------
-
-#define CHAN_SRC( t, i, j, k, sz ) \
- ((GLchan *)(t)->Data + ((t)->Width * (j) + (i)) * (sz))
-#define UBYTE_SRC( t, i, j, k, sz ) \
- ((GLubyte *)(t)->Data + ((t)->Width * (j) + (i)) * (sz))
-#define USHORT_SRC( t, i, j, k ) \
- ((GLushort *)(t)->Data + ((t)->Width * (j) + (i)))
-#define FLOAT_SRC( t, i, j, k ) \
- ((GLfloat *)(t)->Data + ((t)->Width * (j) + (i)))
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_2d_texel_X8R8G8B8(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLchan *texel )
-{
- const GLchan *src = CHAN_SRC( texImage, i, j, k, 4 );
- GLchan *rgba = (GLchan *)texel;
- rgba[RCOMP] = src[2];
- rgba[GCOMP] = src[1];
- rgba[BCOMP] = src[0];
- rgba[ACOMP] = CHAN_MAX;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_2d_texel_f_X8R8G8B8(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLfloat *texel )
-{
- const GLchan *src = CHAN_SRC( texImage, i, j, k, 4 );
- texel[RCOMP] = CHAN_TO_FLOAT(src[0]);
- texel[GCOMP] = CHAN_TO_FLOAT(src[1]);
- texel[BCOMP] = CHAN_TO_FLOAT(src[2]);
- texel[ACOMP] = 1.f;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_2d_texel_X1R5G5B5(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLchan *texel )
-{
- const GLushort *src = USHORT_SRC( texImage, i, j, k );
- GLchan *rgba = (GLchan *) texel; GLushort s = *src;
- rgba[RCOMP] = UBYTE_TO_CHAN( ((s >> 10) & 0xf8) * 255 / 0xf8 );
- rgba[GCOMP] = UBYTE_TO_CHAN( ((s >> 5) & 0xf8) * 255 / 0xf8 );
- rgba[BCOMP] = UBYTE_TO_CHAN( ((s ) & 0xf8) * 255 / 0xf8 );
- rgba[ACOMP] = CHAN_MAX;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_2d_texel_f_X1R5G5B5(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLfloat *texel )
-{
- const GLushort *src = USHORT_SRC( texImage, i, j, k );
- GLushort s = *src;
- texel[RCOMP] = UBYTE_TO_FLOAT( ((s >> 10) & 0xf8) * 255 / 0xf8 );
- texel[GCOMP] = UBYTE_TO_FLOAT( ((s >> 5) & 0xf8) * 255 / 0xf8 );
- texel[BCOMP] = UBYTE_TO_FLOAT( ((s ) & 0xf8) * 255 / 0xf8 );
- texel[ACOMP] = 1.f;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_2d_texel_X4R4G4B4(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLchan *texel )
-{
- const GLushort *src = USHORT_SRC( texImage, i, j, k );
- GLchan *rgba = (GLchan *) texel; GLushort s = *src;
- rgba[RCOMP] = UBYTE_TO_CHAN( ((s >> 8) & 0xf) * 255 / 0xf );
- rgba[GCOMP] = UBYTE_TO_CHAN( ((s >> 4) & 0xf) * 255 / 0xf );
- rgba[BCOMP] = UBYTE_TO_CHAN( ((s ) & 0xf) * 255 / 0xf );
- rgba[ACOMP] = CHAN_MAX;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_2d_texel_f_X4R4G4B4(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLfloat *texel )
-{
- const GLushort *src = USHORT_SRC( texImage, i, j, k );
- GLushort s = *src;
- texel[RCOMP] = UBYTE_TO_FLOAT( ((s >> 8) & 0xf) * 255 / 0xf );
- texel[GCOMP] = UBYTE_TO_FLOAT( ((s >> 4) & 0xf) * 255 / 0xf );
- texel[BCOMP] = UBYTE_TO_FLOAT( ((s ) & 0xf) * 255 / 0xf );
- texel[ACOMP] = 1.f;
-}
-
-//---------------------------------------------------------------------------
-
-#undef CHAN_SRC
-#undef UBYTE_SRC
-#undef USHORT_SRC
-#undef FLOAT_SRC
-
-//---------------------------------------------------------------------------
-// 3D texture fetch
-//---------------------------------------------------------------------------
-
-#define CHAN_SRC( t, i, j, k, sz ) \
- (GLchan *)(t)->Data + (((t)->Height * (k) + (j)) * \
- (t)->Width + (i)) * (sz)
-#define UBYTE_SRC( t, i, j, k, sz ) \
- ((GLubyte *)(t)->Data + (((t)->Height * (k) + (j)) * \
- (t)->Width + (i)) * (sz))
-#define USHORT_SRC( t, i, j, k ) \
- ((GLushort *)(t)->Data + (((t)->Height * (k) + (j)) * \
- (t)->Width + (i)))
-#define FLOAT_SRC( t, i, j, k ) \
- ((GLfloat *)(t)->Data + (((t)->Height * (k) + (j)) * \
- (t)->Width + (i)))
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_3d_texel_X8R8G8B8(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLchan *texel )
-{
- const GLchan *src = CHAN_SRC( texImage, i, j, k, 4 );
- GLchan *rgba = (GLchan *)texel;
- rgba[RCOMP] = src[2];
- rgba[GCOMP] = src[1];
- rgba[BCOMP] = src[0];
- rgba[ACOMP] = CHAN_MAX;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_3d_texel_f_X8R8G8B8(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLfloat *texel )
-{
- const GLchan *src = CHAN_SRC( texImage, i, j, k, 4 );
- texel[RCOMP] = CHAN_TO_FLOAT(src[0]);
- texel[GCOMP] = CHAN_TO_FLOAT(src[1]);
- texel[BCOMP] = CHAN_TO_FLOAT(src[2]);
- texel[ACOMP] = 1.f;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_3d_texel_X1R5G5B5(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLchan *texel )
-{
- const GLushort *src = USHORT_SRC( texImage, i, j, k );
- GLchan *rgba = (GLchan *) texel; GLushort s = *src;
- rgba[RCOMP] = UBYTE_TO_CHAN( ((s >> 10) & 0xf8) * 255 / 0xf8 );
- rgba[GCOMP] = UBYTE_TO_CHAN( ((s >> 5) & 0xf8) * 255 / 0xf8 );
- rgba[BCOMP] = UBYTE_TO_CHAN( ((s ) & 0xf8) * 255 / 0xf8 );
- rgba[ACOMP] = CHAN_MAX;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_3d_texel_f_X1R5G5B5(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLfloat *texel )
-{
- const GLushort *src = USHORT_SRC( texImage, i, j, k );
- GLushort s = *src;
- texel[RCOMP] = UBYTE_TO_FLOAT( ((s >> 10) & 0xf8) * 255 / 0xf8 );
- texel[GCOMP] = UBYTE_TO_FLOAT( ((s >> 5) & 0xf8) * 255 / 0xf8 );
- texel[BCOMP] = UBYTE_TO_FLOAT( ((s ) & 0xf8) * 255 / 0xf8 );
- texel[ACOMP] = 1.f;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_3d_texel_X4R4G4B4(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLchan *texel )
-{
- const GLushort *src = USHORT_SRC( texImage, i, j, k );
- GLchan *rgba = (GLchan *) texel; GLushort s = *src;
- rgba[RCOMP] = UBYTE_TO_CHAN( ((s >> 8) & 0xf) * 255 / 0xf );
- rgba[GCOMP] = UBYTE_TO_CHAN( ((s >> 4) & 0xf) * 255 / 0xf );
- rgba[BCOMP] = UBYTE_TO_CHAN( ((s ) & 0xf) * 255 / 0xf );
- rgba[ACOMP] = CHAN_MAX;
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_fetch_3d_texel_f_X4R4G4B4(
- const struct gl_texture_image *texImage,
- GLint i, GLint j, GLint k, GLfloat *texel )
-{
- const GLushort *src = USHORT_SRC( texImage, i, j, k );
- GLushort s = *src;
- texel[RCOMP] = UBYTE_TO_FLOAT( ((s >> 8) & 0xf) * 255 / 0xf );
- texel[GCOMP] = UBYTE_TO_FLOAT( ((s >> 4) & 0xf) * 255 / 0xf );
- texel[BCOMP] = UBYTE_TO_FLOAT( ((s ) & 0xf) * 255 / 0xf );
- texel[ACOMP] = 1.f;
-}
-
-//---------------------------------------------------------------------------
-
-#undef CHAN_SRC
-#undef UBYTE_SRC
-#undef USHORT_SRC
-#undef FLOAT_SRC
-
-//---------------------------------------------------------------------------
-// Direct3D texture formats that have no Mesa equivalent
-//---------------------------------------------------------------------------
-
-const struct gl_texture_format _gld_texformat_X8R8G8B8 = {
- MESA_FORMAT_ARGB8888, /* MesaFormat */
- GL_RGBA, /* BaseFormat */
- GL_UNSIGNED_NORMALIZED_ARB, /* DataType */
- 8, /* RedBits */
- 8, /* GreenBits */
- 8, /* BlueBits */
- 0, /* AlphaBits */
- 0, /* LuminanceBits */
- 0, /* IntensityBits */
- 0, /* IndexBits */
- 0, /* DepthBits */
- 4, /* TexelBytes */
- _mesa_texstore_argb8888, /* StoreTexImageFunc */
- gld_fetch_1d_texel_X8R8G8B8, /* FetchTexel1D */
- gld_fetch_2d_texel_X8R8G8B8, /* FetchTexel2D */
- gld_fetch_3d_texel_X8R8G8B8, /* FetchTexel3D */
- gld_fetch_1d_texel_f_X8R8G8B8, /* FetchTexel1Df */
- gld_fetch_2d_texel_f_X8R8G8B8, /* FetchTexel2Df */
- gld_fetch_3d_texel_f_X8R8G8B8, /* FetchTexel3Df */
-};
-
-const struct gl_texture_format _gld_texformat_X1R5G5B5 = {
- MESA_FORMAT_ARGB1555, /* MesaFormat */
- GL_RGBA, /* BaseFormat */
- GL_UNSIGNED_NORMALIZED_ARB, /* DataType */
- 5, /* RedBits */
- 5, /* GreenBits */
- 5, /* BlueBits */
- 0, /* AlphaBits */
- 0, /* LuminanceBits */
- 0, /* IntensityBits */
- 0, /* IndexBits */
- 0, /* DepthBits */
- 2, /* TexelBytes */
- _mesa_texstore_argb1555, /* StoreTexImageFunc */
- gld_fetch_1d_texel_X1R5G5B5, /* FetchTexel1D */
- gld_fetch_2d_texel_X1R5G5B5, /* FetchTexel2D */
- gld_fetch_3d_texel_X1R5G5B5, /* FetchTexel3D */
- gld_fetch_1d_texel_f_X1R5G5B5, /* FetchTexel1Df */
- gld_fetch_2d_texel_f_X1R5G5B5, /* FetchTexel2Df */
- gld_fetch_3d_texel_f_X1R5G5B5, /* FetchTexel3Df */
-};
-
-const struct gl_texture_format _gld_texformat_X4R4G4B4 = {
- MESA_FORMAT_ARGB4444, /* MesaFormat */
- GL_RGBA, /* BaseFormat */
- GL_UNSIGNED_NORMALIZED_ARB, /* DataType */
- 4, /* RedBits */
- 4, /* GreenBits */
- 4, /* BlueBits */
- 0, /* AlphaBits */
- 0, /* LuminanceBits */
- 0, /* IntensityBits */
- 0, /* IndexBits */
- 0, /* DepthBits */
- 2, /* TexelBytes */
- _mesa_texstore_argb4444, /* StoreTexImageFunc */
- gld_fetch_1d_texel_X4R4G4B4, /* FetchTexel1D */
- gld_fetch_2d_texel_X4R4G4B4, /* FetchTexel2D */
- gld_fetch_3d_texel_X4R4G4B4, /* FetchTexel3D */
- gld_fetch_1d_texel_f_X4R4G4B4, /* FetchTexel1Df */
- gld_fetch_2d_texel_f_X4R4G4B4, /* FetchTexel2Df */
- gld_fetch_3d_texel_f_X4R4G4B4, /* FetchTexel3Df */
-};
-
-//---------------------------------------------------------------------------
-// Texture unit constants
-//---------------------------------------------------------------------------
-
-// List of possible combinations of texture environments.
-// Example: GLD_TEXENV_MODULATE_RGBA means
-// GL_MODULATE, GL_RGBA base internal format.
-#define GLD_TEXENV_DECAL_RGB 0
-#define GLD_TEXENV_DECAL_RGBA 1
-#define GLD_TEXENV_DECAL_ALPHA 2
-#define GLD_TEXENV_REPLACE_RGB 3
-#define GLD_TEXENV_REPLACE_RGBA 4
-#define GLD_TEXENV_REPLACE_ALPHA 5
-#define GLD_TEXENV_MODULATE_RGB 6
-#define GLD_TEXENV_MODULATE_RGBA 7
-#define GLD_TEXENV_MODULATE_ALPHA 8
-#define GLD_TEXENV_BLEND_RGB 9
-#define GLD_TEXENV_BLEND_RGBA 10
-#define GLD_TEXENV_BLEND_ALPHA 11
-#define GLD_TEXENV_ADD_RGB 12
-#define GLD_TEXENV_ADD_RGBA 13
-#define GLD_TEXENV_ADD_ALPHA 14
-
-// Per-stage (i.e. per-unit) texture environment
-typedef struct {
- DWORD ColorArg1; // Colour argument 1
- D3DTEXTUREOP ColorOp; // Colour operation
- DWORD ColorArg2; // Colour argument 2
- DWORD AlphaArg1; // Alpha argument 1
- D3DTEXTUREOP AlphaOp; // Alpha operation
- DWORD AlphaArg2; // Alpha argument 2
-} GLD_texenv;
-
-// TODO: Do we really need to set ARG1 and ARG2 every time?
-// They seem to always be TEXTURE and CURRENT respectively.
-
-// C = Colour out
-// A = Alpha out
-// Ct = Colour from Texture
-// Cf = Colour from fragment (diffuse)
-// At = Alpha from Texture
-// Af = Alpha from fragment (diffuse)
-// Cc = GL_TEXTURE_ENV_COLOUR (GL_BLEND)
-const GLD_texenv gldTexEnv[] = {
- // DECAL_RGB: C=Ct, A=Af
- {D3DTA_TEXTURE, D3DTOP_SELECTARG1, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_SELECTARG2, D3DTA_CURRENT},
- // DECAL_RGBA: C=Cf(1-At)+CtAt, A=Af
- {D3DTA_TEXTURE, D3DTOP_BLENDTEXTUREALPHA, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_SELECTARG2, D3DTA_CURRENT},
- // DECAL_ALPHA: <undefined> use DECAL_RGB
- {D3DTA_TEXTURE, D3DTOP_SELECTARG1, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_SELECTARG2, D3DTA_CURRENT},
-
- // REPLACE_RGB: C=Ct, A=Af
- {D3DTA_TEXTURE, D3DTOP_SELECTARG1, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_SELECTARG2, D3DTA_CURRENT},
- // REPLACE_RGBA: C=Ct, A=At
- {D3DTA_TEXTURE, D3DTOP_SELECTARG1, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_SELECTARG1, D3DTA_CURRENT},
- // REPLACE_ALPHA: C=Cf, A=At
- {D3DTA_TEXTURE, D3DTOP_SELECTARG2, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_SELECTARG1, D3DTA_CURRENT},
-
- // MODULATE_RGB: C=CfCt, A=Af
- {D3DTA_TEXTURE, D3DTOP_MODULATE, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_SELECTARG2, D3DTA_CURRENT},
- // MODULATE_RGBA: C=CfCt, A=AfAt
- {D3DTA_TEXTURE, D3DTOP_MODULATE, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_MODULATE, D3DTA_CURRENT},
- // MODULATE_ALPHA: C=Cf, A=AfAt
- {D3DTA_TEXTURE, D3DTOP_SELECTARG2, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_MODULATE, D3DTA_CURRENT},
-
- // BLEND_RGB: C=Cf(1-Ct)+CcCt, A=Af
- {D3DTA_TEXTURE, D3DTOP_LERP, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_SELECTARG2, D3DTA_CURRENT},
- // BLEND_RGBA: C=Cf(1-Ct)+CcCt, A=AfAt
- {D3DTA_TEXTURE, D3DTOP_LERP, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_MODULATE, D3DTA_CURRENT},
- // BLEND_ALPHA: C=Cf, A=AfAt
- {D3DTA_TEXTURE, D3DTOP_SELECTARG2, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_MODULATE, D3DTA_CURRENT},
-
- // ADD_RGB: C=Cf+Ct, A=Af
- {D3DTA_TEXTURE, D3DTOP_ADD, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_SELECTARG2, D3DTA_CURRENT},
- // ADD_RGBA: C=Cf+Ct, A=AfAt
- {D3DTA_TEXTURE, D3DTOP_ADD, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_MODULATE, D3DTA_CURRENT},
- // ADD_ALPHA: C=Cf, A=AfAt
- {D3DTA_TEXTURE, D3DTOP_SELECTARG2, D3DTA_CURRENT,
- D3DTA_TEXTURE, D3DTOP_MODULATE, D3DTA_CURRENT},
-};
-
-//---------------------------------------------------------------------------
-
-D3DTEXTUREADDRESS _gldConvertWrap(
- GLenum wrap)
-{
- return (wrap == GL_CLAMP) ? D3DTADDRESS_CLAMP : D3DTADDRESS_WRAP;
-}
-
-//---------------------------------------------------------------------------
-
-D3DTEXTUREFILTERTYPE _gldConvertMagFilter(
- GLenum magfilter)
-{
- return (magfilter == GL_LINEAR) ? D3DTEXF_LINEAR : D3DTEXF_POINT;
-}
-
-//---------------------------------------------------------------------------
-
-void _gldConvertMinFilter(
- GLenum minfilter,
- D3DTEXTUREFILTERTYPE *min_filter,
- D3DTEXTUREFILTERTYPE *mip_filter)
-{
- switch (minfilter) {
- case GL_NEAREST:
- *min_filter = D3DTEXF_POINT;
- *mip_filter = D3DTEXF_NONE;
- break;
- case GL_LINEAR:
- *min_filter = D3DTEXF_LINEAR;
- *mip_filter = D3DTEXF_NONE;
- break;
- case GL_NEAREST_MIPMAP_NEAREST:
- *min_filter = D3DTEXF_POINT;
- *mip_filter = D3DTEXF_POINT;
- break;
- case GL_LINEAR_MIPMAP_NEAREST:
- *min_filter = D3DTEXF_LINEAR;
- *mip_filter = D3DTEXF_POINT;
- break;
- case GL_NEAREST_MIPMAP_LINEAR:
- *min_filter = D3DTEXF_POINT;
- *mip_filter = D3DTEXF_LINEAR;
- break;
- case GL_LINEAR_MIPMAP_LINEAR:
- *min_filter = D3DTEXF_LINEAR;
- *mip_filter = D3DTEXF_LINEAR;
- break;
- }
-}
-
-//---------------------------------------------------------------------------
-
-D3DFORMAT _gldGLFormatToD3DFormat(
- GLenum internalFormat)
-{
- switch (internalFormat) {
- case GL_INTENSITY:
- case GL_INTENSITY4:
- case GL_INTENSITY8:
- case GL_INTENSITY12:
- case GL_INTENSITY16:
- // LUNIMANCE != INTENSITY, but D3D doesn't have I8 textures
- return D3DFMT_L8;
- case 1:
- case GL_LUMINANCE:
- case GL_LUMINANCE4:
- case GL_LUMINANCE8:
- case GL_LUMINANCE12:
- case GL_LUMINANCE16:
- return D3DFMT_L8;
- case GL_ALPHA:
- case GL_ALPHA4:
- case GL_ALPHA8:
- case GL_ALPHA12:
- case GL_ALPHA16:
- return D3DFMT_A8;
- case GL_COLOR_INDEX:
- case GL_COLOR_INDEX1_EXT:
- case GL_COLOR_INDEX2_EXT:
- case GL_COLOR_INDEX4_EXT:
- case GL_COLOR_INDEX8_EXT:
- case GL_COLOR_INDEX12_EXT:
- case GL_COLOR_INDEX16_EXT:
- return D3DFMT_X8R8G8B8;
- case 2:
- case GL_LUMINANCE_ALPHA:
- case GL_LUMINANCE4_ALPHA4:
- case GL_LUMINANCE6_ALPHA2:
- case GL_LUMINANCE8_ALPHA8:
- case GL_LUMINANCE12_ALPHA4:
- case GL_LUMINANCE12_ALPHA12:
- case GL_LUMINANCE16_ALPHA16:
- return D3DFMT_A8L8;
- case GL_R3_G3_B2:
- // TODO: Mesa does not support RGB332 internally
- return D3DFMT_X4R4G4B4; //D3DFMT_R3G3B2;
- case GL_RGB4:
- return D3DFMT_X4R4G4B4;
- case GL_RGB5:
- return D3DFMT_X1R5G5B5;
- case 3:
- case GL_RGB:
- case GL_RGB8:
- case GL_RGB10:
- case GL_RGB12:
- case GL_RGB16:
- return D3DFMT_R8G8B8;
- case GL_RGBA4:
- return D3DFMT_A4R4G4B4;
- case 4:
- case GL_RGBA:
- case GL_RGBA2:
- case GL_RGBA8:
- case GL_RGB10_A2:
- case GL_RGBA12:
- case GL_RGBA16:
- return D3DFMT_A8R8G8B8;
- case GL_RGB5_A1:
- return D3DFMT_A1R5G5B5;
- }
-
- // Return an acceptable default
- return D3DFMT_A8R8G8B8;
-}
-
-//---------------------------------------------------------------------------
-
-GLenum _gldDecodeBaseFormat(
- IDirect3DTexture9 *pTex)
-{
- // Examine Direct3D texture and return base OpenGL internal texture format
- // NOTE: We can't use any base format info from Mesa because D3D might have
- // used a different texture format when we used D3DXCreateTexture().
-
- // Base internal format is one of (Red Book p355):
- // GL_ALPHA,
- // GL_LUMINANCE,
- // GL_LUMINANCE_ALPHA,
- // GL_INTENSITY,
- // GL_RGB,
- // GL_RGBA
-
- // NOTE: INTENSITY not used (not supported by Direct3D)
- // LUMINANCE has same texture functions as RGB
- // LUMINANCE_ALPHA has same texture functions as RGBA
-
- // TODO: cache format instead of using GetLevelDesc()
- D3DSURFACE_DESC desc;
- _GLD_DX9_TEX(GetLevelDesc(pTex, 0, &desc));
-
- switch (desc.Format) {
- case D3DFMT_R8G8B8:
- case D3DFMT_X8R8G8B8:
- case D3DFMT_R5G6B5:
- case D3DFMT_X1R5G5B5:
- case D3DFMT_R3G3B2:
- case D3DFMT_X4R4G4B4:
- case D3DFMT_P8:
- case D3DFMT_L8:
- return GL_RGB;
- case D3DFMT_A8R8G8B8:
- case D3DFMT_A1R5G5B5:
- case D3DFMT_A4R4G4B4:
- case D3DFMT_A8R3G3B2:
- case D3DFMT_A8P8:
- case D3DFMT_A8L8:
- case D3DFMT_A4L4:
- return GL_RGBA;
- case D3DFMT_A8:
- return GL_ALPHA;
- // Compressed texture formats. Need to check these...
- case D3DFMT_DXT1:
- return GL_RGBA;
- case D3DFMT_DXT2:
- return GL_RGB;
- case D3DFMT_DXT3:
- return GL_RGBA;
- case D3DFMT_DXT4:
- return GL_RGB;
- case D3DFMT_DXT5:
- return GL_RGBA;
- }
-
- // Fell through. Return arbitary default.
- return GL_RGBA;
-}
-
-//---------------------------------------------------------------------------
-
-const struct gl_texture_format* _gldMesaFormatForD3DFormat(
- D3DFORMAT d3dfmt)
-{
- switch (d3dfmt) {
- case D3DFMT_A8R8G8B8:
- return &_mesa_texformat_argb8888;
- case D3DFMT_R8G8B8:
- return &_mesa_texformat_rgb888;
- case D3DFMT_R5G6B5:
- return &_mesa_texformat_rgb565;
- case D3DFMT_A4R4G4B4:
- return &_mesa_texformat_argb4444;
- case D3DFMT_A1R5G5B5:
- return &_mesa_texformat_argb1555;
- case D3DFMT_A8L8:
- return &_mesa_texformat_al88;
- case D3DFMT_R3G3B2:
- return &_mesa_texformat_rgb332;
- case D3DFMT_A8:
- return &_mesa_texformat_a8;
- case D3DFMT_L8:
- return &_mesa_texformat_l8;
- case D3DFMT_X8R8G8B8:
- return &_gld_texformat_X8R8G8B8;
- case D3DFMT_X1R5G5B5:
- return &_gld_texformat_X1R5G5B5;
- case D3DFMT_X4R4G4B4:
- return &_gld_texformat_X4R4G4B4;
- }
-
- // If we reach here then we've made an error somewhere else
- // by allowing a format that is not supported.
- assert(0);
-
- return NULL; // Shut up compiler warning
-}
-
-//---------------------------------------------------------------------------
-// Copy* functions
-//---------------------------------------------------------------------------
-
-void gldCopyTexImage1D_DX9(
- GLcontext *ctx,
- GLenum target, GLint level,
- GLenum internalFormat,
- GLint x, GLint y,
- GLsizei width, GLint border )
-{
- // TODO
-}
-
-//---------------------------------------------------------------------------
-
-void gldCopyTexImage2D_DX9(
- GLcontext *ctx,
- GLenum target,
- GLint level,
- GLenum internalFormat,
- GLint x,
- GLint y,
- GLsizei width,
- GLsizei height,
- GLint border)
-{
- // TODO
-}
-
-//---------------------------------------------------------------------------
-
-void gldCopyTexSubImage1D_DX9(
- GLcontext *ctx,
- GLenum target, GLint level,
- GLint xoffset, GLint x, GLint y, GLsizei width )
-{
- // TODO
-}
-
-//---------------------------------------------------------------------------
-
-void gldCopyTexSubImage2D_DX9(
- GLcontext *ctx,
- GLenum target,
- GLint level,
- GLint xoffset,
- GLint yoffset,
- GLint x,
- GLint y,
- GLsizei width,
- GLsizei height)
-{
- // TODO
-}
-
-//---------------------------------------------------------------------------
-
-void gldCopyTexSubImage3D_DX9(
- GLcontext *ctx,
- GLenum target,
- GLint level,
- GLint xoffset,
- GLint yoffset,
- GLint zoffset,
- GLint x,
- GLint y,
- GLsizei width,
- GLsizei height )
-{
- // TODO ?
-}
-
-//---------------------------------------------------------------------------
-// Bitmap/Pixel functions
-//---------------------------------------------------------------------------
-
-#define GLD_FLIP_Y(y) (gldCtx->dwHeight - (y))
-
-#define _GLD_FVF_IMAGE (D3DFVF_XYZRHW | D3DFVF_TEX1)
-
-typedef struct {
- FLOAT x, y; // 2D raster coords
- FLOAT z; // depth value
- FLOAT rhw; // reciprocal homogenous W (always 1.0f)
- FLOAT tu, tv; // texture coords
-} _GLD_IMAGE_VERTEX;
-
-//---------------------------------------------------------------------------
-
-HRESULT _gldDrawPixels(
- GLcontext *ctx,
- BOOL bChromakey, // Alpha test for glBitmap() images
- GLint x, // GL x position
- GLint y, // GL y position (needs flipping)
- GLsizei width, // Width of input image
- GLsizei height, // Height of input image
- IDirect3DSurface9 *pImage)
-{
- //
- // Draw input image as texture implementing PixelZoom and clipping.
- // Any fragment operations currently enabled will be used.
- //
-
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx9 *gld = GLD_GET_DX9_DRIVER(gldCtx);
-
- IDirect3DTexture9 *pTexture;
- D3DSURFACE_DESC d3dsd;
- IDirect3DSurface9 *pSurface;
- _GLD_IMAGE_VERTEX v[4];
- HRESULT hr;
-
- float ZoomWidth, ZoomHeight;
- float ScaleWidth, ScaleHeight;
-
- // Create a texture to hold image
- hr = D3DXCreateTexture(
- gld->pDev,
- width, height,
- 1, // miplevels
- 0, // usage
- D3DFMT_A8R8G8B8, // format
- D3DPOOL_MANAGED, // pool
- &pTexture);
- if (FAILED(hr))
- return hr;
-
- hr = IDirect3DTexture9_GetSurfaceLevel(pTexture, 0, &pSurface);
- if (FAILED(hr)) {
- IDirect3DTexture9_Release(pTexture);
- return hr;
- }
-
- // Copy image into texture
- hr = D3DXLoadSurfaceFromSurface(
- pSurface, NULL, NULL, // Dest surface
- pImage, NULL, NULL, // Src surface
- D3DX_FILTER_NONE,
- 0);
- IDirect3DSurface9_Release(pSurface);
- if (FAILED(hr)) {
- IDirect3DTexture9_Release(pTexture);
- return hr;
- }
-
- //
- // Set up the quad like this (ascii-art ahead!)
- //
- // 3--2
- // | |
- // 0--1
- //
- //
-
- // Set depth
- v[0].z = v[1].z = v[2].z = v[3].z = ctx->Current.RasterPos[2];
- // Set Reciprocal Homogenous W
- v[0].rhw = v[1].rhw = v[2].rhw = v[3].rhw = 1.0f;
-
- // Set texcoords
- // Examine texture size - if different to input width and height
- // then we'll need to munge the texcoords to fit.
- IDirect3DTexture9_GetLevelDesc(pTexture, 0, &d3dsd);
- ScaleWidth = (float)width / (float)d3dsd.Width;
- ScaleHeight = (float)height / (float)d3dsd.Height;
- v[0].tu = 0.0f; v[0].tv = 0.0f;
- v[1].tu = ScaleWidth; v[1].tv = 0.0f;
- v[2].tu = ScaleWidth; v[2].tv = ScaleHeight;
- v[3].tu = 0.0f; v[3].tv = ScaleHeight;
-
- // Set raster positions
- ZoomWidth = (float)width * ctx->Pixel.ZoomX;
- ZoomHeight = (float)height * ctx->Pixel.ZoomY;
-
- v[0].x = x; v[0].y = GLD_FLIP_Y(y);
- v[1].x = x+ZoomWidth; v[1].y = GLD_FLIP_Y(y);
- v[2].x = x+ZoomWidth; v[2].y = GLD_FLIP_Y(y+ZoomHeight);
- v[3].x = x; v[3].y = GLD_FLIP_Y(y+ZoomHeight);
-
- // Draw image with full HW acceleration
- // NOTE: Be nice to use a State Block for all this state...
- IDirect3DDevice9_SetTexture(gld->pDev, 0, pTexture);
- IDirect3DDevice9_SetRenderState(gld->pDev, D3DRS_CULLMODE, D3DCULL_NONE);
- IDirect3DDevice9_SetRenderState(gld->pDev, D3DRS_CLIPPING, TRUE);
-
-// IDirect3DDevice9_SetTextureStageState(gld->pDev, 0, D3DTSS_MINFILTER, D3DTEXF_POINT);
-// IDirect3DDevice9_SetTextureStageState(gld->pDev, 0, D3DTSS_MIPFILTER, D3DTEXF_POINT);
-// IDirect3DDevice9_SetTextureStageState(gld->pDev, 0, D3DTSS_MAGFILTER, D3DTEXF_POINT);
-// IDirect3DDevice9_SetTextureStageState(gld->pDev, 0, D3DTSS_ADDRESSU, D3DTADDRESS_CLAMP);
-// IDirect3DDevice9_SetTextureStageState(gld->pDev, 0, D3DTSS_ADDRESSV, D3DTADDRESS_CLAMP);
- IDirect3DDevice9_SetSamplerState(gld->pDev, 0, D3DSAMP_MINFILTER, D3DTEXF_POINT);
- IDirect3DDevice9_SetSamplerState(gld->pDev, 0, D3DSAMP_MIPFILTER, D3DTEXF_POINT);
- IDirect3DDevice9_SetSamplerState(gld->pDev, 0, D3DSAMP_MAGFILTER, D3DTEXF_POINT);
- IDirect3DDevice9_SetSamplerState(gld->pDev, 0, D3DSAMP_ADDRESSU, D3DTADDRESS_CLAMP);
- IDirect3DDevice9_SetSamplerState(gld->pDev, 0, D3DSAMP_ADDRESSV, D3DTADDRESS_CLAMP);
-
- IDirect3DDevice9_SetTextureStageState(gld->pDev, 0, D3DTSS_COLOROP, D3DTOP_SELECTARG1);
- IDirect3DDevice9_SetTextureStageState(gld->pDev, 0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1);
- IDirect3DDevice9_SetTextureStageState(gld->pDev, 0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
- IDirect3DDevice9_SetTextureStageState(gld->pDev, 0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
- IDirect3DDevice9_SetTextureStageState(gld->pDev, 1, D3DTSS_COLOROP, D3DTOP_DISABLE);
- IDirect3DDevice9_SetTextureStageState(gld->pDev, 1, D3DTSS_ALPHAOP, D3DTOP_DISABLE);
-
- IDirect3DDevice9_SetVertexShader(gld->pDev, NULL);
- IDirect3DDevice9_SetFVF(gld->pDev, _GLD_FVF_IMAGE);
-
- //
- // Emulate Chromakey with an Alpha Test.
- // [Alpha Test is more widely supported anyway]
- //
- if (bChromakey) {
- // Switch on alpha testing
- IDirect3DDevice9_SetRenderState(gld->pDev, D3DRS_ALPHATESTENABLE, TRUE);
- // Fragment passes is alpha is greater than reference value
- IDirect3DDevice9_SetRenderState(gld->pDev, D3DRS_ALPHAFUNC, D3DCMP_GREATER);
- // Set alpha reference value between Bitmap alpha values of
- // zero (transparent) and one (opaque).
- IDirect3DDevice9_SetRenderState(gld->pDev, D3DRS_ALPHAREF, 0x7f);
- }
-
- IDirect3DDevice9_DrawPrimitiveUP(gld->pDev, D3DPT_TRIANGLEFAN, 2, &v, sizeof(_GLD_IMAGE_VERTEX));
-
- // Release texture
- IDirect3DDevice9_SetTexture(gld->pDev, 0, NULL);
- IDirect3DTexture9_Release(pTexture);
-
- // Reset state to before we messed it up
- FLUSH_VERTICES(ctx, _NEW_ALL);
-
- return S_OK;
-}
-
-//---------------------------------------------------------------------------
-
-void gld_DrawPixels_DX9(
- GLcontext *ctx,
- GLint x, GLint y, GLsizei width, GLsizei height,
- GLenum format, GLenum type,
- const struct gl_pixelstore_attrib *unpack,
- const GLvoid *pixels )
-{
- GLD_context *gldCtx;
- GLD_driver_dx9 *gld;
-
- IDirect3DSurface9 *pImage;
- HRESULT hr;
- D3DLOCKED_RECT d3dLockedRect;
-
- const struct gl_texture_format *MesaFormat;
-
- MesaFormat = _mesa_choose_tex_format(ctx, format, format, type);
-
- // Mesa does not currently handle this format.
- if (format == GL_BGR)
- return;
-
- gldCtx = GLD_GET_CONTEXT(ctx);
- gld = GLD_GET_DX9_DRIVER(gldCtx);
-
- hr = IDirect3DDevice9_CreateOffscreenPlainSurface(
- gld->pDev,
- width,
- height,
- D3DFMT_A8R8G8B8,
- D3DPOOL_SCRATCH,
- &pImage,
- NULL);
- if (FAILED(hr)) {
- return;
- }
-
- //
- // Use Mesa to fill in image
- //
-
- // Lock all of surface
- hr = IDirect3DSurface9_LockRect(pImage, &d3dLockedRect, NULL, 0);
- if (FAILED(hr)) {
- IDirect3DSurface9_Release(pImage);
- return;
- }
-
- // unpack image, apply transfer ops and store directly in texture
- MesaFormat->StoreImage(
- ctx,
- 2,
- GL_RGBA,
- &_mesa_texformat_argb8888,
- d3dLockedRect.pBits,
- width, height, 1, 0, 0, 0,
- d3dLockedRect.Pitch,
- 0, /* dstImageStride */
- format, type, pixels, unpack);
-
- IDirect3DSurface9_UnlockRect(pImage);
-
- _gldDrawPixels(ctx, FALSE, x, y, width, height, pImage);
-
- IDirect3DSurface9_Release(pImage);
-}
-
-//---------------------------------------------------------------------------
-
-void gld_ReadPixels_DX9(
- GLcontext *ctx,
- GLint x, GLint y, GLsizei width, GLsizei height,
- GLenum format, GLenum type,
- const struct gl_pixelstore_attrib *pack,
- GLvoid *dest)
-{
-
- GLD_context *gldCtx;
- GLD_driver_dx9 *gld;
-
- IDirect3DSurface9 *pBackbuffer = NULL;
- IDirect3DSurface9 *pNativeImage = NULL;
- IDirect3DSurface9 *pCanonicalImage = NULL;
-
- D3DSURFACE_DESC d3dsd;
- RECT rcSrc; // Source rect
- POINT ptDst; // Dest point
- HRESULT hr;
- D3DLOCKED_RECT d3dLockedRect;
- struct gl_pixelstore_attrib srcPacking;
- int i;
- GLint DstRowStride;
- const struct gl_texture_format *MesaFormat;
-
- switch (format) {
- case GL_STENCIL_INDEX:
- case GL_DEPTH_COMPONENT:
- return;
- }
-
- MesaFormat = _mesa_choose_tex_format(ctx, format, format, type);
- DstRowStride = _mesa_image_row_stride(pack, width, format, type);
-
- gldCtx = GLD_GET_CONTEXT(ctx);
- gld = GLD_GET_DX9_DRIVER(gldCtx);
-
- // Get backbuffer
- hr = IDirect3DDevice9_GetBackBuffer(
- gld->pDev,
- 0, // First swapchain
- 0, // First backbuffer
- D3DBACKBUFFER_TYPE_MONO,
- &pBackbuffer);
- if (FAILED(hr))
- return;
-
- // Get backbuffer description
- hr = IDirect3DSurface9_GetDesc(pBackbuffer, &d3dsd);
- if (FAILED(hr)) {
- goto gld_ReadPixels_DX9_return;
- }
-
- // Create a surface compatible with backbuffer
- hr = IDirect3DDevice9_CreateOffscreenPlainSurface(
- gld->pDev,
- width,
- height,
- d3dsd.Format,
- D3DPOOL_SCRATCH,
- &pNativeImage,
- NULL);
- if (FAILED(hr)) {
- goto gld_ReadPixels_DX9_return;
- }
-
- // Compute source rect and dest point
- SetRect(&rcSrc, 0, 0, width, height);
- OffsetRect(&rcSrc, x, GLD_FLIP_HEIGHT(y, height));
- ptDst.x = ptDst.y = 0;
-
- // Get source pixels.
- //
- // This intermediate surface ensure that we can use CopyRects()
- // instead of relying on D3DXLoadSurfaceFromSurface(), which may
- // try and lock the backbuffer. This way seems safer.
- //
- // CopyRects has been removed for DX9.
- //
-/* hr = IDirect3DDevice9_CopyRects(
- gld->pDev,
- pBackbuffer,
- &rcSrc,
- 1,
- pNativeImage,
- &ptDst);*/
- hr = D3DXLoadSurfaceFromSurface(
- pNativeImage, // Dest surface
- NULL, // Dest palette
- &rcSrc, // Dest rect
- pBackbuffer, // Src surface
- NULL, // Src palette
- &rcSrc, // Src rect
- D3DX_FILTER_NONE, // Filter
- 0 // Colorkey (0=no colorkey)
- );
- if (FAILED(hr)) {
- goto gld_ReadPixels_DX9_return;
- }
-
- // Create an RGBA8888 surface
- hr = IDirect3DDevice9_CreateOffscreenPlainSurface(
- gld->pDev,
- width,
- height,
- D3DFMT_A8R8G8B8,
- D3DPOOL_SCRATCH,
- &pCanonicalImage,
- NULL);
- if (FAILED(hr)) {
- goto gld_ReadPixels_DX9_return;
- }
-
- // Convert to RGBA8888
- hr = D3DXLoadSurfaceFromSurface(
- pCanonicalImage, // Dest surface
- NULL, NULL, // Dest palette, RECT
- pNativeImage, // Src surface
- NULL, NULL, // Src palette, RECT
- D3DX_FILTER_NONE, // Filter
- 0); // Colourkey
- if (FAILED(hr)) {
- goto gld_ReadPixels_DX9_return;
- }
-
- srcPacking.Alignment = 1;
- srcPacking.ImageHeight = height;
- srcPacking.LsbFirst = GL_FALSE;
- srcPacking.RowLength = 0;
- srcPacking.SkipImages = 0;
- srcPacking.SkipPixels = 0;
- srcPacking.SkipRows = 0;
- srcPacking.SwapBytes = GL_FALSE;
-
- // Lock all of image
- hr = IDirect3DSurface9_LockRect(pCanonicalImage, &d3dLockedRect, NULL, 0);
- if (FAILED(hr)) {
- goto gld_ReadPixels_DX9_return;
- }
-
- // We need to flip the data. Yuck.
- // Perhaps Mesa has a span packer we can use in future...
- for (i=0; i<height; i++) {
- BYTE *pDestRow = (BYTE*)_mesa_image_address(2,pack, dest, width, height, format, type, 0, i, 0);
- BYTE *pSrcRow = (BYTE*)d3dLockedRect.pBits + (d3dLockedRect.Pitch * (height-i-1));
- MesaFormat->StoreImage(
- ctx,
- 2,
- GL_RGBA, // base format
- MesaFormat, // dst format
- pDestRow, // dest addr
- width, 1, 1, 0, 0, 0, // src x,y,z & dst offsets x,y,z
- DstRowStride, // dst row stride
- 0, // dstImageStride
- GL_BGRA, // src format
- GL_UNSIGNED_BYTE, // src type
- pSrcRow, // src addr
- &srcPacking); // packing params of source image
- }
-
- IDirect3DSurface9_UnlockRect(pCanonicalImage);
-
-gld_ReadPixels_DX9_return:
- SAFE_RELEASE_SURFACE9(pCanonicalImage);
- SAFE_RELEASE_SURFACE9(pNativeImage);
- SAFE_RELEASE_SURFACE9(pBackbuffer);
-}
-
-//---------------------------------------------------------------------------
-
-void gld_CopyPixels_DX9(
- GLcontext *ctx,
- GLint srcx,
- GLint srcy,
- GLsizei width,
- GLsizei height,
- GLint dstx,
- GLint dsty,
- GLenum type)
-{
- //
- // NOTE: Not allowed to copy vidmem to vidmem!
- // Therefore we use an intermediate image surface.
- //
-
- GLD_context *gldCtx;
- GLD_driver_dx9 *gld;
-
- IDirect3DSurface9 *pBackbuffer;
- D3DSURFACE_DESC d3dsd;
- IDirect3DSurface9 *pImage;
- RECT rcSrc; // Source rect
- POINT ptDst; // Dest point
- HRESULT hr;
-
- // Only backbuffer
- if (type != GL_COLOR)
- return;
-
- gldCtx = GLD_GET_CONTEXT(ctx);
- gld = GLD_GET_DX9_DRIVER(gldCtx);
-
- // Get backbuffer
- hr = IDirect3DDevice9_GetBackBuffer(
- gld->pDev,
- 0, // First swapchain
- 0, // First backbuffer
- D3DBACKBUFFER_TYPE_MONO,
- &pBackbuffer);
- if (FAILED(hr))
- return;
-
- // Get backbuffer description
- hr = IDirect3DSurface9_GetDesc(pBackbuffer, &d3dsd);
- if (FAILED(hr)) {
- IDirect3DSurface9_Release(pBackbuffer);
- return;
- }
-
- // Create a surface compatible with backbuffer
- hr = IDirect3DDevice9_CreateOffscreenPlainSurface(
- gld->pDev,
- width,
- height,
- d3dsd.Format,
- D3DPOOL_SCRATCH,
- &pImage,
- NULL);
- if (FAILED(hr)) {
- IDirect3DSurface9_Release(pBackbuffer);
- return;
- }
-
- // Compute source rect and dest point
- SetRect(&rcSrc, 0, 0, width, height);
- OffsetRect(&rcSrc, srcx, GLD_FLIP_HEIGHT(srcy, height));
- ptDst.x = ptDst.y = 0;
-
- // Get source pixels
-/* hr = IDirect3DDevice8_CopyRects(
- gld->pDev,
- pBackbuffer,
- &rcSrc,
- 1,
- pImage,
- &ptDst);*/
- hr = D3DXLoadSurfaceFromSurface(
- pImage, // Dest surface
- NULL, // Dest palette
- &rcSrc, // Dest rect
- pBackbuffer, // Src surface
- NULL, // Src palette
- &rcSrc, // Src rect
- D3DX_FILTER_NONE, // Filter
- 0 // Colorkey (0=no colorkey)
- );
- IDirect3DSurface9_Release(pBackbuffer);
- if (FAILED(hr)) {
- IDirect3DSurface9_Release(pImage);
- return;
- }
-
- _gldDrawPixels(ctx, FALSE, dstx, dsty, width, height, pImage);
-
- IDirect3DSurface9_Release(pImage);
-}
-
-//---------------------------------------------------------------------------
-
-void gld_Bitmap_DX9(
- GLcontext *ctx,
- GLint x,
- GLint y,
- GLsizei width,
- GLsizei height,
- const struct gl_pixelstore_attrib *unpack,
- const GLubyte *bitmap)
-{
- GLD_context *gldCtx;
- GLD_driver_dx9 *gld;
-
- IDirect3DSurface9 *pImage;
- HRESULT hr;
- D3DLOCKED_RECT d3dLockedRect;
- BYTE *pTempBitmap;
- D3DCOLOR clBitmapOne, clBitmapZero;
- D3DCOLOR *pBits;
- const GLubyte *src;
- int i, j, k;
-
- gldCtx = GLD_GET_CONTEXT(ctx);
- gld = GLD_GET_DX9_DRIVER(gldCtx);
-
- // A NULL bitmap is valid, but merely advances the raster position
- if ((bitmap == NULL) || (width == 0) || (height == 0))
- return;
-
- clBitmapZero = D3DCOLOR_RGBA(0,0,0,0); // NOTE: Alpha is Zero
- clBitmapOne = D3DCOLOR_COLORVALUE(
- ctx->Current.RasterColor[0],
- ctx->Current.RasterColor[1],
- ctx->Current.RasterColor[2],
- 1.0f); // NOTE: Alpha is One
-
- hr = IDirect3DDevice9_CreateOffscreenPlainSurface(
- gld->pDev,
- width,
- height,
- D3DFMT_A8R8G8B8,
- D3DPOOL_SCRATCH,
- &pImage,
- NULL);
- if (FAILED(hr)) {
- return;
- }
-
- // Lock all of surface
- hr = IDirect3DSurface9_LockRect(pImage, &d3dLockedRect, NULL, 0);
- if (FAILED(hr)) {
- IDirect3DSurface9_Release(pImage);
- return;
- }
-
- pTempBitmap = _mesa_unpack_bitmap(width, height, bitmap, unpack);
- if (pTempBitmap == NULL) {
- IDirect3DSurface9_Release(pImage);
- return;
- }
-
- pBits = (D3DCOLOR*)d3dLockedRect.pBits;
-
- for (i=0; i<height; i++) {
- GLubyte byte;
- pBits = (D3DCOLOR*)((BYTE*)d3dLockedRect.pBits + (i*d3dLockedRect.Pitch));
- src = (const GLubyte *) _mesa_image_address(2,
- &ctx->DefaultPacking, pTempBitmap, width, height, GL_COLOR_INDEX, GL_BITMAP,
- 0, i, 0);
- for (j=0; j<(width>>3); j++) {
- byte = *src++;
- for (k=0; k<8; k++) {
- *pBits++ = (byte & 128) ? clBitmapOne : clBitmapZero;
- byte <<= 1;
- }
- }
- // Fill remaining bits from bitmap
- if (width & 7) {
- byte = *src;
- for (k=0; k<(width & 7); k++) {
- *pBits++ = (byte & 128) ? clBitmapOne : clBitmapZero;
- byte <<= 1;
- }
- }
- }
-
- FREE(pTempBitmap);
-
-/*
- // unpack image, apply transfer ops and store directly in texture
- texImage->TexFormat->StoreImage(
- ctx,
- 2,
- GL_BITMAP,
- &_mesa_texformat_argb8888,
- d3dLockedRect.pBits,
- width, height, 1, 0, 0, 0,
- d3dLockedRect.Pitch,
- 0, // dstImageStride
- GL_BITMAP, GL_COLOR_INDEX, bitmap, unpack);
-*/
- IDirect3DSurface9_UnlockRect(pImage);
-
- _gldDrawPixels(ctx, TRUE, x, y, width, height, pImage);
-
- IDirect3DSurface9_Release(pImage);
-}
-
-//---------------------------------------------------------------------------
-// Texture functions
-//---------------------------------------------------------------------------
-
-void _gldAllocateTexture(
- GLcontext *ctx,
- struct gl_texture_object *tObj,
- struct gl_texture_image *texImage)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx9 *gld = GLD_GET_DX9_DRIVER(gldCtx);
-
- IDirect3DTexture9 *pTex;
- D3DFORMAT d3dFormat;
-
- if (!tObj || !texImage)
- return;
-
- pTex = (IDirect3DTexture9*)tObj->DriverData;
- if (pTex) {
- // Decide whether we can keep existing D3D texture
- // by examining top-level surface.
- D3DSURFACE_DESC d3dsd;
- _GLD_DX9_TEX(GetLevelDesc(pTex, 0, &d3dsd));
- // Release existing texture if not compatible
- if ((d3dsd.Width == texImage->Width) ||
- (d3dsd.Height == texImage->Height))
- {
- return; // Keep the existing texture
- }
- tObj->DriverData = NULL;
- _GLD_DX9_TEX(Release(pTex));
- }
-
- d3dFormat = _gldGLFormatToD3DFormat(texImage->IntFormat);
- D3DXCreateTexture(
- gld->pDev,
- texImage->Width,
- texImage->Height,
- // TODO: Re-evaluate mipmapping
- (glb.bUseMipmaps) ? D3DX_DEFAULT : 1,
- 0, // Usage
- d3dFormat,
- D3DPOOL_MANAGED,
- &pTex);
- tObj->DriverData = pTex;
-}
-
-//---------------------------------------------------------------------------
-
-const struct gl_texture_format* gld_ChooseTextureFormat_DX9(
- GLcontext *ctx,
- GLint internalFormat,
- GLenum srcFormat,
- GLenum srcType)
-{
- // [Based on mesa_choose_tex_format()]
- //
- // We will choose only texture formats that are supported
- // by Direct3D. If the hardware doesn't support a particular
- // texture format, then the D3DX texture calls that we use
- // will automatically use a HW supported format.
- //
- // The most critical aim is to reduce copying; if we can use
- // texture-image data directly then it will be a big performance assist.
- //
-
- switch (internalFormat) {
- case GL_INTENSITY:
- case GL_INTENSITY4:
- case GL_INTENSITY8:
- case GL_INTENSITY12:
- case GL_INTENSITY16:
- return &_mesa_texformat_l8; // D3DFMT_L8
- case 1:
- case GL_LUMINANCE:
- case GL_LUMINANCE4:
- case GL_LUMINANCE8:
- case GL_LUMINANCE12:
- case GL_LUMINANCE16:
- return &_mesa_texformat_l8; // D3DFMT_L8
- case GL_ALPHA:
- case GL_ALPHA4:
- case GL_ALPHA8:
- case GL_ALPHA12:
- case GL_ALPHA16:
- return &_mesa_texformat_a8; // D3DFMT_A8
- case GL_COLOR_INDEX:
- case GL_COLOR_INDEX1_EXT:
- case GL_COLOR_INDEX2_EXT:
- case GL_COLOR_INDEX4_EXT:
- case GL_COLOR_INDEX8_EXT:
- case GL_COLOR_INDEX12_EXT:
- case GL_COLOR_INDEX16_EXT:
- return &_mesa_texformat_rgb565; // D3DFMT_R5G6B5
- // Mesa will convert this for us later...
- // return &_mesa_texformat_ci8; // D3DFMT_R5G6B5
- case 2:
- case GL_LUMINANCE_ALPHA:
- case GL_LUMINANCE4_ALPHA4:
- case GL_LUMINANCE6_ALPHA2:
- case GL_LUMINANCE8_ALPHA8:
- case GL_LUMINANCE12_ALPHA4:
- case GL_LUMINANCE12_ALPHA12:
- case GL_LUMINANCE16_ALPHA16:
- return &_mesa_texformat_al88; // D3DFMT_A8L8
- case GL_R3_G3_B2:
- return &_mesa_texformat_rgb332; // D3DFMT_R3G3B2
- case GL_RGB4:
- case GL_RGBA4:
- case GL_RGBA2:
- return &_mesa_texformat_argb4444; // D3DFMT_A4R4G4B4
- case 3:
- case GL_RGB:
- case GL_RGB5:
- case GL_RGB8:
- case GL_RGB10:
- case GL_RGB12:
- case GL_RGB16:
- return &_mesa_texformat_rgb565;
- case 4:
- case GL_RGBA:
- case GL_RGBA8:
- case GL_RGB10_A2:
- case GL_RGBA12:
- case GL_RGBA16:
- return &_mesa_texformat_argb8888;
- case GL_RGB5_A1:
- return &_mesa_texformat_argb1555;
- default:
- _mesa_problem(NULL, "unexpected format in fxDDChooseTextureFormat");
- return NULL;
- }
-}
-
-//---------------------------------------------------------------------------
-
-/*
-// Safer(?), slower version.
-void gld_TexImage2D_DX9(
- GLcontext *ctx,
- GLenum target,
- GLint level,
- GLint internalFormat,
- GLint width,
- GLint height,
- GLint border,
- GLenum format,
- GLenum type,
- const GLvoid *pixels,
- const struct gl_pixelstore_attrib *packing,
- struct gl_texture_object *tObj,
- struct gl_texture_image *texImage)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx9 *gld = GLD_GET_DX9_DRIVER(gldCtx);
-
- IDirect3DTexture9 *pTex;
- IDirect3DSurface9 *pSurface;
- RECT rcSrcRect;
- HRESULT hr;
- GLint texelBytes = 4;
- GLvoid *tempImage;
-
- if (!tObj || !texImage)
- return;
-
- if (level == 0) {
- _gldAllocateTexture(ctx, tObj, texImage);
- }
-
- pTex = (IDirect3DTexture9*)tObj->DriverData;
- if (!pTex)
- return; // Texture has not been created
- if (level >= IDirect3DTexture9_GetLevelCount(pTex))
- return; // Level does not exist
- hr = IDirect3DTexture9_GetSurfaceLevel(pTex, level, &pSurface);
- if (FAILED(hr))
- return; // Surface level doesn't exist (or just a plain error)
-
- tempImage = MALLOC(width * height * texelBytes);
- if (!tempImage) {
- _mesa_error(ctx, GL_OUT_OF_MEMORY, "glTexImage2D");
- IDirect3DSurface9_Release(pSurface);
- return;
- }
- // unpack image, apply transfer ops and store in tempImage
- texImage->TexFormat->StoreImage(ctx, 2, texImage->Format,
- &_mesa_texformat_argb8888, // dest format
- tempImage,
- width, height, 1, 0, 0, 0,
- width * texelBytes,
- 0, // dstImageStride
- format, type, pixels, packing);
-
- SetRect(&rcSrcRect, 0, 0, width, height);
- D3DXLoadSurfaceFromMemory(
- pSurface,
- NULL,
- NULL,
- tempImage,
- D3DFMT_A8R8G8B8,
- width * texelBytes,
- NULL,
- &rcSrcRect,
- D3DX_FILTER_NONE,
- 0);
-
- FREE(tempImage);
- IDirect3DSurface9_Release(pSurface);
-}
-*/
-
-//---------------------------------------------------------------------------
-
-// Faster, more efficient version.
-// Copies subimage straight to dest texture
-void gld_TexImage2D_DX9(
- GLcontext *ctx,
- GLenum target,
- GLint level,
- GLint internalFormat,
- GLint width,
- GLint height,
- GLint border,
- GLenum format,
- GLenum type,
- const GLvoid *pixels,
- const struct gl_pixelstore_attrib *packing,
- struct gl_texture_object *tObj,
- struct gl_texture_image *texImage)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx9 *gld = GLD_GET_DX9_DRIVER(gldCtx);
-
- IDirect3DTexture9 *pTex;
- IDirect3DSurface9 *pSurface;
- HRESULT hr;
- D3DLOCKED_RECT d3dLockedRect;
- D3DSURFACE_DESC d3dsd;
-
- if (!tObj || !texImage)
- return;
-
- // GLQUAKE FIX
- // Test for input alpha data with non-alpha internalformat
- if (((internalFormat==3) || (internalFormat==GL_RGB)) && (format==GL_RGBA)) {
- // Input format has alpha, but a non-alpha format has been requested.
- texImage->IntFormat = GL_RGBA;
- internalFormat = GL_RGBA;
- }
-
- if (level == 0) {
- _gldAllocateTexture(ctx, tObj, texImage);
- }
-
- pTex = (IDirect3DTexture9*)tObj->DriverData;
- if (!pTex)
- return; // Texture has not been created
- if (level >= IDirect3DTexture9_GetLevelCount(pTex))
- return; // Level does not exist
- hr = IDirect3DTexture9_GetSurfaceLevel(pTex, level, &pSurface);
- if (FAILED(hr))
- return; // Surface level doesn't exist (or just a plain error)
-
- IDirect3DSurface9_GetDesc(pSurface, &d3dsd);
-
- // Lock all of surface
- hr = IDirect3DSurface9_LockRect(pSurface, &d3dLockedRect, NULL, 0);
- if (FAILED(hr)) {
- IDirect3DSurface9_Release(pSurface);
- return;
- }
-
- // unpack image, apply transfer ops and store directly in texture
- texImage->TexFormat->StoreImage(
- ctx,
- 2,
- texImage->Format,
- _gldMesaFormatForD3DFormat(d3dsd.Format),
- d3dLockedRect.pBits,
- width, height, 1, 0, 0, 0,
- d3dLockedRect.Pitch,
- 0, // dstImageStride
- format, type, pixels, packing);
-
- IDirect3DSurface9_UnlockRect(pSurface);
- IDirect3DSurface9_Release(pSurface);
-}
-
-//---------------------------------------------------------------------------
-
-void gld_TexImage1D_DX9(GLcontext *ctx, GLenum target, GLint level,
- GLint internalFormat,
- GLint width, GLint border,
- GLenum format, GLenum type, const GLvoid *pixels,
- const struct gl_pixelstore_attrib *packing,
- struct gl_texture_object *texObj,
- struct gl_texture_image *texImage )
-{
- // A 1D texture is a 2D texture with a height of zero
- gld_TexImage2D_DX9(ctx, target, level, internalFormat, width, 1, border, format, type, pixels, packing, texObj, texImage);
-}
-
-//---------------------------------------------------------------------------
-
-/*
-void gld_TexSubImage2D( GLcontext *ctx, GLenum target, GLint level,
- GLint xoffset, GLint yoffset,
- GLsizei width, GLsizei height,
- GLenum format, GLenum type,
- const GLvoid *pixels,
- const struct gl_pixelstore_attrib *packing,
- struct gl_texture_object *tObj,
- struct gl_texture_image *texImage )
-{
- GLD_GET_CONTEXT
- IDirect3DTexture9 *pTex;
- IDirect3DSurface9 *pSurface;
- D3DFORMAT d3dFormat;
- HRESULT hr;
- GLint texelBytes = 4;
- GLvoid *tempImage;
- RECT rcSrcRect;
- RECT rcDstRect;
-
- if (!tObj || !texImage)
- return;
-
- pTex = (IDirect3DTexture9*)tObj->DriverData;
- if (!pTex)
- return; // Texture has not been created
- if (level >= _GLD_DX9_TEX(GetLevelCount(pTex))
- return; // Level does not exist
- hr = _GLD_DX9_TEX(GetSurfaceLevel(pTex, level, &pSurface);
- if (FAILED(hr))
- return; // Surface level doesn't exist (or just a plain error)
-
- d3dFormat = _gldGLFormatToD3DFormat(texImage->Format);
- tempImage = MALLOC(width * height * texelBytes);
- if (!tempImage) {
- _mesa_error(ctx, GL_OUT_OF_MEMORY, "glTexImage2D");
- IDirect3DSurface9_Release(pSurface);
- return;
- }
-
- // unpack image, apply transfer ops and store in tempImage
- texImage->TexFormat->StoreImage(ctx, 2, texImage->Format,
- &_mesa_texformat_argb8888, // dest format
- tempImage,
- width, height, 1, 0, 0, 0,
- width * texelBytes,
- 0, // dstImageStride
- format, type, pixels, packing);
-
- // Source rectangle is whole of input image
- SetRect(&rcSrcRect, 0, 0, width, height);
-
- // Dest rectangle must be offset to dest image
- SetRect(&rcDstRect, 0, 0, width, height);
- OffsetRect(&rcDstRect, xoffset, yoffset);
-
- D3DXLoadSurfaceFromMemory(
- pSurface,
- NULL,
- &rcDstRect,
- tempImage,
- D3DFMT_A8R8G8B8,
- width * texelBytes,
- NULL,
- &rcSrcRect,
- D3DX_FILTER_NONE,
- 0);
-
- FREE(tempImage);
- IDirect3DSurface9_Release(pSurface);
-}
-*/
-
-//---------------------------------------------------------------------------
-
-// Faster, more efficient version.
-// Copies subimage straight to dest texture
-void gld_TexSubImage2D_DX9( GLcontext *ctx, GLenum target, GLint level,
- GLint xoffset, GLint yoffset,
- GLsizei width, GLsizei height,
- GLenum format, GLenum type,
- const GLvoid *pixels,
- const struct gl_pixelstore_attrib *packing,
- struct gl_texture_object *tObj,
- struct gl_texture_image *texImage )
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx9 *gld = GLD_GET_DX9_DRIVER(gldCtx);
-
- IDirect3DTexture9 *pTex;
- IDirect3DSurface9 *pSurface;
- HRESULT hr;
- RECT rcDstRect;
- D3DLOCKED_RECT d3dLockedRect;
- D3DSURFACE_DESC d3dsd;
-
- if (!tObj || !texImage)
- return;
-
- pTex = (IDirect3DTexture9*)tObj->DriverData;
- if (!pTex)
- return; // Texture has not been created
- if (level >= IDirect3DTexture9_GetLevelCount(pTex))
- return; // Level does not exist
- hr = IDirect3DTexture9_GetSurfaceLevel(pTex, level, &pSurface);
- if (FAILED(hr))
- return; // Surface level doesn't exist (or just a plain error)
-
- IDirect3DSurface9_GetDesc(pSurface, &d3dsd);
-
- // Dest rectangle must be offset to dest image
- SetRect(&rcDstRect, 0, 0, width, height);
- OffsetRect(&rcDstRect, xoffset, yoffset);
-
- // Lock sub-rect of surface
- hr = IDirect3DSurface9_LockRect(pSurface, &d3dLockedRect, &rcDstRect, 0);
- if (FAILED(hr)) {
- IDirect3DSurface9_Release(pSurface);
- return;
- }
-
- // unpack image, apply transfer ops and store directly in texture
- texImage->TexFormat->StoreImage(ctx, 2, texImage->Format,
- _gldMesaFormatForD3DFormat(d3dsd.Format),
- d3dLockedRect.pBits,
- width, height, 1,
- 0, 0, 0, // NOTE: d3dLockedRect.pBits is already offset!!!
- d3dLockedRect.Pitch,
- 0, // dstImageStride
- format, type, pixels, packing);
-
-
- IDirect3DSurface9_UnlockRect(pSurface);
- IDirect3DSurface9_Release(pSurface);
-}
-
-//---------------------------------------------------------------------------
-
-void gld_TexSubImage1D_DX9( GLcontext *ctx, GLenum target, GLint level,
- GLint xoffset, GLsizei width,
- GLenum format, GLenum type,
- const GLvoid *pixels,
- const struct gl_pixelstore_attrib *packing,
- struct gl_texture_object *texObj,
- struct gl_texture_image *texImage )
-{
- gld_TexSubImage2D_DX9(ctx, target, level, xoffset, 0, width, 1, format, type, pixels, packing, texObj, texImage);
-}
-
-//---------------------------------------------------------------------------
-
-void gld_DeleteTexture_DX9(
- GLcontext *ctx,
- struct gl_texture_object *tObj)
-{
- GLD_context *gld = (GLD_context*)(ctx->DriverCtx);
-
- if (tObj) {
- IDirect3DTexture9 *pTex = (IDirect3DTexture9*)tObj->DriverData;
- if (pTex) {
-/* // Make sure texture is not bound to a stage before releasing it
- for (int i=0; i<MAX_TEXTURE_UNITS; i++) {
- if (gld->CurrentTexture[i] == pTex) {
- gld->pDev->SetTexture(i, NULL);
- gld->CurrentTexture[i] = NULL;
- }
- }*/
- _GLD_DX9_TEX(Release(pTex));
- tObj->DriverData = NULL;
- }
- }
-}
-
-//---------------------------------------------------------------------------
-
-__inline void _gldSetColorOps(
- const GLD_driver_dx9 *gld,
- GLuint unit,
- DWORD ColorArg1,
- D3DTEXTUREOP ColorOp,
- DWORD ColorArg2)
-{
- _GLD_DX9_DEV(SetTextureStageState(gld->pDev, unit, D3DTSS_COLORARG1, ColorArg1));
- _GLD_DX9_DEV(SetTextureStageState(gld->pDev, unit, D3DTSS_COLOROP, ColorOp));
- _GLD_DX9_DEV(SetTextureStageState(gld->pDev, unit, D3DTSS_COLORARG2, ColorArg2));
-}
-
-//---------------------------------------------------------------------------
-
-__inline void _gldSetAlphaOps(
- const GLD_driver_dx9 *gld,
- GLuint unit,
- DWORD AlphaArg1,
- D3DTEXTUREOP AlphaOp,
- DWORD AlphaArg2)
-{
- _GLD_DX9_DEV(SetTextureStageState(gld->pDev, unit, D3DTSS_ALPHAARG1, AlphaArg1));
- _GLD_DX9_DEV(SetTextureStageState(gld->pDev, unit, D3DTSS_ALPHAOP, AlphaOp));
- _GLD_DX9_DEV(SetTextureStageState(gld->pDev, unit, D3DTSS_ALPHAARG2, AlphaArg2));
-}
-
-//---------------------------------------------------------------------------
-
-void gldUpdateTextureUnit(
- GLcontext *ctx,
- GLuint unit,
- BOOL bPassThrough)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx9 *gld = GLD_GET_DX9_DRIVER(gldCtx);
-
- D3DTEXTUREFILTERTYPE minfilter;
- D3DTEXTUREFILTERTYPE mipfilter;
- GLenum BaseFormat;
- DWORD dwColorArg0;
- int iTexEnv = 0;
- GLD_texenv *pTexenv;
-
- // NOTE: If bPassThrough is FALSE then texture stage can be
- // disabled otherwise it must pass-through it's current fragment.
-
- const struct gl_texture_unit *pUnit = &ctx->Texture.Unit[unit];
- const struct gl_texture_object *tObj = pUnit->_Current;
-
- IDirect3DTexture9 *pTex = NULL;
- if (tObj) {
- pTex = (IDirect3DTexture9*)tObj->DriverData;
- }
-
- // Enable texturing if unit is enabled and a valid D3D texture exists
- // Mesa 5: TEXTUREn_x altered to TEXTURE_nD_BIT
- //if (pTex && (pUnit->Enabled & (TEXTURE0_1D | TEXTURE0_2D))) {
- if (pTex && (pUnit->_ReallyEnabled & (TEXTURE_1D_BIT | TEXTURE_2D_BIT))) {
- // Enable texturing
- _GLD_DX9_DEV(SetTexture(gld->pDev, unit, pTex));
- } else {
- // Disable texturing, then return
- _GLD_DX9_DEV(SetTexture(gld->pDev, unit, NULL));
- if (bPassThrough) {
- _gldSetColorOps(gld, unit, D3DTA_TEXTURE, D3DTOP_SELECTARG2, D3DTA_DIFFUSE);
- _gldSetAlphaOps(gld, unit, D3DTA_TEXTURE, D3DTOP_SELECTARG2, D3DTA_DIFFUSE);
- } else {
- _gldSetColorOps(gld, unit, D3DTA_TEXTURE, D3DTOP_DISABLE, D3DTA_DIFFUSE);
- _gldSetAlphaOps(gld, unit, D3DTA_TEXTURE, D3DTOP_DISABLE, D3DTA_DIFFUSE);
- }
- return;
- }
-
- // Texture parameters
- _gldConvertMinFilter(tObj->MinFilter, &minfilter, &mipfilter);
-// _GLD_DX9_DEV(SetTextureStageState(gld->pDev, unit, D3DTSS_MINFILTER, minfilter));
-// _GLD_DX9_DEV(SetTextureStageState(gld->pDev, unit, D3DTSS_MIPFILTER, mipfilter));
-// _GLD_DX9_DEV(SetTextureStageState(gld->pDev, unit, D3DTSS_MAGFILTER, _gldConvertMagFilter(tObj->MagFilter)));
-// _GLD_DX9_DEV(SetTextureStageState(gld->pDev, unit, D3DTSS_ADDRESSU, _gldConvertWrap(tObj->WrapS)));
-// _GLD_DX9_DEV(SetTextureStageState(gld->pDev, unit, D3DTSS_ADDRESSV, _gldConvertWrap(tObj->WrapT)));
- _GLD_DX9_DEV(SetSamplerState(gld->pDev, unit, D3DSAMP_MINFILTER, minfilter));
- _GLD_DX9_DEV(SetSamplerState(gld->pDev, unit, D3DSAMP_MIPFILTER, mipfilter));
- _GLD_DX9_DEV(SetSamplerState(gld->pDev, unit, D3DSAMP_MAGFILTER, _gldConvertMagFilter(tObj->MagFilter)));
- _GLD_DX9_DEV(SetSamplerState(gld->pDev, unit, D3DSAMP_ADDRESSU, _gldConvertWrap(tObj->WrapS)));
- _GLD_DX9_DEV(SetSamplerState(gld->pDev, unit, D3DSAMP_ADDRESSV, _gldConvertWrap(tObj->WrapT)));
-
- // Texture priority
- _GLD_DX9_TEX(SetPriority(pTex, (DWORD)(tObj->Priority*65535.0f)));
-
- // Texture environment
- // TODO: Examine input texture for alpha and use specific alpha/non-alpha ops.
- // See Page 355 of the Red Book.
- BaseFormat = _gldDecodeBaseFormat(pTex);
-
- switch (BaseFormat) {
- case GL_RGB:
- iTexEnv = 0;
- break;
- case GL_RGBA:
- iTexEnv = 1;
- break;
- case GL_ALPHA:
- iTexEnv = 2;
- break;
- }
-
- switch (pUnit->EnvMode) {
- case GL_DECAL:
- iTexEnv += 0;
- break;
- case GL_REPLACE:
- iTexEnv += 3;
- break;
- case GL_MODULATE:
- iTexEnv += 6;
- break;
- case GL_BLEND:
- // Set blend colour
- dwColorArg0 = D3DCOLOR_COLORVALUE(pUnit->EnvColor[0], pUnit->EnvColor[1], pUnit->EnvColor[2], pUnit->EnvColor[3]);
- _GLD_DX9_DEV(SetTextureStageState(gld->pDev, unit, D3DTSS_COLORARG0, dwColorArg0));
- iTexEnv += 9;
- break;
- case GL_ADD:
- iTexEnv += 12;
- break;
- }
- pTexenv = (GLD_texenv*)&gldTexEnv[iTexEnv];
- _gldSetColorOps(gld, unit, pTexenv->ColorArg1, pTexenv->ColorOp, pTexenv->ColorArg2);
- _gldSetAlphaOps(gld, unit, pTexenv->AlphaArg1, pTexenv->AlphaOp, pTexenv->AlphaArg2);
-}
-
-//---------------------------------------------------------------------------
-
-void gld_NEW_TEXTURE_DX9(
- GLcontext *ctx)
-{
- // TODO: Support for three (ATI Radeon) or more (nVidia GeForce3) texture units
-
- BOOL bUnit0Enabled;
- BOOL bUnit1Enabled;
-
- if (!ctx)
- return; // Sanity check
-
- if (ctx->Const.MaxTextureUnits == 1) {
- gldUpdateTextureUnit(ctx, 0, TRUE);
- return;
- }
-
- //
- // NOTE: THE FOLLOWING RELATES TO TWO TEXTURE UNITS, AND TWO ONLY!!
- //
-
- // Mesa 5: Texture Units altered
- //bUnit0Enabled = (ctx->Texture._ReallyEnabled & (TEXTURE0_1D | TEXTURE0_2D)) ? TRUE : FALSE;
- //bUnit1Enabled = (ctx->Texture._ReallyEnabled & (TEXTURE1_1D | TEXTURE1_2D)) ? TRUE : FALSE;
- bUnit0Enabled = (ctx->Texture.Unit[0]._ReallyEnabled & (TEXTURE_1D_BIT | TEXTURE_2D_BIT)) ? TRUE : FALSE;
- bUnit1Enabled = (ctx->Texture.Unit[1]._ReallyEnabled & (TEXTURE_1D_BIT | TEXTURE_2D_BIT)) ? TRUE : FALSE;
-
- // If Unit0 is disabled and Unit1 is enabled then we must pass-though
- gldUpdateTextureUnit(ctx, 0, (!bUnit0Enabled && bUnit1Enabled) ? TRUE : FALSE);
- // We can always disable the last texture unit
- gldUpdateTextureUnit(ctx, 1, FALSE);
-
-#ifdef _DEBUG
-#if 0
- {
- // Find out whether device supports current renderstates
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx9 *gld = GLD_GET_DX9_DRIVER(gldCtx);
-// GLD_context *gld = GLD_GET_CONTEXT(ctx);
-
- DWORD dwPasses;
- _GLD_DX9_DEV(ValidateDevice(gld->pDev, &dwPasses));
-// if (FAILED(hr)) {
-// gldLogError(GLDLOG_ERROR, "ValidateDevice failed", hr);
-// }
- if (dwPasses != 1) {
- gldLogMessage(GLDLOG_ERROR, "ValidateDevice: Can't do in one pass\n");
- }
- }
-#endif
-#endif
-};
-
-//---------------------------------------------------------------------------
diff --git a/src/mesa/drivers/windows/gldirect/dx9/gld_vb_d3d_render_dx9.c b/src/mesa/drivers/windows/gldirect/dx9/gld_vb_d3d_render_dx9.c
deleted file mode 100644
index 4fa6bcaf1a..0000000000
--- a/src/mesa/drivers/windows/gldirect/dx9/gld_vb_d3d_render_dx9.c
+++ /dev/null
@@ -1,263 +0,0 @@
-/****************************************************************************
-*
-* Mesa 3-D graphics library
-* Direct3D Driver Interface
-*
-* ========================================================================
-*
-* Copyright (C) 1991-2004 SciTech Software, Inc. 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
-* SCITECH SOFTWARE INC 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.
-*
-* ======================================================================
-*
-* Language: ANSI C
-* Environment: Windows 9x/2000/XP/XBox (Win32)
-*
-* Description: GLDirect fastpath pipeline stage
-*
-****************************************************************************/
-
-//---------------------------------------------------------------------------
-
-//#include "../GLDirect.h"
-//#include "../gld_log.h"
-//#include "gld_dx8.h"
-
-#include "dglcontext.h"
-#include "ddlog.h"
-#include "gld_dx9.h"
-
-//---------------------------------------------------------------------------
-
-#include "glheader.h"
-#include "context.h"
-#include "macros.h"
-// #include "mem.h"
-#include "mtypes.h"
-//#include "mmath.h"
-
-#include "math/m_matrix.h"
-#include "math/m_xform.h"
-
-#include "tnl/t_pipeline.h"
-
-//---------------------------------------------------------------------------
-
-__inline void _gldSetVertexShaderConstants(
- GLcontext *ctx,
- GLD_driver_dx9 *gld)
-{
- D3DXMATRIX mat, matView, matProj;
- GLfloat *pM;
-
- // Mesa 5: Altered to a Stack
- //pM = ctx->ModelView.m;
- pM = ctx->ModelviewMatrixStack.Top->m;
- matView._11 = pM[0];
- matView._12 = pM[1];
- matView._13 = pM[2];
- matView._14 = pM[3];
- matView._21 = pM[4];
- matView._22 = pM[5];
- matView._23 = pM[6];
- matView._24 = pM[7];
- matView._31 = pM[8];
- matView._32 = pM[9];
- matView._33 = pM[10];
- matView._34 = pM[11];
- matView._41 = pM[12];
- matView._42 = pM[13];
- matView._43 = pM[14];
- matView._44 = pM[15];
-
- // Mesa 5: Altered to a Stack
- //pM = ctx->ProjectionMatrix.m;
- pM = ctx->ProjectionMatrixStack.Top->m;
- matProj._11 = pM[0];
- matProj._12 = pM[1];
- matProj._13 = pM[2];
- matProj._14 = pM[3];
- matProj._21 = pM[4];
- matProj._22 = pM[5];
- matProj._23 = pM[6];
- matProj._24 = pM[7];
- matProj._31 = pM[8];
- matProj._32 = pM[9];
- matProj._33 = pM[10];
- matProj._34 = pM[11];
- matProj._41 = pM[12];
- matProj._42 = pM[13];
- matProj._43 = pM[14];
- matProj._44 = pM[15];
-
- D3DXMatrixMultiply( &mat, &matView, &matProj );
- D3DXMatrixTranspose( &mat, &mat );
-
- _GLD_DX9_DEV(SetVertexShaderConstantF(gld->pDev, 0, (float*)&mat, 4));
-}
-
-//---------------------------------------------------------------------------
-
-static GLboolean gld_d3d_render_stage_run(
- GLcontext *ctx,
- struct tnl_pipeline_stage *stage)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx9 *gld = GLD_GET_DX9_DRIVER(gldCtx);
-
- TNLcontext *tnl;
- struct vertex_buffer *VB;
- tnl_render_func *tab;
- GLint pass;
- GLD_pb_dx9 *gldPB = &gld->PB3d;
-/*
- static int count = 0;
- count++;
- if (count != 2)
- return GL_FALSE;
-*/
- // The "check" function should disable this stage,
- // but we'll test gld->bUseMesaTnL anyway.
- if (gld->bUseMesaTnL) {
- // Do nothing in this stage, but continue pipeline
- return GL_TRUE;
- }
-
- tnl = TNL_CONTEXT(ctx);
- VB = &tnl->vb;
- pass = 0;
-
- tnl->Driver.Render.Start( ctx );
-
-#if 0
- // For debugging: Useful to see if an app passes colour data in
- // an unusual format.
- switch (VB->ColorPtr[0]->Type) {
- case GL_FLOAT:
- ddlogMessage(GLDLOG_SYSTEM, "ColorPtr: GL_FLOAT\n");
- break;
- case GL_UNSIGNED_BYTE:
- ddlogMessage(GLDLOG_SYSTEM, "ColorPtr: GL_UNSIGNED_BYTE\n");
- break;
- default:
- ddlogMessage(GLDLOG_SYSTEM, "ColorPtr: *?*\n");
- break;
- }
-#endif
-
- tnl->Driver.Render.Points = gld_Points3D_DX9;
- if (ctx->_TriangleCaps & DD_FLATSHADE) {
- tnl->Driver.Render.Line = gld_Line3DFlat_DX9;
- tnl->Driver.Render.Triangle = gld_Triangle3DFlat_DX9;
- tnl->Driver.Render.Quad = gld_Quad3DFlat_DX9;
- } else {
- tnl->Driver.Render.Line = gld_Line3DSmooth_DX9;
- tnl->Driver.Render.Triangle = gld_Triangle3DSmooth_DX9;
- tnl->Driver.Render.Quad = gld_Quad3DSmooth_DX9;
- }
-
- _GLD_DX9_VB(Lock(gldPB->pVB, 0, 0, &gldPB->pPoints, D3DLOCK_DISCARD));
- gldPB->nPoints = gldPB->nLines = gldPB->nTriangles = 0;
- // Allocate primitive pointers
- // gldPB->pPoints is always first
- gldPB->pLines = gldPB->pPoints + (gldPB->dwStride * gldPB->iFirstLine);
- gldPB->pTriangles = gldPB->pPoints + (gldPB->dwStride * gldPB->iFirstTriangle);
-
- ASSERT(tnl->Driver.Render.BuildVertices);
- ASSERT(tnl->Driver.Render.PrimitiveNotify);
- ASSERT(tnl->Driver.Render.Points);
- ASSERT(tnl->Driver.Render.Line);
- ASSERT(tnl->Driver.Render.Triangle);
- ASSERT(tnl->Driver.Render.Quad);
- ASSERT(tnl->Driver.Render.ResetLineStipple);
- ASSERT(tnl->Driver.Render.Interp);
- ASSERT(tnl->Driver.Render.CopyPV);
- ASSERT(tnl->Driver.Render.ClippedLine);
- ASSERT(tnl->Driver.Render.ClippedPolygon);
- ASSERT(tnl->Driver.Render.Finish);
-
- tab = (VB->Elts ? tnl->Driver.Render.PrimTabElts : tnl->Driver.Render.PrimTabVerts);
-
- do {
- GLuint i, length, flags = 0;
- for (i = 0 ; !(flags & PRIM_END) ; i += length)
- {
- flags = VB->Primitive[i].mode;
- length= VB->Primitive[i].count;
- ASSERT(length || (flags & PRIM_END));
- ASSERT((flags & PRIM_MODE_MASK) <= GL_POLYGON+1);
- if (length)
- tab[flags & PRIM_MODE_MASK]( ctx, i, i + length, flags );
- }
- } while (tnl->Driver.Render.Multipass &&
- tnl->Driver.Render.Multipass( ctx, ++pass ));
-
- _GLD_DX9_VB(Unlock(gldPB->pVB));
-
- _GLD_DX9_DEV(SetStreamSource(gld->pDev, 0, gldPB->pVB, 0, gldPB->dwStride));
-
- _GLD_DX9_DEV(SetTransform(gld->pDev, D3DTS_PROJECTION, &gld->matProjection));
- _GLD_DX9_DEV(SetTransform(gld->pDev, D3DTS_WORLD, &gld->matModelView));
-
- if (gldPB->nPoints) {
- _GLD_DX9_DEV(DrawPrimitive(gld->pDev, D3DPT_POINTLIST, 0, gldPB->nPoints));
- gldPB->nPoints = 0;
- }
-
- if (gldPB->nLines) {
- _GLD_DX9_DEV(DrawPrimitive(gld->pDev, D3DPT_LINELIST, gldPB->iFirstLine, gldPB->nLines));
- gldPB->nLines = 0;
- }
-
- if (gldPB->nTriangles) {
- _GLD_DX9_DEV(DrawPrimitive(gld->pDev, D3DPT_TRIANGLELIST, gldPB->iFirstTriangle, gldPB->nTriangles));
- gldPB->nTriangles = 0;
- }
-
- return GL_FALSE; /* finished the pipe */
-}
-
-//---------------------------------------------------------------------------
-
-static void gld_d3d_render_stage_check(
- GLcontext *ctx,
- struct tnl_pipeline_stage *stage)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx9 *gld = GLD_GET_DX9_DRIVER(gldCtx);
- // Is this thread safe?
- stage->active = (gld->bUseMesaTnL) ? GL_FALSE : GL_TRUE;
- return;
-}
-
-
-//---------------------------------------------------------------------------
-
-const struct tnl_pipeline_stage _gld_d3d_render_stage =
-{
- "gld_d3d_render_stage",
- NULL,
- NULL,
- NULL,
- NULL,
- gld_d3d_render_stage_run /* run */
-};
-
-//---------------------------------------------------------------------------
diff --git a/src/mesa/drivers/windows/gldirect/dx9/gld_vb_mesa_render_dx9.c b/src/mesa/drivers/windows/gldirect/dx9/gld_vb_mesa_render_dx9.c
deleted file mode 100644
index 64acab2d2a..0000000000
--- a/src/mesa/drivers/windows/gldirect/dx9/gld_vb_mesa_render_dx9.c
+++ /dev/null
@@ -1,443 +0,0 @@
-
-/*
- * Mesa 3-D graphics library
- * Version: 3.5
- *
- * Copyright (C) 1999-2001 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
- * BRIAN PAUL 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.
- *
- * Authors:
- * Keith Whitwell <keithw@valinux.com>
- */
-
-
-/*
- * Render whole vertex buffers, including projection of vertices from
- * clip space and clipping of primitives.
- *
- * This file makes calls to project vertices and to the point, line
- * and triangle rasterizers via the function pointers:
- *
- * context->Driver.Render.*
- *
- */
-
-
-//---------------------------------------------------------------------------
-
-#include "dglcontext.h"
-#include "ddlog.h"
-#include "gld_dx9.h"
-
-//---------------------------------------------------------------------------
-
-#include "glheader.h"
-#include "context.h"
-#include "macros.h"
-#include "mtypes.h"
-//#include "mmath.h"
-
-#include "math/m_matrix.h"
-#include "math/m_xform.h"
-
-#include "tnl/t_pipeline.h"
-
-/**********************************************************************/
-/* Clip single primitives */
-/**********************************************************************/
-
-
-#if defined(USE_IEEE)
-#define NEGATIVE(x) (GET_FLOAT_BITS(x) & (1<<31))
-//#define DIFFERENT_SIGNS(x,y) ((GET_FLOAT_BITS(x) ^ GET_FLOAT_BITS(y)) & (1<<31))
-#else
-#define NEGATIVE(x) (x < 0)
-//#define DIFFERENT_SIGNS(x,y) (x * y <= 0 && x - y != 0)
-/* Could just use (x*y<0) except for the flatshading requirements.
- * Maybe there's a better way?
- */
-#endif
-
-
-#define W(i) coord[i][3]
-#define Z(i) coord[i][2]
-#define Y(i) coord[i][1]
-#define X(i) coord[i][0]
-#define SIZE 4
-#define TAG(x) x##_4
-#include "tnl/t_vb_cliptmp.h"
-
-
-
-/**********************************************************************/
-/* Clip and render whole begin/end objects */
-/**********************************************************************/
-
-#define NEED_EDGEFLAG_SETUP (ctx->_TriangleCaps & DD_TRI_UNFILLED)
-#define EDGEFLAG_GET(idx) VB->EdgeFlag[idx]
-#define EDGEFLAG_SET(idx, val) VB->EdgeFlag[idx] = val
-
-
-/* Vertices, with the possibility of clipping.
- */
-#define RENDER_POINTS( start, count ) \
- tnl->Driver.Render.Points( ctx, start, count )
-
-#define RENDER_LINE( v1, v2 ) \
-do { \
- GLubyte c1 = mask[v1], c2 = mask[v2]; \
- GLubyte ormask = c1|c2; \
- if (!ormask) \
- LineFunc( ctx, v1, v2 ); \
- else if (!(c1 & c2 & 0x3f)) \
- clip_line_4( ctx, v1, v2, ormask ); \
-} while (0)
-
-#define RENDER_TRI( v1, v2, v3 ) \
-do { \
- GLubyte c1 = mask[v1], c2 = mask[v2], c3 = mask[v3]; \
- GLubyte ormask = c1|c2|c3; \
- if (!ormask) \
- TriangleFunc( ctx, v1, v2, v3 ); \
- else if (!(c1 & c2 & c3 & 0x3f)) \
- clip_tri_4( ctx, v1, v2, v3, ormask ); \
-} while (0)
-
-#define RENDER_QUAD( v1, v2, v3, v4 ) \
-do { \
- GLubyte c1 = mask[v1], c2 = mask[v2]; \
- GLubyte c3 = mask[v3], c4 = mask[v4]; \
- GLubyte ormask = c1|c2|c3|c4; \
- if (!ormask) \
- QuadFunc( ctx, v1, v2, v3, v4 ); \
- else if (!(c1 & c2 & c3 & c4 & 0x3f)) \
- clip_quad_4( ctx, v1, v2, v3, v4, ormask ); \
-} while (0)
-
-
-#define LOCAL_VARS \
- TNLcontext *tnl = TNL_CONTEXT(ctx); \
- struct vertex_buffer *VB = &tnl->vb; \
- const GLuint * const elt = VB->Elts; \
- const GLubyte *mask = VB->ClipMask; \
- const GLuint sz = VB->ClipPtr->size; \
- const tnl_line_func LineFunc = tnl->Driver.Render.Line; \
- const tnl_triangle_func TriangleFunc = tnl->Driver.Render.Triangle; \
- const tnl_quad_func QuadFunc = tnl->Driver.Render.Quad; \
- const GLboolean stipple = ctx->Line.StippleFlag; \
- (void) (LineFunc && TriangleFunc && QuadFunc); \
- (void) elt; (void) mask; (void) sz; (void) stipple;
-
-#define TAG(x) clip_##x##_verts
-#define INIT(x) tnl->Driver.Render.PrimitiveNotify( ctx, x )
-#define RESET_STIPPLE if (stipple) tnl->Driver.Render.ResetLineStipple( ctx )
-#define PRESERVE_VB_DEFS
-#include "tnl/t_vb_rendertmp.h"
-
-
-
-/* Elts, with the possibility of clipping.
- */
-#undef ELT
-#undef TAG
-#define ELT(x) elt[x]
-#define TAG(x) clip_##x##_elts
-#include "tnl/t_vb_rendertmp.h"
-
-/* TODO: do this for all primitives, verts and elts:
- */
-static void clip_elt_triangles( GLcontext *ctx,
- GLuint start,
- GLuint count,
- GLuint flags )
-{
- TNLcontext *tnl = TNL_CONTEXT(ctx);
- tnl_render_func render_tris = tnl->Driver.Render.PrimTabElts[GL_TRIANGLES];
- struct vertex_buffer *VB = &tnl->vb;
- const GLuint * const elt = VB->Elts;
- GLubyte *mask = VB->ClipMask;
- GLuint last = count-2;
- GLuint j;
- (void) flags;
-
- tnl->Driver.Render.PrimitiveNotify( ctx, GL_TRIANGLES );
-
- for (j=start; j < last; j+=3 ) {
- GLubyte c1 = mask[elt[j]];
- GLubyte c2 = mask[elt[j+1]];
- GLubyte c3 = mask[elt[j+2]];
- GLubyte ormask = c1|c2|c3;
- if (ormask) {
- if (start < j)
- render_tris( ctx, start, j, 0 );
- if (!(c1&c2&c3&0x3f))
- clip_tri_4( ctx, elt[j], elt[j+1], elt[j+2], ormask );
- start = j+3;
- }
- }
-
- if (start < j)
- render_tris( ctx, start, j, 0 );
-}
-
-/**********************************************************************/
-/* Render whole begin/end objects */
-/**********************************************************************/
-
-#define NEED_EDGEFLAG_SETUP (ctx->_TriangleCaps & DD_TRI_UNFILLED)
-#define EDGEFLAG_GET(idx) VB->EdgeFlag[idx]
-#define EDGEFLAG_SET(idx, val) VB->EdgeFlag[idx] = val
-
-
-/* Vertices, no clipping.
- */
-#define RENDER_POINTS( start, count ) \
- tnl->Driver.Render.Points( ctx, start, count )
-
-#define RENDER_LINE( v1, v2 ) \
- LineFunc( ctx, v1, v2 )
-
-#define RENDER_TRI( v1, v2, v3 ) \
- TriangleFunc( ctx, v1, v2, v3 )
-
-#define RENDER_QUAD( v1, v2, v3, v4 ) \
- QuadFunc( ctx, v1, v2, v3, v4 )
-
-#define TAG(x) _gld_tnl_##x##_verts
-
-#define LOCAL_VARS \
- TNLcontext *tnl = TNL_CONTEXT(ctx); \
- struct vertex_buffer *VB = &tnl->vb; \
- const GLuint * const elt = VB->Elts; \
- const tnl_line_func LineFunc = tnl->Driver.Render.Line; \
- const tnl_triangle_func TriangleFunc = tnl->Driver.Render.Triangle; \
- const tnl_quad_func QuadFunc = tnl->Driver.Render.Quad; \
- (void) (LineFunc && TriangleFunc && QuadFunc); \
- (void) elt;
-
-#define RESET_STIPPLE tnl->Driver.Render.ResetLineStipple( ctx )
-#define INIT(x) tnl->Driver.Render.PrimitiveNotify( ctx, x )
-#define RENDER_TAB_QUALIFIER
-#define PRESERVE_VB_DEFS
-#include "tnl/t_vb_rendertmp.h"
-
-
-/* Elts, no clipping.
- */
-#undef ELT
-#define TAG(x) _gld_tnl_##x##_elts
-#define ELT(x) elt[x]
-#include "tnl/t_vb_rendertmp.h"
-
-
-/**********************************************************************/
-/* Helper functions for drivers */
-/**********************************************************************/
-/*
-void _tnl_RenderClippedPolygon( GLcontext *ctx, const GLuint *elts, GLuint n )
-{
- TNLcontext *tnl = TNL_CONTEXT(ctx);
- struct vertex_buffer *VB = &tnl->vb;
- GLuint *tmp = VB->Elts;
-
- VB->Elts = (GLuint *)elts;
- tnl->Driver.Render.PrimTabElts[GL_POLYGON]( ctx, 0, n, PRIM_BEGIN|PRIM_END );
- VB->Elts = tmp;
-}
-
-void _tnl_RenderClippedLine( GLcontext *ctx, GLuint ii, GLuint jj )
-{
- TNLcontext *tnl = TNL_CONTEXT(ctx);
- tnl->Driver.Render.Line( ctx, ii, jj );
-}
-*/
-
-
-/**********************************************************************/
-/* Clip and render whole vertex buffers */
-/**********************************************************************/
-
-tnl_points_func _gldSetupPoints[4] = {
- gld_Points2D_DX9,
- gld_Points2D_DX9,
- gld_Points2D_DX9,
- gld_Points2D_DX9
-};
-tnl_line_func _gldSetupLine[4] = {
- gld_Line2DFlat_DX9,
- gld_Line2DSmooth_DX9,
- gld_Line2DFlat_DX9,
- gld_Line2DSmooth_DX9,
-};
-tnl_triangle_func _gldSetupTriangle[4] = {
- gld_Triangle2DFlat_DX9,
- gld_Triangle2DSmooth_DX9,
- gld_Triangle2DFlatExtras_DX9,
- gld_Triangle2DSmoothExtras_DX9
-};
-tnl_quad_func _gldSetupQuad[4] = {
- gld_Quad2DFlat_DX9,
- gld_Quad2DSmooth_DX9,
- gld_Quad2DFlatExtras_DX9,
- gld_Quad2DSmoothExtras_DX9
-};
-
-//---------------------------------------------------------------------------
-
-static GLboolean _gld_mesa_render_stage_run(
- GLcontext *ctx,
- struct tnl_pipeline_stage *stage)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- GLD_driver_dx9 *gld = GLD_GET_DX9_DRIVER(gldCtx);
-
- TNLcontext *tnl = TNL_CONTEXT(ctx);
- struct vertex_buffer *VB = &tnl->vb;
- tnl_render_func *tab;
- GLint pass = 0;
- GLD_pb_dx9 *gldPB;
-
- /* Allow the drivers to lock before projected verts are built so
- * that window coordinates are guarenteed not to change before
- * rendering.
- */
- ASSERT(tnl->Driver.Render.Start);
-
- tnl->Driver.Render.Start( ctx );
-
- // NOTE: Setting D3DRS_SOFTWAREVERTEXPROCESSING for a mixed-mode device resets
- // stream, indices and shader to default values of NULL or 0.
-/* if ((ctx->_TriangleCaps & DD_TRI_LIGHT_TWOSIDE) &&
- gld->VStwosidelight.hShader &&
- !ctx->Fog.Enabled)
- {
- IDirect3DDevice8_SetRenderState(gld->pDev, D3DRS_SOFTWAREVERTEXPROCESSING, !gld->VStwosidelight.bHardware);
- _GLD_DX9_DEV(SetVertexShader(gld->pDev, gld->VStwosidelight.hShader));
- gldPB = &gld->PBtwosidelight;
- tnl->Driver.Render.Points = gld_Points2DTwoside_DX9;
- if (ctx->_TriangleCaps & DD_FLATSHADE) {
- tnl->Driver.Render.Line = gld_Line2DFlatTwoside_DX9;
- tnl->Driver.Render.Triangle = gld_Triangle2DFlatTwoside_DX9;
- tnl->Driver.Render.Quad = gld_Quad2DFlatTwoside_DX9;
- } else {
- tnl->Driver.Render.Line = gld_Line2DSmoothTwoside_DX9;
- tnl->Driver.Render.Triangle = gld_Triangle2DSmoothTwoside_DX9;
- tnl->Driver.Render.Quad = gld_Quad2DSmoothTwoside_DX9;
- }
- } else {*/
-// IDirect3DDevice8_SetRenderState(gld->pDev, D3DRS_SOFTWAREVERTEXPROCESSING, TRUE);
- IDirect3DDevice9_SetSoftwareVertexProcessing(gld->pDev, TRUE);
- gldPB = &gld->PB2d;
- _GLD_DX9_DEV(SetVertexShader(gld->pDev, NULL));
- _GLD_DX9_DEV(SetFVF(gld->pDev, gldPB->dwFVF));
- tnl->Driver.Render.Points = _gldSetupPoints[gld->iSetupFunc];
- tnl->Driver.Render.Line = _gldSetupLine[gld->iSetupFunc];
- tnl->Driver.Render.Triangle = _gldSetupTriangle[gld->iSetupFunc];
- tnl->Driver.Render.Quad = _gldSetupQuad[gld->iSetupFunc];
-// }
-
- _GLD_DX9_VB(Lock(gldPB->pVB, 0, 0, &gldPB->pPoints, D3DLOCK_DISCARD));
- gldPB->nPoints = gldPB->nLines = gldPB->nTriangles = 0;
- // Allocate primitive pointers
- // gldPB->pPoints is always first
- gldPB->pLines = gldPB->pPoints + (gldPB->dwStride * gldPB->iFirstLine);
- gldPB->pTriangles = gldPB->pPoints + (gldPB->dwStride * gldPB->iFirstTriangle);
-
- ASSERT(tnl->Driver.Render.BuildVertices);
- ASSERT(tnl->Driver.Render.PrimitiveNotify);
- ASSERT(tnl->Driver.Render.Points);
- ASSERT(tnl->Driver.Render.Line);
- ASSERT(tnl->Driver.Render.Triangle);
- ASSERT(tnl->Driver.Render.Quad);
- ASSERT(tnl->Driver.Render.ResetLineStipple);
- ASSERT(tnl->Driver.Render.Interp);
- ASSERT(tnl->Driver.Render.CopyPV);
- ASSERT(tnl->Driver.Render.ClippedLine);
- ASSERT(tnl->Driver.Render.ClippedPolygon);
- ASSERT(tnl->Driver.Render.Finish);
-
- tnl->Driver.Render.BuildVertices( ctx, 0, VB->Count, ~0 );
-
- if (VB->ClipOrMask) {
- tab = VB->Elts ? clip_render_tab_elts : clip_render_tab_verts;
- clip_render_tab_elts[GL_TRIANGLES] = clip_elt_triangles;
- }
- else {
- tab = (VB->Elts ?
- tnl->Driver.Render.PrimTabElts :
- tnl->Driver.Render.PrimTabVerts);
- }
-
- do {
- GLuint i, length, flags = 0;
- for (i = 0 ; !(flags & PRIM_END) ; i += length) {
- flags = VB->Primitive[i].mode;
- length= VB->Primitive[i].count;
- ASSERT(length || (flags & PRIM_END));
- ASSERT((flags & PRIM_MODE_MASK) <= GL_POLYGON+1);
- if (length)
- tab[flags & PRIM_MODE_MASK]( ctx, i, i + length, flags );
- }
- } while (tnl->Driver.Render.Multipass &&
- tnl->Driver.Render.Multipass( ctx, ++pass ));
-
-
-// tnl->Driver.Render.Finish( ctx );
-
- _GLD_DX9_VB(Unlock(gldPB->pVB));
-
- _GLD_DX9_DEV(SetStreamSource(gld->pDev, 0, gldPB->pVB, 0, gldPB->dwStride));
-
- if (gldPB->nPoints) {
- _GLD_DX9_DEV(DrawPrimitive(gld->pDev, D3DPT_POINTLIST, 0, gldPB->nPoints));
- gldPB->nPoints = 0;
- }
-
- if (gldPB->nLines) {
- _GLD_DX9_DEV(DrawPrimitive(gld->pDev, D3DPT_LINELIST, gldPB->iFirstLine, gldPB->nLines));
- gldPB->nLines = 0;
- }
-
- if (gldPB->nTriangles) {
- _GLD_DX9_DEV(DrawPrimitive(gld->pDev, D3DPT_TRIANGLELIST, gldPB->iFirstTriangle, gldPB->nTriangles));
- gldPB->nTriangles = 0;
- }
-
- return GL_FALSE; /* finished the pipe */
-}
-
-
-/**********************************************************************/
-/* Render pipeline stage */
-/**********************************************************************/
-
-
-
-
-const struct tnl_pipeline_stage _gld_mesa_render_stage =
-{
- "gld_mesa_render_stage",
- NULL,
- NULL,
- NULL,
- NULL,
- _gld_mesa_render_stage_run /* run */
-};
-
-//---------------------------------------------------------------------------
diff --git a/src/mesa/drivers/windows/gldirect/dx9/gld_wgl_dx9.c b/src/mesa/drivers/windows/gldirect/dx9/gld_wgl_dx9.c
deleted file mode 100644
index a03b865bb4..0000000000
--- a/src/mesa/drivers/windows/gldirect/dx9/gld_wgl_dx9.c
+++ /dev/null
@@ -1,1346 +0,0 @@
-/****************************************************************************
-*
-* Mesa 3-D graphics library
-* Direct3D Driver Interface
-*
-* ========================================================================
-*
-* Copyright (C) 1991-2004 SciTech Software, Inc. 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
-* SCITECH SOFTWARE INC 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.
-*
-* ======================================================================
-*
-* Language: ANSI C
-* Environment: Windows 9x/2000/XP/XBox (Win32)
-*
-* Description: GLDirect Direct3D 8.x WGL (WindowsGL)
-*
-****************************************************************************/
-
-#include "dglcontext.h"
-#include "gld_driver.h"
-#include "gld_dxerr9.h"
-#include "gld_dx9.h"
-
-#include "tnl/tnl.h"
-#include "tnl/t_context.h"
-
-// Copied from dglcontect.c
-#define GLDERR_NONE 0
-#define GLDERR_MEM 1
-#define GLDERR_DDRAW 2
-#define GLDERR_D3D 3
-#define GLDERR_BPP 4
-#define GLDERR_DDS 5
-// This external var keeps track of any error
-extern int nContextError;
-
-#define DDLOG_CRITICAL_OR_WARN DDLOG_CRITICAL
-
-extern void _gld_mesa_warning(GLcontext *, char *);
-extern void _gld_mesa_fatal(GLcontext *, char *);
-
-//---------------------------------------------------------------------------
-
-static char szColorDepthWarning[] =
-"GLDirect does not support the current desktop\n\
-color depth.\n\n\
-You may need to change the display resolution to\n\
-16 bits per pixel or higher color depth using\n\
-the Windows Display Settings control panel\n\
-before running this OpenGL application.\n";
-
-// The only depth-stencil formats currently supported by Direct3D
-// Surface Format Depth Stencil Total Bits
-// D3DFMT_D32 32 - 32
-// D3DFMT_D15S1 15 1 16
-// D3DFMT_D24S8 24 8 32
-// D3DFMT_D16 16 - 16
-// D3DFMT_D24X8 24 - 32
-// D3DFMT_D24X4S4 24 4 32
-
-// This pixel format will be used as a template when compiling the list
-// of pixel formats supported by the hardware. Many fields will be
-// filled in at runtime.
-// PFD flag defaults are upgraded to match ChoosePixelFormat() -- DaveM
-static DGL_pixelFormat pfTemplateHW =
-{
- {
- sizeof(PIXELFORMATDESCRIPTOR), // Size of the data structure
- 1, // Structure version - should be 1
- // Flags:
- PFD_DRAW_TO_WINDOW | // The buffer can draw to a window or device surface.
- PFD_DRAW_TO_BITMAP | // The buffer can draw to a bitmap. (DaveM)
- PFD_SUPPORT_GDI | // The buffer supports GDI drawing. (DaveM)
- PFD_SUPPORT_OPENGL | // The buffer supports OpenGL drawing.
- PFD_DOUBLEBUFFER | // The buffer is double-buffered.
- 0, // Placeholder for easy commenting of above flags
- PFD_TYPE_RGBA, // Pixel type RGBA.
- 16, // Total colour bitplanes (excluding alpha bitplanes)
- 5, 0, // Red bits, shift
- 5, 0, // Green bits, shift
- 5, 0, // Blue bits, shift
- 0, 0, // Alpha bits, shift (destination alpha)
- 0, // Accumulator bits (total)
- 0, 0, 0, 0, // Accumulator bits: Red, Green, Blue, Alpha
- 0, // Depth bits
- 0, // Stencil bits
- 0, // Number of auxiliary buffers
- 0, // Layer type
- 0, // Specifies the number of overlay and underlay planes.
- 0, // Layer mask
- 0, // Specifies the transparent color or index of an underlay plane.
- 0 // Damage mask
- },
- D3DFMT_UNKNOWN, // No depth/stencil buffer
-};
-
-//---------------------------------------------------------------------------
-// Vertex Shaders
-//---------------------------------------------------------------------------
-/*
-// Vertex Shader Declaration
-static DWORD dwTwoSidedLightingDecl[] =
-{
- D3DVSD_STREAM(0),
- D3DVSD_REG(0, D3DVSDT_FLOAT3), // XYZ position
- D3DVSD_REG(1, D3DVSDT_FLOAT3), // XYZ normal
- D3DVSD_REG(2, D3DVSDT_D3DCOLOR), // Diffuse color
- D3DVSD_REG(3, D3DVSDT_D3DCOLOR), // Specular color
- D3DVSD_REG(4, D3DVSDT_FLOAT2), // 2D texture unit 0
- D3DVSD_REG(5, D3DVSDT_FLOAT2), // 2D texture unit 1
- D3DVSD_END()
-};
-
-// Vertex Shader for two-sided lighting
-static char *szTwoSidedLightingVS =
-// This is a test shader!
-"vs.1.0\n"
-"m4x4 oPos,v0,c0\n"
-"mov oD0,v2\n"
-"mov oD1,v3\n"
-"mov oT0,v4\n"
-"mov oT1,v5\n"
-;
-*/
-//---------------------------------------------------------------------------
-//---------------------------------------------------------------------------
-
-typedef struct {
- HINSTANCE hD3D9DLL; // Handle to d3d9.dll
- FNDIRECT3DCREATE9 fnDirect3DCreate9; // Direct3DCreate9 function prototype
- BOOL bDirect3D; // Persistant Direct3D9 exists
- BOOL bDirect3DDevice; // Persistant Direct3DDevice9 exists
- IDirect3D9 *pD3D; // Persistant Direct3D9
- IDirect3DDevice9 *pDev; // Persistant Direct3DDevice9
-} GLD_dx9_globals;
-
-// These are "global" to all DX9 contexts. KeithH
-static GLD_dx9_globals dx9Globals;
-
-//---------------------------------------------------------------------------
-//---------------------------------------------------------------------------
-
-BOOL gldGetDXErrorString_DX(
- HRESULT hr,
- char *buf,
- int nBufSize)
-{
- //
- // Return a string describing the input HRESULT error code
- //
-
- const char *pStr = DXGetErrorString9(hr);
-
- if (pStr == NULL)
- return FALSE;
-
- if (strlen(pStr) > nBufSize)
- strncpy(buf, pStr, nBufSize);
- else
- strcpy(buf, pStr);
-
-// D3DXGetErrorString(hr, buf, nBufSize);
-
- return TRUE;
-}
-
-//---------------------------------------------------------------------------
-
-static D3DMULTISAMPLE_TYPE _gldGetDeviceMultiSampleType(
- IDirect3D9 *pD3D9,
- D3DFORMAT SurfaceFormat,
- D3DDEVTYPE d3dDevType,
- BOOL Windowed)
-{
- int i;
- HRESULT hr;
-
- if (glb.dwMultisample == GLDS_MULTISAMPLE_NONE)
- return D3DMULTISAMPLE_NONE;
-
- if (glb.dwMultisample == GLDS_MULTISAMPLE_FASTEST) {
- // Find fastest multisample
- for (i=2; i<17; i++) {
- hr = IDirect3D9_CheckDeviceMultiSampleType(
- pD3D9,
- glb.dwAdapter,
- d3dDevType,
- SurfaceFormat,
- Windowed,
- (D3DMULTISAMPLE_TYPE)i,
- NULL);
- if (SUCCEEDED(hr)) {
- return (D3DMULTISAMPLE_TYPE)i;
- }
- }
- } else {
- // Find nicest multisample
- for (i=16; i>1; i--) {
- hr = IDirect3D9_CheckDeviceMultiSampleType(
- pD3D9,
- glb.dwAdapter,
- d3dDevType,
- SurfaceFormat,
- Windowed,
- (D3DMULTISAMPLE_TYPE)i,
- NULL);
- if (SUCCEEDED(hr)) {
- return (D3DMULTISAMPLE_TYPE)i;
- }
- }
- }
-
- // Nothing found - return default
- return D3DMULTISAMPLE_NONE;
-}
-
-//---------------------------------------------------------------------------
-
-void _gldDestroyPrimitiveBuffer(
- GLD_pb_dx9 *gldVB)
-{
- SAFE_RELEASE(gldVB->pVB);
-
- // Sanity check...
- gldVB->nLines = gldVB->nPoints = gldVB->nTriangles = 0;
-}
-
-//---------------------------------------------------------------------------
-
-HRESULT _gldCreatePrimitiveBuffer(
- GLcontext *ctx,
- GLD_driver_dx9 *lpCtx,
- GLD_pb_dx9 *gldVB)
-{
- HRESULT hResult;
- char *szCreateVertexBufferFailed = "CreateVertexBuffer failed";
- DWORD dwMaxVertices; // Max number of vertices in vertex buffer
- DWORD dwVBSize; // Total size of vertex buffer
-
- // If CVA (Compiled Vertex Array) is used by an OpenGL app, then we
- // will need enough vertices to cater for Mesa::Const.MaxArrayLockSize.
- // We'll use IMM_SIZE if it's larger (which it should not be).
- dwMaxVertices = MAX_ARRAY_LOCK_SIZE;
-
- // Now calculate how many vertices to allow for in total
- // 1 per point, 2 per line, 6 per quad = 9
- dwVBSize = dwMaxVertices * 9 * gldVB->dwStride;
-
- hResult = IDirect3DDevice9_CreateVertexBuffer(
- lpCtx->pDev,
- dwVBSize,
- gldVB->dwUsage,
- gldVB->dwFVF,
- gldVB->dwPool,
- &gldVB->pVB,
- NULL);
- if (FAILED(hResult)) {
- ddlogMessage(DDLOG_CRITICAL_OR_WARN, szCreateVertexBufferFailed);
- return hResult;
- }
-
- gldVB->nLines = gldVB->nPoints = gldVB->nTriangles = 0;
- gldVB->pPoints = gldVB->pLines = gldVB->pTriangles = NULL;
- gldVB->iFirstLine = dwMaxVertices; // Index of first line in VB
- gldVB->iFirstTriangle = dwMaxVertices*3; // Index of first triangle in VB
-
- return S_OK;
-}
-
-//---------------------------------------------------------------------------
-// Function: _gldCreateVertexShaders
-// Create DX9 Vertex Shaders.
-//---------------------------------------------------------------------------
-/*
-void _gldCreateVertexShaders(
- GLD_driver_dx9 *gld)
-{
- DWORD dwFlags;
- LPD3DXBUFFER pVSOpcodeBuffer; // Vertex Shader opcode buffer
- HRESULT hr;
-
-#ifdef _DEBUG
- dwFlags = D3DXASM_DEBUG;
-#else
- dwFlags = 0; // D3DXASM_SKIPVALIDATION;
-#endif
-
- ddlogMessage(DDLOG_INFO, "Creating shaders...\n");
-
- // Init the shader handle
- gld->VStwosidelight.hShader = 0;
-
- if (gld->d3dCaps8.MaxStreams == 0) {
- // Lame DX8 driver doesn't support streams
- // Not fatal, as defaults will be used
- ddlogMessage(DDLOG_WARN, "Driver doesn't support Vertex Shaders (MaxStreams==0)\n");
- return;
- }
-
- // ** THIS DISABLES VERTEX SHADER SUPPORT **
-// return;
- // ** THIS DISABLES VERTEX SHADER SUPPORT **
-
- //
- // Two-sided lighting
- //
-
-#if 0
- //
- // DEBUGGING: Load shader from a text file
- //
- {
- LPD3DXBUFFER pVSErrorBuffer; // Vertex Shader error buffer
- hr = D3DXAssembleShaderFromFile(
- "twoside.vsh",
- dwFlags,
- NULL, // No constants
- &pVSOpcodeBuffer,
- &pVSErrorBuffer);
- if (pVSErrorBuffer && pVSErrorBuffer->lpVtbl->GetBufferPointer(pVSErrorBuffer))
- ddlogMessage(DDLOG_INFO, pVSErrorBuffer->lpVtbl->GetBufferPointer(pVSErrorBuffer));
- SAFE_RELEASE(pVSErrorBuffer);
- }
-#else
- {
- LPD3DXBUFFER pVSErrorBuffer; // Vertex Shader error buffer
- // Assemble ascii shader text into shader opcodes
- hr = D3DXAssembleShader(
- szTwoSidedLightingVS,
- strlen(szTwoSidedLightingVS),
- dwFlags,
- NULL, // No constants
- &pVSOpcodeBuffer,
- &pVSErrorBuffer);
- if (pVSErrorBuffer && pVSErrorBuffer->lpVtbl->GetBufferPointer(pVSErrorBuffer))
- ddlogMessage(DDLOG_INFO, pVSErrorBuffer->lpVtbl->GetBufferPointer(pVSErrorBuffer));
- SAFE_RELEASE(pVSErrorBuffer);
- }
-#endif
- if (FAILED(hr)) {
- ddlogError(DDLOG_WARN, "AssembleShader failed", hr);
- SAFE_RELEASE(pVSOpcodeBuffer);
- return;
- }
-
-// This is for debugging. Remove to enable vertex shaders in HW
-#define _GLD_FORCE_SW_VS 0
-
- if (_GLD_FORCE_SW_VS) {
- // _GLD_FORCE_SW_VS should be disabled for Final Release
- ddlogMessage(DDLOG_SYSTEM, "[Forcing shaders in SW]\n");
- }
-
- // Try and create shader in hardware.
- // NOTE: The D3D Ref device appears to succeed when trying to
- // create the device in hardware, but later complains
- // when trying to set it with SetVertexShader(). Go figure.
- if (_GLD_FORCE_SW_VS || glb.dwDriver == GLDS_DRIVER_REF) {
- // Don't try and create a hardware shader with the Ref device
- hr = E_FAIL; // COM error/fail result
- } else {
- gld->VStwosidelight.bHardware = TRUE;
- hr = IDirect3DDevice8_CreateVertexShader(
- gld->pDev,
- dwTwoSidedLightingDecl,
- pVSOpcodeBuffer->lpVtbl->GetBufferPointer(pVSOpcodeBuffer),
- &gld->VStwosidelight.hShader,
- 0);
- }
- if (FAILED(hr)) {
- ddlogMessage(DDLOG_INFO, "... HW failed, trying SW...\n");
- // Failed. Try and create shader for software processing
- hr = IDirect3DDevice8_CreateVertexShader(
- gld->pDev,
- dwTwoSidedLightingDecl,
- pVSOpcodeBuffer->lpVtbl->GetBufferPointer(pVSOpcodeBuffer),
- &gld->VStwosidelight.hShader,
- D3DUSAGE_SOFTWAREPROCESSING);
- if (FAILED(hr)) {
- gld->VStwosidelight.hShader = 0; // Sanity check
- ddlogError(DDLOG_WARN, "CreateVertexShader failed", hr);
- return;
- }
- // Succeeded, but for software processing
- gld->VStwosidelight.bHardware = FALSE;
- }
-
- SAFE_RELEASE(pVSOpcodeBuffer);
-
- ddlogMessage(DDLOG_INFO, "... OK\n");
-}
-
-//---------------------------------------------------------------------------
-
-void _gldDestroyVertexShaders(
- GLD_driver_dx9 *gld)
-{
- if (gld->VStwosidelight.hShader) {
- IDirect3DDevice8_DeleteVertexShader(gld->pDev, gld->VStwosidelight.hShader);
- gld->VStwosidelight.hShader = 0;
- }
-}
-*/
-//---------------------------------------------------------------------------
-
-BOOL gldCreateDrawable_DX(
- DGL_ctx *ctx,
-// BOOL bDefaultDriver,
- BOOL bDirectDrawPersistant,
- BOOL bPersistantBuffers)
-{
- //
- // bDirectDrawPersistant: applies to IDirect3D9
- // bPersistantBuffers: applies to IDirect3DDevice9
- //
-
- HRESULT hResult;
- GLD_driver_dx9 *lpCtx = NULL;
- D3DDEVTYPE d3dDevType;
- D3DPRESENT_PARAMETERS d3dpp;
- D3DDISPLAYMODE d3ddm;
- DWORD dwBehaviourFlags;
- D3DADAPTER_IDENTIFIER9 d3dIdent;
-
- // Error if context is NULL.
- if (ctx == NULL)
- return FALSE;
-
- if (ctx->glPriv) {
- lpCtx = ctx->glPriv;
- // Release any existing interfaces
- SAFE_RELEASE(lpCtx->pDev);
- SAFE_RELEASE(lpCtx->pD3D);
- } else {
- lpCtx = (GLD_driver_dx9*)malloc(sizeof(GLD_driver_dx9));
- ZeroMemory(lpCtx, sizeof(lpCtx));
- }
-
- d3dDevType = (glb.dwDriver == GLDS_DRIVER_HAL) ? D3DDEVTYPE_HAL : D3DDEVTYPE_REF;
- // TODO: Check this
-// if (bDefaultDriver)
-// d3dDevType = D3DDEVTYPE_REF;
-
- // Use persistant interface if needed
- if (bDirectDrawPersistant && dx9Globals.bDirect3D) {
- lpCtx->pD3D = dx9Globals.pD3D;
- IDirect3D9_AddRef(lpCtx->pD3D);
- goto SkipDirectDrawCreate;
- }
-
- // Create Direct3D9 object
- lpCtx->pD3D = dx9Globals.fnDirect3DCreate9(D3D_SDK_VERSION);
- if (lpCtx->pD3D == NULL) {
- MessageBox(NULL, "Unable to initialize Direct3D9", "GLDirect", MB_OK);
- ddlogMessage(DDLOG_CRITICAL_OR_WARN, "Unable to create Direct3D9 interface");
- nContextError = GLDERR_D3D;
- goto return_with_error;
- }
-
- // Cache Direct3D interface for subsequent GLRCs
- if (bDirectDrawPersistant && !dx9Globals.bDirect3D) {
- dx9Globals.pD3D = lpCtx->pD3D;
- IDirect3D9_AddRef(dx9Globals.pD3D);
- dx9Globals.bDirect3D = TRUE;
- }
-SkipDirectDrawCreate:
-
- // Get the display mode so we can make a compatible backbuffer
- hResult = IDirect3D9_GetAdapterDisplayMode(lpCtx->pD3D, glb.dwAdapter, &d3ddm);
- if (FAILED(hResult)) {
- nContextError = GLDERR_D3D;
- goto return_with_error;
- }
-
- // Get device caps
- hResult = IDirect3D9_GetDeviceCaps(lpCtx->pD3D, glb.dwAdapter, d3dDevType, &lpCtx->d3dCaps9);
- if (FAILED(hResult)) {
- ddlogError(DDLOG_CRITICAL_OR_WARN, "IDirect3D9_GetDeviceCaps failed", hResult);
- nContextError = GLDERR_D3D;
- goto return_with_error;
- }
-
- // Check for hardware transform & lighting
- lpCtx->bHasHWTnL = lpCtx->d3dCaps9.DevCaps & D3DDEVCAPS_HWTRANSFORMANDLIGHT ? TRUE : FALSE;
-
-/*
- //
- // GONE FOR DX9?
- //
- // If this flag is present then we can't default to Mesa
- // SW rendering between BeginScene() and EndScene().
- if (lpCtx->d3dCaps9.Caps2 & D3DCAPS2_NO2DDURING3DSCENE) {
- ddlogMessage(DDLOG_WARN,
- "Warning : No 2D allowed during 3D scene.\n");
- }
-*/
-
- //
- // Create the Direct3D context
- //
-
- // Re-use original IDirect3DDevice if persistant buffers exist.
- // Note that we test for persistant IDirect3D9 as well
- // bDirectDrawPersistant == persistant IDirect3D9 (DirectDraw9 does not exist)
- if (bDirectDrawPersistant && bPersistantBuffers && dx9Globals.pD3D && dx9Globals.pDev) {
- lpCtx->pDev = dx9Globals.pDev;
- IDirect3DDevice9_AddRef(dx9Globals.pDev);
- goto skip_direct3ddevice_create;
- }
-
- // Clear the presentation parameters (sets all members to zero)
- ZeroMemory(&d3dpp, sizeof(d3dpp));
-
- // Recommended by MS; needed for MultiSample.
- // Be careful if altering this for FullScreenBlit
- d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
-
- d3dpp.BackBufferFormat = d3ddm.Format;
- d3dpp.BackBufferCount = 2; //1;
- d3dpp.MultiSampleType = _gldGetDeviceMultiSampleType(lpCtx->pD3D, d3ddm.Format, d3dDevType, !ctx->bFullscreen);
- d3dpp.AutoDepthStencilFormat = ctx->lpPF->dwDriverData;
- d3dpp.EnableAutoDepthStencil = (d3dpp.AutoDepthStencilFormat == D3DFMT_UNKNOWN) ? FALSE : TRUE;
-
- if (ctx->bFullscreen) {
- ddlogWarnOption(FALSE); // Don't popup any messages in fullscreen
- d3dpp.Windowed = FALSE;
- d3dpp.BackBufferWidth = d3ddm.Width;
- d3dpp.BackBufferHeight = d3ddm.Height;
- d3dpp.hDeviceWindow = ctx->hWnd;
- d3dpp.FullScreen_RefreshRateInHz = D3DPRESENT_RATE_DEFAULT;
-
- // Support for vertical retrace synchronisation.
- // Set default presentation interval in case caps bits are missing
- d3dpp.PresentationInterval = D3DPRESENT_INTERVAL_DEFAULT;
- if (glb.bWaitForRetrace) {
- if (lpCtx->d3dCaps9.PresentationIntervals & D3DPRESENT_INTERVAL_ONE)
- d3dpp.PresentationInterval = D3DPRESENT_INTERVAL_ONE;
- } else {
- if (lpCtx->d3dCaps9.PresentationIntervals & D3DPRESENT_INTERVAL_IMMEDIATE)
- d3dpp.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;
- }
- } else {
- ddlogWarnOption(glb.bMessageBoxWarnings); // OK to popup messages
- d3dpp.Windowed = TRUE;
- d3dpp.BackBufferWidth = ctx->dwWidth;
- d3dpp.BackBufferHeight = ctx->dwHeight;
- d3dpp.hDeviceWindow = ctx->hWnd;
- d3dpp.FullScreen_RefreshRateInHz = 0;
- // PresentationInterval Windowed mode is optional now in DX9 (DaveM)
- d3dpp.PresentationInterval = D3DPRESENT_INTERVAL_DEFAULT;
- if (glb.bWaitForRetrace) {
- d3dpp.PresentationInterval = D3DPRESENT_INTERVAL_ONE;
- } else {
- d3dpp.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;
- }
- }
-
- // Decide if we can use hardware TnL
- dwBehaviourFlags = (lpCtx->bHasHWTnL) ?
- D3DCREATE_MIXED_VERTEXPROCESSING : D3DCREATE_SOFTWARE_VERTEXPROCESSING;
- // Add flag to tell D3D to be thread-safe
- if (glb.bMultiThreaded)
- dwBehaviourFlags |= D3DCREATE_MULTITHREADED;
- // Add flag to tell D3D to be FPU-safe
- if (!glb.bFastFPU)
- dwBehaviourFlags |= D3DCREATE_FPU_PRESERVE;
- hResult = IDirect3D9_CreateDevice(lpCtx->pD3D,
- glb.dwAdapter,
- d3dDevType,
- ctx->hWnd,
- dwBehaviourFlags,
- &d3dpp,
- &lpCtx->pDev);
- if (FAILED(hResult)) {
- ddlogError(DDLOG_CRITICAL_OR_WARN, "IDirect3D9_CreateDevice failed", hResult);
- nContextError = GLDERR_D3D;
- goto return_with_error;
- }
-
- if (bDirectDrawPersistant && bPersistantBuffers && dx9Globals.pD3D) {
- dx9Globals.pDev = lpCtx->pDev;
- dx9Globals.bDirect3DDevice = TRUE;
- }
-
- // Dump some useful stats
- hResult = IDirect3D9_GetAdapterIdentifier(
- lpCtx->pD3D,
- glb.dwAdapter,
- 0, // No WHQL detection (avoid few seconds delay)
- &d3dIdent);
- if (SUCCEEDED(hResult)) {
- ddlogPrintf(DDLOG_INFO, "[Driver Description: %s]", &d3dIdent.Description);
- ddlogPrintf(DDLOG_INFO, "[Driver file: %s %d.%d.%02d.%d]",
- d3dIdent.Driver,
- HIWORD(d3dIdent.DriverVersion.HighPart),
- LOWORD(d3dIdent.DriverVersion.HighPart),
- HIWORD(d3dIdent.DriverVersion.LowPart),
- LOWORD(d3dIdent.DriverVersion.LowPart));
- ddlogPrintf(DDLOG_INFO, "[VendorId: 0x%X, DeviceId: 0x%X, SubSysId: 0x%X, Revision: 0x%X]",
- d3dIdent.VendorId, d3dIdent.DeviceId, d3dIdent.SubSysId, d3dIdent.Revision);
- }
-
- // Test to see if IHV driver exposes Scissor Test (new for DX9)
- lpCtx->bCanScissor = lpCtx->d3dCaps9.RasterCaps & D3DPRASTERCAPS_SCISSORTEST;
- ddlogPrintf(DDLOG_INFO, "Can Scissor: %s", lpCtx->bCanScissor ? "Yes" : "No");
-
- // Init projection matrix for D3D TnL
- D3DXMatrixIdentity(&lpCtx->matProjection);
- lpCtx->matModelView = lpCtx->matProjection;
-// gld->bUseMesaProjection = TRUE;
-
-skip_direct3ddevice_create:
-
- // Create buffers to hold primitives
- lpCtx->PB2d.dwFVF = GLD_FVF_2D_VERTEX;
- lpCtx->PB2d.dwPool = D3DPOOL_SYSTEMMEM;
- lpCtx->PB2d.dwStride = sizeof(GLD_2D_VERTEX);
- lpCtx->PB2d.dwUsage = D3DUSAGE_DONOTCLIP |
- D3DUSAGE_DYNAMIC |
- D3DUSAGE_SOFTWAREPROCESSING |
- D3DUSAGE_WRITEONLY;
- hResult = _gldCreatePrimitiveBuffer(ctx->glCtx, lpCtx, &lpCtx->PB2d);
- if (FAILED(hResult))
- goto return_with_error;
-
- lpCtx->PB3d.dwFVF = GLD_FVF_3D_VERTEX;
- lpCtx->PB3d.dwPool = D3DPOOL_DEFAULT;
- lpCtx->PB3d.dwStride = sizeof(GLD_3D_VERTEX);
- lpCtx->PB3d.dwUsage = D3DUSAGE_DYNAMIC |
-//DaveM D3DUSAGE_SOFTWAREPROCESSING |
- D3DUSAGE_WRITEONLY;
- hResult = _gldCreatePrimitiveBuffer(ctx->glCtx, lpCtx, &lpCtx->PB3d);
- if (FAILED(hResult))
- goto return_with_error;
-
-/* // NOTE: A FVF code of zero indicates a non-FVF vertex buffer (for vertex shaders)
- lpCtx->PBtwosidelight.dwFVF = 0; //GLD_FVF_TWOSIDED_VERTEX;
- lpCtx->PBtwosidelight.dwPool = D3DPOOL_DEFAULT;
- lpCtx->PBtwosidelight.dwStride = sizeof(GLD_TWOSIDED_VERTEX);
- lpCtx->PBtwosidelight.dwUsage = D3DUSAGE_DONOTCLIP |
- D3DUSAGE_DYNAMIC |
- D3DUSAGE_SOFTWAREPROCESSING |
- D3DUSAGE_WRITEONLY;
- hResult = _gldCreatePrimitiveBuffer(ctx->glCtx, lpCtx, &lpCtx->PBtwosidelight);
- if (FAILED(hResult))
- goto return_with_error;*/
-
- // Now try and create the DX9 Vertex Shaders
-// _gldCreateVertexShaders(lpCtx);
-
- // Zero the pipeline usage counters
- lpCtx->PipelineUsage.qwMesa.QuadPart =
-// lpCtx->PipelineUsage.dwD3D2SVS.QuadPart =
- lpCtx->PipelineUsage.qwD3DFVF.QuadPart = 0;
-
- // Assign drawable to GL private
- ctx->glPriv = lpCtx;
- return TRUE;
-
-return_with_error:
- // Clean up and bail
-
-// _gldDestroyVertexShaders(lpCtx);
-
-// _gldDestroyPrimitiveBuffer(&lpCtx->PBtwosidelight);
- _gldDestroyPrimitiveBuffer(&lpCtx->PB3d);
- _gldDestroyPrimitiveBuffer(&lpCtx->PB2d);
-
- SAFE_RELEASE(lpCtx->pDev);
- SAFE_RELEASE(lpCtx->pD3D);
- return FALSE;
-}
-
-//---------------------------------------------------------------------------
-
-BOOL gldResizeDrawable_DX(
- DGL_ctx *ctx,
- BOOL bDefaultDriver,
- BOOL bPersistantInterface,
- BOOL bPersistantBuffers)
-{
- GLD_driver_dx9 *gld = NULL;
- D3DDEVTYPE d3dDevType;
- D3DPRESENT_PARAMETERS d3dpp;
- D3DDISPLAYMODE d3ddm;
- HRESULT hResult;
-
- // Error if context is NULL.
- if (ctx == NULL)
- return FALSE;
-
- gld = ctx->glPriv;
- if (gld == NULL)
- return FALSE;
-
- if (ctx->bSceneStarted) {
- IDirect3DDevice9_EndScene(gld->pDev);
- ctx->bSceneStarted = FALSE;
- }
-
- d3dDevType = (glb.dwDriver == GLDS_DRIVER_HAL) ? D3DDEVTYPE_HAL : D3DDEVTYPE_REF;
- if (!bDefaultDriver)
- d3dDevType = D3DDEVTYPE_REF; // Force Direct3D Reference Rasterise (software)
-
- // Get the display mode so we can make a compatible backbuffer
- hResult = IDirect3D9_GetAdapterDisplayMode(gld->pD3D, glb.dwAdapter, &d3ddm);
- if (FAILED(hResult)) {
- nContextError = GLDERR_D3D;
-// goto return_with_error;
- return FALSE;
- }
-
- // Destroy DX9 Vertex Shaders before Reset()
-// _gldDestroyVertexShaders(gld);
-
- // Release POOL_DEFAULT objects before Reset()
- if (gld->PB2d.dwPool == D3DPOOL_DEFAULT)
- _gldDestroyPrimitiveBuffer(&gld->PB2d);
- if (gld->PB3d.dwPool == D3DPOOL_DEFAULT)
- _gldDestroyPrimitiveBuffer(&gld->PB3d);
-// if (gld->PBtwosidelight.dwPool == D3DPOOL_DEFAULT)
-// _gldDestroyPrimitiveBuffer(&gld->PBtwosidelight);
-
- // Clear the presentation parameters (sets all members to zero)
- ZeroMemory(&d3dpp, sizeof(d3dpp));
-
- // Recommended by MS; needed for MultiSample.
- // Be careful if altering this for FullScreenBlit
- d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
-
- d3dpp.BackBufferFormat = d3ddm.Format;
- d3dpp.BackBufferCount = 1;
- d3dpp.MultiSampleType = _gldGetDeviceMultiSampleType(gld->pD3D, d3ddm.Format, d3dDevType, !ctx->bFullscreen);
- d3dpp.AutoDepthStencilFormat = ctx->lpPF->dwDriverData;
- d3dpp.EnableAutoDepthStencil = (d3dpp.AutoDepthStencilFormat == D3DFMT_UNKNOWN) ? FALSE : TRUE;
-
- // TODO: Sync to refresh
-
- if (ctx->bFullscreen) {
- ddlogWarnOption(FALSE); // Don't popup any messages in fullscreen
- d3dpp.Windowed = FALSE;
- d3dpp.BackBufferWidth = d3ddm.Width;
- d3dpp.BackBufferHeight = d3ddm.Height;
- d3dpp.hDeviceWindow = ctx->hWnd;
- d3dpp.FullScreen_RefreshRateInHz = D3DPRESENT_RATE_DEFAULT;
- d3dpp.PresentationInterval = D3DPRESENT_INTERVAL_DEFAULT;
- // Get better benchmark results? KeithH
-// d3dpp.FullScreen_RefreshRateInHz = D3DPRESENT_RATE_UNLIMITED;
- } else {
- ddlogWarnOption(glb.bMessageBoxWarnings); // OK to popup messages
- d3dpp.Windowed = TRUE;
- d3dpp.BackBufferWidth = ctx->dwWidth;
- d3dpp.BackBufferHeight = ctx->dwHeight;
- d3dpp.hDeviceWindow = ctx->hWnd;
- d3dpp.FullScreen_RefreshRateInHz = 0;
- d3dpp.PresentationInterval = D3DPRESENT_INTERVAL_DEFAULT;
- }
- hResult = IDirect3DDevice9_Reset(gld->pDev, &d3dpp);
- if (FAILED(hResult)) {
- ddlogError(DDLOG_CRITICAL_OR_WARN, "dglResize: Reset failed", hResult);
- return FALSE;
- //goto cleanup_and_return_with_error;
- }
-
- //
- // Recreate POOL_DEFAULT objects
- //
- if (gld->PB2d.dwPool == D3DPOOL_DEFAULT) {
- _gldCreatePrimitiveBuffer(ctx->glCtx, gld, &gld->PB2d);
- }
- if (gld->PB3d.dwPool == D3DPOOL_DEFAULT) {
- _gldCreatePrimitiveBuffer(ctx->glCtx, gld, &gld->PB3d);
- }
-// if (gld->PBtwosidelight.dwPool == D3DPOOL_DEFAULT) {
-// _gldCreatePrimitiveBuffer(ctx->glCtx, gld, &gld->PB2d);
-// }
-
- // Recreate DX9 Vertex Shaders
-// _gldCreateVertexShaders(gld);
-
- // Signal a complete state update
- ctx->glCtx->Driver.UpdateState(ctx->glCtx, _NEW_ALL);
-
- // Begin a new scene
- IDirect3DDevice9_BeginScene(gld->pDev);
- ctx->bSceneStarted = TRUE;
-
- return TRUE;
-}
-
-//---------------------------------------------------------------------------
-
-BOOL gldDestroyDrawable_DX(
- DGL_ctx *ctx)
-{
- GLD_driver_dx9 *lpCtx = NULL;
-
- // Error if context is NULL.
- if (!ctx)
- return FALSE;
-
- // Error if the drawable does not exist.
- if (!ctx->glPriv)
- return FALSE;
-
- lpCtx = ctx->glPriv;
-
-#ifdef _DEBUG
- // Dump out stats
- ddlogPrintf(DDLOG_SYSTEM, "Usage: M:0x%X%X, D:0x%X%X",
- lpCtx->PipelineUsage.qwMesa.HighPart,
- lpCtx->PipelineUsage.qwMesa.LowPart,
- lpCtx->PipelineUsage.qwD3DFVF.HighPart,
- lpCtx->PipelineUsage.qwD3DFVF.LowPart);
-#endif
-
-// _gldDestroyVertexShaders(lpCtx);
-
-// _gldDestroyPrimitiveBuffer(&lpCtx->PBtwosidelight);
- _gldDestroyPrimitiveBuffer(&lpCtx->PB3d);
- _gldDestroyPrimitiveBuffer(&lpCtx->PB2d);
-
- SAFE_RELEASE(lpCtx->pDev);
- SAFE_RELEASE(lpCtx->pD3D);
-
- // Free the private drawable data
- free(ctx->glPriv);
- ctx->glPriv = NULL;
-
- return TRUE;
-}
-
-//---------------------------------------------------------------------------
-
-BOOL gldCreatePrivateGlobals_DX(void)
-{
- ZeroMemory(&dx9Globals, sizeof(dx9Globals));
-
- // Load d3d9.dll
- dx9Globals.hD3D9DLL = LoadLibrary("D3D9.DLL");
- if (dx9Globals.hD3D9DLL == NULL)
- return FALSE;
-
- // Now try and obtain Direct3DCreate9
- dx9Globals.fnDirect3DCreate9 = (FNDIRECT3DCREATE9)GetProcAddress(dx9Globals.hD3D9DLL, "Direct3DCreate9");
- if (dx9Globals.fnDirect3DCreate9 == NULL) {
- FreeLibrary(dx9Globals.hD3D9DLL);
- return FALSE;
- }
-
- return TRUE;
-}
-
-//---------------------------------------------------------------------------
-
-BOOL gldDestroyPrivateGlobals_DX(void)
-{
- if (dx9Globals.bDirect3DDevice) {
- SAFE_RELEASE(dx9Globals.pDev);
- dx9Globals.bDirect3DDevice = FALSE;
- }
- if (dx9Globals.bDirect3D) {
- SAFE_RELEASE(dx9Globals.pD3D);
- dx9Globals.bDirect3D = FALSE;
- }
-
- FreeLibrary(dx9Globals.hD3D9DLL);
- dx9Globals.hD3D9DLL = NULL;
- dx9Globals.fnDirect3DCreate9 = NULL;
-
- return TRUE;
-}
-
-//---------------------------------------------------------------------------
-
-static void _BitsFromDisplayFormat(
- D3DFORMAT fmt,
- BYTE *cColorBits,
- BYTE *cRedBits,
- BYTE *cGreenBits,
- BYTE *cBlueBits,
- BYTE *cAlphaBits)
-{
- switch (fmt) {
- case D3DFMT_X1R5G5B5:
- *cColorBits = 16;
- *cRedBits = 5;
- *cGreenBits = 5;
- *cBlueBits = 5;
- *cAlphaBits = 0;
- return;
- case D3DFMT_R5G6B5:
- *cColorBits = 16;
- *cRedBits = 5;
- *cGreenBits = 6;
- *cBlueBits = 5;
- *cAlphaBits = 0;
- return;
- case D3DFMT_X8R8G8B8:
- *cColorBits = 32;
- *cRedBits = 8;
- *cGreenBits = 8;
- *cBlueBits = 8;
- *cAlphaBits = 0;
- return;
- case D3DFMT_A8R8G8B8:
- *cColorBits = 32;
- *cRedBits = 8;
- *cGreenBits = 8;
- *cBlueBits = 8;
- *cAlphaBits = 8;
- return;
- }
-
- // Should not get here!
- *cColorBits = 32;
- *cRedBits = 8;
- *cGreenBits = 8;
- *cBlueBits = 8;
- *cAlphaBits = 0;
-}
-
-//---------------------------------------------------------------------------
-
-static void _BitsFromDepthStencilFormat(
- D3DFORMAT fmt,
- BYTE *cDepthBits,
- BYTE *cStencilBits)
-{
- // NOTE: GL expects either 32 or 16 as depth bits.
- switch (fmt) {
- case D3DFMT_D32:
- *cDepthBits = 32;
- *cStencilBits = 0;
- return;
- case D3DFMT_D15S1:
- *cDepthBits = 16;
- *cStencilBits = 1;
- return;
- case D3DFMT_D24S8:
- *cDepthBits = 32;
- *cStencilBits = 8;
- return;
- case D3DFMT_D16:
- *cDepthBits = 16;
- *cStencilBits = 0;
- return;
- case D3DFMT_D24X8:
- *cDepthBits = 32;
- *cStencilBits = 0;
- return;
- case D3DFMT_D24X4S4:
- *cDepthBits = 32;
- *cStencilBits = 4;
- return;
- }
-}
-
-//---------------------------------------------------------------------------
-
-BOOL gldBuildPixelformatList_DX(void)
-{
- D3DDISPLAYMODE d3ddm;
- D3DFORMAT fmt[6];
- IDirect3D9 *pD3D = NULL;
- HRESULT hr;
- int nSupportedFormats = 0;
- int i;
- DGL_pixelFormat *pPF;
- BYTE cColorBits, cRedBits, cGreenBits, cBlueBits, cAlphaBits;
-// char buf[128];
-// char cat[8];
-
- // Direct3D (SW or HW)
- // These are arranged so that 'best' pixelformat
- // is higher in the list (for ChoosePixelFormat).
- const D3DFORMAT DepthStencil[6] = {
-// New order: increaing Z, then increasing stencil
- D3DFMT_D15S1,
- D3DFMT_D16,
- D3DFMT_D24X4S4,
- D3DFMT_D24X8,
- D3DFMT_D24S8,
- D3DFMT_D32,
- };
-
- // Dump DX version
- ddlogMessage(GLDLOG_SYSTEM, "DirectX Version : 9.0\n");
-
- // Release any existing pixelformat list
- if (glb.lpPF) {
- free(glb.lpPF);
- }
-
- glb.nPixelFormatCount = 0;
- glb.lpPF = NULL;
-
- //
- // Pixelformats for Direct3D (SW or HW) rendering
- //
-
- // Get a Direct3D 9.0 interface
- pD3D = dx9Globals.fnDirect3DCreate9(D3D_SDK_VERSION);
- if (!pD3D) {
- return FALSE;
- }
-
- // We will use the display mode format when finding compliant
- // rendertarget/depth-stencil surfaces.
- hr = IDirect3D9_GetAdapterDisplayMode(pD3D, glb.dwAdapter, &d3ddm);
- if (FAILED(hr)) {
- IDirect3D9_Release(pD3D);
- return FALSE;
- }
-
- // Run through the possible formats and detect supported formats
- for (i=0; i<6; i++) {
- hr = IDirect3D9_CheckDeviceFormat(
- pD3D,
- glb.dwAdapter,
- glb.dwDriver==GLDS_DRIVER_HAL ? D3DDEVTYPE_HAL : D3DDEVTYPE_REF,
- d3ddm.Format,
- D3DUSAGE_DEPTHSTENCIL,
- D3DRTYPE_SURFACE,
- DepthStencil[i]);
- if (FAILED(hr))
- // A failure here is not fatal.
- continue;
-
- // Verify that the depth format is compatible.
- hr = IDirect3D9_CheckDepthStencilMatch(
- pD3D,
- glb.dwAdapter,
- glb.dwDriver==GLDS_DRIVER_HAL ? D3DDEVTYPE_HAL : D3DDEVTYPE_REF,
- d3ddm.Format,
- d3ddm.Format,
- DepthStencil[i]);
- if (FAILED(hr))
- // A failure here is not fatal, just means depth-stencil
- // format is not compatible with this display mode.
- continue;
-
- fmt[nSupportedFormats++] = DepthStencil[i];
- }
-
- IDirect3D9_Release(pD3D);
-
- if (nSupportedFormats == 0)
- return FALSE; // Bail: no compliant pixelformats
-
- // Total count of pixelformats is:
- // (nSupportedFormats+1)*2
- // UPDATED: nSupportedFormats*2
- glb.lpPF = (DGL_pixelFormat *)calloc(nSupportedFormats*2, sizeof(DGL_pixelFormat));
- glb.nPixelFormatCount = nSupportedFormats*2;
- if (glb.lpPF == NULL) {
- glb.nPixelFormatCount = 0;
- return FALSE;
- }
-
- // Get a copy of pointer that we can alter
- pPF = glb.lpPF;
-
- // Cache colour bits from display format
- _BitsFromDisplayFormat(d3ddm.Format, &cColorBits, &cRedBits, &cGreenBits, &cBlueBits, &cAlphaBits);
-
- //
- // Add single-buffer formats
- //
-/*
- // NOTE: No longer returning pixelformats that don't contain depth
- // Single-buffer, no depth-stencil buffer
- memcpy(pPF, &pfTemplateHW, sizeof(DGL_pixelFormat));
- pPF->pfd.dwFlags &= ~PFD_DOUBLEBUFFER; // Remove doublebuffer flag
- pPF->pfd.cColorBits = cColorBits;
- pPF->pfd.cRedBits = cRedBits;
- pPF->pfd.cGreenBits = cGreenBits;
- pPF->pfd.cBlueBits = cBlueBits;
- pPF->pfd.cAlphaBits = cAlphaBits;
- pPF->pfd.cDepthBits = 0;
- pPF->pfd.cStencilBits = 0;
- pPF->dwDriverData = D3DFMT_UNKNOWN;
- pPF++;
-*/
- for (i=0; i<nSupportedFormats; i++, pPF++) {
- memcpy(pPF, &pfTemplateHW, sizeof(DGL_pixelFormat));
- pPF->pfd.dwFlags &= ~PFD_DOUBLEBUFFER; // Remove doublebuffer flag
- pPF->pfd.cColorBits = cColorBits;
- pPF->pfd.cRedBits = cRedBits;
- pPF->pfd.cGreenBits = cGreenBits;
- pPF->pfd.cBlueBits = cBlueBits;
- pPF->pfd.cAlphaBits = cAlphaBits;
- _BitsFromDepthStencilFormat(fmt[i], &pPF->pfd.cDepthBits, &pPF->pfd.cStencilBits);
- pPF->dwDriverData = fmt[i];
- }
-
- //
- // Add double-buffer formats
- //
-
- // NOTE: No longer returning pixelformats that don't contain depth
-/*
- memcpy(pPF, &pfTemplateHW, sizeof(DGL_pixelFormat));
- pPF->pfd.cColorBits = cColorBits;
- pPF->pfd.cRedBits = cRedBits;
- pPF->pfd.cGreenBits = cGreenBits;
- pPF->pfd.cBlueBits = cBlueBits;
- pPF->pfd.cAlphaBits = cAlphaBits;
- pPF->pfd.cDepthBits = 0;
- pPF->pfd.cStencilBits = 0;
- pPF->dwDriverData = D3DFMT_UNKNOWN;
- pPF++;
-*/
- for (i=0; i<nSupportedFormats; i++, pPF++) {
- memcpy(pPF, &pfTemplateHW, sizeof(DGL_pixelFormat));
- pPF->pfd.cColorBits = cColorBits;
- pPF->pfd.cRedBits = cRedBits;
- pPF->pfd.cGreenBits = cGreenBits;
- pPF->pfd.cBlueBits = cBlueBits;
- pPF->pfd.cAlphaBits = cAlphaBits;
- _BitsFromDepthStencilFormat(fmt[i], &pPF->pfd.cDepthBits, &pPF->pfd.cStencilBits);
- pPF->dwDriverData = fmt[i];
- }
-
- // Popup warning message if non RGB color mode
- {
- // This is a hack. KeithH
- HDC hdcDesktop = GetDC(NULL);
- DWORD dwDisplayBitDepth = GetDeviceCaps(hdcDesktop, BITSPIXEL);
- ReleaseDC(0, hdcDesktop);
- if (dwDisplayBitDepth <= 8) {
- ddlogPrintf(DDLOG_WARN, "Current Color Depth %d bpp is not supported", dwDisplayBitDepth);
- MessageBox(NULL, szColorDepthWarning, "GLDirect", MB_OK | MB_ICONWARNING);
- }
- }
-
- // Mark list as 'current'
- glb.bPixelformatsDirty = FALSE;
-
- return TRUE;
-}
-
-//---------------------------------------------------------------------------
-
-BOOL gldInitialiseMesa_DX(
- DGL_ctx *lpCtx)
-{
- GLD_driver_dx9 *gld = NULL;
- int MaxTextureSize, TextureLevels;
- BOOL bSoftwareTnL;
-
- if (lpCtx == NULL)
- return FALSE;
-
- gld = lpCtx->glPriv;
- if (gld == NULL)
- return FALSE;
-
- if (glb.bMultitexture) {
- lpCtx->glCtx->Const.MaxTextureUnits = gld->d3dCaps9.MaxSimultaneousTextures;
- // Only support MAX_TEXTURE_UNITS texture units.
- // ** If this is altered then the FVF formats must be reviewed **.
- if (lpCtx->glCtx->Const.MaxTextureUnits > GLD_MAX_TEXTURE_UNITS_DX9)
- lpCtx->glCtx->Const.MaxTextureUnits = GLD_MAX_TEXTURE_UNITS_DX9;
- } else {
- // Multitexture override
- lpCtx->glCtx->Const.MaxTextureUnits = 1;
- }
-
- // max texture size
- MaxTextureSize = min(gld->d3dCaps9.MaxTextureHeight, gld->d3dCaps9.MaxTextureWidth);
- if (MaxTextureSize == 0)
- MaxTextureSize = 256; // Sanity check
-
- //
- // HACK!!
- if (MaxTextureSize > 1024)
- MaxTextureSize = 1024; // HACK - CLAMP TO 1024
- // HACK!!
- //
-
- // Got to set MAX_TEXTURE_SIZE as max levels.
- // Who thought this stupid idea up? ;)
- TextureLevels = 0;
- // Calculate power-of-two.
- while (MaxTextureSize) {
- TextureLevels++;
- MaxTextureSize >>= 1;
- }
- lpCtx->glCtx->Const.MaxTextureLevels = (TextureLevels) ? TextureLevels : 8;
- lpCtx->glCtx->Const.MaxDrawBuffers = 1;
-
- IDirect3DDevice9_SetRenderState(gld->pDev, D3DRS_LIGHTING, FALSE);
- IDirect3DDevice9_SetRenderState(gld->pDev, D3DRS_CULLMODE, D3DCULL_NONE);
- IDirect3DDevice9_SetRenderState(gld->pDev, D3DRS_DITHERENABLE, TRUE);
- IDirect3DDevice9_SetRenderState(gld->pDev, D3DRS_SHADEMODE, D3DSHADE_GOURAUD);
-
- IDirect3DDevice9_SetRenderState(gld->pDev, D3DRS_ZENABLE,
- (lpCtx->lpPF->dwDriverData!=D3DFMT_UNKNOWN) ? D3DZB_TRUE : D3DZB_FALSE);
-
- // Set the view matrix
- {
- D3DXMATRIX vm;
-#if 1
- D3DXMatrixIdentity(&vm);
-#else
- D3DXVECTOR3 Eye(0.0f, 0.0f, 0.0f);
- D3DXVECTOR3 At(0.0f, 0.0f, -1.0f);
- D3DXVECTOR3 Up(0.0f, 1.0f, 0.0f);
- D3DXMatrixLookAtRH(&vm, &Eye, &At, &Up);
- vm._31 = -vm._31;
- vm._32 = -vm._32;
- vm._33 = -vm._33;
- vm._34 = -vm._34;
-#endif
- IDirect3DDevice9_SetTransform(gld->pDev, D3DTS_VIEW, &vm);
- }
-
- if (gld->bHasHWTnL) {
- if (glb.dwTnL == GLDS_TNL_DEFAULT)
- bSoftwareTnL = FALSE; // HW TnL
- else {
- bSoftwareTnL = ((glb.dwTnL == GLDS_TNL_MESA) || (glb.dwTnL == GLDS_TNL_D3DSW)) ? TRUE : FALSE;
- }
- } else {
- // No HW TnL, so no choice possible
- bSoftwareTnL = TRUE;
- }
-// IDirect3DDevice9_SetRenderState(gld->pDev, D3DRS_SOFTWAREVERTEXPROCESSING, bSoftwareTnL);
- IDirect3DDevice9_SetSoftwareVertexProcessing(gld->pDev, bSoftwareTnL);
-
-// Dump this in a Release build as well, now.
-//#ifdef _DEBUG
- ddlogPrintf(DDLOG_INFO, "HW TnL: %s",
- gld->bHasHWTnL ? (bSoftwareTnL ? "Disabled" : "Enabled") : "Unavailable");
-//#endif
-
- gldEnableExtensions_DX9(lpCtx->glCtx);
- gldInstallPipeline_DX9(lpCtx->glCtx);
- gldSetupDriverPointers_DX9(lpCtx->glCtx);
-
- // Signal a complete state update
- lpCtx->glCtx->Driver.UpdateState(lpCtx->glCtx, _NEW_ALL);
-
- // Start a scene
- IDirect3DDevice9_BeginScene(gld->pDev);
- lpCtx->bSceneStarted = TRUE;
-
- return TRUE;
-}
-
-//---------------------------------------------------------------------------
-
-BOOL gldSwapBuffers_DX(
- DGL_ctx *ctx,
- HDC hDC,
- HWND hWnd)
-{
- HRESULT hr;
- GLD_driver_dx9 *gld = NULL;
-
- if (ctx == NULL)
- return FALSE;
-
- gld = ctx->glPriv;
- if (gld == NULL)
- return FALSE;
-
- if (ctx->bSceneStarted) {
- IDirect3DDevice9_EndScene(gld->pDev);
- ctx->bSceneStarted = FALSE;
- }
-
- // Swap the buffers. hWnd may override the hWnd used for CreateDevice()
- hr = IDirect3DDevice9_Present(gld->pDev, NULL, NULL, hWnd, NULL);
-
-exit_swap:
-
- IDirect3DDevice9_BeginScene(gld->pDev);
- ctx->bSceneStarted = TRUE;
-
-// Debugging code
-#ifdef _DEBUG
-// ddlogMessage(GLDLOG_WARN, "SwapBuffers\n");
-#endif
-
- return (FAILED(hr)) ? FALSE : TRUE;
-}
-
-//---------------------------------------------------------------------------
-
-BOOL gldGetDisplayMode_DX(
- DGL_ctx *ctx,
- GLD_displayMode *glddm)
-{
- D3DDISPLAYMODE d3ddm;
- HRESULT hr;
- GLD_driver_dx9 *lpCtx = NULL;
- BYTE cColorBits, cRedBits, cGreenBits, cBlueBits, cAlphaBits;
-
- if ((glddm == NULL) || (ctx == NULL))
- return FALSE;
-
- lpCtx = ctx->glPriv;
- if (lpCtx == NULL)
- return FALSE;
-
- if (lpCtx->pD3D == NULL)
- return FALSE;
-
- hr = IDirect3D9_GetAdapterDisplayMode(lpCtx->pD3D, glb.dwAdapter, &d3ddm);
- if (FAILED(hr))
- return FALSE;
-
- // Get info from the display format
- _BitsFromDisplayFormat(d3ddm.Format,
- &cColorBits, &cRedBits, &cGreenBits, &cBlueBits, &cAlphaBits);
-
- glddm->Width = d3ddm.Width;
- glddm->Height = d3ddm.Height;
- glddm->BPP = cColorBits;
- glddm->Refresh = d3ddm.RefreshRate;
-
- return TRUE;
-}
-
-//---------------------------------------------------------------------------
-
diff --git a/src/mesa/drivers/windows/gldirect/mesasw/colors.h b/src/mesa/drivers/windows/gldirect/mesasw/colors.h
deleted file mode 100644
index 9c1f2a0540..0000000000
--- a/src/mesa/drivers/windows/gldirect/mesasw/colors.h
+++ /dev/null
@@ -1,520 +0,0 @@
-/* File name : colors.h
- * Version : 2.3
- *
- * Header file for display driver for Mesa 2.3 under
- * Windows95 and WindowsNT
- * This file defines macros and global variables needed
- * for converting color format
- *
- * Copyright (C) 1996- Li Wei
- * Address : Institute of Artificial Intelligence
- * : & Robotics
- * : Xi'an Jiaotong University
- * Email : liwei@aiar.xjtu.edu.cn
- * Web page : http://sun.aiar.xjtu.edu.cn
- *
- * This file and its associations are partially based on the
- * Windows NT driver for Mesa, written by Mark Leaming
- * (mark@rsinc.com).
- */
-
-/*
- * Macros for pixel format defined
- */
-
-/*
- * Revision 1.1 2004/04/20 11:13:11 alanh
- * add SciTech's GLDirect driver for Windows.
- *
- * This code is donated to Mesa which allows the usage of
- * a Direct3D layer (DX7, DX8, DX9 or complete software fallback).
- *
- * No build system exists for this code yet, that will come.....
- *
- * Revision 1.1.1.1 1999/08/19 00:55:42 jtg
- * Imported sources
- *
- * Revision 1.2 1999/01/03 03:08:57 brianp
- * Ted Jump's changes
- *
- * Revision 1.1 1999/01/03 03:08:12 brianp
- * Initial revision
- *
- * Revision 2.0.2 1997/4/30 15:58:00 CST by Li Wei(liwei@aiar.xjtu.edu.cn)
- * Add LUTs need for dithering
- */
-
-/*
- * Revision 1.1 2004/04/20 11:13:11 alanh
- * add SciTech's GLDirect driver for Windows.
- *
- * This code is donated to Mesa which allows the usage of
- * a Direct3D layer (DX7, DX8, DX9 or complete software fallback).
- *
- * No build system exists for this code yet, that will come.....
- *
- * Revision 1.1.1.1 1999/08/19 00:55:42 jtg
- * Imported sources
- *
- * Revision 1.2 1999/01/03 03:08:57 brianp
- * Ted Jump's changes
- *
- * Revision 1.1 1999/01/03 03:08:12 brianp
- * Initial revision
- *
- * Revision 2.0.1 1997/4/29 15:52:00 CST by Li Wei(liwei@aiar.xjtu.edu.cn)
- * Add BGR8 Macro
- */
-
-/*
- * Revision 1.1 2004/04/20 11:13:11 alanh
- * add SciTech's GLDirect driver for Windows.
- *
- * This code is donated to Mesa which allows the usage of
- * a Direct3D layer (DX7, DX8, DX9 or complete software fallback).
- *
- * No build system exists for this code yet, that will come.....
- *
- * Revision 1.1.1.1 1999/08/19 00:55:42 jtg
- * Imported sources
- *
- * Revision 1.2 1999/01/03 03:08:57 brianp
- * Ted Jump's changes
- *
- * Revision 1.1 1999/01/03 03:08:12 brianp
- * Initial revision
- *
- * Revision 2.0 1996/11/15 10:55:00 CST by Li Wei(liwei@aiar.xjtu.edu.cn)
- * Initial revision
- */
-/* Values for wmesa->pixelformat: */
-
-#define PF_8A8B8G8R 3 /* 32-bit TrueColor: 8-A, 8-B, 8-G, 8-R */
-#define PF_8R8G8B 4 /* 32-bit TrueColor: 8-R, 8-G, 8-B */
-#define PF_5R6G5B 5 /* 16-bit TrueColor: 5-R, 6-G, 5-B bits */
-#define PF_DITHER8 6 /* Dithered RGB using a lookup table */
-#define PF_LOOKUP 7 /* Undithered RGB using a lookup table */
-#define PF_GRAYSCALE 10 /* Grayscale or StaticGray */
-#define PF_BADFORMAT 11
-#define PF_INDEX8 12
-
-char ColorMap16[] = {
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
-0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
-0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
-0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
-0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,
-0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
-0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
-0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
-0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
-0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,
-0x0B,0x0B,0x0B,0x0B,0x0B,0x0B,0x0B,0x0B,
-0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,
-0x0D,0x0D,0x0D,0x0D,0x0D,0x0D,0x0D,0x0D,
-0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,
-0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,
-0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
-0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,
-0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,
-0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,
-0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,
-0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,
-0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,
-0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,
-0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
-0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,
-0x1A,0x1A,0x1A,0x1A,0x1A,0x1A,0x1A,0x1A,
-0x1B,0x1B,0x1B,0x1B,0x1B,0x1B,0x1B,0x1B,
-0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,
-0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,
-0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,
-0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F};
-
-#define BGR8(r,g,b) (unsigned)(((BYTE)(b & 0xc0 | (g & 0xe0)>>2 | (r & 0xe0)>>5)))
-#ifdef DDRAW
-#define BGR16(r,g,b) ((WORD)(((BYTE)(ColorMap16[b]) | ((BYTE)(g&0xfc) << 3)) | (((WORD)(BYTE)(ColorMap16[r])) << 11)))
-#else
-#define BGR16(r,g,b) ((WORD)(((BYTE)(ColorMap16[b]) | ((BYTE)(ColorMap16[g]) << 5)) | (((WORD)(BYTE)(ColorMap16[r])) << 10)))
-#endif
-#define BGR24(r,g,b) (unsigned long)(((DWORD)(((BYTE)(b)|((WORD)((BYTE)(g))<<8))|(((DWORD)(BYTE)(r))<<16))) << 8)
-#define BGR32(r,g,b) (unsigned long)((DWORD)(((BYTE)(b)|((WORD)((BYTE)(g))<<8))|(((DWORD)(BYTE)(r))<<16)))
-
-
-
-/*
- * If pixelformat==PF_8A8B8G8R:
- */
-#define PACK_8A8B8G8R( R, G, B, A ) \
- ( ((A) << 24) | ((B) << 16) | ((G) << 8) | (R) )
-
-
-/*
- * If pixelformat==PF_8R8G8B:
- */
-#define PACK_8R8G8B( R, G, B) ( ((R) << 16) | ((G) << 8) | (B) )
-
-
-/*
- * If pixelformat==PF_5R6G5B:
- */
-
-
-#ifdef DDRAW
-#define PACK_5R6G5B( R, G, B) ((WORD)(((BYTE)(ColorMap16[B]) | ((BYTE)(G&0xfc) << 3)) | (((WORD)(BYTE)(ColorMap16[R])) << 11)))
-#else
-#define PACK_5R6G5B( R, G, B) ((WORD)(((BYTE)(ColorMap16[B]) | ((BYTE)(ColorMap16[G]) << 5)) | (((WORD)(BYTE)(ColorMap16[R])) << 10)))
-#endif
-/*----------------------------------------------------------------------------
-
-Division lookup tables. These tables compute 0-255 divided by 51 and
-modulo 51. These tables could approximate gamma correction.
-
-*/
-
-char unsigned const aDividedBy51Rounded[256] =
-{
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
-};
-
-char unsigned const aDividedBy51[256] =
-{
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5,
-};
-
-char unsigned const aModulo51[256] =
-{
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
- 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 0, 1, 2, 3, 4, 5, 6,
- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
- 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
- 44, 45, 46, 47, 48, 49, 50, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
- 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
- 49, 50, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
- 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
- 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 0, 1, 2, 3,
- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 0,
-};
-
-/*----------------------------------------------------------------------------
-
-Multiplication LUTs. These compute 0-5 times 6 and 36.
-
-*/
-
-char unsigned const aTimes6[6] =
-{
- 0, 6, 12, 18, 24, 30
-};
-
-char unsigned const aTimes36[6] =
-{
- 0, 36, 72, 108, 144, 180
-};
-
-
-/*----------------------------------------------------------------------------
-
-Dither matrices for 8 bit to 2.6 bit halftones.
-
-*/
-
-char unsigned const aHalftone16x16[256] =
-{
- 0, 44, 9, 41, 3, 46, 12, 43, 1, 44, 10, 41, 3, 46, 12, 43,
- 34, 16, 25, 19, 37, 18, 28, 21, 35, 16, 26, 19, 37, 18, 28, 21,
- 38, 6, 47, 3, 40, 9, 50, 6, 38, 7, 47, 4, 40, 9, 49, 6,
- 22, 28, 13, 31, 25, 31, 15, 34, 22, 29, 13, 32, 24, 31, 15, 34,
- 2, 46, 12, 43, 1, 45, 10, 42, 2, 45, 11, 42, 1, 45, 11, 42,
- 37, 18, 27, 21, 35, 17, 26, 20, 36, 17, 27, 20, 36, 17, 26, 20,
- 40, 8, 49, 5, 38, 7, 48, 4, 39, 8, 48, 5, 39, 7, 48, 4,
- 24, 30, 15, 33, 23, 29, 13, 32, 23, 30, 14, 33, 23, 29, 14, 32,
- 2, 46, 12, 43, 0, 44, 10, 41, 3, 47, 12, 44, 0, 44, 10, 41,
- 37, 18, 27, 21, 35, 16, 25, 19, 37, 19, 28, 22, 35, 16, 25, 19,
- 40, 9, 49, 5, 38, 7, 47, 4, 40, 9, 50, 6, 38, 6, 47, 3,
- 24, 30, 15, 34, 22, 29, 13, 32, 25, 31, 15, 34, 22, 28, 13, 31,
- 1, 45, 11, 42, 2, 46, 11, 42, 1, 45, 10, 41, 2, 46, 11, 43,
- 36, 17, 26, 20, 36, 17, 27, 21, 35, 16, 26, 20, 36, 18, 27, 21,
- 39, 8, 48, 4, 39, 8, 49, 5, 38, 7, 48, 4, 39, 8, 49, 5,
- 23, 29, 14, 33, 24, 30, 14, 33, 23, 29, 13, 32, 24, 30, 14, 33,
-};
-
-char unsigned const aHalftone8x8[64] =
-{
- 0, 38, 9, 47, 2, 40, 11, 50,
- 25, 12, 35, 22, 27, 15, 37, 24,
- 6, 44, 3, 41, 8, 47, 5, 43,
- 31, 19, 28, 15, 34, 21, 31, 18,
- 1, 39, 11, 49, 0, 39, 10, 48,
- 27, 14, 36, 23, 26, 13, 35, 23,
- 7, 46, 4, 43, 7, 45, 3, 42,
- 33, 20, 30, 17, 32, 19, 29, 16,
-};
-
-char unsigned const aHalftone4x4_1[16] =
-{
- 0, 25, 6, 31,
- 38, 12, 44, 19,
- 9, 35, 3, 28,
- 47, 22, 41, 15
-};
-
-char unsigned const aHalftone4x4_2[16] =
-{
- 41, 3, 9, 28,
- 35, 15, 22, 47,
- 6, 25, 38, 0,
- 19, 44, 31, 12
-};
-
-/***************************************************************************
- aWinGHalftoneTranslation
-
- Translates a 2.6 bit-per-pixel halftoned representation into the
- slightly rearranged WinG Halftone Palette.
-*/
-
-char unsigned const aWinGHalftoneTranslation[216] =
-{
- 0,
- 29,
- 30,
- 31,
- 32,
- 249,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49,
- 50,
- 51,
- 52,
- 53,
- 54,
- 55,
- 56,
- 250,
- 250,
- 57,
- 58,
- 59,
- 251,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 250,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98,
- 99,
- 100,
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110,
- 111,
- 227,
- 112,
- 113,
- 114,
- 115,
- 116,
- 117,
- 118,
- 119,
- 151,
- 120,
- 121,
- 122,
- 123,
- 124,
- 228,
- 125,
- 126,
- 229,
- 133,
- 162,
- 135,
- 131,
- 132,
- 137,
- 166,
- 134,
- 140,
- 130,
- 136,
- 143,
- 138,
- 139,
- 174,
- 141,
- 142,
- 177,
- 129,
- 144,
- 145,
- 146,
- 147,
- 148,
- 149,
- 150,
- 157,
- 152,
- 153,
- 154,
- 155,
- 156,
- 192,
- 158,
- 159,
- 160,
- 161,
- 196,
- 163,
- 164,
- 165,
- 127,
- 199,
- 167,
- 168,
- 169,
- 170,
- 171,
- 172,
- 173,
- 207,
- 175,
- 176,
- 210,
- 178,
- 179,
- 180,
- 181,
- 182,
- 183,
- 184,
- 185,
- 186,
- 187,
- 188,
- 189,
- 190,
- 191,
- 224,
- 193,
- 194,
- 195,
- 252,
- 252,
- 197,
- 198,
- 128,
- 253,
- 252,
- 200,
- 201,
- 202,
- 203,
- 204,
- 205,
- 206,
- 230,
- 208,
- 209,
- 231,
- 211,
- 212,
- 213,
- 214,
- 215,
- 216,
- 217,
- 218,
- 219,
- 220,
- 221,
- 222,
- 254,
- 223,
- 232,
- 225,
- 226,
- 255,
-};
diff --git a/src/mesa/drivers/windows/gldirect/mesasw/gld_wgl_mesasw.c b/src/mesa/drivers/windows/gldirect/mesasw/gld_wgl_mesasw.c
deleted file mode 100644
index 7ac425a109..0000000000
--- a/src/mesa/drivers/windows/gldirect/mesasw/gld_wgl_mesasw.c
+++ /dev/null
@@ -1,1698 +0,0 @@
-/****************************************************************************
-*
-* Mesa 3-D graphics library
-* Direct3D Driver Interface
-*
-* ========================================================================
-*
-* Copyright (C) 1991-2004 SciTech Software, Inc. 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
-* SCITECH SOFTWARE INC 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.
-*
-* ======================================================================
-*
-* Language: ANSI C
-* Environment: Windows 9x/2000/XP/XBox (Win32)
-*
-* Description: Mesa Software WGL (WindowsGL)
-*
-****************************************************************************/
-
-#include <windows.h>
-#define GL_GLEXT_PROTOTYPES
-#include <GL/gl.h>
-#include <GL/glext.h>
-
-#include "glheader.h"
-#include "colors.h"
-#include "context.h"
-#include "colormac.h"
-#include "dd.h"
-#include "depth.h"
-#include "extensions.h"
-#include "macros.h"
-#include "matrix.h"
-// #include "mem.h"
-//#include "mmath.h"
-#include "mtypes.h"
-#include "texformat.h"
-#include "texstore.h"
-#include "teximage.h"
-#include "vbo/vbo.h"
-#include "swrast/swrast.h"
-#include "swrast_setup/swrast_setup.h"
-#include "swrast/s_context.h"
-#include "swrast/s_depth.h"
-#include "swrast/s_lines.h"
-#include "swrast/s_triangle.h"
-#include "swrast/s_trispan.h"
-#include "tnl/tnl.h"
-#include "tnl/t_context.h"
-#include "tnl/t_pipeline.h"
-
-#include "dglcontext.h"
-#include "gld_driver.h"
-
-//---------------------------------------------------------------------------
-//---------------------------------------------------------------------------
-
-DGL_pixelFormat pfTemplateMesaSW =
-{
- {
- sizeof(PIXELFORMATDESCRIPTOR), // Size of the data structure
- 1, // Structure version - should be 1
- // Flags:
- PFD_DRAW_TO_WINDOW | // The buffer can draw to a window or device surface.
- PFD_DRAW_TO_BITMAP | // The buffer can draw to a bitmap. (DaveM)
- PFD_SUPPORT_GDI | // The buffer supports GDI drawing. (DaveM)
- PFD_SUPPORT_OPENGL | // The buffer supports OpenGL drawing.
- PFD_DOUBLEBUFFER | // The buffer is double-buffered.
- 0, // Placeholder for easy commenting of above flags
- PFD_TYPE_RGBA, // Pixel type RGBA.
- 32, // Total colour bitplanes (excluding alpha bitplanes)
- 8, 0, // Red bits, shift
- 8, 8, // Green bits, shift
- 8, 16, // Blue bits, shift
- 8, 24, // Alpha bits, shift (destination alpha)
- 64, // Accumulator bits (total)
- 16, 16, 16, 16, // Accumulator bits: Red, Green, Blue, Alpha
- 16, // Depth bits
- 8, // Stencil bits
- 0, // Number of auxiliary buffers
- 0, // Layer type
- 0, // Specifies the number of overlay and underlay planes.
- 0, // Layer mask
- 0, // Specifies the transparent color or index of an underlay plane.
- 0 // Damage mask
- },
- 0, // Unused
-};
-
-//---------------------------------------------------------------------------
-// Extensions
-//---------------------------------------------------------------------------
-
-typedef struct {
- PROC proc;
- char *name;
-} GLD_extension;
-
-static GLD_extension GLD_extList[] = {
-#ifdef GL_EXT_polygon_offset
- { (PROC)glPolygonOffsetEXT, "glPolygonOffsetEXT" },
-#endif
- { (PROC)glBlendEquationEXT, "glBlendEquationEXT" },
- { (PROC)glBlendColorEXT, "glBlendColorExt" },
- { (PROC)glVertexPointerEXT, "glVertexPointerEXT" },
- { (PROC)glNormalPointerEXT, "glNormalPointerEXT" },
- { (PROC)glColorPointerEXT, "glColorPointerEXT" },
- { (PROC)glIndexPointerEXT, "glIndexPointerEXT" },
- { (PROC)glTexCoordPointerEXT, "glTexCoordPointer" },
- { (PROC)glEdgeFlagPointerEXT, "glEdgeFlagPointerEXT" },
- { (PROC)glGetPointervEXT, "glGetPointervEXT" },
- { (PROC)glArrayElementEXT, "glArrayElementEXT" },
- { (PROC)glDrawArraysEXT, "glDrawArrayEXT" },
- { (PROC)glAreTexturesResidentEXT, "glAreTexturesResidentEXT" },
- { (PROC)glBindTextureEXT, "glBindTextureEXT" },
- { (PROC)glDeleteTexturesEXT, "glDeleteTexturesEXT" },
- { (PROC)glGenTexturesEXT, "glGenTexturesEXT" },
- { (PROC)glIsTextureEXT, "glIsTextureEXT" },
- { (PROC)glPrioritizeTexturesEXT, "glPrioritizeTexturesEXT" },
- { (PROC)glCopyTexSubImage3DEXT, "glCopyTexSubImage3DEXT" },
- { (PROC)glTexImage3DEXT, "glTexImage3DEXT" },
- { (PROC)glTexSubImage3DEXT, "glTexSubImage3DEXT" },
- { (PROC)glPointParameterfEXT, "glPointParameterfEXT" },
- { (PROC)glPointParameterfvEXT, "glPointParameterfvEXT" },
- { (PROC)glLockArraysEXT, "glLockArraysEXT" },
- { (PROC)glUnlockArraysEXT, "glUnlockArraysEXT" },
- { NULL, "\0" }
-};
-
-//---------------------------------------------------------------------------
-// WMesa Internal Functions
-//---------------------------------------------------------------------------
-
-#define PAGE_FILE 0xffffffff
-
-#define REDBITS 0x03
-#define REDSHIFT 0x00
-#define GREENBITS 0x03
-#define GREENSHIFT 0x03
-#define BLUEBITS 0x02
-#define BLUESHIFT 0x06
-
-typedef struct _dibSection {
- HDC hDC;
- HANDLE hFileMap;
- BOOL fFlushed;
- LPVOID base;
-} WMDIBSECTION, *PWMDIBSECTION;
-
-typedef struct wmesa_context {
- HWND Window;
- HDC hDC;
- HPALETTE hPalette;
- HPALETTE hOldPalette;
- HPEN hPen;
- HPEN hOldPen;
- HCURSOR hOldCursor;
- COLORREF crColor;
- // 3D projection stuff
- RECT drawRect;
- UINT uiDIBoffset;
- // OpenGL stuff
- HPALETTE hGLPalette;
- GLuint width;
- GLuint height;
- GLuint ScanWidth;
- GLboolean db_flag; //* double buffered?
- GLboolean rgb_flag; //* RGB mode?
- GLboolean dither_flag; //* use dither when 256 color mode for RGB?
- GLuint depth; //* bits per pixel (1, 8, 24, etc)
- ULONG pixel; // current color index or RGBA pixel value
- ULONG clearpixel; //* pixel for clearing the color buffers
- PBYTE ScreenMem; // WinG memory
- BITMAPINFO *IndexFormat;
- HPALETTE hPal; // Current Palette
- HPALETTE hPalHalfTone;
-
-
- WMDIBSECTION dib;
- BITMAPINFO bmi;
- HBITMAP hbmDIB;
- HBITMAP hOldBitmap;
- HBITMAP Old_Compat_BM;
- HBITMAP Compat_BM; // Bitmap for double buffering
- PBYTE pbPixels;
- int nColors;
- BYTE cColorBits;
- int pixelformat;
-
- RECT rectOffScreen;
- RECT rectSurface;
-// HWND hwnd;
- DWORD pitch;
- PBYTE addrOffScreen;
-
- // We always double-buffer, for performance reasons, but
- // we need to know which of SwapBuffers() or glFlush() to
- // handle. If we're emulating, then we update on Flush(),
- // otherwise we update on SwapBufers(). KeithH
- BOOL bEmulateSingleBuffer;
-} WMesaContext, *PWMC;
-
-#define GLD_GET_WMESA_DRIVER(c) (WMesaContext*)(c)->glPriv
-
-// TODO:
-GLint stereo_flag = 0 ;
-
-/* If we are double-buffering, we want to get the DC for the
- * off-screen DIB, otherwise the DC for the window.
- */
-#define DD_GETDC ((Current->db_flag) ? Current->dib.hDC : Current->hDC )
-#define DD_RELEASEDC
-
-#define FLIP(Y) (Current->height-(Y)-1)
-
-struct DISPLAY_OPTIONS {
- int stereo;
- int fullScreen;
- int mode;
- int bpp;
-};
-
-struct DISPLAY_OPTIONS displayOptions;
-
-//---------------------------------------------------------------------------
-
-static unsigned char threeto8[8] = {
- 0, 0111>>1, 0222>>1, 0333>>1, 0444>>1, 0555>>1, 0666>>1, 0377
-};
-
-static unsigned char twoto8[4] = {
- 0, 0x55, 0xaa, 0xff
-};
-
-static unsigned char oneto8[2] = {
- 0, 255
-};
-
-//---------------------------------------------------------------------------
-
-BYTE DITHER_RGB_2_8BIT( int red, int green, int blue, int pixel, int scanline)
-{
- char unsigned redtemp, greentemp, bluetemp, paletteindex;
-
- //*** now, look up each value in the halftone matrix
- //*** using an 8x8 ordered dither.
- redtemp = aDividedBy51[red]
- + (aModulo51[red] > aHalftone8x8[(pixel%8)*8
- + scanline%8]);
- greentemp = aDividedBy51[(char unsigned)green]
- + (aModulo51[green] > aHalftone8x8[
- (pixel%8)*8 + scanline%8]);
- bluetemp = aDividedBy51[(char unsigned)blue]
- + (aModulo51[blue] > aHalftone8x8[
- (pixel%8)*8 +scanline%8]);
-
- //*** recombine the halftoned rgb values into a palette index
- paletteindex =
- redtemp + aTimes6[greentemp] + aTimes36[bluetemp];
-
- //*** and translate through the wing halftone palette
- //*** translation vector to give the correct value.
- return aWinGHalftoneTranslation[paletteindex];
-}
-
-//---------------------------------------------------------------------------
-
-static unsigned char componentFromIndex(UCHAR i, UINT nbits, UINT shift)
-{
- unsigned char val;
-
- val = i >> shift;
- switch (nbits) {
-
- case 1:
- val &= 0x1;
- return oneto8[val];
-
- case 2:
- val &= 0x3;
- return twoto8[val];
-
- case 3:
- val &= 0x7;
- return threeto8[val];
-
- default:
- return 0;
- }
-}
-
-//---------------------------------------------------------------------------
-
-
-void wmSetPixel(PWMC pwc, int iScanLine, int iPixel, BYTE r, BYTE g, BYTE b)
-{
- WMesaContext *Current = pwc;
-
- // Test for invalid scanline parameter. KeithH
- if ((iScanLine < 0) || (iScanLine >= pwc->height))
- return;
-
- if (Current->db_flag) {
- LPBYTE lpb = pwc->pbPixels;
- UINT nBypp = pwc->cColorBits >> 3;
- UINT nOffset = iPixel % nBypp;
-
- lpb += pwc->ScanWidth * iScanLine;
- lpb += iPixel * nBypp;
-
- if(nBypp == 1){
- if(pwc->dither_flag)
- *lpb = DITHER_RGB_2_8BIT(r,g,b,iScanLine,iPixel);
- else
- *lpb = BGR8(r,g,b);
- }
- else if(nBypp == 2)
- *((LPWORD)lpb) = BGR16(r,g,b);
- else if (nBypp == 3)
- *((LPDWORD)lpb) = BGR24(r,g,b);
- else if (nBypp == 4)
- *((LPDWORD)lpb) = BGR32(r,g,b);
- }
- else{
- SetPixel(Current->hDC, iPixel, iScanLine, RGB(r,g,b));
- }
-}
-
-//---------------------------------------------------------------------------
-
-void wmCreateDIBSection(
- HDC hDC,
- PWMC pwc, // handle of device context
- CONST BITMAPINFO *pbmi, // bitmap size, format, and color data
- UINT iUsage // color data type indicator: RGB values or palette indices
- )
-{
- DWORD dwSize = 0;
- DWORD dwScanWidth;
- UINT nBypp = pwc->cColorBits / 8;
- HDC hic;
-
- dwScanWidth = (((pwc->ScanWidth * nBypp)+ 3) & ~3);
-
- pwc->ScanWidth =pwc->pitch = dwScanWidth;
-
- if (stereo_flag)
- pwc->ScanWidth = 2* pwc->pitch;
-
- dwSize = sizeof(BITMAPINFO) + (dwScanWidth * pwc->height);
-
- pwc->dib.hFileMap = CreateFileMapping((HANDLE)PAGE_FILE,
- NULL,
- PAGE_READWRITE | SEC_COMMIT,
- 0,
- dwSize,
- NULL);
-
- if (!pwc->dib.hFileMap)
- return;
-
- pwc->dib.base = MapViewOfFile(pwc->dib.hFileMap,
- FILE_MAP_ALL_ACCESS,
- 0,
- 0,
- 0);
-
- if(!pwc->dib.base){
- CloseHandle(pwc->dib.hFileMap);
- return;
- }
-
-
- CopyMemory(pwc->dib.base, pbmi, sizeof(BITMAPINFO));
-
- hic = CreateIC("display", NULL, NULL, NULL);
- pwc->dib.hDC = CreateCompatibleDC(hic);
-
-
- pwc->hbmDIB = CreateDIBSection(hic,
- &(pwc->bmi),
- (iUsage ? DIB_PAL_COLORS : DIB_RGB_COLORS),
- &(pwc->pbPixels),
- pwc->dib.hFileMap,
- 0);
- pwc->ScreenMem = pwc->addrOffScreen = pwc->pbPixels;
- pwc->hOldBitmap = SelectObject(pwc->dib.hDC, pwc->hbmDIB);
-
- DeleteDC(hic);
-
- return;
-
-}
-
-//---------------------------------------------------------------------------
-
-void wmCreatePalette( PWMC pwdc )
-{
- /* Create a compressed and re-expanded 3:3:2 palette */
- int i;
- LOGPALETTE *pPal;
- BYTE rb, rs, gb, gs, bb, bs;
-
- pwdc->nColors = 0x100;
-
- pPal = (PLOGPALETTE)malloc(sizeof(LOGPALETTE) +
- pwdc->nColors * sizeof(PALETTEENTRY));
- memset( pPal, 0, sizeof(LOGPALETTE) + pwdc->nColors * sizeof(PALETTEENTRY) );
-
- pPal->palVersion = 0x300;
-
- rb = REDBITS;
- rs = REDSHIFT;
- gb = GREENBITS;
- gs = GREENSHIFT;
- bb = BLUEBITS;
- bs = BLUESHIFT;
-
- if (pwdc->db_flag) {
-
- /* Need to make two palettes: one for the screen DC and one for the DIB. */
- pPal->palNumEntries = pwdc->nColors;
- for (i = 0; i < pwdc->nColors; i++) {
- pPal->palPalEntry[i].peRed = componentFromIndex( i, rb, rs );
- pPal->palPalEntry[i].peGreen = componentFromIndex( i, gb, gs );
- pPal->palPalEntry[i].peBlue = componentFromIndex( i, bb, bs );
- pPal->palPalEntry[i].peFlags = 0;
- }
- pwdc->hGLPalette = CreatePalette( pPal );
- pwdc->hPalette = CreatePalette( pPal );
- }
-
- else {
- pPal->palNumEntries = pwdc->nColors;
- for (i = 0; i < pwdc->nColors; i++) {
- pPal->palPalEntry[i].peRed = componentFromIndex( i, rb, rs );
- pPal->palPalEntry[i].peGreen = componentFromIndex( i, gb, gs );
- pPal->palPalEntry[i].peBlue = componentFromIndex( i, bb, bs );
- pPal->palPalEntry[i].peFlags = 0;
- }
- pwdc->hGLPalette = CreatePalette( pPal );
- }
-
- free(pPal);
-
-}
-
-//---------------------------------------------------------------------------
-
-/* This function sets the color table of a DIB section
- * to match that of the destination DC
- */
-BOOL wmSetDibColors(PWMC pwc)
-{
- RGBQUAD *pColTab, *pRGB;
- PALETTEENTRY *pPal, *pPE;
- int i, nColors;
- BOOL bRet=TRUE;
- DWORD dwErr=0;
-
- /* Build a color table in the DIB that maps to the
- * selected palette in the DC.
- */
- nColors = 1 << pwc->cColorBits;
- pPal = (PALETTEENTRY *)malloc( nColors * sizeof(PALETTEENTRY));
- memset( pPal, 0, nColors * sizeof(PALETTEENTRY) );
- GetPaletteEntries( pwc->hGLPalette, 0, nColors, pPal );
- pColTab = (RGBQUAD *)malloc( nColors * sizeof(RGBQUAD));
- for (i = 0, pRGB = pColTab, pPE = pPal; i < nColors; i++, pRGB++, pPE++) {
- pRGB->rgbRed = pPE->peRed;
- pRGB->rgbGreen = pPE->peGreen;
- pRGB->rgbBlue = pPE->peBlue;
- }
- if(pwc->db_flag)
- bRet = SetDIBColorTable(pwc->dib.hDC, 0, nColors, pColTab );
-
- if(!bRet)
- dwErr = GetLastError();
-
- free( pColTab );
- free( pPal );
-
- return bRet;
-}
-
-//---------------------------------------------------------------------------
-
-static void wmSetPixelFormat( PWMC wc, HDC hDC)
-{
- if(wc->rgb_flag)
- wc->cColorBits = GetDeviceCaps(hDC, BITSPIXEL);
- else
- wc->cColorBits = 8;
- switch(wc->cColorBits){
- case 8:
- if(wc->dither_flag != GL_TRUE)
- wc->pixelformat = PF_INDEX8;
- else
- wc->pixelformat = PF_DITHER8;
- break;
- case 16:
- wc->pixelformat = PF_5R6G5B;
- break;
- case 32:
- wc->pixelformat = PF_8R8G8B;
- break;
- default:
- wc->pixelformat = PF_BADFORMAT;
- }
-}
-
-//---------------------------------------------------------------------------
-
-/*
- * This function creates the DIB section that is used for combined
- * GL and GDI calls
- */
-BOOL wmCreateBackingStore(PWMC pwc, long lxSize, long lySize)
-{
- HDC hdc = pwc->hDC;
- LPBITMAPINFO pbmi = &(pwc->bmi);
- int iUsage;
-
- pbmi->bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
- pbmi->bmiHeader.biWidth = lxSize;
- pbmi->bmiHeader.biHeight= -lySize;
- pbmi->bmiHeader.biPlanes = 1;
- if(pwc->rgb_flag)
- pbmi->bmiHeader.biBitCount = GetDeviceCaps(pwc->hDC, BITSPIXEL);
- else
- pbmi->bmiHeader.biBitCount = 8;
- pbmi->bmiHeader.biCompression = BI_RGB;
- pbmi->bmiHeader.biSizeImage = 0;
- pbmi->bmiHeader.biXPelsPerMeter = 0;
- pbmi->bmiHeader.biYPelsPerMeter = 0;
- pbmi->bmiHeader.biClrUsed = 0;
- pbmi->bmiHeader.biClrImportant = 0;
-
- iUsage = (pbmi->bmiHeader.biBitCount <= 8) ? DIB_PAL_COLORS : DIB_RGB_COLORS;
-
- pwc->cColorBits = pbmi->bmiHeader.biBitCount;
- pwc->ScanWidth = pwc->pitch = lxSize;
- pwc->width = lxSize;
- pwc->height = lySize;
-
- wmCreateDIBSection(hdc, pwc, pbmi, iUsage);
-
- if ((iUsage == DIB_PAL_COLORS) && !(pwc->hGLPalette)) {
- wmCreatePalette( pwc );
- wmSetDibColors( pwc );
- }
- wmSetPixelFormat(pwc, pwc->hDC);
- return TRUE;
-}
-
-//---------------------------------------------------------------------------
-
-/*
- * Free up the dib section that was created
- */
-BOOL wmDeleteBackingStore(PWMC pwc)
-{
- SelectObject(pwc->dib.hDC, pwc->hOldBitmap);
- DeleteDC(pwc->dib.hDC);
- DeleteObject(pwc->hbmDIB);
- UnmapViewOfFile(pwc->dib.base);
- CloseHandle(pwc->dib.hFileMap);
- return TRUE;
-}
-
-//---------------------------------------------------------------------------
-
-/*
- * Blit memory DC to screen DC
- */
-BOOL wmFlush(PWMC pwc, HDC hDC)
-{
- BOOL bRet = 0;
- DWORD dwErr = 0;
-
-// Now using bEmulateSingleBuffer in the calling function. KeithH
-
-// if(pwc->db_flag){
- bRet = BitBlt(hDC, 0, 0, pwc->width, pwc->height,
- pwc->dib.hDC, 0, 0, SRCCOPY);
-// }
-
- return bRet;
-
-}
-
-//---------------------------------------------------------------------------
-// Support Functions
-//---------------------------------------------------------------------------
-
-static void flush(GLcontext* ctx)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- WMesaContext *Current = GLD_GET_WMESA_DRIVER(gldCtx);
-/*
- if((Current->rgb_flag &&!(Current->db_flag))
- ||(!Current->rgb_flag))
- {
- wmFlush(Current, Current->hDC);
- }
-*/
- // Only flush if we're not in double-buffer mode. KeithH
- // The demo fractal.c calls glutSwapBuffers() then glFlush()!
- if (Current->bEmulateSingleBuffer) {
- wmFlush(Current, Current->hDC);
- }
-}
-
-
-//---------------------------------------------------------------------------
-
-
-/*
- * Set the color index used to clear the color buffer.
- */
-static void clear_index(GLcontext* ctx, GLuint index)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- WMesaContext *Current = GLD_GET_WMESA_DRIVER(gldCtx);
- Current->clearpixel = index;
-}
-
-
-
-//---------------------------------------------------------------------------
-
-/*
- * Set the color used to clear the color buffer.
- */
-//static void clear_color( GLcontext* ctx, const GLchan color[4] )
-// Changed for Mesa 5.x. KeithH
-static void clear_color(
- GLcontext* ctx,
- const GLfloat color[4])
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- WMesaContext *Current = GLD_GET_WMESA_DRIVER(gldCtx);
- GLubyte col[4];
- CLAMPED_FLOAT_TO_UBYTE(col[0], color[0]);
- CLAMPED_FLOAT_TO_UBYTE(col[1], color[1]);
- CLAMPED_FLOAT_TO_UBYTE(col[2], color[2]);
- Current->clearpixel = RGB(col[0], col[1], col[2]);
-}
-
-
-//---------------------------------------------------------------------------
-
-
-/*
- * Clear the specified region of the color buffer using the clear color
- * or index as specified by one of the two functions above.
- *
- * This procedure clears either the front and/or the back COLOR buffers.
- * Only the "left" buffer is cleared since we are not stereo.
- * Clearing of the other non-color buffers is left to the swrast.
- * We also only clear the color buffers if the color masks are all 1's.
- * Otherwise, we let swrast do it.
- */
-
-static clear(GLcontext* ctx, GLbitfield mask,
- GLboolean all, GLint x, GLint y, GLint width, GLint height)
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- WMesaContext *Current = GLD_GET_WMESA_DRIVER(gldCtx);
- DWORD dwColor;
- WORD wColor;
- BYTE bColor;
- LPDWORD lpdw = (LPDWORD)Current->pbPixels;
- LPWORD lpw = (LPWORD)Current->pbPixels;
- LPBYTE lpb = Current->pbPixels;
- int lines;
- const GLuint *colorMask = (GLuint *) &ctx->Color.ColorMask;
-
- if (all){
- x=y=0;
- width=Current->width;
- height=Current->height;
- }
-
-
- /* sanity check - can't have right(stereo) buffers */
- assert((mask & (DD_FRONT_RIGHT_BIT | DD_BACK_RIGHT_BIT)) == 0);
-
- /* clear alpha */
- if ((mask & (DD_FRONT_LEFT_BIT | DD_BACK_RIGHT_BIT)) &&
- ctx->DrawBuffer->UseSoftwareAlphaBuffers &&
- ctx->Color.ColorMask[ACOMP]) {
- _swrast_clear_alpha_buffers( ctx );
- }
-
- if (*colorMask == 0xffffffff && ctx->Color.IndexMask == 0xffffffff) {
- if (mask & DD_BACK_LEFT_BIT) {
- /* Double-buffering - clear back buffer */
- UINT nBypp = Current->cColorBits / 8;
- int i = 0;
- int iSize = 0;
-
- assert(Current->db_flag==GL_TRUE); /* we'd better be double buffer */
- if(nBypp ==1 ){
- iSize = Current->width/4;
- bColor = BGR8(GetRValue(Current->clearpixel),
- GetGValue(Current->clearpixel),
- GetBValue(Current->clearpixel));
- wColor = MAKEWORD(bColor,bColor);
- dwColor = MAKELONG(wColor, wColor);
- }
- if(nBypp == 2){
- iSize = Current->width / 2;
- wColor = BGR16(GetRValue(Current->clearpixel),
- GetGValue(Current->clearpixel),
- GetBValue(Current->clearpixel));
- dwColor = MAKELONG(wColor, wColor);
- }
- else if(nBypp == 4){
- iSize = Current->width;
- dwColor = BGR32(GetRValue(Current->clearpixel),
- GetGValue(Current->clearpixel),
- GetBValue(Current->clearpixel));
- }
-
- /* clear a line */
- while(i < iSize){
- *lpdw = dwColor;
- lpdw++;
- i++;
- }
-
- /* This is the 24bit case */
- if (nBypp == 3) {
- iSize = Current->width *3/4;
- dwColor = BGR24(GetRValue(Current->clearpixel),
- GetGValue(Current->clearpixel),
- GetBValue(Current->clearpixel));
- while(i < iSize){
- *lpdw = dwColor;
- lpb += nBypp;
- lpdw = (LPDWORD)lpb;
- i++;
- }
- }
-
- i = 0;
- if (stereo_flag)
- lines = height /2;
- else
- lines = height;
- /* copy cleared line to other lines in buffer */
- do {
- memcpy(lpb, Current->pbPixels, iSize*4);
- lpb += Current->ScanWidth;
- i++;
- }
- while (i<lines-1);
- mask &= ~DD_BACK_LEFT_BIT;
- } /* double-buffer */
-
- if (mask & DD_FRONT_LEFT_BIT) {
- /* single-buffer */
- HDC DC=DD_GETDC;
- HPEN Pen=CreatePen(PS_SOLID,1,Current->clearpixel);
- HBRUSH Brush=CreateSolidBrush(Current->clearpixel);
- HPEN Old_Pen=SelectObject(DC,Pen);
- HBRUSH Old_Brush=SelectObject(DC,Brush);
- Rectangle(DC,x,y,x+width,y+height);
- SelectObject(DC,Old_Pen);
- SelectObject(DC,Old_Brush);
- DeleteObject(Pen);
- DeleteObject(Brush);
- DD_RELEASEDC;
- mask &= ~DD_FRONT_LEFT_BIT;
- } /* single-buffer */
- } /* if masks are all 1's */
-
- /* Call swrast if there is anything left to clear (like DEPTH) */
- if (mask)
- _swrast_Clear( ctx, mask, all, x, y, width, height );
-}
-
-
-//---------------------------------------------------------------------------
-
-
-static void enable( GLcontext* ctx, GLenum pname, GLboolean enable )
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- WMesaContext *Current = GLD_GET_WMESA_DRIVER(gldCtx);
-
- if (!Current)
- return;
-
- if (pname == GL_DITHER) {
- if(enable == GL_FALSE){
- Current->dither_flag = GL_FALSE;
- if(Current->cColorBits == 8)
- Current->pixelformat = PF_INDEX8;
- }
- else{
- if (Current->rgb_flag && Current->cColorBits == 8){
- Current->pixelformat = PF_DITHER8;
- Current->dither_flag = GL_TRUE;
- }
- else
- Current->dither_flag = GL_FALSE;
- }
- }
-}
-
-//---------------------------------------------------------------------------
-
-static GLboolean set_draw_buffer( GLcontext* ctx, GLenum mode )
-{
- /* TODO: this could be better */
- if (mode==GL_FRONT_LEFT || mode==GL_BACK_LEFT) {
- return GL_TRUE;
- }
- else {
- return GL_FALSE;
- }
-}
-
-//---------------------------------------------------------------------------
-
-
-static void set_read_buffer(GLcontext *ctx, GLframebuffer *colorBuffer,
- GLenum buffer )
-{
- /* XXX todo */
- return;
-}
-
-
-//---------------------------------------------------------------------------
-
-
-/* Return characteristics of the output buffer. */
-//static void buffer_size( GLcontext* ctx, GLuint *width, GLuint *height )
-// Altered for Mesa 5.x. KeithH
-static void buffer_size(
- GLframebuffer *buffer,
- GLuint *width,
- GLuint *height)
-{
- // For some reason the context is not passed into this function.
- // Therefore we have to explicitly retrieve it.
- GET_CURRENT_CONTEXT(ctx);
-
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- WMesaContext *Current = GLD_GET_WMESA_DRIVER(gldCtx);
- int New_Size;
- RECT CR;
-
- GetClientRect(Current->Window,&CR);
-
- *width=CR.right;
- *height=CR.bottom;
-
- New_Size=((*width)!=Current->width) || ((*height)!=Current->height);
-
- if (New_Size){
- Current->width=*width;
- Current->height=*height;
- Current->ScanWidth=Current->width;
- if ((Current->ScanWidth%sizeof(long))!=0)
- Current->ScanWidth+=(sizeof(long)-(Current->ScanWidth%sizeof(long)));
-
- if (Current->db_flag){
- if (Current->rgb_flag==GL_TRUE && Current->dither_flag!=GL_TRUE){
- wmDeleteBackingStore(Current);
- wmCreateBackingStore(Current, Current->width, Current->height);
- }
- }
-
- }
-}
-
-
-
-/**********************************************************************/
-/***** Accelerated point, line, polygon rendering *****/
-/**********************************************************************/
-
-/* Accelerated routines are not implemented in 4.0. See OSMesa for ideas. */
-
-static void fast_rgb_points( GLcontext* ctx, GLuint first, GLuint last )
-{
-}
-
-//---------------------------------------------------------------------------
-
-/* Return pointer to accelerated points function */
-extern tnl_points_func choose_points_function( GLcontext* ctx )
-{
- return NULL;
-}
-
-//---------------------------------------------------------------------------
-
-static void fast_flat_rgb_line( GLcontext* ctx, GLuint v0,
- GLuint v1, GLuint pv )
-{
-}
-
-//---------------------------------------------------------------------------
-
-static tnl_line_func choose_line_function( GLcontext* ctx )
-{
-}
-
-
-/**********************************************************************/
-/***** Span-based pixel drawing *****/
-/**********************************************************************/
-
-
-/* Write a horizontal span of 32-bit color-index pixels with a boolean mask. */
-static void write_ci32_span( const GLcontext* ctx,
- GLuint n, GLint x, GLint y,
- const GLuint index[],
- const GLubyte mask[] )
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- WMesaContext *Current = GLD_GET_WMESA_DRIVER(gldCtx);
- GLuint i;
- PBYTE Mem=Current->ScreenMem+FLIP(y)*Current->ScanWidth+x;
- assert(Current->rgb_flag==GL_FALSE);
- for (i=0; i<n; i++)
- if (mask[i])
- Mem[i]=index[i];
-}
-
-
-//---------------------------------------------------------------------------
-
-/* Write a horizontal span of 8-bit color-index pixels with a boolean mask. */
-static void write_ci8_span( const GLcontext* ctx,
- GLuint n, GLint x, GLint y,
- const GLubyte index[],
- const GLubyte mask[] )
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- WMesaContext *Current = GLD_GET_WMESA_DRIVER(gldCtx);
- GLuint i;
- PBYTE Mem=Current->ScreenMem+FLIP(y)*Current->ScanWidth+x;
- assert(Current->rgb_flag==GL_FALSE);
- for (i=0; i<n; i++)
- if (mask[i])
- Mem[i]=index[i];
-}
-
-
-//---------------------------------------------------------------------------
-
-
-/*
- * Write a horizontal span of pixels with a boolean mask. The current
- * color index is used for all pixels.
- */
-static void write_mono_ci_span(const GLcontext* ctx,
- GLuint n,GLint x,GLint y,
- GLuint colorIndex, const GLubyte mask[])
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- WMesaContext *Current = GLD_GET_WMESA_DRIVER(gldCtx);
- GLuint i;
- BYTE *Mem=Current->ScreenMem+FLIP(y)*Current->ScanWidth+x;
- assert(Current->rgb_flag==GL_FALSE);
- for (i=0; i<n; i++)
- if (mask[i])
- Mem[i]=colorIndex;
-}
-
-//---------------------------------------------------------------------------
-
-/*
- * To improve the performance of this routine, frob the data into an actual
- * scanline and call bitblt on the complete scan line instead of SetPixel.
- */
-
-/* Write a horizontal span of RGBA color pixels with a boolean mask. */
-static void write_rgba_span( const GLcontext* ctx, GLuint n, GLint x, GLint y,
- const GLubyte rgba[][4], const GLubyte mask[] )
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- WMesaContext *Current = GLD_GET_WMESA_DRIVER(gldCtx);
- PWMC pwc = Current;
-
- if (pwc->rgb_flag==GL_TRUE)
- {
- GLuint i;
- HDC DC=DD_GETDC;
- y=FLIP(y);
- if (mask) {
- for (i=0; i<n; i++)
- if (mask[i])
- wmSetPixel(pwc, y, x + i,
- rgba[i][RCOMP], rgba[i][GCOMP], rgba[i][BCOMP]);
- }
- else {
- for (i=0; i<n; i++)
- wmSetPixel(pwc, y, x + i,
- rgba[i][RCOMP], rgba[i][GCOMP], rgba[i][BCOMP] );
- }
- DD_RELEASEDC;
- }
- else
- {
- GLuint i;
- BYTE *Mem=Current->ScreenMem+y*Current->ScanWidth+x;
- y = FLIP(y);
- if (mask) {
- for (i=0; i<n; i++)
- if (mask[i])
- Mem[i] = GetNearestPaletteIndex(Current->hPal,
- RGB(rgba[i][RCOMP],
- rgba[i][GCOMP],
- rgba[i][BCOMP]));
- }
- else {
- for (i=0; i<n; i++)
- Mem[i] = GetNearestPaletteIndex(Current->hPal,
- RGB(rgba[i][RCOMP],
- rgba[i][GCOMP],
- rgba[i][BCOMP]));
- }
- }
-}
-
-//---------------------------------------------------------------------------
-
-/* Write a horizontal span of RGB color pixels with a boolean mask. */
-static void write_rgb_span( const GLcontext* ctx,
- GLuint n, GLint x, GLint y,
- const GLubyte rgb[][3], const GLubyte mask[] )
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- WMesaContext *Current = GLD_GET_WMESA_DRIVER(gldCtx);
- PWMC pwc = Current;
-
- if (pwc->rgb_flag==GL_TRUE)
- {
- GLuint i;
- HDC DC=DD_GETDC;
- y=FLIP(y);
- if (mask) {
- for (i=0; i<n; i++)
- if (mask[i])
- wmSetPixel(pwc, y, x + i,
- rgb[i][RCOMP], rgb[i][GCOMP], rgb[i][BCOMP]);
- }
- else {
- for (i=0; i<n; i++)
- wmSetPixel(pwc, y, x + i,
- rgb[i][RCOMP], rgb[i][GCOMP], rgb[i][BCOMP] );
- }
- DD_RELEASEDC;
- }
- else
- {
- GLuint i;
- BYTE *Mem=Current->ScreenMem+y*Current->ScanWidth+x;
- y = FLIP(y);
- if (mask) {
- for (i=0; i<n; i++)
- if (mask[i])
- Mem[i] = GetNearestPaletteIndex(Current->hPal,
- RGB(rgb[i][RCOMP],
- rgb[i][GCOMP],
- rgb[i][BCOMP]));
- }
- else {
- for (i=0; i<n; i++)
- Mem[i] = GetNearestPaletteIndex(Current->hPal,
- RGB(rgb[i][RCOMP],
- rgb[i][GCOMP],
- rgb[i][BCOMP]));
- }
- }
-}
-
-//---------------------------------------------------------------------------
-
-/*
- * Write a horizontal span of pixels with a boolean mask. The current color
- * is used for all pixels.
- */
-static void write_mono_rgba_span( const GLcontext* ctx,
- GLuint n, GLint x, GLint y,
- const GLchan color[4], const GLubyte mask[])
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- WMesaContext *Current = GLD_GET_WMESA_DRIVER(gldCtx);
- ULONG pixel = RGB( color[RCOMP], color[GCOMP], color[BCOMP] );
- GLuint i;
- HDC DC=DD_GETDC;
- PWMC pwc = Current;
- assert(Current->rgb_flag==GL_TRUE);
- y=FLIP(y);
- if(Current->rgb_flag==GL_TRUE){
- for (i=0; i<n; i++)
- if (mask[i])
- wmSetPixel(pwc,y,x+i,color[RCOMP], color[GCOMP], color[BCOMP]);
- }
- else {
- for (i=0; i<n; i++)
- if (mask[i])
- SetPixel(DC, y, x+i, pixel);
- }
- DD_RELEASEDC;
-}
-
-
-
-/**********************************************************************/
-/***** Array-based pixel drawing *****/
-/**********************************************************************/
-
-
-/* Write an array of 32-bit index pixels with a boolean mask. */
-static void write_ci32_pixels( const GLcontext* ctx,
- GLuint n, const GLint x[], const GLint y[],
- const GLuint index[], const GLubyte mask[] )
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- WMesaContext *Current = GLD_GET_WMESA_DRIVER(gldCtx);
- GLuint i;
- assert(Current->rgb_flag==GL_FALSE);
- for (i=0; i<n; i++) {
- if (mask[i]) {
- BYTE *Mem=Current->ScreenMem+FLIP(y[i])*Current->ScanWidth+x[i];
- *Mem = index[i];
- }
- }
-}
-
-
-//---------------------------------------------------------------------------
-
-
-/*
- * Write an array of pixels with a boolean mask. The current color
- * index is used for all pixels.
- */
-static void write_mono_ci_pixels( const GLcontext* ctx,
- GLuint n,
- const GLint x[], const GLint y[],
- GLuint colorIndex, const GLubyte mask[] )
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- WMesaContext *Current = GLD_GET_WMESA_DRIVER(gldCtx);
- GLuint i;
- assert(Current->rgb_flag==GL_FALSE);
- for (i=0; i<n; i++) {
- if (mask[i]) {
- BYTE *Mem=Current->ScreenMem+FLIP(y[i])*Current->ScanWidth+x[i];
- *Mem = colorIndex;
- }
- }
-}
-
-
-//---------------------------------------------------------------------------
-
-
-/* Write an array of RGBA pixels with a boolean mask. */
-static void write_rgba_pixels( const GLcontext* ctx,
- GLuint n, const GLint x[], const GLint y[],
- const GLubyte rgba[][4], const GLubyte mask[] )
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- WMesaContext *Current = GLD_GET_WMESA_DRIVER(gldCtx);
- GLuint i;
- PWMC pwc = Current;
- HDC DC=DD_GETDC;
- assert(Current->rgb_flag==GL_TRUE);
- for (i=0; i<n; i++)
- if (mask[i])
- wmSetPixel(pwc, FLIP(y[i]), x[i],
- rgba[i][RCOMP], rgba[i][GCOMP], rgba[i][BCOMP]);
- DD_RELEASEDC;
-}
-
-
-//---------------------------------------------------------------------------
-
-
-/*
- * Write an array of pixels with a boolean mask. The current color
- * is used for all pixels.
- */
-static void write_mono_rgba_pixels( const GLcontext* ctx,
- GLuint n,
- const GLint x[], const GLint y[],
- const GLchan color[4],
- const GLubyte mask[] )
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- WMesaContext *Current = GLD_GET_WMESA_DRIVER(gldCtx);
- GLuint i;
- PWMC pwc = Current;
- HDC DC=DD_GETDC;
- assert(Current->rgb_flag==GL_TRUE);
- for (i=0; i<n; i++)
- if (mask[i])
- wmSetPixel(pwc, FLIP(y[i]),x[i],color[RCOMP],
- color[GCOMP], color[BCOMP]);
- DD_RELEASEDC;
-}
-
-/**********************************************************************/
-/***** Read spans/arrays of pixels *****/
-/**********************************************************************/
-
-/* Read a horizontal span of color-index pixels. */
-static void read_ci32_span( const GLcontext* ctx, GLuint n, GLint x, GLint y,
- GLuint index[])
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- WMesaContext *Current = GLD_GET_WMESA_DRIVER(gldCtx);
- GLuint i;
- BYTE *Mem=Current->ScreenMem+FLIP(y)*Current->ScanWidth+x;
- assert(Current->rgb_flag==GL_FALSE);
- for (i=0; i<n; i++)
- index[i]=Mem[i];
-}
-
-//---------------------------------------------------------------------------
-
-/* Read an array of color index pixels. */
-static void read_ci32_pixels( const GLcontext* ctx,
- GLuint n, const GLint x[], const GLint y[],
- GLuint indx[], const GLubyte mask[] )
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- WMesaContext *Current = GLD_GET_WMESA_DRIVER(gldCtx);
- GLuint i;
- assert(Current->rgb_flag==GL_FALSE);
- for (i=0; i<n; i++) {
- if (mask[i]) {
- indx[i]=*(Current->ScreenMem+FLIP(y[i])*Current->ScanWidth+x[i]);
- }
- }
-}
-
-//---------------------------------------------------------------------------
-
-/* Read a horizontal span of color pixels. */
-static void read_rgba_span( const GLcontext* ctx,
- GLuint n, GLint x, GLint y,
- GLubyte rgba[][4] )
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- WMesaContext *Current = GLD_GET_WMESA_DRIVER(gldCtx);
- UINT i;
- COLORREF Color;
- HDC DC=DD_GETDC;
- assert(Current->rgb_flag==GL_TRUE);
- y = Current->height - y - 1;
- for (i=0; i<n; i++) {
- Color=GetPixel(DC,x+i,y);
- rgba[i][RCOMP] = GetRValue(Color);
- rgba[i][GCOMP] = GetGValue(Color);
- rgba[i][BCOMP] = GetBValue(Color);
- rgba[i][ACOMP] = 255;
- }
- DD_RELEASEDC;
-}
-
-//---------------------------------------------------------------------------
-
-/* Read an array of color pixels. */
-static void read_rgba_pixels( const GLcontext* ctx,
- GLuint n, const GLint x[], const GLint y[],
- GLubyte rgba[][4], const GLubyte mask[] )
-{
- GLD_context *gldCtx = GLD_GET_CONTEXT(ctx);
- WMesaContext *Current = GLD_GET_WMESA_DRIVER(gldCtx);
- GLuint i;
- COLORREF Color;
- HDC DC=DD_GETDC;
- assert(Current->rgb_flag==GL_TRUE);
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLint y2 = Current->height - y[i] - 1;
- Color=GetPixel(DC,x[i],y2);
- rgba[i][RCOMP] = GetRValue(Color);
- rgba[i][GCOMP] = GetGValue(Color);
- rgba[i][BCOMP] = GetBValue(Color);
- rgba[i][ACOMP] = 255;
- }
- }
- DD_RELEASEDC;
-}
-
-//---------------------------------------------------------------------------
-
-static void wmesa_update_state(
- GLcontext *ctx,
- GLuint new_state)
-{
- _swrast_InvalidateState( ctx, new_state );
- _swsetup_InvalidateState( ctx, new_state );
- _vbo_InvalidateState( ctx, new_state );
- _tnl_InvalidateState( ctx, new_state );
-}
-
-//---------------------------------------------------------------------------
-
-static void wmesa_viewport(
- GLcontext *ctx,
- GLint x,
- GLint y,
- GLsizei w,
- GLsizei h)
-{
-// ctx->Driver.ResizeBuffersMESA(ctx);
-}
-
-//---------------------------------------------------------------------------
-
-static void wmesa_update_state_first_time(
- GLcontext *ctx,
- GLuint new_state)
-{
- struct swrast_device_driver *swdd = _swrast_GetDeviceDriverReference( ctx );
- TNLcontext *tnl = TNL_CONTEXT(ctx);
-
- _mesa_init_driver_functions(&ctx->Driver);
-
- /*
- * XXX these function pointers could be initialized just once during
- * context creation since they don't depend on any state changes.
- * kws - This is true - this function gets called a lot and it
- * would be good to minimize setting all this when not needed.
- */
- // Good idea, so I'll do it. KeithH. :-)
-
- ctx->Driver.GetString = _gldGetStringGeneric;
- ctx->Driver.UpdateState = wmesa_update_state;
- ctx->Driver.DrawBuffer = set_draw_buffer;
- ctx->Driver.ResizeBuffers = _swrast_alloc_buffers;
- ctx->Driver.GetBufferSize = buffer_size;
-
- ctx->Driver.Viewport = wmesa_viewport;
-
- ctx->Driver.Clear = clear;
-
- ctx->Driver.Flush = flush;
- ctx->Driver.ClearIndex = clear_index;
- ctx->Driver.ClearColor = clear_color;
- ctx->Driver.Enable = enable;
-
-
- // Does not apply for Mesa 5.x
- //ctx->Driver.BaseCompressedTexFormat = _mesa_base_compressed_texformat;
- //ctx->Driver.CompressedTextureSize = _mesa_compressed_texture_size;
- //ctx->Driver.GetCompressedTexImage = _mesa_get_compressed_teximage;
-
- swdd->SetBuffer = set_read_buffer;
-
-
- /* Pixel/span writing functions: */
- swdd->WriteRGBASpan = write_rgba_span;
- swdd->WriteRGBSpan = write_rgb_span;
- swdd->WriteMonoRGBASpan = write_mono_rgba_span;
- swdd->WriteRGBAPixels = write_rgba_pixels;
- swdd->WriteMonoRGBAPixels = write_mono_rgba_pixels;
- swdd->WriteCI32Span = write_ci32_span;
- swdd->WriteCI8Span = write_ci8_span;
- swdd->WriteMonoCISpan = write_mono_ci_span;
- swdd->WriteCI32Pixels = write_ci32_pixels;
- swdd->WriteMonoCIPixels = write_mono_ci_pixels;
-
- swdd->ReadCI32Span = read_ci32_span;
- swdd->ReadRGBASpan = read_rgba_span;
- swdd->ReadCI32Pixels = read_ci32_pixels;
- swdd->ReadRGBAPixels = read_rgba_pixels;
-
-
- tnl->Driver.RunPipeline = _tnl_run_pipeline;
-
- wmesa_update_state(ctx, new_state);
-}
-
-//---------------------------------------------------------------------------
-// Driver interface functions
-//---------------------------------------------------------------------------
-
-BOOL gldCreateDrawable_MesaSW(
- DGL_ctx *pCtx,
- BOOL bPersistantInterface,
- BOOL bPersistantBuffers)
-{
- WMesaContext *c;
- GLboolean true_color_flag;
- GLboolean rgb_flag = GL_TRUE;
- GLboolean db_flag = GL_TRUE;
-
- if (pCtx == NULL)
- return FALSE;
-
- c = (struct wmesa_context * ) calloc(1,sizeof(struct wmesa_context));
- if (!c)
- return FALSE;
-
- pCtx->glPriv = c;
-
- c->hDC = pCtx->hDC;
- c->Window = pCtx->hWnd;
-
- true_color_flag = GetDeviceCaps(pCtx->hDC, BITSPIXEL) > 8;
-
-
-#ifdef DITHER
- if ((true_color_flag==GL_FALSE) && (rgb_flag == GL_TRUE)){
- c->dither_flag = GL_TRUE;
- c->hPalHalfTone = WinGCreateHalftonePalette();
- }
- else
- c->dither_flag = GL_FALSE;
-#else
- c->dither_flag = GL_FALSE;
-#endif
-
-
- if (rgb_flag==GL_FALSE)
- {
- c->rgb_flag = GL_FALSE;
-#if 0
- /* Old WinG stuff???? */
- c->db_flag = db_flag =GL_TRUE; /* WinG requires double buffering */
- printf("Single buffer is not supported in color index mode, ",
- "setting to double buffer.\n");
-#endif
- }
- else
- {
- c->rgb_flag = GL_TRUE;
- }
-
-// db_flag = pCtx->lpPF->pfd.dwFlags & PFD_DOUBLEBUFFER ? GL_TRUE : GL_FALSE;
- db_flag = GL_TRUE; // Force double-buffer
- if (db_flag) {
- c->db_flag = 1;
- /* Double buffered */
- {
- wmCreateBackingStore(c, pCtx->dwWidth, pCtx->dwHeight);
-
- }
- } else {
- /* Single Buffered */
- if (c->rgb_flag)
- c->db_flag = 0;
- }
-
- c->bEmulateSingleBuffer = (pCtx->lpPF->pfd.dwFlags & PFD_DOUBLEBUFFER)
- ? FALSE : TRUE;
-
- return TRUE;
-}
-
-//---------------------------------------------------------------------------
-
-BOOL gldResizeDrawable_MesaSW(
- DGL_ctx *ctx,
- BOOL bDefaultDriver,
- BOOL bPersistantInterface,
- BOOL bPersistantBuffers)
-{
- WMesaContext *c;
-
- if (ctx == NULL)
- return FALSE;
-
- c = ctx->glPriv;
- if (c == NULL)
- return FALSE;
-
- c->hDC = ctx->hDC;
- c->Window = ctx->hWnd;
-// c->width = ctx->dwWidth;
-// c->height = ctx->dwHeight;
-
- if (c->db_flag) {
- wmDeleteBackingStore(c);
- wmCreateBackingStore(c, ctx->dwWidth, ctx->dwHeight);
- }
-
- return TRUE;
-}
-
-//---------------------------------------------------------------------------
-
-BOOL gldDestroyDrawable_MesaSW(
- DGL_ctx *ctx)
-{
- WMesaContext *c;
-
- if (ctx == NULL)
- return FALSE;
-
- c = ctx->glPriv;
- if (c == NULL)
- return FALSE;
-
- if (c->hPalHalfTone != NULL)
- DeleteObject(c->hPalHalfTone);
-
- if (c->db_flag)
- wmDeleteBackingStore(c);
-
- free(c);
-
- ctx->glPriv = NULL;
-
- return TRUE;
-}
-
-//---------------------------------------------------------------------------
-
-BOOL gldCreatePrivateGlobals_MesaSW(void)
-{
- // Mesa Software driver needs no private globals
- return TRUE;
-}
-
-//---------------------------------------------------------------------------
-
-BOOL gldDestroyPrivateGlobals_MesaSW(void)
-{
- // Mesa Software driver needs no private globals
- return TRUE;
-}
-
-//---------------------------------------------------------------------------
-
-BOOL gldBuildPixelformatList_MesaSW(void)
-{
- // Release any existing pixelformat list
- if (glb.lpPF) {
- free(glb.lpPF);
- }
-
- glb.nPixelFormatCount = 0;
- glb.lpPF = NULL;
-
- glb.lpPF = (DGL_pixelFormat *)calloc(2, sizeof(DGL_pixelFormat));
- if (glb.lpPF == NULL)
- return FALSE;
- // Single-buffered
- memcpy(&glb.lpPF[0], &pfTemplateMesaSW, sizeof(DGL_pixelFormat));
- glb.lpPF[0].pfd.dwFlags &= ~PFD_DOUBLEBUFFER; // Remove doublebuffer flag
- // Double-buffered
- memcpy(&glb.lpPF[1], &pfTemplateMesaSW, sizeof(DGL_pixelFormat));
- glb.nPixelFormatCount = 2;
-
- // Mark list as 'current'
- glb.bPixelformatsDirty = FALSE;
-
- return TRUE;
-}
-
-//---------------------------------------------------------------------------
-
-BOOL gldInitialiseMesa_MesaSW(
- DGL_ctx *gld)
-{
- GLcontext *ctx;
-
- if (gld == NULL)
- return FALSE;
-
- ctx = gld->glCtx;
-
- // Set max texture size to 256
- ctx->Const.MaxTextureLevels = 8;
-
- // Multitexture enable/disable
- ctx->Const.MaxTextureUnits = (glb.bMultitexture) ? MAX_TEXTURE_UNITS : 1;
-
- /* Initialize the software rasterizer and helper modules.*/
-
- // Added this to force max texture diminsion to 256. KeithH
- ctx->Const.MaxTextureLevels = 8;
- ctx->Const.MaxDrawBuffers = 1;
-
- _mesa_enable_sw_extensions(ctx);
- _mesa_enable_imaging_extensions(ctx);
- _mesa_enable_1_3_extensions(ctx);
-
-// _swrast_CreateContext( ctx );
-// _vbo_CreateContext( ctx );
-// _tnl_CreateContext( ctx );
-// _swsetup_CreateContext( ctx );
-
- _swsetup_Wakeup( ctx );
-
- wmesa_update_state_first_time(ctx, ~0);
-
- return TRUE;
-}
-
-//---------------------------------------------------------------------------
-
-BOOL gldSwapBuffers_MesaSW(
- DGL_ctx *ctx,
- HDC hDC,
- HWND hWnd)
-{
- WMesaContext *c;
-
- if (ctx == NULL)
- return FALSE;
-
- c = ctx->glPriv;
- if (c == NULL)
- return FALSE;
-
- /* If we're swapping the buffer associated with the current context
- * we have to flush any pending rendering commands first.
- */
-
- // Altered to respect bEmulateSingleBuffer. KeithH
-// if (c->db_flag)
- if (!c->bEmulateSingleBuffer)
- wmFlush(c, hDC);
-
- return TRUE;
-}
-
-//---------------------------------------------------------------------------
-
-PROC gldGetProcAddress_MesaSW(
- LPCSTR a)
-{
- int i;
- PROC proc = NULL;
-
- for (i=0; GLD_extList[i].proc; i++) {
- if (!strcmp(a, GLD_extList[i].name)) {
- proc = GLD_extList[i].proc;
- break;
- }
- }
-
- gldLogPrintf(GLDLOG_INFO, "GetProcAddress: %s (%s)", a, proc ? "OK" : "Failed");
-
- return proc;
-}
-
-//---------------------------------------------------------------------------
-
-BOOL gldGetDisplayMode_MesaSW(
- DGL_ctx *ctx,
- GLD_displayMode *glddm)
-{
- HDC hdcDesktop;
-
- if (glddm == NULL)
- return FALSE;
-
- //
- // A bit hacky... KeithH
- //
-
- hdcDesktop = GetDC(NULL);
- glddm->Width = GetDeviceCaps(hdcDesktop, HORZRES);
- glddm->Height = GetDeviceCaps(hdcDesktop, VERTRES);
- glddm->BPP = GetDeviceCaps(hdcDesktop, BITSPIXEL);
- glddm->Refresh = 0;
- ReleaseDC(0, hdcDesktop);
-
- return TRUE;
-}
-
-//---------------------------------------------------------------------------
-
diff --git a/src/mesa/glapi/next_available_offset.sh b/src/mesa/glapi/next_available_offset.sh
index e7d6c2f4af..e7d6c2f4af 100755..100644
--- a/src/mesa/glapi/next_available_offset.sh
+++ b/src/mesa/glapi/next_available_offset.sh
diff --git a/src/mesa/vf/vf.c b/src/mesa/vf/vf.c
deleted file mode 100644
index 82f3d2b641..0000000000
--- a/src/mesa/vf/vf.c
+++ /dev/null
@@ -1,372 +0,0 @@
-/*
- * Copyright 2003 Tungsten Graphics, inc.
- * 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
- * on the rights to use, copy, modify, merge, publish, distribute, sub
- * license, 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 (including the next
- * paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
- * TUNGSTEN GRAPHICS AND/OR THEIR SUPPLIERS 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.
- *
- * Authors:
- * Keith Whitwell <keithw@tungstengraphics.com>
- */
-
-#include "main/glheader.h"
-#include "main/context.h"
-#include "main/colormac.h"
-
-#include "vf.h"
-
-#define DBG 0
-
-
-
-static GLboolean match_fastpath( struct vertex_fetch *vf,
- const struct vf_fastpath *fp)
-{
- GLuint j;
-
- if (vf->attr_count != fp->attr_count)
- return GL_FALSE;
-
- for (j = 0; j < vf->attr_count; j++)
- if (vf->attr[j].format != fp->attr[j].format ||
- vf->attr[j].inputsize != fp->attr[j].size ||
- vf->attr[j].vertoffset != fp->attr[j].offset)
- return GL_FALSE;
-
- if (fp->match_strides) {
- if (vf->vertex_stride != fp->vertex_stride)
- return GL_FALSE;
-
- for (j = 0; j < vf->attr_count; j++)
- if (vf->attr[j].inputstride != fp->attr[j].stride)
- return GL_FALSE;
- }
-
- return GL_TRUE;
-}
-
-static GLboolean search_fastpath_emit( struct vertex_fetch *vf )
-{
- struct vf_fastpath *fp = vf->fastpath;
-
- for ( ; fp ; fp = fp->next) {
- if (match_fastpath(vf, fp)) {
- vf->emit = fp->func;
- return GL_TRUE;
- }
- }
-
- return GL_FALSE;
-}
-
-void vf_register_fastpath( struct vertex_fetch *vf,
- GLboolean match_strides )
-{
- struct vf_fastpath *fastpath = CALLOC_STRUCT(vf_fastpath);
- GLuint i;
-
- fastpath->vertex_stride = vf->vertex_stride;
- fastpath->attr_count = vf->attr_count;
- fastpath->match_strides = match_strides;
- fastpath->func = vf->emit;
- fastpath->attr = (struct vf_attr_type *)
- _mesa_malloc(vf->attr_count * sizeof(fastpath->attr[0]));
-
- for (i = 0; i < vf->attr_count; i++) {
- fastpath->attr[i].format = vf->attr[i].format;
- fastpath->attr[i].stride = vf->attr[i].inputstride;
- fastpath->attr[i].size = vf->attr[i].inputsize;
- fastpath->attr[i].offset = vf->attr[i].vertoffset;
- }
-
- fastpath->next = vf->fastpath;
- vf->fastpath = fastpath;
-}
-
-
-
-
-/***********************************************************************
- * Build codegen functions or return generic ones:
- */
-static void choose_emit_func( struct vertex_fetch *vf,
- GLuint count,
- GLubyte *dest)
-{
- vf->emit = NULL;
-
- /* Does this match an existing (hardwired, codegen or known-bad)
- * fastpath?
- */
- if (search_fastpath_emit(vf)) {
- /* Use this result. If it is null, then it is already known
- * that the current state will fail for codegen and there is no
- * point trying again.
- */
- }
- else if (vf->codegen_emit) {
- vf->codegen_emit( vf );
- }
-
- if (!vf->emit) {
- vf_generate_hardwired_emit(vf);
- }
-
- /* Otherwise use the generic version:
- */
- if (!vf->emit)
- vf->emit = vf_generic_emit;
-
- vf->emit( vf, count, dest );
-}
-
-
-
-
-
-/***********************************************************************
- * Public entrypoints, mostly dispatch to the above:
- */
-
-
-
-GLuint vf_set_vertex_attributes( struct vertex_fetch *vf,
- const struct vf_attr_map *map,
- GLuint nr,
- GLuint vertex_stride )
-{
- GLuint offset = 0;
- GLuint i, j;
-
- assert(nr < VF_ATTRIB_MAX);
-
- memset(vf->lookup, 0, sizeof(vf->lookup));
-
- for (j = 0, i = 0; i < nr; i++) {
- const GLuint format = map[i].format;
- if (format == EMIT_PAD) {
- if (DBG)
- _mesa_printf("%d: pad %d, offset %d\n", i,
- map[i].offset, offset);
-
- offset += map[i].offset;
-
- }
- else {
- assert(vf->lookup[map[i].attrib] == 0);
- vf->lookup[map[i].attrib] = &vf->attr[j];
-
- vf->attr[j].attrib = map[i].attrib;
- vf->attr[j].format = format;
- vf->attr[j].insert = vf_format_info[format].insert;
- vf->attr[j].extract = vf_format_info[format].extract;
- vf->attr[j].vertattrsize = vf_format_info[format].attrsize;
- vf->attr[j].vertoffset = offset;
-
- if (DBG)
- _mesa_printf("%d: %s, offset %d\n", i,
- vf_format_info[format].name,
- vf->attr[j].vertoffset);
-
- offset += vf_format_info[format].attrsize;
- j++;
- }
- }
-
- vf->attr_count = j;
- vf->vertex_stride = vertex_stride ? vertex_stride : offset;
- vf->emit = choose_emit_func;
-
- assert(vf->vertex_stride >= offset);
- return vf->vertex_stride;
-}
-
-
-
-void vf_set_vp_matrix( struct vertex_fetch *vf,
- const GLfloat *viewport )
-{
- assert(vf->allow_viewport_emits);
-
- /* scale */
- vf->vp[0] = viewport[MAT_SX];
- vf->vp[1] = viewport[MAT_SY];
- vf->vp[2] = viewport[MAT_SZ];
- vf->vp[3] = 1.0;
-
- /* translate */
- vf->vp[4] = viewport[MAT_TX];
- vf->vp[5] = viewport[MAT_TY];
- vf->vp[6] = viewport[MAT_TZ];
- vf->vp[7] = 0.0;
-}
-
-void vf_set_vp_scale_translate( struct vertex_fetch *vf,
- const GLfloat *scale,
- const GLfloat *translate )
-{
- assert(vf->allow_viewport_emits);
-
- vf->vp[0] = scale[0];
- vf->vp[1] = scale[1];
- vf->vp[2] = scale[2];
- vf->vp[3] = scale[3];
-
- vf->vp[4] = translate[0];
- vf->vp[5] = translate[1];
- vf->vp[6] = translate[2];
- vf->vp[7] = translate[3];
-}
-
-
-/* Set attribute pointers, adjusted for start position:
- */
-void vf_set_sources( struct vertex_fetch *vf,
- GLvector4f * const sources[],
- GLuint start )
-{
- struct vf_attr *a = vf->attr;
- GLuint j;
-
- for (j = 0; j < vf->attr_count; j++) {
- const GLvector4f *vptr = sources[a[j].attrib];
-
- if ((a[j].inputstride != vptr->stride) ||
- (a[j].inputsize != vptr->size))
- vf->emit = choose_emit_func;
-
- a[j].inputstride = vptr->stride;
- a[j].inputsize = vptr->size;
- a[j].do_insert = a[j].insert[vptr->size - 1];
- a[j].inputptr = ((GLubyte *)vptr->data) + start * vptr->stride;
- }
-}
-
-
-
-/* Emit count VB vertices to dest.
- */
-void vf_emit_vertices( struct vertex_fetch *vf,
- GLuint count,
- void *dest )
-{
- vf->emit( vf, count, (GLubyte*) dest );
-}
-
-
-/* Extract a named attribute from a hardware vertex. Will have to
- * reverse any viewport transformation, swizzling or other conversions
- * which may have been applied.
- *
- * This is mainly required for on-the-fly vertex translations to
- * swrast format.
- */
-void vf_get_attr( struct vertex_fetch *vf,
- const void *vertex,
- GLenum attr,
- const GLfloat *dflt,
- GLfloat *dest )
-{
- const struct vf_attr *a = vf->attr;
- const GLuint attr_count = vf->attr_count;
- GLuint j;
-
- for (j = 0; j < attr_count; j++) {
- if (a[j].attrib == attr) {
- a[j].extract( &a[j], dest, (GLubyte *)vertex + a[j].vertoffset );
- return;
- }
- }
-
- /* Else return the value from ctx->Current.
- */
- _mesa_memcpy( dest, dflt, 4*sizeof(GLfloat));
-}
-
-
-
-
-struct vertex_fetch *vf_create( GLboolean allow_viewport_emits )
-{
- struct vertex_fetch *vf = CALLOC_STRUCT(vertex_fetch);
- GLuint i;
-
- for (i = 0; i < VF_ATTRIB_MAX; i++)
- vf->attr[i].vf = vf;
-
- vf->allow_viewport_emits = allow_viewport_emits;
-
- switch(CHAN_TYPE) {
- case GL_UNSIGNED_BYTE:
- vf->chan_scale[0] = 255.0;
- vf->chan_scale[1] = 255.0;
- vf->chan_scale[2] = 255.0;
- vf->chan_scale[3] = 255.0;
- break;
- case GL_UNSIGNED_SHORT:
- vf->chan_scale[0] = 65535.0;
- vf->chan_scale[1] = 65535.0;
- vf->chan_scale[2] = 65535.0;
- vf->chan_scale[3] = 65535.0;
- break;
- default:
- vf->chan_scale[0] = 1.0;
- vf->chan_scale[1] = 1.0;
- vf->chan_scale[2] = 1.0;
- vf->chan_scale[3] = 1.0;
- break;
- }
-
- vf->identity[0] = 0.0;
- vf->identity[1] = 0.0;
- vf->identity[2] = 0.0;
- vf->identity[3] = 1.0;
-
- vf->codegen_emit = NULL;
-
-#ifdef USE_SSE_ASM
- if (!_mesa_getenv("MESA_NO_CODEGEN"))
- vf->codegen_emit = vf_generate_sse_emit;
-#endif
-
- return vf;
-}
-
-
-void vf_destroy( struct vertex_fetch *vf )
-{
- struct vf_fastpath *fp, *tmp;
-
- for (fp = vf->fastpath ; fp ; fp = tmp) {
- tmp = fp->next;
- FREE(fp->attr);
-
- /* KW: At the moment, fp->func is constrained to be allocated by
- * _mesa_exec_alloc(), as the hardwired fastpaths in
- * t_vertex_generic.c are handled specially. It would be nice
- * to unify them, but this probably won't change until this
- * module gets another overhaul.
- */
- _mesa_exec_free((void *) fp->func);
- FREE(fp);
- }
-
- vf->fastpath = NULL;
- FREE(vf);
-}
diff --git a/src/mesa/vf/vf.h b/src/mesa/vf/vf.h
deleted file mode 100644
index 83d7547619..0000000000
--- a/src/mesa/vf/vf.h
+++ /dev/null
@@ -1,234 +0,0 @@
-/*
- * Copyright 2003 Tungsten Graphics, inc.
- * 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
- * on the rights to use, copy, modify, merge, publish, distribute, sub
- * license, 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 (including the next
- * paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
- * TUNGSTEN GRAPHICS AND/OR THEIR SUPPLIERS 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.
- *
- * Authors:
- * Keith Whitwell <keithw@tungstengraphics.com>
- */
-
-#ifndef VF_VERTEX_H
-#define VF_VERTEX_H
-
-#include "main/mtypes.h"
-#include "math/m_vector.h"
-
-enum {
- VF_ATTRIB_POS = 0,
- VF_ATTRIB_WEIGHT = 1,
- VF_ATTRIB_NORMAL = 2,
- VF_ATTRIB_COLOR0 = 3,
- VF_ATTRIB_COLOR1 = 4,
- VF_ATTRIB_FOG = 5,
- VF_ATTRIB_COLOR_INDEX = 6,
- VF_ATTRIB_EDGEFLAG = 7,
- VF_ATTRIB_TEX0 = 8,
- VF_ATTRIB_TEX1 = 9,
- VF_ATTRIB_TEX2 = 10,
- VF_ATTRIB_TEX3 = 11,
- VF_ATTRIB_TEX4 = 12,
- VF_ATTRIB_TEX5 = 13,
- VF_ATTRIB_TEX6 = 14,
- VF_ATTRIB_TEX7 = 15,
- VF_ATTRIB_VAR0 = 16,
- VF_ATTRIB_VAR1 = 17,
- VF_ATTRIB_VAR2 = 18,
- VF_ATTRIB_VAR3 = 19,
- VF_ATTRIB_VAR4 = 20,
- VF_ATTRIB_VAR5 = 21,
- VF_ATTRIB_VAR6 = 22,
- VF_ATTRIB_VAR7 = 23,
- VF_ATTRIB_POINTSIZE = 24,
- VF_ATTRIB_BFC0 = 25,
- VF_ATTRIB_BFC1 = 26,
- VF_ATTRIB_CLIP_POS = 27,
- VF_ATTRIB_VERTEX_HEADER = 28,
- VF_ATTRIB_MAX = 29
-};
-
-
-enum vf_attr_format {
- EMIT_1F,
- EMIT_2F,
- EMIT_3F,
- EMIT_4F,
- EMIT_2F_VIEWPORT, /* do viewport transform and emit */
- EMIT_3F_VIEWPORT, /* do viewport transform and emit */
- EMIT_4F_VIEWPORT, /* do viewport transform and emit */
- EMIT_3F_XYW, /* for projective texture */
- EMIT_1UB_1F, /* for fog coordinate */
- EMIT_3UB_3F_RGB, /* for specular color */
- EMIT_3UB_3F_BGR, /* for specular color */
- EMIT_4UB_4F_RGBA, /* for color */
- EMIT_4UB_4F_BGRA, /* for color */
- EMIT_4UB_4F_ARGB, /* for color */
- EMIT_4UB_4F_ABGR, /* for color */
- EMIT_4CHAN_4F_RGBA, /* for swrast color */
- EMIT_PAD, /* leave a hole of 'offset' bytes */
- EMIT_MAX
-};
-
-struct vf_attr_map {
- GLuint attrib;
- enum vf_attr_format format;
- GLuint offset;
-};
-
-struct vertex_fetch;
-
-void vf_set_vp_matrix( struct vertex_fetch *vf,
- const GLfloat *viewport );
-
-void vf_set_vp_scale_translate( struct vertex_fetch *vf,
- const GLfloat *scale,
- const GLfloat *translate );
-
-GLuint vf_set_vertex_attributes( struct vertex_fetch *vf,
- const struct vf_attr_map *map,
- GLuint nr,
- GLuint vertex_stride );
-
-void vf_set_sources( struct vertex_fetch *vf,
- GLvector4f * const attrib[],
- GLuint start );
-
-void vf_emit_vertices( struct vertex_fetch *vf,
- GLuint count,
- void *dest );
-
-void vf_get_attr( struct vertex_fetch *vf,
- const void *vertex,
- GLenum attr,
- const GLfloat *dflt,
- GLfloat *dest );
-
-struct vertex_fetch *vf_create( GLboolean allow_viewport_emits );
-
-void vf_destroy( struct vertex_fetch *vf );
-
-
-
-/***********************************************************************
- * Internal functions and structs:
- */
-
-struct vf_attr;
-
-typedef void (*vf_extract_func)( const struct vf_attr *a,
- GLfloat *out,
- const GLubyte *v );
-
-typedef void (*vf_insert_func)( const struct vf_attr *a,
- GLubyte *v,
- const GLfloat *in );
-
-typedef void (*vf_emit_func)( struct vertex_fetch *vf,
- GLuint count,
- GLubyte *dest );
-
-
-
-/* Describes how to convert/move a vertex attribute from a vertex
- * array to a vertex structure.
- */
-struct vf_attr
-{
- struct vertex_fetch *vf;
-
- GLuint format;
- GLuint inputsize;
- GLuint inputstride;
- GLuint vertoffset; /* position of the attrib in the vertex struct */
-
- GLuint attrib; /* which vertex attrib (0=position, etc) */
- GLuint vertattrsize; /* size of the attribute in bytes */
-
- GLubyte *inputptr;
- const vf_insert_func *insert;
- vf_insert_func do_insert;
- vf_extract_func extract;
-};
-
-struct vertex_fetch
-{
- struct vf_attr attr[VF_ATTRIB_MAX];
- GLuint attr_count;
- GLuint vertex_stride;
-
- struct vf_attr *lookup[VF_ATTRIB_MAX];
-
- vf_emit_func emit;
-
- /* Parameters and constants for codegen:
- */
- GLboolean allow_viewport_emits;
- GLfloat vp[8];
- GLfloat chan_scale[4];
- GLfloat identity[4];
-
- struct vf_fastpath *fastpath;
-
- void (*codegen_emit)( struct vertex_fetch *vf );
-};
-
-
-struct vf_attr_type {
- GLuint format;
- GLuint size;
- GLuint stride;
- GLuint offset;
-};
-
-struct vf_fastpath {
- GLuint vertex_stride;
- GLuint attr_count;
- GLboolean match_strides;
-
- struct vf_attr_type *attr;
-
- vf_emit_func func;
- struct vf_fastpath *next;
-};
-
-
-void vf_register_fastpath( struct vertex_fetch *vtx,
- GLboolean match_strides );
-
-void vf_generic_emit( struct vertex_fetch *vf,
- GLuint count,
- GLubyte *v );
-
-void vf_generate_hardwired_emit( struct vertex_fetch *vf );
-
-void vf_generate_sse_emit( struct vertex_fetch *vf );
-
-
-struct vf_format_info {
- const char *name;
- vf_extract_func extract;
- vf_insert_func insert[4];
- const GLuint attrsize;
-};
-
-const struct vf_format_info vf_format_info[EMIT_MAX];
-
-
-#endif
diff --git a/src/mesa/vf/vf_generic.c b/src/mesa/vf/vf_generic.c
deleted file mode 100644
index baa00af29a..0000000000
--- a/src/mesa/vf/vf_generic.c
+++ /dev/null
@@ -1,981 +0,0 @@
-
-/*
- * Copyright 2003 Tungsten Graphics, inc.
- * 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
- * on the rights to use, copy, modify, merge, publish, distribute, sub
- * license, 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 (including the next
- * paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
- * TUNGSTEN GRAPHICS AND/OR THEIR SUPPLIERS 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.
- *
- * Authors:
- * Keith Whitwell <keithw@tungstengraphics.com>
- */
-
-#include "main/glheader.h"
-#include "main/context.h"
-#include "main/colormac.h"
-#include "main/simple_list.h"
-
-#include "vf/vf.h"
-
-
-/*
- * These functions take the NDC coordinates pointed to by 'in', apply the
- * NDC->Viewport mapping and store the results at 'v'.
- */
-
-static INLINE void insert_4f_viewport_4( const struct vf_attr *a, GLubyte *v,
- const GLfloat *in )
-{
- GLfloat *out = (GLfloat *)v;
- const GLfloat *scale = a->vf->vp;
- const GLfloat *trans = a->vf->vp + 4;
-
- out[0] = scale[0] * in[0] + trans[0];
- out[1] = scale[1] * in[1] + trans[1];
- out[2] = scale[2] * in[2] + trans[2];
- out[3] = in[3];
-}
-
-static INLINE void insert_4f_viewport_3( const struct vf_attr *a, GLubyte *v,
- const GLfloat *in )
-{
- GLfloat *out = (GLfloat *)v;
- const GLfloat *scale = a->vf->vp;
- const GLfloat *trans = a->vf->vp + 4;
-
- out[0] = scale[0] * in[0] + trans[0];
- out[1] = scale[1] * in[1] + trans[1];
- out[2] = scale[2] * in[2] + trans[2];
- out[3] = 1;
-}
-
-static INLINE void insert_4f_viewport_2( const struct vf_attr *a, GLubyte *v,
- const GLfloat *in )
-{
- GLfloat *out = (GLfloat *)v;
- const GLfloat *scale = a->vf->vp;
- const GLfloat *trans = a->vf->vp + 4;
-
- out[0] = scale[0] * in[0] + trans[0];
- out[1] = scale[1] * in[1] + trans[1];
- out[2] = trans[2];
- out[3] = 1;
-}
-
-static INLINE void insert_4f_viewport_1( const struct vf_attr *a, GLubyte *v,
- const GLfloat *in )
-{
- GLfloat *out = (GLfloat *)v;
- const GLfloat *scale = a->vf->vp;
- const GLfloat *trans = a->vf->vp + 4;
-
- out[0] = scale[0] * in[0] + trans[0];
- out[1] = trans[1];
- out[2] = trans[2];
- out[3] = 1;
-}
-
-static INLINE void insert_3f_viewport_3( const struct vf_attr *a, GLubyte *v,
- const GLfloat *in )
-{
- GLfloat *out = (GLfloat *)v;
- const GLfloat *scale = a->vf->vp;
- const GLfloat *trans = a->vf->vp + 4;
-
- out[0] = scale[0] * in[0] + trans[0];
- out[1] = scale[1] * in[1] + trans[1];
- out[2] = scale[2] * in[2] + trans[2];
-}
-
-static INLINE void insert_3f_viewport_2( const struct vf_attr *a, GLubyte *v,
- const GLfloat *in )
-{
- GLfloat *out = (GLfloat *)v;
- const GLfloat *scale = a->vf->vp;
- const GLfloat *trans = a->vf->vp + 4;
-
- out[0] = scale[0] * in[0] + trans[0];
- out[1] = scale[1] * in[1] + trans[1];
- out[2] = scale[2] * in[2] + trans[2];
-}
-
-static INLINE void insert_3f_viewport_1( const struct vf_attr *a, GLubyte *v,
- const GLfloat *in )
-{
- GLfloat *out = (GLfloat *)v;
- const GLfloat *scale = a->vf->vp;
- const GLfloat *trans = a->vf->vp + 4;
-
- out[0] = scale[0] * in[0] + trans[0];
- out[1] = trans[1];
- out[2] = trans[2];
-}
-
-static INLINE void insert_2f_viewport_2( const struct vf_attr *a, GLubyte *v,
- const GLfloat *in )
-{
- GLfloat *out = (GLfloat *)v;
- const GLfloat *scale = a->vf->vp;
- const GLfloat *trans = a->vf->vp + 4;
-
- out[0] = scale[0] * in[0] + trans[0];
- out[1] = scale[1] * in[1] + trans[1];
-}
-
-static INLINE void insert_2f_viewport_1( const struct vf_attr *a, GLubyte *v,
- const GLfloat *in )
-{
- GLfloat *out = (GLfloat *)v;
- const GLfloat *scale = a->vf->vp;
- const GLfloat *trans = a->vf->vp + 4;
-
- out[0] = scale[0] * in[0] + trans[0];
- out[1] = trans[1];
-}
-
-
-/*
- * These functions do the same as above, except for the viewport mapping.
- */
-
-static INLINE void insert_4f_4( const struct vf_attr *a, GLubyte *v, const GLfloat *in )
-{
- GLfloat *out = (GLfloat *)(v);
- (void) a;
-
- out[0] = in[0];
- out[1] = in[1];
- out[2] = in[2];
- out[3] = in[3];
-}
-
-static INLINE void insert_4f_3( const struct vf_attr *a, GLubyte *v, const GLfloat *in )
-{
- GLfloat *out = (GLfloat *)(v);
- (void) a;
-
- out[0] = in[0];
- out[1] = in[1];
- out[2] = in[2];
- out[3] = 1;
-}
-
-static INLINE void insert_4f_2( const struct vf_attr *a, GLubyte *v, const GLfloat *in )
-{
- GLfloat *out = (GLfloat *)(v);
- (void) a;
-
- out[0] = in[0];
- out[1] = in[1];
- out[2] = 0;
- out[3] = 1;
-}
-
-static INLINE void insert_4f_1( const struct vf_attr *a, GLubyte *v, const GLfloat *in )
-{
- GLfloat *out = (GLfloat *)(v);
- (void) a;
-
- out[0] = in[0];
- out[1] = 0;
- out[2] = 0;
- out[3] = 1;
-}
-
-static INLINE void insert_3f_xyw_4( const struct vf_attr *a, GLubyte *v, const GLfloat *in )
-{
- GLfloat *out = (GLfloat *)(v);
- (void) a;
-
- out[0] = in[0];
- out[1] = in[1];
- out[2] = in[3];
-}
-
-static INLINE void insert_3f_xyw_err( const struct vf_attr *a, GLubyte *v, const GLfloat *in )
-{
- (void) a; (void) v; (void) in;
- _mesa_exit(1);
-}
-
-static INLINE void insert_3f_3( const struct vf_attr *a, GLubyte *v, const GLfloat *in )
-{
- GLfloat *out = (GLfloat *)(v);
- (void) a;
-
- out[0] = in[0];
- out[1] = in[1];
- out[2] = in[2];
-}
-
-static INLINE void insert_3f_2( const struct vf_attr *a, GLubyte *v, const GLfloat *in )
-{
- GLfloat *out = (GLfloat *)(v);
- (void) a;
-
- out[0] = in[0];
- out[1] = in[1];
- out[2] = 0;
-}
-
-static INLINE void insert_3f_1( const struct vf_attr *a, GLubyte *v, const GLfloat *in )
-{
- GLfloat *out = (GLfloat *)(v);
- (void) a;
-
- out[0] = in[0];
- out[1] = 0;
- out[2] = 0;
-}
-
-
-static INLINE void insert_2f_2( const struct vf_attr *a, GLubyte *v, const GLfloat *in )
-{
- GLfloat *out = (GLfloat *)(v);
- (void) a;
-
- out[0] = in[0];
- out[1] = in[1];
-}
-
-static INLINE void insert_2f_1( const struct vf_attr *a, GLubyte *v, const GLfloat *in )
-{
- GLfloat *out = (GLfloat *)(v);
- (void) a;
-
- out[0] = in[0];
- out[1] = 0;
-}
-
-static INLINE void insert_1f_1( const struct vf_attr *a, GLubyte *v, const GLfloat *in )
-{
- GLfloat *out = (GLfloat *)(v);
- (void) a;
-
- out[0] = in[0];
-}
-
-static INLINE void insert_null( const struct vf_attr *a, GLubyte *v, const GLfloat *in )
-{
- (void) a; (void) v; (void) in;
-}
-
-static INLINE void insert_4chan_4f_rgba_4( const struct vf_attr *a, GLubyte *v,
- const GLfloat *in )
-{
- GLchan *c = (GLchan *)v;
- (void) a;
- UNCLAMPED_FLOAT_TO_CHAN(c[0], in[0]);
- UNCLAMPED_FLOAT_TO_CHAN(c[1], in[1]);
- UNCLAMPED_FLOAT_TO_CHAN(c[2], in[2]);
- UNCLAMPED_FLOAT_TO_CHAN(c[3], in[3]);
-}
-
-static INLINE void insert_4chan_4f_rgba_3( const struct vf_attr *a, GLubyte *v,
- const GLfloat *in )
-{
- GLchan *c = (GLchan *)v;
- (void) a;
- UNCLAMPED_FLOAT_TO_CHAN(c[0], in[0]);
- UNCLAMPED_FLOAT_TO_CHAN(c[1], in[1]);
- UNCLAMPED_FLOAT_TO_CHAN(c[2], in[2]);
- c[3] = CHAN_MAX;
-}
-
-static INLINE void insert_4chan_4f_rgba_2( const struct vf_attr *a, GLubyte *v,
- const GLfloat *in )
-{
- GLchan *c = (GLchan *)v;
- (void) a;
- UNCLAMPED_FLOAT_TO_CHAN(c[0], in[0]);
- UNCLAMPED_FLOAT_TO_CHAN(c[1], in[1]);
- c[2] = 0;
- c[3] = CHAN_MAX;
-}
-
-static INLINE void insert_4chan_4f_rgba_1( const struct vf_attr *a, GLubyte *v,
- const GLfloat *in )
-{
- GLchan *c = (GLchan *)v;
- (void) a;
- UNCLAMPED_FLOAT_TO_CHAN(c[0], in[0]);
- c[1] = 0;
- c[2] = 0;
- c[3] = CHAN_MAX;
-}
-
-static INLINE void insert_4ub_4f_rgba_4( const struct vf_attr *a, GLubyte *v,
- const GLfloat *in )
-{
- (void) a;
- UNCLAMPED_FLOAT_TO_UBYTE(v[0], in[0]);
- UNCLAMPED_FLOAT_TO_UBYTE(v[1], in[1]);
- UNCLAMPED_FLOAT_TO_UBYTE(v[2], in[2]);
- UNCLAMPED_FLOAT_TO_UBYTE(v[3], in[3]);
-}
-
-static INLINE void insert_4ub_4f_rgba_3( const struct vf_attr *a, GLubyte *v,
- const GLfloat *in )
-{
- (void) a;
- UNCLAMPED_FLOAT_TO_UBYTE(v[0], in[0]);
- UNCLAMPED_FLOAT_TO_UBYTE(v[1], in[1]);
- UNCLAMPED_FLOAT_TO_UBYTE(v[2], in[2]);
- v[3] = 0xff;
-}
-
-static INLINE void insert_4ub_4f_rgba_2( const struct vf_attr *a, GLubyte *v,
- const GLfloat *in )
-{
- (void) a;
- UNCLAMPED_FLOAT_TO_UBYTE(v[0], in[0]);
- UNCLAMPED_FLOAT_TO_UBYTE(v[1], in[1]);
- v[2] = 0;
- v[3] = 0xff;
-}
-
-static INLINE void insert_4ub_4f_rgba_1( const struct vf_attr *a, GLubyte *v,
- const GLfloat *in )
-{
- (void) a;
- UNCLAMPED_FLOAT_TO_UBYTE(v[0], in[0]);
- v[1] = 0;
- v[2] = 0;
- v[3] = 0xff;
-}
-
-static INLINE void insert_4ub_4f_bgra_4( const struct vf_attr *a, GLubyte *v,
- const GLfloat *in )
-{
- (void) a;
- UNCLAMPED_FLOAT_TO_UBYTE(v[2], in[0]);
- UNCLAMPED_FLOAT_TO_UBYTE(v[1], in[1]);
- UNCLAMPED_FLOAT_TO_UBYTE(v[0], in[2]);
- UNCLAMPED_FLOAT_TO_UBYTE(v[3], in[3]);
-}
-
-static INLINE void insert_4ub_4f_bgra_3( const struct vf_attr *a, GLubyte *v,
- const GLfloat *in )
-{
- (void) a;
- UNCLAMPED_FLOAT_TO_UBYTE(v[2], in[0]);
- UNCLAMPED_FLOAT_TO_UBYTE(v[1], in[1]);
- UNCLAMPED_FLOAT_TO_UBYTE(v[0], in[2]);
- v[3] = 0xff;
-}
-
-static INLINE void insert_4ub_4f_bgra_2( const struct vf_attr *a, GLubyte *v,
- const GLfloat *in )
-{
- (void) a;
- UNCLAMPED_FLOAT_TO_UBYTE(v[2], in[0]);
- UNCLAMPED_FLOAT_TO_UBYTE(v[1], in[1]);
- v[0] = 0;
- v[3] = 0xff;
-}
-
-static INLINE void insert_4ub_4f_bgra_1( const struct vf_attr *a, GLubyte *v,
- const GLfloat *in )
-{
- (void) a;
- UNCLAMPED_FLOAT_TO_UBYTE(v[2], in[0]);
- v[1] = 0;
- v[0] = 0;
- v[3] = 0xff;
-}
-
-static INLINE void insert_4ub_4f_argb_4( const struct vf_attr *a, GLubyte *v,
- const GLfloat *in )
-{
- (void) a;
- UNCLAMPED_FLOAT_TO_UBYTE(v[1], in[0]);
- UNCLAMPED_FLOAT_TO_UBYTE(v[2], in[1]);
- UNCLAMPED_FLOAT_TO_UBYTE(v[3], in[2]);
- UNCLAMPED_FLOAT_TO_UBYTE(v[0], in[3]);
-}
-
-static INLINE void insert_4ub_4f_argb_3( const struct vf_attr *a, GLubyte *v,
- const GLfloat *in )
-{
- (void) a;
- UNCLAMPED_FLOAT_TO_UBYTE(v[1], in[0]);
- UNCLAMPED_FLOAT_TO_UBYTE(v[2], in[1]);
- UNCLAMPED_FLOAT_TO_UBYTE(v[3], in[2]);
- v[0] = 0xff;
-}
-
-static INLINE void insert_4ub_4f_argb_2( const struct vf_attr *a, GLubyte *v,
- const GLfloat *in )
-{
- (void) a;
- UNCLAMPED_FLOAT_TO_UBYTE(v[1], in[0]);
- UNCLAMPED_FLOAT_TO_UBYTE(v[2], in[1]);
- v[3] = 0x00;
- v[0] = 0xff;
-}
-
-static INLINE void insert_4ub_4f_argb_1( const struct vf_attr *a, GLubyte *v,
- const GLfloat *in )
-{
- (void) a;
- UNCLAMPED_FLOAT_TO_UBYTE(v[1], in[0]);
- v[2] = 0x00;
- v[3] = 0x00;
- v[0] = 0xff;
-}
-
-static INLINE void insert_4ub_4f_abgr_4( const struct vf_attr *a, GLubyte *v,
- const GLfloat *in )
-{
- (void) a;
- UNCLAMPED_FLOAT_TO_UBYTE(v[3], in[0]);
- UNCLAMPED_FLOAT_TO_UBYTE(v[2], in[1]);
- UNCLAMPED_FLOAT_TO_UBYTE(v[1], in[2]);
- UNCLAMPED_FLOAT_TO_UBYTE(v[0], in[3]);
-}
-
-static INLINE void insert_4ub_4f_abgr_3( const struct vf_attr *a, GLubyte *v,
- const GLfloat *in )
-{
- (void) a;
- UNCLAMPED_FLOAT_TO_UBYTE(v[3], in[0]);
- UNCLAMPED_FLOAT_TO_UBYTE(v[2], in[1]);
- UNCLAMPED_FLOAT_TO_UBYTE(v[1], in[2]);
- v[0] = 0xff;
-}
-
-static INLINE void insert_4ub_4f_abgr_2( const struct vf_attr *a, GLubyte *v,
- const GLfloat *in )
-{
- (void) a;
- UNCLAMPED_FLOAT_TO_UBYTE(v[3], in[0]);
- UNCLAMPED_FLOAT_TO_UBYTE(v[2], in[1]);
- v[1] = 0x00;
- v[0] = 0xff;
-}
-
-static INLINE void insert_4ub_4f_abgr_1( const struct vf_attr *a, GLubyte *v,
- const GLfloat *in )
-{
- (void) a;
- UNCLAMPED_FLOAT_TO_UBYTE(v[3], in[0]);
- v[2] = 0x00;
- v[1] = 0x00;
- v[0] = 0xff;
-}
-
-static INLINE void insert_3ub_3f_rgb_3( const struct vf_attr *a, GLubyte *v,
- const GLfloat *in )
-{
- (void) a;
- UNCLAMPED_FLOAT_TO_UBYTE(v[0], in[0]);
- UNCLAMPED_FLOAT_TO_UBYTE(v[1], in[1]);
- UNCLAMPED_FLOAT_TO_UBYTE(v[2], in[2]);
-}
-
-static INLINE void insert_3ub_3f_rgb_2( const struct vf_attr *a, GLubyte *v,
- const GLfloat *in )
-{
- (void) a;
- UNCLAMPED_FLOAT_TO_UBYTE(v[0], in[0]);
- UNCLAMPED_FLOAT_TO_UBYTE(v[1], in[1]);
- v[2] = 0;
-}
-
-static INLINE void insert_3ub_3f_rgb_1( const struct vf_attr *a, GLubyte *v,
- const GLfloat *in )
-{
- (void) a;
- UNCLAMPED_FLOAT_TO_UBYTE(v[0], in[0]);
- v[1] = 0;
- v[2] = 0;
-}
-
-static INLINE void insert_3ub_3f_bgr_3( const struct vf_attr *a, GLubyte *v,
- const GLfloat *in )
-{
- (void) a;
- UNCLAMPED_FLOAT_TO_UBYTE(v[2], in[0]);
- UNCLAMPED_FLOAT_TO_UBYTE(v[1], in[1]);
- UNCLAMPED_FLOAT_TO_UBYTE(v[0], in[2]);
-}
-
-static INLINE void insert_3ub_3f_bgr_2( const struct vf_attr *a, GLubyte *v,
- const GLfloat *in )
-{
- (void) a;
- UNCLAMPED_FLOAT_TO_UBYTE(v[2], in[0]);
- UNCLAMPED_FLOAT_TO_UBYTE(v[1], in[1]);
- v[0] = 0;
-}
-
-static INLINE void insert_3ub_3f_bgr_1( const struct vf_attr *a, GLubyte *v,
- const GLfloat *in )
-{
- (void) a;
- UNCLAMPED_FLOAT_TO_UBYTE(v[2], in[0]);
- v[1] = 0;
- v[0] = 0;
-}
-
-
-static INLINE void insert_1ub_1f_1( const struct vf_attr *a, GLubyte *v,
- const GLfloat *in )
-{
- (void) a;
- UNCLAMPED_FLOAT_TO_UBYTE(v[0], in[0]);
-}
-
-
-/***********************************************************************
- * Functions to perform the reverse operations to the above, for
- * swrast translation and clip-interpolation.
- *
- * Currently always extracts a full 4 floats.
- */
-
-static void extract_4f_viewport( const struct vf_attr *a, GLfloat *out,
- const GLubyte *v )
-{
- const GLfloat *in = (const GLfloat *)v;
- const GLfloat *scale = a->vf->vp;
- const GLfloat *trans = a->vf->vp + 4;
-
- /* Although included for completeness, the position coordinate is
- * usually handled differently during clipping.
- */
- out[0] = (in[0] - trans[0]) / scale[0];
- out[1] = (in[1] - trans[1]) / scale[1];
- out[2] = (in[2] - trans[2]) / scale[2];
- out[3] = in[3];
-}
-
-static void extract_3f_viewport( const struct vf_attr *a, GLfloat *out,
- const GLubyte *v )
-{
- const GLfloat *in = (const GLfloat *)v;
- const GLfloat *scale = a->vf->vp;
- const GLfloat *trans = a->vf->vp + 4;
-
- out[0] = (in[0] - trans[0]) / scale[0];
- out[1] = (in[1] - trans[1]) / scale[1];
- out[2] = (in[2] - trans[2]) / scale[2];
- out[3] = 1;
-}
-
-
-static void extract_2f_viewport( const struct vf_attr *a, GLfloat *out,
- const GLubyte *v )
-{
- const GLfloat *in = (const GLfloat *)v;
- const GLfloat *scale = a->vf->vp;
- const GLfloat *trans = a->vf->vp + 4;
-
- out[0] = (in[0] - trans[0]) / scale[0];
- out[1] = (in[1] - trans[1]) / scale[1];
- out[2] = 0;
- out[3] = 1;
-}
-
-
-static void extract_4f( const struct vf_attr *a, GLfloat *out, const GLubyte *v )
-{
- const GLfloat *in = (const GLfloat *)v;
- (void) a;
-
- out[0] = in[0];
- out[1] = in[1];
- out[2] = in[2];
- out[3] = in[3];
-}
-
-static void extract_3f_xyw( const struct vf_attr *a, GLfloat *out, const GLubyte *v )
-{
- const GLfloat *in = (const GLfloat *)v;
- (void) a;
-
- out[0] = in[0];
- out[1] = in[1];
- out[2] = 0;
- out[3] = in[2];
-}
-
-
-static void extract_3f( const struct vf_attr *a, GLfloat *out, const GLubyte *v )
-{
- const GLfloat *in = (const GLfloat *)v;
- (void) a;
-
- out[0] = in[0];
- out[1] = in[1];
- out[2] = in[2];
- out[3] = 1;
-}
-
-
-static void extract_2f( const struct vf_attr *a, GLfloat *out, const GLubyte *v )
-{
- const GLfloat *in = (const GLfloat *)v;
- (void) a;
-
- out[0] = in[0];
- out[1] = in[1];
- out[2] = 0;
- out[3] = 1;
-}
-
-static void extract_1f( const struct vf_attr *a, GLfloat *out, const GLubyte *v )
-{
- const GLfloat *in = (const GLfloat *)v;
- (void) a;
-
- out[0] = in[0];
- out[1] = 0;
- out[2] = 0;
- out[3] = 1;
-}
-
-static void extract_4chan_4f_rgba( const struct vf_attr *a, GLfloat *out,
- const GLubyte *v )
-{
- GLchan *c = (GLchan *)v;
- (void) a;
-
- out[0] = CHAN_TO_FLOAT(c[0]);
- out[1] = CHAN_TO_FLOAT(c[1]);
- out[2] = CHAN_TO_FLOAT(c[2]);
- out[3] = CHAN_TO_FLOAT(c[3]);
-}
-
-static void extract_4ub_4f_rgba( const struct vf_attr *a, GLfloat *out,
- const GLubyte *v )
-{
- (void) a;
- out[0] = UBYTE_TO_FLOAT(v[0]);
- out[1] = UBYTE_TO_FLOAT(v[1]);
- out[2] = UBYTE_TO_FLOAT(v[2]);
- out[3] = UBYTE_TO_FLOAT(v[3]);
-}
-
-static void extract_4ub_4f_bgra( const struct vf_attr *a, GLfloat *out,
- const GLubyte *v )
-{
- (void) a;
- out[2] = UBYTE_TO_FLOAT(v[0]);
- out[1] = UBYTE_TO_FLOAT(v[1]);
- out[0] = UBYTE_TO_FLOAT(v[2]);
- out[3] = UBYTE_TO_FLOAT(v[3]);
-}
-
-static void extract_4ub_4f_argb( const struct vf_attr *a, GLfloat *out,
- const GLubyte *v )
-{
- (void) a;
- out[3] = UBYTE_TO_FLOAT(v[0]);
- out[0] = UBYTE_TO_FLOAT(v[1]);
- out[1] = UBYTE_TO_FLOAT(v[2]);
- out[2] = UBYTE_TO_FLOAT(v[3]);
-}
-
-static void extract_4ub_4f_abgr( const struct vf_attr *a, GLfloat *out,
- const GLubyte *v )
-{
- (void) a;
- out[3] = UBYTE_TO_FLOAT(v[0]);
- out[2] = UBYTE_TO_FLOAT(v[1]);
- out[1] = UBYTE_TO_FLOAT(v[2]);
- out[0] = UBYTE_TO_FLOAT(v[3]);
-}
-
-static void extract_3ub_3f_rgb( const struct vf_attr *a, GLfloat *out,
- const GLubyte *v )
-{
- (void) a;
- out[0] = UBYTE_TO_FLOAT(v[0]);
- out[1] = UBYTE_TO_FLOAT(v[1]);
- out[2] = UBYTE_TO_FLOAT(v[2]);
- out[3] = 1;
-}
-
-static void extract_3ub_3f_bgr( const struct vf_attr *a, GLfloat *out,
- const GLubyte *v )
-{
- (void) a;
- out[2] = UBYTE_TO_FLOAT(v[0]);
- out[1] = UBYTE_TO_FLOAT(v[1]);
- out[0] = UBYTE_TO_FLOAT(v[2]);
- out[3] = 1;
-}
-
-static void extract_1ub_1f( const struct vf_attr *a, GLfloat *out, const GLubyte *v )
-{
- (void) a;
- out[0] = UBYTE_TO_FLOAT(v[0]);
- out[1] = 0;
- out[2] = 0;
- out[3] = 1;
-}
-
-
-const struct vf_format_info vf_format_info[EMIT_MAX] =
-{
- { "1f",
- extract_1f,
- { insert_1f_1, insert_1f_1, insert_1f_1, insert_1f_1 },
- sizeof(GLfloat) },
-
- { "2f",
- extract_2f,
- { insert_2f_1, insert_2f_2, insert_2f_2, insert_2f_2 },
- 2 * sizeof(GLfloat) },
-
- { "3f",
- extract_3f,
- { insert_3f_1, insert_3f_2, insert_3f_3, insert_3f_3 },
- 3 * sizeof(GLfloat) },
-
- { "4f",
- extract_4f,
- { insert_4f_1, insert_4f_2, insert_4f_3, insert_4f_4 },
- 4 * sizeof(GLfloat) },
-
- { "2f_viewport",
- extract_2f_viewport,
- { insert_2f_viewport_1, insert_2f_viewport_2, insert_2f_viewport_2,
- insert_2f_viewport_2 },
- 2 * sizeof(GLfloat) },
-
- { "3f_viewport",
- extract_3f_viewport,
- { insert_3f_viewport_1, insert_3f_viewport_2, insert_3f_viewport_3,
- insert_3f_viewport_3 },
- 3 * sizeof(GLfloat) },
-
- { "4f_viewport",
- extract_4f_viewport,
- { insert_4f_viewport_1, insert_4f_viewport_2, insert_4f_viewport_3,
- insert_4f_viewport_4 },
- 4 * sizeof(GLfloat) },
-
- { "3f_xyw",
- extract_3f_xyw,
- { insert_3f_xyw_err, insert_3f_xyw_err, insert_3f_xyw_err,
- insert_3f_xyw_4 },
- 3 * sizeof(GLfloat) },
-
- { "1ub_1f",
- extract_1ub_1f,
- { insert_1ub_1f_1, insert_1ub_1f_1, insert_1ub_1f_1, insert_1ub_1f_1 },
- sizeof(GLubyte) },
-
- { "3ub_3f_rgb",
- extract_3ub_3f_rgb,
- { insert_3ub_3f_rgb_1, insert_3ub_3f_rgb_2, insert_3ub_3f_rgb_3,
- insert_3ub_3f_rgb_3 },
- 3 * sizeof(GLubyte) },
-
- { "3ub_3f_bgr",
- extract_3ub_3f_bgr,
- { insert_3ub_3f_bgr_1, insert_3ub_3f_bgr_2, insert_3ub_3f_bgr_3,
- insert_3ub_3f_bgr_3 },
- 3 * sizeof(GLubyte) },
-
- { "4ub_4f_rgba",
- extract_4ub_4f_rgba,
- { insert_4ub_4f_rgba_1, insert_4ub_4f_rgba_2, insert_4ub_4f_rgba_3,
- insert_4ub_4f_rgba_4 },
- 4 * sizeof(GLubyte) },
-
- { "4ub_4f_bgra",
- extract_4ub_4f_bgra,
- { insert_4ub_4f_bgra_1, insert_4ub_4f_bgra_2, insert_4ub_4f_bgra_3,
- insert_4ub_4f_bgra_4 },
- 4 * sizeof(GLubyte) },
-
- { "4ub_4f_argb",
- extract_4ub_4f_argb,
- { insert_4ub_4f_argb_1, insert_4ub_4f_argb_2, insert_4ub_4f_argb_3,
- insert_4ub_4f_argb_4 },
- 4 * sizeof(GLubyte) },
-
- { "4ub_4f_abgr",
- extract_4ub_4f_abgr,
- { insert_4ub_4f_abgr_1, insert_4ub_4f_abgr_2, insert_4ub_4f_abgr_3,
- insert_4ub_4f_abgr_4 },
- 4 * sizeof(GLubyte) },
-
- { "4chan_4f_rgba",
- extract_4chan_4f_rgba,
- { insert_4chan_4f_rgba_1, insert_4chan_4f_rgba_2, insert_4chan_4f_rgba_3,
- insert_4chan_4f_rgba_4 },
- 4 * sizeof(GLchan) },
-
- { "pad",
- NULL,
- { NULL, NULL, NULL, NULL },
- 0 }
-
-};
-
-
-
-
-/***********************************************************************
- * Hardwired fastpaths for emitting whole vertices or groups of
- * vertices
- */
-#define EMIT5(NR, F0, F1, F2, F3, F4, NAME) \
-static void NAME( struct vertex_fetch *vf, \
- GLuint count, \
- GLubyte *v ) \
-{ \
- struct vf_attr *a = vf->attr; \
- GLuint i; \
- \
- for (i = 0 ; i < count ; i++, v += vf->vertex_stride) { \
- if (NR > 0) { \
- F0( &a[0], v + a[0].vertoffset, (GLfloat *)a[0].inputptr ); \
- a[0].inputptr += a[0].inputstride; \
- } \
- \
- if (NR > 1) { \
- F1( &a[1], v + a[1].vertoffset, (GLfloat *)a[1].inputptr ); \
- a[1].inputptr += a[1].inputstride; \
- } \
- \
- if (NR > 2) { \
- F2( &a[2], v + a[2].vertoffset, (GLfloat *)a[2].inputptr ); \
- a[2].inputptr += a[2].inputstride; \
- } \
- \
- if (NR > 3) { \
- F3( &a[3], v + a[3].vertoffset, (GLfloat *)a[3].inputptr ); \
- a[3].inputptr += a[3].inputstride; \
- } \
- \
- if (NR > 4) { \
- F4( &a[4], v + a[4].vertoffset, (GLfloat *)a[4].inputptr ); \
- a[4].inputptr += a[4].inputstride; \
- } \
- } \
-}
-
-
-#define EMIT2(F0, F1, NAME) EMIT5(2, F0, F1, insert_null, \
- insert_null, insert_null, NAME)
-
-#define EMIT3(F0, F1, F2, NAME) EMIT5(3, F0, F1, F2, insert_null, \
- insert_null, NAME)
-
-#define EMIT4(F0, F1, F2, F3, NAME) EMIT5(4, F0, F1, F2, F3, \
- insert_null, NAME)
-
-
-EMIT2(insert_3f_viewport_3, insert_4ub_4f_rgba_4, emit_viewport3_rgba4)
-EMIT2(insert_3f_viewport_3, insert_4ub_4f_bgra_4, emit_viewport3_bgra4)
-EMIT2(insert_3f_3, insert_4ub_4f_rgba_4, emit_xyz3_rgba4)
-
-EMIT3(insert_4f_viewport_4, insert_4ub_4f_rgba_4, insert_2f_2, emit_viewport4_rgba4_st2)
-EMIT3(insert_4f_viewport_4, insert_4ub_4f_bgra_4, insert_2f_2, emit_viewport4_bgra4_st2)
-EMIT3(insert_4f_4, insert_4ub_4f_rgba_4, insert_2f_2, emit_xyzw4_rgba4_st2)
-
-EMIT4(insert_4f_viewport_4, insert_4ub_4f_rgba_4, insert_2f_2, insert_2f_2, emit_viewport4_rgba4_st2_st2)
-EMIT4(insert_4f_viewport_4, insert_4ub_4f_bgra_4, insert_2f_2, insert_2f_2, emit_viewport4_bgra4_st2_st2)
-EMIT4(insert_4f_4, insert_4ub_4f_rgba_4, insert_2f_2, insert_2f_2, emit_xyzw4_rgba4_st2_st2)
-
-
-/* Use the codegen paths to select one of a number of hardwired
- * fastpaths.
- */
-void vf_generate_hardwired_emit( struct vertex_fetch *vf )
-{
- vf_emit_func func = NULL;
-
- /* Does it fit a hardwired fastpath? Help! this is growing out of
- * control!
- */
- switch (vf->attr_count) {
- case 2:
- if (vf->attr[0].do_insert == insert_3f_viewport_3) {
- if (vf->attr[1].do_insert == insert_4ub_4f_bgra_4)
- func = emit_viewport3_bgra4;
- else if (vf->attr[1].do_insert == insert_4ub_4f_rgba_4)
- func = emit_viewport3_rgba4;
- }
- else if (vf->attr[0].do_insert == insert_3f_3 &&
- vf->attr[1].do_insert == insert_4ub_4f_rgba_4) {
- func = emit_xyz3_rgba4;
- }
- break;
- case 3:
- if (vf->attr[2].do_insert == insert_2f_2) {
- if (vf->attr[1].do_insert == insert_4ub_4f_rgba_4) {
- if (vf->attr[0].do_insert == insert_4f_viewport_4)
- func = emit_viewport4_rgba4_st2;
- else if (vf->attr[0].do_insert == insert_4f_4)
- func = emit_xyzw4_rgba4_st2;
- }
- else if (vf->attr[1].do_insert == insert_4ub_4f_bgra_4 &&
- vf->attr[0].do_insert == insert_4f_viewport_4)
- func = emit_viewport4_bgra4_st2;
- }
- break;
- case 4:
- if (vf->attr[2].do_insert == insert_2f_2 &&
- vf->attr[3].do_insert == insert_2f_2) {
- if (vf->attr[1].do_insert == insert_4ub_4f_rgba_4) {
- if (vf->attr[0].do_insert == insert_4f_viewport_4)
- func = emit_viewport4_rgba4_st2_st2;
- else if (vf->attr[0].do_insert == insert_4f_4)
- func = emit_xyzw4_rgba4_st2_st2;
- }
- else if (vf->attr[1].do_insert == insert_4ub_4f_bgra_4 &&
- vf->attr[0].do_insert == insert_4f_viewport_4)
- func = emit_viewport4_bgra4_st2_st2;
- }
- break;
- }
-
- vf->emit = func;
-}
-
-/***********************************************************************
- * Generic (non-codegen) functions for whole vertices or groups of
- * vertices
- */
-
-void vf_generic_emit( struct vertex_fetch *vf,
- GLuint count,
- GLubyte *v )
-{
- struct vf_attr *a = vf->attr;
- const GLuint attr_count = vf->attr_count;
- const GLuint stride = vf->vertex_stride;
- GLuint i, j;
-
- for (i = 0 ; i < count ; i++, v += stride) {
- for (j = 0; j < attr_count; j++) {
- GLfloat *in = (GLfloat *)a[j].inputptr;
- a[j].inputptr += a[j].inputstride;
- a[j].do_insert( &a[j], v + a[j].vertoffset, in );
- }
- }
-}
-
-
diff --git a/src/mesa/vf/vf_sse.c b/src/mesa/vf/vf_sse.c
deleted file mode 100644
index 4d70196ffe..0000000000
--- a/src/mesa/vf/vf_sse.c
+++ /dev/null
@@ -1,662 +0,0 @@
-/*
- * Copyright 2003 Tungsten Graphics, inc.
- * 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
- * on the rights to use, copy, modify, merge, publish, distribute, sub
- * license, 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 (including the next
- * paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
- * TUNGSTEN GRAPHICS AND/OR THEIR SUPPLIERS 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.
- *
- * Authors:
- * Keith Whitwell <keithw@tungstengraphics.com>
- */
-
-#include "main/glheader.h"
-#include "main/colormac.h"
-#include "main/simple_list.h"
-#include "main/enums.h"
-
-#include "vf/vf.h"
-
-#if defined(USE_SSE_ASM)
-
-#include "x86/rtasm/x86sse.h"
-#include "x86/common_x86_asm.h"
-
-
-#define X 0
-#define Y 1
-#define Z 2
-#define W 3
-
-
-struct x86_program {
- struct x86_function func;
-
- struct vertex_fetch *vf;
- GLboolean inputs_safe;
- GLboolean outputs_safe;
- GLboolean have_sse2;
-
- struct x86_reg identity;
- struct x86_reg chan0;
-};
-
-
-static struct x86_reg get_identity( struct x86_program *p )
-{
- return p->identity;
-}
-
-static void emit_load4f_4( struct x86_program *p,
- struct x86_reg dest,
- struct x86_reg arg0 )
-{
- sse_movups(&p->func, dest, arg0);
-}
-
-static void emit_load4f_3( struct x86_program *p,
- struct x86_reg dest,
- struct x86_reg arg0 )
-{
- /* Have to jump through some hoops:
- *
- * c 0 0 0
- * c 0 0 1
- * 0 0 c 1
- * a b c 1
- */
- sse_movss(&p->func, dest, x86_make_disp(arg0, 8));
- sse_shufps(&p->func, dest, get_identity(p), SHUF(X,Y,Z,W) );
- sse_shufps(&p->func, dest, dest, SHUF(Y,Z,X,W) );
- sse_movlps(&p->func, dest, arg0);
-}
-
-static void emit_load4f_2( struct x86_program *p,
- struct x86_reg dest,
- struct x86_reg arg0 )
-{
- /* Initialize from identity, then pull in low two words:
- */
- sse_movups(&p->func, dest, get_identity(p));
- sse_movlps(&p->func, dest, arg0);
-}
-
-static void emit_load4f_1( struct x86_program *p,
- struct x86_reg dest,
- struct x86_reg arg0 )
-{
- /* Pull in low word, then swizzle in identity */
- sse_movss(&p->func, dest, arg0);
- sse_shufps(&p->func, dest, get_identity(p), SHUF(X,Y,Z,W) );
-}
-
-
-
-static void emit_load3f_3( struct x86_program *p,
- struct x86_reg dest,
- struct x86_reg arg0 )
-{
- /* Over-reads by 1 dword - potential SEGV if input is a vertex
- * array.
- */
- if (p->inputs_safe) {
- sse_movups(&p->func, dest, arg0);
- }
- else {
- /* c 0 0 0
- * c c c c
- * a b c c
- */
- sse_movss(&p->func, dest, x86_make_disp(arg0, 8));
- sse_shufps(&p->func, dest, dest, SHUF(X,X,X,X));
- sse_movlps(&p->func, dest, arg0);
- }
-}
-
-static void emit_load3f_2( struct x86_program *p,
- struct x86_reg dest,
- struct x86_reg arg0 )
-{
- emit_load4f_2(p, dest, arg0);
-}
-
-static void emit_load3f_1( struct x86_program *p,
- struct x86_reg dest,
- struct x86_reg arg0 )
-{
- emit_load4f_1(p, dest, arg0);
-}
-
-static void emit_load2f_2( struct x86_program *p,
- struct x86_reg dest,
- struct x86_reg arg0 )
-{
- sse_movlps(&p->func, dest, arg0);
-}
-
-static void emit_load2f_1( struct x86_program *p,
- struct x86_reg dest,
- struct x86_reg arg0 )
-{
- emit_load4f_1(p, dest, arg0);
-}
-
-static void emit_load1f_1( struct x86_program *p,
- struct x86_reg dest,
- struct x86_reg arg0 )
-{
- sse_movss(&p->func, dest, arg0);
-}
-
-static void (*load[4][4])( struct x86_program *p,
- struct x86_reg dest,
- struct x86_reg arg0 ) = {
- { emit_load1f_1,
- emit_load1f_1,
- emit_load1f_1,
- emit_load1f_1 },
-
- { emit_load2f_1,
- emit_load2f_2,
- emit_load2f_2,
- emit_load2f_2 },
-
- { emit_load3f_1,
- emit_load3f_2,
- emit_load3f_3,
- emit_load3f_3 },
-
- { emit_load4f_1,
- emit_load4f_2,
- emit_load4f_3,
- emit_load4f_4 }
-};
-
-static void emit_load( struct x86_program *p,
- struct x86_reg dest,
- GLuint sz,
- struct x86_reg src,
- GLuint src_sz)
-{
- load[sz-1][src_sz-1](p, dest, src);
-}
-
-static void emit_store4f( struct x86_program *p,
- struct x86_reg dest,
- struct x86_reg arg0 )
-{
- sse_movups(&p->func, dest, arg0);
-}
-
-static void emit_store3f( struct x86_program *p,
- struct x86_reg dest,
- struct x86_reg arg0 )
-{
- if (p->outputs_safe) {
- /* Emit the extra dword anyway. This may hurt writecombining,
- * may cause other problems.
- */
- sse_movups(&p->func, dest, arg0);
- }
- else {
- /* Alternate strategy - emit two, shuffle, emit one.
- */
- sse_movlps(&p->func, dest, arg0);
- sse_shufps(&p->func, arg0, arg0, SHUF(Z,Z,Z,Z) ); /* NOTE! destructive */
- sse_movss(&p->func, x86_make_disp(dest,8), arg0);
- }
-}
-
-static void emit_store2f( struct x86_program *p,
- struct x86_reg dest,
- struct x86_reg arg0 )
-{
- sse_movlps(&p->func, dest, arg0);
-}
-
-static void emit_store1f( struct x86_program *p,
- struct x86_reg dest,
- struct x86_reg arg0 )
-{
- sse_movss(&p->func, dest, arg0);
-}
-
-
-static void (*store[4])( struct x86_program *p,
- struct x86_reg dest,
- struct x86_reg arg0 ) =
-{
- emit_store1f,
- emit_store2f,
- emit_store3f,
- emit_store4f
-};
-
-static void emit_store( struct x86_program *p,
- struct x86_reg dest,
- GLuint sz,
- struct x86_reg temp )
-
-{
- store[sz-1](p, dest, temp);
-}
-
-static void emit_pack_store_4ub( struct x86_program *p,
- struct x86_reg dest,
- struct x86_reg temp )
-{
- /* Scale by 255.0
- */
- sse_mulps(&p->func, temp, p->chan0);
-
- if (p->have_sse2) {
- sse2_cvtps2dq(&p->func, temp, temp);
- sse2_packssdw(&p->func, temp, temp);
- sse2_packuswb(&p->func, temp, temp);
- sse_movss(&p->func, dest, temp);
- }
- else {
- struct x86_reg mmx0 = x86_make_reg(file_MMX, 0);
- struct x86_reg mmx1 = x86_make_reg(file_MMX, 1);
- sse_cvtps2pi(&p->func, mmx0, temp);
- sse_movhlps(&p->func, temp, temp);
- sse_cvtps2pi(&p->func, mmx1, temp);
- mmx_packssdw(&p->func, mmx0, mmx1);
- mmx_packuswb(&p->func, mmx0, mmx0);
- mmx_movd(&p->func, dest, mmx0);
- }
-}
-
-static GLint get_offset( const void *a, const void *b )
-{
- return (const char *)b - (const char *)a;
-}
-
-/* Not much happens here. Eventually use this function to try and
- * avoid saving/reloading the source pointers each vertex (if some of
- * them can fit in registers).
- */
-static void get_src_ptr( struct x86_program *p,
- struct x86_reg srcREG,
- struct x86_reg vfREG,
- struct vf_attr *a )
-{
- struct vertex_fetch *vf = p->vf;
- struct x86_reg ptr_to_src = x86_make_disp(vfREG, get_offset(vf, &a->inputptr));
-
- /* Load current a[j].inputptr
- */
- x86_mov(&p->func, srcREG, ptr_to_src);
-}
-
-static void update_src_ptr( struct x86_program *p,
- struct x86_reg srcREG,
- struct x86_reg vfREG,
- struct vf_attr *a )
-{
- if (a->inputstride) {
- struct vertex_fetch *vf = p->vf;
- struct x86_reg ptr_to_src = x86_make_disp(vfREG, get_offset(vf, &a->inputptr));
-
- /* add a[j].inputstride (hardcoded value - could just as easily
- * pull the stride value from memory each time).
- */
- x86_lea(&p->func, srcREG, x86_make_disp(srcREG, a->inputstride));
-
- /* save new value of a[j].inputptr
- */
- x86_mov(&p->func, ptr_to_src, srcREG);
- }
-}
-
-
-/* Lots of hardcoding
- *
- * EAX -- pointer to current output vertex
- * ECX -- pointer to current attribute
- *
- */
-static GLboolean build_vertex_emit( struct x86_program *p )
-{
- struct vertex_fetch *vf = p->vf;
- GLuint j = 0;
-
- struct x86_reg vertexEAX = x86_make_reg(file_REG32, reg_AX);
- struct x86_reg srcECX = x86_make_reg(file_REG32, reg_CX);
- struct x86_reg countEBP = x86_make_reg(file_REG32, reg_BP);
- struct x86_reg vfESI = x86_make_reg(file_REG32, reg_SI);
- struct x86_reg temp = x86_make_reg(file_XMM, 0);
- struct x86_reg vp0 = x86_make_reg(file_XMM, 1);
- struct x86_reg vp1 = x86_make_reg(file_XMM, 2);
- GLubyte *fixup, *label;
-
- /* Push a few regs?
- */
- x86_push(&p->func, countEBP);
- x86_push(&p->func, vfESI);
-
-
- /* Get vertex count, compare to zero
- */
- x86_xor(&p->func, srcECX, srcECX);
- x86_mov(&p->func, countEBP, x86_fn_arg(&p->func, 2));
- x86_cmp(&p->func, countEBP, srcECX);
- fixup = x86_jcc_forward(&p->func, cc_E);
-
- /* Initialize destination register.
- */
- x86_mov(&p->func, vertexEAX, x86_fn_arg(&p->func, 3));
-
- /* Move argument 1 (vf) into a reg:
- */
- x86_mov(&p->func, vfESI, x86_fn_arg(&p->func, 1));
-
-
- /* Possibly load vp0, vp1 for viewport calcs:
- */
- if (vf->allow_viewport_emits) {
- sse_movups(&p->func, vp0, x86_make_disp(vfESI, get_offset(vf, &vf->vp[0])));
- sse_movups(&p->func, vp1, x86_make_disp(vfESI, get_offset(vf, &vf->vp[4])));
- }
-
- /* always load, needed or not:
- */
- sse_movups(&p->func, p->chan0, x86_make_disp(vfESI, get_offset(vf, &vf->chan_scale[0])));
- sse_movups(&p->func, p->identity, x86_make_disp(vfESI, get_offset(vf, &vf->identity[0])));
-
- /* Note address for loop jump */
- label = x86_get_label(&p->func);
-
- /* Emit code for each of the attributes. Currently routes
- * everything through SSE registers, even when it might be more
- * efficient to stick with regular old x86. No optimization or
- * other tricks - enough new ground to cover here just getting
- * things working.
- */
- while (j < vf->attr_count) {
- struct vf_attr *a = &vf->attr[j];
- struct x86_reg dest = x86_make_disp(vertexEAX, a->vertoffset);
-
- /* Now, load an XMM reg from src, perhaps transform, then save.
- * Could be shortcircuited in specific cases:
- */
- switch (a->format) {
- case EMIT_1F:
- get_src_ptr(p, srcECX, vfESI, a);
- emit_load(p, temp, 1, x86_deref(srcECX), a->inputsize);
- emit_store(p, dest, 1, temp);
- update_src_ptr(p, srcECX, vfESI, a);
- break;
- case EMIT_2F:
- get_src_ptr(p, srcECX, vfESI, a);
- emit_load(p, temp, 2, x86_deref(srcECX), a->inputsize);
- emit_store(p, dest, 2, temp);
- update_src_ptr(p, srcECX, vfESI, a);
- break;
- case EMIT_3F:
- /* Potentially the worst case - hardcode 2+1 copying:
- */
- if (0) {
- get_src_ptr(p, srcECX, vfESI, a);
- emit_load(p, temp, 3, x86_deref(srcECX), a->inputsize);
- emit_store(p, dest, 3, temp);
- update_src_ptr(p, srcECX, vfESI, a);
- }
- else {
- get_src_ptr(p, srcECX, vfESI, a);
- emit_load(p, temp, 2, x86_deref(srcECX), a->inputsize);
- emit_store(p, dest, 2, temp);
- if (a->inputsize > 2) {
- emit_load(p, temp, 1, x86_make_disp(srcECX, 8), 1);
- emit_store(p, x86_make_disp(dest,8), 1, temp);
- }
- else {
- sse_movss(&p->func, x86_make_disp(dest,8), get_identity(p));
- }
- update_src_ptr(p, srcECX, vfESI, a);
- }
- break;
- case EMIT_4F:
- get_src_ptr(p, srcECX, vfESI, a);
- emit_load(p, temp, 4, x86_deref(srcECX), a->inputsize);
- emit_store(p, dest, 4, temp);
- update_src_ptr(p, srcECX, vfESI, a);
- break;
- case EMIT_2F_VIEWPORT:
- get_src_ptr(p, srcECX, vfESI, a);
- emit_load(p, temp, 2, x86_deref(srcECX), a->inputsize);
- sse_mulps(&p->func, temp, vp0);
- sse_addps(&p->func, temp, vp1);
- emit_store(p, dest, 2, temp);
- update_src_ptr(p, srcECX, vfESI, a);
- break;
- case EMIT_3F_VIEWPORT:
- get_src_ptr(p, srcECX, vfESI, a);
- emit_load(p, temp, 3, x86_deref(srcECX), a->inputsize);
- sse_mulps(&p->func, temp, vp0);
- sse_addps(&p->func, temp, vp1);
- emit_store(p, dest, 3, temp);
- update_src_ptr(p, srcECX, vfESI, a);
- break;
- case EMIT_4F_VIEWPORT:
- get_src_ptr(p, srcECX, vfESI, a);
- emit_load(p, temp, 4, x86_deref(srcECX), a->inputsize);
- sse_mulps(&p->func, temp, vp0);
- sse_addps(&p->func, temp, vp1);
- emit_store(p, dest, 4, temp);
- update_src_ptr(p, srcECX, vfESI, a);
- break;
- case EMIT_3F_XYW:
- get_src_ptr(p, srcECX, vfESI, a);
- emit_load(p, temp, 4, x86_deref(srcECX), a->inputsize);
- sse_shufps(&p->func, temp, temp, SHUF(X,Y,W,Z));
- emit_store(p, dest, 3, temp);
- update_src_ptr(p, srcECX, vfESI, a);
- break;
-
- case EMIT_1UB_1F:
- /* Test for PAD3 + 1UB:
- */
- if (j > 0 &&
- a[-1].vertoffset + a[-1].vertattrsize <= a->vertoffset - 3)
- {
- get_src_ptr(p, srcECX, vfESI, a);
- emit_load(p, temp, 1, x86_deref(srcECX), a->inputsize);
- sse_shufps(&p->func, temp, temp, SHUF(X,X,X,X));
- emit_pack_store_4ub(p, x86_make_disp(dest, -3), temp); /* overkill! */
- update_src_ptr(p, srcECX, vfESI, a);
- }
- else {
- _mesa_printf("Can't emit 1ub %x %x %d\n", a->vertoffset, a[-1].vertoffset, a[-1].vertattrsize );
- return GL_FALSE;
- }
- break;
- case EMIT_3UB_3F_RGB:
- case EMIT_3UB_3F_BGR:
- /* Test for 3UB + PAD1:
- */
- if (j == vf->attr_count - 1 ||
- a[1].vertoffset >= a->vertoffset + 4) {
- get_src_ptr(p, srcECX, vfESI, a);
- emit_load(p, temp, 3, x86_deref(srcECX), a->inputsize);
- if (a->format == EMIT_3UB_3F_BGR)
- sse_shufps(&p->func, temp, temp, SHUF(Z,Y,X,W));
- emit_pack_store_4ub(p, dest, temp);
- update_src_ptr(p, srcECX, vfESI, a);
- }
- /* Test for 3UB + 1UB:
- */
- else if (j < vf->attr_count - 1 &&
- a[1].format == EMIT_1UB_1F &&
- a[1].vertoffset == a->vertoffset + 3) {
- get_src_ptr(p, srcECX, vfESI, a);
- emit_load(p, temp, 3, x86_deref(srcECX), a->inputsize);
- update_src_ptr(p, srcECX, vfESI, a);
-
- /* Make room for incoming value:
- */
- sse_shufps(&p->func, temp, temp, SHUF(W,X,Y,Z));
-
- get_src_ptr(p, srcECX, vfESI, &a[1]);
- emit_load(p, temp, 1, x86_deref(srcECX), a[1].inputsize);
- update_src_ptr(p, srcECX, vfESI, &a[1]);
-
- /* Rearrange and possibly do BGR conversion:
- */
- if (a->format == EMIT_3UB_3F_BGR)
- sse_shufps(&p->func, temp, temp, SHUF(W,Z,Y,X));
- else
- sse_shufps(&p->func, temp, temp, SHUF(Y,Z,W,X));
-
- emit_pack_store_4ub(p, dest, temp);
- j++; /* NOTE: two attrs consumed */
- }
- else {
- _mesa_printf("Can't emit 3ub\n");
- }
- return GL_FALSE; /* add this later */
- break;
-
- case EMIT_4UB_4F_RGBA:
- get_src_ptr(p, srcECX, vfESI, a);
- emit_load(p, temp, 4, x86_deref(srcECX), a->inputsize);
- emit_pack_store_4ub(p, dest, temp);
- update_src_ptr(p, srcECX, vfESI, a);
- break;
- case EMIT_4UB_4F_BGRA:
- get_src_ptr(p, srcECX, vfESI, a);
- emit_load(p, temp, 4, x86_deref(srcECX), a->inputsize);
- sse_shufps(&p->func, temp, temp, SHUF(Z,Y,X,W));
- emit_pack_store_4ub(p, dest, temp);
- update_src_ptr(p, srcECX, vfESI, a);
- break;
- case EMIT_4UB_4F_ARGB:
- get_src_ptr(p, srcECX, vfESI, a);
- emit_load(p, temp, 4, x86_deref(srcECX), a->inputsize);
- sse_shufps(&p->func, temp, temp, SHUF(W,X,Y,Z));
- emit_pack_store_4ub(p, dest, temp);
- update_src_ptr(p, srcECX, vfESI, a);
- break;
- case EMIT_4UB_4F_ABGR:
- get_src_ptr(p, srcECX, vfESI, a);
- emit_load(p, temp, 4, x86_deref(srcECX), a->inputsize);
- sse_shufps(&p->func, temp, temp, SHUF(W,Z,Y,X));
- emit_pack_store_4ub(p, dest, temp);
- update_src_ptr(p, srcECX, vfESI, a);
- break;
- case EMIT_4CHAN_4F_RGBA:
- switch (CHAN_TYPE) {
- case GL_UNSIGNED_BYTE:
- get_src_ptr(p, srcECX, vfESI, a);
- emit_load(p, temp, 4, x86_deref(srcECX), a->inputsize);
- emit_pack_store_4ub(p, dest, temp);
- update_src_ptr(p, srcECX, vfESI, a);
- break;
- case GL_FLOAT:
- get_src_ptr(p, srcECX, vfESI, a);
- emit_load(p, temp, 4, x86_deref(srcECX), a->inputsize);
- emit_store(p, dest, 4, temp);
- update_src_ptr(p, srcECX, vfESI, a);
- break;
- case GL_UNSIGNED_SHORT:
- default:
- _mesa_printf("unknown CHAN_TYPE %s\n", _mesa_lookup_enum_by_nr(CHAN_TYPE));
- return GL_FALSE;
- }
- break;
- default:
- _mesa_printf("unknown a[%d].format %d\n", j, a->format);
- return GL_FALSE; /* catch any new opcodes */
- }
-
- /* Increment j by at least 1 - may have been incremented above also:
- */
- j++;
- }
-
- /* Next vertex:
- */
- x86_lea(&p->func, vertexEAX, x86_make_disp(vertexEAX, vf->vertex_stride));
-
- /* decr count, loop if not zero
- */
- x86_dec(&p->func, countEBP);
- x86_test(&p->func, countEBP, countEBP);
- x86_jcc(&p->func, cc_NZ, label);
-
- /* Exit mmx state?
- */
- if (p->func.need_emms)
- mmx_emms(&p->func);
-
- /* Land forward jump here:
- */
- x86_fixup_fwd_jump(&p->func, fixup);
-
- /* Pop regs and return
- */
- x86_pop(&p->func, x86_get_base_reg(vfESI));
- x86_pop(&p->func, countEBP);
- x86_ret(&p->func);
-
- vf->emit = (vf_emit_func)x86_get_func(&p->func);
- return GL_TRUE;
-}
-
-
-
-void vf_generate_sse_emit( struct vertex_fetch *vf )
-{
- struct x86_program p;
-
- if (!cpu_has_xmm) {
- vf->codegen_emit = NULL;
- return;
- }
-
- _mesa_memset(&p, 0, sizeof(p));
-
- p.vf = vf;
- p.inputs_safe = 0; /* for now */
- p.outputs_safe = 0; /* for now */
- p.have_sse2 = cpu_has_xmm2;
- p.identity = x86_make_reg(file_XMM, 6);
- p.chan0 = x86_make_reg(file_XMM, 7);
-
- x86_init_func(&p.func);
-
- if (build_vertex_emit(&p)) {
- vf_register_fastpath( vf, GL_TRUE );
- }
- else {
- /* Note the failure so that we don't keep trying to codegen an
- * impossible state:
- */
- vf_register_fastpath( vf, GL_FALSE );
- x86_release_func(&p.func);
- }
-}
-
-#else
-
-void vf_generate_sse_emit( struct vertex_fetch *vf )
-{
- /* Dummy version for when USE_SSE_ASM not defined */
-}
-
-#endif
diff --git a/windows/VC7/mesa/gdi/gdi.vcproj b/windows/VC7/mesa/gdi/gdi.vcproj
deleted file mode 100644
index 0dc7892a4b..0000000000
--- a/windows/VC7/mesa/gdi/gdi.vcproj
+++ /dev/null
@@ -1,195 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="gdi"
- SccProjectName=""
- SccLocalPath="">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory=".\Debug"
- IntermediateDirectory=".\Debug"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="../../../../include,../../../../src/mesa,../../../../src/mesa/main,../../../../src/mesa/glapi,../../../../src/mesa/swrast,../../../../src/mesa/shader"
- PreprocessorDefinitions="_DEBUG;WIN32;_WINDOWS;_USRDLL;GDI_EXPORTS;_DLL;BUILD_GL32;MESA_MINWARN"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- PrecompiledHeaderFile=".\Debug/gdi.pch"
- AssemblerListingLocation=".\Debug/"
- ObjectFile=".\Debug/"
- ProgramDataBaseFileName=".\Debug/"
- BrowseInformation="1"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- DebugInformationFormat="3"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions="/MACHINE:I386"
- AdditionalDependencies="mesa.lib winmm.lib msvcrtd.lib odbc32.lib odbccp32.lib"
- OutputFile="Debug/OPENGL32.DLL"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="../mesa/Debug"
- IgnoreAllDefaultLibraries="TRUE"
- ModuleDefinitionFile="..\..\..\..\src\mesa\drivers\windows\gdi\mesa.def"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile=".\Debug/OPENGL32.pdb"
- ImportLibrary=".\Debug/OPENGL32.lib"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="_DEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\Debug/gdi.tlb"/>
- <Tool
- Name="VCPostBuildEventTool"
- CommandLine="if not exist ..\..\..\..\lib md ..\..\..\..\lib
-copy Debug\OPENGL32.LIB ..\..\..\..\lib
-copy Debug\OPENGL32.DLL ..\..\..\..\lib
-if exist ..\..\..\..\progs\demos copy Debug\OPENGL32.DLL ..\..\..\..\progs\demos
-"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="1033"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory=".\Release"
- IntermediateDirectory=".\Release"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- InlineFunctionExpansion="1"
- AdditionalIncludeDirectories="../../main,../../../../include,../../../../src/mesa,../../../../src/mesa/main,../../../../src/mesa/glapi,../../../../src/mesa/swrast,../../../../src/mesa/shader"
- PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;_USRDLL;GDI_EXPORTS;_DLL;BUILD_GL32;MESA_MINWARN"
- StringPooling="TRUE"
- RuntimeLibrary="0"
- EnableFunctionLevelLinking="TRUE"
- PrecompiledHeaderFile=".\Release/gdi.pch"
- AssemblerListingLocation=".\Release/"
- ObjectFile=".\Release/"
- ProgramDataBaseFileName=".\Release/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions="/MACHINE:I386"
- AdditionalDependencies="mesa.lib winmm.lib msvcrt.lib odbc32.lib odbccp32.lib"
- OutputFile="Release/OPENGL32.DLL"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="../mesa/Release"
- IgnoreAllDefaultLibraries="TRUE"
- ModuleDefinitionFile="..\..\..\..\src\mesa\drivers\windows\gdi\mesa.def"
- ProgramDatabaseFile=".\Release/OPENGL32.pdb"
- ImportLibrary=".\Release/OPENGL32.lib"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\Release/gdi.tlb"/>
- <Tool
- Name="VCPostBuildEventTool"
- CommandLine="if not exist ..\..\..\..\lib md ..\..\..\..\lib
-copy Release\OPENGL32.LIB ..\..\..\..\lib
-copy Release\OPENGL32.DLL ..\..\..\..\lib
-if exist ..\..\..\..\progs\demos copy Release\OPENGL32.DLL ..\..\..\..\progs\demos
-"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="1033"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
- <File
- RelativePath="..\..\..\..\src\mesa\drivers\common\driverfuncs.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\drivers\windows\gdi\mesa.def">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\drivers\windows\gdi\wgl.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\drivers\windows\gdi\wmesa.c">
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl">
- <File
- RelativePath="..\..\..\..\src\mesa\drivers\windows\gdi\colors.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\drivers\common\driverfuncs.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\drivers\windows\gdi\wmesadef.h">
- </File>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/windows/VC7/mesa/glu/glu.vcproj b/windows/VC7/mesa/glu/glu.vcproj
deleted file mode 100644
index 3f057317c0..0000000000
--- a/windows/VC7/mesa/glu/glu.vcproj
+++ /dev/null
@@ -1,766 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="glu"
- SccProjectName=""
- SccLocalPath="">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Release|Win32"
- OutputDirectory=".\Release"
- IntermediateDirectory=".\Release"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- InlineFunctionExpansion="1"
- AdditionalIncludeDirectories="../../../../include;../../../../src/glu/sgi/include;../../../../src/glu/sgi/libnurbs/interface;../../../../src/glu/sgi/libnurbs/internals;../../../../src/glu/sgi/libnurbs/nurbtess"
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;GLU_EXPORTS;BUILD_GL32;LIBRARYBUILD"
- StringPooling="TRUE"
- RuntimeLibrary="0"
- EnableFunctionLevelLinking="TRUE"
- PrecompiledHeaderFile=".\Release/glu.pch"
- AssemblerListingLocation=".\Release/"
- ObjectFile=".\Release/"
- ProgramDataBaseFileName=".\Release/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions="/MACHINE:I386"
- AdditionalDependencies="msvcrt.lib winmm.lib odbc32.lib odbccp32.lib opengl32.lib"
- OutputFile="Release/GLU32.DLL"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="../gdi/Release"
- IgnoreAllDefaultLibraries="TRUE"
- ModuleDefinitionFile="..\..\..\..\src\glu\sgi\glu.def"
- ProgramDatabaseFile=".\Release/GLU32.pdb"
- ImportLibrary=".\Release/GLU32.lib"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\Release/glu.tlb"/>
- <Tool
- Name="VCPostBuildEventTool"
- CommandLine="if not exist ..\..\..\..\lib md ..\..\..\..\lib
-copy Release\GLU32.LIB ..\..\..\..\lib
-copy Release\GLU32.DLL ..\..\..\..\lib
-if exist ..\..\..\..\progs\demos copy Release\GLU32.DLL ..\..\..\..\progs\demos
-"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="1033"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory=".\Debug"
- IntermediateDirectory=".\Debug"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="../../../../include;../../../../src/glu/sgi/include;../../../../src/glu/sgi/libnurbs/interface;../../../../src/glu/sgi/libnurbs/internals;../../../../src/glu/sgi/libnurbs/nurbtess"
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;GLU_EXPORTS;BUILD_GL32;LIBRARYBUILD"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- PrecompiledHeaderFile=".\Debug/glu.pch"
- AssemblerListingLocation=".\Debug/"
- ObjectFile=".\Debug/"
- ProgramDataBaseFileName=".\Debug/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions="/MACHINE:I386"
- AdditionalDependencies="msvcrtd.lib winmm.lib odbc32.lib odbccp32.lib opengl32.lib"
- OutputFile="Debug/GLU32.DLL"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="../gdi/Debug"
- IgnoreAllDefaultLibraries="TRUE"
- ModuleDefinitionFile="..\..\..\..\src\glu\sgi\glu.def"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile=".\Debug/GLU32.pdb"
- ImportLibrary=".\Debug/GLU32.lib"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="_DEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\Debug/glu.tlb"/>
- <Tool
- Name="VCPostBuildEventTool"
- CommandLine="if not exist ..\..\..\..\lib md ..\..\..\..\lib
-copy Debug\GLU32.LIB ..\..\..\..\lib
-copy Debug\GLU32.DLL ..\..\..\..\lib
-if exist ..\..\..\..\progs\demos copy Debug\GLU32.DLL ..\..\..\..\progs\demos
-"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="1033"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libtess\dict.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libutil\error.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libtess\geom.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\glu.def">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libutil\glue.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libtess\memalloc.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libtess\mesh.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libutil\mipmap.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libtess\normal.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libtess\priorityq-heap.c">
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libtess\priorityq.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libutil\project.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libutil\quad.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libutil\registry.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libtess\render.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libtess\sweep.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libtess\tess.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libtess\tessmono.c">
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl">
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\arc.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\arcsorter.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\arctess.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\backend.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\basiccrveval.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\basicsurfeval.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\bezierarc.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\interface\bezierEval.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\interface\bezierPatch.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\interface\bezierPatchMesh.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\bin.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\bufpool.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\cachingeval.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\coveandtiler.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\curve.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\curvelist.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\dataTransform.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\defines.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\nurbtess\definitions.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libtess\dict-list.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libtess\dict.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\nurbtess\directedLine.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\displaylist.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\displaymode.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\flist.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\flistsorter.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libtess\geom.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\interface\glcurveval.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\interface\glimports.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\nurbtess\glimports.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\interface\glrenderer.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\interface\glsurfeval.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libutil\gluint.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\include\gluos.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\gridline.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\gridtrimvertex.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\gridvertex.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\nurbtess\gridWrap.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\hull.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\jarcloc.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\knotvector.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\mapdesc.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\maplist.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libtess\memalloc.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libtess\mesh.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\mesher.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\nurbtess\monoChain.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\nurbtess\monoPolyPart.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\monotonizer.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\nurbtess\monoTriangulation.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\myassert.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\mymath.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\mysetjmp.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\interface\mystdio.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\nurbtess\mystdio.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\interface\mystdlib.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\nurbtess\mystdlib.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\mystring.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libtess\normal.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\nurbsconsts.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\nurbstess.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\nurbtess\partitionX.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\nurbtess\partitionY.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\patch.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\patchlist.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\nurbtess\polyDBG.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\nurbtess\polyUtil.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\nurbtess\primitiveStream.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libtess\priorityq-heap.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libtess\priorityq-sort.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libtess\priorityq.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\pwlarc.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\nurbtess\quicksort.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\quilt.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\reader.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\nurbtess\rectBlock.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libtess\render.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\renderhints.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\nurbtess\sampleComp.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\nurbtess\sampleCompBot.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\nurbtess\sampleCompRight.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\nurbtess\sampleCompTop.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\nurbtess\sampledLine.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\nurbtess\sampleMonoPoly.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\nurbtess\searchTree.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\simplemath.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\slicer.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\sorter.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\subdivider.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libtess\sweep.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libtess\tess.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libtess\tessmono.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\trimline.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\trimregion.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\trimvertex.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\trimvertpool.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\types.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\uarray.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\varray.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\nurbtess\zlassert.h">
- </File>
- </Filter>
- <Filter
- Name="C++ files"
- Filter=".cc">
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\arc.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\arcsorter.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\arctess.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\backend.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\basiccrveval.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\basicsurfeval.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\interface\bezierEval.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\interface\bezierPatch.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\interface\bezierPatchMesh.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\bin.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\bufpool.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\cachingeval.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\ccw.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\coveandtiler.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\curve.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\curvelist.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\curvesub.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\dataTransform.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\nurbtess\directedLine.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\displaylist.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\flist.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\flistsorter.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\interface\glcurveval.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\interface\glinterface.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\interface\glrenderer.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\interface\glsurfeval.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\nurbtess\gridWrap.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\hull.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\interface\incurveeval.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\interface\insurfeval.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\intersect.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\knotvector.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\mapdesc.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\mapdescv.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\maplist.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\mesher.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\nurbtess\monoChain.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\nurbtess\monoPolyPart.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\monotonizer.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\nurbtess\monoTriangulation.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\monoTriangulationBackend.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\mycode.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\nurbsinterfac.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\nurbstess.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\nurbtess\partitionX.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\nurbtess\partitionY.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\patch.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\patchlist.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\nurbtess\polyDBG.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\nurbtess\polyUtil.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\nurbtess\primitiveStream.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\nurbtess\quicksort.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\quilt.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\reader.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libtess\README">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\nurbtess\rectBlock.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\renderhints.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\nurbtess\sampleComp.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\nurbtess\sampleCompBot.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\nurbtess\sampleCompRight.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\nurbtess\sampleCompTop.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\nurbtess\sampledLine.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\nurbtess\sampleMonoPoly.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\nurbtess\searchTree.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\slicer.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\sorter.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\splitarcs.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\subdivider.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\tobezier.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\trimline.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\trimregion.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\trimvertpool.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\uarray.cc">
- </File>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libnurbs\internals\varray.cc">
- </File>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">
- </Filter>
- <File
- RelativePath="..\..\..\..\src\glu\sgi\libtess\alg-outline">
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/windows/VC7/mesa/mesa.sln b/windows/VC7/mesa/mesa.sln
deleted file mode 100644
index ae47790753..0000000000
--- a/windows/VC7/mesa/mesa.sln
+++ /dev/null
@@ -1,47 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 8.00
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gdi", "gdi\gdi.vcproj", "{A1B24907-E196-4826-B6AF-26723629B633}"
- ProjectSection(ProjectDependencies) = postProject
- {2120C974-2717-4709-B44F-D6E6D0A56448} = {2120C974-2717-4709-B44F-D6E6D0A56448}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glu", "glu\glu.vcproj", "{2E50FDAF-430B-475B-AE6B-60B68F2875BA}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mesa", "mesa\mesa.vcproj", "{2120C974-2717-4709-B44F-D6E6D0A56448}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "osmesa", "osmesa\osmesa.vcproj", "{8D6CD423-383B-49E7-81BC-D20C70B07DF5}"
- ProjectSection(ProjectDependencies) = postProject
- {A1B24907-E196-4826-B6AF-26723629B633} = {A1B24907-E196-4826-B6AF-26723629B633}
- EndProjectSection
-EndProject
-Global
- GlobalSection(SolutionConfiguration) = preSolution
- Debug = Debug
- Release = Release
- EndGlobalSection
- GlobalSection(ProjectConfiguration) = postSolution
- {A1B24907-E196-4826-B6AF-26723629B633}.Debug.ActiveCfg = Debug|Win32
- {A1B24907-E196-4826-B6AF-26723629B633}.Debug.Build.0 = Debug|Win32
- {A1B24907-E196-4826-B6AF-26723629B633}.Release.ActiveCfg = Release|Win32
- {A1B24907-E196-4826-B6AF-26723629B633}.Release.Build.0 = Release|Win32
- {2E50FDAF-430B-475B-AE6B-60B68F2875BA}.Debug.ActiveCfg = Debug|Win32
- {2E50FDAF-430B-475B-AE6B-60B68F2875BA}.Debug.Build.0 = Debug|Win32
- {2E50FDAF-430B-475B-AE6B-60B68F2875BA}.Release.ActiveCfg = Release|Win32
- {2E50FDAF-430B-475B-AE6B-60B68F2875BA}.Release.Build.0 = Release|Win32
- {2120C974-2717-4709-B44F-D6E6D0A56448}.Debug.ActiveCfg = Debug|Win32
- {2120C974-2717-4709-B44F-D6E6D0A56448}.Debug.Build.0 = Debug|Win32
- {2120C974-2717-4709-B44F-D6E6D0A56448}.Release.ActiveCfg = Release|Win32
- {2120C974-2717-4709-B44F-D6E6D0A56448}.Release.Build.0 = Release|Win32
- {8D6CD423-383B-49E7-81BC-D20C70B07DF5}.Debug.ActiveCfg = Debug|Win32
- {8D6CD423-383B-49E7-81BC-D20C70B07DF5}.Debug.Build.0 = Debug|Win32
- {8D6CD423-383B-49E7-81BC-D20C70B07DF5}.Release.ActiveCfg = Release|Win32
- {8D6CD423-383B-49E7-81BC-D20C70B07DF5}.Release.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- EndGlobalSection
- GlobalSection(ExtensibilityAddIns) = postSolution
- EndGlobalSection
-EndGlobal
diff --git a/windows/VC7/mesa/mesa/mesa.vcproj b/windows/VC7/mesa/mesa/mesa.vcproj
deleted file mode 100644
index 3a93544b03..0000000000
--- a/windows/VC7/mesa/mesa/mesa.vcproj
+++ /dev/null
@@ -1,1233 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="mesa"
- SccProjectName=""
- SccLocalPath="">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Release|Win32"
- OutputDirectory=".\Release"
- IntermediateDirectory=".\Release"
- ConfigurationType="4"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions="/Zm1000 "
- InlineFunctionExpansion="1"
- AdditionalIncludeDirectories="../../../../include,../../../../src/mesa,../../../../src/mesa/glapi,../../../../src/mesa/main,../../../../src/mesa/shader,../../../../src/mesa/shader/slang,../../../../src/mesa/shader/grammar"
- PreprocessorDefinitions="NDEBUG,WIN32,_LIB,_DLL,BUILD_GL32,MESA_MINWARN"
- StringPooling="TRUE"
- RuntimeLibrary="4"
- EnableFunctionLevelLinking="TRUE"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\Release/mesa.pch"
- AssemblerListingLocation=".\Release/"
- ObjectFile=".\Release/"
- ProgramDataBaseFileName=".\Release/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLibrarianTool"
- OutputFile=".\Release\mesa.lib"
- SuppressStartupBanner="TRUE"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="1033"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory=".\Debug"
- IntermediateDirectory=".\Debug"
- ConfigurationType="4"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions="/Zm1000 "
- Optimization="0"
- AdditionalIncludeDirectories="../../../../include,../../../../src/mesa,../../../../src/mesa/glapi,../../../../src/mesa/main,../../../../src/mesa/shader,../../../../src/mesa/shader/slang,../../../../src/mesa/shader/grammar"
- PreprocessorDefinitions="_DEBUG,WIN32,_LIB,_DLL,BUILD_GL32,MESA_MINWARN"
- BasicRuntimeChecks="3"
- RuntimeLibrary="5"
- PrecompiledHeaderFile=".\Debug/mesa.pch"
- AssemblerListingLocation=".\Debug/"
- ObjectFile=".\Debug/"
- ProgramDataBaseFileName=".\Debug/"
- BrowseInformation="1"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- DebugInformationFormat="3"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLibrarianTool"
- OutputFile=".\Debug\mesa.lib"
- SuppressStartupBanner="TRUE"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="1033"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
- <File
- RelativePath="..\..\..\..\src\mesa\main\accum.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\api_arrayelt.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\api_loopback.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\api_noop.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\api_validate.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\arbprogparse.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\arbprogram.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\arrayobj.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\atifragshader.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\attrib.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\blend.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\bufferobj.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\buffers.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\clip.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\colortab.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\context.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\convolve.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\debug.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\depth.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\depthstencil.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\dispatch.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\dlist.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\drawpix.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\enable.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\enums.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\eval.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\execmem.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\extensions.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\fbobject.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\feedback.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\fog.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\framebuffer.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\get.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\getstring.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\glapi\glapi.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\glapi\glthread.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\grammar\grammar.c">
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\grammar\grammar_crt.c">
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\grammar\grammar_mesa.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\hash.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\hint.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\histogram.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\image.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\imports.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\light.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\lines.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\math\m_debug_clip.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\math\m_debug_norm.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\math\m_debug_xform.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\math\m_eval.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\math\m_matrix.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\math\m_translate.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\math\m_vector.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\math\m_xform.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\matrix.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\mipmap.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\mm.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\nvfragparse.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\nvprogram.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\nvvertparse.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\pixel.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\points.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\polygon.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\prog_debug.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\prog_execute.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\prog_instruction.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\prog_noise.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\prog_parameter.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\prog_print.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\prog_statevars.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\program.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\programopt.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\queryobj.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\rastpos.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\rbadaptors.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\remap.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\renderbuffer.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_aaline.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_aatriangle.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_accum.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_alpha.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_atifragshader.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_bitmap.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_blend.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_blit.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_buffers.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_context.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_copypix.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_depth.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_drawpix.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_feedback.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_fog.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_fragprog.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_lines.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_logic.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_masking.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_points.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_readpix.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_span.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_stencil.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_texcombine.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_texfilter.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_triangle.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_zoom.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\shader_api.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\shaders.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\slang\slang_builtin.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\slang\slang_codegen.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\slang\slang_compile.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\slang\slang_compile_function.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\slang\slang_compile_operation.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\slang\slang_compile_struct.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\slang\slang_compile_variable.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\slang\slang_emit.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\slang\slang_ir.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\slang\slang_label.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\slang\slang_link.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\slang\slang_log.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\slang\slang_mem.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\slang\slang_preprocess.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\slang\slang_print.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\slang\slang_simplify.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\slang\slang_storage.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\slang\slang_typeinfo.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\slang\slang_utility.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\slang\slang_vartable.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast_setup\ss_context.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast_setup\ss_triangle.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\state.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\stencil.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\tnl\t_context.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\tnl\t_draw.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\tnl\t_pipeline.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\tnl\t_vb_cull.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\tnl\t_vb_fog.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\tnl\t_vb_light.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\tnl\t_vb_normals.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\tnl\t_vb_points.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\tnl\t_vb_program.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\tnl\t_vb_render.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\tnl\t_vb_texgen.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\tnl\t_vb_texmat.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\tnl\t_vb_vertex.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\tnl\t_vertex.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\tnl\t_vertex_generic.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\tnl\t_vp_build.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\texcompress.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\texcompress_fxt1.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\texcompress_s3tc.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\texenvprogram.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\texfetch.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\texformat.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\teximage.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\texobj.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\texrender.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\texstate.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\texstore.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\varray.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\vbo\vbo_context.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\vbo\vbo_exec.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\vbo\vbo_exec_api.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\vbo\vbo_exec_array.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\vbo\vbo_exec_draw.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\vbo\vbo_exec_eval.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\vbo\vbo_rebase.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\vbo\vbo_save.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\vbo\vbo_save_api.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\vbo\vbo_save_draw.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\vbo\vbo_save_loopback.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\vbo\vbo_split.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\vbo\vbo_split_copy.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\vbo\vbo_split_inplace.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\vsnprintf.c">
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\vtxfmt.c">
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl">
- <File
- RelativePath="..\..\..\..\src\mesa\array_cache\ac_context.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\array_cache\acache.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\accum.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\api_arrayelt.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\api_eval.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\api_loopback.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\api_noop.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\api_validate.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\arbprogparse.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\arbprogram.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\arbprogram_syn.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\atifragshader.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\attrib.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\blend.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\bufferobj.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\buffers.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\clip.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\colormac.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\colortab.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\config.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\context.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\convolve.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\dd.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\debug.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\depth.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\depthstencil.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\dlist.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\drawpix.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\enable.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\enums.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\eval.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\extensions.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\fbobject.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\feedback.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\fog.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\framebuffer.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\get.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\glapi\glapi.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\glapi\glapioffsets.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\glapi\glapitable.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\glapi\glapitemp.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\glheader.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\glapi\glprocs.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\glapi\glthread.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\grammar\grammar.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\grammar\grammar_crt.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\grammar\grammar_mesa.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\grammar\grammar_syn.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\hash.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\hint.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\histogram.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\image.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\imports.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\light.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\lines.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\math\m_clip_tmp.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\math\m_copy_tmp.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\math\m_debug.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\math\m_debug_util.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\math\m_dotprod_tmp.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\math\m_eval.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\math\m_matrix.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\math\m_norm_tmp.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\math\m_trans_tmp.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\math\m_translate.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\math\m_vector.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\math\m_xform.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\math\m_xform_tmp.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\macros.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\math\mathmod.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\matrix.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\mm.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\mtypes.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\nvfragparse.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\nvprogram.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\nvvertexec.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\nvvertparse.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\pixel.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\points.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\polygon.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\prog_debug.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\prog_execute.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\prog_instruction.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\prog_noise.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\prog_parameter.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\prog_print.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\prog_statevars.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\program.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\programopt.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\queryobj.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\rastpos.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\remap.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\renderbuffer.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_aaline.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_aalinetemp.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_aatriangle.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_aatritemp.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_accum.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_alpha.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_atifragshader.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_blend.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_context.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_depth.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_drawpix.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_feedback.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_fog.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_fragprog.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_lines.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_linetemp.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_logic.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_masking.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_nvfragprog.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_points.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_pointtemp.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_span.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_spantemp.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_stencil.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_texcombine.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_texfilter.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_triangle.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_trispan.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_tritemp.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\s_zoom.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\shader_api.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\shaders.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\simple_list.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\slang\slang_builtin.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\slang\slang_codegen.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\slang\slang_compile.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\slang\slang_compile_function.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\slang\slang_compile_operation.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\slang\slang_compile_struct.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\slang\slang_compile_variable.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\slang\slang_emit.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\slang\slang_ir.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\slang\slang_label.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\slang\slang_link.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\slang\slang_log.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\slang\slang_mem.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\slang\slang_preprocess.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\slang\slang_print.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\slang\slang_simplify.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\slang\slang_storage.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\slang\slang_typeinfo.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\slang\slang_utility.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\shader\slang\slang_vartable.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast_setup\ss_context.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast_setup\ss_triangle.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast_setup\ss_tritmp.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast_setup\ss_vb.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\state.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\stencil.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast\swrast.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\swrast_setup\swrast_setup.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\tnl\t_context.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\tnl\t_pipeline.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\tnl\t_vb_cliptmp.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\tnl\t_vb_lighttmp.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\tnl\t_vb_rendertmp.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\tnl\t_vertex.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\tnl\t_vp_build.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\texcompress.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\texenvprogram.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\texfetch.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\texformat.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\texfetch_tmp.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\teximage.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\texobj.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\texrender.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\texstate.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\texstore.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\tnl\tnl.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\varray.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\vbo\vbo.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\vbo\vbo_attrib.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\vbo\vbo_attrib_tmp.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\vbo\vbo_context.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\vbo\vbo_exec.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\vbo\vbo_save.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\vbo\vbo_split.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\version.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\vtxfmt.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\main\vtxfmt_tmp.h">
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/windows/VC7/mesa/osmesa/osmesa.vcproj b/windows/VC7/mesa/osmesa/osmesa.vcproj
deleted file mode 100644
index 553dad7e6a..0000000000
--- a/windows/VC7/mesa/osmesa/osmesa.vcproj
+++ /dev/null
@@ -1,182 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="osmesa"
- SccProjectName=""
- SccLocalPath="">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Release|Win32"
- OutputDirectory=".\Release"
- IntermediateDirectory=".\Release"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- InlineFunctionExpansion="1"
- AdditionalIncludeDirectories="../../../../include,../../../../src/mesa,../../../../src/mesa/main,../../../../src/mesa/glapi,../../../../src/mesa/swrast,../../../../src/mesa/shader"
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;OSMESA_EXPORTS"
- StringPooling="TRUE"
- RuntimeLibrary="0"
- EnableFunctionLevelLinking="TRUE"
- PrecompiledHeaderFile=".\Release/osmesa.pch"
- AssemblerListingLocation=".\Release/"
- ObjectFile=".\Release/"
- ProgramDataBaseFileName=".\Release/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions="/MACHINE:I386"
- AdditionalDependencies="opengl32.lib winmm.lib msvcrt.lib odbc32.lib odbccp32.lib"
- OutputFile="Release/OSMESA32.DLL"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="../gdi/Release"
- IgnoreAllDefaultLibraries="TRUE"
- ModuleDefinitionFile="..\..\..\..\src\mesa\drivers\osmesa\osmesa.def"
- ProgramDatabaseFile=".\Release/OSMESA32.pdb"
- ImportLibrary=".\Release/OSMESA32.lib"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\Release/osmesa.tlb"/>
- <Tool
- Name="VCPostBuildEventTool"
- CommandLine="if not exist ..\..\..\..\lib md ..\..\..\..\lib
-copy Release\OSMESA32.LIB ..\..\..\..\lib
-copy Release\OSMESA32.DLL ..\..\..\..\lib
-if exist ..\..\..\..\progs\demos copy Release\OSMESA32.DLL ..\..\..\..\progs\demos
-"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="1033"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory=".\Debug"
- IntermediateDirectory=".\Debug"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="../../../../include,../../../../src/mesa,../../../../src/mesa/main,../../../../src/mesa/glapi,../../../../src/mesa/swrast,../../../../src/mesa/shader"
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;OSMESA_EXPORTS"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- PrecompiledHeaderFile=".\Debug/osmesa.pch"
- AssemblerListingLocation=".\Debug/"
- ObjectFile=".\Debug/"
- ProgramDataBaseFileName=".\Debug/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- DebugInformationFormat="3"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions="/MACHINE:I386"
- AdditionalDependencies="opengl32.lib winmm.lib msvcrtd.lib odbc32.lib odbccp32.lib"
- OutputFile="Debug/OSMESA32.DLL"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="../gdi/Debug"
- IgnoreAllDefaultLibraries="TRUE"
- ModuleDefinitionFile="..\..\..\..\src\mesa\drivers\osmesa\osmesa.def"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile=".\Debug/OSMESA32.pdb"
- ImportLibrary=".\Debug/OSMESA32.lib"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="_DEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\Debug/osmesa.tlb"/>
- <Tool
- Name="VCPostBuildEventTool"
- CommandLine="if not exist ..\..\..\..\lib md ..\..\..\..\lib
-copy Debug\OSMESA32.LIB ..\..\..\..\lib
-copy Debug\OSMESA32.DLL ..\..\..\..\lib
-if exist ..\..\..\..\progs\demos copy Debug\OSMESA32.DLL ..\..\..\..\progs\demos
-"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="1033"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
- <File
- RelativePath="..\..\..\..\src\mesa\drivers\common\driverfuncs.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\drivers\osmesa\osmesa.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\mesa\drivers\osmesa\osmesa.def">
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl">
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/windows/VC7/progs/glut/glut.vcproj b/windows/VC7/progs/glut/glut.vcproj
deleted file mode 100644
index a9387f6052..0000000000
--- a/windows/VC7/progs/glut/glut.vcproj
+++ /dev/null
@@ -1,322 +0,0 @@
-<?xml version="1.0" encoding = "Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.00"
- Name="glut"
- SccProjectName=""
- SccLocalPath="">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory=".\Debug"
- IntermediateDirectory=".\Debug"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="../../../../include"
- PreprocessorDefinitions="_DEBUG;WIN32;_WINDOWS;_DLL;_USRDLL;GLUT_EXPORTS;MESA;BUILD_GL32"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- PrecompiledHeaderFile=".\Debug/glut.pch"
- AssemblerListingLocation=".\Debug/"
- ObjectFile=".\Debug/"
- ProgramDataBaseFileName=".\Debug/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- DebugInformationFormat="3"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions="/MACHINE:I386"
- AdditionalDependencies="winmm.lib msvcrtd.lib oldnames.lib odbc32.lib odbccp32.lib opengl32.lib glu32.lib"
- OutputFile="Debug/GLUT32.DLL"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="../../mesa/Debug"
- IgnoreAllDefaultLibraries="TRUE"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile=".\Debug/GLUT32.pdb"
- ImportLibrary=".\Debug/GLUT32.lib"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="_DEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\Debug/glut.tlb"/>
- <Tool
- Name="VCPostBuildEventTool"
- CommandLine="if not exist ..\..\..\..\lib md ..\..\..\..\lib
-copy Debug\GLUT32.LIB ..\..\..\..\lib
-copy Debug\GLUT32.DLL ..\..\..\..\lib
-if exist ..\..\..\..\progs\demos copy Debug\GLUT32.DLL ..\..\..\..\progs\demos
-"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="1033"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory=".\Release"
- IntermediateDirectory=".\Release"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- InlineFunctionExpansion="1"
- AdditionalIncludeDirectories="../../../../include"
- PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;_DLL;_USRDLL;GLUT_EXPORTS;MESA;BUILD_GL32"
- StringPooling="TRUE"
- RuntimeLibrary="0"
- EnableFunctionLevelLinking="TRUE"
- PrecompiledHeaderFile=".\Release/glut.pch"
- AssemblerListingLocation=".\Release/"
- ObjectFile=".\Release/"
- ProgramDataBaseFileName=".\Release/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions="/MACHINE:I386"
- AdditionalDependencies="opengl32.lib glu32.lib winmm.lib msvcrt.lib oldnames.lib odbc32.lib odbccp32.lib"
- OutputFile="Release/GLUT32.DLL"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="../../mesa/Release"
- IgnoreAllDefaultLibraries="TRUE"
- ProgramDatabaseFile=".\Release/GLUT32.pdb"
- ImportLibrary=".\Release/GLUT32.lib"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\Release/glut.tlb"/>
- <Tool
- Name="VCPostBuildEventTool"
- CommandLine="if not exist ..\..\..\..\lib md ..\..\..\..\lib
-copy Release\GLUT32.LIB ..\..\..\..\lib
-copy Release\GLUT32.DLL ..\..\..\..\lib
-if exist ..\..\..\..\progs\demos copy Release\GLUT32.DLL ..\..\..\..\progs\demos
-"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="1033"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- </Configuration>
- </Configurations>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
- <File
- RelativePath="..\..\..\..\src\glut\glx\glut_8x13.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\glut_9x15.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\glut_bitmap.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\glut_bwidth.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\glut_cindex.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\glut_cmap.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\glut_cursor.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\glut_dials.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\glut_dstr.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\glut_event.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\glut_ext.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\glut_fcb.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\glut_fullscrn.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\glut_gamemode.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\glut_get.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\glut_hel10.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\glut_hel12.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\glut_hel18.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\glut_init.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\glut_input.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\glut_joy.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\glut_key.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\glut_keyctrl.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\glut_keyup.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\glut_mesa.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\glut_modifier.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\glut_mroman.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\glut_overlay.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\glut_roman.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\glut_shapes.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\glut_space.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\glut_stroke.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\glut_swap.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\glut_swidth.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\glut_tablet.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\glut_teapot.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\glut_tr10.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\glut_tr24.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\glut_util.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\glut_vidresize.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\glut_warp.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\glut_win.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\glut_winmisc.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\win32_glx.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\win32_menu.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\win32_util.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\win32_winproc.c">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\win32_x11.c">
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl">
- <File
- RelativePath="..\..\..\..\src\glut\glx\glutbitmap.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\glutint.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\glutstroke.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\glutwin32.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\stroke.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\win32_glx.h">
- </File>
- <File
- RelativePath="..\..\..\..\src\glut\glx\win32_x11.h">
- </File>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/windows/VC7/progs/wgl/sharedtex_mt.vcproj b/windows/VC7/progs/wgl/sharedtex_mt.vcproj
deleted file mode 100644
index 38edf592d2..0000000000
--- a/windows/VC7/progs/wgl/sharedtex_mt.vcproj
+++ /dev/null
@@ -1,132 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="sharedtex_mt"
- ProjectGUID="{ADDFBA10-B159-4884-9FAF-5E60A64903AE}"
- Keyword="Win32Proj">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="TRUE"
- BasicRuntimeChecks="3"
- RuntimeLibrary="5"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="4"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/sharedtex_mt.exe"
- LinkIncremental="2"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile="$(OutDir)/sharedtex_mt.pdb"
- SubSystem="1"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="4"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/sharedtex_mt.exe"
- LinkIncremental="1"
- GenerateDebugInformation="TRUE"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
- <File
- RelativePath="..\..\..\..\progs\wgl\sharedtex_mt\sharedtex_mt.c">
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/windows/VC7/progs/wgl/wglthreads.vcproj b/windows/VC7/progs/wgl/wglthreads.vcproj
deleted file mode 100644
index 25ea377853..0000000000
--- a/windows/VC7/progs/wgl/wglthreads.vcproj
+++ /dev/null
@@ -1,132 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="wglthreads"
- ProjectGUID="{ADDFBA10-B159-4884-9FAF-5E60A64903AE}"
- Keyword="Win32Proj">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="TRUE"
- BasicRuntimeChecks="3"
- RuntimeLibrary="5"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="4"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/wglthreads.exe"
- LinkIncremental="2"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile="$(OutDir)/wglthreads.pdb"
- SubSystem="1"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="4"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/wglthreads.exe"
- LinkIncremental="1"
- GenerateDebugInformation="TRUE"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
- <File
- RelativePath="..\..\..\..\progs\wgl\wglthreads\wglthreads.c">
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>